{"version":3,"file":"static/js/main.dda7a0cc.js","mappings":"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a,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,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,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,UAAW,QACX,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACTa,GAAI,KACJC,GAAI,KACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,UAAW,MACX,UAAW,MACX,WAAY,MACZ,WAAY,MACZ,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,WAAY,MACZ,WAAY,MACZ,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MA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EAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,kEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINisiB,IAAK,CACHX,IAAK,EACLtriB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,0FAAAxf,EAAAS,EAAAU,GCvwBR,aAEA,IAAIhB,EAAQgB,EACRjB,EAAKF,EAAQ,SACbkE,EAAYlE,EAAQ,uBACpB6E,EAAW7E,EAAQ,6BAEvBG,EAAMw2H,OAASzyH,EACf/D,EAAMmpH,QAAUzkH,EAASykH,QACzBnpH,EAAMsxjB,MAAQ5sjB,EAAS4sjB,MACvBtxjB,EAAM2uD,MAAQjqD,EAASiqD,MACvB3uD,EAAM6N,OAASnJ,EAASmJ,OA6BxB7N,EAAMupjB,OA1BN,SAAgB1pjB,EAAKS,EAAGU,GACtB,IAAIhB,EAAM,IAAId,MAAM2L,KAAK25B,IAAI3kC,EAAIosiB,YAAajriB,GAAQ,GACtDhB,EAAIw4B,KAAK,GAKT,IAHA,IAAIz4B,EAAK,GAAMO,EAAI,EACfyD,EAAIlE,EAAIgxB,QAEHnsB,EAAI,EAAGA,EAAI1E,EAAIE,OAAQwE,IAAK,CACnC,IAAI5E,EACA2L,EAAM1H,EAAE6niB,MAAM7riB,EAAK,GACnBgE,EAAEwtiB,SAEFzxiB,EADE2L,GAAO1L,GAAM,GAAK,GACfA,GAAM,GAAK0L,EAEZA,EACN1H,EAAE4siB,MAAM7wiB,IAERA,EAAI,EAGNE,EAAI0E,GAAK5E,EACTiE,EAAE8niB,OAAO,GAGX,OAAO7riB,CAAA,EA2DTA,EAAMwpjB,OAtDN,SAAgB3pjB,EAAIS,GAClB,IAAIU,EAAM,CACR,GACA,IAGFnB,EAAKA,EAAGgxB,QACRvwB,EAAKA,EAAGuwB,QAGR,IAFA,IAAI7wB,EAAK,EACLD,EAAK,EACFF,EAAG6xiB,MAAM1xiB,GAAM,GAAKM,EAAGoxiB,MAAM3xiB,GAAM,GAAG,CAG3C,IAMIgE,EAYAW,EAIE5E,EAtBF2L,EAAO5L,EAAG+riB,MAAM,GAAK5riB,EAAM,EAC3Be,EAAOT,EAAGsriB,MAAM,GAAK7riB,EAAM,EACnB,IAAR0L,IACFA,GAAO,GACG,IAAR1K,IACFA,GAAO,GAGPgD,EADgB,IAAP,EAAN0H,GACE,EAGO,KADR3L,EAAMD,EAAG+riB,MAAM,GAAK5riB,EAAM,IACN,IAAPF,GAAqB,IAARiB,EAGvB0K,GAFCA,EAIVzK,EAAI,GAAG6C,KAAKE,GAIVW,EADgB,IAAP,EAAN3D,GACE,EAGO,KADRjB,EAAMQ,EAAGsriB,MAAM,GAAK7riB,EAAM,IACN,IAAPD,GAAqB,IAAR2L,EAGvB1K,GAFCA,EAIVC,EAAI,GAAG6C,KAAKa,GAGR,EAAI1E,IAAO+D,EAAK,IAClB/D,EAAK,EAAIA,GACP,EAAID,IAAO2E,EAAK,IAClB3E,EAAK,EAAIA,GACXF,EAAGgsiB,OAAO,GACVvriB,EAAGuriB,OAAO,GAGZ,OAAO7qiB,CAAA,EAWThB,EAAM2wjB,eAPN,SAAwB9wjB,EAAKS,EAAMU,GACjC,IAAIhB,EAAM,IAAMM,EAChBT,EAAIJ,UAAUa,GAAQ,WACpB,YAAO,IAAAf,KAAKS,GAAqBT,KAAKS,GAC/BT,KAAKS,GAAOgB,EAASb,KAAKZ,KAAA,GASrCS,EAAM4vjB,WAJN,SAAoB/vjB,GAClB,MAAwB,iBAAVA,EAAqBG,EAAMmpH,QAAQtpH,EAAO,OACrBA,CAAA,EAOrCG,EAAMswjB,UAHN,SAAmBzwjB,GACjB,OAAO,IAAIE,EAAGF,EAAO,MAAO,+FAAAA,EAAAS,EAAAU,GAAAf,UAAA,WAAAG,MAAAY,EAAAf,UAAA,GAAA+I,OAAA,IAAA8viB,IAAA,oBAAAj5iB,EAAAS,EAAAU,GCnH9BV,EAAA3C,QAAA,CACA4zjB,MAAA,kBACA3rE,IAAA,iBACA4rE,WAAA,EACAC,WAAA,kGACAt+F,UAAA,YACAu+F,iBAAA,GACAC,WAAA,CACA56iB,KAAA,QACA4ob,UAAA,EACAl6b,IAAA,kBACAa,KAAA,WACAsrjB,YAAA,WACAC,QAAA,SACAC,SAAA,KACAC,UAAA,UAEAC,YAAA,CACA,mBACA,gBAEAC,UAAA,2DACAC,QAAA,2CACAC,MAAA,kBACAC,OAAA,sDACAC,OAAA,CACA/rjB,KAAA,gBACA+4B,MAAA,qBAEAizhB,KAAA,CACAnzhB,IAAA,8CAEAozhB,oBAAA,EACAC,aAAA,CACA,iBACAlJ,QAAA,SACA,mBACA,qBACAtqC,SAAA,SACA,+BACA,sCAEAyzC,YAAA,EACAp4gB,YAAA,kBACAq4gB,gBAAA,CACAC,KAAA,SACAC,UAAA,SACAC,MAAA,SACA,4BACA,qBACA,iCACA,8BACA,gCACA,gCACA,2BACAC,SAAA,SACAC,KAAA,SACAC,OAAA,UACAC,MAAA,UAEAx4B,MAAA,CACA,OAEAy4B,SAAA,sCACA17C,SAAA,CACA,KACA,WACA,QACA,gBAEA27C,QAAA,MACA1niB,KAAA,kBACAnlB,KAAA,WACA8sjB,WAAA,CACAr8iB,KAAA,MACAooB,IAAA,iDAEAk0hB,QAAA,CACAN,KAAA,yEACAC,OAAA,yEACAM,KAAA,iCACApyhB,KAAA,+BACA2F,KAAA,qDACA8X,QAAA,+BAEAA,QAAA,4BAAA9+C,EAAAS,EAAAU,GAAA,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CChEA,IAAIE,EAAehB,OAAOW,QAoe1B,SAA8BG,GAC5B,IAAIS,EAAI,aAER,OADAA,EAAEb,UAAYI,EACP,IAAIS,CAAA,EAteTyD,EAAahF,OAAOgR,MAwexB,SAA4BlQ,GAC1B,IAAIS,EAAO,GACX,IAAK,IAAIU,KAAKnB,EAASd,OAAOU,UAAUL,eAAee,KAAKN,EAAKmB,IAC/DV,EAAKuD,KAAK7C,GAEZ,OAAOA,CAAA,EA5eL0D,EAAOg0H,SAASj5H,UAAUsjC,MA8e9B,SAA8BljC,GAC5B,IAAIS,EAAKf,KACT,OAAO,WACL,OAAOe,EAAGF,MAAMP,EAASI,UAAA,GA/e7B,SAASH,IACFP,KAAKwoH,SAAYhpH,OAAOU,UAAUL,eAAee,KAAKZ,KAAM,aAC/DA,KAAKwoH,QAAUhoH,EAAa,MAC5BR,KAAKg0jB,aAAe,GAGtBh0jB,KAAKi0jB,cAAgBj0jB,KAAKi0jB,oBAAA,CAAiB,CAE7ClzjB,EAAO3C,QAAUmC,EAGjBA,EAAa0ihB,aAAe1ihB,EAE5BA,EAAaL,UAAUsoH,aAAA,EACvBjoH,EAAaL,UAAU+zjB,mBAAA,EAIvB,IAEI/njB,EAFA1K,EAAsB,GAG1B,IACE,IAAI+B,EAAI,CAAC,EACL/D,OAAOqC,gBAAgBrC,OAAOqC,eAAe0B,EAAG,IAAK,CAAET,MAAO,IAClEoJ,EAA4B,IAAR3I,EAAEqd,CAAA,CACtB,MAAOtgB,GAAO4L,GAAA,CAAoB,CA4BpC,SAAS85B,EAAiB1lC,GACxB,gBAAIA,EAAK2zjB,cACA1zjB,EAAa2zjB,oBACf5zjB,EAAK2zjB,aAAA,CAYd,SAAStriB,EAASroB,EAASS,EAAMU,GAC/B,GAAIV,EACFT,EAAQM,KAAKa,QAIb,IAFA,IAAIhB,EAAMH,EAAQK,OACdH,EAAYkE,EAAWpE,EAASG,GAC3B+D,EAAI,EAAGA,EAAI/D,IAAO+D,EACzBhE,EAAUgE,GAAG5D,KAAKa,EAAA,CAGxB,SAASnC,EAAQgB,EAASS,EAAMU,EAAMhB,GACpC,GAAIM,EACFT,EAAQM,KAAKa,EAAMhB,QAInB,IAFA,IAAID,EAAMF,EAAQK,OACd6D,EAAYE,EAAWpE,EAASE,GAC3B2E,EAAI,EAAGA,EAAI3E,IAAO2E,EACzBX,EAAUW,GAAGvE,KAAKa,EAAMhB,EAAA,CAG9B,SAASb,EAAQU,EAASS,EAAMU,EAAMhB,EAAMD,GAC1C,GAAIO,EACFT,EAAQM,KAAKa,EAAMhB,EAAMD,QAIzB,IAFA,IAAIgE,EAAMlE,EAAQK,OACdwE,EAAYT,EAAWpE,EAASkE,GAC3BjE,EAAI,EAAGA,EAAIiE,IAAOjE,EACzB4E,EAAU5E,GAAGK,KAAKa,EAAMhB,EAAMD,EAAA,CAGpC,SAASiE,EAAUnE,EAASS,EAAMU,EAAMhB,EAAMD,EAAMgE,GAClD,GAAIzD,EACFT,EAAQM,KAAKa,EAAMhB,EAAMD,EAAMgE,QAI/B,IAFA,IAAIW,EAAM7E,EAAQK,OACdJ,EAAYmE,EAAWpE,EAAS6E,GAC3B+G,EAAI,EAAGA,EAAI/G,IAAO+G,EACzB3L,EAAU2L,GAAGtL,KAAKa,EAAMhB,EAAMD,EAAMgE,EAAA,CAI1C,SAAShB,EAASlD,EAASS,EAAMU,EAAMhB,GACrC,GAAIM,EACFT,EAAQO,MAAMY,EAAMhB,QAIpB,IAFA,IAAID,EAAMF,EAAQK,OACd6D,EAAYE,EAAWpE,EAASE,GAC3B2E,EAAI,EAAGA,EAAI3E,IAAO2E,EACzBX,EAAUW,GAAGtE,MAAMY,EAAMhB,EAAA,CA6D/B,SAASlB,EAAae,EAAQS,EAAMU,EAAU+C,GAC5C,IAAIW,EACA5E,EACA2L,EAEJ,GAAwB,mBAAbzK,EACT,MAAM,IAAI2C,UAAU,0CAoBtB,IAlBA7D,EAASD,EAAOkoH,UAOVjoH,EAAO4zjB,cACT7zjB,EAAO6sgB,KAAK,cAAepsgB,EACvBU,EAASsX,SAAWtX,EAASsX,SAAWtX,GAI5ClB,EAASD,EAAOkoH,SAElBt8G,EAAW3L,EAAOQ,KAblBR,EAASD,EAAOkoH,QAAUhoH,EAAa,MACvCF,EAAO0zjB,aAAe,GAenB9njB,GAmBH,GAdwB,mBAAbA,EAETA,EAAW3L,EAAOQ,GACdyD,EAAU,CAAC/C,EAAUyK,GAAY,CAACA,EAAUzK,GAG5C+C,EACF0H,EAASytC,QAAQl4C,GAEjByK,EAAS5H,KAAK7C,IAKbyK,EAASkojB,SACZjvjB,EAAI6gC,EAAiB1lC,KACZ6E,EAAI,GAAK+G,EAASvL,OAASwE,EAAG,CACrC+G,EAASkojB,QAAA,EACT,IAAI5yjB,EAAI,IAAImH,MAAM,+CACduD,EAASvL,OAAS,KAAOwO,OAAOpO,GAAQ,uEAG5CS,EAAEuF,KAAO,8BACTvF,EAAEs1J,QAAUx2J,EACZkB,EAAEgW,KAAOzW,EACTS,EAAEmd,MAAQzS,EAASvL,OACI,YAAnB,oBAAO6+C,QAAP,YAAA/+C,EAAO++C,WAAwBA,QAAQC,MACzCD,QAAQC,KAAK,SAAUj+C,EAAEuF,KAAMvF,EAAEmX,QAAA,OA9BvCzM,EAAW3L,EAAOQ,GAAQU,IACxBnB,EAAO0zjB,aAmCX,OAAO1zjB,CAAA,CAcT,SAAS4D,IACP,IAAKlE,KAAKgzH,MAGR,OAFAhzH,KAAKqB,OAAOiqI,eAAetrI,KAAKwX,KAAMxX,KAAKq0jB,QAC3Cr0jB,KAAKgzH,OAAA,EACGtyH,UAAUC,QAChB,KAAK,EACH,OAAOX,KAAK+Y,SAASnY,KAAKZ,KAAKqB,QACjC,KAAK,EACH,OAAOrB,KAAK+Y,SAASnY,KAAKZ,KAAKqB,OAAQX,UAAU,IACnD,KAAK,EACH,OAAOV,KAAK+Y,SAASnY,KAAKZ,KAAKqB,OAAQX,UAAU,GAAIA,UAAU,IACjE,KAAK,EACH,OAAOV,KAAK+Y,SAASnY,KAAKZ,KAAKqB,OAAQX,UAAU,GAAIA,UAAU,GAC3DA,UAAU,IAChB,QAEE,IADA,IAAIJ,EAAO,IAAIX,MAAMe,UAAUC,QACtBI,EAAI,EAAGA,EAAIT,EAAKK,SAAUI,EACjCT,EAAKS,GAAKL,UAAUK,GACtBf,KAAK+Y,SAASlY,MAAMb,KAAKqB,OAAQf,GAAA,CAKzC,SAASmD,EAAUnD,EAAQS,EAAMU,GAC/B,IAAIhB,EAAQ,CAAEuyH,OAAA,EAAcqhc,YAAA,EAAmBhzjB,OAAQf,EAAQkX,KAAMzW,EAAMgY,SAAUtX,GACjFjB,EAAU2E,EAAKvE,KAAKsD,EAAazD,GAGrC,OAFAD,EAAQuY,SAAWtX,EACnBhB,EAAM4zjB,OAAS7zjB,EACRA,CAAA,CA0HT,SAAS+iG,EAAWjjG,EAAQS,EAAMU,GAChC,IAAIhB,EAASH,EAAOkoH,QAEpB,IAAK/nH,EACH,MAAO,GAET,IAAID,EAAaC,EAAOM,GACxB,OAAKP,EAGqB,mBAAfA,EACFiB,EAAS,CAACjB,EAAWuY,UAAYvY,GAAc,CAACA,GAElDiB,EAsDT,SAAyBnB,GAEvB,IADA,IAAIS,EAAM,IAAIpB,MAAMW,EAAIK,QACfc,EAAI,EAAGA,EAAIV,EAAIJ,SAAUc,EAChCV,EAAIU,GAAKnB,EAAImB,GAAGsX,UAAYzY,EAAImB,GAElC,OAAOV,CAAA,CALT,CAtDkCP,GAAckE,EAAWlE,EAAYA,EAAWG,QALvE,GAyBX,SAAS+C,EAAcpD,GACrB,IAAIS,EAASf,KAAKwoH,QAElB,GAAIznH,EAAQ,CACV,IAAIU,EAAaV,EAAOT,GAExB,GAA0B,mBAAfmB,EACT,OAAO,EACF,GAAIA,EACT,OAAOA,EAAWd,MAAA,CAItB,OAAO,EAcT,SAAS+D,EAAWpE,EAAKS,GAEvB,IADA,IAAIU,EAAO,IAAI9B,MAAMoB,GACZN,EAAI,EAAGA,EAAIM,IAAKN,EACvBgB,EAAKhB,GAAKH,EAAIG,GAChB,OAAOgB,CAAA,CA3bLyK,EACF1M,OAAOqC,eAAetB,EAAc,sBAAuB,CACzDsJ,YAAA,EACAjD,IAAK,WACH,OAAOpF,CAAA,EAETsF,IAAK,SAASxG,GAGZ,GAAmB,iBAARA,GAAoBA,EAAM,GAAKA,GAAQA,EAChD,MAAM,IAAI8D,UAAU,mDACtB5C,EAAsBlB,CAAA,IAI1BC,EAAa2zjB,oBAAsB1yjB,EAKrCjB,EAAaL,UAAUo0jB,gBAAkB,SAAyBh0jB,GAChE,GAAiB,iBAANA,GAAkBA,EAAI,GAAKyZ,MAAMzZ,GAC1C,MAAM,IAAI8D,UAAU,0CAEtB,OADApE,KAAKi0jB,cAAgB3zjB,EACdN,IAAA,EASTO,EAAaL,UAAUq0jB,gBAAkB,WACvC,OAAOvuhB,EAAiBhmC,KAAA,EA4D1BO,EAAaL,UAAUitgB,KAAO,SAAc7sgB,GAC1C,IAAIS,EAAIU,EAAShB,EAAKD,EAAMgE,EAAGW,EAC3B5E,EAAoB,UAATD,EAGf,GADA6E,EAASnF,KAAKwoH,QAEZjoH,EAAWA,GAA2B,MAAhB4E,EAAOJ,WAC1B,IAAKxE,EACR,OAAO,EAGT,GAAIA,EAAS,CAGX,GAFIG,UAAUC,OAAS,IACrBI,EAAKL,UAAU,IACbK,aAAc4H,MAChB,MAAM5H,EAGN,IAAImL,EAAM,IAAIvD,MAAM,6BAA+B5H,EAAK,KAExD,MADAmL,EAAIgF,QAAUnQ,EACRmL,CAAA,CAOV,KAFAzK,EAAU0D,EAAO7E,IAGf,OAAO,EAET,IAAIkB,EAA0B,mBAAZC,EAElB,OADAhB,EAAMC,UAAUC,QAGd,KAAK,EACHgoB,EAASlnB,EAASD,EAAMxB,MACxB,MACF,KAAK,EACHV,EAAQmC,EAASD,EAAMxB,KAAMU,UAAU,IACvC,MACF,KAAK,EACHd,EAAQ6B,EAASD,EAAMxB,KAAMU,UAAU,GAAIA,UAAU,IACrD,MACF,KAAK,EACH+D,EAAUhD,EAASD,EAAMxB,KAAMU,UAAU,GAAIA,UAAU,GAAIA,UAAU,IACrE,MAEF,QAEE,IADAF,EAAO,IAAIb,MAAMc,EAAM,GAClB+D,EAAI,EAAGA,EAAI/D,EAAK+D,IACnBhE,EAAKgE,EAAI,GAAK9D,UAAU8D,GAC1BhB,EAAS/B,EAASD,EAAMxB,KAAMQ,GAGlC,OAAO,GAsETD,EAAaL,UAAUs0jB,YAAc,SAAqBl0jB,EAAMS,GAC9D,OAAOxB,EAAaS,KAAMM,EAAMS,GAAA,EAAU,EAG5CR,EAAaL,UAAUioE,GAAK5nE,EAAaL,UAAUs0jB,YAEnDj0jB,EAAaL,UAAUu0jB,gBACnB,SAAyBn0jB,EAAMS,GAC7B,OAAOxB,EAAaS,KAAMM,EAAMS,GAAA,EAAU,EAkChDR,EAAaL,UAAUw0jB,KAAO,SAAcp0jB,EAAMS,GAChD,GAAwB,mBAAbA,EACT,MAAM,IAAIqD,UAAU,0CAEtB,OADApE,KAAKmoE,GAAG7nE,EAAMmD,EAAUzD,KAAMM,EAAMS,IAC7Bf,IAAA,EAGTO,EAAaL,UAAUy0jB,oBACnB,SAA6Br0jB,EAAMS,GACjC,GAAwB,mBAAbA,EACT,MAAM,IAAIqD,UAAU,0CAEtB,OADApE,KAAKy0jB,gBAAgBn0jB,EAAMmD,EAAUzD,KAAMM,EAAMS,IAC1Cf,IAAA,EAIbO,EAAaL,UAAUorI,eACnB,SAAwBhrI,EAAMS,GAC5B,IAAIU,EAAMhB,EAAQ+D,EAAUW,EAAG5E,EAE/B,GAAwB,mBAAbQ,EACT,MAAM,IAAIqD,UAAU,0CAGtB,KADA3D,EAAST,KAAKwoH,SAEZ,OAAOxoH,KAGT,KADAyB,EAAOhB,EAAOH,IAEZ,OAAON,KAET,GAAIyB,IAASV,GAAYU,EAAKsX,WAAahY,EACb,KAAtBf,KAAKg0jB,aACTh0jB,KAAKwoH,QAAUhoH,EAAa,cAErBC,EAAOH,GACVG,EAAO6qI,gBACTtrI,KAAKmtgB,KAAK,iBAAkB7sgB,EAAMmB,EAAKsX,UAAYhY,SAElD,GAAoB,mBAATU,EAAqB,CAGrC,IAFA+C,GAAY,EAEPW,EAAI1D,EAAKd,OAAS,EAAGwE,GAAK,EAAGA,IAChC,GAAI1D,EAAK0D,KAAOpE,GAAYU,EAAK0D,GAAG4T,WAAahY,EAAU,CACzDR,EAAmBkB,EAAK0D,GAAG4T,SAC3BvU,EAAWW,EACX,MAIJ,GAAIX,EAAW,EACb,OAAOxE,KAEQ,IAAbwE,EACF/C,EAAKoE,QAuHf,SAAmBvF,EAAMS,GACvB,IAAK,IAAIU,EAAIV,EAAON,EAAIgB,EAAI,EAAGjB,EAAIF,EAAKK,OAAQF,EAAID,EAAGiB,GAAK,EAAGhB,GAAK,EAClEH,EAAKmB,GAAKnB,EAAKG,GACjBH,EAAK+D,KAAA,CAHP,CArHoB5C,EAAM+C,GAEE,IAAhB/C,EAAKd,SACPF,EAAOH,GAAQmB,EAAK,IAElBhB,EAAO6qI,gBACTtrI,KAAKmtgB,KAAK,iBAAkB7sgB,EAAMC,GAAoBQ,EAAA,CAG1D,OAAOf,IAAA,EAGbO,EAAaL,UAAU00jB,mBACnB,SAA4Bt0jB,GAC1B,IAAIS,EAAWU,EAAQhB,EAGvB,KADAgB,EAASzB,KAAKwoH,SAEZ,OAAOxoH,KAGT,IAAKyB,EAAO6pI,eAUV,OATyB,IAArB5qI,UAAUC,QACZX,KAAKwoH,QAAUhoH,EAAa,MAC5BR,KAAKg0jB,aAAe,GACXvyjB,EAAOnB,KACY,KAAtBN,KAAKg0jB,aACTh0jB,KAAKwoH,QAAUhoH,EAAa,aAErBiB,EAAOnB,IAEXN,KAIT,GAAyB,IAArBU,UAAUC,OAAc,CAC1B,IACIwE,EADA5E,EAAOiE,EAAW/C,GAEtB,IAAKhB,EAAI,EAAGA,EAAIF,EAAKI,SAAUF,EAEjB,oBADZ0E,EAAM5E,EAAKE,KAEXT,KAAK40jB,mBAAmBzvjB,GAK1B,OAHAnF,KAAK40jB,mBAAmB,kBACxB50jB,KAAKwoH,QAAUhoH,EAAa,MAC5BR,KAAKg0jB,aAAe,EACbh0jB,IAAA,CAKT,GAAyB,mBAFzBe,EAAYU,EAAOnB,IAGjBN,KAAKsrI,eAAehrI,EAAMS,QACrB,GAAIA,EAET,IAAKN,EAAIM,EAAUJ,OAAS,EAAGF,GAAK,EAAGA,IACrCT,KAAKsrI,eAAehrI,EAAMS,EAAUN,IAIxC,OAAOT,IAAA,EAmBbO,EAAaL,UAAU20jB,UAAY,SAAmBv0jB,GACpD,OAAOijG,EAAWvjG,KAAMM,GAAA,EAAM,EAGhCC,EAAaL,UAAU40jB,aAAe,SAAsBx0jB,GAC1D,OAAOijG,EAAWvjG,KAAMM,GAAA,EAAM,EAGhCC,EAAaw0jB,cAAgB,SAASz0jB,EAASS,GAC7C,MAAqC,mBAA1BT,EAAQy0jB,cACVz0jB,EAAQy0jB,cAAch0jB,GAEtB2C,EAAc9C,KAAKN,EAASS,EAAA,EAIvCR,EAAaL,UAAU60jB,cAAgBrxjB,EAiBvCnD,EAAaL,UAAU42K,WAAa,WAClC,OAAO92K,KAAKg0jB,aAAe,EAAIryjB,QAAQqzjB,QAAQh1jB,KAAKwoH,SAAW,uBAAAloH,EAAAS,EAAAU,GAAA,aChejE,IAAIhB,EAASH,EAAQ,eAAeoN,OAChClN,EAAMF,EAAQ,UA2ClBS,EAAO3C,QAxCP,SAAyBkC,EAAUS,EAAMU,EAAS+C,GAEhD,GADK/D,EAAO07C,SAAS77C,KAAWA,EAAWG,EAAO6J,KAAKhK,EAAU,WAC7DS,IACGN,EAAO07C,SAASp7C,KAAOA,EAAON,EAAO6J,KAAKvJ,EAAM,WACjC,IAAhBA,EAAKJ,QAAc,MAAM,IAAIupD,WAAW,4CAQ9C,IALA,IAAI/kD,EAAS1D,EAAU,EACnBlB,EAAME,EAAO4d,MAAMlZ,GACnB+G,EAAKzL,EAAO4d,MAAM7Z,GAAS,GAC3BhD,EAAMf,EAAO4d,MAAM,GAEhBlZ,EAAS,GAAKX,EAAQ,GAAG,CAC9B,IAAIjB,EAAO,IAAI/C,EACf+C,EAAKuE,OAAOtG,GACZ+B,EAAKuE,OAAOxH,GACRS,GAAMwC,EAAKuE,OAAO/G,GACtBS,EAAM+B,EAAK0E,SAEX,IAAI+9B,EAAO,EAEX,GAAI7gC,EAAS,EAAG,CACd,IAAIwjB,EAAWpoB,EAAII,OAASwE,EAC5B6gC,EAAO16B,KAAK05B,IAAI7/B,EAAQ3D,EAAIb,QAC5Ba,EAAIwc,KAAKzd,EAAKooB,EAAU,EAAGqd,GAC3B7gC,GAAU6gC,CAAA,CAGZ,GAAIA,EAAOxkC,EAAIb,QAAU6D,EAAQ,EAAG,CAClC,IAAIlF,EAAU4M,EAAGvL,OAAS6D,EACtB5E,EAAS0L,KAAK05B,IAAIxgC,EAAOhD,EAAIb,OAASqlC,GAC1CxkC,EAAIwc,KAAK9R,EAAI5M,EAAS0mC,EAAMA,EAAOpmC,GACnC4E,GAAS5E,CAAA,EAKb,OADA4B,EAAIy3B,KAAK,GACF,CAAE33B,IAAKf,EAAKgN,GAAIrB,EAAA,mDAAA5L,EAAAS,EAAAU,GCzCzB,aAEAjC,OAAAqC,eAAAJ,EAAA,cACAqB,OAAA,IAGA,IAAArC,EAAAH,EAAA,oBAEAd,OAAAqC,eAAAJ,EAAA,UACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAA87D,MAAA,IAGA/8D,OAAAqC,eAAAJ,EAAA,SACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAA+8C,KAAA,IAGAh+C,OAAAqC,eAAAJ,EAAA,iBACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAAk/hB,aAAA,IAGAngiB,OAAAqC,eAAAJ,EAAA,iBACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAAi/hB,aAAA,IAGAlgiB,OAAAqC,eAAAJ,EAAA,iBACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAAg/hB,aAAA,IAGAjgiB,OAAAqC,eAAAJ,EAAA,eACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAA++hB,WAAA,IAGAhgiB,OAAAqC,eAAAJ,EAAA,sBACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAA28hB,kBAAA,IAGA59hB,OAAAqC,eAAAJ,EAAA,oBACAoI,YAAA,EACAjD,IAAA,WACA,OAAAnG,EAAAo9hB,gBAAA,IAIA,IAAAr9hB,EAAAF,EAAA,mBAEAd,OAAAqC,eAAAJ,EAAA,SACAoI,YAAA,EACAjD,IAAA,WACA,OAAApG,EAAAkf,KAAA,IAGAlgB,OAAAqC,eAAAJ,EAAA,eACAoI,YAAA,EACAjD,IAAA,WACA,OAAApG,EAAA6hiB,WAAA,IAGA7iiB,OAAAqC,eAAAJ,EAAA,eACAoI,YAAA,EACAjD,IAAA,WACA,OAAApG,EAAAm6hB,WAAA,IAGAn7hB,OAAAqC,eAAAJ,EAAA,aACAoI,YAAA,EACAjD,IAAA,WACA,OAAApG,EAAA8hiB,SAAA,IAGA9iiB,OAAAqC,eAAAJ,EAAA,iBACAoI,YAAA,EACAjD,IAAA,WACA,OAAApG,EAAAihiB,aAAA,IAGAjiiB,OAAAqC,eAAAJ,EAAA,mBACAoI,YAAA,EACAjD,IAAA,WACA,OAAApG,EAAAu/hB,eAAA,mEAAAz/hB,EAAAS,EAAAU,GC5FA,aACA,IAAIhB,EAASH,EAAQ,eAAeoN,OAChClN,EAAYF,EAAQ,mBAAmBs9hB,UAS3C,SAASp5hB,EAAUlE,GACjBE,EAAUI,KAAKZ,MAEfA,KAAKi1jB,OAASx0jB,EAAO2pD,YAAY9pD,GACjCN,KAAKw9a,WAAal9a,EAClBN,KAAKk1jB,aAAe,EACpBl1jB,KAAKm1jB,QAAU,CAAC,EAAG,EAAG,EAAG,GAEzBn1jB,KAAKo1jB,YAAA,CAAa,CAhBL90jB,EAAQ,WAARA,CAmBNkE,EAAUhE,GAEnBgE,EAAStE,UAAU67iB,WAAa,SAAUz7iB,EAAOS,EAAUU,GACzD,IAAIhB,EAAQ,KACZ,IACET,KAAK8H,OAAOxH,EAAOS,EAAA,CACnB,MAAOT,GACPG,EAAQH,CAAA,CAGVmB,EAAShB,EAAA,EAGX+D,EAAStE,UAAU+/gB,OAAS,SAAU3/gB,GACpC,IAAIS,EAAQ,KACZ,IACEf,KAAKsE,KAAKtE,KAAKiI,SAAA,CACf,MAAO3H,GACPS,EAAQT,CAAA,CAGVA,EAASS,EAAA,EAGXyD,EAAStE,UAAU4H,OAAS,SAAUxH,EAAMS,GAE1C,GA3CF,SAAmCT,EAAKS,GACtC,IAAKN,EAAO07C,SAAS77C,IAAuB,iBAARA,EAClC,MAAM,IAAI8D,UAAUrD,EAAS,iCAFjC,CA0C2BT,EAAM,QAC3BN,KAAKo1jB,WAAY,MAAM,IAAIzsjB,MAAM,yBAChClI,EAAO07C,SAAS77C,KAAOA,EAAOG,EAAO6J,KAAKhK,EAAMS,IAKrD,IAFA,IAAIU,EAAQzB,KAAKi1jB,OACbz0jB,EAAS,EACNR,KAAKk1jB,aAAe50jB,EAAKK,OAASH,GAAUR,KAAKw9a,YAAY,CAClE,IAAK,IAAIh5a,EAAIxE,KAAKk1jB,aAAc1wjB,EAAIxE,KAAKw9a,YAAa/7a,EAAM+C,KAAOlE,EAAKE,KACxER,KAAKq3P,UACLr3P,KAAKk1jB,aAAe,EAEtB,KAAO10jB,EAASF,EAAKK,QAAQc,EAAMzB,KAAKk1jB,gBAAkB50jB,EAAKE,KAG/D,IAAK,IAAI2E,EAAI,EAAG5E,EAAsB,EAAdD,EAAKK,OAAYJ,EAAQ,IAAK4E,EACpDnF,KAAKm1jB,QAAQhwjB,IAAM5E,GACnBA,EAASP,KAAKm1jB,QAAQhwjB,GAAK,WAAgB,GAC/B,IAAGnF,KAAKm1jB,QAAQhwjB,IAAM,WAAe5E,GAGnD,OAAOP,IAAA,EAGTwE,EAAStE,UAAUm3P,QAAU,WAC3B,MAAM,IAAI1uP,MAAM,+BAGlBnE,EAAStE,UAAU+H,OAAS,SAAU3H,GACpC,GAAIN,KAAKo1jB,WAAY,MAAM,IAAIzsjB,MAAM,yBACrC3I,KAAKo1jB,YAAA,EAEL,IAAIr0jB,EAASf,KAAKq1jB,eAAA,IACd/0jB,IAAwBS,EAASA,EAAOyO,SAASlP,IAGrDN,KAAKi1jB,OAAOh8hB,KAAK,GACjBj5B,KAAKk1jB,aAAe,EACpB,IAAK,IAAIzzjB,EAAI,EAAGA,EAAI,IAAKA,EAAGzB,KAAKm1jB,QAAQ1zjB,GAAK,EAE9C,OAAOV,CAAA,EAGTyD,EAAStE,UAAUm1jB,QAAU,WAC3B,MAAM,IAAI1sjB,MAAM,+BAGlB5H,EAAO3C,QAAUoG,CAAA,GAAAi7gB,SAAA,4DAAAn/gB,EAAAS,EAAAU,GAAAf,UAAA,WAAAG,MAAAY,EAAAf,UAAA,GAAA+I,OAAA,IAAA8viB,IAAA,oBAAAj5iB,EAAAS,EAAAU,GAAA,aC9FjB,IAAIhB,EAAOgB,EAEXhB,EAAKgzC,MAAQnzC,EAAQ,gBACrBG,EAAKmqB,OAAStqB,EAAQ,iBACtBG,EAAK60jB,IAAMh1jB,EAAQ,cACnBG,EAAK80jB,OAASj1jB,EAAQ,iBACtBG,EAAK+0jB,KAAOl1jB,EAAQ,eAGpBG,EAAKg1jB,KAAOh1jB,EAAK60jB,IAAIG,KACrBh1jB,EAAKm5iB,OAASn5iB,EAAK60jB,IAAI1b,OACvBn5iB,EAAKo5iB,OAASp5iB,EAAK60jB,IAAIzb,OACvBp5iB,EAAKq5iB,OAASr5iB,EAAK60jB,IAAIxb,OACvBr5iB,EAAKs5iB,OAASt5iB,EAAK60jB,IAAIvb,OACvBt5iB,EAAKogjB,UAAYpgjB,EAAK80jB,OAAO1U,SAAA,iHAAAvgjB,EAAAS,EAAAU,GCd7B,aAEA,IAAIhB,EAAQH,EAAQ,WAChBE,EAASF,EAAQ,uBAErB,SAASkE,IACPxE,KAAK01jB,QAAU,KACf11jB,KAAK21jB,aAAe,EACpB31jB,KAAKw6D,UAAYx6D,KAAKC,YAAYu6D,UAClCx6D,KAAK41jB,QAAU51jB,KAAKC,YAAY21jB,QAChC51jB,KAAKsvjB,aAAetvjB,KAAKC,YAAYqvjB,aACrCtvjB,KAAK61jB,UAAY71jB,KAAKC,YAAY41jB,UAAY,EAC9C71jB,KAAK81jB,OAAS,MAEd91jB,KAAK+1jB,QAAU/1jB,KAAKw6D,UAAY,EAChCx6D,KAAKg2jB,SAAWh2jB,KAAKw6D,UAAY,GAEnC/4D,EAAQw0jB,UAAYzxjB,EAEpBA,EAAUtE,UAAU4H,OAAS,SAAgBxH,EAAKS,GAUhD,GARAT,EAAMG,EAAMmpH,QAAQtpH,EAAKS,GACpBf,KAAK01jB,QAGR11jB,KAAK01jB,QAAU11jB,KAAK01jB,QAAQ32jB,OAAOuB,GAFnCN,KAAK01jB,QAAUp1jB,EAGjBN,KAAK21jB,cAAgBr1jB,EAAIK,OAGrBX,KAAK01jB,QAAQ/0jB,QAAUX,KAAK+1jB,QAAS,CAIvC,IAAIt0jB,GAHJnB,EAAMN,KAAK01jB,SAGC/0jB,OAASX,KAAK+1jB,QAC1B/1jB,KAAK01jB,QAAUp1jB,EAAI6c,MAAM7c,EAAIK,OAASc,EAAGnB,EAAIK,QACjB,IAAxBX,KAAK01jB,QAAQ/0jB,SACfX,KAAK01jB,QAAU,MAEjBp1jB,EAAMG,EAAMy1jB,OAAO51jB,EAAK,EAAGA,EAAIK,OAASc,EAAGzB,KAAK81jB,QAChD,IAAK,IAAIt1jB,EAAI,EAAGA,EAAIF,EAAIK,OAAQH,GAAKR,KAAKg2jB,SACxCh2jB,KAAKq3P,QAAQ/2P,EAAKE,EAAGA,EAAIR,KAAKg2jB,SAAA,CAGlC,OAAOh2jB,IAAA,EAGTwE,EAAUtE,UAAU+H,OAAS,SAAgB3H,GAI3C,OAHAN,KAAK8H,OAAO9H,KAAKwnjB,QACjBhnjB,EAAwB,OAAjBR,KAAK01jB,SAEL11jB,KAAKq1jB,QAAQ/0jB,EAAA,EAGtBkE,EAAUtE,UAAUsnjB,KAAO,WACzB,IAAIlnjB,EAAMN,KAAK21jB,aACX50jB,EAAQf,KAAK+1jB,QACbt0jB,EAAIV,GAAUT,EAAMN,KAAK61jB,WAAa90jB,EACtCN,EAAM,IAAId,MAAM8B,EAAIzB,KAAK61jB,WAC7Bp1jB,EAAI,GAAK,IACT,IAAK,IAAID,EAAI,EAAGA,EAAIiB,EAAGjB,IACrBC,EAAID,GAAK,EAIX,GADAF,IAAQ,EACY,QAAhBN,KAAK81jB,OAAkB,CACzB,IAAK,IAAItxjB,EAAI,EAAGA,EAAIxE,KAAK61jB,UAAWrxjB,IAClC/D,EAAID,KAAO,EAEbC,EAAID,KAAO,EACXC,EAAID,KAAO,EACXC,EAAID,KAAO,EACXC,EAAID,KAAO,EACXC,EAAID,KAAQF,IAAQ,GAAM,IAC1BG,EAAID,KAAQF,IAAQ,GAAM,IAC1BG,EAAID,KAAQF,IAAQ,EAAK,IACzBG,EAAID,KAAa,IAANF,CAAA,MAWX,IATAG,EAAID,KAAa,IAANF,EACXG,EAAID,KAAQF,IAAQ,EAAK,IACzBG,EAAID,KAAQF,IAAQ,GAAM,IAC1BG,EAAID,KAAQF,IAAQ,GAAM,IAC1BG,EAAID,KAAO,EACXC,EAAID,KAAO,EACXC,EAAID,KAAO,EACXC,EAAID,KAAO,EAENgE,EAAI,EAAGA,EAAIxE,KAAK61jB,UAAWrxjB,IAC9B/D,EAAID,KAAO,EAGf,OAAOC,CAAA,4DAAAH,EAAAS,EAAAU,GC1FT,aAEA,IAAIhB,EAAQH,EAAQ,WAChBE,EAASF,EAAQ,uBAErB,SAASkE,EAAKlE,EAAMS,EAAKU,GACvB,KAAMzB,gBAAgBwE,GACpB,OAAO,IAAIA,EAAKlE,EAAMS,EAAKU,GAC7BzB,KAAKohjB,KAAO9gjB,EACZN,KAAKw6D,UAAYl6D,EAAKk6D,UAAY,EAClCx6D,KAAK41jB,QAAUt1jB,EAAKs1jB,QAAU,EAC9B51jB,KAAK4M,MAAQ,KACb5M,KAAK2M,MAAQ,KAEb3M,KAAKq7G,MAAM56G,EAAMmpH,QAAQ7oH,EAAKU,GAAA,CAEhCV,EAAO3C,QAAUoG,EAEjBA,EAAKtE,UAAUm7G,MAAQ,SAAc/6G,GAE/BA,EAAIK,OAASX,KAAKw6D,YACpBl6D,GAAM,IAAIN,KAAKohjB,MAAOt5iB,OAAOxH,GAAK2H,UACpCzH,EAAOF,EAAIK,QAAUX,KAAKw6D,WAG1B,IAAK,IAAIz5D,EAAIT,EAAIK,OAAQI,EAAIf,KAAKw6D,UAAWz5D,IAC3CT,EAAIgE,KAAK,GAEX,IAAKvD,EAAI,EAAGA,EAAIT,EAAIK,OAAQI,IAC1BT,EAAIS,IAAM,GAIZ,IAHAf,KAAK4M,OAAQ,IAAI5M,KAAKohjB,MAAOt5iB,OAAOxH,GAG/BS,EAAI,EAAGA,EAAIT,EAAIK,OAAQI,IAC1BT,EAAIS,IAAM,IACZf,KAAK2M,OAAQ,IAAI3M,KAAKohjB,MAAOt5iB,OAAOxH,EAAA,EAGtCkE,EAAKtE,UAAU4H,OAAS,SAAgBxH,EAAKS,GAE3C,OADAf,KAAK4M,MAAM9E,OAAOxH,EAAKS,GAChBf,IAAA,EAGTwE,EAAKtE,UAAU+H,OAAS,SAAgB3H,GAEtC,OADAN,KAAK2M,MAAM7E,OAAO9H,KAAK4M,MAAM3E,UACtBjI,KAAK2M,MAAM1E,OAAO3H,EAAA,4DAAAA,EAAAS,EAAAU,GC7C3B,aAEA,IAAIhB,EAAQH,EAAQ,WAChBE,EAASF,EAAQ,YAEjBkE,EAAS/D,EAAM01jB,OACfhxjB,EAAQ1E,EAAM21jB,MACd71jB,EAAUE,EAAM41jB,QAChBnqjB,EAAUzL,EAAM61jB,QAChB90jB,EAAYhB,EAAOy1jB,UAEvB,SAAS1yjB,IACP,KAAMvD,gBAAgBuD,GACpB,OAAO,IAAIA,EAEb/B,EAAUZ,KAAKZ,MAEfA,KAAK2oB,EAAI,CAAE,WAAY,WAAY,WAAY,UAAY,YAC3D3oB,KAAK81jB,OAAS,SA0DhB,SAAS9vhB,EAAE1lC,EAAGS,EAAGU,EAAGhB,GAClB,OAAIH,GAAK,GACAS,EAAIU,EAAIhB,EACRH,GAAK,GACJS,EAAIU,GAAQV,EAAKN,EAClBH,GAAK,IACJS,GAAMU,GAAMhB,EACbH,GAAK,GACJS,EAAIN,EAAMgB,GAAMhB,EAEjBM,GAAKU,GAAMhB,EAAA,CAGtB,SAASkoB,EAAEroB,GACT,OAAIA,GAAK,GACA,EACAA,GAAK,GACL,WACAA,GAAK,GACL,WACAA,GAAK,GACL,WAEA,WAGX,SAAShB,EAAGgB,GACV,OAAIA,GAAK,GACA,WACAA,GAAK,GACL,WACAA,GAAK,GACL,WACAA,GAAK,GACL,WAEA,EA5FXG,EAAMg/gB,SAASl8gB,EAAW/B,GAC1BC,EAAQo/iB,UAAYt9iB,EAEpBA,EAAUi3D,UAAY,IACtBj3D,EAAUqyjB,QAAU,IACpBryjB,EAAU+rjB,aAAe,IACzB/rjB,EAAUsyjB,UAAY,GAEtBtyjB,EAAUrD,UAAUm3P,QAAU,SAAgB/2P,EAAKS,GAWjD,IAVA,IAAIU,EAAIzB,KAAK2oB,EAAE,GACXloB,EAAIT,KAAK2oB,EAAE,GACXnoB,EAAIR,KAAK2oB,EAAE,GACXnnB,EAAIxB,KAAK2oB,EAAE,GACXplB,EAAIvD,KAAK2oB,EAAE,GACXzkB,EAAKzC,EACLgC,EAAKhD,EACL8iG,EAAK/iG,EACLkD,EAAKlC,EACLkD,EAAKnB,EACAqd,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAIorK,EAAI7mL,EACNX,EACE0H,EAAQzK,EAAGukC,EAAEplB,EAAGngB,EAAGD,EAAGgB,GAAIlB,EAAIV,EAAEghB,GAAK7f,GAAQ4nB,EAAE/H,IAC/Cpd,EAAEod,IACJrd,GACF9B,EAAI8B,EACJA,EAAI/B,EACJA,EAAIgD,EAAOhE,EAAG,IACdA,EAAIC,EACJA,EAAIurL,EACJA,EAAI7mL,EACFX,EACE0H,EAAQhI,EAAI8hC,EAAE,GAAKplB,EAAGnd,EAAI8/F,EAAI7/F,GAAKpD,EAAImE,EAAGmc,GAAK7f,GAAQzB,EAAGshB,IAC1DrhB,EAAGqhB,IACLlc,GACFR,EAAKQ,EACLA,EAAKhB,EACLA,EAAKc,EAAO++F,EAAI,IAChBA,EAAK9/F,EACLA,EAAKuoL,CAAA,CAEPA,EAAIzrL,EAAQP,KAAK2oB,EAAE,GAAInoB,EAAGkD,GAC1B1D,KAAK2oB,EAAE,GAAKpoB,EAAQP,KAAK2oB,EAAE,GAAInnB,EAAGkD,GAClC1E,KAAK2oB,EAAE,GAAKpoB,EAAQP,KAAK2oB,EAAE,GAAIplB,EAAGW,GAClClE,KAAK2oB,EAAE,GAAKpoB,EAAQP,KAAK2oB,EAAE,GAAIlnB,EAAGgC,GAClCzD,KAAK2oB,EAAE,GAAKpoB,EAAQP,KAAK2oB,EAAE,GAAIloB,EAAG8iG,GAClCvjG,KAAK2oB,EAAE,GAAKqjK,CAAA,EAGdzoL,EAAUrD,UAAUm1jB,QAAU,SAAgB/0jB,GAC5C,MAAY,QAARA,EACKG,EAAM81jB,QAAQv2jB,KAAK2oB,EAAG,UAEtBloB,EAAM+1jB,QAAQx2jB,KAAK2oB,EAAG,WA0CjC,IAAI/oB,EAAI,CACN,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAClD,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EACnD,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAClD,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EACnD,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,IAGhD6E,EAAK,CACP,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAClD,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EACnD,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAClD,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAClD,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,IAGhDjB,EAAI,CACN,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EACrD,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GACpD,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EACrD,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GACpD,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAGnDjE,EAAK,CACP,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EACrD,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GACpD,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EACrD,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EACrD,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,mDAAAe,EAAAS,EAAAU,GChJtD,aAEAA,EAAQg0jB,KAAOn1jB,EAAQ,WACvBmB,EAAQo4iB,OAASv5iB,EAAQ,aACzBmB,EAAQm4iB,OAASt5iB,EAAQ,aACzBmB,EAAQq4iB,OAASx5iB,EAAQ,aACzBmB,EAAQs4iB,OAASz5iB,EAAQ,6GAAAA,EAAAS,EAAAU,GCNzB,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAASF,EAAQ,aACjBkE,EAAYlE,EAAQ,YAEpB6E,EAAS1E,EAAM01jB,OACf51jB,EAAQE,EAAM21jB,MACdlqjB,EAAUzL,EAAMg2jB,QAChBj1jB,EAAOgD,EAAUkyjB,KACjBnzjB,EAAY/C,EAAOy1jB,UAEnBjwhB,EAAS,CACX,WAAY,WACZ,WAAY,YAGd,SAASrd,IACP,KAAM3oB,gBAAgB2oB,GACpB,OAAO,IAAIA,EAEbplB,EAAU3C,KAAKZ,MACfA,KAAK2oB,EAAI,CACP,WAAY,WAAY,WACxB,UAAY,YACd3oB,KAAKujE,EAAI,IAAI5jE,MAAM,IAGrBc,EAAMg/gB,SAAS92f,EAAMplB,GACrBxC,EAAO3C,QAAUuqB,EAEjBA,EAAK6xC,UAAY,IACjB7xC,EAAKitiB,QAAU,IACfjtiB,EAAK2miB,aAAe,GACpB3miB,EAAKktiB,UAAY,GAEjBltiB,EAAKzoB,UAAUm3P,QAAU,SAAiB/2P,EAAKS,GAG7C,IAFA,IAAIU,EAAIzB,KAAKujE,EAEJ9iE,EAAI,EAAGA,EAAI,GAAIA,IACtBgB,EAAEhB,GAAKH,EAAIS,EAAQN,GAErB,KAAMA,EAAIgB,EAAEd,OAAQF,IAClBgB,EAAEhB,GAAK0E,EAAO1D,EAAEhB,EAAI,GAAKgB,EAAEhB,EAAI,GAAKgB,EAAEhB,EAAI,IAAMgB,EAAEhB,EAAI,IAAK,GAE7D,IAAID,EAAIR,KAAK2oB,EAAE,GACXnkB,EAAIxE,KAAK2oB,EAAE,GACXplB,EAAIvD,KAAK2oB,EAAE,GACXA,EAAI3oB,KAAK2oB,EAAE,GACXrpB,EAAIU,KAAK2oB,EAAE,GAEf,IAAKloB,EAAI,EAAGA,EAAIgB,EAAEd,OAAQF,IAAK,CAC7B,IAAIb,KAAOa,EAAI,IACXgE,EAAIyH,EAAQ/G,EAAO3E,EAAG,GAAIgB,EAAK5B,EAAG4E,EAAGjB,EAAGolB,GAAIrpB,EAAGmC,EAAEhB,GAAIulC,EAAOpmC,IAChEN,EAAIqpB,EACJA,EAAIplB,EACJA,EAAI4B,EAAOX,EAAG,IACdA,EAAIhE,EACJA,EAAIiE,CAAA,CAGNzE,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAInoB,GAC7BR,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAInkB,GAC7BxE,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIplB,GAC7BvD,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIA,GAC7B3oB,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIrpB,EAAA,EAG/BqpB,EAAKzoB,UAAUm1jB,QAAU,SAAgB/0jB,GACvC,MAAY,QAARA,EACKG,EAAM81jB,QAAQv2jB,KAAK2oB,EAAG,OAEtBloB,EAAM+1jB,QAAQx2jB,KAAK2oB,EAAG,wEAAAroB,EAAAS,EAAAU,GCxEjC,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAASF,EAAQ,SAErB,SAASkE,IACP,KAAMxE,gBAAgBwE,GACpB,OAAO,IAAIA,EAEbhE,EAAOI,KAAKZ,MACZA,KAAK2oB,EAAI,CACP,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,YAExCloB,EAAMg/gB,SAASj7gB,EAAQhE,GACvBO,EAAO3C,QAAUoG,EAEjBA,EAAOg2D,UAAY,IACnBh2D,EAAOoxjB,QAAU,IACjBpxjB,EAAO8qjB,aAAe,IACtB9qjB,EAAOqxjB,UAAY,GAEnBrxjB,EAAOtE,UAAUm1jB,QAAU,SAAgB/0jB,GAEzC,MAAY,QAARA,EACKG,EAAM81jB,QAAQv2jB,KAAK2oB,EAAExL,MAAM,EAAG,GAAI,OAElC1c,EAAM+1jB,QAAQx2jB,KAAK2oB,EAAExL,MAAM,EAAG,GAAI,qDAAA7c,EAAAS,EAAAU,GC3B7C,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAASF,EAAQ,aACjBkE,EAAYlE,EAAQ,YACpB6E,EAAS7E,EAAQ,uBAEjBC,EAAQE,EAAM21jB,MACdlqjB,EAAUzL,EAAM61jB,QAChB90jB,EAAUf,EAAMg2jB,QAChBlzjB,EAAOiB,EAAUmyjB,KACjB3whB,EAAQxhC,EAAUoyjB,MAClBjuiB,EAASnkB,EAAUqyjB,OACnBv3jB,EAASkF,EAAUsyjB,OACnBl3jB,EAAS4E,EAAUuyjB,OACnBtyjB,EAASD,EAAUwyjB,OAEnBxzjB,EAAYhD,EAAOy1jB,UAEnB12jB,EAAW,CACb,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,YAGtC,SAAS2E,IACP,KAAMlE,gBAAgBkE,GACpB,OAAO,IAAIA,EAEbV,EAAU5C,KAAKZ,MACfA,KAAK2oB,EAAI,CACP,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,YAEtC3oB,KAAK0E,EAAInF,EACTS,KAAKujE,EAAI,IAAI5jE,MAAM,IAErBc,EAAMg/gB,SAASv7gB,EAAQV,GACvBzC,EAAO3C,QAAU8F,EAEjBA,EAAOs2D,UAAY,IACnBt2D,EAAO0xjB,QAAU,IACjB1xjB,EAAOorjB,aAAe,IACtBprjB,EAAO2xjB,UAAY,GAEnB3xjB,EAAOhE,UAAUm3P,QAAU,SAAiB/2P,EAAKS,GAG/C,IAFA,IAAIU,EAAIzB,KAAKujE,EAEJ9iE,EAAI,EAAGA,EAAI,GAAIA,IACtBgB,EAAEhB,GAAKH,EAAIS,EAAQN,GACrB,KAAOA,EAAIgB,EAAEd,OAAQF,IACnBgB,EAAEhB,GAAKyL,EAAQzH,EAAOhD,EAAEhB,EAAI,IAAKgB,EAAEhB,EAAI,GAAIb,EAAO6B,EAAEhB,EAAI,KAAMgB,EAAEhB,EAAI,KAEtE,IAAID,EAAIR,KAAK2oB,EAAE,GACXnkB,EAAIxE,KAAK2oB,EAAE,GACXnlB,EAAIxD,KAAK2oB,EAAE,GACXppB,EAAIS,KAAK2oB,EAAE,GACXzkB,EAAIlE,KAAK2oB,EAAE,GACXllB,EAAIzD,KAAK2oB,EAAE,GACX46E,EAAIvjG,KAAK2oB,EAAE,GACXjlB,EAAI1D,KAAK2oB,EAAE,GAGf,IADAxjB,EAAOnF,KAAK0E,EAAE/D,SAAWc,EAAEd,QACtBF,EAAI,EAAGA,EAAIgB,EAAEd,OAAQF,IAAK,CAC7B,IAAIiE,EAAKlD,EAAQkC,EAAGpE,EAAO4E,GAAIX,EAAKW,EAAGT,EAAG8/F,GAAIvjG,KAAK0E,EAAEjE,GAAIgB,EAAEhB,IACvDmgB,EAAKrgB,EAAMooB,EAAOnoB,GAAIwlC,EAAMxlC,EAAGgE,EAAGhB,IACtCE,EAAI6/F,EACJA,EAAI9/F,EACJA,EAAIS,EACJA,EAAI3D,EAAMhB,EAAGmF,GACbnF,EAAIiE,EACJA,EAAIgB,EACJA,EAAIhE,EACJA,EAAID,EAAMmE,EAAIkc,EAAA,CAGhB5gB,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAInoB,GAC7BR,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAInkB,GAC7BxE,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAInlB,GAC7BxD,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIppB,GAC7BS,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIzkB,GAC7BlE,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIllB,GAC7BzD,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAI46E,GAC7BvjG,KAAK2oB,EAAE,GAAKpoB,EAAMP,KAAK2oB,EAAE,GAAIjlB,EAAA,EAG/BQ,EAAOhE,UAAUm1jB,QAAU,SAAgB/0jB,GACzC,MAAY,QAARA,EACKG,EAAM81jB,QAAQv2jB,KAAK2oB,EAAG,OAEtBloB,EAAM+1jB,QAAQx2jB,KAAK2oB,EAAG,kGAAAroB,EAAAS,EAAAU,GCvGjC,aAEA,IAAIhB,EAAQH,EAAQ,YAEhBE,EAASF,EAAQ,SAErB,SAASkE,IACP,KAAMxE,gBAAgBwE,GACpB,OAAO,IAAIA,EAEbhE,EAAOI,KAAKZ,MACZA,KAAK2oB,EAAI,CACP,WAAY,WACZ,WAAY,UACZ,WAAY,UACZ,UAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,YAEhBloB,EAAMg/gB,SAASj7gB,EAAQhE,GACvBO,EAAO3C,QAAUoG,EAEjBA,EAAOg2D,UAAY,KACnBh2D,EAAOoxjB,QAAU,IACjBpxjB,EAAO8qjB,aAAe,IACtB9qjB,EAAOqxjB,UAAY,IAEnBrxjB,EAAOtE,UAAUm1jB,QAAU,SAAgB/0jB,GACzC,MAAY,QAARA,EACKG,EAAM81jB,QAAQv2jB,KAAK2oB,EAAExL,MAAM,EAAG,IAAK,OAEnC1c,EAAM+1jB,QAAQx2jB,KAAK2oB,EAAExL,MAAM,EAAG,IAAK,qDAAA7c,EAAAS,EAAAU,GCjC9C,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAASF,EAAQ,aACjBkE,EAASlE,EAAQ,uBAEjB6E,EAAY1E,EAAMw2jB,UAClB12jB,EAAYE,EAAMy2jB,UAClBhrjB,EAAWzL,EAAM02jB,SACjB31jB,EAAWf,EAAM22jB,SACjB7zjB,EAAQ9C,EAAM42jB,MACdrxhB,EAAWvlC,EAAM62jB,SACjB3uiB,EAAWloB,EAAM82jB,SACjBj4jB,EAAamB,EAAM+2jB,WACnB53jB,EAAaa,EAAMg3jB,WACnBhzjB,EAAahE,EAAMi3jB,WACnBl0jB,EAAa/C,EAAMk3jB,WAEnBp4jB,EAAYiB,EAAOy1jB,UAEnB/xjB,EAAW,CACb,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,YAGtC,SAAST,IACP,KAAMzD,gBAAgByD,GACpB,OAAO,IAAIA,EAEblE,EAAUqB,KAAKZ,MACfA,KAAK2oB,EAAI,CACP,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,UACZ,UAAY,WACZ,WAAY,WACd3oB,KAAK0E,EAAIR,EACTlE,KAAKujE,EAAI,IAAI5jE,MAAM,KAyIrB,SAAS4jG,EAAQjjG,EAAIS,EAAIU,EAAIhB,EAAID,GAC/B,IAAIgE,EAAKlE,EAAKmB,GAASnB,EAAME,EAG7B,OAFIgE,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAASd,EAAQpD,EAAIS,EAAIU,EAAIhB,EAAID,EAAIgE,GACnC,IAAIW,EAAKpE,EAAKN,GAASM,EAAMyD,EAG7B,OAFIW,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAAST,EAASpE,EAAIS,EAAIU,EAAIhB,EAAID,GAChC,IAAIgE,EAAKlE,EAAKmB,EAAOnB,EAAKE,EAAOiB,EAAKjB,EAGtC,OAFIgE,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAASoc,EAAStgB,EAAIS,EAAIU,EAAIhB,EAAID,EAAIgE,GACpC,IAAIW,EAAKpE,EAAKN,EAAOM,EAAKyD,EAAO/D,EAAK+D,EAGtC,OAFIW,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAAS6mL,EAAU1rL,EAAIS,GACrB,IAIIU,EAJQ0D,EAAU7E,EAAIS,EAAI,IAClBoE,EAAUpE,EAAIT,EAAI,GAClB6E,EAAUpE,EAAIT,EAAI,GAK9B,OAFImB,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAAS0yI,EAAU7zI,EAAIS,GACrB,IAIIU,EAJQlB,EAAUD,EAAIS,EAAI,IAClBR,EAAUQ,EAAIT,EAAI,GAClBC,EAAUQ,EAAIT,EAAI,GAK9B,OAFImB,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAAS2D,EAAU9E,EAAIS,GACrB,IAIIU,EAJQ0D,EAAU7E,EAAIS,EAAI,IAClBoE,EAAU7E,EAAIS,EAAI,IAClBoE,EAAUpE,EAAIT,EAAI,GAK9B,OAFImB,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAASqqL,EAAUxrL,EAAIS,GACrB,IAIIU,EAJQlB,EAAUD,EAAIS,EAAI,IAClBR,EAAUD,EAAIS,EAAI,IAClBR,EAAUQ,EAAIT,EAAI,GAK9B,OAFImB,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAAS6whB,EAAUhyhB,EAAIS,GACrB,IAIIU,EAJQ0D,EAAU7E,EAAIS,EAAI,GAClBoE,EAAU7E,EAAIS,EAAI,GAClBmL,EAAS5L,EAAIS,EAAI,GAK7B,OAFIU,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAAS8/D,EAAUjhE,EAAIS,GACrB,IAIIU,EAJQlB,EAAUD,EAAIS,EAAI,GAClBR,EAAUD,EAAIS,EAAI,GAClBS,EAASlB,EAAIS,EAAI,GAK7B,OAFIU,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAASi0D,EAAUp1D,EAAIS,GACrB,IAIIU,EAJQ0D,EAAU7E,EAAIS,EAAI,IAClBoE,EAAUpE,EAAIT,EAAI,IAClB4L,EAAS5L,EAAIS,EAAI,GAK7B,OAFIU,EAAI,IACNA,GAAK,YACAA,CAAA,CAGT,SAASe,EAAUlC,EAAIS,GACrB,IAIIU,EAJQlB,EAAUD,EAAIS,EAAI,IAClBR,EAAUQ,EAAIT,EAAI,IAClBkB,EAASlB,EAAIS,EAAI,GAK7B,OAFIU,EAAI,IACNA,GAAK,YACAA,CAAA,CAxPThB,EAAMg/gB,SAASh8gB,EAAQlE,GACvBwB,EAAO3C,QAAUqF,EAEjBA,EAAO+2D,UAAY,KACnB/2D,EAAOmyjB,QAAU,IACjBnyjB,EAAO6rjB,aAAe,IACtB7rjB,EAAOoyjB,UAAY,IAEnBpyjB,EAAOvD,UAAU03jB,cAAgB,SAAuBt3jB,EAAKS,GAI3D,IAHA,IAAIU,EAAIzB,KAAKujE,EAGJ9iE,EAAI,EAAGA,EAAI,GAAIA,IACtBgB,EAAEhB,GAAKH,EAAIS,EAAQN,GACrB,KAAOA,EAAIgB,EAAEd,OAAQF,GAAK,EAAG,CAC3B,IAAID,EAAQk1D,EAAUj0D,EAAEhB,EAAI,GAAIgB,EAAEhB,EAAI,IAClC+D,EAAQhC,EAAUf,EAAEhB,EAAI,GAAIgB,EAAEhB,EAAI,IAClC0E,EAAQ1D,EAAEhB,EAAI,IACdF,EAAQkB,EAAEhB,EAAI,IACdyL,EAAQomhB,EAAU7whB,EAAEhB,EAAI,IAAKgB,EAAEhB,EAAI,KACnCe,EAAQ+/D,EAAU9/D,EAAEhB,EAAI,IAAKgB,EAAEhB,EAAI,KACnC8C,EAAQ9B,EAAEhB,EAAI,IACdulC,EAAQvkC,EAAEhB,EAAI,IAElBgB,EAAEhB,GAAKnB,EACLkB,EAAOgE,EACPW,EAAO5E,EACP2L,EAAO1K,EACP+B,EAAOyiC,GACTvkC,EAAEhB,EAAI,GAAKb,EACTY,EAAOgE,EACPW,EAAO5E,EACP2L,EAAO1K,EACP+B,EAAOyiC,EAAA,GAIbviC,EAAOvD,UAAUm3P,QAAU,SAAiB/2P,EAAKS,GAC/Cf,KAAK43jB,cAAct3jB,EAAKS,GAExB,IAAIU,EAAIzB,KAAKujE,EAET9iE,EAAKT,KAAK2oB,EAAE,GACZnoB,EAAKR,KAAK2oB,EAAE,GACZxjB,EAAKnF,KAAK2oB,EAAE,GACZpoB,EAAKP,KAAK2oB,EAAE,GACZzc,EAAKlM,KAAK2oB,EAAE,GACZnnB,EAAKxB,KAAK2oB,EAAE,GACZrpB,EAAKU,KAAK2oB,EAAE,GACZ/oB,EAAKI,KAAK2oB,EAAE,GACZppB,EAAKS,KAAK2oB,EAAE,GACZzkB,EAAKlE,KAAK2oB,EAAE,GACZllB,EAAKzD,KAAK2oB,EAAE,IACZ2pgB,EAAKtyhB,KAAK2oB,EAAE,IACZ44C,EAAKvhE,KAAK2oB,EAAE,IACZ+sC,EAAK11D,KAAK2oB,EAAE,IACZnmB,EAAKxC,KAAK2oB,EAAE,IACZmvC,EAAK93D,KAAK2oB,EAAE,IAEhBnkB,EAAOxE,KAAK0E,EAAE/D,SAAWc,EAAEd,QAC3B,IAAK,IAAIquf,EAAI,EAAGA,EAAIvtf,EAAEd,OAAQquf,GAAK,EAAG,CACpC,IAAIujC,EAAQ/vhB,EACRgwhB,EAAQ16d,EACR26d,EAAQrthB,EAAU7F,EAAI2E,GACtBwuhB,EAAQ5mW,EAAUvsL,EAAI2E,GACtBw5D,EAAQ6lC,EAAQhkG,EAAI2E,EAAIT,EAAI6uhB,EAAI/wd,GAChCqqH,EAAQloL,EAAQnE,EAAI2E,EAAIT,EAAI6uhB,EAAI/wd,EAAI7L,GACpC70C,EAAQ7gB,KAAK0E,EAAEsqf,GACfqrC,EAAQr6hB,KAAK0E,EAAEsqf,EAAI,GACnBptb,EAAQngE,EAAEutf,GACVsrC,EAAQ74hB,EAAEutf,EAAI,GAEdvpf,EAAQhB,EACV8thB,EAAOC,EACPC,EAAOC,EACPh1d,EAAOkuH,EACP/qK,EAAOw5gB,EACPz4d,EAAO04d,GACL/2d,EAAQ//D,EACV+uhB,EAAOC,EACPC,EAAOC,EACPh1d,EAAOkuH,EACP/qK,EAAOw5gB,EACPz4d,EAAO04d,GAET/H,EAAQvmW,EAAUvrL,EAAID,GACtBgyhB,EAAQr+Y,EAAU1zI,EAAID,GACtBiyhB,EAAQ/thB,EAASjE,EAAID,EAAI2E,EAAI5E,EAAI2L,GACjCwmhB,EAAQ9xgB,EAASngB,EAAID,EAAI2E,EAAI5E,EAAI2L,EAAI1K,GAErC,IAAI+sF,EAAQvoD,EAASusf,EAAOC,EAAOC,EAAOC,GACtCpmW,EAAQ3jK,EAAS4pgB,EAAOC,EAAOC,EAAOC,GAE1ClwhB,EAAK++D,EACLzJ,EAAKpC,EAEL6L,EAAK99D,EACLiyD,EAAK48d,EAEL7uhB,EAAKlE,EACL+yhB,EAAKpuhB,EAEL3E,EAAKymC,EAAS1mC,EAAIM,EAAI6F,EAAO89D,GAC7Br/D,EAAKykB,EAAS/oB,EAAIA,EAAI6F,EAAO89D,GAE7BjkE,EAAK4M,EACLtM,EAAK4B,EAEL0K,EAAK/G,EACL3D,EAAKjB,EAEL4E,EAAK1E,EACLF,EAAKC,EAELC,EAAKulC,EAASvgC,EAAO89D,EAAOgrB,EAAO+9F,GACnC9rL,EAAKmoB,EAASljB,EAAO89D,EAAOgrB,EAAO+9F,EAAA,CAGrC/oL,EAAMvD,KAAK2oB,EAAG,EAAGloB,EAAID,GACrB+C,EAAMvD,KAAK2oB,EAAG,EAAGxjB,EAAI5E,GACrBgD,EAAMvD,KAAK2oB,EAAG,EAAGzc,EAAI1K,GACrB+B,EAAMvD,KAAK2oB,EAAG,EAAGrpB,EAAIM,GACrB2D,EAAMvD,KAAK2oB,EAAG,EAAGppB,EAAI2E,GACrBX,EAAMvD,KAAK2oB,EAAG,GAAIllB,EAAI6uhB,GACtB/uhB,EAAMvD,KAAK2oB,EAAG,GAAI44C,EAAI7L,GACtBnyD,EAAMvD,KAAK2oB,EAAG,GAAInmB,EAAIs1D,EAAA,EAGxBr0D,EAAOvD,UAAUm1jB,QAAU,SAAgB/0jB,GACzC,MAAY,QAARA,EACKG,EAAM81jB,QAAQv2jB,KAAK2oB,EAAG,OAEtBloB,EAAM+1jB,QAAQx2jB,KAAK2oB,EAAG,mFAAAroB,EAAAS,EAAAU,GCpNjC,aAEA,IACIhB,EADQH,EAAQ,YACDu3jB,OAYnB,SAASr3jB,EAAKF,EAAGS,EAAGU,GAClB,OAAQnB,EAAIS,GAAQT,EAAKmB,CAAA,CAI3B,SAAS+C,EAAMlE,EAAGS,EAAGU,GACnB,OAAQnB,EAAIS,EAAMT,EAAImB,EAAMV,EAAIU,CAAA,CAIlC,SAAS0D,EAAI7E,EAAGS,EAAGU,GACjB,OAAOnB,EAAIS,EAAIU,CAAA,CAbjBA,EAAQi1jB,KARR,SAAcp2jB,EAAGS,EAAGU,EAAGhB,GACrB,OAAU,IAANH,EACKE,EAAKO,EAAGU,EAAGhB,GACV,IAANH,GAAiB,IAANA,EACN6E,EAAIpE,EAAGU,EAAGhB,GACT,IAANH,EACKkE,EAAMzD,EAAGU,EAAGhB,QAAA,CADrB,EAQFgB,EAAQk1jB,KAAOn2jB,EAKfiB,EAAQm1jB,MAAQpyjB,EAKhB/C,EAAQq2jB,IAAM3yjB,EAKd1D,EAAQo1jB,OAHR,SAAgBv2jB,GACd,OAAOG,EAAOH,EAAG,GAAKG,EAAOH,EAAG,IAAMG,EAAOH,EAAG,KAOlDmB,EAAQq1jB,OAHR,SAAgBx2jB,GACd,OAAOG,EAAOH,EAAG,GAAKG,EAAOH,EAAG,IAAMG,EAAOH,EAAG,KAOlDmB,EAAQs1jB,OAHR,SAAgBz2jB,GACd,OAAOG,EAAOH,EAAG,GAAKG,EAAOH,EAAG,IAAOA,IAAM,GAO/CmB,EAAQu1jB,OAHR,SAAgB12jB,GACd,OAAOG,EAAOH,EAAG,IAAMG,EAAOH,EAAG,IAAOA,IAAM,qCAAAA,EAAAS,EAAAU,GC9ChD,aAEA,IAAIhB,EAASH,EAAQ,uBACjBE,EAAWF,EAAQ,YAIvB,SAASkE,EAAgBlE,EAAKS,GAC5B,OAAqC,QAAZ,MAApBT,EAAIoO,WAAW3N,OAGhBA,EAAI,GAAKA,EAAI,GAAKT,EAAIK,SAGkB,QAAZ,MAAxBL,EAAIoO,WAAW3N,EAAI,IA0D7B,SAASoE,EAAM7E,GAKb,OAJWA,IAAM,GACLA,IAAM,EAAK,MACXA,GAAK,EAAK,UACN,IAAJA,IAAa,MACV,EAgBjB,SAASC,EAAMD,GACb,OAAoB,IAAhBA,EAAKK,OACA,IAAML,EAENA,CAAA,CAIX,SAAS4L,EAAM5L,GACb,OAAoB,IAAhBA,EAAKK,OACA,IAAML,EACU,IAAhBA,EAAKK,OACL,KAAOL,EACS,IAAhBA,EAAKK,OACL,MAAQL,EACQ,IAAhBA,EAAKK,OACL,OAASL,EACO,IAAhBA,EAAKK,OACL,QAAUL,EACM,IAAhBA,EAAKK,OACL,SAAWL,EACK,IAAhBA,EAAKK,OACL,UAAYL,EAEZA,CAAA,CAhHXmB,EAAQg+gB,SAAWj/gB,EAyDnBiB,EAAQmoH,QA7CR,SAAiBtpH,EAAKS,GACpB,GAAIpB,MAAMkoB,QAAQvnB,GAChB,OAAOA,EAAI6c,QACb,IAAK7c,EACH,MAAO,GACT,IAAImB,EAAM,GACV,GAAmB,iBAARnB,EACT,GAAKS,GAyBE,GAAY,QAARA,EAIT,KAHAT,EAAMA,EAAI+Z,QAAQ,eAAgB,KAC1B1Z,OAAS,GAAM,IACrBL,EAAM,IAAMA,GACTE,EAAI,EAAGA,EAAIF,EAAIK,OAAQH,GAAK,EAC/BiB,EAAI6C,KAAKihC,SAASjlC,EAAIE,GAAKF,EAAIE,EAAI,GAAI,UAxBzC,IADA,IAAIC,EAAI,EACCD,EAAI,EAAGA,EAAIF,EAAIK,OAAQH,IAAK,CACnC,IAAI2E,EAAI7E,EAAIoO,WAAWlO,GACnB2E,EAAI,IACN1D,EAAIhB,KAAO0E,EACFA,EAAI,MACb1D,EAAIhB,KAAQ0E,GAAK,EAAK,IACtB1D,EAAIhB,KAAY,GAAJ0E,EAAU,KACbX,EAAgBlE,EAAKE,IAC9B2E,EAAI,QAAgB,KAAJA,IAAe,KAA6B,KAAtB7E,EAAIoO,aAAalO,IACvDiB,EAAIhB,KAAQ0E,GAAK,GAAM,IACvB1D,EAAIhB,KAAS0E,GAAK,GAAM,GAAM,IAC9B1D,EAAIhB,KAAS0E,GAAK,EAAK,GAAM,IAC7B1D,EAAIhB,KAAY,GAAJ0E,EAAU,MAEtB1D,EAAIhB,KAAQ0E,GAAK,GAAM,IACvB1D,EAAIhB,KAAS0E,GAAK,EAAK,GAAM,IAC7B1D,EAAIhB,KAAY,GAAJ0E,EAAU,UAW5B,IAAK3E,EAAI,EAAGA,EAAIF,EAAIK,OAAQH,IAC1BiB,EAAIjB,GAAc,EAATF,EAAIE,GAEjB,OAAOiB,CAAA,EAUTA,EAAQ2tD,MANR,SAAe9uD,GAEb,IADA,IAAIS,EAAM,GACDU,EAAI,EAAGA,EAAInB,EAAIK,OAAQc,IAC9BV,GAAOR,EAAMD,EAAImB,GAAG+N,SAAS,KAC/B,OAAOzO,CAAA,EAWTU,EAAQs2jB,MAAQ5yjB,EAYhB1D,EAAQ80jB,QAVR,SAAiBj2jB,EAAKS,GAEpB,IADA,IAAIU,EAAM,GACDhB,EAAI,EAAGA,EAAIH,EAAIK,OAAQF,IAAK,CACnC,IAAID,EAAIF,EAAIG,GACG,WAAXM,IACFP,EAAI2E,EAAM3E,IACZiB,GAAOyK,EAAM1L,EAAEgP,SAAS,KAE1B,OAAO/N,CAAA,EAUTA,EAAQswjB,MAAQxxjB,EAoBhBkB,EAAQu2jB,MAAQ9rjB,EAgBhBzK,EAAQy0jB,OAdR,SAAgB51jB,EAAKS,EAAOU,EAAKjB,GAC/B,IAAIgE,EAAM/C,EAAMV,EAChBN,EAAO+D,EAAM,GAAM,GAEnB,IADA,IAAIW,EAAM,IAAIxF,MAAM6E,EAAM,GACjBjE,EAAI,EAAG2L,EAAInL,EAAOR,EAAI4E,EAAIxE,OAAQJ,IAAK2L,GAAK,EAAG,CACtD,IAAI1K,EAEFA,EADa,QAAXhB,EACGF,EAAI4L,IAAM,GAAO5L,EAAI4L,EAAI,IAAM,GAAO5L,EAAI4L,EAAI,IAAM,EAAK5L,EAAI4L,EAAI,GAEjE5L,EAAI4L,EAAI,IAAM,GAAO5L,EAAI4L,EAAI,IAAM,GAAO5L,EAAI4L,EAAI,IAAM,EAAK5L,EAAI4L,GACxE/G,EAAI5E,GAAKiB,IAAM,EAEjB,OAAO2D,CAAA,EAsBT1D,EAAQ+0jB,QAlBR,SAAiBl2jB,EAAKS,GAEpB,IADA,IAAIU,EAAM,IAAI9B,MAAmB,EAAbW,EAAIK,QACfF,EAAI,EAAGD,EAAI,EAAGC,EAAIH,EAAIK,OAAQF,IAAKD,GAAK,EAAG,CAClD,IAAIgE,EAAIlE,EAAIG,GACG,QAAXM,GACFU,EAAIjB,GAAKgE,IAAM,GACf/C,EAAIjB,EAAI,GAAMgE,IAAM,GAAM,IAC1B/C,EAAIjB,EAAI,GAAMgE,IAAM,EAAK,IACzB/C,EAAIjB,EAAI,GAAS,IAAJgE,IAEb/C,EAAIjB,EAAI,GAAKgE,IAAM,GACnB/C,EAAIjB,EAAI,GAAMgE,IAAM,GAAM,IAC1B/C,EAAIjB,EAAI,GAAMgE,IAAM,EAAK,IACzB/C,EAAIjB,GAAS,IAAJgE,EAAA,CAGb,OAAO/C,CAAA,EAOTA,EAAQo2jB,OAHR,SAAgBv3jB,EAAGS,GACjB,OAAQT,IAAMS,EAAMT,GAAM,GAAKS,CAAA,EAOjCU,EAAQ00jB,OAHR,SAAgB71jB,EAAGS,GACjB,OAAQT,GAAKS,EAAMT,IAAO,GAAKS,CAAA,EAOjCU,EAAQ20jB,MAHR,SAAe91jB,EAAGS,GAChB,OAAQT,EAAIS,IAAO,GAOrBU,EAAQ40jB,QAHR,SAAiB/1jB,EAAGS,EAAGU,GACrB,OAAQnB,EAAIS,EAAIU,IAAO,GAOzBA,EAAQ60jB,QAHR,SAAiBh2jB,EAAGS,EAAGU,EAAGhB,GACxB,OAAQH,EAAIS,EAAIU,EAAIhB,IAAO,GAO7BgB,EAAQg1jB,QAHR,SAAiBn2jB,EAAGS,EAAGU,EAAGhB,EAAGD,GAC3B,OAAQF,EAAIS,EAAIU,EAAIhB,EAAID,IAAO,GAajCiB,EAAQ41jB,MATR,SAAe/2jB,EAAKS,EAAKU,EAAIhB,GAC3B,IAAID,EAAKF,EAAIS,GAGTyD,EAAM/D,EAFDH,EAAIS,EAAM,KAEI,EACnBoE,GAAMX,EAAK/D,EAAK,EAAI,GAAKgB,EAAKjB,EAClCF,EAAIS,GAAOoE,IAAO,EAClB7E,EAAIS,EAAM,GAAKyD,CAAA,EASjB/C,EAAQ61jB,SALR,SAAkBh3jB,EAAIS,EAAIU,EAAIhB,GAG5B,OAFUM,EAAKN,IAAQ,EACRM,EAAK,EAAI,GAAKT,EAAKmB,IACpB,GAQhBA,EAAQ81jB,SAJR,SAAkBj3jB,EAAIS,EAAIU,EAAIhB,GAE5B,OADSM,EAAKN,IACA,GAiBhBgB,EAAQ+1jB,WAbR,SAAoBl3jB,EAAIS,EAAIU,EAAIhB,EAAID,EAAIgE,EAAIW,EAAI5E,GAC9C,IAAI2L,EAAQ,EACR1K,EAAKT,EAST,OAPAmL,IADA1K,EAAMA,EAAKf,IAAQ,GACLM,EAAK,EAAI,EAEvBmL,IADA1K,EAAMA,EAAKgD,IAAQ,GACLA,EAAK,EAAI,EAIdlE,EAAKmB,EAAKjB,EAAK2E,GAFxB+G,IADA1K,EAAMA,EAAKjB,IAAQ,GACLA,EAAK,EAAI,KAGT,GAQhBkB,EAAQg2jB,WAJR,SAAoBn3jB,EAAIS,EAAIU,EAAIhB,EAAID,EAAIgE,EAAIW,EAAI5E,GAE9C,OADSQ,EAAKN,EAAK+D,EAAKjE,IACV,GAmBhBkB,EAAQi2jB,WAfR,SAAoBp3jB,EAAIS,EAAIU,EAAIhB,EAAID,EAAIgE,EAAIW,EAAI5E,EAAI2L,EAAI1K,GACtD,IAAI+B,EAAQ,EACRyiC,EAAKjlC,EAWT,OATAwC,IADAyiC,EAAMA,EAAKvlC,IAAQ,GACLM,EAAK,EAAI,EAEvBwC,IADAyiC,EAAMA,EAAKxhC,IAAQ,GACLA,EAAK,EAAI,EAEvBjB,IADAyiC,EAAMA,EAAKzlC,IAAQ,GACLA,EAAK,EAAI,EAIdD,EAAKmB,EAAKjB,EAAK2E,EAAK+G,GAF7B3I,IADAyiC,EAAMA,EAAKxkC,IAAQ,GACLA,EAAK,EAAI,KAGT,GAShBC,EAAQk2jB,WALR,SAAoBr3jB,EAAIS,EAAIU,EAAIhB,EAAID,EAAIgE,EAAIW,EAAI5E,EAAI2L,EAAI1K,GAGtD,OAFST,EAAKN,EAAK+D,EAAKjE,EAAKiB,IAEf,GAQhBC,EAAQw1jB,UAJR,SAAmB32jB,EAAIS,EAAIU,GAEzB,OADSV,GAAO,GAAKU,EAASnB,IAAOmB,KACxB,GAQfA,EAAQy1jB,UAJR,SAAmB52jB,EAAIS,EAAIU,GAEzB,OADSnB,GAAO,GAAKmB,EAASV,IAAOU,KACxB,GAOfA,EAAQ01jB,SAHR,SAAkB72jB,EAAIS,EAAIU,GACxB,OAAOnB,IAAOmB,CAAA,EAQhBA,EAAQ21jB,SAJR,SAAkB92jB,EAAIS,EAAIU,GAExB,OADSnB,GAAO,GAAKmB,EAASV,IAAOU,KACxB,KAAAg+gB,SAAA,8CAAAn/gB,EAAAS,EAAAU,GCnRf,aAEA,IAAIhB,EAAOH,EAAQ,WACfE,EAAQF,EAAQ,6BAChBkE,EAASlE,EAAQ,uBAErB,SAAS6E,EAAS7E,GAChB,KAAMN,gBAAgBmF,GACpB,OAAO,IAAIA,EAAS7E,GACtBN,KAAKgH,KAAO1G,EAAQ0G,KACpBhH,KAAKi4jB,aAAe33jB,EAAQ23jB,WAE5Bj4jB,KAAKk4jB,OAASl4jB,KAAKgH,KAAK4ujB,QACxB51jB,KAAKm4jB,WAAa73jB,EAAQ63jB,YAAcn4jB,KAAKgH,KAAKsojB,aAElDtvjB,KAAKo4jB,QAAU,KACfp4jB,KAAKq4jB,eAAiB,KACtBr4jB,KAAKu6hB,EAAI,KACTv6hB,KAAKs6hB,EAAI,KAET,IAAIv5hB,EAAUP,EAAMopH,QAAQtpH,EAAQ+ujB,QAAS/ujB,EAAQivjB,YAAc,OAC/D9tjB,EAAQjB,EAAMopH,QAAQtpH,EAAQqb,MAAOrb,EAAQg4jB,UAAY,OACzD73jB,EAAOD,EAAMopH,QAAQtpH,EAAQ6ujB,KAAM7ujB,EAAQ8ujB,SAAW,OAC1D5qjB,EAAOzD,EAAQJ,QAAWX,KAAKm4jB,WAAa,EACrC,mCAAqCn4jB,KAAKm4jB,WAAa,SAC9Dn4jB,KAAKq7G,MAAMt6G,EAASU,EAAOhB,EAAA,CAE7BM,EAAO3C,QAAU+G,EAEjBA,EAASjF,UAAUm7G,MAAQ,SAAc/6G,EAASS,EAAOU,GACvD,IAAIhB,EAAOH,EAAQvB,OAAOgC,GAAOhC,OAAO0C,GAExCzB,KAAKu6hB,EAAI,IAAI56hB,MAAMK,KAAKk4jB,OAAS,GACjCl4jB,KAAKs6hB,EAAI,IAAI36hB,MAAMK,KAAKk4jB,OAAS,GACjC,IAAK,IAAI13jB,EAAI,EAAGA,EAAIR,KAAKs6hB,EAAE35hB,OAAQH,IACjCR,KAAKu6hB,EAAE/5hB,GAAK,EACZR,KAAKs6hB,EAAE95hB,GAAK,EAGdR,KAAKq3P,QAAQ52P,GACbT,KAAKo4jB,QAAU,EACfp4jB,KAAKq4jB,eAAiB,iBAGxBlzjB,EAASjF,UAAUq4jB,MAAQ,WACzB,OAAO,IAAI93jB,EAAK+0jB,KAAKx1jB,KAAKgH,KAAMhH,KAAKu6hB,EAAA,EAGvCp1hB,EAASjF,UAAUm3P,QAAU,SAAgB/2P,GAC3C,IAAIS,EAAOf,KAAKu4jB,QACAzwjB,OAAO9H,KAAKs6hB,GACZxyhB,OAAO,CAAE,IACrBxH,IACFS,EAAOA,EAAK+G,OAAOxH,IACrBN,KAAKu6hB,EAAIx5hB,EAAKkH,SACdjI,KAAKs6hB,EAAIt6hB,KAAKu4jB,QAAQzwjB,OAAO9H,KAAKs6hB,GAAGryhB,SAChC3H,IAGLN,KAAKu6hB,EAAIv6hB,KAAKu4jB,QACAzwjB,OAAO9H,KAAKs6hB,GACZxyhB,OAAO,CAAE,IACTA,OAAOxH,GACP2H,SACdjI,KAAKs6hB,EAAIt6hB,KAAKu4jB,QAAQzwjB,OAAO9H,KAAKs6hB,GAAGryhB,SAAA,EAGvC9C,EAASjF,UAAUs4jB,OAAS,SAAgBl4jB,EAASS,EAAYU,EAAKhB,GAE1C,iBAAfM,IACTN,EAASgB,EACTA,EAAMV,EACNA,EAAa,MAGfT,EAAUE,EAAMopH,QAAQtpH,EAASS,GACjCU,EAAMjB,EAAMopH,QAAQnoH,EAAKhB,GAEzB+D,EAAOlE,EAAQK,QAAWX,KAAKm4jB,WAAa,EACrC,mCAAqCn4jB,KAAKm4jB,WAAa,SAE9Dn4jB,KAAKq3P,QAAQ/2P,EAAQvB,OAAO0C,GAAO,KACnCzB,KAAKo4jB,QAAU,GAGjBjzjB,EAASjF,UAAUuxC,SAAW,SAAkBnxC,EAAKS,EAAKU,EAAKhB,GAC7D,GAAIT,KAAKo4jB,QAAUp4jB,KAAKq4jB,eACtB,MAAM,IAAI1vjB,MAAM,sBAGC,iBAAR5H,IACTN,EAASgB,EACTA,EAAMV,EACNA,EAAM,MAIJU,IACFA,EAAMjB,EAAMopH,QAAQnoH,EAAKhB,GAAU,OACnCT,KAAKq3P,QAAQ51P,IAIf,IADA,IAAI+C,EAAO,GACJA,EAAK7D,OAASL,GACnBN,KAAKs6hB,EAAIt6hB,KAAKu4jB,QAAQzwjB,OAAO9H,KAAKs6hB,GAAGryhB,SACrCzD,EAAOA,EAAKzF,OAAOiB,KAAKs6hB,GAG1B,IAAIn1hB,EAAMX,EAAK2Y,MAAM,EAAG7c,GAGxB,OAFAN,KAAKq3P,QAAQ51P,GACbzB,KAAKo4jB,UACE53jB,EAAM8N,OAAOnJ,EAAKpE,EAAA,4FAAAT,EAAAS,EAAAU,GAAA,aC/G3BA,EAAQk1C,KAAO,SAAUr2C,EAAQS,EAAQU,EAAMhB,EAAMD,GACnD,IAAIgE,EAAGW,EACH5E,EAAiB,EAATC,EAAcC,EAAO,EAC7ByL,GAAQ,GAAK3L,GAAQ,EACrBiB,EAAQ0K,GAAQ,EAChB3I,GAAS,EACTyiC,EAAIvkC,EAAQjB,EAAS,EAAK,EAC1BmoB,EAAIlnB,GAAQ,EAAI,EAChBnC,EAAIgB,EAAOS,EAASilC,GAOxB,IALAA,GAAKrd,EAELnkB,EAAIlF,GAAM,IAAOiE,GAAU,EAC3BjE,KAAQiE,EACRA,GAAShD,EACFgD,EAAQ,EAAGiB,EAAS,IAAJA,EAAWlE,EAAOS,EAASilC,GAAIA,GAAKrd,EAAGplB,GAAS,GAKvE,IAHA4B,EAAIX,GAAM,IAAOjB,GAAU,EAC3BiB,KAAQjB,EACRA,GAAS9C,EACF8C,EAAQ,EAAG4B,EAAS,IAAJA,EAAW7E,EAAOS,EAASilC,GAAIA,GAAKrd,EAAGplB,GAAS,GAEvE,GAAU,IAANiB,EACFA,EAAI,EAAIhD,MACH,IAAIgD,IAAM0H,EACf,OAAO/G,EAAI84I,IAAsB,KAAd3+I,GAAK,EAAI,GAE5B6F,GAAQmG,KAAKmB,IAAI,EAAGhM,GACpB+D,GAAQhD,CAAA,CAEV,OAAQlC,GAAK,EAAI,GAAK6F,EAAImG,KAAKmB,IAAI,EAAGjI,EAAI/D,EAAA,EAG5CgB,EAAQ+7C,MAAQ,SAAUl9C,EAAQS,EAAOU,EAAQhB,EAAMD,EAAMgE,GAC3D,IAAIW,EAAG5E,EAAG2L,EACN1K,EAAiB,EAATgD,EAAchE,EAAO,EAC7B+C,GAAQ,GAAK/B,GAAQ,EACrBwkC,EAAQziC,GAAQ,EAChBolB,EAAe,KAATnoB,EAAc8K,KAAKmB,IAAI,GAAI,IAAMnB,KAAKmB,IAAI,GAAI,IAAM,EAC1DnN,EAAImB,EAAO,EAAK+D,EAAS,EACzB5E,EAAIa,EAAO,GAAK,EAChBgE,EAAI1D,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQuK,KAAKkR,IAAIzb,GAEbgZ,MAAMhZ,IAAUA,IAAU,KAC5BR,EAAIwZ,MAAMhZ,GAAS,EAAI,EACvBoE,EAAI5B,IAEJ4B,EAAImG,KAAKC,MAAMD,KAAK0rH,IAAIj2H,GAASuK,KAAK8kjB,KAClCrvjB,GAASmL,EAAIZ,KAAKmB,IAAI,GAAItH,IAAM,IAClCA,IACA+G,GAAK,IAGLnL,GADEoE,EAAI6gC,GAAS,EACNrd,EAAKzc,EAELyc,EAAKrd,KAAKmB,IAAI,EAAG,EAAIu5B,IAEpB95B,GAAK,IACf/G,IACA+G,GAAK,GAGH/G,EAAI6gC,GAASziC,GACfhD,EAAI,EACJ4E,EAAI5B,GACK4B,EAAI6gC,GAAS,GACtBzlC,GAAMQ,EAAQmL,EAAK,GAAKZ,KAAKmB,IAAI,EAAGjM,GACpC2E,GAAQ6gC,IAERzlC,EAAIQ,EAAQuK,KAAKmB,IAAI,EAAGu5B,EAAQ,GAAK16B,KAAKmB,IAAI,EAAGjM,GACjD2E,EAAI,IAID3E,GAAQ,EAAGF,EAAOmB,EAASnC,GAAS,IAAJiB,EAAUjB,GAAKM,EAAGW,GAAK,IAAKC,GAAQ,GAI3E,IAFA2E,EAAKA,GAAK3E,EAAQD,EAClBiB,GAAQhB,EACDgB,EAAO,EAAGlB,EAAOmB,EAASnC,GAAS,IAAJ6F,EAAU7F,GAAKM,EAAGuF,GAAK,IAAK3D,GAAQ,GAE1ElB,EAAOmB,EAASnC,EAAIM,IAAU,IAAJ6E,CAAA,qBAAAnE,EAAAS,EAAAU,IAAA,SAAAnB,GClF5B,aACA,IAEImB,EAyCAhB,EA3CAD,EAAWF,EAAOg+L,kBAAoBh+L,EAAOy8iB,uBAK/C,GAAIv8iB,EAAU,CACZ,IAAIgE,EAAS,EACTW,EAAW,IAAI3E,EAAS+C,GACxBhD,EAAUD,EAAOmV,SAASe,eAAe,IAC7CrR,EAAS0nH,QAAQtsH,EAAS,CACxB08iB,eAAA,IAEFx7iB,EAAgB,WACdlB,EAAQwH,KAAQvD,IAAWA,EAAS,QAEjC,GAAKlE,EAAOwghB,mBAAA,IAAuBxghB,EAAOk9iB,eAO/C/7iB,EADS,aAAcnB,GAAU,uBAAwBA,EAAOmV,SAASC,cAAc,UACvE,WAId,IAAI3U,EAAWT,EAAOmV,SAASC,cAAc,UAC7C3U,EAASg1C,mBAAqB,WAC5BxyC,IAEAxC,EAASg1C,mBAAqB,KAC9Bh1C,EAAS+U,WAAWiB,YAAYhW,GAChCA,EAAW,MAEbT,EAAOmV,SAASoxF,gBAAgBtwF,YAAYxV,EAAA,EAG9B,WACdyY,WAAWjW,EAAU,QAvBwD,CAC/E,IAAI2I,EAAU,IAAI5L,EAAOk9iB,eACzBtxiB,EAAQ0xiB,MAAMC,UAAYt6iB,EAC1B9B,EAAgB,WACdyK,EAAQyxiB,MAAMD,YAAY,IAyBhC,IAAIl8iB,EAAQ,GAEZ,SAAS+B,IAEP,IAAIjD,EAAGS,EADPN,GAAA,EAGA,IADA,IAAIgB,EAAMD,EAAMb,OACTc,GAAK,CAIV,IAHAV,EAAWS,EACXA,EAAQ,GACRlB,GAAK,IACIA,EAAImB,GACXV,EAAST,KAEXmB,EAAMD,EAAMb,MAAA,CAEdF,GAAA,CAAW,CAGbM,EAAO3C,QACP,SAAmBkC,GACQ,IAArBkB,EAAM8C,KAAKhE,IAAgBG,GAC7BgB,GAAA,IAAAb,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,GAAA,aClEyB,mBAAlBjC,OAAOW,OAEhBY,EAAO3C,QAAU,SAAkBkC,EAAMS,GACnCA,IACFT,EAAKyghB,OAAShghB,EACdT,EAAKJ,UAAYV,OAAOW,OAAOY,EAAUb,UAAW,CAClDD,YAAa,CACX6C,MAAOxC,EACPuJ,YAAA,EACA49C,UAAA,EACAD,cAAA,KAAc,EAOtBzmD,EAAO3C,QAAU,SAAkBkC,EAAMS,GACvC,GAAIA,EAAW,CACbT,EAAKyghB,OAAShghB,EACd,IAAIU,EAAW,aACfA,EAASvB,UAAYa,EAAUb,UAC/BI,EAAKJ,UAAY,IAAIuB,EACrBnB,EAAKJ,UAAUD,YAAcK,CAAA,sBAAAA,EAAAS,EAAAU,GAAA,aCVnC,SAAShB,EAAUH,GACjB,QAASA,EAAIL,aAAmD,mBAA7BK,EAAIL,YAAYk8C,UAA2B77C,EAAIL,YAAYk8C,SAAS77C,EAAA,CALzGS,EAAO3C,QAAU,SAAUkC,GACzB,OAAc,MAAPA,IAAgBG,EAASH,IAQlC,SAAuBA,GACrB,MAAkC,mBAApBA,EAAIywD,aAAmD,mBAAdzwD,EAAI6c,OAAwB1c,EAASH,EAAI6c,MAAM,EAAG,IAD3G,CARuD7c,MAAUA,EAAI6tD,UAAA,qBAAA7tD,EAAAS,EAAAU,GAAA,aCVrE,IAAIhB,EAAW,CAAC,EAAE+O,SAElBzO,EAAO3C,QAAUuB,MAAMkoB,SAAW,SAAUvnB,GAC1C,MAA6B,kBAAtBG,EAASG,KAAKN,EAAA,qBAAAA,EAAAS,EAAAU,GCHvB,aACA,IAAIhB,EAAQH,EAAQ,WAChBE,EAAUF,EAAQ,aAElBkE,EAAU,oEAId/C,EAAQ6M,OAAS,SAAShO,GAMtB,IALA,IACIS,EAAMU,EAAMjB,EAAM2E,EAAM5E,EAAM2L,EAAM1K,EADpC+B,EAAS,GAETyiC,EAAI,EAAGrd,EAAMroB,EAAMK,OAAQrB,EAAiBqpB,EAE5C/oB,EAAqC,WAA3Ba,EAAMg4jB,UAAUn4jB,GACvB0lC,EAAI1lC,EAAMK,QACbrB,EAAiBqpB,EAAMqd,EAElBpmC,GAKDmB,EAAOT,EAAM0lC,KACbvkC,EAAOukC,EAAIrd,EAAMroB,EAAM0lC,KAAO,EAC9BxlC,EAAOwlC,EAAIrd,EAAMroB,EAAM0lC,KAAO,IAN9BjlC,EAAOT,EAAMoO,WAAWs3B,KACxBvkC,EAAOukC,EAAIrd,EAAMroB,EAAMoO,WAAWs3B,KAAO,EACzCxlC,EAAOwlC,EAAIrd,EAAMroB,EAAMoO,WAAWs3B,KAAO,GAO7C7gC,EAAOpE,GAAQ,EACfR,GAAgB,EAAPQ,IAAa,EAAMU,GAAQ,EACpCyK,EAAO5M,EAAiB,GAAc,GAAPmC,IAAc,EAAMjB,GAAQ,EAAM,GACjEgB,EAAOlC,EAAiB,EAAY,GAAPkB,EAAa,GAE1C+C,EAAOe,KAAKE,EAAQ2gC,OAAOhgC,GAAQX,EAAQ2gC,OAAO5kC,GAAQiE,EAAQ2gC,OAAOj5B,GAAQ1H,EAAQ2gC,OAAO3jC,IAIpG,OAAO+B,EAAOkM,KAAK,KAIvBhO,EAAQsN,OAAS,SAASzO,GACtB,IAAIS,EAAMU,EAAMhB,EACN0E,EAAM5E,EAAM2L,EAClB1K,EAAI,EAAG+B,EAAc,EAIzB,GAFoB,UAEhBjD,EAAM0c,OAAO,EAFG,GAShB,MAAM,IAAIrU,MAAM,mDAKpB,IAgBIq9B,EAhBArd,EAA6B,GAFjCroB,EAAQA,EAAM+Z,QAAQ,sBAAuB,KAErB1Z,OAAa,EAOrC,GANGL,EAAM6kC,OAAO7kC,EAAMK,OAAS,KAAO6D,EAAQ2gC,OAAO,KACjDxc,IAEDroB,EAAM6kC,OAAO7kC,EAAMK,OAAS,KAAO6D,EAAQ2gC,OAAO,KACjDxc,IAEAA,EAAc,GAAM,EAOpB,MAAM,IAAIhgB,MAAM,6CASpB,IALIq9B,EADAxlC,EAAQk4jB,WACC,IAAIxxjB,WAAuB,EAAZyhB,GAEf,IAAIhpB,MAAkB,EAAZgpB,GAGhBnnB,EAAIlB,EAAMK,QAObI,EALOyD,EAAQxD,QAAQV,EAAM6kC,OAAO3jC,OAKpB,GAJhB2D,EAAOX,EAAQxD,QAAQV,EAAM6kC,OAAO3jC,QAIN,EAC9BC,GAAgB,GAAP0D,IAAc,GAJvB5E,EAAOiE,EAAQxD,QAAQV,EAAM6kC,OAAO3jC,QAIC,EACrCf,GAAgB,EAAPF,IAAa,GAJtB2L,EAAO1H,EAAQxD,QAAQV,EAAM6kC,OAAO3jC,OAMpCwkC,EAAOziC,KAAiBxC,EAEX,KAATR,IACAylC,EAAOziC,KAAiB9B,GAEf,KAATyK,IACA85B,EAAOziC,KAAiB9C,GAKhC,OAAOulC,CAAA,kDAAA1lC,EAAAS,EAAAU,GCxGX,aAEA,IAAIhB,EAAWH,EAAQ,cACnBE,EAAaF,EAAQ,uBACrBkE,EAAkBlE,EAAQ,4BAC1B6E,EAAa7E,EAAQ,uBAYzB,SAASC,EAAiBD,EAAgBS,EAAkBU,EAAOhB,EAAaD,GAC5ER,KAAK24jB,eAAiBr4jB,EACtBN,KAAK44jB,iBAAmB73jB,EACxBf,KAAK64jB,MAAQp3jB,EACbzB,KAAK4ihB,YAAcnihB,EACnBT,KAAK84jB,kBAAoBt4jB,CAAA,CAhBzBgE,EAAkBlE,EAAQ,4BAmB9BC,EAAiBL,UAAY,CAKzB64jB,iBAAmB,WACf,IAAIz4jB,EAAS,IAAIE,EAAWC,EAASiC,QAAQC,QAAQ3C,KAAK84jB,oBACzDj5gB,KAAK7/C,KAAK4ihB,YAAYo2C,oBACtBn5gB,KAAK,IAAIr7C,EAAgB,gBAEtBzD,EAAOf,KAMX,OALAM,EAAO6nE,GAAG,OAAO,WACb,GAAGnoE,KAAKi5jB,WAALC,cAAmCn4jB,EAAK63jB,iBACvC,MAAM,IAAIjwjB,MAAM,4CAGjBrI,CAAA,EAMX64jB,oBAAsB,WAClB,OAAO,IAAI34jB,EAAWC,EAASiC,QAAQC,QAAQ3C,KAAK84jB,oBACnDM,eAAe,iBAAkBp5jB,KAAK24jB,gBACtCS,eAAe,mBAAoBp5jB,KAAK44jB,kBACxCQ,eAAe,QAASp5jB,KAAK64jB,OAC7BO,eAAe,cAAep5jB,KAAK4ihB,YAAA,GAa5CrihB,EAAiB84jB,iBAAmB,SAAU/4jB,EAAoBS,EAAaU,GAC3E,OAAOnB,EACNu/C,KAAK,IAAI16C,GACT06C,KAAK,IAAIr7C,EAAgB,qBACzBq7C,KAAK9+C,EAAYu4jB,eAAe73jB,IAChCo+C,KAAK,IAAIr7C,EAAgB,mBACzB40jB,eAAe,cAAer4jB,EAAA,EAGnCA,EAAO3C,QAAUmC,CAAA,uHAAAD,EAAAS,EAAAU,GC1EjB,aAEA,IAAIhB,EAAgBH,EAAQ,0BAE5BmB,EAAQ83jB,MAAQ,CACZC,MAAO,OACPF,eAAiB,SAAUh5jB,GACvB,OAAO,IAAIG,EAAc,sBAE7Bu4jB,iBAAmB,WACf,OAAO,IAAIv4jB,EAAc,yBAGjCgB,EAAQg4jB,QAAUn5jB,EAAQ,wEAAAA,EAAAS,EAAAU,GCb1B,aAEA,IAAIhB,EAAQH,EAAQ,WAuBhBE,EAfJ,WAGI,IAFA,IAAIF,EAAGS,EAAQ,GAEPU,EAAG,EAAGA,EAAI,IAAKA,IAAI,CACvBnB,EAAImB,EACJ,IAAI,IAAIhB,EAAG,EAAGA,EAAI,EAAGA,IACjBH,EAAQ,EAAFA,EAAQ,WAAcA,IAAM,EAAOA,IAAM,EAEnDS,EAAMU,GAAKnB,CAAA,CAGf,OAAOS,CAAA,CAXX,GAsDAA,EAAO3C,QAAU,SAAsBkC,EAAOS,GAC1C,gBAAWT,GAA0BA,EAAMK,OAIF,WAA3BF,EAAMg4jB,UAAUn4jB,GAzClC,SAAeA,EAAKS,EAAKU,EAAKhB,GAC1B,IAAI+D,EAAIhE,EAAU2E,EAAM1E,EAAMgB,EAE9BnB,IAAc,EAEd,IAAK,IAAIC,EAAIE,EAAKF,EAAI4E,EAAK5E,IACvBD,EAAOA,IAAQ,EAAKkE,EAAmB,KAAhBlE,EAAMS,EAAIR,KAGrC,OAAgB,EAARD,CAAA,CATZ,CA4CyB,EAAJS,EAAOT,EAAOA,EAAMK,OAAQ,GApBjD,SAAkBL,EAAKS,EAAKU,EAAKhB,GAC7B,IAAI+D,EAAIhE,EAAU2E,EAAM1E,EAAMgB,EAE9BnB,IAAc,EAEd,IAAK,IAAIC,EAAIE,EAAKF,EAAI4E,EAAK5E,IACvBD,EAAOA,IAAQ,EAAKkE,EAA8B,KAA3BlE,EAAMS,EAAI2N,WAAWnO,KAGhD,OAAgB,EAARD,CAAA,CATZ,CAsB4B,EAAJS,EAAOT,EAAOA,EAAMK,OAAQ,GARrC,mCAAAL,EAAAS,EAAAU,GClEf,aACAA,EAAQmoD,QAAA,EACRnoD,EAAQ6mjB,QAAA,EACR7mjB,EAAQsnC,KAAA,EACRtnC,EAAQi4jB,eAAA,EACRj4jB,EAAQw+B,KAAO,KACfx+B,EAAQmhhB,YAAc,KACtBnhhB,EAAQk4jB,mBAAqB,KAC7Bl4jB,EAAQ8e,QAAU,KAClB9e,EAAQm4jB,gBAAkB,KAC1Bn4jB,EAAQo4jB,eAAiB,wBAAAv5jB,EAAAS,EAAAU,GCTzB,aAKA,IAAIhB,EAAa,KAEbA,EADmB,oBAAZiC,QACMA,QAEApC,EAAQ,OAMzBS,EAAO3C,QAAU,CACbsE,QAASjC,EAAA,GAAAq5jB,IAAA,oBAAAx5jB,EAAAS,EAAAU,GCjBb,aACA,IAAIhB,EAAwC,oBAAfyG,YAAuD,oBAAhB6yjB,aAAwD,oBAAhBvtjB,YAExGhM,EAAOF,EAAQ,QACfkE,EAAQlE,EAAQ,WAChB6E,EAAgB7E,EAAQ,0BAExBC,EAAaE,EAAiB,aAAe,QAUjD,SAASyL,EAAY5L,EAAQS,GACzBoE,EAAcvE,KAAKZ,KAAM,eAAiBM,GAE1CN,KAAKg6jB,MAAQ,KACbh6jB,KAAKi6jB,YAAc35jB,EACnBN,KAAKk6jB,aAAen5jB,EAGpBf,KAAKm6jB,KAAO,CAAC,CAAD,CAhBhB14jB,EAAQ+3jB,MAAQ,OAmBhBh1jB,EAAMi7gB,SAASvzgB,EAAa/G,GAK5B+G,EAAYhM,UAAUk6jB,aAAe,SAAU95jB,GAC3CN,KAAKm6jB,KAAO75jB,EAAM65jB,KACC,OAAfn6jB,KAAKg6jB,OACLh6jB,KAAKq6jB,cAETr6jB,KAAKg6jB,MAAM11jB,KAAKE,EAAM81jB,YAAY/5jB,EAAYD,EAAMyH,OAAA,EAAO,EAM/DmE,EAAYhM,UAAUqc,MAAQ,WAC1BpX,EAAcjF,UAAUqc,MAAM3b,KAAKZ,MAChB,OAAfA,KAAKg6jB,OACLh6jB,KAAKq6jB,cAETr6jB,KAAKg6jB,MAAM11jB,KAAK,IAAI,IAKxB4H,EAAYhM,UAAUq6jB,QAAU,WAC5Bp1jB,EAAcjF,UAAUq6jB,QAAQ35jB,KAAKZ,MACrCA,KAAKg6jB,MAAQ,MASjB9tjB,EAAYhM,UAAUm6jB,YAAc,WAChCr6jB,KAAKg6jB,MAAQ,IAAIx5jB,EAAKR,KAAKi6jB,aAAa,CACpC/zjB,KAAA,EACAqoJ,MAAOvuJ,KAAKk6jB,aAAa3ra,QAAU,IAEvC,IAAIjuJ,EAAON,KACXA,KAAKg6jB,MAAMQ,OAAS,SAASz5jB,GACzBT,EAAKgE,KAAK,CACNyD,KAAOhH,EACPo5jB,KAAO75jB,EAAK65jB,MAAA,GAKxB14jB,EAAQ63jB,eAAiB,SAAUh5jB,GAC/B,OAAO,IAAI4L,EAAY,UAAW5L,EAAA,EAEtCmB,EAAQu3jB,iBAAmB,WACvB,OAAO,IAAI9sjB,EAAY,UAAW,CAAC,EAAD,+CAAAuujB,KAAA,oBAAAn6jB,EAAAS,EAAAU,GCnFtC,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAAgBF,EAAQ,2BACxBkE,EAAOlE,EAAQ,WACf6E,EAAQ7E,EAAQ,YAChBC,EAAYD,EAAQ,gBASpB4L,EAAW,SAAS5L,EAAKS,GACzB,IAAcU,EAAVhB,EAAM,GACV,IAAKgB,EAAI,EAAGA,EAAIV,EAAOU,IACnBhB,GAAO0O,OAAOC,aAAmB,IAAN9O,GAC3BA,KAAc,EAElB,OAAOG,CAAA,EA2DPe,EAAmB,SAASlB,EAAYS,EAAiBU,EAAgBjB,EAAQgB,EAAU+B,GAC3F,IAUAyiC,EACArd,EAXIrpB,EAAOgB,EAAUyihB,KACrBnjhB,EAAcU,EAAUsihB,YACxBn+gB,EAAoBlB,IAAmBiB,EAAKk2jB,WAC5Cl3jB,EAAkB/C,EAAM65jB,YAAY,SAAU/2jB,EAAejE,EAAKyH,OAClExH,EAAqBkB,EAAM65jB,YAAY,SAAU91jB,EAAKk2jB,WAAWp7jB,EAAKyH,OACtE7C,EAAU5E,EAAKihB,QACf9c,EAAiBhD,EAAM65jB,YAAY,SAAU/2jB,EAAeW,IAC5Dq/F,EAAoB9iG,EAAM65jB,YAAY,SAAU91jB,EAAKk2jB,WAAWx2jB,IAChER,EAAqBnE,EAAmBoB,SAAWrB,EAAKyH,KAAKpG,OAC7D+D,EAAoB6+F,EAAkB5iG,SAAWuD,EAAQvD,OAGzDigB,EAAc,GACdorK,EAAwB,GACxB73C,EAA2B,GAC3B/uI,EAAM9F,EAAKypC,IACX+iJ,EAAOxsL,EAAK2gC,KAGRqyf,EAAW,CACXumC,MAAQ,EACRF,eAAiB,EACjBC,iBAAmB,GAKlB73jB,IAAmBU,IACpB6whB,EAASumC,MAAQv4jB,EAAUu4jB,MAC3BvmC,EAASqmC,eAAiBr4jB,EAAUq4jB,eACpCrmC,EAASsmC,iBAAmBt4jB,EAAUs4jB,kBAG1C,IAAIr3f,EAAU,EACVxgE,IAIAwgE,GAAW,GAEV98D,IAAsBf,IAAsBgB,IAE7C68D,GAAW,MAIf,IAxFyC7L,EAErCoC,EAsFAk3b,EAAc,EACdujC,EAAgB,EAChBnthB,IAEA4pf,GAAe,IAEH,SAAbxtf,GACC+whB,EAAgB,IAChBvjC,IA9FAl3b,EAFqCpC,EAgGOp2D,EAAKs6jB,gBA7FhDlkgB,IAIDoC,EAyFkE1yD,EAzFjD,MAAS,QAEb,MAAT0yD,IAAoB,MAyFxBy6d,EAAgB,GAChBvjC,GAvE4B,IAuEe1vf,EAAKu6jB,gBAvE1B,IA+E1B7zhB,EAAU8lJ,EAAKi/W,cACf/kgB,IAAqB,EACrBA,GAAoB8lJ,EAAKk/W,gBACzBhlgB,IAAqB,EACrBA,GAAoB8lJ,EAAKm/W,gBAAkB,EAE3CtihB,EAAUmjK,EAAK8+W,iBAAmB,KAClCjihB,IAAqB,EACrBA,GAAqBmjK,EAAK++W,cAAgB,EAC1ClihB,IAAqB,EACrBA,GAAoBmjK,EAAKg/W,aAErBpniB,IAUAsoL,EAEI9/K,EAAS,EAAG,GAEZA,EAAS/G,EAAM3B,GAAkB,GAEjCjE,EAEJqhB,GAEI,KAEA1U,EAAS8/K,EAAsBrrL,OAAQ,GAEvCqrL,GAGLtnL,IAECyvI,EAEIjoI,EAAS,EAAG,GAEZA,EAAS/G,EAAM1B,GAAiB,GAEhC8/F,EAEJ3iF,GAEI,KAEA1U,EAASioI,EAAyBxzI,OAAQ,GAE1CwzI,GAGR,IAAIq+Y,EAAS,GAgDb,OA7CAA,GAAU,OAEVA,GAAUtmhB,EAASq1D,EAAS,GAE5Bixd,GAAU5yhB,EAAY45jB,MAEtBhnC,GAAUtmhB,EAAS85B,EAAS,GAE5Bwsf,GAAUtmhB,EAASyc,EAAS,GAE5B6pgB,GAAUtmhB,EAASomhB,EAASumC,MAAO,GAEnCrmC,GAAUtmhB,EAASomhB,EAASqmC,eAAgB,GAE5CnmC,GAAUtmhB,EAASomhB,EAASsmC,iBAAkB,GAE9CpmC,GAAUtmhB,EAAS1I,EAAgB7C,OAAQ,GAE3C6xhB,GAAUtmhB,EAAS0U,EAAYjgB,OAAQ,GA2BhC,CACHg6jB,WAzBap6jB,EAAUq6jB,kBAAoBpoC,EAAShvhB,EAAkBod,EA0BtEi6iB,UAxBYt6jB,EAAUu6jB,oBAEtB5ujB,EAASqmhB,EAAe,GAExBC,EAEAtmhB,EAASzI,EAAe9C,OAAQ,GAEhC,WAIAuL,EAAS8if,EAAa,GAEtB9if,EAAS1L,EAAQ,GAEjBgD,EAEAod,EAEAnd,EAAA,EAiDJF,EAA0B,SAAUjD,GAUpC,OARaC,EAAUw6jB,gBAEnB7ujB,EAAS5L,EAAUu4jB,MAAW,GAE9B3sjB,EAAS5L,EAAUq4jB,eAAoB,GAEvCzsjB,EAAS5L,EAAUs4jB,iBAAsB,IAcjD,SAAS5yhB,EAAc1lC,EAAaS,EAASU,EAAUhB,GACnDD,EAAcI,KAAKZ,KAAM,iBAEzBA,KAAKg7jB,aAAe,EAEpBh7jB,KAAKi7jB,WAAal6jB,EAElBf,KAAKk7jB,YAAcz5jB,EAEnBzB,KAAKm7jB,eAAiB16jB,EAEtBT,KAAKo7jB,YAAc96jB,EAKnBN,KAAKq7jB,YAAA,EAELr7jB,KAAKs7jB,cAAgB,GAErBt7jB,KAAKu7jB,WAAa,GAElBv7jB,KAAKw7jB,oBAAsB,EAE3Bx7jB,KAAKy7jB,aAAe,EAGpBz7jB,KAAK07jB,YAAc,KAInB17jB,KAAK27jB,SAAW,GAEpBl7jB,EAAMg/gB,SAASz5e,EAAexlC,GAK9BwlC,EAAc9lC,UAAUoE,KAAO,SAAUhE,GAErC,IAAIS,EAAqBT,EAAM65jB,KAAKnsC,SAAW,EAC3CvshB,EAAezB,KAAKy7jB,aACpBh7jB,EAAiBT,KAAK27jB,SAASh7jB,OAEhCX,KAAKq7jB,WACJr7jB,KAAKs7jB,cAAch3jB,KAAKhE,IAExBN,KAAKg7jB,cAAgB16jB,EAAMyH,KAAKpH,OAEhCH,EAAcN,UAAUoE,KAAK1D,KAAKZ,KAAM,CACpC+H,KAAOzH,EAAMyH,KACboyjB,KAAO,CACHuB,YAAc17jB,KAAK07jB,YACnB1tC,QAAUvshB,GAAgBV,EAAqB,KAAOU,EAAehB,EAAiB,IAAMgB,EAAe,SAU3HukC,EAAc9lC,UAAU07jB,aAAe,SAAUt7jB,GAC7CN,KAAKw7jB,oBAAsBx7jB,KAAKg7jB,aAChCh7jB,KAAK07jB,YAAcp7jB,EAAUyihB,KAASh8gB,KAEtC,IAAIhG,EAAkBf,KAAKo7jB,cAAgB96jB,EAAUyihB,KAASh6e,IAG9D,GAAGhoC,EAAiB,CAChB,IAAIU,EAASD,EAAiBlB,EAAYS,GAAA,EAAwBf,KAAKw7jB,oBAAqBx7jB,KAAKk7jB,YAAal7jB,KAAKm7jB,gBACnHn7jB,KAAKsE,KAAK,CACNyD,KAAOtG,EAAOk5jB,WACdR,KAAO,CAACnsC,QAAQ,UAIpBhuhB,KAAKq7jB,YAAA,CAAa,EAQ1Br1hB,EAAc9lC,UAAU27jB,aAAe,SAAUv7jB,GAC7CN,KAAKq7jB,YAAA,EACL,IAAIt6jB,EAAkBf,KAAKo7jB,cAAgB96jB,EAAUyihB,KAASh6e,IAC1DtnC,EAASD,EAAiBlB,EAAYS,GAAA,EAAuBf,KAAKw7jB,oBAAqBx7jB,KAAKk7jB,YAAal7jB,KAAKm7jB,gBAGlH,GADAn7jB,KAAKu7jB,WAAWj3jB,KAAK7C,EAAOo5jB,WACzB95jB,EAECf,KAAKsE,KAAK,CACNyD,KAAOxE,EAAwBjD,GAC/B65jB,KAAO,CAACnsC,QAAQ,YASpB,IAJAhuhB,KAAKsE,KAAK,CACNyD,KAAOtG,EAAOk5jB,WACdR,KAAO,CAACnsC,QAAQ,KAEdhuhB,KAAKs7jB,cAAc36jB,QACrBX,KAAKsE,KAAKtE,KAAKs7jB,cAAcz1jB,SAGrC7F,KAAK07jB,YAAc,MAMvB11hB,EAAc9lC,UAAUqc,MAAQ,WAG5B,IADA,IAAIjc,EAAiBN,KAAKg7jB,aAClBj6jB,EAAI,EAAGA,EAAIf,KAAKu7jB,WAAW56jB,OAAQI,IACvCf,KAAKsE,KAAK,CACNyD,KAAO/H,KAAKu7jB,WAAWx6jB,GACvBo5jB,KAAO,CAACnsC,QAAQ,OAGxB,IAAIvshB,EAAmBzB,KAAKg7jB,aAAe16jB,EAEvCE,EApL0B,SAAUF,EAAcS,EAAkBU,EAAgBjB,EAASgE,GACjG,IACIW,EAAiB1E,EAAM65jB,YAAY,SAAU91jB,EAAehE,IAqBhE,OAlBSD,EAAUu7jB,sBAEf,WAIA5vjB,EAAS5L,EAAc,GAEvB4L,EAAS5L,EAAc,GAEvB4L,EAASnL,EAAkB,GAE3BmL,EAASzK,EAAgB,GAEzByK,EAAS/G,EAAexE,OAAQ,GAEhCwE,CAAA,CArB0B,CAoLWnF,KAAKu7jB,WAAW56jB,OAAQc,EAAkBnB,EAAgBN,KAAKi7jB,WAAYj7jB,KAAKm7jB,gBAEzHn7jB,KAAKsE,KAAK,CACNyD,KAAOvH,EACP25jB,KAAO,CAACnsC,QAAQ,QAOxBhof,EAAc9lC,UAAU67jB,kBAAoB,WACxC/7jB,KAAKkT,SAAWlT,KAAK27jB,SAAS91jB,QAC9B7F,KAAK47jB,aAAa57jB,KAAKkT,SAAS+ljB,YAC5Bj5jB,KAAKsghB,SACLtghB,KAAKkT,SAASmtgB,QAEdrghB,KAAKkT,SAASxN,QAAA,EAOtBsgC,EAAc9lC,UAAU87jB,iBAAmB,SAAU17jB,GACjDN,KAAK27jB,SAASr3jB,KAAKhE,GACnB,IAAIS,EAAOf,KAgBX,OAdAM,EAAS6nE,GAAG,QAAQ,SAAU7nE,GAC1BS,EAAKq5jB,aAAa95jB,EAAA,IAEtBA,EAAS6nE,GAAG,OAAO,WACfpnE,EAAK86jB,aAAa96jB,EAAKmS,SAAS+ljB,YAC7Bl4jB,EAAK46jB,SAASh7jB,OACbI,EAAKg7jB,oBAELh7jB,EAAKmc,KAAA,IAGb5c,EAAS6nE,GAAG,SAAS,SAAU7nE,GAC3BS,EAAKgE,MAAMzE,EAAA,IAERN,IAAA,EAMXgmC,EAAc9lC,UAAUwF,OAAS,WAC7B,QAAIlF,EAAcN,UAAUwF,OAAO9E,KAAKZ,SAInCA,KAAKkT,UAAYlT,KAAK27jB,SAASh7jB,QAChCX,KAAK+7jB,qBAAA,GAGJ/7jB,KAAKkT,UAAalT,KAAK27jB,SAASh7jB,QAAWX,KAAKi8jB,oBAAA,GACjDj8jB,KAAKkd,OAAA,GACE,EAOf8oB,EAAc9lC,UAAU6E,MAAQ,SAAUzE,GACtC,IAAIS,EAAUf,KAAK27jB,SACnB,IAAIn7jB,EAAcN,UAAU6E,MAAMnE,KAAKZ,KAAMM,GACzC,OAAO,EAEX,IAAI,IAAImB,EAAI,EAAGA,EAAIV,EAAQJ,OAAQc,IAC/B,IACIV,EAAQU,GAAGsD,MAAMzE,EAAA,CACnB,MAAMA,GAAA,CAIZ,OAAO,GAMX0lC,EAAc9lC,UAAU4P,KAAO,WAC3BtP,EAAcN,UAAU4P,KAAKlP,KAAKZ,MAElC,IADA,IAAIM,EAAUN,KAAK27jB,SACX56jB,EAAI,EAAGA,EAAIT,EAAQK,OAAQI,IAC/BT,EAAQS,GAAG+O,MAAA,EAInB/O,EAAO3C,QAAU4nC,CAAA,gHAAA1lC,EAAAS,EAAAU,GC3hBjB,aAEA,IAAIhB,EAAeH,EAAQ,mBACvBE,EAAgBF,EAAQ,mBAwB5BmB,EAAQy6jB,eAAiB,SAAU57jB,EAAKS,EAASU,GAE7C,IAAI+C,EAAgB,IAAIhE,EAAcO,EAAQq6jB,YAAa35jB,EAASV,EAAQ4nD,SAAU5nD,EAAQo6jB,gBAC1Fh2jB,EAAe,EACnB,IAEI7E,EAAI4P,SAAQ,SAAU5P,EAAcmB,GAChC0D,IACA,IAAI3E,EAxBK,SAAUF,EAAiBS,GAE5C,IAAIU,EAAkBnB,GAAmBS,EACrCP,EAAcC,EAAagB,GAC/B,IAAKjB,EACD,MAAM,IAAImI,MAAMlH,EAAkB,wCAEtC,OAAOjB,CAAA,CAPU,CAwBwBiB,EAAKuZ,QAAQ4ngB,YAAa7hhB,EAAQ6hhB,aAC/DrihB,EAAqBkB,EAAKuZ,QAAQ2+iB,oBAAsB54jB,EAAQ44jB,oBAAsB,CAAC,EACvFztjB,EAAMzK,EAAKsnC,IAAKvnC,EAAOC,EAAKw+B,KAEhCx+B,EAAK06jB,gBAAgB37jB,EAAaD,GACjC64jB,eAAe,OAAQ,CACpBryjB,KAAOzG,EACPyoC,IAAM78B,EACN+zB,KAAOz+B,EACP+e,QAAU9e,EAAK8e,SAAW,GAC1Bq5iB,gBAAkBn4jB,EAAKm4jB,gBACvBC,eAAiBp4jB,EAAKo4jB,iBAEzBh6gB,KAAKr7C,EAAA,IAEVA,EAAci3jB,aAAet2jB,CAAA,CAC/B,MAAO7E,GACLkE,EAAcO,MAAMzE,EAAA,CAGxB,OAAOkE,CAAA,gEAAAlE,EAAAS,EAAAU,GCvDX,aAMA,SAAShB,IAEL,KAAKT,gBAAgBS,GACjB,OAAO,IAAIA,EAGf,GAAGC,UAAUC,OACT,MAAM,IAAIgI,MAAM,kGAQpB3I,KAAKk7hB,MAAQ,CAAC,EAEdl7hB,KAAKugB,QAAU,KAGfvgB,KAAK6d,KAAO,GACZ7d,KAAKsxB,MAAQ,WACT,IAAIhxB,EAAS,IAAIG,EACjB,IAAK,IAAIM,KAAKf,KACa,mBAAZA,KAAKe,KACZT,EAAOS,GAAKf,KAAKe,IAGzB,OAAOT,CAAA,EAGfG,EAAMP,UAAYI,EAAQ,YAC1BG,EAAMP,UAAU+6hB,UAAY36hB,EAAQ,UACpCG,EAAMmzK,QAAUtzK,EAAQ,aACxBG,EAAMuzC,SAAW1zC,EAAQ,cAIzBG,EAAM2+C,QAAU,QAEhB3+C,EAAMw6hB,UAAY,SAAU36hB,EAASS,GACjC,OAAO,IAAIN,GAAQw6hB,UAAU36hB,EAASS,EAAA,EAG1CN,EAAM27jB,SAAW97jB,EAAQ,cACzBS,EAAO3C,QAAUqC,CAAA,iGAAAH,EAAAS,EAAAU,GCnDjB,aACA,IAAIhB,EAAQH,EAAQ,WAChBE,EAAWF,EAAQ,cACnBkE,EAAOlE,EAAQ,UAEf6E,GADA1E,EAAQH,EAAQ,WACHA,EAAQ,iBACrBC,EAAaD,EAAQ,uBACrB4L,EAAc5L,EAAQ,iBAO1B,SAASkB,EAAgBlB,GACrB,OAAO,IAAIE,EAASkC,SAAQ,SAAU3B,EAASU,GAC3C,IAAIhB,EAASH,EAAS+7jB,aAAatD,mBAAmBl5gB,KAAK,IAAIt/C,GAC/DE,EAAO0nE,GAAG,SAAS,SAAU7nE,GACzBmB,EAAOnB,EAAA,IAEV6nE,GAAG,OAAO,WACH1nE,EAAOw4jB,WAAWJ,QAAUv4jB,EAAS+7jB,aAAaxD,MAClDp3jB,EAAO,IAAIkH,MAAM,mCAEjB5H,GAAA,IAGP2E,QAAA,IAIT3E,EAAO3C,QAAU,SAASkC,EAAMS,GAC5B,IAAIU,EAAMzB,KASV,OARAe,EAAUN,EAAMm3C,OAAO72C,GAAW,CAAC,EAAG,CAClC6oD,QAAA,EACA0ygB,YAAA,EACAC,uBAAA,EACA7C,eAAA,EACA8C,eAAgBh4jB,EAAKi4jB,aAGrBvwjB,EAAYknG,QAAUlnG,EAAYkwC,SAAS97C,GACpCE,EAASkC,QAAQE,OAAO,IAAI+F,MAAM,yDAGtClI,EAAMi8jB,eAAe,sBAAuBp8jB,GAAA,EAAYS,EAAQw7jB,sBAAuBx7jB,EAAQ6oD,QACrGxmD,MAAK,SAAS9C,GACX,IAAImB,EAAa,IAAI0D,EAAWpE,GAEhC,OADAU,EAAWk1F,KAAKr2F,GACTmB,CAAA,IACR2B,MAAK,SAAoB9C,GACxB,IAAImB,EAAW,CAACjB,EAASkC,QAAQC,QAAQrC,IACrCG,EAAQH,EAAW46hB,MACvB,GAAIn6hB,EAAQu7jB,WACR,IAAK,IAAI93jB,EAAI,EAAGA,EAAI/D,EAAME,OAAQ6D,IAC9B/C,EAAS6C,KAAK9C,EAAgBf,EAAM+D,KAG5C,OAAOhE,EAASkC,QAAQu1C,IAAIx2C,EAAA,IAC7B2B,MAAK,SAAkB9C,GAGtB,IAFA,IAAIG,EAAaH,EAAQuF,QACrBrF,EAAQC,EAAWy6hB,MACd12hB,EAAI,EAAGA,EAAIhE,EAAMG,OAAQ6D,IAAK,CACnC,IAAIW,EAAQ3E,EAAMgE,GAClB/C,EAAIshhB,KAAK59gB,EAAMw3jB,YAAax3jB,EAAMk3jB,aAAc,CAC5C/T,QAAA,EACAiU,uBAAA,EACAt8hB,KAAM96B,EAAM86B,KACZ8I,IAAK5jC,EAAM4jC,IACXxoB,QAAUpb,EAAMy3jB,eAAej8jB,OAASwE,EAAMy3jB,eAAiB,KAC/DhD,gBAAkBz0jB,EAAMy0jB,gBACxBC,eAAiB10jB,EAAM00jB,eACvBH,cAAe34jB,EAAQ24jB,eAAA,CAO/B,OAJIj5jB,EAAWw6jB,WAAWt6jB,SACtBc,EAAI8e,QAAU9f,EAAWw6jB,YAGtBx5jB,CAAA,oIAAAnB,EAAAS,EAAAU,GC/Ef,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAAgBF,EAAQ,2BAQ5B,SAASkE,EAAyBlE,EAAUS,GACxCP,EAAcI,KAAKZ,KAAM,mCAAqCM,GAC9DN,KAAK68jB,gBAAA,EACL78jB,KAAK88jB,YAAY/7jB,EAAA,CAGrBN,EAAMg/gB,SAASj7gB,EAA0BhE,GAOzCgE,EAAyBtE,UAAU48jB,YAAc,SAAUx8jB,GACvD,IAAIS,EAAOf,KACXA,KAAK+8jB,QAAUz8jB,EACfA,EAAO+/gB,QACP//gB,EACC6nE,GAAG,QAAQ,SAAU7nE,GAClBS,EAAKuD,KAAK,CACNyD,KAAMzH,EACN65jB,KAAO,CACHnsC,QAAU,QAIrB7ld,GAAG,SAAS,SAAU7nE,GAChBS,EAAKu/gB,SACJtghB,KAAKi8jB,eAAiB37jB,EAEtBS,EAAKgE,MAAMzE,EAAA,IAGlB6nE,GAAG,OAAO,WACJpnE,EAAKu/gB,SACJv/gB,EAAK87jB,gBAAA,EAEL97jB,EAAKmc,KAAA,KAIjB1Y,EAAyBtE,UAAUmghB,MAAQ,WACvC,QAAI7/gB,EAAcN,UAAUmghB,MAAMz/gB,KAAKZ,QAGvCA,KAAK+8jB,QAAQ18C,SAAA,EACN,EAEX77gB,EAAyBtE,UAAUwF,OAAS,WACxC,QAAIlF,EAAcN,UAAUwF,OAAO9E,KAAKZ,QAIrCA,KAAK68jB,eACJ78jB,KAAKkd,MAELld,KAAK+8jB,QAAQr3jB,UAAA,EAGV,EAGX3E,EAAO3C,QAAUoG,CAAA,gEAAAlE,EAAAS,EAAAU,GCzEjB,aAEA,IAAIhB,EAAWH,EAAQ,mBAAmBiiiB,SAa1C,SAAS/hiB,EAA0BF,EAAQS,EAASU,GAChDhB,EAASG,KAAKZ,KAAMe,GACpBf,KAAKg9jB,QAAU18jB,EAEf,IAAIE,EAAOR,KACXM,EAAO6nE,GAAG,QAAQ,SAAU7nE,EAAMS,GACzBP,EAAK8D,KAAKhE,IACXE,EAAKw8jB,QAAQ38C,QAEd5+gB,GACCA,EAASV,EAAA,IAGhBonE,GAAG,SAAS,SAAS7nE,GAClBE,EAAK2sgB,KAAK,QAAS7sgB,EAAA,IAEtB6nE,GAAG,OAAO,WACP3nE,EAAK8D,KAAK,SA5BNhE,EAAQ,YACdm/gB,SAASj/gB,EAA2BC,GAgC1CD,EAA0BN,UAAU+8jB,MAAQ,WACxCj9jB,KAAKg9jB,QAAQt3jB,QAAA,EAGjB3E,EAAO3C,QAAUoC,CAAA,wDAAAF,EAAAS,EAAAU,IAAA,SAAAnB,GCzCjB,aAEAS,EAAO3C,QAAU,CAMbg1G,YAAA,IAAgB9yG,EAOhB48jB,cAAe,SAASn8jB,EAAMU,GAC1B,GAAInB,EAAOgK,MAAQhK,EAAOgK,OAASpD,WAAWoD,KAC1C,OAAOhK,EAAOgK,KAAKvJ,EAAMU,GAEzB,GAAoB,iBAATV,EAGP,MAAM,IAAI4H,MAAM,4CAEpB,OAAO,IAAIrI,EAAOS,EAAMU,EAAA,EAQhC07jB,YAAa,SAAUp8jB,GACnB,GAAIT,EAAO+d,MACP,OAAO/d,EAAO+d,MAAMtd,GAEpB,IAAIU,EAAM,IAAInB,EAAOS,GAErB,OADAU,EAAIw3B,KAAK,GACFx3B,CAAA,EAQf06C,SAAW,SAASp7C,GAChB,OAAOT,EAAO67C,SAASp7C,EAAA,EAG3Bq7C,SAAW,SAAU97C,GACjB,OAAOA,GACe,mBAAXA,EAAI6nE,IACU,mBAAd7nE,EAAI+/gB,OACW,mBAAf//gB,EAAIoF,MAAA,KAAA9E,KAAA,KAAAN,EAAA,UAAAoN,OAAA,GAAAjE,OAAA,oBAAAnJ,EAAAS,EAAAU,GCtDvB,aACA,IAAIhB,EAAOH,EAAQ,UACfE,EAAQF,EAAQ,WAChBkE,EAAgBlE,EAAQ,0BACxB6E,EAAe7E,EAAQ,yBACvBC,EAAWD,EAAQ,cACnB4L,EAAmB5L,EAAQ,sBAC3BkB,EAAYlB,EAAQ,eACpBiD,EAAWjD,EAAQ,cACnB0lC,EAAc1lC,EAAQ,iBACtBqoB,EAA2BroB,EAAQ,qCAWnChB,EAAU,SAASgB,EAAMS,EAAMU,GAE/B,IACIhB,EADA0E,EAAW3E,EAAMi4jB,UAAU13jB,GAQ3BwC,EAAI/C,EAAMo3C,OAAOn2C,GAAmB,CAAC,EAAGlB,GAC5CgD,EAAE08B,KAAO18B,EAAE08B,MAAQ,IAAI6d,KACD,OAAlBv6C,EAAEq/gB,cACFr/gB,EAAEq/gB,YAAcr/gB,EAAEq/gB,YAAYhxe,eAGD,iBAAtBruC,EAAEq2jB,kBACTr2jB,EAAEq2jB,gBAAkBr0hB,SAAShiC,EAAEq2jB,gBAAiB,IAIhDr2jB,EAAEq2jB,iBAAwC,MAApBr2jB,EAAEq2jB,kBACxBr2jB,EAAEwlC,KAAA,GAGFxlC,EAAEs2jB,gBAAsC,GAAnBt2jB,EAAEs2jB,iBACvBt2jB,EAAEwlC,KAAA,GAGFxlC,EAAEwlC,MACFzoC,EAAOmE,EAAmBnE,IAE1BiD,EAAEm2jB,gBAAkBj5jB,EAASb,EAAaU,KAC1CkD,EAAU5C,KAAKZ,KAAMS,GAAA,GAGzB,IAAInB,EAA+B,WAAb6F,IAAA,IAAyB5B,EAAE+kjB,SAAA,IAAoB/kjB,EAAEqmD,OAClEnoD,QAAA,IAA0BA,EAAgB6mjB,SAC3C/kjB,EAAE+kjB,QAAUhpjB,IAISyB,aAAgBmL,GAA+C,IAA1BnL,EAAK63jB,kBAE1Cr1jB,EAAEwlC,MAAQhoC,GAAwB,IAAhBA,EAAKJ,UAC5C4C,EAAEqmD,QAAA,EACFrmD,EAAE+kjB,QAAA,EACFvnjB,EAAO,GACPwC,EAAEq/gB,YAAc,QAChBz9gB,EAAW,UAOf,IAAI5F,EAAmB,KAEnBA,EADAwB,aAAgBmL,GAAoBnL,aAAgByD,EACjCzD,EACZilC,EAAYotE,QAAUptE,EAAYoW,SAASr7C,GAC/B,IAAI4nB,EAAyBroB,EAAMS,GAEnCP,EAAMk8jB,eAAep8jB,EAAMS,EAAMwC,EAAE+kjB,OAAQ/kjB,EAAEg5jB,sBAAuBh5jB,EAAEqmD,QAG7F,IAAI1lD,EAAS,IAAI1C,EAAUlB,EAAMf,EAAkBgE,GACnDvD,KAAKk7hB,MAAM56hB,GAAQ4D,CAAA,EAqBnBtE,EAAe,SAAUU,GACF,MAAnBA,EAAK6c,OAAO,KACZ7c,EAAOA,EAAKolC,UAAU,EAAGplC,EAAKK,OAAS,IAE3C,IAAII,EAAYT,EAAKmrD,YAAY,KACjC,OAAQ1qD,EAAY,EAAKT,EAAKolC,UAAU,EAAG3kC,GAAa,IASxD0D,EAAqB,SAASnE,GAK9B,MAHuB,MAAnBA,EAAK6c,OAAO,KACZ7c,GAAQ,KAELA,CAAA,EAWPkD,EAAY,SAASlD,EAAMS,GAY3B,OAXAA,OAAA,IAAwBA,EAAiCA,EAAgBR,EAASm5jB,cAElFp5jB,EAAOmE,EAAmBnE,GAGrBN,KAAKk7hB,MAAM56hB,IACZhB,EAAQsB,KAAKZ,KAAMM,EAAM,KAAM,CAC3ByoC,KAAA,EACA2whB,cAAe34jB,IAGhBf,KAAKk7hB,MAAM56hB,EAAA,EAStB,SAASf,EAASe,GACd,MAAkD,oBAA3Cd,OAAOU,UAAUsP,SAAS5O,KAAKN,EAAA,CAI1C,IAAI4D,EAAM,CAINyyF,KAAM,WACF,MAAM,IAAIhuF,MAAM,+EAUpBuH,QAAS,SAAS5P,GACd,IAAIS,EAAUU,EAAchB,EAC5B,IAAKM,KAAYf,KAAKk7hB,MACbl7hB,KAAKk7hB,MAAMr7hB,eAAekB,KAG/BN,EAAOT,KAAKk7hB,MAAMn6hB,IAClBU,EAAeV,EAASoc,MAAMnd,KAAK6d,KAAKld,OAAQI,EAASJ,UACrCI,EAASoc,MAAM,EAAGnd,KAAK6d,KAAKld,UAAYX,KAAK6d,MAC7Dvd,EAAGmB,EAAchB,GAAA,EAY7BuS,OAAQ,SAAS1S,GACb,IAAIS,EAAS,GAOb,OANAf,KAAKkQ,SAAQ,SAAUzO,EAAchB,GAC7BH,EAAOmB,EAAchB,IACrBM,EAAOuD,KAAK7D,EAAA,IAIbM,CAAA,EAYXgihB,KAAM,SAASzihB,EAAMS,EAAMU,GACvB,GAAyB,IAArBf,UAAUC,OAAc,CACxB,GAAIpB,EAASe,GAAO,CAChB,IAAIG,EAASH,EACb,OAAON,KAAKgT,QAAO,SAAS1S,EAAcS,GACtC,OAAQA,EAAKgoC,KAAOtoC,EAAOkhC,KAAKrhC,EAAA,IAIpC,IAAIE,EAAMR,KAAKk7hB,MAAMl7hB,KAAK6d,KAAOvd,GACjC,OAAIE,IAAQA,EAAIuoC,IACLvoC,EAEA,KAQnB,OAHIF,EAAON,KAAK6d,KAAOvd,EACnBhB,EAAQsB,KAAKZ,KAAMM,EAAMS,EAAMU,GAE5BzB,IAAA,EAQXo9jB,OAAQ,SAAS98jB,GACb,IAAKA,EACD,OAAON,KAGX,GAAIT,EAASe,GACT,OAAON,KAAKgT,QAAO,SAASjS,EAAcU,GACtC,OAAOA,EAAKsnC,KAAOzoC,EAAIqhC,KAAK5gC,EAAA,IAKpC,IAAIA,EAAOf,KAAK6d,KAAOvd,EACnBmB,EAAY+B,EAAU5C,KAAKZ,KAAMe,GAGjCN,EAAMT,KAAKsxB,QAEf,OADA7wB,EAAIod,KAAOpc,EAAUsF,KACdtG,CAAA,EAQXsT,OAAQ,SAASzT,GACbA,EAAON,KAAK6d,KAAOvd,EACnB,IAAIS,EAAOf,KAAKk7hB,MAAM56hB,GAStB,GARKS,IAEsB,MAAnBT,EAAK6c,OAAO,KACZ7c,GAAQ,KAEZS,EAAOf,KAAKk7hB,MAAM56hB,IAGlBS,IAASA,EAAKgoC,WAEP/oC,KAAKk7hB,MAAM56hB,QAMlB,IAHA,IAAImB,EAAOzB,KAAKgT,QAAO,SAASjS,EAAcU,GAC1C,OAAOA,EAAKsF,KAAKoW,MAAM,EAAG7c,EAAKK,UAAYL,CAAA,IAEtCG,EAAI,EAAGA,EAAIgB,EAAKd,OAAQF,WACtBT,KAAKk7hB,MAAMz5hB,EAAKhB,GAAGsG,MAIlC,OAAO/G,IAAA,EAUXyxC,SAAU,SAASnxC,GACf,MAAM,IAAIqI,MAAM,+EAUpB00jB,uBAAwB,SAAS/8jB,GAC/B,IAAIS,EAAQU,EAAO,CAAC,EACpB,IAoBI,IAnBAA,EAAOjB,EAAMo3C,OAAOt3C,GAAW,CAAC,EAAG,CAC/B86jB,aAAA,EACAx4C,YAAa,QACb+2C,mBAAqB,KACrBnijB,KAAM,GACNmxC,SAAU,MACVpoC,QAAS,KACT+8iB,SAAU,kBACVnC,eAAgB16jB,EAAKi6jB,cAGpBljjB,KAAO/V,EAAK+V,KAAK8C,cACtB7Y,EAAKmhhB,YAAcnhhB,EAAKmhhB,YAAYhxe,cAGnB,iBAAdnwC,EAAK+V,OACN/V,EAAK+V,KAAO,WAGT/V,EAAK+V,KACR,MAAM,IAAI7O,MAAM,6BAGlBnI,EAAM+8jB,aAAa97jB,EAAK+V,MAIF,WAAlB/V,EAAKknD,UACa,YAAlBlnD,EAAKknD,UACa,UAAlBlnD,EAAKknD,UACa,UAAlBlnD,EAAKknD,WAELlnD,EAAKknD,SAAW,QAEE,UAAlBlnD,EAAKknD,WACLlnD,EAAKknD,SAAW,OAGpB,IAAIpoD,EAAUkB,EAAK8e,SAAWvgB,KAAKugB,SAAW,GAC9Cxf,EAASwC,EAAS24jB,eAAel8jB,KAAMyB,EAAMlB,EAAA,CAC/C,MAAOD,IACPS,EAAS,IAAIyD,EAAc,UACpBO,MAAMzE,EAAA,CAEf,OAAO,IAAI6E,EAAapE,EAAQU,EAAK+V,MAAQ,SAAU/V,EAAK67jB,SAAA,EAM9Dt6C,cAAe,SAAS1ihB,EAASS,GAC7B,OAAOf,KAAKq9jB,uBAAuB/8jB,GAAS+6jB,WAAWt6jB,EAAA,EAM3Dy8jB,mBAAoB,SAASl9jB,EAASS,GAKlC,OAJAT,EAAUA,GAAW,CAAC,GACTkX,OACTlX,EAAQkX,KAAO,cAEZxX,KAAKq9jB,uBAAuB/8jB,GAASm9jB,eAAe18jB,EAAA,GAGnEA,EAAO3C,QAAU8F,CAAA,gPAAA5D,EAAAS,EAAAU,GAAA,aC5XjBV,EAAO3C,QAAUkC,EAAQ,YAAAwihB,OAAA,oBAAAxihB,EAAAS,EAAAU,GCRzB,aACA,IAAIhB,EAAaH,EAAQ,gBAGzB,SAASE,EAAYF,GACjBG,EAAWG,KAAKZ,KAAMM,GACzB,IAAI,IAAIS,EAAI,EAAGA,EAAIf,KAAK+H,KAAKpH,OAAQI,IACpCT,EAAKS,GAAe,IAAVT,EAAKS,EAAA,CALLT,EAAQ,YAQdm/gB,SAASj/gB,EAAaC,GAI5BD,EAAYN,UAAUw9jB,OAAS,SAASp9jB,GACpC,OAAON,KAAK+H,KAAK/H,KAAKmphB,KAAO7ohB,EAAA,EAKjCE,EAAYN,UAAUy9jB,qBAAuB,SAASr9jB,GAKlD,IAJA,IAAIS,EAAOT,EAAIoO,WAAW,GACtBjN,EAAOnB,EAAIoO,WAAW,GACtBjO,EAAOH,EAAIoO,WAAW,GACtBlO,EAAOF,EAAIoO,WAAW,GACjBlK,EAAIxE,KAAKW,OAAS,EAAG6D,GAAK,IAAKA,EACpC,GAAIxE,KAAK+H,KAAKvD,KAAOzD,GAAQf,KAAK+H,KAAKvD,EAAI,KAAO/C,GAAQzB,KAAK+H,KAAKvD,EAAI,KAAO/D,GAAQT,KAAK+H,KAAKvD,EAAI,KAAOhE,EACxG,OAAOgE,EAAIxE,KAAKmphB,KAIxB,OAAQ,GAKZ3ohB,EAAYN,UAAU09jB,sBAAwB,SAAUt9jB,GACpD,IAAIS,EAAOT,EAAIoO,WAAW,GACtBjN,EAAOnB,EAAIoO,WAAW,GACtBjO,EAAOH,EAAIoO,WAAW,GACtBlO,EAAOF,EAAIoO,WAAW,GACtBlK,EAAOxE,KAAK69jB,SAAS,GACzB,OAAO98jB,IAASyD,EAAK,IAAM/C,IAAS+C,EAAK,IAAM/D,IAAS+D,EAAK,IAAMhE,IAASgE,EAAK,IAKrFhE,EAAYN,UAAU29jB,SAAW,SAASv9jB,GAEtC,GADAN,KAAKqvD,YAAY/uD,GACL,IAATA,EACC,MAAO,GAEX,IAAIS,EAASf,KAAK+H,KAAKoV,MAAMnd,KAAKmphB,KAAOnphB,KAAK+c,MAAO/c,KAAKmphB,KAAOnphB,KAAK+c,MAAQzc,GAE9E,OADAN,KAAK+c,OAASzc,EACPS,CAAA,EAEXA,EAAO3C,QAAUoC,CAAA,qDAAAF,EAAAS,EAAAU,GCxDjB,aACA,IAAIhB,EAAQH,EAAQ,YAEpB,SAASE,EAAWF,GAChBN,KAAK+H,KAAOzH,EACZN,KAAKW,OAASL,EAAKK,OACnBX,KAAK+c,MAAQ,EACb/c,KAAKmphB,KAAO,EAEhB3ohB,EAAWN,UAAY,CAMnBmvD,YAAa,SAAS/uD,GAClBN,KAAK89jB,WAAW99jB,KAAK+c,MAAQzc,EAAA,EAOjCw9jB,WAAY,SAASx9jB,GACjB,GAAIN,KAAKW,OAASX,KAAKmphB,KAAO7ohB,GAAYA,EAAW,EACjD,MAAM,IAAIqI,MAAM,sCAAwC3I,KAAKW,OAAS,mBAAsBL,EAAY,uBAQhHy9jB,SAAU,SAASz9jB,GACfN,KAAK89jB,WAAWx9jB,GAChBN,KAAK+c,MAAQzc,CAAA,EAOjBk2F,KAAM,SAASl2F,GACXN,KAAK+9jB,SAAS/9jB,KAAK+c,MAAQzc,EAAA,EAO/Bo9jB,OAAQ,SAASp9jB,GAAA,EAQjB09jB,QAAS,SAAS19jB,GACd,IACIS,EADAU,EAAS,EAGb,IADAzB,KAAKqvD,YAAY/uD,GACZS,EAAIf,KAAK+c,MAAQzc,EAAO,EAAGS,GAAKf,KAAK+c,MAAOhc,IAC7CU,GAAUA,GAAU,GAAKzB,KAAK09jB,OAAO38jB,GAGzC,OADAf,KAAK+c,OAASzc,EACPmB,CAAA,EAOXw8jB,WAAY,SAAS39jB,GACjB,OAAOG,EAAM65jB,YAAY,SAAUt6jB,KAAK69jB,SAASv9jB,GAAA,EAOrDu9jB,SAAU,SAASv9jB,GAAA,EAQnBq9jB,qBAAsB,SAASr9jB,GAAA,EAQ/Bs9jB,sBAAuB,SAASt9jB,GAAA,EAOhC49jB,SAAU,WACN,IAAI59jB,EAAUN,KAAKg+jB,QAAQ,GAC3B,OAAO,IAAIlghB,KAAKA,KAAK8+E,IACM,MAAzBt8H,GAAW,GAAM,MACjBA,GAAW,GAAM,IAAQ,EAC1BA,GAAW,GAAM,GACjBA,GAAW,GAAM,GACjBA,GAAW,EAAK,IACN,GAAVA,IAAmB,MAG5BS,EAAO3C,QAAUoC,CAAA,kCAAAF,EAAAS,EAAAU,GCnHjB,aACA,IAAIhB,EAAmBH,EAAQ,sBAG/B,SAASE,EAAiBF,GACtBG,EAAiBG,KAAKZ,KAAMM,EAAA,CAHpBA,EAAQ,YAKdm/gB,SAASj/gB,EAAkBC,GAKjCD,EAAiBN,UAAU29jB,SAAW,SAASv9jB,GAC3CN,KAAKqvD,YAAY/uD,GACjB,IAAIS,EAASf,KAAK+H,KAAKoV,MAAMnd,KAAKmphB,KAAOnphB,KAAK+c,MAAO/c,KAAKmphB,KAAOnphB,KAAK+c,MAAQzc,GAE9E,OADAN,KAAK+c,OAASzc,EACPS,CAAA,EAEXA,EAAO3C,QAAUoC,CAAA,2DAAAF,EAAAS,EAAAU,GClBjB,aACA,IAAIhB,EAAaH,EAAQ,gBAGzB,SAASE,EAAaF,GAClBG,EAAWG,KAAKZ,KAAMM,EAAA,CAHdA,EAAQ,YAKdm/gB,SAASj/gB,EAAcC,GAI7BD,EAAaN,UAAUw9jB,OAAS,SAASp9jB,GACrC,OAAON,KAAK+H,KAAK2G,WAAW1O,KAAKmphB,KAAO7ohB,EAAA,EAK5CE,EAAaN,UAAUy9jB,qBAAuB,SAASr9jB,GACnD,OAAON,KAAK+H,KAAK0jD,YAAYnrD,GAAON,KAAKmphB,IAAA,EAK7C3ohB,EAAaN,UAAU09jB,sBAAwB,SAAUt9jB,GAErD,OAAOA,IADIN,KAAK69jB,SAAS,IAM7Br9jB,EAAaN,UAAU29jB,SAAW,SAASv9jB,GACvCN,KAAKqvD,YAAY/uD,GAEjB,IAAIS,EAASf,KAAK+H,KAAKoV,MAAMnd,KAAKmphB,KAAOnphB,KAAK+c,MAAO/c,KAAKmphB,KAAOnphB,KAAK+c,MAAQzc,GAE9E,OADAN,KAAK+c,OAASzc,EACPS,CAAA,EAEXA,EAAO3C,QAAUoC,CAAA,qDAAAF,EAAAS,EAAAU,GCrCjB,aACA,IAAIhB,EAAcH,EAAQ,iBAG1B,SAASE,EAAiBF,GACtBG,EAAYG,KAAKZ,KAAMM,EAAA,CAHfA,EAAQ,YAKdm/gB,SAASj/gB,EAAkBC,GAIjCD,EAAiBN,UAAU29jB,SAAW,SAASv9jB,GAE3C,GADAN,KAAKqvD,YAAY/uD,GACL,IAATA,EAEC,OAAO,IAAI4G,WAAW,GAE1B,IAAInG,EAASf,KAAK+H,KAAK8lD,SAAS7tD,KAAKmphB,KAAOnphB,KAAK+c,MAAO/c,KAAKmphB,KAAOnphB,KAAK+c,MAAQzc,GAEjF,OADAN,KAAK+c,OAASzc,EACPS,CAAA,EAEXA,EAAO3C,QAAUoC,CAAA,sDAAAF,EAAAS,EAAAU,GCrBjB,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAAUF,EAAQ,cAClBkE,EAAclE,EAAQ,iBACtB6E,EAAe7E,EAAQ,kBACvBC,EAAmBD,EAAQ,sBAC3B4L,EAAmB5L,EAAQ,sBAO/BS,EAAO3C,QAAU,SAAUkC,GACvB,IAAIS,EAAON,EAAMg4jB,UAAUn4jB,GAE3B,OADAG,EAAM88jB,aAAax8jB,GACN,WAATA,GAAsBP,EAAQk4jB,WAGrB,eAAT33jB,EACO,IAAIR,EAAiBD,GAE5BE,EAAQk4jB,WACD,IAAIxsjB,EAAiBzL,EAAM65jB,YAAY,aAAch6jB,IAEzD,IAAIkE,EAAY/D,EAAM65jB,YAAY,QAASh6jB,IARvC,IAAI6E,EAAa7E,EAAA,+IAAAA,EAAAS,EAAAU,GClBhC,aACAA,EAAQm5jB,kBAAoB,aAC5Bn5jB,EAAQq5jB,oBAAsB,aAC9Br5jB,EAAQq6jB,sBAAwB,aAChCr6jB,EAAQ08jB,gCAAkC,aAC1C18jB,EAAQ28jB,4BAA8B,aACtC38jB,EAAQs5jB,gBAAkB,8BAAAz6jB,EAAAS,EAAAU,GCN1B,aAEA,IAAIhB,EAAgBH,EAAQ,mBACxBE,EAAQF,EAAQ,YAOpB,SAASkE,EAAclE,GACnBG,EAAcG,KAAKZ,KAAM,oBAAsBM,GAC/CN,KAAKq+jB,SAAW/9jB,CAAA,CAEpBE,EAAMi/gB,SAASj7gB,EAAe/D,GAK9B+D,EAActE,UAAUk6jB,aAAe,SAAU95jB,GAC7CN,KAAKsE,KAAK,CACNyD,KAAOvH,EAAM85jB,YAAYt6jB,KAAKq+jB,SAAU/9jB,EAAMyH,MAC9CoyjB,KAAO75jB,EAAM65jB,MAAA,EAGrBp5jB,EAAO3C,QAAUoG,CAAA,wDAAAlE,EAAAS,EAAAU,GCzBjB,aAEA,IAAIhB,EAAgBH,EAAQ,mBACxBE,EAAQF,EAAQ,YAOpB,SAASkE,IACL/D,EAAcG,KAAKZ,KAAM,cACzBA,KAAKo5jB,eAAe,QAAS,GARrB94jB,EAAQ,YAUdm/gB,SAASj7gB,EAAY/D,GAK3B+D,EAAWtE,UAAUk6jB,aAAe,SAAU95jB,GAC1CN,KAAKi5jB,WAAWJ,MAAQr4jB,EAAMF,EAAMyH,KAAM/H,KAAKi5jB,WAAWJ,OAAS,GACnE74jB,KAAKsE,KAAKhE,EAAA,EAEdS,EAAO3C,QAAUoG,CAAA,uEAAAlE,EAAAS,EAAAU,GCvBjB,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAAgBF,EAAQ,mBAO5B,SAASkE,EAAgBlE,GACrBE,EAAcI,KAAKZ,KAAM,uBAAyBM,GAClDN,KAAKs+B,SAAWh+B,EAChBN,KAAKo5jB,eAAe94jB,EAAU,GAElCG,EAAMg/gB,SAASj7gB,EAAiBhE,GAKhCgE,EAAgBtE,UAAUk6jB,aAAe,SAAU95jB,GAC/C,GAAGA,EAAO,CACN,IAAIS,EAASf,KAAKi5jB,WAAWj5jB,KAAKs+B,WAAa,EAC/Ct+B,KAAKi5jB,WAAWj5jB,KAAKs+B,UAAYv9B,EAAST,EAAMyH,KAAKpH,MAAA,CAEzDH,EAAcN,UAAUk6jB,aAAax5jB,KAAKZ,KAAMM,EAAA,EAEpDS,EAAO3C,QAAUoG,CAAA,wDAAAlE,EAAAS,EAAAU,GC3BjB,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAAgBF,EAAQ,mBAW5B,SAASkE,EAAWlE,GAChBE,EAAcI,KAAKZ,KAAM,cACzB,IAAIe,EAAOf,KACXA,KAAKs+jB,aAAA,EACLt+jB,KAAK+c,MAAQ,EACb/c,KAAKilC,IAAM,EACXjlC,KAAK+H,KAAO,KACZ/H,KAAKwX,KAAO,GAEZxX,KAAKu+jB,gBAAA,EAELj+jB,EAAM8C,MAAK,SAAU9C,GACjBS,EAAKu9jB,aAAA,EACLv9jB,EAAKgH,KAAOzH,EACZS,EAAKkkC,IAAM3kC,GAAQA,EAAKK,QAAU,EAClCI,EAAKyW,KAAO/W,EAAMg4jB,UAAUn4jB,GACxBS,EAAKu/gB,UACLv/gB,EAAKy9jB,gBAAA,IAEV,SAAUl+jB,GACTS,EAAKgE,MAAMzE,EAAA,IAInBG,EAAMg/gB,SAASj7gB,EAAYhE,GAK3BgE,EAAWtE,UAAUq6jB,QAAU,WAC3B/5jB,EAAcN,UAAUq6jB,QAAQ35jB,KAAKZ,MACrCA,KAAK+H,KAAO,MAMhBvD,EAAWtE,UAAUwF,OAAS,WAC1B,QAAIlF,EAAcN,UAAUwF,OAAO9E,KAAKZ,SAInCA,KAAKu+jB,gBAAkBv+jB,KAAKs+jB,cAC7Bt+jB,KAAKu+jB,gBAAA,EACL99jB,EAAM0yB,MAAMnzB,KAAKw+jB,eAAgB,GAAIx+jB,QAAA,EAElC,EAMXwE,EAAWtE,UAAUs+jB,eAAiB,WAClCx+jB,KAAKu+jB,gBAAA,EACFv+jB,KAAKsghB,UAAYtghB,KAAKy+jB,aAGzBz+jB,KAAK0+jB,QACD1+jB,KAAKy+jB,aACLh+jB,EAAM0yB,MAAMnzB,KAAKw+jB,eAAgB,GAAIx+jB,MACrCA,KAAKu+jB,gBAAA,GAAiB,EAO9B/5jB,EAAWtE,UAAUw+jB,MAAQ,WAEzB,GAAG1+jB,KAAKsghB,UAAYtghB,KAAKy+jB,WACrB,OAAO,EAGX,IACIn+jB,EAAO,KAAMS,EAAYuK,KAAK05B,IAAIhlC,KAAKilC,IAAKjlC,KAAK+c,MAjFhC,OAkFrB,GAAI/c,KAAK+c,OAAS/c,KAAKilC,IAEnB,OAAOjlC,KAAKkd,MAEZ,OAAOld,KAAKwX,MACR,IAAK,SACDlX,EAAON,KAAK+H,KAAK29B,UAAU1lC,KAAK+c,MAAOhc,GAC3C,MACA,IAAK,aACDT,EAAON,KAAK+H,KAAK8lD,SAAS7tD,KAAK+c,MAAOhc,GAC1C,MACA,IAAK,QACL,IAAK,aACDT,EAAON,KAAK+H,KAAKoV,MAAMnd,KAAK+c,MAAOhc,GAI3C,OADAf,KAAK+c,MAAQhc,EACNf,KAAKsE,KAAK,CACbyD,KAAOzH,EACP65jB,KAAO,CACHnsC,QAAUhuhB,KAAKilC,IAAMjlC,KAAK+c,MAAQ/c,KAAKilC,IAAM,IAAM,MAMnElkC,EAAO3C,QAAUoG,CAAA,wDAAAlE,EAAAS,EAAAU,GCnHjB,aAgBA,SAAShB,EAAcH,GAEnBN,KAAK+G,KAAOzG,GAAQ,UAEpBN,KAAKi5jB,WAAa,CAAC,EAEnBj5jB,KAAKi8jB,eAAiB,KAEtBj8jB,KAAK2+jB,gBAAkB,CAAC,EAExB3+jB,KAAKsghB,UAAA,EAELtghB,KAAKy+jB,YAAA,EAELz+jB,KAAK4+jB,UAAA,EAEL5+jB,KAAKy4C,WAAa,CACd1wC,KAAO,GACPmV,IAAM,GACNnY,MAAQ,IAGZ/E,KAAKkT,SAAW,KAGpBzS,EAAcP,UAAY,CAKtBoE,KAAO,SAAUhE,GACbN,KAAKmtgB,KAAK,OAAQ7sgB,EAAA,EAMtB4c,IAAM,WACF,GAAIld,KAAKy+jB,WACL,OAAO,EAGXz+jB,KAAKuc,QACL,IACIvc,KAAKmtgB,KAAK,OACVntgB,KAAKu6jB,UACLv6jB,KAAKy+jB,YAAA,CAAa,CACpB,MAAOn+jB,GACLN,KAAKmtgB,KAAK,QAAS7sgB,EAAA,CAEvB,OAAO,GAOXyE,MAAQ,SAAUzE,GACd,OAAIN,KAAKy+jB,aAINz+jB,KAAKsghB,SACJtghB,KAAKi8jB,eAAiB37jB,GAEtBN,KAAKy+jB,YAAA,EAELz+jB,KAAKmtgB,KAAK,QAAS7sgB,GAKhBN,KAAKkT,UACJlT,KAAKkT,SAASnO,MAAMzE,GAGxBN,KAAKu6jB,YAAA,EAEF,EAQXpyf,GAAK,SAAU7nE,EAAMS,GAEjB,OADAf,KAAKy4C,WAAWn4C,GAAMgE,KAAKvD,GACpBf,IAAA,EAKXu6jB,QAAU,WACNv6jB,KAAKi5jB,WAAaj5jB,KAAKi8jB,eAAiBj8jB,KAAK2+jB,gBAAkB,KAC/D3+jB,KAAKy4C,WAAa,IAOtB00d,KAAO,SAAU7sgB,EAAMS,GACnB,GAAIf,KAAKy4C,WAAWn4C,GAChB,IAAI,IAAImB,EAAI,EAAGA,EAAIzB,KAAKy4C,WAAWn4C,GAAMK,OAAQc,IAC7CzB,KAAKy4C,WAAWn4C,GAAMmB,GAAGb,KAAKZ,KAAMe,EAAA,EAShD8+C,KAAO,SAAUv/C,GACb,OAAOA,EAAK07jB,iBAAiBh8jB,KAAA,EAUjCg8jB,iBAAmB,SAAU17jB,GACzB,GAAIN,KAAK4+jB,SACL,MAAM,IAAIj2jB,MAAM,eAAiB3I,KAAO,4BAI5CA,KAAKi5jB,WAAa34jB,EAAS24jB,WAE3Bj5jB,KAAK6+jB,kBACL7+jB,KAAKkT,SAAY5S,EACjB,IAAIS,EAAOf,KAUX,OATAM,EAAS6nE,GAAG,QAAQ,SAAU7nE,GAC1BS,EAAKq5jB,aAAa95jB,EAAA,IAEtBA,EAAS6nE,GAAG,OAAO,WACfpnE,EAAKmc,KAAA,IAET5c,EAAS6nE,GAAG,SAAS,SAAU7nE,GAC3BS,EAAKgE,MAAMzE,EAAA,IAERN,IAAA,EAMXqghB,MAAQ,WACJ,OAAGrghB,KAAKsghB,WAAYtghB,KAAKy+jB,aAGzBz+jB,KAAKsghB,UAAA,EAEFtghB,KAAKkT,UACJlT,KAAKkT,SAASmtgB,SAAA,EAEX,EAMX36gB,OAAS,WACL,IAAI1F,KAAKsghB,UAAYtghB,KAAKy+jB,WACtB,OAAO,EAEXz+jB,KAAKsghB,UAAA,EAGL,IAAIhghB,GAAA,EASJ,OARGN,KAAKi8jB,iBACJj8jB,KAAK+E,MAAM/E,KAAKi8jB,gBAChB37jB,GAAA,GAEDN,KAAKkT,UACJlT,KAAKkT,SAASxN,UAGVpF,CAAA,EAKZic,MAAQ,aAKR69iB,aAAe,SAAS95jB,GACpBN,KAAKsE,KAAKhE,EAAA,EAQd84jB,eAAiB,SAAU94jB,EAAKS,GAG5B,OAFAf,KAAK2+jB,gBAAgBr+jB,GAAOS,EAC5Bf,KAAK6+jB,kBACE7+jB,IAAA,EAKX6+jB,gBAAkB,WACd,IAAI,IAAIv+jB,KAAON,KAAK2+jB,gBACX3+jB,KAAK2+jB,gBAAgB9+jB,eAAeS,KAGzCN,KAAKi5jB,WAAW34jB,GAAON,KAAK2+jB,gBAAgBr+jB,GAAA,EAQpDwP,KAAM,WACF,GAAI9P,KAAK4+jB,SACL,MAAM,IAAIj2jB,MAAM,eAAiB3I,KAAO,4BAE5CA,KAAK4+jB,UAAA,EACD5+jB,KAAKkT,UACLlT,KAAKkT,SAASpD,MAAA,EAQtBN,SAAW,WACP,IAAIlP,EAAK,UAAYN,KAAK+G,KAC1B,OAAI/G,KAAKkT,SACElT,KAAKkT,SAAW,OAAS5S,EAEzBA,CAAA,GAKnBS,EAAO3C,QAAUqC,CAAA,oBAAAH,EAAAS,EAAAU,IAAA,SAAAA,GCtQjB,aAEA,IAAIhB,EAAQH,EAAQ,YAChBE,EAAgBF,EAAQ,mBACxBkE,EAAgBlE,EAAQ,mBACxB6E,EAAS7E,EAAQ,aACjBC,EAAUD,EAAQ,cAClB4L,EAAW5L,EAAQ,eAEnBkB,EAA4B,KAChC,GAAIjB,EAAQu+jB,WACR,IACIt9jB,EAA4BlB,EAAQ,uCACtC,MAAMA,GAAA,CA+DZ,SAASiD,EAAWjD,EAAQS,GACxB,OAAO,IAAImL,EAASxJ,SAAQ,SAAUlC,EAASgE,GAC3C,IAAIjE,EAAY,GACZ2L,EAAY5L,EAAOy+jB,cACnBv9jB,EAAalB,EAAO0+jB,YACpBz7jB,EAAWjD,EAAO2+jB,UACtB3+jB,EACC6nE,GAAG,QAAQ,SAAU7nE,EAAMmB,GACxBlB,EAAU+D,KAAKhE,GACZS,GACCA,EAAeU,EAAA,IAGtB0mE,GAAG,SAAS,SAAS7nE,GAClBC,EAAY,GACZiE,EAAOlE,EAAA,IAEV6nE,GAAG,OAAO,WACP,IACI,IAAI7nE,EAtEpB,SAA4BA,EAAMS,EAASU,GACvC,OAAOnB,GACH,IAAK,OACD,OAAOG,EAAMy+jB,QAAQz+jB,EAAM65jB,YAAY,cAAev5jB,GAAUU,GACpE,IAAK,SACD,OAAO0D,EAAOmJ,OAAOvN,GACzB,QACI,OAAON,EAAM65jB,YAAYh6jB,EAAMS,GAAA,CAP3C,CAsEgDS,EApDhD,SAAiBlB,EAAMS,GACnB,IAAIN,EAAGD,EAAQ,EAAGgE,EAAM,KAAMW,EAAc,EAC5C,IAAI1E,EAAI,EAAGA,EAAIM,EAAUJ,OAAQF,IAC7B0E,GAAepE,EAAUN,GAAGE,OAEhC,OAAOL,GACH,IAAK,SACD,OAAOS,EAAU0O,KAAK,IACxB,IAAK,QACH,OAAO9P,MAAMO,UAAUnB,OAAO8B,MAAM,GAAIE,GAC5C,IAAK,aAED,IADAyD,EAAM,IAAI0C,WAAW/B,GACjB1E,EAAI,EAAGA,EAAIM,EAAUJ,OAAQF,IAC7B+D,EAAIsC,IAAI/F,EAAUN,GAAID,GACtBA,GAASO,EAAUN,GAAGE,OAE1B,OAAO6D,EACX,IAAK,aACD,OAAO/C,EAAO1C,OAAOgC,GACzB,QACI,MAAM,IAAI4H,MAAM,8BAAiCrI,EAAO,MApBpE,CAoDmE4L,EAAW3L,GAAYgD,GAC1E/C,EAAQF,EAAA,CACV,MAAOA,GACLkE,EAAOlE,EAAA,CAEXC,EAAY,MAEfmF,QAAA,IAWT,SAASsgC,EAAa1lC,EAAQS,EAAYU,GACtC,IAAI0D,EAAepE,EACnB,OAAOA,GACH,IAAK,OACL,IAAK,cACDoE,EAAe,aACnB,MACA,IAAK,SACDA,EAAe,SAIvB,IAEInF,KAAK++jB,cAAgB55jB,EAErBnF,KAAKg/jB,YAAcj+jB,EAEnBf,KAAKi/jB,UAAYx9jB,EACjBhB,EAAM88jB,aAAap4jB,GACnBnF,KAAKm/jB,QAAU7+jB,EAAOu/C,KAAK,IAAIr/C,EAAc2E,IAG7C7E,EAAOwP,MAAA,CACT,MAAMxP,GACJN,KAAKm/jB,QAAU,IAAI36jB,EAAc,SACjCxE,KAAKm/jB,QAAQp6jB,MAAMzE,EAAA,EAI3B0lC,EAAa9lC,UAAY,CAOrBm7jB,WAAa,SAAU/6jB,GACnB,OAAOiD,EAAWvD,KAAMM,EAAA,EAQ5B6nE,GAAK,SAAU7nE,EAAKS,GAChB,IAAIU,EAAOzB,KAWX,MATW,SAARM,EACCN,KAAKm/jB,QAAQh3f,GAAG7nE,GAAK,SAAUA,GAC3BS,EAAGH,KAAKa,EAAMnB,EAAMyH,KAAMzH,EAAM65jB,KAAA,IAGpCn6jB,KAAKm/jB,QAAQh3f,GAAG7nE,GAAK,WACjBG,EAAM0yB,MAAMpyB,EAAIL,UAAWe,EAAA,IAG5BzB,IAAA,EAMX0F,OAAS,WAEL,OADAjF,EAAM0yB,MAAMnzB,KAAKm/jB,QAAQz5jB,OAAQ,GAAI1F,KAAKm/jB,SACnCn/jB,IAAA,EAMXqghB,MAAQ,WAEJ,OADArghB,KAAKm/jB,QAAQ9+C,QACNrghB,IAAA,EAOXy9jB,eAAiB,SAAUn9jB,GAEvB,GADAG,EAAM88jB,aAAa,cACM,eAArBv9jB,KAAKg/jB,YAKL,MAAM,IAAIr2jB,MAAM3I,KAAKg/jB,YAAc,oCAGvC,OAAO,IAAIx9jB,EAA0BxB,KAAM,CACvCq9hB,WAAkC,eAArBr9hB,KAAKg/jB,aACnB1+jB,EAAA,GAKXS,EAAO3C,QAAU4nC,CAAA,GAAAplC,KAAA,KAAAN,EAAA,UAAAoN,OAAA,2JAAAjE,OAAA,oBAAAnJ,EAAAS,EAAAU,IAAA,SAAAV,GCnNjB,aAUA,GARAU,EAAQmoD,QAAA,EACRnoD,EAAQ8b,OAAA,EACR9b,EAAQmmB,QAAA,EACRnmB,EAAQ29jB,YAAqC,oBAAhB71jB,aAAqD,oBAAfrC,WACnEzF,EAAQ49jB,gBAAA,IAAoBt+jB,EAE5BU,EAAQi3jB,WAAmC,oBAAfxxjB,WAED,oBAAhBqC,YACP9H,EAAQ69jB,MAAA,MAEP,CACD,IAAI7+jB,EAAS,IAAI8I,YAAY,GAC7B,IACI9H,EAAQ69jB,KAEI,IAFG,IAAIC,KAAK,CAAC9+jB,GAAS,CAC9B+W,KAAM,oBACPmJ,IAAA,CAEP,MAAOrgB,GACH,IACI,IACIE,EAAU,IADA4N,KAAKoxjB,aAAepxjB,KAAKqxjB,mBAAqBrxjB,KAAKsxjB,gBAAkBtxjB,KAAKuxjB,eAExFn/jB,EAAQ8c,OAAO7c,GACfgB,EAAQ69jB,KAAmD,IAA5C9+jB,EAAQo/jB,QAAQ,mBAAmBj/iB,IAAA,CAEtD,MAAOrgB,GACHmB,EAAQ69jB,MAAA,CAAO,GAK3B,IACI79jB,EAAQq9jB,aAAex+jB,EAAQ,mBAAmBiiiB,QAAA,CACpD,MAAMjiiB,GACJmB,EAAQq9jB,YAAA,CAAa,IAAAl+jB,KAAA,KAAAN,EAAA,UAAAoN,OAAA,GAAAjE,OAAA,0CAAAnJ,EAAAS,EAAAU,GCpCzB,aAgBA,IAdA,IAAIhB,EAAQH,EAAQ,WAChBE,EAAUF,EAAQ,aAClBkE,EAAclE,EAAQ,iBACtB6E,EAAgB7E,EAAQ,0BAUxBC,EAAW,IAAIZ,MAAM,KAChBuM,EAAE,EAAGA,EAAE,IAAKA,IACnB3L,EAAS2L,GAAMA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAI,EAoL5F,SAAS1K,IACL2D,EAAcvE,KAAKZ,KAAM,gBAEzBA,KAAK6/jB,SAAW,KA4DpB,SAASt8jB,IACL4B,EAAcvE,KAAKZ,KAAM,gBAlP7BO,EAAS,KAAKA,EAAS,KAAK,EAqJ5BkB,EAAQi5jB,WAAa,SAAoBp6jB,GACrC,OAAIE,EAAQ6+jB,WACD76jB,EAAY04jB,cAAc58jB,EAAK,SApJ7B,SAAUA,GACvB,IAAIS,EAAKU,EAAGhB,EAAI+D,EAAOW,EAAG5E,EAAUD,EAAIK,OAAQuL,EAAU,EAG1D,IAAK1H,EAAQ,EAAGA,EAAQjE,EAASiE,IAER,QAAZ,OADT/C,EAAInB,EAAIoO,WAAWlK,MACaA,EAAM,EAAIjE,GAEhB,QAAZ,OADVE,EAAKH,EAAIoO,WAAWlK,EAAM,OAEtB/C,EAAI,OAAYA,EAAI,OAAW,KAAOhB,EAAK,OAC3C+D,KAGR0H,GAAWzK,EAAI,IAAO,EAAIA,EAAI,KAAQ,EAAIA,EAAI,MAAU,EAAI,EAWhE,IANIV,EADAP,EAAQk4jB,WACF,IAAIxxjB,WAAWgF,GAEf,IAAIvM,MAAMuM,GAIf/G,EAAE,EAAGX,EAAQ,EAAGW,EAAI+G,EAAS1H,IAET,QAAZ,OADT/C,EAAInB,EAAIoO,WAAWlK,MACaA,EAAM,EAAIjE,GAEhB,QAAZ,OADVE,EAAKH,EAAIoO,WAAWlK,EAAM,OAEtB/C,EAAI,OAAYA,EAAI,OAAW,KAAOhB,EAAK,OAC3C+D,KAGJ/C,EAAI,IAEJV,EAAIoE,KAAO1D,EACJA,EAAI,MAEXV,EAAIoE,KAAO,IAAQ1D,IAAM,EACzBV,EAAIoE,KAAO,IAAY,GAAJ1D,GACZA,EAAI,OAEXV,EAAIoE,KAAO,IAAQ1D,IAAM,GACzBV,EAAIoE,KAAO,IAAQ1D,IAAM,EAAI,GAC7BV,EAAIoE,KAAO,IAAY,GAAJ1D,IAGnBV,EAAIoE,KAAO,IAAQ1D,IAAM,GACzBV,EAAIoE,KAAO,IAAQ1D,IAAM,GAAK,GAC9BV,EAAIoE,KAAO,IAAQ1D,IAAM,EAAI,GAC7BV,EAAIoE,KAAO,IAAY,GAAJ1D,GAI3B,OAAOV,CAAA,CAtDM,CAuJKT,EAAA,EAUtBmB,EAAQg7jB,WAAa,SAAoBn8jB,GACrC,OAAIE,EAAQ6+jB,WACD5+jB,EAAM65jB,YAAY,aAAch6jB,GAAKkP,SAAS,SA9E5C,SAAUlP,GACvB,IAASS,EAAGU,EAAKjB,EAAGgE,EAChBW,EAAM7E,EAAIK,OAKVuL,EAAW,IAAIvM,MAAU,EAAJwF,GAEzB,IAAK1D,EAAI,EAAGV,EAAE,EAAGA,EAAEoE,GAGf,IAFA3E,EAAIF,EAAIS,MAEA,IAAQmL,EAASzK,KAASjB,OAIlC,IAFAgE,EAAQjE,EAASC,IAEL,EAAK0L,EAASzK,KAAS,MAAQV,GAAKyD,EAAM,MAAtD,CAKA,IAFAhE,GAAe,IAAVgE,EAAc,GAAiB,IAAVA,EAAc,GAAO,EAExCA,EAAQ,GAAKzD,EAAIoE,GACpB3E,EAAKA,GAAK,EAAiB,GAAXF,EAAIS,KACpByD,IAIAA,EAAQ,EAAK0H,EAASzK,KAAS,MAE/BjB,EAAI,MACJ0L,EAASzK,KAASjB,GAElBA,GAAK,MACL0L,EAASzK,KAAS,MAAWjB,GAAK,GAAM,KACxC0L,EAASzK,KAAS,MAAc,KAAJjB,EAAA,CAcpC,OATI0L,EAASvL,SAAWc,IACjByK,EAAS2hD,SACR3hD,EAAWA,EAAS2hD,SAAS,EAAGpsD,GAEhCyK,EAASvL,OAASc,GAKnBhB,EAAMq/jB,kBAAkB5zjB,EAAA,CAhDlB,CAiFb5L,EAAMG,EAAM65jB,YAAY95jB,EAAQk4jB,WAAa,aAAe,QAASp4jB,GAAA,EAczEG,EAAMg/gB,SAASj+gB,EAAkB2D,GAKjC3D,EAAiBtB,UAAUk6jB,aAAe,SAAU95jB,GAEhD,IAAIS,EAAON,EAAM65jB,YAAY95jB,EAAQk4jB,WAAa,aAAe,QAASp4jB,EAAMyH,MAGhF,GAAI/H,KAAK6/jB,UAAY7/jB,KAAK6/jB,SAASl/jB,OAAQ,CACvC,GAAGH,EAAQk4jB,WAAY,CACnB,IAAIl0jB,EAAezD,GACnBA,EAAO,IAAImG,WAAW1C,EAAa7D,OAASX,KAAK6/jB,SAASl/jB,SACrDmG,IAAI9G,KAAK6/jB,SAAU,GACxB9+jB,EAAK+F,IAAItC,EAAcxE,KAAK6/jB,SAASl/jB,OAAA,MAErCI,EAAOf,KAAK6/jB,SAAS9gkB,OAAOgC,GAEhCf,KAAK6/jB,SAAW,KAGpB,IAAI16jB,EA3IS,SAAS7E,EAAKS,GAC3B,IAAIU,EAOJ,KALAV,EAAMA,GAAOT,EAAIK,QACPL,EAAIK,SAAUI,EAAMT,EAAIK,QAGlCc,EAAMV,EAAI,EACHU,GAAO,GAA2B,MAAV,IAAXnB,EAAImB,KAAyBA,IAIjD,OAAIA,EAAM,GAIE,IAARA,EAJkBV,EAMdU,EAAMlB,EAASD,EAAImB,IAAQV,EAAOU,EAAMV,CAAA,CAlBnC,CA2IiBA,GAC1BmL,EAAanL,EACboE,IAAiBpE,EAAKJ,SAClBH,EAAQk4jB,YACRxsjB,EAAanL,EAAK8sD,SAAS,EAAG1oD,GAC9BnF,KAAK6/jB,SAAW9+jB,EAAK8sD,SAAS1oD,EAAcpE,EAAKJ,UAEjDuL,EAAanL,EAAKoc,MAAM,EAAGhY,GAC3BnF,KAAK6/jB,SAAW9+jB,EAAKoc,MAAMhY,EAAcpE,EAAKJ,UAItDX,KAAKsE,KAAK,CACNyD,KAAOtG,EAAQg7jB,WAAWvwjB,GAC1BiujB,KAAO75jB,EAAM65jB,MAAA,EAOrB34jB,EAAiBtB,UAAUqc,MAAQ,WAC5Bvc,KAAK6/jB,UAAY7/jB,KAAK6/jB,SAASl/jB,SAC9BX,KAAKsE,KAAK,CACNyD,KAAOtG,EAAQg7jB,WAAWz8jB,KAAK6/jB,UAC/B1F,KAAO,CAAC,IAEZn6jB,KAAK6/jB,SAAW,OAGxBp+jB,EAAQs+jB,iBAAmBv+jB,EAS3Bf,EAAMg/gB,SAASl8gB,EAAkB4B,GAKjC5B,EAAiBrD,UAAUk6jB,aAAe,SAAU95jB,GAChDN,KAAKsE,KAAK,CACNyD,KAAOtG,EAAQi5jB,WAAWp6jB,EAAMyH,MAChCoyjB,KAAO75jB,EAAM65jB,MAAA,EAGrB14jB,EAAQu+jB,iBAAmBz8jB,CAAA,kGAAAjD,EAAAS,EAAAU,GClR3B,aAEA,IAAIhB,EAAUH,EAAQ,aAClBE,EAASF,EAAQ,YACjBkE,EAAclE,EAAQ,iBACtB6E,EAAe7E,EAAQ,sBACvBC,EAAWD,EAAQ,cAiEvB,SAAS4L,EAAS5L,GACd,OAAOA,CAAA,CASX,SAASkB,EAAkBlB,EAAKS,GAC5B,IAAK,IAAIU,EAAI,EAAGA,EAAInB,EAAIK,SAAUc,EAC9BV,EAAMU,GAAyB,IAApBnB,EAAIoO,WAAWjN,GAE9B,OAAOV,CAAA,CA9CXU,EAAQy9jB,QAAU,SAAS5+jB,EAAMS,GAC7BU,EAAQ87jB,aAAa,QAErB,IAEI,OAAO,IAAIgC,KAAK,CAACj/jB,GAAO,CACpBkX,KAAMzW,GAAA,CAGd,MAAOU,GAEH,IAEI,IACIhB,EAAU,IADA2N,KAAKoxjB,aAAepxjB,KAAKqxjB,mBAAqBrxjB,KAAKsxjB,gBAAkBtxjB,KAAKuxjB,eAGxF,OADAl/jB,EAAQ6c,OAAOhd,GACRG,EAAQm/jB,QAAQ7+jB,EAAA,CAE3B,MAAOT,GAGH,MAAM,IAAIqI,MAAM,sCAiC5B,IAAIpF,EAAsB,CAUtB08jB,iBAAkB,SAAS3/jB,EAAOS,EAAMU,GACpC,IAAIhB,EAAS,GAAID,EAAI,EAAGgE,EAAMlE,EAAMK,OAEpC,GAAI6D,GAAO/C,EACP,OAAO0N,OAAOC,aAAavO,MAAM,KAAMP,GAE3C,KAAOE,EAAIgE,GACM,UAATzD,GAA6B,eAATA,EACpBN,EAAO6D,KAAK6K,OAAOC,aAAavO,MAAM,KAAMP,EAAM6c,MAAM3c,EAAG8K,KAAK05B,IAAIxkC,EAAIiB,EAAO+C,MAG/E/D,EAAO6D,KAAK6K,OAAOC,aAAavO,MAAM,KAAMP,EAAMutD,SAASrtD,EAAG8K,KAAK05B,IAAIxkC,EAAIiB,EAAO+C,MAEtFhE,GAAKiB,EAET,OAAOhB,EAAOgP,KAAK,KASvBywjB,gBAAiB,SAAS5/jB,GAEtB,IADA,IAAIS,EAAY,GACRU,EAAI,EAAGA,EAAInB,EAAMK,OAAQc,IAC7BV,GAAaoO,OAAOC,aAAa9O,EAAMmB,IAE3C,OAAOV,CAAA,EAEXo/jB,eAAiB,CAIbzH,WAAc,WACV,IACI,OAAOj4jB,EAAQi4jB,YAA4E,IAA9DvpjB,OAAOC,aAAavO,MAAM,KAAM,IAAIqG,WAAW,IAAIvG,MAAA,CAClF,MAAOL,GACL,OAAO,GAJD,GAUd++jB,WAAc,WACV,IACI,OAAO5+jB,EAAQ4+jB,YAAqF,IAAvElwjB,OAAOC,aAAavO,MAAM,KAAM2D,EAAY24jB,YAAY,IAAIx8jB,MAAA,CAC3F,MAAOL,GACL,OAAO,GAJD,KAetB,SAAS0lC,EAAkB1lC,GAWvB,IAAIS,EAAQ,MACRN,EAAOgB,EAAQg3jB,UAAUn4jB,GACzBE,GAAA,EAOJ,GANa,eAATC,EACAD,EAAc+C,EAAoB48jB,eAAezH,WACjC,eAATj4jB,IACPD,EAAc+C,EAAoB48jB,eAAed,YAGjD7+jB,EACA,KAAOO,EAAQ,GACX,IACI,OAAOwC,EAAoB08jB,iBAAiB3/jB,EAAOG,EAAMM,EAAA,CAC3D,MAAOT,GACLS,EAAQuK,KAAKC,MAAMxK,EAAQ,GAOvC,OAAOwC,EAAoB28jB,gBAAgB5/jB,EAAA,CAY/C,SAASqoB,EAAqBroB,EAAWS,GACrC,IAAK,IAAIU,EAAI,EAAGA,EAAInB,EAAUK,OAAQc,IAClCV,EAAQU,GAAKnB,EAAUmB,GAE3B,OAAOV,CAAA,CAbXU,EAAQq+jB,kBAAoB95hB,EAiB5B,IAAI1mC,EAAY,CAAC,EAGjBA,EAASsoB,OAAa,CAClBA,OAAU1b,EACVqR,MAAS,SAASjd,GACd,OAAOkB,EAAkBlB,EAAO,IAAIX,MAAMW,EAAMK,QAAA,EAEpDy+jB,YAAe,SAAS9+jB,GACpB,OAAOhB,EAASsoB,OAAT8wiB,WAAkCp4jB,GAAOmJ,MAAA,EAEpDivjB,WAAc,SAASp4jB,GACnB,OAAOkB,EAAkBlB,EAAO,IAAI4G,WAAW5G,EAAMK,QAAA,EAEzD0+jB,WAAc,SAAS/+jB,GACnB,OAAOkB,EAAkBlB,EAAOkE,EAAY24jB,YAAY78jB,EAAMK,QAAA,GAKtErB,EAASie,MAAY,CACjBqK,OAAUoe,EACVzoB,MAASrR,EACTkzjB,YAAe,SAAS9+jB,GACpB,OAAQ,IAAI4G,WAAW5G,GAAQmJ,MAAA,EAEnCivjB,WAAc,SAASp4jB,GACnB,OAAO,IAAI4G,WAAW5G,EAAA,EAE1B++jB,WAAc,SAAS/+jB,GACnB,OAAOkE,EAAY04jB,cAAc58jB,EAAA,GAKzChB,EAAS8/jB,YAAkB,CACvBx3iB,OAAU,SAAStnB,GACf,OAAO0lC,EAAkB,IAAI9+B,WAAW5G,GAAA,EAE5Cid,MAAS,SAASjd,GACd,OAAOqoB,EAAqB,IAAIzhB,WAAW5G,GAAQ,IAAIX,MAAMW,EAAMqJ,YAAA,EAEvEy1jB,YAAelzjB,EACfwsjB,WAAc,SAASp4jB,GACnB,OAAO,IAAI4G,WAAW5G,EAAA,EAE1B++jB,WAAc,SAAS/+jB,GACnB,OAAOkE,EAAY04jB,cAAc,IAAIh2jB,WAAW5G,GAAA,GAKxDhB,EAASo5jB,WAAiB,CACtB9wiB,OAAUoe,EACVzoB,MAAS,SAASjd,GACd,OAAOqoB,EAAqBroB,EAAO,IAAIX,MAAMW,EAAMK,QAAA,EAEvDy+jB,YAAe,SAAS9+jB,GACpB,OAAOA,EAAMmJ,MAAA,EAEjBivjB,WAAcxsjB,EACdmzjB,WAAc,SAAS/+jB,GACnB,OAAOkE,EAAY04jB,cAAc58jB,EAAA,GAKzChB,EAAS+/jB,WAAiB,CACtBz3iB,OAAUoe,EACVzoB,MAAS,SAASjd,GACd,OAAOqoB,EAAqBroB,EAAO,IAAIX,MAAMW,EAAMK,QAAA,EAEvDy+jB,YAAe,SAAS9+jB,GACpB,OAAOhB,EAAS+/jB,WAAT3G,WAAsCp4jB,GAAOmJ,MAAA,EAExDivjB,WAAc,SAASp4jB,GACnB,OAAOqoB,EAAqBroB,EAAO,IAAI4G,WAAW5G,EAAMK,QAAA,EAE5D0+jB,WAAcnzjB,GAWlBzK,EAAQ64jB,YAAc,SAASh6jB,EAAYS,GAMvC,GALKA,IAGDA,EAAQ,KAEPT,EACD,OAAOS,EAEXU,EAAQ87jB,aAAaj9jB,GACrB,IAAIG,EAAYgB,EAAQg3jB,UAAU13jB,GAElC,OADazB,EAAUmB,GAAWH,GAAYS,EAAA,EAUlDU,EAAQg3jB,UAAY,SAASn4jB,GACzB,MAAqB,iBAAVA,EACA,SAEmC,mBAA1Cd,OAAOU,UAAUsP,SAAS5O,KAAKN,GACxB,QAEPG,EAAQ4+jB,YAAc76jB,EAAY23C,SAAS77C,GACpC,aAEPG,EAAQi4jB,YAAcp4jB,aAAiB4G,WAChC,aAEPzG,EAAQ2+jB,aAAe9+jB,aAAiBiJ,YACjC,oBADX,EAUJ9H,EAAQ87jB,aAAe,SAASj9jB,GAE5B,IADgBG,EAAQH,EAAKga,eAEzB,MAAM,IAAI3R,MAAMrI,EAAO,uCAI/BmB,EAAQ2+jB,iBAAmB,MAC3B3+jB,EAAQ4+jB,kBAAoB,EAO5B5+jB,EAAQ6+jB,OAAS,SAAShgkB,GACtB,IACIS,EAAMU,EADNhB,EAAM,GAEV,IAAKgB,EAAI,EAAGA,GAAKnB,GAAO,IAAIK,OAAQc,IAEhChB,GAAO,QADPM,EAAOT,EAAIoO,WAAWjN,IACC,GAAK,IAAM,IAAMV,EAAKyO,SAAS,IAAIoiC,cAE9D,OAAOnxC,CAAA,EAQXgB,EAAQ0xB,MAAQ,SAAS7yB,EAAUS,EAAMU,GACrC0D,GAAa,WACT7E,EAASO,MAAMY,GAAQ,KAAMV,GAAQ,QAU7CU,EAAQg+gB,SAAW,SAAUn/gB,EAAMS,GAC/B,IAAIU,EAAM,aACVA,EAAIvB,UAAYa,EAAUb,UAC1BI,EAAKJ,UAAY,IAAIuB,CAAA,EASzBA,EAAQm2C,OAAS,WACb,IAAiBt3C,EAAGS,EAAhBU,EAAS,CAAC,EACd,IAAKnB,EAAI,EAAGA,EAAII,UAAUC,OAAQL,IAC9B,IAAKS,KAAQL,UAAUJ,GACfI,UAAUJ,GAAGT,eAAekB,SAAA,IAAgBU,EAAOV,KACnDU,EAAOV,GAAQL,UAAUJ,GAAGS,IAIxC,OAAOU,CAAA,EAYXA,EAAQi7jB,eAAiB,SAASp8jB,EAAMS,EAAWyD,EAAUW,EAAyB+G,GAyBlF,OAtBc3L,EAASmC,QAAQC,QAAQ5B,GAAWqC,MAAK,SAAS9C,GAK5D,OAFaG,EAAQ6+jB,OAASh/jB,aAAgBi/jB,OAA8F,IAAtF,CAAC,gBAAiB,iBAAiBv+jB,QAAQxB,OAAOU,UAAUsP,SAAS5O,KAAKN,MAE5F,oBAAfigkB,WACV,IAAIhgkB,EAASmC,SAAQ,SAAU3B,EAASU,GAC3C,IAAIhB,EAAS,IAAI8/jB,WAEjB9/jB,EAAO+/jB,OAAS,SAASlgkB,GACrBS,EAAQT,EAAEe,OAAO6B,OAAA,EAErBzC,EAAOmI,QAAU,SAAStI,GACtBmB,EAAOnB,EAAEe,OAAO0D,MAAA,EAEpBtE,EAAOggkB,kBAAkBngkB,EAAA,IAGtBA,CAAA,IAIA8C,MAAK,SAASrC,GACzB,IAjbewC,EAibXyiC,EAAWvkC,EAAQg3jB,UAAU13jB,GAEjC,OAAKilC,GAOY,gBAAbA,EACAjlC,EAAOU,EAAQ64jB,YAAY,aAAcv5jB,GACrB,WAAbilC,IACH95B,EACAnL,EAAOP,EAAOuO,OAAOhO,GAEhByD,IAAA,IAEDW,IAGApE,EA9bTS,EAPY+B,EAqckBxC,EAncjCN,EAAQi4jB,WACD,IAAIxxjB,WAAW3D,EAAI5C,QAEnB,IAAIhB,MAAM4D,EAAI5C,WAocdI,GArBIR,EAASmC,QAAQE,OACpB,IAAI+F,MAAM,2BAA6BrI,EAAO,kMAAAA,EAAAS,EAAAU,GCrc9D,aACA,IAAIhB,EAAYH,EAAQ,sBACpBE,EAAQF,EAAQ,WAChBkE,EAAMlE,EAAQ,eACd6E,EAAW7E,EAAQ,cAEnBC,GADOD,EAAQ,UACLA,EAAQ,cAOtB,SAAS4L,EAAW5L,GAChBN,KAAKk7hB,MAAQ,GACbl7hB,KAAKu2F,YAAcj2F,CAAA,CAEvB4L,EAAWhM,UAAY,CAMnBwgkB,eAAgB,SAASpgkB,GACrB,IAAKN,KAAK2gkB,OAAO/C,sBAAsBt9jB,GAAoB,CACvDN,KAAK2gkB,OAAO5jjB,OAAS,EACrB,IAAIhc,EAAYf,KAAK2gkB,OAAO1C,WAAW,GACvC,MAAM,IAAIt1jB,MAAM,+CAAsDnI,EAAM8/jB,OAAOv/jB,GAAa,cAAgBP,EAAM8/jB,OAAOhgkB,GAAqB,OAS1JsgkB,YAAa,SAAStgkB,EAAYS,GAC9B,IAAIU,EAAezB,KAAK2gkB,OAAO5jjB,MAC/B/c,KAAK2gkB,OAAO5C,SAASz9jB,GACrB,IACIG,EADYT,KAAK2gkB,OAAO1C,WAAW,KACZl9jB,EAE3B,OADAf,KAAK2gkB,OAAO5C,SAASt8jB,GACdhB,CAAA,EAKXogkB,sBAAuB,WACnB7gkB,KAAK8gkB,WAAa9gkB,KAAK2gkB,OAAO3C,QAAQ,GACtCh+jB,KAAK+gkB,wBAA0B/gkB,KAAK2gkB,OAAO3C,QAAQ,GACnDh+jB,KAAKghkB,4BAA8BhhkB,KAAK2gkB,OAAO3C,QAAQ,GACvDh+jB,KAAKihkB,kBAAoBjhkB,KAAK2gkB,OAAO3C,QAAQ,GAC7Ch+jB,KAAKkhkB,eAAiBlhkB,KAAK2gkB,OAAO3C,QAAQ,GAC1Ch+jB,KAAKmhkB,iBAAmBnhkB,KAAK2gkB,OAAO3C,QAAQ,GAE5Ch+jB,KAAKohkB,iBAAmBphkB,KAAK2gkB,OAAO3C,QAAQ,GAI5C,IAAI19jB,EAAaN,KAAK2gkB,OAAO9C,SAAS79jB,KAAKohkB,kBACvCrgkB,EAAkBR,EAAQm4jB,WAAa,aAAe,QAGtDj3jB,EAAgBjB,EAAM85jB,YAAYv5jB,EAAiBT,GACvDN,KAAKi7jB,WAAaj7jB,KAAKu2F,YAAYime,eAAe/6jB,EAAA,EAQtD4/jB,2BAA4B,WACxBrhkB,KAAKshkB,sBAAwBthkB,KAAK2gkB,OAAO3C,QAAQ,GACjDh+jB,KAAK2gkB,OAAOnqe,KAAK,GAGjBx2F,KAAK8gkB,WAAa9gkB,KAAK2gkB,OAAO3C,QAAQ,GACtCh+jB,KAAK+gkB,wBAA0B/gkB,KAAK2gkB,OAAO3C,QAAQ,GACnDh+jB,KAAKghkB,4BAA8BhhkB,KAAK2gkB,OAAO3C,QAAQ,GACvDh+jB,KAAKihkB,kBAAoBjhkB,KAAK2gkB,OAAO3C,QAAQ,GAC7Ch+jB,KAAKkhkB,eAAiBlhkB,KAAK2gkB,OAAO3C,QAAQ,GAC1Ch+jB,KAAKmhkB,iBAAmBnhkB,KAAK2gkB,OAAO3C,QAAQ,GAE5Ch+jB,KAAKuhkB,oBAAsB,CAAC,EAM5B,IALA,IAEIjhkB,EACAS,EACAU,EAJAhB,EAAgBT,KAAKshkB,sBAAwB,GACrC,EAIG7gkB,GACXH,EAAeN,KAAK2gkB,OAAO3C,QAAQ,GACnCj9jB,EAAmBf,KAAK2gkB,OAAO3C,QAAQ,GACvCv8jB,EAAkBzB,KAAK2gkB,OAAO9C,SAAS98jB,GACvCf,KAAKuhkB,oBAAoBjhkB,GAAgB,CACrC+T,GAAI/T,EACJK,OAAQI,EACR+B,MAAOrB,EAAA,EAOnB+/jB,kCAAmC,WAI/B,GAHAxhkB,KAAKyhkB,6BAA+BzhkB,KAAK2gkB,OAAO3C,QAAQ,GACxDh+jB,KAAK0hkB,mCAAqC1hkB,KAAK2gkB,OAAO3C,QAAQ,GAC9Dh+jB,KAAK2hkB,WAAa3hkB,KAAK2gkB,OAAO3C,QAAQ,GAClCh+jB,KAAK2hkB,WAAa,EAClB,MAAM,IAAIh5jB,MAAM,wCAMxBi5jB,eAAgB,WACZ,IAAIthkB,EAAGS,EACP,IAAKT,EAAI,EAAGA,EAAIN,KAAKk7hB,MAAMv6hB,OAAQL,IAC/BS,EAAOf,KAAKk7hB,MAAM56hB,GAClBN,KAAK2gkB,OAAO5C,SAASh9jB,EAAK8gkB,mBAC1B7hkB,KAAK0gkB,eAAel8jB,EAAIo2jB,mBACxB75jB,EAAK+gkB,cAAc9hkB,KAAK2gkB,QACxB5/jB,EAAKghkB,aACLhhkB,EAAKihkB,mBAAA,EAMbC,eAAgB,WACZ,IAAI3hkB,EAGJ,IADAN,KAAK2gkB,OAAO5C,SAAS/9jB,KAAKmhkB,kBACnBnhkB,KAAK2gkB,OAAO/C,sBAAsBp5jB,EAAIs2jB,uBACzCx6jB,EAAO,IAAI6E,EAAS,CAChB+8jB,MAAOlikB,KAAKkikB,OACblikB,KAAKu2F,cACH4re,gBAAgBnikB,KAAK2gkB,QAC1B3gkB,KAAKk7hB,MAAM52hB,KAAKhE,GAGpB,GAAIN,KAAKihkB,oBAAsBjhkB,KAAKk7hB,MAAMv6hB,QACP,IAA3BX,KAAKihkB,mBAAiD,IAAtBjhkB,KAAKk7hB,MAAMv6hB,OAG3C,MAAM,IAAIgI,MAAM,kCAAoC3I,KAAKihkB,kBAAoB,gCAAkCjhkB,KAAKk7hB,MAAMv6hB,OAAA,EAWtIyhkB,iBAAkB,WACd,IAAI9hkB,EAASN,KAAK2gkB,OAAOhD,qBAAqBn5jB,EAAIs3jB,uBAClD,GAAIx7jB,EAAS,EAQT,MAFiBN,KAAK4gkB,YAAY,EAAGp8jB,EAAIo2jB,mBAM/B,IAAIjyjB,MAAM,sDAHV,IAAIA,MAAM,2IAOxB3I,KAAK2gkB,OAAO5C,SAASz9jB,GACrB,IAAIS,EAAwBT,EAe5B,GAdAN,KAAK0gkB,eAAel8jB,EAAIs3jB,uBACxB97jB,KAAK6gkB,wBAaD7gkB,KAAK8gkB,aAAetgkB,EAAM4/jB,kBAAoBpgkB,KAAK+gkB,0BAA4BvgkB,EAAM4/jB,kBAAoBpgkB,KAAKghkB,8BAAgCxgkB,EAAM4/jB,kBAAoBpgkB,KAAKihkB,oBAAsBzgkB,EAAM4/jB,kBAAoBpgkB,KAAKkhkB,iBAAmB1gkB,EAAM6/jB,kBAAoBrgkB,KAAKmhkB,mBAAqB3gkB,EAAM6/jB,iBAAkB,CAcjU,GAbArgkB,KAAKkikB,OAAA,GAYL5hkB,EAASN,KAAK2gkB,OAAOhD,qBAAqBn5jB,EAAI25jB,kCACjC,EACT,MAAM,IAAIx1jB,MAAM,wEAOpB,GALA3I,KAAK2gkB,OAAO5C,SAASz9jB,GACrBN,KAAK0gkB,eAAel8jB,EAAI25jB,iCACxBn+jB,KAAKwhkB,qCAGAxhkB,KAAK4gkB,YAAY5gkB,KAAK0hkB,mCAAoCl9jB,EAAI45jB,+BAE/Dp+jB,KAAK0hkB,mCAAqC1hkB,KAAK2gkB,OAAOhD,qBAAqBn5jB,EAAI45jB,6BAC3Ep+jB,KAAK0hkB,mCAAqC,GAC1C,MAAM,IAAI/4jB,MAAM,gEAGxB3I,KAAK2gkB,OAAO5C,SAAS/9jB,KAAK0hkB,oCAC1B1hkB,KAAK0gkB,eAAel8jB,EAAI45jB,6BACxBp+jB,KAAKqhkB,4BAAA,CAGT,IAAI5/jB,EAAgCzB,KAAKmhkB,iBAAmBnhkB,KAAKkhkB,eAC7DlhkB,KAAKkikB,QACLzgkB,GAAiC,GACjCA,GAAiC,GAAmDzB,KAAKshkB,uBAG7F,IAAI7gkB,EAAaM,EAAwBU,EAEzC,GAAIhB,EAAa,EAETT,KAAK4gkB,YAAY7/jB,EAAuByD,EAAIs2jB,uBAM5C96jB,KAAK2gkB,OAAOx3C,KAAO1ohB,QAEpB,GAAIA,EAAa,EACpB,MAAM,IAAIkI,MAAM,0BAA4B2C,KAAKkR,IAAI/b,GAAc,YAG3E4hkB,cAAe,SAAS/hkB,GACpBN,KAAK2gkB,OAASlgkB,EAAUH,EAAA,EAM5Bq2F,KAAM,SAASr2F,GACXN,KAAKqikB,cAAc/hkB,GACnBN,KAAKoikB,mBACLpikB,KAAKiikB,iBACLjikB,KAAK4hkB,gBAAA,GAIb7gkB,EAAO3C,QAAU8N,CAAA,0HAAA5L,EAAAS,EAAAU,GCrQjB,aACA,IAAIhB,EAAYH,EAAQ,sBACpBE,EAAQF,EAAQ,WAChBkE,EAAmBlE,EAAQ,sBAC3B6E,EAAU7E,EAAQ,WAClBC,EAAOD,EAAQ,UACf4L,EAAe5L,EAAQ,kBACvBkB,EAAUlB,EAAQ,aA6BtB,SAASiD,EAASjD,EAASS,GACvBf,KAAKgb,QAAU1a,EACfN,KAAKu2F,YAAcx1F,CAAA,CAEvBwC,EAASrD,UAAY,CAKjBoikB,YAAa,WAET,OAAmC,IAAZ,EAAftikB,KAAKuikB,QAAA,EAMjBC,QAAS,WAEL,OAAmC,OAAZ,KAAfxikB,KAAKuikB,QAAA,EAMjBT,cAAe,SAASxhkB,GACpB,IAAIS,EAAaU,EAyBjB,GAlBAnB,EAAOk2F,KAAK,IAYZx2F,KAAKyikB,eAAiBnikB,EAAO09jB,QAAQ,GACrCv8jB,EAAyBnB,EAAO09jB,QAAQ,GAExCh+jB,KAAK+6C,SAAWz6C,EAAOu9jB,SAAS79jB,KAAKyikB,gBACrCnikB,EAAOk2F,KAAK/0F,IAEiB,IAAzBzB,KAAK24jB,iBAAoD,IAA3B34jB,KAAK44jB,iBACnC,MAAM,IAAIjwjB,MAAM,sIAIpB,GAAoB,QADpB5H,EA1Ec,SAAST,GAC3B,IAAK,IAAIS,KAAUmL,EACf,GAAKA,EAAarM,eAAekB,IAG7BmL,EAAanL,GAAQy4jB,QAAUl5jB,EAC/B,OAAO4L,EAAanL,GAG5B,OAAO,KATW,CA0EgBf,KAAK0ikB,oBAE/B,MAAM,IAAI/5jB,MAAM,+BAAiCnI,EAAM8/jB,OAAOtgkB,KAAK0ikB,mBAAqB,0BAA4BlikB,EAAM85jB,YAAY,SAAUt6jB,KAAK+6C,UAAY,KAErK/6C,KAAKq8jB,aAAe,IAAI73jB,EAAiBxE,KAAK24jB,eAAgB34jB,KAAK44jB,iBAAkB54jB,KAAK64jB,MAAO93jB,EAAaT,EAAOu9jB,SAAS79jB,KAAK24jB,gBAAA,EAOvIwJ,gBAAiB,SAAS7hkB,GACtBN,KAAK2ikB,cAAgBrikB,EAAO09jB,QAAQ,GACpC19jB,EAAOk2F,KAAK,GAEZx2F,KAAKuikB,QAAUjikB,EAAO09jB,QAAQ,GAC9Bh+jB,KAAK0ikB,kBAAoBpikB,EAAO29jB,WAAW,GAC3Cj+jB,KAAKigC,KAAO3/B,EAAO49jB,WACnBl+jB,KAAK64jB,MAAQv4jB,EAAO09jB,QAAQ,GAC5Bh+jB,KAAK24jB,eAAiBr4jB,EAAO09jB,QAAQ,GACrCh+jB,KAAK44jB,iBAAmBt4jB,EAAO09jB,QAAQ,GACvC,IAAIj9jB,EAAiBT,EAAO09jB,QAAQ,GAQpC,GAPAh+jB,KAAK4ikB,kBAAoBtikB,EAAO09jB,QAAQ,GACxCh+jB,KAAK6ikB,kBAAoBvikB,EAAO09jB,QAAQ,GACxCh+jB,KAAK8ikB,gBAAkBxikB,EAAO09jB,QAAQ,GACtCh+jB,KAAK+ikB,uBAAyBzikB,EAAO09jB,QAAQ,GAC7Ch+jB,KAAKgjkB,uBAAyB1ikB,EAAO09jB,QAAQ,GAC7Ch+jB,KAAK6hkB,kBAAoBvhkB,EAAO09jB,QAAQ,GAEpCh+jB,KAAKsikB,cACL,MAAM,IAAI35jB,MAAM,mCAIpBrI,EAAOk2F,KAAKz1F,GACZf,KAAKijkB,gBAAgB3ikB,GACrBN,KAAKkjkB,qBAAqB5ikB,GAC1BN,KAAKmjkB,YAAc7ikB,EAAOu9jB,SAAS79jB,KAAK6ikB,kBAAA,EAM5Cb,kBAAmB,WACfhikB,KAAK45jB,gBAAkB,KACvB55jB,KAAK65jB,eAAiB,KACtB,IAAIv5jB,EAASN,KAAK2ikB,eAAiB,EAKnC3ikB,KAAK+oC,OAAoC,GAA9B/oC,KAAKgjkB,wBArIN,IAuIP1ikB,IAECN,KAAK65jB,eAA+C,GAA9B75jB,KAAKgjkB,wBAxIpB,IA2IR1ikB,IACCN,KAAK45jB,gBAAmB55jB,KAAKgjkB,wBAA0B,GAAM,OAK5DhjkB,KAAK+oC,KAAsC,MAA/B/oC,KAAK28jB,YAAYx/iB,OAAO,KACrCnd,KAAK+oC,KAAA,EAAM,EAQnBm6hB,qBAAsB,SAAS5ikB,GAE3B,GAAKN,KAAKojkB,YAAY,GAAtB,CAKA,IAAIrikB,EAAcN,EAAUT,KAAKojkB,YAAY,GAAQtgkB,OAIjD9C,KAAK44jB,mBAAqBp4jB,EAAM6/jB,mBAChCrgkB,KAAK44jB,iBAAmB73jB,EAAYi9jB,QAAQ,IAE5Ch+jB,KAAK24jB,iBAAmBn4jB,EAAM6/jB,mBAC9BrgkB,KAAK24jB,eAAiB53jB,EAAYi9jB,QAAQ,IAE1Ch+jB,KAAK6hkB,oBAAsBrhkB,EAAM6/jB,mBACjCrgkB,KAAK6hkB,kBAAoB9gkB,EAAYi9jB,QAAQ,IAE7Ch+jB,KAAK8ikB,kBAAoBtikB,EAAM6/jB,mBAC/BrgkB,KAAK8ikB,gBAAkB/hkB,EAAYi9jB,QAAQ,MAOnDiF,gBAAiB,SAAS3ikB,GACtB,IACIS,EACAU,EACAhB,EAHAD,EAAMF,EAAOyc,MAAQ/c,KAAK4ikB,kBAS9B,IAJK5ikB,KAAKojkB,cACNpjkB,KAAKojkB,YAAc,CAAC,GAGjB9ikB,EAAOyc,MAAQ,EAAIvc,GACtBO,EAAeT,EAAO09jB,QAAQ,GAC9Bv8jB,EAAmBnB,EAAO09jB,QAAQ,GAClCv9jB,EAAkBH,EAAOu9jB,SAASp8jB,GAElCzB,KAAKojkB,YAAYrikB,GAAgB,CAC7BsT,GAAItT,EACJJ,OAAQc,EACRqB,MAAOrC,GAIfH,EAAOy9jB,SAASv9jB,EAAA,EAKpBuhkB,WAAY,WACR,IAAIzhkB,EAAkBkB,EAAQk3jB,WAAa,aAAe,QAC1D,GAAI14jB,KAAKwikB,UACLxikB,KAAK28jB,YAAcp8jB,EAAKk8jB,WAAWz8jB,KAAK+6C,UACxC/6C,KAAK48jB,eAAiBr8jB,EAAKk8jB,WAAWz8jB,KAAKmjkB,iBACxC,CACH,IAAIpikB,EAAQf,KAAKqjkB,4BACjB,GAAc,OAAVtikB,EACAf,KAAK28jB,YAAc57jB,MAChB,CAEH,IAAIU,EAAqBjB,EAAM85jB,YAAYh6jB,EAAiBN,KAAK+6C,UACjE/6C,KAAK28jB,YAAc38jB,KAAKu2F,YAAYime,eAAe/6jB,EAAA,CAGvD,IAAIhB,EAAWT,KAAKsjkB,+BACpB,GAAiB,OAAb7ikB,EACAT,KAAK48jB,eAAiBn8jB,MACnB,CAEH,IAAI+D,EAAoBhE,EAAM85jB,YAAYh6jB,EAAiBN,KAAKmjkB,aAChEnjkB,KAAK48jB,eAAiB58jB,KAAKu2F,YAAYime,eAAeh4jB,EAAA,IASlE6+jB,0BAA2B,WACvB,IAAI/ikB,EAAaN,KAAKojkB,YAAY,OAClC,GAAI9ikB,EAAY,CACZ,IAAIS,EAAcN,EAAUH,EAAWwC,OAGvC,OAA+B,IAA3B/B,EAAYi9jB,QAAQ,IAKpB74jB,EAAQnF,KAAK+6C,YAAch6C,EAAYi9jB,QAAQ,GAJxC,KAQJz9jB,EAAKk8jB,WAAW17jB,EAAY88jB,SAASv9jB,EAAWK,OAAS,IAEpE,OAAO,MAOX2ikB,6BAA8B,WAC1B,IAAIhjkB,EAAgBN,KAAKojkB,YAAY,OACrC,GAAI9ikB,EAAe,CACf,IAAIS,EAAcN,EAAUH,EAAcwC,OAG1C,OAA+B,IAA3B/B,EAAYi9jB,QAAQ,IAKpB74jB,EAAQnF,KAAKmjkB,eAAiBpikB,EAAYi9jB,QAAQ,GAJ3C,KAQJz9jB,EAAKk8jB,WAAW17jB,EAAY88jB,SAASv9jB,EAAcK,OAAS,IAEvE,OAAO,OAGfI,EAAO3C,QAAUmF,CAAA,mJAAAjD,EAAAS,EAAAU,GCrSjB,aAEA,IAAIhB,EAAeH,EAAQ,yBACvBE,EAAaF,EAAQ,uBACrBkE,EAAOlE,EAAQ,UACf6E,EAAmB7E,EAAQ,sBAC3BC,EAAgBD,EAAQ,0BASxB4L,EAAY,SAAS5L,EAAMS,EAAMU,GACjCzB,KAAK+G,KAAOzG,EACZN,KAAK+oC,IAAMtnC,EAAQsnC,IACnB/oC,KAAKigC,KAAOx+B,EAAQw+B,KACpBjgC,KAAKugB,QAAU9e,EAAQ8e,QACvBvgB,KAAK45jB,gBAAkBn4jB,EAAQm4jB,gBAC/B55jB,KAAK65jB,eAAiBp4jB,EAAQo4jB,eAE9B75jB,KAAKk8D,MAAQn7D,EACbf,KAAKujkB,YAAc9hkB,EAAQ6mjB,OAE3BtojB,KAAKgb,QAAU,CACX4ngB,YAAcnhhB,EAAQmhhB,YACtB+2C,mBAAqBl4jB,EAAQk4jB,mBAAA,EAIrCztjB,EAAUhM,UAAY,CAMlBsjkB,eAAgB,SAAUljkB,GACtB,IAAIS,EAAS,KAAMU,EAAa,SAChC,IACI,IAAKnB,EACD,MAAM,IAAIqI,MAAM,6BAGpB,IAAInI,EAAkC,YADtCiB,EAAanB,EAAKga,gBAC+C,SAAf7Y,EAC/B,iBAAfA,GAAgD,SAAfA,IACjCA,EAAa,UAEjBV,EAASf,KAAKyjkB,oBAEd,IAAIt+jB,GAAmBnF,KAAKujkB,YAExBp+jB,IAAoB3E,IACpBO,EAASA,EAAO8+C,KAAK,IAAIr7C,EAAKw7jB,oBAE7B76jB,GAAmB3E,IACpBO,EAASA,EAAO8+C,KAAK,IAAIr7C,EAAKu7jB,kBAAA,CAEpC,MAAOz/jB,IACLS,EAAS,IAAIR,EAAc,UACpBwE,MAAMzE,EAAA,CAGjB,OAAO,IAAIG,EAAaM,EAAQU,EAAY,KAShDwrJ,MAAO,SAAU3sJ,EAAMS,GACnB,OAAOf,KAAKwjkB,eAAeljkB,GAAM+6jB,WAAWt6jB,EAAA,EAShD2ikB,WAAY,SAAUpjkB,EAAMS,GACxB,OAAOf,KAAKwjkB,eAAeljkB,GAAQ,cAAcm9jB,eAAe18jB,EAAA,EAUpEo7jB,gBAAiB,SAAU77jB,EAAaS,GACpC,GACIf,KAAKk8D,iBAAiB/2D,GACtBnF,KAAKk8D,MAAM0md,YAAY42C,QAAUl5jB,EAAYk5jB,MAE7C,OAAOx5jB,KAAKk8D,MAAMi9f,sBAElB,IAAI13jB,EAASzB,KAAKyjkB,oBAIlB,OAHIzjkB,KAAKujkB,cACL9hkB,EAASA,EAAOo+C,KAAK,IAAIr7C,EAAKw7jB,mBAE3B76jB,EAAiBk0jB,iBAAiB53jB,EAAQnB,EAAaS,EAAA,EAQtE0ikB,kBAAoB,WAChB,OAAIzjkB,KAAKk8D,iBAAiB/2D,EACfnF,KAAKk8D,MAAM68f,mBACX/4jB,KAAKk8D,iBAAiB37D,EACtBP,KAAKk8D,MAEL,IAAI17D,EAAWR,KAAKk8D,MAAA,GAUvC,IALA,IAAI16D,EAAiB,CAAC,SAAU,WAAY,eAAgB,eAAgB,iBACxE+B,EAAY,WACZ,MAAM,IAAIoF,MAAM,+EAGZq9B,EAAI,EAAGA,EAAIxkC,EAAeb,OAAQqlC,IACtC95B,EAAUhM,UAAUsB,EAAewkC,IAAMziC,EAE7CxC,EAAO3C,QAAU8N,CAAA,4IAAA5L,EAAAS,EAAAU,GCpIjB,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CACA,IAAIE,EAAYF,EAAQ,aAGxB,SAASkE,IAAA,CAET,IAAIW,EAAW,CAAC,EAEZ5E,EAAW,CAAC,YACZ2L,EAAY,CAAC,aACb1K,EAAU,CAAC,WAIf,SAAS+B,EAAQjD,GACf,GAAwB,mBAAbA,EACT,MAAM,IAAI8D,UAAU,+BAEtBpE,KAAKoK,MAAQ5I,EACbxB,KAAK+yH,MAAQ,GACb/yH,KAAK2jkB,aAAA,EACDrjkB,IAAakE,GACf5E,EAAsBI,KAAMM,EAAA,CA0ChC,SAAS0lC,EAAU1lC,EAASS,EAAaU,GACvCzB,KAAKw4C,QAAUl4C,EACY,mBAAhBS,IACTf,KAAK+5C,YAAch5C,EACnBf,KAAK4jkB,cAAgB5jkB,KAAK6jkB,oBAEF,mBAAfpikB,IACTzB,KAAKg6C,WAAav4C,EAClBzB,KAAK8jkB,aAAe9jkB,KAAK+jkB,kBAAA,CAgB7B,SAASp7iB,EAAOroB,EAASS,EAAMU,GAC7BjB,GAAU,WACR,IAAIC,EACJ,IACEA,EAAcM,EAAKU,EAAA,CACnB,MAAOV,GACP,OAAOoE,EAASvC,OAAOtC,EAASS,EAAA,CAE9BN,IAAgBH,EAClB6E,EAASvC,OAAOtC,EAAS,IAAI8D,UAAU,uCAEvCe,EAASxC,QAAQrC,EAASG,EAAA,IAoChC,SAASnB,EAAQgB,GAEf,IAAIS,EAAOT,GAAOA,EAAI8C,KACtB,GAAI9C,IAAuB,WAAfG,EAAOH,IAAmC,mBAARA,IAAuC,mBAATS,EAC1E,OAAO,WACLA,EAAKF,MAAMP,EAAKI,UAAA,EAKtB,SAASd,EAAsBU,EAAMS,GAEnC,IAAIU,GAAA,EACJ,SAAShB,EAAQM,GACXU,IAGJA,GAAA,EACA0D,EAASvC,OAAOtC,EAAMS,GAAA,CAGxB,SAASP,EAAUO,GACbU,IAGJA,GAAA,EACA0D,EAASxC,QAAQrC,EAAMS,GAAA,CAOzB,IAAIyD,EAASC,GAJb,WACE1D,EAASP,EAAWC,EAAA,IAIA,UAAlB+D,EAAOkxC,QACTj1C,EAAQ+D,EAAO1B,MAAA,CAInB,SAAS2B,EAASnE,EAAMS,GACtB,IAAIU,EAAM,CAAC,EACX,IACEA,EAAIqB,MAAQxC,EAAKS,GACjBU,EAAIi0C,OAAS,UACb,MAAOp1C,GACPmB,EAAIi0C,OAAS,QACbj0C,EAAIqB,MAAQxC,CAAA,CAEd,OAAOmB,CAAA,CA3KTV,EAAO3C,QAAUmF,EAcjBA,EAAQrD,UAARk+iB,QAA+B,SAAU99iB,GACvC,GAAwB,mBAAbA,EACT,OAAON,KAET,IAAIe,EAAIf,KAAKC,YACb,OAAOD,KAAKoD,MAEZ,SAAiB3B,GAIf,OAAOV,EAAE4B,QAAQrC,KAAY8C,MAH7B,WACE,OAAO3B,CAAA,OAIX,SAAgBA,GAId,OAAOV,EAAE4B,QAAQrC,KAAY8C,MAH7B,WACE,MAAM3B,CAAA,QAKZ8B,EAAQrD,UAAR8I,MAA6B,SAAU1I,GACrC,OAAON,KAAKoD,KAAK,KAAM9C,EAAA,EAEzBiD,EAAQrD,UAAUkD,KAAO,SAAU9C,EAAaS,GAC9C,GAA2B,mBAAhBT,GAA8BN,KAAKoK,QAAU8B,GAChC,mBAAfnL,GAA6Bf,KAAKoK,QAAU7J,EACnD,OAAOP,KAET,IAAIyB,EAAU,IAAIzB,KAAKC,YAAYuE,GAQnC,OAPIxE,KAAKoK,QAAU5I,EAEjBmnB,EAAOlnB,EADQzB,KAAKoK,QAAU8B,EAAY5L,EAAcS,EAC9Bf,KAAK2jkB,SAE/B3jkB,KAAK+yH,MAAMzuH,KAAK,IAAI0hC,EAAUvkC,EAASnB,EAAaS,IAG/CU,CAAA,EAaTukC,EAAU9lC,UAAU0jkB,cAAgB,SAAUtjkB,GAC5C6E,EAASxC,QAAQ3C,KAAKw4C,QAASl4C,EAAA,EAEjC0lC,EAAU9lC,UAAU2jkB,mBAAqB,SAAUvjkB,GACjDqoB,EAAO3oB,KAAKw4C,QAASx4C,KAAK+5C,YAAaz5C,EAAA,EAEzC0lC,EAAU9lC,UAAU4jkB,aAAe,SAAUxjkB,GAC3C6E,EAASvC,OAAO5C,KAAKw4C,QAASl4C,EAAA,EAEhC0lC,EAAU9lC,UAAU6jkB,kBAAoB,SAAUzjkB,GAChDqoB,EAAO3oB,KAAKw4C,QAASx4C,KAAKg6C,WAAY15C,EAAA,EAmBxC6E,EAASxC,QAAU,SAAUrC,EAAMS,GACjC,IAAIU,EAASgD,EAASnF,EAASyB,GAC/B,GAAsB,UAAlBU,EAAOi0C,OACT,OAAOvwC,EAASvC,OAAOtC,EAAMmB,EAAOqB,OAEtC,IAAIrC,EAAWgB,EAAOqB,MAEtB,GAAIrC,EACFb,EAAsBU,EAAMG,OACvB,CACLH,EAAK8J,MAAQ8B,EACb5L,EAAKqjkB,QAAU5ikB,EAGf,IAFA,IAAIP,GAAK,EACLgE,EAAMlE,EAAKyyH,MAAMpyH,SACZH,EAAIgE,GACXlE,EAAKyyH,MAAMvyH,GAAGojkB,cAAc7ikB,EAAA,CAGhC,OAAOT,CAAA,EAET6E,EAASvC,OAAS,SAAUtC,EAAMS,GAChCT,EAAK8J,MAAQ7J,EACbD,EAAKqjkB,QAAU5ikB,EAGf,IAFA,IAAIU,GAAK,EACLhB,EAAMH,EAAKyyH,MAAMpyH,SACZc,EAAIhB,GACXH,EAAKyyH,MAAMtxH,GAAGqikB,aAAa/ikB,GAE7B,OAAOT,CAAA,EAsDTiD,EAAQZ,QACR,SAAiBrC,GACf,OAAIA,aAAiBN,KACZM,EAEF6E,EAASxC,QAAQ,IAAI3C,KAAKwE,GAAWlE,EAAA,EAG9CiD,EAAQX,OACR,SAAgBtC,GACd,IAAIS,EAAU,IAAIf,KAAKwE,GACvB,OAAOW,EAASvC,OAAO7B,EAAST,EAAA,EAGlCiD,EAAQ00C,IACR,SAAa33C,GACX,IAAIS,EAAOf,KACX,GAAiD,mBAA7CR,OAAOU,UAAUsP,SAAS5O,KAAKN,GACjC,OAAON,KAAK4C,OAAO,IAAIwB,UAAU,qBAGnC,IAAI3C,EAAMnB,EAASK,OACfF,GAAA,EACJ,IAAKgB,EACH,OAAOzB,KAAK2C,QAAQ,IAQtB,IALA,IAAInC,EAAS,IAAIb,MAAM8B,GACnBlB,EAAW,EACX2L,GAAK,EACL1K,EAAU,IAAIxB,KAAKwE,KAEd0H,EAAIzK,GACX8B,EAAYjD,EAAS4L,GAAIA,GAE3B,OAAO1K,EACP,SAAS+B,EAAYjD,EAAOkE,GAC1BzD,EAAK4B,QAAQrC,GAAO8C,MAMpB,SAAwB9C,GACtBE,EAAOgE,GAAKlE,IACNC,IAAakB,GAAQhB,IACzBA,GAAA,EACA0E,EAASxC,QAAQnB,EAAShB,GAAA,IAVW,SAAUF,GAC5CG,IACHA,GAAA,EACA0E,EAASvC,OAAOpB,EAASlB,GAAA,MAajCiD,EAAQk7iB,KACR,SAAcn+iB,GACZ,IAAIS,EAAOf,KACX,GAAiD,mBAA7CR,OAAOU,UAAUsP,SAAS5O,KAAKN,GACjC,OAAON,KAAK4C,OAAO,IAAIwB,UAAU,qBAGnC,IAAI3C,EAAMnB,EAASK,OACfF,GAAA,EACJ,IAAKgB,EACH,OAAOzB,KAAK2C,QAAQ,IAMtB,IAHA,IAOkBuJ,EAPd1L,GAAK,EACLD,EAAU,IAAIP,KAAKwE,KAEdhE,EAAIiB,GAIKyK,EAHP5L,EAASE,GAIlBO,EAAK4B,QAAQuJ,GAAO9I,MAAK,SAAU9C,GAC5BG,IACHA,GAAA,EACA0E,EAASxC,QAAQpC,EAASD,GAAA,IAE3B,SAAUA,GACNG,IACHA,GAAA,EACA0E,EAASvC,OAAOrC,EAASD,GAAA,IAV/B,OAAOC,CAAA,IAAAspK,UAAA,oBAAAvpK,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,sBAAAmB,EAAAnB,GAAA,OAAAmB,EAAA,mBAAAuC,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CCxPT,IASIG,EAAe,sBACfD,EAAkB6kC,OAAO5kC,EAAa4xC,QAGtC7tC,EAA8B,oBAAVlE,EAAP,YAAAmB,EAAOnB,KAAsBA,GAAUA,EAAOd,SAAWA,QAAUc,EAGhF6E,EAA0B,WAAf,oBAAOiJ,KAAP,YAAA3M,EAAO2M,QAAoBA,MAAQA,KAAK5O,SAAWA,QAAU4O,KAGxE7N,EAAOiE,GAAcW,GAAYg0H,SAAS,cAATA,GAUjCjtH,EAPc1M,OAAOU,UAOQsP,SAG7BhO,EAASjB,EAAKyD,OAGdT,EAAc/B,EAASA,EAAOtB,eAAA,EAC9B8lC,EAAiBziC,EAAcA,EAAYiM,cAAA,EAU/C,SAASmZ,EAAaroB,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAoDF,SAAkBA,GAChB,MAAuB,UAAhBmB,EAAOnB,IAtBhB,SAAsBA,GACpB,QAASA,GAAyB,UAAhBmB,EAAOnB,EAAA,CAD3B,CAuBkBA,IAtGF,mBAsGY4L,EAAetL,KAAKN,EAAA,CAFhD,CApDeA,GACX,OAAO0lC,EAAiBA,EAAeplC,KAAKN,GAAS,GAEvD,IAAIS,EAAUT,EAAQ,GACtB,MAAkB,KAAVS,GAAkB,EAAIT,IAAA,IAAuB,KAAOS,CAAA,CAoG9DA,EAAO3C,QAPP,SAAsBkC,GAnBtB,IAAkBS,EAqBhB,OADAT,EAnBgB,OADAS,EAoBET,GAnBK,GAAKqoB,EAAa5nB,KAoBvBP,EAAgBmhC,KAAKrhC,GACnCA,EAAO+Z,QAAQ5Z,EAAc,QAC7BH,CAAA,IAAAM,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,sBAAAG,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CCxJN,IAiBIE,EAAU,qBAOVgE,EAAS,eAETW,EAAY,kBAGZ5E,EAAS,eAkBT2L,EAAe,mDACf1K,EAAgB,QAChB+B,EAAe,MACfyiC,EAAa,mGASbrd,EAAe,WAGfrpB,EAAe,8BAGfM,EAAW,mBAGX6E,EAAiB,CAAC,EACtBA,EAjCiB,yBAiCYA,EAhCZ,yBAiCjBA,EAhCc,sBAgCYA,EA/BX,uBAgCfA,EA/Be,uBA+BYA,EA9BZ,uBA+BfA,EA9BsB,8BA8BYA,EA7BlB,wBA8BhBA,EA7BgB,2BA8BhBA,EAAejE,GAAWiE,EAxDX,kBAyDfA,EAzCqB,wBAyCYA,EAxDnB,oBAyDdA,EAzCkB,qBAyCYA,EAxDhB,iBAyDdA,EAxDe,kBAwDYA,EAvDb,qBAwDdA,EAAeD,GAAUC,EArDT,mBAsDhBA,EAAeU,GAAaV,EAnDZ,mBAoDhBA,EAAelE,GAAUkE,EAlDT,mBAmDhBA,EAjDiB,uBAoDjB,IAAIjB,EAA8B,oBAAVlD,EAAP,YAAAG,EAAOH,KAAsBA,GAAUA,EAAOd,SAAWA,QAAUc,EAGhFf,EAA0B,WAAf,oBAAO6O,KAAP,YAAA3N,EAAO2N,QAAoBA,MAAQA,KAAK5O,SAAWA,QAAU4O,KAGxElK,EAAOV,GAAcjE,GAAY45H,SAAS,cAATA,GAGjC11H,EAAgC,oBAAXhC,EAAP,YAAAhB,EAAOgB,KAAuBA,IAAYA,EAAQiV,UAAYjV,EAG5E8hG,EAAa9/F,GAAgC,oBAAV1C,EAAP,YAAAN,EAAOM,KAAsBA,IAAWA,EAAO2V,UAAY3V,EAMvF2C,EAHgB6/F,GAAcA,EAAWnlG,UAAYqF,GAGtBD,EAAW4F,QAG1C1E,EAAY,WACd,IACE,OAAOhB,GAAeA,EAAYsgkB,QAAQ,QAC1C,MAAO1jkB,GAAA,EAHK,GAOZsgB,EAAmBlc,GAAYA,EAASu/jB,aAY5C,SAASj4Y,EAAgB1rL,EAAOS,EAAQU,EAAUhB,GAIhD,IAHA,IAAID,GAAS,EACTgE,EAASlE,EAAQA,EAAMK,OAAS,IAE3BH,EAAQgE,GAAQ,CACvB,IAAIW,EAAQ7E,EAAME,GAClBO,EAAON,EAAa0E,EAAO1D,EAAS0D,GAAQ7E,EAAA,CAE9C,OAAOG,CAAA,CAaT,SAAS0zI,EAAU7zI,EAAOS,GAIxB,IAHA,IAAIU,GAAS,EACThB,EAASH,EAAQA,EAAMK,OAAS,IAE3Bc,EAAQhB,GACf,GAAIM,EAAUT,EAAMmB,GAAQA,EAAOnB,GACjC,OAAO,EAGX,OAAO,EAmET,SAAS8E,EAAa9E,GAGpB,IAAIS,GAAA,EACJ,GAAa,MAATT,GAA0C,mBAAlBA,EAAMkP,SAChC,IACEzO,KAAYT,EAAQ,IACpB,MAAOA,GAAA,CAEX,OAAOS,CAAA,CAUT,SAAS+qL,EAAWxrL,GAClB,IAAIS,GAAS,EACTU,EAAS9B,MAAMW,EAAIqgB,MAKvB,OAHArgB,EAAI4P,SAAQ,SAAS5P,EAAOG,GAC1BgB,IAASV,GAAS,CAACN,EAAKH,EAAA,IAEnBmB,CAAA,CAwBT,SAAS6whB,EAAWhyhB,GAClB,IAAIS,GAAS,EACTU,EAAS9B,MAAMW,EAAIqgB,MAKvB,OAHArgB,EAAI4P,SAAQ,SAAS5P,GACnBmB,IAASV,GAAST,CAAA,IAEbmB,CAAA,CAIT,IASM8/D,EAjCW7L,EAAMlzD,EAwBnBs1D,EAAan4D,MAAMO,UACnB8uf,EAAY71X,SAASj5H,UACrBqyhB,EAAc/yhB,OAAOU,UAGrBsyhB,EAAatuhB,EAAK,sBAGlBuuhB,GACElxd,EAAM,SAAS5/C,KAAK6wgB,GAAcA,EAAWhihB,MAAQgihB,EAAWhihB,KAAK0zjB,UAAY,KACvE,iBAAmB3igB,EAAO,GAItCmxd,EAAe1jC,EAAUx/e,SAGzBkuD,EAAiB60d,EAAY1yhB,eAO7B+rL,EAAiB2mW,EAAY/ihB,SAG7BqR,EAAawkB,OAAO,IACtBqtf,EAAa9xhB,KAAK88D,GAAgBrjD,QA9PjB,sBA8PuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5EgghB,EAASn2hB,EAAKF,OACd49D,EAAa19D,EAAKgD,WAClBozhB,EAAuB/H,EAAYrxhB,qBACnCuE,EAASqyD,EAAWxkD,OAGpBiwD,GA/Da7N,EA+DQl2D,OAAOgR,KA/DThO,EA+DehD,OA9D7B,SAASc,GACd,OAAOo1D,EAAKlzD,EAAUlC,GAAA,GAgEtBiuF,EAAW8gd,GAAUnriB,EAAM,YAC3BooL,EAAM+iX,GAAUnriB,EAAM,OACtBq2hB,EAAU8U,GAAUnriB,EAAM,WAC1BqoL,EAAM8iX,GAAUnriB,EAAM,OACtBs2hB,EAAU6U,GAAUnriB,EAAM,WAC1Bu2hB,EAAe4U,GAAU7viB,OAAQ,UAGjCk7hB,EAAqBypC,GAAS51e,GAC9Bs9F,EAAgBs4Y,GAAS73Y,GACzB3J,GAAoBwhZ,GAAS5pC,GAC7Bt9W,GAAgBknZ,GAAS53Y,GACzB0hX,GAAoBk2B,GAAS3pC,GAG7B0T,GAAc7T,EAASA,EAAOn6hB,eAAA,EAC9Bq+K,GAAgB2vX,GAAcA,GAAYrxc,aAAA,EAC1Csxc,GAAiBD,GAAcA,GAAY1+hB,cAAA,EAS/C,SAASkvF,GAAKp+F,GACZ,IAAIS,GAAS,EACTU,EAASnB,EAAUA,EAAQK,OAAS,EAGxC,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KA2F7B,SAAS2tiB,GAAU9tiB,GACjB,IAAIS,GAAS,EACTU,EAASnB,EAAUA,EAAQK,OAAS,EAGxC,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KAyG7B,SAAS4tiB,GAAS/tiB,GAChB,IAAIS,GAAS,EACTU,EAASnB,EAAUA,EAAQK,OAAS,EAGxC,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KAwF7B,SAAS6tiB,GAAShuiB,GAChB,IAAIS,GAAS,EACTU,EAASnB,EAASA,EAAOK,OAAS,EAGtC,IADAX,KAAKokkB,SAAW,IAAI/1B,KACXttiB,EAAQU,GACfzB,KAAK8T,IAAIxT,EAAOS,GAAA,CA2CpB,SAASwtiB,GAAMjuiB,GACbN,KAAKokkB,SAAW,IAAIh2B,GAAU9tiB,EAAA,CA4FhC,SAASs/K,GAAct/K,EAAOS,GAG5B,IAAIU,EAAU4ikB,GAAQ/jkB,IAAUgkkB,GAAYhkkB,GA7mB9C,SAAmBA,EAAGS,GAIpB,IAHA,IAAIU,GAAS,EACThB,EAASd,MAAMW,KAEVmB,EAAQnB,GACfG,EAAOgB,GAASV,EAASU,GAE3B,OAAOhB,CAAA,CAPT,CA8mBgBH,EAAMK,OAAQwO,QACxB,GAEA1O,EAASgB,EAAOd,OAChBH,IAAgBC,EAEpB,IAAK,IAAI+D,KAAOlE,GACTS,IAAa28D,EAAe98D,KAAKN,EAAOkE,IACvChE,IAAuB,UAAPgE,GAAmB+qiB,GAAQ/qiB,EAAK/D,KACpDgB,EAAO6C,KAAKE,GAGhB,OAAO/C,CAAA,CAWT,SAAS0uhB,GAAa7vhB,EAAOS,GAE3B,IADA,IAAIU,EAASnB,EAAMK,OACZc,KACL,GAAI8ikB,GAAGjkkB,EAAMmB,GAAQ,GAAIV,GACvB,OAAOU,EAGX,OAAQ,EAcV,SAAS+siB,GAAeluiB,EAAYS,EAAQU,EAAUhB,GAIpD,OAHAguiB,GAASnuiB,GAAY,SAASA,EAAOE,EAAKgE,GACxCzD,EAAON,EAAaH,EAAOmB,EAASnB,GAAQkE,EAAA,IAEvC/D,CAAA,CA9ZTi+F,GAAKx+F,UAAUs9B,MAnEf,WACEx9B,KAAKokkB,SAAW3pC,EAAeA,EAAa,MAAQ,CAAC,CAAD,EAmEtD/7b,GAAKx+F,UAALswE,OAtDA,SAAoBlwE,GAClB,OAAON,KAAK2G,IAAIrG,WAAeN,KAAKokkB,SAAS9jkB,EAAA,EAsD/Co+F,GAAKx+F,UAAU0G,IA1Cf,SAAiBtG,GACf,IAAIS,EAAOf,KAAKokkB,SAChB,GAAI3pC,EAAc,CAChB,IAAIh5hB,EAASV,EAAKT,GAClB,MAzYiB,8BAyYVmB,OAAA,EAAwCA,CAAA,CAEjD,OAAOi8D,EAAe98D,KAAKG,EAAMT,GAAOS,EAAKT,QAAA,CAAO,EAqCtDo+F,GAAKx+F,UAAUyG,IAzBf,SAAiBrG,GACf,IAAIS,EAAOf,KAAKokkB,SAChB,OAAO3pC,OAAA,IAAe15hB,EAAKT,GAAqBo9D,EAAe98D,KAAKG,EAAMT,EAAA,EAwB5Eo+F,GAAKx+F,UAAU4G,IAXf,SAAiBxG,EAAKS,GAGpB,OAFWf,KAAKokkB,SACX9jkB,GAAQm6hB,QAAA,IAAgB15hB,EAxaV,4BAwakDA,EAC9Df,IAAA,EAoHTouiB,GAAUluiB,UAAUs9B,MAjFpB,WACEx9B,KAAKokkB,SAAW,IAiFlBh2B,GAAUluiB,UAAVswE,OArEA,SAAyBlwE,GACvB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAAQ0uhB,GAAapvhB,EAAMT,GAE/B,QAAImB,EAAQ,KAIRA,GADYV,EAAKJ,OAAS,EAE5BI,EAAKsD,MAELoB,EAAO7E,KAAKG,EAAMU,EAAO,MAEpB,EAyDT2siB,GAAUluiB,UAAU0G,IA7CpB,SAAsBtG,GACpB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAAQ0uhB,GAAapvhB,EAAMT,GAE/B,OAAOmB,EAAQ,OAAI,EAAYV,EAAKU,GAAO,IA0C7C2siB,GAAUluiB,UAAUyG,IA9BpB,SAAsBrG,GACpB,OAAO6vhB,GAAanwhB,KAAKokkB,SAAU9jkB,IAAQ,GA8B7C8tiB,GAAUluiB,UAAU4G,IAjBpB,SAAsBxG,EAAKS,GACzB,IAAIU,EAAOzB,KAAKokkB,SACZ3jkB,EAAQ0vhB,GAAa1uhB,EAAMnB,GAO/B,OALIG,EAAQ,EACVgB,EAAK6C,KAAK,CAAChE,EAAKS,IAEhBU,EAAKhB,GAAO,GAAKM,EAEZf,IAAA,EAkGTquiB,GAASnuiB,UAAUs9B,MA/DnB,WACEx9B,KAAKokkB,SAAW,CACdp9jB,KAAQ,IAAI03F,GACZ7/F,IAAO,IAAKytL,GAAO8hX,IACnBxmhB,OAAU,IAAI82E,GAAA,EA4DlB2vc,GAASnuiB,UAATswE,OA/CA,SAAwBlwE,GACtB,OAAO8uiB,GAAWpviB,KAAMM,GAAjBkwE,OAAgClwE,EAAA,EA+CzC+tiB,GAASnuiB,UAAU0G,IAnCnB,SAAqBtG,GACnB,OAAO8uiB,GAAWpviB,KAAMM,GAAKsG,IAAItG,EAAA,EAmCnC+tiB,GAASnuiB,UAAUyG,IAvBnB,SAAqBrG,GACnB,OAAO8uiB,GAAWpviB,KAAMM,GAAKqG,IAAIrG,EAAA,EAuBnC+tiB,GAASnuiB,UAAU4G,IAVnB,SAAqBxG,EAAKS,GAExB,OADAquiB,GAAWpviB,KAAMM,GAAKwG,IAAIxG,EAAKS,GACxBf,IAAA,EAyDTsuiB,GAASpuiB,UAAU4T,IAAMw6hB,GAASpuiB,UAAUoE,KAnB5C,SAAqBhE,GAEnB,OADAN,KAAKokkB,SAASt9jB,IAAIxG,EA9pBC,6BA+pBZN,IAAA,EAkBTsuiB,GAASpuiB,UAAUyG,IANnB,SAAqBrG,GACnB,OAAON,KAAKokkB,SAASz9jB,IAAIrG,EAAA,EA6F3BiuiB,GAAMruiB,UAAUs9B,MApEhB,WACEx9B,KAAKokkB,SAAW,IAAIh2B,EAAA,EAoEtBG,GAAMruiB,UAANswE,OAxDA,SAAqBlwE,GACnB,OAAON,KAAKokkB,SAAL5zf,OAAwBlwE,EAAA,EAwDjCiuiB,GAAMruiB,UAAU0G,IA5ChB,SAAkBtG,GAChB,OAAON,KAAKokkB,SAASx9jB,IAAItG,EAAA,EA4C3BiuiB,GAAMruiB,UAAUyG,IAhChB,SAAkBrG,GAChB,OAAON,KAAKokkB,SAASz9jB,IAAIrG,EAAA,EAgC3BiuiB,GAAMruiB,UAAU4G,IAnBhB,SAAkBxG,EAAKS,GACrB,IAAIU,EAAQzB,KAAKokkB,SACjB,GAAI3ikB,aAAiB2siB,GAAW,CAC9B,IAAI3tiB,EAAQgB,EAAM2ikB,SAClB,IAAK93Y,GAAQ7rL,EAAME,OAAS,IAE1B,OADAF,EAAM6D,KAAK,CAAChE,EAAKS,IACVf,KAETyB,EAAQzB,KAAKokkB,SAAW,IAAI/1B,GAAS5tiB,EAAA,CAGvC,OADAgB,EAAMqF,IAAIxG,EAAKS,GACRf,IAAA,EAiFT,IAiYwBqsC,GAAUgB,GAjY9BohgB,IAiYoBpigB,GA1WxB,SAAoB/rC,EAAQS,GAC1B,OAAOT,GAAUquiB,GAAQruiB,EAAQS,EAAUyjkB,GAAA,EA0WpC,SAASlkkB,EAAYS,GAC1B,GAAkB,MAAdT,EACF,OAAOA,EAET,IAAKmkkB,GAAYnkkB,GACf,OAAO+rC,GAAS/rC,EAAYS,GAM9B,IAJA,IAAIU,EAASnB,EAAWK,OACpBF,EAAQ4sC,GAAY5rC,GAAU,EAC9BjB,EAAWhB,OAAOc,IAEd+sC,GAAY5sC,MAAYA,EAAQgB,KAAA,IAClCV,EAASP,EAASC,GAAQA,EAAOD,KAIvC,OAAOF,CAAA,GArYPquiB,GAgZJ,SAAuBruiB,GACrB,OAAO,SAASS,EAAQU,EAAUhB,GAMhC,IALA,IAAID,GAAS,EACTgE,EAAWhF,OAAOuB,GAClBoE,EAAQ1E,EAASM,GACjBR,EAAS4E,EAAMxE,OAEZJ,KAAU,CACf,IAAI2L,EAAM/G,EAAM7E,EAAYC,IAAWC,GACvC,IAAI,IAAAiB,EAAS+C,EAAS0H,GAAMA,EAAK1H,GAC/B,MAGJ,OAAOzD,CAAA,EAbX,GA1XA,SAAS6tiB,GAAQtuiB,EAAQS,GAMvB,IAHA,IAAIU,EAAQ,EACRhB,GAHJM,EAAOyuiB,GAAMzuiB,EAAMT,GAAU,CAACS,GAAQmuiB,GAASnuiB,IAG7BJ,OAED,MAAVL,GAAkBmB,EAAQhB,GAC/BH,EAASA,EAAOqviB,GAAM5uiB,EAAKU,OAE7B,OAAQA,GAASA,GAAShB,EAAUH,OAAA,CAAS,CAsB/C,SAASuuiB,GAAUvuiB,EAAQS,GACzB,OAAiB,MAAVT,GAAkBS,KAAOvB,OAAOc,EAAA,CAkBzC,SAASwuiB,GAAYxuiB,EAAOS,EAAOU,EAAYhB,EAASyL,GACtD,OAAI5L,IAAUS,IAGD,MAATT,GAA0B,MAATS,IAAmB2jkB,GAASpkkB,KAAWqkkB,GAAa5jkB,GAChET,GAAUA,GAASS,GAAUA,EAoBxC,SAAyBT,EAAQS,EAAOU,EAAWhB,EAAYyL,EAAS1K,GACtE,IAAI+B,EAAW8gkB,GAAQ/jkB,GACnB0lC,EAAWq+hB,GAAQtjkB,GACnB4nB,EA37BS,iBA47BTrpB,EA57BS,iBA87BRiE,IAEHolB,GADAA,EAAS2mhB,GAAOhviB,KACGE,EAAU2E,EAAYwjB,GAEtCqd,IAEH1mC,GADAA,EAASgwiB,GAAOvuiB,KACGP,EAAU2E,EAAY7F,GAE3C,IAAIM,EAAW+oB,GAAUxjB,IAAcC,EAAa9E,GAChDmE,EAAWnF,GAAU6F,IAAcC,EAAarE,GAChDyC,EAAYmlB,GAAUrpB,EAE1B,GAAIkE,IAAc5D,EAEhB,OADA4B,IAAUA,EAAQ,IAAI+siB,IACdhriB,GAAYqhkB,GAAatkkB,GAC7B6uiB,GAAY7uiB,EAAQS,EAAOU,EAAWhB,EAAYyL,EAAS1K,GAwYnE,SAAoBlB,EAAQS,EAAOU,EAAKhB,EAAWD,EAAY2E,EAAS+G,GACtE,OAAQzK,GACN,IAt0Cc,oBAu0CZ,GAAKnB,EAAOqJ,YAAc5I,EAAM4I,YAC3BrJ,EAAOoJ,YAAc3I,EAAM2I,WAC9B,OAAO,EAETpJ,EAASA,EAAOmJ,OAChB1I,EAAQA,EAAM0I,OAEhB,IA/0CiB,uBAg1Cf,QAAKnJ,EAAOqJ,YAAc5I,EAAM4I,aAC3BlJ,EAAU,IAAImhE,EAAWthE,GAAS,IAAIshE,EAAW7gE,KAKxD,IAr2CU,mBAs2CV,IAr2CU,gBAs2CV,IAj2CY,kBAo2CV,OAAOwjkB,IAAIjkkB,GAASS,GAEtB,IA12CW,iBA22CT,OAAOT,EAAOyG,MAAQhG,EAAMgG,MAAQzG,EAAOqY,SAAW5X,EAAM4X,QAE9D,IAt2CY,kBAu2CZ,IAr2CY,kBAy2CV,OAAOrY,GAAWS,EAAQ,GAE5B,KAAKyD,EACH,IAAIhD,EAAUsqL,EAEhB,KAAKvrL,EACH,IAAIgD,EAn4CiB,EAm4CL4B,EAGhB,GAFA3D,IAAYA,EAAU8whB,GAElBhyhB,EAAOqgB,MAAQ5f,EAAM4f,OAASpd,EAChC,OAAO,EAGT,IAAIyiC,EAAU95B,EAAMtF,IAAItG,GACxB,GAAI0lC,EACF,OAAOA,GAAWjlC,EAEpBoE,GA/4CuB,EAk5CvB+G,EAAMpF,IAAIxG,EAAQS,GAClB,IAAI4nB,EAASwmhB,GAAY3tiB,EAAQlB,GAASkB,EAAQT,GAAQN,EAAWD,EAAY2E,EAAS+G,GAE1F,OADAA,EAAKskE,OAAWlwE,GACTqoB,EAET,IAj4CY,kBAk4CV,GAAI41J,GACF,OAAOA,GAAc39K,KAAKN,IAAWi+K,GAAc39K,KAAKG,GAG9D,OAAO,EA9DT,CAvYmBT,EAAQS,EAAO4nB,EAAQlnB,EAAWhB,EAAYyL,EAAS1K,GAExE,KAx9ByB,EAw9BnB0K,GAAiC,CACrC,IAAI3M,EAAeK,GAAY89D,EAAe98D,KAAKN,EAAQ,eACvD4D,EAAeO,GAAYi5D,EAAe98D,KAAKG,EAAO,eAE1D,GAAIxB,GAAgB2E,EAAc,CAChC,IAAIT,EAAelE,EAAee,EAAOwC,QAAUxC,EAC/CijG,EAAer/F,EAAenD,EAAM+B,QAAU/B,EAGlD,OADAS,IAAUA,EAAQ,IAAI+siB,IACf9siB,EAAUgC,EAAc8/F,EAAc9iG,EAAYyL,EAAS1K,EAAA,EAGtE,QAAKgC,IAGLhC,IAAUA,EAAQ,IAAI+siB,IAqcxB,SAAsBjuiB,EAAQS,EAAOU,EAAWhB,EAAYD,EAASgE,GACnE,IAAIW,EA76CqB,EA66CT3E,EACZD,EAAWikkB,GAAKlkkB,GAChB4L,EAAY3L,EAASI,OAIzB,GAAIuL,GAHWs4jB,GAAKzjkB,GACKJ,SAEMwE,EAC7B,OAAO,EAGT,IADA,IAAI5B,EAAQ2I,EACL3I,KAAS,CACd,IAAIyiC,EAAMzlC,EAASgD,GACnB,KAAM4B,EAAY6gC,KAAOjlC,EAAQ28D,EAAe98D,KAAKG,EAAOilC,IAC1D,OAAO,EAIX,IAAIrd,EAAUnkB,EAAMoC,IAAItG,GACxB,GAAIqoB,GAAWnkB,EAAMoC,IAAI7F,GACvB,OAAO4nB,GAAW5nB,EAEpB,IAAIzB,GAAA,EACJkF,EAAMsC,IAAIxG,EAAQS,GAClByD,EAAMsC,IAAI/F,EAAOT,GAGjB,IADA,IAAIV,EAAWuF,IACN5B,EAAQ2I,GAAW,CAE1B,IAAIzH,EAAWnE,EADf0lC,EAAMzlC,EAASgD,IAEXC,EAAWzC,EAAMilC,GAErB,GAAIvlC,EACF,IAAIlB,EAAW4F,EACX1E,EAAW+C,EAAUiB,EAAUuhC,EAAKjlC,EAAOT,EAAQkE,GACnD/D,EAAWgE,EAAUjB,EAAUwiC,EAAK1lC,EAAQS,EAAOyD,GAGzD,UAAM,IAAAjF,EACGkF,IAAajB,GAAY/B,EAAUgD,EAAUjB,EAAU/C,EAAYD,EAASgE,GAC7EjF,GACD,CACLD,GAAA,EACA,MAEFM,IAAaA,EAAkB,eAAPomC,EAAA,CAE1B,GAAI1mC,IAAWM,EAAU,CACvB,IAAIsE,EAAU5D,EAAOL,YACjBwD,EAAU1C,EAAMd,YAGhBiE,GAAWT,KACV,gBAAiBnD,MAAU,gBAAiBS,IACzB,mBAAXmD,GAAyBA,aAAmBA,GACjC,mBAAXT,GAAyBA,aAAmBA,IACvDnE,GAAA,EAAS,CAKb,OAFAkF,EAAKgsE,OAAWlwE,GAChBkE,EAAKgsE,OAAWzvE,GACTzB,CAAA,CA7DT,CApcsBgB,EAAQS,EAAOU,EAAWhB,EAAYyL,EAAS1K,GAAA,CAxCrE,CAlByBlB,EAAOS,EAAO+tiB,GAAartiB,EAAYhB,EAASyL,GAAA,CA2HzE,SAAS6iiB,GAAazuiB,GACpB,SAAKokkB,GAASpkkB,IA4mBhB,SAAkBA,GAChB,QAASmyhB,GAAeA,KAAcnyhB,CAAA,CADxC,CA5mBmCA,MAGlBukkB,GAAWvkkB,IAAU8E,EAAa9E,GAAUugB,EAAavhB,GACzDqiC,KAAKwiiB,GAAS7jkB,GAAA,CAsB/B,SAAS0uiB,GAAa1uiB,GAGpB,MAAoB,mBAATA,EACFA,EAEI,MAATA,EACKwkkB,GAEW,UAAhBrkkB,EAAOH,GACF+jkB,GAAQ/jkB,GAoDnB,SAA6BA,EAAMS,GACjC,OAAIyuiB,GAAMlviB,IAASmviB,GAAmB1uiB,GAC7B2uiB,GAAwBC,GAAMrviB,GAAOS,GAEvC,SAASU,GACd,IAAIhB,EAojCR,SAAaH,EAAQS,EAAMU,GACzB,IAAIhB,EAAmB,MAAVH,OAAA,EAA6BsuiB,GAAQtuiB,EAAQS,GAC1D,YAAO,IAAAN,EAAuBgB,EAAehB,CAAA,CAF/C,CApjCuBgB,EAAQnB,GAC3B,YAAO,IAACG,GAA0BA,IAAaM,EAklCnD,SAAeT,EAAQS,GACrB,OAAiB,MAAVT,GAppBT,SAAiBA,EAAQS,EAAMU,GAO7B,IAJA,IAAIhB,EACAD,GAAS,EACTgE,GAJJzD,EAAOyuiB,GAAMzuiB,EAAMT,GAAU,CAACS,GAAQmuiB,GAASnuiB,IAI7BJ,SAETH,EAAQgE,GAAQ,CACvB,IAAIW,EAAMwqiB,GAAM5uiB,EAAKP,IACrB,KAAMC,EAAmB,MAAVH,GAAkBmB,EAAQnB,EAAQ6E,IAC/C,MAEF7E,EAASA,EAAO6E,EAAA,CAElB,OAAI1E,MAGA+D,EAASlE,EAASA,EAAOK,OAAS,IACnBokkB,GAASvgkB,IAAW+qiB,GAAQpqiB,EAAKX,KACjD6/jB,GAAQ/jkB,IAAWgkkB,GAAYhkkB,GAAA,CAnBpC,CAopBmCA,EAAQS,EAAM8tiB,GAAA,CADjD,CAjlCcptiB,EAAQnB,GACdwuiB,GAAY/tiB,EAAUN,OAAA,EAAqB,IARnD,CAnD4BH,EAAM,GAAIA,EAAM,IAiC5C,SAAqBA,GACnB,IAAIS,EAiZN,SAAsBT,GAIpB,IAHA,IAAIS,EAASyjkB,GAAKlkkB,GACdmB,EAASV,EAAOJ,OAEbc,KAAU,CACf,IAAIhB,EAAMM,EAAOU,GACbjB,EAAQF,EAAOG,GAEnBM,EAAOU,GAAU,CAAChB,EAAKD,EAAOiviB,GAAmBjviB,GAAA,CAEnD,OAAOO,CAAA,CAVT,CAjZ+BT,GAC7B,OAAwB,GAApBS,EAAUJ,QAAeI,EAAU,GAAG,GACjC2uiB,GAAwB3uiB,EAAU,GAAG,GAAIA,EAAU,GAAG,IAExD,SAASU,GACd,OAAOA,IAAWnB,GAjItB,SAAqBA,EAAQS,EAAQU,EAAWhB,GAC9C,IAAID,EAAQiB,EAAUd,OAClB6D,EAAShE,EACT2E,GAAgB1E,EAEpB,GAAc,MAAVH,EACF,OAAQkE,EAGV,IADAlE,EAASd,OAAOc,GACTE,KAAS,CACd,IAAID,EAAOkB,EAAUjB,GACrB,GAAK2E,GAAgB5E,EAAK,GAClBA,EAAK,KAAOD,EAAOC,EAAK,MACtBA,EAAK,KAAMD,GAEnB,OAAO,EAGX,OAASE,EAAQgE,GAAQ,CAEvB,IAAI0H,GADJ3L,EAAOkB,EAAUjB,IACF,GACXgB,EAAWlB,EAAO4L,GAClB3I,EAAWhD,EAAK,GAEpB,GAAI4E,GAAgB5E,EAAK,IACvB,QAAI,IAAAiB,KAA4B0K,KAAO5L,GACrC,OAAO,MAEJ,CACL,IAAI0lC,EAAQ,IAAIuogB,GAChB,GAAI9tiB,EACF,IAAIkoB,EAASloB,EAAWe,EAAU+B,EAAU2I,EAAK5L,EAAQS,EAAQilC,GAEnE,UAAM,IAAArd,EACEmmhB,GAAYvriB,EAAU/B,EAAUf,EAAY,EAA+CulC,GAC3Frd,GAEN,OAAO,GAIb,OAAO,EAzCT,CAiI4ClnB,EAAQnB,EAAQS,EAAA,EAN5D,CAhCoBT,GAytCXkviB,GADSzuiB,EAttCAT,IAx7BImB,EA+oEckuiB,GAAM5uiB,GA9oEjC,SAAST,GACd,OAAiB,MAAVA,OAAA,EAA6BA,EAAOmB,EAAA,GAy/B/C,SAA0BnB,GACxB,OAAO,SAASS,GACd,OAAO6tiB,GAAQ7tiB,EAAQT,EAAA,EAF3B,CAopCoES,GADpE,IAAkBA,EA9oEIU,CAAA,CAk8BtB,SAASwtiB,GAAS3uiB,GAChB,GAqkBImB,GADeV,EApkBFT,IAqkBGS,EAAMd,YAGnBc,KAFqB,mBAARU,GAAsBA,EAAKvB,WAAcqyhB,GArkB3D,OAAOhvd,EAAWjjE,GAmkBtB,IAAqBS,EACfU,EAlkBAjB,EAAS,GACb,IAAK,IAAIgE,KAAOhF,OAAOc,GACjBo9D,EAAe98D,KAAKN,EAAQkE,IAAe,eAAPA,GACtChE,EAAO8D,KAAKE,GAGhB,OAAOhE,CAAA,CAgFT,SAAS0uiB,GAAS5uiB,GAChB,OAAO+jkB,GAAQ/jkB,GAASA,EAAQm5E,GAAan5E,EAAA,CAuF/C,SAAS6uiB,GAAY7uiB,EAAOS,EAAOU,EAAWhB,EAAYD,EAASgE,GACjE,IAAIW,EA/wCqB,EA+wCT3E,EACZD,EAAYD,EAAMK,OAClBuL,EAAYnL,EAAMJ,OAEtB,GAAIJ,GAAa2L,KAAe/G,GAAa+G,EAAY3L,GACvD,OAAO,EAGT,IAAIiB,EAAUgD,EAAMoC,IAAItG,GACxB,GAAIkB,GAAWgD,EAAMoC,IAAI7F,GACvB,OAAOS,GAAWT,EAEpB,IAAIwC,GAAS,EACTyiC,GAAA,EACArd,EA9xCuB,EA8xCfnoB,EAAoC,IAAI8tiB,QAAA,EAMpD,IAJA9piB,EAAMsC,IAAIxG,EAAOS,GACjByD,EAAMsC,IAAI/F,EAAOT,KAGRiD,EAAQhD,GAAW,CAC1B,IAAIjB,EAAWgB,EAAMiD,GACjB3D,EAAWmB,EAAMwC,GAErB,GAAI9C,EACF,IAAIgE,EAAWU,EACX1E,EAAWb,EAAUN,EAAUiE,EAAOxC,EAAOT,EAAOkE,GACpD/D,EAAWnB,EAAUM,EAAU2D,EAAOjD,EAAOS,EAAOyD,GAE1D,QAAI,IAAAC,EAAwB,CAC1B,GAAIA,EACF,SAEFuhC,GAAA,EACA,MAGF,GAAIrd,GACF,IAAKwrH,EAAUpzI,GAAO,SAAST,EAAUS,GACnC,IAAK4nB,EAAKhiB,IAAI5F,KACTzB,IAAagB,GAAYmB,EAAUnC,EAAUgB,EAAUG,EAAYD,EAASgE,IAC/E,OAAOmkB,EAAK7U,IAAI/S,EAAA,IAEhB,CACNilC,GAAA,EACA,YAEG,GACD1mC,IAAaM,IACX6B,EAAUnC,EAAUM,EAAUa,EAAYD,EAASgE,GACpD,CACLwhC,GAAA,EACA,OAKJ,OAFAxhC,EAAKgsE,OAAWlwE,GAChBkE,EAAKgsE,OAAWzvE,GACTilC,CAAA,CA4KT,SAASopgB,GAAW9uiB,EAAKS,GACvB,IAmJiBU,EACbjB,EApJAgE,EAAOlE,EAAI8jkB,SACf,OAoJgB,WADZ5jkB,EAAIC,EADSgB,EAlJAV,KAoJmB,UAARP,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAViB,EACU,OAAVA,GArJD+C,EAAmB,iBAAPzD,EAAkB,SAAW,QACzCyD,EAAK3F,GAAA,CA+BX,SAASwwiB,GAAU/uiB,EAAQS,GACzB,IAAIU,EAh1CN,SAAkBnB,EAAQS,GACxB,OAAiB,MAAVT,OAAA,EAA6BA,EAAOS,EAAA,CAD7C,CAg1CuBT,EAAQS,GAC7B,OAAOguiB,GAAattiB,GAASA,OAAA,CAAQ,CAUvC,IAAI6tiB,GA3pBJ,SAAoBhviB,GAClB,OAAOsrL,EAAehrL,KAAKN,EAAA,EA4tB7B,SAASiviB,GAAQjviB,EAAOS,GAEtB,SADAA,EAAmB,MAAVA,EAlmDY,iBAkmDwBA,KAE1B,iBAATT,GAAqBV,EAAS+hC,KAAKrhC,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQS,CAAA,CAW7C,SAASyuiB,GAAMlviB,EAAOS,GACpB,GAAIsjkB,GAAQ/jkB,GACV,OAAO,EAET,IAAImB,EAAIhB,EAAUH,GAClB,QAAY,UAARmB,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAATnB,IAAiB0kkB,GAAS1kkB,KAGvBkB,EAAcmgC,KAAKrhC,KAAW4L,EAAay1B,KAAKrhC,IAC1C,MAAVS,GAAkBT,KAASd,OAAOuB,EAAA,CAkDvC,SAAS0uiB,GAAmBnviB,GAC1B,OAAOA,GAAUA,IAAUokkB,GAASpkkB,EAAA,CAYtC,SAASoviB,GAAwBpviB,EAAKS,GACpC,OAAO,SAASU,GACd,OAAc,MAAVA,GAGGA,EAAOnB,KAASS,SAAA,IACpBA,GAA2BT,KAAOd,OAAOiC,GAAA,GA5J3C8sF,GA9gDa,qBA8gDD+gd,GAAO,IAAI/gd,EAAS,IAAIhlF,YAAY,MAChD+iL,GAAOgjX,GAAO,IAAIhjX,IAAQ9nL,GAC1B+1hB,GAxhDY,oBAwhDD+U,GAAO/U,EAAQ53hB,YAC1B4pL,GAAO+iX,GAAO,IAAI/iX,IAAQhsL,GAC1Bi6hB,GArhDY,oBAqhDD8U,GAAO,IAAI9U,MACzB8U,GAAS,SAAShviB,GAChB,IAAIS,EAAS6qL,EAAehrL,KAAKN,GAC7BmB,EAAOV,GAAUoE,EAAY7E,EAAML,iBAAA,EACnCQ,EAAagB,EAAO0ikB,GAAS1ikB,QAAA,EAEjC,GAAIhB,EACF,OAAQA,GACN,KAAKi6hB,EAAoB,MA1hDf,oBA2hDV,KAAK7uW,EAAe,OAAOrnL,EAC3B,KAAKm+K,GAAmB,MApiDf,mBAqiDT,KAAK1F,GAAe,OAAO18K,EAC3B,KAAK0tiB,GAAmB,MAjiDf,mBAoiDb,OAAOltiB,CAAA,GAoJX,IAAI04E,GAAewrf,IAAQ,SAAS3kkB,GAgdpC,IAAkBS,EA/chBT,EAgdgB,OADAS,EA/cET,GAgdK,GA5/BzB,SAAsBA,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI0kkB,GAAS1kkB,GACX,OAAO6tiB,GAAiBA,GAAevtiB,KAAKN,GAAS,GAEvD,IAAIS,EAAUT,EAAQ,GACtB,MAAkB,KAAVS,GAAkB,EAAIT,IAAA,IAAuB,KAAOS,CAAA,CAT9D,CA4/B2CA,GA9czC,IAAIU,EAAS,GAOb,OANI8B,EAAao+B,KAAKrhC,IACpBmB,EAAO6C,KAAK,IAEdhE,EAAO+Z,QAAQ2rB,GAAY,SAAS1lC,EAAOS,EAAQN,EAAOD,GACxDiB,EAAO6C,KAAK7D,EAAQD,EAAO6Z,QAAQsO,EAAc,MAAS5nB,GAAUT,EAAA,IAE/DmB,CAAA,IAUT,SAASkuiB,GAAMrviB,GACb,GAAoB,iBAATA,GAAqB0kkB,GAAS1kkB,GACvC,OAAOA,EAET,IAAIS,EAAUT,EAAQ,GACtB,MAAkB,KAAVS,GAAkB,EAAIT,IAAA,IAAuB,KAAOS,CAAA,CAU9D,SAASojkB,GAAS7jkB,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOoyhB,EAAa9xhB,KAAKN,EAAA,CACzB,MAAOA,GAAA,CACT,IACE,OAAQA,EAAO,GACf,MAAOA,GAAA,EAEX,MAAO,GA2BT,IAnlB0B4kkB,GAAQC,GAmlB9BC,IAnlBsBF,GAmlBK,SAAS5kkB,EAAQS,EAAOU,GACjDi8D,EAAe98D,KAAKN,EAAQmB,GAC9BnB,EAAOmB,GAAK6C,KAAKvD,GAEjBT,EAAOmB,GAAO,CAACV,EAAA,EAtlBV,SAAST,EAAYS,GAC1B,IAAIU,EAAO4ikB,GAAQ/jkB,GAAc0rL,EAAkBwiX,GAC/C/tiB,EAAc0kkB,GAAcA,KAAgB,CAAC,EAEjD,OAAO1jkB,EAAKnB,EAAY4kkB,GAAQl2B,GAAajuiB,GAAcN,EAAA,GAkoB/D,SAASwkkB,GAAQ3kkB,EAAMS,GACrB,GAAmB,mBAART,GAAuBS,GAA+B,mBAAZA,EACnD,MAAM,IAAIqD,UAl1DQ,uBAo1DpB,IAAI3C,EAAW,SAAXA,IACF,IAAIhB,EAAOC,UACPF,EAAMO,EAAWA,EAASF,MAAMb,KAAMS,GAAQA,EAAK,GACnD+D,EAAQ/C,EAASshB,MAErB,GAAIve,EAAMmC,IAAInG,GACZ,OAAOgE,EAAMoC,IAAIpG,GAEnB,IAAI2E,EAAS7E,EAAKO,MAAMb,KAAMS,GAE9B,OADAgB,EAASshB,MAAQve,EAAMsC,IAAItG,EAAK2E,GACzBA,CAAA,EAGT,OADA1D,EAASshB,MAAQ,IAAKkijB,GAAQI,OAASh3B,IAChC5siB,CAAA,CAsCT,SAAS8ikB,GAAGjkkB,EAAOS,GACjB,OAAOT,IAAUS,GAAUT,GAAUA,GAASS,GAAUA,CAAA,CAqB1D,SAASujkB,GAAYhkkB,GAEnB,OAmFF,SAA2BA,GACzB,OAAOqkkB,GAAarkkB,IAAUmkkB,GAAYnkkB,EAAA,CAD5C,CAnF2BA,IAAUo9D,EAAe98D,KAAKN,EAAO,aAC1Dg6hB,EAAqB15hB,KAAKN,EAAO,WAAasrL,EAAehrL,KAAKN,IAAUE,EAAA,CA3DlFykkB,GAAQI,MAAQh3B,GAqFhB,IAAIg2B,GAAU1kkB,MAAMkoB,QA2BpB,SAAS48iB,GAAYnkkB,GACnB,OAAgB,MAATA,GAAiBykkB,GAASzkkB,EAAMK,UAAYkkkB,GAAWvkkB,EAAA,CAiDhE,SAASukkB,GAAWvkkB,GAGlB,IAAIS,EAAM2jkB,GAASpkkB,GAASsrL,EAAehrL,KAAKN,GAAS,GACzD,MAx/DY,qBAw/DLS,GAv/DI,8BAu/DcA,CAAA,CA6B3B,SAASgkkB,GAASzkkB,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA/hEb,iBA2jEvB,SAASokkB,GAASpkkB,GAChB,IAAIS,EAAIN,EAAUH,GAClB,QAASA,IAAkB,UAARS,GAA4B,YAARA,EAAA,CA2BzC,SAAS4jkB,GAAarkkB,GACpB,QAASA,GAAyB,UAAhBG,EAAOH,EAAA,CAoB3B,SAAS0kkB,GAAS1kkB,GAChB,MAAuB,UAAhBG,EAAOH,IACXqkkB,GAAarkkB,IA9lEF,mBA8lEYsrL,EAAehrL,KAAKN,EAAA,CAoBhD,IAAIskkB,GAAehkjB,EA78DnB,SAAmBtgB,GACjB,OAAO,SAASS,GACd,OAAOT,EAAKS,EAAA,EAFhB,CA68DgD6f,GA/kChD,SAA0BtgB,GACxB,OAAOqkkB,GAAarkkB,IAClBykkB,GAASzkkB,EAAMK,WAAa8D,EAAemnL,EAAehrL,KAAKN,GAAA,EAgsCnE,SAASkkkB,GAAKlkkB,GACZ,OAAOmkkB,GAAYnkkB,GAAUs/K,GAAct/K,GAAU2uiB,GAAS3uiB,EAAA,CAmBhE,SAASwkkB,GAASxkkB,GAChB,OAAOA,CAAA,CA6BTS,EAAO3C,QAAUgnkB,EAAA,GAAAxkkB,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,GAAA,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CCtzEjB,IASIE,EANchB,OAAOU,UAMQsP,SAkDjCzO,EAAO3C,QAhCP,SAAmBkC,GACjB,OAAO,IAAAA,IAAA,IAAkBA,GA2B3B,SAAsBA,GACpB,QAASA,GAAyB,UAAhBG,EAAOH,EAAA,CAD3B,CA1BkBA,IA7BJ,oBA6BcE,EAAeI,KAAKN,EAAA,qBAAAA,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,sBAAAG,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CC7BhD,IAaIE,EAAU,qBAQVgE,EAAS,eAGTW,EAAY,kBAIZ5E,EAAS,eAyBT2L,EAAe,8BAGf1K,EAAW,mBAGX+B,EAAiB,CAAC,EACtBA,EAxBiB,yBAwBYA,EAvBZ,yBAwBjBA,EAvBc,sBAuBYA,EAtBX,uBAuBfA,EAtBe,uBAsBYA,EArBZ,uBAsBfA,EArBsB,8BAqBYA,EApBlB,wBAqBhBA,EApBgB,2BAqBhBA,EAAe/C,GAAW+C,EAnDX,kBAoDfA,EAhCqB,wBAgCYA,EAlDnB,oBAmDdA,EAhCkB,qBAgCYA,EAlDhB,iBAmDdA,EAlDe,kBAkDYA,EAjDb,qBAkDdA,EAAeiB,GAAUjB,EA/CT,mBAgDhBA,EAAe4B,GAAa5B,EA3CZ,mBA4ChBA,EAAehD,GAAUgD,EA1CT,mBA2ChBA,EAxCiB,uBA2CjB,IAAIyiC,EAA8B,oBAAV1lC,EAAP,YAAAG,EAAOH,KAAsBA,GAAUA,EAAOd,SAAWA,QAAUc,EAGhFqoB,EAA0B,WAAf,oBAAOva,KAAP,YAAA3N,EAAO2N,QAAoBA,MAAQA,KAAK5O,SAAWA,QAAU4O,KAGxE9O,EAAO0mC,GAAcrd,GAAYwwG,SAAS,cAATA,GAGjCv5H,EAAgC,oBAAX6B,EAAP,YAAAhB,EAAOgB,KAAuBA,IAAYA,EAAQiV,UAAYjV,EAG5EgD,EAAa7E,GAAgC,oBAAVmB,EAAP,YAAAN,EAAOM,KAAsBA,IAAWA,EAAO2V,UAAY3V,EAGvFyC,EAAgBiB,GAAcA,EAAWrG,UAAYwB,EAGrDL,EAAciE,GAAiBwiC,EAAW58B,QAG1ClF,EAAY,WACd,IACE,OAAO3E,GAAeA,EAAYykkB,SAAWzkkB,EAAYykkB,QAAQ,QACjE,MAAO1jkB,GAAA,EAHK,GAOZmD,EAAmBS,GAAYA,EAAS+/jB,aAuD5C,SAAS1ge,EAAUjjG,EAAOS,GAIxB,IAHA,IAAIU,GAAS,EACThB,EAAkB,MAATH,EAAgB,EAAIA,EAAMK,SAE9Bc,EAAQhB,GACf,GAAIM,EAAUT,EAAMmB,GAAQA,EAAOnB,GACjC,OAAO,EAGX,OAAO,EAkET,SAASoD,EAAWpD,GAClB,IAAIS,GAAS,EACTU,EAAS9B,MAAMW,EAAIqgB,MAKvB,OAHArgB,EAAI4P,SAAQ,SAAS5P,EAAOG,GAC1BgB,IAASV,GAAS,CAACN,EAAKH,EAAA,IAEnBmB,CAAA,CAwBT,SAASiD,EAAWpE,GAClB,IAAIS,GAAS,EACTU,EAAS9B,MAAMW,EAAIqgB,MAKvB,OAHArgB,EAAI4P,SAAQ,SAAS5P,GACnBmB,IAASV,GAAST,CAAA,IAEbmB,CAAA,CAIT,IAeMmf,EAvCWorK,EAAM73C,EAwBnB/uI,EAAazF,MAAMO,UACnB4rL,EAAY3yD,SAASj5H,UACrBoyhB,EAAc9yhB,OAAOU,UAGrBqhE,EAAajiE,EAAK,sBAGlBo2D,EAAeo2H,EAAUt8K,SAGzBhN,EAAiB8vhB,EAAYzyhB,eAG7Bi4D,GACEl3C,EAAM,SAASe,KAAK4/C,GAAcA,EAAW/wD,MAAQ+wD,EAAW/wD,KAAK0zjB,UAAY,KACvE,iBAAmBtjjB,EAAO,GAQtCoue,EAAuBsjC,EAAY9ihB,SAGnC+ihB,EAAaltf,OAAO,IACtBqwB,EAAa90D,KAAK4B,GAAgB6X,QA7PjB,sBA6PuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5Em4gB,EAAShvhB,EAAgBlE,EAAKoO,YAAA,EAC9B+khB,EAASnzhB,EAAK0E,OACd0uhB,EAAapzhB,EAAK4H,WAClBw2D,EAAuB40d,EAAYpxhB,qBACnC0qL,EAASxmL,EAAWkO,OACpBuN,EAAiB4xgB,EAASA,EAAOrxe,iBAAA,EAGjCi5e,EAAmB76hB,OAAOyB,sBAC1B2gE,EAAiB4wd,EAASA,EAAOr2e,cAAA,EACjCm+e,GAnEatuW,EAmEQxsL,OAAOgR,KAnET2jI,EAmEe30I,OAlE7B,SAASc,GACd,OAAO0rL,EAAK73C,EAAU7zI,GAAA,GAoEtBmF,EAAWmpiB,GAAUtviB,EAAM,YAC3BikE,EAAMqre,GAAUtviB,EAAM,OACtBivF,EAAUqgd,GAAUtviB,EAAM,WAC1BgtL,EAAMsiX,GAAUtviB,EAAM,OACtBi7hB,EAAUqU,GAAUtviB,EAAM,WAC1BitL,EAAeqiX,GAAUpviB,OAAQ,UAGjCg7hB,EAAqBwU,GAASvpiB,GAC9Bg1hB,EAAgBuU,GAASzre,GACzBm3d,EAAoBsU,GAASzgd,GAC7Bs9F,EAAgBmjX,GAAS1iX,GACzB3J,GAAoBqsX,GAASzU,GAG7Bt9W,GAAcw1W,EAASA,EAAOvyhB,eAAA,EAC9B+tiB,GAAgBhxX,GAAcA,GAAYpgF,aAAA,EAS9C,SAASqxc,GAAK5tiB,GACZ,IAAIS,GAAS,EACTU,EAAoB,MAAXnB,EAAkB,EAAIA,EAAQK,OAG3C,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KA+F7B,SAAS89K,GAAUj+K,GACjB,IAAIS,GAAS,EACTU,EAAoB,MAAXnB,EAAkB,EAAIA,EAAQK,OAG3C,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KA4G7B,SAAS0tiB,GAAS7tiB,GAChB,IAAIS,GAAS,EACTU,EAAoB,MAAXnB,EAAkB,EAAIA,EAAQK,OAG3C,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KA+F7B,SAASi+F,GAASp+F,GAChB,IAAIS,GAAS,EACTU,EAAmB,MAAVnB,EAAiB,EAAIA,EAAOK,OAGzC,IADAX,KAAKokkB,SAAW,IAAIj2B,KACXptiB,EAAQU,GACfzB,KAAK8T,IAAIxT,EAAOS,GAAA,CA2CpB,SAASqtiB,GAAM9tiB,GACb,IAAIS,EAAOf,KAAKokkB,SAAW,IAAI7lZ,GAAUj+K,GACzCN,KAAK2gB,KAAO5f,EAAK4f,IAAA,CAmGnB,SAAS0thB,GAAc/tiB,EAAOS,GAC5B,IAAIU,EAAQ0tiB,GAAQ7uiB,GAChBG,GAASgB,GAASytiB,GAAY5uiB,GAC9BE,GAAUiB,IAAUhB,GAAS2uiB,GAAS9uiB,GACtCkE,GAAU/C,IAAUhB,IAAUD,GAAUiviB,GAAanviB,GACrD6E,EAAc1D,GAAShB,GAASD,GAAUgE,EAC1CjE,EAAS4E,EAloBf,SAAmB7E,EAAGS,GAIpB,IAHA,IAAIU,GAAS,EACThB,EAASd,MAAMW,KAEVmB,EAAQnB,GACfG,EAAOgB,GAASV,EAASU,GAE3B,OAAOhB,CAAA,CAPT,CAkoBuCH,EAAMK,OAAQwO,QAAU,GACzDjD,EAAS3L,EAAOI,OAEpB,IAAK,IAAIa,KAAOlB,GACTS,IAAayB,EAAe5B,KAAKN,EAAOkB,IACvC2D,IAEQ,UAAP3D,GAEChB,IAAkB,UAAPgB,GAA0B,UAAPA,IAE9BgD,IAAkB,UAAPhD,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDutiB,GAAQvtiB,EAAK0K,KAElB3L,EAAO+D,KAAK9C,GAGhB,OAAOjB,CAAA,CAWT,SAAS+tiB,GAAahuiB,EAAOS,GAE3B,IADA,IAAIU,EAASnB,EAAMK,OACZc,KACL,GAAIwtiB,GAAG3uiB,EAAMmB,GAAQ,GAAIV,GACvB,OAAOU,EAGX,OAAQ,EA0BV,SAAS8siB,GAAWjuiB,GAClB,OAAa,MAATA,OAAA,IACKA,EAt1BQ,qBARL,gBAg2BJugB,GAAkBA,KAAkBrhB,OAAOc,GA0arD,SAAmBA,GACjB,IAAIS,EAAQyB,EAAe5B,KAAKN,EAAOugB,GACnCpf,EAAMnB,EAAMugB,GAEhB,IACEvgB,EAAMugB,QAAA,EACN,IAAIpgB,GAAA,CAAW,CACf,MAAOH,GAAA,CAET,IAAIE,EAASwuf,EAAqBpuf,KAAKN,GAQvC,OAPIG,IACEM,EACFT,EAAMugB,GAAkBpf,SAEjBnB,EAAMugB,IAGVrgB,CAAA,CAjBT,CAzagBF,GA4iBhB,SAAwBA,GACtB,OAAO0uf,EAAqBpuf,KAAKN,EAAA,CADnC,CA3iBqBA,EAAA,CAUrB,SAASs/K,GAAgBt/K,GACvB,OAAOkviB,GAAalviB,IAAUiuiB,GAAWjuiB,IAAUE,CAAA,CAiBrD,SAAS2vhB,GAAY7vhB,EAAOS,EAAOU,EAAShB,EAAYyL,GACtD,OAAI5L,IAAUS,IAGD,MAATT,GAA0B,MAATS,IAAmByuiB,GAAalviB,KAAWkviB,GAAazuiB,GACpET,GAAUA,GAASS,GAAUA,EAmBxC,SAAyBT,EAAQS,EAAOU,EAAShB,EAAYyL,EAAW1K,GACtE,IAAI+B,EAAW4riB,GAAQ7uiB,GACnB0lC,EAAWmpgB,GAAQpuiB,GACnB4nB,EAASplB,EAl6BA,iBAk6BsBuriB,GAAOxuiB,GACtChB,EAAS0mC,EAn6BA,iBAm6BsB8ogB,GAAO/tiB,GAKtCnB,GAHJ+oB,EAASA,GAAUnoB,EAAU2E,EAAYwjB,IAGhBxjB,EACrBV,GAHJnF,EAASA,GAAUkB,EAAU2E,EAAY7F,IAGhB6F,EACrB3B,EAAYmlB,GAAUrpB,EAE1B,GAAIkE,GAAa4riB,GAAS9uiB,GAAS,CACjC,IAAK8uiB,GAASruiB,GACZ,OAAO,EAETwC,GAAA,EACA3D,GAAA,CAAW,CAEb,GAAI4D,IAAc5D,EAEhB,OADA4B,IAAUA,EAAQ,IAAI4siB,IACd7qiB,GAAYksiB,GAAanviB,GAC7B+sC,GAAY/sC,EAAQS,EAAOU,EAAShB,EAAYyL,EAAW1K,GAiKnE,SAAoBlB,EAAQS,EAAOU,EAAKhB,EAASD,EAAY2E,EAAW+G,GACtE,OAAQzK,GACN,IApkCc,oBAqkCZ,GAAKnB,EAAOqJ,YAAc5I,EAAM4I,YAC3BrJ,EAAOoJ,YAAc3I,EAAM2I,WAC9B,OAAO,EAETpJ,EAASA,EAAOmJ,OAChB1I,EAAQA,EAAM0I,OAEhB,IA7kCiB,uBA8kCf,QAAKnJ,EAAOqJ,YAAc5I,EAAM4I,aAC3BxE,EAAU,IAAIuthB,EAAWpyhB,GAAS,IAAIoyhB,EAAW3xhB,KAKxD,IAtmCU,mBAumCV,IAtmCU,gBAumCV,IAlmCY,kBAqmCV,OAAOkuiB,IAAI3uiB,GAASS,GAEtB,IA3mCW,iBA4mCT,OAAOT,EAAOyG,MAAQhG,EAAMgG,MAAQzG,EAAOqY,SAAW5X,EAAM4X,QAE9D,IArmCY,kBAsmCZ,IApmCY,kBAwmCV,OAAOrY,GAAWS,EAAQ,GAE5B,KAAKyD,EACH,IAAIhD,EAAUkC,EAEhB,KAAKnD,EACH,IAAIgD,EAroCiB,EAqoCL9C,EAGhB,GAFAe,IAAYA,EAAUkD,GAElBpE,EAAOqgB,MAAQ5f,EAAM4f,OAASpd,EAChC,OAAO,EAGT,IAAIyiC,EAAU95B,EAAMtF,IAAItG,GACxB,GAAI0lC,EACF,OAAOA,GAAWjlC,EAEpBN,GA/oCuB,EAkpCvByL,EAAMpF,IAAIxG,EAAQS,GAClB,IAAI4nB,EAAS0kB,GAAY7rC,EAAQlB,GAASkB,EAAQT,GAAQN,EAASD,EAAY2E,EAAW+G,GAE1F,OADAA,EAAKskE,OAAWlwE,GACTqoB,EAET,IAhoCY,kBAioCV,GAAIslhB,GACF,OAAOA,GAAcrtiB,KAAKN,IAAW2tiB,GAAcrtiB,KAAKG,GAG9D,OAAO,EA9DT,CAhKmBT,EAAQS,EAAO4nB,EAAQlnB,EAAShB,EAAYyL,EAAW1K,GAExE,KAj8ByB,EAi8BnBC,GAAiC,CACrC,IAAIlC,EAAeK,GAAY4C,EAAe5B,KAAKN,EAAQ,eACvD4D,EAAeO,GAAYjC,EAAe5B,KAAKG,EAAO,eAE1D,GAAIxB,GAAgB2E,EAAc,CAChC,IAAIT,EAAelE,EAAee,EAAOwC,QAAUxC,EAC/CijG,EAAer/F,EAAenD,EAAM+B,QAAU/B,EAGlD,OADAS,IAAUA,EAAQ,IAAI4siB,IACfliiB,EAAUzI,EAAc8/F,EAAc9hG,EAAShB,EAAYe,EAAA,EAGtE,QAAKgC,IAGLhC,IAAUA,EAAQ,IAAI4siB,IA6NxB,SAAsB9tiB,EAAQS,EAAOU,EAAShB,EAAYD,EAAWgE,GACnE,IAAIW,EA9qCqB,EA8qCT1D,EACZlB,EAAWkuiB,GAAWnuiB,GACtB4L,EAAY3L,EAASI,OAIzB,GAAIuL,GAHWuiiB,GAAW1tiB,GACDJ,SAEMwE,EAC7B,OAAO,EAGT,IADA,IAAI5B,EAAQ2I,EACL3I,KAAS,CACd,IAAIyiC,EAAMzlC,EAASgD,GACnB,KAAM4B,EAAY6gC,KAAOjlC,EAAQyB,EAAe5B,KAAKG,EAAOilC,IAC1D,OAAO,EAIX,IAAIrd,EAAUnkB,EAAMoC,IAAItG,GACxB,GAAIqoB,GAAWnkB,EAAMoC,IAAI7F,GACvB,OAAO4nB,GAAW5nB,EAEpB,IAAIzB,GAAA,EACJkF,EAAMsC,IAAIxG,EAAQS,GAClByD,EAAMsC,IAAI/F,EAAOT,GAGjB,IADA,IAAIV,EAAWuF,IACN5B,EAAQ2I,GAAW,CAE1B,IAAIzH,EAAWnE,EADf0lC,EAAMzlC,EAASgD,IAEXC,EAAWzC,EAAMilC,GAErB,GAAIvlC,EACF,IAAIlB,EAAW4F,EACX1E,EAAW+C,EAAUiB,EAAUuhC,EAAKjlC,EAAOT,EAAQkE,GACnD/D,EAAWgE,EAAUjB,EAAUwiC,EAAK1lC,EAAQS,EAAOyD,GAGzD,UAAM,IAAAjF,EACGkF,IAAajB,GAAYhD,EAAUiE,EAAUjB,EAAU/B,EAAShB,EAAY+D,GAC7EjF,GACD,CACLD,GAAA,EACA,MAEFM,IAAaA,EAAkB,eAAPomC,EAAA,CAE1B,GAAI1mC,IAAWM,EAAU,CACvB,IAAIsE,EAAU5D,EAAOL,YACjBwD,EAAU1C,EAAMd,YAGhBiE,GAAWT,KACV,gBAAiBnD,MAAU,gBAAiBS,IACzB,mBAAXmD,GAAyBA,aAAmBA,GACjC,mBAAXT,GAAyBA,aAAmBA,IACvDnE,GAAA,EAAS,CAKb,OAFAkF,EAAKgsE,OAAWlwE,GAChBkE,EAAKgsE,OAAWzvE,GACTzB,CAAA,CA7DT,CA5NsBgB,EAAQS,EAAOU,EAAShB,EAAYyL,EAAW1K,GAAA,CA1CrE,CAjByBlB,EAAOS,EAAOU,EAAShB,EAAY0vhB,GAAajkhB,GAAA,CAsEzE,SAASsiiB,GAAaluiB,GACpB,SAAKiviB,GAASjviB,IAwahB,SAAkBA,GAChB,QAASw3D,GAAeA,KAAcx3D,CAAA,CADxC,CAxamCA,MAGnB+uiB,GAAW/uiB,GAASiyhB,EAAarmhB,GAChCy1B,KAAKqtgB,GAAS1uiB,GAAA,CAsB/B,SAAS+rC,GAAS/rC,GAChB,GAyZImB,GADeV,EAxZFT,IAyZGS,EAAMd,YAGnBc,KAFqB,mBAARU,GAAsBA,EAAKvB,WAAcoyhB,GAzZ3D,OAAOgI,EAAWh6hB,GAuZtB,IAAqBS,EACfU,EAtZAjB,EAAS,GACb,IAAK,IAAIgE,KAAOhF,OAAOc,GACjBkC,EAAe5B,KAAKN,EAAQkE,IAAe,eAAPA,GACtChE,EAAO8D,KAAKE,GAGhB,OAAOhE,CAAA,CAgBT,SAAS6sC,GAAY/sC,EAAOS,EAAOU,EAAShB,EAAYD,EAAWgE,GACjE,IAAIW,EAlhCqB,EAkhCT1D,EACZlB,EAAYD,EAAMK,OAClBuL,EAAYnL,EAAMJ,OAEtB,GAAIJ,GAAa2L,KAAe/G,GAAa+G,EAAY3L,GACvD,OAAO,EAGT,IAAIiB,EAAUgD,EAAMoC,IAAItG,GACxB,GAAIkB,GAAWgD,EAAMoC,IAAI7F,GACvB,OAAOS,GAAWT,EAEpB,IAAIwC,GAAS,EACTyiC,GAAA,EACArd,EA/hCuB,EA+hCflnB,EAAoC,IAAIi9F,QAAA,EAMpD,IAJAl6F,EAAMsC,IAAIxG,EAAOS,GACjByD,EAAMsC,IAAI/F,EAAOT,KAGRiD,EAAQhD,GAAW,CAC1B,IAAIjB,EAAWgB,EAAMiD,GACjB3D,EAAWmB,EAAMwC,GAErB,GAAI9C,EACF,IAAIgE,EAAWU,EACX1E,EAAWb,EAAUN,EAAUiE,EAAOxC,EAAOT,EAAOkE,GACpD/D,EAAWnB,EAAUM,EAAU2D,EAAOjD,EAAOS,EAAOyD,GAE1D,QAAI,IAAAC,EAAwB,CAC1B,GAAIA,EACF,SAEFuhC,GAAA,EACA,MAGF,GAAIrd,GACF,IAAK46E,EAAUxiG,GAAO,SAAST,EAAUS,GACnC,GA72BaoE,EA62BOpE,GAAN4nB,EA52BXhiB,IAAIxB,KA62BF7F,IAAagB,GAAYE,EAAUlB,EAAUgB,EAAUmB,EAAShB,EAAY+D,IAC/E,OAAOmkB,EAAKrkB,KAAKvD,GA/2B/B,IAAyBoE,CAAA,IAi3BX,CACN6gC,GAAA,EACA,YAEG,GACD1mC,IAAaM,IACXY,EAAUlB,EAAUM,EAAU6B,EAAShB,EAAY+D,GACpD,CACLwhC,GAAA,EACA,OAKJ,OAFAxhC,EAAKgsE,OAAWlwE,GAChBkE,EAAKgsE,OAAWzvE,GACTilC,CAAA,CAyKT,SAASyogB,GAAWnuiB,GAClB,OApZF,SAAwBA,EAAQS,EAAUU,GACxC,IAAIhB,EAASM,EAAST,GACtB,OAAO6uiB,GAAQ7uiB,GAAUG,EAhuB3B,SAAmBH,EAAOS,GAKxB,IAJA,IAAIU,GAAS,EACThB,EAASM,EAAOJ,OAChBH,EAASF,EAAMK,SAEVc,EAAQhB,GACfH,EAAME,EAASiB,GAASV,EAAOU,GAEjC,OAAOnB,CAAA,CART,CAguB8CG,EAAQgB,EAAYnB,GAAA,CAFlE,CAoZwBA,EAAQoviB,GAAMb,GAAA,CAWtC,SAASF,GAAWruiB,EAAKS,GACvB,IAsHiBU,EACbjB,EAvHAgE,EAAOlE,EAAI8jkB,SACf,OAuHgB,WADZ5jkB,EAAIC,EADSgB,EArHAV,KAuHmB,UAARP,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAViB,EACU,OAAVA,GAxHD+C,EAAmB,iBAAPzD,EAAkB,SAAW,QACzCyD,EAAK3F,GAAA,CAWX,SAAS+viB,GAAUtuiB,EAAQS,GACzB,IAAIU,EAxjCN,SAAkBnB,EAAQS,GACxB,OAAiB,MAAVT,OAAA,EAA6BA,EAAOS,EAAA,CAD7C,CAwjCuBT,EAAQS,GAC7B,OAAOytiB,GAAa/siB,GAASA,OAAA,CAAQ,CAp2BvCysiB,GAAKhuiB,UAAUs9B,MAvEf,WACEx9B,KAAKokkB,SAAW73Y,EAAeA,EAAa,MAAQ,CAAC,EACrDvsL,KAAK2gB,KAAO,GAsEduthB,GAAKhuiB,UAALswE,OAzDA,SAAoBlwE,GAClB,IAAIS,EAASf,KAAK2G,IAAIrG,WAAeN,KAAKokkB,SAAS9jkB,GAEnD,OADAN,KAAK2gB,MAAQ5f,EAAS,EAAI,EACnBA,CAAA,EAuDTmtiB,GAAKhuiB,UAAU0G,IA3Cf,SAAiBtG,GACf,IAAIS,EAAOf,KAAKokkB,SAChB,GAAI73Y,EAAc,CAChB,IAAI9qL,EAASV,EAAKT,GAClB,MA3YiB,8BA2YVmB,OAAA,EAAwCA,CAAA,CAEjD,OAAOe,EAAe5B,KAAKG,EAAMT,GAAOS,EAAKT,QAAA,CAAO,EAsCtD4tiB,GAAKhuiB,UAAUyG,IA1Bf,SAAiBrG,GACf,IAAIS,EAAOf,KAAKokkB,SAChB,OAAO73Y,OAAA,IAAgBxrL,EAAKT,GAAsBkC,EAAe5B,KAAKG,EAAMT,EAAA,EAyB9E4tiB,GAAKhuiB,UAAU4G,IAZf,SAAiBxG,EAAKS,GACpB,IAAIU,EAAOzB,KAAKokkB,SAGhB,OAFApkkB,KAAK2gB,MAAQ3gB,KAAK2G,IAAIrG,GAAO,EAAI,EACjCmB,EAAKnB,GAAQisL,QAAA,IAAgBxrL,EA3aV,4BA2akDA,EAC9Df,IAAA,EAuHTu+K,GAAUr+K,UAAUs9B,MApFpB,WACEx9B,KAAKokkB,SAAW,GAChBpkkB,KAAK2gB,KAAO,GAmFd49J,GAAUr+K,UAAVswE,OAvEA,SAAyBlwE,GACvB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAAQ6siB,GAAavtiB,EAAMT,GAE/B,QAAImB,EAAQ,KAIRA,GADYV,EAAKJ,OAAS,EAE5BI,EAAKsD,MAELunL,EAAOhrL,KAAKG,EAAMU,EAAO,KAEzBzB,KAAK2gB,MAAA,EACA,EA0DT49J,GAAUr+K,UAAU0G,IA9CpB,SAAsBtG,GACpB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAAQ6siB,GAAavtiB,EAAMT,GAE/B,OAAOmB,EAAQ,OAAI,EAAYV,EAAKU,GAAO,IA2C7C88K,GAAUr+K,UAAUyG,IA/BpB,SAAsBrG,GACpB,OAAOguiB,GAAatuiB,KAAKokkB,SAAU9jkB,IAAQ,GA+B7Ci+K,GAAUr+K,UAAU4G,IAlBpB,SAAsBxG,EAAKS,GACzB,IAAIU,EAAOzB,KAAKokkB,SACZ3jkB,EAAQ6tiB,GAAa7siB,EAAMnB,GAQ/B,OANIG,EAAQ,KACRT,KAAK2gB,KACPlf,EAAK6C,KAAK,CAAChE,EAAKS,KAEhBU,EAAKhB,GAAO,GAAKM,EAEZf,IAAA,EAyGTmuiB,GAASjuiB,UAAUs9B,MAtEnB,WACEx9B,KAAK2gB,KAAO,EACZ3gB,KAAKokkB,SAAW,CACdp9jB,KAAQ,IAAIkniB,GACZrviB,IAAO,IAAK0kE,GAAOg7G,IACnB32J,OAAU,IAAIsmhB,GAAA,EAkElBC,GAASjuiB,UAATswE,OArDA,SAAwBlwE,GACtB,IAAIS,EAAS4tiB,GAAW3uiB,KAAMM,GAAjBkwE,OAAgClwE,GAE7C,OADAN,KAAK2gB,MAAQ5f,EAAS,EAAI,EACnBA,CAAA,EAmDTotiB,GAASjuiB,UAAU0G,IAvCnB,SAAqBtG,GACnB,OAAOquiB,GAAW3uiB,KAAMM,GAAKsG,IAAItG,EAAA,EAuCnC6tiB,GAASjuiB,UAAUyG,IA3BnB,SAAqBrG,GACnB,OAAOquiB,GAAW3uiB,KAAMM,GAAKqG,IAAIrG,EAAA,EA2BnC6tiB,GAASjuiB,UAAU4G,IAdnB,SAAqBxG,EAAKS,GACxB,IAAIU,EAAOktiB,GAAW3uiB,KAAMM,GACxBG,EAAOgB,EAAKkf,KAIhB,OAFAlf,EAAKqF,IAAIxG,EAAKS,GACdf,KAAK2gB,MAAQlf,EAAKkf,MAAQlgB,EAAO,EAAI,EAC9BT,IAAA,EAyDT0+F,GAASx+F,UAAU4T,IAAM4qF,GAASx+F,UAAUoE,KAnB5C,SAAqBhE,GAEnB,OADAN,KAAKokkB,SAASt9jB,IAAIxG,EA3qBC,6BA4qBZN,IAAA,EAkBT0+F,GAASx+F,UAAUyG,IANnB,SAAqBrG,GACnB,OAAON,KAAKokkB,SAASz9jB,IAAIrG,EAAA,EAqG3B8tiB,GAAMluiB,UAAUs9B,MA3EhB,WACEx9B,KAAKokkB,SAAW,IAAI7lZ,GACpBv+K,KAAK2gB,KAAO,GA0EdythB,GAAMluiB,UAANswE,OA9DA,SAAqBlwE,GACnB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAASV,EAAIyvE,OAAWlwE,GAG5B,OADAN,KAAK2gB,KAAO5f,EAAK4f,KACVlf,CAAA,EA0DT2siB,GAAMluiB,UAAU0G,IA9ChB,SAAkBtG,GAChB,OAAON,KAAKokkB,SAASx9jB,IAAItG,EAAA,EA8C3B8tiB,GAAMluiB,UAAUyG,IAlChB,SAAkBrG,GAChB,OAAON,KAAKokkB,SAASz9jB,IAAIrG,EAAA,EAkC3B8tiB,GAAMluiB,UAAU4G,IArBhB,SAAkBxG,EAAKS,GACrB,IAAIU,EAAOzB,KAAKokkB,SAChB,GAAI3ikB,aAAgB88K,GAAW,CAC7B,IAAI99K,EAAQgB,EAAK2ikB,SACjB,IAAK7ggB,GAAQ9iE,EAAME,OAAS,IAG1B,OAFAF,EAAM6D,KAAK,CAAChE,EAAKS,IACjBf,KAAK2gB,OAASlf,EAAKkf,KACZ3gB,KAETyB,EAAOzB,KAAKokkB,SAAW,IAAIj2B,GAAS1tiB,EAAA,CAItC,OAFAgB,EAAKqF,IAAIxG,EAAKS,GACdf,KAAK2gB,KAAOlf,EAAKkf,KACV3gB,IAAA,EA+hBT,IAAI6uiB,GAAcxU,EAA+B,SAAS/5hB,GACxD,OAAc,MAAVA,EACK,IAETA,EAASd,OAAOc,GA9sClB,SAAqBA,EAAOS,GAM1B,IALA,IAAIU,GAAS,EACThB,EAAkB,MAATH,EAAgB,EAAIA,EAAMK,OACnCH,EAAW,EACXgE,EAAS,KAEJ/C,EAAQhB,GAAQ,CACvB,IAAI0E,EAAQ7E,EAAMmB,GACdV,EAAUoE,EAAO1D,EAAOnB,KAC1BkE,EAAOhE,KAAc2E,EAAA,CAGzB,OAAOX,CAAA,CAZT,CA+sCqB61hB,EAAiB/5hB,IAAS,SAASS,GACpD,OAAO28D,EAAqB98D,KAAKN,EAAQS,EAAA,MAsd7C,WACE,MAAO,IA5cL+tiB,GAASP,GAkCb,SAASQ,GAAQzuiB,EAAOS,GAEtB,SADAA,EAAmB,MAAVA,EAt2CY,iBAs2CwBA,KAE1B,iBAATT,GAAqBkB,EAASmgC,KAAKrhC,KAC1CA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQS,CAAA,CA4D7C,SAASiuiB,GAAS1uiB,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOo1D,EAAa90D,KAAKN,EAAA,CACzB,MAAOA,GAAA,CACT,IACE,OAAQA,EAAO,GACf,MAAOA,GAAA,EAEX,MAAO,GAmCT,SAAS2uiB,GAAG3uiB,EAAOS,GACjB,OAAOT,IAAUS,GAAUT,GAAUA,GAASS,GAAUA,CAAA,EA5IrD0E,GA7yCa,qBA6yCDqpiB,GAAO,IAAIrpiB,EAAS,IAAI8D,YAAY,MAChDg6D,GAAOure,GAAO,IAAIvre,IAAQ/+D,GAC1B+pF,GAzzCY,oBAyzCDugd,GAAOvgd,EAAQ5rF,YAC1B2pL,GAAOwiX,GAAO,IAAIxiX,IAAQ/rL,GAC1Bg6hB,GApzCY,oBAozCDuU,GAAO,IAAIvU,MACzBuU,GAAS,SAASxuiB,GAChB,IAAIS,EAASwtiB,GAAWjuiB,GACpBmB,EAAOV,GAAUoE,EAAY7E,EAAML,iBAAA,EACnCQ,EAAagB,EAAOutiB,GAASvtiB,GAAQ,GAEzC,GAAIhB,EACF,OAAQA,GACN,KAAK+5hB,EAAoB,MAzzCf,oBA0zCV,KAAKC,EAAe,OAAOj2hB,EAC3B,KAAKk2hB,EAAmB,MAr0Cf,mBAs0CT,KAAK7uW,EAAe,OAAOtrL,EAC3B,KAAKoiL,GAAmB,MAh0Cf,mBAm0Cb,OAAO5hL,CAAA,GA8IX,IAAImuiB,GAActvX,GAAgB,WAAa,OAAOl/K,SAAA,CAApB,IAAsCk/K,GAAkB,SAASt/K,GACjG,OAAOkviB,GAAalviB,IAAUkC,EAAe5B,KAAKN,EAAO,YACtDo9D,EAAqB98D,KAAKN,EAAO,WA0BlC6uiB,GAAUxviB,MAAMkoB,QAgDhBunhB,GAAWxte,GA4Of,WACE,OAAO,GA1LT,SAASyte,GAAW/uiB,GAClB,IAAKiviB,GAASjviB,GACZ,OAAO,EAIT,IAAIS,EAAMwtiB,GAAWjuiB,GACrB,MApmDY,qBAomDLS,GAnmDI,8BAmmDcA,GAxmDZ,0BAwmD6BA,GA7lD7B,kBA6lDgDA,CAAA,CA6B/D,SAASuuiB,GAAShviB,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA5oDb,iBAwqDvB,SAASiviB,GAASjviB,GAChB,IAAIS,EAAIN,EAAUH,GAClB,OAAgB,MAATA,IAA0B,UAARS,GAA4B,YAARA,EAAA,CA2B/C,SAASyuiB,GAAalviB,GACpB,OAAgB,MAATA,GAAiC,UAAhBG,EAAOH,EAAA,CAoBjC,IAAImviB,GAAehsiB,EAhiDnB,SAAmBnD,GACjB,OAAO,SAASS,GACd,OAAOT,EAAKS,EAAA,EAFhB,CAgiDgD0C,GAnvBhD,SAA0BnD,GACxB,OAAOkviB,GAAalviB,IAClBgviB,GAAShviB,EAAMK,WAAa4C,EAAegriB,GAAWjuiB,GAAA,EA+wB1D,SAASoviB,GAAKpviB,GACZ,OA1NgB,OADGS,EA2NAT,IA1NKgviB,GAASvuiB,EAAMJ,UAAY0uiB,GAAWtuiB,GA0NjCstiB,GAAc/tiB,GAAU+rC,GAAS/rC,GA3NhE,IAAqBS,CAAA,CAqQrBA,EAAO3C,QAlNP,SAAiBkC,EAAOS,GACtB,OAAOovhB,GAAY7vhB,EAAOS,EAAA,IAAAH,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,sBAAAmB,EAAAnB,GAAA,OAAAmB,EAAA,mBAAAuC,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CC5lD5B,IAQIG,EAA8B,oBAAVH,EAAP,YAAAmB,EAAOnB,KAAsBA,GAAUA,EAAOd,SAAWA,QAAUc,EAGhFE,EAA0B,WAAf,oBAAO4N,KAAP,YAAA3M,EAAO2M,QAAoBA,MAAQA,KAAK5O,SAAWA,QAAU4O,KAGxE5J,EAAO/D,GAAcD,GAAY24H,SAAS,cAATA,GAGjCh0H,EAAc3F,OAAOU,UAGrBK,EAAiB4E,EAAYtF,eAO7BqM,EAAuB/G,EAAYqK,SAGnChO,EAASgD,EAAKR,OACdT,EAAiB/B,EAASA,EAAO4/C,iBAAA,EASrC,SAASpb,EAAW1lC,GAClB,OAAa,MAATA,OAAA,IACKA,EArCQ,qBAFL,gBAyCJiD,GAAkBA,KAAkB/D,OAAOc,GAYrD,SAAmBA,GACjB,IAAIS,EAAQR,EAAeK,KAAKN,EAAOiD,GACnC9B,EAAMnB,EAAMiD,GAEhB,IACEjD,EAAMiD,QAAA,EACN,IAAI9C,GAAA,CAAW,CACf,MAAOH,GAAA,CAET,IAAIE,EAAS0L,EAAqBtL,KAAKN,GAQvC,OAPIG,IACEM,EACFT,EAAMiD,GAAkB9B,SAEjBnB,EAAMiD,IAGV/C,CAAA,CAjBT,CAXgBF,GAsChB,SAAwBA,GACtB,OAAO4L,EAAqBtL,KAAKN,EAAA,CADnC,CArCqBA,EAAA,CAkGrBS,EAAO3C,QAxCP,SAAoBkC,GAClB,IAkCF,SAAkBA,GAChB,IAAIS,EAAIU,EAAUnB,GAClB,OAAgB,MAATA,IAA0B,UAARS,GAA4B,YAARA,EAAA,CAF/C,CAlCgBT,GACZ,OAAO,EAIT,IAAIS,EAAMilC,EAAW1lC,GACrB,MA9GY,qBA8GLS,GA7GI,8BA6GcA,GA/GZ,0BA+G6BA,GA3G7B,kBA2GgDA,CAAA,IAAAH,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,GAAA,aCzF/DV,EAAO3C,QAJP,SAAekC,GACb,OAAgB,MAATA,CAAA,qBAAAA,EAAAS,EAAAU,GAAA,aCATV,EAAO3C,QAJP,SAAqBkC,GACnB,YAAO,IAAAA,CAAA,qBAAAA,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,sBAAAmB,EAAAnB,GAAA,OAAAmB,EAAA,mBAAAuC,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CChBT,IAmBIG,EAAe,8BAGfD,EAA8B,oBAAVF,EAAP,YAAAmB,EAAOnB,KAAsBA,GAAUA,EAAOd,SAAWA,QAAUc,EAGhFkE,EAA0B,WAAf,oBAAO4J,KAAP,YAAA3M,EAAO2M,QAAoBA,MAAQA,KAAK5O,SAAWA,QAAU4O,KAGxEjJ,EAAO3E,GAAcgE,GAAY20H,SAAS,cAATA,GAWrC,SAAS54H,EAAcD,EAAOS,GAE5B,SADaT,IAAQA,EAAMK,SAyD7B,SAAqBL,EAAOS,EAAOU,GACjC,GAAIV,GAAUA,EACZ,OAvBJ,SAAuBT,EAAOS,EAAWU,EAAWhB,GAIlD,IAHA,IAAID,EAASF,EAAMK,OACf6D,EAAQ/C,GAAahB,EAAY,GAAK,GAElCA,EAAY+D,MAAYA,EAAQhE,GACtC,GAAIO,EAAUT,EAAMkE,GAAQA,EAAOlE,GACjC,OAAOkE,EAGX,OAAQ,EATV,CAuByBlE,EAAOkB,EAAWC,GAKzC,IAHA,IAAIhB,EAAQgB,EAAY,EACpBjB,EAASF,EAAMK,SAEVF,EAAQD,GACf,GAAIF,EAAMG,KAAWM,EACnB,OAAON,EAGX,OAAQ,EAZV,CAxDiCH,EAAOS,EAAO,IAAM,EAYrD,SAASmL,EAAkB5L,EAAOS,EAAOU,GAIvC,IAHA,IAAIhB,GAAS,EACTD,EAASF,EAAQA,EAAMK,OAAS,IAE3BF,EAAQD,GACf,GAAIiB,EAAWV,EAAOT,EAAMG,IAC1B,OAAO,EAGX,OAAO,EAyDT,SAASe,EAAUlB,GACjB,OAAOA,GAAUA,CAAA,CAWnB,SAASiD,EAASjD,EAAOS,GACvB,OAAOT,EAAMqG,IAAI5F,EAAA,CAyCnB,SAASilC,EAAW1lC,GAClB,IAAIS,GAAS,EACTU,EAAS9B,MAAMW,EAAIqgB,MAKvB,OAHArgB,EAAI4P,SAAQ,SAAS5P,GACnBmB,IAASV,GAAST,CAAA,IAEbmB,CAAA,CAIT,IASMknB,EATFrpB,EAAaK,MAAMO,UACnBN,EAAYu5H,SAASj5H,UACrBuE,EAAcjF,OAAOU,UAGrBsD,EAAa2B,EAAK,sBAGlB5F,GACEopB,EAAM,SAAShH,KAAKne,GAAcA,EAAWgN,MAAQhN,EAAWgN,KAAK0zjB,UAAY,KACvE,iBAAmBv7iB,EAAO,GAItCzkB,EAAetE,EAAU4P,SAGzB/L,EAAiBgB,EAAY5E,eAO7B0jG,EAAiB9+F,EAAY+K,SAG7B9L,EAAa2hC,OAAO,IACtBnhC,EAAatD,KAAK6C,GAAgB4W,QApMjB,sBAoMuC,QACvDA,QAAQ,yDAA0D,SAAW,KAI5E3V,EAASpF,EAAWgU,OAGpBsN,EAAM2xgB,EAAUpthB,EAAM,OACtB6mL,EAAMumW,EAAUpthB,EAAM,OACtBgvI,EAAeo+Y,EAAU/yhB,OAAQ,UASrC,SAAS4F,EAAK9E,GACZ,IAAIS,GAAS,EACTU,EAASnB,EAAUA,EAAQK,OAAS,EAGxC,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KA2F7B,SAASqrL,EAAUxrL,GACjB,IAAIS,GAAS,EACTU,EAASnB,EAAUA,EAAQK,OAAS,EAGxC,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KAyG7B,SAAS6xhB,EAAShyhB,GAChB,IAAIS,GAAS,EACTU,EAASnB,EAAUA,EAAQK,OAAS,EAGxC,IADAX,KAAKw9B,UACIz8B,EAAQU,GAAQ,CACvB,IAAIhB,EAAQH,EAAQS,GACpBf,KAAK8G,IAAIrG,EAAM,GAAIA,EAAM,KAwF7B,SAAS8gE,EAASjhE,GAChB,IAAIS,GAAS,EACTU,EAASnB,EAASA,EAAOK,OAAS,EAGtC,IADAX,KAAKokkB,SAAW,IAAI9xC,IACXvxhB,EAAQU,GACfzB,KAAK8T,IAAIxT,EAAOS,GAAA,CA4CpB,SAAS20D,EAAap1D,EAAOS,GAE3B,IADA,IAgOUU,EAAOhB,EAhObD,EAASF,EAAMK,OACZH,KACL,IA8NQiB,EA9NDnB,EAAME,GAAQ,OA8NNC,EA9NUM,IA+NAU,GAAUA,GAAShB,GAAUA,EA9NpD,OAAOD,EAGX,OAAQ,EAWV,SAASgC,EAAalC,GACpB,SAAKkyhB,EAASlyhB,KAgIES,EAhIiBT,EAiIxBf,GAAeA,KAAcwB,MAkGxC,SAAoBT,GAGlB,IAAIS,EAAMyxhB,EAASlyhB,GAASijG,EAAe3iG,KAAKN,GAAS,GACzD,MA3zBY,qBA2zBLS,GA1zBI,8BA0zBcA,CAAA,CAJ3B,CAhO4BT,IAtc5B,SAAsBA,GAGpB,IAAIS,GAAA,EACJ,GAAa,MAATT,GAA0C,mBAAlBA,EAAMkP,SAChC,IACEzO,KAAYT,EAAQ,IACpB,MAAOA,GAAA,CAEX,OAAOS,CAAA,CATT,CAscmDT,GAAUoD,EAAajD,GACzDkhC,KAuIjB,SAAkBrhC,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAO4D,EAAatD,KAAKN,EAAA,CACzB,MAAOA,GAAA,CACT,IACE,OAAQA,EAAO,GACf,MAAOA,GAAA,EAEX,MAAO,GATT,CAvI+BA,IA4H/B,IAAkBS,CAAA,CAjalBqE,EAAKlF,UAAUs9B,MAnEf,WACEx9B,KAAKokkB,SAAWjwb,EAAeA,EAAa,MAAQ,CAAC,CAAD,EAmEtD/uI,EAAKlF,UAALswE,OAtDA,SAAoBlwE,GAClB,OAAON,KAAK2G,IAAIrG,WAAeN,KAAKokkB,SAAS9jkB,EAAA,EAsD/C8E,EAAKlF,UAAU0G,IA1Cf,SAAiBtG,GACf,IAAIS,EAAOf,KAAKokkB,SAChB,GAAIjwb,EAAc,CAChB,IAAI1yI,EAASV,EAAKT,GAClB,MArRiB,8BAqRVmB,OAAA,EAAwCA,CAAA,CAEjD,OAAOgC,EAAe7C,KAAKG,EAAMT,GAAOS,EAAKT,QAAA,CAAO,EAqCtD8E,EAAKlF,UAAUyG,IAzBf,SAAiBrG,GACf,IAAIS,EAAOf,KAAKokkB,SAChB,OAAOjwb,OAAA,IAAepzI,EAAKT,GAAqBmD,EAAe7C,KAAKG,EAAMT,EAAA,EAwB5E8E,EAAKlF,UAAU4G,IAXf,SAAiBxG,EAAKS,GAGpB,OAFWf,KAAKokkB,SACX9jkB,GAAQ6zI,QAAA,IAAgBpzI,EApTV,4BAoTkDA,EAC9Df,IAAA,EAoHT8rL,EAAU5rL,UAAUs9B,MAjFpB,WACEx9B,KAAKokkB,SAAW,IAiFlBt4Y,EAAU5rL,UAAVswE,OArEA,SAAyBlwE,GACvB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAAQi0D,EAAa30D,EAAMT,GAE/B,QAAImB,EAAQ,KAIRA,GADYV,EAAKJ,OAAS,EAE5BI,EAAKsD,MAELK,EAAO9D,KAAKG,EAAMU,EAAO,MAEpB,EAyDTqqL,EAAU5rL,UAAU0G,IA7CpB,SAAsBtG,GACpB,IAAIS,EAAOf,KAAKokkB,SACZ3ikB,EAAQi0D,EAAa30D,EAAMT,GAE/B,OAAOmB,EAAQ,OAAI,EAAYV,EAAKU,GAAO,IA0C7CqqL,EAAU5rL,UAAUyG,IA9BpB,SAAsBrG,GACpB,OAAOo1D,EAAa11D,KAAKokkB,SAAU9jkB,IAAQ,GA8B7CwrL,EAAU5rL,UAAU4G,IAjBpB,SAAsBxG,EAAKS,GACzB,IAAIU,EAAOzB,KAAKokkB,SACZ3jkB,EAAQi1D,EAAaj0D,EAAMnB,GAO/B,OALIG,EAAQ,EACVgB,EAAK6C,KAAK,CAAChE,EAAKS,IAEhBU,EAAKhB,GAAO,GAAKM,EAEZf,IAAA,EAkGTsyhB,EAASpyhB,UAAUs9B,MA/DnB,WACEx9B,KAAKokkB,SAAW,CACdp9jB,KAAQ,IAAI5B,EACZvG,IAAO,IAAK+hB,GAAOkrK,GACnBlkK,OAAU,IAAIxiB,EAAA,EA4DlBkthB,EAASpyhB,UAATswE,OA/CA,SAAwBlwE,GACtB,OAAO0uf,EAAWhvf,KAAMM,GAAjBkwE,OAAgClwE,EAAA,EA+CzCgyhB,EAASpyhB,UAAU0G,IAnCnB,SAAqBtG,GACnB,OAAO0uf,EAAWhvf,KAAMM,GAAKsG,IAAItG,EAAA,EAmCnCgyhB,EAASpyhB,UAAUyG,IAvBnB,SAAqBrG,GACnB,OAAO0uf,EAAWhvf,KAAMM,GAAKqG,IAAIrG,EAAA,EAuBnCgyhB,EAASpyhB,UAAU4G,IAVnB,SAAqBxG,EAAKS,GAExB,OADAiuf,EAAWhvf,KAAMM,GAAKwG,IAAIxG,EAAKS,GACxBf,IAAA,EAyDTuhE,EAASrhE,UAAU4T,IAAMytD,EAASrhE,UAAUoE,KAnB5C,SAAqBhE,GAEnB,OADAN,KAAKokkB,SAASt9jB,IAAIxG,EA1iBC,6BA2iBZN,IAAA,EAkBTuhE,EAASrhE,UAAUyG,IANnB,SAAqBrG,GACnB,OAAON,KAAKokkB,SAASz9jB,IAAIrG,EAAA,EA6G3B,IAAIw3D,EAAck0H,GAAQ,EAAIhmJ,EAAW,IAAIgmJ,EAAI,CAAC,EAAE,KAAK,IAlqB1C,IAkqBoE,SAAS1rL,GAC1F,OAAO,IAAI0rL,EAAI1rL,EAAA,EAwMjB,aA7LA,SAAS0uf,EAAW1uf,EAAKS,GACvB,IA0BiBN,EACbD,EA3BAgE,EAAOlE,EAAI8jkB,SACf,OA2BgB,WADZ5jkB,EAAIiB,EADShB,EAzBAM,KA2BmB,UAARP,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVC,EACU,OAAVA,GA5BD+D,EAAmB,iBAAPzD,EAAkB,SAAW,QACzCyD,EAAK3F,GAAA,CAWX,SAAS0zhB,EAAUjyhB,EAAQS,GACzB,IAAIU,EArjBN,SAAkBnB,EAAQS,GACxB,OAAiB,MAAVT,OAAA,EAA6BA,EAAOS,EAAA,CAD7C,CAqjBuBT,EAAQS,GAC7B,OAAOyB,EAAaf,GAASA,OAAA,CAAQ,CA2JvC,SAAS+whB,EAASlyhB,GAChB,IAAIS,EAAIU,EAAUnB,GAClB,QAASA,IAAkB,UAARS,GAA4B,YAARA,EAAA,CAmBzCA,EAAO3C,QAhHP,SAAckC,GACZ,OAAQA,GAASA,EAAMK,OAzJzB,SAAkBL,EAAOS,EAAUU,GACjC,IAAIhB,GAAS,EACTD,EAAWD,EACXiE,EAASlE,EAAMK,OACfwE,GAAA,EACA3D,EAAS,GACTmnB,EAAOnnB,EAEX,GAAIC,EACF0D,GAAA,EACA3E,EAAW0L,OAER,GAAI1H,GAznBY,IAynBgB,CACnC,IAAIlF,EAAMyB,EAAW,KAAO+2D,EAAUx3D,GACtC,GAAIhB,EACF,OAAO0mC,EAAW1mC,GAEpB6F,GAAA,EACA3E,EAAW+C,EACXolB,EAAO,IAAI44C,CAAA,MAGX54C,EAAO5nB,EAAW,GAAKS,EAEzBlB,EACA,OAASG,EAAQ+D,GAAQ,CACvB,IAAI5E,EAAQU,EAAMG,GACdgE,EAAW1D,EAAWA,EAASnB,GAASA,EAG5C,GADAA,EAAS6B,GAAwB,IAAV7B,EAAeA,EAAQ,EAC1CuF,GAAYV,GAAaA,EAAU,CAErC,IADA,IAAIjB,EAAYmlB,EAAKhoB,OACd6C,KACL,GAAImlB,EAAKnlB,KAAeiB,EACtB,SAASnE,EAGTS,GACF4nB,EAAKrkB,KAAKG,GAEZjD,EAAO8C,KAAK1E,EAAA,MAEJY,EAASmoB,EAAMlkB,EAAUhD,KAC7BknB,IAASnnB,GACXmnB,EAAKrkB,KAAKG,GAEZjD,EAAO8C,KAAK1E,GAAA,CAGhB,OAAO4B,CAAA,CAjDT,CA0JelB,GACT,MAAAM,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,GClxBN,aACA,IAAIhB,EAAWH,EAAQ,YACnBE,EAAWF,EAAQ,aACnBkE,EAASlE,EAAQ,eAAeoN,OAEhCvI,EAAU,IAAIxF,MAAM,IAExB,SAASY,IACPC,EAASI,KAAKZ,KAAM,IAGpBA,KAAKtB,GAAK,WACVsB,KAAKqN,GAAK,WACVrN,KAAKqzD,GAAK,WACVrzD,KAAKszD,GAAK,UA+GZ,SAASpnD,EAAM5L,EAAGS,GAChB,OAAQT,GAAKS,EAAMT,IAAO,GAAKS,CAAA,CAGjC,SAASS,EAAKlB,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,GAC9B,OAAQ+G,EAAM5L,GAAMS,EAAIU,GAAQV,EAAKN,GAAMD,EAAIgE,EAAK,EAAGW,GAAKpE,EAAK,EAGnE,SAASwC,EAAKjD,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,GAC9B,OAAQ+G,EAAM5L,GAAMS,EAAIN,EAAMgB,GAAMhB,GAAOD,EAAIgE,EAAK,EAAGW,GAAKpE,EAAK,EAGnE,SAASilC,EAAK1lC,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,GAC9B,OAAQ+G,EAAM5L,GAAKS,EAAIU,EAAIhB,GAAKD,EAAIgE,EAAK,EAAGW,GAAKpE,EAAK,EAGxD,SAAS4nB,EAAKroB,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,GAC9B,OAAQ+G,EAAM5L,GAAMmB,GAAKV,GAAMN,IAAQD,EAAIgE,EAAK,EAAGW,GAAKpE,EAAK,EA7H/DN,EAASF,EAAKC,GAEdD,EAAIL,UAAUm3P,QAAU,WAEtB,IADA,IAAI/2P,EAAI6E,EACCpE,EAAI,EAAGA,EAAI,KAAMA,EAAGT,EAAES,GAAKf,KAAKi1jB,OAAOpkgB,YAAgB,EAAJ9vD,GAE5D,IAAIU,EAAIzB,KAAKtB,GACT+B,EAAIT,KAAKqN,GACT7M,EAAIR,KAAKqzD,GACT7uD,EAAIxE,KAAKszD,GAEb7xD,EAAID,EAAIC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIhD,EAAIgD,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAIgB,EAAIhB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,UAAY,IACtCG,EAAIe,EAAIf,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAID,EAAIC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIhD,EAAIgD,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAIgB,EAAIhB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,WAAY,IACtCG,EAAIe,EAAIf,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAID,EAAIC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIhD,EAAIgD,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAIgB,EAAIhB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,WAAY,IACvCG,EAAIe,EAAIf,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,IAAK,WAAY,IACvCmB,EAAID,EAAIC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,IAAK,WAAY,GACvCkE,EAAIhD,EAAIgD,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,IAAK,WAAY,IACvCE,EAAIgB,EAAIhB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,WAAY,IAGvCmB,EAAI8B,EAAI9B,EAFRhB,EAAIe,EAAIf,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,IAAK,WAAY,IAEzBE,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIjB,EAAIiB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,GACtCE,EAAI+C,EAAI/C,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,UAAY,IACvCG,EAAI8C,EAAI9C,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAI8B,EAAI9B,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIjB,EAAIiB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,IAAK,SAAY,GACvCE,EAAI+C,EAAI/C,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,WAAY,IACvCG,EAAI8C,EAAI9C,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAI8B,EAAI9B,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,UAAY,GACtCkE,EAAIjB,EAAIiB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,IAAK,WAAY,GACvCE,EAAI+C,EAAI/C,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,WAAY,IACtCG,EAAI8C,EAAI9C,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAI8B,EAAI9B,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,IAAK,WAAY,GACvCkE,EAAIjB,EAAIiB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,GACtCE,EAAI+C,EAAI/C,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,WAAY,IAGtCmB,EAAIukC,EAAIvkC,EAFRhB,EAAI8C,EAAI9C,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,IAAK,WAAY,IAEzBE,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIwhC,EAAIxhC,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAIwlC,EAAIxlC,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,WAAY,IACvCG,EAAIulC,EAAIvlC,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,IAAK,WAAY,IACvCmB,EAAIukC,EAAIvkC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIwhC,EAAIxhC,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAIwlC,EAAIxlC,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,WAAY,IACtCG,EAAIulC,EAAIvlC,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,IAAK,WAAY,IACvCmB,EAAIukC,EAAIvkC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,IAAK,UAAY,GACvCkE,EAAIwhC,EAAIxhC,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAIwlC,EAAIxlC,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,WAAY,IACtCG,EAAIulC,EAAIvlC,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,SAAY,IACtCmB,EAAIukC,EAAIvkC,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAIwhC,EAAIxhC,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,IAAK,WAAY,IACvCE,EAAIwlC,EAAIxlC,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,UAAY,IAGvCmB,EAAIknB,EAAIlnB,EAFRhB,EAAIulC,EAAIvlC,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IAExBE,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAImkB,EAAInkB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAImoB,EAAInoB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,WAAY,IACvCG,EAAIkoB,EAAIloB,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAIknB,EAAIlnB,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,IAAK,WAAY,GACvCkE,EAAImkB,EAAInkB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,GAAI,WAAY,IACtCE,EAAImoB,EAAInoB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,IAAK,WAAY,IACvCG,EAAIkoB,EAAIloB,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IACtCmB,EAAIknB,EAAIlnB,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAImkB,EAAInkB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,IAAK,WAAY,IACvCE,EAAImoB,EAAInoB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,WAAY,IACtCG,EAAIkoB,EAAIloB,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,IAAK,WAAY,IACvCmB,EAAIknB,EAAIlnB,EAAGhB,EAAGD,EAAGgE,EAAGlE,EAAE,GAAI,WAAY,GACtCkE,EAAImkB,EAAInkB,EAAG/C,EAAGhB,EAAGD,EAAGF,EAAE,IAAK,WAAY,IACvCE,EAAImoB,EAAInoB,EAAGgE,EAAG/C,EAAGhB,EAAGH,EAAE,GAAI,UAAY,IACtCG,EAAIkoB,EAAIloB,EAAGD,EAAGgE,EAAG/C,EAAGnB,EAAE,GAAI,WAAY,IAEtCN,KAAKtB,GAAMsB,KAAKtB,GAAK+C,EAAK,EAC1BzB,KAAKqN,GAAMrN,KAAKqN,GAAK5M,EAAK,EAC1BT,KAAKqzD,GAAMrzD,KAAKqzD,GAAK7yD,EAAK,EAC1BR,KAAKszD,GAAMtzD,KAAKszD,GAAK9uD,EAAK,GAG5BjE,EAAIL,UAAUm1jB,QAAU,WAEtBr1jB,KAAKi1jB,OAAOj1jB,KAAKk1jB,gBAAkB,IAC/Bl1jB,KAAKk1jB,aAAe,KACtBl1jB,KAAKi1jB,OAAOh8hB,KAAK,EAAGj5B,KAAKk1jB,aAAc,IACvCl1jB,KAAKq3P,UACLr3P,KAAKk1jB,aAAe,GAGtBl1jB,KAAKi1jB,OAAOh8hB,KAAK,EAAGj5B,KAAKk1jB,aAAc,IACvCl1jB,KAAKi1jB,OAAOzjgB,cAAcxxD,KAAKm1jB,QAAQ,GAAI,IAC3Cn1jB,KAAKi1jB,OAAOzjgB,cAAcxxD,KAAKm1jB,QAAQ,GAAI,IAC3Cn1jB,KAAKq3P,UAGL,IAAI/2P,EAASkE,EAAO4lD,YAAY,IAKhC,OAJA9pD,EAAO2xD,aAAajyD,KAAKtB,GAAI,GAC7B4B,EAAO2xD,aAAajyD,KAAKqN,GAAI,GAC7B/M,EAAO2xD,aAAajyD,KAAKqzD,GAAI,GAC7B/yD,EAAO2xD,aAAajyD,KAAKszD,GAAI,IACtBhzD,CAAA,EAuBTS,EAAO3C,QAAUmC,CAAA,mBAAAk/gB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aCjJjB,IAAIhB,EAAKH,EAAQ,SACbE,EAAUF,EAAQ,WAEtB,SAASkE,EAAYlE,GACnBN,KAAKu1iB,KAAOj1iB,GAAQ,IAAIE,EAAQg1iB,IAAA,CAElCz0iB,EAAO3C,QAAUoG,EAEjBA,EAAYrE,OAAS,SAAgBG,GACnC,OAAO,IAAIkE,EAAYlE,EAAA,EAGzBkE,EAAYtE,UAAUolkB,WAAa,SAAoBhlkB,GACrD,IAAIS,EAAMT,EAAEosiB,YACRjriB,EAAY6J,KAAKgzD,KAAKv9D,EAAM,GAIhC,GACE,IAAIP,EAAI,IAAIC,EAAGT,KAAKu1iB,KAAK9jgB,SAAShwC,UAC7BjB,EAAE+qiB,IAAIjriB,IAAM,GAEnB,OAAOE,CAAA,EAGTgE,EAAYtE,UAAUqlkB,WAAa,SAAoBjlkB,EAAOS,GAE5D,IAAIU,EAAOV,EAAK6wD,IAAItxD,GACpB,OAAOA,EAAMwT,IAAI9T,KAAKslkB,WAAW7jkB,GAAA,EAGnC+C,EAAYtE,UAAUyhC,KAAO,SAAcrhC,EAAGS,EAAGU,GAC/C,IAAIjB,EAAMF,EAAEosiB,YACRloiB,EAAM/D,EAAGy0iB,KAAK50iB,GACd6E,EAAO,IAAI1E,EAAG,GAAGqyiB,MAAMtuiB,GAEtBzD,IACHA,EAAIuK,KAAK25B,IAAI,EAAIzkC,EAAM,GAAM,IAI/B,IADA,IAAID,EAAKD,EAAEgxiB,KAAK,GACPpliB,EAAI,GAAI3L,EAAGysiB,MAAM9giB,GAAIA,KAM9B,IALA,IAAI1K,EAAIlB,EAAE0wiB,KAAK9kiB,GAEX3I,EAAMhD,EAAGuyiB,MAAMtuiB,GAGZzD,EAAI,EAAGA,IAAK,CACjB,IAAIilC,EAAIhmC,KAAKulkB,WAAW,IAAI9kkB,EAAG,GAAIF,GAC/BkB,GACFA,EAAGukC,GAEL,IAAIrd,EAAIqd,EAAE8sgB,MAAMtuiB,GAAK2viB,OAAO3yiB,GAC5B,GAAoB,IAAhBmnB,EAAE4ihB,IAAIpmiB,IAA8B,IAAfwjB,EAAE4ihB,IAAIhoiB,GAA/B,CAGA,IAAK,IAAIjE,EAAI,EAAGA,EAAI4M,EAAG5M,IAAK,CAG1B,GAAoB,KAFpBqpB,EAAIA,EAAEkrhB,UAEAtI,IAAIpmiB,GACR,OAAO,EACT,GAAmB,IAAfwjB,EAAE4ihB,IAAIhoiB,GACR,MAGJ,GAAIjE,IAAM4M,EACR,OAAO,GAGX,OAAO,CAvBK,EA0Bd1H,EAAYtE,UAAUslkB,WAAa,SAAoBllkB,EAAGS,GACxD,IAAIU,EAAMnB,EAAEosiB,YACRlsiB,EAAMC,EAAGy0iB,KAAK50iB,GACdkE,EAAO,IAAI/D,EAAG,GAAGqyiB,MAAMtyiB,GAEtBO,IACHA,EAAIuK,KAAK25B,IAAI,EAAIxjC,EAAM,GAAM,IAI/B,IADA,IAAI0D,EAAK7E,EAAEgxiB,KAAK,GACP/wiB,EAAI,GAAI4E,EAAG6niB,MAAMzsiB,GAAIA,KAK9B,IAJA,IAAI2L,EAAI5L,EAAE0wiB,KAAKzwiB,GAEXiB,EAAM2D,EAAG2tiB,MAAMtyiB,GAEZO,EAAI,EAAGA,IAAK,CACjB,IAAIwC,EAAIvD,KAAKulkB,WAAW,IAAI9kkB,EAAG,GAAI0E,GAE/B6gC,EAAI1lC,EAAE2xiB,IAAI1uiB,GACd,GAAkB,IAAdyiC,EAAEmsgB,KAAK,GACT,OAAOnsgB,EAET,IAAIrd,EAAIplB,EAAEuviB,MAAMtyiB,GAAK2ziB,OAAOjoiB,GAC5B,GAAoB,IAAhByc,EAAE4ihB,IAAI/miB,IAA8B,IAAfmkB,EAAE4ihB,IAAI/piB,GAA/B,CAGA,IAAK,IAAIlC,EAAI,EAAGA,EAAIiB,EAAGjB,IAAK,CAG1B,GAAoB,KAFpBqpB,EAAIA,EAAEkrhB,UAEAtI,IAAI/miB,GACR,OAAOmkB,EAAEsqhB,UAAU3B,KAAK,GAAGW,IAAI3xiB,GACjC,GAAmB,IAAfqoB,EAAE4ihB,IAAI/piB,GACR,MAGJ,GAAIlC,IAAMiB,EAER,OADAooB,EAAIA,EAAEkrhB,UACGZ,UAAU3B,KAAK,GAAGW,IAAI3xiB,EAAA,EAInC,OAAO,iBAAAypjB,QAAA,oBAAAzpjB,EAAAS,EAAAU,GAAAf,UAAA,WAAAG,MAAAY,EAAAf,UAAA,GAAA+I,OAAA,IAAA8viB,IAAA,oBAAAj5iB,EAAAS,EAAAU,GAAA,aC/GT,SAAShB,EAAOH,EAAKS,GACnB,IAAKT,EACH,MAAM,IAAIqI,MAAM5H,GAAO,oBAJ3BA,EAAO3C,QAAUqC,EAOjBA,EAAOiyU,MAAQ,SAAqBpyU,EAAGS,EAAGU,GACxC,GAAInB,GAAKS,EACP,MAAM,IAAI4H,MAAMlH,GAAQ,qBAAuBnB,EAAI,OAASS,EAAA,qBAAAT,EAAAS,EAAAU,GCThE,aAEA,IAAIhB,EAAQgB,EAkCZ,SAASjB,EAAMF,GACb,OAAoB,IAAhBA,EAAKK,OACA,IAAML,EAENA,CAAA,CAIX,SAASkE,EAAMlE,GAEb,IADA,IAAIS,EAAM,GACDU,EAAI,EAAGA,EAAInB,EAAIK,OAAQc,IAC9BV,GAAOP,EAAMF,EAAImB,GAAG+N,SAAS,KAC/B,OAAOzO,CAAA,CAdTN,EAAMmpH,QA9BN,SAAiBtpH,EAAKS,GACpB,GAAIpB,MAAMkoB,QAAQvnB,GAChB,OAAOA,EAAI6c,QACb,IAAK7c,EACH,MAAO,GACT,IAAImB,EAAM,GACV,GAAmB,iBAARnB,EAAkB,CAC3B,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAIK,OAAQF,IAC9BgB,EAAIhB,GAAc,EAATH,EAAIG,GACf,OAAOgB,CAAA,CAET,GAAY,QAARV,EAIF,KAHAT,EAAMA,EAAI+Z,QAAQ,eAAgB,KAC1B1Z,OAAS,GAAM,IACrBL,EAAM,IAAMA,GACLG,EAAI,EAAGA,EAAIH,EAAIK,OAAQF,GAAK,EACnCgB,EAAI6C,KAAKihC,SAASjlC,EAAIG,GAAKH,EAAIG,EAAI,GAAI,UAEzC,IAASA,EAAI,EAAGA,EAAIH,EAAIK,OAAQF,IAAK,CACnC,IAAID,EAAIF,EAAIoO,WAAWjO,GACnB+D,EAAKhE,GAAK,EACV2E,EAAS,IAAJ3E,EACLgE,EACF/C,EAAI6C,KAAKE,EAAIW,GAEb1D,EAAI6C,KAAKa,EAAA,CAGf,OAAO1D,CAAA,EAUThB,EAAMsxjB,MAAQvxjB,EAQdC,EAAM2uD,MAAQ5qD,EAEd/D,EAAM6N,OAAS,SAAgBhO,EAAKS,GAClC,MAAY,QAARA,EACKyD,EAAMlE,GAENA,CAAA,qBAAAA,EAAAS,EAAAU,GCvDX,aAEA,IAMIhB,EAAO,CAAC,GAAD,EANKH,EAAQ,sBAAsBD,QAQvCI,EANSH,EAAQ,iBACRA,EAAQ,iBACRA,EAAQ,yBAMxBS,EAAO3C,QAAUqC,CAAA,+GAAAH,EAAAS,EAAAU,GCbjB,aAGA,IAAIhB,EAAeH,EAAQ,kBACvBE,EAAeF,EAAQ,kBACvBkE,EAAelE,EAAQ,mBACvB6E,EAAe7E,EAAQ,mBACvBC,EAAeD,EAAQ,kBAEvB4L,EAAW1M,OAAOU,UAAUsP,SA8GhC,SAAShO,EAAQlB,GACf,KAAMN,gBAAgBwB,GAAU,OAAO,IAAIA,EAAQlB,GAEnDN,KAAKgb,QAAUxa,EAAMH,OAAO,CAC1BkuJ,OAtGwB,EAuGxBtvJ,OAnGc,EAoGdwmkB,UAAW,MACXC,WAAY,GACZC,SAAU,EACV3ke,SAzGwB,EA0GxBnb,GAAI,IACHvlF,GAAW,CAAC,GAEf,IAAIS,EAAMf,KAAKgb,QAEXja,EAAImF,KAAQnF,EAAI2kkB,WAAa,EAC/B3kkB,EAAI2kkB,YAAc3kkB,EAAI2kkB,WAGf3kkB,EAAI6kkB,MAAS7kkB,EAAI2kkB,WAAa,GAAO3kkB,EAAI2kkB,WAAa,KAC7D3kkB,EAAI2kkB,YAAc,IAGpB1lkB,KAAK41C,IAAS,EACd51C,KAAKisgB,IAAS,GACdjsgB,KAAK6lkB,OAAA,EACL7lkB,KAAK8lkB,OAAS,GAEd9lkB,KAAK+lkB,KAAO,IAAIxlkB,EAChBP,KAAK+lkB,KAAKC,UAAY,EAEtB,IAAIvkkB,EAAShB,EAAawlkB,aACxBjmkB,KAAK+lkB,KACLhlkB,EAAIwtJ,MACJxtJ,EAAI9B,OACJ8B,EAAI2kkB,WACJ3kkB,EAAI4kkB,SACJ5kkB,EAAIigG,UAGN,GA9IoB,IA8IhBv/F,EACF,MAAM,IAAIkH,MAAMxD,EAAI1D,IAOtB,GAJIV,EAAI2vd,QACNjwd,EAAaylkB,iBAAiBlmkB,KAAK+lkB,KAAMhlkB,EAAI2vd,QAG3C3vd,EAAIolkB,WAAY,CAClB,IAAI5ikB,EAaJ,GATEA,EAF4B,iBAAnBxC,EAAIolkB,WAEN3hkB,EAAQ4hkB,WAAWrlkB,EAAIolkB,YACa,yBAAlCj6jB,EAAStL,KAAKG,EAAIolkB,YACpB,IAAIj/jB,WAAWnG,EAAIolkB,YAEnBplkB,EAAIolkB,WA/JK,KAkKlB1kkB,EAAShB,EAAa4lkB,qBAAqBrmkB,KAAK+lkB,KAAMxikB,IAGpD,MAAM,IAAIoF,MAAMxD,EAAI1D,IAGtBzB,KAAKsmkB,WAAA,CAAY,EAyKrB,SAAS/ikB,EAAQjD,EAAOS,GACtB,IAAIU,EAAW,IAAID,EAAQT,GAK3B,GAHAU,EAAS6C,KAAKhE,GAAA,GAGVmB,EAASm0C,IAAO,MAAMn0C,EAASwqgB,KAAO9mgB,EAAI1D,EAASm0C,KAEvD,OAAOn0C,EAASyB,MAAA,CAhJlB1B,EAAQtB,UAAUoE,KAAO,SAAUhE,EAAMS,GACvC,IAEIU,EAAQ0D,EAFR5E,EAAOP,KAAK+lkB,KACZvkkB,EAAYxB,KAAKgb,QAAQyqjB,UAG7B,GAAIzlkB,KAAK6lkB,MAAS,OAAO,EAEzB1gkB,EAASpE,MAAWA,EAAQA,GAAA,IAASA,EAlNjB,EADA,EAsNA,iBAATT,EAETC,EAAKsM,MAAQrI,EAAQ4hkB,WAAW9lkB,GACC,yBAAxB4L,EAAStL,KAAKN,GACvBC,EAAKsM,MAAQ,IAAI3F,WAAW5G,GAE5BC,EAAKsM,MAAQvM,EAGfC,EAAKgmkB,QAAU,EACfhmkB,EAAKimkB,SAAWjmkB,EAAKsM,MAAMlM,OAE3B,EAAG,CAQD,GAPuB,IAAnBJ,EAAKylkB,YACPzlkB,EAAK+e,OAAS,IAAI9e,EAAMimkB,KAAKjlkB,GAC7BjB,EAAKmmkB,SAAW,EAChBnmkB,EAAKylkB,UAAYxkkB,GAlOD,KAoOlBC,EAAShB,EAAakmkB,QAAQpmkB,EAAM4E,KArOlB,IAuOa1D,EAG7B,OAFAzB,KAAK2uK,MAAMltK,GACXzB,KAAK6lkB,OAAA,GAAQ,EAGQ,IAAnBtlkB,EAAKylkB,YAAsC,IAAlBzlkB,EAAKimkB,UA9OhB,IA8OmCrhkB,GA1OnC,IA0OyDA,KACjD,WAApBnF,KAAKgb,QAAQ6qE,GACf7lF,KAAKw6jB,OAAOh2jB,EAAQoikB,cAAcpmkB,EAAMqmkB,UAAUtmkB,EAAK+e,OAAQ/e,EAAKmmkB,YAEpE1mkB,KAAKw6jB,OAAOh6jB,EAAMqmkB,UAAUtmkB,EAAK+e,OAAQ/e,EAAKmmkB,WAAA,QAG1CnmkB,EAAKimkB,SAAW,GAAwB,IAAnBjmkB,EAAKylkB,YAlPhB,IAkPoCvkkB,GAGxD,OAxPoB,IAwPhB0D,GACF1D,EAAShB,EAAaqmkB,WAAW9mkB,KAAK+lkB,MACtC/lkB,KAAK2uK,MAAMltK,GACXzB,KAAK6lkB,OAAA,EAzPa,IA0PXpkkB,GAxPW,IA4PhB0D,IACFnF,KAAK2uK,MA/Pa,GAgQlBpuK,EAAKylkB,UAAY,KACV,EAgBXxkkB,EAAQtB,UAAUs6jB,OAAS,SAAUl6jB,GACnCN,KAAK8lkB,OAAOxhkB,KAAKhE,EAAA,EAcnBkB,EAAQtB,UAAUyuK,MAAQ,SAAUruK,GAhSd,IAkShBA,IACsB,WAApBN,KAAKgb,QAAQ6qE,GACf7lF,KAAKkD,OAASlD,KAAK8lkB,OAAOr2jB,KAAK,IAE/BzP,KAAKkD,OAAS1C,EAAMumkB,cAAc/mkB,KAAK8lkB,SAG3C9lkB,KAAK8lkB,OAAS,GACd9lkB,KAAK41C,IAAMt1C,EACXN,KAAKisgB,IAAMjsgB,KAAK+lkB,KAAK95D,GAAA,EAgFvBxqgB,EAAQulkB,QAAUxlkB,EAClBC,EAAQklkB,QAAUpjkB,EAClB9B,EAAQwlkB,WAxBR,SAAoB3mkB,EAAOS,GAGzB,OAFAA,EAAUA,GAAW,CAAC,GACdmF,KAAA,EACD3C,EAAQjD,EAAOS,EAAA,EAsBxBU,EAAQmkkB,KAVR,SAActlkB,EAAOS,GAGnB,OAFAA,EAAUA,GAAW,CAAC,GACd6kkB,MAAA,EACDrikB,EAAQjD,EAAOS,EAAA,+HAAAT,EAAAS,EAAAU,GCxYxB,aAGA,IAAIhB,EAAeH,EAAQ,kBACvBE,EAAeF,EAAQ,kBACvBkE,EAAelE,EAAQ,mBACvB6E,EAAe7E,EAAQ,oBACvBC,EAAeD,EAAQ,mBACvB4L,EAAe5L,EAAQ,kBACvBkB,EAAelB,EAAQ,mBAEvBiD,EAAW/D,OAAOU,UAAUsP,SAiFhC,SAASw2B,EAAQ1lC,GACf,KAAMN,gBAAgBgmC,GAAU,OAAO,IAAIA,EAAQ1lC,GAEnDN,KAAKgb,QAAUxa,EAAMH,OAAO,CAC1BolkB,UAAW,MACXC,WAAY,EACZ7/e,GAAI,IACHvlF,GAAW,CAAC,GAEf,IAAIS,EAAMf,KAAKgb,QAIXja,EAAImF,KAAQnF,EAAI2kkB,YAAc,GAAO3kkB,EAAI2kkB,WAAa,KACxD3kkB,EAAI2kkB,YAAc3kkB,EAAI2kkB,WACC,IAAnB3kkB,EAAI2kkB,aAAoB3kkB,EAAI2kkB,YAAc,OAI3C3kkB,EAAI2kkB,YAAc,GAAO3kkB,EAAI2kkB,WAAa,KACzCplkB,GAAWA,EAAQolkB,aACvB3kkB,EAAI2kkB,YAAc,IAKf3kkB,EAAI2kkB,WAAa,IAAQ3kkB,EAAI2kkB,WAAa,IAGf,IAAR,GAAjB3kkB,EAAI2kkB,cACP3kkB,EAAI2kkB,YAAc,IAItB1lkB,KAAK41C,IAAS,EACd51C,KAAKisgB,IAAS,GACdjsgB,KAAK6lkB,OAAA,EACL7lkB,KAAK8lkB,OAAS,GAEd9lkB,KAAK+lkB,KAAS,IAAI75jB,EAClBlM,KAAK+lkB,KAAKC,UAAY,EAEtB,IAAIvkkB,EAAUhB,EAAaymkB,aACzBlnkB,KAAK+lkB,KACLhlkB,EAAI2kkB,YAGN,GAAIjkkB,IAAW0D,EAAEgikB,KACf,MAAM,IAAIx+jB,MAAMpI,EAAIkB,IAQtB,GALAzB,KAAK0wd,OAAS,IAAIlvd,EAElBf,EAAa2mkB,iBAAiBpnkB,KAAK+lkB,KAAM/lkB,KAAK0wd,QAG1C3vd,EAAIolkB,aAEwB,iBAAnBplkB,EAAIolkB,WACbplkB,EAAIolkB,WAAa3hkB,EAAQ4hkB,WAAWrlkB,EAAIolkB,YACG,yBAAlC5ikB,EAAS3C,KAAKG,EAAIolkB,cAC3BplkB,EAAIolkB,WAAa,IAAIj/jB,WAAWnG,EAAIolkB,aAElCplkB,EAAImF,MACNzE,EAAShB,EAAa4mkB,qBAAqBrnkB,KAAK+lkB,KAAMhlkB,EAAIolkB,eAC3ChhkB,EAAEgikB,MACf,MAAM,IAAIx+jB,MAAMpI,EAAIkB,GAAA,CAgO5B,SAASknB,EAAQroB,EAAOS,GACtB,IAAIU,EAAW,IAAIukC,EAAQjlC,GAK3B,GAHAU,EAAS6C,KAAKhE,GAAA,GAGVmB,EAASm0C,IAAO,MAAMn0C,EAASwqgB,KAAO1rgB,EAAIkB,EAASm0C,KAEvD,OAAOn0C,EAASyB,MAAA,CAtMlB8iC,EAAQ9lC,UAAUoE,KAAO,SAAUhE,EAAMS,GACvC,IAGIU,EAAQlB,EACR2L,EAAe1K,EAAMwkC,EAJrBrd,EAAO3oB,KAAK+lkB,KACZzmkB,EAAYU,KAAKgb,QAAQyqjB,UACzB7lkB,EAAaI,KAAKgb,QAAQmrjB,WAM1B1hkB,GAAA,EAEJ,GAAIzE,KAAK6lkB,MAAS,OAAO,EACzBtlkB,EAASQ,MAAWA,EAAQA,GAAA,IAASA,EAAiBoE,EAAEmikB,SAAWnikB,EAAEoikB,WAGjD,iBAATjnkB,EAETqoB,EAAK9b,MAAQrI,EAAQgjkB,cAAclnkB,GACF,yBAAxBiD,EAAS3C,KAAKN,GACvBqoB,EAAK9b,MAAQ,IAAI3F,WAAW5G,GAE5BqoB,EAAK9b,MAAQvM,EAGfqoB,EAAK49iB,QAAU,EACf59iB,EAAK69iB,SAAW79iB,EAAK9b,MAAMlM,OAE3B,EAAG,CAkBD,GAjBuB,IAAnBgoB,EAAKq9iB,YACPr9iB,EAAKrJ,OAAS,IAAI9e,EAAMimkB,KAAKnnkB,GAC7BqpB,EAAK+9iB,SAAW,EAChB/9iB,EAAKq9iB,UAAY1mkB,IAGnBmC,EAAShB,EAAagnkB,QAAQ9+iB,EAAMxjB,EAAEoikB,eAEvBpikB,EAAEuikB,aAAe9nkB,IAC9B6B,EAAShB,EAAa4mkB,qBAAqBrnkB,KAAK+lkB,KAAMnmkB,IAGpD6B,IAAW0D,EAAEwikB,cAAA,IAAeljkB,IAC9BhD,EAAS0D,EAAEgikB,KACX1ikB,GAAA,GAGEhD,IAAW0D,EAAEyikB,cAAgBnmkB,IAAW0D,EAAEgikB,KAG5C,OAFAnnkB,KAAK2uK,MAAMltK,GACXzB,KAAK6lkB,OAAA,GAAQ,EAIXl9iB,EAAK+9iB,WACgB,IAAnB/9iB,EAAKq9iB,WAAmBvkkB,IAAW0D,EAAEyikB,eAAmC,IAAlBj/iB,EAAK69iB,UAAmBjmkB,IAAU4E,EAAEmikB,UAAY/mkB,IAAU4E,EAAE0ikB,gBAE5F,WAApB7nkB,KAAKgb,QAAQ6qE,IAEf35E,EAAgB1H,EAAQsjkB,WAAWn/iB,EAAKrJ,OAAQqJ,EAAK+9iB,UAErDllkB,EAAOmnB,EAAK+9iB,SAAWx6jB,EACvB85B,EAAUxhC,EAAQujkB,WAAWp/iB,EAAKrJ,OAAQpT,GAG1Cyc,EAAK+9iB,SAAWllkB,EAChBmnB,EAAKq9iB,UAAY1mkB,EAAYkC,EACzBA,GAAQhB,EAAMwnkB,SAASr/iB,EAAKrJ,OAAQqJ,EAAKrJ,OAAQpT,EAAe1K,EAAM,GAE1ExB,KAAKw6jB,OAAOx0hB,IAGZhmC,KAAKw6jB,OAAOh6jB,EAAMqmkB,UAAUl+iB,EAAKrJ,OAAQqJ,EAAK+9iB,aAY9B,IAAlB/9iB,EAAK69iB,UAAqC,IAAnB79iB,EAAKq9iB,YAC9BvhkB,GAAA,EAAgB,QAGVkkB,EAAK69iB,SAAW,GAAwB,IAAnB79iB,EAAKq9iB,YAAoBvkkB,IAAW0D,EAAEyikB,cAOrE,OALInmkB,IAAW0D,EAAEyikB,eACfrnkB,EAAQ4E,EAAEmikB,UAIR/mkB,IAAU4E,EAAEmikB,UACd7lkB,EAAShB,EAAawnkB,WAAWjokB,KAAK+lkB,MACtC/lkB,KAAK2uK,MAAMltK,GACXzB,KAAK6lkB,OAAA,EACEpkkB,IAAW0D,EAAEgikB,MAIlB5mkB,IAAU4E,EAAE0ikB,eACd7nkB,KAAK2uK,MAAMxpK,EAAEgikB,MACbx+iB,EAAKq9iB,UAAY,KACV,EAgBXhgiB,EAAQ9lC,UAAUs6jB,OAAS,SAAUl6jB,GACnCN,KAAK8lkB,OAAOxhkB,KAAKhE,EAAA,EAcnB0lC,EAAQ9lC,UAAUyuK,MAAQ,SAAUruK,GAE9BA,IAAW6E,EAAEgikB,OACS,WAApBnnkB,KAAKgb,QAAQ6qE,GAGf7lF,KAAKkD,OAASlD,KAAK8lkB,OAAOr2jB,KAAK,IAE/BzP,KAAKkD,OAAS1C,EAAMumkB,cAAc/mkB,KAAK8lkB,SAG3C9lkB,KAAK8lkB,OAAS,GACd9lkB,KAAK41C,IAAMt1C,EACXN,KAAKisgB,IAAMjsgB,KAAK+lkB,KAAK95D,GAAA,EAgFvBxqgB,EAAQymkB,QAAUliiB,EAClBvkC,EAAQgmkB,QAAU9+iB,EAClBlnB,EAAQ0mkB,WAnBR,SAAoB7nkB,EAAOS,GAGzB,OAFAA,EAAUA,GAAW,CAAC,GACdmF,KAAA,EACDyiB,EAAQroB,EAAOS,EAAA,EAiBxBU,EAAQ2mkB,OAAUz/iB,CAAA,2KAAAroB,EAAAS,EAAAU,GCtalB,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CAGA,IAAIE,EAAmC,oBAAf0G,YACgB,oBAAhB6yjB,aACe,oBAAf1vjB,WAExB,SAAS7F,EAAKlE,EAAKS,GACjB,OAAOvB,OAAOU,UAAUL,eAAee,KAAKN,EAAKS,EAAA,CAGnDU,EAAQpB,OAAS,SAAUC,GAEzB,IADA,IAAIS,EAAUpB,MAAMO,UAAUid,MAAMvc,KAAKF,UAAW,GAC7CK,EAAQJ,QAAQ,CACrB,IAAIc,EAASV,EAAQ8E,QACrB,GAAKpE,EAAL,CAEA,GAAsB,WAAlBhB,EAAOgB,GACT,MAAM,IAAI2C,UAAU3C,EAAS,sBAG/B,IAAK,IAAIjB,KAAKiB,EACR+C,EAAK/C,EAAQjB,KACfF,EAAIE,GAAKiB,EAAOjB,GAAA,EAKtB,OAAOF,CAAA,EAKTmB,EAAQolkB,UAAY,SAAUvmkB,EAAKS,GACjC,OAAIT,EAAIK,SAAWI,EAAeT,EAC9BA,EAAIutD,SAAmBvtD,EAAIutD,SAAS,EAAG9sD,IAC3CT,EAAIK,OAASI,EACNT,EAAA,EAIT,IAAI6E,EAAU,CACZ6ikB,SAAU,SAAU1nkB,EAAMS,EAAKU,EAAUhB,EAAKD,GAC5C,GAAIO,EAAI8sD,UAAYvtD,EAAKutD,SACvBvtD,EAAKwG,IAAI/F,EAAI8sD,SAASpsD,EAAUA,EAAWhB,GAAMD,QAInD,IAAK,IAAIgE,EAAI,EAAGA,EAAI/D,EAAK+D,IACvBlE,EAAKE,EAAYgE,GAAKzD,EAAIU,EAAW+C,EAAA,EAIzCuikB,cAAe,SAAUzmkB,GACvB,IAAIS,EAAGU,EAAGhB,EAAKD,EAAKgE,EAAOW,EAI3B,IADA1E,EAAM,EACDM,EAAI,EAAGU,EAAInB,EAAOK,OAAQI,EAAIU,EAAGV,IACpCN,GAAOH,EAAOS,GAAGJ,OAMnB,IAFAwE,EAAS,IAAI+B,WAAWzG,GACxBD,EAAM,EACDO,EAAI,EAAGU,EAAInB,EAAOK,OAAQI,EAAIU,EAAGV,IACpCyD,EAAQlE,EAAOS,GACfoE,EAAO2B,IAAItC,EAAOhE,GAClBA,GAAOgE,EAAM7D,OAGf,OAAOwE,CAAA,GAIP5E,EAAY,CACdynkB,SAAU,SAAU1nkB,EAAMS,EAAKU,EAAUhB,EAAKD,GAC5C,IAAK,IAAIgE,EAAI,EAAGA,EAAI/D,EAAK+D,IACvBlE,EAAKE,EAAYgE,GAAKzD,EAAIU,EAAW+C,EAAA,EAIzCuikB,cAAe,SAAUzmkB,GACvB,MAAO,GAAGvB,OAAO8B,MAAM,GAAIP,EAAA,GAO/BmB,EAAQ4mkB,SAAW,SAAU/nkB,GACvBA,GACFmB,EAAQglkB,KAAQv/jB,WAChBzF,EAAQ6mkB,MAAQvO,YAChBt4jB,EAAQ8mkB,MAAQl+jB,WAChB5I,EAAQpB,OAAOoB,EAAS0D,KAExB1D,EAAQglkB,KAAQ9mkB,MAChB8B,EAAQ6mkB,MAAQ3okB,MAChB8B,EAAQ8mkB,MAAQ5okB,MAChB8B,EAAQpB,OAAOoB,EAASlB,GAAA,EAI5BkB,EAAQ4mkB,SAAS7nkB,EAAA,oBAAAF,EAAAS,EAAAU,GCvGjB,aAGA,IAAIhB,EAAQH,EAAQ,YAQhBE,GAAA,EACAgE,GAAA,EAEJ,IAAM2K,OAAOC,aAAavO,MAAM,KAAM,CAAE,IAAQ,MAAOP,GAAME,GAAA,CAAe,CAC5E,IAAM2O,OAAOC,aAAavO,MAAM,KAAM,IAAIqG,WAAW,IAAO,MAAO5G,GAAMkE,GAAA,CAAmB,CAO5F,IADA,IAAIW,EAAW,IAAI1E,EAAMgmkB,KAAK,KACrBlmkB,EAAI,EAAGA,EAAI,IAAKA,IACvB4E,EAAS5E,GAAMA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAIA,GAAK,IAAM,EAAI,EA4D5F,SAAS2L,EAAc5L,EAAKS,GAI1B,GAAIA,EAAM,QACHT,EAAIutD,UAAYrpD,IAAuBlE,EAAIutD,UAAYrtD,GAC1D,OAAO2O,OAAOC,aAAavO,MAAM,KAAMJ,EAAMomkB,UAAUvmkB,EAAKS,IAKhE,IADA,IAAIU,EAAS,GACJ0D,EAAI,EAAGA,EAAIpE,EAAKoE,IACvB1D,GAAU0N,OAAOC,aAAa9O,EAAI6E,IAEpC,OAAO1D,CAAA,CAxET0D,EAAS,KAAOA,EAAS,KAAO,EAIhC1D,EAAQ2kkB,WAAa,SAAU9lkB,GAC7B,IAAIS,EAAKU,EAAGjB,EAAIgE,EAAOW,EAAG5E,EAAUD,EAAIK,OAAQuL,EAAU,EAG1D,IAAK1H,EAAQ,EAAGA,EAAQjE,EAASiE,IAEV,QAAZ,OADT/C,EAAInB,EAAIoO,WAAWlK,MACaA,EAAQ,EAAIjE,GAEpB,QAAZ,OADVC,EAAKF,EAAIoO,WAAWlK,EAAQ,OAE1B/C,EAAI,OAAYA,EAAI,OAAW,KAAOjB,EAAK,OAC3CgE,KAGJ0H,GAAWzK,EAAI,IAAO,EAAIA,EAAI,KAAQ,EAAIA,EAAI,MAAU,EAAI,EAO9D,IAHAV,EAAM,IAAIN,EAAMgmkB,KAAKv6jB,GAGhB/G,EAAI,EAAGX,EAAQ,EAAGW,EAAI+G,EAAS1H,IAEb,QAAZ,OADT/C,EAAInB,EAAIoO,WAAWlK,MACaA,EAAQ,EAAIjE,GAEpB,QAAZ,OADVC,EAAKF,EAAIoO,WAAWlK,EAAQ,OAE1B/C,EAAI,OAAYA,EAAI,OAAW,KAAOjB,EAAK,OAC3CgE,KAGA/C,EAAI,IAENV,EAAIoE,KAAO1D,EACFA,EAAI,MAEbV,EAAIoE,KAAO,IAAQ1D,IAAM,EACzBV,EAAIoE,KAAO,IAAY,GAAJ1D,GACVA,EAAI,OAEbV,EAAIoE,KAAO,IAAQ1D,IAAM,GACzBV,EAAIoE,KAAO,IAAQ1D,IAAM,EAAI,GAC7BV,EAAIoE,KAAO,IAAY,GAAJ1D,IAGnBV,EAAIoE,KAAO,IAAQ1D,IAAM,GACzBV,EAAIoE,KAAO,IAAQ1D,IAAM,GAAK,GAC9BV,EAAIoE,KAAO,IAAQ1D,IAAM,EAAI,GAC7BV,EAAIoE,KAAO,IAAY,GAAJ1D,GAIvB,OAAOV,CAAA,EAuBTU,EAAQmlkB,cAAgB,SAAUtmkB,GAChC,OAAO4L,EAAc5L,EAAKA,EAAIK,OAAA,EAKhCc,EAAQ+lkB,cAAgB,SAAUlnkB,GAEhC,IADA,IAAIS,EAAM,IAAIN,EAAMgmkB,KAAKnmkB,EAAIK,QACpBc,EAAI,EAAGjB,EAAMO,EAAIJ,OAAQc,EAAIjB,EAAKiB,IACzCV,EAAIU,GAAKnB,EAAIoO,WAAWjN,GAE1B,OAAOV,CAAA,EAKTU,EAAQsmkB,WAAa,SAAUznkB,EAAKS,GAClC,IAAIU,EAAGhB,EAAKD,EAAGgE,EACXjE,EAAMQ,GAAOT,EAAIK,OAKjBa,EAAW,IAAI7B,MAAY,EAANY,GAEzB,IAAKE,EAAM,EAAGgB,EAAI,EAAGA,EAAIlB,GAGvB,IAFAC,EAAIF,EAAImB,MAEA,IAAQD,EAASf,KAASD,OAIlC,IAFAgE,EAAQW,EAAS3E,IAEL,EAAKgB,EAASf,KAAS,MAAQgB,GAAK+C,EAAQ,MAAxD,CAKA,IAFAhE,GAAe,IAAVgE,EAAc,GAAiB,IAAVA,EAAc,GAAO,EAExCA,EAAQ,GAAK/C,EAAIlB,GACtBC,EAAKA,GAAK,EAAiB,GAAXF,EAAImB,KACpB+C,IAIEA,EAAQ,EAAKhD,EAASf,KAAS,MAE/BD,EAAI,MACNgB,EAASf,KAASD,GAElBA,GAAK,MACLgB,EAASf,KAAS,MAAWD,GAAK,GAAM,KACxCgB,EAASf,KAAS,MAAc,KAAJD,EAAA,CAIhC,OAAO0L,EAAc1K,EAAUf,EAAA,EAUjCgB,EAAQqmkB,WAAa,SAAUxnkB,EAAKS,GAClC,IAAIU,EAOJ,KALAV,EAAMA,GAAOT,EAAIK,QACPL,EAAIK,SAAUI,EAAMT,EAAIK,QAGlCc,EAAMV,EAAM,EACLU,GAAO,GAA2B,MAAV,IAAXnB,EAAImB,KAAyBA,IAIjD,OAAIA,EAAM,GAIE,IAARA,EAJkBV,EAMdU,EAAM0D,EAAS7E,EAAImB,IAAQV,EAAOU,EAAMV,CAAA,mCAAAT,EAAAS,EAAAU,GCzLlD,aAkDAV,EAAO3C,QAzBP,SAAiBkC,EAAOS,EAAKU,EAAKhB,GAKhC,IAJA,IAAID,EAAc,MAARF,EAAiB,EACvBkE,EAAOlE,IAAU,GAAM,MAAS,EAChC6E,EAAI,EAEO,IAAR1D,GAAW,CAKhBA,GADA0D,EAAI1D,EAAM,IAAO,IAAOA,EAGxB,GAEE+C,EAAMA,GADNhE,EAAMA,EAAKO,EAAIN,KAAS,GACR,UACP0E,GAEX3E,GAAM,MACNgE,GAAM,MAGR,OAAQhE,EAAMgE,GAAM,GAAM,sBAAAlE,EAAAS,EAAAU,GC9C5B,aAqBAV,EAAO3C,QAAU,CAGfmpkB,WAAoB,EACpBiB,gBAAoB,EACpBX,aAAoB,EACpBY,aAAoB,EACpBnB,SAAoB,EACpBoB,QAAoB,EACpBC,QAAoB,EAKpBxB,KAAoB,EACpBS,aAAoB,EACpBF,YAAoB,EACpBkB,SAAoB,EACpBC,gBAAoB,EACpBC,cAAoB,EAEpBnB,aAAoB,EAIpBoB,iBAA0B,EAC1BC,aAA0B,EAC1BC,mBAA0B,EAC1BC,uBAA0B,EAG1BC,WAA0B,EAC1BC,eAA0B,EAC1BC,MAA0B,EAC1BC,QAA0B,EAC1BC,mBAA0B,EAG1BC,SAA0B,EAC1BC,OAA0B,EAE1BC,UAA0B,EAG1BC,WAA0B,sBAAArpkB,EAAAS,EAAAU,GCjE5B,aAyCA,IAAIhB,EAfJ,WAGE,IAFA,IAAIH,EAAGS,EAAQ,GAENU,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAC5BnB,EAAImB,EACJ,IAAK,IAAIhB,EAAI,EAAGA,EAAI,EAAGA,IACrBH,EAAU,EAAJA,EAAU,WAAcA,IAAM,EAAOA,IAAM,EAEnDS,EAAMU,GAAKnB,CAAA,CAGb,OAAOS,CAAA,CAXT,GAgCAA,EAAO3C,QAdP,SAAekC,EAAKS,EAAKU,EAAKjB,GAC5B,IAAIgE,EAAI/D,EACJ0E,EAAM3E,EAAMiB,EAEhBnB,IAAQ,EAER,IAAK,IAAIC,EAAIC,EAAKD,EAAI4E,EAAK5E,IACzBD,EAAOA,IAAQ,EAAKkE,EAAmB,KAAhBlE,EAAMS,EAAIR,KAGnC,OAAgB,EAARD,CAAA,qBAAAA,EAAAS,EAAAU,GCtDV,aAqBA,IAkgCIhB,EAlgCAD,EAAUF,EAAQ,mBAClBkE,EAAUlE,EAAQ,WAClB6E,EAAU7E,EAAQ,aAClBC,EAAUD,EAAQ,WAClB4L,EAAU5L,EAAQ,cAmGtB,SAASkB,EAAIlB,EAAMS,GAEjB,OADAT,EAAK2rgB,IAAM//f,EAAInL,GACRA,CAAA,CAGT,SAASwC,EAAKjD,GACZ,OAASA,GAAM,IAAOA,EAAK,EAAI,EAAI,GAGrC,SAAS0lC,EAAK1lC,GAA6B,IAAtB,IAAIS,EAAMT,EAAIK,SAAiBI,GAAO,GAAKT,EAAIS,GAAO,EAS3E,SAAS4nB,EAAcroB,GACrB,IAAIS,EAAIT,EAAK8J,MAGT3I,EAAMV,EAAE20jB,QACRj0jB,EAAMnB,EAAK0lkB,YACbvkkB,EAAMnB,EAAK0lkB,WAED,IAARvkkB,IAEJjB,EAAMwnkB,SAAS1nkB,EAAKgf,OAAQve,EAAE6okB,YAAa7okB,EAAE8okB,YAAapokB,EAAKnB,EAAKomkB,UACpEpmkB,EAAKomkB,UAAYjlkB,EACjBV,EAAE8okB,aAAepokB,EACjBnB,EAAKwpkB,WAAarokB,EAClBnB,EAAK0lkB,WAAavkkB,EAClBV,EAAE20jB,SAAWj0jB,EACK,IAAdV,EAAE20jB,UACJ30jB,EAAE8okB,YAAc,IAKpB,SAASvqkB,EAAiBgB,EAAGS,GAC3ByD,EAAMulkB,gBAAgBzpkB,EAAIA,EAAE0pkB,aAAe,EAAI1pkB,EAAE0pkB,aAAe,EAAI1pkB,EAAE2pkB,SAAW3pkB,EAAE0pkB,YAAajpkB,GAChGT,EAAE0pkB,YAAc1pkB,EAAE2pkB,SAClBthjB,EAAcroB,EAAEylkB,KAAA,CAIlB,SAASnmkB,EAASU,EAAGS,GACnBT,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAa30jB,CAAA,CAS/B,SAAS0D,EAAYnE,EAAGS,GAGtBT,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAc30jB,IAAM,EAAK,IACzCT,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAiB,IAAJ30jB,CAAA,CA6C/B,SAASyC,EAAclD,EAAGS,GACxB,IAEIU,EACAhB,EAHAD,EAAeF,EAAE4pkB,iBACjB1lkB,EAAOlE,EAAE2pkB,SAGT9kkB,EAAW7E,EAAE6pkB,YACb5pkB,EAAaD,EAAE8pkB,WACfl+jB,EAAS5L,EAAE2pkB,SAAY3pkB,EAAE+pkB,OApIV,IAqIf/pkB,EAAE2pkB,UAAY3pkB,EAAE+pkB,OArID,KAqI2B,EAE1C7okB,EAAOlB,EAAEjC,OAETkF,EAAQjD,EAAEgqkB,OACVtkiB,EAAQ1lC,EAAE2d,KAMV0K,EAASroB,EAAE2pkB,SAjJD,IAkJV3qkB,EAAakC,EAAKgD,EAAOW,EAAW,GACpCvF,EAAa4B,EAAKgD,EAAOW,GAQzB7E,EAAE6pkB,aAAe7pkB,EAAEiqkB,aACrB/pkB,IAAiB,GAKfD,EAAaD,EAAEkqkB,YAAajqkB,EAAaD,EAAEkqkB,WAI/C,GAaE,GAAIhpkB,GAXJC,EAAQV,GAWSoE,KAAkBvF,GAC/B4B,EAAKC,EAAQ0D,EAAW,KAAO7F,GAC/BkC,EAAKC,KAA0BD,EAAKgD,IACpChD,IAAOC,KAAwBD,EAAKgD,EAAO,GAH/C,CAaAA,GAAQ,EACR/C,IAMA,UAESD,IAAOgD,KAAUhD,IAAOC,IAAUD,IAAOgD,KAAUhD,IAAOC,IAC1DD,IAAOgD,KAAUhD,IAAOC,IAAUD,IAAOgD,KAAUhD,IAAOC,IAC1DD,IAAOgD,KAAUhD,IAAOC,IAAUD,IAAOgD,KAAUhD,IAAOC,IAC1DD,IAAOgD,KAAUhD,IAAOC,IAAUD,IAAOgD,KAAUhD,IAAOC,IAC1D+C,EAAOmkB,GAOhB,GAHAloB,EAhNY,KAgNOkoB,EAASnkB,GAC5BA,EAAOmkB,EAjNK,IAmNRloB,EAAM0E,EAAU,CAGlB,GAFA7E,EAAEmqkB,YAAc1pkB,EAChBoE,EAAW1E,EACPA,GAAOF,EACT,MAEFjB,EAAakC,EAAKgD,EAAOW,EAAW,GACpCvF,EAAa4B,EAAKgD,EAAOW,EAAA,UAEnBpE,EAAYilC,EAAKjlC,EAAYwC,IAAU2I,GAA4B,KAAjB1L,GAE5D,OAAI2E,GAAY7E,EAAEkqkB,UACTrlkB,EAEF7E,EAAEkqkB,SAAA,CAcX,SAASjrkB,EAAYe,GACnB,IACIS,EAAGU,EAAGhB,EAAG+D,EAAM0H,EArJH1K,EAAM+B,EAAKyiC,EAAOrd,EAC9BrpB,EAmJAM,EAAUU,EAAE+pkB,OAKhB,EAAG,CAqBD,GApBA7lkB,EAAOlE,EAAEoqkB,YAAcpqkB,EAAEkqkB,UAAYlqkB,EAAE2pkB,SAoBnC3pkB,EAAE2pkB,UAAYrqkB,GAAWA,EAzQZ,KAyQsC,CAErDY,EAAMwnkB,SAAS1nkB,EAAEjC,OAAQiC,EAAEjC,OAAQuB,EAASA,EAAS,GACrDU,EAAEmqkB,aAAe7qkB,EACjBU,EAAE2pkB,UAAYrqkB,EAEdU,EAAE0pkB,aAAepqkB,EAUjBmB,EADAU,EAAInB,EAAEqqkB,UAEN,GACElqkB,EAAIH,EAAE2hB,OAAOlhB,GACbT,EAAE2hB,KAAKlhB,GAAMN,GAAKb,EAAUa,EAAIb,EAAU,UACjC6B,GAGXV,EADAU,EAAI7B,EAEJ,GACEa,EAAIH,EAAE2d,OAAOld,GACbT,EAAE2d,KAAKld,GAAMN,GAAKb,EAAUa,EAAIb,EAAU,UAIjC6B,GAEX+C,GAAQ5E,CAAA,CAEV,GAAwB,IAApBU,EAAEylkB,KAAKS,SACT,MAmBF,GApOchlkB,EAgODlB,EAAEylkB,KAhOKxikB,EAgOCjD,EAAEjC,OAhOE2nC,EAgOM1lC,EAAE2pkB,SAAW3pkB,EAAEkqkB,UAhOd7hjB,EAgOyBnkB,EA/NvDlF,OAAA,GAAAA,EAAMkC,EAAKglkB,UAEL79iB,IAAQrpB,EAAMqpB,GA6NtBlnB,EA5NU,IAARnC,EAAoB,GAExBkC,EAAKglkB,UAAYlnkB,EAGjBkB,EAAMwnkB,SAASzkkB,EAAK/B,EAAKqL,MAAOrL,EAAK+kkB,QAASjnkB,EAAK0mC,GAC3B,IAApBxkC,EAAK4I,MAAM6gH,KACbzpH,EAAKopkB,MAAQzlkB,EAAQ3D,EAAKopkB,MAAOrnkB,EAAKjE,EAAK0mC,GAGhB,IAApBxkC,EAAK4I,MAAM6gH,OAClBzpH,EAAKopkB,MAAQrqkB,EAAMiB,EAAKopkB,MAAOrnkB,EAAKjE,EAAK0mC,IAG3CxkC,EAAK+kkB,SAAWjnkB,EAChBkC,EAAKqpkB,UAAYvrkB,EAEVA,GA4MLgB,EAAEkqkB,WAAa/okB,EAGXnB,EAAEkqkB,UAAYlqkB,EAAEwb,QAjUR,EA0UV,IARA5P,EAAM5L,EAAE2pkB,SAAW3pkB,EAAEwb,OACrBxb,EAAEwqkB,MAAQxqkB,EAAEjC,OAAO6N,GAGnB5L,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAO6N,EAAM,IAAM5L,EAAE0qkB,UAIvD1qkB,EAAEwb,SAEPxb,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAO6N,EA5UxC,EA4U0D,IAAM5L,EAAE0qkB,UAE1E1qkB,EAAE2d,KAAK/R,EAAM5L,EAAEgqkB,QAAUhqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OAClCxqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OAAS5+jB,EAClBA,IACA5L,EAAEwb,WACExb,EAAEkqkB,UAAYlqkB,EAAEwb,OAlVZ,aA2VLxb,EAAEkqkB,UAzVQ,KAyVyC,IAApBlqkB,EAAEylkB,KAAKS,SAAA,CAmJjD,SAAStikB,EAAa5D,EAAGS,GAIvB,IAHA,IAAIU,EACAhB,IAEK,CAMP,GAAIH,EAAEkqkB,UAtfW,IAsfgB,CAE/B,GADAjrkB,EAAYe,GACRA,EAAEkqkB,UAxfS,KAzEC,IAikBmBzpkB,EACjC,OA7egB,EA+elB,GAAoB,IAAhBT,EAAEkqkB,UACJ,MA2BJ,GApBA/okB,EAAY,EACRnB,EAAEkqkB,WAtgBM,IAwgBVlqkB,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAOiC,EAAE2pkB,SAxgBxC,EAwgB+D,IAAM3pkB,EAAE0qkB,UACjFvpkB,EAAYnB,EAAE2d,KAAK3d,EAAE2pkB,SAAW3pkB,EAAEgqkB,QAAUhqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OACrDxqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OAASxqkB,EAAE2pkB,UAOJ,IAAdxokB,GAA4BnB,EAAE2pkB,SAAWxokB,GAAenB,EAAE+pkB,OA/gB7C,MAohBf/pkB,EAAE2qkB,aAAeznkB,EAAclD,EAAGmB,IAGhCnB,EAAE2qkB,cAzhBM,EAqiBV,GAPAxqkB,EAAS+D,EAAM0mkB,UAAU5qkB,EAAGA,EAAE2pkB,SAAW3pkB,EAAEmqkB,YAAanqkB,EAAE2qkB,aA9hBhD,GAgiBV3qkB,EAAEkqkB,WAAalqkB,EAAE2qkB,aAKb3qkB,EAAE2qkB,cAAgB3qkB,EAAE6qkB,gBAAuC7qkB,EAAEkqkB,WAriBvD,EAqiB+E,CACvFlqkB,EAAE2qkB,eACF,GACE3qkB,EAAE2pkB,WAEF3pkB,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAOiC,EAAE2pkB,SA1iB5C,EA0iBmE,IAAM3pkB,EAAE0qkB,UACjFvpkB,EAAYnB,EAAE2d,KAAK3d,EAAE2pkB,SAAW3pkB,EAAEgqkB,QAAUhqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OACrDxqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OAASxqkB,EAAE2pkB,eAKQ,KAAnB3pkB,EAAE2qkB,cACb3qkB,EAAE2pkB,UAAA,MAGF3pkB,EAAE2pkB,UAAY3pkB,EAAE2qkB,aAChB3qkB,EAAE2qkB,aAAe,EACjB3qkB,EAAEwqkB,MAAQxqkB,EAAEjC,OAAOiC,EAAE2pkB,UAErB3pkB,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAOiC,EAAE2pkB,SAAW,IAAM3pkB,EAAE0qkB,eAavEvqkB,EAAS+D,EAAM0mkB,UAAU5qkB,EAAG,EAAGA,EAAEjC,OAAOiC,EAAE2pkB,WAE1C3pkB,EAAEkqkB,YACFlqkB,EAAE2pkB,WAEJ,GAAIxpkB,IAEFnB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WACT,OAjkBgB,EAukBtB,OADA1lkB,EAAEwb,OAAWxb,EAAE2pkB,SAAY,EAAkB3pkB,EAAE2pkB,SAAW,EAvpBtC,IAwpBhBlpkB,GAEFzB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,UAxkBS,EACA,GA6kBlB1lkB,EAAE8qkB,WAEJ9rkB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WAnlBS,EACA,EA+lBxB,SAASvikB,EAAanD,EAAGS,GAOvB,IANA,IAAIU,EACAhB,EAEAD,IAGK,CAMP,GAAIF,EAAEkqkB,UAznBW,IAynBgB,CAE/B,GADAjrkB,EAAYe,GACRA,EAAEkqkB,UA3nBS,KAzEC,IAosBmBzpkB,EACjC,OAhnBgB,EAknBlB,GAAoB,IAAhBT,EAAEkqkB,UAAmB,MA0C3B,GApCA/okB,EAAY,EACRnB,EAAEkqkB,WAvoBM,IAyoBVlqkB,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAOiC,EAAE2pkB,SAzoBxC,EAyoB+D,IAAM3pkB,EAAE0qkB,UACjFvpkB,EAAYnB,EAAE2d,KAAK3d,EAAE2pkB,SAAW3pkB,EAAEgqkB,QAAUhqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OACrDxqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OAASxqkB,EAAE2pkB,UAMtB3pkB,EAAE6pkB,YAAc7pkB,EAAE2qkB,aAClB3qkB,EAAE+qkB,WAAa/qkB,EAAEmqkB,YACjBnqkB,EAAE2qkB,aAAe,EAEC,IAAdxpkB,GAA0BnB,EAAE6pkB,YAAc7pkB,EAAE6qkB,gBAC5C7qkB,EAAE2pkB,SAAWxokB,GAAcnB,EAAE+pkB,OAppBhB,MAypBf/pkB,EAAE2qkB,aAAeznkB,EAAclD,EAAGmB,GAG9BnB,EAAE2qkB,cAAgB,IAvsBA,IAwsBlB3qkB,EAAE0gG,UA/pBI,IA+pBwB1gG,EAAE2qkB,cAA8B3qkB,EAAE2pkB,SAAW3pkB,EAAEmqkB,YAAc,QAK7FnqkB,EAAE2qkB,aAAe,IAMjB3qkB,EAAE6pkB,aA1qBM,GA0qBsB7pkB,EAAE2qkB,cAAgB3qkB,EAAE6pkB,YAAa,CACjE3pkB,EAAaF,EAAE2pkB,SAAW3pkB,EAAEkqkB,UA3qBlB,EAkrBV/pkB,EAAS+D,EAAM0mkB,UAAU5qkB,EAAGA,EAAE2pkB,SAAW,EAAI3pkB,EAAE+qkB,WAAY/qkB,EAAE6pkB,YAlrBnD,GAwrBV7pkB,EAAEkqkB,WAAalqkB,EAAE6pkB,YAAc,EAC/B7pkB,EAAE6pkB,aAAe,EACjB,KACQ7pkB,EAAE2pkB,UAAYzpkB,IAElBF,EAAEwqkB,OAAUxqkB,EAAEwqkB,OAASxqkB,EAAEyqkB,WAAczqkB,EAAEjC,OAAOiC,EAAE2pkB,SA7rB5C,EA6rBmE,IAAM3pkB,EAAE0qkB,UACjFvpkB,EAAYnB,EAAE2d,KAAK3d,EAAE2pkB,SAAW3pkB,EAAEgqkB,QAAUhqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OACrDxqkB,EAAE2hB,KAAK3hB,EAAEwqkB,OAASxqkB,EAAE2pkB,gBAGK,KAAlB3pkB,EAAE6pkB,aAKb,GAJA7pkB,EAAEgrkB,gBAAkB,EACpBhrkB,EAAE2qkB,aAAe,EACjB3qkB,EAAE2pkB,WAEExpkB,IAEFnB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WACT,OA7rBc,OAksBb,GAAI1lkB,EAAEgrkB,iBAgBX,IATA7qkB,EAAS+D,EAAM0mkB,UAAU5qkB,EAAG,EAAGA,EAAEjC,OAAOiC,EAAE2pkB,SAAW,MAInD3qkB,EAAiBgB,GAAA,GAGnBA,EAAE2pkB,WACF3pkB,EAAEkqkB,YACuB,IAArBlqkB,EAAEylkB,KAAKC,UACT,OAntBgB,OAytBlB1lkB,EAAEgrkB,gBAAkB,EACpBhrkB,EAAE2pkB,WACF3pkB,EAAEkqkB,WAAA,CAYN,OARIlqkB,EAAEgrkB,kBAGJ7qkB,EAAS+D,EAAM0mkB,UAAU5qkB,EAAG,EAAGA,EAAEjC,OAAOiC,EAAE2pkB,SAAW,IAErD3pkB,EAAEgrkB,gBAAkB,GAEtBhrkB,EAAEwb,OAASxb,EAAE2pkB,SAAW,EAAgB3pkB,EAAE2pkB,SAAW,EAvzBjC,IAwzBhBlpkB,GAEFzB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,UAxuBS,EACA,GA6uBlB1lkB,EAAE8qkB,WAEJ9rkB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WAnvBS,EACA,EAy5BxB,SAASzie,EAAOjjG,EAAaS,EAAUU,EAAahB,EAAWD,GAC7DR,KAAKurkB,YAAcjrkB,EACnBN,KAAKwrkB,SAAWzqkB,EAChBf,KAAKyrkB,YAAchqkB,EACnBzB,KAAK0rkB,UAAYjrkB,EACjBT,KAAKwjB,KAAOhjB,CAAA,CA+Cd,SAASkD,IACP1D,KAAK+lkB,KAAO,KACZ/lkB,KAAK01C,OAAS,EACd11C,KAAK4pkB,YAAc,KACnB5pkB,KAAK2rkB,iBAAmB,EACxB3rkB,KAAK6pkB,YAAc,EACnB7pkB,KAAK01jB,QAAU,EACf11jB,KAAKirH,KAAO,EACZjrH,KAAK4rkB,OAAS,KACd5rkB,KAAK6rkB,QAAU,EACf7rkB,KAAKf,OAjgCW,EAkgChBe,KAAK8rkB,YAAc,EAEnB9rkB,KAAKqqkB,OAAS,EACdrqkB,KAAK+rkB,OAAS,EACd/rkB,KAAKsqkB,OAAS,EAEdtqkB,KAAK3B,OAAS,KAQd2B,KAAK0qkB,YAAc,EAKnB1qkB,KAAKie,KAAO,KAMZje,KAAKiiB,KAAO,KAEZjiB,KAAK8qkB,MAAQ,EACb9qkB,KAAK2qkB,UAAY,EACjB3qkB,KAAKgskB,UAAY,EACjBhskB,KAAKgrkB,UAAY,EAEjBhrkB,KAAK+qkB,WAAa,EAOlB/qkB,KAAKgqkB,YAAc,EAKnBhqkB,KAAKirkB,aAAe,EACpBjrkB,KAAKqrkB,WAAa,EAClBrrkB,KAAKsrkB,gBAAkB,EACvBtrkB,KAAKiqkB,SAAW,EAChBjqkB,KAAKyqkB,YAAc,EACnBzqkB,KAAKwqkB,UAAY,EAEjBxqkB,KAAKmqkB,YAAc,EAKnBnqkB,KAAKkqkB,iBAAmB,EAMxBlqkB,KAAKmrkB,eAAiB,EAYtBnrkB,KAAKuuJ,MAAQ,EACbvuJ,KAAKghG,SAAW,EAEhBhhG,KAAKuqkB,WAAa,EAGlBvqkB,KAAKoqkB,WAAa,EAYlBpqkB,KAAKiskB,UAAa,IAAIzrkB,EAAM8nkB,MAAM,MAClCtokB,KAAKkskB,UAAa,IAAI1rkB,EAAM8nkB,MAAM,KAClCtokB,KAAKmskB,QAAa,IAAI3rkB,EAAM8nkB,MAAM,IAClCtiiB,EAAKhmC,KAAKiskB,WACVjmiB,EAAKhmC,KAAKkskB,WACVlmiB,EAAKhmC,KAAKmskB,SAEVnskB,KAAKoskB,OAAW,KAChBpskB,KAAKqskB,OAAW,KAChBrskB,KAAKsskB,QAAW,KAGhBtskB,KAAKuskB,SAAW,IAAI/rkB,EAAM8nkB,MAAM,IAIhCtokB,KAAKwskB,KAAO,IAAIhskB,EAAM8nkB,MAAM,KAC5BtiiB,EAAKhmC,KAAKwskB,MAEVxskB,KAAKyskB,SAAW,EAChBzskB,KAAK0skB,SAAW,EAKhB1skB,KAAK61H,MAAQ,IAAIr1H,EAAM8nkB,MAAM,KAC7BtiiB,EAAKhmC,KAAK61H,OAIV71H,KAAK2skB,MAAQ,EAEb3skB,KAAK4skB,YAAc,EAoBnB5skB,KAAKorkB,SAAW,EAEhBprkB,KAAK6skB,MAAQ,EAMb7skB,KAAK8skB,QAAU,EACf9skB,KAAK+skB,WAAa,EAClB/skB,KAAK+gC,QAAU,EACf/gC,KAAK8b,OAAS,EAGd9b,KAAKgtkB,OAAS,EAIdhtkB,KAAKitkB,SAAW,EAgBlB,SAASvokB,EAAiBpE,GACxB,IAAIS,EAEJ,OAAKT,GAASA,EAAK8J,OAInB9J,EAAKuqkB,SAAWvqkB,EAAKwpkB,UAAY,EACjCxpkB,EAAK4skB,UAhsCqB,GAksC1BnskB,EAAIT,EAAK8J,OACPsrjB,QAAU,EACZ30jB,EAAE8okB,YAAc,EAEZ9okB,EAAEkqH,KAAO,IACXlqH,EAAEkqH,MAAQlqH,EAAEkqH,MAGdlqH,EAAE20C,OAAU30C,EAAEkqH,KArqCC,GAKA,IAiqCf3qH,EAAKsqkB,MAAoB,IAAX7pkB,EAAEkqH,KACd,EAEA,EACFlqH,EAAE+qkB,WAvvCkB,EAwvCpBtnkB,EAAM2okB,SAASpskB,GA5uCK,GAwtCXS,EAAIlB,GAptCO,GA6uCtB,SAASsgB,EAAatgB,GACpB,IAlPeS,EAkPXU,EAAMiD,EAAiBpE,GAI3B,OAtvCoB,IAmvChBmB,KAnPWV,EAoPLT,EAAK8J,OAnPbsgkB,YAAc,EAAI3pkB,EAAEspkB,OAGtBrkiB,EAAKjlC,EAAEkhB,MAIPlhB,EAAEoqkB,eAAiB1qkB,EAAoBM,EAAEwtJ,OAAOi9a,SAChDzqkB,EAAEwpkB,WAAa9pkB,EAAoBM,EAAEwtJ,OAAOg9a,YAC5CxqkB,EAAEqpkB,WAAa3pkB,EAAoBM,EAAEwtJ,OAAOk9a,YAC5C1qkB,EAAEmpkB,iBAAmBzpkB,EAAoBM,EAAEwtJ,OAAOm9a,UAElD3qkB,EAAEkpkB,SAAW,EACblpkB,EAAEipkB,YAAc,EAChBjpkB,EAAEypkB,UAAY,EACdzpkB,EAAE+a,OAAS,EACX/a,EAAEkqkB,aAAelqkB,EAAEopkB,YAAc,EACjCppkB,EAAEuqkB,gBAAkB,EACpBvqkB,EAAE+pkB,MAAQ,GAmOHrpkB,CAAA,CAYT,SAASuqL,EAAa1rL,EAAMS,EAAOU,EAAQhB,EAAY+D,EAAUW,GAC/D,IAAK7E,EACH,OAhwCkB,EAkwCpB,IAAIC,EAAO,EAiBX,IAxwC0B,IAyvCtBQ,IACFA,EAAQ,GAGNN,EAAa,GACfF,EAAO,EACPE,GAAcA,GAGPA,EAAa,KACpBF,EAAO,EACPE,GAAc,IAIZ+D,EAAW,GAAKA,EAlvCF,GALF,IAuvCgC/C,GAC9ChB,EAAa,GAAKA,EAAa,IAAMM,EAAQ,GAAKA,EAAQ,GAC1DoE,EAAW,GAAKA,EApwCQ,EAqwCxB,OAAO3D,EAAIlB,GAtxCO,GA0xCD,IAAfG,IACFA,EAAa,GAIf,IAAIyL,EAAI,IAAIxI,EA0CZ,OAxCApD,EAAK8J,MAAQ8B,EACbA,EAAE65jB,KAAOzlkB,EAET4L,EAAE++G,KAAO1qH,EACT2L,EAAE0/jB,OAAS,KACX1/jB,EAAE6/jB,OAAStrkB,EACXyL,EAAEm+jB,OAAS,GAAKn+jB,EAAE6/jB,OAClB7/jB,EAAEo+jB,OAASp+jB,EAAEm+jB,OAAS,EAEtBn+jB,EAAE8/jB,UAAYxnkB,EAAW,EACzB0H,EAAEy+jB,UAAY,GAAKz+jB,EAAE8/jB,UACrB9/jB,EAAE8+jB,UAAY9+jB,EAAEy+jB,UAAY,EAC5Bz+jB,EAAE6+jB,eAAiB7+jB,EAAE8/jB,UAtvCP,EAsvC+B,GAtvC/B,GAwvCd9/jB,EAAE7N,OAAS,IAAImC,EAAMimkB,KAAgB,EAAXv6jB,EAAEm+jB,QAC5Bn+jB,EAAE+V,KAAO,IAAIzhB,EAAM8nkB,MAAMp8jB,EAAEy+jB,WAC3Bz+jB,EAAE+R,KAAO,IAAIzd,EAAM8nkB,MAAMp8jB,EAAEm+jB,QAK3Bn+jB,EAAE0gkB,YAAc,GAAMpokB,EAAW,EAEjC0H,EAAEy/jB,iBAAmC,EAAhBz/jB,EAAE0gkB,YAIvB1gkB,EAAE09jB,YAAc,IAAIppkB,EAAMimkB,KAAKv6jB,EAAEy/jB,kBAIjCz/jB,EAAE2gkB,MAAQ,EAAI3gkB,EAAE0gkB,YAGhB1gkB,EAAEygkB,MAAQ,EAAUzgkB,EAAE0gkB,YAEtB1gkB,EAAEqiJ,MAAQxtJ,EACVmL,EAAE80F,SAAW77F,EACb+G,EAAEjN,OAASwC,EAEJmf,EAAatgB,EAAA,CAhWtBG,EAAsB,CAEpB,IAAI8iG,EAAO,EAAG,EAAG,EAAG,GAxiBtB,SAAwBjjG,EAAGS,GAIzB,IAAIU,EAAiB,MAOrB,IALIA,EAAiBnB,EAAEqrkB,iBAAmB,IACxClqkB,EAAiBnB,EAAEqrkB,iBAAmB,KAI/B,CAEP,GAAIrrkB,EAAEkqkB,WAAa,EAAG,CAUpB,GADAjrkB,EAAYe,GACQ,IAAhBA,EAAEkqkB,WA1eU,IA0eSzpkB,EACvB,OAtZgB,EAyZlB,GAAoB,IAAhBT,EAAEkqkB,UACJ,MAOJlqkB,EAAE2pkB,UAAY3pkB,EAAEkqkB,UAChBlqkB,EAAEkqkB,UAAY,EAGd,IAAI/pkB,EAAYH,EAAE0pkB,YAAcvokB,EAEhC,IAAmB,IAAfnB,EAAE2pkB,UAAkB3pkB,EAAE2pkB,UAAYxpkB,KAEpCH,EAAEkqkB,UAAYlqkB,EAAE2pkB,SAAWxpkB,EAC3BH,EAAE2pkB,SAAWxpkB,EAEbnB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WACT,OA9agB,EAubpB,GAAI1lkB,EAAE2pkB,SAAW3pkB,EAAE0pkB,aAAgB1pkB,EAAE+pkB,OAncpB,MAqcf/qkB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WACT,OA3bgB,EAmctB,OAFA1lkB,EAAEwb,OAAS,EAlhBS,IAohBhB/a,GAEFzB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,UApcS,EACA,IA0clB1lkB,EAAE2pkB,SAAW3pkB,EAAE0pkB,cAEjB1qkB,EAAiBgB,GAAA,GACbA,EAAEylkB,KAAKC,WAhdS,MAu6BtB,IAAIzie,EAAO,EAAG,EAAG,EAAG,EAAGr/F,GACvB,IAAIq/F,EAAO,EAAG,EAAG,GAAI,EAAGr/F,GACxB,IAAIq/F,EAAO,EAAG,EAAG,GAAI,GAAIr/F,GAEzB,IAAIq/F,EAAO,EAAG,EAAG,GAAI,GAAI9/F,GACzB,IAAI8/F,EAAO,EAAG,GAAI,GAAI,GAAI9/F,GAC1B,IAAI8/F,EAAO,EAAG,GAAI,IAAK,IAAK9/F,GAC5B,IAAI8/F,EAAO,EAAG,GAAI,IAAK,IAAK9/F,GAC5B,IAAI8/F,EAAO,GAAI,IAAK,IAAK,KAAM9/F,GAC/B,IAAI8/F,EAAO,GAAI,IAAK,IAAK,KAAM9/F,IA2xBjChC,EAAQ2rkB,YApcR,SAAqB9skB,EAAMS,GACzB,OAAOirL,EAAa1rL,EAAMS,EAjzCV,EAOF,GAEI,EAnBQ,IA+vD5BU,EAAQwkkB,aAAej6Y,EACvBvqL,EAAQ4rkB,aAAezsjB,EACvBnf,EAAQ6rkB,iBAAmB5okB,EAC3BjD,EAAQykkB,iBA9hBR,SAA0B5lkB,EAAMS,GAC9B,OAAKT,GAASA,EAAK8J,MACK,IAApB9J,EAAK8J,MAAM6gH,MAxvCK,GAyvCpB3qH,EAAK8J,MAAMwhkB,OAAS7qkB,EA7vCA,IAIA,GAqxDtBU,EAAQklkB,QApcR,SAAiBrmkB,EAAMS,GACrB,IAAIU,EAAWjB,EACX2E,EAAK+G,EAET,IAAK5L,IAASA,EAAK8J,OACjBrJ,EAj2CkB,GAi2CCA,EAAQ,EAC3B,OAAOT,EAAOkB,EAAIlB,GAv1CA,MA41CpB,GAFAE,EAAIF,EAAK8J,OAEJ9J,EAAKgf,SACJhf,EAAKuM,OAA2B,IAAlBvM,EAAKkmkB,UA1xCR,MA2xCZhmkB,EAAEk1C,QA12Ca,IA02Cc30C,EAChC,OAAOS,EAAIlB,EAA0B,IAAnBA,EAAK0lkB,WA51CL,GAHA,GAu2CpB,GALAxlkB,EAAEulkB,KAAOzlkB,EACTmB,EAAYjB,EAAEsrkB,WACdtrkB,EAAEsrkB,WAAa/qkB,EAvyCA,KA0yCXP,EAAEk1C,OAEJ,GAAe,IAAXl1C,EAAEyqH,KACJ3qH,EAAKsqkB,MAAQ,EACbhrkB,EAASY,EAAG,IACZZ,EAASY,EAAG,KACZZ,EAASY,EAAG,GACPA,EAAEorkB,QAaLhskB,EAASY,GAAIA,EAAEorkB,OAAOv0jB,KAAO,EAAI,IACpB7W,EAAEorkB,OAAO2B,KAAO,EAAI,IACnB/skB,EAAEorkB,OAAOvnb,MAAY,EAAJ,IACjB7jJ,EAAEorkB,OAAO7kkB,KAAW,EAAJ,IAChBvG,EAAEorkB,OAAOrrjB,QAAc,GAAJ,IAEjC3gB,EAASY,EAAmB,IAAhBA,EAAEorkB,OAAOxriB,MACrBxgC,EAASY,EAAIA,EAAEorkB,OAAOxriB,MAAQ,EAAK,KACnCxgC,EAASY,EAAIA,EAAEorkB,OAAOxriB,MAAQ,GAAM,KACpCxgC,EAASY,EAAIA,EAAEorkB,OAAOxriB,MAAQ,GAAM,KACpCxgC,EAASY,EAAe,IAAZA,EAAE+tJ,MAAc,EACf/tJ,EAAEwgG,UAv3CK,GAu3CyBxgG,EAAE+tJ,MAAQ,EAC1C,EAAI,GACjB3uJ,EAASY,EAAiB,IAAdA,EAAEorkB,OAAOtjhB,IACjB9nD,EAAEorkB,OAAOvnb,OAAS7jJ,EAAEorkB,OAAOvnb,MAAM1jJ,SACnCf,EAASY,EAA2B,IAAxBA,EAAEorkB,OAAOvnb,MAAM1jJ,QAC3Bf,EAASY,EAAIA,EAAEorkB,OAAOvnb,MAAM1jJ,QAAU,EAAK,MAEzCH,EAAEorkB,OAAO2B,OACXjtkB,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAS,IAE3Dl1jB,EAAEqrkB,QAAU,EACZrrkB,EAAEk1C,OAn1CQ,KAizCV91C,EAASY,EAAG,GACZZ,EAASY,EAAG,GACZZ,EAASY,EAAG,GACZZ,EAASY,EAAG,GACZZ,EAASY,EAAG,GACZZ,EAASY,EAAe,IAAZA,EAAE+tJ,MAAc,EACf/tJ,EAAEwgG,UAt2CK,GAs2CyBxgG,EAAE+tJ,MAAQ,EAC1C,EAAI,GACjB3uJ,EAASY,EA7yCH,GA8yCNA,EAAEk1C,OAtzCO,SAm1Cb,CACE,IAAIlyC,EA13CQ,GA03CiBhD,EAAEurkB,OAAS,GAAM,IAAO,EAYrDvokB,IATIhD,EAAEwgG,UA14CgB,GA04CcxgG,EAAE+tJ,MAAQ,EAC9B,EACL/tJ,EAAE+tJ,MAAQ,EACL,EACO,IAAZ/tJ,EAAE+tJ,MACG,EAEA,IAEU,EACP,IAAf/tJ,EAAEypkB,WAAkBzmkB,GAx2CZ,IAy2CZA,GAAU,GAAMA,EAAS,GAEzBhD,EAAEk1C,OAp2CS,IAq2CXjxC,EAAYjE,EAAGgD,GAGI,IAAfhD,EAAEypkB,WACJxlkB,EAAYjE,EAAGF,EAAKsqkB,QAAU,IAC9BnmkB,EAAYjE,EAAgB,MAAbF,EAAKsqkB,QAEtBtqkB,EAAKsqkB,MAAQ,EAKjB,GAr3CgB,KAq3CZpqkB,EAAEk1C,OACJ,GAAIl1C,EAAEorkB,OAAOvnb,MAAqB,CAGhC,IAFAl/I,EAAM3E,EAAEk1jB,QAEDl1jB,EAAEqrkB,SAAmC,MAAxBrrkB,EAAEorkB,OAAOvnb,MAAM1jJ,UAC7BH,EAAEk1jB,UAAYl1jB,EAAEmrkB,mBACdnrkB,EAAEorkB,OAAO2B,MAAQ/skB,EAAEk1jB,QAAUvwjB,IAC/B7E,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAUvwjB,EAAKA,IAEjEwjB,EAAcroB,GACd6E,EAAM3E,EAAEk1jB,QACJl1jB,EAAEk1jB,UAAYl1jB,EAAEmrkB,oBAItB/rkB,EAASY,EAA+B,IAA5BA,EAAEorkB,OAAOvnb,MAAM7jJ,EAAEqrkB,UAC7BrrkB,EAAEqrkB,UAEArrkB,EAAEorkB,OAAO2B,MAAQ/skB,EAAEk1jB,QAAUvwjB,IAC/B7E,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAUvwjB,EAAKA,IAE7D3E,EAAEqrkB,UAAYrrkB,EAAEorkB,OAAOvnb,MAAM1jJ,SAC/BH,EAAEqrkB,QAAU,EACZrrkB,EAAEk1C,OA34CO,SA+4CXl1C,EAAEk1C,OA/4CS,GAk5Cf,GAl5Ce,KAk5CXl1C,EAAEk1C,OACJ,GAAIl1C,EAAEorkB,OAAO7kkB,KAAoB,CAC/B5B,EAAM3E,EAAEk1jB,QAGR,EAAG,CACD,GAAIl1jB,EAAEk1jB,UAAYl1jB,EAAEmrkB,mBACdnrkB,EAAEorkB,OAAO2B,MAAQ/skB,EAAEk1jB,QAAUvwjB,IAC/B7E,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAUvwjB,EAAKA,IAEjEwjB,EAAcroB,GACd6E,EAAM3E,EAAEk1jB,QACJl1jB,EAAEk1jB,UAAYl1jB,EAAEmrkB,kBAAkB,CACpCz/jB,EAAM,EACN,MAKFA,EADE1L,EAAEqrkB,QAAUrrkB,EAAEorkB,OAAO7kkB,KAAKpG,OACkB,IAAxCH,EAAEorkB,OAAO7kkB,KAAK2H,WAAWlO,EAAEqrkB,WAE3B,EAERjskB,EAASY,EAAG0L,EAAA,OACG,IAARA,GAEL1L,EAAEorkB,OAAO2B,MAAQ/skB,EAAEk1jB,QAAUvwjB,IAC/B7E,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAUvwjB,EAAKA,IAErD,IAAR+G,IACF1L,EAAEqrkB,QAAU,EACZrrkB,EAAEk1C,OAh7CU,SAo7Cdl1C,EAAEk1C,OAp7CY,GAu7ClB,GAv7CkB,KAu7Cdl1C,EAAEk1C,OACJ,GAAIl1C,EAAEorkB,OAAOrrjB,QAAuB,CAClCpb,EAAM3E,EAAEk1jB,QAGR,EAAG,CACD,GAAIl1jB,EAAEk1jB,UAAYl1jB,EAAEmrkB,mBACdnrkB,EAAEorkB,OAAO2B,MAAQ/skB,EAAEk1jB,QAAUvwjB,IAC/B7E,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAUvwjB,EAAKA,IAEjEwjB,EAAcroB,GACd6E,EAAM3E,EAAEk1jB,QACJl1jB,EAAEk1jB,UAAYl1jB,EAAEmrkB,kBAAkB,CACpCz/jB,EAAM,EACN,MAKFA,EADE1L,EAAEqrkB,QAAUrrkB,EAAEorkB,OAAOrrjB,QAAQ5f,OACkB,IAA3CH,EAAEorkB,OAAOrrjB,QAAQ7R,WAAWlO,EAAEqrkB,WAE9B,EAERjskB,EAASY,EAAG0L,EAAA,OACG,IAARA,GAEL1L,EAAEorkB,OAAO2B,MAAQ/skB,EAAEk1jB,QAAUvwjB,IAC/B7E,EAAKsqkB,MAAQrqkB,EAAMD,EAAKsqkB,MAAOpqkB,EAAEopkB,YAAappkB,EAAEk1jB,QAAUvwjB,EAAKA,IAErD,IAAR+G,IACF1L,EAAEk1C,OAp9CO,UAw9CXl1C,EAAEk1C,OAx9CS,IA8+Cf,GA9+Ce,MA29CXl1C,EAAEk1C,SACAl1C,EAAEorkB,OAAO2B,MACP/skB,EAAEk1jB,QAAU,EAAIl1jB,EAAEmrkB,kBACpBhjjB,EAAcroB,GAEZE,EAAEk1jB,QAAU,GAAKl1jB,EAAEmrkB,mBACrB/rkB,EAASY,EAAgB,IAAbF,EAAKsqkB,OACjBhrkB,EAASY,EAAIF,EAAKsqkB,OAAS,EAAK,KAChCtqkB,EAAKsqkB,MAAQ,EACbpqkB,EAAEk1C,OAn+CO,MAu+CXl1C,EAAEk1C,OAv+CS,KA6+CG,IAAdl1C,EAAEk1jB,SAEJ,GADA/siB,EAAcroB,GACS,IAAnBA,EAAK0lkB,UAQP,OADAxlkB,EAAEsrkB,YAAc,EA5jDA,OAokDb,GAAsB,IAAlBxrkB,EAAKkmkB,UAAkBjjkB,EAAKxC,IAAUwC,EAAK9B,IA5kDlC,IA6kDlBV,EACA,OAAOS,EAAIlB,GA/jDO,GAmkDpB,GAngDiB,MAmgDbE,EAAEk1C,QAA6C,IAAlBp1C,EAAKkmkB,SACpC,OAAOhlkB,EAAIlB,GApkDO,GAykDpB,GAAsB,IAAlBA,EAAKkmkB,UAAkC,IAAhBhmkB,EAAEgqkB,WA5lDT,IA6lDjBzpkB,GA1gDc,MA0gDUP,EAAEk1C,OAA0B,CACrD,IAAIxxC,EA/jDoB,IA+jDV1D,EAAEwgG,SAxqBpB,SAAsB1gG,EAAGS,GAGvB,IAFA,IAAIU,IAEK,CAEP,GAAoB,IAAhBnB,EAAEkqkB,YACJjrkB,EAAYe,GACQ,IAAhBA,EAAEkqkB,WAAiB,CACrB,GA97Bc,IA87BVzpkB,EACF,OA12Bc,EA42BhB,MAWJ,GANAT,EAAE2qkB,aAAe,EAGjBxpkB,EAAS+C,EAAM0mkB,UAAU5qkB,EAAG,EAAGA,EAAEjC,OAAOiC,EAAE2pkB,WAC1C3pkB,EAAEkqkB,YACFlqkB,EAAE2pkB,WACExokB,IAEFnC,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WACT,OA33BgB,EAi4BtB,OADA1lkB,EAAEwb,OAAS,EAj9BS,IAk9BhB/a,GAEFzB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,UAl4BS,EACA,GAu4BlB1lkB,EAAE8qkB,WAEJ9rkB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WA74BS,EACA,EAg2BxB,CAwqBgExlkB,EAAGO,GA9jDvC,IA+jDrBP,EAAEwgG,SAxwBT,SAAqB1gG,EAAGS,GAOtB,IANA,IAAIU,EACAhB,EACAD,EAAM2E,EAEN5E,EAAOD,EAAEjC,SAEJ,CAKP,GAAIiC,EAAEkqkB,WA3xBM,IA2xBkB,CAE5B,GADAjrkB,EAAYe,GACRA,EAAEkqkB,WA7xBI,KAxEM,IAq2BgBzpkB,EAC9B,OAjxBgB,EAmxBlB,GAAoB,IAAhBT,EAAEkqkB,UAAmB,MAK3B,GADAlqkB,EAAE2qkB,aAAe,EACb3qkB,EAAEkqkB,WAtyBM,GAsyBoBlqkB,EAAE2pkB,SAAW,IAE3CxpkB,EAAOF,EADPC,EAAOF,EAAE2pkB,SAAW,MAEP1pkB,IAAOC,IAASC,IAASF,IAAOC,IAASC,IAASF,IAAOC,GAAO,CAC3E2E,EAAS7E,EAAE2pkB,SAzyBH,IA0yBR,UAESxpkB,IAASF,IAAOC,IAASC,IAASF,IAAOC,IACzCC,IAASF,IAAOC,IAASC,IAASF,IAAOC,IACzCC,IAASF,IAAOC,IAASC,IAASF,IAAOC,IACzCC,IAASF,IAAOC,IAASC,IAASF,IAAOC,IACzCA,EAAO2E,GAChB7E,EAAE2qkB,aAjzBM,KAizBsB9lkB,EAAS3E,GACnCF,EAAE2qkB,aAAe3qkB,EAAEkqkB,YACrBlqkB,EAAE2qkB,aAAe3qkB,EAAEkqkB,UAAA,CAyBzB,GAlBIlqkB,EAAE2qkB,cA3zBM,GA+zBVxpkB,EAAS+C,EAAM0mkB,UAAU5qkB,EAAG,EAAGA,EAAE2qkB,aA/zBvB,GAi0BV3qkB,EAAEkqkB,WAAalqkB,EAAE2qkB,aACjB3qkB,EAAE2pkB,UAAY3pkB,EAAE2qkB,aAChB3qkB,EAAE2qkB,aAAe,IAKjBxpkB,EAAS+C,EAAM0mkB,UAAU5qkB,EAAG,EAAGA,EAAEjC,OAAOiC,EAAE2pkB,WAE1C3pkB,EAAEkqkB,YACFlqkB,EAAE2pkB,YAEAxokB,IAEFnC,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WACT,OAn0BgB,EAy0BtB,OADA1lkB,EAAEwb,OAAS,EAz5BS,IA05BhB/a,GAEFzB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,UA10BS,EACA,GA+0BlB1lkB,EAAE8qkB,WAEJ9rkB,EAAiBgB,GAAA,GACQ,IAArBA,EAAEylkB,KAAKC,WAr1BS,EACA,EAiwBxB,CAwwB0CxlkB,EAAGO,GACrCN,EAAoBD,EAAE+tJ,OAAO/qI,KAAKhjB,EAAGO,GAKzC,GA9gDoB,IA2gDhBmD,GA1gDgB,IA0gDgBA,IAClC1D,EAAEk1C,OAhhDW,KAEK,IAghDhBxxC,GA9gDgB,IA8gDWA,EAK7B,OAJuB,IAAnB5D,EAAK0lkB,YACPxlkB,EAAEsrkB,YAAc,GA3lDF,EAumDlB,GA7hDoB,IA6hDhB5nkB,IAlnDc,IAmnDZnD,EACFyD,EAAMgpkB,UAAUhtkB,GAhnDF,IAknDPO,IAEPyD,EAAMipkB,iBAAiBjtkB,EAAG,EAAG,GAAG,GAtnDlB,IA0nDVO,IAEFilC,EAAKxlC,EAAEyhB,MAEa,IAAhBzhB,EAAEgqkB,YACJhqkB,EAAEypkB,SAAW,EACbzpkB,EAAEwpkB,YAAc,EAChBxpkB,EAAEsb,OAAS,KAIjB6M,EAAcroB,GACS,IAAnBA,EAAK0lkB,WAEP,OADAxlkB,EAAEsrkB,YAAc,EA9nDF,EAsoDpB,OA9oDoB,IA8oDhB/qkB,EAtoDgB,EAuoDhBP,EAAEyqH,MAAQ,EAtoDM,GAyoDL,IAAXzqH,EAAEyqH,MACJrrH,EAASY,EAAgB,IAAbF,EAAKsqkB,OACjBhrkB,EAASY,EAAIF,EAAKsqkB,OAAS,EAAK,KAChChrkB,EAASY,EAAIF,EAAKsqkB,OAAS,GAAM,KACjChrkB,EAASY,EAAIF,EAAKsqkB,OAAS,GAAM,KACjChrkB,EAASY,EAAmB,IAAhBF,EAAKuqkB,UACjBjrkB,EAASY,EAAIF,EAAKuqkB,UAAY,EAAK,KACnCjrkB,EAASY,EAAIF,EAAKuqkB,UAAY,GAAM,KACpCjrkB,EAASY,EAAIF,EAAKuqkB,UAAY,GAAM,OAIpCpmkB,EAAYjE,EAAGF,EAAKsqkB,QAAU,IAC9BnmkB,EAAYjE,EAAgB,MAAbF,EAAKsqkB,QAGtBjijB,EAAcroB,GAIVE,EAAEyqH,KAAO,IAAKzqH,EAAEyqH,MAAQzqH,EAAEyqH,MAET,IAAdzqH,EAAEk1jB,QAhqDW,EACA,IAyxDtBj0jB,EAAQqlkB,WAvHR,SAAoBxmkB,GAClB,IAAIS,EAEJ,OAAKT,GAAsBA,EAAK8J,MArmDjB,MAymDfrJ,EAAST,EAAK8J,MAAMsrC,SAxmDJ,KA0mDd30C,GAzmDa,KA0mDbA,GAzmDgB,KA0mDhBA,GAzmDa,MA0mDbA,GAzmDa,MA0mDbA,GAzmDe,MA0mDfA,EAEOS,EAAIlB,GA/qDO,IAkrDpBA,EAAK8J,MAAQ,KAhnDE,MAknDRrJ,EAAwBS,EAAIlB,GAnrDf,GALA,IAIA,GAuxDtBmB,EAAQ4kkB,qBA3FR,SAA8B/lkB,EAAMS,GAClC,IAEIU,EACAhB,EAAK+D,EACLjE,EACA2L,EACA1K,EACA+B,EACAolB,EARArpB,EAAayB,EAAWJ,OAU5B,IAAKL,IAAsBA,EAAK8J,MAC9B,OAxsDkB,EA8sDpB,GAAa,KAFb7J,GADAkB,EAAInB,EAAK8J,OACA6gH,OAEmB,IAAT1qH,GAjpDJ,KAipDkBkB,EAAEi0C,QAA0Bj0C,EAAE+okB,UAC7D,OA/sDkB,EAkvDpB,IA/Ba,IAATjqkB,IAEFD,EAAKsqkB,MAAQzlkB,EAAQ7E,EAAKsqkB,MAAO7pkB,EAAYzB,EAAY,IAG3DmC,EAAEwpH,KAAO,EAGL3rH,GAAcmC,EAAE4okB,SACL,IAAT9pkB,IAEFylC,EAAKvkC,EAAEwgB,MACPxgB,EAAEwokB,SAAW,EACbxokB,EAAEuokB,YAAc,EAChBvokB,EAAEqa,OAAS,GAIb6M,EAAU,IAAInoB,EAAMimkB,KAAKhlkB,EAAE4okB,QAC3B7pkB,EAAMwnkB,SAASr/iB,EAAS5nB,EAAYzB,EAAamC,EAAE4okB,OAAQ5okB,EAAE4okB,OAAQ,GACrEtpkB,EAAa4nB,EACbrpB,EAAamC,EAAE4okB,QAGjBn+jB,EAAQ5L,EAAKkmkB,SACbhlkB,EAAOlB,EAAKimkB,QACZhjkB,EAAQjD,EAAKuM,MACbvM,EAAKkmkB,SAAWlnkB,EAChBgB,EAAKimkB,QAAU,EACfjmkB,EAAKuM,MAAQ9L,EACbxB,EAAYkC,GACLA,EAAE+okB,WA3rDK,GA2rDmB,CAC/B/pkB,EAAMgB,EAAEwokB,SACRzlkB,EAAI/C,EAAE+okB,UAAF,EACJ,GAEE/okB,EAAEqpkB,OAAUrpkB,EAAEqpkB,OAASrpkB,EAAEspkB,WAActpkB,EAAEpD,OAAOoC,EAhsDtC,EAgsDwD,IAAMgB,EAAEupkB,UAE1EvpkB,EAAEwc,KAAKxd,EAAMgB,EAAE6okB,QAAU7okB,EAAEwgB,KAAKxgB,EAAEqpkB,OAElCrpkB,EAAEwgB,KAAKxgB,EAAEqpkB,OAASrqkB,EAClBA,YACS+D,GACX/C,EAAEwokB,SAAWxpkB,EACbgB,EAAE+okB,UAAY,EACdjrkB,EAAYkC,EAAA,CAYd,OAVAA,EAAEwokB,UAAYxokB,EAAE+okB,UAChB/okB,EAAEuokB,YAAcvokB,EAAEwokB,SAClBxokB,EAAEqa,OAASra,EAAE+okB,UACb/okB,EAAE+okB,UAAY,EACd/okB,EAAEwpkB,aAAexpkB,EAAE0okB,YAAc,EACjC1okB,EAAE6pkB,gBAAkB,EACpBhrkB,EAAKimkB,QAAU/kkB,EACflB,EAAKuM,MAAQtJ,EACbjD,EAAKkmkB,SAAWt6jB,EAChBzK,EAAEwpH,KAAO1qH,EA/wDW,GA4xDtBkB,EAAQiskB,YAAc,0IAAAptkB,EAAAS,EAAAU,GCx0DtB,aAyDAV,EAAO3C,QApCP,WAEE4B,KAAKqX,KAAa,EAElBrX,KAAKogC,KAAa,EAElBpgC,KAAK2tkB,OAAa,EAElB3tkB,KAAKsoD,GAAa,EAElBtoD,KAAKqkJ,MAAa,KAElBrkJ,KAAK4tkB,UAAa,EAWlB5tkB,KAAK+G,KAAa,GAIlB/G,KAAKugB,QAAa,GAIlBvgB,KAAKutkB,KAAa,EAElBvtkB,KAAKmD,MAAA,CAAa,qBAAA7C,EAAAS,EAAAU,GCtDpB,aA4DAV,EAAO3C,QAAU,SAAsBkC,EAAMS,GAC3C,IAAIU,EACAhB,EACAD,EACAgE,EACAW,EACA5E,EAEA2L,EAEA1K,EACA+B,EACAyiC,EAEArd,EACArpB,EACAM,EACA6E,EACAjB,EACAjE,EACA2E,EACAT,EACA8/F,EAEA7/F,EACAgB,EACAkc,EACAorK,EAGA73C,EAAO/uI,EAGX3D,EAAQnB,EAAK8J,MAEb3J,EAAMH,EAAKimkB,QACXpyb,EAAQ7zI,EAAKuM,MACbrM,EAAOC,GAAOH,EAAKkmkB,SAAW,GAC9BhikB,EAAOlE,EAAKomkB,SACZthkB,EAAS9E,EAAKgf,OACdna,EAAMX,GAAQzD,EAAQT,EAAK0lkB,WAC3BzlkB,EAAMiE,GAAQlE,EAAK0lkB,UAAY,KAE/B95jB,EAAOzK,EAAMoskB,KAEbrskB,EAAQC,EAAMqskB,MACdvqkB,EAAQ9B,EAAMsskB,MACd/niB,EAAQvkC,EAAMuskB,MACdrljB,EAAWlnB,EAAMpD,OACjBiB,EAAOmC,EAAMwskB,KACbrukB,EAAO6B,EAAMyskB,KACbzpkB,EAAQhD,EAAM0skB,QACd3qkB,EAAQ/B,EAAM2skB,SACd7ukB,GAAS,GAAKkC,EAAM4skB,SAAW,EAC/BnqkB,GAAS,GAAKzC,EAAM6skB,UAAY,EAMhChukB,EACA,EAAG,CACGV,EAAO,KACTN,GAAQ60I,EAAM1zI,MAAUb,EACxBA,GAAQ,EACRN,GAAQ60I,EAAM1zI,MAAUb,EACxBA,GAAQ,GAGV6D,EAAOgB,EAAMnF,EAAOC,GAEpBwB,EACA,OAAS,CAKP,GAHAzB,KADAikG,EAAK9/F,IAAS,GAEd7D,GAAQ2jG,EAEG,KADXA,EAAM9/F,IAAS,GAAM,KAKnB2B,EAAOZ,KAAiB,MAAPf,MAEd,MAAS,GAAL8/F,GAwKJ,IAAkB,IAAR,GAALA,GAAgB,CACxB9/F,EAAOgB,GAAc,MAAPhB,IAA8BnE,GAAS,GAAKikG,GAAM,IAChE,SAASxiG,CAAA,CAEN,GAAS,GAALwiG,EAAS,CAEhB9hG,EAAM8qB,KAtSH,GAuSH,MAAMjsB,CAAA,CAGNA,EAAK2rgB,IAAM,8BACXxqgB,EAAM8qB,KA5SJ,GA6SF,MAAMjsB,CAAA,CAnLNoD,EAAa,MAAPD,GACN8/F,GAAM,MAEA3jG,EAAO2jG,IACTjkG,GAAQ60I,EAAM1zI,MAAUb,EACxBA,GAAQ,GAEV8D,GAAOpE,GAAS,GAAKikG,GAAM,EAC3BjkG,KAAUikG,EACV3jG,GAAQ2jG,GAGN3jG,EAAO,KACTN,GAAQ60I,EAAM1zI,MAAUb,EACxBA,GAAQ,EACRN,GAAQ60I,EAAM1zI,MAAUb,EACxBA,GAAQ,GAEV6D,EAAOD,EAAMlE,EAAO4E,GAEpBzC,EACA,OAAS,CAMP,GAJAnC,KADAikG,EAAK9/F,IAAS,GAEd7D,GAAQ2jG,IAGC,IAFTA,EAAM9/F,IAAS,GAAM,MAiIhB,IAAkB,IAAR,GAAL8/F,GAAgB,CACxB9/F,EAAOD,GAAc,MAAPC,IAA8BnE,GAAS,GAAKikG,GAAM,IAChE,SAAS9hG,CAAA,CAGTnB,EAAK2rgB,IAAM,wBACXxqgB,EAAM8qB,KA1RR,GA2RE,MAAMjsB,CAAA,CAzHN,GAZAoE,EAAc,MAAPjB,EAEH7D,GADJ2jG,GAAM,MAEJjkG,GAAQ60I,EAAM1zI,MAAUb,GACxBA,GAAQ,GACG2jG,IACTjkG,GAAQ60I,EAAM1zI,MAAUb,EACxBA,GAAQ,KAGZ8E,GAAQpF,GAAS,GAAKikG,GAAM,GAEjBr3F,EAAM,CACf5L,EAAK2rgB,IAAM,gCACXxqgB,EAAM8qB,KApKV,GAqKI,MAAMjsB,CAAA,CAOR,GAJAhB,KAAUikG,EACV3jG,GAAQ2jG,EAGJ7+F,GADJ6+F,EAAK/+F,EAAOW,GACG,CAEb,IADAo+F,EAAK7+F,EAAO6+F,GACHhgG,GACH9B,EAAM8skB,KAAM,CACdjukB,EAAK2rgB,IAAM,gCACXxqgB,EAAM8qB,KAjLd,GAkLQ,MAAMjsB,CAAA,CA2BV,GAFAsgB,EAAO,EACPorK,EAAcrjK,EACA,IAAVqd,GAEF,GADAplB,GAAQpf,EAAQ+hG,EACZA,EAAK7/F,EAAK,CACZA,GAAO6/F,EACP,GACEn+F,EAAOZ,KAAUmkB,EAAS/H,aACjB2iF,GACX3iF,EAAOpc,EAAOE,EACdsnL,EAAc5mL,CAAA,OAGb,GAAI4gC,EAAQu9D,GAGf,GAFA3iF,GAAQpf,EAAQwkC,EAAQu9D,GACxBA,GAAMv9D,GACGtiC,EAAK,CACZA,GAAO6/F,EACP,GACEn+F,EAAOZ,KAAUmkB,EAAS/H,aACjB2iF,GAEX,GADA3iF,EAAO,EACHolB,EAAQtiC,EAAK,CAEfA,GADA6/F,EAAKv9D,EAEL,GACE5gC,EAAOZ,KAAUmkB,EAAS/H,aACjB2iF,GACX3iF,EAAOpc,EAAOE,EACdsnL,EAAc5mL,CAAA,QAMlB,GADAwb,GAAQolB,EAAQu9D,EACZA,EAAK7/F,EAAK,CACZA,GAAO6/F,EACP,GACEn+F,EAAOZ,KAAUmkB,EAAS/H,aACjB2iF,GACX3iF,EAAOpc,EAAOE,EACdsnL,EAAc5mL,CAAA,CAGlB,KAAO1B,EAAM,GACX0B,EAAOZ,KAAUwnL,EAAYprK,KAC7Bxb,EAAOZ,KAAUwnL,EAAYprK,KAC7Bxb,EAAOZ,KAAUwnL,EAAYprK,KAC7Bld,GAAO,EAELA,IACF0B,EAAOZ,KAAUwnL,EAAYprK,KACzBld,EAAM,IACR0B,EAAOZ,KAAUwnL,EAAYprK,MAAA,KAI9B,CACHA,EAAOpc,EAAOE,EACd,GACEU,EAAOZ,KAAUY,EAAOwb,KACxBxb,EAAOZ,KAAUY,EAAOwb,KACxBxb,EAAOZ,KAAUY,EAAOwb,KACxBld,GAAO,QACAA,EAAM,GACXA,IACF0B,EAAOZ,KAAUY,EAAOwb,KACpBld,EAAM,IACR0B,EAAOZ,KAAUY,EAAOwb,MAAA,CAehC,OAkBJ,aAEKngB,EAAMD,GAAQgE,EAAOjE,GAI9BE,GADAiD,EAAM9D,GAAQ,EAGdN,IAAS,IADTM,GAAQ8D,GAAO,IACO,EAGtBpD,EAAKimkB,QAAU9lkB,EACfH,EAAKomkB,SAAWlikB,EAChBlE,EAAKkmkB,SAAY/lkB,EAAMD,EAAYA,EAAOC,EAAZ,EAAmB,GAAKA,EAAMD,GAC5DF,EAAK0lkB,UAAaxhkB,EAAOjE,EAAaA,EAAMiE,EAAb,IAAqB,KAAOA,EAAOjE,GAClEkB,EAAMwskB,KAAO3ukB,EACbmC,EAAMyskB,KAAOtukB,CAAA,qBAAAU,EAAAS,EAAAU,GCtVf,aAqBA,IAAIhB,EAAgBH,EAAQ,mBACxBE,EAAgBF,EAAQ,aACxBkE,EAAgBlE,EAAQ,WACxB6E,EAAgB7E,EAAQ,aACxBC,EAAgBD,EAAQ,cAuF5B,SAAS4L,EAAQ5L,GACf,OAAWA,IAAM,GAAM,MACbA,IAAM,EAAK,SACP,MAAJA,IAAe,KACX,IAAJA,IAAa,IAIzB,SAASkB,IACPxB,KAAKusB,KAAO,EACZvsB,KAAKmuF,MAAA,EACLnuF,KAAKirH,KAAO,EACZjrH,KAAKwukB,UAAA,EACLxukB,KAAKmW,MAAQ,EACbnW,KAAK6tkB,KAAO,EACZ7tkB,KAAKwsK,MAAQ,EACbxsK,KAAKyukB,MAAQ,EAEbzukB,KAAKiiB,KAAO,KAGZjiB,KAAK0ukB,MAAQ,EACb1ukB,KAAK8tkB,MAAQ,EACb9tkB,KAAK+tkB,MAAQ,EACb/tkB,KAAKgukB,MAAQ,EACbhukB,KAAK3B,OAAS,KAGd2B,KAAKiukB,KAAO,EACZjukB,KAAKkukB,KAAO,EAGZlukB,KAAKW,OAAS,EACdX,KAAKggB,OAAS,EAGdhgB,KAAKqkJ,MAAQ,EAGbrkJ,KAAKmukB,QAAU,KACfnukB,KAAKoukB,SAAW,KAChBpukB,KAAKqukB,QAAU,EACfrukB,KAAKsukB,SAAW,EAGhBtukB,KAAK2ukB,MAAQ,EACb3ukB,KAAK4ukB,KAAO,EACZ5ukB,KAAK6ukB,MAAQ,EACb7ukB,KAAK8ukB,KAAO,EACZ9ukB,KAAKgD,KAAO,KAEZhD,KAAKmgD,KAAO,IAAI1/C,EAAM6nkB,MAAM,KAC5BtokB,KAAK+ukB,KAAO,IAAItukB,EAAM6nkB,MAAM,KAO5BtokB,KAAKgvkB,OAAS,KACdhvkB,KAAKivkB,QAAU,KACfjvkB,KAAKuukB,KAAO,EACZvukB,KAAKkvkB,KAAO,EACZlvkB,KAAKmvkB,IAAM,EAGb,SAAS5rkB,EAAiBjD,GACxB,IAAIS,EAEJ,OAAKT,GAASA,EAAK8J,OACnBrJ,EAAQT,EAAK8J,MACb9J,EAAKuqkB,SAAWvqkB,EAAKwpkB,UAAY/okB,EAAM0tkB,MAAQ,EAC/CnukB,EAAK2rgB,IAAM,GACPlrgB,EAAMkqH,OACR3qH,EAAKsqkB,MAAqB,EAAb7pkB,EAAMkqH,MAErBlqH,EAAMwrB,KA1HM,EA2HZxrB,EAAMotF,KAAO,EACbptF,EAAMytkB,SAAW,EACjBztkB,EAAM8skB,KAAO,MACb9skB,EAAMkhB,KAAO,KACblhB,EAAMktkB,KAAO,EACbltkB,EAAMmtkB,KAAO,EAEbntkB,EAAMotkB,QAAUptkB,EAAMiukB,OAAS,IAAIvukB,EAAM8nkB,MA7FzB,KA8FhBxnkB,EAAMqtkB,SAAWrtkB,EAAMkukB,QAAU,IAAIxukB,EAAM8nkB,MA7F1B,KA+FjBxnkB,EAAMwtkB,KAAO,EACbxtkB,EAAMmukB,MAAQ,EAxJM,IAIA,EAyJtB,SAASlpiB,EAAa1lC,GACpB,IAAIS,EAEJ,OAAKT,GAASA,EAAK8J,QACnBrJ,EAAQT,EAAK8J,OACP0jkB,MAAQ,EACd/skB,EAAMgtkB,MAAQ,EACdhtkB,EAAMitkB,MAAQ,EACPzqkB,EAAiBjD,KAjKJ,EAqKtB,SAASqoB,EAAcroB,EAAMS,GAC3B,IAAIU,EACAhB,EAGJ,OAAKH,GAASA,EAAK8J,OACnB3J,EAAQH,EAAK8J,MAGTrJ,EAAa,GACfU,EAAO,EACPV,GAAcA,IAGdU,EAA2B,GAAnBV,GAAc,GAClBA,EAAa,KACfA,GAAc,KAKdA,IAAeA,EAAa,GAAKA,EAAa,KA1L9B,GA6LC,OAAjBN,EAAMpC,QAAmBoC,EAAMiukB,QAAU3tkB,IAC3CN,EAAMpC,OAAS,MAIjBoC,EAAMwqH,KAAOxpH,EACbhB,EAAMiukB,MAAQ3tkB,EACPilC,EAAa1lC,MApMA,EAuMtB,SAAShB,EAAagB,EAAMS,GAC1B,IAAIU,EACAhB,EAEJ,OAAKH,GAGLG,EAAQ,IAAIe,EAIZlB,EAAK8J,MAAQ3J,EACbA,EAAMpC,OAAS,KAvNK,KAwNpBoD,EAAMknB,EAAcroB,EAAMS,MAExBT,EAAK8J,MAAQ,MAER3I,IAxNa,EA0OtB,IAEI7B,EAAQ6E,EAFRjB,GAAA,EAIJ,SAASjE,EAAYe,GAEnB,GAAIkD,EAAQ,CACV,IAAIzC,EAOJ,IALAnB,EAAS,IAAIa,EAAM8nkB,MAAM,KACzB9jkB,EAAU,IAAIhE,EAAM8nkB,MAAM,IAG1BxnkB,EAAM,EACCA,EAAM,KAAOT,EAAM6/C,KAAKp/C,KAAS,EACxC,KAAOA,EAAM,KAAOT,EAAM6/C,KAAKp/C,KAAS,EACxC,KAAOA,EAAM,KAAOT,EAAM6/C,KAAKp/C,KAAS,EACxC,KAAOA,EAAM,KAAOT,EAAM6/C,KAAKp/C,KAAS,EAMxC,IAJAR,EArRO,EAqRcD,EAAM6/C,KAAM,EAAG,IAAKvgD,EAAU,EAAGU,EAAMyukB,KAAM,CAAEb,KAAM,IAG1EntkB,EAAM,EACCA,EAAM,IAAMT,EAAM6/C,KAAKp/C,KAAS,EAEvCR,EA1RQ,EA0RaD,EAAM6/C,KAAM,EAAG,GAAM17C,EAAS,EAAGnE,EAAMyukB,KAAM,CAAEb,KAAM,IAG1E1qkB,GAAA,CAAS,CAGXlD,EAAM6tkB,QAAUvukB,EAChBU,EAAM+tkB,QAAU,EAChB/tkB,EAAM8tkB,SAAW3pkB,EACjBnE,EAAMgukB,SAAW,EAkBnB,SAASpqkB,EAAa5D,EAAMS,EAAKU,EAAKjB,GACpC,IAAIgE,EACAW,EAAQ7E,EAAK8J,MAqCjB,OAlCqB,OAAjBjF,EAAM9G,SACR8G,EAAM2okB,MAAQ,GAAK3okB,EAAMupkB,MACzBvpkB,EAAM6okB,MAAQ,EACd7okB,EAAM4okB,MAAQ,EAEd5okB,EAAM9G,OAAS,IAAIoC,EAAMgmkB,KAAKthkB,EAAM2okB,QAIlCttkB,GAAQ2E,EAAM2okB,OAChBrtkB,EAAMunkB,SAAS7ikB,EAAM9G,OAAQ0C,EAAKU,EAAM0D,EAAM2okB,MAAO3okB,EAAM2okB,MAAO,GAClE3okB,EAAM6okB,MAAQ,EACd7okB,EAAM4okB,MAAQ5okB,EAAM2okB,SAGpBtpkB,EAAOW,EAAM2okB,MAAQ3okB,EAAM6okB,OAChBxtkB,IACTgE,EAAOhE,GAGTC,EAAMunkB,SAAS7ikB,EAAM9G,OAAQ0C,EAAKU,EAAMjB,EAAMgE,EAAMW,EAAM6okB,QAC1DxtkB,GAAQgE,IAGN/D,EAAMunkB,SAAS7ikB,EAAM9G,OAAQ0C,EAAKU,EAAMjB,EAAMA,EAAM,GACpD2E,EAAM6okB,MAAQxtkB,EACd2E,EAAM4okB,MAAQ5okB,EAAM2okB,QAGpB3okB,EAAM6okB,OAASxpkB,EACXW,EAAM6okB,QAAU7okB,EAAM2okB,QAAS3okB,EAAM6okB,MAAQ,GAC7C7okB,EAAM4okB,MAAQ5okB,EAAM2okB,QAAS3okB,EAAM4okB,OAASvpkB,KAG7C,EAuoCT/C,EAAQ2tkB,aAAeppiB,EACvBvkC,EAAQ4tkB,cAAgB1mjB,EACxBlnB,EAAQ6tkB,iBAAmB/rkB,EAC3B9B,EAAQ8tkB,YApvCR,SAAqBjvkB,GACnB,OAAOhB,EAAagB,EArKN,KAy5ChBmB,EAAQylkB,aAAe5nkB,EACvBmC,EAAQgmkB,QAzoCR,SAAiBnnkB,EAAMS,GACrB,IAAIU,EACAD,EAAO+B,EACPyiC,EACArd,EACArpB,EAAMM,EACN6E,EACAjB,EACAC,EAAK8/F,EACL7/F,EACAgB,EACAkc,EAEAorK,EAAW73C,EAAS/uI,EAEpB0mL,EAAWwmW,EAAS/wd,EACpB7L,EACAlzD,EAEAs1D,EAEAk3b,EATAujC,EAAO,EAMPC,EAAO,IAAI/xhB,EAAMgmkB,KAAK,GAKtBh0C,EACF,CAAE,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IAGlE,IAAKnyhB,IAASA,EAAK8J,QAAU9J,EAAKgf,SAC5Bhf,EAAKuM,OAA2B,IAAlBvM,EAAKkmkB,SACvB,OArWkB,EAyBJ,MA+UhB/kkB,EAAQnB,EAAK8J,OACHmiB,OAAiB9qB,EAAM8qB,KA/Uf,IAmVlB5D,EAAMroB,EAAKomkB,SACXnjkB,EAASjD,EAAKgf,OACd1f,EAAOU,EAAK0lkB,UACZhgiB,EAAO1lC,EAAKimkB,QACZ/kkB,EAAQlB,EAAKuM,MACbvN,EAAOgB,EAAKkmkB,SACZ/hkB,EAAOhD,EAAMwskB,KACbzqkB,EAAO/B,EAAMyskB,KAGbzqkB,EAAMnE,EACNikG,EAAO3jG,EACP4C,EA7XoB,EA+XpBlC,EACA,OACE,OAAQmB,EAAM8qB,MACZ,KAhXQ,EAiXN,GAAmB,IAAf9qB,EAAMwpH,KAAY,CACpBxpH,EAAM8qB,KAtWI,GAuWV,MAGF,KAAO/oB,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,GAAkB,EAAb/B,EAAMwpH,MAAsB,QAATxmH,EAAiB,CACvChD,EAAM+qK,MAAQ,EAEdgmX,EAAK,GAAY,IAAP/thB,EACV+thB,EAAK,GAAM/thB,IAAS,EAAK,IACzBhD,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOgmX,EAAM,EAAG,GAI1C/thB,EAAO,EACPjB,EAAO,EAEP/B,EAAM8qB,KAxYD,EAyYL,MAMF,GAJA9qB,EAAM0U,MAAQ,EACV1U,EAAMwgB,OACRxgB,EAAMwgB,KAAK9e,MAAA,KAEM,EAAb1B,EAAMwpH,UACA,IAAPxmH,IAA2B,IAAMA,GAAQ,IAAM,GAAI,CACtDnE,EAAK2rgB,IAAM,yBACXxqgB,EAAM8qB,KAtXH,GAuXH,MAEF,GA7ZU,IA6ZE,GAAP9nB,GAAwC,CAC3CnE,EAAK2rgB,IAAM,6BACXxqgB,EAAM8qB,KA3XH,GA4XH,MAOF,GAHA/oB,GAAQ,EAERkyD,EAAiC,GAAnB,IAHdjxD,KAAU,IAIU,IAAhBhD,EAAMitkB,MACRjtkB,EAAMitkB,MAAQh5gB,OAEX,GAAIA,EAAMj0D,EAAMitkB,MAAO,CAC1BpukB,EAAK2rgB,IAAM,sBACXxqgB,EAAM8qB,KAxYH,GAyYH,MAEF9qB,EAAMoskB,KAAO,GAAKn4gB,EAElBp1D,EAAKsqkB,MAAQnpkB,EAAM+qK,MAAQ,EAC3B/qK,EAAM8qB,KAAc,IAAP9nB,EAlaL,GAEE,GAkaVA,EAAO,EACPjB,EAAO,EAEP,MACF,KAhbS,EAkbP,KAAOA,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAIV,GADA/B,EAAM0U,MAAQ1R,EAjcJ,IAkcS,IAAdhD,EAAM0U,OAA8B,CACvC7V,EAAK2rgB,IAAM,6BACXxqgB,EAAM8qB,KAhaH,GAiaH,MAEF,GAAkB,MAAd9qB,EAAM0U,MAAgB,CACxB7V,EAAK2rgB,IAAM,2BACXxqgB,EAAM8qB,KAraH,GAsaH,MAEE9qB,EAAMwgB,OACRxgB,EAAMwgB,KAAK5K,KAAS5S,GAAQ,EAAK,GAEjB,IAAdhD,EAAM0U,QAERq8gB,EAAK,GAAY,IAAP/thB,EACV+thB,EAAK,GAAM/thB,IAAS,EAAK,IACzBhD,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOgmX,EAAM,EAAG,IAI5C/thB,EAAO,EACPjB,EAAO,EAEP/B,EAAM8qB,KAjdA,EAmdR,KAndQ,EAqdN,KAAO/oB,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGN/B,EAAMwgB,OACRxgB,EAAMwgB,KAAKme,KAAO37B,GAEF,IAAdhD,EAAM0U,QAERq8gB,EAAK,GAAY,IAAP/thB,EACV+thB,EAAK,GAAM/thB,IAAS,EAAK,IACzB+thB,EAAK,GAAM/thB,IAAS,GAAM,IAC1B+thB,EAAK,GAAM/thB,IAAS,GAAM,IAC1BhD,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOgmX,EAAM,EAAG,IAI5C/thB,EAAO,EACPjB,EAAO,EAEP/B,EAAM8qB,KA3eF,EA6eN,KA7eM,EA+eJ,KAAO/oB,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGN/B,EAAMwgB,OACRxgB,EAAMwgB,KAAK0rjB,OAAiB,IAAPlpkB,EACrBhD,EAAMwgB,KAAKqmC,GAAM7jD,GAAQ,GAET,IAAdhD,EAAM0U,QAERq8gB,EAAK,GAAY,IAAP/thB,EACV+thB,EAAK,GAAM/thB,IAAS,EAAK,IACzBhD,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOgmX,EAAM,EAAG,IAI5C/thB,EAAO,EACPjB,EAAO,EAEP/B,EAAM8qB,KApgBC,EAsgBT,KAtgBS,EAugBP,GAAkB,KAAd9qB,EAAM0U,MAAgB,CAExB,KAAO3S,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV/B,EAAMd,OAAS8D,EACXhD,EAAMwgB,OACRxgB,EAAMwgB,KAAK2rjB,UAAYnpkB,GAEP,IAAdhD,EAAM0U,QAERq8gB,EAAK,GAAY,IAAP/thB,EACV+thB,EAAK,GAAM/thB,IAAS,EAAK,IACzBhD,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOgmX,EAAM,EAAG,IAI5C/thB,EAAO,EACPjB,EAAO,OAGA/B,EAAMwgB,OACbxgB,EAAMwgB,KAAKoiI,MAAQ,MAErB5iJ,EAAM8qB,KAliBC,EAoiBT,KApiBS,EAqiBP,GAAkB,KAAd9qB,EAAM0U,SACRzS,EAAOjC,EAAMd,QACFrB,IAAQoE,EAAOpE,GACtBoE,IACEjC,EAAMwgB,OACRyzC,EAAMj0D,EAAMwgB,KAAK2rjB,UAAYnskB,EAAMd,OAC9Bc,EAAMwgB,KAAKoiI,QAEd5iJ,EAAMwgB,KAAKoiI,MAAQ,IAAI1kJ,MAAM8B,EAAMwgB,KAAK2rjB,YAE1CntkB,EAAMunkB,SACJvmkB,EAAMwgB,KAAKoiI,MACX7iJ,EACAwkC,EAGAtiC,EAEAgyD,IAMc,IAAdj0D,EAAM0U,QACR1U,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOhrK,EAAOkC,EAAMsiC,IAEhD1mC,GAAQoE,EACRsiC,GAAQtiC,EACRjC,EAAMd,QAAU+C,GAEdjC,EAAMd,QAAU,MAAML,EAE5BmB,EAAMd,OAAS,EACfc,EAAM8qB,KAtkBA,EAwkBR,KAxkBQ,EAykBN,GAAkB,KAAd9qB,EAAM0U,MAAgB,CACxB,GAAa,IAAT7W,EAAc,MAAMgB,EACxBoD,EAAO,EACP,GAEEgyD,EAAMl0D,EAAMwkC,EAAOtiC,KAEfjC,EAAMwgB,MAAQyzC,GACbj0D,EAAMd,OAAS,QAClBc,EAAMwgB,KAAKlb,MAAQoI,OAAOC,aAAasmD,UAElCA,GAAOhyD,EAAOpE,GAOvB,GALkB,IAAdmC,EAAM0U,QACR1U,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOhrK,EAAOkC,EAAMsiC,IAEhD1mC,GAAQoE,EACRsiC,GAAQtiC,EACJgyD,EAAO,MAAMp1D,CAAA,MAEVmB,EAAMwgB,OACbxgB,EAAMwgB,KAAKlb,KAAO,MAEpBtF,EAAMd,OAAS,EACfc,EAAM8qB,KAhmBG,EAkmBX,KAlmBW,EAmmBT,GAAkB,KAAd9qB,EAAM0U,MAAgB,CACxB,GAAa,IAAT7W,EAAc,MAAMgB,EACxBoD,EAAO,EACP,GACEgyD,EAAMl0D,EAAMwkC,EAAOtiC,KAEfjC,EAAMwgB,MAAQyzC,GACbj0D,EAAMd,OAAS,QAClBc,EAAMwgB,KAAK1B,SAAWpR,OAAOC,aAAasmD,UAErCA,GAAOhyD,EAAOpE,GAMvB,GALkB,IAAdmC,EAAM0U,QACR1U,EAAM+qK,MAAQhoK,EAAM/C,EAAM+qK,MAAOhrK,EAAOkC,EAAMsiC,IAEhD1mC,GAAQoE,EACRsiC,GAAQtiC,EACJgyD,EAAO,MAAMp1D,CAAA,MAEVmB,EAAMwgB,OACbxgB,EAAMwgB,KAAK1B,QAAU,MAEvB9e,EAAM8qB,KAvnBA,EAynBR,KAznBQ,EA0nBN,GAAkB,IAAd9qB,EAAM0U,MAAgB,CAExB,KAAO3S,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,GAAIiB,KAAwB,MAAdhD,EAAM+qK,OAAiB,CACnClsK,EAAK2rgB,IAAM,sBACXxqgB,EAAM8qB,KAhnBL,GAinBD,MAGF9nB,EAAO,EACPjB,EAAO,EAGL/B,EAAMwgB,OACRxgB,EAAMwgB,KAAKsrjB,KAAS9rkB,EAAM0U,OAAS,EAAK,EACxC1U,EAAMwgB,KAAK9e,MAAA,GAEb7C,EAAKsqkB,MAAQnpkB,EAAM+qK,MAAQ,EAC3B/qK,EAAM8qB,KA/oBI,GAgpBV,MACF,KAnpBU,GAqpBR,KAAO/oB,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGVlD,EAAKsqkB,MAAQnpkB,EAAM+qK,MAAQtgK,EAAQzH,GAEnCA,EAAO,EACPjB,EAAO,EAEP/B,EAAM8qB,KAhqBA,GAkqBR,KAlqBQ,GAmqBN,GAAuB,IAAnB9qB,EAAM+skB,SASR,OAPAlukB,EAAKomkB,SAAW/9iB,EAChBroB,EAAK0lkB,UAAYpmkB,EACjBU,EAAKimkB,QAAUvgiB,EACf1lC,EAAKkmkB,SAAWlnkB,EAChBmC,EAAMwskB,KAAOxpkB,EACbhD,EAAMyskB,KAAO1qkB,EApsBD,EAwsBdlD,EAAKsqkB,MAAQnpkB,EAAM+qK,MAAQ,EAC3B/qK,EAAM8qB,KA9qBI,GAgrBZ,KAhrBY,GAirBV,GArtBc,IAqtBVxrB,GAptBU,IAotBWA,EAAqB,MAAMT,EAEtD,KAlrBc,GAmrBZ,GAAImB,EAAM0sF,KAAM,CAEd1pF,KAAiB,EAAPjB,EACVA,GAAe,EAAPA,EAER/B,EAAM8qB,KA1qBD,GA2qBL,MAGF,KAAO/oB,EAAO,GAAG,CACf,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EASV,OANA/B,EAAM0sF,KAAe,EAAP1pF,EAGdjB,GAAQ,EAGQ,GAJhBiB,KAAU,IAKR,KAAK,EAGHhD,EAAM8qB,KA5sBE,GA6sBR,MACF,KAAK,EAKH,GAJAhtB,EAAYkC,GAGZA,EAAM8qB,KA5sBI,GA3CA,IAwvBNxrB,EAAmB,CAErB0D,KAAU,EACVjB,GAAQ,EAER,MAAMlD,CAAA,CAER,MACF,KAAK,EAGHmB,EAAM8qB,KA3tBC,GA4tBP,MACF,KAAK,EACHjsB,EAAK2rgB,IAAM,qBACXxqgB,EAAM8qB,KAltBL,GAqtBL9nB,KAAU,EACVjB,GAAQ,EAER,MACF,KAzuBc,GA+uBZ,IAJAiB,KAAiB,EAAPjB,EACVA,GAAe,EAAPA,EAGDA,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,IAAY,MAAPiB,KAAqBA,IAAS,GAAM,OAAS,CAChDnE,EAAK2rgB,IAAM,+BACXxqgB,EAAM8qB,KAxuBH,GAyuBH,MAUF,GARA9qB,EAAMd,OAAgB,MAAP8D,EAIfA,EAAO,EACPjB,EAAO,EAEP/B,EAAM8qB,KAjwBK,GAtCG,IAwyBVxrB,EAAqB,MAAMT,EAEjC,KApwBa,GAqwBXmB,EAAM8qB,KApwBI,GAswBZ,KAtwBY,GAwwBV,GADA7oB,EAAOjC,EAAMd,OACH,CAGR,GAFI+C,EAAOpE,IAAQoE,EAAOpE,GACtBoE,EAAO9D,IAAQ8D,EAAO9D,GACb,IAAT8D,EAAc,MAAMpD,EAExBG,EAAMunkB,SAASzkkB,EAAQ/B,EAAOwkC,EAAMtiC,EAAMilB,GAE1CrpB,GAAQoE,EACRsiC,GAAQtiC,EACR9D,GAAQ8D,EACRilB,GAAOjlB,EACPjC,EAAMd,QAAU+C,EAChB,MAGFjC,EAAM8qB,KA3xBI,GA4xBV,MACF,KAxxBa,GA0xBX,KAAO/oB,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAmBV,GAhBA/B,EAAMmtkB,KAAkC,KAAnB,GAAPnqkB,GAEdA,KAAU,EACVjB,GAAQ,EAER/B,EAAMotkB,MAAmC,GAAnB,GAAPpqkB,GAEfA,KAAU,EACVjB,GAAQ,EAER/B,EAAMktkB,MAAmC,GAAnB,GAAPlqkB,GAEfA,KAAU,EACVjB,GAAQ,EAGJ/B,EAAMmtkB,KAAO,KAAOntkB,EAAMotkB,MAAQ,GAAI,CACxCvukB,EAAK2rgB,IAAM,sCACXxqgB,EAAM8qB,KAtyBH,GAuyBH,MAIF9qB,EAAMqtkB,KAAO,EACbrtkB,EAAM8qB,KAxzBO,GA0zBf,KA1zBe,GA2zBb,KAAO9qB,EAAMqtkB,KAAOrtkB,EAAMktkB,OAAO,CAE/B,KAAOnrkB,EAAO,GAAG,CACf,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV/B,EAAM0+C,KAAKsye,EAAMhxhB,EAAMqtkB,SAAmB,EAAPrqkB,EAEnCA,KAAU,EACVjB,GAAQ,EAGV,KAAO/B,EAAMqtkB,KAAO,IAClBrtkB,EAAM0+C,KAAKsye,EAAMhxhB,EAAMqtkB,SAAW,EAapC,GAPArtkB,EAAM0skB,QAAU1skB,EAAMutkB,OACtBvtkB,EAAM4skB,QAAU,EAEhBv2gB,EAAO,CAAEo2gB,KAAMzskB,EAAM4skB,SACrB7rkB,EAAMjC,EA74BF,EA64BuBkB,EAAM0+C,KAAM,EAAG,GAAI1+C,EAAM0skB,QAAS,EAAG1skB,EAAMstkB,KAAMj3gB,GAC5Er2D,EAAM4skB,QAAUv2gB,EAAKo2gB,KAEjB1rkB,EAAK,CACPlC,EAAK2rgB,IAAM,2BACXxqgB,EAAM8qB,KA90BH,GA+0BH,MAGF9qB,EAAMqtkB,KAAO,EACbrtkB,EAAM8qB,KA91BQ,GAg2BhB,KAh2BgB,GAi2Bd,KAAO9qB,EAAMqtkB,KAAOrtkB,EAAMmtkB,KAAOntkB,EAAMotkB,OAAO,CAC5C,KAGE16b,GAFAo+Y,EAAO9whB,EAAM0skB,QAAQ1pkB,GAAS,GAAKhD,EAAM4skB,SAAW,MAEhC,GAAM,IAC1BjpkB,EAAkB,MAAPmthB,KAFXvmW,EAAYumW,IAAS,KAIF/uhB,IANZ,CAQP,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,GAAI4B,EAAW,GAEbX,KAAUunL,EACVxoL,GAAQwoL,EAERvqL,EAAM0+C,KAAK1+C,EAAMqtkB,QAAU1pkB,MAExB,CACH,GAAiB,KAAbA,EAAiB,CAGnB,IADA4pf,EAAIhjU,EAAY,EACTxoL,EAAOwrf,GAAG,CACf,GAAa,IAAT1vf,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAOV,GAHAiB,KAAUunL,EACVxoL,GAAQwoL,EAEW,IAAfvqL,EAAMqtkB,KAAY,CACpBxukB,EAAK2rgB,IAAM,4BACXxqgB,EAAM8qB,KA73BT,GA83BG,MAEFmpC,EAAMj0D,EAAM0+C,KAAK1+C,EAAMqtkB,KAAO,GAC9BprkB,EAAO,GAAY,EAAPe,GAEZA,KAAU,EACVjB,GAAQ,OAGL,GAAiB,KAAb4B,EAAiB,CAGxB,IADA4pf,EAAIhjU,EAAY,EACTxoL,EAAOwrf,GAAG,CACf,GAAa,IAAT1vf,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAKVA,GAAQwoL,EAERt2H,EAAM,EACNhyD,EAAO,GAAY,GAJnBe,KAAUunL,IAMVvnL,KAAU,EACVjB,GAAQ,MAGL,CAGH,IADAwrf,EAAIhjU,EAAY,EACTxoL,EAAOwrf,GAAG,CACf,GAAa,IAAT1vf,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAKVA,GAAQwoL,EAERt2H,EAAM,EACNhyD,EAAO,IAAa,KAJpBe,KAAUunL,IAMVvnL,KAAU,EACVjB,GAAQ,EAGV,GAAI/B,EAAMqtkB,KAAOprkB,EAAOjC,EAAMmtkB,KAAOntkB,EAAMotkB,MAAO,CAChDvukB,EAAK2rgB,IAAM,4BACXxqgB,EAAM8qB,KAn7BP,GAo7BC,MAEF,KAAO7oB,KACLjC,EAAM0+C,KAAK1+C,EAAMqtkB,QAAUp5gB,CAAA,EAMjC,GA77BK,KA67BDj0D,EAAM8qB,KAAgB,MAG1B,GAAwB,IAApB9qB,EAAM0+C,KAAK,KAAY,CACzB7/C,EAAK2rgB,IAAM,uCACXxqgB,EAAM8qB,KAl8BH,GAm8BH,MAeF,GATA9qB,EAAM4skB,QAAU,EAEhBv2gB,EAAO,CAAEo2gB,KAAMzskB,EAAM4skB,SACrB7rkB,EAAMjC,EA/gCH,EA+gCuBkB,EAAM0+C,KAAM,EAAG1+C,EAAMmtkB,KAAMntkB,EAAM0skB,QAAS,EAAG1skB,EAAMstkB,KAAMj3gB,GAGnFr2D,EAAM4skB,QAAUv2gB,EAAKo2gB,KAGjB1rkB,EAAK,CACPlC,EAAK2rgB,IAAM,8BACXxqgB,EAAM8qB,KAp9BH,GAq9BH,MAcF,GAXA9qB,EAAM6skB,SAAW,EAGjB7skB,EAAM2skB,SAAW3skB,EAAMwtkB,QACvBn3gB,EAAO,CAAEo2gB,KAAMzskB,EAAM6skB,UACrB9rkB,EAAMjC,EA/hCF,EA+hCuBkB,EAAM0+C,KAAM1+C,EAAMmtkB,KAAMntkB,EAAMotkB,MAAOptkB,EAAM2skB,SAAU,EAAG3skB,EAAMstkB,KAAMj3gB,GAG/Fr2D,EAAM6skB,SAAWx2gB,EAAKo2gB,KAGlB1rkB,EAAK,CACPlC,EAAK2rgB,IAAM,wBACXxqgB,EAAM8qB,KAr+BH,GAs+BH,MAIF,GADA9qB,EAAM8qB,KAn/BQ,GA3CA,IA+hCVxrB,EAAqB,MAAMT,EAEjC,KAt/BgB,GAu/BdmB,EAAM8qB,KAt/BO,GAw/Bf,KAx/Be,GAy/Bb,GAAIjtB,GAAQ,GAAKM,GAAQ,IAAK,CAE5BU,EAAKomkB,SAAW/9iB,EAChBroB,EAAK0lkB,UAAYpmkB,EACjBU,EAAKimkB,QAAUvgiB,EACf1lC,EAAKkmkB,SAAWlnkB,EAChBmC,EAAMwskB,KAAOxpkB,EACbhD,EAAMyskB,KAAO1qkB,EAEb2B,EAAa7E,EAAMijG,GAEnB56E,EAAMroB,EAAKomkB,SACXnjkB,EAASjD,EAAKgf,OACd1f,EAAOU,EAAK0lkB,UACZhgiB,EAAO1lC,EAAKimkB,QACZ/kkB,EAAQlB,EAAKuM,MACbvN,EAAOgB,EAAKkmkB,SACZ/hkB,EAAOhD,EAAMwskB,KACbzqkB,EAAO/B,EAAMyskB,KAphCL,KAuhCJzskB,EAAM8qB,OACR9qB,EAAMytkB,MAAQ,GAEhB,MAGF,IADAztkB,EAAMytkB,KAAO,EAIX/6b,GAFAo+Y,EAAO9whB,EAAM0skB,QAAQ1pkB,GAAS,GAAKhD,EAAM4skB,SAAW,MAEhC,GAAM,IAC1BjpkB,EAAkB,MAAPmthB,KAFXvmW,EAAYumW,IAAS,KAIJ/uhB,IANV,CAQP,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,GAAI2wI,GAAgC,IAAV,IAAVA,GAAuB,CAIrC,IAHA23C,EAAYE,EACZsmW,EAAUn+Y,EACV5yE,EAAWn8D,EAKT+uI,GAHAo+Y,EAAO9whB,EAAM0skB,QAAQ5sgB,IACX98D,GAAS,GAAMqnL,EAAYwmW,GAAY,IAAoCxmW,OAEjE,GAAM,IAC1B1mL,EAAkB,MAAPmthB,IAENzmW,GAJLE,EAAYumW,IAAS,KAIU/uhB,IAPxB,CASP,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAIViB,KAAUqnL,EACVtoL,GAAQsoL,EAERrqL,EAAMytkB,MAAQpjZ,CAAA,CAQhB,GALArnL,KAAUunL,EACVxoL,GAAQwoL,EAERvqL,EAAMytkB,MAAQljZ,EACdvqL,EAAMd,OAASyE,EACC,IAAZ+uI,EAAe,CAIjB1yI,EAAM8qB,KAhkCK,GAikCX,MAEF,GAAc,GAAV4nH,EAAc,CAEhB1yI,EAAMytkB,MAAQ,EACdztkB,EAAM8qB,KAplCE,GAqlCR,MAEF,GAAc,GAAV4nH,EAAc,CAChB7zI,EAAK2rgB,IAAM,8BACXxqgB,EAAM8qB,KAvkCH,GAwkCH,MAEF9qB,EAAM4iJ,MAAkB,GAAVlQ,EACd1yI,EAAM8qB,KAnlCU,GAqlClB,KArlCkB,GAslChB,GAAI9qB,EAAM4iJ,MAAO,CAGf,IADA2qW,EAAIvtf,EAAM4iJ,MACH7gJ,EAAOwrf,GAAG,CACf,GAAa,IAAT1vf,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV/B,EAAMd,QAAU8D,GAAS,GAAKhD,EAAM4iJ,OAAS,EAE7C5/I,KAAUhD,EAAM4iJ,MAChB7gJ,GAAQ/B,EAAM4iJ,MAEd5iJ,EAAMytkB,MAAQztkB,EAAM4iJ,KAAA,CAGtB5iJ,EAAM0tkB,IAAM1tkB,EAAMd,OAClBc,EAAM8qB,KAxmCQ,GA0mChB,KA1mCgB,GA2mCd,KAGE4nH,GAFAo+Y,EAAO9whB,EAAM2skB,SAAS3pkB,GAAS,GAAKhD,EAAM6skB,UAAY,MAElC,GAAM,IAC1BlpkB,EAAkB,MAAPmthB,KAFXvmW,EAAYumW,IAAS,KAIF/uhB,IANZ,CAQP,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,GAAyB,IAAV,IAAV2wI,GAAuB,CAI1B,IAHA23C,EAAYE,EACZsmW,EAAUn+Y,EACV5yE,EAAWn8D,EAKT+uI,GAHAo+Y,EAAO9whB,EAAM2skB,SAAS7sgB,IACZ98D,GAAS,GAAMqnL,EAAYwmW,GAAY,IAAoCxmW,OAEjE,GAAM,IAC1B1mL,EAAkB,MAAPmthB,IAENzmW,GAJLE,EAAYumW,IAAS,KAIU/uhB,IAPxB,CASP,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAIViB,KAAUqnL,EACVtoL,GAAQsoL,EAERrqL,EAAMytkB,MAAQpjZ,CAAA,CAOhB,GAJArnL,KAAUunL,EACVxoL,GAAQwoL,EAERvqL,EAAMytkB,MAAQljZ,EACA,GAAV73C,EAAc,CAChB7zI,EAAK2rgB,IAAM,wBACXxqgB,EAAM8qB,KAlpCH,GAmpCH,MAEF9qB,EAAMue,OAAS5a,EACf3D,EAAM4iJ,MAAoB,GAAXlQ,EACf1yI,EAAM8qB,KA7pCW,GA+pCnB,KA/pCmB,GAgqCjB,GAAI9qB,EAAM4iJ,MAAO,CAGf,IADA2qW,EAAIvtf,EAAM4iJ,MACH7gJ,EAAOwrf,GAAG,CACf,GAAa,IAAT1vf,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV/B,EAAMue,QAAUvb,GAAS,GAAKhD,EAAM4iJ,OAAS,EAE7C5/I,KAAUhD,EAAM4iJ,MAChB7gJ,GAAQ/B,EAAM4iJ,MAEd5iJ,EAAMytkB,MAAQztkB,EAAM4iJ,KAAA,CAGtB,GAAI5iJ,EAAMue,OAASve,EAAMoskB,KAAM,CAC7BvtkB,EAAK2rgB,IAAM,gCACXxqgB,EAAM8qB,KA9qCH,GA+qCH,MAIF9qB,EAAM8qB,KAxrCS,GA0rCjB,KA1rCiB,GA2rCf,GAAa,IAAT3sB,EAAc,MAAMU,EAExB,GADAoD,EAAO6/F,EAAO3jG,EACV6B,EAAMue,OAAStc,EAAM,CAEvB,IADAA,EAAOjC,EAAMue,OAAStc,GACXjC,EAAMsskB,OACXtskB,EAAM8skB,KAAM,CACdjukB,EAAK2rgB,IAAM,gCACXxqgB,EAAM8qB,KA7rCP,GA8rCC,MAkBA7oB,EAAOjC,EAAMuskB,OACftqkB,GAAQjC,EAAMuskB,MACdtpkB,EAAOjD,EAAMqskB,MAAQpqkB,GAGrBgB,EAAOjD,EAAMuskB,MAAQtqkB,EAEnBA,EAAOjC,EAAMd,SAAU+C,EAAOjC,EAAMd,QACxCigB,EAAcnf,EAAMpD,MAAA,MAGpBuiB,EAAcrd,EACdmB,EAAOikB,EAAMlnB,EAAMue,OACnBtc,EAAOjC,EAAMd,OAEX+C,EAAO9D,IAAQ8D,EAAO9D,GAC1BA,GAAQ8D,EACRjC,EAAMd,QAAU+C,EAChB,GACEH,EAAOolB,KAAS/H,EAAYlc,aACnBhB,GACU,IAAjBjC,EAAMd,SAAgBc,EAAM8qB,KA9uCnB,IA+uCb,MACF,KA3uCe,GA4uCb,GAAa,IAAT3sB,EAAc,MAAMU,EACxBiD,EAAOolB,KAASlnB,EAAMd,OACtBf,IACA6B,EAAM8qB,KApvCO,GAqvCb,MACF,KAhvCS,GAivCP,GAAI9qB,EAAMwpH,KAAM,CAEd,KAAOznH,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IAEAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAcV,GAXA+/F,GAAQ3jG,EACRU,EAAKwpkB,WAAavme,EAClB9hG,EAAMgtkB,OAASlre,EACXA,IACFjjG,EAAKsqkB,MAAQnpkB,EAAM+qK,MAEd/qK,EAAM0U,MAAQ3R,EAAM/C,EAAM+qK,MAAOjpK,EAAQggG,EAAM56E,EAAM46E,GAAQ/iG,EAAQiB,EAAM+qK,MAAOjpK,EAAQggG,EAAM56E,EAAM46E,IAG7GA,EAAO3jG,GAEF6B,EAAM0U,MAAQ1R,EAAOyH,EAAQzH,MAAWhD,EAAM+qK,MAAO,CACxDlsK,EAAK2rgB,IAAM,uBACXxqgB,EAAM8qB,KArwCL,GAswCD,MAGF9nB,EAAO,EACPjB,EAAO,EAIT/B,EAAM8qB,KAhxCE,GAkxCV,KAlxCU,GAmxCR,GAAI9qB,EAAMwpH,MAAQxpH,EAAM0U,MAAO,CAE7B,KAAO3S,EAAO,IAAI,CAChB,GAAa,IAATlE,EAAc,MAAMgB,EACxBhB,IACAmF,GAAQjD,EAAMwkC,MAAWxiC,EACzBA,GAAQ,EAGV,GAAIiB,KAAwB,WAAdhD,EAAMgtkB,OAAqB,CACvCnukB,EAAK2rgB,IAAM,yBACXxqgB,EAAM8qB,KA5xCL,GA6xCD,MAGF9nB,EAAO,EACPjB,EAAO,EAIT/B,EAAM8qB,KAtyCA,GAwyCR,KAxyCQ,GAyyCN/pB,EAt1Cc,EAu1Cd,MAAMlC,EACR,KA1yCO,GA2yCLkC,GAr1Cc,EAs1Cd,MAAMlC,EACR,KA5yCO,GA6yCL,OAv1Cc,EA01ChB,QACE,OA71Cc,EAm3CpB,OARAA,EAAKomkB,SAAW/9iB,EAChBroB,EAAK0lkB,UAAYpmkB,EACjBU,EAAKimkB,QAAUvgiB,EACf1lC,EAAKkmkB,SAAWlnkB,EAChBmC,EAAMwskB,KAAOxpkB,EACbhD,EAAMyskB,KAAO1qkB,GAGT/B,EAAMqskB,OAAUvqe,IAASjjG,EAAK0lkB,WAAavkkB,EAAM8qB,KAx0C1C,KAy0CU9qB,EAAM8qB,KA50Cd,IApDO,IAg4CuBxrB,KACrCmD,EAAa5D,EAAMA,EAAKgf,OAAQhf,EAAKomkB,SAAUnje,EAAOjjG,EAAK0lkB,YAC7DvkkB,EAAM8qB,KA10CC,IA1CS,IAw3CpB9oB,GAAOnD,EAAKkmkB,SACZjje,GAAQjjG,EAAK0lkB,UACb1lkB,EAAKuqkB,UAAYpnkB,EACjBnD,EAAKwpkB,WAAavme,EAClB9hG,EAAMgtkB,OAASlre,EACX9hG,EAAMwpH,MAAQ1nB,IAChBjjG,EAAKsqkB,MAAQnpkB,EAAM+qK,MAChB/qK,EAAM0U,MAAQ3R,EAAM/C,EAAM+qK,MAAOjpK,EAAQggG,EAAMjjG,EAAKomkB,SAAWnje,GAAQ/iG,EAAQiB,EAAM+qK,MAAOjpK,EAAQggG,EAAMjjG,EAAKomkB,SAAWnje,IAE/HjjG,EAAK4skB,UAAYzrkB,EAAMyskB,MAAQzskB,EAAM0sF,KAAO,GAAK,IA12CjC,KA22CG1sF,EAAM8qB,KAAgB,IAAM,IAn2C3B,KAo2CD9qB,EAAM8qB,MAz2CR,KAy2CyB9qB,EAAM8qB,KAAiB,IAAM,IACzD,IAAR9oB,GAAsB,IAAT8/F,GAl5CC,IAk5CcxiG,IA14Cd,IA04CqCyB,IACvDA,GAp4CkB,GAs4CbA,EAAA,EAyETf,EAAQwmkB,WAtER,SAAoB3nkB,GAElB,IAAKA,IAASA,EAAK8J,MACjB,OA/4CkB,EAk5CpB,IAAIrJ,EAAQT,EAAK8J,MAKjB,OAJIrJ,EAAM1C,SACR0C,EAAM1C,OAAS,MAEjBiC,EAAK8J,MAAQ,KA15CO,GAu9CtB3I,EAAQ2lkB,iBAzDR,SAA0B9mkB,EAAMS,GAC9B,IAAIU,EAGJ,OAAKnB,GAASA,EAAK8J,MAEM,IAAP,GADlB3I,EAAQnB,EAAK8J,OACF6gH,OAh6CS,GAm6CpBxpH,EAAMwgB,KAAOlhB,EACbA,EAAKoC,MAAA,EAx6Ce,IAIA,GAo9CtB1B,EAAQ4lkB,qBA5CR,SAA8B/mkB,EAAMS,GAClC,IAEIU,EAFAhB,EAAaM,EAAWJ,OAO5B,OAAKL,GAAyBA,EAAK8J,MAGhB,KAFnB3I,EAAQnB,EAAK8J,OAEH6gH,MA35CE,KA25CYxpH,EAAM8qB,MAn7CV,EAwBR,KAg6CR9qB,EAAM8qB,MAGC/rB,EAFA,EAEgBO,EAAYN,EAAY,KAClCgB,EAAM+qK,OA37CH,EAi8CdtoK,EAAa5D,EAAMS,EAAYN,EAAYA,IAE/CgB,EAAM8qB,KAx5CG,IA1CS,IAq8CpB9qB,EAAM+skB,SAAW,EA38CG,IAIA,GAq9CtB/skB,EAAQ+tkB,YAAc,4IAAAlvkB,EAAAS,EAAAU,GCzgDtB,aAqBA,IAAIhB,EAAQH,EAAQ,mBAWhBE,EAAQ,CACV,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACrD,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAG3DgE,EAAO,CACT,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGtDW,EAAQ,CACV,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IACtD,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAClD,KAAM,MAAO,MAAO,MAAO,EAAG,GAG5B5E,EAAO,CACT,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpC,GAAI,GAAI,GAAI,GAAI,GAAI,IAGtBQ,EAAO3C,QAAU,SAAuBkC,EAAMS,EAAMU,EAAYyK,EAAO1K,EAAO+B,EAAayiC,EAAMrd,GAE/F,IAYIrpB,EACAM,EACA6E,EACAjB,EACAjE,EAIA2E,EAMAT,EAAW8/F,EAAS7/F,EA1BpBgB,EAAOikB,EAAKuljB,KAGZttjB,EAAM,EACNorK,EAAM,EACN73C,EAAM,EAAG/uI,EAAM,EACf0mL,EAAO,EACPwmW,EAAO,EACP/wd,EAAO,EACP7L,EAAO,EACPlzD,EAAO,EACPs1D,EAAO,EAMPk3b,EAAO,KACPujC,EAAa,EAGbC,EAAQ,IAAI/xhB,EAAM6nkB,MAAM,IACxB71C,EAAO,IAAIhyhB,EAAM6nkB,MAAM,IACvB51C,EAAQ,KACRh1d,EAAc,EAoClB,IAAK98C,EAAM,EAAGA,GA7FF,GA6FkBA,IAC5B4xgB,EAAM5xgB,GAAO,EAEf,IAAKorK,EAAM,EAAGA,EAAM9/K,EAAO8/K,IACzBwmW,EAAMzxhB,EAAKU,EAAauqL,MAK1B,IADAF,EAAOpnL,EACFU,EAtGO,GAsGQA,GAAO,GACN,IAAfothB,EAAMpthB,GADkBA,KAM9B,GAHI0mL,EAAO1mL,IACT0mL,EAAO1mL,GAEG,IAARA,EAaF,OATA5D,EAAM+B,KAAkB,SAMxB/B,EAAM+B,KAAkB,SAExBolB,EAAKuljB,KAAO,EACL,EAET,IAAK/5b,EAAM,EAAGA,EAAM/uI,GACC,IAAfothB,EAAMr+Y,GADaA,KASzB,IANI23C,EAAO33C,IACT23C,EAAO33C,GAITz+E,EAAO,EACF90C,EAAM,EAAGA,GApIF,GAoIkBA,IAG5B,GAFA80C,IAAS,GACTA,GAAQ88d,EAAM5xgB,IACH,EACT,OAAQ,EAGZ,GAAI80C,EAAO,IAtID,IAsIOp1D,GAA0B,IAAR8E,GACjC,OAAQ,EAKV,IADAqthB,EAAK,GAAK,EACL7xgB,EAAM,EAAGA,EAjJF,GAiJiBA,IAC3B6xgB,EAAK7xgB,EAAM,GAAK6xgB,EAAK7xgB,GAAO4xgB,EAAM5xgB,GAIpC,IAAKorK,EAAM,EAAGA,EAAM9/K,EAAO8/K,IACM,IAA3BjrL,EAAKU,EAAauqL,KACpBhmJ,EAAKysf,EAAK1xhB,EAAKU,EAAauqL,OAAWA,GAmE3C,GAtNU,IAyLN1rL,GACF0uf,EAAO0jC,EAAQ1sf,EACf9hC,EAAM,IA1LC,IA4LE5D,GACT0uf,EAAOxuf,EACP+xhB,GAAc,IACdG,EAAQluhB,EACRk5D,GAAe,IACfx5D,EAAM,MAGN8qf,EAAO7pf,EACPuthB,EAAQnyhB,EACR2D,GAAO,GAIT4zD,EAAO,EACPk0H,EAAM,EACNprK,EAAMuzH,EACN50I,EAAOgE,EACP+uhB,EAAOxmW,EACPvqH,EAAO,EACP98D,GAAO,EAEPjB,GADAhB,EAAO,GAAKspL,GACE,EAlNL,IAqNJxrL,GAAiBkC,EA1NN,KAMN,IAqNPlC,GAAkBkC,EA1NJ,IA2Nf,OAAO,EAIT,OAAS,CAEPiB,EAAYmd,EAAM2gD,EACdv7B,EAAKgmJ,GAAO9nL,GACdq/F,EAAU,EACV7/F,EAAWsiC,EAAKgmJ,IAEThmJ,EAAKgmJ,GAAO9nL,GACnBq/F,EAAUmvb,EAAMh1d,EAAc13B,EAAKgmJ,IACnCtoL,EAAWsrf,EAAKujC,EAAavsf,EAAKgmJ,MAGlCzoF,EAAU,GACV7/F,EAAW,GAIbpE,EAAO,GAAMshB,EAAM2gD,EAEnB4yE,EADAv0I,EAAO,GAAK0yhB,EAEZ,GAEE9whB,EAAMjC,GAAQu4D,GAAQyJ,IADtB3hE,GAAQN,IAC+BmE,GAAa,GAAO8/F,GAAW,GAAM7/F,EAAU,QACtE,IAAT9D,GAIT,IADAN,EAAO,GAAMshB,EAAM,EACZk3C,EAAOx4D,GACZA,IAAS,EAWX,GATa,IAATA,GACFw4D,GAAQx4D,EAAO,EACfw4D,GAAQx4D,GAERw4D,EAAO,EAITk0H,IACqB,KAAfwmW,EAAM5xgB,GAAY,CACtB,GAAIA,IAAQxb,EAAO,MACnBwb,EAAM7f,EAAKU,EAAaukC,EAAKgmJ,GAAA,CAI/B,GAAIprK,EAAMkrK,IAASh0H,EAAOt0D,KAAUiB,EAAK,CAYvC,IAVa,IAAT88D,IACFA,EAAOuqH,GAITvsL,GAAQ40I,EAIRz+E,EAAO,IADP48d,EAAO1xgB,EAAM2gD,GAEN+wd,EAAO/wd,EAAOn8D,MACnBswD,GAAQ88d,EAAMF,EAAO/wd,KACT,IACZ+wd,IACA58d,IAAS,EAKX,GADAlzD,GAAQ,GAAK8vhB,EA5RR,IA6RAhyhB,GAAiBkC,EAlSV,KAMN,IA6RHlC,GAAkBkC,EAlSR,IAmSX,OAAO,EAQThB,EAJAiD,EAAMqzD,EAAOt0D,GAICsoL,GAAQ,GAAOwmW,GAAQ,GAAO/yhB,EAAOgE,EAAc,GAiBrE,OAVa,IAATu0D,IAIFt2D,EAAMjC,EAAOu4D,GAAUl3C,EAAM2gD,GAAS,GAAO,IAAM,GAAK,GAK1D54C,EAAKuljB,KAAOpiZ,EACL,2CAAAxrL,EAAAS,EAAAU,GCrVT,aAqBAV,EAAO3C,QAAU,CACf,EAAQ,kBACR,EAAQ,aACR,EAAQ,GACR,KAAQ,aACR,KAAQ,eACR,KAAQ,aACR,KAAQ,sBACR,KAAQ,eACR,KAAQ,2CAAAkC,EAAAS,EAAAU,GC9BV,aAuBA,IAAIhB,EAAQH,EAAQ,mBAqBpB,SAASE,EAAKF,GAA6B,IAAtB,IAAIS,EAAMT,EAAIK,SAAiBI,GAAO,GAAKT,EAAIS,GAAO,EAI3E,IA2DIyD,EACF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAEvDW,EACF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAEhE5E,EACF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAEnC2L,EACF,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAgB3C1K,EAAgB,IAAI7B,MAAM,KAC9Ba,EAAKgB,GAOL,IAAI+B,EAAgB,IAAI5D,MAAM,IAC9Ba,EAAK+C,GAKL,IAAIyiC,EAAgB,IAAIrmC,MAjBJ,KAkBpBa,EAAKwlC,GAML,IAAIrd,EAAgB,IAAIhpB,MAAM,KAC9Ba,EAAKmoB,GAGL,IAAIrpB,EAAgB,IAAIK,MAhGJ,IAiGpBa,EAAKlB,GAGL,IAkBIM,EACA6E,EACAjB,EApBAjE,EAAgB,IAAII,MA3FJ,IAgGpB,SAASuE,EAAe5D,EAAaS,EAAYU,EAAYhB,EAAOD,GAElER,KAAKyvkB,YAAenvkB,EACpBN,KAAK0vkB,WAAe3ukB,EACpBf,KAAK2vkB,WAAelukB,EACpBzB,KAAK4vkB,MAAenvkB,EACpBT,KAAK6vkB,WAAervkB,EAGpBR,KAAK8vkB,UAAexvkB,GAAeA,EAAYK,MAAA,CASjD,SAAS8C,EAASnD,EAAUS,GAC1Bf,KAAK+vkB,SAAWzvkB,EAChBN,KAAKgwkB,SAAW,EAChBhwkB,KAAKiwkB,UAAYlvkB,CAAA,CAKnB,SAASwiG,EAAOjjG,GACd,OAAOA,EAAO,IAAM0lC,EAAW1lC,GAAQ0lC,EAAW,KAAO1lC,IAAS,IAQpE,SAASoD,EAAUpD,EAAGS,GAGpBT,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAmB,IAAL30jB,EAC9BT,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAc30jB,IAAM,EAAK,IAQ3C,SAAS2D,EAAUpE,EAAGS,EAAOU,GACvBnB,EAAE2skB,SApIY,GAoIWxrkB,GAC3BnB,EAAE0skB,QAAWjskB,GAAST,EAAE2skB,SAAY,MACpCvpkB,EAAUpD,EAAGA,EAAE0skB,QACf1skB,EAAE0skB,OAASjskB,GAvIK,GAuIgBT,EAAE2skB,SAClC3skB,EAAE2skB,UAAYxrkB,EAxIE,KA0IhBnB,EAAE0skB,QAAWjskB,GAAST,EAAE2skB,SAAY,MACpC3skB,EAAE2skB,UAAYxrkB,EAAA,CAKlB,SAASmf,EAAUtgB,EAAGS,EAAGU,GACvBiD,EAAUpE,EAAGmB,EAAS,EAAJV,GAAiBU,EAAS,EAAJV,EAAQ,IASlD,SAASirL,EAAW1rL,EAAMS,GACxB,IAAIU,EAAM,EACV,GACEA,GAAc,EAAPnB,EACPA,KAAU,EACVmB,IAAQ,UACCV,EAAM,GACjB,OAAOU,IAAQ,EAgIjB,SAAS0yI,EAAU7zI,EAAMS,EAAUU,GAKjC,IAEIhB,EACAD,EAHAgE,EAAY,IAAI7E,MAAM,IACtBwF,EAAO,EAOX,IAAK1E,EAAO,EAAGA,GAjTG,GAiTeA,IAC/B+D,EAAU/D,GAAQ0E,EAAQA,EAAO1D,EAAShB,EAAO,IAAO,EAS1D,IAAKD,EAAI,EAAIA,GAAKO,EAAUP,IAAK,CAC/B,IAAID,EAAMD,EAAS,EAAJE,EAAQ,GACX,IAARD,IAEJD,EAAS,EAAJE,GAAkBwrL,EAAWxnL,EAAUjE,KAAQA,GAAA,EAmHxD,SAAS6E,EAAW9E,GAClB,IAAIS,EAGJ,IAAKA,EAAI,EAAGA,EAlcM,IAkcQA,IAAOT,EAAE2rkB,UAAc,EAAJlrkB,GAAkB,EAC/D,IAAKA,EAAI,EAAGA,EAhcM,GAgcQA,IAAOT,EAAE4rkB,UAAc,EAAJnrkB,GAAkB,EAC/D,IAAKA,EAAI,EAAGA,EA9bM,GA8bQA,IAAOT,EAAE6rkB,QAAY,EAAJprkB,GAAkB,EAE7DT,EAAE2rkB,UAAU,KAA0B,EACtC3rkB,EAAEwskB,QAAUxskB,EAAEyskB,WAAa,EAC3BzskB,EAAE8qkB,SAAW9qkB,EAAEygC,QAAU,EAO3B,SAAS+qJ,EAAUxrL,GAEbA,EAAE2skB,SAAW,EACfvpkB,EAAUpD,EAAGA,EAAE0skB,QACN1skB,EAAE2skB,SAAW,IAEtB3skB,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAap1jB,EAAE0skB,QAEjC1skB,EAAE0skB,OAAS,EACX1skB,EAAE2skB,SAAW,EA8Bf,SAAS36C,EAAQhyhB,EAAMS,EAAGU,EAAGhB,GAC3B,IAAID,EAAU,EAAJO,EACNyD,EAAU,EAAJ/C,EACV,OAAQnB,EAAKE,GAAgBF,EAAKkE,IAC1BlE,EAAKE,KAAkBF,EAAKkE,IAAiB/D,EAAMM,IAAMN,EAAMgB,EAAA,CASzE,SAAS8/D,EAAWjhE,EAAGS,EAAMU,GAO3B,IAFA,IAAIhB,EAAIH,EAAEkskB,KAAK/qkB,GACXjB,EAAIiB,GAAK,EACNjB,GAAKF,EAAEmskB,WAERjskB,EAAIF,EAAEmskB,UACRn6C,EAAQvxhB,EAAMT,EAAEkskB,KAAKhskB,EAAI,GAAIF,EAAEkskB,KAAKhskB,GAAIF,EAAEu1H,QAC1Cr1H,KAGE8xhB,EAAQvxhB,EAAMN,EAAGH,EAAEkskB,KAAKhskB,GAAIF,EAAEu1H,SAGlCv1H,EAAEkskB,KAAK/qkB,GAAKnB,EAAEkskB,KAAKhskB,GACnBiB,EAAIjB,EAGJA,IAAM,EAERF,EAAEkskB,KAAK/qkB,GAAKhB,CAAA,CAUd,SAASi1D,EAAep1D,EAAGS,EAAOU,GAKhC,IAAIhB,EACAD,EAEAD,EACA2L,EAFA1K,EAAK,EAIT,GAAmB,IAAflB,EAAE8qkB,SACJ,GACE3qkB,EAAQH,EAAEspkB,YAAYtpkB,EAAEuskB,MAAa,EAALrrkB,IAAW,EAAMlB,EAAEspkB,YAAYtpkB,EAAEuskB,MAAa,EAALrrkB,EAAS,GAClFhB,EAAKF,EAAEspkB,YAAYtpkB,EAAEqskB,MAAQnrkB,GAC7BA,IAEa,IAATf,EACFmgB,EAAUtgB,EAAGE,EAAIO,IAKjB6f,EAAUtgB,GADVC,EAAOooB,EAAanoB,IA7jBR,IA8jBmB,EAAGO,GAEpB,KADdmL,EAAQ1H,EAAYjE,KAGlBmE,EAAUpE,EADVE,GAAMlB,EAAYiB,GACD2L,GAMnB0U,EAAUtgB,EAHVC,EAAOgjG,IADP9iG,GAImBgB,GAEL,KADdyK,EAAQ/G,EAAY5E,KAGlBmE,EAAUpE,EADVG,GAAQlB,EAAUgB,GACC2L,UAQhB1K,EAAKlB,EAAE8qkB,UAGlBxqjB,EAAUtgB,EA1jBM,IA0jBQS,EAAA,CAY1B,SAASyB,EAAWlC,EAAGS,GAIrB,IAIIU,EAAGhB,EAEHD,EANAgE,EAAWzD,EAAKgvkB,SAChB5qkB,EAAWpE,EAAKkvkB,UAAUR,YAC1BlvkB,EAAYQ,EAAKkvkB,UAAUH,UAC3B5jkB,EAAWnL,EAAKkvkB,UAAUL,MAE1BpukB,GAAY,EAUhB,IAHAlB,EAAEmskB,SAAW,EACbnskB,EAAEoskB,SAxmBgB,IA0mBbjrkB,EAAI,EAAGA,EAAIyK,EAAOzK,IACQ,IAAzB+C,EAAS,EAAJ/C,IACPnB,EAAEkskB,OAAOlskB,EAAEmskB,UAAYjrkB,EAAWC,EAClCnB,EAAEu1H,MAAMp0H,GAAK,GAGb+C,EAAS,EAAJ/C,EAAQ,GAAa,EAS9B,KAAOnB,EAAEmskB,SAAW,GAElBjokB,EAAY,GADZhE,EAAOF,EAAEkskB,OAAOlskB,EAAEmskB,UAAajrkB,EAAW,IAAMA,EAAW,IACjC,EAC1BlB,EAAEu1H,MAAMr1H,GAAQ,EAChBF,EAAEwskB,UAEEvskB,IACFD,EAAEyskB,YAAc5nkB,EAAa,EAAP3E,EAAW,IASrC,IALAO,EAAKivkB,SAAWxukB,EAKXC,EAAKnB,EAAEmskB,UAAY,EAAchrkB,GAAK,EAAGA,IAAO8/D,EAAWjhE,EAAGkE,EAAM/C,GAKzEjB,EAAO0L,EACP,GAGEzK,EAAInB,EAAEkskB,KAAK,GACXlskB,EAAEkskB,KAAK,GAAiBlskB,EAAEkskB,KAAKlskB,EAAEmskB,YACjClrgB,EAAWjhE,EAAGkE,EAAM,GAGpB/D,EAAIH,EAAEkskB,KAAK,GAEXlskB,EAAEkskB,OAAOlskB,EAAEoskB,UAAYjrkB,EACvBnB,EAAEkskB,OAAOlskB,EAAEoskB,UAAYjskB,EAGvB+D,EAAY,EAAPhE,GAAqBgE,EAAS,EAAJ/C,GAAkB+C,EAAS,EAAJ/D,GACtDH,EAAEu1H,MAAMr1H,IAASF,EAAEu1H,MAAMp0H,IAAMnB,EAAEu1H,MAAMp1H,GAAKH,EAAEu1H,MAAMp0H,GAAKnB,EAAEu1H,MAAMp1H,IAAM,EACvE+D,EAAS,EAAJ/C,EAAQ,GAAa+C,EAAS,EAAJ/D,EAAQ,GAAaD,EAGpDF,EAAEkskB,KAAK,GAAiBhskB,IACxB+gE,EAAWjhE,EAAGkE,EAAM,SAEblE,EAAEmskB,UAAY,GAEvBnskB,EAAEkskB,OAAOlskB,EAAEoskB,UAAYpskB,EAAEkskB,KAAK,GAjehC,SAAoBlskB,EAAGS,GAIrB,IAOIU,EACAhB,EAAGD,EACHgE,EACAW,EACA5E,EAXA2L,EAAkBnL,EAAKgvkB,SACvBvukB,EAAkBT,EAAKivkB,SACvBzskB,EAAkBxC,EAAKkvkB,UAAUR,YACjCzpiB,EAAkBjlC,EAAKkvkB,UAAUH,UACjCnnjB,EAAkB5nB,EAAKkvkB,UAAUP,WACjCpwkB,EAAkByB,EAAKkvkB,UAAUN,WACjC/vkB,EAAkBmB,EAAKkvkB,UAAUJ,WAMjCprkB,EAAW,EAEf,IAAKD,EAAO,EAAGA,GArNG,GAqNeA,IAC/BlE,EAAEiskB,SAAS/nkB,GAAQ,EAQrB,IAFA0H,EAA0B,EAArB5L,EAAEkskB,KAAKlskB,EAAEoskB,UAAgB,GAAa,EAEtCjrkB,EAAInB,EAAEoskB,SAAW,EAAGjrkB,EAjOP,IAiOsBA,KAEtC+C,EAAO0H,EAA+B,EAA1BA,EAAS,GADrBzL,EAAIH,EAAEkskB,KAAK/qkB,IACc,GAAiB,GAAa,GAC5C7B,IACT4E,EAAO5E,EACP6E,KAEFyH,EAAS,EAAJzL,EAAQ,GAAa+D,EAGtB/D,EAAIe,IAERlB,EAAEiskB,SAAS/nkB,KACXW,EAAQ,EACJ1E,GAAKnB,IACP6F,EAAQwjB,EAAMloB,EAAInB,IAEpBiB,EAAI2L,EAAS,EAAJzL,GACTH,EAAEwskB,SAAWvskB,GAAKiE,EAAOW,GACrB6gC,IACF1lC,EAAEyskB,YAAcxskB,GAAKgD,EAAU,EAAJ9C,EAAQ,GAAa0E,KAGpD,GAAiB,IAAbV,EAAJ,CAMA,EAAG,CAED,IADAD,EAAO5E,EAAa,EACQ,IAArBU,EAAEiskB,SAAS/nkB,IAAeA,IACjClE,EAAEiskB,SAAS/nkB,KACXlE,EAAEiskB,SAAS/nkB,EAAO,IAAM,EACxBlE,EAAEiskB,SAAS3skB,KAIX6E,GAAY,QACLA,EAAW,GAOpB,IAAKD,EAAO5E,EAAqB,IAAT4E,EAAYA,IAElC,IADA/D,EAAIH,EAAEiskB,SAAS/nkB,GACF,IAAN/D,IACLD,EAAIF,EAAEkskB,OAAO/qkB,IACLD,IACJ0K,EAAS,EAAJ1L,EAAQ,KAAegE,IAE9BlE,EAAEwskB,UAAYtokB,EAAO0H,EAAS,EAAJ1L,EAAQ,IAAc0L,EAAS,EAAJ1L,GACrD0L,EAAS,EAAJ1L,EAAQ,GAAagE,GAE5B/D,IAAA,EAnFN,CAseaH,EAAGS,GAGdozI,EAAU3vI,EAAMhD,EAAUlB,EAAEiskB,SAAA,CAQ9B,SAASz0gB,EAAUx3D,EAAGS,EAAMU,GAK1B,IAAIhB,EAEAD,EADAgE,GAAW,EAGXW,EAAUpE,EAAK,GAEfR,EAAQ,EACR2L,EAAY,EACZ1K,EAAY,EAQhB,IANgB,IAAZ2D,IACF+G,EAAY,IACZ1K,EAAY,GAEdT,EAAsB,GAAhBU,EAAW,GAAS,GAAa,MAElChB,EAAI,EAAGA,GAAKgB,EAAUhB,IACzBD,EAAS2E,EACTA,EAAUpE,EAAe,GAATN,EAAI,GAAS,KAEvBF,EAAQ2L,GAAa1L,IAAW2E,IAG3B5E,EAAQiB,EACjBlB,EAAE6rkB,QAAiB,EAAT3rkB,IAAwBD,EAEd,IAAXC,GAELA,IAAWgE,GAAWlE,EAAE6rkB,QAAiB,EAAT3rkB,KACpCF,EAAE6rkB,QAAQ,OAED5rkB,GAAS,GAClBD,EAAE6rkB,QAAQ,MAGV7rkB,EAAE6rkB,QAAQ,MAGZ5rkB,EAAQ,EACRiE,EAAUhE,EAEM,IAAZ2E,GACF+G,EAAY,IACZ1K,EAAY,GAEHhB,IAAW2E,GACpB+G,EAAY,EACZ1K,EAAY,IAGZ0K,EAAY,EACZ1K,EAAY,IAUlB,SAASwtf,EAAU1uf,EAAGS,EAAMU,GAK1B,IAAIhB,EAEAD,EADAgE,GAAW,EAGXW,EAAUpE,EAAK,GAEfR,EAAQ,EACR2L,EAAY,EACZ1K,EAAY,EAQhB,IALgB,IAAZ2D,IACF+G,EAAY,IACZ1K,EAAY,GAGTf,EAAI,EAAGA,GAAKgB,EAAUhB,IAIzB,GAHAD,EAAS2E,EACTA,EAAUpE,EAAe,GAATN,EAAI,GAAS,OAEvBF,EAAQ2L,GAAa1L,IAAW2E,GAAtC,CAGO,GAAI5E,EAAQiB,EACjB,GAAKof,EAAUtgB,EAAGE,EAAQF,EAAE6rkB,eAA+B,KAAV5rkB,QAE7B,IAAXC,GACLA,IAAWgE,IACboc,EAAUtgB,EAAGE,EAAQF,EAAE6rkB,SACvB5rkB,KAGFqgB,EAAUtgB,EA1wBE,GA0wBUA,EAAE6rkB,SACxBznkB,EAAUpE,EAAGC,EAAQ,EAAG,IAEfA,GAAS,IAClBqgB,EAAUtgB,EA3wBE,GA2wBYA,EAAE6rkB,SAC1BznkB,EAAUpE,EAAGC,EAAQ,EAAG,KAGxBqgB,EAAUtgB,EA5wBE,GA4wBcA,EAAE6rkB,SAC5BznkB,EAAUpE,EAAGC,EAAQ,GAAI,IAG3BA,EAAQ,EACRiE,EAAUhE,EACM,IAAZ2E,GACF+G,EAAY,IACZ1K,EAAY,GAEHhB,IAAW2E,GACpB+G,EAAY,EACZ1K,EAAY,IAGZ0K,EAAY,EACZ1K,EAAY,IAhuBlBhB,EAAKjB,GAu1BL,IAAIgzhB,GAAA,EA4BJ,SAASC,EAAiBlyhB,EAAGS,EAAKU,EAAYjB,GAM5CkE,EAAUpE,EAAG,GAAuBE,EAAO,EAAI,GAAI,GAzfrD,SAAoBF,EAAGS,EAAKU,EAAKjB,GAM/BsrL,EAAUxrL,GAENE,IACFkD,EAAUpD,EAAGmB,GACbiC,EAAUpD,GAAImB,IAKhBhB,EAAMunkB,SAAS1nkB,EAAEspkB,YAAatpkB,EAAEjC,OAAQ0C,EAAKU,EAAKnB,EAAEo1jB,SACpDp1jB,EAAEo1jB,SAAWj0jB,CAAA,CAhBf,CA0fanB,EAAGS,EAAKU,GAAA,EAAY,CAoKjCA,EAAQ0rkB,SAlMR,SAAkB7skB,GAGXiyhB,IAxmBP,WACE,IAAIjyhB,EACAS,EACAU,EACAhB,EACAD,EACA0L,EAAW,IAAIvM,MAAM,IAiBzB,IADA8B,EAAS,EACJhB,EAAO,EAAGA,EAAO,GAAkBA,IAEtC,IADAnB,EAAYmB,GAAQgB,EACfnB,EAAI,EAAGA,EAAK,GAAKkE,EAAY/D,GAAQH,IACxCqoB,EAAalnB,KAAYhB,EAY7B,IAJAkoB,EAAalnB,EAAS,GAAKhB,EAG3BD,EAAO,EACFC,EAAO,EAAGA,EAAO,GAAIA,IAExB,IADAlB,EAAUkB,GAAQD,EACbF,EAAI,EAAGA,EAAK,GAAK6E,EAAY1E,GAAQH,IACxC0lC,EAAWxlC,KAAUC,EAKzB,IADAD,IAAS,EACFC,EAjYW,GAiYKA,IAErB,IADAlB,EAAUkB,GAAQD,GAAQ,EACrBF,EAAI,EAAGA,EAAK,GAAM6E,EAAY1E,GAAQ,EAAKH,IAC9C0lC,EAAW,IAAMxlC,KAAUC,EAM/B,IAAKM,EAAO,EAAGA,GAjYG,GAiYeA,IAC/BmL,EAASnL,GAAQ,EAInB,IADAT,EAAI,EACGA,GAAK,KACVkB,EAAiB,EAAJlB,EAAQ,GAAa,EAClCA,IACA4L,EAAS,KAEX,KAAO5L,GAAK,KACVkB,EAAiB,EAAJlB,EAAQ,GAAa,EAClCA,IACA4L,EAAS,KAEX,KAAO5L,GAAK,KACVkB,EAAiB,EAAJlB,EAAQ,GAAa,EAClCA,IACA4L,EAAS,KAEX,KAAO5L,GAAK,KACVkB,EAAiB,EAAJlB,EAAQ,GAAa,EAClCA,IACA4L,EAAS,KASX,IAHAioI,EAAU3yI,EAAc,IAAa0K,GAGhC5L,EAAI,EAAGA,EA1aM,GA0aOA,IACvBiD,EAAiB,EAAJjD,EAAQ,GAAa,EAClCiD,EAAiB,EAAJjD,GAAkB0rL,EAAW1rL,EAAG,GAI/CV,EAAgB,IAAIsE,EAAe1C,EAAcgD,EAAa,IAnb5C,IAYA,IAwalBC,EAAgB,IAAIP,EAAeX,EAAc4B,EAAa,EAjb5C,GASA,IAyalB3B,EAAiB,IAAIU,EAAe,IAAIvE,MAAM,GAAIY,EAAc,EA/a9C,GAiBF,GA+TlB,GA0mBIgyhB,GAAA,GAGFjyhB,EAAE8rkB,OAAU,IAAI3okB,EAASnD,EAAE2rkB,UAAWrskB,GACtCU,EAAE+rkB,OAAU,IAAI5okB,EAASnD,EAAE4rkB,UAAWznkB,GACtCnE,EAAEgskB,QAAU,IAAI7okB,EAASnD,EAAE6rkB,QAAS3okB,GAEpClD,EAAE0skB,OAAS,EACX1skB,EAAE2skB,SAAW,EAGb7nkB,EAAW9E,EAAA,EAmLbmB,EAAQgskB,iBAAmBj7C,EAC3B/whB,EAAQsokB,gBAnJR,SAAyBzpkB,EAAGS,EAAKU,EAAYhB,GAM3C,IAAID,EAAUgE,EACVW,EAAc,EAGd7E,EAAEiuJ,MAAQ,GAnhCY,IAshCpBjuJ,EAAEylkB,KAAKmH,YACT5skB,EAAEylkB,KAAKmH,UArGb,SAA0B5skB,GAKxB,IACIS,EADAU,EAAa,WAIjB,IAAKV,EAAI,EAAGA,GAAK,GAAIA,IAAKU,KAAgB,EACxC,GAAkB,EAAbA,GAAoD,IAAhCnB,EAAE2rkB,UAAc,EAAJlrkB,GACnC,OAh8BsB,EAq8B1B,GAAoC,IAAhCT,EAAE2rkB,UAAU,KAA0D,IAAjC3rkB,EAAE2rkB,UAAU,KAChB,IAAjC3rkB,EAAE2rkB,UAAU,IACd,OAt8BwB,EAw8B1B,IAAKlrkB,EAAI,GAAIA,EA56BK,IA46BSA,IACzB,GAAoC,IAAhCT,EAAE2rkB,UAAc,EAAJlrkB,GACd,OA18BsB,EAi9B1B,OAl9B0B,EAq7B5B,CAqG0CT,IAItCkC,EAAWlC,EAAGA,EAAE8rkB,QAIhB5pkB,EAAWlC,EAAGA,EAAE+rkB,QAUhBlnkB,EAnMJ,SAAuB7E,GACrB,IAAIS,EAgBJ,IAbA+2D,EAAUx3D,EAAGA,EAAE2rkB,UAAW3rkB,EAAE8rkB,OAAO4D,UACnCl4gB,EAAUx3D,EAAGA,EAAE4rkB,UAAW5rkB,EAAE+rkB,OAAO2D,UAGnCxtkB,EAAWlC,EAAGA,EAAEgskB,SASXvrkB,EAAc,GAAcA,GAAe,GACW,IAArDT,EAAE6rkB,QAAgC,EAAxBjgkB,EAASnL,GAAmB,GADOA,KAUnD,OAJAT,EAAEwskB,SAAW,GAAK/rkB,EAAc,GAAK,EAAI,EAAI,EAItCA,CAAA,CA3BT,CAmMgCT,GAG5BE,EAAYF,EAAEwskB,QAAU,EAAI,IAAO,GACnCtokB,EAAelE,EAAEyskB,WAAa,EAAI,IAAO,IAMtBvskB,IAAYA,EAAWgE,IAI1ChE,EAAWgE,EAAc/C,EAAa,EAGnCA,EAAa,GAAKjB,IAAuB,IAATO,EASnCyxhB,EAAiBlyhB,EAAGS,EAAKU,EAAYhB,GA1kCb,IA4kCfH,EAAE0gG,UAAwBx8F,IAAgBhE,GAEnDkE,EAAUpE,EAAG,GAAuBG,EAAO,EAAI,GAAI,GACnDi1D,EAAep1D,EAAGkB,EAAc+B,KAGhCmB,EAAUpE,EAAG,GAAoBG,EAAO,EAAI,GAAI,GAjMpD,SAAwBH,EAAGS,EAAQU,EAAQhB,GAIzC,IAAID,EASJ,IAHAkE,EAAUpE,EAAGS,EAAS,IAAK,GAC3B2D,EAAUpE,EAAGmB,EAAS,EAAK,GAC3BiD,EAAUpE,EAAGG,EAAU,EAAI,GACtBD,EAAO,EAAGA,EAAOC,EAASD,IAE7BkE,EAAUpE,EAAGA,EAAE6rkB,QAAyB,EAAjBjgkB,EAAS1L,GAAY,GAAY,GAI1Dwuf,EAAU1uf,EAAGA,EAAE2rkB,UAAWlrkB,EAAS,GAGnCiuf,EAAU1uf,EAAGA,EAAE4rkB,UAAWzqkB,EAAS,GAtBrC,CAkMmBnB,EAAGA,EAAE8rkB,OAAO4D,SAAW,EAAG1vkB,EAAE+rkB,OAAO2D,SAAW,EAAG7qkB,EAAc,GAC9EuwD,EAAep1D,EAAGA,EAAE2rkB,UAAW3rkB,EAAE4rkB,YAMnC9mkB,EAAW9E,GAEPG,GACFqrL,EAAUxrL,EAAA,EAuEdmB,EAAQypkB,UA7DR,SAAmB5qkB,EAAGS,EAAMU,GAmD1B,OA5CAnB,EAAEspkB,YAAYtpkB,EAAEuskB,MAAqB,EAAbvskB,EAAE8qkB,UAAqBrqkB,IAAS,EAAK,IAC7DT,EAAEspkB,YAAYtpkB,EAAEuskB,MAAqB,EAAbvskB,EAAE8qkB,SAAe,GAAY,IAAPrqkB,EAE9CT,EAAEspkB,YAAYtpkB,EAAEqskB,MAAQrskB,EAAE8qkB,UAAiB,IAAL3pkB,EACtCnB,EAAE8qkB,WAEW,IAATrqkB,EAEFT,EAAE2rkB,UAAe,EAALxqkB,MAEZnB,EAAEygC,UAEFhgC,IAKAT,EAAE2rkB,UAA8C,GAAnCtjjB,EAAalnB,GA9lCV,IA8lC2B,MAC3CnB,EAAE4rkB,UAAyB,EAAf3oe,EAAOxiG,OA0BbT,EAAE8qkB,WAAa9qkB,EAAEsskB,YAAc,GAWzCnrkB,EAAQ+rkB,UAhKR,SAAmBltkB,GACjBoE,EAAUpE,EAAG,EAAmB,GAChCsgB,EAAUtgB,EAz8BM,IAy8BQkB,GA5yB1B,SAAkBlB,GACG,KAAfA,EAAE2skB,UACJvpkB,EAAUpD,EAAGA,EAAE0skB,QACf1skB,EAAE0skB,OAAS,EACX1skB,EAAE2skB,SAAW,GAEJ3skB,EAAE2skB,UAAY,IACvB3skB,EAAEspkB,YAAYtpkB,EAAEo1jB,WAAwB,IAAXp1jB,EAAE0skB,OAC/B1skB,EAAE0skB,SAAW,EACb1skB,EAAE2skB,UAAY,GATlB,CA6yBW3skB,EAAA,0CAAAA,EAAAS,EAAAU,GCxiCX,aA8CAV,EAAO3C,QAzBP,WAEE4B,KAAK6M,MAAQ,KACb7M,KAAKumkB,QAAU,EAEfvmkB,KAAKwmkB,SAAW,EAEhBxmkB,KAAK6qkB,SAAW,EAEhB7qkB,KAAKsf,OAAS,KACdtf,KAAK0mkB,SAAW,EAEhB1mkB,KAAKgmkB,UAAY,EAEjBhmkB,KAAK8pkB,UAAY,EAEjB9pkB,KAAKisgB,IAAM,GAEXjsgB,KAAKoK,MAAQ,KAEbpK,KAAKktkB,UAAY,EAEjBltkB,KAAK4qkB,MAAQ,sBAAAtqkB,EAAAS,EAAAU,GC3CfV,EAAA3C,QAAA,wCACA,yBAA0B,cAC1B,yBAA0B,cAC1B,yBAA0B,cAC1B,0BAA2B,cAC3B,0BAA2B,cAC3B,0BAA2B,cAC3B,0BAA2B,cAC3B,0BAA2B,cAC3B,0BAA2B,cAC3B,0BAA2B,cAC3B,0BAA2B,cAA3B,oBAAAkC,EAAAS,EAAAU,GCTA,aAEA,IAAIhB,EAAOH,EAAQ,WAEnBmB,EAAQyukB,YAAc5vkB,EAAQ,iBAE9B,IAAIE,EAAgBC,EAAKsliB,OAAO,iBAAiB,WAC/C/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,kBAAkB8ukB,MAC3BpwkB,KAAKsB,IAAI,mBAAmB8ukB,MAC5BpwkB,KAAKsB,IAAI,UAAU8ukB,MACnBpwkB,KAAKsB,IAAI,UAAU8ukB,MACnBpwkB,KAAKsB,IAAI,aAAa8ukB,MACtBpwkB,KAAKsB,IAAI,aAAa8ukB,MACtBpwkB,KAAKsB,IAAI,eAAe8ukB,MAAA,IAG5B3ukB,EAAQ4ukB,cAAgB7vkB,EAExB,IAAIgE,EAAe/D,EAAKsliB,OAAO,gBAAgB,WAC7C/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,kBAAkB8ukB,MAAA,IAG/B3ukB,EAAQ6ukB,aAAe9rkB,EAEvB,IAAIW,EAAY1E,EAAKsliB,OAAO,wBAAwB,WAClD/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,aAAa44C,IAAI35C,GAC1BP,KAAKsB,IAAI,oBAAoBivkB,SAAA,IAGjC9ukB,EAAQ+ukB,UAAYrrkB,EAEpB,IAAI5E,EAAsBE,EAAKsliB,OAAO,uBAAuB,WAC3D/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,aAAamvkB,QACtBzwkB,KAAKsB,IAAI,QAAQovkB,QAAQzpC,WACzBjniB,KAAKsB,IAAI,SAASmvkB,QAAQxpC,WAC1BjniB,KAAKsB,IAAI,UAAU6ukB,MAAMxojB,IACvB3nB,KAAKsB,IAAI,KAAK8ukB,MACdpwkB,KAAKsB,IAAI,KAAK8ukB,MACdpwkB,KAAKsB,IAAI,KAAK8ukB,OACdnpC,WAAA,IAIF/6hB,EAAiBzL,EAAKsliB,OAAO,kBAAkB,WACjD/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,aAAa44C,IAAI35C,GAC1BP,KAAKsB,IAAI,qBAAqBqvkB,SAAA,IAGlClvkB,EAAQmvkB,WAAa1kkB,EACrB,IAAI1K,EAA0Bf,EAAKsliB,OAAO,2BAA2B,WACnE/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,aAAa6ukB,MAAMxojB,IAC1B3nB,KAAKsB,IAAI,MAAMmvkB,QACfzwkB,KAAKsB,IAAI,WAAW6ukB,MAAMxojB,IACxB3nB,KAAKsB,IAAI,OAAO6ukB,MAAMxojB,IACpB3nB,KAAKsB,IAAI,MAAMmvkB,QACfzwkB,KAAKsB,IAAI,aAAa6ukB,MAAMxojB,IAC1B3nB,KAAKsB,IAAI,QAAQqvkB,SACjB3wkB,KAAKsB,IAAI,SAAS8ukB,QAGtBpwkB,KAAKsB,IAAI,UAAU6ukB,MAAMxojB,IACvB3nB,KAAKsB,IAAI,QAAQmvkB,QACjBzwkB,KAAKsB,IAAI,MAAMqvkB,YAIrB3wkB,KAAKsB,IAAI,qBAAqBqvkB,SAAA,IAIlClvkB,EAAQovkB,oBAAsBrvkB,EAE9B,IAAI+B,EAAgB9C,EAAKsliB,OAAO,iBAAiB,WAC/C/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,KAAK8ukB,MACdpwkB,KAAKsB,IAAI,KAAK8ukB,MACdpwkB,KAAKsB,IAAI,KAAK8ukB,MACdpwkB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,YAAY8ukB,MAAA,IAGzB3ukB,EAAQqvkB,cAAgBvtkB,EAExB9B,EAAQsvkB,SAAWtwkB,EAAKsliB,OAAO,YAAY,WACzC/liB,KAAKowkB,KAAA,IAGP,IAAIpqiB,EAAevlC,EAAKsliB,OAAO,gBAAgB,WAC7C/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,WAAW8ukB,MACpBpwkB,KAAKsB,IAAI,cAAcqvkB,SACvB3wkB,KAAKsB,IAAI,cAAc2liB,WAAWG,SAAS,GAAGltf,IAAIvxB,GAClD3oB,KAAKsB,IAAI,aAAa2liB,WAAWG,SAAS,GAAGmpC,SAAA,IAGjD9ukB,EAAQuvkB,aAAehriB,EAEvB,IAAIrd,EAAeloB,EAAKsliB,OAAO,gBAAgB,WAC7C/liB,KAAKgniB,OAAO,CACViqC,WAAYjxkB,KAAKywkB,SAAA,IAIrBhvkB,EAAQ45iB,UAAY56iB,EAAKsliB,OAAO,aAAa,WAC3C/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,KAAK8ukB,MACdpwkB,KAAKsB,IAAI,KAAK8ukB,MAAA,wDAAA9vkB,EAAAS,EAAAU,GCpHlB,aAEA,IAAIhB,EAAMH,EAAQ,WAEdE,EAAOC,EAAIsliB,OAAO,QAAQ,WAC5B/liB,KAAKgniB,OAAO,CACVkqC,QAASlxkB,KAAKmxkB,UACdC,YAAapxkB,KAAKqxkB,WAAA,IAIlB7skB,EAAqB/D,EAAIsliB,OAAO,sBAAsB,WACxD/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,QAAQmvkB,QACjBzwkB,KAAKsB,IAAI,SAAS4liB,MAAA,IAIlB/hiB,EAAsB1E,EAAIsliB,OAAO,uBAAuB,WAC1D/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,aAAamvkB,QACtBzwkB,KAAKsB,IAAI,cAAc2liB,WACvBjniB,KAAKsB,IAAI,SAASmvkB,QAAQxpC,WAAA,IAI1B1miB,EAAuBE,EAAIsliB,OAAO,wBAAwB,WAC5D/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,aAAa44C,IAAI/0C,GAC1BnF,KAAKsB,IAAI,oBAAoBivkB,SAAA,IAI7BrkkB,EAA4BzL,EAAIsliB,OAAO,6BAA6B,WACtE/liB,KAAKsxkB,MAAM9skB,EAAA,IAGThD,EAAcf,EAAIsliB,OAAO,eAAe,WAC1C/liB,KAAKuxkB,MAAMrlkB,EAAA,IAGT3I,EAAO9C,EAAIsliB,OAAO,QAAQ,WAC5B/liB,KAAKgniB,OAAO,CACVwqC,YAAaxxkB,KAAKk6C,IAAI14C,IAAA,IAItBwkC,EAAWvlC,EAAIsliB,OAAO,YAAY,WACpC/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,aAAa44C,IAAI15C,GAC1BR,KAAKsB,IAAI,YAAY44C,IAAI15C,GAAA,IAIzBmoB,EAAYloB,EAAIsliB,OAAO,aAAa,WACtC/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,UAAUmvkB,QACnBzwkB,KAAKsB,IAAI,YAAY8iE,OAAOmje,KAAA,GAC5BvniB,KAAKsB,IAAI,aAAaqvkB,SAAA,IAItBrxkB,EAAiBmB,EAAIsliB,OAAO,kBAAkB,WAChD/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,WAAW8liB,SAAS,GAAGgpC,MAAMnpC,WACtCjniB,KAAKsB,IAAI,gBAAgB8ukB,MACzBpwkB,KAAKsB,IAAI,aAAa44C,IAAI/0C,GAC1BnF,KAAKsB,IAAI,UAAU44C,IAAI32C,GACvBvD,KAAKsB,IAAI,YAAY44C,IAAIlU,GACzBhmC,KAAKsB,IAAI,WAAW44C,IAAI32C,GACxBvD,KAAKsB,IAAI,wBAAwB44C,IAAI35C,GACrCP,KAAKsB,IAAI,kBAAkB+liB,SAAS,GAAGkpC,SAAStpC,WAChDjniB,KAAKsB,IAAI,mBAAmB+liB,SAAS,GAAGkpC,SAAStpC,WACjDjniB,KAAKsB,IAAI,cAAc8liB,SAAS,GAAGmqC,MAAM5ojB,GAAWs+gB,WAAA,IAIpDrniB,EAAkBa,EAAIsliB,OAAO,mBAAmB,WAClD/liB,KAAKmwkB,MAAMxojB,IACT3nB,KAAKsB,IAAI,kBAAkB44C,IAAI56C,GAC/BU,KAAKsB,IAAI,sBAAsB44C,IAAI/0C,GACnCnF,KAAKsB,IAAI,kBAAkBivkB,SAAA,IAI/BxvkB,EAAO3C,QAAUwB,CAAA,iCAAAU,EAAAS,EAAAU,GAAA,aCvFjB,IAAIhB,EAAW,wHACXD,EAAa,8CACbgE,EAAY,iFACZW,EAAM7E,EAAQ,kBACdC,EAAUD,EAAQ,kBAClB4L,EAAS5L,EAAQ,eAAeoN,OACpC3M,EAAO3C,QAAU,SAAUkC,EAAMS,GAC/B,IAEIU,EAFAD,EAAMlB,EAAKkP,WACXjM,EAAQ/B,EAAIogB,MAAMnhB,GAEtB,GAAK8C,EAGE,CACL,IAAIyiC,EAAQ,MAAQziC,EAAM,GACtBolB,EAAKzc,EAAO5B,KAAK/G,EAAM,GAAI,OAC3BjE,EAAa4M,EAAO5B,KAAK/G,EAAM,GAAG8W,QAAQ,UAAW,IAAK,UAC1Dza,EAAYuF,EAAIpE,EAAU4nB,EAAGxL,MAAM,EAAG,GAAIooB,SAAShiC,EAAM,GAAI,KAAKjC,IAClEmD,EAAM,GACNjB,EAASjD,EAAQ42iB,iBAAiBnxgB,EAAOpmC,EAAW+oB,GACxDlkB,EAAIH,KAAKd,EAAOsE,OAAOxI,IACvBmF,EAAIH,KAAKd,EAAOkziB,SAChBj1iB,EAAYyK,EAAOnN,OAAO0F,EAAA,KAZhB,CACV,IAAIlF,EAASiC,EAAIogB,MAAMpd,GACvB/C,EAAYyK,EAAO5B,KAAK/K,EAAO,GAAG8a,QAAQ,UAAW,IAAK,UAa5D,MAAO,CACLa,IAFQ1Z,EAAIogB,MAAMphB,GAAY,GAG9BuH,KAAMtG,EAAA,yBAAAi2iB,eAAA,sCAAAp3iB,EAAAS,EAAAU,GAAA,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CC5BV,IAAIE,EAAOF,EAAQ,UACfkE,EAAQlE,EAAQ,gBAChB6E,EAAU7E,EAAQ,aAClBC,EAAUD,EAAQ,kBAClB4L,EAAS5L,EAAQ,UACjBkB,EAASlB,EAAQ,eAAeoN,OAGpC,SAASnK,EAAWjD,GAClB,IAAIS,EACkB,WAAlBN,EAAOH,IAAwBkB,EAAO26C,SAAS77C,KACjDS,EAAWT,EAAOmxkB,WAClBnxkB,EAASA,EAAOgB,KAEI,iBAAXhB,IACTA,EAASkB,EAAO8I,KAAKhK,IAGvB,IAIImB,EAAS8B,EAJTyiC,EAAW7gC,EAAQ7E,EAAQS,GAE3B4nB,EAAOqd,EAAS9qB,IAChB5b,EAAO0mC,EAASj+B,KAEpB,OAAQ4gB,GACN,IAAK,cACHplB,EAAQ/C,EAAK0vkB,YAAYnhkB,OAAOzP,EAAM,OAAOoykB,eAAeC,qBAE9D,IAAK,aAKH,OAJKpukB,IACHA,EAAQ/C,EAAKgwkB,UAAUzhkB,OAAOzP,EAAM,QAEtCmC,EAAU8B,EAAMu5D,UAAUA,UAAUrtD,KAAK,MAEvC,IAAK,uBACH,OAAOjP,EAAK8vkB,aAAavhkB,OAAOxL,EAAMqukB,iBAAiB7pkB,KAAM,OAC/D,IAAK,oBAEH,OADAxE,EAAM43iB,kBAAoB53iB,EAAMqukB,iBACzB,CACLp6jB,KAAM,KACNzP,KAAMxE,GAEV,IAAK,oBAEH,OADAA,EAAMu5D,UAAUrjC,OAAO2hhB,QAAU56iB,EAAKuwkB,SAAShikB,OAAOxL,EAAMqukB,iBAAiB7pkB,KAAM,OAC5E,CACLyP,KAAM,MACNzP,KAAMxE,EAAMu5D,UAAUrjC,QAE1B,QAAS,MAAM,IAAI9wB,MAAM,kBAAoBlH,GAGjD,IAAK,wBAEHnC,EAyCN,SAAkBgB,EAAMS,GACtB,IAAIU,EAAOnB,EAAKw8D,UAAU1C,QAAQwkH,IAAIizZ,UAAUp1gB,KAC5Ch8D,EAAQ8kC,SAASjlC,EAAKw8D,UAAU1C,QAAQwkH,IAAIizZ,UAAUC,MAAMtikB,WAAY,IACxEhP,EAAOgE,EAAMlE,EAAKw8D,UAAU1C,QAAQD,OAAOrE,KAAKrmD,KAAK,MACrDtK,EAAK7E,EAAKw8D,UAAU1C,QAAQD,OAAO5sD,GACnChK,EAAajD,EAAK66iB,kBAClBn1gB,EAAST,SAAS/kC,EAAKsS,MAAM,KAAK,GAAI,IAAM,EAC5C6V,EAAMzc,EAAOs1iB,WAAWzgjB,EAAUU,EAAMhB,EAAOulC,EAAQ,QACvD1mC,EAASiB,EAAQ42iB,iBAAiB32iB,EAAMmoB,EAAKxjB,GAC7CvF,EAAM,GAGV,OAFAA,EAAI0E,KAAKhF,EAAOwI,OAAOvE,IACvB3D,EAAI0E,KAAKhF,EAAOo3iB,SACTl1iB,EAAOzC,OAAOa,EAAA,CAZvB,CA1CMN,EAAOkB,EAAKqwkB,oBAAoB9hkB,OAAOzP,EAAM,OACxByB,GAEvB,IAAK,cAGH,OADAU,GADA8B,EAAQ/C,EAAKowkB,WAAW7hkB,OAAOzP,EAAM,QACrBw9D,UAAUA,UAAUrtD,KAAK,MAEvC,IAAK,uBACH,OAAOjP,EAAK6vkB,cAActhkB,OAAOxL,EAAM43iB,kBAAmB,OAC5D,IAAK,oBACH,MAAO,CACLN,MAAOt3iB,EAAMu5D,UAAU+9e,MACvBh3G,WAAYrjc,EAAKwwkB,aAAajikB,OAAOxL,EAAM43iB,kBAAmB,OAAOt3G,YAEzE,IAAK,oBAEH,OADAtgc,EAAMu5D,UAAUrjC,OAAOuhhB,SAAWx6iB,EAAKuwkB,SAAShikB,OAAOxL,EAAM43iB,kBAAmB,OACzE,CACL3jiB,KAAM,MACNiiB,OAAQl2B,EAAMu5D,UAAUrjC,QAE5B,QAAS,MAAM,IAAI9wB,MAAM,kBAAoBlH,GAGjD,IAAK,iBACH,OAAOjB,EAAK8vkB,aAAavhkB,OAAOzP,EAAM,OACxC,IAAK,kBACH,OAAOkB,EAAK6vkB,cAActhkB,OAAOzP,EAAM,OACzC,IAAK,kBACH,MAAO,CACLkY,KAAM,MACNiiB,OAAQj5B,EAAKswkB,cAAc/hkB,OAAOzP,EAAM,QAE5C,IAAK,iBAEH,MAAO,CACLu7iB,OAFFv7iB,EAAOkB,EAAKwwkB,aAAajikB,OAAOzP,EAAM,QAExB2sJ,WAAWnpJ,MACvB+gc,WAAYvkc,EAAKukc,YAErB,QAAS,MAAM,IAAIl7b,MAAM,oBAAsBggB,GAAA,CAnFnD5nB,EAAO3C,QAAUmF,EAsFjBA,EAAU83iB,UAAY76iB,EAAK66iB,SAAA,wEAAAkG,OAAA,sCAAAjhjB,EAAAS,EAAAU,GAAA,aC5F3BA,EAAQ8/iB,OAASjhjB,EAAQ,eACzBmB,EAAQ+/iB,WAAalhjB,EAAQ,mEAAAA,EAAAS,EAAAU,IAAA,SAAAA,EAAAhB,GAAA,aCD7B,IAOID,EAPAgE,EAASlE,EAAQ,eAAeoN,OAEhCvI,EAAkB7E,EAAQ,kBAC1BC,EAAkBD,EAAQ,sBAC1B4L,EAAO5L,EAAQ,UACfkB,EAAWlB,EAAQ,eAGnBiD,EAAS9C,EAAOsJ,QAAUtJ,EAAOsJ,OAAOtL,OACxCunC,EAAY,CACdsvhB,IAAK,QACL,QAAS,QACTG,KAAM,QACN7b,OAAQ,UACR,UAAW,UACXE,OAAQ,UACR,UAAW,UACX,UAAW,UACXC,OAAQ,WAENpxhB,EAAS,GAsBb,SAASrpB,EAAegB,EAAUS,EAAMU,EAAYhB,EAAQD,GAC1D,OAAO+C,EAAOgF,UACZ,MAAOjI,EAAU,CAAEyG,KAAM,aAAmB,CAAC,eAC7C3D,MAAK,SAAU9C,GACf,OAAOiD,EAAOwukB,WAAW,CACvBhrkB,KAAM,SACN01D,KAAM17D,EACN2/D,WAAYj/D,EACZuF,KAAM,CACJD,KAAMvG,IAEPF,EAAKG,GAAU,MACjB2C,MAAK,SAAU9C,GAChB,OAAOkE,EAAO8F,KAAKhK,EAAA,IAevBS,EAAO3C,QAAU,SAAUkC,EAAUS,EAAMnB,EAAY6E,EAAQjB,EAAQjE,GAC/C,mBAAXiE,IACTjE,EAAWiE,EACXA,OAAA,GAIF,IAAIU,EAAO8hC,GADXxiC,EAASA,GAAU,QACS8W,eAE5B,IAAKpW,GAAkC,mBAAnBzD,EAAOiC,QACzB,OAAOjB,EAAQs+gB,UAAS,WACtB,IAAIt+gB,EACJ,IACEA,EAAMyK,EAAK5L,EAAUS,EAAMnB,EAAY6E,EAAQjB,EAAA,CAC/C,MAAOlD,GACP,OAAOf,EAASe,EAAA,CAElBf,EAAS,KAAMkC,EAAA,IAOnB,GAHA0D,EAAgBvF,EAAY6E,GAC5BnE,EAAWkB,EAASlB,EAAUC,EAAiB,YAC/CQ,EAAOS,EAAST,EAAMR,EAAiB,QACf,mBAAbhB,EAAyB,MAAM,IAAIoJ,MAAM,mCAnCtD,SAAyBrI,EAASS,GAChCT,EAAQ8C,MAAK,SAAU9C,GACrBmB,EAAQs+gB,UAAS,WACfh/gB,EAAS,KAAMT,EAAA,OAEhB,SAAUA,GACXmB,EAAQs+gB,UAAS,WACfh/gB,EAAST,EAAA,OAPf,CAtCA,SAAsBA,GACpB,GAAIG,EAAO2I,UAAY3I,EAAO2I,QAAQ4+C,QACpC,OAAOtlD,QAAQC,SAAA,GAEjB,IAAKY,IAAWA,EAAOgF,YAAchF,EAAOwukB,WAC1C,OAAOrvkB,QAAQC,SAAA,GAEjB,QAAI,IAAAgmB,EAAOroB,GACT,OAAOqoB,EAAOroB,GAGhB,IAAIS,EAAOzB,EADXkB,EAAWA,GAAYgE,EAAO6Z,MAAM,GACD7d,EAAU,GAAI,IAAKF,GACnD8C,MAAK,WACJ,OAAO,KACN4F,OAAM,WACP,OAAO,KAGX,OADA2f,EAAOroB,GAAQS,EACRA,CAAA,CAlBT,CA2E6BmD,GAAMd,MAAK,SAAU3B,GAC9C,OAAIA,EAAanC,EAAcgB,EAAUS,EAAMnB,EAAY6E,EAAQP,GAE5DgI,EAAK5L,EAAUS,EAAMnB,EAAY6E,EAAQjB,EAAA,IAC9CjE,EAAA,IAAAqB,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,mFAAAu7D,SAAA,sCAAAt5D,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,aCpGN,IAAImB,EAGFA,EADEnB,EAAQ0nD,QACQ,QACT1nD,EAAQ8+C,QACG7Z,SAASjlC,EAAQ8+C,QAAQtsC,MAAM,KAAK,GAAGqK,MAAM,GAAI,KAElC,EAAI,QAAU,SAE/B,QAEpBpc,EAAO3C,QAAUqD,CAAA,GAAAb,KAAA,KAAAN,EAAA,eAAAs5D,SAAA,oBAAAt5D,EAAAS,EAAAU,GAAA,aCXjB,IAAIhB,EAAY6K,KAAKmB,IAAI,EAAG,IAAM,EAElC1L,EAAO3C,QAAU,SAAUkC,EAAYS,GACrC,GAA0B,iBAAfT,EACT,MAAM,IAAI8D,UAAU,2BAGtB,GAAI9D,EAAa,EACf,MAAM,IAAI8D,UAAU,kBAGtB,GAAsB,iBAAXrD,EACT,MAAM,IAAIqD,UAAU,2BAGtB,GAAIrD,EAAS,GAAKA,EAASN,GAAaM,GAAWA,EACjD,MAAM,IAAIqD,UAAU,sCAAA9D,EAAAS,EAAAU,GAAA,aChBxB,IAAIhB,EAAMH,EAAQ,mBACdE,EAAYF,EAAQ,aACpBkE,EAAMlE,EAAQ,UACd6E,EAAS7E,EAAQ,eAAeoN,OAEhCnN,EAAkBD,EAAQ,kBAC1B4L,EAAkB5L,EAAQ,sBAC1BkB,EAAWlB,EAAQ,eAEnBiD,EAAQ4B,EAAOkZ,MAAM,KACrB2nB,EAAQ,CACVgsiB,IAAK,GACLvc,KAAM,GACN5b,OAAQ,GACRD,OAAQ,GACRE,OAAQ,GACRC,OAAQ,GACRk4B,OAAQ,GACRpxB,UAAW,IAGb,SAASl4hB,EAAMroB,EAAKS,EAAKU,GACvB,IAAIlB,EAkCN,SAAoBD,GAClB,SAASS,EAASA,GAChB,OAAOyD,EAAIlE,GAAKwH,OAAO/G,GAAMkH,QAAA,CAM/B,MAAY,WAAR3H,GAA4B,cAARA,EAJxB,SAAqBA,GACnB,OAAO,IAAIE,GAAYsH,OAAOxH,GAAM2H,QAAA,EAI1B,QAAR3H,EAAsBG,EACnBM,CAAA,CAVT,CAlCuBT,GACjB4L,EAAqB,WAAR5L,GAA4B,WAARA,EAAoB,IAAM,GAE3DS,EAAIJ,OAASuL,EACfnL,EAAMR,EAAKQ,GACFA,EAAIJ,OAASuL,IACtBnL,EAAMoE,EAAOpG,OAAO,CAACgC,EAAKwC,GAAQ2I,IAKpC,IAFA,IAAI1K,EAAO2D,EAAOilD,YAAYl+C,EAAY85B,EAAM1lC,IAC5CqoB,EAAOxjB,EAAOilD,YAAYl+C,EAAY85B,EAAM1lC,IACvChB,EAAI,EAAGA,EAAI4M,EAAW5M,IAC7BkC,EAAKlC,GAAc,GAATyB,EAAIzB,GACdqpB,EAAKrpB,GAAc,GAATyB,EAAIzB,GAGhB,IAAIM,EAAQuF,EAAOilD,YAAYl+C,EAAYzK,EAAU,GACrDD,EAAKwc,KAAKpe,EAAO,EAAG,EAAGsM,GACvBlM,KAAKkykB,MAAQtykB,EACbI,KAAKmykB,MAAQ3wkB,EACbxB,KAAKoykB,KAAOzpjB,EACZ3oB,KAAKqykB,IAAM/xkB,EACXN,KAAKsykB,UAAYpmkB,EACjBlM,KAAKgH,KAAOzG,EACZP,KAAK2gB,KAAOqlB,EAAM1lC,EAAA,CAGpBqoB,EAAKzoB,UAAUqykB,IAAM,SAAUjykB,EAAMS,GAInC,OAHAT,EAAK0d,KAAKjd,EAAMf,KAAKsykB,WACbtykB,KAAKgH,KAAKjG,GAChBid,KAAKhe,KAAKoykB,KAAMpykB,KAAKsykB,WAChBtykB,KAAKgH,KAAKhH,KAAKoykB,KAAA,EAmDxBrxkB,EAAO3C,QAnCP,SAAiBkC,EAAUS,EAAMU,EAAYhB,EAAQD,GACnDD,EAAgBkB,EAAYhB,GAM5B,IAAI+D,EAAO,IAAImkB,EAFfnoB,EAASA,GAAU,OAHnBF,EAAWkB,EAASlB,EAAU4L,EAAiB,aAC/CnL,EAAOS,EAAST,EAAMmL,EAAiB,SAIIvL,QAEvC4C,EAAK4B,EAAOilD,YAAY3pD,GACxBnB,EAAS6F,EAAOilD,YAAYrpD,EAAKJ,OAAS,GAC9CI,EAAKid,KAAK1e,EAAQ,EAAG,EAAGyB,EAAKJ,QAM7B,IAJA,IAAIf,EAAU,EACV6E,EAAOuhC,EAAMxlC,GACbgD,EAAI8H,KAAKgzD,KAAK79D,EAASgE,GAElBlF,EAAI,EAAGA,GAAKiE,EAAGjE,IAAK,CAC3BD,EAAOmyD,cAAclyD,EAAGwB,EAAKJ,QAK7B,IAHA,IAAIuD,EAAIM,EAAK+tkB,IAAIjzkB,EAAQkF,EAAK0tkB,OAC1BzukB,EAAIS,EAECq/F,EAAI,EAAGA,EAAI9hG,EAAY8hG,IAAK,CACnC9/F,EAAIe,EAAK+tkB,IAAI9ukB,EAAGe,EAAK2tkB,OACrB,IAAK,IAAIzukB,EAAI,EAAGA,EAAIe,EAAMf,IAAKQ,EAAER,IAAMD,EAAEC,EAAA,CAG3CQ,EAAE8Z,KAAKza,EAAI3D,GACXA,GAAW6E,CAAA,CAGb,OAAOlB,CAAA,0FAAAs9iB,UAAA,mDAAAvgjB,EAAAS,EAAAU,GAAA,aCrGT,IAAIhB,EAASH,EAAQ,eAAeoN,OAEpC3M,EAAO3C,QAAU,SAAUkC,EAAOS,EAAUU,GAC1C,GAAIhB,EAAO07C,SAAS77C,GAClB,OAAOA,EACF,GAAqB,iBAAVA,EAChB,OAAOG,EAAO6J,KAAKhK,EAAOS,GACrB,GAAIwI,YAAYC,OAAOlJ,GAC5B,OAAOG,EAAO6J,KAAKhK,EAAMmJ,QAEzB,MAAM,IAAIrF,UAAU3C,EAAO,iGAAAnB,EAAAS,EAAAU,IAAA,SAAAnB,GCV/B,sBAEWA,IACNA,EAAQ8+C,SAC0B,IAAnC9+C,EAAQ8+C,QAAQp+C,QAAQ,QACW,IAAnCV,EAAQ8+C,QAAQp+C,QAAQ,QAAqD,IAArCV,EAAQ8+C,QAAQp+C,QAAQ,SAClED,EAAO3C,QAAU,CAAE2hhB,SAKrB,SAAkBh/gB,EAAIU,EAAMhB,EAAMD,GAChC,GAAkB,mBAAPO,EACT,MAAM,IAAIqD,UAAU,0CAEtB,IACII,EAAMW,EADN5E,EAAMG,UAAUC,OAEpB,OAAQJ,GACR,KAAK,EACL,KAAK,EACH,OAAOD,EAAQy/gB,SAASh/gB,GAC1B,KAAK,EACH,OAAOT,EAAQy/gB,UAAS,WACtBh/gB,EAAGH,KAAK,KAAMa,EAAA,IAElB,KAAK,EACH,OAAOnB,EAAQy/gB,UAAS,WACtBh/gB,EAAGH,KAAK,KAAMa,EAAMhB,EAAA,IAExB,KAAK,EACH,OAAOH,EAAQy/gB,UAAS,WACtBh/gB,EAAGH,KAAK,KAAMa,EAAMhB,EAAMD,EAAA,IAE9B,QAGE,IAFAgE,EAAO,IAAI7E,MAAMY,EAAM,GACvB4E,EAAI,EACGA,EAAIX,EAAK7D,QACd6D,EAAKW,KAAOzE,UAAUyE,GAExB,OAAO7E,EAAQy/gB,UAAS,WACtBh/gB,EAAGF,MAAM,KAAM2D,EAAA,OAhCnBzD,EAAO3C,QAAUkC,CAAA,GAAAM,KAAA,KAAAN,EAAA,eAAAs5D,SAAA,oBAAAt5D,EAAAS,EAAAU,GAAA,aCPnB,IAOIhB,EACAD,EARAgE,EAAUzD,EAAO3C,QAAU,CAAC,EAUhC,SAAS+G,IACL,MAAM,IAAIwD,MAAM,mCAEpB,SAASpI,IACL,MAAM,IAAIoI,MAAM,qCAsBpB,SAASuD,EAAW5L,GAChB,GAAIG,IAAqB+Y,WAErB,OAAOA,WAAWlZ,EAAK,GAG3B,IAAKG,IAAqB0E,IAAqB1E,IAAqB+Y,WAEhE,OADA/Y,EAAmB+Y,WACZA,WAAWlZ,EAAK,GAE3B,IAEI,OAAOG,EAAiBH,EAAK,GAC/B,MAAMS,GACJ,IAEI,OAAON,EAAiBG,KAAK,KAAMN,EAAK,GAC1C,MAAMS,GAEJ,OAAON,EAAiBG,KAAKZ,KAAMM,EAAK,MAvCnD,WACG,IAEQG,EADsB,mBAAf+Y,WACYA,WAEArU,CAAA,CAEzB,MAAO7E,GACLG,EAAmB0E,CAAA,CAEvB,IAEQ3E,EADwB,mBAAjB+8B,aACcA,aAEAh9B,CAAA,CAE3B,MAAOD,GACLE,EAAqBD,CAAA,EAjB5B,GAwED,IAEIiB,EAFA+B,EAAQ,GACRyiC,GAAA,EAEArd,GAAc,EAElB,SAASrpB,IACA0mC,GAAaxkC,IAGlBwkC,GAAA,EACIxkC,EAAab,OACb4C,EAAQ/B,EAAazC,OAAOwE,GAE5BolB,GAAc,EAEdplB,EAAM5C,QACNf,IAAA,CAIR,SAASA,IACL,IAAIomC,EAAJ,CAGA,IAAI1lC,EAAU4L,EAAW5M,GACzB0mC,GAAA,EAGA,IADA,IAAIjlC,EAAMwC,EAAM5C,OACVI,GAAK,CAGP,IAFAS,EAAe+B,EACfA,EAAQ,KACColB,EAAa5nB,GACdS,GACAA,EAAamnB,GAAY4pjB,MAGjC5pjB,GAAc,EACd5nB,EAAMwC,EAAM5C,MAAA,CAEhBa,EAAe,KACfwkC,GAAA,EAnEJ,SAAyB1lC,GACrB,GAAIE,IAAuB+8B,aAEvB,OAAOA,aAAaj9B,GAGxB,IAAKE,IAAuBD,IAAwBC,IAAuB+8B,aAEvE,OADA/8B,EAAqB+8B,aACdA,aAAaj9B,GAExB,IAEWE,EAAmBF,EAAA,CAC5B,MAAOS,GACL,IAEI,OAAOP,EAAmBI,KAAK,KAAMN,EAAA,CACvC,MAAOS,GAGL,OAAOP,EAAmBI,KAAKZ,KAAMM,EAAA,GApBjD,CAoEoBA,EAAA,EAiBpB,SAASmE,EAAKnE,EAAKS,GACff,KAAKwykB,IAAMlykB,EACXN,KAAKud,MAAQxc,CAAA,CAYjB,SAASyC,IAAA,CA5BTgB,EAAQu7gB,SAAW,SAAUz/gB,GACzB,IAAIS,EAAO,IAAIpB,MAAMe,UAAUC,OAAS,GACxC,GAAID,UAAUC,OAAS,EACnB,IAAK,IAAIc,EAAI,EAAGA,EAAIf,UAAUC,OAAQc,IAClCV,EAAKU,EAAI,GAAKf,UAAUe,GAGhC8B,EAAMe,KAAK,IAAIG,EAAKnE,EAAKS,IACJ,IAAjBwC,EAAM5C,QAAiBqlC,GACvB95B,EAAWtM,EAAA,EASnB6E,EAAKvE,UAAUqykB,IAAM,WACjBvykB,KAAKwykB,IAAI3xkB,MAAM,KAAMb,KAAKud,MAAA,EAE9B/Y,EAAQkoM,MAAQ,UAChBloM,EAAQwjD,SAAA,EACRxjD,EAAQiukB,IAAM,CAAC,EACfjukB,EAAQkukB,KAAO,GACflukB,EAAQ46C,QAAU,GAClB56C,EAAQ63iB,SAAW,CAAC,EAIpB73iB,EAAQ2jE,GAAK3kE,EACbgB,EAAQgwjB,YAAchxjB,EACtBgB,EAAQkwjB,KAAOlxjB,EACfgB,EAAQwsE,IAAMxtE,EACdgB,EAAQ8mI,eAAiB9nI,EACzBgB,EAAQowjB,mBAAqBpxjB,EAC7BgB,EAAQ2ogB,KAAO3pgB,EACfgB,EAAQiwjB,gBAAkBjxjB,EAC1BgB,EAAQmwjB,oBAAsBnxjB,EAE9BgB,EAAQqwjB,UAAY,SAAUv0jB,GAAQ,MAAO,IAE7CkE,EAAQw/jB,QAAU,SAAU1jkB,GACxB,MAAM,IAAIqI,MAAM,qCAGpBnE,EAAQmukB,IAAM,WAAc,MAAO,KACnCnukB,EAAQoukB,MAAQ,SAAUtykB,GACtB,MAAM,IAAIqI,MAAM,mCAEpBnE,EAAQqukB,MAAQ,WAAa,OAAO,sBAAAvykB,EAAAS,EAAAU,GAAA,aCvLpCA,EAAQsgjB,cAAgBzhjB,EAAQ,mBAChCmB,EAAQygjB,eAAiB5hjB,EAAQ,oBAEjCmB,EAAQugjB,eAAiB,SAAyB1hjB,EAAKS,GACrD,OAAOU,EAAQsgjB,cAAczhjB,EAAKS,GAAA,EAAK,EAGzCU,EAAQwgjB,cAAgB,SAAwB3hjB,EAAKS,GACnD,OAAOU,EAAQygjB,eAAe5hjB,EAAKS,GAAA,EAAK,iEAAAT,EAAAS,EAAAU,GAAA,aCR1C,IAAIhB,EAAaH,EAAQ,eACrBE,EAASF,EAAQ,eAAeoN,OAapC,SAASlJ,EAAOlE,GACd,IAAIS,EAAMP,EAAO4pD,YAAY,GAE7B,OADArpD,EAAI0wD,cAAcnxD,EAAG,GACdS,CAAA,CAdTA,EAAO3C,QAAU,SAAUkC,EAAMS,GAI/B,IAHA,IAEIU,EAFA0D,EAAI3E,EAAO6d,MAAM,GACjB9d,EAAI,EAED4E,EAAExE,OAASI,GAChBU,EAAI+C,EAAMjE,KACV4E,EAAI3E,EAAOzB,OAAO,CAACoG,EAAG1E,EAAW,QAAQqH,OAAOxH,GAAMwH,OAAOrG,GAAGwG,WAElE,OAAO9C,EAAEgY,MAAM,EAAGpc,EAAA,wDAAAT,EAAAS,EAAAU,GAAAf,UAAA,WAAAG,MAAAY,EAAAf,UAAA,GAAA+I,OAAA,IAAA8viB,IAAA,oBAAAj5iB,EAAAS,EAAAU,GAAA,aCXpB,IAAIhB,EAAYH,EAAQ,cACpBE,EAAMF,EAAQ,SACdkE,EAAMlE,EAAQ,SACd6E,EAAK7E,EAAQ,SACbC,EAAMD,EAAQ,kBACd4L,EAAa5L,EAAQ,eACrBkB,EAAalB,EAAQ,gBACrBiD,EAASjD,EAAQ,eAAeoN,OAEpC3M,EAAO3C,QAAU,SAAyBkC,EAAYS,EAAKU,GACzD,IAAIukC,EAEFA,EADE1lC,EAAW2pC,QACH3pC,EAAW2pC,QACZxoC,EACC,EAEA,EAGZ,IAKIknB,EALArpB,EAAMmB,EAAUH,GAChBV,EAAIN,EAAIw5iB,QAAQnviB,aACpB,GAAI5I,EAAIJ,OAASf,GAAK,IAAIuF,EAAGpE,GAAKwqiB,IAAIjsiB,EAAIw5iB,UAAY,EACpD,MAAM,IAAInwiB,MAAM,oBAIhBggB,EADElnB,EACID,EAAW,IAAI2D,EAAGpE,GAAMzB,GAExBiB,EAAIQ,EAAKzB,GAEjB,IAAImF,EAAUlB,EAAO8a,MAAMze,EAAI+oB,EAAIhoB,QAEnC,GADAgoB,EAAMplB,EAAOxE,OAAO,CAAC0F,EAASkkB,GAAM/oB,GACpB,IAAZomC,EACF,OAUJ,SAAe1lC,EAAKS,GAClB,IAAIU,EAAInB,EAAIw4iB,QAAQnviB,aAChBlJ,EAAQyL,EAAW,QAAQpE,OAAOvE,EAAO8a,MAAM,IAAIpW,SACnD9C,EAAO1E,EAAME,OACjB,GAAe,IAAXI,EAAI,GACN,MAAM,IAAI4H,MAAM,oBAElB,IAAIpI,EAAaQ,EAAIoc,MAAM,EAAGhY,EAAO,GACjC3D,EAAWT,EAAIoc,MAAMhY,EAAO,GAC5B6gC,EAAOxhC,EAAIjE,EAAYC,EAAIgB,EAAU2D,IACrCwjB,EAAKnkB,EAAIhD,EAAUhB,EAAIwlC,EAAMvkC,EAAI0D,EAAO,IAC5C,GAoCF,SAAkB7E,EAAGS,GACnBT,EAAIiD,EAAO+G,KAAKhK,GAChBS,EAAIwC,EAAO+G,KAAKvJ,GAChB,IAAIU,EAAM,EACNhB,EAAMH,EAAEK,OACRL,EAAEK,SAAWI,EAAEJ,SACjBc,IACAhB,EAAM6K,KAAK05B,IAAI1kC,EAAEK,OAAQI,EAAEJ,SAG7B,IADA,IAAIH,GAAK,IACAA,EAAIC,GACXgB,GAAQnB,EAAEE,GAAKO,EAAEP,GAEnB,OAAOiB,CAAA,CAbT,CApCchB,EAAOkoB,EAAGxL,MAAM,EAAGhY,IAC7B,MAAM,IAAIwD,MAAM,oBAGlB,IADA,IAAIrJ,EAAI6F,EACS,IAAVwjB,EAAGrpB,IACRA,IAEF,GAAgB,IAAZqpB,EAAGrpB,KACL,MAAM,IAAIqJ,MAAM,oBAElB,OAAOggB,EAAGxL,MAAM7d,EAAA,CArBlB,CAVgBA,EAAKqpB,GACZ,GAAgB,IAAZqd,EACT,OAgCJ,SAAgB1lC,EAAKS,EAAKU,GAIxB,IAHA,IAAIhB,EAAKM,EAAIoc,MAAM,EAAG,GAClB3c,EAAI,EACJgE,EAAS,EACO,IAAbzD,EAAIP,MACT,GAAIA,GAAKO,EAAIJ,OAAQ,CACnB6D,IACA,MAGJ,IAAIW,EAAKpE,EAAIoc,MAAM,EAAG3c,EAAI,GAQ1B,IAN4B,SAAvBC,EAAG+O,SAAS,SAAsB/N,GAAoC,SAAvBhB,EAAG+O,SAAS,QAAqB/N,IACnF+C,IAEEW,EAAGxE,OAAS,GACd6D,IAEEA,EACF,MAAM,IAAImE,MAAM,oBAElB,OAAO5H,EAAIoc,MAAM3c,EAAA,CArBnB,CAhCiB,EAAKmoB,EAAKlnB,GAClB,GAAgB,IAAZukC,EACT,OAAOrd,EAEP,MAAM,IAAIhgB,MAAM,uKAAArI,EAAAS,EAAAU,GAAA,aCvCpB,IAAIhB,EAAYH,EAAQ,cACpBE,EAAcF,EAAQ,eACtBkE,EAAalE,EAAQ,eACrB6E,EAAM7E,EAAQ,SACdC,EAAMD,EAAQ,SACd4L,EAAK5L,EAAQ,SACbkB,EAAalB,EAAQ,gBACrBiD,EAAMjD,EAAQ,kBACd0lC,EAAS1lC,EAAQ,eAAeoN,OAEpC3M,EAAO3C,QAAU,SAAwBkC,EAAWS,EAAKU,GACvD,IAAIknB,EAEFA,EADEroB,EAAU2pC,QACF3pC,EAAU2pC,QACXxoC,EACC,EAEA,EAEZ,IACInC,EADAM,EAAMa,EAAUH,GAEpB,GAAgB,IAAZqoB,EACFrpB,EAkBJ,SAAegB,EAAKS,GAClB,IAAIU,EAAInB,EAAIw4iB,QAAQnviB,aAChBlJ,EAAOM,EAAIJ,OACXa,EAAQgD,EAAW,QAAQsD,OAAOk+B,EAAO3nB,MAAM,IAAIpW,SACnD1E,EAAO/B,EAAMb,OACbgoB,EAAQ,EAAIplB,EAChB,GAAI9C,EAAOgB,EAAIknB,EAAQ,EACrB,MAAM,IAAIhgB,MAAM,oBAElB,IAAIrJ,EAAK0mC,EAAO3nB,MAAM5c,EAAIhB,EAAOkoB,EAAQ,GACrC/oB,EAAQ6B,EAAI8B,EAAO,EACnBkB,EAAOjE,EAAY+C,GACnBC,EAAWjD,EAAIylC,EAAOjnC,OAAO,CAACyC,EAAOlC,EAAI0mC,EAAO3nB,MAAM,EAAG,GAAItd,GAAMnB,GAAQuF,EAAIV,EAAM7E,IACrFL,EAAagB,EAAIkE,EAAMU,EAAI3B,EAAUD,IACzC,OAAO,IAAI2I,EAAG85B,EAAOjnC,OAAO,CAACinC,EAAO3nB,MAAM,GAAI9e,EAAYiE,GAAW/B,GAAA,CAdvE,CAlBqB7B,EAAKmB,QACjB,GAAgB,IAAZ4nB,EACTrpB,EAgCJ,SAAgBgB,EAAKS,EAAKU,GACxB,IAKIhB,EALA+D,EAAOzD,EAAIJ,OACXwE,EAAI7E,EAAIw4iB,QAAQnviB,aACpB,GAAInF,EAAOW,EAAI,GACb,MAAM,IAAIwD,MAAM,oBAQlB,OAJElI,EADEgB,EACGukC,EAAO3nB,MAAMlZ,EAAIX,EAAO,EAAG,KAMpC,SAAkBlE,GAMhB,IALA,IAIIS,EAJAU,EAAMukC,EAAOokB,YAAY9pD,GACzBG,EAAI,EACJ+D,EAAQhE,EAAkB,EAANF,GACpB6E,EAAM,EAEH1E,EAAIH,GACL6E,IAAQX,EAAM7D,SAChB6D,EAAQhE,EAAkB,EAANF,GACpB6E,EAAM,IAERpE,EAAMyD,EAAMW,QAEV1D,EAAIhB,KAAOM,GAGf,OAAOU,CAAA,CAhBT,CAJiB0D,EAAIX,EAAO,GAEnB,IAAI0H,EAAG85B,EAAOjnC,OAAO,CAACinC,EAAO17B,KAAK,CAAC,EAAG7I,EAAU,EAAI,IAAKhB,EAAIulC,EAAO3nB,MAAM,GAAItd,GAAMoE,GAAA,CAZ7F,CAhCsBvF,EAAKmB,EAAKU,OACvB,IAAgB,IAAZknB,EAMT,MAAM,IAAIhgB,MAAM,mBAJhB,IADArJ,EAAY,IAAI4M,EAAGnL,IACLwqiB,IAAI3riB,EAAIk5iB,UAAY,EAChC,MAAM,IAAInwiB,MAAM,6BAKpB,OAAIlH,EACK8B,EAAIjE,EAAWM,GAEf4B,EAAWlC,EAAWM,EAAA,mHAAA05iB,YAAA,sCAAAh5iB,EAAAS,EAAAU,GAAA,aCpCjC,IAAIhB,EAAKH,EAAQ,SACbE,EAASF,EAAQ,eAAeoN,OAUpC3M,EAAO3C,QARP,SAAqBkC,EAAWS,GAC9B,OAAOP,EAAO8J,KAAKhK,EAChBwyiB,MAAMryiB,EAAGy0iB,KAAKn0iB,EAAI+3iB,UAClB3E,OAAO,IAAI1ziB,EAAGM,EAAIg4iB,iBAClB9F,UACArpb,UAAA,kDAAAtpH,EAAAS,EAAAU,GAAA,aCRLV,EAAO3C,QAAU,SAAckC,EAAGS,GAGhC,IAFA,IAAIU,EAAMnB,EAAEK,OACRF,GAAK,IACAA,EAAIgB,GACXnB,EAAEG,IAAMM,EAAEN,GAEZ,OAAOH,CAAA,qBAAAA,EAAAS,EAAAU,IAAA,SAAAA,EAAAhB,GCNT,aAcA,IAAID,EAASF,EAAQ,eAAeoN,OAChClJ,EAAS/D,EAAOsJ,QAAUtJ,EAAOjC,SAEjCgG,GAAUA,EAAO7F,gBACnBoC,EAAO3C,QAKT,SAAsBkC,EAAMS,GAE1B,GAAIT,EAjBW,WAiBQ,MAAM,IAAI4pD,WAAW,mCAE5C,IAAIzpD,EAAQD,EAAO4pD,YAAY9pD,GAE/B,GAAIA,EAAO,EACT,GAAIA,EA1BQ,MA4BV,IAAK,IAAI6E,EAAY,EAAGA,EAAY7E,EAAM6E,GA5BhC,MA+BRX,EAAO7F,gBAAgB8B,EAAM0c,MAAMhY,EAAWA,EA/BtC,aAkCVX,EAAO7F,gBAAgB8B,GAI3B,MAAkB,mBAAPM,EACFU,EAAQs+gB,UAAS,WACtBh/gB,EAAG,KAAMN,EAAA,IAINA,CAAA,EA5BPM,EAAO3C,QAVT,WACE,MAAM,IAAIuK,MAAM,qHAAA/H,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,MAAAu7D,SAAA,sCAAAt5D,EAAAS,EAAAU,IAAA,SAAAV,EAAAN,GCXlB,aAEA,SAASD,IACP,MAAM,IAAImI,MAAM,8GAElB,IAAInE,EAAalE,EAAQ,eACrB6E,EAAc7E,EAAQ,eACtBC,EAASiE,EAAWkJ,OACpBxB,EAAmB1H,EAAWslD,WAC9BtoD,EAASf,EAAOsJ,QAAUtJ,EAAOjC,SACjC+E,EAAa+H,KAAKmB,IAAI,EAAG,IAAM,EACnC,SAASu5B,EAAc1lC,EAAQS,GAC7B,GAAsB,iBAAXT,GAAuBA,GAAWA,EAC3C,MAAM,IAAI8D,UAAU,2BAGtB,GAAI9D,EAASiD,GAAcjD,EAAS,EAClC,MAAM,IAAI8D,UAAU,2BAGtB,GAAI9D,EAAS4L,GAAoB5L,EAASS,EACxC,MAAM,IAAImpD,WAAW,uBAIzB,SAASvhC,EAAYroB,EAAMS,EAAQU,GACjC,GAAoB,iBAATnB,GAAqBA,GAASA,EACvC,MAAM,IAAI8D,UAAU,yBAGtB,GAAI9D,EAAOiD,GAAcjD,EAAO,EAC9B,MAAM,IAAI8D,UAAU,yBAGtB,GAAI9D,EAAOS,EAASU,GAAUnB,EAAO4L,EACnC,MAAM,IAAIg+C,WAAW,oBA8BzB,SAAS5qD,EAAYgB,EAAKmB,EAAQhB,EAAMD,GACtC,GAAIO,EAAQinD,QAAS,CACnB,IAAIxjD,EAASlE,EAAImJ,OACblJ,EAAO,IAAI2G,WAAW1C,EAAQ/C,EAAQhB,GAE1C,OADAe,EAAO7C,gBAAgB4B,GACnBC,OACFO,EAAQg/gB,UAAS,WACfv/gB,EAAG,KAAMF,EAAA,IAINA,CAAA,CAET,IAAIE,EAYJ,OAFY2E,EAAY1E,GAClBud,KAAK1d,EAAKmB,GACTnB,EAXL6E,EAAY1E,GAAM,SAAUM,EAAKN,GAC/B,GAAIM,EACF,OAAOP,EAAGO,GAEZN,EAAMud,KAAK1d,EAAKmB,GAChBjB,EAAG,KAAMF,EAAA,IA9CVkB,GAAUA,EAAO7C,kBAAqBoC,EAAQinD,SACjDvmD,EAAQ0gjB,WAMV,SAAqB7hjB,EAAKS,EAAQU,EAAMjB,GACtC,KAAKD,EAAO47C,SAAS77C,IAAUA,aAAeG,EAAOyG,YACnD,MAAM,IAAI9C,UAAU,iDAGtB,GAAsB,mBAAXrD,EACTP,EAAKO,EACLA,EAAS,EACTU,EAAOnB,EAAIK,YACN,GAAoB,mBAATc,EAChBjB,EAAKiB,EACLA,EAAOnB,EAAIK,OAASI,OACf,GAAkB,mBAAPP,EAChB,MAAM,IAAI4D,UAAU,oCAItB,OAFA4hC,EAAajlC,EAAQT,EAAIK,QACzBgoB,EAAWlnB,EAAMV,EAAQT,EAAIK,QACtBrB,EAAWgB,EAAKS,EAAQU,EAAMjB,EAAA,EAtBrCiB,EAAQ2gjB,eAoDV,SAAyB9hjB,EAAKS,EAAQU,GAIpC,QAJoC,IACzBV,IACTA,EAAS,KAENR,EAAO47C,SAAS77C,IAAUA,aAAeG,EAAOyG,YACnD,MAAM,IAAI9C,UAAU,iDAStB,OANA4hC,EAAajlC,EAAQT,EAAIK,aAAA,IAErBc,IAAoBA,EAAOnB,EAAIK,OAASI,GAE5C4nB,EAAWlnB,EAAMV,EAAQT,EAAIK,QAEtBrB,EAAWgB,EAAKS,EAAQU,EAAA,IAhE/BA,EAAQ0gjB,WAAa3hjB,EACrBiB,EAAQ2gjB,eAAiB5hjB,EAAA,GAAAI,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,MAAAu7D,SAAA,IAAA0/e,YAAA,sCAAAh5iB,EAAAS,EAAAU,GC3C3B,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CAIA,IAAIE,EAAQ,CAAC,EAEb,SAASgE,EAAgBlE,EAAMS,EAASU,GACjCA,IACHA,EAAOkH,OAWT,IAAIlI,EAEJ,SAAUH,GAnBZ,IAAwBmB,EAAUhB,EAsB9B,SAASD,EAAUiB,EAAMhB,EAAMD,GAC7B,OAAOF,EAAMM,KAAKZ,KAdtB,SAAoBM,EAAMmB,EAAMhB,GAC9B,MAAuB,iBAAZM,EACFA,EAEAA,EAAQT,EAAMmB,EAAMhB,EAAA,CAJ/B,CAcuCgB,EAAMhB,EAAMD,KAAUR,IAAA,CAG3D,OA1B8BS,EAoBJH,GApBNmB,EAoBLjB,GApBsCN,UAAYV,OAAOW,OAAOM,EAAWP,WAAYuB,EAASvB,UAAUD,YAAcwB,EAAUA,EAAS/B,UAAYe,EA0B/JD,CAAA,CAPT,CAQEiB,GAEFhB,EAAUP,UAAU6G,KAAOtF,EAAKsF,KAChCtG,EAAUP,UAAUqyC,KAAOjyC,EAC3BE,EAAMF,GAAQG,CAAA,CAIhB,SAAS0E,EAAM7E,EAAUS,GACvB,GAAIpB,MAAMkoB,QAAQvnB,GAAW,CAC3B,IAAImB,EAAMnB,EAASK,OAKnB,OAJAL,EAAWA,EAASzB,KAAI,SAAUyB,GAChC,OAAO6O,OAAO7O,EAAA,IAGZmB,EAAM,EACD,UAAU1C,OAAOgC,EAAO,KAAKhC,OAAOuB,EAAS6c,MAAM,EAAG1b,EAAM,GAAGgO,KAAK,MAAO,SAAWnP,EAASmB,EAAM,GAC3F,IAARA,EACF,UAAU1C,OAAOgC,EAAO,KAAKhC,OAAOuB,EAAS,GAAI,QAAQvB,OAAOuB,EAAS,IAEzE,MAAMvB,OAAOgC,EAAO,KAAKhC,OAAOuB,EAAS,IAGlD,MAAO,MAAMvB,OAAOgC,EAAO,KAAKhC,OAAOoQ,OAAO7O,GAAA,CA+BlDkE,EAAgB,yBAAyB,SAAUlE,EAAMS,GACvD,MAAO,cAAgBA,EAAQ,4BAA8BT,EAAO,MACnE8D,WACHI,EAAgB,wBAAwB,SAAUlE,EAAMS,EAAUU,GAEhE,IAAIjB,EA/BmBgE,EAAQjE,EAwC3B2L,EAEJ,GATwB,iBAAbnL,IAjCYyD,EAiCkC,OAAVzD,EAhCpCic,QAAQzc,GAAOA,EAAM,EAAI,GAAKA,EAAKiE,EAAO7D,UAAY6D,IAiC/DhE,EAAa,cACbO,EAAWA,EAASsZ,QAAQ,QAAS,KAErC7Z,EAAa,UAhCjB,SAAkBF,EAAKS,EAAQU,GAK7B,gBAJIA,GAA0BA,EAAWnB,EAAIK,UAC3Cc,EAAWnB,EAAIK,QAGVL,EAAIolC,UAAUjkC,EAAWV,EAAOJ,OAAQc,KAAcV,CAAA,CAL/D,CAqCeT,EAAM,aAEjB4L,EAAM,OAAOnN,OAAOuB,EAAM,KAAKvB,OAAOyB,EAAY,KAAKzB,OAAOoG,EAAMpE,EAAU,aACzE,CACL,IAAIS,EAhCR,SAAkBlB,EAAKS,EAAQU,GAK7B,MAJqB,iBAAVA,IACTA,EAAQ,KAGNA,EAAQV,EAAOJ,OAASL,EAAIK,UAGS,IAAhCL,EAAIU,QAAQD,EAAQU,EAAA,CAR/B,CAgCwBnB,EAAM,KAAO,WAAa,WAC9C4L,EAAM,QAASnN,OAAOuB,EAAM,MAAOvB,OAAOyC,EAAM,KAAKzC,OAAOyB,EAAY,KAAKzB,OAAOoG,EAAMpE,EAAU,SAItG,OADAmL,EAAO,mBAAmBnN,OAAnB0B,EAAiCgB,GAAA,GAEvC2C,WACHI,EAAgB,4BAA6B,2BAC7CA,EAAgB,8BAA8B,SAAUlE,GACtD,MAAO,OAASA,EAAO,gCAEzBkE,EAAgB,6BAA8B,mBAC9CA,EAAgB,wBAAwB,SAAUlE,GAChD,MAAO,eAAiBA,EAAO,mCAEjCkE,EAAgB,wBAAyB,kCACzCA,EAAgB,yBAA0B,6BAC1CA,EAAgB,6BAA8B,mBAC9CA,EAAgB,yBAA0B,sCAAuCJ,WACjFI,EAAgB,wBAAwB,SAAUlE,GAChD,MAAO,qBAAuBA,CAAA,GAC7B8D,WACHI,EAAgB,qCAAsC,oCACtDzD,EAAO3C,QAAQ00kB,MAAQtykB,CAAA,oBAAAF,EAAAS,EAAAU,IAAA,SAAAA,GCtGvB,aAGA,IAAIhB,EAAajB,OAAOgR,MAAQ,SAAUlQ,GACxC,IAAIS,EAAO,GAEX,IAAK,IAAIU,KAAOnB,EACdS,EAAKuD,KAAK7C,GAGZ,OAAOV,CAAA,EAKTA,EAAO3C,QAAUoD,EAEjB,IAAIhB,EAAWF,EAAQ,sBAEnBkE,EAAWlE,EAAQ,sBAEvBA,EAAQ,WAARA,CAAoBkB,EAAQhB,GAM1B,IAFA,IAAI2E,EAAO1E,EAAW+D,EAAStE,WAEtBK,EAAI,EAAGA,EAAI4E,EAAKxE,OAAQJ,IAAK,CACpC,IAAI2L,EAAS/G,EAAK5E,GACbiB,EAAOtB,UAAUgM,KAAS1K,EAAOtB,UAAUgM,GAAU1H,EAAStE,UAAUgM,GAAA,CAIjF,SAAS1K,EAAOlB,GACd,KAAMN,gBAAgBwB,GAAS,OAAO,IAAIA,EAAOlB,GACjDE,EAASI,KAAKZ,KAAMM,GACpBkE,EAAS5D,KAAKZ,KAAMM,GACpBN,KAAK+ykB,eAAA,EAEDzykB,KAAA,IACEA,EAAQ0ykB,WAAoBhzkB,KAAKgzkB,UAAA,IAAW,IAC5C1ykB,EAAQmnD,WAAoBznD,KAAKynD,UAAA,IAAW,IAE5CnnD,EAAQyykB,gBACV/ykB,KAAK+ykB,eAAA,EACL/ykB,KAAK00jB,KAAK,MAAOnxjB,IAAA,CAiCvB,SAASA,IAEHvD,KAAKizkB,eAAepN,OAGxBpkkB,EAAQs+gB,SAAS/5e,EAAShmC,KAAA,CAG5B,SAASgmC,EAAQ1lC,GACfA,EAAK4c,KAAA,CArCP1d,OAAOqC,eAAeL,EAAOtB,UAAW,wBAAyB,CAI/D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,eAAeC,aAAA,IAG/B1zkB,OAAOqC,eAAeL,EAAOtB,UAAW,iBAAkB,CAIxD2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,gBAAkBjzkB,KAAKizkB,eAAeE,WAAA,IAGtD3zkB,OAAOqC,eAAeL,EAAOtB,UAAW,iBAAkB,CAIxD2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,eAAetykB,MAAA,IAgB/BnB,OAAOqC,eAAeL,EAAOtB,UAAW,YAAa,CAInD2J,YAAA,EACAjD,IAAK,WACH,gBAAI5G,KAAKozkB,qBAAA,IAAgCpzkB,KAAKizkB,gBAIvCjzkB,KAAKozkB,eAAeC,WAAarzkB,KAAKizkB,eAAeI,SAAA,EAE9DvskB,IAAK,SAAaxG,QAAA,IAGZN,KAAKozkB,qBAAA,IAAgCpzkB,KAAKizkB,iBAM9CjzkB,KAAKozkB,eAAeC,UAAY/ykB,EAChCN,KAAKizkB,eAAeI,UAAY/ykB,EAAA,MAAAM,KAAA,KAAAN,EAAA,iEAAAs5D,SAAA,IAAA6ld,SAAA,oBAAAn/gB,EAAAS,EAAAU,GCjHpC,aAEAV,EAAO3C,QAAUoC,EAEjB,IAAIC,EAAYH,EAAQ,uBAIxB,SAASE,EAAYF,GACnB,KAAMN,gBAAgBQ,GAAc,OAAO,IAAIA,EAAYF,GAC3DG,EAAUG,KAAKZ,KAAMM,EAAA,CAJvBA,EAAQ,WAARA,CAAoBE,EAAaC,GAOjCD,EAAYN,UAAU67iB,WAAa,SAAUz7iB,EAAOS,EAAUU,GAC5DA,EAAG,KAAMnB,EAAA,8BAAAm/gB,SAAA,oBAAAn/gB,EAAAS,EAAAU,IAAA,SAAAA,EAAAhB,GCjBX,aAKA,IAAID,EAHJO,EAAO3C,QAAU+1I,EAMjBA,EAASm/b,cAAgBtnZ,EAGhB1rL,EAAQ,UAAU2ihB,aAA3B,IA8BIzhhB,EA5BAgD,EAAkB,SAAyBlE,EAASS,GACtD,OAAOT,EAAQu0jB,UAAU9zjB,GAAMJ,MAAA,EAO7BwE,EAAS7E,EAAQ,6BAIjBC,EAASD,EAAQ,UAAUoN,OAE3BxB,EAAgBzL,EAAOyG,YAAc,WAAa,EAYlD3D,EAAYjD,EAAQ,QAKtBkB,EADE+B,GAAaA,EAAUgwkB,SACjBhwkB,EAAUgwkB,SAAS,UAEnB,aAKV,IAcIvtiB,EACArd,EACArpB,EAhBAM,EAAaU,EAAQ,kCAErBmE,EAAcnE,EAAQ,8BAGtBkD,EADWlD,EAAQ,4BACSkzkB,iBAE5Bj0kB,EAAiBe,EAAQ,aAAawykB,MACtC5ukB,EAAuB3E,EAAek0kB,qBACtChwkB,EAA4BlE,EAAem0kB,0BAC3Cnwe,EAA6BhkG,EAAeo0kB,2BAC5CjwkB,EAAqCnE,EAAeq0kB,mCAOxDtzkB,EAAQ,WAARA,CAAoB6zI,EAAUhvI,GAE9B,IAAIT,EAAiBD,EAAYovkB,eAC7BjzjB,EAAe,CAAC,QAAS,QAAS,UAAW,QAAS,UAa1D,SAASorK,EAAcjrL,EAASU,EAAQhB,GACtCD,EAASA,GAAUF,EAAQ,oBAC3BS,EAAUA,GAAW,CAAC,EAME,kBAAbN,IAAwBA,EAAWgB,aAAkBjB,GAGhER,KAAKq9hB,aAAet8hB,EAAQs8hB,WACxB58hB,IAAUT,KAAKq9hB,WAAar9hB,KAAKq9hB,cAAgBt8hB,EAAQq6hB,oBAG7Dp7hB,KAAKkzkB,cAAgB1vkB,EAAiBxD,KAAMe,EAAS,wBAAyBN,GAI9ET,KAAKyJ,OAAS,IAAI7J,EAClBI,KAAKW,OAAS,EACdX,KAAKu/gB,MAAQ,KACbv/gB,KAAK8zkB,WAAa,EAClB9zkB,KAAK+zkB,QAAU,KACf/zkB,KAAK6lkB,OAAA,EACL7lkB,KAAKkgiB,YAAA,EACLlgiB,KAAKg0kB,SAAA,EAKLh0kB,KAAKi0kB,MAAA,EAGLj0kB,KAAKk0kB,cAAA,EACLl0kB,KAAKm0kB,iBAAA,EACLn0kB,KAAKo0kB,mBAAA,EACLp0kB,KAAKq0kB,iBAAA,EACLr0kB,KAAKw/gB,QAAA,EAELx/gB,KAAKs0kB,WAAA,IAAYvzkB,EAAQuzkB,UAEzBt0kB,KAAKu0kB,cAAgBxzkB,EAAQwzkB,YAE7Bv0kB,KAAKqzkB,WAAA,EAILrzkB,KAAKw0kB,gBAAkBzzkB,EAAQyzkB,iBAAmB,OAElDx0kB,KAAKy0kB,WAAa,EAElBz0kB,KAAK00kB,aAAA,EACL10kB,KAAKugiB,QAAU,KACfvgiB,KAAKgI,SAAW,KAEZjH,EAAQiH,WACLg+B,IAAeA,EAAgB1lC,EAAQ,mBAAmBkgiB,eAC/DxgiB,KAAKugiB,QAAU,IAAIv6f,EAAcjlC,EAAQiH,UACzChI,KAAKgI,SAAWjH,EAAQiH,SAAA,CAI5B,SAASmsI,EAASpzI,GAEhB,GADAP,EAASA,GAAUF,EAAQ,sBACrBN,gBAAgBm0I,GAAW,OAAO,IAAIA,EAASpzI,GAGrD,IAAIU,EAAWzB,gBAAgBQ,EAC/BR,KAAKozkB,eAAiB,IAAIpnZ,EAAcjrL,EAASf,KAAMyB,GAEvDzB,KAAKgzkB,UAAA,EAEDjykB,IAC0B,mBAAjBA,EAAQ41C,OAAqB32C,KAAKi9jB,MAAQl8jB,EAAQ41C,MAC9B,mBAApB51C,EAAQ6T,UAAwB5U,KAAK20kB,SAAW5zkB,EAAQ6T,UAGrEzP,EAAOvE,KAAKZ,KAAA,CAiEd,SAASoF,EAAiB9E,EAAQS,EAAOU,EAAUhB,EAAYD,GAC7DgB,EAAM,mBAAoBT,GAC1B,IAMMyD,EANFW,EAAQ7E,EAAO8ykB,eAEnB,GAAc,OAAVrykB,EACFoE,EAAM6ukB,SAAA,EAyOV,SAAoB1zkB,EAAQS,GAE1B,GADAS,EAAM,eACFT,EAAM8kkB,MAAV,CAEA,GAAI9kkB,EAAMw/hB,QAAS,CACjB,IAAI9+hB,EAAQV,EAAMw/hB,QAAQrjhB,MAEtBzb,GAASA,EAAMd,SACjBI,EAAM0I,OAAOnF,KAAK7C,GAClBV,EAAMJ,QAAUI,EAAMs8hB,WAAa,EAAI57hB,EAAMd,OAAA,CAIjDI,EAAM8kkB,OAAA,EAEF9kkB,EAAMkzkB,KAIR1ygB,EAAajhE,IAGbS,EAAMmzkB,cAAA,EAEDnzkB,EAAMozkB,kBACTpzkB,EAAMozkB,iBAAA,EACNz+gB,EAAcp1D,IAxBK,CAwBL,CA1BpB,CAxOeA,EAAQ6E,QAKnB,GAFK3E,IAAgBgE,EAmDzB,SAAsBlE,EAAOS,GAC3B,IAAIU,EAhQiBhB,EAsQrB,OAtQqBA,EAkQFM,EAjQZR,EAAO47C,SAAS17C,IAAQA,aAAeyL,GAiQA,iBAAVnL,QAAA,IAAsBA,GAAwBT,EAAM+8hB,aACtF57hB,EAAK,IAAIyC,EAAqB,QAAS,CAAC,SAAU,SAAU,cAAenD,IAGtEU,CAAA,CAPT,CAnD2C0D,EAAOpE,IAE1CyD,EACFE,EAAepE,EAAQkE,QAClB,GAAIW,EAAMk4hB,YAAct8hB,GAASA,EAAMJ,OAAS,EAKrD,GAJqB,iBAAVI,GAAuBoE,EAAMk4hB,YAAc79hB,OAAOogD,eAAe7+C,KAAWR,EAAOL,YAC5Fa,EAtNR,SAA6BT,GAC3B,OAAOC,EAAO+J,KAAKhK,EAAA,CADrB,CAsNoCS,IAG1BN,EACE0E,EAAM+6hB,WAAYx7hB,EAAepE,EAAQ,IAAIoD,GAA2CooL,EAASxrL,EAAQ6E,EAAOpE,GAAA,QAC/G,GAAIoE,EAAM0gkB,MACfnhkB,EAAepE,EAAQ,IAAImD,OACtB,IAAI0B,EAAMkukB,UACf,OAAO,EAEPlukB,EAAM6ukB,SAAA,EAEF7ukB,EAAMo7hB,UAAY9+hB,GACpBV,EAAQoE,EAAMo7hB,QAAQ/if,MAAMz8C,GACxBoE,EAAMk4hB,YAA+B,IAAjBt8hB,EAAMJ,OAAcmrL,EAASxrL,EAAQ6E,EAAOpE,GAAA,GAAmByB,EAAclC,EAAQ6E,IAE7G2mL,EAASxrL,EAAQ6E,EAAOpE,GAAA,EAAO,MAGzBN,IACV0E,EAAM6ukB,SAAA,EACNxxkB,EAAclC,EAAQ6E,IAO1B,OAAQA,EAAM0gkB,QAAU1gkB,EAAMxE,OAASwE,EAAM+tkB,eAAkC,IAAjB/tkB,EAAMxE,OAAA,CAGtE,SAASmrL,EAASxrL,EAAQS,EAAOU,EAAOhB,GAClCM,EAAMgzkB,SAA4B,IAAjBhzkB,EAAMJ,SAAiBI,EAAMkzkB,MAChDlzkB,EAAM0zkB,WAAa,EACnBn0kB,EAAO6sgB,KAAK,OAAQ1rgB,KAGpBV,EAAMJ,QAAUI,EAAMs8hB,WAAa,EAAI57hB,EAAMd,OACzCF,EAAYM,EAAM0I,OAAOkwC,QAAQl4C,GAAYV,EAAM0I,OAAOnF,KAAK7C,GAC/DV,EAAMmzkB,cAAc3ygB,EAAajhE,IAGvCkC,EAAclC,EAAQS,EAAA,CAgExB,SAASuxhB,EAAchyhB,EAAGS,GACxB,OAAIT,GAAK,GAAsB,IAAjBS,EAAMJ,QAAgBI,EAAM8kkB,MAAc,EACpD9kkB,EAAMs8hB,WAAmB,EAEzB/8hB,GAAMA,EAEJS,EAAMgzkB,SAAWhzkB,EAAMJ,OAAeI,EAAM0I,OAAOwY,KAAKla,KAAKpH,OAAmBI,EAAMJ,QAIxFL,EAAIS,EAAMmykB,gBAAenykB,EAAMmykB,cA/BrC,SAAiC5ykB,GAgB/B,OAfIA,GAHQ,WAKVA,EALU,YASVA,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,KAGKA,CAAA,CAhBT,CA+B6EA,IACvEA,GAAKS,EAAMJ,OAAeL,EAEzBS,EAAM8kkB,MAKJ9kkB,EAAMJ,QAJXI,EAAMmzkB,cAAA,EACC,IAwIX,SAAS3ygB,EAAajhE,GACpB,IAAIS,EAAQT,EAAO8ykB,eACnB5xkB,EAAM,eAAgBT,EAAMmzkB,aAAcnzkB,EAAMozkB,iBAChDpzkB,EAAMmzkB,cAAA,EAEDnzkB,EAAMozkB,kBACT3ykB,EAAM,eAAgBT,EAAMgzkB,SAC5BhzkB,EAAMozkB,iBAAA,EACN1ykB,EAAQs+gB,SAASrqd,EAAep1D,GAAA,CAIpC,SAASo1D,EAAcp1D,GACrB,IAAIS,EAAQT,EAAO8ykB,eACnB5xkB,EAAM,gBAAiBT,EAAMsykB,UAAWtykB,EAAMJ,OAAQI,EAAM8kkB,OAEvD9kkB,EAAMsykB,YAActykB,EAAMJ,SAAUI,EAAM8kkB,QAC7CvlkB,EAAO6sgB,KAAK,YACZpsgB,EAAMozkB,iBAAA,GASRpzkB,EAAMmzkB,cAAgBnzkB,EAAMgzkB,UAAYhzkB,EAAM8kkB,OAAS9kkB,EAAMJ,QAAUI,EAAMmykB,cAC7EzgD,EAAKnyhB,EAAA,CASP,SAASkC,EAAclC,EAAQS,GACxBA,EAAM2zkB,cACT3zkB,EAAM2zkB,aAAA,EACNjzkB,EAAQs+gB,SAASjod,EAAgBx3D,EAAQS,GAAA,CAI7C,SAAS+2D,EAAex3D,EAAQS,GAwB9B,MAAQA,EAAMizkB,UAAYjzkB,EAAM8kkB,QAAU9kkB,EAAMJ,OAASI,EAAMmykB,eAAiBnykB,EAAMgzkB,SAA4B,IAAjBhzkB,EAAMJ,SAAe,CACpH,IAAIc,EAAMV,EAAMJ,OAGhB,GAFAa,EAAM,wBACNlB,EAAOq2C,KAAK,GACRl1C,IAAQV,EAAMJ,OAChB,MAGJI,EAAM2zkB,aAAA,CAAc,CA6QtB,SAAS1lF,EAAwB1uf,GAC/B,IAAIS,EAAQT,EAAK8ykB,eACjBrykB,EAAMqzkB,kBAAoB9zkB,EAAKy0jB,cAAc,YAAc,EAEvDh0jB,EAAMszkB,kBAAoBtzkB,EAAMy+gB,OAGlCz+gB,EAAMgzkB,SAAA,EACGzzkB,EAAKy0jB,cAAc,QAAU,GACtCz0jB,EAAKoF,QAAA,CAIT,SAAS6shB,EAAiBjyhB,GACxBkB,EAAM,4BACNlB,EAAKq2C,KAAK,GA4BZ,SAAS67e,EAAQlyhB,EAAQS,GACvBS,EAAM,SAAUT,EAAMizkB,SAEjBjzkB,EAAMizkB,SACT1zkB,EAAOq2C,KAAK,GAGd51C,EAAMszkB,iBAAA,EACN/zkB,EAAO6sgB,KAAK,UACZslB,EAAKnyhB,GACDS,EAAMgzkB,UAAYhzkB,EAAMizkB,SAAS1zkB,EAAOq2C,KAAK,GAgBnD,SAAS87e,EAAKnyhB,GACZ,IAAIS,EAAQT,EAAO8ykB,eAGnB,IAFA5xkB,EAAM,OAAQT,EAAMgzkB,SAEbhzkB,EAAMgzkB,SAA6B,OAAlBzzkB,EAAOq2C,SAAA,CA4HjC,SAAS+7e,EAASpyhB,EAAGS,GAEnB,OAAqB,IAAjBA,EAAMJ,OAAqB,MAE3BI,EAAMs8hB,WAAY57hB,EAAMV,EAAM0I,OAAO5D,SAAkBvF,GAAKA,GAAKS,EAAMJ,QAEtDc,EAAfV,EAAMw/hB,QAAex/hB,EAAM0I,OAAOgG,KAAK,IAAqC,IAAxB1O,EAAM0I,OAAO9I,OAAoBI,EAAM0I,OAAOimE,QAAmB3uE,EAAM0I,OAAO1K,OAAOgC,EAAMJ,QACnJI,EAAM0I,OAAO+zB,SAGb/7B,EAAMV,EAAM0I,OAAOmrkB,QAAQt0kB,EAAGS,EAAMw/hB,SAE/B9+hB,GATP,IAAIA,CAAA,CAYN,SAASi8D,EAAYp9D,GACnB,IAAIS,EAAQT,EAAO8ykB,eACnB5xkB,EAAM,cAAeT,EAAMm/hB,YAEtBn/hB,EAAMm/hB,aACTn/hB,EAAM8kkB,OAAA,EACNpkkB,EAAQs+gB,SAASn0V,EAAe7qL,EAAOT,GAAA,CAI3C,SAASsrL,EAActrL,EAAOS,GAG5B,GAFAS,EAAM,gBAAiBlB,EAAM4/hB,WAAY5/hB,EAAMK,SAE1CL,EAAM4/hB,YAA+B,IAAjB5/hB,EAAMK,SAC7BL,EAAM4/hB,YAAA,EACNn/hB,EAAOiykB,UAAA,EACPjykB,EAAOosgB,KAAK,OAER7sgB,EAAMi0kB,aAAa,CAGrB,IAAI9ykB,EAASV,EAAOkykB,iBAEfxxkB,GAAUA,EAAO8ykB,aAAe9ykB,EAAOkJ,WAC1C5J,EAAO6T,SAAA,EAgBf,SAASiM,EAAQvgB,EAAIS,GACnB,IAAK,IAAIU,EAAI,EAAGhB,EAAIH,EAAGK,OAAQc,EAAIhB,EAAGgB,IACpC,GAAInB,EAAGmB,KAAOV,EAAG,OAAOU,EAG1B,OAAQ,EAx6BVjC,OAAOqC,eAAesyI,EAASj0I,UAAW,YAAa,CAIrD2J,YAAA,EACAjD,IAAK,WACH,gBAAI5G,KAAKozkB,gBAIFpzkB,KAAKozkB,eAAeC,SAAA,EAE7BvskB,IAAK,SAAaxG,GAGXN,KAAKozkB,iBAMVpzkB,KAAKozkB,eAAeC,UAAY/ykB,EAAA,IAGpC6zI,EAASj0I,UAAU0U,QAAUnQ,EAAYmQ,QACzCu/H,EAASj0I,UAAU20kB,WAAapwkB,EAAYqwkB,UAE5C3gc,EAASj0I,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GAC3CA,EAAGT,EAAA,EAOL6zI,EAASj0I,UAAUoE,KAAO,SAAUhE,EAAOS,GACzC,IACIU,EADAhB,EAAQT,KAAKozkB,eAkBjB,OAfK3ykB,EAAM48hB,WAYT57hB,GAAA,EAXqB,iBAAVnB,KACTS,EAAWA,GAAYN,EAAM+zkB,mBAEZ/zkB,EAAMuH,WACrB1H,EAAQC,EAAO+J,KAAKhK,EAAOS,GAC3BA,EAAW,IAGbU,GAAA,GAMG2D,EAAiBpF,KAAMM,EAAOS,GAAA,EAAiBU,EAAA,EAIxD0yI,EAASj0I,UAAUy5C,QAAU,SAAUr5C,GACrC,OAAO8E,EAAiBpF,KAAMM,EAAO,MAAM,KAAM,EAyEnD6zI,EAASj0I,UAAUoghB,SAAW,WAC5B,OAAO,IAAAtghB,KAAKozkB,eAAeW,OAAA,EAI7B5/b,EAASj0I,UAAUkghB,YAAc,SAAUr/gB,GACpCilC,IAAeA,EAAgB1lC,EAAQ,mBAAmBkgiB,eAC/D,IAAI/+hB,EAAU,IAAIukC,EAAcjlC,GAChCf,KAAKozkB,eAAe7yC,QAAU9+hB,EAE9BzB,KAAKozkB,eAAeprkB,SAAWhI,KAAKozkB,eAAe7yC,QAAQv4hB,SAK3D,IAHA,IAAIvH,EAAIT,KAAKozkB,eAAe3pkB,OAAOwY,KAC/BzhB,EAAU,GAED,OAANC,GACLD,GAAWiB,EAAQ+7C,MAAM/8C,EAAEsH,MAC3BtH,EAAIA,EAAEuC,KAOR,OAJAhD,KAAKozkB,eAAe3pkB,OAAO+zB,QAEX,KAAZh9B,GAAgBR,KAAKozkB,eAAe3pkB,OAAOnF,KAAK9D,GACpDR,KAAKozkB,eAAezykB,OAASH,EAAQG,OAC9BX,IAAA,EAiDTm0I,EAASj0I,UAAUy2C,KAAO,SAAUr2C,GAClCkB,EAAM,OAAQlB,GACdA,EAAIilC,SAASjlC,EAAG,IAChB,IAAIS,EAAQf,KAAKozkB,eACb3xkB,EAAQnB,EAKZ,GAJU,IAANA,IAASS,EAAMozkB,iBAAA,GAIT,IAAN7zkB,GAAWS,EAAMmzkB,gBAA0C,IAAxBnzkB,EAAMmykB,cAAsBnykB,EAAMJ,QAAUI,EAAMmykB,cAAgBnykB,EAAMJ,OAAS,IAAMI,EAAM8kkB,OAGlI,OAFArkkB,EAAM,qBAAsBT,EAAMJ,OAAQI,EAAM8kkB,OAC3B,IAAjB9kkB,EAAMJ,QAAgBI,EAAM8kkB,MAAOnogB,EAAY19D,MAAWuhE,EAAavhE,MACpE,KAKT,GAAU,KAFVM,EAAIgyhB,EAAchyhB,EAAGS,KAENA,EAAM8kkB,MAEnB,OADqB,IAAjB9kkB,EAAMJ,QAAc+8D,EAAY19D,MAC7B,KAyBT,IA4BIS,EA5BAD,EAASO,EAAMmzkB,aAgDnB,OA/CA1ykB,EAAM,gBAAiBhB,IAEF,IAAjBO,EAAMJ,QAAgBI,EAAMJ,OAASL,EAAIS,EAAMmykB,gBAEjD1xkB,EAAM,6BADNhB,GAAA,GAMEO,EAAM8kkB,OAAS9kkB,EAAMizkB,QAEvBxykB,EAAM,mBADNhB,GAAA,GAESA,IACTgB,EAAM,WACNT,EAAMizkB,SAAA,EACNjzkB,EAAMkzkB,MAAA,EAEe,IAAjBlzkB,EAAMJ,SAAcI,EAAMmzkB,cAAA,GAE9Bl0kB,KAAKi9jB,MAAMl8jB,EAAMmykB,eAEjBnykB,EAAMkzkB,MAAA,EAGDlzkB,EAAMizkB,UAAS1zkB,EAAIgyhB,EAAc7whB,EAAOV,KAMnC,QAFDN,EAAPH,EAAI,EAASoyhB,EAASpyhB,EAAGS,GAAkB,OAG7CA,EAAMmzkB,aAAenzkB,EAAMJ,QAAUI,EAAMmykB,cAC3C5ykB,EAAI,IAEJS,EAAMJ,QAAUL,EAChBS,EAAM0zkB,WAAa,GAGA,IAAjB1zkB,EAAMJ,SAGHI,EAAM8kkB,QAAO9kkB,EAAMmzkB,cAAA,GAEpBzykB,IAAUnB,GAAKS,EAAM8kkB,OAAOnogB,EAAY19D,OAGlC,OAARS,GAAcT,KAAKmtgB,KAAK,OAAQ1sgB,GAC7BA,CAAA,EAwHT0zI,EAASj0I,UAAU+8jB,MAAQ,SAAU38jB,GACnCoE,EAAe1E,KAAM,IAAIujG,EAA2B,aAGtD4wC,EAASj0I,UAAU2/C,KAAO,SAAUv/C,EAAMS,GACxC,IAAIN,EAAMT,KACNQ,EAAQR,KAAKozkB,eAEjB,OAAQ5ykB,EAAMszkB,YACZ,KAAK,EACHtzkB,EAAM++gB,MAAQj/gB,EACd,MAEF,KAAK,EACHE,EAAM++gB,MAAQ,CAAC/+gB,EAAM++gB,MAAOj/gB,GAC5B,MAEF,QACEE,EAAM++gB,MAAMj7gB,KAAKhE,GAIrBE,EAAMszkB,YAAc,EACpBtykB,EAAM,wBAAyBhB,EAAMszkB,WAAY/ykB,GACjD,IACIoE,EADUpE,IAAA,IAAYA,EAASmc,KAAkB5c,IAASmB,EAAQszkB,QAAUz0kB,IAASmB,EAAQuzkB,OACrExxkB,EAAR0I,EAIpB,SAAS3L,EAASQ,EAAUU,GAC1BD,EAAM,YAEFT,IAAaN,GACXgB,IAAA,IAAcA,EAAWwzkB,aAC3BxzkB,EAAWwzkB,YAAA,EAoBfzzkB,EAAM,WAENlB,EAAKgrI,eAAe,QAAS1rI,GAC7BU,EAAKgrI,eAAe,SAAU7mI,GAC9BnE,EAAKgrI,eAAe,QAAS/nI,GAC7BjD,EAAKgrI,eAAe,QAAShsI,GAC7BgB,EAAKgrI,eAAe,SAAU/qI,GAC9BE,EAAI6qI,eAAe,MAAOp/H,GAC1BzL,EAAI6qI,eAAe,MAAO9nI,GAC1B/C,EAAI6qI,eAAe,OAAQ3iH,GAC3Bqd,GAAA,GAMIxlC,EAAMi0kB,YAAgBn0kB,EAAK2ykB,iBAAkB3ykB,EAAK2ykB,eAAeiC,WAAY3xkB,IAAA,CA9BnF,SAAS2I,IACP1K,EAAM,SACNlB,EAAK4c,KAAA,CAhBH1c,EAAM0/hB,WAAYz+hB,EAAQs+gB,SAAS56gB,GAAY1E,EAAIi0jB,KAAK,MAAOvvjB,GACnE7E,EAAK6nE,GAAG,SAAU5nE,GAsBlB,IAAIgD,EAwFN,SAAqBjD,GACnB,OAAO,WACL,IAAIS,EAAQT,EAAI8ykB,eAChB5xkB,EAAM,cAAeT,EAAM0zkB,YACvB1zkB,EAAM0zkB,YAAY1zkB,EAAM0zkB,aAEH,IAArB1zkB,EAAM0zkB,YAAoBjwkB,EAAgBlE,EAAK,UACjDS,EAAMgzkB,SAAA,EACNthD,EAAKnyhB,GAAA,EARX,CAxF4BG,GAC1BH,EAAK6nE,GAAG,QAAS5kE,GACjB,IAAIyiC,GAAA,EAwBJ,SAASrd,EAAO5nB,GACdS,EAAM,UACN,IAAIC,EAAMnB,EAAKk9C,MAAMz8C,GACrBS,EAAM,aAAcC,IAAA,IAEhBA,KAKwB,IAArBjB,EAAMszkB,YAAoBtzkB,EAAM++gB,QAAUj/gB,GAAQE,EAAMszkB,WAAa,IAAqC,IAAhCjzjB,EAAQrgB,EAAM++gB,MAAOj/gB,MAAkB0lC,IACpHxkC,EAAM,8BAA+BhB,EAAMi0kB,YAC3Cj0kB,EAAMi0kB,cAGRh0kB,EAAI4/gB,QAAA,CAMR,SAAS/ghB,EAAQyB,GACfS,EAAM,UAAWT,GACjByC,IACAlD,EAAKgrI,eAAe,QAAShsI,GACU,IAAnCkF,EAAgBlE,EAAM,UAAgBoE,EAAepE,EAAMS,EAAA,CAMjE,SAASnB,IACPU,EAAKgrI,eAAe,SAAU7mI,GAC9BjB,GAAA,CAKF,SAASiB,IACPjD,EAAM,YACNlB,EAAKgrI,eAAe,QAAS1rI,GAC7B4D,GAAA,CAKF,SAASA,IACPhC,EAAM,UACNf,EAAI8/gB,OAAOjghB,EAAA,CAWb,OA7DAG,EAAI0nE,GAAG,OAAQx/C,GAtkBjB,SAAyBroB,EAASS,EAAOU,GAGvC,GAAuC,mBAA5BnB,EAAQm0jB,gBAAgC,OAAOn0jB,EAAQm0jB,gBAAgB1zjB,EAAOU,GAKpFnB,EAAQkoH,SAAYloH,EAAQkoH,QAAQznH,GAAuCpB,MAAMkoB,QAAQvnB,EAAQkoH,QAAQznH,IAAST,EAAQkoH,QAAQznH,GAAO44C,QAAQl4C,GAASnB,EAAQkoH,QAAQznH,GAAS,CAACU,EAAInB,EAAQkoH,QAAQznH,IAA5JT,EAAQ6nE,GAAGpnE,EAAOU,EAAA,CARrE,CAqmBkBnB,EAAM,QAAShB,GAO/BgB,EAAKo0jB,KAAK,QAAS90jB,GAQnBU,EAAKo0jB,KAAK,SAAUjwjB,GAQpBnE,EAAK6sgB,KAAK,OAAQ1sgB,GAEbD,EAAMuzkB,UACTvykB,EAAM,eACNf,EAAIiF,UAGCpF,CAAA,EAgBT6zI,EAASj0I,UAAUqghB,OAAS,SAAUjghB,GACpC,IAAIS,EAAQf,KAAKozkB,eACb3xkB,EAAa,CACfwzkB,YAAA,GAGF,GAAyB,IAArBl0kB,EAAM+ykB,WAAkB,OAAO9zkB,KAEnC,GAAyB,IAArBe,EAAM+ykB,WAER,OAAIxzkB,GAAQA,IAASS,EAAMw+gB,QACtBj/gB,IAAMA,EAAOS,EAAMw+gB,OAExBx+gB,EAAMw+gB,MAAQ,KACdx+gB,EAAM+ykB,WAAa,EACnB/ykB,EAAMgzkB,SAAA,EACFzzkB,GAAMA,EAAK6sgB,KAAK,SAAUntgB,KAAMyB,IANKzB,KAW3C,IAAKM,EAAM,CAET,IAAIG,EAAQM,EAAMw+gB,MACd/+gB,EAAMO,EAAM+ykB,WAChB/ykB,EAAMw+gB,MAAQ,KACdx+gB,EAAM+ykB,WAAa,EACnB/ykB,EAAMgzkB,SAAA,EAEN,IAAK,IAAIvvkB,EAAI,EAAGA,EAAIhE,EAAKgE,IACvB/D,EAAM+D,GAAG2ogB,KAAK,SAAUntgB,KAAM,CAC5Bi1kB,YAAA,IAIJ,OAAOj1kB,IAAA,CAIT,IAAImF,EAAQ0b,EAAQ9f,EAAMw+gB,MAAOj/gB,GACjC,OAAe,IAAX6E,IACJpE,EAAMw+gB,MAAMjsgB,OAAOnO,EAAO,GAC1BpE,EAAM+ykB,YAAc,EACK,IAArB/ykB,EAAM+ykB,aAAkB/ykB,EAAMw+gB,MAAQx+gB,EAAMw+gB,MAAM,IACtDj/gB,EAAK6sgB,KAAK,SAAUntgB,KAAMyB,IAJDzB,IAAA,EAU3Bm0I,EAASj0I,UAAUioE,GAAK,SAAU7nE,EAAIS,GACpC,IAAIN,EAAM0E,EAAOjF,UAAUioE,GAAGvnE,KAAKZ,KAAMM,EAAIS,GACzCP,EAAQR,KAAKozkB,eAuBjB,MArBW,SAAP9ykB,GAGFE,EAAM4zkB,kBAAoBp0kB,KAAK+0jB,cAAc,YAAc,OAEvDv0jB,EAAMuzkB,SAAmB/zkB,KAAK0F,UAClB,aAAPpF,IACJE,EAAM0/hB,YAAe1/hB,EAAM4zkB,oBAC9B5zkB,EAAM4zkB,kBAAoB5zkB,EAAM0zkB,cAAA,EAChC1zkB,EAAMuzkB,SAAA,EACNvzkB,EAAM2zkB,iBAAA,EACN3ykB,EAAM,cAAehB,EAAMG,OAAQH,EAAMwzkB,SAErCxzkB,EAAMG,OACR4gE,EAAavhE,MACHQ,EAAMwzkB,SAChBvykB,EAAQs+gB,SAASwS,EAAkBvyhB,QAKlCS,CAAA,EAGT0zI,EAASj0I,UAAUs0jB,YAAcrgb,EAASj0I,UAAUioE,GAEpDgsE,EAASj0I,UAAUorI,eAAiB,SAAUhrI,EAAIS,GAChD,IAAIN,EAAM0E,EAAOjF,UAAUorI,eAAe1qI,KAAKZ,KAAMM,EAAIS,GAYzD,MAVW,aAAPT,GAOFmB,EAAQs+gB,SAAS/wB,EAAyBhvf,MAGrCS,CAAA,EAGT0zI,EAASj0I,UAAU00jB,mBAAqB,SAAUt0jB,GAChD,IAAIS,EAAMoE,EAAOjF,UAAU00jB,mBAAmB/zjB,MAAMb,KAAMU,WAY1D,MAVW,aAAPJ,QAAA,IAAqBA,GAOvBmB,EAAQs+gB,SAAS/wB,EAAyBhvf,MAGrCe,CAAA,EAuBTozI,EAASj0I,UAAUwF,OAAS,WAC1B,IAAIpF,EAAQN,KAAKozkB,eAYjB,OAVK9ykB,EAAMyzkB,UACTvykB,EAAM,UAINlB,EAAMyzkB,SAAWzzkB,EAAM8zkB,kBAQ3B,SAAgB9zkB,EAAQS,GACjBA,EAAMszkB,kBACTtzkB,EAAMszkB,iBAAA,EACN5ykB,EAAQs+gB,SAASyS,EAASlyhB,EAAQS,GAAA,CAHtC,CAPWf,KAAMM,IAGfA,EAAMk/gB,QAAA,EACCx/gB,IAAA,EAuBTm0I,EAASj0I,UAAUmghB,MAAQ,WAUzB,OATA7+gB,EAAM,wBAAyBxB,KAAKozkB,eAAeW,UAAA,IAE/C/zkB,KAAKozkB,eAAeW,UACtBvykB,EAAM,SACNxB,KAAKozkB,eAAeW,SAAA,EACpB/zkB,KAAKmtgB,KAAK,UAGZntgB,KAAKozkB,eAAe5zD,QAAA,EACbx/gB,IAAA,EAeTm0I,EAASj0I,UAAU+qH,KAAO,SAAU3qH,GAClC,IAAIS,EAAQf,KAERyB,EAAQzB,KAAKozkB,eACb3ykB,GAAA,EA0BJ,IAAK,IAAID,KAzBTF,EAAO6nE,GAAG,OAAO,WAGf,GAFA3mE,EAAM,eAEFC,EAAM8+hB,UAAY9+hB,EAAMokkB,MAAO,CACjC,IAAIvlkB,EAAQmB,EAAM8+hB,QAAQrjhB,MACtB5c,GAASA,EAAMK,QAAQI,EAAMuD,KAAKhE,EAAA,CAGxCS,EAAMuD,KAAK,SAEbhE,EAAO6nE,GAAG,QAAQ,SAAU3nE,GAC1BgB,EAAM,gBACFC,EAAM8+hB,UAAS//hB,EAAQiB,EAAM8+hB,QAAQ/if,MAAMh9C,IAE3CiB,EAAM47hB,YAAN,MAAqB78hB,IAAyDiB,EAAM47hB,YAAgB78hB,GAAUA,EAAMG,UAE9GI,EAAMuD,KAAK9D,KAGnBC,GAAA,EACAH,EAAO+/gB,SAAA,IAKG//gB,OAAA,IACRN,KAAKQ,IAAyC,mBAAdF,EAAOE,KACzCR,KAAKQ,GAAK,SAAoBO,GAC5B,OAAO,WACL,OAAOT,EAAOS,GAAQF,MAAMP,EAAQI,UAAA,EAF9B,CAIRF,IAKN,IAAK,IAAIgE,EAAI,EAAGA,EAAIoc,EAAajgB,OAAQ6D,IACvClE,EAAO6nE,GAAGvnD,EAAapc,GAAIxE,KAAKmtgB,KAAK3pe,KAAKxjC,KAAM4gB,EAAapc,KAc/D,OATAxE,KAAKi9jB,MAAQ,SAAUl8jB,GACrBS,EAAM,gBAAiBT,GAEnBN,IACFA,GAAA,EACAH,EAAOoF,SAAA,EAIJ1F,IAAA,EAGa,mBAAXgE,SACTmwI,EAASj0I,UAAU8D,OAAOwB,eAAiB,WAKzC,YAAO,IAJHmjB,IACFA,EAAoCroB,EAAQ,sCAGvCqoB,EAAkC3oB,KAAA,GAI7CR,OAAOqC,eAAesyI,EAASj0I,UAAW,wBAAyB,CAIjE2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKozkB,eAAeF,aAAA,IAG/B1zkB,OAAOqC,eAAesyI,EAASj0I,UAAW,iBAAkB,CAI1D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKozkB,gBAAkBpzkB,KAAKozkB,eAAe3pkB,MAAA,IAGtDjK,OAAOqC,eAAesyI,EAASj0I,UAAW,kBAAmB,CAI3D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKozkB,eAAeW,OAAA,EAE7BjtkB,IAAK,SAAaxG,GACZN,KAAKozkB,iBACPpzkB,KAAKozkB,eAAeW,QAAUzzkB,EAAA,IAKpC6zI,EAASghc,UAAYziD,EACrBlzhB,OAAOqC,eAAesyI,EAASj0I,UAAW,iBAAkB,CAI1D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKozkB,eAAezykB,MAAA,IAoDT,mBAAXqD,SACTmwI,EAAS7pI,KAAO,SAAUvJ,EAAUU,GAKlC,YAAO,IAJHnC,IACFA,EAAOgB,EAAQ,4BAGVhB,EAAK60I,EAAUpzI,EAAUU,EAAA,KAAAb,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,wPAAAu7D,SAAA,IAAAnwD,OAAA,IAAAm8D,OAAA,IAAA65c,SAAA,0BAAAqgB,KAAA,oBAAAx/hB,EAAAS,EAAAU,GC5hCpC,aAEAV,EAAO3C,QAAUmF,EAEjB,IAAI9C,EAAiBH,EAAQ,aAAawykB,MACtCtykB,EAA6BC,EAAekzkB,2BAC5CnvkB,EAAwB/D,EAAe20kB,sBACvCjwkB,EAAqC1E,EAAe40kB,mCACpD90kB,EAA8BE,EAAe60kB,4BAE7CppkB,EAAS5L,EAAQ,oBAIrB,SAASkB,EAAelB,EAAIS,GAC1B,IAAIU,EAAKzB,KAAKu1kB,gBACd9zkB,EAAG+zkB,cAAA,EACH,IAAI/0kB,EAAKgB,EAAGg0kB,QAEZ,GAAW,OAAPh1kB,EACF,OAAOT,KAAKmtgB,KAAK,QAAS,IAAI3ogB,GAGhC/C,EAAGi0kB,WAAa,KAChBj0kB,EAAGg0kB,QAAU,KACD,MAAR10kB,GACFf,KAAKsE,KAAKvD,GACZN,EAAGH,GACH,IAAIE,EAAKR,KAAKozkB,eACd5ykB,EAAGwzkB,SAAA,GAECxzkB,EAAG0zkB,cAAgB1zkB,EAAGG,OAASH,EAAG0ykB,gBACpClzkB,KAAKi9jB,MAAMz8jB,EAAG0ykB,cAAA,CAIlB,SAAS3vkB,EAAUjD,GACjB,KAAMN,gBAAgBuD,GAAY,OAAO,IAAIA,EAAUjD,GACvD4L,EAAOtL,KAAKZ,KAAMM,GAClBN,KAAKu1kB,gBAAkB,CACrBI,eAAgBn0kB,EAAegiC,KAAKxjC,MACpC41kB,eAAA,EACAJ,cAAA,EACAC,QAAS,KACTC,WAAY,KACZG,cAAe,MAGjB71kB,KAAKozkB,eAAec,cAAA,EAIpBl0kB,KAAKozkB,eAAea,MAAA,EAEhB3zkB,IAC+B,mBAAtBA,EAAQ4nC,YAA0BloC,KAAK+7iB,WAAaz7iB,EAAQ4nC,WAC1C,mBAAlB5nC,EAAQic,QAAsBvc,KAAKighB,OAAS3/gB,EAAQic,QAIjEvc,KAAKmoE,GAAG,YAAaniC,EAAA,CAGvB,SAASA,IACP,IAAI1lC,EAAQN,KAEe,mBAAhBA,KAAKighB,QAA0BjghB,KAAKozkB,eAAeC,UAK5D1qjB,EAAK3oB,KAAM,KAAM,MAJjBA,KAAKighB,QAAO,SAAUl/gB,EAAIU,GACxBknB,EAAKroB,EAAOS,EAAIU,EAAA,IA6DtB,SAASknB,EAAKroB,EAAQS,EAAIU,GACxB,GAAIV,EAAI,OAAOT,EAAO6sgB,KAAK,QAASpsgB,GAMpC,GALY,MAARU,GACFnB,EAAOgE,KAAK7C,GAIVnB,EAAO2ykB,eAAetykB,OAAQ,MAAM,IAAIJ,EAC5C,GAAID,EAAOi1kB,gBAAgBC,aAAc,MAAM,IAAIrwkB,EACnD,OAAO7E,EAAOgE,KAAK,MA9HrBhE,EAAQ,WAARA,CAAoBiD,EAAW2I,GA+D/B3I,EAAUrD,UAAUoE,KAAO,SAAUhE,EAAOS,GAE1C,OADAf,KAAKu1kB,gBAAgBK,eAAA,EACd1pkB,EAAOhM,UAAUoE,KAAK1D,KAAKZ,KAAMM,EAAOS,EAAA,EAajDwC,EAAUrD,UAAU67iB,WAAa,SAAUz7iB,EAAOS,EAAUU,GAC1DA,EAAG,IAAIjB,EAA2B,kBAGpC+C,EAAUrD,UAAUo6iB,OAAS,SAAUh6iB,EAAOS,EAAUU,GACtD,IAAIhB,EAAKT,KAAKu1kB,gBAKd,GAJA90kB,EAAGg1kB,QAAUh0kB,EACbhB,EAAGi1kB,WAAap1kB,EAChBG,EAAGo1kB,cAAgB90kB,GAEdN,EAAG+0kB,aAAc,CACpB,IAAIh1kB,EAAKR,KAAKozkB,gBACV3ykB,EAAGm1kB,eAAiBp1kB,EAAG0zkB,cAAgB1zkB,EAAGG,OAASH,EAAG0ykB,gBAAelzkB,KAAKi9jB,MAAMz8jB,EAAG0ykB,cAAA,GAO3F3vkB,EAAUrD,UAAU+8jB,MAAQ,SAAU38jB,GACpC,IAAIS,EAAKf,KAAKu1kB,gBAEQ,OAAlBx0kB,EAAG20kB,YAAwB30kB,EAAGy0kB,aAOhCz0kB,EAAG60kB,eAAA,GANH70kB,EAAGy0kB,cAAA,EAEHx1kB,KAAK+7iB,WAAWh7iB,EAAG20kB,WAAY30kB,EAAG80kB,cAAe90kB,EAAG40kB,gBAAA,EAQxDpykB,EAAUrD,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GAC5CmL,EAAOhM,UAAUy0kB,SAAS/zkB,KAAKZ,KAAMM,GAAK,SAAUA,GAClDS,EAAGT,EAAA,8CAAAm/gB,SAAA,oBAAAn/gB,EAAAS,EAAAU,IAAA,SAAAA,EAAAhB,GCnKP,aAcA,SAASD,EAAcF,GACrB,IAAIS,EAAQf,KAEZA,KAAKgD,KAAO,KACZhD,KAAKqtH,MAAQ,KAEbrtH,KAAKqJ,OAAS,YAimBhB,SAAwB/I,EAASS,EAAOU,GACtC,IAAIhB,EAAQH,EAAQ+sH,MAGpB,IAFA/sH,EAAQ+sH,MAAQ,KAET5sH,GAAO,CACZ,IAAID,EAAKC,EAAM0P,SACfpP,EAAM+0kB,YACNt1kB,EAAGiB,GACHhB,EAAQA,EAAMuC,IAAA,CAIhBjC,EAAMg1kB,mBAAmB/ykB,KAAO1C,CAAA,CAZlC,CAhmBmBS,EAAOT,EAAA,EAQ1B,IAAIkE,EA3BJzD,EAAO3C,QAAU+1I,EA8BjBA,EAAS6hc,cAAgBhqZ,EAGzB,IAyJIzoL,EAzJA4B,EAAe,CACjBszG,UAAWn4G,EAAQ,mBAMjBC,EAASD,EAAQ,6BAIjB4L,EAAS5L,EAAQ,UAAUoN,OAE3BlM,EAAgBf,EAAOyG,YAAc,WAAa,EAUlD8+B,EAAc1lC,EAAQ,8BAGtBqoB,EADWroB,EAAQ,4BACSkzkB,iBAE5Bl0kB,EAAiBgB,EAAQ,aAAawykB,MACtClzkB,EAAuBN,EAAem0kB,qBACtChvkB,EAA6BnF,EAAeq0kB,2BAC5CnwkB,EAAwBlE,EAAe81kB,sBACvC71kB,EAAyBD,EAAe22kB,uBACxC/xkB,EAAuB5E,EAAe42kB,qBACtCzykB,EAAyBnE,EAAe62kB,uBACxC5ye,EAA6BjkG,EAAe82kB,2BAC5C1ykB,EAAuBpE,EAAe+2kB,qBAEtC3xkB,EAAiBshC,EAAY6tiB,eAIjC,SAASjzjB,IAAA,CAET,SAASorK,EAAcjrL,EAASN,EAAQ0E,GACtCX,EAASA,GAAUlE,EAAQ,oBAC3BS,EAAUA,GAAW,CAAC,EAME,kBAAboE,IAAwBA,EAAW1E,aAAkB+D,GAGhExE,KAAKq9hB,aAAet8hB,EAAQs8hB,WACxBl4hB,IAAUnF,KAAKq9hB,WAAar9hB,KAAKq9hB,cAAgBt8hB,EAAQo6hB,oBAI7Dn7hB,KAAKkzkB,cAAgBvqjB,EAAiB3oB,KAAMe,EAAS,wBAAyBoE,GAE9EnF,KAAKs2kB,aAAA,EAELt2kB,KAAKk1kB,WAAA,EAELl1kB,KAAKu2kB,QAAA,EAELv2kB,KAAK6lkB,OAAA,EAEL7lkB,KAAK2K,UAAA,EAEL3K,KAAKqzkB,WAAA,EAIL,IAAI9ykB,GAAA,IAAWQ,EAAQy1kB,cACvBx2kB,KAAKw2kB,eAAiBj2kB,EAItBP,KAAKw0kB,gBAAkBzzkB,EAAQyzkB,iBAAmB,OAIlDx0kB,KAAKW,OAAS,EAEdX,KAAKy2kB,SAAA,EAELz2kB,KAAKo/gB,OAAS,EAKdp/gB,KAAKi0kB,MAAA,EAILj0kB,KAAK02kB,kBAAA,EAEL12kB,KAAK22kB,QAAU,SAAUr2kB,IA6R3B,SAAiBA,EAAQS,GACvB,IAAIN,EAAQH,EAAO2ykB,eACfzykB,EAAOC,EAAMwzkB,KACbzvkB,EAAK/D,EAAMg1kB,QACf,GAAkB,mBAAPjxkB,EAAmB,MAAM,IAAIhB,EAExC,GAbF,SAA4BlD,GAC1BA,EAAMm2kB,SAAA,EACNn2kB,EAAMm1kB,QAAU,KAChBn1kB,EAAMK,QAAUL,EAAMs2kB,SACtBt2kB,EAAMs2kB,SAAW,EAJnB,CAYqBn2kB,GACfM,GArCN,SAAsBT,EAAQS,EAAON,EAAMD,EAAIgE,KAC3CzD,EAAM+0kB,UAEJr1kB,GAGFgB,EAAQs+gB,SAASv7gB,EAAIhE,GAGrBiB,EAAQs+gB,SAASv9gB,EAAalC,EAAQS,GACtCT,EAAO2ykB,eAAe4D,cAAA,EACtBnykB,EAAepE,EAAQE,KAIvBgE,EAAGhE,GACHF,EAAO2ykB,eAAe4D,cAAA,EACtBnykB,EAAepE,EAAQE,GAGvBgC,EAAYlC,EAAQS,GAAA,CApBxB,CAqCuBT,EAAQG,EAAOD,EAAMO,EAAIyD,OAAS,CAErD,IAAIW,EAAWo8D,EAAW9gE,IAAUH,EAAO+ykB,UAEtClukB,GAAa1E,EAAM2+gB,QAAW3+gB,EAAMi2kB,mBAAoBj2kB,EAAMq2kB,iBACjExkD,EAAYhyhB,EAAQG,GAGlBD,EACFiB,EAAQs+gB,SAASj0V,EAAYxrL,EAAQG,EAAO0E,EAAUX,GAEtDsnL,EAAWxrL,EAAQG,EAAO0E,EAAUX,EAAA,EAjB1C,CA5RY/D,EAAQH,EAAA,EAIlBN,KAAKy1kB,QAAU,KAEfz1kB,KAAK42kB,SAAW,EAChB52kB,KAAK82kB,gBAAkB,KACvB92kB,KAAK+2kB,oBAAsB,KAG3B/2kB,KAAK81kB,UAAY,EAGjB91kB,KAAKg3kB,aAAA,EAELh3kB,KAAK62kB,cAAA,EAEL72kB,KAAKs0kB,WAAA,IAAYvzkB,EAAQuzkB,UAEzBt0kB,KAAKu0kB,cAAgBxzkB,EAAQwzkB,YAE7Bv0kB,KAAKi3kB,qBAAuB,EAG5Bj3kB,KAAK+1kB,mBAAqB,IAAIv1kB,EAAcR,KAAA,CA4C9C,SAASm0I,EAASpzI,GAUhB,IAAIU,EAAWzB,gBATfwE,EAASA,GAAUlE,EAAQ,qBAU3B,IAAKmB,IAAa8B,EAAgB3C,KAAKuzI,EAAUn0I,MAAO,OAAO,IAAIm0I,EAASpzI,GAC5Ef,KAAKizkB,eAAiB,IAAIjnZ,EAAcjrL,EAASf,KAAMyB,GAEvDzB,KAAKynD,UAAA,EAED1mD,IAC2B,mBAAlBA,EAAQy8C,QAAsBx9C,KAAKs6iB,OAASv5iB,EAAQy8C,OACjC,mBAAnBz8C,EAAQm2kB,SAAuBl3kB,KAAKm3kB,QAAUp2kB,EAAQm2kB,QAClC,mBAApBn2kB,EAAQ6T,UAAwB5U,KAAK20kB,SAAW5zkB,EAAQ6T,SACtC,mBAAlB7T,EAAQ21iB,QAAsB12iB,KAAKy2iB,OAAS11iB,EAAQ21iB,QAGjEn2iB,EAAOK,KAAKZ,KAAA,CAwJd,SAASoF,EAAQ9E,EAAQS,EAAOU,EAAQhB,EAAKD,EAAOgE,EAAUW,GAC5DpE,EAAM61kB,SAAWn2kB,EACjBM,EAAM00kB,QAAUtwkB,EAChBpE,EAAM01kB,SAAA,EACN11kB,EAAMkzkB,MAAA,EACFlzkB,EAAMsykB,UAAWtykB,EAAM41kB,QAAQ,IAAIzykB,EAAqB,UAAmBzC,EAAQnB,EAAO62kB,QAAQ32kB,EAAOO,EAAM41kB,SAAcr2kB,EAAOg6iB,OAAO95iB,EAAOgE,EAAUzD,EAAM41kB,SACtK51kB,EAAMkzkB,MAAA,CAAO,CAwDf,SAASnoZ,EAAWxrL,EAAQS,EAAOU,EAAUhB,GACtCgB,GASP,SAAsBnB,EAAQS,GACP,IAAjBA,EAAMJ,QAAgBI,EAAMm0kB,YAC9Bn0kB,EAAMm0kB,WAAA,EACN50kB,EAAO6sgB,KAAK,UAHhB,CAT8B7sgB,EAAQS,GACpCA,EAAM+0kB,YACNr1kB,IACA+B,EAAYlC,EAAQS,EAAA,CActB,SAASuxhB,EAAYhyhB,EAAQS,GAC3BA,EAAM21kB,kBAAA,EACN,IAAIj1kB,EAAQV,EAAM+1kB,gBAElB,GAAIx2kB,EAAO62kB,SAAW11kB,GAASA,EAAMuB,KAAM,CAEzC,IAAIvC,EAAIM,EAAMk2kB,qBACVzykB,EAAS,IAAI7E,MAAMc,GACnB0E,EAASpE,EAAMg1kB,mBACnB5wkB,EAAOkoH,MAAQ5rH,EAIf,IAHA,IAAIlB,EAAQ,EACR2L,GAAA,EAEGzK,GACL+C,EAAOjE,GAASkB,EACXA,EAAM21kB,QAAOlrkB,GAAA,GAClBzK,EAAQA,EAAMuB,KACdzC,GAAS,EAGXiE,EAAO6ykB,WAAanrkB,EACpB9G,EAAQ9E,EAAQS,GAAA,EAAaA,EAAMJ,OAAQ6D,EAAQ,GAAIW,EAAOkE,QAG9DtI,EAAM+0kB,YACN/0kB,EAAMg2kB,oBAAsB,KAExB5xkB,EAAOnC,MACTjC,EAAMg1kB,mBAAqB5wkB,EAAOnC,KAClCmC,EAAOnC,KAAO,MAEdjC,EAAMg1kB,mBAAqB,IAAIv1kB,EAAcO,GAG/CA,EAAMk2kB,qBAAuB,MACxB,CAEL,KAAOx1kB,GAAO,CACZ,IAAID,EAAQC,EAAM61kB,MACd/zkB,EAAW9B,EAAMuG,SACjBg+B,EAAKvkC,EAAM0O,SASf,GAPA/K,EAAQ9E,EAAQS,GAAA,EADNA,EAAMs8hB,WAAa,EAAI77hB,EAAMb,OACJa,EAAO+B,EAAUyiC,GACpDvkC,EAAQA,EAAMuB,KACdjC,EAAMk2kB,uBAKFl2kB,EAAM01kB,QACR,MAIU,OAAVh1kB,IAAgBV,EAAMg2kB,oBAAsB,MAGlDh2kB,EAAM+1kB,gBAAkBr1kB,EACxBV,EAAM21kB,kBAAA,CAAmB,CA2C3B,SAASn1gB,EAAWjhE,GAClB,OAAOA,EAAMi2kB,QAA2B,IAAjBj2kB,EAAMK,QAA0C,OAA1BL,EAAMw2kB,kBAA6Bx2kB,EAAMqK,WAAarK,EAAMm2kB,OAAA,CAG3G,SAAS/ghB,EAAUp1D,EAAQS,GACzBT,EAAOm2iB,QAAO,SAAUh1iB,GACtBV,EAAM+0kB,YAEFr0kB,GACFiD,EAAepE,EAAQmB,GAGzBV,EAAMi2kB,aAAA,EACN12kB,EAAO6sgB,KAAK,aACZ3qgB,EAAYlC,EAAQS,EAAA,IAiBxB,SAASyB,EAAYlC,EAAQS,GAC3B,IAAIN,EAAO8gE,EAAWxgE,GAEtB,GAAIN,IAhBN,SAAmBH,EAAQS,GACpBA,EAAMi2kB,aAAgBj2kB,EAAMu1kB,cACF,mBAAlBh2kB,EAAOm2iB,QAA0B11iB,EAAMsykB,WAKhDtykB,EAAMi2kB,aAAA,EACN12kB,EAAO6sgB,KAAK,eALZpsgB,EAAM+0kB,YACN/0kB,EAAMu1kB,aAAA,EACN70kB,EAAQs+gB,SAASrqd,EAAWp1D,EAAQS,IAAA,CAL1C,CAiBcT,EAAQS,GAEM,IAApBA,EAAM+0kB,YACR/0kB,EAAM4J,UAAA,EACNrK,EAAO6sgB,KAAK,UAERpsgB,EAAMwzkB,cAAa,CAGrB,IAAI/zkB,EAASF,EAAO8ykB,iBAEf5ykB,GAAUA,EAAO+zkB,aAAe/zkB,EAAO0/hB,aAC1C5/hB,EAAOsU,SAAA,CAMf,OAAOnU,CAAA,CA3hBTH,EAAQ,WAARA,CAAoB6zI,EAAU5zI,GAyF9ByrL,EAAc9rL,UAAUizkB,UAAY,WAIlC,IAHA,IAAI7ykB,EAAUN,KAAK82kB,gBACf/1kB,EAAM,GAEHT,GACLS,EAAIuD,KAAKhE,GACTA,EAAUA,EAAQ0C,KAGpB,OAAOjC,CAAA,EAGT,WACE,IACEvB,OAAOqC,eAAemqL,EAAc9rL,UAAW,SAAU,CACvD0G,IAAKzB,EAAaszG,WAAU,WAC1B,OAAOz4G,KAAKmzkB,WAAA,GACX,6EAAmF,aAExF,MAAO7ykB,GAAA,EAPX,GAcsB,mBAAX0D,QAAyBA,OAAOuzkB,aAAiE,mBAA3Cp+c,SAASj5H,UAAU8D,OAAOuzkB,cACzFh0kB,EAAkB41H,SAASj5H,UAAU8D,OAAOuzkB,aAC5C/3kB,OAAOqC,eAAesyI,EAAUnwI,OAAOuzkB,YAAa,CAClDz0kB,MAAO,SAAexC,GACpB,QAAIiD,EAAgB3C,KAAKZ,KAAMM,IAC3BN,OAASm0I,GACN7zI,GAAUA,EAAO2ykB,0BAA0BjnZ,CAAA,KAItDzoL,EAAkB,SAAyBjD,GACzC,OAAOA,aAAkBN,IAAA,EA+B7Bm0I,EAASj0I,UAAU2/C,KAAO,WACxBn7C,EAAe1E,KAAM,IAAIT,EAAA,EA+B3B40I,EAASj0I,UAAUs9C,MAAQ,SAAUl9C,EAAOS,EAAUN,GACpD,IAnNqBD,EAmNjBgE,EAAQxE,KAAKizkB,eACb9tkB,GAAA,EAEA5E,GAASiE,EAAM64hB,aAtNE78hB,EAsN0BF,EArNxC4L,EAAOiwC,SAAS37C,IAAQA,aAAegB,GAsO9C,OAfIjB,IAAU2L,EAAOiwC,SAAS77C,KAC5BA,EA7NJ,SAA6BA,GAC3B,OAAO4L,EAAO5B,KAAKhK,EAAA,CADrB,CA6NgCA,IAGN,mBAAbS,IACTN,EAAKM,EACLA,EAAW,MAGTR,EAAOQ,EAAW,SAAmBA,IAAUA,EAAWyD,EAAMgwkB,iBAClD,mBAAP/zkB,IAAmBA,EAAKmgB,GAC/Bpc,EAAM+xkB,OA7CZ,SAAuBj2kB,EAAQS,GAC7B,IAAIN,EAAK,IAAI8iG,EAEb7+F,EAAepE,EAAQG,GACvBgB,EAAQs+gB,SAASh/gB,EAAIN,EAAA,CAJvB,CA6CkCT,KAAMS,IAAaF,GAnCrD,SAAoBD,EAAQS,EAAON,EAAOD,GACxC,IAAIgE,EAQJ,OANc,OAAV/D,EACF+D,EAAK,IAAIf,EACiB,iBAAVhD,GAAuBM,EAAMs8hB,aAC7C74hB,EAAK,IAAI5E,EAAqB,QAAS,CAAC,SAAU,UAAWa,KAG3D+D,IACFE,EAAepE,EAAQkE,GACvB/C,EAAQs+gB,SAASv/gB,EAAIgE,IAAA,EACd,CAZX,CAmCyExE,KAAMwE,EAAOlE,EAAOG,MACzF+D,EAAMsxkB,YACN3wkB,EAwDJ,SAAuB7E,EAAQS,EAAOU,EAAOhB,EAAOD,EAAUgE,GAC5D,IAAK/C,EAAO,CACV,IAAI0D,EAtBR,SAAqB7E,EAAOS,EAAOU,GAKjC,OAJKnB,EAAM+8hB,aAAA,IAAc/8hB,EAAMk2kB,eAA4C,iBAAVz1kB,IAC/DA,EAAQmL,EAAO5B,KAAKvJ,EAAOU,IAGtBV,CAAA,CALT,CAsB+BA,EAAON,EAAOD,GAErCC,IAAU0E,IACZ1D,GAAA,EACAjB,EAAW,SACXC,EAAQ0E,EAAA,CAIZ,IAAI5E,EAAMQ,EAAMs8hB,WAAa,EAAI58hB,EAAME,OACvCI,EAAMJ,QAAUJ,EAChB,IAAIiB,EAAMT,EAAMJ,OAASI,EAAMmykB,cAI/B,GAFK1xkB,IAAKT,EAAMm0kB,WAAA,GAEZn0kB,EAAM01kB,SAAW11kB,EAAMq+gB,OAAQ,CACjC,IAAI77gB,EAAOxC,EAAMg2kB,oBACjBh2kB,EAAMg2kB,oBAAsB,CAC1BO,MAAO72kB,EACPuH,SAAUxH,EACV42kB,MAAO31kB,EACP0O,SAAU3L,EACVxB,KAAM,MAGJO,EACFA,EAAKP,KAAOjC,EAAMg2kB,oBAElBh2kB,EAAM+1kB,gBAAkB/1kB,EAAMg2kB,oBAGhCh2kB,EAAMk2kB,sBAAwB,OAE9B7xkB,EAAQ9E,EAAQS,GAAA,EAAcR,EAAKE,EAAOD,EAAUgE,GAGtD,OAAOhD,CAAA,CAtCT,CAxDwBxB,KAAMwE,EAAOjE,EAAOD,EAAOS,EAAUN,IAEpD0E,CAAA,EAGTgvI,EAASj0I,UAAU8/gB,KAAO,WACxBhghB,KAAKizkB,eAAe7zD,QAAA,EAGtBjrY,EAASj0I,UAAUgghB,OAAS,WAC1B,IAAI5/gB,EAAQN,KAAKizkB,eAEb3ykB,EAAM8+gB,SACR9+gB,EAAM8+gB,SACD9+gB,EAAMm2kB,SAAYn2kB,EAAM8+gB,QAAW9+gB,EAAMo2kB,mBAAoBp2kB,EAAMw2kB,iBAAiBxkD,EAAYtyhB,KAAMM,GAAA,EAI/G6zI,EAASj0I,UAAUs3kB,mBAAqB,SAA4Bl3kB,GAGlE,GADwB,iBAAbA,IAAuBA,EAAWA,EAASga,iBAChD,CAAC,MAAO,OAAQ,QAAS,QAAS,SAAU,SAAU,OAAQ,QAAS,UAAW,WAAY,OAAOtZ,SAASV,EAAW,IAAIga,gBAAkB,GAAI,MAAM,IAAI5W,EAAqBpD,GAExL,OADAN,KAAKizkB,eAAeuB,gBAAkBl0kB,EAC/BN,IAAA,EAGTR,OAAOqC,eAAesyI,EAASj0I,UAAW,iBAAkB,CAI1D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,gBAAkBjzkB,KAAKizkB,eAAeE,WAAA,IAYtD3zkB,OAAOqC,eAAesyI,EAASj0I,UAAW,wBAAyB,CAIjE2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,eAAeC,aAAA,IA4L/B/+b,EAASj0I,UAAUo6iB,OAAS,SAAUh6iB,EAAOS,EAAUU,GACrDA,EAAG,IAAIgD,EAA2B,cAGpC0vI,EAASj0I,UAAUi3kB,QAAU,KAE7Bhjc,EAASj0I,UAAUgd,IAAM,SAAU5c,EAAOS,EAAUN,GAClD,IAAID,EAAQR,KAAKizkB,eAoBjB,MAlBqB,mBAAV3ykB,GACTG,EAAKH,EACLA,EAAQ,KACRS,EAAW,MACkB,mBAAbA,IAChBN,EAAKM,EACLA,EAAW,MAGT,MAAAT,GAAuCN,KAAKw9C,MAAMl9C,EAAOS,GAEzDP,EAAM4+gB,SACR5+gB,EAAM4+gB,OAAS,EACfp/gB,KAAKkghB,UAIF1/gB,EAAM+1kB,QAsEb,SAAqBj2kB,EAAQS,EAAON,GAClCM,EAAMw1kB,QAAA,EACN/zkB,EAAYlC,EAAQS,GAEhBN,IACEM,EAAM4J,SAAUlJ,EAAQs+gB,SAASt/gB,GAASH,EAAOo0jB,KAAK,SAAUj0jB,IAGtEM,EAAM8kkB,OAAA,EACNvlkB,EAAOmnD,UAAA,CAAW,CATpB,CAtEiCznD,KAAMQ,EAAOC,GACrCT,IAAA,EAGTR,OAAOqC,eAAesyI,EAASj0I,UAAW,iBAAkB,CAI1D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,eAAetykB,MAAA,IAuF/BnB,OAAOqC,eAAesyI,EAASj0I,UAAW,YAAa,CAIrD2J,YAAA,EACAjD,IAAK,WACH,gBAAI5G,KAAKizkB,gBAIFjzkB,KAAKizkB,eAAeI,SAAA,EAE7BvskB,IAAK,SAAaxG,GAGXN,KAAKizkB,iBAMVjzkB,KAAKizkB,eAAeI,UAAY/ykB,EAAA,IAGpC6zI,EAASj0I,UAAU0U,QAAUoxB,EAAYpxB,QACzCu/H,EAASj0I,UAAU20kB,WAAa7uiB,EAAY8uiB,UAE5C3gc,EAASj0I,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GAC3CA,EAAGT,EAAA,IAAAM,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,6IAAAu7D,SAAA,IAAAnwD,OAAA,IAAAg2gB,SAAA,yCAAAn/gB,EAAAS,EAAAU,IAAA,SAAAA,GCvrBL,aAEA,IAAIhB,EAEJ,SAASD,EAAgBF,EAAKS,EAAKU,GAAiK,OAApJV,KAAOT,EAAOd,OAAOqC,eAAevB,EAAKS,EAAK,CAAE+B,MAAOrB,EAAOoI,YAAA,EAAkB29C,cAAA,EAAoBC,UAAA,IAA4BnnD,EAAIS,GAAOU,EAAgBnB,CAAA,CAE3M,IAAIkE,EAAWlE,EAAQ,mBAEnB6E,EAAenB,OAAO,eACtBzD,EAAcyD,OAAO,cACrBkI,EAASlI,OAAO,SAChBxC,EAASwC,OAAO,SAChBT,EAAeS,OAAO,eACtBgiC,EAAiBhiC,OAAO,iBACxB2kB,EAAU3kB,OAAO,UAErB,SAAS1E,EAAiBgB,EAAOS,GAC/B,MAAO,CACL+B,MAAOxC,EACP6C,KAAMpC,EAAA,CAIV,SAASnB,EAAeU,GACtB,IAAIS,EAAUT,EAAK6E,GAEnB,GAAgB,OAAZpE,EAAkB,CACpB,IAAIU,EAAOnB,EAAKqoB,GAASguB,OAIZ,OAATl1C,IACFnB,EAAKiD,GAAgB,KACrBjD,EAAK6E,GAAgB,KACrB7E,EAAKC,GAAe,KACpBQ,EAAQzB,EAAiBmC,GAAA,IAAM,EAKrC,SAASgD,EAAWnE,GAGlBmB,EAAQs+gB,SAASnghB,EAAgBU,EAAA,CAgBnC,IAAIkD,EAAyBhE,OAAOogD,gBAAe,WAAa,IAC5DrgD,EAAuCC,OAAOC,gBA4D/Ce,EA5D+DC,EAAwB,CACxFqihB,aACE,OAAO9ihB,KAAK2oB,EAAA,EAGd3lB,KAAM,WACJ,IAAI1C,EAAQN,KAIRe,EAAQf,KAAKkM,GAEjB,GAAc,OAAVnL,EACF,OAAO2B,QAAQE,OAAO7B,GAGxB,GAAIf,KAAKwB,GACP,OAAOkB,QAAQC,QAAQrD,OAAA,GAAiB,IAG1C,GAAIU,KAAK2oB,GAAS0qjB,UAKhB,OAAO,IAAI3wkB,SAAQ,SAAU3B,EAASN,GACpCgB,EAAQs+gB,UAAS,WACXz/gB,EAAM4L,GACRzL,EAAOH,EAAM4L,IAEbnL,EAAQzB,OAAA,GAAiB,GAAW,OAU5C,IACImB,EADAD,EAAcR,KAAKuD,GAGvB,GAAI/C,EACFC,EAAU,IAAIiC,QA1DpB,SAAqBpC,EAAaS,GAChC,OAAO,SAAUU,EAAShB,GACxBH,EAAY8C,MAAK,WACXrC,EAAKS,GACPC,EAAQnC,OAAA,GAAiB,IAI3ByB,EAAKilC,GAAgBvkC,EAAShB,EAAA,GAC7BA,EAAA,EATP,CA0DwCD,EAAaR,WAC1C,CAGL,IAAIwE,EAAOxE,KAAK2oB,GAASguB,OAEzB,GAAa,OAATnyC,EACF,OAAO9B,QAAQC,QAAQrD,EAAiBkF,GAAA,IAG1C/D,EAAU,IAAIiC,QAAQ1C,KAAKgmC,GAAA,CAI7B,OADAhmC,KAAKuD,GAAgB9C,EACdA,CAAA,GAE+BuD,OAAOwB,eAAe,WAC9D,OAAOxF,IAAA,IACLQ,EAAgBC,EAAuB,UAAU,WACnD,IAAIH,EAASN,KAKb,OAAO,IAAI0C,SAAQ,SAAU3B,EAASU,GACpCnB,EAAOqoB,GAAS/T,QAAQ,MAAM,SAAUtU,GAClCA,EACFmB,EAAOnB,GAITS,EAAQzB,OAAA,GAAiB,GAAW,UAGtCmB,GAAwB+C,GAoE5BzC,EAAO3C,QAlEiC,SAA2CkC,GACjF,IAAIS,EAEAU,EAAWjC,OAAOW,OAAOZ,GAA4DiB,EAArBO,EAAiB,CAAC,EAAmC4nB,EAAS,CAChI7lB,MAAOxC,EACPmnD,UAAA,IACEjnD,EAAgBO,EAAgBoE,EAAc,CAChDrC,MAAO,KACP2kD,UAAA,IACEjnD,EAAgBO,EAAgBR,EAAa,CAC/CuC,MAAO,KACP2kD,UAAA,IACEjnD,EAAgBO,EAAgBmL,EAAQ,CAC1CpJ,MAAO,KACP2kD,UAAA,IACEjnD,EAAgBO,EAAgBS,EAAQ,CAC1CsB,MAAOxC,EAAO8ykB,eAAelzC,WAC7Bz4e,UAAA,IACEjnD,EAAgBO,EAAgBilC,EAAgB,CAClDljC,MAAO,SAAexC,EAASS,GAC7B,IAAIN,EAAOgB,EAASknB,GAASguB,OAEzBl2C,GACFgB,EAAS8B,GAAgB,KACzB9B,EAAS0D,GAAgB,KACzB1D,EAASlB,GAAe,KACxBD,EAAQhB,EAAiBmB,GAAA,MAEzBgB,EAAS0D,GAAgB7E,EACzBmB,EAASlB,GAAeQ,EAAA,EAG5B0mD,UAAA,IACE1mD,IA8BJ,OA7BAU,EAAS8B,GAAgB,KACzBiB,EAASlE,GAAQ,SAAUA,GACzB,GAAIA,GAAoB,+BAAbA,EAAIiyC,KAAuC,CACpD,IAAIxxC,EAASU,EAASlB,GAWtB,OARe,OAAXQ,IACFU,EAAS8B,GAAgB,KACzB9B,EAAS0D,GAAgB,KACzB1D,EAASlB,GAAe,KACxBQ,EAAOT,SAGTmB,EAASyK,GAAU5L,EAAA,CAIrB,IAAIG,EAAUgB,EAAS0D,GAEP,OAAZ1E,IACFgB,EAAS8B,GAAgB,KACzB9B,EAAS0D,GAAgB,KACzB1D,EAASlB,GAAe,KACxBE,EAAQnB,OAAA,GAAiB,KAG3BmC,EAASD,IAAA,CAAU,IAErBlB,EAAO6nE,GAAG,WAAY1jE,EAAW++B,KAAK,KAAM/hC,IACrCA,CAAA,IAAAb,KAAA,KAAAN,EAAA,qCAAAs5D,SAAA,oBAAAt5D,EAAAS,EAAAU,GC3MT,aAEA,SAAShB,EAAQH,EAAQS,GAAkB,IAAIU,EAAOjC,OAAOgR,KAAKlQ,GAAS,GAAId,OAAOyB,sBAAuB,CAAE,IAAIR,EAAUjB,OAAOyB,sBAAsBX,GAAaS,IAAgBN,EAAUA,EAAQuS,QAAO,SAAUjS,GAAO,OAAOvB,OAAOkC,yBAAyBpB,EAAQS,GAAK8I,UAAA,KAAgBpI,EAAK6C,KAAKzD,MAAMY,EAAMhB,EAAA,CAAY,OAAOgB,CAAA,CAI9U,SAASjB,EAAgBF,EAAKS,EAAKU,GAAiK,OAApJV,KAAOT,EAAOd,OAAOqC,eAAevB,EAAKS,EAAK,CAAE+B,MAAOrB,EAAOoI,YAAA,EAAkB29C,cAAA,EAAoBC,UAAA,IAA4BnnD,EAAIS,GAAOU,EAAgBnB,CAAA,CAI3M,SAASkE,EAAkBlE,EAAQS,GAAS,IAAK,IAAIU,EAAI,EAAGA,EAAIV,EAAMJ,OAAQc,IAAK,CAAE,IAAIhB,EAAaM,EAAMU,GAAIhB,EAAWoJ,WAAapJ,EAAWoJ,aAAA,EAAqBpJ,EAAW+mD,cAAA,EAAyB,UAAW/mD,IAAYA,EAAWgnD,UAAA,GAAiBjoD,OAAOqC,eAAevB,EAAQG,EAAWa,IAAKb,EAAA,EAI7S,IACI0E,EADW7E,EAAQ,UACDoN,OAGlBnN,EADYD,EAAQ,QACAquD,QAEpBziD,EAAS3L,GAAWA,EAAQw/F,QAAU,UAM1Ch/F,EAAO3C,QAEP,WACE,SAASkC,KArBX,SAAyBA,EAAUS,GAAe,KAAMT,aAAoBS,GAAgB,MAAM,IAAIqD,UAAU,qCAAhH,CAsBoBpE,KAAMM,GAEtBN,KAAKiiB,KAAO,KACZjiB,KAAKy3kB,KAAO,KACZz3kB,KAAKW,OAAS,EAtBlB,IAAsBI,EAAaU,EAAYD,EAoM7C,OApMoBT,EAyBPT,GAzBoBmB,EAyBR,CAAC,CACxBH,IAAK,OACLwB,MAAO,SAAcxC,GACnB,IAAIS,EAAQ,CACVgH,KAAMzH,EACN0C,KAAM,MAEJhD,KAAKW,OAAS,EAAGX,KAAKy3kB,KAAKz0kB,KAAOjC,EAAWf,KAAKiiB,KAAOlhB,EAC7Df,KAAKy3kB,KAAO12kB,IACVf,KAAKW,MAAA,GAER,CACDW,IAAK,UACLwB,MAAO,SAAiBxC,GACtB,IAAIS,EAAQ,CACVgH,KAAMzH,EACN0C,KAAMhD,KAAKiiB,MAEO,IAAhBjiB,KAAKW,SAAcX,KAAKy3kB,KAAO12kB,GACnCf,KAAKiiB,KAAOlhB,IACVf,KAAKW,MAAA,GAER,CACDW,IAAK,QACLwB,MAAO,WACL,GAAoB,IAAhB9C,KAAKW,OAAT,CACA,IAAIL,EAAMN,KAAKiiB,KAAKla,KAGpB,OAFoB,IAAhB/H,KAAKW,OAAcX,KAAKiiB,KAAOjiB,KAAKy3kB,KAAO,KAAUz3kB,KAAKiiB,KAAOjiB,KAAKiiB,KAAKjf,OAC7EhD,KAAKW,OACAL,CAAA,IAER,CACDgB,IAAK,QACLwB,MAAO,WACL9C,KAAKiiB,KAAOjiB,KAAKy3kB,KAAO,KACxBz3kB,KAAKW,OAAS,IAEf,CACDW,IAAK,OACLwB,MAAO,SAAcxC,GACnB,GAAoB,IAAhBN,KAAKW,OAAc,MAAO,GAI9B,IAHA,IAAII,EAAIf,KAAKiiB,KACTxgB,EAAM,GAAKV,EAAEgH,KAEVhH,EAAIA,EAAEiC,MACXvB,GAAOnB,EAAIS,EAAEgH,KAGf,OAAOtG,CAAA,GAER,CACDH,IAAK,SACLwB,MAAO,SAAgBxC,GACrB,GAAoB,IAAhBN,KAAKW,OAAc,OAAOwE,EAAOkZ,MAAM,GAK3C,IAJA,IArEctd,EAAKU,EAAQhB,EAqEvBD,EAAM2E,EAAOilD,YAAY9pD,IAAM,GAC/BkE,EAAIxE,KAAKiiB,KACT1hB,EAAI,EAEDiE,GAzEOzD,EA0EDyD,EAAEuD,KA1EItG,EA0EEjB,EA1EMC,EA0EDF,EAzE9B4E,EAAOjF,UAAU8d,KAAKpd,KAAKG,EAAKU,EAAQhB,GA0ElCF,GAAKiE,EAAEuD,KAAKpH,OACZ6D,EAAIA,EAAExB,KAGR,OAAOxC,CAAA,GAGR,CACDc,IAAK,UACLwB,MAAO,SAAiBxC,EAAGS,GACzB,IAAIU,EAcJ,OAZInB,EAAIN,KAAKiiB,KAAKla,KAAKpH,QAErBc,EAAMzB,KAAKiiB,KAAKla,KAAKoV,MAAM,EAAG7c,GAC9BN,KAAKiiB,KAAKla,KAAO/H,KAAKiiB,KAAKla,KAAKoV,MAAM7c,IAGtCmB,EAFSnB,IAAMN,KAAKiiB,KAAKla,KAAKpH,OAExBX,KAAK6F,QAGL9E,EAAaf,KAAK03kB,WAAWp3kB,GAAKN,KAAK23kB,WAAWr3kB,GAGnDmB,CAAA,GAER,CACDH,IAAK,QACLwB,MAAO,WACL,OAAO9C,KAAKiiB,KAAKla,IAAA,GAGlB,CACDzG,IAAK,aACLwB,MAAO,SAAoBxC,GACzB,IAAIS,EAAIf,KAAKiiB,KACTxgB,EAAI,EACJhB,EAAMM,EAAEgH,KAGZ,IAFAzH,GAAKG,EAAIE,OAEFI,EAAIA,EAAEiC,MAAM,CACjB,IAAIxC,EAAMO,EAAEgH,KACRvD,EAAKlE,EAAIE,EAAIG,OAASH,EAAIG,OAASL,EAIvC,GAHIkE,IAAOhE,EAAIG,OAAQF,GAAOD,EAASC,GAAOD,EAAI2c,MAAM,EAAG7c,GAGjD,IAFVA,GAAKkE,GAEQ,CACPA,IAAOhE,EAAIG,UACXc,EACEV,EAAEiC,KAAMhD,KAAKiiB,KAAOlhB,EAAEiC,KAAUhD,KAAKiiB,KAAOjiB,KAAKy3kB,KAAO,OAE5Dz3kB,KAAKiiB,KAAOlhB,EACZA,EAAEgH,KAAOvH,EAAI2c,MAAM3Y,IAGrB,QAGA/C,CAAA,CAIJ,OADAzB,KAAKW,QAAUc,EACRhB,CAAA,GAGR,CACDa,IAAK,aACLwB,MAAO,SAAoBxC,GACzB,IAAIS,EAAMoE,EAAOilD,YAAY9pD,GACzBmB,EAAIzB,KAAKiiB,KACTxhB,EAAI,EAIR,IAHAgB,EAAEsG,KAAKiW,KAAKjd,GACZT,GAAKmB,EAAEsG,KAAKpH,OAELc,EAAIA,EAAEuB,MAAM,CACjB,IAAIxC,EAAMiB,EAAEsG,KACRvD,EAAKlE,EAAIE,EAAIG,OAASH,EAAIG,OAASL,EAIvC,GAHAE,EAAIwd,KAAKjd,EAAKA,EAAIJ,OAASL,EAAG,EAAGkE,GAGvB,IAFVlE,GAAKkE,GAEQ,CACPA,IAAOhE,EAAIG,UACXF,EACEgB,EAAEuB,KAAMhD,KAAKiiB,KAAOxgB,EAAEuB,KAAUhD,KAAKiiB,KAAOjiB,KAAKy3kB,KAAO,OAE5Dz3kB,KAAKiiB,KAAOxgB,EACZA,EAAEsG,KAAOvH,EAAI2c,MAAM3Y,IAGrB,QAGA/D,CAAA,CAIJ,OADAT,KAAKW,QAAUF,EACRM,CAAA,GAGR,CACDO,IAAK4K,EACLpJ,MAAO,SAAexC,EAAGS,GACvB,OAAOR,EAAQP,KAnMrB,SAAuBM,GAAU,IAAK,IAAIS,EAAI,EAAGA,EAAIL,UAAUC,OAAQI,IAAK,CAAE,IAAIU,EAAyB,MAAhBf,UAAUK,GAAaL,UAAUK,GAAK,CAAC,EAAOA,EAAI,EAAKN,EAAQjB,OAAOiC,IAAA,GAAeyO,SAAQ,SAAUnP,GAAOP,EAAgBF,EAAQS,EAAKU,EAAOV,GAAA,IAAsBvB,OAAO8nM,0BAA6B9nM,OAAOi6gB,iBAAiBn5gB,EAAQd,OAAO8nM,0BAA0B7lM,IAAmBhB,EAAQjB,OAAOiC,IAASyO,SAAQ,SAAUnP,GAAOvB,OAAOqC,eAAevB,EAAQS,EAAKvB,OAAOkC,yBAAyBD,EAAQV,GAAA,IAAe,OAAOT,CAAA,CAA7gB,CAmMyC,CAAC,EAAGS,EAAS,CAE9C80H,MAAO,EAEP+hd,eAAA,IAAe,MA/LuDpzkB,EAAkBzD,EAAYb,UAAWuB,GAAiBD,GAAagD,EAAkBzD,EAAaS,GAoM3KlB,CAAA,CApLT,KAAAmJ,OAAA,IAAAq2hB,KAAA,oBAAAx/hB,EAAAS,EAAAU,IAAA,SAAAnB,GC5BA,aAuDA,SAASmB,EAAoBnB,EAAMS,GACjCP,EAAYF,EAAMS,GAClBN,EAAYH,EAAA,CAGd,SAASG,EAAYH,GACfA,EAAK2ykB,iBAAmB3ykB,EAAK2ykB,eAAeqB,WAC5Ch0kB,EAAK8ykB,iBAAmB9ykB,EAAK8ykB,eAAekB,WAChDh0kB,EAAK6sgB,KAAK,SAsBZ,SAAS3sgB,EAAYF,EAAMS,GACzBT,EAAK6sgB,KAAK,QAASpsgB,EAAA,CAcrBA,EAAO3C,QAAU,CACfwW,QAnGF,SAAiB7T,EAAKyD,GACpB,IAAIW,EAAQnF,KAERO,EAAoBP,KAAKozkB,gBAAkBpzkB,KAAKozkB,eAAeC,UAC/DnnkB,EAAoBlM,KAAKizkB,gBAAkBjzkB,KAAKizkB,eAAeI,UAEnE,OAAI9ykB,GAAqB2L,GACnB1H,EACFA,EAAGzD,GACMA,IACJf,KAAKizkB,eAEEjzkB,KAAKizkB,eAAe4D,eAC9B72kB,KAAKizkB,eAAe4D,cAAA,EACpBv2kB,EAAQy/gB,SAASv/gB,EAAaR,KAAMe,IAHpCT,EAAQy/gB,SAASv/gB,EAAaR,KAAMe,IAOjCf,OAKLA,KAAKozkB,iBACPpzkB,KAAKozkB,eAAeC,WAAA,GAIlBrzkB,KAAKizkB,iBACPjzkB,KAAKizkB,eAAeI,WAAA,GAGtBrzkB,KAAK20kB,SAAS5zkB,GAAO,MAAM,SAAUA,IAC9ByD,GAAMzD,EACJoE,EAAM8tkB,eAEC9tkB,EAAM8tkB,eAAe4D,aAI/Bv2kB,EAAQy/gB,SAASt/gB,EAAa0E,IAH9BA,EAAM8tkB,eAAe4D,cAAA,EACrBv2kB,EAAQy/gB,SAASt+gB,EAAqB0D,EAAOpE,IAH7CT,EAAQy/gB,SAASt+gB,EAAqB0D,EAAOpE,GAOtCyD,GACTlE,EAAQy/gB,SAASt/gB,EAAa0E,GAC9BX,EAAGzD,IAEHT,EAAQy/gB,SAASt/gB,EAAa0E,EAAA,IAI3BnF,KAAA,EAkDP80kB,UApCF,WACM90kB,KAAKozkB,iBACPpzkB,KAAKozkB,eAAeC,WAAA,EACpBrzkB,KAAKozkB,eAAeY,SAAA,EACpBh0kB,KAAKozkB,eAAevN,OAAA,EACpB7lkB,KAAKozkB,eAAelzC,YAAA,GAGlBlgiB,KAAKizkB,iBACPjzkB,KAAKizkB,eAAeI,WAAA,EACpBrzkB,KAAKizkB,eAAepN,OAAA,EACpB7lkB,KAAKizkB,eAAesD,QAAA,EACpBv2kB,KAAKizkB,eAAeqD,aAAA,EACpBt2kB,KAAKizkB,eAAe+D,aAAA,EACpBh3kB,KAAKizkB,eAAetokB,UAAA,EACpB3K,KAAKizkB,eAAe4D,cAAA,EAAe,EAsBrChD,eAdF,SAAwBvzkB,EAAQS,GAM9B,IAAIU,EAASnB,EAAO8ykB,eAChB3ykB,EAASH,EAAO2ykB,eAChBxxkB,GAAUA,EAAO8ykB,aAAe9zkB,GAAUA,EAAO8zkB,YAAaj0kB,EAAOsU,QAAQ7T,GAAUT,EAAO6sgB,KAAK,QAASpsgB,EAAA,KAAAH,KAAA,KAAAN,EAAA,eAAAs5D,SAAA,oBAAAt5D,EAAAS,EAAAU,GC/FlH,aAEA,IAAIhB,EAA6BH,EAAQ,mBAAmBwykB,MAAM+E,2BAgBlE,SAASr3kB,IAAA,CAmFTO,EAAO3C,QA7EP,SAASkC,EAAIS,EAAQU,EAAM+C,GACzB,GAAoB,mBAAT/C,EAAqB,OAAOnB,EAAIS,EAAQ,KAAMU,GACpDA,IAAMA,EAAO,CAAC,GACnB+C,EAvBF,SAAclE,GACZ,IAAIS,GAAA,EACJ,OAAO,WACL,IAAIA,EAAJ,CACAA,GAAA,EAEA,IAAK,IAAIU,EAAOf,UAAUC,OAAQF,EAAO,IAAId,MAAM8B,GAAOjB,EAAO,EAAGA,EAAOiB,EAAMjB,IAC/EC,EAAKD,GAAQE,UAAUF,GAGzBF,EAASO,MAAMb,KAAMS,EAAA,GAVzB,CAuBkB+D,GAAYhE,GAC5B,IAAI2E,EAAW1D,EAAKuxkB,WAAA,IAAYvxkB,EAAKuxkB,UAAsBjykB,EAAOiykB,SAC9DzykB,EAAWkB,EAAKgmD,WAAA,IAAYhmD,EAAKgmD,UAAsB1mD,EAAO0mD,SAE9Dv7C,EAAiB,WACdnL,EAAO0mD,UAAUlkD,GAAA,EAGpB/B,EAAgBT,EAAOkykB,gBAAkBlykB,EAAOkykB,eAAetokB,SAE/DpH,EAAW,WACbhD,GAAA,EACAiB,GAAA,EACK2D,GAAUX,EAAS5D,KAAKG,EAAA,EAG3BilC,EAAgBjlC,EAAOqykB,gBAAkBrykB,EAAOqykB,eAAelzC,WAE/Dv3gB,EAAQ,WACVxjB,GAAA,EACA6gC,GAAA,EACKzlC,GAAUiE,EAAS5D,KAAKG,EAAA,EAG3BzB,EAAU,SAAiBgB,GAC7BkE,EAAS5D,KAAKG,EAAQT,EAAA,EAGpBV,EAAU,WACZ,IAAIU,EAEJ,OAAI6E,IAAa6gC,GACVjlC,EAAOqykB,gBAAmBrykB,EAAOqykB,eAAevN,QAAOvlkB,EAAM,IAAIG,GAC/D+D,EAAS5D,KAAKG,EAAQT,IAG3BC,IAAaiB,GACVT,EAAOkykB,gBAAmBlykB,EAAOkykB,eAAepN,QAAOvlkB,EAAM,IAAIG,GAC/D+D,EAAS5D,KAAKG,EAAQT,SAAA,CAF/B,EAMEmE,EAAY,WACd1D,EAAO+2kB,IAAI3vgB,GAAG,SAAU5kE,EAAA,EAiB1B,OAnEF,SAAmBjD,GACjB,OAAOA,EAAOy3kB,WAAqC,mBAAjBz3kB,EAAO62C,KAAA,CAD3C,CAqDgBp2C,IACZA,EAAOonE,GAAG,WAAY5kE,GACtBxC,EAAOonE,GAAG,QAASvoE,GACfmB,EAAO+2kB,IAAKrzkB,IAAiB1D,EAAOonE,GAAG,UAAW1jE,IAC7ClE,IAAaQ,EAAOkykB,iBAE7BlykB,EAAOonE,GAAG,MAAOj8D,GACjBnL,EAAOonE,GAAG,QAASj8D,IAGrBnL,EAAOonE,GAAG,MAAOx/C,GACjB5nB,EAAOonE,GAAG,SAAU5kE,IAAA,IAChB9B,EAAKsD,OAAiBhE,EAAOonE,GAAG,QAAS7oE,GAC7CyB,EAAOonE,GAAG,QAASvoE,GACZ,WACLmB,EAAOuqI,eAAe,WAAY/nI,GAClCxC,EAAOuqI,eAAe,QAAS1rI,GAC/BmB,EAAOuqI,eAAe,UAAW7mI,GAC7B1D,EAAO+2kB,KAAK/2kB,EAAO+2kB,IAAIxsc,eAAe,SAAU/nI,GACpDxC,EAAOuqI,eAAe,MAAOp/H,GAC7BnL,EAAOuqI,eAAe,QAASp/H,GAC/BnL,EAAOuqI,eAAe,SAAU/nI,GAChCxC,EAAOuqI,eAAe,MAAO3iH,GAC7B5nB,EAAOuqI,eAAe,QAAShsI,GAC/ByB,EAAOuqI,eAAe,QAAS1rI,EAAA,2CAAAU,EAAAS,EAAAU,GAAA,aCnGnCV,EAAO3C,QAAU,WACf,MAAM,IAAIuK,MAAM,qEAAArI,EAAAS,EAAAU,GCClB,aAEA,IAAIhB,EAWAD,EAAiBF,EAAQ,mBAAmBwykB,MAC5CtukB,EAAmBhE,EAAew3kB,iBAClC7ykB,EAAuB3E,EAAe01kB,qBAE1C,SAAS31kB,EAAKD,GAEZ,GAAIA,EAAK,MAAMA,CAAA,CAOjB,SAAS4L,EAAUnL,EAAQU,EAASjB,EAASgE,GAC3CA,EAvBF,SAAclE,GACZ,IAAIS,GAAA,EACJ,OAAO,WACDA,IACJA,GAAA,EACAT,EAASO,WAAA,EAAcH,WAAA,EAL3B,CAuBkB8D,GAChB,IAAIjE,GAAA,EACJQ,EAAOonE,GAAG,SAAS,WACjB5nE,GAAA,CAAS,aAEPE,IAAmBA,EAAMH,EAAQ,oBACrCG,EAAIM,EAAQ,CACViykB,SAAUvxkB,EACVgmD,SAAUjnD,IACT,SAAUF,GACX,GAAIA,EAAK,OAAOkE,EAASlE,GACzBC,GAAA,EACAiE,GAAA,IAEF,IAAI0H,GAAA,EACJ,OAAO,SAAU5L,GACf,IAAIC,IACA2L,EAGJ,OAFAA,GAAA,EAvBJ,SAAmB5L,GACjB,OAAOA,EAAOy3kB,WAAqC,mBAAjBz3kB,EAAO62C,KAAA,CAD3C,CAyBkBp2C,GAAgBA,EAAOo2C,QACP,mBAAnBp2C,EAAO6T,QAA+B7T,EAAO6T,eACxDpQ,EAASlE,GAAO,IAAI6E,EAAqB,UAI7C,SAAS3D,EAAKlB,GACZA,GAAA,CAGF,SAASiD,EAAKjD,EAAMS,GAClB,OAAOT,EAAKu/C,KAAK9+C,EAAA,CAGnB,SAASilC,EAAY1lC,GACnB,OAAKA,EAAQK,OAC8B,mBAAhCL,EAAQA,EAAQK,OAAS,GAA0BJ,EACvDD,EAAQ+D,MAFa9D,CAAA,CAgC9BQ,EAAO3C,QA3BP,WACE,IAAK,IAAIkC,EAAOI,UAAUC,OAAQI,EAAU,IAAIpB,MAAMW,GAAOmB,EAAO,EAAGA,EAAOnB,EAAMmB,IAClFV,EAAQU,GAAQf,UAAUe,GAG5B,IAOIhB,EAPAD,EAAWwlC,EAAYjlC,GAG3B,GAFIpB,MAAMkoB,QAAQ9mB,EAAQ,MAAKA,EAAUA,EAAQ,IAE7CA,EAAQJ,OAAS,EACnB,MAAM,IAAI6D,EAAiB,WAI7B,IAAIW,EAAWpE,EAAQlC,KAAI,SAAUyB,EAAQmB,GAC3C,IAAI+C,EAAU/C,EAAIV,EAAQJ,OAAS,EAEnC,OAAOuL,EAAU5L,EAAQkE,EADX/C,EAAI,GACyB,SAAUnB,GAC9CG,IAAOA,EAAQH,GAChBA,GAAK6E,EAAS+K,QAAQ1O,GACtBgD,IACJW,EAAS+K,QAAQ1O,GACjBhB,EAASC,GAAA,OAGb,OAAOM,EAAQ2Z,OAAOnX,EAAA,gEAAAjD,EAAAS,EAAAU,GC7FxB,aAEA,IAAIhB,EAAwBH,EAAQ,mBAAmBwykB,MAAMmF,sBAsB7Dl3kB,EAAO3C,QAAU,CACfo1kB,iBAjBF,SAA0BlzkB,EAAOS,EAASU,EAAWjB,GACnD,IAAIgE,EALN,SAA2BlE,EAASS,EAAUU,GAC5C,OAAgC,MAAzBnB,EAAQ4ykB,cAAwB5ykB,EAAQ4ykB,cAAgBnykB,EAAWT,EAAQmB,GAAa,KADjG,CAK8BV,EAASP,EAAUiB,GAE/C,GAAW,MAAP+C,EAAa,CACf,IAAMyqD,SAASzqD,IAAQ8G,KAAKC,MAAM/G,KAASA,GAAQA,EAAM,EAEvD,MAAM,IAAI/D,EADCD,EAAWiB,EAAY,gBACI+C,GAGxC,OAAO8G,KAAKC,MAAM/G,EAAA,CAIpB,OAAOlE,EAAM+8hB,WAAa,GAAK,gDAAA/8hB,EAAAS,EAAAU,GAAA,aCrBjCV,EAAO3C,QAAUkC,EAAQ,UAAU2ihB,YAAA,GAAAr9c,OAAA,oBAAAtlE,EAAAS,EAAAU,GAAA,cCAnCA,EAAUV,EAAO3C,QAAUkC,EAAQ,8BAC3B43kB,OAASz2kB,EACjBA,EAAQ8giB,SAAW9giB,EACnBA,EAAQo+hB,SAAWv/hB,EAAQ,6BAC3BmB,EAAQi+gB,OAASp/gB,EAAQ,2BACzBmB,EAAQm8hB,UAAYt9hB,EAAQ,8BAC5BmB,EAAQg9gB,YAAcn+gB,EAAQ,gCAC9BmB,EAAQkJ,SAAWrK,EAAQ,2CAC3BmB,EAAQ02kB,SAAW73kB,EAAQ,iTAAAA,EAAAS,EAAAU,GAAA,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CCD3B,IAAIE,EAAW,SAAUF,GAGvB,IAAIS,EAAKvB,OAAOU,UACZuB,EAASV,EAAGlB,eAEZW,EAA4B,mBAAXwD,OAAwBA,OAAS,CAAC,EACnDQ,EAAiBhE,EAAQyD,UAAY,aACrCkB,EAAsB3E,EAAQgF,eAAiB,kBAC/CjF,EAAoBC,EAAQ4gD,aAAe,gBAE/C,SAASl1C,EAAO5L,EAAKS,EAAKU,GAOxB,OANAjC,OAAOqC,eAAevB,EAAKS,EAAK,CAC9B+B,MAAOrB,EACPoI,YAAA,EACA29C,cAAA,EACAC,UAAA,IAEKnnD,EAAIS,EAAA,CAEb,IAEEmL,EAAO,CAAC,EAAG,IACX,MAAO5L,GACP4L,EAAS,SAAS5L,EAAKS,EAAKU,GAC1B,OAAOnB,EAAIS,GAAOU,CAAA,EAItB,SAASD,EAAKlB,EAASS,EAASU,EAAMhB,GAEpC,IAAID,EAAiBO,GAAWA,EAAQb,qBAAqByoB,EAAY5nB,EAAU4nB,EAC/EnkB,EAAYhF,OAAOW,OAAOK,EAAeN,WACzCiF,EAAU,IAAI6mL,EAAQvrL,GAAe,IAMzC,OAFA+D,EAAU85gB,QAsMZ,SAA0Bh+gB,EAASS,EAAMU,GACvC,IAAIhB,EA/KuB,iBAiL3B,OAAO,SAAgBD,EAAQgE,GAC7B,GAhLoB,cAgLhB/D,EACF,MAAM,IAAIkI,MAAM,gCAGlB,GAnLoB,cAmLhBlI,EAA6B,CAC/B,GAAe,UAAXD,EACF,MAAMgE,EAKR,OAAOY,GAAA,CAMT,IAHA3D,EAAQxC,OAASuB,EACjBiB,EAAQ0hB,IAAM3e,IAED,CACX,IAAIW,EAAW1D,EAAQ22kB,SACvB,GAAIjzkB,EAAU,CACZ,IAAI5E,EAAiBmD,EAAoByB,EAAU1D,GACnD,GAAIlB,EAAgB,CAClB,GAAIA,IAAmBylC,EAAkB,SACzC,OAAOzlC,CAAA,EAIX,GAAuB,SAAnBkB,EAAQxC,OAGVwC,EAAQmC,KAAOnC,EAAQ42kB,MAAQ52kB,EAAQ0hB,SAElC,GAAuB,UAAnB1hB,EAAQxC,OAAoB,CACrC,GAnNqB,mBAmNjBwB,EAEF,MADAA,EAjNc,YAkNRgB,EAAQ0hB,IAGhB1hB,EAAQ62kB,kBAAkB72kB,EAAQ0hB,IAAA,KAEN,WAAnB1hB,EAAQxC,QACjBwC,EAAQqrgB,OAAO,SAAUrrgB,EAAQ0hB,KAGnC1iB,EA5NkB,YA8NlB,IAAIyL,EAAS3I,EAASjD,EAASS,EAAMU,GACrC,GAAoB,WAAhByK,EAAOsL,KAAmB,CAO5B,GAJA/W,EAAQgB,EAAQ0B,KAjOA,YAFK,iBAuOjB+I,EAAOiX,MAAQ6iB,EACjB,SAGF,MAAO,CACLljC,MAAOoJ,EAAOiX,IACdhgB,KAAM1B,EAAQ0B,KAAA,CAGS,UAAhB+I,EAAOsL,OAChB/W,EA/OgB,YAkPhBgB,EAAQxC,OAAS,QACjBwC,EAAQ0hB,IAAMjX,EAAOiX,IAAA,GAxE7B,CAtMuC7iB,EAASmB,EAAM0D,GAE7CX,CAAA,CAcT,SAASjB,EAASjD,EAAIS,EAAKU,GACzB,IACE,MAAO,CAAE+V,KAAM,SAAU2L,IAAK7iB,EAAGM,KAAKG,EAAKU,GAAA,CAC3C,MAAOnB,GACP,MAAO,CAAEkX,KAAM,QAAS2L,IAAK7iB,EAAA,EAhBjCA,EAAQ2qH,KAAOzpH,EAoBf,IAOIwkC,EAAmB,CAAC,EAMxB,SAASrd,IAAA,CACT,SAASrpB,IAAA,CACT,SAASM,IAAA,CAIT,IAAI6E,EAAoB,CAAC,EACzBA,EAAkBD,GAAkB,WAClC,OAAOxE,IAAA,EAGT,IAAIwD,EAAWhE,OAAOogD,eAClBrgD,EAA0BiE,GAAYA,EAASA,EAAS2wI,EAAO,MAC/D50I,GACAA,IAA4BwB,GAC5BU,EAAOb,KAAKrB,EAAyBiF,KAGvCC,EAAoBlF,GAGtB,IAAI2E,EAAKtE,EAA2BM,UAClCyoB,EAAUzoB,UAAYV,OAAOW,OAAOsE,GAWtC,SAAShB,EAAsBnD,GAC7B,CAAC,OAAQ,QAAS,UAAU4P,SAAQ,SAASnP,GAC3CmL,EAAO5L,EAAWS,GAAQ,SAAST,GACjC,OAAON,KAAKs+gB,QAAQv9gB,EAAQT,EAAA,OAkClC,SAASijG,EAAcjjG,EAAWS,GAgChC,IAAIP,EAgCJR,KAAKs+gB,QA9BL,SAAiB95gB,EAAQW,GACvB,SAAS5E,IACP,OAAO,IAAIQ,GAAY,SAASP,EAASD,IAnC7C,SAASC,EAAOgE,EAAQW,EAAK5E,EAAS2L,GACpC,IAAI1K,EAAS+B,EAASjD,EAAUkE,GAASlE,EAAW6E,GACpD,GAAoB,UAAhB3D,EAAOgW,KAEJ,CACL,IAAIwuB,EAASxkC,EAAO2hB,IAChBwF,EAAQqd,EAAOljC,MACnB,OAAI6lB,GACiB,WAAjBloB,EAAOkoB,IACPlnB,EAAOb,KAAK+nB,EAAO,WACd5nB,EAAY4B,QAAQgmB,EAAMrjB,SAASlC,MAAK,SAAS9C,GACtDE,EAAO,OAAQF,EAAOC,EAAS2L,EAAA,IAC9B,SAAS5L,GACVE,EAAO,QAASF,EAAKC,EAAS2L,EAAA,IAI3BnL,EAAY4B,QAAQgmB,GAAOvlB,MAAK,SAAS9C,GAI9C0lC,EAAOljC,MAAQxC,EACfC,EAAQylC,EAAA,IACP,SAAS1lC,GAGV,OAAOE,EAAO,QAASF,EAAOC,EAAS2L,EAAA,IAvBzCA,EAAO1K,EAAO2hB,IAAA,CAHlB,CAoCa3e,EAAQW,EAAK3E,EAASD,EAAA,IAIjC,OAAOC,EAaLA,EAAkBA,EAAgB4C,KAChC7C,EAGAA,GACEA,GAAA,EAkHV,SAASmD,EAAoBpD,EAAUS,GACrC,IAAIU,EAASnB,EAAS2D,SAASlD,EAAQ9B,QACvC,QAAI,IAAAwC,EAAsB,CAKxB,GAFAV,EAAQq3kB,SAAW,KAEI,UAAnBr3kB,EAAQ9B,OAAoB,CAE9B,GAAIqB,EAAS2D,SAAT8Z,SAGFhd,EAAQ9B,OAAS,SACjB8B,EAAQoiB,SAAA,EACRzf,EAAoBpD,EAAUS,GAEP,UAAnBA,EAAQ9B,QAGV,OAAO+mC,EAIXjlC,EAAQ9B,OAAS,QACjB8B,EAAQoiB,IAAM,IAAI/e,UAChB,kDAGJ,OAAO4hC,CAAA,CAGT,IAAIvlC,EAAS8C,EAAS9B,EAAQnB,EAAS2D,SAAUlD,EAAQoiB,KAEzD,GAAoB,UAAhB1iB,EAAO+W,KAIT,OAHAzW,EAAQ9B,OAAS,QACjB8B,EAAQoiB,IAAM1iB,EAAO0iB,IACrBpiB,EAAQq3kB,SAAW,KACZpyiB,EAGT,IAAIxlC,EAAOC,EAAO0iB,IAElB,OAAM3iB,EAOFA,EAAK2C,MAGPpC,EAAQT,EAASi4kB,YAAc/3kB,EAAKsC,MAGpC/B,EAAQiC,KAAO1C,EAASk4kB,QAQD,WAAnBz3kB,EAAQ9B,SACV8B,EAAQ9B,OAAS,OACjB8B,EAAQoiB,SAAA,GAUZpiB,EAAQq3kB,SAAW,KACZpyiB,GANExlC,GA3BPO,EAAQ9B,OAAS,QACjB8B,EAAQoiB,IAAM,IAAI/e,UAAU,oCAC5BrD,EAAQq3kB,SAAW,KACZpyiB,EAAA,CAoDX,SAASthC,EAAapE,GACpB,IAAIS,EAAQ,CAAE03kB,OAAQn4kB,EAAK,IAEvB,KAAKA,IACPS,EAAM23kB,SAAWp4kB,EAAK,IAGpB,KAAKA,IACPS,EAAM43kB,WAAar4kB,EAAK,GACxBS,EAAM63kB,SAAWt4kB,EAAK,IAGxBN,KAAK64kB,WAAWv0kB,KAAKvD,EAAA,CAGvB,SAAS6f,EAActgB,GACrB,IAAIS,EAAST,EAAMw4kB,YAAc,CAAC,EAClC/3kB,EAAOyW,KAAO,gBACPzW,EAAOoiB,IACd7iB,EAAMw4kB,WAAa/3kB,CAAA,CAGrB,SAASirL,EAAQ1rL,GAIfN,KAAK64kB,WAAa,CAAC,CAAEJ,OAAQ,SAC7Bn4kB,EAAY4P,QAAQxL,EAAc1E,MAClCA,KAAK0xC,OAAA,EAAM,CA8Bb,SAASyiG,EAAO7zI,GACd,GAAIA,EAAU,CACZ,IAAIS,EAAiBT,EAASkE,GAC9B,GAAIzD,EACF,OAAOA,EAAeH,KAAKN,GAG7B,GAA6B,mBAAlBA,EAAS0C,KAClB,OAAO1C,EAGT,IAAKyZ,MAAMzZ,EAASK,QAAS,CAC3B,IAAIF,GAAK,EAAGD,EAAO,SAASO,IAC1B,OAASN,EAAIH,EAASK,QACpB,GAAIc,EAAOb,KAAKN,EAAUG,GAGxB,OAFAM,EAAK+B,MAAQxC,EAASG,GACtBM,EAAKoC,MAAA,EACEpC,EAOX,OAHAA,EAAK+B,WAAA,EACL/B,EAAKoC,MAAA,EAEEpC,CAAA,EAGT,OAAOP,EAAKwC,KAAOxC,CAAA,EAKvB,MAAO,CAAEwC,KAAMoC,EAAA,CAIjB,SAASA,IACP,MAAO,CAAEtC,WAAA,EAAkBK,MAAA,EAAM,CA+MnC,OA5mBA7D,EAAkBY,UAAYgE,EAAGjE,YAAcL,EAC/CA,EAA2BK,YAAcX,EACzCA,EAAkB69B,YAAcjxB,EAC9BtM,EACAW,EACA,qBAaFD,EAAQy4kB,oBAAsB,SAASz4kB,GACrC,IAAIS,EAAyB,mBAAXT,GAAyBA,EAAOL,YAClD,QAAOc,IACHA,IAASzB,GAG2B,uBAAnCyB,EAAKo8B,aAAep8B,EAAKgG,MAAA,EAIhCzG,EAAQ4lf,KAAO,SAAS5lf,GAQtB,OAPId,OAAOC,eACTD,OAAOC,eAAea,EAAQV,IAE9BU,EAAOZ,UAAYE,EACnBsM,EAAO5L,EAAQC,EAAmB,sBAEpCD,EAAOJ,UAAYV,OAAOW,OAAO+D,GAC1B5D,CAAA,EAOTA,EAAQ04kB,MAAQ,SAAS14kB,GACvB,MAAO,CAAEgF,QAAShF,EAAA,EAsEpBmD,EAAsB8/F,EAAcrjG,WACpCqjG,EAAcrjG,UAAUiF,GAAuB,WAC7C,OAAOnF,IAAA,EAETM,EAAQ24kB,cAAgB11e,EAKxBjjG,EAAQ2sJ,MAAQ,SAASlsJ,EAASU,EAAShB,EAAMD,EAAagE,QAAA,IACxDA,IAAwBA,EAAc9B,SAE1C,IAAIyC,EAAO,IAAIo+F,EACb/hG,EAAKT,EAASU,EAAShB,EAAMD,GAC7BgE,GAGF,OAAOlE,EAAQy4kB,oBAAoBt3kB,GAC/B0D,EACAA,EAAKnC,OAAOI,MAAK,SAAS9C,GACxB,OAAOA,EAAO6C,KAAO7C,EAAOwC,MAAQqC,EAAKnC,MAAA,KAuKjDS,EAAsBS,GAEtBgI,EAAOhI,EAAI3D,EAAmB,aAO9B2D,EAAGM,GAAkB,WACnB,OAAOxE,IAAA,EAGTkE,EAAGsL,SAAW,WACZ,MAAO,sBAkCTlP,EAAQkQ,KAAO,SAASlQ,GACtB,IAAIS,EAAO,GACX,IAAK,IAAIU,KAAOnB,EACdS,EAAKuD,KAAK7C,GAMZ,OAJAV,EAAK8gD,UAIE,SAASpgD,IACd,KAAOV,EAAKJ,QAAQ,CAClB,IAAIF,EAAMM,EAAKsD,MACf,GAAI5D,KAAOH,EAGT,OAFAmB,EAAKqB,MAAQrC,EACbgB,EAAK0B,MAAA,EACE1B,CAAA,CAQX,OADAA,EAAK0B,MAAA,EACE1B,CAAA,GAsCXnB,EAAQsjC,OAASuwG,EAMjB63C,EAAQ9rL,UAAY,CAClBD,YAAa+rL,EAEbt6I,MAAO,SAASpxC,GAcd,GAbAN,KAAKie,KAAO,EACZje,KAAKgD,KAAO,EAGZhD,KAAK4D,KAAO5D,KAAKq4kB,WAAA,EACjBr4kB,KAAKmD,MAAA,EACLnD,KAAKo4kB,SAAW,KAEhBp4kB,KAAKf,OAAS,OACde,KAAKmjB,SAAA,EAELnjB,KAAK64kB,WAAW3okB,QAAQ0Q,IAEnBtgB,EACH,IAAK,IAAIS,KAAQf,KAEQ,MAAnBe,EAAKokC,OAAO,IACZ1jC,EAAOb,KAAKZ,KAAMe,KACjBgZ,OAAOhZ,EAAKoc,MAAM,MACrBnd,KAAKe,QAAA,EAnhBX,EAyhBFk7F,KAAM,WACJj8F,KAAKmD,MAAA,EAEL,IACI7C,EADYN,KAAK64kB,WAAW,GACLC,WAC3B,GAAwB,UAApBx4kB,EAAWkX,KACb,MAAMlX,EAAW6iB,IAGnB,OAAOnjB,KAAKk5kB,IAAA,EAGdZ,kBAAmB,SAASh4kB,GAC1B,GAAIN,KAAKmD,KACP,MAAM7C,EAGR,IAAIS,EAAUf,KACd,SAASS,EAAOgB,EAAKhB,GAYnB,OAXA0E,EAAOqS,KAAO,QACdrS,EAAOge,IAAM7iB,EACbS,EAAQiC,KAAOvB,EAEXhB,IAGFM,EAAQ9B,OAAS,OACjB8B,EAAQoiB,SAAA,KAGA1iB,CAAA,CAGZ,IAAK,IAAID,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAIgE,EAAQxE,KAAK64kB,WAAWr4kB,GACxB2E,EAASX,EAAMs0kB,WAEnB,GAAqB,SAAjBt0kB,EAAMi0kB,OAIR,OAAOh4kB,EAAO,OAGhB,GAAI+D,EAAMi0kB,QAAUz4kB,KAAKie,KAAM,CAC7B,IAAI1d,EAAWkB,EAAOb,KAAK4D,EAAO,YAC9B0H,EAAazK,EAAOb,KAAK4D,EAAO,cAEpC,GAAIjE,GAAY2L,EAAY,CAC1B,GAAIlM,KAAKie,KAAOzZ,EAAMk0kB,SACpB,OAAOj4kB,EAAO+D,EAAMk0kB,UAAA,GACf,GAAI14kB,KAAKie,KAAOzZ,EAAMm0kB,WAC3B,OAAOl4kB,EAAO+D,EAAMm0kB,WAAA,MAGjB,GAAIp4kB,GACT,GAAIP,KAAKie,KAAOzZ,EAAMk0kB,SACpB,OAAOj4kB,EAAO+D,EAAMk0kB,UAAA,OAGjB,KAAIxskB,EAMT,MAAM,IAAIvD,MAAM,0CALhB,GAAI3I,KAAKie,KAAOzZ,EAAMm0kB,WACpB,OAAOl4kB,EAAO+D,EAAMm0kB,WAAA,KAU9B7rE,OAAQ,SAASxsgB,EAAMS,GACrB,IAAK,IAAIN,EAAIT,KAAK64kB,WAAWl4kB,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAID,EAAQR,KAAK64kB,WAAWp4kB,GAC5B,GAAID,EAAMi4kB,QAAUz4kB,KAAKie,MACrBxc,EAAOb,KAAKJ,EAAO,eACnBR,KAAKie,KAAOzd,EAAMm4kB,WAAY,CAChC,IAAIn0kB,EAAehE,EACnB,OAIAgE,IACU,UAATlE,GACS,aAATA,IACDkE,EAAai0kB,QAAU13kB,GACvBA,GAAOyD,EAAam0kB,aAGtBn0kB,EAAe,MAGjB,IAAIW,EAASX,EAAeA,EAAas0kB,WAAa,CAAC,EAIvD,OAHA3zkB,EAAOqS,KAAOlX,EACd6E,EAAOge,IAAMpiB,EAETyD,GACFxE,KAAKf,OAAS,OACde,KAAKgD,KAAOwB,EAAam0kB,WAClB3yiB,GAGFhmC,KAAK4gG,SAASz7F,EAAA,EAGvBy7F,SAAU,SAAStgG,EAAQS,GACzB,GAAoB,UAAhBT,EAAOkX,KACT,MAAMlX,EAAO6iB,IAcf,MAXoB,UAAhB7iB,EAAOkX,MACS,aAAhBlX,EAAOkX,KACTxX,KAAKgD,KAAO1C,EAAO6iB,IACM,WAAhB7iB,EAAOkX,MAChBxX,KAAKk5kB,KAAOl5kB,KAAKmjB,IAAM7iB,EAAO6iB,IAC9BnjB,KAAKf,OAAS,SACde,KAAKgD,KAAO,OACa,WAAhB1C,EAAOkX,MAAqBzW,IACrCf,KAAKgD,KAAOjC,GAGPilC,CAAA,EAGT38B,OAAQ,SAAS/I,GACf,IAAK,IAAIS,EAAIf,KAAK64kB,WAAWl4kB,OAAS,EAAGI,GAAK,IAAKA,EAAG,CACpD,IAAIU,EAAQzB,KAAK64kB,WAAW93kB,GAC5B,GAAIU,EAAMk3kB,aAAer4kB,EAGvB,OAFAN,KAAK4gG,SAASn/F,EAAMq3kB,WAAYr3kB,EAAMm3kB,UACtCh4jB,EAAcnf,GACPukC,CAAA,GAKbh9B,MAAS,SAAS1I,GAChB,IAAK,IAAIS,EAAIf,KAAK64kB,WAAWl4kB,OAAS,EAAGI,GAAK,IAAKA,EAAG,CACpD,IAAIU,EAAQzB,KAAK64kB,WAAW93kB,GAC5B,GAAIU,EAAMg3kB,SAAWn4kB,EAAQ,CAC3B,IAAIG,EAASgB,EAAMq3kB,WACnB,GAAoB,UAAhBr4kB,EAAO+W,KAAkB,CAC3B,IAAIhX,EAASC,EAAO0iB,IACpBvC,EAAcnf,EAAA,CAEhB,OAAOjB,CAAA,EAMX,MAAM,IAAImI,MAAM,0BAGlBwwkB,cAAe,SAAS74kB,EAAUS,EAAYU,GAa5C,OAZAzB,KAAKo4kB,SAAW,CACdn0kB,SAAUkwI,EAAO7zI,GACjBi4kB,WAAYx3kB,EACZy3kB,QAAS/2kB,GAGS,SAAhBzB,KAAKf,SAGPe,KAAKmjB,SAAA,GAGA6iB,CAAA,GAQJ1lC,CAAA,CA7sBM,CAotBK,qBAAXS,EAAP,YAAAN,EAAOM,IAAsBA,EAAO3C,QAAU,CAAC,GAGjD,IACEg7kB,mBAAqB54kB,CAAA,CACrB,MAAOF,GAUP64H,SAAS,IAAK,yBAAdA,CAAwC34H,EAAA,qBAAAF,EAAAS,EAAAU,GC1uB1C,aACA,IAAIhB,EAASH,EAAQ,UAAUoN,OAC3BlN,EAAWF,EAAQ,YACnBkE,EAAWlE,EAAQ,aAEnB6E,EAAU,IAAIxF,MAAM,IAEpBY,EAAK,CACP,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAClD,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EACnD,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAClD,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EACnD,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,IAGhD2L,EAAK,CACP,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAClD,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EACnD,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAClD,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAClD,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,IAGhD1K,EAAK,CACP,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EACrD,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GACpD,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EACrD,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GACpD,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAGnD+B,EAAK,CACP,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EACrD,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GACpD,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EACrD,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EACrD,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,IAGlDyiC,EAAK,CAAC,EAAY,WAAY,WAAY,WAAY,YACtDrd,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,GAE1D,SAASrpB,IACPkF,EAAS5D,KAAKZ,KAAM,IAGpBA,KAAKtB,GAAK,WACVsB,KAAKqN,GAAK,WACVrN,KAAKqzD,GAAK,WACVrzD,KAAKszD,GAAK,UACVtzD,KAAK+qP,GAAK,WAwFZ,SAASnrP,EAAMU,EAAGS,GAChB,OAAQT,GAAKS,EAAMT,IAAO,GAAKS,CAAA,CAGjC,SAAS0D,EAAKnE,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,EAAG5E,GACjC,OAAQX,EAAMU,GAAKS,EAAIU,EAAIhB,GAAK+D,EAAIW,EAAK,EAAG5E,GAAKC,EAAK,EAGxD,SAASgD,EAAKlD,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,EAAG5E,GACjC,OAAQX,EAAMU,GAAMS,EAAIU,GAAQV,EAAKN,GAAM+D,EAAIW,EAAK,EAAG5E,GAAKC,EAAK,EAGnE,SAASjB,EAAKe,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,EAAG5E,GACjC,OAAQX,EAAMU,IAAMS,GAAMU,GAAMhB,GAAK+D,EAAIW,EAAK,EAAG5E,GAAKC,EAAK,EAG7D,SAAS0D,EAAK5D,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,EAAG5E,GACjC,OAAQX,EAAMU,GAAMS,EAAIN,EAAMgB,GAAMhB,GAAO+D,EAAIW,EAAK,EAAG5E,GAAKC,EAAK,EAGnE,SAASiD,EAAKnD,EAAGS,EAAGU,EAAGhB,EAAGD,EAAGgE,EAAGW,EAAG5E,GACjC,OAAQX,EAAMU,GAAKS,GAAKU,GAAMhB,IAAO+D,EAAIW,EAAK,EAAG5E,GAAKC,EAAK,EA1G7DA,EAASlB,EAAWkF,GAEpBlF,EAAUY,UAAUm3P,QAAU,WAE5B,IADA,IAAI/2P,EAAQ6E,EACHpE,EAAI,EAAGA,EAAI,KAAMA,EAAGT,EAAMS,GAAKf,KAAKi1jB,OAAOpkgB,YAAgB,EAAJ9vD,GAehE,IAbA,IAAIU,EAAe,EAAVzB,KAAKtB,GACV+B,EAAe,EAAVT,KAAKqN,GACV7M,EAAe,EAAVR,KAAKqzD,GACV7uD,EAAe,EAAVxE,KAAKszD,GACVh0D,EAAe,EAAVU,KAAK+qP,GAEVxnJ,EAAe,EAAVvjG,KAAKtB,GACVgF,EAAe,EAAV1D,KAAKqN,GACV3I,EAAe,EAAV1E,KAAKqzD,GACVzyC,EAAe,EAAV5gB,KAAKszD,GACV04H,EAAe,EAAVhsL,KAAK+qP,GAGL52G,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAAG,CAC9B,IAAI/uI,EACA0mL,EACA33C,EAAI,IACN/uI,EAAKX,EAAIhD,EAAIhB,EAAID,EAAIgE,EAAIlF,EAAIgB,EAAMC,EAAG4zI,IAAKnuG,EAAG,GAAIxkC,EAAG2yI,IACrD23C,EAAKroL,EAAI8/F,EAAI7/F,EAAIgB,EAAIkc,EAAIorK,EAAI1rL,EAAM4L,EAAGioI,IAAKxrH,EAAG,GAAIplB,EAAG4wI,KAC5CA,EAAI,IACb/uI,EAAK5B,EAAI/B,EAAIhB,EAAID,EAAIgE,EAAIlF,EAAIgB,EAAMC,EAAG4zI,IAAKnuG,EAAG,GAAIxkC,EAAG2yI,IACrD23C,EAAK5nL,EAAIq/F,EAAI7/F,EAAIgB,EAAIkc,EAAIorK,EAAI1rL,EAAM4L,EAAGioI,IAAKxrH,EAAG,GAAIplB,EAAG4wI,KAC5CA,EAAI,IACb/uI,EAAK7F,EAAIkC,EAAIhB,EAAID,EAAIgE,EAAIlF,EAAIgB,EAAMC,EAAG4zI,IAAKnuG,EAAG,GAAIxkC,EAAG2yI,IACrD23C,EAAKvsL,EAAIgkG,EAAI7/F,EAAIgB,EAAIkc,EAAIorK,EAAI1rL,EAAM4L,EAAGioI,IAAKxrH,EAAG,GAAIplB,EAAG4wI,KAC5CA,EAAI,IACb/uI,EAAKlB,EAAIzC,EAAIhB,EAAID,EAAIgE,EAAIlF,EAAIgB,EAAMC,EAAG4zI,IAAKnuG,EAAG,GAAIxkC,EAAG2yI,IACrD23C,EAAKtoL,EAAI+/F,EAAI7/F,EAAIgB,EAAIkc,EAAIorK,EAAI1rL,EAAM4L,EAAGioI,IAAKxrH,EAAG,GAAIplB,EAAG4wI,MAErD/uI,EAAK3B,EAAIhC,EAAIhB,EAAID,EAAIgE,EAAIlF,EAAIgB,EAAMC,EAAG4zI,IAAKnuG,EAAG,GAAIxkC,EAAG2yI,IACrD23C,EAAKrnL,EAAI8+F,EAAI7/F,EAAIgB,EAAIkc,EAAIorK,EAAI1rL,EAAM4L,EAAGioI,IAAKxrH,EAAG,GAAIplB,EAAG4wI,KAGvD1yI,EAAKnC,EACLA,EAAKkF,EACLA,EAAK5E,EAAKY,EAAI,IACdA,EAAKC,EACLA,EAAK2E,EAELm+F,EAAKyoF,EACLA,EAAKprK,EACLA,EAAKhhB,EAAK8E,EAAI,IACdA,EAAKhB,EACLA,EAAKooL,CAAA,CAIP,IAAIwmW,EAAKtyhB,KAAKqN,GAAK7M,EAAKogB,EAAM,EAC9B5gB,KAAKqN,GAAMrN,KAAKqzD,GAAK7uD,EAAKwnL,EAAM,EAChChsL,KAAKqzD,GAAMrzD,KAAKszD,GAAKh0D,EAAKikG,EAAM,EAChCvjG,KAAKszD,GAAMtzD,KAAK+qP,GAAKtpP,EAAKiC,EAAM,EAChC1D,KAAK+qP,GAAM/qP,KAAKtB,GAAK+B,EAAKiE,EAAM,EAChC1E,KAAKtB,GAAK4zhB,CAAA,EAGZhzhB,EAAUY,UAAUm1jB,QAAU,WAE5Br1jB,KAAKi1jB,OAAOj1jB,KAAKk1jB,gBAAkB,IAC/Bl1jB,KAAKk1jB,aAAe,KACtBl1jB,KAAKi1jB,OAAOh8hB,KAAK,EAAGj5B,KAAKk1jB,aAAc,IACvCl1jB,KAAKq3P,UACLr3P,KAAKk1jB,aAAe,GAGtBl1jB,KAAKi1jB,OAAOh8hB,KAAK,EAAGj5B,KAAKk1jB,aAAc,IACvCl1jB,KAAKi1jB,OAAOzjgB,cAAcxxD,KAAKm1jB,QAAQ,GAAI,IAC3Cn1jB,KAAKi1jB,OAAOzjgB,cAAcxxD,KAAKm1jB,QAAQ,GAAI,IAC3Cn1jB,KAAKq3P,UAGL,IAAI/2P,EAASG,EAAO4d,MAAQ5d,EAAO4d,MAAM,IAAM,IAAI5d,EAAO,IAM1D,OALAH,EAAO2xD,aAAajyD,KAAKtB,GAAI,GAC7B4B,EAAO2xD,aAAajyD,KAAKqN,GAAI,GAC7B/M,EAAO2xD,aAAajyD,KAAKqzD,GAAI,GAC7B/yD,EAAO2xD,aAAajyD,KAAKszD,GAAI,IAC7BhzD,EAAO2xD,aAAajyD,KAAK+qP,GAAI,IACtBzqP,CAAA,EA2BTS,EAAO3C,QAAUkB,CAAA,GAAAmK,OAAA,oBAAAg2gB,SAAA,oBAAAn/gB,EAAAS,EAAAU,GAAA,aCjKjB,IAAIhB,EAASH,EAAQ,UACjBE,EAASC,EAAOiN,OAGpB,SAASlJ,EAAWlE,EAAKS,GACvB,IAAK,IAAIU,KAAOnB,EACdS,EAAIU,GAAOnB,EAAImB,EAAA,CAWnB,SAAS0D,EAAY7E,EAAKS,EAAkBU,GAC1C,OAAOjB,EAAOF,EAAKS,EAAkBU,EAAA,CATnCjB,EAAO8J,MAAQ9J,EAAO6d,OAAS7d,EAAO4pD,aAAe5pD,EAAO0tD,gBAC9DntD,EAAO3C,QAAUqC,GAGjB+D,EAAU/D,EAAQgB,GAClBA,EAAQiM,OAASvI,GAQnBX,EAAUhE,EAAQ2E,GAElBA,EAAWmF,KAAO,SAAUhK,EAAKS,EAAkBU,GACjD,GAAmB,iBAARnB,EACT,MAAM,IAAI8D,UAAU,iCAEtB,OAAO5D,EAAOF,EAAKS,EAAkBU,EAAA,EAGvC0D,EAAWkZ,MAAQ,SAAU/d,EAAMS,EAAMU,GACvC,GAAoB,iBAATnB,EACT,MAAM,IAAI8D,UAAU,6BAEtB,IAAI3D,EAAMD,EAAOF,GAUjB,YAAO,IATHS,EACsB,iBAAbU,EACThB,EAAIw4B,KAAKl4B,EAAMU,GAEfhB,EAAIw4B,KAAKl4B,GAGXN,EAAIw4B,KAAK,GAEJx4B,CAAA,EAGT0E,EAAWilD,YAAc,SAAU9pD,GACjC,GAAoB,iBAATA,EACT,MAAM,IAAI8D,UAAU,6BAEtB,OAAO5D,EAAOF,EAAA,EAGhB6E,EAAW+oD,gBAAkB,SAAU5tD,GACrC,GAAoB,iBAATA,EACT,MAAM,IAAI8D,UAAU,6BAEtB,OAAO3D,EAAO66iB,WAAWh7iB,EAAA,IAAAmJ,OAAA,oBAAAnJ,EAAAS,EAAAU,IAAA,SAAAA,GC1D3B,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CAEA,IAKIE,EALAgE,EAASlE,EAAQ,UACjB6E,EAASX,EAAOkJ,OAEhBnN,EAAQ,CAAC,EAIb,IAAKC,KAAOgE,EACLA,EAAO3E,eAAeW,IACf,eAARA,GAAgC,WAARA,IAC5BD,EAAMC,GAAOgE,EAAOhE,IAGtB,IAAI0L,EAAQ3L,EAAMmN,OAAS,CAAC,EAC5B,IAAKlN,KAAO2E,EACLA,EAAOtF,eAAeW,IACf,gBAARA,GAAiC,oBAARA,IAC7B0L,EAAM1L,GAAO2E,EAAO3E,IAqCtB,GAlCAD,EAAMmN,OAAOxN,UAAYiF,EAAOjF,UAE3BgM,EAAM5B,MAAQ4B,EAAM5B,OAASpD,WAAWoD,OAC3C4B,EAAM5B,KAAO,SAAUhK,EAAOS,EAAkBU,GAC9C,GAAqB,iBAAVnB,EACT,MAAM,IAAI8D,UAAU,kEAAA3D,EAA2EH,IAEjG,GAAIA,QAAA,IAAgBA,EAAMK,OACxB,MAAM,IAAIyD,UAAU,kHAAA3D,EAA2HH,IAEjJ,OAAO6E,EAAO7E,EAAOS,EAAkBU,EAAA,GAItCyK,EAAMmS,QACTnS,EAAMmS,MAAQ,SAAU/d,EAAMS,EAAMU,GAClC,GAAoB,iBAATnB,EACT,MAAM,IAAI8D,UAAU,6DAAA3D,EAAsEH,IAE5F,GAAIA,EAAO,GAAKA,GAAQ,GAAK,GAAK,IAChC,MAAM,IAAI4pD,WAAW,cAAgB5pD,EAAO,kCAE9C,IAAIE,EAAM2E,EAAO7E,GAQjB,OAPKS,GAAwB,IAAhBA,EAAKJ,OAEa,iBAAbc,EAChBjB,EAAIy4B,KAAKl4B,EAAMU,GAEfjB,EAAIy4B,KAAKl4B,GAJTP,EAAIy4B,KAAK,GAMJz4B,CAAA,IAIND,EAAM84kB,iBACT,IACE94kB,EAAM84kB,iBAAmB53kB,EAAQuikB,QAAQ,UAAUqV,gBAAA,CACnD,MAAO/4kB,GAAA,CAMNC,EAAMkhhB,YACTlhhB,EAAMkhhB,UAAY,CAChB63D,WAAY/4kB,EAAMupD,YAEhBvpD,EAAM84kB,mBACR94kB,EAAMkhhB,UAAU83D,kBAAoBh5kB,EAAM84kB,mBAI9Ct4kB,EAAO3C,QAAUmC,CAAA,GAAAK,KAAA,KAAAN,EAAA,eAAAs5D,SAAA,IAAAnwD,OAAA,oBAAAnJ,EAAAS,EAAAU,GC5EjB,aAEA,SAAAhB,EAAAH,EAAAS,GAAA,IAAAU,EAAA,uBAAAuC,QAAA,MAAA1D,EAAA0D,OAAAC,UAAA,IAAAtE,MAAAkoB,QAAAvnB,KAAAmB,EAAAlB,EAAAD,KAAAS,GAAAT,GAAA,iBAAAA,EAAAK,OAAA,CAAAc,IAAAnB,EAAAmB,GAAA,IAAAhB,EAAA,EAAAD,EAAA,oBAAAD,EAAAC,EAAAC,EAAA,kBAAAA,GAAAH,EAAAK,OAAA,CAAAwC,MAAA,IAAAA,MAAA,EAAAL,MAAAxC,EAAAG,KAAA,EAAAM,EAAA,SAAAT,GAAA,MAAAA,CAAA,EAAAiD,EAAA/C,EAAA,WAAA4D,UAAA,6IAAAI,EAAAW,GAAA,EAAA+G,GAAA,SAAA3L,EAAA,WAAAkB,EAAAnB,EAAA0D,OAAAC,WAAA,EAAAxD,EAAA,eAAAH,EAAAmB,EAAAuB,OAAA,OAAAmC,EAAA7E,EAAA6C,KAAA7C,CAAA,EAAAS,EAAA,SAAAT,GAAA4L,GAAA,EAAA1H,EAAAlE,CAAA,EAAAiD,EAAA,eAAA4B,GAAA,MAAA1D,EAAAsc,QAAAtc,EAAAsc,QAAA,YAAA7R,EAAA,MAAA1H,CAAA,IAEA,SAAAhE,EAAAF,GAAA,OAAAE,EAAA,mBAAAwD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CAIA,SAAAkE,EAAAlE,EAAAS,GAAA,QAAAU,EAAA,EAAAA,EAAAV,EAAAJ,OAAAc,IAAA,KAAAhB,EAAAM,EAAAU,GAAAhB,EAAAoJ,WAAApJ,EAAAoJ,aAAA,EAAApJ,EAAA+mD,cAAA,YAAA/mD,IAAAA,EAAAgnD,UAAA,GAAAjoD,OAAAqC,eAAAvB,EAAAG,EAAAa,IAAAb,EAAA,EAIA,SAAA0E,EAAA7E,GAAA,OAQA,SAAAA,GAAA,GAAAX,MAAAkoB,QAAAvnB,GAAA,OAAA4L,EAAA5L,EAAA,EARAA,IAMA,SAAAA,GAAA,uBAAA0D,QAAAA,OAAAC,YAAAzE,OAAAc,GAAA,OAAAX,MAAA2K,KAAAhK,EAAA,EANAA,IAAAC,EAAAD,IAEA,qBAAA8D,UAAA,0IAFA,CAIA,SAAA7D,EAAAD,EAAAS,GAAA,GAAAT,EAAA,qBAAAA,EAAA,OAAA4L,EAAA5L,EAAAS,GAAA,IAAAU,EAAAjC,OAAAU,UAAAsP,SAAA5O,KAAAN,GAAA6c,MAAA,uBAAA1b,GAAAnB,EAAAL,cAAAwB,EAAAnB,EAAAL,YAAA8G,MAAA,QAAAtF,GAAA,QAAAA,EAAA9B,MAAA2K,KAAAhK,GAAA,cAAAmB,GAAA,2CAAAkgC,KAAAlgC,GAAAyK,EAAA5L,EAAAS,QAAA,GAMA,SAAAmL,EAAA5L,EAAAS,IAAA,MAAAA,GAAAA,EAAAT,EAAAK,UAAAI,EAAAT,EAAAK,QAAA,QAAAc,EAAA,EAAAhB,EAAA,IAAAd,MAAAoB,GAAAU,EAAAV,EAAAU,IAAAhB,EAAAgB,GAAAnB,EAAAmB,GAAA,OAAAhB,CAAA,CAEAjB,OAAAqC,eAAAJ,EAAA,cACAqB,OAAA,IAGA,IAAAtB,EAAAlB,EAAA,wBAEAiD,EAAAjD,EAAA,wBAEA0lC,EAAA1lC,EAAA,0BAEAqoB,EAAAnnB,EAAAg4kB,IACAl6kB,EAAAkC,EAAAi4kB,OACA75kB,EAAA4B,EAAAk4kB,gBACAj1kB,EAAAjD,EAAAm4kB,WACAn2kB,EAAAhC,EAAAo4kB,OACAr6kB,EAAAiC,EAAAq4kB,QACA31kB,EAAAX,EAAAk2kB,OACAh2kB,EAAAuiC,EAAA8ziB,kBACAv2e,EAAAv9D,EAAA+ziB,aACAr2kB,EAAAsiC,EAAAg0iB,WACAt1kB,EAAA,uCACAkc,EAAA,gCACAorK,EAAA,CAEAtsL,UAAA,KACA+sJ,IAAA/nJ,EACAohhB,MAAAllgB,GAEAuzH,EAAA,CAEAz0I,UAAA,KACAu6kB,IAAA,IACAprC,GAAA,IACAjvX,GAAA,IACAs6Z,KAAA,IACAC,KAAA,KAyGA/0kB,EAAA,GAEA0mL,EAAA,GAMAwmW,EAAA,SAAAhyhB,GACA,OAhBA,KAgBAA,GAdA,KAcAA,CAAA,EAGAihE,EAAA,CAnBA,GAEA,IAkBA7L,EAAA,GAAA32D,OAAAwiE,EAAA,CAVA,GAFA,KAaA/+D,EAAA,GAAAzD,OAAAwiE,EAAA,CAfA,GAKA,KAWAzJ,EAAA,CAAA1yD,EAAA0mL,GAAA/sL,OAAAoG,EAAA3B,IACAwrf,EAAA,GAAAjwf,OAAAoG,EAAA3B,GAAA,CAfA,GAPA,GAKA,KAmBA,SAAA+uhB,EAAAjyhB,EAAAS,EAAAU,GACA,OAAAV,GACA,UACAU,IAAAiD,GACApE,EAAAy2F,KAAA,+BAAAh4F,OAAA2F,EAAA,MAGA,MAEA,YACAjD,IAAAmf,GACAtgB,EAAAy2F,KAAA,iCAAAh4F,OAAA6hB,EAAA,MAQA,OAAAnf,GACA,KAAAmf,EACAtgB,EAAAy2F,KAAA,KAAAh2F,EAAA,2CAAAhC,OAAA0C,EAAA,0DAAA1C,OAAA6hB,EAAA,MACA,MAEA,KAAAlc,EACA,OAAA3D,GACA,UAEA,MAEA,OACAT,EAAAy2F,KAAA,2CAAAh4F,OAAA0C,EAAA,MACA,MAEA,QACAnB,EAAAy2F,KAAA,yDAgBA,IAAAy7b,EAAA,SAAAlyhB,GACA,OAAAoD,EAAAi+B,KAAArhC,EAAA,EAGAmyhB,EAAA,SAAAnyhB,GACA,OAAAf,EAAAoiC,KAAArhC,EAAA,EAUAmB,EAAA24kB,OAAA,6IACA,IAAA1nD,EAAA,CACA2nD,QAAA,iBACAhjkB,KAAA,cACAijkB,sBAAA,YACAC,QAAA,iBACAh6jB,QAAA,iBACAi6jB,aAAA,sBACA/qY,UAAA,mBACAgrY,QAAA,iBACAC,SAAA,kBACAC,MAAA,eACA51kB,MAAA,eACAmY,IAAA,aACA26H,MAAA,gBAGAn6E,EAAA,WAIA,SAAAp9D,EAAAS,IAvQA,SAAAT,EAAAS,GAAA,KAAAT,aAAAS,GAAA,UAAAqD,UAAA,sCAwQA,KAAA9D,GAEA,KAAAg/C,IAAA,MAAAv+C,EAAAA,EAAA,GACA,KAAA65kB,cAAA,KAAAt7hB,IAAAu7hB,SACA,IAAAp5kB,EAAA,KAAAq5kB,WAAA,KAAAx7hB,IAAAwme,MAIA,GAHA,KAAAi1D,eAAA,SAAAz7hB,IAAA10C,SACA,KAAAmwC,SAAA,KAAAuE,IAAAvE,SAEAt5C,EAAA,CAQA,KAAAu5kB,eAAAv3kB,EACA,KAAAw3kB,UAAA13e,EACA,KAAA23e,OAAA1oD,EAEA,KAAA2oD,eAAA,KAAAC,iBAEA,KAAAC,WAAA,KAAAC,aAEA,KAAApoe,GAAA1zG,OAAAa,OAAA,CACAX,UAAA,MACAssL,GACA,IAAAvrL,EAAA,KAAA6+C,IAAAi8hB,qBAEA,MAAA96kB,IAzEA,SAAAH,EAAAS,GACA,QAAAU,EAAA,EAAAhB,EAAAjB,OAAAgR,KAAAzP,GAAAU,EAAAhB,EAAAE,OAAAc,IAAA,CACA,IAAAjB,EAAAC,EAAAgB,GACA8whB,EAAAjyhB,EAAAE,EAAAO,EAAAP,GAAA,EAHA,CA0EA,KAAAC,GACAjB,OAAAa,OAAA,KAAA6yG,GAAAzyG,GAAA,MAGA,KAAAu6kB,eAAAp7kB,EACA,KAAAq7kB,UAAAx2kB,EACA,KAAAy2kB,OAAAzoD,EAEA,KAAA0oD,eAAA,KAAAK,oBAEA,KAAAH,WAAA,KAAAI,gBAQA,KAAAC,WAAA,CAEA,KAAAC,OAAA,KAAAC,iBAAA,KAAAC,SAAA,KAAAC,cAAA,KAAAC,KAAA,KAAAC,WAAA,KAAAC,aAAA,KAAAC,iBAAA,KAAAC,YAAA,KAAAC,kBAAA,KAAAC,iBAAA,KAAAC,OAAA,KAAAC,aAAA,KAAAC,MAAA,KAAAC,QAAA,KAAAC,UAAA,KAAAC,cAAA,KAAAC,SAAA,KAAAC,eAAA,KAAAC,cAAA,KAAAC,OAAA,KAAAC,aAAA,KAAAC,cAAA,KAAAC,aAAA,KAAAC,QAAA,KAAAC,QAAA,KAAAC,UAAA,KAAAC,kBAAA,KAAAC,aAAA,KAAAC,WAAA,KAAAC,mBAAA,KAAAC,cAAA,KAAAC,kBAAA,KAAAC,eAAA,KAAAC,SAAA,KAAAC,cAAA,KAAAC,QAAA,KAAAC,YAAA,KAAAC,oBAAA,KAAAC,aAAA,KAAAC,mBAAA,KAAAC,mBAAA,KAAAC,qBAAA,KAAAC,UAAA,KAAAC,mBAEA,KAAAlje,OAAA,CAxTA,IAAAt6G,EAAAU,EAAA0D,EAy/EA,OAz/EApE,EAgUAT,GAhUAmB,EAgUA,EACAH,IAAA,QACAwB,MAAA,WACA,IAAAxC,EAEA,KAAAk+kB,aAAA,GACA,KAAAnnkB,KAAA,GACA,KAAAtQ,KAAA,GACA,KAAA03kB,SAAA,GACA,KAAA3iQ,OAAA,GACA,KAAAr2U,EAAA,KACA,KAAA2V,KAAA,GACA,KAAAF,IAAA,KACA,KAAAwjkB,MAAA,KACA,KAAApH,MAAA,GACA,KAAAqH,cAAA,EACA,KAAAn+kB,EAAA,EACA,KAAAo+kB,MAAA,EACA,KAAAC,yBAAA,EACA,KAAAC,eA5GA,EA6GA,KAAAC,WAAA,GAGA,IAAAh+kB,EAAA,KAAA65kB,YACA,KAAAxwkB,MAAArJ,EA1QA,GAxBA,EAoSA,KAAAi+kB,uBAAA,KAAAC,sBAAA,KAAAC,WAAA,KAAAC,QAAAp+kB,EAGA,KAAAq+kB,iBAAAr+kB,EACA,KAAAs+kB,eAAA,YACA,KAAAC,uBAAA,EACA,IAAA79kB,EAAA,KAAA69C,IAAAigiB,kBAEA,YAAA99kB,EAAA,CACA,aAAA69C,IAAAkgiB,gBACA,UAAA72kB,MAAA,wDAGAlH,EAAA,MAGA,KAAAg+kB,cAAAh+kB,GACA,KAAAi+kB,kBAAA,EACA,KAAAnF,SAAA,EACA,KAAAoF,SAAA,EACA,KAAAC,QAAA,CACAxgiB,aAAA,EACAp3C,cAAA,EACA69K,gBAAA,GAEA,KAAAroK,KAAA,EACA,KAAAC,OAAA,EACA,KAAAoikB,SAAArglB,OAAAW,OAAAg0I,GAEA,QAAA7zI,EAAA,KAAAw/kB,oBAAA,IAAAx/kB,GAAAA,EAAAM,KAAA,QAUA,CACAU,IAAA,KAWAwB,MAAA,SAAAxC,EAAAS,GAEA,KAAA2xhB,EAAApyhB,IAAAS,CAAA,GAQA,CACAO,IAAA,MACAwB,MAAA,SAAAxC,GAEA,KAAAoyhB,EAAApyhB,SAAA,IAaA,CACAgB,IAAA,YACAwB,MAAA,SAAAxC,GACA,IAAAS,EAEAU,EAAA,QAAAV,EAAA,KAAAg6C,gBAAA,IAAAh6C,EAAAA,EAAA,GAcA,OAZA,KAAAg6kB,gBACAt5kB,EAAAd,OAAA,IACAc,GAAA,KAGAA,GAAA,GAAA1C,OAAA,KAAAye,KAAA,KAAAze,OAAA,KAAA0e,SAGAhc,EAAAd,OAAA,IACAc,GAAA,MAGA,IAAAkH,MAAAlH,EAAAnB,EAAA,GAYA,CACAgB,IAAA,OACAwB,MAAA,SAAAxC,GACA,IAAAS,EAAA,KAAAmlI,UAAA5lI,GACAmB,EAAA,KAAAq3I,aAEA,YAAAr3I,EACA,MAAAV,EAKA,OAHAU,EAAAV,GAGA,OAUA,CACAO,IAAA,QACAwB,MAAA,SAAAxC,GACA,QAAAy/kB,OACA,YAAAhpf,KAAA,wDAGA,IAAAh2F,GAAA,EAEA,OAAAT,GAGAS,GAAA,EACAT,EAAA,IACA,WAAAE,EAAAF,KACAA,EAAAA,EAAAkP,iBAAA,IAQA,KAAAqvkB,sBAEAv+kB,EAAA,GAAAvB,OAAA,KAAA8/kB,qBAAA9/kB,OAAAuB,GACA,KAAAu+kB,yBAAA,GAGA,IAAAp9kB,EAAAnB,EAAAK,OACAF,EAAAH,EAAAoO,WAAAjN,EAAA,IAEAV,IA7WA,KA+WAN,GAAAA,GAAA,OAAAA,GAAA,SAIA,KAAAo+kB,oBAAAv+kB,EAAAmB,EAAA,GACAA,IACAnB,EAAAA,EAAA6c,MAAA,EAAA1b,IAGA,IAAA+C,EAAA,KAAAk3kB,WAIA,IAHA,KAAApE,MAAAh3kB,EACA,KAAAE,EAAA,EAEA,KAAAA,EAAAiB,GAEA+C,EAAA,KAAA4F,OAAAxJ,KAAA,MAIA,OADA,KAAA+9kB,eAAAl9kB,EACAV,EAAA,KAAAmc,MAAA,OASA,CACA5b,IAAA,QACAwB,MAAA,WACA,YAAA06C,MAAA,QAWA,CACAl8C,IAAA,YACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAg3kB,MACAv2kB,EAAA,KAAAP,EAMA,GALA,KAAAo+kB,MAAA79kB,EAGA,KAAAP,EAAAO,EAAA,EAEAA,GAAAT,EAAAK,OACA,OAhgBA,EAqgBA,IAAAc,EAAAnB,EAAAoO,WAAA3N,GAGA,GAFA,KAAA0c,SAEAhc,EAAA,OACA,GAAAA,GA5aA,IAHA,IA+aAA,EACA,OAAAA,EAGA,OAAAA,GACA,KAnbA,GAubA,OAHA,KAAA+b,OACA,KAAAC,OAAA,EACA,KAAAiikB,kBAAA,KAAA90kB,SAtbA,GAybA,KAxbA,GAucA,OAxcA,KA2bAtK,EAAAoO,WAAA3N,EAAA,KAIA,KAAAP,EAAAO,EAAA,GAMA,KAAAyc,OACA,KAAAC,OAAA,EACA,KAAAiikB,kBAAA,KAAA90kB,UAjiBA,EAoiBA,QAGA,OADA,KAAAmsF,KAAA,yBACAt1F,EAAA,CAIA,GAAAA,EAAA,MAQA,OAJAA,GAAA,OAAAA,GAAA,OACA,KAAAs1F,KAAA,yBAGAt1F,EAGA,IAAAhB,EAAA,YAAAgB,EAAA,QAAAnB,EAAAoO,WAAA3N,EAAA,UAQA,OAPA,KAAAP,EAAAO,EAAA,EAGAN,EAAA,SACA,KAAAs2F,KAAA,yBAGAt2F,CAAA,GAWA,CACAa,IAAA,YACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAg3kB,MACAv2kB,EAAA,KAAAP,EAMA,GALA,KAAAo+kB,MAAA79kB,EAGA,KAAAP,EAAAO,EAAA,EAEAA,GAAAT,EAAAK,OACA,OArlBA,EA0lBA,IAAAc,EAAAnB,EAAAoO,WAAA3N,GAGA,GAFA,KAAA0c,SAEAhc,EAAA,OACA,GAAAA,EAAA,IAAAA,EAAA,KAAAA,EAAA,KAlfA,OAkfAA,GApgBA,IAogBAA,EACA,OAAAA,EAGA,OAAAA,GACA,KAxgBA,GA6gBA,OAHA,KAAA+b,OACA,KAAAC,OAAA,EACA,KAAAiikB,kBAAA,KAAA90kB,SA5gBA,GA+gBA,KA9gBA,GAmhBA,IAAAnK,EAAAH,EAAAoO,WAAA3N,EAAA,GAphBA,KAshBAN,GAtgBA,MAsgBAA,IAGA,KAAAD,EAAAO,EAAA,GAOA,KAhhBA,IAkhBA,KAjhBA,KAshBA,OAHA,KAAAyc,OACA,KAAAC,OAAA,EACA,KAAAiikB,kBAAA,KAAA90kB,UAhoBA,EAmoBA,QAEA,OADA,KAAAmsF,KAAA,yBACAt1F,EAAA,CAIA,GAAAA,EAAA,MAQA,OAJAA,GAAA,OAAAA,GAAA,OACA,KAAAs1F,KAAA,yBAGAt1F,EAGA,IAAAjB,EAAA,YAAAiB,EAAA,QAAAnB,EAAAoO,WAAA3N,EAAA,UAQA,OAPA,KAAAP,EAAAO,EAAA,EAGAP,EAAA,SACA,KAAAu2F,KAAA,yBAGAv2F,CAAA,GAOA,CACAc,IAAA,cACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA0/kB,UACA,OAvqBA,IAuqBA1/kB,EA7kBA,GA6kBAA,CAAA,GAEA,CACAgB,IAAA,QACAwB,MAAA,WACA,KAAAtC,EAAA,KAAAo+kB,MACA,KAAAnhkB,QAAA,GAcA,CACAnc,IAAA,YACAwB,MAAA,SAAAxC,GAIA,IAHA,IAAAS,EAAA,KAAAP,EACAiB,EAAA,KAAA61kB,QAEA,CACA,IAAA72kB,EAAA,KAAAu/kB,UACAx/kB,GAnsBA,IAmsBAC,EACA+D,EAAAhE,EA1mBA,GA0mBAC,EAEA,IAvsBA,IAusBA+D,GAAAlE,EAAA0uD,SAAAxqD,GAEA,OADA,KAAA6S,MAAA5V,EAAA0b,MAAApc,EAAA,KAAA69kB,OACAp6kB,EAGAhE,IACA,KAAA6W,MAAA,GAAAtY,OAAA0C,EAAA0b,MAAApc,EAAA,KAAA69kB,OAAA,MACA79kB,EAAA,KAAAP,EAAA,IAcA,CACAc,IAAA,gBACAwB,MAAA,SAAAxC,GAIA,IAHA,IAAAS,EAAA,KAAAP,EACAiB,EAAA,KAAA61kB,QAEA,CACA,IAAA72kB,EAAA,KAAAu/kB,UAEA,OAAAv/kB,GACA,KAruBA,EAsuBA,KAAA4W,MAAA,GAAAtY,OAAA0C,EAAA0b,MAAApc,EAAA,KAAA69kB,OAAA,MACA79kB,EAAA,KAAAP,EACAC,EA9oBA,GA+oBA,MAEA,KA5uBA,EA8uBA,OADA,KAAA4W,MAAA5V,EAAA0b,MAAApc,IAAA,EAMA,GAAAN,IAAAH,EAEA,OADA,KAAA+W,MAAA5V,EAAA0b,MAAApc,EAAA,KAAA69kB,QAAA,CACA,IAaA,CACAt9kB,IAAA,mBACAwB,MAAA,WAIA,IAHA,IAAAxC,EAAA,KAAAg3kB,MACAv2kB,EAAA,KAAAP,IAEA,CACA,IAAAiB,EAAA,KAAAu+kB,UAEA,IA3wBA,IA2wBAv+kB,EAEA,OADA,KAAAsF,MAAAzG,EAAA6c,MAAApc,IA5wBA,EAixBA,IAAA0D,EAAAhD,GAEA,OADA,KAAAsF,MAAAzG,EAAA6c,MAAApc,EAAA,KAAA69kB,QAjxBA,IAkxBAn9kB,EAxrBA,GAwrBAA,CAAA,IAYA,CACAH,IAAA,aACAwB,MAAA,WAEA,QACA,IAAAxC,EAAA,KAAA2/kB,cAEA,IAtyBA,IAsyBA3/kB,IAAAqoB,EAAAroB,GACA,OAAAA,CAAA,IAIA,CACAgB,IAAA,gBACAwB,MAAA,SAAAxC,GACA,KAAA4/kB,kBAAA5/kB,EAGA,QAAAA,GACA,KAAAm5kB,OAAAn6kB,EACA,KAAA0glB,QAAA,KAAAG,YAEA,KAAA1G,OAAAv1kB,EACA,KAAA87kB,QAAA,KAAAI,UAAA,GAQA,CACA9+kB,IAAA,SACAwB,MAAA,WAMA,aAAAw0kB,MAAA5okB,WAAA,KACA,KAAAlO,IACA,KAAAid,UAGA,KAAArT,MAv0BA,IAy0BA,CACA9I,IAAA,mBACAwB,MAAA,WAMA,IAAAxC,EAAA,KAAAE,EACAO,EAAA,KAAAs/kB,aAMA,OAJA,KAAAzB,QAAAt+kB,IACA,KAAA8+kB,iBAAA,GAGAr+kB,GACA,KAxvBA,GA4vBA,GAHA,KAAAqJ,MAh0BA,GAm0BA,SAAAiN,KAAA1W,OACA,UAAAgI,MAAA,0BAGA,MAEA,KAv2BA,EAw2BA,MAEA,QACA,KAAA23kB,QACA,KAAAl2kB,MAl1BA,GAm1BA,KAAAg1kB,iBAAA,KAGA,CACA99kB,IAAA,WACAwB,MAAA,WACA,IAAAxC,EAEAS,EAAA,KAAAw/kB,UAAA7qhB,GAEA,OAAA30D,GACA,KAjxBA,GAoxBA,QAAAT,EAAA,KAAAkglB,sBAAA,IAAAlglB,GAAAA,EAAAM,KAAA,UAAAyW,MACA,KAAAA,KAAA,GACA,KAAAjN,MAn2BA,GAo2BA,KAAAmwkB,SAAA,EAEA,MAGA,KAn4BA,EAo4BA,MAEA,QACA,KAAAljkB,MAAAlI,OAAAuviB,cAAA39iB,GA9xBA,KAgyBAA,EACA,KAAAqJ,MAh4BA,EAi4BAkohB,EAAAvxhB,KACA,KAAAqJ,MAp4BA,EAq4BA,KAAA3E,EAAA1E,GAAA,GAKA,CACAO,IAAA,gBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAmF,EAEA,KAAAg7kB,cAAAnglB,KACA,KAAA+W,MAAAlI,OAAAuviB,cAAAp+iB,GACA,KAAAmF,EAAA,KACA,KAAA2E,MAp5BA,KAu5BA,CACA9I,IAAA,OACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAiglB,UAAA/9kB,IAh6BA,IAk6BAlC,IAIA,KAAA+W,MAAAlI,OAAAuviB,cAAAp+iB,GA5zBA,KA8zBAA,EACA,KAAA8J,MAn6BA,EA+FA,KAq0BA9J,EACA,KAAA8J,MA75BA,EA85BAkohB,EAAAhyhB,KACA,KAAA8J,MAj6BA,EAk6BA,KAAA3E,EAAAnF,GAAA,GAGA,CACAgB,IAAA,aACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAmF,EAEA,KAAAg7kB,cAAAnglB,KACA,KAAA+W,MAAAlI,OAAAuviB,cAAAp+iB,GACA,KAAA8J,MA96BA,EA+6BA,KAAA3E,EAAA,QAGA,CACAnE,IAAA,eACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAGA,OAFA,KAAA5okB,MAAAlI,OAAAuviB,cAAAp+iB,GAEAA,GACA,KAr2BA,GAs2BA,KAAA8J,MAr7BA,EAs7BA,KAAAo0kB,aAAA,GACA,MAEA,KAAA1yZ,EACA,KAAA1hL,MAn7BA,GAo7BA,MAEA,QACA,KAAAA,MAn8BA,KAs8BA,CACA9I,IAAA,mBACAwB,MAAA,WACA,IAAAxC,EAAA6O,OAAAuviB,cAAA,KAAAuhC,eACAl/kB,EAAA,KAAAy9kB,cAAAl+kB,EACA,KAAA+W,MAAA/W,EAEA,MAAAS,IACA,KAAAqJ,MAAA,OAAArJ,EAx8BA,EANA,EA+8BA,KAAAy9kB,aAAA,MAGA,CACAl9kB,IAAA,cACAwB,MAAA,WACA,KAAA29kB,cA73BA,MA83BA,KAAAppkB,MAAA,IACA,KAAAjN,MA/8BA,KAk9BA,CACA9I,IAAA,oBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cACA,KAAA5okB,MAAAlI,OAAAuviB,cAAAp+iB,GACA,KAAA8J,MAv4BA,KAu4BA9J,EAr9BA,GAJA,IA29BA,CACAgB,IAAA,mBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cACA,KAAA5okB,MAAAlI,OAAAuviB,cAAAp+iB,GAx4BA,KA04BAA,EACA,KAAA8J,MAx+BA,GA0+BA,KAAA2sF,KAAA,sBAGA,KAAA3sF,MAv+BA,KA0+BA,CACA9I,IAAA,SACAwB,MAAA,WACA,KAAA29kB,cAAA30Z,KACA,KAAAz0K,MAAA,IACA,KAAAjN,MAv+BA,MA0+BA,CACA9I,IAAA,eACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cACA,KAAA5okB,MAAAlI,OAAAuviB,cAAAp+iB,GA/5BA,KAi6BAA,IACA,KAAA8J,MA//BA,KAkgCA,CACA9I,IAAA,QACAwB,MAAA,WAcA,SAAAsY,KAAAza,OACA,KAAA+/kB,mBAEA,KAAAC,uBAAA,GAGA,CACAr/kB,IAAA,UACAwB,MAAA,WAEA,IAAAxC,EAAA,KAAAE,EACAO,EAAA,KAAAu2kB,MAEAh3kB,EACA,OACA,YAAA0/kB,WACA,KA3iCA,EA4iCA,KAAAlkQ,QAAA,GAAA/8U,OAAAgC,EAAAoc,MAAA7c,EAAA,KAAAs+kB,OAAA,MACAt+kB,EAAA,KAAAE,EACA,MAEA,KA78BA,GA+8BA,IAAAiB,EAAA,KAAA69kB,kBACA7+kB,EAAA,KAAAq7U,OAAA/6U,EAAAoc,MAAA7c,EAAA,KAAAs+kB,OACA,KAAAx0kB,MAAA3I,EACA,IAAAjB,OAAA,EAEA,KAAAC,GACA,KAAAs2F,KAAA,sBACAv2F,EAAA,OAEAA,EAAA,KAAAoglB,YAAAnglB,GACA,KAAAq7U,OAAA,IAniCA,KAsiCAr6U,QAAA,SAAAo/kB,cACA,KAAAxpkB,MAAA7W,GAIA,MAAAF,EAGA,KAxkCA,EAykCA,KAAAw7U,QAAA/6U,EAAAoc,MAAA7c,GAEA,MAAAA,EAAA,GAMA,CACAgB,IAAA,YACAwB,MAAA,WAKA,IAAAxC,EAAA,KAAA0/kB,UAEA,GAAApglB,EAAAU,GACA,KAAA8J,MAvhCA,GAwhCA,KAAAk2kB,QACA,KAAAlB,iBAAA,OAEA,OAAA9+kB,GACA,KA7/BA,GA8/BA,KAAA8J,MA3gCA,GA4gCA,KAAAg1kB,iBAAA,EACA,MAEA,KAvgCA,GAwgCA,KAAAh1kB,MAtkCA,GAukCA,KAAAo0kB,aAAA,GACA,KAAAY,iBAAA,EACA,MAEA,KAAAtzZ,EACA,KAAA1hL,MA9jCA,GA+jCA,MAEA,QACA,KAAA2sF,KAAA,oCACA,KAAA3sF,MAvlCA,GAwlCA,KAAAg1kB,iBAAA,KAIA,CACA99kB,IAAA,gBACAwB,MAAA,WAGA,OAFA,KAAA07kB,cAAArvkB,OAAAuviB,cAAA,KAAAuhC,eAEA,KAAAzB,cACA,cACA,KAAAW,SAAA,KAAAH,yBACA,KAAAjof,KAAA,mCACA,KAAAiof,wBAAA,GAGA,KAAAE,aAAA,KAAAD,wBACA,KAAAlof,KAAA,mCACA,KAAAkof,uBAAA,GAGA,KAAA70kB,MA/lCA,GAgmCA,KAAAo0kB,aAAA,GACA,MAEA,SACA,KAAAp0kB,MA1mCA,GA2mCA,KAAAo0kB,aAAA,GACA,MAEA,cACA,KAAAp0kB,MA3oCA,GA6oCA,KAAAmwkB,SAAA,KAAA4E,UACA,KAAApof,KAAA,gDAGA,KAAAynf,aAAA,GACA,MAEA,QAGA,KAAAA,aAAA79kB,QAAA,GACA,KAAAo2F,KAAA,wBAKA,CACAz1F,IAAA,WACAwB,MAAA,WACA,KAAA29kB,cApkCA,MAqkCA,KAAAr2kB,MAnoCA,MAsoCA,CACA9I,IAAA,iBACAwB,MAAA,WACA,IAAAxC,EAEAS,EAAA,KAAAk/kB,cA7kCA,KA+kCAl/kB,GACA,KAAAqJ,MA5oCA,GA8oCA,QAAA9J,EAAA,KAAAwglB,sBAAA,IAAAxglB,GAAAA,EAAAM,KAAA,UAAAyW,MACA,KAAAA,KAAA,KAEA,KAAAA,MAAA,IAAAtY,OAAAoQ,OAAAuviB,cAAA39iB,IACA,KAAAqJ,MAtpCA,MAypCA,CACA9I,IAAA,gBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAvlCA,KAylCA3/kB,GACA,KAAAy2F,KAAA,sBAGA,KAAA1/E,MAAA,KAAAtY,OAAAoQ,OAAAuviB,cAAAp+iB,IACA,KAAA8J,MAnqCA,IAqqCA,KAAAA,MA7qCA,KAgrCA,CACA9I,IAAA,SACAwB,MAAA,WACA,KAAA29kB,cAnmCA,MAomCA,KAAAr2kB,MApqCA,MAuqCA,CACA9I,IAAA,eACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cA1mCA,KA4mCA3/kB,EACA,KAAA8J,MA3qCA,IA6qCA,KAAAiN,MAAA,IAAAtY,OAAAoQ,OAAAuviB,cAAAp+iB,IACA,KAAA8J,MAlrCA,MAqrCA,CACA9I,IAAA,gBACAwB,MAAA,WACA,IAAAxC,EAEAS,EAAA,KAAAk/kB,cAEA,OAAAl/kB,GACA,KA9nCA,GAioCA,QAAAT,EAAA,KAAAyglB,oBAAA,IAAAzglB,GAAAA,EAAAM,KAAA,UAAAyW,MACA,KAAAA,KAAA,GACA,KAAAjN,MAhtCA,GAitCA,MAGA,KApoCA,GAqoCA,KAAAiN,MAAA,IACA,MAEA,QACA,KAAAA,MAAA,KAAAtY,OAAAoQ,OAAAuviB,cAAA39iB,IACA,KAAAqJ,MA5sCA,MAitCA,CACA9I,IAAA,eACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAGA,KAAAjF,eAAA16kB,IACA,KAAAm+kB,UAAAtvkB,OAAAuviB,cAAAp+iB,GACA,KAAA8J,MAjtCA,IAktCA9J,IAAAwrL,GAAAnjK,EAAAroB,IACA,KAAAy2F,KAAA,4CACA,KAAA3sF,MAAA9J,IAAAwrL,EAhtCA,GAFA,KAotCA,KAAA/0F,KAAA,wDACA,KAAA0nf,UAAAtvkB,OAAAuviB,cAAAp+iB,GACA,KAAA8J,MAxtCA,MA2tCA,CACA9I,IAAA,UACAwB,MAAA,WAMA,IAHA,IAAAxC,EAAA,KAAAg3kB,MACAv2kB,EAAA,KAAAP,IAEA,CACA,IAAAiB,EAAA,KAAAw+kB,cAEA,IAtxCA,IAsxCAx+kB,EAEA,YADA,KAAAg9kB,UAAAn+kB,EAAA6c,MAAApc,IAMA,SAAAk6kB,UAAAx5kB,GAAA,CACA,KAAAg9kB,UAAAn+kB,EAAA6c,MAAApc,EAAA,KAAA69kB,OACA,IAAAn+kB,EAAAgB,IAAAqqL,EAEArrL,GAAAkoB,EAAAlnB,GACA,aAAAg9kB,UACA,KAAAW,iBACA,KAAArof,KAAA,4DAGA,KAAA3sF,MAAA3J,EAruCA,GAZA,IAmvCA,KAAA2J,MAAA3J,EArvCA,GAFA,IA0vCA,KAAAs2F,KAAA,wDACA,KAAA0nf,UAAAtvkB,OAAAuviB,cAAAj9iB,IAGA,UAIA,CACAH,IAAA,UACAwB,MAAA,WACA,YAAAuU,KAAA1W,OAAA,CACA,IAAAL,EAAA,KAAA2/kB,cAEA3/kB,IAAAwrL,EACA,KAAA1hL,MAvwCA,GAwwCAue,EAAAroB,KACA,KAAA+W,KAAAlI,OAAAuviB,cAAAp+iB,GAAA,MAIA,KAAAmglB,cAAA30Z,KACA,KAAA1hL,MA9wCA,MAixCA,CACA9I,IAAA,YACAwB,MAAA,WACA,IAAAxC,EAEAS,EAAA,KAAAk/kB,cAEA,GAruCA,KAquCAl/kB,EAAA,CACA,IAAAU,EAAA,KAAAg9kB,SAEA,QAAAh9kB,EAAA6Y,eACA,KAAAy8E,KAAA,iEAIA,QAAAz2F,EAAA,KAAA0glB,iBAAA,IAAA1glB,GAAAA,EAAAM,KAAA,MACAS,OAAAI,EACA6B,KAAA,KAAA+T,OAEA,KAAAonkB,SAAA,KAAApnkB,KAAA,GACA,KAAAjN,MA/zCA,QAg0CArJ,IAAA+qL,EAKA,KAAAz0K,MAAA,KAEA,KAAAA,MAAA,IAAAtY,OAAAoQ,OAAAuviB,cAAA39iB,IACA,KAAAqJ,MAhzCA,IAmzCA,KAAAg1kB,iBAAA,IAEA,CACA99kB,IAAA,oBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA+/kB,aAGA//kB,IAAAwrL,GA72CA,IAm3CAxrL,IACA,KAAA8J,MA5zCA,GA6zCA,KAAArD,KAAAoI,OAAAuviB,cAAAp+iB,IANA,KAAA8J,MA7yCA,KAszCA,CACA9I,IAAA,eACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAiglB,UAAAzohB,GAGA,GAAAx3D,IAAAwrL,EAKA,OAJA,KAAA1hL,MA7zCA,GA8zCA,KAAArD,MAAA,KAAAsQ,KACA,KAAAA,KAAA,QACA,KAAA0/E,KAAA,kCAIA,GAAApuE,EAAAroB,IAAAA,IAAA8E,EAAA,CAOA,GAHA,KAAA2B,MAAA,KAAAsQ,KACA,KAAAA,KAAA,IAEA,KAAAgokB,eAAArwhB,SAAA,KAAAjoD,MACA,YAAAA,KAAApG,QACA,OACA,KAAAo2F,KAAA,6CACA,MAEA,OACA,KAAAA,KAAA,qBAAAh4F,OAAA,KAAAsglB,eAAA,SACA,MAEA,QACA,KAAAtof,KAAA,mBAAAh4F,OAAA,KAAAsglB,eAAA5vkB,KAAA,QAIA,KAAArF,MAAA9J,IAAA8E,EAh2CA,GAFA,MAo2CA,CACA9D,IAAA,aACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAGA,GAAA3/kB,IAAAwrL,EAGA,OAFA,KAAA1hL,MAn2CA,QAo2CA,KAAA2sF,KAAA,kCAIApuE,EAAAroB,KAIAA,IAAA8E,GACA,KAAA2xF,KAAA,mBAGA,KAAA3sF,MAt3CA,MAw3CA,CACA9I,IAAA,qBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAGA,GAAA3/kB,IAAAwrL,EAGA,OAFA,KAAA1hL,MAz3CA,QA03CA,KAAA2sF,KAAA,kCAIApuE,EAAAroB,KAIAgyhB,EAAAhyhB,GAIA,KAAAmF,EAAAnF,GAHA,KAAAy2F,KAAA,yBACA,KAAAtxF,EAz2CA,IA82CA,KAAA2E,MA74CA,MA+4CA,CACA9I,IAAA,gBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAAiglB,UAAA,MAAA96kB,EAAAqmL,IAGA,GAAAxrL,IAAAwrL,EAIA,OAHA,KAAA1hL,MAl5CA,GAm5CA,KAAAiN,KAAA,QACA,KAAA0/E,KAAA,kCAIA,IA19CA,IA09CAz2F,EAAA,CAIA,IAAAS,EAAA,KAAAsW,KAGA,OAFA,KAAAA,KAAA,GAEA,KAAAtQ,MACA,cAEA,KAAAs4kB,eAAA,0BACA,IAAA59kB,EAAAV,EACA,KAAA6+kB,QAAAxgiB,QAAA39C,EAEA,cAAAkgC,KAAAlgC,GAGA,KAAA69C,IAAAkgiB,iBACA,KAAAC,cAAAh+kB,GAHA,KAAAs1F,KAAA,6CAMA,MAGA,eACA,4BAAAp1D,KAAA5gC,IACA,KAAAg2F,KAAA,6DAIA,KAAAsof,eAAA,eACA,KAAAO,QAAA53kB,SAAAjH,EACA,MAEA,iBACA,QAAAA,GAAA,OAAAA,GACA,KAAAg2F,KAAA,8CAGA,KAAAsof,eAAA,GACA,KAAAO,QAAA/5Z,WAAA9kL,EAQA,KAAAgG,KAAA,GACA,KAAAqD,MA38CA,MA68CA,CACA9I,IAAA,oBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAGA3/kB,IAAAwrL,GAMAnjK,EAAAroB,KACA,KAAAy2F,KAAA,wBACA,KAAAupf,SAGA,KAAAl2kB,MAx+CA,IA+9CA,KAAAA,MAn9CA,KA89CA,CACA9I,IAAA,iBACAwB,MAAA,WACA,IAAAxC,EA57CA,KA87CA,KAAA2/kB,eAGA,aAAAxB,SACA,KAAA1nf,KAAA,wDACA,iBAAAhwF,MAAA,KAAAs4kB,eAAArwhB,SAAA,YACA,KAAA+nC,KAAA,2CAIA,QAAAz2F,EAAA,KAAA2glB,sBAAA,IAAA3glB,GAAAA,EAAAM,KAAA,UAAAg/kB,SACA,KAAA74kB,KAAA,GACA,KAAA03kB,SAAA,KAAApnkB,KAAA,GACA,KAAAjN,MAxhDA,IA6hDA,KAAA2sF,KAAA,+DAGA,KAAAqof,iBAAA,IAEA,CACA99kB,IAAA,WACAwB,MAAA,WACA,IAAAxC,EAEAS,EAAA,KAAAmglB,mBAEA,IAnkDA,IAmkDAnglB,EAAA,CAIA,IAAAU,EAAA,KAAAyZ,IAAA,CACAnU,KAAA,KAAAA,KACA66G,WAAApiH,OAAAW,OAAA,OAgBA,OAdA,KAAA4G,KAAA,GAEA,KAAA+zkB,WACA,KAAA4D,MAAAj9kB,EAAAyxG,GAAA1zG,OAAAW,OAAA,OAIA,QAAAG,EAAA,KAAA6glB,2BAAA,IAAA7glB,GAAAA,EAAAM,KAAA,KAAAa,GACA,KAAA09kB,SAAA,GAEA,KAAAvE,aAAA,KAAAsE,YACA,KAAAnof,KAAA,wCAGAh2F,GACA,KAn/CA,GAo/CA,KAAAqglB,UACA,MAEA,KA3/CA,GA4/CA,KAAAh3kB,MAzhDA,GA0hDA,MAEA,QACAue,EAAA5nB,IACA,KAAAg2F,KAAA,qCAGA,KAAA3sF,MA/hDA,OAkiDA,CACA9I,IAAA,gBACAwB,MAAA,WArgDA,KAsgDA,KAAAk9kB,UACA,KAAAqB,sBAEA,KAAAtqf,KAAA,mDACA,KAAA3sF,MAziDA,MA4iDA,CACA9I,IAAA,UACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA+/kB,cAvnDA,IAynDA//kB,IAIAV,EAAAU,IACA,KAAAgglB,QACA,KAAAl2kB,MArjDA,IA6BA,KAyhDA9J,EACA,KAAA8glB,UA9hDA,KA+hDA9glB,EACA,KAAA8J,MA7jDA,GA+jDA,KAAA2sF,KAAA,8CAGA,CACAz1F,IAAA,cACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA4glB,mBAEA5glB,IAAA8E,EACA,KAAAgF,MAhkDA,GAikDAue,EAAAroB,GACA,KAAA8J,MApkDA,GA2BA,KA0iDA9J,GACA,KAAAy2F,KAAA,4BACA,KAAAskf,WAAA,KAAAt0kB,KAAA,KAAAA,MACA,KAAAA,KAAA,KAAAsQ,KAAA,GACA,KAAA+pkB,YArpDA,IAspDA9glB,GACA,KAAAy2F,KAAA,6CAGA,CACAz1F,IAAA,sBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA+/kB,aAEA,OAAA//kB,GACA,KAhqDA,EAiqDA,OAEA,KAAA8E,EACA,KAAAgF,MAtlDA,GAulDA,MAEA,QACA,KAAA2sF,KAAA,4BAGA,KAAA1/E,KAAA,GACA,KAAAtQ,KAAA,GArkDA,KAukDAzG,EACA,KAAA8glB,UACAxhlB,EAAAU,IACA,KAAAgglB,QACA,KAAAl2kB,MAxmDA,KA0mDA,KAAA2sF,KAAA,2CACA,KAAA3sF,MA7mDA,OAknDA,CACA9I,IAAA,eACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAEA3tD,EAAAhyhB,IACA,KAAAmF,EAAAnF,EACA,KAAA8J,MAjnDA,IAknDAue,EAAAroB,KACA,KAAAy2F,KAAA,6BACA,KAAA3sF,MAhnDA,GAinDA,KAAAk2kB,QAAA,GAGA,CACAh/kB,IAAA,qBACAwB,MAAA,WAOA,IAJA,IAAAxC,EAAA,KAAAmF,EACA1E,EAAA,KAAAu2kB,MACA71kB,EAAA,KAAAjB,IAGA,YAAAw/kB,WACA,KAAA1/kB,EAKA,OAJA,KAAA+6kB,WAAA,KAAAt0kB,KAAA,KAAAsQ,KAAAtW,EAAAoc,MAAA1b,EAAA,KAAAm9kB,QACA,KAAA73kB,KAAA,KAAAsQ,KAAA,GACA,KAAA5R,EAAA,UACA,KAAA2E,MAroDA,IAwoDA,KA1nDA,GA8nDA,OAHA,KAAAiN,MAAAtW,EAAAoc,MAAA1b,EAAA,KAAAm9kB,OACA,KAAAx0kB,MAhsDA,QAisDA,KAAAk1kB,kBA7oDA,IAgpDA,KAroDA,GAsoDA,KAhuDA,EAiuDA,KAxoDA,EAyoDA,KAAAjokB,MAAA,GAAAtY,OAAAgC,EAAAoc,MAAA1b,EAAA,KAAAm9kB,OAAA,KACAn9kB,EAAA,KAAAjB,EACA,MAEA,KAloDA,GAqoDA,OAFA,KAAA6W,MAAAtW,EAAAoc,MAAA1b,EAAA,KAAAm9kB,YACA,KAAA7nf,KAAA,yBAGA,KA5uDA,EA8uDA,YADA,KAAA1/E,MAAAtW,EAAAoc,MAAA1b,IAAA,GAOA,CACAH,IAAA,qBACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA2/kB,cAEAt3jB,EAAAroB,GACA,KAAA8J,MAlrDA,GA+BA,KAopDA9J,EACA,KAAA8glB,UAzpDA,KA0pDA9glB,EACA,KAAA8J,MAxrDA,GAyrDAxK,EAAAU,IACA,KAAAy2F,KAAA,qCACA,KAAAupf,QACA,KAAAl2kB,MAxrDA,IA0rDA,KAAA2sF,KAAA,6CAGA,CACAz1F,IAAA,uBACAwB,MAAA,WAMA,IAAAxC,EAAA,KAAAiglB,UAAAvxF,GAEA,OAAA1uf,GACA,KAlrDA,GAmrDA,KAAA8J,MAvvDA,GAwvDA,KAAAk1kB,kBAhsDA,GAisDA,MAEA,KAlrDA,GAmrDA,KAAAvof,KAAA,yBACA,MAEA,KA3xDA,EA4xDA,MAEA,QACA,KAAA1/E,KAAA23C,SAAA,QACA,KAAA+nC,KAAA,gDAGA,KAAAskf,WAAA,KAAAt0kB,KAAA,KAAAsQ,MACA,KAAAtQ,KAAA,KAAAsQ,KAAA,GA7rDA,KA+rDA/W,EACA,KAAA8glB,UAEA,KAAAh3kB,MAjuDA,MAsuDA,CACA9I,IAAA,YACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA4glB,mBA1sDA,KA4sDA5glB,EACA,KAAAghlB,WACA34jB,EAAAroB,GACA,KAAA8J,MA9tDA,IAxFA,IAuzDA9J,GACA,KAAAy2F,KAAA,0CAGA,CACAz1F,IAAA,oBACAwB,MAAA,WACA,YAAAu9kB,cACA,KAxtDA,GAytDA,KAAAiB,WACA,MAEA,KAn0DA,EAo0DA,MAEA,QACA,KAAAvqf,KAAA,2CAIA,CACAz1F,IAAA,mBACAwB,MAAA,WASA,IAAAxC,EAAA,KAAAE,EACAO,EAAA,KAAA+9kB,eACAr9kB,EAAA,KAAA61kB,MACA72kB,EAAA,KAAAoglB,YAEAvglB,EACA,OACA,YAAA0/kB,WACA,KAzvDA,GA6vDA,GAFA,KAAA51kB,MAl0DA,YAo0DA3J,EAAA,CACA,IAAAD,EAAA,KAAA6W,KACA7S,EAAA/C,EAAA0b,MAAA7c,EAAA,KAAAs+kB,OAEA,IAAAp+kB,EAAAG,QACAF,EAAAD,EAAAgE,GACA,KAAA6S,KAAA,IACA,IAAA7S,EAAA7D,QACAF,EAAA+D,EAAA,CAIAzD,EA3rDA,EA6rDA,MAAAT,EAGA,KAnxDA,GAoxDA,KAAA8J,MAx1DA,GAy1DA,KAAAk1kB,kBA31DA,YA61DA7+kB,IACA,KAAA4W,MAAA5V,EAAA0b,MAAA7c,EAAA,KAAAs+kB,QAGA79kB,EAxsDA,EA0sDA,MAAAT,EAEA,KArxDA,GAsxDA,OAAAS,GACA,KA9sDA,EA+sDAA,EA9sDA,EA+sDA,MAEA,KAjtDA,EAktDAA,EAjtDA,EAktDA,MAEA,KAptDA,EAqtDA,MAEA,QACA,UAAA4H,MAAA,oBAGA,MAEA,KA3yDA,GA8EA,IA8tDA5H,GACA,KAAAg2F,KAAA,gDAGAh2F,EApuDA,EAquDA,MAEA,KAz5DA,WA05DAN,IACA,KAAA4W,MAAA,GAAAtY,OAAA0C,EAAA0b,MAAA7c,EAAA,KAAAs+kB,OAAA,OAGAt+kB,EAAA,KAAAE,EACAO,EA7uDA,EA8uDA,MAEA,KAn6DA,WAo6DAN,IACA,KAAA4W,MAAA5V,EAAA0b,MAAA7c,IAIA,MAAAA,EAEA,QACAS,EAzvDA,EA6vDA,KAAA+9kB,eAAA/9kB,CAAA,GAEA,CACAO,IAAA,wBACAwB,MAAA,WAKA,IAAAxC,EAAA,KAAAE,EACAO,EAAA,KAAAu2kB,MACA71kB,EAAA,KAAAo/kB,YACApglB,GAAA,EAEAH,EACA,QACA,IAAAE,EAAA,KAAAw/kB,UAEA,OAAAx/kB,GACA,KA91DA,GAk2DA,GAFA,KAAA4J,MAv6DA,YAy6DA3I,EAAA,CACA,IAAA+C,EAAA,KAAA6S,KACAlS,EAAApE,EAAAoc,MAAA7c,EAAA,KAAAs+kB,OAEA,IAAAp6kB,EAAA7D,QACAc,EAAA+C,EAAAW,GACA,KAAAkS,KAAA,IACA,IAAAlS,EAAAxE,QACAc,EAAA0D,EAAA,CAKA,MAAA7E,EAGA,KAv3DA,GAw3DA,KAAA8J,MA57DA,GA67DA,KAAAk1kB,kBA/7DA,YAi8DA79kB,IACA,KAAA4V,MAAAtW,EAAAoc,MAAA7c,EAAA,KAAAs+kB,QAGAn+kB,GAAA,EAEA,MAAAH,EAEA,KAl+DA,WAm+DAmB,IACA,KAAA4V,MAAA,GAAAtY,OAAAgC,EAAAoc,MAAA7c,EAAA,KAAAs+kB,OAAA,OAGAt+kB,EAAA,KAAAE,EACA,MAEA,KA3+DA,WA4+DAiB,IACA,KAAA4V,MAAAtW,EAAAoc,MAAA7c,IAIA,MAAAA,EAEA,QACAqoB,EAAAnoB,KACAC,GAAA,IAMAA,IAOA,KAAA0+kB,SAAA,KAAAH,yBACA,KAAAjof,KAAA,mCACA,KAAAiof,wBAAA,GAGA,KAAAE,aAAA,KAAAD,wBACA,KAAAlof,KAAA,mCACA,KAAAkof,uBAAA,MAGA,CACA39kB,IAAA,eACAwB,MAAA,SAAAxC,EAAAS,GACA,IAAAU,EAEAhB,EAAA,KAAA8glB,MAAAjhlB,GACAE,EAAAC,EAAA+gB,OACAhd,EAAA/D,EAAAkmjB,MAEAxhjB,EAAA,CACA4B,KAAAzG,EACAkhB,OAAAhhB,EACAmmjB,MAAAnijB,EACA1B,MAAA/B,GAMA,GAJA,KAAAg+kB,WAAAz6kB,KAAAa,GAEA,QAAA1D,EAAA,KAAA+/kB,wBAAA,IAAA//kB,GAAAA,EAAAb,KAAA,KAAAuE,GAEA,UAAA3E,EAAA,CACA,IAAAD,EAAAQ,EAAA0b,OAEA,aAAAyjkB,mBAAA,KAAA3/kB,GACA,KAAAw2F,KAAA,iDAGA,KAAA2nf,MAAAl6kB,GAAAjE,EACAgyhB,EAAA,KAAA/thB,EAAAjE,EAAA,MACA,aAAAD,EAAA,CACA,IAAA4L,EAAAnL,EAAA0b,OAEA,KAAAiikB,MAAA,IAAAxykB,EACAqmhB,EAAA,QAAArmhB,EAAA,IAGA,CACA5K,IAAA,kBACAwB,MAAA,SAAAxC,EAAAS,GACA,IAAAU,EAEAhB,EAAA,CACAsG,KAAAzG,EACAwC,MAAA/B,GAEA,KAAAg+kB,WAAAz6kB,KAAA7D,GAEA,QAAAgB,EAAA,KAAA+/kB,wBAAA,IAAA//kB,GAAAA,EAAAb,KAAA,KAAAH,EAAA,GASA,CACAa,IAAA,MACAwB,MAAA,WACA,IAAAxC,EAAAS,EAEA,KAAAo+kB,SACA,KAAApof,KAAA,yCAKA,IAFA,IAAAt1F,EAAA,KAAA2Z,KAEA3Z,EAAAd,OAAA,IACA,IAAAF,EAAAgB,EAAA4C,MACA,KAAA0yF,KAAA,iBAAAh4F,OAAA0B,EAAAsG,MAAA,CA9kEA,IAilEA,KAAAqD,OAzjEA,KAyjEA,KAAAA,OACA,KAAA2sF,KAAA,mBAGA,IAAAv2F,EAAA,KAAA6W,KAcA,OAZA,IAAA7W,EAAAG,SAEA,QAAAL,EAAA,KAAAuglB,mBAAA,IAAAvglB,GAAAA,EAAAM,KAAA,KAAAJ,GACA,KAAA6W,KAAA,IAGA,KAAAsokB,SAAA,EAEA,QAAA5+kB,EAAA,KAAA0glB,kBAAA,IAAA1glB,GAAAA,EAAAH,KAAA,MAEA,KAAAy6G,QAEA,OAUA,CACA/5G,IAAA,UACAwB,MAAA,SAAAxC,GACA,IAAAS,EAAAU,EAEAhB,EAAA,KAAAi+kB,MAAAp+kB,GAEA,YAAAG,EACA,OAAAA,EAKA,IAFA,IAAAD,EAAA,KAAA4a,KAEA5W,EAAAhE,EAAAG,OAAA,EAAA6D,GAAA,EAAAA,IAGA,aAFA/D,EAAAD,EAAAgE,GAAA0uG,GAAA5yG,IAGA,OAAAG,EAMA,iBAFAA,EAAA,KAAAyyG,GAAA5yG,IAGAG,EAGA,QAAAgB,GAAAV,EAAA,KAAAu+C,KAAAoiiB,qBAAA,IAAAjglB,OAAA,EAAAA,EAAAb,KAAAG,EAAAT,EAAA,GAUA,CACAgB,IAAA,QACAwB,MAAA,SAAAxC,GAEA,IAAAS,EAAAT,EAAAU,QAAA,KAEA,QAAAD,EACA,OACAygB,OAAA,GACAmliB,MAAArmjB,GAIA,IAAAmB,EAAAnB,EAAA6c,MAAApc,EAAA,GACAN,EAAAH,EAAA6c,MAAA,EAAApc,GAMA,OAJA,KAAAN,GAAA,KAAAgB,GAAAA,EAAAutD,SAAA,OACA,KAAA+nC,KAAA,mBAAAh4F,OAAAuB,EAAA,MAGA,CACAkhB,OAAA/gB,EACAkmjB,MAAAlljB,EAAA,GAGA,CACAH,IAAA,mBACAwB,MAAA,WACA,IAAAxC,EAEAS,EAAA,KAAAg+kB,WACAt9kB,EAAA,KAAAyZ,IAGA1a,EAAA,KAAA+glB,MAAA9/kB,EAAAsF,MACAvC,EAAAhE,EAAAghB,OACArc,EAAA3E,EAAAmmjB,MAEAlljB,EAAA+f,OAAAhd,EACA/C,EAAAkljB,MAAAxhjB,EACA,IAAA5E,EAAAkB,EAAA6nhB,IAAA,QAAAhphB,EAAA,KAAAqC,QAAA6B,UAAA,IAAAlE,EAAAA,EAAA,GAcA,GAZA,KAAAkE,IACA,UAAAA,GACA,KAAAuyF,KAAA,wCAGA,KAAAx2F,IACA,KAAAw2F,KAAA,6BAAAh4F,OAAAwvB,KAAAhP,UAAA/a,GAAA,MACA/C,EAAA6nhB,IAAA9khB,IAKA,IAAAzD,EAAAJ,OAAA,CAIA,IAKAuL,EALA1K,EAAAC,EAAAmgH,WACAr+G,EAAA,IAAAqW,IAGAosB,EAAAvlC,EAAAM,GAGA,IACA,IAAAilC,EAAAzlC,MAAA2L,EAAA85B,EAAAvlC,KAAA0C,MAAA,CACA,IAAAwlB,EAAAzc,EAAApJ,MACAxD,EAAAqpB,EAAA5hB,KACAnH,EAAA+oB,EAAAnH,OACA/c,EAAAkkB,EAAAg+hB,MAEAnjjB,OAAA,EAEAjE,OAAA,EAEA,KAAAK,GACA4D,EAAA,UAAAlE,EAAAshB,EAAA,GACArhB,EAAAD,SAAA,KAEAkE,EAAA,KAAAb,QAAA/C,MAIA,KAAAm3F,KAAA,6BAAAh4F,OAAAwvB,KAAAhP,UAAA3f,GAAA,MACA4D,EAAA5D,GAGAL,EAAA,IAAAR,OAAAyE,EAAA,KAAAzE,OAAA0F,IAGAlB,EAAAoD,IAAApH,IACA,KAAAw3F,KAAA,wBAAAh4F,OAAAQ,EAAA,MAGAgE,EAAAuQ,IAAAvU,GACAopB,EAAA2ggB,IAAA9lhB,EACAhC,EAAAlC,GAAAqpB,CAAA,EAEC,MAADroB,GACA0lC,EAAAjlC,EAAAT,EAAA,CACC,QACD0lC,EAAAziC,GAAA,CAGA,KAAAw7kB,WAAA,MAEA,CACAz9kB,IAAA,sBACAwB,MAAA,WACA,IAKAxC,EALAS,EAAA,KAAAg+kB,WAEAt9kB,EAAA,KAAAyZ,IAAA0mG,WAEAphH,EAAAC,EAAAM,GAGA,IACA,IAAAP,EAAAD,MAAAD,EAAAE,EAAAC,KAAA0C,MAAA,CACA,IAAAqB,EAAAlE,EAAAwC,MACAqC,EAAAX,EAAAuC,KACAxG,EAAAiE,EAAA1B,WAAA,IAEArB,EAAA0D,IACA,KAAA4xF,KAAA,wBAAAh4F,OAAAoG,EAAA,MAGA1D,EAAA0D,GAAA5E,CAAA,EAEC,MAADD,GACAE,EAAAO,EAAAT,EAAA,CACC,QACDE,EAAA+C,GAAA,CAGA,KAAAw7kB,WAAA,KAQA,CACAz9kB,IAAA,UACAwB,MAAA,WACA,IAAAxC,EAEA,KAAA66kB,iBACA,IAAAp6kB,EAAA,KAAAqa,KACA3Z,EAAA,KAAAyZ,IACAzZ,EAAAkglB,eAAA,EAIA,QAAArhlB,EAAA,KAAAshlB,sBAAA,IAAAthlB,GAAAA,EAAAM,KAAA,KAAAa,GACAV,EAAAuD,KAAA7C,GACA,KAAA2I,MAvxEA,GAwxEA,KAAArD,KAAA,KAQA,CACAzF,IAAA,qBACAwB,MAAA,WACA,IAAAxC,EAAAS,EAAAU,EAEA,KAAA05kB,iBACA,IAAA16kB,EAAA,KAAA2a,KACA5a,EAAA,KAAA0a,IACA1a,EAAAmhlB,eAAA,EAIA,QAAArhlB,EAAA,KAAAshlB,sBAAA,IAAAthlB,GAAAA,EAAAM,KAAA,KAAAJ,GAEA,QAAAO,EAAA,KAAA8glB,uBAAA,IAAA9glB,GAAAA,EAAAH,KAAA,KAAAJ,GAGA,QAFA,KAAA0a,IAAA,QAAAzZ,EAAAhB,EAAAA,EAAAE,OAAA,cAAAc,EAAAA,EAAA,QAGA,KAAAy9kB,YAAA,GAGA,KAAA90kB,MArzEA,GAszEA,KAAArD,KAAA,KAQA,CACAzF,IAAA,WACAwB,MAAA,WACA,IAAAxC,EAAA,KAAA8a,KACAra,EAAA,KAAAgG,KAMA,GAHA,KAAAqD,MAr0EA,GAs0EA,KAAArD,KAAA,GAEA,KAAAhG,EAGA,OAFA,KAAAg2F,KAAA,+BACA,KAAA1/E,MAAA,OAOA,IAHA,IAAA5V,EAAA,KAAAoglB,gBACAphlB,EAAAH,EAAAK,OAEAF,KAAA,IACA,IAAAD,EAAA,KAAA0a,IAAA5a,EAAA+D,MAKA,GAJA,KAAAq6kB,MAAAl+kB,EAAA0yG,GAEA,MAAAzxG,GAAAA,EAAAjB,GAEAA,EAAAuG,OAAAhG,EACA,MAGA,KAAAg2F,KAAA,yBAGA,IAAAt2F,EACA,KAAAy+kB,YAAA,EACAz+kB,EAAA,IACA,KAAAs2F,KAAA,0BAAAh4F,OAAAgC,EAAA,MACA,KAAAsW,MAAA,KAAAtY,OAAAgC,EAAA,QAWA,CACAO,IAAA,cACAwB,MAAA,SAAAxC,GAGA,SAAAA,EAAA,IACA,IAAAS,EAAA,KAAA8+kB,SAAAv/kB,GAEA,gBAAAS,EACAA,GAGA,KAAAg2F,KAAA,KAAAmkf,OAAA56kB,GAAA,4DACA,IAAAvB,OAAAuB,EAAA,MAGA,IAAAmB,EAAAw8I,IASA,MAPA,MAAA39I,EAAA,qBAAAqhC,KAAArhC,GACAmB,EAAA8jC,SAAAjlC,EAAA6c,MAAA,OACA,YAAAwkB,KAAArhC,KACAmB,EAAA8jC,SAAAjlC,EAAA6c,MAAA,QAIA,KAAAs8jB,OAAAh4kB,GAKA0N,OAAAuviB,cAAAj9iB,IAJA,KAAAs1F,KAAA,+BACA,IAAAh4F,OAAAuB,EAAA,QAKA,CACAgB,IAAA,SACAsF,IAAA,WACA,YAAA+4kB,OAAA,GAEA,CACAr+kB,IAAA,WACAsF,IAAA,WACA,YAAA+3kB,cAAA,KAAAn+kB,CAAA,GAeA,CACAc,IAAA,cACAsF,IAAA,WACA,YAAAgE,SAAA,KAAA80kB,iBAAA,MAr/EAl7kB,EAAAzD,EAAAb,UAAAuB,GAAA0D,GAAAX,EAAAzD,EAAAoE,GAy/EA7E,CAAA,CA1vEA,GA6vEAmB,EAAA+8gB,YAAA9gd,CAAA,sGAAAp9D,EAAAS,EAAAU,IAAA,SAAAnB,GCtgFA,aACAS,EAAO3C,QAAkC,mBAAjBkC,EAA8BA,EACrD,WACC,IAAIA,EAAO,GAAG6c,MAAMtc,MAAMH,WAC1BJ,EAAKgT,OAAO,EAAG,EAAG,GAClBkG,WAAW3Y,MAAM,KAAMP,EAAA,IAAAM,KAAA,KAAAN,EAAA,UAAAwghB,aAAA,GAAAgB,OAAA,oBAAAxhhB,EAAAS,EAAAU,GAAA,aCLzB,IAAIhB,EAASH,EAAQ,eAAeoN,OAGpC,SAASlN,EAAMF,EAAWS,GACxBf,KAAKi1jB,OAASx0jB,EAAO4d,MAAM/d,GAC3BN,KAAK8hlB,WAAa/glB,EAClBf,KAAKw9a,WAAal9a,EAClBN,KAAK40B,KAAO,EAGdp0B,EAAKN,UAAU4H,OAAS,SAAUxH,EAAMS,GAClB,iBAATT,IACTS,EAAMA,GAAO,OACbT,EAAOG,EAAO6J,KAAKhK,EAAMS,IAQ3B,IALA,IAAIU,EAAQzB,KAAKi1jB,OACbz0jB,EAAYR,KAAKw9a,WACjBh5a,EAASlE,EAAKK,OACdwE,EAAQnF,KAAK40B,KAERr0B,EAAS,EAAGA,EAASiE,GAAS,CAIrC,IAHA,IAAI0H,EAAW/G,EAAQ3E,EACnBgB,EAAY8J,KAAK05B,IAAIxgC,EAASjE,EAAQC,EAAY0L,GAE7C3I,EAAI,EAAGA,EAAI/B,EAAW+B,IAC7B9B,EAAMyK,EAAW3I,GAAKjD,EAAKC,EAASgD,GAItChD,GAAUiB,GADV2D,GAAS3D,GAGIhB,GAAe,GAC1BR,KAAKq3P,QAAQ51P,EAAA,CAKjB,OADAzB,KAAK40B,MAAQpwB,EACNxE,IAAA,EAGTQ,EAAKN,UAAU+H,OAAS,SAAU3H,GAChC,IAAIS,EAAMf,KAAK40B,KAAO50B,KAAKw9a,WAE3Bx9a,KAAKi1jB,OAAOl0jB,GAAO,IAInBf,KAAKi1jB,OAAOh8hB,KAAK,EAAGl4B,EAAM,GAEtBA,GAAOf,KAAK8hlB,aACd9hlB,KAAKq3P,QAAQr3P,KAAKi1jB,QAClBj1jB,KAAKi1jB,OAAOh8hB,KAAK,IAGnB,IAAIx3B,EAAmB,EAAZzB,KAAK40B,KAGhB,GAAInzB,GAAQ,WACVzB,KAAKi1jB,OAAOxjgB,cAAchwD,EAAMzB,KAAKw9a,WAAa,OAG7C,CACL,IAAI/8a,GAAkB,WAAPgB,KAAuB,EAClCjB,GAAYiB,EAAOhB,GAAW,WAElCT,KAAKi1jB,OAAOxjgB,cAAcjxD,EAAUR,KAAKw9a,WAAa,GACtDx9a,KAAKi1jB,OAAOxjgB,cAAchxD,EAAST,KAAKw9a,WAAa,GAGvDx9a,KAAKq3P,QAAQr3P,KAAKi1jB,QAClB,IAAIzwjB,EAAOxE,KAAKyhE,QAEhB,OAAOnhE,EAAMkE,EAAKgL,SAASlP,GAAOkE,CAAA,EAGpChE,EAAKN,UAAUm3P,QAAU,WACvB,MAAM,IAAI1uP,MAAM,4CAGlB5H,EAAO3C,QAAUoC,CAAA,qCAAAF,EAAAS,EAAAU,GAAA,aChFjB,IAAIhB,EAAUM,EAAO3C,QAAU,SAAckC,GAC3CA,EAAYA,EAAUga,cAEtB,IAAIvZ,EAAYN,EAAQH,GACxB,IAAKS,EAAW,MAAM,IAAI4H,MAAMrI,EAAY,+CAE5C,OAAO,IAAIS,CAAA,EAGbN,EAAQ60jB,IAAMh1jB,EAAQ,SACtBG,EAAQg1jB,KAAOn1jB,EAAQ,UACvBG,EAAQo5iB,OAASv5iB,EAAQ,YACzBG,EAAQm5iB,OAASt5iB,EAAQ,YACzBG,EAAQq5iB,OAASx5iB,EAAQ,YACzBG,EAAQs5iB,OAASz5iB,EAAQ,mHAAAA,EAAAS,EAAAU,GAAA,aCNzB,IAAIhB,EAAWH,EAAQ,YACnBE,EAAOF,EAAQ,UACfkE,EAASlE,EAAQ,eAAeoN,OAEhCvI,EAAI,CACN,WAAY,YAAY,YAAgB,WAGtC5E,EAAI,IAAIZ,MAAM,IAElB,SAASuM,IACPlM,KAAKu5D,OACLv5D,KAAK+hlB,GAAKxhlB,EAEVC,EAAKI,KAAKZ,KAAM,GAAI,IAmBtB,SAASwB,EAAQlB,GACf,OAAQA,GAAO,GAAOA,IAAQ,EAGhC,SAASiD,EAAIjD,EAAGS,EAAGU,EAAGhB,GACpB,OAAU,IAANH,EAAiBS,EAAIU,GAAQV,EAAKN,EAC5B,IAANH,EAAiBS,EAAIU,EAAMV,EAAIN,EAAMgB,EAAIhB,EACtCM,EAAIU,EAAIhB,CAAA,CAvBjBA,EAASyL,EAAK1L,GAEd0L,EAAIhM,UAAUq5D,KAAO,WAOnB,OANAv5D,KAAKtB,GAAK,WACVsB,KAAKqN,GAAK,WACVrN,KAAKqzD,GAAK,WACVrzD,KAAKszD,GAAK,UACVtzD,KAAK+qP,GAAK,WAEH/qP,IAAA,EAiBTkM,EAAIhM,UAAUm3P,QAAU,SAAU/2P,GAShC,IARA,IAfcS,EAeVU,EAAIzB,KAAK+hlB,GAETthlB,EAAc,EAAVT,KAAKtB,GACT8B,EAAc,EAAVR,KAAKqN,GACT7I,EAAc,EAAVxE,KAAKqzD,GACT9yD,EAAc,EAAVP,KAAKszD,GACTpnD,EAAc,EAAVlM,KAAK+qP,GAEJ/kN,EAAI,EAAGA,EAAI,KAAMA,EAAGvkC,EAAEukC,GAAK1lC,EAAEwwD,YAAgB,EAAJ9qB,GAClD,KAAOA,EAAI,KAAMA,EAAGvkC,EAAEukC,GAAKvkC,EAAEukC,EAAI,GAAKvkC,EAAEukC,EAAI,GAAKvkC,EAAEukC,EAAI,IAAMvkC,EAAEukC,EAAI,IAEnE,IAAK,IAAIrd,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,IAAIrpB,KAAOqpB,EAAI,IACX/oB,EAAoD,IA5B5CmB,EA4BGN,IA3BF,EAAMM,IAAQ,IA2BPwC,EAAGjE,EAAGkB,EAAGgE,EAAGjE,GAAK2L,EAAIzK,EAAEknB,GAAKxjB,EAAE7F,GAElD4M,EAAI3L,EACJA,EAAIiE,EACJA,EAAIhD,EAAOhB,GACXA,EAAIC,EACJA,EAAIb,CAAA,CAGNI,KAAKtB,GAAM+B,EAAIT,KAAKtB,GAAM,EAC1BsB,KAAKqN,GAAM7M,EAAIR,KAAKqN,GAAM,EAC1BrN,KAAKqzD,GAAM7uD,EAAIxE,KAAKqzD,GAAM,EAC1BrzD,KAAKszD,GAAM/yD,EAAIP,KAAKszD,GAAM,EAC1BtzD,KAAK+qP,GAAM7+O,EAAIlM,KAAK+qP,GAAM,GAG5B7+O,EAAIhM,UAAUuhE,MAAQ,WACpB,IAAInhE,EAAIkE,EAAO4lD,YAAY,IAQ3B,OANA9pD,EAAE4xD,aAAuB,EAAVlyD,KAAKtB,GAAQ,GAC5B4B,EAAE4xD,aAAuB,EAAVlyD,KAAKqN,GAAQ,GAC5B/M,EAAE4xD,aAAuB,EAAVlyD,KAAKqzD,GAAQ,GAC5B/yD,EAAE4xD,aAAuB,EAAVlyD,KAAKszD,GAAQ,IAC5BhzD,EAAE4xD,aAAuB,EAAVlyD,KAAK+qP,GAAQ,IAErBzqP,CAAA,EAGTS,EAAO3C,QAAU8N,CAAA,gBAAAuzgB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aCpFjB,IAAIhB,EAAWH,EAAQ,YACnBE,EAAOF,EAAQ,UACfkE,EAASlE,EAAQ,eAAeoN,OAEhCvI,EAAI,CACN,WAAY,YAAY,YAAgB,WAGtC5E,EAAI,IAAIZ,MAAM,IAElB,SAASuM,IACPlM,KAAKu5D,OACLv5D,KAAK+hlB,GAAKxhlB,EAEVC,EAAKI,KAAKZ,KAAM,GAAI,IAmBtB,SAASwB,EAAOlB,GACd,OAAQA,GAAO,EAAMA,IAAQ,GAG/B,SAASiD,EAAQjD,GACf,OAAQA,GAAO,GAAOA,IAAQ,EAGhC,SAAS0lC,EAAI1lC,EAAGS,EAAGU,EAAGhB,GACpB,OAAU,IAANH,EAAiBS,EAAIU,GAAQV,EAAKN,EAC5B,IAANH,EAAiBS,EAAIU,EAAMV,EAAIN,EAAMgB,EAAIhB,EACtCM,EAAIU,EAAIhB,CAAA,CA3BjBA,EAASyL,EAAM1L,GAEf0L,EAAKhM,UAAUq5D,KAAO,WAOpB,OANAv5D,KAAKtB,GAAK,WACVsB,KAAKqN,GAAK,WACVrN,KAAKqzD,GAAK,WACVrzD,KAAKszD,GAAK,UACVtzD,KAAK+qP,GAAK,WAEH/qP,IAAA,EAqBTkM,EAAKhM,UAAUm3P,QAAU,SAAU/2P,GASjC,IARA,IAnBcS,EAmBVU,EAAIzB,KAAK+hlB,GAETthlB,EAAc,EAAVT,KAAKtB,GACT8B,EAAc,EAAVR,KAAKqN,GACT7I,EAAc,EAAVxE,KAAKqzD,GACT9yD,EAAc,EAAVP,KAAKszD,GACTpnD,EAAc,EAAVlM,KAAK+qP,GAEJpiO,EAAI,EAAGA,EAAI,KAAMA,EAAGlnB,EAAEknB,GAAKroB,EAAEwwD,YAAgB,EAAJnoC,GAClD,KAAOA,EAAI,KAAMA,EAAGlnB,EAAEknB,IA5BR5nB,EA4BmBU,EAAEknB,EAAI,GAAKlnB,EAAEknB,EAAI,GAAKlnB,EAAEknB,EAAI,IAAMlnB,EAAEknB,EAAI,MA3B1D,EAAM5nB,IAAQ,GA6B7B,IAAK,IAAIzB,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,IAAIM,KAAON,EAAI,IACXmF,EAAKjD,EAAMf,GAAKulC,EAAGpmC,EAAGY,EAAGgE,EAAGjE,GAAK2L,EAAIzK,EAAEnC,GAAK6F,EAAEvF,GAAM,EAExDsM,EAAI3L,EACJA,EAAIiE,EACJA,EAAIjB,EAAO/C,GACXA,EAAIC,EACJA,EAAIgE,CAAA,CAGNzE,KAAKtB,GAAM+B,EAAIT,KAAKtB,GAAM,EAC1BsB,KAAKqN,GAAM7M,EAAIR,KAAKqN,GAAM,EAC1BrN,KAAKqzD,GAAM7uD,EAAIxE,KAAKqzD,GAAM,EAC1BrzD,KAAKszD,GAAM/yD,EAAIP,KAAKszD,GAAM,EAC1BtzD,KAAK+qP,GAAM7+O,EAAIlM,KAAK+qP,GAAM,GAG5B7+O,EAAKhM,UAAUuhE,MAAQ,WACrB,IAAInhE,EAAIkE,EAAO4lD,YAAY,IAQ3B,OANA9pD,EAAE4xD,aAAuB,EAAVlyD,KAAKtB,GAAQ,GAC5B4B,EAAE4xD,aAAuB,EAAVlyD,KAAKqN,GAAQ,GAC5B/M,EAAE4xD,aAAuB,EAAVlyD,KAAKqzD,GAAQ,GAC5B/yD,EAAE4xD,aAAuB,EAAVlyD,KAAKszD,GAAQ,IAC5BhzD,EAAE4xD,aAAuB,EAAVlyD,KAAK+qP,GAAQ,IAErBzqP,CAAA,EAGTS,EAAO3C,QAAU8N,CAAA,gBAAAuzgB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aC1FjB,IAAIhB,EAAWH,EAAQ,YACnBE,EAASF,EAAQ,YACjBkE,EAAOlE,EAAQ,UACf6E,EAAS7E,EAAQ,eAAeoN,OAEhCnN,EAAI,IAAIZ,MAAM,IAElB,SAASuM,IACPlM,KAAKu5D,OAELv5D,KAAK+hlB,GAAKxhlB,EAEViE,EAAK5D,KAAKZ,KAAM,GAAI,IAGtBS,EAASyL,EAAQ1L,GAEjB0L,EAAOhM,UAAUq5D,KAAO,WAUtB,OATAv5D,KAAKtB,GAAK,WACVsB,KAAKqN,GAAK,UACVrN,KAAKqzD,GAAK,UACVrzD,KAAKszD,GAAK,WACVtzD,KAAK+qP,GAAK,WACV/qP,KAAKgilB,GAAK,WACVhilB,KAAKiilB,GAAK,WACVjilB,KAAKkilB,GAAK,WAEHlilB,IAAA,EAGTkM,EAAOhM,UAAUuhE,MAAQ,WACvB,IAAInhE,EAAI6E,EAAOilD,YAAY,IAU3B,OARA9pD,EAAE4xD,aAAalyD,KAAKtB,GAAI,GACxB4B,EAAE4xD,aAAalyD,KAAKqN,GAAI,GACxB/M,EAAE4xD,aAAalyD,KAAKqzD,GAAI,GACxB/yD,EAAE4xD,aAAalyD,KAAKszD,GAAI,IACxBhzD,EAAE4xD,aAAalyD,KAAK+qP,GAAI,IACxBzqP,EAAE4xD,aAAalyD,KAAKgilB,GAAI,IACxB1hlB,EAAE4xD,aAAalyD,KAAKiilB,GAAI,IAEjB3hlB,CAAA,EAGTS,EAAO3C,QAAU8N,CAAA,+BAAAuzgB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aC5CjB,IAAIhB,EAAWH,EAAQ,YACnBE,EAAOF,EAAQ,UACfkE,EAASlE,EAAQ,eAAeoN,OAEhCvI,EAAI,CACN,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,YAGlC5E,EAAI,IAAIZ,MAAM,IAElB,SAASuM,IACPlM,KAAKu5D,OAELv5D,KAAK+hlB,GAAKxhlB,EAEVC,EAAKI,KAAKZ,KAAM,GAAI,IAkBtB,SAASwB,EAAIlB,EAAGS,EAAGU,GACjB,OAAOA,EAAKnB,GAAKS,EAAIU,EAAA,CAGvB,SAAS8B,EAAKjD,EAAGS,EAAGU,GAClB,OAAQnB,EAAIS,EAAMU,GAAKnB,EAAIS,EAAA,CAG7B,SAASilC,EAAQ1lC,GACf,OAAQA,IAAM,EAAIA,GAAK,KAAOA,IAAM,GAAKA,GAAK,KAAOA,IAAM,GAAKA,GAAK,IAGvE,SAASqoB,EAAQroB,GACf,OAAQA,IAAM,EAAIA,GAAK,KAAOA,IAAM,GAAKA,GAAK,KAAOA,IAAM,GAAKA,GAAK,GAGvE,SAAShB,EAAQgB,GACf,OAAQA,IAAM,EAAIA,GAAK,KAAOA,IAAM,GAAKA,GAAK,IAAOA,IAAM,EAhC7DG,EAASyL,EAAQ1L,GAEjB0L,EAAOhM,UAAUq5D,KAAO,WAUtB,OATAv5D,KAAKtB,GAAK,WACVsB,KAAKqN,GAAK,WACVrN,KAAKqzD,GAAK,WACVrzD,KAAKszD,GAAK,WACVtzD,KAAK+qP,GAAK,WACV/qP,KAAKgilB,GAAK,WACVhilB,KAAKiilB,GAAK,UACVjilB,KAAKkilB,GAAK,WAEHlilB,IAAA,EA2BTkM,EAAOhM,UAAUm3P,QAAU,SAAU/2P,GAYnC,IAXA,IALeS,EAKXU,EAAIzB,KAAK+hlB,GAETthlB,EAAc,EAAVT,KAAKtB,GACT8B,EAAc,EAAVR,KAAKqN,GACT7I,EAAc,EAAVxE,KAAKqzD,GACT9yD,EAAc,EAAVP,KAAKszD,GACTpnD,EAAc,EAAVlM,KAAK+qP,GACTnrP,EAAc,EAAVI,KAAKgilB,GACTv9kB,EAAc,EAAVzE,KAAKiilB,GACTz+kB,EAAc,EAAVxD,KAAKkilB,GAEJ3ilB,EAAI,EAAGA,EAAI,KAAMA,EAAGkC,EAAElC,GAAKe,EAAEwwD,YAAgB,EAAJvxD,GAClD,KAAOA,EAAI,KAAMA,EAAGkC,EAAElC,GAAqE,KAjB5EwB,EAiBoBU,EAAElC,EAAI,MAhB3B,GAAKwB,GAAK,KAAOA,IAAM,GAAKA,GAAK,IAAOA,IAAM,IAgBbU,EAAElC,EAAI,GAAKD,EAAOmC,EAAElC,EAAI,KAAOkC,EAAElC,EAAI,IAEpF,IAAK,IAAI2E,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,IAAIT,EAAMD,EAAImlB,EAAOzc,GAAK1K,EAAG0K,EAAGtM,EAAG6E,GAAKU,EAAEjB,GAAKzC,EAAEyC,GAAM,EACnDq/F,EAAMv9D,EAAOvlC,GAAK8C,EAAI9C,EAAGD,EAAGgE,GAAM,EAEtChB,EAAIiB,EACJA,EAAI7E,EACJA,EAAIsM,EACJA,EAAK3L,EAAIkD,EAAM,EACflD,EAAIiE,EACJA,EAAIhE,EACJA,EAAIC,EACJA,EAAKgD,EAAK8/F,EAAM,EAGlBvjG,KAAKtB,GAAM+B,EAAIT,KAAKtB,GAAM,EAC1BsB,KAAKqN,GAAM7M,EAAIR,KAAKqN,GAAM,EAC1BrN,KAAKqzD,GAAM7uD,EAAIxE,KAAKqzD,GAAM,EAC1BrzD,KAAKszD,GAAM/yD,EAAIP,KAAKszD,GAAM,EAC1BtzD,KAAK+qP,GAAM7+O,EAAIlM,KAAK+qP,GAAM,EAC1B/qP,KAAKgilB,GAAMpilB,EAAII,KAAKgilB,GAAM,EAC1BhilB,KAAKiilB,GAAMx9kB,EAAIzE,KAAKiilB,GAAM,EAC1BjilB,KAAKkilB,GAAM1+kB,EAAIxD,KAAKkilB,GAAM,GAG5Bh2kB,EAAOhM,UAAUuhE,MAAQ,WACvB,IAAInhE,EAAIkE,EAAO4lD,YAAY,IAW3B,OATA9pD,EAAE4xD,aAAalyD,KAAKtB,GAAI,GACxB4B,EAAE4xD,aAAalyD,KAAKqN,GAAI,GACxB/M,EAAE4xD,aAAalyD,KAAKqzD,GAAI,GACxB/yD,EAAE4xD,aAAalyD,KAAKszD,GAAI,IACxBhzD,EAAE4xD,aAAalyD,KAAK+qP,GAAI,IACxBzqP,EAAE4xD,aAAalyD,KAAKgilB,GAAI,IACxB1hlB,EAAE4xD,aAAalyD,KAAKiilB,GAAI,IACxB3hlB,EAAE4xD,aAAalyD,KAAKkilB,GAAI,IAEjB5hlB,CAAA,EAGTS,EAAO3C,QAAU8N,CAAA,gBAAAuzgB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aCtIjB,IAAIhB,EAAWH,EAAQ,YACnBE,EAASF,EAAQ,YACjBkE,EAAOlE,EAAQ,UACf6E,EAAS7E,EAAQ,eAAeoN,OAEhCnN,EAAI,IAAIZ,MAAM,KAElB,SAASuM,IACPlM,KAAKu5D,OACLv5D,KAAK+hlB,GAAKxhlB,EAEViE,EAAK5D,KAAKZ,KAAM,IAAK,KAGvBS,EAASyL,EAAQ1L,GAEjB0L,EAAOhM,UAAUq5D,KAAO,WAmBtB,OAlBAv5D,KAAKmilB,IAAM,WACXnilB,KAAKoilB,IAAM,WACXpilB,KAAKqilB,IAAM,WACXrilB,KAAKsilB,IAAM,UACXtilB,KAAKuilB,IAAM,WACXvilB,KAAKwilB,IAAM,WACXxilB,KAAKyilB,IAAM,WACXzilB,KAAK0ilB,IAAM,WAEX1ilB,KAAK2ilB,IAAM,WACX3ilB,KAAK4ilB,IAAM,UACX5ilB,KAAK6ilB,IAAM,UACX7ilB,KAAK8ilB,IAAM,WACX9ilB,KAAK+ilB,IAAM,WACX/ilB,KAAKgjlB,IAAM,WACXhjlB,KAAKijlB,IAAM,WACXjjlB,KAAKkjlB,IAAM,WAEJljlB,IAAA,EAGTkM,EAAOhM,UAAUuhE,MAAQ,WACvB,IAAInhE,EAAI6E,EAAOilD,YAAY,IAE3B,SAASrpD,EAAcA,EAAGU,EAAGhB,GAC3BH,EAAE4xD,aAAanxD,EAAGN,GAClBH,EAAE4xD,aAAazwD,EAAGhB,EAAS,GAU7B,OAPAM,EAAaf,KAAKmilB,IAAKnilB,KAAK2ilB,IAAK,GACjC5hlB,EAAaf,KAAKoilB,IAAKpilB,KAAK4ilB,IAAK,GACjC7hlB,EAAaf,KAAKqilB,IAAKrilB,KAAK6ilB,IAAK,IACjC9hlB,EAAaf,KAAKsilB,IAAKtilB,KAAK8ilB,IAAK,IACjC/hlB,EAAaf,KAAKuilB,IAAKvilB,KAAK+ilB,IAAK,IACjChilB,EAAaf,KAAKwilB,IAAKxilB,KAAKgjlB,IAAK,IAE1B1ilB,CAAA,EAGTS,EAAO3C,QAAU8N,CAAA,+BAAAuzgB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aCxDjB,IAAIhB,EAAWH,EAAQ,YACnBE,EAAOF,EAAQ,UACfkE,EAASlE,EAAQ,eAAeoN,OAEhCvI,EAAI,CACN,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,YAGlC5E,EAAI,IAAIZ,MAAM,KAElB,SAASuM,IACPlM,KAAKu5D,OACLv5D,KAAK+hlB,GAAKxhlB,EAEVC,EAAKI,KAAKZ,KAAM,IAAK,KA2BvB,SAASwB,EAAIlB,EAAGS,EAAGU,GACjB,OAAOA,EAAKnB,GAAKS,EAAIU,EAAA,CAGvB,SAAS8B,EAAKjD,EAAGS,EAAGU,GAClB,OAAQnB,EAAIS,EAAMU,GAAKnB,EAAIS,EAAA,CAG7B,SAASilC,EAAQ1lC,EAAGS,GAClB,OAAQT,IAAM,GAAKS,GAAM,IAAMA,IAAO,EAAIT,GAAK,KAAOS,IAAO,EAAIT,GAAK,IAGxE,SAASqoB,EAAQroB,EAAGS,GAClB,OAAQT,IAAM,GAAKS,GAAM,KAAOT,IAAM,GAAKS,GAAM,KAAOA,IAAO,EAAIT,GAAK,IAG1E,SAAShB,EAAQgB,EAAGS,GAClB,OAAQT,IAAM,EAAIS,GAAM,KAAOT,IAAM,EAAIS,GAAM,IAAOT,IAAM,EAG9D,SAASV,EAASU,EAAGS,GACnB,OAAQT,IAAM,EAAIS,GAAM,KAAOT,IAAM,EAAIS,GAAM,KAAOT,IAAM,EAAIS,GAAM,IAGxE,SAAS0D,EAAQnE,EAAGS,GAClB,OAAQT,IAAM,GAAKS,GAAM,KAAOA,IAAO,GAAKT,GAAK,GAAMA,IAAM,EAG/D,SAASkD,EAASlD,EAAGS,GACnB,OAAQT,IAAM,GAAKS,GAAM,KAAOA,IAAO,GAAKT,GAAK,IAAMA,IAAM,EAAIS,GAAM,IAGzE,SAASxB,EAAUe,EAAGS,GACpB,OAAQT,IAAM,EAAMS,IAAM,EAAK,EAAI,EAzDrCN,EAASyL,EAAQ1L,GAEjB0L,EAAOhM,UAAUq5D,KAAO,WAmBtB,OAlBAv5D,KAAKmilB,IAAM,WACXnilB,KAAKoilB,IAAM,WACXpilB,KAAKqilB,IAAM,WACXrilB,KAAKsilB,IAAM,WACXtilB,KAAKuilB,IAAM,WACXvilB,KAAKwilB,IAAM,WACXxilB,KAAKyilB,IAAM,UACXzilB,KAAK0ilB,IAAM,WAEX1ilB,KAAK2ilB,IAAM,WACX3ilB,KAAK4ilB,IAAM,WACX5ilB,KAAK6ilB,IAAM,WACX7ilB,KAAK8ilB,IAAM,WACX9ilB,KAAK+ilB,IAAM,WACX/ilB,KAAKgjlB,IAAM,UACXhjlB,KAAKijlB,IAAM,WACXjjlB,KAAKkjlB,IAAM,UAEJljlB,IAAA,EAuCTkM,EAAOhM,UAAUm3P,QAAU,SAAU/2P,GAqBnC,IApBA,IAAIS,EAAIf,KAAK+hlB,GAETtglB,EAAgB,EAAXzB,KAAKmilB,IACV1hlB,EAAgB,EAAXT,KAAKoilB,IACV5hlB,EAAgB,EAAXR,KAAKqilB,IACV79kB,EAAgB,EAAXxE,KAAKsilB,IACV/hlB,EAAgB,EAAXP,KAAKuilB,IACVr2kB,EAAgB,EAAXlM,KAAKwilB,IACVt+kB,EAAgB,EAAXlE,KAAKyilB,IACVh/kB,EAAgB,EAAXzD,KAAK0ilB,IAEVn/e,EAAgB,EAAXvjG,KAAK2ilB,IACVj/kB,EAAgB,EAAX1D,KAAK4ilB,IACVl+kB,EAAgB,EAAX1E,KAAK6ilB,IACVjikB,EAAgB,EAAX5gB,KAAK8ilB,IACV92Z,EAAgB,EAAXhsL,KAAK+ilB,IACV5uc,EAAgB,EAAXn0I,KAAKgjlB,IACV59kB,EAAgB,EAAXpF,KAAKijlB,IACVn3Z,EAAgB,EAAX9rL,KAAKkjlB,IAEL5wD,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BvxhB,EAAEuxhB,GAAKhyhB,EAAEwwD,YAAgB,EAAJwhe,GACrBvxhB,EAAEuxhB,EAAI,GAAKhyhB,EAAEwwD,YAAgB,EAAJwhe,EAAQ,GAEnC,KAAOA,EAAI,IAAKA,GAAK,EAAG,CACtB,IAAI/wd,EAAKxgE,EAAEuxhB,EAAI,IACX58d,EAAK30D,EAAEuxhB,EAAI,GAAS,GACpB9vhB,EAASlD,EAAOiiE,EAAI7L,GACpBoC,EAAUl4D,EAAQ81D,EAAI6L,GAItBytb,EAASvqf,EAFb88D,EAAKxgE,EAAEuxhB,EAAI,GACX58d,EAAK30D,EAAEuxhB,EAAI,EAAQ,IAEfC,EAAU/uhB,EAAQkyD,EAAI6L,GAGtBixd,EAAOzxhB,EAAEuxhB,EAAI,IACbG,EAAO1xhB,EAAEuxhB,EAAI,GAAQ,GAErBI,EAAQ3xhB,EAAEuxhB,EAAI,IACd50d,EAAQ38D,EAAEuxhB,EAAI,GAAS,GAEvB1mW,EAAO9zH,EAAU26d,EAAQ,EACzB5xgB,EAAOre,EAASgwhB,EAAOjzhB,EAASqsL,EAAK9zH,GAAY,EAIrDj3C,GAFAA,EAAOA,EAAMmue,EAASzvf,EADtBqsL,EAAOA,EAAM2mW,EAAW,EACYA,GAAY,GAEnCG,EAAQnzhB,EADrBqsL,EAAOA,EAAMluH,EAAS,EACaA,GAAU,EAE7C38D,EAAEuxhB,GAAKzxgB,EACP9f,EAAEuxhB,EAAI,GAAK1mW,CAAA,CAGb,IAAK,IAAIyuW,EAAI,EAAGA,EAAI,IAAKA,GAAK,EAAG,CAC/Bx5gB,EAAM9f,EAAEs5hB,GACRzuW,EAAM7qL,EAAEs5hB,EAAI,GAEZ,IAAIz4d,EAAOr+D,EAAI9B,EAAIhB,EAAID,GACnB85hB,EAAO/2hB,EAAIggG,EAAI7/F,EAAIgB,GAEnBe,EAAUugC,EAAOvkC,EAAI8hG,GACrBhgC,EAAUv9B,EAAOu9D,EAAI9hG,GACrB8sF,EAAU5lE,EAAOpoB,EAAIyrL,GACrBM,EAAU3jK,EAAOqjK,EAAIzrL,GAGrBg6hB,EAAMp1hB,EAAEk1hB,GACR9tW,EAAMpnL,EAAEk1hB,EAAI,GAEZG,EAAMh5hB,EAAGjB,EAAI2L,EAAIhI,GACjBu2hB,EAAMj5hB,EAAGwqL,EAAI73C,EAAI/uI,GAEjBs1hB,EAAO5uW,EAAKQ,EAAW,EACvBT,EAAOpoL,EAAK8qF,EAAUhvF,EAASm7hB,EAAK5uW,GAAO,EAM/CD,GAFAA,GAFAA,EAAOA,EAAM2uW,EAAMj7hB,EADnBm7hB,EAAOA,EAAMD,EAAO,EACaA,GAAQ,GAE5BF,EAAMh7hB,EADnBm7hB,EAAOA,EAAMnuW,EAAO,EACaA,GAAQ,GAE5B1rK,EAAMthB,EADnBm7hB,EAAOA,EAAM9uW,EAAO,EACaA,GAAQ,EAGzC,IAAIjJ,GAAOp/G,EAAU+2d,EAAQ,EACzBr9W,GAAOx3K,EAAUm8D,EAAOriE,EAASojL,GAAKp/G,GAAY,EAEtD9/D,EAAKS,EACL4nL,EAAK1mL,EACLlB,EAAKgI,EACL9G,EAAK+uI,EACLjoI,EAAK3L,EACL4zI,EAAK63C,EAELzrL,EAAMiE,EAAKqnL,EAAMtsL,EADjBysL,EAAMprK,EAAK85gB,EAAO,EACY95gB,GAAO,EACrCpc,EAAKhE,EACLogB,EAAKlc,EACLlE,EAAKC,EACLiE,EAAKhB,EACLjD,EAAKgB,EACLiC,EAAK6/F,EAEL9hG,EAAMoqL,EAAM5O,GAAM19K,EADlBgkG,EAAMm3b,EAAM/3W,GAAO,EACY+3W,GAAQ,EAGzC16hB,KAAK2ilB,IAAO3ilB,KAAK2ilB,IAAMp/e,EAAM,EAC7BvjG,KAAK4ilB,IAAO5ilB,KAAK4ilB,IAAMl/kB,EAAM,EAC7B1D,KAAK6ilB,IAAO7ilB,KAAK6ilB,IAAMn+kB,EAAM,EAC7B1E,KAAK8ilB,IAAO9ilB,KAAK8ilB,IAAMlikB,EAAM,EAC7B5gB,KAAK+ilB,IAAO/ilB,KAAK+ilB,IAAM/2Z,EAAM,EAC7BhsL,KAAKgjlB,IAAOhjlB,KAAKgjlB,IAAM7uc,EAAM,EAC7Bn0I,KAAKijlB,IAAOjjlB,KAAKijlB,IAAM79kB,EAAM,EAC7BpF,KAAKkjlB,IAAOljlB,KAAKkjlB,IAAMp3Z,EAAM,EAE7B9rL,KAAKmilB,IAAOnilB,KAAKmilB,IAAM1glB,EAAKlC,EAASS,KAAK2ilB,IAAKp/e,GAAO,EACtDvjG,KAAKoilB,IAAOpilB,KAAKoilB,IAAM3hlB,EAAKlB,EAASS,KAAK4ilB,IAAKl/kB,GAAO,EACtD1D,KAAKqilB,IAAOrilB,KAAKqilB,IAAM7hlB,EAAKjB,EAASS,KAAK6ilB,IAAKn+kB,GAAO,EACtD1E,KAAKsilB,IAAOtilB,KAAKsilB,IAAM99kB,EAAKjF,EAASS,KAAK8ilB,IAAKlikB,GAAO,EACtD5gB,KAAKuilB,IAAOvilB,KAAKuilB,IAAMhilB,EAAKhB,EAASS,KAAK+ilB,IAAK/2Z,GAAO,EACtDhsL,KAAKwilB,IAAOxilB,KAAKwilB,IAAMt2kB,EAAK3M,EAASS,KAAKgjlB,IAAK7uc,GAAO,EACtDn0I,KAAKyilB,IAAOzilB,KAAKyilB,IAAMv+kB,EAAK3E,EAASS,KAAKijlB,IAAK79kB,GAAO,EACtDpF,KAAK0ilB,IAAO1ilB,KAAK0ilB,IAAMj/kB,EAAKlE,EAASS,KAAKkjlB,IAAKp3Z,GAAO,GAGxD5/K,EAAOhM,UAAUuhE,MAAQ,WACvB,IAAInhE,EAAIkE,EAAO4lD,YAAY,IAE3B,SAASrpD,EAAcA,EAAGU,EAAGhB,GAC3BH,EAAE4xD,aAAanxD,EAAGN,GAClBH,EAAE4xD,aAAazwD,EAAGhB,EAAS,GAY7B,OATAM,EAAaf,KAAKmilB,IAAKnilB,KAAK2ilB,IAAK,GACjC5hlB,EAAaf,KAAKoilB,IAAKpilB,KAAK4ilB,IAAK,GACjC7hlB,EAAaf,KAAKqilB,IAAKrilB,KAAK6ilB,IAAK,IACjC9hlB,EAAaf,KAAKsilB,IAAKtilB,KAAK8ilB,IAAK,IACjC/hlB,EAAaf,KAAKuilB,IAAKvilB,KAAK+ilB,IAAK,IACjChilB,EAAaf,KAAKwilB,IAAKxilB,KAAKgjlB,IAAK,IACjCjilB,EAAaf,KAAKyilB,IAAKzilB,KAAKijlB,IAAK,IACjClilB,EAAaf,KAAK0ilB,IAAK1ilB,KAAKkjlB,IAAK,IAE1B5ilB,CAAA,EAGTS,EAAO3C,QAAU8N,CAAA,gBAAAuzgB,SAAA,sCAAAn/gB,EAAAS,EAAAU,GAAA,aC9OjBV,EAAO3C,QAAUoC,EAEjB,IAAIC,EAAKH,EAAQ,UAAU2ihB,aAkB3B,SAASzihB,IACPC,EAAGG,KAAKZ,KAAA,CAlBKM,EAAQ,WAARA,CAENE,EAAQC,GACjBD,EAAO+hiB,SAAWjiiB,EAAQ,+BAC1BE,EAAOq/hB,SAAWv/hB,EAAQ,+BAC1BE,EAAOk/gB,OAASp/gB,EAAQ,6BACxBE,EAAOo9hB,UAAYt9hB,EAAQ,gCAC3BE,EAAOi+gB,YAAcn+gB,EAAQ,kCAG7BE,EAAO03kB,OAAS13kB,EAWhBA,EAAON,UAAU2/C,KAAO,SAASv/C,EAAMS,GACrC,IAAIU,EAASzB,KAEb,SAASQ,EAAOO,GACVT,EAAKmnD,WAAA,IACOnnD,EAAKk9C,MAAMz8C,IAAUU,EAAO4+gB,OACxC5+gB,EAAO4+gB,OAAA,CAOb,SAAS77gB,IACH/C,EAAOuxkB,UAAYvxkB,EAAOiE,QAC5BjE,EAAOiE,QAAA,CAJXjE,EAAO0mE,GAAG,OAAQ3nE,GAQlBF,EAAK6nE,GAAG,QAAS3jE,GAIZlE,EAAK6ilB,UAAcpilB,IAAA,IAAWA,EAAQmc,MACzCzb,EAAO0mE,GAAG,MAAO5nE,GACjBkB,EAAO0mE,GAAG,QAASj8D,IAGrB,IAAI/G,GAAA,EACJ,SAAS5E,IACH4E,IACJA,GAAA,EAEA7E,EAAK4c,MAAA,CAIP,SAAShR,IACH/G,IACJA,GAAA,EAE4B,mBAAjB7E,EAAKsU,SAAwBtU,EAAKsU,UAAA,CAI/C,SAASpT,EAAQlB,GAEf,GADAiD,IACwC,IAApC9C,EAAGs0jB,cAAc/0jB,KAAM,SACzB,MAAMM,CAAA,CAQV,SAASiD,IACP9B,EAAO6pI,eAAe,OAAQ9qI,GAC9BF,EAAKgrI,eAAe,QAAS9mI,GAE7B/C,EAAO6pI,eAAe,MAAO/qI,GAC7BkB,EAAO6pI,eAAe,QAASp/H,GAE/BzK,EAAO6pI,eAAe,QAAS9pI,GAC/BlB,EAAKgrI,eAAe,QAAS9pI,GAE7BC,EAAO6pI,eAAe,MAAO/nI,GAC7B9B,EAAO6pI,eAAe,QAAS/nI,GAE/BjD,EAAKgrI,eAAe,QAAS/nI,EAAA,CAW/B,OA5BA9B,EAAO0mE,GAAG,QAAS3mE,GACnBlB,EAAK6nE,GAAG,QAAS3mE,GAmBjBC,EAAO0mE,GAAG,MAAO5kE,GACjB9B,EAAO0mE,GAAG,QAAS5kE,GAEnBjD,EAAK6nE,GAAG,QAAS5kE,GAEjBjD,EAAK6sgB,KAAK,OAAQ1rgB,GAGXnB,CAAA,IAAAslE,OAAA,IAAA65c,SAAA,gMAAAn/gB,EAAAS,EAAAU,GAAA,aC7HTV,EAAO3C,QAAUkC,EAAQ,2EAAAA,EAAAS,EAAAU,GC0BzB,aAIA,IAAIhB,EAAMH,EAAQ,wBAIdE,EAAahB,OAAOgR,MAAQ,SAAUlQ,GACxC,IAAIS,EAAO,GACX,IAAK,IAAIU,KAAOnB,EACdS,EAAKuD,KAAK7C,GACX,OAAOV,CAAA,EAIVA,EAAO3C,QAAU4nC,EAGjB,IAAIxhC,EAAOhF,OAAOW,OAAOG,EAAQ,iBACjCkE,EAAKi7gB,SAAWn/gB,EAAQ,YAGxB,IAAI6E,EAAW7E,EAAQ,sBACnBC,EAAWD,EAAQ,sBAEvBkE,EAAKi7gB,SAASz5e,EAAQ7gC,GAKpB,IADA,IAAI+G,EAAO1L,EAAWD,EAASL,WACtBsB,EAAI,EAAGA,EAAI0K,EAAKvL,OAAQa,IAAK,CACpC,IAAI+B,EAAS2I,EAAK1K,GACbwkC,EAAO9lC,UAAUqD,KAASyiC,EAAO9lC,UAAUqD,GAAUhD,EAASL,UAAUqD,GAAA,CAIjF,SAASyiC,EAAO1lC,GACd,KAAMN,gBAAgBgmC,GAAS,OAAO,IAAIA,EAAO1lC,GAEjD6E,EAASvE,KAAKZ,KAAMM,GACpBC,EAASK,KAAKZ,KAAMM,GAEhBA,IAAA,IAAWA,EAAQ0ykB,WAAoBhzkB,KAAKgzkB,UAAA,GAE5C1ykB,IAAA,IAAWA,EAAQmnD,WAAoBznD,KAAKynD,UAAA,GAEhDznD,KAAK+ykB,eAAA,EACDzykB,IAAA,IAAWA,EAAQyykB,gBAAyB/ykB,KAAK+ykB,eAAA,GAErD/ykB,KAAK00jB,KAAK,MAAO/riB,EAAA,CAcnB,SAASA,IAGH3oB,KAAK+ykB,eAAiB/ykB,KAAKizkB,eAAepN,OAI9CplkB,EAAIs/gB,SAASzghB,EAASU,KAAA,CAGxB,SAASV,EAAQgB,GACfA,EAAK4c,KAAA,CAtBP1d,OAAOqC,eAAemkC,EAAO9lC,UAAW,wBAAyB,CAI/D2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,eAAeC,aAAA,IAmB/B1zkB,OAAOqC,eAAemkC,EAAO9lC,UAAW,YAAa,CACnD0G,IAAK,WACH,gBAAI5G,KAAKozkB,qBAAA,IAAgCpzkB,KAAKizkB,gBAGvCjzkB,KAAKozkB,eAAeC,WAAarzkB,KAAKizkB,eAAeI,SAAA,EAE9DvskB,IAAK,SAAUxG,QAAA,IAGTN,KAAKozkB,qBAAA,IAAgCpzkB,KAAKizkB,iBAM9CjzkB,KAAKozkB,eAAeC,UAAY/ykB,EAChCN,KAAKizkB,eAAeI,UAAY/ykB,EAAA,IAIpC0lC,EAAO9lC,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GACzCf,KAAKsE,KAAK,MACVtE,KAAKkd,MAELzc,EAAIs/gB,SAASh/gB,EAAIT,EAAA,yEAAAm/gB,SAAA,+CAAAn/gB,EAAAS,EAAAU,GCxGnB,aAEAV,EAAO3C,QAAUoG,EAEjB,IAAI/D,EAAYH,EAAQ,uBAGpBE,EAAOhB,OAAOW,OAAOG,EAAQ,iBAMjC,SAASkE,EAAYlE,GACnB,KAAMN,gBAAgBwE,GAAc,OAAO,IAAIA,EAAYlE,GAE3DG,EAAUG,KAAKZ,KAAMM,EAAA,CARvBE,EAAKi/gB,SAAWn/gB,EAAQ,YAGxBE,EAAKi/gB,SAASj7gB,EAAa/D,GAQ3B+D,EAAYtE,UAAU67iB,WAAa,SAAUz7iB,EAAOS,EAAUU,GAC5DA,EAAG,KAAMnB,EAAA,iDAAAm/gB,SAAA,oBAAAn/gB,EAAAS,EAAAU,IAAA,SAAAA,EAAAhB,GCxBX,aAIA,IAAID,EAAMF,EAAQ,wBAGlBS,EAAO3C,QAAUqF,EAGjB,IAIIe,EAJAW,EAAU7E,EAAQ,WAOtBmD,EAAS6vkB,cAAgBpvkB,EAGhB5D,EAAQ,UAAU2ihB,aAA3B,IAEI1ihB,EAAkB,SAAUD,EAASS,GACvC,OAAOT,EAAQu0jB,UAAU9zjB,GAAMJ,MAAA,EAK7BuL,EAAS5L,EAAQ,6BAKjBkB,EAASlB,EAAQ,eAAeoN,OAChCnK,EAAgB9C,EAAOyG,YAAc,WAAa,EAWlD8+B,EAAOxmC,OAAOW,OAAOG,EAAQ,iBACjC0lC,EAAKy5e,SAAWn/gB,EAAQ,YAIxB,IAAIqoB,EAAYroB,EAAQ,QACpBhB,OAAA,EAEFA,EADEqpB,GAAaA,EAAU4qjB,SACjB5qjB,EAAU4qjB,SAAS,UAEnB,WAAa,EAIvB,IAEI3zkB,EAFA6E,EAAanE,EAAQ,iCACrBkD,EAAclD,EAAQ,8BAG1B0lC,EAAKy5e,SAASh8gB,EAAUyI,GAExB,IAAI3M,EAAe,CAAC,QAAS,QAAS,UAAW,QAAS,UAc1D,SAAS2E,EAAcnD,EAASU,GAG9BV,EAAUA,GAAW,CAAC,EAOtB,IAAIN,EAAWgB,aATf+C,EAASA,GAAUlE,EAAQ,qBAa3BN,KAAKq9hB,aAAet8hB,EAAQs8hB,WAExB58hB,IAAUT,KAAKq9hB,WAAar9hB,KAAKq9hB,cAAgBt8hB,EAAQq6hB,oBAI7D,IAAI56hB,EAAMO,EAAQmykB,cACd/tkB,EAAcpE,EAAQqilB,sBACtB7ilB,EAAaP,KAAKq9hB,WAAa,GAAK,MAElBr9hB,KAAKkzkB,cAAvB1ykB,GAAe,IAARA,EAAgCA,EAAaC,IAAa0E,GAA+B,IAAhBA,GAAyCA,EAAsC5E,EAGnKP,KAAKkzkB,cAAgB5nkB,KAAKC,MAAMvL,KAAKkzkB,eAKrClzkB,KAAKyJ,OAAS,IAAIhF,EAClBzE,KAAKW,OAAS,EACdX,KAAKu/gB,MAAQ,KACbv/gB,KAAK8zkB,WAAa,EAClB9zkB,KAAK+zkB,QAAU,KACf/zkB,KAAK6lkB,OAAA,EACL7lkB,KAAKkgiB,YAAA,EACLlgiB,KAAKg0kB,SAAA,EAMLh0kB,KAAKi0kB,MAAA,EAILj0kB,KAAKk0kB,cAAA,EACLl0kB,KAAKm0kB,iBAAA,EACLn0kB,KAAKo0kB,mBAAA,EACLp0kB,KAAKq0kB,iBAAA,EAGLr0kB,KAAKqzkB,WAAA,EAKLrzkB,KAAKw0kB,gBAAkBzzkB,EAAQyzkB,iBAAmB,OAGlDx0kB,KAAKy0kB,WAAa,EAGlBz0kB,KAAK00kB,aAAA,EAEL10kB,KAAKugiB,QAAU,KACfvgiB,KAAKgI,SAAW,KACZjH,EAAQiH,WACLpI,IAAeA,EAAgBU,EAAQ,mBAAmBkgiB,eAC/DxgiB,KAAKugiB,QAAU,IAAI3giB,EAAcmB,EAAQiH,UACzChI,KAAKgI,SAAWjH,EAAQiH,SAAA,CAI5B,SAASvE,EAAS1C,GAGhB,GAFAyD,EAASA,GAAUlE,EAAQ,sBAErBN,gBAAgByD,GAAW,OAAO,IAAIA,EAAS1C,GAErDf,KAAKozkB,eAAiB,IAAIlvkB,EAAcnD,EAASf,MAGjDA,KAAKgzkB,UAAA,EAEDjykB,IAC0B,mBAAjBA,EAAQ41C,OAAqB32C,KAAKi9jB,MAAQl8jB,EAAQ41C,MAE9B,mBAApB51C,EAAQ6T,UAAwB5U,KAAK20kB,SAAW5zkB,EAAQ6T,UAGrE1I,EAAOtL,KAAKZ,KAAA,CA2Dd,SAASujG,EAAiBjjG,EAAQS,EAAOU,EAAUhB,EAAYD,GAC7D,IAKMgE,EALFW,EAAQ7E,EAAO8ykB,eAgCnB,OA/Bc,OAAVrykB,GACFoE,EAAM6ukB,SAAA,EA0NV,SAAoB1zkB,EAAQS,GAC1B,IAAIA,EAAM8kkB,MAAV,CACA,GAAI9kkB,EAAMw/hB,QAAS,CACjB,IAAI9+hB,EAAQV,EAAMw/hB,QAAQrjhB,MACtBzb,GAASA,EAAMd,SACjBI,EAAM0I,OAAOnF,KAAK7C,GAClBV,EAAMJ,QAAUI,EAAMs8hB,WAAa,EAAI57hB,EAAMd,OAAA,CAGjDI,EAAM8kkB,OAAA,EAGNjljB,EAAatgB,EAXU,CAWV,CAZf,CAzNeA,EAAQ6E,KAGd3E,IAAgBgE,EA2CzB,SAAsBlE,EAAOS,GAC3B,IAAIU,EApPiBhB,EAwPrB,OAxPqBA,EAqPFM,EApPZS,EAAO26C,SAAS17C,IAAQA,aAAe8C,GAoPA,iBAAVxC,QAAA,IAAsBA,GAAwBT,EAAM+8hB,aACtF57hB,EAAK,IAAI2C,UAAU,oCAEd3C,CAAA,CALT,CA3C2C0D,EAAOpE,IAC1CyD,EACFlE,EAAO6sgB,KAAK,QAAS3ogB,GACZW,EAAMk4hB,YAAct8hB,GAASA,EAAMJ,OAAS,GAChC,iBAAVI,GAAuBoE,EAAMk4hB,YAAc79hB,OAAOogD,eAAe7+C,KAAWS,EAAOtB,YAC5Fa,EAhNR,SAA6BT,GAC3B,OAAOkB,EAAO8I,KAAKhK,EAAA,CADrB,CAgNoCS,IAG1BN,EACE0E,EAAM+6hB,WAAY5/hB,EAAO6sgB,KAAK,QAAS,IAAIxkgB,MAAM,qCAA0CjF,EAASpD,EAAQ6E,EAAOpE,GAAA,GAC9GoE,EAAM0gkB,MACfvlkB,EAAO6sgB,KAAK,QAAS,IAAIxkgB,MAAM,6BAE/BxD,EAAM6ukB,SAAA,EACF7ukB,EAAMo7hB,UAAY9+hB,GACpBV,EAAQoE,EAAMo7hB,QAAQ/if,MAAMz8C,GACxBoE,EAAMk4hB,YAA+B,IAAjBt8hB,EAAMJ,OAAc+C,EAASpD,EAAQ6E,EAAOpE,GAAA,GAAmBozI,EAAc7zI,EAAQ6E,IAE7GzB,EAASpD,EAAQ6E,EAAOpE,GAAA,KAGlBN,IACV0E,EAAM6ukB,SAAA,IAoCZ,SAAsB1zkB,GACpB,OAAQA,EAAMulkB,QAAUvlkB,EAAM4zkB,cAAgB5zkB,EAAMK,OAASL,EAAM4ykB,eAAkC,IAAjB5ykB,EAAMK,OAAA,CAD5F,CAhCsBwE,EAAA,CAGtB,SAASzB,EAASpD,EAAQS,EAAOU,EAAOhB,GAClCM,EAAMgzkB,SAA4B,IAAjBhzkB,EAAMJ,SAAiBI,EAAMkzkB,MAChD3zkB,EAAO6sgB,KAAK,OAAQ1rgB,GACpBnB,EAAOq2C,KAAK,KAGZ51C,EAAMJ,QAAUI,EAAMs8hB,WAAa,EAAI57hB,EAAMd,OACzCF,EAAYM,EAAM0I,OAAOkwC,QAAQl4C,GAAYV,EAAM0I,OAAOnF,KAAK7C,GAE/DV,EAAMmzkB,cAActzjB,EAAatgB,IAEvC6zI,EAAc7zI,EAAQS,EAAA,CAuDxB,SAAS2D,EAAcpE,EAAGS,GACxB,OAAIT,GAAK,GAAsB,IAAjBS,EAAMJ,QAAgBI,EAAM8kkB,MAAc,EACpD9kkB,EAAMs8hB,WAAmB,EACzB/8hB,GAAMA,EAEJS,EAAMgzkB,SAAWhzkB,EAAMJ,OAAeI,EAAM0I,OAAOwY,KAAKla,KAAKpH,OAAmBI,EAAMJ,QAGxFL,EAAIS,EAAMmykB,gBAAenykB,EAAMmykB,cA3BrC,SAAiC5ykB,GAc/B,OAbIA,GAFQ,QAGVA,EAHU,SAOVA,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,KAEKA,CAAA,CAdT,CA2B6EA,IACvEA,GAAKS,EAAMJ,OAAeL,EAEzBS,EAAM8kkB,MAIJ9kkB,EAAMJ,QAHXI,EAAMmzkB,cAAA,EACC,IA4HX,SAAStzjB,EAAatgB,GACpB,IAAIS,EAAQT,EAAO8ykB,eACnBrykB,EAAMmzkB,cAAA,EACDnzkB,EAAMozkB,kBACT70kB,EAAM,eAAgByB,EAAMgzkB,SAC5BhzkB,EAAMozkB,iBAAA,EACFpzkB,EAAMkzkB,KAAMzzkB,EAAIu/gB,SAAS/zV,EAAe1rL,GAAa0rL,EAAc1rL,GAAA,CAI3E,SAAS0rL,EAAc1rL,GACrBhB,EAAM,iBACNgB,EAAO6sgB,KAAK,YACZ5rc,EAAKjhE,EAAA,CASP,SAAS6zI,EAAc7zI,EAAQS,GACxBA,EAAM2zkB,cACT3zkB,EAAM2zkB,aAAA,EACNl0kB,EAAIu/gB,SAAS36gB,EAAgB9E,EAAQS,GAAA,CAIzC,SAASqE,EAAe9E,EAAQS,GAE9B,IADA,IAAIU,EAAMV,EAAMJ,QACRI,EAAMizkB,UAAYjzkB,EAAMgzkB,UAAYhzkB,EAAM8kkB,OAAS9kkB,EAAMJ,OAASI,EAAMmykB,gBAC9E5zkB,EAAM,wBACNgB,EAAOq2C,KAAK,GACRl1C,IAAQV,EAAMJ,SAELc,EAAMV,EAAMJ,OAE3BI,EAAM2zkB,aAAA,CAAc,CAyOtB,SAAS5oZ,EAAiBxrL,GACxBhB,EAAM,4BACNgB,EAAKq2C,KAAK,GAsBZ,SAAS27e,EAAQhyhB,EAAQS,GAClBA,EAAMizkB,UACT10kB,EAAM,iBACNgB,EAAOq2C,KAAK,IAGd51C,EAAMszkB,iBAAA,EACNtzkB,EAAM0zkB,WAAa,EACnBn0kB,EAAO6sgB,KAAK,UACZ5rc,EAAKjhE,GACDS,EAAMgzkB,UAAYhzkB,EAAMizkB,SAAS1zkB,EAAOq2C,KAAK,GAanD,SAAS4qB,EAAKjhE,GACZ,IAAIS,EAAQT,EAAO8ykB,eAEnB,IADA9zkB,EAAM,OAAQyB,EAAMgzkB,SACbhzkB,EAAMgzkB,SAA6B,OAAlBzzkB,EAAOq2C,SAAA,CAmFjC,SAAS+e,EAASp1D,EAAGS,GAEnB,OAAqB,IAAjBA,EAAMJ,OAAqB,MAG3BI,EAAMs8hB,WAAY57hB,EAAMV,EAAM0I,OAAO5D,SAAkBvF,GAAKA,GAAKS,EAAMJ,QAEtDc,EAAfV,EAAMw/hB,QAAex/hB,EAAM0I,OAAOgG,KAAK,IAAqC,IAAxB1O,EAAM0I,OAAO9I,OAAoBI,EAAM0I,OAAOwY,KAAKla,KAAgBhH,EAAM0I,OAAO1K,OAAOgC,EAAMJ,QACrJI,EAAM0I,OAAO+zB,SAGb/7B,EASJ,SAAyBnB,EAAGS,EAAMU,GAChC,IAAIhB,EAYJ,OAXIH,EAAIS,EAAKkhB,KAAKla,KAAKpH,QAErBF,EAAMM,EAAKkhB,KAAKla,KAAKoV,MAAM,EAAG7c,GAC9BS,EAAKkhB,KAAKla,KAAOhH,EAAKkhB,KAAKla,KAAKoV,MAAM7c,IAGtCG,EAFSH,IAAMS,EAAKkhB,KAAKla,KAAKpH,OAExBI,EAAK8E,QAGLpE,EASV,SAA8BnB,EAAGS,GAC/B,IAAIU,EAAIV,EAAKkhB,KACTxhB,EAAI,EACJD,EAAMiB,EAAEsG,KAEZ,IADAzH,GAAKE,EAAIG,OACFc,EAAIA,EAAEuB,MAAM,CACjB,IAAIwB,EAAM/C,EAAEsG,KACR5C,EAAK7E,EAAIkE,EAAI7D,OAAS6D,EAAI7D,OAASL,EAGvC,GAFI6E,IAAOX,EAAI7D,OAAQH,GAAOgE,EAAShE,GAAOgE,EAAI2Y,MAAM,EAAG7c,GAEjD,KADVA,GAAK6E,GACQ,CACPA,IAAOX,EAAI7D,UACXF,EACEgB,EAAEuB,KAAMjC,EAAKkhB,KAAOxgB,EAAEuB,KAAUjC,EAAKkhB,KAAOlhB,EAAK02kB,KAAO,OAE5D12kB,EAAKkhB,KAAOxgB,EACZA,EAAEsG,KAAOvD,EAAI2Y,MAAMhY,IAErB,QAEA1E,CAAA,CAGJ,OADAM,EAAKJ,QAAUF,EACRD,CAAA,CAvBT,CAT4CF,EAAGS,GAsC/C,SAAwBT,EAAGS,GACzB,IAAIU,EAAMD,EAAO4oD,YAAY9pD,GACzBG,EAAIM,EAAKkhB,KACTzhB,EAAI,EAGR,IAFAC,EAAEsH,KAAKiW,KAAKvc,GACZnB,GAAKG,EAAEsH,KAAKpH,OACLF,EAAIA,EAAEuC,MAAM,CACjB,IAAIwB,EAAM/D,EAAEsH,KACR5C,EAAK7E,EAAIkE,EAAI7D,OAAS6D,EAAI7D,OAASL,EAGvC,GAFAkE,EAAIwZ,KAAKvc,EAAKA,EAAId,OAASL,EAAG,EAAG6E,GAEvB,KADV7E,GAAK6E,GACQ,CACPA,IAAOX,EAAI7D,UACXH,EACEC,EAAEuC,KAAMjC,EAAKkhB,KAAOxhB,EAAEuC,KAAUjC,EAAKkhB,KAAOlhB,EAAK02kB,KAAO,OAE5D12kB,EAAKkhB,KAAOxhB,EACZA,EAAEsH,KAAOvD,EAAI2Y,MAAMhY,IAErB,QAEA3E,CAAA,CAGJ,OADAO,EAAKJ,QAAUH,EACRiB,CAAA,CAxBT,CAtCsEnB,EAAGS,GAEhEN,CAAA,CAbT,CAT0BH,EAAGS,EAAM0I,OAAQ1I,EAAMw/hB,SAGxC9+hB,GAVP,IAAIA,CAAA,CA4FN,SAASe,EAAYlC,GACnB,IAAIS,EAAQT,EAAO8ykB,eAInB,GAAIrykB,EAAMJ,OAAS,EAAG,MAAM,IAAIgI,MAAM,8CAEjC5H,EAAMm/hB,aACTn/hB,EAAM8kkB,OAAA,EACNrlkB,EAAIu/gB,SAASjod,EAAe/2D,EAAOT,GAAA,CAIvC,SAASw3D,EAAcx3D,EAAOS,GAEvBT,EAAM4/hB,YAA+B,IAAjB5/hB,EAAMK,SAC7BL,EAAM4/hB,YAAA,EACNn/hB,EAAOiykB,UAAA,EACPjykB,EAAOosgB,KAAK,QAIhB,SAASne,EAAQ1uf,EAAIS,GACnB,IAAK,IAAIU,EAAI,EAAGhB,EAAIH,EAAGK,OAAQc,EAAIhB,EAAGgB,IACpC,GAAInB,EAAGmB,KAAOV,EAAG,OAAOU,EAE1B,OAAQ,EArzBVjC,OAAOqC,eAAe4B,EAASvD,UAAW,YAAa,CACrD0G,IAAK,WACH,gBAAI5G,KAAKozkB,gBAGFpzkB,KAAKozkB,eAAeC,SAAA,EAE7BvskB,IAAK,SAAUxG,GAGRN,KAAKozkB,iBAMVpzkB,KAAKozkB,eAAeC,UAAY/ykB,EAAA,IAIpCmD,EAASvD,UAAU0U,QAAUpR,EAAYoR,QACzCnR,EAASvD,UAAU20kB,WAAarxkB,EAAYsxkB,UAC5CrxkB,EAASvD,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GAC3Cf,KAAKsE,KAAK,MACVvD,EAAGT,EAAA,EAOLmD,EAASvD,UAAUoE,KAAO,SAAUhE,EAAOS,GACzC,IACIU,EADAhB,EAAQT,KAAKozkB,eAgBjB,OAbK3ykB,EAAM48hB,WAUT57hB,GAAA,EATqB,iBAAVnB,KACTS,EAAWA,GAAYN,EAAM+zkB,mBACZ/zkB,EAAMuH,WACrB1H,EAAQkB,EAAO8I,KAAKhK,EAAOS,GAC3BA,EAAW,IAEbU,GAAA,GAMG8hG,EAAiBvjG,KAAMM,EAAOS,GAAA,EAAiBU,EAAA,EAIxDgC,EAASvD,UAAUy5C,QAAU,SAAUr5C,GACrC,OAAOijG,EAAiBvjG,KAAMM,EAAO,MAAM,KAAM,EAwEnDmD,EAASvD,UAAUoghB,SAAW,WAC5B,OAAO,IAAAtghB,KAAKozkB,eAAeW,OAAA,EAI7BtwkB,EAASvD,UAAUkghB,YAAc,SAAUr/gB,GAIzC,OAHKnB,IAAeA,EAAgBU,EAAQ,mBAAmBkgiB,eAC/DxgiB,KAAKozkB,eAAe7yC,QAAU,IAAI3giB,EAAcmB,GAChDf,KAAKozkB,eAAeprkB,SAAWjH,EACxBf,IAAA,EA2CTyD,EAASvD,UAAUy2C,KAAO,SAAUr2C,GAClChB,EAAM,OAAQgB,GACdA,EAAIilC,SAASjlC,EAAG,IAChB,IAAIS,EAAQf,KAAKozkB,eACb3xkB,EAAQnB,EAOZ,GALU,IAANA,IAASS,EAAMozkB,iBAAA,GAKT,IAAN7zkB,GAAWS,EAAMmzkB,eAAiBnzkB,EAAMJ,QAAUI,EAAMmykB,eAAiBnykB,EAAM8kkB,OAGjF,OAFAvmkB,EAAM,qBAAsByB,EAAMJ,OAAQI,EAAM8kkB,OAC3B,IAAjB9kkB,EAAMJ,QAAgBI,EAAM8kkB,MAAOrjkB,EAAYxC,MAAW4gB,EAAa5gB,MACpE,KAMT,GAAU,KAHVM,EAAIoE,EAAcpE,EAAGS,KAGNA,EAAM8kkB,MAEnB,OADqB,IAAjB9kkB,EAAMJ,QAAc6B,EAAYxC,MAC7B,KA0BT,IA4BIS,EA5BAD,EAASO,EAAMmzkB,aAiDnB,OAhDA50kB,EAAM,gBAAiBkB,IAGF,IAAjBO,EAAMJ,QAAgBI,EAAMJ,OAASL,EAAIS,EAAMmykB,gBAEjD5zkB,EAAM,6BADNkB,GAAA,GAMEO,EAAM8kkB,OAAS9kkB,EAAMizkB,QAEvB10kB,EAAM,mBADNkB,GAAA,GAESA,IACTlB,EAAM,WACNyB,EAAMizkB,SAAA,EACNjzkB,EAAMkzkB,MAAA,EAEe,IAAjBlzkB,EAAMJ,SAAcI,EAAMmzkB,cAAA,GAE9Bl0kB,KAAKi9jB,MAAMl8jB,EAAMmykB,eACjBnykB,EAAMkzkB,MAAA,EAGDlzkB,EAAMizkB,UAAS1zkB,EAAIoE,EAAcjD,EAAOV,KAMnC,QAFDN,EAAPH,EAAI,EAASo1D,EAASp1D,EAAGS,GAAkB,OAG7CA,EAAMmzkB,cAAA,EACN5zkB,EAAI,GAEJS,EAAMJ,QAAUL,EAGG,IAAjBS,EAAMJ,SAGHI,EAAM8kkB,QAAO9kkB,EAAMmzkB,cAAA,GAGpBzykB,IAAUnB,GAAKS,EAAM8kkB,OAAOrjkB,EAAYxC,OAGlC,OAARS,GAAcT,KAAKmtgB,KAAK,OAAQ1sgB,GAE7BA,CAAA,EAkETgD,EAASvD,UAAU+8jB,MAAQ,SAAU38jB,GACnCN,KAAKmtgB,KAAK,QAAS,IAAIxkgB,MAAM,gCAG/BlF,EAASvD,UAAU2/C,KAAO,SAAUv/C,EAAMS,GACxC,IAAIN,EAAMT,KACNwE,EAAQxE,KAAKozkB,eAEjB,OAAQ5ukB,EAAMsvkB,YACZ,KAAK,EACHtvkB,EAAM+6gB,MAAQj/gB,EACd,MACF,KAAK,EACHkE,EAAM+6gB,MAAQ,CAAC/6gB,EAAM+6gB,MAAOj/gB,GAC5B,MACF,QACEkE,EAAM+6gB,MAAMj7gB,KAAKhE,GAGrBkE,EAAMsvkB,YAAc,EACpBx0kB,EAAM,wBAAyBkF,EAAMsvkB,WAAY/ykB,GAEjD,IAEImL,EAFUnL,IAAA,IAAYA,EAASmc,KAAkB5c,IAASmB,EAAQszkB,QAAUz0kB,IAASmB,EAAQuzkB,OAErEvxkB,EAARF,EAIpB,SAAS/B,EAAST,EAAUU,GAC1BnC,EAAM,YACFyB,IAAaN,GACXgB,IAAA,IAAcA,EAAWwzkB,aAC3BxzkB,EAAWwzkB,YAAA,EAoBf31kB,EAAM,WAENgB,EAAKgrI,eAAe,QAAS/rI,GAC7Be,EAAKgrI,eAAe,SAAUpnI,GAC9B5D,EAAKgrI,eAAe,QAAStlG,GAC7B1lC,EAAKgrI,eAAe,QAAS9nI,GAC7BlD,EAAKgrI,eAAe,SAAU9pI,GAC9Bf,EAAI6qI,eAAe,MAAO/nI,GAC1B9C,EAAI6qI,eAAe,MAAO7nI,GAC1BhD,EAAI6qI,eAAe,OAAQ7mI,GAE3BkkB,GAAA,GAOInkB,EAAMiwkB,YAAgBn0kB,EAAK2ykB,iBAAkB3ykB,EAAK2ykB,eAAeiC,WAAYlviB,IAAA,CAhCnF,SAASziC,IACPjE,EAAM,SACNgB,EAAK4c,KAAA,CAfH1Y,EAAM07hB,WAAY1/hB,EAAIu/gB,SAAS7zgB,GAAYzL,EAAIi0jB,KAAK,MAAOxojB,GAE/D5L,EAAK6nE,GAAG,SAAU3mE,GAoBlB,IAAIwkC,EA4FN,SAAqB1lC,GACnB,OAAO,WACL,IAAIS,EAAQT,EAAI8ykB,eAChB9zkB,EAAM,cAAeyB,EAAM0zkB,YACvB1zkB,EAAM0zkB,YAAY1zkB,EAAM0zkB,aACH,IAArB1zkB,EAAM0zkB,YAAoBl0kB,EAAgBD,EAAK,UACjDS,EAAMgzkB,SAAA,EACNxygB,EAAKjhE,GAAA,EAPX,CA5F4BG,GAC1BH,EAAK6nE,GAAG,QAASniC,GAEjB,IAAIrd,GAAA,EA2BA/oB,GAAA,EAEJ,SAAS6E,EAAO1D,GACdzB,EAAM,UACNM,GAAA,GAAsB,IACZU,EAAKk9C,MAAMz8C,IACCnB,KAKM,IAArB4E,EAAMsvkB,YAAoBtvkB,EAAM+6gB,QAAUj/gB,GAAQkE,EAAMsvkB,WAAa,IAAqC,IAAhC9kF,EAAQxqf,EAAM+6gB,MAAOj/gB,MAAkBqoB,IACpHrpB,EAAM,8BAA+BmB,EAAI2ykB,eAAeqB,YACxDh0kB,EAAI2ykB,eAAeqB,aACnB70kB,GAAA,GAEFa,EAAI4/gB,QAAA,CAMR,SAAS78gB,EAAQzC,GACfzB,EAAM,UAAWyB,GACjB0C,IACAnD,EAAKgrI,eAAe,QAAS9nI,GACU,IAAnCjD,EAAgBD,EAAM,UAAgBA,EAAK6sgB,KAAK,QAASpsgB,EAAA,CAO/D,SAASxB,IACPe,EAAKgrI,eAAe,SAAUpnI,GAC9BT,GAAA,CAGF,SAASS,IACP5E,EAAM,YACNgB,EAAKgrI,eAAe,QAAS/rI,GAC7BkE,GAAA,CAIF,SAASA,IACPnE,EAAM,UACNmB,EAAI8/gB,OAAOjghB,EAAA,CAYb,OA1DAG,EAAI0nE,GAAG,OAAQ1jE,GA9gBjB,SAAyBnE,EAASS,EAAOU,GAGvC,GAAuC,mBAA5BnB,EAAQm0jB,gBAAgC,OAAOn0jB,EAAQm0jB,gBAAgB1zjB,EAAOU,GAMpFnB,EAAQkoH,SAAYloH,EAAQkoH,QAAQznH,GAAuCoE,EAAQ7E,EAAQkoH,QAAQznH,IAAST,EAAQkoH,QAAQznH,GAAO44C,QAAQl4C,GAASnB,EAAQkoH,QAAQznH,GAAS,CAACU,EAAInB,EAAQkoH,QAAQznH,IAAtJT,EAAQ6nE,GAAGpnE,EAAOU,EAAA,CATrE,CA2iBkBnB,EAAM,QAASkD,GAO/BlD,EAAKo0jB,KAAK,QAASn1jB,GAMnBe,EAAKo0jB,KAAK,SAAUxwjB,GAQpB5D,EAAK6sgB,KAAK,OAAQ1sgB,GAGb+D,EAAMuvkB,UACTz0kB,EAAM,eACNmB,EAAIiF,UAGCpF,CAAA,EAeTmD,EAASvD,UAAUqghB,OAAS,SAAUjghB,GACpC,IAAIS,EAAQf,KAAKozkB,eACb3xkB,EAAa,CAAEwzkB,YAAA,GAGnB,GAAyB,IAArBl0kB,EAAM+ykB,WAAkB,OAAO9zkB,KAGnC,GAAyB,IAArBe,EAAM+ykB,WAER,OAAIxzkB,GAAQA,IAASS,EAAMw+gB,QAEtBj/gB,IAAMA,EAAOS,EAAMw+gB,OAGxBx+gB,EAAMw+gB,MAAQ,KACdx+gB,EAAM+ykB,WAAa,EACnB/ykB,EAAMgzkB,SAAA,EACFzzkB,GAAMA,EAAK6sgB,KAAK,SAAUntgB,KAAMyB,IARKzB,KAc3C,IAAKM,EAAM,CAET,IAAIG,EAAQM,EAAMw+gB,MACd/+gB,EAAMO,EAAM+ykB,WAChB/ykB,EAAMw+gB,MAAQ,KACdx+gB,EAAM+ykB,WAAa,EACnB/ykB,EAAMgzkB,SAAA,EAEN,IAAK,IAAIvvkB,EAAI,EAAGA,EAAIhE,EAAKgE,IACvB/D,EAAM+D,GAAG2ogB,KAAK,SAAUntgB,KAAMyB,GAC/B,OAAOzB,IAAA,CAIV,IAAImF,EAAQ6pf,EAAQjuf,EAAMw+gB,MAAOj/gB,GACjC,OAAe,IAAX6E,IAEJpE,EAAMw+gB,MAAMjsgB,OAAOnO,EAAO,GAC1BpE,EAAM+ykB,YAAc,EACK,IAArB/ykB,EAAM+ykB,aAAkB/ykB,EAAMw+gB,MAAQx+gB,EAAMw+gB,MAAM,IAEtDj/gB,EAAK6sgB,KAAK,SAAUntgB,KAAMyB,IANDzB,IAAA,EAa3ByD,EAASvD,UAAUioE,GAAK,SAAU7nE,EAAIS,GACpC,IAAIU,EAAMyK,EAAOhM,UAAUioE,GAAGvnE,KAAKZ,KAAMM,EAAIS,GAE7C,GAAW,SAAPT,GAAA,IAEEN,KAAKozkB,eAAeW,SAAmB/zkB,KAAK0F,cAC3C,GAAW,aAAPpF,EAAmB,CAC5B,IAAIG,EAAQT,KAAKozkB,eACZ3ykB,EAAMy/hB,YAAez/hB,EAAM2zkB,oBAC9B3zkB,EAAM2zkB,kBAAoB3zkB,EAAMyzkB,cAAA,EAChCzzkB,EAAM0zkB,iBAAA,EACD1zkB,EAAMuzkB,QAEAvzkB,EAAME,QACfigB,EAAa5gB,MAFbQ,EAAIu/gB,SAASj0V,EAAkB9rL,MAAA,CAOrC,OAAOyB,CAAA,EAETgC,EAASvD,UAAUs0jB,YAAc/wjB,EAASvD,UAAUioE,GASpD1kE,EAASvD,UAAUwF,OAAS,WAC1B,IAAIpF,EAAQN,KAAKozkB,eAMjB,OALK9ykB,EAAMyzkB,UACTz0kB,EAAM,UACNgB,EAAMyzkB,SAAA,EAMV,SAAgBzzkB,EAAQS,GACjBA,EAAMszkB,kBACTtzkB,EAAMszkB,iBAAA,EACN7zkB,EAAIu/gB,SAASuS,EAAShyhB,EAAQS,GAAA,CAHlC,CALWf,KAAMM,IAERN,IAAA,EAuBTyD,EAASvD,UAAUmghB,MAAQ,WAOzB,OANA/ghB,EAAM,wBAAyBU,KAAKozkB,eAAeW,UAAA,IACrC/zkB,KAAKozkB,eAAeW,UAChCz0kB,EAAM,SACNU,KAAKozkB,eAAeW,SAAA,EACpB/zkB,KAAKmtgB,KAAK,UAELntgB,IAAA,EAYTyD,EAASvD,UAAU+qH,KAAO,SAAU3qH,GAClC,IAAIS,EAAQf,KAERyB,EAAQzB,KAAKozkB,eACb3ykB,GAAA,EA4BJ,IAAK,IAAID,KA1BTF,EAAO6nE,GAAG,OAAO,WAEf,GADA7oE,EAAM,eACFmC,EAAM8+hB,UAAY9+hB,EAAMokkB,MAAO,CACjC,IAAIvlkB,EAAQmB,EAAM8+hB,QAAQrjhB,MACtB5c,GAASA,EAAMK,QAAQI,EAAMuD,KAAKhE,EAAA,CAGxCS,EAAMuD,KAAK,SAGbhE,EAAO6nE,GAAG,QAAQ,SAAU3nE,GAC1BlB,EAAM,gBACFmC,EAAM8+hB,UAAS//hB,EAAQiB,EAAM8+hB,QAAQ/if,MAAMh9C,IAG3CiB,EAAM47hB,YAAN,MAAqB78hB,IAAyDiB,EAAM47hB,YAAgB78hB,GAAUA,EAAMG,UAE9GI,EAAMuD,KAAK9D,KAEnBC,GAAA,EACAH,EAAO+/gB,SAAA,IAMG//gB,OAAA,IACRN,KAAKQ,IAAyC,mBAAdF,EAAOE,KACzCR,KAAKQ,GAAK,SAAUO,GAClB,OAAO,WACL,OAAOT,EAAOS,GAAQF,MAAMP,EAAQI,UAAA,EAF9B,CAIRF,IAKN,IAAK,IAAIgE,EAAI,EAAGA,EAAIjF,EAAaoB,OAAQ6D,IACvClE,EAAO6nE,GAAG5oE,EAAaiF,GAAIxE,KAAKmtgB,KAAK3pe,KAAKxjC,KAAMT,EAAaiF,KAa/D,OARAxE,KAAKi9jB,MAAQ,SAAUl8jB,GACrBzB,EAAM,gBAAiByB,GACnBN,IACFA,GAAA,EACAH,EAAOoF,SAAA,EAIJ1F,IAAA,EAGTR,OAAOqC,eAAe4B,EAASvD,UAAW,wBAAyB,CAIjE2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKozkB,eAAeF,aAAA,IAK/BzvkB,EAAS0xkB,UAAYz/gB,CAAA,GAAA90D,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,kIAAAu7D,SAAA,uBAAAgM,OAAA,IAAA65c,SAAA,IAAA4jE,QAAA,uEAAAvjD,KAAA,oBAAAx/hB,EAAAS,EAAAU,GC1zBrB,aAEAV,EAAO3C,QAAU+G,EAEjB,IAAI1E,EAASH,EAAQ,oBAGjBE,EAAOhB,OAAOW,OAAOG,EAAQ,iBAMjC,SAASkE,EAAelE,EAAIS,GAC1B,IAAIU,EAAKzB,KAAKu1kB,gBACd9zkB,EAAG+zkB,cAAA,EAEH,IAAI/0kB,EAAKgB,EAAGg0kB,QAEZ,IAAKh1kB,EACH,OAAOT,KAAKmtgB,KAAK,QAAS,IAAIxkgB,MAAM,yCAGtClH,EAAGi0kB,WAAa,KAChBj0kB,EAAGg0kB,QAAU,KAED,MAAR10kB,GACFf,KAAKsE,KAAKvD,GAEZN,EAAGH,GAEH,IAAIE,EAAKR,KAAKozkB,eACd5ykB,EAAGwzkB,SAAA,GACCxzkB,EAAG0zkB,cAAgB1zkB,EAAGG,OAASH,EAAG0ykB,gBACpClzkB,KAAKi9jB,MAAMz8jB,EAAG0ykB,cAAA,CAIlB,SAAS/tkB,EAAU7E,GACjB,KAAMN,gBAAgBmF,GAAY,OAAO,IAAIA,EAAU7E,GAEvDG,EAAOG,KAAKZ,KAAMM,GAElBN,KAAKu1kB,gBAAkB,CACrBI,eAAgBnxkB,EAAeg/B,KAAKxjC,MACpC41kB,eAAA,EACAJ,cAAA,EACAC,QAAS,KACTC,WAAY,KACZG,cAAe,MAIjB71kB,KAAKozkB,eAAec,cAAA,EAKpBl0kB,KAAKozkB,eAAea,MAAA,EAEhB3zkB,IAC+B,mBAAtBA,EAAQ4nC,YAA0BloC,KAAK+7iB,WAAaz7iB,EAAQ4nC,WAE1C,mBAAlB5nC,EAAQic,QAAsBvc,KAAKighB,OAAS3/gB,EAAQic,QAIjEvc,KAAKmoE,GAAG,YAAa5nE,EAAA,CAGvB,SAASA,IACP,IAAID,EAAQN,KAEe,mBAAhBA,KAAKighB,OACdjghB,KAAKighB,QAAO,SAAUl/gB,EAAIU,GACxByK,EAAK5L,EAAOS,EAAIU,EAAA,IAGlByK,EAAKlM,KAAM,KAAM,MA2DrB,SAASkM,EAAK5L,EAAQS,EAAIU,GACxB,GAAIV,EAAI,OAAOT,EAAO6sgB,KAAK,QAASpsgB,GAOpC,GALY,MAARU,GACFnB,EAAOgE,KAAK7C,GAIVnB,EAAO2ykB,eAAetykB,OAAQ,MAAM,IAAIgI,MAAM,8CAElD,GAAIrI,EAAOi1kB,gBAAgBC,aAAc,MAAM,IAAI7skB,MAAM,kDAEzD,OAAOrI,EAAOgE,KAAK,MA7IrB9D,EAAKi/gB,SAAWn/gB,EAAQ,YAGxBE,EAAKi/gB,SAASt6gB,EAAW1E,GAuEzB0E,EAAUjF,UAAUoE,KAAO,SAAUhE,EAAOS,GAE1C,OADAf,KAAKu1kB,gBAAgBK,eAAA,EACdn1kB,EAAOP,UAAUoE,KAAK1D,KAAKZ,KAAMM,EAAOS,EAAA,EAajDoE,EAAUjF,UAAU67iB,WAAa,SAAUz7iB,EAAOS,EAAUU,GAC1D,MAAM,IAAIkH,MAAM,oCAGlBxD,EAAUjF,UAAUo6iB,OAAS,SAAUh6iB,EAAOS,EAAUU,GACtD,IAAIhB,EAAKT,KAAKu1kB,gBAId,GAHA90kB,EAAGg1kB,QAAUh0kB,EACbhB,EAAGi1kB,WAAap1kB,EAChBG,EAAGo1kB,cAAgB90kB,GACdN,EAAG+0kB,aAAc,CACpB,IAAIh1kB,EAAKR,KAAKozkB,gBACV3ykB,EAAGm1kB,eAAiBp1kB,EAAG0zkB,cAAgB1zkB,EAAGG,OAASH,EAAG0ykB,gBAAelzkB,KAAKi9jB,MAAMz8jB,EAAG0ykB,cAAA,GAO3F/tkB,EAAUjF,UAAU+8jB,MAAQ,SAAU38jB,GACpC,IAAIS,EAAKf,KAAKu1kB,gBAEQ,OAAlBx0kB,EAAG20kB,YAAuB30kB,EAAG00kB,UAAY10kB,EAAGy0kB,cAC9Cz0kB,EAAGy0kB,cAAA,EACHx1kB,KAAK+7iB,WAAWh7iB,EAAG20kB,WAAY30kB,EAAG80kB,cAAe90kB,EAAG40kB,iBAIpD50kB,EAAG60kB,eAAA,CAAgB,EAIvBzwkB,EAAUjF,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GAC5C,IAAIU,EAASzB,KAEbS,EAAOP,UAAUy0kB,SAAS/zkB,KAAKZ,KAAMM,GAAK,SAAUA,GAClDS,EAAGT,GACHmB,EAAO0rgB,KAAK,yDAAAsS,SAAA,oBAAAn/gB,EAAAS,EAAAU,IAAA,SAAAA,EAAAhB,EAAAD,GC3KhB,aAIA,IAAIgE,EAAMlE,EAAQ,wBAelB,SAAS6E,EAAc7E,GACrB,IAAIS,EAAQf,KAEZA,KAAKgD,KAAO,KACZhD,KAAKqtH,MAAQ,KACbrtH,KAAKqJ,OAAS,YAolBhB,SAAwB/I,EAASS,EAAOU,GACtC,IAAIhB,EAAQH,EAAQ+sH,MAEpB,IADA/sH,EAAQ+sH,MAAQ,KACT5sH,GAAO,CACZ,IAAID,EAAKC,EAAM0P,SACfpP,EAAM+0kB,YACNt1kB,EAAGiB,GACHhB,EAAQA,EAAMuC,IAAA,CAEZjC,EAAMg1kB,mBACRh1kB,EAAMg1kB,mBAAmB/ykB,KAAO1C,EAEhCS,EAAMg1kB,mBAAqBz1kB,CAAA,CAZ/B,CAnlBmBS,EAAOT,EAAA,EAlB1BS,EAAO3C,QAAU8F,EAwBjB,IAII3D,EAJA2L,GAAczK,EAAQumD,SAAW,CAAC,QAAS,SAAShnD,QAAQS,EAAQ29C,QAAQjiC,MAAM,EAAG,KAAO,EAAI3c,EAAegE,EAAIu7gB,SAOvH77gB,EAAS8xkB,cAAgBz2kB,EAGzB,IAAIiC,EAAOhC,OAAOW,OAAOG,EAAQ,iBACjCkB,EAAKi+gB,SAAWn/gB,EAAQ,YAIxB,IAiKIV,EAjKA2D,EAAe,CACjBk1G,UAAWn4G,EAAQ,mBAKjB0lC,EAAS1lC,EAAQ,6BAKjBqoB,EAASroB,EAAQ,eAAeoN,OAChCpO,EAAgBmB,EAAOyG,YAAc,WAAa,EAUlDzC,EAAcnE,EAAQ,8BAI1B,SAASkD,IAAA,CAET,SAASjE,EAAcwB,EAASU,GAC9BlB,EAASA,GAAUD,EAAQ,oBAE3BS,EAAUA,GAAW,CAAC,EAOtB,IAAIN,EAAWgB,aAAkBlB,EAIjCP,KAAKq9hB,aAAet8hB,EAAQs8hB,WAExB58hB,IAAUT,KAAKq9hB,WAAar9hB,KAAKq9hB,cAAgBt8hB,EAAQo6hB,oBAK7D,IAAI36hB,EAAMO,EAAQmykB,cACd1xkB,EAAcT,EAAQuilB,sBACtB//kB,EAAavD,KAAKq9hB,WAAa,GAAK,MAElBr9hB,KAAKkzkB,cAAvB1ykB,GAAe,IAARA,EAAgCA,EAAaC,IAAae,GAA+B,IAAhBA,GAAyCA,EAAsC+B,EAGnKvD,KAAKkzkB,cAAgB5nkB,KAAKC,MAAMvL,KAAKkzkB,eAGrClzkB,KAAKs2kB,aAAA,EAGLt2kB,KAAKk1kB,WAAA,EAELl1kB,KAAKu2kB,QAAA,EAELv2kB,KAAK6lkB,OAAA,EAEL7lkB,KAAK2K,UAAA,EAGL3K,KAAKqzkB,WAAA,EAKL,IAAIrtiB,GAAA,IAAWjlC,EAAQy1kB,cACvBx2kB,KAAKw2kB,eAAiBxwiB,EAKtBhmC,KAAKw0kB,gBAAkBzzkB,EAAQyzkB,iBAAmB,OAKlDx0kB,KAAKW,OAAS,EAGdX,KAAKy2kB,SAAA,EAGLz2kB,KAAKo/gB,OAAS,EAMdp/gB,KAAKi0kB,MAAA,EAKLj0kB,KAAK02kB,kBAAA,EAGL12kB,KAAK22kB,QAAU,SAAUr2kB,IA4R3B,SAAiBA,EAAQS,GACvB,IAAIU,EAAQnB,EAAO2ykB,eACfxykB,EAAOgB,EAAMwykB,KACbzzkB,EAAKiB,EAAMg0kB,QAIf,GAdF,SAA4Bn1kB,GAC1BA,EAAMm2kB,SAAA,EACNn2kB,EAAMm1kB,QAAU,KAChBn1kB,EAAMK,QAAUL,EAAMs2kB,SACtBt2kB,EAAMs2kB,SAAW,EAJnB,CAYqBn1kB,GAEfV,GAtCN,SAAsBT,EAAQS,EAAOU,EAAMhB,EAAID,KAC3CO,EAAM+0kB,UAEJr0kB,GAGF+C,EAAIu7gB,SAASv/gB,EAAIC,GAGjB+D,EAAIu7gB,SAAS/zV,EAAa1rL,EAAQS,GAClCT,EAAO2ykB,eAAe4D,cAAA,EACtBv2kB,EAAO6sgB,KAAK,QAAS1sgB,KAIrBD,EAAGC,GACHH,EAAO2ykB,eAAe4D,cAAA,EACtBv2kB,EAAO6sgB,KAAK,QAAS1sgB,GAGrBurL,EAAY1rL,EAAQS,GAAA,CApBxB,CAsCuBT,EAAQmB,EAAOhB,EAAMM,EAAIP,OAAS,CAErD,IAAI2E,EAAWT,EAAWjD,GAErB0D,GAAa1D,EAAM29gB,QAAW39gB,EAAMi1kB,mBAAoBj1kB,EAAMq1kB,iBACjEpzkB,EAAYpD,EAAQmB,GAGlBhB,EAEFyL,EAAWq3F,EAAYjjG,EAAQmB,EAAO0D,EAAU3E,GAGhD+iG,EAAWjjG,EAAQmB,EAAO0D,EAAU3E,EAAA,EApB1C,CA3RYiB,EAAQnB,EAAA,EAIlBN,KAAKy1kB,QAAU,KAGfz1kB,KAAK42kB,SAAW,EAEhB52kB,KAAK82kB,gBAAkB,KACvB92kB,KAAK+2kB,oBAAsB,KAI3B/2kB,KAAK81kB,UAAY,EAIjB91kB,KAAKg3kB,aAAA,EAGLh3kB,KAAK62kB,cAAA,EAGL72kB,KAAKi3kB,qBAAuB,EAI5Bj3kB,KAAK+1kB,mBAAqB,IAAI5wkB,EAAcnF,KAAA,CA0C9C,SAASkE,EAASnD,GAUhB,GATAR,EAASA,GAAUD,EAAQ,sBAStBV,EAAgBgB,KAAKsD,EAAUlE,OAAWA,gBAAgBO,GAC7D,OAAO,IAAI2D,EAASnD,GAGtBf,KAAKizkB,eAAiB,IAAI1zkB,EAAcwB,EAASf,MAGjDA,KAAKynD,UAAA,EAED1mD,IAC2B,mBAAlBA,EAAQy8C,QAAsBx9C,KAAKs6iB,OAASv5iB,EAAQy8C,OAEjC,mBAAnBz8C,EAAQm2kB,SAAuBl3kB,KAAKm3kB,QAAUp2kB,EAAQm2kB,QAElC,mBAApBn2kB,EAAQ6T,UAAwB5U,KAAK20kB,SAAW5zkB,EAAQ6T,SAEtC,mBAAlB7T,EAAQ21iB,QAAsB12iB,KAAKy2iB,OAAS11iB,EAAQ21iB,QAGjE1wgB,EAAOplC,KAAKZ,KAAA,CAgJd,SAASyD,EAAQnD,EAAQS,EAAOU,EAAQhB,EAAKD,EAAOgE,EAAUW,GAC5DpE,EAAM61kB,SAAWn2kB,EACjBM,EAAM00kB,QAAUtwkB,EAChBpE,EAAM01kB,SAAA,EACN11kB,EAAMkzkB,MAAA,EACFxykB,EAAQnB,EAAO62kB,QAAQ32kB,EAAOO,EAAM41kB,SAAcr2kB,EAAOg6iB,OAAO95iB,EAAOgE,EAAUzD,EAAM41kB,SAC3F51kB,EAAMkzkB,MAAA,CAAO,CA2Df,SAAS1we,EAAWjjG,EAAQS,EAAOU,EAAUhB,GACtCgB,GASP,SAAsBnB,EAAQS,GACP,IAAjBA,EAAMJ,QAAgBI,EAAMm0kB,YAC9Bn0kB,EAAMm0kB,WAAA,EACN50kB,EAAO6sgB,KAAK,UAHhB,CAT8B7sgB,EAAQS,GACpCA,EAAM+0kB,YACNr1kB,IACAurL,EAAY1rL,EAAQS,EAAA,CActB,SAAS2C,EAAYpD,EAAQS,GAC3BA,EAAM21kB,kBAAA,EACN,IAAIj1kB,EAAQV,EAAM+1kB,gBAElB,GAAIx2kB,EAAO62kB,SAAW11kB,GAASA,EAAMuB,KAAM,CAEzC,IAAIvC,EAAIM,EAAMk2kB,qBACVz2kB,EAAS,IAAIb,MAAMc,GACnB+D,EAASzD,EAAMg1kB,mBACnBvxkB,EAAO6oH,MAAQ5rH,EAIf,IAFA,IAAIlB,EAAQ,EACR2L,GAAA,EACGzK,GACLjB,EAAOD,GAASkB,EACXA,EAAM21kB,QAAOlrkB,GAAA,GAClBzK,EAAQA,EAAMuB,KACdzC,GAAS,EAEXC,EAAO62kB,WAAanrkB,EAEpBzI,EAAQnD,EAAQS,GAAA,EAAaA,EAAMJ,OAAQH,EAAQ,GAAIgE,EAAO6E,QAI9DtI,EAAM+0kB,YACN/0kB,EAAMg2kB,oBAAsB,KACxBvykB,EAAOxB,MACTjC,EAAMg1kB,mBAAqBvxkB,EAAOxB,KAClCwB,EAAOxB,KAAO,MAEdjC,EAAMg1kB,mBAAqB,IAAI5wkB,EAAcpE,GAE/CA,EAAMk2kB,qBAAuB,MACxB,CAEL,KAAOx1kB,GAAO,CACZ,IAAID,EAAQC,EAAM61kB,MACd/zkB,EAAW9B,EAAMuG,SACjBg+B,EAAKvkC,EAAM0O,SAUf,GAPA1M,EAAQnD,EAAQS,GAAA,EAFNA,EAAMs8hB,WAAa,EAAI77hB,EAAMb,OAEJa,EAAO+B,EAAUyiC,GACpDvkC,EAAQA,EAAMuB,KACdjC,EAAMk2kB,uBAKFl2kB,EAAM01kB,QACR,MAIU,OAAVh1kB,IAAgBV,EAAMg2kB,oBAAsB,MAGlDh2kB,EAAM+1kB,gBAAkBr1kB,EACxBV,EAAM21kB,kBAAA,CAAmB,CAiC3B,SAAShykB,EAAWpE,GAClB,OAAOA,EAAMi2kB,QAA2B,IAAjBj2kB,EAAMK,QAA0C,OAA1BL,EAAMw2kB,kBAA6Bx2kB,EAAMqK,WAAarK,EAAMm2kB,OAAA,CAE3G,SAAS71jB,EAAUtgB,EAAQS,GACzBT,EAAOm2iB,QAAO,SAAUh1iB,GACtBV,EAAM+0kB,YACFr0kB,GACFnB,EAAO6sgB,KAAK,QAAS1rgB,GAEvBV,EAAMi2kB,aAAA,EACN12kB,EAAO6sgB,KAAK,aACZnhV,EAAY1rL,EAAQS,EAAA,IAgBxB,SAASirL,EAAY1rL,EAAQS,GAC3B,IAAIU,EAAOiD,EAAW3D,GAQtB,OAPIU,IAfN,SAAmBnB,EAAQS,GACpBA,EAAMi2kB,aAAgBj2kB,EAAMu1kB,cACF,mBAAlBh2kB,EAAOm2iB,QAChB11iB,EAAM+0kB,YACN/0kB,EAAMu1kB,aAAA,EACN9xkB,EAAIu7gB,SAASn/f,EAAWtgB,EAAQS,KAEhCA,EAAMi2kB,aAAA,EACN12kB,EAAO6sgB,KAAK,eARlB,CAgBc7sgB,EAAQS,GACM,IAApBA,EAAM+0kB,YACR/0kB,EAAM4J,UAAA,EACNrK,EAAO6sgB,KAAK,YAGT1rgB,CAAA,CAzhBTD,EAAKi+gB,SAASv7gB,EAAU8hC,GAmHxBzmC,EAAcW,UAAUizkB,UAAY,WAGlC,IAFA,IAAI7ykB,EAAUN,KAAK82kB,gBACf/1kB,EAAM,GACHT,GACLS,EAAIuD,KAAKhE,GACTA,EAAUA,EAAQ0C,KAEpB,OAAOjC,CAAA,EAGT,WACE,IACEvB,OAAOqC,eAAetC,EAAcW,UAAW,SAAU,CACvD0G,IAAKrD,EAAak1G,WAAU,WAC1B,OAAOz4G,KAAKmzkB,WAAA,GACX,6EAAmF,aAExF,MAAO7ykB,GAAA,EAPX,GAasB,mBAAX0D,QAAyBA,OAAOuzkB,aAAiE,mBAA3Cp+c,SAASj5H,UAAU8D,OAAOuzkB,cACzF33kB,EAAkBu5H,SAASj5H,UAAU8D,OAAOuzkB,aAC5C/3kB,OAAOqC,eAAeqC,EAAUF,OAAOuzkB,YAAa,CAClDz0kB,MAAO,SAAUxC,GACf,QAAIV,EAAgBgB,KAAKZ,KAAMM,IAC3BN,OAASkE,GAEN5D,GAAUA,EAAO2ykB,0BAA0B1zkB,CAAA,KAItDK,EAAkB,SAAUU,GAC1B,OAAOA,aAAkBN,IAAA,EAqC7BkE,EAAShE,UAAU2/C,KAAO,WACxB7/C,KAAKmtgB,KAAK,QAAS,IAAIxkgB,MAAM,+BA8B/BzE,EAAShE,UAAUs9C,MAAQ,SAAUl9C,EAAOS,EAAUU,GACpD,IAnOqBhB,EAmOjBD,EAAQR,KAAKizkB,eACb9tkB,GAAA,EACA5E,GAASC,EAAM68hB,aArOE58hB,EAqO0BH,EApOxCqoB,EAAOwzB,SAAS17C,IAAQA,aAAenB,GAwP9C,OAlBIiB,IAAUooB,EAAOwzB,SAAS77C,KAC5BA,EA3OJ,SAA6BA,GAC3B,OAAOqoB,EAAOre,KAAKhK,EAAA,CADrB,CA2OgCA,IAGN,mBAAbS,IACTU,EAAKV,EACLA,EAAW,MAGTR,EAAOQ,EAAW,SAAmBA,IAAUA,EAAWP,EAAMg0kB,iBAElD,mBAAP/ykB,IAAmBA,EAAK+B,GAE/BhD,EAAMqlkB,MA7CZ,SAAuBvlkB,EAAQS,GAC7B,IAAIU,EAAK,IAAIkH,MAAM,mBAEnBrI,EAAO6sgB,KAAK,QAAS1rgB,GACrB+C,EAAIu7gB,SAASh/gB,EAAIU,EAAA,CAJnB,CA6CiCzB,KAAMyB,IAAalB,GAnCpD,SAAoBD,EAAQS,EAAOU,EAAOhB,GACxC,IAAID,GAAA,EACA2E,GAAA,EAYJ,OAVc,OAAV1D,EACF0D,EAAK,IAAIf,UAAU,uCACO,iBAAV3C,QAAA,IAAsBA,GAAwBV,EAAMs8hB,aACpEl4hB,EAAK,IAAIf,UAAU,oCAEjBe,IACF7E,EAAO6sgB,KAAK,QAAShogB,GACrBX,EAAIu7gB,SAASt/gB,EAAI0E,GACjB3E,GAAA,GAEKA,CAAA,CAdT,CAmCwER,KAAMQ,EAAOF,EAAOmB,MACxFjB,EAAMs1kB,YACN3wkB,EAkDJ,SAAuB7E,EAAQS,EAAOU,EAAOhB,EAAOD,EAAUgE,GAC5D,IAAK/C,EAAO,CACV,IAAI0D,EAtBR,SAAqB7E,EAAOS,EAAOU,GAIjC,OAHKnB,EAAM+8hB,aAAA,IAAc/8hB,EAAMk2kB,eAA4C,iBAAVz1kB,IAC/DA,EAAQ4nB,EAAOre,KAAKvJ,EAAOU,IAEtBV,CAAA,CAJT,CAsB+BA,EAAON,EAAOD,GACrCC,IAAU0E,IACZ1D,GAAA,EACAjB,EAAW,SACXC,EAAQ0E,EAAA,CAGZ,IAAI5E,EAAMQ,EAAMs8hB,WAAa,EAAI58hB,EAAME,OAEvCI,EAAMJ,QAAUJ,EAEhB,IAAI2L,EAAMnL,EAAMJ,OAASI,EAAMmykB,cAI/B,GAFKhnkB,IAAKnL,EAAMm0kB,WAAA,GAEZn0kB,EAAM01kB,SAAW11kB,EAAMq+gB,OAAQ,CACjC,IAAI59gB,EAAOT,EAAMg2kB,oBACjBh2kB,EAAMg2kB,oBAAsB,CAC1BO,MAAO72kB,EACPuH,SAAUxH,EACV42kB,MAAO31kB,EACP0O,SAAU3L,EACVxB,KAAM,MAEJxB,EACFA,EAAKwB,KAAOjC,EAAMg2kB,oBAElBh2kB,EAAM+1kB,gBAAkB/1kB,EAAMg2kB,oBAEhCh2kB,EAAMk2kB,sBAAwB,OAE9BxzkB,EAAQnD,EAAQS,GAAA,EAAcR,EAAKE,EAAOD,EAAUgE,GAGtD,OAAO0H,CAAA,CApCT,CAlDwBlM,KAAMQ,EAAOD,EAAOD,EAAOS,EAAUU,IAGpD0D,CAAA,EAGTjB,EAAShE,UAAU8/gB,KAAO,WACZhghB,KAAKizkB,eAEX7zD,QAAA,EAGRl7gB,EAAShE,UAAUgghB,OAAS,WAC1B,IAAI5/gB,EAAQN,KAAKizkB,eAEb3ykB,EAAM8+gB,SACR9+gB,EAAM8+gB,SAED9+gB,EAAMm2kB,SAAYn2kB,EAAM8+gB,QAAW9+gB,EAAMqK,UAAarK,EAAMo2kB,mBAAoBp2kB,EAAMw2kB,iBAAiBpzkB,EAAY1D,KAAMM,GAAA,EAIlI4D,EAAShE,UAAUs3kB,mBAAqB,SAA4Bl3kB,GAGlE,GADwB,iBAAbA,IAAuBA,EAAWA,EAASga,iBAChD,CAAC,MAAO,OAAQ,QAAS,QAAS,SAAU,SAAU,OAAQ,QAAS,UAAW,WAAY,OAAOtZ,SAASV,EAAW,IAAIga,gBAAkB,GAAI,MAAM,IAAIlW,UAAU,qBAAuB9D,GAEpM,OADAN,KAAKizkB,eAAeuB,gBAAkBl0kB,EAC/BN,IAAA,EAUTR,OAAOqC,eAAeqC,EAAShE,UAAW,wBAAyB,CAIjE2J,YAAA,EACAjD,IAAK,WACH,OAAO5G,KAAKizkB,eAAeC,aAAA,IA8L/BhvkB,EAAShE,UAAUo6iB,OAAS,SAAUh6iB,EAAOS,EAAUU,GACrDA,EAAG,IAAIkH,MAAM,iCAGfzE,EAAShE,UAAUi3kB,QAAU,KAE7BjzkB,EAAShE,UAAUgd,IAAM,SAAU5c,EAAOS,EAAUU,GAClD,IAAIhB,EAAQT,KAAKizkB,eAEI,mBAAV3ykB,GACTmB,EAAKnB,EACLA,EAAQ,KACRS,EAAW,MACkB,mBAAbA,IAChBU,EAAKV,EACLA,EAAW,MAGT,MAAAT,GAAuCN,KAAKw9C,MAAMl9C,EAAOS,GAGzDN,EAAM2+gB,SACR3+gB,EAAM2+gB,OAAS,EACfp/gB,KAAKkghB,UAIFz/gB,EAAM81kB,QAAW91kB,EAAMkK,UA0C9B,SAAqBrK,EAAQS,EAAOU,GAClCV,EAAMw1kB,QAAA,EACNvqZ,EAAY1rL,EAAQS,GAChBU,IACEV,EAAM4J,SAAUnG,EAAIu7gB,SAASt+gB,GAASnB,EAAOo0jB,KAAK,SAAUjzjB,IAElEV,EAAM8kkB,OAAA,EACNvlkB,EAAOmnD,UAAA,CAAW,CAPpB,CA1CoDznD,KAAMS,EAAOgB,EAAA,EAoEjEjC,OAAOqC,eAAeqC,EAAShE,UAAW,YAAa,CACrD0G,IAAK,WACH,gBAAI5G,KAAKizkB,gBAGFjzkB,KAAKizkB,eAAeI,SAAA,EAE7BvskB,IAAK,SAAUxG,GAGRN,KAAKizkB,iBAMVjzkB,KAAKizkB,eAAeI,UAAY/ykB,EAAA,IAIpC4D,EAAShE,UAAU0U,QAAUnQ,EAAYmQ,QACzC1Q,EAAShE,UAAU20kB,WAAapwkB,EAAYqwkB,UAC5C5wkB,EAAShE,UAAUy0kB,SAAW,SAAUr0kB,EAAKS,GAC3Cf,KAAKkd,MACLnc,EAAGT,EAAA,IAAAM,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,GAAAiC,EAAA,UAAAwghB,aAAA,2FAAAlnd,SAAA,uBAAA6ld,SAAA,iDAAAqC,OAAA,yCAAAxhhB,EAAAS,EAAAU,GC7qBL,aAIA,IAAIhB,EAASH,EAAQ,eAAeoN,OAChClN,EAAOF,EAAQ,QAMnBS,EAAO3C,QAAU,WACf,SAASkC,KAVX,SAAyBA,EAAUS,GAAe,KAAMT,aAAoBS,GAAgB,MAAM,IAAIqD,UAAU,qCAAhH,CAWoBpE,KAAMM,GAEtBN,KAAKiiB,KAAO,KACZjiB,KAAKy3kB,KAAO,KACZz3kB,KAAKW,OAAS,EAqDhB,OAlDAL,EAAWJ,UAAUoE,KAAO,SAAchE,GACxC,IAAIS,EAAQ,CAAEgH,KAAMzH,EAAG0C,KAAM,MACzBhD,KAAKW,OAAS,EAAGX,KAAKy3kB,KAAKz0kB,KAAOjC,EAAWf,KAAKiiB,KAAOlhB,EAC7Df,KAAKy3kB,KAAO12kB,IACVf,KAAKW,MAAA,EAGTL,EAAWJ,UAAUy5C,QAAU,SAAiBr5C,GAC9C,IAAIS,EAAQ,CAAEgH,KAAMzH,EAAG0C,KAAMhD,KAAKiiB,MACd,IAAhBjiB,KAAKW,SAAcX,KAAKy3kB,KAAO12kB,GACnCf,KAAKiiB,KAAOlhB,IACVf,KAAKW,MAAA,EAGTL,EAAWJ,UAAU2F,MAAQ,WAC3B,GAAoB,IAAhB7F,KAAKW,OAAT,CACA,IAAIL,EAAMN,KAAKiiB,KAAKla,KAGpB,OAFoB,IAAhB/H,KAAKW,OAAcX,KAAKiiB,KAAOjiB,KAAKy3kB,KAAO,KAAUz3kB,KAAKiiB,KAAOjiB,KAAKiiB,KAAKjf,OAC7EhD,KAAKW,OACAL,CAAA,GAGTA,EAAWJ,UAAUs9B,MAAQ,WAC3Bx9B,KAAKiiB,KAAOjiB,KAAKy3kB,KAAO,KACxBz3kB,KAAKW,OAAS,GAGhBL,EAAWJ,UAAUuP,KAAO,SAAcnP,GACxC,GAAoB,IAAhBN,KAAKW,OAAc,MAAO,GAG9B,IAFA,IAAII,EAAIf,KAAKiiB,KACTxgB,EAAM,GAAKV,EAAEgH,KACVhH,EAAIA,EAAEiC,MACXvB,GAAOnB,EAAIS,EAAEgH,KACd,OAAOtG,CAAA,EAGVnB,EAAWJ,UAAUnB,OAAS,SAAgBuB,GAC5C,GAAoB,IAAhBN,KAAKW,OAAc,OAAOF,EAAO4d,MAAM,GAC3C,GAAoB,IAAhBre,KAAKW,OAAc,OAAOX,KAAKiiB,KAAKla,KAIxC,IAHA,IApDqBtG,EAAQjB,EAoDzBgE,EAAM/D,EAAO2pD,YAAY9pD,IAAM,GAC/B6E,EAAInF,KAAKiiB,KACT1hB,EAAI,EACD4E,GAvDc1D,EAwDA+C,EAxDQhE,EAwDHD,EAAb4E,EAAE4C,KAvDbiW,KAAKvc,EAAQjB,GAwDbD,GAAK4E,EAAE4C,KAAKpH,OACZwE,EAAIA,EAAEnC,KAER,OAAOwB,CAAA,EAGFlE,CAAA,CA3DQ,GA8DbE,GAAQA,EAAKmuD,SAAWnuD,EAAKmuD,QAAQoxC,SACvCh/F,EAAO3C,QAAQ8B,UAAUM,EAAKmuD,QAAQoxC,QAAU,WAC9C,IAAIz/F,EAAME,EAAKmuD,QAAQ,CAAEhuD,OAAQX,KAAKW,SACtC,OAAOX,KAAKC,YAAY8G,KAAO,IAAMzG,CAAA,uBAAAw/hB,KAAA,oBAAAx/hB,EAAAS,EAAAU,GC5EzC,aAIA,IAAIhB,EAAMH,EAAQ,wBA8DlB,SAASE,EAAYF,EAAMS,GACzBT,EAAK6sgB,KAAK,QAASpsgB,EAAA,CAGrBA,EAAO3C,QAAU,CACfwW,QA/DF,SAAiBtU,EAAKS,GACpB,IAAIU,EAAQzB,KAERwE,EAAoBxE,KAAKozkB,gBAAkBpzkB,KAAKozkB,eAAeC,UAC/DlukB,EAAoBnF,KAAKizkB,gBAAkBjzkB,KAAKizkB,eAAeI,UAEnE,OAAI7ukB,GAAqBW,GACnBpE,EACFA,EAAGT,IACMA,GAASN,KAAKizkB,gBAAmBjzkB,KAAKizkB,eAAe4D,cAC9Dp2kB,EAAIs/gB,SAASv/gB,EAAaR,KAAMM,GAE3BN,OAMLA,KAAKozkB,iBACPpzkB,KAAKozkB,eAAeC,WAAA,GAIlBrzkB,KAAKizkB,iBACPjzkB,KAAKizkB,eAAeI,WAAA,GAGtBrzkB,KAAK20kB,SAASr0kB,GAAO,MAAM,SAAUA,IAC9BS,GAAMT,GACTG,EAAIs/gB,SAASv/gB,EAAaiB,EAAOnB,GAC7BmB,EAAMwxkB,iBACRxxkB,EAAMwxkB,eAAe4D,cAAA,IAEd91kB,GACTA,EAAGT,EAAA,IAIAN,KAAA,EA0BP80kB,UAvBF,WACM90kB,KAAKozkB,iBACPpzkB,KAAKozkB,eAAeC,WAAA,EACpBrzkB,KAAKozkB,eAAeY,SAAA,EACpBh0kB,KAAKozkB,eAAevN,OAAA,EACpB7lkB,KAAKozkB,eAAelzC,YAAA,GAGlBlgiB,KAAKizkB,iBACPjzkB,KAAKizkB,eAAeI,WAAA,EACpBrzkB,KAAKizkB,eAAepN,OAAA,EACpB7lkB,KAAKizkB,eAAesD,QAAA,EACpBv2kB,KAAKizkB,eAAetokB,UAAA,EACpB3K,KAAKizkB,eAAe4D,cAAA,EAAe,gDAAAv2kB,EAAAS,EAAAU,GAAAf,UAAA,WAAAG,MAAAY,EAAAf,UAAA,GAAA64iB,IAAA,IAAA3ze,OAAA,oBAAAtlE,EAAAS,EAAAU,GAAA,aC9DvCV,EAAO3C,QAAUkC,EAAQ,cAAcm+gB,WAAA,oCAAAn+gB,EAAAS,EAAAU,GAAA,cCAvCA,EAAUV,EAAO3C,QAAUkC,EAAQ,8BAC3B43kB,OAASz2kB,EACjBA,EAAQ8giB,SAAW9giB,EACnBA,EAAQo+hB,SAAWv/hB,EAAQ,6BAC3BmB,EAAQi+gB,OAASp/gB,EAAQ,2BACzBmB,EAAQm8hB,UAAYt9hB,EAAQ,8BAC5BmB,EAAQg9gB,YAAcn+gB,EAAQ,oNAAAA,EAAAS,EAAAU,GAAA,aCN9BV,EAAO3C,QAAUkC,EAAQ,cAAcs9hB,SAAA,oCAAAt9hB,EAAAS,EAAAU,GAAA,aCAvCV,EAAO3C,QAAUkC,EAAQ,+EAAAA,EAAAS,EAAAU,GCqBzB,aAIA,IAAIhB,EAASH,EAAQ,eAAeoN,OAGhClN,EAAaC,EAAO8pD,YAAc,SAAUjqD,GAE9C,QADAA,EAAW,GAAKA,IACIA,EAASga,eAC3B,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,OAAO,EACT,QACE,OAAO,IA4Cb,SAAS9V,EAAclE,GAErB,IAAIS,EACJ,OAFAf,KAAKgI,SAXP,SAA2B1H,GACzB,IAAIS,EA/BN,SAA4BT,GAC1B,IAAKA,EAAK,MAAO,OAEjB,IADA,IAAIS,IAEF,OAAQT,GACN,IAAK,OACL,IAAK,QACH,MAAO,OACT,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,UACT,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,SACL,IAAK,QACL,IAAK,MACH,OAAOA,EACT,QACE,GAAIS,EAAS,OACbT,GAAO,GAAKA,GAAKga,cACjBvZ,GAAA,EAAU,CAvBlB,CA+BgCT,GAC9B,GAAoB,iBAATS,IAAsBN,EAAO8pD,aAAe/pD,IAAeA,EAAWF,IAAO,MAAM,IAAIqI,MAAM,qBAAuBrI,GAC/H,OAAOS,GAAQT,CAAA,CAHjB,CAWoCA,GAE1BN,KAAKgI,UACX,IAAK,UACHhI,KAAKqX,KAAOnL,EACZlM,KAAKkd,IAAM1b,EACXT,EAAK,EACL,MACF,IAAK,OACHf,KAAKujlB,SAAWhjlB,EAChBQ,EAAK,EACL,MACF,IAAK,SACHf,KAAKqX,KAAO9T,EACZvD,KAAKkd,IAAM8oB,EACXjlC,EAAK,EACL,MACF,QAGE,OAFAf,KAAKw9C,MAAQ70B,OACb3oB,KAAKkd,IAAM5d,GAGfU,KAAKwjlB,SAAW,EAChBxjlB,KAAKyjlB,UAAY,EACjBzjlB,KAAK0jlB,SAAWjjlB,EAAO2pD,YAAYrpD,EAAA,CAoCrC,SAASoE,EAAc7E,GACrB,OAAIA,GAAQ,IAAa,EAAWA,GAAQ,GAAM,EAAa,EAAWA,GAAQ,GAAM,GAAa,EAAWA,GAAQ,GAAM,GAAa,EACpIA,GAAQ,GAAM,GAAQ,GAAK,EA2DpC,SAASC,EAAaD,GACpB,IAAIS,EAAIf,KAAKyjlB,UAAYzjlB,KAAKwjlB,SAC1B/hlB,EAtBN,SAA6BnB,EAAMS,EAAKU,GACtC,GAAwB,MAAV,IAATV,EAAI,IAEP,OADAT,EAAKkjlB,SAAW,EACT,SAET,GAAIljlB,EAAKkjlB,SAAW,GAAKzilB,EAAIJ,OAAS,EAAG,CACvC,GAAwB,MAAV,IAATI,EAAI,IAEP,OADAT,EAAKkjlB,SAAW,EACT,SAET,GAAIljlB,EAAKkjlB,SAAW,GAAKzilB,EAAIJ,OAAS,GACZ,MAAV,IAATI,EAAI,IAEP,OADAT,EAAKkjlB,SAAW,EACT,UAbf,CAsB8BxjlB,KAAMM,GAClC,gBAAImB,EAAwBA,EACxBzB,KAAKwjlB,UAAYljlB,EAAIK,QACvBL,EAAI0d,KAAKhe,KAAK0jlB,SAAU3ilB,EAAG,EAAGf,KAAKwjlB,UAC5BxjlB,KAAK0jlB,SAASl0kB,SAASxP,KAAKgI,SAAU,EAAGhI,KAAKyjlB,aAEvDnjlB,EAAI0d,KAAKhe,KAAK0jlB,SAAU3ilB,EAAG,EAAGT,EAAIK,aAClCX,KAAKwjlB,UAAYljlB,EAAIK,QAAA,CA2BvB,SAASuL,EAAU5L,EAAKS,GACtB,IAAKT,EAAIK,OAASI,GAAK,GAAM,EAAG,CAC9B,IAAIU,EAAInB,EAAIkP,SAAS,UAAWzO,GAChC,GAAIU,EAAG,CACL,IAAIhB,EAAIgB,EAAEiN,WAAWjN,EAAEd,OAAS,GAChC,GAAIF,GAAK,OAAUA,GAAK,MAKtB,OAJAT,KAAKwjlB,SAAW,EAChBxjlB,KAAKyjlB,UAAY,EACjBzjlB,KAAK0jlB,SAAS,GAAKpjlB,EAAIA,EAAIK,OAAS,GACpCX,KAAK0jlB,SAAS,GAAKpjlB,EAAIA,EAAIK,OAAS,GAC7Bc,EAAE0b,MAAM,GAAI,GAGvB,OAAO1b,CAAA,CAKT,OAHAzB,KAAKwjlB,SAAW,EAChBxjlB,KAAKyjlB,UAAY,EACjBzjlB,KAAK0jlB,SAAS,GAAKpjlB,EAAIA,EAAIK,OAAS,GAC7BL,EAAIkP,SAAS,UAAWzO,EAAGT,EAAIK,OAAS,GAKjD,SAASa,EAASlB,GAChB,IAAIS,EAAIT,GAAOA,EAAIK,OAASX,KAAKw9C,MAAMl9C,GAAO,GAC9C,GAAIN,KAAKwjlB,SAAU,CACjB,IAAI/hlB,EAAMzB,KAAKyjlB,UAAYzjlB,KAAKwjlB,SAChC,OAAOzilB,EAAIf,KAAK0jlB,SAASl0kB,SAAS,UAAW,EAAG/N,EAAA,CAElD,OAAOV,CAAA,CAGT,SAASwC,EAAWjD,EAAKS,GACvB,IAAIU,GAAKnB,EAAIK,OAASI,GAAK,EAC3B,OAAU,IAANU,EAAgBnB,EAAIkP,SAAS,SAAUzO,IAC3Cf,KAAKwjlB,SAAW,EAAI/hlB,EACpBzB,KAAKyjlB,UAAY,EACP,IAANhilB,EACFzB,KAAK0jlB,SAAS,GAAKpjlB,EAAIA,EAAIK,OAAS,IAEpCX,KAAK0jlB,SAAS,GAAKpjlB,EAAIA,EAAIK,OAAS,GACpCX,KAAK0jlB,SAAS,GAAKpjlB,EAAIA,EAAIK,OAAS,IAE/BL,EAAIkP,SAAS,SAAUzO,EAAGT,EAAIK,OAASc,GAAA,CAGhD,SAASukC,EAAU1lC,GACjB,IAAIS,EAAIT,GAAOA,EAAIK,OAASX,KAAKw9C,MAAMl9C,GAAO,GAC9C,OAAIN,KAAKwjlB,SAAiBzilB,EAAIf,KAAK0jlB,SAASl0kB,SAAS,SAAU,EAAG,EAAIxP,KAAKwjlB,UACpEzilB,CAAA,CAIT,SAAS4nB,EAAYroB,GACnB,OAAOA,EAAIkP,SAASxP,KAAKgI,SAAA,CAG3B,SAAS1I,EAAUgB,GACjB,OAAOA,GAAOA,EAAIK,OAASX,KAAKw9C,MAAMl9C,GAAO,GAzN/CmB,EAAQ++hB,cAAgBh8hB,EA6BxBA,EAActE,UAAUs9C,MAAQ,SAAUl9C,GACxC,GAAmB,IAAfA,EAAIK,OAAc,MAAO,GAC7B,IAAII,EACAU,EACJ,GAAIzB,KAAKwjlB,SAAU,CAEjB,QAAI,KADJzilB,EAAIf,KAAKujlB,SAASjjlB,IACG,MAAO,GAC5BmB,EAAIzB,KAAKwjlB,SACTxjlB,KAAKwjlB,SAAW,OAEhB/hlB,EAAI,EAEN,OAAIA,EAAInB,EAAIK,OAAeI,EAAIA,EAAIf,KAAKqX,KAAK/W,EAAKmB,GAAKzB,KAAKqX,KAAK/W,EAAKmB,GAC/DV,GAAK,IAGdyD,EAActE,UAAUgd,IAwGxB,SAAiB5c,GACf,IAAIS,EAAIT,GAAOA,EAAIK,OAASX,KAAKw9C,MAAMl9C,GAAO,GAC9C,OAAIN,KAAKwjlB,SAAiBzilB,EAAI,SACvBA,CAAA,EAxGTyD,EAActE,UAAUmX,KA0FxB,SAAkB/W,EAAKS,GACrB,IAAIU,EArEN,SAA6BnB,EAAMS,EAAKU,GACtC,IAAIhB,EAAIM,EAAIJ,OAAS,EACrB,GAAIF,EAAIgB,EAAG,OAAO,EAClB,IAAIjB,EAAK2E,EAAcpE,EAAIN,IAC3B,OAAID,GAAM,GACJA,EAAK,IAAGF,EAAKkjlB,SAAWhjlB,EAAK,GAC1BA,KAEHC,EAAIgB,IAAa,IAARjB,EAAkB,GACjCA,EAAK2E,EAAcpE,EAAIN,MACb,GACJD,EAAK,IAAGF,EAAKkjlB,SAAWhjlB,EAAK,GAC1BA,KAEHC,EAAIgB,IAAa,IAARjB,EAAkB,GACjCA,EAAK2E,EAAcpE,EAAIN,MACb,GACJD,EAAK,IACI,IAAPA,EAAUA,EAAK,EAAOF,EAAKkjlB,SAAWhjlB,EAAK,GAE1CA,GAEF,EAtBT,CAqEkCR,KAAMM,EAAKS,GAC3C,IAAKf,KAAKwjlB,SAAU,OAAOljlB,EAAIkP,SAAS,OAAQzO,GAChDf,KAAKyjlB,UAAYhilB,EACjB,IAAIhB,EAAMH,EAAIK,QAAUc,EAAQzB,KAAKwjlB,UAErC,OADAljlB,EAAI0d,KAAKhe,KAAK0jlB,SAAU,EAAGjjlB,GACpBH,EAAIkP,SAAS,OAAQzO,EAAGN,EAAA,EA7FjC+D,EAActE,UAAUqjlB,SAAW,SAAUjjlB,GAC3C,GAAIN,KAAKwjlB,UAAYljlB,EAAIK,OAEvB,OADAL,EAAI0d,KAAKhe,KAAK0jlB,SAAU1jlB,KAAKyjlB,UAAYzjlB,KAAKwjlB,SAAU,EAAGxjlB,KAAKwjlB,UACzDxjlB,KAAK0jlB,SAASl0kB,SAASxP,KAAKgI,SAAU,EAAGhI,KAAKyjlB,WAEvDnjlB,EAAI0d,KAAKhe,KAAK0jlB,SAAU1jlB,KAAKyjlB,UAAYzjlB,KAAKwjlB,SAAU,EAAGljlB,EAAIK,QAC/DX,KAAKwjlB,UAAYljlB,EAAIK,MAAA,sCAAAL,EAAAS,EAAAU,IAAA,SAAAV,EAAAN,GAAA,aCtIvB,IAAID,EAAWF,EAAQ,sBAAsBy/gB,SACzCv7gB,EAAQ20H,SAASj5H,UAAUW,MAC3BsE,EAAQxF,MAAMO,UAAUid,MACxB5c,EAAe,CAAC,EAChB2L,EAAkB,EAatB,SAAS1K,EAAQlB,EAAIS,GACnBf,KAAKqmf,IAAM/lf,EACXN,KAAK2jlB,SAAW5ilB,CAAA,CAXlBU,EAAQ+X,WAAa,WACnB,OAAO,IAAIhY,EAAQgD,EAAM5D,KAAK4Y,WAAYnb,OAAQqC,WAAY68B,aAAA,EAEhE97B,EAAQ6xa,YAAc,WACpB,OAAO,IAAI9xa,EAAQgD,EAAM5D,KAAK0ya,YAAaj1a,OAAQqC,WAAYmza,cAAA,EAEjEpya,EAAQ87B,aACR97B,EAAQoya,cAAgB,SAASvza,GAAWA,EAAQ8vX,OAAA,EAMpD5uX,EAAQtB,UAAU0jlB,MAAQpilB,EAAQtB,UAAUuX,IAAM,aAClDjW,EAAQtB,UAAUkwX,MAAQ,WACxBpwX,KAAK2jlB,SAAS/ilB,KAAKvC,OAAQ2B,KAAKqmf,IAAA,EAIlC5kf,EAAQoilB,OAAS,SAASvjlB,EAAMS,GAC9Bw8B,aAAaj9B,EAAKwjlB,gBAClBxjlB,EAAKyjlB,aAAehjlB,CAAA,EAGtBU,EAAQuilB,SAAW,SAAS1jlB,GAC1Bi9B,aAAaj9B,EAAKwjlB,gBAClBxjlB,EAAKyjlB,cAAgB,GAGvBtilB,EAAQwilB,aAAexilB,EAAQqpB,OAAS,SAASxqB,GAC/Ci9B,aAAaj9B,EAAKwjlB,gBAElB,IAAI/ilB,EAAQT,EAAKyjlB,aACbhjlB,GAAS,IACXT,EAAKwjlB,eAAiBtqkB,YAAW,WAC3BlZ,EAAK4jlB,YACP5jlB,EAAK4jlB,YAAA,GACNnjlB,GAAA,EAKPU,EAAQq/gB,aAAuC,mBAAjB//gB,EAA8BA,EAAe,SAAST,GAClF,IAAIS,EAAKmL,IACLzL,IAAOC,UAAUC,OAAS,IAAYwE,EAAMvE,KAAKF,UAAW,GAkBhE,OAhBAH,EAAaQ,IAAA,EAEbP,GAAS,WACHD,EAAaQ,KAGXN,EACFH,EAAGO,MAAM,KAAMJ,GAEfH,EAAGM,KAAK,MAGVa,EAAQ87iB,eAAex8iB,GAAA,IAIpBA,CAAA,EAGTU,EAAQ87iB,eAA2C,mBAAnB98iB,EAAgCA,EAAiB,SAASH,UACjFC,EAAaD,EAAA,IAAAM,KAAA,KAAAN,EAAA,UAAAwghB,aAAAxghB,EAAA,UAAAi9iB,eAAA,4BAAAz7B,OAAA,oBAAAxhhB,EAAAS,EAAAU,IAAA,SAAAnB,GAAA,aClBtB,SAASmB,EAAQV,GAEf,IACE,IAAKT,EAAOygR,aAAc,OAAO,EACjC,MAAOzgR,GACP,OAAO,EAET,IAAImB,EAAMnB,EAAOygR,aAAahgR,GAC9B,OAAI,MAAQU,GACyB,SAA9B0N,OAAO1N,GAAK6Y,aAAA,CA5DrBvZ,EAAO3C,QAoBP,SAAoBkC,EAAIS,GACtB,GAAIU,EAAO,iBACT,OAAOnB,EAGT,IAAIG,GAAA,EAeJ,OAdA,WACE,IAAKA,EAAQ,CACX,GAAIgB,EAAO,oBACT,MAAM,IAAIkH,MAAM5H,GACPU,EAAO,oBAChB+9C,QAAQi5d,MAAM13gB,GAEdy+C,QAAQC,KAAK1+C,GAEfN,GAAA,CAAS,CAEX,OAAOH,EAAGO,MAAMb,KAAMU,UAAA,KAAAE,KAAA,yBAAA+sD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,uBAAAiC,EAAAS,EAAAU,GAAA,aC1CG,mBAAlBjC,OAAOW,OAEhBY,EAAO3C,QAAU,SAAkBkC,EAAMS,GACvCT,EAAKyghB,OAAShghB,EACdT,EAAKJ,UAAYV,OAAOW,OAAOY,EAAUb,UAAW,CAClDD,YAAa,CACX6C,MAAOxC,EACPuJ,YAAA,EACA49C,UAAA,EACAD,cAAA,IAAc,EAMpBzmD,EAAO3C,QAAU,SAAkBkC,EAAMS,GACvCT,EAAKyghB,OAAShghB,EACd,IAAIU,EAAW,aACfA,EAASvB,UAAYa,EAAUb,UAC/BI,EAAKJ,UAAY,IAAIuB,EACrBnB,EAAKJ,UAAUD,YAAcK,CAAA,qBAAAA,EAAAS,EAAAU,GAAA,sBAAAhB,EAAAH,GAAA,OAAAG,EAAA,mBAAAuD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CCpBjCS,EAAO3C,QAAU,SAAkBkC,GACjC,OAAOA,GAAsB,WAAfG,EAAOH,IACI,mBAAbA,EAAI0d,MACS,mBAAb1d,EAAI24B,MACc,mBAAlB34B,EAAI8vD,SAAA,qBAAA9vD,EAAAS,EAAAU,IAAA,SAAAV,EAAAN,GAAA,sBAAAD,EAAAF,GAAA,OAAAE,EAAA,mBAAAwD,QAAA,iBAAAA,OAAAC,SAAA,SAAA3D,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAA0D,QAAA1D,EAAAL,cAAA+D,QAAA1D,IAAA0D,OAAA9D,UAAA,gBAAAI,CAAA,GAAAA,EAAA,CCiBlB,IAAIkE,EAAe,WACnB/C,EAAQ86D,OAAS,SAASj8D,GACxB,IAAK4D,EAAS5D,GAAI,CAEhB,IADA,IAAIS,EAAU,GACLU,EAAI,EAAGA,EAAIf,UAAUC,OAAQc,IACpCV,EAAQuD,KAAK4H,EAAQxL,UAAUe,KAEjC,OAAOV,EAAQ0O,KAAK,KAGlBhO,EAAI,EAmBR,IAnBA,IACIhB,EAAOC,UACPF,EAAMC,EAAKE,OACXwE,EAAMgK,OAAO7O,GAAG+Z,QAAQ7V,GAAc,SAASlE,GACjD,GAAU,OAANA,EAAY,MAAO,IACvB,GAAImB,GAAKjB,EAAK,OAAOF,EACrB,OAAQA,GACN,IAAK,KAAM,OAAO6O,OAAO1O,EAAKgB,MAC9B,IAAK,KAAM,OAAOqY,OAAOrZ,EAAKgB,MAC9B,IAAK,KACH,IACE,OAAO8sB,KAAKhP,UAAU9e,EAAKgB,KAAA,CAC3B,MAAOnB,GACP,MAAO,aAEX,QACE,OAAOA,EAAA,IAGJC,EAAIE,EAAKgB,GAAIA,EAAIjB,EAAKD,EAAIE,IAAOgB,GACpC+B,EAAOjD,KAAOmD,EAASnD,GACzB4E,GAAO,IAAM5E,EAEb4E,GAAO,IAAM+G,EAAQ3L,GAGzB,OAAO4E,CAAA,EAOT1D,EAAQg3G,UAAY,SAASn4G,EAAIE,GAE/B,GAAIiD,EAAYhD,EAAO2I,SACrB,OAAO,WACL,OAAO3H,EAAQg3G,UAAUn4G,EAAIE,GAAKK,MAAMb,KAAMU,UAAA,EAIlD,IAAI,IAAAK,EAAQojlB,cACV,OAAO7jlB,EAGT,IAAIkE,GAAA,EAeJ,OAdA,WACE,IAAKA,EAAQ,CACX,GAAIzD,EAAQqjlB,iBACV,MAAM,IAAIz7kB,MAAMnI,GACPO,EAAQsjlB,iBACjB7kiB,QAAQi5d,MAAMj4gB,GAEdg/C,QAAQz6C,MAAMvE,GAEhBgE,GAAA,CAAS,CAEX,OAAOlE,EAAGO,MAAMb,KAAMU,UAAA,GAO1B,IACIyE,EADA5E,EAAS,CAAC,EA6Bd,SAAS2L,EAAQ5L,EAAKS,GAEpB,IAAIN,EAAM,CACR6jlB,KAAM,GACNC,QAAShhlB,GAkBX,OAfI7C,UAAUC,QAAU,IAAGF,EAAIo1H,MAAQn1H,UAAU,IAC7CA,UAAUC,QAAU,IAAGF,EAAI6kC,OAAS5kC,UAAU,IAC9C+D,EAAU1D,GAEZN,EAAI+jlB,WAAazjlB,EACRA,GAETU,EAAQgjlB,QAAQhklB,EAAKM,GAGnB0C,EAAYhD,EAAI+jlB,cAAa/jlB,EAAI+jlB,YAAA,GACjC/glB,EAAYhD,EAAIo1H,SAAQp1H,EAAIo1H,MAAQ,GACpCpyH,EAAYhD,EAAI6kC,UAAS7kC,EAAI6kC,QAAA,GAC7B7hC,EAAYhD,EAAIm3kB,iBAAgBn3kB,EAAIm3kB,eAAA,GACpCn3kB,EAAI6kC,SAAQ7kC,EAAI8jlB,QAAU/ilB,GACvBwkC,EAAYvlC,EAAKH,EAAKG,EAAIo1H,MAAA,CAoCnC,SAASr0H,EAAiBlB,EAAKS,GAC7B,IAAIU,EAAQyK,EAAQsO,OAAOzZ,GAE3B,OAAIU,EACK,QAAYyK,EAAQo5B,OAAO7jC,GAAO,GAAK,IAAMnB,EAC7C,QAAY4L,EAAQo5B,OAAO7jC,GAAO,GAAK,IAEvCnB,CAAA,CAKX,SAASiD,EAAejD,EAAKS,GAC3B,OAAOT,CAAA,CAeT,SAAS0lC,EAAY1lC,EAAKS,EAAON,GAG/B,GAAIH,EAAIs3kB,eACJ72kB,GACAirL,EAAWjrL,EAAM4tD,UAEjB5tD,EAAM4tD,UAAYltD,EAAQktD,WAExB5tD,EAAMd,aAAec,EAAMd,YAAYC,YAAca,GAAQ,CACjE,IAAIP,EAAMO,EAAM4tD,QAAQluD,EAAcH,GAItC,OAHK4D,EAAS1D,KACZA,EAAMwlC,EAAY1lC,EAAKE,EAAKC,IAEvBD,CAAA,CAIT,IAAIgE,EA+FN,SAAyBlE,EAAKS,GAC5B,GAAI0C,EAAY1C,GACd,OAAOT,EAAIiklB,QAAQ,YAAa,aAClC,GAAIrglB,EAASnD,GAAQ,CACnB,IAAIU,EAAS,IAAO8sB,KAAKhP,UAAUxe,GAAOsZ,QAAQ,SAAU,IAClBA,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAAO,IACjE,OAAO/Z,EAAIiklB,QAAQ9ilB,EAAQ,UAE7B,OAAIlC,EAASwB,GACJT,EAAIiklB,QAAQ,GAAKxjlB,EAAO,UAC7B0D,EAAU1D,GACLT,EAAIiklB,QAAQ,GAAKxjlB,EAAO,WAE7ByC,EAAOzC,GACFT,EAAIiklB,QAAQ,OAAQ,aAD7B,CAC6B,CAf/B,CA/FkCjklB,EAAKS,GACrC,GAAIyD,EACF,OAAOA,EAIT,IAAIW,EAAO3F,OAAOgR,KAAKzP,GACnBR,EApCN,SAAqBD,GACnB,IAAIS,EAAO,CAAC,EAMZ,OAJAT,EAAM4P,SAAQ,SAAS5P,EAAKmB,GAC1BV,EAAKT,IAAA,CAAO,IAGPS,CAAA,CAPT,CAoCgCoE,GAQ9B,GANI7E,EAAIkklB,aACNr/kB,EAAO3F,OAAO62E,oBAAoBt1E,IAKhC6f,EAAQ7f,KACJoE,EAAKnE,QAAQ,YAAc,GAAKmE,EAAKnE,QAAQ,gBAAkB,GACrE,OAAO2nB,EAAY5nB,GAIrB,GAAoB,IAAhBoE,EAAKxE,OAAc,CACrB,GAAIqrL,EAAWjrL,GAAQ,CACrB,IAAImL,EAAOnL,EAAMgG,KAAO,KAAOhG,EAAMgG,KAAO,GAC5C,OAAOzG,EAAIiklB,QAAQ,YAAcr4kB,EAAO,IAAK,WAE/C,GAAIq3F,EAASxiG,GACX,OAAOT,EAAIiklB,QAAQl/iB,OAAOnlC,UAAUsP,SAAS5O,KAAKG,GAAQ,UAE5D,GAAI2D,EAAO3D,GACT,OAAOT,EAAIiklB,QAAQzmiB,KAAK59C,UAAUsP,SAAS5O,KAAKG,GAAQ,QAE1D,GAAI6f,EAAQ7f,GACV,OAAO4nB,EAAY5nB,EAAA,CAIvB,IA2CIS,EA3CA+B,EAAO,GAAIG,GAAA,EAAeywI,EAAS,CAAC,IAAK,KA6B7C,OA1BIv0I,EAAQmB,KACV2C,GAAA,EACAywI,EAAS,CAAC,IAAK,MAIb63C,EAAWjrL,KAEbwC,EAAO,cADCxC,EAAMgG,KAAO,KAAOhG,EAAMgG,KAAO,IACf,KAIxBw8F,EAASxiG,KACXwC,EAAO,IAAM8hC,OAAOnlC,UAAUsP,SAAS5O,KAAKG,IAI1C2D,EAAO3D,KACTwC,EAAO,IAAMu6C,KAAK59C,UAAUk1D,YAAYx0D,KAAKG,IAI3C6f,EAAQ7f,KACVwC,EAAO,IAAMolB,EAAY5nB,IAGP,IAAhBoE,EAAKxE,QAAkB+C,GAAyB,GAAhB3C,EAAMJ,OAItCF,EAAe,EACb8iG,EAASxiG,GACJT,EAAIiklB,QAAQl/iB,OAAOnlC,UAAUsP,SAAS5O,KAAKG,GAAQ,UAEnDT,EAAIiklB,QAAQ,WAAY,YAInCjklB,EAAIgklB,KAAKhglB,KAAKvD,GAIZS,EADEkC,EAsCN,SAAqBpD,EAAKS,EAAOU,EAAchB,EAAaD,GAE1D,IADA,IAAIgE,EAAS,GACJW,EAAI,EAAG5E,EAAIQ,EAAMJ,OAAQwE,EAAI5E,IAAK4E,EACrCo8D,EAAexgE,EAAOoO,OAAOhK,IAC/BX,EAAOF,KAAKhF,EAAegB,EAAKS,EAAOU,EAAchB,EACjD0O,OAAOhK,IAAA,IAEXX,EAAOF,KAAK,IAShB,OANA9D,EAAK0P,SAAQ,SAAS1P,GACfA,EAAIohB,MAAM,UACbpd,EAAOF,KAAKhF,EAAegB,EAAKS,EAAOU,EAAchB,EACjDD,GAAA,GAAK,IAGNgE,CAAA,CAhBT,CArCyBlE,EAAKS,EAAON,EAAcF,EAAa4E,GAEnDA,EAAKtG,KAAI,SAAS4C,GACzB,OAAOnC,EAAegB,EAAKS,EAAON,EAAcF,EAAakB,EAAKiC,EAAA,IAItEpD,EAAIgklB,KAAKjglB,MA6GX,SAA8B/D,EAAQS,EAAMU,GAQ1C,OANanB,EAAOoa,QAAO,SAASpa,EAAMS,GAGxC,OADIA,EAAIC,QAAQ,MACTV,EAAOS,EAAIsZ,QAAQ,kBAAmB,IAAI1Z,OAAS,IACzD,GAEU,GACJc,EAAO,IACG,KAATV,EAAc,GAAKA,EAAO,OAC3B,IACAT,EAAOmP,KAAK,SACZ,IACAhO,EAAO,GAGTA,EAAO,GAAKV,EAAO,IAAMT,EAAOmP,KAAK,MAAQ,IAAMhO,EAAO,GAjBnE,CA3G8BD,EAAQ+B,EAAM4wI,IAxBjCA,EAAO,GAAK5wI,EAAO4wI,EAAO,GA+CrC,SAASxrH,EAAYroB,GACnB,MAAO,IAAMqI,MAAMzI,UAAUsP,SAAS5O,KAAKN,GAAS,IAwBtD,SAAShB,EAAegB,EAAKS,EAAOU,EAAchB,EAAaD,EAAKgE,GAClE,IAAIW,EAAM5E,EAAK2L,EAsCf,IArCAA,EAAO1M,OAAOkC,yBAAyBX,EAAOP,IAAQ,CAAEsC,MAAO/B,EAAMP,KAC5DoG,IAELrG,EADE2L,EAAKpF,IACDxG,EAAIiklB,QAAQ,kBAAmB,WAE/BjklB,EAAIiklB,QAAQ,WAAY,WAG5Br4kB,EAAKpF,MACPvG,EAAMD,EAAIiklB,QAAQ,WAAY,YAG7BhjhB,EAAe9gE,EAAaD,KAC/B2E,EAAO,IAAM3E,EAAM,KAEhBD,IACCD,EAAIgklB,KAAKtjlB,QAAQkL,EAAKpJ,OAAS,GAE/BvC,EADEiD,EAAO/B,GACHukC,EAAY1lC,EAAK4L,EAAKpJ,MAAO,MAE7BkjC,EAAY1lC,EAAK4L,EAAKpJ,MAAOrB,EAAe,IAE5CT,QAAQ,OAAS,IAErBT,EADEiE,EACIjE,EAAIuS,MAAM,MAAMjU,KAAI,SAASyB,GACjC,MAAO,KAAOA,CAAA,IACbmP,KAAK,MAAMuN,OAAO,GAEf,KAAOzc,EAAIuS,MAAM,MAAMjU,KAAI,SAASyB,GACxC,MAAO,MAAQA,CAAA,IACdmP,KAAK,OAIZlP,EAAMD,EAAIiklB,QAAQ,aAAc,YAGhC9glB,EAAY0B,GAAO,CACrB,GAAIX,GAAShE,EAAIohB,MAAM,SACrB,OAAOrhB,GAET4E,EAAOopB,KAAKhP,UAAU,GAAK/e,IAClBohB,MAAM,iCACbzc,EAAOA,EAAK6X,OAAO,EAAG7X,EAAKxE,OAAS,GACpCwE,EAAO7E,EAAIiklB,QAAQp/kB,EAAM,UAEzBA,EAAOA,EAAKkV,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAChBA,QAAQ,WAAY,KAChClV,EAAO7E,EAAIiklB,QAAQp/kB,EAAM,WAI7B,OAAOA,EAAO,KAAO5E,CAAA,CA2BvB,SAASX,EAAQU,GACf,OAAOX,MAAMkoB,QAAQvnB,EAAA,CAIvB,SAASmE,EAAUnE,GACjB,MAAsB,kBAARA,CAAA,CAIhB,SAASkD,EAAOlD,GACd,OAAe,OAARA,CAAA,CAST,SAASf,EAASe,GAChB,MAAsB,iBAARA,CAAA,CAIhB,SAAS4D,EAAS5D,GAChB,MAAsB,iBAARA,CAAA,CAShB,SAASmD,EAAYnD,GACnB,YAAO,IAAAA,CAAA,CAIT,SAASijG,EAASjjG,GAChB,OAAOoD,EAASpD,IAA8B,oBAAvB6zI,EAAe7zI,EAAA,CAIxC,SAASoD,EAASpD,GAChB,MAAsB,WAAfE,EAAOF,IAA4B,OAARA,CAAA,CAIpC,SAASoE,EAAOpE,GACd,OAAOoD,EAASpD,IAA4B,kBAAtB6zI,EAAe7zI,EAAA,CAIvC,SAASsgB,EAAQtgB,GACf,OAAOoD,EAASpD,KACW,mBAAtB6zI,EAAe7zI,IAA2BA,aAAaqI,MAAA,CAI9D,SAASqjL,EAAW1rL,GAClB,MAAsB,mBAARA,CAAA,CAgBhB,SAAS6zI,EAAe7zI,GACtB,OAAOd,OAAOU,UAAUsP,SAAS5O,KAAKN,EAAA,CAIxC,SAAS8E,EAAI9E,GACX,OAAOA,EAAI,GAAK,IAAMA,EAAEkP,SAAS,IAAMlP,EAAEkP,SAAS,IApbpD/N,EAAQ8xkB,SAAW,SAASjzkB,GAI1B,GAHImD,EAAY0B,KACdA,EAAepE,EAAQ0xkB,IAAIiS,YAAc,IAC3CpklB,EAAMA,EAAIsxC,eACLrxC,EAAOD,GACV,GAAI,IAAI+kC,OAAO,MAAQ/kC,EAAM,MAAO,KAAKqhC,KAAKx8B,GAAe,CAC3D,IAAI1E,EAAMM,EAAQ4jlB,IAClBpklB,EAAOD,GAAO,WACZ,IAAIS,EAAMU,EAAQ86D,OAAO17D,MAAMY,EAASf,WACxC8+C,QAAQz6C,MAAM,YAAazE,EAAKG,EAAKM,EAAA,OAGvCR,EAAOD,GAAO,aAGlB,OAAOC,EAAOD,EAAA,EAoChBmB,EAAQktD,QAAUziD,EAIlBA,EAAQo5B,OAAS,CACf0tV,KAAS,CAAC,EAAG,IACb4xN,OAAW,CAAC,EAAG,IACfC,UAAc,CAAC,EAAG,IAClBC,QAAY,CAAC,EAAG,IAChB/6jB,MAAU,CAAC,GAAI,IACf4E,KAAS,CAAC,GAAI,IACd7E,MAAU,CAAC,GAAI,IACf+C,KAAS,CAAC,GAAI,IACdk4jB,KAAS,CAAC,GAAI,IACdx3jB,MAAU,CAAC,GAAI,IACfy3jB,QAAY,CAAC,GAAI,IACjB/3jB,IAAQ,CAAC,GAAI,IACbg4jB,OAAW,CAAC,GAAI,KAIlB/4kB,EAAQsO,OAAS,CACfokJ,QAAW,OACX5+H,OAAU,SACVoZ,QAAW,SACX76C,UAAa,OACb2mlB,KAAQ,OACRt9jB,OAAU,QACVqY,KAAQ,UAERkuJ,OAAU,OAkRZ1sL,EAAQomB,QAAUjoB,EAKlB6B,EAAQ01I,UAAY1yI,EAKpBhD,EAAQwT,OAASzR,EAKjB/B,EAAQu9iB,kBAHR,SAA2B1+iB,GACzB,OAAc,MAAPA,CAAA,EAOTmB,EAAQo8C,SAAWt+C,EAKnBkC,EAAQo7C,SAAW34C,EAKnBzC,EAAQw9iB,SAHR,SAAkB3+iB,GAChB,MAAsB,WAAfE,EAAOF,EAAA,EAOhBmB,EAAQq1C,YAAcrzC,EAKtBhC,EAAQy9iB,SAAW37c,EAKnB9hG,EAAQg7C,SAAW/4C,EAKnBjC,EAAQ27C,OAAS14C,EAMjBjD,EAAQgoT,QAAU7oS,EAKlBnf,EAAQwX,WAAa+yK,EAUrBvqL,EAAQysH,YARR,SAAqB5tH,GACnB,OAAe,OAARA,GACe,kBAARA,GACQ,iBAARA,GACQ,iBAARA,GACQ,WAAfE,EAAOF,SAAA,IACAA,CAAA,EAIhBmB,EAAQ06C,SAAW77C,EAAQ,sBAY3B,IAAIwrL,EAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,OAG5B,SAASwmW,IACP,IAAIhyhB,EAAI,IAAIw9C,KACR/8C,EAAO,CAACqE,EAAI9E,EAAE0rF,YACN5mF,EAAI9E,EAAE4rF,cACN9mF,EAAI9E,EAAE6rF,eAAe18E,KAAK,KACtC,MAAO,CAACnP,EAAEurF,UAAWigG,EAAOxrL,EAAEqrF,YAAa5qF,GAAM0O,KAAK,KAqCxD,SAAS8xD,EAAejhE,EAAKS,GAC3B,OAAOvB,OAAOU,UAAUL,eAAee,KAAKN,EAAKS,EAAA,CAjCnDU,EAAQu1H,IAAM,WACZx3E,QAAQw3E,IAAI,UAAWs7Z,IAAa7whB,EAAQ86D,OAAO17D,MAAMY,EAASf,WAAA,EAiBpEe,EAAQg+gB,SAAWn/gB,EAAQ,YAE3BmB,EAAQgjlB,QAAU,SAASnklB,EAAQS,GAEjC,IAAKA,IAAQ2C,EAAS3C,GAAM,OAAOT,EAInC,IAFA,IAAImB,EAAOjC,OAAOgR,KAAKzP,GACnBN,EAAIgB,EAAKd,OACNF,KACLH,EAAOmB,EAAKhB,IAAMM,EAAIU,EAAKhB,IAE7B,OAAOH,CAAA,IAAAM,KAAA,KAAAN,EAAA,gCAAAqtD,EAAAA,EAAAA,EAAAA,EAAA,oBAAAv/C,KAAAA,KAAA,oBAAA/P,OAAAA,OAAA,+BAAAu7D,SAAA,IAAA6ld,SAAA,oBAAAn/gB,EAAAS,EAAAU,GCpkBT,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFtD,OAAOqC,eAAeJ,EAAS,KAAM,CACnCoI,YAAA,EACAjD,IAAK,WACH,OAAOnG,EAAG6F,OAAA,IAGd9G,OAAOqC,eAAeJ,EAAS,KAAM,CACnCoI,YAAA,EACAjD,IAAK,WACH,OAAOpG,EAAI8F,OAAA,IAGf9G,OAAOqC,eAAeJ,EAAS,KAAM,CACnCoI,YAAA,EACAjD,IAAK,WACH,OAAOpC,EAAI8B,OAAA,IAGf9G,OAAOqC,eAAeJ,EAAS,KAAM,CACnCoI,YAAA,EACAjD,IAAK,WACH,OAAOzB,EAAImB,OAAA,IAGf9G,OAAOqC,eAAeJ,EAAS,MAAO,CACpCoI,YAAA,EACAjD,IAAK,WACH,OAAOrG,EAAK+F,OAAA,IAGhB9G,OAAOqC,eAAeJ,EAAS,UAAW,CACxCoI,YAAA,EACAjD,IAAK,WACH,OAAOsF,EAAS5F,OAAA,IAGpB9G,OAAOqC,eAAeJ,EAAS,WAAY,CACzCoI,YAAA,EACAjD,IAAK,WACH,OAAOpF,EAAU8E,OAAA,IAGrB9G,OAAOqC,eAAeJ,EAAS,YAAa,CAC1CoI,YAAA,EACAjD,IAAK,WACH,OAAOrD,EAAW+C,OAAA,IAGtB9G,OAAOqC,eAAeJ,EAAS,QAAS,CACtCoI,YAAA,EACAjD,IAAK,WACH,OAAOo/B,EAAO1/B,OAAA,IAIlB,IAAI7F,EAAKkoB,EAAuBroB,EAAQ,YAEpCE,EAAMmoB,EAAuBroB,EAAQ,YAErCkE,EAAMmkB,EAAuBroB,EAAQ,YAErC6E,EAAMwjB,EAAuBroB,EAAQ,YAErCC,EAAOooB,EAAuBroB,EAAQ,aAEtC4L,EAAWyc,EAAuBroB,EAAQ,iBAE1CkB,EAAYmnB,EAAuBroB,EAAQ,kBAE3CiD,EAAaolB,EAAuBroB,EAAQ,mBAE5C0lC,EAASrd,EAAuBroB,EAAQ,eAE5C,SAASqoB,EAAuBroB,GAAO,OAAOA,GAAOA,EAAI+F,WAAa/F,EAAM,CAAEgG,QAAShG,EAAA,wKAAAA,EAAAS,EAAAU,GC9EvF,aA+DA,SAAShB,EAAgBH,GACvB,OAAwC,IAAhCA,EAAe,KAAO,GAAK,GAAU,EAuH/C,SAASE,EAAQF,EAAGS,GAClB,IAAMU,GAAW,MAAJnB,IAAmB,MAAJS,GAE5B,OADaT,GAAK,KAAOS,GAAK,KAAOU,GAAO,KAC9B,GAAW,MAANA,CAAA,CAerB,SAAS+C,EAAOlE,EAAGS,EAAGU,EAAGhB,EAAG+D,EAAGW,GAC7B,OAAO3E,GATcD,EASQC,EAAQA,EAAQO,EAAGT,GAAIE,EAAQC,EAAG0E,OATrC+G,EAS0C1H,GARhDjE,IAAQ,GAAK2L,EAQuCzK,GAT1E,IAAuBlB,EAAK2L,CAAA,CAY5B,SAAS/G,EAAM7E,EAAGS,EAAGU,EAAGhB,EAAGD,EAAG2E,EAAG5E,GAC/B,OAAOiE,EAAOzD,EAAIU,GAAKV,EAAIN,EAAGH,EAAGS,EAAGP,EAAG2E,EAAG5E,EAAA,CAG5C,SAASA,EAAMD,EAAGS,EAAGU,EAAGhB,EAAGD,EAAG2E,EAAG5E,GAC/B,OAAOiE,EAAOzD,EAAIN,EAAIgB,GAAKhB,EAAGH,EAAGS,EAAGP,EAAG2E,EAAG5E,EAAA,CAG5C,SAAS2L,EAAM5L,EAAGS,EAAGU,EAAGhB,EAAGD,EAAG2E,EAAG5E,GAC/B,OAAOiE,EAAOzD,EAAIU,EAAIhB,EAAGH,EAAGS,EAAGP,EAAG2E,EAAG5E,EAAA,CAGvC,SAASiB,EAAMlB,EAAGS,EAAGU,EAAGhB,EAAGD,EAAG2E,EAAG5E,GAC/B,OAAOiE,EAAO/C,GAAKV,GAAKN,GAAIH,EAAGS,EAAGP,EAAG2E,EAAG5E,EAAA,CAxN1Cf,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAwNR,IAAI/C,EAlMJ,SAAajD,GACX,GAAqB,iBAAVA,EAAoB,CAC7B,IAAMS,EAAMi0C,SAASxC,mBAAmBlyC,IAExCA,EAAQ,IAAI4G,WAAWnG,EAAIJ,QAE3B,IAAK,IAAIc,EAAI,EAAGA,EAAIV,EAAIJ,SAAUc,EAChCnB,EAAMmB,GAAKV,EAAI2N,WAAWjN,EAAA,CAI9B,OAOF,SAA8BnB,GAK5B,IAJA,IAAMS,EAAS,GACTU,EAA0B,GAAfnB,EAAMK,OAGdF,EAAI,EAAGA,EAAIgB,EAAUhB,GAAK,EAAG,CACpC,IAAMD,EAAIF,EAAMG,GAAK,KAAOA,EAAI,GAAK,IAC/B+D,EAAM+gC,SAJC,mBAIeJ,OAAO3kC,IAAM,EAAI,IAJhC,mBAI+C2kC,OAAW,GAAJ3kC,GAAW,IAC9EO,EAAOuD,KAAKE,EAAA,CAGd,OAAOzD,CAAA,CAXT,CA0BA,SAAoBT,EAAGS,GAErBT,EAAES,GAAO,IAAM,KAAQA,EAAM,GAC7BT,EAAEG,EAAgBM,GAAO,GAAKA,EAM9B,IALA,IAAIU,EAAI,WACJ+C,GAAK,UACLjB,GAAK,WACLyiC,EAAI,UAECrd,EAAI,EAAGA,EAAIroB,EAAEK,OAAQgoB,GAAK,GAAI,CACrC,IAAMrpB,EAAOmC,EACP7B,EAAO4E,EACPC,EAAOlB,EACPC,EAAOwiC,EACbvkC,EAAI0D,EAAM1D,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,GAAI,GAAI,WAChCqd,EAAI7gC,EAAM6gC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,IAAK,WACrCplB,EAAI4B,EAAM5B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,GAAI,WACpCnkB,EAAIW,EAAMX,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,YACrClnB,EAAI0D,EAAM1D,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,WACpCqd,EAAI7gC,EAAM6gC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,GAAI,YACpCplB,EAAI4B,EAAM5B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,IAAK,YACrCnkB,EAAIW,EAAMX,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,UACrClnB,EAAI0D,EAAM1D,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,EAAG,YACnCqd,EAAI7gC,EAAM6gC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,IAAK,YACrCplB,EAAI4B,EAAM5B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,IAAK,OACtCnkB,EAAIW,EAAMX,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,IAAK,IAAK,YACtClnB,EAAI0D,EAAM1D,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,IAAK,EAAG,YACpCqd,EAAI7gC,EAAM6gC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,IAAK,IAAK,UACtCplB,EAAI4B,EAAM5B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,IAAK,YAEtClnB,EAAIlB,EAAMkB,EADV+C,EAAIW,EAAMX,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,IAAK,GAAI,YACrBplB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,WACpCqd,EAAIzlC,EAAMylC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,GAAI,YACpCplB,EAAIhD,EAAMgD,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,GAAI,WACrCnkB,EAAIjE,EAAMiE,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,GAAI,IAAK,WACjClnB,EAAIlB,EAAMkB,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,WACpCqd,EAAIzlC,EAAMylC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,IAAK,EAAG,UACpCplB,EAAIhD,EAAMgD,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,IAAK,WACtCnkB,EAAIjE,EAAMiE,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,WACrClnB,EAAIlB,EAAMkB,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,EAAG,WACnCqd,EAAIzlC,EAAMylC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,IAAK,GAAI,YACrCplB,EAAIhD,EAAMgD,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,IAAK,WACrCnkB,EAAIjE,EAAMiE,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,GAAI,YACpClnB,EAAIlB,EAAMkB,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,IAAK,GAAI,YACrCqd,EAAIzlC,EAAMylC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,GAAI,UACpCplB,EAAIhD,EAAMgD,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,GAAI,YAEpClnB,EAAIyK,EAAMzK,EADV+C,EAAIjE,EAAMiE,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,IAAK,IAAK,YACtBplB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,QACpCqd,EAAI95B,EAAM85B,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,IAAK,YACrCplB,EAAI2I,EAAM3I,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,GAAI,YACrCnkB,EAAI0H,EAAM1H,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,IAAK,IAAK,UACtClnB,EAAIyK,EAAMzK,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,YACpCqd,EAAI95B,EAAM85B,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,GAAI,YACpCplB,EAAI2I,EAAM3I,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,IAAK,WACrCnkB,EAAI0H,EAAM1H,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,IAAK,IAAK,YACtClnB,EAAIyK,EAAMzK,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,IAAK,EAAG,WACpCqd,EAAI95B,EAAM85B,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,GAAI,IAAK,WACjCplB,EAAI2I,EAAM3I,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,IAAK,WACrCnkB,EAAI0H,EAAM1H,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,GAAI,UACpClnB,EAAIyK,EAAMzK,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,WACpCqd,EAAI95B,EAAM85B,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,IAAK,IAAK,WACtCplB,EAAI2I,EAAM3I,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,GAAI,WAErClnB,EAAID,EAAMC,EADV+C,EAAI0H,EAAM1H,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,WACrBplB,EAAGyiC,EAAG1lC,EAAEqoB,GAAI,GAAI,WAChCqd,EAAIxkC,EAAMwkC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,GAAI,YACpCplB,EAAI/B,EAAM+B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,IAAK,YACtCnkB,EAAIhD,EAAMgD,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,UACrClnB,EAAID,EAAMC,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,IAAK,EAAG,YACpCqd,EAAIxkC,EAAMwkC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,GAAI,IAAK,YACrCplB,EAAI/B,EAAM+B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,IAAK,IAAK,SACtCnkB,EAAIhD,EAAMgD,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,YACrClnB,EAAID,EAAMC,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,EAAG,YACnCqd,EAAIxkC,EAAMwkC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,IAAK,IAAK,UACtCplB,EAAI/B,EAAM+B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,IAAK,YACrCnkB,EAAIhD,EAAMgD,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,IAAK,GAAI,YACrClnB,EAAID,EAAMC,EAAG+C,EAAGjB,EAAGyiC,EAAG1lC,EAAEqoB,EAAI,GAAI,GAAI,WACpCqd,EAAIxkC,EAAMwkC,EAAGvkC,EAAG+C,EAAGjB,EAAGjD,EAAEqoB,EAAI,IAAK,IAAK,YACtCplB,EAAI/B,EAAM+B,EAAGyiC,EAAGvkC,EAAG+C,EAAGlE,EAAEqoB,EAAI,GAAI,GAAI,WACpCnkB,EAAIhD,EAAMgD,EAAGjB,EAAGyiC,EAAGvkC,EAAGnB,EAAEqoB,EAAI,GAAI,IAAK,WACrClnB,EAAIjB,EAAQiB,EAAGnC,GACfkF,EAAIhE,EAAQgE,EAAG5E,GACf2D,EAAI/C,EAAQ+C,EAAGkB,GACfuhC,EAAIxlC,EAAQwlC,EAAGxiC,EAAA,CAGjB,MAAO,CAAC/B,EAAG+C,EAAGjB,EAAGyiC,EAAA,CApFnB,CA4FA,SAAsB1lC,GACpB,GAAqB,IAAjBA,EAAMK,OACR,MAAO,GAMT,IAHA,IAAMI,EAAyB,EAAfT,EAAMK,OAChBc,EAAS,IAAI+K,YAAY/L,EAAgBM,IAEtCP,EAAI,EAAGA,EAAIO,EAASP,GAAK,EAChCiB,EAAOjB,GAAK,KAAsB,IAAfF,EAAME,EAAI,KAAcA,EAAI,GAGjD,OAAOiB,CAAA,CAZT,CA7HsDnB,GAAuB,EAAfA,EAAMK,QAAA,EAwLpEc,EAAQ6E,QAAU/C,CAAA,oBAAAjD,EAAAS,EAAAU,GC9NlB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER7E,EAAQ6E,QADO,0DAAAhG,EAAAS,EAAAU,GCNf,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAEgC7F,EAF5BD,GAE4BC,EAFOH,EAAQ,mBAEMG,EAAI4F,WAAa5F,EAAM,CAAE6F,QAAS7F,GAkCnF+D,EAhCJ,SAAelE,GACb,KAAK,EAAIE,EAAU8F,SAAShG,GAC1B,MAAM8D,UAAU,gBAGlB,IAAIrD,EACEU,EAAM,IAAIyF,WAAW,IAuB3B,OArBAzF,EAAI,IAAMV,EAAIwkC,SAASjlC,EAAK6c,MAAM,EAAG,GAAI,OAAS,GAClD1b,EAAI,GAAKV,IAAM,GAAK,IACpBU,EAAI,GAAKV,IAAM,EAAI,IACnBU,EAAI,GAAS,IAAJV,EAETU,EAAI,IAAMV,EAAIwkC,SAASjlC,EAAK6c,MAAM,EAAG,IAAK,OAAS,EACnD1b,EAAI,GAAS,IAAJV,EAETU,EAAI,IAAMV,EAAIwkC,SAASjlC,EAAK6c,MAAM,GAAI,IAAK,OAAS,EACpD1b,EAAI,GAAS,IAAJV,EAETU,EAAI,IAAMV,EAAIwkC,SAASjlC,EAAK6c,MAAM,GAAI,IAAK,OAAS,EACpD1b,EAAI,GAAS,IAAJV,EAGTU,EAAI,KAAOV,EAAIwkC,SAASjlC,EAAK6c,MAAM,GAAI,IAAK,KAAO,cAAgB,IACnE1b,EAAI,IAAMV,EAAI,WAAc,IAC5BU,EAAI,IAAMV,IAAM,GAAK,IACrBU,EAAI,IAAMV,IAAM,GAAK,IACrBU,EAAI,IAAMV,IAAM,EAAI,IACpBU,EAAI,IAAU,IAAJV,EACHU,CAAA,EAITA,EAAQ6E,QAAU9B,CAAA,uCAAAlE,EAAAS,EAAAU,GC5ClB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER7E,EAAQ6E,QADO,yIAAAhG,EAAAS,EAAAU,GCNf,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,QASR,WACE,IAAK7F,EACH,MAAM,IAAIkI,MAAM,4GAGlB,OAAOlI,EAAgBD,EAAA,EARzB,IAAMC,EAAoC,oBAAXsJ,QAA0BA,OAAOpL,iBAAmBoL,OAAOpL,gBAAgB6kC,KAAKz5B,SAA+B,oBAAbvL,UAAgE,mBAA7BA,SAASG,iBAAkCH,SAASG,gBAAgB6kC,KAAKhlC,UACvOgC,EAAQ,IAAI0G,WAAW,uBAAA5G,EAAAS,EAAAU,GCZ7B,aASA,SAAShB,EAAEH,EAAGS,EAAGU,EAAGhB,GAClB,OAAQH,GACN,KAAK,EACH,OAAOS,EAAIU,GAAKV,EAAIN,EAEtB,KAAK,EAML,KAAK,EACH,OAAOM,EAAIU,EAAIhB,EAJjB,KAAK,EACH,OAAOM,EAAIU,EAAIV,EAAIN,EAAIgB,EAAIhB,EAGZ,CAIrB,SAASD,EAAKF,EAAGS,GACf,OAAOT,GAAKS,EAAIT,IAAM,GAAKS,CAAA,CAxB7BvB,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAiGR,IAAI9B,EAzEJ,SAAclE,GACZ,IAAMS,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCU,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAE3D,GAAqB,iBAAVnB,EAAoB,CAC7B,IAAMkE,EAAMwwC,SAASxC,mBAAmBlyC,IAExCA,EAAQ,GAER,IAAK,IAAI6E,EAAI,EAAGA,EAAIX,EAAI7D,SAAUwE,EAChC7E,EAAMgE,KAAKE,EAAIkK,WAAWvJ,GAAA,MAElBxF,MAAMkoB,QAAQvnB,KAExBA,EAAQX,MAAMO,UAAUid,MAAMvc,KAAKN,IAGrCA,EAAMgE,KAAK,KAKX,IAJA,IAAM/D,EAAID,EAAMK,OAAS,EAAI,EACvBuL,EAAIZ,KAAKgzD,KAAK/9D,EAAI,IAClBiB,EAAI,IAAI7B,MAAMuM,GAEX3I,EAAI,EAAGA,EAAI2I,IAAK3I,EAAG,CAG1B,IAFA,IAAMyiC,EAAM,IAAIx5B,YAAY,IAEnBmc,EAAI,EAAGA,EAAI,KAAMA,EACxBqd,EAAIrd,GAAKroB,EAAU,GAAJiD,EAAa,EAAJolB,IAAU,GAAKroB,EAAU,GAAJiD,EAAa,EAAJolB,EAAQ,IAAM,GAAKroB,EAAU,GAAJiD,EAAa,EAAJolB,EAAQ,IAAM,EAAIroB,EAAU,GAAJiD,EAAa,EAAJolB,EAAQ,GAGnInnB,EAAE+B,GAAKyiC,CAAA,CAGTxkC,EAAE0K,EAAI,GAAG,IAA2B,GAApB5L,EAAMK,OAAS,GAAS2K,KAAKmB,IAAI,EAAG,IACpDjL,EAAE0K,EAAI,GAAG,IAAMZ,KAAKC,MAAM/J,EAAE0K,EAAI,GAAG,KACnC1K,EAAE0K,EAAI,GAAG,IAA2B,GAApB5L,EAAMK,OAAS,GAAS,WAExC,IAAK,IAAIrB,EAAI,EAAGA,EAAI4M,IAAK5M,EAAG,CAG1B,IAFA,IAAMM,EAAI,IAAI4M,YAAY,IAEjB/H,EAAI,EAAGA,EAAI,KAAMA,EACxB7E,EAAE6E,GAAKjD,EAAElC,GAAGmF,GAGd,IAAK,IAAIjB,EAAI,GAAIA,EAAI,KAAMA,EACzB5D,EAAE4D,GAAKhD,EAAKZ,EAAE4D,EAAI,GAAK5D,EAAE4D,EAAI,GAAK5D,EAAE4D,EAAI,IAAM5D,EAAE4D,EAAI,IAAK,GAS3D,IANA,IAAIjE,EAAIkC,EAAE,GACNyC,EAAIzC,EAAE,GACNgC,EAAIhC,EAAE,GACN8hG,EAAI9hG,EAAE,GACNiC,EAAIjC,EAAE,GAEDiD,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,IAAMkc,EAAItV,KAAKC,MAAM7G,EAAI,IACnBsnL,EAAIxrL,EAAKjB,EAAG,GAAKkB,EAAEmgB,EAAG1c,EAAGT,EAAG8/F,GAAK7/F,EAAI3C,EAAE6f,GAAKhhB,EAAE8E,KAAO,EAC3DhB,EAAI6/F,EACJA,EAAI9/F,EACJA,EAAIjD,EAAK0D,EAAG,MAAQ,EACpBA,EAAI3E,EACJA,EAAIysL,CAAA,CAGNvqL,EAAE,GAAKA,EAAE,GAAKlC,IAAM,EACpBkC,EAAE,GAAKA,EAAE,GAAKyC,IAAM,EACpBzC,EAAE,GAAKA,EAAE,GAAKgC,IAAM,EACpBhC,EAAE,GAAKA,EAAE,GAAK8hG,IAAM,EACpB9hG,EAAE,GAAKA,EAAE,GAAKiC,IAAM,EAGtB,MAAO,CAACjC,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,KAIxVA,EAAQ6E,QAAU9B,CAAA,oBAAAlE,EAAAS,EAAAU,GCvGlB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAYR,IAVA,IAEgC7F,EAF5BD,GAE4BC,EAFOH,EAAQ,mBAEMG,EAAI4F,WAAa5F,EAAM,CAAE6F,QAAS7F,GAMjF+D,EAAY,GAETW,EAAI,EAAGA,EAAI,MAAOA,EACzBX,EAAUF,MAAMa,EAAI,KAAOqK,SAAS,IAAIwN,OAAO,IAmBjD,IAAIzc,EAhBJ,SAAmBD,GAAiB,IAAZS,EAAYL,UAAAC,OAAA,YAAAD,UAAA,GAAAA,UAAA,GAAH,EAGzBe,GAAQ+C,EAAUlE,EAAIS,EAAS,IAAMyD,EAAUlE,EAAIS,EAAS,IAAMyD,EAAUlE,EAAIS,EAAS,IAAMyD,EAAUlE,EAAIS,EAAS,IAAM,IAAMyD,EAAUlE,EAAIS,EAAS,IAAMyD,EAAUlE,EAAIS,EAAS,IAAM,IAAMyD,EAAUlE,EAAIS,EAAS,IAAMyD,EAAUlE,EAAIS,EAAS,IAAM,IAAMyD,EAAUlE,EAAIS,EAAS,IAAMyD,EAAUlE,EAAIS,EAAS,IAAM,IAAMyD,EAAUlE,EAAIS,EAAS,KAAOyD,EAAUlE,EAAIS,EAAS,KAAOyD,EAAUlE,EAAIS,EAAS,KAAOyD,EAAUlE,EAAIS,EAAS,KAAOyD,EAAUlE,EAAIS,EAAS,KAAOyD,EAAUlE,EAAIS,EAAS,MAAMuZ,cAM3f,KAAK,EAAI9Z,EAAU8F,SAAS7E,GAC1B,MAAM2C,UAAU,+BAGlB,OAAO3C,CAAA,EAITA,EAAQ6E,QAAU/F,CAAA,uCAAAD,EAAAS,EAAAU,GCtClB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAUI7F,EAEAD,EAZAgE,EAAOjE,EAAuBD,EAAQ,aAEtC6E,EAAa5E,EAAuBD,EAAQ,mBAEhD,SAASC,EAAuBD,GAAO,OAAOA,GAAOA,EAAI+F,WAAa/F,EAAM,CAAEgG,QAAShG,EAAA,CAWvF,IAAI4L,EAAa,EACb1K,EAAa,EAkFb+B,EAhFJ,SAAYjD,EAASS,EAAKU,GACxB,IAAIlB,EAAIQ,GAAOU,GAAU,EACnB8B,EAAIxC,GAAO,IAAIpB,MAAM,IAEvBqmC,GADJ1lC,EAAUA,GAAW,CAAC,GACHsd,MAAQnd,EACvBkoB,OAAA,IAAWroB,EAAQ6klB,SAAyB7klB,EAAQ6klB,SAAW3klB,EAInE,GAAY,MAARwlC,GAA4B,MAAZrd,EAAkB,CACpC,IAAMrpB,EAAYgB,EAAQ88D,SAAW98D,EAAQ2gjB,KAAOz8iB,EAAK8B,WAE7C,MAAR0/B,IAEFA,EAAOvlC,EAAU,CAAgB,EAAfnB,EAAU,GAAWA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAG3F,MAAZqpB,IAEFA,EAAWnoB,EAAiD,OAApClB,EAAU,IAAM,EAAIA,EAAU,KAQ1D,IAAIM,OAAA,IAAQU,EAAQ8klB,MAAsB9klB,EAAQ8klB,MAAQtniB,KAAKE,MAG3Dv5C,OAAA,IAAQnE,EAAQ+klB,MAAsB/klB,EAAQ+klB,MAAQ7jlB,EAAa,EAEjEgC,EAAK5D,EAAQsM,GAAczH,EAAQjD,GAAc,IAavD,GAXIgC,EAAK,QAAK,IAAAlD,EAAQ6klB,WACpBx8jB,EAAWA,EAAW,EAAI,QAKvBnlB,EAAK,GAAK5D,EAAQsM,SAAA,IAAe5L,EAAQ+klB,QAC5C5glB,EAAQ,GAINA,GAAS,IACX,MAAM,IAAIkE,MAAM,mDAGlBuD,EAAatM,EACb4B,EAAaiD,EACbjE,EAAYmoB,EAIZ,IAAMppB,GAA4B,KAAb,WAFrBK,GAAS,cAEiC6E,GAAS,WACnDlB,EAAEhD,KAAOhB,IAAO,GAAK,IACrBgE,EAAEhD,KAAOhB,IAAO,GAAK,IACrBgE,EAAEhD,KAAOhB,IAAO,EAAI,IACpBgE,EAAEhD,KAAY,IAALhB,EAET,IAAM2E,EAAMtE,EAAQ,WAAc,IAAQ,UAC1C2D,EAAEhD,KAAO2D,IAAQ,EAAI,IACrBX,EAAEhD,KAAa,IAAN2D,EAETX,EAAEhD,KAAO2D,IAAQ,GAAK,GAAM,GAE5BX,EAAEhD,KAAO2D,IAAQ,GAAK,IAEtBX,EAAEhD,KAAOooB,IAAa,EAAI,IAE1BplB,EAAEhD,KAAkB,IAAXooB,EAET,IAAK,IAAIllB,EAAI,EAAGA,EAAI,IAAKA,EACvBF,EAAEhD,EAAIkD,GAAKuiC,EAAKviC,GAGlB,OAAO1C,IAAA,EAAWoE,EAAWmB,SAAS/C,EAAA,EAIxC9B,EAAQ6E,QAAU/C,CAAA,uDAAAjD,EAAAS,EAAAU,GC1GlB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAAI7F,EAAK+D,EAAuBlE,EAAQ,aAEpCE,EAAMgE,EAAuBlE,EAAQ,aAEzC,SAASkE,EAAuBlE,GAAO,OAAOA,GAAOA,EAAI+F,WAAa/F,EAAM,CAAEgG,QAAShG,EAAA,CAEvF,IACI6E,GAAA,EADW1E,EAAG6F,SAAS,KAAM,GAAM9F,EAAI8F,SAE3C7E,EAAQ6E,QAAUnB,CAAA,iDAAA7E,EAAAS,EAAAU,GCflB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,QA0BR,SAAkBhG,EAAMS,EAASU,GAC/B,SAAS+C,EAAalE,EAAOkE,EAAWW,EAAK5E,GAS3C,GARqB,iBAAVD,IACTA,EApBN,SAAuBA,GACrBA,EAAM00C,SAASxC,mBAAmBlyC,IAIlC,IAFA,IAAMS,EAAQ,GAELU,EAAI,EAAGA,EAAInB,EAAIK,SAAUc,EAChCV,EAAMuD,KAAKhE,EAAIoO,WAAWjN,IAG5B,OAAOV,CAAA,CATT,CAoB4BT,IAGC,iBAAdkE,IACTA,GAAA,EAAgBhE,EAAO8F,SAAS9B,IAGT,KAArBA,EAAU7D,OACZ,MAAMyD,UAAU,oEAMlB,IAAI8H,EAAQ,IAAIhF,WAAW,GAAK5G,EAAMK,QAOtC,GANAuL,EAAMpF,IAAItC,GACV0H,EAAMpF,IAAIxG,EAAOkE,EAAU7D,SAC3BuL,EAAQzK,EAASyK,IACX,GAAgB,GAAXA,EAAM,GAAYnL,EAC7BmL,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzB/G,EAAK,CACP5E,EAASA,GAAU,EAEnB,IAAK,IAAIiB,EAAI,EAAGA,EAAI,KAAMA,EACxB2D,EAAI5E,EAASiB,GAAK0K,EAAM1K,GAG1B,OAAO2D,CAAA,CAGT,OAAO,EAAI1E,EAAW6F,SAAS4F,EAAA,CAIjC,IACE1H,EAAauC,KAAOzG,CAAA,CACpB,MAAOA,GAAA,CAKT,OAFAkE,EAAa8glB,IAAMnglB,EACnBX,EAAa+glB,IAAMhllB,EACZiE,CAAA,EAtET/C,EAAQ8jlB,IAAM9jlB,EAAQ6jlB,SAAA,EAEtB,IAAI7klB,EAAa+D,EAAuBlE,EAAQ,mBAE5CE,EAASgE,EAAuBlE,EAAQ,eAE5C,SAASkE,EAAuBlE,GAAO,OAAOA,GAAOA,EAAI+F,WAAa/F,EAAM,CAAEgG,QAAShG,EAAA,CAcvF,IAAM6E,EAAM,uCACZ1D,EAAQ6jlB,IAAMnglB,EACd,IAAM5E,EAAM,uCACZkB,EAAQ8jlB,IAAMhllB,CAAA,yDAAAD,EAAAS,EAAAU,GC7Bd,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAAI7F,EAAO+D,EAAuBlE,EAAQ,aAEtCE,EAAagE,EAAuBlE,EAAQ,mBAEhD,SAASkE,EAAuBlE,GAAO,OAAOA,GAAOA,EAAI+F,WAAa/F,EAAM,CAAEgG,QAAShG,EAAA,CAwBvF,IAAI6E,EAtBJ,SAAY7E,EAASS,EAAKU,GAGxB,IAAM+C,GAFNlE,EAAUA,GAAW,CAAC,GAED88D,SAAW98D,EAAQ2gjB,KAAOxgjB,EAAK6F,WAMpD,GAHA9B,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBzD,EAAK,CACPU,EAASA,GAAU,EAEnB,IAAK,IAAI0D,EAAI,EAAGA,EAAI,KAAMA,EACxBpE,EAAIU,EAAS0D,GAAKX,EAAKW,GAGzB,OAAOpE,CAAA,CAGT,OAAO,EAAIP,EAAW8F,SAAS9B,EAAA,EAIjC/C,EAAQ6E,QAAUnB,CAAA,uDAAA7E,EAAAS,EAAAU,GCpClB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAAI7F,EAAK+D,EAAuBlE,EAAQ,aAEpCE,EAAOgE,EAAuBlE,EAAQ,cAE1C,SAASkE,EAAuBlE,GAAO,OAAOA,GAAOA,EAAI+F,WAAa/F,EAAM,CAAEgG,QAAShG,EAAA,CAEvF,IACI6E,GAAA,EADW1E,EAAG6F,SAAS,KAAM,GAAM9F,EAAK8F,SAE5C7E,EAAQ6E,QAAUnB,CAAA,kDAAA7E,EAAAS,EAAAU,GCflB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAEgC7F,EAF5BD,GAE4BC,EAFIH,EAAQ,gBAESG,EAAI4F,WAAa5F,EAAM,CAAE6F,QAAS7F,GAMnF+D,EAJJ,SAAkBlE,GAChB,MAAuB,iBAATA,GAAqBE,EAAO8F,QAAQq7B,KAAKrhC,EAAA,EAIzDmB,EAAQ6E,QAAU9B,CAAA,oCAAAlE,EAAAS,EAAAU,GChBlB,aAEAjC,OAAOqC,eAAeJ,EAAS,aAAc,CAC3CqB,OAAA,IAEFrB,EAAQ6E,aAAA,EAER,IAEgC7F,EAF5BD,GAE4BC,EAFOH,EAAQ,mBAEMG,EAAI4F,WAAa5F,EAAM,CAAE6F,QAAS7F,GAUnF+D,EARJ,SAAiBlE,GACf,KAAK,EAAIE,EAAU8F,SAAShG,GAC1B,MAAM8D,UAAU,gBAGlB,OAAOmhC,SAASjlC,EAAK0c,OAAO,GAAI,GAAI,KAItCvb,EAAQ6E,QAAU9B,CAAA,uCAAAlE,EAAAS,EAAAU,GCpBlB,aAyEA,SAAAhB,EAAAH,GACA,OAAAA,GAAA,IAAAA,GAAA,IAAAA,GAAA,IAAAA,GAAA,UAAAA,GAAA,KAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAjEAd,OAAAqC,eAAAJ,EAAA,cACAqB,OAAA,IAKArB,EAAA+jlB,KAAA,uDACA/jlB,EAAAuqL,EAAA,UAEAvqL,EAAAgklB,gBAAA,wKACAhklB,EAAAiklB,UAAA,IAAAjklB,EAAAgklB,gBAAA,qCAIAhklB,EAAAkklB,QAAA,IAAAtgjB,OAAA,KAAA5jC,EAAA+jlB,KAAA,UACA/jlB,EAAAmklB,KAAA,IAAAvgjB,OAAA,KAAA5jC,EAAAuqL,EAAA,WACAvqL,EAAAoklB,mBAAA,IAAAxgjB,OAAA,KAAA5jC,EAAAgklB,gBAAA,UACAhklB,EAAAqklB,aAAA,IAAAzgjB,OAAA,KAAA5jC,EAAAiklB,UAAA,UACAjklB,EAAAo4kB,QAAA,IAAAx0iB,OAAA,KAAA5jC,EAAAgklB,gBAAA,KAAAhklB,EAAAiklB,UAAA,WACAjklB,EAAAsklB,WAAA,IAAA1gjB,OAAA,KAAA5jC,EAAAiklB,UAAA,WAUAjklB,EAAAm4kB,OAAA,CANA,GAFA,GACA,GAFA,GAsBAn4kB,EAAAg4kB,OAJA,SAAAn5kB,GACA,OAAAA,GAhBA,IAgBAA,GAAA,OAlBA,KAkBAA,GAjBA,KAiBAA,GAnBA,IAmBAA,GAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,SAgBAmB,EAAA+3kB,IAJA,SAAAl5kB,GACA,OA7BA,KA6BAA,GA/BA,KA+BAA,GA9BA,KA8BAA,GAhCA,IAgCAA,CAAA,EAgBAmB,EAAAi4kB,gBAAAj5kB,EAaAgB,EAAAk4kB,WAJA,SAAAr5kB,GACA,OAAAG,EAAAH,IAAAA,GAAA,IAAAA,GAAA,SAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAA,yBAAAA,EAAAS,EAAAU,GCvFA,aA0GA,SAAAhB,EAAAH,GACA,OAAAA,GAAA,IAAAA,GAAA,IAAAA,GAAA,IAAAA,GAAA,UAAAA,GAAA,KAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAlGAd,OAAAqC,eAAAJ,EAAA,cACAqB,OAAA,IAKArB,EAAA+jlB,KAAA,oDACA/jlB,EAAAuklB,gBAAA,yCACAvklB,EAAAuqL,EAAA,UAEAvqL,EAAAgklB,gBAAA,wKACAhklB,EAAAiklB,UAAA,IAAAjklB,EAAAgklB,gBAAA,qCAIAhklB,EAAAkklB,QAAA,IAAAtgjB,OAAA,KAAA5jC,EAAA+jlB,KAAA,UACA/jlB,EAAAwklB,mBAAA,IAAA5gjB,OAAA,KAAA5jC,EAAAuklB,gBAAA,UACAvklB,EAAAmklB,KAAA,IAAAvgjB,OAAA,KAAA5jC,EAAAuqL,EAAA,WACAvqL,EAAAoklB,mBAAA,IAAAxgjB,OAAA,KAAA5jC,EAAAgklB,gBAAA,UACAhklB,EAAAqklB,aAAA,IAAAzgjB,OAAA,KAAA5jC,EAAAiklB,UAAA,UACAjklB,EAAAo4kB,QAAA,IAAAx0iB,OAAA,KAAA5jC,EAAAgklB,gBAAA,KAAAhklB,EAAAiklB,UAAA,WACAjklB,EAAAsklB,WAAA,IAAA1gjB,OAAA,KAAA5jC,EAAAiklB,UAAA,WAUAjklB,EAAAm4kB,OAAA,CANA,GAFA,GACA,GAFA,GAsBAn4kB,EAAAg4kB,OAJA,SAAAn5kB,GACA,OAAAA,GAAA,GAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,SAgBAmB,EAAAyklB,iBAJA,SAAA5llB,GACA,OAAAA,GAAA,GAAAA,GAAA,QAAAA,GAAA,KAAAA,GAAAA,GAAA,IAAAA,GAAA,IAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAoBAmB,EAAA0klB,uBAJA,SAAA7llB,GACA,WAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAAA,EAAA,IAAAA,EAAA,WAAAA,GAAAA,EAAA,KAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,SAgBAmB,EAAA+3kB,IAJA,SAAAl5kB,GACA,OA3DA,KA2DAA,GA7DA,KA6DAA,GA5DA,KA4DAA,GA9DA,IA8DAA,CAAA,EAiBAmB,EAAAi4kB,gBAAAj5kB,EAaAgB,EAAAk4kB,WAJA,SAAAr5kB,GACA,OAAAG,EAAAH,IAAAA,GAAA,IAAAA,GAAA,SAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAA,yBAAAA,EAAAS,EAAAU,GCxHA,aAiCA,SAAAhB,EAAAH,GACA,OAAAA,GAAA,IAAAA,GAAA,SAAAA,GAAAA,GAAA,IAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,MAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAzBAd,OAAAqC,eAAAJ,EAAA,cACAqB,OAAA,IAMArB,EAAA2klB,mBAAA,wKACA3klB,EAAA4klB,aAAA,IAAA5klB,EAAA2klB,mBAAA,qCAIA3klB,EAAA6klB,sBAAA,IAAAjhjB,OAAA,KAAA5jC,EAAA2klB,mBAAA,UACA3klB,EAAA8klB,gBAAA,IAAAlhjB,OAAA,KAAA5jC,EAAA4klB,aAAA,UACA5klB,EAAAu4kB,WAAA,IAAA30iB,OAAA,KAAA5jC,EAAA2klB,mBAAA,KAAA3klB,EAAA4klB,aAAA,WAcA5klB,EAAAq4kB,kBAAAr5kB,EAaAgB,EAAAs4kB,aAJA,SAAAz5kB,GACA,OAAAG,EAAAH,IAAA,KAAAA,GAAA,KAAAA,GAAAA,GAAA,IAAAA,GAAA,UAAAA,GAAAA,GAAA,KAAAA,GAAA,KAAAA,GAAA,MAAAA,GAAA,oBphB/CA,CAAC,oGqhBkBD,SAASf,EAAK4F,EAAM5F,GAAM,MACJ,oBAATA,EAAsBA,EAAO,CAAEinlB,SAAS,GAC1B,iBAATjnlB,IACdigD,QAAQC,KAAK,sDACblgD,EAAO,CAAEinlB,SAAUjnlB,IAKjBA,EAAKinlB,SAAW,6EAA6E7kjB,KAAKx8B,EAAKqS,MAClG,IAAI+njB,KAAK,CAAC,SAA6Bp6jB,GAAO,CAAEqS,KAAMrS,EAAKqS,OAE7DrS,CACR,CAED,SAAS3D,EAAU2D,EAAK5F,EAAMiC,GAC5B,IAAIlC,EAAM,IAAIu1C,eACdv1C,EAAIu2C,KAAK,MAAO1wC,GAChB7F,EAAIg1C,aAAe,OACnBh1C,EAAIkhkB,OAAS,WACX/8jB,EAAOnE,EAAIk2C,SAAUj2C,EAAMiC,EAC5B,EACDlC,EAAIsJ,QAAU,WACZ42C,QAAQz6C,MAAM,0BACf,EACDzF,EAAIg4C,MACL,CAED,SAASh4C,EAAa6F,GACpB,IAAI5F,EAAM,IAAIs1C,eAEdt1C,EAAIs2C,KAAK,OAAQ1wC,GAAjB,GACA,IACE5F,EAAI+3C,MACL,CAAC,MAAOnyC,GAAK,CACd,OAAqB,KAAd5F,EAAIm2C,QAA+B,KAAdn2C,EAAIm2C,MACjC,CAGD,SAAS30C,EAAOoE,GACd,IACEA,EAAK+4iB,cAAc,IAAIuoC,WAAW,SACnC,CAAC,MAAOjllB,GACP,IAAIjC,EAAMkW,SAAS00J,YAAY,eAC/B5qK,EAAImnlB,eAAe,SAAnB,KAAwCrolB,OAAQ,EAAG,EAAG,EAAG,GACnC,IADtB,WACsD,EAAG,MACzD8G,EAAK+4iB,cAAc3+iB,EACpB,CACF,KAtDGgE,EAA4B,iBAAXlF,QAAuBA,OAAOA,SAAWA,OAC1DA,OAAyB,iBAAT+P,MAAqBA,KAAKA,OAASA,KACnDA,KAAyB,iBAAXu/C,EAAAA,GAAuBA,EAAAA,EAAOA,SAAWA,EAAAA,EACvDA,EAAAA,OADO,EAyDPxoD,EAAiB5B,EAAQ66C,WAAa,YAAYzc,KAAKyc,UAAUC,YAAc,cAAc1c,KAAKyc,UAAUC,aAAe,SAAS1c,KAAKyc,UAAUC,WAEnJ56C,EAASF,EAAQojlB,SAEA,iBAAXtolB,QAAuBA,SAAWkF,EACtC,WAAiC,EAGlC,aAAcqjlB,kBAAkB1mlB,YAAciF,EAC/C,SAAiB5F,EAAMkE,EAAMklB,GAAM,IAC/BnoB,EAAM+C,EAAQgilB,KAAOhilB,EAAQsjlB,UAC7BzhlB,EAAIqQ,SAASC,cAAc,KAC/BjS,EAAOA,GAAQlE,EAAKwH,MAAQ,WAE5B3B,EAAE0hlB,SAAWrjlB,EACb2B,EAAE2hlB,IAAM,WAKY,iBAATxnlB,GAET6F,EAAEo5C,KAAOj/C,EACL6F,EAAE4hlB,SAAWzojB,SAASyojB,OAKxBjmlB,EAAMqE,GAJN9F,EAAY8F,EAAEo5C,MACVh9C,EAASjC,EAAMkE,EAAMklB,GACrB5nB,EAAMqE,EAAGA,EAAE/D,OAAS,YAM1B+D,EAAEo5C,KAAOh+C,EAAIymlB,gBAAgB1nlB,GAC7Bia,YAAW,WAAchZ,EAAI0mlB,gBAAgB9hlB,EAAEo5C,KAAO,GAAE,KACxDhlC,YAAW,WAAczY,EAAMqE,EAAI,GAAE,GAExC,EAGC,qBAAsBg5C,UACtB,SAAiB76C,EAAME,EAAMklB,GAG7B,GAFAllB,EAAOA,GAAQF,EAAKwD,MAAQ,WAER,iBAATxD,EAUT66C,UAAU+oiB,iBAAiB5nlB,EAAIgE,EAAMolB,GAAOllB,QAT5C,GAAInE,EAAYiE,GACd/B,EAAS+B,EAAME,EAAMklB,OAChB,CACL,IAAInoB,EAAIiV,SAASC,cAAc,KAC/BlV,EAAEg+C,KAAOj7C,EACT/C,EAAEa,OAAS,SACXmY,YAAW,WAAczY,EAAMP,EAAI,GACpC,CAIJ,EAGC,SAAiBjB,EAAMD,EAAMyB,EAAM0C,GASnC,IANAA,EAAQA,GAASoyC,KAAK,GAAI,aAExBpyC,EAAMgS,SAASi3L,MACfjpM,EAAMgS,SAASnS,KAAK8jlB,UAAY,kBAGd,iBAAT7nlB,EAAmB,OAAOiC,EAASjC,EAAMD,EAAMyB,GAThB,IAWtC4nB,EAAsB,6BAAdppB,EAAKiY,KACbhX,EAAW,eAAemhC,KAAKp+B,EAAQ+f,cAAgB/f,EAAQkiD,OAC/DrgD,EAAc,eAAeu8B,KAAKyc,UAAUC,WAEhD,IAAKj5C,GAAgBujB,GAASnoB,GAAa2E,IAAyC,oBAAfo7jB,WAA4B,CAE/F,IAAI77jB,EAAS,IAAI67jB,WACjB77jB,EAAO2wC,UAAY,WACjB,IAAIlwC,EAAMT,EAAOxB,OACjBiC,EAAMC,EAAcD,EAAMA,EAAIkV,QAAQ,eAAgB,yBAClD5W,EAAOA,EAAM86B,SAASigB,KAAOr5C,EAC5Bo5B,SAAWp5B,EAChB1B,EAAQ,IACT,EACDiB,EAAO2ilB,cAAc9nlB,EACtB,KAAM,KACDymC,EAAMziC,EAAQgilB,KAAOhilB,EAAQsjlB,UAC7BpilB,EAAMuhC,EAAIihjB,gBAAgB1nlB,GAC1BkE,EAAOA,EAAM86B,SAAW95B,EACvB85B,SAASigB,KAAO/5C,EACrBhB,EAAQ,KACR+V,YAAW,WAAcwsB,EAAIkhjB,gBAAgBzilB,EAAM,GAAE,IACtD,CACF,GAGHlB,EAAQojlB,OAASljlB,EAAOkjlB,OAASljlB,EAG/B+vC,EAAOp1C,QAAUqF,uECvKnB,IAAI6jlB,EAAUlolB,EAAQ,OAMlBmolB,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdhujB,cAAc,EACdyD,aAAa,EACbwqjB,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1Br+jB,QAAQ,EACR0gB,WAAW,EACX1yB,MAAM,GAEJswkB,EAAgB,CAClB/glB,MAAM,EACNpG,QAAQ,EACRT,WAAW,EACX6nlB,QAAQ,EACR9rC,QAAQ,EACRv7iB,WAAW,EACXsnlB,OAAO,GASLC,EAAe,CACjB,UAAY,EACZ75hB,SAAS,EACT10B,cAAc,EACdyD,aAAa,EACb+M,WAAW,EACX1yB,MAAM,GAEJ0wkB,EAAe,CAAC,EAIpB,SAASC,EAAWrsjB,GAElB,OAAIwrjB,EAAQc,OAAOtsjB,GACVmsjB,EAIFC,EAAapsjB,EAAoB,WAAMyrjB,CAChD,CAXAW,EAAaZ,EAAQe,YAhBK,CACxB,UAAY,EACZvvkB,QAAQ,EACR4gB,cAAc,EACdyD,aAAa,EACb+M,WAAW,GAYbg+iB,EAAaZ,EAAQgB,MAAQL,EAY7B,IAAIpmlB,EAAiBrC,OAAOqC,eACxBw0E,EAAsB72E,OAAO62E,oBAC7Bp1E,EAAwBzB,OAAOyB,sBAC/BS,EAA2BlC,OAAOkC,yBAClCk+C,EAAiBpgD,OAAOogD,eACxB2oiB,EAAkB/olB,OAAOU,UAsC7BszC,EAAOp1C,QArCP,SAASoqlB,EAAqB5gS,EAAiB6gS,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIF,EAAiB,CACnB,IAAII,EAAqB/oiB,EAAe6oiB,GAEpCE,GAAsBA,IAAuBJ,GAC/CC,EAAqB5gS,EAAiB+gS,EAAoBD,EAE9D,CAEA,IAAIl4kB,EAAO6lE,EAAoBoygB,GAE3BxnlB,IACFuP,EAAOA,EAAKzR,OAAOkC,EAAsBwnlB,KAM3C,IAHA,IAAIG,EAAgBT,EAAWvgS,GAC3BihS,EAAgBV,EAAWM,GAEtBjolB,EAAI,EAAGA,EAAIgQ,EAAK7P,SAAUH,EAAG,CACpC,IAAIc,EAAMkP,EAAKhQ,GAEf,IAAKsnlB,EAAcxmlB,MAAUonlB,IAAaA,EAAUpnlB,OAAWunlB,IAAiBA,EAAcvnlB,OAAWsnlB,IAAiBA,EAActnlB,IAAO,CAC7I,IAAIyrE,EAAarrE,EAAyB+mlB,EAAiBnnlB,GAE3D,IAEEO,EAAe+lT,EAAiBtmT,EAAKyrE,EACvC,CAAE,MAAOhsE,GAAI,CACf,CACF,CACF,CAEA,OAAO6mT,CACT,kCC3Fa,IAAIroT,EAAE,oBAAoByE,QAAQA,OAAOmxiB,IAAI3ziB,EAAEjC,EAAEyE,OAAOmxiB,IAAI,iBAAiB,MAAM71iB,EAAEC,EAAEyE,OAAOmxiB,IAAI,gBAAgB,MAAMp0iB,EAAExB,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAM5xiB,EAAEhE,EAAEyE,OAAOmxiB,IAAI,qBAAqB,MAAM1xiB,EAAElE,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAMxshB,EAAEppB,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAMzwiB,EAAEnF,EAAEyE,OAAOmxiB,IAAI,iBAAiB,MAAMnvgB,EAAEzmC,EAAEyE,OAAOmxiB,IAAI,oBAAoB,MAAM1wiB,EAAElF,EAAEyE,OAAOmxiB,IAAI,yBAAyB,MAAM10iB,EAAElB,EAAEyE,OAAOmxiB,IAAI,qBAAqB,MAAMv1iB,EAAEL,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAM1viB,EAAElG,EACpfyE,OAAOmxiB,IAAI,uBAAuB,MAAM1ziB,EAAElC,EAAEyE,OAAOmxiB,IAAI,cAAc,MAAM70iB,EAAEf,EAAEyE,OAAOmxiB,IAAI,cAAc,MAAMjxiB,EAAE3E,EAAEyE,OAAOmxiB,IAAI,eAAe,MAAM5xc,EAAEhkG,EAAEyE,OAAOmxiB,IAAI,qBAAqB,MAAMv0hB,EAAErhB,EAAEyE,OAAOmxiB,IAAI,mBAAmB,MAAM3xiB,EAAEjE,EAAEyE,OAAOmxiB,IAAI,eAAe,MAClQ,SAASt0hB,EAAE1b,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAI+G,EAAE/G,EAAE2jlB,SAAS,OAAO58kB,GAAG,KAAK1K,EAAE,OAAO2D,EAAEA,EAAEqS,MAAQ,KAAKwuB,EAAE,KAAKvhC,EAAE,KAAK1D,EAAE,KAAK0C,EAAE,KAAKF,EAAE,KAAK3D,EAAE,OAAOuF,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE2jlB,UAAY,KAAKpklB,EAAE,KAAKjE,EAAE,KAAKH,EAAE,KAAKmB,EAAE,KAAKknB,EAAE,OAAOxjB,EAAE,QAAQ,OAAO+G,GAAG,KAAK5M,EAAE,OAAO4M,EAAE,CAAC,CAAC,SAAS8if,EAAE7pf,GAAG,OAAO0b,EAAE1b,KAAKV,CAAC,CAACrG,EAAQ2qlB,UAAU/ijB,EAAE5nC,EAAQ4qlB,eAAevklB,EAAErG,EAAQ6qlB,gBAAgBvklB,EAAEtG,EAAQ8qlB,gBAAgBvgkB,EAAEvqB,EAAQ+qlB,QAAQ3nlB,EAAEpD,EAAQiqlB,WAAW5nlB,EAAErC,EAAQkrE,SAASvoE,EAAE3C,EAAQgrlB,KAAK9olB,EAAElC,EAAQkqlB,KAAK7mlB,EAAErD,EAAQirlB,OAAO/plB,EAChflB,EAAQkrlB,SAAS7llB,EAAErF,EAAQmrlB,WAAWhmlB,EAAEnF,EAAQorlB,SAAS5plB,EAAExB,EAAQqrlB,YAAY,SAAStklB,GAAG,OAAO6pf,EAAE7pf,IAAI0b,EAAE1b,KAAK6gC,CAAC,EAAE5nC,EAAQsrlB,iBAAiB16F,EAAE5wf,EAAQurlB,kBAAkB,SAASxklB,GAAG,OAAO0b,EAAE1b,KAAKT,CAAC,EAAEtG,EAAQwrlB,kBAAkB,SAASzklB,GAAG,OAAO0b,EAAE1b,KAAKwjB,CAAC,EAAEvqB,EAAQq6T,UAAU,SAAStzT,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE2jlB,WAAWtnlB,CAAC,EAAEpD,EAAQyrlB,aAAa,SAAS1klB,GAAG,OAAO0b,EAAE1b,KAAK1E,CAAC,EAAErC,EAAQ0rlB,WAAW,SAAS3klB,GAAG,OAAO0b,EAAE1b,KAAKpE,CAAC,EAAE3C,EAAQ2rlB,OAAO,SAAS5klB,GAAG,OAAO0b,EAAE1b,KAAK7E,CAAC,EAC1dlC,EAAQgqlB,OAAO,SAASjjlB,GAAG,OAAO0b,EAAE1b,KAAK1D,CAAC,EAAErD,EAAQ4rlB,SAAS,SAAS7klB,GAAG,OAAO0b,EAAE1b,KAAK7F,CAAC,EAAElB,EAAQ6rlB,WAAW,SAAS9klB,GAAG,OAAO0b,EAAE1b,KAAK1B,CAAC,EAAErF,EAAQ8rlB,aAAa,SAAS/klB,GAAG,OAAO0b,EAAE1b,KAAK5B,CAAC,EAAEnF,EAAQ+rlB,WAAW,SAAShllB,GAAG,OAAO0b,EAAE1b,KAAKvF,CAAC,EAC1OxB,EAAQgslB,mBAAmB,SAASjllB,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIpE,GAAGoE,IAAIV,GAAGU,IAAI1B,GAAG0B,IAAI5B,GAAG4B,IAAIvF,GAAGuF,IAAIM,GAAG,kBAAkBN,GAAG,OAAOA,IAAIA,EAAE2jlB,WAAWxolB,GAAG6E,EAAE2jlB,WAAWrnlB,GAAG0D,EAAE2jlB,WAAWngkB,GAAGxjB,EAAE2jlB,WAAWpklB,GAAGS,EAAE2jlB,WAAWrolB,GAAG0E,EAAE2jlB,WAAWvlf,GAAGp+F,EAAE2jlB,WAAWlokB,GAAGzb,EAAE2jlB,WAAWtllB,GAAG2B,EAAE2jlB,WAAW5klB,EAAE,EAAE9F,EAAQislB,OAAOxpkB,sCCXjU2yB,EAAOp1C,QAAU,EAAjBo1C,0BCFFp1C,EAAQu4C,KAAO,SAAUltC,EAAQuW,EAAQsqkB,EAAMC,EAAMhshB,GACnD,IAAIx9D,EAAG0D,EACH+llB,EAAiB,EAATjshB,EAAcgshB,EAAO,EAC7BE,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTnqlB,EAAI8plB,EAAQ/rhB,EAAS,EAAK,EAC1Bj/D,EAAIgrlB,GAAQ,EAAI,EAChB/plB,EAAIkJ,EAAOuW,EAASxf,GAOxB,IALAA,GAAKlB,EAELyB,EAAIR,GAAM,IAAOoqlB,GAAU,EAC3BpqlB,KAAQoqlB,EACRA,GAASH,EACFG,EAAQ,EAAG5plB,EAAS,IAAJA,EAAW0I,EAAOuW,EAASxf,GAAIA,GAAKlB,EAAGqrlB,GAAS,GAKvE,IAHAlmlB,EAAI1D,GAAM,IAAO4plB,GAAU,EAC3B5plB,KAAQ4plB,EACRA,GAASJ,EACFI,EAAQ,EAAGlmlB,EAAS,IAAJA,EAAWgF,EAAOuW,EAASxf,GAAIA,GAAKlB,EAAGqrlB,GAAS,GAEvE,GAAU,IAAN5plB,EACFA,EAAI,EAAI2plB,MACH,IAAI3plB,IAAM0plB,EACf,OAAOhmlB,EAAIw5I,IAAsBxrF,KAAdlyD,GAAK,EAAI,GAE5BkE,GAAQ6G,KAAKmB,IAAI,EAAG89kB,GACpBxplB,GAAQ2plB,CACV,CACA,OAAQnqlB,GAAK,EAAI,GAAKkE,EAAI6G,KAAKmB,IAAI,EAAG1L,EAAIwplB,EAC5C,EAEAnslB,EAAQo/C,MAAQ,SAAU/zC,EAAQ3G,EAAOkd,EAAQsqkB,EAAMC,EAAMhshB,GAC3D,IAAIx9D,EAAG0D,EAAGjD,EACNgplB,EAAiB,EAATjshB,EAAcgshB,EAAO,EAC7BE,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBx8C,EAAe,KAATs8C,EAAcj/kB,KAAKmB,IAAI,GAAI,IAAMnB,KAAKmB,IAAI,GAAI,IAAM,EAC1DjM,EAAI8plB,EAAO,EAAK/rhB,EAAS,EACzBj/D,EAAIgrlB,EAAO,GAAK,EAChB/plB,EAAIuC,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQwI,KAAKkR,IAAI1Z,GAEbiX,MAAMjX,IAAUA,IAAU2vD,KAC5BhuD,EAAIsV,MAAMjX,GAAS,EAAI,EACvB/B,EAAI0plB,IAEJ1plB,EAAIuK,KAAKC,MAAMD,KAAK0rH,IAAIl0H,GAASwI,KAAK8kjB,KAClCttjB,GAAStB,EAAI8J,KAAKmB,IAAI,GAAI1L,IAAM,IAClCA,IACAS,GAAK,IAGLsB,GADE/B,EAAI2plB,GAAS,EACNz8C,EAAKzsiB,EAELysiB,EAAK3iiB,KAAKmB,IAAI,EAAG,EAAIi+kB,IAEpBlplB,GAAK,IACfT,IACAS,GAAK,GAGHT,EAAI2plB,GAASD,GACfhmlB,EAAI,EACJ1D,EAAI0plB,GACK1plB,EAAI2plB,GAAS,GACtBjmlB,GAAM3B,EAAQtB,EAAK,GAAK8J,KAAKmB,IAAI,EAAG89kB,GACpCxplB,GAAQ2plB,IAERjmlB,EAAI3B,EAAQwI,KAAKmB,IAAI,EAAGi+kB,EAAQ,GAAKp/kB,KAAKmB,IAAI,EAAG89kB,GACjDxplB,EAAI,IAIDwplB,GAAQ,EAAG9glB,EAAOuW,EAASxf,GAAS,IAAJiE,EAAUjE,GAAKlB,EAAGmF,GAAK,IAAK8llB,GAAQ,GAI3E,IAFAxplB,EAAKA,GAAKwplB,EAAQ9llB,EAClB+llB,GAAQD,EACDC,EAAO,EAAG/glB,EAAOuW,EAASxf,GAAS,IAAJO,EAAUP,GAAKlB,EAAGyB,GAAK,IAAKyplB,GAAQ,GAE1E/glB,EAAOuW,EAASxf,EAAIlB,IAAU,IAAJiB,CAC5B,qFClFA,SAASqqlB,EAAcpmlB,GACnB,YAAa,IAANA,GAAsB,OAANA,CAC3B,CAIA,SAASsyC,EAAYtyC,GACjB,YAAa,IAANA,CACX,CAEA,IAAIqmlB,EAAiB,CACjBC,oBAAqB,EACrBC,qBAAsB,EACtBC,wBAAyB,EACzBC,qBAAsB,EACtBC,uBAAwB,EACxBC,sBAAuB,GAE3B,SAASz1kB,EAAc8B,EAAMlG,EAAO85kB,GAChC,IACI52kB,EAKA4uB,EANAiojB,EAAc3qlB,UAEd+W,EAAM,KACNnW,EAAM,KACNuR,EAAY,KACZsD,EAAQ,EAERm1kB,EAAW5qlB,UAAUC,OAAS,EAClC,GAAiB,IAAb2qlB,EACA92kB,EAAW42kB,OAEV,GAAIE,EAAW,EAEhB,IADA92kB,EAAW,GACJ82kB,KAAa,GAChB92kB,EAAS82kB,GAAYD,EAAYC,EAAW,GAGpD,GAhCoB,kBAgCP9zkB,EA0BR,CAQD,GAPArB,EAAQ,EACH2gC,EAAYtiC,KACRlD,IACDA,EAAQ,CAAC,GAEbA,EAAMkD,SAAWA,IAEhBo2kB,EAAct5kB,GAEf,IAAK,IAAIi6kB,KADTnojB,EAAW,CAAC,EACO9xB,EACA,QAAXi6kB,EACAjqlB,EAAMgQ,EAAMhQ,IAEI,QAAXiqlB,EACL9zkB,EAAMnG,EAAMmG,IAEoB,IAA3BozkB,EAAeU,IACf9zkB,IACDA,EAAM,CAAC,GAEXA,EAAI8zkB,GAAUj6kB,EAAMi6kB,IAGpBnojB,EAASmojB,GAAUj6kB,EAAMi6kB,GAIrC,OAAO3+Y,EAAAA,EAAAA,IAAqBz2L,EAAOqB,EAAM4rB,EAAU9hC,EAAKmW,EAC5D,CArDI,GADAtB,GAAQq1kB,EAAAA,EAAAA,IAAwBh0kB,IAC3BozkB,EAAct5kB,GAEf,IAAK,IAAIskB,KADTwN,EAAW,CAAC,EACK9xB,EACA,cAATskB,GAAiC,UAATA,EACxB/iB,EAAYvB,EAAMskB,GAEJ,QAATA,EACLt0B,EAAMgQ,EAAMhQ,IAEE,aAATs0B,GAAuBkhB,EAAYtiC,GACxCA,EAAWlD,EAAMkD,SAEH,QAATohB,EACLne,EAAMnG,EAAMmG,KAGC,oBAATme,IACAzf,GAAS,MAEbitB,EAASxN,GAAQtkB,EAAMskB,IAmCvC,OAAY,KAARzf,GACOm4L,EAAAA,EAAAA,IAA4B,IAAbg9Y,EAAiB,CAAC92kB,GAAYA,EAAU,EAAyBlT,IAEpF2lM,EAAAA,EAAAA,IAAY9wL,EAAOqB,EAAM3E,EAAW2B,EAAU,EAAyB4uB,EAAU9hC,EAAKmW,EACjG,2hBClGA,IAAIoQ,EAAUloB,MAAMkoB,QACpB,SAAS4jkB,EAAiBjnlB,GACtB,IAAIgT,SAAchT,EAClB,MAAgB,WAATgT,GAA8B,WAATA,CAChC,CACA,SAASozkB,EAAcpmlB,GACnB,YAAa,IAANA,GAAsB,OAANA,CAC3B,CACA,SAAS0na,EAAU1na,GACf,OAAa,OAANA,IAAoB,IAANA,IAAqB,IAANA,QAAoB,IAANA,CACtD,CACA,SAASyU,EAAWzU,GAChB,MAAoB,oBAANA,CAClB,CACA,SAASq4C,EAASr4C,GACd,MAAoB,kBAANA,CAClB,CAIA,SAASyQ,EAAOzQ,GACZ,OAAa,OAANA,CACX,CAIA,SAASknlB,EAAYh8gB,EAAOC,GACxB,IAAInkE,EAAM,CAAC,EACX,GAAIkkE,EACA,IAAK,IAAIpuE,KAAOouE,EACZlkE,EAAIlK,GAAOouE,EAAMpuE,GAGzB,GAAIquE,EACA,IAAK,IAAIg8gB,KAASh8gB,EACdnkE,EAAImglB,GAASh8gB,EAAOg8gB,GAG5B,OAAOnglB,CACX,CAeA,SAASoglB,EAAkBpnlB,GACvB,OAAQyQ,EAAOzQ,IAAmB,kBAANA,CAChC,CAIA,IAAIkT,EAAY,CAAC,EACb4xD,EAAW,KACf,SAASuihB,EAAmB9klB,GACxB,OAAOA,EAAKiW,OAAO,GAAG1C,aAC1B,CACA,SAAS/D,EAAYY,EAAWhC,GAC5BgC,EAAUZ,YAAYpB,EAC1B,CACA,SAAS22kB,EAAe30kB,EAAW40kB,EAAS/tZ,GACpC/oL,EAAO+oL,GACPznL,EAAYY,EAAW40kB,GAGvB50kB,EAAUoE,aAAawwkB,EAAS/tZ,EAExC,CAUA,SAASjnL,EAAYI,EAAW23H,GAC5B33H,EAAUJ,YAAY+3H,EAC1B,CACA,SAASk9c,EAAQC,GACb,IAAK,IAAIzrlB,EAAI,EAAGA,EAAIyrlB,EAAQtrlB,OAAQH,IAChCyrlB,EAAQzrlB,IAEhB,CACA,SAAS0rlB,EAAeh1kB,EAAOi1kB,EAAWh2kB,GACtC,IAAI3B,EAAW0C,EAAM1C,SACrB,OAAY,EAAR2B,EACO3B,EAASd,IAER,KAARyC,EAC4B,IAArBe,EAAMhB,WAA0C1B,EAAWA,EAAS23kB,EAAY,EAAI33kB,EAAS7T,OAAS,GAE1G6T,CACX,CACA,SAASf,EAAiByD,EAAOi1kB,GAE7B,IADA,IAAIh2kB,EACGe,GAAO,CAEV,GAAY,MADZf,EAAQe,EAAMf,OAEV,OAAOe,EAAM/B,IAEjB+B,EAAQg1kB,EAAeh1kB,EAAOi1kB,EAAWh2kB,EAC7C,CACA,OAAO,IACX,CACA,SAASi2kB,EAAel1kB,EAAOC,GAC3B,EAAG,CACC,IAAIhB,EAAQe,EAAMf,MAClB,GAAY,KAARA,EAEA,YADAY,EAAYI,EAAWD,EAAM/B,KAGjC,IAAIX,EAAW0C,EAAM1C,SAOrB,GANY,EAAR2B,IACAe,EAAQ1C,EAASd,KAET,EAARyC,IACAe,EAAQ1C,GAEA,KAAR2B,EAA6B,CAC7B,GAAyB,IAArBe,EAAMhB,WAGL,CACD,IAAK,IAAI1V,EAAI,EAAGiO,EAAM+F,EAAS7T,OAAQH,EAAIiO,IAAOjO,EAC9C4rlB,EAAe53kB,EAAShU,GAAI2W,GAEhC,MACJ,CAPID,EAAQ1C,CAQhB,CACJ,OAAS0C,EACb,CACA,SAASm1kB,EAAan1kB,EAAOC,EAAW6mL,GACpC,EAAG,CACC,IAAI7nL,EAAQe,EAAMf,MAClB,GAAY,KAARA,EAEA,YADA21kB,EAAe30kB,EAAWD,EAAM/B,IAAK6oL,GAGzC,IAAIxpL,EAAW0C,EAAM1C,SAOrB,GANY,EAAR2B,IACAe,EAAQ1C,EAASd,KAET,EAARyC,IACAe,EAAQ1C,GAEA,KAAR2B,EAA6B,CAC7B,GAAyB,IAArBe,EAAMhB,WAGL,CACD,IAAK,IAAI1V,EAAI,EAAGiO,EAAM+F,EAAS7T,OAAQH,EAAIiO,IAAOjO,EAC9C6rlB,EAAa73kB,EAAShU,GAAI2W,EAAW6mL,GAEzC,MACJ,CAPI9mL,EAAQ1C,CAQhB,CACJ,OAAS0C,EACb,CACA,SAASo1kB,EAAmB30kB,EAAUvG,EAAWhH,GAC7C,OAAIuN,EAAS1X,YAAY4nlB,yBACd6D,EAAYthlB,EAAOuN,EAAS1X,YAAY4nlB,yBAAyBz2kB,EAAWhH,IAEhFA,CACX,CACA,IAAImilB,EAAc,CACdrolB,GAAG,GAEH8W,EAAU,CACVwxkB,oBAAqB,KACrBvlZ,YAAa,KACbwlZ,eAAgB,MAEpB,SAASC,EAAev3kB,EAAKX,GACzBW,EAAIwB,YAAcnC,CACtB,CAEA,SAASm4kB,EAAyBC,EAAWC,GACzC,OAAQjB,EAAkBgB,IACtBA,EAAUrsjB,QAAUssjB,EAAUtsjB,OAC9BqsjB,EAAU7klB,OAAS8klB,EAAU9klB,IACrC,CACA,SAAS+klB,EAAqBjngB,EAAIv7E,GAC9B,IAAK,IAAIg0B,KAAYh0B,OAxKR,IAyKOu7E,EAAGvnD,KACfunD,EAAGvnD,GAAYh0B,EAAKg0B,IAG5B,OAAOunD,CACX,CACA,SAASkngB,EAAU9tlB,EAAQ+tlB,GACvB,QAAS/zkB,EAAWha,KAAYA,EAAO+tlB,IAAO,EAClD,CAEA,IAAIC,EAAY,IAChB,SAAS3yD,EAAEpkhB,EAAY1B,EAAU3B,EAAWsD,EAAO7U,EAAKgQ,EAAOmG,EAAKD,GAChExX,KAAKkW,WAAaA,EAClBlW,KAAKwU,SAAWA,EAChBxU,KAAK6S,UAAYA,EACjB7S,KAAKmV,IAAM,KACXnV,KAAKmW,MAAQA,EACbnW,KAAKsB,SAAc,IAARA,EAAiB,KAAOA,EACnCtB,KAAKsR,WAAkB,IAAVA,EAAmB,KAAOA,EACvCtR,KAAKyX,SAAc,IAARA,EAAiB,KAAOA,EACnCzX,KAAKwX,KAAOA,CAChB,CACA,SAASyvL,EAAY9wL,EAAOqB,EAAM3E,EAAW2B,EAAU0B,EAAY5E,EAAOhQ,EAAKmW,GAC3E,IAAIy1kB,OAA2B,IAAfh3kB,EAAwB,EAA6BA,EACjEgB,EAAQ,IAAIojhB,EAAE4yD,EAAW14kB,EAAU3B,EAAWsD,EAAO7U,EAAKgQ,EAAOmG,EAAKD,GAO1E,OANIwD,EAAQisL,aACRjsL,EAAQisL,YAAY/vL,GAEN,IAAdg2kB,GACAC,EAAkBj2kB,EAAOA,EAAM1C,UAE5B0C,CACX,CAqCA,SAAS01L,EAAqBz2L,EAAOqB,EAAMlG,EAAOhQ,EAAKmW,GACnDtB,EAbJ,SAA+BA,EAAOqB,GAClC,OAAY,GAARrB,EACOA,EAEPqB,EAAKtX,WAAasX,EAAKtX,UAAU4Y,OAC1B,EAEPtB,EAAKsB,OACE,MAEJ,CACX,CAEYs0kB,CAAsBj3kB,EAAOqB,GACrC,IAAIN,EAAQ,IAAIojhB,EAAE,EAA4B,KAAM,KAAMnkhB,EAAO7U,EAzBrE,SAA2B6U,EAAOqB,EAAMlG,GAEpC,IAAIooB,GAAwB,MAARvjB,EAAiCqB,EAAKsB,OAAStB,GAAMkiB,aACzE,OAAIkxjB,EAAclxjB,GACPpoB,EAEPs5kB,EAAct5kB,GACPo6kB,EAAYhyjB,EAAc,MAE9BozjB,EAAqBx7kB,EAAOooB,EACvC,CAe0E2zjB,CAAkBl3kB,EAAOqB,EAAMlG,GAtCzG,SAA2B6E,EAAOqB,EAAMC,GACpC,GAAY,EAARtB,EACA,OAAOsB,EAEX,IAAI61kB,GAAwB,MAARn3kB,EAAiCqB,EAAKsB,OAAStB,GAAM81kB,aACzE,OAAI1C,EAAc0C,GACP71kB,EAEPmzkB,EAAcnzkB,GACP61kB,EAEJR,EAAqBr1kB,EAAK61kB,EACrC,CA0BiHC,CAAkBp3kB,EAAOqB,EAAMC,GAAMD,GAIlJ,OAHIwD,EAAQisL,aACRjsL,EAAQisL,YAAY/vL,GAEjBA,CACX,CACA,SAASs2kB,EAAgBn2kB,EAAM/V,GAC3B,OAAO,IAAIg5hB,EAAE,EAA4BswD,EAAcvzkB,KAAkB,IAATA,IAA0B,IAATA,EAAiB,GAAKA,EAAM,KAAM,GAAe/V,EAAK,KAAM,KAAM,KACvJ,CACA,SAASgtM,EAAe95L,EAAU0B,EAAY5U,GAC1C,IAAIu5kB,EAAW5zY,EAAY,KAAqB,KAAqB,KAAMzyL,EAAU0B,EAAY,KAAM5U,EAAK,MAC5G,OAAQu5kB,EAAS3kkB,YACb,KAAK,EACD2kkB,EAASrmkB,SAAWi5kB,IACpB5S,EAAS3kkB,WAAa,EACtB,MACJ,KAAK,GACD2kkB,EAASrmkB,SAAW,CAACg5kB,EAAgBh5kB,IACrCqmkB,EAAS3kkB,WAAa,EAG9B,OAAO2kkB,CACX,CACA,SAAS/lgB,EAAe59D,GACpB,IAAI5F,EAAQ4F,EAAM5F,MAClB,GAAIA,EAAO,CACP,IAAI6E,EAAQe,EAAMf,MACN,IAARA,SACuB,IAAnB7E,EAAMkD,UAAuBo2kB,EAAc1zkB,EAAM1C,WACjD24kB,EAAkBj2kB,EAAO5F,EAAMkD,eAEX,IAApBlD,EAAMuB,YACF+3kB,EAAc1zkB,EAAMrE,aACpBqE,EAAMrE,UAAYvB,EAAMuB,WAAa,MAEzCvB,EAAMuB,eAAYtU,SAGR,IAAd+S,EAAMhQ,MACN4V,EAAM5V,IAAMgQ,EAAMhQ,IAClBgQ,EAAMhQ,SAAM/C,QAEE,IAAd+S,EAAMmG,MAEFP,EAAMO,IADE,EAARtB,EACYu1kB,EAAYx0kB,EAAMO,IAAKnG,EAAMmG,KAG7BnG,EAAMmG,IAEtBnG,EAAMmG,SAAMlZ,EAEpB,CACA,OAAO2Y,CACX,CAWA,SAASw2kB,EAAYC,GACjB,IAAIx3kB,GAA8B,MAAtBw3kB,EAAax3kB,MACrB7E,EAAQq8kB,EAAar8kB,MACzB,GAAY,GAAR6E,IACKlB,EAAO3D,GAAQ,CAChB,IAAIs8kB,EAAet8kB,EAEnB,IAAK,IAAIhQ,KADTgQ,EAAQ,CAAC,EACOs8kB,EACZt8kB,EAAMhQ,GAAOsslB,EAAatslB,EAElC,CAEJ,OAAsC,KAAzB,KAAR6U,GACM,IAAImkhB,EAAEqzD,EAAaz3kB,WAAYy3kB,EAAan5kB,SAAUm5kB,EAAa96kB,UAAWsD,EAAOw3kB,EAAarslB,IAAKgQ,EAAOq8kB,EAAal2kB,IAAKk2kB,EAAan2kB,MAlB5J,SAAuBm2kB,GACnB,IAAIE,EAAcF,EAAan5kB,SAC3B0B,EAAay3kB,EAAaz3kB,WAC9B,OAAOo4L,EAA8B,IAAfp4L,EAA0Cw3kB,EAAYG,GAAeA,EAAYhvlB,IAAI6ulB,GAAcx3kB,EAAYy3kB,EAAarslB,IACtJ,CAgBWwslB,CAAcH,EACzB,CACA,SAASF,IACL,OAAOD,EAAgB,GAAI,KAC/B,CAKA,SAASO,EAAiBlykB,EAAO3Y,EAAQ6Z,EAAOk/d,GAC5C,IAAK,IAAIxte,EAAMoN,EAAMlb,OAAQoc,EAAQtO,EAAKsO,IAAS,CAC/C,IAAItc,EAAIob,EAAMkB,GACd,IAAKmvZ,EAAUzra,GAAI,CACf,IAAIutlB,EAAS/xG,EAAagxG,EAAYlwkB,EACtC,GAAI8K,EAAQpnB,GACRstlB,EAAiBttlB,EAAGyC,EAAQ,EAAG8qlB,OAE9B,CACD,GAAIvC,EAAiBhrlB,GACjBA,EAAI+slB,EAAgB/slB,EAAGutlB,OAEtB,CACD,IAAIxkO,EAAS/oX,EAAEa,IACX2slB,EAAgBpxiB,EAAS2sU,IAAWA,EAAO,KAAOyjO,GACxC,MAAVxslB,EAAE0V,OAAyC83kB,KAC3CxtlB,EAAIitlB,EAAYjtlB,IAEpBA,EAAE0V,OAAS,MACN83kB,EAQIzkO,EAAO9jV,UAAU,EAAGu2c,EAAWt7e,UAAYs7e,IAChDx7e,EAAEa,IAAM26e,EAAazyH,GARjBv0W,EAAOu0W,GACP/oX,EAAEa,IAAM0slB,EAGRvtlB,EAAEa,IAAM26e,EAAazyH,CAMjC,CACAtmX,EAAOoB,KAAK7D,EAChB,CACJ,CACJ,CACJ,CACA,SAAS+qlB,EAAwBh0kB,GAC7B,OAAQA,GACJ,IAAK,MACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,IACX,IAAK,WACD,OAAO,IACX,KAAK8xD,EACD,OAAO,KACX,QACI,OAAO,EAEnB,CACA,SAAS6jhB,EAAkBj2kB,EAAO1C,GAC9B,IAAI05kB,EACAC,EAAgB,EAEpB,GAAIjiL,EAAU13Z,GACV05kB,EAAc15kB,OAEb,GAAIi3kB,EAAiBj3kB,GACtB25kB,EAAgB,GAChBD,EAAc15kB,OAEb,GAAIqT,EAAQrT,GAAW,CAExB,IADA,IAAI/F,EAAM+F,EAAS7T,OACVH,EAAI,EAAGA,EAAIiO,IAAOjO,EAAG,CAC1B,IAAIC,EAAI+T,EAAShU,GACjB,GAAI0ra,EAAUzra,IAAMonB,EAAQpnB,GAAI,CAC5BytlB,EAAcA,GAAe15kB,EAAS2I,MAAM,EAAG3c,GAC/CutlB,EAAiBv5kB,EAAU05kB,EAAa1tlB,EAAG,IAC3C,KACJ,CACK,GAAIirlB,EAAiBhrlB,IACtBytlB,EAAcA,GAAe15kB,EAAS2I,MAAM,EAAG3c,IACnC8D,KAAKkplB,EAAgB/slB,EAAGwslB,EAAYzslB,QAE/C,CACD,IAAIc,EAAMb,EAAEa,IACR8slB,GAA0B,MAAV3tlB,EAAE0V,OAAyC,EAC3Dk4kB,EAAYp5kB,EAAO3T,GACnBgtlB,EAAazxiB,EAASv7C,IAAQA,EAAI,KAAO2rlB,EACzCmB,GAAgBC,GAAaC,GAC7BJ,EAAcA,GAAe15kB,EAAS2I,MAAM,EAAG3c,IAC3C4tlB,GAAgBE,KAChB7tlB,EAAIitlB,EAAYjtlB,KAEhB4tlB,GAAaC,KACb7tlB,EAAEa,IAAM2rlB,EAAYzslB,GAExB0tlB,EAAY5plB,KAAK7D,IAEZytlB,GACLA,EAAY5plB,KAAK7D,GAErBA,EAAE0V,OAAS,KACf,CACJ,CAGIg4kB,EADuB,KAD3BD,EAAcA,GAAe15kB,GACb7T,OACI,EAGA,CAExB,MAEIutlB,EAAc15kB,GACF2B,OAAS,MACA,MAAjB3B,EAAS2B,QACT+3kB,EAAcR,EAAYl5kB,IAE9B25kB,EAAgB,EAIpB,OAFAj3kB,EAAM1C,SAAW05kB,EACjBh3kB,EAAMhB,WAAai4kB,EACZj3kB,CACX,CACA,SAASq3kB,EAAc1hlB,GACnB,OAAIq/Z,EAAUr/Z,IAAU4+kB,EAAiB5+kB,GAC9B2glB,EAAgB3glB,EAAO,MAE9Bgb,EAAQhb,GACDyhM,EAAezhM,EAAO,EAAyB,MAErC,MAAdA,EAAMsJ,MAA4Bu3kB,EAAY7glB,GAASA,CAClE,CAEA,IAAI2hlB,EAAU,+BACVC,EAAQ,uCACR9tb,EAAa,CACb,gBAAiB6tb,EACjB,gBAAiBA,EACjB,aAAcA,EACd,aAAcA,EACd,aAAcA,EACd,cAAeA,EACf,aAAcA,EACd,WAAYC,EACZ,WAAYA,EACZ,YAAaA,GAGjB,SAASC,EAAwBxqlB,GAC7B,MAAO,CACH+kM,QAAS/kM,EACTyqlB,WAAYzqlB,EACZimF,UAAWjmF,EACXkmF,WAAYlmF,EACZi9E,UAAWj9E,EACX0qlB,WAAY1qlB,EACZomF,QAASpmF,EACT2qlB,YAAa3qlB,EACb4qlB,YAAa5qlB,EACb6qlB,UAAW7qlB,EACX8qlB,WAAY9qlB,EACZ+qlB,YAAa/qlB,EACbgrlB,aAAchrlB,EAEtB,CACA,IAAIirlB,EAAsBT,EAAwB,GAC9CU,EAAiBV,EAAwB,MACzCW,EAAkBX,GAAwB,GAC9C,SAASY,EAA0BvolB,EAAMoO,GACrC,IAAIo6kB,EAAep6kB,EAAIq6kB,IASvB,OARKD,IACDA,EAAep6kB,EAAIq6kB,IAAMd,EAAwB,OAEhDa,EAAaxolB,IACsB,MAA9BoolB,EAAoBpolB,KACtBqolB,EAAerolB,GAsG3B,SAA+BA,GAC3B,IAAI0olB,EAAyB,YAAT1olB,GAA+B,eAATA,EAlB9C,SAAwBA,GACpB,OAAO,SAAUw5B,GACQ,IAAjBA,EAAMrP,OAOVw+jB,EAAenvjB,GAAO,EAAMx5B,EAAM4olB,GAAsBpvjB,IAHpDA,EAAM2gI,iBAId,CACJ,CAOsE0ub,CAAe7olB,GANrF,SAAmBA,GACf,OAAO,SAAUw5B,GACbmvjB,EAAenvjB,GAAO,EAAOx5B,EAAM4olB,GAAsBpvjB,GAC7D,CACJ,CAE6FsvjB,CAAU9olB,GAEnG,OADA0O,SAAS4rB,iBAAiBwqjB,EAAmB9klB,GAAO0olB,GAC7CA,CACX,CA1GmCK,CAAsB/olB,IAG9CwolB,CACX,CACA,SAASQ,EAAsBhplB,EAAMoO,GACjC,IAAIo6kB,EAAep6kB,EAAIq6kB,IACnBD,GAAgBA,EAAaxolB,KACO,MAA9BoolB,EAAoBpolB,KACtB0O,SAASi/B,oBAAoBm3iB,EAAmB9klB,GAAOqolB,EAAerolB,IACtEqolB,EAAerolB,GAAQ,MAE3BwolB,EAAaxolB,GAAQ,KAE7B,CAmBA,SAAS2olB,EAAenvjB,EAAOgxU,EAASxqW,EAAMozJ,GAC1C,IAAIhlJ,EAJR,SAAuBorB,GACnB,OAAOtnB,EAAWsnB,EAAM4wI,cAAgB5wI,EAAM4wI,eAAe,GAAK5wI,EAAMl/B,MAC5E,CAEc2ulB,CAAczvjB,GACxB,EAAG,CAIC,GAAIgxU,GAAWp8V,EAAIqV,SACf,OAEJ,IAAI+kkB,EAAep6kB,EAAIq6kB,IACvB,GAAID,EAAc,CACd,IAAIU,EAAeV,EAAaxolB,GAChC,GAAIkplB,IAEA91b,EAAUhlJ,IAAMA,EAChB86kB,EAAa1vjB,MAAQ0vjB,EAAa1vjB,MAAM0vjB,EAAalolB,KAAMw4B,GAAS0vjB,EAAa1vjB,GAC7EA,EAAM2vjB,cACN,MAGZ,CACA/6kB,EAAMA,EAAIW,UACd,QAAUb,EAAOE,GACrB,CACA,SAAS+rJ,IACLlhK,KAAKkwlB,cAAe,EACflwlB,KAAKmwlB,6BACNnwlB,KAAK6iK,0BAEb,CACA,SAASjM,KACL,OAAO52J,KAAK8iK,gBAChB,CACA,SAASjD,KACL,OAAO7/J,KAAKkwlB,YAChB,CACA,SAASP,GAAsBpvjB,GAE3B,IAAI45H,EAAY,CACZhlJ,IAAKM,UAWT,OATA8qB,EAAMq2H,mBAAqBA,GAC3Br2H,EAAMs/H,qBAAuBA,GAC7Bt/H,EAAM2gI,gBAAkBA,EACxB1hK,OAAOqC,eAAe0+B,EAAO,gBAAiB,CAC1CinB,cAAc,EACd5gD,IAAK,WACD,OAAOuzJ,EAAUhlJ,GACrB,IAEGglJ,CACX,CA8BA,SAASi2b,GAAqB9+kB,EAAOxS,EAAYiC,GAC7C,GAAIuQ,EAAMxS,GAAa,CACnB,IAAIia,EAAWzH,EAAMxS,GACjBia,EAASwnB,MACTxnB,EAASwnB,MAAMxnB,EAAShR,KAAMhH,GAG9BgY,EAAShY,EAEjB,KACK,CACD,IAAIsvlB,EAAqBvxlB,EAAWwb,cAChChJ,EAAM++kB,IACN/+kB,EAAM++kB,GAAoBtvlB,EAElC,CACJ,CACA,SAASuvlB,GAAsBxxlB,EAAYyxlB,GACvC,IAAIC,EAAW,SAAUzvlB,GACrB,IAAImW,EAAQlX,KAAKgZ,GAEjB,GAAK9B,EAAL,CAGA,IAAI5F,EAAQ4F,EAAM5F,OAASoG,EACvBvC,EAAM+B,EAAM/B,IAChB,GAAI0nC,EAAS/9C,GACTsxlB,GAAqB9+kB,EAAOxS,EAAYiC,QAGxC,IAAK,IAAIP,EAAI,EAAGA,EAAI1B,EAAW6B,SAAUH,EACrC4vlB,GAAqB9+kB,EAAOxS,EAAW0B,GAAIO,GAGnD,GAAIkY,EAAWs3kB,GAAa,CACxB,IAAIE,EAAWzwlB,KAAKgZ,GAChBoqB,EAAWqtjB,EAASn/kB,OAASoG,EACjC64kB,EAAWntjB,EAAUjuB,GAAK,EAAOs7kB,EACrC,CAfA,CAgBJ,EAOA,OANAjxlB,OAAOqC,eAAe2ulB,EAAU,UAAW,CACvChpiB,cAAc,EACd39C,YAAY,EACZ/G,OAAO,EACP2kD,UAAU,IAEP+oiB,CACX,CAEA,SAASE,GAAYv7kB,EAAKk+D,EAAWE,GACjC,IAAIo9gB,EAAc,IAAMt9gB,EACpBu9gB,EAAez7kB,EAAIw7kB,GACvB,GAAIC,EAAc,CACd,GAAIA,EAAa,GAAGvyE,QAChB,OAEJlpgB,EAAIu/B,oBAAoBk8iB,EAAa,GAAIA,EAAa,IACtDz7kB,EAAIw7kB,GAAe,IACvB,CACI13kB,EAAWs6D,KACXp+D,EAAIksB,iBAAiBgyC,EAAWE,GAChCp+D,EAAIw7kB,GAAe,CAACt9gB,EAAWE,GAEvC,CAEA,SAASs9gB,GAAcr5kB,GACnB,MAAgB,aAATA,GAAgC,UAATA,CAClC,CACA,IAAIs5kB,GAAoBR,GAAsB,UAAWS,IACrDC,GAAkBV,GAAsB,CAAC,UAAW,YAAaS,IAErE,SAASE,GAAa1wjB,GAClBA,EAAM2gI,iBACV,CAWA,SAAS6vb,GAAgBG,EAAkB/7kB,GACvC,IAAIqC,EAAO05kB,EAAiB15kB,KACxB1U,EAAQoulB,EAAiBpulB,MACzB4vC,EAAUw+iB,EAAiBx+iB,QAC3By+iB,EAAWD,EAAiBC,SAC5B/8kB,EAAe88kB,EAAiB98kB,aAChC0qU,GAAY8rQ,EAAc9nlB,GAC1B0U,GAAQA,IAASrC,EAAIqC,MACrBrC,EAAImD,aAAa,OAAQd,GAExBozkB,EAAcuG,IAAaA,IAAah8kB,EAAIg8kB,WAC7Ch8kB,EAAIg8kB,SAAWA,GAEdvG,EAAcx2kB,IAAkB0qU,IACjC3pU,EAAIf,aAAeA,EAAe,IAElCy8kB,GAAcr5kB,IACVsnU,IACA3pU,EAAIrS,MAAQA,GAEX8nlB,EAAcl4iB,KACfv9B,EAAIu9B,QAAUA,IAIdosS,GAAY3pU,EAAIrS,QAAUA,GAC1BqS,EAAIf,aAAetR,EACnBqS,EAAIrS,MAAQA,GAEN8nlB,EAAcl4iB,KACpBv9B,EAAIu9B,QAAUA,EAG1B,CAEA,SAAS0+iB,GAAmBl6kB,EAAOpU,GAC/B,GAAmB,WAAfoU,EAAMM,MAsBd,SAA2BN,EAAOpU,GAC9B,IAAIwO,EAAQ4F,EAAM5F,OAASoG,EACvBvC,EAAM+B,EAAM/B,IAEhBA,EAAIrS,MAAQwO,EAAMxO,MACdwO,EAAMxO,QAAUA,GAAU+kB,EAAQ/kB,KAA0C,IAAhCA,EAAM9B,QAAQsQ,EAAMxO,OAChEqS,EAAI8V,UAAW,EAET2/jB,EAAc9nlB,IAAW8nlB,EAAct5kB,EAAM2Z,YACnD9V,EAAI8V,SAAW3Z,EAAM2Z,WAAY,EAEzC,CAhCQomkB,CAAkBn6kB,EAAOpU,OAExB,CACD,IAAI0R,EAAW0C,EAAM1C,SACjB2B,EAAQe,EAAMf,MAClB,GAAY,EAARA,EACAi7kB,GAAmB58kB,EAASd,IAAK5Q,QAEhC,GAAY,EAARqT,EACLi7kB,GAAmB58kB,EAAU1R,QAE5B,GAAyB,IAArBoU,EAAMhB,WACXk7kB,GAAmB58kB,EAAU1R,QAE5B,GAAuB,GAAnBoU,EAAMhB,WACX,IAAK,IAAI1V,EAAI,EAAGiO,EAAM+F,EAAS7T,OAAQH,EAAIiO,IAAOjO,EAC9C4wlB,GAAmB58kB,EAAShU,GAAIsC,EAG5C,CACJ,CAnEAmulB,GAAa5yE,SAAU,EAgFvB,IAAIizE,GAAiBhB,GAAsB,WAAYiB,IAIvD,SAASA,GAAiBL,EAAkB/7kB,EAAKq8kB,EAAUt6kB,GACvD,IAAIu6kB,EAAwBr8kB,QAAQ87kB,EAAiBC,UAChDvG,EAAcsG,EAAiBC,WAAaM,IAA0Bt8kB,EAAIg8kB,WAC3Eh8kB,EAAIg8kB,SAAWM,GAEnB,IAAI10kB,EAAQm0kB,EAAiB5oY,cAK7B,IAJe,IAAXvrM,IACA5H,EAAImzM,eAAiB,GAGN,IADFpxM,EAAMhB,WACwB,CAC3C,IAAIpT,EAAQoulB,EAAiBpulB,MAlxBb,kBAmxBHia,GAAUA,GAAS,GAAK5H,EAAI6F,QAAQ+B,KAC7Cja,EAAQqS,EAAI6F,QAAQ+B,GAAOja,OAE3B0ulB,GAAY5G,EAAc9nlB,KAC1BA,EAAQoulB,EAAiB98kB,cAE7Bg9kB,GAAmBl6kB,EAAOpU,EAC9B,CACJ,CAEA,IAukCII,GACAtD,GAxkCA8xlB,GAAwBpB,GAAsB,UAAWqB,IACzDC,GAAoBtB,GAAsB,YAO9C,SAASqB,GAAmBT,EAAkB/7kB,EAAKq8kB,GAC/C,IAAI1ulB,EAAQoulB,EAAiBpulB,MACzB+ulB,EAAW18kB,EAAIrS,MACnB,GAAI8nlB,EAAc9nlB,IACd,GAAI0ulB,EAAU,CACV,IAAIp9kB,EAAe88kB,EAAiB98kB,aAC/Bw2kB,EAAcx2kB,IAAiBA,IAAiBy9kB,IACjD18kB,EAAIf,aAAeA,EACnBe,EAAIrS,MAAQsR,EAEpB,OAEKy9kB,IAAa/ulB,IAElBqS,EAAIf,aAAetR,EACnBqS,EAAIrS,MAAQA,EAEpB,CAEA,SAASgvlB,GAAe37kB,EAAOe,EAAO/B,EAAK+7kB,EAAkBM,EAAU7yjB,GACvD,GAARxoB,EACA46kB,GAAgBG,EAAkB/7kB,GAErB,IAARgB,EACLo7kB,GAAiBL,EAAkB/7kB,EAAKq8kB,EAAUt6kB,GAErC,IAARf,GACLw7kB,GAAmBT,EAAkB/7kB,EAAKq8kB,GAE1C7yjB,IACAxpB,EAAI6D,GAAK9B,EAEjB,CACA,SAAS66kB,GAA4B57kB,EAAOhB,EAAK+7kB,GACjC,GAAR/6kB,EAnJR,SAAqBhB,EAAK+7kB,GAClBL,GAAcK,EAAiB15kB,OAC/Bk5kB,GAAYv7kB,EAAK,SAAU67kB,IAC3BN,GAAYv7kB,EAAK,QAAS87kB,KAG1BP,GAAYv7kB,EAAK,QAAS27kB,GAElC,CA4IQkB,CAAY78kB,EAAK+7kB,GAEJ,IAAR/6kB,EAtEb,SAAsBhB,GAClBu7kB,GAAYv7kB,EAAK,SAAUm8kB,GAC/B,CAqEQW,CAAa98kB,GAEA,IAARgB,GA9Cb,SAAwBhB,EAAK+7kB,GACzBR,GAAYv7kB,EAAK,QAASu8kB,IACtBR,EAAiBnngB,UACjB2mgB,GAAYv7kB,EAAK,SAAUy8kB,GAEnC,CA0CQM,CAAe/8kB,EAAK+7kB,EAE5B,CACA,SAASiB,GAAwBjB,GAC7B,OAAOA,EAAiB15kB,MAAQq5kB,GAAcK,EAAiB15kB,OAASozkB,EAAcsG,EAAiBx+iB,UAAYk4iB,EAAcsG,EAAiBpulB,MACtJ,CAEA,SAAS8wE,KACL,MAAO,CACHh1C,QAAS,KAEjB,CAOA,SAASwzjB,GAAW36kB,GACZA,IACKs1kB,EAAUt1kB,EAAK,OAASA,EAAImnB,UAC7BnnB,EAAImnB,QAAU,KAG1B,CACA,SAASyzjB,GAAS56kB,EAAK3U,EAAOmT,GACtBwB,IAAQwB,EAAWxB,SAAwB,IAAhBA,EAAImnB,UAC/B3oB,EAAU3R,MAAK,WACNyolB,EAAUt1kB,EAAK3U,SAA0B,IAAhB2U,EAAImnB,UAC9BnnB,EAAImnB,QAAU97B,EAEtB,GAER,CAEA,SAASiR,GAAOmD,EAAOC,GACnBm7kB,GAAQp7kB,GACRk1kB,EAAel1kB,EAAOC,EAC1B,CACA,SAASm7kB,GAAQp7kB,GACb,IAEIO,EAFAtB,EAAQe,EAAMf,MACd3B,EAAW0C,EAAM1C,SAErB,GAAY,IAAR2B,EAA2B,CAC3BsB,EAAMP,EAAMO,IACZ,IAAInG,EAAQ4F,EAAM5F,MAClB8glB,GAAW36kB,GACX,IAAIvB,EAAagB,EAAMhB,WACvB,IAAKjB,EAAO3D,GAER,IADA,IAAId,EAAOhR,OAAOgR,KAAKc,GACd9Q,EAAI,EAAGiO,EAAM+B,EAAK7P,OAAQH,EAAIiO,EAAKjO,IAAK,CAC7C,IAAIc,EAAMkP,EAAKhQ,GACX6ulB,EAAgB/tlB,IAChByulB,EAAsBzulB,EAAK4V,EAAM/B,IAEzC,CAEa,GAAbe,EACAq8kB,GAAmB/9kB,GAEC,IAAf0B,GACLo8kB,GAAQ99kB,EAEhB,MACSA,IACO,EAAR2B,GACI8C,EAAWzE,EAASqzD,uBACpBrzD,EAASqzD,uBAEbuqhB,GAAWl7kB,EAAMO,KACjBjD,EAASg+kB,KAAM,EACfF,GAAQ99kB,EAASd,MAEJ,EAARyC,IAEAy0kB,EADLnzkB,EAAMP,EAAMO,MACewB,EAAWxB,EAAIyzkB,yBACtCzzkB,EAAIyzkB,uBAAuBz3kB,EAAiByD,GAAO,GAAOA,EAAM5F,OAASoG,GAE7E46kB,GAAQ99kB,IAEK,KAAR2B,EACLpC,GAAOS,EAAU0C,EAAMO,KAEV,KAARtB,GACkB,GAAnBe,EAAMhB,YACNq8kB,GAAmB/9kB,GAInC,CACA,SAAS+9kB,GAAmB/9kB,GACxB,IAAK,IAAIhU,EAAI,EAAGiO,EAAM+F,EAAS7T,OAAQH,EAAIiO,IAAOjO,EAC9C8xlB,GAAQ99kB,EAAShU,GAEzB,CACA,SAASiylB,GAASt9kB,GAEdA,EAAIwB,YAAc,EACtB,CACA,SAAS+7kB,GAAkBv9kB,EAAK+B,EAAO1C,GACnC+9kB,GAAmB/9kB,GACD,KAAd0C,EAAMf,MACNi2kB,EAAel1kB,EAAO/B,GAGtBs9kB,GAASt9kB,EAEjB,CAqDA,SAASw9kB,GAAqB/F,EAAWC,EAAW+F,EAAWz9kB,GAC3D,IAAI09kB,EAAYjG,GAAaA,EAAUt3kB,QAAW,GAC9Cw9kB,EAAYjG,GAAaA,EAAUv3kB,QAAW,GAC9Cu9kB,IAAaC,IACRlI,EAAckI,IA/Y3B,SAAyB39kB,EAAKI,GAC1B,IAAIC,EAAUC,SAASC,cAAc,KAErC,OADAF,EAAQD,UAAYA,EACbC,EAAQD,YAAcJ,EAAII,SACrC,CA2YyCI,CAAgBR,EAAK29kB,KAC7C79kB,EAAO29kB,KACmB,GAAvBA,EAAU18kB,WACVq8kB,GAAmBK,EAAUp+kB,UAEC,IAAzBo+kB,EAAU18kB,YACfo8kB,GAAQM,EAAUp+kB,UAEtBo+kB,EAAUp+kB,SAAW,KACrBo+kB,EAAU18kB,WAAa,GAE3Bf,EAAII,UAAYu9kB,GAG5B,CACA,SAASC,GAAUn9jB,EAAMg3jB,EAAWC,EAAW13kB,EAAKa,EAAOg9kB,EAAoBJ,GAC3E,OAAQh9jB,GACJ,IAAK,WACL,IAAK,eACL,IAAK,YACL,IAAK,eACL,IAAK,MACL,IAAK,WACL,IAAK,MACL,IAAK,gBACD,MACJ,IAAK,YACDzgB,EAAI89kB,YAAcpG,EAClB,MACJ,IAAK,kBACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,SACL,IAAK,gBACL,IAAK,OACL,IAAK,QACL,IAAK,aACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,SACL,IAAK,WACL,IAAK,WACD13kB,EAAIygB,KAAUi3jB,EACd,MACJ,IAAK,iBACL,IAAK,QACL,IAAK,SACD,GAAImG,GAA+B,UAATp9jB,EACtB,MAEJ,IAAI9yB,EAAQ8nlB,EAAciC,GAAa,GAAKA,EACxC13kB,EAAIygB,KAAU9yB,IACdqS,EAAIygB,GAAQ9yB,GAEhB,MACJ,IAAK,SAlGb,SAAoBowlB,EAAeC,EAAeh+kB,GAC9C,GAAIy1kB,EAAcuI,GACdh+kB,EAAIkD,gBAAgB,aADxB,CAIA,IACI4B,EACAnX,EAFAswlB,EAAWj+kB,EAAI8E,MAGnB,GAAI4iC,EAASs2iB,GACTC,EAASv/e,QAAUs/e,OAGvB,GAAKvI,EAAcsI,IAAmBr2iB,EAASq2iB,GAe3C,IAAKj5kB,KAASk5kB,EACVrwlB,EAAQqwlB,EAAcl5kB,GACtBm5kB,EAASt/e,YAAY75F,EAAOnX,OAjB2B,CAC3D,IAAKmX,KAASk5kB,GAEVrwlB,EAAQqwlB,EAAcl5kB,MACRi5kB,EAAcj5kB,IACxBm5kB,EAASt/e,YAAY75F,EAAOnX,GAGpC,IAAKmX,KAASi5kB,EACNtI,EAAcuI,EAAcl5kB,KAC5Bm5kB,EAASr+c,eAAe96H,EAGpC,CArBA,CA4BJ,CAmEYo5kB,CAAWzG,EAAWC,EAAW13kB,GACjC,MACJ,IAAK,0BACDw9kB,GAAqB/F,EAAWC,EAAW+F,EAAWz9kB,GACtD,MACJ,QACQk6kB,EAAgBz5jB,GAhjBhC,SAA8B7uB,EAAMuslB,EAAWC,EAAWp+kB,GACtD,GAAI8D,EAAWs6kB,GACXjE,EAA0BvolB,EAAMoO,GAAKpO,GAAQwslB,OAE5C,GAAI3H,EAAkB2H,GAAY,CACnC,GAAI5G,EAAyB2G,EAAWC,GACpC,OAEJjE,EAA0BvolB,EAAMoO,GAAKpO,GAAQwslB,CACjD,MAEIxD,EAAsBhplB,EAAMoO,EAEpC,CAoiBgBq+kB,CAAqB59jB,EAAMg3jB,EAAWC,EAAW13kB,GAErB,MAAvBygB,EAAKlnB,WAAW,IAAqC,MAAvBknB,EAAKlnB,WAAW,GAvHnE,SAAoB3H,EAAM6llB,EAAWC,EAAW13kB,GAC5C,GAAIy2kB,EAAkBiB,GAAY,CAC9B,GAAIF,EAAyBC,EAAWC,GACpC,OAEJA,EAZR,SAAuBA,GAEnB,IAAI4G,EAAK5G,EAAUtsjB,MACnB,OAAO,SAAUx/B,GACb0ylB,EAAG5G,EAAU9klB,KAAMhH,EACvB,CACJ,CAMoB2ylB,CAAc7G,EAC9B,CACA6D,GAAYv7kB,EAAK02kB,EAAmB9klB,GAAO8llB,EAC/C,CAgHgB8G,CAAW/9jB,EAAMg3jB,EAAWC,EAAW13kB,GAElCy1kB,EAAciC,GACnB13kB,EAAIkD,gBAAgBud,GAEf5f,GAAS2qJ,EAAW/qI,GAGzBzgB,EAAIy+kB,eAAejzb,EAAW/qI,GAAOA,EAAMi3jB,GAG3C13kB,EAAImD,aAAasd,EAAMi3jB,GAIvC,CACA,SAASgH,GAAW38kB,EAAOf,EAAO7E,EAAO6D,EAAKa,GAC1C,IAAIg9kB,GAAqB,EACrBc,GAAyB,IAAR39kB,GAAiC,EAOtD,IAAK,IAAIyf,KANLk+jB,IACAd,EAAqBb,GAAwB7glB,KAEzCyglB,GAA4B57kB,EAAOhB,EAAK7D,GAG/BA,EAEbyhlB,GAAUn9jB,EAAM,KAAMtkB,EAAMskB,GAAOzgB,EAAKa,EAAOg9kB,EAAoB,MAEnEc,GACAhC,GAAe37kB,EAAOe,EAAO/B,EAAK7D,GAAO,EAAM0hlB,EAEvD,CAEA,SAASe,GAAep8kB,EAAUrG,EAAOJ,GACrC,IAAI8ilB,EAAYzF,EAAc52kB,EAASmB,OAAOxH,EAAOqG,EAASvN,MAAO8G,IACjE+ilB,EAAe/ilB,EAKnB,OAJI+H,EAAWtB,EAASu8kB,mBACpBD,EAAevI,EAAYx6kB,EAASyG,EAASu8kB,oBAEjDv8kB,EAASE,IAAMo8kB,EACRD,CACX,CACA,SAASG,GAA6Bj9kB,EAAO3F,EAAWD,EAAOJ,EAAS8E,EAAOC,GAC3E,IAAI0B,EAAW,IAAIpG,EAAUD,EAAOJ,GAChCkjlB,EAAcz8kB,EAAS08kB,GAAKj/kB,QAAQ7D,EAAUs2kB,0BAA4BlwkB,EAAS28kB,yBASvF,GARA38kB,EAAS48kB,KAAOv+kB,EAChB2B,EAAS6riB,GAAKvtiB,EACdiB,EAAM1C,SAAWmD,EACjBA,EAAS68kB,KAAM,EACf78kB,EAASzG,QAAUA,EACfyG,EAASrG,QAAUoG,IACnBC,EAASrG,MAAQA,GAEhB8ilB,EAqBDz8kB,EAASvN,MAAQkilB,EAAmB30kB,EAAUrG,EAAOqG,EAASvN,YApB9D,GAAI6O,EAAWtB,EAAS88kB,oBAAqB,CACzC98kB,EAAS+8kB,KAAM,EACf/8kB,EAAS88kB,qBACT,IAAI/+B,EAAU/9iB,EAASg9kB,IACvB,IAAK1/kB,EAAOygjB,GAAU,CAClB,IAAItrjB,EAAQuN,EAASvN,MACrB,GAAI6K,EAAO7K,GACPuN,EAASvN,MAAQsrjB,OAGjB,IAAK,IAAIp0jB,KAAOo0jB,EACZtrjB,EAAM9I,GAAOo0jB,EAAQp0jB,GAG7BqW,EAASg9kB,IAAM,IACnB,CACAh9kB,EAAS+8kB,KAAM,CACnB,CAMJ,OADA/8kB,EAASjE,IAAMqglB,GAAep8kB,EAAUrG,EAAOJ,GACxCyG,CACX,CACA,SAASK,GAA0Bd,EAAOhG,GACtC,IAAII,EAAQ4F,EAAM5F,OAASoG,EAC3B,OAAqB,MAAdR,EAAMf,MAAiCe,EAAMM,KAAKsB,OAAOxH,EAAO4F,EAAMO,IAAKvG,GAAWgG,EAAMM,KAAKlG,EAAOJ,EACnH,CAEA,SAAS0jlB,GAAM19kB,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACvD,IAAIE,EAASe,EAAMf,OAAS,MAChB,IAARA,EACA0+kB,GAAa39kB,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAE5C,EAARE,EA6Fb,SAA6Be,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACrE,IAAI0B,EAAWw8kB,GAA6Bj9kB,EAAOA,EAAMM,KAAMN,EAAM5F,OAASoG,EAAWxG,EAAS8E,EAAOC,GACzG2+kB,GAAMj9kB,EAASjE,IAAKyD,EAAWQ,EAASE,IAAK7B,EAAOgoL,EAAU/nL,GAC9D6+kB,GAA6B59kB,EAAMO,IAAKE,EAAU1B,EACtD,CAhGQ8+kB,CAAoB79kB,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAEnD,EAARE,IA+Fb,SAAkCe,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAC1E2+kB,GAAO19kB,EAAM1C,SAAW+5kB,EAAcv2kB,GAA0Bd,EAAOhG,IAAYiG,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,EAC5H,CAhGQ++kB,CAAyB99kB,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACrEg/kB,GAAkC/9kB,EAAOjB,IAE5B,IAARE,GAAkC,GAARA,EAC/B++kB,GAAUh+kB,EAAOC,EAAW6mL,GAEf,KAAR7nL,EAcb,SAAuBe,EAAOhG,EAASiG,EAAWnB,EAAOgoL,EAAU/nL,GAC/D,IAAIzB,EAAW0C,EAAM1C,SACjB0B,EAAagB,EAAMhB,WAGN,GAAbA,GAA8D,IAApB1B,EAAS7T,SACnDuV,EAAagB,EAAMhB,WAAa,EAChC1B,EAAW0C,EAAM1C,SAAWi5kB,KAEb,IAAfv3kB,EACA0+kB,GAAMpglB,EAAU2C,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAGrDk/kB,GAAmB3glB,EAAU2C,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,EAE1E,CA5BQm/kB,CAAcl+kB,EAAOhG,EAASiG,EAAWnB,EAAOgoL,EAAU/nL,GAE7C,KAARE,GAKb,SAAqBe,EAAOhG,EAASiG,EAAW6mL,EAAU/nL,GACtD2+kB,GAAM19kB,EAAM1C,SAAU0C,EAAMO,IAAKvG,GAAS,EAAO,KAAM+E,GACvD,IAAIo/kB,EAAmB5H,IACvByH,GAAUG,EAAkBl+kB,EAAW6mL,GACvC9mL,EAAM/B,IAAMkglB,EAAiBlglB,GACjC,CATQmglB,CAAYp+kB,EAAOhG,EAASiG,EAAW6mL,EAAU/nL,EAGzD,CAuBA,SAASi/kB,GAAUh+kB,EAAOC,EAAW6mL,GACjC,IAAI7oL,EAAO+B,EAAM/B,IAAMM,SAASe,eAAeU,EAAM1C,UAChDS,EAAOkC,IACR20kB,EAAe30kB,EAAWhC,EAAK6oL,EAEvC,CACA,SAAS62Z,GAAa39kB,EAAOC,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAC9D,IAAIE,EAAQe,EAAMf,MACd7E,EAAQ4F,EAAM5F,MACduB,EAAYqE,EAAMrE,UAClBqD,EAAagB,EAAMhB,WACnBf,EAAO+B,EAAM/B,IA7oCrB,SAA+B+F,EAAKlF,GAChC,OAAIA,EACOP,SAASw9F,gBAAgB,6BAA8B/3F,GAE3DzF,SAASC,cAAcwF,EAClC,CAwoC2Bq6kB,CAAsBr+kB,EAAMM,KAAOxB,EAAQA,IAAkB,GAARG,GAA+B,GACvG3B,EAAW0C,EAAM1C,SASrB,GARKo2kB,EAAc/3kB,IAA4B,KAAdA,IACzBmD,EACAb,EAAImD,aAAa,QAASzF,GAG1BsC,EAAItC,UAAYA,GAGL,KAAfqD,EACAw2kB,EAAev3kB,EAAKX,QAEnB,GAAmB,IAAf0B,EAA2C,CAChD,IAAIs/kB,EAAgBx/kB,GAAwB,kBAAfkB,EAAMM,KAChB,IAAftB,GACqB,MAAjB1B,EAAS2B,QACTe,EAAM1C,SAAWA,EAAWk5kB,EAAYl5kB,IAE5CoglB,GAAMpglB,EAAUW,EAAKjE,EAASsklB,EAAe,KAAMv/kB,IAE/B,IAAfC,GAA0D,IAAfA,GAChDi/kB,GAAmB3glB,EAAUW,EAAKjE,EAASsklB,EAAe,KAAMv/kB,EAExE,CACKhB,EAAOkC,IACR20kB,EAAe30kB,EAAWhC,EAAK6oL,GAE9B/oL,EAAO3D,IACRuilB,GAAW38kB,EAAOf,EAAO7E,EAAO6D,EAAKa,GAEzCq8kB,GAASn7kB,EAAMO,IAAKtC,EAAKc,EAC7B,CACA,SAASk/kB,GAAmB3glB,EAAUW,EAAKjE,EAAS8E,EAAOgoL,EAAU/nL,GACjE,IAAK,IAAIzV,EAAI,EAAGA,EAAIgU,EAAS7T,SAAUH,EAAG,CACtC,IAAIsW,EAAQtC,EAAShU,GACH,MAAdsW,EAAMX,QACN3B,EAAShU,GAAKsW,EAAQ42kB,EAAY52kB,IAEtC89kB,GAAM99kB,EAAO3B,EAAKjE,EAAS8E,EAAOgoL,EAAU/nL,EAChD,CACJ,CAcA,SAAS6+kB,GAA6Br9kB,EAAKE,EAAU1B,GACjDo8kB,GAAS56kB,EAAKE,EAAU1B,GACpBgD,EAAWtB,EAAS0vD,oBACpBpxD,EAAU3R,KARlB,SAAkCqT,GAC9B,OAAO,WACHA,EAAS0vD,mBACb,CACJ,CAIuBouhB,CAAyB99kB,GAEhD,CAMA,SAASs9kB,GAAkC/9kB,EAAOjB,GAC9C,IAAIwB,EAAMP,EAAMO,IACXmzkB,EAAcnzkB,KACfs1kB,EAAUt1kB,EAAIwzkB,qBAAsB/zkB,EAAM5F,OAASoG,GAC/CuB,EAAWxB,EAAIqzkB,sBACf70kB,EAAU3R,KAVtB,SAA+BmT,EAAKP,GAChC,OAAO,WACHO,EAAIqzkB,oBAAoBr3kB,EAAiByD,GAAO,GAAOA,EAAM5F,OAASoG,EAC1E,CACJ,CAM2Bg+kB,CAAsBj+kB,EAAKP,IAGtD,CAcA,SAASy+kB,GAAM/C,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACtE,IAAI4/kB,EAAaD,EAAUz/kB,OAAS,MAChCy8kB,EAAUz8kB,QAAU0/kB,GAAajD,EAAUp7kB,OAASo+kB,EAAUp+kB,MAAQo7kB,EAAUtxlB,MAAQs0lB,EAAUt0lB,KAAmB,KAAZu0lB,EACnF,MAAlBjD,EAAUz8kB,MAftB,SAA4By8kB,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOC,GACzEq8kB,GAAQM,GACwD,KAA3DgD,EAAUz/kB,MAAQy8kB,EAAUz8kB,MAAQ,OACrCy+kB,GAAMgB,EAAW,KAAM1klB,EAAS8E,EAAO,KAAMC,GAttCrD,SAAsBkB,EAAW2+kB,EAAQC,GACrC5+kB,EAAUC,aAAa0+kB,EAAQC,EACnC,CAstCQ3+kB,CAAaD,EAAWy+kB,EAAUzglB,IAAKy9kB,EAAUz9kB,OAGjDy/kB,GAAMgB,EAAWz+kB,EAAWjG,EAAS8E,EAAOvC,EAAiBm/kB,GAAW,GAAO38kB,GAC/Em2kB,EAAewG,EAAWz7kB,GAElC,CAKY6+kB,CAAmBpD,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOC,GAIpE2+kB,GAAMgB,EAAWz+kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAGzC,IAAZ4/kB,EA8Eb,SAAsBjD,EAAWgD,EAAW1klB,EAAS8E,EAAO6/kB,EAAW5/kB,GACnE,IAKIi7kB,EALA/7kB,EAAOyglB,EAAUzglB,IAAMy9kB,EAAUz9kB,IACjC8glB,EAAYrD,EAAUthlB,MACtBF,EAAYwklB,EAAUtklB,MACtBwilB,GAAgB,EAChBd,GAAqB,EAIzB,GAFAh9kB,EAAQA,IAAsB,GAAZ6/kB,GAAmC,EAEjDI,IAAc7klB,EAAW,CACzB,IAAI8klB,EAAmBD,GAAav+kB,EAEpC,IADAw5kB,EAAmB9/kB,GAAasG,KACPA,EAKrB,IAAK,IAAIke,KAJTk+jB,GAA6B,IAAZ+B,GAAqC,KAElD7C,EAAqBb,GAAwBjB,IAEhCA,EAAkB,CAC/B,IAAItE,EAAYsJ,EAAiBtgkB,GAC7Bi3jB,EAAYqE,EAAiBt7jB,GAC7Bg3jB,IAAcC,GACdkG,GAAUn9jB,EAAMg3jB,EAAWC,EAAW13kB,EAAKa,EAAOg9kB,EAAoBJ,EAE9E,CAEJ,GAAIsD,IAAqBx+kB,EACrB,IAAK,IAAI6zkB,KAAU2K,EACXtL,EAAcsG,EAAiB3F,MAAaX,EAAcsL,EAAiB3K,KAC3EwH,GAAUxH,EAAQ2K,EAAiB3K,GAAS,KAAMp2kB,EAAKa,EAAOg9kB,EAAoBJ,EAIlG,CACA,IAAIuD,EAAeP,EAAUphlB,SACzB4hlB,EAAgBR,EAAU/ilB,UAE1B+/kB,EAAU//kB,YAAcujlB,IACpBxL,EAAcwL,GACdjhlB,EAAIkD,gBAAgB,SAEfrC,EACLb,EAAImD,aAAa,QAAS89kB,GAG1BjhlB,EAAItC,UAAYujlB,GAGR,KAAZP,EA7FR,SAAsC1glB,EAAKghlB,GACnChhlB,EAAIwB,cAAgBw/kB,IACpBhhlB,EAAIwB,YAAcw/kB,EAE1B,CA0FQE,CAA6BlhlB,EAAKghlB,GAGlCG,GAAc1D,EAAU18kB,WAAY0/kB,EAAU1/kB,WAAY08kB,EAAUp+kB,SAAU2hlB,EAAchhlB,EAAKjE,EAAS8E,GAA4B,kBAAnB4/kB,EAAUp+kB,KAA0B,KAAMo7kB,EAAW38kB,GAExK69kB,GACAhC,GAAe+D,EAAWD,EAAWzglB,EAAK+7kB,GAAkB,EAAO8B,GAEvE,IAAIuD,EAAUX,EAAUn+kB,IACpB++kB,EAAU5D,EAAUn7kB,IACpB++kB,IAAYD,IACZnE,GAAWoE,GACXnE,GAASkE,EAASphlB,EAAKc,GAE/B,CA3IQwglB,CAAa7D,EAAWgD,EAAW1klB,EAAS8E,EAAO6/kB,EAAW5/kB,GAE7C,EAAZ4/kB,EA6Qb,SAA6BjD,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACpF,IAAI0B,EAAYi+kB,EAAUphlB,SAAWo+kB,EAAUp+kB,SAE/C,GAAIS,EAAO0C,GACP,OAEJA,EAAS6riB,GAAKvtiB,EACd,IAAI7E,EAAYwklB,EAAUtklB,OAASoG,EAC/B6+kB,EAAUX,EAAUn+kB,IACpB++kB,EAAU5D,EAAUn7kB,IACpBpG,EAAYsG,EAASvN,MACzB,IAAKuN,EAAS08kB,GAAI,CACd,GAAIp7kB,EAAWtB,EAAS++kB,2BAA4B,CAIhD,GAHA/+kB,EAAS+8kB,KAAM,EACf/8kB,EAAS++kB,0BAA0BtllB,EAAWF,GAE1CyG,EAAS66kB,IACT,OAEJ76kB,EAAS+8kB,KAAM,CACnB,CACKz/kB,EAAO0C,EAASg9kB,OACjBtjlB,EAAYq6kB,EAAYr6kB,EAAWsG,EAASg9kB,KAC5Ch9kB,EAASg9kB,IAAM,KAEvB,CACAgC,GAAqBh/kB,EAAUtG,EAAWD,EAAW+F,EAAWjG,EAAS8E,GAAO,EAAOgoL,EAAU/nL,GAC7FuglB,IAAYD,IACZnE,GAAWoE,GACXnE,GAASkE,EAAS5+kB,EAAU1B,GAEpC,CA3SQ2glB,CAAoBhE,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAE9D,EAAZ4/kB,EA0Sb,SAAkCjD,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACzF,IAAIjC,GAAe,EACf5C,EAAYwklB,EAAUtklB,OAASoG,EAC/B6+kB,EAAUX,EAAUn+kB,IACpBw+kB,EAAYrD,EAAUthlB,MACtBullB,GAAoBjM,EAAc2L,GAClCO,EAAYlE,EAAUp+kB,SACtBqilB,GAAoB59kB,EAAWs9kB,EAAQvL,2BACvCh3kB,EAAeuilB,EAAQvL,wBAAwBiL,EAAW7klB,IAE9D,IAAqB,IAAjB4C,EAAwB,CACpB6ilB,GAAoB59kB,EAAWs9kB,EAAQpL,wBACvCoL,EAAQpL,sBAAsB8K,EAAW7klB,GAE7C,IAAI4ilB,EAAYzF,EAAcv2kB,GAA0B49kB,EAAW1klB,IACnEyklB,GAAMmB,EAAW9C,EAAW78kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACjE2/kB,EAAUphlB,SAAWw/kB,EACjB6C,GAAoB59kB,EAAWs9kB,EAAQxL,uBACvCwL,EAAQxL,qBAAqBkL,EAAW7klB,EAEhD,MAEIwklB,EAAUphlB,SAAWsilB,CAE7B,CAjUQC,CAAyBnE,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAEnE,GAAZ4/kB,EAgUb,SAAmBjD,EAAWgD,GAC1B,IAAInja,EAAWmja,EAAUphlB,SACrBW,EAAOyglB,EAAUzglB,IAAMy9kB,EAAUz9kB,IACjCs9K,IAAamga,EAAUp+kB,WACvBW,EAAIyB,UAAY67K,EAExB,CArUQuka,CAAUpE,EAAWgD,GAEJ,IAAZC,EACLD,EAAUzglB,IAAMy9kB,EAAUz9kB,IAET,KAAZ0glB,EAsBb,SAAuBjD,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOC,GACpE,IAAIghlB,EAAerE,EAAUp+kB,SACzB2hlB,EAAeP,EAAUphlB,SACzB0ilB,EAAiBtE,EAAU18kB,WAC3BihlB,EAAiBvB,EAAU1/kB,WAC3B8nL,EAAW,KAGM,GAAjBm5Z,GAAsE,IAAxBhB,EAAax1lB,SAC3Dw2lB,EAAiBvB,EAAU1/kB,WAAa,EACxCiglB,EAAeP,EAAUphlB,SAAWi5kB,KAExC,IAAI2J,EAA+D,KAA9B,EAAjBD,GACpB,GAAqB,GAAjBD,EAA4C,CAC5C,IAAIG,EAAUJ,EAAat2lB,QAIT,EAAjBu2lB,GAA8D,EAAjBC,GAE1CC,IAEEA,GAAgBjB,EAAax1lB,OAAS02lB,KAExCr5Z,EAAWvqL,EAAiBwjlB,EAAaI,EAAU,IAAI,GAAO/glB,YAEtE,CACAgglB,GAAcY,EAAgBC,EAAgBF,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU40Z,EAAW38kB,EAC9H,CAjDQqhlB,CAAc1E,EAAWgD,EAAWz+kB,EAAWjG,EAAS8E,EAAOC,GAkDvE,SAAqB28kB,EAAWgD,EAAW1klB,EAAS+E,GAChD,IAAIshlB,EAAgB3E,EAAUn7kB,IAC1B+/kB,EAAgB5B,EAAUn+kB,IAC1B0+kB,EAAeP,EAAUphlB,SAG7B,GAFA8hlB,GAAc1D,EAAU18kB,WAAY0/kB,EAAU1/kB,WAAY08kB,EAAUp+kB,SAAU2hlB,EAAcoB,EAAermlB,GAAS,EAAO,KAAM0hlB,EAAW38kB,GAC5I2/kB,EAAUzglB,IAAMy9kB,EAAUz9kB,IACtBoilB,IAAkBC,IAAkBtrL,EAAUiqL,GAAe,CAC7D,IAAIv4kB,EAAOu4kB,EAAahhlB,IACxB4B,EAAYwglB,EAAe35kB,GAC3BrH,EAAYihlB,EAAe55kB,EAC/B,CACJ,CA1DQ65kB,CAAY7E,EAAWgD,EAAW1klB,EAAS+E,EAEnD,CA6HA,SAASqglB,GAAcY,EAAgBC,EAAgBF,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAUnoL,EAAaI,GACjI,OAAQihlB,GACJ,KAAK,EACD,OAAQC,GACJ,KAAK,EACDxB,GAAMsB,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACvE,MACJ,KAAK,EACDlC,GAAOkjlB,EAAc9/kB,GACrB,MACJ,KAAK,GACDm7kB,GAAQ2E,GACRvK,EAAev1kB,EAAWg/kB,GAC1B,MACJ,SAnBhB,SAA2Cc,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAOC,GAC9Fq8kB,GAAQ2E,GACR9B,GAAmBgB,EAAch/kB,EAAWjG,EAAS8E,EAAOvC,EAAiBwjlB,GAAc,GAAOhhlB,GAClGm2kB,EAAe6K,EAAc9/kB,EACjC,CAgBoBuglB,CAAkCT,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAOC,GAGjG,MACJ,KAAK,EACD,OAAQkhlB,GACJ,KAAK,EACDvC,GAAMuB,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACzD,MACJ,KAAK,EACD,MACJ,KAAK,GACDy2kB,EAAev1kB,EAAWg/kB,GAC1B,MACJ,QACIhB,GAAmBgB,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAG9E,MACJ,KAAK,GACD,OAAQkhlB,GACJ,KAAK,IAhKrB,SAA8BF,EAAcd,EAAch/kB,GAClD8/kB,IAAiBd,IACI,KAAjBc,EACA9/kB,EAAUH,WAAWJ,UAAYu/kB,EAGjCzJ,EAAev1kB,EAAWg/kB,GAGtC,CAwJoBwB,CAAqBV,EAAcd,EAAch/kB,GACjD,MACJ,KAAK,EACDs7kB,GAASt7kB,GACTy9kB,GAAMuB,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACzD,MACJ,KAAK,EACDw8kB,GAASt7kB,GACT,MACJ,QACIs7kB,GAASt7kB,GACTg+kB,GAAmBgB,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAG9E,MACJ,QACI,OAAQkhlB,GACJ,KAAK,GACD5E,GAAmB0E,GACnBvK,EAAev1kB,EAAWg/kB,GAC1B,MACJ,KAAK,EACDzD,GAAkBv7kB,EAAWtB,EAAaohlB,GAC1CrC,GAAMuB,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GACzD,MACJ,KAAK,EACDy8kB,GAAkBv7kB,EAAWtB,EAAaohlB,GAC1C,MACJ,QACI,IAAIW,EAAmC,EAAtBX,EAAat2lB,OAC1Bk3lB,EAAmC,EAAtB1B,EAAax1lB,OAEX,IAAfi3lB,EACIC,EAAa,GACb1C,GAAmBgB,EAAch/kB,EAAWjG,EAAS8E,EAAOgoL,EAAU/nL,GAGtD,IAAf4hlB,EACLnF,GAAkBv7kB,EAAWtB,EAAaohlB,GAElB,IAAnBE,GAAkE,IAAnBD,EA8I5E,SAA4B/xlB,EAAG5F,EAAG4V,EAAKjE,EAAS8E,EAAO8hlB,EAASC,EAASC,EAAWnilB,EAAaI,GAC7F,IAKIgilB,EACAj6Z,EANAk6Z,EAAOJ,EAAU,EACjBK,EAAOJ,EAAU,EACjB3ylB,EAAI,EACJgzlB,EAAQjzlB,EAAEC,GACVizlB,EAAQ94lB,EAAE6F,GAKduH,EAAO,CAEH,KAAOyrlB,EAAM92lB,MAAQ+2lB,EAAM/2lB,KAAK,CAO5B,GANkB,MAAd+2lB,EAAMlilB,QACN5W,EAAE6F,GAAKizlB,EAAQ3K,EAAY2K,IAE/B1C,GAAMyC,EAAOC,EAAOljlB,EAAKjE,EAAS8E,EAAOgilB,EAAW/hlB,GACpD9Q,EAAEC,GAAKizlB,IACLjzlB,EACM8ylB,GAAQ9ylB,EAAI+ylB,EAChB,MAAMxrlB,EAEVyrlB,EAAQjzlB,EAAEC,GACVizlB,EAAQ94lB,EAAE6F,EACd,CAIA,IAHAgzlB,EAAQjzlB,EAAE+ylB,GACVG,EAAQ94lB,EAAE44lB,GAEHC,EAAM92lB,MAAQ+2lB,EAAM/2lB,KAAK,CAQ5B,GAPkB,MAAd+2lB,EAAMlilB,QACN5W,EAAE44lB,GAAQE,EAAQ3K,EAAY2K,IAElC1C,GAAMyC,EAAOC,EAAOljlB,EAAKjE,EAAS8E,EAAOgilB,EAAW/hlB,GACpD9Q,EAAE+ylB,GAAQG,EAEVF,IACI/ylB,IAFJ8ylB,GAEgB9ylB,EAAI+ylB,EAChB,MAAMxrlB,EAEVyrlB,EAAQjzlB,EAAE+ylB,GACVG,EAAQ94lB,EAAE44lB,EACd,CACJ,CACA,GAAI/ylB,EAAI8ylB,GACJ,GAAI9ylB,GAAK+ylB,EAGL,IADAn6Z,GADAi6Z,EAAUE,EAAO,GACIJ,EAAUtklB,EAAiBlU,EAAE04lB,IAAU,GAAQD,EAC7D5ylB,GAAK+ylB,GAEU,OADlBE,EAAQ94lB,EAAE6F,IACA+Q,QACN5W,EAAE6F,GAAKizlB,EAAQ3K,EAAY2K,MAE7BjzlB,EACFwvlB,GAAMyD,EAAOljlB,EAAKjE,EAAS8E,EAAOgoL,EAAU/nL,QAInD,GAAI7Q,EAAI+ylB,EACT,KAAO/ylB,GAAK8ylB,GACRnklB,GAAO5O,EAAEC,KAAM+P,QAO3B,SAAmChQ,EAAG5F,EAAG2R,EAAS4mlB,EAASC,EAASG,EAAMC,EAAM/ylB,EAAG+P,EAAKa,EAAOgilB,EAAWnilB,EAAaI,GACnH,IAAImilB,EACAC,EACAJ,EACAz3lB,EAAI,EACJ83lB,EAASlzlB,EACTmzlB,EAASnzlB,EACTozlB,EAAQN,EAAO9ylB,EAAI,EACnBqzlB,EAAQN,EAAO/ylB,EAAI,EACnBszlB,EAAU,IAAIrulB,WAAWoulB,EAAQ,GAEjCE,EAAwBH,IAAUV,EAClCc,GAAQ,EACRtqiB,EAAM,EACNuqiB,EAAU,EAEd,GAAId,EAAU,IAAMS,EAAQC,GAAS,GACjC,IAAKj4lB,EAAI83lB,EAAQ93lB,GAAK03lB,IAAQ13lB,EAE1B,GADA43lB,EAAQjzlB,EAAE3E,GACNq4lB,EAAUJ,EAAO,CACjB,IAAKrzlB,EAAImzlB,EAAQnzlB,GAAK+ylB,EAAM/ylB,IAExB,GADAizlB,EAAQ94lB,EAAE6F,GACNgzlB,EAAM92lB,MAAQ+2lB,EAAM/2lB,IAAK,CAEzB,GADAo3lB,EAAQtzlB,EAAImzlB,GAAU/3lB,EAAI,EACtBm4lB,EAEA,IADAA,GAAwB,EACjBL,EAAS93lB,GACZuT,GAAO5O,EAAEmzlB,KAAWnjlB,GAGxBm5C,EAAMlpD,EACNwzlB,GAAQ,EAGRtqiB,EAAMlpD,EAEQ,MAAdizlB,EAAMlilB,QACN5W,EAAE6F,GAAKizlB,EAAQ3K,EAAY2K,IAE/B1C,GAAMyC,EAAOC,EAAOljlB,EAAKjE,EAAS8E,EAAOgilB,EAAW/hlB,KAClD4ilB,EACF,KACJ,EAECF,GAAyBvzlB,EAAI+ylB,GAC9BpklB,GAAOqklB,EAAOjjlB,EAEtB,MACUwjlB,GACN5klB,GAAOqklB,EAAOjjlB,OAIrB,CACD,IAAI4yB,EAAW,CAAC,EAEhB,IAAKvnC,EAAI+3lB,EAAQ/3lB,GAAK23lB,IAAQ33lB,EAC1BunC,EAASxoC,EAAEiB,GAAGc,KAAOd,EAGzB,IAAKA,EAAI83lB,EAAQ93lB,GAAK03lB,IAAQ13lB,EAE1B,GADA43lB,EAAQjzlB,EAAE3E,GACNq4lB,EAAUJ,EAEV,QAAU,KADVrzlB,EAAI2iC,EAASqwjB,EAAM92lB,MACD,CACd,GAAIq3lB,EAEA,IADAA,GAAwB,EACjBn4lB,EAAI83lB,GACPvklB,GAAO5O,EAAEmzlB,KAAWnjlB,GAG5BujlB,EAAQtzlB,EAAImzlB,GAAU/3lB,EAAI,EACtB8tD,EAAMlpD,EACNwzlB,GAAQ,EAGRtqiB,EAAMlpD,EAGQ,OADlBizlB,EAAQ94lB,EAAE6F,IACA+Q,QACN5W,EAAE6F,GAAKizlB,EAAQ3K,EAAY2K,IAE/B1C,GAAMyC,EAAOC,EAAOljlB,EAAKjE,EAAS8E,EAAOgilB,EAAW/hlB,KAClD4ilB,CACN,MACUF,GACN5klB,GAAOqklB,EAAOjjlB,QAGZwjlB,GACN5klB,GAAOqklB,EAAOjjlB,EAG1B,CAEA,GAAIwjlB,EACAjG,GAAkBv9kB,EAAKU,EAAa1Q,GACpCgwlB,GAAmB51lB,EAAG4V,EAAKjE,EAAS8E,EAAOgilB,EAAW/hlB,QAErD,GAAI2ilB,EAAO,CACZ,IAAIzoB,EA2CZ,SAAuBlxhB,GACnB,IAAI65iB,EAAO,EACPt4lB,EAAI,EACJ4E,EAAI,EACJV,EAAI,EACJwH,EAAI,EACJhI,EAAI,EACJ1C,EAAI,EACJiN,EAAMwwC,EAAIt+C,OACV8N,EAAMsqlB,KACNA,GAAStqlB,EACTvL,GAAS,IAAImH,WAAWoE,GACxB7O,GAAI,IAAIyK,WAAWoE,IAEvB,KAAOjO,EAAIiO,IAAOjO,EAEd,GAAa,KADbs4lB,EAAO75iB,EAAIz+C,IACK,CAEZ,GAAIy+C,EADJ75C,EAAIlC,GAAOwB,IACEo0lB,EAAM,CACfl5lB,GAAEY,GAAK4E,EACPlC,KAASwB,GAAKlE,EACd,QACJ,CAGA,IAFA0L,EAAI,EACJhI,EAAIQ,EACGwH,EAAIhI,GAEH+6C,EAAI/7C,GADR1B,EAAK0K,EAAIhI,GAAM,IACM40lB,EACjB5slB,EAAI1K,EAAI,EAGR0C,EAAI1C,EAGRs3lB,EAAO75iB,EAAI/7C,GAAOgJ,MACdA,EAAI,IACJtM,GAAEY,GAAK0C,GAAOgJ,EAAI,IAEtBhJ,GAAOgJ,GAAK1L,EAEpB,CAEJ0L,EAAIxH,EAAI,EACR,IAAIyrkB,EAAM,IAAI9lkB,WAAW6B,GACzBhI,EAAIhB,GAAOgJ,EAAI,GACf,KAAOA,KAAM,GACTikkB,EAAIjkkB,GAAKhI,EACTA,EAAItE,GAAEsE,GACNhB,GAAOgJ,GAAK,EAEhB,OAAOikkB,CACX,CA9FkB6oB,CAAcN,GAExB,IADAtzlB,EAAI+qkB,EAAIxvkB,OAAS,EACZH,EAAIi4lB,EAAQ,EAAGj4lB,GAAK,EAAGA,IACL,IAAfk4lB,EAAQl4lB,IAGU,OADlB63lB,EAAQ94lB,EADR+uD,EAAM9tD,EAAI+3lB,IAEApilB,QACN5W,EAAE+uD,GAAO+piB,EAAQ3K,EAAY2K,IAGjCzD,GAAMyD,EAAOljlB,EAAKjE,EAAS8E,GAD3BiilB,EAAU3piB,EAAM,GAC4BypiB,EAAUtklB,EAAiBlU,EAAE04lB,IAAU,GAAQD,EAAW/hlB,IAEjG7Q,EAAI,GAAK5E,IAAM2vkB,EAAI/qkB,GAIxBinlB,EAFAgM,EAAQ94lB,EADR+uD,EAAM9tD,EAAI+3lB,GAGUpjlB,GADpB8ilB,EAAU3piB,EAAM,GACmBypiB,EAAUtklB,EAAiBlU,EAAE04lB,IAAU,GAAQD,GAGlF5ylB,GAGZ,MACK,GAAIyzlB,IAAYJ,EAGjB,IAAKj4lB,EAAIi4lB,EAAQ,EAAGj4lB,GAAK,EAAGA,IACL,IAAfk4lB,EAAQl4lB,KAGU,OADlB63lB,EAAQ94lB,EADR+uD,EAAM9tD,EAAI+3lB,IAEApilB,QACN5W,EAAE+uD,GAAO+piB,EAAQ3K,EAAY2K,IAGjCzD,GAAMyD,EAAOljlB,EAAKjE,EAAS8E,GAD3BiilB,EAAU3piB,EAAM,GAC4BypiB,EAAUtklB,EAAiBlU,EAAE04lB,IAAU,GAAQD,EAAW/hlB,GAItH,CA7IQgjlB,CAA0B9zlB,EAAG5F,EAAG2R,EAAS4mlB,EAASC,EAASG,EAAMC,EAAM/ylB,EAAG+P,EAAKa,EAAOgilB,EAAWnilB,EAAaI,EAEtH,CA9MwBijlB,CAAmBjC,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAO4hlB,EAAYC,EAAY75Z,EAAUnoL,EAAaI,GAgHjJ,SAA+BghlB,EAAcd,EAAchhlB,EAAKjE,EAAS8E,EAAOmjlB,EAAoBC,EAAoBp7Z,EAAU/nL,GAK9H,IAJA,IAEIojlB,EACAxxd,EAHAyxd,EAAeH,EAAqBC,EAAqBA,EAAqBD,EAC9E34lB,EAAI,EAGDA,EAAI84lB,IAAgB94lB,EACvB64lB,EAAYlD,EAAa31lB,GACzBqnI,EAAYovd,EAAaz2lB,GACH,MAAlB64lB,EAAUljlB,QACVkjlB,EAAYlD,EAAa31lB,GAAKktlB,EAAY2L,IAE9C1D,GAAM9td,EAAWwxd,EAAWlklB,EAAKjE,EAAS8E,EAAOgoL,EAAU/nL,GAC3DghlB,EAAaz2lB,GAAK64lB,EAEtB,GAAIF,EAAqBC,EACrB,IAAK54lB,EAAI84lB,EAAc94lB,EAAI44lB,IAAsB54lB,EAEvB,OADtB64lB,EAAYlD,EAAa31lB,IACX2V,QACVkjlB,EAAYlD,EAAa31lB,GAAKktlB,EAAY2L,IAE9CzE,GAAMyE,EAAWlklB,EAAKjE,EAAS8E,EAAOgoL,EAAU/nL,QAGnD,GAAIkjlB,EAAqBC,EAC1B,IAAK54lB,EAAI84lB,EAAc94lB,EAAI24lB,IAAsB34lB,EAC7CuT,GAAOkjlB,EAAaz2lB,GAAI2U,EAGpC,CAzIwBoklB,CAAsBtC,EAAcd,EAAch/kB,EAAWjG,EAAS8E,EAAO4hlB,EAAYC,EAAY75Z,EAAU/nL,IAMvI,CAMA,SAAS0glB,GAAqBh/kB,EAAUtG,EAAWD,EAAW+F,EAAWjG,EAAS8E,EAAOmiJ,EAAO6lC,EAAU/nL,GACtG,IAAIujlB,EAAY7hlB,EAASvN,MACrB6rlB,EAAYt+kB,EAASrG,MACrB8ilB,EAAah/kB,QAAQuC,EAAS08kB,IAC9BoF,EAASxglB,EAAWtB,EAAS+hlB,uBAIjC,GAHItF,IACA/ilB,EAAYi7kB,EAAmB30kB,EAAUvG,EAAWC,IAAcmolB,EAAY9N,EAAY8N,EAAWnolB,GAAaA,IAElH8mJ,IAAUshc,GAAWA,GAAU9hlB,EAAS+hlB,sBAAsBtolB,EAAWC,EAAWH,GAAW,EAC1FkjlB,GAAcn7kB,EAAWtB,EAASgilB,sBACnChilB,EAASgilB,oBAAoBvolB,EAAWC,EAAWH,GAEvDyG,EAASrG,MAAQF,EACjBuG,EAASvN,MAAQiH,EACjBsG,EAASzG,QAAUA,EACnB,IAAI0olB,EAAW,KACX5F,EAAYD,GAAep8kB,EAAUvG,EAAWF,GAChDkjlB,GAAcn7kB,EAAWtB,EAAS28kB,2BAClCsF,EAAWjilB,EAAS28kB,wBAAwB2B,EAAWuD,IAE3D7D,GAAMh+kB,EAASjE,IAAKsglB,EAAW78kB,EAAWQ,EAASE,IAAK7B,EAAOgoL,EAAU/nL,GAEzE0B,EAASjE,IAAMsglB,EACX/6kB,EAAWtB,EAAS6vD,qBA5BhC,SAAyB7vD,EAAUs+kB,EAAWuD,EAAWI,EAAU3jlB,GAC/DA,EAAU3R,MAAK,WACXqT,EAAS6vD,mBAAmByuhB,EAAWuD,EAAWI,EACtD,GACJ,CAyBYC,CAAgBlilB,EAAUs+kB,EAAWuD,EAAWI,EAAU3jlB,EAElE,MAEI0B,EAASrG,MAAQF,EACjBuG,EAASvN,MAAQiH,EACjBsG,EAASzG,QAAUA,CAE3B,CA6SA,IAAI6nlB,GAAS,EAsGb,SAASjglB,GAAOjM,EAAOsK,EAAWhH,EAAUe,QACtB,IAAbf,IAAsBA,EAAW,WACrB,IAAZe,IAAqBA,EAAUwG,GAtCxC,SAAkB7K,EAAOsK,EAAWhH,EAAUe,GAC1C,IAAI+E,EAAY,GACZ6jlB,EAAY3ilB,EAAU6B,GAC1BuzkB,EAAYrolB,GAAI,EACZ0mlB,EAAckP,GACTlP,EAAc/9kB,KACG,MAAdA,EAAMsJ,QACNtJ,EAAQ6glB,EAAY7glB,IAExB+nlB,GAAM/nlB,EAAOsK,EAAWjG,GAAS,EAAO,KAAM+E,GAC9CkB,EAAU6B,GAAKnM,EACfitlB,EAAYjtlB,GAIZ+9kB,EAAc/9kB,IACdkH,GAAO+llB,EAAW3ilB,GAClBA,EAAU6B,GAAK,OAGG,MAAdnM,EAAMsJ,QACNtJ,EAAQ6glB,EAAY7glB,IAExB8olB,GAAMmE,EAAWjtlB,EAAOsK,EAAWjG,GAAS,EAAO,KAAM+E,GACzD6jlB,EAAY3ilB,EAAU6B,GAAKnM,GAGnCm/kB,EAAQ/1kB,GACRs2kB,EAAYrolB,GAAI,EACZ+U,EAAW9I,IACXA,IAEA8I,EAAW+B,EAAQyxkB,iBACnBzxkB,EAAQyxkB,eAAeqN,EAAW3ilB,EAE1C,CAKI4ilB,CAASltlB,EAAOsK,EAAWhH,EAAUe,EACzC,CApD+C,qBAAbuE,UAM1BpX,OAAOqyE,OACPA,KAAKxwE,UAAUsvlB,IAAM,KACrB9+gB,KAAKxwE,UAAU8Y,GAAK,MAsD5B,IAAIghlB,GAAQ,GACRj6E,GAA8B,qBAAZr9gB,QAChBA,QAAQC,UAAUS,KAAKogC,KAAK9gC,QAAQC,WACpC,SAAUwC,GACR9G,OAAOmb,WAAWrU,EAAG,EACzB,EACA80lB,IAAmB,EACvB,SAASC,GAAkBp+jB,EAAWknP,EAAU7yQ,EAAUgoJ,GACtD,IAAIu9Z,EAAU55hB,EAAU64jB,IAIxB,GAHI17kB,EAAW+pQ,KACXA,EAAWA,EAAS0yS,EAAUg2B,EAAY5vjB,EAAU1xB,MAAOsrjB,GAAW55hB,EAAU1xB,MAAO0xB,EAAUxqB,MAAOwqB,EAAU5qB,UAElH05kB,EAAcl1B,GACd55hB,EAAU64jB,IAAM3xU,OAGhB,IAAK,IAAIm3U,KAAYn3U,EACjB0yS,EAAQykC,GAAYn3U,EAASm3U,GAGrC,GAAKr+jB,EAAU44jB,IA4BNz7kB,EAAW9I,IAChB2rB,EAAU0nhB,GAAGl/iB,KAAK6L,EAASqzB,KAAK1H,QA7BhB,CAChB,IAAKywjB,EAAYrolB,GACQ,IAAjB81lB,GAAMr5lB,OAKN,OAJAoiR,GAAWjnP,EAAWq8H,QAClBl/I,EAAW9I,IACXA,EAASvP,KAAKk7B,IAe1B,IAVkC,IAA9Bk+jB,GAAMh5lB,QAAQ86B,IACdk+jB,GAAM11lB,KAAKw3B,GAEXq8H,IACAr8H,EAAUs+jB,IAAK,GAEdH,KACDA,IAAmB,EACnBl6E,GAASs6E,KAETphlB,EAAW9I,GAAW,CACtB,IAAImqlB,EAAKx+jB,EAAUy+jB,IACdD,IACDA,EAAKx+jB,EAAUy+jB,IAAM,IAEzBD,EAAGh2lB,KAAK6L,EACZ,CACJ,CAIJ,CACA,SAASqqlB,GAAsB1+jB,GAE3B,IADA,IAAIi3F,EAAQj3F,EAAUy+jB,IACb/5lB,EAAI,EAAGA,EAAIuyH,EAAMpyH,SAAUH,EAChCuyH,EAAMvyH,GAAGI,KAAKk7B,GAElBA,EAAUy+jB,IAAM,IACpB,CACA,SAASF,KACL,IAAIv+jB,EAEJ,IADAm+jB,IAAmB,EACXn+jB,EAAYk+jB,GAAMn0lB,SACtB,IAAKi2B,EAAU02jB,IAAK,CAChB,IAAIr6b,EAAQr8H,EAAUs+jB,GACtBt+jB,EAAUs+jB,IAAK,EACfr3U,GAAWjnP,EAAWq8H,GAClBr8H,EAAUy+jB,KACVC,GAAsB1+jB,EAE9B,CAER,CACA,SAASinP,GAAWjnP,EAAWq8H,GAC3B,GAAIA,IAAUr8H,EAAU44jB,IAAK,CACzB,IAAI+F,EAAe3+jB,EAAU64jB,IAC7B74jB,EAAU64jB,IAAM,KAChB,IAAI1+kB,EAAY,GAChBs2kB,EAAYrolB,GAAI,EAChByylB,GAAqB76jB,EAAW4vjB,EAAY5vjB,EAAU1xB,MAAOqwlB,GAAe3+jB,EAAUxqB,MAAOmC,EAAiBqoB,EAAUpoB,KAAK,GAAMoC,WAAYgmB,EAAU5qB,QAAS4qB,EAAUy4jB,KAAMp8b,EAAO,KAAMliJ,GAC/L+1kB,EAAQ/1kB,GACRs2kB,EAAYrolB,GAAI,CACpB,MAEI43B,EAAU1xB,MAAQ0xB,EAAU64jB,IAC5B74jB,EAAU64jB,IAAM,IAExB,CACA,IAAIpjlB,GAAY,SAAmBD,EAAOJ,GAEtClR,KAAKoK,MAAQ,KAEbpK,KAAK00lB,KAAM,EACX10lB,KAAKw0lB,KAAM,EACXx0lB,KAAK20lB,IAAM,KACX30lB,KAAK0T,IAAM,KACX1T,KAAKwylB,KAAM,EACXxylB,KAAK6X,IAAM,KACX7X,KAAKu6lB,IAAM,KACXv6lB,KAAKq0lB,IAAK,EACVr0lB,KAAKwjjB,GAAK,KACVxjjB,KAAKu0lB,MAAO,EACZv0lB,KAAKo6lB,IAAK,EACVp6lB,KAAKsR,MAAQA,GAASoG,EACtB1X,KAAKkR,QAAUA,GAAWwG,CAC9B,EACAnG,GAAUrR,UAAUipE,YAAc,SAAsBh5D,GAChDnQ,KAAKwylB,KAIT0H,GAAkBl6lB,KAAM,CAAC,EAAGmQ,GAAU,EAC1C,EACAoB,GAAUrR,UAAUo0E,SAAW,SAAmB0uM,EAAU7yQ,GACpDnQ,KAAKwylB,KAGJxylB,KAAKw0lB,KACN0F,GAAkBl6lB,KAAMgjR,EAAU7yQ,GAAU,EAEpD,EACAoB,GAAUrR,UAAU4Y,OAAS,SAAiBjH,EAAYC,EAAY4olB,GAClE,OAAO,IACX,qBCxmEA,IAAIlrlB,EAAW,CAAC,EAAEA,SAElBgkC,EAAOp1C,QAAUuB,MAAMkoB,SAAW,SAAUo3B,GAC1C,MAA6B,kBAAtBzvC,EAAS5O,KAAKq+C,EACvB,yBCJAzL,EAAOp1C,QAAUgQ,KAAKowiB,QAAUpwiB,KAAKowiB,MAAQp/iB,EAAAA,OAAAA,SAA8BA,EAAQ,+BCAnF,SAOE,SAAUm2D,GAUX,QAPe,2BAAdwwe,EAAAA,GAAc,mCACa,EAG3Bvyf,EAAOp1C,QAAUm3D,MACU,EAEG,CAC9B,IAAIoliB,EAAat8lB,OAAOu8lB,QACpBC,EAAMx8lB,OAAOu8lB,QAAUrliB,IAC3BsliB,EAAIC,WAAa,WAEhB,OADAz8lB,OAAOu8lB,QAAUD,EACVE,CACR,CACD,CACA,CAlBC,EAkBA,WACD,SAASjjjB,IAGR,IAFA,IAAIp3C,EAAI,EACJ0C,EAAS,CAAC,EACP1C,EAAIE,UAAUC,OAAQH,IAAK,CACjC,IAAIohH,EAAalhH,UAAWF,GAC5B,IAAK,IAAIc,KAAOsgH,EACf1+G,EAAO5B,GAAOsgH,EAAWtgH,EAE3B,CACA,OAAO4B,CACR,CAEA,SAAS6L,EAAQxO,GAChB,OAAOA,EAAE8Z,QAAQ,mBAAoB3K,mBACtC,CAyHA,OAvHA,SAAS6pD,EAAMwhiB,GACd,SAASF,IAAO,CAEhB,SAAS/zlB,EAAKxF,EAAKwB,EAAO8+G,GACzB,GAAwB,qBAAbnsG,SAAX,CAQkC,kBAJlCmsG,EAAahqE,EAAO,CACnB1a,KAAM,KACJ29jB,EAAI7mjB,SAAU4tE,IAEKnkE,UACrBmkE,EAAWnkE,QAAU,IAAIK,KAAkB,EAAb,IAAIA,KAAkC,MAArB8jE,EAAWnkE,UAI3DmkE,EAAWnkE,QAAUmkE,EAAWnkE,QAAUmkE,EAAWnkE,QAAQ2X,cAAgB,GAE7E,IACC,IAAIlyD,EAASqrB,KAAKhP,UAAUzc,GACxB,UAAU6+B,KAAKz+B,KAClBJ,EAAQI,EAEV,CAAE,MAAOnC,GAAI,CAEb+B,EAAQi4lB,EAAUv9iB,MACjBu9iB,EAAUv9iB,MAAM16C,EAAOxB,GACvBkxC,mBAAmBrjC,OAAOrM,IACxBuX,QAAQ,4DAA6D3K,oBAExEpO,EAAMkxC,mBAAmBrjC,OAAO7N,IAC9B+Y,QAAQ,2BAA4B3K,oBACpC2K,QAAQ,UAAW2kD,QAErB,IAAIg8hB,EAAwB,GAC5B,IAAK,IAAIC,KAAiBr5e,EACpBA,EAAWq5e,KAGhBD,GAAyB,KAAOC,GACE,IAA9Br5e,EAAWq5e,KAWfD,GAAyB,IAAMp5e,EAAWq5e,GAAenolB,MAAM,KAAK,KAGrE,OAAQ2C,SAASmoC,OAASt8C,EAAM,IAAMwB,EAAQk4lB,CAjD9C,CAkDD,CAEA,SAASp0lB,EAAKtF,EAAKorJ,GAClB,GAAwB,qBAAbj3I,SAAX,CAUA,IANA,IAAIyllB,EAAM,CAAC,EAGPxnjB,EAAUj+B,SAASmoC,OAASnoC,SAASmoC,OAAO9qC,MAAM,MAAQ,GAC1DtS,EAAI,EAEDA,EAAIkzC,EAAQ/yC,OAAQH,IAAK,CAC/B,IAAI28C,EAAQzJ,EAAQlzC,GAAGsS,MAAM,KACzB8qC,EAAST,EAAMhgC,MAAM,GAAG1N,KAAK,KAE5Bi9I,GAA6B,MAArB9uG,EAAOzY,OAAO,KAC1ByY,EAASA,EAAOzgC,MAAM,GAAI,IAG3B,IACC,IAAIpW,EAAOgI,EAAOouC,EAAM,IAIxB,GAHAS,GAAUm9iB,EAAUpkjB,MAAQokjB,GAAWn9iB,EAAQ72C,IAC9CgI,EAAO6uC,GAEJ8uG,EACH,IACC9uG,EAASrvB,KAAK7O,MAAMk+B,EACrB,CAAE,MAAO78C,GAAI,CAKd,GAFAm6lB,EAAIn0lB,GAAQ62C,EAERt8C,IAAQyF,EACX,KAEF,CAAE,MAAOhG,GAAI,CACd,CAEA,OAAOO,EAAM45lB,EAAI55lB,GAAO45lB,CAnCxB,CAoCD,CAmBA,OAjBAL,EAAI/zlB,IAAMA,EACV+zlB,EAAIj0lB,IAAM,SAAUtF,GACnB,OAAOsF,EAAItF,GAAK,EACjB,EACAu5lB,EAAIM,QAAU,SAAU75lB,GACvB,OAAOsF,EAAItF,GAAK,EACjB,EACAu5lB,EAAI9mlB,OAAS,SAAUzS,EAAKsgH,GAC3B96G,EAAIxF,EAAK,GAAIs2C,EAAOgqE,EAAY,CAC/BnkE,SAAU,IAEZ,EAEAo9iB,EAAI7mjB,SAAW,CAAC,EAEhB6mjB,EAAIO,cAAgB7hiB,EAEbshiB,CACR,CAEOthiB,EAAK,WAAa,GAC1B,2BClKA,IAIIruD,EAJY9L,EAAQ,MAITi8lB,CAHJj8lB,EAAQ,OAGY,YAE/Bo0C,EAAOp1C,QAAU8M,yBCNjB,IAAIowlB,EAAYl8lB,EAAQ,OACpBm8lB,EAAan8lB,EAAQ,OACrBo8lB,EAAUp8lB,EAAQ,OAClBq8lB,EAAUr8lB,EAAQ,OAClBs8lB,EAAUt8lB,EAAQ,OAStB,SAASgijB,EAAK3miB,GACZ,IAAIsC,GAAS,EACTpc,EAAoB,MAAX8Z,EAAkB,EAAIA,EAAQ9Z,OAG3C,IADAX,KAAKw9B,UACIzgB,EAAQpc,GAAQ,CACvB,IAAI0sH,EAAQ5yG,EAAQsC,GACpB/c,KAAK8G,IAAIumH,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGA+zb,EAAKlhjB,UAAUs9B,MAAQ89jB,EACvBl6C,EAAKlhjB,UAAkB,OAAIq7lB,EAC3Bn6C,EAAKlhjB,UAAU0G,IAAM40lB,EACrBp6C,EAAKlhjB,UAAUyG,IAAM80lB,EACrBr6C,EAAKlhjB,UAAU4G,IAAM40lB,EAErBlojB,EAAOp1C,QAAUgjjB,yBC/BjB,IAAIu6C,EAAiBv8lB,EAAQ,OACzBw8lB,EAAkBx8lB,EAAQ,MAC1By8lB,EAAez8lB,EAAQ,OACvB08lB,EAAe18lB,EAAQ,OACvB28lB,EAAe38lB,EAAQ,OAS3B,SAAS48lB,EAAUvhlB,GACjB,IAAIsC,GAAS,EACTpc,EAAoB,MAAX8Z,EAAkB,EAAIA,EAAQ9Z,OAG3C,IADAX,KAAKw9B,UACIzgB,EAAQpc,GAAQ,CACvB,IAAI0sH,EAAQ5yG,EAAQsC,GACpB/c,KAAK8G,IAAIumH,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGA2ue,EAAU97lB,UAAUs9B,MAAQm+jB,EAC5BK,EAAU97lB,UAAkB,OAAI07lB,EAChCI,EAAU97lB,UAAU0G,IAAMi1lB,EAC1BG,EAAU97lB,UAAUyG,IAAMm1lB,EAC1BE,EAAU97lB,UAAU4G,IAAMi1lB,EAE1BvojB,EAAOp1C,QAAU49lB,yBC/BjB,IAII7qhB,EAJY/xE,EAAQ,MAIdi8lB,CAHCj8lB,EAAQ,OAGO,OAE1Bo0C,EAAOp1C,QAAU+yE,yBCNjB,IAAI8qhB,EAAgB78lB,EAAQ,OACxB88lB,EAAiB98lB,EAAQ,MACzB+8lB,EAAc/8lB,EAAQ,OACtBg9lB,EAAch9lB,EAAQ,OACtBi9lB,EAAcj9lB,EAAQ,OAS1B,SAASk9lB,EAAS7hlB,GAChB,IAAIsC,GAAS,EACTpc,EAAoB,MAAX8Z,EAAkB,EAAIA,EAAQ9Z,OAG3C,IADAX,KAAKw9B,UACIzgB,EAAQpc,GAAQ,CACvB,IAAI0sH,EAAQ5yG,EAAQsC,GACpB/c,KAAK8G,IAAIumH,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAive,EAASp8lB,UAAUs9B,MAAQy+jB,EAC3BK,EAASp8lB,UAAkB,OAAIg8lB,EAC/BI,EAASp8lB,UAAU0G,IAAMu1lB,EACzBG,EAASp8lB,UAAUyG,IAAMy1lB,EACzBE,EAASp8lB,UAAU4G,IAAMu1lB,EAEzB7ojB,EAAOp1C,QAAUk+lB,yBC/BjB,IAII55lB,EAJYtD,EAAQ,MAIVi8lB,CAHHj8lB,EAAQ,OAGW,WAE9Bo0C,EAAOp1C,QAAUsE,yBCNjB,IAIIkX,EAJYxa,EAAQ,MAIdi8lB,CAHCj8lB,EAAQ,OAGO,OAE1Bo0C,EAAOp1C,QAAUwb,yBCNjB,IAAI0ilB,EAAWl9lB,EAAQ,OACnBm9lB,EAAcn9lB,EAAQ,OACtBo9lB,EAAcp9lB,EAAQ,OAU1B,SAASq9lB,EAAS74jB,GAChB,IAAI7mB,GAAS,EACTpc,EAAmB,MAAVijC,EAAiB,EAAIA,EAAOjjC,OAGzC,IADAX,KAAKokkB,SAAW,IAAIk4B,IACXv/kB,EAAQpc,GACfX,KAAK8T,IAAI8vB,EAAO7mB,GAEpB,CAGA0/kB,EAASv8lB,UAAU4T,IAAM2olB,EAASv8lB,UAAUoE,KAAOi4lB,EACnDE,EAASv8lB,UAAUyG,IAAM61lB,EAEzBhpjB,EAAOp1C,QAAUq+lB,yBC1BjB,IAAIT,EAAY58lB,EAAQ,OACpBs9lB,EAAat9lB,EAAQ,OACrBu9lB,EAAcv9lB,EAAQ,OACtBw9lB,EAAWx9lB,EAAQ,OACnBy9lB,EAAWz9lB,EAAQ,OACnB09lB,EAAW19lB,EAAQ,OASvB,SAAS29lB,EAAMtilB,GACb,IAAI1S,EAAO/H,KAAKokkB,SAAW,IAAI43B,EAAUvhlB,GACzCza,KAAK2gB,KAAO5Y,EAAK4Y,IACnB,CAGAo8kB,EAAM78lB,UAAUs9B,MAAQk/jB,EACxBK,EAAM78lB,UAAkB,OAAIy8lB,EAC5BI,EAAM78lB,UAAU0G,IAAMg2lB,EACtBG,EAAM78lB,UAAUyG,IAAMk2lB,EACtBE,EAAM78lB,UAAU4G,IAAMg2lB,EAEtBtpjB,EAAOp1C,QAAU2+lB,yBC1BjB,IAGI/4lB,EAHO5E,EAAQ,OAGD4E,OAElBwvC,EAAOp1C,QAAU4F,yBCLjB,IAGIkD,EAHO9H,EAAQ,OAGG8H,WAEtBssC,EAAOp1C,QAAU8I,wBCLjB,IAIIia,EAJY/hB,EAAQ,MAIVi8lB,CAHHj8lB,EAAQ,OAGW,WAE9Bo0C,EAAOp1C,QAAU+iB,qBCcjBqyB,EAAOp1C,QAVP,SAAeolB,EAAMlhB,EAASgmB,GAC5B,OAAQA,EAAK3nB,QACX,KAAK,EAAG,OAAO6iB,EAAK5iB,KAAK0B,GACzB,KAAK,EAAG,OAAOkhB,EAAK5iB,KAAK0B,EAASgmB,EAAK,IACvC,KAAK,EAAG,OAAO9E,EAAK5iB,KAAK0B,EAASgmB,EAAK,GAAIA,EAAK,IAChD,KAAK,EAAG,OAAO9E,EAAK5iB,KAAK0B,EAASgmB,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAE3D,OAAO9E,EAAK3iB,MAAMyB,EAASgmB,EAC7B,qBCMAkrB,EAAOp1C,QAfP,SAAqBmf,EAAOy/kB,GAM1B,IALA,IAAIjglB,GAAS,EACTpc,EAAkB,MAAT4c,EAAgB,EAAIA,EAAM5c,OACnCs8lB,EAAW,EACX/5lB,EAAS,KAEJ6Z,EAAQpc,GAAQ,CACvB,IAAImC,EAAQya,EAAMR,GACdiglB,EAAUl6lB,EAAOia,EAAOQ,KAC1Bra,EAAO+5lB,KAAcn6lB,EAEzB,CACA,OAAOI,CACT,yBCtBA,IAAIg6lB,EAAY99lB,EAAQ,OACpB+9lB,EAAc/9lB,EAAQ,OACtByoB,EAAUzoB,EAAQ,OAClB+8C,EAAW/8C,EAAQ,MACnBg+lB,EAAUh+lB,EAAQ,OAClB6kkB,EAAe7kkB,EAAQ,OAMvBS,EAHcL,OAAOU,UAGQL,eAqCjC2zC,EAAOp1C,QA3BP,SAAuB0E,EAAOu6lB,GAC5B,IAAIC,EAAQz1kB,EAAQ/kB,GAChBy6lB,GAASD,GAASH,EAAYr6lB,GAC9B06lB,GAAUF,IAAUC,GAASphjB,EAASr5C,GACtC26lB,GAAUH,IAAUC,IAAUC,GAAUv5B,EAAanhkB,GACrD46lB,EAAcJ,GAASC,GAASC,GAAUC,EAC1Cv6lB,EAASw6lB,EAAcR,EAAUp6lB,EAAMnC,OAAQwO,QAAU,GACzDxO,EAASuC,EAAOvC,OAEpB,IAAK,IAAIW,KAAOwB,GACTu6lB,IAAax9lB,EAAee,KAAKkC,EAAOxB,IACvCo8lB,IAEQ,UAAPp8lB,GAECk8lB,IAAkB,UAAPl8lB,GAA0B,UAAPA,IAE9Bm8lB,IAAkB,UAAPn8lB,GAA0B,cAAPA,GAA8B,cAAPA,IAEtD87lB,EAAQ97lB,EAAKX,KAElBuC,EAAOoB,KAAKhD,GAGhB,OAAO4B,CACT,qBC1BAswC,EAAOp1C,QAXP,SAAkBmf,EAAOoglB,GAKvB,IAJA,IAAI5glB,GAAS,EACTpc,EAAkB,MAAT4c,EAAgB,EAAIA,EAAM5c,OACnCuC,EAASvD,MAAMgB,KAEVoc,EAAQpc,GACfuC,EAAO6Z,GAAS4glB,EAASpglB,EAAMR,GAAQA,EAAOQ,GAEhD,OAAOra,CACT,qBCCAswC,EAAOp1C,QAXP,SAAmBmf,EAAOqmB,GAKxB,IAJA,IAAI7mB,GAAS,EACTpc,EAASijC,EAAOjjC,OAChBqf,EAASzC,EAAM5c,SAEVoc,EAAQpc,GACf4c,EAAMyC,EAASjD,GAAS6mB,EAAO7mB,GAEjC,OAAOQ,CACT,qBCQAi2B,EAAOp1C,QAbP,SAAqBmf,EAAOoglB,EAAU5/c,EAAa6/c,GACjD,IAAI7glB,GAAS,EACTpc,EAAkB,MAAT4c,EAAgB,EAAIA,EAAM5c,OAKvC,IAHIi9lB,GAAaj9lB,IACfo9I,EAAcxgI,IAAQR,MAEfA,EAAQpc,GACfo9I,EAAc4/c,EAAS5/c,EAAaxgI,EAAMR,GAAQA,EAAOQ,GAE3D,OAAOwgI,CACT,qBCDAvqG,EAAOp1C,QAZP,SAAmBmf,EAAOy/kB,GAIxB,IAHA,IAAIjglB,GAAS,EACTpc,EAAkB,MAAT4c,EAAgB,EAAIA,EAAM5c,SAE9Boc,EAAQpc,GACf,GAAIq8lB,EAAUz/kB,EAAMR,GAAQA,EAAOQ,GACjC,OAAO,EAGX,OAAO,CACT,qBCnBA,IAAIsglB,EAAc,4CAalBrqjB,EAAOp1C,QAJP,SAAoBwpB,GAClB,OAAOA,EAAOhG,MAAMi8kB,IAAgB,EACtC,yBCZA,IAAIC,EAAkB1+lB,EAAQ,OAC1BuzF,EAAKvzF,EAAQ,OAkBjBo0C,EAAOp1C,QAPP,SAA0B8yC,EAAQ5vC,EAAKwB,SACtBvE,IAAVuE,IAAwB6vF,EAAGzhD,EAAO5vC,GAAMwB,SAC9BvE,IAAVuE,KAAyBxB,KAAO4vC,KACnC4sjB,EAAgB5sjB,EAAQ5vC,EAAKwB,EAEjC,yBCjBA,IAAIg7lB,EAAkB1+lB,EAAQ,OAC1BuzF,EAAKvzF,EAAQ,OAMbS,EAHcL,OAAOU,UAGQL,eAoBjC2zC,EAAOp1C,QARP,SAAqB8yC,EAAQ5vC,EAAKwB,GAChC,IAAIi7lB,EAAW7sjB,EAAO5vC,GAChBzB,EAAee,KAAKswC,EAAQ5vC,IAAQqxF,EAAGorgB,EAAUj7lB,UACxCvE,IAAVuE,GAAyBxB,KAAO4vC,IACnC4sjB,EAAgB5sjB,EAAQ5vC,EAAKwB,EAEjC,yBCzBA,IAAI6vF,EAAKvzF,EAAQ,OAoBjBo0C,EAAOp1C,QAVP,SAAsBmf,EAAOjc,GAE3B,IADA,IAAIX,EAAS4c,EAAM5c,OACZA,KACL,GAAIgyF,EAAGp1E,EAAM5c,GAAQ,GAAIW,GACvB,OAAOX,EAGX,OAAQ,CACV,yBClBA,IAAIkB,EAAiBzC,EAAQ,OAwB7Bo0C,EAAOp1C,QAbP,SAAyB8yC,EAAQ5vC,EAAKwB,GACzB,aAAPxB,GAAsBO,EACxBA,EAAeqvC,EAAQ5vC,EAAK,CAC1B,cAAgB,EAChB,YAAc,EACd,MAASwB,EACT,UAAY,IAGdouC,EAAO5vC,GAAOwB,CAElB,yBCtBA,IAAI25C,EAAWr9C,EAAQ,MAGnB4+lB,EAAex+lB,OAAOW,OAUtB89lB,EAAc,WAChB,SAAS/sjB,IAAU,CACnB,OAAO,SAASkmG,GACd,IAAK36F,EAAS26F,GACZ,MAAO,CAAC,EAEV,GAAI4md,EACF,OAAOA,EAAa5md,GAEtBlmG,EAAOhxC,UAAYk3I,EACnB,IAAIl0I,EAAS,IAAIguC,EAEjB,OADAA,EAAOhxC,eAAY3B,EACZ2E,CACT,CACF,CAdkB,GAgBlBswC,EAAOp1C,QAAU6/lB,yBC7BjB,IAaIC,EAbgB9+lB,EAAQ,MAad++lB,GAEd3qjB,EAAOp1C,QAAU8/lB,yBCfjB,IAAIE,EAAWh/lB,EAAQ,OACnBi/lB,EAAQj/lB,EAAQ,OAsBpBo0C,EAAOp1C,QAZP,SAAiB8yC,EAAQhU,GAMvB,IAHA,IAAIngB,EAAQ,EACRpc,GAHJu8B,EAAOkhkB,EAASlhkB,EAAMgU,IAGJvwC,OAED,MAAVuwC,GAAkBn0B,EAAQpc,GAC/BuwC,EAASA,EAAOmtjB,EAAMnhkB,EAAKngB,OAE7B,OAAQA,GAASA,GAASpc,EAAUuwC,OAAS3yC,CAC/C,yBCrBA,IAAI+/lB,EAAYl/lB,EAAQ,OACpByoB,EAAUzoB,EAAQ,OAkBtBo0C,EAAOp1C,QALP,SAAwB8yC,EAAQqtjB,EAAUC,GACxC,IAAIt7lB,EAASq7lB,EAASrtjB,GACtB,OAAOrpB,EAAQqpB,GAAUhuC,EAASo7lB,EAAUp7lB,EAAQs7lB,EAAYttjB,GAClE,yBCjBA,IAAIltC,EAAS5E,EAAQ,OACjBq/lB,EAAYr/lB,EAAQ,OACpBs/lB,EAAiBt/lB,EAAQ,OAOzBu/lB,EAAiB36lB,EAASA,EAAOo9C,iBAAc7iD,EAkBnDi1C,EAAOp1C,QATP,SAAoB0E,GAClB,OAAa,MAATA,OACevE,IAAVuE,EAdQ,qBADL,gBAiBJ67lB,GAAkBA,KAAkBn/lB,OAAOsD,GAC/C27lB,EAAU37lB,GACV47lB,EAAe57lB,EACrB,qBCbA0wC,EAAOp1C,QAJP,SAAmB8yC,EAAQ5vC,GACzB,OAAiB,MAAV4vC,GAAkB5vC,KAAO9B,OAAO0xC,EACzC,wBCVA,IAAI0tjB,EAAax/lB,EAAQ,OACrBy/lB,EAAez/lB,EAAQ,OAgB3Bo0C,EAAOp1C,QAJP,SAAyB0E,GACvB,OAAO+7lB,EAAa/7lB,IAVR,sBAUkB87lB,EAAW97lB,EAC3C,yBCfA,IAAIg8lB,EAAkB1/lB,EAAQ,OAC1By/lB,EAAez/lB,EAAQ,OA0B3Bo0C,EAAOp1C,QAVP,SAAS2gmB,EAAYj8lB,EAAO6pB,EAAOqykB,EAASC,EAAY/jjB,GACtD,OAAIp4C,IAAU6pB,IAGD,MAAT7pB,GAA0B,MAAT6pB,IAAmBkykB,EAAa/7lB,KAAW+7lB,EAAalykB,GACpE7pB,IAAUA,GAAS6pB,IAAUA,EAE/BmykB,EAAgBh8lB,EAAO6pB,EAAOqykB,EAASC,EAAYF,EAAa7jjB,GACzE,yBCzBA,IAAI6hjB,EAAQ39lB,EAAQ,OAChB8/lB,EAAc9/lB,EAAQ,OACtB+/lB,EAAa//lB,EAAQ,OACrBggmB,EAAehgmB,EAAQ,OACvBigmB,EAASjgmB,EAAQ,OACjByoB,EAAUzoB,EAAQ,OAClB+8C,EAAW/8C,EAAQ,MACnB6kkB,EAAe7kkB,EAAQ,OAMvBkgmB,EAAU,qBACVC,EAAW,iBACXC,EAAY,kBAMZ3/lB,EAHcL,OAAOU,UAGQL,eA6DjC2zC,EAAOp1C,QA7CP,SAAyB8yC,EAAQvkB,EAAOqykB,EAASC,EAAYQ,EAAWvkjB,GACtE,IAAIwkjB,EAAW73kB,EAAQqpB,GACnByujB,EAAW93kB,EAAQ8E,GACnBizkB,EAASF,EAAWH,EAAWF,EAAOnujB,GACtC2ujB,EAASF,EAAWJ,EAAWF,EAAO1ykB,GAKtCmzkB,GAHJF,EAASA,GAAUN,EAAUE,EAAYI,IAGhBJ,EACrBO,GAHJF,EAASA,GAAUP,EAAUE,EAAYK,IAGhBL,EACrBQ,EAAYJ,GAAUC,EAE1B,GAAIG,GAAa7jjB,EAASjL,GAAS,CACjC,IAAKiL,EAASxvB,GACZ,OAAO,EAET+ykB,GAAW,EACXI,GAAW,CACb,CACA,GAAIE,IAAcF,EAEhB,OADA5kjB,IAAUA,EAAQ,IAAI6hjB,GACd2C,GAAYz7B,EAAa/yhB,GAC7BgujB,EAAYhujB,EAAQvkB,EAAOqykB,EAASC,EAAYQ,EAAWvkjB,GAC3DikjB,EAAWjujB,EAAQvkB,EAAOizkB,EAAQZ,EAASC,EAAYQ,EAAWvkjB,GAExE,KArDyB,EAqDnB8jjB,GAAiC,CACrC,IAAIiB,EAAeH,GAAYjgmB,EAAee,KAAKswC,EAAQ,eACvDgvjB,EAAeH,GAAYlgmB,EAAee,KAAK+rB,EAAO,eAE1D,GAAIszkB,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAe/ujB,EAAOpuC,QAAUouC,EAC/CkvjB,EAAeF,EAAevzkB,EAAM7pB,QAAU6pB,EAGlD,OADAuuB,IAAUA,EAAQ,IAAI6hjB,GACf0C,EAAUU,EAAcC,EAAcpB,EAASC,EAAY/jjB,EACpE,CACF,CACA,QAAK8kjB,IAGL9kjB,IAAUA,EAAQ,IAAI6hjB,GACfqC,EAAalujB,EAAQvkB,EAAOqykB,EAASC,EAAYQ,EAAWvkjB,GACrE,wBChFA,IAAI6hjB,EAAQ39lB,EAAQ,OAChB2/lB,EAAc3/lB,EAAQ,OA4D1Bo0C,EAAOp1C,QA5CP,SAAqB8yC,EAAQmB,EAAQgujB,EAAWpB,GAC9C,IAAIlilB,EAAQsjlB,EAAU1/lB,OAClBA,EAASoc,EACTujlB,GAAgBrB,EAEpB,GAAc,MAAV/tjB,EACF,OAAQvwC,EAGV,IADAuwC,EAAS1xC,OAAO0xC,GACTn0B,KAAS,CACd,IAAIhV,EAAOs4lB,EAAUtjlB,GACrB,GAAKujlB,GAAgBv4lB,EAAK,GAClBA,EAAK,KAAOmpC,EAAOnpC,EAAK,MACtBA,EAAK,KAAMmpC,GAEnB,OAAO,CAEX,CACA,OAASn0B,EAAQpc,GAAQ,CAEvB,IAAIW,GADJyG,EAAOs4lB,EAAUtjlB,IACF,GACXghlB,EAAW7sjB,EAAO5vC,GAClBi/lB,EAAWx4lB,EAAK,GAEpB,GAAIu4lB,GAAgBv4lB,EAAK,IACvB,QAAiBxJ,IAAbw/lB,KAA4Bz8lB,KAAO4vC,GACrC,OAAO,MAEJ,CACL,IAAIgK,EAAQ,IAAI6hjB,EAChB,GAAIkC,EACF,IAAI/7lB,EAAS+7lB,EAAWlB,EAAUwC,EAAUj/lB,EAAK4vC,EAAQmB,EAAQ6I,GAEnE,UAAiB38C,IAAX2E,EACE67lB,EAAYwB,EAAUxC,EAAUyC,EAA+CvB,EAAY/jjB,GAC3Fh4C,GAEN,OAAO,CAEX,CACF,CACA,OAAO,CACT,yBC3DA,IAAI+V,EAAa7Z,EAAQ,OACrBqhmB,EAAWrhmB,EAAQ,KACnBq9C,EAAWr9C,EAAQ,MACnBshmB,EAAWthmB,EAAQ,OASnBuhmB,EAAe,8BAGfC,EAAYzne,SAASj5H,UACrB2gmB,EAAcrhmB,OAAOU,UAGrB4gmB,EAAeF,EAAUpxlB,SAGzB3P,EAAiBghmB,EAAYhhmB,eAG7BkhmB,EAAa17jB,OAAO,IACtBy7jB,EAAalgmB,KAAKf,GAAgBwa,QAjBjB,sBAiBuC,QACvDA,QAAQ,yDAA0D,SAAW,KAmBhFm5B,EAAOp1C,QARP,SAAsB0E,GACpB,SAAK25C,EAAS35C,IAAU29lB,EAAS39lB,MAGnBmW,EAAWnW,GAASi+lB,EAAaJ,GAChCh/jB,KAAK++jB,EAAS59lB,GAC/B,yBC5CA,IAAI87lB,EAAax/lB,EAAQ,OACrB4hmB,EAAW5hmB,EAAQ,OACnBy/lB,EAAez/lB,EAAQ,OA8BvB6hmB,EAAiB,CAAC,EACtBA,EAZiB,yBAYYA,EAXZ,yBAYjBA,EAXc,sBAWYA,EAVX,uBAWfA,EAVe,uBAUYA,EATZ,uBAUfA,EATsB,8BASYA,EARlB,wBAShBA,EARgB,yBAQY,EAC5BA,EAjCc,sBAiCYA,EAhCX,kBAiCfA,EApBqB,wBAoBYA,EAhCnB,oBAiCdA,EApBkB,qBAoBYA,EAhChB,iBAiCdA,EAhCe,kBAgCYA,EA/Bb,qBAgCdA,EA/Ba,gBA+BYA,EA9BT,mBA+BhBA,EA9BgB,mBA8BYA,EA7BZ,mBA8BhBA,EA7Ba,gBA6BYA,EA5BT,mBA6BhBA,EA5BiB,qBA4BY,EAc7BztjB,EAAOp1C,QALP,SAA0B0E,GACxB,OAAO+7lB,EAAa/7lB,IAClBk+lB,EAASl+lB,EAAMnC,WAAasgmB,EAAerC,EAAW97lB,GAC1D,yBCzDA,IAAIo+lB,EAAc9hmB,EAAQ,OACtB+hmB,EAAsB/hmB,EAAQ,OAC9BgimB,EAAWhimB,EAAQ,MACnByoB,EAAUzoB,EAAQ,OAClB8gB,EAAW9gB,EAAQ,OA0BvBo0C,EAAOp1C,QAjBP,SAAsB0E,GAGpB,MAAoB,mBAATA,EACFA,EAEI,MAATA,EACKs+lB,EAEW,iBAATt+lB,EACF+kB,EAAQ/kB,GACXq+lB,EAAoBr+lB,EAAM,GAAIA,EAAM,IACpCo+lB,EAAYp+lB,GAEXod,EAASpd,EAClB,yBC5BA,IAAIu+lB,EAAcjimB,EAAQ,OACtBkimB,EAAalimB,EAAQ,OAMrBS,EAHcL,OAAOU,UAGQL,eAsBjC2zC,EAAOp1C,QAbP,SAAkB8yC,GAChB,IAAKmwjB,EAAYnwjB,GACf,OAAOowjB,EAAWpwjB,GAEpB,IAAIhuC,EAAS,GACb,IAAK,IAAI5B,KAAO9B,OAAO0xC,GACjBrxC,EAAee,KAAKswC,EAAQ5vC,IAAe,eAAPA,GACtC4B,EAAOoB,KAAKhD,GAGhB,OAAO4B,CACT,wBC3BA,IAAIu5C,EAAWr9C,EAAQ,MACnBiimB,EAAcjimB,EAAQ,OACtBmimB,EAAenimB,EAAQ,MAMvBS,EAHcL,OAAOU,UAGQL,eAwBjC2zC,EAAOp1C,QAfP,SAAoB8yC,GAClB,IAAKuL,EAASvL,GACZ,OAAOqwjB,EAAarwjB,GAEtB,IAAIswjB,EAAUH,EAAYnwjB,GACtBhuC,EAAS,GAEb,IAAK,IAAI5B,KAAO4vC,GACD,eAAP5vC,IAAyBkgmB,GAAY3hmB,EAAee,KAAKswC,EAAQ5vC,KACrE4B,EAAOoB,KAAKhD,GAGhB,OAAO4B,CACT,yBC9BA,IAAIu+lB,EAAcrimB,EAAQ,MACtBsimB,EAAetimB,EAAQ,OACvBuimB,EAA0BvimB,EAAQ,OAmBtCo0C,EAAOp1C,QAVP,SAAqBi0C,GACnB,IAAIgujB,EAAYqB,EAAarvjB,GAC7B,OAAwB,GAApBgujB,EAAU1/lB,QAAe0/lB,EAAU,GAAG,GACjCsB,EAAwBtB,EAAU,GAAG,GAAIA,EAAU,GAAG,IAExD,SAASnvjB,GACd,OAAOA,IAAWmB,GAAUovjB,EAAYvwjB,EAAQmB,EAAQgujB,EAC1D,CACF,yBCnBA,IAAItB,EAAc3/lB,EAAQ,OACtBwH,EAAMxH,EAAQ,OACdwimB,EAAQximB,EAAQ,OAChByimB,EAAQzimB,EAAQ,OAChB0imB,EAAqB1imB,EAAQ,OAC7BuimB,EAA0BvimB,EAAQ,OAClCi/lB,EAAQj/lB,EAAQ,OA0BpBo0C,EAAOp1C,QAZP,SAA6B8+B,EAAMqjkB,GACjC,OAAIsB,EAAM3kkB,IAAS4kkB,EAAmBvB,GAC7BoB,EAAwBtD,EAAMnhkB,GAAOqjkB,GAEvC,SAASrvjB,GACd,IAAI6sjB,EAAWn3lB,EAAIsqC,EAAQhU,GAC3B,YAAqB3+B,IAAbw/lB,GAA0BA,IAAawC,EAC3CqB,EAAM1wjB,EAAQhU,GACd6hkB,EAAYwB,EAAUxC,EAAUyC,EACtC,CACF,yBC9BA,IAAIzD,EAAQ39lB,EAAQ,OAChB2imB,EAAmB3imB,EAAQ,OAC3B8+lB,EAAU9+lB,EAAQ,OAClB4imB,EAAgB5imB,EAAQ,OACxBq9C,EAAWr9C,EAAQ,MACnB6imB,EAAS7imB,EAAQ,OACjB8imB,EAAU9imB,EAAQ,OAmCtBo0C,EAAOp1C,QAtBP,SAAS+jmB,EAAUjxjB,EAAQmB,EAAQ+vjB,EAAUnD,EAAY/jjB,GACnDhK,IAAWmB,GAGf6rjB,EAAQ7rjB,GAAQ,SAASkujB,EAAUj/lB,GAEjC,GADA45C,IAAUA,EAAQ,IAAI6hjB,GAClBtgjB,EAAS8jjB,GACXyB,EAAc9wjB,EAAQmB,EAAQ/wC,EAAK8gmB,EAAUD,EAAWlD,EAAY/jjB,OAEjE,CACH,IAAInc,EAAWkgkB,EACXA,EAAWiD,EAAQhxjB,EAAQ5vC,GAAMi/lB,EAAWj/lB,EAAM,GAAK4vC,EAAQmB,EAAQ6I,QACvE38C,OAEaA,IAAbwgC,IACFA,EAAWwhkB,GAEbwB,EAAiB7wjB,EAAQ5vC,EAAKy9B,EAChC,CACF,GAAGkjkB,EACL,yBCvCA,IAAIF,EAAmB3imB,EAAQ,OAC3BijmB,EAAcjjmB,EAAQ,OACtBkjmB,EAAkBljmB,EAAQ,OAC1BmjmB,EAAYnjmB,EAAQ,OACpBojmB,EAAkBpjmB,EAAQ,OAC1B+9lB,EAAc/9lB,EAAQ,OACtByoB,EAAUzoB,EAAQ,OAClBqjmB,EAAoBrjmB,EAAQ,OAC5B+8C,EAAW/8C,EAAQ,MACnB6Z,EAAa7Z,EAAQ,OACrBq9C,EAAWr9C,EAAQ,MACnB+yC,EAAgB/yC,EAAQ,OACxB6kkB,EAAe7kkB,EAAQ,OACvB8imB,EAAU9imB,EAAQ,OAClBsjmB,EAAgBtjmB,EAAQ,MA+E5Bo0C,EAAOp1C,QA9DP,SAAuB8yC,EAAQmB,EAAQ/wC,EAAK8gmB,EAAUO,EAAW1D,EAAY/jjB,GAC3E,IAAI6ijB,EAAWmE,EAAQhxjB,EAAQ5vC,GAC3Bi/lB,EAAW2B,EAAQ7vjB,EAAQ/wC,GAC3BshmB,EAAU1njB,EAAMt0C,IAAI25lB,GAExB,GAAIqC,EACFb,EAAiB7wjB,EAAQ5vC,EAAKshmB,OADhC,CAIA,IAAI7jkB,EAAWkgkB,EACXA,EAAWlB,EAAUwC,EAAWj/lB,EAAM,GAAK4vC,EAAQmB,EAAQ6I,QAC3D38C,EAEAskmB,OAAwBtkmB,IAAbwgC,EAEf,GAAI8jkB,EAAU,CACZ,IAAIvF,EAAQz1kB,EAAQ04kB,GAChB/C,GAAUF,GAASnhjB,EAASokjB,GAC5BuC,GAAWxF,IAAUE,GAAUv5B,EAAas8B,GAEhDxhkB,EAAWwhkB,EACPjD,GAASE,GAAUsF,EACjBj7kB,EAAQk2kB,GACVh/jB,EAAWg/jB,EAEJ0E,EAAkB1E,GACzBh/jB,EAAWwjkB,EAAUxE,GAEdP,GACPqF,GAAW,EACX9jkB,EAAWsjkB,EAAY9B,GAAU,IAE1BuC,GACPD,GAAW,EACX9jkB,EAAWujkB,EAAgB/B,GAAU,IAGrCxhkB,EAAW,GAGNoT,EAAcoujB,IAAapD,EAAYoD,IAC9CxhkB,EAAWg/jB,EACPZ,EAAYY,GACdh/jB,EAAW2jkB,EAAc3E,GAEjBthjB,EAASshjB,KAAa9klB,EAAW8klB,KACzCh/jB,EAAWyjkB,EAAgBjC,KAI7BsC,GAAW,CAEf,CACIA,IAEF3njB,EAAMp0C,IAAIy5lB,EAAUxhkB,GACpB4jkB,EAAU5jkB,EAAUwhkB,EAAU6B,EAAUnD,EAAY/jjB,GACpDA,EAAc,OAAEqljB,IAElBwB,EAAiB7wjB,EAAQ5vC,EAAKy9B,EAnD9B,CAoDF,wBC3FA,IAAIgkkB,EAAU3jmB,EAAQ,OAClB4jmB,EAAU5jmB,EAAQ,OAClBg/lB,EAAWh/lB,EAAQ,OA2BvBo0C,EAAOp1C,QAhBP,SAAoB8yC,EAAQouP,EAAO09T,GAKjC,IAJA,IAAIjglB,GAAS,EACTpc,EAAS2+R,EAAM3+R,OACfuC,EAAS,CAAC,IAEL6Z,EAAQpc,GAAQ,CACvB,IAAIu8B,EAAOoiQ,EAAMviR,GACbja,EAAQigmB,EAAQ7xjB,EAAQhU,GAExB8/jB,EAAUl6lB,EAAOo6B,IACnB8lkB,EAAQ9/lB,EAAQk7lB,EAASlhkB,EAAMgU,GAASpuC,EAE5C,CACA,OAAOI,CACT,oBCdAswC,EAAOp1C,QANP,SAAsBkD,GACpB,OAAO,SAAS4vC,GACd,OAAiB,MAAVA,OAAiB3yC,EAAY2yC,EAAO5vC,EAC7C,CACF,wBCXA,IAAIyhmB,EAAU3jmB,EAAQ,OAetBo0C,EAAOp1C,QANP,SAA0B8+B,GACxB,OAAO,SAASgU,GACd,OAAO6xjB,EAAQ7xjB,EAAQhU,EACzB,CACF,qBCAAsW,EAAOp1C,QANP,SAAwB8yC,GACtB,OAAO,SAAS5vC,GACd,OAAiB,MAAV4vC,OAAiB3yC,EAAY2yC,EAAO5vC,EAC7C,CACF,yBCXA,IAAI8/lB,EAAWhimB,EAAQ,MACnB6jmB,EAAW7jmB,EAAQ,OACnB8jmB,EAAc9jmB,EAAQ,OAc1Bo0C,EAAOp1C,QAJP,SAAkBolB,EAAMmkB,GACtB,OAAOu7jB,EAAYD,EAASz/kB,EAAMmkB,EAAOy5jB,GAAW59kB,EAAO,GAC7D,yBCdA,IAAIu8B,EAAc3gD,EAAQ,OACtBg/lB,EAAWh/lB,EAAQ,OACnBg+lB,EAAUh+lB,EAAQ,OAClBq9C,EAAWr9C,EAAQ,MACnBi/lB,EAAQj/lB,EAAQ,OA8CpBo0C,EAAOp1C,QAlCP,SAAiB8yC,EAAQhU,EAAMp6B,EAAOm8lB,GACpC,IAAKxijB,EAASvL,GACZ,OAAOA,EAST,IALA,IAAIn0B,GAAS,EACTpc,GAHJu8B,EAAOkhkB,EAASlhkB,EAAMgU,IAGJvwC,OACd8nB,EAAY9nB,EAAS,EACrBwimB,EAASjyjB,EAEI,MAAViyjB,KAAoBpmlB,EAAQpc,GAAQ,CACzC,IAAIW,EAAM+8lB,EAAMnhkB,EAAKngB,IACjBgiB,EAAWj8B,EAEf,GAAY,cAARxB,GAA+B,gBAARA,GAAiC,cAARA,EAClD,OAAO4vC,EAGT,GAAIn0B,GAAS0L,EAAW,CACtB,IAAIs1kB,EAAWoF,EAAO7hmB,QAEL/C,KADjBwgC,EAAWkgkB,EAAaA,EAAWlB,EAAUz8lB,EAAK6hmB,QAAU5kmB,KAE1DwgC,EAAW0d,EAASshjB,GAChBA,EACCX,EAAQlgkB,EAAKngB,EAAQ,IAAM,GAAK,CAAC,EAE1C,CACAgjC,EAAYojjB,EAAQ7hmB,EAAKy9B,GACzBokkB,EAASA,EAAO7hmB,EAClB,CACA,OAAO4vC,CACT,wBChDA,IAAIze,EAAWrzB,EAAQ,OACnByC,EAAiBzC,EAAQ,OACzBgimB,EAAWhimB,EAAQ,MAUnBgkmB,EAAmBvhmB,EAA4B,SAAS2hB,EAAMoE,GAChE,OAAO/lB,EAAe2hB,EAAM,WAAY,CACtC,cAAgB,EAChB,YAAc,EACd,MAASiP,EAAS7K,GAClB,UAAY,GAEhB,EAPwCw5kB,EASxC5tjB,EAAOp1C,QAAUglmB,qBCFjB5vjB,EAAOp1C,QAVP,SAAmBqC,EAAGk9lB,GAIpB,IAHA,IAAI5glB,GAAS,EACT7Z,EAASvD,MAAMc,KAEVsc,EAAQtc,GACfyC,EAAO6Z,GAAS4glB,EAAS5glB,GAE3B,OAAO7Z,CACT,wBCjBA,IAAIc,EAAS5E,EAAQ,OACjBikmB,EAAWjkmB,EAAQ,OACnByoB,EAAUzoB,EAAQ,OAClB6/iB,EAAW7/iB,EAAQ,OAMnBkkmB,EAAct/lB,EAASA,EAAO9D,eAAY3B,EAC1CglmB,EAAiBD,EAAcA,EAAY9zlB,cAAWjR,EA0B1Di1C,EAAOp1C,QAhBP,SAASolmB,EAAa1gmB,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAI+kB,EAAQ/kB,GAEV,OAAOugmB,EAASvgmB,EAAO0gmB,GAAgB,GAEzC,GAAIvkD,EAASn8iB,GACX,OAAOygmB,EAAiBA,EAAe3imB,KAAKkC,GAAS,GAEvD,IAAII,EAAUJ,EAAQ,GACtB,MAAkB,KAAVI,GAAkB,EAAIJ,IA3BjB,SA2BwC,KAAOI,CAC9D,qBCrBAswC,EAAOp1C,QANP,SAAmBolB,GACjB,OAAO,SAAS1gB,GACd,OAAO0gB,EAAK1gB,EACd,CACF,qBCCA0wC,EAAOp1C,QAJP,SAAkB2kB,EAAOzhB,GACvB,OAAOyhB,EAAMpc,IAAIrF,EACnB,yBCVA,IAAIumB,EAAUzoB,EAAQ,OAClByimB,EAAQzimB,EAAQ,OAChBqkmB,EAAerkmB,EAAQ,OACvBoQ,EAAWpQ,EAAQ,OAiBvBo0C,EAAOp1C,QAPP,SAAkB0E,EAAOouC,GACvB,OAAIrpB,EAAQ/kB,GACHA,EAEF++lB,EAAM/+lB,EAAOouC,GAAU,CAACpuC,GAAS2gmB,EAAaj0lB,EAAS1M,GAChE,wBClBA,IAAIoE,EAAa9H,EAAQ,OAezBo0C,EAAOp1C,QANP,SAA0BslmB,GACxB,IAAIxgmB,EAAS,IAAIwgmB,EAAYzjmB,YAAYyjmB,EAAY/5lB,YAErD,OADA,IAAIzC,EAAWhE,GAAQ4D,IAAI,IAAII,EAAWw8lB,IACnCxgmB,CACT,oCCbA,IAAI2a,EAAOze,EAAQ,OAGfukmB,EAA4CvlmB,IAAYA,EAAQsY,UAAYtY,EAG5EwlmB,EAAaD,GAA4CnwjB,IAAWA,EAAO98B,UAAY88B,EAMvF9lC,EAHgBk2lB,GAAcA,EAAWxlmB,UAAYulmB,EAG5B9llB,EAAKnQ,YAASnP,EACvC6rD,EAAc18C,EAASA,EAAO08C,iBAAc7rD,EAqBhDi1C,EAAOp1C,QAXP,SAAqBqL,EAAQo6lB,GAC3B,GAAIA,EACF,OAAOp6lB,EAAO0T,QAEhB,IAAIxc,EAAS8I,EAAO9I,OAChBuC,EAASknD,EAAcA,EAAYzpD,GAAU,IAAI8I,EAAOxJ,YAAYU,GAGxE,OADA8I,EAAOuU,KAAK9a,GACLA,CACT,yBChCA,IAAI4gmB,EAAmB1kmB,EAAQ,MAe/Bo0C,EAAOp1C,QALP,SAAyB6L,EAAY45lB,GACnC,IAAIp6lB,EAASo6lB,EAASC,EAAiB75lB,EAAWR,QAAUQ,EAAWR,OACvE,OAAO,IAAIQ,EAAWhK,YAAYwJ,EAAQQ,EAAWP,WAAYO,EAAWtJ,OAC9E,qBCMA6yC,EAAOp1C,QAXP,SAAmBi0C,EAAQ90B,GACzB,IAAIR,GAAS,EACTpc,EAAS0xC,EAAO1xC,OAGpB,IADA4c,IAAUA,EAAQ5d,MAAMgB,MACfoc,EAAQpc,GACf4c,EAAMR,GAASs1B,EAAOt1B,GAExB,OAAOQ,CACT,yBCjBA,IAAIwiC,EAAc3gD,EAAQ,OACtB0+lB,EAAkB1+lB,EAAQ,OAsC9Bo0C,EAAOp1C,QA1BP,SAAoBi0C,EAAQ/gC,EAAO4/B,EAAQ+tjB,GACzC,IAAI8E,GAAS7yjB,EACbA,IAAWA,EAAS,CAAC,GAKrB,IAHA,IAAIn0B,GAAS,EACTpc,EAAS2Q,EAAM3Q,SAEVoc,EAAQpc,GAAQ,CACvB,IAAIW,EAAMgQ,EAAMyL,GAEZgiB,EAAWkgkB,EACXA,EAAW/tjB,EAAO5vC,GAAM+wC,EAAO/wC,GAAMA,EAAK4vC,EAAQmB,QAClD9zC,OAEaA,IAAbwgC,IACFA,EAAWsT,EAAO/wC,IAEhByimB,EACFjG,EAAgB5sjB,EAAQ5vC,EAAKy9B,GAE7BghB,EAAY7O,EAAQ5vC,EAAKy9B,EAE7B,CACA,OAAOmS,CACT,yBCrCA,IAGI8yjB,EAHO5kmB,EAAQ,OAGG,sBAEtBo0C,EAAOp1C,QAAU4lmB,yBCLjB,IAAIC,EAAW7kmB,EAAQ,OACnB8kmB,EAAiB9kmB,EAAQ,MAmC7Bo0C,EAAOp1C,QA1BP,SAAwB+lmB,GACtB,OAAOF,GAAS,SAAS/yjB,EAAQwnjB,GAC/B,IAAI37kB,GAAS,EACTpc,EAAS+3lB,EAAQ/3lB,OACjBs+lB,EAAat+lB,EAAS,EAAI+3lB,EAAQ/3lB,EAAS,QAAKpC,EAChD6lmB,EAAQzjmB,EAAS,EAAI+3lB,EAAQ,QAAKn6lB,EAWtC,IATA0gmB,EAAckF,EAASxjmB,OAAS,GAA0B,mBAAds+lB,GACvCt+lB,IAAUs+lB,QACX1gmB,EAEA6lmB,GAASF,EAAexL,EAAQ,GAAIA,EAAQ,GAAI0L,KAClDnF,EAAat+lB,EAAS,OAAIpC,EAAY0gmB,EACtCt+lB,EAAS,GAEXuwC,EAAS1xC,OAAO0xC,KACPn0B,EAAQpc,GAAQ,CACvB,IAAI0xC,EAASqmjB,EAAQ37kB,GACjBs1B,GACF8xjB,EAASjzjB,EAAQmB,EAAQt1B,EAAOkilB,EAEpC,CACA,OAAO/tjB,CACT,GACF,qBCVAsC,EAAOp1C,QAjBP,SAAuBimmB,GACrB,OAAO,SAASnzjB,EAAQysjB,EAAUY,GAMhC,IALA,IAAIxhlB,GAAS,EACTunlB,EAAW9kmB,OAAO0xC,GAClB5/B,EAAQitlB,EAASrtjB,GACjBvwC,EAAS2Q,EAAM3Q,OAEZA,KAAU,CACf,IAAIW,EAAMgQ,EAAM+ylB,EAAY1jmB,IAAWoc,GACvC,IAA+C,IAA3C4glB,EAAS2G,EAAShjmB,GAAMA,EAAKgjmB,GAC/B,KAEJ,CACA,OAAOpzjB,CACT,CACF,yBCtBA,IAAIqzjB,EAAcnlmB,EAAQ,OACtBolmB,EAASplmB,EAAQ,OACjB+3D,EAAQ/3D,EAAQ,OAMhBqlmB,EAASp/jB,OAHA,YAGe,KAe5BmO,EAAOp1C,QANP,SAA0B+R,GACxB,OAAO,SAASyX,GACd,OAAO28kB,EAAYptiB,EAAMqtiB,EAAO58kB,GAAQvN,QAAQoqlB,EAAQ,KAAMt0lB,EAAU,GAC1E,CACF,yBCrBA,IAoEIu0lB,EApEiBtlmB,EAAQ,MAoEVulmB,CAjEG,CAEpB,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IACtB,OAAQ,IAAM,OAAQ,IACtB,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IACtB,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IACnC,OAAQ,KAAM,OAAQ,KACtB,OAAQ,KAAM,OAAQ,KACtB,OAAQ,KAER,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAC1B,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACtF,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACtF,SAAU,IAAM,SAAU,IAC1B,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,KAAM,SAAU,KAC1B,SAAU,KAAM,SAAU,KAC1B,SAAU,KAAM,SAAU,MAa5BnxjB,EAAOp1C,QAAUsmmB,yBCtEjB,IAAIrJ,EAAYj8lB,EAAQ,OAEpByC,EAAkB,WACpB,IACE,IAAI2hB,EAAO63kB,EAAU77lB,OAAQ,kBAE7B,OADAgkB,EAAK,CAAC,EAAG,GAAI,CAAC,GACPA,CACT,CAAE,MAAOziB,GAAI,CACf,CANsB,GAQtByyC,EAAOp1C,QAAUyD,yBCVjB,IAAI46lB,EAAWr9lB,EAAQ,OACnBwlmB,EAAYxlmB,EAAQ,OACpBylmB,EAAWzlmB,EAAQ,OAiFvBo0C,EAAOp1C,QA9DP,SAAqBmf,EAAOoP,EAAOqykB,EAASC,EAAYQ,EAAWvkjB,GACjE,IAAI4pjB,EAjBqB,EAiBT9F,EACZrziB,EAAYpuC,EAAM5c,OAClBokmB,EAAYp4kB,EAAMhsB,OAEtB,GAAIgrD,GAAao5iB,KAAeD,GAAaC,EAAYp5iB,GACvD,OAAO,EAGT,IAAIq5iB,EAAa9pjB,EAAMt0C,IAAI2W,GACvB0nlB,EAAa/pjB,EAAMt0C,IAAI+lB,GAC3B,GAAIq4kB,GAAcC,EAChB,OAAOD,GAAcr4kB,GAASs4kB,GAAc1nlB,EAE9C,IAAIR,GAAS,EACT7Z,GAAS,EACTohlB,EA/BuB,EA+Bf0a,EAAoC,IAAIvC,OAAWl+lB,EAM/D,IAJA28C,EAAMp0C,IAAIyW,EAAOoP,GACjBuuB,EAAMp0C,IAAI6lB,EAAOpP,KAGRR,EAAQ4uC,GAAW,CAC1B,IAAIu5iB,EAAW3nlB,EAAMR,GACjBoolB,EAAWx4kB,EAAM5P,GAErB,GAAIkilB,EACF,IAAImG,EAAWN,EACX7F,EAAWkG,EAAUD,EAAUnolB,EAAO4P,EAAOpP,EAAO29B,GACpD+jjB,EAAWiG,EAAUC,EAAUpolB,EAAOQ,EAAOoP,EAAOuuB,GAE1D,QAAiB38C,IAAb6mmB,EAAwB,CAC1B,GAAIA,EACF,SAEFlimB,GAAS,EACT,KACF,CAEA,GAAIohlB,GACF,IAAKsgB,EAAUj4kB,GAAO,SAASw4kB,EAAUE,GACnC,IAAKR,EAASvgB,EAAM+gB,KACfH,IAAaC,GAAY1F,EAAUyF,EAAUC,EAAUnG,EAASC,EAAY/jjB,IAC/E,OAAOopiB,EAAKhglB,KAAK+gmB,EAErB,IAAI,CACNnimB,GAAS,EACT,KACF,OACK,GACDgimB,IAAaC,IACX1F,EAAUyF,EAAUC,EAAUnG,EAASC,EAAY/jjB,GACpD,CACLh4C,GAAS,EACT,KACF,CACF,CAGA,OAFAg4C,EAAc,OAAE39B,GAChB29B,EAAc,OAAEvuB,GACTzpB,CACT,yBCjFA,IAAIc,EAAS5E,EAAQ,OACjB8H,EAAa9H,EAAQ,OACrBuzF,EAAKvzF,EAAQ,OACb8/lB,EAAc9/lB,EAAQ,OACtBkmmB,EAAalmmB,EAAQ,OACrBmmmB,EAAanmmB,EAAQ,OAqBrBkkmB,EAAct/lB,EAASA,EAAO9D,eAAY3B,EAC1CinmB,EAAgBlC,EAAcA,EAAYzmgB,aAAUt+F,EAoFxDi1C,EAAOp1C,QAjEP,SAAoB8yC,EAAQvkB,EAAOzR,EAAK8jlB,EAASC,EAAYQ,EAAWvkjB,GACtE,OAAQhgC,GACN,IAzBc,oBA0BZ,GAAKg2B,EAAOvnC,YAAcgjB,EAAMhjB,YAC3BunC,EAAOxnC,YAAcijB,EAAMjjB,WAC9B,OAAO,EAETwnC,EAASA,EAAOznC,OAChBkjB,EAAQA,EAAMljB,OAEhB,IAlCiB,uBAmCf,QAAKynC,EAAOvnC,YAAcgjB,EAAMhjB,aAC3B81lB,EAAU,IAAIv4lB,EAAWgqC,GAAS,IAAIhqC,EAAWylB,KAKxD,IAnDU,mBAoDV,IAnDU,gBAoDV,IAjDY,kBAoDV,OAAOgmE,GAAIzhD,GAASvkB,GAEtB,IAxDW,iBAyDT,OAAOukB,EAAOnqC,MAAQ4lB,EAAM5lB,MAAQmqC,EAAOv4B,SAAWgU,EAAMhU,QAE9D,IAxDY,kBAyDZ,IAvDY,kBA2DV,OAAOu4B,GAAWvkB,EAAQ,GAE5B,IAjES,eAkEP,IAAI84kB,EAAUH,EAEhB,IAjES,eAkEP,IAAIR,EA5EiB,EA4EL9F,EAGhB,GAFAyG,IAAYA,EAAUF,GAElBr0jB,EAAOvwB,MAAQgM,EAAMhM,OAASmklB,EAChC,OAAO,EAGT,IAAIlC,EAAU1njB,EAAMt0C,IAAIsqC,GACxB,GAAI0xjB,EACF,OAAOA,GAAWj2kB,EAEpBqykB,GAtFuB,EAyFvB9jjB,EAAMp0C,IAAIoqC,EAAQvkB,GAClB,IAAIzpB,EAASg8lB,EAAYuG,EAAQv0jB,GAASu0jB,EAAQ94kB,GAAQqykB,EAASC,EAAYQ,EAAWvkjB,GAE1F,OADAA,EAAc,OAAEhK,GACThuC,EAET,IAnFY,kBAoFV,GAAIsimB,EACF,OAAOA,EAAc5kmB,KAAKswC,IAAWs0jB,EAAc5kmB,KAAK+rB,GAG9D,OAAO,CACT,yBC7GA,IAAI+4kB,EAAatmmB,EAAQ,OASrBS,EAHcL,OAAOU,UAGQL,eAgFjC2zC,EAAOp1C,QAjEP,SAAsB8yC,EAAQvkB,EAAOqykB,EAASC,EAAYQ,EAAWvkjB,GACnE,IAAI4pjB,EAtBqB,EAsBT9F,EACZ2G,EAAWD,EAAWx0jB,GACtB00jB,EAAYD,EAAShlmB,OAIzB,GAAIilmB,GAHWF,EAAW/4kB,GACDhsB,SAEMmkmB,EAC7B,OAAO,EAGT,IADA,IAAI/nlB,EAAQ6olB,EACL7olB,KAAS,CACd,IAAIzb,EAAMqkmB,EAAS5olB,GACnB,KAAM+nlB,EAAYxjmB,KAAOqrB,EAAQ9sB,EAAee,KAAK+rB,EAAOrrB,IAC1D,OAAO,CAEX,CAEA,IAAIukmB,EAAa3qjB,EAAMt0C,IAAIsqC,GACvB+zjB,EAAa/pjB,EAAMt0C,IAAI+lB,GAC3B,GAAIk5kB,GAAcZ,EAChB,OAAOY,GAAcl5kB,GAASs4kB,GAAc/zjB,EAE9C,IAAIhuC,GAAS,EACbg4C,EAAMp0C,IAAIoqC,EAAQvkB,GAClBuuB,EAAMp0C,IAAI6lB,EAAOukB,GAGjB,IADA,IAAI40jB,EAAWhB,IACN/nlB,EAAQ6olB,GAAW,CAE1B,IAAI7H,EAAW7sjB,EADf5vC,EAAMqkmB,EAAS5olB,IAEXoolB,EAAWx4kB,EAAMrrB,GAErB,GAAI29lB,EACF,IAAImG,EAAWN,EACX7F,EAAWkG,EAAUpH,EAAUz8lB,EAAKqrB,EAAOukB,EAAQgK,GACnD+jjB,EAAWlB,EAAUoH,EAAU7jmB,EAAK4vC,EAAQvkB,EAAOuuB,GAGzD,UAAmB38C,IAAb6mmB,EACGrH,IAAaoH,GAAY1F,EAAU1B,EAAUoH,EAAUnG,EAASC,EAAY/jjB,GAC7EkqjB,GACD,CACLlimB,GAAS,EACT,KACF,CACA4imB,IAAaA,EAAkB,eAAPxkmB,EAC1B,CACA,GAAI4B,IAAW4imB,EAAU,CACvB,IAAIC,EAAU70jB,EAAOjxC,YACjB+lmB,EAAUr5kB,EAAM1sB,YAGhB8lmB,GAAWC,KACV,gBAAiB90jB,MAAU,gBAAiBvkB,IACzB,mBAAXo5kB,GAAyBA,aAAmBA,GACjC,mBAAXC,GAAyBA,aAAmBA,IACvD9imB,GAAS,EAEb,CAGA,OAFAg4C,EAAc,OAAEhK,GAChBgK,EAAc,OAAEvuB,GACTzpB,CACT,yBCtFA,IAAI+imB,EAA8B,iBAAVt4iB,EAAAA,GAAsBA,EAAAA,GAAUA,EAAAA,EAAOnuD,SAAWA,QAAUmuD,EAAAA,EAEpFna,EAAOp1C,QAAU6nmB,yBCHjB,IAAIC,EAAiB9mmB,EAAQ,OACzB+mmB,EAAa/mmB,EAAQ,OACrBoR,EAAOpR,EAAQ,OAanBo0C,EAAOp1C,QAJP,SAAoB8yC,GAClB,OAAOg1jB,EAAeh1jB,EAAQ1gC,EAAM21lB,EACtC,yBCbA,IAAID,EAAiB9mmB,EAAQ,OACzBgnmB,EAAehnmB,EAAQ,OACvB6imB,EAAS7imB,EAAQ,OAcrBo0C,EAAOp1C,QAJP,SAAsB8yC,GACpB,OAAOg1jB,EAAeh1jB,EAAQ+wjB,EAAQmE,EACxC,yBCdA,IAAIC,EAAYjnmB,EAAQ,OAiBxBo0C,EAAOp1C,QAPP,SAAoBS,EAAKyC,GACvB,IAAIyG,EAAOlJ,EAAIulkB,SACf,OAAOiiC,EAAU/kmB,GACbyG,EAAmB,iBAAPzG,EAAkB,SAAW,QACzCyG,EAAKlJ,GACX,yBCfA,IAAIijmB,EAAqB1imB,EAAQ,OAC7BoR,EAAOpR,EAAQ,OAsBnBo0C,EAAOp1C,QAbP,SAAsB8yC,GAIpB,IAHA,IAAIhuC,EAASsN,EAAK0gC,GACdvwC,EAASuC,EAAOvC,OAEbA,KAAU,CACf,IAAIW,EAAM4B,EAAOvC,GACbmC,EAAQouC,EAAO5vC,GAEnB4B,EAAOvC,GAAU,CAACW,EAAKwB,EAAOg/lB,EAAmBh/lB,GACnD,CACA,OAAOI,CACT,yBCrBA,IAAIojmB,EAAelnmB,EAAQ,OACvBoqC,EAAWpqC,EAAQ,OAevBo0C,EAAOp1C,QALP,SAAmB8yC,EAAQ5vC,GACzB,IAAIwB,EAAQ0mC,EAAS0H,EAAQ5vC,GAC7B,OAAOglmB,EAAaxjmB,GAASA,OAAQvE,CACvC,yBCdA,IAGIgomB,EAHUnnmB,EAAQ,MAGHonmB,CAAQhnmB,OAAOogD,eAAgBpgD,QAElDg0C,EAAOp1C,QAAUmomB,yBCLjB,IAAIvimB,EAAS5E,EAAQ,OAGjByhmB,EAAcrhmB,OAAOU,UAGrBL,EAAiBghmB,EAAYhhmB,eAO7B4mmB,EAAuB5F,EAAYrxlB,SAGnCmvlB,EAAiB36lB,EAASA,EAAOo9C,iBAAc7iD,EA6BnDi1C,EAAOp1C,QApBP,SAAmB0E,GACjB,IAAI4jmB,EAAQ7mmB,EAAee,KAAKkC,EAAO67lB,GACnCzjlB,EAAMpY,EAAM67lB,GAEhB,IACE77lB,EAAM67lB,QAAkBpgmB,EACxB,IAAIoomB,GAAW,CACjB,CAAE,MAAO5lmB,GAAI,CAEb,IAAImC,EAASujmB,EAAqB7lmB,KAAKkC,GAQvC,OAPI6jmB,IACED,EACF5jmB,EAAM67lB,GAAkBzjlB,SAEjBpY,EAAM67lB,IAGVz7lB,CACT,yBC3CA,IAAI0jmB,EAAcxnmB,EAAQ,OACtBynmB,EAAYznmB,EAAQ,OAMpB8B,EAHc1B,OAAOU,UAGcgB,qBAGnC4lmB,EAAmBtnmB,OAAOyB,sBAS1BklmB,EAAcW,EAA+B,SAAS51jB,GACxD,OAAc,MAAVA,EACK,IAETA,EAAS1xC,OAAO0xC,GACT01jB,EAAYE,EAAiB51jB,IAAS,SAASiqI,GACpD,OAAOj6K,EAAqBN,KAAKswC,EAAQiqI,EAC3C,IACF,EARqC0rb,EAUrCrzjB,EAAOp1C,QAAU+nmB,yBC7BjB,IAAI7H,EAAYl/lB,EAAQ,OACpBmnmB,EAAennmB,EAAQ,OACvB+mmB,EAAa/mmB,EAAQ,OACrBynmB,EAAYznmB,EAAQ,OAYpBgnmB,EATmB5mmB,OAAOyB,sBASqB,SAASiwC,GAE1D,IADA,IAAIhuC,EAAS,GACNguC,GACLotjB,EAAUp7lB,EAAQijmB,EAAWj1jB,IAC7BA,EAASq1jB,EAAar1jB,GAExB,OAAOhuC,CACT,EAPuC2jmB,EASvCrzjB,EAAOp1C,QAAUgomB,yBCxBjB,IAAIl7lB,EAAW9L,EAAQ,OACnB+xE,EAAM/xE,EAAQ,OACdsD,EAAUtD,EAAQ,OAClBwa,EAAMxa,EAAQ,OACd+hB,EAAU/hB,EAAQ,MAClBw/lB,EAAax/lB,EAAQ,OACrBshmB,EAAWthmB,EAAQ,OAGnB2nmB,EAAS,eAETC,EAAa,mBACbC,EAAS,eACTC,EAAa,mBAEbC,EAAc,oBAGdC,EAAqB1G,EAASx1lB,GAC9Bm8lB,EAAgB3G,EAASvvhB,GACzBm2hB,EAAoB5G,EAASh+lB,GAC7B6kmB,EAAgB7G,EAAS9mlB,GACzB4tlB,EAAoB9G,EAASv/kB,GAS7Bk+kB,EAAST,GAGR1zlB,GAAYm0lB,EAAO,IAAIn0lB,EAAS,IAAI3B,YAAY,MAAQ49lB,GACxDh2hB,GAAOkuhB,EAAO,IAAIluhB,IAAQ41hB,GAC1BrkmB,GAAW28lB,EAAO38lB,EAAQC,YAAcqkmB,GACxCptlB,GAAOyllB,EAAO,IAAIzllB,IAAQqtlB,GAC1B9llB,GAAWk+kB,EAAO,IAAIl+kB,IAAY+llB,KACrC7H,EAAS,SAASv8lB,GAChB,IAAII,EAAS07lB,EAAW97lB,GACpB0ha,EA/BQ,mBA+BDtha,EAAsBJ,EAAM7C,iBAAc1B,EACjDkpmB,EAAajjM,EAAOk8L,EAASl8L,GAAQ,GAEzC,GAAIijM,EACF,OAAQA,GACN,KAAKL,EAAoB,OAAOD,EAChC,KAAKE,EAAe,OAAON,EAC3B,KAAKO,EAAmB,OAAON,EAC/B,KAAKO,EAAe,OAAON,EAC3B,KAAKO,EAAmB,OAAON,EAGnC,OAAOhkmB,CACT,GAGFswC,EAAOp1C,QAAUihmB,qBC7CjB7rjB,EAAOp1C,QAJP,SAAkB8yC,EAAQ5vC,GACxB,OAAiB,MAAV4vC,OAAiB3yC,EAAY2yC,EAAO5vC,EAC7C,yBCVA,IAAI88lB,EAAWh/lB,EAAQ,OACnB+9lB,EAAc/9lB,EAAQ,OACtByoB,EAAUzoB,EAAQ,OAClBg+lB,EAAUh+lB,EAAQ,OAClB4hmB,EAAW5hmB,EAAQ,OACnBi/lB,EAAQj/lB,EAAQ,OAiCpBo0C,EAAOp1C,QAtBP,SAAiB8yC,EAAQhU,EAAMwqkB,GAO7B,IAJA,IAAI3qlB,GAAS,EACTpc,GAHJu8B,EAAOkhkB,EAASlhkB,EAAMgU,IAGJvwC,OACduC,GAAS,IAEJ6Z,EAAQpc,GAAQ,CACvB,IAAIW,EAAM+8lB,EAAMnhkB,EAAKngB,IACrB,KAAM7Z,EAAmB,MAAVguC,GAAkBw2jB,EAAQx2jB,EAAQ5vC,IAC/C,MAEF4vC,EAASA,EAAO5vC,EAClB,CACA,OAAI4B,KAAY6Z,GAASpc,EAChBuC,KAETvC,EAAmB,MAAVuwC,EAAiB,EAAIA,EAAOvwC,SAClBqgmB,EAASrgmB,IAAWy8lB,EAAQ97lB,EAAKX,KACjDknB,EAAQqpB,IAAWisjB,EAAYjsjB,GACpC,qBCnCA,IAAIy2jB,EAAmB,qEAavBn0jB,EAAOp1C,QAJP,SAAwBwpB,GACtB,OAAO+/kB,EAAiBhmkB,KAAK/Z,EAC/B,yBCZA,IAAIgglB,EAAexomB,EAAQ,OAc3Bo0C,EAAOp1C,QALP,WACE4B,KAAKokkB,SAAWwjC,EAAeA,EAAa,MAAQ,CAAC,EACrD5nmB,KAAK2gB,KAAO,CACd,qBCIA6yB,EAAOp1C,QANP,SAAoBkD,GAClB,IAAI4B,EAASlD,KAAK2G,IAAIrF,WAAetB,KAAKokkB,SAAS9ikB,GAEnD,OADAtB,KAAK2gB,MAAQzd,EAAS,EAAI,EACnBA,CACT,yBCdA,IAAI0kmB,EAAexomB,EAAQ,OASvBS,EAHcL,OAAOU,UAGQL,eAoBjC2zC,EAAOp1C,QATP,SAAiBkD,GACf,IAAIyG,EAAO/H,KAAKokkB,SAChB,GAAIwjC,EAAc,CAChB,IAAI1kmB,EAAS6E,EAAKzG,GAClB,MArBiB,8BAqBV4B,OAA4B3E,EAAY2E,CACjD,CACA,OAAOrD,EAAee,KAAKmH,EAAMzG,GAAOyG,EAAKzG,QAAO/C,CACtD,yBC3BA,IAAIqpmB,EAAexomB,EAAQ,OAMvBS,EAHcL,OAAOU,UAGQL,eAgBjC2zC,EAAOp1C,QALP,SAAiBkD,GACf,IAAIyG,EAAO/H,KAAKokkB,SAChB,OAAOwjC,OAA8BrpmB,IAAdwJ,EAAKzG,GAAsBzB,EAAee,KAAKmH,EAAMzG,EAC9E,yBCpBA,IAAIsmmB,EAAexomB,EAAQ,OAsB3Bo0C,EAAOp1C,QAPP,SAAiBkD,EAAKwB,GACpB,IAAIiF,EAAO/H,KAAKokkB,SAGhB,OAFApkkB,KAAK2gB,MAAQ3gB,KAAK2G,IAAIrF,GAAO,EAAI,EACjCyG,EAAKzG,GAAQsmmB,QAA0BrpmB,IAAVuE,EAfV,4BAekDA,EAC9D9C,IACT,yBCpBA,IAAIi+lB,EAAa7+lB,EAAQ,OACrBmnmB,EAAennmB,EAAQ,OACvBiimB,EAAcjimB,EAAQ,OAe1Bo0C,EAAOp1C,QANP,SAAyB8yC,GACvB,MAAqC,mBAAtBA,EAAOjxC,aAA8BohmB,EAAYnwjB,GAE5D,CAAC,EADD+sjB,EAAWsI,EAAar1jB,GAE9B,qBCdA,IAGI22jB,EAAW,mBAoBfr0jB,EAAOp1C,QAVP,SAAiB0E,EAAOnC,GACtB,IAAI6W,SAAc1U,EAGlB,SAFAnC,EAAmB,MAAVA,EAfY,iBAewBA,KAGlC,UAAR6W,GACU,UAARA,GAAoBqwlB,EAASlmkB,KAAK7+B,KAChCA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQnC,CACjD,wBCtBA,IAAIgyF,EAAKvzF,EAAQ,OACb0omB,EAAc1omB,EAAQ,OACtBg+lB,EAAUh+lB,EAAQ,OAClBq9C,EAAWr9C,EAAQ,MA0BvBo0C,EAAOp1C,QAdP,SAAwB0E,EAAOia,EAAOm0B,GACpC,IAAKuL,EAASvL,GACZ,OAAO,EAET,IAAI15B,SAAcuF,EAClB,SAAY,UAARvF,EACKswlB,EAAY52jB,IAAWksjB,EAAQrglB,EAAOm0B,EAAOvwC,QACrC,UAAR6W,GAAoBuF,KAASm0B,IAE7ByhD,EAAGzhD,EAAOn0B,GAAQja,EAG7B,yBC3BA,IAAI+kB,EAAUzoB,EAAQ,OAClB6/iB,EAAW7/iB,EAAQ,OAGnB2omB,EAAe,mDACfC,EAAgB,QAuBpBx0jB,EAAOp1C,QAbP,SAAe0E,EAAOouC,GACpB,GAAIrpB,EAAQ/kB,GACV,OAAO,EAET,IAAI0U,SAAc1U,EAClB,QAAY,UAAR0U,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAAT1U,IAAiBm8iB,EAASn8iB,MAGvBklmB,EAAcrmkB,KAAK7+B,KAAWilmB,EAAapmkB,KAAK7+B,IAC1C,MAAVouC,GAAkBpuC,KAAStD,OAAO0xC,GACvC,qBCZAsC,EAAOp1C,QAPP,SAAmB0E,GACjB,IAAI0U,SAAc1U,EAClB,MAAgB,UAAR0U,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAV1U,EACU,OAAVA,CACP,uBCZA,IAAIkhmB,EAAa5kmB,EAAQ,OAGrB6omB,EAAc,WAChB,IAAIC,EAAM,SAASvmlB,KAAKqilB,GAAcA,EAAWxzlB,MAAQwzlB,EAAWxzlB,KAAK0zjB,UAAY,IACrF,OAAOgkC,EAAO,iBAAmBA,EAAO,EAC1C,CAHkB,GAgBlB10jB,EAAOp1C,QAJP,SAAkBolB,GAChB,QAASyklB,GAAeA,KAAczklB,CACxC,qBChBA,IAAIq9kB,EAAcrhmB,OAAOU,UAgBzBszC,EAAOp1C,QAPP,SAAqB0E,GACnB,IAAI0ha,EAAO1ha,GAASA,EAAM7C,YAG1B,OAAO6C,KAFqB,mBAAR0ha,GAAsBA,EAAKtka,WAAc2gmB,EAG/D,yBCfA,IAAIpkjB,EAAWr9C,EAAQ,MAcvBo0C,EAAOp1C,QAJP,SAA4B0E,GAC1B,OAAOA,IAAUA,IAAU25C,EAAS35C,EACtC,qBCAA0wC,EAAOp1C,QALP,WACE4B,KAAKokkB,SAAW,GAChBpkkB,KAAK2gB,KAAO,CACd,wBCVA,IAAIwnlB,EAAe/omB,EAAQ,OAMvBkU,EAHa3T,MAAMO,UAGCoT,OA4BxBkgC,EAAOp1C,QAjBP,SAAyBkD,GACvB,IAAIyG,EAAO/H,KAAKokkB,SACZrnjB,EAAQorlB,EAAapgmB,EAAMzG,GAE/B,QAAIyb,EAAQ,KAIRA,GADYhV,EAAKpH,OAAS,EAE5BoH,EAAK1D,MAELiP,EAAO1S,KAAKmH,EAAMgV,EAAO,KAEzB/c,KAAK2gB,MACA,EACT,yBChCA,IAAIwnlB,EAAe/omB,EAAQ,OAkB3Bo0C,EAAOp1C,QAPP,SAAsBkD,GACpB,IAAIyG,EAAO/H,KAAKokkB,SACZrnjB,EAAQorlB,EAAapgmB,EAAMzG,GAE/B,OAAOyb,EAAQ,OAAIxe,EAAYwJ,EAAKgV,GAAO,EAC7C,yBChBA,IAAIorlB,EAAe/omB,EAAQ,OAe3Bo0C,EAAOp1C,QAJP,SAAsBkD,GACpB,OAAO6mmB,EAAanomB,KAAKokkB,SAAU9ikB,IAAQ,CAC7C,yBCbA,IAAI6mmB,EAAe/omB,EAAQ,OAyB3Bo0C,EAAOp1C,QAbP,SAAsBkD,EAAKwB,GACzB,IAAIiF,EAAO/H,KAAKokkB,SACZrnjB,EAAQorlB,EAAapgmB,EAAMzG,GAQ/B,OANIyb,EAAQ,KACR/c,KAAK2gB,KACP5Y,EAAKzD,KAAK,CAAChD,EAAKwB,KAEhBiF,EAAKgV,GAAO,GAAKja,EAEZ9C,IACT,yBCvBA,IAAIohjB,EAAOhijB,EAAQ,OACf48lB,EAAY58lB,EAAQ,OACpB+xE,EAAM/xE,EAAQ,OAkBlBo0C,EAAOp1C,QATP,WACE4B,KAAK2gB,KAAO,EACZ3gB,KAAKokkB,SAAW,CACd,KAAQ,IAAIhjB,EACZ,IAAO,IAAKjwe,GAAO6qhB,GACnB,OAAU,IAAI56C,EAElB,wBClBA,IAAIgnD,EAAahpmB,EAAQ,OAiBzBo0C,EAAOp1C,QANP,SAAwBkD,GACtB,IAAI4B,EAASklmB,EAAWpomB,KAAMsB,GAAa,OAAEA,GAE7C,OADAtB,KAAK2gB,MAAQzd,EAAS,EAAI,EACnBA,CACT,yBCfA,IAAIklmB,EAAahpmB,EAAQ,OAezBo0C,EAAOp1C,QAJP,SAAqBkD,GACnB,OAAO8mmB,EAAWpomB,KAAMsB,GAAKsF,IAAItF,EACnC,yBCbA,IAAI8mmB,EAAahpmB,EAAQ,OAezBo0C,EAAOp1C,QAJP,SAAqBkD,GACnB,OAAO8mmB,EAAWpomB,KAAMsB,GAAKqF,IAAIrF,EACnC,yBCbA,IAAI8mmB,EAAahpmB,EAAQ,OAqBzBo0C,EAAOp1C,QATP,SAAqBkD,EAAKwB,GACxB,IAAIiF,EAAOqgmB,EAAWpomB,KAAMsB,GACxBqf,EAAO5Y,EAAK4Y,KAIhB,OAFA5Y,EAAKjB,IAAIxF,EAAKwB,GACd9C,KAAK2gB,MAAQ5Y,EAAK4Y,MAAQA,EAAO,EAAI,EAC9B3gB,IACT,qBCFAwzC,EAAOp1C,QAVP,SAAoBS,GAClB,IAAIke,GAAS,EACT7Z,EAASvD,MAAMd,EAAI8hB,MAKvB,OAHA9hB,EAAIqR,SAAQ,SAASpN,EAAOxB,GAC1B4B,IAAS6Z,GAAS,CAACzb,EAAKwB,EAC1B,IACOI,CACT,qBCIAswC,EAAOp1C,QAVP,SAAiCkD,EAAKi/lB,GACpC,OAAO,SAASrvjB,GACd,OAAc,MAAVA,IAGGA,EAAO5vC,KAASi/lB,SACPhimB,IAAbgimB,GAA2Bj/lB,KAAO9B,OAAO0xC,IAC9C,CACF,yBCjBA,IAAIjuB,EAAU7jB,EAAQ,OAyBtBo0C,EAAOp1C,QAZP,SAAuBolB,GACrB,IAAItgB,EAAS+f,EAAQO,GAAM,SAASliB,GAIlC,OAfmB,MAYfyhB,EAAMpC,MACRoC,EAAMya,QAEDl8B,CACT,IAEIyhB,EAAQ7f,EAAO6f,MACnB,OAAO7f,CACT,yBCvBA,IAGI0kmB,EAHYxomB,EAAQ,MAGLi8lB,CAAU77lB,OAAQ,UAErCg0C,EAAOp1C,QAAUwpmB,yBCLjB,IAGItG,EAHUlimB,EAAQ,MAGLonmB,CAAQhnmB,OAAOgR,KAAMhR,QAEtCg0C,EAAOp1C,QAAUkjmB,oBCcjB9tjB,EAAOp1C,QAVP,SAAsB8yC,GACpB,IAAIhuC,EAAS,GACb,GAAc,MAAVguC,EACF,IAAK,IAAI5vC,KAAO9B,OAAO0xC,GACrBhuC,EAAOoB,KAAKhD,GAGhB,OAAO4B,CACT,oCCjBA,IAAI+imB,EAAa7mmB,EAAQ,OAGrBukmB,EAA4CvlmB,IAAYA,EAAQsY,UAAYtY,EAG5EwlmB,EAAaD,GAA4CnwjB,IAAWA,EAAO98B,UAAY88B,EAMvF60jB,EAHgBzE,GAAcA,EAAWxlmB,UAAYulmB,GAGtBsC,EAAW78lB,QAG1Ck/lB,EAAY,WACd,IAEE,IAAIrxd,EAAQ2sd,GAAcA,EAAWxkmB,SAAWwkmB,EAAWxkmB,QAAQ,QAAQ63I,MAE3E,OAAIA,GAKGoxd,GAAeA,EAAYrkC,SAAWqkC,EAAYrkC,QAAQ,OACnE,CAAE,MAAOjjkB,GAAI,CACf,CAZgB,GAchByyC,EAAOp1C,QAAUkqmB,qBC5BjB,IAOI7B,EAPcjnmB,OAAOU,UAOcsP,SAavCgkC,EAAOp1C,QAJP,SAAwB0E,GACtB,OAAO2jmB,EAAqB7lmB,KAAKkC,EACnC,qBCLA0wC,EAAOp1C,QANP,SAAiBolB,EAAM0kB,GACrB,OAAO,SAAS/kB,GACd,OAAOK,EAAK0kB,EAAU/kB,GACxB,CACF,yBCZA,IAAItiB,EAAQzB,EAAQ,OAGhBmpmB,EAAYj9lB,KAAK25B,IAgCrBuO,EAAOp1C,QArBP,SAAkBolB,EAAMmkB,EAAOO,GAE7B,OADAP,EAAQ4gkB,OAAoBhqmB,IAAVopC,EAAuBnkB,EAAK7iB,OAAS,EAAKgnC,EAAO,GAC5D,WAML,IALA,IAAIrf,EAAO5nB,UACPqc,GAAS,EACTpc,EAAS4nmB,EAAUjglB,EAAK3nB,OAASgnC,EAAO,GACxCpqB,EAAQ5d,MAAMgB,KAEToc,EAAQpc,GACf4c,EAAMR,GAASuL,EAAKqf,EAAQ5qB,GAE9BA,GAAS,EAET,IADA,IAAIyrlB,EAAY7omB,MAAMgoC,EAAQ,KACrB5qB,EAAQ4qB,GACf6gkB,EAAUzrlB,GAASuL,EAAKvL,GAG1B,OADAyrlB,EAAU7gkB,GAASO,EAAU3qB,GACtB1c,EAAM2iB,EAAMxjB,KAAMwomB,EAC3B,CACF,yBCjCA,IAAIvC,EAAa7mmB,EAAQ,OAGrBqpmB,EAA0B,iBAARr6lB,MAAoBA,MAAQA,KAAK5O,SAAWA,QAAU4O,KAGxEyP,EAAOoolB,GAAcwC,GAAYtve,SAAS,cAATA,GAErC3lF,EAAOp1C,QAAUyf,qBCYjB21B,EAAOp1C,QAZP,SAAiB8yC,EAAQ5vC,GACvB,IAAY,gBAARA,GAAgD,oBAAhB4vC,EAAO5vC,KAIhC,aAAPA,EAIJ,OAAO4vC,EAAO5vC,EAChB,qBCAAkyC,EAAOp1C,QALP,SAAqB0E,GAEnB,OADA9C,KAAKokkB,SAASt9jB,IAAIhE,EAbC,6BAcZ9C,IACT,qBCHAwzC,EAAOp1C,QAJP,SAAqB0E,GACnB,OAAO9C,KAAKokkB,SAASz9jB,IAAI7D,EAC3B,qBCMA0wC,EAAOp1C,QAVP,SAAoB0I,GAClB,IAAIiW,GAAS,EACT7Z,EAASvD,MAAMmH,EAAI6Z,MAKvB,OAHA7Z,EAAIoJ,SAAQ,SAASpN,GACnBI,IAAS6Z,GAASja,CACpB,IACOI,CACT,yBCfA,IAAIkgmB,EAAkBhkmB,EAAQ,MAW1B8jmB,EAVW9jmB,EAAQ,MAULspmB,CAAStF,GAE3B5vjB,EAAOp1C,QAAU8kmB,qBCZjB,IAIIyF,EAAY7qjB,KAAKE,IA+BrBxK,EAAOp1C,QApBP,SAAkBolB,GAChB,IAAI7E,EAAQ,EACRiqlB,EAAa,EAEjB,OAAO,WACL,IAAIC,EAAQF,IACRz8iB,EApBO,IAoBiB28iB,EAAQD,GAGpC,GADAA,EAAaC,EACT38iB,EAAY,GACd,KAAMvtC,GAzBI,IA0BR,OAAOje,UAAU,QAGnBie,EAAQ,EAEV,OAAO6E,EAAK3iB,WAAMtC,EAAWmC,UAC/B,CACF,yBClCA,IAAIs7lB,EAAY58lB,EAAQ,OAcxBo0C,EAAOp1C,QALP,WACE4B,KAAKokkB,SAAW,IAAI43B,EACpBh8lB,KAAK2gB,KAAO,CACd,qBCKA6yB,EAAOp1C,QARP,SAAqBkD,GACnB,IAAIyG,EAAO/H,KAAKokkB,SACZlhkB,EAAS6E,EAAa,OAAEzG,GAG5B,OADAtB,KAAK2gB,KAAO5Y,EAAK4Y,KACVzd,CACT,qBCFAswC,EAAOp1C,QAJP,SAAkBkD,GAChB,OAAOtB,KAAKokkB,SAASx9jB,IAAItF,EAC3B,qBCEAkyC,EAAOp1C,QAJP,SAAkBkD,GAChB,OAAOtB,KAAKokkB,SAASz9jB,IAAIrF,EAC3B,yBCXA,IAAI06lB,EAAY58lB,EAAQ,OACpB+xE,EAAM/xE,EAAQ,OACdk9lB,EAAWl9lB,EAAQ,OA+BvBo0C,EAAOp1C,QAhBP,SAAkBkD,EAAKwB,GACrB,IAAIiF,EAAO/H,KAAKokkB,SAChB,GAAIr8jB,aAAgBi0lB,EAAW,CAC7B,IAAInniB,EAAQ9sD,EAAKq8jB,SACjB,IAAKjzf,GAAQtc,EAAMl0D,OAASmomB,IAG1B,OAFAj0iB,EAAMvwD,KAAK,CAAChD,EAAKwB,IACjB9C,KAAK2gB,OAAS5Y,EAAK4Y,KACZ3gB,KAET+H,EAAO/H,KAAKokkB,SAAW,IAAIk4B,EAASzniB,EACtC,CAGA,OAFA9sD,EAAKjB,IAAIxF,EAAKwB,GACd9C,KAAK2gB,KAAO5Y,EAAK4Y,KACV3gB,IACT,yBC/BA,IAAI+omB,EAAgB3pmB,EAAQ,OAGxB4pmB,EAAa,mGAGbC,EAAe,WASfxF,EAAesF,GAAc,SAASnhlB,GACxC,IAAI1kB,EAAS,GAOb,OAN6B,KAAzB0kB,EAAOlZ,WAAW,IACpBxL,EAAOoB,KAAK,IAEdsjB,EAAOvN,QAAQ2ulB,GAAY,SAASpnlB,EAAOoe,EAAQ+9f,EAAOmrE,GACxDhmmB,EAAOoB,KAAKy5hB,EAAQmrE,EAAU7ulB,QAAQ4ulB,EAAc,MAASjpkB,GAAUpe,EACzE,IACO1e,CACT,IAEAswC,EAAOp1C,QAAUqlmB,yBC1BjB,IAAIxkD,EAAW7/iB,EAAQ,OAoBvBo0C,EAAOp1C,QARP,SAAe0E,GACb,GAAoB,iBAATA,GAAqBm8iB,EAASn8iB,GACvC,OAAOA,EAET,IAAII,EAAUJ,EAAQ,GACtB,MAAkB,KAAVI,GAAkB,EAAIJ,IAdjB,SAcwC,KAAOI,CAC9D,qBCjBA,IAGI49lB,EAHY3ne,SAASj5H,UAGIsP,SAqB7BgkC,EAAOp1C,QAZP,SAAkBolB,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOs9kB,EAAalgmB,KAAK4iB,EAC3B,CAAE,MAAOziB,GAAI,CACb,IACE,OAAQyiB,EAAO,EACjB,CAAE,MAAOziB,GAAI,CACf,CACA,MAAO,EACT,qBCtBA,IAAIoomB,EAAgB,kBAKhBC,EAAiB,kBACjBC,EAAe,4BAKfC,EAAe,4BAEfC,EAAeC,8OAIfC,EAAU,IAAMF,EAAe,IAE/BG,EAAW,OACXC,EAAY,IAAMP,EAAiB,IACnCQ,EAAU,IAAMP,EAAe,IAC/BQ,EAAS,KAAOV,EAAgBI,EAAeG,EAAWN,EAAiBC,EAAeC,EAAe,IAIzGQ,EAAa,kCACbC,EAAa,qCACbC,EAAU,IAAMV,EAAe,IAI/BW,EAAc,MAAQL,EAAU,IAAMC,EAAS,IAC/CK,EAAc,MAAQF,EAAU,IAAMH,EAAS,IAC/CM,EAAkB,qCAClBC,EAAkB,qCAClBC,EAAWC,gFACXC,EAAW,oBAIXC,EAAQD,EAAWF,GAHP,gBAAwB,CAbtB,KAAOlB,EAAgB,IAaaW,EAAYC,GAAYt6lB,KAAK,KAAO,IAAM86lB,EAAWF,EAAW,MAIlHI,EAAU,MAAQ,CAACd,EAAWG,EAAYC,GAAYt6lB,KAAK,KAAO,IAAM+6lB,EAGxEE,EAAgBrlkB,OAAO,CACzB2kkB,EAAU,IAAMJ,EAAU,IAAMO,EAAkB,MAAQ,CAACV,EAASO,EAAS,KAAKv6lB,KAAK,KAAO,IAC9Fy6lB,EAAc,IAAME,EAAkB,MAAQ,CAACX,EAASO,EAAUC,EAAa,KAAKx6lB,KAAK,KAAO,IAChGu6lB,EAAU,IAAMC,EAAc,IAAME,EACpCH,EAAU,IAAMI,EATD,mDADA,mDAafV,EACAe,GACAh7lB,KAAK,KAAM,KAab+jC,EAAOp1C,QAJP,SAAsBwpB,GACpB,OAAOA,EAAOhG,MAAM8olB,IAAkB,EACxC,qBCzCAl3jB,EAAOp1C,QANP,SAAkB0E,GAChB,OAAO,WACL,OAAOA,CACT,CACF,yBCvBA,IAAI4hmB,EAAetlmB,EAAQ,OACvBoQ,EAAWpQ,EAAQ,OAGnBurmB,EAAU,8CAeVC,EAAcvlkB,OANJ,kDAMoB,KAyBlCmO,EAAOp1C,QALP,SAAgBwpB,GAEd,OADAA,EAASpY,EAASoY,KACDA,EAAOvN,QAAQswlB,EAASjG,GAAcrqlB,QAAQuwlB,EAAa,GAC9E,qBCNAp3jB,EAAOp1C,QAJP,SAAY0E,EAAO6pB,GACjB,OAAO7pB,IAAU6pB,GAAU7pB,IAAUA,GAAS6pB,IAAUA,CAC1D,yBClCA,IAAIo2kB,EAAU3jmB,EAAQ,OAgCtBo0C,EAAOp1C,QALP,SAAa8yC,EAAQhU,EAAM9oB,GACzB,IAAIlR,EAAmB,MAAVguC,OAAiB3yC,EAAYwkmB,EAAQ7xjB,EAAQhU,GAC1D,YAAkB3+B,IAAX2E,EAAuBkR,EAAelR,CAC/C,yBC9BA,IAAI2nmB,EAAYzrmB,EAAQ,OACpB0rmB,EAAU1rmB,EAAQ,OAgCtBo0C,EAAOp1C,QAJP,SAAe8yC,EAAQhU,GACrB,OAAiB,MAAVgU,GAAkB45jB,EAAQ55jB,EAAQhU,EAAM2tkB,EACjD,oBCXAr3jB,EAAOp1C,QAJP,SAAkB0E,GAChB,OAAOA,CACT,yBClBA,IAAIiomB,EAAkB3rmB,EAAQ,MAC1By/lB,EAAez/lB,EAAQ,OAGvByhmB,EAAcrhmB,OAAOU,UAGrBL,EAAiBghmB,EAAYhhmB,eAG7BqB,EAAuB2/lB,EAAY3/lB,qBAoBnCi8lB,EAAc4N,EAAgB,WAAa,OAAOrqmB,SAAW,CAA/B,IAAsCqqmB,EAAkB,SAASjomB,GACjG,OAAO+7lB,EAAa/7lB,IAAUjD,EAAee,KAAKkC,EAAO,YACtD5B,EAAqBN,KAAKkC,EAAO,SACtC,EAEA0wC,EAAOp1C,QAAU++lB,qBCZjB,IAAIt1kB,EAAUloB,MAAMkoB,QAEpB2rB,EAAOp1C,QAAUypB,yBCzBjB,IAAI5O,EAAa7Z,EAAQ,OACrB4hmB,EAAW5hmB,EAAQ,OA+BvBo0C,EAAOp1C,QAJP,SAAqB0E,GACnB,OAAgB,MAATA,GAAiBk+lB,EAASl+lB,EAAMnC,UAAYsY,EAAWnW,EAChE,yBC9BA,IAAIglmB,EAAc1omB,EAAQ,OACtBy/lB,EAAez/lB,EAAQ,OA+B3Bo0C,EAAOp1C,QAJP,SAA2B0E,GACzB,OAAO+7lB,EAAa/7lB,IAAUglmB,EAAYhlmB,EAC5C,mCC9BA,IAAI+a,EAAOze,EAAQ,OACf4rmB,EAAY5rmB,EAAQ,OAGpBukmB,EAA4CvlmB,IAAYA,EAAQsY,UAAYtY,EAG5EwlmB,EAAaD,GAA4CnwjB,IAAWA,EAAO98B,UAAY88B,EAMvF9lC,EAHgBk2lB,GAAcA,EAAWxlmB,UAAYulmB,EAG5B9llB,EAAKnQ,YAASnP,EAsBvC49C,GAnBiBzuC,EAASA,EAAOyuC,cAAW59C,IAmBfysmB,EAEjCx3jB,EAAOp1C,QAAU+9C,yBCrCjB,IAAIyijB,EAAax/lB,EAAQ,OACrBq9C,EAAWr9C,EAAQ,MAmCvBo0C,EAAOp1C,QAVP,SAAoB0E,GAClB,IAAK25C,EAAS35C,GACZ,OAAO,EAIT,IAAIoY,EAAM0jlB,EAAW97lB,GACrB,MA5BY,qBA4BLoY,GA3BI,8BA2BcA,GA7BZ,0BA6B6BA,GA1B7B,kBA0BgDA,CAC/D,qBCAAs4B,EAAOp1C,QALP,SAAkB0E,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GA9Bb,gBA+BvB,oBCFA0wC,EAAOp1C,QALP,SAAkB0E,GAChB,IAAI0U,SAAc1U,EAClB,OAAgB,MAATA,IAA0B,UAAR0U,GAA4B,YAARA,EAC/C,qBCAAg8B,EAAOp1C,QAJP,SAAsB0E,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,yBC1BA,IAAI87lB,EAAax/lB,EAAQ,OACrBmnmB,EAAennmB,EAAQ,OACvBy/lB,EAAez/lB,EAAQ,OAMvBwhmB,EAAYzne,SAASj5H,UACrB2gmB,EAAcrhmB,OAAOU,UAGrB4gmB,EAAeF,EAAUpxlB,SAGzB3P,EAAiBghmB,EAAYhhmB,eAG7BormB,EAAmBnK,EAAalgmB,KAAKpB,QA2CzCg0C,EAAOp1C,QAbP,SAAuB0E,GACrB,IAAK+7lB,EAAa/7lB,IA5CJ,mBA4Cc87lB,EAAW97lB,GACrC,OAAO,EAET,IAAIs0I,EAAQmvd,EAAazjmB,GACzB,GAAc,OAAVs0I,EACF,OAAO,EAET,IAAIotR,EAAO3ka,EAAee,KAAKw2I,EAAO,gBAAkBA,EAAMn3I,YAC9D,MAAsB,mBAARuka,GAAsBA,aAAgBA,GAClDs8L,EAAalgmB,KAAK4ja,IAASymM,CAC/B,yBC3DA,IAAIrM,EAAax/lB,EAAQ,OACrBy/lB,EAAez/lB,EAAQ,OA2B3Bo0C,EAAOp1C,QALP,SAAkB0E,GAChB,MAAuB,iBAATA,GACX+7lB,EAAa/7lB,IArBF,mBAqBY87lB,EAAW97lB,EACvC,yBC1BA,IAAIoomB,EAAmB9rmB,EAAQ,OAC3B+rmB,EAAY/rmB,EAAQ,OACpBkpmB,EAAWlpmB,EAAQ,OAGnBgsmB,EAAmB9C,GAAYA,EAASrkC,aAmBxCA,EAAemnC,EAAmBD,EAAUC,GAAoBF,EAEpE13jB,EAAOp1C,QAAU6lkB,wBC1BjB,IAuBI9pjB,EAvBmB/a,EAAQ,MAuBfismB,EAAiB,SAASnomB,EAAQoomB,EAAMvulB,GACtD,OAAO7Z,GAAU6Z,EAAQ,IAAM,IAAMuulB,EAAKhxlB,aAC5C,IAEAk5B,EAAOp1C,QAAU+b,yBC3BjB,IAAIoxlB,EAAgBnsmB,EAAQ,OACxBosmB,EAAWpsmB,EAAQ,OACnB0omB,EAAc1omB,EAAQ,OAkC1Bo0C,EAAOp1C,QAJP,SAAc8yC,GACZ,OAAO42jB,EAAY52jB,GAAUq6jB,EAAcr6jB,GAAUs6jB,EAASt6jB,EAChE,yBClCA,IAAIq6jB,EAAgBnsmB,EAAQ,OACxBqsmB,EAAarsmB,EAAQ,MACrB0omB,EAAc1omB,EAAQ,OA6B1Bo0C,EAAOp1C,QAJP,SAAgB8yC,GACd,OAAO42jB,EAAY52jB,GAAUq6jB,EAAcr6jB,GAAQ,GAAQu6jB,EAAWv6jB,EACxE,yBC7BA,IAAIorjB,EAAWl9lB,EAAQ,OAiDvB,SAAS6jB,EAAQO,EAAMkolB,GACrB,GAAmB,mBAARlolB,GAAmC,MAAZkolB,GAAuC,mBAAZA,EAC3D,MAAM,IAAItnmB,UAhDQ,uBAkDpB,IAAIunmB,EAAW,SAAXA,IACF,IAAIrjlB,EAAO5nB,UACPY,EAAMoqmB,EAAWA,EAAS7qmB,MAAMb,KAAMsoB,GAAQA,EAAK,GACnDvF,EAAQ4olB,EAAS5olB,MAErB,GAAIA,EAAMpc,IAAIrF,GACZ,OAAOyhB,EAAMnc,IAAItF,GAEnB,IAAI4B,EAASsgB,EAAK3iB,MAAMb,KAAMsoB,GAE9B,OADAqjlB,EAAS5olB,MAAQA,EAAMjc,IAAIxF,EAAK4B,IAAW6f,EACpC7f,CACT,EAEA,OADAyomB,EAAS5olB,MAAQ,IAAKE,EAAQoijB,OAASi3B,GAChCqP,CACT,CAGA1olB,EAAQoijB,MAAQi3B,EAEhB9ojB,EAAOp1C,QAAU6kB,yBCxEjB,IAAIk/kB,EAAY/imB,EAAQ,OAkCpB2qC,EAjCiB3qC,EAAQ,MAiCjBwsmB,EAAe,SAAS16jB,EAAQmB,EAAQ+vjB,GAClDD,EAAUjxjB,EAAQmB,EAAQ+vjB,EAC5B,IAEA5ujB,EAAOp1C,QAAU2rC,yBCtCjB,IAAIs5jB,EAAWjkmB,EAAQ,OACnBysmB,EAAezsmB,EAAQ,OACvB0smB,EAAa1smB,EAAQ,MACrB2smB,EAAe3smB,EAAQ,OAiC3Bo0C,EAAOp1C,QAbP,SAAgB8yC,EAAQ8rjB,GACtB,GAAc,MAAV9rjB,EACF,MAAO,CAAC,EAEV,IAAI5/B,EAAQ+xlB,EAAS0I,EAAa76jB,IAAS,SAAStb,GAClD,MAAO,CAACA,EACV,IAEA,OADAonkB,EAAY6O,EAAa7O,GAClB8O,EAAW56jB,EAAQ5/B,GAAO,SAASxO,EAAOo6B,GAC/C,OAAO8/jB,EAAUl6lB,EAAOo6B,EAAK,GAC/B,GACF,yBClCA,IAAI8ukB,EAAe5smB,EAAQ,MACvB6smB,EAAmB7smB,EAAQ,MAC3ByimB,EAAQzimB,EAAQ,OAChBi/lB,EAAQj/lB,EAAQ,OA4BpBo0C,EAAOp1C,QAJP,SAAkB8+B,GAChB,OAAO2kkB,EAAM3kkB,GAAQ8ukB,EAAa3N,EAAMnhkB,IAAS+ukB,EAAiB/ukB,EACpE,qBCPAsW,EAAOp1C,QAJP,WACE,MAAO,EACT,qBCHAo1C,EAAOp1C,QAJP,WACE,OAAO,CACT,wBCfA,IAAI8tmB,EAAa9smB,EAAQ,OACrB6imB,EAAS7imB,EAAQ,OA8BrBo0C,EAAOp1C,QAJP,SAAuB0E,GACrB,OAAOopmB,EAAWppmB,EAAOm/lB,EAAOn/lB,GAClC,yBC7BA,IAAI0gmB,EAAepkmB,EAAQ,MA2B3Bo0C,EAAOp1C,QAJP,SAAkB0E,GAChB,OAAgB,MAATA,EAAgB,GAAK0gmB,EAAa1gmB,EAC3C,yBCzBA,IAAIqpmB,EAAa/smB,EAAQ,OACrBgtmB,EAAiBhtmB,EAAQ,OACzBoQ,EAAWpQ,EAAQ,OACnBitmB,EAAejtmB,EAAQ,OA+B3Bo0C,EAAOp1C,QAVP,SAAewpB,EAAQlL,EAAS0nlB,GAI9B,OAHAx8kB,EAASpY,EAASoY,QAGFrpB,KAFhBme,EAAU0nlB,OAAQ7lmB,EAAYme,GAGrB0vlB,EAAexklB,GAAUyklB,EAAazklB,GAAUuklB,EAAWvklB,GAE7DA,EAAOhG,MAAMlF,IAAY,EAClC,oBCkCE82B,EAAOp1C,QArDT,SAA2BkD,EAAK08I,GAC/B,IAAIsud,EAAW99lB,EAAOgiB,EAAI+7kB,EAAKC,EAASjgD,EAASiC,EAAIhujB,EASrD,IAPA8rmB,EAAyB,EAAbhrmB,EAAIX,OAChB6N,EAAQlN,EAAIX,OAAS2rmB,EACrB97kB,EAAKwtH,EACLwud,EAAK,WACLjgD,EAAK,UACL/rjB,EAAI,EAEGA,EAAIgO,GACRggjB,EACwB,IAApBltjB,EAAIoN,WAAWlO,IACO,IAAtBc,EAAIoN,aAAalO,KAAc,GACT,IAAtBc,EAAIoN,aAAalO,KAAc,IACT,IAAtBc,EAAIoN,aAAalO,KAAc,KACnCA,EASFgwB,EAAwB,OAAV,OADd+7kB,EAAyB,GAAV,OADT/7kB,GADNA,GAFAg+hB,GAAc,OADdA,GADAA,GAAc,MAALA,GAAeg+C,KAAUh+C,IAAO,IAAMg+C,EAAM,QAAW,IAAQ,aAC5D,GAAOh+C,IAAO,KACFjC,KAAUiC,IAAO,IAAMjC,EAAM,QAAW,IAAQ,aAGtD,GAAO/7hB,IAAO,OACe,GAAbA,IAAO,IAAW,QAAW,IAAQ,eACnB,OAAd+7kB,IAAQ,IAAgB,QAAW,IAK1E,OAFA/9C,EAAK,EAEG89C,GACP,KAAK,EAAG99C,IAA+B,IAAxBltjB,EAAIoN,WAAWlO,EAAI,KAAc,GAChD,KAAK,EAAGgujB,IAA+B,IAAxBltjB,EAAIoN,WAAWlO,EAAI,KAAc,EAChD,KAAK,EAKLgwB,GADAg+hB,GAAa,OADbA,GADAA,GAAa,OAFLA,GAA2B,IAApBltjB,EAAIoN,WAAWlO,KAEPgsmB,KAAUh+C,IAAO,IAAMg+C,EAAM,QAAW,IAAO,aAC1D,GAAOh+C,IAAO,KACHjC,KAAUiC,IAAO,IAAMjC,EAAM,QAAW,IAAO,WAYvE,OARA/7hB,GAAMlvB,EAAIX,OAGV6vB,EAAuB,YAAV,OADbA,GAAMA,IAAO,OACyC,YAAbA,IAAO,IAAoB,QAAW,IAAO,WAEtFA,EAAwB,YAAV,OADdA,GAAMA,IAAO,OAC0C,YAAbA,IAAO,IAAoB,QAAW,IAAQ,YACxFA,GAAMA,IAAO,MAEC,CACf,yBC/DA,IAAI6yjB,EAAUjklB,EAAQ,OAKtBo0C,EAAOp1C,QAAUqumB,EACjBj5jB,EAAOp1C,QAAQshB,MAAQA,EACvB8zB,EAAOp1C,QAAQqhB,QAsGf,SAAkBrF,EAAKY,GACrB,OAAO0xlB,EAAiBhtlB,EAAMtF,EAAKY,GAAUA,EAC/C,EAvGAw4B,EAAOp1C,QAAQsumB,iBAAmBA,EAClCl5jB,EAAOp1C,QAAQuumB,eAAiBA,EAOhC,IAAIC,EAAc,IAAIvnkB,OAAO,CAG3B,UAOA,0GACA51B,KAAK,KAAM,KASb,SAASiQ,EAAOtF,EAAKY,GAQnB,IAPA,IAKIgyC,EALA6/iB,EAAS,GACTvrmB,EAAM,EACNyb,EAAQ,EACRmgB,EAAO,GACP4vkB,EAAmB9xlB,GAAWA,EAAQwD,WAAa,IAGf,OAAhCwuC,EAAM4/iB,EAAYjrlB,KAAKvH,KAAe,CAC5C,IAAI3V,EAAIuoD,EAAI,GACR+/iB,EAAU//iB,EAAI,GACdhtC,EAASgtC,EAAIjwC,MAKjB,GAJAmgB,GAAQ9iB,EAAI+C,MAAMJ,EAAOiD,GACzBjD,EAAQiD,EAASvb,EAAE9D,OAGfosmB,EACF7vkB,GAAQ6vkB,EAAQ,OADlB,CAKA,IAAI/pmB,EAAOoX,EAAI2C,GACXyE,EAASwrC,EAAI,GACbjmD,EAAOimD,EAAI,GACXggjB,EAAUhgjB,EAAI,GACd6pC,EAAQ7pC,EAAI,GACZigjB,EAAWjgjB,EAAI,GACfy+N,EAAWz+N,EAAI,GAGf9vB,IACF2vkB,EAAOvomB,KAAK44B,GACZA,EAAO,IAGT,IAAI4sgB,EAAoB,MAAVtohB,GAA0B,MAARxe,GAAgBA,IAASwe,EACrDgqe,EAAsB,MAAbyhH,GAAiC,MAAbA,EAC7BhmE,EAAwB,MAAbgmE,GAAiC,MAAbA,EAC/BzulB,EAAYwuC,EAAI,IAAM8/iB,EACtBpwlB,EAAUswlB,GAAWn2gB,EAEzBg2gB,EAAOvomB,KAAK,CACVyC,KAAMA,GAAQzF,IACdkgB,OAAQA,GAAU,GAClBhD,UAAWA,EACXyohB,SAAUA,EACVz7C,OAAQA,EACRs+C,QAASA,EACTr+Q,WAAYA,EACZ/uQ,QAASA,EAAUwwlB,EAAYxwlB,GAAY+uQ,EAAW,KAAO,KAAOr3F,EAAa51K,GAAa,OA9BhG,CAgCF,CAYA,OATIzB,EAAQ3C,EAAIzZ,SACdu8B,GAAQ9iB,EAAI4C,OAAOD,IAIjBmgB,GACF2vkB,EAAOvomB,KAAK44B,GAGP2vkB,CACT,CAmBA,SAASM,EAA0B/ylB,GACjC,OAAO07Q,UAAU17Q,GAAKC,QAAQ,WAAW,SAAU7Y,GACjD,MAAO,IAAMA,EAAEkN,WAAW,GAAGc,SAAS,IAAIoiC,aAC5C,GACF,CAiBA,SAAS86jB,EAAkBG,EAAQ7xlB,GAKjC,IAHA,IAAI+lB,EAAU,IAAIphC,MAAMktmB,EAAOlsmB,QAGtBH,EAAI,EAAGA,EAAIqsmB,EAAOlsmB,OAAQH,IACR,kBAAdqsmB,EAAOrsmB,KAChBugC,EAAQvgC,GAAK,IAAI6kC,OAAO,OAASwnkB,EAAOrsmB,GAAGkc,QAAU,KAAMvG,EAAM6E,KAIrE,OAAO,SAAU2M,EAAK43B,GAMpB,IALA,IAAIriB,EAAO,GACPn1B,EAAO4f,GAAO,CAAC,EAEfrZ,GADUixC,GAAQ,CAAC,GACF+ghB,OAAS6sC,EAA2B36jB,mBAEhDhyC,EAAI,EAAGA,EAAIqsmB,EAAOlsmB,OAAQH,IAAK,CACtC,IAAI4d,EAAQyulB,EAAOrsmB,GAEnB,GAAqB,kBAAV4d,EAAX,CAMA,IACIgvlB,EADAtqmB,EAAQiF,EAAKqW,EAAMrX,MAGvB,GAAa,MAATjE,EAAe,CACjB,GAAIsb,EAAM6ohB,SAAU,CAEd7ohB,EAAM0rhB,UACR5sgB,GAAQ9e,EAAMoD,QAGhB,QACF,CACE,MAAM,IAAIpd,UAAU,aAAega,EAAMrX,KAAO,kBAEpD,CAEA,GAAIs8kB,EAAQvglB,GAAZ,CACE,IAAKsb,EAAMote,OACT,MAAM,IAAIpnf,UAAU,aAAega,EAAMrX,KAAO,kCAAoCwnB,KAAKhP,UAAUzc,GAAS,KAG9G,GAAqB,IAAjBA,EAAMnC,OAAc,CACtB,GAAIyd,EAAM6ohB,SACR,SAEA,MAAM,IAAI7iiB,UAAU,aAAega,EAAMrX,KAAO,oBAEpD,CAEA,IAAK,IAAI3B,EAAI,EAAGA,EAAItC,EAAMnC,OAAQyE,IAAK,CAGrC,GAFAgomB,EAAU9+lB,EAAOxL,EAAMsC,KAElB27B,EAAQvgC,GAAGmhC,KAAKyrkB,GACnB,MAAM,IAAIhpmB,UAAU,iBAAmBga,EAAMrX,KAAO,eAAiBqX,EAAM1B,QAAU,oBAAsB6R,KAAKhP,UAAU6tlB,GAAW,KAGvIlwkB,IAAe,IAAN93B,EAAUgZ,EAAMoD,OAASpD,EAAMI,WAAa4ulB,CACvD,CAGF,KAxBA,CA4BA,GAFAA,EAAUhvlB,EAAMqtQ,SA5EbqK,UA4EuChzR,GA5ExBuX,QAAQ,SAAS,SAAU7Y,GAC/C,MAAO,IAAMA,EAAEkN,WAAW,GAAGc,SAAS,IAAIoiC,aAC5C,IA0EuDtjC,EAAOxL,IAErDi+B,EAAQvgC,GAAGmhC,KAAKyrkB,GACnB,MAAM,IAAIhpmB,UAAU,aAAega,EAAMrX,KAAO,eAAiBqX,EAAM1B,QAAU,oBAAsB0wlB,EAAU,KAGnHlwkB,GAAQ9e,EAAMoD,OAAS4rlB,CARvB,CA1CA,MAHElwkB,GAAQ9e,CAsDZ,CAEA,OAAO8e,CACT,CACF,CAQA,SAASk3J,EAAch6K,GACrB,OAAOA,EAAIC,QAAQ,6BAA8B,OACnD,CAQA,SAAS6ylB,EAAar2gB,GACpB,OAAOA,EAAMx8E,QAAQ,gBAAiB,OACxC,CASA,SAASgzlB,EAAYjokB,EAAI50B,GAEvB,OADA40B,EAAG50B,KAAOA,EACH40B,CACT,CAQA,SAASjvB,EAAO6E,GACd,OAAOA,GAAWA,EAAQsylB,UAAY,GAAK,GAC7C,CAuEA,SAASX,EAAgBE,EAAQr8lB,EAAMwK,GAChCqokB,EAAQ7ykB,KACXwK,EAAkCxK,GAAQwK,EAC1CxK,EAAO,IAUT,IALA,IAAIwlH,GAFJh7G,EAAUA,GAAW,CAAC,GAEDg7G,OACjB94G,GAAsB,IAAhBlC,EAAQkC,IACdqwlB,EAAQ,GAGH/smB,EAAI,EAAGA,EAAIqsmB,EAAOlsmB,OAAQH,IAAK,CACtC,IAAI4d,EAAQyulB,EAAOrsmB,GAEnB,GAAqB,kBAAV4d,EACTmvlB,GAASn5a,EAAah2K,OACjB,CACL,IAAIoD,EAAS4yK,EAAah2K,EAAMoD,QAC5BwrlB,EAAU,MAAQ5ulB,EAAM1B,QAAU,IAEtClM,EAAKlM,KAAK8Z,GAENA,EAAMote,SACRwhH,GAAW,MAAQxrlB,EAASwrlB,EAAU,MAaxCO,GANIP,EAJA5ulB,EAAM6ohB,SACH7ohB,EAAM0rhB,QAGCtohB,EAAS,IAAMwrlB,EAAU,KAFzB,MAAQxrlB,EAAS,IAAMwrlB,EAAU,MAKnCxrlB,EAAS,IAAMwrlB,EAAU,GAIvC,CACF,CAEA,IAAIxulB,EAAY41K,EAAap5K,EAAQwD,WAAa,KAC9CgvlB,EAAoBD,EAAMpwlB,OAAOqB,EAAU7d,UAAY6d,EAkB3D,OAZKw3G,IACHu3e,GAASC,EAAoBD,EAAMpwlB,MAAM,GAAIqB,EAAU7d,QAAU4smB,GAAS,MAAQ/ulB,EAAY,WAI9F+ulB,GADErwlB,EACO,IAIA84G,GAAUw3e,EAAoB,GAAK,MAAQhvlB,EAAY,MAG3D6ulB,EAAW,IAAIhokB,OAAO,IAAMkokB,EAAOp3lB,EAAM6E,IAAWxK,EAC7D,CAcA,SAASi8lB,EAAcvvkB,EAAM1sB,EAAMwK,GAQjC,OAPKqokB,EAAQ7ykB,KACXwK,EAAkCxK,GAAQwK,EAC1CxK,EAAO,IAGTwK,EAAUA,GAAW,CAAC,EAElBkiB,aAAgBmI,OAlJtB,SAAyBnI,EAAM1sB,GAE7B,IAAIwhL,EAAS90J,EAAKmV,OAAOzwB,MAAM,aAE/B,GAAIowK,EACF,IAAK,IAAIxxL,EAAI,EAAGA,EAAIwxL,EAAOrxL,OAAQH,IACjCgQ,EAAKlM,KAAK,CACRyC,KAAMvG,EACNghB,OAAQ,KACRhD,UAAW,KACXyohB,UAAU,EACVz7C,QAAQ,EACRs+C,SAAS,EACTr+Q,UAAU,EACV/uQ,QAAS,OAKf,OAAO2wlB,EAAWnwkB,EAAM1sB,EAC1B,CA+HWi9lB,CAAevwkB,EAA6B1sB,GAGjD6ykB,EAAQnmjB,GAxHd,SAAwBA,EAAM1sB,EAAMwK,GAGlC,IAFA,IAAImiC,EAAQ,GAEH38C,EAAI,EAAGA,EAAI08B,EAAKv8B,OAAQH,IAC/B28C,EAAM74C,KAAKmomB,EAAavvkB,EAAK18B,GAAIgQ,EAAMwK,GAASq3B,QAKlD,OAAOg7jB,EAFM,IAAIhokB,OAAO,MAAQ8X,EAAM1tC,KAAK,KAAO,IAAK0G,EAAM6E,IAEnCxK,EAC5B,CA+GWk9lB,CAAqCxwkB,EAA8B1sB,EAAOwK,GArGrF,SAAyBkiB,EAAM1sB,EAAMwK,GACnC,OAAO2xlB,EAAejtlB,EAAMwd,EAAMliB,GAAUxK,EAAMwK,EACpD,CAsGS2ylB,CAAsCzwkB,EAA8B1sB,EAAOwK,EACpF,qBCzaAw4B,EAAOp1C,QAAUuB,MAAMkoB,SAAW,SAAUo3B,GAC1C,MAA8C,kBAAvCz/C,OAAOU,UAAUsP,SAAS5O,KAAKq+C,EACxC,sCCOA,IAAI2ujB,EAAuBxumB,EAAQ,OAEnC,SAASyumB,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3Cr6jB,EAAOp1C,QAAU,WACf,SAAS4vmB,EAAK18lB,EAAOgtB,EAAU5H,EAAe6H,EAAUC,EAAc92B,GACpE,GAAIA,IAAWkmmB,EAAf,CAIA,IAAIh4jB,EAAM,IAAIjtC,MACZ,mLAKF,MADAitC,EAAI7uC,KAAO,sBACL6uC,CAPN,CAQF,CAEA,SAASq4jB,IACP,OAAOD,CACT,CAHAA,EAAKr5hB,WAAaq5hB,EAMlB,IAAIE,EAAiB,CACnB3wlB,MAAOywlB,EACPG,OAAQH,EACR5piB,KAAM4piB,EACNxqlB,KAAMwqlB,EACNhukB,OAAQgukB,EACR98jB,OAAQ88jB,EACRpmlB,OAAQomlB,EACR7yb,OAAQ6yb,EAER9mE,IAAK8mE,EACLI,QAASH,EACTzulB,QAASwulB,EACT9hQ,YAAa8hQ,EACbK,WAAYJ,EACZrwlB,KAAMowlB,EACNM,SAAUL,EACV3oiB,MAAO2oiB,EACPzpiB,UAAWypiB,EACX/mkB,MAAO+mkB,EACPM,MAAON,EAEPO,eAAgBV,EAChBC,kBAAmBF,GAKrB,OAFAK,EAAetqiB,UAAYsqiB,EAEpBA,CACT,yBC/CE16jB,EAAOp1C,QAAUgB,EAAQ,MAARA,mCCNnBo0C,EAAOp1C,QAFoB,sECR3B,IAAMqwmB,EAAarvmB,EAAQ,OAErBsvmB,EAAStvmB,EAAQ,MACjBuvmB,EAAiBvvmB,EAAQ,OACzBwvmB,EAAcxvmB,EAAQ,MAE5B,SAASyvmB,EAAcC,EAAYC,EAAQ13lB,EAAMkoC,EAAMyvjB,GACrD,IAAM1mlB,EAAO,GAAGnL,MAAMvc,KAAKF,UAAW,GAChCuumB,EAAU3mlB,EAAK3nB,OACfuumB,EAA2C,oBAAtB5mlB,EAAK2mlB,EAAU,GAE1C,IAAKC,IAAgBT,IACnB,MAAM,IAAI9lmB,MAAM,sCAGlB,IAAIummB,EAoBG,CACL,GAAID,EAAU,EACZ,MAAM,IAAItmmB,MAAM,8BAYlB,OATgB,IAAZsmmB,GACF53lB,EAAO03lB,EACPA,EAASxvjB,OAAOhhD,GACK,IAAZ0wmB,GAAkBF,EAAOI,aAClC5vjB,EAAOloC,EACPA,EAAO03lB,EACPA,OAASxwmB,GAGJ,IAAImE,SAAQ,SAAUC,EAASC,GACpC,IACE,IAAMmF,EAAO2mmB,EAAOvumB,OAAOkX,EAAMkoC,GACjC58C,EAAQmsmB,EAAW/mmB,EAAMgnmB,EAAQxvjB,GACnC,CAAE,MAAOx+C,GACP6B,EAAO7B,EACT,CACF,GACF,CAzCE,GAAIkumB,EAAU,EACZ,MAAM,IAAItmmB,MAAM,8BAGF,IAAZsmmB,GACFD,EAAK33lB,EACLA,EAAO03lB,EACPA,EAASxvjB,OAAOhhD,GACK,IAAZ0wmB,IACLF,EAAOI,YAA4B,qBAAPH,GAC9BA,EAAKzvjB,EACLA,OAAOhhD,IAEPywmB,EAAKzvjB,EACLA,EAAOloC,EACPA,EAAO03lB,EACPA,OAASxwmB,IA2Bf,IACE,IAAMwJ,EAAO2mmB,EAAOvumB,OAAOkX,EAAMkoC,GACjCyvjB,EAAG,KAAMF,EAAW/mmB,EAAMgnmB,EAAQxvjB,GACpC,CAAE,MAAOx+C,GACPiumB,EAAGjumB,EACL,CACF,CAEA3C,EAAQ+B,OAASuumB,EAAOvumB,OACxB/B,EAAQgxmB,SAAWP,EAAarrkB,KAAK,KAAMmrkB,EAAe71lB,QAC1D1a,EAAQixmB,UAAYR,EAAarrkB,KAAK,KAAMmrkB,EAAeW,iBAG3DlxmB,EAAQoR,SAAWq/lB,EAAarrkB,KAAK,MAAM,SAAUz7B,EAAMrE,EAAG67C,GAC5D,OAAOqvjB,EAAY91lB,OAAO/Q,EAAMw3C,EAClC,uBCvEA/L,EAAOp1C,QAAU,WACf,MAA0B,oBAAZsE,SAA0BA,QAAQxC,WAAawC,QAAQxC,UAAUkD,IACjF,yBCIA,IAAMmsmB,EAAgBnwmB,EAAAA,MAAAA,cAgBtBhB,EAAQoxmB,gBAAkB,SAA0BpwjB,GAClD,GAAgB,IAAZA,EAAe,MAAO,GAO1B,IALA,IAAMqwjB,EAAWnkmB,KAAKC,MAAM6zC,EAAU,GAAK,EACrCz+B,EAAO4ulB,EAAcnwjB,GACrBk/E,EAAqB,MAAT39G,EAAe,GAAmD,EAA9CrV,KAAKgzD,MAAM39C,EAAO,KAAO,EAAI8ulB,EAAW,IACxE7gO,EAAY,CAACjuX,EAAO,GAEjBngB,EAAI,EAAGA,EAAIivmB,EAAW,EAAGjvmB,IAChCouY,EAAUpuY,GAAKouY,EAAUpuY,EAAI,GAAK89H,EAKpC,OAFAswQ,EAAUtqY,KAAK,GAERsqY,EAAU/sV,SACnB,EAsBAzjD,EAAQsxmB,aAAe,SAAuBtwjB,GAK5C,IAJA,IAAMuwjB,EAAS,GACTrhjB,EAAMlwD,EAAQoxmB,gBAAgBpwjB,GAC9BwwjB,EAAYthjB,EAAI3tD,OAEbH,EAAI,EAAGA,EAAIovmB,EAAWpvmB,IAC7B,IAAK,IAAI4E,EAAI,EAAGA,EAAIwqmB,EAAWxqmB,IAElB,IAAN5E,GAAiB,IAAN4E,GACL,IAAN5E,GAAW4E,IAAMwqmB,EAAY,GAC7BpvmB,IAAMovmB,EAAY,GAAW,IAANxqmB,GAI5BuqmB,EAAOrrmB,KAAK,CAACgqD,EAAI9tD,GAAI8tD,EAAIlpD,KAI7B,OAAOuqmB,CACT,yBClFA,IAAME,EAAOzwmB,EAAQ,OAWf0wmB,EAAkB,CACtB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAG1C,SAASC,EAAkBhomB,GACzB/H,KAAKusB,KAAOsjlB,EAAKG,aACjBhwmB,KAAK+H,KAAOA,CACd,CAEAgomB,EAAiBE,cAAgB,SAAwBtvmB,GACvD,OAAO,GAAK2K,KAAKC,MAAM5K,EAAS,GAAUA,EAAS,EAAd,CACvC,EAEAovmB,EAAiB7vmB,UAAUgwmB,UAAY,WACrC,OAAOlwmB,KAAK+H,KAAKpH,MACnB,EAEAovmB,EAAiB7vmB,UAAU+vmB,cAAgB,WACzC,OAAOF,EAAiBE,cAAcjwmB,KAAK+H,KAAKpH,OAClD,EAEAovmB,EAAiB7vmB,UAAUs9C,MAAQ,SAAgB2yjB,GACjD,IAAI3vmB,EAIJ,IAAKA,EAAI,EAAGA,EAAI,GAAKR,KAAK+H,KAAKpH,OAAQH,GAAK,EAAG,CAE7C,IAAIsC,EAAgD,GAAxCgtmB,EAAgB9umB,QAAQhB,KAAK+H,KAAKvH,IAG9CsC,GAASgtmB,EAAgB9umB,QAAQhB,KAAK+H,KAAKvH,EAAI,IAG/C2vmB,EAAUC,IAAIttmB,EAAO,GACvB,CAII9C,KAAK+H,KAAKpH,OAAS,GACrBwvmB,EAAUC,IAAIN,EAAgB9umB,QAAQhB,KAAK+H,KAAKvH,IAAK,EAEzD,EAEAgzC,EAAOp1C,QAAU2xmB,qBC1DjB,SAASM,IACPrwmB,KAAKyJ,OAAS,GACdzJ,KAAKW,OAAS,CAChB,CAEA0vmB,EAAUnwmB,UAAY,CAEpB0G,IAAK,SAAUmW,GACb,IAAMuzlB,EAAWhlmB,KAAKC,MAAMwR,EAAQ,GACpC,OAA6D,KAApD/c,KAAKyJ,OAAO6mmB,KAAe,EAAIvzlB,EAAQ,EAAM,EACxD,EAEAqzlB,IAAK,SAAUpimB,EAAKrN,GAClB,IAAK,IAAIH,EAAI,EAAGA,EAAIG,EAAQH,IAC1BR,KAAKuwmB,OAA4C,KAAnCvimB,IAASrN,EAASH,EAAI,EAAM,GAE9C,EAEAgwmB,gBAAiB,WACf,OAAOxwmB,KAAKW,MACd,EAEA4vmB,OAAQ,SAAUE,GAChB,IAAMH,EAAWhlmB,KAAKC,MAAMvL,KAAKW,OAAS,GACtCX,KAAKyJ,OAAO9I,QAAU2vmB,GACxBtwmB,KAAKyJ,OAAOnF,KAAK,GAGfmsmB,IACFzwmB,KAAKyJ,OAAO6mmB,IAAc,MAAUtwmB,KAAKW,OAAS,GAGpDX,KAAKW,QACP,GAGF6yC,EAAOp1C,QAAUiymB,qBC/BjB,SAASK,EAAW/vlB,GAClB,IAAKA,GAAQA,EAAO,EAClB,MAAM,IAAIhY,MAAM,qDAGlB3I,KAAK2gB,KAAOA,EACZ3gB,KAAK+H,KAAO,IAAIb,WAAWyZ,EAAOA,GAClC3gB,KAAK2wmB,YAAc,IAAIzpmB,WAAWyZ,EAAOA,EAC3C,CAWA+vlB,EAAUxwmB,UAAU4G,IAAM,SAAUosF,EAAKm0C,EAAKvkI,EAAO8tmB,GACnD,IAAM7zlB,EAAQm2E,EAAMlzF,KAAK2gB,KAAO0mH,EAChCrnI,KAAK+H,KAAKgV,GAASja,EACf8tmB,IAAU5wmB,KAAK2wmB,YAAY5zlB,IAAS,EAC1C,EASA2zlB,EAAUxwmB,UAAU0G,IAAM,SAAUssF,EAAKm0C,GACvC,OAAOrnI,KAAK+H,KAAKmrF,EAAMlzF,KAAK2gB,KAAO0mH,EACrC,EAUAqpe,EAAUxwmB,UAAUqmd,IAAM,SAAUrzX,EAAKm0C,EAAKvkI,GAC5C9C,KAAK+H,KAAKmrF,EAAMlzF,KAAK2gB,KAAO0mH,IAAQvkI,CACtC,EASA4tmB,EAAUxwmB,UAAU2wmB,WAAa,SAAU39gB,EAAKm0C,GAC9C,OAAOrnI,KAAK2wmB,YAAYz9gB,EAAMlzF,KAAK2gB,KAAO0mH,EAC5C,EAEA7zF,EAAOp1C,QAAUsymB,yBChEjB,IAAMI,EAAa1xmB,EAAQ,OACrBywmB,EAAOzwmB,EAAQ,OAErB,SAAS2xmB,EAAUhpmB,GACjB/H,KAAKusB,KAAOsjlB,EAAKmB,KACjBhxmB,KAAK+H,KAAO,IAAIb,WAAW4pmB,EAAW/omB,GACxC,CAEAgpmB,EAASd,cAAgB,SAAwBtvmB,GAC/C,OAAgB,EAATA,CACT,EAEAowmB,EAAS7wmB,UAAUgwmB,UAAY,WAC7B,OAAOlwmB,KAAK+H,KAAKpH,MACnB,EAEAowmB,EAAS7wmB,UAAU+vmB,cAAgB,WACjC,OAAOc,EAASd,cAAcjwmB,KAAK+H,KAAKpH,OAC1C,EAEAowmB,EAAS7wmB,UAAUs9C,MAAQ,SAAU2yjB,GACnC,IAAK,IAAI3vmB,EAAI,EAAGwlC,EAAIhmC,KAAK+H,KAAKpH,OAAQH,EAAIwlC,EAAGxlC,IAC3C2vmB,EAAUC,IAAIpwmB,KAAK+H,KAAKvH,GAAI,EAEhC,EAEAgzC,EAAOp1C,QAAU2ymB,yBC1BjB,IAAME,EAAU7xmB,EAAQ,OAElB8xmB,EAAkB,CAEtB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACT,EAAG,EAAG,GAAI,GACV,EAAG,EAAG,GAAI,GACV,EAAG,EAAG,GAAI,GACV,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,EAAG,GAAI,GAAI,GACX,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,IAGRC,EAAqB,CAEzB,EAAG,GAAI,GAAI,GACX,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,GACZ,GAAI,GAAI,GAAI,IACZ,GAAI,GAAI,IAAK,IACb,GAAI,GAAI,IAAK,IACb,GAAI,IAAK,IAAK,IACd,GAAI,IAAK,IAAK,IACd,GAAI,IAAK,IAAK,IACd,GAAI,IAAK,IAAK,IACd,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,IACf,IAAK,IAAK,IAAK,KACf,IAAK,IAAK,IAAK,KACf,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,IAAK,KAAM,KAChB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,KACjB,IAAK,KAAM,KAAM,MAWnB/ymB,EAAQgzmB,eAAiB,SAAyBhyjB,EAASiyjB,GACzD,OAAQA,GACN,KAAKJ,EAAQrlb,EACX,OAAOslb,EAAgC,GAAf9xjB,EAAU,GAAS,GAC7C,KAAK6xjB,EAAQn5iB,EACX,OAAOo5iB,EAAgC,GAAf9xjB,EAAU,GAAS,GAC7C,KAAK6xjB,EAAQplb,EACX,OAAOqlb,EAAgC,GAAf9xjB,EAAU,GAAS,GAC7C,KAAK6xjB,EAAQrviB,EACX,OAAOsviB,EAAgC,GAAf9xjB,EAAU,GAAS,GAC7C,QACE,OAEN,EAUAhhD,EAAQkzmB,uBAAyB,SAAiClyjB,EAASiyjB,GACzE,OAAQA,GACN,KAAKJ,EAAQrlb,EACX,OAAOulb,EAAmC,GAAf/xjB,EAAU,GAAS,GAChD,KAAK6xjB,EAAQn5iB,EACX,OAAOq5iB,EAAmC,GAAf/xjB,EAAU,GAAS,GAChD,KAAK6xjB,EAAQplb,EACX,OAAOslb,EAAmC,GAAf/xjB,EAAU,GAAS,GAChD,KAAK6xjB,EAAQrviB,EACX,OAAOuviB,EAAmC,GAAf/xjB,EAAU,GAAS,GAChD,QACE,OAEN,uBCtIAhhD,EAAQwtL,EAAI,CAAE6kb,IAAK,GACnBrymB,EAAQ05D,EAAI,CAAE24iB,IAAK,GACnBrymB,EAAQytL,EAAI,CAAE4kb,IAAK,GACnBrymB,EAAQwjE,EAAI,CAAE6uiB,IAAK,GA+BnBrymB,EAAQwmE,QAAU,SAAkB2pF,GAClC,OAAOA,GAA8B,qBAAdA,EAAMkid,KAC3Blid,EAAMkid,KAAO,GAAKlid,EAAMkid,IAAM,CAClC,EAEArymB,EAAQkM,KAAO,SAAexH,EAAOsR,GACnC,GAAIhW,EAAQwmE,QAAQ9hE,GAClB,OAAOA,EAGT,IACE,OAxCJ,SAAqB8kB,GACnB,GAAsB,kBAAXA,EACT,MAAM,IAAIjf,MAAM,yBAKlB,OAFcif,EAAOtN,eAGnB,IAAK,IACL,IAAK,MACH,OAAOlc,EAAQwtL,EAEjB,IAAK,IACL,IAAK,SACH,OAAOxtL,EAAQ05D,EAEjB,IAAK,IACL,IAAK,WACH,OAAO15D,EAAQytL,EAEjB,IAAK,IACL,IAAK,OACH,OAAOztL,EAAQwjE,EAEjB,QACE,MAAM,IAAIj5D,MAAM,qBAAuBif,GAE7C,CAaW6iC,CAAW3nD,EACpB,CAAE,MAAO/B,GACP,OAAOqT,CACT,CACF,yBCjDA,IAAMm7lB,EAAgBnwmB,EAAAA,MAAAA,cAUtBhB,EAAQsxmB,aAAe,SAAuBtwjB,GAC5C,IAAMz+B,EAAO4ulB,EAAcnwjB,GAE3B,MAAO,CAEL,CAAC,EAAG,GAEJ,CAACz+B,EAhBuB,EAgBK,GAE7B,CAAC,EAAGA,EAlBoB,GAoB5B,yBCrBA,IAAM4wlB,EAAQnymB,EAAQ,MAIhBoymB,EAAUD,EAAME,YAFT,MAcbrzmB,EAAQszmB,eAAiB,SAAyBL,EAAsBliH,GAItE,IAHA,IAAMpnf,EAASspmB,EAAqBZ,KAAO,EAAKthH,EAC5C7vf,EAAIyI,GAAQ,GAETwpmB,EAAME,YAAYnymB,GAAKkymB,GAAW,GACvClymB,GAnBS,MAmBKiymB,EAAME,YAAYnymB,GAAKkymB,EAMvC,OAxBgB,OAwBPzpmB,GAAQ,GAAMzI,EACzB,uBC5BA,IAAMqymB,EAAY,IAAIzqmB,WAAW,KAC3B0qmB,EAAY,IAAI1qmB,WAAW,MAS/B,WAEA,IADA,IAAI0Z,EAAI,EACCpgB,EAAI,EAAGA,EAAI,IAAKA,IACvBmxmB,EAAUnxmB,GAAKogB,EACfgxlB,EAAUhxlB,GAAKpgB,EAMP,KAJRogB,IAAM,KAKJA,GAAK,KAQT,IAAK,IAAIpgB,EAAI,IAAKA,EAAI,IAAKA,IACzBmxmB,EAAUnxmB,GAAKmxmB,EAAUnxmB,EAAI,IAEhC,CAtBC,GA8BFpC,EAAQ44H,IAAM,SAAcv2H,GAC1B,GAAIA,EAAI,EAAG,MAAM,IAAIkI,MAAM,OAASlI,EAAI,KACxC,OAAOmxmB,EAAUnxmB,EACnB,EAQArC,EAAQyzmB,IAAM,SAAcpxmB,GAC1B,OAAOkxmB,EAAUlxmB,EACnB,EASArC,EAAQ8xD,IAAM,SAActvC,EAAGpd,GAC7B,OAAU,IAANod,GAAiB,IAANpd,EAAgB,EAIxBmumB,EAAUC,EAAUhxlB,GAAKgxlB,EAAUpumB,GAC5C,yBCpEA,IAAMqsmB,EAAOzwmB,EAAQ,OACfmymB,EAAQnymB,EAAQ,MAEtB,SAAS0ymB,EAAW/pmB,GAClB/H,KAAKusB,KAAOsjlB,EAAKkC,MACjB/xmB,KAAK+H,KAAOA,CACd,CAEA+pmB,EAAU7B,cAAgB,SAAwBtvmB,GAChD,OAAgB,GAATA,CACT,EAEAmxmB,EAAU5xmB,UAAUgwmB,UAAY,WAC9B,OAAOlwmB,KAAK+H,KAAKpH,MACnB,EAEAmxmB,EAAU5xmB,UAAU+vmB,cAAgB,WAClC,OAAO6B,EAAU7B,cAAcjwmB,KAAK+H,KAAKpH,OAC3C,EAEAmxmB,EAAU5xmB,UAAUs9C,MAAQ,SAAU2yjB,GACpC,IAAI3vmB,EAKJ,IAAKA,EAAI,EAAGA,EAAIR,KAAK+H,KAAKpH,OAAQH,IAAK,CACrC,IAAIsC,EAAQyumB,EAAMS,OAAOhymB,KAAK+H,KAAKvH,IAGnC,GAAIsC,GAAS,OAAUA,GAAS,MAE9BA,GAAS,UAGJ,MAAIA,GAAS,OAAUA,GAAS,OAIrC,MAAM,IAAI6F,MACR,2BAA6B3I,KAAK+H,KAAKvH,GAAvC,qCAHFsC,GAAS,KAKX,CAIAA,EAAkC,KAAvBA,IAAU,EAAK,MAAyB,IAARA,GAG3CqtmB,EAAUC,IAAIttmB,EAAO,GACvB,CACF,EAEA0wC,EAAOp1C,QAAU0zmB,uBCjDjB1zmB,EAAQ6zmB,SAAW,CACjBC,WAAY,EACZC,WAAY,EACZC,WAAY,EACZC,WAAY,EACZC,WAAY,EACZC,WAAY,EACZC,WAAY,EACZC,WAAY,GAOd,IAAMC,EACA,EADAA,EAEA,EAFAA,EAGA,GAHAA,EAIA,GAkJN,SAASC,EAAWC,EAAapymB,EAAG4E,GAClC,OAAQwtmB,GACN,KAAKx0mB,EAAQ6zmB,SAASC,WAAY,OAAQ1xmB,EAAI4E,GAAK,IAAM,EACzD,KAAKhH,EAAQ6zmB,SAASE,WAAY,OAAO3xmB,EAAI,IAAM,EACnD,KAAKpC,EAAQ6zmB,SAASG,WAAY,OAAOhtmB,EAAI,IAAM,EACnD,KAAKhH,EAAQ6zmB,SAASI,WAAY,OAAQ7xmB,EAAI4E,GAAK,IAAM,EACzD,KAAKhH,EAAQ6zmB,SAASK,WAAY,OAAQhnmB,KAAKC,MAAM/K,EAAI,GAAK8K,KAAKC,MAAMnG,EAAI,IAAM,IAAM,EACzF,KAAKhH,EAAQ6zmB,SAASM,WAAY,OAAQ/xmB,EAAI4E,EAAK,EAAK5E,EAAI4E,EAAK,IAAM,EACvE,KAAKhH,EAAQ6zmB,SAASO,WAAY,OAAShymB,EAAI4E,EAAK,EAAK5E,EAAI4E,EAAK,GAAK,IAAM,EAC7E,KAAKhH,EAAQ6zmB,SAASQ,WAAY,OAASjymB,EAAI4E,EAAK,GAAK5E,EAAI4E,GAAK,GAAK,IAAM,EAE7E,QAAS,MAAM,IAAIuD,MAAM,mBAAqBiqmB,GAElD,CAtJAx0mB,EAAQwmE,QAAU,SAAkBuqb,GAClC,OAAe,MAARA,GAAyB,KAATA,IAAgBp1e,MAAMo1e,IAASA,GAAQ,GAAKA,GAAQ,CAC7E,EASA/wf,EAAQkM,KAAO,SAAexH,GAC5B,OAAO1E,EAAQwmE,QAAQ9hE,GAASyiC,SAASziC,EAAO,SAAMvE,CACxD,EASAH,EAAQy0mB,aAAe,SAAuB9qmB,GAQ5C,IAPA,IAAM4Y,EAAO5Y,EAAK4Y,KACdb,EAAS,EACTgzlB,EAAe,EACfC,EAAe,EACfC,EAAU,KACVC,EAAU,KAEL//gB,EAAM,EAAGA,EAAMvyE,EAAMuyE,IAAO,CACnC4/gB,EAAeC,EAAe,EAC9BC,EAAUC,EAAU,KAEpB,IAAK,IAAI5re,EAAM,EAAGA,EAAM1mH,EAAM0mH,IAAO,CACnC,IAAI7zF,EAASzrC,EAAKnB,IAAIssF,EAAKm0C,GACvB7zF,IAAWw/jB,EACbF,KAEIA,GAAgB,IAAGhzlB,GAAU4ylB,GAAoBI,EAAe,IACpEE,EAAUx/jB,EACVs/jB,EAAe,IAGjBt/jB,EAASzrC,EAAKnB,IAAIygI,EAAKn0C,MACR+/gB,EACbF,KAEIA,GAAgB,IAAGjzlB,GAAU4ylB,GAAoBK,EAAe,IACpEE,EAAUz/jB,EACVu/jB,EAAe,EAEnB,CAEID,GAAgB,IAAGhzlB,GAAU4ylB,GAAoBI,EAAe,IAChEC,GAAgB,IAAGjzlB,GAAU4ylB,GAAoBK,EAAe,GACtE,CAEA,OAAOjzlB,CACT,EAOA1hB,EAAQ80mB,aAAe,SAAuBnrmB,GAI5C,IAHA,IAAM4Y,EAAO5Y,EAAK4Y,KACdb,EAAS,EAEJozE,EAAM,EAAGA,EAAMvyE,EAAO,EAAGuyE,IAChC,IAAK,IAAIm0C,EAAM,EAAGA,EAAM1mH,EAAO,EAAG0mH,IAAO,CACvC,IAAMl5C,EAAOpmF,EAAKnB,IAAIssF,EAAKm0C,GACzBt/H,EAAKnB,IAAIssF,EAAKm0C,EAAM,GACpBt/H,EAAKnB,IAAIssF,EAAM,EAAGm0C,GAClBt/H,EAAKnB,IAAIssF,EAAM,EAAGm0C,EAAM,GAEb,IAATl5C,GAAuB,IAATA,GAAYruE,GAChC,CAGF,OAAOA,EAAS4ylB,CAClB,EAQAt0mB,EAAQ+0mB,aAAe,SAAuBprmB,GAM5C,IALA,IAAM4Y,EAAO5Y,EAAK4Y,KACdb,EAAS,EACTszlB,EAAU,EACVC,EAAU,EAELnghB,EAAM,EAAGA,EAAMvyE,EAAMuyE,IAAO,CACnCkghB,EAAUC,EAAU,EACpB,IAAK,IAAIhse,EAAM,EAAGA,EAAM1mH,EAAM0mH,IAC5B+re,EAAYA,GAAW,EAAK,KAASrrmB,EAAKnB,IAAIssF,EAAKm0C,GAC/CA,GAAO,KAAmB,OAAZ+re,GAAiC,KAAZA,IAAoBtzlB,IAE3DuzlB,EAAYA,GAAW,EAAK,KAAStrmB,EAAKnB,IAAIygI,EAAKn0C,GAC/Cm0C,GAAO,KAAmB,OAAZgse,GAAiC,KAAZA,IAAoBvzlB,GAE/D,CAEA,OAAOA,EAAS4ylB,CAClB,EAUAt0mB,EAAQk1mB,aAAe,SAAuBvrmB,GAI5C,IAHA,IAAIwrmB,EAAY,EACVC,EAAezrmB,EAAKA,KAAKpH,OAEtBH,EAAI,EAAGA,EAAIgzmB,EAAchzmB,IAAK+ymB,GAAaxrmB,EAAKA,KAAKvH,GAI9D,OAFU8K,KAAKkR,IAAIlR,KAAKgzD,KAAkB,IAAZi1iB,EAAkBC,EAAgB,GAAK,IAE1Dd,CACb,EA+BAt0mB,EAAQq1mB,UAAY,SAAoB/2lB,EAAS3U,GAG/C,IAFA,IAAM4Y,EAAO5Y,EAAK4Y,KAET0mH,EAAM,EAAGA,EAAM1mH,EAAM0mH,IAC5B,IAAK,IAAIn0C,EAAM,EAAGA,EAAMvyE,EAAMuyE,IACxBnrF,EAAK8omB,WAAW39gB,EAAKm0C,IACzBt/H,EAAKw+c,IAAIrzX,EAAKm0C,EAAKsre,EAAUj2lB,EAASw2E,EAAKm0C,GAGjD,EAQAjpI,EAAQs1mB,YAAc,SAAsB3rmB,EAAM4rmB,GAKhD,IAJA,IAAMC,EAAcp0mB,OAAOgR,KAAKpS,EAAQ6zmB,UAAUtxmB,OAC9CkzmB,EAAc,EACdC,EAAerhjB,IAEV7yD,EAAI,EAAGA,EAAIg0mB,EAAah0mB,IAAK,CACpC+zmB,EAAgB/zmB,GAChBxB,EAAQq1mB,UAAU7zmB,EAAGmI,GAGrB,IAAMgsmB,EACJ31mB,EAAQy0mB,aAAa9qmB,GACrB3J,EAAQ80mB,aAAanrmB,GACrB3J,EAAQ+0mB,aAAaprmB,GACrB3J,EAAQk1mB,aAAavrmB,GAGvB3J,EAAQq1mB,UAAU7zmB,EAAGmI,GAEjBgsmB,EAAUD,IACZA,EAAeC,EACfF,EAAcj0mB,EAElB,CAEA,OAAOi0mB,CACT,yBCzOA,IAAMG,EAAe50mB,EAAQ,OACvB60mB,EAAQ70mB,EAAQ,OAStBhB,EAAQ81mB,QAAU,CAChB7/lB,GAAI,UACJo8lB,IAAK,EACL0D,OAAQ,CAAC,GAAI,GAAI,KAYnB/1mB,EAAQ4xmB,aAAe,CACrB37lB,GAAI,eACJo8lB,IAAK,EACL0D,OAAQ,CAAC,EAAG,GAAI,KAQlB/1mB,EAAQ4ymB,KAAO,CACb38lB,GAAI,OACJo8lB,IAAK,EACL0D,OAAQ,CAAC,EAAG,GAAI,KAYlB/1mB,EAAQ2zmB,MAAQ,CACd19lB,GAAI,QACJo8lB,IAAK,EACL0D,OAAQ,CAAC,EAAG,GAAI,KASlB/1mB,EAAQg2mB,MAAQ,CACd3D,KAAM,GAWRrymB,EAAQi2mB,sBAAwB,SAAgC9nlB,EAAM6yB,GACpE,IAAK7yB,EAAK4nlB,OAAQ,MAAM,IAAIxrmB,MAAM,iBAAmB4jB,GAErD,IAAKynlB,EAAapviB,QAAQxlB,GACxB,MAAM,IAAIz2C,MAAM,oBAAsBy2C,GAGxC,OAAIA,GAAW,GAAKA,EAAU,GAAW7yB,EAAK4nlB,OAAO,GAC5C/0jB,EAAU,GAAW7yB,EAAK4nlB,OAAO,GACnC5nlB,EAAK4nlB,OAAO,EACrB,EAQA/1mB,EAAQk2mB,mBAAqB,SAA6BC,GACxD,OAAIN,EAAMO,YAAYD,GAAiBn2mB,EAAQ81mB,QACtCD,EAAMQ,iBAAiBF,GAAiBn2mB,EAAQ4xmB,aAChDiE,EAAMS,UAAUH,GAAiBn2mB,EAAQ2zmB,MACtC3zmB,EAAQ4ymB,IACtB,EAQA5ymB,EAAQoR,SAAW,SAAmB+c,GACpC,GAAIA,GAAQA,EAAKlY,GAAI,OAAOkY,EAAKlY,GACjC,MAAM,IAAI1L,MAAM,eAClB,EAQAvK,EAAQwmE,QAAU,SAAkBr4C,GAClC,OAAOA,GAAQA,EAAKkklB,KAAOlklB,EAAK4nlB,MAClC,EAqCA/1mB,EAAQkM,KAAO,SAAexH,EAAOsR,GACnC,GAAIhW,EAAQwmE,QAAQ9hE,GAClB,OAAOA,EAGT,IACE,OAnCJ,SAAqB8kB,GACnB,GAAsB,kBAAXA,EACT,MAAM,IAAIjf,MAAM,yBAKlB,OAFcif,EAAOtN,eAGnB,IAAK,UACH,OAAOlc,EAAQ81mB,QACjB,IAAK,eACH,OAAO91mB,EAAQ4xmB,aACjB,IAAK,QACH,OAAO5xmB,EAAQ2zmB,MACjB,IAAK,OACH,OAAO3zmB,EAAQ4ymB,KACjB,QACE,MAAM,IAAIromB,MAAM,iBAAmBif,GAEzC,CAgBW6iC,CAAW3nD,EACpB,CAAE,MAAO/B,GACP,OAAOqT,CACT,CACF,yBCtKA,IAAMy7lB,EAAOzwmB,EAAQ,OAErB,SAASu1mB,EAAa5smB,GACpB/H,KAAKusB,KAAOsjlB,EAAKqE,QACjBl0mB,KAAK+H,KAAOA,EAAKyH,UACnB,CAEAmlmB,EAAY1E,cAAgB,SAAwBtvmB,GAClD,OAAO,GAAK2K,KAAKC,MAAM5K,EAAS,IAAOA,EAAS,EAAOA,EAAS,EAAK,EAAI,EAAK,EAChF,EAEAg0mB,EAAYz0mB,UAAUgwmB,UAAY,WAChC,OAAOlwmB,KAAK+H,KAAKpH,MACnB,EAEAg0mB,EAAYz0mB,UAAU+vmB,cAAgB,WACpC,OAAO0E,EAAY1E,cAAcjwmB,KAAK+H,KAAKpH,OAC7C,EAEAg0mB,EAAYz0mB,UAAUs9C,MAAQ,SAAgB2yjB,GAC5C,IAAI3vmB,EAAGq2F,EAAO/zF,EAId,IAAKtC,EAAI,EAAGA,EAAI,GAAKR,KAAK+H,KAAKpH,OAAQH,GAAK,EAC1Cq2F,EAAQ72F,KAAK+H,KAAKiV,OAAOxc,EAAG,GAC5BsC,EAAQyiC,SAASsxD,EAAO,IAExBs5gB,EAAUC,IAAIttmB,EAAO,IAKvB,IAAM8xmB,EAAe50mB,KAAK+H,KAAKpH,OAASH,EACpCo0mB,EAAe,IACjB/9gB,EAAQ72F,KAAK+H,KAAKiV,OAAOxc,GACzBsC,EAAQyiC,SAASsxD,EAAO,IAExBs5gB,EAAUC,IAAIttmB,EAAsB,EAAf8xmB,EAAmB,GAE5C,EAEAphkB,EAAOp1C,QAAUu2mB,yBC1CjB,IAAME,EAAKz1mB,EAAQ,OASnBhB,EAAQ8xD,IAAM,SAAchpC,EAAIC,GAG9B,IAFA,IAAM0rH,EAAQ,IAAI3rI,WAAWggB,EAAGvmB,OAASwmB,EAAGxmB,OAAS,GAE5CH,EAAI,EAAGA,EAAI0mB,EAAGvmB,OAAQH,IAC7B,IAAK,IAAI4E,EAAI,EAAGA,EAAI+hB,EAAGxmB,OAAQyE,IAC7BytI,EAAMryI,EAAI4E,IAAMyvmB,EAAG3kjB,IAAIhpC,EAAG1mB,GAAI2mB,EAAG/hB,IAIrC,OAAOytI,CACT,EASAz0I,EAAQgI,IAAM,SAAc0umB,EAAUC,GAGpC,IAFA,IAAI7xmB,EAAS,IAAIgE,WAAW4tmB,GAEpB5xmB,EAAOvC,OAASo0mB,EAAQp0mB,QAAW,GAAG,CAG5C,IAFA,IAAMkyI,EAAQ3vI,EAAO,GAEZ1C,EAAI,EAAGA,EAAIu0mB,EAAQp0mB,OAAQH,IAClC0C,EAAO1C,IAAMq0mB,EAAG3kjB,IAAI6kjB,EAAQv0mB,GAAIqyI,GAKlC,IADA,IAAI7yH,EAAS,EACNA,EAAS9c,EAAOvC,QAA6B,IAAnBuC,EAAO8c,IAAeA,IACvD9c,EAASA,EAAOia,MAAM6C,EACxB,CAEA,OAAO9c,CACT,EASA9E,EAAQ42mB,qBAAuB,SAA+B/+E,GAE5D,IADA,IAAIg/E,EAAO,IAAI/tmB,WAAW,CAAC,IAClB1G,EAAI,EAAGA,EAAIy1hB,EAAQz1hB,IAC1By0mB,EAAO72mB,EAAQ8xD,IAAI+kjB,EAAM,IAAI/tmB,WAAW,CAAC,EAAG2tmB,EAAGhD,IAAIrxmB,MAGrD,OAAOy0mB,CACT,wBC7DA,IAAM1D,EAAQnymB,EAAQ,MAChB6xmB,EAAU7xmB,EAAQ,OAClBixmB,EAAYjxmB,EAAQ,OACpBsxmB,EAAYtxmB,EAAQ,OACpB81mB,EAAmB91mB,EAAQ,OAC3B+1mB,EAAgB/1mB,EAAQ,OACxBg2mB,EAAch2mB,EAAQ,OACtBi2mB,EAASj2mB,EAAQ,OACjBk2mB,EAAqBl2mB,EAAQ,KAC7Bm2mB,EAAUn2mB,EAAQ,OAClBo2mB,EAAap2mB,EAAQ,OACrBywmB,EAAOzwmB,EAAQ,OACfq2mB,EAAWr2mB,EAAQ,OAqIzB,SAASs2mB,EAAiB3sgB,EAAQsogB,EAAsBuB,GACtD,IAEIpymB,EAAG4F,EAFDua,EAAOooF,EAAOpoF,KACdutjB,EAAOsnC,EAAW9D,eAAeL,EAAsBuB,GAG7D,IAAKpymB,EAAI,EAAGA,EAAI,GAAIA,IAClB4F,EAA4B,KAApB8nkB,GAAQ1tkB,EAAK,GAGjBA,EAAI,EACNuoG,EAAOjiG,IAAItG,EAAG,EAAG4F,GAAK,GACb5F,EAAI,EACbuoG,EAAOjiG,IAAItG,EAAI,EAAG,EAAG4F,GAAK,GAE1B2iG,EAAOjiG,IAAI6Z,EAAO,GAAKngB,EAAG,EAAG4F,GAAK,GAIhC5F,EAAI,EACNuoG,EAAOjiG,IAAI,EAAG6Z,EAAOngB,EAAI,EAAG4F,GAAK,GACxB5F,EAAI,EACbuoG,EAAOjiG,IAAI,EAAG,GAAKtG,EAAI,EAAI,EAAG4F,GAAK,GAEnC2iG,EAAOjiG,IAAI,EAAG,GAAKtG,EAAI,EAAG4F,GAAK,GAKnC2iG,EAAOjiG,IAAI6Z,EAAO,EAAG,EAAG,GAAG,EAC7B,CAwDA,SAASg1lB,EAAYv2jB,EAASiyjB,EAAsBuE,GAElD,IAAMnsmB,EAAS,IAAI4mmB,EAEnBuF,EAAS1lmB,SAAQ,SAAUnI,GAEzB0B,EAAO2mmB,IAAIromB,EAAKwkB,KAAKkklB,IAAK,GAS1BhnmB,EAAO2mmB,IAAIromB,EAAKmomB,YAAaL,EAAKwE,sBAAsBtsmB,EAAKwkB,KAAM6yB,IAGnEr3C,EAAKy1C,MAAM/zC,EACb,IAGA,IAEMosmB,EAA+D,GAF9CtE,EAAMuE,wBAAwB12jB,GAC5Bi2jB,EAAO/D,uBAAuBlyjB,EAASiyjB,IAiBhE,IATI5nmB,EAAO+mmB,kBAAoB,GAAKqF,GAClCpsmB,EAAO2mmB,IAAI,EAAG,GAQT3mmB,EAAO+mmB,kBAAoB,IAAM,GACtC/mmB,EAAO8mmB,OAAO,GAQhB,IADA,IAAMwF,GAAiBF,EAAyBpsmB,EAAO+mmB,mBAAqB,EACnEhwmB,EAAI,EAAGA,EAAIu1mB,EAAev1mB,IACjCiJ,EAAO2mmB,IAAI5vmB,EAAI,EAAI,GAAO,IAAM,GAGlC,OAYF,SAA0B2vmB,EAAW/wjB,EAASiyjB,GAmC5C,IAjCA,IAAM2E,EAAiBzE,EAAMuE,wBAAwB12jB,GAG/C62jB,EAAmBZ,EAAO/D,uBAAuBlyjB,EAASiyjB,GAG1D6E,EAAqBF,EAAiBC,EAGtCE,EAAgBd,EAAOjE,eAAehyjB,EAASiyjB,GAI/C+E,EAAiBD,EADAH,EAAiBG,EAGlCE,EAAyB/qmB,KAAKC,MAAMyqmB,EAAiBG,GAErDG,EAAwBhrmB,KAAKC,MAAM2qmB,EAAqBC,GACxDI,EAAwBD,EAAwB,EAGhDE,EAAUH,EAAyBC,EAGnCG,EAAK,IAAInB,EAAmBkB,GAE9Bx2lB,EAAS,EACP02lB,EAAS,IAAI/2mB,MAAMw2mB,GACnBQ,EAAS,IAAIh3mB,MAAMw2mB,GACrBS,EAAc,EACZntmB,EAAS,IAAIvC,WAAWipmB,EAAU1mmB,QAG/BlK,EAAI,EAAGA,EAAI42mB,EAAe52mB,IAAK,CACtC,IAAMs3mB,EAAWt3mB,EAAI62mB,EAAiBE,EAAwBC,EAG9DG,EAAOn3mB,GAAKkK,EAAO0T,MAAM6C,EAAQA,EAAS62lB,GAG1CF,EAAOp3mB,GAAKk3mB,EAAGnomB,OAAOoomB,EAAOn3mB,IAE7BygB,GAAU62lB,EACVD,EAActrmB,KAAK25B,IAAI2xkB,EAAaC,EACtC,CAIA,IAEIr2mB,EAAGiB,EAFDsG,EAAO,IAAIb,WAAW8umB,GACxBj5lB,EAAQ,EAIZ,IAAKvc,EAAI,EAAGA,EAAIo2mB,EAAap2mB,IAC3B,IAAKiB,EAAI,EAAGA,EAAI00mB,EAAe10mB,IACzBjB,EAAIk2mB,EAAOj1mB,GAAGd,SAChBoH,EAAKgV,KAAW25lB,EAAOj1mB,GAAGjB,IAMhC,IAAKA,EAAI,EAAGA,EAAIg2mB,EAASh2mB,IACvB,IAAKiB,EAAI,EAAGA,EAAI00mB,EAAe10mB,IAC7BsG,EAAKgV,KAAW45lB,EAAOl1mB,GAAGjB,GAI9B,OAAOuH,CACT,CAnFS+umB,CAAgBrtmB,EAAQ21C,EAASiyjB,EAC1C,CA6FA,SAAS0F,EAAchvmB,EAAMq3C,EAASiyjB,EAAsBuB,GAC1D,IAAIgD,EAEJ,GAAIj2mB,MAAMkoB,QAAQ9f,GAChB6tmB,EAAWH,EAASuB,UAAUjvmB,OACzB,IAAoB,kBAATA,EAchB,MAAM,IAAIY,MAAM,gBAbhB,IAAIsumB,EAAmB73jB,EAEvB,IAAK63jB,EAAkB,CACrB,IAAMC,EAAczB,EAAS0B,SAASpvmB,GAGtCkvmB,EAAmB1B,EAAQ6B,sBAAsBF,EAAa7F,EAChE,CAIAuE,EAAWH,EAAShrjB,WAAW1iD,EAAMkvmB,GAAoB,GAG3D,CAGA,IAAMI,EAAc9B,EAAQ6B,sBAAsBxB,EAAUvE,GAG5D,IAAKgG,EACH,MAAM,IAAI1umB,MAAM,2DAIlB,GAAKy2C,GAIE,GAAIA,EAAUi4jB,EACnB,MAAM,IAAI1umB,MAAM,wHAE0C0umB,EAAc,YANxEj4jB,EAAUi4jB,EAUZ,IAAMC,EAAW3B,EAAWv2jB,EAASiyjB,EAAsBuE,GAGrD2B,EAAchG,EAAMhC,cAAcnwjB,GAClC46K,EAAU,IAAI02Y,EAAU6G,GAgC9B,OAzZF,SAA6BxugB,EAAQ3pD,GAInC,IAHA,IAAMz+B,EAAOooF,EAAOpoF,KACd2tC,EAAM6mjB,EAAczF,aAAatwjB,GAE9B5+C,EAAI,EAAGA,EAAI8tD,EAAI3tD,OAAQH,IAI9B,IAHA,IAAM0yF,EAAM5kC,EAAI9tD,GAAG,GACb6mI,EAAM/4E,EAAI9tD,GAAG,GAEViB,GAAK,EAAGA,GAAK,EAAGA,IACvB,KAAIyxF,EAAMzxF,IAAM,GAAKkf,GAAQuyE,EAAMzxF,GAEnC,IAAK,IAAID,GAAK,EAAGA,GAAK,EAAGA,IACnB6lI,EAAM7lI,IAAM,GAAKmf,GAAQ0mH,EAAM7lI,IAE9BC,GAAK,GAAKA,GAAK,IAAY,IAAND,GAAiB,IAANA,IAClCA,GAAK,GAAKA,GAAK,IAAY,IAANC,GAAiB,IAANA,IAChCA,GAAK,GAAKA,GAAK,GAAKD,GAAK,GAAKA,GAAK,EACpCunG,EAAOjiG,IAAIosF,EAAMzxF,EAAG4lI,EAAM7lI,GAAG,GAAM,GAEnCunG,EAAOjiG,IAAIosF,EAAMzxF,EAAG4lI,EAAM7lI,GAAG,GAAO,GAK9C,CAoWEg2mB,CAAmBx9Y,EAAS56K,GA3V9B,SAA6B2pD,GAG3B,IAFA,IAAMpoF,EAAOooF,EAAOpoF,KAEXlf,EAAI,EAAGA,EAAIkf,EAAO,EAAGlf,IAAK,CACjC,IAAMqB,EAAQrB,EAAI,IAAM,EACxBsnG,EAAOjiG,IAAIrF,EAAG,EAAGqB,GAAO,GACxBimG,EAAOjiG,IAAI,EAAGrF,EAAGqB,GAAO,EAC1B,CACF,CAoVE20mB,CAAmBz9Y,GA1UrB,SAAgCjxH,EAAQ3pD,GAGtC,IAFA,IAAMkP,EAAM4mjB,EAAiBxF,aAAatwjB,GAEjC5+C,EAAI,EAAGA,EAAI8tD,EAAI3tD,OAAQH,IAI9B,IAHA,IAAM0yF,EAAM5kC,EAAI9tD,GAAG,GACb6mI,EAAM/4E,EAAI9tD,GAAG,GAEViB,GAAK,EAAGA,GAAK,EAAGA,IACvB,IAAK,IAAID,GAAK,EAAGA,GAAK,EAAGA,KACZ,IAAPC,GAAkB,IAANA,IAAkB,IAAPD,GAAkB,IAANA,GAC9B,IAANC,GAAiB,IAAND,EACZunG,EAAOjiG,IAAIosF,EAAMzxF,EAAG4lI,EAAM7lI,GAAG,GAAM,GAEnCunG,EAAOjiG,IAAIosF,EAAMzxF,EAAG4lI,EAAM7lI,GAAG,GAAO,EAK9C,CAyTEk2mB,CAAsB19Y,EAAS56K,GAM/Bs2jB,EAAgB17Y,EAASq3Y,EAAsB,GAE3CjyjB,GAAW,GAzTjB,SAA2B2pD,EAAQ3pD,GAKjC,IAJA,IAEI8zC,EAAKm0C,EAAKjhI,EAFRua,EAAOooF,EAAOpoF,KACdutjB,EAAOqnC,EAAQ7D,eAAetyjB,GAG3B5+C,EAAI,EAAGA,EAAI,GAAIA,IACtB0yF,EAAM5nF,KAAKC,MAAM/K,EAAI,GACrB6mI,EAAM7mI,EAAI,EAAImgB,EAAO,EAAI,EACzBva,EAA4B,KAApB8nkB,GAAQ1tkB,EAAK,GAErBuoG,EAAOjiG,IAAIosF,EAAKm0C,EAAKjhI,GAAK,GAC1B2iG,EAAOjiG,IAAIugI,EAAKn0C,EAAK9sF,GAAK,EAE9B,CA6SIuxmB,CAAiB39Y,EAAS56K,GA/P9B,SAAoB2pD,EAAQhhG,GAO1B,IANA,IAAM4Y,EAAOooF,EAAOpoF,KAChBi3lB,GAAO,EACP1khB,EAAMvyE,EAAO,EACbk3lB,EAAW,EACXC,EAAY,EAEPzwe,EAAM1mH,EAAO,EAAG0mH,EAAM,EAAGA,GAAO,EAGvC,IAFY,IAARA,GAAWA,MAEF,CACX,IAAK,IAAI7lI,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAKunG,EAAO8ngB,WAAW39gB,EAAKm0C,EAAM7lI,GAAI,CACpC,IAAIgqB,GAAO,EAEPsslB,EAAY/vmB,EAAKpH,SACnB6qB,EAAiD,KAAvCzjB,EAAK+vmB,KAAeD,EAAY,IAG5C9ugB,EAAOjiG,IAAIosF,EAAKm0C,EAAM7lI,EAAGgqB,IAGP,MAFlBqslB,IAGEC,IACAD,EAAW,EAEf,CAKF,IAFA3khB,GAAO0khB,GAEG,GAAKj3lB,GAAQuyE,EAAK,CAC1BA,GAAO0khB,EACPA,GAAOA,EACP,KACF,CACF,CAEJ,CA6NEG,CAAU/9Y,EAASs9Y,GAEfv9lB,MAAM64lB,KAERA,EAAcwC,EAAY1B,YAAY15Y,EACpC07Y,EAAgBlykB,KAAK,KAAMw2L,EAASq3Y,KAIxC+D,EAAY3B,UAAUb,EAAa54Y,GAGnC07Y,EAAgB17Y,EAASq3Y,EAAsBuB,GAExC,CACL54Y,QAASA,EACT56K,QAASA,EACTiyjB,qBAAsBA,EACtBuB,YAAaA,EACbgD,SAAUA,EAEd,CAWAx3mB,EAAQ+B,OAAS,SAAiB4H,EAAMiT,GACtC,GAAoB,qBAATjT,GAAiC,KAATA,EACjC,MAAM,IAAIY,MAAM,iBAGlB,IACIy2C,EACA+vc,EAFAkiH,EAAuBJ,EAAQn5iB,EAenC,MAXuB,qBAAZ98C,IAETq2lB,EAAuBJ,EAAQ3mmB,KAAK0Q,EAAQq2lB,qBAAsBJ,EAAQn5iB,GAC1E1Y,EAAUm2jB,EAAQjrmB,KAAK0Q,EAAQokC,SAC/B+vc,EAAOimH,EAAY9qmB,KAAK0Q,EAAQ43lB,aAE5B53lB,EAAQg9lB,YACVzG,EAAM0G,kBAAkBj9lB,EAAQg9lB,aAI7BjB,EAAahvmB,EAAMq3C,EAASiyjB,EAAsBliH,EAC3D,uBC9eA,IAAM+oH,EAAa94mB,EAAQ,OAE3B,SAASk2mB,EAAoBr/E,GAC3Bj2hB,KAAKm4mB,aAAU55mB,EACfyB,KAAKi2hB,OAASA,EAEVj2hB,KAAKi2hB,QAAQj2hB,KAAKo4mB,WAAWp4mB,KAAKi2hB,OACxC,CAQAq/E,EAAmBp1mB,UAAUk4mB,WAAa,SAAqBniF,GAE7Dj2hB,KAAKi2hB,OAASA,EACdj2hB,KAAKm4mB,QAAUD,EAAWlD,qBAAqBh1mB,KAAKi2hB,OACtD,EAQAq/E,EAAmBp1mB,UAAUoO,OAAS,SAAiBvG,GACrD,IAAK/H,KAAKm4mB,QACR,MAAM,IAAIxvmB,MAAM,2BAKlB,IAAM0vmB,EAAa,IAAInxmB,WAAWa,EAAKpH,OAASX,KAAKi2hB,QACrDoiF,EAAWvxmB,IAAIiB,GAIf,IAAMukmB,EAAY4L,EAAW9xmB,IAAIiymB,EAAYr4mB,KAAKm4mB,SAK5CxwkB,EAAQ3nC,KAAKi2hB,OAASq2E,EAAU3rmB,OACtC,GAAIgnC,EAAQ,EAAG,CACb,IAAM2wkB,EAAO,IAAIpxmB,WAAWlH,KAAKi2hB,QAGjC,OAFAqiF,EAAKxxmB,IAAIwlmB,EAAW3kkB,GAEb2wkB,CACT,CAEA,OAAOhM,CACT,EAEA94jB,EAAOp1C,QAAUk3mB,uBCvDjB,IAAMp6G,EAAU,SAEZq9G,EAAQ,mNAMNrpmB,EAAO,8BAFbqpmB,EAAQA,EAAMl+lB,QAAQ,KAAM,QAEwB,kBAEpDjc,EAAQ2zmB,MAAQ,IAAI1skB,OAAOkzkB,EAAO,KAClCn6mB,EAAQo6mB,WAAa,IAAInzkB,OAAO,wBAAyB,KACzDjnC,EAAQ4ymB,KAAO,IAAI3rkB,OAAOn2B,EAAM,KAChC9Q,EAAQ81mB,QAAU,IAAI7ukB,OAAO61d,EAAS,KACtC98f,EAAQ4xmB,aAAe,IAAI3qkB,OAbN,oBAa2B,KAEhD,IAAMozkB,EAAa,IAAIpzkB,OAAO,IAAMkzkB,EAAQ,KACtCG,EAAe,IAAIrzkB,OAAO,IAAM61d,EAAU,KAC1Cy9G,EAAoB,IAAItzkB,OAAO,0BAErCjnC,EAAQs2mB,UAAY,SAAoBt6lB,GACtC,OAAOq+lB,EAAW92kB,KAAKvnB,EACzB,EAEAhc,EAAQo2mB,YAAc,SAAsBp6lB,GAC1C,OAAOs+lB,EAAa/2kB,KAAKvnB,EAC3B,EAEAhc,EAAQq2mB,iBAAmB,SAA2Br6lB,GACpD,OAAOu+lB,EAAkBh3kB,KAAKvnB,EAChC,yBC9BA,IAAMy1lB,EAAOzwmB,EAAQ,OACfu1mB,EAAcv1mB,EAAQ,OACtB2wmB,EAAmB3wmB,EAAQ,OAC3B2xmB,EAAW3xmB,EAAQ,OACnB0ymB,EAAY1ymB,EAAQ,OACpB60mB,EAAQ70mB,EAAQ,OAChBmymB,EAAQnymB,EAAQ,MAChBisgB,EAAWjsgB,EAAQ,OAQzB,SAASw5mB,EAAqBx+lB,GAC5B,OAAO46B,SAASxC,mBAAmBp4B,IAAMzZ,MAC3C,CAUA,SAASk4mB,EAAa1kb,EAAO5nK,EAAMnS,GAIjC,IAHA,IACIlX,EADE0ymB,EAAW,GAGqB,QAA9B1ymB,EAASixL,EAAMxyK,KAAKvH,KAC1Bw7lB,EAAStxmB,KAAK,CACZyD,KAAM7E,EAAO,GACb6Z,MAAO7Z,EAAO6Z,MACdwP,KAAMA,EACN5rB,OAAQuC,EAAO,GAAGvC,SAItB,OAAOi1mB,CACT,CASA,SAASkD,EAAuBvE,GAC9B,IAEIwE,EACAC,EAHEC,EAAUJ,EAAY5E,EAAMC,QAASrE,EAAKqE,QAASK,GACnD2E,EAAeL,EAAY5E,EAAMjE,aAAcH,EAAKG,aAAcuE,GAcxE,OAVIhD,EAAM4H,sBACRJ,EAAWF,EAAY5E,EAAMjD,KAAMnB,EAAKmB,KAAMuD,GAC9CyE,EAAYH,EAAY5E,EAAMlC,MAAOlC,EAAKkC,MAAOwC,KAEjDwE,EAAWF,EAAY5E,EAAMuE,WAAY3I,EAAKmB,KAAMuD,GACpDyE,EAAY,IAGDC,EAAQl6mB,OAAOm6mB,EAAcH,EAAUC,GAGjDvjlB,MAAK,SAAU0iC,EAAIC,GAClB,OAAOD,EAAGp7C,MAAQq7C,EAAGr7C,KACvB,IACCle,KAAI,SAAU8oB,GACb,MAAO,CACL5f,KAAM4f,EAAI5f,KACVwkB,KAAM5E,EAAI4E,KACV5rB,OAAQgnB,EAAIhnB,OAEhB,GACJ,CAUA,SAASy4mB,EAAsBz4mB,EAAQ4rB,GACrC,OAAQA,GACN,KAAKsjlB,EAAKqE,QACR,OAAOS,EAAY1E,cAActvmB,GACnC,KAAKkvmB,EAAKG,aACR,OAAOD,EAAiBE,cAActvmB,GACxC,KAAKkvmB,EAAKkC,MACR,OAAOD,EAAU7B,cAActvmB,GACjC,KAAKkvmB,EAAKmB,KACR,OAAOD,EAASd,cAActvmB,GAEpC,CAsIA,SAAS04mB,EAAoBtxmB,EAAMuxmB,GACjC,IAAI/slB,EACEgtlB,EAAW1J,EAAKyE,mBAAmBvsmB,GAKzC,IAHAwkB,EAAOsjlB,EAAKvlmB,KAAKgvmB,EAAWC,MAGf1J,EAAKmB,MAAQzklB,EAAKkklB,IAAM8I,EAAS9I,IAC5C,MAAM,IAAI9nmB,MAAM,IAAMZ,EAAN,iCACoB8nmB,EAAKrgmB,SAAS+c,GAChD,0BAA4BsjlB,EAAKrgmB,SAAS+pmB,IAQ9C,OAJIhtlB,IAASsjlB,EAAKkC,OAAUR,EAAM4H,uBAChC5slB,EAAOsjlB,EAAKmB,MAGNzklB,GACN,KAAKsjlB,EAAKqE,QACR,OAAO,IAAIS,EAAY5smB,GAEzB,KAAK8nmB,EAAKG,aACR,OAAO,IAAID,EAAiBhomB,GAE9B,KAAK8nmB,EAAKkC,MACR,OAAO,IAAID,EAAU/pmB,GAEvB,KAAK8nmB,EAAKmB,KACR,OAAO,IAAID,EAAShpmB,GAE1B,CAiBA3J,EAAQ44mB,UAAY,SAAoBz5lB,GACtC,OAAOA,EAAM7C,QAAO,SAAUC,EAAK6+lB,GAOjC,MANmB,kBAARA,EACT7+lB,EAAIrW,KAAK+0mB,EAAmBG,EAAK,OACxBA,EAAIzxmB,MACb4S,EAAIrW,KAAK+0mB,EAAmBG,EAAIzxmB,KAAMyxmB,EAAIjtlB,OAGrC5R,CACT,GAAG,GACL,EAUAvc,EAAQqsD,WAAa,SAAqB1iD,EAAMq3C,GAQ9C,IAPA,IAEMvjC,EAxKR,SAAqB49lB,GAEnB,IADA,IAAM59lB,EAAQ,GACLrb,EAAI,EAAGA,EAAIi5mB,EAAK94mB,OAAQH,IAAK,CACpC,IAAMg5mB,EAAMC,EAAKj5mB,GAEjB,OAAQg5mB,EAAIjtlB,MACV,KAAKsjlB,EAAKqE,QACRr4lB,EAAMvX,KAAK,CAACk1mB,EACV,CAAEzxmB,KAAMyxmB,EAAIzxmB,KAAMwkB,KAAMsjlB,EAAKG,aAAcrvmB,OAAQ64mB,EAAI74mB,QACvD,CAAEoH,KAAMyxmB,EAAIzxmB,KAAMwkB,KAAMsjlB,EAAKmB,KAAMrwmB,OAAQ64mB,EAAI74mB,UAEjD,MACF,KAAKkvmB,EAAKG,aACRn0lB,EAAMvX,KAAK,CAACk1mB,EACV,CAAEzxmB,KAAMyxmB,EAAIzxmB,KAAMwkB,KAAMsjlB,EAAKmB,KAAMrwmB,OAAQ64mB,EAAI74mB,UAEjD,MACF,KAAKkvmB,EAAKkC,MACRl2lB,EAAMvX,KAAK,CAACk1mB,EACV,CAAEzxmB,KAAMyxmB,EAAIzxmB,KAAMwkB,KAAMsjlB,EAAKmB,KAAMrwmB,OAAQi4mB,EAAoBY,EAAIzxmB,SAErE,MACF,KAAK8nmB,EAAKmB,KACRn1lB,EAAMvX,KAAK,CACT,CAAEyD,KAAMyxmB,EAAIzxmB,KAAMwkB,KAAMsjlB,EAAKmB,KAAMrwmB,OAAQi4mB,EAAoBY,EAAIzxmB,SAG3E,CAEA,OAAO8T,CACT,CA0IgB69lB,CAFDZ,EAAsB/wmB,EAAMwpmB,EAAM4H,uBAGzC5tG,EA7HR,SAAqB1vf,EAAOujC,GAK1B,IAJA,IAAM4/Q,EAAQ,CAAC,EACTusM,EAAQ,CAAE5je,MAAO,CAAC,GACpBgykB,EAAc,CAAC,SAEVn5mB,EAAI,EAAGA,EAAIqb,EAAMlb,OAAQH,IAAK,CAIrC,IAHA,IAAMo5mB,EAAY/9lB,EAAMrb,GAClBq5mB,EAAiB,GAEdz0mB,EAAI,EAAGA,EAAIw0mB,EAAUj5mB,OAAQyE,IAAK,CACzC,IAAMwY,EAAOg8lB,EAAUx0mB,GACjB9D,EAAM,GAAKd,EAAI4E,EAErBy0mB,EAAev1mB,KAAKhD,GACpB09T,EAAM19T,GAAO,CAAEsc,KAAMA,EAAM2hR,UAAW,GACtCgsO,EAAMjqgB,GAAO,CAAC,EAEd,IAAK,IAAIb,EAAI,EAAGA,EAAIk5mB,EAAYh5mB,OAAQF,IAAK,CAC3C,IAAMq5mB,EAAaH,EAAYl5mB,GAE3Bu+T,EAAM86S,IAAe96S,EAAM86S,GAAYl8lB,KAAK2O,OAAS3O,EAAK2O,MAC5Dg/e,EAAMuuG,GAAYx4mB,GAChB83mB,EAAqBp6S,EAAM86S,GAAYv6U,UAAY3hR,EAAKjd,OAAQid,EAAK2O,MACrE6slB,EAAqBp6S,EAAM86S,GAAYv6U,UAAW3hR,EAAK2O,MAEzDyyS,EAAM86S,GAAYv6U,WAAa3hR,EAAKjd,SAEhCq+T,EAAM86S,KAAa96S,EAAM86S,GAAYv6U,UAAY3hR,EAAKjd,QAE1D4qgB,EAAMuuG,GAAYx4mB,GAAO83mB,EAAqBx7lB,EAAKjd,OAAQid,EAAK2O,MAC9D,EAAIsjlB,EAAKwE,sBAAsBz2lB,EAAK2O,KAAM6yB,GAEhD,CACF,CAEAu6jB,EAAcE,CAChB,CAEA,IAAK,IAAIp5mB,EAAI,EAAGA,EAAIk5mB,EAAYh5mB,OAAQF,IACtC8qgB,EAAMouG,EAAYl5mB,IAAIyc,IAAM,EAG9B,MAAO,CAAEre,IAAK0sgB,EAAOvsM,MAAOA,EAC9B,CAkFgB+6S,CAAWl+lB,EAAOujC,GAC1BliB,EAAOmue,EAASc,UAAUZ,EAAM1sgB,IAAK,QAAS,OAE9Cm7mB,EAAgB,GACbx5mB,EAAI,EAAGA,EAAI08B,EAAKv8B,OAAS,EAAGH,IACnCw5mB,EAAc11mB,KAAKingB,EAAMvsM,MAAM9hS,EAAK18B,IAAIod,MAG1C,OAAOxf,EAAQ44mB,UA9MjB,SAAwByC,GACtB,OAAOA,EAAK/+lB,QAAO,SAAUC,EAAKs/lB,GAChC,IAAMC,EAAUv/lB,EAAIha,OAAS,GAAK,EAAIga,EAAIA,EAAIha,OAAS,GAAK,KAC5D,OAAIu5mB,GAAWA,EAAQ3tlB,OAAS0tlB,EAAK1tlB,MACnC5R,EAAIA,EAAIha,OAAS,GAAGoH,MAAQkymB,EAAKlymB,KAC1B4S,IAGTA,EAAIrW,KAAK21mB,GACFt/lB,EACT,GAAG,GACL,CAmM2Bw/lB,CAAcH,GACzC,EAYA57mB,EAAQ+4mB,SAAW,SAAmBpvmB,GACpC,OAAO3J,EAAQ44mB,UACb8B,EAAsB/wmB,EAAMwpmB,EAAM4H,sBAEtC,sBCzUA,IAAIiB,EACEC,EAAkB,CACtB,EACA,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC7C,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MASxDj8mB,EAAQmxmB,cAAgB,SAAwBnwjB,GAC9C,IAAKA,EAAS,MAAM,IAAIz2C,MAAM,yCAC9B,GAAIy2C,EAAU,GAAKA,EAAU,GAAI,MAAM,IAAIz2C,MAAM,6CACjD,OAAiB,EAAVy2C,EAAc,EACvB,EAQAhhD,EAAQ03mB,wBAA0B,SAAkC12jB,GAClE,OAAOi7jB,EAAgBj7jB,EACzB,EAQAhhD,EAAQqzmB,YAAc,SAAU1pmB,GAG9B,IAFA,IAAIuymB,EAAQ,EAEI,IAATvymB,GACLuymB,IACAvymB,KAAU,EAGZ,OAAOuymB,CACT,EAEAl8mB,EAAQ65mB,kBAAoB,SAA4B10mB,GACtD,GAAiB,oBAANA,EACT,MAAM,IAAIoF,MAAM,yCAGlByxmB,EAAiB72mB,CACnB,EAEAnF,EAAQ+6mB,mBAAqB,WAC3B,MAAiC,qBAAnBiB,CAChB,EAEAh8mB,EAAQ4zmB,OAAS,SAAiBuG,GAChC,OAAO6B,EAAe7B,EACxB,uBCxDAn6mB,EAAQwmE,QAAU,SAAkBxlB,GAClC,OAAQrlC,MAAMqlC,IAAYA,GAAW,GAAKA,GAAW,EACvD,yBCRA,IAAMmyjB,EAAQnymB,EAAQ,MAChBi2mB,EAASj2mB,EAAQ,OACjB6xmB,EAAU7xmB,EAAQ,OAClBywmB,EAAOzwmB,EAAQ,OACf40mB,EAAe50mB,EAAQ,OAIvBm7mB,EAAUhJ,EAAME,YADT,MAab,SAAS+I,EAAsBjulB,EAAM6yB,GAEnC,OAAOywjB,EAAKwE,sBAAsB9nlB,EAAM6yB,GAAW,CACrD,CAEA,SAASq7jB,EAA2B7E,EAAUx2jB,GAC5C,IAAIs7jB,EAAY,EAOhB,OALA9E,EAAS1lmB,SAAQ,SAAUnI,GACzB,IAAM4ymB,EAAeH,EAAqBzymB,EAAKwkB,KAAM6yB,GACrDs7jB,GAAaC,EAAe5ymB,EAAKkomB,eACnC,IAEOyK,CACT,CAqBAt8mB,EAAQkM,KAAO,SAAexH,EAAOsR,GACnC,OAAI4/lB,EAAapviB,QAAQ9hE,GAChByiC,SAASziC,EAAO,IAGlBsR,CACT,EAWAhW,EAAQw8mB,YAAc,SAAsBx7jB,EAASiyjB,EAAsB9klB,GACzE,IAAKynlB,EAAapviB,QAAQxlB,GACxB,MAAM,IAAIz2C,MAAM,2BAIE,qBAAT4jB,IAAsBA,EAAOsjlB,EAAKmB,MAG7C,IAMM6E,EAA+D,GAN9CtE,EAAMuE,wBAAwB12jB,GAG5Bi2jB,EAAO/D,uBAAuBlyjB,EAASiyjB,IAKhE,GAAI9klB,IAASsjlB,EAAKuE,MAAO,OAAOyB,EAEhC,IAAMgF,EAAahF,EAAyB2E,EAAqBjulB,EAAM6yB,GAGvE,OAAQ7yB,GACN,KAAKsjlB,EAAKqE,QACR,OAAO5omB,KAAKC,MAAOsvmB,EAAa,GAAM,GAExC,KAAKhL,EAAKG,aACR,OAAO1kmB,KAAKC,MAAOsvmB,EAAa,GAAM,GAExC,KAAKhL,EAAKkC,MACR,OAAOzmmB,KAAKC,MAAMsvmB,EAAa,IAEjC,KAAKhL,EAAKmB,KACV,QACE,OAAO1lmB,KAAKC,MAAMsvmB,EAAa,GAErC,EAUAz8mB,EAAQg5mB,sBAAwB,SAAgCrvmB,EAAMspmB,GACpE,IAAImI,EAEEsB,EAAM7J,EAAQ3mmB,KAAK+mmB,EAAsBJ,EAAQn5iB,GAEvD,GAAIn4D,MAAMkoB,QAAQ9f,GAAO,CACvB,GAAIA,EAAKpH,OAAS,EAChB,OAzFN,SAAqCi1mB,EAAUvE,GAC7C,IAAK,IAAI0J,EAAiB,EAAGA,GAAkB,GAAIA,IAEjD,GADeN,EAA0B7E,EAAUmF,IACrC38mB,EAAQw8mB,YAAYG,EAAgB1J,EAAsBxB,EAAKuE,OAC3E,OAAO2G,CAKb,CAgFaC,CAA2BjzmB,EAAM+ymB,GAG1C,GAAoB,IAAhB/ymB,EAAKpH,OACP,OAAO,EAGT64mB,EAAMzxmB,EAAK,EACb,MACEyxmB,EAAMzxmB,EAGR,OA/HF,SAAsCwkB,EAAM5rB,EAAQ0wmB,GAClD,IAAK,IAAI0J,EAAiB,EAAGA,GAAkB,GAAIA,IACjD,GAAIp6mB,GAAUvC,EAAQw8mB,YAAYG,EAAgB1J,EAAsB9klB,GACtE,OAAOwulB,CAKb,CAuHSE,CAA4BzB,EAAIjtlB,KAAMitlB,EAAItJ,YAAa4K,EAChE,EAYA18mB,EAAQszmB,eAAiB,SAAyBtyjB,GAChD,IAAK40jB,EAAapviB,QAAQxlB,IAAYA,EAAU,EAC9C,MAAM,IAAIz2C,MAAM,2BAKlB,IAFA,IAAIrJ,EAAI8/C,GAAW,GAEZmyjB,EAAME,YAAYnymB,GAAKi7mB,GAAW,GACvCj7mB,GAvJS,MAuJKiymB,EAAME,YAAYnymB,GAAKi7mB,EAGvC,OAAQn7jB,GAAW,GAAM9/C,CAC3B,yBClKA,IAAMiymB,EAAQnymB,EAAQ,OAoBtBhB,EAAQ0a,OAAS,SAAiBoimB,EAAQnM,EAAQ/zlB,GAChD,IAAIukC,EAAOvkC,EACPmgmB,EAAWpM,EAEK,qBAATxvjB,GAA0BwvjB,GAAWA,EAAOI,aACrD5vjB,EAAOwvjB,EACPA,OAASxwmB,GAGNwwmB,IACHoM,EAlBJ,WACE,IACE,OAAO1lmB,SAASC,cAAc,SAChC,CAAE,MAAO3U,GACP,MAAM,IAAI4H,MAAM,uCAClB,CACF,CAYeyymB,IAGb77jB,EAAOgyjB,EAAMvyY,WAAWz/K,GACxB,IAAM5+B,EAAO4wlB,EAAM8J,cAAcH,EAAOlhZ,QAAQr5M,KAAM4+B,GAEhD+7jB,EAAMH,EAAShM,WAAW,MAC1B17E,EAAQ6nF,EAAIC,gBAAgB56lB,EAAMA,GAMxC,OALA4wlB,EAAMiK,cAAc/nF,EAAM1rhB,KAAMmzmB,EAAQ37jB,GApC1C,SAAsB+7jB,EAAKvM,EAAQpulB,GACjC26lB,EAAIG,UAAU,EAAG,EAAG1M,EAAO3zkB,MAAO2zkB,EAAOv8kB,QAEpCu8kB,EAAO90lB,QAAO80lB,EAAO90lB,MAAQ,CAAC,GACnC80lB,EAAOv8kB,OAAS7R,EAChBoulB,EAAO3zkB,MAAQza,EACfoulB,EAAO90lB,MAAMuY,OAAS7R,EAAO,KAC7BoulB,EAAO90lB,MAAMmhB,MAAQza,EAAO,IAC9B,CA8BE+6lB,CAAYJ,EAAKH,EAAUx6lB,GAC3B26lB,EAAIK,aAAaloF,EAAO,EAAG,GAEpB0nF,CACT,EAEA/8mB,EAAQkxmB,gBAAkB,SAA0B4L,EAAQnM,EAAQ/zlB,GAClE,IAAIukC,EAAOvkC,EAES,qBAATukC,GAA0BwvjB,GAAWA,EAAOI,aACrD5vjB,EAAOwvjB,EACPA,OAASxwmB,GAGNghD,IAAMA,EAAO,CAAC,GAEnB,IAAM47jB,EAAW/8mB,EAAQ0a,OAAOoimB,EAAQnM,EAAQxvjB,GAE1C/nC,EAAO+nC,EAAK/nC,MAAQ,YACpBokmB,EAAer8jB,EAAKq8jB,cAAgB,CAAC,EAE3C,OAAOT,EAAS9L,UAAU73lB,EAAMokmB,EAAaC,QAC/C,wBC9DA,IAAMtK,EAAQnymB,EAAQ,OAEtB,SAAS08mB,EAAgB/tlB,EAAOzL,GAC9B,IAAMikB,EAAQxY,EAAM5oB,EAAI,IAClBiV,EAAMkI,EAAS,KAAOyL,EAAMw6hB,IAAM,IAExC,OAAOhihB,EAAQ,EACXnsB,EAAM,IAAMkI,EAAS,aAAeikB,EAAMJ,QAAQ,GAAGhpB,MAAM,GAAK,IAChE/C,CACN,CAEA,SAAS2hmB,EAAQC,EAAKp7lB,EAAGpd,GACvB,IAAI4W,EAAM4hmB,EAAMp7lB,EAGhB,MAFiB,qBAANpd,IAAmB4W,GAAO,IAAM5W,GAEpC4W,CACT,CAsCAhc,EAAQ0a,OAAS,SAAiBoimB,EAAQlgmB,EAASg0lB,GACjD,IAAMzvjB,EAAOgyjB,EAAMvyY,WAAWhkN,GACxB2F,EAAOu6lB,EAAOlhZ,QAAQr5M,KACtB5Y,EAAOmzmB,EAAOlhZ,QAAQjyN,KACtBk0mB,EAAat7lB,EAAqB,EAAd4+B,EAAKvV,OAEzB8xI,EAAMv8H,EAAKxxB,MAAM1D,MAAMllB,EAEzB,SAAW22mB,EAAev8jB,EAAKxxB,MAAM1D,MAAO,QAC5C,YAAc4xlB,EAAa,IAAMA,EAAa,SAF9C,GAIE/+kB,EACJ,SAAW4+kB,EAAev8jB,EAAKxxB,MAAMvC,KAAM,UAC3C,OAjDJ,SAAmBzjB,EAAM4Y,EAAMqpB,GAM7B,IALA,IAAI9M,EAAO,GACPg/kB,EAAS,EACTx2X,GAAS,EACTs+S,EAAa,EAERxjiB,EAAI,EAAGA,EAAIuH,EAAKpH,OAAQH,IAAK,CACpC,IAAM6mI,EAAM/7H,KAAKC,MAAM/K,EAAImgB,GACrBuyE,EAAM5nF,KAAKC,MAAM/K,EAAImgB,GAEtB0mH,GAAQq+G,IAAQA,GAAS,GAE1B39O,EAAKvH,IACPwjiB,IAEMxjiB,EAAI,GAAK6mI,EAAM,GAAKt/H,EAAKvH,EAAI,KACjC08B,GAAQwoN,EACJq2X,EAAO,IAAK10e,EAAMr9F,EAAQ,GAAMkpD,EAAMlpD,GACtC+xkB,EAAO,IAAKG,EAAQ,GAExBA,EAAS,EACTx2X,GAAS,GAGLr+G,EAAM,EAAI1mH,GAAQ5Y,EAAKvH,EAAI,KAC/B08B,GAAQ6+kB,EAAO,IAAK/3E,GACpBA,EAAa,IAGfk4E,GAEJ,CAEA,OAAOh/kB,CACT,CAeai/kB,CAASp0mB,EAAM4Y,EAAM4+B,EAAKvV,QAAU,MAEzC3N,EAAU,gBAAuB4/kB,EAAa,IAAMA,EAAa,IAIjEG,EAAS,4CAFA78jB,EAAKnkB,MAAa,UAAYmkB,EAAKnkB,MAAQ,aAAemkB,EAAKnkB,MAAQ,KAA1D,IAEwCiB,EAAU,iCAAmCy/I,EAAK5+I,EAAO,WAM7H,MAJkB,oBAAP8xkB,GACTA,EAAG,KAAMoN,GAGJA,CACT,uBChFA,SAASC,EAAU9zD,GAKjB,GAJmB,kBAARA,IACTA,EAAMA,EAAI/4iB,YAGO,kBAAR+4iB,EACT,MAAM,IAAI5/iB,MAAM,yCAGlB,IAAI2zmB,EAAU/zD,EAAIpriB,QAAQ9C,QAAQ,IAAK,IAAIvH,MAAM,IACjD,GAAIwpmB,EAAQ37mB,OAAS,GAAwB,IAAnB27mB,EAAQ37mB,QAAgB27mB,EAAQ37mB,OAAS,EACjE,MAAM,IAAIgI,MAAM,sBAAwB4/iB,GAInB,IAAnB+zD,EAAQ37mB,QAAmC,IAAnB27mB,EAAQ37mB,SAClC27mB,EAAU38mB,MAAMO,UAAUnB,OAAO8B,MAAM,GAAIy7mB,EAAQz9mB,KAAI,SAAU2C,GAC/D,MAAO,CAACA,EAAGA,EACb,MAIqB,IAAnB86mB,EAAQ37mB,QAAc27mB,EAAQh4mB,KAAK,IAAK,KAE5C,IAAMi4mB,EAAWh3kB,SAAS+2kB,EAAQ7smB,KAAK,IAAK,IAE5C,MAAO,CACLhO,EAAI86mB,GAAY,GAAM,IACtB94mB,EAAI84mB,GAAY,GAAM,IACtBh9mB,EAAIg9mB,GAAY,EAAK,IACrBp3mB,EAAc,IAAXo3mB,EACHh0D,IAAK,IAAM+zD,EAAQn/lB,MAAM,EAAG,GAAG1N,KAAK,IAExC,CAEArR,EAAQ4gO,WAAa,SAAqBhkN,GACnCA,IAASA,EAAU,CAAC,GACpBA,EAAQ+S,QAAO/S,EAAQ+S,MAAQ,CAAC,GAErC,IAAMic,EAAmC,qBAAnBhvB,EAAQgvB,QACT,OAAnBhvB,EAAQgvB,QACRhvB,EAAQgvB,OAAS,EACf,EACAhvB,EAAQgvB,OAEN5O,EAAQpgB,EAAQogB,OAASpgB,EAAQogB,OAAS,GAAKpgB,EAAQogB,WAAQ78B,EAC/Dm/F,EAAQ1iF,EAAQ0iF,OAAS,EAE/B,MAAO,CACLtiE,MAAOA,EACPsiE,MAAOtiE,EAAQ,EAAIsiE,EACnB1zD,OAAQA,EACRjc,MAAO,CACLvC,KAAM6wlB,EAASrhmB,EAAQ+S,MAAMvC,MAAQ,aACrCnB,MAAOgylB,EAASrhmB,EAAQ+S,MAAM1D,OAAS,cAEzC7S,KAAMwD,EAAQxD,KACdokmB,aAAc5gmB,EAAQ4gmB,cAAgB,CAAC,EAE3C,EAEAx9mB,EAAQo+mB,SAAW,SAAmBC,EAAQl9jB,GAC5C,OAAOA,EAAKnkB,OAASmkB,EAAKnkB,OAASqhlB,EAAuB,EAAdl9jB,EAAKvV,OAC7CuV,EAAKnkB,OAASqhlB,EAAuB,EAAdl9jB,EAAKvV,QAC5BuV,EAAKm+C,KACX,EAEAt/F,EAAQi9mB,cAAgB,SAAwBoB,EAAQl9jB,GACtD,IAAMm+C,EAAQt/F,EAAQo+mB,SAASC,EAAQl9jB,GACvC,OAAOj0C,KAAKC,OAAOkxmB,EAAuB,EAAdl9jB,EAAKvV,QAAc0zD,EACjD,EAEAt/F,EAAQo9mB,cAAgB,SAAwBkB,EAASC,EAAIp9jB,GAQ3D,IAPA,IAAM5+B,EAAOg8lB,EAAG3iZ,QAAQr5M,KAClB5Y,EAAO40mB,EAAG3iZ,QAAQjyN,KAClB21F,EAAQt/F,EAAQo+mB,SAAS77lB,EAAM4+B,GAC/Bq9jB,EAAatxmB,KAAKC,OAAOoV,EAAqB,EAAd4+B,EAAKvV,QAAc0zD,GACnDm/gB,EAAet9jB,EAAKvV,OAAS0zD,EAC7BrxE,EAAU,CAACkzB,EAAKxxB,MAAM1D,MAAOk1B,EAAKxxB,MAAMvC,MAErChrB,EAAI,EAAGA,EAAIo8mB,EAAYp8mB,IAC9B,IAAK,IAAI4E,EAAI,EAAGA,EAAIw3mB,EAAYx3mB,IAAK,CACnC,IAAI03mB,EAAgC,GAAtBt8mB,EAAIo8mB,EAAax3mB,GAC3B23mB,EAAUx9jB,EAAKxxB,MAAM1D,MAEzB,GAAI7pB,GAAKq8mB,GAAgBz3mB,GAAKy3mB,GAC5Br8mB,EAAIo8mB,EAAaC,GAAgBz3mB,EAAIw3mB,EAAaC,EAGlDE,EAAU1wlB,EAAQtkB,EAFLuD,KAAKC,OAAO/K,EAAIq8mB,GAAgBn/gB,GAEf/8E,EADjBrV,KAAKC,OAAOnG,EAAIy3mB,GAAgBn/gB,IACA,EAAI,GAGnDg/gB,EAAQI,KAAYC,EAAQt7mB,EAC5Bi7mB,EAAQI,KAAYC,EAAQt5mB,EAC5Bi5mB,EAAQI,KAAYC,EAAQx9mB,EAC5Bm9mB,EAAQI,GAAUC,EAAQ53mB,CAC5B,CAEJ,kCCxEA,SAAStF,EAAe8nB,EAAKiO,GAC3B,OAAOp2B,OAAOU,UAAUL,eAAee,KAAK+mB,EAAKiO,EACnD,CAEA4d,EAAOp1C,QAAU,SAAS4+mB,EAAIC,EAAKtqhB,EAAI33E,GACrCiimB,EAAMA,GAAO,IACbtqhB,EAAKA,GAAM,IACX,IAAIhrE,EAAM,CAAC,EAEX,GAAkB,kBAAPq1lB,GAAiC,IAAdA,EAAGr8mB,OAC/B,OAAOgnB,EAGT,IAAIwmK,EAAS,MACb6ub,EAAKA,EAAGlqmB,MAAMmqmB,GAEd,IAAIC,EAAU,IACVlimB,GAAsC,kBAApBA,EAAQkimB,UAC5BA,EAAUlimB,EAAQkimB,SAGpB,IAAIzumB,EAAMuumB,EAAGr8mB,OAETu8mB,EAAU,GAAKzumB,EAAMyumB,IACvBzumB,EAAMyumB,GAGR,IAAK,IAAI18mB,EAAI,EAAGA,EAAIiO,IAAOjO,EAAG,CAC5B,IAEI28mB,EAAMC,EAAM14mB,EAAGR,EAFf0c,EAAIo8lB,EAAGx8mB,GAAG6Z,QAAQ8zK,EAAQ,OAC1Br4D,EAAMl1G,EAAE5f,QAAQ2xF,GAGhBmjC,GAAO,GACTqnf,EAAOv8lB,EAAE5D,OAAO,EAAG84G,GACnBsnf,EAAOx8lB,EAAE5D,OAAO84G,EAAM,KAEtBqnf,EAAOv8lB,EACPw8lB,EAAO,IAGT14mB,EAAIgL,mBAAmBytmB,GACvBj5mB,EAAIwL,mBAAmB0tmB,GAElBv9mB,EAAe8nB,EAAKjjB,GAEd/E,MAAMkoB,QAAQF,EAAIjjB,IAC3BijB,EAAIjjB,GAAGJ,KAAKJ,GAEZyjB,EAAIjjB,GAAK,CAACijB,EAAIjjB,GAAIR,GAJlByjB,EAAIjjB,GAAKR,CAMb,CAEA,OAAOyjB,CACT,kCCxDA,IAAI01lB,EAAqB,SAASn5mB,GAChC,cAAeA,GACb,IAAK,SACH,OAAOA,EAET,IAAK,UACH,OAAOA,EAAI,OAAS,QAEtB,IAAK,SACH,OAAO+qD,SAAS/qD,GAAKA,EAAI,GAE3B,QACE,MAAO,GAEb,EAEAsvC,EAAOp1C,QAAU,SAASupB,EAAKs1lB,EAAKtqhB,EAAI5rF,GAOtC,OANAk2mB,EAAMA,GAAO,IACbtqhB,EAAKA,GAAM,IACC,OAARhrE,IACFA,OAAMppB,GAGW,kBAARopB,EACFnoB,OAAOgR,KAAKmX,GAAK9oB,KAAI,SAAS6F,GACnC,IAAIgyL,EAAKlkJ,mBAAmB6qkB,EAAmB34mB,IAAMiuF,EACrD,OAAIhzF,MAAMkoB,QAAQF,EAAIjjB,IACbijB,EAAIjjB,GAAG7F,KAAI,SAASqF,GACzB,OAAOwyL,EAAKlkJ,mBAAmB6qkB,EAAmBn5mB,GACpD,IAAGuL,KAAKwtmB,GAEDvmb,EAAKlkJ,mBAAmB6qkB,EAAmB11lB,EAAIjjB,IAE1D,IAAG+K,KAAKwtmB,GAILl2mB,EACEyrC,mBAAmB6qkB,EAAmBt2mB,IAAS4rF,EAC/CngD,mBAAmB6qkB,EAAmB11lB,IAF3B,EAGpB,sCC7DAvpB,EAAQ2Q,OAAS3Q,EAAQshB,MAAQ,EAAhBthB,OACjBA,EAAQkQ,OAASlQ,EAAQmhB,UAAY,EAApBnhB,2CCSJ,IAAIk/mB,EAAGl+mB,EAAQ,OAAS88K,EAAG98K,EAAQ,OAAa,SAASQ,EAAEuF,GAAG,IAAI,IAAI5F,EAAE,yDAAyD4F,EAAE3D,EAAE,EAAEA,EAAEd,UAAUC,OAAOa,IAAIjC,GAAG,WAAWizC,mBAAmB9xC,UAAUc,IAAI,MAAM,yBAAyB2D,EAAE,WAAW5F,EAAE,gHAAgH,CAAC,IAAIi9K,EAAG,IAAI5iK,IAAI2jmB,EAAG,CAAC,EAAE,SAASngc,EAAGj4K,EAAE5F,GAAGy+K,EAAG74K,EAAE5F,GAAGy+K,EAAG74K,EAAE,UAAU5F,EAAE,CACxb,SAASy+K,EAAG74K,EAAE5F,GAAW,IAARg+mB,EAAGp4mB,GAAG5F,EAAM4F,EAAE,EAAEA,EAAE5F,EAAEoB,OAAOwE,IAAIq3K,EAAG1oK,IAAIvU,EAAE4F,GAAG,CAC5D,IAAIk5K,IAAK,qBAAqBhgL,QAAQ,qBAAqBA,OAAOoX,UAAU,qBAAqBpX,OAAOoX,SAASC,eAAesgL,EAAGx2L,OAAOU,UAAUL,eAAe6+K,EAAG,8VAA8V8+b,EACpgB,CAAC,EAAEC,EAAG,CAAC,EACiN,SAASv5mB,EAAEiB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,GAAGzD,KAAK09mB,gBAAgB,IAAIn+mB,GAAG,IAAIA,GAAG,IAAIA,EAAES,KAAKi7lB,cAAc37lB,EAAEU,KAAK29mB,mBAAmB58mB,EAAEf,KAAK49mB,gBAAgBp8mB,EAAExB,KAAK89D,aAAa34D,EAAEnF,KAAKwX,KAAKjY,EAAES,KAAK69mB,YAAYt6mB,EAAEvD,KAAK89mB,kBAAkBr6mB,CAAC,CAAC,IAAIod,EAAE,CAAC,EACpb,uIAAuI/N,MAAM,KAAK5C,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAe+K,SAAQ,SAAS/K,GAAG,IAAI5F,EAAE4F,EAAE,GAAG0b,EAAEthB,GAAG,IAAI2E,EAAE3E,EAAE,GAAE,EAAG4F,EAAE,GAAG,MAAK,GAAG,EAAG,IAAG,CAAC,kBAAkB,YAAY,aAAa,SAAS+K,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAEmV,cAAc,MAAK,GAAG,EAAG,IAC1e,CAAC,cAAc,4BAA4B,YAAY,iBAAiBpK,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,8OAA8O2N,MAAM,KAAK5C,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAEmV,cAAc,MAAK,GAAG,EAAG,IACxb,CAAC,UAAU,WAAW,QAAQ,YAAYpK,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,YAAY+K,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,OAAO,OAAO,OAAO,QAAQ+K,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,SAAS+K,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAEmV,cAAc,MAAK,GAAG,EAAG,IAAG,IAAIyjmB,EAAG,gBAAgB,SAAStmb,EAAGtyL,GAAG,OAAOA,EAAE,GAAGysC,aAAa,CAIxZ,SAASomJ,EAAG7yL,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAE8f,EAAEhhB,eAAeN,GAAGshB,EAAEthB,GAAG,MAAQ,OAAOwB,EAAE,IAAIA,EAAEyW,KAAKlY,KAAK,EAAEC,EAAEoB,SAAS,MAAMpB,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,MAP9I,SAAY4F,EAAE5F,EAAEiC,EAAElC,GAAG,GAAG,OAAOC,GAAG,qBAAqBA,GADqE,SAAY4F,EAAE5F,EAAEiC,EAAElC,GAAG,GAAG,OAAOkC,GAAG,IAAIA,EAAEgW,KAAK,OAAM,EAAG,cAAcjY,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGD,IAAc,OAAOkC,GAASA,EAAEk8mB,gBAAmD,WAAnCv4mB,EAAEA,EAAEmV,cAAc6C,MAAM,EAAE,KAAsB,UAAUhY,GAAE,QAAQ,OAAM,EAAG,CAC/ToyL,CAAGpyL,EAAE5F,EAAEiC,EAAElC,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOkC,EAAE,OAAOA,EAAEgW,MAAM,KAAK,EAAE,OAAOjY,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOwa,MAAMxa,GAAG,KAAK,EAAE,OAAOwa,MAAMxa,IAAI,EAAEA,EAAE,OAAM,CAAE,CAOtEy+mB,CAAGz+mB,EAAEiC,EAAET,EAAEzB,KAAKkC,EAAE,MAAMlC,GAAG,OAAOyB,EARxK,SAAYoE,GAAG,QAAG6wL,EAAGp1L,KAAK68mB,EAAGt4mB,KAAe6wL,EAAGp1L,KAAK48mB,EAAGr4mB,KAAeu5K,EAAG/8I,KAAKx8B,GAAUs4mB,EAAGt4mB,IAAG,GAAGq4mB,EAAGr4mB,IAAG,GAAS,GAAE,CAQwD84mB,CAAG1+mB,KAAK,OAAOiC,EAAE2D,EAAEkT,gBAAgB9Y,GAAG4F,EAAEmT,aAAa/Y,EAAE,GAAGiC,IAAIT,EAAE68mB,gBAAgBz4mB,EAAEpE,EAAE+8D,cAAc,OAAOt8D,EAAE,IAAIT,EAAEyW,MAAQ,GAAGhW,GAAGjC,EAAEwB,EAAEk6lB,cAAc37lB,EAAEyB,EAAE48mB,mBAAmB,OAAOn8mB,EAAE2D,EAAEkT,gBAAgB9Y,IAAaiC,EAAE,KAAXT,EAAEA,EAAEyW,OAAc,IAAIzW,IAAG,IAAKS,EAAE,GAAG,GAAGA,EAAElC,EAAE6F,EAAEyulB,eAAet0lB,EAAEC,EAAEiC,GAAG2D,EAAEmT,aAAa/Y,EAAEiC,KAAI,CAHjd,0jCAA0jCsR,MAAM,KAAK5C,SAAQ,SAAS/K,GAAG,IAAI5F,EAAE4F,EAAEkV,QAAQ0jmB,EACzmCtmb,GAAI52K,EAAEthB,GAAG,IAAI2E,EAAE3E,EAAE,GAAE,EAAG4F,EAAE,MAAK,GAAG,EAAG,IAAG,2EAA2E2N,MAAM,KAAK5C,SAAQ,SAAS/K,GAAG,IAAI5F,EAAE4F,EAAEkV,QAAQ0jmB,EAAGtmb,GAAI52K,EAAEthB,GAAG,IAAI2E,EAAE3E,EAAE,GAAE,EAAG4F,EAAE,gCAA+B,GAAG,EAAG,IAAG,CAAC,WAAW,WAAW,aAAa+K,SAAQ,SAAS/K,GAAG,IAAI5F,EAAE4F,EAAEkV,QAAQ0jmB,EAAGtmb,GAAI52K,EAAEthB,GAAG,IAAI2E,EAAE3E,EAAE,GAAE,EAAG4F,EAAE,wCAAuC,GAAG,EAAG,IAAG,CAAC,WAAW,eAAe+K,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAEmV,cAAc,MAAK,GAAG,EAAG,IAClduG,EAAEq9lB,UAAU,IAAIh6mB,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcgM,SAAQ,SAAS/K,GAAG0b,EAAE1b,GAAG,IAAIjB,EAAEiB,EAAE,GAAE,EAAGA,EAAEmV,cAAc,MAAK,GAAG,EAAG,IAE5L,IAAIk1D,EAAG8tiB,EAAGa,mDAAmDC,EAAGp6mB,OAAOmxiB,IAAI,iBAAiBkpE,EAAGr6mB,OAAOmxiB,IAAI,gBAAgBmpE,EAAGt6mB,OAAOmxiB,IAAI,kBAAkBopE,EAAGv6mB,OAAOmxiB,IAAI,qBAAqBqpE,EAAGx6mB,OAAOmxiB,IAAI,kBAAkBspE,EAAGz6mB,OAAOmxiB,IAAI,kBAAkBupE,EAAG16mB,OAAOmxiB,IAAI,iBAAiBwpE,EAAG36mB,OAAOmxiB,IAAI,qBAAqBypE,EAAG56mB,OAAOmxiB,IAAI,kBAAkB0pE,EAAG76mB,OAAOmxiB,IAAI,uBAAuB2pE,EAAG96mB,OAAOmxiB,IAAI,cAAc4pE,EAAG/6mB,OAAOmxiB,IAAI,cAAcnxiB,OAAOmxiB,IAAI,eAAenxiB,OAAOmxiB,IAAI,0BACje,IAAI6pE,EAAGh7mB,OAAOmxiB,IAAI,mBAAmBnxiB,OAAOmxiB,IAAI,uBAAuBnxiB,OAAOmxiB,IAAI,eAAenxiB,OAAOmxiB,IAAI,wBAAwB,IAAI8pE,EAAGj7mB,OAAOC,SAAS,SAASi7mB,EAAG/5mB,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAE85mB,GAAI95mB,EAAE85mB,IAAK95mB,EAAE,eAA0CA,EAAE,IAAI,CAAC,IAAoBg6mB,EAAhBnwH,EAAExvf,OAAOa,OAAU,SAAS++mB,EAAGj6mB,GAAG,QAAG,IAASg6mB,EAAG,IAAI,MAAMx2mB,OAAQ,CAAC,MAAMnH,GAAG,IAAIjC,EAAEiC,EAAE05C,MAAMz+B,OAAOmF,MAAM,gBAAgBu9lB,EAAG5/mB,GAAGA,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK4/mB,EAAGh6mB,CAAC,CAAC,IAAIk6mB,GAAG,EACzb,SAASC,EAAGn6mB,EAAE5F,GAAG,IAAI4F,GAAGk6mB,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAI79mB,EAAEmH,MAAM42mB,kBAAkB52mB,MAAM42mB,uBAAkB,EAAO,IAAI,GAAGhgnB,EAAE,GAAGA,EAAE,WAAW,MAAMoJ,OAAQ,EAAEnJ,OAAOqC,eAAetC,EAAEW,UAAU,QAAQ,CAAC4G,IAAI,WAAW,MAAM6B,OAAQ,IAAI,kBAAkBhH,SAASA,QAAQu3H,UAAU,CAAC,IAAIv3H,QAAQu3H,UAAU35H,EAAE,GAAG,CAAC,MAAMymC,GAAG,IAAI1mC,EAAE0mC,CAAC,CAACrkC,QAAQu3H,UAAU/zH,EAAE,GAAG5F,EAAE,KAAK,CAAC,IAAIA,EAAEqB,MAAM,CAAC,MAAMolC,GAAG1mC,EAAE0mC,CAAC,CAAC7gC,EAAEvE,KAAKrB,EAAEW,UAAU,KAAK,CAAC,IAAI,MAAMyI,OAAQ,CAAC,MAAMq9B,GAAG1mC,EAAE0mC,CAAC,CAAC7gC,GAAG,CAAC,CAAC,MAAM6gC,GAAG,GAAGA,GAAG1mC,GAAG,kBAAkB0mC,EAAEkV,MAAM,CAAC,IAAI,IAAIn6C,EAAEilC,EAAEkV,MAAMpoC,MAAM,MACnfvP,EAAEjE,EAAE47C,MAAMpoC,MAAM,MAAMrP,EAAE1C,EAAEJ,OAAO,EAAEgoB,EAAEplB,EAAE5C,OAAO,EAAE,GAAG8C,GAAG,GAAGklB,GAAG5nB,EAAE0C,KAAKF,EAAEolB,IAAIA,IAAI,KAAK,GAAGllB,GAAG,GAAGklB,EAAEllB,IAAIklB,IAAI,GAAG5nB,EAAE0C,KAAKF,EAAEolB,GAAG,CAAC,GAAG,IAAIllB,GAAG,IAAIklB,EAAG,MAAMllB,IAAQ,IAAJklB,GAAS5nB,EAAE0C,KAAKF,EAAEolB,GAAG,CAAC,IAAIjkB,EAAE,KAAK3D,EAAE0C,GAAG4W,QAAQ,WAAW,QAA6F,OAArFlV,EAAEg4B,aAAaz4B,EAAEsqD,SAAS,iBAAiBtqD,EAAEA,EAAE2V,QAAQ,cAAclV,EAAEg4B,cAAqBz4B,CAAC,QAAO,GAAGjB,GAAG,GAAGklB,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ02lB,GAAG,EAAG12mB,MAAM42mB,kBAAkB/9mB,CAAC,CAAC,OAAO2D,EAAEA,EAAEA,EAAEg4B,aAAah4B,EAAE4B,KAAK,IAAIq4mB,EAAGj6mB,GAAG,EAAE,CAC9Z,SAASq6mB,EAAGr6mB,GAAG,OAAOA,EAAE+V,KAAK,KAAK,EAAE,OAAOkkmB,EAAGj6mB,EAAEqS,MAAM,KAAK,GAAG,OAAO4nmB,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOj6mB,EAAEm6mB,EAAGn6mB,EAAEqS,MAAK,GAAM,KAAK,GAAG,OAAOrS,EAAEm6mB,EAAGn6mB,EAAEqS,KAAKsB,QAAO,GAAM,KAAK,EAAE,OAAO3T,EAAEm6mB,EAAGn6mB,EAAEqS,MAAK,GAAM,QAAQ,MAAM,GAAG,CACxR,SAASiomB,EAAGt6mB,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEg4B,aAAah4B,EAAE4B,MAAM,KAAK,GAAG,kBAAkB5B,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKm5mB,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKG,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkB15mB,EAAE,OAAOA,EAAE2jlB,UAAU,KAAK41B,EAAG,OAAOv5mB,EAAEg4B,aAAa,WAAW,YAAY,KAAKshlB,EAAG,OAAOt5mB,EAAE4M,SAASorB,aAAa,WAAW,YAAY,KAAKwhlB,EAAG,IAAIp/mB,EAAE4F,EAAE2T,OAC7Z,OADoa3T,EAAEA,EAAEg4B,eACndh4B,EAAE,MADieA,EAAE5F,EAAE49B,aAClf59B,EAAEwH,MAAM,IAAY,cAAc5B,EAAE,IAAI,cAAqBA,EAAE,KAAK25mB,EAAG,OAA6B,QAAtBv/mB,EAAE4F,EAAEg4B,aAAa,MAAc59B,EAAEkgnB,EAAGt6mB,EAAEqS,OAAO,OAAO,KAAKunmB,EAAGx/mB,EAAE4F,EAAEu6mB,SAASv6mB,EAAEA,EAAEk2G,MAAM,IAAI,OAAOokgB,EAAGt6mB,EAAE5F,GAAG,CAAC,MAAMiC,GAAG,EAAE,OAAO,IAAI,CAC3M,SAASm+mB,EAAGx6mB,GAAG,IAAI5F,EAAE4F,EAAEqS,KAAK,OAAOrS,EAAE+V,KAAK,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAE,OAAO3b,EAAE49B,aAAa,WAAW,YAAY,KAAK,GAAG,OAAO59B,EAAEwS,SAASorB,aAAa,WAAW,YAAY,KAAK,GAAG,MAAM,qBAAqB,KAAK,GAAG,OAAkBh4B,GAAXA,EAAE5F,EAAEuZ,QAAWqkB,aAAah4B,EAAE4B,MAAM,GAAGxH,EAAE49B,cAAc,KAAKh4B,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAK,EAAE,MAAM,WAAW,KAAK,EAAE,OAAO5F,EAAE,KAAK,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,OAAO,KAAK,GAAG,OAAOkgnB,EAAGlgnB,GAAG,KAAK,EAAE,OAAOA,IAAIg/mB,EAAG,aAAa,OAAO,KAAK,GAAG,MAAM,YACtf,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,eAAe,KAAK,GAAG,MAAM,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,oBAAoBh/mB,EAAE,OAAOA,EAAE49B,aAAa59B,EAAEwH,MAAM,KAAK,GAAG,kBAAkBxH,EAAE,OAAOA,EAAE,OAAO,IAAI,CAAC,SAASqgnB,EAAGz6mB,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,YAAqB,IAAK,SAAS,OAAOA,EAAE,QAAQ,MAAM,GAAG,CACra,SAAS06mB,EAAG16mB,GAAG,IAAI5F,EAAE4F,EAAEqS,KAAK,OAAOrS,EAAEA,EAAEqvE,WAAW,UAAUrvE,EAAEmV,gBAAgB,aAAa/a,GAAG,UAAUA,EAAE,CAEtF,SAASugnB,EAAG36mB,GAAGA,EAAE46mB,gBAAgB56mB,EAAE46mB,cADvD,SAAY56mB,GAAG,IAAI5F,EAAEsgnB,EAAG16mB,GAAG,UAAU,QAAQ3D,EAAEhC,OAAOkC,yBAAyByD,EAAElF,YAAYC,UAAUX,GAAGD,EAAE,GAAG6F,EAAE5F,GAAG,IAAI4F,EAAEtF,eAAeN,IAAI,qBAAqBiC,GAAG,oBAAoBA,EAAEoF,KAAK,oBAAoBpF,EAAEsF,IAAI,CAAC,IAAI/F,EAAES,EAAEoF,IAAIrD,EAAE/B,EAAEsF,IAAiL,OAA7KtH,OAAOqC,eAAesD,EAAE5F,EAAE,CAACioD,cAAa,EAAG5gD,IAAI,WAAW,OAAO7F,EAAEH,KAAKZ,KAAK,EAAE8G,IAAI,SAAS3B,GAAG7F,EAAE,GAAG6F,EAAE5B,EAAE3C,KAAKZ,KAAKmF,EAAE,IAAI3F,OAAOqC,eAAesD,EAAE5F,EAAE,CAACsK,WAAWrI,EAAEqI,aAAmB,CAAC2/B,SAAS,WAAW,OAAOlqC,CAAC,EAAEw/B,SAAS,SAAS35B,GAAG7F,EAAE,GAAG6F,CAAC,EAAE66mB,aAAa,WAAW76mB,EAAE46mB,cACxf,YAAY56mB,EAAE5F,EAAE,EAAE,CAAC,CAAkD0gnB,CAAG96mB,GAAG,CAAC,SAAS+6mB,EAAG/6mB,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAI5F,EAAE4F,EAAE46mB,cAAc,IAAIxgnB,EAAE,OAAM,EAAG,IAAIiC,EAAEjC,EAAEiqC,WAAelqC,EAAE,GAAqD,OAAlD6F,IAAI7F,EAAEugnB,EAAG16mB,GAAGA,EAAEutC,QAAQ,OAAO,QAAQvtC,EAAErC,QAAOqC,EAAE7F,KAAakC,IAAGjC,EAAEu/B,SAAS35B,IAAG,EAAM,CAAC,SAASg7mB,EAAGh7mB,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBsQ,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOtQ,EAAEkvG,eAAelvG,EAAE7B,IAAI,CAAC,MAAM/D,GAAG,OAAO4F,EAAE7B,IAAI,CAAC,CACpa,SAAS88mB,EAAGj7mB,EAAE5F,GAAG,IAAIiC,EAAEjC,EAAEmzC,QAAQ,OAAOs8c,EAAE,CAAC,EAAEzvf,EAAE,CAAC8gnB,oBAAe,EAAOjsmB,kBAAa,EAAOtR,WAAM,EAAO4vC,QAAQ,MAAMlxC,EAAEA,EAAE2D,EAAEm7mB,cAAcC,gBAAgB,CAAC,SAASC,EAAGr7mB,EAAE5F,GAAG,IAAIiC,EAAE,MAAMjC,EAAE6U,aAAa,GAAG7U,EAAE6U,aAAa9U,EAAE,MAAMC,EAAEmzC,QAAQnzC,EAAEmzC,QAAQnzC,EAAE8gnB,eAAe7+mB,EAAEo+mB,EAAG,MAAMrgnB,EAAEuD,MAAMvD,EAAEuD,MAAMtB,GAAG2D,EAAEm7mB,cAAc,CAACC,eAAejhnB,EAAEu5G,aAAar3G,EAAEi9B,WAAW,aAAal/B,EAAEiY,MAAM,UAAUjY,EAAEiY,KAAK,MAAMjY,EAAEmzC,QAAQ,MAAMnzC,EAAEuD,MAAM,CAAC,SAAS29mB,EAAGt7mB,EAAE5F,GAAe,OAAZA,EAAEA,EAAEmzC,UAAiBslJ,EAAG7yL,EAAE,UAAU5F,GAAE,EAAG,CAC9d,SAASmhnB,EAAGv7mB,EAAE5F,GAAGkhnB,EAAGt7mB,EAAE5F,GAAG,IAAIiC,EAAEo+mB,EAAGrgnB,EAAEuD,OAAOxD,EAAEC,EAAEiY,KAAK,GAAG,MAAMhW,EAAK,WAAWlC,GAAM,IAAIkC,GAAG,KAAK2D,EAAErC,OAAOqC,EAAErC,OAAOtB,KAAE2D,EAAErC,MAAM,GAAGtB,GAAO2D,EAAErC,QAAQ,GAAGtB,IAAI2D,EAAErC,MAAM,GAAGtB,QAAQ,GAAG,WAAWlC,GAAG,UAAUA,EAA8B,YAA3B6F,EAAEkT,gBAAgB,SAAgB9Y,EAAEM,eAAe,SAASmvmB,GAAG7pmB,EAAE5F,EAAEiY,KAAKhW,GAAGjC,EAAEM,eAAe,iBAAiBmvmB,GAAG7pmB,EAAE5F,EAAEiY,KAAKoomB,EAAGrgnB,EAAE6U,eAAe,MAAM7U,EAAEmzC,SAAS,MAAMnzC,EAAE8gnB,iBAAiBl7mB,EAAEk7mB,iBAAiB9gnB,EAAE8gnB,eAAe,CACla,SAASM,EAAGx7mB,EAAE5F,EAAEiC,GAAG,GAAGjC,EAAEM,eAAe,UAAUN,EAAEM,eAAe,gBAAgB,CAAC,IAAIP,EAAEC,EAAEiY,KAAK,KAAK,WAAWlY,GAAG,UAAUA,QAAG,IAASC,EAAEuD,OAAO,OAAOvD,EAAEuD,OAAO,OAAOvD,EAAE,GAAG4F,EAAEm7mB,cAAczngB,aAAar3G,GAAGjC,IAAI4F,EAAErC,QAAQqC,EAAErC,MAAMvD,GAAG4F,EAAEiP,aAAa7U,CAAC,CAAU,MAATiC,EAAE2D,EAAE4B,QAAc5B,EAAE4B,KAAK,IAAI5B,EAAEk7mB,iBAAiBl7mB,EAAEm7mB,cAAcC,eAAe,KAAK/+mB,IAAI2D,EAAE4B,KAAKvF,EAAE,CACzV,SAASwtmB,GAAG7pmB,EAAE5F,EAAEiC,GAAM,WAAWjC,GAAG4gnB,EAAGh7mB,EAAEg6B,iBAAiBh6B,IAAE,MAAM3D,EAAE2D,EAAEiP,aAAa,GAAGjP,EAAEm7mB,cAAczngB,aAAa1zG,EAAEiP,eAAe,GAAG5S,IAAI2D,EAAEiP,aAAa,GAAG5S,GAAE,CAAC,IAAI0yhB,GAAGv0hB,MAAMkoB,QAC7K,SAAS+4lB,GAAGz7mB,EAAE5F,EAAEiC,EAAElC,GAAe,GAAZ6F,EAAEA,EAAE6V,QAAWzb,EAAE,CAACA,EAAE,CAAC,EAAE,IAAI,IAAIwB,EAAE,EAAEA,EAAES,EAAEb,OAAOI,IAAIxB,EAAE,IAAIiC,EAAET,KAAI,EAAG,IAAIS,EAAE,EAAEA,EAAE2D,EAAExE,OAAOa,IAAIT,EAAExB,EAAEM,eAAe,IAAIsF,EAAE3D,GAAGsB,OAAOqC,EAAE3D,GAAGypB,WAAWlqB,IAAIoE,EAAE3D,GAAGypB,SAASlqB,GAAGA,GAAGzB,IAAI6F,EAAE3D,GAAGq/mB,iBAAgB,EAAG,KAAK,CAAmB,IAAlBr/mB,EAAE,GAAGo+mB,EAAGp+mB,GAAGjC,EAAE,KAASwB,EAAE,EAAEA,EAAEoE,EAAExE,OAAOI,IAAI,CAAC,GAAGoE,EAAEpE,GAAG+B,QAAQtB,EAAiD,OAA9C2D,EAAEpE,GAAGkqB,UAAS,OAAG3rB,IAAI6F,EAAEpE,GAAG8/mB,iBAAgB,IAAW,OAAOthnB,GAAG4F,EAAEpE,GAAGypB,WAAWjrB,EAAE4F,EAAEpE,GAAG,CAAC,OAAOxB,IAAIA,EAAE0rB,UAAS,EAAG,CAAC,CACxY,SAAS61lB,GAAG37mB,EAAE5F,GAAG,GAAG,MAAMA,EAAE8V,wBAAwB,MAAM1M,MAAM/I,EAAE,KAAK,OAAOovf,EAAE,CAAC,EAAEzvf,EAAE,CAACuD,WAAM,EAAOsR,kBAAa,EAAOI,SAAS,GAAGrP,EAAEm7mB,cAAczngB,cAAc,CAAC,SAASkogB,GAAG57mB,EAAE5F,GAAG,IAAIiC,EAAEjC,EAAEuD,MAAM,GAAG,MAAMtB,EAAE,CAA+B,GAA9BA,EAAEjC,EAAEiV,SAASjV,EAAEA,EAAE6U,aAAgB,MAAM5S,EAAE,CAAC,GAAG,MAAMjC,EAAE,MAAMoJ,MAAM/I,EAAE,KAAK,GAAGs0hB,GAAG1yhB,GAAG,CAAC,GAAG,EAAEA,EAAEb,OAAO,MAAMgI,MAAM/I,EAAE,KAAK4B,EAAEA,EAAE,EAAE,CAACjC,EAAEiC,CAAC,CAAC,MAAMjC,IAAIA,EAAE,IAAIiC,EAAEjC,CAAC,CAAC4F,EAAEm7mB,cAAc,CAACzngB,aAAa+mgB,EAAGp+mB,GAAG,CACnY,SAASw/mB,GAAG77mB,EAAE5F,GAAG,IAAIiC,EAAEo+mB,EAAGrgnB,EAAEuD,OAAOxD,EAAEsgnB,EAAGrgnB,EAAE6U,cAAc,MAAM5S,KAAIA,EAAE,GAAGA,KAAM2D,EAAErC,QAAQqC,EAAErC,MAAMtB,GAAG,MAAMjC,EAAE6U,cAAcjP,EAAEiP,eAAe5S,IAAI2D,EAAEiP,aAAa5S,IAAI,MAAMlC,IAAI6F,EAAEiP,aAAa,GAAG9U,EAAE,CAAC,SAAS2hnB,GAAG97mB,GAAG,IAAI5F,EAAE4F,EAAEwR,YAAYpX,IAAI4F,EAAEm7mB,cAAczngB,cAAc,KAAKt5G,GAAG,OAAOA,IAAI4F,EAAErC,MAAMvD,EAAE,CAAC,SAAS2hnB,GAAG/7mB,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,+BAA+B,CAC7c,SAASs6K,GAAGt6K,EAAE5F,GAAG,OAAO,MAAM4F,GAAG,iCAAiCA,EAAE+7mB,GAAG3hnB,GAAG,+BAA+B4F,GAAG,kBAAkB5F,EAAE,+BAA+B4F,CAAC,CAChK,IAAIooC,GAAepoC,GAAZm1K,IAAYn1K,GAAsJ,SAASA,EAAE5F,GAAG,GAAG,+BAA+B4F,EAAEg8mB,cAAc,cAAch8mB,EAAEA,EAAEoQ,UAAUhW,MAAM,CAA2F,KAA1FguC,GAAGA,IAAI93B,SAASC,cAAc,QAAUH,UAAU,QAAQhW,EAAEs9F,UAAUrtF,WAAW,SAAajQ,EAAEguC,GAAGv2B,WAAW7R,EAAE6R,YAAY7R,EAAE4R,YAAY5R,EAAE6R,YAAY,KAAKzX,EAAEyX,YAAY7R,EAAEoR,YAAYhX,EAAEyX,WAAW,CAAC,EAAvb,qBAAqBoqmB,OAAOA,MAAMC,wBAAwB,SAAS9hnB,EAAEiC,EAAElC,EAAEyB,GAAGqgnB,MAAMC,yBAAwB,WAAW,OAAOl8mB,GAAE5F,EAAEiC,EAAM,GAAE,EAAE2D,IACtK,SAASm8mB,GAAGn8mB,EAAE5F,GAAG,GAAGA,EAAE,CAAC,IAAIiC,EAAE2D,EAAE6R,WAAW,GAAGxV,GAAGA,IAAI2D,EAAE0iI,WAAW,IAAIrmI,EAAEkV,SAAwB,YAAdlV,EAAEoV,UAAUrX,EAAS,CAAC4F,EAAEwR,YAAYpX,CAAC,CACtH,IAAIgtC,GAAG,CAAC1oB,yBAAwB,EAAGC,aAAY,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAG6qB,UAAS,EAAG5qB,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGK,YAAW,EAAG87lB,WAAU,EAAG77lB,YAAW,EAAGC,SAAQ,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAClfC,MAAK,EAAGE,aAAY,EAAGC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAI86lB,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAGt8mB,EAAE5F,EAAEiC,GAAG,OAAO,MAAMjC,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGiC,GAAG,kBAAkBjC,GAAG,IAAIA,GAAGgtC,GAAG1sC,eAAesF,IAAIonC,GAAGpnC,IAAI,GAAG5F,GAAGkd,OAAOld,EAAE,IAAI,CACzb,SAAS00hB,GAAG9uhB,EAAE5F,GAAa,IAAI,IAAIiC,KAAlB2D,EAAEA,EAAE8U,MAAmB1a,EAAE,GAAGA,EAAEM,eAAe2B,GAAG,CAAC,IAAIlC,EAAE,IAAIkC,EAAER,QAAQ,MAAMD,EAAE0gnB,GAAGjgnB,EAAEjC,EAAEiC,GAAGlC,GAAG,UAAUkC,IAAIA,EAAE,YAAYlC,EAAE6F,EAAE2uG,YAAYtyG,EAAET,GAAGoE,EAAE3D,GAAGT,CAAC,CAAC,CADYvB,OAAOgR,KAAK+7B,IAAIr8B,SAAQ,SAAS/K,GAAGq8mB,GAAGtxmB,SAAQ,SAAS3Q,GAAGA,EAAEA,EAAE4F,EAAEggC,OAAO,GAAGyM,cAAczsC,EAAEugC,UAAU,GAAG6G,GAAGhtC,GAAGgtC,GAAGpnC,EAAE,GAAE,IAChI,IAAIu8mB,GAAG1yH,EAAE,CAAC2yH,UAAS,GAAI,CAAC/hP,MAAK,EAAGzkM,MAAK,EAAGnf,IAAG,EAAG30C,KAAI,EAAGu6e,OAAM,EAAG3jc,IAAG,EAAG4jc,KAAI,EAAGh1mB,OAAM,EAAGi1mB,QAAO,EAAGt+W,MAAK,EAAG22T,MAAK,EAAGljR,OAAM,EAAG5kQ,QAAO,EAAG21f,OAAM,EAAG+5E,KAAI,IAClT,SAASC,GAAG78mB,EAAE5F,GAAG,GAAGA,EAAE,CAAC,GAAGminB,GAAGv8mB,KAAK,MAAM5F,EAAEiV,UAAU,MAAMjV,EAAE8V,yBAAyB,MAAM1M,MAAM/I,EAAE,IAAIuF,IAAI,GAAG,MAAM5F,EAAE8V,wBAAwB,CAAC,GAAG,MAAM9V,EAAEiV,SAAS,MAAM7L,MAAM/I,EAAE,KAAK,GAAG,kBAAkBL,EAAE8V,2BAA2B,WAAW9V,EAAE8V,yBAAyB,MAAM1M,MAAM/I,EAAE,IAAK,CAAC,GAAG,MAAML,EAAE0a,OAAO,kBAAkB1a,EAAE0a,MAAM,MAAMtR,MAAM/I,EAAE,IAAK,CAAC,CAClW,SAASqinB,GAAG98mB,EAAE5F,GAAG,IAAI,IAAI4F,EAAEnE,QAAQ,KAAK,MAAM,kBAAkBzB,EAAEiqD,GAAG,OAAOrkD,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,IAAI+8mB,GAAG,KAAK,SAASC,GAAGh9mB,GAA6F,OAA1FA,EAAEA,EAAE9D,QAAQ8D,EAAEi9mB,YAAY/jnB,QAASgknB,0BAA0Bl9mB,EAAEA,EAAEk9mB,yBAAgC,IAAIl9mB,EAAEuR,SAASvR,EAAE2Q,WAAW3Q,CAAC,CAAC,IAAIm9mB,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACpc,SAASC,GAAGt9mB,GAAG,GAAGA,EAAEu9mB,GAAGv9mB,GAAG,CAAC,GAAG,oBAAoBm9mB,GAAG,MAAM35mB,MAAM/I,EAAE,MAAM,IAAIL,EAAE4F,EAAEw9mB,UAAUpjnB,IAAIA,EAAEqjnB,GAAGrjnB,GAAG+inB,GAAGn9mB,EAAEw9mB,UAAUx9mB,EAAEqS,KAAKjY,GAAG,CAAC,CAAC,SAASsjnB,GAAG19mB,GAAGo9mB,GAAGC,GAAGA,GAAGl+mB,KAAKa,GAAGq9mB,GAAG,CAACr9mB,GAAGo9mB,GAAGp9mB,CAAC,CAAC,SAAS29mB,KAAK,GAAGP,GAAG,CAAC,IAAIp9mB,EAAEo9mB,GAAGhjnB,EAAEijnB,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAGt9mB,GAAM5F,EAAE,IAAI4F,EAAE,EAAEA,EAAE5F,EAAEoB,OAAOwE,IAAIs9mB,GAAGljnB,EAAE4F,GAAG,CAAC,CAAC,SAAS49mB,GAAG59mB,EAAE5F,GAAG,OAAO4F,EAAE5F,EAAE,CAAC,SAASyjnB,KAAK,CAAC,IAAIC,IAAG,EAAG,SAASC,GAAG/9mB,EAAE5F,EAAEiC,GAAG,GAAGyhnB,GAAG,OAAO99mB,EAAE5F,EAAEiC,GAAGyhnB,IAAG,EAAG,IAAI,OAAOF,GAAG59mB,EAAE5F,EAAEiC,EAAE,CAAC,QAAWyhnB,IAAG,GAAG,OAAOV,IAAI,OAAOC,MAAGQ,KAAKF,KAAI,CAAC,CAChb,SAASK,GAAGh+mB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEw9mB,UAAU,GAAG,OAAOnhnB,EAAE,OAAO,KAAK,IAAIlC,EAAEsjnB,GAAGphnB,GAAG,GAAG,OAAOlC,EAAE,OAAO,KAAKkC,EAAElC,EAAEC,GAAG4F,EAAE,OAAO5F,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBD,GAAGA,EAAEkrB,YAAqBlrB,IAAI,YAAb6F,EAAEA,EAAEqS,OAAuB,UAAUrS,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAG7F,EAAE,MAAM6F,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAG3D,GAAG,oBACleA,EAAE,MAAMmH,MAAM/I,EAAE,IAAIL,SAASiC,IAAI,OAAOA,CAAC,CAAC,IAAI4hnB,IAAG,EAAG,GAAG/kc,EAAG,IAAI,IAAIglc,GAAG,CAAC,EAAE7jnB,OAAOqC,eAAewhnB,GAAG,UAAU,CAACz8mB,IAAI,WAAWw8mB,IAAG,CAAE,IAAI/knB,OAAOgjC,iBAAiB,OAAOgilB,GAAGA,IAAIhlnB,OAAOq2C,oBAAoB,OAAO2ukB,GAAGA,GAAG,CAAC,MAAMl+mB,IAAGi+mB,IAAG,CAAE,CAAC,SAASE,GAAGn+mB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,EAAEklB,EAAEjkB,GAAG,IAAIshC,EAAErmC,MAAMO,UAAUid,MAAMvc,KAAKF,UAAU,GAAG,IAAInB,EAAEsB,MAAMW,EAAEwkC,EAAE,CAAC,MAAMvhC,GAAGzE,KAAKujnB,QAAQ9+mB,EAAE,CAAC,CAAC,IAAI++mB,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAASp+mB,GAAGq+mB,IAAG,EAAGC,GAAGt+mB,CAAC,GAAG,SAAS0+mB,GAAG1+mB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,EAAEklB,EAAEjkB,GAAG8+mB,IAAG,EAAGC,GAAG,KAAKH,GAAGzinB,MAAM+inB,GAAGljnB,UAAU,CACjW,SAASojnB,GAAG3+mB,GAAG,IAAI5F,EAAE4F,EAAE3D,EAAE2D,EAAE,GAAGA,EAAE4+mB,UAAU,KAAKxknB,EAAEwe,QAAQxe,EAAEA,EAAEwe,WAAW,CAAC5Y,EAAE5F,EAAE,GAAO,KAAa,MAAjBA,EAAE4F,GAASgR,SAAc3U,EAAEjC,EAAEwe,QAAQ5Y,EAAE5F,EAAEwe,aAAa5Y,EAAE,CAAC,OAAO,IAAI5F,EAAE2b,IAAI1Z,EAAE,IAAI,CAAC,SAASwinB,GAAG7+mB,GAAG,GAAG,KAAKA,EAAE+V,IAAI,CAAC,IAAI3b,EAAE4F,EAAE8+mB,cAAsE,GAAxD,OAAO1knB,IAAkB,QAAd4F,EAAEA,EAAE4+mB,aAAqBxknB,EAAE4F,EAAE8+mB,gBAAmB,OAAO1knB,EAAE,OAAOA,EAAE2knB,UAAU,CAAC,OAAO,IAAI,CAAC,SAASC,GAAGh/mB,GAAG,GAAG2+mB,GAAG3+mB,KAAKA,EAAE,MAAMwD,MAAM/I,EAAE,KAAM,CAE1S,SAASwknB,GAAGj/mB,GAAW,OAAO,QAAfA,EADtN,SAAYA,GAAG,IAAI5F,EAAE4F,EAAE4+mB,UAAU,IAAIxknB,EAAE,CAAS,GAAG,QAAXA,EAAEuknB,GAAG3+mB,IAAe,MAAMwD,MAAM/I,EAAE,MAAM,OAAOL,IAAI4F,EAAE,KAAKA,CAAC,CAAC,IAAI,IAAI3D,EAAE2D,EAAE7F,EAAEC,IAAI,CAAC,IAAIwB,EAAES,EAAEuc,OAAO,GAAG,OAAOhd,EAAE,MAAM,IAAIwC,EAAExC,EAAEgjnB,UAAU,GAAG,OAAOxgnB,EAAE,CAAY,GAAG,QAAdjE,EAAEyB,EAAEgd,QAAmB,CAACvc,EAAElC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAGyB,EAAE+V,QAAQvT,EAAEuT,MAAM,CAAC,IAAIvT,EAAExC,EAAE+V,MAAMvT,GAAG,CAAC,GAAGA,IAAI/B,EAAE,OAAO2inB,GAAGpjnB,GAAGoE,EAAE,GAAG5B,IAAIjE,EAAE,OAAO6knB,GAAGpjnB,GAAGxB,EAAEgE,EAAEA,EAAE8gnB,OAAO,CAAC,MAAM17mB,MAAM/I,EAAE,KAAM,CAAC,GAAG4B,EAAEuc,SAASze,EAAEye,OAAOvc,EAAET,EAAEzB,EAAEiE,MAAM,CAAC,IAAI,IAAIE,GAAE,EAAGklB,EAAE5nB,EAAE+V,MAAM6R,GAAG,CAAC,GAAGA,IAAInnB,EAAE,CAACiC,GAAE,EAAGjC,EAAET,EAAEzB,EAAEiE,EAAE,KAAK,CAAC,GAAGolB,IAAIrpB,EAAE,CAACmE,GAAE,EAAGnE,EAAEyB,EAAES,EAAE+B,EAAE,KAAK,CAAColB,EAAEA,EAAE07lB,OAAO,CAAC,IAAI5gnB,EAAE,CAAC,IAAIklB,EAAEplB,EAAEuT,MAAM6R,GAAG,CAAC,GAAGA,IAC5fnnB,EAAE,CAACiC,GAAE,EAAGjC,EAAE+B,EAAEjE,EAAEyB,EAAE,KAAK,CAAC,GAAG4nB,IAAIrpB,EAAE,CAACmE,GAAE,EAAGnE,EAAEiE,EAAE/B,EAAET,EAAE,KAAK,CAAC4nB,EAAEA,EAAE07lB,OAAO,CAAC,IAAI5gnB,EAAE,MAAMkF,MAAM/I,EAAE,KAAM,CAAC,CAAC,GAAG4B,EAAEuinB,YAAYzknB,EAAE,MAAMqJ,MAAM/I,EAAE,KAAM,CAAC,GAAG,IAAI4B,EAAE0Z,IAAI,MAAMvS,MAAM/I,EAAE,MAAM,OAAO4B,EAAEmhnB,UAAU/jlB,UAAUp9B,EAAE2D,EAAE5F,CAAC,CAAkB+knB,CAAGn/mB,IAAmBo/mB,GAAGp/mB,GAAG,IAAI,CAAC,SAASo/mB,GAAGp/mB,GAAG,GAAG,IAAIA,EAAE+V,KAAK,IAAI/V,EAAE+V,IAAI,OAAO/V,EAAE,IAAIA,EAAEA,EAAE2R,MAAM,OAAO3R,GAAG,CAAC,IAAI5F,EAAEglnB,GAAGp/mB,GAAG,GAAG,OAAO5F,EAAE,OAAOA,EAAE4F,EAAEA,EAAEk/mB,OAAO,CAAC,OAAO,IAAI,CAC1X,IAAIG,GAAGtoc,EAAGuoc,0BAA0BC,GAAGxoc,EAAGyoc,wBAAwBC,GAAG1oc,EAAG2oc,qBAAqBC,GAAG5oc,EAAG6oc,sBAAsBryF,GAAEx2W,EAAG8oc,aAAapqE,GAAG1+X,EAAG+oc,iCAAiCC,GAAGhpc,EAAGipc,2BAA2BC,GAAGlpc,EAAGmpc,8BAA8BC,GAAGppc,EAAGqpc,wBAAwBC,GAAGtpc,EAAGupc,qBAAqBC,GAAGxpc,EAAGypc,sBAAsBC,GAAG,KAAKC,GAAG,KACvV,IAAIC,GAAGx6mB,KAAKihiB,MAAMjhiB,KAAKihiB,MAAiC,SAAYpniB,GAAU,OAAPA,KAAK,EAAS,IAAIA,EAAE,GAAG,IAAI4gnB,GAAG5gnB,GAAG6gnB,GAAG,GAAG,CAAC,EAA/ED,GAAGz6mB,KAAK0rH,IAAIgvf,GAAG16mB,KAAK8kjB,IAA4D,IAAI61D,GAAG,GAAGvkc,GAAG,QAC7H,SAASwkc,GAAG/gnB,GAAG,OAAOA,GAAGA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAS,QAAFA,EAAU,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,OAAS,UAAFA,EAAY,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,WAAW,OAAO,WACzgB,QAAQ,OAAOA,EAAE,CAAC,SAAS6gD,GAAG7gD,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEghnB,aAAa,GAAG,IAAI3knB,EAAE,OAAO,EAAE,IAAIlC,EAAE,EAAEyB,EAAEoE,EAAEihnB,eAAe7inB,EAAE4B,EAAEkhnB,YAAY5inB,EAAI,UAAFjC,EAAY,GAAG,IAAIiC,EAAE,CAAC,IAAIklB,EAAEllB,GAAG1C,EAAE,IAAI4nB,EAAErpB,EAAE4mnB,GAAGv9lB,GAAS,KAALplB,GAAGE,KAAUnE,EAAE4mnB,GAAG3inB,GAAI,MAAa,KAAPE,EAAEjC,GAAGT,GAAQzB,EAAE4mnB,GAAGzinB,GAAG,IAAIF,IAAIjE,EAAE4mnB,GAAG3inB,IAAI,GAAG,IAAIjE,EAAE,OAAO,EAAE,GAAG,IAAIC,GAAGA,IAAID,GAAG,KAAKC,EAAEwB,MAAKA,EAAEzB,GAAGA,KAAEiE,EAAEhE,GAAGA,IAAQ,KAAKwB,GAAG,KAAO,QAAFwC,IAAY,OAAOhE,EAA0C,GAAxC,KAAO,EAAFD,KAAOA,GAAK,GAAFkC,GAA4B,KAAtBjC,EAAE4F,EAAEmhnB,gBAAwB,IAAInhnB,EAAEA,EAAEohnB,cAAchnnB,GAAGD,EAAE,EAAEC,GAAcwB,EAAE,IAAbS,EAAE,GAAGsknB,GAAGvmnB,IAAUD,GAAG6F,EAAE3D,GAAGjC,IAAIwB,EAAE,OAAOzB,CAAC,CACvc,SAASknnB,GAAGrhnB,EAAE5F,GAAG,OAAO4F,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO5F,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAOA,EAAE,IAAuJ,QAAQ,OAAO,EAAE,CACrN,SAASknnB,GAAGthnB,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEghnB,cAAsChhnB,EAAI,WAAFA,EAAa,WAAW,CAAC,CAAC,SAASuhnB,KAAK,IAAIvhnB,EAAE8gnB,GAAoC,OAA1B,KAAQ,SAAfA,KAAK,MAAqBA,GAAG,IAAW9gnB,CAAC,CAAC,SAASwhnB,GAAGxhnB,GAAG,IAAI,IAAI5F,EAAE,GAAGiC,EAAE,EAAE,GAAGA,EAAEA,IAAIjC,EAAE+E,KAAKa,GAAG,OAAO5F,CAAC,CAC3a,SAASqnnB,GAAGzhnB,EAAE5F,EAAEiC,GAAG2D,EAAEghnB,cAAc5mnB,EAAE,YAAYA,IAAI4F,EAAEihnB,eAAe,EAAEjhnB,EAAEkhnB,YAAY,IAAGlhnB,EAAEA,EAAE0hnB,YAAWtnnB,EAAE,GAAGumnB,GAAGvmnB,IAAQiC,CAAC,CACzH,SAASslnB,GAAG3hnB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEmhnB,gBAAgB/mnB,EAAE,IAAI4F,EAAEA,EAAEohnB,cAAc/knB,GAAG,CAAC,IAAIlC,EAAE,GAAGwmnB,GAAGtknB,GAAGT,EAAE,GAAGzB,EAAEyB,EAAExB,EAAE4F,EAAE7F,GAAGC,IAAI4F,EAAE7F,IAAIC,GAAGiC,IAAIT,CAAC,CAAC,CAAC,IAAI20D,GAAE,EAAE,SAASqxjB,GAAG5hnB,GAAS,OAAO,GAAbA,IAAIA,GAAa,EAAEA,EAAE,KAAO,UAAFA,GAAa,GAAG,UAAU,EAAE,CAAC,CAAC,IAAI6hnB,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAIv2iB,IAAIw2iB,GAAG,IAAIx2iB,IAAIy2iB,GAAG,GAAGC,GAAG,6PAA6P/0mB,MAAM,KAChiB,SAASg1mB,GAAG3inB,EAAE5F,GAAG,OAAO4F,GAAG,IAAK,UAAU,IAAK,WAAWoinB,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGl3iB,OAAOjxE,EAAEiyK,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBm2c,GAAGn3iB,OAAOjxE,EAAEiyK,WAAW,CACnT,SAASu2c,GAAG5inB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,GAAG,OAAG,OAAO4B,GAAGA,EAAE6inB,cAAczknB,GAAS4B,EAAE,CAAC8inB,UAAU1onB,EAAE2onB,aAAa1mnB,EAAE2mnB,iBAAiB7onB,EAAE0onB,YAAYzknB,EAAE6knB,iBAAiB,CAACrnnB,IAAI,OAAOxB,IAAY,QAARA,EAAEmjnB,GAAGnjnB,KAAa0nnB,GAAG1nnB,IAAI4F,IAAEA,EAAEgjnB,kBAAkB7onB,EAAEC,EAAE4F,EAAEijnB,iBAAiB,OAAOrnnB,IAAI,IAAIxB,EAAEyB,QAAQD,IAAIxB,EAAE+E,KAAKvD,GAAUoE,EAAC,CAEpR,SAASkjnB,GAAGljnB,GAAG,IAAI5F,EAAE+onB,GAAGnjnB,EAAE9D,QAAQ,GAAG,OAAO9B,EAAE,CAAC,IAAIiC,EAAEsinB,GAAGvknB,GAAG,GAAG,OAAOiC,EAAE,GAAW,MAARjC,EAAEiC,EAAE0Z,MAAY,GAAW,QAAR3b,EAAEyknB,GAAGxinB,IAA4D,OAA/C2D,EAAE8inB,UAAU1onB,OAAE6nnB,GAAGjinB,EAAEkmhB,UAAS,WAAW67F,GAAG1lnB,EAAE,SAAgB,GAAG,IAAIjC,GAAGiC,EAAEmhnB,UAAU/jlB,QAAQqllB,cAAcsE,aAAmE,YAArDpjnB,EAAE8inB,UAAU,IAAIzmnB,EAAE0Z,IAAI1Z,EAAEmhnB,UAAU6F,cAAc,KAAY,CAACrjnB,EAAE8inB,UAAU,IAAI,CAClT,SAASQ,GAAGtjnB,GAAG,GAAG,OAAOA,EAAE8inB,UAAU,OAAM,EAAG,IAAI,IAAI1onB,EAAE4F,EAAEijnB,iBAAiB,EAAE7onB,EAAEoB,QAAQ,CAAC,IAAIa,EAAEknnB,GAAGvjnB,EAAE+inB,aAAa/inB,EAAEgjnB,iBAAiB5onB,EAAE,GAAG4F,EAAE6inB,aAAa,GAAG,OAAOxmnB,EAAiG,OAAe,QAARjC,EAAEmjnB,GAAGlhnB,KAAaylnB,GAAG1nnB,GAAG4F,EAAE8inB,UAAUzmnB,GAAE,EAA3H,IAAIlC,EAAE,IAAtBkC,EAAE2D,EAAE6inB,aAAwB/nnB,YAAYuB,EAAEgW,KAAKhW,GAAG0gnB,GAAG5inB,EAAEkC,EAAEH,OAAO68iB,cAAc5+iB,GAAG4inB,GAAG,KAA0D3inB,EAAEsG,OAAO,CAAC,OAAM,CAAE,CAAC,SAAS8inB,GAAGxjnB,EAAE5F,EAAEiC,GAAGinnB,GAAGtjnB,IAAI3D,EAAEgvE,OAAOjxE,EAAE,CAAC,SAASqpnB,KAAKvB,IAAG,EAAG,OAAOE,IAAIkB,GAAGlB,MAAMA,GAAG,MAAM,OAAOC,IAAIiB,GAAGjB,MAAMA,GAAG,MAAM,OAAOC,IAAIgB,GAAGhB,MAAMA,GAAG,MAAMC,GAAGx3mB,QAAQy4mB,IAAIhB,GAAGz3mB,QAAQy4mB,GAAG,CACnf,SAASE,GAAG1jnB,EAAE5F,GAAG4F,EAAE8inB,YAAY1onB,IAAI4F,EAAE8inB,UAAU,KAAKZ,KAAKA,IAAG,EAAGnrc,EAAGuoc,0BAA0Bvoc,EAAGqpc,wBAAwBqD,KAAK,CAC5H,SAASE,GAAG3jnB,GAAG,SAAS5F,EAAEA,GAAG,OAAOspnB,GAAGtpnB,EAAE4F,EAAE,CAAC,GAAG,EAAEminB,GAAG3mnB,OAAO,CAACkonB,GAAGvB,GAAG,GAAGninB,GAAG,IAAI,IAAI3D,EAAE,EAAEA,EAAE8lnB,GAAG3mnB,OAAOa,IAAI,CAAC,IAAIlC,EAAEgonB,GAAG9lnB,GAAGlC,EAAE2onB,YAAY9inB,IAAI7F,EAAE2onB,UAAU,KAAK,CAAC,CAAyF,IAAxF,OAAOV,IAAIsB,GAAGtB,GAAGpinB,GAAG,OAAOqinB,IAAIqB,GAAGrB,GAAGrinB,GAAG,OAAOsinB,IAAIoB,GAAGpB,GAAGtinB,GAAGuinB,GAAGx3mB,QAAQ3Q,GAAGoonB,GAAGz3mB,QAAQ3Q,GAAOiC,EAAE,EAAEA,EAAEomnB,GAAGjnnB,OAAOa,KAAIlC,EAAEsonB,GAAGpmnB,IAAKymnB,YAAY9inB,IAAI7F,EAAE2onB,UAAU,MAAM,KAAK,EAAEL,GAAGjnnB,QAAiB,QAARa,EAAEomnB,GAAG,IAAYK,WAAYI,GAAG7mnB,GAAG,OAAOA,EAAEymnB,WAAWL,GAAG/hnB,OAAO,CAAC,IAAIkjnB,GAAGv5iB,EAAGw5iB,wBAAwBvjE,IAAG,EAC5a,SAASwjE,GAAG9jnB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAE20D,GAAEnyD,EAAEwlnB,GAAGztlB,WAAWytlB,GAAGztlB,WAAW,KAAK,IAAIo6B,GAAE,EAAEwzjB,GAAG/jnB,EAAE5F,EAAEiC,EAAElC,EAAE,CAAC,QAAQo2D,GAAE30D,EAAEgonB,GAAGztlB,WAAW/3B,CAAC,CAAC,CAAC,SAASq6K,GAAGz4K,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAE20D,GAAEnyD,EAAEwlnB,GAAGztlB,WAAWytlB,GAAGztlB,WAAW,KAAK,IAAIo6B,GAAE,EAAEwzjB,GAAG/jnB,EAAE5F,EAAEiC,EAAElC,EAAE,CAAC,QAAQo2D,GAAE30D,EAAEgonB,GAAGztlB,WAAW/3B,CAAC,CAAC,CACjO,SAAS2lnB,GAAG/jnB,EAAE5F,EAAEiC,EAAElC,GAAG,GAAGmmjB,GAAG,CAAC,IAAI1kjB,EAAE2nnB,GAAGvjnB,EAAE5F,EAAEiC,EAAElC,GAAG,GAAG,OAAOyB,EAAEoonB,GAAGhknB,EAAE5F,EAAED,EAAE+U,GAAG7S,GAAGsmnB,GAAG3inB,EAAE7F,QAAQ,GANtF,SAAY6F,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,OAAOxB,GAAG,IAAK,UAAU,OAAOgonB,GAAGQ,GAAGR,GAAGpinB,EAAE5F,EAAEiC,EAAElC,EAAEyB,IAAG,EAAG,IAAK,YAAY,OAAOymnB,GAAGO,GAAGP,GAAGrinB,EAAE5F,EAAEiC,EAAElC,EAAEyB,IAAG,EAAG,IAAK,YAAY,OAAO0mnB,GAAGM,GAAGN,GAAGtinB,EAAE5F,EAAEiC,EAAElC,EAAEyB,IAAG,EAAG,IAAK,cAAc,IAAIwC,EAAExC,EAAEywK,UAAkD,OAAxCk2c,GAAG5gnB,IAAIvD,EAAEwknB,GAAGL,GAAG9gnB,IAAIrD,IAAI,KAAK4B,EAAE5F,EAAEiC,EAAElC,EAAEyB,KAAU,EAAG,IAAK,oBAAoB,OAAOwC,EAAExC,EAAEywK,UAAUm2c,GAAG7gnB,IAAIvD,EAAEwknB,GAAGJ,GAAG/gnB,IAAIrD,IAAI,KAAK4B,EAAE5F,EAAEiC,EAAElC,EAAEyB,KAAI,EAAG,OAAM,CAAE,CAM1QqonB,CAAGronB,EAAEoE,EAAE5F,EAAEiC,EAAElC,GAAGA,EAAE4hK,uBAAuB,GAAG4md,GAAG3inB,EAAE7F,GAAK,EAAFC,IAAM,EAAEsonB,GAAG7mnB,QAAQmE,GAAG,CAAC,KAAK,OAAOpE,GAAG,CAAC,IAAIwC,EAAEm/mB,GAAG3hnB,GAA0D,GAAvD,OAAOwC,GAAGyjnB,GAAGzjnB,GAAiB,QAAdA,EAAEmlnB,GAAGvjnB,EAAE5F,EAAEiC,EAAElC,KAAa6pnB,GAAGhknB,EAAE5F,EAAED,EAAE+U,GAAG7S,GAAM+B,IAAIxC,EAAE,MAAMA,EAAEwC,CAAC,CAAC,OAAOxC,GAAGzB,EAAE4hK,iBAAiB,MAAMiod,GAAGhknB,EAAE5F,EAAED,EAAE,KAAKkC,EAAE,CAAC,CAAC,IAAI6S,GAAG,KACpU,SAASq0mB,GAAGvjnB,EAAE5F,EAAEiC,EAAElC,GAA2B,GAAxB+U,GAAG,KAAwB,QAAXlP,EAAEmjnB,GAAVnjnB,EAAEg9mB,GAAG7inB,KAAuB,GAAW,QAARC,EAAEuknB,GAAG3+mB,IAAYA,EAAE,UAAU,GAAW,MAAR3D,EAAEjC,EAAE2b,KAAW,CAAS,GAAG,QAAX/V,EAAE6+mB,GAAGzknB,IAAe,OAAO4F,EAAEA,EAAE,IAAI,MAAM,GAAG,IAAI3D,EAAE,CAAC,GAAGjC,EAAEojnB,UAAU/jlB,QAAQqllB,cAAcsE,aAAa,OAAO,IAAIhpnB,EAAE2b,IAAI3b,EAAEojnB,UAAU6F,cAAc,KAAKrjnB,EAAE,IAAI,MAAM5F,IAAI4F,IAAIA,EAAE,MAAW,OAALkP,GAAGlP,EAAS,IAAI,CAC7S,SAASkknB,GAAGlknB,GAAG,OAAOA,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,QAAQ,IAAK,cAAc,IAAK,OAAO,IAAK,MAAM,IAAK,WAAW,IAAK,WAAW,IAAK,UAAU,IAAK,YAAY,IAAK,OAAO,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,UAAU,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,YAAY,IAAK,UAAU,IAAK,QAAQ,IAAK,QAAQ,IAAK,OAAO,IAAK,gBAAgB,IAAK,cAAc,IAAK,YAAY,IAAK,aAAa,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,cAAc,IAAK,WAAW,IAAK,aAAa,IAAK,eAAe,IAAK,SAAS,IAAK,kBAAkB,IAAK,YAAY,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,oBAAoB,IAAK,aAAa,IAAK,YAAY,IAAK,cAAc,IAAK,OAAO,IAAK,mBAAmB,IAAK,QAAQ,IAAK,aAAa,IAAK,WAAW,IAAK,SAAS,IAAK,cAAc,OAAO,EAAE,IAAK,OAAO,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,IAAK,QAAQ,IAAK,aAAa,IAAK,aAAa,IAAK,eAAe,IAAK,eAAe,OAAO,EACpqC,IAAK,UAAU,OAAOy1iB,MAAM,KAAKsqE,GAAG,OAAO,EAAE,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,UAAU,QAAQ,OAAO,GAAG,QAAQ,OAAO,GAAG,CAAC,IAAI4D,GAAG,KAAKC,GAAG,KAAKxllB,GAAG,KAAK,SAASozJ,KAAK,GAAGpzJ,GAAG,OAAOA,GAAG,IAAI5+B,EAAkB7F,EAAhBC,EAAEgqnB,GAAG/nnB,EAAEjC,EAAEoB,OAASI,EAAE,UAAUuonB,GAAGA,GAAGxmnB,MAAMwmnB,GAAG3ymB,YAAYpT,EAAExC,EAAEJ,OAAO,IAAIwE,EAAE,EAAEA,EAAE3D,GAAGjC,EAAE4F,KAAKpE,EAAEoE,GAAGA,KAAK,IAAI1B,EAAEjC,EAAE2D,EAAE,IAAI7F,EAAE,EAAEA,GAAGmE,GAAGlE,EAAEiC,EAAElC,KAAKyB,EAAEwC,EAAEjE,GAAGA,KAAK,OAAOykC,GAAGhjC,EAAEoc,MAAMhY,EAAE,EAAE7F,EAAE,EAAEA,OAAE,EAAO,CACxY,SAASkqnB,GAAGrknB,GAAG,IAAI5F,EAAE4F,EAAEg9J,QAA+E,MAAvE,aAAah9J,EAAgB,KAAbA,EAAEA,EAAE4vH,WAAgB,KAAKx1H,IAAI4F,EAAE,IAAKA,EAAE5F,EAAE,KAAK4F,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,CAAC,CAAC,SAASsknB,KAAK,OAAM,CAAE,CAAC,SAASC,KAAK,OAAM,CAAE,CAC5K,SAASC,GAAGxknB,GAAG,SAAS5F,EAAEA,EAAED,EAAEyB,EAAEwC,EAAEE,GAA6G,IAAI,IAAIjC,KAAlHxB,KAAK4pnB,WAAWrqnB,EAAES,KAAK6pnB,YAAY9onB,EAAEf,KAAKwX,KAAKlY,EAAEU,KAAKgonB,YAAYzknB,EAAEvD,KAAKqB,OAAOoC,EAAEzD,KAAK61J,cAAc,KAAkB1wJ,EAAEA,EAAEtF,eAAe2B,KAAKjC,EAAE4F,EAAE3D,GAAGxB,KAAKwB,GAAGjC,EAAEA,EAAEgE,GAAGA,EAAE/B,IAAgI,OAA5HxB,KAAK42J,oBAAoB,MAAMrzJ,EAAEu/J,iBAAiBv/J,EAAEu/J,kBAAiB,IAAKv/J,EAAEumnB,aAAaL,GAAGC,GAAG1pnB,KAAK6/J,qBAAqB6pd,GAAU1pnB,IAAI,CAC9E,OAD+Egvf,EAAEzvf,EAAEW,UAAU,CAACylG,eAAe,WAAW3lG,KAAK8iK,kBAAiB,EAAG,IAAI39J,EAAEnF,KAAKgonB,YAAY7inB,IAAIA,EAAEwgG,eAAexgG,EAAEwgG,iBAAiB,mBAAmBxgG,EAAE2knB,cAC7e3knB,EAAE2knB,aAAY,GAAI9pnB,KAAK42J,mBAAmB6yd,GAAG,EAAEvod,gBAAgB,WAAW,IAAI/7J,EAAEnF,KAAKgonB,YAAY7inB,IAAIA,EAAE+7J,gBAAgB/7J,EAAE+7J,kBAAkB,mBAAmB/7J,EAAE+qlB,eAAe/qlB,EAAE+qlB,cAAa,GAAIlwlB,KAAK6/J,qBAAqB4pd,GAAG,EAAEM,QAAQ,WAAW,EAAEC,aAAaP,KAAYlqnB,CAAC,CACjR,IAAoL0qnB,GAAGC,GAAGC,GAAtLvyb,GAAG,CAACwyb,WAAW,EAAEC,QAAQ,EAAE7zc,WAAW,EAAEtT,UAAU,SAAS/9J,GAAG,OAAOA,EAAE+9J,WAAWplH,KAAKE,KAAK,EAAE8kH,iBAAiB,EAAEG,UAAU,GAAG77B,GAAGuif,GAAG/xb,IAAI0yb,GAAGt7H,EAAE,CAAC,EAAEp3T,GAAG,CAACp2D,KAAK,EAAE+of,OAAO,IAAIC,GAAGb,GAAGW,IAAaG,GAAGz7H,EAAE,CAAC,EAAEs7H,GAAG,CAACI,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEjlhB,MAAM,EAAEC,MAAM,EAAEnlE,QAAQ,EAAEm8H,SAAS,EAAEp8H,OAAO,EAAED,QAAQ,EAAEsqlB,iBAAiBC,GAAG75lB,OAAO,EAAEigR,QAAQ,EAAEv7I,cAAc,SAASzwJ,GAAG,YAAO,IAASA,EAAEywJ,cAAczwJ,EAAE6lnB,cAAc7lnB,EAAEi9mB,WAAWj9mB,EAAE8lnB,UAAU9lnB,EAAE6lnB,YAAY7lnB,EAAEywJ,aAAa,EAAEs1d,UAAU,SAAS/lnB,GAAG,MAAG,cAC3eA,EAASA,EAAE+lnB,WAAU/lnB,IAAIglnB,KAAKA,IAAI,cAAchlnB,EAAEqS,MAAMyymB,GAAG9knB,EAAEulnB,QAAQP,GAAGO,QAAQR,GAAG/knB,EAAEwlnB,QAAQR,GAAGQ,SAAST,GAAGD,GAAG,EAAEE,GAAGhlnB,GAAU8knB,GAAE,EAAEkB,UAAU,SAAShmnB,GAAG,MAAM,cAAcA,EAAEA,EAAEgmnB,UAAUjB,EAAE,IAAIkB,GAAGzB,GAAGc,IAAiCY,GAAG1B,GAA7B36H,EAAE,CAAC,EAAEy7H,GAAG,CAACa,aAAa,KAA4CC,GAAG5B,GAA9B36H,EAAE,CAAC,EAAEs7H,GAAG,CAAC10d,cAAc,KAA0E41d,GAAG7B,GAA5D36H,EAAE,CAAC,EAAEp3T,GAAG,CAAC6zb,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAchmG,GAAG32B,EAAE,CAAC,EAAEp3T,GAAG,CAACxyD,cAAc,SAASjgI,GAAG,MAAM,kBAAkBA,EAAEA,EAAEigI,cAAc/mI,OAAO+mI,aAAa,IAAIwmf,GAAGjC,GAAGhkG,IAAyBkmG,GAAGlC,GAArB36H,EAAE,CAAC,EAAEp3T,GAAG,CAAC7vL,KAAK,KAAc+jnB,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAK/kT,KAAK,cAAcglT,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAG7nnB,GAAG,IAAI5F,EAAES,KAAKgonB,YAAY,OAAOzonB,EAAEurnB,iBAAiBvrnB,EAAEurnB,iBAAiB3lnB,MAAIA,EAAEwnnB,GAAGxnnB,OAAM5F,EAAE4F,EAAK,CAAC,SAAS4lnB,KAAK,OAAOiC,EAAE,CAChS,IAAIC,GAAGj+H,EAAE,CAAC,EAAEs7H,GAAG,CAAChpnB,IAAI,SAAS6D,GAAG,GAAGA,EAAE7D,IAAI,CAAC,IAAI/B,EAAEusnB,GAAG3mnB,EAAE7D,MAAM6D,EAAE7D,IAAI,GAAG,iBAAiB/B,EAAE,OAAOA,CAAC,CAAC,MAAM,aAAa4F,EAAEqS,KAAc,MAARrS,EAAEqknB,GAAGrknB,IAAU,QAAQgK,OAAOC,aAAajK,GAAI,YAAYA,EAAEqS,MAAM,UAAUrS,EAAEqS,KAAKk1mB,GAAGvnnB,EAAEg9J,UAAU,eAAe,EAAE,EAAE5vH,KAAK,EAAEhU,SAAS,EAAEmC,QAAQ,EAAEm8H,SAAS,EAAEp8H,OAAO,EAAED,QAAQ,EAAEgrd,OAAO,EAAE3yX,OAAO,EAAEiyf,iBAAiBC,GAAGh2f,SAAS,SAAS5vH,GAAG,MAAM,aAAaA,EAAEqS,KAAKgymB,GAAGrknB,GAAG,CAAC,EAAEg9J,QAAQ,SAASh9J,GAAG,MAAM,YAAYA,EAAEqS,MAAM,UAAUrS,EAAEqS,KAAKrS,EAAEg9J,QAAQ,CAAC,EAAE9L,MAAM,SAASlxJ,GAAG,MAAM,aAC7eA,EAAEqS,KAAKgymB,GAAGrknB,GAAG,YAAYA,EAAEqS,MAAM,UAAUrS,EAAEqS,KAAKrS,EAAEg9J,QAAQ,CAAC,IAAI+qd,GAAGvD,GAAGsD,IAAiIE,GAAGxD,GAA7H36H,EAAE,CAAC,EAAEy7H,GAAG,CAACj5c,UAAU,EAAEp2I,MAAM,EAAE5I,OAAO,EAAE46lB,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE9nd,YAAY,EAAE+nd,UAAU,KAAmIC,GAAG/D,GAArH36H,EAAE,CAAC,EAAEs7H,GAAG,CAACnnd,QAAQ,EAAEwqd,cAAc,EAAEvqd,eAAe,EAAE3iI,OAAO,EAAED,QAAQ,EAAEE,QAAQ,EAAEm8H,SAAS,EAAEiud,iBAAiBC,MAA0E6C,GAAGjE,GAA3D36H,EAAE,CAAC,EAAEp3T,GAAG,CAAC95H,aAAa,EAAE4tjB,YAAY,EAAEC,cAAc,KAAckC,GAAG7+H,EAAE,CAAC,EAAEy7H,GAAG,CAAClld,OAAO,SAASpgK,GAAG,MAAM,WAAWA,EAAEA,EAAEogK,OAAO,gBAAgBpgK,GAAGA,EAAE2onB,YAAY,CAAC,EACnfxod,OAAO,SAASngK,GAAG,MAAM,WAAWA,EAAEA,EAAEmgK,OAAO,gBAAgBngK,GAAGA,EAAE4onB,YAAY,eAAe5onB,GAAGA,EAAE6onB,WAAW,CAAC,EAAExod,OAAO,EAAEH,UAAU,IAAI4od,GAAGtE,GAAGkE,IAAIlqE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIuqE,GAAG7vc,GAAI,qBAAqBhgL,OAAOs9K,GAAG,KAAK0C,GAAI,iBAAiB5oK,WAAWkmK,GAAGlmK,SAAS04mB,cAAc,IAAIhyc,GAAGkC,GAAI,cAAchgL,SAASs9K,GAAGc,GAAG4B,KAAM6vc,IAAIvyc,IAAI,EAAEA,IAAI,IAAIA,IAAImB,GAAG3tK,OAAOC,aAAa,IAAIg/mB,IAAG,EAC1W,SAASC,GAAGlpnB,EAAE5F,GAAG,OAAO4F,GAAG,IAAK,QAAQ,OAAO,IAAIw+iB,GAAG3ijB,QAAQzB,EAAE4iK,SAAS,IAAK,UAAU,OAAO,MAAM5iK,EAAE4iK,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAAS2zB,GAAG3wL,GAAc,MAAM,kBAAjBA,EAAEA,EAAEolnB,SAAkC,SAASplnB,EAAEA,EAAE4C,KAAK,IAAI,CAAC,IAAI68C,IAAG,EAE9Q,IAAI0pkB,GAAG,CAACvgmB,OAAM,EAAGkS,MAAK,EAAGI,UAAS,EAAG,kBAAiB,EAAGP,OAAM,EAAGI,OAAM,EAAGF,QAAO,EAAGD,UAAS,EAAG44W,OAAM,EAAG97X,QAAO,EAAGgjB,KAAI,EAAGxoB,MAAK,EAAG+oB,MAAK,EAAGR,KAAI,EAAGO,MAAK,GAAI,SAASoulB,GAAGppnB,GAAG,IAAI5F,EAAE4F,GAAGA,EAAEqvE,UAAUrvE,EAAEqvE,SAASl6D,cAAc,MAAM,UAAU/a,IAAI+unB,GAAGnpnB,EAAEqS,MAAM,aAAajY,CAAO,CAAC,SAAS63L,GAAGjyL,EAAE5F,EAAEiC,EAAElC,GAAGujnB,GAAGvjnB,GAAsB,GAAnBC,EAAEivnB,GAAGjvnB,EAAE,aAAgBoB,SAASa,EAAE,IAAI4lI,GAAG,WAAW,SAAS,KAAK5lI,EAAElC,GAAG6F,EAAEb,KAAK,CAACi8B,MAAM/+B,EAAEqzjB,UAAUt1jB,IAAI,CAAC,IAAIkvnB,GAAG,KAAKC,GAAG,KAAK,SAAStplB,GAAGjgC,GAAGw8K,GAAGx8K,EAAE,EAAE,CAAC,SAAS8yL,GAAG9yL,GAAe,GAAG+6mB,EAATyO,GAAGxpnB,IAAY,OAAOA,CAAC,CACpe,SAASypnB,GAAGzpnB,EAAE5F,GAAG,GAAG,WAAW4F,EAAE,OAAO5F,CAAC,CAAC,IAAIsvnB,IAAG,EAAG,GAAGxwc,EAAG,CAAC,IAAIywc,GAAG,GAAGzwc,EAAG,CAAC,IAAI0wc,GAAG,YAAYt5mB,SAAS,IAAIs5mB,GAAG,CAAC,IAAIC,GAAGv5mB,SAASC,cAAc,OAAOs5mB,GAAG12mB,aAAa,UAAU,WAAWy2mB,GAAG,oBAAoBC,GAAGC,OAAO,CAACH,GAAGC,EAAE,MAAMD,IAAG,EAAGD,GAAGC,MAAMr5mB,SAAS04mB,cAAc,EAAE14mB,SAAS04mB,aAAa,CAAC,SAASe,KAAKT,KAAKA,GAAGU,YAAY,mBAAmBC,IAAIV,GAAGD,GAAG,KAAK,CAAC,SAASW,GAAGjqnB,GAAG,GAAG,UAAUA,EAAE24D,cAAcm6H,GAAGy2b,IAAI,CAAC,IAAInvnB,EAAE,GAAG63L,GAAG73L,EAAEmvnB,GAAGvpnB,EAAEg9mB,GAAGh9mB,IAAI+9mB,GAAG99kB,GAAG7lC,EAAE,CAAC,CAC/b,SAAS8vnB,GAAGlqnB,EAAE5F,EAAEiC,GAAG,YAAY2D,GAAG+pnB,KAAUR,GAAGltnB,GAARitnB,GAAGlvnB,GAAUmxlB,YAAY,mBAAmB0+B,KAAK,aAAajqnB,GAAG+pnB,IAAI,CAAC,SAASI,GAAGnqnB,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAO8yL,GAAGy2b,GAAG,CAAC,SAASa,GAAGpqnB,EAAE5F,GAAG,GAAG,UAAU4F,EAAE,OAAO8yL,GAAG14L,EAAE,CAAC,SAASiwnB,GAAGrqnB,EAAE5F,GAAG,GAAG,UAAU4F,GAAG,WAAWA,EAAE,OAAO8yL,GAAG14L,EAAE,CAAiE,IAAIkwnB,GAAG,oBAAoBjwnB,OAAOgqD,GAAGhqD,OAAOgqD,GAA5G,SAAYrkD,EAAE5F,GAAG,OAAO4F,IAAI5F,IAAI,IAAI4F,GAAG,EAAEA,IAAI,EAAE5F,IAAI4F,IAAIA,GAAG5F,IAAIA,CAAC,EACtW,SAASmwnB,GAAGvqnB,EAAE5F,GAAG,GAAGkwnB,GAAGtqnB,EAAE5F,GAAG,OAAM,EAAG,GAAG,kBAAkB4F,GAAG,OAAOA,GAAG,kBAAkB5F,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIiC,EAAEhC,OAAOgR,KAAKrL,GAAG7F,EAAEE,OAAOgR,KAAKjR,GAAG,GAAGiC,EAAEb,SAASrB,EAAEqB,OAAO,OAAM,EAAG,IAAIrB,EAAE,EAAEA,EAAEkC,EAAEb,OAAOrB,IAAI,CAAC,IAAIyB,EAAES,EAAElC,GAAG,IAAI02L,EAAGp1L,KAAKrB,EAAEwB,KAAK0unB,GAAGtqnB,EAAEpE,GAAGxB,EAAEwB,IAAI,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,SAAS4unB,GAAGxqnB,GAAG,KAAKA,GAAGA,EAAE6R,YAAY7R,EAAEA,EAAE6R,WAAW,OAAO7R,CAAC,CACtU,SAASyqnB,GAAGzqnB,EAAE5F,GAAG,IAAwBD,EAApBkC,EAAEmunB,GAAGxqnB,GAAO,IAAJA,EAAE,EAAY3D,GAAG,CAAC,GAAG,IAAIA,EAAEkV,SAAS,CAA0B,GAAzBpX,EAAE6F,EAAE3D,EAAEmV,YAAYhW,OAAUwE,GAAG5F,GAAGD,GAAGC,EAAE,MAAM,CAACqe,KAAKpc,EAAEwe,OAAOzgB,EAAE4F,GAAGA,EAAE7F,CAAC,CAAC6F,EAAE,CAAC,KAAK3D,GAAG,CAAC,GAAGA,EAAE8U,YAAY,CAAC9U,EAAEA,EAAE8U,YAAY,MAAMnR,CAAC,CAAC3D,EAAEA,EAAEsU,UAAU,CAACtU,OAAE,CAAM,CAACA,EAAEmunB,GAAGnunB,EAAE,CAAC,CAAC,SAASqunB,GAAG1qnB,EAAE5F,GAAG,SAAO4F,IAAG5F,KAAE4F,IAAI5F,KAAK4F,GAAG,IAAIA,EAAEuR,YAAYnX,GAAG,IAAIA,EAAEmX,SAASm5mB,GAAG1qnB,EAAE5F,EAAEuW,YAAY,aAAa3Q,EAAEA,EAAEilH,SAAS7qH,KAAG4F,EAAEq7J,4BAAwD,GAA7Br7J,EAAEq7J,wBAAwBjhK,KAAY,CAC9Z,SAASuwnB,KAAK,IAAI,IAAI3qnB,EAAE9G,OAAOkB,EAAE4gnB,IAAK5gnB,aAAa4F,EAAE4qnB,mBAAmB,CAAC,IAAI,IAAIvunB,EAAE,kBAAkBjC,EAAE69iB,cAAc7+gB,SAASigB,IAAI,CAAC,MAAMl/C,GAAGkC,GAAE,CAAE,CAAC,IAAGA,EAAyB,MAAMjC,EAAE4gnB,GAA/Bh7mB,EAAE5F,EAAE69iB,eAAgC3niB,SAAS,CAAC,OAAOlW,CAAC,CAAC,SAASywnB,GAAG7qnB,GAAG,IAAI5F,EAAE4F,GAAGA,EAAEqvE,UAAUrvE,EAAEqvE,SAASl6D,cAAc,OAAO/a,IAAI,UAAUA,IAAI,SAAS4F,EAAEqS,MAAM,WAAWrS,EAAEqS,MAAM,QAAQrS,EAAEqS,MAAM,QAAQrS,EAAEqS,MAAM,aAAarS,EAAEqS,OAAO,aAAajY,GAAG,SAAS4F,EAAE8qnB,gBAAgB,CACxa,SAASC,GAAG/qnB,GAAG,IAAI5F,EAAEuwnB,KAAKtunB,EAAE2D,EAAEgrnB,YAAY7wnB,EAAE6F,EAAE0uF,eAAe,GAAGt0F,IAAIiC,GAAGA,GAAGA,EAAE29B,eAAe0wlB,GAAGrunB,EAAE29B,cAAc0nE,gBAAgBrlG,GAAG,CAAC,GAAG,OAAOlC,GAAG0wnB,GAAGxunB,GAAG,GAAGjC,EAAED,EAAEqoC,WAAc,KAARxiC,EAAE7F,EAAE4d,OAAiB/X,EAAE5F,GAAG,mBAAmBiC,EAAEA,EAAEkyF,eAAen0F,EAAEiC,EAAEmyF,aAAaroF,KAAK05B,IAAI7/B,EAAE3D,EAAEsB,MAAMnC,aAAa,IAAGwE,GAAG5F,EAAEiC,EAAE29B,eAAe1pB,WAAWlW,EAAE2zC,aAAa70C,QAASu2G,aAAa,CAACzvG,EAAEA,EAAEyvG,eAAe,IAAI7zG,EAAES,EAAEmV,YAAYhW,OAAO4C,EAAE+H,KAAK05B,IAAI1lC,EAAEqoC,MAAM5mC,GAAGzB,OAAE,IAASA,EAAE4d,IAAI3Z,EAAE+H,KAAK05B,IAAI1lC,EAAE4d,IAAInc,IAAIoE,EAAEyyC,QAAQr0C,EAAEjE,IAAIyB,EAAEzB,EAAEA,EAAEiE,EAAEA,EAAExC,GAAGA,EAAE6unB,GAAGpunB,EAAE+B,GAAG,IAAIE,EAAEmsnB,GAAGpunB,EACvflC,GAAGyB,GAAG0C,IAAI,IAAI0B,EAAEirnB,YAAYjrnB,EAAEkrnB,aAAatvnB,EAAE6c,MAAMzY,EAAEmrnB,eAAevvnB,EAAEif,QAAQ7a,EAAEornB,YAAY9snB,EAAEma,MAAMzY,EAAEqrnB,cAAc/snB,EAAEuc,WAAUzgB,EAAEA,EAAEkxnB,eAAgBC,SAAS3vnB,EAAE6c,KAAK7c,EAAEif,QAAQ7a,EAAEs/H,kBAAkBlhI,EAAEjE,GAAG6F,EAAEwrnB,SAASpxnB,GAAG4F,EAAEyyC,OAAOn0C,EAAEma,KAAKna,EAAEuc,UAAUzgB,EAAEqxnB,OAAOntnB,EAAEma,KAAKna,EAAEuc,QAAQ7a,EAAEwrnB,SAASpxnB,IAAI,CAAM,IAALA,EAAE,GAAO4F,EAAE3D,EAAE2D,EAAEA,EAAE2Q,YAAY,IAAI3Q,EAAEuR,UAAUnX,EAAE+E,KAAK,CAACkb,QAAQra,EAAE0qC,KAAK1qC,EAAEw9F,WAAWjzD,IAAIvqC,EAAEu9F,YAAmD,IAAvC,oBAAoBlhG,EAAE6pB,OAAO7pB,EAAE6pB,QAAY7pB,EAAE,EAAEA,EAAEjC,EAAEoB,OAAOa,KAAI2D,EAAE5F,EAAEiC,IAAKge,QAAQmjF,WAAWx9F,EAAE0qC,KAAK1qC,EAAEqa,QAAQkjF,UAAUv9F,EAAEuqC,GAAG,CAAC,CACzf,IAAImhlB,GAAGxyc,GAAI,iBAAiB5oK,UAAU,IAAIA,SAAS04mB,aAAa2C,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAG/rnB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEkC,EAAEnD,SAASmD,EAAEA,EAAEiU,SAAS,IAAIjU,EAAEkV,SAASlV,EAAEA,EAAE29B,cAAc8xlB,IAAI,MAAMH,IAAIA,KAAK3Q,EAAG7gnB,KAAU,mBAALA,EAAEwxnB,KAAyBd,GAAG1wnB,GAAGA,EAAE,CAACqoC,MAAMroC,EAAEo0F,eAAex2E,IAAI5d,EAAEq0F,cAAuFr0F,EAAE,CAAC+wnB,YAA3E/wnB,GAAGA,EAAE6/B,eAAe7/B,EAAE6/B,cAAc+T,aAAa70C,QAAQu2G,gBAA+By7gB,WAAWC,aAAahxnB,EAAEgxnB,aAAaC,UAAUjxnB,EAAEixnB,UAAUC,YAAYlxnB,EAAEkxnB,aAAcQ,IAAItB,GAAGsB,GAAG1xnB,KAAK0xnB,GAAG1xnB,EAAsB,GAApBA,EAAEkvnB,GAAGuC,GAAG,aAAgBpwnB,SAASpB,EAAE,IAAI6nI,GAAG,WAAW,SAAS,KAAK7nI,EAAEiC,GAAG2D,EAAEb,KAAK,CAACi8B,MAAMhhC,EAAEs1jB,UAAUv1jB,IAAIC,EAAE8B,OAAOyvnB,KAAK,CACtf,SAASK,GAAGhsnB,EAAE5F,GAAG,IAAIiC,EAAE,CAAC,EAAiF,OAA/EA,EAAE2D,EAAEmV,eAAe/a,EAAE+a,cAAc9Y,EAAE,SAAS2D,GAAG,SAAS5F,EAAEiC,EAAE,MAAM2D,GAAG,MAAM5F,EAASiC,CAAC,CAAC,IAAI4vnB,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,CAAC,EAAEC,GAAG,CAAC,EACpF,SAASC,GAAGxsnB,GAAG,GAAGssnB,GAAGtsnB,GAAG,OAAOssnB,GAAGtsnB,GAAG,IAAIisnB,GAAGjsnB,GAAG,OAAOA,EAAE,IAAY3D,EAARjC,EAAE6xnB,GAAGjsnB,GAAK,IAAI3D,KAAKjC,EAAE,GAAGA,EAAEM,eAAe2B,IAAIA,KAAKkwnB,GAAG,OAAOD,GAAGtsnB,GAAG5F,EAAEiC,GAAG,OAAO2D,CAAC,CAA/Xk5K,IAAKqzc,GAAGj8mB,SAASC,cAAc,OAAOuE,MAAM,mBAAmB5b,gBAAgB+ynB,GAAGC,aAAarriB,iBAAiBoriB,GAAGE,mBAAmBtriB,iBAAiBoriB,GAAGG,eAAevriB,WAAW,oBAAoB3nF,eAAe+ynB,GAAGI,cAAcl2lB,YAAwJ,IAAIs2lB,GAAGD,GAAG,gBAAgB78b,GAAG68b,GAAG,sBAAsBE,GAAGF,GAAG,kBAAkBG,GAAGH,GAAG,iBAAiBI,GAAG,IAAI5gjB,IAAI6gjB,GAAG,smBAAsmBl/mB,MAAM,KAC/lC,SAASuqK,GAAGl4K,EAAE5F,GAAGwynB,GAAGjrnB,IAAI3B,EAAE5F,GAAG69K,EAAG79K,EAAE,CAAC4F,GAAG,CAAC,IAAI,IAAI8snB,GAAG,EAAEA,GAAGD,GAAGrxnB,OAAOsxnB,KAAK,CAAC,IAAIC,GAAGF,GAAGC,IAA2D50c,GAApD60c,GAAG53mB,cAAuD,MAAtC43mB,GAAG,GAAGtglB,cAAcsglB,GAAG/0mB,MAAM,IAAiB,CAACkgK,GAAGu0c,GAAG,kBAAkBv0c,GAAGyX,GAAG,wBAAwBzX,GAAGw0c,GAAG,oBAAoBx0c,GAAG,WAAW,iBAAiBA,GAAG,UAAU,WAAWA,GAAG,WAAW,UAAUA,GAAGy0c,GAAG,mBAAmB9zc,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAC7cA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBZ,EAAG,WAAW,oEAAoEtqK,MAAM,MAAMsqK,EAAG,WAAW,uFAAuFtqK,MAAM,MAAMsqK,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2DtqK,MAAM,MAAMsqK,EAAG,qBAAqB,6DAA6DtqK,MAAM,MAC/fsqK,EAAG,sBAAsB,8DAA8DtqK,MAAM,MAAM,IAAIq/mB,GAAG,6NAA6Nr/mB,MAAM,KAAKs/mB,GAAG,IAAIx4mB,IAAI,0CAA0C9G,MAAM,KAAK/T,OAAOoznB,KACzZ,SAASE,GAAGltnB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAEqS,MAAM,gBAAgBrS,EAAE0wJ,cAAcr0J,EAlDjE,SAAY2D,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,EAAEklB,EAAEjkB,GAA4B,GAAzBm/mB,GAAGhjnB,MAAMb,KAAKU,WAAc8inB,GAAG,CAAC,IAAGA,GAAgC,MAAM76mB,MAAM/I,EAAE,MAA1C,IAAIomC,EAAEy9kB,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAG39kB,EAAE,CAAC,CAkDpEsslB,CAAGhznB,EAAEC,OAAE,EAAO4F,GAAGA,EAAE0wJ,cAAc,IAAI,CACxG,SAAS8rB,GAAGx8K,EAAE5F,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIiC,EAAE,EAAEA,EAAE2D,EAAExE,OAAOa,IAAI,CAAC,IAAIlC,EAAE6F,EAAE3D,GAAGT,EAAEzB,EAAEihC,MAAMjhC,EAAEA,EAAEu1jB,UAAU1vjB,EAAE,CAAC,IAAI5B,OAAE,EAAO,GAAGhE,EAAE,IAAI,IAAIkE,EAAEnE,EAAEqB,OAAO,EAAE,GAAG8C,EAAEA,IAAI,CAAC,IAAIklB,EAAErpB,EAAEmE,GAAGiB,EAAEikB,EAAEhR,SAASquB,EAAErd,EAAEktI,cAA2B,GAAbltI,EAAEA,EAAE5P,SAAYrU,IAAInB,GAAGxC,EAAE8+J,uBAAuB,MAAM16J,EAAEktnB,GAAGtxnB,EAAE4nB,EAAEqd,GAAGziC,EAAEmB,CAAC,MAAM,IAAIjB,EAAE,EAAEA,EAAEnE,EAAEqB,OAAO8C,IAAI,CAAoD,GAA5CiB,GAAPikB,EAAErpB,EAAEmE,IAAOkU,SAASquB,EAAErd,EAAEktI,cAAcltI,EAAEA,EAAE5P,SAAYrU,IAAInB,GAAGxC,EAAE8+J,uBAAuB,MAAM16J,EAAEktnB,GAAGtxnB,EAAE4nB,EAAEqd,GAAGziC,EAAEmB,CAAC,CAAC,CAAC,CAAC,GAAGg/mB,GAAG,MAAMv+mB,EAAEw+mB,GAAGD,IAAG,EAAGC,GAAG,KAAKx+mB,CAAE,CAC5a,SAASsthB,GAAEtthB,EAAE5F,GAAG,IAAIiC,EAAEjC,EAAE+vF,SAAI,IAAS9tF,IAAIA,EAAEjC,EAAE+vF,IAAI,IAAI11E,KAAK,IAAIta,EAAE6F,EAAE,WAAW3D,EAAEmF,IAAIrH,KAAKiznB,GAAGhznB,EAAE4F,EAAE,GAAE,GAAI3D,EAAEsS,IAAIxU,GAAG,CAAC,SAASkznB,GAAGrtnB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE,EAAEC,IAAID,GAAG,GAAGiznB,GAAG/wnB,EAAE2D,EAAE7F,EAAEC,EAAE,CAAC,IAAIkznB,GAAG,kBAAkBnnnB,KAAK8xD,SAAS5tD,SAAS,IAAI2N,MAAM,GAAG,SAASu1mB,GAAGvtnB,GAAG,IAAIA,EAAEstnB,IAAI,CAACttnB,EAAEstnB,KAAI,EAAGj2c,EAAGtsK,SAAQ,SAAS3Q,GAAG,oBAAoBA,IAAI6ynB,GAAGzrnB,IAAIpH,IAAIiznB,GAAGjznB,GAAE,EAAG4F,GAAGqtnB,GAAGjznB,GAAE,EAAG4F,GAAG,IAAG,IAAI5F,EAAE,IAAI4F,EAAEuR,SAASvR,EAAEA,EAAEg6B,cAAc,OAAO5/B,GAAGA,EAAEkznB,MAAMlznB,EAAEkznB,KAAI,EAAGD,GAAG,mBAAkB,EAAGjznB,GAAG,CAAC,CACjb,SAASgznB,GAAGptnB,EAAE5F,EAAEiC,EAAElC,GAAG,OAAO+pnB,GAAG9pnB,IAAI,KAAK,EAAE,IAAIwB,EAAEkonB,GAAG,MAAM,KAAK,EAAElonB,EAAE68K,GAAG,MAAM,QAAQ78K,EAAEmonB,GAAG1nnB,EAAET,EAAEyiC,KAAK,KAAKjkC,EAAEiC,EAAE2D,GAAGpE,OAAE,GAAQqinB,IAAI,eAAe7jnB,GAAG,cAAcA,GAAG,UAAUA,IAAIwB,GAAE,GAAIzB,OAAE,IAASyB,EAAEoE,EAAEk8B,iBAAiB9hC,EAAEiC,EAAE,CAACwrmB,SAAQ,EAAGvrc,QAAQ1gK,IAAIoE,EAAEk8B,iBAAiB9hC,EAAEiC,GAAE,QAAI,IAAST,EAAEoE,EAAEk8B,iBAAiB9hC,EAAEiC,EAAE,CAACigK,QAAQ1gK,IAAIoE,EAAEk8B,iBAAiB9hC,EAAEiC,GAAE,EAAG,CAClV,SAAS2nnB,GAAGhknB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,IAAIwC,EAAEjE,EAAE,GAAG,KAAO,EAAFC,IAAM,KAAO,EAAFA,IAAM,OAAOD,EAAE6F,EAAE,OAAO,CAAC,GAAG,OAAO7F,EAAE,OAAO,IAAImE,EAAEnE,EAAE4b,IAAI,GAAG,IAAIzX,GAAG,IAAIA,EAAE,CAAC,IAAIklB,EAAErpB,EAAEqjnB,UAAU6F,cAAc,GAAG7/lB,IAAI5nB,GAAG,IAAI4nB,EAAEjS,UAAUiS,EAAE7S,aAAa/U,EAAE,MAAM,GAAG,IAAI0C,EAAE,IAAIA,EAAEnE,EAAEye,OAAO,OAAOta,GAAG,CAAC,IAAIiB,EAAEjB,EAAEyX,IAAI,IAAG,IAAIxW,GAAG,IAAIA,MAAKA,EAAEjB,EAAEk/mB,UAAU6F,iBAAkBznnB,GAAG,IAAI2D,EAAEgS,UAAUhS,EAAEoR,aAAa/U,GAAE,OAAO0C,EAAEA,EAAEsa,MAAM,CAAC,KAAK,OAAO4K,GAAG,CAAS,GAAG,QAAXllB,EAAE6knB,GAAG3/lB,IAAe,OAAe,GAAG,KAAXjkB,EAAEjB,EAAEyX,MAAc,IAAIxW,EAAE,CAACpF,EAAEiE,EAAEE,EAAE,SAAS0B,CAAC,CAACwjB,EAAEA,EAAE7S,UAAU,CAAC,CAACxW,EAAEA,EAAEye,MAAM,CAACmlmB,IAAG,WAAW,IAAI5jnB,EAAEiE,EAAExC,EAAEohnB,GAAG3gnB,GAAGiC,EAAE,GACpf0B,EAAE,CAAC,IAAIwjB,EAAEopmB,GAAGnrnB,IAAIzB,GAAG,QAAG,IAASwjB,EAAE,CAAC,IAAIjkB,EAAE0iI,GAAG3mI,EAAE0E,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAIqknB,GAAGhonB,GAAG,MAAM2D,EAAE,IAAK,UAAU,IAAK,QAAQT,EAAEwonB,GAAG,MAAM,IAAK,UAAUzsnB,EAAE,QAAQiE,EAAE6mnB,GAAG,MAAM,IAAK,WAAW9qnB,EAAE,OAAOiE,EAAE6mnB,GAAG,MAAM,IAAK,aAAa,IAAK,YAAY7mnB,EAAE6mnB,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI/pnB,EAAE0vB,OAAO,MAAM/rB,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcT,EAAE0mnB,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAO1mnB,EAC1iB2mnB,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa3mnB,EAAEgpnB,GAAG,MAAM,KAAKkE,GAAG,KAAK98b,GAAG,KAAK+8b,GAAGntnB,EAAE8mnB,GAAG,MAAM,KAAKsG,GAAGptnB,EAAEkpnB,GAAG,MAAM,IAAK,SAASlpnB,EAAE8lnB,GAAG,MAAM,IAAK,QAAQ9lnB,EAAEupnB,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQvpnB,EAAEknnB,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAYlnnB,EAAEyonB,GAAG,IAAI7snB,EAAE,KAAO,EAAFf,GAAKm7hB,GAAGp6hB,GAAG,WAAW6E,EAAEyb,EAAEtgB,EAAE,OAAOqoB,EAAEA,EAAE,UAAU,KAAKA,EAAEroB,EAAE,GAAG,IAAI,IAAQ4L,EAAJq3F,EAAEjkG,EAAI,OAC/eikG,GAAG,CAAK,IAAI7lC,GAARxxD,EAAEq3F,GAAUo/gB,UAAsF,GAA5E,IAAIz2mB,EAAEgP,KAAK,OAAOwiD,IAAIxxD,EAAEwxD,EAAE,OAAO98C,IAAc,OAAV88C,EAAEyljB,GAAG5/gB,EAAE3iF,KAAYtgB,EAAEgE,KAAKqunB,GAAGpvhB,EAAE7lC,EAAExxD,MAASwuhB,EAAE,MAAMn3b,EAAEA,EAAExlF,MAAM,CAAC,EAAEzd,EAAEK,SAASgoB,EAAE,IAAIjkB,EAAEikB,EAAEloB,EAAE,KAAKe,EAAET,GAAG0C,EAAEa,KAAK,CAACi8B,MAAM5X,EAAEksiB,UAAUv0jB,IAAI,CAAC,CAAC,GAAG,KAAO,EAAFf,GAAK,CAA4E,GAAnCmF,EAAE,aAAaS,GAAG,eAAeA,KAAtEwjB,EAAE,cAAcxjB,GAAG,gBAAgBA,IAA2C3D,IAAI0gnB,MAAKzhnB,EAAEe,EAAEo0J,eAAep0J,EAAEwpnB,eAAe1C,GAAG7nnB,KAAIA,EAAEmynB,OAAgBlunB,GAAGikB,KAAGA,EAAE5nB,EAAE1C,SAAS0C,EAAEA,GAAG4nB,EAAE5nB,EAAEo+B,eAAexW,EAAEuqB,aAAavqB,EAAEw0hB,aAAa9+iB,OAAUqG,GAAqCA,EAAEpF,EAAiB,QAAfmB,GAAnCA,EAAEe,EAAEo0J,eAAep0J,EAAEypnB,WAAkB3C,GAAG7nnB,GAAG,QAC9dA,KAARi6hB,EAAEopF,GAAGrjnB,KAAU,IAAIA,EAAEya,KAAK,IAAIza,EAAEya,OAAKza,EAAE,QAAUiE,EAAE,KAAKjE,EAAEnB,GAAKoF,IAAIjE,GAAE,CAAgU,GAA/TH,EAAE8qnB,GAAG1tjB,EAAE,eAAe98C,EAAE,eAAe2iF,EAAE,QAAW,eAAep+F,GAAG,gBAAgBA,IAAE7E,EAAE6snB,GAAGzvjB,EAAE,iBAAiB98C,EAAE,iBAAiB2iF,EAAE,WAAUm3b,EAAE,MAAMh2hB,EAAEikB,EAAEgmmB,GAAGjqnB,GAAGwH,EAAE,MAAMzL,EAAEkoB,EAAEgmmB,GAAGlunB,IAAGkoB,EAAE,IAAIroB,EAAEo9D,EAAE6lC,EAAE,QAAQ7+F,EAAElD,EAAET,IAAKM,OAAOq5hB,EAAE/xgB,EAAEitI,cAAc1pJ,EAAEwxD,EAAE,KAAK4qjB,GAAGvnnB,KAAKzB,KAAIgB,EAAE,IAAIA,EAAEsgB,EAAE2iF,EAAE,QAAQ9iG,EAAEe,EAAET,IAAKM,OAAO6K,EAAE5L,EAAEs1J,cAAc8kY,EAAEh9d,EAAEp9D,GAAGo6hB,EAAEh9d,EAAKh5D,GAAGjE,EAAElB,EAAE,CAAa,IAARqhB,EAAEngB,EAAE8iG,EAAE,EAAMr3F,EAAhB5L,EAAEoE,EAAkBwH,EAAEA,EAAE2mnB,GAAG3mnB,GAAGq3F,IAAQ,IAAJr3F,EAAE,EAAMwxD,EAAE98C,EAAE88C,EAAEA,EAAEm1jB,GAAGn1jB,GAAGxxD,IAAI,KAAK,EAAEq3F,EAAEr3F,GAAG5L,EAAEuynB,GAAGvynB,GAAGijG,IAAI,KAAK,EAAEr3F,EAAEq3F,GAAG3iF,EACpfiymB,GAAGjymB,GAAG1U,IAAI,KAAKq3F,KAAK,CAAC,GAAGjjG,IAAIsgB,GAAG,OAAOA,GAAGtgB,IAAIsgB,EAAEmjmB,UAAU,MAAMxknB,EAAEe,EAAEuynB,GAAGvynB,GAAGsgB,EAAEiymB,GAAGjymB,EAAE,CAACtgB,EAAE,IAAI,MAAMA,EAAE,KAAK,OAAOoE,GAAGounB,GAAGrvnB,EAAEklB,EAAEjkB,EAAEpE,GAAE,GAAI,OAAOG,GAAG,OAAOi6hB,GAAGo4F,GAAGrvnB,EAAEi3hB,EAAEj6hB,EAAEH,GAAE,EAAG,CAA8D,GAAG,YAA1CoE,GAAjBikB,EAAErpB,EAAEqvnB,GAAGrvnB,GAAGjB,QAAWm2E,UAAU7rD,EAAE6rD,SAASl6D,gBAA+B,UAAU5V,GAAG,SAASikB,EAAEnR,KAAK,IAAIu7mB,EAAGnE,QAAQ,GAAGL,GAAG5lmB,GAAG,GAAGkmmB,GAAGkE,EAAGvD,OAAO,CAACuD,EAAGzD,GAAG,IAAI0D,EAAG3D,EAAE,MAAM3qnB,EAAEikB,EAAE6rD,WAAW,UAAU9vE,EAAE4V,gBAAgB,aAAaqO,EAAEnR,MAAM,UAAUmR,EAAEnR,QAAQu7mB,EAAGxD,IACrV,OAD4VwD,IAAKA,EAAGA,EAAG5tnB,EAAE7F,IAAK83L,GAAG3zL,EAAEsvnB,EAAGvxnB,EAAET,IAAWiynB,GAAIA,EAAG7tnB,EAAEwjB,EAAErpB,GAAG,aAAa6F,IAAI6tnB,EAAGrqmB,EAAE23lB,gBAClf0S,EAAGv0lB,YAAY,WAAW9V,EAAEnR,MAAMw3lB,GAAGrmlB,EAAE,SAASA,EAAE7lB,QAAOkwnB,EAAG1znB,EAAEqvnB,GAAGrvnB,GAAGjB,OAAc8G,GAAG,IAAK,WAAaopnB,GAAGyE,IAAK,SAASA,EAAG/C,mBAAgBa,GAAGkC,EAAGjC,GAAGzxnB,EAAE0xnB,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAGztnB,EAAEjC,EAAET,GAAG,MAAM,IAAK,kBAAkB,GAAG8vnB,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAGztnB,EAAEjC,EAAET,GAAG,IAAIkynB,EAAG,GAAG/E,GAAG3unB,EAAE,CAAC,OAAO4F,GAAG,IAAK,mBAAmB,IAAI+tnB,EAAG,qBAAqB,MAAM3znB,EAAE,IAAK,iBAAiB2znB,EAAG,mBACpe,MAAM3znB,EAAE,IAAK,oBAAoB2znB,EAAG,sBAAsB,MAAM3znB,EAAE2znB,OAAG,CAAM,MAAMtukB,GAAGypkB,GAAGlpnB,EAAE3D,KAAK0xnB,EAAG,oBAAoB,YAAY/tnB,GAAG,MAAM3D,EAAE2gK,UAAU+wd,EAAG,sBAAsBA,IAAKz2c,IAAI,OAAOj7K,EAAEq3H,SAASj0E,IAAI,uBAAuBsukB,EAAG,qBAAqBA,GAAItukB,KAAKqukB,EAAG97b,OAAYoyb,GAAG,UAARD,GAAGvonB,GAAkBuonB,GAAGxmnB,MAAMwmnB,GAAG3ymB,YAAYiuC,IAAG,IAAiB,GAAZoukB,EAAGxE,GAAGlvnB,EAAE4znB,IAASvynB,SAASuynB,EAAG,IAAIrH,GAAGqH,EAAG/tnB,EAAE,KAAK3D,EAAET,GAAG0C,EAAEa,KAAK,CAACi8B,MAAM2ylB,EAAGr+D,UAAUm+D,IAAKC,EAAGC,EAAGnrnB,KAAKkrnB,EAAa,QAATA,EAAGn9b,GAAGt0L,MAAe0xnB,EAAGnrnB,KAAKkrnB,MAAUA,EAAG92c,GA5BhM,SAAYh3K,EAAE5F,GAAG,OAAO4F,GAAG,IAAK,iBAAiB,OAAO2wL,GAAGv2L,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAE82J,MAAa,MAAK+3d,IAAG,EAAUtxc,IAAG,IAAK,YAAY,OAAO33K,EAAE5F,EAAEwI,QAAS+0K,IAAIsxc,GAAG,KAAKjpnB,EAAE,QAAQ,OAAO,KAAK,CA4BEgunB,CAAGhunB,EAAE3D,GA3Bzd,SAAY2D,EAAE5F,GAAG,GAAGqlD,GAAG,MAAM,mBAAmBz/C,IAAI+onB,IAAIG,GAAGlpnB,EAAE5F,IAAI4F,EAAEgyL,KAAKpzJ,GAAGwllB,GAAGD,GAAG,KAAK1kkB,IAAG,EAAGz/C,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAK5F,EAAEmhC,SAASnhC,EAAEkhC,QAAQlhC,EAAEihC,UAAUjhC,EAAEmhC,SAASnhC,EAAEkhC,OAAO,CAAC,GAAGlhC,EAAEu1H,MAAM,EAAEv1H,EAAEu1H,KAAKn0H,OAAO,OAAOpB,EAAEu1H,KAAK,GAAGv1H,EAAE82J,MAAM,OAAOlnJ,OAAOC,aAAa7P,EAAE82J,MAAM,CAAC,OAAO,KAAK,IAAK,iBAAiB,OAAOomB,IAAI,OAAOl9K,EAAEs5H,OAAO,KAAKt5H,EAAEwI,KAAyB,CA2BqFqrnB,CAAGjunB,EAAE3D,MACje,GADoelC,EAAEkvnB,GAAGlvnB,EAAE,kBACveqB,SAASI,EAAE,IAAI8qnB,GAAG,gBAAgB,cAAc,KAAKrqnB,EAAET,GAAG0C,EAAEa,KAAK,CAACi8B,MAAMx/B,EAAE8zjB,UAAUv1jB,IAAIyB,EAAEgH,KAAKkrnB,GAAG,CAACtxc,GAAGl+K,EAAElE,EAAE,GAAE,CAAC,SAASoznB,GAAGxtnB,EAAE5F,EAAEiC,GAAG,MAAM,CAACmW,SAASxS,EAAE4T,SAASxZ,EAAEs2J,cAAcr0J,EAAE,CAAC,SAASgtnB,GAAGrpnB,EAAE5F,GAAG,IAAI,IAAIiC,EAAEjC,EAAE,UAAUD,EAAE,GAAG,OAAO6F,GAAG,CAAC,IAAIpE,EAAEoE,EAAE5B,EAAExC,EAAE4hnB,UAAU,IAAI5hnB,EAAEma,KAAK,OAAO3X,IAAIxC,EAAEwC,EAAY,OAAVA,EAAE4/mB,GAAGh+mB,EAAE3D,KAAYlC,EAAEq6C,QAAQg5kB,GAAGxtnB,EAAE5B,EAAExC,IAAc,OAAVwC,EAAE4/mB,GAAGh+mB,EAAE5F,KAAYD,EAAEgF,KAAKqunB,GAAGxtnB,EAAE5B,EAAExC,KAAKoE,EAAEA,EAAE4Y,MAAM,CAAC,OAAOze,CAAC,CAAC,SAASuznB,GAAG1tnB,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAE4Y,aAAa5Y,GAAG,IAAIA,EAAE+V,KAAK,OAAO/V,GAAI,IAAI,CACnd,SAAS2tnB,GAAG3tnB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,IAAI,IAAIwC,EAAEhE,EAAEqqnB,WAAWnmnB,EAAE,GAAG,OAAOjC,GAAGA,IAAIlC,GAAG,CAAC,IAAIqpB,EAAEnnB,EAAEkD,EAAEikB,EAAEo7lB,UAAU/9kB,EAAErd,EAAEg6lB,UAAU,GAAG,OAAOj+mB,GAAGA,IAAIpF,EAAE,MAAM,IAAIqpB,EAAEzN,KAAK,OAAO8qB,IAAIrd,EAAEqd,EAAEjlC,EAAa,OAAV2D,EAAEy+mB,GAAG3hnB,EAAE+B,KAAYE,EAAEk2C,QAAQg5kB,GAAGnxnB,EAAEkD,EAAEikB,IAAK5nB,GAAc,OAAV2D,EAAEy+mB,GAAG3hnB,EAAE+B,KAAYE,EAAEa,KAAKqunB,GAAGnxnB,EAAEkD,EAAEikB,KAAMnnB,EAAEA,EAAEuc,MAAM,CAAC,IAAIta,EAAE9C,QAAQwE,EAAEb,KAAK,CAACi8B,MAAMhhC,EAAEs1jB,UAAUpxjB,GAAG,CAAC,IAAI4vnB,GAAG,SAASC,GAAG,iBAAiB,SAASC,GAAGpunB,GAAG,OAAO,kBAAkBA,EAAEA,EAAE,GAAGA,GAAGkV,QAAQg5mB,GAAG,MAAMh5mB,QAAQi5mB,GAAG,GAAG,CAAC,SAASE,GAAGrunB,EAAE5F,EAAEiC,GAAW,GAARjC,EAAEg0nB,GAAGh0nB,GAAMg0nB,GAAGpunB,KAAK5F,GAAGiC,EAAE,MAAMmH,MAAM/I,EAAE,KAAM,CAAC,SAAS6znB,KAAK,CAC9e,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGzunB,EAAE5F,GAAG,MAAM,aAAa4F,GAAG,aAAaA,GAAG,kBAAkB5F,EAAEiV,UAAU,kBAAkBjV,EAAEiV,UAAU,kBAAkBjV,EAAE8V,yBAAyB,OAAO9V,EAAE8V,yBAAyB,MAAM9V,EAAE8V,wBAAwBC,MAAM,CAC5P,IAAIu+mB,GAAG,oBAAoBr6mB,WAAWA,gBAAW,EAAOs6mB,GAAG,oBAAoBv2lB,aAAaA,kBAAa,EAAOw2lB,GAAG,oBAAoBrxnB,QAAQA,aAAQ,EAAOsxnB,GAAG,oBAAoBC,eAAeA,eAAe,qBAAqBF,GAAG,SAAS5unB,GAAG,OAAO4unB,GAAGpxnB,QAAQ,MAAMS,KAAK+B,GAAG6D,MAAMkrnB,GAAG,EAAEL,GAAG,SAASK,GAAG/unB,GAAGqU,YAAW,WAAW,MAAMrU,CAAE,GAAE,CACpV,SAASgvnB,GAAGhvnB,EAAE5F,GAAG,IAAIiC,EAAEjC,EAAED,EAAE,EAAE,EAAE,CAAC,IAAIyB,EAAES,EAAE8U,YAA6B,GAAjBnR,EAAE4R,YAAYvV,GAAMT,GAAG,IAAIA,EAAE2V,SAAS,GAAY,QAATlV,EAAET,EAAEgH,MAAc,CAAC,GAAG,IAAIzI,EAA0B,OAAvB6F,EAAE4R,YAAYhW,QAAG+nnB,GAAGvpnB,GAAUD,GAAG,KAAK,MAAMkC,GAAG,OAAOA,GAAG,OAAOA,GAAGlC,IAAIkC,EAAET,CAAC,OAAOS,GAAGsnnB,GAAGvpnB,EAAE,CAAC,SAAS60nB,GAAGjvnB,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEmR,YAAY,CAAC,IAAI/W,EAAE4F,EAAEuR,SAAS,GAAG,IAAInX,GAAG,IAAIA,EAAE,MAAM,GAAG,IAAIA,EAAE,CAAU,GAAG,OAAZA,EAAE4F,EAAE4C,OAAiB,OAAOxI,GAAG,OAAOA,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,IAAI,CAAC,CAAC,OAAO4F,CAAC,CACjY,SAASkvnB,GAAGlvnB,GAAGA,EAAEA,EAAEivE,gBAAgB,IAAI,IAAI70E,EAAE,EAAE4F,GAAG,CAAC,GAAG,IAAIA,EAAEuR,SAAS,CAAC,IAAIlV,EAAE2D,EAAE4C,KAAK,GAAG,MAAMvG,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIjC,EAAE,OAAO4F,EAAE5F,GAAG,KAAK,OAAOiC,GAAGjC,GAAG,CAAC4F,EAAEA,EAAEivE,eAAe,CAAC,OAAO,IAAI,CAAC,IAAIkgjB,GAAGhpnB,KAAK8xD,SAAS5tD,SAAS,IAAI2N,MAAM,GAAGo3mB,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAG1B,GAAG,oBAAoB0B,GAAGhliB,GAAG,iBAAiBgliB,GAAGG,GAAG,oBAAoBH,GAAGI,GAAG,kBAAkBJ,GAClX,SAAShM,GAAGnjnB,GAAG,IAAI5F,EAAE4F,EAAEovnB,IAAI,GAAGh1nB,EAAE,OAAOA,EAAE,IAAI,IAAIiC,EAAE2D,EAAE2Q,WAAWtU,GAAG,CAAC,GAAGjC,EAAEiC,EAAEoxnB,KAAKpxnB,EAAE+ynB,IAAI,CAAe,GAAd/ynB,EAAEjC,EAAEwknB,UAAa,OAAOxknB,EAAEuX,OAAO,OAAOtV,GAAG,OAAOA,EAAEsV,MAAM,IAAI3R,EAAEkvnB,GAAGlvnB,GAAG,OAAOA,GAAG,CAAC,GAAG3D,EAAE2D,EAAEovnB,IAAI,OAAO/ynB,EAAE2D,EAAEkvnB,GAAGlvnB,EAAE,CAAC,OAAO5F,CAAC,CAAKiC,GAAJ2D,EAAE3D,GAAMsU,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS4smB,GAAGv9mB,GAAkB,QAAfA,EAAEA,EAAEovnB,KAAKpvnB,EAAEytnB,MAAc,IAAIztnB,EAAE+V,KAAK,IAAI/V,EAAE+V,KAAK,KAAK/V,EAAE+V,KAAK,IAAI/V,EAAE+V,IAAI,KAAK/V,CAAC,CAAC,SAASwpnB,GAAGxpnB,GAAG,GAAG,IAAIA,EAAE+V,KAAK,IAAI/V,EAAE+V,IAAI,OAAO/V,EAAEw9mB,UAAU,MAAMh6mB,MAAM/I,EAAE,IAAK,CAAC,SAASgjnB,GAAGz9mB,GAAG,OAAOA,EAAEqvnB,KAAK,IAAI,CAAC,IAAIG,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAG1vnB,GAAG,MAAM,CAACy5B,QAAQz5B,EAAE,CACve,SAAS2mL,GAAE3mL,GAAG,EAAEyvnB,KAAKzvnB,EAAEy5B,QAAQ+1lB,GAAGC,IAAID,GAAGC,IAAI,KAAKA,KAAK,CAAC,SAASn6F,GAAEt1hB,EAAE5F,GAAGq1nB,KAAKD,GAAGC,IAAIzvnB,EAAEy5B,QAAQz5B,EAAEy5B,QAAQr/B,CAAC,CAAC,IAAIu1nB,GAAG,CAAC,EAAElzjB,GAAEizjB,GAAGC,IAAIC,GAAGF,IAAG,GAAIG,GAAGF,GAAG,SAASG,GAAG9vnB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEqS,KAAKkwkB,aAAa,IAAIlmlB,EAAE,OAAOsznB,GAAG,IAAIx1nB,EAAE6F,EAAEw9mB,UAAU,GAAGrjnB,GAAGA,EAAE41nB,8CAA8C31nB,EAAE,OAAOD,EAAE61nB,0CAA0C,IAAS5xnB,EAALxC,EAAE,CAAC,EAAI,IAAIwC,KAAK/B,EAAET,EAAEwC,GAAGhE,EAAEgE,GAAoH,OAAjHjE,KAAI6F,EAAEA,EAAEw9mB,WAAYuS,4CAA4C31nB,EAAE4F,EAAEgwnB,0CAA0Cp0nB,GAAUA,CAAC,CAC9d,SAASq0nB,GAAGjwnB,GAAyB,OAAO,QAA7BA,EAAEA,EAAEqilB,yBAAmC,IAASrilB,CAAC,CAAC,SAASkwnB,KAAKvpc,GAAEipc,IAAIjpc,GAAElqH,GAAE,CAAC,SAAS0zjB,GAAGnwnB,EAAE5F,EAAEiC,GAAG,GAAGogE,GAAEhjC,UAAUk2lB,GAAG,MAAMnsnB,MAAM/I,EAAE,MAAM66hB,GAAE74d,GAAEriE,GAAGk7hB,GAAEs6F,GAAGvznB,EAAE,CAAC,SAASs6K,GAAG32K,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAEw9mB,UAAgC,GAAtBpjnB,EAAEA,EAAEiolB,kBAAqB,oBAAoBlolB,EAAE40lB,gBAAgB,OAAO1ylB,EAAwB,IAAI,IAAIT,KAA9BzB,EAAEA,EAAE40lB,kBAAiC,KAAKnzlB,KAAKxB,GAAG,MAAMoJ,MAAM/I,EAAE,IAAI+/mB,EAAGx6mB,IAAI,UAAUpE,IAAI,OAAOiuf,EAAE,CAAC,EAAExtf,EAAElC,EAAE,CACxX,SAASi2nB,GAAGpwnB,GAA2G,OAAxGA,GAAGA,EAAEA,EAAEw9mB,YAAYx9mB,EAAEqwnB,2CAA2CV,GAAGE,GAAGpzjB,GAAEhjC,QAAQ67f,GAAE74d,GAAEz8D,GAAGs1hB,GAAEs6F,GAAGA,GAAGn2lB,UAAe,CAAE,CAAC,SAAS62lB,GAAGtwnB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAEw9mB,UAAU,IAAIrjnB,EAAE,MAAMqJ,MAAM/I,EAAE,MAAM4B,GAAG2D,EAAE22K,GAAG32K,EAAE5F,EAAEy1nB,IAAI11nB,EAAEk2nB,0CAA0CrwnB,EAAE2mL,GAAEipc,IAAIjpc,GAAElqH,IAAG64d,GAAE74d,GAAEz8D,IAAI2mL,GAAEipc,IAAIt6F,GAAEs6F,GAAGvznB,EAAE,CAAC,IAAIk0nB,GAAG,KAAKC,IAAG,EAAGC,IAAG,EAAG,SAASC,GAAG1wnB,GAAG,OAAOuwnB,GAAGA,GAAG,CAACvwnB,GAAGuwnB,GAAGpxnB,KAAKa,EAAE,CAChW,SAAS2wnB,KAAK,IAAIF,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAIzwnB,EAAE,EAAE5F,EAAEm2D,GAAE,IAAI,IAAIl0D,EAAEk0nB,GAAG,IAAIhgkB,GAAE,EAAEvwD,EAAE3D,EAAEb,OAAOwE,IAAI,CAAC,IAAI7F,EAAEkC,EAAE2D,GAAG,GAAG7F,EAAEA,GAAE,SAAU,OAAOA,EAAE,CAACo2nB,GAAG,KAAKC,IAAG,CAAE,CAAC,MAAM50nB,GAAG,MAAM,OAAO20nB,KAAKA,GAAGA,GAAGv4mB,MAAMhY,EAAE,IAAIq/mB,GAAGU,GAAG4Q,IAAI/0nB,CAAE,CAAC,QAAQ20D,GAAEn2D,EAAEq2nB,IAAG,CAAE,CAAC,CAAC,OAAO,IAAI,CAAC,IAAIG,GAAG,GAAG/xlB,GAAG,EAAEg8I,GAAG,KAAKg2c,GAAG,EAAEC,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEv0c,GAAG,GAAG,SAASY,GAAGt9K,EAAE5F,GAAGw2nB,GAAG/xlB,MAAMgylB,GAAGD,GAAG/xlB,MAAMg8I,GAAGA,GAAG76K,EAAE6wnB,GAAGz2nB,CAAC,CACjV,SAAS44L,GAAGhzL,EAAE5F,EAAEiC,GAAGy0nB,GAAGC,MAAME,GAAGH,GAAGC,MAAMr0c,GAAGo0c,GAAGC,MAAMC,GAAGA,GAAGhxnB,EAAE,IAAI7F,EAAE82nB,GAAGjxnB,EAAE08K,GAAG,IAAI9gL,EAAE,GAAG+knB,GAAGxmnB,GAAG,EAAEA,KAAK,GAAGyB,GAAGS,GAAG,EAAE,IAAI+B,EAAE,GAAGuinB,GAAGvmnB,GAAGwB,EAAE,GAAG,GAAGwC,EAAE,CAAC,IAAIE,EAAE1C,EAAEA,EAAE,EAAEwC,GAAGjE,GAAG,GAAGmE,GAAG,GAAG+L,SAAS,IAAIlQ,IAAImE,EAAE1C,GAAG0C,EAAE2ynB,GAAG,GAAG,GAAGtQ,GAAGvmnB,GAAGwB,EAAES,GAAGT,EAAEzB,EAAEuiL,GAAGt+K,EAAE4B,CAAC,MAAMixnB,GAAG,GAAG7ynB,EAAE/B,GAAGT,EAAEzB,EAAEuiL,GAAG18K,CAAC,CAAC,SAASkxnB,GAAGlxnB,GAAG,OAAOA,EAAE4Y,SAAS0kK,GAAGt9K,EAAE,GAAGgzL,GAAGhzL,EAAE,EAAE,GAAG,CAAC,SAASmxnB,GAAGnxnB,GAAG,KAAKA,IAAI66K,IAAIA,GAAG+1c,KAAK/xlB,IAAI+xlB,GAAG/xlB,IAAI,KAAKgylB,GAAGD,KAAK/xlB,IAAI+xlB,GAAG/xlB,IAAI,KAAK,KAAK7+B,IAAIgxnB,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKr0c,GAAGo0c,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,IAAI,CAAC,IAAIK,GAAG,KAAKC,GAAG,KAAKjkG,IAAE,EAAGkkG,GAAG,KACje,SAASC,GAAGvxnB,EAAE5F,GAAG,IAAIiC,EAAEm1nB,GAAG,EAAE,KAAK,KAAK,GAAGn1nB,EAAE0qW,YAAY,UAAU1qW,EAAEmhnB,UAAUpjnB,EAAEiC,EAAEuc,OAAO5Y,EAAgB,QAAd5F,EAAE4F,EAAEyxnB,YAAoBzxnB,EAAEyxnB,UAAU,CAACp1nB,GAAG2D,EAAEgR,OAAO,IAAI5W,EAAE+E,KAAK9C,EAAE,CACxJ,SAASq1nB,GAAG1xnB,EAAE5F,GAAG,OAAO4F,EAAE+V,KAAK,KAAK,EAAE,IAAI1Z,EAAE2D,EAAEqS,KAAyE,OAAO,QAA3EjY,EAAE,IAAIA,EAAEmX,UAAUlV,EAAE8Y,gBAAgB/a,EAAEi1E,SAASl6D,cAAc,KAAK/a,KAAmB4F,EAAEw9mB,UAAUpjnB,EAAEg3nB,GAAGpxnB,EAAEqxnB,GAAGpC,GAAG70nB,EAAEyX,aAAY,GAAO,KAAK,EAAE,OAAoD,QAA7CzX,EAAE,KAAK4F,EAAE2xnB,cAAc,IAAIv3nB,EAAEmX,SAAS,KAAKnX,KAAY4F,EAAEw9mB,UAAUpjnB,EAAEg3nB,GAAGpxnB,EAAEqxnB,GAAG,MAAK,GAAO,KAAK,GAAG,OAA+B,QAAxBj3nB,EAAE,IAAIA,EAAEmX,SAAS,KAAKnX,KAAYiC,EAAE,OAAO20nB,GAAG,CAAC9hnB,GAAG+hnB,GAAG9nlB,SAASuzI,IAAI,KAAK18K,EAAE8+mB,cAAc,CAACC,WAAW3knB,EAAEw3nB,YAAYv1nB,EAAEw1nB,UAAU,aAAYx1nB,EAAEm1nB,GAAG,GAAG,KAAK,KAAK,IAAKhU,UAAUpjnB,EAAEiC,EAAEuc,OAAO5Y,EAAEA,EAAE2R,MAAMtV,EAAE+0nB,GAAGpxnB,EAAEqxnB,GAClf,MAAK,GAAO,QAAQ,OAAM,EAAG,CAAC,SAASS,GAAG9xnB,GAAG,OAAO,KAAY,EAAPA,EAAEonB,OAAS,KAAa,IAARpnB,EAAEgR,MAAU,CAAC,SAAS+gnB,GAAG/xnB,GAAG,GAAGothB,GAAE,CAAC,IAAIhzhB,EAAEi3nB,GAAG,GAAGj3nB,EAAE,CAAC,IAAIiC,EAAEjC,EAAE,IAAIs3nB,GAAG1xnB,EAAE5F,GAAG,CAAC,GAAG03nB,GAAG9xnB,GAAG,MAAMwD,MAAM/I,EAAE,MAAML,EAAE60nB,GAAG5ynB,EAAE8U,aAAa,IAAIhX,EAAEi3nB,GAAGh3nB,GAAGs3nB,GAAG1xnB,EAAE5F,GAAGm3nB,GAAGp3nB,EAAEkC,IAAI2D,EAAEgR,OAAe,KAAThR,EAAEgR,MAAY,EAAEo8gB,IAAE,EAAGgkG,GAAGpxnB,EAAE,CAAC,KAAK,CAAC,GAAG8xnB,GAAG9xnB,GAAG,MAAMwD,MAAM/I,EAAE,MAAMuF,EAAEgR,OAAe,KAAThR,EAAEgR,MAAY,EAAEo8gB,IAAE,EAAGgkG,GAAGpxnB,CAAC,CAAC,CAAC,CAAC,SAASgynB,GAAGhynB,GAAG,IAAIA,EAAEA,EAAE4Y,OAAO,OAAO5Y,GAAG,IAAIA,EAAE+V,KAAK,IAAI/V,EAAE+V,KAAK,KAAK/V,EAAE+V,KAAK/V,EAAEA,EAAE4Y,OAAOw4mB,GAAGpxnB,CAAC,CACha,SAASiynB,GAAGjynB,GAAG,GAAGA,IAAIoxnB,GAAG,OAAM,EAAG,IAAIhkG,GAAE,OAAO4kG,GAAGhynB,GAAGothB,IAAE,GAAG,EAAG,IAAIhzhB,EAAkG,IAA/FA,EAAE,IAAI4F,EAAE+V,QAAQ3b,EAAE,IAAI4F,EAAE+V,OAAgB3b,EAAE,UAAXA,EAAE4F,EAAEqS,OAAmB,SAASjY,IAAIq0nB,GAAGzunB,EAAEqS,KAAKrS,EAAEkynB,gBAAmB93nB,IAAIA,EAAEi3nB,IAAI,CAAC,GAAGS,GAAG9xnB,GAAG,MAAMmynB,KAAK3unB,MAAM/I,EAAE,MAAM,KAAKL,GAAGm3nB,GAAGvxnB,EAAE5F,GAAGA,EAAE60nB,GAAG70nB,EAAE+W,YAAY,CAAO,GAAN6gnB,GAAGhynB,GAAM,KAAKA,EAAE+V,IAAI,CAAgD,KAA7B/V,EAAE,QAApBA,EAAEA,EAAE8+mB,eAAyB9+mB,EAAE++mB,WAAW,MAAW,MAAMv7mB,MAAM/I,EAAE,MAAMuF,EAAE,CAAiB,IAAhBA,EAAEA,EAAEmR,YAAgB/W,EAAE,EAAE4F,GAAG,CAAC,GAAG,IAAIA,EAAEuR,SAAS,CAAC,IAAIlV,EAAE2D,EAAE4C,KAAK,GAAG,OAAOvG,EAAE,CAAC,GAAG,IAAIjC,EAAE,CAACi3nB,GAAGpC,GAAGjvnB,EAAEmR,aAAa,MAAMnR,CAAC,CAAC5F,GAAG,KAAK,MAAMiC,GAAG,OAAOA,GAAG,OAAOA,GAAGjC,GAAG,CAAC4F,EAAEA,EAAEmR,WAAW,CAACkgnB,GACjgB,IAAI,CAAC,MAAMA,GAAGD,GAAGnC,GAAGjvnB,EAAEw9mB,UAAUrsmB,aAAa,KAAK,OAAM,CAAE,CAAC,SAASghnB,KAAK,IAAI,IAAInynB,EAAEqxnB,GAAGrxnB,GAAGA,EAAEivnB,GAAGjvnB,EAAEmR,YAAY,CAAC,SAASihnB,KAAKf,GAAGD,GAAG,KAAKhkG,IAAE,CAAE,CAAC,SAASilG,GAAGrynB,GAAG,OAAOsxnB,GAAGA,GAAG,CAACtxnB,GAAGsxnB,GAAGnynB,KAAKa,EAAE,CAAC,IAAIsynB,GAAGjojB,EAAGw5iB,wBAAwB,SAAS0O,GAAGvynB,EAAE5F,GAAG,GAAG4F,GAAGA,EAAEu0B,aAAa,CAA4B,IAAI,IAAIl4B,KAAnCjC,EAAEyvf,EAAE,CAAC,EAAEzvf,GAAG4F,EAAEA,EAAEu0B,kBAA4B,IAASn6B,EAAEiC,KAAKjC,EAAEiC,GAAG2D,EAAE3D,IAAI,OAAOjC,CAAC,CAAC,OAAOA,CAAC,CAAC,IAAIo4nB,GAAG9C,GAAG,MAAM+C,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,IAAI,CAAC,SAASI,GAAG7ynB,GAAG,IAAI5F,EAAEo4nB,GAAG/4lB,QAAQktJ,GAAE6rc,IAAIxynB,EAAE8ynB,cAAc14nB,CAAC,CACjd,SAAS24nB,GAAG/ynB,EAAE5F,EAAEiC,GAAG,KAAK,OAAO2D,GAAG,CAAC,IAAI7F,EAAE6F,EAAE4+mB,UAA+H,IAApH5+mB,EAAEgznB,WAAW54nB,KAAKA,GAAG4F,EAAEgznB,YAAY54nB,EAAE,OAAOD,IAAIA,EAAE64nB,YAAY54nB,IAAI,OAAOD,IAAIA,EAAE64nB,WAAW54nB,KAAKA,IAAID,EAAE64nB,YAAY54nB,GAAM4F,IAAI3D,EAAE,MAAM2D,EAAEA,EAAE4Y,MAAM,CAAC,CAAC,SAASq6mB,GAAGjznB,EAAE5F,GAAGq4nB,GAAGzynB,EAAE2ynB,GAAGD,GAAG,KAAsB,QAAjB1ynB,EAAEA,EAAE8tjB,eAAuB,OAAO9tjB,EAAEkznB,eAAe,KAAKlznB,EAAEmznB,MAAM/4nB,KAAKg5nB,IAAG,GAAIpznB,EAAEkznB,aAAa,KAAK,CACtU,SAASG,GAAGrznB,GAAG,IAAI5F,EAAE4F,EAAE8ynB,cAAc,GAAGH,KAAK3ynB,EAAE,GAAGA,EAAE,CAAC+L,QAAQ/L,EAAEsznB,cAAcl5nB,EAAEyD,KAAK,MAAM,OAAO60nB,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAMjvnB,MAAM/I,EAAE,MAAMi4nB,GAAG1ynB,EAAEyynB,GAAG3kE,aAAa,CAACqlE,MAAM,EAAED,aAAalznB,EAAE,MAAM0ynB,GAAGA,GAAG70nB,KAAKmC,EAAE,OAAO5F,CAAC,CAAC,IAAIm5nB,GAAG,KAAK,SAASC,GAAGxznB,GAAG,OAAOuznB,GAAGA,GAAG,CAACvznB,GAAGuznB,GAAGp0nB,KAAKa,EAAE,CAAC,SAASyznB,GAAGzznB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAExB,EAAEs5nB,YAA+E,OAAnE,OAAO93nB,GAAGS,EAAEwB,KAAKxB,EAAEm3nB,GAAGp5nB,KAAKiC,EAAEwB,KAAKjC,EAAEiC,KAAKjC,EAAEiC,KAAKxB,GAAGjC,EAAEs5nB,YAAYr3nB,EAASs3nB,GAAG3znB,EAAE7F,EAAE,CAChY,SAASw5nB,GAAG3znB,EAAE5F,GAAG4F,EAAEmznB,OAAO/4nB,EAAE,IAAIiC,EAAE2D,EAAE4+mB,UAAqC,IAA3B,OAAOvinB,IAAIA,EAAE82nB,OAAO/4nB,GAAGiC,EAAE2D,EAAMA,EAAEA,EAAE4Y,OAAO,OAAO5Y,GAAGA,EAAEgznB,YAAY54nB,EAAgB,QAAdiC,EAAE2D,EAAE4+mB,aAAqBvinB,EAAE22nB,YAAY54nB,GAAGiC,EAAE2D,EAAEA,EAAEA,EAAE4Y,OAAO,OAAO,IAAIvc,EAAE0Z,IAAI1Z,EAAEmhnB,UAAU,IAAI,CAAC,IAAIl+D,IAAG,EAAG,SAASs0E,GAAG5znB,GAAGA,EAAE6znB,YAAY,CAACC,UAAU9znB,EAAE8+mB,cAAciV,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAAC1jE,QAAQ,KAAKmjE,YAAY,KAAKP,MAAM,GAAGronB,QAAQ,KAAK,CACpX,SAASopnB,GAAGl0nB,EAAE5F,GAAG4F,EAAEA,EAAE6znB,YAAYz5nB,EAAEy5nB,cAAc7znB,IAAI5F,EAAEy5nB,YAAY,CAACC,UAAU9znB,EAAE8znB,UAAUC,gBAAgB/znB,EAAE+znB,gBAAgBC,eAAeh0nB,EAAEg0nB,eAAeC,OAAOj0nB,EAAEi0nB,OAAOnpnB,QAAQ9K,EAAE8K,SAAS,CAAC,SAASqpnB,GAAGn0nB,EAAE5F,GAAG,MAAM,CAACg6nB,UAAUp0nB,EAAEq0nB,KAAKj6nB,EAAE2b,IAAI,EAAE+iC,QAAQ,KAAK9tC,SAAS,KAAKnN,KAAK,KAAK,CACtR,SAASy2nB,GAAGt0nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAE6znB,YAAY,GAAG,OAAO15nB,EAAE,OAAO,KAAgB,GAAXA,EAAEA,EAAE85nB,OAAU,KAAO,EAAF7+F,IAAK,CAAC,IAAIx5hB,EAAEzB,EAAEo2jB,QAA+D,OAAvD,OAAO30jB,EAAExB,EAAEyD,KAAKzD,GAAGA,EAAEyD,KAAKjC,EAAEiC,KAAKjC,EAAEiC,KAAKzD,GAAGD,EAAEo2jB,QAAQn2jB,EAASu5nB,GAAG3znB,EAAE3D,EAAE,CAAoF,OAAnE,QAAhBT,EAAEzB,EAAEu5nB,cAAsBt5nB,EAAEyD,KAAKzD,EAAEo5nB,GAAGr5nB,KAAKC,EAAEyD,KAAKjC,EAAEiC,KAAKjC,EAAEiC,KAAKzD,GAAGD,EAAEu5nB,YAAYt5nB,EAASu5nB,GAAG3znB,EAAE3D,EAAE,CAAC,SAASk4nB,GAAGv0nB,EAAE5F,EAAEiC,GAAmB,GAAG,QAAnBjC,EAAEA,EAAEy5nB,eAA0Bz5nB,EAAEA,EAAE65nB,OAAO,KAAO,QAAF53nB,IAAY,CAAC,IAAIlC,EAAEC,EAAE+4nB,MAAwB92nB,GAAlBlC,GAAG6F,EAAEghnB,aAAkB5mnB,EAAE+4nB,MAAM92nB,EAAEslnB,GAAG3hnB,EAAE3D,EAAE,CAAC,CACrZ,SAASm4nB,GAAGx0nB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAE6znB,YAAY15nB,EAAE6F,EAAE4+mB,UAAU,GAAG,OAAOzknB,GAAoBkC,KAAhBlC,EAAEA,EAAE05nB,aAAmB,CAAC,IAAIj4nB,EAAE,KAAKwC,EAAE,KAAyB,GAAG,QAAvB/B,EAAEA,EAAE03nB,iBAA4B,CAAC,EAAE,CAAC,IAAIz1nB,EAAE,CAAC81nB,UAAU/3nB,EAAE+3nB,UAAUC,KAAKh4nB,EAAEg4nB,KAAKt+mB,IAAI1Z,EAAE0Z,IAAI+iC,QAAQz8C,EAAEy8C,QAAQ9tC,SAAS3O,EAAE2O,SAASnN,KAAK,MAAM,OAAOO,EAAExC,EAAEwC,EAAEE,EAAEF,EAAEA,EAAEP,KAAKS,EAAEjC,EAAEA,EAAEwB,IAAI,OAAO,OAAOxB,GAAG,OAAO+B,EAAExC,EAAEwC,EAAEhE,EAAEgE,EAAEA,EAAEP,KAAKzD,CAAC,MAAMwB,EAAEwC,EAAEhE,EAAiH,OAA/GiC,EAAE,CAACy3nB,UAAU35nB,EAAE25nB,UAAUC,gBAAgBn4nB,EAAEo4nB,eAAe51nB,EAAE61nB,OAAO95nB,EAAE85nB,OAAOnpnB,QAAQ3Q,EAAE2Q,cAAS9K,EAAE6znB,YAAYx3nB,EAAQ,CAAoB,QAAnB2D,EAAE3D,EAAE23nB,gBAAwB33nB,EAAE03nB,gBAAgB35nB,EAAE4F,EAAEnC,KACnfzD,EAAEiC,EAAE23nB,eAAe55nB,CAAC,CACpB,SAASq6nB,GAAGz0nB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAEoE,EAAE6znB,YAAYv0E,IAAG,EAAG,IAAIlhjB,EAAExC,EAAEm4nB,gBAAgBz1nB,EAAE1C,EAAEo4nB,eAAexwmB,EAAE5nB,EAAEq4nB,OAAO1jE,QAAQ,GAAG,OAAO/siB,EAAE,CAAC5nB,EAAEq4nB,OAAO1jE,QAAQ,KAAK,IAAIhxjB,EAAEikB,EAAEqd,EAAEthC,EAAE1B,KAAK0B,EAAE1B,KAAK,KAAK,OAAOS,EAAEF,EAAEyiC,EAAEviC,EAAET,KAAKgjC,EAAEviC,EAAEiB,EAAE,IAAID,EAAEU,EAAE4+mB,UAAU,OAAOt/mB,KAAoBkkB,GAAhBlkB,EAAEA,EAAEu0nB,aAAgBG,kBAAmB11nB,IAAI,OAAOklB,EAAElkB,EAAEy0nB,gBAAgBlzlB,EAAErd,EAAE3lB,KAAKgjC,EAAEvhC,EAAE00nB,eAAez0nB,GAAG,CAAC,GAAG,OAAOnB,EAAE,CAAC,IAAIkC,EAAE1E,EAAEk4nB,UAA6B,IAAnBx1nB,EAAE,EAAEgB,EAAEuhC,EAAEthC,EAAE,KAAKikB,EAAEplB,IAAI,CAAC,IAAI9B,EAAEknB,EAAE6wmB,KAAKh2nB,EAAEmlB,EAAE4wmB,UAAU,IAAIj6nB,EAAEmC,KAAKA,EAAE,CAAC,OAAOgD,IAAIA,EAAEA,EAAEzB,KAAK,CAACu2nB,UAAU/1nB,EAAEg2nB,KAAK,EAAEt+mB,IAAIyN,EAAEzN,IAAI+iC,QAAQt1B,EAAEs1B,QAAQ9tC,SAASwY,EAAExY,SACvfnN,KAAK,OAAOmC,EAAE,CAAC,IAAI1E,EAAE0E,EAAE7E,EAAEqoB,EAAU,OAARlnB,EAAElC,EAAEiE,EAAEhC,EAASlB,EAAE4a,KAAK,KAAK,EAAc,GAAG,oBAAfza,EAAEH,EAAE29C,SAAiC,CAACx4C,EAAEhF,EAAEG,KAAK4C,EAAEiC,EAAEhE,GAAG,MAAM0D,CAAC,CAACM,EAAEhF,EAAE,MAAM0E,EAAE,KAAK,EAAE1E,EAAE0V,OAAe,MAAT1V,EAAE0V,MAAa,IAAI,KAAK,EAAsD,GAAG,QAA3C1U,EAAE,oBAAdhB,EAAEH,EAAE29C,SAAgCx9C,EAAEG,KAAK4C,EAAEiC,EAAEhE,GAAGhB,SAAe,IAASgB,EAAE,MAAM0D,EAAEM,EAAEupf,EAAE,CAAC,EAAEvpf,EAAEhE,GAAG,MAAM0D,EAAE,KAAK,EAAEs/iB,IAAG,EAAG,CAAC,OAAO97hB,EAAExY,UAAU,IAAIwY,EAAE6wmB,OAAOr0nB,EAAEgR,OAAO,GAAe,QAAZ1U,EAAEV,EAAEkP,SAAiBlP,EAAEkP,QAAQ,CAAC0Y,GAAGlnB,EAAE6C,KAAKqkB,GAAG,MAAMnlB,EAAE,CAAC+1nB,UAAU/1nB,EAAEg2nB,KAAK/3nB,EAAEyZ,IAAIyN,EAAEzN,IAAI+iC,QAAQt1B,EAAEs1B,QAAQ9tC,SAASwY,EAAExY,SAASnN,KAAK,MAAM,OAAOyB,GAAGuhC,EAAEvhC,EAAEjB,EAAEkB,EAAEe,GAAGhB,EAAEA,EAAEzB,KAAKQ,EAAEC,GAAGhC,EAC3e,GAAG,QAAZknB,EAAEA,EAAE3lB,MAAiB,IAAsB,QAAnB2lB,EAAE5nB,EAAEq4nB,OAAO1jE,SAAiB,MAAe/siB,GAAJlnB,EAAEknB,GAAM3lB,KAAKvB,EAAEuB,KAAK,KAAKjC,EAAEo4nB,eAAe13nB,EAAEV,EAAEq4nB,OAAO1jE,QAAQ,IAAI,EAAsG,GAA5F,OAAOjxjB,IAAIC,EAAEe,GAAG1E,EAAEk4nB,UAAUv0nB,EAAE3D,EAAEm4nB,gBAAgBlzlB,EAAEjlC,EAAEo4nB,eAAe10nB,EAA4B,QAA1BlF,EAAEwB,EAAEq4nB,OAAOP,aAAwB,CAAC93nB,EAAExB,EAAE,GAAGkE,GAAG1C,EAAEy4nB,KAAKz4nB,EAAEA,EAAEiC,WAAWjC,IAAIxB,EAAE,MAAM,OAAOgE,IAAIxC,EAAEq4nB,OAAOd,MAAM,GAAGxyE,IAAIrijB,EAAE0B,EAAEmznB,MAAM70nB,EAAE0B,EAAE8+mB,cAAcx+mB,CAAC,CAAC,CAC9V,SAASo0nB,GAAG10nB,EAAE5F,EAAEiC,GAA8B,GAA3B2D,EAAE5F,EAAE0Q,QAAQ1Q,EAAE0Q,QAAQ,KAAQ,OAAO9K,EAAE,IAAI5F,EAAE,EAAEA,EAAE4F,EAAExE,OAAOpB,IAAI,CAAC,IAAID,EAAE6F,EAAE5F,GAAGwB,EAAEzB,EAAE6Q,SAAS,GAAG,OAAOpP,EAAE,CAAqB,GAApBzB,EAAE6Q,SAAS,KAAK7Q,EAAEkC,EAAK,oBAAoBT,EAAE,MAAM4H,MAAM/I,EAAE,IAAImB,IAAIA,EAAEH,KAAKtB,EAAE,CAAC,CAAC,CAAC,IAAIw6nB,IAAI,IAAIxc,EAAG/rmB,WAAWgiC,KAAK,SAASwmlB,GAAG50nB,EAAE5F,EAAEiC,EAAElC,GAA8BkC,EAAE,QAAXA,EAAEA,EAAElC,EAAtBC,EAAE4F,EAAE8+mB,sBAAmC,IAASzinB,EAAEjC,EAAEyvf,EAAE,CAAC,EAAEzvf,EAAEiC,GAAG2D,EAAE8+mB,cAAczinB,EAAE,IAAI2D,EAAEmznB,QAAQnznB,EAAE6znB,YAAYC,UAAUz3nB,EAAE,CAClX,IAAIutjB,GAAG,CAACirE,UAAU,SAAS70nB,GAAG,SAAOA,EAAEA,EAAE80nB,kBAAiBnW,GAAG3+mB,KAAKA,CAAI,EAAE+0nB,gBAAgB,SAAS/0nB,EAAE5F,EAAEiC,GAAG2D,EAAEA,EAAE80nB,gBAAgB,IAAI36nB,EAAEssL,KAAI7qL,EAAEo5nB,GAAGh1nB,GAAG5B,EAAE+1nB,GAAGh6nB,EAAEyB,GAAGwC,EAAE06C,QAAQ1+C,OAAE,IAASiC,GAAG,OAAOA,IAAI+B,EAAE4M,SAAS3O,GAAe,QAAZjC,EAAEk6nB,GAAGt0nB,EAAE5B,EAAExC,MAAcq5nB,GAAG76nB,EAAE4F,EAAEpE,EAAEzB,GAAGo6nB,GAAGn6nB,EAAE4F,EAAEpE,GAAG,EAAEs5nB,oBAAoB,SAASl1nB,EAAE5F,EAAEiC,GAAG2D,EAAEA,EAAE80nB,gBAAgB,IAAI36nB,EAAEssL,KAAI7qL,EAAEo5nB,GAAGh1nB,GAAG5B,EAAE+1nB,GAAGh6nB,EAAEyB,GAAGwC,EAAE2X,IAAI,EAAE3X,EAAE06C,QAAQ1+C,OAAE,IAASiC,GAAG,OAAOA,IAAI+B,EAAE4M,SAAS3O,GAAe,QAAZjC,EAAEk6nB,GAAGt0nB,EAAE5B,EAAExC,MAAcq5nB,GAAG76nB,EAAE4F,EAAEpE,EAAEzB,GAAGo6nB,GAAGn6nB,EAAE4F,EAAEpE,GAAG,EAAEu5nB,mBAAmB,SAASn1nB,EAAE5F,GAAG4F,EAAEA,EAAE80nB,gBAAgB,IAAIz4nB,EAAEoqL,KAAItsL,EACnf66nB,GAAGh1nB,GAAGpE,EAAEu4nB,GAAG93nB,EAAElC,GAAGyB,EAAEma,IAAI,OAAE,IAAS3b,GAAG,OAAOA,IAAIwB,EAAEoP,SAAS5Q,GAAe,QAAZA,EAAEk6nB,GAAGt0nB,EAAEpE,EAAEzB,MAAc86nB,GAAG76nB,EAAE4F,EAAE7F,EAAEkC,GAAGk4nB,GAAGn6nB,EAAE4F,EAAE7F,GAAG,GAAG,SAASi7nB,GAAGp1nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,GAAiB,MAAM,oBAApB0B,EAAEA,EAAEw9mB,WAAsCjpB,sBAAsBv0lB,EAAEu0lB,sBAAsBp6lB,EAAEiE,EAAEE,IAAGlE,EAAEW,YAAWX,EAAEW,UAAUs6nB,wBAAsB9K,GAAGlunB,EAAElC,KAAKownB,GAAG3unB,EAAEwC,GAAK,CAC1S,SAASk3nB,GAAGt1nB,EAAE5F,EAAEiC,GAAG,IAAIlC,GAAE,EAAGyB,EAAE+znB,GAAOvxnB,EAAEhE,EAAEkolB,YAA2W,MAA/V,kBAAkBlklB,GAAG,OAAOA,EAAEA,EAAEi1nB,GAAGj1nB,IAAIxC,EAAEq0nB,GAAG71nB,GAAGy1nB,GAAGpzjB,GAAEhjC,QAAyBr7B,GAAGjE,EAAE,QAAtBA,EAAEC,EAAEmolB,oBAA4B,IAASpolB,GAAG21nB,GAAG9vnB,EAAEpE,GAAG+znB,IAAIv1nB,EAAE,IAAIA,EAAEiC,EAAE+B,GAAG4B,EAAE8+mB,cAAc,OAAO1knB,EAAE6K,YAAO,IAAS7K,EAAE6K,MAAM7K,EAAE6K,MAAM,KAAK7K,EAAEm7nB,QAAQ3rE,GAAG5pjB,EAAEw9mB,UAAUpjnB,EAAEA,EAAE06nB,gBAAgB90nB,EAAE7F,KAAI6F,EAAEA,EAAEw9mB,WAAYuS,4CAA4Cn0nB,EAAEoE,EAAEgwnB,0CAA0C5xnB,GAAUhE,CAAC,CAC5Z,SAASo7nB,GAAGx1nB,EAAE5F,EAAEiC,EAAElC,GAAG6F,EAAE5F,EAAE6K,MAAM,oBAAoB7K,EAAEm3lB,2BAA2Bn3lB,EAAEm3lB,0BAA0Bl1lB,EAAElC,GAAG,oBAAoBC,EAAEq7nB,kCAAkCr7nB,EAAEq7nB,iCAAiCp5nB,EAAElC,GAAGC,EAAE6K,QAAQjF,GAAG4pjB,GAAGsrE,oBAAoB96nB,EAAEA,EAAE6K,MAAM,KAAK,CACpQ,SAASywnB,GAAG11nB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAEoE,EAAEw9mB,UAAU5hnB,EAAEuQ,MAAM9P,EAAET,EAAEqJ,MAAMjF,EAAE8+mB,cAAcljnB,EAAEwyC,KAAKumlB,GAAGf,GAAG5znB,GAAG,IAAI5B,EAAEhE,EAAEkolB,YAAY,kBAAkBlklB,GAAG,OAAOA,EAAExC,EAAEmQ,QAAQsnnB,GAAGj1nB,IAAIA,EAAE6xnB,GAAG71nB,GAAGy1nB,GAAGpzjB,GAAEhjC,QAAQ79B,EAAEmQ,QAAQ+jnB,GAAG9vnB,EAAE5B,IAAIxC,EAAEqJ,MAAMjF,EAAE8+mB,cAA2C,oBAA7B1gnB,EAAEhE,EAAEsolB,4BAAiDkyC,GAAG50nB,EAAE5F,EAAEgE,EAAE/B,GAAGT,EAAEqJ,MAAMjF,EAAE8+mB,eAAe,oBAAoB1knB,EAAEsolB,0BAA0B,oBAAoB9mlB,EAAEuzlB,yBAAyB,oBAAoBvzlB,EAAE+5nB,2BAA2B,oBAAoB/5nB,EAAE0zlB,qBAAqBl1lB,EAAEwB,EAAEqJ,MACrf,oBAAoBrJ,EAAE0zlB,oBAAoB1zlB,EAAE0zlB,qBAAqB,oBAAoB1zlB,EAAE+5nB,2BAA2B/5nB,EAAE+5nB,4BAA4Bv7nB,IAAIwB,EAAEqJ,OAAO2kjB,GAAGsrE,oBAAoBt5nB,EAAEA,EAAEqJ,MAAM,MAAMwvnB,GAAGz0nB,EAAE3D,EAAET,EAAEzB,GAAGyB,EAAEqJ,MAAMjF,EAAE8+mB,eAAe,oBAAoBljnB,EAAEsmE,oBAAoBliE,EAAEgR,OAAO,QAAQ,CACpS,SAAS4knB,GAAG51nB,EAAE5F,EAAEiC,GAAW,GAAG,QAAX2D,EAAE3D,EAAEiW,MAAiB,oBAAoBtS,GAAG,kBAAkBA,EAAE,CAAC,GAAG3D,EAAEinH,OAAO,CAAY,GAAXjnH,EAAEA,EAAEinH,OAAY,CAAC,GAAG,IAAIjnH,EAAE0Z,IAAI,MAAMvS,MAAM/I,EAAE,MAAM,IAAIN,EAAEkC,EAAEmhnB,SAAS,CAAC,IAAIrjnB,EAAE,MAAMqJ,MAAM/I,EAAE,IAAIuF,IAAI,IAAIpE,EAAEzB,EAAEiE,EAAE,GAAG4B,EAAE,OAAG,OAAO5F,GAAG,OAAOA,EAAEkY,KAAK,oBAAoBlY,EAAEkY,KAAKlY,EAAEkY,IAAIujnB,aAAaz3nB,EAAShE,EAAEkY,KAAIlY,EAAE,SAAS4F,GAAG,IAAI5F,EAAEwB,EAAEwyC,KAAKh0C,IAAIu6nB,KAAKv6nB,EAAEwB,EAAEwyC,KAAK,CAAC,GAAG,OAAOpuC,SAAS5F,EAAEgE,GAAGhE,EAAEgE,GAAG4B,CAAC,EAAE5F,EAAEy7nB,WAAWz3nB,EAAShE,EAAC,CAAC,GAAG,kBAAkB4F,EAAE,MAAMwD,MAAM/I,EAAE,MAAM,IAAI4B,EAAEinH,OAAO,MAAM9/G,MAAM/I,EAAE,IAAIuF,GAAI,CAAC,OAAOA,CAAC,CACre,SAASuiI,GAAGviI,EAAE5F,GAAuC,MAApC4F,EAAE3F,OAAOU,UAAUsP,SAAS5O,KAAKrB,GAASoJ,MAAM/I,EAAE,GAAG,oBAAoBuF,EAAE,qBAAqB3F,OAAOgR,KAAKjR,GAAGkQ,KAAK,MAAM,IAAItK,GAAI,CAAC,SAAS81nB,GAAG91nB,GAAiB,OAAO5F,EAAf4F,EAAEk2G,OAAel2G,EAAEu6mB,SAAS,CACrM,SAASwb,GAAG/1nB,GAAG,SAAS5F,EAAEA,EAAEiC,GAAG,GAAG2D,EAAE,CAAC,IAAI7F,EAAEC,EAAEq3nB,UAAU,OAAOt3nB,GAAGC,EAAEq3nB,UAAU,CAACp1nB,GAAGjC,EAAE4W,OAAO,IAAI7W,EAAEgF,KAAK9C,EAAE,CAAC,CAAC,SAASA,EAAEA,EAAElC,GAAG,IAAI6F,EAAE,OAAO,KAAK,KAAK,OAAO7F,GAAGC,EAAEiC,EAAElC,GAAGA,EAAEA,EAAE+knB,QAAQ,OAAO,IAAI,CAAC,SAAS/knB,EAAE6F,EAAE5F,GAAG,IAAI4F,EAAE,IAAIgsE,IAAI,OAAO5xE,GAAG,OAAOA,EAAE+B,IAAI6D,EAAE2B,IAAIvH,EAAE+B,IAAI/B,GAAG4F,EAAE2B,IAAIvH,EAAEwd,MAAMxd,GAAGA,EAAEA,EAAE8knB,QAAQ,OAAOl/mB,CAAC,CAAC,SAASpE,EAAEoE,EAAE5F,GAAsC,OAAnC4F,EAAEg2nB,GAAGh2nB,EAAE5F,IAAKwd,MAAM,EAAE5X,EAAEk/mB,QAAQ,KAAYl/mB,CAAC,CAAC,SAAS5B,EAAEhE,EAAEiC,EAAElC,GAAa,OAAVC,EAAEwd,MAAMzd,EAAM6F,EAA6C,QAAjB7F,EAAEC,EAAEwknB,YAA6BzknB,EAAEA,EAAEyd,OAAQvb,GAAGjC,EAAE4W,OAAO,EAAE3U,GAAGlC,GAAEC,EAAE4W,OAAO,EAAS3U,IAArGjC,EAAE4W,OAAO,QAAQ3U,EAAqF,CAAC,SAASiC,EAAElE,GACzd,OAD4d4F,GAC7f,OAAO5F,EAAEwknB,YAAYxknB,EAAE4W,OAAO,GAAU5W,CAAC,CAAC,SAASopB,EAAExjB,EAAE5F,EAAEiC,EAAElC,GAAG,OAAG,OAAOC,GAAG,IAAIA,EAAE2b,MAAW3b,EAAE+4L,GAAG92L,EAAE2D,EAAEonB,KAAKjtB,IAAKye,OAAO5Y,EAAE5F,KAAEA,EAAEwB,EAAExB,EAAEiC,IAAKuc,OAAO5Y,EAAS5F,EAAC,CAAC,SAASmF,EAAES,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIiE,EAAE/B,EAAEgW,KAAK,OAAGjU,IAAI+6mB,EAAU75mB,EAAEU,EAAE5F,EAAEiC,EAAE8P,MAAMkD,SAASlV,EAAEkC,EAAEF,KAAQ,OAAO/B,IAAIA,EAAE2sW,cAAc3oW,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEullB,WAAWi2B,GAAIkc,GAAG13nB,KAAKhE,EAAEiY,QAAalY,EAAEyB,EAAExB,EAAEiC,EAAE8P,QAASmG,IAAIsjnB,GAAG51nB,EAAE5F,EAAEiC,GAAGlC,EAAEye,OAAO5Y,EAAE7F,KAAEA,EAAE87nB,GAAG55nB,EAAEgW,KAAKhW,EAAEF,IAAIE,EAAE8P,MAAM,KAAKnM,EAAEonB,KAAKjtB,IAAKmY,IAAIsjnB,GAAG51nB,EAAE5F,EAAEiC,GAAGlC,EAAEye,OAAO5Y,EAAS7F,EAAC,CAAC,SAAS0mC,EAAE7gC,EAAE5F,EAAEiC,EAAElC,GAAG,OAAG,OAAOC,GAAG,IAAIA,EAAE2b,KACjf3b,EAAEojnB,UAAU6F,gBAAgBhnnB,EAAEgnnB,eAAejpnB,EAAEojnB,UAAU0Y,iBAAiB75nB,EAAE65nB,iBAAsB97nB,EAAEk5L,GAAGj3L,EAAE2D,EAAEonB,KAAKjtB,IAAKye,OAAO5Y,EAAE5F,KAAEA,EAAEwB,EAAExB,EAAEiC,EAAEgT,UAAU,KAAMuJ,OAAO5Y,EAAS5F,EAAC,CAAC,SAASkF,EAAEU,EAAE5F,EAAEiC,EAAElC,EAAEiE,GAAG,OAAG,OAAOhE,GAAG,IAAIA,EAAE2b,MAAW3b,EAAE+7nB,GAAG95nB,EAAE2D,EAAEonB,KAAKjtB,EAAEiE,IAAKwa,OAAO5Y,EAAE5F,KAAEA,EAAEwB,EAAExB,EAAEiC,IAAKuc,OAAO5Y,EAAS5F,EAAC,CAAC,SAASkG,EAAEN,EAAE5F,EAAEiC,GAAG,GAAG,kBAAkBjC,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAOA,EAAE+4L,GAAG,GAAG/4L,EAAE4F,EAAEonB,KAAK/qB,IAAKuc,OAAO5Y,EAAE5F,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEuplB,UAAU,KAAKs1B,EAAG,OAAO58mB,EAAE45nB,GAAG77nB,EAAEiY,KAAKjY,EAAE+B,IAAI/B,EAAE+R,MAAM,KAAKnM,EAAEonB,KAAK/qB,IACjfiW,IAAIsjnB,GAAG51nB,EAAE,KAAK5F,GAAGiC,EAAEuc,OAAO5Y,EAAE3D,EAAE,KAAK68mB,EAAG,OAAO9+mB,EAAEk5L,GAAGl5L,EAAE4F,EAAEonB,KAAK/qB,IAAKuc,OAAO5Y,EAAE5F,EAAE,KAAKw/mB,EAAiB,OAAOt5mB,EAAEN,GAAE7F,EAAnBC,EAAE87G,OAAmB97G,EAAEmgnB,UAAUl+mB,GAAG,GAAG0yhB,GAAG30hB,IAAI2/mB,EAAG3/mB,GAAG,OAAOA,EAAE+7nB,GAAG/7nB,EAAE4F,EAAEonB,KAAK/qB,EAAE,OAAQuc,OAAO5Y,EAAE5F,EAAEmoI,GAAGviI,EAAE5F,EAAE,CAAC,OAAO,IAAI,CAAC,SAASkC,EAAE0D,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAE,OAAOxB,EAAEA,EAAE+B,IAAI,KAAK,GAAG,kBAAkBE,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAO,OAAOT,EAAE,KAAK4nB,EAAExjB,EAAE5F,EAAE,GAAGiC,EAAElC,GAAG,GAAG,kBAAkBkC,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEsnlB,UAAU,KAAKs1B,EAAG,OAAO58mB,EAAEF,MAAMP,EAAE2D,EAAES,EAAE5F,EAAEiC,EAAElC,GAAG,KAAK,KAAK++mB,EAAG,OAAO78mB,EAAEF,MAAMP,EAAEilC,EAAE7gC,EAAE5F,EAAEiC,EAAElC,GAAG,KAAK,KAAKy/mB,EAAG,OAAiBt9mB,EAAE0D,EACpf5F,GADwewB,EAAES,EAAE65G,OACxe75G,EAAEk+mB,UAAUpgnB,GAAG,GAAG40hB,GAAG1yhB,IAAI09mB,EAAG19mB,GAAG,OAAO,OAAOT,EAAE,KAAK0D,EAAEU,EAAE5F,EAAEiC,EAAElC,EAAE,MAAMooI,GAAGviI,EAAE3D,EAAE,CAAC,OAAO,IAAI,CAAC,SAASgC,EAAE2B,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,GAAG,kBAAkBzB,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAwBqpB,EAAEppB,EAAnB4F,EAAEA,EAAEyB,IAAIpF,IAAI,KAAW,GAAGlC,EAAEyB,GAAG,GAAG,kBAAkBzB,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEwplB,UAAU,KAAKs1B,EAAG,OAA2C15mB,EAAEnF,EAAtC4F,EAAEA,EAAEyB,IAAI,OAAOtH,EAAEgC,IAAIE,EAAElC,EAAEgC,MAAM,KAAWhC,EAAEyB,GAAG,KAAKs9mB,EAAG,OAA2Cr4kB,EAAEzmC,EAAtC4F,EAAEA,EAAEyB,IAAI,OAAOtH,EAAEgC,IAAIE,EAAElC,EAAEgC,MAAM,KAAWhC,EAAEyB,GAAG,KAAKg+mB,EAAiB,OAAOv7mB,EAAE2B,EAAE5F,EAAEiC,GAAE+B,EAAvBjE,EAAE+7G,OAAuB/7G,EAAEognB,UAAU3+mB,GAAG,GAAGmzhB,GAAG50hB,IAAI4/mB,EAAG5/mB,GAAG,OAAwBmF,EAAElF,EAAnB4F,EAAEA,EAAEyB,IAAIpF,IAAI,KAAWlC,EAAEyB,EAAE,MAAM2mI,GAAGnoI,EAAED,EAAE,CAAC,OAAO,IAAI,CAC9f,SAASmB,EAAEM,EAAE0C,EAAEklB,EAAEjkB,GAAG,IAAI,IAAIshC,EAAE,KAAKvhC,EAAE,KAAKyH,EAAEzI,EAAE8/F,EAAE9/F,EAAE,EAAEmd,EAAE,KAAK,OAAO1U,GAAGq3F,EAAE56E,EAAEhoB,OAAO4iG,IAAI,CAACr3F,EAAE6Q,MAAMwmF,GAAG3iF,EAAE1U,EAAEA,EAAE,MAAM0U,EAAE1U,EAAEm4mB,QAAQ,IAAI5jnB,EAAEgB,EAAEV,EAAEmL,EAAEyc,EAAE46E,GAAG7+F,GAAG,GAAG,OAAOjE,EAAE,CAAC,OAAOyL,IAAIA,EAAE0U,GAAG,KAAK,CAACzb,GAAG+G,GAAG,OAAOzL,EAAEsjnB,WAAWxknB,EAAEwB,EAAEmL,GAAGzI,EAAEF,EAAE9C,EAAEgD,EAAE8/F,GAAG,OAAO9+F,EAAEuhC,EAAEvlC,EAAEgE,EAAE4/mB,QAAQ5jnB,EAAEgE,EAAEhE,EAAEyL,EAAE0U,CAAC,CAAC,GAAG2iF,IAAI56E,EAAEhoB,OAAO,OAAOa,EAAET,EAAEmL,GAAGqmhB,IAAG9vW,GAAG1hL,EAAEwiG,GAAGv9D,EAAE,GAAG,OAAO95B,EAAE,CAAC,KAAKq3F,EAAE56E,EAAEhoB,OAAO4iG,IAAkB,QAAdr3F,EAAEzG,EAAE1E,EAAE4nB,EAAE46E,GAAG7+F,MAAcjB,EAAEF,EAAE2I,EAAEzI,EAAE8/F,GAAG,OAAO9+F,EAAEuhC,EAAE95B,EAAEzH,EAAE4/mB,QAAQn4mB,EAAEzH,EAAEyH,GAAc,OAAXqmhB,IAAG9vW,GAAG1hL,EAAEwiG,GAAUv9D,CAAC,CAAC,IAAI95B,EAAE5M,EAAEyB,EAAEmL,GAAGq3F,EAAE56E,EAAEhoB,OAAO4iG,IAAsB,QAAlB3iF,EAAEpd,EAAE0I,EAAEnL,EAAEwiG,EAAE56E,EAAE46E,GAAG7+F,MAAcS,GAAG,OAAOyb,EAAEmjmB,WAAW73mB,EAAEskE,OAAO,OACvf5vD,EAAEtf,IAAIiiG,EAAE3iF,EAAEtf,KAAKmC,EAAEF,EAAEqd,EAAEnd,EAAE8/F,GAAG,OAAO9+F,EAAEuhC,EAAEplB,EAAEnc,EAAE4/mB,QAAQzjmB,EAAEnc,EAAEmc,GAAuD,OAApDzb,GAAG+G,EAAEgE,SAAQ,SAAS/K,GAAG,OAAO5F,EAAEwB,EAAEoE,EAAE,IAAGothB,IAAG9vW,GAAG1hL,EAAEwiG,GAAUv9D,CAAC,CAAC,SAAS1lC,EAAES,EAAE0C,EAAEklB,EAAEjkB,GAAG,IAAIshC,EAAEk5kB,EAAGv2lB,GAAG,GAAG,oBAAoBqd,EAAE,MAAMr9B,MAAM/I,EAAE,MAAkB,GAAG,OAAf+oB,EAAEqd,EAAEplC,KAAK+nB,IAAc,MAAMhgB,MAAM/I,EAAE,MAAM,IAAI,IAAIsM,EAAE85B,EAAE,KAAKvhC,EAAEhB,EAAE8/F,EAAE9/F,EAAE,EAAEmd,EAAE,KAAKngB,EAAEkoB,EAAE3lB,OAAO,OAAOyB,IAAIhE,EAAE0C,KAAKogG,IAAI9iG,EAAEkoB,EAAE3lB,OAAO,CAACyB,EAAEsY,MAAMwmF,GAAG3iF,EAAEnc,EAAEA,EAAE,MAAMmc,EAAEnc,EAAE4/mB,QAAQ,IAAI/jnB,EAAEmB,EAAEV,EAAE0D,EAAEhE,EAAEqC,MAAM4B,GAAG,GAAG,OAAOpE,EAAE,CAAC,OAAOmE,IAAIA,EAAEmc,GAAG,KAAK,CAACzb,GAAGV,GAAG,OAAOnE,EAAEyjnB,WAAWxknB,EAAEwB,EAAE0D,GAAGhB,EAAEF,EAAEjD,EAAEmD,EAAE8/F,GAAG,OAAOr3F,EAAE85B,EAAE1lC,EAAE4L,EAAEm4mB,QAAQ/jnB,EAAE4L,EAAE5L,EAAEmE,EAAEmc,CAAC,CAAC,GAAGngB,EAAE0C,KAAK,OAAO3B,EAAET,EACzf0D,GAAG8thB,IAAG9vW,GAAG1hL,EAAEwiG,GAAGv9D,EAAE,GAAG,OAAOvhC,EAAE,CAAC,MAAMhE,EAAE0C,KAAKogG,IAAI9iG,EAAEkoB,EAAE3lB,OAAwB,QAAjBvC,EAAEgF,EAAE1E,EAAEN,EAAEqC,MAAM4B,MAAcjB,EAAEF,EAAE9C,EAAEgD,EAAE8/F,GAAG,OAAOr3F,EAAE85B,EAAEvlC,EAAEyL,EAAEm4mB,QAAQ5jnB,EAAEyL,EAAEzL,GAAc,OAAX8xhB,IAAG9vW,GAAG1hL,EAAEwiG,GAAUv9D,CAAC,CAAC,IAAIvhC,EAAEnF,EAAEyB,EAAE0D,IAAIhE,EAAE0C,KAAKogG,IAAI9iG,EAAEkoB,EAAE3lB,OAA4B,QAArBvC,EAAE+C,EAAEiB,EAAE1D,EAAEwiG,EAAE9iG,EAAEqC,MAAM4B,MAAcS,GAAG,OAAO1E,EAAEsjnB,WAAWt/mB,EAAE+rE,OAAO,OAAO/vE,EAAEa,IAAIiiG,EAAE9iG,EAAEa,KAAKmC,EAAEF,EAAE9C,EAAEgD,EAAE8/F,GAAG,OAAOr3F,EAAE85B,EAAEvlC,EAAEyL,EAAEm4mB,QAAQ5jnB,EAAEyL,EAAEzL,GAAuD,OAApD0E,GAAGV,EAAEyL,SAAQ,SAAS/K,GAAG,OAAO5F,EAAEwB,EAAEoE,EAAE,IAAGothB,IAAG9vW,GAAG1hL,EAAEwiG,GAAUv9D,CAAC,CAG3T,OAH4T,SAAS00f,EAAEv1hB,EAAE7F,EAAEiE,EAAEolB,GAAkF,GAA/E,kBAAkBplB,GAAG,OAAOA,GAAGA,EAAEiU,OAAO8mmB,GAAI,OAAO/6mB,EAAEjC,MAAMiC,EAAEA,EAAE+N,MAAMkD,UAAa,kBAAkBjR,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEullB,UAAU,KAAKs1B,EAAGj5mB,EAAE,CAAC,IAAI,IAAIT,EAC7hBnB,EAAEjC,IAAI0kC,EAAE1mC,EAAE,OAAO0mC,GAAG,CAAC,GAAGA,EAAE1kC,MAAMoD,EAAE,CAAU,IAATA,EAAEnB,EAAEiU,QAAY8mmB,GAAI,GAAG,IAAIt4kB,EAAE9qB,IAAI,CAAC1Z,EAAE2D,EAAE6gC,EAAEq+kB,UAAS/knB,EAAEyB,EAAEilC,EAAEziC,EAAE+N,MAAMkD,WAAYuJ,OAAO5Y,EAAEA,EAAE7F,EAAE,MAAM6F,CAAC,OAAO,GAAG6gC,EAAEkmU,cAAcxnW,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEoklB,WAAWi2B,GAAIkc,GAAGv2nB,KAAKshC,EAAExuB,KAAK,CAAChW,EAAE2D,EAAE6gC,EAAEq+kB,UAAS/knB,EAAEyB,EAAEilC,EAAEziC,EAAE+N,QAASmG,IAAIsjnB,GAAG51nB,EAAE6gC,EAAEziC,GAAGjE,EAAEye,OAAO5Y,EAAEA,EAAE7F,EAAE,MAAM6F,CAAC,CAAC3D,EAAE2D,EAAE6gC,GAAG,KAAK,CAAMzmC,EAAE4F,EAAE6gC,GAAGA,EAAEA,EAAEq+kB,OAAO,CAAC9gnB,EAAEiU,OAAO8mmB,IAAIh/mB,EAAEg8nB,GAAG/3nB,EAAE+N,MAAMkD,SAASrP,EAAEonB,KAAK5D,EAAEplB,EAAEjC,MAAOyc,OAAO5Y,EAAEA,EAAE7F,KAAIqpB,EAAEyymB,GAAG73nB,EAAEiU,KAAKjU,EAAEjC,IAAIiC,EAAE+N,MAAM,KAAKnM,EAAEonB,KAAK5D,IAAKlR,IAAIsjnB,GAAG51nB,EAAE7F,EAAEiE,GAAGolB,EAAE5K,OAAO5Y,EAAEA,EAAEwjB,EAAE,CAAC,OAAOllB,EAAE0B,GAAG,KAAKk5mB,EAAGl5mB,EAAE,CAAC,IAAI6gC,EAAEziC,EAAEjC,IAAI,OACzfhC,GAAG,CAAC,GAAGA,EAAEgC,MAAM0kC,EAAC,CAAC,GAAG,IAAI1mC,EAAE4b,KAAK5b,EAAEqjnB,UAAU6F,gBAAgBjlnB,EAAEilnB,eAAelpnB,EAAEqjnB,UAAU0Y,iBAAiB93nB,EAAE83nB,eAAe,CAAC75nB,EAAE2D,EAAE7F,EAAE+knB,UAAS/knB,EAAEyB,EAAEzB,EAAEiE,EAAEiR,UAAU,KAAMuJ,OAAO5Y,EAAEA,EAAE7F,EAAE,MAAM6F,CAAC,CAAM3D,EAAE2D,EAAE7F,GAAG,KAAM,CAAKC,EAAE4F,EAAE7F,GAAGA,EAAEA,EAAE+knB,OAAO,EAAC/knB,EAAEm5L,GAAGl1L,EAAE4B,EAAEonB,KAAK5D,IAAK5K,OAAO5Y,EAAEA,EAAE7F,CAAC,CAAC,OAAOmE,EAAE0B,GAAG,KAAK45mB,EAAG,OAAiBrkF,EAAEv1hB,EAAE7F,GAAd0mC,EAAEziC,EAAE83G,OAAc93G,EAAEm8mB,UAAU/2lB,GAAG,GAAGurgB,GAAG3whB,GAAG,OAAO9C,EAAE0E,EAAE7F,EAAEiE,EAAEolB,GAAG,GAAGu2lB,EAAG37mB,GAAG,OAAOjD,EAAE6E,EAAE7F,EAAEiE,EAAEolB,GAAG++G,GAAGviI,EAAE5B,EAAE,CAAC,MAAM,kBAAkBA,GAAG,KAAKA,GAAG,kBAAkBA,GAAGA,EAAE,GAAGA,EAAE,OAAOjE,GAAG,IAAIA,EAAE4b,KAAK1Z,EAAE2D,EAAE7F,EAAE+knB,UAAS/knB,EAAEyB,EAAEzB,EAAEiE,IAAKwa,OAAO5Y,EAAEA,EAAE7F,IACnfkC,EAAE2D,EAAE7F,IAAGA,EAAEg5L,GAAG/0L,EAAE4B,EAAEonB,KAAK5D,IAAK5K,OAAO5Y,EAAEA,EAAE7F,GAAGmE,EAAE0B,IAAI3D,EAAE2D,EAAE7F,EAAE,CAAS,CAAC,IAAIi8nB,GAAGL,IAAG,GAAIM,GAAGN,IAAG,GAAIO,GAAG,CAAC,EAAEC,GAAG7G,GAAG4G,IAAIE,GAAG9G,GAAG4G,IAAIG,GAAG/G,GAAG4G,IAAI,SAASI,GAAG12nB,GAAG,GAAGA,IAAIs2nB,GAAG,MAAM9ynB,MAAM/I,EAAE,MAAM,OAAOuF,CAAC,CAAC,SAAS22nB,GAAG32nB,EAAE5F,GAAyC,OAAtCk7hB,GAAEmhG,GAAGr8nB,GAAGk7hB,GAAEkhG,GAAGx2nB,GAAGs1hB,GAAEihG,GAAGD,IAAIt2nB,EAAE5F,EAAEmX,UAAmB,KAAK,EAAE,KAAK,GAAGnX,GAAGA,EAAEA,EAAEsnG,iBAAiBtnG,EAAE4hnB,aAAa1hc,GAAG,KAAK,IAAI,MAAM,QAAkElgL,EAAEkgL,GAArClgL,GAAvB4F,EAAE,IAAIA,EAAE5F,EAAEuW,WAAWvW,GAAM4hnB,cAAc,KAAKh8mB,EAAEA,EAAE67B,SAAkB8qJ,GAAE4vc,IAAIjhG,GAAEihG,GAAGn8nB,EAAE,CAAC,SAASw8nB,KAAKjwc,GAAE4vc,IAAI5vc,GAAE6vc,IAAI7vc,GAAE8vc,GAAG,CACnb,SAASI,GAAG72nB,GAAG02nB,GAAGD,GAAGh9lB,SAAS,IAAIr/B,EAAEs8nB,GAAGH,GAAG98lB,SAAap9B,EAAEi+K,GAAGlgL,EAAE4F,EAAEqS,MAAMjY,IAAIiC,IAAIi5hB,GAAEkhG,GAAGx2nB,GAAGs1hB,GAAEihG,GAAGl6nB,GAAG,CAAC,SAASy6nB,GAAG92nB,GAAGw2nB,GAAG/8lB,UAAUz5B,IAAI2mL,GAAE4vc,IAAI5vc,GAAE6vc,IAAI,CAAC,IAAI7jkB,GAAE+8jB,GAAG,GACrJ,SAASqH,GAAG/2nB,GAAG,IAAI,IAAI5F,EAAE4F,EAAE,OAAO5F,GAAG,CAAC,GAAG,KAAKA,EAAE2b,IAAI,CAAC,IAAI1Z,EAAEjC,EAAE0knB,cAAc,GAAG,OAAOzinB,IAAmB,QAAfA,EAAEA,EAAE0inB,aAAqB,OAAO1inB,EAAEuG,MAAM,OAAOvG,EAAEuG,MAAM,OAAOxI,CAAC,MAAM,GAAG,KAAKA,EAAE2b,UAAK,IAAS3b,EAAE83nB,cAAc8E,aAAa,GAAG,KAAa,IAAR58nB,EAAE4W,OAAW,OAAO5W,OAAO,GAAG,OAAOA,EAAEuX,MAAM,CAACvX,EAAEuX,MAAMiH,OAAOxe,EAAEA,EAAEA,EAAEuX,MAAM,QAAQ,CAAC,GAAGvX,IAAI4F,EAAE,MAAM,KAAK,OAAO5F,EAAE8knB,SAAS,CAAC,GAAG,OAAO9knB,EAAEwe,QAAQxe,EAAEwe,SAAS5Y,EAAE,OAAO,KAAK5F,EAAEA,EAAEwe,MAAM,CAACxe,EAAE8knB,QAAQtmmB,OAAOxe,EAAEwe,OAAOxe,EAAEA,EAAE8knB,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI+X,GAAG,GACrc,SAASC,KAAK,IAAI,IAAIl3nB,EAAE,EAAEA,EAAEi3nB,GAAGz7nB,OAAOwE,IAAIi3nB,GAAGj3nB,GAAGm3nB,8BAA8B,KAAKF,GAAGz7nB,OAAO,CAAC,CAAC,IAAI47nB,GAAG/sjB,EAAGgtjB,uBAAuBC,GAAGjtjB,EAAGw5iB,wBAAwB0T,GAAG,EAAElqG,GAAE,KAAKr+Y,GAAE,KAAK3xI,GAAE,KAAKm6nB,IAAG,EAAGC,IAAG,EAAGC,GAAG,EAAEC,GAAG,EAAE,SAASjxc,KAAI,MAAMljL,MAAM/I,EAAE,KAAM,CAAC,SAASm9nB,GAAG53nB,EAAE5F,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIiC,EAAE,EAAEA,EAAEjC,EAAEoB,QAAQa,EAAE2D,EAAExE,OAAOa,IAAI,IAAIiunB,GAAGtqnB,EAAE3D,GAAGjC,EAAEiC,IAAI,OAAM,EAAG,OAAM,CAAE,CAChW,SAASw7nB,GAAG73nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,GAAyH,GAAtHm5nB,GAAGn5nB,EAAEivhB,GAAEjzhB,EAAEA,EAAE0knB,cAAc,KAAK1knB,EAAEy5nB,YAAY,KAAKz5nB,EAAE+4nB,MAAM,EAAEiE,GAAG39lB,QAAQ,OAAOz5B,GAAG,OAAOA,EAAE8+mB,cAAcgZ,GAAGC,GAAG/3nB,EAAE3D,EAAElC,EAAEyB,GAAM67nB,GAAG,CAACr5nB,EAAE,EAAE,EAAE,CAAY,GAAXq5nB,IAAG,EAAGC,GAAG,EAAK,IAAIt5nB,EAAE,MAAMoF,MAAM/I,EAAE,MAAM2D,GAAG,EAAEf,GAAE2xI,GAAE,KAAK50I,EAAEy5nB,YAAY,KAAKuD,GAAG39lB,QAAQu+lB,GAAGh4nB,EAAE3D,EAAElC,EAAEyB,EAAE,OAAO67nB,GAAG,CAA+D,GAA9DL,GAAG39lB,QAAQw+lB,GAAG79nB,EAAE,OAAO40I,IAAG,OAAOA,GAAEnxI,KAAK05nB,GAAG,EAAEl6nB,GAAE2xI,GAAEq+Y,GAAE,KAAKmqG,IAAG,EAAMp9nB,EAAE,MAAMoJ,MAAM/I,EAAE,MAAM,OAAOuF,CAAC,CAAC,SAASk4nB,KAAK,IAAIl4nB,EAAE,IAAI03nB,GAAQ,OAALA,GAAG,EAAS13nB,CAAC,CAC/Y,SAASm4nB,KAAK,IAAIn4nB,EAAE,CAAC8+mB,cAAc,KAAKgV,UAAU,KAAKsE,UAAU,KAAKxqgB,MAAM,KAAK/vH,KAAK,MAA8C,OAAxC,OAAOR,GAAEgwhB,GAAEyxF,cAAczhnB,GAAE2C,EAAE3C,GAAEA,GAAEQ,KAAKmC,EAAS3C,EAAC,CAAC,SAASg7nB,KAAK,GAAG,OAAOrpf,GAAE,CAAC,IAAIhvI,EAAEqthB,GAAEuxF,UAAU5+mB,EAAE,OAAOA,EAAEA,EAAE8+mB,cAAc,IAAI,MAAM9+mB,EAAEgvI,GAAEnxI,KAAK,IAAIzD,EAAE,OAAOiD,GAAEgwhB,GAAEyxF,cAAczhnB,GAAEQ,KAAK,GAAG,OAAOzD,EAAEiD,GAAEjD,EAAE40I,GAAEhvI,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAMwD,MAAM/I,EAAE,MAAUuF,EAAE,CAAC8+mB,eAAP9ve,GAAEhvI,GAAqB8+mB,cAAcgV,UAAU9kf,GAAE8kf,UAAUsE,UAAUppf,GAAEopf,UAAUxqgB,MAAMohB,GAAEphB,MAAM/vH,KAAK,MAAM,OAAOR,GAAEgwhB,GAAEyxF,cAAczhnB,GAAE2C,EAAE3C,GAAEA,GAAEQ,KAAKmC,CAAC,CAAC,OAAO3C,EAAC,CACje,SAASi7nB,GAAGt4nB,EAAE5F,GAAG,MAAM,oBAAoBA,EAAEA,EAAE4F,GAAG5F,CAAC,CACnD,SAAS+9K,GAAGn4K,GAAG,IAAI5F,EAAEi+nB,KAAKh8nB,EAAEjC,EAAEwzH,MAAM,GAAG,OAAOvxH,EAAE,MAAMmH,MAAM/I,EAAE,MAAM4B,EAAEk8nB,oBAAoBv4nB,EAAE,IAAI7F,EAAE60I,GAAEpzI,EAAEzB,EAAEi+nB,UAAUh6nB,EAAE/B,EAAEk0jB,QAAQ,GAAG,OAAOnyjB,EAAE,CAAC,GAAG,OAAOxC,EAAE,CAAC,IAAI0C,EAAE1C,EAAEiC,KAAKjC,EAAEiC,KAAKO,EAAEP,KAAKO,EAAEP,KAAKS,CAAC,CAACnE,EAAEi+nB,UAAUx8nB,EAAEwC,EAAE/B,EAAEk0jB,QAAQ,IAAI,CAAC,GAAG,OAAO30jB,EAAE,CAACwC,EAAExC,EAAEiC,KAAK1D,EAAEA,EAAE25nB,UAAU,IAAItwmB,EAAEllB,EAAE,KAAKiB,EAAE,KAAKshC,EAAEziC,EAAE,EAAE,CAAC,IAAIkB,EAAEuhC,EAAEwzlB,KAAK,IAAIkD,GAAGj4nB,KAAKA,EAAE,OAAOC,IAAIA,EAAEA,EAAE1B,KAAK,CAACw2nB,KAAK,EAAE3umB,OAAOmb,EAAEnb,OAAO8ymB,cAAc33lB,EAAE23lB,cAAcC,WAAW53lB,EAAE43lB,WAAW56nB,KAAK,OAAO1D,EAAE0mC,EAAE23lB,cAAc33lB,EAAE43lB,WAAWz4nB,EAAE7F,EAAE0mC,EAAEnb,YAAY,CAAC,IAAIplB,EAAE,CAAC+znB,KAAK/0nB,EAAEomB,OAAOmb,EAAEnb,OAAO8ymB,cAAc33lB,EAAE23lB,cACngBC,WAAW53lB,EAAE43lB,WAAW56nB,KAAK,MAAM,OAAO0B,GAAGikB,EAAEjkB,EAAEe,EAAEhC,EAAEnE,GAAGoF,EAAEA,EAAE1B,KAAKyC,EAAE+shB,GAAE8lG,OAAO7znB,EAAEqhjB,IAAIrhjB,CAAC,CAACuhC,EAAEA,EAAEhjC,IAAI,OAAO,OAAOgjC,GAAGA,IAAIziC,GAAG,OAAOmB,EAAEjB,EAAEnE,EAAEoF,EAAE1B,KAAK2lB,EAAE8mmB,GAAGnwnB,EAAEC,EAAE0knB,iBAAiBsU,IAAG,GAAIh5nB,EAAE0knB,cAAc3knB,EAAEC,EAAE05nB,UAAUx1nB,EAAElE,EAAEg+nB,UAAU74nB,EAAElD,EAAEq8nB,kBAAkBv+nB,CAAC,CAAiB,GAAG,QAAnB6F,EAAE3D,EAAEq3nB,aAAwB,CAAC93nB,EAAEoE,EAAE,GAAG5B,EAAExC,EAAEy4nB,KAAKhnG,GAAE8lG,OAAO/0nB,EAAEuijB,IAAIvijB,EAAExC,EAAEA,EAAEiC,WAAWjC,IAAIoE,EAAE,MAAM,OAAOpE,IAAIS,EAAE82nB,MAAM,GAAG,MAAM,CAAC/4nB,EAAE0knB,cAAczinB,EAAEs8nB,SAAS,CAC9X,SAASC,GAAG54nB,GAAG,IAAI5F,EAAEi+nB,KAAKh8nB,EAAEjC,EAAEwzH,MAAM,GAAG,OAAOvxH,EAAE,MAAMmH,MAAM/I,EAAE,MAAM4B,EAAEk8nB,oBAAoBv4nB,EAAE,IAAI7F,EAAEkC,EAAEs8nB,SAAS/8nB,EAAES,EAAEk0jB,QAAQnyjB,EAAEhE,EAAE0knB,cAAc,GAAG,OAAOljnB,EAAE,CAACS,EAAEk0jB,QAAQ,KAAK,IAAIjyjB,EAAE1C,EAAEA,EAAEiC,KAAK,GAAGO,EAAE4B,EAAE5B,EAAEE,EAAEonB,QAAQpnB,EAAEA,EAAET,WAAWS,IAAI1C,GAAG0unB,GAAGlsnB,EAAEhE,EAAE0knB,iBAAiBsU,IAAG,GAAIh5nB,EAAE0knB,cAAc1gnB,EAAE,OAAOhE,EAAEg+nB,YAAYh+nB,EAAE05nB,UAAU11nB,GAAG/B,EAAEq8nB,kBAAkBt6nB,CAAC,CAAC,MAAM,CAACA,EAAEjE,EAAE,CAAC,SAASutD,KAAK,CACpW,SAASkpI,GAAG5wL,EAAE5F,GAAG,IAAIiC,EAAEgxhB,GAAElzhB,EAAEk+nB,KAAKz8nB,EAAExB,IAAIgE,GAAGksnB,GAAGnwnB,EAAE2knB,cAAcljnB,GAAsE,GAAnEwC,IAAIjE,EAAE2knB,cAAcljnB,EAAEw3nB,IAAG,GAAIj5nB,EAAEA,EAAEyzH,MAAMirgB,GAAG5nc,GAAG5yJ,KAAK,KAAKhiC,EAAElC,EAAE6F,GAAG,CAACA,IAAO7F,EAAE2+nB,cAAc1+nB,GAAGgE,GAAG,OAAOf,IAAuB,EAApBA,GAAEyhnB,cAAc/omB,IAAM,CAAuD,GAAtD1Z,EAAE2U,OAAO,KAAK+nnB,GAAG,EAAEh+c,GAAG18I,KAAK,KAAKhiC,EAAElC,EAAEyB,EAAExB,QAAG,EAAO,MAAS,OAAO+yhB,GAAE,MAAM3phB,MAAM/I,EAAE,MAAM,KAAQ,GAAH88nB,KAAQyB,GAAG38nB,EAAEjC,EAAEwB,EAAE,CAAC,OAAOA,CAAC,CAAC,SAASo9nB,GAAGh5nB,EAAE5F,EAAEiC,GAAG2D,EAAEgR,OAAO,MAAMhR,EAAE,CAAC84nB,YAAY1+nB,EAAEuD,MAAMtB,GAAmB,QAAhBjC,EAAEizhB,GAAEwmG,cAAsBz5nB,EAAE,CAAC6+nB,WAAW,KAAKC,OAAO,MAAM7rG,GAAEwmG,YAAYz5nB,EAAEA,EAAE8+nB,OAAO,CAACl5nB,IAAgB,QAAX3D,EAAEjC,EAAE8+nB,QAAgB9+nB,EAAE8+nB,OAAO,CAACl5nB,GAAG3D,EAAE8C,KAAKa,EAAG,CAClf,SAAS+6K,GAAG/6K,EAAE5F,EAAEiC,EAAElC,GAAGC,EAAEuD,MAAMtB,EAAEjC,EAAE0+nB,YAAY3+nB,EAAEg/nB,GAAG/+nB,IAAIg/nB,GAAGp5nB,EAAE,CAAC,SAASixL,GAAGjxL,EAAE5F,EAAEiC,GAAG,OAAOA,GAAE,WAAW88nB,GAAG/+nB,IAAIg/nB,GAAGp5nB,EAAE,GAAE,CAAC,SAASm5nB,GAAGn5nB,GAAG,IAAI5F,EAAE4F,EAAE84nB,YAAY94nB,EAAEA,EAAErC,MAAM,IAAI,IAAItB,EAAEjC,IAAI,OAAOkwnB,GAAGtqnB,EAAE3D,EAAE,CAAC,MAAMlC,GAAG,OAAM,CAAE,CAAC,CAAC,SAASi/nB,GAAGp5nB,GAAG,IAAI5F,EAAEu5nB,GAAG3znB,EAAE,GAAG,OAAO5F,GAAG66nB,GAAG76nB,EAAE4F,EAAE,GAAG,EAAE,CAClQ,SAASq5nB,GAAGr5nB,GAAG,IAAI5F,EAAE+9nB,KAA8M,MAAzM,oBAAoBn4nB,IAAIA,EAAEA,KAAK5F,EAAE0knB,cAAc1knB,EAAE05nB,UAAU9znB,EAAEA,EAAE,CAACuwjB,QAAQ,KAAKmjE,YAAY,KAAKP,MAAM,EAAEwF,SAAS,KAAKJ,oBAAoBD,GAAGI,kBAAkB14nB,GAAG5F,EAAEwzH,MAAM5tH,EAAEA,EAAEA,EAAE24nB,SAASW,GAAGj7lB,KAAK,KAAKgvf,GAAErthB,GAAS,CAAC5F,EAAE0knB,cAAc9+mB,EAAE,CAC5P,SAAS+4nB,GAAG/4nB,EAAE5F,EAAEiC,EAAElC,GAA8O,OAA3O6F,EAAE,CAAC+V,IAAI/V,EAAEhF,OAAOZ,EAAEqV,QAAQpT,EAAEk9nB,KAAKp/nB,EAAE0D,KAAK,MAAsB,QAAhBzD,EAAEizhB,GAAEwmG,cAAsBz5nB,EAAE,CAAC6+nB,WAAW,KAAKC,OAAO,MAAM7rG,GAAEwmG,YAAYz5nB,EAAEA,EAAE6+nB,WAAWj5nB,EAAEnC,KAAKmC,GAAmB,QAAf3D,EAAEjC,EAAE6+nB,YAAoB7+nB,EAAE6+nB,WAAWj5nB,EAAEnC,KAAKmC,GAAG7F,EAAEkC,EAAEwB,KAAKxB,EAAEwB,KAAKmC,EAAEA,EAAEnC,KAAK1D,EAAEC,EAAE6+nB,WAAWj5nB,GAAWA,CAAC,CAAC,SAAS48K,KAAK,OAAOy7c,KAAKvZ,aAAa,CAAC,SAAS/rb,GAAG/yL,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAEu8nB,KAAK9qG,GAAEr8gB,OAAOhR,EAAEpE,EAAEkjnB,cAAcia,GAAG,EAAE3+nB,EAAEiC,OAAE,OAAO,IAASlC,EAAE,KAAKA,EAAE,CAC9Y,SAASq/nB,GAAGx5nB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAEy8nB,KAAKl+nB,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIiE,OAAE,EAAO,GAAG,OAAO4wI,GAAE,CAAC,IAAI1wI,EAAE0wI,GAAE8ve,cAA0B,GAAZ1gnB,EAAEE,EAAEmR,QAAW,OAAOtV,GAAGy9nB,GAAGz9nB,EAAEmE,EAAEi7nB,MAAmC,YAA5B39nB,EAAEkjnB,cAAcia,GAAG3+nB,EAAEiC,EAAE+B,EAAEjE,GAAU,CAACkzhB,GAAEr8gB,OAAOhR,EAAEpE,EAAEkjnB,cAAcia,GAAG,EAAE3+nB,EAAEiC,EAAE+B,EAAEjE,EAAE,CAAC,SAAS2jL,GAAG99K,EAAE5F,GAAG,OAAO24L,GAAG,QAAQ,EAAE/yL,EAAE5F,EAAE,CAAC,SAASy+nB,GAAG74nB,EAAE5F,GAAG,OAAOo/nB,GAAG,KAAK,EAAEx5nB,EAAE5F,EAAE,CAAC,SAASq/nB,GAAGz5nB,EAAE5F,GAAG,OAAOo/nB,GAAG,EAAE,EAAEx5nB,EAAE5F,EAAE,CAAC,SAASk3D,GAAGtxD,EAAE5F,GAAG,OAAOo/nB,GAAG,EAAE,EAAEx5nB,EAAE5F,EAAE,CAChX,SAASgkL,GAAGp+K,EAAE5F,GAAG,MAAG,oBAAoBA,GAAS4F,EAAEA,IAAI5F,EAAE4F,GAAG,WAAW5F,EAAE,KAAK,GAAK,OAAOA,QAAG,IAASA,GAAS4F,EAAEA,IAAI5F,EAAEq/B,QAAQz5B,EAAE,WAAW5F,EAAEq/B,QAAQ,IAAI,QAA1E,CAA2E,CAAC,SAASigmB,GAAG15nB,EAAE5F,EAAEiC,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEzC,OAAO,CAACoG,IAAI,KAAYw5nB,GAAG,EAAE,EAAEp7c,GAAG//I,KAAK,KAAKjkC,EAAE4F,GAAG3D,EAAE,CAAC,SAASs9nB,KAAK,CAAC,SAASC,GAAG55nB,EAAE5F,GAAG,IAAIiC,EAAEg8nB,KAAKj+nB,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAID,EAAEkC,EAAEyinB,cAAc,OAAG,OAAO3knB,GAAG,OAAOC,GAAGw9nB,GAAGx9nB,EAAED,EAAE,IAAWA,EAAE,IAAGkC,EAAEyinB,cAAc,CAAC9+mB,EAAE5F,GAAU4F,EAAC,CAC7Z,SAAS65nB,GAAG75nB,EAAE5F,GAAG,IAAIiC,EAAEg8nB,KAAKj+nB,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAID,EAAEkC,EAAEyinB,cAAc,OAAG,OAAO3knB,GAAG,OAAOC,GAAGw9nB,GAAGx9nB,EAAED,EAAE,IAAWA,EAAE,IAAG6F,EAAEA,IAAI3D,EAAEyinB,cAAc,CAAC9+mB,EAAE5F,GAAU4F,EAAC,CAAC,SAAS85nB,GAAG95nB,EAAE5F,EAAEiC,GAAG,OAAG,KAAQ,GAAHk7nB,KAAcv3nB,EAAE8znB,YAAY9znB,EAAE8znB,WAAU,EAAGV,IAAG,GAAIpznB,EAAE8+mB,cAAczinB,IAAEiunB,GAAGjunB,EAAEjC,KAAKiC,EAAEklnB,KAAKl0F,GAAE8lG,OAAO92nB,EAAEskjB,IAAItkjB,EAAE2D,EAAE8znB,WAAU,GAAW15nB,EAAC,CAAC,SAAS2/nB,GAAG/5nB,EAAE5F,GAAG,IAAIiC,EAAEk0D,GAAEA,GAAE,IAAIl0D,GAAG,EAAEA,EAAEA,EAAE,EAAE2D,GAAE,GAAI,IAAI7F,EAAEm9nB,GAAGnhmB,WAAWmhmB,GAAGnhmB,WAAW,CAAC,EAAE,IAAIn2B,GAAE,GAAI5F,GAAG,CAAC,QAAQm2D,GAAEl0D,EAAEi7nB,GAAGnhmB,WAAWh8B,CAAC,CAAC,CAAC,SAAS6/nB,KAAK,OAAO3B,KAAKvZ,aAAa,CAC1d,SAASmb,GAAGj6nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE66nB,GAAGh1nB,GAAkE,GAA/D3D,EAAE,CAACg4nB,KAAKl6nB,EAAEurB,OAAOrpB,EAAEm8nB,eAAc,EAAGC,WAAW,KAAK56nB,KAAK,MAASq8nB,GAAGl6nB,GAAGm6nB,GAAG//nB,EAAEiC,QAAQ,GAAiB,QAAdA,EAAEo3nB,GAAGzznB,EAAE5F,EAAEiC,EAAElC,IAAY,CAAW86nB,GAAG54nB,EAAE2D,EAAE7F,EAAXssL,MAAgB2zc,GAAG/9nB,EAAEjC,EAAED,EAAE,CAAC,CAC/K,SAASm/nB,GAAGt5nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE66nB,GAAGh1nB,GAAGpE,EAAE,CAACy4nB,KAAKl6nB,EAAEurB,OAAOrpB,EAAEm8nB,eAAc,EAAGC,WAAW,KAAK56nB,KAAK,MAAM,GAAGq8nB,GAAGl6nB,GAAGm6nB,GAAG//nB,EAAEwB,OAAO,CAAC,IAAIwC,EAAE4B,EAAE4+mB,UAAU,GAAG,IAAI5+mB,EAAEmznB,QAAQ,OAAO/0nB,GAAG,IAAIA,EAAE+0nB,QAAiC,QAAxB/0nB,EAAEhE,EAAEm+nB,qBAA8B,IAAI,IAAIj6nB,EAAElE,EAAEs+nB,kBAAkBl1mB,EAAEplB,EAAEE,EAAEjC,GAAqC,GAAlCT,EAAE48nB,eAAc,EAAG58nB,EAAE68nB,WAAWj1mB,EAAK8mmB,GAAG9mmB,EAAEllB,GAAG,CAAC,IAAIiB,EAAEnF,EAAEs5nB,YAA+E,OAAnE,OAAOn0nB,GAAG3D,EAAEiC,KAAKjC,EAAE43nB,GAAGp5nB,KAAKwB,EAAEiC,KAAK0B,EAAE1B,KAAK0B,EAAE1B,KAAKjC,QAAGxB,EAAEs5nB,YAAY93nB,EAAQ,CAAC,CAAC,MAAMilC,GAAG,CAAwB,QAAdxkC,EAAEo3nB,GAAGzznB,EAAE5F,EAAEwB,EAAEzB,MAAoB86nB,GAAG54nB,EAAE2D,EAAE7F,EAAbyB,EAAE6qL,MAAgB2zc,GAAG/9nB,EAAEjC,EAAED,GAAG,CAAC,CAC/c,SAAS+/nB,GAAGl6nB,GAAG,IAAI5F,EAAE4F,EAAE4+mB,UAAU,OAAO5+mB,IAAIqthB,IAAG,OAAOjzhB,GAAGA,IAAIizhB,EAAC,CAAC,SAAS8sG,GAAGn6nB,EAAE5F,GAAGq9nB,GAAGD,IAAG,EAAG,IAAIn7nB,EAAE2D,EAAEuwjB,QAAQ,OAAOl0jB,EAAEjC,EAAEyD,KAAKzD,GAAGA,EAAEyD,KAAKxB,EAAEwB,KAAKxB,EAAEwB,KAAKzD,GAAG4F,EAAEuwjB,QAAQn2jB,CAAC,CAAC,SAASggoB,GAAGp6nB,EAAE5F,EAAEiC,GAAG,GAAG,KAAO,QAAFA,GAAW,CAAC,IAAIlC,EAAEC,EAAE+4nB,MAAwB92nB,GAAlBlC,GAAG6F,EAAEghnB,aAAkB5mnB,EAAE+4nB,MAAM92nB,EAAEslnB,GAAG3hnB,EAAE3D,EAAE,CAAC,CAC9P,IAAI47nB,GAAG,CAACoC,YAAYhH,GAAGiH,YAAY5zc,GAAEnoK,WAAWmoK,GAAE6zc,UAAU7zc,GAAE8zc,oBAAoB9zc,GAAEhjK,mBAAmBgjK,GAAE+zc,gBAAgB/zc,GAAEg0c,QAAQh0c,GAAEi0c,WAAWj0c,GAAEk0c,OAAOl0c,GAAEm0c,SAASn0c,GAAEo0c,cAAcp0c,GAAEq0c,iBAAiBr0c,GAAEs0c,cAAct0c,GAAEu0c,iBAAiBv0c,GAAEw0c,qBAAqBx0c,GAAEy0c,MAAMz0c,GAAE00c,0BAAyB,GAAItD,GAAG,CAACuC,YAAYhH,GAAGiH,YAAY,SAASt6nB,EAAE5F,GAA4C,OAAzC+9nB,KAAKrZ,cAAc,CAAC9+mB,OAAE,IAAS5F,EAAE,KAAKA,GAAU4F,CAAC,EAAEue,WAAW80mB,GAAGkH,UAAUz8c,GAAG08c,oBAAoB,SAASx6nB,EAAE5F,EAAEiC,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEzC,OAAO,CAACoG,IAAI,KAAY+yL,GAAG,QAC3f,EAAE3U,GAAG//I,KAAK,KAAKjkC,EAAE4F,GAAG3D,EAAE,EAAEo+nB,gBAAgB,SAASz6nB,EAAE5F,GAAG,OAAO24L,GAAG,QAAQ,EAAE/yL,EAAE5F,EAAE,EAAEspB,mBAAmB,SAAS1jB,EAAE5F,GAAG,OAAO24L,GAAG,EAAE,EAAE/yL,EAAE5F,EAAE,EAAEsgoB,QAAQ,SAAS16nB,EAAE5F,GAAG,IAAIiC,EAAE87nB,KAAqD,OAAhD/9nB,OAAE,IAASA,EAAE,KAAKA,EAAE4F,EAAEA,IAAI3D,EAAEyinB,cAAc,CAAC9+mB,EAAE5F,GAAU4F,CAAC,EAAE26nB,WAAW,SAAS36nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEg+nB,KAAkM,OAA7L/9nB,OAAE,IAASiC,EAAEA,EAAEjC,GAAGA,EAAED,EAAE2knB,cAAc3knB,EAAE25nB,UAAU15nB,EAAE4F,EAAE,CAACuwjB,QAAQ,KAAKmjE,YAAY,KAAKP,MAAM,EAAEwF,SAAS,KAAKJ,oBAAoBv4nB,EAAE04nB,kBAAkBt+nB,GAAGD,EAAEyzH,MAAM5tH,EAAEA,EAAEA,EAAE24nB,SAASsB,GAAG57lB,KAAK,KAAKgvf,GAAErthB,GAAS,CAAC7F,EAAE2knB,cAAc9+mB,EAAE,EAAE46nB,OAAO,SAAS56nB,GAC3d,OAAdA,EAAE,CAACy5B,QAAQz5B,GAAhBm4nB,KAA4BrZ,cAAc9+mB,CAAC,EAAE66nB,SAASxB,GAAGyB,cAAcnB,GAAGoB,iBAAiB,SAAS/6nB,GAAG,OAAOm4nB,KAAKrZ,cAAc9+mB,CAAC,EAAEg7nB,cAAc,WAAW,IAAIh7nB,EAAEq5nB,IAAG,GAAIj/nB,EAAE4F,EAAE,GAA6C,OAA1CA,EAAE+5nB,GAAG17lB,KAAK,KAAKr+B,EAAE,IAAIm4nB,KAAKrZ,cAAc9+mB,EAAQ,CAAC5F,EAAE4F,EAAE,EAAEi7nB,iBAAiB,WAAW,EAAEC,qBAAqB,SAASl7nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEkzhB,GAAEzxhB,EAAEu8nB,KAAK,GAAG/qG,GAAE,CAAC,QAAG,IAAS/whB,EAAE,MAAMmH,MAAM/I,EAAE,MAAM4B,EAAEA,GAAG,KAAK,CAAO,GAANA,EAAEjC,IAAO,OAAO+yhB,GAAE,MAAM3phB,MAAM/I,EAAE,MAAM,KAAQ,GAAH88nB,KAAQyB,GAAG7+nB,EAAEC,EAAEiC,EAAE,CAACT,EAAEkjnB,cAAczinB,EAAE,IAAI+B,EAAE,CAACT,MAAMtB,EAAEy8nB,YAAY1+nB,GACvZ,OAD0ZwB,EAAEgyH,MAAMxvH,EAAE0/K,GAAGmT,GAAG5yJ,KAAK,KAAKlkC,EACpfiE,EAAE4B,GAAG,CAACA,IAAI7F,EAAE6W,OAAO,KAAK+nnB,GAAG,EAAEh+c,GAAG18I,KAAK,KAAKlkC,EAAEiE,EAAE/B,EAAEjC,QAAG,EAAO,MAAaiC,CAAC,EAAE8+nB,MAAM,WAAW,IAAIn7nB,EAAEm4nB,KAAK/9nB,EAAE+yhB,GAAEkuG,iBAAiB,GAAGjuG,GAAE,CAAC,IAAI/whB,EAAEqgL,GAAkDtiL,EAAE,IAAIA,EAAE,KAA9CiC,GAAH40nB,KAAU,GAAG,GAAGtQ,GAAhBsQ,IAAsB,IAAI5mnB,SAAS,IAAIhO,GAAuB,GAAPA,EAAEq7nB,QAAWt9nB,GAAG,IAAIiC,EAAEgO,SAAS,KAAKjQ,GAAG,GAAG,MAAaA,EAAE,IAAIA,EAAE,KAAfiC,EAAEs7nB,MAAmBttnB,SAAS,IAAI,IAAI,OAAOrK,EAAE8+mB,cAAc1knB,CAAC,EAAEghoB,0BAAyB,GAAIrD,GAAG,CAACsC,YAAYhH,GAAGiH,YAAYV,GAAGr7mB,WAAW80mB,GAAGkH,UAAU1B,GAAG2B,oBAAoBd,GAAGh2mB,mBAAmB+1mB,GAAGgB,gBAAgBnpkB,GAAGopkB,QAAQb,GAAGc,WAAWxid,GAAGyid,OAAOh+c,GAAGi+c,SAAS,WAAW,OAAO1id,GAAGmgd,GAAG,EACrhBwC,cAAcnB,GAAGoB,iBAAiB,SAAS/6nB,GAAc,OAAO85nB,GAAZzB,KAAiBrpf,GAAE8ve,cAAc9+mB,EAAE,EAAEg7nB,cAAc,WAAgD,MAAM,CAArC7id,GAAGmgd,IAAI,GAAKD,KAAKvZ,cAAyB,EAAEmc,iBAAiBvzkB,GAAGwzkB,qBAAqBtqc,GAAGuqc,MAAMnB,GAAGoB,0BAAyB,GAAIpD,GAAG,CAACqC,YAAYhH,GAAGiH,YAAYV,GAAGr7mB,WAAW80mB,GAAGkH,UAAU1B,GAAG2B,oBAAoBd,GAAGh2mB,mBAAmB+1mB,GAAGgB,gBAAgBnpkB,GAAGopkB,QAAQb,GAAGc,WAAW/B,GAAGgC,OAAOh+c,GAAGi+c,SAAS,WAAW,OAAOjC,GAAGN,GAAG,EAAEwC,cAAcnB,GAAGoB,iBAAiB,SAAS/6nB,GAAG,IAAI5F,EAAEi+nB,KAAK,OAAO,OACzfrpf,GAAE50I,EAAE0knB,cAAc9+mB,EAAE85nB,GAAG1/nB,EAAE40I,GAAE8ve,cAAc9+mB,EAAE,EAAEg7nB,cAAc,WAAgD,MAAM,CAArCpC,GAAGN,IAAI,GAAKD,KAAKvZ,cAAyB,EAAEmc,iBAAiBvzkB,GAAGwzkB,qBAAqBtqc,GAAGuqc,MAAMnB,GAAGoB,0BAAyB,GAAI,SAASE,GAAGt7nB,EAAE5F,GAAG,IAAI,IAAIiC,EAAE,GAAGlC,EAAEC,EAAE,GAAGiC,GAAGg+mB,EAAGlgnB,GAAGA,EAAEA,EAAEye,aAAaze,GAAG,IAAIyB,EAAES,CAAC,CAAC,MAAM+B,GAAGxC,EAAE,6BAA6BwC,EAAEoV,QAAQ,KAAKpV,EAAE23C,KAAK,CAAC,MAAM,CAACp4C,MAAMqC,EAAEktC,OAAO9yC,EAAE27C,MAAMn6C,EAAEkH,OAAO,KAAK,CAAC,SAASy4nB,GAAGv7nB,EAAE5F,EAAEiC,GAAG,MAAM,CAACsB,MAAMqC,EAAEktC,OAAO,KAAK6I,MAAM,MAAM15C,EAAEA,EAAE,KAAKyG,OAAO,MAAM1I,EAAEA,EAAE,KAAK,CACzd,SAASohoB,GAAGx7nB,EAAE5F,GAAG,IAAIigD,QAAQz6C,MAAMxF,EAAEuD,MAAM,CAAC,MAAMtB,GAAGgY,YAAW,WAAW,MAAMhY,CAAE,GAAE,CAAC,CAAC,IAAIo/nB,GAAG,oBAAoBz/mB,QAAQA,QAAQgwD,IAAI,SAAS0vjB,GAAG17nB,EAAE5F,EAAEiC,IAAGA,EAAE83nB,IAAI,EAAE93nB,IAAK0Z,IAAI,EAAE1Z,EAAEy8C,QAAQ,CAACz+B,QAAQ,MAAM,IAAIlgB,EAAEC,EAAEuD,MAAsD,OAAhDtB,EAAE2O,SAAS,WAAW2wnB,KAAKA,IAAG,EAAGC,GAAGzhoB,GAAGqhoB,GAAGx7nB,EAAE5F,EAAE,EAASiC,CAAC,CAC3Q,SAASw/nB,GAAG77nB,EAAE5F,EAAEiC,IAAGA,EAAE83nB,IAAI,EAAE93nB,IAAK0Z,IAAI,EAAE,IAAI5b,EAAE6F,EAAEqS,KAAKowkB,yBAAyB,GAAG,oBAAoBtolB,EAAE,CAAC,IAAIyB,EAAExB,EAAEuD,MAAMtB,EAAEy8C,QAAQ,WAAW,OAAO3+C,EAAEyB,EAAE,EAAES,EAAE2O,SAAS,WAAWwwnB,GAAGx7nB,EAAE5F,EAAE,CAAC,CAAC,IAAIgE,EAAE4B,EAAEw9mB,UAA8O,OAApO,OAAOp/mB,GAAG,oBAAoBA,EAAE09nB,oBAAoBz/nB,EAAE2O,SAAS,WAAWwwnB,GAAGx7nB,EAAE5F,GAAG,oBAAoBD,IAAI,OAAO4hoB,GAAGA,GAAG,IAAItnnB,IAAI,CAAC5Z,OAAOkhoB,GAAGptnB,IAAI9T,OAAO,IAAIwB,EAAEjC,EAAE27C,MAAMl7C,KAAKihoB,kBAAkB1hoB,EAAEuD,MAAM,CAACq+nB,eAAe,OAAO3/nB,EAAEA,EAAE,IAAI,GAAUA,CAAC,CACnb,SAAS4/nB,GAAGj8nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAEk8nB,UAAU,GAAG,OAAO/hoB,EAAE,CAACA,EAAE6F,EAAEk8nB,UAAU,IAAIT,GAAG,IAAI7/nB,EAAE,IAAI6Y,IAAIta,EAAEwH,IAAIvH,EAAEwB,EAAE,WAAiB,KAAXA,EAAEzB,EAAEsH,IAAIrH,MAAgBwB,EAAE,IAAI6Y,IAAIta,EAAEwH,IAAIvH,EAAEwB,IAAIA,EAAE4F,IAAInF,KAAKT,EAAE+S,IAAItS,GAAG2D,EAAEm8nB,GAAG99lB,KAAK,KAAKr+B,EAAE5F,EAAEiC,GAAGjC,EAAE6D,KAAK+B,EAAEA,GAAG,CAAC,SAASo8nB,GAAGp8nB,GAAG,EAAE,CAAC,IAAI5F,EAA4E,IAAvEA,EAAE,KAAK4F,EAAE+V,OAAsB3b,EAAE,QAApBA,EAAE4F,EAAE8+mB,gBAAyB,OAAO1knB,EAAE2knB,YAAuB3knB,EAAE,OAAO4F,EAAEA,EAAEA,EAAE4Y,MAAM,OAAO,OAAO5Y,GAAG,OAAO,IAAI,CAChW,SAASq8nB,GAAGr8nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,OAAG,KAAY,EAAPoE,EAAEonB,OAAepnB,IAAI5F,EAAE4F,EAAEgR,OAAO,OAAOhR,EAAEgR,OAAO,IAAI3U,EAAE2U,OAAO,OAAO3U,EAAE2U,QAAQ,MAAM,IAAI3U,EAAE0Z,MAAM,OAAO1Z,EAAEuinB,UAAUvinB,EAAE0Z,IAAI,KAAI3b,EAAE+5nB,IAAI,EAAE,IAAKp+mB,IAAI,EAAEu+mB,GAAGj4nB,EAAEjC,EAAE,KAAKiC,EAAE82nB,OAAO,GAAGnznB,IAAEA,EAAEgR,OAAO,MAAMhR,EAAEmznB,MAAMv3nB,EAASoE,EAAC,CAAC,IAAIs8nB,GAAGjyjB,EAAGkyjB,kBAAkBnJ,IAAG,EAAG,SAASoJ,GAAGx8nB,EAAE5F,EAAEiC,EAAElC,GAAGC,EAAEuX,MAAM,OAAO3R,EAAEq2nB,GAAGj8nB,EAAE,KAAKiC,EAAElC,GAAGi8nB,GAAGh8nB,EAAE4F,EAAE2R,MAAMtV,EAAElC,EAAE,CACnV,SAASsioB,GAAGz8nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAGS,EAAEA,EAAEsX,OAAO,IAAIvV,EAAEhE,EAAEkY,IAAqC,OAAjC2gnB,GAAG74nB,EAAEwB,GAAGzB,EAAE09nB,GAAG73nB,EAAE5F,EAAEiC,EAAElC,EAAEiE,EAAExC,GAAGS,EAAE67nB,KAAQ,OAAOl4nB,GAAIoznB,IAA2EhmG,IAAG/whB,GAAG60nB,GAAG92nB,GAAGA,EAAE4W,OAAO,EAAEwrnB,GAAGx8nB,EAAE5F,EAAED,EAAEyB,GAAUxB,EAAEuX,QAA7GvX,EAAEy5nB,YAAY7znB,EAAE6znB,YAAYz5nB,EAAE4W,QAAQ,KAAKhR,EAAEmznB,QAAQv3nB,EAAE8goB,GAAG18nB,EAAE5F,EAAEwB,GAAoD,CACzN,SAAS+goB,GAAG38nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,GAAG,OAAOoE,EAAE,CAAC,IAAI5B,EAAE/B,EAAEgW,KAAK,MAAG,oBAAoBjU,GAAIw+nB,GAAGx+nB,SAAI,IAASA,EAAEm2B,cAAc,OAAOl4B,EAAE4sD,cAAS,IAAS5sD,EAAEk4B,eAAoDv0B,EAAEi2nB,GAAG55nB,EAAEgW,KAAK,KAAKlY,EAAEC,EAAEA,EAAEgtB,KAAKxrB,IAAK0W,IAAIlY,EAAEkY,IAAItS,EAAE4Y,OAAOxe,EAASA,EAAEuX,MAAM3R,IAArG5F,EAAE2b,IAAI,GAAG3b,EAAEiY,KAAKjU,EAAEy+nB,GAAG78nB,EAAE5F,EAAEgE,EAAEjE,EAAEyB,GAAyE,CAAW,GAAVwC,EAAE4B,EAAE2R,MAAS,KAAK3R,EAAEmznB,MAAMv3nB,GAAG,CAAC,IAAI0C,EAAEF,EAAE8znB,cAA0C,IAAhB71nB,EAAE,QAAdA,EAAEA,EAAE4sD,SAAmB5sD,EAAEkunB,IAAQjsnB,EAAEnE,IAAI6F,EAAEsS,MAAMlY,EAAEkY,IAAI,OAAOoqnB,GAAG18nB,EAAE5F,EAAEwB,EAAE,CAA6C,OAA5CxB,EAAE4W,OAAO,GAAEhR,EAAEg2nB,GAAG53nB,EAAEjE,IAAKmY,IAAIlY,EAAEkY,IAAItS,EAAE4Y,OAAOxe,EAASA,EAAEuX,MAAM3R,CAAC,CAC1b,SAAS68nB,GAAG78nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,GAAG,OAAOoE,EAAE,CAAC,IAAI5B,EAAE4B,EAAEkynB,cAAc,GAAG3H,GAAGnsnB,EAAEjE,IAAI6F,EAAEsS,MAAMlY,EAAEkY,IAAI,IAAG8gnB,IAAG,EAAGh5nB,EAAEu3nB,aAAax3nB,EAAEiE,EAAE,KAAK4B,EAAEmznB,MAAMv3nB,GAAsC,OAAOxB,EAAE+4nB,MAAMnznB,EAAEmznB,MAAMuJ,GAAG18nB,EAAE5F,EAAEwB,GAAjE,KAAa,OAARoE,EAAEgR,SAAgBoinB,IAAG,EAAyC,EAAC,OAAO0J,GAAG98nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAE,CACxN,SAASmhoB,GAAG/8nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEC,EAAEu3nB,aAAa/1nB,EAAEzB,EAAEkV,SAASjR,EAAE,OAAO4B,EAAEA,EAAE8+mB,cAAc,KAAK,GAAG,WAAW3knB,EAAEitB,KAAK,GAAG,KAAY,EAAPhtB,EAAEgtB,MAAQhtB,EAAE0knB,cAAc,CAACke,UAAU,EAAEC,UAAU,KAAKjumB,YAAY,MAAMsmgB,GAAE4nG,GAAGC,IAAIA,IAAI9goB,MAAM,CAAC,GAAG,KAAO,WAAFA,GAAc,OAAO2D,EAAE,OAAO5B,EAAEA,EAAE4+nB,UAAU3goB,EAAEA,EAAEjC,EAAE+4nB,MAAM/4nB,EAAE44nB,WAAW,WAAW54nB,EAAE0knB,cAAc,CAACke,UAAUh9nB,EAAEi9nB,UAAU,KAAKjumB,YAAY,MAAM50B,EAAEy5nB,YAAY,KAAKv+F,GAAE4nG,GAAGC,IAAIA,IAAIn9nB,EAAE,KAAK5F,EAAE0knB,cAAc,CAACke,UAAU,EAAEC,UAAU,KAAKjumB,YAAY,MAAM70B,EAAE,OAAOiE,EAAEA,EAAE4+nB,UAAU3goB,EAAEi5hB,GAAE4nG,GAAGC,IAAIA,IAAIhjoB,CAAC,MAAM,OACtfiE,GAAGjE,EAAEiE,EAAE4+nB,UAAU3goB,EAAEjC,EAAE0knB,cAAc,MAAM3knB,EAAEkC,EAAEi5hB,GAAE4nG,GAAGC,IAAIA,IAAIhjoB,EAAc,OAAZqioB,GAAGx8nB,EAAE5F,EAAEwB,EAAES,GAAUjC,EAAEuX,KAAK,CAAC,SAASyrnB,GAAGp9nB,EAAE5F,GAAG,IAAIiC,EAAEjC,EAAEkY,KAAO,OAAOtS,GAAG,OAAO3D,GAAG,OAAO2D,GAAGA,EAAEsS,MAAMjW,KAAEjC,EAAE4W,OAAO,IAAI5W,EAAE4W,OAAO,QAAO,CAAC,SAAS8rnB,GAAG98nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,IAAIwC,EAAE6xnB,GAAG5znB,GAAGwznB,GAAGpzjB,GAAEhjC,QAAmD,OAA3Cr7B,EAAE0xnB,GAAG11nB,EAAEgE,GAAG60nB,GAAG74nB,EAAEwB,GAAGS,EAAEw7nB,GAAG73nB,EAAE5F,EAAEiC,EAAElC,EAAEiE,EAAExC,GAAGzB,EAAE+9nB,KAAQ,OAAOl4nB,GAAIoznB,IAA2EhmG,IAAGjzhB,GAAG+2nB,GAAG92nB,GAAGA,EAAE4W,OAAO,EAAEwrnB,GAAGx8nB,EAAE5F,EAAEiC,EAAET,GAAUxB,EAAEuX,QAA7GvX,EAAEy5nB,YAAY7znB,EAAE6znB,YAAYz5nB,EAAE4W,QAAQ,KAAKhR,EAAEmznB,QAAQv3nB,EAAE8goB,GAAG18nB,EAAE5F,EAAEwB,GAAoD,CACla,SAASyhoB,GAAGr9nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,GAAGq0nB,GAAG5znB,GAAG,CAAC,IAAI+B,GAAE,EAAGgynB,GAAGh2nB,EAAE,MAAMgE,GAAE,EAAW,GAAR60nB,GAAG74nB,EAAEwB,GAAM,OAAOxB,EAAEojnB,UAAU8f,GAAGt9nB,EAAE5F,GAAGk7nB,GAAGl7nB,EAAEiC,EAAElC,GAAGu7nB,GAAGt7nB,EAAEiC,EAAElC,EAAEyB,GAAGzB,GAAE,OAAQ,GAAG,OAAO6F,EAAE,CAAC,IAAI1B,EAAElE,EAAEojnB,UAAUh6lB,EAAEppB,EAAE83nB,cAAc5znB,EAAE6N,MAAMqX,EAAE,IAAIjkB,EAAEjB,EAAEyN,QAAQ80B,EAAExkC,EAAEimlB,YAAY,kBAAkBzhjB,GAAG,OAAOA,EAAEA,EAAEwylB,GAAGxylB,GAAyBA,EAAEivlB,GAAG11nB,EAA1BymC,EAAEovlB,GAAG5znB,GAAGwznB,GAAGpzjB,GAAEhjC,SAAmB,IAAIn6B,EAAEjD,EAAEqmlB,yBAAyBpilB,EAAE,oBAAoBhB,GAAG,oBAAoBhB,EAAE6wlB,wBAAwB7ulB,GAAG,oBAAoBhC,EAAEm3nB,kCAAkC,oBAAoBn3nB,EAAEizlB,4BAC1d/tkB,IAAIrpB,GAAGoF,IAAIshC,IAAI20lB,GAAGp7nB,EAAEkE,EAAEnE,EAAE0mC,GAAGy+gB,IAAG,EAAG,IAAIhjjB,EAAElC,EAAE0knB,cAAcxgnB,EAAE2G,MAAM3I,EAAEm4nB,GAAGr6nB,EAAED,EAAEmE,EAAE1C,GAAG2D,EAAEnF,EAAE0knB,cAAct7lB,IAAIrpB,GAAGmC,IAAIiD,GAAGqwnB,GAAGn2lB,SAAS6lhB,IAAI,oBAAoBhgjB,IAAIs1nB,GAAGx6nB,EAAEiC,EAAEiD,EAAEnF,GAAGoF,EAAEnF,EAAE0knB,gBAAgBt7lB,EAAE87hB,IAAI81E,GAAGh7nB,EAAEiC,EAAEmnB,EAAErpB,EAAEmC,EAAEiD,EAAEshC,KAAKvgC,GAAG,oBAAoBhC,EAAEq3nB,2BAA2B,oBAAoBr3nB,EAAEgxlB,qBAAqB,oBAAoBhxlB,EAAEgxlB,oBAAoBhxlB,EAAEgxlB,qBAAqB,oBAAoBhxlB,EAAEq3nB,2BAA2Br3nB,EAAEq3nB,6BAA6B,oBAAoBr3nB,EAAE4jE,oBAAoB9nE,EAAE4W,OAAO,WAClf,oBAAoB1S,EAAE4jE,oBAAoB9nE,EAAE4W,OAAO,SAAS5W,EAAE83nB,cAAc/3nB,EAAEC,EAAE0knB,cAAcv/mB,GAAGjB,EAAE6N,MAAMhS,EAAEmE,EAAE2G,MAAM1F,EAAEjB,EAAEyN,QAAQ80B,EAAE1mC,EAAEqpB,IAAI,oBAAoBllB,EAAE4jE,oBAAoB9nE,EAAE4W,OAAO,SAAS7W,GAAE,EAAG,KAAK,CAACmE,EAAElE,EAAEojnB,UAAU0W,GAAGl0nB,EAAE5F,GAAGopB,EAAEppB,EAAE83nB,cAAcrxlB,EAAEzmC,EAAEiY,OAAOjY,EAAE2sW,YAAYvjV,EAAE+umB,GAAGn4nB,EAAEiY,KAAKmR,GAAGllB,EAAE6N,MAAM00B,EAAEvgC,EAAElG,EAAEu3nB,aAAar1nB,EAAEgC,EAAEyN,QAAwB,kBAAhBxM,EAAElD,EAAEimlB,cAAiC,OAAO/ilB,EAAEA,EAAE8znB,GAAG9znB,GAAyBA,EAAEuwnB,GAAG11nB,EAA1BmF,EAAE0wnB,GAAG5znB,GAAGwznB,GAAGpzjB,GAAEhjC,SAAmB,IAAIp7B,EAAEhC,EAAEqmlB,0BAA0BpjlB,EAAE,oBAAoBjB,GAAG,oBAAoBC,EAAE6wlB,0BAC9e,oBAAoB7wlB,EAAEm3nB,kCAAkC,oBAAoBn3nB,EAAEizlB,4BAA4B/tkB,IAAIljB,GAAGhE,IAAIiD,IAAIi2nB,GAAGp7nB,EAAEkE,EAAEnE,EAAEoF,GAAG+/iB,IAAG,EAAGhjjB,EAAElC,EAAE0knB,cAAcxgnB,EAAE2G,MAAM3I,EAAEm4nB,GAAGr6nB,EAAED,EAAEmE,EAAE1C,GAAG,IAAIN,EAAElB,EAAE0knB,cAAct7lB,IAAIljB,GAAGhE,IAAIhB,GAAGs0nB,GAAGn2lB,SAAS6lhB,IAAI,oBAAoBjhjB,IAAIu2nB,GAAGx6nB,EAAEiC,EAAEgC,EAAElE,GAAGmB,EAAElB,EAAE0knB,gBAAgBj+kB,EAAEy+gB,IAAI81E,GAAGh7nB,EAAEiC,EAAEwkC,EAAE1mC,EAAEmC,EAAEhB,EAAEiE,KAAI,IAAKD,GAAG,oBAAoBhB,EAAEi/nB,4BAA4B,oBAAoBj/nB,EAAEk2lB,sBAAsB,oBAAoBl2lB,EAAEk2lB,qBAAqBl2lB,EAAEk2lB,oBAAoBr6lB,EAAEmB,EAAEiE,GAAG,oBAAoBjB,EAAEi/nB,4BAC5fj/nB,EAAEi/nB,2BAA2BpjoB,EAAEmB,EAAEiE,IAAI,oBAAoBjB,EAAE+jE,qBAAqBjoE,EAAE4W,OAAO,GAAG,oBAAoB1S,EAAE6wlB,0BAA0B/0lB,EAAE4W,OAAO,QAAQ,oBAAoB1S,EAAE+jE,oBAAoB7+C,IAAIxjB,EAAEkynB,eAAe51nB,IAAI0D,EAAE8+mB,gBAAgB1knB,EAAE4W,OAAO,GAAG,oBAAoB1S,EAAE6wlB,yBAAyB3rkB,IAAIxjB,EAAEkynB,eAAe51nB,IAAI0D,EAAE8+mB,gBAAgB1knB,EAAE4W,OAAO,MAAM5W,EAAE83nB,cAAc/3nB,EAAEC,EAAE0knB,cAAcxjnB,GAAGgD,EAAE6N,MAAMhS,EAAEmE,EAAE2G,MAAM3J,EAAEgD,EAAEyN,QAAQxM,EAAEpF,EAAE0mC,IAAI,oBAAoBviC,EAAE+jE,oBAAoB7+C,IAAIxjB,EAAEkynB,eAAe51nB,IACjf0D,EAAE8+mB,gBAAgB1knB,EAAE4W,OAAO,GAAG,oBAAoB1S,EAAE6wlB,yBAAyB3rkB,IAAIxjB,EAAEkynB,eAAe51nB,IAAI0D,EAAE8+mB,gBAAgB1knB,EAAE4W,OAAO,MAAM7W,GAAE,EAAG,CAAC,OAAOqjoB,GAAGx9nB,EAAE5F,EAAEiC,EAAElC,EAAEiE,EAAExC,EAAE,CACnK,SAAS4hoB,GAAGx9nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,GAAGg/nB,GAAGp9nB,EAAE5F,GAAG,IAAIkE,EAAE,KAAa,IAARlE,EAAE4W,OAAW,IAAI7W,IAAImE,EAAE,OAAO1C,GAAG00nB,GAAGl2nB,EAAEiC,GAAE,GAAIqgoB,GAAG18nB,EAAE5F,EAAEgE,GAAGjE,EAAEC,EAAEojnB,UAAU8e,GAAG7imB,QAAQr/B,EAAE,IAAIopB,EAAEllB,GAAG,oBAAoBjC,EAAEomlB,yBAAyB,KAAKtolB,EAAEwZ,SAAwI,OAA/HvZ,EAAE4W,OAAO,EAAE,OAAOhR,GAAG1B,GAAGlE,EAAEuX,MAAMyknB,GAAGh8nB,EAAE4F,EAAE2R,MAAM,KAAKvT,GAAGhE,EAAEuX,MAAMyknB,GAAGh8nB,EAAE,KAAKopB,EAAEplB,IAAIo+nB,GAAGx8nB,EAAE5F,EAAEopB,EAAEplB,GAAGhE,EAAE0knB,cAAc3knB,EAAE8K,MAAMrJ,GAAG00nB,GAAGl2nB,EAAEiC,GAAE,GAAWjC,EAAEuX,KAAK,CAAC,SAAS8rnB,GAAGz9nB,GAAG,IAAI5F,EAAE4F,EAAEw9mB,UAAUpjnB,EAAEsjoB,eAAevN,GAAGnwnB,EAAE5F,EAAEsjoB,eAAetjoB,EAAEsjoB,iBAAiBtjoB,EAAE2R,SAAS3R,EAAE2R,SAASoknB,GAAGnwnB,EAAE5F,EAAE2R,SAAQ,GAAI4qnB,GAAG32nB,EAAE5F,EAAEipnB,cAAc,CAC5e,SAASsa,GAAG39nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAuC,OAApCw2nB,KAAKC,GAAGz2nB,GAAGxB,EAAE4W,OAAO,IAAIwrnB,GAAGx8nB,EAAE5F,EAAEiC,EAAElC,GAAUC,EAAEuX,KAAK,CAAC,IAaqLisnB,GAAGC,GAAGC,GAAGC,GAb1LC,GAAG,CAACjf,WAAW,KAAK6S,YAAY,KAAKC,UAAU,GAAG,SAASoM,GAAGj+nB,GAAG,MAAM,CAACg9nB,UAAUh9nB,EAAEi9nB,UAAU,KAAKjumB,YAAY,KAAK,CAClM,SAASkvmB,GAAGl+nB,EAAE5F,EAAEiC,GAAG,IAA0DmnB,EAAtDrpB,EAAEC,EAAEu3nB,aAAa/1nB,EAAE+2D,GAAEl5B,QAAQr7B,GAAE,EAAGE,EAAE,KAAa,IAARlE,EAAE4W,OAAqJ,IAAvIwS,EAAEllB,KAAKklB,GAAE,OAAOxjB,GAAG,OAAOA,EAAE8+mB,gBAAiB,KAAO,EAAFljnB,IAAS4nB,GAAEplB,GAAE,EAAGhE,EAAE4W,QAAQ,KAAY,OAAOhR,GAAG,OAAOA,EAAE8+mB,gBAAcljnB,GAAG,GAAE05hB,GAAE3ie,GAAI,EAAF/2D,GAAQ,OAAOoE,EAA2B,OAAxB+xnB,GAAG33nB,GAAwB,QAArB4F,EAAE5F,EAAE0knB,gBAA2C,QAAf9+mB,EAAEA,EAAE++mB,aAA4B,KAAY,EAAP3knB,EAAEgtB,MAAQhtB,EAAE+4nB,MAAM,EAAE,OAAOnznB,EAAE4C,KAAKxI,EAAE+4nB,MAAM,EAAE/4nB,EAAE+4nB,MAAM,WAAW,OAAK70nB,EAAEnE,EAAEkV,SAASrP,EAAE7F,EAAEgkoB,SAAgB//nB,GAAGjE,EAAEC,EAAEgtB,KAAKhpB,EAAEhE,EAAEuX,MAAMrT,EAAE,CAAC8oB,KAAK,SAAS/X,SAAS/Q,GAAG,KAAO,EAAFnE,IAAM,OAAOiE,GAAGA,EAAE40nB,WAAW,EAAE50nB,EAAEuznB,aAC7erznB,GAAGF,EAAEggoB,GAAG9/nB,EAAEnE,EAAE,EAAE,MAAM6F,EAAEm2nB,GAAGn2nB,EAAE7F,EAAEkC,EAAE,MAAM+B,EAAEwa,OAAOxe,EAAE4F,EAAE4Y,OAAOxe,EAAEgE,EAAE8gnB,QAAQl/mB,EAAE5F,EAAEuX,MAAMvT,EAAEhE,EAAEuX,MAAMmtmB,cAAcmf,GAAG5hoB,GAAGjC,EAAE0knB,cAAckf,GAAGh+nB,GAAGq+nB,GAAGjkoB,EAAEkE,IAAqB,GAAG,QAArB1C,EAAEoE,EAAE8+mB,gBAA2C,QAAft7lB,EAAE5nB,EAAEmjnB,YAAqB,OAGpM,SAAY/+mB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,GAAG,GAAGjC,EAAG,OAAW,IAARjC,EAAE4W,OAAiB5W,EAAE4W,QAAQ,IAAwBstnB,GAAGt+nB,EAAE5F,EAAEkE,EAA3BnE,EAAEohoB,GAAG/3nB,MAAM/I,EAAE,SAAsB,OAAOL,EAAE0knB,eAAqB1knB,EAAEuX,MAAM3R,EAAE2R,MAAMvX,EAAE4W,OAAO,IAAI,OAAK5S,EAAEjE,EAAEgkoB,SAASvioB,EAAExB,EAAEgtB,KAAKjtB,EAAEikoB,GAAG,CAACh3mB,KAAK,UAAU/X,SAASlV,EAAEkV,UAAUzT,EAAE,EAAE,OAAMwC,EAAE+3nB,GAAG/3nB,EAAExC,EAAE0C,EAAE,OAAQ0S,OAAO,EAAE7W,EAAEye,OAAOxe,EAAEgE,EAAEwa,OAAOxe,EAAED,EAAE+knB,QAAQ9gnB,EAAEhE,EAAEuX,MAAMxX,EAAE,KAAY,EAAPC,EAAEgtB,OAASgvmB,GAAGh8nB,EAAE4F,EAAE2R,MAAM,KAAKrT,GAAGlE,EAAEuX,MAAMmtmB,cAAcmf,GAAG3/nB,GAAGlE,EAAE0knB,cAAckf,GAAU5/nB,GAAE,GAAG,KAAY,EAAPhE,EAAEgtB,MAAQ,OAAOk3mB,GAAGt+nB,EAAE5F,EAAEkE,EAAE,MAAM,GAAG,OAAO1C,EAAEgH,KAAK,CAChd,GADidzI,EAAEyB,EAAEuV,aAAavV,EAAEuV,YAAYotnB,QAC3e,IAAI/6mB,EAAErpB,EAAEqkoB,KAA0C,OAArCrkoB,EAAEqpB,EAA0C86mB,GAAGt+nB,EAAE5F,EAAEkE,EAA/BnE,EAAEohoB,GAAlBn9nB,EAAEoF,MAAM/I,EAAE,MAAaN,OAAE,GAA0B,CAAwB,GAAvBqpB,EAAE,KAAKllB,EAAE0B,EAAEgznB,YAAeI,IAAI5vmB,EAAE,CAAK,GAAG,QAAPrpB,EAAEgzhB,IAAc,CAAC,OAAO7uhB,GAAGA,GAAG,KAAK,EAAE1C,EAAE,EAAE,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAASA,EAAE,GAAG,MAAM,KAAK,UAAUA,EAAE,UAAU,MAAM,QAAQA,EAAE,EAChd,KADkdA,EAAE,KAAKA,GAAGzB,EAAE8mnB,eAAe3inB,IAAI,EAAE1C,IAC5eA,IAAIwC,EAAEyznB,YAAYzznB,EAAEyznB,UAAUj2nB,EAAE+3nB,GAAG3znB,EAAEpE,GAAGq5nB,GAAG96nB,EAAE6F,EAAEpE,GAAG,GAAG,CAA0B,OAAzB6ioB,KAAgCH,GAAGt+nB,EAAE5F,EAAEkE,EAAlCnE,EAAEohoB,GAAG/3nB,MAAM/I,EAAE,OAAyB,CAAC,MAAG,OAAOmB,EAAEgH,MAAYxI,EAAE4W,OAAO,IAAI5W,EAAEuX,MAAM3R,EAAE2R,MAAMvX,EAAEskoB,GAAGrgmB,KAAK,KAAKr+B,GAAGpE,EAAE+ioB,YAAYvkoB,EAAE,OAAK4F,EAAE5B,EAAEwznB,YAAYP,GAAGpC,GAAGrznB,EAAEuV,aAAaignB,GAAGh3nB,EAAEgzhB,IAAE,EAAGkkG,GAAG,KAAK,OAAOtxnB,IAAI8wnB,GAAGC,MAAME,GAAGH,GAAGC,MAAMr0c,GAAGo0c,GAAGC,MAAMC,GAAGC,GAAGjxnB,EAAEkP,GAAGwtK,GAAG18K,EAAEmpC,SAAS6nlB,GAAG52nB,GAAGA,EAAEikoB,GAAGjkoB,EAAED,EAAEkV,UAAUjV,EAAE4W,OAAO,KAAY5W,EAAC,CALrKwkoB,CAAG5+nB,EAAE5F,EAAEkE,EAAEnE,EAAEqpB,EAAE5nB,EAAES,GAAG,GAAG+B,EAAE,CAACA,EAAEjE,EAAEgkoB,SAAS7/nB,EAAElE,EAAEgtB,KAAe5D,GAAV5nB,EAAEoE,EAAE2R,OAAUutmB,QAAQ,IAAI3/mB,EAAE,CAAC6nB,KAAK,SAAS/X,SAASlV,EAAEkV,UAChF,OAD0F,KAAO,EAAF/Q,IAAMlE,EAAEuX,QAAQ/V,IAAGzB,EAAEC,EAAEuX,OAAQqhnB,WAAW,EAAE74nB,EAAEw3nB,aAAapynB,EAAEnF,EAAEq3nB,UAAU,OAAOt3nB,EAAE67nB,GAAGp6nB,EAAE2D,IAAKs/nB,aAA4B,SAAfjjoB,EAAEijoB,aAAuB,OAAOr7mB,EAAEplB,EAAE43nB,GAAGxymB,EAAEplB,IAAIA,EAAE+3nB,GAAG/3nB,EAAEE,EAAEjC,EAAE,OAAQ2U,OAAO,EAAG5S,EAAEwa,OACnfxe,EAAED,EAAEye,OAAOxe,EAAED,EAAE+knB,QAAQ9gnB,EAAEhE,EAAEuX,MAAMxX,EAAEA,EAAEiE,EAAEA,EAAEhE,EAAEuX,MAA8BrT,EAAE,QAA1BA,EAAE0B,EAAE2R,MAAMmtmB,eAAyBmf,GAAG5hoB,GAAG,CAAC2goB,UAAU1+nB,EAAE0+nB,UAAU3goB,EAAE4goB,UAAU,KAAKjumB,YAAY1wB,EAAE0wB,aAAa5wB,EAAE0gnB,cAAcxgnB,EAAEF,EAAE40nB,WAAWhznB,EAAEgznB,YAAY32nB,EAAEjC,EAAE0knB,cAAckf,GAAU7joB,CAAC,CAAoO,OAAzN6F,GAAV5B,EAAE4B,EAAE2R,OAAUutmB,QAAQ/knB,EAAE67nB,GAAG53nB,EAAE,CAACgpB,KAAK,UAAU/X,SAASlV,EAAEkV,WAAW,KAAY,EAAPjV,EAAEgtB,QAAUjtB,EAAEg5nB,MAAM92nB,GAAGlC,EAAEye,OAAOxe,EAAED,EAAE+knB,QAAQ,KAAK,OAAOl/mB,IAAkB,QAAd3D,EAAEjC,EAAEq3nB,YAAoBr3nB,EAAEq3nB,UAAU,CAACzxnB,GAAG5F,EAAE4W,OAAO,IAAI3U,EAAE8C,KAAKa,IAAI5F,EAAEuX,MAAMxX,EAAEC,EAAE0knB,cAAc,KAAY3knB,CAAC,CACnd,SAASkkoB,GAAGr+nB,EAAE5F,GAA8D,OAA3DA,EAAEgkoB,GAAG,CAACh3mB,KAAK,UAAU/X,SAASjV,GAAG4F,EAAEonB,KAAK,EAAE,OAAQxO,OAAO5Y,EAASA,EAAE2R,MAAMvX,CAAC,CAAC,SAASkkoB,GAAGt+nB,EAAE5F,EAAEiC,EAAElC,GAAwG,OAArG,OAAOA,GAAGk4nB,GAAGl4nB,GAAGi8nB,GAAGh8nB,EAAE4F,EAAE2R,MAAM,KAAKtV,IAAG2D,EAAEq+nB,GAAGjkoB,EAAEA,EAAEu3nB,aAAatinB,WAAY2B,OAAO,EAAE5W,EAAE0knB,cAAc,KAAY9+mB,CAAC,CAGkJ,SAAS8+nB,GAAG9+nB,EAAE5F,EAAEiC,GAAG2D,EAAEmznB,OAAO/4nB,EAAE,IAAID,EAAE6F,EAAE4+mB,UAAU,OAAOzknB,IAAIA,EAAEg5nB,OAAO/4nB,GAAG24nB,GAAG/ynB,EAAE4Y,OAAOxe,EAAEiC,EAAE,CACxc,SAAS0ioB,GAAG/+nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,IAAIwC,EAAE4B,EAAE8+mB,cAAc,OAAO1gnB,EAAE4B,EAAE8+mB,cAAc,CAACkgB,YAAY5koB,EAAE6koB,UAAU,KAAKC,mBAAmB,EAAEl2iB,KAAK7uF,EAAEm4kB,KAAKj2kB,EAAE8ioB,SAASvjoB,IAAIwC,EAAE4goB,YAAY5koB,EAAEgE,EAAE6goB,UAAU,KAAK7goB,EAAE8goB,mBAAmB,EAAE9goB,EAAE4qF,KAAK7uF,EAAEiE,EAAEk0kB,KAAKj2kB,EAAE+B,EAAE+goB,SAASvjoB,EAAE,CAC3O,SAASwjoB,GAAGp/nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEC,EAAEu3nB,aAAa/1nB,EAAEzB,EAAE68nB,YAAY54nB,EAAEjE,EAAEm4kB,KAAsC,GAAjCkqD,GAAGx8nB,EAAE5F,EAAED,EAAEkV,SAAShT,GAAkB,KAAO,GAAtBlC,EAAEw4D,GAAEl5B,UAAqBt/B,EAAI,EAAFA,EAAI,EAAEC,EAAE4W,OAAO,QAAQ,CAAC,GAAG,OAAOhR,GAAG,KAAa,IAARA,EAAEgR,OAAWhR,EAAE,IAAIA,EAAE5F,EAAEuX,MAAM,OAAO3R,GAAG,CAAC,GAAG,KAAKA,EAAE+V,IAAI,OAAO/V,EAAE8+mB,eAAeggB,GAAG9+nB,EAAE3D,EAAEjC,QAAQ,GAAG,KAAK4F,EAAE+V,IAAI+onB,GAAG9+nB,EAAE3D,EAAEjC,QAAQ,GAAG,OAAO4F,EAAE2R,MAAM,CAAC3R,EAAE2R,MAAMiH,OAAO5Y,EAAEA,EAAEA,EAAE2R,MAAM,QAAQ,CAAC,GAAG3R,IAAI5F,EAAE,MAAM4F,EAAE,KAAK,OAAOA,EAAEk/mB,SAAS,CAAC,GAAG,OAAOl/mB,EAAE4Y,QAAQ5Y,EAAE4Y,SAASxe,EAAE,MAAM4F,EAAEA,EAAEA,EAAE4Y,MAAM,CAAC5Y,EAAEk/mB,QAAQtmmB,OAAO5Y,EAAE4Y,OAAO5Y,EAAEA,EAAEk/mB,OAAO,CAAC/knB,GAAG,CAAC,CAAQ,GAAPm7hB,GAAE3ie,GAAEx4D,GAAM,KAAY,EAAPC,EAAEgtB,MAAQhtB,EAAE0knB,cAC/e,UAAU,OAAOljnB,GAAG,IAAK,WAAqB,IAAVS,EAAEjC,EAAEuX,MAAU/V,EAAE,KAAK,OAAOS,GAAiB,QAAd2D,EAAE3D,EAAEuinB,YAAoB,OAAOmY,GAAG/2nB,KAAKpE,EAAES,GAAGA,EAAEA,EAAE6inB,QAAY,QAAJ7inB,EAAET,IAAYA,EAAExB,EAAEuX,MAAMvX,EAAEuX,MAAM,OAAO/V,EAAES,EAAE6inB,QAAQ7inB,EAAE6inB,QAAQ,MAAM6f,GAAG3koB,GAAE,EAAGwB,EAAES,EAAE+B,GAAG,MAAM,IAAK,YAA6B,IAAjB/B,EAAE,KAAKT,EAAExB,EAAEuX,MAAUvX,EAAEuX,MAAM,KAAK,OAAO/V,GAAG,CAAe,GAAG,QAAjBoE,EAAEpE,EAAEgjnB,YAAuB,OAAOmY,GAAG/2nB,GAAG,CAAC5F,EAAEuX,MAAM/V,EAAE,KAAK,CAACoE,EAAEpE,EAAEsjnB,QAAQtjnB,EAAEsjnB,QAAQ7inB,EAAEA,EAAET,EAAEA,EAAEoE,CAAC,CAAC++nB,GAAG3koB,GAAE,EAAGiC,EAAE,KAAK+B,GAAG,MAAM,IAAK,WAAW2goB,GAAG3koB,GAAE,EAAG,KAAK,UAAK,GAAQ,MAAM,QAAQA,EAAE0knB,cAAc,KAAK,OAAO1knB,EAAEuX,KAAK,CAC7d,SAAS2rnB,GAAGt9nB,EAAE5F,GAAG,KAAY,EAAPA,EAAEgtB,OAAS,OAAOpnB,IAAIA,EAAE4+mB,UAAU,KAAKxknB,EAAEwknB,UAAU,KAAKxknB,EAAE4W,OAAO,EAAE,CAAC,SAAS0rnB,GAAG18nB,EAAE5F,EAAEiC,GAAyD,GAAtD,OAAO2D,IAAI5F,EAAE0zjB,aAAa9tjB,EAAE8tjB,cAAcnN,IAAIvmjB,EAAE+4nB,MAAS,KAAK92nB,EAAEjC,EAAE44nB,YAAY,OAAO,KAAK,GAAG,OAAOhznB,GAAG5F,EAAEuX,QAAQ3R,EAAE2R,MAAM,MAAMnO,MAAM/I,EAAE,MAAM,GAAG,OAAOL,EAAEuX,MAAM,CAA4C,IAAjCtV,EAAE25nB,GAAZh2nB,EAAE5F,EAAEuX,MAAa3R,EAAE2xnB,cAAcv3nB,EAAEuX,MAAMtV,EAAMA,EAAEuc,OAAOxe,EAAE,OAAO4F,EAAEk/mB,SAASl/mB,EAAEA,EAAEk/mB,SAAQ7inB,EAAEA,EAAE6inB,QAAQ8W,GAAGh2nB,EAAEA,EAAE2xnB,eAAgB/4mB,OAAOxe,EAAEiC,EAAE6inB,QAAQ,IAAI,CAAC,OAAO9knB,EAAEuX,KAAK,CAO9a,SAAS0tnB,GAAGr/nB,EAAE5F,GAAG,IAAIgzhB,GAAE,OAAOpthB,EAAEm/nB,UAAU,IAAK,SAAS/koB,EAAE4F,EAAEsykB,KAAK,IAAI,IAAIj2kB,EAAE,KAAK,OAAOjC,GAAG,OAAOA,EAAEwknB,YAAYvinB,EAAEjC,GAAGA,EAAEA,EAAE8knB,QAAQ,OAAO7inB,EAAE2D,EAAEsykB,KAAK,KAAKj2kB,EAAE6inB,QAAQ,KAAK,MAAM,IAAK,YAAY7inB,EAAE2D,EAAEsykB,KAAK,IAAI,IAAIn4kB,EAAE,KAAK,OAAOkC,GAAG,OAAOA,EAAEuinB,YAAYzknB,EAAEkC,GAAGA,EAAEA,EAAE6inB,QAAQ,OAAO/knB,EAAEC,GAAG,OAAO4F,EAAEsykB,KAAKtykB,EAAEsykB,KAAK,KAAKtykB,EAAEsykB,KAAK4sC,QAAQ,KAAK/knB,EAAE+knB,QAAQ,KAAK,CAC5U,SAASr4b,GAAE7mL,GAAG,IAAI5F,EAAE,OAAO4F,EAAE4+mB,WAAW5+mB,EAAE4+mB,UAAUjtmB,QAAQ3R,EAAE2R,MAAMtV,EAAE,EAAElC,EAAE,EAAE,GAAGC,EAAE,IAAI,IAAIwB,EAAEoE,EAAE2R,MAAM,OAAO/V,GAAGS,GAAGT,EAAEu3nB,MAAMv3nB,EAAEo3nB,WAAW74nB,GAAkB,SAAfyB,EAAEijoB,aAAsB1koB,GAAW,SAARyB,EAAEoV,MAAepV,EAAEgd,OAAO5Y,EAAEpE,EAAEA,EAAEsjnB,aAAa,IAAItjnB,EAAEoE,EAAE2R,MAAM,OAAO/V,GAAGS,GAAGT,EAAEu3nB,MAAMv3nB,EAAEo3nB,WAAW74nB,GAAGyB,EAAEijoB,aAAa1koB,GAAGyB,EAAEoV,MAAMpV,EAAEgd,OAAO5Y,EAAEpE,EAAEA,EAAEsjnB,QAAyC,OAAjCl/mB,EAAE6+nB,cAAc1koB,EAAE6F,EAAEgznB,WAAW32nB,EAASjC,CAAC,CAC7V,SAASkloB,GAAGt/nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEC,EAAEu3nB,aAAmB,OAANR,GAAG/2nB,GAAUA,EAAE2b,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO8wK,GAAEzsL,GAAG,KAAK,KAAK,EAUtD,KAAK,GAAG,OAAO61nB,GAAG71nB,EAAEiY,OAAO69mB,KAAKrpc,GAAEzsL,GAAG,KAVqD,KAAK,EAA2Q,OAAzQD,EAAEC,EAAEojnB,UAAUoZ,KAAKjwc,GAAEipc,IAAIjpc,GAAElqH,IAAGy6jB,KAAK/8nB,EAAEujoB,iBAAiBvjoB,EAAE4R,QAAQ5R,EAAEujoB,eAAevjoB,EAAEujoB,eAAe,MAAS,OAAO19nB,GAAG,OAAOA,EAAE2R,QAAMsgnB,GAAG73nB,GAAGA,EAAE4W,OAAO,EAAE,OAAOhR,GAAGA,EAAE8+mB,cAAcsE,cAAc,KAAa,IAARhpnB,EAAE4W,SAAa5W,EAAE4W,OAAO,KAAK,OAAOsgnB,KAAKiO,GAAGjO,IAAIA,GAAG,QAAOuM,GAAG79nB,EAAE5F,GAAGysL,GAAEzsL,GAAU,KAAK,KAAK,EAAE08nB,GAAG18nB,GAAG,IAAIwB,EAAE86nB,GAAGD,GAAGh9lB,SAC7e,GAATp9B,EAAEjC,EAAEiY,KAAQ,OAAOrS,GAAG,MAAM5F,EAAEojnB,UAAUsgB,GAAG99nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAGoE,EAAEsS,MAAMlY,EAAEkY,MAAMlY,EAAE4W,OAAO,IAAI5W,EAAE4W,OAAO,aAAa,CAAC,IAAI7W,EAAE,CAAC,GAAG,OAAOC,EAAEojnB,UAAU,MAAMh6mB,MAAM/I,EAAE,MAAW,OAALosL,GAAEzsL,GAAU,IAAI,CAAkB,GAAjB4F,EAAE02nB,GAAGH,GAAG98lB,SAAYw4lB,GAAG73nB,GAAG,CAACD,EAAEC,EAAEojnB,UAAUnhnB,EAAEjC,EAAEiY,KAAK,IAAIjU,EAAEhE,EAAE83nB,cAA+C,OAAjC/3nB,EAAEi1nB,IAAIh1nB,EAAED,EAAEk1nB,IAAIjxnB,EAAE4B,EAAE,KAAY,EAAP5F,EAAEgtB,MAAe/qB,GAAG,IAAK,SAASixhB,GAAE,SAASnzhB,GAAGmzhB,GAAE,QAAQnzhB,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQmzhB,GAAE,OAAOnzhB,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIyB,EAAE,EAAEA,EAAEoxnB,GAAGxxnB,OAAOI,IAAI0xhB,GAAE0/F,GAAGpxnB,GAAGzB,GAAG,MAAM,IAAK,SAASmzhB,GAAE,QAAQnzhB,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOmzhB,GAAE,QACnhBnzhB,GAAGmzhB,GAAE,OAAOnzhB,GAAG,MAAM,IAAK,UAAUmzhB,GAAE,SAASnzhB,GAAG,MAAM,IAAK,QAAQkhnB,EAAGlhnB,EAAEiE,GAAGkvhB,GAAE,UAAUnzhB,GAAG,MAAM,IAAK,SAASA,EAAEghnB,cAAc,CAACqkB,cAAcphoB,EAAE4tlB,UAAU1+D,GAAE,UAAUnzhB,GAAG,MAAM,IAAK,WAAWyhnB,GAAGzhnB,EAAEiE,GAAGkvhB,GAAE,UAAUnzhB,GAAkB,IAAI,IAAImE,KAAvBu+mB,GAAGxgnB,EAAE+B,GAAGxC,EAAE,KAAkBwC,EAAE,GAAGA,EAAE1D,eAAe4D,GAAG,CAAC,IAAIklB,EAAEplB,EAAEE,GAAG,aAAaA,EAAE,kBAAkBklB,EAAErpB,EAAEqX,cAAcgS,KAAI,IAAKplB,EAAEqhoB,0BAA0BpR,GAAGl0nB,EAAEqX,YAAYgS,EAAExjB,GAAGpE,EAAE,CAAC,WAAW4nB,IAAI,kBAAkBA,GAAGrpB,EAAEqX,cAAc,GAAGgS,KAAI,IAAKplB,EAAEqhoB,0BAA0BpR,GAAGl0nB,EAAEqX,YAC1egS,EAAExjB,GAAGpE,EAAE,CAAC,WAAW,GAAG4nB,IAAI40lB,EAAG19mB,eAAe4D,IAAI,MAAMklB,GAAG,aAAallB,GAAGgvhB,GAAE,SAASnzhB,EAAE,CAAC,OAAOkC,GAAG,IAAK,QAAQs+mB,EAAGxgnB,GAAGqhnB,EAAGrhnB,EAAEiE,GAAE,GAAI,MAAM,IAAK,WAAWu8mB,EAAGxgnB,GAAG2hnB,GAAG3hnB,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBiE,EAAE0lM,UAAU3pM,EAAEuloB,QAAQpR,IAAIn0nB,EAAEyB,EAAExB,EAAEy5nB,YAAY15nB,EAAE,OAAOA,IAAIC,EAAE4W,OAAO,EAAE,KAAK,CAAC1S,EAAE,IAAI1C,EAAE2V,SAAS3V,EAAEA,EAAEo+B,cAAc,iCAAiCh6B,IAAIA,EAAE+7mB,GAAG1/mB,IAAI,iCAAiC2D,EAAE,WAAW3D,IAAG2D,EAAE1B,EAAEiS,cAAc,QAASH,UAAU,qBAAuBpQ,EAAEA,EAAE4R,YAAY5R,EAAE6R,aAC/f,kBAAkB1X,EAAEkqD,GAAGrkD,EAAE1B,EAAEiS,cAAclU,EAAE,CAACgoD,GAAGlqD,EAAEkqD,MAAMrkD,EAAE1B,EAAEiS,cAAclU,GAAG,WAAWA,IAAIiC,EAAE0B,EAAE7F,EAAE6xlB,SAAS1tlB,EAAE0tlB,UAAS,EAAG7xlB,EAAEqhB,OAAOld,EAAEkd,KAAKrhB,EAAEqhB,QAAQxb,EAAE1B,EAAEwvG,gBAAgB9tG,EAAE3D,GAAG2D,EAAEovnB,IAAIh1nB,EAAE4F,EAAEqvnB,IAAIl1nB,EAAEyjoB,GAAG59nB,EAAE5F,GAAE,GAAG,GAAIA,EAAEojnB,UAAUx9mB,EAAEA,EAAE,CAAW,OAAV1B,EAAEw+mB,GAAGzgnB,EAAElC,GAAUkC,GAAG,IAAK,SAASixhB,GAAE,SAAStthB,GAAGsthB,GAAE,QAAQtthB,GAAGpE,EAAEzB,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQmzhB,GAAE,OAAOtthB,GAAGpE,EAAEzB,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIyB,EAAE,EAAEA,EAAEoxnB,GAAGxxnB,OAAOI,IAAI0xhB,GAAE0/F,GAAGpxnB,GAAGoE,GAAGpE,EAAEzB,EAAE,MAAM,IAAK,SAASmzhB,GAAE,QAAQtthB,GAAGpE,EAAEzB,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOmzhB,GAAE,QAClftthB,GAAGsthB,GAAE,OAAOtthB,GAAGpE,EAAEzB,EAAE,MAAM,IAAK,UAAUmzhB,GAAE,SAAStthB,GAAGpE,EAAEzB,EAAE,MAAM,IAAK,QAAQkhnB,EAAGr7mB,EAAE7F,GAAGyB,EAAEq/mB,EAAGj7mB,EAAE7F,GAAGmzhB,GAAE,UAAUtthB,GAAG,MAAM,IAAK,SAAiL,QAAQpE,EAAEzB,QAAxK,IAAK,SAAS6F,EAAEm7mB,cAAc,CAACqkB,cAAcrloB,EAAE6xlB,UAAUpwlB,EAAEiuf,EAAE,CAAC,EAAE1vf,EAAE,CAACwD,WAAM,IAAS2vhB,GAAE,UAAUtthB,GAAG,MAAM,IAAK,WAAW47mB,GAAG57mB,EAAE7F,GAAGyB,EAAE+/mB,GAAG37mB,EAAE7F,GAAGmzhB,GAAE,UAAUtthB,GAAiC,IAAI5B,KAAhBy+mB,GAAGxgnB,EAAET,GAAG4nB,EAAE5nB,EAAa,GAAG4nB,EAAE9oB,eAAe0D,GAAG,CAAC,IAAImB,EAAEikB,EAAEplB,GAAG,UAAUA,EAAE0whB,GAAG9uhB,EAAET,GAAG,4BAA4BnB,EAAuB,OAApBmB,EAAEA,EAAEA,EAAE4Q,YAAO,IAAgBglK,GAAGn1K,EAAET,GAAI,aAAanB,EAAE,kBAAkBmB,GAAG,aAC7elD,GAAG,KAAKkD,IAAI48mB,GAAGn8mB,EAAET,GAAG,kBAAkBA,GAAG48mB,GAAGn8mB,EAAE,GAAGT,GAAG,mCAAmCnB,GAAG,6BAA6BA,GAAG,cAAcA,IAAIg6mB,EAAG19mB,eAAe0D,GAAG,MAAMmB,GAAG,aAAanB,GAAGkvhB,GAAE,SAAStthB,GAAG,MAAMT,GAAGszL,EAAG7yL,EAAE5B,EAAEmB,EAAEjB,GAAG,CAAC,OAAOjC,GAAG,IAAK,QAAQs+mB,EAAG36mB,GAAGw7mB,EAAGx7mB,EAAE7F,GAAE,GAAI,MAAM,IAAK,WAAWwgnB,EAAG36mB,GAAG87mB,GAAG97mB,GAAG,MAAM,IAAK,SAAS,MAAM7F,EAAEwD,OAAOqC,EAAEmT,aAAa,QAAQ,GAAGsnmB,EAAGtgnB,EAAEwD,QAAQ,MAAM,IAAK,SAASqC,EAAEgslB,WAAW7xlB,EAAE6xlB,SAAmB,OAAV5tlB,EAAEjE,EAAEwD,OAAc89mB,GAAGz7mB,IAAI7F,EAAE6xlB,SAAS5tlB,GAAE,GAAI,MAAMjE,EAAE8U,cAAcwsmB,GAAGz7mB,IAAI7F,EAAE6xlB,SAAS7xlB,EAAE8U,cAClf,GAAI,MAAM,QAAQ,oBAAoBrT,EAAEkoM,UAAU9jM,EAAE0/nB,QAAQpR,IAAI,OAAOjynB,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWlC,IAAIA,EAAEwloB,UAAU,MAAM3/nB,EAAE,IAAK,MAAM7F,GAAE,EAAG,MAAM6F,EAAE,QAAQ7F,GAAE,EAAG,CAACA,IAAIC,EAAE4W,OAAO,EAAE,CAAC,OAAO5W,EAAEkY,MAAMlY,EAAE4W,OAAO,IAAI5W,EAAE4W,OAAO,QAAQ,CAAM,OAAL61K,GAAEzsL,GAAU,KAAK,KAAK,EAAE,GAAG4F,GAAG,MAAM5F,EAAEojnB,UAAUugB,GAAG/9nB,EAAE5F,EAAE4F,EAAEkynB,cAAc/3nB,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOC,EAAEojnB,UAAU,MAAMh6mB,MAAM/I,EAAE,MAAsC,GAAhC4B,EAAEq6nB,GAAGD,GAAGh9lB,SAASi9lB,GAAGH,GAAG98lB,SAAYw4lB,GAAG73nB,GAAG,CAAyC,GAAxCD,EAAEC,EAAEojnB,UAAUnhnB,EAAEjC,EAAE83nB,cAAc/3nB,EAAEi1nB,IAAIh1nB,GAAKgE,EAAEjE,EAAEsX,YAAYpV,IAC/e,QADof2D,EACvfoxnB,IAAY,OAAOpxnB,EAAE+V,KAAK,KAAK,EAAEs4mB,GAAGl0nB,EAAEsX,UAAUpV,EAAE,KAAY,EAAP2D,EAAEonB,OAAS,MAAM,KAAK,GAAE,IAAKpnB,EAAEkynB,cAAcuN,0BAA0BpR,GAAGl0nB,EAAEsX,UAAUpV,EAAE,KAAY,EAAP2D,EAAEonB,OAAShpB,IAAIhE,EAAE4W,OAAO,EAAE,MAAM7W,GAAG,IAAIkC,EAAEkV,SAASlV,EAAEA,EAAE29B,eAAe3oB,eAAelX,IAAKi1nB,IAAIh1nB,EAAEA,EAAEojnB,UAAUrjnB,CAAC,CAAM,OAAL0sL,GAAEzsL,GAAU,KAAK,KAAK,GAA0B,GAAvBusL,GAAEh0H,IAAGx4D,EAAEC,EAAE0knB,cAAiB,OAAO9+mB,GAAG,OAAOA,EAAE8+mB,eAAe,OAAO9+mB,EAAE8+mB,cAAcC,WAAW,CAAC,GAAG3xF,IAAG,OAAOikG,IAAI,KAAY,EAAPj3nB,EAAEgtB,OAAS,KAAa,IAARhtB,EAAE4W,OAAWmhnB,KAAKC,KAAKh4nB,EAAE4W,OAAO,MAAM5S,GAAE,OAAQ,GAAGA,EAAE6znB,GAAG73nB,GAAG,OAAOD,GAAG,OAAOA,EAAE4knB,WAAW,CAAC,GAAG,OAC5f/+mB,EAAE,CAAC,IAAI5B,EAAE,MAAMoF,MAAM/I,EAAE,MAAqD,KAA7B2D,EAAE,QAApBA,EAAEhE,EAAE0knB,eAAyB1gnB,EAAE2gnB,WAAW,MAAW,MAAMv7mB,MAAM/I,EAAE,MAAM2D,EAAEgxnB,IAAIh1nB,CAAC,MAAMg4nB,KAAK,KAAa,IAARh4nB,EAAE4W,SAAa5W,EAAE0knB,cAAc,MAAM1knB,EAAE4W,OAAO,EAAE61K,GAAEzsL,GAAGgE,GAAE,CAAE,MAAM,OAAOkznB,KAAKiO,GAAGjO,IAAIA,GAAG,MAAMlznB,GAAE,EAAG,IAAIA,EAAE,OAAe,MAARhE,EAAE4W,MAAY5W,EAAE,IAAI,CAAC,OAAG,KAAa,IAARA,EAAE4W,QAAkB5W,EAAE+4nB,MAAM92nB,EAAEjC,KAAED,EAAE,OAAOA,MAAO,OAAO6F,GAAG,OAAOA,EAAE8+mB,gBAAgB3knB,IAAIC,EAAEuX,MAAMX,OAAO,KAAK,KAAY,EAAP5W,EAAEgtB,QAAU,OAAOpnB,GAAG,KAAe,EAAV2yD,GAAEl5B,SAAW,IAAI2iC,KAAIA,GAAE,GAAGqikB,OAAO,OAAOrkoB,EAAEy5nB,cAAcz5nB,EAAE4W,OAAO,GAAG61K,GAAEzsL,GAAU,MAAK,KAAK,EAAE,OAAOw8nB,KACrfiH,GAAG79nB,EAAE5F,GAAG,OAAO4F,GAAGutnB,GAAGnznB,EAAEojnB,UAAU6F,eAAex8b,GAAEzsL,GAAG,KAAK,KAAK,GAAG,OAAOy4nB,GAAGz4nB,EAAEiY,KAAKzF,UAAUi6K,GAAEzsL,GAAG,KAA+C,KAAK,GAA0B,GAAvBusL,GAAEh0H,IAAwB,QAArBv0D,EAAEhE,EAAE0knB,eAA0B,OAAOj4b,GAAEzsL,GAAG,KAAuC,GAAlCD,EAAE,KAAa,IAARC,EAAE4W,OAA4B,QAAjB1S,EAAEF,EAAE6goB,WAAsB,GAAG9koB,EAAEkloB,GAAGjhoB,GAAE,OAAQ,CAAC,GAAG,IAAIg+D,IAAG,OAAOp8D,GAAG,KAAa,IAARA,EAAEgR,OAAW,IAAIhR,EAAE5F,EAAEuX,MAAM,OAAO3R,GAAG,CAAS,GAAG,QAAX1B,EAAEy4nB,GAAG/2nB,IAAe,CAAmG,IAAlG5F,EAAE4W,OAAO,IAAIqunB,GAAGjhoB,GAAE,GAAoB,QAAhBjE,EAAEmE,EAAEu1nB,eAAuBz5nB,EAAEy5nB,YAAY15nB,EAAEC,EAAE4W,OAAO,GAAG5W,EAAEykoB,aAAa,EAAE1koB,EAAEkC,EAAMA,EAAEjC,EAAEuX,MAAM,OAAOtV,GAAO2D,EAAE7F,GAANiE,EAAE/B,GAAQ2U,OAAO,SAC/d,QAAd1S,EAAEF,EAAEwgnB,YAAoBxgnB,EAAE40nB,WAAW,EAAE50nB,EAAE+0nB,MAAMnznB,EAAE5B,EAAEuT,MAAM,KAAKvT,EAAEygoB,aAAa,EAAEzgoB,EAAE8znB,cAAc,KAAK9znB,EAAE0gnB,cAAc,KAAK1gnB,EAAEy1nB,YAAY,KAAKz1nB,EAAE0vjB,aAAa,KAAK1vjB,EAAEo/mB,UAAU,OAAOp/mB,EAAE40nB,WAAW10nB,EAAE00nB,WAAW50nB,EAAE+0nB,MAAM70nB,EAAE60nB,MAAM/0nB,EAAEuT,MAAMrT,EAAEqT,MAAMvT,EAAEygoB,aAAa,EAAEzgoB,EAAEqznB,UAAU,KAAKrznB,EAAE8znB,cAAc5znB,EAAE4znB,cAAc9znB,EAAE0gnB,cAAcxgnB,EAAEwgnB,cAAc1gnB,EAAEy1nB,YAAYv1nB,EAAEu1nB,YAAYz1nB,EAAEiU,KAAK/T,EAAE+T,KAAKrS,EAAE1B,EAAEwvjB,aAAa1vjB,EAAE0vjB,aAAa,OAAO9tjB,EAAE,KAAK,CAACmznB,MAAMnznB,EAAEmznB,MAAMD,aAAalznB,EAAEkznB,eAAe72nB,EAAEA,EAAE6inB,QAA2B,OAAnB5pF,GAAE3ie,GAAY,EAAVA,GAAEl5B,QAAU,GAAUr/B,EAAEuX,KAAK,CAAC3R,EAClgBA,EAAEk/mB,OAAO,CAAC,OAAO9gnB,EAAEk0kB,MAAM/kD,KAAIqyG,KAAKxloB,EAAE4W,OAAO,IAAI7W,GAAE,EAAGkloB,GAAGjhoB,GAAE,GAAIhE,EAAE+4nB,MAAM,QAAQ,KAAK,CAAC,IAAIh5nB,EAAE,GAAW,QAAR6F,EAAE+2nB,GAAGz4nB,KAAa,GAAGlE,EAAE4W,OAAO,IAAI7W,GAAE,EAAmB,QAAhBkC,EAAE2D,EAAE6znB,eAAuBz5nB,EAAEy5nB,YAAYx3nB,EAAEjC,EAAE4W,OAAO,GAAGqunB,GAAGjhoB,GAAE,GAAI,OAAOA,EAAEk0kB,MAAM,WAAWl0kB,EAAE+goB,WAAW7goB,EAAEsgnB,YAAYxxF,GAAE,OAAOvmW,GAAEzsL,GAAG,UAAU,EAAEmzhB,KAAInvhB,EAAE8goB,mBAAmBU,IAAI,aAAavjoB,IAAIjC,EAAE4W,OAAO,IAAI7W,GAAE,EAAGkloB,GAAGjhoB,GAAE,GAAIhE,EAAE+4nB,MAAM,SAAS/0nB,EAAE4goB,aAAa1goB,EAAE4gnB,QAAQ9knB,EAAEuX,MAAMvX,EAAEuX,MAAMrT,IAAa,QAATjC,EAAE+B,EAAE4qF,MAAc3sF,EAAE6inB,QAAQ5gnB,EAAElE,EAAEuX,MAAMrT,EAAEF,EAAE4qF,KAAK1qF,EAAE,CAAC,OAAG,OAAOF,EAAEk0kB,MAAYl4kB,EAAEgE,EAAEk0kB,KAAKl0kB,EAAE6goB,UAC9e7koB,EAAEgE,EAAEk0kB,KAAKl4kB,EAAE8knB,QAAQ9gnB,EAAE8goB,mBAAmB3xG,KAAInzhB,EAAE8knB,QAAQ,KAAK7inB,EAAEs2D,GAAEl5B,QAAQ67f,GAAE3ie,GAAEx4D,EAAI,EAAFkC,EAAI,EAAI,EAAFA,GAAKjC,IAAEysL,GAAEzsL,GAAU,MAAK,KAAK,GAAG,KAAK,GAAG,OAAOyloB,KAAK1loB,EAAE,OAAOC,EAAE0knB,cAAc,OAAO9+mB,GAAG,OAAOA,EAAE8+mB,gBAAgB3knB,IAAIC,EAAE4W,OAAO,MAAM7W,GAAG,KAAY,EAAPC,EAAEgtB,MAAQ,KAAQ,WAAH+1mB,MAAiBt2c,GAAEzsL,GAAkB,EAAfA,EAAEykoB,eAAiBzkoB,EAAE4W,OAAO,OAAO61K,GAAEzsL,GAAG,KAAK,KAAK,GAAe,KAAK,GAAG,OAAO,KAAK,MAAMoJ,MAAM/I,EAAE,IAAIL,EAAE2b,KAAM,CAClX,SAAS+pnB,GAAG9/nB,EAAE5F,GAAS,OAAN+2nB,GAAG/2nB,GAAUA,EAAE2b,KAAK,KAAK,EAAE,OAAOk6mB,GAAG71nB,EAAEiY,OAAO69mB,KAAiB,OAAZlwnB,EAAE5F,EAAE4W,QAAe5W,EAAE4W,OAAS,MAAHhR,EAAS,IAAI5F,GAAG,KAAK,KAAK,EAAE,OAAOw8nB,KAAKjwc,GAAEipc,IAAIjpc,GAAElqH,IAAGy6jB,KAAe,KAAO,OAAjBl3nB,EAAE5F,EAAE4W,SAAqB,KAAO,IAAFhR,IAAQ5F,EAAE4W,OAAS,MAAHhR,EAAS,IAAI5F,GAAG,KAAK,KAAK,EAAE,OAAO08nB,GAAG18nB,GAAG,KAAK,KAAK,GAA0B,GAAvBusL,GAAEh0H,IAAwB,QAArB3yD,EAAE5F,EAAE0knB,gBAA2B,OAAO9+mB,EAAE++mB,WAAW,CAAC,GAAG,OAAO3knB,EAAEwknB,UAAU,MAAMp7mB,MAAM/I,EAAE,MAAM23nB,IAAI,CAAW,OAAS,OAAnBpynB,EAAE5F,EAAE4W,QAAsB5W,EAAE4W,OAAS,MAAHhR,EAAS,IAAI5F,GAAG,KAAK,KAAK,GAAG,OAAOusL,GAAEh0H,IAAG,KAAK,KAAK,EAAE,OAAOikkB,KAAK,KAAK,KAAK,GAAG,OAAO/D,GAAGz4nB,EAAEiY,KAAKzF,UAAU,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOiznB,KAC1gB,KAAyB,QAAQ,OAAO,KAAK,CArB7CjC,GAAG,SAAS59nB,EAAE5F,GAAG,IAAI,IAAIiC,EAAEjC,EAAEuX,MAAM,OAAOtV,GAAG,CAAC,GAAG,IAAIA,EAAE0Z,KAAK,IAAI1Z,EAAE0Z,IAAI/V,EAAEoR,YAAY/U,EAAEmhnB,gBAAgB,GAAG,IAAInhnB,EAAE0Z,KAAK,OAAO1Z,EAAEsV,MAAM,CAACtV,EAAEsV,MAAMiH,OAAOvc,EAAEA,EAAEA,EAAEsV,MAAM,QAAQ,CAAC,GAAGtV,IAAIjC,EAAE,MAAM,KAAK,OAAOiC,EAAE6inB,SAAS,CAAC,GAAG,OAAO7inB,EAAEuc,QAAQvc,EAAEuc,SAASxe,EAAE,OAAOiC,EAAEA,EAAEuc,MAAM,CAACvc,EAAE6inB,QAAQtmmB,OAAOvc,EAAEuc,OAAOvc,EAAEA,EAAE6inB,OAAO,CAAC,EAAE2e,GAAG,WAAW,EACxTC,GAAG,SAAS99nB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAEoE,EAAEkynB,cAAc,GAAGt2nB,IAAIzB,EAAE,CAAC6F,EAAE5F,EAAEojnB,UAAUkZ,GAAGH,GAAG98lB,SAAS,IAA4Rn7B,EAAxRF,EAAE,KAAK,OAAO/B,GAAG,IAAK,QAAQT,EAAEq/mB,EAAGj7mB,EAAEpE,GAAGzB,EAAE8gnB,EAAGj7mB,EAAE7F,GAAGiE,EAAE,GAAG,MAAM,IAAK,SAASxC,EAAEiuf,EAAE,CAAC,EAAEjuf,EAAE,CAAC+B,WAAM,IAASxD,EAAE0vf,EAAE,CAAC,EAAE1vf,EAAE,CAACwD,WAAM,IAASS,EAAE,GAAG,MAAM,IAAK,WAAWxC,EAAE+/mB,GAAG37mB,EAAEpE,GAAGzB,EAAEwhnB,GAAG37mB,EAAE7F,GAAGiE,EAAE,GAAG,MAAM,QAAQ,oBAAoBxC,EAAEkoM,SAAS,oBAAoB3pM,EAAE2pM,UAAU9jM,EAAE0/nB,QAAQpR,IAAyB,IAAIztlB,KAAzBg8kB,GAAGxgnB,EAAElC,GAASkC,EAAE,KAAcT,EAAE,IAAIzB,EAAEO,eAAemmC,IAAIjlC,EAAElB,eAAemmC,IAAI,MAAMjlC,EAAEilC,GAAG,GAAG,UAAUA,EAAE,CAAC,IAAIrd,EAAE5nB,EAAEilC,GAAG,IAAIviC,KAAKklB,EAAEA,EAAE9oB,eAAe4D,KACjfjC,IAAIA,EAAE,CAAC,GAAGA,EAAEiC,GAAG,GAAG,KAAK,4BAA4BuiC,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIu3kB,EAAG19mB,eAAemmC,GAAGziC,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIe,KAAK0hC,EAAE,OAAO,IAAIA,KAAK1mC,EAAE,CAAC,IAAIoF,EAAEpF,EAAE0mC,GAAyB,GAAtBrd,EAAE,MAAM5nB,EAAEA,EAAEilC,QAAG,EAAU1mC,EAAEO,eAAemmC,IAAIthC,IAAIikB,IAAI,MAAMjkB,GAAG,MAAMikB,GAAG,GAAG,UAAUqd,EAAE,GAAGrd,EAAE,CAAC,IAAIllB,KAAKklB,GAAGA,EAAE9oB,eAAe4D,IAAIiB,GAAGA,EAAE7E,eAAe4D,KAAKjC,IAAIA,EAAE,CAAC,GAAGA,EAAEiC,GAAG,IAAI,IAAIA,KAAKiB,EAAEA,EAAE7E,eAAe4D,IAAIklB,EAAEllB,KAAKiB,EAAEjB,KAAKjC,IAAIA,EAAE,CAAC,GAAGA,EAAEiC,GAAGiB,EAAEjB,GAAG,MAAMjC,IAAI+B,IAAIA,EAAE,IAAIA,EAAEe,KAAK0hC,EACpfxkC,IAAIA,EAAEkD,MAAM,4BAA4BshC,GAAGthC,EAAEA,EAAEA,EAAE4Q,YAAO,EAAOqT,EAAEA,EAAEA,EAAErT,YAAO,EAAO,MAAM5Q,GAAGikB,IAAIjkB,IAAInB,EAAEA,GAAG,IAAIe,KAAK0hC,EAAEthC,IAAI,aAAashC,EAAE,kBAAkBthC,GAAG,kBAAkBA,IAAInB,EAAEA,GAAG,IAAIe,KAAK0hC,EAAE,GAAGthC,GAAG,mCAAmCshC,GAAG,6BAA6BA,IAAIu3kB,EAAG19mB,eAAemmC,IAAI,MAAMthC,GAAG,aAAashC,GAAGysf,GAAE,SAAStthB,GAAG5B,GAAGolB,IAAIjkB,IAAInB,EAAE,MAAMA,EAAEA,GAAG,IAAIe,KAAK0hC,EAAEthC,GAAG,CAAClD,IAAI+B,EAAEA,GAAG,IAAIe,KAAK,QAAQ9C,GAAG,IAAIwkC,EAAEziC,GAAKhE,EAAEy5nB,YAAYhzlB,KAAEzmC,EAAE4W,OAAO,EAAC,CAAC,EAAE+snB,GAAG,SAAS/9nB,EAAE5F,EAAEiC,EAAElC,GAAGkC,IAAIlC,IAAIC,EAAE4W,OAAO,EAAE,EAkBlb,IAAI+unB,IAAG,EAAG7qG,IAAE,EAAG8qG,GAAG,oBAAoBC,QAAQA,QAAQxrnB,IAAI0ghB,GAAE,KAAK,SAAS+qG,GAAGlgoB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEsS,IAAI,GAAG,OAAOjW,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,KAAK,CAAC,MAAMlC,GAAGikE,GAAEp+D,EAAE5F,EAAED,EAAE,MAAMkC,EAAEo9B,QAAQ,IAAI,CAAC,SAAS0mmB,GAAGngoB,EAAE5F,EAAEiC,GAAG,IAAIA,GAAG,CAAC,MAAMlC,GAAGikE,GAAEp+D,EAAE5F,EAAED,EAAE,CAAC,CAAC,IAAIimoB,IAAG,EAIxR,SAASC,GAAGrgoB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEC,EAAEy5nB,YAAyC,GAAG,QAAhC15nB,EAAE,OAAOA,EAAEA,EAAE8+nB,WAAW,MAAiB,CAAC,IAAIr9nB,EAAEzB,EAAEA,EAAE0D,KAAK,EAAE,CAAC,IAAIjC,EAAEma,IAAI/V,KAAKA,EAAE,CAAC,IAAI5B,EAAExC,EAAE6T,QAAQ7T,EAAE6T,aAAQ,OAAO,IAASrR,GAAG+hoB,GAAG/loB,EAAEiC,EAAE+B,EAAE,CAACxC,EAAEA,EAAEiC,IAAI,OAAOjC,IAAIzB,EAAE,CAAC,CAAC,SAASmmoB,GAAGtgoB,EAAE5F,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEy5nB,aAAuBz5nB,EAAE6+nB,WAAW,MAAiB,CAAC,IAAI58nB,EAAEjC,EAAEA,EAAEyD,KAAK,EAAE,CAAC,IAAIxB,EAAE0Z,IAAI/V,KAAKA,EAAE,CAAC,IAAI7F,EAAEkC,EAAErB,OAAOqB,EAAEoT,QAAQtV,GAAG,CAACkC,EAAEA,EAAEwB,IAAI,OAAOxB,IAAIjC,EAAE,CAAC,CAAC,SAASmmoB,GAAGvgoB,GAAG,IAAI5F,EAAE4F,EAAEsS,IAAI,GAAG,OAAOlY,EAAE,CAAC,IAAIiC,EAAE2D,EAAEw9mB,UAAiBx9mB,EAAE+V,IAA8B/V,EAAE3D,EAAE,oBAAoBjC,EAAEA,EAAE4F,GAAG5F,EAAEq/B,QAAQz5B,CAAC,CAAC,CAClf,SAASwgoB,GAAGxgoB,GAAG,IAAI5F,EAAE4F,EAAE4+mB,UAAU,OAAOxknB,IAAI4F,EAAE4+mB,UAAU,KAAK4hB,GAAGpmoB,IAAI4F,EAAE2R,MAAM,KAAK3R,EAAEyxnB,UAAU,KAAKzxnB,EAAEk/mB,QAAQ,KAAK,IAAIl/mB,EAAE+V,MAAoB,QAAd3b,EAAE4F,EAAEw9mB,oBAA4BpjnB,EAAEg1nB,WAAWh1nB,EAAEi1nB,WAAWj1nB,EAAE+vF,WAAW/vF,EAAEk1nB,WAAWl1nB,EAAEm1nB,MAAMvvnB,EAAEw9mB,UAAU,KAAKx9mB,EAAE4Y,OAAO,KAAK5Y,EAAE8tjB,aAAa,KAAK9tjB,EAAEkynB,cAAc,KAAKlynB,EAAE8+mB,cAAc,KAAK9+mB,EAAE2xnB,aAAa,KAAK3xnB,EAAEw9mB,UAAU,KAAKx9mB,EAAE6znB,YAAY,IAAI,CAAC,SAAS4M,GAAGzgoB,GAAG,OAAO,IAAIA,EAAE+V,KAAK,IAAI/V,EAAE+V,KAAK,IAAI/V,EAAE+V,GAAG,CACna,SAAS2qnB,GAAG1goB,GAAGA,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAEk/mB,SAAS,CAAC,GAAG,OAAOl/mB,EAAE4Y,QAAQ6nnB,GAAGzgoB,EAAE4Y,QAAQ,OAAO,KAAK5Y,EAAEA,EAAE4Y,MAAM,CAA2B,IAA1B5Y,EAAEk/mB,QAAQtmmB,OAAO5Y,EAAE4Y,OAAW5Y,EAAEA,EAAEk/mB,QAAQ,IAAIl/mB,EAAE+V,KAAK,IAAI/V,EAAE+V,KAAK,KAAK/V,EAAE+V,KAAK,CAAC,GAAW,EAAR/V,EAAEgR,MAAQ,SAAShR,EAAE,GAAG,OAAOA,EAAE2R,OAAO,IAAI3R,EAAE+V,IAAI,SAAS/V,EAAOA,EAAE2R,MAAMiH,OAAO5Y,EAAEA,EAAEA,EAAE2R,KAAK,CAAC,KAAa,EAAR3R,EAAEgR,OAAS,OAAOhR,EAAEw9mB,SAAS,CAAC,CACzT,SAASmjB,GAAG3goB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAE+V,IAAI,GAAG,IAAI5b,GAAG,IAAIA,EAAE6F,EAAEA,EAAEw9mB,UAAUpjnB,EAAE,IAAIiC,EAAEkV,SAASlV,EAAEsU,WAAWyF,aAAapW,EAAE5F,GAAGiC,EAAE+Z,aAAapW,EAAE5F,IAAI,IAAIiC,EAAEkV,UAAUnX,EAAEiC,EAAEsU,YAAayF,aAAapW,EAAE3D,IAAKjC,EAAEiC,GAAI+U,YAAYpR,GAA4B,QAAxB3D,EAAEA,EAAEukoB,2BAA8B,IAASvkoB,GAAG,OAAOjC,EAAEsloB,UAAUtloB,EAAEsloB,QAAQpR,UAAU,GAAG,IAAIn0nB,GAAc,QAAV6F,EAAEA,EAAE2R,OAAgB,IAAIgvnB,GAAG3goB,EAAE5F,EAAEiC,GAAG2D,EAAEA,EAAEk/mB,QAAQ,OAAOl/mB,GAAG2goB,GAAG3goB,EAAE5F,EAAEiC,GAAG2D,EAAEA,EAAEk/mB,OAAO,CAC1X,SAAS2hB,GAAG7goB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAE+V,IAAI,GAAG,IAAI5b,GAAG,IAAIA,EAAE6F,EAAEA,EAAEw9mB,UAAUpjnB,EAAEiC,EAAE+Z,aAAapW,EAAE5F,GAAGiC,EAAE+U,YAAYpR,QAAQ,GAAG,IAAI7F,GAAc,QAAV6F,EAAEA,EAAE2R,OAAgB,IAAIkvnB,GAAG7goB,EAAE5F,EAAEiC,GAAG2D,EAAEA,EAAEk/mB,QAAQ,OAAOl/mB,GAAG6goB,GAAG7goB,EAAE5F,EAAEiC,GAAG2D,EAAEA,EAAEk/mB,OAAO,CAAC,IAAI/3b,GAAE,KAAK25c,IAAG,EAAG,SAASC,GAAG/goB,EAAE5F,EAAEiC,GAAG,IAAIA,EAAEA,EAAEsV,MAAM,OAAOtV,GAAG85K,GAAGn2K,EAAE5F,EAAEiC,GAAGA,EAAEA,EAAE6inB,OAAO,CACnR,SAAS/oc,GAAGn2K,EAAE5F,EAAEiC,GAAG,GAAGqknB,IAAI,oBAAoBA,GAAGsgB,qBAAqB,IAAItgB,GAAGsgB,qBAAqBvgB,GAAGpknB,EAAE,CAAC,MAAMmnB,GAAG,CAAC,OAAOnnB,EAAE0Z,KAAK,KAAK,EAAEm/gB,IAAGgrG,GAAG7joB,EAAEjC,GAAG,KAAK,EAAE,IAAID,EAAEgtL,GAAEvrL,EAAEkloB,GAAG35c,GAAE,KAAK45c,GAAG/goB,EAAE5F,EAAEiC,GAAOykoB,GAAGlloB,EAAE,QAATurL,GAAEhtL,KAAkB2moB,IAAI9goB,EAAEmnL,GAAE9qL,EAAEA,EAAEmhnB,UAAU,IAAIx9mB,EAAEuR,SAASvR,EAAE2Q,WAAWiB,YAAYvV,GAAG2D,EAAE4R,YAAYvV,IAAI8qL,GAAEv1K,YAAYvV,EAAEmhnB,YAAY,MAAM,KAAK,GAAG,OAAOr2b,KAAI25c,IAAI9goB,EAAEmnL,GAAE9qL,EAAEA,EAAEmhnB,UAAU,IAAIx9mB,EAAEuR,SAASy9mB,GAAGhvnB,EAAE2Q,WAAWtU,GAAG,IAAI2D,EAAEuR,UAAUy9mB,GAAGhvnB,EAAE3D,GAAGsnnB,GAAG3jnB,IAAIgvnB,GAAG7nc,GAAE9qL,EAAEmhnB,YAAY,MAAM,KAAK,EAAErjnB,EAAEgtL,GAAEvrL,EAAEkloB,GAAG35c,GAAE9qL,EAAEmhnB,UAAU6F,cAAcyd,IAAG,EAClfC,GAAG/goB,EAAE5F,EAAEiC,GAAG8qL,GAAEhtL,EAAE2moB,GAAGlloB,EAAE,MAAM,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIs5hB,KAAoB,QAAhB/6hB,EAAEkC,EAAEw3nB,cAAsC,QAAf15nB,EAAEA,EAAE8+nB,aAAsB,CAACr9nB,EAAEzB,EAAEA,EAAE0D,KAAK,EAAE,CAAC,IAAIO,EAAExC,EAAE0C,EAAEF,EAAEqR,QAAQrR,EAAEA,EAAE2X,SAAI,IAASzX,IAAI,KAAO,EAAFF,IAAe,KAAO,EAAFA,KAAf+hoB,GAAG9joB,EAAEjC,EAAEkE,GAAyB1C,EAAEA,EAAEiC,IAAI,OAAOjC,IAAIzB,EAAE,CAAC4moB,GAAG/goB,EAAE5F,EAAEiC,GAAG,MAAM,KAAK,EAAE,IAAI64hB,KAAIgrG,GAAG7joB,EAAEjC,GAAiB,oBAAdD,EAAEkC,EAAEmhnB,WAAgC96iB,sBAAsB,IAAIvoE,EAAEgS,MAAM9P,EAAE61nB,cAAc/3nB,EAAE8K,MAAM5I,EAAEyinB,cAAc3knB,EAAEuoE,sBAAsB,CAAC,MAAMl/C,GAAG46C,GAAE/hE,EAAEjC,EAAEopB,EAAE,CAACu9mB,GAAG/goB,EAAE5F,EAAEiC,GAAG,MAAM,KAAK,GAAG0koB,GAAG/goB,EAAE5F,EAAEiC,GAAG,MAAM,KAAK,GAAU,EAAPA,EAAE+qB,MAAQ8tgB,IAAG/6hB,EAAE+6hB,KAAI,OAChf74hB,EAAEyinB,cAAciiB,GAAG/goB,EAAE5F,EAAEiC,GAAG64hB,GAAE/6hB,GAAG4moB,GAAG/goB,EAAE5F,EAAEiC,GAAG,MAAM,QAAQ0koB,GAAG/goB,EAAE5F,EAAEiC,GAAG,CAAC,SAAS4koB,GAAGjhoB,GAAG,IAAI5F,EAAE4F,EAAE6znB,YAAY,GAAG,OAAOz5nB,EAAE,CAAC4F,EAAE6znB,YAAY,KAAK,IAAIx3nB,EAAE2D,EAAEw9mB,UAAU,OAAOnhnB,IAAIA,EAAE2D,EAAEw9mB,UAAU,IAAIwiB,IAAI5loB,EAAE2Q,SAAQ,SAAS3Q,GAAG,IAAID,EAAE+moB,GAAG7imB,KAAK,KAAKr+B,EAAE5F,GAAGiC,EAAEmF,IAAIpH,KAAKiC,EAAEsS,IAAIvU,GAAGA,EAAE6D,KAAK9D,EAAEA,GAAG,GAAE,CAAC,CACzQ,SAASgnoB,GAAGnhoB,EAAE5F,GAAG,IAAIiC,EAAEjC,EAAEq3nB,UAAU,GAAG,OAAOp1nB,EAAE,IAAI,IAAIlC,EAAE,EAAEA,EAAEkC,EAAEb,OAAOrB,IAAI,CAAC,IAAIyB,EAAES,EAAElC,GAAG,IAAI,IAAIiE,EAAE4B,EAAE1B,EAAElE,EAAEopB,EAAEllB,EAAE0B,EAAE,KAAK,OAAOwjB,GAAG,CAAC,OAAOA,EAAEzN,KAAK,KAAK,EAAEoxK,GAAE3jK,EAAEg6lB,UAAUsjB,IAAG,EAAG,MAAM9goB,EAAE,KAAK,EAA4C,KAAK,EAAEmnL,GAAE3jK,EAAEg6lB,UAAU6F,cAAcyd,IAAG,EAAG,MAAM9goB,EAAEwjB,EAAEA,EAAE5K,MAAM,CAAC,GAAG,OAAOuuK,GAAE,MAAM3jL,MAAM/I,EAAE,MAAM07K,GAAG/3K,EAAEE,EAAE1C,GAAGurL,GAAE,KAAK25c,IAAG,EAAG,IAAIvhoB,EAAE3D,EAAEgjnB,UAAU,OAAOr/mB,IAAIA,EAAEqZ,OAAO,MAAMhd,EAAEgd,OAAO,IAAI,CAAC,MAAMioB,GAAGu9B,GAAExiE,EAAExB,EAAEymC,EAAE,CAAC,CAAC,GAAkB,MAAfzmC,EAAEykoB,aAAmB,IAAIzkoB,EAAEA,EAAEuX,MAAM,OAAOvX,GAAGgnoB,GAAGhnoB,EAAE4F,GAAG5F,EAAEA,EAAE8knB,OAAO,CACje,SAASkiB,GAAGphoB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAE4+mB,UAAUzknB,EAAE6F,EAAEgR,MAAM,OAAOhR,EAAE+V,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAiB,GAAdornB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAQ,EAAF7F,EAAI,CAAC,IAAIkmoB,GAAG,EAAErgoB,EAAEA,EAAE4Y,QAAQ0nnB,GAAG,EAAEtgoB,EAAE,CAAC,MAAM7E,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,IAAIkloB,GAAG,EAAErgoB,EAAEA,EAAE4Y,OAAO,CAAC,MAAMzd,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,CAAC,MAAM,KAAK,EAAEgmoB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAK,IAAF7F,GAAO,OAAOkC,GAAG6joB,GAAG7joB,EAAEA,EAAEuc,QAAQ,MAAM,KAAK,EAAgD,GAA9CuonB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAK,IAAF7F,GAAO,OAAOkC,GAAG6joB,GAAG7joB,EAAEA,EAAEuc,QAAmB,GAAR5Y,EAAEgR,MAAS,CAAC,IAAIpV,EAAEoE,EAAEw9mB,UAAU,IAAIrB,GAAGvgnB,EAAE,GAAG,CAAC,MAAMT,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,CAAC,GAAK,EAAFhB,GAAoB,OAAdyB,EAAEoE,EAAEw9mB,WAAmB,CAAC,IAAIp/mB,EAAE4B,EAAEkynB,cAAc5znB,EAAE,OAAOjC,EAAEA,EAAE61nB,cAAc9znB,EAAEolB,EAAExjB,EAAEqS,KAAK9S,EAAES,EAAE6znB,YACje,GAAnB7znB,EAAE6znB,YAAY,KAAQ,OAAOt0nB,EAAE,IAAI,UAAUikB,GAAG,UAAUplB,EAAEiU,MAAM,MAAMjU,EAAEwD,MAAM05mB,EAAG1/mB,EAAEwC,GAAG0+mB,GAAGt5lB,EAAEllB,GAAG,IAAIuiC,EAAEi8kB,GAAGt5lB,EAAEplB,GAAG,IAAIE,EAAE,EAAEA,EAAEiB,EAAE/D,OAAO8C,GAAG,EAAE,CAAC,IAAIgB,EAAEC,EAAEjB,GAAGgC,EAAEf,EAAEjB,EAAE,GAAG,UAAUgB,EAAEwvhB,GAAGlzhB,EAAE0E,GAAG,4BAA4BhB,EAAE61K,GAAGv5K,EAAE0E,GAAG,aAAahB,EAAE68mB,GAAGvgnB,EAAE0E,GAAGuyL,EAAGj3L,EAAE0D,EAAEgB,EAAEugC,EAAE,CAAC,OAAOrd,GAAG,IAAK,QAAQ+3lB,EAAG3/mB,EAAEwC,GAAG,MAAM,IAAK,WAAWy9mB,GAAGjgnB,EAAEwC,GAAG,MAAM,IAAK,SAAS,IAAI9B,EAAEV,EAAEu/mB,cAAcqkB,YAAY5joB,EAAEu/mB,cAAcqkB,cAAcphoB,EAAE4tlB,SAAS,IAAI3tlB,EAAED,EAAET,MAAM,MAAMU,EAAEo9mB,GAAG7/mB,IAAIwC,EAAE4tlB,SAAS3tlB,GAAE,GAAI/B,MAAM8B,EAAE4tlB,WAAW,MAAM5tlB,EAAE6Q,aAAawsmB,GAAG7/mB,IAAIwC,EAAE4tlB,SACnf5tlB,EAAE6Q,cAAa,GAAIwsmB,GAAG7/mB,IAAIwC,EAAE4tlB,SAAS5tlB,EAAE4tlB,SAAS,GAAG,IAAG,IAAKpwlB,EAAEyznB,IAAIjxnB,CAAC,CAAC,MAAMjD,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,CAAC,MAAM,KAAK,EAAgB,GAAdgmoB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAQ,EAAF7F,EAAI,CAAC,GAAG,OAAO6F,EAAEw9mB,UAAU,MAAMh6mB,MAAM/I,EAAE,MAAMmB,EAAEoE,EAAEw9mB,UAAUp/mB,EAAE4B,EAAEkynB,cAAc,IAAIt2nB,EAAE6V,UAAUrT,CAAC,CAAC,MAAMjD,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,CAAC,MAAM,KAAK,EAAgB,GAAdgmoB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAQ,EAAF7F,GAAK,OAAOkC,GAAGA,EAAEyinB,cAAcsE,aAAa,IAAIO,GAAGvpnB,EAAEipnB,cAAc,CAAC,MAAMlonB,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,MAAM,KAAK,EAG4G,QAAQgmoB,GAAG/moB,EACnf4F,GAAGqhoB,GAAGrhoB,SAJ4Y,KAAK,GAAGmhoB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAqB,MAAlBpE,EAAEoE,EAAE2R,OAAQX,QAAa5S,EAAE,OAAOxC,EAAEkjnB,cAAcljnB,EAAE4hnB,UAAU7zM,SAASvra,GAAGA,GAClf,OAAOxC,EAAEgjnB,WAAW,OAAOhjnB,EAAEgjnB,UAAUE,gBAAgBwiB,GAAG/zG,OAAQ,EAAFpzhB,GAAK8moB,GAAGjhoB,GAAG,MAAM,KAAK,GAAsF,GAAnFV,EAAE,OAAOjD,GAAG,OAAOA,EAAEyinB,cAAqB,EAAP9+mB,EAAEonB,MAAQ8tgB,IAAGr0f,EAAEq0f,KAAI51hB,EAAE6hoB,GAAG/moB,EAAE4F,GAAGk1hB,GAAEr0f,GAAGsgmB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAQ,KAAF7F,EAAO,CAA0B,GAAzB0mC,EAAE,OAAO7gC,EAAE8+mB,eAAkB9+mB,EAAEw9mB,UAAU7zM,SAAS9oY,KAAKvhC,GAAG,KAAY,EAAPU,EAAEonB,MAAQ,IAAI+tgB,GAAEn1hB,EAAEV,EAAEU,EAAE2R,MAAM,OAAOrS,GAAG,CAAC,IAAIgB,EAAE60hB,GAAE71hB,EAAE,OAAO61hB,IAAG,CAAe,OAAV92hB,GAAJ/B,EAAE64hB,IAAMxjhB,MAAarV,EAAEyZ,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGsqnB,GAAG,EAAE/joB,EAAEA,EAAEsc,QAAQ,MAAM,KAAK,EAAEsnnB,GAAG5joB,EAAEA,EAAEsc,QAAQ,IAAItd,EAAEgB,EAAEkhnB,UAAU,GAAG,oBAAoBlinB,EAAEonE,qBAAqB,CAACvoE,EAAEmC,EAAED,EAAEC,EAAEsc,OAAO,IAAIxe,EAAED,EAAEmB,EAAE6Q,MACpf/R,EAAE83nB,cAAc52nB,EAAE2J,MAAM7K,EAAE0knB,cAAcxjnB,EAAEonE,sBAAsB,CAAC,MAAMvnE,GAAGijE,GAAEjkE,EAAEkC,EAAElB,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE+koB,GAAG5joB,EAAEA,EAAEsc,QAAQ,MAAM,KAAK,GAAG,GAAG,OAAOtc,EAAEwinB,cAAc,CAACyiB,GAAGjhoB,GAAG,QAAQ,EAAE,OAAOjC,GAAGA,EAAEua,OAAOtc,EAAE64hB,GAAE92hB,GAAGkjoB,GAAGjhoB,EAAE,CAAChB,EAAEA,EAAE4/mB,OAAO,CAACl/mB,EAAE,IAAIV,EAAE,KAAKgB,EAAEN,IAAI,CAAC,GAAG,IAAIM,EAAEyV,KAAK,GAAG,OAAOzW,EAAE,CAACA,EAAEgB,EAAE,IAAI1E,EAAE0E,EAAEk9mB,UAAU38kB,EAAa,oBAAVziC,EAAExC,EAAEkZ,OAA4B65F,YAAYvwG,EAAEuwG,YAAY,UAAU,OAAO,aAAavwG,EAAE83B,QAAQ,QAAS1S,EAAEljB,EAAEk9mB,UAAkCl/mB,OAAE,KAA1BiB,EAAEe,EAAE4xnB,cAAcp9mB,QAAoB,OAAOvV,GAAGA,EAAE7E,eAAe,WAAW6E,EAAE22B,QAAQ,KAAK1S,EAAE1O,MAAMohB,QACzfomlB,GAAG,UAAUh+mB,GAAG,CAAC,MAAMnD,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,CAAC,OAAO,GAAG,IAAImF,EAAEyV,KAAK,GAAG,OAAOzW,EAAE,IAAIgB,EAAEk9mB,UAAU/rmB,UAAUovB,EAAE,GAAGvgC,EAAE4xnB,aAAa,CAAC,MAAM/2nB,GAAGijE,GAAEp+D,EAAEA,EAAE4Y,OAAOzd,EAAE,OAAO,IAAI,KAAKmF,EAAEyV,KAAK,KAAKzV,EAAEyV,KAAK,OAAOzV,EAAEw+mB,eAAex+mB,IAAIN,IAAI,OAAOM,EAAEqR,MAAM,CAACrR,EAAEqR,MAAMiH,OAAOtY,EAAEA,EAAEA,EAAEqR,MAAM,QAAQ,CAAC,GAAGrR,IAAIN,EAAE,MAAMA,EAAE,KAAK,OAAOM,EAAE4+mB,SAAS,CAAC,GAAG,OAAO5+mB,EAAEsY,QAAQtY,EAAEsY,SAAS5Y,EAAE,MAAMA,EAAEV,IAAIgB,IAAIhB,EAAE,MAAMgB,EAAEA,EAAEsY,MAAM,CAACtZ,IAAIgB,IAAIhB,EAAE,MAAMgB,EAAE4+mB,QAAQtmmB,OAAOtY,EAAEsY,OAAOtY,EAAEA,EAAE4+mB,OAAO,CAAC,CAAC,MAAM,KAAK,GAAGiiB,GAAG/moB,EAAE4F,GAAGqhoB,GAAGrhoB,GAAK,EAAF7F,GAAK8moB,GAAGjhoB,GAAS,KAAK,IACtd,CAAC,SAASqhoB,GAAGrhoB,GAAG,IAAI5F,EAAE4F,EAAEgR,MAAM,GAAK,EAAF5W,EAAI,CAAC,IAAI4F,EAAE,CAAC,IAAI,IAAI3D,EAAE2D,EAAE4Y,OAAO,OAAOvc,GAAG,CAAC,GAAGokoB,GAAGpkoB,GAAG,CAAC,IAAIlC,EAAEkC,EAAE,MAAM2D,CAAC,CAAC3D,EAAEA,EAAEuc,MAAM,CAAC,MAAMpV,MAAM/I,EAAE,KAAM,CAAC,OAAON,EAAE4b,KAAK,KAAK,EAAE,IAAIna,EAAEzB,EAAEqjnB,UAAkB,GAARrjnB,EAAE6W,QAAWmrmB,GAAGvgnB,EAAE,IAAIzB,EAAE6W,QAAQ,IAAgB6vnB,GAAG7goB,EAAT0goB,GAAG1goB,GAAUpE,GAAG,MAAM,KAAK,EAAE,KAAK,EAAE,IAAI0C,EAAEnE,EAAEqjnB,UAAU6F,cAAsBsd,GAAG3goB,EAAT0goB,GAAG1goB,GAAU1B,GAAG,MAAM,QAAQ,MAAMkF,MAAM/I,EAAE,MAAO,CAAC,MAAM8E,GAAG6+D,GAAEp+D,EAAEA,EAAE4Y,OAAOrZ,EAAE,CAACS,EAAEgR,QAAQ,CAAC,CAAG,KAAF5W,IAAS4F,EAAEgR,QAAQ,KAAK,CAAC,SAASwwnB,GAAGxhoB,EAAE5F,EAAEiC,GAAG84hB,GAAEn1hB,EAAEyhoB,GAAGzhoB,EAAE5F,EAAEiC,EAAE,CACvb,SAASoloB,GAAGzhoB,EAAE5F,EAAEiC,GAAG,IAAI,IAAIlC,EAAE,KAAY,EAAP6F,EAAEonB,MAAQ,OAAO+tgB,IAAG,CAAC,IAAIv5hB,EAAEu5hB,GAAE/2hB,EAAExC,EAAE+V,MAAM,GAAG,KAAK/V,EAAEma,KAAK5b,EAAE,CAAC,IAAImE,EAAE,OAAO1C,EAAEkjnB,eAAeihB,GAAG,IAAIzhoB,EAAE,CAAC,IAAIklB,EAAE5nB,EAAEgjnB,UAAUr/mB,EAAE,OAAOikB,GAAG,OAAOA,EAAEs7lB,eAAe5pF,GAAE1xgB,EAAEu8mB,GAAG,IAAIl/lB,EAAEq0f,GAAO,GAAL6qG,GAAGzhoB,GAAM42hB,GAAE31hB,KAAKshC,EAAE,IAAIs0f,GAAEv5hB,EAAE,OAAOu5hB,IAAO51hB,GAAJjB,EAAE62hB,IAAMxjhB,MAAM,KAAKrT,EAAEyX,KAAK,OAAOzX,EAAEwgnB,cAAcllc,GAAGh+K,GAAG,OAAO2D,GAAGA,EAAEqZ,OAAOta,EAAE62hB,GAAE51hB,GAAGq6K,GAAGh+K,GAAG,KAAK,OAAOwC,GAAG+2hB,GAAE/2hB,EAAEqjoB,GAAGrjoB,EAAEhE,EAAEiC,GAAG+B,EAAEA,EAAE8gnB,QAAQ/pF,GAAEv5hB,EAAEmkoB,GAAGv8mB,EAAE0xgB,GAAEr0f,CAAC,CAAC6gmB,GAAG1hoB,EAAM,MAAM,KAAoB,KAAfpE,EAAEijoB,eAAoB,OAAOzgoB,GAAGA,EAAEwa,OAAOhd,EAAEu5hB,GAAE/2hB,GAAGsjoB,GAAG1hoB,EAAM,CAAC,CACvc,SAAS0hoB,GAAG1hoB,GAAG,KAAK,OAAOm1hB,IAAG,CAAC,IAAI/6hB,EAAE+6hB,GAAE,GAAG,KAAa,KAAR/6hB,EAAE4W,OAAY,CAAC,IAAI3U,EAAEjC,EAAEwknB,UAAU,IAAI,GAAG,KAAa,KAARxknB,EAAE4W,OAAY,OAAO5W,EAAE2b,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGm/gB,IAAGorG,GAAG,EAAElmoB,GAAG,MAAM,KAAK,EAAE,IAAID,EAAEC,EAAEojnB,UAAU,GAAW,EAARpjnB,EAAE4W,QAAUkkhB,GAAE,GAAG,OAAO74hB,EAAElC,EAAE+nE,wBAAwB,CAAC,IAAItmE,EAAExB,EAAE2sW,cAAc3sW,EAAEiY,KAAKhW,EAAE61nB,cAAcK,GAAGn4nB,EAAEiY,KAAKhW,EAAE61nB,eAAe/3nB,EAAEkoE,mBAAmBzmE,EAAES,EAAEyinB,cAAc3knB,EAAEwnoB,oCAAoC,CAAC,IAAIvjoB,EAAEhE,EAAEy5nB,YAAY,OAAOz1nB,GAAGs2nB,GAAGt6nB,EAAEgE,EAAEjE,GAAG,MAAM,KAAK,EAAE,IAAImE,EAAElE,EAAEy5nB,YAAY,GAAG,OAAOv1nB,EAAE,CAAQ,GAAPjC,EAAE,KAAQ,OAAOjC,EAAEuX,MAAM,OAAOvX,EAAEuX,MAAMoE,KAAK,KAAK,EACvf,KAAK,EAAE1Z,EAAEjC,EAAEuX,MAAM6rmB,UAAUkX,GAAGt6nB,EAAEkE,EAAEjC,EAAE,CAAC,MAAM,KAAK,EAAE,IAAImnB,EAAEppB,EAAEojnB,UAAU,GAAG,OAAOnhnB,GAAW,EAARjC,EAAE4W,MAAQ,CAAC3U,EAAEmnB,EAAE,IAAIjkB,EAAEnF,EAAE83nB,cAAc,OAAO93nB,EAAEiY,MAAM,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW9S,EAAEogoB,WAAWtjoB,EAAE6pB,QAAQ,MAAM,IAAK,MAAM3mB,EAAEmuD,MAAMrxD,EAAEqxD,IAAInuD,EAAEmuD,KAAK,CAAC,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAyJ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAhM,KAAK,GAAG,GAAG,OAAOtzD,EAAE0knB,cAAc,CAAC,IAAIj+kB,EAAEzmC,EAAEwknB,UAAU,GAAG,OAAO/9kB,EAAE,CAAC,IAAIvhC,EAAEuhC,EAAEi+kB,cAAc,GAAG,OAAOx/mB,EAAE,CAAC,IAAIgB,EAAEhB,EAAEy/mB,WAAW,OAAOz+mB,GAAGqjnB,GAAGrjnB,EAAE,CAAC,CAAC,CAAC,MAC5c,QAAQ,MAAMkD,MAAM/I,EAAE,MAAOy6hB,IAAW,IAAR96hB,EAAE4W,OAAWuvnB,GAAGnmoB,EAAE,CAAC,MAAMkC,GAAG8hE,GAAEhkE,EAAEA,EAAEwe,OAAOtc,EAAE,CAAC,CAAC,GAAGlC,IAAI4F,EAAE,CAACm1hB,GAAE,KAAK,KAAK,CAAa,GAAG,QAAf94hB,EAAEjC,EAAE8knB,SAAoB,CAAC7inB,EAAEuc,OAAOxe,EAAEwe,OAAOu8gB,GAAE94hB,EAAE,KAAK,CAAC84hB,GAAE/6hB,EAAEwe,MAAM,CAAC,CAAC,SAAS2onB,GAAGvhoB,GAAG,KAAK,OAAOm1hB,IAAG,CAAC,IAAI/6hB,EAAE+6hB,GAAE,GAAG/6hB,IAAI4F,EAAE,CAACm1hB,GAAE,KAAK,KAAK,CAAC,IAAI94hB,EAAEjC,EAAE8knB,QAAQ,GAAG,OAAO7inB,EAAE,CAACA,EAAEuc,OAAOxe,EAAEwe,OAAOu8gB,GAAE94hB,EAAE,KAAK,CAAC84hB,GAAE/6hB,EAAEwe,MAAM,CAAC,CACvS,SAASghK,GAAG55K,GAAG,KAAK,OAAOm1hB,IAAG,CAAC,IAAI/6hB,EAAE+6hB,GAAE,IAAI,OAAO/6hB,EAAE2b,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI1Z,EAAEjC,EAAEwe,OAAO,IAAI0nnB,GAAG,EAAElmoB,EAAE,CAAC,MAAMmF,GAAG6+D,GAAEhkE,EAAEiC,EAAEkD,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIpF,EAAEC,EAAEojnB,UAAU,GAAG,oBAAoBrjnB,EAAE+nE,kBAAkB,CAAC,IAAItmE,EAAExB,EAAEwe,OAAO,IAAIze,EAAE+nE,mBAAmB,CAAC,MAAM3iE,GAAG6+D,GAAEhkE,EAAEwB,EAAE2D,EAAE,CAAC,CAAC,IAAInB,EAAEhE,EAAEwe,OAAO,IAAI2nnB,GAAGnmoB,EAAE,CAAC,MAAMmF,GAAG6+D,GAAEhkE,EAAEgE,EAAEmB,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIjB,EAAElE,EAAEwe,OAAO,IAAI2nnB,GAAGnmoB,EAAE,CAAC,MAAMmF,GAAG6+D,GAAEhkE,EAAEkE,EAAEiB,EAAE,EAAE,CAAC,MAAMA,GAAG6+D,GAAEhkE,EAAEA,EAAEwe,OAAOrZ,EAAE,CAAC,GAAGnF,IAAI4F,EAAE,CAACm1hB,GAAE,KAAK,KAAK,CAAC,IAAI3xgB,EAAEppB,EAAE8knB,QAAQ,GAAG,OAAO17lB,EAAE,CAACA,EAAE5K,OAAOxe,EAAEwe,OAAOu8gB,GAAE3xgB,EAAE,KAAK,CAAC2xgB,GAAE/6hB,EAAEwe,MAAM,CAAC,CAC7d,IAwBkNgpnB,GAxB9M5md,GAAG70K,KAAKgzD,KAAK0okB,GAAGx3jB,EAAGgtjB,uBAAuBtmT,GAAG1mQ,EAAGkyjB,kBAAkBuF,GAAGz3jB,EAAGw5iB,wBAAwBzuF,GAAE,EAAEjI,GAAE,KAAKkI,GAAE,KAAKjuW,GAAE,EAAE+1c,GAAG,EAAED,GAAGxN,GAAG,GAAGtzjB,GAAE,EAAE2lkB,GAAG,KAAKphF,GAAG,EAAEqhF,GAAG,EAAEnld,GAAG,EAAEU,GAAG,KAAKI,GAAG,KAAK2jd,GAAG,EAAE1B,GAAGtykB,IAAS20kB,GAAG,KAAKtG,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKmG,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAE,SAAS/7c,KAAI,OAAO,KAAO,EAAF2uW,IAAK7H,MAAK,IAAIg1G,GAAGA,GAAGA,GAAGh1G,IAAG,CAChU,SAASynG,GAAGh1nB,GAAG,OAAG,KAAY,EAAPA,EAAEonB,MAAe,EAAK,KAAO,EAAFgugB,KAAM,IAAIhuW,GAASA,IAAGA,GAAK,OAAOkrc,GAAGn8lB,YAAkB,IAAIqsmB,KAAKA,GAAGjhB,MAAMihB,IAAU,KAAPxioB,EAAEuwD,IAAkBvwD,EAAiBA,OAAE,KAAjBA,EAAE9G,OAAOkiC,OAAmB,GAAG8olB,GAAGlknB,EAAEqS,KAAc,CAAC,SAAS4inB,GAAGj1nB,EAAE5F,EAAEiC,EAAElC,GAAG,GAAG,GAAGkooB,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK9+nB,MAAM/I,EAAE,MAAMgnnB,GAAGzhnB,EAAE3D,EAAElC,GAAM,KAAO,EAAFi7hB,KAAMp1hB,IAAImthB,KAAEnthB,IAAImthB,KAAI,KAAO,EAAFiI,MAAO4sG,IAAI3loB,GAAG,IAAI+/D,IAAGqmkB,GAAGzioB,EAAEonL,KAAIs7c,GAAG1ioB,EAAE7F,GAAG,IAAIkC,GAAG,IAAI+4hB,IAAG,KAAY,EAAPh7hB,EAAEgtB,QAAUw4mB,GAAGryG,KAAI,IAAIijG,IAAIG,MAAK,CAC1Y,SAAS+R,GAAG1ioB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAE2ioB,cA5MzB,SAAY3ioB,EAAE5F,GAAG,IAAI,IAAIiC,EAAE2D,EAAEihnB,eAAe9mnB,EAAE6F,EAAEkhnB,YAAYtlnB,EAAEoE,EAAE4ioB,gBAAgBxkoB,EAAE4B,EAAEghnB,aAAa,EAAE5inB,GAAG,CAAC,IAAIE,EAAE,GAAGqinB,GAAGvinB,GAAGolB,EAAE,GAAGllB,EAAEiB,EAAE3D,EAAE0C,IAAO,IAAIiB,EAAM,KAAKikB,EAAEnnB,IAAI,KAAKmnB,EAAErpB,KAAGyB,EAAE0C,GAAG+inB,GAAG79lB,EAAEppB,IAAQmF,GAAGnF,IAAI4F,EAAE6ioB,cAAcr/mB,GAAGplB,IAAIolB,CAAC,CAAC,CA4MnLs/mB,CAAG9ioB,EAAE5F,GAAG,IAAID,EAAE0mD,GAAG7gD,EAAEA,IAAImthB,GAAE/lW,GAAE,GAAG,GAAG,IAAIjtL,EAAE,OAAOkC,GAAGkjnB,GAAGljnB,GAAG2D,EAAE2ioB,aAAa,KAAK3ioB,EAAE+ioB,iBAAiB,OAAO,GAAG3ooB,EAAED,GAAGA,EAAE6F,EAAE+ioB,mBAAmB3ooB,EAAE,CAAgB,GAAf,MAAMiC,GAAGkjnB,GAAGljnB,GAAM,IAAIjC,EAAE,IAAI4F,EAAE+V,IA7IsJ,SAAY/V,GAAGwwnB,IAAG,EAAGE,GAAG1wnB,EAAE,CA6I5Km5K,CAAG6pd,GAAG3kmB,KAAK,KAAKr+B,IAAI0wnB,GAAGsS,GAAG3kmB,KAAK,KAAKr+B,IAAI6unB,IAAG,WAAW,KAAO,EAAFz5F,KAAMu7F,IAAI,IAAGt0nB,EAAE,SAAS,CAAC,OAAOulnB,GAAGznnB,IAAI,KAAK,EAAEkC,EAAE0jnB,GAAG,MAAM,KAAK,EAAE1jnB,EAAE4jnB,GAAG,MAAM,KAAK,GAAwC,QAAQ5jnB,EAAE8jnB,SAApC,KAAK,UAAU9jnB,EAAEkknB,GAAsBlknB,EAAE4moB,GAAG5moB,EAAE6moB,GAAG7kmB,KAAK,KAAKr+B,GAAG,CAACA,EAAE+ioB,iBAAiB3ooB,EAAE4F,EAAE2ioB,aAAatmoB,CAAC,CAAC,CAC7c,SAAS6moB,GAAGljoB,EAAE5F,GAAc,GAAXmooB,IAAI,EAAEC,GAAG,EAAK,KAAO,EAAFptG,IAAK,MAAM5xhB,MAAM/I,EAAE,MAAM,IAAI4B,EAAE2D,EAAE2ioB,aAAa,GAAGQ,MAAMnjoB,EAAE2ioB,eAAetmoB,EAAE,OAAO,KAAK,IAAIlC,EAAE0mD,GAAG7gD,EAAEA,IAAImthB,GAAE/lW,GAAE,GAAG,GAAG,IAAIjtL,EAAE,OAAO,KAAK,GAAG,KAAO,GAAFA,IAAO,KAAKA,EAAE6F,EAAE6ioB,eAAezooB,EAAEA,EAAEgpoB,GAAGpjoB,EAAE7F,OAAO,CAACC,EAAED,EAAE,IAAIyB,EAAEw5hB,GAAEA,IAAG,EAAE,IAAIh3hB,EAAEiloB,KAAgD,IAAxCl2G,KAAInthB,GAAGonL,KAAIhtL,IAAE6noB,GAAG,KAAKrC,GAAGryG,KAAI,IAAI+1G,GAAGtjoB,EAAE5F,UAAUmpoB,KAAK,KAAK,CAAC,MAAM//mB,GAAGggnB,GAAGxjoB,EAAEwjB,EAAE,CAAUovmB,KAAKiP,GAAGpomB,QAAQr7B,EAAEg3hB,GAAEx5hB,EAAE,OAAOy5hB,GAAEj7hB,EAAE,GAAG+yhB,GAAE,KAAK/lW,GAAE,EAAEhtL,EAAEgiE,GAAE,CAAC,GAAG,IAAIhiE,EAAE,CAAyC,GAAxC,IAAIA,IAAY,KAARwB,EAAE0lnB,GAAGthnB,MAAW7F,EAAEyB,EAAExB,EAAEqpoB,GAAGzjoB,EAAEpE,KAAQ,IAAIxB,EAAE,MAAMiC,EAAE0loB,GAAGuB,GAAGtjoB,EAAE,GAAGyioB,GAAGzioB,EAAE7F,GAAGuooB,GAAG1ioB,EAAEuthB,MAAKlxhB,EAAE,GAAG,IAAIjC,EAAEqooB,GAAGzioB,EAAE7F,OAChf,CAAuB,GAAtByB,EAAEoE,EAAEy5B,QAAQmllB,UAAa,KAAO,GAAFzknB,KAGnC,SAAY6F,GAAG,IAAI,IAAI5F,EAAE4F,IAAI,CAAC,GAAW,MAAR5F,EAAE4W,MAAY,CAAC,IAAI3U,EAAEjC,EAAEy5nB,YAAY,GAAG,OAAOx3nB,GAAe,QAAXA,EAAEA,EAAE68nB,QAAiB,IAAI,IAAI/+nB,EAAE,EAAEA,EAAEkC,EAAEb,OAAOrB,IAAI,CAAC,IAAIyB,EAAES,EAAElC,GAAGiE,EAAExC,EAAEk9nB,YAAYl9nB,EAAEA,EAAE+B,MAAM,IAAI,IAAI2snB,GAAGlsnB,IAAIxC,GAAG,OAAM,CAAE,CAAC,MAAM0C,GAAG,OAAM,CAAE,CAAC,CAAC,CAAW,GAAVjC,EAAEjC,EAAEuX,MAAwB,MAAfvX,EAAEykoB,cAAoB,OAAOxioB,EAAEA,EAAEuc,OAAOxe,EAAEA,EAAEiC,MAAM,CAAC,GAAGjC,IAAI4F,EAAE,MAAM,KAAK,OAAO5F,EAAE8knB,SAAS,CAAC,GAAG,OAAO9knB,EAAEwe,QAAQxe,EAAEwe,SAAS5Y,EAAE,OAAM,EAAG5F,EAAEA,EAAEwe,MAAM,CAACxe,EAAE8knB,QAAQtmmB,OAAOxe,EAAEwe,OAAOxe,EAAEA,EAAE8knB,OAAO,CAAC,CAAC,OAAM,CAAE,CAHvXwkB,CAAG9noB,KAAe,KAAVxB,EAAEgpoB,GAAGpjoB,EAAE7F,MAAmB,KAARiE,EAAEkjnB,GAAGthnB,MAAW7F,EAAEiE,EAAEhE,EAAEqpoB,GAAGzjoB,EAAE5B,KAAK,IAAIhE,GAAG,MAAMiC,EAAE0loB,GAAGuB,GAAGtjoB,EAAE,GAAGyioB,GAAGzioB,EAAE7F,GAAGuooB,GAAG1ioB,EAAEuthB,MAAKlxhB,EAAqC,OAAnC2D,EAAE2joB,aAAa/noB,EAAEoE,EAAE4joB,cAAczpoB,EAASC,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMoJ,MAAM/I,EAAE,MAAM,KAAK,EAC8B,KAAK,EAAEopoB,GAAG7joB,EAAE29K,GAAGskd,IAAI,MAD7B,KAAK,EAAU,GAARQ,GAAGzioB,EAAE7F,IAAS,UAAFA,KAAeA,GAAiB,IAAbC,EAAEknoB,GAAG,IAAI/zG,MAAU,CAAC,GAAG,IAAI1se,GAAG7gD,EAAE,GAAG,MAAyB,KAAnBpE,EAAEoE,EAAEihnB,gBAAqB9mnB,KAAKA,EAAE,CAACssL,KAAIzmL,EAAEkhnB,aAAalhnB,EAAEihnB,eAAerlnB,EAAE,KAAK,CAACoE,EAAE8joB,cAAcpV,GAAGmV,GAAGxlmB,KAAK,KAAKr+B,EAAE29K,GAAGskd,IAAI7noB,GAAG,KAAK,CAACypoB,GAAG7joB,EAAE29K,GAAGskd,IAAI,MAAM,KAAK,EAAU,GAARQ,GAAGzioB,EAAE7F,IAAS,QAAFA,KAC9eA,EAAE,MAAqB,IAAfC,EAAE4F,EAAE0hnB,WAAe9lnB,GAAG,EAAE,EAAEzB,GAAG,CAAC,IAAImE,EAAE,GAAGqinB,GAAGxmnB,GAAGiE,EAAE,GAAGE,GAAEA,EAAElE,EAAEkE,IAAK1C,IAAIA,EAAE0C,GAAGnE,IAAIiE,CAAC,CAAqG,GAApGjE,EAAEyB,EAAqG,IAA3FzB,GAAG,KAAXA,EAAEozhB,KAAIpzhB,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAK6gL,GAAG7gL,EAAE,OAAOA,GAAU,CAAC6F,EAAE8joB,cAAcpV,GAAGmV,GAAGxlmB,KAAK,KAAKr+B,EAAE29K,GAAGskd,IAAI9noB,GAAG,KAAK,CAAC0poB,GAAG7joB,EAAE29K,GAAGskd,IAAI,MAA+B,QAAQ,MAAMz+nB,MAAM/I,EAAE,MAAO,CAAC,CAAW,OAAViooB,GAAG1ioB,EAAEuthB,MAAYvthB,EAAE2ioB,eAAetmoB,EAAE6moB,GAAG7kmB,KAAK,KAAKr+B,GAAG,IAAI,CACrX,SAASyjoB,GAAGzjoB,EAAE5F,GAAG,IAAIiC,EAAEkhL,GAA2G,OAAxGv9K,EAAEy5B,QAAQqllB,cAAcsE,eAAekgB,GAAGtjoB,EAAE5F,GAAG4W,OAAO,KAAe,KAAVhR,EAAEojoB,GAAGpjoB,EAAE5F,MAAWA,EAAEujL,GAAGA,GAAGthL,EAAE,OAAOjC,GAAGmloB,GAAGnloB,IAAW4F,CAAC,CAAC,SAASu/nB,GAAGv/nB,GAAG,OAAO29K,GAAGA,GAAG39K,EAAE29K,GAAGx+K,KAAKzD,MAAMiiL,GAAG39K,EAAE,CAE5L,SAASyioB,GAAGzioB,EAAE5F,GAAuD,IAApDA,IAAIyiL,GAAGziL,IAAI4noB,GAAGhioB,EAAEihnB,gBAAgB7mnB,EAAE4F,EAAEkhnB,cAAc9mnB,EAAM4F,EAAEA,EAAE4ioB,gBAAgB,EAAExooB,GAAG,CAAC,IAAIiC,EAAE,GAAGsknB,GAAGvmnB,GAAGD,EAAE,GAAGkC,EAAE2D,EAAE3D,IAAI,EAAEjC,IAAID,CAAC,CAAC,CAAC,SAAS6ooB,GAAGhjoB,GAAG,GAAG,KAAO,EAAFo1hB,IAAK,MAAM5xhB,MAAM/I,EAAE,MAAM0ooB,KAAK,IAAI/ooB,EAAEymD,GAAG7gD,EAAE,GAAG,GAAG,KAAO,EAAF5F,GAAK,OAAOsooB,GAAG1ioB,EAAEuthB,MAAK,KAAK,IAAIlxhB,EAAE+moB,GAAGpjoB,EAAE5F,GAAG,GAAG,IAAI4F,EAAE+V,KAAK,IAAI1Z,EAAE,CAAC,IAAIlC,EAAEmnnB,GAAGthnB,GAAG,IAAI7F,IAAIC,EAAED,EAAEkC,EAAEonoB,GAAGzjoB,EAAE7F,GAAG,CAAC,GAAG,IAAIkC,EAAE,MAAMA,EAAE0loB,GAAGuB,GAAGtjoB,EAAE,GAAGyioB,GAAGzioB,EAAE5F,GAAGsooB,GAAG1ioB,EAAEuthB,MAAKlxhB,EAAE,GAAG,IAAIA,EAAE,MAAMmH,MAAM/I,EAAE,MAAiF,OAA3EuF,EAAE2joB,aAAa3joB,EAAEy5B,QAAQmllB,UAAU5+mB,EAAE4joB,cAAcxpoB,EAAEypoB,GAAG7joB,EAAE29K,GAAGskd,IAAIS,GAAG1ioB,EAAEuthB,MAAY,IAAI,CACvd,SAASw2G,GAAG/joB,EAAE5F,GAAG,IAAIiC,EAAE+4hB,GAAEA,IAAG,EAAE,IAAI,OAAOp1hB,EAAE5F,EAAE,CAAC,QAAY,KAAJg7hB,GAAE/4hB,KAAUujoB,GAAGryG,KAAI,IAAIijG,IAAIG,KAAK,CAAC,CAAC,SAASqT,GAAGhkoB,GAAG,OAAOmioB,IAAI,IAAIA,GAAGpsnB,KAAK,KAAO,EAAFq/gB,KAAM+tG,KAAK,IAAI/ooB,EAAEg7hB,GAAEA,IAAG,EAAE,IAAI/4hB,EAAEyloB,GAAG3rmB,WAAWh8B,EAAEo2D,GAAE,IAAI,GAAGuxkB,GAAG3rmB,WAAW,KAAKo6B,GAAE,EAAEvwD,EAAE,OAAOA,GAAG,CAAC,QAAQuwD,GAAEp2D,EAAE2noB,GAAG3rmB,WAAW95B,EAAM,KAAO,GAAX+4hB,GAAEh7hB,KAAau2nB,IAAI,CAAC,CAAC,SAASkP,KAAK1C,GAAGD,GAAGzjmB,QAAQktJ,GAAEu2c,GAAG,CAChT,SAASoG,GAAGtjoB,EAAE5F,GAAG4F,EAAE2joB,aAAa,KAAK3joB,EAAE4joB,cAAc,EAAE,IAAIvnoB,EAAE2D,EAAE8joB,cAAiD,IAAlC,IAAIznoB,IAAI2D,EAAE8joB,eAAe,EAAEnV,GAAGtynB,IAAO,OAAOg5hB,GAAE,IAAIh5hB,EAAEg5hB,GAAEz8gB,OAAO,OAAOvc,GAAG,CAAC,IAAIlC,EAAEkC,EAAQ,OAAN80nB,GAAGh3nB,GAAUA,EAAE4b,KAAK,KAAK,EAA6B,QAA3B5b,EAAEA,EAAEkY,KAAKgwkB,yBAA4B,IAASlolB,GAAG+1nB,KAAK,MAAM,KAAK,EAAE0G,KAAKjwc,GAAEipc,IAAIjpc,GAAElqH,IAAGy6jB,KAAK,MAAM,KAAK,EAAEJ,GAAG38nB,GAAG,MAAM,KAAK,EAAEy8nB,KAAK,MAAM,KAAK,GAAc,KAAK,GAAGjwc,GAAEh0H,IAAG,MAAM,KAAK,GAAGkgkB,GAAG14nB,EAAEkY,KAAKzF,UAAU,MAAM,KAAK,GAAG,KAAK,GAAGiznB,KAAKxjoB,EAAEA,EAAEuc,MAAM,CAAqE,GAApEu0gB,GAAEnthB,EAAEq1hB,GAAEr1hB,EAAEg2nB,GAAGh2nB,EAAEy5B,QAAQ,MAAM2tJ,GAAE+1c,GAAG/ioB,EAAEgiE,GAAE,EAAE2lkB,GAAG,KAAKlld,GAAGmld,GAAGrhF,GAAG,EAAEhjY,GAAGJ,GAAG,KAAQ,OAAOg2c,GAAG,CAAC,IAAIn5nB,EAC1f,EAAEA,EAAEm5nB,GAAG/3nB,OAAOpB,IAAI,GAA2B,QAAhBD,GAARkC,EAAEk3nB,GAAGn5nB,IAAOs5nB,aAAqB,CAACr3nB,EAAEq3nB,YAAY,KAAK,IAAI93nB,EAAEzB,EAAE0D,KAAKO,EAAE/B,EAAEk0jB,QAAQ,GAAG,OAAOnyjB,EAAE,CAAC,IAAIE,EAAEF,EAAEP,KAAKO,EAAEP,KAAKjC,EAAEzB,EAAE0D,KAAKS,CAAC,CAACjC,EAAEk0jB,QAAQp2jB,CAAC,CAACo5nB,GAAG,IAAI,CAAC,OAAOvznB,CAAC,CAC3K,SAASwjoB,GAAGxjoB,EAAE5F,GAAG,OAAE,CAAC,IAAIiC,EAAEg5hB,GAAE,IAAuB,GAAnBu9F,KAAKwE,GAAG39lB,QAAQw+lB,GAAMT,GAAG,CAAC,IAAI,IAAIr9nB,EAAEkzhB,GAAEyxF,cAAc,OAAO3knB,GAAG,CAAC,IAAIyB,EAAEzB,EAAEyzH,MAAM,OAAOhyH,IAAIA,EAAE20jB,QAAQ,MAAMp2jB,EAAEA,EAAE0D,IAAI,CAAC25nB,IAAG,CAAE,CAA4C,GAA3CD,GAAG,EAAEl6nB,GAAE2xI,GAAEq+Y,GAAE,KAAKoqG,IAAG,EAAGC,GAAG,EAAE3mT,GAAGt3S,QAAQ,KAAQ,OAAOp9B,GAAG,OAAOA,EAAEuc,OAAO,CAACwjD,GAAE,EAAE2lkB,GAAG3noB,EAAEi7hB,GAAE,KAAK,KAAK,CAACr1hB,EAAE,CAAC,IAAI5B,EAAE4B,EAAE1B,EAAEjC,EAAEuc,OAAO4K,EAAEnnB,EAAEkD,EAAEnF,EAAqB,GAAnBA,EAAEgtL,GAAE5jK,EAAExS,OAAO,MAAS,OAAOzR,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEtB,KAAK,CAAC,IAAI4iC,EAAEthC,EAAED,EAAEkkB,EAAEljB,EAAEhB,EAAEyW,IAAI,GAAG,KAAY,EAAPzW,EAAE8nB,QAAU,IAAI9mB,GAAG,KAAKA,GAAG,KAAKA,GAAG,CAAC,IAAIhE,EAAEgD,EAAEs/mB,UAAUtinB,GAAGgD,EAAEu0nB,YAAYv3nB,EAAEu3nB,YAAYv0nB,EAAEw/mB,cAAcxinB,EAAEwinB,cACxex/mB,EAAE6znB,MAAM72nB,EAAE62nB,QAAQ7znB,EAAEu0nB,YAAY,KAAKv0nB,EAAEw/mB,cAAc,KAAK,CAAC,IAAIzgnB,EAAE+9nB,GAAG99nB,GAAG,GAAG,OAAOD,EAAE,CAACA,EAAE2S,QAAQ,IAAIqrnB,GAAGh+nB,EAAEC,EAAEklB,EAAEplB,EAAEhE,GAAU,EAAPiE,EAAE+oB,MAAQ60mB,GAAG79nB,EAAEyiC,EAAEzmC,GAAOmF,EAAEshC,EAAE,IAAIvlC,GAAZlB,EAAEiE,GAAcw1nB,YAAY,GAAG,OAAOv4nB,EAAE,CAAC,IAAIH,EAAE,IAAIsZ,IAAItZ,EAAEwT,IAAIpP,GAAGnF,EAAEy5nB,YAAY14nB,CAAC,MAAMG,EAAEqT,IAAIpP,GAAG,MAAMS,CAAC,CAAM,GAAG,KAAO,EAAF5F,GAAK,CAAC6hoB,GAAG79nB,EAAEyiC,EAAEzmC,GAAGqkoB,KAAK,MAAMz+nB,CAAC,CAACT,EAAEiE,MAAM/I,EAAE,KAAM,MAAM,GAAG2yhB,IAAU,EAAP5pgB,EAAE4D,KAAO,CAAC,IAAImugB,EAAE6mG,GAAG99nB,GAAG,GAAG,OAAOi3hB,EAAE,CAAC,KAAa,MAARA,EAAEvkhB,SAAeukhB,EAAEvkhB,OAAO,KAAKqrnB,GAAG9mG,EAAEj3hB,EAAEklB,EAAEplB,EAAEhE,GAAGi4nB,GAAGiJ,GAAG/7nB,EAAEikB,IAAI,MAAMxjB,CAAC,CAAC,CAAC5B,EAAEmB,EAAE+7nB,GAAG/7nB,EAAEikB,GAAG,IAAI44C,KAAIA,GAAE,GAAG,OAAOmhH,GAAGA,GAAG,CAACn/K,GAAGm/K,GAAGp+K,KAAKf,GAAGA,EAAEE,EAAE,EAAE,CAAC,OAAOF,EAAE2X,KAAK,KAAK,EAAE3X,EAAE4S,OAAO,MACpf5W,IAAIA,EAAEgE,EAAE+0nB,OAAO/4nB,EAAkBo6nB,GAAGp2nB,EAAbs9nB,GAAGt9nB,EAAEmB,EAAEnF,IAAW,MAAM4F,EAAE,KAAK,EAAEwjB,EAAEjkB,EAAE,IAAI6+F,EAAEhgG,EAAEiU,KAAKtL,EAAE3I,EAAEo/mB,UAAU,GAAG,KAAa,IAARp/mB,EAAE4S,SAAa,oBAAoBotF,EAAEqkf,0BAA0B,OAAO17kB,GAAG,oBAAoBA,EAAE+0nB,oBAAoB,OAAOC,KAAKA,GAAGv6nB,IAAIuF,KAAK,CAAC3I,EAAE4S,OAAO,MAAM5W,IAAIA,EAAEgE,EAAE+0nB,OAAO/4nB,EAAkBo6nB,GAAGp2nB,EAAby9nB,GAAGz9nB,EAAEolB,EAAEppB,IAAW,MAAM4F,CAAC,EAAE5B,EAAEA,EAAEwa,MAAM,OAAO,OAAOxa,EAAE,CAAC6loB,GAAG5noB,EAAE,CAAC,MAAMuxnB,GAAIxznB,EAAEwznB,EAAGv4F,KAAIh5hB,GAAG,OAAOA,IAAIg5hB,GAAEh5hB,EAAEA,EAAEuc,QAAQ,QAAQ,CAAC,KAAK,CAAS,CAAC,SAASyqnB,KAAK,IAAIrjoB,EAAE6hoB,GAAGpomB,QAAsB,OAAdoomB,GAAGpomB,QAAQw+lB,GAAU,OAAOj4nB,EAAEi4nB,GAAGj4nB,CAAC,CACrd,SAASy+nB,KAAQ,IAAIrikB,IAAG,IAAIA,IAAG,IAAIA,KAAEA,GAAE,GAAE,OAAO+wd,IAAG,KAAQ,UAAHwzB,KAAe,KAAQ,UAAHqhF,KAAeS,GAAGt1G,GAAE/lW,GAAE,CAAC,SAASg8c,GAAGpjoB,EAAE5F,GAAG,IAAIiC,EAAE+4hB,GAAEA,IAAG,EAAE,IAAIj7hB,EAAEkpoB,KAAqC,IAA7Bl2G,KAAInthB,GAAGonL,KAAIhtL,IAAE6noB,GAAG,KAAKqB,GAAGtjoB,EAAE5F,UAAU8poB,KAAK,KAAK,CAAC,MAAMtooB,GAAG4noB,GAAGxjoB,EAAEpE,EAAE,CAAgC,GAAtBg3nB,KAAKx9F,GAAE/4hB,EAAEwloB,GAAGpomB,QAAQt/B,EAAK,OAAOk7hB,GAAE,MAAM7xhB,MAAM/I,EAAE,MAAiB,OAAX0yhB,GAAE,KAAK/lW,GAAE,EAAShrH,EAAC,CAAC,SAAS8nkB,KAAK,KAAK,OAAO7uG,IAAG8uG,GAAG9uG,GAAE,CAAC,SAASkuG,KAAK,KAAK,OAAOluG,KAAIoqF,MAAM0kB,GAAG9uG,GAAE,CAAC,SAAS8uG,GAAGnkoB,GAAG,IAAI5F,EAAEwnoB,GAAG5hoB,EAAE4+mB,UAAU5+mB,EAAEm9nB,IAAIn9nB,EAAEkynB,cAAclynB,EAAE2xnB,aAAa,OAAOv3nB,EAAE6poB,GAAGjkoB,GAAGq1hB,GAAEj7hB,EAAE22U,GAAGt3S,QAAQ,IAAI,CAC1d,SAASwqmB,GAAGjkoB,GAAG,IAAI5F,EAAE4F,EAAE,EAAE,CAAC,IAAI3D,EAAEjC,EAAEwknB,UAAqB,GAAX5+mB,EAAE5F,EAAEwe,OAAU,KAAa,MAARxe,EAAE4W,QAAc,GAAgB,QAAb3U,EAAEijoB,GAAGjjoB,EAAEjC,EAAE+ioB,KAAkB,YAAJ9nG,GAAEh5hB,OAAc,CAAW,GAAG,QAAbA,EAAEyjoB,GAAGzjoB,EAAEjC,IAAmC,OAAnBiC,EAAE2U,OAAO,WAAMqkhB,GAAEh5hB,GAAS,GAAG,OAAO2D,EAAmE,OAAXo8D,GAAE,OAAEi5d,GAAE,MAA5Dr1hB,EAAEgR,OAAO,MAAMhR,EAAE6+nB,aAAa,EAAE7+nB,EAAEyxnB,UAAU,IAA4B,CAAa,GAAG,QAAfr3nB,EAAEA,EAAE8knB,SAAyB,YAAJ7pF,GAAEj7hB,GAASi7hB,GAAEj7hB,EAAE4F,CAAC,OAAO,OAAO5F,GAAG,IAAIgiE,KAAIA,GAAE,EAAE,CAAC,SAASynkB,GAAG7joB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAEo2D,GAAE30D,EAAEkmoB,GAAG3rmB,WAAW,IAAI2rmB,GAAG3rmB,WAAW,KAAKo6B,GAAE,EAC3Y,SAAYvwD,EAAE5F,EAAEiC,EAAElC,GAAG,GAAGgpoB,WAAW,OAAOhB,IAAI,GAAG,KAAO,EAAF/sG,IAAK,MAAM5xhB,MAAM/I,EAAE,MAAM4B,EAAE2D,EAAE2joB,aAAa,IAAI/noB,EAAEoE,EAAE4joB,cAAc,GAAG,OAAOvnoB,EAAE,OAAO,KAA2C,GAAtC2D,EAAE2joB,aAAa,KAAK3joB,EAAE4joB,cAAc,EAAKvnoB,IAAI2D,EAAEy5B,QAAQ,MAAMj2B,MAAM/I,EAAE,MAAMuF,EAAE2ioB,aAAa,KAAK3ioB,EAAE+ioB,iBAAiB,EAAE,IAAI3koB,EAAE/B,EAAE82nB,MAAM92nB,EAAE22nB,WAA8J,GA1NtT,SAAYhznB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEghnB,cAAc5mnB,EAAE4F,EAAEghnB,aAAa5mnB,EAAE4F,EAAEihnB,eAAe,EAAEjhnB,EAAEkhnB,YAAY,EAAElhnB,EAAE6ioB,cAAczooB,EAAE4F,EAAEokoB,kBAAkBhqoB,EAAE4F,EAAEmhnB,gBAAgB/mnB,EAAEA,EAAE4F,EAAEohnB,cAAc,IAAIjnnB,EAAE6F,EAAE0hnB,WAAW,IAAI1hnB,EAAEA,EAAE4ioB,gBAAgB,EAAEvmoB,GAAG,CAAC,IAAIT,EAAE,GAAG+knB,GAAGtknB,GAAG+B,EAAE,GAAGxC,EAAExB,EAAEwB,GAAG,EAAEzB,EAAEyB,IAAI,EAAEoE,EAAEpE,IAAI,EAAES,IAAI+B,CAAC,CAAC,CA0N5GimoB,CAAGrkoB,EAAE5B,GAAG4B,IAAImthB,KAAIkI,GAAElI,GAAE,KAAK/lW,GAAE,GAAG,KAAoB,KAAf/qL,EAAEwioB,eAAoB,KAAa,KAARxioB,EAAE2U,QAAakxnB,KAAKA,IAAG,EAAGe,GAAG9iB,IAAG,WAAgB,OAALgjB,KAAY,IAAI,KAAI/koB,EAAE,KAAa,MAAR/B,EAAE2U,OAAgB,KAAoB,MAAf3U,EAAEwioB,eAAqBzgoB,EAAE,CAACA,EAAE0joB,GAAG3rmB,WAAW2rmB,GAAG3rmB,WAAW,KAChf,IAAI73B,EAAEiyD,GAAEA,GAAE,EAAE,IAAI/sC,EAAE4xgB,GAAEA,IAAG,EAAErkN,GAAGt3S,QAAQ,KA1CpC,SAAYz5B,EAAE5F,GAAgB,GAAbm0nB,GAAGjuE,GAAauqE,GAAV7qnB,EAAE2qnB,MAAc,CAAC,GAAG,mBAAmB3qnB,EAAE,IAAI3D,EAAE,CAACmmC,MAAMxiC,EAAEuuF,eAAex2E,IAAI/X,EAAEwuF,mBAAmBxuF,EAAE,CAA8C,IAAI7F,GAAjDkC,GAAGA,EAAE2D,EAAEg6B,gBAAgB39B,EAAE0xC,aAAa70C,QAAeu2G,cAAcpzG,EAAEozG,eAAe,GAAGt1G,GAAG,IAAIA,EAAE8wnB,WAAW,CAAC5unB,EAAElC,EAAE+wnB,WAAW,IAAItvnB,EAAEzB,EAAEgxnB,aAAa/snB,EAAEjE,EAAEixnB,UAAUjxnB,EAAEA,EAAEkxnB,YAAY,IAAIhvnB,EAAEkV,SAASnT,EAAEmT,QAAQ,CAAC,MAAMgnD,GAAGl8D,EAAE,KAAK,MAAM2D,CAAC,CAAC,IAAI1B,EAAE,EAAEklB,GAAG,EAAEjkB,GAAG,EAAEshC,EAAE,EAAEvhC,EAAE,EAAEgB,EAAEN,EAAE1D,EAAE,KAAKlC,EAAE,OAAO,CAAC,IAAI,IAAIiE,EAAKiC,IAAIjE,GAAG,IAAIT,GAAG,IAAI0E,EAAEiR,WAAWiS,EAAEllB,EAAE1C,GAAG0E,IAAIlC,GAAG,IAAIjE,GAAG,IAAImG,EAAEiR,WAAWhS,EAAEjB,EAAEnE,GAAG,IAAImG,EAAEiR,WAAWjT,GACnfgC,EAAEmR,UAAUjW,QAAW,QAAQ6C,EAAEiC,EAAEuR,aAAkBvV,EAAEgE,EAAEA,EAAEjC,EAAE,OAAO,CAAC,GAAGiC,IAAIN,EAAE,MAAM5F,EAA8C,GAA5CkC,IAAID,KAAKwkC,IAAIjlC,IAAI4nB,EAAEllB,GAAGhC,IAAI8B,KAAKkB,IAAInF,IAAIoF,EAAEjB,GAAM,QAAQD,EAAEiC,EAAE6Q,aAAa,MAAU7U,GAAJgE,EAAEhE,GAAMqU,UAAU,CAACrQ,EAAEjC,CAAC,CAAChC,GAAG,IAAImnB,IAAI,IAAIjkB,EAAE,KAAK,CAACijC,MAAMhf,EAAEzL,IAAIxY,EAAE,MAAMlD,EAAE,IAAI,CAACA,EAAEA,GAAG,CAACmmC,MAAM,EAAEzqB,IAAI,EAAE,MAAM1b,EAAE,KAA+C,IAA1CmynB,GAAG,CAACxD,YAAYhrnB,EAAE0uF,eAAeryF,GAAGikjB,IAAG,EAAOnrB,GAAE/6hB,EAAE,OAAO+6hB,IAAG,GAAOn1hB,GAAJ5F,EAAE+6hB,IAAMxjhB,MAAM,KAAoB,KAAfvX,EAAEykoB,eAAoB,OAAO7+nB,EAAEA,EAAE4Y,OAAOxe,EAAE+6hB,GAAEn1hB,OAAO,KAAK,OAAOm1hB,IAAG,CAAC/6hB,EAAE+6hB,GAAE,IAAI,IAAI75hB,EAAElB,EAAEwknB,UAAU,GAAG,KAAa,KAARxknB,EAAE4W,OAAY,OAAO5W,EAAE2b,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GACvK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAA3W,KAAK,EAAE,GAAG,OAAOza,EAAE,CAAC,IAAIH,EAAEG,EAAE42nB,cAAc38F,EAAEj6hB,EAAEwjnB,cAAcrjmB,EAAErhB,EAAEojnB,UAAUp/gB,EAAE3iF,EAAE0zkB,wBAAwB/0lB,EAAE2sW,cAAc3sW,EAAEiY,KAAKlX,EAAEo3nB,GAAGn4nB,EAAEiY,KAAKlX,GAAGo6hB,GAAG95gB,EAAEkmnB,oCAAoCvjiB,CAAC,CAAC,MAAM,KAAK,EAAE,IAAIr3F,EAAE3M,EAAEojnB,UAAU6F,cAAc,IAAIt8mB,EAAEwK,SAASxK,EAAEyK,YAAY,GAAG,IAAIzK,EAAEwK,UAAUxK,EAAE26F,iBAAiB36F,EAAE6K,YAAY7K,EAAE26F,iBAAiB,MAAyC,QAAQ,MAAMl+F,MAAM/I,EAAE,MAAO,CAAC,MAAM89D,GAAG6F,GAAEhkE,EAAEA,EAAEwe,OAAO2/C,EAAE,CAAa,GAAG,QAAfv4D,EAAE5F,EAAE8knB,SAAoB,CAACl/mB,EAAE4Y,OAAOxe,EAAEwe,OAAOu8gB,GAAEn1hB,EAAE,KAAK,CAACm1hB,GAAE/6hB,EAAEwe,MAAM,CAACtd,EAAE8koB,GAAGA,IAAG,CAAW,CAwCldkE,CAAGtkoB,EAAE3D,GAAG+koB,GAAG/koB,EAAE2D,GAAG+qnB,GAAGyD,IAAIluE,KAAKiuE,GAAGC,GAAGD,GAAG,KAAKvunB,EAAEy5B,QAAQp9B,EAAEmloB,GAAGnloB,EAAE2D,EAAEpE,GAAG+jnB,KAAKvqF,GAAE5xgB,EAAE+sC,GAAEjyD,EAAEwjoB,GAAG3rmB,WAAW/3B,CAAC,MAAM4B,EAAEy5B,QAAQp9B,EAAsF,GAApF6loB,KAAKA,IAAG,EAAGC,GAAGnioB,EAAEoioB,GAAGxmoB,GAAGwC,EAAE4B,EAAEghnB,aAAa,IAAI5inB,IAAI29nB,GAAG,MAjOmJ,SAAY/7nB,GAAG,GAAG0gnB,IAAI,oBAAoBA,GAAG6jB,kBAAkB,IAAI7jB,GAAG6jB,kBAAkB9jB,GAAGzgnB,OAAE,EAAO,OAAuB,IAAhBA,EAAEy5B,QAAQzoB,OAAW,CAAC,MAAM5W,GAAG,CAAC,CAiOxRoqoB,CAAGnooB,EAAEmhnB,WAAaklB,GAAG1ioB,EAAEuthB,MAAQ,OAAOnzhB,EAAE,IAAID,EAAE6F,EAAEykoB,mBAAmBpooB,EAAE,EAAEA,EAAEjC,EAAEoB,OAAOa,IAAIT,EAAExB,EAAEiC,GAAGlC,EAAEyB,EAAE+B,MAAM,CAACq+nB,eAAepgoB,EAAEm6C,MAAMjzC,OAAOlH,EAAEkH,SAAS,GAAG64nB,GAAG,MAAMA,IAAG,EAAG37nB,EAAE47nB,GAAGA,GAAG,KAAK57nB,EAAE,KAAQ,EAAHoioB,KAAO,IAAIpioB,EAAE+V,KAAKotnB,KAAK/koB,EAAE4B,EAAEghnB,aAAa,KAAO,EAAF5inB,GAAK4B,IAAIsioB,GAAGD,MAAMA,GAAG,EAAEC,GAAGtioB,GAAGqioB,GAAG,EAAE1R,IAAgB,CAFxF+T,CAAG1koB,EAAE5F,EAAEiC,EAAElC,EAAE,CAAC,QAAQ2noB,GAAG3rmB,WAAWv6B,EAAE20D,GAAEp2D,CAAC,CAAC,OAAO,IAAI,CAGhc,SAASgpoB,KAAK,GAAG,OAAOhB,GAAG,CAAC,IAAInioB,EAAE4hnB,GAAGwgB,IAAIhooB,EAAE0noB,GAAG3rmB,WAAW95B,EAAEk0D,GAAE,IAAmC,GAA/BuxkB,GAAG3rmB,WAAW,KAAKo6B,GAAE,GAAGvwD,EAAE,GAAGA,EAAK,OAAOmioB,GAAG,IAAIhooB,GAAE,MAAO,CAAmB,GAAlB6F,EAAEmioB,GAAGA,GAAG,KAAKC,GAAG,EAAK,KAAO,EAAFhtG,IAAK,MAAM5xhB,MAAM/I,EAAE,MAAM,IAAImB,EAAEw5hB,GAAO,IAALA,IAAG,EAAMD,GAAEn1hB,EAAEy5B,QAAQ,OAAO07f,IAAG,CAAC,IAAI/2hB,EAAE+2hB,GAAE72hB,EAAEF,EAAEuT,MAAM,GAAG,KAAa,GAARwjhB,GAAEnkhB,OAAU,CAAC,IAAIwS,EAAEplB,EAAEqznB,UAAU,GAAG,OAAOjumB,EAAE,CAAC,IAAI,IAAIjkB,EAAE,EAAEA,EAAEikB,EAAEhoB,OAAO+D,IAAI,CAAC,IAAIshC,EAAErd,EAAEjkB,GAAG,IAAI41hB,GAAEt0f,EAAE,OAAOs0f,IAAG,CAAC,IAAI71hB,EAAE61hB,GAAE,OAAO71hB,EAAEyW,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGsqnB,GAAG,EAAE/goB,EAAElB,GAAG,IAAIkC,EAAEhB,EAAEqS,MAAM,GAAG,OAAOrR,EAAEA,EAAEsY,OAAOtZ,EAAE61hB,GAAE70hB,OAAO,KAAK,OAAO60hB,IAAG,CAAK,IAAI74hB,GAARgD,EAAE61hB,IAAU+pF,QAAQ7gnB,EAAEiB,EAAEsZ,OAAa,GAAN4nnB,GAAGlhoB,GAAMA,IACnfuhC,EAAE,CAACs0f,GAAE,KAAK,KAAK,CAAC,GAAG,OAAO74hB,EAAE,CAACA,EAAEsc,OAAOva,EAAE82hB,GAAE74hB,EAAE,KAAK,CAAC64hB,GAAE92hB,CAAC,CAAC,CAAC,CAAC,IAAI/C,EAAE8C,EAAEwgnB,UAAU,GAAG,OAAOtjnB,EAAE,CAAC,IAAIH,EAAEG,EAAEqW,MAAM,GAAG,OAAOxW,EAAE,CAACG,EAAEqW,MAAM,KAAK,EAAE,CAAC,IAAI4jhB,EAAEp6hB,EAAE+jnB,QAAQ/jnB,EAAE+jnB,QAAQ,KAAK/jnB,EAAEo6hB,CAAC,OAAO,OAAOp6hB,EAAE,CAAC,CAACg6hB,GAAE/2hB,CAAC,CAAC,CAAC,GAAG,KAAoB,KAAfA,EAAEygoB,eAAoB,OAAOvgoB,EAAEA,EAAEsa,OAAOxa,EAAE+2hB,GAAE72hB,OAAOlE,EAAE,KAAK,OAAO+6hB,IAAG,CAAK,GAAG,KAAa,MAApB/2hB,EAAE+2hB,IAAYnkhB,OAAY,OAAO5S,EAAE2X,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGsqnB,GAAG,EAAEjioB,EAAEA,EAAEwa,QAAQ,IAAI6C,EAAErd,EAAE8gnB,QAAQ,GAAG,OAAOzjmB,EAAE,CAACA,EAAE7C,OAAOxa,EAAEwa,OAAOu8gB,GAAE15gB,EAAE,MAAMrhB,CAAC,CAAC+6hB,GAAE/2hB,EAAEwa,MAAM,CAAC,CAAC,IAAIwlF,EAAEp+F,EAAEy5B,QAAQ,IAAI07f,GAAE/2b,EAAE,OAAO+2b,IAAG,CAAK,IAAIpuhB,GAARzI,EAAE62hB,IAAUxjhB,MAAM,GAAG,KAAoB,KAAfrT,EAAEugoB,eAAoB,OAClf93nB,EAAEA,EAAE6R,OAAOta,EAAE62hB,GAAEpuhB,OAAO3M,EAAE,IAAIkE,EAAE8/F,EAAE,OAAO+2b,IAAG,CAAK,GAAG,KAAa,MAApB3xgB,EAAE2xgB,IAAYnkhB,OAAY,IAAI,OAAOwS,EAAEzN,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGuqnB,GAAG,EAAE98mB,GAAG,CAAC,MAAMoqmB,GAAIxvjB,GAAE56C,EAAEA,EAAE5K,OAAOg1mB,EAAG,CAAC,GAAGpqmB,IAAIllB,EAAE,CAAC62hB,GAAE,KAAK,MAAM/6hB,CAAC,CAAC,IAAIm+D,EAAE/0C,EAAE07lB,QAAQ,GAAG,OAAO3mjB,EAAE,CAACA,EAAE3/C,OAAO4K,EAAE5K,OAAOu8gB,GAAE58d,EAAE,MAAMn+D,CAAC,CAAC+6hB,GAAE3xgB,EAAE5K,MAAM,CAAC,CAAU,GAATw8gB,GAAEx5hB,EAAE+0nB,KAAQjQ,IAAI,oBAAoBA,GAAGikB,sBAAsB,IAAIjkB,GAAGikB,sBAAsBlkB,GAAGzgnB,EAAE,CAAC,MAAM4tnB,GAAI,CAACzznB,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQo2D,GAAEl0D,EAAEyloB,GAAG3rmB,WAAW/7B,CAAC,CAAC,CAAC,OAAM,CAAE,CAAC,SAASwqoB,GAAG5koB,EAAE5F,EAAEiC,GAAyB2D,EAAEs0nB,GAAGt0nB,EAAjB5F,EAAEshoB,GAAG17nB,EAAf5F,EAAEkhoB,GAAGj/nB,EAAEjC,GAAY,GAAY,GAAGA,EAAEqsL,KAAI,OAAOzmL,IAAIyhnB,GAAGzhnB,EAAE,EAAE5F,GAAGsooB,GAAG1ioB,EAAE5F,GAAG,CACze,SAASgkE,GAAEp+D,EAAE5F,EAAEiC,GAAG,GAAG,IAAI2D,EAAE+V,IAAI6unB,GAAG5koB,EAAEA,EAAE3D,QAAQ,KAAK,OAAOjC,GAAG,CAAC,GAAG,IAAIA,EAAE2b,IAAI,CAAC6unB,GAAGxqoB,EAAE4F,EAAE3D,GAAG,KAAK,CAAM,GAAG,IAAIjC,EAAE2b,IAAI,CAAC,IAAI5b,EAAEC,EAAEojnB,UAAU,GAAG,oBAAoBpjnB,EAAEiY,KAAKowkB,0BAA0B,oBAAoBtolB,EAAE2hoB,oBAAoB,OAAOC,KAAKA,GAAGv6nB,IAAIrH,IAAI,CAAuBC,EAAEk6nB,GAAGl6nB,EAAjB4F,EAAE67nB,GAAGzhoB,EAAf4F,EAAEs7nB,GAAGj/nB,EAAE2D,GAAY,GAAY,GAAGA,EAAEymL,KAAI,OAAOrsL,IAAIqnnB,GAAGrnnB,EAAE,EAAE4F,GAAG0ioB,GAAGtooB,EAAE4F,IAAI,KAAK,CAAC,CAAC5F,EAAEA,EAAEwe,MAAM,CAAC,CACnV,SAASujnB,GAAGn8nB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE6F,EAAEk8nB,UAAU,OAAO/hoB,GAAGA,EAAEkxE,OAAOjxE,GAAGA,EAAEqsL,KAAIzmL,EAAEkhnB,aAAalhnB,EAAEihnB,eAAe5knB,EAAE8whB,KAAInthB,IAAIonL,GAAE/qL,KAAKA,IAAI,IAAI+/D,IAAG,IAAIA,KAAM,UAAFgrH,MAAeA,IAAG,IAAImmW,KAAI+zG,GAAGgC,GAAGtjoB,EAAE,GAAG68K,IAAIxgL,GAAGqmoB,GAAG1ioB,EAAE5F,EAAE,CAAC,SAASyqoB,GAAG7koB,EAAE5F,GAAG,IAAIA,IAAI,KAAY,EAAP4F,EAAEonB,MAAQhtB,EAAE,GAAGA,EAAEmiL,GAAU,KAAQ,WAAfA,KAAK,MAAuBA,GAAG,WAAW,IAAIlgL,EAAEoqL,KAAc,QAAVzmL,EAAE2znB,GAAG3znB,EAAE5F,MAAcqnnB,GAAGzhnB,EAAE5F,EAAEiC,GAAGqmoB,GAAG1ioB,EAAE3D,GAAG,CAAC,SAASqioB,GAAG1+nB,GAAG,IAAI5F,EAAE4F,EAAE8+mB,cAAczinB,EAAE,EAAE,OAAOjC,IAAIiC,EAAEjC,EAAEy3nB,WAAWgT,GAAG7koB,EAAE3D,EAAE,CACjZ,SAAS6koB,GAAGlhoB,EAAE5F,GAAG,IAAIiC,EAAE,EAAE,OAAO2D,EAAE+V,KAAK,KAAK,GAAG,IAAI5b,EAAE6F,EAAEw9mB,UAAc5hnB,EAAEoE,EAAE8+mB,cAAc,OAAOljnB,IAAIS,EAAET,EAAEi2nB,WAAW,MAAM,KAAK,GAAG13nB,EAAE6F,EAAEw9mB,UAAU,MAAM,QAAQ,MAAMh6mB,MAAM/I,EAAE,MAAO,OAAON,GAAGA,EAAEkxE,OAAOjxE,GAAGyqoB,GAAG7koB,EAAE3D,EAAE,CAQqK,SAAS4moB,GAAGjjoB,EAAE5F,GAAG,OAAOilnB,GAAGr/mB,EAAE5F,EAAE,CACjZ,SAAS0qoB,GAAG9koB,EAAE5F,EAAEiC,EAAElC,GAAGU,KAAKkb,IAAI/V,EAAEnF,KAAKsB,IAAIE,EAAExB,KAAKqknB,QAAQrknB,KAAK8W,MAAM9W,KAAK+d,OAAO/d,KAAK2inB,UAAU3inB,KAAKwX,KAAKxX,KAAKksW,YAAY,KAAKlsW,KAAK+c,MAAM,EAAE/c,KAAKyX,IAAI,KAAKzX,KAAK82nB,aAAav3nB,EAAES,KAAKizjB,aAAajzjB,KAAKiknB,cAAcjknB,KAAKg5nB,YAAYh5nB,KAAKq3nB,cAAc,KAAKr3nB,KAAKusB,KAAKjtB,EAAEU,KAAKgkoB,aAAahkoB,KAAKmW,MAAM,EAAEnW,KAAK42nB,UAAU,KAAK52nB,KAAKm4nB,WAAWn4nB,KAAKs4nB,MAAM,EAAEt4nB,KAAK+jnB,UAAU,IAAI,CAAC,SAAS4S,GAAGxxnB,EAAE5F,EAAEiC,EAAElC,GAAG,OAAO,IAAI2qoB,GAAG9koB,EAAE5F,EAAEiC,EAAElC,EAAE,CAAC,SAASyioB,GAAG58nB,GAAiB,UAAdA,EAAEA,EAAEjF,aAAuBiF,EAAE+koB,iBAAiB,CAEpd,SAAS/O,GAAGh2nB,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAE4+mB,UACuB,OADb,OAAOvinB,IAAGA,EAAEm1nB,GAAGxxnB,EAAE+V,IAAI3b,EAAE4F,EAAE7D,IAAI6D,EAAEonB,OAAQ2/U,YAAY/mW,EAAE+mW,YAAY1qW,EAAEgW,KAAKrS,EAAEqS,KAAKhW,EAAEmhnB,UAAUx9mB,EAAEw9mB,UAAUnhnB,EAAEuinB,UAAU5+mB,EAAEA,EAAE4+mB,UAAUvinB,IAAIA,EAAEs1nB,aAAav3nB,EAAEiC,EAAEgW,KAAKrS,EAAEqS,KAAKhW,EAAE2U,MAAM,EAAE3U,EAAEwioB,aAAa,EAAExioB,EAAEo1nB,UAAU,MAAMp1nB,EAAE2U,MAAc,SAARhR,EAAEgR,MAAe3U,EAAE22nB,WAAWhznB,EAAEgznB,WAAW32nB,EAAE82nB,MAAMnznB,EAAEmznB,MAAM92nB,EAAEsV,MAAM3R,EAAE2R,MAAMtV,EAAE61nB,cAAclynB,EAAEkynB,cAAc71nB,EAAEyinB,cAAc9+mB,EAAE8+mB,cAAczinB,EAAEw3nB,YAAY7znB,EAAE6znB,YAAYz5nB,EAAE4F,EAAE8tjB,aAAazxjB,EAAEyxjB,aAAa,OAAO1zjB,EAAE,KAAK,CAAC+4nB,MAAM/4nB,EAAE+4nB,MAAMD,aAAa94nB,EAAE84nB,cAC/e72nB,EAAE6inB,QAAQl/mB,EAAEk/mB,QAAQ7inB,EAAEub,MAAM5X,EAAE4X,MAAMvb,EAAEiW,IAAItS,EAAEsS,IAAWjW,CAAC,CACxD,SAAS45nB,GAAGj2nB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,GAAG,IAAIE,EAAE,EAAM,GAAJnE,EAAE6F,EAAK,oBAAoBA,EAAE48nB,GAAG58nB,KAAK1B,EAAE,QAAQ,GAAG,kBAAkB0B,EAAE1B,EAAE,OAAO0B,EAAE,OAAOA,GAAG,KAAKm5mB,EAAG,OAAOgd,GAAG95nB,EAAEgT,SAASzT,EAAEwC,EAAEhE,GAAG,KAAKg/mB,EAAG96mB,EAAE,EAAE1C,GAAG,EAAE,MAAM,KAAKy9mB,EAAG,OAAOr5mB,EAAEwxnB,GAAG,GAAGn1nB,EAAEjC,EAAI,EAAFwB,IAAOmrW,YAAYsyQ,EAAGr5mB,EAAEmznB,MAAM/0nB,EAAE4B,EAAE,KAAKy5mB,EAAG,OAAOz5mB,EAAEwxnB,GAAG,GAAGn1nB,EAAEjC,EAAEwB,IAAKmrW,YAAY0yQ,EAAGz5mB,EAAEmznB,MAAM/0nB,EAAE4B,EAAE,KAAK05mB,EAAG,OAAO15mB,EAAEwxnB,GAAG,GAAGn1nB,EAAEjC,EAAEwB,IAAKmrW,YAAY2yQ,EAAG15mB,EAAEmznB,MAAM/0nB,EAAE4B,EAAE,KAAK65mB,EAAG,OAAOukB,GAAG/hoB,EAAET,EAAEwC,EAAEhE,GAAG,QAAQ,GAAG,kBAAkB4F,GAAG,OAAOA,EAAE,OAAOA,EAAE2jlB,UAAU,KAAK21B,EAAGh7mB,EAAE,GAAG,MAAM0B,EAAE,KAAKu5mB,EAAGj7mB,EAAE,EAAE,MAAM0B,EAAE,KAAKw5mB,EAAGl7mB,EAAE,GACpf,MAAM0B,EAAE,KAAK25mB,EAAGr7mB,EAAE,GAAG,MAAM0B,EAAE,KAAK45mB,EAAGt7mB,EAAE,GAAGnE,EAAE,KAAK,MAAM6F,EAAE,MAAMwD,MAAM/I,EAAE,IAAI,MAAMuF,EAAEA,SAASA,EAAE,KAAuD,OAAjD5F,EAAEo3nB,GAAGlznB,EAAEjC,EAAEjC,EAAEwB,IAAKmrW,YAAY/mW,EAAE5F,EAAEiY,KAAKlY,EAAEC,EAAE+4nB,MAAM/0nB,EAAShE,CAAC,CAAC,SAAS+7nB,GAAGn2nB,EAAE5F,EAAEiC,EAAElC,GAA2B,OAAxB6F,EAAEwxnB,GAAG,EAAExxnB,EAAE7F,EAAEC,IAAK+4nB,MAAM92nB,EAAS2D,CAAC,CAAC,SAASo+nB,GAAGp+nB,EAAE5F,EAAEiC,EAAElC,GAAuE,OAApE6F,EAAEwxnB,GAAG,GAAGxxnB,EAAE7F,EAAEC,IAAK2sW,YAAY8yQ,EAAG75mB,EAAEmznB,MAAM92nB,EAAE2D,EAAEw9mB,UAAU,CAAC7zM,UAAS,GAAW3pa,CAAC,CAAC,SAASmzL,GAAGnzL,EAAE5F,EAAEiC,GAA8B,OAA3B2D,EAAEwxnB,GAAG,EAAExxnB,EAAE,KAAK5F,IAAK+4nB,MAAM92nB,EAAS2D,CAAC,CAC5W,SAASszL,GAAGtzL,EAAE5F,EAAEiC,GAA8J,OAA3JjC,EAAEo3nB,GAAG,EAAE,OAAOxxnB,EAAEqP,SAASrP,EAAEqP,SAAS,GAAGrP,EAAE7D,IAAI/B,IAAK+4nB,MAAM92nB,EAAEjC,EAAEojnB,UAAU,CAAC6F,cAAcrjnB,EAAEqjnB,cAAc2hB,gBAAgB,KAAK9O,eAAel2nB,EAAEk2nB,gBAAuB97nB,CAAC,CACtL,SAAS6qoB,GAAGjloB,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAGf,KAAKkb,IAAI3b,EAAES,KAAKwonB,cAAcrjnB,EAAEnF,KAAK8ooB,aAAa9ooB,KAAKqhoB,UAAUrhoB,KAAK4+B,QAAQ5+B,KAAKmqoB,gBAAgB,KAAKnqoB,KAAKipoB,eAAe,EAAEjpoB,KAAK8noB,aAAa9noB,KAAK6ioB,eAAe7ioB,KAAKkR,QAAQ,KAAKlR,KAAKkooB,iBAAiB,EAAElooB,KAAK6mnB,WAAWF,GAAG,GAAG3mnB,KAAK+noB,gBAAgBphB,IAAI,GAAG3mnB,KAAKsmnB,eAAetmnB,KAAK+ooB,cAAc/ooB,KAAKupoB,iBAAiBvpoB,KAAKgooB,aAAahooB,KAAKqmnB,YAAYrmnB,KAAKomnB,eAAepmnB,KAAKmmnB,aAAa,EAAEnmnB,KAAKumnB,cAAcI,GAAG,GAAG3mnB,KAAKwgoB,iBAAiBlhoB,EAAEU,KAAK4poB,mBAAmB7ooB,EAAEf,KAAKqqoB,gCAC/e,IAAI,CAAC,SAASC,GAAGnloB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,EAAEklB,EAAEjkB,GAAgN,OAA7MS,EAAE,IAAIiloB,GAAGjloB,EAAE5F,EAAEiC,EAAEmnB,EAAEjkB,GAAG,IAAInF,GAAGA,EAAE,GAAE,IAAKgE,IAAIhE,GAAG,IAAIA,EAAE,EAAEgE,EAAEoznB,GAAG,EAAE,KAAK,KAAKp3nB,GAAG4F,EAAEy5B,QAAQr7B,EAAEA,EAAEo/mB,UAAUx9mB,EAAE5B,EAAE0gnB,cAAc,CAACzkmB,QAAQlgB,EAAEipnB,aAAa/mnB,EAAEuhB,MAAM,KAAKoR,YAAY,KAAKo2mB,0BAA0B,MAAMxR,GAAGx1nB,GAAU4B,CAAC,CACzP,SAASwN,GAAGxN,GAAG,IAAIA,EAAE,OAAO2vnB,GAAuB3vnB,EAAE,CAAC,GAAG2+mB,GAA1B3+mB,EAAEA,EAAE80nB,mBAA8B90nB,GAAG,IAAIA,EAAE+V,IAAI,MAAMvS,MAAM/I,EAAE,MAAM,IAAIL,EAAE4F,EAAE,EAAE,CAAC,OAAO5F,EAAE2b,KAAK,KAAK,EAAE3b,EAAEA,EAAEojnB,UAAUzxmB,QAAQ,MAAM/L,EAAE,KAAK,EAAE,GAAGiwnB,GAAG71nB,EAAEiY,MAAM,CAACjY,EAAEA,EAAEojnB,UAAU6S,0CAA0C,MAAMrwnB,CAAC,EAAE5F,EAAEA,EAAEwe,MAAM,OAAO,OAAOxe,GAAG,MAAMoJ,MAAM/I,EAAE,KAAM,CAAC,GAAG,IAAIuF,EAAE+V,IAAI,CAAC,IAAI1Z,EAAE2D,EAAEqS,KAAK,GAAG49mB,GAAG5znB,GAAG,OAAOs6K,GAAG32K,EAAE3D,EAAEjC,EAAE,CAAC,OAAOA,CAAC,CACpW,SAASiroB,GAAGrloB,EAAE5F,EAAEiC,EAAElC,EAAEyB,EAAEwC,EAAEE,EAAEklB,EAAEjkB,GAAwK,OAArKS,EAAEmloB,GAAG9ooB,EAAElC,GAAE,EAAG6F,EAAEpE,EAAEwC,EAAEE,EAAEklB,EAAEjkB,IAAKwM,QAAQyB,GAAG,MAAMnR,EAAE2D,EAAEy5B,SAAsBr7B,EAAE+1nB,GAAhBh6nB,EAAEssL,KAAI7qL,EAAEo5nB,GAAG34nB,KAAe2O,cAAS,IAAS5Q,GAAG,OAAOA,EAAEA,EAAE,KAAKk6nB,GAAGj4nB,EAAE+B,EAAExC,GAAGoE,EAAEy5B,QAAQ05lB,MAAMv3nB,EAAE6lnB,GAAGzhnB,EAAEpE,EAAEzB,GAAGuooB,GAAG1ioB,EAAE7F,GAAU6F,CAAC,CAAC,SAAS04K,GAAG14K,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIyB,EAAExB,EAAEq/B,QAAQr7B,EAAEqoL,KAAInoL,EAAE02nB,GAAGp5nB,GAAsL,OAAnLS,EAAEmR,GAAGnR,GAAG,OAAOjC,EAAE2R,QAAQ3R,EAAE2R,QAAQ1P,EAAEjC,EAAEsjoB,eAAerhoB,GAAEjC,EAAE+5nB,GAAG/1nB,EAAEE,IAAKw6C,QAAQ,CAACz+B,QAAQra,GAAuB,QAApB7F,OAAE,IAASA,EAAE,KAAKA,KAAaC,EAAE4Q,SAAS7Q,GAAe,QAAZ6F,EAAEs0nB,GAAG14nB,EAAExB,EAAEkE,MAAc22nB,GAAGj1nB,EAAEpE,EAAE0C,EAAEF,GAAGm2nB,GAAGv0nB,EAAEpE,EAAE0C,IAAWA,CAAC,CAC3b,SAASgnoB,GAAGtloB,GAAe,OAAZA,EAAEA,EAAEy5B,SAAc9nB,OAAyB3R,EAAE2R,MAAMoE,IAAoD/V,EAAE2R,MAAM6rmB,WAAhF,IAA0F,CAAC,SAASz9mB,GAAGC,EAAE5F,GAAqB,GAAG,QAArB4F,EAAEA,EAAE8+mB,gBAA2B,OAAO9+mB,EAAE++mB,WAAW,CAAC,IAAI1inB,EAAE2D,EAAE6xnB,UAAU7xnB,EAAE6xnB,UAAU,IAAIx1nB,GAAGA,EAAEjC,EAAEiC,EAAEjC,CAAC,CAAC,CAAC,SAAS8F,GAAGF,EAAE5F,GAAG2F,GAAGC,EAAE5F,IAAI4F,EAAEA,EAAE4+mB,YAAY7+mB,GAAGC,EAAE5F,EAAE,CAnB7SwnoB,GAAG,SAAS5hoB,EAAE5F,EAAEiC,GAAG,GAAG,OAAO2D,EAAE,GAAGA,EAAEkynB,gBAAgB93nB,EAAEu3nB,cAAc/B,GAAGn2lB,QAAQ25lB,IAAG,MAAO,CAAC,GAAG,KAAKpznB,EAAEmznB,MAAM92nB,IAAI,KAAa,IAARjC,EAAE4W,OAAW,OAAOoinB,IAAG,EAzE1I,SAAYpznB,EAAE5F,EAAEiC,GAAG,OAAOjC,EAAE2b,KAAK,KAAK,EAAE0nnB,GAAGrjoB,GAAGg4nB,KAAK,MAAM,KAAK,EAAEyE,GAAGz8nB,GAAG,MAAM,KAAK,EAAE61nB,GAAG71nB,EAAEiY,OAAO+9mB,GAAGh2nB,GAAG,MAAM,KAAK,EAAEu8nB,GAAGv8nB,EAAEA,EAAEojnB,UAAU6F,eAAe,MAAM,KAAK,GAAG,IAAIlpnB,EAAEC,EAAEiY,KAAKzF,SAAShR,EAAExB,EAAE83nB,cAAcv0nB,MAAM23hB,GAAEk9F,GAAGr4nB,EAAE24nB,eAAe34nB,EAAE24nB,cAAcl3nB,EAAE,MAAM,KAAK,GAAqB,GAAG,QAArBzB,EAAEC,EAAE0knB,eAA2B,OAAG,OAAO3knB,EAAE4knB,YAAkBzpF,GAAE3ie,GAAY,EAAVA,GAAEl5B,SAAWr/B,EAAE4W,OAAO,IAAI,MAAQ,KAAK3U,EAAEjC,EAAEuX,MAAMqhnB,YAAmBkL,GAAGl+nB,EAAE5F,EAAEiC,IAAGi5hB,GAAE3ie,GAAY,EAAVA,GAAEl5B,SAA8B,QAAnBz5B,EAAE08nB,GAAG18nB,EAAE5F,EAAEiC,IAAmB2D,EAAEk/mB,QAAQ,MAAK5pF,GAAE3ie,GAAY,EAAVA,GAAEl5B,SAAW,MAAM,KAAK,GAC7d,GADget/B,EAAE,KAAKkC,EACrfjC,EAAE44nB,YAAe,KAAa,IAARhznB,EAAEgR,OAAW,CAAC,GAAG7W,EAAE,OAAOiloB,GAAGp/nB,EAAE5F,EAAEiC,GAAGjC,EAAE4W,OAAO,GAAG,CAA6F,GAA1E,QAAlBpV,EAAExB,EAAE0knB,iBAAyBljnB,EAAEqjoB,UAAU,KAAKrjoB,EAAE02kB,KAAK,KAAK12kB,EAAEq9nB,WAAW,MAAM3jG,GAAE3ie,GAAEA,GAAEl5B,SAAYt/B,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOC,EAAE+4nB,MAAM,EAAE4J,GAAG/8nB,EAAE5F,EAAEiC,GAAG,OAAOqgoB,GAAG18nB,EAAE5F,EAAEiC,EAAE,CAwE7GkpoB,CAAGvloB,EAAE5F,EAAEiC,GAAG+2nB,GAAG,KAAa,OAARpznB,EAAEgR,MAAmB,MAAMoinB,IAAG,EAAGhmG,IAAG,KAAa,QAARhzhB,EAAE4W,QAAgBgiL,GAAG54L,EAAEy2nB,GAAGz2nB,EAAEwd,OAAiB,OAAVxd,EAAE+4nB,MAAM,EAAS/4nB,EAAE2b,KAAK,KAAK,EAAE,IAAI5b,EAAEC,EAAEiY,KAAKirnB,GAAGt9nB,EAAE5F,GAAG4F,EAAE5F,EAAEu3nB,aAAa,IAAI/1nB,EAAEk0nB,GAAG11nB,EAAEqiE,GAAEhjC,SAASw5lB,GAAG74nB,EAAEiC,GAAGT,EAAEi8nB,GAAG,KAAKz9nB,EAAED,EAAE6F,EAAEpE,EAAES,GAAG,IAAI+B,EAAE85nB,KACvI,OAD4I99nB,EAAE4W,OAAO,EAAE,kBAAkBpV,GAAG,OAAOA,GAAG,oBAAoBA,EAAE+X,aAAQ,IAAS/X,EAAE+nlB,UAAUvplB,EAAE2b,IAAI,EAAE3b,EAAE0knB,cAAc,KAAK1knB,EAAEy5nB,YAC1e,KAAK5D,GAAG91nB,IAAIiE,GAAE,EAAGgynB,GAAGh2nB,IAAIgE,GAAE,EAAGhE,EAAE0knB,cAAc,OAAOljnB,EAAEqJ,YAAO,IAASrJ,EAAEqJ,MAAMrJ,EAAEqJ,MAAM,KAAK2unB,GAAGx5nB,GAAGwB,EAAE25nB,QAAQ3rE,GAAGxvjB,EAAEojnB,UAAU5hnB,EAAEA,EAAEk5nB,gBAAgB16nB,EAAEs7nB,GAAGt7nB,EAAED,EAAE6F,EAAE3D,GAAGjC,EAAEojoB,GAAG,KAAKpjoB,EAAED,GAAE,EAAGiE,EAAE/B,KAAKjC,EAAE2b,IAAI,EAAEq3gB,IAAGhvhB,GAAG8ynB,GAAG92nB,GAAGoioB,GAAG,KAAKpioB,EAAEwB,EAAES,GAAGjC,EAAEA,EAAEuX,OAAcvX,EAAE,KAAK,GAAGD,EAAEC,EAAE2sW,YAAY/mW,EAAE,CAAqF,OAApFs9nB,GAAGt9nB,EAAE5F,GAAG4F,EAAE5F,EAAEu3nB,aAAuBx3nB,GAAVyB,EAAEzB,EAAE+7G,OAAU/7G,EAAEognB,UAAUngnB,EAAEiY,KAAKlY,EAAEyB,EAAExB,EAAE2b,IAQtU,SAAY/V,GAAG,GAAG,oBAAoBA,EAAE,OAAO48nB,GAAG58nB,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAE2jlB,YAAgB61B,EAAG,OAAO,GAAG,GAAGx5mB,IAAI25mB,EAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAR2L6rB,CAAGrroB,GAAG6F,EAAEuynB,GAAGp4nB,EAAE6F,GAAUpE,GAAG,KAAK,EAAExB,EAAE0ioB,GAAG,KAAK1ioB,EAAED,EAAE6F,EAAE3D,GAAG,MAAM2D,EAAE,KAAK,EAAE5F,EAAEijoB,GAAG,KAAKjjoB,EAAED,EAAE6F,EAAE3D,GAAG,MAAM2D,EAAE,KAAK,GAAG5F,EAAEqioB,GAAG,KAAKrioB,EAAED,EAAE6F,EAAE3D,GAAG,MAAM2D,EAAE,KAAK,GAAG5F,EAAEuioB,GAAG,KAAKvioB,EAAED,EAAEo4nB,GAAGp4nB,EAAEkY,KAAKrS,GAAG3D,GAAG,MAAM2D,EAAE,MAAMwD,MAAM/I,EAAE,IACvgBN,EAAE,IAAK,CAAC,OAAOC,EAAE,KAAK,EAAE,OAAOD,EAAEC,EAAEiY,KAAKzW,EAAExB,EAAEu3nB,aAA2CmL,GAAG98nB,EAAE5F,EAAED,EAArCyB,EAAExB,EAAE2sW,cAAc5sW,EAAEyB,EAAE22nB,GAAGp4nB,EAAEyB,GAAcS,GAAG,KAAK,EAAE,OAAOlC,EAAEC,EAAEiY,KAAKzW,EAAExB,EAAEu3nB,aAA2C0L,GAAGr9nB,EAAE5F,EAAED,EAArCyB,EAAExB,EAAE2sW,cAAc5sW,EAAEyB,EAAE22nB,GAAGp4nB,EAAEyB,GAAcS,GAAG,KAAK,EAAE2D,EAAE,CAAO,GAANy9nB,GAAGrjoB,GAAM,OAAO4F,EAAE,MAAMwD,MAAM/I,EAAE,MAAMN,EAAEC,EAAEu3nB,aAA+B/1nB,GAAlBwC,EAAEhE,EAAE0knB,eAAkBzkmB,QAAQ65mB,GAAGl0nB,EAAE5F,GAAGq6nB,GAAGr6nB,EAAED,EAAE,KAAKkC,GAAG,IAAIiC,EAAElE,EAAE0knB,cAA0B,GAAZ3knB,EAAEmE,EAAE+b,QAAWjc,EAAEglnB,aAAY,CAAC,GAAGhlnB,EAAE,CAACic,QAAQlgB,EAAEipnB,cAAa,EAAGxlmB,MAAMtf,EAAEsf,MAAMwnnB,0BAA0B9moB,EAAE8moB,0BAA0Bp2mB,YAAY1wB,EAAE0wB,aAAa50B,EAAEy5nB,YAAYC,UAChf11nB,EAAEhE,EAAE0knB,cAAc1gnB,EAAU,IAARhE,EAAE4W,MAAU,CAAuB5W,EAAEujoB,GAAG39nB,EAAE5F,EAAED,EAAEkC,EAAjCT,EAAE0/nB,GAAG93nB,MAAM/I,EAAE,MAAML,IAAmB,MAAM4F,CAAC,CAAM,GAAG7F,IAAIyB,EAAE,CAAuBxB,EAAEujoB,GAAG39nB,EAAE5F,EAAED,EAAEkC,EAAjCT,EAAE0/nB,GAAG93nB,MAAM/I,EAAE,MAAML,IAAmB,MAAM4F,CAAC,CAAM,IAAIqxnB,GAAGpC,GAAG70nB,EAAEojnB,UAAU6F,cAAcxxmB,YAAYu/mB,GAAGh3nB,EAAEgzhB,IAAE,EAAGkkG,GAAG,KAAKj1nB,EAAEg6nB,GAAGj8nB,EAAE,KAAKD,EAAEkC,GAAGjC,EAAEuX,MAAMtV,EAAEA,GAAGA,EAAE2U,OAAe,EAAT3U,EAAE2U,MAAS,KAAK3U,EAAEA,EAAE6inB,OAAQ,KAAI,CAAM,GAALkT,KAAQj4nB,IAAIyB,EAAE,CAACxB,EAAEsioB,GAAG18nB,EAAE5F,EAAEiC,GAAG,MAAM2D,CAAC,CAACw8nB,GAAGx8nB,EAAE5F,EAAED,EAAEkC,EAAE,CAACjC,EAAEA,EAAEuX,KAAK,CAAC,OAAOvX,EAAE,KAAK,EAAE,OAAOy8nB,GAAGz8nB,GAAG,OAAO4F,GAAG+xnB,GAAG33nB,GAAGD,EAAEC,EAAEiY,KAAKzW,EAAExB,EAAEu3nB,aAAavznB,EAAE,OAAO4B,EAAEA,EAAEkynB,cAAc,KAAK5znB,EAAE1C,EAAEyT,SAASo/mB,GAAGt0nB,EAAEyB,GAAG0C,EAAE,KAAK,OAAOF,GAAGqwnB,GAAGt0nB,EAAEiE,KAAKhE,EAAE4W,OAAO,IACnfosnB,GAAGp9nB,EAAE5F,GAAGoioB,GAAGx8nB,EAAE5F,EAAEkE,EAAEjC,GAAGjC,EAAEuX,MAAM,KAAK,EAAE,OAAO,OAAO3R,GAAG+xnB,GAAG33nB,GAAG,KAAK,KAAK,GAAG,OAAO8joB,GAAGl+nB,EAAE5F,EAAEiC,GAAG,KAAK,EAAE,OAAOs6nB,GAAGv8nB,EAAEA,EAAEojnB,UAAU6F,eAAelpnB,EAAEC,EAAEu3nB,aAAa,OAAO3xnB,EAAE5F,EAAEuX,MAAMyknB,GAAGh8nB,EAAE,KAAKD,EAAEkC,GAAGmgoB,GAAGx8nB,EAAE5F,EAAED,EAAEkC,GAAGjC,EAAEuX,MAAM,KAAK,GAAG,OAAOxX,EAAEC,EAAEiY,KAAKzW,EAAExB,EAAEu3nB,aAA2C8K,GAAGz8nB,EAAE5F,EAAED,EAArCyB,EAAExB,EAAE2sW,cAAc5sW,EAAEyB,EAAE22nB,GAAGp4nB,EAAEyB,GAAcS,GAAG,KAAK,EAAE,OAAOmgoB,GAAGx8nB,EAAE5F,EAAEA,EAAEu3nB,aAAat1nB,GAAGjC,EAAEuX,MAAM,KAAK,EAAmD,KAAK,GAAG,OAAO6qnB,GAAGx8nB,EAAE5F,EAAEA,EAAEu3nB,aAAatinB,SAAShT,GAAGjC,EAAEuX,MAAM,KAAK,GAAG3R,EAAE,CACxZ,GADyZ7F,EAAEC,EAAEiY,KAAKzF,SAAShR,EAAExB,EAAEu3nB,aAAavznB,EAAEhE,EAAE83nB,cAClf5znB,EAAE1C,EAAE+B,MAAM23hB,GAAEk9F,GAAGr4nB,EAAE24nB,eAAe34nB,EAAE24nB,cAAcx0nB,EAAK,OAAOF,EAAE,GAAGksnB,GAAGlsnB,EAAET,MAAMW,IAAI,GAAGF,EAAEiR,WAAWzT,EAAEyT,WAAWugnB,GAAGn2lB,QAAQ,CAACr/B,EAAEsioB,GAAG18nB,EAAE5F,EAAEiC,GAAG,MAAM2D,CAAC,OAAO,IAAc,QAAV5B,EAAEhE,EAAEuX,SAAiBvT,EAAEwa,OAAOxe,GAAG,OAAOgE,GAAG,CAAC,IAAIolB,EAAEplB,EAAE0vjB,aAAa,GAAG,OAAOtqiB,EAAE,CAACllB,EAAEF,EAAEuT,MAAM,IAAI,IAAIpS,EAAEikB,EAAE0vmB,aAAa,OAAO3znB,GAAG,CAAC,GAAGA,EAAEwM,UAAU5R,EAAE,CAAC,GAAG,IAAIiE,EAAE2X,IAAI,EAACxW,EAAE40nB,IAAI,EAAE93nB,GAAGA,IAAK0Z,IAAI,EAAE,IAAI8qB,EAAEziC,EAAEy1nB,YAAY,GAAG,OAAOhzlB,EAAE,CAAY,IAAIvhC,GAAfuhC,EAAEA,EAAEozlB,QAAe1jE,QAAQ,OAAOjxjB,EAAEC,EAAE1B,KAAK0B,GAAGA,EAAE1B,KAAKyB,EAAEzB,KAAKyB,EAAEzB,KAAK0B,GAAGshC,EAAE0vhB,QAAQhxjB,CAAC,CAAC,CAACnB,EAAE+0nB,OAAO92nB,EAAgB,QAAdkD,EAAEnB,EAAEwgnB,aAAqBr/mB,EAAE4znB,OAAO92nB,GAAG02nB,GAAG30nB,EAAEwa,OAClfvc,EAAEjC,GAAGopB,EAAE2vmB,OAAO92nB,EAAE,KAAK,CAACkD,EAAEA,EAAE1B,IAAI,CAAC,MAAM,GAAG,KAAKO,EAAE2X,IAAIzX,EAAEF,EAAEiU,OAAOjY,EAAEiY,KAAK,KAAKjU,EAAEuT,WAAW,GAAG,KAAKvT,EAAE2X,IAAI,CAAY,GAAG,QAAdzX,EAAEF,EAAEwa,QAAmB,MAAMpV,MAAM/I,EAAE,MAAM6D,EAAE60nB,OAAO92nB,EAAgB,QAAdmnB,EAAEllB,EAAEsgnB,aAAqBp7lB,EAAE2vmB,OAAO92nB,GAAG02nB,GAAGz0nB,EAAEjC,EAAEjC,GAAGkE,EAAEF,EAAE8gnB,OAAO,MAAM5gnB,EAAEF,EAAEuT,MAAM,GAAG,OAAOrT,EAAEA,EAAEsa,OAAOxa,OAAO,IAAIE,EAAEF,EAAE,OAAOE,GAAG,CAAC,GAAGA,IAAIlE,EAAE,CAACkE,EAAE,KAAK,KAAK,CAAa,GAAG,QAAfF,EAAEE,EAAE4gnB,SAAoB,CAAC9gnB,EAAEwa,OAAOta,EAAEsa,OAAOta,EAAEF,EAAE,KAAK,CAACE,EAAEA,EAAEsa,MAAM,CAACxa,EAAEE,CAAC,CAACk+nB,GAAGx8nB,EAAE5F,EAAEwB,EAAEyT,SAAShT,GAAGjC,EAAEA,EAAEuX,KAAK,CAAC,OAAOvX,EAAE,KAAK,EAAE,OAAOwB,EAAExB,EAAEiY,KAAKlY,EAAEC,EAAEu3nB,aAAatinB,SAAS4jnB,GAAG74nB,EAAEiC,GAAWlC,EAAEA,EAAVyB,EAAEy3nB,GAAGz3nB,IAAUxB,EAAE4W,OAAO,EAAEwrnB,GAAGx8nB,EAAE5F,EAAED,EAAEkC,GACpfjC,EAAEuX,MAAM,KAAK,GAAG,OAAgB/V,EAAE22nB,GAAXp4nB,EAAEC,EAAEiY,KAAYjY,EAAEu3nB,cAA6BgL,GAAG38nB,EAAE5F,EAAED,EAAtByB,EAAE22nB,GAAGp4nB,EAAEkY,KAAKzW,GAAcS,GAAG,KAAK,GAAG,OAAOwgoB,GAAG78nB,EAAE5F,EAAEA,EAAEiY,KAAKjY,EAAEu3nB,aAAat1nB,GAAG,KAAK,GAAG,OAAOlC,EAAEC,EAAEiY,KAAKzW,EAAExB,EAAEu3nB,aAAa/1nB,EAAExB,EAAE2sW,cAAc5sW,EAAEyB,EAAE22nB,GAAGp4nB,EAAEyB,GAAG0hoB,GAAGt9nB,EAAE5F,GAAGA,EAAE2b,IAAI,EAAEk6mB,GAAG91nB,IAAI6F,GAAE,EAAGownB,GAAGh2nB,IAAI4F,GAAE,EAAGiznB,GAAG74nB,EAAEiC,GAAGi5nB,GAAGl7nB,EAAED,EAAEyB,GAAG85nB,GAAGt7nB,EAAED,EAAEyB,EAAES,GAAGmhoB,GAAG,KAAKpjoB,EAAED,GAAE,EAAG6F,EAAE3D,GAAG,KAAK,GAAG,OAAO+ioB,GAAGp/nB,EAAE5F,EAAEiC,GAAG,KAAK,GAAG,OAAO0goB,GAAG/8nB,EAAE5F,EAAEiC,GAAG,MAAMmH,MAAM/I,EAAE,IAAIL,EAAE2b,KAAM,EAYxC,IAAI0vnB,GAAG,oBAAoBC,YAAYA,YAAY,SAAS1loB,GAAGq6C,QAAQz6C,MAAMI,EAAE,EAAE,SAASqoC,GAAGroC,GAAGnF,KAAK8qoB,cAAc3loB,CAAC,CACjI,SAASs7K,GAAGt7K,GAAGnF,KAAK8qoB,cAAc3loB,CAAC,CAC5J,SAAS4loB,GAAG5loB,GAAG,SAASA,GAAG,IAAIA,EAAEuR,UAAU,IAAIvR,EAAEuR,UAAU,KAAKvR,EAAEuR,SAAS,CAAC,SAAS81B,GAAGrnC,GAAG,SAASA,GAAG,IAAIA,EAAEuR,UAAU,IAAIvR,EAAEuR,UAAU,KAAKvR,EAAEuR,WAAW,IAAIvR,EAAEuR,UAAU,iCAAiCvR,EAAEyR,WAAW,CAAC,SAASo0nB,KAAK,CAExa,SAAS/od,GAAG98K,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,IAAIwC,EAAE/B,EAAEukoB,oBAAoB,GAAGxioB,EAAE,CAAC,IAAIE,EAAEF,EAAE,GAAG,oBAAoBxC,EAAE,CAAC,IAAI4nB,EAAE5nB,EAAEA,EAAE,WAAW,IAAIoE,EAAEsloB,GAAGhnoB,GAAGklB,EAAE/nB,KAAKuE,EAAE,CAAC,CAAC04K,GAAGt+K,EAAEkE,EAAE0B,EAAEpE,EAAE,MAAM0C,EADxJ,SAAY0B,EAAE5F,EAAEiC,EAAElC,EAAEyB,GAAG,GAAGA,EAAE,CAAC,GAAG,oBAAoBzB,EAAE,CAAC,IAAIiE,EAAEjE,EAAEA,EAAE,WAAW,IAAI6F,EAAEsloB,GAAGhnoB,GAAGF,EAAE3C,KAAKuE,EAAE,CAAC,CAAC,IAAI1B,EAAE+moB,GAAGjroB,EAAED,EAAE6F,EAAE,EAAE,MAAK,EAAG,EAAG,GAAG6loB,IAAmF,OAA/E7loB,EAAE4goB,oBAAoBtioB,EAAE0B,EAAEytnB,IAAInvnB,EAAEm7B,QAAQ8zlB,GAAG,IAAIvtnB,EAAEuR,SAASvR,EAAE2Q,WAAW3Q,GAAGgkoB,KAAY1loB,CAAC,CAAC,KAAK1C,EAAEoE,EAAE0iI,WAAW1iI,EAAE4R,YAAYhW,GAAG,GAAG,oBAAoBzB,EAAE,CAAC,IAAIqpB,EAAErpB,EAAEA,EAAE,WAAW,IAAI6F,EAAEsloB,GAAG/loB,GAAGikB,EAAE/nB,KAAKuE,EAAE,CAAC,CAAC,IAAIT,EAAE4loB,GAAGnloB,EAAE,GAAE,EAAG,KAAK,GAAK,EAAG,EAAG,GAAG6loB,IAA0G,OAAtG7loB,EAAE4goB,oBAAoBrhoB,EAAES,EAAEytnB,IAAIlunB,EAAEk6B,QAAQ8zlB,GAAG,IAAIvtnB,EAAEuR,SAASvR,EAAE2Q,WAAW3Q,GAAGgkoB,IAAG,WAAWtrd,GAAGt+K,EAAEmF,EAAElD,EAAElC,EAAE,IAAUoF,CAAC,CACpUumoB,CAAGzpoB,EAAEjC,EAAE4F,EAAEpE,EAAEzB,GAAG,OAAOmroB,GAAGhnoB,EAAE,CAHpLg9K,GAAGvgL,UAAU4Y,OAAO00B,GAAGttC,UAAU4Y,OAAO,SAAS3T,GAAG,IAAI5F,EAAES,KAAK8qoB,cAAc,GAAG,OAAOvroB,EAAE,MAAMoJ,MAAM/I,EAAE,MAAMi+K,GAAG14K,EAAE5F,EAAE,KAAK,KAAK,EAAEkhL,GAAGvgL,UAAUoylB,QAAQ9kjB,GAAGttC,UAAUoylB,QAAQ,WAAW,IAAIntlB,EAAEnF,KAAK8qoB,cAAc,GAAG,OAAO3loB,EAAE,CAACnF,KAAK8qoB,cAAc,KAAK,IAAIvroB,EAAE4F,EAAEqjnB,cAAc2gB,IAAG,WAAWtrd,GAAG,KAAK14K,EAAE,KAAK,KAAK,IAAG5F,EAAEqznB,IAAI,IAAI,CAAC,EACzTnyc,GAAGvgL,UAAUgroB,2BAA2B,SAAS/loB,GAAG,GAAGA,EAAE,CAAC,IAAI5F,EAAE4nnB,KAAKhinB,EAAE,CAAC8inB,UAAU,KAAK5mnB,OAAO8D,EAAEkmhB,SAAS9rhB,GAAG,IAAI,IAAIiC,EAAE,EAAEA,EAAEomnB,GAAGjnnB,QAAQ,IAAIpB,GAAGA,EAAEqonB,GAAGpmnB,GAAG6phB,SAAS7phB,KAAKomnB,GAAGt0mB,OAAO9R,EAAE,EAAE2D,GAAG,IAAI3D,GAAG6mnB,GAAGljnB,EAAE,CAAC,EAEX6hnB,GAAG,SAAS7hnB,GAAG,OAAOA,EAAE+V,KAAK,KAAK,EAAE,IAAI3b,EAAE4F,EAAEw9mB,UAAU,GAAGpjnB,EAAEq/B,QAAQqllB,cAAcsE,aAAa,CAAC,IAAI/mnB,EAAE0knB,GAAG3mnB,EAAE4mnB,cAAc,IAAI3knB,IAAIslnB,GAAGvnnB,EAAI,EAAFiC,GAAKqmoB,GAAGtooB,EAAEmzhB,MAAK,KAAO,EAAF6H,MAAOwqG,GAAGryG,KAAI,IAAIojG,MAAM,CAAC,MAAM,KAAK,GAAGqT,IAAG,WAAW,IAAI5poB,EAAEu5nB,GAAG3znB,EAAE,GAAG,GAAG,OAAO5F,EAAE,CAAC,IAAIiC,EAAEoqL,KAAIwuc,GAAG76nB,EAAE4F,EAAE,EAAE3D,EAAE,CAAC,IAAG6D,GAAGF,EAAE,GAAG,EAC/b8hnB,GAAG,SAAS9hnB,GAAG,GAAG,KAAKA,EAAE+V,IAAI,CAAC,IAAI3b,EAAEu5nB,GAAG3znB,EAAE,WAAW,GAAG,OAAO5F,EAAa66nB,GAAG76nB,EAAE4F,EAAE,UAAXymL,MAAwBvmL,GAAGF,EAAE,UAAU,CAAC,EAAE+hnB,GAAG,SAAS/hnB,GAAG,GAAG,KAAKA,EAAE+V,IAAI,CAAC,IAAI3b,EAAE46nB,GAAGh1nB,GAAG3D,EAAEs3nB,GAAG3znB,EAAE5F,GAAG,GAAG,OAAOiC,EAAa44nB,GAAG54nB,EAAE2D,EAAE5F,EAAXqsL,MAAgBvmL,GAAGF,EAAE5F,EAAE,CAAC,EAAE4nnB,GAAG,WAAW,OAAOzxjB,EAAC,EAAE0xjB,GAAG,SAASjinB,EAAE5F,GAAG,IAAIiC,EAAEk0D,GAAE,IAAI,OAAOA,GAAEvwD,EAAE5F,GAAG,CAAC,QAAQm2D,GAAEl0D,CAAC,CAAC,EAClS8gnB,GAAG,SAASn9mB,EAAE5F,EAAEiC,GAAG,OAAOjC,GAAG,IAAK,QAAyB,GAAjBmhnB,EAAGv7mB,EAAE3D,GAAGjC,EAAEiC,EAAEuF,KAAQ,UAAUvF,EAAEgW,MAAM,MAAMjY,EAAE,CAAC,IAAIiC,EAAE2D,EAAE3D,EAAEsU,YAAYtU,EAAEA,EAAEsU,WAAsF,IAA3EtU,EAAEA,EAAEugB,iBAAiB,cAAcwM,KAAKhP,UAAU,GAAGhgB,GAAG,mBAAuBA,EAAE,EAAEA,EAAEiC,EAAEb,OAAOpB,IAAI,CAAC,IAAID,EAAEkC,EAAEjC,GAAG,GAAGD,IAAI6F,GAAG7F,EAAEqlF,OAAOx/E,EAAEw/E,KAAK,CAAC,IAAI5jF,EAAE6hnB,GAAGtjnB,GAAG,IAAIyB,EAAE,MAAM4H,MAAM/I,EAAE,KAAKsgnB,EAAG5gnB,GAAGohnB,EAAGphnB,EAAEyB,EAAE,CAAC,CAAC,CAAC,MAAM,IAAK,WAAWignB,GAAG77mB,EAAE3D,GAAG,MAAM,IAAK,SAAmB,OAAVjC,EAAEiC,EAAEsB,QAAe89mB,GAAGz7mB,IAAI3D,EAAE2vlB,SAAS5xlB,GAAE,GAAI,EAAEwjnB,GAAGmmB,GAAGlmB,GAAGmmB,GACpa,IAAIl0H,GAAG,CAACk2H,uBAAsB,EAAGC,OAAO,CAAC1oB,GAAGiM,GAAG/L,GAAGC,GAAGC,GAAGomB,KAAKmC,GAAG,CAACC,wBAAwBhjB,GAAGijB,WAAW,EAAEnslB,QAAQ,SAASoslB,oBAAoB,aAC1IC,GAAG,CAACF,WAAWF,GAAGE,WAAWnslB,QAAQislB,GAAGjslB,QAAQoslB,oBAAoBH,GAAGG,oBAAoBE,eAAeL,GAAGK,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,gBAAgB,KAAKC,mBAAmB,KAAKnlkB,eAAe,KAAKolkB,qBAAqB38jB,EAAGgtjB,uBAAuB4P,wBAAwB,SAASjnoB,GAAW,OAAO,QAAfA,EAAEi/mB,GAAGj/mB,IAAmB,KAAKA,EAAEw9mB,SAAS,EAAE2oB,wBAAwBD,GAAGC,yBARjN,WAAc,OAAO,IAAI,EASpUe,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,KAAKC,kBAAkB,kCAAkC,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAG1wb,YAAY0wb,GAAGC,cAAc,IAAIjnB,GAAGgnB,GAAGzogB,OAAOsngB,IAAI5lB,GAAG+mB,EAAE,CAAC,MAAMznoB,IAAG,CAAC,CAAC/G,EAAQ+/mB,mDAAmDlpG,GAC9Y72gB,EAAQirE,aAAa,SAASlkE,EAAE5F,GAAG,IAAIiC,EAAE,EAAEd,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIqqoB,GAAGxroB,GAAG,MAAMoJ,MAAM/I,EAAE,MAAM,OAbuH,SAAYuF,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAE,EAAEoB,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACoolB,SAASu1B,EAAG/8mB,IAAI,MAAMhC,EAAE,KAAK,GAAGA,EAAEkV,SAASrP,EAAEqjnB,cAAcjpnB,EAAE87nB,eAAe75nB,EAAE,CAa1RsroB,CAAG3noB,EAAE5F,EAAE,KAAKiC,EAAE,EAAEpD,EAAQ2uoB,WAAW,SAAS5noB,EAAE5F,GAAG,IAAIwroB,GAAG5loB,GAAG,MAAMwD,MAAM/I,EAAE,MAAM,IAAI4B,GAAE,EAAGlC,EAAE,GAAGyB,EAAE6poB,GAA4P,OAAzP,OAAOrroB,QAAG,IAASA,KAAI,IAAKA,EAAEytoB,sBAAsBxroB,GAAE,QAAI,IAASjC,EAAEihoB,mBAAmBlhoB,EAAEC,EAAEihoB,uBAAkB,IAASjhoB,EAAEqqoB,qBAAqB7ooB,EAAExB,EAAEqqoB,qBAAqBrqoB,EAAE+qoB,GAAGnloB,EAAE,GAAE,EAAG,KAAK,EAAK3D,EAAE,EAAGlC,EAAEyB,GAAGoE,EAAEytnB,IAAIrznB,EAAEq/B,QAAQ8zlB,GAAG,IAAIvtnB,EAAEuR,SAASvR,EAAE2Q,WAAW3Q,GAAU,IAAIqoC,GAAGjuC,EAAE,EACrfnB,EAAQ6uoB,YAAY,SAAS9noB,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEuR,SAAS,OAAOvR,EAAE,IAAI5F,EAAE4F,EAAE80nB,gBAAgB,QAAG,IAAS16nB,EAAE,CAAC,GAAG,oBAAoB4F,EAAE2T,OAAO,MAAMnQ,MAAM/I,EAAE,MAAiC,MAA3BuF,EAAE3F,OAAOgR,KAAKrL,GAAGsK,KAAK,KAAW9G,MAAM/I,EAAE,IAAIuF,GAAI,CAAqC,OAA5BA,EAAE,QAAVA,EAAEi/mB,GAAG7knB,IAAc,KAAK4F,EAAEw9mB,SAAkB,EAAEvknB,EAAQ8uoB,UAAU,SAAS/noB,GAAG,OAAOgkoB,GAAGhkoB,EAAE,EAAE/G,EAAQya,QAAQ,SAAS1T,EAAE5F,EAAEiC,GAAG,IAAIgrC,GAAGjtC,GAAG,MAAMoJ,MAAM/I,EAAE,MAAM,OAAOqiL,GAAG,KAAK98K,EAAE5F,GAAE,EAAGiC,EAAE,EAC/YpD,EAAQ+uoB,YAAY,SAAShooB,EAAE5F,EAAEiC,GAAG,IAAIupoB,GAAG5loB,GAAG,MAAMwD,MAAM/I,EAAE,MAAM,IAAIN,EAAE,MAAMkC,GAAGA,EAAE4roB,iBAAiB,KAAKrsoB,GAAE,EAAGwC,EAAE,GAAGE,EAAEmnoB,GAAyO,GAAtO,OAAOppoB,QAAG,IAASA,KAAI,IAAKA,EAAEwroB,sBAAsBjsoB,GAAE,QAAI,IAASS,EAAEg/nB,mBAAmBj9nB,EAAE/B,EAAEg/nB,uBAAkB,IAASh/nB,EAAEoooB,qBAAqBnmoB,EAAEjC,EAAEoooB,qBAAqBrqoB,EAAEiroB,GAAGjroB,EAAE,KAAK4F,EAAE,EAAE,MAAM3D,EAAEA,EAAE,KAAKT,EAAE,EAAGwC,EAAEE,GAAG0B,EAAEytnB,IAAIrznB,EAAEq/B,QAAQ8zlB,GAAGvtnB,GAAM7F,EAAE,IAAI6F,EAAE,EAAEA,EAAE7F,EAAEqB,OAAOwE,IAA2BpE,GAAhBA,GAAPS,EAAElC,EAAE6F,IAAOkooB,aAAgB7roB,EAAE8roB,SAAS,MAAM/toB,EAAE8qoB,gCAAgC9qoB,EAAE8qoB,gCAAgC,CAAC7ooB,EAAET,GAAGxB,EAAE8qoB,gCAAgC/loB,KAAK9C,EACvhBT,GAAG,OAAO,IAAI0/K,GAAGlhL,EAAE,EAAEnB,EAAQ0a,OAAO,SAAS3T,EAAE5F,EAAEiC,GAAG,IAAIgrC,GAAGjtC,GAAG,MAAMoJ,MAAM/I,EAAE,MAAM,OAAOqiL,GAAG,KAAK98K,EAAE5F,GAAE,EAAGiC,EAAE,EAAEpD,EAAQmvoB,uBAAuB,SAASpooB,GAAG,IAAIqnC,GAAGrnC,GAAG,MAAMwD,MAAM/I,EAAE,KAAK,QAAOuF,EAAE4goB,sBAAqBoD,IAAG,WAAWlnd,GAAG,KAAK,KAAK98K,GAAE,GAAG,WAAWA,EAAE4goB,oBAAoB,KAAK5goB,EAAEytnB,IAAI,IAAI,GAAE,KAAG,EAAM,EAAEx0nB,EAAQovoB,wBAAwBtE,GAC/U9qoB,EAAQqvoB,oCAAoC,SAAStooB,EAAE5F,EAAEiC,EAAElC,GAAG,IAAIktC,GAAGhrC,GAAG,MAAMmH,MAAM/I,EAAE,MAAM,GAAG,MAAMuF,QAAG,IAASA,EAAE80nB,gBAAgB,MAAMtxnB,MAAM/I,EAAE,KAAK,OAAOqiL,GAAG98K,EAAE5F,EAAEiC,GAAE,EAAGlC,EAAE,EAAElB,EAAQghD,QAAQ,wEChUzL36C,EAAIrF,EAAQ,OAEdhB,EAAQ,EAAaqG,EAAEsooB,WACDtooB,EAAE0ooB,iDCH1B,SAASO,IAEP,GAC4C,qBAAnCf,gCAC4C,oBAA5CA,+BAA+Be,SAcxC,IAEEf,+BAA+Be,SAASA,EAC1C,CAAE,MAAO93lB,GAGP4J,QAAQz6C,MAAM6wC,EAChB,CACF,CAKE83lB,GACAl6lB,EAAOp1C,QAAU,EAAjBo1C,6CCzBuctnC,EAAxb3M,EAAEyE,OAAOmxiB,IAAI,iBAAiB3ziB,EAAEwC,OAAOmxiB,IAAI,gBAAgB71iB,EAAE0E,OAAOmxiB,IAAI,kBAAkBp0iB,EAAEiD,OAAOmxiB,IAAI,qBAAqB5xiB,EAAES,OAAOmxiB,IAAI,kBAAkB1xiB,EAAEO,OAAOmxiB,IAAI,kBAAkBxshB,EAAE3kB,OAAOmxiB,IAAI,iBAAiBzwiB,EAAEV,OAAOmxiB,IAAI,wBAAwBnvgB,EAAEhiC,OAAOmxiB,IAAI,qBAAqB1wiB,EAAET,OAAOmxiB,IAAI,kBAAkB10iB,EAAEuD,OAAOmxiB,IAAI,uBAAuBv1iB,EAAEoE,OAAOmxiB,IAAI,cAAc1viB,EAAEzB,OAAOmxiB,IAAI,cAAc70iB,EAAE0D,OAAOmxiB,IAAI,mBACtb,SAASjxiB,EAAEiB,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAI1D,EAAE0D,EAAE2jlB,SAAS,OAAOrnlB,GAAG,KAAKlC,EAAE,OAAO4F,EAAEA,EAAEqS,MAAQ,KAAKlY,EAAE,KAAKiE,EAAE,KAAKxC,EAAE,KAAK0D,EAAE,KAAKhE,EAAE,OAAO0E,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE2jlB,UAAY,KAAKpklB,EAAE,KAAKikB,EAAE,KAAKqd,EAAE,KAAKvgC,EAAE,KAAK7F,EAAE,KAAK6D,EAAE,OAAO0B,EAAE,QAAQ,OAAO1D,GAAG,KAAKD,EAAE,OAAOC,EAAE,CAAC,CADkMyK,EAAElI,OAAOmxiB,IAAI,8DCNtd3hgB,EAAAA,6CCMej0C,EAAE,oBAAoByE,QAAQA,OAAOmxiB,IAAI3ziB,EAAEjC,EAAEyE,OAAOmxiB,IAAI,iBAAiB,MAAM71iB,EAAEC,EAAEyE,OAAOmxiB,IAAI,gBAAgB,MAAMp0iB,EAAExB,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAM5xiB,EAAEhE,EAAEyE,OAAOmxiB,IAAI,qBAAqB,MAAM1xiB,EAAElE,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAMxshB,EAAEppB,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAMzwiB,EAAEnF,EAAEyE,OAAOmxiB,IAAI,iBAAiB,MAAMnvgB,EAAEzmC,EAAEyE,OAAOmxiB,IAAI,oBAAoB,MAAM1wiB,EAAElF,EAAEyE,OAAOmxiB,IAAI,yBAAyB,MAAM10iB,EAAElB,EAAEyE,OAAOmxiB,IAAI,qBAAqB,MAAMv1iB,EAAEL,EAAEyE,OAAOmxiB,IAAI,kBAAkB,MAAM1viB,EAAElG,EACpfyE,OAAOmxiB,IAAI,uBAAuB,MAAM1ziB,EAAElC,EAAEyE,OAAOmxiB,IAAI,cAAc,MAAM70iB,EAAEf,EAAEyE,OAAOmxiB,IAAI,cAAc,MAAMjxiB,EAAE3E,EAAEyE,OAAOmxiB,IAAI,eAAe,MAAM5xc,EAAEhkG,EAAEyE,OAAOmxiB,IAAI,qBAAqB,MAAMv0hB,EAAErhB,EAAEyE,OAAOmxiB,IAAI,mBAAmB,MAAM3xiB,EAAEjE,EAAEyE,OAAOmxiB,IAAI,eAAe,MAClQ,SAASt0hB,EAAE1b,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAI+G,EAAE/G,EAAE2jlB,SAAS,OAAO58kB,GAAG,KAAK1K,EAAE,OAAO2D,EAAEA,EAAEqS,MAAQ,KAAKwuB,EAAE,KAAKvhC,EAAE,KAAK1D,EAAE,KAAK0C,EAAE,KAAKF,EAAE,KAAK3D,EAAE,OAAOuF,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE2jlB,UAAY,KAAKpklB,EAAE,KAAKjE,EAAE,KAAKH,EAAE,KAAKmB,EAAE,KAAKknB,EAAE,OAAOxjB,EAAE,QAAQ,OAAO+G,GAAG,KAAK5M,EAAE,OAAO4M,EAAE,CAAC,CAAC,SAAS8if,EAAE7pf,GAAG,OAAO0b,EAAE1b,KAAKV,CAAC,sCCRrS+uC,EAAAA,2CCDFh0C,OAAOqC,eAAezD,EAAS,aAAc,CAC3C0E,OAAO,IAET1E,EAAAA,aAAkB,EAElB,IAAIuvoB,EAAU5knB,EAAuB3pB,EAAQ,QAEzCwuoB,EAAO7knB,EAAuB3pB,EAAQ,QAEtCyuoB,EAAe9knB,EAAuB3pB,EAAQ,QAElD,SAAS2pB,EAAuBpB,GAAO,OAAOA,GAAOA,EAAIthB,WAAashB,EAAM,CAAErhB,QAASqhB,EAAO,CAI9F,SAASmmnB,EAAkBzsoB,EAAQiQ,GAAS,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CAAE,IAAIusE,EAAaz7D,EAAM9Q,GAAIusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EAAOkjE,EAAWvlB,cAAe,EAAU,UAAWulB,IAAYA,EAAWtlB,UAAW,GAAMjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAAa,CAAE,CAS5T,IA0CI7jD,EA1CiC,WACnC,SAAS6knB,IANX,IAAyBpmnB,EAAKrmB,EAAKwB,GANnC,SAAyB6U,EAAUq2nB,GAAe,KAAMr2nB,aAAoBq2nB,GAAgB,MAAM,IAAI5poB,UAAU,oCAAwC,CAapJ4M,CAAgBhR,KAAM+toB,GAPSjroB,EASI,IATTxB,EASJ,eATDqmB,EASL3nB,MAT0CR,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CAAEwB,MAAOA,EAAO+G,YAAY,EAAM29C,cAAc,EAAMC,UAAU,IAAkB9/B,EAAIrmB,GAAOwB,EAWvL9C,KAAKiuoB,WAAY,EAAIJ,EAAavnoB,UACpC,CAdF,IAAsB0noB,EAAaE,EAAYC,EA8C7C,OA9CoBH,EAsBPD,GAtBoBG,EAsBD,CAAC,CAC/B5soB,IAAK,UACLwB,MAAO,SAAiBA,GACtB,OAAO8qoB,EAAKtnoB,QAAQgH,QAAQxK,EAAO9C,KAAKiuoB,WAAWz+nB,UACrD,GAOC,CACDlO,IAAK,UACLwB,MAAO,SAAiBA,GACtB,IAGE,OAFY8qoB,EAAKtnoB,QAAQ8zD,QAAQt3D,EAAO9C,KAAKiuoB,WAEhCz+nB,SAASm+nB,EAAQrnoB,UAAY,IAC5C,CAAE,MAAOwnG,GACP,OAAO,IACT,CACF,MA3C0EggiB,EAAkBE,EAAY9toB,UAAWguoB,GAAiBC,GAAaL,EAAkBE,EAAaG,GAAc3uoB,OAAOqC,eAAemsoB,EAAa,YAAa,CAAEvmlB,UAAU,IA8CrPsmlB,CACT,CAxCqC,GA2CrC3voB,EAAAA,QAAkB8qB,oCCnElB1pB,OAAOqC,eAAezD,EAAS,aAAc,CAC3C0E,OAAO,IAET1E,EAAAA,aAAkB,EAClB,IA2EI8qB,EALY,CACdklnB,WAjEe,WACf,IAAItroB,EAAQ,KAEZ,IAEIA,EADoB,oBAAXuroB,QACDA,QAAQ57D,IAAI,kCAAoC47D,QAAQ57D,IAAI,4CAA8C47D,QAAQ57D,IAAI,8CAAgD47D,QAAQ57D,IAAI,sCAElLrpkB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAYkloB,+BAAiClloB,uBAIzD,CAAE,MAAO0kG,GACP,OAAO,IACT,CAEA,OAAOhrG,CACT,EAkDEyroB,iBA3CqB,WACrB,IAAIzroB,EAAQ,KAEZ,IAEIA,EADoB,oBAAXuroB,QACDA,QAAQ57D,IAAI,gCAAkC47D,QAAQ57D,IAAI,0CAA4C47D,QAAQ57D,IAAI,4CAA8C47D,QAAQ57D,IAAI,oCAE5KrpkB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAYoloB,6BAAoFploB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAYqloB,yCAA2CrloB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAYsloB,gCAI/K,CAAE,MAAO5giB,GACP,OAAO,IACT,CAEA,OAAOhrG,CACT,EA4BE6roB,gBArBoB,WACpB,IAAI7roB,EAAQ,KAEZ,IAEIA,EADoB,oBAAXuroB,QACDA,QAAQ57D,IAAI,uCAAyC47D,QAAQ57D,IAAI,iDAAmD47D,QAAQ57D,IAAI,mDAAqD47D,QAAQ57D,IAAI,2CAEjMrpkB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAYwloB,oCAAkGxloB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAYyloB,gDAAkDzloB,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,6CAAAA,GAAAA,wCAAAA,wBAAAA,sCAAAA,IAAY0loB,uCAIpM,CAAE,MAAOhhiB,GACP,OAAO,IACT,CAEA,OAAOhrG,CACT,GAQA1E,EAAAA,QAAkB8qB,sCChFlB1pB,OAAOqC,eAAezD,EAAS,aAAc,CAC3C0E,OAAO,IAET1E,EAAAA,aAAkB,EAElB,IAAI2woB,EAAahmnB,EAAuB3pB,EAAQ,QAE5CyuoB,EAAe9knB,EAAuB3pB,EAAQ,QAElD,SAAS2pB,EAAuBpB,GAAO,OAAOA,GAAOA,EAAIthB,WAAashB,EAAM,CAAErhB,QAASqhB,EAAO,CAG9F,IAYIuB,EANiB,WACnB,IAAI8lnB,EAAkBD,EAAWzooB,QAAQ8noB,cAP5B,uBAQb,MAAsB,qBAAX/voB,OAA+B2woB,EACnCnB,EAAavnoB,QAAQ2ooB,iBAAmBD,CACjD,EAGA5woB,EAAAA,QAAkB8qB,sCCzBlB1pB,OAAOqC,eAAezD,EAAS,aAAc,CAC3C0E,OAAO,IAET1E,EAAAA,aAAkB,EAElB,IAIgCupB,EAJ5BunnB,GAI4BvnnB,EAJavoB,EAAQ,QAIAuoB,EAAIthB,WAAashB,EAAM,CAAErhB,QAASqhB,GAFnFyB,EAAShqB,EAAQ,OAMrB,SAAS0uoB,EAAkBzsoB,EAAQiQ,GAAS,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CAAE,IAAIusE,EAAaz7D,EAAM9Q,GAAIusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EAAOkjE,EAAWvlB,cAAe,EAAU,UAAWulB,IAAYA,EAAWtlB,UAAW,GAAMjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAAa,CAAE,CAK5T,IA+PI7jD,EADW,IA9Pa,WAC1B,SAASimnB,KARX,SAAyBx3nB,EAAUq2nB,GAAe,KAAMr2nB,aAAoBq2nB,GAAgB,MAAM,IAAI5poB,UAAU,oCAAwC,CASpJ4M,CAAgBhR,KAAMmvoB,EACxB,CANF,IAAsBnB,EAAaE,EAAYC,EA8P7C,OA9PoBH,EAQPmB,GARoBjB,EAQV,CAAC,CACtB5soB,IAAK,iBACLwB,MAIA,WACE,IAAIssoB,EAAM,IACNC,GAAe,EAAIjmnB,EAAOulnB,mBAC1BrtoB,EAAM,GAoDV,OAlDK+toB,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBC,aACjDjuoB,GAAO88C,UAAUC,UAAY+wlB,GAG1BC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBE,YACjDluoB,GAAOjD,OAAOkgC,SAASogB,SAAWywlB,GAG/BC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBG,gBACjDnuoB,GAAOtB,KAAK0voB,iBAAmBN,GAG5BC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBK,WACjDruoB,GAAOtB,KAAK4voB,aAAeR,GAGxBC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBO,SACjDvuoB,GAAOtB,KAAK8voB,WAAaV,GAGtBC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBS,iBACjDzuoB,GAAOtB,KAAKgwoB,iBAAmBZ,GAG5BC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBW,mBACjD3uoB,GAAOtB,KAAKkwoB,mBAAqBd,GAG9BC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBa,YACjD7uoB,GAAOtB,KAAKowoB,cAAgBhB,GAGzBC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBe,YACjD/uoB,GAAOtB,KAAKswoB,cAAgBlB,GAGzBC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBiB,mBACjDjvoB,GAAOtB,KAAKwwoB,oBAAsBpB,GAG/BC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBmB,UACjDnvoB,GAAOtB,KAAK0woB,WAAatB,GAGtBC,EAAarglB,SAAS5lC,EAAOkmnB,iBAAiBqB,UACjDrvoB,GAAOtB,KAAK4woB,kBAGVtvoB,EAAIk5M,SAAS40b,KAAM9toB,EAAMA,EAAIokC,UAAU,EAAGpkC,EAAIX,OAAS,KAEpD,EAAIuuoB,EAAgB5ooB,SAAShF,EADzB,IAEb,GAKC,CACDA,IAAK,iBACLwB,MAAO,WAEL,MAAO,gBAAkB9C,KAAK6woB,gBAAkB,kBAAoB7woB,KAAK8woB,gBAAkB,kBAAoB9woB,KAAK+woB,eACtH,GAEC,CACDzvoB,IAAK,gBACLwB,MAAO,WACL,OAAOzE,OAAOqxG,OAAOshiB,UACvB,GAEC,CACD1voB,IAAK,uBACLwB,MAAO,WACL,OAAOzE,OAAOqxG,OAAOt0E,MAAQ,IAAM/8B,OAAOqxG,OAAOl9E,MACnD,GAEC,CACDlxB,IAAK,yBACLwB,MAAO,WACL,OAAOzE,OAAOqxG,OAAOuhiB,WAAa,IAAM5yoB,OAAOqxG,OAAOwhiB,WACxD,GAEC,CACD5voB,IAAK,gBACLwB,MAAO,WAEL,MAAO,EACT,GAEC,CACDxB,IAAK,gBACLwB,MAAO,WAEL,MAAO,EACT,GAKC,CACDxB,IAAK,aACLwB,MAAO,WAGL,IAFA,IAAIquoB,EAAc,GAET3woB,EAAI,EAAGA,EAAI49C,UAAUgzlB,QAAQzwoB,OAAQH,IACxCA,IAAM49C,UAAUgzlB,QAAQzwoB,OAAS,EACnCwwoB,GAAe/ylB,UAAUgzlB,QAAQ5woB,GAAGuG,KAEpCoqoB,GAAe/ylB,UAAUgzlB,QAAQ5woB,GAAGuG,KAAO,KAI/C,OAAOoqoB,CACT,GAKC,CACD7voB,IAAK,WACLwB,MAAO,WAaL,MAXiB,EAYnB,GAKC,CACDxB,IAAK,iBACLwB,MAAO,WACL,IACE,QAASi+Q,YACX,CAAE,MAAOhgR,GACP,OAAO,CACT,CACF,GAEC,CACDO,IAAK,mBACLwB,MAAO,WACL,IACE,QAAS4uG,cACX,CAAE,MAAO3wG,GACP,OAAO,CACT,CACF,GAEC,CACDO,IAAK,WACLwB,MAAO,WACL,OAAOs7C,UAAUizlB,aACnB,GAKC,CACD/voB,IAAK,cACLwB,MAAO,WACL,IAAIwuoB,EAAUC,EAad,OAZAD,EAAW,IAAIxzlB,MACfyzlB,EAAWpioB,QAASmioB,EAASh0gB,oBAAsB,KAEpC,EAGJ,KADU,KADnBi0gB,IAAuB,IACYp0nB,OAAO,GAIjC,KADU,IAAMo0nB,GAAUp0nB,OAAO,EAK9C,GAKC,CACD7b,IAAK,cACLwB,MAAO,WACL,OAAOs7C,UAAUi7d,QACnB,GAEC,CACD/3gB,IAAK,oBACLwB,MAAO,WACL,OAAOs7C,UAAUi7d,UAAYh7gB,OAAO+/C,UAAUi7d,QAChD,GAEC,CACD/3gB,IAAK,iBACLwB,MAAO,WAEL,IAEIw4mB,EAFAvM,EAASt5lB,SAASC,cAAc,UAIpC,IAEE4lmB,EAAMvM,EAAOI,WAAW,KAC1B,CAAE,MAAOpumB,GAEP,MAAO,EACT,CAIA,IAAIywoB,EAAM,4BAYV,OAXAl2B,EAAIm2B,aAAe,MAEnBn2B,EAAIrsG,KAAO,eACXqsG,EAAIm2B,aAAe,aACnBn2B,EAAIo2B,UAAY,OAChBp2B,EAAIq2B,SAAS,IAAK,EAAG,GAAI,IAEzBr2B,EAAIo2B,UAAY,OAChBp2B,EAAIs2B,SAASJ,EAAK,EAAG,IACrBl2B,EAAIo2B,UAAY,yBAChBp2B,EAAIs2B,SAASJ,EAAK,EAAG,IACdziC,EAAOM,WAChB,MA3P0Ey+B,EAAkBE,EAAY9toB,UAAWguoB,GAAiBC,GAAaL,EAAkBE,EAAaG,GAAc3uoB,OAAOqC,eAAemsoB,EAAa,YAAa,CAAEvmlB,UAAU,IA8PrP0nlB,CACT,CA5P4B,IAgQ5B/woB,EAAAA,QAAkB8qB,oCC/QlB9qB,EAAQ,OAAU,EAElB,IAAIyzoB,EAAc9onB,EAAuB3pB,EAAQ,QAE7C0yoB,EAAuB/onB,EAAuB3pB,EAAQ,QAI1D,SAAS2pB,EAAuBpB,GAAO,OAAOA,GAAOA,EAAIthB,WAAashB,EAAM,CAAErhB,QAASqhB,EAAO,CAI9F,SAASmmnB,EAAkBzsoB,EAAQiQ,GAAS,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CAAE,IAAIusE,EAAaz7D,EAAM9Q,GAAIusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EAAOkjE,EAAWvlB,cAAe,EAAU,UAAWulB,IAAYA,EAAWtlB,UAAW,GAAMjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAAa,CAAE,CAM5T,SAASglkB,EAAQpqnB,GAAkC,OAAOoqnB,EAAU,mBAAqB/toB,QAAU,iBAAmBA,OAAOC,SAAW,SAAU0jB,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqB3jB,QAAU2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAAK,EAAGoqnB,EAAQpqnB,EAAM,CAE/U,IAAIqqnB,GAAa,EAdJ5yoB,EAAQ,OAcO6yoB,mBAiBxBC,EAAc,SAAqB5woB,EAAKwB,GAC1C,IAAIqvoB,EAXY,SAAqBrvoB,GACrC,MAA0B,WAAnBivoB,EAAQjvoB,GAAsB,IAAuB,mBAAVA,EAAsB,IAAuB,kBAAVA,EAAqB,IAAM,GAClH,CASgBsvoB,CAAYtvoB,GAC1B,OAAOkvoB,EAAa,GAAGjzoB,OAAOozoB,EAAS,KAAO7woB,CAChD,EA0EI4nB,EADqB,IAlEa,WACpC,SAASmpnB,IAhCX,IAAyB1qnB,EAAKrmB,EAAKwB,GANnC,SAAyB6U,EAAUq2nB,GAAe,KAAMr2nB,aAAoBq2nB,GAAgB,MAAM,IAAI5poB,UAAU,oCAAwC,CAuCpJ4M,CAAgBhR,KAAMqyoB,GAjCSvvoB,EAmCa,CAAC,GAnCnBxB,EAmCJ,wBAnCDqmB,EAmCL3nB,MAnC0CR,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CAAEwB,MAAOA,EAAO+G,YAAY,EAAM29C,cAAc,EAAMC,UAAU,IAAkB9/B,EAAIrmB,GAAOwB,EAqCvL9C,KAAKsyoB,oBAAqB,EAAIR,EAAqBxroB,UACrD,CAxCF,IAAsB0noB,EAAaE,EAAYC,EAgG7C,OAhGoBH,EAgDPqE,GAhDoBnE,EAgDA,CAAC,CAChC5soB,IAAK,UACLwB,MAAO,SAAiBxB,EAAKwB,GAC3B,IAAI2/H,EAAiC,WAAnBsvgB,EAAQjvoB,GAAsByrB,KAAKhP,UAAUzc,GAASA,EAAQ,GAC5EyvoB,EAAiBL,EAAY5woB,EAAKwB,GAClC0voB,EAAYR,EAAa1woB,EAClB,MAAPA,IAAatB,KAAKsyoB,mBAAmBE,GAAa1voB,GACtD,IAAIwK,EAAU,IAAIukoB,EAAYvroB,QAC9By6Q,aAAaM,QAAQkxX,EAAgBjloB,EAAQA,QAAQm1H,GACvD,GAOC,CACDnhI,IAAK,UACLwB,MAAO,SAAiBxB,GACtB,IAAIkxoB,EAAYR,EAAa1woB,EAC7B,OAAOtB,KAAKsyoB,mBAAmBE,IAAc,IAC/C,GAMC,CACDlxoB,IAAK,aACLwB,MAAO,SAAoBxB,GACzB,IAAIkxoB,EAAYR,EAAa1woB,EACzBwB,EAAQ9C,KAAKsyoB,mBAAmBE,GAChCD,EAAiBL,EAAY5woB,EAAKwB,QACKvE,IAAvCyB,KAAKsyoB,mBAAmBE,WAAiCxyoB,KAAKsyoB,mBAAmBE,GACrFzxX,aAAapiB,WAAW4zY,EAC1B,GAKC,CACDjxoB,IAAK,QACLwB,MAAO,WACL9C,KAAKsyoB,mBAAqB,CAAC,EAC3BvxX,aAAavjP,OACf,MA7F0EswmB,EAAkBE,EAAY9toB,UAAWguoB,GAAiBC,GAAaL,EAAkBE,EAAaG,GAAc3uoB,OAAOqC,eAAemsoB,EAAa,YAAa,CAAEvmlB,UAAU,IAgGrP4qlB,CACT,CAhEsC,IAoEtCj0oB,EAAQ,EAAU8qB,sCCtHlB1pB,OAAOqC,eAAezD,EAAS,aAAc,CAC3C0E,OAAO,IAET1E,EAAAA,aAAkB,EAElB,IAIgCupB,EAJ5BkqnB,GAI4BlqnB,EAJSvoB,EAAQ,SAIIuoB,EAAIthB,WAAashB,EAAM,CAAErhB,QAASqhB,GAEvF,SAAS7M,EAAemkC,EAAKz+C,GAAK,OAUlC,SAAyBy+C,GAAO,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAOA,CAAK,CAV3BwzlB,CAAgBxzlB,IAQzD,SAA+BA,EAAKz+C,GAAK,IAAIwnB,EAAY,MAAPi3B,EAAc,KAAyB,qBAAXj7C,QAA0Bi7C,EAAIj7C,OAAOC,WAAag7C,EAAI,cAAe,GAAU,MAANj3B,EAAY,OAAQ,IAAkD0qnB,EAAI3nZ,EAAlD77L,EAAO,GAAQyjlB,GAAK,EAAUr/kB,GAAK,EAAmB,IAAM,IAAKtrC,EAAKA,EAAGpnB,KAAKq+C,KAAQ0zlB,GAAMD,EAAK1qnB,EAAGhlB,QAAQG,QAAoB+rD,EAAK5qD,KAAKouoB,EAAG5voB,QAAYtC,GAAK0uD,EAAKvuD,SAAWH,GAA3DmyoB,GAAK,GAAkE,CAAE,MAAO/8lB,GAAO0d,GAAK,EAAMy3L,EAAKn1M,CAAK,CAAE,QAAU,IAAW+8lB,GAAsB,MAAhB3qnB,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAIsrC,EAAI,MAAMy3L,CAAI,CAAE,CAAE,OAAO77L,CAAM,CAR/b0jlB,CAAsB3zlB,EAAKz+C,IAI5F,SAAqCgE,EAAGquoB,GAAU,IAAKruoB,EAAG,OAAQ,GAAiB,kBAANA,EAAgB,OAAOsuoB,EAAkBtuoB,EAAGquoB,GAAS,IAAIpyoB,EAAIjB,OAAOU,UAAUsP,SAAS5O,KAAK4D,GAAG2Y,MAAM,GAAI,GAAc,WAAN1c,GAAkB+D,EAAEvE,cAAaQ,EAAI+D,EAAEvE,YAAY8G,MAAM,GAAU,QAANtG,GAAqB,QAANA,EAAa,OAAOd,MAAM2K,KAAK9F,GAAI,GAAU,cAAN/D,GAAqB,2CAA2CkhC,KAAKlhC,GAAI,OAAOqyoB,EAAkBtuoB,EAAGquoB,EAAS,CAJ7TE,CAA4B9zlB,EAAKz+C,IAEnI,WAA8B,MAAM,IAAI4D,UAAU,4IAA8I,CAFvD4uoB,EAAoB,CAM7J,SAASF,EAAkB7zlB,EAAKxwC,IAAkB,MAAPA,GAAeA,EAAMwwC,EAAIt+C,UAAQ8N,EAAMwwC,EAAIt+C,QAAQ,IAAK,IAAIH,EAAI,EAAGyyoB,EAAO,IAAItzoB,MAAM8O,GAAMjO,EAAIiO,EAAKjO,IAAOyyoB,EAAKzyoB,GAAKy+C,EAAIz+C,GAAM,OAAOyyoB,CAAM,CAMtL,IAAIjB,GAAa,EAhBJ5yoB,EAAQ,OAgBO6yoB,mBA8CxB/onB,EAxC0B,WAC5B,IAAIgqnB,EAAoB,CAAC,EAEzB,GAAsB,qBAAX70oB,OAGT,IAFA,IAAIiP,EAAU,IAAIukoB,EAAYvroB,QAErB0hB,EAAK,EAAGmrnB,EAAkB3zoB,OAAOib,QAAQsmQ,cAAe/4P,EAAKmrnB,EAAgBxyoB,OAAQqnB,IAAM,CAClG,IAAIornB,EAAqBt4nB,EAAeq4nB,EAAgBnrnB,GAAK,GACzD1mB,EAAM8xoB,EAAmB,GACzBtwoB,EAAQswoB,EAAmB,GAE/B,GAAI9xoB,EAAI8xE,WAAW4+jB,GAAa,CAC9B,IAAIG,EAAU7woB,EAAI+Y,QAAQ23nB,EAAY,IAAI,GACtCQ,EAAYlxoB,EAAI+Y,QAAQ,eAAgB,KACxCg5nB,EAAiB/loB,EAAQ8sD,QAAQt3D,GACjC2/H,EAAc,KAClB,GAAsB,MAAlB4wgB,EAAwB,OAAQlB,GAClC,IAAK,IACH1vgB,EAAiC,SAAnB4wgB,EACd,MAEF,IAAK,IACH5wgB,EAAcl0G,KAAK7O,MAAM2znB,GACzB,MAEF,IAAK,IACH5wgB,EAAc3oH,OAAOu5nB,GACrB,MAEF,QACE5wgB,EAAc4wgB,EAElBH,EAAkBV,GAAa/vgB,CACjC,CACF,CAGF,OAAOywgB,CACT,EAGA90oB,EAAAA,QAAkB8qB,sCCtElB1pB,OAAOqC,eAAezD,EAAS,aAAc,CAC3C0E,OAAO,IAET1E,EAAQ6zoB,gBAAkB7zoB,EAAQuwoB,gBAAkBvwoB,EAAQkxoB,sBAAmB,EAE/E,IAEgC3nnB,EAF5BonnB,GAE4BpnnB,EAFQvoB,EAAQ,SAEKuoB,EAAIthB,WAAashB,EAAM,CAAErhB,QAASqhB,GAYvFvpB,EAAQ6zoB,gBANc,WACpB,IAAID,EAAajD,EAAWzooB,QAAQiooB,oBAAsB,WAC1D,OAAKyD,EAAWx3b,SAAS,KAClBw3b,EAD+BA,EAAa,GAErD,EAGA,IAAI1C,EAAmB,CACrBC,UAAW,YACXE,aAAc,cACdE,QAAS,UACTE,MAAO,QACPE,cAAe,eACfE,gBAAiB,iBACjBE,SAAU,WACVE,SAAU,WACVE,gBAAiB,iBACjBE,OAAQ,SACRE,OAAQ,SACRnB,SAAU,YAOZpxoB,EAAQkxoB,iBAAmBA,EAa3BlxoB,EAAQuwoB,gBAXc,WACpB,IAAI2E,EAAgBvE,EAAWzooB,QAAQqooB,mBAAqB,GAC5D,GAAsB,KAAlB2E,EAAsB,MAAO,GACjC,IAAIC,EAAa,CAACjE,EAAiBC,UAAWD,EAAiBG,aAAcH,EAAiBK,QAASL,EAAiBO,MAAOP,EAAiBS,cAAeT,EAAiBW,gBAAiBX,EAAiBa,SAAUb,EAAiBe,SAAUf,EAAiBiB,gBAAiBjB,EAAiBmB,OAAQnB,EAAiBqB,OAAQrB,EAAiBE,UACxVh6lB,EAAW,GAIf,OAHA89lB,EAAcxgoB,MAAM,KAAK5C,SAAQ,SAAU5O,GAC7B,KAARA,IAAwBiyoB,EAAWvklB,SAAS1tD,GAAMk0C,EAASlxC,KAAKhD,GAAUk+C,QAAQC,KAAK,0BAA0B1gD,OAAOuC,EAAK,gGACnI,IACOk0C,CACT,sCC3Ca,IAAIjyC,EAAEnE,EAAQ,OAASsF,EAAEV,OAAOmxiB,IAAI,iBAAiBnvgB,EAAEhiC,OAAOmxiB,IAAI,kBAAkB1wiB,EAAEjF,OAAOU,UAAUL,eAAeY,EAAE8C,EAAE46mB,mDAAmDujB,kBAAkB9hoB,EAAE,CAAC0B,KAAI,EAAGmW,KAAI,EAAG+7nB,QAAO,EAAGC,UAAS,GAChP,SAAShuoB,EAAEjE,EAAE2D,EAAE1B,GAAG,IAAIlE,EAAED,EAAE,CAAC,EAAEyB,EAAE,KAAK4nB,EAAE,KAAiF,IAAIppB,UAAhF,IAASkE,IAAI1C,EAAE,GAAG0C,QAAG,IAAS0B,EAAE7D,MAAMP,EAAE,GAAGoE,EAAE7D,UAAK,IAAS6D,EAAEsS,MAAMkR,EAAExjB,EAAEsS,KAActS,EAAEV,EAAE7D,KAAKuE,EAAE5F,KAAKK,EAAEC,eAAeN,KAAKD,EAAEC,GAAG4F,EAAE5F,IAAI,GAAGiC,GAAGA,EAAEk4B,aAAa,IAAIn6B,KAAK4F,EAAE3D,EAAEk4B,kBAAe,IAASp6B,EAAEC,KAAKD,EAAEC,GAAG4F,EAAE5F,IAAI,MAAM,CAACuplB,SAASpklB,EAAE8S,KAAKhW,EAAEF,IAAIP,EAAE0W,IAAIkR,EAAErX,MAAMhS,EAAEmpH,OAAOhoH,EAAEm+B,QAAQ,CAACxgC,EAAQkrE,SAAStjC,EAAE5nC,EAAQ+qB,IAAI1jB,EAAErH,EAAQs1oB,KAAKjuoB,oCCD7V,IAAIugC,EAAEhiC,OAAOmxiB,IAAI,iBAAiB10iB,EAAEuD,OAAOmxiB,IAAI,gBAAgBv1iB,EAAEoE,OAAOmxiB,IAAI,kBAAkB1viB,EAAEzB,OAAOmxiB,IAAI,qBAAqB1ziB,EAAEuC,OAAOmxiB,IAAI,kBAAkB70iB,EAAE0D,OAAOmxiB,IAAI,kBAAkBjpiB,EAAElI,OAAOmxiB,IAAI,iBAAiBjxiB,EAAEF,OAAOmxiB,IAAI,qBAAqB5xc,EAAEv/F,OAAOmxiB,IAAI,kBAAkBv0hB,EAAE5c,OAAOmxiB,IAAI,cAAc3xiB,EAAEQ,OAAOmxiB,IAAI,cAAct0hB,EAAE7c,OAAOC,SACzW,IAAIyuhB,EAAE,CAACsnG,UAAU,WAAW,OAAM,CAAE,EAAEM,mBAAmB,WAAW,EAAED,oBAAoB,WAAW,EAAEH,gBAAgB,WAAW,GAAGxkkB,EAAEl2D,OAAOa,OAAOoyhB,EAAE,CAAC,EAAE,SAAS3mW,EAAE3mL,EAAE5F,EAAEwB,GAAGf,KAAKsR,MAAMnM,EAAEnF,KAAKkR,QAAQ3R,EAAES,KAAKuzC,KAAKk/e,EAAEzyhB,KAAK06nB,QAAQ35nB,GAAG2xhB,CAAC,CACwI,SAASh1d,IAAI,CAAyB,SAAS+8d,EAAEt1hB,EAAE5F,EAAEwB,GAAGf,KAAKsR,MAAMnM,EAAEnF,KAAKkR,QAAQ3R,EAAES,KAAKuzC,KAAKk/e,EAAEzyhB,KAAK06nB,QAAQ35nB,GAAG2xhB,CAAC,CADxP5mW,EAAE5rL,UAAUgqoB,iBAAiB,CAAC,EACpQp+c,EAAE5rL,UAAUo0E,SAAS,SAASnvE,EAAE5F,GAAG,GAAG,kBAAkB4F,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMwD,MAAM,yHAAyH3I,KAAK06nB,QAAQR,gBAAgBl6nB,KAAKmF,EAAE5F,EAAE,WAAW,EAAEusL,EAAE5rL,UAAUipE,YAAY,SAAShkE,GAAGnF,KAAK06nB,QAAQJ,mBAAmBt6nB,KAAKmF,EAAE,cAAc,EAAgBu4D,EAAEx9D,UAAU4rL,EAAE5rL,UAAsF,IAAI0hE,EAAE64d,EAAEv6hB,UAAU,IAAIw9D,EACrfkE,EAAE3hE,YAAYw6hB,EAAE/ke,EAAEkM,EAAEkqH,EAAE5rL,WAAW0hE,EAAE44jB,sBAAqB,EAAG,IAAIjoG,EAAE5yhB,MAAMkoB,QAAQ6ygB,EAAEl7hB,OAAOU,UAAUL,eAAe06hB,EAAE,CAAC37f,QAAQ,MAAMgtJ,EAAE,CAACtqL,KAAI,EAAGmW,KAAI,EAAG+7nB,QAAO,EAAGC,UAAS,GACtK,SAAS37kB,EAAE3yD,EAAE5F,EAAEwB,GAAG,IAAIzB,EAAEkC,EAAE,CAAC,EAAEkD,EAAE,KAAKikB,EAAE,KAAK,GAAG,MAAMppB,EAAE,IAAID,UAAK,IAASC,EAAEkY,MAAMkR,EAAEppB,EAAEkY,UAAK,IAASlY,EAAE+B,MAAMoD,EAAE,GAAGnF,EAAE+B,KAAK/B,EAAEm7hB,EAAE95hB,KAAKrB,EAAED,KAAKssL,EAAE/rL,eAAeP,KAAKkC,EAAElC,GAAGC,EAAED,IAAI,IAAImE,EAAE/C,UAAUC,OAAO,EAAE,GAAG,IAAI8C,EAAEjC,EAAEgT,SAASzT,OAAO,GAAG,EAAE0C,EAAE,CAAC,IAAI,IAAIF,EAAE5D,MAAM8D,GAAGgB,EAAE,EAAEA,EAAEhB,EAAEgB,IAAIlB,EAAEkB,GAAG/D,UAAU+D,EAAE,GAAGjD,EAAEgT,SAASjR,CAAC,CAAC,GAAG4B,GAAGA,EAAEu0B,aAAa,IAAIp6B,KAAKmE,EAAE0B,EAAEu0B,kBAAe,IAASl4B,EAAElC,KAAKkC,EAAElC,GAAGmE,EAAEnE,IAAI,MAAM,CAACwplB,SAAS9ijB,EAAExuB,KAAKrS,EAAE7D,IAAIoD,EAAE+S,IAAIkR,EAAErX,MAAM9P,EAAEinH,OAAO8xa,EAAE37f,QAAQ,CAChV,SAASu1G,EAAEhvI,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE2jlB,WAAW9ijB,CAAC,CAAoG,IAAIxjC,EAAE,OAAO,SAASqpL,EAAE1mL,EAAE5F,GAAG,MAAM,kBAAkB4F,GAAG,OAAOA,GAAG,MAAMA,EAAE7D,IAA7K,SAAgB6D,GAAG,IAAI5F,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAI4F,EAAEkV,QAAQ,SAAQ,SAASlV,GAAG,OAAO5F,EAAE4F,EAAE,GAAE,CAA+E65D,CAAO,GAAG75D,EAAE7D,KAAK/B,EAAEiQ,SAAS,GAAG,CAC/W,SAAS8ihB,EAAEnthB,EAAE5F,EAAEwB,EAAEzB,EAAEkC,GAAG,IAAIkD,SAASS,EAAK,cAAcT,GAAG,YAAYA,IAAES,EAAE,MAAK,IAAIwjB,GAAE,EAAG,GAAG,OAAOxjB,EAAEwjB,GAAE,OAAQ,OAAOjkB,GAAG,IAAK,SAAS,IAAK,SAASikB,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOxjB,EAAE2jlB,UAAU,KAAK9ijB,EAAE,KAAKvlC,EAAEkoB,GAAE,GAAI,GAAGA,EAAE,OAAWnnB,EAAEA,EAANmnB,EAAExjB,GAASA,EAAE,KAAK7F,EAAE,IAAIusL,EAAEljK,EAAE,GAAGrpB,EAAEizhB,EAAE/whB,IAAIT,EAAE,GAAG,MAAMoE,IAAIpE,EAAEoE,EAAEkV,QAAQ7X,EAAE,OAAO,KAAK8vhB,EAAE9whB,EAAEjC,EAAEwB,EAAE,IAAG,SAASoE,GAAG,OAAOA,CAAC,KAAI,MAAM3D,IAAI2yI,EAAE3yI,KAAKA,EADnW,SAAW2D,EAAE5F,GAAG,MAAM,CAACuplB,SAAS9ijB,EAAExuB,KAAKrS,EAAEqS,KAAKlW,IAAI/B,EAAEkY,IAAItS,EAAEsS,IAAInG,MAAMnM,EAAEmM,MAAMm3G,OAAOtjH,EAAEsjH,OAAO,CACyQ+pa,CAAEhxhB,EAAET,IAAIS,EAAEF,KAAKqnB,GAAGA,EAAErnB,MAAME,EAAEF,IAAI,IAAI,GAAGE,EAAEF,KAAK+Y,QAAQ7X,EAAE,OAAO,KAAK2C,IAAI5F,EAAE+E,KAAK9C,IAAI,EAAyB,GAAvBmnB,EAAE,EAAErpB,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOizhB,EAAEpthB,GAAG,IAAI,IAAI1B,EAAE,EAAEA,EAAE0B,EAAExE,OAAO8C,IAAI,CAC/e,IAAIF,EAAEjE,EAAEusL,EADwennL,EACrfS,EAAE1B,GAAeA,GAAGklB,GAAG2pgB,EAAE5thB,EAAEnF,EAAEwB,EAAEwC,EAAE/B,EAAE,MAAM,GAAG+B,EAPsU,SAAW4B,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAE0b,GAAG1b,EAAE0b,IAAI1b,EAAE,eAA0CA,EAAE,IAAI,CAO5b6pf,CAAE7pf,GAAG,oBAAoB5B,EAAE,IAAI4B,EAAE5B,EAAE3C,KAAKuE,GAAG1B,EAAE,IAAIiB,EAAES,EAAEnC,QAAQG,MAA6BwlB,GAAG2pgB,EAA1B5thB,EAAEA,EAAE5B,MAA0BvD,EAAEwB,EAAtBwC,EAAEjE,EAAEusL,EAAEnnL,EAAEjB,KAAkBjC,QAAQ,GAAG,WAAWkD,EAAE,MAAMnF,EAAE4P,OAAOhK,GAAGwD,MAAM,mDAAmD,oBAAoBpJ,EAAE,qBAAqBC,OAAOgR,KAAKrL,GAAGsK,KAAK,MAAM,IAAIlQ,GAAG,6EAA6E,OAAOopB,CAAC,CACzZ,SAASqjK,EAAE7mL,EAAE5F,EAAEwB,GAAG,GAAG,MAAMoE,EAAE,OAAOA,EAAE,IAAI7F,EAAE,GAAGkC,EAAE,EAAmD,OAAjD8whB,EAAEnthB,EAAE7F,EAAE,GAAG,IAAG,SAAS6F,GAAG,OAAO5F,EAAEqB,KAAKG,EAAEoE,EAAE3D,IAAI,IAAUlC,CAAC,CAAC,SAASiiE,EAAEp8D,GAAG,IAAI,IAAIA,EAAEwuoB,QAAQ,CAAC,IAAIp0oB,EAAE4F,EAAEyuoB,SAAQr0oB,EAAEA,KAAM6D,MAAK,SAAS7D,GAAM,IAAI4F,EAAEwuoB,UAAU,IAAIxuoB,EAAEwuoB,UAAQxuoB,EAAEwuoB,QAAQ,EAAExuoB,EAAEyuoB,QAAQr0oB,EAAC,IAAE,SAASA,GAAM,IAAI4F,EAAEwuoB,UAAU,IAAIxuoB,EAAEwuoB,UAAQxuoB,EAAEwuoB,QAAQ,EAAExuoB,EAAEyuoB,QAAQr0oB,EAAC,KAAI,IAAI4F,EAAEwuoB,UAAUxuoB,EAAEwuoB,QAAQ,EAAExuoB,EAAEyuoB,QAAQr0oB,EAAE,CAAC,GAAG,IAAI4F,EAAEwuoB,QAAQ,OAAOxuoB,EAAEyuoB,QAAQttoB,QAAQ,MAAMnB,EAAEyuoB,OAAQ,CAC5Z,IAAIv5G,EAAE,CAACz7f,QAAQ,MAAM07f,EAAE,CAACh/f,WAAW,MAAMioC,EAAE,CAACi5jB,uBAAuBniG,EAAE2uF,wBAAwB1uF,EAAEonG,kBAAkBnnG,GAAGn8hB,EAAQ4rE,SAAS,CAACnrE,IAAImtL,EAAE97K,QAAQ,SAAS/K,EAAE5F,EAAEwB,GAAGirL,EAAE7mL,GAAE,WAAW5F,EAAEsB,MAAMb,KAAKU,UAAU,GAAEK,EAAE,EAAE4d,MAAM,SAASxZ,GAAG,IAAI5F,EAAE,EAAuB,OAArBysL,EAAE7mL,GAAE,WAAW5F,GAAG,IAAUA,CAAC,EAAEqqH,QAAQ,SAASzkH,GAAG,OAAO6mL,EAAE7mL,GAAE,SAASA,GAAG,OAAOA,CAAC,KAAI,EAAE,EAAE0iC,KAAK,SAAS1iC,GAAG,IAAIgvI,EAAEhvI,GAAG,MAAMwD,MAAM,yEAAyE,OAAOxD,CAAC,GAAG/G,EAAQmT,UAAUu6K,EAAE1tL,EAAQkrE,SAAS1pE,EACnexB,EAAQkrlB,SAAS7nlB,EAAErD,EAAQqrE,cAAcgxd,EAAEr8hB,EAAQmrlB,WAAW9jlB,EAAErH,EAAQorlB,SAASjmf,EAAEnlG,EAAQ+/mB,mDAAmD56iB,EAC9InlE,EAAQ+rE,aAAa,SAAShlE,EAAE5F,EAAEwB,GAAG,GAAG,OAAOoE,QAAG,IAASA,EAAE,MAAMwD,MAAM,iFAAiFxD,EAAE,KAAK,IAAI7F,EAAEo2D,EAAE,CAAC,EAAEvwD,EAAEmM,OAAO9P,EAAE2D,EAAE7D,IAAIoD,EAAES,EAAEsS,IAAIkR,EAAExjB,EAAEsjH,OAAO,GAAG,MAAMlpH,EAAE,CAAoE,QAAnE,IAASA,EAAEkY,MAAM/S,EAAEnF,EAAEkY,IAAIkR,EAAE4xgB,EAAE37f,cAAS,IAASr/B,EAAE+B,MAAME,EAAE,GAAGjC,EAAE+B,KAAQ6D,EAAEqS,MAAMrS,EAAEqS,KAAKkiB,aAAa,IAAIj2B,EAAE0B,EAAEqS,KAAKkiB,aAAa,IAAIn2B,KAAKhE,EAAEm7hB,EAAE95hB,KAAKrB,EAAEgE,KAAKqoL,EAAE/rL,eAAe0D,KAAKjE,EAAEiE,QAAG,IAAShE,EAAEgE,SAAI,IAASE,EAAEA,EAAEF,GAAGhE,EAAEgE,GAAG,CAAC,IAAIA,EAAE7C,UAAUC,OAAO,EAAE,GAAG,IAAI4C,EAAEjE,EAAEkV,SAASzT,OAAO,GAAG,EAAEwC,EAAE,CAACE,EAAE9D,MAAM4D,GACrf,IAAI,IAAIkB,EAAE,EAAEA,EAAElB,EAAEkB,IAAIhB,EAAEgB,GAAG/D,UAAU+D,EAAE,GAAGnF,EAAEkV,SAAS/Q,CAAC,CAAC,MAAM,CAACqllB,SAAS9ijB,EAAExuB,KAAKrS,EAAEqS,KAAKlW,IAAIE,EAAEiW,IAAI/S,EAAE4M,MAAMhS,EAAEmpH,OAAO9/F,EAAE,EAAEvqB,EAAQ+V,cAAc,SAAShP,GAAqK,OAAlKA,EAAE,CAAC2jlB,SAAS58kB,EAAE+rnB,cAAc9ynB,EAAE0uoB,eAAe1uoB,EAAE2uoB,aAAa,EAAEx/nB,SAAS,KAAKy/nB,SAAS,KAAKC,cAAc,KAAKC,YAAY,OAAQ3/nB,SAAS,CAACw0kB,SAASxolB,EAAEyR,SAAS5M,GAAUA,EAAE4uoB,SAAS5uoB,CAAC,EAAE/G,EAAQsX,cAAcoiD,EAAE15D,EAAQ81oB,cAAc,SAAS/uoB,GAAG,IAAI5F,EAAEu4D,EAAEt0B,KAAK,KAAKr+B,GAAY,OAAT5F,EAAEiY,KAAKrS,EAAS5F,CAAC,EAAEnB,EAAQw1E,UAAU,WAAW,MAAM,CAACh1C,QAAQ,KAAK,EAC9dxgC,EAAQqlB,WAAW,SAASte,GAAG,MAAM,CAAC2jlB,SAAS5klB,EAAE4U,OAAO3T,EAAE,EAAE/G,EAAQ+1oB,eAAehggB,EAAE/1I,EAAQg2oB,KAAK,SAASjvoB,GAAG,MAAM,CAAC2jlB,SAAStllB,EAAEk8mB,SAAS,CAACi0B,SAAS,EAAEC,QAAQzuoB,GAAGk2G,MAAM95C,EAAE,EAAEnjE,EAAQi2oB,KAAK,SAASlvoB,EAAE5F,GAAG,MAAM,CAACuplB,SAASlokB,EAAEpJ,KAAKrS,EAAEipD,aAAQ,IAAS7uD,EAAE,KAAKA,EAAE,EAAEnB,EAAQk2oB,gBAAgB,SAASnvoB,GAAG,IAAI5F,EAAE+6hB,EAAEh/f,WAAWg/f,EAAEh/f,WAAW,CAAC,EAAE,IAAIn2B,GAAG,CAAC,QAAQm1hB,EAAEh/f,WAAW/7B,CAAC,CAAC,EAAEnB,EAAQm2oB,aAAa,WAAW,MAAM5roB,MAAM,2DAA4D,EAC1cvK,EAAQqhoB,YAAY,SAASt6nB,EAAE5F,GAAG,OAAO86hB,EAAEz7f,QAAQ6gmB,YAAYt6nB,EAAE5F,EAAE,EAAEnB,EAAQslB,WAAW,SAASve,GAAG,OAAOk1hB,EAAEz7f,QAAQlb,WAAWve,EAAE,EAAE/G,EAAQ6hoB,cAAc,WAAW,EAAE7hoB,EAAQ8hoB,iBAAiB,SAAS/6nB,GAAG,OAAOk1hB,EAAEz7f,QAAQshmB,iBAAiB/6nB,EAAE,EAAE/G,EAAQshoB,UAAU,SAASv6nB,EAAE5F,GAAG,OAAO86hB,EAAEz7f,QAAQ8gmB,UAAUv6nB,EAAE5F,EAAE,EAAEnB,EAAQkioB,MAAM,WAAW,OAAOjmG,EAAEz7f,QAAQ0hmB,OAAO,EAAElioB,EAAQuhoB,oBAAoB,SAASx6nB,EAAE5F,EAAEwB,GAAG,OAAOs5hB,EAAEz7f,QAAQ+gmB,oBAAoBx6nB,EAAE5F,EAAEwB,EAAE,EAC7b3C,EAAQyqB,mBAAmB,SAAS1jB,EAAE5F,GAAG,OAAO86hB,EAAEz7f,QAAQ/V,mBAAmB1jB,EAAE5F,EAAE,EAAEnB,EAAQwhoB,gBAAgB,SAASz6nB,EAAE5F,GAAG,OAAO86hB,EAAEz7f,QAAQghmB,gBAAgBz6nB,EAAE5F,EAAE,EAAEnB,EAAQyhoB,QAAQ,SAAS16nB,EAAE5F,GAAG,OAAO86hB,EAAEz7f,QAAQihmB,QAAQ16nB,EAAE5F,EAAE,EAAEnB,EAAQ0hoB,WAAW,SAAS36nB,EAAE5F,EAAEwB,GAAG,OAAOs5hB,EAAEz7f,QAAQkhmB,WAAW36nB,EAAE5F,EAAEwB,EAAE,EAAE3C,EAAQ2hoB,OAAO,SAAS56nB,GAAG,OAAOk1hB,EAAEz7f,QAAQmhmB,OAAO56nB,EAAE,EAAE/G,EAAQ4hoB,SAAS,SAAS76nB,GAAG,OAAOk1hB,EAAEz7f,QAAQohmB,SAAS76nB,EAAE,EAAE/G,EAAQiioB,qBAAqB,SAASl7nB,EAAE5F,EAAEwB,GAAG,OAAOs5hB,EAAEz7f,QAAQyhmB,qBAAqBl7nB,EAAE5F,EAAEwB,EAAE,EAC/e3C,EAAQ+hoB,cAAc,WAAW,OAAO9lG,EAAEz7f,QAAQuhmB,eAAe,EAAE/hoB,EAAQghD,QAAQ,6CCtBjF5L,EAAOp1C,QAAU,EAAjBo1C,2CCAAA,EAAOp1C,QAAU,EAAjBo1C,yCCMW,SAASjwC,EAAE4B,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAExE,OAAOwE,EAAEb,KAAK/E,GAAG4F,EAAE,KAAK,EAAE3D,GAAG,CAAC,IAAIlC,EAAEkC,EAAE,IAAI,EAAET,EAAEoE,EAAE7F,GAAG,KAAG,EAAEmE,EAAE1C,EAAExB,IAA0B,MAAM4F,EAA7BA,EAAE7F,GAAGC,EAAE4F,EAAE3D,GAAGT,EAAES,EAAElC,CAAc,CAAC,CAAC,SAASqpB,EAAExjB,GAAG,OAAO,IAAIA,EAAExE,OAAO,KAAKwE,EAAE,EAAE,CAAC,SAAST,EAAES,GAAG,GAAG,IAAIA,EAAExE,OAAO,OAAO,KAAK,IAAIpB,EAAE4F,EAAE,GAAG3D,EAAE2D,EAAEd,MAAM,GAAG7C,IAAIjC,EAAE,CAAC4F,EAAE,GAAG3D,EAAE2D,EAAE,IAAI,IAAI7F,EAAE,EAAEyB,EAAEoE,EAAExE,OAAO4iG,EAAExiG,IAAI,EAAEzB,EAAEikG,GAAG,CAAC,IAAI9+F,EAAE,GAAGnF,EAAE,GAAG,EAAEo2D,EAAEvwD,EAAEV,GAAGhE,EAAEgE,EAAE,EAAEmc,EAAEzb,EAAE1E,GAAG,GAAG,EAAEgD,EAAEiyD,EAAEl0D,GAAGf,EAAEM,GAAG,EAAE0C,EAAEmd,EAAE80C,IAAIvwD,EAAE7F,GAAGshB,EAAEzb,EAAE1E,GAAGe,EAAElC,EAAEmB,IAAI0E,EAAE7F,GAAGo2D,EAAEvwD,EAAEV,GAAGjD,EAAElC,EAAEmF,OAAQ,MAAGhE,EAAEM,GAAG,EAAE0C,EAAEmd,EAAEpf,IAA0B,MAAM2D,EAA7BA,EAAE7F,GAAGshB,EAAEzb,EAAE1E,GAAGe,EAAElC,EAAEmB,CAAc,EAAC,CAAC,OAAOlB,CAAC,CAC3c,SAASkE,EAAE0B,EAAE5F,GAAG,IAAIiC,EAAE2D,EAAEuoO,UAAUnuO,EAAEmuO,UAAU,OAAO,IAAIlsO,EAAEA,EAAE2D,EAAEkP,GAAG9U,EAAE8U,EAAE,CAAC,GAAG,kBAAkBmgoB,aAAa,oBAAoBA,YAAYx2lB,IAAI,CAAC,IAAIhY,EAAEwumB,YAAYp2oB,EAAQ4mnB,aAAa,WAAW,OAAOh/kB,EAAEgY,KAAK,CAAC,KAAK,CAAC,IAAIp+C,EAAEk+C,KAAKr4C,EAAE7F,EAAEo+C,MAAM5/C,EAAQ4mnB,aAAa,WAAW,OAAOplnB,EAAEo+C,MAAMv4C,CAAC,CAAC,CAAC,IAAIhE,EAAE,GAAGnB,EAAE,GAAG4L,EAAE,EAAEhI,EAAE,KAAKV,EAAE,EAAEqd,GAAE,EAAGmue,GAAE,EAAG0jC,GAAE,EAAGD,EAAE,oBAAoBj5gB,WAAWA,WAAW,KAAKsyK,EAAE,oBAAoBvuJ,aAAaA,aAAa,KAAKmgC,EAAE,qBAAqBojd,aAAaA,aAAa,KACnT,SAAS2Z,EAAEt1hB,GAAG,IAAI,IAAI5F,EAAEopB,EAAEroB,GAAG,OAAOf,GAAG,CAAC,GAAG,OAAOA,EAAE4Q,SAASzL,EAAEpE,OAAQ,MAAGf,EAAEm8F,WAAWv2F,GAAgD,MAA9CT,EAAEpE,GAAGf,EAAEmuO,UAAUnuO,EAAEk1oB,eAAelxoB,EAAE9B,EAAElC,EAAa,CAACA,EAAEopB,EAAEroB,EAAE,CAAC,CAAC,SAASshE,EAAEz8D,GAAa,GAAVuthB,GAAE,EAAG+H,EAAEt1hB,IAAO6pf,EAAE,GAAG,OAAOrme,EAAElnB,GAAGutf,GAAE,EAAGujC,EAAEmI,OAAO,CAAC,IAAIn7hB,EAAEopB,EAAEroB,GAAG,OAAOf,GAAGg7hB,EAAE34d,EAAEriE,EAAEm8F,UAAUv2F,EAAE,CAAC,CACra,SAASu1hB,EAAEv1hB,EAAE5F,GAAGyvf,GAAE,EAAG0jC,IAAIA,GAAE,EAAG5mW,EAAEF,GAAGA,GAAG,GAAG/qK,GAAE,EAAG,IAAIrf,EAAEgC,EAAE,IAAS,IAALi3hB,EAAEl7hB,GAAO2E,EAAEykB,EAAElnB,GAAG,OAAOyC,MAAMA,EAAEuwoB,eAAel1oB,IAAI4F,IAAI2yD,MAAM,CAAC,IAAIx4D,EAAE4E,EAAEiM,SAAS,GAAG,oBAAoB7Q,EAAE,CAAC4E,EAAEiM,SAAS,KAAK3M,EAAEU,EAAEwwoB,cAAc,IAAI3zoB,EAAEzB,EAAE4E,EAAEuwoB,gBAAgBl1oB,GAAGA,EAAEnB,EAAQ4mnB,eAAe,oBAAoBjknB,EAAEmD,EAAEiM,SAASpP,EAAEmD,IAAIykB,EAAElnB,IAAIiD,EAAEjD,GAAGg5hB,EAAEl7hB,EAAE,MAAMmF,EAAEjD,GAAGyC,EAAEykB,EAAElnB,EAAE,CAAC,GAAG,OAAOyC,EAAE,IAAIq/F,GAAE,MAAO,CAAC,IAAI9+F,EAAEkkB,EAAEroB,GAAG,OAAOmE,GAAG81hB,EAAE34d,EAAEn9D,EAAEi3F,UAAUn8F,GAAGgkG,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQr/F,EAAE,KAAKV,EAAEhC,EAAEqf,GAAE,CAAE,CAAC,CAD1a,qBAAqBu9B,gBAAW,IAASA,UAAUu2lB,iBAAY,IAASv2lB,UAAUu2lB,WAAWC,gBAAgBx2lB,UAAUu2lB,WAAWC,eAAepxmB,KAAK4a,UAAUu2lB,YAC2Q,IACzP3od,EAD6PwmW,GAAE,EAAGr+Y,EAAE,KAAKy3C,GAAG,EAAEppL,EAAE,EAAEqpL,GAAG,EACvc,SAAS/zH,IAAI,QAAO15D,EAAQ4mnB,eAAen5b,EAAErpL,EAAO,CAAC,SAAS8vhB,IAAI,GAAG,OAAOn+Y,EAAE,CAAC,IAAIhvI,EAAE/G,EAAQ4mnB,eAAen5b,EAAE1mL,EAAE,IAAI5F,GAAE,EAAG,IAAIA,EAAE40I,GAAE,EAAGhvI,EAAE,CAAC,QAAQ5F,EAAEysL,KAAKwmW,GAAE,EAAGr+Y,EAAE,KAAK,CAAC,MAAMq+Y,GAAE,CAAE,CAAO,GAAG,oBAAoB90d,EAAEsuH,EAAE,WAAWtuH,EAAE40d,EAAE,OAAO,GAAG,qBAAqBkrB,eAAe,CAAC,IAAIj8e,EAAE,IAAIi8e,eAAenjB,EAAE94d,EAAEo8e,MAAMp8e,EAAEq8e,MAAMC,UAAUvrB,EAAEtmW,EAAE,WAAWquW,EAAEqjB,YAAY,KAAK,CAAC,MAAM1xX,EAAE,WAAWymW,EAAEH,EAAE,EAAE,EAAE,SAASC,EAAEpthB,GAAGgvI,EAAEhvI,EAAEqthB,IAAIA,GAAE,EAAGxmW,IAAI,CAAC,SAASuuW,EAAEp1hB,EAAE5F,GAAGqsL,EAAE6mW,GAAE,WAAWtthB,EAAE/G,EAAQ4mnB,eAAe,GAAEzlnB,EAAE,CAC5dnB,EAAQunnB,sBAAsB,EAAEvnnB,EAAQ+mnB,2BAA2B,EAAE/mnB,EAAQqnnB,qBAAqB,EAAErnnB,EAAQmnnB,wBAAwB,EAAEnnnB,EAAQy2oB,mBAAmB,KAAKz2oB,EAAQinnB,8BAA8B,EAAEjnnB,EAAQumnB,wBAAwB,SAASx/mB,GAAGA,EAAEgL,SAAS,IAAI,EAAE/R,EAAQ02oB,2BAA2B,WAAW9lJ,GAAGnue,IAAImue,GAAE,EAAGujC,EAAEmI,GAAG,EAC1Ut8hB,EAAQ22oB,wBAAwB,SAAS5voB,GAAG,EAAEA,GAAG,IAAIA,EAAEq6C,QAAQz6C,MAAM,mHAAmHvC,EAAE,EAAE2C,EAAEmG,KAAKC,MAAM,IAAIpG,GAAG,CAAC,EAAE/G,EAAQ6mnB,iCAAiC,WAAW,OAAOzhnB,CAAC,EAAEpF,EAAQ42oB,8BAA8B,WAAW,OAAOrsnB,EAAElnB,EAAE,EAAErD,EAAQ62oB,cAAc,SAAS9voB,GAAG,OAAO3B,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIjE,EAAE,EAAE,MAAM,QAAQA,EAAEiE,EAAE,IAAIhC,EAAEgC,EAAEA,EAAEjE,EAAE,IAAI,OAAO4F,GAAG,CAAC,QAAQ3B,EAAEhC,CAAC,CAAC,EAAEpD,EAAQ82oB,wBAAwB,WAAW,EAC9f92oB,EAAQ2mnB,sBAAsB,WAAW,EAAE3mnB,EAAQ+2oB,yBAAyB,SAAShwoB,EAAE5F,GAAG,OAAO4F,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAI3D,EAAEgC,EAAEA,EAAE2B,EAAE,IAAI,OAAO5F,GAAG,CAAC,QAAQiE,EAAEhC,CAAC,CAAC,EAChMpD,EAAQqmnB,0BAA0B,SAASt/mB,EAAE5F,EAAEiC,GAAG,IAAIlC,EAAElB,EAAQ4mnB,eAA8F,OAA/E,kBAAkBxjnB,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAE2xB,QAA6B,EAAE3xB,EAAElC,EAAEkC,EAAElC,EAAGkC,EAAElC,EAAS6F,GAAG,KAAK,EAAE,IAAIpE,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMoE,EAAE,CAACkP,GAAGnI,IAAIiE,SAAS5Q,EAAEm1oB,cAAcvvoB,EAAEu2F,UAAUl6F,EAAEizoB,eAAvD1zoB,EAAES,EAAET,EAAoE2sO,WAAW,GAAGlsO,EAAElC,GAAG6F,EAAEuoO,UAAUlsO,EAAE+B,EAAEjD,EAAE6E,GAAG,OAAOwjB,EAAElnB,IAAI0D,IAAIwjB,EAAEroB,KAAKoyhB,GAAG5mW,EAAEF,GAAGA,GAAG,GAAG8mW,GAAE,EAAG6H,EAAE34d,EAAEpgE,EAAElC,MAAM6F,EAAEuoO,UAAU3sO,EAAEwC,EAAE9B,EAAE0D,GAAG6pf,GAAGnue,IAAImue,GAAE,EAAGujC,EAAEmI,KAAYv1hB,CAAC,EACne/G,EAAQymnB,qBAAqB/sjB,EAAE15D,EAAQg3oB,sBAAsB,SAASjwoB,GAAG,IAAI5F,EAAEiE,EAAE,OAAO,WAAW,IAAIhC,EAAEgC,EAAEA,EAAEjE,EAAE,IAAI,OAAO4F,EAAEtE,MAAMb,KAAKU,UAAU,CAAC,QAAQ8C,EAAEhC,CAAC,CAAC,CAAC,sCCf7JgyC,EAAOp1C,QAAU,EAAjBo1C,8BCUF,IAAI9vC,EAAItE,EAAQ,OAyEhBo0C,EAAOp1C,QA/DP,SAASi3oB,EAAWrkmB,EAASw+C,EAAWtyD,GACtC,GAAe,MAAX8T,EACF,MAAO,CAAC,EAEV,IAAI6hB,EAAKyilB,EAAat3nB,EAAMjX,EAAMiU,EAASsW,EACzCjwB,EAAS2vC,EAAQ,IAAM,CAAC,EACxBxwC,EAAI,EACJG,EAASqwC,EAAQrwC,OASnB,IAPAu8B,EAAOA,GAAQ,GAGQ,kBAAX77B,IACVA,EAAS,CAAC,GAGJb,EAAIG,EAAQH,IAElB,GAAiC,OAA3Bwa,EAAUg2B,EAASxwC,IAEvB,IAAKuG,KAAQiU,EACX,GAAKA,EAAQnb,eAAekH,IAEf,cAATA,IAGJ8rD,EAAMxxD,EAAO0F,GAIT1F,KAHJ2c,EAAOhD,EAAQjU,KAQf,GAAKiX,IAAUta,EAAEyuC,cAAcn0B,KAAUs3nB,EAAc5xoB,EAAEmkB,QAAQ7J,KAAW,CACrEs3nB,GACHA,GAAc,EACdhknB,EAAQuhC,GAAOnvD,EAAEmkB,QAAQgrC,GAAOA,EAAM,IAEtCvhC,EAAQuhC,GAAOnvD,EAAEyuC,cAAc0gB,GAAOA,EAAM,CAAC,EAG/C,IAAI0ilB,EAAWr4mB,EAAK/f,MAAM,GAC1Bo4nB,EAASjxoB,KAAKyC,GAGd1F,EAAQ0F,GAASsuoB,EAAY,CAAC/jnB,EAAOtT,GAAOwxE,EAAW+ljB,EAGzD,WAAqBh3oB,IAATyf,IACC,MAAP60C,GAAmC,mBAAb28B,GACxBA,EAAU,CAACnuF,OAAQA,EAAQ2c,KAAMhD,EAASkiB,KAAMA,EAAM57B,IAAKyF,IAE7D1F,EAAQ0F,GAASiX,GAMzB,OAAO3c,CACT,8CCvEMm0oB,EAAap2oB,EAAQ,OASrB8Q,EAAU,SAASyX,EAAKpkB,GAC5B/D,OAAOgR,KAAKmX,GAAO,CAAC,GAAGzX,SAAQ,SAAC5O,GAC9B,IAAIwB,EAAQ6kB,EAAIrmB,GAChBiC,EAAET,EAAOxB,EACX,GACF,EAOMm0oB,EAAY,SAAZA,EAAqB9tnB,GACzB,OAAW,OAARA,QAAwBppB,IAARopB,GAAoC,kBAARA,EACtCA,EAGNA,aAAehoB,MACTgoB,EAAIjN,QAAO,SAACukC,EAAK7lC,EAAM5Y,GAE5B,OADAy+C,EAAIz+C,GAAKi1oB,EAAUr8nB,GACZ6lC,CACT,GAAG,IAGFt3B,aAAenoB,OACTA,OAAOgR,KAAKmX,GAAO,CAAC,GAAGjN,QAAO,SAACg7nB,EAAOp0oB,GAE3C,OADAo0oB,EAAMp0oB,GAAOm0oB,EAAU9tnB,EAAIrmB,IACpBo0oB,CACT,GAAG,CAAC,QAJN,CAMF,EAEMj5lB,EAAW,SAAS35C,GACxB,IAAM0U,SAAc1U,EACpB,OAAgB,MAATA,IAA2B,WAAT0U,GAA8B,aAATA,EAChD,EA4BA,IAoD6Cm+nB,EAAcC,EAlBrDC,EAAU,SAAVA,EAAmBC,EAAUC,GACjC,OAAIt5lB,EAASs5lB,GACJv2oB,OAAOgR,KAAKuloB,GAAS/2oB,OAAM,SAACsC,GAAG,OAAKu0oB,EAAQC,EAASx0oB,GAAMy0oB,EAAQz0oB,GAAK,IAGxEw0oB,GAAYC,CAEvB,EAQMC,EAAkB,CACtB9tmB,UAAWstmB,EAAW3hlB,yBAMxBrgB,EAAOp1C,QAAU,CACfuzF,KAAMzhF,EACNA,QAASA,EACT+loB,MAAO/loB,EACPM,KAAMhR,OAAOgR,KACb8gB,MApHY,SAAS4f,GACrB,OAAO1xC,OAAOa,OAAO,IAAI6wC,EAAOjxC,YAAeixC,EACjD,EAmHEukmB,UAAWA,EACX79lB,OAAQp4C,OAAOa,OACfw8C,SA1Fe,SAASl1B,GACxB,MAAsB,kBAARA,GAAoBA,aAAexY,MACnD,EAyFE0Y,QAvFc,SAASF,GACvB,OAAOhoB,MAAMkoB,QAAQF,EACvB,EAsFE80B,SAAUA,EACVtK,cAjFF,SAAuBrvC,GACrB,GAAqB,kBAAVA,GAAgC,OAAVA,GAA4D,oBAA1CtD,OAAOU,UAAUsP,SAAS5O,KAAKkC,GAChF,OAAO,EAET,GAAqC,OAAjCtD,OAAOogD,eAAe98C,GACxB,OAAO,EAGT,IADA,IAAIs0I,EAAQt0I,EAC4B,OAAjCtD,OAAOogD,eAAew3F,IAC3BA,EAAQ53I,OAAOogD,eAAew3F,GAEhC,OAAO53I,OAAOogD,eAAe98C,KAAWs0I,CAC1C,EAsEE/hH,QAtFc,SAAS1N,GACvB,MAAO,CAACnoB,OAAQG,OAAOqvD,UAAUrnC,GAAO,CAAC,GAAG1nB,eAAiBT,OAAOib,QAASkN,GAAO,CAAC,GAAIhnB,MAC3F,EAqFEqS,OArEa,SAAUisC,EAAKjsC,GAC5B,GAAuB,oBAAZA,EACT,KAAM,2BAER,MAAmB,qBAARisC,EACF,GAEFA,EAAIjsC,OAAOA,EACpB,EA8DE0H,OA5Ia,SAASiN,EAAKpkB,EAAG2yoB,GAC9B,OAAO12oB,OAAOgR,KAAKmX,GAAO,CAAC,GAAGjN,QAAO,SAACqjI,EAAaz8I,GACjD,IAAIwB,EAAQ6kB,EAAIrmB,GAChB,OAAOiC,EAAEw6I,EAAaj7I,EAAOxB,EAAKqmB,EACpC,GAAGuunB,EACL,EAwIE71oB,OA7Da,WACb,IAAIioB,EAAO3oB,MAAMO,UAAUid,MAAMvc,KAAKF,WAEtC,OADA4nB,EAAKqxB,QAAQ,CAAC,GACPn6C,OAAOa,OAAMQ,MAAbrB,OAAM05B,EAAW5Q,GAC1B,EA0DE8/G,WA1CiB,SAAUhuH,GAC3B,OAAOA,EAAMA,EAAI,GAAGw3B,cAAgBx3B,EAAI4C,OAAO,GAAK,EACtD,EAyCE82C,WArB2C6hlB,EAqBLH,EAAW1hlB,UApB1C,SAACqilB,EAAcn7nB,GAAO,OAAK26nB,EAAaQ,EAAc32oB,OAAOa,OAAO,CAAC,EAAG21oB,EAAiBJ,EAAiB56nB,GAAS,GAqB1H05C,UAAW8glB,EAAW9glB,UACtBv6C,UAAWq7nB,EAAWlhlB,UACtB8hlB,KA3DW,SAAUn3lB,GAAmB,QAAArqB,EAAAl0B,UAAAC,OAAX01oB,EAAU,IAAA12oB,MAAAi1B,EAAA,EAAAA,EAAA,KAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAAVuunB,EAAUvunB,EAAA,GAAApnB,UAAAonB,GAEvC,IADA,IAAIwunB,EAAY,IAAI18nB,IAAIy8nB,GACf71oB,EAAEy+C,EAAIt+C,OAAO,EAAEH,GAAG,EAAEA,IACrB81oB,EAAU3voB,IAAIs4C,EAAIz+C,KACpBy+C,EAAI3rC,OAAO9S,EAAG,EAGtB,EAqDEugC,QAlCc,SAAUw1mB,GACxB,IAAIC,EAAWf,EAAUc,GAEzB,OADgB,SAACT,GAAQ,OAAKD,EAAQC,EAAUU,EAAS,CAE3D,EA+BE1jhB,OApDa,SAAU7zE,GACvB,OAAA/lB,EAAW,IAAItf,IAAIqlC,GACrB,yBCpGA,IAAIv7C,EAAItE,EAAQ,OA6BhBo0C,EAAOp1C,QAlBP,SAASq4oB,EAAkB/8nB,EAAYg9nB,GAGrC,IAAI,IAAI3voB,KAFR2voB,EAASA,GAAU,GAEHh9nB,EACVA,EAAW7Z,eAAekH,KAExBrD,EAAEyuC,cAAcz4B,EAAW3S,KAAW,UAAW2S,EAAW3S,GAC9D2voB,EAAOpyoB,KAAMoV,EAAW3S,IACfrD,EAAEyuC,cAAcz4B,EAAW3S,KACpC0voB,EAAkB/8nB,EAAW3S,GAAO2voB,IAK1C,OAAOA,CACT,yBC1BA,IAAM1imB,EAAW50C,EAAQ,OAgBzBo0C,EAAOp1C,QAdP,WAAyC,IAAXmhD,EAAI7+C,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC9Bsa,EAAUxb,OAAOa,OAAO,CAAC,EAAG2zC,EAAUuL,GAE5C,OAAO,IAAIla,OACT,KACArqB,EAAQ27nB,kBACR,MACA37nB,EAAQ47nB,kBAHR,QAMA57nB,EAAQ47nB,kBAAmB,IAE/B,qBCRApjmB,EAAOp1C,QANU,CACfu4oB,kBAAmB,IACnBC,kBAAmB,IACnBvhhB,UAAW,4BCHb,IAAMwhhB,EAAcz3oB,EAAQ,OAqC5Bo0C,EAAOp1C,QA5BP,SAAS04oB,EAAch0oB,GAA4B,IAArBi0oB,EAAcr2oB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACxCyzL,EAAQ4id,aAA0B1xmB,OAAS0xmB,EAAiBF,EAAYE,GAE9E,GAAqB,kBAAVj0oB,EACT,OAAOqxL,EAAMxyJ,KAAK7+B,GAGpB,GAAqB,kBAAVA,EAAoB,CAC7B,IAAIk0oB,GAAe,EAInB,IAAK,IAAM11oB,KAAOwB,EAAO,CACvB,GAAIA,EAAMjD,eAAeyB,GAGvB,GADgBw1oB,EADAh0oB,EAAMxB,GACiBy1oB,GACxB,CACbC,GAAe,EACf,KACF,CAEJ,CACA,OAAOA,CACT,CAEA,OAAO,CACT,+LChCA,IAAI33oB,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOC,OAAOU,UAAUL,eAAee,KAAKrB,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EAC7FP,EAAcC,EAAGC,EAC5B,EAEO,SAASO,EAAUR,EAAGC,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAI6E,UAAU,uBAAyB+K,OAAO5P,GAAK,iCAE7D,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,CAEO,IAAIK,EAAW,WAQlB,OAPAA,EAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,EAASS,MAAMb,KAAMU,UAChC,EAEO,SAASI,EAAOP,EAAGQ,GACtB,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CAiBO,SAAS+B,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,GAAK6B,EAAO7B,EAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,GAAK6B,EAAO7B,EAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,EAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOX,IAAMA,EAAI,EAAGU,EAAG,KAAOT,EAAI,IAAKA,OACnC,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,GAAKoD,EAAK,CAAC,EAAGpD,GAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAE6B1E,OAAOW,OA4B7B,SAAS0E,EAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CA+DyBtF,OAAOW,2CCrNjB,WAASY,EAAKN,GAAA,OAC5BA,EAAUA,GAAW,CAAC,EACf,IAAIiC,SAAA,SAAUpC,EAASmB,GAAA,IACvBlB,EAAU,IAAIs0C,eACdrwC,EAAO,GACP0H,EAAM,GACN1L,EAAU,CAAC,EAEX2E,EAAA,SAAAA,IAAA,OACL+wU,GAA8B,IAAzB31U,EAAQm1C,OAAO,IAAI,GACxBC,WAAYp1C,EAAQo1C,WACpBD,OAAQn1C,EAAQm1C,OAChB9V,IAAKr/B,EAAQ01C,YACb5+B,KAAA,kBAAY3U,QAAQC,QAAQpC,EAAQk1C,aAAA,EACpCi3G,KAAA,kBAAYhqJ,QAAQC,QAAQpC,EAAQk1C,cAAcryC,KAAKmrB,KAAK7O,MAAA,EAC5D4/iB,KAAA,kBAAY58jB,QAAQC,QAAQ,IAAI48jB,KAAK,CAACh/jB,EAAQi1C,WAAA,EAC9ClkB,MAAOnsB,EACPkvC,QAAS,CACR7jC,KAAA,kBAAYhM,CAAA,EACZiW,QAAA,kBAAevO,CAAA,EACftF,IAAA,SAAK7F,GAAA,OAAKP,EAAQO,EAAEuZ,cAAA,EACpB3T,IAAA,SAAK5F,GAAA,OAAKA,EAAEuZ,gBAAiB9Z,CAAA,SAmB1B,IAAMwlC,KAfXzlC,EAAQs1C,KAAKp1C,EAAQxB,QAAU,MAAO8B,GAAA,GAEtCR,EAAQigkB,OAAA,WACPjgkB,EAAQg1C,wBAAwBl7B,QAAQ,gCAAgC,SAACtZ,EAAGN,EAAKH,GAChFkE,EAAKF,KAAK7D,EAAMA,EAAI6Z,eACpBpO,EAAI5H,KAAK,CAAC7D,EAAKH,IACfE,EAAQC,GAAOD,EAAQC,GAAUD,EAAQC,GAAA,IAAQH,EAAUA,CAAA,IAE5DA,EAAQ6E,IAAA,EAGT5E,EAAQqI,QAAUnH,EAElBlB,EAAQk2C,gBAAuC,WAArBh2C,EAAQw2oB,YAElBx2oB,EAAQ4zC,QACvB9zC,EAAQs2C,iBAAiB7Q,EAAGvlC,EAAQ4zC,QAAQrO,IAG7CzlC,EAAQ+2C,KAAK72C,EAAQ6C,MAAQ,6EC5C/B,iBACE,SAASua,GAGsCzf,GAC9CA,EAAQsY,SACoC88B,GAC5CA,EAAO98B,SAHT,IAIIuvlB,EAA8B,iBAAVt4iB,EAAAA,GAAsBA,EAAAA,EAE7Cs4iB,EAAWt4iB,SAAWs4iB,GACtBA,EAAW5nmB,SAAW4nmB,GACtBA,EAAW73lB,KAUZ,IAAI8ooB,EAGJC,EAAS,WAGTh8c,EAAO,GACPi8c,EAAO,EACPC,EAAO,GACPC,EAAO,GACPC,EAAO,IACPC,EAAc,GACdC,EAAW,IACXj5nB,EAAY,IAGZk5nB,EAAgB,QAChBC,EAAgB,eAChBC,EAAkB,4BAGlBr5iB,EAAS,CACR,SAAY,kDACZ,YAAa,iDACb,gBAAiB,iBAIlBs5iB,EAAgB18c,EAAOi8c,EACvB7roB,EAAQD,KAAKC,MACbusoB,EAAqB3ooB,OAAOC,aAa5B,SAASrK,EAAMyS,GACd,MAAM0yC,WAAWq0C,EAAO/mF,GACzB,CAUA,SAAS3Y,EAAI0e,EAAO2F,GAGnB,IAFA,IAAIviB,EAAS4c,EAAM5c,OACfuC,EAAS,GACNvC,KACNuC,EAAOvC,GAAUuiB,EAAG3F,EAAM5c,IAE3B,OAAOuC,CACR,CAYA,SAAS60oB,EAAUnwnB,EAAQ1E,GAC1B,IAAIi6B,EAAQv1B,EAAO9U,MAAM,KACrB5P,EAAS,GAWb,OAVIi6C,EAAMx8C,OAAS,IAGlBuC,EAASi6C,EAAM,GAAK,IACpBv1B,EAASu1B,EAAM,IAMTj6C,EADOrE,GAFd+oB,EAASA,EAAOvN,QAAQu9nB,EAAiB,MACrB9koB,MAAM,KACAoQ,GAAIzT,KAAK,IAEpC,CAeA,SAASuooB,EAAWpwnB,GAMnB,IALA,IAGI9kB,EACAuhJ,EAJA/kI,EAAS,GACTu+G,EAAU,EACVl9H,EAASinB,EAAOjnB,OAGbk9H,EAAUl9H,IAChBmC,EAAQ8kB,EAAOlZ,WAAWmvH,OACb,OAAU/6H,GAAS,OAAU+6H,EAAUl9H,EAG3B,QAAX,OADb0jJ,EAAQz8H,EAAOlZ,WAAWmvH,OAEzBv+G,EAAOhb,OAAe,KAARxB,IAAkB,KAAe,KAARuhJ,GAAiB,QAIxD/kI,EAAOhb,KAAKxB,GACZ+6H,KAGDv+G,EAAOhb,KAAKxB,GAGd,OAAOwc,CACR,CAUA,SAAS24nB,EAAW16nB,GACnB,OAAO1e,EAAI0e,GAAO,SAASza,GAC1B,IAAIwc,EAAS,GAOb,OANIxc,EAAQ,QAEXwc,GAAUw4nB,GADVh1oB,GAAS,SAC8B,GAAK,KAAQ,OACpDA,EAAQ,MAAiB,KAARA,GAElBwc,GAAUw4nB,EAAmBh1oB,EAE9B,IAAG2M,KAAK,GACT,CAmCA,SAASyooB,EAAa59B,EAAO5rT,GAG5B,OAAO4rT,EAAQ,GAAK,IAAMA,EAAQ,MAAgB,GAAR5rT,IAAc,EACzD,CAOA,SAASypV,EAAM17gB,EAAO27gB,EAAWC,GAChC,IAAI3zoB,EAAI,EAGR,IAFA+3H,EAAQ47gB,EAAY9soB,EAAMkxH,EAAQ86gB,GAAQ96gB,GAAS,EACnDA,GAASlxH,EAAMkxH,EAAQ27gB,GACO37gB,EAAQo7gB,EAAgBR,GAAQ,EAAG3yoB,GAAKy2L,EACrE1+D,EAAQlxH,EAAMkxH,EAAQo7gB,GAEvB,OAAOtsoB,EAAM7G,GAAKmzoB,EAAgB,GAAKp7gB,GAASA,EAAQ66gB,GACzD,CASA,SAASvooB,EAAOlC,GAEf,IAEIrB,EAIA8soB,EACAlzoB,EACA2X,EACAw7nB,EACAh1iB,EACA7+F,EACA41mB,EACAh6mB,EAEAk4oB,EArEiBlrlB,EAsDjBhuC,EAAS,GACTm5nB,EAAc5roB,EAAMlM,OAEpBH,EAAI,EACJC,EAAIg3oB,EACJiB,EAAOlB,EAqBX,KALAc,EAAQzroB,EAAM4+C,YAAYjtC,IACd,IACX85nB,EAAQ,GAGJlzoB,EAAI,EAAGA,EAAIkzoB,IAASlzoB,EAEpByH,EAAM6B,WAAWtJ,IAAM,KAC1BL,EAAM,aAEPua,EAAOhb,KAAKuI,EAAM6B,WAAWtJ,IAM9B,IAAK2X,EAAQu7nB,EAAQ,EAAIA,EAAQ,EAAI,EAAGv7nB,EAAQ07nB,GAAwC,CAOvF,IAAKF,EAAO/3oB,EAAG+iG,EAAI,EAAG7+F,EAAIy2L,EAErBp+K,GAAS07nB,GACZ1zoB,EAAM,mBAGPu1mB,GAxGmBhtjB,EAwGEzgD,EAAM6B,WAAWqO,MAvGxB,GAAK,GACbuwC,EAAY,GAEhBA,EAAY,GAAK,GACbA,EAAY,GAEhBA,EAAY,GAAK,GACbA,EAAY,GAEb6tI,IAgGQA,GAAQm/a,EAAQ/umB,GAAO4roB,EAAS32oB,GAAK+iG,KACjDx+F,EAAM,YAGPvE,GAAK85mB,EAAQ/2gB,IAGT+2gB,GAFJh6mB,EAAIoE,GAAKg0oB,EAAOtB,EAAQ1yoB,GAAKg0oB,EAAOrB,EAAOA,EAAO3yoB,EAAIg0oB,IAbHh0oB,GAAKy2L,EAoBpD53F,EAAIh4F,EAAM4roB,GADdqB,EAAar9c,EAAO76L,KAEnByE,EAAM,YAGPw+F,GAAKi1iB,EAKNE,EAAOP,EAAM33oB,EAAI+3oB,EADjB/soB,EAAM8T,EAAO3e,OAAS,EACc,GAAR43oB,GAIxBhtoB,EAAM/K,EAAIgL,GAAO2roB,EAAS12oB,GAC7BsE,EAAM,YAGPtE,GAAK8K,EAAM/K,EAAIgL,GACfhL,GAAKgL,EAGL8T,EAAOhM,OAAO9S,IAAK,EAAGC,EAEvB,CAEA,OAAOw3oB,EAAW34nB,EACnB,CASA,SAAShR,EAAOzB,GACf,IAAIpM,EACAg8H,EACAk8gB,EACAC,EACAF,EACAtzoB,EACAX,EACAgB,EACAf,EACApE,EACAs8F,EAGA67iB,EAEAI,EACAL,EACAM,EANAx5nB,EAAS,GAoBb,IARAm5nB,GAHA5roB,EAAQmroB,EAAWnroB,IAGClM,OAGpBF,EAAIg3oB,EACJh7gB,EAAQ,EACRi8gB,EAAOlB,EAGFpyoB,EAAI,EAAGA,EAAIqzoB,IAAerzoB,GAC9Bw3F,EAAe/vF,EAAMzH,IACF,KAClBka,EAAOhb,KAAKwzoB,EAAmBl7iB,IAejC,IAXA+7iB,EAAiBC,EAAct5nB,EAAO3e,OAMlCi4oB,GACHt5nB,EAAOhb,KAAKka,GAINm6nB,EAAiBF,GAAa,CAIpC,IAAKh0oB,EAAI0yoB,EAAQ/xoB,EAAI,EAAGA,EAAIqzoB,IAAerzoB,GAC1Cw3F,EAAe/vF,EAAMzH,KACD3E,GAAKm8F,EAAen4F,IACvCA,EAAIm4F,GAcN,IAPIn4F,EAAIhE,EAAI8K,GAAO4roB,EAAS16gB,IAD5Bo8gB,EAAwBF,EAAiB,KAExC5zoB,EAAM,YAGP03H,IAAUh4H,EAAIhE,GAAKo4oB,EACnBp4oB,EAAIgE,EAECW,EAAI,EAAGA,EAAIqzoB,IAAerzoB,EAO9B,IANAw3F,EAAe/vF,EAAMzH,IAEF3E,KAAOg8H,EAAQ06gB,GACjCpyoB,EAAM,YAGH63F,GAAgBn8F,EAAG,CAEtB,IAAKgF,EAAIg3H,EAAO/3H,EAAIy2L,IAEf11L,GADJnF,EAAIoE,GAAKg0oB,EAAOtB,EAAQ1yoB,GAAKg0oB,EAAOrB,EAAOA,EAAO3yoB,EAAIg0oB,IADTh0oB,GAAKy2L,EAKlD29c,EAAUrzoB,EAAInF,EACdk4oB,EAAar9c,EAAO76L,EACpBgf,EAAOhb,KACNwzoB,EAAmBI,EAAa53oB,EAAIw4oB,EAAUN,EAAY,KAE3D/yoB,EAAI8F,EAAMutoB,EAAUN,GAGrBl5nB,EAAOhb,KAAKwzoB,EAAmBI,EAAazyoB,EAAG,KAC/CizoB,EAAOP,EAAM17gB,EAAOo8gB,EAAuBF,GAAkBC,GAC7Dn8gB,EAAQ,IACNk8gB,CACH,GAGCl8gB,IACAh8H,CAEH,CACA,OAAO6e,EAAO7P,KAAK,GACpB,CA2CAynoB,EAAW,CAMV,QAAW,QAQX,KAAQ,CACP,OAAUc,EACV,OAAUC,GAEX,OAAUlpoB,EACV,OAAUT,EACV,QA/BD,SAAiBzB,GAChB,OAAOkroB,EAAUlroB,GAAO,SAAS+a,GAChC,OAAO+vnB,EAAch2mB,KAAK/Z,GACvB,OAAStZ,EAAOsZ,GAChBA,CACJ,GACD,EA0BC,UAnDD,SAAmB/a,GAClB,OAAOkroB,EAAUlroB,GAAO,SAAS+a,GAChC,OAAO8vnB,EAAc/1mB,KAAK/Z,GACvB7Y,EAAO6Y,EAAOzK,MAAM,GAAG7C,eACvBsN,CACJ,GACD,QA0DE,KAFDm+gB,EAAAA,WACC,OAAOmxG,CACP,+BAaF,CAhhBC,2CCsBEA,EAAW93oB,EAAQ,OACnB0giB,EAAO1giB,EAAQ,OASnB,SAAS25oB,IACP/4oB,KAAKy+C,SAAW,KAChBz+C,KAAKg5oB,QAAU,KACfh5oB,KAAK80C,KAAO,KACZ90C,KAAK0+C,KAAO,KACZ1+C,KAAK4+C,KAAO,KACZ5+C,KAAK2+C,SAAW,KAChB3+C,KAAKgH,KAAO,KACZhH,KAAK6c,OAAS,KACd7c,KAAK8xJ,MAAQ,KACb9xJ,KAAK6+C,SAAW,KAChB7+C,KAAKk9B,KAAO,KACZl9B,KAAKw+C,KAAO,IACd,CApBApgD,EAAQ,GAAQ66oB,EAGhB76oB,EAAQ,GAsVR,SAAmBupB,GAKbm4gB,EAAKjjf,SAASl1B,KAAMA,EAAMsxnB,EAAStxnB,IACvC,OAAMA,aAAeoxnB,EACdpxnB,EAAI40C,SADuBw8kB,EAAI74oB,UAAUq8D,OAAO37D,KAAK+mB,EAE9D,EAvUA,IAAIuxnB,EAAkB,oBAClBC,EAAc,WAGdC,EAAoB,qCAOpBC,EAAS,CAAC,IAAK,IAAK,IAAK,KAAM,IAAK,KAAKt6oB,OAHhC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,OAM/Cu6oB,EAAa,CAAC,KAAMv6oB,OAAOs6oB,GAK3BE,EAAe,CAAC,IAAK,IAAK,IAAK,IAAK,KAAKx6oB,OAAOu6oB,GAChDE,EAAkB,CAAC,IAAK,IAAK,KAE7BC,EAAsB,yBACtBC,EAAoB,+BAEpBC,EAAiB,CACf,YAAc,EACd,eAAe,GAGjBC,EAAmB,CACjB,YAAc,EACd,eAAe,GAGjBC,EAAkB,CAChB,MAAQ,EACR,OAAS,EACT,KAAO,EACP,QAAU,EACV,MAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,GAEXC,EAAc16oB,EAAQ,OAE1B,SAAS65oB,EAASr5mB,EAAKm6mB,EAAkBC,GACvC,GAAIp6mB,GAAOkggB,EAAKrjf,SAAS7c,IAAQA,aAAem5mB,EAAK,OAAOn5mB,EAE5D,IAAI1zB,EAAI,IAAI6soB,EAEZ,OADA7soB,EAAEwT,MAAMkgB,EAAKm6mB,EAAkBC,GACxB9toB,CACT,CAEA6soB,EAAI74oB,UAAUwf,MAAQ,SAASkgB,EAAKm6mB,EAAkBC,GACpD,IAAKl6G,EAAKjjf,SAASjd,GACjB,MAAM,IAAIx7B,UAAU,gDAAkDw7B,GAMxE,IAAIq6mB,EAAar6mB,EAAI5+B,QAAQ,KACzBk5oB,GACqB,IAAhBD,GAAqBA,EAAar6mB,EAAI5+B,QAAQ,KAAQ,IAAM,IACjEm5oB,EAASv6mB,EAAI9sB,MAAMonoB,GAEvBC,EAAO,GAAKA,EAAO,GAAG9/nB,QADL,MACyB,KAG1C,IAAIwpe,EAFJjkd,EAAMu6mB,EAAO1qoB,KAAKyqoB,GAQlB,GAFAr2J,EAAOA,EAAKpne,QAEPu9nB,GAA+C,IAA1Bp6mB,EAAI9sB,MAAM,KAAKnS,OAAc,CAErD,IAAIy5oB,EAAahB,EAAkBz3nB,KAAKkie,GACxC,GAAIu2J,EAeF,OAdAp6oB,KAAKk9B,KAAO2md,EACZ7jf,KAAKw+C,KAAOqlc,EACZ7jf,KAAK6+C,SAAWu7lB,EAAW,GACvBA,EAAW,IACbp6oB,KAAK6c,OAASu9nB,EAAW,GAEvBp6oB,KAAK8xJ,MADHiof,EACWD,EAAYp6nB,MAAM1f,KAAK6c,OAAOG,OAAO,IAErChd,KAAK6c,OAAOG,OAAO,IAEzB+8nB,IACT/5oB,KAAK6c,OAAS,GACd7c,KAAK8xJ,MAAQ,CAAC,GAET9xJ,IAEX,CAEA,IAAIo3I,EAAQ8hgB,EAAgBv3nB,KAAKkie,GACjC,GAAIzsW,EAAO,CAET,IAAIijgB,GADJjjgB,EAAQA,EAAM,IACS98H,cACvBta,KAAKy+C,SAAW47lB,EAChBx2J,EAAOA,EAAK7me,OAAOo6H,EAAMz2I,OAC3B,CAMA,GAAIq5oB,GAAqB5igB,GAASysW,EAAKjie,MAAM,wBAAyB,CACpE,IAAIo3nB,EAAgC,OAAtBn1J,EAAK7me,OAAO,EAAG,IACzBg8nB,GAAa5hgB,GAASwigB,EAAiBxigB,KACzCysW,EAAOA,EAAK7me,OAAO,GACnBhd,KAAKg5oB,SAAU,EAEnB,CAEA,IAAKY,EAAiBxigB,KACjB4hgB,GAAY5hgB,IAAUyigB,EAAgBzigB,IAAU,CAmBnD,IADA,IASItiG,EAAMwlmB,EATNC,GAAW,EACN/5oB,EAAI,EAAGA,EAAIg5oB,EAAgB74oB,OAAQH,IAAK,EAElC,KADTg6oB,EAAM32J,EAAK7if,QAAQw4oB,EAAgBh5oB,QACP,IAAb+5oB,GAAkBC,EAAMD,KACzCA,EAAUC,EACd,EAgBgB,KATdF,GAFe,IAAbC,EAEO12J,EAAKp4b,YAAY,KAIjBo4b,EAAKp4b,YAAY,IAAK8ulB,MAM/BzlmB,EAAO+uc,EAAK1me,MAAM,EAAGm9nB,GACrBz2J,EAAOA,EAAK1me,MAAMm9nB,EAAS,GAC3Bt6oB,KAAK80C,KAAOplC,mBAAmBolC,IAIjCylmB,GAAW,EACX,IAAS/5oB,EAAI,EAAGA,EAAI+4oB,EAAa54oB,OAAQH,IAAK,CAC5C,IAAIg6oB,GACS,KADTA,EAAM32J,EAAK7if,QAAQu4oB,EAAa/4oB,QACJ,IAAb+5oB,GAAkBC,EAAMD,KACzCA,EAAUC,EACd,EAEiB,IAAbD,IACFA,EAAU12J,EAAKljf,QAEjBX,KAAK0+C,KAAOmlc,EAAK1me,MAAM,EAAGo9nB,GAC1B12J,EAAOA,EAAK1me,MAAMo9nB,GAGlBv6oB,KAAKy6oB,YAILz6oB,KAAK2+C,SAAW3+C,KAAK2+C,UAAY,GAIjC,IAAI+7lB,EAAoC,MAArB16oB,KAAK2+C,SAAS,IACe,MAA5C3+C,KAAK2+C,SAAS3+C,KAAK2+C,SAASh+C,OAAS,GAGzC,IAAK+5oB,EAEH,IADA,IAAIC,EAAY36oB,KAAK2+C,SAAS7rC,MAAM,MACpBkzB,GAAPxlC,EAAI,EAAOm6oB,EAAUh6oB,QAAQH,EAAIwlC,EAAGxlC,IAAK,CAChD,IAAI48F,EAAOu9iB,EAAUn6oB,GACrB,GAAK48F,IACAA,EAAKx7E,MAAM63nB,GAAsB,CAEpC,IADA,IAAImB,EAAU,GACLx1oB,EAAI,EAAGV,EAAI04F,EAAKz8F,OAAQyE,EAAIV,EAAGU,IAClCg4F,EAAK1uF,WAAWtJ,GAAK,IAIvBw1oB,GAAW,IAEXA,GAAWx9iB,EAAKh4F,GAIpB,IAAKw1oB,EAAQh5nB,MAAM63nB,GAAsB,CACvC,IAAIoB,EAAaF,EAAUx9nB,MAAM,EAAG3c,GAChCs6oB,EAAUH,EAAUx9nB,MAAM3c,EAAI,GAC9BiwmB,EAAMrzgB,EAAKx7E,MAAM83nB,GACjBjpC,IACFoqC,EAAWv2oB,KAAKmsmB,EAAI,IACpBqqC,EAAQnhmB,QAAQ82jB,EAAI,KAElBqqC,EAAQn6oB,SACVkjf,EAAO,IAAMi3J,EAAQrroB,KAAK,KAAOo0e,GAEnC7jf,KAAK2+C,SAAWk8lB,EAAWproB,KAAK,KAChC,KACF,CACF,CACF,CAGEzP,KAAK2+C,SAASh+C,OAjND,IAkNfX,KAAK2+C,SAAW,GAGhB3+C,KAAK2+C,SAAW3+C,KAAK2+C,SAASrkC,cAG3BogoB,IAKH16oB,KAAK2+C,SAAWu4lB,EAAS6D,QAAQ/6oB,KAAK2+C,WAGxC,IAAI/+C,EAAII,KAAK4+C,KAAO,IAAM5+C,KAAK4+C,KAAO,GAClCj2B,EAAI3oB,KAAK2+C,UAAY,GACzB3+C,KAAK0+C,KAAO/1B,EAAI/oB,EAChBI,KAAKw+C,MAAQx+C,KAAK0+C,KAIdg8lB,IACF16oB,KAAK2+C,SAAW3+C,KAAK2+C,SAAS3hC,OAAO,EAAGhd,KAAK2+C,SAASh+C,OAAS,GAC/C,MAAZkjf,EAAK,KACPA,EAAO,IAAMA,GAGnB,CAIA,IAAK81J,EAAeU,GAKlB,IAAS75oB,EAAI,EAAGwlC,EAAIszmB,EAAW34oB,OAAQH,EAAIwlC,EAAGxlC,IAAK,CACjD,IAAI0tnB,EAAKorB,EAAW94oB,GACpB,IAA0B,IAAtBqjf,EAAK7if,QAAQktnB,GAAjB,CAEA,IAAI8sB,EAAMxomB,mBAAmB07kB,GACzB8sB,IAAQ9sB,IACV8sB,EAAMh8kB,OAAOkvjB,IAEfrqI,EAAOA,EAAK/we,MAAMo7mB,GAAIz+mB,KAAKuroB,EALjB,CAMZ,CAKF,IAAIh0oB,EAAO68e,EAAK7if,QAAQ,MACV,IAAVgG,IAEFhH,KAAKgH,KAAO68e,EAAK7me,OAAOhW,GACxB68e,EAAOA,EAAK1me,MAAM,EAAGnW,IAEvB,IAAIi0oB,EAAKp3J,EAAK7if,QAAQ,KAoBtB,IAnBY,IAARi6oB,GACFj7oB,KAAK6c,OAASgne,EAAK7me,OAAOi+nB,GAC1Bj7oB,KAAK8xJ,MAAQ+xV,EAAK7me,OAAOi+nB,EAAK,GAC1BlB,IACF/5oB,KAAK8xJ,MAAQgof,EAAYp6nB,MAAM1f,KAAK8xJ,QAEtC+xV,EAAOA,EAAK1me,MAAM,EAAG89nB,IACZlB,IAET/5oB,KAAK6c,OAAS,GACd7c,KAAK8xJ,MAAQ,CAAC,GAEZ+xV,IAAM7jf,KAAK6+C,SAAWglc,GACtBg2J,EAAgBQ,IAChBr6oB,KAAK2+C,WAAa3+C,KAAK6+C,WACzB7+C,KAAK6+C,SAAW,KAId7+C,KAAK6+C,UAAY7+C,KAAK6c,OAAQ,CAC5Bjd,EAAII,KAAK6+C,UAAY,GAAzB,IACIt+C,EAAIP,KAAK6c,QAAU,GACvB7c,KAAKk9B,KAAOt9B,EAAIW,CAClB,CAIA,OADAP,KAAKw+C,KAAOx+C,KAAKu8D,SACVv8D,IACT,EAaA+4oB,EAAI74oB,UAAUq8D,OAAS,WACrB,IAAIznB,EAAO90C,KAAK80C,MAAQ,GACpBA,IAEFA,GADAA,EAAOtC,mBAAmBsC,IACdz6B,QAAQ,OAAQ,KAC5By6B,GAAQ,KAGV,IAAI2J,EAAWz+C,KAAKy+C,UAAY,GAC5BI,EAAW7+C,KAAK6+C,UAAY,GAC5B73C,EAAOhH,KAAKgH,MAAQ,GACpB03C,GAAO,EACPozG,EAAQ,GAER9xJ,KAAK0+C,KACPA,EAAO5J,EAAO90C,KAAK0+C,KACV1+C,KAAK2+C,WACdD,EAAO5J,IAAwC,IAAhC90C,KAAK2+C,SAAS39C,QAAQ,KACjChB,KAAK2+C,SACL,IAAM3+C,KAAK2+C,SAAW,KACtB3+C,KAAK4+C,OACPF,GAAQ,IAAM1+C,KAAK4+C,OAInB5+C,KAAK8xJ,OACLguY,EAAKrjf,SAASz8C,KAAK8xJ,QACnBtyJ,OAAOgR,KAAKxQ,KAAK8xJ,OAAOnxJ,SAC1BmxJ,EAAQgof,EAAYv6nB,UAAUvf,KAAK8xJ,QAGrC,IAAIj1I,EAAS7c,KAAK6c,QAAWi1I,GAAU,IAAMA,GAAW,GAsBxD,OApBIrzG,GAAoC,MAAxBA,EAASzhC,QAAQ,KAAYyhC,GAAY,KAIrDz+C,KAAKg5oB,WACHv6lB,GAAYo7lB,EAAgBp7lB,MAAuB,IAATC,GAC9CA,EAAO,MAAQA,GAAQ,IACnBG,GAAmC,MAAvBA,EAAS1Z,OAAO,KAAY0Z,EAAW,IAAMA,IACnDH,IACVA,EAAO,IAGL13C,GAA2B,MAAnBA,EAAKm+B,OAAO,KAAYn+B,EAAO,IAAMA,GAC7C6V,GAA+B,MAArBA,EAAOsoB,OAAO,KAAYtoB,EAAS,IAAMA,GAOhD4hC,EAAWC,GALlBG,EAAWA,EAASxkC,QAAQ,SAAS,SAASuH,GAC5C,OAAO4wB,mBAAmB5wB,EAC5B,MACA/E,EAASA,EAAOxC,QAAQ,IAAK,QAEgBrT,CAC/C,EAMA+xoB,EAAI74oB,UAAUyC,QAAU,SAASu4oB,GAC/B,OAAOl7oB,KAAKm7oB,cAAclC,EAASiC,GAAU,GAAO,IAAO3+kB,QAC7D,EAOAw8kB,EAAI74oB,UAAUi7oB,cAAgB,SAASD,GACrC,GAAIp7G,EAAKjjf,SAASq+lB,GAAW,CAC3B,IAAIn0D,EAAM,IAAIgyD,EACdhyD,EAAIrnkB,MAAMw7nB,GAAU,GAAO,GAC3BA,EAAWn0D,CACb,CAIA,IAFA,IAAI7jlB,EAAS,IAAI61oB,EACbqC,EAAQ57oB,OAAOgR,KAAKxQ,MACf0iL,EAAK,EAAGA,EAAK04d,EAAMz6oB,OAAQ+hL,IAAM,CACxC,IAAI24d,EAAOD,EAAM14d,GACjBx/K,EAAOm4oB,GAAQr7oB,KAAKq7oB,EACtB,CAOA,GAHAn4oB,EAAO8D,KAAOk0oB,EAASl0oB,KAGD,KAAlBk0oB,EAAS18lB,KAEX,OADAt7C,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,EAIT,GAAIg4oB,EAASlC,UAAYkC,EAASz8lB,SAAU,CAG1C,IADA,IAAI68lB,EAAQ97oB,OAAOgR,KAAK0qoB,GACf/T,EAAK,EAAGA,EAAKmU,EAAM36oB,OAAQwmoB,IAAM,CACxC,IAAIoU,EAAOD,EAAMnU,GACJ,aAAToU,IACFr4oB,EAAOq4oB,GAAQL,EAASK,GAC5B,CASA,OANI1B,EAAgB32oB,EAAOu7C,WACvBv7C,EAAOy7C,WAAaz7C,EAAO27C,WAC7B37C,EAAOg6B,KAAOh6B,EAAO27C,SAAW,KAGlC37C,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,CACT,CAEA,GAAIg4oB,EAASz8lB,UAAYy8lB,EAASz8lB,WAAav7C,EAAOu7C,SAAU,CAS9D,IAAKo7lB,EAAgBqB,EAASz8lB,UAAW,CAEvC,IADA,IAAIjuC,EAAOhR,OAAOgR,KAAK0qoB,GACdh3oB,EAAI,EAAGA,EAAIsM,EAAK7P,OAAQuD,IAAK,CACpC,IAAIQ,EAAI8L,EAAKtM,GACbhB,EAAOwB,GAAKw2oB,EAASx2oB,EACvB,CAEA,OADAxB,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,CACT,CAGA,GADAA,EAAOu7C,SAAWy8lB,EAASz8lB,SACtBy8lB,EAASx8lB,MAASk7lB,EAAiBsB,EAASz8lB,UAS/Cv7C,EAAO27C,SAAWq8lB,EAASr8lB,aAT+B,CAE1D,IADA,IAAI28lB,GAAWN,EAASr8lB,UAAY,IAAI/rC,MAAM,KACvC0ooB,EAAQ76oB,UAAYu6oB,EAASx8lB,KAAO88lB,EAAQ31oB,WAC9Cq1oB,EAASx8lB,OAAMw8lB,EAASx8lB,KAAO,IAC/Bw8lB,EAASv8lB,WAAUu8lB,EAASv8lB,SAAW,IACzB,KAAf68lB,EAAQ,IAAWA,EAAQ7hmB,QAAQ,IACnC6hmB,EAAQ76oB,OAAS,GAAG66oB,EAAQ7hmB,QAAQ,IACxCz2C,EAAO27C,SAAW28lB,EAAQ/roB,KAAK,IACjC,CAUA,GAPAvM,EAAO2Z,OAASq+nB,EAASr+nB,OACzB3Z,EAAO4uJ,MAAQopf,EAASppf,MACxB5uJ,EAAOw7C,KAAOw8lB,EAASx8lB,MAAQ,GAC/Bx7C,EAAO4xC,KAAOommB,EAASpmmB,KACvB5xC,EAAOy7C,SAAWu8lB,EAASv8lB,UAAYu8lB,EAASx8lB,KAChDx7C,EAAO07C,KAAOs8lB,EAASt8lB,KAEnB17C,EAAO27C,UAAY37C,EAAO2Z,OAAQ,CACpC,IAAIjd,EAAIsD,EAAO27C,UAAY,GACvBt+C,EAAI2C,EAAO2Z,QAAU,GACzB3Z,EAAOg6B,KAAOt9B,EAAIW,CACpB,CAGA,OAFA2C,EAAO81oB,QAAU91oB,EAAO81oB,SAAWkC,EAASlC,QAC5C91oB,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,CACT,CAEA,IAAIu4oB,EAAev4oB,EAAO27C,UAA0C,MAA9B37C,EAAO27C,SAAS1Z,OAAO,GACzDu2mB,EACIR,EAASx8lB,MACTw8lB,EAASr8lB,UAA4C,MAAhCq8lB,EAASr8lB,SAAS1Z,OAAO,GAElDw2mB,EAAcD,GAAYD,GACXv4oB,EAAOw7C,MAAQw8lB,EAASr8lB,SACvC+8lB,EAAgBD,EAChBE,EAAU34oB,EAAO27C,UAAY37C,EAAO27C,SAAS/rC,MAAM,MAAQ,GAE3DgpoB,GADAN,EAAUN,EAASr8lB,UAAYq8lB,EAASr8lB,SAAS/rC,MAAM,MAAQ,GACnD5P,EAAOu7C,WAAao7lB,EAAgB32oB,EAAOu7C,WA2B3D,GApBIq9lB,IACF54oB,EAAOy7C,SAAW,GAClBz7C,EAAO07C,KAAO,KACV17C,EAAOw7C,OACU,KAAfm9lB,EAAQ,GAAWA,EAAQ,GAAK34oB,EAAOw7C,KACtCm9lB,EAAQlimB,QAAQz2C,EAAOw7C,OAE9Bx7C,EAAOw7C,KAAO,GACVw8lB,EAASz8lB,WACXy8lB,EAASv8lB,SAAW,KACpBu8lB,EAASt8lB,KAAO,KACZs8lB,EAASx8lB,OACQ,KAAf88lB,EAAQ,GAAWA,EAAQ,GAAKN,EAASx8lB,KACxC88lB,EAAQ7hmB,QAAQuhmB,EAASx8lB,OAEhCw8lB,EAASx8lB,KAAO,MAElBi9lB,EAAaA,IAA8B,KAAfH,EAAQ,IAA4B,KAAfK,EAAQ,KAGvDH,EAEFx4oB,EAAOw7C,KAAQw8lB,EAASx8lB,MAA0B,KAAlBw8lB,EAASx8lB,KAC3Bw8lB,EAASx8lB,KAAOx7C,EAAOw7C,KACrCx7C,EAAOy7C,SAAYu8lB,EAASv8lB,UAAkC,KAAtBu8lB,EAASv8lB,SAC/Bu8lB,EAASv8lB,SAAWz7C,EAAOy7C,SAC7Cz7C,EAAO2Z,OAASq+nB,EAASr+nB,OACzB3Z,EAAO4uJ,MAAQopf,EAASppf,MACxB+pf,EAAUL,OAEL,GAAIA,EAAQ76oB,OAGZk7oB,IAASA,EAAU,IACxBA,EAAQx3oB,MACRw3oB,EAAUA,EAAQ98oB,OAAOy8oB,GACzBt4oB,EAAO2Z,OAASq+nB,EAASr+nB,OACzB3Z,EAAO4uJ,MAAQopf,EAASppf,WACnB,IAAKguY,EAAKkf,kBAAkBk8F,EAASr+nB,QAAS,CAInD,GAAIi/nB,EACF54oB,EAAOy7C,SAAWz7C,EAAOw7C,KAAOm9lB,EAAQh2oB,SAIpCk2oB,KAAa74oB,EAAOw7C,MAAQx7C,EAAOw7C,KAAK19C,QAAQ,KAAO,IAC1CkC,EAAOw7C,KAAK5rC,MAAM,QAEjC5P,EAAO4xC,KAAOinmB,EAAWl2oB,QACzB3C,EAAOw7C,KAAOx7C,EAAOy7C,SAAWo9lB,EAAWl2oB,SAW/C,OARA3C,EAAO2Z,OAASq+nB,EAASr+nB,OACzB3Z,EAAO4uJ,MAAQopf,EAASppf,MAEnBguY,EAAK7qhB,OAAO/R,EAAO27C,WAAcihf,EAAK7qhB,OAAO/R,EAAO2Z,UACvD3Z,EAAOg6B,MAAQh6B,EAAO27C,SAAW37C,EAAO27C,SAAW,KACpC37C,EAAO2Z,OAAS3Z,EAAO2Z,OAAS,KAEjD3Z,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,CACT,CAEA,IAAK24oB,EAAQl7oB,OAWX,OARAuC,EAAO27C,SAAW,KAEd37C,EAAO2Z,OACT3Z,EAAOg6B,KAAO,IAAMh6B,EAAO2Z,OAE3B3Z,EAAOg6B,KAAO,KAEhBh6B,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,EAcT,IARA,IAAIirF,EAAO0tjB,EAAQ1+nB,OAAO,GAAG,GACzB6+nB,GACC94oB,EAAOw7C,MAAQw8lB,EAASx8lB,MAAQm9lB,EAAQl7oB,OAAS,KACxC,MAATwtF,GAAyB,OAATA,IAA2B,KAATA,EAInCtkE,EAAK,EACArpB,EAAIq7oB,EAAQl7oB,OAAQH,GAAK,EAAGA,IAEtB,OADb2tF,EAAO0tjB,EAAQr7oB,IAEbq7oB,EAAQvooB,OAAO9S,EAAG,GACA,OAAT2tF,GACT0tjB,EAAQvooB,OAAO9S,EAAG,GAClBqpB,KACSA,IACTgynB,EAAQvooB,OAAO9S,EAAG,GAClBqpB,KAKJ,IAAK8xnB,IAAeC,EAClB,KAAO/xnB,IAAMA,EACXgynB,EAAQlimB,QAAQ,OAIhBgimB,GAA6B,KAAfE,EAAQ,IACpBA,EAAQ,IAA+B,MAAzBA,EAAQ,GAAG12mB,OAAO,IACpC02mB,EAAQlimB,QAAQ,IAGdqimB,GAAsD,MAAjCH,EAAQpsoB,KAAK,KAAKuN,QAAQ,IACjD6+nB,EAAQv3oB,KAAK,IAGf,IAUMy3oB,EAVFE,EAA4B,KAAfJ,EAAQ,IACpBA,EAAQ,IAA+B,MAAzBA,EAAQ,GAAG12mB,OAAO,GAGjC22mB,IACF54oB,EAAOy7C,SAAWz7C,EAAOw7C,KAAOu9lB,EAAa,GACbJ,EAAQl7oB,OAASk7oB,EAAQh2oB,QAAU,IAI/Dk2oB,KAAa74oB,EAAOw7C,MAAQx7C,EAAOw7C,KAAK19C,QAAQ,KAAO,IAC1CkC,EAAOw7C,KAAK5rC,MAAM,QAEjC5P,EAAO4xC,KAAOinmB,EAAWl2oB,QACzB3C,EAAOw7C,KAAOx7C,EAAOy7C,SAAWo9lB,EAAWl2oB,UAyB/C,OArBA81oB,EAAaA,GAAez4oB,EAAOw7C,MAAQm9lB,EAAQl7oB,UAEhCs7oB,GACjBJ,EAAQlimB,QAAQ,IAGbkimB,EAAQl7oB,OAIXuC,EAAO27C,SAAWg9lB,EAAQpsoB,KAAK,MAH/BvM,EAAO27C,SAAW,KAClB37C,EAAOg6B,KAAO,MAMX4igB,EAAK7qhB,OAAO/R,EAAO27C,WAAcihf,EAAK7qhB,OAAO/R,EAAO2Z,UACvD3Z,EAAOg6B,MAAQh6B,EAAO27C,SAAW37C,EAAO27C,SAAW,KACpC37C,EAAO2Z,OAAS3Z,EAAO2Z,OAAS,KAEjD3Z,EAAO4xC,KAAOommB,EAASpmmB,MAAQ5xC,EAAO4xC,KACtC5xC,EAAO81oB,QAAU91oB,EAAO81oB,SAAWkC,EAASlC,QAC5C91oB,EAAOs7C,KAAOt7C,EAAOq5D,SACdr5D,CACT,EAEA61oB,EAAI74oB,UAAUu6oB,UAAY,WACxB,IAAI/7lB,EAAO1+C,KAAK0+C,KACZE,EAAOu6lB,EAAYx3nB,KAAK+8B,GACxBE,IAEW,OADbA,EAAOA,EAAK,MAEV5+C,KAAK4+C,KAAOA,EAAK5hC,OAAO,IAE1B0hC,EAAOA,EAAK1hC,OAAO,EAAG0hC,EAAK/9C,OAASi+C,EAAKj+C,SAEvC+9C,IAAM1+C,KAAK2+C,SAAWD,EAC5B,kCCztBAlL,EAAOp1C,QAAU,CACfy+C,SAAU,SAAS15B,GACjB,MAAuB,kBAATA,CAChB,EACAs5B,SAAU,SAASt5B,GACjB,MAAuB,kBAATA,GAA6B,OAARA,CACrC,EACAlO,OAAQ,SAASkO,GACf,OAAe,OAARA,CACT,EACA67hB,kBAAmB,SAAS77hB,GAC1B,OAAc,MAAPA,CACT,uCCLW,IAAIpiB,EAAE3B,EAAQ,OAAwE,IAAIsF,EAAE,oBAAoBlF,OAAOgqD,GAAGhqD,OAAOgqD,GAA1G,SAAWrkD,EAAE5F,GAAG,OAAO4F,IAAI5F,IAAI,IAAI4F,GAAG,EAAEA,IAAI,EAAE5F,IAAI4F,IAAIA,GAAG5F,IAAIA,CAAC,EAAiDymC,EAAEjlC,EAAEi/nB,SAASv7nB,EAAE1D,EAAE2+nB,UAAUj/nB,EAAEM,EAAE6+nB,gBAAgBhgoB,EAAEmB,EAAEk/nB,cACtM,SAASx+nB,EAAE0D,GAAG,IAAI5F,EAAE4F,EAAE84nB,YAAY94nB,EAAEA,EAAErC,MAAM,IAAI,IAAIxD,EAAEC,IAAI,OAAOmF,EAAES,EAAE7F,EAAE,CAAC,MAAMiE,GAAG,OAAM,CAAE,CAAC,CAA4B,IAAI2I,EAAE,qBAAqB7N,QAAQ,qBAAqBA,OAAOoX,UAAU,qBAAqBpX,OAAOoX,SAASC,cAAzI,SAAWvQ,EAAE5F,GAAG,OAAOA,GAAG,EAD+F,SAAW4F,EAAE5F,GAAG,IAAID,EAAEC,IAAIgE,EAAEyiC,EAAE,CAACk2mB,KAAK,CAACp5oB,MAAMxD,EAAE2+nB,YAAY1+nB,KAAKiC,EAAE+B,EAAE,GAAG24oB,KAAKz4oB,EAAEF,EAAE,GAAwJ,OAArJ9C,GAAE,WAAWe,EAAEsB,MAAMxD,EAAEkC,EAAEy8nB,YAAY1+nB,EAAEkC,EAAED,IAAIiC,EAAE,CAACy4oB,KAAK16oB,GAAG,GAAE,CAAC2D,EAAE7F,EAAEC,IAAIkF,GAAE,WAA6B,OAAlBhD,EAAED,IAAIiC,EAAE,CAACy4oB,KAAK16oB,IAAW2D,GAAE,WAAW1D,EAAED,IAAIiC,EAAE,CAACy4oB,KAAK16oB,GAAG,GAAE,GAAE,CAAC2D,IAAIvF,EAAEN,GAAUA,CAAC,EAC5MlB,EAAQiioB,0BAAqB,IAASt/nB,EAAEs/nB,qBAAqBt/nB,EAAEs/nB,qBAAqBn0nB,sCCD7T,IAAIyc,EAAEvpB,EAAQ,OAASqB,EAAErB,EAAQ,OAA+F,IAAIqG,EAAE,oBAAoBjG,OAAOgqD,GAAGhqD,OAAOgqD,GAA1G,SAAWrkD,EAAE5F,GAAG,OAAO4F,IAAI5F,IAAI,IAAI4F,GAAG,EAAEA,IAAI,EAAE5F,IAAI4F,IAAIA,GAAG5F,IAAIA,CAAC,EAAiDkC,EAAEhB,EAAE4/nB,qBAAqB//nB,EAAEqoB,EAAEo3mB,OAAO7znB,EAAEyc,EAAE+2mB,UAAUx7nB,EAAEykB,EAAEk3mB,QAAQt8hB,EAAE56E,EAAEs3mB,cAC/P7hoB,EAAQ+9oB,iCAAiC,SAASh3oB,EAAE5F,EAAEwB,EAAEilC,EAAEviC,GAAG,IAAIjC,EAAElB,EAAE,MAAM,GAAG,OAAOkB,EAAEo9B,QAAQ,CAAC,IAAIr7B,EAAE,CAACu7U,UAAS,EAAGh8U,MAAM,MAAMtB,EAAEo9B,QAAQr7B,CAAC,MAAMA,EAAE/B,EAAEo9B,QAAQp9B,EAAE0C,GAAE,WAAW,SAASiB,EAAEA,GAAG,IAAI3D,EAAE,CAAiB,GAAhBA,GAAE,EAAGlC,EAAE6F,EAAEA,EAAE6gC,EAAE7gC,QAAM,IAAS1B,GAAGF,EAAEu7U,SAAS,CAAC,IAAIv/U,EAAEgE,EAAET,MAAM,GAAGW,EAAElE,EAAE4F,GAAG,OAAOT,EAAEnF,CAAC,CAAC,OAAOmF,EAAES,CAAC,CAAK,GAAJ5F,EAAEmF,EAAKe,EAAEnG,EAAE6F,GAAG,OAAO5F,EAAE,IAAIwB,EAAEilC,EAAE7gC,GAAG,YAAG,IAAS1B,GAAGA,EAAElE,EAAEwB,GAAUxB,GAAED,EAAE6F,EAAST,EAAE3D,EAAC,CAAC,IAASzB,EAAEoF,EAAPlD,GAAE,EAAOiD,OAAE,IAAS1D,EAAE,KAAKA,EAAE,MAAM,CAAC,WAAW,OAAOoE,EAAE5F,IAAI,EAAE,OAAOkF,OAAE,EAAO,WAAW,OAAOU,EAAEV,IAAI,EAAE,GAAE,CAAClF,EAAEwB,EAAEilC,EAAEviC,IAAI,IAAInE,EAAEmC,EAAE0D,EAAE3D,EAAE,GAAGA,EAAE,IACnc,OAAhD0K,GAAE,WAAW3I,EAAEu7U,UAAS,EAAGv7U,EAAET,MAAMxD,CAAC,GAAE,CAACA,IAAIikG,EAAEjkG,GAAUA,CAAC,sCCRtDk0C,EAAOp1C,QAAU,EAAjBo1C,2CCAAA,EAAOp1C,QAAU,EAAjBo1C,8BCHF,IAAI4omB,EAAKh9oB,EAAQ,OACb0rhB,EAAK1rhB,EAAQ,OAEbkshB,EAAOR,EACXQ,EAAK8wH,GAAKA,EACV9wH,EAAKR,GAAKA,EAEVt3e,EAAOp1C,QAAUkthB,qBCFjB,IADA,IAAI+wH,EAAY,GACP77oB,EAAI,EAAGA,EAAI,MAAOA,EACzB67oB,EAAU77oB,IAAMA,EAAI,KAAOgP,SAAS,IAAIwN,OAAO,GAmBjDw2B,EAAOp1C,QAhBP,SAAqBytD,EAAK7rC,GACxB,IAAIxf,EAAIwf,GAAU,EACds8nB,EAAMD,EAEV,MAAQ,CACNC,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MACvB87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MAAO,IAC9B87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MAAO,IAC9B87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MAAO,IAC9B87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MAAO,IAC9B87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MACvB87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,MACvB87oB,EAAIzwlB,EAAIrrD,MAAO87oB,EAAIzwlB,EAAIrrD,OACtBiP,KAAK,GACV,qBChBA,IAAI9Q,EAAqC,oBAAXoL,QAA0BA,OAAOpL,iBAAmBoL,OAAOpL,gBAAgB6kC,KAAKz5B,SACnE,oBAAbvL,UAAsE,mBAAnCH,OAAOG,SAASG,iBAAiCH,SAASG,gBAAgB6kC,KAAKhlC,UAEhJ,GAAIG,EAAiB,CAEnB,IAAI49oB,EAAQ,IAAIr1oB,WAAW,IAE3BssC,EAAOp1C,QAAU,WAEf,OADAO,EAAgB49oB,GACTA,CACT,CACF,KAAO,CAKL,IAAIC,EAAO,IAAI78oB,MAAM,IAErB6zC,EAAOp1C,QAAU,WACf,IAAK,IAAWqD,EAAPjB,EAAI,EAAMA,EAAI,GAAIA,IACN,KAAV,EAAJA,KAAiBiB,EAAoB,WAAhB6J,KAAK8xD,UAC/Bo/kB,EAAKh8oB,GAAKiB,MAAY,EAAJjB,IAAa,GAAK,IAGtC,OAAOg8oB,CACT,CACF,yBCjCA,IAQIC,EACAC,EATAz7F,EAAM7hjB,EAAQ,OACdu9oB,EAAcv9oB,EAAQ,OAWtBw9oB,EAAa,EACbC,EAAa,EA+FjBrpmB,EAAOp1C,QA5FP,SAAY4c,EAAS6wC,EAAK7rC,GACxB,IAAIxf,EAAIqrD,GAAO7rC,GAAU,EACrBzgB,EAAIssD,GAAO,GAGXjuC,GADJ5C,EAAUA,GAAW,CAAC,GACH4C,MAAQ6+nB,EACvBt3D,OAAgC5mlB,IAArByc,EAAQmqkB,SAAyBnqkB,EAAQmqkB,SAAWu3D,EAKnE,GAAY,MAAR9+nB,GAA4B,MAAZunkB,EAAkB,CACpC,IAAI23D,EAAY77F,IACJ,MAARrjiB,IAEFA,EAAO6+nB,EAAU,CACA,EAAfK,EAAU,GACVA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAGtD,MAAZ33D,IAEFA,EAAWu3D,EAAiD,OAApCI,EAAU,IAAM,EAAIA,EAAU,IAE1D,CAMA,IAAI13D,OAA0B7mlB,IAAlByc,EAAQoqkB,MAAsBpqkB,EAAQoqkB,OAAQ,IAAItniB,MAAO06E,UAIjE6sd,OAA0B9mlB,IAAlByc,EAAQqqkB,MAAsBrqkB,EAAQqqkB,MAAQw3D,EAAa,EAGnEruG,EAAM42C,EAAQw3D,GAAev3D,EAAQw3D,GAAY,IAcrD,GAXIruG,EAAK,QAA0BjwiB,IAArByc,EAAQmqkB,WACpBA,EAAWA,EAAW,EAAI,QAKvB32C,EAAK,GAAK42C,EAAQw3D,SAAiCr+oB,IAAlByc,EAAQqqkB,QAC5CA,EAAQ,GAINA,GAAS,IACX,MAAM,IAAI18kB,MAAM,mDAGlBi0oB,EAAax3D,EACby3D,EAAax3D,EACbq3D,EAAYv3D,EAMZ,IAAIlwE,GAA4B,KAAb,WAHnBmwE,GAAS,cAG+BC,GAAS,WACjD9llB,EAAEiB,KAAOy0gB,IAAO,GAAK,IACrB11gB,EAAEiB,KAAOy0gB,IAAO,GAAK,IACrB11gB,EAAEiB,KAAOy0gB,IAAO,EAAI,IACpB11gB,EAAEiB,KAAY,IAALy0gB,EAGT,IAAI8nI,EAAO33D,EAAQ,WAAc,IAAS,UAC1C7llB,EAAEiB,KAAOu8oB,IAAQ,EAAI,IACrBx9oB,EAAEiB,KAAa,IAANu8oB,EAGTx9oB,EAAEiB,KAAOu8oB,IAAQ,GAAK,GAAM,GAC5Bx9oB,EAAEiB,KAAOu8oB,IAAQ,GAAK,IAGtBx9oB,EAAEiB,KAAO2klB,IAAa,EAAI,IAG1B5llB,EAAEiB,KAAkB,IAAX2klB,EAGT,IAAK,IAAI1klB,EAAI,EAAGA,EAAI,IAAKA,EACvBlB,EAAEiB,EAAIC,GAAKmd,EAAKnd,GAGlB,OAAOorD,GAAY8wlB,EAAYp9oB,EACjC,yBC1GA,IAAI0hjB,EAAM7hjB,EAAQ,OACdu9oB,EAAcv9oB,EAAQ,OA2B1Bo0C,EAAOp1C,QAzBP,SAAY4c,EAAS6wC,EAAK7rC,GACxB,IAAIxf,EAAIqrD,GAAO7rC,GAAU,EAEF,iBAAZhF,IACT6wC,EAAkB,WAAZ7wC,EAAuB,IAAIrb,MAAM,IAAM,KAC7Cqb,EAAU,MAIZ,IAAIwhoB,GAFJxhoB,EAAUA,GAAW,CAAC,GAEHoiD,SAAWpiD,EAAQimiB,KAAOA,KAO7C,GAJAu7F,EAAK,GAAgB,GAAVA,EAAK,GAAa,GAC7BA,EAAK,GAAgB,GAAVA,EAAK,GAAa,IAGzB3wlB,EACF,IAAK,IAAIkqI,EAAK,EAAGA,EAAK,KAAMA,EAC1BlqI,EAAIrrD,EAAIu1L,GAAMymd,EAAKzmd,GAIvB,OAAOlqI,GAAO8wlB,EAAYH,EAC5B,oCCxBAh9oB,OAAOqC,eAAezD,EAAS,aAA/BoB,CAA+CsD,OAAO,IAiBtD1E,EAAQgC,SAAW,WAQf,OAPAhC,EAAQgC,SAAWZ,OAAOa,QAAU,SAAkBC,GAClD,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOlC,EAAQgC,SAASS,MAAMb,KAAMU,UACxC,EAqDAtC,EAAQyG,OA3BR,SAAgBL,EAAG/D,GACf,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,EAaA1G,EAAQ0C,OApDR,SAAgBP,EAAGQ,GACf,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,EA2CAlC,EAAQ4+oB,cAZR,SAAuBn3jB,EAAIv7E,EAAM2yoB,GAC7B,GAAIA,GAA6B,IAArBv8oB,UAAUC,OAAc,IAAK,IAA4BmE,EAAxBtE,EAAI,EAAGwlC,EAAI17B,EAAK3J,OAAYH,EAAIwlC,EAAGxlC,KACxEsE,GAAQtE,KAAK8J,IACRxF,IAAIA,EAAKnF,MAAMO,UAAUid,MAAMvc,KAAK0J,EAAM,EAAG9J,IAClDsE,EAAGtE,GAAK8J,EAAK9J,IAGrB,OAAOqlF,EAAG9mF,OAAO+F,GAAMnF,MAAMO,UAAUid,MAAMvc,KAAK0J,GACtD,EAKAlM,EAAQwG,SA1CR,SAAkBJ,GACd,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,sCChDA,IAAI28oB,EAAS99oB,EAAQ,OAEjB+9oB,EAAwB,CAC1B//mB,QAAS,KAqEXh/B,EAAQ,EA5CR,SAAiBg/oB,EAAUpgD,EAAWhilB,GACpC,IAAI2qK,EAAkBu3d,EAAO98oB,SAAS88oB,EAAO98oB,SAAS,CAAC,EAAG+8oB,GAAwBnioB,GAElF,OAAO,IAAItY,SAAQ,SAAUsqD,EAAKqwlB,GAChC,IAAIl6oB,GAAO,EAMX,IAAIg/X,EAASx8M,EAAgBvoJ,UAAYq1B,SAAWl0D,EAAYib,YAAW,WACzEo4C,EAAIpd,cACJ6omB,EAAI,IAAI10oB,MAAM,cAAc5J,OAAO4mL,EAAgBvoJ,QAAS,iBAC9D,GAAGuoJ,EAAgBvoJ,SAEfhrB,EAAU,WACZmrB,aAAa4kW,GACbh/X,GAAO,EACC,OAARyuD,QAAwB,IAARA,GAA0BA,EAAIpd,aAChD,EAEIod,EAAMwrlB,EAAShmmB,UAAU,CAC3Bp0C,KAAM,SAAUs6oB,GACVtgD,EAAUsgD,KACZlroB,IACA46C,EAAIswlB,GAER,EACAv4oB,MAAO,SAAU6wC,GACfxjC,IACAiroB,EAAIznmB,EACN,EACAgrD,SAAU,WACRxuF,IACAiroB,EAAI,IAAI10oB,MAAM,iDAChB,IAGExF,GACFyuD,EAAIpd,aAER,GACF,yBC1EAhB,EAAOp1C,QAAU,EAAjBo1C,OAAAA,6CCOA,SAASxiC,EAAgB2G,EAAUq2nB,GAAe,KAAMr2nB,aAAoBq2nB,GAAgB,MAAM,IAAI5poB,UAAU,oCAAwC,CAExJ,SAAS0poB,EAAkBzsoB,EAAQiQ,GAAS,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CAAE,IAAIusE,EAAaz7D,EAAM9Q,GAAIusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EAAOkjE,EAAWvlB,cAAe,EAAU,UAAWulB,IAAYA,EAAWtlB,UAAW,GAAMjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAAa,CAAE,CAE5T,SAAS57D,EAAa68nB,EAAaE,EAAYC,GAAmJ,OAAhID,GAAYJ,EAAkBE,EAAY9toB,UAAWguoB,GAAiBC,GAAaL,EAAkBE,EAAaG,GAAqBH,CAAa,CANtN5voB,EAAQm/oB,gBAAa,EASrB,IAAIC,EAAa,WACf,MAAyB,oBAAXx5oB,MAChB,EAEIy5oB,EAAY,SAAU12oB,GACxB,OAAOy2oB,KAAgBpooB,QAAQpR,OAAO+C,GACxC,EAEI22oB,EAAY,SAAU32oB,GACxB,OAAO02oB,EAAU12oB,GAAQ/C,OAAO+C,GAAQ,KAAOA,CACjD,EAEIy2oB,MAAiBC,EAAU,gBAC7Bz5oB,OAAO25oB,WAAa35oB,OAAO,eAG7B,IAAI45oB,EAAiBF,EAAU,YAC3BG,EAAmBH,EAAU,cAC7BI,EAAgBJ,EAAU,WAE9B,SAAS1xf,EAAUrkI,EAAKrmB,GACtB,IAAIwB,EAAQ6kB,EAAIrmB,GAChB,GAAa,MAATwB,EAAJ,CACA,GAAqB,oBAAVA,EAAsB,MAAM,IAAIsB,UAAUtB,EAAQ,sBAC7D,OAAOA,CAF4B,CAGrC,CAEA,SAASi7oB,EAAWp2nB,GAClB,IAAI8jF,EAAO9jF,EAAI1nB,YAUf,YARa1B,IAATktG,GAGW,QAFbA,EAAOA,EAAKqyiB,MAGVryiB,OAAOltG,QAIKA,IAATktG,EAAqBA,EAAO8xiB,CACrC,CAEA,SAASS,EAAap9nB,GACpB,OAAOA,aAAa28nB,CACtB,CAEA,SAASU,EAAgBl9oB,GACnBk9oB,EAAgBjnhB,IAClBinhB,EAAgBjnhB,IAAIj2H,GAEpByY,YAAW,WACT,MAAMzY,CACR,GAEJ,CAEA,SAASm9oB,EAAQh7nB,GACfxgB,QAAQC,UAAUS,MAAK,WACrB,IACE8f,GACF,CAAE,MAAOniB,GACPk9oB,EAAgBl9oB,EAClB,CACF,GACF,CAEA,SAASo9oB,EAAoBC,GAC3B,IAAIrijB,EAAUqijB,EAAajjjB,SAC3B,QAAgB58F,IAAZw9F,IACJqijB,EAAajjjB,cAAW58F,EAEnBw9F,GAIL,IACE,GAAuB,oBAAZA,EACTA,QACK,CACL,IAAIvnD,EAAcw3G,EAAUjwD,EAAS,eAEjCvnD,GACFA,EAAY5zC,KAAKm7F,EAErB,CACF,CAAE,MAAOh7F,GACPk9oB,EAAgBl9oB,EAClB,CACF,CAEA,SAASs9oB,EAAkBD,GACzBA,EAAahxhB,eAAY7uH,EACzB6/oB,EAAa7rhB,YAASh0H,EACtB6/oB,EAAah7gB,OAAS,QACxB,CAkBA,SAASk7gB,EAAmBF,EAAc5moB,EAAM1U,GAC9Cs7oB,EAAah7gB,OAAS,UACtB,IAAIivC,EAAW+re,EAAahxhB,UAE5B,IACE,IAAI3oH,EAAIunJ,EAAUqmB,EAAU76J,GAE5B,OAAQA,GACN,IAAK,OACC/S,GAAGA,EAAE7D,KAAKyxK,EAAUvvK,GACxB,MAEF,IAAK,QAEH,GADAu7oB,EAAkBD,IACd35oB,EAAgC,MAAM3B,EAAnC2B,EAAE7D,KAAKyxK,EAAUvvK,GACxB,MAEF,IAAK,WACHu7oB,EAAkBD,GACd35oB,GAAGA,EAAE7D,KAAKyxK,GAGpB,CAAE,MAAOtxK,GACPk9oB,EAAgBl9oB,EAClB,CAE4B,WAAxBq9oB,EAAah7gB,OAAqB+6gB,EAAoBC,GAA+C,YAAxBA,EAAah7gB,SAAsBg7gB,EAAah7gB,OAAS,QAC5I,CAEA,SAASm7gB,EAASH,EAAc5moB,EAAM1U,GACpC,GAA4B,WAAxBs7oB,EAAah7gB,OAAjB,CAEA,GAA4B,cAAxBg7gB,EAAah7gB,OASjB,MAA4B,UAAxBg7gB,EAAah7gB,QACfg7gB,EAAah7gB,OAAS,YACtBg7gB,EAAa7rhB,OAAS,CAAC,CACrB/6G,KAAMA,EACN1U,MAAOA,SAETo7oB,GAAQ,WACN,OAhEN,SAA2BE,GACzB,IAAIrrhB,EAAQqrhB,EAAa7rhB,OAEzB,GAAKQ,EAAL,CAIAqrhB,EAAa7rhB,YAASh0H,EACtB6/oB,EAAah7gB,OAAS,QAEtB,IAAK,IAAI5iI,EAAI,EAAGA,EAAIuyH,EAAMpyH,SACxB29oB,EAAmBF,EAAcrrhB,EAAMvyH,GAAGgX,KAAMu7G,EAAMvyH,GAAGsC,OAC7B,WAAxBs7oB,EAAah7gB,UAFiB5iI,GALpC,CASF,CAkDag+oB,CAAkBJ,EAC3B,UAIFE,EAAmBF,EAAc5moB,EAAM1U,GApBrCs7oB,EAAa7rhB,OAAOjuH,KAAK,CACvBkT,KAAMA,EACN1U,MAAOA,GALiC,CAwB9C,CAEA,IAAI27oB,EAEJ,WACE,SAASA,EAAapse,EAAUqse,GAC9B1toB,EAAgBhR,KAAMy+oB,GAItBz+oB,KAAKm7F,cAAW58F,EAChByB,KAAKotH,UAAYilD,EACjBryK,KAAKuyH,YAASh0H,EACdyB,KAAKojI,OAAS,eACd,IAAIu7gB,EAAuB,IAAIC,EAAqB5+oB,MAEpD,IACEA,KAAKm7F,SAAWujjB,EAAW99oB,UAAKrC,EAAWogpB,EAC7C,CAAE,MAAO59oB,GACP49oB,EAAqB55oB,MAAMhE,EAC7B,CAEoB,iBAAhBf,KAAKojI,SAA2BpjI,KAAKojI,OAAS,QACpD,CAiBA,OAfAjyH,EAAastoB,EAAc,CAAC,CAC1Bn9oB,IAAK,cACLwB,MAAO,WACe,WAAhB9C,KAAKojI,SACPi7gB,EAAkBr+oB,MAClBm+oB,EAAoBn+oB,MAExB,GACC,CACDsB,IAAK,SACLsF,IAAK,WACH,MAAuB,WAAhB5G,KAAKojI,MACd,KAGKq7gB,CACT,CArCA,GAuCIG,EAEJ,WACE,SAASA,EAAqBR,GAC5BptoB,EAAgBhR,KAAM4+oB,GAEtB5+oB,KAAK6+oB,cAAgBT,CACvB,CAwBA,OAtBAjtoB,EAAaytoB,EAAsB,CAAC,CAClCt9oB,IAAK,OACLwB,MAAO,SAAcA,GACnBy7oB,EAASv+oB,KAAK6+oB,cAAe,OAAQ/7oB,EACvC,GACC,CACDxB,IAAK,QACLwB,MAAO,SAAeA,GACpBy7oB,EAASv+oB,KAAK6+oB,cAAe,QAAS/7oB,EACxC,GACC,CACDxB,IAAK,WACLwB,MAAO,WACLy7oB,EAASv+oB,KAAK6+oB,cAAe,WAC/B,GACC,CACDv9oB,IAAK,SACLsF,IAAK,WACH,MAAqC,WAA9B5G,KAAK6+oB,cAAcz7gB,MAC5B,KAGKw7gB,CACT,CA9BA,GAgCIrB,EAEJ,WACE,SAASA,EAAWmB,GAGlB,GAFA1toB,EAAgBhR,KAAMu9oB,KAEhBv9oB,gBAAgBu9oB,GAAa,MAAM,IAAIn5oB,UAAU,6CACvD,GAA0B,oBAAfs6oB,EAA2B,MAAM,IAAIt6oB,UAAU,6CAC1DpE,KAAK8+oB,YAAcJ,CACrB,CAkVA,OAhVAvtoB,EAAaosoB,EAAY,CAAC,CACxBj8oB,IAAK,YACLwB,MAAO,SAAmBuvK,GASxB,MARwB,kBAAbA,GAAsC,OAAbA,IAClCA,EAAW,CACTrvK,KAAMqvK,EACNttK,MAAOrE,UAAU,GACjBkgG,SAAUlgG,UAAU,KAIjB,IAAI+9oB,EAAapse,EAAUryK,KAAK8+oB,YACzC,GACC,CACDx9oB,IAAK,UACLwB,MAAO,SAAiBogB,GACtB,IAAIha,EAAQlJ,KAEZ,OAAO,IAAI0C,SAAQ,SAAUC,EAASC,GACpC,GAAkB,oBAAPsgB,EAUX,IAAIk7nB,EAAel1oB,EAAMkuC,UAAU,CACjCp0C,KAAM,SAAUF,GACd,IACEogB,EAAGpgB,EAAOK,EACZ,CAAE,MAAOpC,GACP6B,EAAO7B,GACPq9oB,EAAa5pmB,aACf,CACF,EACAzvC,MAAOnC,EACPg+F,SAAUj+F,SAnBVC,EAAO,IAAIwB,UAAU8e,EAAK,uBAI5B,SAAS/f,IACPi7oB,EAAa5pmB,cACb7xC,GACF,CAcF,GACF,GACC,CACDrB,IAAK,MACLwB,MAAO,SAAaogB,GAClB,IAAIvR,EAAS3R,KAEb,GAAkB,oBAAPkjB,EAAmB,MAAM,IAAI9e,UAAU8e,EAAK,sBAEvD,OAAO,IADC66nB,EAAW/9oB,MACZ,EAAM,SAAUqyK,GACrB,OAAO1gK,EAAOylC,UAAU,CACtBp0C,KAAM,SAAUF,GACd,IACEA,EAAQogB,EAAGpgB,EACb,CAAE,MAAO/B,GACP,OAAOsxK,EAASttK,MAAMhE,EACxB,CAEAsxK,EAASrvK,KAAKF,EAChB,EACAiC,MAAO,SAAUhE,GACfsxK,EAASttK,MAAMhE,EACjB,EACA6/F,SAAU,WACRyxE,EAASzxE,UACX,GAEJ,GACF,GACC,CACDt/F,IAAK,SACLwB,MAAO,SAAgBogB,GACrB,IAAIlR,EAAShS,KAEb,GAAkB,oBAAPkjB,EAAmB,MAAM,IAAI9e,UAAU8e,EAAK,sBAEvD,OAAO,IADC66nB,EAAW/9oB,MACZ,EAAM,SAAUqyK,GACrB,OAAOrgK,EAAOolC,UAAU,CACtBp0C,KAAM,SAAUF,GACd,IACE,IAAKogB,EAAGpgB,GAAQ,MAClB,CAAE,MAAO/B,GACP,OAAOsxK,EAASttK,MAAMhE,EACxB,CAEAsxK,EAASrvK,KAAKF,EAChB,EACAiC,MAAO,SAAUhE,GACfsxK,EAASttK,MAAMhE,EACjB,EACA6/F,SAAU,WACRyxE,EAASzxE,UACX,GAEJ,GACF,GACC,CACDt/F,IAAK,SACLwB,MAAO,SAAgBogB,GACrB,IAAIhR,EAASlS,KAEb,GAAkB,oBAAPkjB,EAAmB,MAAM,IAAI9e,UAAU8e,EAAK,sBACvD,IAAIwyC,EAAIqolB,EAAW/9oB,MACf++oB,EAAUr+oB,UAAUC,OAAS,EAC7Bm+U,GAAW,EAEXnkU,EADOja,UAAU,GAErB,OAAO,IAAIg1D,GAAE,SAAU28G,GACrB,OAAOngK,EAAOklC,UAAU,CACtBp0C,KAAM,SAAUF,GACd,IAAI4sE,GAASovQ,EAGb,GAFAA,GAAW,GAENpvQ,GAASqvkB,EACZ,IACEpkoB,EAAMuI,EAAGvI,EAAK7X,EAChB,CAAE,MAAO/B,GACP,OAAOsxK,EAASttK,MAAMhE,EACxB,MAEA4Z,EAAM7X,CAEV,EACAiC,MAAO,SAAUhE,GACfsxK,EAASttK,MAAMhE,EACjB,EACA6/F,SAAU,WACR,IAAKk+O,IAAaigU,EAAS,OAAO1se,EAASttK,MAAM,IAAIX,UAAU,oCAC/DiuK,EAASrvK,KAAK2X,GACd03J,EAASzxE,UACX,GAEJ,GACF,GACC,CACDt/F,IAAK,SACLwB,MAAO,WAGL,IAFA,IAAI2P,EAASzS,KAEJ40B,EAAOl0B,UAAUC,OAAQ+3lB,EAAU,IAAI/4lB,MAAMi1B,GAAO9M,EAAO,EAAGA,EAAO8M,EAAM9M,IAClF4wkB,EAAQ5wkB,GAAQpnB,UAAUonB,GAG5B,IAAI4tC,EAAIqolB,EAAW/9oB,MACnB,OAAO,IAAI01D,GAAE,SAAU28G,GACrB,IAAI+re,EACArhoB,EAAQ,EAsBZ,OApBA,SAASiioB,EAAUh8oB,GACjBo7oB,EAAep7oB,EAAKo0C,UAAU,CAC5Bp0C,KAAM,SAAUkB,GACdmuK,EAASrvK,KAAKkB,EAChB,EACAa,MAAO,SAAUhE,GACfsxK,EAASttK,MAAMhE,EACjB,EACA6/F,SAAU,WACJ7jF,IAAU27kB,EAAQ/3lB,QACpBy9oB,OAAe7/oB,EACf8zK,EAASzxE,YAETo+iB,EAAUtplB,EAAEprD,KAAKoulB,EAAQ37kB,MAE7B,GAEJ,CAEAiioB,CAAUvsoB,GACH,WACD2roB,IACFA,EAAa5pmB,cACb4pmB,OAAe7/oB,EAEnB,CACF,GACF,GACC,CACD+C,IAAK,UACLwB,MAAO,SAAiBogB,GACtB,IAAIimI,EAASnpJ,KAEb,GAAkB,oBAAPkjB,EAAmB,MAAM,IAAI9e,UAAU8e,EAAK,sBACvD,IAAIwyC,EAAIqolB,EAAW/9oB,MACnB,OAAO,IAAI01D,GAAE,SAAU28G,GACrB,IAAI/U,EAAgB,GAEhB3wJ,EAAQw8I,EAAO/xG,UAAU,CAC3Bp0C,KAAM,SAAUF,GACd,GAAIogB,EACF,IACEpgB,EAAQogB,EAAGpgB,EACb,CAAE,MAAO/B,GACP,OAAOsxK,EAASttK,MAAMhE,EACxB,CAGF,IAAI6L,EAAQ8oD,EAAEprD,KAAKxH,GAAOs0C,UAAU,CAClCp0C,KAAM,SAAUF,GACduvK,EAASrvK,KAAKF,EAChB,EACAiC,MAAO,SAAUhE,GACfsxK,EAASttK,MAAMhE,EACjB,EACA6/F,SAAU,WACR,IAAIpgG,EAAI88J,EAAct8J,QAAQ4L,GAC1BpM,GAAK,GAAG88J,EAAchqJ,OAAO9S,EAAG,GACpCy+oB,GACF,IAEF3hf,EAAch5J,KAAKsI,EACrB,EACA7H,MAAO,SAAUhE,GACfsxK,EAASttK,MAAMhE,EACjB,EACA6/F,SAAU,WACRq+iB,GACF,IAGF,SAASA,IACHtyoB,EAAMozkB,QAAmC,IAAzBzib,EAAc38J,QAAc0xK,EAASzxE,UAC3D,CAEA,OAAO,WACL08D,EAAcptJ,SAAQ,SAAU3P,GAC9B,OAAOA,EAAEi0C,aACX,IACA7nC,EAAM6nC,aACR,CACF,GACF,GACC,CACDlzC,IAAKu8oB,EACL/6oB,MAAO,WACL,OAAO9C,IACT,IACE,CAAC,CACHsB,IAAK,OACLwB,MAAO,SAAc8d,GACnB,IAAI80C,EAAoB,oBAAT11D,KAAsBA,KAAOu9oB,EAC5C,GAAS,MAAL38nB,EAAW,MAAM,IAAIxc,UAAUwc,EAAI,qBACvC,IAAI3hB,EAAS+sJ,EAAUprI,EAAGi9nB,GAE1B,GAAI5+oB,EAAQ,CACV,IAAI0+oB,EAAa1+oB,EAAO2B,KAAKggB,GAC7B,GAAIphB,OAAOm+oB,KAAgBA,EAAY,MAAM,IAAIv5oB,UAAUu5oB,EAAa,qBACxE,OAAIK,EAAaL,IAAeA,EAAW19oB,cAAgBy1D,EAAUiolB,EAC9D,IAAIjolB,GAAE,SAAU28G,GACrB,OAAOsre,EAAWvmmB,UAAUi7H,EAC9B,GACF,CAEA,GAAIore,EAAU,cACZx+oB,EAAS+sJ,EAAUprI,EAAGg9nB,IAGpB,OAAO,IAAIlolB,GAAE,SAAU28G,GACrB6re,GAAQ,WACN,IAAI7re,EAAS0ta,OAAb,CACA,IAAIm/D,GAA4B,EAC5BC,GAAoB,EACpBC,OAAiB7gpB,EAErB,IACE,IAAK,IAAmDkiY,EAA/C4+Q,EAAYpgpB,EAAO2B,KAAKggB,GAAG5c,OAAOC,cAAsBi7oB,GAA6Bz+Q,EAAQ4+Q,EAAUr8oB,QAAQG,MAAO+7oB,GAA4B,EAAM,CAC/J,IAAII,EAAQ7+Q,EAAM39X,MAElB,GADAuvK,EAASrvK,KAAKs8oB,GACVjte,EAAS0ta,OAAQ,MACvB,CACF,CAAE,MAAOnqiB,GACPupmB,GAAoB,EACpBC,EAAiBxpmB,CACnB,CAAE,QACA,IACOspmB,GAAiD,MAApBG,EAAUthoB,QAC1CshoB,EAAUthoB,QAEd,CAAE,QACA,GAAIohoB,EACF,MAAMC,CAEV,CACF,CAEA/se,EAASzxE,UA1BkB,CA2B7B,GACF,IAIJ,GAAIjhG,MAAMkoB,QAAQjH,GAChB,OAAO,IAAI80C,GAAE,SAAU28G,GACrB6re,GAAQ,WACN,IAAI7re,EAAS0ta,OAAb,CAEA,IAAK,IAAIv/kB,EAAI,EAAGA,EAAIogB,EAAEjgB,SAAUH,EAE9B,GADA6xK,EAASrvK,KAAK4d,EAAEpgB,IACZ6xK,EAAS0ta,OAAQ,OAGvB1ta,EAASzxE,UAPkB,CAQ7B,GACF,IAGF,MAAM,IAAIx8F,UAAUwc,EAAI,qBAC1B,GACC,CACDtf,IAAK,KACLwB,MAAO,WACL,IAAK,IAAImvC,EAAQvxC,UAAUC,OAAQymF,EAAQ,IAAIznF,MAAMsyC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACrFk1C,EAAMl1C,GAASxxC,UAAUwxC,GAI3B,OAAO,IADiB,oBAATlyC,KAAsBA,KAAOu9oB,IAC/B,SAAUlre,GACrB6re,GAAQ,WACN,IAAI7re,EAAS0ta,OAAb,CAEA,IAAK,IAAIv/kB,EAAI,EAAGA,EAAI4mF,EAAMzmF,SAAUH,EAElC,GADA6xK,EAASrvK,KAAKokF,EAAM5mF,IAChB6xK,EAAS0ta,OAAQ,OAGvB1ta,EAASzxE,UAPkB,CAQ7B,GACF,GACF,GACC,CACDt/F,IAAKw8oB,EACLl3oB,IAAK,WACH,OAAO5G,IACT,KAGKu9oB,CACT,CA1VA,GA4VAn/oB,EAAQm/oB,WAAaA,EAEjBC,KACFh+oB,OAAOqC,eAAe07oB,EAAYv5oB,OAAO,cAAe,CACtDlB,MAAO,CACLq4K,OAAQ0ie,EACRI,gBAAiBA,GAEnBz2lB,cAAc,0CCjmBlBhU,EAAOp1C,QALP,SAA2B6gD,EAAKxwC,IACnB,MAAPA,GAAeA,EAAMwwC,EAAIt+C,UAAQ8N,EAAMwwC,EAAIt+C,QAC/C,IAAK,IAAIH,EAAI,EAAGyyoB,EAAO,IAAItzoB,MAAM8O,GAAMjO,EAAIiO,EAAKjO,IAAKyyoB,EAAKzyoB,GAAKy+C,EAAIz+C,GACnE,OAAOyyoB,CACT,EACoCz/lB,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,+BCLzG,IAAImhpB,EAAmB,EAAQ,OAI/B/rmB,EAAOp1C,QAHP,SAA4B6gD,GAC1B,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAOsgmB,EAAiBtgmB,EAClD,EACqCzL,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,2BCC1Go1C,EAAOp1C,QALP,SAAgCupB,GAC9B,OAAOA,GAAOA,EAAIthB,WAAashB,EAAM,CACnC,QAAWA,EAEf,EACyC6rB,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,2BCF9Go1C,EAAOp1C,QAHP,SAA0Bw8I,GACxB,GAAsB,qBAAX52I,QAAmD,MAAzB42I,EAAK52I,OAAOC,WAA2C,MAAtB22I,EAAK,cAAuB,OAAOj7I,MAAM2K,KAAKswI,EACtH,EACmCpnG,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,2BCAxGo1C,EAAOp1C,QAHP,WACE,MAAM,IAAIgG,UAAU,uIACtB,EACqCovC,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,+BCH1G,IAAI2zoB,EAAU,iBACd,SAASnlI,IACP,aACAp5d,EAAOp1C,QAAUwugB,EAAsB,WACrC,OAAOxugB,CACT,EAAGo1C,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,QACxE,IAAIA,EAAU,CAAC,EACbohpB,EAAKhgpB,OAAOU,UACZy0D,EAAS6qlB,EAAG3/oB,eACZgC,EAAiBrC,OAAOqC,gBAAkB,SAAU8lB,EAAKrmB,EAAKC,GAC5DomB,EAAIrmB,GAAOC,EAAKuB,KAClB,EACA28oB,EAAU,mBAAqBz7oB,OAASA,OAAS,CAAC,EAClD07oB,EAAiBD,EAAQx7oB,UAAY,aACrC07oB,EAAsBF,EAAQj6oB,eAAiB,kBAC/Co6oB,EAAoBH,EAAQr+lB,aAAe,gBAC7C,SAAS2kf,EAAOp+gB,EAAKrmB,EAAKwB,GACxB,OAAOtD,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CACrCwB,MAAOA,EACP+G,YAAY,EACZ29C,cAAc,EACdC,UAAU,IACR9/B,EAAIrmB,EACV,CACA,IACEykiB,EAAO,CAAC,EAAG,GACb,CAAE,MAAOnwf,GACPmwf,EAAS,SAAgBp+gB,EAAKrmB,EAAKwB,GACjC,OAAO6kB,EAAIrmB,GAAOwB,CACpB,CACF,CACA,SAASmoH,EAAK40hB,EAASC,EAAS1xoB,EAAM2xoB,GACpC,IAAIC,EAAiBF,GAAWA,EAAQ5/oB,qBAAqB+/oB,EAAYH,EAAUG,EACjFx9oB,EAAYjD,OAAOW,OAAO6/oB,EAAe9/oB,WACzCgR,EAAU,IAAIgvoB,EAAQH,GAAe,IACvC,OAAOl+oB,EAAeY,EAAW,UAAW,CAC1CK,MAAOq9oB,EAAiBN,EAASzxoB,EAAM8C,KACrCzO,CACN,CACA,SAAS29oB,EAASl9nB,EAAIyE,EAAKxE,GACzB,IACE,MAAO,CACL3L,KAAM,SACN2L,IAAKD,EAAGtiB,KAAK+mB,EAAKxE,GAEtB,CAAE,MAAOyyB,GACP,MAAO,CACLp+B,KAAM,QACN2L,IAAKyyB,EAET,CACF,CACAx3C,EAAQ6sH,KAAOA,EACf,IAAIo1hB,EAAmB,CAAC,EACxB,SAASJ,IAAa,CACtB,SAASK,IAAqB,CAC9B,SAASC,IAA8B,CACvC,IAAIrkG,EAAoB,CAAC,EACzBnW,EAAOmW,EAAmBwjG,GAAgB,WACxC,OAAO1/oB,IACT,IACA,IAAIwgpB,EAAWhhpB,OAAOogD,eACpB6gmB,EAA0BD,GAAYA,EAASA,EAAS58mB,EAAO,MACjE68mB,GAA2BA,IAA4BjB,GAAM7qlB,EAAO/zD,KAAK6/oB,EAAyBf,KAAoBxjG,EAAoBukG,GAC1I,IAAIC,EAAKH,EAA2BrgpB,UAAY+/oB,EAAU//oB,UAAYV,OAAOW,OAAO+7iB,GACpF,SAASykG,EAAsBzgpB,GAC7B,CAAC,OAAQ,QAAS,UAAUgQ,SAAQ,SAAUjR,GAC5C8miB,EAAO7liB,EAAWjB,GAAQ,SAAUkkB,GAClC,OAAOnjB,KAAKs+gB,QAAQr/gB,EAAQkkB,EAC9B,GACF,GACF,CACA,SAAS81jB,EAAcx2kB,EAAWm+oB,GAChC,SAASC,EAAO5hpB,EAAQkkB,EAAKxgB,EAASC,GACpC,IAAI44I,EAAS4kgB,EAAS39oB,EAAUxD,GAASwD,EAAW0gB,GACpD,GAAI,UAAYq4H,EAAOhkI,KAAM,CAC3B,IAAItU,EAASs4I,EAAOr4H,IAClBrgB,EAAQI,EAAOJ,MACjB,OAAOA,GAAS,UAAYivoB,EAAQjvoB,IAAU6xD,EAAO/zD,KAAKkC,EAAO,WAAa89oB,EAAYj+oB,QAAQG,EAAMwC,SAASlC,MAAK,SAAUN,GAC9H+9oB,EAAO,OAAQ/9oB,EAAOH,EAASC,EACjC,IAAG,SAAUgzC,GACXirmB,EAAO,QAASjrmB,EAAKjzC,EAASC,EAChC,IAAKg+oB,EAAYj+oB,QAAQG,GAAOM,MAAK,SAAU09oB,GAC7C59oB,EAAOJ,MAAQg+oB,EAAWn+oB,EAAQO,EACpC,IAAG,SAAU6B,GACX,OAAO87oB,EAAO,QAAS97oB,EAAOpC,EAASC,EACzC,GACF,CACAA,EAAO44I,EAAOr4H,IAChB,CACA,IAAI49nB,EACJl/oB,EAAe7B,KAAM,UAAW,CAC9B8C,MAAO,SAAe7D,EAAQkkB,GAC5B,SAAS69nB,IACP,OAAO,IAAIJ,GAAY,SAAUj+oB,EAASC,GACxCi+oB,EAAO5hpB,EAAQkkB,EAAKxgB,EAASC,EAC/B,GACF,CACA,OAAOm+oB,EAAkBA,EAAkBA,EAAgB39oB,KAAK49oB,EAA4BA,GAA8BA,GAC5H,GAEJ,CACA,SAASb,EAAiBN,EAASzxoB,EAAM8C,GACvC,IAAI9G,EAAQ,iBACZ,OAAO,SAAUnL,EAAQkkB,GACvB,GAAI,cAAgB/Y,EAAO,MAAM,IAAIzB,MAAM,gCAC3C,GAAI,cAAgByB,EAAO,CACzB,GAAI,UAAYnL,EAAQ,MAAMkkB,EAC9B,OAAO89nB,GACT,CACA,IAAK/voB,EAAQjS,OAASA,EAAQiS,EAAQiS,IAAMA,IAAO,CACjD,IAAIi1jB,EAAWlnkB,EAAQknkB,SACvB,GAAIA,EAAU,CACZ,IAAI8oE,EAAiBC,EAAoB/oE,EAAUlnkB,GACnD,GAAIgwoB,EAAgB,CAClB,GAAIA,IAAmBb,EAAkB,SACzC,OAAOa,CACT,CACF,CACA,GAAI,SAAWhwoB,EAAQjS,OAAQiS,EAAQtN,KAAOsN,EAAQmnkB,MAAQnnkB,EAAQiS,SAAS,GAAI,UAAYjS,EAAQjS,OAAQ,CAC7G,GAAI,mBAAqBmL,EAAO,MAAMA,EAAQ,YAAa8G,EAAQiS,IACnEjS,EAAQonkB,kBAAkBpnkB,EAAQiS,IACpC,KAAO,WAAajS,EAAQjS,QAAUiS,EAAQ47f,OAAO,SAAU57f,EAAQiS,KACvE/Y,EAAQ,YACR,IAAIoxI,EAAS4kgB,EAASP,EAASzxoB,EAAM8C,GACrC,GAAI,WAAasqI,EAAOhkI,KAAM,CAC5B,GAAIpN,EAAQ8G,EAAQ/N,KAAO,YAAc,iBAAkBq4I,EAAOr4H,MAAQk9nB,EAAkB,SAC5F,MAAO,CACLv9oB,MAAO04I,EAAOr4H,IACdhgB,KAAM+N,EAAQ/N,KAElB,CACA,UAAYq4I,EAAOhkI,OAASpN,EAAQ,YAAa8G,EAAQjS,OAAS,QAASiS,EAAQiS,IAAMq4H,EAAOr4H,IAClG,CACF,CACF,CACA,SAASg+nB,EAAoB/oE,EAAUlnkB,GACrC,IAAIpS,EAAaoS,EAAQjS,OACvBA,EAASm5kB,EAASn0kB,SAASnF,GAC7B,QAAIP,IAAcU,EAAQ,OAAOiS,EAAQknkB,SAAW,KAAM,UAAYt5kB,GAAcs5kB,EAASn0kB,SAAiB,SAAMiN,EAAQjS,OAAS,SAAUiS,EAAQiS,SAAM5kB,EAAW4ipB,EAAoB/oE,EAAUlnkB,GAAU,UAAYA,EAAQjS,SAAW,WAAaH,IAAeoS,EAAQjS,OAAS,QAASiS,EAAQiS,IAAM,IAAI/e,UAAU,oCAAsCtF,EAAa,aAAcuhpB,EAClY,IAAI7kgB,EAAS4kgB,EAASnhpB,EAAQm5kB,EAASn0kB,SAAUiN,EAAQiS,KACzD,GAAI,UAAYq4H,EAAOhkI,KAAM,OAAOtG,EAAQjS,OAAS,QAASiS,EAAQiS,IAAMq4H,EAAOr4H,IAAKjS,EAAQknkB,SAAW,KAAMioE,EACjH,IAAIlznB,EAAOquH,EAAOr4H,IAClB,OAAOgK,EAAOA,EAAKhqB,MAAQ+N,EAAQknkB,EAASG,YAAcprjB,EAAKrqB,MAAOoO,EAAQlO,KAAOo1kB,EAASI,QAAS,WAAatnkB,EAAQjS,SAAWiS,EAAQjS,OAAS,OAAQiS,EAAQiS,SAAM5kB,GAAY2S,EAAQknkB,SAAW,KAAMioE,GAAoBlznB,GAAQjc,EAAQjS,OAAS,QAASiS,EAAQiS,IAAM,IAAI/e,UAAU,oCAAqC8M,EAAQknkB,SAAW,KAAMioE,EACrW,CACA,SAASe,EAAaC,GACpB,IAAIh0hB,EAAQ,CACVord,OAAQ4oE,EAAK,IAEf,KAAKA,IAASh0hB,EAAMqrd,SAAW2oE,EAAK,IAAK,KAAKA,IAASh0hB,EAAMsrd,WAAa0oE,EAAK,GAAIh0hB,EAAMurd,SAAWyoE,EAAK,IAAKrhpB,KAAK64kB,WAAWv0kB,KAAK+oH,EACrI,CACA,SAASi0hB,EAAcj0hB,GACrB,IAAImuB,EAASnuB,EAAMyrd,YAAc,CAAC,EAClCt9b,EAAOhkI,KAAO,gBAAiBgkI,EAAOr4H,IAAKkqG,EAAMyrd,WAAat9b,CAChE,CACA,SAAS0kgB,EAAQH,GACf//oB,KAAK64kB,WAAa,CAAC,CACjBJ,OAAQ,SACNsnE,EAAY7voB,QAAQkxoB,EAAcphpB,MAAOA,KAAK0xC,OAAM,EAC1D,CACA,SAAS9N,EAAO0gkB,GACd,GAAIA,EAAU,CACZ,IAAIi9C,EAAiBj9C,EAASo7C,GAC9B,GAAI6B,EAAgB,OAAOA,EAAe3gpB,KAAK0jmB,GAC/C,GAAI,mBAAqBA,EAASthmB,KAAM,OAAOshmB,EAC/C,IAAKvqlB,MAAMuqlB,EAAS3jmB,QAAS,CAC3B,IAAIH,GAAK,EACPwC,EAAO,SAASA,IACd,OAASxC,EAAI8jmB,EAAS3jmB,QAAS,GAAIg0D,EAAO/zD,KAAK0jmB,EAAU9jmB,GAAI,OAAOwC,EAAKF,MAAQwhmB,EAAS9jmB,GAAIwC,EAAKG,MAAO,EAAIH,EAC9G,OAAOA,EAAKF,WAAQvE,EAAWyE,EAAKG,MAAO,EAAIH,CACjD,EACF,OAAOA,EAAKA,KAAOA,CACrB,CACF,CACA,MAAO,CACLA,KAAMi+oB,EAEV,CACA,SAASA,IACP,MAAO,CACLn+oB,WAAOvE,EACP4E,MAAM,EAEV,CACA,OAAOm9oB,EAAkBpgpB,UAAYqgpB,EAA4B1+oB,EAAe6+oB,EAAI,cAAe,CACjG59oB,MAAOy9oB,EACP/4lB,cAAc,IACZ3lD,EAAe0+oB,EAA4B,cAAe,CAC5Dz9oB,MAAOw9oB,EACP94lB,cAAc,IACZ84lB,EAAkBnjnB,YAAc4ogB,EAAOw6G,EAA4BX,EAAmB,qBAAsBxhpB,EAAQ26kB,oBAAsB,SAAUyoE,GACtJ,IAAI/1iB,EAAO,mBAAqB+1iB,GAAUA,EAAOvhpB,YACjD,QAASwrG,IAASA,IAAS60iB,GAAqB,uBAAyB70iB,EAAKtuE,aAAesuE,EAAK1kG,MACpG,EAAG3I,EAAQ8nf,KAAO,SAAUs7J,GAC1B,OAAOhipB,OAAOC,eAAiBD,OAAOC,eAAe+hpB,EAAQjB,IAA+BiB,EAAO9hpB,UAAY6gpB,EAA4Bx6G,EAAOy7G,EAAQ5B,EAAmB,sBAAuB4B,EAAOthpB,UAAYV,OAAOW,OAAOugpB,GAAKc,CAC5O,EAAGpjpB,EAAQ46kB,MAAQ,SAAU71jB,GAC3B,MAAO,CACL7d,QAAS6d,EAEb,EAAGw9nB,EAAsB1nE,EAAc/4kB,WAAY6liB,EAAOkzC,EAAc/4kB,UAAWy/oB,GAAqB,WACtG,OAAO3/oB,IACT,IAAI5B,EAAQ66kB,cAAgBA,EAAe76kB,EAAQ6uJ,MAAQ,SAAU4yf,EAASC,EAAS1xoB,EAAM2xoB,EAAaa,QACxG,IAAWA,IAAgBA,EAAcl+oB,SACzC,IAAIk4I,EAAO,IAAIq+b,EAAchud,EAAK40hB,EAASC,EAAS1xoB,EAAM2xoB,GAAca,GACxE,OAAOxipB,EAAQ26kB,oBAAoB+mE,GAAWllgB,EAAOA,EAAK53I,OAAOI,MAAK,SAAUF,GAC9E,OAAOA,EAAOC,KAAOD,EAAOJ,MAAQ83I,EAAK53I,MAC3C,GACF,EAAG29oB,EAAsBD,GAAK36G,EAAO26G,EAAId,EAAmB,aAAc75G,EAAO26G,EAAIhB,GAAgB,WACnG,OAAO1/oB,IACT,IAAI+liB,EAAO26G,EAAI,YAAY,WACzB,MAAO,oBACT,IAAItipB,EAAQoS,KAAO,SAAU01B,GAC3B,IAAIgL,EAAS1xC,OAAO0mC,GAClB11B,EAAO,GACT,IAAK,IAAIlP,KAAO4vC,EAAQ1gC,EAAKlM,KAAKhD,GAClC,OAAOkP,EAAKqxC,UAAW,SAAS7+C,IAC9B,KAAOwN,EAAK7P,QAAS,CACnB,IAAIW,EAAMkP,EAAKnM,MACf,GAAI/C,KAAO4vC,EAAQ,OAAOluC,EAAKF,MAAQxB,EAAK0B,EAAKG,MAAO,EAAIH,CAC9D,CACA,OAAOA,EAAKG,MAAO,EAAIH,CACzB,CACF,EAAG5E,EAAQwlC,OAASA,EAAQs8mB,EAAQhgpB,UAAY,CAC9CD,YAAaigpB,EACbxumB,MAAO,SAAe+vmB,GACpB,GAAIzhpB,KAAKie,KAAO,EAAGje,KAAKgD,KAAO,EAAGhD,KAAK4D,KAAO5D,KAAKq4kB,WAAQ95kB,EAAWyB,KAAKmD,MAAO,EAAInD,KAAKo4kB,SAAW,KAAMp4kB,KAAKf,OAAS,OAAQe,KAAKmjB,SAAM5kB,EAAWyB,KAAK64kB,WAAW3okB,QAAQoxoB,IAAiBG,EAAe,IAAK,IAAI16oB,KAAQ/G,KAAM,MAAQ+G,EAAKo+B,OAAO,IAAMwvB,EAAO/zD,KAAKZ,KAAM+G,KAAUgT,OAAOhT,EAAKoW,MAAM,MAAQnd,KAAK+G,QAAQxI,EACtU,EACA09F,KAAM,WACJj8F,KAAKmD,MAAO,EACZ,IAAIu+oB,EAAa1hpB,KAAK64kB,WAAW,GAAGC,WACpC,GAAI,UAAY4oE,EAAWlqoB,KAAM,MAAMkqoB,EAAWv+nB,IAClD,OAAOnjB,KAAKk5kB,IACd,EACAZ,kBAAmB,SAA2BqpE,GAC5C,GAAI3hpB,KAAKmD,KAAM,MAAMw+oB,EACrB,IAAIzwoB,EAAUlR,KACd,SAASmiY,EAAOy/Q,EAAKC,GACnB,OAAOrmgB,EAAOhkI,KAAO,QAASgkI,EAAOr4H,IAAMw+nB,EAAWzwoB,EAAQlO,KAAO4+oB,EAAKC,IAAW3woB,EAAQjS,OAAS,OAAQiS,EAAQiS,SAAM5kB,KAAcsjpB,CAC5I,CACA,IAAK,IAAIrhpB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC1Bg7I,EAASnuB,EAAMyrd,WACjB,GAAI,SAAWzrd,EAAMord,OAAQ,OAAOt2M,EAAO,OAC3C,GAAI90Q,EAAMord,QAAUz4kB,KAAKie,KAAM,CAC7B,IAAI6joB,EAAWntlB,EAAO/zD,KAAKysH,EAAO,YAChC00hB,EAAaptlB,EAAO/zD,KAAKysH,EAAO,cAClC,GAAIy0hB,GAAYC,EAAY,CAC1B,GAAI/hpB,KAAKie,KAAOovG,EAAMqrd,SAAU,OAAOv2M,EAAO90Q,EAAMqrd,UAAU,GAC9D,GAAI14kB,KAAKie,KAAOovG,EAAMsrd,WAAY,OAAOx2M,EAAO90Q,EAAMsrd,WACxD,MAAO,GAAImpE,GACT,GAAI9hpB,KAAKie,KAAOovG,EAAMqrd,SAAU,OAAOv2M,EAAO90Q,EAAMqrd,UAAU,OACzD,CACL,IAAKqpE,EAAY,MAAM,IAAIp5oB,MAAM,0CACjC,GAAI3I,KAAKie,KAAOovG,EAAMsrd,WAAY,OAAOx2M,EAAO90Q,EAAMsrd,WACxD,CACF,CACF,CACF,EACA7rE,OAAQ,SAAgBt1f,EAAM2L,GAC5B,IAAK,IAAI3iB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC5B,GAAI6sH,EAAMord,QAAUz4kB,KAAKie,MAAQ02C,EAAO/zD,KAAKysH,EAAO,eAAiBrtH,KAAKie,KAAOovG,EAAMsrd,WAAY,CACjG,IAAIqpE,EAAe30hB,EACnB,KACF,CACF,CACA20hB,IAAiB,UAAYxqoB,GAAQ,aAAeA,IAASwqoB,EAAavpE,QAAUt1jB,GAAOA,GAAO6+nB,EAAarpE,aAAeqpE,EAAe,MAC7I,IAAIxmgB,EAASwmgB,EAAeA,EAAalpE,WAAa,CAAC,EACvD,OAAOt9b,EAAOhkI,KAAOA,EAAMgkI,EAAOr4H,IAAMA,EAAK6+nB,GAAgBhipB,KAAKf,OAAS,OAAQe,KAAKgD,KAAOg/oB,EAAarpE,WAAY0nE,GAAoBrgpB,KAAK4gG,SAAS46C,EAC5J,EACA56C,SAAU,SAAkB46C,EAAQo9b,GAClC,GAAI,UAAYp9b,EAAOhkI,KAAM,MAAMgkI,EAAOr4H,IAC1C,MAAO,UAAYq4H,EAAOhkI,MAAQ,aAAegkI,EAAOhkI,KAAOxX,KAAKgD,KAAOw4I,EAAOr4H,IAAM,WAAaq4H,EAAOhkI,MAAQxX,KAAKk5kB,KAAOl5kB,KAAKmjB,IAAMq4H,EAAOr4H,IAAKnjB,KAAKf,OAAS,SAAUe,KAAKgD,KAAO,OAAS,WAAaw4I,EAAOhkI,MAAQohkB,IAAa54kB,KAAKgD,KAAO41kB,GAAWynE,CACtQ,EACAh3oB,OAAQ,SAAgBsvkB,GACtB,IAAK,IAAIn4kB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC5B,GAAI6sH,EAAMsrd,aAAeA,EAAY,OAAO34kB,KAAK4gG,SAASysB,EAAMyrd,WAAYzrd,EAAMurd,UAAW0oE,EAAcj0hB,GAAQgzhB,CACrH,CACF,EACA,MAAS,SAAgB5nE,GACvB,IAAK,IAAIj4kB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC5B,GAAI6sH,EAAMord,SAAWA,EAAQ,CAC3B,IAAIj9b,EAASnuB,EAAMyrd,WACnB,GAAI,UAAYt9b,EAAOhkI,KAAM,CAC3B,IAAIyqoB,EAASzmgB,EAAOr4H,IACpBm+nB,EAAcj0hB,EAChB,CACA,OAAO40hB,CACT,CACF,CACA,MAAM,IAAIt5oB,MAAM,wBAClB,EACAwwkB,cAAe,SAAuBmrB,EAAU/rB,EAAYC,GAC1D,OAAOx4kB,KAAKo4kB,SAAW,CACrBn0kB,SAAU2/B,EAAO0gkB,GACjB/rB,WAAYA,EACZC,QAASA,GACR,SAAWx4kB,KAAKf,SAAWe,KAAKmjB,SAAM5kB,GAAY8hpB,CACvD,GACCjipB,CACL,CACAo1C,EAAOp1C,QAAUwugB,EAAqBp5d,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,6BC/S3G,IAAI8jpB,EAAoB,EAAQ,OAC5BC,EAAkB,EAAQ,OAC1BC,EAA6B,EAAQ,OACrCC,EAAoB,EAAQ,OAIhC7umB,EAAOp1C,QAHP,SAA4B6gD,GAC1B,OAAOijmB,EAAkBjjmB,IAAQkjmB,EAAgBljmB,IAAQmjmB,EAA2BnjmB,IAAQojmB,GAC9F,EACqC7umB,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,2BCP1G,SAAS2zoB,EAAQpqnB,GAGf,OAAQ6rB,EAAOp1C,QAAU2zoB,EAAU,mBAAqB/toB,QAAU,iBAAmBA,OAAOC,SAAW,SAAU0jB,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqB3jB,QAAU2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAC1H,EAAG6rB,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,QAAU2zoB,EAAQpqnB,EAC5F,CACA6rB,EAAOp1C,QAAU2zoB,EAASv+lB,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,+BCT/F,IAAImhpB,EAAmB,EAAQ,OAS/B/rmB,EAAOp1C,QARP,SAAqCoG,EAAGquoB,GACtC,GAAKruoB,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO+6oB,EAAiB/6oB,EAAGquoB,GACtD,IAAIpyoB,EAAIjB,OAAOU,UAAUsP,SAAS5O,KAAK4D,GAAG2Y,MAAM,GAAI,GAEpD,MADU,WAAN1c,GAAkB+D,EAAEvE,cAAaQ,EAAI+D,EAAEvE,YAAY8G,MAC7C,QAANtG,GAAqB,QAANA,EAAoBd,MAAM2K,KAAK9F,GACxC,cAAN/D,GAAqB,2CAA2CkhC,KAAKlhC,GAAW8+oB,EAAiB/6oB,EAAGquoB,QAAxG,CALc,CAMhB,EAC8Cr/lB,EAAOp1C,QAAQiI,YAAa,EAAMmtC,EAAOp1C,QAAiB,QAAIo1C,EAAOp1C,4CCTpG,SAAS00oB,EAAkB7zlB,EAAKxwC,IAClC,MAAPA,GAAeA,EAAMwwC,EAAIt+C,UAAQ8N,EAAMwwC,EAAIt+C,QAC/C,IAAK,IAAIH,EAAI,EAAGyyoB,EAAO,IAAItzoB,MAAM8O,GAAMjO,EAAIiO,EAAKjO,IAAKyyoB,EAAKzyoB,GAAKy+C,EAAIz+C,GACnE,OAAOyyoB,CACT,qECJe,SAAS50c,EAAuBjwL,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIu0gB,eAAe,6DAE3B,OAAOv0gB,CACT,qECLe,SAAS4C,EAAgB2G,EAAUq2nB,GAChD,KAAMr2nB,aAAoBq2nB,GACxB,MAAM,IAAI5poB,UAAU,oCAExB,oHCHA,SAAS0poB,EAAkBzsoB,EAAQiQ,GACjC,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CACrC,IAAIusE,EAAaz7D,EAAM9Q,GACvBusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EACjDkjE,EAAWvlB,cAAe,EACtB,UAAWulB,IAAYA,EAAWtlB,UAAW,GACjDjoD,OAAOqC,eAAeR,GAAQ,OAAc0rE,EAAWzrE,KAAMyrE,EAC/D,CACF,CACe,SAAS57D,EAAa68nB,EAAaE,EAAYC,GAM5D,OALID,GAAYJ,EAAkBE,EAAY9toB,UAAWguoB,GACrDC,GAAaL,EAAkBE,EAAaG,GAChD3uoB,OAAOqC,eAAemsoB,EAAa,YAAa,CAC9CvmlB,UAAU,IAELumlB,CACT,sHCde,SAASj9nB,EAAauxoB,GACnC,IAAIC,GAA4B,EAAAtphB,EAAA,KAChC,OAAO,WACL,IACE/1H,EADEs/oB,GAAQ,EAAA5imB,EAAA,GAAe0imB,GAE3B,GAAIC,EAA2B,CAC7B,IAAIE,GAAY,EAAA7imB,EAAA,GAAe5/C,MAAMC,YACrCiD,EAASvB,QAAQu3H,UAAUsphB,EAAO9hpB,UAAW+hpB,EAC/C,MACEv/oB,EAASs/oB,EAAM3hpB,MAAMb,KAAMU,WAE7B,OCZW,SAAoC0N,EAAMxN,GACvD,GAAIA,IAA2B,YAAlB,OAAQA,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIwD,UAAU,4DAEtB,OAAO,EAAAs+oB,EAAA,GAAsBt0oB,EAC/B,CDKW,CAA0BpO,KAAMkD,EACzC,CACF,oFEfe,SAASqR,EAAgBoT,EAAKrmB,EAAKwB,GAYhD,OAXAxB,GAAM,OAAcA,MACTqmB,EACTnoB,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CAC9BwB,MAAOA,EACP+G,YAAY,EACZ29C,cAAc,EACdC,UAAU,IAGZ9/B,EAAIrmB,GAAOwB,EAEN6kB,CACT,sCCde,SAAS+B,IAYtB,OAXAA,EAAWlqB,OAAOa,OAASb,OAAOa,OAAOmjC,OAAS,SAAUniC,GAC1D,IAAK,IAAIb,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAI6xC,EAAS3xC,UAAUF,GACvB,IAAK,IAAIc,KAAO+wC,EACV7yC,OAAOU,UAAUL,eAAee,KAAKyxC,EAAQ/wC,KAC/CD,EAAOC,GAAO+wC,EAAO/wC,GAG3B,CACA,OAAOD,CACT,EACOqoB,EAAS7oB,MAAMb,KAAMU,UAC9B,oHCZe,SAASiT,IActB,OAZEA,EADqB,qBAAZhS,SAA2BA,QAAQiF,IACrCjF,QAAQiF,IAAI48B,OAEZ,SAAcniC,EAAQ6e,EAAUzZ,GACrC,IAAI00L,ECLK,SAAwBjqJ,EAAQhxB,GAC7C,MAAQ1gB,OAAOU,UAAUL,eAAee,KAAKswC,EAAQhxB,IAEpC,QADfgxB,GAAS,EAAA0O,EAAA,GAAe1O,MAG1B,OAAOA,CACT,CDDiB,CAAc7vC,EAAQ6e,GACjC,GAAKi7K,EAAL,CACA,IAAI55L,EAAO/B,OAAOkC,yBAAyBy5L,EAAMj7K,GACjD,OAAI3e,EAAKqF,IACArF,EAAKqF,IAAIhG,KAAKF,UAAUC,OAAS,EAAIU,EAASoF,GAEhDlF,EAAKuB,KALK,CAMnB,EAEK6Q,EAAK9S,MAAMb,KAAMU,UAC1B,sCEhBe,SAASkT,EAAgBpP,GAItC,OAHAoP,EAAkBpU,OAAOC,eAAiBD,OAAOogD,eAAepc,OAAS,SAAyBh/B,GAChG,OAAOA,EAAE9E,WAAaF,OAAOogD,eAAep7C,EAC9C,EACOoP,EAAgBpP,EACzB,oHCJe,SAASqM,EAAU8xoB,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIx+oB,UAAU,sDAEtBu+oB,EAASzipB,UAAYV,OAAOW,OAAOyipB,GAAcA,EAAW1ipB,UAAW,CACrED,YAAa,CACX6C,MAAO6/oB,EACPl7lB,UAAU,EACVD,cAAc,KAGlBhoD,OAAOqC,eAAe8gpB,EAAU,YAAa,CAC3Cl7lB,UAAU,IAERm7lB,IAAY,OAAeD,EAAUC,EAC3C,sCChBe,SAASC,IACtB,GAAuB,qBAAZlhpB,UAA4BA,QAAQu3H,UAAW,OAAO,EACjE,GAAIv3H,QAAQu3H,UAAUupZ,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EACxC,IAEE,OADAttgB,QAAQlV,UAAU28F,QAAQj8F,KAAKe,QAAQu3H,UAAU9jH,QAAS,IAAI,WAAa,MACpE,CACT,CAAE,MAAOrU,GACP,OAAO,CACT,CACF,qECVe,SAAS6rB,EAA8BylB,EAAQywmB,GAC5D,GAAc,MAAVzwmB,EAAgB,MAAO,CAAC,EAC5B,IAEI/wC,EAAKd,EAFLa,EAAS,CAAC,EACV0hpB,EAAavjpB,OAAOgR,KAAK6hC,GAE7B,IAAK7xC,EAAI,EAAGA,EAAIuipB,EAAWpipB,OAAQH,IACjCc,EAAMyhpB,EAAWvipB,GACbsipB,EAAS9hpB,QAAQM,IAAQ,IAC7BD,EAAOC,GAAO+wC,EAAO/wC,IAEvB,OAAOD,CACT,qECXe,SAAS2hpB,EAAgBx+oB,EAAG5E,GAKzC,OAJAojpB,EAAkBxjpB,OAAOC,eAAiBD,OAAOC,eAAe+jC,OAAS,SAAyBh/B,EAAG5E,GAEnG,OADA4E,EAAE9E,UAAYE,EACP4E,CACT,EACOw+oB,EAAgBx+oB,EAAG5E,EAC5B,oHCFe,SAASkb,EAAemkC,EAAKz+C,GAC1C,OCLa,SAAyBy+C,GACtC,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAOA,CACjC,CDGS,CAAeA,IELT,SAA+BA,EAAKz+C,GACjD,IAAIwnB,EAAK,MAAQi3B,EAAM,KAAO,oBAAsBj7C,QAAUi7C,EAAIj7C,OAAOC,WAAag7C,EAAI,cAC1F,GAAI,MAAQj3B,EAAI,CACd,IAAI0qnB,EACF3nZ,EACAk4Z,EACAC,EACAh0lB,EAAO,GACPyjlB,GAAK,EACLr/kB,GAAK,EACP,IACE,GAAI2vlB,GAAMj7nB,EAAKA,EAAGpnB,KAAKq+C,IAAMj8C,KAAM,IAAMxC,EAAG,CAC1C,GAAIhB,OAAOwoB,KAAQA,EAAI,OACvB2qnB,GAAK,CACP,MAAO,OAASA,GAAMD,EAAKuQ,EAAGripB,KAAKonB,IAAK7kB,QAAU+rD,EAAK5qD,KAAKouoB,EAAG5voB,OAAQosD,EAAKvuD,SAAWH,GAAImyoB,GAAK,GAClG,CAAE,MAAO/8lB,GACP0d,GAAK,EAAIy3L,EAAKn1M,CAChB,CAAE,QACA,IACE,IAAK+8lB,GAAM,MAAQ3qnB,EAAW,SAAMk7nB,EAAKl7nB,EAAW,SAAKxoB,OAAO0jpB,KAAQA,GAAK,MAC/E,CAAE,QACA,GAAI5vlB,EAAI,MAAMy3L,CAChB,CACF,CACA,OAAO77L,CACT,CACF,CFrBgC,CAAqBjQ,EAAKz+C,KAAM,EAAA4hpB,EAAA,GAA2BnjmB,EAAKz+C,IGLjF,WACb,MAAM,IAAI4D,UAAU,4IACtB,CHGsG,EACtG,oGIFe,SAAS80B,EAAmB+lB,GACzC,OCJa,SAA4BA,GACzC,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAO,EAAAsgmB,EAAA,GAAiBtgmB,EAClD,CDES,CAAkBA,IELZ,SAA0B27F,GACvC,GAAsB,qBAAX52I,QAAmD,MAAzB42I,EAAK52I,OAAOC,WAA2C,MAAtB22I,EAAK,cAAuB,OAAOj7I,MAAM2K,KAAKswI,EACtH,CFGmC,CAAgB37F,KAAQ,EAAAmjmB,EAAA,GAA2BnjmB,IGLvE,WACb,MAAM,IAAI76C,UAAU,uIACtB,CHG8F,EAC9F,qFIJe,SAAS++oB,EAAehgoB,GACrC,IAAI7hB,ECFS,SAAsBuL,EAAO43D,GAC1C,GAAuB,YAAnB,OAAQ53D,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAIu2oB,EAAOv2oB,EAAM7I,OAAOu3iB,aACxB,QAAah9iB,IAAT6kpB,EAAoB,CACtB,IAAIp2lB,EAAMo2lB,EAAKxipB,KAAKiM,EAAO43D,GAAQ,WACnC,GAAqB,YAAjB,OAAQzX,GAAmB,OAAOA,EACtC,MAAM,IAAI5oD,UAAU,+CACtB,CACA,OAAiB,WAATqgE,EAAoBt1D,OAAS2K,QAAQjN,EAC/C,CDPY,CAAYsW,EAAK,UAC3B,MAAwB,YAAjB,OAAQ7hB,GAAoBA,EAAM6N,OAAO7N,EAClD,sCELe,SAASywoB,EAAQpqnB,GAG9B,OAAOoqnB,EAAU,mBAAqB/toB,QAAU,iBAAmBA,OAAOC,SAAW,SAAU0jB,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqB3jB,QAAU2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAC1H,EAAGoqnB,EAAQpqnB,EACb,oHCPe,SAASornB,EAA4BvuoB,EAAGquoB,GACrD,GAAKruoB,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,OAAiBA,EAAGquoB,GACtD,IAAIpyoB,EAAIjB,OAAOU,UAAUsP,SAAS5O,KAAK4D,GAAG2Y,MAAM,GAAI,GAEpD,MADU,WAAN1c,GAAkB+D,EAAEvE,cAAaQ,EAAI+D,EAAEvE,YAAY8G,MAC7C,QAANtG,GAAqB,QAANA,EAAoBd,MAAM2K,KAAK9F,GACxC,cAAN/D,GAAqB,2CAA2CkhC,KAAKlhC,IAAW,OAAiB+D,EAAGquoB,QAAxG,CALc,CAMhB,ICPIwQ,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBhlpB,IAAjBilpB,EACH,OAAOA,EAAaplpB,QAGrB,IAAIo1C,EAAS6vmB,EAAyBE,GAAY,CACjDlvoB,GAAIkvoB,EACJE,QAAQ,EACRrlpB,QAAS,CAAC,GAUX,OANAslpB,EAAoBH,GAAU3ipB,KAAK4yC,EAAOp1C,QAASo1C,EAAQA,EAAOp1C,QAASklpB,GAG3E9vmB,EAAOiwmB,QAAS,EAGTjwmB,EAAOp1C,OACf,CAGAklpB,EAAoB7+oB,EAAIi/oB,EC3BxBJ,EAAoB7ipB,EAAI,SAAS+yC,GAChC,IAAIskF,EAAStkF,GAAUA,EAAOntC,WAC7B,WAAa,OAAOmtC,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADA8vmB,EAAoBhkpB,EAAEw4H,EAAQ,CAAE3yH,EAAG2yH,IAC5BA,CACR,aCPA,IACI6rhB,EADAnD,EAAWhhpB,OAAOogD,eAAiB,SAASj4B,GAAO,OAAOnoB,OAAOogD,eAAej4B,EAAM,EAAI,SAASA,GAAO,OAAOA,EAAIjoB,SAAW,EAQpI4jpB,EAAoBhjpB,EAAI,SAASwC,EAAOypB,GAEvC,GADU,EAAPA,IAAUzpB,EAAQ9C,KAAK8C,IAChB,EAAPypB,EAAU,OAAOzpB,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPypB,GAAazpB,EAAMuD,WAAY,OAAOvD,EAC1C,GAAW,GAAPypB,GAAoC,oBAAfzpB,EAAMM,KAAqB,OAAON,CAC5D,CACA,IAAIowG,EAAK1zG,OAAOW,OAAO,MACvBmjpB,EAAoB7hpB,EAAEyxG,GACtB,IAAIq0b,EAAM,CAAC,EACXo8G,EAAiBA,GAAkB,CAAC,KAAMnD,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAI5hnB,EAAiB,EAAPrS,GAAYzpB,EAAyB,iBAAX87B,KAAyB+knB,EAAe3ipB,QAAQ49B,GAAUA,EAAU4hnB,EAAS5hnB,GACxHp/B,OAAO62E,oBAAoBz3C,GAAS1uB,SAAQ,SAAS5O,GAAOimiB,EAAIjmiB,GAAO,WAAa,OAAOwB,EAAMxB,EAAM,CAAG,IAI3G,OAFAimiB,EAAa,QAAI,WAAa,OAAOzkiB,CAAO,EAC5CwgpB,EAAoBhkpB,EAAE4zG,EAAIq0b,GACnBr0b,CACR,KCxBAowiB,EAAoBhkpB,EAAI,SAASlB,EAASy6B,GACzC,IAAI,IAAIv3B,KAAOu3B,EACXyqnB,EAAoB9+oB,EAAEq0B,EAAYv3B,KAASgipB,EAAoB9+oB,EAAEpG,EAASkD,IAC5E9B,OAAOqC,eAAezD,EAASkD,EAAK,CAAEuI,YAAY,EAAMjD,IAAKiyB,EAAWv3B,IAG3E,ECPAgipB,EAAoB//oB,EAAI,CAAC,EAGzB+/oB,EAAoBvipB,EAAI,SAAS6ipB,GAChC,OAAOlhpB,QAAQu1C,IAAIz4C,OAAOgR,KAAK8yoB,EAAoB//oB,GAAGmX,QAAO,SAASw9B,EAAU52C,GAE/E,OADAgipB,EAAoB//oB,EAAEjC,GAAKsipB,EAAS1rmB,GAC7BA,CACR,GAAG,IACJ,ECPAormB,EAAoBp3oB,EAAI,SAAS03oB,GAEhC,MAAO,aAAeA,EAAf,oBACR,ECHAN,EAAoBO,SAAW,SAASD,GAGxC,ECJAN,EAAoB7/oB,EAAI,WACvB,GAA0B,kBAAf85D,WAAyB,OAAOA,WAC3C,IACC,OAAOv9D,MAAQ,IAAIm5H,SAAS,cAAb,EAChB,CAAE,MAAOp4H,GACR,GAAsB,kBAAX1C,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBilpB,EAAoB9+oB,EAAI,SAASmjB,EAAKiO,GAAQ,OAAOp2B,OAAOU,UAAUL,eAAee,KAAK+mB,EAAKiO,EAAO,aCAtG,IAAI6tW,EAAa,CAAC,EACdqgR,EAAoB,kBAExBR,EAAoBt9mB,EAAI,SAASpG,EAAKz8B,EAAM7B,EAAKsipB,GAChD,GAAGngR,EAAW7jW,GAAQ6jW,EAAW7jW,GAAKt7B,KAAKnB,OAA3C,CACA,IAAIqoJ,EAAQu4f,EACZ,QAAWxlpB,IAAR+C,EAEF,IADA,IAAIwyjB,EAAUr+iB,SAASwvG,qBAAqB,UACpCzkH,EAAI,EAAGA,EAAIszjB,EAAQnzjB,OAAQH,IAAK,CACvC,IAAID,EAAIuzjB,EAAQtzjB,GAChB,GAAGD,EAAEyhB,aAAa,QAAU4d,GAAOr/B,EAAEyhB,aAAa,iBAAmB8hoB,EAAoBxipB,EAAK,CAAEkqJ,EAASjrJ,EAAG,KAAO,CACpH,CAEGirJ,IACHu4f,GAAa,GACbv4f,EAAS/1I,SAASC,cAAc,WAEzBghhB,QAAU,QACjBlrY,EAAOpuH,QAAU,IACbkmnB,EAAoBU,IACvBx4f,EAAOlzI,aAAa,QAASgroB,EAAoBU,IAElDx4f,EAAOlzI,aAAa,eAAgBwroB,EAAoBxipB,GACxDkqJ,EAAO34F,IAAMjzB,GAEd6jW,EAAW7jW,GAAO,CAACz8B,GACnB,IAAI8gpB,EAAmB,SAAShmoB,EAAMsiB,GAErCirH,EAAO5iJ,QAAU4iJ,EAAOg1a,OAAS,KACjCjjiB,aAAaH,GACb,IAAI8mnB,EAAUzgR,EAAW7jW,GAIzB,UAHO6jW,EAAW7jW,GAClB4rH,EAAO11I,YAAc01I,EAAO11I,WAAWiB,YAAYy0I,GACnD04f,GAAWA,EAAQh0oB,SAAQ,SAASgT,GAAM,OAAOA,EAAGqd,EAAQ,IACzDtiB,EAAM,OAAOA,EAAKsiB,EACtB,EACInD,EAAU5jB,WAAWyqoB,EAAiBzgnB,KAAK,UAAMjlC,EAAW,CAAEiZ,KAAM,UAAWnW,OAAQmqJ,IAAW,MACtGA,EAAO5iJ,QAAUq7oB,EAAiBzgnB,KAAK,KAAMgoH,EAAO5iJ,SACpD4iJ,EAAOg1a,OAASyjF,EAAiBzgnB,KAAK,KAAMgoH,EAAOg1a,QACnDujF,GAActuoB,SAASwM,KAAK1L,YAAYi1I,EAnCkB,CAoC3D,KCvCA83f,EAAoB7hpB,EAAI,SAASrD,GACX,qBAAX4F,QAA0BA,OAAOo9C,aAC1C5hD,OAAOqC,eAAezD,EAAS4F,OAAOo9C,YAAa,CAAEt+C,MAAO,WAE7DtD,OAAOqC,eAAezD,EAAS,aAAc,CAAE0E,OAAO,GACvD,ECNAwgpB,EAAoBa,IAAM,SAAS3wmB,GAGlC,OAFAA,EAAO8rP,MAAQ,GACV9rP,EAAOh/B,WAAUg/B,EAAOh/B,SAAW,IACjCg/B,CACR,ECJA8vmB,EAAoB1jpB,EAAI,eCKxB,IAAIwkpB,EAAkB,CACrB,IAAK,GAGNd,EAAoB//oB,EAAE6B,EAAI,SAASw+oB,EAAS1rmB,GAE1C,IAAImsmB,EAAqBf,EAAoB9+oB,EAAE4/oB,EAAiBR,GAAWQ,EAAgBR,QAAWrlpB,EACtG,GAA0B,IAAvB8lpB,EAGF,GAAGA,EACFnsmB,EAAS5zC,KAAK+/oB,EAAmB,QAC3B,CAGL,IAAI7rmB,EAAU,IAAI91C,SAAQ,SAASC,EAASC,GAAUyhpB,EAAqBD,EAAgBR,GAAW,CAACjhpB,EAASC,EAAS,IACzHs1C,EAAS5zC,KAAK+/oB,EAAmB,GAAK7rmB,GAGtC,IAAI5Y,EAAM0jnB,EAAoB1jpB,EAAI0jpB,EAAoBp3oB,EAAE03oB,GAEpD7+oB,EAAQ,IAAI4D,MAgBhB26oB,EAAoBt9mB,EAAEpG,GAfH,SAASW,GAC3B,GAAG+inB,EAAoB9+oB,EAAE4/oB,EAAiBR,KAEf,KAD1BS,EAAqBD,EAAgBR,MACRQ,EAAgBR,QAAWrlpB,GACrD8lpB,GAAoB,CACtB,IAAIC,EAAY/jnB,IAAyB,SAAfA,EAAM/oB,KAAkB,UAAY+oB,EAAM/oB,MAChE+soB,EAAUhknB,GAASA,EAAMl/B,QAAUk/B,EAAMl/B,OAAOwxD,IACpD9tD,EAAM4T,QAAU,iBAAmBiroB,EAAU,cAAgBU,EAAY,KAAOC,EAAU,IAC1Fx/oB,EAAMgC,KAAO,iBACbhC,EAAMyS,KAAO8soB,EACbv/oB,EAAM6vC,QAAU2vmB,EAChBF,EAAmB,GAAGt/oB,EACvB,CAEF,GACyC,SAAW6+oB,EAASA,EAE/D,CAEH,EAaA,IAAIY,EAAuB,SAASC,EAA4B18oB,GAC/D,IAKIw7oB,EAAUK,EALVc,EAAW38oB,EAAK,GAChB48oB,EAAc58oB,EAAK,GACnB68oB,EAAU78oB,EAAK,GAGIvH,EAAI,EAC3B,GAAGkkpB,EAASh0oB,MAAK,SAAS2D,GAAM,OAA+B,IAAxB+voB,EAAgB/voB,EAAW,IAAI,CACrE,IAAIkvoB,KAAYoB,EACZrB,EAAoB9+oB,EAAEmgpB,EAAapB,KACrCD,EAAoB7+oB,EAAE8+oB,GAAYoB,EAAYpB,IAGhD,GAAGqB,EAAsBA,EAAQtB,EAClC,CAEA,IADGmB,GAA4BA,EAA2B18oB,GACrDvH,EAAIkkpB,EAAS/jpB,OAAQH,IACzBojpB,EAAUc,EAASlkpB,GAChB8ipB,EAAoB9+oB,EAAE4/oB,EAAiBR,IAAYQ,EAAgBR,IACrEQ,EAAgBR,GAAS,KAE1BQ,EAAgBR,GAAW,CAG7B,EAEIiB,EAAqBz2oB,KAAiC,2BAAIA,KAAiC,4BAAK,GACpGy2oB,EAAmB30oB,QAAQs0oB,EAAqBhhnB,KAAK,KAAM,IAC3DqhnB,EAAmBvgpB,KAAOkgpB,EAAqBhhnB,KAAK,KAAMqhnB,EAAmBvgpB,KAAKk/B,KAAKqhnB,4XCtFvF,SAAS7vF,EAAQ9jhB,EAAQ4zmB,GACvB,IAAIt0oB,EAAOhR,OAAOgR,KAAK0gC,GACvB,GAAI1xC,OAAOyB,sBAAuB,CAChC,IAAI8jpB,EAAUvlpB,OAAOyB,sBAAsBiwC,GAC3C4zmB,IAAmBC,EAAUA,EAAQ/xoB,QAAO,SAAUgyoB,GACpD,OAAOxlpB,OAAOkC,yBAAyBwvC,EAAQ8zmB,GAAKn7oB,UACtD,KAAK2G,EAAKlM,KAAKzD,MAAM2P,EAAMu0oB,EAC7B,CACA,OAAOv0oB,CACT,CACe,SAASy0oB,EAAe5jpB,GACrC,IAAK,IAAIb,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAI6xC,EAAS,MAAQ3xC,UAAUF,GAAKE,UAAUF,GAAK,CAAC,EACpDA,EAAI,EAAIw0jB,EAAQx1jB,OAAO6yC,IAAS,GAAIniC,SAAQ,SAAU5O,IACpD,EAAAO,EAAA,GAAeR,EAAQC,EAAK+wC,EAAO/wC,GACrC,IAAK9B,OAAO8nM,0BAA4B9nM,OAAOi6gB,iBAAiBp4gB,EAAQ7B,OAAO8nM,0BAA0Bj1J,IAAW2ihB,EAAQx1jB,OAAO6yC,IAASniC,SAAQ,SAAU5O,GAC5J9B,OAAOqC,eAAeR,EAAQC,EAAK9B,OAAOkC,yBAAyB2wC,EAAQ/wC,GAC7E,GACF,CACA,OAAOD,CACT,gBCpBe,SAASurgB,IAEtBA,EAAsB,WACpB,OAAOxugB,CACT,EACA,IAAIA,EAAU,CAAC,EACbohpB,EAAKhgpB,OAAOU,UACZy0D,EAAS6qlB,EAAG3/oB,eACZgC,EAAiBrC,OAAOqC,gBAAkB,SAAU8lB,EAAKrmB,EAAKC,GAC5DomB,EAAIrmB,GAAOC,EAAKuB,KAClB,EACA28oB,EAAU,mBAAqBz7oB,OAASA,OAAS,CAAC,EAClD07oB,EAAiBD,EAAQx7oB,UAAY,aACrC07oB,EAAsBF,EAAQj6oB,eAAiB,kBAC/Co6oB,EAAoBH,EAAQr+lB,aAAe,gBAC7C,SAAS2kf,EAAOp+gB,EAAKrmB,EAAKwB,GACxB,OAAOtD,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CACrCwB,MAAOA,EACP+G,YAAY,EACZ29C,cAAc,EACdC,UAAU,IACR9/B,EAAIrmB,EACV,CACA,IACEykiB,EAAO,CAAC,EAAG,GACb,CAAE,MAAOnwf,GACPmwf,EAAS,SAAgBp+gB,EAAKrmB,EAAKwB,GACjC,OAAO6kB,EAAIrmB,GAAOwB,CACpB,CACF,CACA,SAASmoH,EAAK40hB,EAASC,EAAS1xoB,EAAM2xoB,GACpC,IAAIC,EAAiBF,GAAWA,EAAQ5/oB,qBAAqB+/oB,EAAYH,EAAUG,EACjFx9oB,EAAYjD,OAAOW,OAAO6/oB,EAAe9/oB,WACzCgR,EAAU,IAAIgvoB,EAAQH,GAAe,IACvC,OAAOl+oB,EAAeY,EAAW,UAAW,CAC1CK,MAAOq9oB,EAAiBN,EAASzxoB,EAAM8C,KACrCzO,CACN,CACA,SAAS29oB,EAASl9nB,EAAIyE,EAAKxE,GACzB,IACE,MAAO,CACL3L,KAAM,SACN2L,IAAKD,EAAGtiB,KAAK+mB,EAAKxE,GAEtB,CAAE,MAAOyyB,GACP,MAAO,CACLp+B,KAAM,QACN2L,IAAKyyB,EAET,CACF,CACAx3C,EAAQ6sH,KAAOA,EACf,IAAIo1hB,EAAmB,CAAC,EACxB,SAASJ,IAAa,CACtB,SAASK,IAAqB,CAC9B,SAASC,IAA8B,CACvC,IAAIrkG,EAAoB,CAAC,EACzBnW,EAAOmW,EAAmBwjG,GAAgB,WACxC,OAAO1/oB,IACT,IACA,IAAIwgpB,EAAWhhpB,OAAOogD,eACpB6gmB,EAA0BD,GAAYA,EAASA,EAAS58mB,EAAO,MACjE68mB,GAA2BA,IAA4BjB,GAAM7qlB,EAAO/zD,KAAK6/oB,EAAyBf,KAAoBxjG,EAAoBukG,GAC1I,IAAIC,EAAKH,EAA2BrgpB,UAAY+/oB,EAAU//oB,UAAYV,OAAOW,OAAO+7iB,GACpF,SAASykG,EAAsBzgpB,GAC7B,CAAC,OAAQ,QAAS,UAAUgQ,SAAQ,SAAUjR,GAC5C8miB,EAAO7liB,EAAWjB,GAAQ,SAAUkkB,GAClC,OAAOnjB,KAAKs+gB,QAAQr/gB,EAAQkkB,EAC9B,GACF,GACF,CACA,SAAS81jB,EAAcx2kB,EAAWm+oB,GAChC,SAASC,EAAO5hpB,EAAQkkB,EAAKxgB,EAASC,GACpC,IAAI44I,EAAS4kgB,EAAS39oB,EAAUxD,GAASwD,EAAW0gB,GACpD,GAAI,UAAYq4H,EAAOhkI,KAAM,CAC3B,IAAItU,EAASs4I,EAAOr4H,IAClBrgB,EAAQI,EAAOJ,MACjB,OAAOA,GAAS,WAAY,OAAQA,IAAU6xD,EAAO/zD,KAAKkC,EAAO,WAAa89oB,EAAYj+oB,QAAQG,EAAMwC,SAASlC,MAAK,SAAUN,GAC9H+9oB,EAAO,OAAQ/9oB,EAAOH,EAASC,EACjC,IAAG,SAAUgzC,GACXirmB,EAAO,QAASjrmB,EAAKjzC,EAASC,EAChC,IAAKg+oB,EAAYj+oB,QAAQG,GAAOM,MAAK,SAAU09oB,GAC7C59oB,EAAOJ,MAAQg+oB,EAAWn+oB,EAAQO,EACpC,IAAG,SAAU6B,GACX,OAAO87oB,EAAO,QAAS97oB,EAAOpC,EAASC,EACzC,GACF,CACAA,EAAO44I,EAAOr4H,IAChB,CACA,IAAI49nB,EACJl/oB,EAAe7B,KAAM,UAAW,CAC9B8C,MAAO,SAAe7D,EAAQkkB,GAC5B,SAAS69nB,IACP,OAAO,IAAIJ,GAAY,SAAUj+oB,EAASC,GACxCi+oB,EAAO5hpB,EAAQkkB,EAAKxgB,EAASC,EAC/B,GACF,CACA,OAAOm+oB,EAAkBA,EAAkBA,EAAgB39oB,KAAK49oB,EAA4BA,GAA8BA,GAC5H,GAEJ,CACA,SAASb,EAAiBN,EAASzxoB,EAAM8C,GACvC,IAAI9G,EAAQ,iBACZ,OAAO,SAAUnL,EAAQkkB,GACvB,GAAI,cAAgB/Y,EAAO,MAAM,IAAIzB,MAAM,gCAC3C,GAAI,cAAgByB,EAAO,CACzB,GAAI,UAAYnL,EAAQ,MAAMkkB,EAC9B,OAAO89nB,GACT,CACA,IAAK/voB,EAAQjS,OAASA,EAAQiS,EAAQiS,IAAMA,IAAO,CACjD,IAAIi1jB,EAAWlnkB,EAAQknkB,SACvB,GAAIA,EAAU,CACZ,IAAI8oE,EAAiBC,EAAoB/oE,EAAUlnkB,GACnD,GAAIgwoB,EAAgB,CAClB,GAAIA,IAAmBb,EAAkB,SACzC,OAAOa,CACT,CACF,CACA,GAAI,SAAWhwoB,EAAQjS,OAAQiS,EAAQtN,KAAOsN,EAAQmnkB,MAAQnnkB,EAAQiS,SAAS,GAAI,UAAYjS,EAAQjS,OAAQ,CAC7G,GAAI,mBAAqBmL,EAAO,MAAMA,EAAQ,YAAa8G,EAAQiS,IACnEjS,EAAQonkB,kBAAkBpnkB,EAAQiS,IACpC,KAAO,WAAajS,EAAQjS,QAAUiS,EAAQ47f,OAAO,SAAU57f,EAAQiS,KACvE/Y,EAAQ,YACR,IAAIoxI,EAAS4kgB,EAASP,EAASzxoB,EAAM8C,GACrC,GAAI,WAAasqI,EAAOhkI,KAAM,CAC5B,GAAIpN,EAAQ8G,EAAQ/N,KAAO,YAAc,iBAAkBq4I,EAAOr4H,MAAQk9nB,EAAkB,SAC5F,MAAO,CACLv9oB,MAAO04I,EAAOr4H,IACdhgB,KAAM+N,EAAQ/N,KAElB,CACA,UAAYq4I,EAAOhkI,OAASpN,EAAQ,YAAa8G,EAAQjS,OAAS,QAASiS,EAAQiS,IAAMq4H,EAAOr4H,IAClG,CACF,CACF,CACA,SAASg+nB,EAAoB/oE,EAAUlnkB,GACrC,IAAIpS,EAAaoS,EAAQjS,OACvBA,EAASm5kB,EAASn0kB,SAASnF,GAC7B,QAAIP,IAAcU,EAAQ,OAAOiS,EAAQknkB,SAAW,KAAM,UAAYt5kB,GAAcs5kB,EAASn0kB,SAAiB,SAAMiN,EAAQjS,OAAS,SAAUiS,EAAQiS,SAAM5kB,EAAW4ipB,EAAoB/oE,EAAUlnkB,GAAU,UAAYA,EAAQjS,SAAW,WAAaH,IAAeoS,EAAQjS,OAAS,QAASiS,EAAQiS,IAAM,IAAI/e,UAAU,oCAAsCtF,EAAa,aAAcuhpB,EAClY,IAAI7kgB,EAAS4kgB,EAASnhpB,EAAQm5kB,EAASn0kB,SAAUiN,EAAQiS,KACzD,GAAI,UAAYq4H,EAAOhkI,KAAM,OAAOtG,EAAQjS,OAAS,QAASiS,EAAQiS,IAAMq4H,EAAOr4H,IAAKjS,EAAQknkB,SAAW,KAAMioE,EACjH,IAAIlznB,EAAOquH,EAAOr4H,IAClB,OAAOgK,EAAOA,EAAKhqB,MAAQ+N,EAAQknkB,EAASG,YAAcprjB,EAAKrqB,MAAOoO,EAAQlO,KAAOo1kB,EAASI,QAAS,WAAatnkB,EAAQjS,SAAWiS,EAAQjS,OAAS,OAAQiS,EAAQiS,SAAM5kB,GAAY2S,EAAQknkB,SAAW,KAAMioE,GAAoBlznB,GAAQjc,EAAQjS,OAAS,QAASiS,EAAQiS,IAAM,IAAI/e,UAAU,oCAAqC8M,EAAQknkB,SAAW,KAAMioE,EACrW,CACA,SAASe,EAAaC,GACpB,IAAIh0hB,EAAQ,CACVord,OAAQ4oE,EAAK,IAEf,KAAKA,IAASh0hB,EAAMqrd,SAAW2oE,EAAK,IAAK,KAAKA,IAASh0hB,EAAMsrd,WAAa0oE,EAAK,GAAIh0hB,EAAMurd,SAAWyoE,EAAK,IAAKrhpB,KAAK64kB,WAAWv0kB,KAAK+oH,EACrI,CACA,SAASi0hB,EAAcj0hB,GACrB,IAAImuB,EAASnuB,EAAMyrd,YAAc,CAAC,EAClCt9b,EAAOhkI,KAAO,gBAAiBgkI,EAAOr4H,IAAKkqG,EAAMyrd,WAAat9b,CAChE,CACA,SAAS0kgB,EAAQH,GACf//oB,KAAK64kB,WAAa,CAAC,CACjBJ,OAAQ,SACNsnE,EAAY7voB,QAAQkxoB,EAAcphpB,MAAOA,KAAK0xC,OAAM,EAC1D,CACA,SAAS9N,EAAO0gkB,GACd,GAAIA,EAAU,CACZ,IAAIi9C,EAAiBj9C,EAASo7C,GAC9B,GAAI6B,EAAgB,OAAOA,EAAe3gpB,KAAK0jmB,GAC/C,GAAI,mBAAqBA,EAASthmB,KAAM,OAAOshmB,EAC/C,IAAKvqlB,MAAMuqlB,EAAS3jmB,QAAS,CAC3B,IAAIH,GAAK,EACPwC,EAAO,SAASA,IACd,OAASxC,EAAI8jmB,EAAS3jmB,QAAS,GAAIg0D,EAAO/zD,KAAK0jmB,EAAU9jmB,GAAI,OAAOwC,EAAKF,MAAQwhmB,EAAS9jmB,GAAIwC,EAAKG,MAAO,EAAIH,EAC9G,OAAOA,EAAKF,WAAQvE,EAAWyE,EAAKG,MAAO,EAAIH,CACjD,EACF,OAAOA,EAAKA,KAAOA,CACrB,CACF,CACA,MAAO,CACLA,KAAMi+oB,EAEV,CACA,SAASA,IACP,MAAO,CACLn+oB,WAAOvE,EACP4E,MAAM,EAEV,CACA,OAAOm9oB,EAAkBpgpB,UAAYqgpB,EAA4B1+oB,EAAe6+oB,EAAI,cAAe,CACjG59oB,MAAOy9oB,EACP/4lB,cAAc,IACZ3lD,EAAe0+oB,EAA4B,cAAe,CAC5Dz9oB,MAAOw9oB,EACP94lB,cAAc,IACZ84lB,EAAkBnjnB,YAAc4ogB,EAAOw6G,EAA4BX,EAAmB,qBAAsBxhpB,EAAQ26kB,oBAAsB,SAAUyoE,GACtJ,IAAI/1iB,EAAO,mBAAqB+1iB,GAAUA,EAAOvhpB,YACjD,QAASwrG,IAASA,IAAS60iB,GAAqB,uBAAyB70iB,EAAKtuE,aAAesuE,EAAK1kG,MACpG,EAAG3I,EAAQ8nf,KAAO,SAAUs7J,GAC1B,OAAOhipB,OAAOC,eAAiBD,OAAOC,eAAe+hpB,EAAQjB,IAA+BiB,EAAO9hpB,UAAY6gpB,EAA4Bx6G,EAAOy7G,EAAQ5B,EAAmB,sBAAuB4B,EAAOthpB,UAAYV,OAAOW,OAAOugpB,GAAKc,CAC5O,EAAGpjpB,EAAQ46kB,MAAQ,SAAU71jB,GAC3B,MAAO,CACL7d,QAAS6d,EAEb,EAAGw9nB,EAAsB1nE,EAAc/4kB,WAAY6liB,EAAOkzC,EAAc/4kB,UAAWy/oB,GAAqB,WACtG,OAAO3/oB,IACT,IAAI5B,EAAQ66kB,cAAgBA,EAAe76kB,EAAQ6uJ,MAAQ,SAAU4yf,EAASC,EAAS1xoB,EAAM2xoB,EAAaa,QACxG,IAAWA,IAAgBA,EAAcl+oB,SACzC,IAAIk4I,EAAO,IAAIq+b,EAAchud,EAAK40hB,EAASC,EAAS1xoB,EAAM2xoB,GAAca,GACxE,OAAOxipB,EAAQ26kB,oBAAoB+mE,GAAWllgB,EAAOA,EAAK53I,OAAOI,MAAK,SAAUF,GAC9E,OAAOA,EAAOC,KAAOD,EAAOJ,MAAQ83I,EAAK53I,MAC3C,GACF,EAAG29oB,EAAsBD,GAAK36G,EAAO26G,EAAId,EAAmB,aAAc75G,EAAO26G,EAAIhB,GAAgB,WACnG,OAAO1/oB,IACT,IAAI+liB,EAAO26G,EAAI,YAAY,WACzB,MAAO,oBACT,IAAItipB,EAAQoS,KAAO,SAAU01B,GAC3B,IAAIgL,EAAS1xC,OAAO0mC,GAClB11B,EAAO,GACT,IAAK,IAAIlP,KAAO4vC,EAAQ1gC,EAAKlM,KAAKhD,GAClC,OAAOkP,EAAKqxC,UAAW,SAAS7+C,IAC9B,KAAOwN,EAAK7P,QAAS,CACnB,IAAIW,EAAMkP,EAAKnM,MACf,GAAI/C,KAAO4vC,EAAQ,OAAOluC,EAAKF,MAAQxB,EAAK0B,EAAKG,MAAO,EAAIH,CAC9D,CACA,OAAOA,EAAKG,MAAO,EAAIH,CACzB,CACF,EAAG5E,EAAQwlC,OAASA,EAAQs8mB,EAAQhgpB,UAAY,CAC9CD,YAAaigpB,EACbxumB,MAAO,SAAe+vmB,GACpB,GAAIzhpB,KAAKie,KAAO,EAAGje,KAAKgD,KAAO,EAAGhD,KAAK4D,KAAO5D,KAAKq4kB,WAAQ95kB,EAAWyB,KAAKmD,MAAO,EAAInD,KAAKo4kB,SAAW,KAAMp4kB,KAAKf,OAAS,OAAQe,KAAKmjB,SAAM5kB,EAAWyB,KAAK64kB,WAAW3okB,QAAQoxoB,IAAiBG,EAAe,IAAK,IAAI16oB,KAAQ/G,KAAM,MAAQ+G,EAAKo+B,OAAO,IAAMwvB,EAAO/zD,KAAKZ,KAAM+G,KAAUgT,OAAOhT,EAAKoW,MAAM,MAAQnd,KAAK+G,QAAQxI,EACtU,EACA09F,KAAM,WACJj8F,KAAKmD,MAAO,EACZ,IAAIu+oB,EAAa1hpB,KAAK64kB,WAAW,GAAGC,WACpC,GAAI,UAAY4oE,EAAWlqoB,KAAM,MAAMkqoB,EAAWv+nB,IAClD,OAAOnjB,KAAKk5kB,IACd,EACAZ,kBAAmB,SAA2BqpE,GAC5C,GAAI3hpB,KAAKmD,KAAM,MAAMw+oB,EACrB,IAAIzwoB,EAAUlR,KACd,SAASmiY,EAAOy/Q,EAAKC,GACnB,OAAOrmgB,EAAOhkI,KAAO,QAASgkI,EAAOr4H,IAAMw+nB,EAAWzwoB,EAAQlO,KAAO4+oB,EAAKC,IAAW3woB,EAAQjS,OAAS,OAAQiS,EAAQiS,SAAM5kB,KAAcsjpB,CAC5I,CACA,IAAK,IAAIrhpB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC1Bg7I,EAASnuB,EAAMyrd,WACjB,GAAI,SAAWzrd,EAAMord,OAAQ,OAAOt2M,EAAO,OAC3C,GAAI90Q,EAAMord,QAAUz4kB,KAAKie,KAAM,CAC7B,IAAI6joB,EAAWntlB,EAAO/zD,KAAKysH,EAAO,YAChC00hB,EAAaptlB,EAAO/zD,KAAKysH,EAAO,cAClC,GAAIy0hB,GAAYC,EAAY,CAC1B,GAAI/hpB,KAAKie,KAAOovG,EAAMqrd,SAAU,OAAOv2M,EAAO90Q,EAAMqrd,UAAU,GAC9D,GAAI14kB,KAAKie,KAAOovG,EAAMsrd,WAAY,OAAOx2M,EAAO90Q,EAAMsrd,WACxD,MAAO,GAAImpE,GACT,GAAI9hpB,KAAKie,KAAOovG,EAAMqrd,SAAU,OAAOv2M,EAAO90Q,EAAMqrd,UAAU,OACzD,CACL,IAAKqpE,EAAY,MAAM,IAAIp5oB,MAAM,0CACjC,GAAI3I,KAAKie,KAAOovG,EAAMsrd,WAAY,OAAOx2M,EAAO90Q,EAAMsrd,WACxD,CACF,CACF,CACF,EACA7rE,OAAQ,SAAgBt1f,EAAM2L,GAC5B,IAAK,IAAI3iB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC5B,GAAI6sH,EAAMord,QAAUz4kB,KAAKie,MAAQ02C,EAAO/zD,KAAKysH,EAAO,eAAiBrtH,KAAKie,KAAOovG,EAAMsrd,WAAY,CACjG,IAAIqpE,EAAe30hB,EACnB,KACF,CACF,CACA20hB,IAAiB,UAAYxqoB,GAAQ,aAAeA,IAASwqoB,EAAavpE,QAAUt1jB,GAAOA,GAAO6+nB,EAAarpE,aAAeqpE,EAAe,MAC7I,IAAIxmgB,EAASwmgB,EAAeA,EAAalpE,WAAa,CAAC,EACvD,OAAOt9b,EAAOhkI,KAAOA,EAAMgkI,EAAOr4H,IAAMA,EAAK6+nB,GAAgBhipB,KAAKf,OAAS,OAAQe,KAAKgD,KAAOg/oB,EAAarpE,WAAY0nE,GAAoBrgpB,KAAK4gG,SAAS46C,EAC5J,EACA56C,SAAU,SAAkB46C,EAAQo9b,GAClC,GAAI,UAAYp9b,EAAOhkI,KAAM,MAAMgkI,EAAOr4H,IAC1C,MAAO,UAAYq4H,EAAOhkI,MAAQ,aAAegkI,EAAOhkI,KAAOxX,KAAKgD,KAAOw4I,EAAOr4H,IAAM,WAAaq4H,EAAOhkI,MAAQxX,KAAKk5kB,KAAOl5kB,KAAKmjB,IAAMq4H,EAAOr4H,IAAKnjB,KAAKf,OAAS,SAAUe,KAAKgD,KAAO,OAAS,WAAaw4I,EAAOhkI,MAAQohkB,IAAa54kB,KAAKgD,KAAO41kB,GAAWynE,CACtQ,EACAh3oB,OAAQ,SAAgBsvkB,GACtB,IAAK,IAAIn4kB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC5B,GAAI6sH,EAAMsrd,aAAeA,EAAY,OAAO34kB,KAAK4gG,SAASysB,EAAMyrd,WAAYzrd,EAAMurd,UAAW0oE,EAAcj0hB,GAAQgzhB,CACrH,CACF,EACA,MAAS,SAAgB5nE,GACvB,IAAK,IAAIj4kB,EAAIR,KAAK64kB,WAAWl4kB,OAAS,EAAGH,GAAK,IAAKA,EAAG,CACpD,IAAI6sH,EAAQrtH,KAAK64kB,WAAWr4kB,GAC5B,GAAI6sH,EAAMord,SAAWA,EAAQ,CAC3B,IAAIj9b,EAASnuB,EAAMyrd,WACnB,GAAI,UAAYt9b,EAAOhkI,KAAM,CAC3B,IAAIyqoB,EAASzmgB,EAAOr4H,IACpBm+nB,EAAcj0hB,EAChB,CACA,OAAO40hB,CACT,CACF,CACA,MAAM,IAAIt5oB,MAAM,wBAClB,EACAwwkB,cAAe,SAAuBmrB,EAAU/rB,EAAYC,GAC1D,OAAOx4kB,KAAKo4kB,SAAW,CACrBn0kB,SAAU2/B,EAAO0gkB,GACjB/rB,WAAYA,EACZC,QAASA,GACR,SAAWx4kB,KAAKf,SAAWe,KAAKmjB,SAAM5kB,GAAY8hpB,CACvD,GACCjipB,CACL,CC9SA,SAAS8mpB,EAAmB18F,EAAK7ljB,EAASC,EAAQogf,EAAOmiK,EAAQ7jpB,EAAK6hB,GACpE,IACE,IAAIgK,EAAOq7hB,EAAIlnjB,GAAK6hB,GAChBrgB,EAAQqqB,EAAKrqB,KACnB,CAAE,MAAOiC,GAEP,YADAnC,EAAOmC,EAET,CACIooB,EAAKhqB,KACPR,EAAQG,GAERJ,QAAQC,QAAQG,GAAOM,KAAK4/e,EAAOmiK,EAEvC,CACe,SAASC,EAAkBlioB,GACxC,OAAO,WACL,IAAI9U,EAAOpO,KACTsoB,EAAO5nB,UACT,OAAO,IAAIgC,SAAQ,SAAUC,EAASC,GACpC,IAAI4ljB,EAAMtliB,EAAGriB,MAAMuN,EAAMka,GACzB,SAAS06d,EAAMlgf,GACboipB,EAAmB18F,EAAK7ljB,EAASC,EAAQogf,EAAOmiK,EAAQ,OAAQripB,EAClE,CACA,SAASqipB,EAAOvvmB,GACdsvmB,EAAmB18F,EAAK7ljB,EAASC,EAAQogf,EAAOmiK,EAAQ,QAASvvmB,EACnE,CACAotc,OAAMzkf,EACR,GACF,CACF,oCC5Be,SAAS8mpB,EAAe1C,EAAUC,GAC/CD,EAASzipB,UAAYV,OAAOW,OAAOyipB,EAAW1ipB,WAC9CyipB,EAASzipB,UAAUD,YAAc0ipB,GACjC,EAAAljpB,EAAA,GAAekjpB,EAAUC,EAC3B,oCCLA,SAAS3G,EAAWp9lB,GAClB,MAA8B,MAAvBA,EAAS1Z,OAAO,EACzB,CAGA,SAASmgnB,EAAUj3lB,EAAMtxC,GACvB,IAAK,IAAIvc,EAAIuc,EAAOrY,EAAIlE,EAAI,EAAGC,EAAI4tD,EAAK1tD,OAAQ+D,EAAIjE,EAAGD,GAAK,EAAGkE,GAAK,EAClE2pD,EAAK7tD,GAAK6tD,EAAK3pD,GAGjB2pD,EAAKhqD,KACP,CA+DA,MA5DA,SAAyBwhF,EAAIv7E,QACd/L,IAAT+L,IAAoBA,EAAO,IAE/B,IAkBI0xoB,EAlBAuJ,EAAW1/jB,GAAMA,EAAG/yE,MAAM,MAAS,GACnC0yoB,EAAal7oB,GAAQA,EAAKwI,MAAM,MAAS,GAEzC2yoB,EAAU5/jB,GAAMo2jB,EAAWp2jB,GAC3B6/jB,EAAYp7oB,GAAQ2xoB,EAAW3xoB,GAC/BqxoB,EAAa8J,GAAWC,EAW5B,GATI7/jB,GAAMo2jB,EAAWp2jB,GAEnB2/jB,EAAYD,EACHA,EAAQ5kpB,SAEjB6kpB,EAAUnhpB,MACVmhpB,EAAYA,EAAUzmpB,OAAOwmpB,KAG1BC,EAAU7kpB,OAAQ,MAAO,IAG9B,GAAI6kpB,EAAU7kpB,OAAQ,CACpB,IAAIwtF,EAAOq3jB,EAAUA,EAAU7kpB,OAAS,GACxCq7oB,EAA4B,MAAT7tjB,GAAyB,OAATA,GAA0B,KAATA,CACtD,MACE6tjB,GAAmB,EAIrB,IADA,IAAInynB,EAAK,EACArpB,EAAIglpB,EAAU7kpB,OAAQH,GAAK,EAAGA,IAAK,CAC1C,IAAI48F,EAAOoojB,EAAUhlpB,GAER,MAAT48F,EACFkojB,EAAUE,EAAWhlpB,GACH,OAAT48F,GACTkojB,EAAUE,EAAWhlpB,GACrBqpB,KACSA,IACTy7nB,EAAUE,EAAWhlpB,GACrBqpB,IAEJ,CAEA,IAAK8xnB,EAAY,KAAO9xnB,IAAMA,EAAI27nB,EAAU7rmB,QAAQ,OAGlDgimB,GACiB,KAAjB6J,EAAU,IACRA,EAAU,IAAOvJ,EAAWuJ,EAAU,KAExCA,EAAU7rmB,QAAQ,IAEpB,IAAIz2C,EAASsipB,EAAU/1oB,KAAK,KAI5B,OAFIusoB,GAA0C,MAAtB94oB,EAAO8Z,QAAQ,KAAY9Z,GAAU,KAEtDA,CACT,ECxEIyipB,GAAev8oB,EACfoY,EAAS,mBACb,SAASokoB,EAAUn7iB,EAAW9xF,GAC1B,IAAI8xF,EAAJ,CAGA,GAAIk7iB,EACA,MAAM,IAAIh9oB,MAAM6Y,GAEpB,IAAIqkoB,EAA8B,oBAAZltoB,EAAyBA,IAAYA,EACvD7V,EAAQ+ipB,EAAW,GAAG9mpB,OAAOyiB,EAAQ,MAAMziB,OAAO8mpB,GAAYrkoB,EAClE,MAAM,IAAI7Y,MAAM7F,EANhB,CAOJ,CCNA,SAASgjpB,EAAgB5onB,GACvB,MAA0B,MAAnBA,EAAKiI,OAAO,GAAajI,EAAO,IAAMA,CAC/C,CACA,SAAS6onB,EAAkB7onB,GACzB,MAA0B,MAAnBA,EAAKiI,OAAO,GAAajI,EAAKlgB,OAAO,GAAKkgB,CACnD,CAIA,SAAS8onB,EAAc9onB,EAAM1b,GAC3B,OAJF,SAAqB0b,EAAM1b,GACzB,OAA4D,IAArD0b,EAAK5iB,cAActZ,QAAQwgB,EAAOlH,iBAAuE,IAA/C,MAAMtZ,QAAQk8B,EAAKiI,OAAO3jB,EAAO7gB,QACpG,CAESslpB,CAAY/onB,EAAM1b,GAAU0b,EAAKlgB,OAAOwE,EAAO7gB,QAAUu8B,CAClE,CACA,SAASgpnB,EAAmBhpnB,GAC1B,MAAwC,MAAjCA,EAAKiI,OAAOjI,EAAKv8B,OAAS,GAAau8B,EAAK/f,MAAM,GAAI,GAAK+f,CACpE,CAyBA,SAASipnB,EAAW5nnB,GAClB,IAAIsgB,EAAWtgB,EAASsgB,SACpBhiC,EAAS0hB,EAAS1hB,OAClB7V,EAAOu3B,EAASv3B,KAChBk2B,EAAO2hB,GAAY,IAGvB,OAFIhiC,GAAqB,MAAXA,IAAgBqgB,GAA6B,MAArBrgB,EAAOsoB,OAAO,GAAatoB,EAAS,IAAMA,GAC5E7V,GAAiB,MAATA,IAAck2B,GAA2B,MAAnBl2B,EAAKm+B,OAAO,GAAan+B,EAAO,IAAMA,GACjEk2B,CACT,CAEA,SAASkpnB,EAAelpnB,EAAM9yB,EAAO9I,EAAKoyd,GACxC,IAAIn1b,EAEgB,kBAATrB,GAETqB,EAvCJ,SAAmBrB,GACjB,IAAI2hB,EAAW3hB,GAAQ,IACnBrgB,EAAS,GACT7V,EAAO,GACPq/oB,EAAYxnmB,EAAS79C,QAAQ,MAEd,IAAfqlpB,IACFr/oB,EAAO63C,EAAS7hC,OAAOqpoB,GACvBxnmB,EAAWA,EAAS7hC,OAAO,EAAGqpoB,IAGhC,IAAIC,EAAcznmB,EAAS79C,QAAQ,KAOnC,OALqB,IAAjBslpB,IACFzpoB,EAASgiC,EAAS7hC,OAAOspoB,GACzBznmB,EAAWA,EAAS7hC,OAAO,EAAGspoB,IAGzB,CACLznmB,SAAUA,EACVhiC,OAAmB,MAAXA,EAAiB,GAAKA,EAC9B7V,KAAe,MAATA,EAAe,GAAKA,EAE9B,CAgBek6gB,CAAUhkf,GACrBqB,EAASn0B,MAAQA,SAIS7L,KAD1BggC,GAAW7U,EAAAA,EAAAA,GAAS,CAAC,EAAGwT,IACX2hB,WAAwBtgB,EAASsgB,SAAW,IAErDtgB,EAAS1hB,OACuB,MAA9B0hB,EAAS1hB,OAAOsoB,OAAO,KAAY5G,EAAS1hB,OAAS,IAAM0hB,EAAS1hB,QAExE0hB,EAAS1hB,OAAS,GAGhB0hB,EAASv3B,KACqB,MAA5Bu3B,EAASv3B,KAAKm+B,OAAO,KAAY5G,EAASv3B,KAAO,IAAMu3B,EAASv3B,MAEpEu3B,EAASv3B,KAAO,QAGJzI,IAAV6L,QAA0C7L,IAAnBggC,EAASn0B,QAAqBm0B,EAASn0B,MAAQA,IAG5E,IACEm0B,EAASsgB,SAAWk3O,UAAUx3P,EAASsgB,SACzC,CAAE,MAAO99C,IACP,MAAIA,cAAawlpB,SACT,IAAIA,SAAS,aAAehonB,EAASsgB,SAAxB,iFAEb99C,EAEV,CAkBA,OAhBIO,IAAKi9B,EAASj9B,IAAMA,GAEpBoyd,EAEGn1b,EAASsgB,SAE6B,MAAhCtgB,EAASsgB,SAAS1Z,OAAO,KAClC5G,EAASsgB,SAAW2nmB,EAAgBjonB,EAASsgB,SAAU60a,EAAgB70a,WAFvEtgB,EAASsgB,SAAW60a,EAAgB70a,SAMjCtgB,EAASsgB,WACZtgB,EAASsgB,SAAW,KAIjBtgB,CACT,CAKA,SAASkonB,IACP,IAAIz3H,EAAS,KAiCb,IAAI6lC,EAAY,GA4BhB,MAAO,CACL6xF,UA5DF,SAAmBC,GAGjB,OADA33H,EAAS23H,EACF,WACD33H,IAAW23H,IAAY33H,EAAS,KACtC,CACF,EAuDE43H,oBArDF,SAA6BronB,EAAU1T,EAAQg8nB,EAAqB12oB,GAIlE,GAAc,MAAV6+gB,EAAgB,CAClB,IAAI9rhB,EAA2B,oBAAX8rhB,EAAwBA,EAAOzwf,EAAU1T,GAAUmkgB,EAEjD,kBAAX9rhB,EAC0B,oBAAxB2jpB,EACTA,EAAoB3jpB,EAAQiN,GAG5BA,GAAS,GAIXA,GAAoB,IAAXjN,EAEb,MACEiN,GAAS,EAEb,EAiCE22oB,eA7BF,SAAwB5joB,GACtB,IAAI65I,GAAW,EAEf,SAAShkJ,IACHgkJ,GAAU75I,EAAGriB,WAAM,EAAQH,UACjC,CAGA,OADAm0jB,EAAUvwjB,KAAKyU,GACR,WACLgkJ,GAAW,EACX83Z,EAAYA,EAAU7hjB,QAAO,SAAUoG,GACrC,OAAOA,IAASL,CAClB,GACF,CACF,EAgBEguoB,gBAdF,WACE,IAAK,IAAInynB,EAAOl0B,UAAUC,OAAQ2nB,EAAO,IAAI3oB,MAAMi1B,GAAO9M,EAAO,EAAGA,EAAO8M,EAAM9M,IAC/EQ,EAAKR,GAAQpnB,UAAUonB,GAGzB+siB,EAAU3kjB,SAAQ,SAAU6I,GAC1B,OAAOA,EAASlY,WAAM,EAAQynB,EAChC,GACF,EAQF,CAEA,IAAI0+nB,IAAiC,qBAAX3opB,SAA0BA,OAAOoX,WAAYpX,OAAOoX,SAASC,eACvF,SAASuxoB,EAAgBtuoB,EAASxI,GAChCA,EAAS9R,OAAOq8S,QAAQ/hS,GAC1B,CAuCA,IAAIuuoB,EAAgB,WAChBC,EAAkB,aAEtB,SAASC,IACP,IACE,OAAO/opB,OAAOgppB,QAAQj9oB,OAAS,CAAC,CAClC,CAAE,MAAOrJ,IAGP,MAAO,CAAC,CACV,CACF,CAOA,SAASumpB,EAAqBh2oB,QACd,IAAVA,GACM,CAAC,EAGV01oB,GAAsGpB,GAAU,GACjH,IAAI2B,EAAgBlppB,OAAOgppB,QACvBG,EAvDN,WACE,IAAIh4kB,EAAKnxE,OAAO+/C,UAAUC,UAC1B,QAAmC,IAA9BmxB,EAAGxuE,QAAQ,gBAAuD,IAA/BwuE,EAAGxuE,QAAQ,iBAA2D,IAAjCwuE,EAAGxuE,QAAQ,mBAAqD,IAA1BwuE,EAAGxuE,QAAQ,YAAqD,IAAjCwuE,EAAGxuE,QAAQ,mBACtJ3C,OAAOgppB,SAAW,cAAehppB,OAAOgppB,OACjD,CAmDsBI,GAChBC,KA7CsD,IAAnDrppB,OAAO+/C,UAAUC,UAAUr9C,QAAQ,YA8CtCovC,EAAS9+B,EACTq2oB,EAAsBv3mB,EAAOw3mB,aAC7BA,OAAuC,IAAxBD,GAAyCA,EACxDE,EAAwBz3mB,EAAOy2mB,oBAC/BA,OAAgD,IAA1BgB,EAAmCZ,EAAkBY,EAC3EC,EAAmB13mB,EAAO23mB,UAC1BA,OAAiC,IAArBD,EAA8B,EAAIA,EAC9CE,EAAW12oB,EAAM02oB,SAAW9B,EAAmBJ,EAAgBx0oB,EAAM02oB,WAAa,GAEtF,SAASC,EAAeC,GACtB,IAAIttoB,EAAOstoB,GAAgB,CAAC,EACxB5mpB,EAAMsZ,EAAKtZ,IACX8I,EAAQwQ,EAAKxQ,MAEb+9oB,EAAmB9ppB,OAAOkgC,SAI1BrB,EAHWirnB,EAAiBtpmB,SACnBspmB,EAAiBtroB,OACnBsroB,EAAiBnhpB,KAI5B,OADIghpB,GAAiBhC,EAAc9onB,EAAM8qnB,GAClC5B,EAAelpnB,EAAM9yB,EAAO9I,EACrC,CAEA,SAAS8mpB,IACP,OAAO98oB,KAAK8xD,SAAS5tD,SAAS,IAAIwN,OAAO,EAAG+qoB,EAC9C,CAEA,IAAIM,EAAoB5B,IAExB,SAASnykB,EAASjjE,IAChBqY,EAAAA,EAAAA,GAAS29nB,EAASh2oB,GAElBg2oB,EAAQ1mpB,OAAS4mpB,EAAc5mpB,OAC/B0npB,EAAkBtB,gBAAgBM,EAAQ9onB,SAAU8onB,EAAQx8nB,OAC9D,CAEA,SAASy9nB,EAAe/nnB,IApE1B,SAAmCA,GACjC,YAAuBhiC,IAAhBgiC,EAAMn2B,QAAiE,IAA1Cg0C,UAAUC,UAAUr9C,QAAQ,QAClE,EAoEQunpB,CAA0BhonB,IAC9BionB,EAAUP,EAAe1nnB,EAAMn2B,OACjC,CAEA,SAASq+oB,IACPD,EAAUP,EAAeb,KAC3B,CAEA,IAAIsB,GAAe,EAEnB,SAASF,EAAUjqnB,GACjB,GAAImqnB,GACa,EACfp0kB,QACK,CAEL+zkB,EAAkBzB,oBAAoBronB,EADzB,MAC2CsonB,GAAqB,SAAU3wU,GACjFA,EACF5hQ,EAAS,CACPzpD,OAJO,MAKP0T,SAAUA,IASpB,SAAmBoqnB,GACjB,IAAIC,EAAavB,EAAQ9onB,SAIrBixL,EAAUv+K,EAAQjwC,QAAQ4npB,EAAWtnpB,MACxB,IAAbkuN,GAA0B,EAC9B,IAAIF,EAAYr+K,EAAQjwC,QAAQ2npB,EAAarnpB,MAC1B,IAAfguN,GAA8B,EAClC,IAAI7yF,EAAQ+yF,EAAUF,EAElB7yF,KACa,EACfoshB,EAAGpshB,GAEP,CArBQqshB,CAAUvqnB,EAEd,GACF,CACF,CAmBA,IAAIwqnB,EAAkBd,EAAeb,KACjCn2mB,EAAU,CAAC83mB,EAAgBznpB,KAE/B,SAAS0npB,EAAWzqnB,GAClB,OAAOypnB,EAAW7B,EAAW5nnB,EAC/B,CAsEA,SAASsqnB,EAAGpopB,GACV8mpB,EAAcsB,GAAGpopB,EACnB,CAUA,IAAIs0jB,EAAgB,EAEpB,SAASk0F,EAAkBxshB,GAGH,KAFtBs4b,GAAiBt4b,IAEoB,IAAVA,GACzBp+H,OAAOgjC,iBAAiB6lnB,EAAeoB,GACnCZ,GAAyBrppB,OAAOgjC,iBAAiB8lnB,EAAiBsB,IAC3C,IAAlB1zF,IACT12jB,OAAOq2C,oBAAoBwymB,EAAeoB,GACtCZ,GAAyBrppB,OAAOq2C,oBAAoByymB,EAAiBsB,GAE7E,CAEA,IAAIS,GAAY,EAiChB,IAAI7B,EAAU,CACZ1mpB,OAAQ4mpB,EAAc5mpB,OACtBkqB,OAAQ,MACR0T,SAAUwqnB,EACVC,WAAYA,EACZ1kpB,KApIF,SAAc44B,EAAM9yB,GAElB,IAAIygB,EAAS,OACT0T,EAAW6nnB,EAAelpnB,EAAM9yB,EAAOg+oB,IAAaf,EAAQ9onB,UAChE8pnB,EAAkBzB,oBAAoBronB,EAAU1T,EAAQg8nB,GAAqB,SAAU3wU,GACrF,GAAKA,EAAL,CACA,IAAI13R,EAAOwqmB,EAAWzqnB,GAClBj9B,EAAMi9B,EAASj9B,IACf8I,EAAQm0B,EAASn0B,MAErB,GAAIo9oB,EAMF,GALAD,EAAc4B,UAAU,CACtB7npB,IAAKA,EACL8I,MAAOA,GACN,KAAMo0C,GAELopmB,EACFvppB,OAAOkgC,SAASigB,KAAOA,MAClB,CACL,IAAI0mM,EAAYj0M,EAAQjwC,QAAQqmpB,EAAQ9onB,SAASj9B,KAC7C8npB,EAAWn4mB,EAAQ9zB,MAAM,EAAG+nO,EAAY,GAC5Ckka,EAAS9kpB,KAAKi6B,EAASj9B,KACb8npB,EACV90kB,EAAS,CACPzpD,OAAQA,EACR0T,SAAUA,GAEd,MAGAlgC,OAAOkgC,SAASigB,KAAOA,CAzBV,CA2BjB,GACF,EAoGEnkC,QAlGF,SAAiB6iB,EAAM9yB,GAErB,IAAIygB,EAAS,UACT0T,EAAW6nnB,EAAelpnB,EAAM9yB,EAAOg+oB,IAAaf,EAAQ9onB,UAChE8pnB,EAAkBzB,oBAAoBronB,EAAU1T,EAAQg8nB,GAAqB,SAAU3wU,GACrF,GAAKA,EAAL,CACA,IAAI13R,EAAOwqmB,EAAWzqnB,GAClBj9B,EAAMi9B,EAASj9B,IACf8I,EAAQm0B,EAASn0B,MAErB,GAAIo9oB,EAMF,GALAD,EAAc8B,aAAa,CACzB/npB,IAAKA,EACL8I,MAAOA,GACN,KAAMo0C,GAELopmB,EACFvppB,OAAOkgC,SAASlkB,QAAQmkC,OACnB,CACL,IAAI0mM,EAAYj0M,EAAQjwC,QAAQqmpB,EAAQ9onB,SAASj9B,MAC9B,IAAf4jP,IAAkBj0M,EAAQi0M,GAAa3mN,EAASj9B,KACpDgzE,EAAS,CACPzpD,OAAQA,EACR0T,SAAUA,GAEd,MAGAlgC,OAAOkgC,SAASlkB,QAAQmkC,EAvBX,CAyBjB,GACF,EAoEEqqmB,GAAIA,EACJS,OA/DF,WACET,GAAI,EACN,EA8DEU,UA5DF,WACEV,EAAG,EACL,EA2DE7tlB,MAzCF,SAAeg0d,QACE,IAAXA,IACO,EAGX,IAAIw6H,EAAUnB,EAAkB3B,UAAU13H,GAO1C,OALKk6H,IACHD,EAAkB,IACN,GAGP,WAML,OALIC,KACU,EACZD,GAAmB,IAGdO,GACT,CACF,EAsBEx0iB,OApBF,SAAgBj8F,GACd,IAAI0woB,EAAWpB,EAAkBvB,eAAe/toB,GAEhD,OADAkwoB,EAAkB,GACX,WACLA,GAAmB,GACnBQ,GACF,CACF,GAeA,OAAOpC,CACT,CAEA,IAAIqC,EAAoB,aACpBC,EAAiB,CACnBC,SAAU,CACRC,WAAY,SAAoB3snB,GAC9B,MAA0B,MAAnBA,EAAKiI,OAAO,GAAajI,EAAO,KAAO6onB,EAAkB7onB,EAClE,EACA4snB,WAAY,SAAoB5snB,GAC9B,MAA0B,MAAnBA,EAAKiI,OAAO,GAAajI,EAAKlgB,OAAO,GAAKkgB,CACnD,GAEF6snB,QAAS,CACPF,WAAY9D,EACZ+D,WAAYhE,GAEdkE,MAAO,CACLH,WAAY/D,EACZgE,WAAYhE,IAIhB,SAASmE,EAAUrqnB,GACjB,IAAIymnB,EAAYzmnB,EAAI5+B,QAAQ,KAC5B,OAAsB,IAAfqlpB,EAAmBzmnB,EAAMA,EAAIziB,MAAM,EAAGkpoB,EAC/C,CAEA,SAAS6D,IAGP,IAAI1rmB,EAAOngD,OAAOkgC,SAASigB,KACvB6nmB,EAAY7nmB,EAAKx9C,QAAQ,KAC7B,OAAsB,IAAfqlpB,EAAmB,GAAK7nmB,EAAK9Y,UAAU2gnB,EAAY,EAC5D,CAMA,SAAS8D,EAAgBjtnB,GACvB7+B,OAAOkgC,SAASlkB,QAAQ4voB,EAAU5rpB,OAAOkgC,SAASigB,MAAQ,IAAMthB,EAClE,CAEA,SAASktnB,EAAkB94oB,QACX,IAAVA,IACFA,EAAQ,CAAC,GAGV01oB,GAAmGpB,GAAU,GAC9G,IAAI2B,EAAgBlppB,OAAOgppB,QAEvBj3mB,GAnUG/xC,OAAO+/C,UAAUC,UAAUr9C,QAAQ,WAmU7BsQ,GACTu2oB,EAAwBz3mB,EAAOy2mB,oBAC/BA,OAAgD,IAA1BgB,EAAmCZ,EAAkBY,EAC3EwC,EAAkBj6mB,EAAOk6mB,SACzBA,OAA+B,IAApBD,EAA6B,QAAUA,EAClDrC,EAAW12oB,EAAM02oB,SAAW9B,EAAmBJ,EAAgBx0oB,EAAM02oB,WAAa,GAClFuC,EAAwBZ,EAAeW,GACvCT,EAAaU,EAAsBV,WACnCC,EAAaS,EAAsBT,WAEvC,SAAS7B,IACP,IAAI/qnB,EAAO4snB,EAAWI,KAGtB,OADIlC,IAAU9qnB,EAAO8onB,EAAc9onB,EAAM8qnB,IAClC5B,EAAelpnB,EACxB,CAEA,IAAImrnB,EAAoB5B,IAExB,SAASnykB,EAASjjE,IAChBqY,EAAAA,EAAAA,GAAS29nB,EAASh2oB,GAElBg2oB,EAAQ1mpB,OAAS4mpB,EAAc5mpB,OAC/B0npB,EAAkBtB,gBAAgBM,EAAQ9onB,SAAU8onB,EAAQx8nB,OAC9D,CAEA,IAAI69nB,GAAe,EACf8B,EAAa,KAMjB,SAAS/B,IACP,IAAIvrnB,EAAOgtnB,IACPO,EAAcZ,EAAW3snB,GAE7B,GAAIA,IAASutnB,EAEXN,EAAgBM,OACX,CACL,IAAIlsnB,EAAW0pnB,IACX9lL,EAAeklL,EAAQ9onB,SAC3B,IAAKmqnB,GAdT,SAA8BvjpB,EAAG5F,GAC/B,OAAO4F,EAAE05C,WAAat/C,EAAEs/C,UAAY15C,EAAE0X,SAAWtd,EAAEsd,QAAU1X,EAAE6B,OAASzH,EAAEyH,IAC5E,CAYyB0jpB,CAAqBvoL,EAAc5jc,GAAW,OAEnE,GAAIisnB,IAAerE,EAAW5nnB,GAAW,OAEzCisnB,EAAa,KAKjB,SAAmBjsnB,GACjB,GAAImqnB,EACFA,GAAe,EACfp0kB,QACK,CACL,IAAIzpD,EAAS,MACbw9nB,EAAkBzB,oBAAoBronB,EAAU1T,EAAQg8nB,GAAqB,SAAU3wU,GACjFA,EACF5hQ,EAAS,CACPzpD,OAAQA,EACR0T,SAAUA,IASpB,SAAmBoqnB,GACjB,IAAIC,EAAavB,EAAQ9onB,SAIrBixL,EAAUm7b,EAASl/lB,YAAY06lB,EAAWyC,KAC7B,IAAbp5b,IAAgBA,EAAU,GAC9B,IAAIF,EAAYq7b,EAASl/lB,YAAY06lB,EAAWwC,KAC7B,IAAfr5b,IAAkBA,EAAY,GAClC,IAAI7yF,EAAQ+yF,EAAUF,EAElB7yF,IACFishB,GAAe,EACfG,EAAGpshB,GAEP,CArBQqshB,CAAUvqnB,EAEd,GACF,CACF,CArBIiqnB,CAAUjqnB,EACZ,CACF,CAuCA,IAAIrB,EAAOgtnB,IACPO,EAAcZ,EAAW3snB,GACzBA,IAASutnB,GAAaN,EAAgBM,GAC1C,IAAI1B,EAAkBd,IAClB0C,EAAW,CAACxE,EAAW4C,IAuE3B,SAASF,EAAGpopB,GAEV8mpB,EAAcsB,GAAGpopB,EACnB,CAUA,IAAIs0jB,EAAgB,EAEpB,SAASk0F,EAAkBxshB,GAGH,KAFtBs4b,GAAiBt4b,IAEoB,IAAVA,EACzBp+H,OAAOgjC,iBAAiBqonB,EAAmBjB,GAChB,IAAlB1zF,GACT12jB,OAAOq2C,oBAAoBg1mB,EAAmBjB,EAElD,CAEA,IAAIS,GAAY,EAiChB,IAAI7B,EAAU,CACZ1mpB,OAAQ4mpB,EAAc5mpB,OACtBkqB,OAAQ,MACR0T,SAAUwqnB,EACVC,WAnIF,SAAoBzqnB,GAClB,IAAIiE,EAAU/sB,SAAS+1G,cAAc,QACjChtE,EAAO,GAMX,OAJIhc,GAAWA,EAAQxgB,aAAa,UAClCw8B,EAAOyrmB,EAAU5rpB,OAAOkgC,SAASigB,OAG5BA,EAAO,IAAMqrmB,EAAW7B,EAAW7B,EAAW5nnB,GACvD,EA2HEj6B,KAzHF,SAAc44B,EAAM9yB,GAElB,IAAIygB,EAAS,OACT0T,EAAW6nnB,EAAelpnB,OAAM3+B,OAAWA,EAAW8opB,EAAQ9onB,UAClE8pnB,EAAkBzB,oBAAoBronB,EAAU1T,EAAQg8nB,GAAqB,SAAU3wU,GACrF,GAAKA,EAAL,CACA,IAAIh5S,EAAOipnB,EAAW5nnB,GAClBksnB,EAAcZ,EAAW7B,EAAW9qnB,GAGxC,GAFkBgtnB,MAAkBO,EAEnB,CAIfD,EAAattnB,EAxIrB,SAAsBA,GACpB7+B,OAAOkgC,SAASv3B,KAAOk2B,CACzB,CAuIQ0tnB,CAAaH,GACb,IAAIvla,EAAYyla,EAASl/lB,YAAY06lB,EAAWkB,EAAQ9onB,WACpDssnB,EAAYF,EAASxtoB,MAAM,EAAG+nO,EAAY,GAC9C2la,EAAUvmpB,KAAK44B,GACfytnB,EAAWE,EACXv2kB,EAAS,CACPzpD,OAAQA,EACR0T,SAAUA,GAEd,MAEE+1C,GArBa,CAuBjB,GACF,EA6FEj6D,QA3FF,SAAiB6iB,EAAM9yB,GAErB,IAAIygB,EAAS,UACT0T,EAAW6nnB,EAAelpnB,OAAM3+B,OAAWA,EAAW8opB,EAAQ9onB,UAClE8pnB,EAAkBzB,oBAAoBronB,EAAU1T,EAAQg8nB,GAAqB,SAAU3wU,GACrF,GAAKA,EAAL,CACA,IAAIh5S,EAAOipnB,EAAW5nnB,GAClBksnB,EAAcZ,EAAW7B,EAAW9qnB,GACtBgtnB,MAAkBO,IAMlCD,EAAattnB,EACbitnB,EAAgBM,IAGlB,IAAIvla,EAAYyla,EAAS3ppB,QAAQmlpB,EAAWkB,EAAQ9onB,YACjC,IAAf2mN,IAAkByla,EAASzla,GAAahoN,GAC5Co3C,EAAS,CACPzpD,OAAQA,EACR0T,SAAUA,GAjBG,CAmBjB,GACF,EAmEEsqnB,GAAIA,EACJS,OA7DF,WACET,GAAI,EACN,EA4DEU,UA1DF,WACEV,EAAG,EACL,EAyDE7tlB,MAzCF,SAAeg0d,QACE,IAAXA,IACFA,GAAS,GAGX,IAAIw6H,EAAUnB,EAAkB3B,UAAU13H,GAO1C,OALKk6H,IACHD,EAAkB,GAClBC,GAAY,GAGP,WAML,OALIA,IACFA,GAAY,EACZD,GAAmB,IAGdO,GACT,CACF,EAsBEx0iB,OApBF,SAAgBj8F,GACd,IAAI0woB,EAAWpB,EAAkBvB,eAAe/toB,GAEhD,OADAkwoB,EAAkB,GACX,WACLA,GAAmB,GACnBQ,GACF,CACF,GAeA,OAAOpC,CACT,CAEA,SAAStinB,EAAMtkC,EAAGqqpB,EAAYC,GAC5B,OAAOz/oB,KAAK05B,IAAI15B,KAAK25B,IAAIxkC,EAAGqqpB,GAAaC,EAC3C,+CCjwBMC,YAAwB,YAExBC,EACkB,qBAAf1tlB,WAEHA,WACkB,qBAAXl/D,OACPA,OACkB,qBAAXsvD,EAAAA,EACPA,EAAAA,EACA,CAAC,ECjBP,IAMAx5C,EAAekP,EAAAA,eDuDf,SAA2CjP,EAAc82oB,WACjDC,EAAc,0BA3CtB,eACM7ppB,EAAM,8BACF2ppB,EAAe3ppB,IAAQ2ppB,EAAe3ppB,IAAQ,GAAK,EAyCX8ppB,GAAgB,KAE1D92oB,EAHuE,SAAA+2oB,2IAI3Ev0f,QA9BJ,SAA4Bh0J,OACtB4nC,EAAW,SACR,CACLy9B,GADK,SACFoL,GACD7oC,EAASpmC,KAAKivE,IAGhBvC,IALK,SAKDuC,GACF7oC,EAAWA,EAAS13B,QAAO,SAAA2V,UAAKA,IAAM4qD,MAGxC3sE,IATK,kBAUI9D,GAGTgE,IAbK,SAaDi4B,EAAUusnB,GACZxopB,EAAQi8B,EACR2L,EAASx6B,SAAQ,SAAAqjE,UAAWA,EAAQzwE,EAAOwopB,QAanCC,CAAmBripB,EAAKoI,MAAMxO,2CAMxCoxlB,gBAAA,8BAEKi3D,GAAcnrpB,KAAK82J,QADtBl8I,KAKF87kB,0BAAA,SAA0BtllB,MACpBpR,KAAKsR,MAAMxO,QAAUsO,EAAUtO,MAAO,KAGpCwopB,EAFAr1iB,EAAWj2G,KAAKsR,MAAMxO,MACtBi8B,EAAW3tB,EAAUtO,OAtDjC,SAAkB8d,EAAGpd,UACfod,IAAMpd,EACK,IAANod,GAAW,EAAIA,IAAM,EAAIpd,EAGzBod,IAAMA,GAAKpd,IAAMA,EAoDhBgopB,CAASv1iB,EAAUl3E,IAGrBusnB,EACkC,oBAAzBJ,EACHA,EAAqBj1iB,EAAUl3E,GAC/BisnB,EAYc,KAFpBM,GAAe,SAGRx0f,QAAQhwJ,IAAIsK,EAAUtO,MAAOwopB,IAlBpCA,EAAc,MAwBpBxyoB,OAAA,kBACS9Y,KAAKsR,MAAMkD,YAhDuD,CAGtD6O,EAAAA,WAAjB/O,EAGGkzkB,oBANoEikE,EAAA,IAOxEN,GAAcvnlB,IAAAA,OAAAA,WAP0D6nlB,OAoDvE1X,EApDuE,SAAA2X,2IAyD3EC,kBAzD2E,IA2D3EvhpB,MAAQ,CACNtH,MAAO6O,EAAK63B,cAoCdoinB,SAAW,SAAC7snB,EAAUusnB,GAEiB,MADI,EAApB35oB,EAAKg6oB,cACNL,MACbh3kB,SAAS,CAAExxE,MAAO6O,EAAK63B,kDApChCktjB,0BAAA,SAA0BtllB,OAClBu6oB,EAAiBv6oB,EAAjBu6oB,kBACDA,kBACcptpB,IAAjBotpB,GAA+C,OAAjBA,EAC1BX,EACAW,KAGRtklB,kBAAA,WACMrnE,KAAKkR,QAAQi6oB,SACVj6oB,QAAQi6oB,GAAahjlB,GAAGnoE,KAAK4rpB,cAE9BD,EAAiB3rpB,KAAKsR,MAAtBq6oB,kBACDA,kBACcptpB,IAAjBotpB,GAA+C,OAAjBA,EAC1BX,EACAW,KAGR9jlB,qBAAA,WACM7nE,KAAKkR,QAAQi6oB,SACVj6oB,QAAQi6oB,GAAan6kB,IAAIhxE,KAAK4rpB,aAIvCpinB,SAAA,kBACMxpC,KAAKkR,QAAQi6oB,GACRnrpB,KAAKkR,QAAQi6oB,GAAavkpB,MAE1BwN,KAWX0E,OAAA,kBA3GJ,SAAmBtE,UACV7U,MAAMkoB,QAAQrT,GAAYA,EAAS,GAAKA,EA2GpCq3oB,CAAU7rpB,KAAKsR,MAAMkD,SAArBq3oB,CAA+B7rpB,KAAKoK,MAAMtH,UAxGwB,CAoDtDugB,EAAAA,kBAAjB0wnB,EACGrsD,eArDoEokE,EAAA,IAsDxEX,GAAcvnlB,IAAAA,OAtD0DkolB,GA4GtE,CACLx3oB,SAAAA,EACAy/nB,SAAAA,IEzKEgY,EAAqB,SAAAhlpB,OACnBmK,EAAUiD,WAChBjD,EAAQisB,YAAcp2B,EAEfmK,GCLH86oB,EAA+BD,EAAmB,kBCAlD76oB,EAAwB66oB,EAAmB,UCQ3CE,GAAA,SAAAZ,cAKQ/5oB,8BACJA,IAAN,MAEKlH,MAAQ,CACXm0B,SAAUjtB,EAAM+1oB,QAAQ9onB,YAQrB2tnB,YAAa,IACbC,iBAAmB,KAEnB76oB,EAAM86oB,kBACJ3C,SAAWn4oB,EAAM+1oB,QAAQryiB,QAAO,SAAAz2E,KAC9B4tnB,iBAAmB5tnB,iBArBvB8tnB,iBAAP,SAAwBxtmB,SACf,CAAE3hB,KAAM,IAAK0C,IAAK,IAAKnG,OAAQ,CAAC,EAAG6ynB,QAAsB,MAAbztmB,+BAyBrDwoB,kBAAA,2BACO6klB,YAAa,EAEdlspB,KAAKyppB,eAGFA,WAEFzppB,KAAKsR,MAAM86oB,qBACT3C,SAAWzppB,KAAKsR,MAAM+1oB,QAAQryiB,QAAO,SAAAz2E,GACpC5sB,EAAKu6oB,YACPv6oB,EAAK2iE,SAAS,CAAE/1C,SAAAA,QAIlBv+B,KAAKmspB,uBACF73kB,SAAS,CAAE/1C,SAAUv+B,KAAKmspB,sBAInCtklB,qBAAA,WACM7nE,KAAKyppB,gBACFA,gBACAyC,YAAa,OACbC,iBAAmB,SAI5BrzoB,OAAA,kBAEIuK,EAAAA,cAACnS,EAAcoD,SAAf,CACExR,MAAO,CACLukpB,QAASrnpB,KAAKsR,MAAM+1oB,QACpB9onB,SAAUv+B,KAAKoK,MAAMm0B,SACrB3c,MAAOqqoB,EAAOI,iBAAiBrspB,KAAKoK,MAAMm0B,SAASsgB,UACnDutmB,cAAepspB,KAAKsR,MAAM86oB,gBAG5B/ooB,EAAAA,cAAC2ooB,EAAe13oB,SAAhB,CACEE,SAAUxU,KAAKsR,MAAMkD,UAAY,KACjC1R,MAAO9C,KAAKsR,MAAM+1oB,cAnEtB,CAAehkoB,EAAAA,WCAMA,EAAAA,UCRHA,EAAAA,UCAxB,IAAMkpoB,GAAQ,CAAC,EACTC,GAAa,IACfC,GAAa,EAuBjB,SAASC,GAAU7tmB,EAAU7jC,QAAc,IAAdA,IAAAA,EAAU,CAAC,IACf,kBAAZA,GAAwBrb,MAAMkoB,QAAQ7M,MAC/CA,EAAU,CAAEkiB,KAAMliB,UAG+CA,EAA3DkiB,EALiCu4E,EAKjCv4E,SAAMqxkB,MAAAA,OAL2B,IAAAo+C,GAAAA,MAKZ32hB,OAAAA,OALY,IAAA42hB,GAAAA,MAKIt/C,UAAAA,OALJ,IAAAu/C,GAAAA,QAO3B,GAAG9tpB,OAAOm+B,GAEXxiB,QAAO,SAACgoU,EAASxlT,OACvBA,GAAiB,KAATA,EAAa,OAAO,QAC7BwlT,EAAS,OAAOA,QAhCxB,SAAqBxlT,EAAMliB,OACnB8xoB,EAAW,GAAG9xoB,EAAQkC,IAAMlC,EAAQg7G,OAASh7G,EAAQsylB,UACrDy/C,EAAYR,GAAMO,KAAcP,GAAMO,GAAY,CAAC,MAErDC,EAAU7vnB,GAAO,OAAO6vnB,EAAU7vnB,OAEhC1sB,EAAO,GAEPtN,EAAS,CAAEirL,OADFs+a,IAAavvkB,EAAM1sB,EAAMwK,GACfxK,KAAAA,UAErBi8oB,GAAaD,KACfO,EAAU7vnB,GAAQh6B,EAClBuppB,MAGKvppB,EAmBoB8ppB,CAAY9vnB,EAAM,CACzChgB,IAAKqxlB,EACLv4e,OAAAA,EACAs3e,UAAAA,IAHMn/a,EAJ6B8+d,EAI7B9+d,OAAQ39K,EAJqBy8oB,EAIrBz8oB,KAKVoR,EAAQusK,EAAOxsK,KAAKk9B,OAErBj9B,EAAO,OAAO,SAEZge,EAAkBhe,EAbY,GAatBgiB,EAAUhiB,EAbYzE,MAAA,GAc/BmvoB,EAAUztmB,IAAajf,SAEzB2ukB,IAAU+9C,EAAgB,KAEvB,CACLpvnB,KAAAA,EACA0C,IAAc,MAAT1C,GAAwB,KAAR0C,EAAa,IAAMA,EACxC0snB,QAAAA,EACA7ynB,OAAQjpB,EAAKkK,QAAO,SAAC25nB,EAAM/yoB,EAAKyb,UAC9Bs3nB,EAAK/yoB,EAAIyF,MAAQ68B,EAAO7mB,GACjBs3nB,IACN,CAAC,MAEL,UClCC6Y,GAAA,SAAA7B,+EACJvyoB,OAAA,6BAEIuK,EAAAA,cAACnS,EAAc6ioB,SAAf,MACG,SAAAoZ,GACWA,GAAVvH,GAAU,OAEJrnnB,EAAWr1B,EAAKoI,MAAMitB,UAAY4unB,EAAQ5unB,SAC1C3c,EAAQ1Y,EAAKoI,MAAM87oB,cACrBlkpB,EAAKoI,MAAM87oB,cACXlkpB,EAAKoI,MAAM4rB,KACXwvnB,GAAUnunB,EAASsgB,SAAU31C,EAAKoI,OAClC67oB,EAAQvroB,MAENtQ,GAAKoY,EAAAA,EAAAA,GAAA,GAAQyjoB,EAAR,CAAiB5unB,SAAAA,EAAU3c,MAAAA,MAEA1Y,EAAKoI,MAArCkD,EAZIuqL,EAYJvqL,SAAUsnB,EAZNijK,EAYMjjK,UAAWhjB,EAZjBimL,EAYiBjmL,cAIvBnZ,MAAMkoB,QAAQrT,IAxC5B,SAAyBA,UACmB,IAAnC6O,EAAAA,SAAAA,MAAqB7O,GAuCW64oB,CAAgB74oB,KAC7CA,EAAW,MAIX6O,EAAAA,cAACnS,EAAcoD,SAAf,CAAwBxR,MAAOwO,GAC5BA,EAAMsQ,MACHpN,EACsB,oBAAbA,EAGHA,EAASlD,GACXkD,EACFsnB,EACAzY,EAAAA,cAAoByY,EAAWxqB,GAC/BwH,EACAA,EAAOxH,GACP,KACkB,oBAAbkD,EAGLA,EAASlD,GACX,YA1CZ,CAAc+R,EAAAA,WCrBpB,SAASyioB,GAAgB5onB,SACG,MAAnBA,EAAKiI,OAAO,GAAajI,EAAO,IAAMA,EAY/C,SAAS8onB,GAAcgC,EAAUzpnB,OAC1BypnB,EAAU,OAAOzpnB,MAEhB48J,EAAO2qd,GAAgBkC,UAEW,IAApCzpnB,EAASsgB,SAAS79C,QAAQm6L,GAAoB58J,aAG7CA,EADL,CAEEsgB,SAAUtgB,EAASsgB,SAAS7hC,OAAOm+K,EAAKx6L,UAI5C,SAAS2spB,GAAU/unB,SACU,kBAAbA,EAAwBA,EAAW4nnB,EAAW5nnB,GAG9D,SAASgvnB,GAAczupB,UACd,WACL8mpB,GAAU,IAId,SAAS3njB,KAAQ,CAQU56E,EAAAA,UCzCNA,EAAAA,UCJrB,IAAMK,GAAaL,EAAAA,WAEnB,SAAgBmqoB,YAQP9poB,GAAWsooB,GCRQ3ooB,EAAAA,cCAtBoqoB,GAAA,SAAApC,2IACJhE,QAAU+C,EAAclhpB,EAAKoI,mCAE7BwH,OAAA,kBACSuK,EAAAA,cAAC4ooB,GAAD,CAAQ5E,QAASrnpB,KAAKqnpB,QAAS7yoB,SAAUxU,KAAKsR,MAAMkD,cAJzD,CAAmB6O,EAAAA,WCPlB,IAAMqqoB,GAAoB,SAAC7nkB,EAAI6tY,SACtB,oBAAP7tY,EAAoBA,EAAG6tY,GAAmB7tY,GAEtC8nkB,GAAsB,SAAC9nkB,EAAI6tY,SACjB,kBAAP7tY,EACVugkB,EAAevgkB,EAAI,KAAM,KAAM6tY,GAC/B7tY,GCGA+nkB,GAAiB,SAAAl4lB,UAAKA,GACtBjyC,GAAeJ,EAAAA,WACK,qBAAfI,KACTA,GAAamqoB,IAOf,IAAMC,GAAapqoB,IACjB,SAAA7I,EAOEkzoB,OALEC,EAMCnzoB,EANDmzoB,SACAv3T,EAKC57U,EALD47U,SACAw3T,EAICpzoB,EAJDquL,QACG46S,GAGFj3d,EAAAA,EAAAA,GAAAhS,EAAA,mCACKvZ,EAAWwif,EAAXxif,OAEJiQ,GAAKoY,EAAAA,EAAAA,GAAA,GACJm6d,EADI,CAEP56S,QAAS,SAAA1oK,OAEDytnB,GAASA,EAAQztnB,GACrB,MAAOutE,SACPvtE,EAAMolE,iBACAmI,EAILvtE,EAAMuiI,kBACU,IAAjBviI,EAAMrP,QACJ7vB,GAAqB,UAAXA,GA7BtB,SAAyBk/B,YACbA,EAAMC,SAAWD,EAAME,QAAUF,EAAMG,SAAWH,EAAMs8H,UA6BzDoxf,CAAgB1tnB,KAEjBA,EAAMolE,iBACN6wP,eAOJllV,EAAMmG,IADJm2oB,KAAmBnqoB,IACTqqoB,GAEAC,EAIP1qoB,EAAAA,cAAA,IAAO/R,MAWlB,IAAM48oB,GAAOzqoB,IACX,SAAA5I,EAQEizoB,WANEhynB,UAAAA,OAOC,IAAAqynB,EAPWN,GAOXM,EAND9zoB,EAMCQ,EANDR,QACAwrE,EAKChrE,EALDgrE,GACAkokB,EAIClzoB,EAJDkzoB,SACGlqK,GAGFj3d,EAAAA,EAAAA,GAAA/R,EAAA,gDAEDwI,EAAAA,cAAC+qoB,EAAAA,SAAD,MACG,SAAAl9oB,GACWA,GAAV00oB,GAAU,OAEFyB,EAAYn2oB,EAAZm2oB,QAEF9onB,EAAWovnB,GACfD,GAAkB7nkB,EAAI30E,EAAQqtB,UAC9BrtB,EAAQqtB,UAGJigB,EAAOjgB,EAAW8onB,EAAQ2B,WAAWzqnB,GAAY,GACjDjtB,GAAKoY,EAAAA,EAAAA,GAAA,GACNm6d,EADM,CAETrlc,KAAAA,EACAg4S,SAHS,eAIDj4T,EAAWmvnB,GAAkB7nkB,EAAI30E,EAAQqtB,UACzC8vnB,EAAwBlI,EAAWj1oB,EAAQqtB,YAAc4nnB,EAAWwH,GAAoBpvnB,KAC9ElkB,GAAWg0oB,EAAyBhH,EAAQhtoB,QAAUgtoB,EAAQ/ipB,MAEvEi6B,aAKPqvnB,KAAmBnqoB,GACrBnS,EAAMmG,IAAMq2oB,GAAgBC,EAE5Bz8oB,EAAMy8oB,SAAWA,EAGZ1qoB,EAAAA,cAAoByY,EAAWxqB,SC1G1Cg9oB,GAAiB,SAAA54lB,UAAKA,GACtB64lB,GAAelroB,EAAAA,WACK,qBAAfkroB,KACTA,GAAaD,IAUf,IAAME,GAAUD,IACd,SAAA3zoB,EAgBEkzoB,WAdE,gBAAgBW,OAef,IAAAC,EAf6B,OAe7BA,MAdDC,gBAAAA,OAcC,IAAAC,EAdiB,SAcjBA,EAbDC,EAaCj0oB,EAbDi0oB,YACWC,EAYVl0oB,EAZD/H,UACA07lB,EAWC3zlB,EAXD2zlB,MACUwgD,EAUTn0oB,EAVDmiJ,SACUiyf,EASTp0oB,EATD2jB,SACA+ukB,EAQC1ylB,EARD0ylB,UACAt3e,EAOCp7G,EAPDo7G,OACOrL,EAMN/vG,EANDX,MACA4rE,EAKCjrE,EALDirE,GACAkokB,EAICnzoB,EAJDmzoB,SACGlqK,GAGFj3d,EAAAA,EAAAA,GAAAhS,EAAA,gJAEDyI,EAAAA,cAAC+qoB,EAAAA,SAAD,MACG,SAAAl9oB,GACWA,GAAV00oB,GAAU,OAEJlyL,EAAkBs7L,GAAgB99oB,EAAQqtB,SAC1CqqnB,EAAa+E,GACjBD,GAAkB7nkB,EAAI6tY,GACtBA,GAEgBx2b,EAAS0rnB,EAAnB/pmB,SAEFowmB,EACJ/xnB,GAAQA,EAAK7iB,QAAQ,4BAA6B,QAE9CuH,EAAQqtoB,EACVvC,GAAUh5L,EAAgB70a,SAAU,CAClC3hB,KAAM+xnB,EACN1gD,MAAAA,EACAjB,UAAAA,EACAt3e,OAAAA,IAEF,KACE+mC,KAAcgyf,EAChBA,EAAantoB,EAAO8xc,GACpB9xc,GAEA/O,EACuB,oBAAlBi8oB,EACHA,EAAc/xf,GACd+xf,EAEF70oB,EACmB,oBAAd0wG,EAA2BA,EAAUoyC,GAAYpyC,EAEtDoyC,IACFlqJ,EA9DZ,sCAA2Bq8oB,EAAY,IAAAvvpB,MAAAi1B,GAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAAZonoB,EAAYpnoB,GAAApnB,UAAAonB,UAC9BonoB,EAAWl8oB,QAAO,SAAAxS,UAAKA,KAAGiP,KAAK,KA6DhB0/oB,CAAet8oB,EAAW87oB,GACtC10oB,GAAKyP,EAAAA,EAAAA,GAAA,GAAQzP,EAAU40oB,QAGnBv9oB,GAAKoY,EAAAA,EAAAA,GAAA,gBACQqzI,GAAY0xf,GAAgB,KAC7C57oB,UAAAA,EACAoH,MAAAA,EACA4rE,GAAI+ikB,GACD/kK,UAIDyqK,KAAmBC,GACrBj9oB,EAAMmG,IAAMq2oB,GAAgBC,EAE5Bz8oB,EAAMy8oB,SAAWA,EAGZ1qoB,EAAAA,cAAC6qoB,GAAS58oB,iFChGrB8Y,GAAY,CAAC,MAGbgloB,GAAa,SAAA99oB,GACjB,IAAI+9oB,EAAuBxjnB,EACrB3oC,EAAS,CACbospB,YAAa,CAAC,EACdC,WAAY,CAAC,GAETp/mB,EAA8I,OAApIk/mB,EAAiC,MAAT/9oB,GAAyD,OAA/Bu6B,EAAev6B,EAAM6jB,YAA/B,EAAyD0W,EAAa/W,mBAA6Bu6nB,EAAwBt6nB,GAAAA,EAQnL,OAPAv1B,OAAOgR,KAAKc,GAAOpB,SAAQ,SAAA0lB,GACrBua,EAAOva,GACT1yB,EAAOospB,YAAY15nB,GAAQtkB,EAAMskB,GAEjC1yB,EAAOqspB,WAAW35nB,GAAQtkB,EAAMskB,EAEpC,IACO1yB,CACT,8BClBMknB,GAAY,CAAC,YAAa,mDCG1BgL,IAAevB,EAAAA,GAAAA,KACf09K,GDGS,WAAiC,IAAdv2L,EAAOta,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEzCq1B,EAIE/a,EAJF+a,QACAX,EAGEpa,EAHFoa,aAAYo6nB,EAGVx0oB,EAFFy0oB,iBAAAA,OAAgB,IAAAD,EAAG,cAAaA,EAChCE,EACE10oB,EADF00oB,kBAEIC,GAAU15nB,EAAAA,GAAAA,IAAO,MAAO,CAC5BN,kBAAmB,SAAAC,GAAI,MAAa,UAATA,GAA6B,OAATA,GAA0B,OAATA,CAAa,GAD/DK,CAEbhB,GAAAA,GACGs8K,EAAmBluL,EAAAA,YAAiB,SAAasY,EAASlkB,GAC9D,IAAM0d,GAAQqE,EAAAA,GAAAA,GAASpE,GACjBw6nB,EDAK,SAAsBt+oB,GAC7B,IAQFu+oB,EAPIC,EACFx+oB,EADF4jB,GAEFvI,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IAC/C2loB,EAGIX,GAAWzioB,GAFb2ioB,EAAWS,EAAXT,YACAC,EAAUQ,EAAVR,WAgBF,OAZEM,EADElwpB,MAAMkoB,QAAQiooB,GACN,CAACR,GAAWvwpB,QAAAm6B,EAAAA,GAAAA,GAAK42nB,IACF,oBAATA,EACN,WACR,IAAM5spB,EAAS4spB,EAAIjvpB,WAAC,EAADH,WACnB,OAAKyxC,EAAAA,GAAAA,GAAcjvC,IAGZwmB,EAAAA,EAAAA,GAAS,CAAC,EAAG4loB,EAAapspB,GAFxBospB,CAGX,GAEU5loB,EAAAA,EAAAA,GAAS,CAAC,EAAG4loB,EAAaQ,IAE/BpmoB,EAAAA,EAAAA,GAAS,CAAC,EAAG6loB,EAAY,CAC9Br6nB,GAAI26nB,GAER,CC1B0BG,CAAar0nB,GAE/B9oB,EAEE+8oB,EAFF/8oB,UAASo9oB,EAEPL,EADF9znB,UAAAA,OAAS,IAAAm0nB,EAAG,MAAKA,EAEnBtjoB,GAAQC,EAAAA,EAAAA,GAA8BgjoB,EAAexloB,IACvD,OAAoB6S,EAAAA,GAAAA,KAAK0ynB,GAASjmoB,EAAAA,EAAAA,GAAS,CACzCmT,GAAIf,EACJrkB,IAAKA,EACL5E,WAAWiqB,EAAAA,GAAAA,GAAKjqB,EAAW68oB,EAAoBA,EAAkBD,GAAoBA,GACrFt6nB,MAAOY,GAAUZ,EAAMY,IAAoBZ,GAC1CxI,GACL,IACA,OAAO4kL,CACT,CC7BY2+c,CAAU,CACpBn6nB,QAASuD,GAAAA,EACTlE,aAAAA,GACAq6nB,iBAAkB,cAClBC,kBAAmBxwnB,GAAAA,EAAAA,WAqBrB,0CCxBA,IAAe7V,WAAAA,IAA4B4T,EAAAA,GAAAA,KAAK,OAAQ,CACtD39B,EAAG,kHACD,kCCPG,SAAS6wpB,GAAsBv5nB,GACpC,OAAOmD,EAAAA,GAAAA,GAAqB,YAAanD,EAC3C,EACsBoD,EAAAA,GAAAA,GAAuB,YAAa,CAAC,OAAQ,eAAgB,WAAY,UAAW,SAAU,MAAO,aAA3H,ICHM5P,GAAY,CAAC,MAAO,WAAY,YAAa,YAAa,WAAY,QAAS,MAAO,SAAU,WAuBhGgmoB,IAAan6nB,EAAAA,GAAAA,IAAO,MAAO,CAC/BlvB,KAAM,YACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAAMrD,EAAO+d,EAAWhD,SAAUgD,EAAW83nB,cAAgB71oB,EAAO61oB,aACrF,GARiBp6nB,EAShB,SAAArb,GAAA,IACDua,EAAKva,EAALua,MACAoD,EAAU3d,EAAV2d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACb9e,SAAU,WACVywB,QAAS,OACTyT,WAAY,SACZD,eAAgB,SAChBnqB,WAAY,EACZ0W,MAAO,GACP5I,OAAQ,GACRtD,WAAYiG,EAAMnG,WAAWE,WAC7BE,SAAU+F,EAAMnG,WAAWiB,QAAQ,IACnCvK,WAAY,EACZmhB,aAAc,MACdyH,SAAU,SACVnT,WAAY,QACY,YAAvB5C,EAAWhD,SAAyB,CACrCsR,cAAe1R,EAAMZ,MAAQY,GAAO+R,MAAML,cAClB,WAAvBtO,EAAWhD,SAAwB,CACpCsR,aAAc,GACbtO,EAAW83nB,eAAgB3moB,EAAAA,EAAAA,GAAS,CACrCqE,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQ3B,WAAWpkB,SAC/C6uB,EAAMZ,KAAO,CACd6X,gBAAiBjX,EAAMZ,KAAKlI,QAAQikoB,OAAOC,WACzC,CACFnknB,gBAAwC,UAAvBjX,EAAM9I,QAAQE,KAAmB4I,EAAM9I,QAAQsC,KAAK,KAAOwG,EAAM9I,QAAQsC,KAAK,OAC9F,IACG6hoB,IAAYv6nB,EAAAA,GAAAA,IAAO,MAAO,CAC9BlvB,KAAM,YACN6vB,KAAM,MACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAOqnmB,GAAG,GAHhC5rlB,CAIf,CACDmF,MAAO,OACP5I,OAAQ,OACRyd,UAAW,SAEXwgnB,UAAW,QAEX1ioB,MAAO,cAEP2ioB,WAAY,MAERC,IAAiB16nB,EAAAA,GAAAA,IAAO26nB,GAAQ,CACpC7ppB,KAAM,YACN6vB,KAAM,WACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAO8onB,QAAQ,GAHhCrtmB,CAIpB,CACDmF,MAAO,MACP5I,OAAQ,QAwCV,IAAM89nB,GAAsBjtoB,EAAAA,YAAiB,SAAgBsY,EAASlkB,GACpE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,cAGJi9J,EASE1yJ,EATF0yJ,IACU6sf,EAQRv/oB,EARFkD,SACA3B,EAOEvB,EAPFuB,UAASgpB,EAOPvqB,EANFwqB,UAAAA,OAAS,IAAAD,EAAG,MAAKA,EACjBi1nB,EAKEx/oB,EALFw/oB,SACAj2V,EAIEvpT,EAJFupT,MACAhoQ,EAGEvhD,EAHFuhD,IACAk+lB,EAEEz/oB,EAFFy/oB,OAAMC,EAEJ1/oB,EADFikB,QAAAA,OAAO,IAAAy7nB,EAAG,WAAUA,EAEtBrkoB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IAC3C5V,EAAW,KAGTivoB,EA1DR,SAAkB5ooB,GAKf,IAJDo2oB,EAAWp2oB,EAAXo2oB,YACAC,EAAcr2oB,EAAdq2oB,eACAr+lB,EAAGh4C,EAAHg4C,IACAk+lB,EAAMl2oB,EAANk2oB,OAEA9ynB,EAA4B5a,EAAAA,UAAe,GAAM6a,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAA1CwlnB,EAAMvlnB,EAAA,GAAEiznB,EAASjznB,EAAA,GA8BxB,OA7BA7a,EAAAA,WAAgB,WACd,GAAKwvC,GAAQk+lB,EAAb,CAGAI,GAAU,GACV,IAAIrmoB,GAAS,EACP2ogB,EAAQ,IAAIrQ,MAmBlB,OAlBAqQ,EAAM+sC,OAAS,WACR11iB,GAGLqmoB,EAAU,SACZ,EACA19H,EAAM7qhB,QAAU,WACTkiB,GAGLqmoB,EAAU,QACZ,EACA19H,EAAMw9H,YAAcA,EACpBx9H,EAAMy9H,eAAiBA,EACvBz9H,EAAM5ge,IAAMA,EACRk+lB,IACFt9H,EAAM29H,OAASL,GAEV,WACLjmoB,GAAS,CACX,CAxBA,CAyBF,GAAG,CAACmmoB,EAAaC,EAAgBr+lB,EAAKk+lB,IAC/BtN,CACT,CAqBiB4N,EAAU3noB,EAAAA,EAAAA,GAAS,CAAC,EAAGonoB,EAAU,CAC9Cj+lB,IAAAA,EACAk+lB,OAAAA,KAEIO,EAASz+lB,GAAOk+lB,EAChBQ,EAAmBD,GAAqB,UAAX7N,EAC7BlrnB,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrC++oB,cAAekB,EACfz1nB,UAAAA,EACAvG,QAAAA,IAEIiH,EA9IkB,SAAAjE,GACxB,IACEiE,EAGEjE,EAHFiE,QAIIC,EAAQ,CACZ5e,KAAM,CAAC,OAFL0a,EAFFhD,QAEEgD,EADF83nB,cAGwC,gBACxCxuC,IAAK,CAAC,OACNyhB,SAAU,CAAC,aAEb,OAAO5mmB,EAAAA,GAAAA,GAAeD,EAAO0znB,GAAuB3znB,EACtD,CAkIkBG,CAAkBpE,GAoBlC,OAlBE/jB,EADE+8oB,GACsBt0nB,EAAAA,GAAAA,KAAKuznB,IAAW9moB,EAAAA,EAAAA,GAAS,CAC/Cs6I,IAAKA,EACLnxG,IAAKA,EACLk+lB,OAAQA,EACRl2V,MAAOA,EACPtiS,WAAYA,EACZ1lB,UAAW2pB,EAAQqllB,KAClBivC,IACsB,MAAhBD,EACEA,EACFS,GAAUttf,EACRA,EAAI,IAES/mI,EAAAA,GAAAA,KAAK0znB,GAAgB,CAC3Cp4nB,WAAYA,EACZ1lB,UAAW2pB,EAAQ8mmB,YAGHrmmB,EAAAA,GAAAA,KAAKmznB,IAAY1moB,EAAAA,EAAAA,GAAS,CAC5CmT,GAAIf,EACJvD,WAAYA,EACZ1lB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,GAC9B4E,IAAKA,GACJkV,EAAO,CACRnY,SAAUA,IAEd,IAyDA,6BCtOA,OAJiC6O,EAAAA,cAAoB,CAAC,GCH/C,SAASmuoB,GAAoB56nB,GAClC,OAAOmD,EAAAA,GAAAA,GAAqB,UAAWnD,EACzC,EACoBoD,EAAAA,GAAAA,GAAuB,UAAW,CAAC,OAAQ,UAAW,QAAS,cAAnF,ICHM5P,GAAY,CAAC,WAAY,YAAa,YAAa,QAAS,iBAAkB,aAuB9EqnoB,IAAWx7nB,EAAAA,GAAAA,IAAO,KAAM,CAC5BlvB,KAAM,UACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,MAAO0a,EAAWm5nB,gBAAkBl3oB,EAAOyvB,QAAS1R,EAAWo5nB,OAASn3oB,EAAOm3oB,MAAOp5nB,EAAWq5nB,WAAap3oB,EAAOo3oB,UACtI,GARe37nB,EASd,SAAArb,GAAA,IACD2d,EAAU3d,EAAV2d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACbmooB,UAAW,OACX7nnB,OAAQ,EACRC,QAAS,EACTr/B,SAAU,aACR2tB,EAAWm5nB,gBAAkB,CAC/B/knB,WAAY,EACZE,cAAe,GACdtU,EAAWq5nB,WAAa,CACzBjlnB,WAAY,GACZ,IACI0pS,GAAoBhzT,EAAAA,YAAiB,SAAcsY,EAASlkB,GAChE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,YAGJyN,EAMElD,EANFkD,SACA3B,EAKEvB,EALFuB,UAASgpB,EAKPvqB,EAJFwqB,UAAAA,OAAS,IAAAD,EAAG,KAAIA,EAAAi2nB,EAIdxgpB,EAHFqgpB,MAAAA,OAAK,IAAAG,GAAQA,EAAAC,EAGXzgpB,EAFFogpB,eAAAA,OAAc,IAAAK,GAAQA,EACtBH,EACEtgpB,EADFsgpB,UAEFjloB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzClZ,EAAUmS,EAAAA,SAAc,iBAAO,CACnCsuoB,MAAAA,EACD,GAAG,CAACA,IACCp5nB,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCwqB,UAAAA,EACA61nB,MAAAA,EACAD,eAAAA,IAEIl1nB,EAxDkB,SAAAjE,GACxB,IACEiE,EAIEjE,EAJFiE,QAKIC,EAAQ,CACZ5e,KAAM,CAAC,QAFL0a,EAHFm5nB,gBAKkC,UAFhCn5nB,EAFFo5nB,OAIsD,QAFpDp5nB,EADFq5nB,WAG4E,cAE9E,OAAOl1nB,EAAAA,GAAAA,GAAeD,EAAO+0nB,GAAqBh1nB,EACpD,CA6CkBG,CAAkBpE,GAClC,OAAoB0E,EAAAA,GAAAA,KAAK+0nB,GAAAA,SAAsB,CAC7ClvpB,MAAOoO,EACPsD,UAAuBooB,EAAAA,GAAAA,MAAM60nB,IAAU/noB,EAAAA,EAAAA,GAAS,CAC9CmT,GAAIf,EACJjpB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,GAC9B4E,IAAKA,EACL8gB,WAAYA,GACX5L,EAAO,CACRnY,SAAU,CAACo9oB,EAAWp9oB,OAG5B,IA4CA,MC3He,SAASy9oB,GAAiB7wnB,GAEvC,IAAM8wnB,EAAgB9wnB,EAAIylE,gBAAgB5B,YAC1C,OAAO35F,KAAKkR,IAAIne,OAAO+nG,WAAa8rjB,EACtC,CCLA,kCCCM9noB,GAAY,CAAC,UAAW,YAAa,gBAAiB,WAAY,YAAa,yBAA0B,kBAAmB,YAAa,WAU/I,SAASorR,GAASnnP,EAAMj1C,EAAM+4oB,GAC5B,OAAI9jmB,IAASj1C,EACJi1C,EAAKr3C,WAEVoC,GAAQA,EAAKg5oB,mBACRh5oB,EAAKg5oB,mBAEPD,EAAkB,KAAO9jmB,EAAKr3C,UACvC,CACA,SAASk4W,GAAa7gU,EAAMj1C,EAAM+4oB,GAChC,OAAI9jmB,IAASj1C,EACJ+4oB,EAAkB9jmB,EAAKr3C,WAAaq3C,EAAKw5E,UAE9CzuH,GAAQA,EAAKi5oB,uBACRj5oB,EAAKi5oB,uBAEPF,EAAkB,KAAO9jmB,EAAKw5E,SACvC,CACA,SAASyqhB,GAAoBC,EAAWC,GACtC,QAAqBj0pB,IAAjBi0pB,EACF,OAAO,EAET,IAAIn7oB,EAAOk7oB,EAAUnrE,UAMrB,YALa7olB,IAAT8Y,IAEFA,EAAOk7oB,EAAU57oB,aAGC,KADpBU,EAAOA,EAAKoF,OAAOnC,eACV3Z,SAGL6xpB,EAAaC,UACRp7oB,EAAK,KAAOm7oB,EAAahipB,KAAK,GAEa,IAA7C6G,EAAKrW,QAAQwxpB,EAAahipB,KAAKf,KAAK,KAC7C,CACA,SAASijpB,GAAUrkmB,EAAMskmB,EAAcR,EAAiBS,EAAwBC,EAAmBL,GAGjG,IAFA,IAAIM,GAAc,EACdP,EAAYM,EAAkBxkmB,EAAMskmB,IAAcA,GAAeR,GAC9DI,GAAW,CAEhB,GAAIA,IAAclkmB,EAAKr3C,WAAY,CACjC,GAAI87oB,EACF,OAAO,EAETA,GAAc,CAChB,CAGA,IAAMC,GAAoBH,IAAiCL,EAAU/noB,UAAwD,SAA5C+noB,EAAUvwoB,aAAa,kBACxG,GAAKuwoB,EAAUp6e,aAAa,aAAgBm6e,GAAoBC,EAAWC,KAAiBO,EAK1F,OADAR,EAAUlnoB,SACH,EAHPknoB,EAAYM,EAAkBxkmB,EAAMkkmB,EAAWJ,EAKnD,CACA,OAAO,CACT,CAQA,IAAMa,GAAwB3voB,EAAAA,YAAiB,SAAkB/R,EAAOmG,GACtE,IAGI8/b,EASEjmc,EATFimc,QAAO07M,EASL3hpB,EARFwznB,UAAAA,OAAS,IAAAmuB,GAAQA,EAAAC,EAQf5hpB,EAPF6hpB,cAAAA,OAAa,IAAAD,GAAQA,EACrB1+oB,EAMElD,EANFkD,SACA3B,EAKEvB,EALFuB,UAASugpB,EAKP9hpB,EAJFshpB,uBAAAA,OAAsB,IAAAQ,GAAQA,EAAAC,EAI5B/hpB,EAHF6gpB,gBAAAA,OAAe,IAAAkB,GAAQA,EACvBlykB,EAEE7vE,EAFF6vE,UAAS6vkB,EAEP1/oB,EADFikB,QAAAA,OAAO,IAAAy7nB,EAAG,eAAcA,EAE1BrkoB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCkpoB,EAAUjwoB,EAAAA,OAAa,MACvBkwoB,EAAkBlwoB,EAAAA,OAAa,CACnC7S,KAAM,GACNiipB,WAAW,EACXe,oBAAoB,EACpBC,SAAU,QAEZp0nB,EAAAA,GAAAA,IAAkB,WACZylmB,GACFwuB,EAAQ10nB,QAAQvT,OAEpB,GAAG,CAACy5mB,IACJzhnB,EAAAA,oBAA0Bk0b,GAAS,iBAAO,CACxCm8M,wBAAyB,SAACn8X,EAAkBpiQ,GAG1C,IAAMw+nB,GAAmBL,EAAQ10nB,QAAQ3kB,MAAMmhB,MAC/C,GAAIm8P,EAAiBrwL,aAAeosjB,EAAQ10nB,QAAQsoE,cAAgBysjB,EAAiB,CACnF,IAAMC,EAAgB,GAAH70pB,OAAMkzpB,IAAiB9ynB,EAAAA,GAAAA,GAAco4P,IAAkB,MAC1E+7X,EAAQ10nB,QAAQ3kB,MAA0B,QAApBkb,EAAMvJ,UAAsB,cAAgB,gBAAkBgooB,EACpFN,EAAQ10nB,QAAQ3kB,MAAMmhB,MAAQ,eAAHr8B,OAAkB60pB,EAAa,IAC5D,CACA,OAAON,EAAQ10nB,OACjB,EACD,GAAG,IACJ,IAkDMi1nB,GAAYt0nB,EAAAA,GAAAA,GAAW+znB,EAAS77oB,GAOlCq8oB,GAAmB,EAIvBzwoB,EAAAA,SAAAA,QAAuB7O,GAAU,SAACsC,EAAOiG,GACpBsG,EAAAA,eAAqBvM,KAQnCA,EAAMxF,MAAMkZ,WACC,iBAAZ+K,GAA8Bze,EAAMxF,MAAM2Z,WAEd,IAArB6ooB,KADTA,EAAkB/2oB,GAKlB+2oB,IAAoB/2oB,IAAUjG,EAAMxF,MAAMkZ,UAAY1T,EAAMxF,MAAMyipB,sBAAwBj9oB,EAAMU,KAAKu8oB,wBACvGD,GAAmB,IACIt/oB,EAAS7T,SAE9BmzpB,GAAmB,GAGzB,IACA,IAAM1skB,EAAQ/jE,EAAAA,SAAAA,IAAmB7O,GAAU,SAACsC,EAAOiG,GACjD,GAAIA,IAAU+2oB,EAAiB,CAC7B,IAAME,EAAgB,CAAC,EAOvB,OANIb,IACFa,EAAclvB,WAAY,QAECvmoB,IAAzBuY,EAAMxF,MAAM6zD,UAAsC,iBAAZ5vC,IACxCy+nB,EAAc7ulB,SAAW,GAEP9hD,EAAAA,aAAmBvM,EAAOk9oB,EAChD,CACA,OAAOl9oB,CACT,IACA,OAAoBmmB,EAAAA,GAAAA,KAAKo5S,IAAM3sT,EAAAA,EAAAA,GAAS,CACtCsT,KAAM,OACNvlB,IAAKo8oB,EACLhhpB,UAAWA,EACXsuE,UAtGoB,SAAA5gD,GACpB,IAAM8tB,EAAOilmB,EAAQ10nB,QACft9B,EAAMi/B,EAAMj/B,IAOZqxpB,GAAexznB,EAAAA,GAAAA,GAAckvB,GAAMgmD,cACzC,GAAY,cAAR/yG,EAEFi/B,EAAMolE,iBACN+sjB,GAAUrkmB,EAAMskmB,EAAcR,EAAiBS,EAAwBp9W,SAClE,GAAY,YAARl0S,EACTi/B,EAAMolE,iBACN+sjB,GAAUrkmB,EAAMskmB,EAAcR,EAAiBS,EAAwB1jS,SAClE,GAAY,SAAR5tX,EACTi/B,EAAMolE,iBACN+sjB,GAAUrkmB,EAAM,KAAM8jmB,EAAiBS,EAAwBp9W,SAC1D,GAAY,QAARl0S,EACTi/B,EAAMolE,iBACN+sjB,GAAUrkmB,EAAM,KAAM8jmB,EAAiBS,EAAwB1jS,SAC1D,GAAmB,IAAf5tX,EAAIX,OAAc,CAC3B,IAAMo8I,EAAWw2gB,EAAgB30nB,QAC3Bq1nB,EAAW3ypB,EAAIgZ,cACf45oB,EAAW1f,YAAYx2lB,MACzB++F,EAASvsI,KAAK7P,OAAS,IAErBuzpB,EAAWn3gB,EAAS02gB,SAAW,KACjC12gB,EAASvsI,KAAO,GAChBusI,EAAS01gB,WAAY,EACrB11gB,EAASy2gB,oBAAqB,GACrBz2gB,EAAS01gB,WAAawB,IAAal3gB,EAASvsI,KAAK,KAC1DusI,EAAS01gB,WAAY,IAGzB11gB,EAAS02gB,SAAWS,EACpBn3gB,EAASvsI,KAAKlM,KAAK2vpB,GACnB,IAAME,EAAqBxB,IAAiB51gB,EAAS01gB,WAAaH,GAAoBK,EAAc51gB,GAChGA,EAASy2gB,qBAAuBW,GAAsBzB,GAAUrkmB,EAAMskmB,GAAc,EAAOC,EAAwBp9W,GAAUz4J,IAC/Hx8G,EAAMolE,iBAENo3C,EAASy2gB,oBAAqB,CAElC,CACIrykB,GACFA,EAAU5gD,EAEd,EAsDE4kC,SAAU2/jB,EAAY,GAAK,GAC1Bn4mB,EAAO,CACRnY,SAAU4yE,IAEd,IA8CA,kBCtQA,GATwB,SAAAgtkB,GAOtB,QALIA,EAAY,EACD,QAAO9opB,KAAAmB,IAAG2npB,EAAa,GAEvB,IAAM9opB,KAAK0rH,IAAIo9hB,EAAY,GAAK,GAE1B,KAAKjunB,QAAQ,EACpC,ECPO,SAASkunB,GAAqBz9nB,GACnC,OAAOmD,EAAAA,GAAAA,GAAqB,WAAYnD,EAC1C,EACqBoD,EAAAA,GAAAA,GAAuB,WAAY,CAAC,OAAQ,UAAW,WAAY,YAAa,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,cAAe,gBAAnc,ICHM5P,GAAY,CAAC,YAAa,YAAa,YAAa,SAAU,WAyB9DkqoB,IAAYr+nB,EAAAA,GAAAA,IAAO,MAAO,CAC9BlvB,KAAM,WACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAAMrD,EAAO+d,EAAWhD,UAAWgD,EAAWg8nB,QAAU/5oB,EAAOg6oB,QAAgC,cAAvBj8nB,EAAWhD,SAA2B/a,EAAO,YAADzb,OAAaw5B,EAAW67nB,YAC7J,GARgBn+nB,EASf,SAAArb,GAGG,IACA65oB,EAHJt/nB,EAAKva,EAALua,MACAoD,EAAU3d,EAAV2d,WAGA,OAAO7O,EAAAA,EAAAA,GAAS,CACd0iB,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQ3B,WAAWC,MAC1DoD,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQhV,KAAKiT,QAC1CgR,WAAYnG,EAAMhB,YAAYh0B,OAAO,gBACnCo4B,EAAWg8nB,QAAU,CACvB1tnB,aAAc1R,EAAM+R,MAAML,cACF,aAAvBtO,EAAWhD,SAA0B,CACtCqV,OAAQ,aAAF7rC,QAAgBo2B,EAAMZ,MAAQY,GAAO9I,QAAQ5B,UAC3B,cAAvB8N,EAAWhD,UAA2B7L,EAAAA,EAAAA,GAAS,CAChDomB,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ4D,EAAW67nB,aAClDj/nB,EAAMZ,MAA+B,SAAvBY,EAAM9I,QAAQE,MAAmB,CACjDmooB,gBAAiB,mBAAF31pB,QAAqBwnC,EAAAA,GAAAA,IAAM,OAAQounB,GAAgBp8nB,EAAW67nB,YAAW,MAAAr1pB,QAAKwnC,EAAAA,GAAAA,IAAM,OAAQounB,GAAgBp8nB,EAAW67nB,YAAW,MAChJj/nB,EAAMZ,MAAQ,CACfmgoB,gBAAiE,OAA/CD,EAAuBt/nB,EAAMZ,KAAKqgoB,eAAoB,EAASH,EAAqBl8nB,EAAW67nB,aAErH,IAuFA,GAtF2B/woB,EAAAA,YAAiB,SAAesY,EAASlkB,GAClE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,aAGJ8L,EAKEvB,EALFuB,UAASgpB,EAKPvqB,EAJFwqB,UAAAA,OAAS,IAAAD,EAAG,MAAKA,EAAAg5nB,EAIfvjpB,EAHF8ipB,UAAAA,OAAS,IAAAS,EAAG,EAACA,EAAAC,EAGXxjpB,EAFFijpB,OAAAA,OAAM,IAAAO,GAAQA,EAAA9D,EAEZ1/oB,EADFikB,QAAAA,OAAO,IAAAy7nB,EAAG,YAAWA,EAEvBrkoB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCmO,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCwqB,UAAAA,EACAs4nB,UAAAA,EACAG,OAAAA,EACAh/nB,QAAAA,IAEIiH,EA7DkB,SAAAjE,GACxB,IACEg8nB,EAIEh8nB,EAJFg8nB,OACAH,EAGE77nB,EAHF67nB,UACA7+nB,EAEEgD,EAFFhD,QACAiH,EACEjE,EADFiE,QAEIC,EAAQ,CACZ5e,KAAM,CAAC,OAAQ0X,GAAUg/nB,GAAU,UAAuB,cAAZh/nB,GAA2B,YAAJx2B,OAAgBq1pB,KAEvF,OAAO13nB,EAAAA,GAAAA,GAAeD,EAAO43nB,GAAsB73nB,EACrD,CAkDkBG,CAAkBpE,GAQlC,OAAoB0E,EAAAA,GAAAA,KAAKq3nB,IAAW5qoB,EAAAA,EAAAA,GAAS,CAC3CmT,GAAIf,EACJvD,WAAYA,EACZ1lB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,GAC9B4E,IAAKA,GACJkV,GACL,wCC1FA,IACY,ECAZ,GAAetJ,EAAAA,cAAoB,MCQxB0xoB,GAAY,YACZC,GAAS,SACTC,GAAW,WACXC,GAAU,UACVC,GAAU,UA6FjBC,GAA0B,SAAU/J,GAGtC,SAAS+J,EAAW9jpB,EAAOJ,GACzB,IAAIhI,EAEJA,EAAQmipB,EAAiBzqpB,KAAKZ,KAAMsR,EAAOJ,IAAYlR,KACvD,IAGIq1pB,EADAC,EAFcpkpB,MAEuBqkpB,WAAajkpB,EAAMwiK,MAAQxiK,EAAMgkpB,OAuB1E,OArBApspB,EAAMsspB,aAAe,KAEjBlkpB,EAAMmkpB,GACJH,GACFD,EAAgBL,GAChB9rpB,EAAMsspB,aAAeP,IAErBI,EAAgBH,GAIhBG,EADE/jpB,EAAMokpB,eAAiBpkpB,EAAMqkpB,aACfZ,GAEAC,GAIpB9rpB,EAAMkB,MAAQ,CACZsrC,OAAQ2/mB,GAEVnspB,EAAM0spB,aAAe,KACd1spB,CACT,CAhCAm8oB,EAAe+P,EAAY/J,GAkC3B+J,EAAWvtE,yBAA2B,SAAkCjtkB,EAAMi7oB,GAG5E,OAFaj7oB,EAAK66oB,IAEJI,EAAUngnB,SAAWq/mB,GAC1B,CACLr/mB,OAAQs/mB,IAIL,IACT,EAkBA,IAAIp5oB,EAASw5oB,EAAWl1pB,UAkPxB,OAhPA0b,EAAOyrD,kBAAoB,WACzBrnE,KAAK81pB,cAAa,EAAM91pB,KAAKw1pB,aAC/B,EAEA55oB,EAAO4rD,mBAAqB,SAA4BC,GACtD,IAAIsulB,EAAa,KAEjB,GAAItulB,IAAcznE,KAAKsR,MAAO,CAC5B,IAAIokC,EAAS11C,KAAKoK,MAAMsrC,OAEpB11C,KAAKsR,MAAMmkpB,GACT//mB,IAAWu/mB,IAAYv/mB,IAAWw/mB,KACpCa,EAAad,IAGXv/mB,IAAWu/mB,IAAYv/mB,IAAWw/mB,KACpCa,EAAaZ,GAGnB,CAEAn1pB,KAAK81pB,cAAa,EAAOC,EAC3B,EAEAn6oB,EAAOisD,qBAAuB,WAC5B7nE,KAAKg2pB,oBACP,EAEAp6oB,EAAOq6oB,YAAc,WACnB,IACIj5G,EAAMlpY,EAAOwhf,EADbl4nB,EAAUp9B,KAAKsR,MAAM8rB,QAWzB,OATA4/gB,EAAOlpY,EAAQwhf,EAASl4nB,EAET,MAAXA,GAAsC,kBAAZA,IAC5B4/gB,EAAO5/gB,EAAQ4/gB,KACflpY,EAAQ12I,EAAQ02I,MAEhBwhf,OAA4B/2pB,IAAnB6+B,EAAQk4nB,OAAuBl4nB,EAAQk4nB,OAASxhf,GAGpD,CACLkpY,KAAMA,EACNlpY,MAAOA,EACPwhf,OAAQA,EAEZ,EAEA15oB,EAAOk6oB,aAAe,SAAsBtkE,EAAUukE,GAKpD,QAJiB,IAAbvkE,IACFA,GAAW,GAGM,OAAfukE,EAIF,GAFA/1pB,KAAKg2pB,qBAEDD,IAAed,GAAU,CAC3B,GAAIj1pB,KAAKsR,MAAMokpB,eAAiB11pB,KAAKsR,MAAMqkpB,aAAc,CACvD,IAAI/3oB,EAAO5d,KAAKsR,MAAM4kpB,QAAUl2pB,KAAKsR,MAAM4kpB,QAAQt3nB,QAAU60C,GAAAA,YAAqBzzE,MAI9E4d,GCzOW,SAAqBA,GACrCA,EAAK8kF,SACd,CDuOoByzjB,CAAYv4oB,EACxB,CAEA5d,KAAKo2pB,aAAa5kE,EACpB,MACExxlB,KAAKq2pB,mBAEEr2pB,KAAKsR,MAAMokpB,eAAiB11pB,KAAKoK,MAAMsrC,SAAWs/mB,IAC3Dh1pB,KAAKs0E,SAAS,CACZ5+B,OAAQq/mB,IAGd,EAEAn5oB,EAAOw6oB,aAAe,SAAsB5kE,GAC1C,IAAI7/kB,EAAS3R,KAET8zK,EAAQ9zK,KAAKsR,MAAMwiK,MACnBwif,EAAYt2pB,KAAKkR,QAAUlR,KAAKkR,QAAQqkpB,WAAa/jE,EAErD32kB,EAAQ7a,KAAKsR,MAAM4kpB,QAAU,CAACI,GAAa,CAAC7ilB,GAAAA,YAAqBzzE,MAAOs2pB,GACxEC,EAAY17oB,EAAM,GAClB27oB,EAAiB37oB,EAAM,GAEvB47oB,EAAWz2pB,KAAKi2pB,cAChBS,EAAeJ,EAAYG,EAASnB,OAASmB,EAAS3if,OAGrD09a,IAAa19a,GAAS3jI,GACzBnwC,KAAK22pB,aAAa,CAChBjhnB,OAAQw/mB,KACP,WACDvjpB,EAAOL,MAAMslpB,UAAUL,EACzB,KAIFv2pB,KAAKsR,MAAMulpB,QAAQN,EAAWC,GAC9Bx2pB,KAAK22pB,aAAa,CAChBjhnB,OAAQu/mB,KACP,WACDtjpB,EAAOL,MAAMwlpB,WAAWP,EAAWC,GAEnC7kpB,EAAOolpB,gBAAgBL,GAAc,WACnC/kpB,EAAOglpB,aAAa,CAClBjhnB,OAAQw/mB,KACP,WACDvjpB,EAAOL,MAAMslpB,UAAUL,EAAWC,EACpC,GACF,GACF,IACF,EAEA56oB,EAAOy6oB,YAAc,WACnB,IAAIrkpB,EAAShS,KAETg9iB,EAAOh9iB,KAAKsR,MAAM0riB,KAClBy5G,EAAWz2pB,KAAKi2pB,cAChBM,EAAYv2pB,KAAKsR,MAAM4kpB,aAAU33pB,EAAYk1E,GAAAA,YAAqBzzE,MAEjEg9iB,IAAQ7sgB,IASbnwC,KAAKsR,MAAM0lpB,OAAOT,GAClBv2pB,KAAK22pB,aAAa,CAChBjhnB,OAAQy/mB,KACP,WACDnjpB,EAAOV,MAAM2lpB,UAAUV,GAEvBvkpB,EAAO+kpB,gBAAgBN,EAASz5G,MAAM,WACpChriB,EAAO2kpB,aAAa,CAClBjhnB,OAAQs/mB,KACP,WACDhjpB,EAAOV,MAAM4lpB,SAASX,EACxB,GACF,GACF,KArBEv2pB,KAAK22pB,aAAa,CAChBjhnB,OAAQs/mB,KACP,WACDhjpB,EAAOV,MAAM4lpB,SAASX,EACxB,GAkBJ,EAEA36oB,EAAOo6oB,mBAAqB,WACA,OAAtBh2pB,KAAK41pB,eACP51pB,KAAK41pB,aAAa1+mB,SAClBl3C,KAAK41pB,aAAe,KAExB,EAEAh6oB,EAAO+6oB,aAAe,SAAsBtlpB,EAAWlB,GAIrDA,EAAWnQ,KAAKm3pB,gBAAgBhnpB,GAChCnQ,KAAKs0E,SAASjjE,EAAWlB,EAC3B,EAEAyL,EAAOu7oB,gBAAkB,SAAyBhnpB,GAChD,IAAI+B,EAASlS,KAET8qB,GAAS,EAcb,OAZA9qB,KAAK41pB,aAAe,SAAUr1nB,GACxBzV,IACFA,GAAS,EACT5Y,EAAO0jpB,aAAe,KACtBzlpB,EAASowB,GAEb,EAEAvgC,KAAK41pB,aAAa1+mB,OAAS,WACzBpsB,GAAS,CACX,EAEO9qB,KAAK41pB,YACd,EAEAh6oB,EAAOm7oB,gBAAkB,SAAyB35nB,EAASm2C,GACzDvzE,KAAKm3pB,gBAAgB5jlB,GACrB,IAAI31D,EAAO5d,KAAKsR,MAAM4kpB,QAAUl2pB,KAAKsR,MAAM4kpB,QAAQt3nB,QAAU60C,GAAAA,YAAqBzzE,MAC9Eo3pB,EAA0C,MAAXh6nB,IAAoBp9B,KAAKsR,MAAM+lpB,eAElE,GAAKz5oB,IAAQw5oB,EAAb,CAKA,GAAIp3pB,KAAKsR,MAAM+lpB,eAAgB,CAC7B,IAAIp/nB,EAAQj4B,KAAKsR,MAAM4kpB,QAAU,CAACl2pB,KAAK41pB,cAAgB,CAACh4oB,EAAM5d,KAAK41pB,cAC/DW,EAAYt+nB,EAAM,GAClBq/nB,EAAoBr/nB,EAAM,GAE9Bj4B,KAAKsR,MAAM+lpB,eAAed,EAAWe,EACvC,CAEe,MAAXl6nB,GACF5jB,WAAWxZ,KAAK41pB,aAAcx4nB,EAXhC,MAFE5jB,WAAWxZ,KAAK41pB,aAAc,EAelC,EAEAh6oB,EAAO9C,OAAS,WACd,IAAI48B,EAAS11C,KAAKoK,MAAMsrC,OAExB,GAAIA,IAAWq/mB,GACb,OAAO,KAGT,IAAIh2d,EAAc/+L,KAAKsR,MACnBkD,EAAWuqL,EAAYvqL,SAgBvB+ipB,GAfMx4d,EAAY02d,GACF12d,EAAY42d,aACX52d,EAAY22d,cACnB32d,EAAYu2d,OACbv2d,EAAYjrB,MACbirB,EAAYi+W,KACTj+W,EAAY3hK,QACL2hK,EAAYs4d,eACnBt4d,EAAY83d,QACT93d,EAAY+3d,WACb/3d,EAAY63d,UACf73d,EAAYi4d,OACTj4d,EAAYk4d,UACbl4d,EAAYm4d,SACbn4d,EAAYm3d,SACVtpoB,EAAAA,EAAAA,GAA8BmyK,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGE17K,EAAAA,cAAoBm0oB,GAAuBljpB,SAAU,CACnDxR,MAAO,MACc,oBAAb0R,EAA0BA,EAASkhC,EAAQ6hnB,GAAcl0oB,EAAAA,aAAmBA,EAAAA,SAAAA,KAAoB7O,GAAW+ipB,GAEzH,EAEOnC,CACT,CAlT8B,CAkT5B/xoB,EAAAA,WA+LF,SAAS46E,KAAQ,CA7LjBm3jB,GAAW3tE,YAAc+vE,GACzBpC,GAAWlrnB,UA0LP,CAAC,EAILkrnB,GAAW17nB,aAAe,CACxB+7nB,IAAI,EACJE,cAAc,EACdD,eAAe,EACfJ,QAAQ,EACRxhf,OAAO,EACPkpY,MAAM,EACN65G,QAAS54jB,GACT64jB,WAAY74jB,GACZ24jB,UAAW34jB,GACX+4jB,OAAQ/4jB,GACRg5jB,UAAWh5jB,GACXi5jB,SAAUj5jB,IAEZm3jB,GAAWL,UAAYA,GACvBK,GAAWJ,OAASA,GACpBI,GAAWH,SAAWA,GACtBG,GAAWF,QAAUA,GACrBE,GAAWD,QAAUA,GACrB,sBE5mBe,SAAS37nB,KACtB,IAAMrE,GAAQsioB,EAAAA,GAAAA,GAAerioB,GAAAA,GAK7B,OAAOD,EAAMmE,GAAAA,IAAanE,CAC5B,CCXO,IAAMuioB,GAAS,SAAA95oB,GAAI,OAAIA,EAAK8kF,SAAS,EACrC,SAASi1jB,GAAmBrmpB,EAAO0J,GACxC,IAAI48oB,EAAuBC,EAEzBz6nB,EAGE9rB,EAHF8rB,QACA5L,EAEElgB,EAFFkgB,OAAMsmoB,EAEJxmpB,EADF2I,MAAAA,OAAK,IAAA69oB,EAAG,CAAC,EAACA,EAEZ,MAAO,CACLjmoB,SAAgE,OAArD+loB,EAAwB39oB,EAAMoiF,oBAA8Bu7jB,EAA2C,kBAAZx6nB,EAAuBA,EAAUA,EAAQpiB,EAAQuR,OAAS,EAChKiF,OAAoE,OAA3DqmoB,EAAwB59oB,EAAMqiF,0BAAoCu7jB,EAA0C,kBAAXrmoB,EAAsBA,EAAOxW,EAAQuR,MAAQiF,EACvJ2B,MAAOlZ,EAAMmiF,gBAEjB,CCXA,IAAMhyE,GAAY,CAAC,iBAAkB,SAAU,WAAY,SAAU,KAAM,UAAW,YAAa,aAAc,SAAU,WAAY,YAAa,QAAS,UAAW,uBASxK,SAASoylB,GAAS15mB,GAChB,MAAO,SAAP/D,OAAgB+D,EAAK,MAAA/D,OAAAuM,KAAAmB,IAAK3J,EAAS,GAAC,IACtC,CACA,IAAM0X,GAAS,CACbu9oB,SAAU,CACRpyoB,QAAS,EACTuiB,UAAWs0kB,GAAS,IAEtBw7C,QAAS,CACPryoB,QAAS,EACTuiB,UAAW,SAQT+vnB,GAAmC,qBAAd75mB,WAA6B,0CAA0Czc,KAAKyc,UAAUC,YAAc,2BAA2B1c,KAAKyc,UAAUC,WAOnK65mB,GAAoB70oB,EAAAA,YAAiB,SAAc/R,EAAOmG,GAC9D,IACI4/oB,EAeE/lpB,EAfF+lpB,eAAcc,EAeZ7mpB,EAdFgkpB,OAAAA,OAAM,IAAA6C,GAAOA,EACb3jpB,EAaElD,EAbFkD,SACAgd,EAYElgB,EAZFkgB,OACI4moB,EAWF9mpB,EAXFmkpB,GACAoB,EAUEvlpB,EAVFulpB,QACAD,EASEtlpB,EATFslpB,UACAE,EAQExlpB,EARFwlpB,WACAE,EAOE1lpB,EAPF0lpB,OACAE,EAME5lpB,EANF4lpB,SACAD,EAKE3lpB,EALF2lpB,UACAh9oB,EAIE3I,EAJF2I,MAAKo+oB,EAIH/mpB,EAHF8rB,QAAAA,OAAO,IAAAi7nB,EAAG,OAAMA,EAAAC,EAGdhnpB,EADFinpB,oBAAAA,OAAmB,IAAAD,EAAGlD,GAAUkD,EAElC3roB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCouoB,EAAQn1oB,EAAAA,SACRo1oB,EAAcp1oB,EAAAA,SACd8R,EAAQqE,KACR08nB,EAAU7yoB,EAAAA,OAAa,MACvBwwoB,GAAYt0nB,EAAAA,GAAAA,GAAW22nB,EAAS1hpB,EAASiD,IAAKA,GAC9CihpB,EAA+B,SAAAvopB,GAAQ,OAAI,SAAAwopB,GAC/C,GAAIxopB,EAAU,CACZ,IAAMyN,EAAOs4oB,EAAQt3nB,aAGIrgC,IAArBo6pB,EACFxopB,EAASyN,GAETzN,EAASyN,EAAM+6oB,EAEnB,CACF,CAAC,EACKC,EAAiBF,EAA6B5B,GAC9C+B,EAAcH,GAA6B,SAAC96oB,EAAMk7oB,GACtDpB,GAAO95oB,GAEP,IAWIiU,EAXJknoB,EAIIpB,GAAmB,CACrB19oB,MAAAA,EACAmjB,QAAAA,EACA5L,OAAAA,GACC,CACDjF,KAAM,UARI8vE,EAAkB08jB,EAA5BlnoB,SACAsB,EAAK4loB,EAAL5loB,MACQmpE,EAAwBy8jB,EAAhCvnoB,OASc,SAAZ4L,GACFvL,EAAWsD,EAAMhB,YAAY5B,sBAAsB3U,EAAKspF,cACxDuxjB,EAAY75nB,QAAU/M,GAEtBA,EAAWwqE,EAEbz+E,EAAK3D,MAAMqhB,WAAa,CAACnG,EAAMhB,YAAYh0B,OAAO,UAAW,CAC3D0xB,SAAAA,EACAsB,MAAAA,IACEgC,EAAMhB,YAAYh0B,OAAO,YAAa,CACxC0xB,SAAUomoB,GAAcpmoB,EAAsB,KAAXA,EACnCsB,MAAAA,EACA3B,OAAQ8qE,KACN7sF,KAAK,KACLonpB,GACFA,EAAQj5oB,EAAMk7oB,EAElB,IACME,EAAgBN,EAA6B9B,GAC7CqC,EAAgBP,EAA6BzB,GAC7CiC,EAAaR,GAA6B,SAAA96oB,GAC9C,IAWIiU,EAXJsnoB,EAIIxB,GAAmB,CACrB19oB,MAAAA,EACAmjB,QAAAA,EACA5L,OAAAA,GACC,CACDjF,KAAM,SARI8vE,EAAkB88jB,EAA5BtnoB,SACAsB,EAAKgmoB,EAALhmoB,MACQmpE,EAAwB68jB,EAAhC3noB,OASc,SAAZ4L,GACFvL,EAAWsD,EAAMhB,YAAY5B,sBAAsB3U,EAAKspF,cACxDuxjB,EAAY75nB,QAAU/M,GAEtBA,EAAWwqE,EAEbz+E,EAAK3D,MAAMqhB,WAAa,CAACnG,EAAMhB,YAAYh0B,OAAO,UAAW,CAC3D0xB,SAAAA,EACAsB,MAAAA,IACEgC,EAAMhB,YAAYh0B,OAAO,YAAa,CACxC0xB,SAAUomoB,GAAcpmoB,EAAsB,KAAXA,EACnCsB,MAAO8koB,GAAc9koB,EAAQA,GAAoB,KAAXtB,EACtCL,OAAQ8qE,KACN7sF,KAAK,KACTmO,EAAK3D,MAAM0L,QAAU,EACrB/H,EAAK3D,MAAMiuB,UAAYs0kB,GAAS,KAC5Bw6C,GACFA,EAAOp5oB,EAEX,IACMw7oB,EAAeV,EAA6BxB,GAelD,OALA7zoB,EAAAA,WAAgB,WACd,OAAO,WACLka,aAAai7nB,EAAM55nB,QACrB,CACF,GAAG,KACiB3B,EAAAA,GAAAA,KAAKs7nB,GAAqB7uoB,EAAAA,EAAAA,GAAS,CACrD4roB,OAAQA,EACRG,GAAI2C,EACJlC,QAASA,EACTW,QAASgC,EACTjC,UAAWoC,EACXlC,WAAY8B,EACZ5B,OAAQkC,EACRhC,SAAUkC,EACVnC,UAAWgC,EACX5B,eAxB2B,SAAAr0pB,GACX,SAAZo6B,IACFo7nB,EAAM55nB,QAAUplB,WAAWxW,EAAMy1pB,EAAY75nB,SAAW,IAEtDy4nB,GAEFA,EAAenB,EAAQt3nB,QAAS57B,EAEpC,EAiBEo6B,QAAqB,SAAZA,EAAqB,KAAOA,GACpCzQ,EAAO,CACRnY,SAAU,SAACpK,EAAOmtpB,GAChB,OAAoBl0oB,EAAAA,aAAmB7O,GAAUkV,EAAAA,EAAAA,GAAS,CACxDzP,OAAOyP,EAAAA,EAAAA,GAAS,CACd/D,QAAS,EACTuiB,UAAWs0kB,GAAS,KACpBhukB,WAAsB,WAAVpkC,GAAuBgupB,OAAoB75pB,EAAX,UAC3Cic,GAAOpQ,GAAQ6P,EAAOzF,EAASlD,MAAM2I,OACxCxC,IAAKo8oB,GACJ0D,GACL,IAEJ,IA2EAW,GAAKmB,gBAAiB,EACtB,kFC3OA,IAAMhwE,GAAsBhmkB,EAAAA,YAAiB,SAAgB/R,EAAOw8oB,GAClE,IACEt5oB,EAGElD,EAHFkD,SACA2E,EAEE7H,EAFF6H,UAASmgpB,EAEPhopB,EADFiopB,cAAAA,OAAa,IAAAD,GAAQA,EAEvBr7nB,EAAkC5a,EAAAA,SAAe,MAAK6a,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAA/CggK,EAAS//J,EAAA,GAAEs7nB,EAAYt7nB,EAAA,GAExB21nB,GAAYt0nB,EAAAA,GAAAA,GAAyBlc,EAAAA,eAAqB7O,GAAYA,EAASiD,IAAM,KAAMq2oB,GAejG,IAdAzunB,EAAAA,GAAAA,IAAkB,WACXk6nB,GACHC,EA3BN,SAAsBrgpB,GACpB,MAA4B,oBAAdA,EAA2BA,IAAcA,CACzD,CAyBmBD,CAAaC,IAAc1D,SAASnS,KAErD,GAAG,CAAC6V,EAAWogpB,KACfl6nB,EAAAA,GAAAA,IAAkB,WAChB,GAAI4+J,IAAcs7d,EAEhB,OADAjmnB,EAAAA,GAAAA,GAAOw6mB,EAAc7vd,GACd,YACL3qJ,EAAAA,GAAAA,GAAOw6mB,EAAc,KACvB,CAGJ,GAAG,CAACA,EAAc7vd,EAAWs7d,IACzBA,EAAe,CACjB,GAAkBl2oB,EAAAA,eAAqB7O,GAAW,CAChD,IAAM4uB,EAAW,CACf3rB,IAAKo8oB,GAEP,OAAoBxwoB,EAAAA,aAAmB7O,EAAU4uB,EACnD,CACA,OAAoBnG,EAAAA,GAAAA,KAAK5Z,EAAAA,SAAgB,CACvC7O,SAAUA,GAEd,CACA,OAAoByoB,EAAAA,GAAAA,KAAK5Z,EAAAA,SAAgB,CACvC7O,SAAUypL,EAAyBxqH,GAAAA,aAAsBj/D,EAAUypL,GAAaA,GAEpF,IA4BA,8CC7EO,SAASw7d,GAAWj6oB,EAAS2jE,GAC9BA,EACF3jE,EAAQlH,aAAa,cAAe,QAEpCkH,EAAQnH,gBAAgB,cAE5B,CACA,SAASqhpB,GAAgBl6oB,GACvB,OAAO+lB,UAASnG,EAAAA,GAAAA,GAAY5f,GAASqrG,iBAAiBrrG,GAASotB,aAAc,KAAO,CACtF,CAUA,SAAS+snB,GAAmBxgpB,EAAW07kB,EAAczsf,EAAgBwxjB,EAAmBz2kB,GACtF,IAAMulgB,EAAY,CAACmM,EAAczsf,GAAcrpG,QAAAm6B,EAAAA,GAAAA,GAAK0goB,IACpD,GAAG1ppB,QAAQtP,KAAKuY,EAAU3E,UAAU,SAAAgL,GAClC,IAAMq6oB,GAAuD,IAAhCnxE,EAAU1nlB,QAAQwe,GACzCs6oB,GAbV,SAAwCt6oB,GAItC,IACMu6oB,GAAqE,IADjD,CAAC,WAAY,SAAU,QAAS,OAAQ,MAAO,OAAQ,WAAY,UAAW,MAAO,WAAY,QAAS,OAAQ,SAAU,SACzG/4pB,QAAQwe,EAAQwhB,SACvDg5nB,EAAoC,UAApBx6oB,EAAQwhB,SAAwD,WAAjCxhB,EAAQwC,aAAa,QAC1E,OAAO+3oB,GAAsBC,CAC/B,CAKmCC,CAA+Bz6oB,GAC1Dq6oB,GAAwBC,GAC1BL,GAAWj6oB,EAAS2jE,EAExB,GACF,CACA,SAAS+2kB,GAAY9ykB,EAAOj3E,GAC1B,IAAI2lH,GAAO,EAQX,OAPA1uC,EAAM12E,MAAK,SAAC0I,EAAM2D,GAChB,QAAI5M,EAASiJ,KACX08G,EAAM/4G,GACC,EAGX,IACO+4G,CACT,CACA,SAASqkiB,GAAgB3xC,EAAel3mB,GACtC,IAAM8opB,EAAe,GACfjhpB,EAAYqvmB,EAAcrvmB,UAChC,IAAK7H,EAAM+opB,kBAAmB,CAC5B,GAnDJ,SAAuBlhpB,GACrB,IAAMioB,GAAMjC,EAAAA,GAAAA,GAAchmB,GAC1B,OAAIioB,EAAI99B,OAAS6V,GACRimB,EAAAA,GAAAA,GAAYjmB,GAAWitF,WAAahlE,EAAIylE,gBAAgB5B,YAE1D9rF,EAAU28P,aAAe38P,EAAU+tF,YAC5C,CA6CQozjB,CAAcnhpB,GAAY,CAE5B,IAAMy6oB,EAAgB3B,IAAiB9ynB,EAAAA,GAAAA,GAAchmB,IACrDihpB,EAAa91pB,KAAK,CAChBxB,MAAOqW,EAAUc,MAAM2yB,aACvB1sB,SAAU,gBACVvN,GAAIwG,IAGNA,EAAUc,MAAM2yB,aAAe,GAAH7tC,OAAM26pB,GAAgBvgpB,GAAay6oB,EAAa,MAG5E,IAAM1yoB,GAAgBie,EAAAA,GAAAA,GAAchmB,GAAW4I,iBAAiB,cAChE,GAAG7R,QAAQtP,KAAKsgB,GAAe,SAAA1B,GAC7B46oB,EAAa91pB,KAAK,CAChBxB,MAAO0c,EAAQvF,MAAM2yB,aACrB1sB,SAAU,gBACVvN,GAAI6M,IAENA,EAAQvF,MAAM2yB,aAAe,GAAH7tC,OAAM26pB,GAAgBl6oB,GAAWo0oB,EAAa,KAC1E,GACF,CACA,IAAI1lR,EACJ,GAAI/0X,EAAUrD,sBAAsBykpB,iBAClCrsR,GAAkB/uW,EAAAA,GAAAA,GAAchmB,GAAW7V,SACtC,CAGL,IAAMwa,EAAS3E,EAAU40D,cACnByslB,GAAkBp7nB,EAAAA,GAAAA,GAAYjmB,GACpC+0X,EAAkE,UAArC,MAAVpwX,OAAiB,EAASA,EAAO02D,WAA+E,WAAvDgmlB,EAAgB3viB,iBAAiB/sG,GAAQsrc,UAAyBtrc,EAAS3E,CACzJ,CAIAihpB,EAAa91pB,KAAK,CAChBxB,MAAOorY,EAAgBj0X,MAAMq0B,SAC7BpuB,SAAU,WACVvN,GAAIu7X,GACH,CACDprY,MAAOorY,EAAgBj0X,MAAMkvc,UAC7Bjpc,SAAU,aACVvN,GAAIu7X,GACH,CACDprY,MAAOorY,EAAgBj0X,MAAMmvc,UAC7Blpc,SAAU,aACVvN,GAAIu7X,IAENA,EAAgBj0X,MAAMq0B,SAAW,QACnC,CAcA,OAbgB,WACd8rnB,EAAalqpB,SAAQ,SAAA0K,GAIf,IAHJ9X,EAAK8X,EAAL9X,MACA6P,EAAEiI,EAAFjI,GACAuN,EAAQtF,EAARsF,SAEIpd,EACF6P,EAAGsH,MAAM65F,YAAY5zF,EAAUpd,GAE/B6P,EAAGsH,MAAM86H,eAAe70H,EAE5B,GACF,CAEF,CAUA,IAOqBu6oB,GAAY,WAC/B,SAAAA,KAAczppB,EAAAA,GAAAA,GAAA,KAAAyppB,GACZz6pB,KAAK06pB,gBAAa,EAClB16pB,KAAK26pB,YAAS,EACd36pB,KAAK26pB,OAAS,GACd36pB,KAAK06pB,WAAa,EACpB,CAuEC,OAvEAvppB,EAAAA,GAAAA,GAAAsppB,EAAA,EAAAn5pB,IAAA,MAAAwB,MACD,SAAI4wB,EAAOva,GACT,IAAIyhpB,EAAa56pB,KAAK26pB,OAAO35pB,QAAQ0yB,GACrC,IAAoB,IAAhBknoB,EACF,OAAOA,EAETA,EAAa56pB,KAAK26pB,OAAOh6pB,OACzBX,KAAK26pB,OAAOr2pB,KAAKovB,GAGbA,EAAMmnoB,UACRpB,GAAW/loB,EAAMmnoB,UAAU,GAE7B,IAAMC,EAnCV,SAA2B3hpB,GACzB,IAAM2hpB,EAAiB,GAMvB,MALA,GAAG5qpB,QAAQtP,KAAKuY,EAAU3E,UAAU,SAAAgL,GACU,SAAxCA,EAAQwC,aAAa,gBACvB84oB,EAAex2pB,KAAKkb,EAExB,IACOs7oB,CACT,CA2B2BC,CAAkB5hpB,GACzCwgpB,GAAmBxgpB,EAAWua,EAAMkhkB,MAAOlhkB,EAAMmnoB,SAAUC,GAAgB,GAC3E,IAAME,EAAiBd,GAAYl6pB,KAAK06pB,YAAY,SAAAthpB,GAAI,OAAIA,EAAKD,YAAcA,CAAS,IACxF,OAAwB,IAApB6hpB,GACFh7pB,KAAK06pB,WAAWM,GAAgBL,OAAOr2pB,KAAKovB,GACrCknoB,IAET56pB,KAAK06pB,WAAWp2pB,KAAK,CACnBq2pB,OAAQ,CAACjnoB,GACTva,UAAAA,EACAuthB,QAAS,KACTo0H,eAAAA,IAEKF,EACT,GAAC,CAAAt5pB,IAAA,QAAAwB,MACD,SAAM4wB,EAAOpiB,GACX,IAAM0ppB,EAAiBd,GAAYl6pB,KAAK06pB,YAAY,SAAAthpB,GAAI,OAAoC,IAAhCA,EAAKuhpB,OAAO35pB,QAAQ0yB,EAAa,IACvF80lB,EAAgBxonB,KAAK06pB,WAAWM,GACjCxyC,EAAc9hF,UACjB8hF,EAAc9hF,QAAUyzH,GAAgB3xC,EAAel3mB,GAE3D,GAAC,CAAAhQ,IAAA,SAAAwB,MACD,SAAO4wB,GAA+B,IAAxBunoB,IAAev6pB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,KAAAA,UAAA,GACrBk6pB,EAAa56pB,KAAK26pB,OAAO35pB,QAAQ0yB,GACvC,IAAoB,IAAhBknoB,EACF,OAAOA,EAET,IAAMI,EAAiBd,GAAYl6pB,KAAK06pB,YAAY,SAAAthpB,GAAI,OAAoC,IAAhCA,EAAKuhpB,OAAO35pB,QAAQ0yB,EAAa,IACvF80lB,EAAgBxonB,KAAK06pB,WAAWM,GAKtC,GAJAxyC,EAAcmyC,OAAOrnpB,OAAOk1mB,EAAcmyC,OAAO35pB,QAAQ0yB,GAAQ,GACjE1zB,KAAK26pB,OAAOrnpB,OAAOsnpB,EAAY,GAGK,IAAhCpyC,EAAcmyC,OAAOh6pB,OAEnB6nnB,EAAc9hF,SAChB8hF,EAAc9hF,UAEZhzgB,EAAMmnoB,UAERpB,GAAW/loB,EAAMmnoB,SAAUI,GAE7BtB,GAAmBnxC,EAAcrvmB,UAAWua,EAAMkhkB,MAAOlhkB,EAAMmnoB,SAAUryC,EAAcsyC,gBAAgB,GACvG96pB,KAAK06pB,WAAWpnpB,OAAO0npB,EAAgB,OAClC,CAEL,IAAME,EAAU1yC,EAAcmyC,OAAOnyC,EAAcmyC,OAAOh6pB,OAAS,GAI/Du6pB,EAAQL,UACVpB,GAAWyB,EAAQL,UAAU,EAEjC,CACA,OAAOD,CACT,GAAC,CAAAt5pB,IAAA,aAAAwB,MACD,SAAW4wB,GACT,OAAO1zB,KAAK26pB,OAAOh6pB,OAAS,GAAKX,KAAK26pB,OAAO36pB,KAAK26pB,OAAOh6pB,OAAS,KAAO+yB,CAC3E,KAAC+moB,CAAA,CA7E8B,GC/H3BU,GAAqB,CAAC,QAAS,SAAU,WAAY,UAAW,SAAU,aAAc,kBAAmB,kBAAmB,oDAAoD1rpB,KAAK,KAwC7L,SAAS2rpB,GAAmBv9oB,GAC1B,IAAMw9oB,EAAkB,GAClBC,EAAkB,GAgBxB,OAfA37pB,MAAM2K,KAAKuT,EAAKkE,iBAAiBo5oB,KAAqBjrpB,SAAQ,SAAC0N,EAAMpd,GACnE,IAAM+6pB,EA3CV,SAAqB39oB,GACnB,IAAM49oB,EAAej2nB,SAAS3nB,EAAKoE,aAAa,aAAe,GAAI,IACnE,OAAKlI,OAAOC,MAAMyhpB,GAYW,SAAzB59oB,EAAKqymB,kBAAiD,UAAlBrymB,EAAK42D,UAA0C,UAAlB52D,EAAK42D,UAA0C,YAAlB52D,EAAK42D,WAA6D,OAAlC52D,EAAKoE,aAAa,YAC3I,EAEFpE,EAAKunD,SAdHq2lB,CAeX,CAyByBC,CAAY79oB,IACX,IAAlB29oB,GAXR,SAAyC39oB,GACvC,QAAIA,EAAK4M,UAA6B,UAAjB5M,EAAKojB,SAAqC,WAAdpjB,EAAKpG,MAfxD,SAA4BoG,GAC1B,GAAqB,UAAjBA,EAAKojB,SAAqC,UAAdpjB,EAAKpG,KACnC,OAAO,EAET,IAAKoG,EAAK7W,KACR,OAAO,EAET,IAAM20pB,EAAW,SAAA94oB,GAAQ,OAAIhF,EAAKuhB,cAAcqsF,cAAc,sBAADzsH,OAAuB6jB,GAAW,EAC3F+4oB,EAASD,EAAS,UAAD38pB,OAAW6e,EAAK7W,KAAI,eAIzC,OAHK40pB,IACHA,EAASD,EAAS,UAAD38pB,OAAW6e,EAAK7W,KAAI,QAEhC40pB,IAAW/9oB,CACpB,CAE6Eg+oB,CAAmBh+oB,GAIhG,CAMgCi+oB,CAAgCj+oB,KAGvC,IAAjB29oB,EACFF,EAAgB/2pB,KAAKsZ,GAErB09oB,EAAgBh3pB,KAAK,CACnBw3pB,cAAet7pB,EACf2kE,SAAUo2lB,EACV39oB,KAAMA,IAGZ,IACO09oB,EAAgB7loB,MAAK,SAACtwB,EAAG5F,GAAC,OAAK4F,EAAEggE,WAAa5lE,EAAE4lE,SAAWhgE,EAAE22pB,cAAgBv8pB,EAAEu8pB,cAAgB32pB,EAAEggE,SAAW5lE,EAAE4lE,QAAQ,IAAEtmE,KAAI,SAAAsG,GAAC,OAAIA,EAAEyY,IAAI,IAAE7e,OAAOs8pB,EACzJ,CACA,SAASU,KACP,OAAO,CACT,CAiQA,OApPA,SAAmBzqpB,GACjB,IACEkD,EAOElD,EAPFkD,SAAQwnpB,EAON1qpB,EANF2qpB,iBAAAA,OAAgB,IAAAD,GAAQA,EAAAE,EAMtB5qpB,EALF6qpB,oBAAAA,OAAmB,IAAAD,GAAQA,EAAAE,EAKzB9qpB,EAJF+qpB,oBAAAA,OAAmB,IAAAD,GAAQA,EAAAE,EAIzBhrpB,EAHFirpB,YAAAA,OAAW,IAAAD,EAAGlB,GAAkBkB,EAAAE,EAG9BlrpB,EAFFiwQ,UAAAA,OAAS,IAAAi7Y,EAAGT,GAAgBS,EAC5B3mnB,EACEvkC,EADFukC,KAEI4mnB,EAAyBp5oB,EAAAA,QAAa,GACtCq5oB,EAAgBr5oB,EAAAA,OAAa,MAC7Bs5oB,EAAct5oB,EAAAA,OAAa,MAC3Bu5oB,EAAgBv5oB,EAAAA,OAAa,MAC7Bw5oB,EAAwBx5oB,EAAAA,OAAa,MAGrCyvJ,EAAYzvJ,EAAAA,QAAa,GACzBy5oB,EAAUz5oB,EAAAA,OAAa,MAEvBwwoB,GAAYt0nB,EAAAA,GAAAA,GAAW/qB,EAASiD,IAAKqlpB,GACrCC,EAAc15oB,EAAAA,OAAa,MACjCA,EAAAA,WAAgB,WAETwyB,GAASinnB,EAAQl+nB,UAGtBk0I,EAAUl0I,SAAWq9nB,EACvB,GAAG,CAACA,EAAkBpmnB,IACtBxyB,EAAAA,WAAgB,WAEd,GAAKwyB,GAASinnB,EAAQl+nB,QAAtB,CAGA,IAAMwC,GAAMjC,EAAAA,GAAAA,GAAc29nB,EAAQl+nB,SAYlC,OAXKk+nB,EAAQl+nB,QAAQwrF,SAAShpF,EAAIizE,iBAC3ByojB,EAAQl+nB,QAAQu5I,aAAa,aAIhC2kf,EAAQl+nB,QAAQtmB,aAAa,WAAY,MAEvCw6J,EAAUl0I,SACZk+nB,EAAQl+nB,QAAQvT,SAGb,WAEAgxoB,IAKCO,EAAch+nB,SAAWg+nB,EAAch+nB,QAAQvT,QACjDoxoB,EAAuB79nB,SAAU,EACjCg+nB,EAAch+nB,QAAQvT,SAExBuxoB,EAAch+nB,QAAU,KAE5B,CA1BA,CA8BF,GAAG,CAACiX,IACJxyB,EAAAA,WAAgB,WAEd,GAAKwyB,GAASinnB,EAAQl+nB,QAAtB,CAGA,IAAMwC,GAAMjC,EAAAA,GAAAA,GAAc29nB,EAAQl+nB,SAC5Bo+nB,EAAU,SAAAh1C,GACd,IACWpyZ,EACPknc,EADFl+nB,QAKF,GAAoB,OAAhBg3L,EAGJ,GAAKx0L,EAAI67nB,aAAcd,GAAwB56Y,MAAek7Y,EAAuB79nB,SAIrF,IAAKg3L,EAAYxrG,SAAShpF,EAAIizE,eAAgB,CAE5C,GAAI2zgB,GAAe60C,EAAsBj+nB,UAAYoplB,EAAY3mnB,QAAU+/B,EAAIizE,gBAAkBwojB,EAAsBj+nB,QACrHi+nB,EAAsBj+nB,QAAU,UAC3B,GAAsC,OAAlCi+nB,EAAsBj+nB,QAC/B,OAEF,IAAKk0I,EAAUl0I,QACb,OAEF,IAAIu9a,EAAW,GAIf,GAHI/6a,EAAIizE,gBAAkBqojB,EAAc99nB,SAAWwC,EAAIizE,gBAAkBsojB,EAAY/9nB,UACnFu9a,EAAWogN,EAAYO,EAAQl+nB,UAE7Bu9a,EAASx7c,OAAS,EAAG,CACvB,IAAIu8pB,EAAsBC,EACpBC,EAAahopB,SAAyD,OAA/C8npB,EAAuBH,EAAYn+nB,cAAmB,EAASs+nB,EAAqBrggB,WAA8G,SAA/C,OAAhDsggB,EAAwBJ,EAAYn+nB,cAAmB,EAASu+nB,EAAsB77pB,MAChN+7pB,EAAYlhN,EAAS,GACrBmhN,EAAgBnhN,EAASA,EAASx7c,OAAS,GACxB,kBAAd08pB,GAAmD,kBAAlBC,IACtCF,EACFE,EAAcjyoB,QAEdgyoB,EAAUhyoB,QAGhB,MACEuqM,EAAYvqM,OAEhB,OAhCEoxoB,EAAuB79nB,SAAU,CAiCrC,EACM2+nB,EAAY,SAAAv1C,GAChB+0C,EAAYn+nB,QAAUoplB,GAClBm0C,GAAwB56Y,KAAmC,QAApBymW,EAAY1mnB,KAMnD8/B,EAAIizE,gBAAkByojB,EAAQl+nB,SAAWoplB,EAAYnrd,WAGvD4/f,EAAuB79nB,SAAU,EAC7B+9nB,EAAY/9nB,SACd+9nB,EAAY/9nB,QAAQvT,QAG1B,EACA+V,EAAIC,iBAAiB,UAAW27nB,GAChC57nB,EAAIC,iBAAiB,UAAWk8nB,GAAW,GAQ3C,IAAM3rkB,EAAW0hV,aAAY,WACvBlyY,EAAIizE,eAA+C,SAA9BjzE,EAAIizE,cAAcrzE,SACzCg8nB,EAAQ,KAEZ,GAAG,IACH,OAAO,WACLnpP,cAAcjiV,GACdxwD,EAAIsT,oBAAoB,UAAWsonB,GACnC57nB,EAAIsT,oBAAoB,UAAW6onB,GAAW,EAChD,CAlFA,CAmFF,GAAG,CAACtB,EAAkBE,EAAqBE,EAAqB96Y,EAAW1rO,EAAM0mnB,IACjF,IAWMiB,EAAsB,SAAAj9nB,GACI,OAA1Bq8nB,EAAch+nB,UAChBg+nB,EAAch+nB,QAAU2B,EAAMq1H,eAEhCkd,EAAUl0I,SAAU,CACtB,EACA,OAAoBhC,EAAAA,GAAAA,MAAMvZ,EAAAA,SAAgB,CACxC7O,SAAU,EAAcyoB,EAAAA,GAAAA,KAAK,MAAO,CAClCkoC,SAAUtvB,EAAO,GAAK,EACtBtU,QAASi8nB,EACT/lpB,IAAKilpB,EACL,cAAe,kBACAr5oB,EAAAA,aAAmB7O,EAAU,CAC5CiD,IAAKo8oB,EACLtynB,QAzBY,SAAAhB,GACgB,OAA1Bq8nB,EAAch+nB,UAChBg+nB,EAAch+nB,QAAU2B,EAAMq1H,eAEhCkd,EAAUl0I,SAAU,EACpBi+nB,EAAsBj+nB,QAAU2B,EAAMl/B,OACtC,IAAMo8pB,EAAuBjppB,EAASlD,MAAMiwB,QACxCk8nB,GACFA,EAAqBl9nB,EAEzB,KAgBmBtD,EAAAA,GAAAA,KAAK,MAAO,CAC3BkoC,SAAUtvB,EAAO,GAAK,EACtBtU,QAASi8nB,EACT/lpB,IAAKklpB,EACL,cAAe,kBAGrB,ECzQO,SAASe,GAAqB9moB,GACnC,OAAOmD,EAAAA,GAAAA,GAAqB,WAAYnD,EAC1C,EACqBoD,EAAAA,GAAAA,GAAuB,WAAY,CAAC,OAAQ,SAAU,aCF5D,SAAS2joB,GAAgBn+oB,GACtC,MAA0B,kBAAZA,CAChB,CCEe,SAASo+oB,GAAkB1snB,GACxC,QAAe3yC,IAAX2yC,EACF,MAAO,CAAC,EAEV,IAAMhuC,EAAS,CAAC,EAIhB,OAHA1D,OAAOgR,KAAK0gC,GAAQl+B,QAAO,SAAA4iB,GAAI,QAAMA,EAAKhU,MAAM,aAAuC,oBAAjBsvB,EAAOtb,GAAqB,IAAE1lB,SAAQ,SAAA0lB,GAC1G1yB,EAAO0yB,GAAQsb,EAAOtb,EACxB,IACO1yB,CACT,CCCe,SAAS26pB,GAAe5xgB,GACrC,IACE6xgB,EAKE7xgB,EALF6xgB,aACAC,EAIE9xgB,EAJF8xgB,gBACAC,EAGE/xgB,EAHF+xgB,kBACAC,EAEEhygB,EAFFgygB,uBACAprpB,EACEo5I,EADFp5I,UAEF,IAAKirpB,EAAc,CAGjB,IAAMI,GAAgBphoB,EAAAA,GAAAA,GAA+B,MAA1BmhoB,OAAiC,EAASA,EAAuBprpB,UAAgC,MAArBmrpB,OAA4B,EAASA,EAAkBnrpB,UAAWA,EAA8B,MAAnBkrpB,OAA0B,EAASA,EAAgBlrpB,WACjOsrpB,GAAcz0oB,EAAAA,EAAAA,GAAS,CAAC,EAAsB,MAAnBq0oB,OAA0B,EAASA,EAAgB9jpB,MAAiC,MAA1BgkpB,OAAiC,EAASA,EAAuBhkpB,MAA4B,MAArB+jpB,OAA4B,EAASA,EAAkB/jpB,OACpN3I,GAAQoY,EAAAA,EAAAA,GAAS,CAAC,EAAGq0oB,EAAiBE,EAAwBD,GAOpE,OANIE,EAAcv9pB,OAAS,IACzB2Q,EAAMuB,UAAYqrpB,GAEhB1+pB,OAAOgR,KAAK2tpB,GAAax9pB,OAAS,IACpC2Q,EAAM2I,MAAQkkpB,GAET,CACL7spB,MAAAA,EACA8spB,iBAAa7/pB,EAEjB,CAKA,IAAM8/pB,ECvCO,SAA8BntnB,GAA0B,IAAlBotnB,EAAW59pB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,GACjE,QAAenC,IAAX2yC,EACF,MAAO,CAAC,EAEV,IAAMhuC,EAAS,CAAC,EAIhB,OAHA1D,OAAOgR,KAAK0gC,GAAQl+B,QAAO,SAAA4iB,GAAI,OAAIA,EAAKhU,MAAM,aAAuC,oBAAjBsvB,EAAOtb,KAAyB0ooB,EAAYtvmB,SAASp5B,EAAK,IAAE1lB,SAAQ,SAAA0lB,GACtI1yB,EAAO0yB,GAAQsb,EAAOtb,EACxB,IACO1yB,CACT,CD8BwBq7pB,EAAqB70oB,EAAAA,EAAAA,GAAS,CAAC,EAAGu0oB,EAAwBD,IAC1EQ,EAAsCZ,GAAkBI,GACxDS,EAAiCb,GAAkBK,GACnDS,EAAoBZ,EAAaO,GAMjCH,GAAgBphoB,EAAAA,GAAAA,GAA0B,MAArB4hoB,OAA4B,EAASA,EAAkB7rpB,UAA8B,MAAnBkrpB,OAA0B,EAASA,EAAgBlrpB,UAAWA,EAAqC,MAA1BorpB,OAAiC,EAASA,EAAuBprpB,UAAgC,MAArBmrpB,OAA4B,EAASA,EAAkBnrpB,WACnSsrpB,GAAcz0oB,EAAAA,EAAAA,GAAS,CAAC,EAAwB,MAArBg1oB,OAA4B,EAASA,EAAkBzkpB,MAA0B,MAAnB8jpB,OAA0B,EAASA,EAAgB9jpB,MAAiC,MAA1BgkpB,OAAiC,EAASA,EAAuBhkpB,MAA4B,MAArB+jpB,OAA4B,EAASA,EAAkB/jpB,OAClR3I,GAAQoY,EAAAA,EAAAA,GAAS,CAAC,EAAGg1oB,EAAmBX,EAAiBU,EAAgCD,GAO/F,OANIN,EAAcv9pB,OAAS,IACzB2Q,EAAMuB,UAAYqrpB,GAEhB1+pB,OAAOgR,KAAK2tpB,GAAax9pB,OAAS,IACpC2Q,EAAM2I,MAAQkkpB,GAET,CACL7spB,MAAAA,EACA8spB,YAAaM,EAAkBjnpB,IAEnC,CEhEe,SAASknpB,GAAsBt4d,EAAgB9tK,GAC5D,MAA8B,oBAAnB8tK,EACFA,EAAe9tK,GAEjB8tK,CACT,CCPA,IAAMj8K,GAAY,CAAC,cAAe,oBAAqB,cAaxC,SAASw0oB,GAAa3ygB,GACnC,IAAI4ygB,EAEA3yT,EAGEjgN,EAHFigN,YACA8xT,EAEE/xgB,EAFF+xgB,kBACAzloB,EACE0zH,EADF1zH,WAEFsrd,GAAOj3d,EAAAA,EAAAA,GAA8Bq/H,EAAY7hI,IAC7C00oB,EAA0BH,GAAsBX,EAAmBzloB,GACzEwmoB,EAGIlB,IAAen0oB,EAAAA,EAAAA,GAAS,CAAC,EAAGm6d,EAAM,CACpCm6K,kBAAmBc,KAHZv3oB,EAAWw3oB,EAAlBztpB,MACA8spB,EAAWW,EAAXX,YAII3mpB,GAAM8nB,EAAAA,GAAAA,GAAW6+nB,EAAwC,MAA3BU,OAAkC,EAASA,EAAwBrnpB,IAA6D,OAAvDonpB,EAAwB5ygB,EAAW8xgB,sBAA2B,EAASc,EAAsBpnpB,KACpMnG,ECfO,SAA0B46V,EAAaqjT,EAAYh3nB,GAChE,YAAoBh6B,IAAhB2tW,GAA6ByxT,GAAgBzxT,GACxCqjT,GAEF7loB,EAAAA,EAAAA,GAAS,CAAC,EAAG6loB,EAAY,CAC9Bh3nB,YAAY7O,EAAAA,EAAAA,GAAS,CAAC,EAAG6loB,EAAWh3nB,WAAYA,IAEpD,CDQgBymoB,CAAiB9yT,GAAaxiV,EAAAA,EAAAA,GAAS,CAAC,EAAGnC,EAAa,CACpE9P,IAAAA,IACE8gB,GACJ,OAAOjnB,CACT,CEjCA,IAAM2tpB,GAAsB,CAC1BC,uBAAuB,GAEnBC,GAA4C97oB,EAAAA,cAAoB47oB,ICHtE,IAAM70oB,GAAY,CAAC,WAAY,uBAAwB,YAAa,mBAAoB,sBAAuB,uBAAwB,gBAAiB,sBAAuB,oBAAqB,eAAgB,cAAe,UAAW,kBAAmB,UAAW,YAAa,OAAQ,oBAAqB,qBAAsB,YAAa,SAanVuS,GAAoB,SAAApE,GACxB,IACEsd,EAEEtd,EAFFsd,KACAupnB,EACE7moB,EADF6moB,OAEI3ioB,EAAQ,CACZ5e,KAAM,CAAC,QAASg4B,GAAQupnB,GAAU,UAClCC,SAAU,CAAC,aAEb,OAAO3ioB,EAAAA,GAAAA,GAAeD,EDVjB,SAA+B1C,GACpC,IACEmloB,EACE77oB,EAAAA,WAAiB87oB,IADnBD,sBAEF,OAAO,SAAAtooB,GACL,OAAIsooB,EACK,GAEFnloB,EAAqBnD,EAC9B,CACF,CCA+B0ooB,CAAsB5B,IACrD,EAUA,IAAM6B,GAAiB,IAAI9E,GAuBrB+E,GAAqBn8oB,EAAAA,YAAiB,SAAe/R,EAAOw8oB,GAChE,IAAI2R,EAAmBC,EAEnBlrpB,EAqBElD,EArBFkD,SAAQmrpB,EAqBNrupB,EApBFsupB,qBAAAA,OAAoB,IAAAD,GAAQA,EAC5BxmpB,EAmBE7H,EAnBF6H,UAAS6ipB,EAmBP1qpB,EAlBF2qpB,iBAAAA,OAAgB,IAAAD,GAAQA,EAAAE,EAkBtB5qpB,EAjBF6qpB,oBAAAA,OAAmB,IAAAD,GAAQA,EAAA2D,EAiBzBvupB,EAhBFwupB,qBAAAA,OAAoB,IAAAD,GAAQA,EAAAvG,EAgB1BhopB,EAfFiopB,cAAAA,OAAa,IAAAD,GAAQA,EAAA8C,EAenB9qpB,EAdF+qpB,oBAAAA,OAAmB,IAAAD,GAAQA,EAAA2D,EAczBzupB,EAbF+opB,kBAAAA,OAAiB,IAAA0F,GAAQA,EAAAC,EAavB1upB,EAZF2upB,aAAAA,OAAY,IAAAD,GAAQA,EAAAE,EAYlB5upB,EAXF6upB,YAAAA,OAAW,IAAAD,GAAQA,EAAAE,EAWjB9upB,EATF4mgB,QAASmoJ,OAAW,IAAAD,EAAGb,GAAca,EACrCE,EAQEhvpB,EARFgvpB,gBACAC,EAOEjvpB,EAPFivpB,QACAp/kB,EAME7vE,EANF6vE,UACAtrC,EAKEvkC,EALFukC,KACA2qnB,EAIElvpB,EAJFkvpB,kBACAC,EAGEnvpB,EAHFmvpB,mBAAkBC,EAGhBpvpB,EAFF8hC,UAAAA,OAAS,IAAAstnB,EAAG,CAAC,EAACA,EAAAC,EAEZrvpB,EADFmrB,MAAAA,OAAK,IAAAkkoB,EAAG,CAAC,EAACA,EAEZh0oB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IAGzC8tf,EAAUmoJ,EAChBpioB,EAA4B5a,EAAAA,UAAgBwyB,GAAK3X,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAA1CmhoB,EAAMlhoB,EAAA,GAAE0ioB,EAAS1ioB,EAAA,GAClBxK,EAAQrQ,EAAAA,OAAa,CAAC,GACtBw9oB,EAAex9oB,EAAAA,OAAa,MAC5Bw3oB,EAAWx3oB,EAAAA,OAAa,MACxBwwoB,GAAYt0nB,EAAAA,GAAAA,GAAWs7nB,EAAU/M,GACjCgT,EA/DR,SAA0BtspB,GACxB,QAAOA,GAAWA,EAASlD,MAAMzR,eAAe,KAClD,CA6DwBkhqB,CAAiBvspB,GACjCwspB,EAA+D,OAA7CvB,EAAoBnupB,EAAM,iBAA0BmupB,EAEtEwB,EAAW,WAGf,OAFAvtoB,EAAMkL,QAAQi8nB,SAAWA,EAASj8nB,QAClClL,EAAMkL,QAAQq/J,UAAY4ie,EAAajioB,QAChClL,EAAMkL,OACf,EACMsioB,EAAgB,WACpBhpJ,EAAQ08E,MAAMqsE,IAAY,CACxB5G,kBAAAA,IAIEQ,EAASj8nB,UACXi8nB,EAASj8nB,QAAQ8jE,UAAY,EAEjC,EACMy+jB,IAAa7hoB,EAAAA,GAAAA,IAAiB,WAClC,IAAM8hoB,EArFV,SAAsBjopB,GACpB,MAA4B,oBAAdA,EAA2BA,IAAcA,CACzD,CAmF8BD,CAAaC,KAjBpBgmB,EAAAA,GAAAA,GAAc0hoB,EAAajioB,SAiBgBt7B,KAC9D40gB,EAAQpkgB,IAAImtpB,IAAYG,GAGpBvG,EAASj8nB,SACXsioB,GAEJ,IACMG,GAAah+oB,EAAAA,aAAkB,kBAAM60f,EAAQmpJ,WAAWJ,IAAW,GAAE,CAAC/oJ,IACtEopJ,IAAkBhioB,EAAAA,GAAAA,IAAiB,SAAA1hB,GACvCijpB,EAAajioB,QAAUhhB,EAClBA,GAASi9oB,EAASj8nB,UAGnBiX,GAAQwrnB,KACVH,IAEAzH,GAAWoB,EAASj8nB,QAASoioB,GAEjC,IACMO,GAAcl+oB,EAAAA,aAAkB,WACpC60f,EAAQnkgB,OAAOktpB,IAAYD,EAC7B,GAAG,CAAC9oJ,EAAS8oJ,IACb39oB,EAAAA,WAAgB,WACd,OAAO,WACLk+oB,IACF,CACF,GAAG,CAACA,KACJl+oB,EAAAA,WAAgB,WACVwyB,EACFsrnB,KACUL,GAAkBlB,GAC5B2B,IAEJ,GAAG,CAAC1rnB,EAAM0rnB,GAAaT,EAAelB,EAAsBuB,KAC5D,IAAM5ooB,IAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCsupB,qBAAAA,EACA3D,iBAAAA,EACAE,oBAAAA,EACA2D,qBAAAA,EACAvG,cAAAA,EACA8C,oBAAAA,EACAhC,kBAAAA,EACA+E,OAAAA,EACAa,aAAAA,EACAE,YAAAA,IAEI3joB,GAAUG,GAAkBpE,IAiD5Bg/nB,GAAa,CAAC,OACYh5pB,IAA5BiW,EAASlD,MAAM6zD,WACjBoylB,GAAWpylB,SAAW,MAIpB27lB,IACFvJ,GAAWV,SAAU9knB,EAAAA,GAAAA,IAvDH,WAClB6unB,GAAU,GACNJ,GACFA,GAEJ,GAkD0DhspB,EAASlD,MAAMulpB,SACvEU,GAAWL,UAAWnlnB,EAAAA,GAAAA,IAlDH,WACnB6unB,GAAU,GACNH,GACFA,IAEEb,GACF2B,IAEJ,GA0C4D/spB,EAASlD,MAAM4lpB,WAE3E,IAAMsK,GAAqC,OAA7B9B,EAAcjjoB,EAAM5e,MAAgB6hpB,EAAc,MAC1D+B,GAAY7C,GAAa,CAC7B1yT,YAAas1T,GACbxD,kBAAmB5qnB,EAAUv1B,KAC7BogpB,uBAAwBtxoB,EACxBoxoB,gBAAiB,CACftmpB,IAAKo8oB,EACL72nB,KAAM,eACNmkD,UAxCkB,SAAA5gD,GAChB4gD,GACFA,EAAU5gD,GASM,WAAdA,EAAMj/B,KAAqB+/pB,OAG1BvB,IAEHv/nB,EAAM2gI,kBACFq/f,GACFA,EAAQhgoB,EAAO,kBAGrB,GAqBE1tB,UAAW2pB,GAAQ3e,KACnB0a,WAAAA,KAEImpoB,GAAoBjloB,EAAM4ioB,SAC1BsC,GAAgB/C,GAAa,CACjC1yT,YAAaw1T,GACb1D,kBAAmB5qnB,EAAUisnB,SAC7BtB,gBAAiB,CACf,eAAe,EACf90d,QA9DwB,SAAA1oK,GACtBA,EAAMl/B,SAAWk/B,EAAMs1H,gBAGvByqgB,GACFA,EAAgB//nB,GAEdggoB,GACFA,EAAQhgoB,EAAO,iBAEnB,EAqDIsV,KAAAA,GAEFhjC,UAAW2pB,GAAQ6ioB,SACnB9moB,WAAAA,KAEF,OAAK4noB,GAAgBtqnB,GAAUirnB,IAAiB1B,GAG5BnioB,EAAAA,GAAAA,KAAKosjB,GAEvB,CACA5xkB,IAAK6ppB,GACLnopB,UAAWA,EACXogpB,cAAeA,EACf/kpB,UAAuBooB,EAAAA,GAAAA,MAAM4koB,IAAM93oB,EAAAA,EAAAA,GAAS,CAAC,EAAG+3oB,GAAW,CACzDjtpB,SAAU,EAAEyrpB,GAAgByB,IAAiCzkoB,EAAAA,GAAAA,KAAKykoB,IAAmBh4oB,EAAAA,EAAAA,GAAS,CAAC,EAAGi4oB,KAAkB,MAAmB1koB,EAAAA,GAAAA,KAAK2koB,GAAW,CACrJzF,oBAAqBA,EACrBF,iBAAkBA,EAClBI,oBAAqBA,EACrB96Y,UAAW8/Y,GACXxrnB,KAAMA,EACNrhC,SAAuB6O,EAAAA,aAAmB7O,EAAU+ipB,YAfjD,IAmBX,IA6GA,MCjXMntoB,GAAY,CAAC,iBAAkB,SAAU,WAAY,SAAU,KAAM,UAAW,YAAa,aAAc,SAAU,WAAY,YAAa,QAAS,UAAW,uBASlK5P,GAAS,CACbu9oB,SAAU,CACRpyoB,QAAS,GAEXqyoB,QAAS,CACPryoB,QAAS,IA0Lb,GAlL0BtC,EAAAA,YAAiB,SAAc/R,EAAOmG,GAC9D,IAAM0d,EAAQqE,KACRg6d,EAAiB,CACrB1/U,MAAO3+I,EAAMhB,YAAYtC,SAASM,eAClC6qhB,KAAM7nhB,EAAMhB,YAAYtC,SAASO,eAG/BiloB,EAeE/lpB,EAfF+lpB,eAAcc,EAeZ7mpB,EAdFgkpB,OAAAA,OAAM,IAAA6C,GAAOA,EACb3jpB,EAaElD,EAbFkD,SACAgd,EAYElgB,EAZFkgB,OACI4moB,EAWF9mpB,EAXFmkpB,GACAoB,EAUEvlpB,EAVFulpB,QACAD,EASEtlpB,EATFslpB,UACAE,EAQExlpB,EARFwlpB,WACAE,EAOE1lpB,EAPF0lpB,OACAE,EAME5lpB,EANF4lpB,SACAD,EAKE3lpB,EALF2lpB,UACAh9oB,EAIE3I,EAJF2I,MAAKo+oB,EAIH/mpB,EAHF8rB,QAAAA,OAAO,IAAAi7nB,EAAG7kK,EAAc6kK,EAAAC,EAGtBhnpB,EADFinpB,oBAAAA,OAAmB,IAAAD,EAAGlD,GAAUkD,EAElC3roB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IAEzC8roB,EAAU7yoB,EAAAA,OAAa,MACvBwwoB,GAAYt0nB,EAAAA,GAAAA,GAAW22nB,EAAS1hpB,EAASiD,IAAKA,GAC9CihpB,EAA+B,SAAAvopB,GAAQ,OAAI,SAAAwopB,GAC/C,GAAIxopB,EAAU,CACZ,IAAMyN,EAAOs4oB,EAAQt3nB,aAGIrgC,IAArBo6pB,EACFxopB,EAASyN,GAETzN,EAASyN,EAAM+6oB,EAEnB,CACF,CAAC,EACKC,EAAiBF,EAA6B5B,GAC9C+B,EAAcH,GAA6B,SAAC96oB,EAAMk7oB,GACtDpB,GAAO95oB,GAEP,IAAMikpB,EAAkBlK,GAAmB,CACzC19oB,MAAAA,EACAmjB,QAAAA,EACA5L,OAAAA,GACC,CACDjF,KAAM,UAER3O,EAAK3D,MAAMm7H,iBAAmBjgH,EAAMhB,YAAYh0B,OAAO,UAAW0hqB,GAClEjkpB,EAAK3D,MAAMqhB,WAAanG,EAAMhB,YAAYh0B,OAAO,UAAW0hqB,GACxDhL,GACFA,EAAQj5oB,EAAMk7oB,EAElB,IACME,EAAgBN,EAA6B9B,GAC7CqC,EAAgBP,EAA6BzB,GAC7CiC,EAAaR,GAA6B,SAAA96oB,GAC9C,IAAMikpB,EAAkBlK,GAAmB,CACzC19oB,MAAAA,EACAmjB,QAAAA,EACA5L,OAAAA,GACC,CACDjF,KAAM,SAER3O,EAAK3D,MAAMm7H,iBAAmBjgH,EAAMhB,YAAYh0B,OAAO,UAAW0hqB,GAClEjkpB,EAAK3D,MAAMqhB,WAAanG,EAAMhB,YAAYh0B,OAAO,UAAW0hqB,GACxD7K,GACFA,EAAOp5oB,EAEX,IACMw7oB,EAAeV,EAA6BxB,GAOlD,OAAoBj6nB,EAAAA,GAAAA,KAAKs7nB,GAAqB7uoB,EAAAA,EAAAA,GAAS,CACrD4roB,OAAQA,EACRG,GAAI2C,EACJlC,QAAkCA,EAClCW,QAASgC,EACTjC,UAAWoC,EACXlC,WAAY8B,EACZ5B,OAAQkC,EACRhC,SAAUkC,EACVnC,UAAWgC,EACX5B,eAhB2B,SAAAr0pB,GACvBq0pB,GAEFA,EAAenB,EAAQt3nB,QAAS57B,EAEpC,EAYEo6B,QAASA,GACRzQ,EAAO,CACRnY,SAAU,SAACpK,EAAOmtpB,GAChB,OAAoBl0oB,EAAAA,aAAmB7O,GAAUkV,EAAAA,EAAAA,GAAS,CACxDzP,OAAOyP,EAAAA,EAAAA,GAAS,CACd/D,QAAS,EACT6oB,WAAsB,WAAVpkC,GAAuBgupB,OAAoB75pB,EAAX,UAC3Cic,GAAOpQ,GAAQ6P,EAAOzF,EAASlD,MAAM2I,OACxCxC,IAAKo8oB,GACJ0D,GACL,IAEJ,IC5HO,SAASuK,GAAwBlroB,GACtC,OAAOmD,EAAAA,GAAAA,GAAqB,cAAenD,EAC7C,EACwBoD,EAAAA,GAAAA,GAAuB,cAAe,CAAC,OAAQ,cAAvE,ICHM5P,GAAY,CAAC,WAAY,YAAa,YAAa,aAAc,kBAAmB,YAAa,OAAQ,YAAa,QAAS,sBAAuB,sBAoBtJ23oB,IAAe9roB,EAAAA,GAAAA,IAAO,MAAO,CACjClvB,KAAM,cACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAAM0a,EAAWypoB,WAAaxnpB,EAAOwnpB,UACtD,GARmB/roB,EASlB,SAAApb,GAAA,IACD0d,EAAU1d,EAAV0d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACb9e,SAAU,QACVywB,QAAS,OACTyT,WAAY,SACZD,eAAgB,SAChBc,MAAO,EACPC,OAAQ,EACRF,IAAK,EACLG,KAAM,EACNzD,gBAAiB,qBACjB61nB,wBAAyB,eACxB1poB,EAAWypoB,WAAa,CACzB51nB,gBAAiB,eACjB,IACI81nB,GAAwB7+oB,EAAAA,YAAiB,SAAkBsY,EAASlkB,GACxE,IAAI0qpB,EAAiBvnpB,EAAM8kpB,EACrBpupB,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,gBAGJyN,EAWElD,EAXFkD,SACA3B,EAUEvB,EAVFuB,UAASgpB,EAUPvqB,EATFwqB,UAAAA,OAAS,IAAAD,EAAG,MAAKA,EAAAumoB,EASf9wpB,EARFwmB,WAAAA,OAAU,IAAAsqoB,EAAG,CAAC,EAACA,EAAAC,EAQb/wpB,EAPFgxpB,gBAAAA,OAAe,IAAAD,EAAG,CAAC,EAACA,EAAAE,EAOlBjxpB,EANF0wpB,UAAAA,OAAS,IAAAO,GAAQA,EACjB1snB,EAKEvkC,EALFukC,KAAI6qnB,EAKFpvpB,EAJF8hC,UAAAA,OAAS,IAAAstnB,EAAG,CAAC,EAACA,EAAAC,EAIZrvpB,EAHFmrB,MAAAA,OAAK,IAAAkkoB,EAAG,CAAC,EAACA,EAAArI,EAGRhnpB,EAFFinpB,oBAAAA,OAAmB,IAAAD,EAAGkK,GAAIlK,EAC1Bj8jB,EACE/qF,EADF+qF,mBAEF1vE,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCmO,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCwqB,UAAAA,EACAkmoB,UAAAA,IAEIxloB,EA3DkB,SAAAjE,GACxB,IACEiE,EAEEjE,EAFFiE,QAGIC,EAAQ,CACZ5e,KAAM,CAAC,OAFL0a,EADFypoB,WAG4B,cAE9B,OAAOtloB,EAAAA,GAAAA,GAAeD,EAAOqloB,GAAyBtloB,EACxD,CAkDkBG,CAAkBpE,GAC5BkqoB,EAAsD,OAArCN,EAAkB/unB,EAAUv1B,MAAgBskpB,EAAkBG,EAAgBzkpB,KACrG,OAAoBof,EAAAA,GAAAA,KAAKs7nB,GAAqB7uoB,EAAAA,EAAAA,GAAS,CACrD+roB,GAAI5/mB,EACJzY,QAASi/D,GACR1vE,EAAO,CACRnY,UAAuByoB,EAAAA,GAAAA,KAAK8koB,IAAcr4oB,EAAAA,EAAAA,GAAS,CACjD,eAAe,GACd+4oB,EAAe,CAChB5loB,GAAmF,OAA9EjiB,EAAqC,OAA7B8kpB,EAAcjjoB,EAAM5e,MAAgB6hpB,EAAc5noB,EAAW0poB,MAAgB5mpB,EAAOkhB,EACjGjpB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,EAA4B,MAAjB4vpB,OAAwB,EAASA,EAAc5vpB,WACxF0lB,YAAY7O,EAAAA,EAAAA,GAAS,CAAC,EAAG6O,EAA6B,MAAjBkqoB,OAAwB,EAASA,EAAclqoB,YACpFiE,QAASA,EACT/kB,IAAKA,EACLjD,SAAUA,OAGhB,IAiGA,MCvLM4V,GAAY,CAAC,oBAAqB,gBAAiB,UAAW,YAAa,uBAAwB,WAAY,YAAa,YAAa,aAAc,kBAAmB,mBAAoB,sBAAuB,uBAAwB,gBAAiB,sBAAuB,oBAAqB,eAAgB,cAAe,kBAAmB,UAAW,OAAQ,YAAa,QAAS,SAYrYs4oB,IAAYzsoB,EAAAA,GAAAA,IAAO,MAAO,CAC9BlvB,KAAM,WACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,MAAO0a,EAAWsd,MAAQtd,EAAW6moB,QAAU5kpB,EAAOoxL,OACvE,GARgB31K,EASf,SAAAgC,GAAA,IACD9C,EAAK8C,EAAL9C,MACAoD,EAAUN,EAAVM,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACb9e,SAAU,QACVob,QAASmP,EAAMZ,MAAQY,GAAOnP,OAAO0N,MACrCic,MAAO,EACPC,OAAQ,EACRF,IAAK,EACLG,KAAM,IACJtX,EAAWsd,MAAQtd,EAAW6moB,QAAU,CAC1C5wnB,WAAY,UACZ,IACIm0nB,IAAgB1soB,EAAAA,GAAAA,IAAOisoB,GAAU,CACrCn7pB,KAAM,WACN6vB,KAAM,WACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,OAAOA,EAAO6kpB,QAChB,GALoBppoB,CAMnB,CACDjQ,QAAS,IAgBLw5oB,GAAqBn8oB,EAAAA,YAAiB,SAAesY,EAASlkB,GAClE,IAAImD,EAAM8kpB,EAAa7kpB,EAAO+npB,EAAiBT,EAAiBU,EAC1DvxpB,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BxyB,KAAM,WACNuK,MAAOqqB,IAETmnoB,EA0BMxxpB,EAzBFowpB,kBAAAA,OAAiB,IAAAoB,EAAGH,GAAaG,EACjCC,EAwBEzxpB,EAxBFyxpB,cACAvmoB,EAuBElrB,EAvBFkrB,QACA3pB,EAsBEvB,EAtBFuB,UAAS8spB,EAsBPrupB,EArBFsupB,qBAAAA,OAAoB,IAAAD,GAAQA,EAC5BnrpB,EAoBElD,EApBFkD,SACA2E,EAmBE7H,EAnBF6H,UACA2iB,EAkBExqB,EAlBFwqB,UAASsmoB,EAkBP9wpB,EAjBFwmB,WAAAA,OAAU,IAAAsqoB,EAAG,CAAC,EAACA,EAAAC,EAiBb/wpB,EAhBFgxpB,gBAAAA,OAAe,IAAAD,EAAG,CAAC,EAACA,EAAArG,EAgBlB1qpB,EAfF2qpB,iBAAAA,OAAgB,IAAAD,GAAQA,EAAAE,EAetB5qpB,EAdF6qpB,oBAAAA,OAAmB,IAAAD,GAAQA,EAAA2D,EAczBvupB,EAbFwupB,qBAAAA,OAAoB,IAAAD,GAAQA,EAAAvG,EAa1BhopB,EAZFiopB,cAAAA,OAAa,IAAAD,GAAQA,EAAA8C,EAYnB9qpB,EAXF+qpB,oBAAAA,OAAmB,IAAAD,GAAQA,EAAA2D,EAWzBzupB,EAVF+opB,kBAAAA,OAAiB,IAAA0F,GAAQA,EAAAC,EAUvB1upB,EATF2upB,aAAAA,OAAY,IAAAD,GAAQA,EAAAE,EASlB5upB,EARF6upB,YAAAA,OAAW,IAAAD,GAAQA,EACnBI,EAOEhvpB,EAPFgvpB,gBACAC,EAMEjvpB,EANFivpB,QACA1qnB,EAKEvkC,EALFukC,KACAzC,EAIE9hC,EAJF8hC,UACA3W,EAGEnrB,EAHFmrB,MAEAtH,EACE7jB,EADF6jB,MAEFxI,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IAC/C6T,EAA4B5a,EAAAA,UAAe,GAAK6a,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAAzCmhoB,EAAMlhoB,EAAA,GAAE0ioB,EAAS1ioB,EAAA,GAClB8koB,GAAc,CAClB7ppB,UAAAA,EACAympB,qBAAAA,EACA3D,iBAAAA,EACAE,oBAAAA,EACA2D,qBAAAA,EACAvG,cAAAA,EACA8C,oBAAAA,EACAhC,kBAAAA,EACA4F,aAAAA,EACAE,YAAAA,EACAG,gBAAAA,EACAC,QAAAA,EACA1qnB,KAAAA,GAEItd,IAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO0xpB,GAAa,CAClD5D,OAAAA,IAEI6D,GAAmH,OAAvGropB,EAA8D,OAAtD8kpB,EAAuB,MAATjjoB,OAAgB,EAASA,EAAM5e,MAAgB6hpB,EAAc5noB,EAAW0poB,MAAgB5mpB,EAAO8npB,GACjIQ,GAAwI,OAAxHropB,EAAuE,OAA9D+npB,EAA2B,MAATnmoB,OAAgB,EAASA,EAAM4ioB,UAAoBuD,EAAkB9qoB,EAAWoqoB,UAAoBrnpB,EAAQ6mpB,EACvJe,GAAmF,OAAlEN,EAA+B,MAAb/unB,OAAoB,EAASA,EAAUv1B,MAAgBskpB,EAAkBG,EAAgBzkpB,KAC5HslpB,GAA+F,OAA1EN,EAAmC,MAAbzvnB,OAAoB,EAASA,EAAUisnB,UAAoBwD,EAAsBP,EAAgBjD,SAClJ,OAAoBpioB,EAAAA,GAAAA,KAAKmmoB,IAAe15oB,EAAAA,EAAAA,GAAS,CAC/C+S,MAAO,CACL5e,KAAMolpB,GACN5D,SAAU6D,IAEZ9vnB,UAAW,CACTv1B,KAAM,kBAAM6L,EAAAA,EAAAA,GAAS,CAAC,EAAGi1oB,GAAsB8D,GAAelqoB,KAAcoloB,GAAgBsF,KAAa,CACvGpmoB,GAAIf,EACJ3G,MAAAA,GACC,CACDtiB,WAAWiqB,EAAAA,GAAAA,GAAKjqB,EAA4B,MAAjB4vpB,QAAwB,EAASA,GAAc5vpB,UAAsB,MAAX2pB,OAAkB,EAASA,EAAQ3e,MAAO0a,GAAWsd,MAAQtd,GAAW6moB,SAAsB,MAAX5ioB,OAAkB,EAASA,EAAQovK,UAC3M,EACFyzd,SAAU,kBAAM31oB,EAAAA,EAAAA,GAAS,CAAC,EAAGq5oB,EAAepE,GAAsBwE,GAAmB5qoB,IAAa,CAChG1lB,WAAWiqB,EAAAA,GAAAA,GAA0B,MAArBqmoB,QAA4B,EAASA,GAAkBtwpB,UAAsB,MAAX2pB,OAAkB,EAASA,EAAQ6ioB,WACrH,GAEJmB,kBAAmB,kBAAMI,GAAU,EAAM,EACzCH,mBAAoB,kBAAMG,GAAU,EAAK,EACzCnppB,IAAKA,GACJkV,EAAOq2oB,GAAa,CACrBxupB,SAAUA,IAEd,IA2KA,MCnTO,SAAS6upB,GAAuBzsoB,GACrC,OAAOmD,EAAAA,GAAAA,GAAqB,aAAcnD,EAC5C,EACuBoD,EAAAA,GAAAA,GAAuB,aAAc,CAAC,OAAQ,UAArE,ICHM5P,GAAY,CAAC,cACjB27K,GAAa,CAAC,SAAU,WAAY,eAAgB,iBAAkB,kBAAmB,WAAY,YAAa,YAAa,YAAa,kBAAmB,OAAQ,aAAc,kBAAmB,sBAAuB,qBAAsB,mBAiBhP,SAASu9d,GAAa50hB,EAAMwnC,GACjC,IAAIl2J,EAAS,EAQb,MAPwB,kBAAbk2J,EACTl2J,EAASk2J,EACa,WAAbA,EACTl2J,EAAS0uH,EAAKl8G,OAAS,EACD,WAAb0jJ,IACTl2J,EAAS0uH,EAAKl8G,QAETxS,CACT,CACO,SAASujpB,GAAc70hB,EAAM+mC,GAClC,IAAIz1J,EAAS,EAQb,MAP0B,kBAAfy1J,EACTz1J,EAASy1J,EACe,WAAfA,EACTz1J,EAAS0uH,EAAKtzG,MAAQ,EACE,UAAfq6I,IACTz1J,EAAS0uH,EAAKtzG,OAETpb,CACT,CACA,SAASwjpB,GAAwBC,GAC/B,MAAO,CAACA,EAAgBhuf,WAAYguf,EAAgBvtf,UAAUr3K,KAAI,SAAA4B,GAAC,MAAiB,kBAANA,EAAiB,GAAH1B,OAAM0B,EAAC,MAAOA,CAAC,IAAEgP,KAAK,IACpH,CACA,SAASi0pB,GAAgBC,GACvB,MAA2B,oBAAbA,EAA0BA,IAAaA,CACvD,CACA,IAUMC,IAAc3toB,EAAAA,GAAAA,IAAOupoB,GAAO,CAChCz4pB,KAAM,aACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAOqD,IAAI,GAH/BoY,CAIjB,CAAC,GACE4toB,IAAe5toB,EAAAA,GAAAA,IAAO6toB,GAAO,CACjC/8pB,KAAM,aACN6vB,KAAM,QACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAOmQ,KAAK,GAH/BsL,CAIlB,CACDrrB,SAAU,WACVw+c,UAAW,OACXD,UAAW,SAGXl9a,SAAU,GACVriB,UAAW,GACXgiB,SAAU,oBACVM,UAAW,oBAEX2qf,QAAS,IAELktI,GAAuB1gpB,EAAAA,YAAiB,SAAiBsY,EAASlkB,GACtE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,eAGJ8jB,EAwBEvZ,EAxBFuZ,OACA84oB,EAuBErypB,EAvBFqypB,SAAQK,EAuBN1ypB,EAtBF2ypB,aAAAA,OAAY,IAAAD,EAAG,CACb9tf,SAAU,MACVT,WAAY,QACbuuf,EACDE,EAkBE5ypB,EAlBF4ypB,eAAcC,EAkBZ7ypB,EAjBF8ypB,gBAAAA,OAAe,IAAAD,EAAG,WAAUA,EAC5B3vpB,EAgBElD,EAhBFkD,SACA3B,EAeEvB,EAfFuB,UACW8hc,EAcTrjc,EAdF6H,UAAS07oB,EAcPvjpB,EAbF8ipB,UAAAA,OAAS,IAAAS,EAAG,EAACA,EAAAwP,EAaX/ypB,EAZFgzpB,gBAAAA,OAAe,IAAAD,EAAG,GAAEA,EACpBxunB,EAWEvkC,EAXFukC,KAAI0unB,EAWFjzpB,EAVFkzpB,WAAAA,OAAU,IAAAD,EAAG,CAAC,EAACA,EAAAE,EAUbnzpB,EATFmypB,gBAAAA,OAAe,IAAAgB,EAAG,CAChBvuf,SAAU,MACVT,WAAY,QACbgvf,EAAAnM,EAMChnpB,EALFinpB,oBAAAA,OAAmB,IAAAD,EAAGJ,GAAII,EAAAoM,EAKxBpzpB,EAJF+qF,mBAAoBsokB,OAAsB,IAAAD,EAAG,OAAMA,EAAAE,EAIjDtzpB,EAHFuzpB,gBACE/N,QADa,IAAA8N,EAEX,CAAC,EAACA,GADJ9N,WAGJ+N,GAAkBj4oB,EAAAA,EAAAA,GAA8Btb,EAAMuzpB,gBAAiBz6oB,IACvEuC,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAOy0L,IACzC++d,EAAWzhpB,EAAAA,SACX0hpB,GAAiBxloB,EAAAA,GAAAA,GAAWuloB,EAAUN,EAAW/spB,KACjD8gB,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrC2ypB,aAAAA,EACAG,gBAAAA,EACAhQ,UAAAA,EACAkQ,gBAAAA,EACAE,WAAAA,EACAf,gBAAAA,EACAlL,oBAAAA,EACAl8jB,mBAAoBsokB,EACpBE,gBAAAA,IAEIrooB,EA9EkB,SAAAjE,GACxB,IACEiE,EACEjE,EADFiE,QAMF,OAAOE,EAAAA,GAAAA,GAJO,CACZ7e,KAAM,CAAC,QACP8M,MAAO,CAAC,UAEmB04oB,GAAwB7moB,EACvD,CAqEkBG,CAAkBpE,GAI5BysoB,EAAkB3hpB,EAAAA,aAAkB,WACxC,GAAwB,mBAApB+gpB,EAMF,OAAOF,EAET,IAAMe,EAAmBvB,GAAgBC,GAInCuB,GADgBD,GAAkD,IAA9BA,EAAiBvupB,SAAiBuupB,GAAmB9loB,EAAAA,GAAAA,GAAc2loB,EAASlmoB,SAASt7B,MAC9F4oH,wBAOjC,MAAO,CACLx8E,IAAKw1nB,EAAWx1nB,IAAM4znB,GAAa4B,EAAYjB,EAAa/tf,UAC5DrmI,KAAMq1nB,EAAWr1nB,KAAO0znB,GAAc2B,EAAYjB,EAAaxuf,YAEnE,GAAG,CAACkuf,EAAUM,EAAaxuf,WAAYwuf,EAAa/tf,SAAUguf,EAAgBE,IAGxEe,EAAqB9hpB,EAAAA,aAAkB,SAAA+hpB,GAC3C,MAAO,CACLlvf,SAAUotf,GAAa8B,EAAU3B,EAAgBvtf,UACjDT,WAAY8tf,GAAc6B,EAAU3B,EAAgBhuf,YAExD,GAAG,CAACguf,EAAgBhuf,WAAYguf,EAAgBvtf,WAC1Cmvf,EAAsBhipB,EAAAA,aAAkB,SAAA7D,GAC5C,IAAM4lpB,EAAW,CACfhqoB,MAAO5b,EAAQwlF,YACfxyE,OAAQhT,EAAQ4pF,cAIZk8jB,EAAsBH,EAAmBC,GAC/C,GAAwB,SAApBhB,EACF,MAAO,CACL10nB,IAAK,KACLG,KAAM,KACN4znB,gBAAiBD,GAAwB8B,IAK7C,IAAMh1C,EAAe00C,IAGjBt1nB,EAAM4glB,EAAa5glB,IAAM41nB,EAAoBpvf,SAC7CrmI,EAAOyglB,EAAazglB,KAAOy1nB,EAAoB7vf,WAC7C7lI,EAASF,EAAM01nB,EAAS5yoB,OACxBmd,EAAQE,EAAOu1nB,EAAShqoB,MAGxBo/nB,GAAkBp7nB,EAAAA,GAAAA,GAAYskoB,GAAgBC,IAG9C4B,EAAkB/K,EAAgBj0jB,YAAc+9jB,EAChDkB,EAAiBhL,EAAgBp0jB,WAAak+jB,EAGpD,GAAI50nB,EAAM40nB,EAAiB,CACzB,IAAMnniB,EAAOztF,EAAM40nB,EACnB50nB,GAAOytF,EACPmoiB,EAAoBpvf,UAAY/4C,CAClC,MAAO,GAAIvtF,EAAS21nB,EAAiB,CACnC,IAAMpoiB,EAAOvtF,EAAS21nB,EACtB71nB,GAAOytF,EACPmoiB,EAAoBpvf,UAAY/4C,CAClC,CAQA,GAAIttF,EAAOy0nB,EAAiB,CAC1B,IAAMnniB,EAAOttF,EAAOy0nB,EACpBz0nB,GAAQstF,EACRmoiB,EAAoB7vf,YAAct4C,CACpC,MAAO,GAAIxtF,EAAQ61nB,EAAgB,CACjC,IAAMroiB,EAAOxtF,EAAQ61nB,EACrB31nB,GAAQstF,EACRmoiB,EAAoB7vf,YAAct4C,CACpC,CACA,MAAO,CACLztF,IAAK,GAAF3wC,OAAKuM,KAAKglB,MAAMof,GAAI,MACvBG,KAAM,GAAF9wC,OAAKuM,KAAKglB,MAAMuf,GAAK,MACzB4znB,gBAAiBD,GAAwB8B,GAE7C,GAAG,CAAC3B,EAAUS,EAAiBY,EAAiBG,EAAoBb,IACpErmoB,EAAwC5a,EAAAA,SAAewyB,GAAK3X,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAArDwnoB,EAAYvnoB,EAAA,GAAEwnoB,EAAexnoB,EAAA,GAC9BynoB,EAAuBtipB,EAAAA,aAAkB,WAC7C,IAAM7D,EAAUslpB,EAASlmoB,QACzB,GAAKpf,EAAL,CAGA,IAAMompB,EAAcP,EAAoB7lpB,GAChB,OAApBompB,EAAYl2nB,MACdlwB,EAAQvF,MAAMy1B,IAAMk2nB,EAAYl2nB,KAET,OAArBk2nB,EAAY/1nB,OACdrwB,EAAQvF,MAAM41B,KAAO+1nB,EAAY/1nB,MAEnCrwB,EAAQvF,MAAMwppB,gBAAkBmC,EAAYnC,gBAC5CiC,GAAgB,EAThB,CAUF,GAAG,CAACL,IAUJhipB,EAAAA,WAAgB,WACVwyB,GACF8vnB,GAEJ,IACAtipB,EAAAA,oBAA0BwH,GAAQ,kBAAMgrB,EAAO,CAC7Cu+Z,eAAgB,WACduxN,GACF,GACE,IAAI,GAAE,CAAC9vnB,EAAM8vnB,IACjBtipB,EAAAA,WAAgB,WACd,GAAKwyB,EAAL,CAGA,IAAM+1F,GAAei6hB,EAAAA,GAAAA,IAAS,WAC5BF,GACF,IACMnL,GAAkBp7nB,EAAAA,GAAAA,GAAYukoB,GAEpC,OADAnJ,EAAgBn5nB,iBAAiB,SAAUuqG,GACpC,WACLA,EAAapuG,QACbg9nB,EAAgB9lnB,oBAAoB,SAAUk3F,EAChD,CATA,CAUF,GAAG,CAAC+3hB,EAAU9tnB,EAAM8vnB,IACpB,IAAItpkB,EAAqBsokB,EACM,SAA3BA,GAAsCpM,EAAoBc,iBAC5Dh9jB,OAAqB99F,GAMvB,IAAM4a,EAAYw7b,IAAkBgvN,GAAWxkoB,EAAAA,GAAAA,GAAcukoB,GAAgBC,IAAWrgqB,UAAO/E,GAC/F,OAAoB0+B,EAAAA,GAAAA,KAAK2moB,IAAal6oB,EAAAA,EAAAA,GAAS,CAC7Cq5oB,cAAe,CACbf,WAAW,GAEbnvpB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,GAC9BsG,UAAWA,EACX08B,KAAMA,EACNp+B,IAAKA,EACL8gB,WAAYA,GACX5L,EAAO,CACRnY,UAAuByoB,EAAAA,GAAAA,KAAKs7nB,GAAqB7uoB,EAAAA,EAAAA,GAAS,CACxD4roB,QAAQ,EACRG,GAAI5/mB,EACJihnB,WAvDmB,SAACt3oB,EAASs5oB,GAC3BhC,GACFA,EAAWt3oB,EAASs5oB,GAEtB6M,GACF,EAmDIzO,SAlDiB,WACnBwO,GAAgB,EAClB,EAiDItooB,QAASi/D,GACRwokB,EAAiB,CAClBrwpB,UAAuByoB,EAAAA,GAAAA,KAAK4moB,IAAcn6oB,EAAAA,EAAAA,GAAS,CACjD0qoB,UAAWA,GACVoQ,EAAY,CACb/spB,IAAKstpB,EACLlypB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ7R,MAAO65oB,EAAW3xpB,YACzC4ypB,OAAelnqB,EAAY,CAC5B0b,OAAOyP,EAAAA,EAAAA,GAAS,CAAC,EAAG86oB,EAAWvqpB,MAAO,CACpC0L,QAAS,KAEV,CACD4S,WAAYA,EACZ/jB,SAAUA,UAIlB,IAoJA,MC/cO,SAASsxpB,GAAoBlvoB,GAClC,OAAOmD,EAAAA,GAAAA,GAAqB,UAAWnD,EACzC,EACoBoD,EAAAA,GAAAA,GAAuB,UAAW,CAAC,OAAQ,QAAS,SAAxE,ICHM5P,GAAY,CAAC,cACjB27K,GAAa,CAAC,YAAa,WAAY,uBAAwB,gBAAiB,UAAW,OAAQ,aAAc,iBAAkB,qBAAsB,kBAAmB,WAexKgge,GAAa,CACjB7vf,SAAU,MACVT,WAAY,SAERuwf,GAAa,CACjB9vf,SAAU,MACVT,WAAY,QAaRwwf,IAAWhwoB,EAAAA,GAAAA,IAAO8toB,GAAS,CAC/BpuoB,kBAAmB,SAAAC,GAAI,OAAII,EAAAA,GAAAA,IAAsBJ,IAAkB,YAATA,CAAkB,EAC5E7uB,KAAM,UACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAOqD,IAAI,GAJlCoY,CAKd,CAAC,GACEiwoB,IAAYjwoB,EAAAA,GAAAA,IAAO6toB,GAAO,CAC9B/8pB,KAAM,UACN6vB,KAAM,QACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAOmQ,KAAK,GAHlCsL,CAIf,CAIDiW,UAAW,oBAEXi6nB,wBAAyB,UAErBC,IAAenwoB,EAAAA,GAAAA,IAAO+8nB,GAAU,CACpCjspB,KAAM,UACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAO6zC,IAAI,GAH9Bp4B,CAIlB,CAED4ggB,QAAS,IAELtvN,GAAoBlkT,EAAAA,YAAiB,SAAcsY,EAASlkB,GAChE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,YAERkspB,EAcM3hpB,EAbFwznB,UAAAA,OAAS,IAAAmuB,GAAOA,EAChBz+oB,EAYElD,EAZFkD,SAAQwnpB,EAYN1qpB,EAXF+0pB,qBAAAA,OAAoB,IAAArK,GAAQA,EAAAsK,EAW1Bh1pB,EAVFi1pB,cAAAA,OAAa,IAAAD,EAAG,CAAC,EAACA,EAClB/F,EASEjvpB,EATFivpB,QACA1qnB,EAQEvkC,EARFukC,KAAI0unB,EAQFjzpB,EAPFkzpB,WAAAA,OAAU,IAAAD,EAAG,CAAC,EAACA,EACfiC,EAMEl1pB,EANFk1pB,eAAc9B,EAMZpzpB,EALF+qF,mBAAAA,OAAkB,IAAAqokB,EAAG,OAAMA,EAAAE,EAKzBtzpB,EAJFuzpB,gBACE/N,QADa,IAAA8N,EAEX,CAAC,EAACA,GADJ9N,WAAU9F,EAGV1/oB,EADFikB,QAAAA,OAAO,IAAAy7nB,EAAG,eAAcA,EAE1B6T,GAAkBj4oB,EAAAA,EAAAA,GAA8Btb,EAAMuzpB,gBAAiBz6oB,IACvEuC,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAOy0L,IACzC5wK,EAAQqE,KACRssX,EAA4B,QAApB3wX,EAAMvJ,UACd2M,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCwznB,UAAAA,EACAuhC,qBAAAA,EACAE,cAAAA,EACAzP,WAAAA,EACA0N,WAAAA,EACAnokB,mBAAAA,EACAwokB,gBAAAA,EACAtvoB,QAAAA,IAEIiH,EAvEkB,SAAAjE,GACxB,IACEiE,EACEjE,EADFiE,QAOF,OAAOE,EAAAA,GAAAA,GALO,CACZ7e,KAAM,CAAC,QACP8M,MAAO,CAAC,SACR0jC,KAAM,CAAC,SAEoBy3mB,GAAqBtpoB,EACpD,CA6DkBG,CAAkBpE,GAC5B46nB,EAAgBruB,IAAcuhC,GAAwBxwnB,EACtD4wnB,EAAqBpjpB,EAAAA,OAAa,MAuBpCywoB,GAAmB,EAqBvB,OAjBAzwoB,EAAAA,SAAAA,IAAmB7O,GAAU,SAACsC,EAAOiG,GAChBsG,EAAAA,eAAqBvM,KAQnCA,EAAMxF,MAAMkZ,WACC,iBAAZ+K,GAA8Bze,EAAMxF,MAAM2Z,WAEd,IAArB6ooB,KADTA,EAAkB/2oB,GAKxB,KACoBkgB,EAAAA,GAAAA,KAAKgpoB,IAAUv8oB,EAAAA,EAAAA,GAAS,CAC1C62oB,QAASA,EACT0D,aAAc,CACZ/tf,SAAU,SACVT,WAAYqwO,EAAQ,QAAU,QAEhC29Q,gBAAiB39Q,EAAQigR,GAAaC,GACtCxB,YAAY96oB,EAAAA,EAAAA,GAAS,CACnBmT,GAAIqpoB,IACH1B,EAAY,CACbhooB,SAAS9S,EAAAA,EAAAA,GAAS,CAAC,EAAG86oB,EAAWhooB,QAAS,CACxC3e,KAAM2e,EAAQ7R,UAGlB9X,UAAW2pB,EAAQ3e,KACnBg4B,KAAMA,EACNp+B,IAAKA,EACL4kF,mBAAoBA,EACpBwokB,iBAAiBn7oB,EAAAA,EAAAA,GAAS,CACxBotoB,WA9DmB,SAACt3oB,EAASs5oB,GAC3B2N,EAAmB7noB,SACrB6noB,EAAmB7noB,QAAQ80nB,wBAAwBl0oB,EAAS2V,GAE1D2hoB,GACFA,EAAWt3oB,EAASs5oB,EAExB,GAwDK+L,GACHtsoB,WAAYA,GACX5L,EAAO,CACR6P,QAASgqoB,EACThypB,UAAuByoB,EAAAA,GAAAA,KAAKmpoB,IAAc18oB,EAAAA,EAAAA,GAAS,CACjDy3D,UA5DsB,SAAA5gD,GACN,QAAdA,EAAMj/B,MACRi/B,EAAMolE,iBACF46jB,GACFA,EAAQhgoB,EAAO,cAGrB,EAsDIg3a,QAASkvN,EACT3hC,UAAWA,KAAmC,IAArBgvB,GAA0BuS,GACnDlT,cAAeA,EACf59nB,QAASA,GACRgxoB,EAAe,CAChB1zpB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ6xB,KAAMk4mB,EAAc1zpB,WAC5C2B,SAAUA,OAGhB,IAoFA,8BCtQe,SAASkypB,GAAuBl+oB,EAAStiB,GAItD,OAHKA,IACHA,EAAMsiB,EAAQrL,MAAM,IAEf3d,OAAOioM,OAAOjoM,OAAOi6gB,iBAAiBjxf,EAAS,CACpDtiB,IAAK,CACHpD,MAAOtD,OAAOioM,OAAOvhM,MAG3B,iBCDO,SAASygqB,GAAgBnypB,EAAUy/G,GACxC,IAII/wH,EAAS1D,OAAOW,OAAO,MAO3B,OANIqU,GAAUw1D,EAAAA,SAAAA,IAAax1D,GAAU,SAAUhT,GAC7C,OAAOA,CACT,IAAG0O,SAAQ,SAAU4G,GAEnB5T,EAAO4T,EAAMxV,KATF,SAAgBwV,GAC3B,OAAOm9G,IAASkghB,EAAAA,EAAAA,gBAAer9nB,GAASm9G,EAAMn9G,GAASA,CACzD,CAOsBgkI,CAAOhkI,EAC7B,IACO5T,CACT,CAiEA,SAAS0jqB,GAAQ9vpB,EAAO8e,EAAMtkB,GAC5B,OAAsB,MAAfA,EAAMskB,GAAgBtkB,EAAMskB,GAAQ9e,EAAMxF,MAAMskB,EACzD,CAaO,SAASixoB,GAAoBz1pB,EAAW01pB,EAAkB5P,GAC/D,IAAI6P,EAAmBJ,GAAgBv1pB,EAAUoD,UAC7CA,EA/DC,SAA4ByJ,EAAMjb,GAIvC,SAASgkqB,EAAe1lqB,GACtB,OAAOA,KAAO0B,EAAOA,EAAK1B,GAAO2c,EAAK3c,EACxC,CALA2c,EAAOA,GAAQ,CAAC,EAChBjb,EAAOA,GAAQ,CAAC,EAQhB,IAcIxC,EAdAymqB,EAAkBznqB,OAAOW,OAAO,MAChC+mqB,EAAc,GAElB,IAAK,IAAIC,KAAWlppB,EACdkppB,KAAWnkqB,EACTkkqB,EAAYvmqB,SACdsmqB,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAY5iqB,KAAK6iqB,GAKrB,IAAIC,EAAe,CAAC,EAEpB,IAAK,IAAIC,KAAWrkqB,EAAM,CACxB,GAAIikqB,EAAgBI,GAClB,IAAK7mqB,EAAI,EAAGA,EAAIymqB,EAAgBI,GAAS1mqB,OAAQH,IAAK,CACpD,IAAI8mqB,EAAiBL,EAAgBI,GAAS7mqB,GAC9C4mqB,EAAaH,EAAgBI,GAAS7mqB,IAAMwmqB,EAAeM,EAC7D,CAGFF,EAAaC,GAAWL,EAAeK,EACzC,CAGA,IAAK7mqB,EAAI,EAAGA,EAAI0mqB,EAAYvmqB,OAAQH,IAClC4mqB,EAAaF,EAAY1mqB,IAAMwmqB,EAAeE,EAAY1mqB,IAG5D,OAAO4mqB,CACT,CAmBiBG,CAAmBT,EAAkBC,GAmCpD,OAlCAvnqB,OAAOgR,KAAKgE,GAAUtE,SAAQ,SAAU5O,GACtC,IAAIwV,EAAQtC,EAASlT,GACrB,IAAK6yoB,EAAAA,EAAAA,gBAAer9nB,GAApB,CACA,IAAI0wpB,EAAWlmqB,KAAOwlqB,EAClB/rhB,EAAWz5I,KAAOylqB,EAClBU,EAAYX,EAAiBxlqB,GAC7BomqB,GAAYvzB,EAAAA,EAAAA,gBAAeszB,KAAeA,EAAUn2pB,MAAMmkpB,IAE1D16gB,GAAayshB,IAAWE,EAQhB3shB,IAAWyshB,GAAYE,EAMxB3shB,GAAWyshB,IAAWrzB,EAAAA,EAAAA,gBAAeszB,KAI9CjzpB,EAASlT,IAAO6oE,EAAAA,EAAAA,cAAarzD,EAAO,CAClCogpB,SAAUA,EAAS1znB,KAAK,KAAM1sB,GAC9B2+oB,GAAIgS,EAAUn2pB,MAAMmkpB,GACpBz4G,KAAM4pH,GAAQ9vpB,EAAO,OAAQ1F,GAC7B0iK,MAAO8yf,GAAQ9vpB,EAAO,QAAS1F,MAXjCoD,EAASlT,IAAO6oE,EAAAA,EAAAA,cAAarzD,EAAO,CAClC2+oB,IAAI,IAVNjhpB,EAASlT,IAAO6oE,EAAAA,EAAAA,cAAarzD,EAAO,CAClCogpB,SAAUA,EAAS1znB,KAAK,KAAM1sB,GAC9B2+oB,IAAI,EACJz4G,KAAM4pH,GAAQ9vpB,EAAO,OAAQ1F,GAC7B0iK,MAAO8yf,GAAQ9vpB,EAAO,QAAS1F,IAZD,CA+BpC,IACOoD,CACT,CClIA,IAAIovB,GAASpkC,OAAOokC,QAAU,SAAUjc,GACtC,OAAOnoB,OAAOgR,KAAKmX,GAAK9oB,KAAI,SAAU6F,GACpC,OAAOijB,EAAIjjB,EACb,GACF,EAuBIijqB,GAA+B,SAAUtc,GAG3C,SAASsc,EAAgBr2pB,EAAOJ,GAC9B,IAAIhI,EAIAkwpB,GAFJlwpB,EAAQmipB,EAAiBzqpB,KAAKZ,KAAMsR,EAAOJ,IAAYlR,MAE9Bo5pB,aAAa51nB,MAAK66J,EAAAA,GAAAA,GAAuBn1L,IAUlE,OAPAA,EAAMkB,MAAQ,CACZw9pB,aAAc,CACZrS,YAAY,GAEd6D,aAAcA,EACdyO,aAAa,GAER3+pB,CACT,CAlBAm8oB,EAAesiB,EAAiBtc,GAoBhC,IAAIzvoB,EAAS+rpB,EAAgBznqB,UAqE7B,OAnEA0b,EAAOyrD,kBAAoB,WACzBrnE,KAAKy1E,SAAU,EACfz1E,KAAKs0E,SAAS,CACZszlB,aAAc,CACZrS,YAAY,IAGlB,EAEA35oB,EAAOisD,qBAAuB,WAC5B7nE,KAAKy1E,SAAU,CACjB,EAEAkylB,EAAgB9/E,yBAA2B,SAAkCz2kB,EAAWwJ,GACtF,IDiBmCtJ,EAAO4lpB,ECjBtC4P,EAAmBlspB,EAAKpG,SACxB4kpB,EAAex+oB,EAAKw+oB,aAExB,MAAO,CACL5kpB,SAFgBoG,EAAKitpB,aDeYv2pB,ECbcF,EDaP8lpB,ECbkBkC,EDcvDuN,GAAgBr1pB,EAAMkD,UAAU,SAAUsC,GAC/C,OAAOqzD,EAAAA,EAAAA,cAAarzD,EAAO,CACzBogpB,SAAUA,EAAS1znB,KAAK,KAAM1sB,GAC9B2+oB,IAAI,EACJH,OAAQsR,GAAQ9vpB,EAAO,SAAUxF,GACjCwiK,MAAO8yf,GAAQ9vpB,EAAO,QAASxF,GAC/B0riB,KAAM4pH,GAAQ9vpB,EAAO,OAAQxF,IAEjC,KCtB8Eu1pB,GAAoBz1pB,EAAW01pB,EAAkB1N,GAC3HyO,aAAa,EAEjB,EAGAjspB,EAAOw9oB,aAAe,SAAsBtipB,EAAO8G,GACjD,IAAIkqpB,EAAsBnB,GAAgB3mqB,KAAKsR,MAAMkD,UACjDsC,EAAMxV,OAAOwmqB,IAEbhxpB,EAAMxF,MAAM4lpB,UACdpgpB,EAAMxF,MAAM4lpB,SAASt5oB,GAGnB5d,KAAKy1E,SACPz1E,KAAKs0E,UAAS,SAAUlqE,GACtB,IAAIoK,GAAWkV,EAAAA,EAAAA,GAAS,CAAC,EAAGtf,EAAMoK,UAGlC,cADOA,EAASsC,EAAMxV,KACf,CACLkT,SAAUA,EAEd,IAEJ,EAEAoH,EAAO9C,OAAS,WACd,IAAIimL,EAAc/+L,KAAKsR,MACnBC,EAAYwtL,EAAYjjK,UACxBisoB,EAAehpe,EAAYgpe,aAC3Bz2pB,GAAQsb,EAAAA,EAAAA,GAA8BmyK,EAAa,CAAC,YAAa,iBAEjE6oe,EAAe5nqB,KAAKoK,MAAMw9pB,aAC1BpzpB,EAAWovB,GAAO5jC,KAAKoK,MAAMoK,UAAU3V,IAAIkpqB,GAK/C,cAJOz2pB,EAAMgkpB,cACNhkpB,EAAMwiK,aACNxiK,EAAM0riB,KAEK,OAAdzriB,EACkB8R,EAAAA,cAAoBm0oB,GAAuBljpB,SAAU,CACvExR,MAAO8kqB,GACNpzpB,GAGe6O,EAAAA,cAAoBm0oB,GAAuBljpB,SAAU,CACvExR,MAAO8kqB,GACOvkpB,EAAAA,cAAoB9R,EAAWD,EAAOkD,GACxD,EAEOmzpB,CACT,CA3FmC,CA2FjCtkpB,EAAAA,WAEFskpB,GAAgBz9nB,UAyDZ,CAAC,EACLy9nB,GAAgBjuoB,aA5KG,CACjBoC,UAAW,MACXisoB,aAAc,SAAsBjxpB,GAClC,OAAOA,CACT,GAyKF,yCCuFA,SAAS+5B,KACP,IAAK,IAAIjc,EAAOl0B,UAAUC,OAAQ2nB,EAAO,IAAI3oB,MAAMi1B,GAAO9M,EAAO,EAAGA,EAAO8M,EAAM9M,IAC/EQ,EAAKR,GAAQpnB,UAAUonB,GAGzB,OAAOO,EAAAA,GAAAA,GAAgBC,EACzB,CAEA,IAAI0/oB,GAAY,WACd,IAAIC,EAAap3nB,GAAIhwC,WAAM,EAAQH,WAC/BqG,EAAO,aAAekhqB,EAAWlhqB,KAErC,MAAO,CACLA,KAAMA,EACNyT,OAAQ,cAAgBzT,EAAO,IAAMkhqB,EAAWztpB,OAAS,IACzDkN,KAAM,EACNlY,SAAU,WACR,MAAO,QAAUxP,KAAK+G,KAAO,IAAM/G,KAAKwa,OAAS,OACnD,EAEJ,ECjNA,OA9EA,SAAgBlJ,GACd,IACEuB,EASEvB,EATFuB,UACA2pB,EAQElrB,EARFkrB,QAAO0roB,EAQL52pB,EAPF62pB,QAAAA,OAAO,IAAAD,GAAQA,EACfE,EAME92pB,EANF82pB,QACAC,EAKE/2pB,EALF+2pB,QACAC,EAIEh3pB,EAJFg3pB,WACIlQ,EAGF9mpB,EAHFmkpB,GACAyB,EAEE5lpB,EAFF4lpB,SACA95nB,EACE9rB,EADF8rB,QAEFa,EAA8B5a,EAAAA,UAAe,GAAM6a,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAA5CsqoB,EAAOrqoB,EAAA,GAAEsqoB,EAAUtqoB,EAAA,GACpBuqoB,GAAkB3roB,EAAAA,GAAAA,GAAKjqB,EAAW2pB,EAAQksoB,OAAQlsoB,EAAQmsoB,cAAeR,GAAW3roB,EAAQosoB,eAC5FC,EAAe,CACnBztoB,MAAOktoB,EACP91oB,OAAQ81oB,EACR54nB,KAAO44nB,EAAa,EAAKD,EACzBx4nB,MAAQy4nB,EAAa,EAAKF,GAEtBU,GAAiBhsoB,EAAAA,GAAAA,GAAKN,EAAQ1lB,MAAOyxpB,GAAW/roB,EAAQusoB,aAAcZ,GAAW3roB,EAAQwsoB,cAc/F,OAbK5Q,GAAWmQ,GACdC,GAAW,GAEbnlpB,EAAAA,WAAgB,WACd,IAAK+0oB,GAAsB,MAAZlB,EAAkB,CAE/B,IAAMnqgB,EAAYvzI,WAAW09oB,EAAU95nB,GACvC,OAAO,WACLG,aAAawvH,EACf,CACF,CAEF,GAAG,CAACmqgB,EAAUkB,EAAQh7nB,KACFH,EAAAA,GAAAA,KAAK,OAAQ,CAC/BpqB,UAAW41pB,EACXxupB,MAAO4upB,EACPr0pB,UAAuByoB,EAAAA,GAAAA,KAAK,OAAQ,CAClCpqB,UAAWi2pB,KAGjB,EC5CA,gBCDE/5H,GACAk6H,GACAC,GACAC,GDDF,IAD2BnvoB,EAAAA,GAAAA,GAAuB,iBAAkB,CAAC,OAAQ,SAAU,gBAAiB,gBAAiB,QAAS,eAAgB,iBCH5I5P,GAAY,CAAC,SAAU,UAAW,aAkBlCg/oB,GAAgBpB,GAAUj5H,KAAOA,GAAMs6H,KAAAA,GAAA3C,GAAA,mIAWvC4C,GAAetB,GAAUiB,KAAQA,GAAOM,KAAAA,GAAA7C,GAAA,2EASxC8C,GAAkBxB,GAAUkB,KAAQA,GAAOO,KAAAA,GAAA/C,GAAA,0IAapCgD,IAAkBzzoB,EAAAA,GAAAA,IAAO,OAAQ,CAC5ClvB,KAAM,iBACN6vB,KAAM,QAFuBX,CAG5B,CACDqY,SAAU,SACVygG,cAAe,OACfnkI,SAAU,WACVob,OAAQ,EACR0pB,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,EACNhJ,aAAc,YAKH8ioB,IAAoB1zoB,EAAAA,GAAAA,IAAO2zoB,GAAQ,CAC9C7iqB,KAAM,iBACN6vB,KAAM,UAFyBX,CAG9BkzoB,KAAQA,GAAOU,KAAAA,GAAAnD,GAAA,kyBA2CdoD,GAAAA,cAAkCV,GAlGrB,KAkG8C,SAAAxupB,GACxD,OAAAA,EAALua,MACUhB,YAAY3C,OAAOC,SAAS,GAAEq4oB,GAAAA,eAAkC,SAAAjvpB,GACrE,OAAAA,EAALsa,MACUhB,YAAYtC,SAASE,OAAO,GAAE+3oB,GAAAA,MAA0BA,GAAAA,aAAiCR,GAtGpF,KAsG4G,SAAArxoB,GACtH,OAAAA,EAAL9C,MACUhB,YAAY3C,OAAOC,SAAS,GAAEq4oB,GAAAA,aAAiCN,IAAiB,SAAAl5nB,GACrF,OAAAA,EAALnb,MACUhB,YAAY3C,OAAOC,SAAS,IAOlCs4oB,GAA2B1mpB,EAAAA,YAAiB,SAAqBsY,EAASlkB,GAC9E,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,mBAERijqB,EAIM14pB,EAHFw+L,OAAQm6d,OAAU,IAAAD,GAAQA,EAAAE,EAGxB54pB,EAFFkrB,QAAAA,OAAO,IAAA0toB,EAAG,CAAC,EAACA,EACZr3pB,EACEvB,EADFuB,UAEF8Z,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IAC/C6T,EAA8B5a,EAAAA,SAAe,IAAG6a,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAAzCksoB,EAAOjsoB,EAAA,GAAEksoB,EAAUlsoB,EAAA,GACpBmpoB,EAAUhkpB,EAAAA,OAAa,GACvBgnpB,EAAiBhnpB,EAAAA,OAAa,MACpCA,EAAAA,WAAgB,WACVgnpB,EAAezroB,UACjByroB,EAAezroB,UACfyroB,EAAezroB,QAAU,KAE7B,GAAG,CAACuroB,IAGJ,IAAMG,EAAoBjnpB,EAAAA,QAAa,GAGjCknpB,EAAalnpB,EAAAA,OAAa,MAG1BmnpB,EAAmBnnpB,EAAAA,OAAa,MAChClK,EAAYkK,EAAAA,OAAa,MAC/BA,EAAAA,WAAgB,WACd,OAAO,WACLka,aAAagtoB,EAAW3roB,QAC1B,CACF,GAAG,IACH,IAAM6roB,EAAcpnpB,EAAAA,aAAkB,SAAAoW,GACpC,IACE0uoB,EAKE1uoB,EALF0uoB,QACAC,EAIE3uoB,EAJF2uoB,QACAC,EAGE5uoB,EAHF4uoB,QACAC,EAEE7uoB,EAFF6uoB,WACAt5D,EACEv1kB,EADFu1kB,GAEFo7D,GAAW,SAAAM,GAAU,SAAA3rqB,QAAAm6B,EAAAA,GAAAA,GAAQwxoB,GAAU,EAAeztoB,EAAAA,GAAAA,KAAK0soB,GAAmB,CAC5EntoB,QAAS,CACPksoB,QAAQ5roB,EAAAA,GAAAA,GAAKN,EAAQksoB,OAAQoB,GAAAA,QAC7BnB,eAAe7roB,EAAAA,GAAAA,GAAKN,EAAQmsoB,cAAemB,GAAAA,eAC3ClB,eAAe9roB,EAAAA,GAAAA,GAAKN,EAAQosoB,cAAekB,GAAAA,eAC3ChzpB,OAAOgmB,EAAAA,GAAAA,GAAKN,EAAQ1lB,MAAOgzpB,GAAAA,OAC3Bf,cAAcjsoB,EAAAA,GAAAA,GAAKN,EAAQusoB,aAAce,GAAAA,cACzCd,cAAclsoB,EAAAA,GAAAA,GAAKN,EAAQwsoB,aAAcc,GAAAA,eAE3C1soB,QArKW,IAsKX+qoB,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,WAAYA,GACXjB,EAAQzooB,UAAQ,IACnByooB,EAAQzooB,SAAW,EACnByroB,EAAezroB,QAAUowkB,CAC3B,GAAG,CAACxykB,IACEmL,EAAQtkB,EAAAA,aAAkB,WAA6C,IAA5Ckd,EAAK7/B,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGsa,EAAOta,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGsumB,EAAEtumB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,WAAO,EACrEiqqB,EAII3vpB,EAHFmtpB,QAAAA,OAAO,IAAAwC,GAAQA,EAAAC,EAGb5vpB,EAFF80L,OAAAA,OAAM,IAAA86d,EAAGX,GAAcjvpB,EAAQmtpB,QAAOyC,EAAAC,EAEpC7vpB,EADF8vpB,YAAAA,OAAW,IAAAD,GAAQA,EAErB,GAA8C,eAAhC,MAATtqoB,OAAgB,EAASA,EAAM/oB,OAAyB8ypB,EAAkB1roB,QAC7E0roB,EAAkB1roB,SAAU,MAD9B,CAI8C,gBAAhC,MAAT2B,OAAgB,EAASA,EAAM/oB,QAClC8ypB,EAAkB1roB,SAAU,GAE9B,IASIwpoB,EACAC,EACAC,EAXE9opB,EAAUsrpB,EAAc,KAAO3xpB,EAAUylB,QACzC8vG,EAAOlvH,EAAUA,EAAQ0sG,wBAA0B,CACvD9wF,MAAO,EACP5I,OAAQ,EACRqd,KAAM,EACNH,IAAK,GAOP,GAAIogK,QAAoBvxM,IAAVgiC,GAAyC,IAAlBA,EAAMqqlB,SAAmC,IAAlBrqlB,EAAMsqlB,UAAkBtqlB,EAAMqqlB,UAAYrqlB,EAAM4iI,QAC1GilgB,EAAU98pB,KAAKglB,MAAMo+G,EAAKtzG,MAAQ,GAClCitoB,EAAU/8pB,KAAKglB,MAAMo+G,EAAKl8G,OAAS,OAC9B,CACL,IAAAkiJ,EAGIn0I,EAAM4iI,SAAW5iI,EAAM4iI,QAAQxiK,OAAS,EAAI4/B,EAAM4iI,QAAQ,GAAK5iI,EAFjEqqlB,EAAOl2c,EAAPk2c,QACAC,EAAOn2c,EAAPm2c,QAEFu9C,EAAU98pB,KAAKglB,MAAMs6lB,EAAUl8e,EAAK7+F,MACpCw4nB,EAAU/8pB,KAAKglB,MAAMu6lB,EAAUn8e,EAAKh/F,IACtC,CACA,GAAIogK,GACFw4d,EAAah9pB,KAAKk/f,MAAM,EAACl/f,KAAAmB,IAAGiiI,EAAKtzG,MAAS,GAAC9vB,KAAAmB,IAAGiiI,EAAKl8G,OAAU,IAAK,IAGjD,IAAM,IACrB81oB,GAAc,OAEX,CACL,IAAMyC,EAAqF,EAA7Ez/pB,KAAK25B,IAAI35B,KAAKkR,KAAKgD,EAAUA,EAAQylF,YAAc,GAAKmjkB,GAAUA,GAAe,EACzF4C,EAAsF,EAA9E1/pB,KAAK25B,IAAI35B,KAAKkR,KAAKgD,EAAUA,EAAQ0nF,aAAe,GAAKmhkB,GAAUA,GAAe,EAChGC,EAAah9pB,KAAKk/f,KAAKl/f,KAAAmB,IAAAs+pB,EAAS,GAACz/pB,KAAAmB,IAAGu+pB,EAAS,GAC/C,CAGa,MAATzqoB,GAAiBA,EAAM4iI,QAIQ,OAA7BqngB,EAAiB5roB,UAEnB4roB,EAAiB5roB,QAAU,WACzB6roB,EAAY,CACVtC,QAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAt5D,GAAAA,GAEJ,EAEAu7D,EAAW3roB,QAAUplB,YAAW,WAC1BgxpB,EAAiB5roB,UACnB4roB,EAAiB5roB,UACjB4roB,EAAiB5roB,QAAU,KAE/B,GApPoB,KAuPtB6roB,EAAY,CACVtC,QAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,WAAAA,EACAt5D,GAAAA,GAtEJ,CAyEF,GAAG,CAACi7D,EAAYQ,IACVtC,EAAU9kpB,EAAAA,aAAkB,WAChCskB,EAAM,CAAC,EAAG,CACRwgoB,SAAS,GAEb,GAAG,CAACxgoB,IACEs0D,EAAO54E,EAAAA,aAAkB,SAACkd,EAAOyukB,GAKrC,GAJAzxkB,aAAagtoB,EAAW3roB,SAIsB,cAAhC,MAAT2B,OAAgB,EAASA,EAAM/oB,OAAwBgzpB,EAAiB5roB,QAM3E,OALA4roB,EAAiB5roB,UACjB4roB,EAAiB5roB,QAAU,UAC3B2roB,EAAW3roB,QAAUplB,YAAW,WAC9ByiF,EAAK17D,EAAOyukB,EACd,KAGFw7D,EAAiB5roB,QAAU,KAC3BwroB,GAAW,SAAAM,GACT,OAAIA,EAAW/pqB,OAAS,EACf+pqB,EAAWvtpB,MAAM,GAEnButpB,CACT,IACAL,EAAezroB,QAAUowkB,CAC3B,GAAG,IAMH,OALA3rlB,EAAAA,oBAA0B5L,GAAK,iBAAO,CACpC0wpB,QAAAA,EACAxgoB,MAAAA,EACAs0D,KAAAA,EACD,GAAG,CAACkskB,EAASxgoB,EAAOs0D,KACDh/D,EAAAA,GAAAA,KAAKysoB,IAAiBhgpB,EAAAA,EAAAA,GAAS,CACjD7W,WAAWiqB,EAAAA,GAAAA,GAAKgtoB,GAAAA,KAAyBttoB,EAAQ3e,KAAMhL,GACvD4E,IAAK0B,GACJwT,EAAO,CACRnY,UAAuByoB,EAAAA,GAAAA,KAAK0qoB,GAAiB,CAC3C7roB,UAAW,KACXkhhB,MAAM,EACNxoiB,SAAU21pB,MAGhB,IAiBA,MC5UO,SAASc,GAA0Br0oB,GACxC,OAAOmD,EAAAA,GAAAA,GAAqB,gBAAiBnD,EAC/C,CACA,OACA,IAD0BoD,EAAAA,GAAAA,GAAuB,gBAAiB,CAAC,OAAQ,WAAY,iBCHjF5P,GAAY,CAAC,SAAU,eAAgB,WAAY,YAAa,YAAa,WAAY,gBAAiB,qBAAsB,cAAe,wBAAyB,gBAAiB,SAAU,UAAW,gBAAiB,cAAe,UAAW,iBAAkB,YAAa,UAAW,cAAe,eAAgB,YAAa,aAAc,cAAe,eAAgB,WAAY,mBAAoB,iBAAkB,QA+Bva8gpB,IAAiBj1oB,EAAAA,GAAAA,IAAO,SAAU,CAC7ClvB,KAAM,gBACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GAAM,OAAKA,EAAOqD,IAAI,GAHrBoY,EAI5Bk1oB,GAAA,CACA9voB,QAAS,cACTyT,WAAY,SACZD,eAAgB,SAChBjkC,SAAU,WACVmlC,UAAW,aACXkynB,wBAAyB,cACzB71nB,gBAAiB,cAGjByqf,QAAS,EACTjsf,OAAQ,EACRZ,OAAQ,EAERnD,aAAc,EACdoD,QAAS,EAET7iB,OAAQ,UACR+T,WAAY,OACZiwoB,cAAe,SACfC,cAAe,OAEfC,iBAAkB,OAElBC,eAAgB,OAEhBx9oB,MAAO,UACP,sBAAuB,CACrBy9oB,YAAa,UACdj3pB,EAAAA,EAAAA,GAAA42pB,GAAA,KAAApsqB,OAEK0sqB,GAAAA,UAA+B,CACnC18hB,cAAe,OAEf3nH,OAAQ,aACT7S,EAAAA,EAAAA,GAAA42pB,GACD,eAAgB,CACdO,YAAa,UACdP,KAQGQ,GAA0BtopB,EAAAA,YAAiB,SAAoBsY,EAASlkB,GAC5E,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,kBAGJ8jB,EA4BEvZ,EA5BFuZ,OAAM+gpB,EA4BJt6pB,EA3BFu6pB,aAAAA,OAAY,IAAAD,GAAQA,EACpBp3pB,EA0BElD,EA1BFkD,SACA3B,EAyBEvB,EAzBFuB,UAASgpB,EAyBPvqB,EAxBFwqB,UAAAA,OAAS,IAAAD,EAAG,SAAQA,EAAAiwoB,EAwBlBx6pB,EAvBFkZ,SAAAA,OAAQ,IAAAshpB,GAAQA,EAAAC,EAuBdz6pB,EAtBF06pB,cAAAA,OAAa,IAAAD,GAAQA,EAAAE,EAsBnB36pB,EArBF46pB,mBAAAA,OAAkB,IAAAD,GAAQA,EAAAE,EAqBxB76pB,EApBF86pB,YAAAA,OAAW,IAAAD,GAAQA,EAAAE,EAoBjB/6pB,EAnBFg7pB,cAAAA,OAAa,IAAAD,EAAG,IAAGA,EACnB7qoB,EAkBElwB,EAlBFkwB,OACAynK,EAiBE33L,EAjBF23L,QACAsje,EAgBEj7pB,EAhBFi7pB,cACA5qS,EAeErwX,EAfFqwX,YACApgW,EAcEjwB,EAdFiwB,QACAiroB,EAaEl7pB,EAbFk7pB,eACArrlB,EAYE7vE,EAZF6vE,UACAmJ,EAWEh5E,EAXFg5E,QACAukgB,EAUEv9kB,EAVFu9kB,YACA49E,EASEn7pB,EATFm7pB,aACA19E,EAQEz9kB,EARFy9kB,UACAC,EAOE19kB,EAPF09kB,WACAC,EAME39kB,EANF29kB,YACAC,EAKE59kB,EALF49kB,aAAYw9E,EAKVp7pB,EAJF6zD,SAAAA,OAAQ,IAAAunmB,EAAG,EAACA,EACZC,EAGEr7pB,EAHFq7pB,iBACAC,EAEEt7pB,EAFFs7pB,eACAp1pB,EACElG,EADFkG,KAEFmV,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCyipB,EAAYxppB,EAAAA,OAAa,MACzByppB,EAAYzppB,EAAAA,OAAa,MACzB0ppB,GAAkBxtoB,EAAAA,GAAAA,GAAWutoB,EAAWF,GAC9CI,GAKIC,EAAAA,GAAAA,KAJF3roB,EAAiB0roB,EAAjB1roB,kBACS4roB,EAAkBF,EAA3BzroB,QACQ4roB,EAAiBH,EAAzBxroB,OACK4roB,EAAeJ,EAApBv1pB,IAEFwmB,EAAwC5a,EAAAA,UAAe,GAAM6a,GAAApjB,EAAAA,EAAAA,GAAAmjB,EAAA,GAAtD6U,GAAY5U,EAAA,GAAEmvoB,GAAenvoB,EAAA,GAChC1T,GAAYsoB,IACdu6nB,IAAgB,GAElBhqpB,EAAAA,oBAA0BwH,GAAQ,iBAAO,CACvCioB,aAAc,WACZu6nB,IAAgB,GAChBR,EAAUjuoB,QAAQvT,OACpB,EACD,GAAG,IACJ,IAAAiipB,GAAwCjqpB,EAAAA,UAAe,GAAMkqpB,IAAAzypB,EAAAA,EAAAA,GAAAwypB,GAAA,GAAtDE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GACpClqpB,EAAAA,WAAgB,WACdoqpB,IAAgB,EAClB,GAAG,IACH,IAAMC,GAAoBF,KAAiBxB,IAAkBxhpB,EAM7D,SAASmjpB,GAAiBC,EAAcC,GAAsD,IAAvCC,EAAgBptqB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAGwrqB,EACxE,OAAO5soB,EAAAA,GAAAA,IAAiB,SAAAiB,GAQtB,OAPIstoB,GACFA,EAActtoB,IAEDutoB,GACAhB,EAAUluoB,SACvBkuoB,EAAUluoB,QAAQgvoB,GAAcrtoB,IAE3B,CACT,GACF,CAhBAld,EAAAA,WAAgB,WACVyvB,IAAgBs5nB,IAAgBJ,GAAiBwB,IACnDV,EAAUluoB,QAAQupoB,SAEtB,GAAG,CAAC6D,EAAeI,EAAat5nB,GAAc06nB,KAa9C,IAAMO,GAAkBJ,GAAiB,QAAS9+E,GAC5Ch4J,GAAoB82O,GAAiB,OAAQpB,GAC7CyB,GAAkBL,GAAiB,OAAQhsS,GAC3CssS,GAAgBN,GAAiB,OAAQ5+E,GACzCm/E,GAAmBP,GAAiB,QAAQ,SAAAptoB,GAC5CuS,IACFvS,EAAMolE,iBAEJ8mkB,GACFA,EAAalsoB,EAEjB,IACM4toB,GAAmBR,GAAiB,QAASz+E,GAC7Ck/E,GAAiBT,GAAiB,OAAQ3+E,GAC1Cq/E,GAAkBV,GAAiB,OAAQ1+E,GAC3Cq/E,GAAaX,GAAiB,QAAQ,SAAAptoB,GAC1C4soB,EAAkB5soB,IACgB,IAA9Be,EAAkB1C,SACpByuoB,IAAgB,GAEd7roB,GACFA,EAAOjB,EAEX,IAAG,GACGguoB,IAAcjvoB,EAAAA,GAAAA,IAAiB,SAAAiB,GAE9BssoB,EAAUjuoB,UACbiuoB,EAAUjuoB,QAAU2B,EAAMs1H,eAE5Bq3gB,EAAmB3soB,IACe,IAA9Be,EAAkB1C,UACpByuoB,IAAgB,GACZb,GACFA,EAAejsoB,IAGfgB,GACFA,EAAQhB,EAEZ,IACMiuoB,GAAoB,WACxB,IAAMt9oB,EAAS27oB,EAAUjuoB,QACzB,OAAO9C,GAA2B,WAAdA,KAA+C,MAAnB5K,EAAO8P,SAAmB9P,EAAOstB,KACnF,EAKMiwnB,GAAaprpB,EAAAA,QAAa,GAC1Bid,IAAgBhB,EAAAA,GAAAA,IAAiB,SAAAiB,GAEjC6roB,IAAgBqC,GAAW7voB,SAAWkU,IAAgBg6nB,EAAUluoB,SAAyB,MAAd2B,EAAMj/B,MACnFmtqB,GAAW7voB,SAAU,EACrBkuoB,EAAUluoB,QAAQq9D,KAAK17D,GAAO,WAC5BusoB,EAAUluoB,QAAQ+I,MAAMpH,EAC1B,KAEEA,EAAMl/B,SAAWk/B,EAAMs1H,eAAiB24gB,MAAqC,MAAdjuoB,EAAMj/B,KACvEi/B,EAAMolE,iBAEJxkB,GACFA,EAAU5gD,GAIRA,EAAMl/B,SAAWk/B,EAAMs1H,eAAiB24gB,MAAqC,UAAdjuoB,EAAMj/B,MAAoBkpB,IAC3F+V,EAAMolE,iBACFsjG,GACFA,EAAQ1oK,GAGd,IACMmuoB,IAAcpvoB,EAAAA,GAAAA,IAAiB,SAAAiB,GAG/B6roB,GAA6B,MAAd7roB,EAAMj/B,KAAewrqB,EAAUluoB,SAAWkU,KAAiBvS,EAAMuiI,mBAClF2rgB,GAAW7voB,SAAU,EACrBkuoB,EAAUluoB,QAAQq9D,KAAK17D,GAAO,WAC5BusoB,EAAUluoB,QAAQupoB,QAAQ5noB,EAC5B,KAEE+pD,GACFA,EAAQ/pD,GAIN0oK,GAAW1oK,EAAMl/B,SAAWk/B,EAAMs1H,eAAiB24gB,MAAqC,MAAdjuoB,EAAMj/B,MAAgBi/B,EAAMuiI,kBACxGmmC,EAAQ1oK,EAEZ,IACIouoB,GAAgB7yoB,EACE,WAAlB6yoB,KAA+BhipB,EAAM6xB,MAAQ7xB,EAAMk5D,MACrD8olB,GAAgBrC,GAElB,IAAMsC,GAAc,CAAC,EACC,WAAlBD,IACFC,GAAYp3pB,UAAgBjZ,IAATiZ,EAAqB,SAAWA,EACnDo3pB,GAAYpkpB,SAAWA,IAElBmC,EAAM6xB,MAAS7xB,EAAMk5D,KACxB+olB,GAAY5xoB,KAAO,UAEjBxS,IACFokpB,GAAY,iBAAmBpkpB,IAGnC,IAAMqpoB,IAAYt0nB,EAAAA,GAAAA,GAAW9nB,EAAK21pB,EAAiBP,GASnD,IAAMt0oB,IAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCu6pB,aAAAA,EACA/voB,UAAAA,EACAtR,SAAAA,EACAwhpB,cAAAA,EACAE,mBAAAA,EACAE,YAAAA,EACAjnmB,SAAAA,EACAryB,aAAAA,KAEItW,GA5QkB,SAAAjE,GACxB,IACE/N,EAIE+N,EAJF/N,SACAsoB,EAGEva,EAHFua,aACA+7nB,EAEEt2oB,EAFFs2oB,sBACAryoB,EACEjE,EADFiE,QAEIC,EAAQ,CACZ5e,KAAM,CAAC,OAAQ2M,GAAY,WAAYsoB,GAAgB,iBAEnDg8nB,GAAkBpyoB,EAAAA,GAAAA,GAAeD,EAAOwuoB,GAA2BzuoB,GAIzE,OAHIsW,GAAgB+7nB,IAClBC,EAAgBjxpB,MAAQ,IAAJ9e,OAAQ8vqB,IAEvBC,CACT,CA6PkBnyoB,CAAkBpE,IAClC,OAAoBqE,EAAAA,GAAAA,MAAMsuoB,IAAgBxhpB,EAAAA,EAAAA,GAAS,CACjDmT,GAAI8xoB,GACJ97pB,WAAWiqB,EAAAA,GAAAA,GAAKN,GAAQ3e,KAAMhL,GAC9B0lB,WAAYA,GACZiJ,OAAQ8soB,GACRrle,QAASA,EACTsje,cAAe11O,GACft1Z,QAASgtoB,GACTptlB,UAAW7gD,GACXgqD,QAASoklB,GACT7/E,YAAak/E,GACbtB,aAAcyB,GACdn/E,UAAWk/E,GACXtsS,YAAaqsS,GACbh/E,WAAYo/E,GACZn/E,YAAao/E,GACbn/E,aAAci/E,GACd12pB,IAAKo8oB,GACL1ulB,SAAU36C,GAAY,EAAI26C,EAC1B3tD,KAAMA,GACLo3pB,GAAajipB,EAAO,CACrBnY,SAAU,CAACA,EAAUk5pB,IAGrBzwoB,EAAAA,GAAAA,KAAK8soB,IAAargpB,EAAAA,EAAAA,GAAS,CACzBjS,IAAKs1pB,EACLj9d,OAAQ+7d,GACPc,IAAqB,QAE5B,IA+JA,MCxdO,SAASoC,GAAuBn4oB,GACrC,OAAOmD,EAAAA,GAAAA,GAAqB,aAAcnD,EAC5C,CACA,IACA,IADuBoD,EAAAA,GAAAA,GAAuB,aAAc,CAAC,OAAQ,WAAY,YAAa,QAAS,SAAU,WAAY,QAAS,WAAY,eAAgB,uBAAwB,iBAAkB,gBAAiB,UAAW,oBCAxO,IACA,IAD4BA,EAAAA,GAAAA,GAAuB,kBAAmB,CAAC,OAAQ,wBCA/E,IACA,IAD4BA,EAAAA,GAAAA,GAAuB,kBAAmB,CAAC,OAAQ,YAAa,QAAS,QAAS,UAAW,cCHlH,SAASg1oB,GAAwBp4oB,GACtC,OAAOmD,EAAAA,GAAAA,GAAqB,cAAenD,EAC7C,CACA,IACA,IADwBoD,EAAAA,GAAAA,GAAuB,cAAe,CAAC,OAAQ,eAAgB,QAAS,WAAY,UAAW,UAAW,aCH5H5P,GAAY,CAAC,YAAa,YAAa,QAAS,UAAW,iBAAkB,wBAAyB,OAAQ,WAAY,aAsC1H6kpB,IAAeh5oB,EAAAA,GAAAA,IAAO01oB,GAAY,CACtCh2oB,kBAAmB,SAAAC,GAAI,OAAII,EAAAA,GAAAA,IAAsBJ,IAAkB,YAATA,CAAkB,EAC5E7uB,KAAM,cACN6vB,KAAM,OACNK,kBAzB+B,SAAC3lB,EAAOkJ,GACvC,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAAM0a,EAAWo5nB,OAASn3oB,EAAOm3oB,MAAOp5nB,EAAW9N,SAAWjQ,EAAOiQ,SAAU8N,EAAW22oB,gBAAkB10pB,EAAO20pB,QACpI,GAgBqBl5oB,EAKlB,SAAArb,GAAA,IAAAqmL,EACD9rK,EAAKva,EAALua,MACAoD,EAAU3d,EAAV2d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CAAC,EAAGyL,EAAMnG,WAAWgC,MAAO,CACzCqK,QAAS,OACTwT,eAAgB,aAChBC,WAAY,SACZlkC,SAAU,WACV2gqB,eAAgB,OAChB3hpB,UAAW,GACX+iB,WAAY,EACZE,cAAe,EACfkD,UAAW,aACXtB,WAAY,WACVlW,EAAW22oB,gBAAkB,CAC/BpioB,YAAa,GACbF,aAAc,IACbrU,EAAW9N,SAAW,CACvBsgB,aAAc,aAAFhsC,QAAgBo2B,EAAMZ,MAAQY,GAAO9I,QAAQ5B,SACzD2kpB,eAAgB,gBACjBnue,EAAA,CACC,UAAW,CACTsqe,eAAgB,OAChBn/nB,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOE,MAEtD,uBAAwB,CACtBqhB,gBAAiB,kBAEpB73B,EAAAA,EAAAA,GAAA0sL,EAAA,KAAAliM,OACKswqB,GAAAA,WAAwB96pB,EAAAA,EAAAA,GAAA,CAC5B63B,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQ/B,QAAQglpB,YAAW,OAAAvwqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOK,gBAAe,MAAMqb,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQ/B,QAAQ4B,KAAMiJ,EAAM9I,QAAQxB,OAAOK,kBAAgB,KAAAnsB,OAClMswqB,GAAAA,cAAiC,CACrCjjoB,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQ/B,QAAQglpB,YAAW,YAAAvwqB,OAAWo2B,EAAMZ,KAAKlI,QAAQxB,OAAOK,gBAAe,OAAAnsB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOS,aAAY,OAAOib,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQ/B,QAAQ4B,KAAMiJ,EAAM9I,QAAQxB,OAAOK,gBAAkBiK,EAAM9I,QAAQxB,OAAOS,kBAClR/W,EAAAA,EAAAA,GAAA0sL,EAAA,KAAAliM,OAEGswqB,GAAAA,SAAwB,UAAW,CACvCjjoB,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQ/B,QAAQglpB,YAAW,YAAAvwqB,OAAWo2B,EAAMZ,KAAKlI,QAAQxB,OAAOK,gBAAe,OAAAnsB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOG,aAAY,OAAOub,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQ/B,QAAQ4B,KAAMiJ,EAAM9I,QAAQxB,OAAOK,gBAAkBiK,EAAM9I,QAAQxB,OAAOG,cAEjR,uBAAwB,CACtBohB,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQ/B,QAAQglpB,YAAW,OAAAvwqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOK,gBAAe,MAAMqb,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQ/B,QAAQ4B,KAAMiJ,EAAM9I,QAAQxB,OAAOK,qBAE3L3W,EAAAA,EAAAA,GAAA0sL,EAAA,KAAAliM,OACKswqB,GAAAA,cAAiC,CACrCjjoB,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOQ,SACvD9W,EAAAA,EAAAA,GAAA0sL,EAAA,KAAAliM,OACKswqB,GAAAA,UAA6B,CACjC1ppB,SAAUwP,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOO,mBAC/C7W,EAAAA,EAAAA,GAAA0sL,EAAA,QAAAliM,OACQwwqB,GAAAA,MAAwB,CAC/B5hoB,UAAWxY,EAAM6R,QAAQ,GACzB6G,aAAc1Y,EAAM6R,QAAQ,MAC7BzyB,EAAAA,EAAAA,GAAA0sL,EAAA,QAAAliM,OACQwwqB,GAAAA,OAAyB,CAChCzhoB,WAAY,MACbv5B,EAAAA,EAAAA,GAAA0sL,EAAA,MAAAliM,OACMywqB,GAAAA,MAA6B,CAClC7hoB,UAAW,EACXE,aAAc,KACft5B,EAAAA,EAAAA,GAAA0sL,EAAA,MAAAliM,OACMywqB,GAAAA,OAA8B,CACnC1ioB,YAAa,MACdv4B,EAAAA,EAAAA,GAAA0sL,EAAA,MAAAliM,OACM0wqB,GAAAA,MAA6B,CAClCxjoB,SAAU,KACXg1J,IACC1oK,EAAWo5nB,QAAKp9oB,EAAAA,EAAAA,GAAA,GACjB4gB,EAAM5L,YAAYM,GAAG,MAAQ,CAC5BD,UAAW,SAEZ2O,EAAWo5nB,QAASjooB,EAAAA,EAAAA,GAAS,CAC9BE,UAAW,GAEX+iB,WAAY,EACZE,cAAe,GACd1X,EAAMnG,WAAWiC,OAAK1c,EAAAA,EAAAA,GAAA,SAAAxV,OAChB0wqB,GAAAA,KAAwB,QAAS,CACtCrgpB,SAAU,aAEX,IACG03O,GAAwBzjP,EAAAA,YAAiB,SAAkBsY,EAASlkB,GACxE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,gBAERkspB,EAUM3hpB,EATFwznB,UAAAA,OAAS,IAAAmuB,GAAQA,EAAAp3nB,EASfvqB,EARFwqB,UAAAA,OAAS,IAAAD,EAAG,KAAIA,EAAAi2nB,EAQdxgpB,EAPFqgpB,MAAAA,OAAK,IAAAG,GAAQA,EAAA4d,EAOXp+pB,EANFmZ,QAAAA,OAAO,IAAAilpB,GAAQA,EAAAC,EAMbr+pB,EALF49pB,eAAAA,OAAc,IAAAS,GAAQA,EACtBd,EAIEv9pB,EAJFu9pB,sBAAqBe,EAInBt+pB,EAHF0rB,KAAAA,OAAI,IAAA4yoB,EAAG,WAAUA,EACPC,EAERv+pB,EAFF6zD,SACAtyD,EACEvB,EADFuB,UAEF8Z,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzClZ,EAAUmS,EAAAA,WAAiB2uoB,IAC3B/9D,EAAe5wkB,EAAAA,SAAc,iBAAO,CACxCsuoB,MAAOA,GAASzgpB,EAAQygpB,QAAS,EACjCud,eAAAA,EACD,GAAG,CAACh+pB,EAAQygpB,MAAOA,EAAOud,IACrBY,EAAczspB,EAAAA,OAAa,OACjCgc,EAAAA,GAAAA,IAAkB,WACZylmB,GACEgrC,EAAYlxoB,SACdkxoB,EAAYlxoB,QAAQvT,OAK1B,GAAG,CAACy5mB,IACJ,IAOI3/jB,EAPE5sC,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCqgpB,MAAO19D,EAAa09D,MACpBlnoB,QAAAA,EACAykpB,eAAAA,IAEI1yoB,EAxIkB,SAAAjE,GACxB,IACE/N,EAME+N,EANF/N,SACAmnoB,EAKEp5nB,EALFo5nB,MACAlnoB,EAIE8N,EAJF9N,QACAykpB,EAGE32oB,EAHF22oB,eACAjkpB,EAEEsN,EAFFtN,SACAuR,EACEjE,EADFiE,QAEIC,EAAQ,CACZ5e,KAAM,CAAC,OAAQ8zoB,GAAS,QAASnnoB,GAAY,YAAa0kpB,GAAkB,UAAWzkpB,GAAW,UAAWQ,GAAY,aAErH6jpB,GAAkBpyoB,EAAAA,GAAAA,GAAeD,EAAOuyoB,GAAyBxyoB,GACvE,OAAO9S,EAAAA,EAAAA,GAAS,CAAC,EAAG8S,EAASsyoB,EAC/B,CA0HkBnyoB,CAAkBrrB,GAC5BuipB,GAAYt0nB,EAAAA,GAAAA,GAAWuwoB,EAAar4pB,GAK1C,OAHKnG,EAAMkZ,WACT26C,OAA4B5mE,IAAjBsxqB,EAA6BA,GAAgB,IAEtC5yoB,EAAAA,GAAAA,KAAK+0nB,GAAAA,SAAsB,CAC7ClvpB,MAAOmxlB,EACPz/kB,UAAuByoB,EAAAA,GAAAA,KAAKgyoB,IAAcvlpB,EAAAA,EAAAA,GAAS,CACjDjS,IAAKo8oB,EACL72nB,KAAMA,EACNmoC,SAAUA,EACVrpC,UAAWA,EACX+yoB,uBAAuB/xoB,EAAAA,GAAAA,GAAKN,EAAQsW,aAAc+7nB,GAClDh8pB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,IAC7B8Z,EAAO,CACR4L,WAAYA,EACZiE,QAASA,MAGf,IA4EA,MC/PMpS,GAAY,CAAC,WAAY,WAAY,YAAa,YAAa,WAAY,QAAS,cAAe,OAAQ,YAAa,WA2BxH2lpB,IAAc95oB,EAAAA,GAAAA,IAAO,MAAO,CAChClvB,KAAM,aACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAAM0a,EAAWy3oB,UAAYx1pB,EAAOw1pB,SAAUx1pB,EAAO+d,EAAWhD,SAAUgD,EAAWlO,OAAS7P,EAAO6P,MAAkC,aAA3BkO,EAAWu5E,aAA8Bt3F,EAAO07J,SAAU39I,EAAW03oB,UAAYz1pB,EAAOy1pB,SAAU13oB,EAAW/jB,UAAYgG,EAAO01pB,aAAc33oB,EAAW/jB,UAAuC,aAA3B+jB,EAAWu5E,aAA8Bt3F,EAAO21pB,qBAA+C,UAAzB53oB,EAAW0X,WAAoD,aAA3B1X,EAAWu5E,aAA8Bt3F,EAAO41pB,eAAyC,SAAzB73oB,EAAW0X,WAAmD,aAA3B1X,EAAWu5E,aAA8Bt3F,EAAO61pB,cAC/hB,GARkBp6oB,EASjB,SAAArb,GAAA,IACDua,EAAKva,EAALua,MACAoD,EAAU3d,EAAV2d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACbsgB,OAAQ,EAERtlB,WAAY,EACZivP,YAAa,EACb63Z,YAAa,QACbvgoB,aAAc9V,EAAMZ,MAAQY,GAAO9I,QAAQ5B,QAC3C6lpB,kBAAmB,QAClB/3oB,EAAWy3oB,UAAY,CACxBplqB,SAAU,WACVglC,OAAQ,EACRC,KAAM,EACNzU,MAAO,QACN7C,EAAWlO,OAAS,CACrB4gB,YAAa9V,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQkkpB,eAAc,aAAahqoB,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQ5B,QAAS,MACrF,UAAvB8N,EAAWhD,SAAuB,CACnCuY,WAAY,IACY,WAAvBvV,EAAWhD,SAAmD,eAA3BgD,EAAWu5E,aAAgC,CAC/EhkE,WAAY3Y,EAAM6R,QAAQ,GAC1B4G,YAAazY,EAAM6R,QAAQ,IACH,WAAvBzO,EAAWhD,SAAmD,aAA3BgD,EAAWu5E,aAA8B,CAC7EnkE,UAAWxY,EAAM6R,QAAQ,GACzB6G,aAAc1Y,EAAM6R,QAAQ,IACA,aAA3BzO,EAAWu5E,aAA8B,CAC1Ct/E,OAAQ,OACR89oB,kBAAmB,EACnBE,iBAAkB,QACjBj4oB,EAAW03oB,UAAY,CACxBjhoB,UAAW,UACXxc,OAAQ,QACR,IAAE,SAAA3X,GAAA,IACF0d,EAAU1d,EAAV0d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CAAC,EAAG6O,EAAW/jB,UAAY,CACxC6mB,QAAS,OACToT,WAAY,SACZwB,UAAW,SACXrF,OAAQ,EACR,sBAAuB,CACrBqV,QAAS,KACTjR,UAAW,WAEb,IAAE,SAAA/W,GAAA,IACF9C,EAAK8C,EAAL9C,MACAoD,EAAUN,EAAVM,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CAAC,EAAG6O,EAAW/jB,UAAuC,aAA3B+jB,EAAWu5E,aAA8B,CACjF,sBAAuB,CACrB12E,MAAO,OACPyP,UAAW,cAAF9rC,QAAiBo2B,EAAMZ,MAAQY,GAAO9I,QAAQ5B,WAEzD,IAAE,SAAA6lB,GAAA,IACFnb,EAAKmb,EAALnb,MACAoD,EAAU+X,EAAV/X,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CAAC,EAAG6O,EAAW/jB,UAAuC,aAA3B+jB,EAAWu5E,aAA8B,CACjFnjE,cAAe,SACf,sBAAuB,CACrBnc,OAAQ,OACRwY,WAAY,cAAFjsC,QAAiBo2B,EAAMZ,MAAQY,GAAO9I,QAAQ5B,WAE1D,IAAE,SAAAiqJ,GAAA,IACFn8I,EAAUm8I,EAAVn8I,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CAAC,EAA4B,UAAzB6O,EAAW0X,WAAoD,aAA3B1X,EAAWu5E,aAA8B,CAC9F,YAAa,CACX12E,MAAO,OAET,WAAY,CACVA,MAAO,QAEiB,SAAzB7C,EAAW0X,WAAmD,aAA3B1X,EAAWu5E,aAA8B,CAC7E,YAAa,CACX12E,MAAO,OAET,WAAY,CACVA,MAAO,QAET,IACIq1oB,IAAiBx6oB,EAAAA,GAAAA,IAAO,OAAQ,CACpClvB,KAAM,aACN6vB,KAAM,UACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAO0wG,QAAoC,aAA3B3yF,EAAWu5E,aAA8Bt3F,EAAOk2pB,gBAC1E,GARqBz6oB,EASpB,SAAA4+I,GAAA,IACD1/I,EAAK0/I,EAAL1/I,MACAoD,EAAUs8I,EAAVt8I,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACb2R,QAAS,eACTyR,YAAa,QAAF/tC,OAAUo2B,EAAM6R,QAAQ,GAAE,WACrC4F,aAAc,QAAF7tC,OAAUo2B,EAAM6R,QAAQ,GAAE,YACV,aAA3BzO,EAAWu5E,aAA8B,CAC1CnlE,WAAY,QAAF5tC,OAAUo2B,EAAM6R,QAAQ,GAAE,WACpC6F,cAAe,QAAF9tC,OAAUo2B,EAAM6R,QAAQ,GAAE,YACvC,IACI2poB,GAAuBttpB,EAAAA,YAAiB,SAAiBsY,EAASlkB,GACtE,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,eAER6pqB,EAWMt/pB,EAVF0+pB,SAAAA,OAAQ,IAAAY,GAAQA,EAChBp8pB,EASElD,EATFkD,SACA3B,EAQEvB,EARFuB,UAASgpB,EAQPvqB,EAPFwqB,UAAAA,OAAS,IAAAD,EAAGrnB,EAAW,MAAQ,KAAIqnB,EAAAg1oB,EAOjCv/pB,EANF2+pB,SAAAA,OAAQ,IAAAY,GAAQA,EAAAC,EAMdx/pB,EALF+Y,MAAAA,OAAK,IAAAympB,GAAQA,EAAAC,EAKXz/pB,EAJFwgG,YAAAA,OAAW,IAAAi/jB,EAAG,aAAYA,EAAAnB,EAIxBt+pB,EAHF0rB,KAAAA,OAAI,IAAA4yoB,EAAiB,OAAd9zoB,EAAqB,iBAAcv9B,EAASqxqB,EAAAoB,EAGjD1/pB,EAFF2+B,UAAAA,OAAS,IAAA+goB,EAAG,SAAQA,EAAAhgB,EAElB1/oB,EADFikB,QAAAA,OAAO,IAAAy7nB,EAAG,YAAWA,EAEvBrkoB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCmO,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrC0+pB,SAAAA,EACAl0oB,UAAAA,EACAm0oB,SAAAA,EACA5lpB,MAAAA,EACAynF,YAAAA,EACA90E,KAAAA,EACAiT,UAAAA,EACA1a,QAAAA,IAEIiH,EAxJkB,SAAAjE,GACxB,IACEy3oB,EAQEz3oB,EARFy3oB,SACAx7pB,EAOE+jB,EAPF/jB,SACAgoB,EAMEjE,EANFiE,QACAyzoB,EAKE13oB,EALF03oB,SACA5lpB,EAIEkO,EAJFlO,MACAynF,EAGEv5E,EAHFu5E,YACA7hE,EAEE1X,EAFF0X,UAGIxT,EAAQ,CACZ5e,KAAM,CAAC,OAAQmypB,GAAY,WAFzBz3oB,EADFhD,QAGgDlL,GAAS,QAAyB,aAAhBynF,GAA8B,WAAYm+jB,GAAY,WAAYz7pB,GAAY,eAAgBA,GAA4B,aAAhBs9F,GAA8B,uBAAsC,UAAd7hE,GAAyC,aAAhB6hE,GAA8B,iBAAgC,SAAd7hE,GAAwC,aAAhB6hE,GAA8B,iBACjWoZ,QAAS,CAAC,UAA2B,aAAhBpZ,GAA8B,oBAErD,OAAOp1E,EAAAA,GAAAA,GAAeD,EAAOsyoB,GAAwBvyoB,EACvD,CAwIkBG,CAAkBpE,GAClC,OAAoB0E,EAAAA,GAAAA,KAAK8yoB,IAAarmpB,EAAAA,EAAAA,GAAS,CAC7CmT,GAAIf,EACJjpB,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,GAC9BmqB,KAAMA,EACNvlB,IAAKA,EACL8gB,WAAYA,GACX5L,EAAO,CACRnY,SAAUA,GAAwByoB,EAAAA,GAAAA,KAAKwzoB,GAAgB,CACrD59pB,UAAW2pB,EAAQ0uF,QACnB3yF,WAAYA,EACZ/jB,SAAUA,IACP,OAET,IA+DA,kBC/OO,SAASy8pB,GAA0Br6oB,GACxC,OAAOmD,EAAAA,GAAAA,GAAqB,gBAAiBnD,EAC/C,CACA,IACA,IAD0BoD,EAAAA,GAAAA,GAAuB,gBAAiB,CAAC,OAAQ,WAAY,eAAgB,eAAgB,iBAAkB,aAAc,YAAa,eAAgB,eAAgB,YAAa,UAAW,YAAa,aAAc,cCHjP5P,GAAY,CAAC,OAAQ,WAAY,YAAa,QAAS,WAAY,qBAAsB,QA0BzF8mpB,IAAiBj7oB,EAAAA,GAAAA,IAAO01oB,GAAY,CACxC5kqB,KAAM,gBACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAA2B,YAArB0a,EAAWxK,OAAuBvT,EAAO,QAADzb,QAAS22B,EAAAA,GAAAA,GAAW6C,EAAWxK,SAAWwK,EAAWwsB,MAAQvqC,EAAO,OAADzb,QAAQ22B,EAAAA,GAAAA,GAAW6C,EAAWwsB,QAAUvqC,EAAO,OAADzb,QAAQ22B,EAAAA,GAAAA,GAAW6C,EAAW5X,QAC9M,GARqBsV,EASpB,SAAArb,GAAA,IACDua,EAAKva,EAALua,MACAoD,EAAU3d,EAAV2d,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACbumB,UAAW,SACX1rB,KAAM,WACN6K,SAAU+F,EAAMnG,WAAWiB,QAAQ,IACnCga,QAAS,EACTpD,aAAc,MACdyH,SAAU,UAEVvgB,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOC,OAC5CwQ,WAAYnG,EAAMhB,YAAYh0B,OAAO,mBAAoB,CACvD0xB,SAAUsD,EAAMhB,YAAYtC,SAASC,aAErCyG,EAAWyzoB,eAAiB,CAC9B,UAAW,CACT5/nB,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQxB,OAAOsmpB,cAAa,OAAApyqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOG,aAAY,MAAMub,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQxB,OAAOC,OAAQqK,EAAM9I,QAAQxB,OAAOG,cAEvL,uBAAwB,CACtBohB,gBAAiB,iBAGA,UAApB7T,EAAWwsB,MAAoB,CAChCjX,WAAgC,UAApBvV,EAAW5X,MAAoB,GAAK,IAC3B,QAApB4X,EAAWwsB,MAAkB,CAC9BnX,YAAiC,UAApBrV,EAAW5X,MAAoB,GAAK,IACjD,IAAE,SAAA9F,GAGE,IACAggB,EAHJ1F,EAAKta,EAALsa,MACAoD,EAAU1d,EAAV0d,WAGMlM,EAAwD,OAA7CwO,GAAY1F,EAAMZ,MAAQY,GAAO9I,cAAmB,EAASwO,EAAStC,EAAWxK,OAClG,OAAOrE,EAAAA,EAAAA,GAAS,CAAC,EAAwB,YAArB6O,EAAWxK,OAAuB,CACpDA,MAAO,WACe,YAArBwK,EAAWxK,OAA4C,YAArBwK,EAAWxK,QAAuBrE,EAAAA,EAAAA,GAAS,CAC9EqE,MAAkB,MAAX1B,OAAkB,EAASA,EAAQH,OACxCqM,EAAWyzoB,eAAiB,CAC9B,WAAWtipB,EAAAA,EAAAA,GAAS,CAAC,EAAG2C,GAAW,CACjC+f,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWstB,EAAQijpB,YAAW,OAAAvwqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOG,aAAY,MAAMub,EAAAA,GAAAA,IAAMla,EAAQH,KAAMiJ,EAAM9I,QAAQxB,OAAOG,eACnJ,CAED,uBAAwB,CACtBohB,gBAAiB,mBAGC,UAApB7T,EAAW5X,MAAoB,CACjCspB,QAAS,EACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KACd,UAApBsI,EAAW5X,MAAoB,CAChCspB,QAAS,GACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,MACpC1b,EAAAA,EAAAA,GAAA,QAAAxV,OACOqyqB,GAAAA,UAA+B,CACnChloB,gBAAiB,cACjBre,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOL,WAGlD,IAMM6mpB,GAA0BhupB,EAAAA,YAAiB,SAAoBsY,EAASlkB,GAC5E,IAAMnG,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOqqB,EACP50B,KAAM,kBAERuqqB,EAQMhgqB,EAPFyzC,KAAAA,OAAI,IAAAusnB,GAAQA,EACZ98pB,EAMElD,EANFkD,SACA3B,EAKEvB,EALFuB,UAAS+oB,EAKPtqB,EAJFyc,MAAAA,OAAK,IAAA6N,EAAG,UAASA,EAAAkwoB,EAIfx6pB,EAHFkZ,SAAAA,OAAQ,IAAAshpB,GAAQA,EAAAyF,EAGdjgqB,EAFFkgqB,mBAAAA,OAAkB,IAAAD,GAAQA,EAAAE,EAExBngqB,EADFqP,KAAAA,OAAI,IAAA8wpB,EAAG,SAAQA,EAEjB9kpB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCmO,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCyzC,KAAAA,EACAh3B,MAAAA,EACAvD,SAAAA,EACAgnpB,mBAAAA,EACA7wpB,KAAAA,IAEI6b,EA5GkB,SAAAjE,GACxB,IACEiE,EAKEjE,EALFiE,QACAhS,EAIE+N,EAJF/N,SACAuD,EAGEwK,EAHFxK,MACAg3B,EAEExsB,EAFFwsB,KACApkC,EACE4X,EADF5X,KAEI8b,EAAQ,CACZ5e,KAAM,CAAC,OAAQ2M,GAAY,WAAsB,YAAVuD,GAAuB,QAAJhvB,QAAY22B,EAAAA,GAAAA,GAAW3H,IAAUg3B,GAAQ,OAAJhmD,QAAW22B,EAAAA,GAAAA,GAAWqvB,IAAS,OAAFhmD,QAAS22B,EAAAA,GAAAA,GAAW/U,MAElJ,OAAO+b,EAAAA,GAAAA,GAAeD,EAAOw0oB,GAA2Bz0oB,EAC1D,CAgGkBG,CAAkBpE,GAClC,OAAoB0E,EAAAA,GAAAA,KAAKi0oB,IAAgBxnpB,EAAAA,EAAAA,GAAS,CAChD7W,WAAWiqB,EAAAA,GAAAA,GAAKN,EAAQ3e,KAAMhL,GAC9Bg5pB,cAAc,EACdO,aAAcoF,EACdhnpB,SAAUA,EACV/S,IAAKA,EACL8gB,WAAYA,GACX5L,EAAO,CACRnY,SAAUA,IAEd,IAoEA,kBCxMO,SAASk9pB,GAAsB96oB,GACpC,OAAOmD,EAAAA,GAAAA,GAAqB,YAAanD,EAC3C,CACA,IACA,IADsBoD,EAAAA,GAAAA,GAAuB,YAAa,CAAC,OAAQ,OAAQ,cAAe,cAAe,gBAAiB,cAAe,YAAa,WAAY,cAAe,WAAY,kBAAmB,kBAAmB,oBAAqB,kBAAmB,gBAAiB,eAAgB,kBAAmB,YAAa,mBAAoB,mBAAoB,qBAAsB,mBAAoB,iBAAkB,gBAAiB,mBAAoB,mBAAoB,eAAgB,WAAY,eAAgB,gBAAiB,iBAAkB,gBAAiB,oBAAqB,qBAAsB,oBAAqB,qBAAsB,sBAAuB,qBAAsB,aAAc,YAAa,YAAa,YAAa,YAAa,UAAW,gBAAiB,iBAAkB,kBCG5zB,OAJwC3W,EAAAA,cAAoB,CAAC,GCFvD+G,GAAY,CAAC,WAAY,QAAS,YAAa,YAAa,WAAY,mBAAoB,qBAAsB,UAAW,wBAAyB,YAAa,OAAQ,YAAa,OAAQ,WAiChMunpB,GAAmB,SAAAp5oB,GAAU,OAAI7O,EAAAA,EAAAA,GAAS,CAAC,EAAuB,UAApB6O,EAAW5X,MAAoB,CACjF,uBAAwB,CACtByO,SAAU,KAES,WAApBmJ,EAAW5X,MAAqB,CACjC,uBAAwB,CACtByO,SAAU,KAES,UAApBmJ,EAAW5X,MAAoB,CAChC,uBAAwB,CACtByO,SAAU,KAEZ,EACIwipB,IAAa37oB,EAAAA,GAAAA,IAAO01oB,GAAY,CACpCh2oB,kBAAmB,SAAAC,GAAI,OAAII,EAAAA,GAAAA,IAAsBJ,IAAkB,YAATA,CAAkB,EAC5E7uB,KAAM,YACN6vB,KAAM,OACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOqD,KAAMrD,EAAO+d,EAAWhD,SAAU/a,EAAO,GAADzb,OAAIw5B,EAAWhD,SAAOx2B,QAAG22B,EAAAA,GAAAA,GAAW6C,EAAWxK,SAAWvT,EAAO,OAADzb,QAAQ22B,EAAAA,GAAAA,GAAW6C,EAAW5X,QAAUnG,EAAO,GAADzb,OAAIw5B,EAAWhD,QAAO,QAAAx2B,QAAO22B,EAAAA,GAAAA,GAAW6C,EAAW5X,QAA+B,YAArB4X,EAAWxK,OAAuBvT,EAAOq3pB,aAAct5oB,EAAWu5oB,kBAAoBt3pB,EAAOs3pB,iBAAkBv5oB,EAAWw5oB,WAAav3pB,EAAOu3pB,UAClX,GATiB97oB,EAUhB,SAAArb,GAGG,IAAAqmL,EACA+we,EAAuBC,EAH3B98oB,EAAKva,EAALua,MACAoD,EAAU3d,EAAV2d,WAGM25oB,EAAyD,UAAvB/8oB,EAAM9I,QAAQE,KAAmB4I,EAAM9I,QAAQsC,KAAK,KAAOwG,EAAM9I,QAAQsC,KAAK,KAChHwjpB,EAA8D,UAAvBh9oB,EAAM9I,QAAQE,KAAmB4I,EAAM9I,QAAQsC,KAAK3E,KAAOmL,EAAM9I,QAAQsC,KAAK,KAC3H,OAAOjF,EAAAA,EAAAA,GAAS,CAAC,EAAGyL,EAAMnG,WAAWkC,QAAM+vK,EAAA,CACzCh1J,SAAU,GACVhC,QAAS,WACTpD,cAAe1R,EAAMZ,MAAQY,GAAO+R,MAAML,aAC1CvL,WAAYnG,EAAMhB,YAAYh0B,OAAO,CAAC,mBAAoB,aAAc,eAAgB,SAAU,CAChG0xB,SAAUsD,EAAMhB,YAAYtC,SAASG,QAEvC,WAAWtI,EAAAA,EAAAA,GAAS,CAClB6hpB,eAAgB,OAChBn/nB,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQhV,KAAK+6pB,eAAc,OAAArzqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOG,aAAY,MAAMub,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQhV,KAAKiT,QAAS6K,EAAM9I,QAAQxB,OAAOG,cAErL,uBAAwB,CACtBohB,gBAAiB,gBAEK,SAAvB7T,EAAWhD,SAA2C,YAArBgD,EAAWxK,OAAuB,CACpEqe,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQkM,EAAWxK,OAAOuhpB,YAAW,OAAAvwqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOG,aAAY,MAAMub,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQkM,EAAWxK,OAAO7B,KAAMiJ,EAAM9I,QAAQxB,OAAOG,cAEzM,uBAAwB,CACtBohB,gBAAiB,gBAEK,aAAvB7T,EAAWhD,SAA+C,YAArBgD,EAAWxK,OAAuB,CACxE6c,OAAQ,aAAF7rC,QAAgBo2B,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAO7B,MACrEkgB,gBAAiBjX,EAAMZ,KAAO,QAAHx1B,OAAWo2B,EAAMZ,KAAKlI,QAAQkM,EAAWxK,OAAOuhpB,YAAW,OAAAvwqB,OAAMo2B,EAAMZ,KAAKlI,QAAQxB,OAAOG,aAAY,MAAMub,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQkM,EAAWxK,OAAO7B,KAAMiJ,EAAM9I,QAAQxB,OAAOG,cAEzM,uBAAwB,CACtBohB,gBAAiB,gBAEK,cAAvB7T,EAAWhD,SAA2B,CACvC6W,gBAAiBjX,EAAMZ,KAAOY,EAAMZ,KAAKlI,QAAQktD,OAAO84lB,wBAA0BF,EAClFrioB,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ,GAEzC,uBAAwB,CACtBmb,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ,GACzCyX,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQsC,KAAK,OAE9B,cAAvB4J,EAAWhD,SAAgD,YAArBgD,EAAWxK,OAAuB,CACzEqe,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAOvC,KAEjE,uBAAwB,CACtB4gB,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAO7B,QAGrE,YAAYxC,EAAAA,EAAAA,GAAS,CAAC,EAA0B,cAAvB6O,EAAWhD,SAA2B,CAC7Dua,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ,OACzCpgB,EAAAA,EAAAA,GAAA0sL,EAAA,KAAAliM,OACIuzqB,GAAAA,eAA+B5opB,EAAAA,EAAAA,GAAS,CAAC,EAA0B,cAAvB6O,EAAWhD,SAA2B,CACtFua,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ,OACzCpgB,EAAAA,EAAAA,GAAA0sL,EAAA,KAAAliM,OACIuzqB,GAAAA,WAA2B5opB,EAAAA,EAAAA,GAAS,CACxCqE,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOL,UACpB,aAAvB+N,EAAWhD,SAA0B,CACtCqV,OAAQ,aAAF7rC,QAAgBo2B,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOM,qBAClC,cAAvBoN,EAAWhD,SAA2B,CACvCxH,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOL,SAC5CslB,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ,GACzCyX,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQxB,OAAOM,sBACtD81K,GACsB,SAAvB1oK,EAAWhD,SAAsB,CAClC0U,QAAS,WACe,SAAvB1R,EAAWhD,SAA2C,YAArBgD,EAAWxK,OAAuB,CACpEA,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAO7B,MAC/B,aAAvBqM,EAAWhD,SAA0B,CACtC0U,QAAS,WACTW,OAAQ,0BACgB,aAAvBrS,EAAWhD,SAA+C,YAArBgD,EAAWxK,OAAuB,CACxEA,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAO7B,KACvD0e,OAAQzV,EAAMZ,KAAO,kBAAHx1B,OAAqBo2B,EAAMZ,KAAKlI,QAAQkM,EAAWxK,OAAOuhpB,YAAW,wBAAAvwqB,QAAyBwnC,EAAAA,GAAAA,IAAMpR,EAAM9I,QAAQkM,EAAWxK,OAAO7B,KAAM,MACpI,cAAvBqM,EAAWhD,SAA2B,CACvCxH,MAAOoH,EAAMZ,KAEbY,EAAMZ,KAAKlI,QAAQhV,KAAKiT,QAAwF,OAA7E0npB,GAAyBC,EAAiB98oB,EAAM9I,SAASuB,sBAA2B,EAASokpB,EAAsBpxqB,KAAKqxqB,EAAgB98oB,EAAM9I,QAAQsC,KAAK,MAC9Lyd,gBAAiBjX,EAAMZ,KAAOY,EAAMZ,KAAKlI,QAAQktD,OAAOg5lB,mBAAqBL,EAC7EpioB,WAAY3a,EAAMZ,MAAQY,GAAOR,QAAQ,IACjB,cAAvB4D,EAAWhD,SAAgD,YAArBgD,EAAWxK,OAAuB,CACzEA,OAAQoH,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAOS,aACvD4d,iBAAkBjX,EAAMZ,MAAQY,GAAO9I,QAAQkM,EAAWxK,OAAO7B,MAC3C,YAArBqM,EAAWxK,OAAuB,CACnCA,MAAO,UACPkd,YAAa,gBACQ,UAApB1S,EAAW5X,MAA2C,SAAvB4X,EAAWhD,SAAsB,CACjE0U,QAAS,UACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KACd,UAApBsI,EAAW5X,MAA2C,SAAvB4X,EAAWhD,SAAsB,CACjE0U,QAAS,WACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KACd,UAApBsI,EAAW5X,MAA2C,aAAvB4X,EAAWhD,SAA0B,CACrE0U,QAAS,UACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KACd,UAApBsI,EAAW5X,MAA2C,aAAvB4X,EAAWhD,SAA0B,CACrE0U,QAAS,WACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KACd,UAApBsI,EAAW5X,MAA2C,cAAvB4X,EAAWhD,SAA2B,CACtE0U,QAAS,WACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KACd,UAApBsI,EAAW5X,MAA2C,cAAvB4X,EAAWhD,SAA2B,CACtE0U,QAAS,WACT7a,SAAU+F,EAAMnG,WAAWiB,QAAQ,KAClCsI,EAAWw5oB,WAAa,CACzB32oB,MAAO,QAEX,IAAG,SAAAvgB,GAAA,IAAAod,EACS,OAAApd,EAAV0d,WACeu5oB,mBAAgB75oB,EAAA,CAC/B6X,UAAW,OACX,UAAW,CACTA,UAAW,UACZv7B,EAAAA,EAAAA,GAAA0jB,EAAA,KAAAl5B,OACKuzqB,GAAAA,cAA+B,CACnCxioB,UAAW,UACZv7B,EAAAA,EAAAA,GAAA0jB,EACD,WAAY,CACV6X,UAAW,UACZv7B,EAAAA,EAAAA,GAAA0jB,EAAA,KAAAl5B,OACKuzqB,GAAAA,UAA2B,CAC/BxioB,UAAW,SACZ7X,EACF,IACKu6oB,IAAkBv8oB,EAAAA,GAAAA,IAAO,OAAQ,CACrClvB,KAAM,YACN6vB,KAAM,YACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOi4pB,UAAWj4pB,EAAO,WAADzb,QAAY22B,EAAAA,GAAAA,GAAW6C,EAAW5X,QACpE,GARsBsV,EASrB,SAAAqa,GAAA,IACD/X,EAAU+X,EAAV/X,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACb2R,QAAS,UACTuS,YAAa,EACbE,YAAa,GACQ,UAApBvV,EAAW5X,MAAoB,CAChCmtB,YAAa,GACZ6joB,GAAiBp5oB,GAAY,IAC1Bm6oB,IAAgBz8oB,EAAAA,GAAAA,IAAO,OAAQ,CACnClvB,KAAM,YACN6vB,KAAM,UACNK,kBAAmB,SAAC3lB,EAAOkJ,GACzB,IACE+d,EACEjnB,EADFinB,WAEF,MAAO,CAAC/d,EAAOm4pB,QAASn4pB,EAAO,WAADzb,QAAY22B,EAAAA,GAAAA,GAAW6C,EAAW5X,QAClE,GARoBsV,EASnB,SAAAy+I,GAAA,IACDn8I,EAAUm8I,EAAVn8I,WAAU,OACN7O,EAAAA,EAAAA,GAAS,CACb2R,QAAS,UACTuS,aAAc,EACdE,WAAY,GACS,UAApBvV,EAAW5X,MAAoB,CAChCitB,aAAc,GACb+joB,GAAiBp5oB,GAAY,IAC1BghD,GAAsBl2D,EAAAA,YAAiB,SAAgBsY,EAASlkB,GAEpE,IAAMm7pB,EAAevvpB,EAAAA,WAAiBwvpB,IAChCC,GAAgBn5oB,EAAAA,GAAAA,GAAai5oB,EAAcj3oB,GAC3CrqB,GAAQioB,EAAAA,GAAAA,GAAc,CAC1BjoB,MAAOwhqB,EACP/rqB,KAAM,cAGJyN,EAcElD,EAdFkD,SAAQonB,EAcNtqB,EAbFyc,MAAAA,OAAK,IAAA6N,EAAG,UAASA,EAAAC,EAafvqB,EAZFwqB,UAAAA,OAAS,IAAAD,EAAG,SAAQA,EACpBhpB,EAWEvB,EAXFuB,UAASi5pB,EAWPx6pB,EAVFkZ,SAAAA,OAAQ,IAAAshpB,GAAQA,EAAAiH,EAUdzhqB,EATFwgqB,iBAAAA,OAAgB,IAAAiB,GAAQA,EAAAxB,EAStBjgqB,EARFkgqB,mBAAAA,OAAkB,IAAAD,GAAQA,EACjByB,EAOP1hqB,EAPFqhqB,QACA9D,EAMEv9pB,EANFu9pB,sBAAqBoE,EAMnB3hqB,EALFygqB,UAAAA,OAAS,IAAAkB,GAAQA,EAAAxB,EAKfngqB,EAJFqP,KAAAA,OAAI,IAAA8wpB,EAAG,SAAQA,EACJyB,EAGT5hqB,EAHFmhqB,UACAj7pB,EAEElG,EAFFkG,KAAIw5oB,EAEF1/oB,EADFikB,QAAAA,OAAO,IAAAy7nB,EAAG,OAAMA,EAElBrkoB,GAAQC,EAAAA,EAAAA,GAA8Btb,EAAO8Y,IACzCmO,GAAa7O,EAAAA,EAAAA,GAAS,CAAC,EAAGpY,EAAO,CACrCyc,MAAAA,EACA+N,UAAAA,EACAtR,SAAAA,EACAsnpB,iBAAAA,EACAN,mBAAAA,EACAO,UAAAA,EACApxpB,KAAAA,EACAnJ,KAAAA,EACA+d,QAAAA,IAEIiH,EA7OkB,SAAAjE,GACxB,IACExK,EAMEwK,EANFxK,MACA+jpB,EAKEv5oB,EALFu5oB,iBACAC,EAIEx5oB,EAJFw5oB,UACApxpB,EAGE4X,EAHF5X,KACA4U,EAEEgD,EAFFhD,QACAiH,EACEjE,EADFiE,QAEIC,EAAQ,CACZ5e,KAAM,CAAC,OAAQ0X,EAAS,GAAFx2B,OAAKw2B,GAAOx2B,QAAG22B,EAAAA,GAAAA,GAAW3H,IAAM,OAAAhvB,QAAW22B,EAAAA,GAAAA,GAAW/U,IAAK,GAAA5hB,OAAOw2B,EAAO,QAAAx2B,QAAO22B,EAAAA,GAAAA,GAAW/U,IAAmB,YAAVoN,GAAuB,eAAgB+jpB,GAAoB,mBAAoBC,GAAa,aACtNpuqB,MAAO,CAAC,SACR8uqB,UAAW,CAAC,YAAa,WAAF1zqB,QAAa22B,EAAAA,GAAAA,GAAW/U,KAC/CgypB,QAAS,CAAC,UAAW,WAAF5zqB,QAAa22B,EAAAA,GAAAA,GAAW/U,MAEvCmupB,GAAkBpyoB,EAAAA,GAAAA,GAAeD,EAAOi1oB,GAAuBl1oB,GACrE,OAAO9S,EAAAA,EAAAA,GAAS,CAAC,EAAG8S,EAASsyoB,EAC/B,CA4NkBnyoB,CAAkBpE,GAC5Bk6oB,EAAYS,IAA8Bj2oB,EAAAA,GAAAA,KAAKu1oB,GAAiB,CACpE3/pB,UAAW2pB,EAAQi2oB,UACnBl6oB,WAAYA,EACZ/jB,SAAU0+pB,IAENP,EAAUK,IAA4B/1oB,EAAAA,GAAAA,KAAKy1oB,GAAe,CAC9D7/pB,UAAW2pB,EAAQm2oB,QACnBp6oB,WAAYA,EACZ/jB,SAAUw+pB,IAEZ,OAAoBp2oB,EAAAA,GAAAA,MAAMg1oB,IAAYlopB,EAAAA,EAAAA,GAAS,CAC7C6O,WAAYA,EACZ1lB,WAAWiqB,EAAAA,GAAAA,GAAK81oB,EAAa//pB,UAAW2pB,EAAQ3e,KAAMhL,GACtDipB,UAAWA,EACXtR,SAAUA,EACV4hpB,aAAcoF,EACd3C,uBAAuB/xoB,EAAAA,GAAAA,GAAKN,EAAQsW,aAAc+7nB,GAClDp3pB,IAAKA,EACLD,KAAMA,GACLmV,EAAO,CACR6P,QAASA,EACThoB,SAAU,CAACi+pB,EAAWj+pB,EAAUm+pB,KAEpC,IA+FA,kBCnXe,SAASQ,GAAK7hqB,GAC3B,OACE2rB,EAAAA,GAAAA,KAAA,SAGJ,4BCPMl8B,GAAE,CAACw6B,MAAM,CAACz4B,MAAM,OAAO04B,OAAO,CAAC14B,MAAM,OAAO24B,MAAM,CAAC34B,MAAM,QCAzDkjC,GAAE,CAAC/Y,IAAI,CAAC,GAAG,CAACnqB,MAAM,oBAAoB,GAAG,CAACA,MAAM,oBAAoB,GAAG,CAACA,MAAM,oBAAoB,GAAG,CAACA,MAAM,oBAAoB,GAAG,CAACA,MAAM,oBAAoB,GAAG,CAACA,MAAM,qBAAqB,IAAI,CAACA,MAAM,sBAAsB4qB,OAAO,CAAC,GAAG,CAAC5qB,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,sBAAsB,IAAI,CAACA,MAAM,uBAAuBmilB,OAAO,CAAC,GAAG,CAACnilB,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,sBAAsB,IAAI,CAACA,MAAM,uBAAuByqB,MAAM,CAAC,GAAG,CAACzqB,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,IAAI,CAACA,MAAM,uBAAuBswqB,KAAK,CAAC,GAAG,CAACtwqB,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,uBAAuB,IAAI,CAACA,MAAM,wBAAwB+pB,KAAK,CAAC,GAAG,CAAC/pB,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,uBAAuB,IAAI,CAACA,MAAM,wBAAwBiqB,OAAO,CAAC,GAAG,CAACjqB,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,uBAAuB,IAAI,CAACA,MAAM,wBAAwBuwqB,KAAK,CAAC,GAAG,CAACvwqB,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,uBAAuB,IAAI,CAACA,MAAM,wBAAwBwwqB,QAAQ,CAAC,GAAG,CAACxwqB,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,qBAAqB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,GAAG,CAACA,MAAM,sBAAsB,IAAI,CAACA,MAAM,uBAAuBywqB,MAAM,CAACjppB,QAAQ,CAAC,GAAG,CAACxnB,MAAM,0BAA0B,GAAG,CAACA,MAAM,0BAA0B,GAAG,CAACA,MAAM,0BAA0B,GAAG,CAACA,MAAM,0BAA0B,GAAG,CAACA,MAAM,0BAA0B,GAAG,CAACA,MAAM,0BAA0B,IAAI,CAACA,MAAM,4BAA4BynB,UAAU,CAAC,GAAG,CAACznB,MAAM,4BAA4B,GAAG,CAACA,MAAM,4BAA4B,GAAG,CAACA,MAAM,4BAA4B,GAAG,CAACA,MAAM,4BAA4B,GAAG,CAACA,MAAM,4BAA4B,GAAG,CAACA,MAAM,4BAA4B,IAAI,CAACA,MAAM,+BAA+BmsgB,KAAK,CAAC3kf,QAAQ,CAACxnB,MAAM,8BAA8BynB,UAAU,CAACznB,MAAM,6BAA6B0wqB,SAAS,CAAC1wqB,MAAM,6BAA6B0nB,SAAS,CAAC1nB,MAAM,6BAA6BgilB,QAAQ,CAAChilB,MAAM,wBAAwB2wqB,YAAY,CAAC3wqB,MAAM,mCAAmCioB,MAAM,CAACjoB,MAAM,mCAAmCuoB,MAAM,CAACvoB,MAAM,oCAAoCgoB,OAAO,CAAChoB,MAAM,oCAAoCqqB,KAAK,CAACrqB,MAAM,0BAA0B2qB,QAAQ,CAAC3qB,MAAM,4BAA4BiC,MAAM,CAACjC,MAAM,yBAAyBwqB,QAAQ,CAACxqB,MAAM,4BAA4B4nB,WAAW,CAACJ,QAAQ,CAACxnB,MAAM,wBAAwBynB,UAAU,CAACznB,MAAM,6BAA6B0wqB,SAAS,CAAC1wqB,MAAM,6BAA6B4wqB,WAAW,CAAC5wqB,MAAM,6BAA6B0nB,SAAS,CAAC1nB,MAAM,sCAAsCqqB,KAAK,CAACrqB,MAAM,0BAA0B2qB,QAAQ,CAAC3qB,MAAM,4BAA4BiC,MAAM,CAACjC,MAAM,yBAAyBwqB,QAAQ,CAACxqB,MAAM,4BAA4B8nC,OAAO,CAACtgB,QAAQ,CAACxnB,MAAM,6BAA6BynB,UAAU,CAACznB,MAAM,6BAA6B0wqB,SAAS,CAAC1wqB,MAAM,6BAA6B0nB,SAAS,CAAC1nB,MAAM,kCAAkC6wqB,QAAQ,CAAC7wqB,MAAM,oCAAoCuoB,MAAM,CAACvoB,MAAM,oCAAoCiC,MAAM,CAACjC,MAAM,0BAA0Bk0hB,OAAO,CAAC1sgB,QAAQ,CAACxnB,MAAM,6BAA6BynB,UAAU,CAACznB,MAAM,6BAA6B0wqB,SAAS,CAAC1wqB,MAAM,8BAA8B8wqB,QAAQ,CAAC,GAAG,CAAC9wqB,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,wBAAwB,GAAG,CAACA,MAAM,yBAAyBgnB,MAAM,CAAChnB,MAAM,kBAAkBinB,MAAM,CAACjnB,MAAM,oBAAoB+wqB,YAAY,CAAC/wqB,MAAM,gBCAx5I/B,GAAE,CAAC+yqB,SAAS,CAAC1noB,gBAAgB,CAACtpC,MAAM,+BAA+B+jC,aAAa,CAAC/jC,MAAM,iBAAiBmoC,YAAY,CAACnoC,MAAM,2BAA2B0oqB,YAAY,CAAC1oqB,MAAM,UAAU6wQ,YAAY,CAAC7wQ,MAAM,wBAAwByoC,IAAI,CAACzoC,MAAM,iBAAiBoqC,aAAa,CAACpqC,MAAM,cAAciqC,cAAc,CAACjqC,MAAM,iBAAiBmtC,UAAU,CAACntC,MAAM,UAAUw1J,QAAQ,CAAClsH,gBAAgB,CAACtpC,MAAM,6BAA6B+jC,aAAa,CAAC/jC,MAAM,mDAAmDmoC,YAAY,CAACnoC,MAAM,2BAA2B0oqB,YAAY,CAAC1oqB,MAAM,kDAAkD6wQ,YAAY,CAAC7wQ,MAAM,0BAA0B2oB,KAAK,CAACsC,MAAM,CAACjrB,MAAM,2BAA2BssB,SAAS,CAACtsB,MAAM,oBAAoBuU,KAAK,CAAC0W,MAAM,CAACjrB,MAAM,0BAA0BssB,SAAS,CAACtsB,MAAM,sBAAsB2iB,WAAW,CAAC3iB,MAAM,wBAAwBighB,KAAK,CAAC32e,gBAAgB,CAACtpC,MAAM,+BAA+B+jC,aAAa,CAAC/jC,MAAM,iBAAiBmoC,YAAY,CAACnoC,MAAM,2BAA2B0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,wBAAwBoqC,aAAa,CAACpqC,MAAM,cAAciqC,cAAc,CAACjqC,MAAM,iBAAiByoC,IAAI,CAACzoC,MAAM,iBAAiBgsC,WAAW,CAAChsC,MAAM,YAAYiE,KAAK,CAACqoB,SAAS,CAACtsB,MAAM,sBAAsB2iB,WAAW,CAAC3iB,MAAM,sBAAsBirB,MAAM,CAACjrB,MAAM,0BAA0B6d,KAAK,CAACyO,SAAS,CAACtsB,MAAM,qBAAqB2iB,WAAW,CAAC3iB,MAAM,wBAAwBirB,MAAM,CAACjrB,MAAM,2BAA2B2whB,MAAM,CAACr4f,MAAM,CAACt4B,MAAM,eAAe0vB,OAAO,CAAC1vB,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,iCAAiCirB,MAAM,CAACjrB,MAAM,0BAA0B+jC,aAAa,CAAC/jC,MAAM,mBAAmBixqB,OAAO,CAACC,cAAc,CAAClxqB,MAAM,SAASmxqB,YAAY,CAACnxqB,MAAM,6BAA6BoxqB,aAAa,CAACpxqB,MAAM,oCAAoC4jB,YAAY,CAAC5jB,MAAM,yBAAyBqxqB,UAAU,CAAC/noB,gBAAgB,CAACtpC,MAAM,+BAA+BmoC,YAAY,CAACnoC,MAAM,2BAA2B0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,wBAAwB+jC,aAAa,CAAC/jC,MAAM,iBAAiBoqC,aAAa,CAACpqC,MAAM,gBAAgBiqC,cAAc,CAACjqC,MAAM,gBAAgBopC,UAAU,CAACppC,MAAM,SAAS8oC,SAAS,CAAC9oC,MAAM,QAAQuU,KAAK,CAAC+X,SAAS,CAACtsB,MAAM,sBAAsB2iB,WAAW,CAAC3iB,MAAM,sBAAsBirB,MAAM,CAACjrB,MAAM,0BAA0BQ,KAAK,CAAC4pC,aAAa,CAACpqC,MAAM,kBAAkBiqC,cAAc,CAACjqC,MAAM,kBAAkByoC,IAAI,CAACzoC,MAAM,kBAAkB4vN,OAAO,CAACznL,YAAY,CAACnoC,MAAM,6BAA6B0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,wBAAwBoqC,aAAa,CAACpqC,MAAM,kBAAkBiqC,cAAc,CAACjqC,MAAM,kBAAkB+rC,eAAe,CAAC/rC,MAAM,oBCAjhFvC,GAAEf,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,IAAG,CAACqzqB,SAAS,CAACzloB,cAAc,SAASpD,IAAI,mBCA5HxqC,GAAE,CAACszqB,KAAK,CAACvxqB,MAAM,YAAYwxqB,IAAI,CAACxxqB,MAAM,UAAU+gC,GAAG,CAAC/gC,MAAM,WAAWy4B,MAAM,CAACz4B,MAAM,YAAY04B,OAAO,CAAC14B,MAAM,QAAQ24B,MAAM,CAAC34B,MAAM,WAAWmhC,GAAG,CAACnhC,MAAM,UAAUyxqB,IAAI,CAACzxqB,MAAM,QAAQ0xqB,KAAK,CAAC1xqB,MAAM,UAAU2xqB,MAAM,CAAC3xqB,MAAM,SCAtNkjC,GAAE,CAAC0uoB,SAAS,CAAC5xqB,MAAM,KAAK6xqB,KAAK,CAAC7xqB,MAAM,KAAKunB,MAAM,CAACvnB,MAAM,KAAK8xqB,OAAO,CAAC9xqB,MAAM,KAAK04B,OAAO,CAAC14B,MAAM,KAAK+xqB,SAAS,CAAC/xqB,MAAM,KAAKkwX,KAAK,CAAClwX,MAAM,KAAKgyqB,UAAU,CAAChyqB,MAAM,KAAKgnB,MAAM,CAAChnB,MAAM,MCA1K/B,GAAE,CAAC,EAAE,CAAC+B,MAAM,KAAK,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,GAAG,CAACA,MAAM,OAAO,IAAI,CAACA,MAAM,MCArL/B,GAAE,CAAC8iC,GAAG,CAAC/gC,MAAM,YAAYy4B,MAAM,CAACz4B,MAAM,WAAW04B,OAAO,CAAC14B,MAAM,UAAU24B,MAAM,CAAC34B,MAAM,QAAQmhC,GAAG,CAACnhC,MAAM,QAAQyxqB,IAAI,CAACzxqB,MAAM,QAAQ0xqB,KAAK,CAAC1xqB,MAAM,SCA/I/B,GAAE,CAACoohB,KAAK,CAACrmhB,MAAM,KAAKuxqB,KAAK,CAACvxqB,MAAM,WAAWwxqB,IAAI,CAACxxqB,MAAM,YAAY+gC,GAAG,CAAC/gC,MAAM,UAAUy4B,MAAM,CAACz4B,MAAM,WAAW04B,OAAO,CAAC14B,MAAM,QAAQ24B,MAAM,CAAC34B,MAAM,UAAUmhC,GAAG,CAACnhC,MAAM,UAAUyxqB,IAAI,CAACzxqB,MAAM,UAAU0xqB,KAAK,CAAC1xqB,MAAM,UAAUo4oB,SAAS,CAACm5B,KAAK,CAACvxqB,MAAM,UAAUwxqB,IAAI,CAACxxqB,MAAM,WAAW+gC,GAAG,CAAC/gC,MAAM,SAASy4B,MAAM,CAACz4B,MAAM,UAAU04B,OAAO,CAAC14B,MAAM,OAAO24B,MAAM,CAAC34B,MAAM,SAASmhC,GAAG,CAACnhC,MAAM,SAASyxqB,IAAI,CAACzxqB,MAAM,SAAS0xqB,KAAK,CAAC1xqB,MAAM,SAAS8sP,KAAK,CAAC9sP,MAAM,UCA7a/B,GAAE,CAACixB,MAAM,CAAClvB,MAAM,SAAS04B,OAAO,CAAC14B,MAAM,SAASiyqB,KAAK,CAACjyqB,MAAM,UCAgCxC,GAAE,CAACusmB,OCAqjB,CAAC/0kB,WCA29C,CAACk9oB,MCA/mE,CAAClmoB,WAAW,CAAChsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,iBAAiBirB,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,sCAAsCoqC,aAAa,CAACpqC,MAAM,uBAAuBiqC,cAAc,CAACjqC,MAAM,wBAAwB2oB,KAAK,CAAC9K,KAAK,CAAC7d,MAAM,yBAAyBmyqB,QAAQ,CAAC7lpB,SAAS,CAACtsB,MAAM,4BAA4B2iB,WAAW,CAAC3iB,MAAM,6BAA6BqqB,KAAK,CAACY,MAAM,CAACjrB,MAAM,4BAA4BspC,gBAAgB,CAACtpC,MAAM,mCAAmCiC,MAAM,CAACgpB,MAAM,CAACjrB,MAAM,6BAA6BspC,gBAAgB,CAACtpC,MAAM,oCAAoC2qB,QAAQ,CAACM,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,sCAAsCwqB,QAAQ,CAACS,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,uCDAg1CoyqB,cEAvnE,CAACtpoB,SAAS,CAAC9oC,MAAM,SAAS4wB,MAAM,CAAC0H,MAAM,CAACt4B,MAAM,yBAAyB0vB,OAAO,CAAC1vB,MAAM,yBAAyBspC,gBAAgB,CAACtpC,MAAM,6BAA6B4sC,IAAI,CAAC5sC,MAAM,gBAAgB+sC,KAAK,CAAC/sC,MAAM,iBAAiBqW,UAAU,CAACg8pB,SAAS,CAACryqB,MAAM,UAAUsyqB,OAAO,CAACzha,YAAY,CAAC7wQ,MAAM,8BAA8B0oqB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,iCAAiCspC,gBAAgB,CAACtpC,MAAM,qCAAqCgtC,UAAU,CAAChtC,MAAM,2BAA2B4vN,OAAO,CAAC7lL,cAAc,CAAC/pC,MAAM,yBAAyB6hF,KAAK,CAAC16C,QAAQ,CAACnnC,MAAM,qBAAqBsH,MAAM,CAACgqK,SAAS,CAAChoI,gBAAgB,CAACtpC,MAAM,yCAAyCuyqB,YAAY,CAACtnpB,MAAM,CAACjrB,MAAM,6BAA6BwyqB,OAAO,CAAClpoB,gBAAgB,CAACtpC,MAAM,wCFAg5Coja,aGAvoE,CAAC/0F,KAAK,CAAC/1S,MAAM,CAACt4B,MAAM,QAAQqrC,iBAAiB,CAACrrC,MAAM,gBAAgBspC,gBAAgB,CAACtpC,MAAM,+BAA+BmoC,YAAY,CAACnoC,MAAM,2BAA2B6wQ,YAAY,CAAC7wQ,MAAM,wBAAwB0oqB,YAAY,CAAC1oqB,MAAM,SAAS+jC,aAAa,CAAC/jC,MAAM,iBAAiBkY,QAAQ,CAACqgB,QAAQ,CAACv4B,MAAM,QAAQ6rC,cAAc,CAAC7rC,MAAM,UAAUopC,UAAU,CAACppC,MAAM,UAAUmlE,OAAO,CAAC77B,gBAAgB,CAACtpC,MAAM,+BAA+BirB,MAAM,CAACjrB,MAAM,gBAAgBskB,OAAO,CAACtkB,MAAM,WAAWu5F,mBAAmB,CAACv5F,MAAM,gBAAgB83F,mBAAmB,CAAC93F,MAAM,2BAA2Bw5F,yBAAyB,CAACx5F,MAAM,QAAQw1J,QAAQ,CAAClsH,gBAAgB,CAACtpC,MAAM,6BAA6BirB,MAAM,CAACjrB,MAAM,oBAAoByyqB,OAAO,CAACl6oB,QAAQ,CAACv4B,MAAM,SAAS0yqB,SAAS,CAAC1moB,WAAW,CAAChsC,MAAM,UAAUu4B,QAAQ,CAACv4B,MAAM,QAAQyoC,IAAI,CAACzoC,MAAM,iBAAiB2yqB,YAAY,CAACvooB,aAAa,CAACpqC,MAAM,cAAciqC,cAAc,CAACjqC,MAAM,oBHAkxCgua,MIAtpE,CAAC/iZ,MAAM,CAACjrB,MAAM,+BAA+B4iB,WAAW,CAAC5iB,MAAM,GAAG2iB,WAAW,CAAC3iB,MAAM,gCAAgCssB,SAAS,CAACtsB,MAAM,2BAA2BmtC,UAAU,CAACntC,MAAM,UAAU4yqB,gBAAgB,CAAC5yqB,MAAM,oBAAoB6yqB,kBAAkB,CAAC7yqB,MAAM,uBAAuBspC,gBAAgB,CAACtpC,MAAM,sCAAsC+jC,aAAa,CAAC/jC,MAAM,oBAAoBqqB,KAAK,CAACY,MAAM,CAACjrB,MAAM,4BAA4BspC,gBAAgB,CAACtpC,MAAM,mCAAmC2qB,QAAQ,CAACM,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,sCAAsCwqB,QAAQ,CAACS,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,sCAAsCiC,MAAM,CAACgpB,MAAM,CAACjrB,MAAM,6BAA6BspC,gBAAgB,CAACtpC,MAAM,oCAAoCy4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,wBAAwB4yqB,gBAAgB,CAAC5yqB,MAAM,qBAAqB6yqB,kBAAkB,CAAC7yqB,MAAM,qBAAqB24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,4BAA4B4yqB,gBAAgB,CAAC5yqB,MAAM,uBAAuB6yqB,kBAAkB,CAAC7yqB,MAAM,0BJAwmCouB,OKA9pE,CAACzL,WAAW,CAAC3iB,MAAM,4BAA4Bu5F,mBAAmB,CAACv5F,MAAM,sDAAsDssB,SAAS,CAACtsB,MAAM,4CAA4C4iB,WAAW,CAAC5iB,MAAM,8CAA8CqqC,kBAAkB,CAACrqC,MAAM,qDAAqDsqC,gBAAgB,CAACtqC,MAAM,mDAAmDkqC,mBAAmB,CAAClqC,MAAM,sDAAsDmqC,iBAAiB,CAACnqC,MAAM,oDAAoDmoC,YAAY,CAACnoC,MAAM,+CAA+C6wQ,YAAY,CAAC7wQ,MAAM,+CAA+C0oqB,YAAY,CAAC1oqB,MAAM,+CAA+C+jC,aAAa,CAAC/jC,MAAM,gDAAgDirB,MAAM,CAACjrB,MAAM,+BAA+BsmgB,OAAO,CAACr7e,MAAM,CAACjrB,MAAM,6BAA6BspC,gBAAgB,CAACtpC,MAAM,mCAAmCmoC,YAAY,CAACnoC,MAAM,oCAAoCqrW,OAAO,CAACpgV,MAAM,CAACjrB,MAAM,6BAA6BspC,gBAAgB,CAACtpC,MAAM,mCAAmCmoC,YAAY,CAACnoC,MAAM,+BAA+BgtC,UAAU,CAAChtC,MAAM,qDAAqDw1J,QAAQ,CAACvqI,MAAM,CAACjrB,MAAM,8BAA8BspC,gBAAgB,CAACtpC,MAAM,mCAAmCmoC,YAAY,CAACnoC,MAAM,qCAAqC0yqB,SAAS,CAACznpB,MAAM,CAACjrB,MAAM,gCAAgCspC,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,mCAAmC8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,gCAAgCspC,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,mCAAmCwnB,QAAQ,CAAC2gB,YAAY,CAACnoC,MAAM,eAAe6wQ,YAAY,CAAC7wQ,MAAM,8BAA8B0oqB,YAAY,CAAC1oqB,MAAM,SAASspC,gBAAgB,CAACtpC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,+BAA+B8yqB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,sCAAsCirB,MAAM,CAACjrB,MAAM,iCAAiC0yqB,SAAS,CAACvqoB,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,sCAAsCirB,MAAM,CAACjrB,MAAM,iCAAiCsmgB,OAAO,CAACn+d,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,gCAAgCqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,+BAA+BgtC,UAAU,CAAChtC,MAAM,qDAAqDw1J,QAAQ,CAACrtH,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,oCAAoCirB,MAAM,CAACjrB,MAAM,iCAAiCquU,KAAK,CAACx9D,YAAY,CAAC7wQ,MAAM,sBAAsBspC,gBAAgB,CAACtpC,MAAM,eAAe+rC,eAAe,CAAC/rC,MAAM,SAASsmgB,OAAO,CAACr7e,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,oCAAoCqrW,OAAO,CAACpgV,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,oCAAoCw1J,QAAQ,CAACvqI,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,oCAAoC8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,kCAAkC0gQ,KAAK,CAACp3N,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,eAAe6wQ,YAAY,CAAC7wQ,MAAM,sBAAsBirB,MAAM,CAACjrB,MAAM,mCAAmCsmgB,OAAO,CAACn+d,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,8BAA8BqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,6BAA6BgtC,UAAU,CAAChtC,MAAM,qDAAqDw1J,QAAQ,CAACrtH,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,+BAA+B8yqB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,eAAeirB,MAAM,CAACjrB,MAAM,iCAAiC0yqB,SAAS,CAACvqoB,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,eAAeirB,MAAM,CAACjrB,MAAM,kCAAkC2qB,QAAQ,CAAC2e,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,mBAAmB6wQ,YAAY,CAAC7wQ,MAAM,wBAAwBirB,MAAM,CAACjrB,MAAM,mBAAmBsmgB,OAAO,CAACn+d,YAAY,CAACnoC,MAAM,mBAAmBspC,gBAAgB,CAACtpC,MAAM,mBAAmBirB,MAAM,CAACjrB,MAAM,wBAAwBqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,mBAAmBspC,gBAAgB,CAACtpC,MAAM,mBAAmBirB,MAAM,CAACjrB,MAAM,mBAAmBgtC,UAAU,CAAChtC,MAAM,sDAAsDw1J,QAAQ,CAACrtH,YAAY,CAACnoC,MAAM,oBAAoBspC,gBAAgB,CAACtpC,MAAM,mBAAmBirB,MAAM,CAACjrB,MAAM,qBAAqB8yqB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,4BAA4BspC,gBAAgB,CAACtpC,MAAM,eAAeirB,MAAM,CAACjrB,MAAM,2BAA2B0yqB,SAAS,CAACvqoB,YAAY,CAACnoC,MAAM,4BAA4BspC,gBAAgB,CAACtpC,MAAM,eAAeirB,MAAM,CAACjrB,MAAM,4BAA4B+yqB,YAAY,CAAC5qoB,YAAY,CAACnoC,MAAM,eAAe6wQ,YAAY,CAAC7wQ,MAAM,wBAAwB0oqB,YAAY,CAAC1oqB,MAAM,SAASspC,gBAAgB,CAACtpC,MAAM,mBAAmBirB,MAAM,CAACjrB,MAAM,yBAAyB8yqB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,gCAAgCirB,MAAM,CAACjrB,MAAM,2BAA2B0yqB,SAAS,CAACvqoB,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,gCAAgCirB,MAAM,CAACjrB,MAAM,2BAA2BsmgB,OAAO,CAACn+d,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mBAAmBirB,MAAM,CAACjrB,MAAM,0BAA0BqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,mBAAmBirB,MAAM,CAACjrB,MAAM,yBAAyBgtC,UAAU,CAAChtC,MAAM,sDAAsDw1J,QAAQ,CAACrtH,YAAY,CAACnoC,MAAM,eAAespC,gBAAgB,CAACtpC,MAAM,oBAAoBirB,MAAM,CAACjrB,MAAM,2BAA2By4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,kDAAkDqqC,kBAAkB,CAACrqC,MAAM,2DAA2DsqC,gBAAgB,CAACtqC,MAAM,yDAAyDkqC,mBAAmB,CAAClqC,MAAM,4DAA4DmqC,iBAAiB,CAACnqC,MAAM,2DAA2D24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,kDAAkDqqC,kBAAkB,CAACrqC,MAAM,2DAA2DsqC,gBAAgB,CAACtqC,MAAM,yDAAyDkqC,mBAAmB,CAAClqC,MAAM,4DAA4DmqC,iBAAiB,CAACnqC,MAAM,2DAA2DgzqB,cAAc,CAAChnoB,WAAW,CAAChsC,MAAM,UAAUyoC,IAAI,CAACzoC,MAAM,sBLAphJizqB,KMAvqE,CAAC3poB,gBAAgB,CAACtpC,MAAM,qCAAqC+jC,aAAa,CAAC/jC,MAAM,oBAAoB6wQ,YAAY,CAAC7wQ,MAAM,KAAK0oqB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,eAAegtC,UAAU,CAAChtC,MAAM,QAAQmnC,QAAQ,CAACnnC,MAAM,wBAAwBkzqB,SAAS,CAAC5poB,gBAAgB,CAACtpC,MAAM,2CAA2C+jC,aAAa,CAAC/jC,MAAM,oBAAoB6wQ,YAAY,CAAC7wQ,MAAM,8BAA8B0oqB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,iCAAiCgtC,UAAU,CAAChtC,MAAM,sCAAsCmzqB,SAAS,CAAC7poB,gBAAgB,CAACtpC,MAAM,2CAA2C+jC,aAAa,CAAC/jC,MAAM,oBAAoB6wQ,YAAY,CAAC7wQ,MAAM,KAAK0oqB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,eAAegtC,UAAU,CAAChtC,MAAM,4BNA46CozqB,SOA9qE,CAAC9upB,OAAO,CAACtkB,MAAM,WAAWgsC,WAAW,CAAChsC,MAAM,UAAU8yqB,UAAU,CAACxupB,OAAO,CAACtkB,MAAM,gBAAgBouB,OAAO,CAACtmB,SAAS,CAAC9H,MAAM,YAAYgsC,WAAW,CAAChsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,UAAUirB,MAAM,CAACjrB,MAAM,+BAA+BqY,OAAO,CAACigB,MAAM,CAACt4B,MAAM,QAAQ0vB,OAAO,CAAC1vB,MAAM,QAAQ6wQ,YAAY,CAAC7wQ,MAAM,+BAA+B+jC,aAAa,CAAC/jC,MAAM,OAAO0oqB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,kCAAkCqrW,OAAO,CAACgoU,aAAa,CAACrzqB,MAAM,8BAA8BszqB,aAAa,CAACtzqB,MAAM,SAASuzqB,aAAa,CAACvzqB,MAAM,gCAAgCwzqB,cAAc,CAACxzqB,MAAM,iCAAiCmoC,YAAY,CAACnoC,MAAM,8BAA8BgtC,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAMC,aAAa,MAAM3opB,MAAM,iCAAiC6npB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,mCAAmC6zqB,OAAO,CAAC1roB,YAAY,CAACnoC,MAAM,+BAA+BqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,8BAA8BgtC,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAMC,aAAa,MAAM3opB,MAAM,mCAAmCtC,KAAK,CAAC2gB,gBAAgB,CAACtpC,MAAM,mCAAmC+jC,aAAa,CAAC/jC,MAAM,OAAO6iB,QAAQ,CAAC7iB,MAAM,uBAAuBolC,UAAU,CAACplC,MAAM,YAAY83F,mBAAmB,CAAC93F,MAAM,OAAOu5F,mBAAmB,CAACv5F,MAAM,sBAAsBw5F,yBAAyB,CAACx5F,MAAM,eAAe8zqB,SAAS,CAACjxpB,QAAQ,CAAC7iB,MAAM,yBAAyBolC,UAAU,CAACplC,MAAM,YAAY8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,wCAAwC+zqB,eAAe,CAAClxpB,QAAQ,CAAC7iB,MAAM,yBAAyBolC,UAAU,CAACplC,MAAM,YAAY8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,yCAAyCa,MAAM,CAACiyqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,mCPA6eg0qB,cQAzrE,CAAChooB,WAAW,CAAChsC,MAAM,cAAcisC,aAAa,CAACjsC,MAAM,UAAU6rC,cAAc,CAAC7rC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,WRAqlE4f,WSAzsE,CAACq0pB,WAAW,CAACn4oB,QAAQ,CAAC7Q,MAAM,CAACjrB,MAAM,yCAAyCspC,gBAAgB,CAACtpC,MAAM,oDAAoDouB,OAAO,CAACnD,MAAM,CAACjrB,MAAM,wCAAwCsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,wDAAwDirB,MAAM,CAACjrB,MAAM,+CAA+C8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,oDAAoD+Z,OAAO,CAAChQ,MAAM,CAACkhB,MAAM,CAACjrB,MAAM,mCAAmCouB,OAAO,CAACnD,MAAM,CAACjrB,MAAM,yCAAyCw1J,QAAQ,CAAClsH,gBAAgB,CAACtpC,MAAM,2DAA2DmoC,YAAY,CAACnoC,MAAM,uDAAuDirB,MAAM,CAACjrB,MAAM,kDAAkD8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,6DAA6DmoC,YAAY,CAACnoC,MAAM,yDAAyDirB,MAAM,CAACjrB,MAAM,oDAAoDqrW,OAAO,CAAC/hU,gBAAgB,CAACtpC,MAAM,0DAA0DmoC,YAAY,CAACnoC,MAAM,sDAAsDirB,MAAM,CAACjrB,MAAM,iDAAiDsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,0DAA0DmoC,YAAY,CAACnoC,MAAM,sDAAsDirB,MAAM,CAACjrB,MAAM,oDTAu0Bkb,KUAttE,CAACoR,SAAS,CAACtsB,MAAM,kBAAkByoC,IAAI,CAACzoC,MAAM,2BAA2Bk0qB,IAAI,CAAC95oB,KAAK,CAACjE,KAAK,CAACn2B,MAAM,2BAA2Bm0qB,QAAQ,CAACrnoB,OAAO,CAAC9sC,MAAM,iBAAiBirB,MAAM,CAACjrB,MAAM,qBAAqBssB,SAAS,CAACtsB,MAAM,qBVAwgEo0qB,kBWA7tE,CAAC1kpB,OAAO,CAAC1vB,MAAM,gCXAkuE2nB,QYAjvE,CAAC+gpB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,iCAAiC6wQ,YAAY,CAAC7wQ,MAAM,+BAA+Ba,MAAM,CAACoqB,MAAM,CAACjrB,MAAM,gCAAgCiqC,cAAc,CAACjqC,MAAM,wBAAwBssB,SAAS,CAACtsB,MAAM,2BAA2BspC,gBAAgB,CAACtpC,MAAM,sCAAsCy4B,MAAM,CAACo4O,YAAY,CAAC7wQ,MAAM,+BAA+B24B,MAAM,CAACk4O,YAAY,CAAC7wQ,MAAM,+BAA+B6iB,QAAQ,CAAC7iB,MAAM,yBZA8yDq0qB,SaA3vE,CAAC97oB,QAAQ,CAACv4B,MAAM,SAASspC,gBAAgB,CAACtpC,MAAM,qCAAqC+jC,aAAa,CAAC/jC,MAAM,wBAAwBgtC,UAAU,CAAChtC,MAAM,yBAAyBs4B,MAAM,CAACt4B,MAAM,QAAQsW,KAAK,CAACu0B,UAAU,CAAC7qC,MAAM,OAAOgtC,UAAU,CAAChtC,MAAM,yBAAyBs0qB,uBAAuB,CAACt0qB,MAAM,wBAAwBu0qB,wBAAwB,CAACv0qB,MAAM,wBAAwBw0qB,oBAAoB,CAACx0qB,MAAM,wBAAwBy0qB,qBAAqB,CAACz0qB,MAAM,wBAAwB00qB,uBAAuB,CAAC10qB,MAAM,wBAAwB20qB,qBAAqB,CAAC30qB,MAAM,wBAAwB40qB,qBAAqB,CAAC50qB,MAAM,wBAAwB60qB,mBAAmB,CAAC70qB,MAAM,wBAAwBqrW,OAAO,CAACr+T,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,IAAIC,QAAQ,IAAIC,WAAW,IAAIC,aAAa,MAAM3opB,MAAM,kCAAkC2ic,OAAO,CAAC5gb,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,IAAIC,QAAQ,MAAMC,WAAW,IAAI1opB,MAAM,+BAA+ByxI,QAAQ,CAAC51I,UAAU,CAAC9mB,MAAM,QAAQkqC,mBAAmB,CAAClqC,MAAM,uBAAuBmqC,iBAAiB,CAACnqC,MAAM,uBAAuBgsC,WAAW,CAAChsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,iBAAiBsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,+BAA+Bm9C,QAAQ,CAACjT,mBAAmB,CAAClqC,MAAM,uBAAuBmqC,iBAAiB,CAACnqC,MAAM,uBAAuBuU,KAAK,CAAC0W,MAAM,CAACjrB,MAAM,iCAAiCqqC,kBAAkB,CAACrqC,MAAM,wBAAwBsqC,gBAAgB,CAACtqC,MAAM,yBAAyB80qB,MAAM,CAACxsK,kBAAkB,CAACtogB,MAAM,uBAAuB+0qB,wBAAwB,CAAC/0qB,MAAM,mCAAmC68kB,QAAQ,CAACv0E,kBAAkB,CAACtogB,MAAM,uBAAuB+0qB,wBAAwB,CAAC/0qB,MAAM,oCAAoC2oB,KAAK,CAAC4wE,mBAAmB,CAACv5F,MAAM,uBAAuBw5F,yBAAyB,CAACx5F,MAAM,oCbAyiBkiF,McAtwE,CAACz5C,IAAI,CAACzoC,MAAM,oBAAoBssB,SAAS,CAACtsB,MAAM,4BAA4B6rC,cAAc,CAAC7rC,MAAM,UAAUy4B,MAAM,CAACgQ,IAAI,CAACzoC,MAAM,sBAAsBssB,SAAS,CAACtsB,MAAM,4BAA4B24B,MAAM,CAAC8P,IAAI,CAACzoC,MAAM,uBAAuBssB,SAAS,CAACtsB,MAAM,4BAA4Ba,MAAM,CAACoqB,MAAM,CAACjrB,MAAM,mCdAs+Dg1qB,aeA9wE,CAACtM,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,iCAAiC6wQ,YAAY,CAAC7wQ,MAAM,8BAA8B+jC,aAAa,CAAC/jC,MAAM,uBAAuBirB,MAAM,CAACjrB,MAAM,+BAA+BqqC,kBAAkB,CAACrqC,MAAM,oBAAoBsqC,gBAAgB,CAACtqC,MAAM,oBAAoBkqC,mBAAmB,CAAClqC,MAAM,wBAAwBmqC,iBAAiB,CAACnqC,MAAM,wBAAwBssB,SAAS,CAACtsB,MAAM,qCAAqC4iB,WAAW,CAAC5iB,MAAM,8BAA8Bu5F,mBAAmB,CAACv5F,MAAM,uBAAuBqzqB,aAAa,CAACrzqB,MAAM,8BAA8BszqB,aAAa,CAACtzqB,MAAM,SAASuzqB,aAAa,CAACvzqB,MAAM,gCAAgCwzqB,cAAc,CAACxzqB,MAAM,iCAAiCy4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,2CAA2CqqC,kBAAkB,CAACrqC,MAAM,qBAAqBsqC,gBAAgB,CAACtqC,MAAM,qBAAqBkqC,mBAAmB,CAAClqC,MAAM,uBAAuBmqC,iBAAiB,CAACnqC,MAAM,wBAAwB24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,2CAA2CqqC,kBAAkB,CAACrqC,MAAM,oBAAoBsqC,gBAAgB,CAACtqC,MAAM,oBAAoBkqC,mBAAmB,CAAClqC,MAAM,wBAAwBmqC,iBAAiB,CAACnqC,MAAM,yBAAyBi1qB,MAAM,CAACvM,YAAY,CAAC1oqB,MAAM,QAAQk1qB,kBAAkB,CAACl1qB,MAAM,QAAQm1qB,gBAAgB,CAACn1qB,MAAM,QAAQo1qB,iBAAiB,CAACp1qB,MAAM,QAAQ+jC,aAAa,CAAC/jC,MAAM,KAAKqrW,OAAO,CAACgqU,oBAAoB,CAACr1qB,MAAM,+BAA+BgtC,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMzopB,MAAM,8BAA8B0opB,WAAW,SAASE,OAAO,CAACwB,oBAAoB,CAACr1qB,MAAM,+BAA+BqrW,OAAO,CAACr+T,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMzopB,MAAM,8BAA8B0opB,WAAW,WAAWtoU,OAAO,CAACljU,YAAY,CAACnoC,MAAM,+BAA+BgtC,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAMC,aAAa,MAAM3opB,MAAM,iCAAiC6npB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,gCAAgCskB,OAAO,CAACtkB,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,8BAA8BspC,gBAAgB,CAACtpC,MAAM,uCAAuC6zqB,OAAO,CAAC1roB,YAAY,CAACnoC,MAAM,+BAA+BqrW,OAAO,CAACr+T,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAMC,aAAa,MAAM3opB,MAAM,mCfA2DqqpB,WgBA7xE,CAAC7soB,IAAI,CAACzoC,MAAM,sBAAsBozK,SAAS,CAACpnI,WAAW,CAAChsC,MAAM,WAAW6J,MAAM,CAACmiC,WAAW,CAAChsC,MAAM,YhBAwsEu1qB,ciBA1yE,CAACtzqB,MAAM,CAACgpB,MAAM,CAACjrB,MAAM,6BAA6BssB,SAAS,CAACtsB,MAAM,4BAA4Bg4C,YAAY,CAAC/sB,MAAM,CAACjrB,MAAM,iCAAiCktC,UAAU,CAACltC,MAAM,UAAUssB,SAAS,CAACtsB,MAAM,6BjBAsnEw1qB,aAAapsqB,GAAEqY,KkBAz0E,CAACgnB,IAAI,CAACzoC,MAAM,wBAAwB+rC,eAAe,CAAC/rC,MAAM,UAAUgsC,WAAW,CAAChsC,MAAM,WAAWisC,aAAa,CAACjsC,MAAM,UAAU8rC,SAAS,CAAC9rC,MAAM,WlBAisEmyqB,QmBAh1E,CAAClnpB,MAAM,CAACjrB,MAAM,+BAA+B4iB,WAAW,CAAC5iB,MAAM,6BAA6B,EAAE,CAACssB,SAAS,CAACtsB,MAAM,2BAA2B2iB,WAAW,CAAC3iB,MAAM,8BAA8B,EAAE,CAACssB,SAAS,CAACtsB,MAAM,0BAA0B2iB,WAAW,CAAC3iB,MAAM,+BAA+B,EAAE,CAACssB,SAAS,CAACtsB,MAAM,yBAAyB2iB,WAAW,CAAC3iB,MAAM,+BAA+B,EAAE,CAACssB,SAAS,CAACtsB,MAAM,wBAAwB2iB,WAAW,CAAC3iB,MAAM,iCAAiC,EAAE,CAACssB,SAAS,CAACtsB,MAAM,2BAA2B2iB,WAAW,CAAC3iB,MAAM,6BAA6B,EAAE,CAACssB,SAAS,CAACtsB,MAAM,4BAA4B2iB,WAAW,CAAC3iB,MAAM,mCnBAyuD2oB,KoBA11E,CAAC/F,WAAW,CAAC5iB,MAAM,GAAG0vB,OAAO,CAAC1vB,MAAM,QpBA6zEy1qB,eqBAj2E,CAACC,YAAY,CAAC/ypB,WAAW,CAAC3iB,MAAM,wBrBAk1E2whB,MsBAl3E,CAAC7nf,SAAS,CAAC9oC,MAAM,QAAQ0vB,OAAO,CAAC1vB,MAAM,QAAQ2tpB,UAAU,CAAC3tpB,MAAM,WAAW21qB,eAAe,CAAC31qB,MAAM,YtBAyxE41qB,euBA13E,CAACC,OAAO,CAACnmpB,OAAO,CAAC1vB,MAAM,UAAUs4B,MAAM,CAACt4B,MAAM,WAAWouB,OAAO,CAACkb,gBAAgB,CAACtpC,MAAM,WAAW+jC,aAAa,CAAC/jC,MAAM,OAAOirB,MAAM,CAACjrB,MAAM,UAAU81qB,OAAO,CAACpmpB,OAAO,CAAC1vB,MAAM,QAAQ8mB,UAAU,CAAC9mB,MAAM,SAASmpC,SAAS,CAACnpC,MAAM,SAASs4B,MAAM,CAACt4B,MAAM,SAAS4td,OAAO,CAACthc,SAAS,CAACtsB,MAAM,4BAA4B2iB,WAAW,CAAC3iB,MAAM,mCvBAykE0gQ,KwBA34E,CAAC14O,OAAO,CAACiD,MAAM,CAACjrB,MAAM,+BAA+BirB,MAAM,CAACjrB,MAAM,mCAAmCuoB,MAAM,CAAC0C,MAAM,CAACjrB,MAAM,8BAA8BioB,MAAM,CAACgD,MAAM,CAACjrB,MAAM,8BAA8B+1qB,QAAQ,CAAC9qpB,MAAM,CAACjrB,MAAM,qCxBAmrEg2qB,SyBAl5E,CAACC,aAAa,CAAC3soB,gBAAgB,CAACtpC,MAAM,oBzBAu3EixqB,O0BA75E,CAAC34oB,MAAM,CAACt4B,MAAM,4BAA4B0vB,OAAO,CAAC1vB,MAAM,4BAA4BssB,SAAS,CAACtsB,MAAM,wBAAwBmxqB,YAAY,CAACnxqB,MAAM,6BAA6BoxqB,aAAa,CAACpxqB,MAAM,mCAAmCkxqB,cAAc,CAAClxqB,MAAM,SAASsogB,kBAAkB,CAACtogB,MAAM,MAAMy4B,MAAM,CAACH,MAAM,CAACt4B,MAAM,2BAA2B0vB,OAAO,CAAC1vB,MAAM,2BAA2BssB,SAAS,CAACtsB,MAAM,0BAA0B24B,MAAM,CAACL,MAAM,CAACt4B,MAAM,2BAA2B0vB,OAAO,CAAC1vB,MAAM,2BAA2BssB,SAAS,CAACtsB,MAAM,4BAA4Bk2F,OAAO,CAAC59D,MAAM,CAACt4B,MAAM,QAAQmpC,SAAS,CAACnpC,MAAM,QAAQssB,SAAS,CAACtsB,MAAM,4BAA4B4jB,YAAY,CAAC5jB,MAAM,4BAA4BoxqB,aAAa,CAACpxqB,MAAM,mCAAmCmxqB,YAAY,CAACnxqB,MAAM,6BAA6BkxqB,cAAc,CAAClxqB,MAAM,SAASsogB,kBAAkB,CAACtogB,MAAM,MAAMy4B,MAAM,CAAC7U,YAAY,CAAC5jB,MAAM,2BAA2BssB,SAAS,CAACtsB,MAAM,4BAA4B24B,MAAM,CAAC/U,YAAY,CAAC5jB,MAAM,2BAA2BssB,SAAS,CAACtsB,MAAM,6BAA6BuU,KAAK,CAAC4hB,KAAK,CAACn2B,MAAM,iC1BAu3CquU,K2BAt6E,CAAC/kS,gBAAgB,CAACtpC,MAAM,qCAAqC+jC,aAAa,CAAC/jC,MAAM,wBAAwB6wQ,YAAY,CAAC7wQ,MAAM,8BAA8B0oqB,YAAY,CAAC1oqB,MAAM,SAASmoC,YAAY,CAACnoC,MAAM,iCAAiCgtC,UAAU,CAAChtC,MAAM,yBAAyB6rC,cAAc,CAAC7rC,MAAM,UAAUyoC,IAAI,CAACzoC,MAAM,sBAAsB8oC,SAAS,CAAC9oC,MAAM,SAASmpC,SAAS,CAACnpC,MAAM,SAASy4B,MAAM,CAACH,MAAM,CAACt4B,MAAM,4BAA4B0vB,OAAO,CAAC1vB,MAAM,6BAA6B24B,MAAM,CAACL,MAAM,CAACt4B,MAAM,0BAA0B0vB,OAAO,CAAC1vB,MAAM,2BAA2BsW,KAAK,CAACwQ,UAAU,CAAC9mB,MAAM,UAAUkqC,mBAAmB,CAAClqC,MAAM,wBAAwBmqC,iBAAiB,CAACnqC,MAAM,0B3BA0wDi0qB,W4BA76E,CAACn4oB,QAAQ,CAACkQ,WAAW,CAAChsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,UAAUirB,MAAM,CAACjrB,MAAM,+BAA+BssB,SAAS,CAACtsB,MAAM,2BAA2BspC,gBAAgB,CAACtpC,MAAM,8BAA8BouB,OAAO,CAACnD,MAAM,CAACjrB,MAAM,+BAA+BkqC,mBAAmB,CAAClqC,MAAM,qBAAqBmqC,iBAAiB,CAACnqC,MAAM,qBAAqB83F,mBAAmB,CAAC93F,MAAM,oBAAoBu5F,mBAAmB,CAACv5F,MAAM,uBAAuBioB,MAAM,CAACqhB,gBAAgB,CAACtpC,MAAM,6BAA6BirB,MAAM,CAACjrB,MAAM,gCAAgC0nB,SAAS,CAACuD,MAAM,CAACjrB,MAAM,kCAAkCk2qB,SAAS,CAAClqoB,WAAW,CAAChsC,MAAM,YAAY+rC,eAAe,CAAC/rC,MAAM,UAAUkqC,mBAAmB,CAAClqC,MAAM,oBAAoBmqC,iBAAiB,CAACnqC,MAAM,qBAAqB81Q,cAAc,CAAC9qO,WAAW,CAAChrC,MAAM,sBAAsB8qC,YAAY,CAAC9qC,MAAM,uBAAuBm2qB,WAAW,CAACzmpB,OAAO,CAAC1vB,MAAM,yBAAyBmpC,SAAS,CAACnpC,MAAM,yBAAyB+jC,aAAa,CAAC/jC,MAAM,8B5BAo+Co2qB,c6BA17E,CAACnrpB,MAAM,CAACjrB,MAAM,yCAAyCouB,OAAO,CAACnD,MAAM,CAACjrB,MAAM,mCAAmCw1J,QAAQ,CAAClsH,gBAAgB,CAACtpC,MAAM,qDAAqDmoC,YAAY,CAACnoC,MAAM,iDAAiDirB,MAAM,CAACjrB,MAAM,4CAA4C8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,uDAAuDmoC,YAAY,CAACnoC,MAAM,mDAAmDirB,MAAM,CAACjrB,MAAM,8CAA8CqrW,OAAO,CAAC/hU,gBAAgB,CAACtpC,MAAM,oDAAoDmoC,YAAY,CAACnoC,MAAM,gDAAgDirB,MAAM,CAACjrB,MAAM,2CAA2CsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,oDAAoDmoC,YAAY,CAACnoC,MAAM,gDAAgDirB,MAAM,CAACjrB,MAAM,6C7BA8jDq2qB,iB8BA18E,CAACprpB,MAAM,CAACjrB,MAAM,mCAAmCmoC,YAAY,CAACnoC,MAAM,yCAAyCssB,SAAS,CAACtsB,MAAM,sCAAsCqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,kD9BA+xE0nF,Y+BA79E,CAAC3jD,aAAa,CAAC/jC,MAAM,uBAAuBu5F,mBAAmB,CAACv5F,MAAM,qBAAqBs2qB,WAAW,CAACt2qB,MAAM,uCAAuCu2qB,SAAS,CAACv2qB,MAAM,sCAAsCy4B,MAAM,CAAC/I,OAAO,CAAC1vB,MAAM,wBAAwBwD,QAAQ,CAACksB,OAAO,CAAC1vB,MAAM,yBAAyB24B,MAAM,CAACjJ,OAAO,CAAC1vB,MAAM,yB/BA+qEw2qB,MgCA3+E,CAACxqoB,WAAW,CAAChsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,cAAcyoC,IAAI,CAACzoC,MAAM,WAAW8yqB,UAAU,CAACxupB,OAAO,CAACtkB,MAAM,gBAAgBouB,OAAO,CAAC4d,WAAW,CAAChsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,UAAUs4B,MAAM,CAACt4B,MAAM,4BAA4B0vB,OAAO,CAAC1vB,MAAM,4BAA4BitC,UAAU,CAACjtC,MAAM,cAAc6wQ,YAAY,CAAC7wQ,MAAM,+BAA+B0oqB,YAAY,CAAC1oqB,MAAM,SAAS+jC,aAAa,CAAC/jC,MAAM,OAAOmoC,YAAY,CAACnoC,MAAM,iCAAiCirB,MAAM,CAACjrB,MAAM,qCAAqCspC,gBAAgB,CAACtpC,MAAM,qCAAqC83F,mBAAmB,CAAC93F,MAAM,OAAOu5F,mBAAmB,CAACv5F,MAAM,uBAAuBqzqB,aAAa,CAACrzqB,MAAM,8BAA8BszqB,aAAa,CAACtzqB,MAAM,SAASuzqB,aAAa,CAACvzqB,MAAM,gCAAgCwzqB,cAAc,CAACxzqB,MAAM,iCAAiCmnC,QAAQ,CAACnnC,MAAM,+BAA+By4B,MAAM,CAACH,MAAM,CAACt4B,MAAM,2BAA2B0vB,OAAO,CAAC1vB,MAAM,4BAA4B24B,MAAM,CAACL,MAAM,CAACt4B,MAAM,2BAA2B0vB,OAAO,CAAC1vB,MAAM,4BAA4B8zqB,SAAS,CAAC7opB,MAAM,CAACjrB,MAAM,mCAAmC8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,wCAAwCqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,+BAA+BgtC,UAAU,CAAChtC,MAAM,qDAAqD6zqB,OAAO,CAAC1roB,YAAY,CAACnoC,MAAM,+BAA+BqrW,OAAO,CAACr+T,UAAU,CAAChtC,MAAM,6DAA6D8yqB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,kCAAkCspC,gBAAgB,CAACtpC,MAAM,uCAAuCa,MAAM,CAACoqB,MAAM,CAACjrB,MAAM,iCAAiC8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,mChCAk3By2qB,WiCAn/E,CAACD,MAAM,CAAC3la,YAAY,CAAC7wQ,MAAM,yCAAyCmoC,YAAY,CAACnoC,MAAM,yCAAyCspC,gBAAgB,CAACtpC,MAAM,6CAA6C8zqB,SAAS,CAAC7opB,MAAM,CAACjrB,MAAM,6CAA6Ca,MAAM,CAACoqB,MAAM,CAACjrB,MAAM,oCAAoCa,MAAM,CAACoqB,MAAM,CAACjrB,MAAM,oCjCA4qE02qB,OkCAhgF,CAAC/9oB,MAAM,CAAC9a,KAAK,CAAC7d,MAAM,2BAA2BwD,QAAQ,CAACqa,KAAK,CAAC7d,MAAM,yBAAyBy4B,MAAM,CAAC5a,KAAK,CAAC7d,MAAM,4BAA4B22qB,OAAO,CAAC1rpB,MAAM,CAACjrB,MAAM,sCAAsCi5G,MAAM,CAAChuF,MAAM,CAACjrB,MAAM,wClCA8yE42qB,YmCAzgF,CAAC3rpB,MAAM,CAACjrB,MAAM,yCAAyCouB,OAAO,CAACnD,MAAM,CAACjrB,MAAM,mCAAmCspC,gBAAgB,CAACtpC,MAAM,qCAAqCw1J,QAAQ,CAAClsH,gBAAgB,CAACtpC,MAAM,qDAAqDmoC,YAAY,CAACnoC,MAAM,iDAAiDirB,MAAM,CAACjrB,MAAM,4CAA4C8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,uDAAuDmoC,YAAY,CAACnoC,MAAM,mDAAmDirB,MAAM,CAACjrB,MAAM,8CAA8CqrW,OAAO,CAAC/hU,gBAAgB,CAACtpC,MAAM,oDAAoDmoC,YAAY,CAACnoC,MAAM,gDAAgDirB,MAAM,CAACjrB,MAAM,2CAA2CsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,oDAAoDmoC,YAAY,CAACnoC,MAAM,gDAAgDirB,MAAM,CAACjrB,MAAM,6CnCA+kDwxF,OoCAvhF,CAACrnD,iBAAiB,CAACnqC,MAAM,qBAAqBooH,QAAQ,CAAC3mG,KAAK,CAACzhB,MAAM,KAAKu4B,QAAQ,CAACv4B,MAAM,SAAS8H,SAAS,CAAC9H,MAAM,YAAYskB,OAAO,CAACtkB,MAAM,YAAY62qB,YAAY,CAAC7qoB,WAAW,CAAChsC,MAAM,UAAU8H,SAAS,CAAC9H,MAAM,YAAY4sC,IAAI,CAAC5sC,MAAM,OAAO6sC,MAAM,CAAC7sC,MAAM,wBAAwBolC,UAAU,CAACplC,MAAM,oBAAoBisI,cAAc,CAACjsI,MAAM,SAASmlE,OAAO,CAAC77B,gBAAgB,CAACtpC,MAAM,qCAAqCirB,MAAM,CAACjrB,MAAM,+BAA+B8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,kCAAkC2rC,WAAW,CAAC3rC,MAAM,UAAUmpC,SAAS,CAACnpC,MAAM,UAAUy4B,MAAM,CAAC0Q,SAAS,CAACnpC,MAAM,WAAW24B,MAAM,CAACwQ,SAAS,CAACnpC,MAAM,YpCAk7D82qB,YqCAhiF,CAAC3uoB,YAAY,CAACnoC,MAAM,yCAAyCirB,MAAM,CAACjrB,MAAM,mCAAmC6rC,cAAc,CAAC7rC,MAAM,UAAUssB,SAAS,CAACtsB,MAAM,sCAAsCqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,iDAAiDa,MAAM,CAACoqB,MAAM,CAACjrB,MAAM,oCrCA4wE+2qB,YsCA9iF,CAAC3soB,aAAa,CAACpqC,MAAM,oBAAoBkliB,MAAM,CAAC57f,gBAAgB,CAACtpC,MAAM,wCAAwC+jC,aAAa,CAAC/jC,MAAM,UAAU0vB,OAAO,CAAC1vB,MAAM,YAAYmpC,SAAS,CAACnpC,MAAM,UAAU61Y,MAAM,CAACvsW,gBAAgB,CAACtpC,MAAM,mCAAmC+jC,aAAa,CAAC/jC,MAAM,UAAU8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,wCAAwCg3qB,MAAM,CAAC1+oB,MAAM,CAACt4B,MAAM,WAAW0vB,OAAO,CAAC1vB,MAAM,WAAWspC,gBAAgB,CAACtpC,MAAM,qCAAqCgtC,UAAU,CAAChtC,MAAM,yBAAyB+jC,aAAa,CAAC/jC,MAAM,OAAO6wQ,YAAY,CAAC7wQ,MAAM,+BAA+BmoC,YAAY,CAACnoC,MAAM,iCAAiC0oqB,YAAY,CAAC1oqB,MAAM,SAAS8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,sCAAsCmoC,YAAY,CAACnoC,MAAM,eAAegtC,UAAU,CAAChtC,MAAM,SAASsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,qCAAqCmoC,YAAY,CAACnoC,MAAM,gCAAgCqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,+BAA+BgtC,UAAU,CAAChtC,MAAM,CAACyzqB,QAAQ,IAAIC,QAAQ,IAAIC,WAAW,IAAIC,aAAa,MAAM3opB,MAAM,kCAAkCwN,MAAM,CAACysgB,MAAM,CAACx1gB,OAAO,CAAC1vB,MAAM,YAAYg3qB,MAAM,CAAC1+oB,MAAM,CAACt4B,MAAM,QAAQ0vB,OAAO,CAAC1vB,MAAM,UAAU24B,MAAM,CAACusgB,MAAM,CAACx1gB,OAAO,CAAC1vB,MAAM,aAAag3qB,MAAM,CAAC1+oB,MAAM,CAACt4B,MAAM,UAAU0vB,OAAO,CAAC1vB,MAAM,atCA6zCi3qB,auCA5jF,CAAC9uoB,YAAY,CAACnoC,MAAM,yCAAyC6rC,cAAc,CAAC7rC,MAAM,UAAU+J,MAAM,CAACkhB,MAAM,CAACjrB,MAAM,mCAAmCssB,SAAS,CAACtsB,MAAM,sCAAsCmtC,UAAU,CAACntC,MAAM,WAAWouB,OAAO,CAACnD,MAAM,CAACjrB,MAAM,6BAA6BspC,gBAAgB,CAACtpC,MAAM,wBAAwBw1J,QAAQ,CAACvqI,MAAM,CAACjrB,MAAM,qCAAqCspC,gBAAgB,CAACtpC,MAAM,gDAAgDqrW,OAAO,CAACpgV,MAAM,CAACjrB,MAAM,oCAAoCspC,gBAAgB,CAACtpC,MAAM,+CAA+C8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,uCAAuCspC,gBAAgB,CAACtpC,MAAM,wDAAwDsmgB,OAAO,CAACr7e,MAAM,CAACjrB,MAAM,oCAAoCspC,gBAAgB,CAACtpC,MAAM,iDvCAsyDk3qB,eAAez/I,GAAE0/I,YwCA5lF,CAACrE,UAAU,CAACjwpB,QAAQ,CAAC7iB,MAAM,yBAAyBo3qB,SAAS,CAACljJ,OAAO,CAACl0hB,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAMC,aAAa,MAAM3opB,MAAM,iCAAiCqB,SAAS,CAACtsB,MAAM,4BAA4B24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,4BAA4By4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,4BAA4Ba,MAAM,CAACsmC,QAAQ,CAACnnC,MAAM,qBAAqBg3qB,MAAM,CAAC1toB,gBAAgB,CAACtpC,MAAM,qCAAqCmoC,YAAY,CAACnoC,MAAM,kCAAkC+jC,aAAa,CAAC/jC,MAAM,sBAAsB4vC,QAAQ,CAACxK,UAAU,CAACplC,MAAM,qCAAqCw4B,WAAW,CAACzJ,SAAS,CAAC/uB,MAAM,wBAAwBs4B,MAAM,CAACt4B,MAAM,kCAAkCkliB,MAAM,CAAC57f,gBAAgB,CAACtpC,MAAM,wCAAwC+jC,aAAa,CAAC/jC,MAAM,sBAAsB4vC,QAAQ,CAACtG,gBAAgB,CAACtpC,MAAM,oCAAoC0vB,OAAO,CAAC1vB,MAAM,iCAAiCmnC,QAAQ,CAACnnC,MAAM,gCAAgCw4B,WAAW,CAACzJ,SAAS,CAAC/uB,MAAM,uBAAuBs4B,MAAM,CAACt4B,MAAM,6BAA6B6zqB,OAAO,CAACvqoB,gBAAgB,CAACtpC,MAAM,sCxCAuiDk8T,MyCA1mF,CAACm7W,eAAe,CAACr3qB,MAAM,YAAYu4B,QAAQ,CAACv4B,MAAM,SAASs4B,MAAM,CAACt4B,MAAM,QAAQmf,KAAK,CAACoZ,QAAQ,CAACv4B,MAAM,sBAAsBsoqB,cAAc,CAACtoqB,MAAM,WAAWQ,KAAK,CAAC+3B,QAAQ,CAACv4B,MAAM,mBAAmBsoqB,cAAc,CAACtoqB,MAAM,WAAWs3qB,KAAK,CAAC/+oB,QAAQ,CAACv4B,MAAM,sBAAsBsoqB,cAAc,CAACtoqB,MAAM,WAAWowF,IAAI,CAAC73D,QAAQ,CAACv4B,MAAM,aAAasoqB,cAAc,CAACtoqB,MAAM,UAAUioB,MAAM,CAACqhB,gBAAgB,CAACtpC,MAAM,uCAAuCu3qB,QAAQ,CAACjuoB,gBAAgB,CAACtpC,MAAM,yCAAyC4td,OAAO,CAACzlb,YAAY,CAACnoC,MAAM,kCAAkC0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,+BAA+Bu4B,QAAQ,CAACv4B,MAAM,cAAcssB,SAAS,CAACtsB,MAAM,4BAA4B2iB,WAAW,CAAC3iB,MAAM,4BAA4BmnC,QAAQ,CAACnnC,MAAM,wBAAwBsoqB,cAAc,CAACtoqB,MAAM,UAAU24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,2BAA2BmnC,QAAQ,CAACnnC,MAAM,wBAAwBy4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,2BAA2BmnC,QAAQ,CAACnnC,MAAM,sBAAsBiF,KAAK,CAACkjC,YAAY,CAACnoC,MAAM,kCAAkC0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,+BAA+Bu4B,QAAQ,CAACv4B,MAAM,cAAcssB,SAAS,CAACtsB,MAAM,4BAA4B2iB,WAAW,CAAC3iB,MAAM,8BAA8BmnC,QAAQ,CAACnnC,MAAM,wBAAwBsoqB,cAAc,CAACtoqB,MAAM,UAAU24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,2BAA2BmnC,QAAQ,CAACnnC,MAAM,wBAAwBy4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,2BAA2BmnC,QAAQ,CAACnnC,MAAM,sBAAsBquB,QAAQ,CAACmppB,YAAY,CAACx3qB,MAAM,UAAUirB,MAAM,CAACjrB,MAAM,+BAA+Bu4B,QAAQ,CAACv4B,MAAM,iBAAiBssB,SAAS,CAACtsB,MAAM,4BAA4BmtC,UAAU,CAACntC,MAAM,UAAUy3qB,UAAU,CAACz3qB,MAAM,aAAa24B,MAAM,CAACrM,SAAS,CAACtsB,MAAM,4BAA4By4B,MAAM,CAACnM,SAAS,CAACtsB,MAAM,8BzCA+wBwuS,K0CAlnF,CAACllQ,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,mCAAmC0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,+BAA+ByoC,IAAI,CAACzoC,MAAM,KAAKsW,KAAK,CAACgzB,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,mCAAmC0oqB,YAAY,CAAC1oqB,MAAM,SAAS6wQ,YAAY,CAAC7wQ,MAAM,+BAA+BirB,MAAM,CAACjrB,MAAM,iCAAiCssB,SAAS,CAACtsB,MAAM,4BAA4B2iB,WAAW,CAAC3iB,MAAM,4BAA4B4yqB,gBAAgB,CAAC5yqB,MAAM,uBAAuB6yqB,kBAAkB,CAAC7yqB,MAAM,wBAAwBmtC,UAAU,CAACntC,MAAM,UAAUu5F,mBAAmB,CAACv5F,MAAM,uBAAuBsmgB,OAAO,CAACr7e,MAAM,CAACjrB,MAAM,8BAA8BqrW,OAAO,CAACpgV,MAAM,CAACjrB,MAAM,8BAA8Bw1J,QAAQ,CAACvqI,MAAM,CAACjrB,MAAM,mCAAmCmoC,YAAY,CAACnoC,MAAM,mCAAmCspC,gBAAgB,CAACtpC,MAAM,gBAAgB8yqB,UAAU,CAAC7npB,MAAM,CAACjrB,MAAM,gCAAgCspC,gBAAgB,CAACtpC,MAAM,eAAemoC,YAAY,CAACnoC,MAAM,qC1CA8mDuU,K2CAznF,CAAC0W,MAAM,CAACjrB,MAAM,+BAA+BwnB,QAAQ,CAACyD,MAAM,CAACjrB,MAAM,gCAAgCynB,UAAU,CAACwD,MAAM,CAACjrB,MAAM,kCAAkC0wqB,SAAS,CAACzlpB,MAAM,CAACjrB,MAAM,iCAAiCiC,MAAM,CAACgpB,MAAM,CAACjrB,MAAM,8BAA8B2qB,QAAQ,CAACM,MAAM,CAACjrB,MAAM,gCAAgCwqB,QAAQ,CAACS,MAAM,CAACjrB,MAAM,gCAAgCqqB,KAAK,CAACY,MAAM,CAACjrB,MAAM,8B3CA0vE03qB,c4CAhoF,CAACzspB,MAAM,CAACjrB,MAAM,yCAAyCmoC,YAAY,CAACnoC,MAAM,+CAA+CqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,wD5CA4/E23qB,U6CAhpF,CAAC1spB,MAAM,CAACjrB,MAAM,yCAAyCmoC,YAAY,CAACnoC,MAAM,+CAA+CssB,SAAS,CAACtsB,MAAM,4CAA4CqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,wD7CA48E43qB,a8CA5pF,CAACzvoB,YAAY,CAACnoC,MAAM,iCAAiCirB,MAAM,CAACjrB,MAAM,+BAA+BsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,8BAA8BqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,+BAA+BirB,MAAM,CAACjrB,MAAM,gCAAgCw1J,QAAQ,CAAClsH,gBAAgB,CAACtpC,MAAM,+BAA+B8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,8BAA8BmoC,YAAY,CAACnoC,MAAM,kCAAkCirB,MAAM,CAACjrB,MAAM,iCAAiC63qB,SAAS,CAAC1voB,YAAY,CAACnoC,MAAM,iCAAiCirB,MAAM,CAACjrB,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,6BAA6BsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,+BAA+BwnB,QAAQ,CAAC8hB,gBAAgB,CAACtpC,MAAM,8BAA8B6wQ,YAAY,CAAC7wQ,MAAM,8BAA8BqrW,OAAO,CAACljU,YAAY,CAACnoC,MAAM,+BAA+BspC,gBAAgB,CAACtpC,MAAM,8BAA8BgtC,UAAU,CAAChtC,MAAM,oDAAoDirB,MAAM,CAACjrB,MAAM,gCAAgCsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,6BAA6BirB,MAAM,CAACjrB,MAAM,gCAAgC8yqB,UAAU,CAAC3qoB,YAAY,CAACnoC,MAAM,kCAAkCspC,gBAAgB,CAACtpC,MAAM,sCAAsCirB,MAAM,CAACjrB,MAAM,iCAAiC63qB,SAAS,CAACvuoB,gBAAgB,CAACtpC,MAAM,mCAAmCmoC,YAAY,CAACnoC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,qCAAqCqrW,OAAO,CAAC/hU,gBAAgB,CAACtpC,MAAM,+BAA+BmoC,YAAY,CAACnoC,MAAM,+BAA+BirB,MAAM,CAACjrB,MAAM,sCAAsCsmgB,OAAO,CAACn+d,YAAY,CAACnoC,MAAM,mCAAmCspC,gBAAgB,CAACtpC,MAAM,mCAAmCgtC,UAAU,CAAChtC,MAAM,mCAAmCirB,MAAM,CAACjrB,MAAM,wCAAwC0gQ,KAAK,CAACp3N,gBAAgB,CAACtpC,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,6BAA6BsmgB,OAAO,CAACh9d,gBAAgB,CAACtpC,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,8BAA8BqrW,OAAO,CAAC/hU,gBAAgB,CAACtpC,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,8BAA8B8yqB,UAAU,CAACxpoB,gBAAgB,CAACtpC,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,iCAAiC63qB,SAAS,CAACvuoB,gBAAgB,CAACtpC,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,6BAA6BqrW,OAAO,CAAC/hU,gBAAgB,CAACtpC,MAAM,8BAA8BirB,MAAM,CAACjrB,MAAM,8BAA8BsmgB,OAAO,CAACr7e,MAAM,CAACjrB,MAAM,6BAA6BspC,gBAAgB,CAACtpC,MAAM,kC9CAuJ83qB,kB+CA3qF,CAAC9roB,WAAW,CAAChsC,MAAM,UAAUisC,aAAa,CAACjsC,MAAM,UAAU+rC,eAAe,CAAC/rC,MAAM,gBhDA+kB+3qB,aAAat6qB,GAAE+kC,OAAO7gC,GAAEmzhB,MiDAxrB,CAACtxhB,QAAQ,CAAC6Z,SAAS,CAACrd,MAAM,gLAAgLind,OAAO,CAACjnd,MAAM,2IjDAweg4qB,UAAUr5qB,GAAEs5qB,YAAYz6qB,GAAE06qB,YkDA1tB,CAACz/oB,MAAM,CAACz4B,MAAM,QAAQ04B,OAAO,CAAC14B,MAAM,OAAO24B,MAAM,CAAC34B,MAAM,MlDAgrBm4qB,UAAUr6pB,GAAEs6pB,emDApvB,CAAC3/oB,MAAM,CAACz4B,MAAM,OAAO04B,OAAO,CAAC14B,MAAM,OAAO24B,MAAM,CAAC34B,MAAM,QnDA8sBq4qB,coDArwB,CAAC5/oB,MAAM,CAACz4B,MAAM,OAAO04B,OAAO,CAAC14B,MAAM,OAAO24B,MAAM,CAAC34B,MAAM,QpDA8tBs4qB,MAAMx7qB,GAAE+0B,QqDA7xB,CAAC4G,MAAM,CAACz4B,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAM1opB,MAAM,mCAAmCyN,OAAO,CAAC14B,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,MAAM1opB,MAAM,oCAAoC0N,MAAM,CAAC34B,MAAM,CAACyzqB,QAAQ,MAAMC,QAAQ,MAAMC,WAAW,OAAO1opB,MAAM,mCrDA0hBovL,MAAMh4M,GAAEi7B,KAAK9gC,GAAE+7qB,WsDAtzB,CAACC,OAAO,CAAC//oB,MAAM,CAACz4B,MAAM,qBAAqB04B,OAAO,CAAC14B,MAAM,mBAAmB24B,MAAM,CAAC34B,MAAM,sBvDAaymB,YwDAtG,CAACqa,OAAO,CAACu3J,KAAK,EAAE5/J,MAAM,IAAIC,OAAO,IAAIC,MAAM,IAAIwI,GAAG,KAAKswoB,IAAI,MAAMgH,kBAAkB,QxDAiCx0qB,KAAK,wCyDAxB,SAAStF,GAAEnB,GAAG,OAAO,MAAMA,IAAIX,MAAMkoB,QAAQvnB,IAAI,iBAAiBA,CAAC,CAAC,SAASG,GAAEH,GAAG,MAAM,iBAAiBA,GAAG,iBAAiBA,GAAG,oBAAoBd,OAAOU,UAAUsP,SAAS5O,KAAKN,EAAE,CAA0N,SAASE,GAAEF,GAAG,GAAG,MAAMA,EAAE,OAAM,EAAG,GAAGmB,GAAEnB,KAAhQ,SAAWA,GAAG,OAAOmB,GAAEnB,IAAI,iBAAiBd,OAAOU,UAAUsP,SAAS5O,KAAKN,EAAE,CAAwLS,CAAET,IAAzL,SAAWA,GAAG,OAAOmB,GAAEnB,IAAI,iBAAiBd,OAAOU,UAAUsP,SAAS5O,KAAKN,EAAE,CAAgHkE,CAAElE,IAAI,OAAOA,EAAEqgB,KAAK,GAAGlf,GAAEnB,KAAKG,GAAEH,IAAIX,MAAMkoB,QAAQvnB,IAAI,OAAOA,EAAEK,OAAO,IAAI,IAAMc,KAAKnB,EAAE,GAAGC,GAAED,EAAEmB,GAAG,OAAM,EAAG,OAAM,CAAE,CAAC,SAAS8B,GAAEjD,GAAG,OAAOX,MAAMkoB,QAAQvnB,IAAIE,GAAEF,EAAE,CAAoC,SAAS6E,GAAE7E,GAAG,OAAOmB,GAAEnB,IAAIE,GAAEF,EAAE,CAAsG,SAASC,GAAED,EAAEmB,GAAG,OAAO,MAAMnB,GAAGd,OAAOU,UAAUL,eAAee,KAAKN,EAAEmB,EAAE,CAAC,SAASlC,GAAEe,GAAG,MAAM,mBAAmBA,CAAC,CAAC,IAAM8E,GAAE,SAAC9E,EAAEmB,GAAC,OAAGA,EAAC,GAAA1C,OAAIuB,EAAC,MAAAvB,OAAK0C,GAAI,EAAE,EAACgC,GAAE,SAACnD,EAAEmB,EAAEhB,GAAC,OAAGA,EAAC,GAAA1B,OAAIuB,EAAC,MAAAvB,OAAK0C,GAAI,EAAE,ECA72ByK,GAAE,UAAU3L,GAAE,CAAC,UAAU,UAAU,aAAa,eAAe,SAAS,SAASC,GAAEO,GAAG,OAAIA,EAAcT,GAAES,GAAI,SAAAhC,OAAewE,GAAE,CAAC25B,KAAKn8B,EAAEsZ,QAAQ,SAAS,IAAIA,QAAQ,SAAS,IAAIvH,MAAM,OAAM,KAAW/R,EAAtG,EAAuG,CAAC,SAASoE,GAAEpE,GAAG,IAAYT,EAAGS,EAAT+B,MAAW,OAAO0B,GAAElE,GAAGE,GAAEF,GAAGV,GAAEU,GAAGC,GAAE1B,KAAK,SAAA4B,GAAC,OAAED,GAAEZ,GAAEmB,GAAGA,EAAEN,GAAGH,EAAEG,GAAG,IAAGgP,KAAK,KAAKnP,CAAC,CAAC,SAASiD,GAACqX,GAAa,IAAA4gqB,EAAA5gqB,EAAXsiB,KAAK58B,OAAC,IAAAk7qB,EAAC,GAAEA,EAAG,SAAAz8qB,OAASgC,GAAE,CAACmL,IAACnN,QAAAm6B,EAAAA,GAAAA,GAAI54B,IAAGmP,KAAK,MAAO,CAAC,SAASjO,GAAET,GAAG,OAAON,GAAEM,IAAIU,GAAEV,EAAE,QAAQ,CAAC,SAASnB,GAAEmB,GAAG,OAAON,GAAEM,IAAIU,GAAEV,EAAE,UAAU,CAAC,SAASilC,GAACnrB,GAAmC,IAA1B9Z,EAAC8Z,EAARgylB,OAAM4uE,EAAA5gqB,EAAGqiB,KAAK58B,OAAC,IAAAm7qB,EAAC,GAAEA,EAAYj3qB,EAACqW,EAAZ6gqB,WAAe,GAAGj6qB,GAAEV,EAAE,SAAS,OAAOyD,EAAE,CAAC4Z,MAAMrd,EAAEm8B,KAAK58B,IAAI,IAAM4L,EAAE,CAAC,EAAE,IAAI,IAAM3L,KAAKQ,EAAE,GAAGU,GAAEV,EAAER,GAAG,CAAC,IAAMkB,EAAEV,EAAER,GAAGC,EAAEC,GAAEgB,GAAGA,EAAE,CAACqB,MAAMrB,GAAGyK,EAAE3L,GAAGylC,GAAE,CAAC6mkB,OAAOrsmB,EAAE08B,KAAK58B,EAAEvB,OAAOwB,GAAGm7qB,WAAWl3qB,GAAG,CAAC,OAAO0H,CAAC,CCA1kB,IAAMzK,GAAE,SAAAmZ,GAAoB,IAAZ7Z,EAAC6Z,EAAPwD,MAAa3d,EAACma,EAANsiB,KAAiB58B,EAAC,KAAAvB,OAAMoG,GAAE,CAAC+3B,KAAKz8B,KAAa+D,EAAGzD,EAAT+B,MAAWrB,EAAEjB,GAAEO,GAAG,MAAM,CAACgG,KAAKzG,EAAE0hK,SAASx9J,EAAE04B,KAAKz8B,EAAEqC,MAAMrB,EAAE+N,SAAS,wBAAAzQ,OAAWuB,EAAC,MAAI,EAAE,SAASC,GAAE4E,GAAM,IAAO5E,EAAEQ,GAAE,CAAC,CAAC,EAAhBL,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAACJ,GAAmB6E,IAAIV,EAAED,GAAE,CAACqomB,OAAOtsmB,EAAEssmB,OAAO6uE,WAAWj6qB,KAAiBukC,EAAUzlC,EAAtBgpB,YAAmB3pB,EAAGW,EAARwG,KAAczH,EAAE,wBAAAP,OAAwBa,EAAC,UAASa,GAAEgE,GAAG5F,KAAK,SAAAkC,GAAC,SAAAhC,OAAKgC,EAAEgG,KAAI,MAAAhI,OAAKgC,EAAE+B,MAAK,QAAM2M,KAAK,MAAM,QAAQ8+E,EAAE,GAAG,OAAOhuF,EAAEq9D,YAAY2wB,EAAEhuF,EAAEq9D,UAAU/+D,KAAK,SAAAkC,GAAI,IAAMT,EAAEkE,GAAE,CAACqomB,OAAO9rmB,EAAE8rmB,OAAO6uE,WAAWj6qB,KAAI0D,EAAE1E,GAAEH,GAAGzB,KAAK,SAAAkC,GAAC,SAAAhC,OAAKgC,EAAEgG,KAAI,MAAAhI,OAAKgC,EAAE+B,MAAK,QAAM2M,KAAK,MAAM,GAAG,aAAa1O,IAAIzB,GAAC,KAAAP,OAAOgC,EAAE6hB,SAAQ,QAAA7jB,OAAOoG,EAAC,UAAS,eAAepE,IAAIzB,GAAC,aAAAP,OAAegC,EAAE46qB,WAAU,gCAAA58qB,OAA+Ba,EAAC,cAAAb,OAAaoG,EAAC,eAAc,eAAepE,EAAE,CAAC,IAAMN,EAAEF,EAAEgpB,YAAYqa,OAAO7iC,EAAEwjC,YAAYjlC,GAAC,wBAAAP,OAA0B0B,EAAC,kCAAA1B,OAAiCa,EAAC,cAAAb,OAAaoG,EAAC,aAAY,CAAC,MAAM,cAAcpE,IAAIzB,GAAC,mCAAAP,OAAqCgC,EAAE66qB,UAAS,wCAAA78qB,OAAuCa,EAAC,4CAAAb,OAA2CoG,EAAC,oBAAmB7F,GAAC,0BAAAP,OAA4Ba,EAAC,gCAAAb,OAA+BgC,EAAE66qB,UAAS,UAAA78qB,OAASoG,EAAC,UAAS3F,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,GAAG,CAAC8rmB,OAAOvsmB,GAAG,KAAK,CAACusmB,OAAOpomB,EAAE8kB,YAAYyc,EAAEj/B,KAAKnH,EAAEi0G,QAAQv0G,EAAEs+D,UAAU2wB,EAAE,CCA/zC,ICAlExtF,GDAwEyD,GAAElE,EAAAA,cAAgB,CAAC60B,MAAMp0B,OEAqGU,GAAE,WAA6B,OAA3E,SAAA+C,GAAC,YAAE,IAASA,QAAG,IAASA,EAAE2wB,MAAM70B,KAAIkE,EAAE2wB,KAAK,CAAuC1wB,CAAvBD,EAAAA,WAAazD,IAAc,cCA9ON,GAAE,CAACsuC,aAAa,eAAeD,WAAW,aAAaE,UAAU,YAAY4wV,KAAK,WAAWi8S,YAAY,kBAAkBC,SAAS,eAAeC,SAAS,eAAe3voB,gBAAgB,kBAAkBsonB,gBAAgB,kBAAkBrmG,MAAM,YAAYzjhB,OAAO,SAAS/D,aAAa,eAAe+I,OAAO,SAASE,UAAU,YAAY/hB,MAAM,QAAQtQ,OAAO,aAAau+pB,UAAU,gBAAgBxwoB,UAAU,YAAYywoB,WAAW,aAAaC,YAAY,kBAAkBtwpB,UAAU,gBAAgByP,QAAQ,UAAU9W,KAAK,OAAO2K,WAAW,aAAaE,SAAS,WAAW4gB,UAAU,YAAYvqB,WAAW,aAAa8lB,IAAI,MAAM4woB,KAAK,WAAW3ppB,OAAO,SAASqc,eAAe,iBAAiBgB,KAAK,OAAOzf,cAAc,gBAAgB1K,WAAW,aAAaskB,OAAO,SAASkE,YAAY,cAAcE,eAAe,iBAAiBD,iBAAiB,mBAAmBN,aAAa,iBAAiBE,aAAa,eAAeE,gBAAgB,kBAAkBD,kBAAkB,oBAAoBF,WAAW,oBAAoBF,YAAY,kBAAkBD,UAAU,mBAAmBzB,UAAU,YAAYN,SAAS,WAAWhiB,UAAU,YAAYqiB,SAAS,WAAWwknB,UAAU,YAAYgoB,eAAe,iBAAiB9ypB,QAAQ,UAAUC,MAAM,QAAQ0oB,SAAS,WAAWrE,QAAQ,UAAUiD,aAAa,eAAeE,gBAAgB,kBAAkBD,kBAAkB,oBAAoBN,cAAc,kBAAkBE,cAAc,gBAAgBE,iBAAiB,mBAAmBD,mBAAmB,qBAAqBF,YAAY,qBAAqBF,aAAa,mBAAmBD,WAAW,oBAAoB/hC,SAAS,WAAW2pK,OAAO,SAAS5kI,MAAM,QAAQujD,IAAI,UAAU6oV,OAAO,aAAatwY,OAAO,SAASm8Y,QAAQ,UAAUw0P,SAAS,eAAe/qe,OAAO,aAAagre,cAAc,oBAAoBC,gBAAgB,sBAAsBC,aAAa,mBAAmBtsoB,UAAU,YAAYs7nB,eAAe,iBAAiB18oB,cAAc,gBAAgB6gB,IAAI,MAAMxH,UAAU,YAAYu7nB,gBAAgB,kBAAkBrooB,MAAM,QAAQqT,WAAW,aAAaw8E,KAAK,gBAAczrH,OAAOgR,KAAK/P,cCC7jE,SAAS+7qB,GAA2Bh4qB,EAAGi4qB,GACpD,IAAIl+f,EAAuB,qBAAXv6K,QAA0BQ,EAAER,OAAOC,WAAaO,EAAE,cAClE,IAAK+5K,EAAI,CACP,GAAI5+K,MAAMkoB,QAAQrjB,KAAO+5K,GAAK,EAAA6je,GAAA,GAA2B59oB,KAAOi4qB,GAAkBj4qB,GAAyB,kBAAbA,EAAE7D,OAAqB,CAC/G49K,IAAI/5K,EAAI+5K,GACZ,IAAI/9K,EAAI,EACJk9D,EAAI,WAAc,EACtB,MAAO,CACLn9D,EAAGm9D,EACHj9D,EAAG,WACD,OAAID,GAAKgE,EAAE7D,OAAe,CACxBwC,MAAM,GAED,CACLA,MAAM,EACNL,MAAO0B,EAAEhE,KAEb,EACAO,EAAG,SAAWgqP,GACZ,MAAMA,CACR,EACAxnP,EAAGm6D,EAEP,CACA,MAAM,IAAIt5D,UAAU,wIACtB,CACA,IAEEwxC,EAFE8moB,GAAmB,EACrBC,GAAS,EAEX,MAAO,CACLp8qB,EAAG,WACDg+K,EAAKA,EAAG39K,KAAK4D,EACf,EACA/D,EAAG,WACD,IAAIsC,EAAOw7K,EAAGv7K,OAEd,OADA05qB,EAAmB35qB,EAAKI,KACjBJ,CACT,EACAhC,EAAG,SAAW67qB,GACZD,GAAS,EACT/moB,EAAMgnoB,CACR,EACAr5qB,EAAG,WACD,IACOm5qB,GAAoC,MAAhBn+f,EAAW,QAAWA,EAAW,QAC5D,CAAE,QACA,GAAIo+f,EAAQ,MAAM/moB,CACpB,CACF,EAEJ,EHnDO,SAAS70C,GAAGA,EAAE87qB,MAAM,gBAAgB97qB,EAAE+7qB,UAAU,sBAAsB/7qB,EAAEg8qB,aAAa,yBAAyBh8qB,EAAEi8qB,UAAU,sBAAsBj8qB,EAAEk8qB,aAAa,yBAAyBl8qB,EAAEm8qB,aAAa,uBAAuBn8qB,EAAEo8qB,iBAAiB,6BAA6Bp8qB,EAAEq8qB,sBAAsB,oCAAoCr8qB,EAAEs8qB,uBAAuB,qCAAqCt8qB,EAAEu8qB,uBAAuB,qCAAqCv8qB,EAAEw8qB,wBAAwB,sCAAsCx8qB,EAAEy8qB,uBAAuB,qCAAqCz8qB,EAAE08qB,wBAAwB,sCAAsC18qB,EAAE28qB,MAAM,gBAAgB38qB,EAAEw4E,OAAO,iBAAiBx4E,EAAE0rX,YAAY,sBAAsB1rX,EAAE48qB,oBAAoB,iCAAiC58qB,EAAE68qB,KAAK,eAAe78qB,EAAE88qB,SAAS,mBAAmB98qB,EAAE+8qB,eAAe,2BAA2B/8qB,EAAEg9qB,aAAa,yBAAyBh9qB,EAAEi9qB,cAAc,0BAA0Bj9qB,EAAEk9qB,cAAc,0BAA0Bl9qB,EAAEm9qB,cAAc,wBAAwBn9qB,EAAEo9qB,WAAW,qBAAqBp9qB,EAAEq9qB,gBAAgB,2BAA2Br9qB,EAAEs9qB,iBAAiB,4BAA4Bt9qB,EAAEu9qB,qBAAqB,gCAAgCv9qB,EAAEw9qB,kBAAkB,4BAA4Bx9qB,EAAEy9qB,eAAe,yBAAyBz9qB,EAAE4vqB,QAAQ,kBAAkB5vqB,EAAE09qB,aAAa,yBAAyB19qB,EAAE29qB,SAAS,mBAAmB39qB,EAAE49qB,gBAAgB,4BAA4B59qB,EAAE69qB,oBAAoB,kCAAkC79qB,EAAE89qB,eAAe,2BAA2B99qB,EAAE+9qB,aAAa,yBAAyB/9qB,EAAEg+qB,aAAa,yBAAyBh+qB,EAAEi+qB,gBAAgB,4BAA4Bj+qB,EAAE82E,MAAM,gBAAgB92E,EAAEk+qB,iBAAiB,6BAA6Bl+qB,EAAEm+qB,kBAAkB,+BAA+Bn+qB,EAAEo+qB,WAAW,sBAAsBp+qB,EAAEq+qB,kBAAkB,+BAA+Br+qB,EAAEs+qB,mBAAmB,iCAAiCt+qB,EAAEu+qB,qBAAqB,mCAAmCv+qB,EAAEw+qB,mBAAmB,iCAAiCx+qB,EAAEy+qB,qBAAqB,mCAAmCz+qB,EAAE0+qB,eAAe,4BAA4B1+qB,EAAE2+qB,qBAAqB,mCAAmC3+qB,EAAE4+qB,sBAAsB,qCAAqC5+qB,EAAE6+qB,wBAAwB,uCAAuC7+qB,EAAE8+qB,kBAAkB,+BAA+B9+qB,EAAE++qB,uBAAuB,qCAAqC/+qB,EAAEg/qB,qBAAqB,iCAAiCh/qB,EAAEi/qB,yBAAyB,uCAAuCj/qB,EAAEk/qB,yBAAyB,uCAAuCl/qB,EAAEm/qB,2BAA2B,yCAAyCn/qB,EAAEo/qB,iBAAiB,6BAA6Bp/qB,EAAEq/qB,wBAAwB,sCAAsCr/qB,EAAEs/qB,qBAAqB,mCAAmCt/qB,EAAEu/qB,qBAAqB,mCAAmCv/qB,EAAEw/qB,qBAAqB,mCAAmCx/qB,EAAEy/qB,sBAAsB,oCAAoCz/qB,EAAE0/qB,qBAAqB,mCAAmC1/qB,EAAE2/qB,uBAAuB,qCAAqC3/qB,EAAE4/qB,mBAAmB,+BAA+B5/qB,EAAE6/qB,sBAAsB,kCAAkC7/qB,EAAE8/qB,0BAA0B,wCAAwC9/qB,EAAE+/qB,0BAA0B,wCAAwC//qB,EAAEggrB,4BAA4B,0CAA0ChgrB,EAAEigrB,mCAAmC,mDAAmDjgrB,EAAEkgrB,KAAK,eAAelgrB,EAAEmgrB,KAAK,eAAengrB,EAAEogrB,QAAQ,kBAAkBpgrB,EAAEqgrB,eAAe,yBAAyBrgrB,EAAEsgrB,0BAA0B,sCAAsCtgrB,EAAEwzM,KAAK,eAAexzM,EAAEqihB,MAAM,gBAAgBrihB,EAAEugrB,MAAM,gBAAgBvgrB,EAAEg7E,MAAM,gBAAgBh7E,EAAEmtpB,KAAK,eAAentpB,EAAEwgrB,OAAO,iBAAiBxgrB,EAAEygrB,kBAAkB,8BAA8BzgrB,EAAE0grB,qBAAqB,kCAAkC1grB,EAAE2grB,YAAY,uBAAuB3grB,EAAE4grB,mBAAmB,+BAA+B5grB,EAAE+lQ,SAAS,6BAA6B/lQ,EAAE6grB,YAAY,uBAAuB7grB,EAAE8grB,WAAW,qBAAqB9grB,EAAE+grB,qBAAqB,kCAAkC/grB,EAAEghrB,sBAAsB,mCAAmChhrB,EAAEihrB,uBAAuB,oCAAoCjhrB,EAAEkhrB,cAAc,wBAAwBlhrB,EAAEmhrB,iBAAiB,2BAA2BnhrB,EAAEohrB,YAAY,sBAAsBphrB,EAAEqhrB,MAAM,gBAAgBrhrB,EAAEo0b,YAAY,wBAAwBp0b,EAAEshrB,WAAW,uBAAuBthrB,EAAEuhrB,WAAW,uBAAuBvhrB,EAAEwhrB,gBAAgB,0BAA0BxhrB,EAAEyhrB,WAAW,qBAAqBzhrB,EAAE0hrB,OAAO,iBAAiB1hrB,EAAEqpV,WAAW,qBAAqBrpV,EAAE2hrB,YAAY,sBAAsB3hrB,EAAE4hrB,iBAAiB,6BAA6B5hrB,EAAE6hrB,kBAAkB,8BAA8B7hrB,EAAE0yL,OAAO,iBAAiB1yL,EAAE8hrB,YAAY,sBAAsB9hrB,EAAE+hrB,cAAc,0BAA0B/hrB,EAAEgirB,kBAAkB,+BAA+BhirB,EAAEiirB,YAAY,sBAAsBjirB,EAAEkirB,iBAAiB,6BAA6BlirB,EAAEmirB,iBAAiB,6BAA6BnirB,EAAEoirB,iBAAiB,6BAA6BpirB,EAAEqirB,gBAAgB,4BAA4BrirB,EAAEsirB,iBAAiB,6BAA6BtirB,EAAEuirB,iBAAiB,6BAA6BvirB,EAAEwirB,aAAa,uBAAuBxirB,EAAEyirB,2BAA2B,yCAAyCzirB,EAAE0irB,2BAA2B,yCAAyC1irB,EAAE2irB,kBAAkB,8BAA8B3irB,EAAE4irB,eAAe,yBAAyB5irB,EAAE6irB,uBAAuB,mCAAmC7irB,EAAE8irB,2BAA2B,yCAAyC9irB,EAAE+irB,2BAA2B,yCAAyC/irB,EAAEgjrB,yBAAyB,uCAAuChjrB,EAAEijrB,mBAAmB,+BAA+BjjrB,EAAEkjrB,0BAA0B,wCAAwCljrB,EAAEmjrB,uBAAuB,qCAAqCnjrB,EAAEojrB,uBAAuB,qCAAqCpjrB,EAAEqjrB,uBAAuB,qCAAqCrjrB,EAAEsjrB,uBAAuB,qCAAqCtjrB,EAAEujrB,wBAAwB,sCAAsCvjrB,EAAEwjrB,uBAAuB,qCAAqCxjrB,EAAEyjrB,yBAAyB,uCAAuCzjrB,EAAE0jrB,qBAAqB,iCAAiC1jrB,EAAE2jrB,wBAAwB,oCAAoC3jrB,EAAE4jrB,4BAA4B,0CAA0C5jrB,EAAE6jrB,YAAY,sBAAsB7jrB,EAAE8jrB,YAAY,uBAAuB9jrB,EAAE+jrB,YAAY,uBAAuB/jrB,EAAEgkrB,YAAY,uBAAuBhkrB,EAAEikrB,cAAc,0BAA0BjkrB,EAAE0ihB,MAAM,gBAAgB1ihB,EAAEkkrB,aAAa,yBAAyBlkrB,EAAEmkrB,UAAU,sBAAsBnkrB,EAAEokrB,QAAQ,oBAAoBpkrB,EAAEqkrB,QAAQ,oBAAoBrkrB,EAAEskrB,UAAU,sBAAsBtkrB,EAAEukrB,UAAU,sBAAsBvkrB,EAAEwkrB,SAAS,qBAAqBxkrB,EAAE6wa,KAAK,eAAe7wa,EAAEykrB,SAAS,oBAAoBzkrB,EAAE0krB,KAAK,eAAe1krB,EAAE2krB,SAAS,mBAAmB3krB,EAAE4krB,cAAc,wBAAwB5krB,EAAE6krB,UAAU,oBAAoB7krB,EAAE8krB,aAAa,uBAAuB9krB,EAAE+krB,kBAAkB,4BAA4B/krB,EAAEglrB,eAAe,yBAAyB,CAAhxO,CAAkxOhlrB,KAAIA,GAAE,CAAC,IIA3uO,IAAMoE,GAAE,CAAC03qB,MAAM,CAAChqqB,UAAU9R,GAAAA,MAAQ+2B,WAAW,CAAC,SAASgjB,YAAY,oDAAoDgioB,UAAU,CAACjqqB,UAAU9R,GAAAA,UAAY+2B,WAAW,CAAC,SAASgjB,YAAY,8DAA8DiioB,aAAa,CAAClqqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,SAASgjB,YAAY,qCAAqCkioB,UAAU,CAACnqqB,UAAU9R,GAAAA,UAAY+2B,WAAW,CAAC,SAASgjB,YAAY,kCAAkCmioB,aAAa,CAACpqqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,SAASgjB,YAAY,qCAAqCoioB,aAAa,CAACrqqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,gBAAgBgjB,YAAY,2DAA2DqioB,iBAAiB,CAACtqqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,gBAAgBgjB,YAAY,kDAAkDsioB,sBAAsB,CAACvqqB,UAAU9R,GAAAA,sBAAwB+2B,WAAW,CAAC,gBAAgBgjB,YAAY,gDAAgDuioB,uBAAuB,CAACxqqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,gBAAgBgjB,YAAY,gCAAgCwioB,uBAAuB,CAACzqqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,gBAAgBgjB,YAAY,gCAAgCyioB,wBAAwB,CAAC1qqB,UAAU9R,GAAAA,wBAA0B+2B,WAAW,CAAC,gBAAgBgjB,YAAY,6CAA6C0ioB,uBAAuB,CAAC3qqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,gBAAgBgjB,YAAY,mCAAmC2ioB,wBAAwB,CAAC5qqB,UAAU9R,GAAAA,wBAA0B+2B,WAAW,CAAC,gBAAgBgjB,YAAY,yCAAyC4ioB,MAAM,CAAC7qqB,UAAU9R,GAAAA,MAAQ+2B,WAAW,CAAC,SAASgjB,YAAY,oDAAoDy+B,OAAO,CAAC1mE,UAAU9R,GAAAA,OAAS+2B,WAAW,CAAC,UAAUgjB,YAAY,qDAAqD2xU,YAAY,CAAC55W,UAAU9R,GAAAA,aAAe48qB,oBAAoB,CAAC9qqB,UAAU9R,GAAAA,oBAAsB+2B,WAAW,CAAC,UAAUgjB,YAAY,yEAAyE8ioB,KAAK,CAAC/qqB,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmD+ioB,SAAS,CAAChrqB,UAAU9R,GAAAA,SAAW+2B,WAAW,CAAC,YAAYgjB,YAAY,uDAAuDgjoB,eAAe,CAACjrqB,UAAU9R,GAAAA,eAAiB+2B,WAAW,CAAC,YAAYgjB,YAAY,8DAA8DijoB,aAAa,CAAClrqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,YAAYgjB,YAAY,mEAAmEkjoB,cAAc,CAACnrqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,YAAYgjB,YAAY,qFAAqFmjoB,cAAc,CAACprqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,YAAYgjB,YAAY,4DAA4DojoB,cAAc,CAACrrqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,iBAAiBgjB,YAAY,4DAA4DqjoB,WAAW,CAACtrqB,UAAU9R,GAAAA,WAAa+2B,WAAW,CAAC,cAAcgjB,YAAY,yDAAyDsjoB,gBAAgB,CAACvrqB,UAAU9R,GAAAA,gBAAkB+2B,WAAW,CAAC,cAAcgjB,YAAY,yEAAyEujoB,iBAAiB,CAACxrqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,cAAcgjB,YAAY,qEAAqEwjoB,qBAAqB,CAACzrqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,cAAcgjB,YAAY,oFAAoFyjoB,kBAAkB,CAAC1rqB,UAAU9R,GAAAA,kBAAoB+2B,WAAW,CAAC,oBAAoBgjB,YAAY,+EAA+E0joB,eAAe,CAAC3rqB,UAAU9R,GAAAA,eAAiB+2B,WAAW,CAAC,oBAAoBgjB,YAAY,+EAA+E61nB,QAAQ,CAAC99pB,UAAU9R,GAAAA,QAAU+2B,WAAW,CAAC,WAAWgjB,YAAY,sDAAsD2joB,aAAa,CAAC5rqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,WAAWgjB,YAAY,uDAAuD4joB,SAAS,CAAC7rqB,UAAU9R,GAAAA,SAAW+2B,WAAW,CAAC,YAAYgjB,YAAY,uDAAuD6joB,gBAAgB,CAAC9rqB,UAAU9R,GAAAA,gBAAkB+2B,WAAW,CAAC,YAAYgjB,YAAY,8BAA8B8joB,oBAAoB,CAAC/rqB,UAAU9R,GAAAA,oBAAsB+2B,WAAW,CAAC,YAAYgjB,YAAY,yBAAyB+joB,eAAe,CAAChsqB,UAAU9R,GAAAA,eAAiB+2B,WAAW,CAAC,YAAYgjB,YAAY,wBAAwBgkoB,aAAa,CAACjsqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,YAAYgjB,YAAY,6DAA6DikoB,aAAa,CAAClsqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,YAAYgjB,YAAY,8DAA8DkkoB,gBAAgB,CAACnsqB,UAAU9R,GAAAA,gBAAkB+2B,WAAW,CAAC,YAAYgjB,YAAY,iCAAiC+8B,MAAM,CAAChlE,UAAU9R,GAAAA,OAASk+qB,iBAAiB,CAACpsqB,UAAU9R,GAAAA,kBAAoBm+qB,kBAAkB,CAACrsqB,UAAU9R,GAAAA,mBAAqBo+qB,WAAW,CAACtsqB,UAAU9R,GAAAA,YAAcq+qB,kBAAkB,CAACvsqB,UAAU9R,GAAAA,mBAAqBs+qB,mBAAmB,CAACxsqB,UAAU9R,GAAAA,oBAAsBu+qB,qBAAqB,CAACzsqB,UAAU9R,GAAAA,sBAAwBw+qB,mBAAmB,CAAC1sqB,UAAU9R,GAAAA,oBAAsBy+qB,qBAAqB,CAAC3sqB,UAAU9R,GAAAA,sBAAwB0+qB,eAAe,CAAC5sqB,UAAU9R,GAAAA,gBAAkB2+qB,qBAAqB,CAAC7sqB,UAAU9R,GAAAA,sBAAwB4+qB,sBAAsB,CAAC9sqB,UAAU9R,GAAAA,uBAAyB6+qB,wBAAwB,CAAC/sqB,UAAU9R,GAAAA,yBAA2B8+qB,kBAAkB,CAAChtqB,UAAU9R,GAAAA,mBAAqB++qB,uBAAuB,CAACjtqB,UAAU9R,GAAAA,wBAA0Bg/qB,qBAAqB,CAACltqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,iBAAiBkopB,yBAAyB,CAACntqB,UAAU9R,GAAAA,yBAA2B+2B,WAAW,CAAC,iBAAiBmopB,yBAAyB,CAACptqB,UAAU9R,GAAAA,yBAA2B+2B,WAAW,CAAC,iBAAiBoopB,2BAA2B,CAACrtqB,UAAU9R,GAAAA,2BAA6B+2B,WAAW,CAAC,iBAAiBqopB,iBAAiB,CAACttqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,iBAAiBsopB,wBAAwB,CAACvtqB,UAAU9R,GAAAA,wBAA0B+2B,WAAW,CAAC,iBAAiBuopB,qBAAqB,CAACxtqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,iBAAiB6opB,mBAAmB,CAAC9tqB,UAAU9R,GAAAA,mBAAqB+2B,WAAW,CAAC,iBAAiBwopB,qBAAqB,CAACztqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,iBAAiByopB,qBAAqB,CAAC1tqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,iBAAiB0opB,sBAAsB,CAAC3tqB,UAAU9R,GAAAA,sBAAwB+2B,WAAW,CAAC,iBAAiB2opB,qBAAqB,CAAC5tqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,iBAAiB4opB,uBAAuB,CAAC7tqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,iBAAiB8opB,sBAAsB,CAAC/tqB,UAAU9R,GAAAA,sBAAwB+2B,WAAW,CAAC,iBAAiB+opB,0BAA0B,CAAChuqB,UAAU9R,GAAAA,0BAA4B+2B,WAAW,CAAC,iBAAiBgppB,0BAA0B,CAACjuqB,UAAU9R,GAAAA,0BAA4B+2B,WAAW,CAAC,iBAAiBippB,4BAA4B,CAACluqB,UAAU9R,GAAAA,4BAA8B+2B,WAAW,CAAC,iBAAiBkppB,mCAAmC,CAACnuqB,UAAU9R,GAAAA,mCAAqC+2B,WAAW,CAAC,iBAAiBmppB,KAAK,CAACpuqB,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmDomoB,KAAK,CAACruqB,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmDqmoB,QAAQ,CAACtuqB,UAAU9R,GAAAA,QAAU+2B,WAAW,CAAC,WAAWgjB,YAAY,sDAAsDsmoB,eAAe,CAACvuqB,UAAU9R,GAAAA,eAAiB+2B,WAAW,CAAC,kBAAkBgjB,YAAY,6DAA6DumoB,0BAA0B,CAACxuqB,UAAU9R,GAAAA,0BAA4B+2B,WAAW,CAAC,kBAAkBgjB,YAAY,yEAAyEy5J,KAAK,CAAC1hM,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmDsoe,MAAM,CAACvwgB,UAAU9R,GAAAA,MAAQ+2B,WAAW,CAAC,SAASgjB,YAAY,oDAAoDwmoB,MAAM,CAACzuqB,UAAU9R,GAAAA,OAASg7E,MAAM,CAAClpE,UAAU9R,GAAAA,OAASmtpB,KAAK,CAACr7oB,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmDymoB,OAAO,CAAC1uqB,UAAU9R,GAAAA,OAAS+2B,WAAW,CAAC,UAAUgjB,YAAY,qDAAqD0moB,kBAAkB,CAAC3uqB,UAAU9R,GAAAA,kBAAoB+2B,WAAW,CAAC,UAAUgjB,YAAY,yCAAyC2moB,qBAAqB,CAAC5uqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,UAAUgjB,YAAY,kDAAkD4moB,YAAY,CAAC7uqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,QAAQgjB,YAAY,iCAAiC6moB,mBAAmB,CAAC9uqB,UAAU9R,GAAAA,mBAAqB+2B,WAAW,CAAC,QAAQgjB,YAAY,wBAAwBgsN,SAAS,CAACj0P,UAAU9R,GAAAA,SAAW+2B,WAAW,CAAC,QAAQgjB,YAAY,wEAAwE8moB,YAAY,CAAC/uqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,QAAQgjB,YAAY,+EAA+E+moB,WAAW,CAAChvqB,UAAU9R,GAAAA,WAAa+2B,WAAW,CAAC,cAAcgjB,YAAY,yDAAyDgnoB,qBAAqB,CAACjvqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,cAAcgjB,YAAY,2CAA2CinoB,sBAAsB,CAAClvqB,UAAU9R,GAAAA,sBAAwB+2B,WAAW,CAAC,cAAcgjB,YAAY,6DAA6DknoB,uBAAuB,CAACnvqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,cAAcgjB,YAAY,iEAAiEmnoB,cAAc,CAACpvqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,iBAAiBgjB,YAAY,4DAA4DonoB,iBAAiB,CAACrvqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,oBAAoBgjB,YAAY,+DAA+DqnoB,YAAY,CAACtvqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0DAA0DsnoB,MAAM,CAACvvqB,UAAU9R,GAAAA,MAAQ+2B,WAAW,CAAC,kBAAkB,SAASgjB,YAAY,oDAAoDq6Y,YAAY,CAACtib,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,kBAAkB,SAASgjB,YAAY,+CAA+CunoB,WAAW,CAACxvqB,UAAU9R,GAAAA,WAAa+2B,WAAW,CAAC,kBAAkB,SAASgjB,YAAY,oDAAoDwnoB,WAAW,CAACzvqB,UAAU9R,GAAAA,WAAa+2B,WAAW,CAAC,kBAAkB,SAASgjB,YAAY,oCAAoCynoB,gBAAgB,CAAC1vqB,UAAU9R,GAAAA,gBAAkB+2B,WAAW,CAAC,mBAAmBgjB,YAAY,8DAA8D0noB,WAAW,CAAC3vqB,UAAU9R,GAAAA,WAAa+2B,WAAW,CAAC,mBAAmBgjB,YAAY,4CAA4C2noB,OAAO,CAAC5vqB,UAAU9R,GAAAA,OAAS+2B,WAAW,CAAC,UAAUgjB,YAAY,qDAAqDsvS,WAAW,CAACv3U,UAAU9R,GAAAA,WAAa+2B,WAAW,CAAC,cAAcgjB,YAAY,yDAAyD4noB,YAAY,CAAC7vqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0DAA0D6noB,iBAAiB,CAAC9vqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,eAAegjB,YAAY,kDAAkD8noB,kBAAkB,CAAC/vqB,UAAU9R,GAAAA,kBAAoB+2B,WAAW,CAAC,eAAegjB,YAAY,sCAAsC24I,OAAO,CAAC5gL,UAAU9R,GAAAA,OAAS+2B,WAAW,CAAC,SAAS,eAAegjB,YAAY,uCAAuC+noB,YAAY,CAAChwqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0DAA0DgooB,cAAc,CAACjwqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,SAAS,eAAegjB,YAAY,uCAAuCiooB,kBAAkB,CAAClwqB,UAAU9R,GAAAA,kBAAoB+2B,WAAW,CAAC,SAAS,eAAegjB,YAAY,4CAA4CkooB,YAAY,CAACnwqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0DAA0DmooB,iBAAiB,CAACpwqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,eAAegjB,YAAY,2DAA2DoooB,iBAAiB,CAACrwqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,eAAegjB,YAAY,qCAAqCqooB,iBAAiB,CAACtwqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,eAAegjB,YAAY,8DAA8DsooB,gBAAgB,CAACvwqB,UAAU9R,GAAAA,gBAAkB+2B,WAAW,CAAC,eAAegjB,YAAY,oEAAoEuooB,iBAAiB,CAACxwqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,eAAegjB,YAAY,qCAAqCwooB,iBAAiB,CAACzwqB,UAAU9R,GAAAA,iBAAmB+2B,WAAW,CAAC,eAAegjB,YAAY,qCAAqCyooB,aAAa,CAAC1wqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,gBAAgBgjB,YAAY,2DAA2D0ooB,2BAA2B,CAAC3wqB,UAAU9R,GAAAA,2BAA6B+2B,WAAW,CAAC,gBAAgBgjB,YAAY,wCAAwC2ooB,2BAA2B,CAAC5wqB,UAAU9R,GAAAA,2BAA6B+2B,WAAW,CAAC,gBAAgBgjB,YAAY,wCAAwC4ooB,kBAAkB,CAAC7wqB,UAAU9R,GAAAA,kBAAoB+2B,WAAW,CAAC,gBAAgBgjB,YAAY,2CAA2C6ooB,eAAe,CAAC9wqB,UAAU9R,GAAAA,eAAiB+2B,WAAW,CAAC,mBAAmB8rpB,uBAAuB,CAAC/wqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,mBAAmB+rpB,2BAA2B,CAAChxqB,UAAU9R,GAAAA,2BAA6B+2B,WAAW,CAAC,mBAAmBgspB,2BAA2B,CAACjxqB,UAAU9R,GAAAA,2BAA6B+2B,WAAW,CAAC,mBAAmBispB,yBAAyB,CAAClxqB,UAAU9R,GAAAA,yBAA2B+2B,WAAW,CAAC,mBAAmBkspB,mBAAmB,CAACnxqB,UAAU9R,GAAAA,mBAAqB+2B,WAAW,CAAC,mBAAmBmspB,0BAA0B,CAACpxqB,UAAU9R,GAAAA,0BAA4B+2B,WAAW,CAAC,mBAAmBospB,uBAAuB,CAACrxqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,mBAAmBqspB,uBAAuB,CAACtxqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,mBAAmB2spB,qBAAqB,CAAC5xqB,UAAU9R,GAAAA,qBAAuB+2B,WAAW,CAAC,mBAAmBsspB,uBAAuB,CAACvxqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,mBAAmBuspB,uBAAuB,CAACxxqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,mBAAmBwspB,wBAAwB,CAACzxqB,UAAU9R,GAAAA,wBAA0B+2B,WAAW,CAAC,mBAAmByspB,uBAAuB,CAAC1xqB,UAAU9R,GAAAA,uBAAyB+2B,WAAW,CAAC,mBAAmB0spB,yBAAyB,CAAC3xqB,UAAU9R,GAAAA,yBAA2B+2B,WAAW,CAAC,mBAAmB4spB,wBAAwB,CAAC7xqB,UAAU9R,GAAAA,wBAA0B+2B,WAAW,CAAC,mBAAmB6spB,4BAA4B,CAAC9xqB,UAAU9R,GAAAA,4BAA8B+2B,WAAW,CAAC,mBAAmB8spB,YAAY,CAAC/xqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0DAA0D+poB,YAAY,CAAChyqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,+CAA+CgqoB,YAAY,CAACjyqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0CAA0CiqoB,YAAY,CAAClyqB,UAAU9R,GAAAA,YAAc+2B,WAAW,CAAC,eAAegjB,YAAY,0CAA0CkqoB,cAAc,CAACnyqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,eAAegjB,YAAY,iFAAiF2oe,MAAM,CAAC5wgB,UAAU9R,GAAAA,MAAQ+2B,WAAW,CAAC,SAASgjB,YAAY,oDAAoDmqoB,aAAa,CAACpyqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,SAASgjB,YAAY,6DAA6DoqoB,UAAU,CAACryqB,UAAU9R,GAAAA,UAAY+2B,WAAW,CAAC,SAASgjB,YAAY,wCAAwCqqoB,QAAQ,CAACtyqB,UAAU9R,GAAAA,QAAU+2B,WAAW,CAAC,SAASgjB,YAAY,2FAA2FsqoB,QAAQ,CAACvyqB,UAAU9R,GAAAA,QAAU+2B,WAAW,CAAC,SAASgjB,YAAY,2FAA2FuqoB,UAAU,CAACxyqB,UAAU9R,GAAAA,UAAY+2B,WAAW,CAAC,SAASgjB,YAAY,wCAAwCwqoB,UAAU,CAACzyqB,UAAU9R,GAAAA,UAAY+2B,WAAW,CAAC,SAASgjB,YAAY,wCAAwCyqoB,SAAS,CAAC1yqB,UAAU9R,GAAAA,SAAW+2B,WAAW,CAAC,SAASgjB,YAAY,uCAAuC82X,KAAK,CAAC/+Z,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmD0qoB,SAAS,CAAC3yqB,UAAU9R,GAAAA,SAAW+2B,WAAW,CAAC,QAAQgjB,YAAY,sDAAsD2qoB,KAAK,CAAC5yqB,UAAU9R,GAAAA,KAAO+2B,WAAW,CAAC,QAAQgjB,YAAY,mDAAmD4qoB,SAAS,CAAC7yqB,UAAU9R,GAAAA,SAAW+2B,WAAW,CAAC,iBAAiBgjB,YAAY,kCAAkC6qoB,cAAc,CAAC9yqB,UAAU9R,GAAAA,cAAgB+2B,WAAW,CAAC,iBAAiBgjB,YAAY,4DAA4D8qoB,UAAU,CAAC/yqB,UAAU9R,GAAAA,UAAY+2B,WAAW,CAAC,aAAagjB,YAAY,wDAAwD+qoB,aAAa,CAAChzqB,UAAU9R,GAAAA,aAAe+2B,WAAW,CAAC,gBAAgBgjB,YAAY,2DAA2DgroB,kBAAkB,CAACjzqB,UAAU9R,GAAAA,kBAAoB+2B,WAAW,CAAC,eAAe,qBAAqBgjB,YAAY,gEAAgEiroB,eAAe,CAAClzqB,UAAU9R,GAAAA,eAAiB+2B,WAAW,CAAC,kBAAkBgjB,YAAY,8DAA8Dx6C,GAAE,CAACu8qB,MAAM13qB,GAAE03qB,MAAMhqqB,UAAUiqqB,UAAU33qB,GAAE23qB,UAAUjqqB,UAAUkqqB,aAAa53qB,GAAE43qB,aAAalqqB,UAAUmqqB,UAAU73qB,GAAE63qB,UAAUnqqB,UAAUoqqB,aAAa93qB,GAAE83qB,aAAapqqB,UAAUqqqB,aAAa/3qB,GAAE+3qB,aAAarqqB,UAAUsqqB,iBAAiBh4qB,GAAEg4qB,iBAAiBtqqB,UAAUuqqB,sBAAsBj4qB,GAAEi4qB,sBAAsBvqqB,UAAUwqqB,uBAAuBl4qB,GAAEk4qB,uBAAuBxqqB,UAAUyqqB,uBAAuBn4qB,GAAEm4qB,uBAAuBzqqB,UAAU0qqB,wBAAwBp4qB,GAAEo4qB,wBAAwB1qqB,UAAU2qqB,uBAAuBr4qB,GAAEq4qB,uBAAuB3qqB,UAAU4qqB,wBAAwBt4qB,GAAEs4qB,wBAAwB5qqB,UAAU6qqB,MAAMv4qB,GAAEu4qB,MAAM7qqB,UAAU0mE,OAAOp0E,GAAEo0E,OAAO1mE,UAAU45W,YAAYtnX,GAAEsnX,YAAY55W,UAAU8qqB,oBAAoBx4qB,GAAEw4qB,oBAAoB9qqB,UAAU+qqB,KAAKz4qB,GAAEy4qB,KAAK/qqB,UAAUgrqB,SAAS14qB,GAAE04qB,SAAShrqB,UAAUirqB,eAAe34qB,GAAE24qB,eAAejrqB,UAAUkrqB,aAAa54qB,GAAE44qB,aAAalrqB,UAAUmrqB,cAAc74qB,GAAE64qB,cAAcnrqB,UAAUorqB,cAAc94qB,GAAE84qB,cAAcprqB,UAAUqrqB,cAAc/4qB,GAAE+4qB,cAAcrrqB,UAAUsrqB,WAAWh5qB,GAAEg5qB,WAAWtrqB,UAAUurqB,gBAAgBj5qB,GAAEi5qB,gBAAgBvrqB,UAAUwrqB,iBAAiBl5qB,GAAEk5qB,iBAAiBxrqB,UAAUyrqB,qBAAqBn5qB,GAAEm5qB,qBAAqBzrqB,UAAU0rqB,kBAAkBp5qB,GAAEo5qB,kBAAkB1rqB,UAAU2rqB,eAAer5qB,GAAEq5qB,eAAe3rqB,UAAU89pB,QAAQxrqB,GAAEwrqB,QAAQ99pB,UAAU4rqB,aAAat5qB,GAAEs5qB,aAAa5rqB,UAAU6rqB,SAASv5qB,GAAEu5qB,SAAS7rqB,UAAU8rqB,gBAAgBx5qB,GAAEw5qB,gBAAgB9rqB,UAAU+rqB,oBAAoBz5qB,GAAEy5qB,oBAAoB/rqB,UAAUgsqB,eAAe15qB,GAAE05qB,eAAehsqB,UAAUisqB,aAAa35qB,GAAE25qB,aAAajsqB,UAAUksqB,aAAa55qB,GAAE45qB,aAAalsqB,UAAUmsqB,gBAAgB75qB,GAAE65qB,gBAAgBnsqB,UAAUglE,MAAM1yE,GAAE0yE,MAAMhlE,UAAUosqB,iBAAiB95qB,GAAE85qB,iBAAiBpsqB,UAAUqsqB,kBAAkB/5qB,GAAE+5qB,kBAAkBrsqB,UAAUssqB,WAAWh6qB,GAAEg6qB,WAAWtsqB,UAAUusqB,kBAAkBj6qB,GAAEi6qB,kBAAkBvsqB,UAAUwsqB,mBAAmBl6qB,GAAEk6qB,mBAAmBxsqB,UAAUysqB,qBAAqBn6qB,GAAEm6qB,qBAAqBzsqB,UAAU0sqB,mBAAmBp6qB,GAAEo6qB,mBAAmB1sqB,UAAU2sqB,qBAAqBr6qB,GAAEq6qB,qBAAqB3sqB,UAAU4sqB,eAAet6qB,GAAEs6qB,eAAe5sqB,UAAU6sqB,qBAAqBv6qB,GAAEu6qB,qBAAqB7sqB,UAAU8sqB,sBAAsBx6qB,GAAEw6qB,sBAAsB9sqB,UAAU+sqB,wBAAwBz6qB,GAAEy6qB,wBAAwB/sqB,UAAUgtqB,kBAAkB16qB,GAAE06qB,kBAAkBhtqB,UAAUitqB,uBAAuB36qB,GAAE26qB,uBAAuBjtqB,UAAUktqB,qBAAqB56qB,GAAE46qB,qBAAqBltqB,UAAUmtqB,yBAAyB76qB,GAAE66qB,yBAAyBntqB,UAAUotqB,yBAAyB96qB,GAAE86qB,yBAAyBptqB,UAAUqtqB,2BAA2B/6qB,GAAE+6qB,2BAA2BrtqB,UAAUstqB,iBAAiBh7qB,GAAEg7qB,iBAAiBttqB,UAAUutqB,wBAAwBj7qB,GAAEi7qB,wBAAwBvtqB,UAAUwtqB,qBAAqBl7qB,GAAEk7qB,qBAAqBxtqB,UAAU8tqB,mBAAmBx7qB,GAAEw7qB,mBAAmB9tqB,UAAUytqB,qBAAqBn7qB,GAAEm7qB,qBAAqBztqB,UAAU0tqB,qBAAqBp7qB,GAAEo7qB,qBAAqB1tqB,UAAU2tqB,sBAAsBr7qB,GAAEq7qB,sBAAsB3tqB,UAAU4tqB,qBAAqBt7qB,GAAEs7qB,qBAAqB5tqB,UAAU6tqB,uBAAuBv7qB,GAAEu7qB,uBAAuB7tqB,UAAU+tqB,sBAAsBz7qB,GAAEy7qB,sBAAsB/tqB,UAAUguqB,0BAA0B17qB,GAAE07qB,0BAA0BhuqB,UAAUiuqB,0BAA0B37qB,GAAE27qB,0BAA0BjuqB,UAAUkuqB,4BAA4B57qB,GAAE47qB,4BAA4BluqB,UAAUmuqB,mCAAmC77qB,GAAE67qB,mCAAmCnuqB,UAAUouqB,KAAK97qB,GAAE87qB,KAAKpuqB,UAAUquqB,KAAK/7qB,GAAE+7qB,KAAKruqB,UAAUsuqB,QAAQh8qB,GAAEg8qB,QAAQtuqB,UAAUuuqB,eAAej8qB,GAAEi8qB,eAAevuqB,UAAUwuqB,0BAA0Bl8qB,GAAEk8qB,0BAA0BxuqB,UAAU0hM,KAAKpvM,GAAEovM,KAAK1hM,UAAUuwgB,MAAMj+gB,GAAEi+gB,MAAMvwgB,UAAUyuqB,MAAMn8qB,GAAEm8qB,MAAMzuqB,UAAUkpE,MAAM52E,GAAE42E,MAAMlpE,UAAUq7oB,KAAK/opB,GAAE+opB,KAAKr7oB,UAAU0uqB,OAAOp8qB,GAAEo8qB,OAAO1uqB,UAAU2uqB,kBAAkBr8qB,GAAEq8qB,kBAAkB3uqB,UAAU4uqB,qBAAqBt8qB,GAAEs8qB,qBAAqB5uqB,UAAU6uqB,YAAYv8qB,GAAEu8qB,YAAY7uqB,UAAU8uqB,mBAAmBx8qB,GAAEw8qB,mBAAmB9uqB,UAAUi0P,SAAS3hQ,GAAE2hQ,SAASj0P,UAAU+uqB,YAAYz8qB,GAAEy8qB,YAAY/uqB,UAAUgvqB,WAAW18qB,GAAE08qB,WAAWhvqB,UAAUivqB,qBAAqB38qB,GAAE28qB,qBAAqBjvqB,UAAUkvqB,sBAAsB58qB,GAAE48qB,sBAAsBlvqB,UAAUmvqB,uBAAuB78qB,GAAE68qB,uBAAuBnvqB,UAAUovqB,cAAc98qB,GAAE88qB,cAAcpvqB,UAAUqvqB,iBAAiB/8qB,GAAE+8qB,iBAAiBrvqB,UAAUsvqB,YAAYh9qB,GAAEg9qB,YAAYtvqB,UAAUuvqB,MAAMj9qB,GAAEi9qB,MAAMvvqB,UAAUsib,YAAYhwb,GAAEgwb,YAAYtib,UAAUwvqB,WAAWl9qB,GAAEk9qB,WAAWxvqB,UAAUyvqB,WAAWn9qB,GAAEm9qB,WAAWzvqB,UAAU0vqB,gBAAgBp9qB,GAAEo9qB,gBAAgB1vqB,UAAU2vqB,WAAWr9qB,GAAEq9qB,WAAW3vqB,UAAU4vqB,OAAOt9qB,GAAEs9qB,OAAO5vqB,UAAUu3U,WAAWjlV,GAAEilV,WAAWv3U,UAAU6vqB,YAAYv9qB,GAAEu9qB,YAAY7vqB,UAAU8vqB,iBAAiBx9qB,GAAEw9qB,iBAAiB9vqB,UAAU+vqB,kBAAkBz9qB,GAAEy9qB,kBAAkB/vqB,UAAU4gL,OAAOtuL,GAAEsuL,OAAO5gL,UAAUgwqB,YAAY19qB,GAAE09qB,YAAYhwqB,UAAUiwqB,cAAc39qB,GAAE29qB,cAAcjwqB,UAAUkwqB,kBAAkB59qB,GAAE49qB,kBAAkBlwqB,UAAUmwqB,YAAY79qB,GAAE69qB,YAAYnwqB,UAAUowqB,iBAAiB99qB,GAAE89qB,iBAAiBpwqB,UAAUqwqB,iBAAiB/9qB,GAAE+9qB,iBAAiBrwqB,UAAUswqB,iBAAiBh+qB,GAAEg+qB,iBAAiBtwqB,UAAUuwqB,gBAAgBj+qB,GAAEi+qB,gBAAgBvwqB,UAAUwwqB,iBAAiBl+qB,GAAEk+qB,iBAAiBxwqB,UAAUywqB,iBAAiBn+qB,GAAEm+qB,iBAAiBzwqB,UAAU0wqB,aAAap+qB,GAAEo+qB,aAAa1wqB,UAAU2wqB,2BAA2Br+qB,GAAEq+qB,2BAA2B3wqB,UAAU4wqB,2BAA2Bt+qB,GAAEs+qB,2BAA2B5wqB,UAAU6wqB,kBAAkBv+qB,GAAEu+qB,kBAAkB7wqB,UAAU8wqB,eAAex+qB,GAAEw+qB,eAAe9wqB,UAAU+wqB,uBAAuBz+qB,GAAEy+qB,uBAAuB/wqB,UAAUgxqB,2BAA2B1+qB,GAAE0+qB,2BAA2BhxqB,UAAUixqB,2BAA2B3+qB,GAAE2+qB,2BAA2BjxqB,UAAUkxqB,yBAAyB5+qB,GAAE4+qB,yBAAyBlxqB,UAAUmxqB,mBAAmB7+qB,GAAE6+qB,mBAAmBnxqB,UAAUoxqB,0BAA0B9+qB,GAAE8+qB,0BAA0BpxqB,UAAUqxqB,uBAAuB/+qB,GAAE++qB,uBAAuBrxqB,UAAUsxqB,uBAAuBh/qB,GAAEg/qB,uBAAuBtxqB,UAAU4xqB,qBAAqBt/qB,GAAEs/qB,qBAAqB5xqB,UAAUuxqB,uBAAuBj/qB,GAAEi/qB,uBAAuBvxqB,UAAUwxqB,uBAAuBl/qB,GAAEk/qB,uBAAuBxxqB,UAAUyxqB,wBAAwBn/qB,GAAEm/qB,wBAAwBzxqB,UAAU0xqB,uBAAuBp/qB,GAAEo/qB,uBAAuB1xqB,UAAU2xqB,yBAAyBr/qB,GAAEq/qB,yBAAyB3xqB,UAAU6xqB,wBAAwBv/qB,GAAEu/qB,wBAAwB7xqB,UAAU8xqB,4BAA4Bx/qB,GAAEw/qB,4BAA4B9xqB,UAAU+xqB,YAAYz/qB,GAAEy/qB,YAAY/xqB,UAAUgyqB,YAAY1/qB,GAAE0/qB,YAAYhyqB,UAAUiyqB,YAAY3/qB,GAAE2/qB,YAAYjyqB,UAAUkyqB,YAAY5/qB,GAAE4/qB,YAAYlyqB,UAAUmyqB,cAAc7/qB,GAAE6/qB,cAAcnyqB,UAAU4wgB,MAAMt+gB,GAAEs+gB,MAAM5wgB,UAAUoyqB,aAAa9/qB,GAAE8/qB,aAAapyqB,UAAUqyqB,UAAU//qB,GAAE+/qB,UAAUryqB,UAAUsyqB,QAAQhgrB,GAAEggrB,QAAQtyqB,UAAUuyqB,QAAQjgrB,GAAEigrB,QAAQvyqB,UAAUwyqB,UAAUlgrB,GAAEkgrB,UAAUxyqB,UAAUyyqB,UAAUngrB,GAAEmgrB,UAAUzyqB,UAAU0yqB,SAASpgrB,GAAEogrB,SAAS1yqB,UAAU++Z,KAAKzsa,GAAEysa,KAAK/+Z,UAAU2yqB,SAASrgrB,GAAEqgrB,SAAS3yqB,UAAU4yqB,KAAKtgrB,GAAEsgrB,KAAK5yqB,UAAU6yqB,SAASvgrB,GAAEugrB,SAAS7yqB,UAAU8yqB,cAAcxgrB,GAAEwgrB,cAAc9yqB,UAAU+yqB,UAAUzgrB,GAAEygrB,UAAU/yqB,UAAUgzqB,aAAa1grB,GAAE0grB,aAAahzqB,UAAUizqB,kBAAkB3grB,GAAE2grB,kBAAkBjzqB,UAAUkzqB,eAAe5grB,GAAE4grB,eAAelzqB,WAAWrO,GAAS,CAACwhrB,mBAAmB,iBAA7BxhrB,GAAoY,CAACyhrB,iBAAiB,gBAAtZzhrB,GAA6d,CAAC0hrB,iBAAiB,qBAAqBC,gBAAgB,oBAAoBC,aAAa,iBAAqGpgpB,GAAE,CAACoG,gBAAgB,SAASre,MAAM,SAAS8Y,aAAa,QAAQzX,SAAS,YAAY3J,WAAW,cAAcyJ,WAAW,QAAQxJ,WAAW,cAAcC,QAAQ,YAAYmqB,UAAU,UAAU5H,UAAU,aAAa2H,KAAK,QAAQF,MAAM,QAAQD,IAAI,QAAQE,OAAO,QAAQpd,OAAO,QAAQ4I,MAAM,QAAQhL,cAAc,QAAQ4Z,OAAO,QAAQkE,YAAY,QAAQE,eAAe,QAAQD,iBAAiB,QAAQJ,aAAa,QAAQE,gBAAgB,QAAQD,kBAAkB,QAAQF,WAAW,QAAQF,YAAY,QAAQD,UAAU,QAAQE,aAAa,QAAQ3B,UAAU,QAAQN,SAAS,QAAQhiB,UAAU,QAAQqiB,SAAS,QAAQhC,QAAQ,QAAQiD,aAAa,QAAQE,gBAAgB,QAAQD,kBAAkB,QAAQJ,cAAc,QAAQE,iBAAiB,QAAQD,mBAAmB,QAAQF,YAAY,QAAQF,aAAa,QAAQD,WAAW,QAAQE,cAAc,QAAQtB,IAAI,QAAQC,UAAU,QAAQC,OAAO,SCA39zBlrC,GAAE,SAAAD,GAAC,MAAE,iBAAiBA,GAAG,IAAIA,EAAEK,MAAM,EAACF,GAAE,SAAAH,GAAC,OAAE,MAAMA,GAAGC,GAAED,EAAE,EAAqE0lC,GAAE,SAAA1lC,GAAC,OAAEd,OAAOgR,KAAKlQ,EAAE,EAACmE,GAAE,SAAFA,EAAGD,EAAEjE,EAAEE,GAAK,GAAG,iBAAiBF,EAAE,OAAOA,EAAE,GAAGA,EAAEyuD,SAAS,KAAK,OAAOzuD,EAAEuS,MAAM,KAAKjU,KAAK,SAAAyB,GAAC,OAAEmE,EAAED,EAAElE,EAAEG,EAAE,IAAGgP,KAAK,KAAK,GAAKjL,KCA7dA,GDAge,CAAwC,IAAvC,IAAMzD,EAAER,EAAEuS,MAAM,KAAKvP,EAAE/C,GAAEgE,GAAOwhC,EAAEvlC,EAAE8C,GAAWjD,EAAE,EAAEA,EAAES,EAAEJ,QAAQqlC,EAAE1lC,IAAI0lC,EAAEA,EAAEjlC,EAAET,IAAI,OAAOA,GAAE0lC,GAAE,SAAAjnC,OAAU0C,GAAE,CAACy7B,KAAI,CAAE18B,GAAEgE,IAAEzF,QAAAm6B,EAAAA,GAAAA,GAAIn4B,MAAI,KAAIR,CAAC,CAAC,OAAOA,CAAC,EEAzlBiE,GAAE,SAAAoW,GAAyC,IAAoDzV,EAAhFX,EAACoW,EAAZ2pB,WAAyBxjC,EAAC6Z,EAAb2O,YAAqBhpB,EAACqa,EAARgpB,OAAiBpjC,EAAE,CAAC,EAAQC,EAAEH,GAAES,GAAG00B,MAAM,SAACh0B,EAAEnB,GAAC,OAAGS,EAAEU,GAAGV,EAAET,EAAE,IAAS,OAAOX,MAAMkoB,QAAQtnB,GAAGA,EAAE2P,SAAS,SAACzO,EAAEnB,GAAKE,EAAEC,EAAEH,IAAImB,CAAC,IAAI,iBAAiBlB,IAAIC,EAAEF,GAAE6E,EAAE5E,GAAGma,QAAQ,SAACpa,EAAEkE,GAAC,OAAGA,KAAK/C,GAAAA,YAAAA,OAAqBjC,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEC,IAAEiU,EAAAA,EAAAA,GAAA,GAAG/P,EAAGW,EAAEX,KAAKlE,CAAC,GAAE,CAAC,IAAK,SAAAua,GAAyC,IAA5BpZ,EAACoZ,EAAZ0pB,WAAyB//B,EAACqW,EAAb0O,YAAqBxoB,EAAC8Z,EAAR+oB,OAAmBrjC,EAAEQ,EAAEU,GAAG,QAAG,IAASlB,EAAE,OAAOA,EAAE,IAA8EkgY,EAAxEjgY,EAAEF,GAAEkE,GAAGixB,MAAM,SAACh0B,EAAEnB,GAAC,OAAGkE,EAAElE,GAAGkE,EAAE/C,EAAE,IAA2B49oB,EAAAm9B,GAAtBh8qB,EAAE2c,MAAM3c,EAAEQ,QAAQS,KAAoB,IAAhB,IAAA49oB,EAAA9+oB,MAAAkgY,EAAA4+Q,EAAA5+oB,KAAA0C,MAAiB,KAAO7C,EAAES,EAAf0/X,EAAA39X,OAAoB,QAAG,IAASxC,EAAE,OAAOA,CAAC,CAAC,OAAAs1C,GAAAypmB,EAAAt+oB,EAAA60C,EAAA,SAAAypmB,EAAA97oB,GAAA,QAAO,IAAI,CAA7M,CAAgN,CAACghC,WAAW//B,EAAE+kB,YAAYxoB,EAAE6iC,OAAOpjC,GAAG,ECAthBC,GAAE,oBAAoBpC,OAAO0C,EAAAA,UAAYA,EAAAA,gBAAkByD,GAAE,SAAAoW,GAAuC,IAAzBpW,EAACoW,EAAb2O,YAAgCpkB,EAACyV,EAAnB2gqB,kBAA8B95qB,EAAE,oBAAoBpD,aAAQ,IAASA,OAAOgorB,WAAWhorB,OAAOgorB,WAAW,KAAK7lrB,EAAEO,EAAAA,SAAW,kBCA5O,SAAA6Z,GAAmB,IAALna,EAACma,EAAb2O,YAAwB9nB,EAAEnB,GAAEG,GAAGg1B,MAAM,SAACn1B,EAAEmB,GAAC,OAAGhB,EAAEgB,GAAGhB,EAAEH,EAAE,IAAG,OAAOmB,EAAE5C,KAAK,SAACyB,EAAEE,GAAK,IAAIgE,EAAE,GAASC,EAAEhE,EAAEH,GAAGS,EAAEU,EAAEjB,EAAE,GAAGZ,EAAEmB,EAAEN,EAAEM,GAAG,EAAE,KAAK,OAAO0D,GAAG,IAAID,EAAC,eAAAzF,OAAgB0F,EAAC,QAAO,OAAO7E,IAAI4E,IAAIA,GAAG,SAASA,GAAC,eAAAzF,OAAiBa,EAAC,QAAO,CAAC2kC,WAAWjkC,EAAEwxJ,MAAMttJ,EAAEonC,SAAShsC,EAAEqsC,SAASxnC,EAAE,GAAG,CDA1BnE,CAAE,CAACipB,YAAY/kB,GAAG,GAAE,CAACA,IAAG8hrB,EAAOvlrB,EAAAA,SAAWoE,GAAEohrB,GAAAzrqB,EAAAA,EAAAA,GAAAwrqB,EAAA,GAAlB/lrB,EAACgmrB,EAAA,GAACr6qB,EAACq6qB,EAAA,GAAgB/krB,EAAET,EAAAA,aAAe,SAACA,EAAET,GAAKS,GAAGmL,EAAE5L,EAAE,GAAG,CAAC4L,IAAI,OAAOzL,IAAG,WAAK,GAAIgB,EAAJ,CAAa,IAAMV,EAAEP,EAAE3B,KAAK,SAAAgc,GAA0B,IAAlB9Z,EAAC8Z,EAAPi3I,MAAmBxxJ,EAACua,EAAZ0pB,WAAuB9jC,EAAEgB,EAAEV,GAAGS,EAAEf,EAAEsgC,QAAQzgC,GAAG,IAAMkE,EAAE,SAAAzD,GAAIA,EAAEggC,SAAS70B,EAAE5L,EAAE,EAAE,OAAOG,EAAE4gC,iBAAiB,SAAS78B,GAAG,kBAAI/D,EAAEi0C,oBAAoB,SAASlwC,EAAE,KAAI,OAAM,WAAKzD,EAAEmP,SAAS,SAAAnP,GAAC,OAAEA,GAAG,GAAE,CAAjN,CAAkN,GAAG,CAACyD,EAAE0H,EAAEzK,EAAEjB,IAAIO,EAAAA,cAAgBR,GAAG,SAAAQ,GAAC,OAAEA,CAAC,IAAGR,CAAC,EEA3gBC,GAAE,SAAAoa,GAAA,IAAQpa,EAACoa,EAAP9X,MAAgB2B,EAACmW,EAAT4rqB,QAAiB5mrB,EAACgb,EAARiylB,OAAM,OAAMromB,GAAEhE,GAAGA,EAAEgP,WAAWlP,GAAEE,GAAGF,GAAEmE,GAAGhD,GAAEgD,EAAEjE,EAAEZ,GAAGY,EAAE,IAAI,ECA2cgB,GAAE,SAAAgD,GAAC,MAAE,SAASA,EAAE,OAAM,QAAAzF,OAASyF,EAAG,EAACjB,GAAE,SAAAiB,GAAC,OAA9H,SAAAA,GAAC,MAAE,SAASA,GAAG,iBAAiBA,IAAIuV,MAAMvV,IAAI,iBAAiBA,IAAIuV,MAAM6rB,WAAWphC,GAAG,CAAyC0H,CAAE1H,GAAGhD,GAAEgD,GAAG7E,MAAMkoB,QAAQrjB,GAAGA,EAAE3F,KAAK,SAAA2F,GAAC,OAAEhD,GAAEgD,EAAE,IAAG,iBAAiBA,GAAG,MAAMA,EAAEhF,OAAOib,QAAQjW,GAAGkW,QAAQ,SAAClW,EAACoW,GAAA,IAAAC,GAAAC,EAAAA,EAAAA,GAAAF,EAAA,GAAE7Z,EAAC8Z,EAAA,GAACva,EAACua,EAAA,UAAIrb,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEmE,IAAE+P,EAAAA,EAAAA,GAAA,GAAGxT,EAAGS,GAAElB,IAAI,GAAE,CAAC,GAAG,IAAI,EAAovBoE,GAAE,SAACF,EAAElE,GAAK,IAAAmmrB,EAA2D7mrB,KAAG8mrB,EAAAD,EAAxDl9pB,YAAoB9nB,EAACilrB,EAAR9ipB,OAA2BrjC,EAACmmrB,EAAnBnL,kBAA4Bp2qB,EAACshrB,EAAR55E,OAAcrsmB,EAAEC,GAAE,CAAC8oB,YAAY9nB,EAAE85qB,kBAAkBh7qB,IAAIkE,EAAn2B,SAAAnE,GAAI,IAAcmB,EAA+BnB,EAAvCsnb,QAAqBrnb,EAAkBD,EAA7B27qB,WAAiBx7qB,EAAYH,EAAhB4yF,IAAatzF,EAAGU,EAAVmd,OAAYtY,GAAEX,EAAAA,GAAAA,IAAElE,EAAE,CAAC,UAAU,aAAa,MAAM,WAAUqmrB,EAA4C5lrB,EAAAA,SAAW,iBAAK,CAAC6lrB,iBAAiBrjrB,GAAE9B,GAAGolrB,oBAAoBtjrB,GAAEhD,GAAG,GAAG,CAACkB,EAAElB,IAA/FkE,EAACkirB,EAAlBC,iBAAuC5gpB,EAAC2gpB,EAArBE,oBAAiG,OAAOrnrB,OAAOa,OAAO,CAAC6yF,IAAI1yF,GAAEC,GAAGgE,EAAEhE,EAAEgd,OAAOjd,GAAEZ,GAAGomC,EAAEpmC,GAAGuF,EAAE,CAAwlB5F,CAAEiF,GAAG,OAAOzD,EAAAA,SAAW,kBAA3mB,SAADk3B,GAAgE,IAAA6upB,EAAA7upB,EAA7D3mB,MAAM9M,OAAC,IAAAsirB,EAAC,CAAC,EAACA,EAAAC,EAAA9upB,EAAChe,MAAMlZ,OAAC,IAAAgmrB,EAAC,CAAC,EAACA,EAAYtmrB,EAACw3B,EAAZsM,WAAyB3kC,EAACq4B,EAAb1O,YAAqB/oB,EAACy3B,EAAR40kB,OAAmB3gmB,EAAE,CAAC,EAAE,OAAO1M,OAAOgR,KAAKhM,GAAGwO,QAAQ,SAAAjS,GAAC,OAAE,OAAOyD,EAAEzD,EAAE,IAAGmP,SAAS,SAAA1O,GAAI,GAAGA,KAAKC,GAAE,CAAC,IAAMyK,EAAE1H,EAAEhD,GAAG,IAAI0K,GAAGzH,GAAEyH,GAAG,OAAO,IAAM3I,EAAE9B,GAAED,GAAOjC,EAAE,GAAGe,GAAE4L,GAAG3M,EAAE2M,EAAEsD,WAAW,iBAAiBtD,EAAE3M,EAAEymC,GAAExkC,EAAE0K,EAAE1L,GAAG,iBAAiB0L,EAAE3M,EAAE2M,EAAE,iBAAiBA,IAAI3M,EAAE4F,GAAE,CAACqhrB,QAAQhlrB,EAAEqrmB,OAAOrsmB,EAAEsC,MAAMvC,GAAE,CAACqjC,OAAO13B,EAAEq4B,WAAW9jC,EAAE8oB,YAAY3pB,OAAOmB,EAAEvB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,IAAEwT,EAAAA,EAAAA,GAAA,GAAGhR,EAAGhE,GAAG,WAAM,IAASiF,EAAEhD,KAAK0K,EAAE1K,GAAGgD,EAAEhD,GAAG,IAAI,CAACwlrB,WAAWjmrB,EAAEkmrB,cAAc/6qB,EAAE,CAAiJ1I,CAAE,CAAC8N,MAAM7M,EAAEwV,MAAM3Z,EAAEikC,WAAW/jC,EAAE+oB,YAAY9nB,EAAEormB,OAAO1nmB,GAAG,GAAE,CAACV,EAAEnE,EAAEmB,EAAEjB,EAAE2E,GAAG,ECA7rD5E,GAAED,EAAAA,YAAc,SAACC,EAAE4E,GAAK,IAAA+hrB,EAA6E3mrB,EAAzEs8B,GAAGr8B,OAAC,IAAA0mrB,EAAC,MAAKA,EAAUlhpB,EAAqDzlC,EAA9DiU,SAAkBlV,EAA4CiB,EAAnD4mrB,OAAmB1mrB,EAAgCF,EAA1CwyN,UAAuBvuN,EAAmBjE,EAA9B27M,WAAmBz3M,EAAWlE,EAAjB0Z,MAAc1a,EAAGgB,EAAT6mrB,MAAWxnrB,GAAEmB,EAAAA,GAAAA,IAAER,EAAE,CAAC,KAAK,WAAW,SAAS,YAAY,aAAa,QAAQ,UAAU2ipB,EAAoCzhpB,GAAE7B,EAAE6E,GAAvBjD,EAAC0hpB,EAAZ8jC,WAA2BxjrB,EAAC0/oB,EAAf+jC,cAAwB,OAAO3mrB,EAAAA,cAAgBE,EAAEhB,OAAOa,OAAO,CAAC,aAAaI,EAAE,cAAcnB,EAAEkrB,SAAShmB,EAAEiT,IAAItS,EAAEiirB,MAAM7nrB,EAAE,GAAG,KAAK0a,MAAMzY,GAAGgC,GAAGwiC,EAAE,IAAIzlC,GAAE48B,YAAY,uBCAzM18B,GAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM+D,GAAEW,EAAAA,YAAc,SAACX,EAAEhD,GAAK,IAAcwkC,EAAsCxhC,EAAhDqO,UAAqBvT,EAA2BkF,EAApCgQ,SAAuBjR,EAAaiB,EAAzB6irB,YAAWC,EAAc9irB,EAAX+pJ,MAAM5lI,OAAC,IAAA2+pB,EAAC,EAACA,EAAI1nrB,GAAEmB,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,YAAY,WAAW,cAAc,UAAU,OAAOW,EAAAA,cAAgB7E,GAAEd,OAAOa,OAAO,CAACw8B,GAAGp8B,GAAEkoB,GAAG9V,UAAUpR,GAAEgD,GAAAA,QAAUlE,GAAEkE,GAAAA,QAAUkkB,GAAGnoB,GAAEiE,GAAAA,QAAU,YAAYlB,GAAGyiC,GAAGvuB,IAAIjW,GAAG5B,GAAGN,EAAE,IC2B/jB,SAAS+C,GAAUC,EAASC,EAAYC,EAAGC,GAEvC,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CDnCmkBwB,GAAE24B,YAAY,0BEIjlB,GAFayimB,EAAAA,yBCEN,SAAS2nD,GAAiBnqC,GAC7B,MAAO,UAAWA,CACtB,CCCA,IAAIrhgB,GAAiB,SAAU52I,EAAG5F,GAAK,OAAO4F,IAAM5F,CAAG,EACnDiorB,GAAqB,SAAUrirB,EAAGsirB,GAClC,GAJO,UADQC,EAKDvirB,IAJa,YAAauirB,EAItB,CAEd,GAAiB,IAAbvirB,EAAEuwC,QAAgB+xoB,EAAqB7opB,QACvC,OAAO6opB,EAAqB7opB,QAEhC,IAAIg7jB,ECqCkB,KADK+tF,EDpCOxirB,GCqCvBuwC,OAAeiyoB,EAAQv9qB,MAAQu9qB,EAAQC,QAAQC,aDnC1D,OADAJ,EAAqB7opB,QAAuB,IAAbz5B,EAAEuwC,OAAekkjB,EAAW,KACpDA,CACX,CCiCG,IAA4B+tF,ED9ChBD,EAcf,OAAOH,GAAiBpirB,GAAKA,EAAEiF,WAAQ7L,CAC3C,EEnBA,IAAM+B,GAAE,SAAAA,GAAI,IAAIkE,EAAE,OAAO,QAAQA,EAAElE,EAAE4Q,QAAQksoB,gBAAW,IAAS54oB,OAAE,EAAOA,EAAEy5nB,aAAa,EAAEz5nB,GAAE,SAAAA,GAAI,IAAI/D,EAAE,OAAO,QAAQA,EAAEH,GAAEkE,UAAK,IAAS/D,OAAE,EAAOA,EAAEyQ,OAAO,ECAmnE3Q,GAAE,SAAAsa,GAAoB,IAAb9Z,EAAC8Z,EAANy8B,KAAah3C,EAACua,EAAPzQ,MAAkB7J,EAAjuE,SAAAQ,GAAI,IAAMT,EAAE,SAAAA,GAAC,OAAE,SAAAmB,GAAC,OAAEV,EAAE,CAACyW,KAAKlX,EAAEyH,KAAKtG,GAAG,GAAC,MAAM,CAACqmrB,kBAAkBxnrB,EAAE,QAAQynrB,WAAWznrB,EAAE,UAAU0nrB,QAAQ1nrB,EAAE,YAAY2nrB,WAAW3nrB,EAAE,UAAUumX,WAAWvmX,EAAE,UAAU4nrB,WAAW5nrB,EAAE,QAAQ6nrB,kBAAkB7nrB,EAAE,qBAAqB8nrB,gBAAgB9nrB,EAAE,kBAAkB+nrB,SAAS/nrB,EAAE,WAAWgorB,SAAShorB,EAAE,WAAWiorB,iBAAiBjorB,EAAE,QAAQ,CAAu5DmB,CAAEV,GAAGP,EAAx5D,SAAAiB,GAAI,IAAIhB,EAAEF,EAAEC,EAAE2E,EAAEX,EAAQhD,EAAE,QAAQf,EAAEM,GAAEU,UAAK,IAAShB,EAAEA,EAAE,CAAC,EAAuByL,EAAoF1K,EAAxGgnrB,oBAAkClprB,EAAsEkC,EAAlFinrB,YAAuCzipB,EAA2CxkC,EAApEknrB,yBAA2CjkrB,EAAyBjD,EAAzC2rM,gBAAew7e,EAA0BnnrB,EAAvBonrB,eAAejgqB,OAAC,IAAAggqB,EAAC,KAAIA,EAAqBzkrB,GAAG,QAAQ1D,EAAE,QAAQD,EAAEkB,EAAEyP,eAAU,IAAS3Q,OAAE,EAAOA,EAAE4vC,cAAS,IAAS3vC,EAAEA,EAAE,CAAC,GAA9FqorB,gBAAgGplrB,EAAE,QAAQ0B,EAAE,MAAM3D,OAAE,EAAOA,EAAEsnrB,YAAO,IAAS3jrB,EAAEA,EAAE,QAAQX,EAAE/C,EAAEyP,eAAU,IAAS1M,OAAE,EAAOA,EAAEskrB,KAAKvlrB,EAAEkB,GAAGjF,OAAOgR,KAAK/L,GAAG9D,OAAO,EAAEf,EAAEU,GAAEmB,GAAGuqL,EAAEvqL,EAAEsnrB,OAAO,aAAa,MAAMnprB,OAAE,EAAOA,EAAEmprB,OAAO,YAAYx2J,EAAG,WAAK,QAAO,GAAI,KAAK9whB,EAAEs/B,QAAQ,QAAQ,MAAM,OAAO,KAAKt/B,EAAEs/B,QAAQ,SAAS,MAAM,QAAQ,KAAKt/B,EAAEs/B,QAAQ,WAAW,MAAM,UAAU,KAAKt/B,EAAEs/B,QAAQ,iBAAiB,MAAM,gBAAgB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,iBAAiB,MAAM,gBAAgB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,iBAAiB,MAAM,gBAAgB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,kBAAkB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,oBAAoB,MAAM,YAAY,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,UAAU,MAAM,SAAS,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,UAAU,MAAM,SAAS,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,oBAAoB,MAAM,mBAAmB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,iBAAiB,MAAM,gBAAgB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,wBAAwB,MAAM,uBAAuB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,cAAc,MAAM,aAAa,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,qBAAqB,MAAM,oBAAoB,KAAK,MAAMnhC,OAAE,EAAOA,EAAEmhC,QAAQ,+BAA+B,KAAKt/B,EAAEs/B,QAAQ,mBAAmB,MAAM,aAAa,QAAQ,OAAOye,QAAQwpoB,MAAM,iDAAiDvnrB,EAAEqB,OAAO,KAAK,CAAnmC,GAAwmCN,EAAG,SAAAzB,GAAI,OAAOA,GAAG,IAAI,OAAO,IAAI,QAAQ,MAAM,cAAc,IAAI,gBAAgB,MAAM,gBAAgB,QAAQ,MAAM,kBAAkB,CAAnI,CAAsIwxhB,GAAG,MAAM,CAAC02J,WAAWzmrB,EAAEgmrB,oBAAoBt8qB,EAAEnH,MAAMzF,EAAE4prB,oBAAoB3lrB,EAAEomJ,UAAUqiC,EAAEuhb,MAAMh7E,EAAEs2J,gBAAgB3krB,EAAE0krB,eAAejgqB,EAAE+/pB,yBAAyB1ipB,EAAE8ipB,KAAKrlrB,EAAE2hE,iBAAiB3gE,EAAE,CAAwChE,CAAEH,GAAG,OAAOd,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEE,GAAGC,EAAE,ECO71E2orB,GAAuB9lqB,EAAAA,cAAoB,MCP3C+lqB,GAA0B,sECgB5B/prB,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EACtEP,GAAcC,EAAGC,EAC5B,EAEO,SAASO,GAAUR,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,CAEO,ICiBKsprB,GAsIAC,GAiDAC,GDxMDnprB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CCtEM,SAAU0krB,GACf7hqB,GAGA,OAAOA,KADwC,CAAC,YAC3Bm6B,MAAK,SAAAp9C,GAAK,OAAAijB,EAAI9nB,eAAe6E,EAAnB,GAChC,CAwDM,SAAU+krB,GACfC,GAEA,YAAuDnrrB,IAA1BmrrB,EAAOC,cACrC,EA1FA,SAAYN,GACXA,EAAA,kBACAA,EAAA,gBACAA,EAAA,oBACAA,EAAA,yBACAA,EAAA,uBACA,CAND,CAAYA,KAAAA,GAA+B,KAsI3C,SAAYC,GACXA,EAAA,oBACAA,EAAA,sCACAA,EAAA,8BACAA,EAAA,kCACAA,EAAA,8BACAA,EAAA,sBACAA,EAAA,0BACAA,EAAA,cACAA,EAAA,wBACAA,EAAA,gDACAA,EAAA,8BACAA,EAAA,kBACAA,EAAA,4BACAA,EAAA,4BACAA,EAAA,iCACA,CAhBD,CAAYA,KAAAA,GAAc,KAiD1B,SAAYC,GACXA,EAAA,kBACAA,EAAA,kBACAA,EAAA,gCACAA,EAAA,sDACAA,EAAA,uBACA,CAND,CAAYA,KAAAA,GAAiB,KCrN7B,IAAIlqrB,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EACtEP,GAAcC,EAAGC,EAC5B,EAQO,IAAIa,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAWO,SAASU,GAASJ,GACrB,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CAEO,SAASsE,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CAEO,SAASE,KACZ,IAAK,IAAIF,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,CC/IA,ICYY8krB,GARNC,GAAa,CAClBC,QAAS,EACTC,MAAO,EACPC,KAAM,EACNC,KAAM,EACN3+hB,MAAO,IAGR,SAAYs+hB,GACXA,EAAA,cACAA,EAAA,cACAA,EAAA,YACAA,EAAA,YACAA,EAAA,iBACA,CAND,CAAYA,KAAAA,GAAQ,KAYpB,IAAAM,GAAA,WAUC,SAAAA,EAAYnjrB,EAAcwnJ,QAAA,IAAAA,IAAAA,EAA2Bq7hB,GAASK,MAC7DjqrB,KAAK+G,KAAOA,EACZ/G,KAAKuuJ,MAAQA,EACbvuJ,KAAKmqrB,YAAc,EACpB,CA0JD,OAtJCD,EAAAhqrB,UAAAkqrB,SAAA,SAAS3prB,GACR,OAAOA,EAAI,GAAK,IAAMA,EAAI,GAAKA,CAChC,EAEAyprB,EAAAhqrB,UAAAmqrB,IAAA,WACC,IAAM77I,EAAK,IAAI1wf,KACf,MACC,CAAC99C,KAAKoqrB,SAAS57I,EAAGtid,cAAelsF,KAAKoqrB,SAAS57I,EAAGrid,eAAe18E,KAChE,KAED,IACA++hB,EAAGzwa,iBAEL,EAEAmsjB,EAAAhqrB,UAAA++B,UAAA,SAAUkR,GACT,OAAKA,GAELnwC,KAAKsqrB,QAAUn6oB,EAERnwC,KAAKsqrB,SAJQtqrB,KAAKsqrB,OAK1B,EASAJ,EAAAhqrB,UAAAqqrB,KAAA,SAAK/yqB,eAAyBy0f,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,EAAA,GAAAtnB,UAAAsnB,GAC7B,IAAIwiqB,EAAoBxqrB,KAAKuuJ,MAS7B,GARI27hB,EAAcO,YACjBD,EAAoBN,EAAcO,WAEN,qBAAZpsrB,QAAiCA,OAAQosrB,YACzDD,EAA0BnsrB,OAAQosrB,WAGhBZ,GAAWryqB,IADTqyqB,GAAWW,GAEhC,CAKA,IAAIxzjB,EAAMx3E,QAAQw3E,IAAIxzF,KAAKgc,SACvBhoC,IAASoyqB,GAASt+hB,OAAS9rG,QAAQz6C,QACtCiyH,EAAMx3E,QAAQz6C,MAAMy+B,KAAKgc,UAEtBhoC,IAASoyqB,GAASK,MAAQzqoB,QAAQC,OACrCu3E,EAAMx3E,QAAQC,KAAKjc,KAAKgc,UAGzB,IAAMh+B,EAAS,IAAIhK,EAAI,KAAKxX,KAAKqqrB,MAAK,IAAIrqrB,KAAK+G,KAC3C4R,EAAU,GAEd,GAAmB,IAAfszf,EAAItrgB,QAAkC,kBAAXsrgB,EAAI,GAElCj1Y,EADAr+G,EAAa6I,EAAM,MAAMyqf,EAAI,SAEvB,GAAmB,IAAfA,EAAItrgB,OACdgY,EAAa6I,EAAM,IAAIyqf,EAAI,GAC3Bj1Y,EAAIx1G,EAAQyqf,EAAI,SACV,GAAsB,kBAAXA,EAAI,GAAiB,CACtC,IAAItkf,EAAMskf,EAAI9uf,MAAM,GACD,IAAfwK,EAAIhnB,SACPgnB,EAAMA,EAAI,IAEXhP,EAAa6I,EAAM,MAAMyqf,EAAI,GAAE,IAAItkf,EACnCqvG,EAAOx1G,EAAM,MAAMyqf,EAAI,GAAMtkf,QAE7BhP,EAAa6I,EAAM,IAAIyqf,EACvBj1Y,EAAIx1G,EAAQyqf,OAGb,IAAqB,IAAA5+f,EAAAzI,GAAA5E,KAAKmqrB,aAAW92nB,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAE,CAAlC,IAAM0nrB,EAAMr3nB,EAAAvwD,MACV6nrB,EAA0B,CAAEhyqB,QAAOA,EAAEiyqB,UAAW9soB,KAAKE,OAC3D0soB,EAAOG,SAAS,CAACF,uGAEnB,EAQAT,EAAAhqrB,UAAA82H,IAAA,eAAI,IAAAi1Y,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,GAAAtnB,UAAAsnB,GACHhoB,KAAKuqrB,KAAI1prB,MAATb,KAAIgF,GAAA,CAAM4krB,GAASI,MAAS/9K,GAC7B,EAQAi+K,EAAAhqrB,UAAAitB,KAAA,eAAK,IAAA8+e,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,GAAAtnB,UAAAsnB,GACJhoB,KAAKuqrB,KAAI1prB,MAATb,KAAIgF,GAAA,CAAM4krB,GAASI,MAAS/9K,GAC7B,EAQAi+K,EAAAhqrB,UAAAu/C,KAAA,eAAK,IAAAwsd,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,GAAAtnB,UAAAsnB,GACJhoB,KAAKuqrB,KAAI1prB,MAATb,KAAIgF,GAAA,CAAM4krB,GAASK,MAASh+K,GAC7B,EAQAi+K,EAAAhqrB,UAAA6E,MAAA,eAAM,IAAAkngB,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,GAAAtnB,UAAAsnB,GACLhoB,KAAKuqrB,KAAI1prB,MAATb,KAAIgF,GAAA,CAAM4krB,GAASt+hB,OAAU2gX,GAC9B,EAQAi+K,EAAAhqrB,UAAA8orB,MAAA,eAAM,IAAA/8K,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,GAAAtnB,UAAAsnB,GACLhoB,KAAKuqrB,KAAI1prB,MAATb,KAAIgF,GAAA,CAAM4krB,GAASG,OAAU99K,GAC9B,EAQAi+K,EAAAhqrB,UAAA4qrB,QAAA,eAAQ,IAAA7+K,EAAA,GAAAjkf,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAikf,EAAAjkf,GAAAtnB,UAAAsnB,GACPhoB,KAAKuqrB,KAAI1prB,MAATb,KAAIgF,GAAA,CAAM4krB,GAASE,SAAY79K,GAChC,EAEAi+K,EAAAhqrB,UAAA6qrB,aAAA,SAAaC,GACRA,GDpL0B,YCoLbA,EAAUC,oBAC1BjrrB,KAAKmqrB,YAAY7lrB,KAAK0mrB,GACtBA,EAAU/rpB,UAAUj/B,KAAKsqrB,SAE3B,EAEAJ,EAAAhqrB,UAAAgrrB,eAAA,WACC,OAAOlrrB,KAAKmqrB,WACb,EAvJOD,EAAAO,UAAY,KAwJpBP,EAxKA,GCvBMnzjB,GAAS,IAAIo0jB,GAAO,OAEpBC,GACa,qBAAXpnrB,QAAgD,oBAAfA,OAAOmxiB,IAC5CnxiB,OAAOmxiB,IAAI,mBACX,oBAiCJ,IAAAk2I,GAAA,WAiBC,SAAAA,EAAYtkrB,GAfJ,KAAA8tjB,UAAyB,GACzB,KAAA7qY,SAAuB,GAE/B,KAAAshgB,kBAAoB,CACnB,OACA,OACA,MACA,YACA,eACA,SACA,UACA,KACA,MAIAtrrB,KAAK+G,KAAOA,CACb,CAuKD,OA/JSskrB,EAAAnrrB,UAAAqrrB,QAAR,SAAgBC,EAA0BzyqB,GACzC,GAAIyyqB,aAAmBnmpB,OAAQ,CAC9B,IAAMompB,EAAUzrrB,KAAKgqL,SAASloI,MAC7B,SAACpjD,GAAgB,OAAdA,EAAAge,QAAsB21B,SAAWm5oB,EAAQn5oB,MAA3B,IAElB,IAAKo5oB,EAEJ,YADA10jB,GAAOt3E,KAAK,oBAAoB+roB,GAGjCxrrB,KAAKgqL,SAAQhlL,GAAOhF,KAAKgqL,SAASh3K,QAAO,SAAA4N,GAAK,OAAAA,IAAM6qqB,CAAN,SACxC,CACN,IAAMC,EAAS1rrB,KAAK60jB,UAAU22H,GAC9B,IAAKE,EAEJ,YADA30jB,GAAOt3E,KAAK,oBAAoB+roB,GAGjCxrrB,KAAK60jB,UAAU22H,GAAQxmrB,GACnB0mrB,EAAO14qB,QAAO,SAACtU,GAAiB,OAAfA,EAAAyR,WAA4B4I,CAAb,KAGtC,EAKAsyqB,EAAAnrrB,UAAA6T,OAAA,SAAOy3qB,EAA0BzyqB,GAChC/Y,KAAKurrB,QAAQC,EAASzyqB,EACvB,EAWAsyqB,EAAAnrrB,UAAA49nB,SAAA,SACC0tD,EACAvtoB,EACA5L,EACAs5oB,SADA,IAAAt5oB,IAAAA,EAAA,IAGIryC,KAAKsrrB,kBAAkBtqrB,QAAQwqrB,IAAY,KAC5BG,IAAcP,IAG/Br0jB,GAAOt3E,KACN,YAAY+roB,EAAO,yEAKtB,IAAMI,EAAsB,CAC3BJ,QAAOA,EACPvtoB,QAAO79C,GAAA,GAAO69C,GACd5L,OAAMA,EACNw5oB,YAAa,IAGd,IACC7rrB,KAAK8rrB,aAAaF,GACjB,MAAO7qrB,IACRg2H,GAAOhyH,MAAMhE,IAEf,EAWAsqrB,EAAAnrrB,UAAA80G,OAAA,SACCw2kB,EACAr7qB,EACA47qB,GAHD,IAKK/8E,EALL9lmB,EAAA,KAOC,QAJA,IAAA6irB,IAAAA,EAAA,UA/GF,SAA0B57qB,GACzB,YAAmD5R,IAA3B4R,EAAU67qB,YACnC,CAiHMC,CAAiB97qB,GACpB4mH,GAAOt3E,KACN,kEAEDuvjB,EAAK7+lB,EAAS67qB,aAAaxopB,KAAKrzB,OAC1B,IAAwB,oBAAbA,EACjB,MAAM,IAAIxH,MAAM,+BAEhBqmmB,EAAK7+lB,EAGN,GAAIq7qB,aAAmBnmpB,OACtBrlC,KAAKgqL,SAAS1lL,KAAK,CAClBoY,QAAS8uqB,EACTr7qB,SAAU6+lB,QAEL,CACN,IAAI08E,EAAS1rrB,KAAK60jB,UAAU22H,GAEvBE,IACJA,EAAS,GACT1rrB,KAAK60jB,UAAU22H,GAAWE,GAG3BA,EAAOpnrB,KAAK,CACXyC,KAAMglrB,EACN57qB,SAAU6+lB,IAIZ,OAAO,WACN9lmB,EAAKqirB,QAAQC,EAASx8E,EACvB,CACD,EAEQq8E,EAAAnrrB,UAAA4rrB,aAAR,SAAqBF,GACZ,IAAAJ,EAAAI,EAAAJ,QAASvtoB,EAAA2toB,EAAA3toB,QACXytoB,EAAS1rrB,KAAK60jB,UAAU22H,GAa9B,GAXIE,GACHA,EAAOx7qB,SAAQ,SAAA6I,GACdg+G,GAAOiyjB,MAAM,kBAAkBwC,EAAO,SAAUvtoB,GAChD,IACCllC,EAAS5I,SAASy7qB,GACjB,MAAO7qrB,IACRg2H,GAAOhyH,MAAMhE,IAEf,IAGGf,KAAKgqL,SAASrpL,OAAS,EAAG,CAC7B,IAAKs9C,EAAQtlC,QAEZ,YADAo+G,GAAOt3E,KAAK,yDAIb,IAAMysoB,EAAajuoB,EAAQtlC,QAE3B3Y,KAAKgqL,SAAS95K,SAAQ,SAAAwM,GACrB,IAAMkF,EAAQsqqB,EAAWtqqB,MAAMlF,EAAQA,SACvC,GAAIkF,EAAO,CACJ,IAAGowK,EAAHntL,GAAA+c,GAAGzE,MAAA,GACHgvqB,EAAkB/rrB,GAAAA,GAAA,GACpBwrrB,GAAO,CACVC,YAAa75f,IAEd,IACCt1K,EAAQvM,SAASg8qB,GAChB,MAAOprrB,IACRg2H,GAAOhyH,MAAMhE,KAGhB,IAEF,EACDsqrB,CAAA,CA1LA,GA+Lae,GAAM,IAAIf,GAAS,eCvO5BgB,GAAa,CAAC,EAGlBC,GAAA,oBAAAA,IAyCA,QAlCQA,EAAAjra,QAAP,SAAe//Q,EAAawB,GAE3B,OADAuprB,GAAW/qrB,GAAOwB,EACXuprB,GAAW/qrB,EACnB,EAQOgrrB,EAAA16kB,QAAP,SAAetwG,GACd,OAAO9B,OAAOU,UAAUL,eAAee,KAAKyrrB,GAAY/qrB,GACrD+qrB,GAAW/qrB,QACX/C,CACJ,EAOO+trB,EAAA3tb,WAAP,SAAkBr9P,GACjB,cAAc+qrB,GAAW/qrB,EAC1B,EAMOgrrB,EAAA9upB,MAAP,WAEC,OADA6upB,GAAa,CAAC,CAEf,EACDC,CAAA,CAzCA,GA2CAC,GAAA,WAMC,SAAAA,IACC,IACCvsrB,KAAKwsrB,cAAgBnurB,OAAO0iR,aAC5B/gR,KAAKwsrB,cAAcnra,QAAQ,sBAAuB,GAClDrhR,KAAKwsrB,cAAc7tb,WAAW,uBAC7B,MAAOgjZ,GACR3hpB,KAAKwsrB,cAAgBF,GAEvB,CASD,OAHCC,EAAArsrB,UAAA2gR,WAAA,WACC,OAAO7gR,KAAKwsrB,aACb,EACDD,CAAA,CAvBA,GCoHaE,GAAgB,WAQ5B,MAAO,CACNpjoB,UAPkB,qBAAXhrD,QAAqD,qBAApBA,OAAOoX,SAQ/C29F,OANmB,qBAAZhqG,SACa,MAApBA,QAAQiziB,UACiB,MAAzBjziB,QAAQiziB,SAASz+hB,KAMnB,EC/KMm5G,GAAS,IAAIo0jB,GAAO,QAE1BuB,GAAA,SAAA57qB,GAEC,SAAA47qB,EAAY/zqB,GAAZ,IAAAzP,EACC4H,EAAAlQ,KAAA,KAAM+X,IAAQ,YAFCzP,EAAAyjrB,cAAe,GAG/B,CACD,ONcO,SAAmBrtrB,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,CMvBuCD,CAAA4srB,EAAA57qB,GAKvC47qB,CAAA,CALA,CAAuC/jrB,OAO1BikrB,GAAsB,SAACjlqB,GAEnC,OAAOA,GAAOA,EAAO,YACtB,EA4EA,IAAMklqB,GAAe,IAsBd,IAAMC,GAA2B,SACvCC,EACAzkqB,EACA0kqB,EACAC,GAEA,YAHA,IAAAD,IAAAA,EAAAH,IA/FK,SACLE,EACAzkqB,EACA4kqB,EACAD,mFAEA,GAA+B,oBAApBF,EACV,MAAMpkrB,MAAM,sCAGb,MAAO,CAAP,EAAO,IAAIjG,SAAQ,SAAOC,EAASC,GAAM,OAAAP,GAAA6G,OAAA,0FACpCikrB,EAAU,EACVC,GAAa,EAEbC,EAAc,WAAO,EAKzBJ,GACCA,EAAY7prB,MAAK,WAEhBgqrB,GAAa,EAGb7vpB,aAAaH,GACbiwpB,GACD,gFAGAF,IAEAp2jB,GAAOiyjB,MAEL+D,EAAgBhmrB,KAAI,aACRomrB,EAAO,oBAAoB5+pB,KAAKhP,UAAU+I,qBAIxC,kCAARjb,EAAA1K,EAAQ,GAAMoqrB,EAAelsrB,WAAC,EAADmE,GAAIsjB,8BAAjCjb,EAAAxM,WAAA,GAAQwyD,EAAAzvD,SAA+BlF,WAK9C,kBAHA4urB,EAAYC,EACZx2jB,GAAOiyjB,MAAM,YAAY+D,EAAgBhmrB,KAAQwmrB,GAE7CX,GAAoBW,IACvBx2jB,GAAOiyjB,MAAS+D,EAAgBhmrB,KAAI,uBAAwBwmrB,aACrD3qrB,EAAO2qrB,OAGTC,EAAUN,EAAQC,EAAS7kqB,EAAMilqB,GACvCx2jB,GAAOiyjB,MAAS+D,EAAgBhmrB,KAAI,gBAAgBymrB,EAAO,QAI3C,IAAZA,GAAqBJ,YACjBxqrB,EAAO2qrB,KADX,cAGH,SAAM,IAAI7qrB,SAAQ,SAAAjB,GACjB4rrB,EAAS5rrB,EACT27B,EAAU5jB,WAAW6zqB,EAAQG,EAC9B,YAHAn6nB,EAAAzvD,kFA5BKwprB,EAAU,yFAqClBxqrB,EAAO0qrB,wBAgCRG,CAAMV,EAAiBzkqB,EAtBlB,SACL0kqB,GAKA,YALA,IAAAA,IAAAA,EAAAH,IAKO,SAAAM,GACN,IAAMh6pB,EAJc,IAIN7nB,KAAAmB,IAAA,EAAK0grB,GAHE,IAGuC7hrB,KAAK8xD,SACjE,QAAOjqC,EAAQ65pB,IAAqB75pB,CACrC,CACD,CAY8Bu6pB,CAAgBV,GAAaC,EAA1D,EChHKl2jB,GAAS,IAAIo0jB,GAAO,sBAEpBwC,GAAc,IAAIjrrB,SAAQ,SAACsqD,EAAKqwlB,GACrC,OAAKovC,KAAgBpjoB,WAKpBhrD,OAAa,MAAKA,OAAa,KAAEuvrB,MAAQvvrB,OAAa,KAAEuvrB,MAAQ,OAEhE72jB,GAAOiyjB,MAAM,6BACNh8nB,UAEPxzC,YAAW,WACV,OAAOwzC,GACR,GAAG,MAXH+pE,GAAOiyjB,MAAM,yCACNh8nB,IAYT,IAEA6goB,GAAA,WAGC,SAAAA,IAFO,KAAAC,aAAc,EAGpB9trB,KAAK+trB,mBAAqB/trB,KAAK+trB,mBAAmBvqpB,KAAKxjC,MACvDA,KAAKgurB,wBAA0BhurB,KAAKgurB,wBAAwBxqpB,KAAKxjC,KAClE,CA8DD,OA5Dc6trB,EAAA3trB,UAAA6trB,mBAAb,8GACM/trB,KAAK8trB,YAAN,OACH/2jB,GAAOiyjB,MAAM,0CACb,GAAM2E,YAANjvrB,EAAAkF,OACA5D,KAAK8trB,aAAc,EACnB/2jB,GAAOiyjB,MAAM,mCAGd,MAAO,CAAP,EAAOhprB,KAAKgurB,mCAGLH,EAAA3trB,UAAA8trB,wBAAR,WACC,IAAIrwgB,EAAK,KAGT,OAFI8ugB,KAAgBpjoB,YACnBs0H,EAAKt/K,OAAa,MAAKA,OAAa,KAAEuvrB,MAAQvvrB,OAAa,KAAEuvrB,MAAQ,MACjEjwgB,EAKE,IAAIj7K,SAAQ,SAACsqD,EAAKqwlB,GACxB1/d,EAAGswgB,kBACD7qrB,MAAK,SAAA8qrB,GACAA,IACJn3jB,GAAOiyjB,MAAM,yBACb3rC,EAAI,IAAIqvC,GAAkB,2BAG3B,IAAMyB,EAAaD,EAAWE,YAAYxnrB,MAEtCunrB,EAAWE,cACdt3jB,GAAOiyjB,MAAM,sCACbmF,EACEG,qBACAlrrB,MAAK,SAAAmrrB,GACG,IAAAC,EAAAD,EAAAC,SAAUC,EAAAF,EAAAE,WAClBzhoB,EAAI,CAAE5uC,MAAOowqB,EAAUC,WAAUA,GAClC,IACCzlrB,OAAM,SAAA4sC,GACFA,GAAqB,kBAAdA,EAAI7wC,MAEds4oB,EAAI,gDAEJA,EACC,IAAIqvC,GACH,yCAIJ,KAEDrvC,EAAI,IAAIqvC,GAAkB,qCAE5B,IACC1jrB,OAAM,SAAA4sC,GACNmhF,GAAOiyjB,MAAM,iCAAkCpzoB,GAC/CynmB,EAAI,IAAIqvC,GAAkB,kCAC3B,GACF,KA1CC31jB,GAAOiyjB,MAAM,2BACNtmrB,QAAQE,OAAO,2BA0CxB,EACDirrB,CAAA,CApEA,GCnBM92jB,GAAS,IAAIo0jB,GAAO,sBAEpBwC,GAAc,IAAIjrrB,SAAQ,SAACsqD,EAAKqwlB,GACrC,OAAKovC,KAAgBpjoB,UAIVhrD,OAAW,IAErB04H,GAAOiyjB,MAAM,yBACNh8nB,UAEPxzC,YAAW,WACV,OAAOwzC,GACR,GAAG,MAVH+pE,GAAOiyjB,MAAM,yCACNh8nB,IAWT,IAEA0hoB,GAAA,WAGC,SAAAA,IAFO,KAAAZ,aAAc,EAGpB9trB,KAAK2urB,qBAAuB3urB,KAAK2urB,qBAAqBnrpB,KAAKxjC,MAC3DA,KAAK4urB,0BAA4B5urB,KAAK4urB,0BAA0BprpB,KAAKxjC,KACtE,CAoDD,OAlDc0urB,EAAAxurB,UAAAyurB,qBAAb,8GACM3urB,KAAK8trB,YAAN,OACH/2jB,GAAOiyjB,MAAM,4CACb,GAAM2E,YAANjvrB,EAAAkF,OACA5D,KAAK8trB,aAAc,EACnB/2jB,GAAOiyjB,MAAM,mCAGd,MAAO,CAAP,EAAOhprB,KAAK4urB,qCAGLF,EAAAxurB,UAAA0urB,0BAAR,WACC,IAAIhuE,EAAK,KAET,GADI6rE,KAAgBpjoB,YAAWu3jB,EAAKvinB,OAAW,KAC1CuinB,EAAI,CACR,IAAMiuE,EAAe,sBAErB,OADA93jB,GAAOiyjB,MAAM6F,GACNnsrB,QAAQE,OAAO,IAAI8prB,GAAkBmC,IAG7C,OAAO,IAAInsrB,SAAQ,SAACsqD,EAAKqwlB,GACxBz8B,EAAGkuE,gBACF,SAAAC,GACC,GAAKA,GAAeA,EAAWR,aAOxB,CACN,IAAM/4oB,EAAWu5oB,EAAWR,aACpBS,EAAAx5oB,EAAAw5oB,YAEFP,EAAyB,IAFVj5oB,EAAAy5oB,WACR,IAAInxoB,MAC0B06E,UAC3C,IAAKw2jB,EAAa,CACXH,EAAe,4BACrB93jB,GAAOiyjB,MAAM6F,GACbxxC,EAAI,IAAIqvC,GAAkBmC,IAE3B7hoB,EAAI,CACH5uC,MAAO4wqB,EACPP,WAAUA,QAnBiC,CAC5C,IAAMI,EACL,0DACD93jB,GAAOiyjB,MAAM6F,GAGbxxC,EAAI,IAAIqvC,GAAkBmC,IAgB5B,GACA,CAAEx0S,MAAO,wBAEX,GACD,EACDq0S,CAAA,CA1DA,GCnBab,GAAc,IAAIqB,GAClBR,GAAgB,IAAIS,GCJ3Bp4jB,GAAS,IAAIq4jB,GAAY,WAE/BC,GAAA,oBAAAA,IAES,KAAAC,YAAc,GACd,KAAAhF,QAAU,CAAC,EAGX,KAAAiF,SAAW,CAAC,EAIpB,KAAAC,KAAO,KACP,KAAAC,UAAY,KACZ,KAAAC,IAAM,KACN,KAAAC,YAAc,KACd,KAAAC,QAAU,KACV,KAAAC,KAAO,KACP,KAAAxqH,MAAQ,KACR,KAAAyqH,OAAS,KACT,KAAAC,aAAe,KACf,KAAAC,iBAAmB,KACnB,KAAAC,GAAK,KACL,KAAAC,GAAK,KACL,KAAAC,YAAc,KACd,KAAAC,UAAY,KACZ,KAAAC,IAAM,KACN,KAAAC,cAAgB,KAEhB,KAAAnF,OAASiE,GACT,KAAAmB,cAAgB,IA+DjB,QA7DClB,EAAAnvrB,UAAAmgc,SAAA,SAASmwP,GACRz5jB,GAAOiyjB,MAAM,kCAAmCwH,GAChDxwrB,KAAKsvrB,YAAYhrrB,KAAKksrB,GACY,oBAAvBA,EAAKC,eACfzwrB,KAAKuvrB,SAASiB,EAAKC,iBAAmBD,EACtCxwrB,KAAKwwrB,EAAKC,iBAAmBD,GAE7Bz5jB,GAAOiyjB,MAAM,wCAAyCwH,GASvDA,EAAKvxpB,UAAUj/B,KAAKsqrB,QACrB,EAEA+E,EAAAnvrB,UAAA++B,UAAA,SAAUkR,GAAV,IAAAjnC,EAAA,KACC,OAAKinC,GAELnwC,KAAKsqrB,QAAU9qrB,OAAOa,OAAOL,KAAKsqrB,QAASn6oB,GAC3C4mF,GAAOiyjB,MAAM,iBAAkBhprB,KAAKsqrB,SAKpC9qrB,OAAOib,QAAQza,KAAKuvrB,UAAUr/qB,SAAQ,SAACxR,OAAA2O,EAAAxI,GAAAnG,EAAA,GAAO8xrB,GAANnjrB,EAAA,GAAMA,EAAA,IAE7C7N,OAAOgR,KAAKggrB,GAAMtgrB,SAAQ,SAAAgQ,GAErBhX,EAAKqmrB,SAASrvqB,KACjBswqB,EAAKtwqB,GAAYhX,EAAKqmrB,SAASrvqB,GAEjC,GACD,IAEAlgB,KAAKsvrB,YAAYzwrB,KAAI,SAAA2xrB,GACpBA,EAAKvxpB,UAAU/1B,EAAKohrB,QACrB,IAEOtqrB,KAAKsqrB,SAtBQtqrB,KAAKsqrB,OAuB1B,EAEA+E,EAAAnvrB,UAAA6qrB,aAAA,SAAaC,GAEXA,GACAA,EAAuB,aACa,oBAA7BA,EAAuB,aAE9BhrrB,KAAKsvrB,YAAYzwrB,KAAI,SAAA2xrB,GAEnBA,EAAmB,cACa,oBAAzBA,EAAmB,cAE1BA,EAAKzF,aAAaC,EAEpB,GAEF,EACDqE,CAAA,CA3FA,GA6FaqB,GAAU,IAAIrB,GCpEpB,IC1BKsB,GAiCKC,GAkEAC,GAiEAC,GAkBAC,GAkBAC,GAkBAC,GAkBAC,GAmBAC,GAkBAC,GAgBAC,GAMLC,GAqBKC,GAkBAC,GAgBAC,GAmBAC,GAgBAC,GA+BAC,GAgBAC,GAmBAC,GAqCAC,GA+BApC,GAsBAqC,GAoBAC,GAuDAC,GAgBAC,GAgBAC,GAMLC,GAmCKC,GAiBAC,GAMLC,GAmCKC,GA+BAC,GAwBAC,GAsBAC,GAmBAC,GA+CAC,GAsBAC,GAgCAC,GA0BAC,GAqBAC,GAqBAC,GAqBAC,GAcAC,GAaAC,GA2CAC,GAkCAC,GAqCAC,GAiBAC,GAkBAC,GA+BAC,GAkBAC,GAQAC,GA+BAC,GA2BAC,GAmBAC,GAQAC,GDvwCV,SAAS7xrB,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,EC1IA,SAAY6rrB,GACVA,EAAA,uCACAA,EAAA,WACD,CAHD,CAAYA,KAAAA,GAA2B,KAiCvC,SAAiBC,GACFA,EAAAuD,mBAAqB,SAACxsqB,GAAsC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACtEunB,EADoE,CAG1E,CAJD,CAAiBipqB,KAAAA,GAAuB,KAkExC,SAAiBC,GACFA,EAAAsD,mBAAqB,SAACxsqB,GAAsC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACtEunB,EADoE,CAG1E,CAJD,CAAiBkpqB,KAAAA,GAAuB,KAiExC,SAAiBC,GACFA,EAAAqD,mBAAqB,SAACxsqB,GAA2B,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC3DunB,EADyD,CAG/D,CAJD,CAAiBmpqB,KAAAA,GAAY,KAkB7B,SAAiBC,GACFA,EAAAoD,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiBopqB,KAAAA,GAAsB,KAkBvC,SAAiBC,GACFA,EAAAmD,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiBqpqB,KAAAA,GAAyB,KAkB1C,SAAiBC,GACFA,EAAAkD,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiBspqB,KAAAA,GAAsB,KAkBvC,SAAiBC,GACFA,EAAAiD,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiBupqB,KAAAA,GAAsB,KAmBvC,SAAiBC,GACFA,EAAAgD,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiBwpqB,KAAAA,GAAyB,KAkB1C,SAAiBC,GACFA,EAAA+C,mBAAqB,SAACxsqB,GAAuC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACvEunB,EADqE,CAG3E,CAJD,CAAiBypqB,KAAAA,GAAwB,KAgBzC,SAAiBC,GACFA,EAAA8C,mBAAqB,SAACxsqB,GAAoC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACpEunB,EADkE,CAGxE,CAJD,CAAiB0pqB,KAAAA,GAAqB,KAMtC,SAAYC,GACVA,EAAA,6BACAA,EAAA,2CACD,CAHD,CAAYA,KAAAA,GAAS,KAqBrB,SAAiBC,GACFA,EAAA4C,mBAAqB,SAACxsqB,GAAoC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACpEunB,EADkE,CAGxE,CAJD,CAAiB4pqB,KAAAA,GAAqB,KAkBtC,SAAiBC,GACFA,EAAA2C,mBAAqB,SAACxsqB,GAAuC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACvEunB,EADqE,CAG3E,CAJD,CAAiB6pqB,KAAAA,GAAwB,KAgBzC,SAAiBC,GACFA,EAAA0C,mBAAqB,SAACxsqB,GAAsC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACtEunB,EADoE,CAG1E,CAJD,CAAiB8pqB,KAAAA,GAAuB,KAmBxC,SAAiBC,GACFA,EAAAyC,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiB+pqB,KAAAA,GAAyB,KAgB1C,SAAiBC,GACFA,EAAAwC,mBAAqB,SAACxsqB,GAAoC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACpEunB,EADkE,CAGxE,CAJD,CAAiBgqqB,KAAAA,GAAqB,KA+BtC,SAAiBC,GACFA,EAAAuC,mBAAqB,SAACxsqB,GAAkC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAClEunB,EADgE,CAGtE,CAJD,CAAiBiqqB,KAAAA,GAAmB,KAgBpC,SAAiBC,GACFA,EAAAsC,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiBkqqB,KAAAA,GAAyB,KAmB1C,SAAiBC,GACFA,EAAAqC,mBAAqB,SAACxsqB,GAAuC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACvEunB,EADqE,CAG3E,CAJD,CAAiBmqqB,KAAAA,GAAwB,KAqCzC,SAAiBC,GACFA,EAAAoC,mBAAqB,SAACxsqB,GAA6C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC7EunB,EAD2E,CAGjF,CAJD,CAAiBoqqB,KAAAA,GAA8B,KA+B/C,SAAiBpC,GACFA,EAAAwE,mBAAqB,SAACxsqB,GAA0B,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC1DunB,EADwD,CAG9D,CAJD,CAAiBgoqB,KAAAA,GAAW,KAsB5B,SAAiBqC,GACFA,EAAAmC,mBAAqB,SAACxsqB,GAAgD,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAChFunB,EAD8E,CAGpF,CAJD,CAAiBqqqB,KAAAA,GAAiC,KAoBlD,SAAiBC,GACFA,EAAAkC,mBAAqB,SAACxsqB,GAAwD,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxFunB,EADsF,CAG5F,CAJD,CAAiBsqqB,KAAAA,GAAyC,KAuD1D,SAAiBC,GACFA,EAAAiC,mBAAqB,SAACxsqB,GAAyB,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACzDunB,EADuD,CAG7D,CAJD,CAAiBuqqB,KAAAA,GAAU,KAgB3B,SAAiBC,GACFA,EAAAgC,mBAAqB,SAACxsqB,GAA4B,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC5DunB,EAD0D,CAGhE,CAJD,CAAiBwqqB,KAAAA,GAAa,KAgB9B,SAAiBC,GACFA,EAAA+B,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiByqqB,KAAAA,GAAyB,KAM1C,SAAYC,GACVA,EAAA,oBACAA,EAAA,gBACAA,EAAA,qBACAA,EAAA,wBACD,CALD,CAAYA,KAAAA,GAAoB,KAmChC,SAAiBC,GACFA,EAAA6B,mBAAqB,SAACxsqB,GAA0B,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC1DunB,EADwD,CAG9D,CAJD,CAAiB2qqB,KAAAA,GAAW,KAiB5B,SAAiBC,GACFA,EAAA4B,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiB4qqB,KAAAA,GAAsB,KAMvC,SAAYC,GACVA,EAAA,cACAA,EAAA,aACD,CAHD,CAAYA,KAAAA,GAAe,KAmC3B,SAAiBC,GACFA,EAAA0B,mBAAqB,SAACxsqB,GAA0B,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC1DunB,EADwD,CAG9D,CAJD,CAAiB8qqB,KAAAA,GAAW,KA+B5B,SAAiBC,GACFA,EAAAyB,mBAAqB,SAACxsqB,GAA2C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC3EunB,EADyE,CAG/E,CAJD,CAAiB+qqB,KAAAA,GAA4B,KAwB7C,SAAiBC,GACFA,EAAAwB,mBAAqB,SAACxsqB,GAAkC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAClEunB,EADgE,CAGtE,CAJD,CAAiBgrqB,KAAAA,GAAmB,KAsBpC,SAAiBC,GACFA,EAAAuB,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiBirqB,KAAAA,GAAsB,KAmBvC,SAAiBC,GACFA,EAAAsB,mBAAqB,SAACxsqB,GAAsD,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACtFunB,EADoF,CAG1F,CAJD,CAAiBkrqB,KAAAA,GAAuC,KA+CxD,SAAiBC,GACFA,EAAAqB,mBAAqB,SAACxsqB,GAAsD,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACtFunB,EADoF,CAG1F,CAJD,CAAiBmrqB,KAAAA,GAAuC,KAsBxD,SAAiBC,GACFA,EAAAoB,mBAAqB,SAACxsqB,GAAyD,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACzFunB,EADuF,CAG7F,CAJD,CAAiBorqB,KAAAA,GAA0C,KAgC3D,SAAiBC,GACFA,EAAAmB,mBAAqB,SAACxsqB,GAAkC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAClEunB,EADgE,CAGtE,CAJD,CAAiBqrqB,KAAAA,GAAmB,KA0BpC,SAAiBC,GACFA,EAAAkB,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiBsrqB,KAAAA,GAAsB,KAqBvC,SAAiBC,GACFA,EAAAiB,mBAAqB,SAACxsqB,GAAqC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACrEunB,EADmE,CAGzE,CAJD,CAAiBurqB,KAAAA,GAAsB,KAqBvC,SAAiBC,GACFA,EAAAgB,mBAAqB,SAACxsqB,GAA2C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC3EunB,EADyE,CAG/E,CAJD,CAAiBwrqB,KAAAA,GAA4B,KAqB7C,SAAiBC,GACFA,EAAAe,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiByrqB,KAAAA,GAAyB,KAc1C,SAAiBC,GACFA,EAAAc,mBAAqB,SAACxsqB,GAAuC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACvEunB,EADqE,CAG3E,CAJD,CAAiB0rqB,KAAAA,GAAwB,KAazC,SAAiBC,GACFA,EAAAa,mBAAqB,SAACxsqB,GAA0C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC1EunB,EADwE,CAG9E,CAJD,CAAiB2rqB,KAAAA,GAA2B,KA2C5C,SAAiBC,GACFA,EAAAY,mBAAqB,SAACxsqB,GAA2C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC3EunB,EADyE,CAG/E,CAJD,CAAiB4rqB,KAAAA,GAA4B,KAkC7C,SAAiBC,GACFA,EAAAW,mBAAqB,SAACxsqB,GAA8C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC9EunB,EAD4E,CAGlF,CAJD,CAAiB6rqB,KAAAA,GAA+B,KAqChD,SAAiBC,GACFA,EAAAU,mBAAqB,SAACxsqB,GAA4C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC5EunB,EAD0E,CAGhF,CAJD,CAAiB8rqB,KAAAA,GAA6B,KAiB9C,SAAiBC,GACFA,EAAAS,mBAAqB,SAACxsqB,GAA+C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC/EunB,EAD6E,CAGnF,CAJD,CAAiB+rqB,KAAAA,GAAgC,KAkBjD,SAAiBC,GACFA,EAAAQ,mBAAqB,SAACxsqB,GAA8C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC9EunB,EAD4E,CAGlF,CAJD,CAAiBgsqB,KAAAA,GAA+B,KA+BhD,SAAiBC,GACFA,EAAAO,mBAAqB,SAACxsqB,GAAwC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACxEunB,EADsE,CAG5E,CAJD,CAAiBisqB,KAAAA,GAAyB,KAkB1C,SAAiBC,GACFA,EAAAM,mBAAqB,SAACxsqB,GAA+B,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC/DunB,EAD6D,CAGnE,CAJD,CAAiBksqB,KAAAA,GAAgB,KAQjC,SAAiBC,GACFA,EAAAK,mBAAqB,SAACxsqB,GAAkC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAClEunB,EADgE,CAGtE,CAJD,CAAiBmsqB,KAAAA,GAAmB,KA+BpC,SAAiBC,GACFA,EAAAI,mBAAqB,SAACxsqB,GAA2C,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAC3EunB,EADyE,CAG/E,CAJD,CAAiBosqB,KAAAA,GAA4B,KA2B7C,SAAiBC,GACFA,EAAAG,mBAAqB,SAACxsqB,GAAkC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EAClEunB,EADgE,CAGtE,CAJD,CAAiBqsqB,KAAAA,GAAmB,KAmBpC,SAAiBC,GACFA,EAAAE,mBAAqB,SAACxsqB,GAAiC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACjEunB,EAD+D,CAGrE,CAJD,CAAiBssqB,KAAAA,GAAkB,KAQnC,SAAiBC,GACFA,EAAAC,mBAAqB,SAACxsqB,GAAoC,OAAAvnB,EAAAA,GAAAA,IAAC,CAAC,EACpEunB,EADkE,CAGxE,CAJD,CAAiBusqB,KAAAA,GAAqB,KCl0CtC,IAAAE,GAAA,WAKE,SAAAA,EAAYp5qB,GACVhb,KAAKq0rB,WAAar5qB,EAAQq5qB,WAC1Br0rB,KAAKq0C,QAAUr5B,EAAQq5B,SAAW,CAAC,EACnCr0C,KAAKsD,KAAO0X,EAAQ1X,IACtB,CAQF,OANS8wrB,EAAAE,WAAP,SAAkB9+oB,GAEhB,IAAKA,EAAU,OAAO,EACtB,IAAM++oB,EAAO/+oB,EACb,MAAkC,kBAApB++oB,EAAKF,YAAmD,kBAAjBE,EAAKlgpB,OAC5D,EACF+/oB,CAAA,CAjBA,GCqBO,IAAIh0rB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EAwFO,SAASmE,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CCvIA,IAAA0vrB,GAAA,WAUE,SAAAA,EAAYx5qB,GACVhb,KAAKf,OAAS+b,EAAQ/b,QAAU,MAChCe,KAAK2+C,SAAW3jC,EAAQ2jC,UAAY,YACpC3+C,KAAK4+C,KAAO5jC,EAAQ4jC,KACpB5+C,KAAK8xJ,MAAQ92I,EAAQ82I,OAAS,CAAC,EAC/B9xJ,KAAKq0C,QAAUr5B,EAAQq5B,SAAW,CAAC,EACnCr0C,KAAKsD,KAAO0X,EAAQ1X,KACpBtD,KAAKy+C,SAAWzjC,EAAQyjC,SACY,MAAhCzjC,EAAQyjC,SAASzhC,QAAQ,GACpBhC,EAAQyjC,SAAQ,IACnBzjC,EAAQyjC,SACV,SACJz+C,KAAKk9B,KAAOliB,EAAQkiB,KAAmC,MAA3BliB,EAAQkiB,KAAKiI,OAAO,GAAa,IAAInqB,EAAQkiB,KAASliB,EAAQkiB,KAAQ,GACpG,CAwBF,OAtBSs3pB,EAAAF,WAAP,SAAkB1/oB,GAEhB,IAAKA,EAAS,OAAO,EACrB,IAAMkjiB,EAAWljiB,EACjB,MACE,WAAYkjiB,GACZ,aAAcA,GACd,aAAcA,GACd,SAAUA,GACc,kBAAjBA,EAAW,OACQ,kBAAnBA,EAAa,OAExB,EAEA08G,EAAAt0rB,UAAAoxB,MAAA,WACE,IASgBwgI,EATV2iiB,EAAS,IAAID,EAAWp0rB,GAAAA,GAAC,CAAC,EAC3BJ,MAAI,CACPq0C,QAAOj0C,GAAA,GAAOJ,KAAKq0C,YAGrB,OADIogpB,EAAO3iiB,QAAO2iiB,EAAO3iiB,OAKTA,EAL4B2iiB,EAAO3iiB,MAM9CtyJ,OAAOgR,KAAKshJ,GAAOp3I,QAAO,SAACg6qB,EAA0BpgkB,SACpD2iL,EAAQnlJ,EAAMx9B,GACpB,OAAAl0H,GAAAA,GAAA,GACKs0rB,KAAKh2rB,EAAA,IACP41H,GAAY30H,MAAMkoB,QAAQovR,GDmF1B,WACH,IAAK,IAAInyS,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,CCvFyCE,CAAKiyS,GAASA,EAAKv4S,GAE1D,GAAG,CAAC,KAXK+1rB,CACT,EACFD,CAAA,CA/CA,GC2GO,IAqsBDG,GAA8D,SAClEr1qB,EACApO,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,uHAIf,uBADHid,SACG,GAAMs1qB,GAAUt1qB,EAAOhc,KAAM4N,kBAF/B2jrB,EAAYz0rB,GAAAA,GAAAA,WAAA,EAAA1B,EAAAK,OAAA,EAEhB+1rB,EAAAxxrB,KAAMyxrB,EAAAnxrB,OAAqCkxrB,MAGzCn0iB,EAAoB,eACxBA,EAAYq0iB,GAAsB11qB,EAAQu1qB,EAAavxrB,MAC/Cq9I,OACD,+BACA,yEAOA,6BACA,uEAOA,gDACA,0FAOA,gCACA,0EAOA,6BACA,wEAOA,gCACA,2EAOA,gCACA,2EAOA,+BACA,0FAtDG,iBAAMs0iB,GAAuDJ,EAAc3jrB,WAIjF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAizD,EAAAt0D,OAAA,CACFg2rB,EAAAnxrB,UAAoF,CACxFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,cAIM,iBAAM81qB,GAAqDP,EAAc3jrB,WAI/E,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAkzD,EAAAv0D,OAAA,CACFg2rB,EAAAnxrB,UAAkF,CACtFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,cAIM,iBAAM+1qB,GAAwER,EAAc3jrB,WAIlG,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA2qP,EAAAhsP,OAAA,CACFg2rB,EAAAnxrB,UAAqG,CACzGmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,cAIM,iBAAMg2qB,GAAwDT,EAAc3jrB,WAIlF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA4hlB,EAAAjjlB,OAAA,CACFg2rB,EAAAnxrB,UAAqF,CACzFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMi2qB,GAAqDV,EAAc3jrB,YAI/E,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA6hlB,EAAAljlB,OAAA,CACFg2rB,EAAAnxrB,UAAkF,CACtFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMk2qB,GAAwDX,EAAc3jrB,YAIlF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA8hlB,EAAAnjlB,OAAA,CACFg2rB,EAAAnxrB,UAAqF,CACzFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMm2qB,GAAwDZ,EAAc3jrB,YAIlF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAs1rB,EAAA32rB,OAAA,CACFg2rB,EAAAnxrB,UAAqF,CACzFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMq2qB,GAAuDd,EAAc3jrB,YAIjF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAw1rB,EAAA72rB,OAAA,CACFg2rB,EAAAnxrB,UAAoF,CACxFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAEMu2qB,EAAahB,EAAavxrB,KAChCq9I,EAAYk1iB,EAAWtjpB,MAAQsjpB,EAAWC,MAAQn1iB,EAClDnrG,GAAWp1C,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,GACNy1rB,GAAU,CACb9urB,KAAM,GAAG45I,EACThoI,QAASk9qB,EAAWl9qB,SAAWk9qB,EAAWE,SAAWp1iB,EACrDq1iB,OAAQ,SACRd,UAAWC,GAAoB71qB,wBAMrC,OAHM3G,EAAU68B,EAAS78B,SAAW68B,EAASugpB,SAAWp1iB,EACxDnrG,EAAS78B,QAAUA,SACZ68B,EAASugpB,QACT,CAAP,EAAOrzrB,QAAQE,OAAOpD,OAAOa,OAAO,IAAIsI,MAAMgQ,GAAU68B,aAoBpDygpB,GAA0C,SAC9C32qB,EACApO,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,uHAIf,uBADHid,SACG,GAAMs1qB,GAAUt1qB,EAAOhc,KAAM4N,kBAF/B2jrB,EAAYz0rB,GAAAA,GAAAA,WAAA,EAAA1B,EAAAK,OAAA,EAEhB+1rB,EAAAxxrB,KAAMyxrB,EAAAnxrB,OAAqCkxrB,MAGzCn0iB,EAAoB,eACxBA,EAAYq0iB,GAAsB11qB,EAAQu1qB,EAAavxrB,MAC/Cq9I,OACD,+BACA,yEAOA,6BACA,uEAOA,gCACA,0EAOA,6BACA,uEAOA,6BACA,wEAOA,gCACA,2EAOA,gCACA,2EAOA,+BACA,0FAtDG,iBAAMs0iB,GAAuDJ,EAAc3jrB,WAIjF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAizD,EAAAt0D,OAAA,CACFg2rB,EAAAnxrB,UAAoF,CACxFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,cAIM,iBAAM81qB,GAAqDP,EAAc3jrB,WAI/E,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAkzD,EAAAv0D,OAAA,CACFg2rB,EAAAnxrB,UAAkF,CACtFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,cAIM,iBAAMg2qB,GAAwDT,EAAc3jrB,WAIlF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA2qP,EAAAhsP,OAAA,CACFg2rB,EAAAnxrB,UAAqF,CACzFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,cAIM,iBAAM42qB,GAAqDrB,EAAc3jrB,WAI/E,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA4hlB,EAAAjjlB,OAAA,CACFg2rB,EAAAnxrB,UAAkF,CACtFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMi2qB,GAAqDV,EAAc3jrB,YAI/E,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA6hlB,EAAAljlB,OAAA,CACFg2rB,EAAAnxrB,UAAkF,CACtFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMk2qB,GAAwDX,EAAc3jrB,YAIlF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAA8hlB,EAAAnjlB,OAAA,CACFg2rB,EAAAnxrB,UAAqF,CACzFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMm2qB,GAAwDZ,EAAc3jrB,YAIlF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAs1rB,EAAA32rB,OAAA,CACFg2rB,EAAAnxrB,UAAqF,CACzFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAIM,iBAAMq2qB,GAAuDd,EAAc3jrB,YAIjF,OALAskC,EAAQp1C,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,GAAAA,WAAA,EAAAw1rB,EAAA72rB,OAAA,CACFg2rB,EAAAnxrB,UAAoF,CACxFmD,KAAM45I,EACNu0iB,UAAWC,GAAoB71qB,MAEjC,eAEMu2qB,EAAahB,EAAavxrB,KAChCq9I,EAAYk1iB,EAAWtjpB,MAAQsjpB,EAAWC,MAAQn1iB,EAClDnrG,GAAWp1C,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,GACNy1rB,GAAU,CACb9urB,KAAM,GAAG45I,EACThoI,QAASk9qB,EAAWl9qB,SAAWk9qB,EAAWE,SAAWp1iB,EACrDq1iB,OAAQ,SACRd,UAAWC,GAAoB71qB,wBAMrC,OAHM3G,EAAU68B,EAAS78B,SAAW68B,EAASugpB,SAAWp1iB,EACxDnrG,EAAS78B,QAAUA,SACZ68B,EAASugpB,QACT,CAAP,EAAOrzrB,QAAQE,OAAOpD,OAAOa,OAAO,IAAIsI,MAAMgQ,GAAU68B,aAo0CpDy/oB,GAAyD,SAC7DJ,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBC,GAA+C9yrB,EAAM4N,GAOxE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,2BACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDf,GAAuD,SAC3DP,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBE,GAA6C/yrB,EAAM4N,GAOtE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,yBACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDd,GAA0E,SAC9ER,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBG,GAAgEhzrB,EAAM4N,GAOzF,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,4CACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDb,GAA0D,SAC9DT,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBI,GAAgDjzrB,EAAM4N,GAOzE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,4BACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDD,GAAuD,SAC3DrB,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBK,GAA6ClzrB,EAAM4N,GAOtE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,yBACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDZ,GAAuD,SAC3DV,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBM,GAA6CnzrB,EAAM4N,GAOtE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,yBACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDX,GAA0D,SAC9DX,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBO,GAAgDpzrB,EAAM4N,GAOzE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,4BACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDV,GAA0D,SAC9DZ,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBQ,GAAgDrzrB,EAAM4N,GAOzE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,4BACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAKDR,GAAyD,SAC7Dd,EACA3jrB,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAUvB,OARMiB,EAAOuxrB,EAAavxrB,KACpB6yrB,EAAoBS,GAA+CtzrB,EAAM4N,GAOxE,CAAP,GANc9Q,EAAAA,GAAAA,IAAA,CACZ2G,KAAM,2BACNivrB,OAAQ,SACRd,UAAWC,GAAoBN,IAC5BsB,WAkGDU,GAAqD,SACzDhqrB,EACAqE,GAEA,OAAA9Q,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,QAC8B7B,IAAxBsO,EAAMiqrB,eAAuD,OAAxBjqrB,EAAMiqrB,eAA0B,CAAEA,cAAejqrB,EAAMiqrB,qBACvEv4rB,IAArBsO,EAAMkqrB,YAAiD,OAArBlqrB,EAAMkqrB,YAAuB,CAAEA,WAAYlqrB,EAAMkqrB,kBAClEx4rB,IAAjBsO,EAAMmqrB,QACS,OAAjBnqrB,EAAMmqrB,QAAmB,CAAEA,OAAQC,GAA8BpqrB,EAAMmqrB,OAAQ9lrB,IAErF,EAYMgmrB,GAAiC,SAACrqrB,EAAmBqE,GACzD,OAAA9Q,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,QAC0B7B,IAApBsO,EAAMsqrB,WAA+C,OAApBtqrB,EAAMsqrB,WAAsB,CAAEA,UAAWtqrB,EAAMsqrB,iBACvD54rB,IAAzBsO,EAAMuqrB,gBACiB,OAAzBvqrB,EAAMuqrB,gBAA2B,CAAEA,eAAgBvqrB,EAAMuqrB,sBACtC74rB,IAAjBsO,EAAMmqrB,QACS,OAAjBnqrB,EAAMmqrB,QAAmB,CAAEA,OAAQC,GAA8BpqrB,EAAMmqrB,OAAQ9lrB,IAErF,EAmJM+lrB,GAAgC,SAACpqrB,EAAkCqE,GACvE,OAAO1R,OAAOib,QAAQ5N,GAAO6N,QAAO,SAACC,EAAgCjc,SAAA20D,GAAAxuD,EAAAA,GAAAA,IAAAnG,EAAA,GAAC4C,EAAG+xD,EAAA,GAAEvwD,EAAKuwD,EAAA,GAC9E,OAAc,OAAVvwD,EACK6X,GAETva,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,GACKua,KAAGtN,EAAA,IACL/L,GAAMwB,EAAKuK,GAEhB,GAAG,CAAC,EACN,EAoNMgqrB,GAAoC,SAAC/3qB,EAAapO,GACtD,MAAO,CACLomrB,iBAAoC/4rB,IAAvB+gB,EAAOg4qB,aAAoD,OAAvBh4qB,EAAOg4qB,YAAuBh4qB,EAAOg4qB,iBAAc/4rB,EACpGg5rB,gBACwBh5rB,IAAtB+gB,EAAOi4qB,YAAkD,OAAtBj4qB,EAAOi4qB,WACtC,IAAIz5oB,KAAKxyC,KAAKglB,MAA0B,IAApBhR,EAAOi4qB,kBAC3Bh5rB,EACNi5rB,eAAgCj5rB,IAArB+gB,EAAOk4qB,WAAgD,OAArBl4qB,EAAOk4qB,UAAqBl4qB,EAAOk4qB,eAAYj5rB,EAC5Fk5rB,kBAAsCl5rB,IAAxB+gB,EAAOm4qB,cAAsD,OAAxBn4qB,EAAOm4qB,aAAwBn4qB,EAAOm4qB,kBAAel5rB,EAE5G,EAkCM63rB,GAAiD,SACrD92qB,EACApO,GAEA,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAEMm5rB,GAA0D,SAC9Dp4qB,EACApO,GAEA,MAAO,CACLy+qB,iBACyBpxrB,IAAvB+gB,EAAOqwqB,aAAoD,OAAvBrwqB,EAAOqwqB,YACvC0H,GAAkC/3qB,EAAOqwqB,kBACzCpxrB,EACNw4rB,gBAAkCx4rB,IAAtB+gB,EAAOy3qB,YAAkD,OAAtBz3qB,EAAOy3qB,WAAsBz3qB,EAAOy3qB,gBAAax4rB,EAEpG,EAoBMo5rB,GAAsC,SAACr4qB,EAAapO,GACxD,MAAO,CACL6lrB,gBAAkCx4rB,IAAtB+gB,EAAOy3qB,YAAkD,OAAtBz3qB,EAAOy3qB,WAAsBz3qB,EAAOy3qB,gBAAax4rB,EAEpG,EA4IM83rB,GAA+C,SAAC/2qB,EAAapO,GACjE,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAEM+3rB,GAAkE,SACtEh3qB,EACApO,GAEA,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAEMg4rB,GAAkD,SACtDj3qB,EACApO,GAEA,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAEMi4rB,GAA+C,SAACl3qB,EAAapO,GACjE,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EA6FMk4rB,GAA+C,SAACn3qB,EAAapO,GACjE,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAaMm4rB,GAAkD,SACtDp3qB,EACApO,GAEA,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAEMo4rB,GAAkD,SACtDr3qB,EACApO,GAEA,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EAgEMq4rB,GAAiD,SACrDt3qB,EACApO,GAEA,MAAO,CACLyH,aAA4Bpa,IAAnB+gB,EAAO3G,SAA4C,OAAnB2G,EAAO3G,QAAmB2G,EAAO3G,aAAUpa,EAExF,EA2BM42rB,GAAsB,SAAC71qB,SAA+C,MAAC,CAC3Es4qB,eAAgBt4qB,EAAO+0qB,WACvBwD,UAA6C,QAApCn5rB,EAAE4gB,EAAO+0B,QAAQ,2BAAmB,IAAA31C,EAAAA,EAAI4gB,EAAO+0B,QAAQ,qBAChEyjpB,kBAAmBx4qB,EAAO+0B,QAAQ,cAClC0jpB,KAAMz4qB,EAAO+0B,QAAQ,iBAIjB2jpB,GAAc,SAACC,EAAoC/mrB,GACvD,YADmB,IAAA+mrB,IAAAA,EAAA,IAAsB/wrB,YACrC+wrB,aAAsB/wrB,WACjBxE,QAAQC,QAAQs1rB,GAElB/mrB,EAAQgnrB,gBAAgBD,IAAev1rB,QAAQC,QAAQ,IAAIuE,WACpE,EAMMixrB,GAAsB,SAC1BjnrB,EACAmjC,EACAnX,EACAk7pB,EACA90rB,GAAS,OAAAjB,EAAAA,GAAAA,SAAA,qGAEsC,SAAM6O,EAAQmnrB,mBAe7D,OAfM35rB,EAAyC20D,EAAAzvD,OAAvC+6C,EAAQjgD,EAAAigD,SAAEtxC,EAAA3O,EAAA+/C,SAAAA,OAAQ,IAAApxC,EAAG,QAAOA,EAAEuxC,EAAIlgD,EAAAkgD,KACpCugE,EAAgB,CACpB1gE,SAAQA,EACRE,SAAQA,EACRC,KAAIA,EACJ3/C,OAAQ,OACRi+B,KAAIA,EACJmX,QAAOA,QAEgB91C,IAArB65rB,IACFj5kB,EAASxgE,SAAWy5oB,QAET75rB,IAAT+E,IACF67G,EAAS77G,KAAOA,GAEX,CAAP,EAAO,IAAIg1rB,GAAcn5kB,YAGrBy1kB,GAAY,SAACqD,EAAiB/mrB,GAClC,OA7BwB,SAAC+mrB,EAAiB/mrB,GAC1C,OAAA8mrB,GAAYC,EAAY/mrB,GAAS9N,MAAK,SAACE,GAAS,OAAA4N,EAAQqnrB,YAAYj1rB,EAApB,GAAhD,CA4BAk1rB,CAAkBP,EAAY/mrB,GAAS9N,MAAK,SAACkM,GAC3C,OAAIA,EAAQ3O,OACH4tB,KAAK7O,MAAMpQ,GAEb,CAAC,CACV,GALA,EAUI0lrB,GAAwB,SAAC11qB,EAAwBvX,GACrD,IAEM0wrB,EAAoB,SAAC/7oB,GACzB,IAAIg8oB,EAAah8oB,EAOjB,OANIg8oB,EAAW13rB,QAAQ,MAAQ,IAC7B03rB,EAAaA,EAAW5lrB,MAAM,KAAK,IAEjC4lrB,EAAW13rB,QAAQ,MAAQ,IAC7B03rB,EAAaA,EAAW5lrB,MAAM,KAAK,IAE9B4lrB,CACT,EAEMC,EAbU,SAACznpB,EAAa5vC,GAAgB,OAAA9B,OAAOgR,KAAK0gC,GAAQ4Q,MAAK,SAACp9C,GAAM,OAAAA,EAAE4V,gBAAkBhZ,EAAIgZ,aAAxB,GAAhC,CAa5Bs+qB,CAAQt5qB,EAAO+0B,QAAS,oBAC1C,YAAkB91C,IAAdo6rB,EACKF,EAAkBn5qB,EAAO+0B,QAAQskpB,SAGxBp6rB,IAAdwJ,EAAKwqC,KACAkmpB,EAAkB1wrB,EAAKwqC,WAGTh0C,IAAnBwJ,EAAa,OACR0wrB,EAAkB1wrB,EAAa,QAGjC,EACT,EC38GO,IAAI3H,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CC9FO,ICKM20rB,GAA0D,CACrE9xrB,KAAM,yBACNhE,KAAM,cACNqY,KAAM,CAAC,gBACP09qB,UAAU,GAGCC,GAAsD,CACjEhyrB,KAAM,uBACNhE,KAAM,YACNqY,KAAM,CAAC,cACP09qB,UAAU,GAGN,SAAUE,GAKd7opB,EACA1tB,EACAw2qB,GAEA,MAAO,CACLC,aAAc,SAACC,GACbA,EAAarlrB,ID9BmB,SACpCkH,EACAi+qB,GACyC,gBACzCj2rB,EACAkO,GACsC,gBACtCoX,GAAwC,OAAAjmB,QAAA,uFAEnB,SAAMW,EAAKslB,WACjB,OADPktB,EAAa92C,EAAAkF,OAAgB4xC,SACtB,GAAMyjpB,EAAazjpB,EAAUx6B,WAC5C,OADMgG,EAAStiB,EAAAkF,OACR,CAAP,EAAO,CACL4xC,SAAQA,EACRl2B,OAAQ0B,WAP4B,CAHG,CC2BpBo4qB,CAAuBjppB,EAAQ8opB,GAAeJ,IAC/DM,EAAarlrB,IC9BiB,SAClCkH,EACAyH,GACuC,gBACvCzf,EACAkO,GACoC,gBACpCoX,GAAsC,OAAAjmB,QAAA,qFAEtB,SAAMogB,EAAW6F,EAAKzb,MAAOmO,WAC7C,OADM45B,EAAUl2C,EAAAkF,OACT,CAAP,EAAOZ,EAAI5C,GAAAA,GAAC,CAAC,EACRkoB,GAAI,CACPssB,QAAOA,aAN2B,CAHG,CD2BlBykpB,CAAqBlppB,EAAQ1tB,GAAas2qB,GAC7D,EAEJ,CEdO,IAAI34rB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA4EO,SAASkE,GAASJ,GACrB,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CAEO,SAASsE,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CAEO,SAASE,KACZ,IAAK,IAAIF,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,CCnIO,IAAMw0rB,GAAiB,SAAjBA,IACX,IAAIC,EAA4D,GAC5DC,EAA4D,GAC1DC,EAA8B,IAAI7/qB,IAuClC8/qB,EAAU,SACdC,GAUA,OARAJ,EAAgBrprB,SAAQ,SAACm9G,GAEvBsskB,EAAQ7lrB,IAAIu5G,EAAM1qG,WAAUviB,GAAA,GAAOitH,GACrC,IACAmskB,EAAgBtprB,SAAQ,SAACm9G,GAEvBsskB,EAAQC,cAAcvskB,EAAM1qG,WAAUviB,GAAA,GAAOitH,GAC/C,IACOsskB,CACT,EAEME,EAA+B,SAA/BA,EACJvvrB,GAEA,IAAMwvrB,EAA2D,GAgBjE,OAfAxvrB,EAAK6Q,OAAOjL,SAAQ,SAACm9G,GACS,IAAxBA,EAAMlyG,OAAOxa,QAAuC,IAAvB0sH,EAAMrC,MAAMrqH,OAC3Cm5rB,EAAuBx1rB,KAAK+oH,GAE5ByskB,EAAuBx1rB,KAAIzD,MAA3Bi5rB,EAAsB90rB,GAAS60rB,EAA6BxskB,IAEhE,IACAyskB,EAAuBx1rB,KAAKgG,GAC5BA,EAAK0gH,MAAMnpE,UAAU3xC,SAAQ,SAACm9G,GACA,IAAxBA,EAAMlyG,OAAOxa,QAAuC,IAAvB0sH,EAAMrC,MAAMrqH,OAC3Cm5rB,EAAuBx1rB,KAAK+oH,GAE5ByskB,EAAuBx1rB,KAAIzD,MAA3Bi5rB,EAAsB90rB,GAAS60rB,EAA6BxskB,IAEhE,IACOyskB,CACT,EAKMC,EAAoB,WACxB,IAAMC,EAAiG,GACjGC,EAAiG,GACjGC,EAEF,CAAC,EAELX,EAAgBrprB,SAAQ,SAACm9G,GACvB,IAAM8skB,EAAe/5rB,GAAAA,GAAA,GAChBitH,GAAK,CACRlyG,OAAQ,GACR6vG,MAAO,KAELmvkB,EAAgBpzrB,OAAMmzrB,EAAyBC,EAAgBpzrB,MAAQozrB,GAC3EH,EAA0B11rB,KAAK61rB,EACjC,IAEAX,EAAgBtprB,SAAQ,SAACm9G,GACvB,IAAM8skB,EAAe/5rB,GAAAA,GAAA,GAChBitH,GAAK,CACRlyG,OAAQ,GACR6vG,MAAO,KAELmvkB,EAAgBpzrB,OAAMmzrB,EAAyBC,EAAgBpzrB,MAAQozrB,GAC3EF,EAA0B31rB,KAAK61rB,EACjC,IAEAF,EAA0B/prB,SAAQ,SAACm9G,GACjC,GAAIA,EAAM+skB,aAAc,CACtB,IAAMA,EAAeF,EAAyB7skB,EAAM+skB,cACpD,QAAqB77rB,IAAjB67rB,EACF,MAAM,IAAIzxrB,MACL0kH,EAAM+skB,aAAY,8BAA6B/skB,EAAMtmH,MAAQ,aAAW,eAAesmH,EAAMgtkB,SAAQ,IACtGhtkB,EAAM+skB,cAIW,UAAnB/skB,EAAMgtkB,UACRD,EAAapvkB,MAAM1mH,KAAK+oH,GAEH,WAAnBA,EAAMgtkB,UACRD,EAAaj/qB,OAAO7W,KAAK+oH,GAG/B,IAEA,IA1H8D5yG,EA0HxD6/qB,GA1HwD7/qB,EA0HvCu/qB,EAzHvBv/qB,EAAQgb,MACN,SAACtwB,EAAG5F,GACF,OAAAg7rB,GAAYh7rB,EAAEwD,MAAQw3rB,GAAYp1rB,EAAEpC,OACpCy3rB,GAAgBj7rB,EAAE8rhB,UAAY,UAAYmvK,GAAgBr1rB,EAAEkmhB,UAAY,SADxE,KAwHDxshB,IAAIg7rB,GACJn/qB,QAAO,SAAC+/qB,EAAWC,GAGlB,OADAD,EAAUn2rB,KAAIzD,MAAd45rB,EAASz1rB,GAAS01rB,IACXD,CACT,GAAG,IACL,OAAOH,EAAUz7rB,KAAI,SAACwuH,GAAU,OAAAA,EAAM1qG,UAAN,GAClC,EAEMu4B,EAAQ,CACZpnC,IAAK,SAAC6O,EAA2C3H,QAAA,IAAAA,IAAAA,EAAA,IACvC,IAAAjU,EAAmBiU,EAAOjU,KAApB+xrB,EAAa99qB,EAAO89qB,SAC5BzrkB,EAAKjtH,GAAA,CACT2C,KAAM,aACNsohB,SAAU,SACV1ogB,WAAUA,GACP3H,GAEL,GAAIjU,EAAM,CACR,GAAI0yrB,EAAe9yrB,IAAII,GAAO,CAC5B,IAAK+xrB,EAAU,MAAM,IAAInwrB,MAAM,8BAA8B5B,EAAI,KACjE,IAAM4zrB,EAAkBpB,EAAgBr1d,WAAU,SAAC72G,GAAU,OAAAA,EAAMtmH,OAASA,CAAf,IACvD6zrB,EAAarB,EAAgBoB,GACnC,GAAIC,EAAW73rB,OAASsqH,EAAMtqH,MAAQ63rB,EAAWvvK,WAAah+Z,EAAMg+Z,SAClE,MAAM,IAAI1ihB,MACR,IAAI5B,EAAI,qBAAqB6zrB,EAAWvvK,SAAQ,gBAAgBuvK,EAAW73rB,KAA3E,2DAC6CsqH,EAAMg+Z,SAAQ,gBAAgBh+Z,EAAMtqH,KAAI,UAGzFw2rB,EAAgBjmrB,OAAOqnrB,EAAiB,GAE1ClB,EAAe3lrB,IAAI/M,GAErBwyrB,EAAgBj1rB,KAAK+oH,EACvB,EAEAuskB,cAAe,SAACj3qB,EAA2C3H,GACjD,IAAAjU,EAAmBiU,EAAOjU,KAApB+xrB,EAAa99qB,EAAO89qB,SAC5BzrkB,EAAKjtH,GAAA,CACTuiB,WAAUA,GACP3H,GAEL,GAAIjU,EAAM,CACR,GAAI0yrB,EAAe9yrB,IAAII,GAAO,CAC5B,IAAK+xrB,EAAU,MAAM,IAAInwrB,MAAM,8BAA8B5B,EAAI,KACjE,IAAM4zrB,EAAkBnB,EAAgBt1d,WAAU,SAAC72G,GAAU,OAAAA,EAAMtmH,OAASA,CAAf,IACvD6zrB,EAAapB,EAAgBmB,GACnC,GAAIC,EAAWR,eAAiB/skB,EAAM+skB,cAAgBQ,EAAWP,WAAahtkB,EAAMgtkB,SAClF,MAAM,IAAI1xrB,MACR,IAAI5B,EAAI,gBAAgB6zrB,EAAWP,SAAQ,KAAKO,EAAWR,aAA3D,6DAC6B/skB,EAAMgtkB,SAAQ,KAAKhtkB,EAAM+skB,aAAY,iBAGtEZ,EAAgBlmrB,OAAOqnrB,EAAiB,GAE1ClB,EAAe3lrB,IAAI/M,GAErByyrB,EAAgBl1rB,KAAK+oH,EACvB,EAEA/7F,MAAO,WAAM,OAAAooqB,EAAQJ,IAAR,EAEbp/oB,IAAK,SAACwwoB,GACJA,EAAOwO,aAAah+oB,EACtB,EAEAnnC,OAAQ,SAAC8mrB,GACP,MAAwB,kBAAbA,EAvLM,SAACA,GACpB,IAAIC,GAAY,EACVC,EAAW,SAAC1tkB,GAChB,OAAIA,EAAMtmH,MAAQsmH,EAAMtmH,OAAS8zrB,IAC/BC,GAAY,EACZrB,EAAejpnB,OAAOqqnB,IACf,EAGX,EAGA,OAFAtB,EAAkBA,EAAgBvmrB,OAAO+nrB,GACzCvB,EAAkBA,EAAgBxmrB,OAAO+nrB,GAClCD,CACT,CA0K6CE,CAAaH,GAxKhC,SAACA,GACzB,IAAIC,GAAY,EACVC,EAAW,SAAC1tkB,GAChB,OAAIA,EAAM1qG,aAAek4qB,IACvBC,GAAY,EACRztkB,EAAMtmH,MAAM0yrB,EAAejpnB,OAAO68C,EAAMtmH,OACrC,EAGX,EAGA,OAFAwyrB,EAAkBA,EAAgBvmrB,OAAO+nrB,GACzCvB,EAAkBA,EAAgBxmrB,OAAO+nrB,GAClCD,CACT,CA4JgBG,CAAkBJ,EAChC,EAEAK,YAAa,SAACL,GACZ,IAAIC,GAAY,EACVC,EAAW,SAAC1tkB,GACR,IAAAjyG,EAAeiyG,EAAKjyG,KAAdrU,EAASsmH,EAAKtmH,KAC5B,OAAIqU,IAAQA,EAAK4zC,SAAS6roB,KACpB9zrB,GAAM0yrB,EAAejpnB,OAAOzpE,GAChC+zrB,GAAY,GACL,EAGX,EAGA,OAFAvB,EAAkBA,EAAgBvmrB,OAAO+nrB,GACzCvB,EAAkBA,EAAgBxmrB,OAAO+nrB,GAClCD,CACT,EAEA/7rB,OAAQ,SACNuL,GAEA,IAAMmqrB,EAASiF,EAAQJ,KAEvB,OADA7E,EAAOv6oB,IAAI5vC,GACJmqrB,CACT,EAEAyE,aAAcQ,EAEd/2rB,QAAS,SACP4wE,EACAriE,eAEA,IAAyB,IAAA7D,EAAAzI,GAAAm1rB,IAAoBl4oB,WAASwR,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAE,CACtDuwE,GAAU5wD,EADS0wC,EAAAvwD,OACEywE,EAAuCriE,qGAE9D,OAAOqiE,CACT,GAEF,OAAOr4B,CACT,EAEMq/oB,GAAyC,CAC7CniF,WAAY,EACZ/4lB,UAAW,EACX87qB,MAAO,EACPC,gBAAiB,EACjBC,YAAa,GAGTb,GAAiD,CACrDc,KAAM,EACN1mB,OAAQ,EACR2mB,IAAK,GC1PPC,GAAA,WAQE,SAAAA,EAAYrrpB,GAFL,KAAAsrpB,gBAAkBnC,KAGvBt5rB,KAAKmwC,OAASA,CAChB,CAyCF,OA3BEqrpB,EAAAt7rB,UAAAo3C,KAAA,SACEq9C,EACA+mmB,EACA1sF,GAEA,IAAMh0lB,EAAiC,oBAAhB0grB,EAA6BA,OAAcn9rB,EAC5D4R,EAAkC,oBAAhBurrB,EAA8BA,EAAwD1sF,EACxGz7hB,EAAUohB,EAAQgnmB,kBAAkB37rB,KAAKy7rB,gBAAwBz7rB,KAAKmwC,OAAQn1B,GACpF,IAAI7K,EAYF,OAAOojE,EAAQohB,GAASvxF,MAAK,SAACF,GAAW,OAAAA,EAAOoc,MAAP,IAXzCi0D,EAAQohB,GACLvxF,MACC,SAACF,GAAW,OAAAiN,EAAS,KAAMjN,EAAOoc,OAAtB,IACZ,SAACs2B,GAAa,OAAAzlC,EAASylC,EAAT,IAEf5sC,OAGC,WAAO,GAKf,EAEAwyrB,EAAAt7rB,UAAA0U,QAAA,WACM5U,KAAKmwC,OAAOyrpB,eAAehnrB,SAAS5U,KAAKmwC,OAAOyrpB,eAAehnrB,SACrE,EACF4mrB,CAAA,CAnDA,GCZAK,GAAA,WAQW,KAAAJ,gBAAmDnC,IAM9D,ECDIj6rB,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EACtEP,GAAcC,EAAGC,EAC5B,EAyGO,SAASsF,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CC9HO,IAAMg3rB,GAA+B,WAE1C,IAAMtilB,EAAQh6G,OAAOogD,eAAe5/C,MAAMC,YACpC+toB,EAAc70gB,SAAS31F,KAAK3iC,MAAMsO,OD6HnC,WACH,IAAK,IAAIrK,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,CCjIgDE,CAAA,CAAG,MAAgBtE,YAE3DiX,EAAW,IAAIq2nB,EAErB,OADAxuoB,OAAOC,eAAekY,EAAU6hG,EAAMt5G,WAC/ByX,CACT,EACAmkrB,GAAc57rB,UAAYV,OAAOW,OAAOgP,OAAOjP,UAAW,CACxDD,YAAa,CACX6C,MAAOg5rB,GACPjyrB,YAAY,EACZ49C,UAAU,EACVD,cAAc,KAGlBhoD,OAAOC,eAAeq8rB,GAAe3srB,SAErC,SAAA2B,GAAA,SAAAirrB,kDAiBA,ED5BO,SAAmBz8rB,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,ECOoCD,CAAAi8rB,EAAAjrrB,GAClCirrB,EAAA77rB,UAAA87rB,gBAAA,WACE,OAAOztqB,KAAK7O,MAAM5O,EAAA5Q,UAAMsP,SAAQ5O,KAAC,MACnC,EAEAm7rB,EAAA77rB,UAAA26C,OAAA,WACE,OAAO/pC,EAAA5Q,UAAMsP,SAAQ5O,KAAC,KACxB,EAEOm7rB,EAAArxoB,WAAP,SAAkBxZ,GAChB,OAAIA,aAAkB6qpB,EACb7qpB,EAEA,IAAI6qpB,EADF7qpB,aAAkB/hC,QAA4B,kBAAX+hC,EAClBA,EAEF3iB,KAAKhP,UAAU2xB,GAC3C,CACF,CAjBA,CAAoC4qpB,IAApC,ICLAG,GAAA,SAAAnrrB,GAQE,SAAAmrrB,EAAqBpvrB,GAArB,IAAA3D,EAEE4H,EAAAlQ,KAAA,OAAO,YAFYsI,EAAA2D,MAAAA,GAIrB,CA6CF,OAzDsD/M,EAAAA,GAAAA,IAAAm8rB,EAAAnrrB,GAiBpDmrrB,EAAA/7rB,UAAAy7rB,kBAAA,SACEO,EACAC,EACAnhrB,GAEAhb,KAAKy7rB,gBAAgBvhpB,IAAI8+oB,GAAemD,EAAen8rB,KAAKqf,UAAWrf,KAAKq7rB,cAE5E,IAAMngpB,EAAQghpB,EAAYn9rB,OAAOiB,KAAKy7rB,iBAKhCW,EAAmD,CACvDrlkB,OAJiBolkB,EAAaplkB,OAK9BslkB,WAJiB,wBAKjBC,YAJkB,mCAKlBC,wBAAyBxK,GAA+BoC,mBACxDqI,yBAA0BxK,GAAkCmC,oBAEtDyH,EAAmBO,EAAaP,eACxC,OAAO1gpB,EAAMv4C,SACX,SAACiyC,GACC,OAAAgnpB,EAAez5T,OAAOvtV,EAAQA,QAA0B55B,GAAW,CAAC,EAApE,GACFohrB,EAEJ,EAEQH,EAAA/7rB,UAAAmf,UAAR,SAAkBxS,EAA8CqE,GAC9D,OXwGgE,SAClErE,EACAqE,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAQvB,OANMgyC,EAAuB,CAC3B,eAAgB,6BAChB,eAAgB,uDAGlB/wC,EAAOirB,KAAKhP,UAAUs3qB,GAAmDhqrB,EAAOqE,IACzE,CAAP,EAAOinrB,GAAoBjnrB,EAASmjC,EAAS,SAAK91C,EAAW+E,UWlHpDm5rB,CAAqD5vrB,EAAOqE,EACrE,EAEQ+qrB,EAAA/7rB,UAAAm7rB,YAAR,SACE/7qB,EACApO,GAEA,OXotBkE,SACpEoO,EACApO,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,+FAEvB,OAAIid,EAAO+0qB,YAAc,IAChB,CAAP,EAAOM,GAA4Dr1qB,EAAQpO,IAE3D,GAAM0jrB,GAAUt1qB,EAAOhc,KAAM4N,WAO/C,OAPMnJ,EAAYrJ,EAAAkF,OAElBu7G,EAAWu4kB,GAAwD3vrB,EAAMmJ,GACnEskC,GAAQp1C,EAAAA,GAAAA,IAAA,CACZ80rB,UAAWC,GAAoB71qB,IAC5B6/F,GAEE,CAAP,EAAOz8G,QAAQC,QAAQ6yC,WWluBdknpB,CAAuDp9qB,EAAQpO,EACxE,EAIF+qrB,CAAA,CAzDA,CAAsDU,ICblDt9rB,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EACtEP,GAAcC,EAAGC,EAC5B,ECZA,IAAAq9rB,GAAA,SAAA9rrB,GACE,SAAA8rrB,EAAYjkrB,EAAiCkkrB,QAAA,IAAAA,IAAAA,GAAA,GAA7C,IAAA3zrB,EACE4H,EAAAlQ,KAAA,KAAM+X,IAAQ,YAD6BzP,EAAA2zrB,YAAAA,GAE7C,CACF,ODUO,SAAmBv9rB,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,CClBmCD,CAAA88rB,EAAA9rrB,GAInC8rrB,CAAA,CAJA,CAAmCj0rB,OCJ7B,SAAUm0rB,GAAcC,GAC5B,OAAOr6rB,QAAQu1C,IACbz4C,OAAOgR,KAAKusrB,GAAQrirB,QAAO,SAACukC,EAA0Dl4C,GACpF,IAAMi2rB,EAAkBD,EAAOh2rB,GAM/B,MAL+B,kBAApBi2rB,EACT/9oB,EAAI36C,KAAK,CAACyC,EAAMi2rB,IAEhB/9oB,EAAI36C,KAAK04rB,IAAkB55rB,MAAK,SAACgb,GAAU,OAACrX,EAAMqX,EAAP,KAEtC6gC,CACT,GAAG,KACH77C,MAAK,SAAC65rB,GACN,OAAAA,EAAcvirB,QAAO,SAACqirB,EAAwBr+rB,OAAA2O,EAAAxI,GAAAnG,EAAA,GAAC4C,EAAG+L,EAAA,GAAEvK,EAAKuK,EAAA,GAEvD,OADA0vrB,EAAOz7rB,GAAOwB,EACPi6rB,CACT,GAAG,CAAC,EAHJ,GAKJ,CCFM,SAAUG,GAAoBjxiB,GAApC,IAAA/iJ,EAAA,KACE,OAAO,kBAAA7G,GAAA6G,OAAA,6GAQK84kB,GAAAj3V,EAAA9+F,EAAWkxiB,QAAO7lpB,OACtB2kpB,GAAAA,QACFnF,cAAe7qiB,EAAWmxiB,cAC1BrG,WAAY9qiB,EAAWoxiB,YACfpxiB,EAAW8wiB,OAAS,GAAMD,GAAc7wiB,EAAW8wiB,SAAnD,oBAAoB76G,EAAA0zG,EAAAhyrB,oBAAyCs+kB,OAAA3jlB,mBAJrE,SAAMyjlB,EAAAnhlB,MAAAkqP,EAAA,CACR,IAAAk3V,EAAAphlB,MAAIo7rB,GAAgC,SAGlCvG,EAAAsB,OAAM90G,EAAwE,gBAIlF,OAdExjlB,EAMEk3rB,EAAAhyrB,OAMH+rrB,YAZCtirB,OAAA,IAAA3O,EAoCN,WACE,MAAM,IAAIk+rB,GAAc,wDAC1B,CAjCUU,GAA2B5+rB,EAJ7B20D,EAAAhmD,EAAAiqrB,YAAAA,OAAW,IAAAjkoB,EA+BnB,WACE,MAAM,IAAIupoB,GAAc,0DAC1B,CAjCsBW,GAA2BlqoB,EACzCkkoB,EAAUlqrB,EAAAkqrB,WACVjkoB,EAAAjmD,EAAAmqrB,UAAAA,OAAS,IAAAlkoB,EAqCjB,WACE,MAAM,IAAIspoB,GAAc,uDAC1B,CAvCoBY,GAAyBlqoB,EACrCmkoB,EAAYpqrB,EAAAoqrB,aAUT,CAAP,EAAO,CACL4F,WAAYpxiB,EAAWoxiB,WACvBI,YAAanG,EACboG,gBAAiBlG,EACjBmG,aAAclG,EACdmG,WAAYrG,WAGlB,CCrBA,IAAAsG,GAAA,SAAA/srB,GAIE,SAAA+srB,EAAqBhxrB,GAArB,IAAA3D,EAEE4H,EAAAlQ,KAAA,OAAO,YAFYsI,EAAA2D,MAAAA,GAIrB,CA0CF,OAlDkC/M,EAAAA,GAAAA,IAAA+9rB,EAAA/srB,GAahC+srB,EAAA39rB,UAAAy7rB,kBAAA,SACEO,EACAC,EACAnhrB,GAEAhb,KAAKy7rB,gBAAgBvhpB,IAAI8+oB,GAAemD,EAAen8rB,KAAKqf,UAAWrf,KAAKq7rB,cAE5E,IAAMngpB,EAAQghpB,EAAYn9rB,OAAOiB,KAAKy7rB,iBAKhCW,EAAmD,CACvDrlkB,OAJiBolkB,EAAaplkB,OAK9BslkB,WAJiB,wBAKjBC,YAJkB,eAKlBC,wBAAyBrK,GAAWiC,mBACpCqI,yBAA0BrK,GAAcgC,oBAElCyH,EAAmBO,EAAaP,eACxC,OAAO1gpB,EAAMv4C,SACX,SAACiyC,GACC,OAAAgnpB,EAAez5T,OAAOvtV,EAAQA,QAA0B55B,GAAW,CAAC,EAApE,GACFohrB,EAEJ,EAEQyB,EAAA39rB,UAAAmf,UAAR,SAAkBxS,EAA0BqE,GAC1C,OhB8H4C,SAC9CrE,EACAqE,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,sEAQvB,OANMgyC,EAAuB,CAC3B,eAAgB,6BAChB,eAAgB,mCAGlB/wC,EAAOirB,KAAKhP,UAAU23qB,GAA+BrqrB,EAAOqE,IACrD,CAAP,EAAOinrB,GAAoBjnrB,EAASmjC,EAAS,SAAK91C,EAAW+E,UgBxIpDw6rB,CAAiCjxrB,EAAOqE,EACjD,EAEQ2srB,EAAA39rB,UAAAm7rB,YAAR,SAAoB/7qB,EAAwBpO,GAC1C,OhB80B8C,SAChDoO,EACApO,GAAuB,OAAA7O,EAAAA,GAAAA,SAAA,+FAEvB,OAAIid,EAAO+0qB,YAAc,IAChB,CAAP,EAAO4B,GAAwC32qB,EAAQpO,IAEvC,GAAM0jrB,GAAUt1qB,EAAOhc,KAAM4N,WAO/C,OAPMnJ,EAAYrJ,EAAAkF,OAElBu7G,EAAWw4kB,GAAoC5vrB,EAAMmJ,GAC/CskC,GAAQp1C,EAAAA,GAAAA,IAAA,CACZ80rB,UAAWC,GAAoB71qB,IAC5B6/F,GAEE,CAAP,EAAOz8G,QAAQC,QAAQ6yC,WgB51BduopB,CAAmCz+qB,EAAQpO,EACpD,EAIF2srB,CAAA,CAlDA,CAAkClB,ICtB5BqB,GAAa,cAEnBC,GAAA,WACE,SAAAA,EAA6BC,QAAA,IAAAA,IAAAA,EAAA,iCAAAA,OAAAA,CAA8C,CA+E7E,OA7EED,EAAA/9rB,UAAA0xG,QAAA,SAAQtwG,GACN,OAAOtB,KAAKm+rB,gBAAgB,YAAY,SAAC/7iB,GACvC,IAAM01b,EAAM11b,EAAMx7I,IAAItF,GAEtB,OAAO,IAAIoB,SAAuB,SAACC,GACjCm1kB,EAAIlvkB,QAAU,WAAM,OAAAjG,EAAQ,KAAR,EAEpBm1kB,EAAIsmH,UAAY,WAAM,OAAAz7rB,EAAQm1kB,EAAI50kB,OAAS40kB,EAAI50kB,OAAOJ,MAAQ,KAAxC,CACxB,GACF,IAAGkG,OAAM,WAAM,cACjB,EAEAi1rB,EAAA/9rB,UAAAy+P,WAAA,SAAWr9P,GACT,OAAOtB,KAAKm+rB,gBAAgB,aAAa,SAAC/7iB,GACxC,IAAM01b,EAAM11b,EAAM5xE,OAAOlvE,GAEzB,OAAO,IAAIoB,SAAc,SAACC,EAASC,GACjCk1kB,EAAIlvkB,QAAU,WAAM,OAAAhG,EAAOk1kB,EAAI/ykB,MAAX,EAEpB+ykB,EAAIsmH,UAAY,WAAM,OAAAz7rB,GAAA,CACxB,GACF,GACF,EAEAs7rB,EAAA/9rB,UAAAmhR,QAAA,SAAQhtQ,EAAYvR,GAClB,OAAO9C,KAAKm+rB,gBAAgB,aAAa,SAAC/7iB,GACxC,IAAM01b,EAAM11b,EAAMgud,IAAI,CAAE/7lB,GAAEA,EAAEvR,MAAKA,IAEjC,OAAO,IAAIJ,SAAc,SAACC,EAASC,GACjCk1kB,EAAIlvkB,QAAU,WAAM,OAAAhG,EAAOk1kB,EAAI/ykB,MAAX,EAEpB+ykB,EAAIsmH,UAAY,WAAM,OAAAz7rB,GAAA,CACxB,GACF,GACF,EAEQs7rB,EAAA/9rB,UAAAm+rB,MAAR,WACE,IAAMC,EAAgBlwrB,KAAKmwrB,UAAU1opB,KAAK71C,KAAKk+rB,OAAQ,GACvD,OAAO,IAAIx7rB,SAAQ,SAACC,EAASC,GAC3B07rB,EAAcF,UAAY,WACxBz7rB,EAAQ27rB,EAAcp7rB,OACxB,EAEAo7rB,EAAc11rB,QAAU,WACtBhG,EAAO07rB,EAAcv5rB,MACvB,EAEAu5rB,EAAcE,UAAY,WACxB57rB,EAAO,IAAI+F,MAAM,uBACnB,EAEA21rB,EAAcG,gBAAkB,WAC9B,IAAM99E,EAAK29E,EAAcp7rB,OACzBy9mB,EAAG/3mB,QAAU,WACXhG,EAAO,IAAI+F,MAAM,iCACnB,EAEAg4mB,EAAG+9E,kBAAkBV,GAAY,CAAEW,QAAS,MAC9C,CACF,GACF,EAEQV,EAAA/9rB,UAAAi+rB,gBAAR,SAA2B5xqB,EAA0B1B,GACnD,OAAO7qB,KAAKq+rB,QAAQj7rB,MAAK,SAACu9mB,GACxB,IAAMi+E,EAAKj+E,EAAGk+E,YAAYb,GAAYzxqB,GAGtC,OAFAqyqB,EAAGl2rB,WAAa,WAAM,OAAAi4mB,EAAGvwP,OAAH,EAEf,IAAI1tX,SAAW,SAACC,EAASC,GAC9Bg8rB,EAAGh2rB,QAAU,WAAM,OAAAhG,EAAOg8rB,EAAG75rB,MAAV,EAEnBpC,EAAQkoB,EAAO+zqB,EAAGE,YAAYd,KAChC,IAAGh1rB,OAAM,SAAC4sC,GAER,MADA+qkB,EAAGvwP,QACGx6U,CACR,GACF,GACF,EACFqopB,CAAA,CAhFA,GCFAc,GAAA,WACE,SAAAA,EAAoB38iB,QAAA,IAAAA,IAAAA,EAAA,SAAAA,MAAAA,CAAwC,CAiB9D,OAfE28iB,EAAA7+rB,UAAA0xG,QAAA,SAAQtwG,GACN,OAAIA,KAAOtB,KAAKoiJ,MACPpiJ,KAAKoiJ,MAAM9gJ,GAGb,IACT,EAEAy9rB,EAAA7+rB,UAAAy+P,WAAA,SAAWr9P,UACFtB,KAAKoiJ,MAAM9gJ,EACpB,EAEAy9rB,EAAA7+rB,UAAAmhR,QAAA,SAAQ//Q,EAAawB,GACnB9C,KAAKoiJ,MAAM9gJ,GAAOwB,CACpB,EACFi8rB,CAAA,CAlBA,GCEMC,GAAkB,IAAID,GCctB,SAAUE,GAAwBvgsB,GAAxC,IAAAwK,EAAA,KACEg2rB,EAASxgsB,EAAAwgsB,UACT7xrB,EAAA3O,EAAAqkB,MAAAA,OAAK,IAAA1V,EDbe,kBAATe,MAAqBA,KAAKmwrB,UAC5B,IAAIN,GAGS,kBAAX5/rB,QAAuBA,OAAO0iR,aAChC1iR,OAAO0iR,aAGTi+a,GCKe3xrB,EACtB8vrB,EAAMz+rB,EAAAy+rB,OACNC,EAAa1+rB,EAAA0+rB,cACb+B,EAAczgsB,EAAAygsB,eACdpC,EAAMr+rB,EAAAq+rB,OACN1poB,EAAA30D,EAAA0gsB,eAAAA,OAAc,IAAA/roB,EAAI0poB,GAAyC,IAA/Bv9rB,OAAOgR,KAAKusrB,GAAQp8rB,YAA6BpC,EAAd,YAAuB80D,EAEhFy5lB,EAAWsyC,EAAiB,oCAAoCD,EAAc,IAAIC,OAAmB7gsB,EAEvG8gsB,EAA+B,kBAAAh9rB,GAAA6G,OAAA,qGAChBxK,EAAAoupB,GAAa,GAAM/poB,EAAM6uF,QAAQk7iB,IAAjC,aAAYpupB,EAACwjlB,EAAAt+kB,+BAA1By5rB,EAAU3+rB,GACV,OACgD40D,GAAAD,EAAA8poB,GAAO7lpB,OACnDumpB,GAAAA,QACF1G,UAAW+H,EACX9H,eAAgB+H,GACRpC,EAAS,GAAMD,GAAcC,IAA7B,qBAAS/6G,EAAAE,EAAAt+kB,oBAA8Bo+kB,OAAAzjlB,mBAJP,SAAM+0D,EAAAzyD,MAAAwyD,EAAA,CAChD,IAAA03L,EAAAlqP,MAAIg9rB,GAAY,SAGd57G,EAAA+0G,OAAMh1G,EAAkD,gBAJpD30kB,EAAoC60kB,EAAAt+kB,OAM3CmzrB,WANOA,OAAU,IAAA1prB,EAqExB,WACE,MAAM,IAAIuvrB,GAAc,wDAC1B,CAvE2B0C,GAAkBjyrB,EAOvCgwrB,EAAatG,EACTjqC,GACFpqpB,QAAQC,QAAQogB,EAAMs+P,QAAQyrY,EAAUuwC,IAAar0rB,OAAM,WAAO,qBAWtE,MAAO,CAAP,GAPAq2rB,EAAWnC,GAAoB,CAC7BC,OAAMA,EACNC,cAAaA,EACbL,OAAMA,EACNM,WAAUA,gBAMd,OAAO,WACL,OAAAgC,IAAWr2rB,OAAM,SAAO4sC,GAAG,OAAAvzC,GAAA6G,OAAA,iDAKzB,MAJI4jpB,GACFpqpB,QAAQC,QAAQogB,EAAM47O,WAAWmuZ,IAAW9jpB,OAAM,WAAO,IAGrD4sC,UALR,CAOJ,CC5DA,IAAMmhF,GAAS,IAAIo0jB,GAAO,UAEboU,GAAkB,SAACpvpB,GAC/B,IA2BIqvpB,EA3BEC,EAA+B,CAAC,EAEtC,GAAItvpB,EAAoC,4BAAG,CAC1C,IAAMs/oB,EAAY,CACjBiQ,YAAa,CACZC,MAAOxvpB,EAAoC,4BAC3CyvpB,OAAQzvpB,EAAwC,kCAGlDsvpB,EAAchQ,UAAYA,EAiE3B,OA7DIt/oB,EAAqC,8BAAKA,EAA0B,qBACvEsvpB,EAAcjQ,KAAO,CACpBqQ,WAAY1vpB,EAA0B,kBACtC2vpB,oBAAqB3vpB,EAAqC,6BAC1DyvpB,OAAQzvpB,EAA2B,mBACnCgvpB,eAAgBhvpB,EAAqC,6BACrD4vpB,mBAAoB5vpB,EAA2B,mBAC/C6vpB,gBAAqD,WAApC7vpB,EAA8B,sBAC/C8vpB,yBACC9vpB,EAAgD,yCAAK,SAOvDqvpB,EADGrvpB,EAAiC,yBACpB,CACf+vpB,MAAO,CACNC,OAAQhwpB,EAAiC,yBACzCyvpB,OAAQzvpB,EAAwC,gCAChDiwpB,2CACCjwpB,EACqE,qEAKxDA,EAASA,EAAOy/oB,SAAWz/oB,EAAS,CAAC,EAIlDA,EAAgB,UACnBsvpB,EAAcY,QAAOjgsB,GAAAA,GAAA,GACjB+vC,EAAgB,SAAC,CACpByvpB,OAAQzvpB,EAA2B,sBAKjCA,EAAY,MACfsvpB,EAAcpP,IAAM7wrB,OAAOa,OAAO,CAAC,EAAG8vC,EAAOmwpB,KACzCnwpB,EAAOmwpB,IAA6B,0BACvCb,EAAcpP,IAAM,CACnBkQ,sBAAuBpwpB,EAAOmwpB,IAA6B,2BAK9Db,EAAchQ,UAAYjwrB,OAAOa,OAChC,CAAC,EACDo/rB,EAAchQ,UACdt/oB,EAAOs/oB,WAERgQ,EAAcjQ,KAAOhwrB,OAAOa,OAAO,CAAC,EAAGo/rB,EAAcjQ,KAAMr/oB,EAAOq/oB,MAClEiQ,EAAc7P,QAAUpwrB,OAAOa,OAAO,CAAC,EAAGm/rB,GAC1CC,EAAcY,QAAU7gsB,OAAOa,OAC9B,CAAC,EACDo/rB,EAAcY,QACdlwpB,EAAOkwpB,SAERtpkB,GAAOiyjB,MAAM,eAAgB74oB,EAAQ,mBAAoBsvpB,GAClDA,CACR,cCdO,SAASp9rB,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAWO,SAASU,GAASJ,GACrB,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CCVO,SAASqE,GAASJ,GACrB,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CC5HO,IAAMigsB,GAAY,SAACl3K,GAExB,OAAA92e,mBAAmB82e,GAAKjvgB,QAAQ,WAAYomrB,GAA5C,EAEIA,GAAY,SAACj/rB,GAAc,UAAIA,EAAEkN,WAAW,GAAGc,SAAS,IAAIoiC,aAAjC,ECDjC,ICgBA,IAAA8upB,GAAA,WAGE,SAAAA,EAAYhisB,OAAEiisB,QAAF,IAAAjisB,EAA8C,CAAC,EAACA,GAAhCiisB,eAC1B3gsB,KAAK2gsB,eAAiBA,CACxB,CAsFF,OApFED,EAAAxgsB,UAAA0U,QAAA,WACE,EAGF8rrB,EAAAxgsB,UAAAiiY,OAAA,SAAOvtV,EAAsBl2C,OAAEkisB,QAAF,IAAAlisB,EAAsC,CAAC,EAACA,GAA3BkisB,YAClCC,EAAqB7gsB,KAAK2gsB,eAGhC,GAAe,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAavppB,QAAS,CACxB,IAAMyppB,EAAa,IAAIn4rB,MAAM,mBAE7B,OADAm4rB,EAAW/5rB,KAAO,aACXrE,QAAQE,OAAOk+rB,GAGxB,IAAI5jqB,EAAO0X,EAAQ1X,KACnB,GAAI0X,EAAQk9G,MAAO,CACjB,IAAMiviB,ECvCN,SAA2BjviB,WACzB30G,EAAkB,OACxB,IAAgB,IAAA9vC,EAAAzI,GAAApF,OAAOgR,KAAKshJ,GAAOr8H,QAAM49B,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAE,CAAtC,IAAI1B,EAAG+xD,EAAAvwD,MACJA,EAAQgvJ,EAAMxwJ,GAEpB,GADAA,EAAMk/rB,GAAUl/rB,GACZ3B,MAAMkoB,QAAQ/kB,GAChB,IAAK,IAAItC,EAAI,EAAGwgsB,EAAOl+rB,EAAMnC,OAAQH,EAAIwgsB,EAAMxgsB,IAC7C28C,EAAM74C,KAAQhD,EAAG,IAAIk/rB,GAAU19rB,EAAMtC,SAElC,CACL,IAAIygsB,EAAU3/rB,GACVwB,GAA0B,kBAAVA,KAClBm+rB,GAAW,IAAIT,GAAU19rB,IAE3Bq6C,EAAM74C,KAAK28rB,sGAIf,OAAO9jpB,EAAM1tC,KAAK,IACpB,CDoB0ByxrB,CAAiBtspB,EAAQk9G,OACzCiviB,IACF7jqB,GAAQ,IAAI6jqB,GAIR,IAAAnipB,EAAiBhK,EAAOgK,KAAlB3/C,EAAW21C,EAAO31C,OAC1B2gC,EAASgV,EAAQ6J,SAAQ,KAAK7J,EAAQ+J,UAAWC,EAAO,IAAIA,EAAS,IAAK1hB,EAI1EwwH,EAA8B,CAClCpqJ,KAFsB,QAAXrE,GAA+B,SAAXA,OAAoBV,EAAYq2C,EAAQtxC,KAGvE+wC,QAAS,IAAI8spB,QAAQvspB,EAAQP,SAC7Bp1C,OAAQA,GAIqB,qBAApBmisB,kBACR1ziB,EAA+B,OAAIkziB,GAGtC,IEhE2BS,EFgErBC,EAAe,IAAIC,QAAQ3hqB,EAAK8tH,GAChC8ziB,EAAiB,CACrBhjJ,MAAM8iJ,GAAcl+rB,MAAK,SAACoyC,WAClBispB,EAAoBjspB,EAASnB,QAC7BqtpB,EAAgC,CAAC,MAEvC,IAAmB,IAAAr0rB,EAAAzI,GAAiB68rB,EAAahnrB,WAAS44C,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAE,CAAvD,IAAM+xD,EAAI1B,EAAAvwD,MACb4+rB,EAAmB3soB,EAAK,IAAMA,EAAK,qGAMrC,YAH4Cx2D,IAAlBi3C,EAASlyC,KAa5B,CACLkyC,SAAU,IAAI4+oB,GAAa,CACzB//oB,QAASqtpB,EACTrN,WAAY7+oB,EAASE,OACrBpyC,KAAMkyC,EAASlyC,QAbVkyC,EAAS8phB,OAAOl8jB,MAAK,SAACE,GAAS,MAAC,CACrCkyC,SAAU,IAAI4+oB,GAAa,CACzB//oB,QAASqtpB,EACTrN,WAAY7+oB,EAASE,OACrBpyC,KAAIA,IAJ8B,GAgB1C,KE9FyB+9rB,EF+FVR,OE/FU,IAAAQ,IAAAA,EAAA,GACtB,IAAI3+rB,SAAQ,SAACC,EAASC,GACvBy+rB,GACF7nrB,YAAW,WACT,IAAMmorB,EAAe,IAAIh5rB,MAAM,mCAAmC04rB,EAAW,OAC7EM,EAAa56rB,KAAO,eACpBnE,EAAO++rB,EACT,GAAGN,EAEP,MFmGE,OAXIT,GACFY,EAAel9rB,KACb,IAAI5B,SAAe,SAACC,EAASC,GAC3Bg+rB,EAAY1qpB,QAAU,WACpB,IAAM4qpB,EAAa,IAAIn4rB,MAAM,mBAC7Bm4rB,EAAW/5rB,KAAO,aAClBnE,EAAOk+rB,EACT,CACF,KAGGp+rB,QAAQ+7iB,KAAK+iJ,EACtB,EACFd,CAAA,CA3FA,GDnBMkB,GAAgD,CAAC,EACjDC,GAAiC,IAAIlisB,MAAM,IAExCa,GAAI,EAAGmnC,GAAQ,IAAIj5B,WAAW,GAAIijD,GAAQ,IAAIjjD,WAAW,GAAIlO,GAAImnC,IAASgqB,GAAOnxD,KAAK,CAC7F,IAAMs0H,GAAO3lH,OAAOC,aAAa5O,GAAImnC,IACrCi6pB,GAAmB9skB,IAAQt0H,GAC3BqhsB,GAAgBrhsB,IAAKs0H,GAGvB,IAASt0H,GAAI,EAAGmnC,GAAQ,IAAIj5B,WAAW,GAAIijD,GAAQ,IAAIjjD,WAAW,GAAIlO,GAAImnC,IAASgqB,GAAOnxD,KAAK,CACvFs0H,GAAO3lH,OAAOC,aAAa5O,GAAImnC,IAArC,IACM5qB,GAAQvc,GAAI,GAClBohsB,GAAmB9skB,IAAQ/3G,GAC3B8krB,GAAgB9krB,IAAS+3G,GAG3B,IAASt0H,GAAI,EAAGA,GAAI,GAAIA,KAAK,CAC3BohsB,GAAmBphsB,GAAEgP,SAAS,KAAOhP,GAAI,GACnCs0H,GAAOt0H,GAAEgP,SAAS,IAClBuN,GAAQvc,GAAI,GAClBohsB,GAAmB9skB,IAAQ/3G,GAC3B8krB,GAAgB9krB,IAAS+3G,GAG3B8skB,GAAmB,KAAO,GAC1BC,GAAgB,IAAM,IACtBD,GAAmB,KAAO,GAC1BC,GAAgB,IAAM,IAEtB,IAAMC,GAAgB,EAChBC,GAAc,EAUd,SAAUC,GAAWn1rB,GACzB,IAAIo1rB,EAAmBp1rB,EAAMlM,OAAS,EAAK,EAClB,OAArBkM,EAAMmQ,QAAQ,GAChBilrB,GAAmB,EACW,MAArBp1rB,EAAMmQ,QAAQ,IACvBilrB,IAIF,IAFA,IAAMz2rB,EAAM,IAAIjC,YAAY04rB,GACtBC,EAAW,IAAIh3rB,SAASM,GACrBhL,EAAI,EAAGA,EAAIqM,EAAMlM,OAAQH,GAAK,EAAG,CAGxC,IAFA,IAAI0tkB,EAAO,EACPxhC,EAAY,EACPtniB,EAAI5E,EAAGmxD,EAAQnxD,EAAI,EAAG4E,GAAKusD,EAAOvsD,IACxB,MAAbyH,EAAMzH,IACR8okB,GAAQ0zH,GAAmB/0rB,EAAMzH,MAASusD,EAAQvsD,GAAK08rB,GACvDp1J,GAAao1J,IAEb5zH,IAAS4zH,GAIb,IAAMK,EAAe3hsB,EAAI,EAAK,EAC9B0tkB,IAASxhC,EAAYq1J,GAErB,IADA,IAAMp4rB,EAAa2B,KAAKC,MAAMmhiB,EAAYq1J,IACjCr9rB,EAAI,EAAGA,EAAIiF,EAAYjF,IAAK,CACnC,IAAMsb,GAAUrW,EAAajF,EAAI,GAAKq9rB,GACtCG,EAAS92rB,SAAS+2rB,EAAcz9rB,GAAIwpkB,EAAQ,KAAOlujB,IAAYA,IAInE,OAAO,IAAI9Y,WAAWsE,EACxB,CIpCA,SAAS42rB,GAAa9iI,GACpB,OAAO,IAAI58jB,SAAQ,SAACC,EAASC,GAC3B,IAAM+9jB,EAAS,IAAIJ,WACnBI,EAAOtrhB,UAAY,iBAGjB,GAA0B,IAAtBsrhB,EAAO3qhB,WACT,OAAOpzC,EAAO,IAAI+F,MAAM,6BAE1B,IAAMzF,EAAuB,QAAdxE,EAACiikB,EAAOz9jB,cAAM,IAAAxE,EAAAA,EAAI,GAG3B2jsB,EAAan/rB,EAAOlC,QAAQ,KAC5Bu8X,EAAa8kU,GAAc,EAAIA,EAAa,EAAIn/rB,EAAOvC,OAC7DgC,EAAQO,EAAOwiC,UAAU63V,GAC3B,EACAojM,EAAOzqhB,QAAU,WAAM,OAAAtzC,EAAO,IAAI+F,MAAM,gBAAjB,EACvBg4jB,EAAO/3jB,QAAU,WAAM,OAAAhG,EAAO+9jB,EAAO57jB,MAAd,EAEvB47jB,EAAO0mB,cAAc/nB,EACvB,GACF,CC3BO,IAAIl/jB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CChIO,IAAMw9rB,GAAkB,SAACtnrB,GAAiC,gBAC/DhY,EACAkO,GACiC,gBACjCoX,GAAmC,OAAAjmB,QAAA,8DAInC,OAF0B,QAA1B3D,EAAW,OAAPsc,QAAO,IAAPA,OAAO,EAAPA,EAASunrB,qBAAa,IAAA7jsB,OAAA,EAAAA,EAAE6tB,QAC1Brb,EAAQmtC,UD2HL,WACH,IAAK,IAAIv5C,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,CC/HqBE,CAAQkM,EAAQmtC,WAAa,GAAG,CAAE,CAAC,iBAAkBrjC,EAAQunrB,cAAch2qB,SACvF,CAAP,EAAOvR,EAAQunrB,cAAc9U,MAAMzqrB,EAAMslB,UALR,CAH8B,EAWpDk6qB,GAA2E,CACtFz7rB,KAAM,kBACNqU,KAAM,CAAC,SACPrY,KAAM,kBACNsohB,SAAU,OACVytK,UAAU,GCtBC2J,GAAyB,CACpC,cACA,4BACA,iBACA,qBACA,uBACA,yBAQWC,GAAyB,CACpC,yBACA,wBACA,yBACA,0BACA,yCACA,uBACA,mBACA,4BACA,WACA,qBACA,aACA,sBACA,2BACA,kCAMWC,GAAwB,CAAC,aAAc,eAAgB,iBAAkB,2BAKzEC,GAA+B,CAAC,IAAK,IAAK,IAAK,KCjC/CC,GAAoB,SAAC99rB,WAChC,OAAoC,OAArB,QAAfrG,EAAAqG,EAAMmwrB,iBAAS,IAAAx2rB,OAAA,EAAAA,EAAEk5rB,iBACjB8K,GAAuB1zoB,SAASjqD,EAAMgC,OACN,IAAhB,QAAhBsG,EAAAtI,EAAM+9rB,kBAAU,IAAAz1rB,OAAA,EAAAA,EAAE01rB,yBCXPC,GAAsB,SAACC,EAAmBC,GACrD,OAAA53rB,KAAKC,MAAMD,KAAK05B,ICIiB,IDJQ15B,KAAK8xD,SAAW9xD,KAAAmB,IAAA,EAAKy2rB,GAAWD,GAAzE,EEEWE,GAAsB,SAACp+rB,GAClC,QAAKA,IHA2B,SAACA,GAAoB,YAAqBxG,IAArBwG,EAAM+9rB,UAAN,CGI9CM,CAAmBr+rB,IHFI,SAACA,GAAoB,OAAA09rB,GAAuBzzoB,SAASjqD,EAAMgC,KAAtC,CGEfs8rB,CAAiBt+rB,IAAU89rB,GAAkB99rB,IHKnD,SAACA,SAC/B,OAAA49rB,GAAsB3zoB,SAASjqD,EAAMgC,OACrC67rB,GAA6B5zoB,UAAwB,QAAftwD,EAAAqG,EAAMmwrB,iBAAS,IAAAx2rB,OAAA,EAAAA,EAAEk5rB,iBAAkB,GGPkB0L,CAAiBv+rB,GAC9G,ECYaw+rB,GAAqB,WAoDlCC,GAAA,WAME,SAAAA,EAA6BC,EAAuCzorB,aAAvC,KAAAyorB,oBAAAA,EAFb,KAAAl3qB,KAAOg3qB,GAGrBvjsB,KAAK0jsB,aAAoC,QAAxBhlsB,EAAU,OAAPsc,QAAO,IAAPA,OAAO,EAAPA,EAAS0orB,oBAAY,IAAAhlsB,EAAAA,EAAIyksB,GAC7CnjsB,KAAK2jsB,aAAoC,QAAxBt2rB,EAAU,OAAP2N,QAAO,IAAPA,OAAO,EAAPA,EAAS2orB,oBAAY,IAAAt2rB,EAAAA,EAAI21rB,GAC7ChjsB,KAAK4jsB,WAAgC,QAAtBvwoB,EAAU,OAAPr4C,QAAO,IAAPA,OAAO,EAAPA,EAAS4orB,kBAAU,IAAAvwoB,EAAAA,EClFL,SAACwwoB,GACnC,IAAMC,EAAeD,EACjBE,EAAoBF,EAElBG,EAAoB,SAACj/rB,GAAoB,MAAgB,iBAAfA,EAAMgC,KHuBtB,GANR,CGjBuB,EAEzCk9rB,EAAiB,SAACl/rB,GAAoB,OAAAi/rB,EAAkBj/rB,IAAUg/rB,CAA5B,EAiB5C,OAAOvksB,OAAOioM,OAAO,CACnBw8f,eAAcA,EACdC,oBAjB0B,SAACn/rB,GAC3B,IAAKk/rB,EAAel/rB,GAElB,MAAM,IAAI4D,MAAM,4BAElB,IAAMw7rB,EAAiBH,EAAkBj/rB,GAEzC,OADAg/rB,GAAqBI,EACdA,CACT,EAUEC,mBARyB,SAACC,GAC1BN,GAA0C,OAArBM,QAAqB,IAArBA,EAAAA,EHcS,EGb9BN,EAAoBz4rB,KAAK05B,IAAI++pB,EAAmBD,EAClD,GAOF,CDsD6CQ,CFlET,IEmElC,CAmEF,OAjEUd,EAAAtjsB,UAAAqksB,YAAR,SAAoBx/rB,EAAiBm+rB,EAAkBsB,GACrD,OAAOtB,EAAWsB,GAAexksB,KAAK0jsB,aAAa3+rB,IAAU/E,KAAK4jsB,WAAWK,eAAel/rB,EAC9F,EAEcy+rB,EAAAtjsB,UAAAuksB,eAAd,6GAGkB,gCAAMzksB,KAAKyjsB,qCAAzBe,EAAc9lsB,EAAAkF,oCAEd4gsB,EA9E8B,eAgFhC,MAAO,CAAP,EAAOA,WAGHhB,EAAAtjsB,UAAAutrB,MAAN,SACEzqrB,EACAslB,mHAMoB,OAHhB46qB,EAAW,EACXwB,EAAa,EAEG,GAAM1ksB,KAAKyksB,yBAAzBD,EAAc9lsB,EAAAkF,OAEZgxC,EAAYtsB,EAAIssB,QACpB4/oB,GAAAA,WAAuB5/oB,KACzBA,EAAQP,QFzEsB,0BEyEUy2e,EAAAA,GAAAA,qFAQT,6BAHzB0pK,GAAAA,WAAuB5/oB,KACzBA,EAAQP,QF1EY,mBE0Ec,YAAW6upB,EAAW,GAAC,SAASsB,GAEvC,GAAMxhsB,EAAKslB,kBAAlC5pB,EAAuB2O,EAAAzJ,OAArB4xC,EAAQ92C,EAAA82C,SAAEl2B,EAAM5gB,EAAA4gB,OAExBqlrB,EAAKf,WAAWQ,mBAAmBQ,GACnCtlrB,EAAO41qB,UAAUgO,SAAWA,EAAW,EACvC5jrB,EAAO41qB,UAAU2P,gBAAkBH,YAE5B,CAAElvpB,SAAQA,EAAEl2B,OAAMA,8BAEzB4jrB,IACIyB,EAAKJ,YAAYhX,EAAiB2V,EAAUsB,IAC9CI,EAAmBD,EAAKf,WAAWM,oBAAoB3W,GACjDuX,EAAQH,EAAKhB,aACjBd,GAAkBtV,GFxHa,IAZH,IEqI5B2V,GAEFwB,GAAcI,EAEd,GAAM,IAAIpisB,SAAQ,SAACC,GAAY,OAAA6W,WAAW7W,EAASmisB,EAApB,MAR7B,oBAQFz3rB,EAAAzJ,6BAUF,MANK2prB,EAAI2H,YACP3H,EAAI2H,UAAY,CAAC,GAGnB3H,EAAI2H,UAAUgO,SAAWA,EACzB3V,EAAI2H,UAAU2P,gBAAkBH,EAC1BnX,oJAIdiW,CAAA,CA7EA,GEtBMuB,GAAuB,SAACP,GAC5B,QAD4B,IAAAA,IAAAA,EFnCM,GEoCP,kBAAhBA,EAA0B,CACnC,IAAMQ,EAActisB,QAAQC,QAAQ6hsB,GACpC,OAAO,WAAM,OAAAQ,CAAA,EAEf,OAAOR,CACT,ECKO,SAASnisB,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,uCCpGM+gsB,GAAe,0CAOfC,GAAc,IAAItrrB,IAAI,CAC1B,aACA,YACA,iBACA,iBACA,aACA,iBACA,iBACA,eACA,eACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,YACA,YACA,YACA,cAEIurrB,GAAiB,IAAIvrrB,IAAI,CAAC,aAAc,mBACxCwrrB,GAAkB,IAAIxrrB,IAAI,CAAC,kBAC3ByrrB,GAAoB,IAAIzrrB,IAAI,CAAC,mBAC7B0rrB,GAAqB,IAAI1rrB,IAAI,CAAC,gBAAiB,kBC+E9C,SAAShV,GAASJ,GACrB,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CAEO,SAASsE,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CC1IO,ICIMygsB,GAAqB,CAChCC,WAAY,aACZC,mBAAmB,EACnB1ukB,OAAQ,CAAC,EACT2ukB,mBH0B2D,SAAC9F,EAAgB5krB,GAC5E,IAAI2qrB,OAAqCpnsB,EACzC,OAAQqhsB,GAEN,IAAK,iBACH+F,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,OAEb,MACF,IAAK,iBACHD,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,OAEb,MACF,IAAK,aACHD,EAAa,CACXhnpB,SAAU,4CACVinpB,UAAW,OAEb,MACF,IAAK,iBACHD,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,OAEb,MACF,IAAK,iBACHD,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,OAEb,MACF,IAAK,eACHD,EAAa,CACXhnpB,SAAU,8CACVinpB,UAAW,OAEb,MACF,IAAK,aACHD,EAAa,CACXhnpB,SAAU,+CACVinpB,UAAW,UAEb,MACF,IAAK,eACHD,EAAa,CACXhnpB,SAAU,8CACVinpB,UAAW,OAEb,MACF,IAAK,aACHD,EAAa,CACXhnpB,SAAU,4CACVinpB,UAAW,OAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,iBACHD,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,MACXC,cAAe,aAEjB,MACF,IAAK,iBACHF,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,MACXC,cAAe,aAEjB,MACF,IAAK,qBACHF,EAAa,CACXhnpB,SAAU,oDACVinpB,UAAW,aACXC,cAAe,iBAEjB,MACF,IAAK,iBACHF,EAAa,CACXhnpB,SAAU,gDACVinpB,UAAW,MACXC,cAAe,aAEjB,MACF,IAAK,YACHF,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,gBACHD,EAAa,CACXhnpB,SAAU,+CACVinpB,UAAW,cAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MACF,IAAK,YACHD,EAAa,CACXhnpB,SAAU,2CACVinpB,UAAW,OAEb,MAEF,QACMV,GAAYv+rB,IAAIi5rB,KAClB+F,EAAa,CACXhnpB,SAAUsmpB,GAAa5qrB,QAAQ,WAAYulrB,GAC3CgG,UAAW,QAGXT,GAAex+rB,IAAIi5rB,KACrB+F,EAAa,CACXhnpB,SAvLc,6CAuLYtkC,QAAQ,WAAYulrB,GAC9CgG,UAAW,WAGXR,GAAgBz+rB,IAAIi5rB,KACtB+F,EAAa,CACXhnpB,SA5Le,uCA4LYtkC,QAAQ,WAAYulrB,GAC/CgG,UAAW,YAGXP,GAAkB1+rB,IAAIi5rB,KACxB+F,EAAa,CACXhnpB,SAjMiB,0CAiMYtkC,QAAQ,WAAYulrB,GACjDgG,UAAW,cAGXN,GAAmB3+rB,IAAIi5rB,KACzB+F,EAAa,CACXhnpB,SAtMkB,0CAsMYtkC,QAAQ,WAAYulrB,GAClDgG,UAAW,oBAIIrnsB,IAAfonsB,IACFA,EAAa,CACXhnpB,SAAUsmpB,GAAa5qrB,QAAQ,WAAYulrB,GAC3CgG,UAAW,QAInB,OAAOljsB,QAAQC,SAAOvC,EAAAA,GAAAA,IAAC,CAAE0lsB,eAAgB,oBAAuBH,GAClE,EG9MEI,UAAW,mBACXC,UDViC,SAACpmqB,GAC5B,IAEFkyH,EAFEpzJ,EAAiD,IAAI6mlB,IAAI3ljB,GAAvD+e,EAAQjgD,EAAAigD,SAAEE,EAAQngD,EAAAmgD,SAAED,EAAIlgD,EAAAkgD,KAAEH,EAAQ//C,EAAA+/C,SAAE5hC,EAAMne,EAAAme,OAOlD,OAJIA,IACFi1I,EENE,SAA2Bgof,WACzBhof,EAA2B,CAAC,EAGlC,GAFAgof,EAAcA,EAAYz/nB,QAAQ,MAAO,QAGvC,IAAmB,IAAAhN,EAAAzI,GAAAk1oB,EAAYhnoB,MAAM,MAAIugD,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAE,CAAtC,IACCswD,EAAAzuD,GADSwuD,EAAAvwD,MACkBgQ,MAAM,KAAI,GAApCxR,EAAGgyD,EAAA,GAAEy3L,EAAAz3L,EAAA,GAAAxwD,OAAK,IAAAioP,EAAG,KAAIA,EACtBzpP,EAAMoO,mBAAmBpO,GACrBwB,IACFA,EAAQ4M,mBAAmB5M,IAEvBxB,KAAOwwJ,EAEFnyJ,MAAMkoB,QAAQiqI,EAAMxwJ,IAC5BwwJ,EAAMxwJ,GAAuBgD,KAAKxB,GAEnCgvJ,EAAMxwJ,GAAO,CAACwwJ,EAAMxwJ,GAAgBwB,GAJpCgvJ,EAAMxwJ,GAAOwB,oGASnB,OAAOgvJ,CACT,CFhBYiof,CAAiBl9nB,IAGpB,CACL8hC,SAAQA,EACRC,KAAMA,EAAOrZ,SAASqZ,QAAQrgD,EAC9BkgD,SAAQA,EACRvhB,KAAM2hB,EACNizG,MAAKA,EAET,GGFam0iB,IAAmB7lsB,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,GAC3BmlsB,IAAkB,CACrB3gD,QAAS,UACTshD,cAAelE,GACfmE,crB4DI,SAAmBt5rB,GAEvB,IADA,IAAIuN,EAAM,GACD5Z,EAAI,EAAGA,EAAIqM,EAAMlM,OAAQH,GAAK,EAAG,CAGxC,IAFA,IAAI0tkB,EAAO,EACPxhC,EAAY,EACPtniB,EAAI5E,EAAGmxD,EAAQrmD,KAAK05B,IAAIxkC,EAAI,EAAGqM,EAAMlM,QAASyE,EAAIusD,EAAOvsD,IAChE8okB,GAAQrhkB,EAAMzH,KAAQusD,EAAQvsD,EAAI,GAAK28rB,GACvCr1J,GAAaq1J,GAGf,IAAMqE,EAAkB96rB,KAAKgzD,KAAKoue,EAAYo1J,IAC9C5zH,IAASk4H,EAAkBtE,GAAgBp1J,EAC3C,IAAK,IAAIhoiB,EAAI,EAAGA,GAAK0hsB,EAAiB1hsB,IAAK,CACzC,IAAMsb,GAAUomrB,EAAkB1hsB,GAAKo9rB,GACvC1nrB,GAAOynrB,IAAiB3zH,EA/DP,IA+DiClujB,IAAYA,GAGhE5F,GAAO,KAAK+C,MAAM,EAAG,EAAIiprB,GAG3B,OAAOhsrB,CACT,EqBhFEisrB,kBCrBI,SAA8B/isB,GAClC,GAAoB,kBAATA,EAAmB,CAG5B,IAFA,IAAImL,EAAMnL,EAAK3C,OAENH,EAAIiO,EAAM,EAAGjO,GAAK,EAAGA,IAAK,CACjC,IAAM+xC,EAAOjvC,EAAKoL,WAAWlO,GACzB+xC,EAAO,KAAQA,GAAQ,KAAO9jC,IACzB8jC,EAAO,MAASA,GAAQ,QAAQ9jC,GAAO,GAGlD,OAAOA,EACF,MAA+B,kBAApBnL,EAAKqG,WAEdrG,EAAKqG,WACkB,kBAAdrG,EAAKqd,KAEdrd,EAAKqd,UAFP,CAIT,EDIE2lrB,0BAA2B,SAAC5isB,GAAe,kBAAM,OAAAhB,QAAQE,OAAO,IAAI+F,MAAM,yBAAzB,CAAN,EAC3C49rB,yBEd8B,SAAC7nsB,OAC/BqnsB,EAASrnsB,EAAAqnsB,UACTS,EAAa9nsB,EAAA8nsB,cACqC,yBAAAnksB,QAAA,8EAoBlD,OAnBMoksB,GAA4B,QAAjB/nsB,EAAM,OAANL,aAAM,IAANA,YAAM,EAANA,OAAQ+/C,iBAAS,IAAA1/C,OAAA,EAAAA,EAAE2/C,WAAYqopB,KAAAA,MAAarosB,OAAO+/C,UAAUC,gBAAa9/C,EACrF6yY,EAAsB,CAE1B,CAAC,aAAco1T,GAEf,CAAC,QAAkB,QAAZn5rB,EAAQ,OAARo5rB,QAAQ,IAARA,OAAQ,EAARA,EAAUn+oB,UAAE,IAAAj7C,OAAA,EAAAA,EAAEtG,OAAQ,SAAuB,QAAdssD,EAAU,OAARozoB,QAAQ,IAARA,OAAQ,EAARA,EAAUn+oB,UAAE,IAAA+K,OAAA,EAAAA,EAAEjU,SAGtD,CAAC,WAED,CAAC,cAAwC,QAA1B2rM,EAAoB,QAApBz3L,EAAW,OAARmzoB,QAAQ,IAARA,OAAQ,EAARA,EAAUz+oB,eAAO,IAAAsL,OAAA,EAAAA,EAAEvsD,YAAI,IAAAgkP,EAAAA,EAAI,WAAS,KAA8B,QAA9Bk3V,EAAqB,QAArBD,EAAY,OAARykH,QAAQ,IAARA,OAAQ,EAARA,EAAUz+oB,eAAO,IAAAg6hB,OAAA,EAAAA,EAAE5iiB,eAAO,IAAA6iiB,EAAAA,EAAI,aAGtF8jH,GAGF30T,EAAS9sY,KAAK,CAAC,OAAOyhsB,EAAaS,IAG9B,CAAP,EAAOp1T,SApB2C,CFWxBu1T,CAAiB,CACzCZ,UAAWR,GAAmBQ,UAC9BS,wBAEFhC,YTNkC,ESOlC5E,OG3BiE,SAACjnrB,GAAoB,kBAAM,OAAAjW,QAAQE,OAAO+V,EAAf,CAAN,CH2B9EiurB,CAAgB,qBACxBhL,eAAgB,IAAI8E,GACpB9mJ,OAAQnyiB,GAAAA,OACRywrB,gBjB3B8C,SAACp1K,GAC/C,MAAoB,oBAATy8C,MAAuBz8C,aAAkBy8C,KAOtD,SAA2BD,uGACV,SAAM8iI,GAAa9iI,WAElC,OAFM11gB,EAASlrD,EAAAkF,OACT8/lB,EAAcs+F,GAAWp4oB,GACxB,CAAP,EAAO,IAAI1iD,WAAWw8lB,WATbmjG,CAAY/jL,GAYvB,SAA6BA,iHACvB91d,EAAM,IAAI9lD,WAAW,GACnBy5jB,EAAS79C,EAAOgkL,YAClBC,GAAS,0BACLA,EAAM,MACY,GAAMpmI,EAAOhqhB,sBAA/Bj4C,EAAkB2O,EAAAzJ,OAAhBT,EAAIzE,EAAAyE,MAAEL,EAAKpE,EAAAoE,SAEXkksB,EAAQh6oB,GACdA,EAAM,IAAI9lD,WAAW8/rB,EAAMrmsB,OAASmC,EAAMnC,SACtCmG,IAAIkgsB,GACRh6oB,EAAIlmD,IAAIhE,EAAOkksB,EAAMrmsB,SAEvBomsB,EAAS5jsB,eAEX,MAAO,CAAP,EAAO6pD,UAvBAi6oB,CAAcnkL,EACvB,EiBsBEokL,YAAa59rB,GAAAA,SACbivrB,YAAa1prB,GAAAA,SIJR,IAAIzO,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CC9EO,IASDijsB,GAAoB,SAACt6rB,GACjB,IAAAwrrB,EAAwBxrrB,EAAKwrrB,SAAnB2N,EAAcn5rB,EAAKm5rB,UACrC,GAAwB,kBAAb3N,EAAuB,CAChC,IAAM2M,EAActisB,QAAQC,QAAQqjsB,EAAU3N,IAC9C,OAAO,WAAM,OAAA2M,CAAA,EACR,GAAwB,kBAAb3M,EAAuB,CACvC,IAAM+O,EAAc1ksB,QAAQC,QAAQ01rB,GACpC,OAAO,WAAM,OAAA+O,CAAA,EAEf,OAAO/O,CACT,EAEMgP,GAAwB,SAAOx6rB,GAAgD,OAAAxK,QAAA,6FAEpE,OADP3D,EAAemO,EAAKy6rB,IAApBA,OAAG,IAAA5osB,GAAOA,EACH,GAAMmO,EAAM+yrB,iBAG3B,GAHMA,EAASvsoB,EAAAzvD,QAEM,IAAIyhC,OAAO,4DACd1D,KAAKi+pB,GACrB,MAAM,IAAIj3rB,MAAM,mCAGI,SAAMkE,EAAM64rB,mBAAmB9F,WACrD,KADQjhpB,GAAqD,QAA7CtxC,EAAMgmD,EAAAzvD,cAAuC,IAAAyJ,EAAAA,EAAI,CAAC,GAACsxC,UAEjE,MAAM,IAAIh2C,MAAM,8CAGlB,MAAO,CAAP,EAAOkE,EAAMm5rB,WAAasB,EAAM,SAAW,SAAO,KAAK3opB,YCnBnD4opB,GAAkB,SAAC3H,GACvB,GAAsB,kBAAXA,EAAqB,CAC9B,IAAMoF,EAActisB,QAAQC,QAAQi9rB,GACpC,OAAO,WAAM,OAAAoF,CAAA,EAEf,OAAOpF,CACT,EClBO,IAAIx/rB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CC3FA,IAAMsjsB,GAAwB,iBAgCvB,IAAMC,GAAsD,CACjE1ksB,KAAM,QACNqY,KAAM,CAAC,qBAAsB,kBAC7BrU,KAAM,0BACN+xrB,UAAU,GAGC4O,GAAyB,SAAC1srB,GAA8E,MAAC,CACpHk+qB,aAAc,SAACgD,GACbA,EAAYporB,IAvCV,SAAkCuyrB,GAAxC,IAAAn9rB,EAAA,KACE,OAAO,SAAgClG,GAA+D,gBACpGslB,GAAgC,OAAAjmB,GAAA6G,OAAA,+DAqBhC,OAnBM0rC,EAAUtsB,EAAKssB,QACjB4/oB,GAAAA,WAAuB5/oB,KACjBtxC,EAAkBsxC,EAAOtxC,KAAnB+wC,EAAYO,EAAOP,QAE/B/wC,IAGuC,IAFvC9D,OAAOgR,KAAK6jC,GACTx1C,KAAI,SAACub,GAAQ,OAAAA,EAAIE,aAAJ,IACbtZ,QAAQwmsB,UAGIjpsB,KADToC,EAAS0lsB,EAAkB/isB,MAE/BsxC,EAAQP,QAAOj0C,GAAAA,GAAA,GACVw0C,EAAQP,WAAO31C,EAAA,IACjB8osB,IAAwBr4rB,OAAOxO,GAAOjC,MAMxC,CAAP,EAAOsE,EAAI5C,GAAAA,GAAC,CAAC,EACRkoB,GAAI,CACPssB,QAAOA,YAxB2F,CA2BxG,CAWoB+ypB,CAAwB3srB,EAAQqrrB,mBAAoBoB,GACtE,EAHmH,ECgB9G,SAASplsB,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CCvFO,IAkBM0jsB,GAAsE,CACjF7gsB,KAAM,uBACNhE,KAAM,QACNsohB,SAAU,MACVjwgB,KAAM,CAAC,QACP09qB,UAAU,GAGC+O,GAAsB,SAAC7srB,GAA2D,MAAC,CAC9Fk+qB,aAAc,SAACgD,GACbA,EAAYporB,IA5BoB,SAClCkH,GACmC,gBAAChY,GAAS,gBAAOslB,GAAI,OAAAjmB,QAAA,gEACxD,OAAKmyrB,GAAAA,WAAuBlsqB,EAAKssB,UACzBA,EAAYtsB,EAAIssB,cACD,KAAfl2C,GAAyBsc,EAAQ4grB,eAAex5rB,UAAY,CAAC,GAAC0lsB,iBAA5C,GAAEppsB,GAGRsC,QAAQ,OAAS,IAAM4zC,EAAQP,QAAQ,sBAClDO,EAAQP,QAAc,KAC7BO,EAAQP,QAAQ,cAAgB,IAEtBO,EAAQP,QAAc,OAChCO,EAAQP,QAAc,KAAIO,EAAQ+J,UAE7B,CAAP,EAAO37C,EAAKslB,KAZsC,CAAP,EAAOtlB,EAAKslB,UADV,CAAV,CA0BjBy/qB,CAAqB/srB,GAAU4srB,GACjD,EAH6F,ECyBxF,SAASvlsB,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CC3FO,IAAM8jsB,GAAmB,WAAM,gBACpChlsB,EACAkO,GACmC,gBACnCoX,GAAqC,OAAAjmB,QAAA,qGAIpB,OAFTg6rB,EAAuFnrrB,EAAOmrrB,WAAlFC,EAA2EprrB,EAAOorrB,YAArEC,EAA8DrrrB,EAAOqrrB,wBAA5CxlkB,EAAqC7lH,EAAO6lH,OAApCylkB,EAA6BtrrB,EAAOsrrB,yBAErF,GAAMx5rB,EAAKslB,WAE5B,OAFMktB,EAAWnoC,EAAAzJ,OAEZmzH,GAIsB,oBAAhBA,EAAO5pG,OACVzuB,EAA0C82C,EAASl2B,OAAjD41qB,EAASx2rB,EAAAw2rB,UAAK+S,EDanB,SAAgB1nsB,EAAGQ,GACtB,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CCvB+CQ,CAAApC,EAArC,eACNq4H,EAAO5pG,KAAK,CACVkvqB,WAAUA,EACVC,YAAWA,EACXzvrB,MAAO0vrB,EAAwBj0qB,EAAKzb,OACpCyS,OAAQk9qB,EAAyByL,GACjC7lsB,SAAU8yrB,KAIP,CAAP,EAAO1/oB,IAdE,CAAP,EAAOA,UAR0B,CAHC,EA4BzB0ypB,GAAuE,CAClFnhsB,KAAM,mBACNqU,KAAM,CAAC,UACPrY,KAAM,aACN+1rB,UAAU,GCfL,IAAI14rB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CChHO,IAAI1E,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAWO,SAASU,GAASJ,GACrB,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CAEO,SAASsE,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CC1IA,IAHA,IAAMqjsB,GAA0C,CAAC,EAC3CC,GAA0C,CAAC,EAExC5nsB,GAAI,EAAGA,GAAI,IAAKA,KAAK,CAC5B,IAAI6nsB,GAAc7nsB,GAAEgP,SAAS,IAAI8K,cACN,IAAvB+trB,GAAY1nsB,SACd0nsB,GAAc,IAAIA,IAGpBF,GAAa3nsB,IAAK6nsB,GAClBD,GAAaC,IAAe7nsB,GA+BxB,SAAU4uD,GAAM5gD,GAEpB,IADA,IAAIhD,EAAM,GACDhL,EAAI,EAAGA,EAAIgO,EAAM7E,WAAYnJ,IACpCgL,GAAO28rB,GAAa35rB,EAAMhO,IAG5B,OAAOgL,CACT,CChDO,IAEM88rB,GAAuB,aAGvBC,GAAwB,kBACxBC,GAAoB,uBAEpBC,GAAc,gBACdC,GAAkBJ,GAAqBhurB,cAEvCqurB,GAAoB,CAACF,GAAaC,GADpB,QAEdE,GAAmBL,GAAsBjurB,cACzCuurB,GAAgB,uBAChBC,GAAeN,GAAkBlurB,cAGjCyurB,GAA4B,CACvCC,eAAe,EACf,iBAAiB,EACjBC,YAAY,EACZC,QAAQ,EACR5+rB,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB6+rB,QAAQ,EACRC,SAAS,EACTnxgB,IAAI,EACJoxgB,SAAS,EACT,qBAAqB,EACrBC,SAAS,EACT,cAAc,EACd,mBAAmB,GAGRC,GAAuB,UAEvBC,GAAqB,QAIrBC,GAAuB,mBAEvBC,GAA6B,2BAK7BC,GAAsB,eC3C7BC,GAAiD,CAAC,EAClDC,GAA4B,GAS5B,SAAUC,GAAYC,EAAmBnK,EAAgBjY,GAC7D,OAAUoiB,EAAS,IAAInK,EAAM,IAAIjY,EAAO,IAAIgiB,EAC9C,CAiDA,SAASn0I,GAAK/pd,EAAuB/jG,EAAoBK,GACvD,IAAMf,EAAO,IAAIykG,EAAK/jG,GAEtB,OADAV,EAAKc,OAAOC,GACLf,EAAKiB,QACd,CC/DM,SAAU+hsB,GACdtrsB,EACAursB,EACAC,WAFE71pB,EAAO31C,EAAA21C,QAIHo7gB,EAAuB,CAAC,MAC9B,IAAyB,IAAAp8f,EAAAzuD,GAAApF,OAAOgR,KAAK6jC,GAAS5e,QAAM69B,EAAAD,EAAArwD,QAAAswD,EAAAnwD,KAAAmwD,EAAAD,EAAArwD,OAAE,CAAjD,IAAMmnsB,EAAU72oB,EAAAxwD,MACbsnsB,EAAsBD,EAAW7vrB,eAErC8vrB,KAAuBrB,KACN,OAAjBkB,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBtjsB,IAAIyjsB,KACvBb,GAAqB5nqB,KAAKyoqB,IAC1BZ,GAAmB7nqB,KAAKyoqB,OAEnBF,GAAoBA,IAAoBA,EAAgBvjsB,IAAIyjsB,MAKnE36I,EAAU26I,GAAuB/1pB,EAAQ81pB,GAAY1trB,OAAOpC,QAAQ,OAAQ,wGAG9E,OAAOo1iB,CACT,CCrBM,SAAgB46I,GACpB3rsB,EACA4rsB,OADEj2pB,EAAO31C,EAAA21C,QAAE/wC,EAAI5E,EAAA4E,uHAGf,IAAyB+J,EAAAzI,GAAApF,OAAOgR,KAAK6jC,IAAQgf,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAC3C,IADSmnsB,EAAU92oB,EAAAvwD,OACJwX,gBAAkBuurB,GAC/B,MAAO,CAAP,EAAOx0pB,EAAQ81pB,iHAIP5rsB,GAAR+E,EAAA,MACK,CAAP,EAAO,iFACkB,kBAATA,GAAqBiG,YAAYC,OAAOlG,KCrB9B6f,EDqBqD7f,ECpBzD,oBAAhBiG,aAA8B4Z,aAAe5Z,aACb,yBAAxC/J,OAAOU,UAAUsP,SAAS5O,KAAKuiB,MDoBvBonrB,EAAW,IAAID,GACZxisB,OAAOxE,GACTgwD,EAAAlE,GAAM,GAAMm7oB,EAAStisB,WAHnB,aAGT,MAAO,CAAP,EAAOqrD,EAAAzyD,WAAA,GAAMmhlB,EAAAp+kB,iBAMf,MAAO,CAAP,EHe8B,oBI7CH,IAACuf,QCKxB,SAAUqnrB,GAAa9rsB,GAAE,IAAA21C,EAAO31C,EAAA21C,QAAEy9G,EAAKpzJ,EAAAozJ,MAAK+xV,EPmC3C,SAAgBtjf,EAAGQ,GACtB,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CO7CsDQ,CAAApC,EAAzB,qBAC3B,OAAA0B,GAAAA,GAAA,GACKyjf,GAAI,CACPxvc,QAAOj0C,GAAA,GAAOi0C,GACdy9G,MAAOA,EAAQ24iB,GAAW34iB,QAASvzJ,GAEvC,CAEA,SAASkssB,GAAW34iB,GAClB,OAAOtyJ,OAAOgR,KAAKshJ,GAAOp3I,QAAO,SAACg6qB,EAA0BpgkB,SACpD2iL,EAAQnlJ,EAAMx9B,GACpB,OAAAl0H,GAAAA,GAAA,GACKs0rB,KAAKh2rB,EAAA,IACP41H,GAAY30H,MAAMkoB,QAAQovR,GP6H1B,WACH,IAAK,IAAInyS,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,COjIyCE,CAAKiyS,GAASA,EAAKv4S,GAE1D,GAAG,CAAC,EACN,CCbM,SAAUgssB,GAAe91pB,WAE7BA,EAA4C,oBAA1BA,EAAgBtjB,MAAwBsjB,EAAgBtjB,QAAUk5qB,GAAa51pB,OAEjG,IAAyB,IAAAvnC,EAAAzI,GAAApF,OAAOgR,KAAKokC,EAAQP,UAAQgf,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAE,CAAlD,IAAMmnsB,EAAU92oB,EAAAvwD,MACf6lsB,GAAkB3nsB,QAAQmpsB,EAAW7vrB,gBAAkB,UAClDs6B,EAAQP,QAAQ81pB,qGAI3B,OAAOv1pB,CACT,CCnBM,SAAU+1pB,GAAQvqqB,GACtB,OAKI,SAAiBA,GACrB,GAAoB,kBAATA,EACT,OAAO,IAAI0d,KAAY,IAAP1d,GAGlB,GAAoB,kBAATA,EACT,OAAItmB,OAAOsmB,GACF,IAAI0d,KAAoB,IAAfhkC,OAAOsmB,IAElB,IAAI0d,KAAK1d,GAGlB,OAAOA,CACT,CAlBSukhB,CAAOvkhB,GACXid,cACAhjC,QAAQ,YAAa,IAC1B,CCwFA,IAAAuwrB,GAAA,WAQE,SAAAA,EAAYlssB,OACVmssB,EAAanssB,EAAAmssB,cACb5zD,EAAWv4oB,EAAAu4oB,YACX2oD,EAAMlhsB,EAAAkhsB,OACNjY,EAAOjprB,EAAAiprB,QACP/tI,EAAMl7iB,EAAAk7iB,OACNvsiB,EAAA3O,EAAAossB,cAAAA,OAAa,IAAAz9rB,GAAOA,EAEpBrN,KAAK2nrB,QAAUA,EACf3nrB,KAAK45iB,OAASA,EACd55iB,KAAK8qsB,cAAgBA,EAErB9qsB,KAAK6qsB,cAAyC,mBAAlBA,GAA8BA,EAC1D7qsB,KAAK+qsB,eAAiBC,GAAwBpL,GAC9C5/rB,KAAKirsB,mBAAqBC,GAA6Bj0D,EACzD,CAiMF,OA/Le2zD,EAAA1qsB,UAAAirsB,QAAb,SAAqBC,EAA8BpwrB,eAAA,IAAAA,IAAAA,EAAA,6IAU7B,OARlBtc,EAOEsc,EAAOqwrB,YAPTA,OAAW,IAAA3ssB,EAAG,IAAIo/C,KAAMp/C,EACxB2O,EAME2N,EAAOi0qB,UANTA,OAAS,IAAA5hrB,EAAG,KAAIA,EAChB48rB,EAKEjvrB,EAAOivrB,kBAJTqB,EAIEtwrB,EAAOswrB,mBAHTpB,EAGElvrB,EAAOkvrB,gBAFTrE,EAEE7qrB,EAAO6qrB,cADTC,EACE9qrB,EAAO8qrB,eACS,GAAM9lsB,KAAKirsB,oCAAzBh0D,EAAc69C,EAAAlxrB,OACQ,OAAbiisB,QAAa,IAAbA,EAAa,OAAbxyoB,EAAAwyoB,gBAAkB,SAAM7lsB,KAAK+qsB,yBAAZ13oB,EAACyhoB,EAAAlxrB,wBAGjC,OAHMg8rB,EAAMvsoB,EAENC,EAA0BkgV,GAAW63T,GAAnCE,EAAQj4oB,EAAAi4oB,SAAExB,EAASz2oB,EAAAy2oB,UACvB9a,ERjFyB,OQkFpB,CAAP,EAAOvsrB,QAAQE,OACb,sGAIEy3Y,EAAQyvT,GAAYC,EAAWnK,EAAsB,OAAdkG,QAAc,IAAdA,EAAAA,EAAkB9lsB,KAAK2nrB,SAC9D/yoB,ECnIJ,SACJA,EACA55B,kBAAA,IAAAA,IAAAA,EAAA,IAEM,IAAAq4C,EAC8B,oBAA1Bze,EAAgBtjB,MAAwBsjB,EAAgBtjB,QAAUk5qB,GAAa51pB,GADjFP,EAAOgf,EAAAhf,QAAEif,EAAAD,EAAAy+F,MAAAA,OAAK,IAAAx+F,EAAG,CAAC,EAAsBA,MAEhD,IAAmB,IAAAy3L,EAAAnmP,GAAApF,OAAOgR,KAAK6jC,IAAQ2tiB,EAAAj3V,EAAA/nP,QAAAg/kB,EAAA7+kB,KAAA6+kB,EAAAj3V,EAAA/nP,OAAE,CAApC,IAAM+D,EAAIi7kB,EAAAl/kB,MACP0osB,EAAQzksB,EAAKuT,cACQ,WAAvBkxrB,EAAMxurB,OAAO,EAAG,KAA8C,QAA3B3P,EAAC2N,EAAQswrB,0BAAkB,IAAAj+rB,OAAA,EAAAA,EAAE1G,IAAI6ksB,MACtE15iB,EAAM/qJ,GAAQstC,EAAQttC,UACfstC,EAAQttC,sGAInB,OAAA3G,GAAAA,GAAA,GACKw0C,GAAO,CACVP,QAAOA,EACPy9G,MAAKA,GAET,CDgHoB25iB,CAAmBf,GAAeU,GAAkB,CAAEE,mBAAkBA,IAEpFr0D,EAAY0mD,eACd/opB,EAAQk9G,MAAM02iB,IAAqBvxD,EAAY0mD,cAEjD/opB,EAAQk9G,MR/IyB,mBQ+IM23iB,GACvC70pB,EAAQk9G,MR/I0B,oBQ+ISmlf,EAAYwmD,YAAW,IAAIpjT,EACtEzlW,EAAQk9G,MAAMw2iB,IAAwBiD,EACtC32pB,EAAQk9G,MR9IuB,iBQ8IMm9hB,EAAUz/qB,SAAS,IAElDk8rB,EAAmB1B,GAAoBp1pB,EAASq1pB,EAAmBC,GACzEt1pB,EAAQk9G,MRlJ8B,uBQkJM65iB,GAAuBD,GAEnE3gd,EAAAn2M,EAAQk9G,MAAMkwb,EAAAumH,GAA+BtmH,EAAAjilB,KAAK4rsB,gBAChDL,EACAlxT,EACAr6Y,KAAK6rsB,cAAc50D,EAAa2oD,EAAQmK,EAAWjE,IACnDpQ,EAAA11rB,KAAK8rsB,0BAAuBl3pB,EAAS82pB,GAAkB,GAAMrB,GAAee,EAAiBprsB,KAAK45iB,iBAJ7D,SAAMqoC,EAAAphlB,MAAAb,KAAIkilB,EAAAnjlB,OAAA,CAI/C22rB,EAAA70rB,MAAAb,KAAI41rB,EAAA72rB,OAAA,CAAmD+1rB,EAAAlxrB,qBAGzD,OAPAmnP,EAAAi3V,GAAuC8yG,EAAAlxrB,OAOhC,CAAP,EAAOgxC,WAMIg2pB,EAAA1qsB,UAAA6I,KAAb,SAAkBgjsB,EAAa/wrB,wEAC7B,MAAsB,kBAAX+wrB,EACF,CAAP,EAAO/rsB,KAAKgssB,WAAWD,EAAQ/wrB,IACtB+wrB,EAAO13pB,SAAW03pB,EAAO9tpB,QAC3B,CAAP,EAAOj+C,KAAKissB,UAAUF,EAAQ/wrB,IAEvB,CAAP,EAAOhb,KAAKkssB,YAAYH,EAAQ/wrB,WAItB4vrB,EAAA1qsB,UAAA+rsB,UAAd,SACEvtsB,EACA2O,OADEgnC,EAAO31C,EAAA21C,QAAE4J,EAAOv/C,EAAAu/C,QAChBoV,EAAAhmD,EAAAg+rB,YAAAA,OAAW,IAAAh4oB,EAAG,IAAIvV,KAAMuV,EAAE84oB,EAAc9+rB,EAAA8+rB,eAAEtG,EAAax4rB,EAAAw4rB,cAAEC,EAAcz4rB,EAAAy4rB,4IAE7C,OAAbD,QAAa,IAAbA,EAAa,OAAbvyoB,EAAAuyoB,gBAAkB,SAAM7lsB,KAAK+qsB,yBAAZz3oB,EAAC2uhB,EAAAr+kB,wBAGX,OAHhBg8rB,EAAMtsoB,EACNy3L,EAA0ByoJ,GAAW63T,GAAnCtB,EAASh/c,EAAAg/c,UAAEwB,EAAQxgd,EAAAwgd,SACrBlxT,EAAQyvT,GAAYC,EAAWnK,EAAsB,OAAdkG,QAAc,IAAdA,EAAAA,EAAkB9lsB,KAAK2nrB,SAC9C,GAAM0iB,GAAe,CAAEh2pB,QAAS,CAAC,EAAG/wC,KAAM26C,GAAkBj+C,KAAK45iB,gBAG3D,OAHtBwyJ,EAAgBnqH,EAAAr+kB,QAChBoD,EAAO,IAAIhH,KAAK45iB,QACjB9xiB,OAAOusC,GACU2tiB,EAAA5yhB,GAAM,GAAMpoD,EAAKiB,iBASvC,OATMoksB,EAAgBrqH,EAAAnhlB,WAAA,GAAMohlB,EAAAr+kB,SACtB0osB,EAAe,CACnB5C,GACA6B,EACAlxT,EACA8xT,EACAE,EACAD,GACA38rB,KAAK,MACA,CAAP,EAAOzP,KAAKgssB,WAAWM,EAAc,CAAEjB,YAAWA,EAAExF,cAAejG,EAAQkG,eAAcA,aAG7E8E,EAAA1qsB,UAAA8rsB,WAAd,SACEM,EACA5tsB,OAAA2O,OAAA,IAAA3O,EAAgF,CAAC,EAACA,EAAhF20D,EAAAhmD,EAAAg+rB,YAAAA,OAAW,IAAAh4oB,EAAG,IAAIvV,KAAMuV,EAAEwyoB,EAAax4rB,EAAAw4rB,cAAEC,EAAcz4rB,EAAAy4rB,+HAErC,SAAM9lsB,KAAKirsB,oCAAzBh0D,EAAc/0D,EAAAt+kB,OACQ,OAAbiisB,QAAa,IAAbA,EAAa,OAAbvyoB,EAAAuyoB,gBAAkB,SAAM7lsB,KAAK+qsB,yBAAZz3oB,EAAC4uhB,EAAAt+kB,wBAGJ,OAHvBg8rB,EAAMtsoB,EACJy2oB,EAAcv2T,GAAW63T,GAAYtB,aAE5Bh/c,EAAA/qP,KAAK45iB,QAAMp2gB,KAAC,GAAMxjC,KAAK6rsB,cAAc50D,EAAa2oD,EAAQmK,EAAWjE,WAEzE,OAFP9+rB,EAAO,IAAAg7kB,EAAAnhlB,MAAAkqP,EAAA,QAAgBm3V,EAAAt+kB,WACxBkE,OAAOwksB,GACLrqH,EAAA7yhB,GAAM,GAAMpoD,EAAKiB,iBAAxB,MAAO,CAAP,EAAOg6kB,EAAAphlB,WAAA,GAAMqhlB,EAAAt+kB,kBAGDgnsB,EAAA1qsB,UAAAgssB,YAAd,SACEK,EACA7tsB,OAAA2O,OAAA,IAAA3O,EAM6B,CAAC,EAACA,EAL7B20D,EAAAhmD,EAAAg+rB,YAAAA,OAAW,IAAAh4oB,EAAG,IAAIvV,KAAMuV,EACxB62oB,EAAe78rB,EAAA68rB,gBACfD,EAAiB58rB,EAAA48rB,kBACjBpE,EAAax4rB,EAAAw4rB,cACbC,EAAcz4rB,EAAAy4rB,qIAGI,SAAM9lsB,KAAKirsB,oCAAzBh0D,EAAcj1D,EAAAp+kB,OACQ,OAAbiisB,QAAa,IAAbA,EAAa,OAAbvyoB,EAAAuyoB,gBAAkB,SAAM7lsB,KAAK+qsB,yBAAZz3oB,EAAC0uhB,EAAAp+kB,wBAUb,OAVdg8rB,EAAMtsoB,EACN1e,EAAU81pB,GAAe6B,GACzBxhd,EAA0ByoJ,GAAW63T,GAAnCE,EAAQxgd,EAAAwgd,SAAExB,EAASh/c,EAAAg/c,UACrB1vT,EAAQyvT,GAAYC,EAAWnK,EAAsB,OAAdkG,QAAc,IAAdA,EAAAA,EAAkB9lsB,KAAK2nrB,SAEpE/yoB,EAAQP,QAAQq0pB,IAAmB6C,EAC/Bt0D,EAAY0mD,eACd/opB,EAAQP,QAAQy0pB,IAAgB7xD,EAAY0mD,cAG1B,GAAM0M,GAAez1pB,EAAS50C,KAAK45iB,gBAMrC,OANZ4yJ,EAAcxqH,EAAAp+kB,QEpOlB,SAAoB6osB,EAAsBp4pB,WAC9Co4pB,EAAeA,EAAanyrB,kBAC5B,IAAyB,IAAAjN,EAAAzI,GAAApF,OAAOgR,KAAK6jC,IAAQgf,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAC3C,GAAIypsB,IADep5oB,EAAAvwD,MACawX,cAC9B,OAAO,mGAIX,OAAO,CACT,CF4NSoyrB,CAAU7D,GAAej0pB,EAAQP,UAAYr0C,KAAK6qsB,gBACrDj2pB,EAAQP,QAAQw0pB,IAAiB2D,GAG7Bd,EAAmB1B,GAAoBp1pB,EAASq1pB,EAAmBC,GACvD,GAAMlqsB,KAAK4rsB,aAC3BL,EACAlxT,EACAr6Y,KAAK6rsB,cAAc50D,EAAa2oD,EAAQmK,EAAWjE,GACnD9lsB,KAAK8rsB,uBAAuBl3pB,EAAS82pB,EAAkBc,YASzD,OAbMnxJ,EAAY2mC,EAAAp+kB,OAOlBgxC,EAAQP,QAAQo0pB,IACXgB,kBACWxyD,EAAYwmD,YAAW,IAAIpjT,EADtCovT,mBAEckC,GAAuBD,GAFrCjC,eAGUpuJ,EAER,CAAP,EAAOzmgB,WAGDg2pB,EAAA1qsB,UAAA4rsB,uBAAR,SAA+Bl3pB,EAAsB82pB,EAA6Bc,GAChF,IAAMG,EAAgBntsB,OAAOgR,KAAKk7rB,GAAkBj2qB,OACpD,OAAUmf,EAAQ31C,OAAM,KAC1Be,KAAK4ssB,iBAAiBh4pB,GAAQ,KGvP1B,SAA4Bl2C,WAAE20D,EAAA30D,EAAAozJ,MAAAA,OAAK,IAAAz+F,EAAG,CAAC,EAACA,EACtC7iD,EAAsB,GACtBqS,EAAwC,CAAC,aACpCvhB,GACT,GAAIA,EAAIgZ,gBAAkBsurB,oBAI1Bp4rB,EAAKlM,KAAKhD,GACV,IAAMwB,EAAQgvJ,EAAMxwJ,GACC,kBAAVwB,EACT+f,EAAWvhB,GAAUk/rB,GAAUl/rB,GAAI,IAAIk/rB,GAAU19rB,GACxCnD,MAAMkoB,QAAQ/kB,KACvB+f,EAAWvhB,GAAOwB,EACfqa,MAAM,GACNsY,OACA/a,QACC,SAACpL,EAAwBxM,GAAkB,OAAAwM,EAAQvQ,OAAO,CAAIyhsB,GAAUl/rB,GAAI,IAAIk/rB,GAAU19rB,IAA/C,GAC3C,IAED2M,KAAK,WAjBZ,IAAkB,IAAA6jD,EAAA1uD,GAAApF,OAAOgR,KAAKshJ,GAAOr8H,QAAMs1N,EAAAz3L,EAAAtwD,QAAA+nP,EAAA5nP,KAAA4nP,EAAAz3L,EAAAtwD,SAA7B+nP,EAAAjoP,wGAqBd,OAAO0N,EACJ3R,KAAI,SAACyC,GAAQ,OAAAuhB,EAAWvhB,EAAX,IACb0R,QAAO,SAAC6P,GAAe,OAAAA,CAAA,IACvBpT,KAAK,IACV,CH4NEo9rB,CAAkBj4pB,GAAQ,KAC1B+3pB,EAAc9tsB,KAAI,SAACkI,GAAS,OAAGA,EAAI,IAAI2ksB,EAAiB3ksB,EAA5B,IAAqC0I,KAAK,MAAK,OAE3Ek9rB,EAAcl9rB,KAAK,KAAI,KACvB+8rB,CACA,EAEc5B,EAAA1qsB,UAAA4ssB,mBAAd,SACEvB,EACAwB,EACAC,uGAIsB,OAFhBhmsB,EAAO,IAAIhH,KAAK45iB,QACjB9xiB,OAAOklsB,GACU,GAAMhmsB,EAAKiB,iBAEjC,OAFMglsB,EAAgBvusB,EAAAkF,OAEf,CAAP,EAAU6lsB,GAAoB,KAChC8B,EAAQ,KACRwB,EAAe,KACf39oB,GAAM69oB,YAGErC,EAAA1qsB,UAAA0ssB,iBAAR,SAAyBlusB,OAAEw+B,EAAIx+B,EAAAw+B,KAC7B,OAAIl9B,KAAK8qsB,cAEA,IADet4pB,mBAAmBtV,EAAK7iB,QAAQ,MAAO,KACpCA,QAAQ,OAAQ,KAGpC6iB,CACT,EAEc0tqB,EAAA1qsB,UAAA0rsB,aAAd,SACEL,EACAwB,EACAG,EACAF,6GAEqB,SAAMhtsB,KAAK8ssB,mBAAmBvB,EAAUwB,EAAiBC,WAEjD,OAFvBV,EAAeh5oB,EAAA1vD,UAEJlF,EAAAsB,KAAK45iB,QAAMp2gB,KAAC,GAAM0pqB,UAEtB,OAFPlmsB,EAAO,IAAAqG,EAAAxM,MAAAnC,EAAA,QAAgB40D,EAAA1vD,WACxBkE,OAAOwksB,GACLj5oB,EAAAjE,GAAM,GAAMpoD,EAAKiB,iBAAxB,MAAO,CAAP,EAAOorD,EAAAxyD,WAAA,GAAMyyD,EAAA1vD,kBAGPgnsB,EAAA1qsB,UAAA2rsB,cAAR,SACE50D,EACA2oD,EACAmK,EACApiB,GAEA,OPnRyB,SAC3BwlB,EACAl2D,EACA8yD,EACAnK,EACAjY,GAAe,OAAAtlrB,QAAA,qGAEG,SAAMmzjB,GAAK23I,EAAmBl2D,EAAYymD,gBAAiBzmD,EAAYwmD,qBAEzF,GAFM2P,EAAY95oB,EAAA1vD,QACZkppB,EAAci9C,EAAS,IAAInK,EAAM,IAAIjY,EAAO,IAAIv4nB,GAAMg+oB,GAAU,IAAIn2D,EAAY0mD,gBACtEiM,GACd,MAAO,CAAP,EAAOA,GAAgB98C,IAIzB,IADA+8C,GAAWvlsB,KAAKwopB,GACT+8C,GAAWlpsB,ODEU,WCDnBipsB,GAAgBC,GAAWhksB,SAGhCvE,EAAkB,OAAO21oB,EAAYymD,wDAClBh/rB,EAAAkG,GAAA,CAACmlsB,EAAWnK,EAAQjY,EAASgiB,KAAoBt8rB,EAAA3O,EAAAsE,6CAA7DqqsB,EAAQhgsB,EAAAvK,MACX,GAAM0yjB,GAAK23I,EAAmB7rsB,EAAK+rsB,YAAzC/rsB,EAAMgyD,EAAA1vD,yMAER,MAAO,CAAP,EAAQgmsB,GAAgB98C,GAAYxrpB,UO6P3BuqsB,CAAc7rsB,KAAK45iB,OAAQq9F,EAAa8yD,EAAWnK,EAAQjY,GAAW3nrB,KAAK2nrB,QACpF,EACFijB,CAAA,CAxNA,GA0NMp3T,GAAa,SAACx1V,GAClB,IAAMutpB,EAAWZ,GAAQ3spB,GAAK3jC,QAAQ,SAAU,IAChD,MAAO,CACLkxrB,SAAQA,EACRxB,UAAWwB,EAASvurB,OAAO,EAAG,GAElC,EAEM2urB,GAAyB,SAACt3pB,GAA4B,OAAA70C,OAAOgR,KAAK6jC,GAAS5e,OAAOhmB,KAAK,IAAjC,EAEtDu7rB,GAA0B,SAACpL,GAC/B,GAAsB,kBAAXA,EAAqB,CAC9B,IAAMoF,EAActisB,QAAQC,QAAQi9rB,GACpC,OAAO,WAAM,OAAAoF,CAAA,EAEb,OAAOpF,CAEX,EAEMsL,GAA+B,SAACj0D,GACpC,GAA2B,kBAAhBA,EAA0B,CACnC,IAAMmwD,EAAc1ksB,QAAQC,QAAQs0oB,GACpC,OAAO,WAAM,OAAAmwD,CAAA,EAEb,OAAOnwD,CAEX,EI3PA,SAASq2D,GAAqBzgsB,GAC5B,GAAqB,kBAAVA,EAAoB,CAC7B,IAAMm4rB,EAActisB,QAAQC,QAAQkK,GACpC,OAAO,WAAM,OAAAm4rB,CAAA,EAEf,OAAOn4rB,CACT,CC9DO,IAAIzM,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CAEO,SAASE,KACZ,IAAK,IAAIF,EAAK,GAAItE,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAC3CsE,EAAKA,EAAG/F,OAAO8F,GAAOnE,UAAUF,KACpC,OAAOsE,CACX,CCnJO,IAAMyosB,GAAa,aAMbC,GAAkB,yCCsDzBC,GAAkB,SAAC/usB,OAAA2O,EAAAxI,GAAAnG,EAAA,GAACqI,EAAIsG,EAAA,GAAE+xC,EAAO/xC,EAAA,GAC/BqgsB,EAAuB3msB,EAAK/F,QAAQ,KACpCwgB,EAASza,EAAK2+B,UAAU,EAAGgoqB,GAC7BC,EAAS5msB,EAAK2+B,UAAUgoqB,EAAuB,GAInD,MAHe,QAAXlsrB,IACFmsrB,EAASA,EAAOrzrB,eAEX,CAACkH,EAAQmsrB,EAAQvupB,GACrBpsC,QAAO,SAACoG,GAAS,OAAAA,GAAQA,EAAKzY,OAAS,CAAtB,IACjB9B,KAAI,SAACua,GAAI,OAAS,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMiB,QAAQmzrB,GAAiB,IAAG,IAChD/9rB,KAAK,IACV,EAEam+rB,GAAwE,CACnF7msB,KAAM,yBACNhE,KAAM,QACNsohB,SAAU,MACVjwgB,KAAM,CAAC,iBAAkB,cACzB09qB,UAAU,GAGC+U,GAAqB,SAAC19pB,GAAyD,MAAC,CAC3F+opB,aAAc,SAACgD,GAtDkB,IAAClhrB,EAuDhCkhrB,EAAYporB,KAvDoBkH,EAuDIm1B,EAvDiC,SACvEntC,EACAkO,GAC2B,gBAAOoX,GAAgC,OAAAjmB,QAAA,mGAElE,OADQuyC,EAAYtsB,EAAIssB,QACnB4/oB,GAAAA,WAAuB5/oB,IACpBP,EAAYO,EAAOP,QACrBgK,GAA8B,QAAlB3/C,EAAO,OAAPwS,QAAO,IAAPA,OAAO,EAAPA,EAASmtC,iBAAS,IAAA3/C,OAAA,EAAAA,EAAEG,IAAI4usB,MAAoB,GACpC,GAAMzyrB,EAAQurrB,6BAHK,CAAP,EAAOvjsB,EAAKslB,WAgBlD,OAbMq+qB,EAAoBtzoB,EAAAzvD,OAA0C/E,IAAI4usB,IAClEK,GAA0C,QAAxBzgsB,EAAO,OAAP2N,QAAO,IAAPA,OAAO,EAAPA,EAAS8yrB,uBAAe,IAAAzgsB,OAAA,EAAAA,EAAExO,IAAI4usB,MAAoB,GAE1Ep5pB,EDrC8B,oBCqCFrvC,GAAI2hsB,EAAqBtopB,EAAcyvpB,GAAiBr+rB,KDnCjE,KCqCbs+rB,EAAgB/osB,GACjB2hsB,EAAiB3zrB,QAAO,SAACwlQ,GAAY,OAAAA,EAAQplM,WAAW,WAAnB,IACrC06nB,GACHr+rB,KDxCiB,KCyCK,YAApBuL,EAAQ4poB,SAAyBmpD,IACnC15pB,EAAQk5pB,IAAcl5pB,EAAQk5pB,IAAiBl5pB,EAAQk5pB,IAAW,IAAIQ,EAAkBA,GAGnF,CAAP,EAAO/qsB,EAAI5C,GAAAA,GAAC,CAAC,EACRkoB,GAAI,CACPssB,QAAOA,aApBkB,GAoDoBg5pB,GAC/C,EAH0F,EC6L5FI,GAAA,SAAAl9rB,GAQE,SAAAk9rB,EAAY7R,GAAZ,ICrQAtvrB,EhDe6BmO,E+CsP7B9R,EAAA,KAKM+ksB,E1B5P2B,SAAIphsB,GACrC,IAAKA,EAAM+yrB,OACT,MAAM,IAAIj3rB,MAAM,qBAElB,OAAAvI,GAAAA,GAAA,GACKyM,GAAK,CACR+yrB,OAAQ2H,GAAgB16rB,EAAM+yrB,SAElC,C0BoPoBsO,EAJH9tsB,EAAAA,GAAAA,KAAAA,EAAAA,GAAAA,IAAA,GACR+tsB,IACAhS,IAGDiS,E3BnQ8B,SACpCvhsB,SACgC,OAAAzM,GAAAA,GAAC,CAAC,EAC/ByM,GAAK,CACRy6rB,IAAc,QAAX5osB,EAAEmO,EAAMy6rB,WAAG,IAAA5osB,GAAAA,EACd25rB,SAAUxrrB,EAAMwrrB,SAAW8O,GAAkBt6rB,GAAS,WAAM,OAAAw6rB,GAAsBx6rB,EAAtB,EAC5DwhsB,mBAAkBxhsB,EAAMwrrB,W2B6PNiW,CAAuBL,GACnCM,EJjPF,SAAkC1hsB,GAAxC,IAIM2hsB,EAJNtlsB,EAAA,KAEQulsB,EAAkBnB,GADJzgsB,EAAMoqoB,aAAepqoB,EAAMy5rB,0BAA0Bz5rB,IAEjEnO,EAAuFmO,EAAK6hsB,kBAA5FA,OAAiB,IAAAhwsB,GAAOA,EAAE2O,EAA6DR,EAAK8hsB,kBAAlEA,OAAiB,IAAAthsB,EAAGR,EAAM8hsB,mBAAqB,EAACthsB,EAAEusiB,EAAW/siB,EAAK+siB,OA6BpG,OAzBE40J,EAFE3hsB,EAAM2hsB,OAEClB,GAAkBzgsB,EAAM2hsB,QAGxB,WACP,OAAAlB,GAAkBzgsB,EAAM+yrB,OAAxB0N,GACGlqsB,MAAK,SAAOw8rB,GAAM,OAAAv9rB,GAAA6G,OAAA,4BAAA7F,GAAA,eAAA3E,0BAAO,SAAMmO,EAAM64rB,mBAAmB9F,WAAjC,UAAElhsB,EAAAkF,QAA2C,CAAC,EAAGg8rB,cACxEx8rB,MAAK,SAAC1E,OAAA2O,EAAAxI,GAAAnG,EAAA,GAACinsB,EAAUt4rB,EAAA,GAAEuyrB,EAAMvyrB,EAAA,GAChBw4rB,EAAkCF,EAAUE,cAA7BC,EAAmBH,EAAUG,eAQpD,OALAj5rB,EAAMg5rB,cAAgBh5rB,EAAMg5rB,eAAiBA,GAAiBjG,EAG9D/yrB,EAAM+hsB,YAAc/hsB,EAAM+hsB,aAAe9I,GAAkBj5rB,EAAMk5rB,UAE1D,IAAI6E,GAAY,CACrB3zD,YAAaw3D,EACb7O,OAAQ/yrB,EAAMg5rB,cACdle,QAAS96qB,EAAM+hsB,YACfh1J,OAAMA,EACNkxJ,cAAe4D,GAEnB,GAlBF,EAqBJtusB,GAAAA,GAAA,GACKyM,GAAK,CACR8hsB,kBAAiBA,EACjBD,kBAAiBA,EACjBz3D,YAAaw3D,EACbD,OAAMA,GAEV,CI0MoBK,CAAqBT,GACjCU,EvC/O0B,SAAIjisB,GACpC,IAAM23rB,EAAcO,GAAqBl4rB,EAAM23rB,aAC/C,OAAApksB,GAAAA,GAAA,GACKyM,GAAK,CACR23rB,YAAWA,EACXjC,cAAe11rB,EAAM01rB,eAAiB,IAAIiB,GAAsBgB,IAEpE,CuCwOoBuK,CAAmBR,GAE/BS,EC7QN5usB,GAAAA,GAAA,GAFAyM,ED8Q0CiisB,GC3QhC,CACRhB,gBAAkD,kBAA1BjhsB,EAAMihsB,gBAA+B,CAAC,CAACjhsB,EAAMihsB,kBAAoBjhsB,EAAMihsB,yBD4Q/F5ksB,EAAA4H,EAAAlQ,KAAA,KAAMousB,IAAU,MACX7+pB,OAAS6+pB,EACd9lsB,EAAKuyrB,gBAAgBvhpB,K/CnQMl/B,E+CmQa9R,EAAKinC,O/CnQqC,CACpF+opB,aAAc,SAACgD,GACbA,EAAYporB,IAAIwurB,GAAgBtnrB,GAAUwnrB,GAC5C,K+CiQEt5rB,EAAKuyrB,gBAAgBvhpB,IAAIwtpB,GAAuBx+rB,EAAKinC,SACrDjnC,EAAKuyrB,gBAAgBvhpB,IAAI2tpB,GAAoB3+rB,EAAKinC,SAClDjnC,EAAKuyrB,gBAAgBvhpB,KAAoBhxC,EAAKinC,OpBtPqB,CACrE+opB,aAAc,SAACgD,GACbA,EAAYporB,IAAIk0rB,KAAoBE,GACtC,KoBoPEh/rB,EAAKuyrB,gBAAgBvhpB,IAAI2zpB,GAAmB3ksB,EAAKinC,UACnD,CAKF,OA/B2CrwC,EAAAA,GAAAA,IAAAkusB,EAAAl9rB,GA4BzCk9rB,EAAA9tsB,UAAA0U,QAAA,WACE9D,EAAA5Q,UAAM0U,QAAOhU,KAAC,KAChB,EACFotsB,CAAA,CA/BA,CAA2CiB,IE1QrCC,GAAkB,oBAEXC,GAAW,CACvB9wpB,UAAc6wpB,GAAe,MAC7BpvpB,QAAS,GACT1B,UAAW,KACXgxpB,eAAe,GAEhB,GAAyB,qBAAdhxpB,WAA6BA,UAAU0B,QAGjD,GAFAqvpB,GAASrvpB,QAAU1B,UAAU0B,SAAW,GACxCqvpB,GAAS/wpB,UAAYA,WAAa,KAE5B,gBADEA,UAAU0B,QAEhBqvpB,GAAS9wpB,UAAe6wpB,GAAe,gBACvCC,GAASC,eAAgB,OAGzBD,GAAS9wpB,UAAe6wpB,GAAe,MACvCC,GAASC,eAAgB,EAKrB,IAAMC,GAAsB,SAACpvpB,GACnC,MAAO,GAAGkvpB,GAAS9wpB,WAAY4B,GAAoB,GACpD,ECdM,SAAUqvpB,GACfn/pB,GAEA,IAAMgtpB,EAAS,IAAI6Q,GAAsB,CACxCpO,OAAQzvpB,EAAOyvpB,OACfkO,gBAAiBuB,OAalB,OAVAlS,EAAO1B,gBAAgB3nrB,KACtB,SAAC9Q,EAAMU,GAAM,gBAAC4kB,GACb,OAAOtlB,EAWJ,SAAyBslB,GAC9B,OAAAloB,GAAAA,GAAA,GACIkoB,GAAI,CACPssB,QAAOx0C,GAAAA,GAAA,GACHkoB,EAAKssB,SAAO,CACfP,QAAOj0C,GAAAA,GAAA,GACHkoB,EAAKssB,QAAQP,SAAO,CACvB,gBAAiB,gBAIrB,CAtBek7pB,CAAejnrB,GAC5B,CAFa,GAGb,CACCvlB,KAAM,QACNgE,KAAM,2BAIDo2rB,CACR,CCZA,IAAMpmkB,GAAS,IAAIo0jB,GAAO,eAMpBC,GACa,qBAAXpnrB,QAAgD,oBAAfA,OAAOmxiB,IAC5CnxiB,OAAOmxiB,IAAI,mBACX,oBAWJq6J,GAAA,WAcC,SAAAA,EAAYr/pB,GAVJ,KAAAs/pB,oBAAsB,KACtB,KAAAC,iBAAmB,CAAC,EAO5B,KAAAlgB,UAAOjxrB,EAGNyB,KAAKi/B,UAAUkR,GACfnwC,KAAK0vsB,iBAAyB,OAAI7hB,GAAAA,mBAClC7trB,KAAK0vsB,iBAA2B,SAAIhhB,GAAAA,oBACrC,CAglBD,OA9kBQ8gB,EAAAtvsB,UAAAuwrB,cAAP,WACC,MAAO,aACR,EAEO+e,EAAAtvsB,UAAAyvsB,cAAP,WACC,OAAO3vsB,KAAK4vsB,mBACb,EAEOJ,EAAAtvsB,UAAA++B,UAAP,SAAiBkR,GAChB,IAAKA,EAAQ,OAAOnwC,KAAKsqrB,SAAW,CAAC,EAErCtqrB,KAAKsqrB,QAAU9qrB,OAAOa,OAAO,CAAC,EAAGL,KAAKsqrB,QAASn6oB,GACvC,IAAA0/pB,EAAA,KAAAvlB,QAAAulB,gBA2BR,OAxBIA,IACH7vsB,KAAK0vsB,iBAAgBtvsB,GAAAA,GAAA,GACjBJ,KAAK0vsB,kBACLG,IAIL7vsB,KAAK8vsB,SAAW9vsB,KAAKsqrB,QAAQxpa,QAExB9gR,KAAK8vsB,WACT9vsB,KAAK8vsB,UAAW,IAAIvjB,IAAgB1ra,cAGrC7gR,KAAK+vsB,aAAertsB,QAAQC,UACS,oBAA1B3C,KAAK8vsB,SAAe,OAC9B9vsB,KAAK+vsB,aAAe/vsB,KAAK8vsB,SAAe,QA1DV,SAChCvvqB,EACAx4B,EACA4Q,GAEAyzqB,GAAItuD,SAAS,OAAQ,CAAEv9lB,MAAKA,EAAEx4B,KAAIA,EAAE4Q,QAAOA,GAAI,cAAeyyqB,GAC/D,CAuDE4kB,CACC,yBACA,KACA,gDAGMhwsB,KAAKsqrB,OACb,EAEOklB,EAAAtvsB,UAAA0G,IAAP,WAEC,OADAmwH,GAAOiyjB,MAAM,uBACNhprB,KAAKiwsB,oBACb,EAGQT,EAAAtvsB,UAAAgwsB,gCAAR,SAAwC/Q,GACvC,MArFkC,qBAqFMA,CACzC,EAEQqQ,EAAAtvsB,UAAA+vsB,mBAAR,WAQC,OAPAl5kB,GAAOiyjB,MAAM,0BACRhprB,KAAKyvsB,qBAAwBzvsB,KAAKyvsB,oBAAoB9ljB,YAI1D5yB,GAAOiyjB,MAAM,6BAHbjyjB,GAAOiyjB,MAAM,4BACbhprB,KAAKyvsB,oB7FS2B,SAAAj3pB,GAClC,GAAIA,EAAQ23pB,WAAY,OAAO33pB,EAE/B,IAAImxG,GAAY,EACZymjB,GAAa,EACbC,GAAe,EAEbntsB,EAASs1C,EAAQp1C,MACtB,SAAA2E,GAGC,OAFAsosB,GAAe,EACf1mjB,GAAY,EACL5hJ,CACR,IACA,SAAAhH,GAGC,MAFAqvsB,GAAa,EACbzmjB,GAAY,EACN5oJ,CACP,IAOD,OAJAmC,EAAOmtsB,aAAe,WAAM,OAAAA,CAAA,EAC5BntsB,EAAOymJ,UAAY,WAAM,OAAAA,CAAA,EACzBzmJ,EAAOktsB,WAAa,WAAM,OAAAA,CAAA,EAEnBltsB,CACR,C6FlC8BotsB,CAAoBtwsB,KAAKuwsB,eAI9CvwsB,KAAKyvsB,mBACb,EAEcD,EAAAtvsB,UAAAqwsB,WAAd,yHAGC,GAFAx5kB,GAAOiyjB,MAAM,mDACPwnB,EAAOxwsB,KAAKywsB,gBACLzwsB,KAAK0wsB,WAAWF,KAAUxwsB,KAAK2wsB,aAE3C,OADA55kB,GAAOiyjB,MAAM,4DACN,CAAP,EAAOtmrB,QAAQC,QAAQ6tsB,IASxB,GANAz5kB,GAAOiyjB,MAAM,4DAILtqrB,EAAwBsB,KAAIwvrB,OAA5BA,OAAI,IAAA9wrB,EAAGgyrB,GAAAA,KAAYhyrB,IAEyB,oBAAhC8wrB,EAAKohB,uBAExB,MAAO,CAAP,EAAO5wsB,KAAK6wsB,8BAGR7wsB,KAAK0wsB,WAAWF,KAASxwsB,KAAK2wsB,aAA/B,YACH55kB,GAAOiyjB,MAAM,gEAEC,gCAAMwG,EAAKshB,8BACR,OADVC,EAAO1jsB,EAAAzJ,OACG,GAAM4rrB,EAAKwhB,yBAO3B,OAPMC,EAAU5jsB,EAAAzJ,OACVstsB,EAAeD,EAAQE,aAM7B,GALuB,IAAIzusB,SAAQ,SAACsqD,EAAKqwlB,GACxC0zD,EAAKK,eAAeF,GAAc,SAACt7pB,EAAK7tC,GACvC,OAAO6tC,EAAMynmB,EAAIznmB,GAAOoX,EAAIjlD,EAC7B,GACD,mBACAsF,EAAAzJ,sCAGAmzH,GAAOiyjB,MAAM,6CAA8CuE,gBAG7D,MAAO,CAAP,EAAOiC,EAAKohB,kCAGNpB,EAAAtvsB,UAAAmxsB,sBAAP,SAA6BC,GAC5Bv6kB,GAAOiyjB,MAAM,iCACL,IAAAqW,EAAAiS,EAAAjS,SAAUvW,EAAAwoB,EAAAxoB,KAAM1qqB,EAAAkzrB,EAAAlzrB,MAAOmzrB,EAAAD,EAAAC,YACzB9iB,EAAA6iB,EAAA7iB,WAGNA,EACwC,OAAvC,IAAI3woB,KAAK2woB,GAAY/imB,cACL,IAAb+imB,EACAA,EAEJ,IAAMxkoB,EAAOjqD,KAEb,OADA+2H,GAAOiyjB,MAAM,2CACTyF,GAAa,IAAI3woB,MAAO06E,WAE3BzB,GAAOiyjB,MAAM,qBACNhprB,KAAKwxsB,8BAA8B,CACzCnS,SAAQA,EACRjhrB,MAAKA,EACL0qqB,KAAIA,EACJyoB,YAAWA,EACX9iB,WAAUA,KAKVxkoB,EAAKylpB,iBAAiBrQ,IACqB,oBAApCp1oB,EAAKylpB,iBAAiBrQ,IAE7BtokB,GAAOiyjB,MAAM,wDACNhprB,KAAKyxsB,0BAA0B,CACrCC,eAAgBznpB,EAAKylpB,iBAAiBrQ,GACtCA,SAAQA,EACRvW,KAAIA,MAGL/xjB,GAAOiyjB,MAAM,mCAAoCqW,GACjDr/rB,KAAKw9B,QACE96B,QAAQE,OAAO,mCAGzB,EAEQ4ssB,EAAAtvsB,UAAAuxsB,0BAAR,SAAkC/ysB,GAAlC,IAAAwK,EAAA,KAAoCwosB,EAAAhzsB,EAAAgzsB,eAAgBrS,EAAA3gsB,EAAA2gsB,SAAUvW,EAAApqrB,EAAAoqrB,KAI7D,OAAOgE,GAA8B4kB,EAAgB,GAHhC,KAInBtusB,MAAK,SAAA2E,GAEL,OADAgvH,GAAOiyjB,MAAM,sCAAuCjhrB,GAC7CmB,EAAKsosB,8BAA8B,CACzCnS,SAAQA,EACRjhrB,MAAOrW,EAAKqW,MACZ0qqB,KAAIA,EACJyoB,YAAaxpsB,EAAKwpsB,YAClB9iB,WAAY1mrB,EAAK0mrB,YAEnB,IACCzlrB,OAAM,SAAAjI,GAUN,MARc,kBAANA,GACoD,IAA3DA,EAAEuZ,cAAcmxC,YAAY,gBAAiB1qD,EAAEJ,SAG/CuI,EAAKs0B,QAGNu5F,GAAOiyjB,MAAM,iCAAkCjorB,GACxC2B,QAAQE,OAAO,uCAAyC7B,EAChE,GACF,EAEQyusB,EAAAtvsB,UAAAwwsB,WAAR,SAAmBz5D,GAClB,IAAKA,EAEJ,OADAlghB,GAAOiyjB,MAAM,wCACN,EAERjyjB,GAAOiyjB,MAAM,iCAAkC/xC,GAC/C,IAAM06D,EAAK7zpB,KAAKE,MAMhB,OADQi5lB,EAAA2mD,WACUplkB,WAAam5kB,CAChC,EAEQnC,EAAAtvsB,UAAAywsB,WAAR,WACC,OAAO3wsB,KAAK4xsB,yBAA2B9zpB,KAAKE,KAC7C,EAEcwxpB,EAAAtvsB,UAAA2wsB,wBAAd,4IAcC,OAbA95kB,GAAOiyjB,MAAM,kCACI,QAAbtqrB,EAACsB,KAAKsqrB,eAAO,IAAA5rrB,OAAA,EAAAA,EAAEygsB,kBAGlBn/rB,KAAKsqrB,QAAU9qrB,OAAOa,OACrB,CAAC,EACDL,KAAKsqrB,QACLiV,GAAgBv/rB,KAAKsqrB,SAAW,CAAC,GAAGkF,OAGhCnirB,EACLrN,KAAKsqrB,QADE6U,EAAc9xrB,EAAA8xrB,eAAES,EAAMvyrB,EAAAuyrB,OAAEI,EAAe3yrB,EAAA2yrB,gBAAED,EAAkB1yrB,EAAA0yrB,mBAG/DC,EACI,CAAP,EAAOt9rB,QAAQE,OACd,+DAIGu8rB,EASAY,GAAuBH,GAORvsoB,EAAArzD,KAAmB,GAAMA,KAAK6xsB,yBANjD96kB,GAAOiyjB,MAAM,wDACN,CAAP,EAAOtmrB,QAAQE,OACd,2DAXDm0H,GAAOiyjB,MACN,gEAEM,CAAP,EAAOtmrB,QAAQE,OACd,yEAuDF,OA5CMy6rB,EAAchqoB,EAAKy+oB,YAAcx+oB,EAAA1vD,OAEjCmusB,EAAgBzC,GAA4B,CACjD1P,OAAQG,GAAsBH,IAG3B3oD,OAAc14oB,EACd8+rB,EAKHpmD,EAAcimD,GAJ+C,CAC5DG,WAAUA,EACVF,OAAQ4U,GAEK7U,IAQR8U,EAA0C,kBAAA3vsB,GAAA6G,OAAA,8EACxB,SAAM6osB,EAAcz6pB,KAC1C,IAAIumpB,GAAa,CAChBzG,eAAgB+H,aAalB,OAfQpI,EAAer4rB,EAAAkF,OAItBmzrB,WACD/2rB,KAAK8xsB,YAAc/a,EAUZ,CAAP,EAJuCmG,GALsB,CAC5DC,OAAQ4U,EACR1U,WAAYtG,GAONkb,YAGRh7D,EAAc+6D,IAAsBhpsB,OAAM,SAAM4sC,GAAG,OAAAvzC,GAAA6G,OAAA,iDAClD,MAAM0sC,YAID,CAAP,EAAO51C,KAAKkysB,iBAAiBj7D,EAAa,SAAS,EAAO,MACxD7zoB,MAAK,SAAA4pD,GACL,OAAOA,CACR,IACChkD,OAAM,SAAMjI,GAAC,OAAAsB,GAAA6G,OAAA,2FAID,8BAAXnI,EAAEgG,MACFhG,EAAE4X,UAAY,aAAa0krB,EAAU,eADrC,OAGAtmkB,GAAOiyjB,MAAM,oCACb,GAAMhprB,KAAKmysB,kCAyBX,OAzBAzzsB,EAAAkF,OAEMousB,EAA0C,kBAAA3vsB,GAAA6G,OAAA,8EACxB,SAAM6osB,EAAcz6pB,KAC1C,IAAIumpB,GAAa,CAChBzG,eAAgB+H,aAalB,OAfQpI,EAAer4rB,EAAAkF,OAItBmzrB,WACD/2rB,KAAK8xsB,YAAc/a,EAUZ,CAAP,EAJuCmG,GALsB,CAC5DC,OAAQ4U,EACR1U,WAAYtG,GAONkb,YAGRh7D,EAAc+6D,IAAsBhpsB,OAAM,SAAM4sC,GAAG,OAAAvzC,GAAA6G,OAAA,iDAClD,MAAM0sC,WAGA,CAAP,EAAO51C,KAAKkysB,iBAAiBj7D,EAAa,SAAS,EAAO,cAE1D,MAAO,CAAP,EAAOl2oB,sBAKHyusB,EAAAtvsB,UAAAsxsB,8BAAR,SAAsC/3qB,GAC7B,IAAA4lqB,EAAA5lqB,EAAA4lqB,SAAUjhrB,EAAAqb,EAAArb,MAAOmzrB,EAAA93qB,EAAA83qB,YASnB7zpB,EARU,CACf00pB,OAAQ,sBACRC,SAAU,qBACVC,OAAQ,iBACRC,UAAW,kCAIWlT,IAAaA,EACpC,IAAK3hpB,EACJ,OAAOh7C,QAAQE,OAAO,yCAGvB,IAAMm6rB,EAAS,CAAC,EAChBA,EAAOr/oB,GAAUt/B,EAEX,IAAA1f,EAAA,KAAA4rrB,QAAE6U,EAAAzgsB,EAAAygsB,eAAgBS,EAAAlhsB,EAAAkhsB,OAAQG,EAAArhsB,EAAAqhsB,mBAChC,IAAKZ,EAEJ,OADApokB,GAAOiyjB,MAAM,+CACNtmrB,QAAQE,OAAO,+CAEvB,IAAKm9rB,IAAuBH,EAE3B,OADA7okB,GAAOiyjB,MAAM,wDACNtmrB,QAAQE,OACd,wDAIF,IAAMmvsB,EAAgBzC,GAA4B,CACjD1P,OAAQG,GAAsBH,IAG3B3oD,OAAc14oB,EACdgzsB,EAMHt6D,EAAcimD,GAL+C,CAC5DG,WAAYkU,EACZxU,OAAMA,EACNI,OAAQ4U,GAEK7U,GAOdjmD,EAAcgoD,GALmD,CAChElC,OAAMA,EACNoC,eAAcA,EACdhC,OAAQ4U,GAEK9S,GAEf,OAAOj/rB,KAAKkysB,iBAAiBj7D,EAAa,aAAa,EAAMx9mB,EAC9D,EAEQ+1qB,EAAAtvsB,UAAAsysB,2BAAR,SAAmCvB,GAAnC,IAAA/nsB,EAAA,KACC6tH,GAAOiyjB,MAAM,gCACb,IAAMypB,EAAUxB,EAAQyB,aAAaC,cAC/Bj0sB,EAAA,KAAA4rrB,QAAEsV,EAAAlhsB,EAAAkhsB,OAAQC,EAAAnhsB,EAAAmhsB,WAAYV,EAAAzgsB,EAAAygsB,eAAgBY,EAAArhsB,EAAAqhsB,mBAE5C,IAAKZ,EAEJ,OADApokB,GAAOiyjB,MAAM,+CACNtmrB,QAAQE,OAAO,+CAEvB,IAAKm9rB,IAAuBH,EAE3B,OADA7okB,GAAOiyjB,MAAM,wDACNtmrB,QAAQE,OACd,wDAGF,IACMm6rB,EAAS,CAAC,EAChBA,EAFY,eAAiB6C,EAAS,kBAAoBC,GAE5C4S,EAEd,IAAMV,EAAgBzC,GAA4B,CACjD1P,OAAQG,GAAsBH,IAgEzB3oD,EAvD0C50oB,GAAA6G,OAAA,gGAEvB,SAAMlJ,KAAK6xsB,qCAA7Be,EAAkBv/oB,EAAAzvD,QAGpB,MAGoB,GAAMmusB,EAAcz6pB,KAC1C,IAAIumpB,GAAa,CAChBzG,eAAgB+H,EAChBnI,OAAQ+F,aAHFhG,EAAe1joB,EAAAzvD,OAKtBmzrB,WACD8b,EAAiC9b,mBAQ9B,SAAMgb,EAAcz6pB,KACvB,IAAI2kpB,GAAiC,CACpClF,WAAY6b,GAAmBC,EAC/B7b,OAAQ+F,oBARJr+rB,EAKF20D,EAAAzvD,OAJHyJ,EAAA3O,EAAAixrB,YAAe2H,EAAWjqrB,EAAAiqrB,YAAEC,EAAUlqrB,EAAAkqrB,WAAEC,EAASnqrB,EAAAmqrB,UAAEC,EAAYpqrB,EAAAoqrB,aAGnDqb,EAAiBp0sB,EAAAq4rB,WAQ9B/2rB,KAAK8xsB,YAAcgB,EACfF,GAGH77kB,GAAOiyjB,MACN,sBAAsB4pB,EAAe,+CAElCA,IAAoBE,GACvB/7kB,GAAOiyjB,MACN,sBAAsB4pB,EAAe,oCAIvC,GAAM5ysB,KAAKmysB,2BAZR,aAYH9+oB,EAAAzvD,wBAID,MAAO,CAAP,EAAO,CACN65rB,YAAanG,EACboG,gBAAiBlG,EACjBmG,aAAclG,EACdmG,WAAYrG,EACZ8F,WAAYyV,WAI4B9psB,OAAM,SAAM4sC,GAAG,OAAAvzC,GAAA6G,OAAA,iDACxD,MAAM0sC,WAGP,OAAO51C,KAAKkysB,iBAAiBj7D,EAAa,YAAY,EAAM,KAC7D,EAEQu4D,EAAAtvsB,UAAAgysB,iBAAR,SACCj7D,EACA5kmB,EACA0gqB,EACA5lrB,GAJD,IAAAjkB,EAAA,KAMO+gD,EAAOjqD,KACb,OAAO,IAAI0C,SAAQ,SAACsqD,EAAKqwlB,GACxBpG,EACE7zoB,MAAK,SAAM6zoB,GAAW,OAAA50oB,GAAA6G,OAAA,sFAUtB,GATA6tH,GAAOiyjB,MAAM,gCAAiC/xC,GAC1Cj3oB,KAAK8xsB,cAAgB76D,EAAYomD,aACpCpmD,EAAwB,WAAIj3oB,KAAK8xsB,aAGlC7npB,EAAKwmpB,aAAex5D,EACpBhtlB,EAAKwmpB,aAAasC,cAAgBA,EAClC9opB,EAAK2lpB,oBAAsBv9pB,EAC3B4X,EAAK2npB,yBAA0B,IAAI9zpB,MAAO06E,UArgBvB,IAsgBJ,cAAXnmF,EAAwB,CACrBy2oB,EAAOtprB,OAAOa,OACnB,CAAEgU,GAAIrU,KAAKywsB,aAAapT,YACxBlwqB,EAAK27pB,MAEEuW,EAA6ClyqB,EAAIkyqB,SAAvCjhrB,EAAmC+O,EAAI/O,MAAhCqwqB,EAA4BthqB,EAAIshqB,WAApB8iB,EAAgBpkrB,EAAIokrB,YACzD,IACCvxsB,KAAK8vsB,SAASzub,QACb,4BACA9yP,KAAKhP,UAAU,CACd8/qB,SAAQA,EACRjhrB,MAAKA,EACL0qqB,KAAIA,EACJ2F,WAAUA,EACV8iB,YAAWA,KAGZ,MAAOxwsB,IACRg2H,GAAOiyjB,MAAM,iDAAkDjorB,WAGlD,UAAXsxC,EAAA,MACH,GAAMryC,KAAKgzsB,oBAAoB/7D,EAAYomD,oBAA3C3+rB,EAAAkF,wBAGD,OADAopD,EAAI/C,EAAKwmpB,cACT,cAEAznsB,OAAM,SAAA4sC,GACN,GAAIA,EAIH,OAHAmhF,GAAOiyjB,MAAM,6BAA8B/xC,GAC3ClghB,GAAOiyjB,MAAM,4BAA6BpzoB,QAC1CynmB,EAAIznmB,EAGN,GACF,GACD,EAEO45pB,EAAAtvsB,UAAA4G,IAAP,SAAW2yB,EAAQ4Y,GAClB,MAAe,YAAXA,EACIryC,KAAKwysB,2BAA2B/4qB,GAClB,eAAX4Y,EACHryC,KAAKwxsB,8BAA8B/3qB,GACrB,UAAX4Y,EACHryC,KAAK6wsB,2BAEZ95kB,GAAOiyjB,MAAM,+CACNtmrB,QAAQE,OAAO,kBAExB,EAEa4ssB,EAAAtvsB,UAAAs9B,MAAb,uFACCx9B,KAAKywsB,aAAe,KACpBzwsB,KAAK4vsB,oBAAsB,KAC3B74kB,GAAOiyjB,MAAM,mDACbhprB,KAAK8vsB,SAASnxc,WAAW,wCAIZ6wc,EAAAtvsB,UAAA2xsB,oBAAd,+GACS1S,EAAmBn/rB,KAAKsqrB,QAAO6U,gCAEtC,gCAAMn/rB,KAAK+vsB,qBACX,OADArxsB,EAAAkF,OACO,CAAP,EAAO5D,KAAK8vsB,SAASl+lB,QACpB5xG,KAAKkwsB,gCAAgC/Q,8BAGtCpokB,GAAOiyjB,MAAM,4CAA6CiqB,kCAI9CzD,EAAAtvsB,UAAA8ysB,oBAAd,SAAkC3V,uGACzB8B,EAAmBn/rB,KAAKsqrB,QAAO6U,gCAEtC,gCAAMn/rB,KAAK+vsB,4BAAXrxsB,EAAAkF,OACA5D,KAAK8vsB,SAASzub,QACbrhR,KAAKkwsB,gCAAgC/Q,GACrC9B,kCAGDtmkB,GAAOiyjB,MAAM,mCAAoCkqB,kCAIrC1D,EAAAtvsB,UAAAiysB,uBAAd,6FACShT,EAAmBn/rB,KAAKsqrB,QAAO6U,eACvCpokB,GAAOiyjB,MACN,YAAYhprB,KAAKkwsB,gCAChB/Q,GACA,iBAEFn/rB,KAAK8vsB,SAASnxc,WACb3+P,KAAKkwsB,gCAAgC/Q,eAShCqQ,EAAAtvsB,UAAAizsB,MAAP,SAAal8D,GACZ,MAAO,CACNwmD,YAAaxmD,EAAYwmD,YACzBE,aAAc1mD,EAAY0mD,aAC1BD,gBAAiBzmD,EAAYymD,gBAC7BL,WAAYpmD,EAAYomD,WACxB0V,cAAe97D,EAAY87D,cAE7B,EACDvD,CAAA,CAlmBA,GAomBa7f,GAAc,IAAI6f,GAAiB,MAEhD9e,GAAAA,SAAiBf,mBCjnBV,SAASyjB,GAAWtwsB,EAAOkY,QACd,IAAZA,IAAsBA,EAAU,CAAC,GACrC,IAAI09qB,EAaR,SAA4B51rB,GAExB,GAAIA,GAAsB,MAAbA,EAAM,IAA2B,MAAbA,EAAM,GACnC,OAAOA,EAAMka,OAAO,GAExB,OAAOla,CACX,CAnBqBuwsB,CAAmBvwsB,GACpC,GAXG,SAAyBA,EAAOwwsB,GAMnC,MAL0B,qBAAfA,IAEPA,GACKxwsB,GAAuB,MAAbA,EAAM,IAA2B,MAAbA,EAAM,IAA2B,MAAbA,EAAM,KAEzDwwsB,CACZ,CAIQC,CAAgB7a,EAAY19qB,EAAQs4rB,YACpC,IACI,OAAO/krB,KAAK7O,MAAMg5qB,EACtB,CACA,MAAO33rB,IACH,CAKR,OAAO+B,CACX,CC7CA,IAAI1C,GAAsC,WAStC,OARAA,GAAWZ,OAAOa,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KACzDU,EAAEV,GAAKW,EAAEX,IAEjB,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EAGIk6lB,GAAyB,WACzB,SAASA,EAAQlnjB,EAAS14B,GACtB,IAAI9R,EAAQlJ,KACZA,KAAKwzsB,gBAAkB,GACvBxzsB,KAAKyzsB,qBAAsB,EAC3BzzsB,KAAK0zC,QDNN,SAAsBA,EAAS14B,GAClC,MAAuB,kBAAZ04B,EACAkK,GAAAA,EAAalK,EAAS14B,GAEL,kBAAZ04B,GAAoC,OAAZA,EAC7BA,EAGA,CAAC,CAEhB,CCJuBggqB,CAAahgqB,EAAS14B,GACrC,IAAItY,SAAQ,WACRwG,EAAMuqsB,oBDjBa,kBAAbh+rB,UAAoD,kBAApBA,SAASmoC,MCkBnD,IAAG50C,OAAM,WAAc,GAC3B,CAuDA,OAtDA4xlB,EAAQ16lB,UAAUyzsB,qBAAuB,SAAUC,GAC1C5zsB,KAAKyzsB,sBAGVzzsB,KAAK0zC,QAAUkK,GAAAA,EAAanoC,SAASmoC,OAAQg2pB,GACjD,EACAh5G,EAAQ16lB,UAAU2zsB,YAAc,SAAUp6qB,GACtC,IAAK,IAAIj5B,EAAI,EAAGA,EAAIR,KAAKwzsB,gBAAgB7ysB,SAAUH,EAC/CR,KAAKwzsB,gBAAgBhzsB,GAAGi5B,EAEhC,EACAmhkB,EAAQ16lB,UAAU0G,IAAM,SAAUG,EAAMiU,EAAS44rB,GAG7C,YAFgB,IAAZ54rB,IAAsBA,EAAU,CAAC,GACrChb,KAAK2zsB,qBAAqBC,GACnBR,GAAWpzsB,KAAK0zC,QAAQ3sC,GAAOiU,EAC1C,EACA4/kB,EAAQ16lB,UAAU4zsB,OAAS,SAAU94rB,EAAS44rB,QAC1B,IAAZ54rB,IAAsBA,EAAU,CAAC,GACrChb,KAAK2zsB,qBAAqBC,GAC1B,IAAI1wsB,EAAS,CAAC,EACd,IAAK,IAAIwpE,KAAU1sE,KAAK0zC,QACpBxwC,EAAOwpE,GAAU0moB,GAAWpzsB,KAAK0zC,QAAQg5B,GAAS1xD,GAEtD,OAAO9X,CACX,EACA03lB,EAAQ16lB,UAAU4G,IAAM,SAAUC,EAAMjE,EAAOkY,GAC3C,IAAItc,EACiB,kBAAVoE,IACPA,EAAQyrB,KAAKhP,UAAUzc,IAE3B9C,KAAK0zC,QAAUtzC,GAASA,GAAS,CAAC,EAAGJ,KAAK0zC,WAAWh1C,EAAK,CAAC,GAAMqI,GAAQjE,EAAOpE,IAC5EsB,KAAKyzsB,sBACLh+rB,SAASmoC,OAASA,GAAAA,EAAiB72C,EAAMjE,EAAOkY,IAEpDhb,KAAK6zsB,YAAY,CAAE9ssB,KAAMA,EAAMjE,MAAOA,EAAOkY,QAASA,GAC1D,EACA4/kB,EAAQ16lB,UAAU6T,OAAS,SAAUhN,EAAMiU,GACvC,IAAI+4rB,EAAgB/4rB,EAAU5a,GAASA,GAAS,CAAC,EAAG4a,GAAU,CAAEyiC,QAAS,IAAIK,KAAK,KAAM,EAAG,EAAG,EAAG,EAAG,GAAIqX,OAAQ,IAChHn1D,KAAK0zC,QAAUtzC,GAAS,CAAC,EAAGJ,KAAK0zC,gBAC1B1zC,KAAK0zC,QAAQ3sC,GAChB/G,KAAKyzsB,sBACLh+rB,SAASmoC,OAASA,GAAAA,EAAiB72C,EAAM,GAAIgtsB,IAEjD/zsB,KAAK6zsB,YAAY,CAAE9ssB,KAAMA,EAAMjE,WAAOvE,EAAWyc,QAASA,GAC9D,EACA4/kB,EAAQ16lB,UAAU8zsB,kBAAoB,SAAU7jsB,GAC5CnQ,KAAKwzsB,gBAAgBlvsB,KAAK6L,EAC9B,EACAyqlB,EAAQ16lB,UAAU+zsB,qBAAuB,SAAU9jsB,GAC/C,IAAI2lH,EAAM91H,KAAKwzsB,gBAAgBxysB,QAAQmP,GACnC2lH,GAAO,GACP91H,KAAKwzsB,gBAAgBlgsB,OAAOwiH,EAAK,EAEzC,EACO8ke,CACX,CAjE6B,GCZ7B,GD8EA,GE1EQvxiB,GAAAojoB,KAAApjoB,UAOR6qpB,GAAA,WAIC,SAAAA,EAAYhjsB,QAAA,IAAAA,IAAAA,EAAA,IAHZ,KAAAwiC,QAAU,IAAIknjB,GACd,KAAAx4c,MAAe/4F,GAAYhrD,OAAO0iR,aAAevhR,OAAOW,OAAO,MAG9DH,KAAK0zC,QAAUxiC,EAAQ4mkB,IACpB,IAAI8iB,GAAQ1plB,EAAQ4mkB,IAAIzjiB,QAAQuJ,QAChC,IAAIg9iB,GAEPp7lB,OAAOa,OAAOL,KAAKoiJ,MAAOpiJ,KAAK0zC,QAAQogqB,SACxC,CA8FD,OA5FCt0sB,OAAAqC,eAAIqysB,EAAAh0sB,UAAA,SAAM,KAAV,WACC,OAAOV,OAAOib,QAAQza,KAAKoiJ,OAAOzhJ,MACnC,kCAEAuzsB,EAAAh0sB,UAAAs9B,MAAA,eAAAt0B,EAAA,KACCvJ,MAAM2K,KAAK,IAAI3K,MAAMK,KAAKW,SACxB9B,KAAI,SAAC6E,EAAGlD,GAAM,OAAA0I,EAAK5H,IAAId,EAAT,IACd0P,SAAQ,SAAA5O,GAAO,OAAA4H,EAAKy1P,WAAWr9P,EAAhB,GAClB,EAEA4ysB,EAAAh0sB,UAAA0xG,QAAA,SAAQtwG,GACP,OAAOtB,KAAKm0sB,aAAa7ysB,EAC1B,EAEU4ysB,EAAAh0sB,UAAAi0sB,aAAV,SAAuB7ysB,GACtB,OAAO9B,OAAOU,UAAUL,eAAee,KAAKZ,KAAKoiJ,MAAO9gJ,GACrDtB,KAAKoiJ,MAAM9gJ,GACX,IACJ,EAEU4ysB,EAAAh0sB,UAAAk0sB,iBAAV,SAA2B9ysB,GAC1B,OAAOtB,KAAK0zC,QAAQ9sC,IAAItF,EACzB,EAEA4ysB,EAAAh0sB,UAAAoB,IAAA,SAAIyb,GACH,OAAOvd,OAAOgR,KAAKxQ,KAAKoiJ,OAAOrlI,EAChC,EAEAm3rB,EAAAh0sB,UAAAy+P,WAAA,SAAWr9P,GACVtB,KAAKq0sB,gBAAgB/ysB,GACrBtB,KAAKs0sB,oBAAoBhzsB,EAC1B,EAEU4ysB,EAAAh0sB,UAAAm0sB,gBAAV,SAA0B/ysB,UAClBtB,KAAKoiJ,MAAM9gJ,EACnB,EAEU4ysB,EAAAh0sB,UAAAo0sB,oBAAV,SAA8BhzsB,GAC7BtB,KAAK0zC,QAAQ3/B,OAAOzS,EAAK,CACxB47B,KAAM,KAER,EAEAg3qB,EAAAh0sB,UAAAmhR,QAAA,SAAQ//Q,EAAkBwB,GACzB9C,KAAKu0sB,aAAajzsB,EAAKwB,GAKvB,IAAM0xsB,EAAYlzsB,EAAIwR,MAAM,KAAKzO,MAEP,CACzB,eACA,cAGA,eAEA,WAQqB2qD,SAAkB,OAATwlpB,QAAS,IAATA,EAAAA,EAAa,KAC3Cx0sB,KAAKy0sB,iBAAiBnzsB,EAAKwB,EAAO,CACjC26C,QAAS,IAAIK,KAAKA,KAAKE,MAlFJ,UAqFtB,EAEUk2pB,EAAAh0sB,UAAAq0sB,aAAV,SAAuBjzsB,EAAkBwB,GACxC9C,KAAKoiJ,MAAM9gJ,GAAOwB,CACnB,EAEUoxsB,EAAAh0sB,UAAAu0sB,iBAAV,SACCnzsB,EACAwB,EACAkY,QAAA,IAAAA,IAAAA,EAAA,IAEAhb,KAAK0zC,QAAQ5sC,IAAIxF,EAAKwB,EAAK1C,GAAAA,GAAA,GACvB4a,GAAO,CACVkiB,KAAM,IAENo4B,UAAU,EAEV3X,QACC0L,IAA0C,cAA7BhrD,OAAOkgC,SAASogB,WAEhC,EACDu1pB,CAAA,CAxGA,GCPA,ICLInqsB,GDKA2qsB,GAAqC,WASvC,SAASA,EAAsB3ssB,GAC7B,IAAI6S,EAAO7S,GAAQ,CAAC,EAClB4ssB,EAAiB/5rB,EAAK+5rB,eACtBC,EAAWh6rB,EAAKg6rB,SAChBC,EAAWj6rB,EAAKi6rB,SAChBC,EAAiBl6rB,EAAKk6rB,eACtBC,EAAiBn6rB,EAAKm6rB,eACxB/0sB,KAAK0rT,eAAiBipZ,GAAkB,CAAC,EACzC30sB,KAAKg1sB,eAAiBF,GAAkB,CAAC,EACzC90sB,KAAKi1sB,eAAiBF,GAAkB,CAAC,EACzC/0sB,KAAK+0C,SAAW6/pB,EAChB50sB,KAAK+/B,SAAW80qB,CAClB,CAKA,IAAIj5rB,EAAS84rB,EAAsBx0sB,UAgCnC,OA/BA0b,EAAOs5rB,YAAc,WACnB,OAAOl1sB,KAAK+0C,QACd,EAKAn5B,EAAOu5rB,YAAc,WACnB,OAAOn1sB,KAAK+/B,QACd,EAKAnkB,EAAOw5rB,kBAAoB,WACzB,OAAOp1sB,KAAK0rT,cACd,EAKA9vS,EAAOy5rB,kBAAoB,WACzB,OAAOr1sB,KAAKg1sB,cACd,EAKAp5rB,EAAO05rB,kBAAoB,WACzB,OAAOt1sB,KAAKi1sB,cACd,EACOP,CACT,CA3DyC,eCW1B,SAASl3oB,KACtB,GAAIzzD,GAAQ,CAEV,GAAsC,oBAA3BA,GAAOpL,gBAChB,IACE,OAAOoL,GAAOpL,gBAAgB,IAAI6N,YAAY,IAAI,EACpD,CAAE,MAAOopC,GAAM,CAIjB,GAAkC,oBAAvB7rC,GAAO0zD,YAChB,IACE,OAAO1zD,GAAO0zD,YAAY,GAAG5M,aAC/B,CAAE,MAAOjb,GAAM,CAEnB,CACA,MAAM,IAAIjtC,MAAM,sEAClB,CA9BsB,qBAAXtK,QAA0BA,OAAO0L,SAC1CA,GAAS1L,OAAO0L,SAIbA,IAA4B,qBAAX1L,QAA0BA,OAAOG,WACrDuL,GAAS1L,OAAOG,UCclB,ICsCI+2sB,GDtCA38oB,GAAyB,WAC3B,SAASA,EAAUzB,EAAOE,GACxBF,EAAQn3D,KAAKm3D,MAAQA,GAAS,GAE5Bn3D,KAAKq3D,cADS94D,GAAZ84D,EACcA,EAEe,EAAfF,EAAMx2D,MAE1B,CACA,IAAIib,EAASg9C,EAAU14D,UAWvB,OAVA0b,EAAOwhD,OAAS,SAAgBmB,GAE9B,IADA,IAAIpH,EAAQ,GACH32D,EAAI,EAAGA,EAAI+9D,EAAQ/9D,GAAK,EAC/B22D,EAAM7yD,KAAKk5D,MAEb,OAAO,IAAI5E,EAAUzB,EAAOoH,EAC9B,EACA3iD,EAAOpM,SAAW,WAChB,OAhCJ,SAAsBwuD,GAOpB,IALA,IAAI7G,EAAQ6G,EAAU7G,MAClBE,EAAW2G,EAAU3G,SAGrBmH,EAAW,GACNh+D,EAAI,EAAGA,EAAI62D,EAAU72D,IAAK,CACjC,IAAIi+D,EAAOtH,EAAM32D,IAAM,KAAO,GAAKA,EAAI,EAAI,EAAI,IAC/Cg+D,EAASl6D,MAAMm6D,IAAS,GAAGjvD,SAAS,KACpCgvD,EAASl6D,MAAa,GAAPm6D,GAAajvD,SAAS,IACvC,CACA,OAAOgvD,EAAS/uD,KAAK,GACvB,CAmBW+lsB,CAAax1sB,KACtB,EACO44D,CACT,CArB6B,eCN7B,MAkCA,SAAS68oB,GAAWtwsB,EAAG5F,GACZ,MAAL4F,GAAWnF,KAAKyqD,WAAWtlD,EAAG5F,EACpC,CAGA,SAASm2sB,KACP,OAAO,IAAID,GAAW,KACxB,CAwDA,IAAIE,GAAiC,qBAAdv3pB,UACnBu3pB,IAA0C,+BAArBv3pB,UAAU2ne,SACjC0vL,GAAWv1sB,UAAU60L,GA9BvB,SAAav0L,EAAGogB,EAAG2iF,EAAGn+F,EAAG5D,EAAGf,GAG1B,IAFA,IAAIwjC,EAAS,MAAJrjB,EACP03K,EAAK13K,GAAK,KACHngB,GAAK,GAAG,CACf,IAAIulC,EAAc,MAAVhmC,KAAKQ,GACTmoB,EAAI3oB,KAAKQ,MAAQ,GACjBiE,EAAI6zL,EAAKtyJ,EAAIrd,EAAIsb,EAErBziC,IADAwkC,EAAI/B,EAAK+B,IAAU,MAAJvhC,IAAe,IAAM8+F,EAAEn+F,IAAU,WAAJ5D,MACjC,KAAOiD,IAAM,IAAM6zL,EAAK3vK,GAAKnnB,IAAM,IAC9C+hG,EAAEn+F,KAAW,WAAJ4gC,CACX,CACA,OAAOxkC,CACT,EAmBE+zsB,GAAQ,IACCI,IAA0C,YAArBv3pB,UAAU2ne,SACxC0vL,GAAWv1sB,UAAU60L,GA5CvB,SAAav0L,EAAGogB,EAAG2iF,EAAGn+F,EAAG5D,EAAGf,GAC1B,OAASA,GAAK,GAAG,CACf,IAAIyD,EAAI0c,EAAI5gB,KAAKQ,KAAO+iG,EAAEn+F,GAAK5D,EAC/BA,EAAI8J,KAAKC,MAAMrH,EAAI,UACnBq/F,EAAEn+F,KAAW,SAAJlB,CACX,CACA,OAAO1C,CACT,EAsCE+zsB,GAAQ,KAGRE,GAAWv1sB,UAAU60L,GAtBvB,SAAav0L,EAAGogB,EAAG2iF,EAAGn+F,EAAG5D,EAAGf,GAG1B,IAFA,IAAIwjC,EAAS,MAAJrjB,EACP03K,EAAK13K,GAAK,KACHngB,GAAK,GAAG,CACf,IAAIulC,EAAc,MAAVhmC,KAAKQ,GACTmoB,EAAI3oB,KAAKQ,MAAQ,GACjBiE,EAAI6zL,EAAKtyJ,EAAIrd,EAAIsb,EAErBziC,IADAwkC,EAAI/B,EAAK+B,IAAU,MAAJvhC,IAAe,IAAM8+F,EAAEn+F,GAAK5D,IACjC,KAAOiD,GAAK,IAAM6zL,EAAK3vK,EACjC46E,EAAEn+F,KAAW,UAAJ4gC,CACX,CACA,OAAOxkC,CACT,EAWE+zsB,GAAQ,IAEVE,GAAWv1sB,UAAU01sB,GAAKL,GAC1BE,GAAWv1sB,UAAU21sB,IAAM,GAAKN,IAAS,EACzCE,GAAWv1sB,UAAU41sB,GAAK,GAAKP,GAE/BE,GAAWv1sB,UAAU61sB,GAAKzqsB,KAAKmB,IAAI,EADvB,IAEZgpsB,GAAWv1sB,UAAU81sB,GAFT,GAEsBT,GAClCE,GAAWv1sB,UAAU+1sB,GAAK,EAAIV,GAHlB,GAMZ,IAEIW,GAAIC,GAFJC,GAAQ,uCACRC,GAAQ,IAAI12sB,MAGhB,IADAu2sB,GAAK,IAAIxnsB,WAAW,GACfynsB,GAAK,EAAGA,IAAM,IAAKA,GAAIE,GAAMH,MAAQC,GAE1C,IADAD,GAAK,IAAIxnsB,WAAW,GACfynsB,GAAK,GAAIA,GAAK,KAAMA,GAAIE,GAAMH,MAAQC,GAE3C,IADAD,GAAK,IAAIxnsB,WAAW,GACfynsB,GAAK,GAAIA,GAAK,KAAMA,GAAIE,GAAMH,MAAQC,GAC3C,SAASG,GAAS71sB,GAChB,OAAO21sB,GAAMjxqB,OAAO1kC,EACtB,CACA,SAAS81sB,GAAMh2sB,EAAGC,GAChB,IAAIgB,EAAI60sB,GAAM91sB,EAAEmO,WAAWlO,IAC3B,OAAY,MAALgB,GAAa,EAAIA,CAC1B,CAiBA,SAASg1sB,GAAIh2sB,GACX,IAAIiB,EAAIi0sB,KAER,OADAj0sB,EAAEg1sB,QAAQj2sB,GACHiB,CACT,CA6FA,SAASi1sB,GAAM91rB,GACb,IACEtgB,EADEmB,EAAI,EAsBR,OApBsB,IAAjBnB,EAAIsgB,IAAM,MACbA,EAAItgB,EACJmB,GAAK,IAEa,IAAfnB,EAAIsgB,GAAK,KACZA,EAAItgB,EACJmB,GAAK,GAEa,IAAfnB,EAAIsgB,GAAK,KACZA,EAAItgB,EACJmB,GAAK,GAEa,IAAfnB,EAAIsgB,GAAK,KACZA,EAAItgB,EACJmB,GAAK,GAEa,IAAfnB,EAAIsgB,GAAK,KACZA,EAAItgB,EACJmB,GAAK,GAEAA,CACT,CAuSA,SAASk1sB,GAAWlysB,GAClBzE,KAAKyE,EAAIA,EACTzE,KAAK42sB,GAAKnysB,EAAEoysB,WACZ72sB,KAAK82sB,IAAgB,MAAV92sB,KAAK42sB,GAChB52sB,KAAK+2sB,IAAM/2sB,KAAK42sB,IAAM,GACtB52sB,KAAKg3sB,IAAM,GAAKvysB,EAAEmxsB,GAAK,IAAM,EAC7B51sB,KAAKi3sB,IAAM,EAAIxysB,EAAEnE,CACnB,CC9jBA,SAASm9D,GAAYc,GACnB,OAAO7wD,GAAAA,GAAAA,MAAY,IAAIkrD,IAAYwE,OAAOmB,GAAQ/uD,WAAY,MAChE,CDinBAmnsB,GAAWz2sB,UAAUulmB,QAlDrB,SAAqB7klB,GACnB,IAAInf,EAAIi0sB,KAIR,OAHA90rB,EAAEpE,MAAM06rB,UAAUl3sB,KAAKyE,EAAEnE,EAAGmB,GAC5BA,EAAE01sB,SAASn3sB,KAAKyE,EAAG,KAAMhD,GACrBmf,EAAErgB,EAAI,GAAKkB,EAAE21sB,UAAU3B,GAAW4B,MAAQ,GAAGr3sB,KAAKyE,EAAE6ysB,MAAM71sB,EAAGA,GAC1DA,CACT,EA6CAk1sB,GAAWz2sB,UAAUogT,OA1CrB,SAAoB1/R,GAClB,IAAInf,EAAIi0sB,KAGR,OAFA90rB,EAAE22rB,OAAO91sB,GACTzB,KAAK0a,OAAOjZ,GACLA,CACT,EAsCAk1sB,GAAWz2sB,UAAUwa,OAnCrB,SAAoBkG,GAClB,KAAOA,EAAEtgB,GAAKN,KAAKi3sB,KAEnBr2rB,EAAEA,EAAEtgB,KAAO,EACX,IAAK,IAAIE,EAAI,EAAGA,EAAIR,KAAKyE,EAAEnE,IAAKE,EAAG,CAEjC,IAAI4E,EAAW,MAAPwb,EAAEpgB,GACNg3sB,EAAKpysB,EAAIpF,KAAK82sB,MAAQ1xsB,EAAIpF,KAAK+2sB,KAAOn2rB,EAAEpgB,IAAM,IAAMR,KAAK82sB,IAAM92sB,KAAKg3sB,KAAO,IAAMp2rB,EAAEi1rB,GAKvF,IAFAj1rB,EADAxb,EAAI5E,EAAIR,KAAKyE,EAAEnE,IACPN,KAAKyE,EAAEswL,GAAG,EAAGyihB,EAAI52rB,EAAGpgB,EAAG,EAAGR,KAAKyE,EAAEnE,GAElCsgB,EAAExb,IAAMwb,EAAEk1rB,IACfl1rB,EAAExb,IAAMwb,EAAEk1rB,GACVl1rB,IAAIxb,IAER,CACAwb,EAAEmkB,QACFnkB,EAAE62rB,UAAUz3sB,KAAKyE,EAAEnE,EAAGsgB,GAClBA,EAAEw2rB,UAAUp3sB,KAAKyE,IAAM,GAAGmc,EAAE02rB,MAAMt3sB,KAAKyE,EAAGmc,EAChD,EAgBA+1rB,GAAWz2sB,UAAU2viB,MAPrB,SAAmBjvhB,EAAGpd,EAAG/B,GACvBmf,EAAE82rB,WAAWl0sB,EAAG/B,GAChBzB,KAAK0a,OAAOjZ,EACd,EAKAk1sB,GAAWz2sB,UAAUy3sB,MAdrB,SAAmB/2rB,EAAGnf,GACpBmf,EAAEg3rB,SAASn2sB,GACXzB,KAAK0a,OAAOjZ,EACd,EA0FAg0sB,GAAWv1sB,UAAUq3sB,OA7jBrB,SAAmB91sB,GACjB,IAAK,IAAIjB,EAAIR,KAAKM,EAAI,EAAGE,GAAK,IAAKA,EAAGiB,EAAEjB,GAAKR,KAAKQ,GAClDiB,EAAEnB,EAAIN,KAAKM,EACXmB,EAAElB,EAAIP,KAAKO,CACb,EA0jBAk1sB,GAAWv1sB,UAAUu2sB,QAvjBrB,SAAoB71rB,GAClB5gB,KAAKM,EAAI,EACTN,KAAKO,EAAIqgB,EAAI,GAAK,EAAI,EAClBA,EAAI,EAAG5gB,KAAK,GAAK4gB,EAAWA,GAAK,EAAG5gB,KAAK,GAAK4gB,EAAI5gB,KAAK81sB,GAAQ91sB,KAAKM,EAAI,CAC9E,EAojBAm1sB,GAAWv1sB,UAAUuqD,WA1iBrB,SAAuBlqD,EAAGhB,GACxB,IAAImF,EACJ,GAAS,IAALnF,EAASmF,EAAI,OAAO,GAAS,GAALnF,EAAQmF,EAAI,OAAO,GAAS,GAALnF,EAAQmF,EAAI,OAAO,GAAS,IAALnF,EAASmF,EAAI,MAAO,IAAS,GAALnF,EAAmB,MAAM,IAAIoJ,MAAM,4CAA3BjE,EAAI,CAAkE,CAChL1E,KAAKM,EAAI,EACTN,KAAKO,EAAI,EAIT,IAHA,IAAIC,EAAID,EAAEI,OACRu/K,GAAK,EACL66c,EAAK,IACEv6nB,GAAK,GAAG,CACf,IAAIogB,EAAI21rB,GAAMh2sB,EAAGC,GACbogB,EAAI,EACa,KAAfrgB,EAAE4kC,OAAO3kC,KAAW0/K,GAAK,IAG/BA,GAAK,EACK,GAAN66c,EAAS/6nB,KAAKA,KAAKM,KAAOsgB,EAAWm6mB,EAAKr2nB,EAAI1E,KAAK41sB,IACrD51sB,KAAKA,KAAKM,EAAI,KAAOsgB,GAAK,GAAK5gB,KAAK41sB,GAAK76E,GAAM,IAAMA,EACrD/6nB,KAAKA,KAAKM,KAAOsgB,GAAK5gB,KAAK41sB,GAAK76E,GAC3B/6nB,KAAKA,KAAKM,EAAI,IAAMsgB,GAAKm6mB,GAChCA,GAAMr2nB,IACI1E,KAAK41sB,KAAI76E,GAAM/6nB,KAAK41sB,IAChC,CACA51sB,KAAK+kC,QACDm7I,GAAIu1hB,GAAW4B,KAAKC,MAAMt3sB,KAAMA,KACtC,EAmhBAy1sB,GAAWv1sB,UAAU6kC,MAhhBrB,WAEE,IADA,IAAIvjC,EAAIxB,KAAKO,EAAIP,KAAK61sB,GACf71sB,KAAKM,EAAI,GAAKN,KAAKA,KAAKM,EAAI,IAAMkB,KAAKxB,KAAKM,CACrD,EA8gBAm1sB,GAAWv1sB,UAAUg3sB,UAjbrB,SAAsBz2sB,EAAGgB,GACvB,IAAIjB,EACJ,IAAKA,EAAIR,KAAKM,EAAI,EAAGE,GAAK,IAAKA,EAAGiB,EAAEjB,EAAIC,GAAKT,KAAKQ,GAClD,IAAKA,EAAIC,EAAI,EAAGD,GAAK,IAAKA,EAAGiB,EAAEjB,GAAK,EACpCiB,EAAEnB,EAAIN,KAAKM,EAAIG,EACfgB,EAAElB,EAAIP,KAAKO,CACb,EA4aAk1sB,GAAWv1sB,UAAUu3sB,UAzarB,SAAsBh3sB,EAAGgB,GACvB,IAAK,IAAIjB,EAAIC,EAAGD,EAAIR,KAAKM,IAAKE,EAAGiB,EAAEjB,EAAIC,GAAKT,KAAKQ,GACjDiB,EAAEnB,EAAIgL,KAAK25B,IAAIjlC,KAAKM,EAAIG,EAAG,GAC3BgB,EAAElB,EAAIP,KAAKO,CACb,EAsaAk1sB,GAAWv1sB,UAAU23sB,SAnarB,SAAqBp3sB,EAAGgB,GACtB,IAKEjB,EALEy7K,EAAKx7K,EAAIT,KAAK41sB,GACdkC,EAAM93sB,KAAK41sB,GAAK35hB,EAChBF,GAAM,GAAK+7hB,GAAO,EAClBC,EAAKzssB,KAAKC,MAAM9K,EAAIT,KAAK41sB,IAC3Bp0sB,EAAIxB,KAAKO,GAAK07K,EAAKj8K,KAAK61sB,GAE1B,IAAKr1sB,EAAIR,KAAKM,EAAI,EAAGE,GAAK,IAAKA,EAC7BiB,EAAEjB,EAAIu3sB,EAAK,GAAK/3sB,KAAKQ,IAAMs3sB,EAAMt2sB,EACjCA,GAAKxB,KAAKQ,GAAKu7K,IAAOE,EAExB,IAAKz7K,EAAIu3sB,EAAK,EAAGv3sB,GAAK,IAAKA,EAAGiB,EAAEjB,GAAK,EACrCiB,EAAEs2sB,GAAMv2sB,EACRC,EAAEnB,EAAIN,KAAKM,EAAIy3sB,EAAK,EACpBt2sB,EAAElB,EAAIP,KAAKO,EACXkB,EAAEsjC,OACJ,EAoZA0wqB,GAAWv1sB,UAAU83sB,SAjZrB,SAAqBv3sB,EAAGgB,GACtBA,EAAElB,EAAIP,KAAKO,EACX,IAAIw3sB,EAAKzssB,KAAKC,MAAM9K,EAAIT,KAAK41sB,IAC7B,GAAImC,GAAM/3sB,KAAKM,EACbmB,EAAEnB,EAAI,MADR,CAIA,IAAI27K,EAAKx7K,EAAIT,KAAK41sB,GACdkC,EAAM93sB,KAAK41sB,GAAK35hB,EAChBF,GAAM,GAAKE,GAAM,EACrBx6K,EAAE,GAAKzB,KAAK+3sB,IAAO97hB,EACnB,IAAK,IAAIz7K,EAAIu3sB,EAAK,EAAGv3sB,EAAIR,KAAKM,IAAKE,EACjCiB,EAAEjB,EAAIu3sB,EAAK,KAAO/3sB,KAAKQ,GAAKu7K,IAAO+7hB,EACnCr2sB,EAAEjB,EAAIu3sB,GAAM/3sB,KAAKQ,IAAMy7K,EAErBA,EAAK,IAAGx6K,EAAEzB,KAAKM,EAAIy3sB,EAAK,KAAO/3sB,KAAKO,EAAIw7K,IAAO+7hB,GACnDr2sB,EAAEnB,EAAIN,KAAKM,EAAIy3sB,EACft2sB,EAAEsjC,OAXF,CAYF,EAgYA0wqB,GAAWv1sB,UAAUo3sB,MA7XrB,SAAkBnysB,EAAG1D,GAInB,IAHA,IAAIjB,EAAI,EACNgB,EAAI,EACJiD,EAAI6G,KAAK05B,IAAI7/B,EAAE7E,EAAGN,KAAKM,GAClBE,EAAIiE,GACTjD,GAAKxB,KAAKQ,GAAK2E,EAAE3E,GACjBiB,EAAEjB,KAAOgB,EAAIxB,KAAK61sB,GAClBr0sB,IAAMxB,KAAK41sB,GAEb,GAAIzwsB,EAAE7E,EAAIN,KAAKM,EAAG,CAEhB,IADAkB,GAAK2D,EAAE5E,EACAC,EAAIR,KAAKM,GACdkB,GAAKxB,KAAKQ,GACViB,EAAEjB,KAAOgB,EAAIxB,KAAK61sB,GAClBr0sB,IAAMxB,KAAK41sB,GAEbp0sB,GAAKxB,KAAKO,CACZ,KAAO,CAEL,IADAiB,GAAKxB,KAAKO,EACHC,EAAI2E,EAAE7E,GACXkB,GAAK2D,EAAE3E,GACPiB,EAAEjB,KAAOgB,EAAIxB,KAAK61sB,GAClBr0sB,IAAMxB,KAAK41sB,GAEbp0sB,GAAK2D,EAAE5E,CACT,CACAkB,EAAElB,EAAIiB,EAAI,GAAK,EAAI,EACfA,GAAK,EAAGC,EAAEjB,KAAOR,KAAK81sB,GAAKt0sB,EAAWA,EAAI,IAAGC,EAAEjB,KAAOgB,GAC1DC,EAAEnB,EAAIE,EACNiB,EAAEsjC,OACJ,EAgWA0wqB,GAAWv1sB,UAAUw3sB,WA5VrB,SAAuBvysB,EAAG1D,GACxB,IAAImf,EAAI5gB,KAAKwc,MACXhZ,EAAI2B,EAAEqX,MACJhc,EAAIogB,EAAEtgB,EAEV,IADAmB,EAAEnB,EAAIE,EAAIgD,EAAElD,IACHE,GAAK,GAAGiB,EAAEjB,GAAK,EACxB,IAAKA,EAAI,EAAGA,EAAIgD,EAAElD,IAAKE,EAAGiB,EAAEjB,EAAIogB,EAAEtgB,GAAKsgB,EAAEm0K,GAAG,EAAGvxL,EAAEhD,GAAIiB,EAAGjB,EAAG,EAAGogB,EAAEtgB,GAChEmB,EAAElB,EAAI,EACNkB,EAAEsjC,QACE/kC,KAAKO,GAAK4E,EAAE5E,GAAGk1sB,GAAW4B,KAAKC,MAAM71sB,EAAGA,EAC9C,EAmVAg0sB,GAAWv1sB,UAAU03sB,SAhVrB,SAAqBn2sB,GAGnB,IAFA,IAAImf,EAAI5gB,KAAKwc,MACThc,EAAIiB,EAAEnB,EAAI,EAAIsgB,EAAEtgB,IACXE,GAAK,GAAGiB,EAAEjB,GAAK,EACxB,IAAKA,EAAI,EAAGA,EAAIogB,EAAEtgB,EAAI,IAAKE,EAAG,CAC5B,IAAIgB,EAAIof,EAAEm0K,GAAGv0L,EAAGogB,EAAEpgB,GAAIiB,EAAG,EAAIjB,EAAG,EAAG,IAC9BiB,EAAEjB,EAAIogB,EAAEtgB,IAAMsgB,EAAEm0K,GAAGv0L,EAAI,EAAG,EAAIogB,EAAEpgB,GAAIiB,EAAG,EAAIjB,EAAI,EAAGgB,EAAGof,EAAEtgB,EAAIE,EAAI,KAAOogB,EAAEk1rB,KAC3Er0sB,EAAEjB,EAAIogB,EAAEtgB,IAAMsgB,EAAEk1rB,GAChBr0sB,EAAEjB,EAAIogB,EAAEtgB,EAAI,GAAK,EAErB,CACImB,EAAEnB,EAAI,IAAGmB,EAAEA,EAAEnB,EAAI,IAAMsgB,EAAEm0K,GAAGv0L,EAAGogB,EAAEpgB,GAAIiB,EAAG,EAAIjB,EAAG,EAAG,IACtDiB,EAAElB,EAAI,EACNkB,EAAEsjC,OACJ,EAmUA0wqB,GAAWv1sB,UAAUi3sB,SA/TrB,SAAqB1ysB,EAAGgB,EAAGhE,GACzB,IAAIw2sB,EAAKxzsB,EAAE+X,MACX,KAAIy7rB,EAAG33sB,GAAK,GAAZ,CACA,IAAI+rC,EAAKrsC,KAAKwc,MACd,GAAI6vB,EAAG/rC,EAAI23sB,EAAG33sB,EAGZ,OAFS,MAALmF,GAAWA,EAAEgxsB,QAAQ,QAChB,MAALh1sB,GAAWzB,KAAKu3sB,OAAO91sB,IAGpB,MAALA,IAAWA,EAAIi0sB,MACnB,IAAIlysB,EAAIkysB,KACN/D,EAAK3xsB,KAAKO,EACV0/H,EAAKx7H,EAAElE,EACL23sB,EAAMl4sB,KAAK41sB,GAAKc,GAAMuB,EAAGA,EAAG33sB,EAAI,IAEhC43sB,EAAM,GACRD,EAAGJ,SAASK,EAAK10sB,GACjB6oC,EAAGwrqB,SAASK,EAAKz2sB,KAEjBw2sB,EAAGV,OAAO/zsB,GACV6oC,EAAGkrqB,OAAO91sB,IAEZ,IAAI02sB,EAAK30sB,EAAElD,EACP83sB,EAAK50sB,EAAE20sB,EAAK,GAChB,GAAU,GAANC,EAAJ,CACA,IAAI3pK,EAAK2pK,GAAM,GAAKp4sB,KAAKg2sB,KAAOmC,EAAK,EAAI30sB,EAAE20sB,EAAK,IAAMn4sB,KAAKi2sB,GAAK,GAC5DoC,EAAKr4sB,KAAK+1sB,GAAKtnK,EACjB6pK,GAAM,GAAKt4sB,KAAKg2sB,IAAMvnK,EACtB1tiB,EAAI,GAAKf,KAAKi2sB,GACZz1sB,EAAIiB,EAAEnB,EACR8E,EAAI5E,EAAI23sB,EACR73sB,EAAS,MAALmF,EAAYiwsB,KAAQjwsB,EAS1B,IARAjC,EAAE0zsB,UAAU9xsB,EAAG9E,GACXmB,EAAE21sB,UAAU92sB,IAAM,IACpBmB,EAAEA,EAAEnB,KAAO,EACXmB,EAAE61sB,MAAMh3sB,EAAGmB,IAEbg0sB,GAAW8C,IAAIrB,UAAUiB,EAAI73sB,GAC7BA,EAAEg3sB,MAAM9zsB,EAAGA,GAEJA,EAAElD,EAAI63sB,GAAI30sB,EAAEA,EAAElD,KAAO,EAC5B,OAAS8E,GAAK,GAAG,CAEf,IAAIsknB,EAAKjonB,IAAIjB,IAAM43sB,EAAKp4sB,KAAK61sB,GAAKvqsB,KAAKC,MAAM9J,EAAEjB,GAAK63sB,GAAM52sB,EAAEjB,EAAI,GAAKO,GAAKu3sB,GAC1E,IAAK72sB,EAAEjB,IAAMgD,EAAEuxL,GAAG,EAAG20b,EAAIjonB,EAAG2D,EAAG,EAAG+ysB,IAAOzuF,EAIvC,IAFAlmnB,EAAE0zsB,UAAU9xsB,EAAG9E,GACfmB,EAAE61sB,MAAMh3sB,EAAGmB,GACJA,EAAEjB,KAAOkpnB,GAAIjonB,EAAE61sB,MAAMh3sB,EAAGmB,EAEnC,CACS,MAALgE,IACFhE,EAAEg2sB,UAAUU,EAAI1ysB,GACZkssB,GAAM1xkB,GAAIw1kB,GAAW4B,KAAKC,MAAM7xsB,EAAGA,IAEzChE,EAAEnB,EAAI63sB,EACN12sB,EAAEsjC,QACEmzqB,EAAM,GAAGz2sB,EAAEu2sB,SAASE,EAAKz2sB,GAEzBkwsB,EAAK,GAAG8D,GAAW4B,KAAKC,MAAM71sB,EAAGA,EAnClB,CAtBE,CA0DvB,EAoQAg0sB,GAAWv1sB,UAAU22sB,SAhPrB,WACE,GAAI72sB,KAAKM,EAAI,EAAG,OAAO,EACvB,IAAIsgB,EAAI5gB,KAAK,GACb,GAAe,IAAN,EAAJ4gB,GAAa,OAAO,EACzB,IAAIpd,EAAQ,EAAJod,EAaR,OAHApd,GAJAA,GAFAA,GAFAA,EAAIA,GAAK,GAAS,GAAJod,GAAWpd,GAAK,KAErB,GAAS,IAAJod,GAAYpd,GAAK,MAEtB,IAAU,MAAJod,GAAcpd,EAAI,QAAW,QAInC,EAAIod,EAAIpd,EAAIxD,KAAK81sB,IAAM91sB,KAAK81sB,IAG1B,EAAI91sB,KAAK81sB,GAAKtysB,GAAKA,CAChC,EA+NAiysB,GAAWv1sB,UAAUs4sB,MAzNrB,SAAkBrzsB,EAAG1D,GAInB,IAHA,IAAIjB,EAAI,EACNgB,EAAI,EACJiD,EAAI6G,KAAK05B,IAAI7/B,EAAE7E,EAAGN,KAAKM,GAClBE,EAAIiE,GACTjD,GAAKxB,KAAKQ,GAAK2E,EAAE3E,GACjBiB,EAAEjB,KAAOgB,EAAIxB,KAAK61sB,GAClBr0sB,IAAMxB,KAAK41sB,GAEb,GAAIzwsB,EAAE7E,EAAIN,KAAKM,EAAG,CAEhB,IADAkB,GAAK2D,EAAE5E,EACAC,EAAIR,KAAKM,GACdkB,GAAKxB,KAAKQ,GACViB,EAAEjB,KAAOgB,EAAIxB,KAAK61sB,GAClBr0sB,IAAMxB,KAAK41sB,GAEbp0sB,GAAKxB,KAAKO,CACZ,KAAO,CAEL,IADAiB,GAAKxB,KAAKO,EACHC,EAAI2E,EAAE7E,GACXkB,GAAK2D,EAAE3E,GACPiB,EAAEjB,KAAOgB,EAAIxB,KAAK61sB,GAClBr0sB,IAAMxB,KAAK41sB,GAEbp0sB,GAAK2D,EAAE5E,CACT,CACAkB,EAAElB,EAAIiB,EAAI,GAAK,EAAI,EACfA,EAAI,EAAGC,EAAEjB,KAAOgB,EAAWA,GAAK,IAAGC,EAAEjB,KAAOR,KAAK81sB,GAAKt0sB,GAC1DC,EAAEnB,EAAIE,EACNiB,EAAEsjC,OACJ,EA8LA0wqB,GAAWv1sB,UAAUsP,SAvhBrB,SAAoBjQ,GAClB,GAAIS,KAAKO,EAAI,EAAG,MAAO,IAAMP,KAAKw8I,SAAShtI,SAASjQ,GACpD,IAAImF,EACJ,GAAS,IAALnF,EAASmF,EAAI,OAAO,GAAS,GAALnF,EAAQmF,EAAI,OAAO,GAAS,GAALnF,EAAQmF,EAAI,OAAO,GAAS,IAALnF,EAASmF,EAAI,MAAO,IAAS,GAALnF,EAAmB,MAAM,IAAIoJ,MAAM,4CAA3BjE,EAAI,CAAkE,CAChL,IACEpF,EADEg3L,GAAM,GAAK5xL,GAAK,EAElBD,GAAI,EACJhD,EAAI,GACJjB,EAAIR,KAAKM,EACPV,EAAII,KAAK41sB,GAAKp1sB,EAAIR,KAAK41sB,GAAKlxsB,EAChC,GAAIlE,KAAM,EAKR,IAJIZ,EAAII,KAAK41sB,KAAOt2sB,EAAIU,KAAKQ,IAAMZ,GAAK,IACtC6E,GAAI,EACJhD,EAAI60sB,GAASh3sB,IAERkB,GAAK,GACNZ,EAAI8E,GACNpF,GAAKU,KAAKQ,IAAM,GAAKZ,GAAK,IAAM8E,EAAI9E,EACpCN,GAAKU,OAAOQ,KAAOZ,GAAKI,KAAK41sB,GAAKlxsB,KAElCpF,EAAIU,KAAKQ,KAAOZ,GAAK8E,GAAK4xL,EACtB12L,GAAK,IACPA,GAAKI,KAAK41sB,KACRp1sB,IAGFlB,EAAI,IAAGmF,GAAI,GACXA,IAAGhD,GAAK60sB,GAASh3sB,IAGzB,OAAOmF,EAAIhD,EAAI,GACjB,EAyfAg0sB,GAAWv1sB,UAAUs8I,OAtfrB,WACE,IAAI/6I,EAAIi0sB,KAER,OADAD,GAAW4B,KAAKC,MAAMt3sB,KAAMyB,GACrBA,CACT,EAmfAg0sB,GAAWv1sB,UAAUsc,IAhfrB,WACE,OAAOxc,KAAKO,EAAI,EAAIP,KAAKw8I,SAAWx8I,IACtC,EA+eAy1sB,GAAWv1sB,UAAUk3sB,UA5erB,SAAqBjysB,GACnB,IAAI1D,EAAIzB,KAAKO,EAAI4E,EAAE5E,EACnB,GAAS,GAALkB,EAAQ,OAAOA,EACnB,IAAIjB,EAAIR,KAAKM,EAEb,GAAS,IADTmB,EAAIjB,EAAI2E,EAAE7E,GACE,OAAON,KAAKO,EAAI,GAAKkB,EAAIA,EACrC,OAASjB,GAAK,MAA+B,IAAvBiB,EAAIzB,KAAKQ,GAAK2E,EAAE3E,IAAU,OAAOiB,EACvD,OAAO,CACT,EAqeAg0sB,GAAWv1sB,UAAUwsiB,UAvcrB,WACE,OAAI1siB,KAAKM,GAAK,EAAU,EACjBN,KAAK41sB,IAAM51sB,KAAKM,EAAI,GAAKo2sB,GAAM12sB,KAAKA,KAAKM,EAAI,GAAKN,KAAKO,EAAIP,KAAK61sB,GACzE,EAqcAJ,GAAWv1sB,UAAUkG,IA1QrB,SAAejB,GACb,IAAI1D,EAAIi0sB,KAGR,OAFA11sB,KAAKwc,MAAM26rB,SAAShysB,EAAG,KAAM1D,GACzBzB,KAAKO,EAAI,GAAKkB,EAAE21sB,UAAU3B,GAAW4B,MAAQ,GAAGlysB,EAAEmysB,MAAM71sB,EAAGA,GACxDA,CACT,EAsQAg0sB,GAAWv1sB,UAAUwuD,OAvOrB,SAAkBvpD,GAChB,OAA4B,GAArBnF,KAAKo3sB,UAAUjysB,EACxB,EAsOAswsB,GAAWv1sB,UAAU4T,IAlMrB,SAAe3O,GACb,IAAI1D,EAAIi0sB,KAER,OADA11sB,KAAKw4sB,MAAMrzsB,EAAG1D,GACPA,CACT,EA+LAg0sB,GAAWv1sB,UAAU8kjB,SA5LrB,SAAoB7/iB,GAClB,IAAI1D,EAAIi0sB,KAER,OADA11sB,KAAKs3sB,MAAMnysB,EAAG1D,GACPA,CACT,EAyLAg0sB,GAAWv1sB,UAAUu4sB,SAtLrB,SAAoBtzsB,GAClB,IAAI1D,EAAIi0sB,KAER,OADA11sB,KAAK03sB,WAAWvysB,EAAG1D,GACZA,CACT,EAmLAg0sB,GAAWv1sB,UAAUw4sB,OAhLrB,SAAkBvzsB,GAChB,IAAI1D,EAAIi0sB,KAER,OADA11sB,KAAKm3sB,SAAShysB,EAAG1D,EAAG,MACbA,CACT,EA6KAg0sB,GAAWv1sB,UAAUy4sB,OAvGrB,SAAkB53sB,EAAG0D,EAAG0L,GACtB,IACEzL,EADElE,EAAIO,EAAE2riB,YAERjriB,EAAI+0sB,GAAI,GACR31rB,EAAI,IAAI81rB,GAAWlysB,GACrB,GAAIjE,GAAK,EAAG,OAAOiB,EAAmBiD,EAARlE,EAAI,GAAQ,EAAWA,EAAI,GAAQ,EAAWA,EAAI,IAAS,EAAWA,EAAI,IAAS,EAAW,EAG5H,IAAIiD,EAAI,IAAI9D,MACVc,EAAI,EACJ+tjB,EAAK9pjB,EAAI,EACT4xL,GAAM,GAAK5xL,GAAK,EAElB,GADAjB,EAAE,GAAKod,EAAE4klB,QAAQzlmB,MACb0E,EAAI,EAAG,CACT,IAAIk0sB,EAAKlD,KAET,IADA70rB,EAAE82rB,MAAMl0sB,EAAE,GAAIm1sB,GACPn4sB,GAAK61L,GACV7yL,EAAEhD,GAAKi1sB,KACP70rB,EAAEgvhB,MAAM+oK,EAAIn1sB,EAAEhD,EAAI,GAAIgD,EAAEhD,IACxBA,GAAK,CAET,CACA,IACE8iG,EAGAjjG,EAJE8E,EAAIrE,EAAET,EAAI,EAEZu4sB,GAAM,EACNlkK,EAAK+gK,KAGP,IADAl1sB,EAAIk2sB,GAAM31sB,EAAEqE,IAAM,EACXA,GAAK,GAAG,CAMb,IALI5E,GAAKgujB,EAAIjrd,EAAIxiG,EAAEqE,IAAM5E,EAAIgujB,EAAKl4X,GAChC/yF,GAAKxiG,EAAEqE,IAAM,GAAK5E,EAAI,GAAK,IAAMgujB,EAAKhujB,EAClC4E,EAAI,IAAGm+F,GAAKxiG,EAAEqE,EAAI,IAAMpF,KAAK41sB,GAAKp1sB,EAAIgujB,IAE5C/tjB,EAAIiE,EACc,IAAN,EAAJ6+F,IACNA,IAAM,IACJ9iG,EAMJ,IAJKD,GAAKC,GAAK,IACbD,GAAKR,KAAK41sB,KACRxwsB,GAEAyzsB,EAEFp1sB,EAAE8/F,GAAGg0mB,OAAO91sB,GACZo3sB,GAAM,MACD,CACL,KAAOp4sB,EAAI,GACTogB,EAAE82rB,MAAMl2sB,EAAGkziB,GACX9zhB,EAAE82rB,MAAMhjK,EAAIlziB,GACZhB,GAAK,EAEHA,EAAI,EAAGogB,EAAE82rB,MAAMl2sB,EAAGkziB,IACpBr0iB,EAAImB,EACJA,EAAIkziB,EACJA,EAAKr0iB,GAEPugB,EAAEgvhB,MAAM8E,EAAIlxiB,EAAE8/F,GAAI9hG,EACpB,CACA,KAAO2D,GAAK,GAAwB,IAAlBrE,EAAEqE,GAAK,GAAK5E,IAC5BqgB,EAAE82rB,MAAMl2sB,EAAGkziB,GACXr0iB,EAAImB,EACJA,EAAIkziB,EACJA,EAAKr0iB,IACCE,EAAI,IACRA,EAAIR,KAAK41sB,GAAK,IACZxwsB,EAGR,CACA,IAAIlC,EAAS2d,EAAEy/R,OAAO7+S,GAEtB,OADA0O,EAAS,KAAMjN,GACRA,CACT,EAiCAuysB,GAAW4B,KAAOb,GAAI,GACtBf,GAAW8C,IAAM/B,GAAI,GC7tBrB,IAAIsC,GAAgB,YAKhBC,GAAoC,WAKtC,SAASA,EAAqBC,GAC5Bh5sB,KAAKwyhB,EAAI,IAAIijL,GAVL,mwBAUuB,IAC/Bz1sB,KAAKyD,EAAI,IAAIgysB,GAAW,IAAK,IAC7Bz1sB,KAAK0E,EAAI,IAAI+wsB,GAAWz1sB,KAAKi5sB,QAAQ,GAAKj5sB,KAAKk5sB,OAAOl5sB,KAAKwyhB,GAAKxyhB,KAAKk5sB,OAAOl5sB,KAAKyD,IAAK,IACtFzD,KAAKm5sB,YAAcn5sB,KAAKo5sB,uBACxBp5sB,KAAKq5sB,gBAAe,WAAa,IACjCr5sB,KAAKs5sB,SAAW5rsB,GAAAA,GAAAA,KAAY,sBAAuB,QACnD1N,KAAKu5sB,SAAWP,CAClB,CAKA,IAAIp9rB,EAASm9rB,EAAqB74sB,UAwSlC,OAvSA0b,EAAO49rB,eAAiB,WACtB,OAAOx5sB,KAAKm5sB,WACd,EAMAv9rB,EAAOy9rB,eAAiB,SAAwBlpsB,GAC9C,IAAIjH,EAAQlJ,KACRA,KAAKy5sB,YACPtpsB,EAAS,KAAMnQ,KAAKy5sB,aAEpBz5sB,KAAK05sB,WAAW15sB,KAAKm5sB,aAAa,SAAUvjqB,EAAK6jqB,GAC3C7jqB,GACFzlC,EAASylC,EAAK,MAEhB1sC,EAAMuwsB,YAAcA,EACpBtpsB,EAAS,KAAMjH,EAAMuwsB,YACvB,GAEJ,EAOA79rB,EAAOw9rB,qBAAuB,WAE5B,IAAIO,EAAYl8oB,GAAY,KAAKjuD,SAAS,OAK1C,OAJmB,IAAIimsB,GAAWkE,EAAW,GAK/C,EAOA/9rB,EAAOg+rB,qBAAuB,WAC5B,OAAOn8oB,GAAY,IAAIjuD,SAAS,SAClC,EAKAoM,EAAOi+rB,kBAAoB,WACzB,OAAO75sB,KAAK85sB,cACd,EAKAl+rB,EAAOm+rB,eAAiB,WACtB,OAAO/5sB,KAAKg6sB,iBACd,EAKAp+rB,EAAOq+rB,mBAAqB,WAC1B,OAAOj6sB,KAAKk6sB,eACd,EASAt+rB,EAAOu+rB,mBAAqB,SAA4BC,EAAgBrlqB,EAAU5kC,GAChF,IAAIwB,EAAS3R,KACbA,KAAK85sB,eAAiB95sB,KAAK45sB,uBAC3B,IAAIS,EAAiB,GAAKD,EAAiBrlqB,EAAW,IAAM/0C,KAAK85sB,eAC7DQ,EAAet6sB,KAAKgH,KAAKqzsB,GACzBV,EAAYl8oB,GAAY,IAAIjuD,SAAS,OAGzCxP,KAAKg6sB,kBAAoBh6sB,KAAKk5sB,OAAO,IAAIzD,GAAWkE,EAAW,KAC/D35sB,KAAKyD,EAAEk1sB,OAAO,IAAIlD,GAAWz1sB,KAAKi5sB,QAAQj5sB,KAAKg6sB,kBAAoBM,GAAe,IAAKt6sB,KAAKwyhB,GAAG,SAAU58e,EAAK2kqB,GACxG3kqB,GACFzlC,EAASylC,EAAK,MAEhBjkC,EAAOuosB,gBAAkBvosB,EAAOunsB,OAAOqB,GACvCpqsB,EAAS,KAAM,KACjB,GACF,EAUAyL,EAAO89rB,WAAa,SAAoBv0sB,EAAGgL,GACzC,IAAI6B,EAAShS,KACbA,KAAKyD,EAAEk1sB,OAAOxzsB,EAAGnF,KAAKwyhB,GAAG,SAAU58e,EAAKo5c,GAClCp5c,GACFzlC,EAASylC,EAAK,MAEZo5c,EAAE5of,IAAI4L,EAAOwghB,GAAG9je,OAAO+mpB,GAAW4B,OACpClnsB,EAAS,IAAIxH,MAAM,2CAA4C,MAEjEwH,EAAS,KAAM6+e,EACjB,GACF,EASApze,EAAO4+rB,WAAa,SAAoBxrN,EAAG0jC,GAGzC,OAFA1yhB,KAAKy6sB,SAAWz6sB,KAAKi5sB,QAAQj5sB,KAAKk5sB,OAAOlqN,GAAKhvf,KAAKk5sB,OAAOxmL,IAC7C,IAAI+iL,GAAWz1sB,KAAKy6sB,SAAU,GAE7C,EAQA7+rB,EAAO5U,KAAO,SAAc6kD,GAC1B,IAAI6upB,EAAgB,IAAIjzsB,GAAAA,OACxBizsB,EAAc5ysB,OAAO+jD,GACrB,IAAI8upB,EAAsBD,EAAc1tsB,aACpC4tsB,EAAUltsB,GAAAA,GAAAA,KAAYitsB,GAAqBnrsB,SAAS,OACxD,OAAO,IAAI7P,MAAM,GAAKi7sB,EAAQj6sB,QAAQ8O,KAAK,KAAOmrsB,CACpD,EAQAh/rB,EAAOq9rB,QAAU,SAAiBv6oB,GAChC,OAAO1+D,KAAKgH,KAAK0G,GAAAA,GAAAA,KAAYgxD,EAAQ,OACvC,EASA9iD,EAAOi/rB,YAAc,SAAqBC,EAAKr+oB,GAC7C,IAAIs+oB,EAAiBrtsB,GAAAA,GAAAA,OAAc,CAAC1N,KAAKs5sB,SAAU5rsB,GAAAA,GAAAA,KAAYyB,OAAOC,aAAa,GAAI,UACnFsrsB,EAAgB,IAAIjzsB,GAAAA,OAAOg1D,GAC/Bi+oB,EAAc5ysB,OAAOgzsB,GACrB,IAAIE,EAAyBN,EAAc1tsB,aACvCiusB,EAAoB,IAAIxzsB,GAAAA,OAAOuzsB,GAKnC,OAJAC,EAAkBnzsB,OAAOizsB,GACKE,EAAkBjusB,aAEVmQ,MAAM,EAAG,GAEjD,EAWAvB,EAAOs/rB,6BAA+B,SAAsCnmqB,EAAUhV,EAAUo7qB,EAAc1+oB,EAAMtsD,GAClH,IAAI+B,EAASlS,KACb,GAAIm7sB,EAAa/0sB,IAAIpG,KAAKwyhB,GAAG9je,OAAO+mpB,GAAW4B,MAC7C,MAAM,IAAI1usB,MAAM,qBAGlB,GADA3I,KAAKo7sB,OAASp7sB,KAAKw6sB,WAAWx6sB,KAAKy5sB,YAAa0B,GAC5Cn7sB,KAAKo7sB,OAAO1spB,OAAO+mpB,GAAW4B,MAChC,MAAM,IAAI1usB,MAAM,qBAElB,IAAI0ysB,EAAmB,GAAKr7sB,KAAKu5sB,SAAWxkqB,EAAW,IAAMhV,EACzDu7qB,EAAuBt7sB,KAAKgH,KAAKq0sB,GACjC1/jB,EAAS,IAAI85jB,GAAWz1sB,KAAKi5sB,QAAQj5sB,KAAKk5sB,OAAOz8oB,GAAQ6+oB,GAAuB,IACpFt7sB,KAAKu7sB,WAAW5/jB,EAAQw/jB,GAAc,SAAUvlqB,EAAK4lqB,GAC/C5lqB,GACFzlC,EAASylC,EAAK,MAEhB,IAAI6lqB,EAAOvpsB,EAAO2osB,YAAYntsB,GAAAA,GAAAA,KAAYwE,EAAOgnsB,OAAOsC,GAAS,OAAQ9tsB,GAAAA,GAAAA,KAAYwE,EAAOgnsB,OAAOhnsB,EAAOkpsB,QAAS,QACnHjrsB,EAAS,KAAMsrsB,EACjB,GACF,EASA7/rB,EAAO2/rB,WAAa,SAAoB5/jB,EAAQw/jB,EAAchrsB,GAC5D,IAAIsC,EAASzS,KACbA,KAAKyD,EAAEk1sB,OAAOh9jB,EAAQ37I,KAAKwyhB,GAAG,SAAU58e,EAAK8lqB,GACvC9lqB,GACFzlC,EAASylC,EAAK,MAEAulqB,EAAan2J,SAASvyiB,EAAO/N,EAAE+zsB,SAASiD,IAC9C/C,OAAOlmsB,EAAO0msB,YAAYrlsB,IAAIrB,EAAO2osB,OAAO3C,SAAS98jB,IAAUlpI,EAAO+/gB,GAAG,SAAUmpL,EAAMz4sB,GAC7Fy4sB,GACFxrsB,EAASwrsB,EAAM,MAEjBxrsB,EAAS,KAAMjN,EAAOkD,IAAIqM,EAAO+/gB,GACnC,GACF,GACF,EAMA52gB,EAAOggsB,mDAAqD,WAC1D,MA3PkD,iBA4PpD,EA4BAhgsB,EAAOs9rB,OAAS,SAAgB2C,GAC9B,KAAMA,aAAkBpG,IACtB,MAAM,IAAI9ssB,MAAM,oBAElB,IAAImzH,EAAa+/kB,EAAOzE,UAAU3B,GAAW4B,MAAQ,EAGjD34oB,EAASm9oB,EAAOr/rB,MAAMhN,SAAS,IAOnC,GAJAkvD,EAASA,EAAO/9D,OAAS,IAAM,EAAI,IAAM+9D,EAASA,EAGlDA,EAASo6oB,GAAcn3qB,KAAK+8B,GAAU,KAAOA,EAASA,EAClDo9D,EAAY,CAEd,IAAIgglB,EAAkBp9oB,EAAO5rD,MAAM,IAAIjU,KAAI,SAAU+hB,GACnD,IAAIm7rB,EAAoC,IAAlBx2qB,SAAS3kB,EAAG,IAClC,MAAO,mBAAmBukB,OAAO42qB,EACnC,IAAGtssB,KAAK,KAIRivD,EADoB,IAAI+2oB,GAAWqG,EAAiB,IAAIhosB,IAAI2hsB,GAAW8C,KAChD/osB,SAAS,KAQrBoiC,cAAcwhC,WAAW,SAClC1U,EAASA,EAAOh5B,UAAU,GAE9B,CACA,OAAOg5B,CACT,EACOq6oB,CACT,CA3TwC,GCrBpCiD,GAA+B,WAKjC,SAASA,EAAgB59rB,GAEvBpe,KAAKi8sB,SAAW79rB,GAAS,GACzBpe,KAAKi+C,QAAUj+C,KAAKk8sB,eACtB,CAKA,IAAItgsB,EAASogsB,EAAgB97sB,UA8B7B,OA7BA0b,EAAO+2rB,YAAc,WACnB,OAAO3ysB,KAAKi8sB,QACd,EAKArgsB,EAAOugsB,cAAgB,WACrB,OAAOn8sB,KAAKi+C,QAAQ4zjB,GACtB,EAKAj2lB,EAAOwgsB,YAAc,WACnB,OAAOp8sB,KAAKi+C,QAAQo+pB,GACtB,EAKAzgsB,EAAOsgsB,cAAgB,WACrB,IAAIj+pB,EAAUj+C,KAAKi8sB,SAASnpsB,MAAM,KAAK,GACvC,IACE,OAAOyb,KAAK7O,MAAMhS,GAAAA,GAAAA,KAAYuwC,EAAS,UAAUzuC,SAAS,QAC5D,CAAE,MAAOomC,GACP,MAAO,CAAC,CACV,CACF,EACOomqB,CACT,CA7CmC,GCPnC,SAASh5D,GAAgBx+oB,EAAG5E,GAA6I,OAAxIojpB,GAAkBxjpB,OAAOC,eAAiBD,OAAOC,eAAe+jC,OAAS,SAAyBh/B,EAAG5E,GAAsB,OAAjB4E,EAAE9E,UAAYE,EAAU4E,CAAG,EAAUw+oB,GAAgBx+oB,EAAG5E,EAAI,CASvM,IAAI08sB,GAAkC,SAAUC,GAVhD,IAAwB55D,EAAUC,EAgBhC,SAAS05D,EAAmBE,GAC1B,IACEC,QADmB,IAAVD,EAAmB,CAAC,EAAIA,GACdC,YACrB,OAAOF,EAAiB37sB,KAAKZ,KAAMy8sB,GAAe,KAAOz8sB,IAC3D,CACA,OArBgC4ipB,EAWG25D,GAXb55D,EAWP25D,GAXwCp8sB,UAAYV,OAAOW,OAAOyipB,EAAW1ipB,WAAYyipB,EAASzipB,UAAUD,YAAc0ipB,EAAUK,GAAgBL,EAAUC,GAqBtK05D,CACT,CAZsC,CAYpCN,ICrBF,SAASh5D,GAAgBx+oB,EAAG5E,GAA6I,OAAxIojpB,GAAkBxjpB,OAAOC,eAAiBD,OAAOC,eAAe+jC,OAAS,SAAyBh/B,EAAG5E,GAAsB,OAAjB4E,EAAE9E,UAAYE,EAAU4E,CAAG,EAAUw+oB,GAAgBx+oB,EAAG5E,EAAI,CASvM,IAAI88sB,GAA8B,SAAUH,GAV5C,IAAwB55D,EAAUC,EAgBhC,SAAS85D,EAAeF,GACtB,IACEG,QADmB,IAAVH,EAAmB,CAAC,EAAIA,GAClBG,QACjB,OAAOJ,EAAiB37sB,KAAKZ,KAAM28sB,GAAW,KAAO38sB,IACvD,CACA,OArBgC4ipB,EAWD25D,GAXT55D,EAWP+5D,GAXwCx8sB,UAAYV,OAAOW,OAAOyipB,EAAW1ipB,WAAYyipB,EAASzipB,UAAUD,YAAc0ipB,EAAUK,GAAgBL,EAAUC,GAqBtK85D,CACT,CAZkC,CAYhCV,ICjBEY,GAAmC,WAKrC,SAASA,EAAoBJ,GAC3B,IACEK,QADmB,IAAVL,EAAmB,CAAC,EAAIA,GACbK,aAEtB78sB,KAAKoe,MAAQy+rB,GAAgB,EAC/B,CASA,OAJaD,EAAoB18sB,UAC1B48sB,SAAW,WAChB,OAAO98sB,KAAKoe,KACd,EACOw+rB,CACT,CApBuC,GCAnC1N,GAAkB,oBACXC,GAAW,CACpB9wpB,UAAW6wpB,GAAkB,MAC7BpvpB,QAAS,GACT1B,UAAW,KACXgxpB,eAAe,GAEjB,GAAyB,qBAAdhxpB,WAA6BA,UAAU0B,QAGhD,GAFAqvpB,GAASrvpB,QAAU1B,UAAU0B,SAAW,GACxCqvpB,GAAS/wpB,UAAYA,WAAa,KAE3B,gBADCA,UAAU0B,QAEdqvpB,GAAS9wpB,UAAY6wpB,GAAkB,gBACvCC,GAASC,eAAgB,OAGzBD,GAAS9wpB,UAAY6wpB,GAAkB,MACvCC,GAASC,eAAgB,EAIxB,ICrBH2N,GAAkC,WAQpC,SAASA,EAAmBP,GAC1B,IAAI5hsB,OAAiB,IAAV4hsB,EAAmB,CAAC,EAAIA,EACjCG,EAAU/hsB,EAAK+hsB,QACfE,EAAejisB,EAAKiisB,aACpBJ,EAAc7hsB,EAAK6hsB,YACnBO,EAAapisB,EAAKoisB,WACpB,GAAmB,MAAfP,GAAkC,MAAXE,EACzB,MAAM,IAAIh0sB,MAAM,8CAElB3I,KAAKyysB,QAAUkK,EACf38sB,KAAKmxsB,aAAe0L,EACpB78sB,KAAKgvrB,YAAcytB,EACnBz8sB,KAAKi9sB,gBAA4B1+sB,IAAfy+sB,EAA2Bh9sB,KAAKk9sB,sBAAwBF,CAC5E,CAKA,IAAIphsB,EAASmhsB,EAAmB78sB,UA6ChC,OA5CA0b,EAAO82rB,WAAa,WAClB,OAAO1ysB,KAAKyysB,OACd,EAKA72rB,EAAOuhsB,gBAAkB,WACvB,OAAOn9sB,KAAKmxsB,YACd,EAKAv1rB,EAAOwhsB,eAAiB,WACtB,OAAOp9sB,KAAKgvrB,WACd,EAKApzqB,EAAOyhsB,cAAgB,WACrB,OAAOr9sB,KAAKi9sB,UACd,EAKArhsB,EAAOshsB,oBAAsB,WAG3B,OAFU5xsB,KAAKC,MAAM,IAAIuyC,KAAS,KACxBxyC,KAAK05B,IAAIhlC,KAAKgvrB,YAAYotB,cAAep8sB,KAAKyysB,QAAQ2J,cAElE,EAOAxgsB,EAAOgpD,QAAU,WACf,IACI04oB,EADMhysB,KAAKC,MAAM,IAAIuyC,KAAS,KACb99C,KAAKi9sB,WAC1B,OAAOK,EAAWt9sB,KAAKgvrB,YAAYmtB,iBAAmBmB,EAAWt9sB,KAAKyysB,QAAQ0J,eAChF,EACOY,CACT,CAxEsC,GCAlC5vhB,GAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FowhB,GAAY,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAGvDC,GAA0B,WAC5B,SAASA,IAAc,CA4BvB,OA3BaA,EAAWt9sB,UAIjBu9sB,aAAe,WACpB,IAAIz/pB,EAAM,IAAIF,KACV4/pB,EAAUH,GAAUv/pB,EAAI4ogB,aACxB1mhB,EAAQitJ,GAAWnvI,EAAI6sf,eACvBj/c,EAAM5tC,EAAI8sf,aACVrva,EAAQz9E,EAAI+sf,cACZtva,EAAQ,KACVA,EAAQ,IAAMA,GAEhB,IAAIE,EAAU39E,EAAIgtf,gBACdrva,EAAU,KACZA,EAAU,IAAMA,GAElB,IAAIC,EAAU59E,EAAIitf,gBAQlB,OAPIrva,EAAU,KACZA,EAAU,IAAMA,GAKJ8hlB,EAAU,IAAMx9qB,EAAQ,IAAM0rD,EAAM,IAAM6vC,EAAQ,IAAME,EAAU,IAAMC,EAAU,QAHrF59E,EAAI4sf,gBAKjB,EACO4yK,CACT,CA9B8B,GCJ1BG,GAAoC,WAMtC,SAASA,EAAqBnB,GAC5B,IAAI5hsB,OAAiB,IAAV4hsB,EAAmB,CAAC,EAAIA,EACjC7nM,EAAO/5f,EAAK+5f,KACZE,EAAQj6f,EAAKi6f,MACf70gB,KAAK20gB,KAAOA,GAAQ,GACpB30gB,KAAK60gB,MAAQA,GAAS,EACxB,CAKA,IAAIj5f,EAAS+hsB,EAAqBz9sB,UAgDlC,OA/CA0b,EAAO4tB,SAAW,WAChB,OAAOxpC,KAAK60gB,KACd,EAOAj5f,EAAOkjB,SAAW,SAAkBh8B,GAElC,OADA9C,KAAK60gB,MAAQ/xgB,EACN9C,IACT,EAKA4b,EAAOovH,QAAU,WACf,OAAOhrI,KAAK20gB,IACd,EAOA/4f,EAAO0yN,QAAU,SAAiBvnO,GAEhC,OADA/G,KAAK20gB,KAAO5tgB,EACL/G,IACT,EAKA4b,EAAOpM,SAAW,WAChB,OAAO+e,KAAKhP,UAAUvf,KACxB,EAKA4b,EAAOi/B,OAAS,WACd,MAAO,CACL85d,KAAM30gB,KAAK20gB,KACXE,MAAO70gB,KAAK60gB,MAEhB,EACO8oM,CACT,CAlEwC,GCApCtxB,GAAa,CAAC,EAGPC,GAA6B,WACtC,SAASA,IAAiB,CAuC1B,OAhCAA,EAAcjra,QAAU,SAAiB//Q,EAAKwB,GAE5C,OADAuprB,GAAW/qrB,GAAOwB,EACXuprB,GAAW/qrB,EACpB,EAQAgrrB,EAAc16kB,QAAU,SAAiBtwG,GACvC,OAAO9B,OAAOU,UAAUL,eAAee,KAAKyrrB,GAAY/qrB,GAAO+qrB,GAAW/qrB,QAAO/C,CACnF,EAOA+trB,EAAc3tb,WAAa,SAAoBr9P,GAC7C,cAAc+qrB,GAAW/qrB,EAC3B,EAMAgrrB,EAAc9upB,MAAQ,WAEpB,OADA6upB,GAAa,CAAC,CAEhB,EACOC,CACT,CAzCwC,GA4CpCC,GAA6B,WAK/B,SAASA,IACP,IACEvsrB,KAAKwsrB,cAAgBnurB,OAAO0iR,aAC5B/gR,KAAKwsrB,cAAcnra,QAAQ,sBAAuB,GAClDrhR,KAAKwsrB,cAAc7tb,WAAW,sBAChC,CAAE,MAAOgjZ,GACP3hpB,KAAKwsrB,cAAgBF,EACvB,CACF,CAUA,OAJaC,EAAcrsrB,UACpB2gR,WAAa,WAClB,OAAO7gR,KAAKwsrB,aACd,EACOD,CACT,CAxBiC,GCM7BluoB,GAD4C,qBAAdD,UACK+wpB,GAAAA,cAAyB,eAAiB/wpB,UAAUC,UAAY,SAGnGu/pB,GAA2B,WAQ7B,SAASA,EAAY71sB,GACnB,GAAY,MAARA,GAAiC,MAAjBA,EAAK6ssB,UAAiC,MAAb7ssB,EAAK81sB,KAChD,MAAM,IAAIl1sB,MAAM,+CAElB3I,KAAK+0C,SAAWhtC,EAAK6ssB,UAAY,GACjC50sB,KAAK89sB,KAAO/1sB,EAAK81sB,KACjB79sB,KAAK+9sB,QAAU,KACf/9sB,KAAKm9rB,OAASp1rB,EAAK81sB,KAAK1gB,OACxBn9rB,KAAKg+sB,kBAAoB,KACzBh+sB,KAAKi+sB,uBAAyB,gBAC9Bj+sB,KAAK8gR,QAAU/4Q,EAAK6nrB,UAAW,IAAIrD,IAAgB1ra,aACnD7gR,KAAKitlB,UAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAC/Dl+sB,KAAKm+sB,YAAcn+sB,KAAKitlB,UAAY,IAAMjtlB,KAAK+0C,SAAW,WAC5D,CAOA,IAAIn5B,EAASgisB,EAAY19sB,UAqrDzB,OAprDA0b,EAAOwisB,qBAAuB,SAA8BJ,GAC1Dh+sB,KAAKq+sB,sBACLr+sB,KAAKg+sB,kBAAoBA,EACzBh+sB,KAAKs+sB,aACP,EAKA1isB,EAAO2isB,qBAAuB,WAC5B,OAAOv+sB,KAAKg+sB,iBACd,EAKApisB,EAAOs5rB,YAAc,WACnB,OAAOl1sB,KAAK+0C,QACd,EAKAn5B,EAAO4isB,0BAA4B,WACjC,OAAOx+sB,KAAKi+sB,sBACd,EAOArisB,EAAO6isB,0BAA4B,SAAmCR,GACpEj+sB,KAAKi+sB,uBAAyBA,CAChC,EAYArisB,EAAO8isB,aAAe,SAAsBC,EAAaxusB,GACvD,IAAIjH,EAAQlJ,KACRg1sB,EAAiB2J,EAAYtJ,oBACjCL,EAAe4J,SAAW5+sB,KAAK+0C,SAC/B,IAAI8pqB,EAAyE,IAAxDr/sB,OAAOgR,KAAKmusB,EAAYvJ,qBAAqBz0sB,OAAeg+sB,EAAYvJ,oBAAsBuJ,EAAYrJ,oBAC3HwJ,EAAU,CACZC,SAAU,cACVC,SAAUh/sB,KAAK89sB,KAAKI,cACpBpJ,eAAgBE,EAChBD,eAAgB8J,GAEd7+sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,eAAgBkqqB,GAAS,SAAUlpqB,EAAK7tC,GAC1D,GAAI6tC,EACF,OAAOzlC,EAASgvsB,UAAUvpqB,GAE5B,IAAIwpqB,EAAgBr3sB,EAAKs3sB,cACrBC,EAAsBv3sB,EAAKw3sB,oBAC/B,MAAsB,qBAAlBH,GACFl2sB,EAAM60sB,QAAUh2sB,EAAKg2sB,QACd5tsB,EAASqvsB,gBAAgBF,KAElCp2sB,EAAM80sB,kBAAoB90sB,EAAMu2sB,sBAAsB13sB,EAAK23sB,sBAC3Dx2sB,EAAMo1sB,cACCnusB,EAASwvsB,UAAUz2sB,EAAM80sB,mBAClC,GACF,EAiBApisB,EAAOgksB,iBAAmB,SAA0BjB,EAAaxusB,GAC/D,MAAoC,uBAAhCnQ,KAAKi+sB,uBACAj+sB,KAAK6/sB,sCAAsClB,EAAaxusB,GACtB,kBAAhCnQ,KAAKi+sB,wBAA8E,gBAAhCj+sB,KAAKi+sB,uBAC1Dj+sB,KAAK8/sB,4BAA4BnB,EAAaxusB,GAEhDA,EAASgvsB,UAAU,IAAIx2sB,MAAM,wCACtC,EAmBAiT,EAAOkksB,4BAA8B,SAAqCnB,EAAaxusB,GACrF,IAGIgrsB,EACA1+oB,EAJA9qD,EAAS3R,KACT+/sB,EAAuB,IAAIhH,GAAqB/4sB,KAAK89sB,KAAKkC,mBAC1DC,EAAa,IAAIzC,GAGjBxI,EAAiB,CAAC,EACA,MAAlBh1sB,KAAKkgtB,YACPlL,EAAemL,WAAangtB,KAAKkgtB,WAEnClL,EAAe4J,SAAW5+sB,KAAK+0C,SAC/BgrqB,EAAqB1G,gBAAe,SAAU+G,EAAaC,GAErDD,GACFjwsB,EAASgvsB,UAAUiB,GAErBpL,EAAesL,MAAQD,EAAO7wsB,SAAS,IACD,gBAAlCmC,EAAOsssB,yBACTjJ,EAAeuL,eAAiB,SAElC,IAAI1B,EAAyE,IAAxDr/sB,OAAOgR,KAAKmusB,EAAYvJ,qBAAqBz0sB,OAAeg+sB,EAAYvJ,oBAAsBuJ,EAAYrJ,oBAC3HwJ,EAAU,CACZC,SAAUptsB,EAAOsssB,uBACjBe,SAAUrtsB,EAAOmssB,KAAKI,cACtBpJ,eAAgBE,EAChBD,eAAgB8J,GAEdltsB,EAAOstsB,mBAAmBttsB,EAAOojC,YACnC+pqB,EAAQI,gBAAkBvtsB,EAAOstsB,mBAAmBttsB,EAAOojC,WAE7DpjC,EAAOwrrB,OAAOvopB,QAAQ,eAAgBkqqB,GAAS,SAAUlpqB,EAAK7tC,GAC5D,GAAI6tC,EACF,OAAOzlC,EAASgvsB,UAAUvpqB,GAE5B,IAAI0pqB,EAAsBv3sB,EAAKw3sB,oBAC/B5tsB,EAAOojC,SAAWuqqB,EAAoBkB,gBACtC7usB,EAAOwssB,YAAcxssB,EAAOs7kB,UAAY,IAAMt7kB,EAAOojC,SAAW,YAChEomqB,EAAe,IAAI1F,GAAW6J,EAAoBmB,MAAO,IACzDhkpB,EAAO,IAAIg5oB,GAAW6J,EAAoBoB,KAAM,IAChD/usB,EAAOgvsB,gCACPZ,EAAqB7E,6BAA6BvpsB,EAAOojC,SAAU4pqB,EAAYxJ,cAAegG,EAAc1+oB,GAAM,SAAUmkpB,EAAWnF,GAEjImF,GACFzwsB,EAASgvsB,UAAUyB,GAErB,IAAIC,EAAUZ,EAAWxC,eACrBqD,EAAepzsB,GAAAA,GAAAA,OAAc,CAACA,GAAAA,GAAAA,KAAYiE,EAAOmssB,KAAKkC,kBAAmB,QAAStysB,GAAAA,GAAAA,KAAYiE,EAAOojC,SAAU,QAASrnC,GAAAA,GAAAA,KAAY4xsB,EAAoByB,aAAc,UAAWrzsB,GAAAA,GAAAA,KAAYmzsB,EAAS,UACtMnG,EAAgB,IAAIjzsB,GAAAA,OAAOg0sB,GAC/Bf,EAAc5ysB,OAAOg5sB,GACrB,IAAInG,EAAsBD,EAAc1tsB,aACpCg0sB,EAAkBtzsB,GAAAA,GAAAA,KAAYitsB,GAAqBnrsB,SAAS,UAC5DyxsB,EAAqB,CAAC,EAC1BA,EAAmBrC,SAAWjtsB,EAAOojC,SACrCksqB,EAAmBC,4BAA8B5B,EAAoByB,aACrEE,EAAmBE,UAAYN,EAC/BI,EAAmBG,yBAA2BJ,EACtB,MAApBrvsB,EAAOuusB,YACTe,EAAmBd,WAAaxusB,EAAOuusB,WAEzC,IAaImB,EAAc,CAChBhC,cAAe,oBACfL,SAAUrtsB,EAAOmssB,KAAKI,cACtBoD,mBAAoBL,EACpBlD,QAASh2sB,EAAKg2sB,QACdhJ,eAAgB8J,GAEdltsB,EAAOstsB,uBACToC,EAAYnC,gBAAkBvtsB,EAAOstsB,sBArBV,SAASsC,EAAuBC,EAAWC,GACtE,OAAO9vsB,EAAOwrrB,OAAOvopB,QAAQ,yBAA0B4sqB,GAAW,SAAUE,EAAcC,GACxF,OAAID,GAAsC,8BAAtBA,EAAanvqB,OAAkG,IAA1DmvqB,EAAa/osB,QAAQ2B,cAActZ,QAAQ,WAClHigtB,EAAmBd,WAAa,KAChCxusB,EAAOuusB,UAAY,KACnBvusB,EAAOmosB,eAAiB,KACxBnosB,EAAOyosB,eAAiB,KACxBzosB,EAAOiwsB,kCACAL,EAAuBC,EAAWC,IAEpCA,EAAkBC,EAAcC,EACzC,GACF,CAWAJ,CAAuBF,GAAa,SAAUQ,EAAiBC,GAC7D,OAAID,EACK1xsB,EAASgvsB,UAAU0C,GAErBlwsB,EAAOowsB,yBAAyBD,EAAkB/B,EAAsB5vsB,EACjF,GAGF,GAGF,GAEF,GACF,EAaAyL,EAAOiksB,sCAAwC,SAA+ClB,EAAaxusB,GACzG,IAAI6B,EAAShS,KACTg1sB,EAAiB,CAAC,EAGtB,GAFAA,EAAe4J,SAAW5+sB,KAAK+0C,SAC/BigqB,EAAegN,SAAWrD,EAAYxJ,cACjCH,EAAegN,SAApB,CAIA,IAAIjC,EAAuB,IAAIhH,GAAqB/4sB,KAAK89sB,KAAKkC,mBAC9DhgtB,KAAK2gtB,gCACiB,MAAlB3gtB,KAAKkgtB,YACPlL,EAAemL,WAAangtB,KAAKkgtB,WAEnC,IAAIrB,EAAyE,IAAxDr/sB,OAAOgR,KAAKmusB,EAAYvJ,qBAAqBz0sB,OAAeg+sB,EAAYvJ,oBAAsBuJ,EAAYrJ,oBAC3HwJ,EAAU,CACZC,SAAU,qBACVC,SAAUh/sB,KAAK89sB,KAAKI,cACpBpJ,eAAgBE,EAChBD,eAAgB8J,GAEd7+sB,KAAKi/sB,mBAAmBj/sB,KAAK+0C,YAC/B+pqB,EAAQI,gBAAkBl/sB,KAAKi/sB,mBAAmBj/sB,KAAK+0C,WAIzD/0C,KAAKm9rB,OAAOvopB,QAAQ,eAAgBkqqB,GAAS,SAAUlpqB,EAAKqsqB,GAC1D,OAAIrsqB,EACKzlC,EAASgvsB,UAAUvpqB,GAErB5jC,EAAO+vsB,yBAAyBE,EAAYlC,EAAsB5vsB,EAC3E,GAvBA,MAFEA,EAASgvsB,UAAU,IAAIx2sB,MAAM,kCA0BjC,EAUAiT,EAAOmmsB,yBAA2B,SAAkCD,EAAkB/B,EAAsB5vsB,GAC1G,IAAI+B,EAASlS,KACTo/sB,EAAgB0C,EAAiBzC,cACjCC,EAAsBwC,EAAiBvC,oBAC3C,GAAsB,YAAlBH,EAEF,OADAp/sB,KAAK+9sB,QAAU+D,EAAiB/D,QACzB5tsB,EAAS+xsB,YAAY9C,EAAeE,GAE7C,GAAsB,oBAAlBF,EAEF,OADAp/sB,KAAK+9sB,QAAU+D,EAAiB/D,QACzB5tsB,EAASgysB,cAAc/C,EAAeE,GAE/C,GAAsB,cAAlBF,EAEF,OADAp/sB,KAAK+9sB,QAAU+D,EAAiB/D,QACzB5tsB,EAASiysB,SAAShD,EAAeE,GAE1C,GAAsB,uBAAlBF,EAEF,OADAp/sB,KAAK+9sB,QAAU+D,EAAiB/D,QACzB5tsB,EAASkysB,aAAajD,EAAeE,GAE9C,GAAsB,qBAAlBF,EAEF,OADAp/sB,KAAK+9sB,QAAU+D,EAAiB/D,QACzB5tsB,EAASqvsB,gBAAgBF,GAElC,GAAsB,0BAAlBF,EAA2C,CAC7Cp/sB,KAAK+9sB,QAAU+D,EAAiB/D,QAChC,IAAIuE,EAAiB,KACjBC,EAAwB,KACxBC,EAAqB,GACrBC,EAAuB1C,EAAqBnE,qDAKhD,GAJI0D,IACFgD,EAAiB/zrB,KAAK7O,MAAMoisB,EAAiBvC,oBAAoB+C,gBACjEC,EAAwBh0rB,KAAK7O,MAAMoisB,EAAiBvC,oBAAoBiD,qBAEtED,EACF,IAAK,IAAI/htB,EAAI,EAAGA,EAAI+htB,EAAsB5htB,OAAQH,IAChDgitB,EAAmBhitB,GAAK+htB,EAAsB/htB,GAAGwc,OAAOylsB,EAAqB9htB,QAGjF,OAAOwP,EAASuysB,oBAAoBJ,EAAgBE,EACtD,CACA,GAAsB,oBAAlBpD,EAGF,OAFAp/sB,KAAK+9sB,QAAU+D,EAAiB/D,aAChC/9sB,KAAK2itB,kBAAkBxysB,GAGzBnQ,KAAKg+sB,kBAAoBh+sB,KAAKy/sB,sBAAsBqC,EAAiBpC,sBACrE1/sB,KAAKo/sB,cAAgBA,EACrBp/sB,KAAKs+sB,cACL,IAAIsE,EAAoBd,EAAiBpC,qBAAqBmD,kBAC9D,GAAyB,MAArBD,EACF,OAAOzysB,EAASwvsB,UAAU3/sB,KAAKg+sB,mBAEjC+B,EAAqB5F,mBAAmB2H,EAAiBpC,qBAAqBmD,kBAAkBC,eAAgBhB,EAAiBpC,qBAAqBmD,kBAAkBE,WAAW,SAAUC,GAC3L,GAAIA,EACF,OAAO7ysB,EAASgvsB,UAAU6D,GAE5B,IAAIC,EAA6B,CAC/BC,KAAMx1sB,GAAAA,GAAAA,KAAYqysB,EAAqBhG,iBAAkB,OAAOvqsB,SAAS,UACzE2zsB,iBAAkBz1sB,GAAAA,GAAAA,KAAYqysB,EAAqB9F,qBAAsB,OAAOzqsB,SAAS,WAE3F0C,EAAOgosB,gBAAkB+I,EAA2BE,iBACpDjxsB,EAAOkosB,eAAiBwI,EAAkBE,eAC1C5wsB,EAAO4nsB,eAAiBiG,EAAqBlG,oBAC7C3nsB,EAAOirrB,OAAOvopB,QAAQ,gBAAiB,CACrCmuqB,UAAWH,EAAkBG,UAC7BtG,YAAavqsB,EAAO8rsB,kBAAkBZ,iBAAiBzK,cACvDyQ,2BAA4BH,EAC5BI,WAAYhlqB,KACX,SAAUilqB,EAAYC,GACvB,OAAID,EACKnzsB,EAASgvsB,UAAUmE,IAE5BpxsB,EAAOgusB,UAAY4B,EAAiBpC,qBAAqBmD,kBAAkBE,UAC3E7wsB,EAAOsxsB,6BACuC,IAA1CD,EAAYE,0BACPtzsB,EAASwvsB,UAAUztsB,EAAO8rsB,kBAAmBuF,EAAYE,2BAE3DtzsB,EAASwvsB,UAAUztsB,EAAO8rsB,mBACnC,GAEF,GAEF,EAiBApisB,EAAO8nsB,6BAA+B,SAAsCC,EAAaC,EAAuBzzsB,EAAU8ksB,GACxH,IAAIxisB,EAASzS,KACb,IAAK2jtB,EACH,OAAOxzsB,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC,IAAIo3sB,EAAuB,IAAIhH,GAAqB/4sB,KAAK89sB,KAAKkC,mBAC1DyC,EAAuB1C,EAAqBnE,qDAC5CiI,EAAsB,CAAC,EACvBD,GACFpktB,OAAOgR,KAAKozsB,GAAuB1zsB,SAAQ,SAAU5O,GACnDuitB,EAAoBpB,EAAuBnhtB,GAAOsitB,EAAsBtitB,EAC1E,IAEFuitB,EAAoBC,aAAeH,EACnCE,EAAoBjF,SAAW5+sB,KAAK+0C,SACpC,IAAI+pqB,EAAU,CACZO,cAAe,wBACfL,SAAUh/sB,KAAK89sB,KAAKI,cACpBoD,mBAAoBuC,EACpB9F,QAAS/9sB,KAAK+9sB,QACdhJ,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAU+C,EAAiBC,GAChF,OAAID,EACK1xsB,EAASgvsB,UAAU0C,GAErBpvsB,EAAOsvsB,yBAAyBD,EAAkB/B,EAAsB5vsB,EACjF,GAEF,EAaAyL,EAAO+msB,kBAAoB,SAA2BxysB,EAAU8ksB,GAC9D,IAAI9rjB,EAASnpJ,KACT+/sB,EAAuB,IAAIhH,GAAqB/4sB,KAAKo6sB,gBACrD6F,EAAa,IAAIzC,GACjBxI,EAAiB,CAAC,EACtBA,EAAe4J,SAAW5+sB,KAAK+0C,SAC/BigqB,EAAemL,WAAangtB,KAAKkgtB,UACjCH,EAAqB1G,gBAAe,SAAU0K,EAAW1D,GAEnD0D,GACF5zsB,EAASgvsB,UAAU4E,GAErB/O,EAAesL,MAAQD,EAAO7wsB,SAAS,IACvC,IAAIsvsB,EAAU,CACZO,cAAe,kBACfL,SAAU71jB,EAAO20jB,KAAKI,cACtBoD,mBAAoBtM,EACpBD,eAAgBE,EAChB8I,QAAS50jB,EAAO40jB,SAEd50jB,EAAO81jB,uBACTH,EAAQI,gBAAkB/1jB,EAAO81jB,sBAEnC91jB,EAAOg0iB,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAUlpqB,EAAK7tC,GACtE,GAAI6tC,EACF,OAAOzlC,EAASgvsB,UAAUvpqB,GAE5B,IAAI0pqB,EAAsBv3sB,EAAKw3sB,oBAC3BpE,EAAe,IAAI1F,GAAW6J,EAAoBmB,MAAO,IACzDhkpB,EAAO,IAAIg5oB,GAAW6J,EAAoBoB,KAAM,IACpDX,EAAqB7E,6BAA6B/xjB,EAAO+2jB,UAAW/2jB,EAAO2wjB,eAAgBqB,EAAc1+oB,GAAM,SAAUunpB,EAASvI,GAEhI,GAAIuI,EACF,OAAO7zsB,EAASgvsB,UAAU6E,GAE5B,IAAInD,EAAUZ,EAAWxC,eACrBqD,EAAepzsB,GAAAA,GAAAA,OAAc,CAACA,GAAAA,GAAAA,KAAYy7I,EAAOixjB,eAAgB,QAAS1ssB,GAAAA,GAAAA,KAAYy7I,EAAO+2jB,UAAW,QAASxysB,GAAAA,GAAAA,KAAY4xsB,EAAoByB,aAAc,UAAWrzsB,GAAAA,GAAAA,KAAYmzsB,EAAS,UAC/LnG,EAAgB,IAAIjzsB,GAAAA,OAAOg0sB,GAC/Bf,EAAc5ysB,OAAOg5sB,GACrB,IAAInG,EAAsBD,EAAc1tsB,aACpCg0sB,EAAkBtzsB,GAAAA,GAAAA,KAAYitsB,GAAqBnrsB,SAAS,UAC5DyxsB,EAAqB,CAAC,EAC1BA,EAAmBrC,SAAWz1jB,EAAOp0G,SACrCksqB,EAAmBC,4BAA8B5B,EAAoByB,aACrEE,EAAmBE,UAAYN,EAC/BI,EAAmBG,yBAA2BJ,EAC9CC,EAAmBd,WAAah3jB,EAAO+2jB,UACvC,IAAImB,EAAc,CAChBhC,cAAe,2BACfL,SAAU71jB,EAAO20jB,KAAKI,cACtBoD,mBAAoBL,EACpBlD,QAASh2sB,EAAKg2sB,SAEZ50jB,EAAO81jB,uBACToC,EAAYnC,gBAAkB/1jB,EAAO81jB,sBAEvC91jB,EAAOg0iB,OAAOvopB,QAAQ,yBAA0BysqB,GAAa,SAAUQ,EAAiBC,GACtF,OAAID,EACK1xsB,EAASgvsB,UAAU0C,IAE5B14jB,EAAO60jB,kBAAoB70jB,EAAOs2jB,sBAAsBqC,EAAiBpC,sBACzEv2jB,EAAOm1jB,cACAnusB,EAASwvsB,UAAUx2jB,EAAO60jB,mBACnC,GAGF,GAGF,GAEF,GACF,EAUApisB,EAAOqosB,oBAAsB,SAA6BC,EAAkBC,EAAoBh0sB,EAAU8ksB,GACxG,IAAI6J,EAAU,CACZE,SAAUh/sB,KAAK89sB,KAAKI,cACpBkG,iBAAkBF,EAClBtP,SAAU50sB,KAAK+0C,SACfsvqB,mBAAoBF,EACpBpP,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,gBAAiBkqqB,GAAS,SAAUlpqB,GACtD,OAAIA,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAM,UACxB,GACF,EAaAyL,EAAO0osB,0BAA4B,SAAmCC,EAAiBp0sB,EAAU8ksB,GAC/F,IAAIxrjB,EAASzpJ,KACTihtB,EAAqB,CAAC,EAC1BA,EAAmBrC,SAAW5+sB,KAAK+0C,SACnCksqB,EAAmBuD,OAASD,EAC5B,IAAIxE,EAAuB,IAAIhH,GAAqB/4sB,KAAK89sB,KAAKkC,mBAC9DhgtB,KAAK2gtB,gCACiB,MAAlB3gtB,KAAKkgtB,YACPe,EAAmBd,WAAangtB,KAAKkgtB,WAEvC,IAAIpB,EAAU,CACZO,cAAe,mBACfiC,mBAAoBL,EACpBjC,SAAUh/sB,KAAK89sB,KAAKI,cACpBH,QAAS/9sB,KAAK+9sB,QACdhJ,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAUlpqB,EAAK7tC,GACpE,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAErB6zG,EAAOs4jB,yBAAyBh6sB,EAAMg4sB,EAAsB5vsB,EACrE,GACF,EAYAyL,EAAO6osB,YAAc,SAAqBP,EAAkB/zsB,EAAUu0sB,EAASzP,GAC7E,IAAIlrjB,EAAS/pJ,KACTihtB,EAAqB,CAAC,EAC1BA,EAAmBrC,SAAW5+sB,KAAK+0C,SACnCksqB,EAAmB0D,aAAeT,EAClC,IAAIU,EAAmBF,GAAW,UACT,uBAArBE,IACF3D,EAAmB4D,wBAA0BX,GAEzB,MAAlBlktB,KAAKkgtB,YACPe,EAAmBd,WAAangtB,KAAKkgtB,WAEvC,IAAIpB,EAAU,CACZO,cAAeuF,EACftD,mBAAoBL,EACpBjC,SAAUh/sB,KAAK89sB,KAAKI,cACpBH,QAAS/9sB,KAAK+9sB,QACdhJ,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAUlpqB,EAAKksqB,GACpE,GAAIlsqB,EACF,OAAOzlC,EAASgvsB,UAAUvpqB,GAG5B,GAAsB,oBADFksqB,EAAiBzC,cACrC,CAMA,GAFAt1jB,EAAOi0jB,kBAAoBj0jB,EAAO01jB,sBAAsBqC,EAAiBpC,sBACzE31jB,EAAOu0jB,cACwD,MAA3DwD,EAAiBpC,qBAAqBmD,kBACxC,OAAO1ysB,EAASwvsB,UAAU51jB,EAAOi0jB,mBAEnC,IAAI+B,EAAuB,IAAIhH,GAAqBhvjB,EAAO+zjB,KAAKkC,mBAChED,EAAqB5F,mBAAmB2H,EAAiBpC,qBAAqBmD,kBAAkBC,eAAgBhB,EAAiBpC,qBAAqBmD,kBAAkBE,WAAW,SAAUC,GAC3L,GAAIA,EACF,OAAO7ysB,EAASgvsB,UAAU6D,GAE5B,IAAIC,EAA6B,CAC/BC,KAAMx1sB,GAAAA,GAAAA,KAAYqysB,EAAqBhG,iBAAkB,OAAOvqsB,SAAS,UACzE2zsB,iBAAkBz1sB,GAAAA,GAAAA,KAAYqysB,EAAqB9F,qBAAsB,OAAOzqsB,SAAS,WAE3Fu6I,EAAOmwjB,gBAAkB+I,EAA2BE,iBACpDp5jB,EAAOqwjB,eAAiB0H,EAAiBpC,qBAAqBmD,kBAAkBC,eAChF/4jB,EAAO+vjB,eAAiBiG,EAAqBlG,oBAC7C9vjB,EAAOoziB,OAAOvopB,QAAQ,gBAAiB,CACrCmuqB,UAAWjB,EAAiBpC,qBAAqBmD,kBAAkBE,UACnEtG,YAAa1yjB,EAAOi0jB,kBAAkBZ,iBAAiBzK,cACvDyQ,2BAA4BH,EAC5BI,WAAYhlqB,KACX,SAAUilqB,EAAYC,GACvB,OAAID,EACKnzsB,EAASgvsB,UAAUmE,IAE5Bv5jB,EAAOm2jB,UAAY4B,EAAiBpC,qBAAqBmD,kBAAkBE,UAC3Eh5jB,EAAOy5jB,6BACuC,IAA1CD,EAAYE,0BACPtzsB,EAASwvsB,UAAU51jB,EAAOi0jB,kBAAmBuF,EAAYE,2BAE3DtzsB,EAASwvsB,UAAU51jB,EAAOi0jB,mBACnC,GAEF,GAnCA,MAFEj0jB,EAAO44jB,kBAAkBxysB,EAuC7B,GACF,EAUAyL,EAAOkpsB,eAAiB,SAAwBC,EAAiBC,EAAiB70sB,EAAU8ksB,GAC1F,GAAgC,MAA1Bj1sB,KAAKg+sB,oBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC7D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,iBAAkB,CACpCqwqB,iBAAkBF,EAClBG,iBAAkBF,EAClBvI,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoC,eAAgBE,IACf,SAAUr/pB,GACX,OAAIA,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAM,UACxB,GAEF,EAQAyL,EAAOupsB,UAAY,SAAmBh1sB,GACpC,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D,IAAIy8sB,EAAa,GAKjBA,EAAW9gtB,KAJM,CACf+gtB,eAAgB,MAChBC,cAAe,iBAGjBtltB,KAAKm9rB,OAAOvopB,QAAQ,kBAAmB,CACrC2wqB,WAAYH,EACZ3I,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,GACX,OAAIA,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAM,UACxB,GAEF,EASAyL,EAAO4psB,qBAAuB,SAA8BC,EAAgBC,EAA0Bv1sB,GACpG,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,uBAAwB,CAC1C+wqB,eAAgBF,EAChBG,yBAA0BF,EAC1BjJ,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,GACX,OAAIA,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAM,UACxB,GAEF,EAQAyL,EAAOiqsB,WAAa,SAAoB11sB,GACtC,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAG1D3I,KAAKm9rB,OAAOvopB,QAAQ,kBAAmB,CACrC2wqB,WAFe,GAGf9I,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,GACX,OAAIA,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAM,UACxB,GAEF,EAQAyL,EAAOkqsB,WAAa,SAAoB31sB,EAAU8ksB,GAChD,IAAI7qjB,EAASpqJ,KACb,GAA8B,MAA1BA,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,aAAc,CAChC6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoC,eAAgBE,IACf,SAAUr/pB,GACX,OAAIA,EACKzlC,EAASylC,EAAK,OAEvBw0G,EAAO27jB,kBACA51sB,EAAS,KAAM,WACxB,GAEF,EAYAyL,EAAOoqsB,iBAAmB,SAA0BpkmB,EAAYzxG,EAAU8ksB,GACxE,IAAIvqjB,EAAU1qJ,KACd,GAA8B,MAA1BA,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,uBAAwB,CAC1C6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDsT,eAAgBrkmB,EAChBmzlB,eAAgBE,IACf,SAAUr/pB,EAAK1yC,GAChB,OAAI0yC,EACKzlC,EAASylC,EAAK,MAIhB80G,EAAQw7jB,aAAY,WACzB,OAAO/1sB,EAAS,KAAM,UAAWjN,EACnC,GAAG,CACDijtB,aAAa,GAEjB,GAEF,EAOAvqsB,EAAOwqsB,kBAAoB,SAA2Bj2sB,GACpD,GAAgC,MAA1BnQ,KAAKg+sB,oBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC7D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,UAAW,CAC7B6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,EAAKqtG,GAChB,GAAIrtG,EACF,OAAOzlC,EAASylC,EAAK,MAGvB,IADA,IAAIywqB,EAAgB,GACX7ltB,EAAI,EAAGA,EAAIyiJ,EAASgjkB,eAAetltB,OAAQH,IAAK,CACvD,IAAIivM,EAAY,CACdklU,KAAM1xX,EAASgjkB,eAAezltB,GAAGm0gB,KACjCE,MAAO5xX,EAASgjkB,eAAezltB,GAAGq0gB,OAEhCyxM,EAAgB,IAAI3I,GAAqBlugB,GAC7C42gB,EAAc/htB,KAAKgitB,EACrB,CACA,OAAOn2sB,EAAS,KAAMk2sB,EACxB,GAEF,EAUAzqsB,EAAO2qsB,cAAgB,SAAuBp2sB,GAC5C,GAAgC,MAA1BnQ,KAAKg+sB,oBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC7D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,UAAW,CAC7B6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,EAAKqtG,GAChB,OAAIrtG,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAM8yI,EAASsikB,WACjC,GAEF,EAMA3psB,EAAO4qsB,qBAAuB,WAC5B,OAAOxmtB,KAAKm9rB,OAAOspB,iBAAiB,UAAW,CAC7ChK,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,eAEzD,EAMA/2rB,EAAO8qsB,yBAA2B,SAAkC1rsB,GAClE,IAAI+vI,EAAU/qJ,KAKd,YAJgB,IAAZgb,IACFA,EAAU,CAAC,GAGN,IAAItY,SAAQ,SAAUC,GAC3B,IAAI0mJ,EAAU0B,EAAQizjB,kBAAkBb,kBACpC9zjB,GAAWA,EAAQyzjB,WACrB/xjB,EAAQqmjB,eAAe/njB,EAAS1mJ,EAASqY,EAAQi6rB,gBAEjDtysB,GAEJ,GACF,EAcAiZ,EAAOsqsB,YAAc,SAAqB/1sB,EAAUspB,GAClD,IAAIk7P,EAAU30R,KACd,GAAgC,MAA1BA,KAAKg+sB,oBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAE7D,OADA5kE,KAAKq+sB,sBACElusB,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D,IAAIs6I,EAAWjjJ,KAAK2mtB,uBACpB,GAAK1jkB,EAML,GAAIjjJ,KAAK4mtB,gCAAgCntrB,GACvCz5B,KAAK6mtB,gBAAgBzjtB,MAAK,SAAU2E,GAClC,OAAO4sR,EAAQ+xb,yBAAyBjtrB,GAAQr2B,MAAK,WACnD,OAAO2E,CACT,GACF,IAAG3E,MAAK,SAAU2E,GAChB,OAAOoI,EAAS,KAAMpI,EACxB,IAAU,MAAEoI,QAGd,IAEE,YADAA,EAAS,KAAMoe,KAAK7O,MAAMujI,GAE5B,CAAE,MAAOrtG,GAGP,OAFA51C,KAAKq+sB,2BACLlusB,EAASylC,EAAK,KAEhB,MAtBE51C,KAAK6mtB,gBAAgBzjtB,MAAK,SAAU2E,GAClCoI,EAAS,KAAMpI,EACjB,IAAU,MAAEoI,EAqBhB,EAOAyL,EAAO+qsB,qBAAuB,WAE5B,OADe3mtB,KAAK8gR,QAAQlvK,QAAQ5xG,KAAKm+sB,YAE3C,EAOAvisB,EAAOgrsB,gCAAkC,SAAyCntrB,GAChF,IACEqtrB,GADSrtrB,GAAU,CAAC,GACI0srB,YAE1B,YADqC,IAArBW,GAAsCA,CAExD,EAMAlrsB,EAAOirsB,cAAgB,WACrB,IAAI7wb,EAAUh2R,KACd,OAAOA,KAAKwmtB,uBAAuBpjtB,MAAK,SAAU2E,GAEhD,OADAiuR,EAAQ+wb,cAAch/sB,GACfA,CACT,GACF,EAQA6T,EAAOorsB,iBAAmB,SAA0BX,EAAel2sB,GACjE,IAAIkmR,EAAUr2R,KACd,GAAgC,MAA1BA,KAAKg+sB,oBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC7D,OAAOz0D,EAAS,IAAIxH,MAAM,6BAA8B,MAE1D3I,KAAKm9rB,OAAOvopB,QAAQ,uBAAwB,CAC1CqyqB,mBAAoBZ,EACpB5J,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,GACX,OAAIA,EACKzlC,EAASylC,EAAK,MAIhBygP,EAAQ6vb,aAAY,WACzB,OAAO/1sB,EAAS,KAAM,UACxB,GAAG,CACDg2sB,aAAa,GAEjB,GAEF,EAQAvqsB,EAAOsrsB,uBAAyB,SAAgC/2sB,EAAU8ksB,GACxE,IAAI6J,EAAU,CACZE,SAAUh/sB,KAAK89sB,KAAKI,cACpBtJ,SAAU50sB,KAAK+0C,SACfggqB,eAAgBE,GAElBj1sB,KAAKm9rB,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAUlpqB,EAAK1yC,GACpE,OAAI0yC,EACKzlC,EAASylC,EAAK,MAEhBzlC,EAAS,KAAMjN,EACxB,GACF,EAeA0Y,EAAOursB,WAAa,SAAoBh3sB,EAAU6K,GAIhD,QAHgB,IAAZA,IACFA,EAAU,CAAC,GAEQ,MAAjBhb,KAAK+0C,SACP,OAAO5kC,EAAS,IAAIxH,MAAM,mDAAoD,MAEhF,GAA8B,MAA1B3I,KAAKg+sB,mBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC3D,OAAOz0D,EAAS,KAAMnQ,KAAKg+sB,mBAE7B,IAAI/wH,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAAgB,IAAMl+sB,KAAK+0C,SACrFqyqB,EAAan6H,EAAY,WACzBo6H,EAAiBp6H,EAAY,eAC7Bq6H,EAAkBr6H,EAAY,gBAC9Bs6H,EAAgBt6H,EAAY,cAChC,GAAIjtlB,KAAK8gR,QAAQlvK,QAAQw1mB,GAAa,CACpC,IAAI3U,EAAU,IAAIiK,GAAe,CAC/BC,QAAS38sB,KAAK8gR,QAAQlvK,QAAQw1mB,KAE5Bp4B,EAAc,IAAIstB,GAAmB,CACvCG,YAAaz8sB,KAAK8gR,QAAQlvK,QAAQy1mB,KAEhClW,EAAe,IAAIyL,GAAoB,CACzCC,aAAc78sB,KAAK8gR,QAAQlvK,QAAQ01mB,KAEjCrK,EAAa13qB,SAASvlC,KAAK8gR,QAAQlvK,QAAQ21mB,GAAgB,IAAM,EAOjEC,EAAgB,IAAIzK,GANN,CAChBJ,QAASlK,EACTgK,YAAaztB,EACb6tB,aAAc1L,EACd6L,WAAYC,IAGd,GAAIuK,EAAc5ipB,UAEhB,OADA5kE,KAAKg+sB,kBAAoBwJ,EAClBr3sB,EAAS,KAAMnQ,KAAKg+sB,mBAE7B,IAAK7M,EAAa2L,WAChB,OAAO3ssB,EAAS,IAAIxH,MAAM,uDAAwD,MAEpF3I,KAAKoxsB,eAAeD,EAAchhsB,EAAU6K,EAAQi6rB,eACtD,MACE9ksB,EAAS,IAAIxH,MAAM,6DAA8D,KAGrF,EASAiT,EAAOw1rB,eAAiB,SAAwBD,EAAchhsB,EAAU8ksB,GACtE,IAAIx+a,EAAUz2R,KACVyntB,EAAkBzntB,KAAK89sB,KAAK4J,2BAA6B1ntB,KAAK89sB,KAAK4J,2BAA2Bv3sB,GAAYA,EAC1G6ksB,EAAiB,CAAC,EACtBA,EAAe2S,cAAgBxW,EAAa2L,WAC5C,IAAI7vH,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAC1D0J,EAAc36H,EAAY,gBAC9B,GAAIjtlB,KAAK8gR,QAAQlvK,QAAQg2mB,GAAc,CACrC5ntB,KAAK+0C,SAAW/0C,KAAK8gR,QAAQlvK,QAAQg2mB,GACrC,IAAIC,EAAe56H,EAAY,IAAMjtlB,KAAK+0C,SAAW,aACrD/0C,KAAKkgtB,UAAYlgtB,KAAK8gR,QAAQlvK,QAAQi2mB,GACtC7S,EAAemL,WAAangtB,KAAKkgtB,SACnC,CACA,IAAIpB,EAAU,CACZE,SAAUh/sB,KAAK89sB,KAAKI,cACpBa,SAAU,qBACVjK,eAAgBE,EAChBD,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,eAAgBkqqB,GAAS,SAAUlpqB,EAAKqsqB,GAC1D,GAAIrsqB,EAIF,MAHiB,2BAAbA,EAAIrD,MACNkkP,EAAQsvb,kBAEH0B,EAAgB7xqB,EAAK,MAE9B,GAAIqsqB,EAAY,CACd,IAAI6F,EAAuB7F,EAAWvC,qBAMtC,OALKlgtB,OAAOU,UAAUL,eAAee,KAAKkntB,EAAsB,kBAC9DA,EAAqBjL,aAAe1L,EAAa2L,YAEnDrmb,EAAQunb,kBAAoBvnb,EAAQgpb,sBAAsBqI,GAC1Drxb,EAAQ6nb,cACDmJ,EAAgB,KAAMhxb,EAAQunb,kBACvC,CAEF,GACF,EAMApisB,EAAO0isB,YAAc,WACnB,IAAIrxH,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAC1DkJ,EAAan6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,WAC/CsyqB,EAAiBp6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,eACnDuyqB,EAAkBr6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,gBACpDwyqB,EAAgBt6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,cAClD6yqB,EAAc36H,EAAY,gBAC9BjtlB,KAAK8gR,QAAQO,QAAQ+lc,EAAYpntB,KAAKg+sB,kBAAkBtL,aAAaC,eACrE3ysB,KAAK8gR,QAAQO,QAAQgmc,EAAgBrntB,KAAKg+sB,kBAAkBZ,iBAAiBzK,eAC7E3ysB,KAAK8gR,QAAQO,QAAQimc,EAAiBtntB,KAAKg+sB,kBAAkBb,kBAAkBL,YAC/E98sB,KAAK8gR,QAAQO,QAAQkmc,EAAe,GAAKvntB,KAAKg+sB,kBAAkBX,iBAChEr9sB,KAAK8gR,QAAQO,QAAQumc,EAAa5ntB,KAAK+0C,SACzC,EAKAn5B,EAAOmrsB,cAAgB,SAAuB9jkB,GAC5CjjJ,KAAK8gR,QAAQO,QAAQrhR,KAAKm+sB,YAAa5vrB,KAAKhP,UAAU0jI,GACxD,EAKArnI,EAAOyisB,oBAAsB,WAC3Br+sB,KAAK8gR,QAAQniB,WAAW3+P,KAAKm+sB,YAC/B,EACAvisB,EAAOmqsB,gBAAkB,WACvB/ltB,KAAK+ntB,oBACL/ntB,KAAKq+sB,qBACP,EAMAzisB,EAAO4nsB,0BAA4B,WACjC,IAAIv2H,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAAgB,IAAMl+sB,KAAK+0C,SACrF8yqB,EAAe56H,EAAY,aAC3B+6H,EAAoB/6H,EAAY,qBAChCg7H,EAAoBh7H,EAAY,kBACpCjtlB,KAAK8gR,QAAQO,QAAQwmc,EAAc7ntB,KAAKkgtB,WACxClgtB,KAAK8gR,QAAQO,QAAQ2mc,EAAmBhotB,KAAK85sB,gBAC7C95sB,KAAK8gR,QAAQO,QAAQ4mc,EAAmBjotB,KAAKo6sB,eAC/C,EAMAx+rB,EAAO+ksB,8BAAgC,WACrC,IAAI1zH,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAAgB,IAAMl+sB,KAAK+0C,SACrF8yqB,EAAe56H,EAAY,aAC3B+6H,EAAoB/6H,EAAY,qBAChCg7H,EAAoBh7H,EAAY,kBAChCjtlB,KAAK8gR,QAAQlvK,QAAQi2mB,KACvB7ntB,KAAKkgtB,UAAYlgtB,KAAK8gR,QAAQlvK,QAAQi2mB,GACtC7ntB,KAAK85sB,eAAiB95sB,KAAK8gR,QAAQlvK,QAAQo2mB,GAC3ChotB,KAAKo6sB,eAAiBp6sB,KAAK8gR,QAAQlvK,QAAQq2mB,GAE/C,EAMArssB,EAAOgmsB,gCAAkC,WACvC,IAAI30H,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAAgB,IAAMl+sB,KAAK+0C,SACrF8yqB,EAAe56H,EAAY,aAC3B+6H,EAAoB/6H,EAAY,qBAChCg7H,EAAoBh7H,EAAY,kBACpCjtlB,KAAK8gR,QAAQniB,WAAWkpd,GACxB7ntB,KAAK8gR,QAAQniB,WAAWqpd,GACxBhotB,KAAK8gR,QAAQniB,WAAWspd,EAC1B,EAMArssB,EAAOmssB,kBAAoB,WACzB,IAAI96H,EAAY,kCAAoCjtlB,KAAK89sB,KAAKI,cAC1DkJ,EAAan6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,WAC/CsyqB,EAAiBp6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,eACnDuyqB,EAAkBr6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,gBACpD6yqB,EAAc36H,EAAY,gBAC1Bs6H,EAAgBt6H,EAAY,IAAMjtlB,KAAK+0C,SAAW,cACtD/0C,KAAK8gR,QAAQniB,WAAWyod,GACxBpntB,KAAK8gR,QAAQniB,WAAW0od,GACxBrntB,KAAK8gR,QAAQniB,WAAW2od,GACxBtntB,KAAK8gR,QAAQniB,WAAWipd,GACxB5ntB,KAAK8gR,QAAQniB,WAAW4od,EAC1B,EAQA3rsB,EAAO6jsB,sBAAwB,SAA+BwC,GAC5D,IAAIxP,EAAU,IAAIiK,GAAeuF,GAC7BjzB,EAAc,IAAIstB,GAAmB2F,GACrC9Q,EAAe,IAAIyL,GAAoBqF,GAM3C,OAAO,IAAIlF,GALO,CAChBJ,QAASlK,EACTgK,YAAaztB,EACb6tB,aAAc1L,GAGlB,EAYAv1rB,EAAOsssB,eAAiB,SAAwB/3sB,EAAU8ksB,GACxD,IAAI6J,EAAU,CACZE,SAAUh/sB,KAAK89sB,KAAKI,cACpBtJ,SAAU50sB,KAAK+0C,SACfggqB,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,iBAAkBkqqB,GAAS,SAAUlpqB,EAAK7tC,GAC5D,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAEkB,oBAAnCzlC,EAASg4sB,sBACXh4sB,EAASg4sB,sBAAsBpgtB,GAEjCoI,EAASwvsB,UAAU53sB,EAC5B,GACF,EAYA6T,EAAOwssB,gBAAkB,SAAyBlE,EAAkBP,EAAaxzsB,EAAU8ksB,GACzF,IAAI6J,EAAU,CACZE,SAAUh/sB,KAAK89sB,KAAKI,cACpBtJ,SAAU50sB,KAAK+0C,SACfqvqB,iBAAkBF,EAClBrP,SAAU8O,EACV5O,eAAgBE,GAEdj1sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,wBAAyBkqqB,GAAS,SAAUlpqB,GAC9D,OAAIA,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU,UAC5B,GACF,EAWA/jsB,EAAOyssB,6BAA+B,SAAsCptH,EAAe9qlB,EAAU8ksB,GACnG,GAA8B,MAA1Bj1sB,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,mCAAoC,CACtD0wqB,cAAerqH,EACfwhH,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoC,eAAgBE,IACf,SAAUr/pB,EAAK7tC,GAChB,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAEkB,oBAAnCzlC,EAASg4sB,sBACXh4sB,EAASg4sB,sBAAsBpgtB,GAEjCoI,EAASwvsB,UAAU,UAC5B,GAEF,EAWA/jsB,EAAO0ssB,gBAAkB,SAAyBrtH,EAAeipH,EAAkB/zsB,GACjF,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,sBAAuB,CACzC0wqB,cAAerqH,EACf66F,KAAMouB,EACNzH,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,GACX,OAAIA,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU,UAC5B,GAEF,EASA/jsB,EAAO2ssB,UAAY,SAAmBp4sB,GACpC,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,YAAa,CAC/B6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoQ,UAAW/itB,KAAKkgtB,YACf,SAAUtqqB,EAAK7tC,GAChB,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU53sB,EAC5B,GAEF,EAUA6T,EAAO4ssB,qBAAuB,SAA8BtI,EAAW/vsB,GACrE,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,eAAgB,CAClC6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoQ,UAAW7C,IACV,SAAUtqqB,GACX,OAAIA,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU,UAC5B,GAEF,EASA/jsB,EAAO6ssB,aAAe,SAAsBt4sB,GAC1C,IAAI8mR,EAAUj3R,KACdA,KAAKwotB,qBAAqBxotB,KAAKkgtB,UAAW,CACxCf,UAAWhvsB,EAASgvsB,UACpBQ,UAAW,SAAmBz8sB,GAK5B,OAJA+zR,EAAQipb,UAAY,KACpBjpb,EAAQmjb,eAAiB,KACzBnjb,EAAQ6ib,eAAiB,KACzB7ib,EAAQ2qb,kCACDzxsB,EAASwvsB,UAAUz8sB,EAC5B,GAEJ,EASA0Y,EAAO8ssB,0BAA4B,SAAmCv4sB,GACpE,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,qBAAsB,CACxC6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoQ,UAAW/itB,KAAKkgtB,UAChByI,uBAAwB,eACvB,SAAU/yqB,GACX,OAAIA,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU,UAC5B,GAEF,EASA/jsB,EAAOgtsB,6BAA+B,SAAsCz4sB,GAC1E,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,qBAAsB,CACxC6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDoQ,UAAW/itB,KAAKkgtB,UAChByI,uBAAwB,mBACvB,SAAU/yqB,GACX,OAAIA,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU,UAC5B,GAEF,EAYA/jsB,EAAOitsB,YAAc,SAAqBl3pB,EAAOm3pB,EAAiB34sB,GAChE,GAA8B,MAA1BnQ,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC,IAAIogtB,EAAgB,CAClBtM,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDqW,MAAOr3pB,GAELm3pB,IACFC,EAAcE,gBAAkBH,GAElC9otB,KAAKm9rB,OAAOvopB,QAAQ,cAAem0qB,GAAe,SAAUnzqB,EAAK7tC,GAC/D,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU53sB,EAC5B,GAEF,EASA6T,EAAOstsB,cAAgB,SAAuB/4sB,GAC5C,IAAIsnR,EAAUz3R,KACd,GAA8B,MAA1BA,KAAKg+sB,oBAA8Bh+sB,KAAKg+sB,kBAAkBp5oB,UAC5D,OAAOz0D,EAASgvsB,UAAU,IAAIx2sB,MAAM,8BAEtC3I,KAAKm9rB,OAAOvopB,QAAQ,gBAAiB,CACnC6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,GACX,OAAIA,EACKzlC,EAASgvsB,UAAUvpqB,IAE5B6hP,EAAQsub,kBACD51sB,EAASwvsB,UAAU,WAC5B,GAEF,EAMA/jsB,EAAOosqB,QAAU,SAAiBmhC,GAChC,IAAIrva,EAAU95S,KAETmptB,GAAsD,oBAAxBA,EAInCnptB,KAAKmntB,YAAW,SAAUpitB,EAAOqktB,GAC/B,GAAIrktB,EACF,OAAOoktB,EAAoBpktB,GAE7B+0S,EAAQuva,cAAa,SAAUzzqB,GAC7BkkQ,EAAQwva,kBACRH,EAAoBvzqB,EACtB,GACF,IAXE51C,KAAKsptB,iBAYT,EACA1tsB,EAAOytsB,aAAe,SAAsBF,GAI1C,QAH4B,IAAxBA,IACFA,EAAsB,WAAgC,GAErB,oBAAxBA,EACT,MAAM,IAAIxgtB,MAAM,yDAGlB,IAAK3I,KAAKg+sB,kBAER,OAAOmL,EADK,IAAIxgtB,MAAM,8BAGxB,IAAK3I,KAAKg+sB,kBAAkBZ,iBAE1B,OAAO+L,EADM,IAAIxgtB,MAAM,8BAGzB,IAAIwosB,EAAenxsB,KAAKg+sB,kBAAkBb,kBAAkBL,WACxD9tB,EAAchvrB,KAAKg+sB,kBAAkBZ,iBACzC,GAAIp9sB,KAAKuptB,mBAAmBv6B,IACtBmiB,EACF,OAAOnxsB,KAAKwptB,YAAY,CACtBprsB,MAAO+yrB,EACPhhsB,SAAUg5sB,IAIhBA,GACF,EACAvtsB,EAAO2tsB,mBAAqB,SAA4BnrsB,GACtD,GAAIA,GAAwC,oBAAxBA,EAAM89rB,cACxB,IAGE,QAF2B99rB,EAAM89rB,gBACGuN,UAEtC,CAAE,MAAO7zqB,GACP,CAGJ,OAAO,CACT,EACAh6B,EAAO0tsB,gBAAkB,WACvBtptB,KAAKg+sB,kBAAoB,KACzBh+sB,KAAK+ltB,iBACP,EACAnqsB,EAAO4tsB,YAAc,SAAqB3usB,GACxC,IAAIuD,EAAQvD,EAAMuD,MAChBjO,EAAW0K,EAAM1K,SACnBnQ,KAAKm9rB,OAAOusB,iBAAiB,cAAe,CAC1CzmL,MAAO7khB,EACP4gsB,SAAUh/sB,KAAK89sB,KAAKI,gBACnB,SAAUtoqB,GACX,GAAIA,EACF,OAAOzlC,EAASylC,GAElBzlC,GACF,GACF,EAQAyL,EAAO+tsB,uBAAyB,SAAgCpF,EAAiBp0sB,GAC/E,IAAIkqS,EAAUr6S,KACVihtB,EAAqB,CAAC,EAC1BA,EAAmBrC,SAAW5+sB,KAAK+0C,SACnCksqB,EAAmBuD,OAASD,EAC5B,IAAIzF,EAAU,CACZO,cAAe,kBACfiC,mBAAoBL,EACpBjC,SAAUh/sB,KAAK89sB,KAAKI,cACpBH,QAAS/9sB,KAAK+9sB,SAEZ/9sB,KAAKi/sB,uBACPH,EAAQI,gBAAkBl/sB,KAAKi/sB,sBAEjCj/sB,KAAKm9rB,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAUlpqB,EAAK7tC,GACpE,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,IAE5BykQ,EAAQ0ja,QAAUh2sB,EAAKg2sB,QACC,YAApBwG,EACKp0sB,EAAS+xsB,YAAYn6sB,EAAKs3sB,cAAet3sB,EAAKw3sB,qBAE/B,uBAApBgF,EACKp0sB,EAASkysB,aAAat6sB,EAAKs3sB,cAAet3sB,EAAKw3sB,0BADxD,EAIF,GACF,EAMA3jsB,EAAOqjsB,mBAAqB,WAE1B,OADWj/sB,KAAK89sB,KACJmB,mBAAmBj/sB,KAAK+0C,SACtC,EAOAn5B,EAAOgusB,uBAAyB,SAAgCz5sB,GAC9D,IAAI4qS,EAAU/6S,KACkB,MAA1BA,KAAKg+sB,mBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAW7D5kE,KAAKm9rB,OAAOvopB,QAAQ,yBAA0B,CAC5C6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,gBACpD,SAAU/8pB,EAAK7tC,GAChB,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAAS05sB,oBAAoB9htB,EAAK+htB,WAC3C,IAjBA9ptB,KAAKm9rB,OAAOvopB,QAAQ,yBAA0B,CAC5CmpqB,QAAS/9sB,KAAK+9sB,UACb,SAAUnoqB,EAAK7tC,GAChB,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,IAE5BmlQ,EAAQgja,QAAUh2sB,EAAKg2sB,QAChB5tsB,EAAS05sB,oBAAoB9htB,EAAK+htB,YAC3C,GAWJ,EASAlusB,EAAOmusB,oBAAsB,SAA6BC,EAAUC,EAAoB95sB,GACtF,IAAIgrS,EAAUn7S,KACkB,MAA1BA,KAAKg+sB,mBAA6Bh+sB,KAAKg+sB,kBAAkBp5oB,UAgC7D5kE,KAAKm9rB,OAAOvopB,QAAQ,sBAAuB,CACzC6nqB,YAAaz8sB,KAAKg+sB,kBAAkBZ,iBAAiBzK,cACrDuX,SAAUF,EACVG,mBAAoBF,IACnB,SAAUr0qB,EAAK7tC,GAChB,OAAI6tC,EACKzlC,EAASgvsB,UAAUvpqB,GAErBzlC,EAASwvsB,UAAU53sB,EAC5B,IAxCA/H,KAAKm9rB,OAAOvopB,QAAQ,sBAAuB,CACzCmpqB,QAAS/9sB,KAAK+9sB,QACdmM,SAAUF,EACVG,mBAAoBF,IACnB,SAAUr0qB,EAAK7tC,GAChB,GAAI6tC,EACF,OAAOzlC,EAASgvsB,UAAUvpqB,GAE5BulQ,EAAQ4ia,QAAUh2sB,EAAKg2sB,QACvB,IAAIkD,EAAqB,CAAC,EAC1BA,EAAmBrC,SAAWzja,EAAQpmQ,SACtC,IAAI+pqB,EAAU,CACZO,cAAe,YACfL,SAAU7ja,EAAQ2ia,KAAKI,cACvBoD,mBAAoBL,EACpBlD,QAAS5ia,EAAQ4ia,SAEf5ia,EAAQ8ja,uBACVH,EAAQI,gBAAkB/ja,EAAQ8ja,sBAEpC9ja,EAAQgiZ,OAAOvopB,QAAQ,yBAA0BkqqB,GAAS,SAAUsL,EAAYC,GAC9E,OAAID,EACKj6sB,EAASgvsB,UAAUiL,IAE5Bjva,EAAQ6ia,kBAAoB7ia,EAAQska,sBAAsB4K,EAAY3K,sBACtEvka,EAAQmja,cACDnusB,EAASwvsB,UAAUxka,EAAQ6ia,mBACpC,GAEF,GAaJ,EACOJ,CACT,CAltD+B,YC3D/B,SAAS0M,KAAa,CAEtBA,GAAUpqtB,UAAUm+C,UNuBX8wpB,GAAS9wpB,UMtBX,IAaP,MClBA,SAASgnmB,GAAe1C,EAAUC,GAAcD,EAASzipB,UAAYV,OAAOW,OAAOyipB,EAAW1ipB,WAAYyipB,EAASzipB,UAAUD,YAAc0ipB,EAAUK,GAAgBL,EAAUC,EAAa,CAC5L,SAAS2nE,GAAiB/wmB,GAAS,IAAI05C,EAAwB,oBAAR/hF,IAAqB,IAAIA,SAAQ5yE,EAA8nB,OAAnnBgstB,GAAmB,SAA0B/wmB,GAAS,GAAc,OAAVA,IAGlIt2F,EAHuKs2F,GAGjG,IAAzD2f,SAAS3pH,SAAS5O,KAAKsiB,GAAIliB,QAAQ,kBAH+H,OAAOw4G,EAGjN,IAA2Bt2F,EAH6L,GAAqB,oBAAVs2F,EAAwB,MAAM,IAAIp1G,UAAU,sDAAyD,GAAsB,qBAAX8uJ,EAAwB,CAAE,GAAIA,EAAOvsJ,IAAI6yG,GAAQ,OAAO05C,EAAOtsJ,IAAI4yG,GAAQ05C,EAAOpsJ,IAAI0yG,EAAOgxmB,EAAU,CAAE,SAASA,IAAY,OAAOzxlB,GAAWvf,EAAO94G,UAAWkT,GAAgB5T,MAAMC,YAAc,CAAkJ,OAAhJuqtB,EAAQtqtB,UAAYV,OAAOW,OAAOq5G,EAAMt5G,UAAW,CAAED,YAAa,CAAE6C,MAAO0ntB,EAAS3gtB,YAAY,EAAO49C,UAAU,EAAMD,cAAc,KAAkBw7lB,GAAgBwnE,EAAShxmB,EAAQ,EAAU+wmB,GAAiB/wmB,EAAQ,CACtvB,SAASuf,GAAWC,EAAQ1wG,EAAMkxF,GAA4V,OAAhQuf,GAC9H,WAAuC,GAAuB,qBAAZp3H,UAA4BA,QAAQu3H,UAAW,OAAO,EAAO,GAAIv3H,QAAQu3H,UAAUupZ,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFttgB,QAAQlV,UAAU28F,QAAQj8F,KAAKe,QAAQu3H,UAAU9jH,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOrU,IAAK,OAAO,CAAO,CAAE,CADzR8hpB,GAA4ClhpB,QAAQu3H,UAAU11F,OAA8B,SAAoBw1F,EAAQ1wG,EAAMkxF,GAAS,IAAIr0G,EAAI,CAAC,MAAOA,EAAEb,KAAKzD,MAAMsE,EAAGmjB,GAAO,IAAsD3Q,EAAW,IAA/CwhH,SAAS31F,KAAK3iC,MAAMm4H,EAAQ7zH,IAA6F,OAAnDq0G,GAAOwpiB,GAAgBrroB,EAAU6hG,EAAMt5G,WAAmByX,CAAU,EAAYohH,GAAWl4H,MAAM,KAAMH,UAAY,CAGxa,SAASsipB,GAAgBx+oB,EAAG5E,GAA6I,OAAxIojpB,GAAkBxjpB,OAAOC,eAAiBD,OAAOC,eAAe+jC,OAAS,SAAyBh/B,EAAG5E,GAAsB,OAAjB4E,EAAE9E,UAAYE,EAAU4E,CAAG,EAAUw+oB,GAAgBx+oB,EAAG5E,EAAI,CACvM,SAASgU,GAAgBpP,GAA+J,OAA1JoP,GAAkBpU,OAAOC,eAAiBD,OAAOogD,eAAepc,OAAS,SAAyBh/B,GAAK,OAAOA,EAAE9E,WAAaF,OAAOogD,eAAep7C,EAAI,EAAUoP,GAAgBpP,EAAI,CAGnN,IAAIimtB,GAA4B,SAAUC,GAExC,SAASD,EAAa9xsB,EAAS45B,EAAMxrC,EAAMstrB,GACzC,IAAInrrB,EAKJ,OAJAA,EAAQwhtB,EAAO9ptB,KAAKZ,KAAM2Y,IAAY3Y,MAChCuyC,KAAOA,EACbrpC,EAAMnC,KAAOA,EACbmC,EAAMmrrB,WAAaA,EACZnrrB,CACT,CACA,OATAm8oB,GAAeolE,EAAcC,GAStBD,CACT,CAXgC,CAWhBF,GAAiB5htB,QAE7B6yrB,GAAsB,WAOxB,SAASA,EAAOoE,EAAQvH,EAAUsyB,GAChC3qtB,KAAKq4rB,SAAWA,GAAY,uBAAyBuH,EAAS,kBAC9D,IACE3oD,GADS0zE,GAAgB,CAAC,GACP1zE,YACrBj3oB,KAAK2qtB,aAAe1zE,EAAc,CAChCA,YAAaA,GACX,CAAC,CACP,CASA,IAAIr7nB,EAAS4/qB,EAAOt7rB,UAsGpB,OArGA0b,EAAO6qsB,iBAAmB,SAA0Bp+sB,EAAWoxB,GAC7D,IAAI9nB,EAAS3R,KACb,OAAO,IAAI0C,SAAQ,SAAUC,EAASC,GACpC+O,EAAOijC,QAAQvsC,EAAWoxB,GAAQ,SAAUmc,EAAK7tC,GAC3C6tC,EACFhzC,EAAO,IAAI6ntB,GAAa70qB,EAAIj9B,QAASi9B,EAAIrD,KAAMqD,EAAI7uC,KAAM6uC,EAAIy+oB,aAE7D1xrB,EAAQoF,EAEZ,GACF,GACF,EACA6T,EAAO8tsB,iBAAmB,SAA0BrhtB,EAAWoxB,EAAQtpB,GACrE,IAAI6B,EAAShS,MAsJjB,SAAkC+srB,EAAiBzkqB,EAAM0kqB,QACpC,IAAfA,IACFA,EAAaH,IAEf,OAAOY,GAAMV,EAAiBzkqB,EAbhC,SAAyB0kqB,GACvB,IAAI49B,EAAe,IACfC,EAAgB,IACpB,OAAO,SAAU19B,GACf,IAAIh6pB,EAAQ7nB,KAAKmB,IAAI,EAAG0grB,GAAWy9B,EAAeC,EAAgBv/sB,KAAK8xD,SACvE,QAAOjqC,EAAQ65pB,IAAqB75pB,CACtC,CACF,CAMsCu6pB,CAAgBV,GACtD,EAzJIF,EAAyB,SAAUltrB,GACjC,OAAO,IAAI8C,SAAQ,SAAUsqD,EAAKqwlB,GAChCrroB,EAAO4iC,QAAQvsC,EAAWzI,GAAG,SAAUmF,EAAO7B,GACxC6B,EACFs4oB,EAAIt4oB,GAEJioD,EAAI9pD,EAER,GACF,GACF,GAAG,CAACu2B,GAXsB,KAWQr2B,MAAK,SAAUF,GAC/C,OAAOiN,EAAS,KAAMjN,EACxB,IAAU,OAAE,SAAU6B,GACpB,OAAOoL,EAASpL,EAClB,GACF,EAUA6W,EAAOg5B,QAAU,SAAiBvsC,EAAWoxB,EAAQtpB,GACnD,IAYIqlC,EAZAnB,EAAU,CACZ,eAAgB,6BAChB,eAAgB,qCAAuChsC,EACvD,mBAAoBiitB,GAAAA,UAAAA,UACpB,gBAAiB,YAEftvsB,EAAUxb,OAAOa,OAAO,CAAC,EAAGL,KAAK2qtB,aAAc,CACjDt2qB,QAASA,EACTp1C,OAAQ,OACRstB,KAAM,OACNjpB,KAAMirB,KAAKhP,UAAUka,KAIvB+khB,MAAMx+iB,KAAKq4rB,SAAUr9qB,GAAS5X,MAAK,SAAUmxrB,GAE3C,OADA/+oB,EAAW++oB,EACJA,CACT,IAAG,SAAU3+oB,GAGX,GAAIA,aAAexxC,UACjB,MAAM,IAAIuE,MAAM,iBAElB,MAAMitC,CACR,IAAGxyC,MAAK,SAAUmxrB,GAChB,OAAOA,EAAK7niB,OAAc,OAAE,WAC1B,MAAO,CAAC,CACV,GACF,IAAGtpJ,MAAK,SAAU2E,GAEhB,GAAIytC,EAAS0gS,GAAI,OAAO/lU,EAAS,KAAMpI,GACpBA,EAInB,IAAIwqC,GAAQxqC,EAAK+itB,QAAU/itB,EAAKwqC,MAAMz/B,MAAM,KAAKzO,MAC7CU,EAAQ,IAAI4D,MAAMZ,EAAK4Q,SAAW5Q,EAAKgurB,SAAW,MAGtD,OAFAhxrB,EAAMgC,KAAOwrC,EACbxtC,EAAMwtC,KAAOA,EACNpiC,EAASpL,EAClB,IAAU,OAAE,SAAU6wC,GAEpB,GAAIJ,GAAYA,EAASnB,SAAWmB,EAASnB,QAAQztC,IAAI,oBACvD,IACE,IAAI2rC,EAAOiD,EAASnB,QAAQztC,IAAI,oBAAoBkM,MAAM,KAAK,GAC3D/N,EAAQ,IAAI4D,MAAM6sC,EAASE,OAASF,EAASE,OAAOlmC,WAAa,MAIrE,OAHAzK,EAAMwtC,KAAOA,EACbxtC,EAAMgC,KAAOwrC,EACbxtC,EAAMsvrB,WAAa7+oB,EAASE,OACrBvlC,EAASpL,EAClB,CAAE,MAAO+oG,GACP,OAAO39F,EAASylC,EAClB,MAESA,aAAejtC,OAAyB,kBAAhBitC,EAAIj9B,UACrCi9B,EAAIrD,KAAO,gBAEb,OAAOpiC,EAASylC,EAClB,GACF,EACO4lpB,CACT,CA9H0B,GAgItBzkkB,GAAS,CACXiyjB,MAAO,WACL,GAiBA4D,IAD6BjkrB,MACP,SAA6Bgf,GAErD,OAAOA,GAAOA,EAAO,YACvB,GACA,SAAS8lqB,GAAMV,EAAiBzkqB,EAAM4kqB,EAASC,GAI7C,QAHgB,IAAZA,IACFA,EAAU,GAEmB,oBAApBJ,EACT,MAAMpkrB,MAAM,sCAGd,OADAouH,GAAOiyjB,MAAM+D,EAAgBhmrB,KAAO,aAAeomrB,EAAU,eAAiB5+pB,KAAKhP,UAAU+I,IACtFykqB,EAAgBlsrB,WAAM,EAAQynB,GAAa,OAAE,SAAUstB,GAE5D,GADAmhF,GAAOiyjB,MAAM,YAAc+D,EAAgBhmrB,KAAM6uC,GAC7Cg3oB,GAAoBh3oB,GAEtB,MADAmhF,GAAOiyjB,MAAM+D,EAAgBhmrB,KAAO,uBAAwB6uC,GACtDA,EAER,IAAIm1qB,EAAU79B,EAAQC,EAAS7kqB,EAAMstB,GAErC,GADAmhF,GAAOiyjB,MAAM+D,EAAgBhmrB,KAAO,gBAAkBgktB,EAAU,QAChD,IAAZA,EACF,OAAO,IAAIrotB,SAAQ,SAAUsqD,GAC3B,OAAOxzC,WAAWwzC,EAAK+9pB,EACzB,IAAG3ntB,MAAK,WACN,OAAOqqrB,GAAMV,EAAiBzkqB,EAAM4kqB,EAASC,EAAU,EACzD,IAEA,MAAMv3oB,CAEV,GACF,CASA,IAAIi3oB,GAAe,ICxMnB,ICRYm+B,GDWRC,GAA+B,WAejC,SAASA,EAAgBljtB,EAAM2/sB,GAC7B,IAAI9ssB,EAAO7S,GAAQ,CAAC,EAClBmjtB,EAAatwsB,EAAKswsB,WAClBlM,EAAWpksB,EAAKoksB,SAChB3mB,EAAWz9qB,EAAKy9qB,SAChBsyB,EAAe/vsB,EAAK+vsB,aACpBQ,EAAqCvwsB,EAAKuwsB,mCAC5C,IAAKD,IAAelM,EAClB,MAAM,IAAIr2sB,MAAM,8CAElB,GAAIuitB,EAAWvqtB,OA5BW,KA4B0B,wBAAwBghC,KAAKuprB,GAC/E,MAAM,IAAIvitB,MAAM,8BAElB,IAAIi3rB,EAASsrB,EAAWp4sB,MAAM,KAAK,GACnC9S,KAAK6/rB,WAAaqrB,EAClBlrtB,KAAKortB,SAAWpM,EAChBh/sB,KAAKm9rB,OAAS,IAAI3B,GAAOoE,EAAQvH,EAAUsyB,GAM3C3qtB,KAAKqrtB,oCAA4E,IAAvCF,EAC1CnrtB,KAAK8gR,QAAU/4Q,EAAK6nrB,UAAW,IAAIrD,IAAgB1ra,aAC/C6mc,IACF1ntB,KAAK0ntB,2BAA6BA,EAEtC,CAKA,IAAI9rsB,EAASqvsB,EAAgB/qtB,UAiH7B,OAhHA0b,EAAO0vsB,cAAgB,WACrB,OAAOtrtB,KAAK6/rB,UACd,EAKAjkrB,EAAOoksB,gBAAkB,WACvB,OAAOhgtB,KAAKsrtB,gBAAgBx4sB,MAAM,KAAK,EACzC,EAKA8I,EAAOsisB,YAAc,WACnB,OAAOl+sB,KAAKortB,QACd,EAkBAxvsB,EAAO2vsB,OAAS,SAAgBx2qB,EAAUhV,EAAUuirB,EAAgB52Z,EAAgBv7S,EAAU8ksB,GAC5F,IAAI/rsB,EAAQlJ,KACR8+sB,EAAU,CACZE,SAAUh/sB,KAAKortB,SACfxW,SAAU7/pB,EACV8/pB,SAAU90qB,EACVkmrB,eAAgB3D,EAChB3N,eAAgBjpZ,EAChBqpZ,eAAgBE,GAEdj1sB,KAAKi/sB,mBAAmBlqqB,KAC1B+pqB,EAAQI,gBAAkBl/sB,KAAKi/sB,mBAAmBlqqB,IAEpD/0C,KAAKm9rB,OAAOvopB,QAAQ,SAAUkqqB,GAAS,SAAUlpqB,EAAK7tC,GACpD,GAAI6tC,EACF,OAAOzlC,EAASylC,EAAK,MAEvB,IAAI41qB,EAAc,CAChB5W,SAAU7/pB,EACV8oqB,KAAM30sB,EACN0mrB,QAAS1mrB,EAAM43Q,SAEb2qc,EAAa,CACf3iC,KAAM,IAAI80B,GAAY4N,GACtBE,cAAe3jtB,EAAK4jtB,cACpBC,QAAS7jtB,EAAK8jtB,QACdrjC,oBAAqBzgrB,EAAK+jtB,qBAE5B,OAAO37sB,EAAS,KAAMs7sB,EACxB,GACF,EAOA7vsB,EAAOmwsB,eAAiB,WACtB,IAAInE,EAAc,kCAAoC5ntB,KAAKortB,SAAW,gBAClEY,EAAehstB,KAAK8gR,QAAQlvK,QAAQg2mB,GACxC,GAAIoE,EAAc,CAChB,IAAIR,EAAc,CAChB5W,SAAUoX,EACVnO,KAAM79sB,KACN4vrB,QAAS5vrB,KAAK8gR,SAEhB,OAAO,IAAI88b,GAAY4N,EACzB,CACA,OAAO,IACT,EAUA5vsB,EAAOqjsB,mBAAqB,SAA4BlqqB,GACtD,GAAiD,qBAAtCk3qB,kCAAX,CAIA,IAAIC,EAAyCD,kCAG7C,GAAIjstB,KAAKqrtB,mCAAoC,CAC3C,IAAIc,EAAuBD,EAAuC7mlB,QAAQtwF,EAAU/0C,KAAK6/rB,WAAY7/rB,KAAKortB,UAC1G,GAAIe,EAIF,MAHsB,CACpBC,YAAaD,EAInB,CACA,MAAO,CAAC,CAdR,CAeF,EACOlB,CACT,CAjKmC,eER/BoB,GAA6B,WAW/B,SAASA,EAActktB,GAsBrB,QArBa,IAATA,IACFA,EAAO,CAAC,GAENA,EAAK21C,SACP19C,KAAK09C,OAAS31C,EAAK21C,QAEjB31C,EAAKm1B,KACPl9B,KAAKk9B,KAAOn1B,EAAKm1B,KAEjBl9B,KAAKk9B,KAAO,IAEV19B,OAAOU,UAAUL,eAAee,KAAKmH,EAAM,WAC7C/H,KAAKy9C,QAAU11C,EAAK01C,QAEpBz9C,KAAKy9C,QAAU,IAEbj+C,OAAOU,UAAUL,eAAee,KAAKmH,EAAM,UAC7C/H,KAAK29C,OAAS51C,EAAK41C,OAEnB39C,KAAK29C,QAAS,EAEZn+C,OAAOU,UAAUL,eAAee,KAAKmH,EAAM,YAAa,CAC1D,IAAK,CAAC,SAAU,MAAO,QAAQinD,SAASjnD,EAAKutD,UAC3C,MAAM,IAAI3sD,MAAM,0EAElB,GAAsB,SAAlBZ,EAAKutD,WAAwBt1D,KAAK29C,OACpC,MAAM,IAAIh1C,MAAM,6EAElB3I,KAAKs1D,SAAWvtD,EAAKutD,QACvB,MACEt1D,KAAKs1D,SAAW,IAEpB,CAQA,IAAI15C,EAASywsB,EAAcnstB,UAwD3B,OAvDA0b,EAAOylQ,QAAU,SAAiB//Q,EAAKwB,GACrC,IAAIkY,EAAU,CACZkiB,KAAMl9B,KAAKk9B,KACXugB,QAASz9C,KAAKy9C,QACdC,OAAQ19C,KAAK09C,OACbC,OAAQ39C,KAAK29C,QAMf,OAJI39C,KAAKs1D,WACPt6C,EAAQs6C,SAAWt1D,KAAKs1D,UAE1BsliB,GAAAA,IAAYt5lB,EAAKwB,EAAOkY,GACjB4/kB,GAAAA,IAAYt5lB,EACrB,EAQAsa,EAAOg2F,QAAU,SAAiBtwG,GAChC,OAAOs5lB,GAAAA,IAAYt5lB,EACrB,EAOAsa,EAAO+iP,WAAa,SAAoBr9P,GACtC,IAAI0Z,EAAU,CACZkiB,KAAMl9B,KAAKk9B,KACXugB,QAASz9C,KAAKy9C,QACdC,OAAQ19C,KAAK09C,OACbC,OAAQ39C,KAAK29C,QAKf,OAHI39C,KAAKs1D,WACPt6C,EAAQs6C,SAAWt1D,KAAKs1D,UAEnBsliB,GAAAA,OAAet5lB,EAAK0Z,EAC7B,EAOAY,EAAO4hB,MAAQ,WAGb,IAFA,IAAIkW,EAAUknjB,GAAAA,MACV0xH,EAAU9stB,OAAOgR,KAAKkjC,GAAS/yC,OAC1Boc,EAAQ,EAAGA,EAAQuvsB,IAAWvvsB,EACrC/c,KAAK2+P,WAAWn/P,OAAOgR,KAAKkjC,GAAS32B,IAEvC,MAAO,CAAC,CACV,EACOsvsB,CACT,CA7GiC,eCEpBE,GAAY,SAAC3srB,GACzB,IAAM4srB,EAAcnutB,OAAOw3C,KAAKjW,EAHpB,SAIZ,OAAI4srB,EACI9ptB,QAAQC,QAAQ6ptB,GAEhB9ptB,QAAQE,QAEjB,ECKMworB,GACa,qBAAXpnrB,QAAgD,oBAAfA,OAAOmxiB,IAC5CnxiB,OAAOmxiB,IAAI,mBACX,oBAGEs3K,GAAoB,SAAClsrB,EAAex4B,EAAW4Q,GACpDyzqB,GAAItuD,SAAS,OAAQ,CAAEv9lB,MAAKA,EAAEx4B,KAAIA,EAAE4Q,QAAOA,GAAI,OAAQyyqB,GACxD,EAEMr0jB,GAAS,IAAIo0jB,GAAO,SAE1BuhC,GAAA,WAMC,SAAAA,EAAYhutB,OACXyxC,EAAAzxC,EAAAyxC,OACAw8qB,EAAAjutB,EAAAiutB,gBACAt/sB,EAAA3O,EAAAkutB,OAAAA,OAAA,IAAAv/sB,EAAA,GAAAA,EAUA,GAJArN,KAAK6stB,WAAa18qB,EAAO28qB,WAAaP,GACtCvstB,KAAKsqrB,QAAUn6oB,EACfnwC,KAAK+stB,iBAAmBJ,GAEnB3stB,KAAKgttB,cAAcJ,GACvB,MAAMjktB,MAAM,iCACb3I,KAAKittB,QAAUL,CAChB,CAyRD,OAvRSF,EAAAxstB,UAAA8stB,cAAR,SAAsBJ,GACrB,OACCjttB,MAAMkoB,QAAQ+ksB,IAAWA,EAAO5ttB,OAAM,SAAAq7Y,GAAS,MAAiB,kBAAVA,CAAP,GAEjD,EAEOqyU,EAAAxstB,UAAAgttB,YAAP,SACC54qB,EACAoJ,EACAisoB,EACAyhC,EACA/rB,EAGA8tB,QAPA,IAAA74qB,IAAAA,EAAA,aAIA,IAAA+qpB,IAAAA,EAEYhW,GAAgC+jC,SAG5C,IAAMC,EAAiBrttB,KAAKsttB,eAAe,IAQrCljtB,EAAQ+itB,EACRE,EAAc,IAAkBF,EC5ErCr6sB,MAAM,IACNjU,KAAI,SAAAi2H,GACJ,OAAAA,EACEpmH,WAAW,GACXc,SAAS,IACT+9sB,SAAS,EAAG,IAHd,IAKA99sB,KAAK,IDsEH49sB,GE5EmB,SAACjjtB,GACxB/L,OAAOqzG,eAAe2vK,QAAQ,cAAej3Q,EAC9C,CF4EEojtB,CAAsBpjtB,GAEtB,IEtEsBqjtB,EFsEhBC,EAAW1ttB,KAAK2ttB,gBAAgB,KEtEhBF,EFuEDC,EEtEtBrvtB,OAAOqzG,eAAe2vK,QAAQ,iBAAkBosc,GFwE/C,IAAMG,EAAiB5ttB,KAAK6ttB,mBAAmBH,GAGzCI,EAAe9ttB,KAAKittB,QAAQx9sB,KAAK,KAEjCsxrB,EAAcvhsB,OAAOib,QAAOra,GAAAA,GAAC,CAClC2ttB,aAAcpkC,EACdqkC,cAAe15qB,EACf25qB,UAAW7C,EACX8C,kBAAmB7uB,EACnBhlT,MAAOyzU,EACP1jtB,MAAKA,GACgB,SAAjBkqC,EAA0B,CAAEs5qB,eAAcA,GAAK,CAAC,GAC/B,SAAjBt5qB,EAA0B,CAAE65qB,sBAZH,QAY6B,CAAC,IAE1DtvtB,KAAI,SAACH,OAAA2O,EAAAxI,GAAAnG,EAAA,GAACgG,EAAA2I,EAAA,GAAGnJ,EAAAmJ,EAAA,GAAO,OAAGmlC,mBAAmB9tC,GAAE,IAAI8tC,mBAAmBtuC,EAA/C,IAChBuL,KAAK,KAED81kB,EAAM,WAAW7niB,EAAM,qBAAqBqjpB,EAClDhqkB,GAAOiyjB,MAAM,kBAAkBzjG,GAC/BvllB,KAAK6stB,WAAWtnI,EAAKokG,EACtB,EAEc+iC,EAAAxstB,UAAAkutB,gBAAd,SAA8BC,+HAY7B,OATQ97qB,IAAU7yB,EAAAA,GAAAA,IAAM2usB,GAAYv8jB,OAAS,IAC3Ch/I,MAAM,KACNjU,KAAI,SAAAyvtB,GAAY,OAAAA,EAASx7sB,MAAM,IAAf,IAChB4H,QAAO,SAAC6zsB,EAAO7vtB,SAAA20D,EAAAxuD,GAAAnG,EAAA,GAACgG,EAAA2uD,EAAA,GAAGnvD,EAAAmvD,EAAA,GAAO,OAAAjzD,GAAAA,GAAC,CAAC,EAAImutB,KAAKlhtB,EAAA,IAAG3I,GAAIR,EAACmJ,GAAnB,GAAwB,CAAEklC,UAAMh0C,IAAYg0C,KAElEi8qB,GAAqB9usB,EAAAA,GAAAA,IAAM2usB,GAAYxvqB,UAAY,IACnD4vqB,GACL/usB,EAAAA,GAAAA,IAAM1f,KAAKsqrB,QAAQX,gBAAgB9qoB,UAAY,IAE3CtM,GAAQi8qB,IAAuBC,GAI9BC,EACL,WAAa1utB,KAAKsqrB,QAAQ5soB,OAAS,gBAEpC+uqB,GACC,WACA,CAAC,EACD,0BAA0BiC,GAGrBT,EAAYxkC,GAAoBzprB,KAAKsqrB,SACxCtqrB,KAAK+stB,iBACL/stB,KAAKsqrB,QAAQqkC,SAEVZ,EAAetkC,GAAoBzprB,KAAKsqrB,SAC3CtqrB,KAAKsqrB,QAAQX,eACb3prB,KAAKsqrB,QAAQskC,YAEVC,EE7He,WACtB,IAAMC,EAAiBzwtB,OAAOqzG,eAAeE,QAAQ,kBAErD,OADAvzG,OAAOqzG,eAAeitJ,WAAW,kBAC1Bmwd,CACR,CFyHwBtB,GAEhBuB,EAAc3utB,GAAA,CACnB4utB,WAAY,qBACZz8qB,KAAIA,EACJ07qB,UAASA,EACTF,aAAYA,GACRc,EAAgB,CAAEA,cAAaA,GAAK,CAAC,GAG1C93lB,GAAOiyjB,MACN,2BAA2B0lC,EAAkB,QAC7CK,GAGKzrtB,EAAO9D,OAAOib,QAAQs0sB,GAC1BlwtB,KAAI,SAACH,OAAA2O,EAAAxI,GAAAnG,EAAA,GAACgG,EAAA2I,EAAA,GAAGnJ,EAAAmJ,EAAA,GAAO,OAAGmlC,mBAAmB9tC,GAAE,IAAI8tC,mBAAmBtuC,EAA/C,IAChBuL,KAAK,KAGL,GAAM+uiB,MAAMkwK,EAAoB,CAChCzvtB,OAAQ,OACRo1C,QAAS,CACR,eAAgB,qCAEjB/wC,KAAIA,MA7CL,WAuCwD,SACvD+J,EAAAzJ,OAOA8oJ,eAEF,GAVMhuJ,EAAmD2O,EAAAzJ,OAAjDqrtB,EAAYvwtB,EAAAuwtB,aAAEC,EAAaxwtB,EAAAwwtB,cAAE1gC,EAAQ9vrB,EAAA8vrB,SAAEzprB,EAAKrG,EAAAqG,MAWnD,MAAM,IAAI4D,MAAM5D,GAGjB,MAAO,CAAP,EAAO,CACNiqrB,YAAaigC,EACb9d,aAAc+d,EACdzc,QAASjkB,YAIGk+B,EAAAxstB,UAAAivtB,oBAAd,SAAkCd,kFAcjC,OAZM3vtB,IAA8BghB,EAAAA,GAAAA,IAAM2usB,GAAYrntB,MAAQ,KAC5DgW,OAAO,GACPlK,MAAM,KACNjU,KAAI,SAAAyvtB,GAAY,OAAAA,EAASx7sB,MAAM,IAAf,IAChB4H,QAAO,SAAC6zsB,EAAO7vtB,SAAA20D,EAAAxuD,GAAAnG,EAAA,GAACgG,EAAA2uD,EAAA,GAAGnvD,EAAAmvD,EAAA,GAAO,OAAAjzD,GAAAA,GAAC,CAAC,EAAImutB,KAAKlhtB,EAAA,IAAG3I,GAAIR,EAACmJ,GAAnB,GAAwB,CAClDmhrB,cAAUjwrB,EACV0wtB,kBAAc1wtB,IANRiwrB,EAAQ9vrB,EAAA8vrB,SAAEygC,EAAYvwtB,EAAAuwtB,aAS9BxC,GAAkB,eAAgB,CAAC,EAAG,mBAAmB4B,GACzDt3lB,GAAOiyjB,MAAM,mCAAmCqlC,EAAU,SAEnD,CAAP,EAAO,CACNr/B,YAAaigC,EACbxc,QAASjkB,EACT2iB,aAAc,cAIHub,EAAAxstB,UAAAkvtB,mBAAb,SAAgCf,iHAiB9B,yBAfMgB,EAAYhB,EACdjutB,GAAAA,GAAA,KACGsf,EAAAA,GAAAA,IAAM2usB,GAAYrntB,MAAQ,KAC5BgW,OAAO,GACPlK,MAAM,KACNjU,KAAI,SAAAwuH,GAAS,OAAAA,EAAMv6G,MAAM,IAAZ,IACb4H,QAAO,SAACC,EAAKjc,OAAA2O,EAAAxI,GAAAnG,EAAA,GAACgG,EAAA2I,EAAA,GAAGnJ,EAAAmJ,EAAA,GAAO,OAAEsN,EAAIjW,GAAKR,EAAIyW,CAAf,GAAqB,CAAC,MAC5C+E,EAAAA,GAAAA,IAAM2usB,GAAYv8jB,OAAS,IAC7Bh/I,MAAM,KACNjU,KAAI,SAAAwuH,GAAS,OAAAA,EAAMv6G,MAAM,IAAZ,IACb4H,QAAO,SAACC,EAAKjc,OAAA2O,EAAAxI,GAAAnG,EAAA,GAACgG,EAAA2I,EAAA,GAAGnJ,EAAAmJ,EAAA,GAAO,OAAEsN,EAAIjW,GAAKR,EAAIyW,CAAf,GAAqB,CAAC,IAEhD,CAAC,EACI5V,EAA6BsqtB,EAAStqtB,MAA/BuqtB,EAAsBD,EAASC,kBAE1CvqtB,EACH,MAAM,IAAI4D,MAAM2mtB,UAGXlltB,EAAgBpK,KAAKuvtB,eAAeF,GAE1Ct4lB,GAAOiyjB,MACN,YAAYhprB,KAAKsqrB,QAAQh2oB,aAAY,cAAc+5qB,GAElB,SAA9BrutB,KAAKsqrB,QAAQh2oB,aAAb,cACU,GAAMt0C,KAAKoutB,gBAAgBC,YAAxC,MAAO,CAAP,EAAAjutB,GAAAA,WAAA,GAAAA,GAAAA,WAAA,EAAA1B,EAAAK,OAAA,CAAas0D,EAAAzvD,UAAuC,CAAEwG,MAAKA,aAE9C,iBAAMpK,KAAKmvtB,oBAAoBd,WAA5C,MAAO,CAAP,EAAAjutB,GAAAA,WAAA,GAAAA,GAAAA,WAAA,EAAAiN,EAAAtO,OAAA,CAAas0D,EAAAzvD,UAA2C,CAAEwG,MAAKA,gCAIhE,iBADA2sH,GAAOiyjB,MAAM,gCAAiCiqB,GACxCA,2BAIAyZ,EAAAxstB,UAAAqvtB,eAAR,SAAuBF,GACtB,GAAKA,EAAL,CAIA,IAAMG,EE9OgB,WACvB,IAAMC,EAAcpxtB,OAAOqzG,eAAeE,QAAQ,eAElD,OADAvzG,OAAOqzG,eAAeitJ,WAAW,eAC1B8wd,CACR,CF0OqBjC,GACXkC,EAAAL,EAAAjltB,MAGR,GAAIoltB,GAAcA,IAAeE,EAChC,MAAM,IAAI/mtB,MAAM,+BAEjB,OAAO+mtB,EACR,EAEahD,EAAAxstB,UAAA8nrB,QAAb,0FAyBC,OAxBI2nC,EAAsB,WAAa3vtB,KAAKsqrB,QAAQ5soB,OAAS,WAEvDuwqB,EAAYxkC,GAAoBzprB,KAAKsqrB,SACxCtqrB,KAAK+stB,iBACL/stB,KAAKsqrB,QAAQZ,MAAMilC,SAEhBiB,EAAcnmC,GAAoBzprB,KAAKsqrB,SAC1CtqrB,KAAKsqrB,QAAQulC,gBACb7vtB,KAAKsqrB,QAAQwlC,SAEhBH,GAAuBnwtB,OAAOib,QAAQ,CACrCwzsB,UAASA,EACT8B,WAAYv9qB,mBAAmBo9qB,KAE9B/wtB,KAAI,SAACH,OAAA2O,EAAAxI,GAAAnG,EAAA,GAAW,OAAV2O,EAAA,GAAc,IAAXA,EAAA,EAAO,IAChBoC,KAAK,KAEPg9sB,GACC,eACA,CAAEuD,MAAO,WACT,oBAAoBL,GAErB54lB,GAAOiyjB,MAAM,oBAAoB2mC,GAE1B,CAAP,EAAO3vtB,KAAK6stB,WAAW8C,EAAqBC,WAGrClD,EAAAxstB,UAAAottB,eAAR,SAAuB3stB,GAKtB,IAJA,IAAIuC,EAAS,GACT1C,EAAIG,EACFkxf,EACL,iEACMrxf,EAAI,IAAKA,EACf0C,GAAU2uf,EAAMvmf,KAAKglB,MAAsB,GAAhBhlB,KAAK8xD,WACjC,OAAOl6D,CACR,EAEQwptB,EAAAxstB,UAAA2ttB,mBAAR,SAA2Bt7qB,GAC1B,IAAMmoqB,EAAgB,IAAIjzsB,GAAAA,OAC1BizsB,EAAc5ysB,OAAOyqC,GAErB,IAAMooqB,EAAsBD,EAAc1tsB,aACpCkzC,EAAMxyC,GAAAA,GAAAA,KAAYitsB,GAAqBnrsB,SAAS,UAGtD,OAF+BxP,KAAKiwtB,WAAW/vqB,EAGhD,EAEQwsqB,EAAAxstB,UAAA+vtB,WAAR,SAAmBrosB,GAClB,OAAOA,EAAOvN,QAAQ,KAAM,IAAIA,QAAQ,MAAO,KAAKA,QAAQ,MAAO,IACpE,EAEQqysB,EAAAxstB,UAAAyttB,gBAAR,SAAwBhtsB,GACvB,IAEMlX,EAAS,IAAIvC,WAAWyZ,GAC9B,GAAsB,qBAAXtiB,QAA4BA,OAAO0L,OAC7C1L,OAAO0L,OAAOpL,gBAAgB8K,QAE9B,IAAK,IAAIjJ,EAAI,EAAGA,EAAImgB,EAAMngB,GAAK,EAC9BiJ,EAAOjJ,GAAsB0vtB,GAAhB5ktB,KAAK8xD,SAA6B,EAGjD,OAAOp9D,KAAKmwtB,gBAAgB1mtB,EAC7B,EAEQijtB,EAAAxstB,UAAAiwtB,gBAAR,SAAwB1mtB,GAIvB,IAHA,IAAMymtB,EACL,iEACK9ltB,EAAQ,GACL5J,EAAI,EAAGA,EAAIiJ,EAAOE,WAAYnJ,GAAK,EAAG,CAC9C,IAAMuc,EAAQtT,EAAOjJ,GAAK0vtB,GAC1B9ltB,EAAM9F,KAAK4rtB,EAAQnzsB,IAEpB,OAAO3S,EAAMqF,KAAK,GACnB,EACDi9sB,CAAA,CA/SA,UH7BA,SAAY1B,GACXA,EAAA,mCACAA,EAAA,oCACAA,EAAA,2CACAA,EAAA,0CACAA,EAAA,sFACAA,EAAA,0CACAA,EAAA,+CACAA,EAAA,uCACAA,EAAA,sCACAA,EAAA,+BACAA,EAAA,qDACAA,EAAA,sEACAA,EAAA,8BACAA,EAAA,0EACAA,EAAA,yDACA,CAhBD,CAAYA,KAAAA,GAAgB,KMO5B,IAAMj0lB,GAAS,IAAIo0jB,GAAO,aAE1BilC,GAAA,SAAAt/sB,GAEC,SAAAs/sB,EAAY54sB,GAAZ,IAAAtO,EAAA,KACOxK,EAAA2xtB,GAAA74sB,GAAEmB,EAAAja,EAAAia,QAASq+G,EAAAt4H,EAAAs4H,WACjB9tH,EAAA4H,EAAAlQ,KAAA,KAAM+X,IAAQ,MAIT1Y,YAAcmwtB,EACnB5wtB,OAAOC,eAAeyJ,EAAMkntB,EAAUlwtB,WAEtCgJ,EAAKnC,KAAO,YACZmC,EAAK8tH,IAAMA,GAAOr+G,EAElBo+G,GAAOhyH,MAAMmE,EAAK8tH,MACnB,CACD,OAhB+Bl3H,GAAAswtB,EAAAt/sB,GAgB/Bs/sB,CAAA,CAhBA,CAA+BzntB,OAkB/B2ntB,GAAA,SAAAx/sB,GACC,SAAAw/sB,EAAY94sB,GAAZ,IAAAtO,EACC4H,EAAAlQ,KAAA,KAAM4W,IAAK,YAIXtO,EAAKjJ,YAAcqwtB,EACnB9wtB,OAAOC,eAAeyJ,EAAMontB,EAAgBpwtB,WAE5CgJ,EAAKnC,KAAO,mBACb,CACD,OAXqCjH,GAAAwwtB,EAAAx/sB,GAWrCw/sB,CAAA,CAXA,CAAqCF,IAaxBC,GAAuC,CACnDE,SAAU,CACT53sB,QAASqysB,GAAiBwF,YAC1Bx5lB,IAAK,+nBAWNy5lB,kBAAmB,CAClB93sB,QAASqysB,GAAiBwF,YAC1Bx5lB,IAAK,soBAWN05lB,cAAe,CACd/3sB,QAASqysB,GAAiB2F,gBAG3BC,gBAAiB,CAChBj4sB,QAASqysB,GAAiB6F,kBAE3BC,cAAe,CACdn4sB,QAASqysB,GAAiB+F,gBAE3BC,UAAW,CACVr4sB,QAASqysB,GAAiBiG,YAE3BC,YAAa,CACZv4sB,QAASqysB,GAAiBmG,cAC1Bn6lB,IAAK,kEAENo6lB,MAAO,CACNz4sB,QAASqysB,GAAiBqG,QAE3BC,WAAY,CACX34sB,QAASqysB,GAAiBuG,aAE3BC,uBAAwB,CACvB74sB,QAASqysB,GAAiByG,iBAE3BC,cAAe,CACd/4sB,QAASqysB,GAAiB2G,iBAE3BC,aAAc,CACbj5sB,QAASqysB,GAAiB6G,eAE3BC,aAAc,CACbn5sB,QAASqysB,GAAiB+G,eAE3BC,gBAAiB,CAChBr5sB,QAASqysB,GAAiBiH,kBAE3B3rtB,QAAS,CACRqS,QAASqysB,GAAiBwF,cCrCtBz5lB,GAAS,IAAIo0jB,GAAO,aACpB+mC,GAAmB,gCAKnB9mC,GACa,qBAAXpnrB,QAAgD,oBAAfA,OAAOmxiB,IAC5CnxiB,OAAOmxiB,IAAI,mBACX,oBAGEs3K,GAAoB,SAAClsrB,EAAex4B,EAAW4Q,GACpDyzqB,GAAItuD,SAAS,OAAQ,CAAEv9lB,MAAKA,EAAEx4B,KAAIA,EAAE4Q,QAAOA,GAAI,OAAQyyqB,GACxD,EAYA+mC,GAAA,WAkBC,SAAAA,EAAYhirB,GAAZ,IAAAjnC,EAAA,KAhBQ,KAAAkptB,SAA4B,KAC5B,KAAAtpC,KAAY,KAIZ,KAAAupC,qBAA+B,EAE/B,KAAAC,qBAA+B,EAC/B,KAAAC,uBAA6D,KAC7D,KAAAC,8BAAwC,EAChD,KAAA7iC,YAAcA,GA6Kd,KAAA+3B,2BAA6B,SAACv3sB,GAa7B,OAZkC,SAACpL,EAAOgD,GAUzC,OATIA,EACH0ktB,GAAkB,oBAAgBlutB,EAAW,uBAE7CkutB,GACC,uBACA1ntB,EACA,gCAGKoL,EAASpL,EAAOgD,EACxB,CAED,EApLC/H,KAAKi/B,UAAUkR,GACfnwC,KAAKyytB,mBAAqBzytB,KAAKyytB,mBAAmBjvrB,KAAKxjC,MACvDA,KAAK4wsB,uBAAyB5wsB,KAAK4wsB,uBAAuBptqB,KAAKxjC,MAE/DosrB,GAAIp3kB,OAAO,QAAQ,SAACt2G,GAEnB,OAFqBA,EAAAu/C,QACb1d,OAEP,IAAK,SACL,IAAK,SACJr3B,EAAK4msB,SAASzub,QAAQ,+BAAgC,SACtD,MACD,IAAK,UACJn4Q,EAAK4msB,SAASnxc,WAAW,gCACzB,MACD,IAAK,kBACJz1P,EAAK4msB,SAASzub,QAAQ,+BAAgC,QAGzD,GACD,CAulFD,OArlFQ8wc,EAAAjytB,UAAAuwrB,cAAP,WACC,MAAO,MACR,EAEA0hC,EAAAjytB,UAAA++B,UAAA,SAAUkR,GAAV,IAAAjnC,EAAA,KACC,IAAKinC,EAAQ,OAAOnwC,KAAKsqrB,SAAW,CAAC,EACrCvzjB,GAAOiyjB,MAAM,kBACb,IAAM0pC,EAAOlztB,OAAOa,OACnB,CAAC,EACDL,KAAKsqrB,QACLiV,GAAgBpvpB,GAAQq/oB,KACxBr/oB,GAEDnwC,KAAKsqrB,QAAUooC,EACT,IAAAh0tB,EAAA,KAAA4rrB,QACLuV,EAAAnhsB,EAAAmhsB,WACAC,EAAAphsB,EAAAohsB,oBACA6yB,EAAAj0tB,EAAAi0tB,cACAjpC,EAAAhrrB,EAAAgrrB,MACAkW,EAAAlhsB,EAAAkhsB,OACAT,EAAAzgsB,EAAAygsB,eACAa,EAAAthsB,EAAAshsB,gBACA6P,EAAAnxsB,EAAAmxsB,gBACA9P,EAAArhsB,EAAAqhsB,mBACAkV,EAAAv2sB,EAAAu2sB,eACA5c,EAAA35rB,EAAA25rB,SACAv3a,EAAApiR,EAAAoiR,QAGD,GAAKA,EAQE,CACN,IAAK9gR,KAAK4ytB,oBAAoB9xc,GAE7B,MADA/pJ,GAAOhyH,MAAM,gDACP,IAAI4D,MAAM,wBAEjB3I,KAAK8vsB,SAAWhvb,OAXG9gR,KAAK8vsB,SAApB6iB,EAA+B,IAAItG,GAAcsG,GAEpCxirB,EAAO0irB,IACpB,IAAI3e,IACJ,IAAI3nB,IAAgB1ra,aAezB,GALA7gR,KAAK+vsB,aAAertsB,QAAQC,UACS,oBAA1B3C,KAAK8vsB,SAAe,OAC9B9vsB,KAAK+vsB,aAAe/vsB,KAAK8vsB,SAAe,QAGrCjQ,EAAY,CACf,IAAMizB,EAAqC,CAC1C5H,WAAYrrB,EACZmf,SAAUlf,EACVzH,SAAQA,GAETy6B,EAAaljC,QAAU5vrB,KAAK8vsB,SAE5B9vsB,KAAKoytB,SAAW,IAAInH,GACnB6H,EACA9ytB,KAAK0ntB,4BAIP1ntB,KAAK2vrB,YAAY1wpB,UAAU,CAC1B+gqB,gBAAeA,EACfJ,OAAMA,EACNC,WAAUA,EACVV,eAAcA,EACd0Q,gBAAeA,EACf/ub,QAAS9gR,KAAK8vsB,SACd/P,mBAAkBA,IAKnB,IAAMgzB,EAAwBrpC,EAC3BD,GAAoBzprB,KAAKsqrB,QAAQZ,OAChCA,EACMA,EAAOspC,gBACdz0tB,EAEH,GAAIw0tB,EAAuB,CAC1B,IAAME,EAAoBzztB,OAAOa,OAChC,CACCsstB,gBAAiB7sB,EACjBorB,WAAYrrB,EACZnipB,OAAQq1qB,EAA8B,OACtCnG,OAAQmG,EAA6B,MACrCppC,eAAgBopC,EAAsC,eACtDlD,gBAAiBkD,EAAuC,gBACxDz+qB,aAAcy+qB,EAAoC,aAClDnjC,QAAS5vrB,KAAK8vsB,SACdgd,UAAWiG,EAAiC,UAC5C9d,eAAcA,GAEf8d,EAA+B,SAGhC/ytB,KAAKkztB,cAAgB,IAAIxG,GAAM,CAC9BE,OAAQqG,EAAkBrG,OAC1Bz8qB,OAAQ8irB,EACRtG,gBAAiBsG,EAAkBtG,kBAMpC,IAAMwG,EAAmB,CAAC,GC/O7B,SAAehjtB,GACd,GAAIs8qB,KAAgBpjoB,WAAahrD,OAAOkgC,SAGvCpuB,EAAS,CAAEyvB,IAFCvhC,OAAOkgC,SAASigB,YAGtB,IAAIiuoB,KAAgBr5kB,OAI1B,MAAM,IAAIzqG,MAAM,gBAEjB,CDqOEyqtB,EAAY,SAAC10tB,OAAEkhC,EAAAlhC,EAAAkhC,IACVuzrB,EAAiBvzrB,KAIrBuzrB,EAAiBvzrB,IAAO,EACxB12B,EAAKmqtB,oBAAoBzzrB,GAC1B,KAGD6srB,GACC,aACA,KACA,sDAICzstB,KAAKsytB,qBAC8B,oBAA7BtytB,KAAK8vsB,SAAkB,WAEL9vsB,KAAKsztB,mBAC7B,6BAGA7G,GACC,qBACA,KACAnjC,GAAeiqC,iBAEhBvztB,KAAK8vsB,SAASnxc,WAAW,yBAE1B3+P,KAAK8vsB,SAASnxc,WAAW,4BAE1B,OAAO3+P,KAAKsqrB,OACb,EAwBO6nC,EAAAjytB,UAAAqrtB,OAAP,SACC9xrB,OADD,UAAAvwB,EAAA,KAECsqtB,EAAA,GAAAxrsB,EAAA,EAAAA,EAAAtnB,UAAAC,OAAAqnB,IAAAwrsB,EAAAxrsB,EAAA,GAAAtnB,UAAAsnB,GAEA,IAAKhoB,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAGb,IAIIxe,EAJAlgqB,EAAmB,KACnBhV,EAAmB,KACjB6hF,EAAqC,GACvC8pM,EAAyC,KAEzCgoa,EAAgC,CAAE1koB,SAAS,GAC3C2koB,EAA2B,CAAC,EAC5BC,EAA2C,CAAC,EAEhD,GAAIn6rB,GAA4B,kBAAXA,EAAqB,CACzCsb,EAAWtb,EACXsG,EAAWyzrB,EAAcA,EAAY,GAAK,KAC1C,IAAM1zrB,EAAgB0zrB,EAAcA,EAAY,GAAK,KAC/CK,EAAuBL,EAAcA,EAAY,GAAK,KAExD1zrB,GACH8hF,EAAWt9G,KACV,IAAIq5sB,GAAqB,CAAEhpM,KAAM,QAASE,MAAO/0e,KAG/C+zrB,GACHjymB,EAAWt9G,KACV,IAAIq5sB,GAAqB,CACxBhpM,KAAM,eACNE,MAAOg/M,SAGJ,KAAIp6rB,GAA4B,kBAAXA,EAuC3B,OAAOz5B,KAAK8ztB,gBAAgBxqC,GAAeyqC,aAtC3Ch/qB,EAAWtb,EAAiB,SAC5BsG,EAAWtG,EAAiB,SAExBA,GAAUA,EAAOw7qB,eACpBA,EAAiBx7qB,EAAOw7qB,eACdj1sB,KAAKsqrB,QAAQ2qB,iBACvBA,EAAiBj1sB,KAAKsqrB,QAAQ2qB,gBAG/B,IAAM+e,EAAQv6rB,EAAmB,WAC7Bu6rB,GACHx0tB,OAAOgR,KAAKwjtB,GAAOn1tB,KAAI,SAAAyC,GACtBsgH,EAAWt9G,KACV,IAAIq5sB,GAAqB,CAAEhpM,KAAMrzgB,EAAKuzgB,MAAOm/M,EAAM1ytB,KAErD,IAGD,IAAM2ytB,EAAuBx6rB,EAAuB,eAChDw6rB,IACHvoa,EAAiB,GACjBlsT,OAAOgR,KAAKyjtB,GAAsBp1tB,KAAI,SAAAyC,GACrCoqT,EAAepnT,KACd,IAAIq5sB,GAAqB,CACxBhpM,KAAMrzgB,EACNuzgB,MAAOo/M,EAAqB3ytB,KAG/B,MAGDoytB,EAA8B,QAApBh1tB,EAAG+6B,EAAOi6rB,kBAAU,IAAAh1tB,EAAAA,EAAI,CAAEswF,SAAS,IAC9BA,UACdhvF,KAAK8vsB,SAASzub,QAAQ,uBAAwB,QAC9Csyc,EAAoD,QAA5BtmtB,EAAGqmtB,EAAWhoa,sBAAc,IAAAr+S,EAAAA,EAAI,CAAC,EACzDumtB,EAAoD,QAA5BvgqB,EAAGqgqB,EAAW7U,sBAAc,IAAAxrpB,EAAAA,EAAI,CAAC,GAM3D,OAAKte,EAGAhV,GAILg3F,GAAOiyjB,MAAM,gBAAiBpnkB,GAC9BmV,GAAOiyjB,MAAM,0BAA2Bt9X,GAEjC,IAAIhpT,SAAQ,SAACC,EAASC,GAC5BsG,EAAKkptB,SAAS7G,OACbx2qB,EACAhV,EACA6hF,EACA8pM,GACA,SAAC91Q,EAAK7tC,GACD6tC,GACH62qB,GACC,iBACA72qB,EACGb,EAAQ,qBAEZnyC,EAAOgzC,KAEP62qB,GACC,SACA1ktB,EACGgtC,EAAQ,+BAER2+qB,EAAW1koB,SACd9lF,EAAKgrtB,iBACJn/qB,EACAhV,EACA4zrB,EACAC,EACA7rtB,GAGFpF,EAAQoF,GAEV,GACAktsB,EAEF,KAxCQj1sB,KAAK8ztB,gBAAgBxqC,GAAe6qC,eAHpCn0tB,KAAK8ztB,gBAAgBxqC,GAAe8qC,cA4C7C,EAEQjC,EAAAjytB,UAAAg0tB,iBAAR,SACCn/qB,EACAhV,EACA2rR,EACAupZ,EACAltsB,GAEA/H,KAAKsytB,qBAAsB,EAC3B,IAAM3T,EAAc,IAAIjK,GAAsB,CAC7CE,SAAU7/pB,EACV8/pB,SAAU90qB,EACV40qB,eAAgBjpZ,EAChBqpZ,eAAgBE,IAEbltsB,EAAK2jtB,cACR1rtB,KAAKq0tB,yBAAyB1V,GACsB,SAA1C3+sB,KAAKsqrB,QAAQ2V,yBACvBjgsB,KAAKs0tB,qBAAqB3V,GAE1B3+sB,KAAKu0tB,qBAAqB5V,EAE5B,EAEQwT,EAAAjytB,UAAAq0tB,qBAAR,SAA6B5V,GAA7B,IAAAz1sB,EAAA,KAMCkjrB,GAAIp3kB,OAAO,QALS,SAAdw/mB,EAAe91tB,GACE,kBADAA,EAAAu/C,QACV1d,OACXr3B,EAAKmrtB,yBAAyB1V,EAAa6V,EAE7C,GAED,EAEQrC,EAAAjytB,UAAAo0tB,qBAAR,SAA6B3V,GAA7B,IAAAz1sB,EAAA,KACClJ,KAAK8vsB,SAASzub,QAAQ,0BAA2B,QACjD,IAAM15O,EAAQmW,KAAKE,MACby2qB,EAA8BnhT,aAAY,WAC3Cx1X,KAAKE,MAAQrW,EApXc,MAqX9BksY,cAAc4gT,GACdhI,GACC,qBACA,KACA,oEAEDvjtB,EAAK4msB,SAASnxc,WAAW,yBAEzBz1P,EAAKmrtB,yBACJ1V,EACA,KACA8V,EAGH,GAAG,IACJ,EAEctC,EAAAjytB,UAAAm0tB,yBAAd,SACC1V,EACA6V,EACAC,8GAEM3rC,EAAO9orB,KAAK00tB,kBAAkB/V,EAAYzJ,gCAE/C,gCAAMpsB,EAAK82B,iBACVjB,EACA3+sB,KAAK20tB,cACJ7rC,GACA,SAAAhmrB,GACC2ptB,GACC,aACA3ptB,EACG67sB,EAAYzJ,cAAa,+BAEzBsf,GACHpoC,GAAIr4qB,OAAO,OAAQygtB,GAEhBC,IACH5gT,cAAc4gT,GACdvrtB,EAAK4msB,SAASnxc,WAAW,4BAE1Bz1P,EAAK4msB,SAASnxc,WAAW,uBAC1B,IACA,SAAA55P,GACCgyH,GAAOhyH,MAAMA,GACbmE,EAAK4msB,SAASnxc,WAAW,uBAC1B,oBAtBFjgQ,EAAAkF,sCA0BAmzH,GAAOhyH,MAAM6vtB,kCAWRzC,EAAAjytB,UAAA20tB,cAAP,SACC9/qB,EACAxC,EACAv3B,GAHD,IAAA9R,EAAA,KAKC,IAAKlJ,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAEb,IAAK1+qB,EACJ,OAAO/0C,KAAK8ztB,gBAAgBxqC,GAAe8qC,eAE5C,IAAK7hrB,EACJ,OAAOvyC,KAAK8ztB,gBAAgBxqC,GAAewrC,WAG5C,IAMI7f,EANEnsB,EAAO9orB,KAAK00tB,kBAAkB3/qB,GAC9BovqB,GACLnpsB,GAAiD,mBAA/BA,EAAQmpsB,oBACvBnpsB,EAAQmpsB,mBASZ,OALInpsB,GAAWA,EAAQi6rB,eACtBA,EAAiBj6rB,EAAQi6rB,eACfj1sB,KAAKsqrB,QAAQ2qB,iBACvBA,EAAiBj1sB,KAAKsqrB,QAAQ2qB,gBAExB,IAAIvysB,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKm7B,oBACJ1xqB,EACA4xqB,GACA,SAACvuqB,EAAK7tC,GACD6tC,EACHhzC,EAAOgzC,IAEP62qB,GACC,gBACA1ktB,EACGgtC,EAAQ,oCAEO7rC,EAAKoqtB,mBAAmB,0BACxBpqtB,EAAKoptB,sBACvB7F,GACC,qBACA,KACAnjC,GAAeiqC,iBAEhBrqtB,EAAK4msB,SAASnxc,WAAW,yBAE1Bh8P,EAAQoF,GAEV,GACAktsB,EAEF,GACD,EAEQkd,EAAAjytB,UAAAoztB,mBAAR,SAA2BxwtB,GAC1B,IAAMsW,EAAOpZ,KAAK8vsB,SAASl+lB,QAAQ9uG,GACnC,QAAOsW,GAAgB,SAATA,CACf,EAQO+4sB,EAAAjytB,UAAA60tB,aAAP,SACChgrB,EACAkgqB,GAEA,QAFA,IAAAA,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzCj1sB,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAEb,IAAK1+qB,EACJ,OAAO/0C,KAAK8ztB,gBAAgBxqC,GAAe8qC,eAG5C,IAAMtrC,EAAO9orB,KAAK00tB,kBAAkB3/qB,GACpC,OAAO,IAAIryC,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKo+B,wBAAuB,SAACtxqB,EAAK7tC,GAC7B6tC,EACHhzC,EAAOgzC,GAEPjzC,EAAQoF,EAEV,GAAGktsB,EACJ,GACD,EASOkd,EAAAjytB,UAAA80tB,OAAP,SACCC,EACAC,EACAjgB,GAEA,QAFA,IAAAA,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzCj1sB,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAGb,IAAI1+qB,EAAW,KACXhV,EAAW,KACX2rR,EAAiB,CAAC,EAGtB,GAAoC,kBAAzBupa,EACVlgrB,EAAWkgrB,EACXl1rB,EAAWm1rB,MACL,KAA2BD,EjIxaIlgrB,SiIkbrC,OAAO/0C,KAAK8ztB,gBAAgBxqC,GAAe6rC,iBATzB,qBAAPD,GACVn+lB,GAAOt3E,KACN,oEAGF1K,EAAWkgrB,EAAqBlgrB,SAChChV,EAAWk1rB,EAAqBl1rB,SAChC2rR,EAAiBupa,EAAqBvpa,eAIvC,IAAK32Q,EACJ,OAAO/0C,KAAK8ztB,gBAAgBxqC,GAAe8qC,eAE5C,IAAMzV,EAAc,IAAIjK,GAAsB,CAC7CE,SAAU7/pB,EACV8/pB,SAAU90qB,EACV40qB,eAAgBjpZ,EAChBqpZ,eAAgBE,IAEjB,OAAIl1qB,EACI//B,KAAKo1tB,mBAAmBzW,GAExB3+sB,KAAKq1tB,sBAAsB1W,EAEpC,EASQwT,EAAAjytB,UAAAy0tB,cAAR,SACC7rC,EACAnmrB,EACAC,GAHD,IAAAsG,EAAA,KAKO+gD,EAAOjqD,KACb,MAAO,CACN2/sB,UAAW,SAAM1O,GAAO,OAAA5usB,GAAA6G,OAAA,oFACvB6tH,GAAOiyjB,MAAMioB,UACNnoB,EAAoB,qBACpBA,EAAqB,gCAE3B,iCAAM9orB,KAAK2vrB,YAAYnypB,gBACV,OADb9+B,EAAAkF,OACa,GAAM5D,KAAK2vrB,YAAY7orB,IAAImqsB,EAAS,0BAA3CT,EAAO9xsB,EAAAkF,OACbmzH,GAAOiyjB,MAAM,qCAAsCwnB,kCAEnDz5kB,GAAOiyjB,MAAM,iCAAkCiqB,gBAK1B,gCAAMjzsB,KAAK8wsB,qCAAzB1iB,EAAc1vrB,EAAAkF,OACpBqmD,EAAK6+nB,KAAOsF,EACZq+B,GACC,SACAr+B,EACA,UAAUtF,EAAKosB,cAAa,uBAE7BvysB,EAAQyrrB,kCAERr3jB,GAAOhyH,MAAM,mCAAoCmusB,GACjDtwsB,EAAOswsB,mDAIViM,UAAW,SAAAvpqB,GACVmhF,GAAOiyjB,MAAM,iBAAkBpzoB,GAC/B62qB,GACC,iBACA72qB,EACGkzoB,EAAKosB,cAAa,qBAEtBtysB,EAAOgzC,EACR,EACA4pqB,gBAAiB,SAAA8V,GAChBv+lB,GAAOiyjB,MAAM,2CACbF,EAAoB,cAAI,mBACxBA,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EACAo5B,YAAa,SAAC9C,EAAekW,GAC5Bv+lB,GAAOiyjB,MAAM,uBACbF,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EACAs5B,SAAU,SAAChD,EAAekW,GACzBv+lB,GAAOiyjB,MAAM,mBAAoBo2B,GACjCt2B,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EACA45B,oBAAqB,SAACJ,EAAgBE,GACrCzrlB,GAAOiyjB,MAAM,uBACbF,EAAoB,cAAI,wBACxBA,EAAqB,eAAI,CACxBw5B,eAAcA,EACdE,mBAAkBA,GAEnB7/sB,EAAQmmrB,EACT,EACAu5B,aAAc,SAACjD,EAAekW,GAC7Bv+lB,GAAOiyjB,MAAM,uBACbF,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EACAq5B,cAAe,SAAC/C,EAAekW,GAC9Bv+lB,GAAOiyjB,MAAM,uBAAwBo2B,GACrCt2B,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EAEF,EAQQqpC,EAAAjytB,UAAAk1tB,mBAAR,SACCzW,GADD,IAAAz1sB,EAAA,KAGC,GAAIlJ,KAAKu1tB,cACR,MAAM,IAAI5stB,MAAM,+CAGjB,IAAMmgrB,EAAO9orB,KAAK00tB,kBAAkB/V,EAAYzJ,eAmBhD,OAjBAl1sB,KAAKu1tB,cAAgB,IAAI7ytB,SAAQ,SAACC,EAASC,GAC1CkmrB,EAAK82B,iBACJjB,EACAz1sB,EAAKyrtB,cACJ7rC,GACA,SAAAhmrB,GACCoG,EAAKqstB,cAAgB,KACrB5ytB,EAAQG,EACT,IACA,SAAAiC,GACCmE,EAAKqstB,cAAgB,KACrB3ytB,EAAOmC,EACR,IAGH,IAEO/E,KAAKu1tB,aACb,EAQQpD,EAAAjytB,UAAAm1tB,sBAAR,SACC1W,GADD,IAAAz1sB,EAAA,KAGO4/qB,EAAO9orB,KAAK00tB,kBAAkB/V,EAAYzJ,eAGhD,OAFApsB,EAAK21B,0BAA0B,eAExB,IAAI/7sB,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAK41B,aAAaC,EAAaz1sB,EAAKyrtB,cAAc7rC,EAAMnmrB,EAASC,GAClE,GACD,EAUOuvtB,EAAAjytB,UAAAqmtB,cAAP,SAAqBz9B,GACpB,OAAO,IAAIpmrB,SAAQ,SAACsqD,EAAKqwlB,GACxByrC,EAAKy9B,eAAc,SAAC3wqB,EAAKwvqB,GACxB,GAAIxvqB,EAGH,OAFAmhF,GAAOiyjB,MAAM,yBAA0BpzoB,QACvCynmB,EAAIznmB,GAGLmhF,GAAOiyjB,MAAM,0BAA2Bo8B,GACxCp4pB,EAAIo4pB,EAEL,GACD,GACD,EAOO+M,EAAAjytB,UAAAs1tB,gBAAP,SACC1sC,EACArvpB,GAFD,IAAAvwB,EAAA,KAIO+gD,EAAOjqD,KACb,OAAO,IAAI0C,SAAQ,SAACsqD,EAAKqwlB,GACxB,IAAM43D,EAAiB/rsB,EAAKohrB,QAAQ2qB,eAE9BkR,IAAc1srB,GAASA,EAAO0srB,YACpCr9B,EAAKo9B,aACJ,SAAOtwqB,EAAK7tC,GAAI,OAAA1F,GAAA6G,OAAA,oFACX0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,+BAAgCpzoB,IACzC51C,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB5sC,kBAAjCpqrB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4Cg9sB,EAAah9sB,UAGpG,WAIF,OADA0koB,EAAIznmB,GACJ,WAID,OADM8uqB,EAAUz6pB,EAAK2rqB,wBAAwB7ttB,KAK5CilD,EAAI03pB,GACJ,MAJArnE,EAAI,oBACJ,cAMF,CAAE8oE,YAAWA,EAAElR,eAAcA,GAE/B,GACD,EAEQkd,EAAAjytB,UAAA01tB,wBAAR,SAAgC7ttB,GAC/B,IAAIonD,EAAM,KACJ0mqB,EAAe9ttB,EAAK+ttB,oBAG1B,GAAID,EACH1mqB,EAAM0mqB,MACA,CAEN,IAAME,EAAUhutB,EAAKiutB,mBACrB,GAAKD,EAWyB,IAAnBA,EAAQp1tB,OAClBwuD,EAAM,QAEN4nE,GAAOiyjB,MAAM,mCAAoCjhrB,QAPhDonD,EAFkBpnD,EAAKw9sB,WAEjB,UAEA,QAQT,OAAOp2pB,CACR,EAEQgjqB,EAAAjytB,UAAA+1tB,aAAR,SAAqBntC,EAAMrvpB,GAA3B,IAAAvwB,EAAA,KACC,OAAO,IAAIxG,SAAQ,SAACsqD,EAAKqwlB,GACxByrC,EAAKo9B,aAAY,SAAOtwqB,EAAK7tC,GAAI,OAAA1F,GAAA6G,OAAA,kFAC5B0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,2BAA4BpzoB,IACrC51C,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB5sC,kBAAjCpqrB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4Cu9sB,EAAav9sB,UAGpG,WAIF,OADA0koB,EAAIznmB,GACJ,WAEAoX,EAAIjlD,uCAEH0xB,EACJ,GACD,EAQa04rB,EAAAjytB,UAAAi2tB,gBAAb,SACCrtC,EACAstC,sHAIiB,OAFXnhB,EAAiBj1sB,KAAKsqrB,QAAQ2qB,eAEnB,GAAMj1sB,KAAKi2tB,aAAantC,EAAM,CAC9Cq9B,aAAa,EACblR,eAAcA,mBAFThyjB,EAAW51I,EAAAzJ,OAIb6htB,EAAiB,KACjB4Q,EAAkB,KAEdD,OACF,WACA,qCAMA,UACA,0BAMA,uCARJ,OAJAC,EAAkB,CACjBC,cAAc,EACdC,SAAS,GAEV,aAOA,OAJA9Q,EAAiB,CAChB6Q,cAAc,EACdC,SAAS,GAEV,aAGuB,OADjBR,EAAU9ykB,EAA6B,mBACtB,GAAMjjJ,KAAK41tB,wBAAwB3ykB,WAC1D,GAAuB,WADjBuzkB,EAAiBnptB,EAAAzJ,QAEtB,MAAO,CAAP,EAAOlB,QAAQC,QAAQ,2BACjB,GAAuB,YAAnB6ztB,EACV/Q,EAAiB,CAChB6Q,cAAc,EACdC,SAAS,OAEJ,IAAuB,uBAAnBC,EAMV,MAAO,CAAP,EAAOx2tB,KAAK8ztB,gBAAgBxqC,GAAemtC,aAL3CJ,EAAkB,CACjBC,cAAc,EACdC,SAAS,GAuBX,OAhBIR,GAA8B,IAAnBA,EAAQp1tB,QAEtBo1tB,EAAQ7ltB,SAAQ,SAAAw0sB,GACC,YAAZA,EACHe,EAAiB,CAChB6Q,cAAc,EACdC,SAAS,GAEY,uBAAZ7R,IACV2R,EAAkB,CACjBC,cAAc,EACdC,SAAS,GAGZ,IAED,aAGA,OADAx/lB,GAAOiyjB,MAAM,+BACN,CAAP,EAAOhprB,KAAK8ztB,gBAAgBxqC,GAAeotC,eAI7C,OADa12tB,KACN,CAAP,EAAO,IAAI0C,SAAgB,SAACsqD,EAAKqwlB,GAChCyrC,EAAK08B,qBACJC,EACA4Q,GACA,SAACzgrB,EAAK1yC,GACL,GAAI0yC,EAEH,OADAmhF,GAAOiyjB,MAAM,gCAAiCpzoB,GACvCynmB,EAAIznmB,GAEZmhF,GAAOiyjB,MAAM,uBAAwB9lrB,GACrC6zH,GAAOiyjB,MAAM,2CAEbF,EAAKo9B,aACJ,SAAOtwqB,EAAK7tC,GAAI,OAAA1F,GAAA6G,OAAA,kFACX0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,2BAA4BpzoB,IACrC51C,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB5sC,kBAAjCpqrB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4Cg+sB,EAAah+sB,UAGpG,WAGF,MAAO,CAAP,EAAO0koB,EAAIznmB,WAEX,MAAO,CAAP,EAAOoX,EAAI9pD,aAGb,CACCijtB,aAAa,EACblR,eAAcA,GAGjB,GAEF,aASMkd,EAAAjytB,UAAA02tB,WAAP,SAAkB9tC,GACjB,OAAO,IAAIpmrB,SAAQ,SAACsqD,EAAKqwlB,GACxByrC,EAAK+8B,YAAW,SAACjwqB,EAAK7tC,GACrB,GAAI6tC,EAGH,OAFAmhF,GAAOiyjB,MAAM,qBAAsBpzoB,QACnCynmB,EAAIznmB,GAGLmhF,GAAOiyjB,MAAM,sBAAuBjhrB,GACpCilD,EAAIjlD,EAEL,GACD,GACD,EAQOoqtB,EAAAjytB,UAAA22tB,UAAP,SAAiB/tC,GAChB,OAAO,IAAIpmrB,SAAQ,SAACsqD,EAAKqwlB,GACxByrC,EAAKq8B,WAAU,SAACvvqB,EAAK7tC,GACpB,GAAI6tC,EAGH,OAFAmhF,GAAOiyjB,MAAM,oBAAqBpzoB,QAClCynmB,EAAIznmB,GAGLmhF,GAAOiyjB,MAAM,qBAAsBjhrB,GACnCilD,EAAIjlD,EAEL,GACD,GACD,EAOOoqtB,EAAAjytB,UAAA42tB,UAAP,SAAiBhuC,GAChB,OAAO,IAAIpmrB,SAAQ,SAACsqD,EAAKqwlB,GACxByrC,EAAK8gC,uBAAuB,CAC3BzK,UAAW,SAAAvpqB,GACVmhF,GAAOiyjB,MAAM,gCAAiCpzoB,GAC9CynmB,EAAIznmB,EAEL,EACAi0qB,oBAAqB,SAAAkN,GACpBhgmB,GAAOiyjB,MAAM,iCAAkC+tC,GAC/C/pqB,EAAI+pqB,EAEL,GAEF,GACD,EAQO5E,EAAAjytB,UAAA82tB,gBAAP,SACCluC,EACAmuC,GAIA,IAAIjZ,EAFJjnlB,GAAOiyjB,MAAM,0BAA2BF,EAAMmuC,GAG1CnuC,GAA6C,oBAA9BA,EAAKy1B,uBACvBP,EAAqBl1B,EAAqBy1B,wBAE3C,IAAM2Y,EAA8B,OAAjBlZ,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBp5oB,UAEtC,OAAO,IAAIliE,SAAQ,SAACsqD,EAAKqwlB,GACxByrC,EAAKihC,oBAAoBkN,EAAiB,iBAAkB,CAC3D9X,UAAW,SAAAvpqB,GACVmhF,GAAOiyjB,MAAM,yBAA0BpzoB,GACvCynmB,EAAIznmB,EAEL,EACA+pqB,UAAW,SAAA53sB,GACLmvtB,GACJzK,GACC,SACA3jC,EACA,UAAUA,EAAKosB,cAAa,uBAG9BuX,GACC,SACA3jC,EACA,UAAUA,EAAKosB,cAAa,sBAE7Bn+kB,GAAOiyjB,MAAM,0BAA2BjhrB,GACxCilD,EAAIjlD,EAEL,GAEF,GACD,EAOOoqtB,EAAAjytB,UAAAi3tB,cAAP,SACCruC,EACAv2oB,EACAmyqB,EACAzP,GAJD,IAAA/rsB,EAAA,KAMC,QAFA,IAAA+rsB,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzC1iqB,EACJ,OAAOvyC,KAAK8ztB,gBAAgBxqC,GAAewrC,WAG5C,IAAM7qqB,EAAOjqD,KACb,OAAO,IAAI0C,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAK27B,YACJlyqB,EACA,CACCotqB,UAAW,SAAM1O,GAAO,OAAA5usB,GAAA6G,OAAA,oFACvB6tH,GAAOiyjB,MAAMioB,oBAEZ,kCAAMjxsB,KAAK2vrB,YAAYnypB,gBACV,OADb9+B,EAAAkF,OACa,GAAM5D,KAAK2vrB,YAAY7orB,IAAImqsB,EAAS,0BAA3CT,EAAO9xsB,EAAAkF,OACbmzH,GAAOiyjB,MAAM,qCAAsCwnB,mCAEnDz5kB,GAAOiyjB,MAAM,iCAAkCouC,iBAE/CntqB,EAAK6+nB,KAAOA,mBAES,gCAAM9orB,KAAK8wsB,qCAAzB1iB,EAAc1vrB,EAAAkF,OACpBklrB,EAAKlnkB,WAAawskB,EAAYxskB,0CAE9BmV,GAAOiyjB,MAAM,kCAAmCquC,uBAEjD5K,GACC,SACA3jC,EACA,UAAUA,EAAKosB,cAAa,uBAE7BvysB,EAAQmmrB,iCAGVq2B,UAAW,SAAAvpqB,GACVmhF,GAAOiyjB,MAAM,yBAA0BpzoB,GACvChzC,EAAOgzC,EACR,GAED8uqB,EACAzP,EAEF,GACD,EAEOkd,EAAAjytB,UAAAo3tB,oBAAP,SACCxuC,EACA/opB,EACAyirB,EACAvN,GAJD,IAAA/rsB,EAAA,KAMC,QAHA,IAAAs5sB,IAAAA,EAAA,SACA,IAAAvN,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzCl1qB,EACJ,OAAO//B,KAAK8ztB,gBAAgBxqC,GAAe6qC,eAG5C,IAAMlqqB,EAAOjqD,KACb,OAAO,IAAI0C,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAK46B,6BACJ3jrB,EACAyirB,EACA,CACC7C,UAAW,SAAM1O,GAAO,OAAA5usB,GAAA6G,OAAA,gFACvB6tH,GAAOiyjB,MAAMioB,oBAEZ,iCAAMjxsB,KAAK2vrB,YAAYnypB,gBACV,OADb9+B,EAAAkF,OACa,GAAM5D,KAAK2vrB,YAAY7orB,IAAImqsB,EAAS,0BAA3CT,EAAO9xsB,EAAAkF,OACbmzH,GAAOiyjB,MAAM,qCAAsCwnB,kCAEnDz5kB,GAAOiyjB,MAAM,iCAAkCuuC,uBAE/CttqB,EAAK6+nB,KAAOA,EACZ2jC,GACC,SACA3jC,EACA,UAAUA,EAAKosB,cAAa,uBAE7BvysB,EAAQmmrB,gCAGVq2B,UAAW,SAAAvpqB,GACVmhF,GAAOiyjB,MAAM,8BAA+BpzoB,GAC5C62qB,GACC,8BACA72qB,EACG1sC,EAAK4/qB,KAAI,6CAEblmrB,EAAOgzC,EACR,EACAssqB,YAAa,SAAC9C,EAAekW,GAC5Bv+lB,GAAOiyjB,MAAM,uBACbF,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EACAs5B,SAAU,SAAChD,EAAekW,GACzBv+lB,GAAOiyjB,MAAM,mBAAoBo2B,GACjCt2B,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,EACAu5B,aAAc,SAACjD,EAAekW,GAC7Bv+lB,GAAOiyjB,MAAM,mBAAoBo2B,GACjCt2B,EAAoB,cAAIs2B,EACxBt2B,EAAqB,eAAIwsC,EACzB3ytB,EAAQmmrB,EACT,GAEDmsB,EAEF,GACD,EAOOkd,EAAAjytB,UAAAoktB,0BAAP,SACCx7B,EACAm4B,EACAhM,GAHD,IAAA/rsB,EAAA,KAKC,QAFA,IAAA+rsB,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzCj1sB,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAEb,IAAKxS,EACJ,OAAOjhtB,KAAK8ztB,gBAAgBxqC,GAAekuC,wBAI5C,OAAO,IAAI90tB,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKw7B,0BACJrD,EACA/3sB,EAAKyrtB,cAAc7rC,EAAMnmrB,EAASC,GAClCqysB,EAEF,GACD,EAOOkd,EAAAjytB,UAAAu3tB,qBAAP,SACC3uC,EACA4uC,GAEA,IAAMztqB,EAAOjqD,KACb,OAAO,IAAI0C,SAAQ,SAACC,EAASC,GAC5BqnD,EAAK0tqB,YAAY7uC,GAAM1lrB,MAAK,SAAA6tsB,GAC3BnoB,EAAKk+B,iBAAiB0Q,GAAgB,SAAC9hrB,EAAK1yC,GAC3C,OAAI0yC,EACIhzC,EAAOgzC,GAEPjzC,EAAQO,EAEjB,GACD,GACD,GACD,EAOaivtB,EAAAjytB,UAAA4ltB,WAAb,sHAEE,gCAAM9ltB,KAAK+vsB,4BAAXrxsB,EAAAkF,oBAGA,iBADAmzH,GAAOiyjB,MAAM,wCAAyC4uC,GAChD,IAAIjvtB,MAAMivtB,UAOjB,OAJMC,EACL73tB,KAAKkztB,eACqD,SAA1DlztB,KAAK8vsB,SAASl+lB,QAAQ,gCAEhB,CAAP,EAAO,IAAIlvG,SAAQ,SAAOsqD,EAAKqwlB,GAAG,OAAAh7oB,GAAA6G,OAAA,8DACjC,GAAIlJ,KAAKoytB,SAAU,CAGlB,KAFMrhB,EAAO/wsB,KAAKoytB,SAASrG,kBAI1B,OADAh1lB,GAAOiyjB,MAAM,qCACN,CAAP,EAAO3rC,EAAI,IAAI10oB,MAAM,sBAErBoosB,EAAKoW,YAAW,SAAOvxqB,EAAKq7pB,GAAO,OAAA5usB,GAAA6G,OAAA,yFAC9B0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,iCAAkCpzoB,IAC3C51C,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB3kB,kBAAjCrysB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4Cm/sB,EAAan/sB,UAGpG,WAGF,MAAO,CAAP,EAAO0koB,EAAIznmB,WAEXm7pB,EAAK+U,YAAW,SAAClwqB,EAAK1yC,GACrB,GAAI0yC,EACHynmB,EAAIznmB,OACE,CACN62qB,GACC,cACAvptB,EACA,4CAED6tsB,EAAK/oB,UACL9+qB,EAAK4/qB,KAAO,KACZ,IACC5/qB,EAAK6utB,mBACJ,MAAOh3tB,IAERg2H,GAAOiyjB,MAAM,gCAGV6uC,EACH3utB,EAAK8utB,qBAAqBhrqB,EAAKqwlB,IAE/BovE,GACC,UACAvjtB,EAAK4/qB,KACL,8BAED97nB,EAAI9pD,IAGP,8CAKH6zH,GAAOiyjB,MAAM,wBACb3rC,EAAI,IAAI10oB,MAAM,iEAUVwptB,EAAAjytB,UAAA+3tB,qBAAP,SACCnvC,EACAlnkB,EACAqzlB,GAHD,IAAA/rsB,EAAA,UAGC,IAAA+rsB,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,gBAE9C,IAAMoR,EAA6C,GAC7Cp8pB,EAAOjqD,KACb,OAAO,IAAI0C,SAAQ,SAACC,EAASC,GAC5BqnD,EAAK0tqB,YAAY7uC,GAAM1lrB,MAAK,SAAA6tsB,GAC3B,IAAK,IAAM3vsB,KAAOsgH,EACjB,GAAY,QAARtgH,GAAiBA,EAAIN,QAAQ,aAAe,EAAG,CAClD,IAAM8gH,EAAkC,CACvC6yZ,KAAMrzgB,EACNuzgB,MAAOjzZ,EAAWtgH,IAEnB+ktB,EAAc/htB,KAAKw9G,GAGrBgnkB,EAAKk9B,iBACJK,GACA,SAACzwqB,EAAK1yC,EAAQmjI,GACb,GAAIzwF,EAMH,OALA62qB,GACC,+BACA72qB,EACA,+BAEMhzC,EAAOgzC,GAEd,IAAM4tE,EAAQt6G,EAAKgvtB,iCAClBt2mB,EACO,OAAPykB,QAAO,IAAPA,OAAO,EAAPA,EAAS8xlB,yBAOV,OALA1L,GACC,uBACAjpmB,EACA,mCAEM7gH,EAAQO,EAEjB,GACA+xsB,EAEF,GACD,GACD,EAEQkd,EAAAjytB,UAAAg4tB,iCAAR,SACCt2mB,EACAw2mB,GAEA,IAAM50mB,EAAQ,CAAC,EAaf,OAZAhkH,OAAOgR,KAAKoxG,GAAY1xG,SAAQ,SAAA5O,GAC/BkiH,EAAMliH,GAAO,CACZyjf,WAAW,GAEZ,IAAMyjM,EAA6C,OAAvB4vC,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyBt2qB,MACpD,SAAAh/C,GAAS,OAAAA,EAAMwitB,gBAAkBhktB,CAAxB,IAENknrB,IACHhlkB,EAAMliH,GAAKyjf,WAAY,EACvBvhY,EAAMliH,GAAKknrB,oBAAsBA,EAEnC,IACOhlkB,CACR,EAOO2umB,EAAAjytB,UAAAoitB,eAAP,SACCx5B,GADD,IAAA5/qB,EAAA,KAGC,OAAO,IAAIxG,SAAQ,SAACC,EAASC,GAC5BsG,EAAKyutB,YAAY7uC,GAAM1lrB,MAAK,SAAA6tsB,GAC3BnoB,EAAKs9B,mBAAkB,SAACxwqB,EAAKgsE,GACxBhsE,EACHhzC,EAAOgzC,GAEPjzC,EAAQi/G,EAEV,GACD,GACD,GACD,EAEOuwmB,EAAAjytB,UAAAm4tB,gBAAP,SAAuBvvC,GACtB,IAAM7+nB,EAAOjqD,KACb,OAAOA,KAAKsitB,eAAex5B,GAAM1lrB,MAAK,SAAAw+G,GACrC,IAAM4B,EAAQv5D,EAAKquqB,mBAAmB12mB,GAChC22mB,EAAa,CAAC,EACdC,EAAW,CAAC,EAelB,OAdIh1mB,EAAa,QACZA,EAAsB,eACzBg1mB,EAAgB,MAAIh1mB,EAAa,MAEjC+0mB,EAAkB,MAAI/0mB,EAAa,OAGjCA,EAAoB,eACnBA,EAA6B,sBAChCg1mB,EAAuB,aAAIh1mB,EAAoB,aAE/C+0mB,EAAyB,aAAI/0mB,EAAoB,cAG5C,CACNg1mB,SAAQA,EACRD,WAAUA,EAEZ,GACD,EAEQpG,EAAAjytB,UAAAu4tB,mBAAR,SAA2B7irB,GAC1B,MACgB,kBAARA,GACPp2C,OAAOU,UAAUL,eAAee,KAAKg1C,EAAK,UAE5C,EAGQu8qB,EAAAjytB,UAAAw4tB,oBAAR,SACC9irB,GAEA,OACC51C,KAAKy4tB,mBAAmB7irB,IACR,kCAAhBA,EAAIj9B,OAEN,EAEQw5sB,EAAAjytB,UAAAy4tB,2BAAR,SACC/irB,GAEA,OACC51C,KAAKy4tB,mBAAmB7irB,IACR,mCAAhBA,EAAIj9B,OAEN,EAEQw5sB,EAAAjytB,UAAA04tB,oBAAR,SACChjrB,GAEA,OAAO51C,KAAKy4tB,mBAAmB7irB,IAAwB,sBAAhBA,EAAIj9B,OAC5C,EAEQw5sB,EAAAjytB,UAAA24tB,wBAAR,SACCjjrB,GAEA,OACC51C,KAAKy4tB,mBAAmB7irB,IAAwB,yBAAhBA,EAAIj9B,OAEtC,EAEQw5sB,EAAAjytB,UAAA44tB,2BAAR,SACCljrB,GAEA,OACC51C,KAAKy4tB,mBAAmB7irB,IACR,8BAAhBA,EAAIj9B,OAEN,EAEQw5sB,EAAAjytB,UAAA23tB,mBAAR,WACC,OACC73tB,KAAKkztB,eACqD,SAA1DlztB,KAAK8vsB,SAASl+lB,QAAQ,+BAExB,EAEQugnB,EAAAjytB,UAAAu1tB,iBAAR,SAAyB7/qB,GACxB,OACC51C,KAAK44tB,oBAAoBhjrB,IACzB51C,KAAK64tB,wBAAwBjjrB,IAC7B51C,KAAK04tB,oBAAoB9irB,IACzB51C,KAAK24tB,2BAA2B/irB,IAChC51C,KAAK84tB,2BAA2BljrB,EAElC,EAEcu8qB,EAAAjytB,UAAAw1tB,sBAAd,SAAoC5sC,0GACnCA,EAAKd,UACLhorB,KAAK8orB,KAAO,sBAEX,gCAAM9orB,KAAK+3tB,kCAAXr5tB,EAAAkF,oCAEAmzH,GAAOiyjB,MAAM,6CAEd,OAAIhprB,KAAK63tB,qBACD,CAAP,EAAO,IAAIn1tB,SAAQ,SAACsqD,EAAKqwlB,GACxBn0oB,EAAK8utB,qBAAqBhrqB,EAAKqwlB,EAChC,MAEAovE,GAAkB,UAAWzstB,KAAK8orB,KAAM,2CAQnCqpC,EAAAjytB,UAAA4wsB,oBAAP,SACCr3qB,GADD,IAAAvwB,EAAA,KAGC,OAAKlJ,KAAKoytB,SAIH,IAAI1vtB,SAAQ,SAACsqD,EAAKqwlB,GACxBn0oB,EAAK6msB,aACH3ssB,MAAK,kBAAAf,GAAA6G,OAAA,sGACDlJ,KAAK+4tB,qBACRhimB,GAAOiyjB,MAAM,uDAEb,GAAM,IAAItmrB,SAAQ,SAAAsqD,GACjB,IAAM+/F,EAAYvzI,YAAW,WAC5Bu9G,GAAOiyjB,MAAM,oCAEboD,GAAIr4qB,OAAO,OAAQiltB,GAEnBhsqB,GACD,GAziDuB,KA6iDvB,SAASgsqB,EAAqBt6tB,OACrB6hC,EADuB7hC,EAAAu/C,QACvB1d,MAGG,oBAAVA,GACU,4BAAVA,IAEAw2F,GAAOiyjB,MAAM,0BAA0BzopB,GACvChD,aAAawvH,GAEbq/hB,GAAIr4qB,OAAO,OAAQiltB,GAEnBhsqB,IAEF,CAhBAo/nB,GAAIp3kB,OAAO,OAAQgknB,EAiBpB,MA7BG,aAGH3rtB,EAAAzJ,wBA+BD,KAFMklrB,EAAO9orB,KAAKoytB,SAASrG,kBAK1B,OAFAh1lB,GAAOiyjB,MAAM,qCACb3rC,EAAI,mBACJ,qBAKgB,gCAAMr9oB,KAAKi5tB,aAAanwC,kBAAlCmoB,EAAU5jsB,EAAAzJ,QAGVuitB,IAAc1srB,GAASA,EAAO0srB,aAGnC,GAAMnmtB,KAAK2vrB,YAAYnypB,SADpB,aACHnwB,EAAAzJ,wBAOD,OAJMqxsB,EAAiBj1sB,KAAKsqrB,QAAQ2qB,eAG5Bv2sB,EAAeuysB,EAAQmM,iBAAiBlB,gBAAe7hU,YAAlD,IAAA37Y,EAAG,GAAEA,GACRoU,MAAM,KAAKk8C,SAASkjqB,KAC7BppC,EAAKo9B,aACJ,SAAOtwqB,EAAK7tC,GAAI,OAAA1F,GAAA6G,OAAA,8FACX0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,2BAA4BpzoB,IACrC51C,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB5sC,kBAAjCpqrB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4CugtB,EAAavgtB,UAGpG,kBAED0koB,EAAIznmB,gBAEJoX,EAAI87nB,oBAEL,iBAKD,IAHM+sC,EAAe9ttB,EAAK+ttB,qBAAuB,QAC3CzP,EAAgB,GAEb7ltB,EAAI,EAAGA,EAAIuH,EAAKk+sB,eAAetltB,OAAQH,IACzCivM,EAAY,CACjBklU,KAAM5sgB,EAAKk+sB,eAAezltB,GAAGm0gB,KAC7BE,MAAO9sgB,EAAKk+sB,eAAezltB,GAAGq0gB,OAEzByxM,EAAgB,IAAI3I,GAAqBlugB,GAC/C42gB,EAAc/htB,KAAKgitB,GAKpB,OAFM1kmB,EAAa5hH,KAAKs4tB,mBAAmBjS,GAC3C7mtB,OAAOa,OAAOyorB,EAAM,CAAElnkB,WAAUA,EAAEi0mB,aAAYA,IACvC,CAAP,EAAO7oqB,EAAI87nB,aAEZ,CAAEq9B,YAAWA,EAAElR,eAAcA,YAG9Bl+kB,GAAOiyjB,MACN,2CAA2CkpC,GAA3C,6CAGM,CAAP,EAAOllqB,EAAI87nB,8BAGZzrC,EAAIkwC,oCAGLvkrB,OAAM,SAAAjI,GAEN,OADAg2H,GAAOiyjB,MAAM,wCAAyCjorB,GAC/Cs8oB,EAAIt8oB,EACZ,GACF,IApHQf,KAAKyztB,kBAqHd,EAEQtB,EAAAjytB,UAAA64tB,kBAAR,WACC,OAAO/4tB,KAAKqytB,mBACb,EAOaF,EAAAjytB,UAAAi5tB,yBAAb,SACC1/rB,6GAEAs9F,GAAOiyjB,MAAM,sCACTowC,EAAgB,sBAEnB,gCAAMp5tB,KAAK+vsB,4BAAXrxsB,EAAAkF,oBAGA,iBADAmzH,GAAOiyjB,MAAM,wCAAyCqwC,GAChDA,SAGP,KACO/nB,EAAgB/irB,KAAK7O,MAC1B1f,KAAK8vsB,SAASl+lB,QAAQ,iCAGtBwnnB,EAAah5tB,GAAAA,GAAA,GACTkxsB,EAAcxoB,MAAI,CACrB1qqB,MAAOkzrB,EAAclzrB,SAGtB,MAAOrd,IACRg2H,GAAOiyjB,MAAM,uDAGVowC,GACHp5tB,KAAK8orB,KAAOswC,EACZrimB,GAAOiyjB,MAAM,2CAA4ChprB,KAAK8orB,MACvD,CAAP,EAAO9orB,KAAK8orB,OAHT,aAKH/xjB,GAAOiyjB,MAAM,2CACTF,EAAO,sBAEH,gCAAM9orB,KAAK8wsB,oBAAoBr3qB,kBAAtCqvpB,EAAOpqrB,EAAAkF,oBASP,MAPU,8BACTmzH,GAAOhyH,MACN,kJAIFgyH,GAAOiyjB,MAAM,6CAA8CswC,GACpD,CAAP,EAAO52tB,QAAQE,OAAO,yCAGvB,OADA5C,KAAK8orB,KAAOA,EACL,CAAP,EAAO9orB,KAAK8orB,cAQPqpC,EAAAjytB,UAAA8wsB,eAAP,WACC,IAAM/mpB,EAAOjqD,KAGb,OAFA+2H,GAAOiyjB,MAAM,2BAERhprB,KAAKoytB,SAIH,IAAI1vtB,SAAQ,SAACsqD,EAAKqwlB,GACxBpzlB,EACE6mpB,sBACA1tsB,MAAK,SAAA0lrB,GACL7+nB,EACE0tqB,YAAY7uC,GACZ1lrB,MAAK,SAAA6tsB,GACLjkpB,EAAIikpB,EAEL,IACCjosB,OAAM,SAAAjI,GACNg2H,GAAOiyjB,MAAM,oCAAqCjorB,GAClDs8oB,EAAIt8oB,EAEL,GACF,IACCiI,OAAM,SAAAjI,GACNg2H,GAAOiyjB,MAAM,iCAAkCjorB,GAC/Cs8oB,EAAIt8oB,EAEL,GACF,IAxBQ2B,QAAQE,OAAO,IAAI+F,MAAM,sCAyBlC,EAEcwptB,EAAAjytB,UAAA+4tB,aAAd,SAA2BnwC,8GAC1B,IAAKA,EAEJ,OADA/xjB,GAAOiyjB,MAAM,oBACN,CAAP,EAAOhprB,KAAK8ztB,gBAAgBxqC,GAAeiwC,gBAEtCtkB,EAAiBj1sB,KAAKsqrB,QAAQ2qB,eAGO,IAAvCj1sB,KAAKwytB,gCACRxytB,KAAKuytB,uBAAyB,IAAI7vtB,SACjC,SAACsqD,EAAKqwlB,GACLyrC,EAAKq+B,YACJ,SAAOvxqB,EAAKq7pB,GAAO,OAAA5usB,GAAA6G,OAAA,kFACd0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,sCAAuCF,IAChD9orB,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB5sC,kBAAjCpqrB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4C6gtB,EAAa7gtB,UAGpG,WAIF,OADA0koB,EAAIznmB,GACJ,WAIA,OAFAmhF,GAAOiyjB,MAAM,kCAAmCioB,GAChDjkpB,EAAIikpB,GACJ,aAGF,CAAEgE,eAAcA,GAElB,KAGFj1sB,KAAKwytB,iDAGgB,gCAAMxytB,KAAKuytB,+BAI/B,OAJMoF,EAAcj5tB,EAAAkF,OAGpBklrB,EAAKk1B,kBAAoB2Z,EAClB,CAAP,EAAOA,iBAEP33tB,KAAKwytB,6DASAL,EAAAjytB,UAAAy3tB,YAAP,SAAmB7uC,GAClB,OAAO9orB,KAAKi5tB,aAAanwC,EAC1B,EAMaqpC,EAAAjytB,UAAA0wsB,uBAAb,sHACC75kB,GAAOiyjB,MAAM,qDAGZ,gCAAMhprB,KAAK+vsB,4BAAXrxsB,EAAAkF,oBAGA,iBADAmzH,GAAOiyjB,MAAM,wCAAyCywC,GAChDA,SAIHnoB,EAAgB,KACpB,IACCA,EAAgB/irB,KAAK7O,MACpB1f,KAAK8vsB,SAASl+lB,QAAQ,8BAEtB,MAAO7wG,IACRg2H,GAAOiyjB,MAAM,wDAAyDjorB,IAGvE,OAAIuwsB,EAEI,CAAP,EAAOtxsB,KAAK2vrB,YAAY0hB,sBAAsBC,IAEvC,CAAP,EAAOtxsB,KAAKgxsB,iBACV5tsB,MAAK,SAAA6tsB,GAEL,OADAl6kB,GAAOiyjB,MAAM,0BAA2BioB,GACjC/nsB,EAAKymrB,YAAY7orB,IAAImqsB,EAAS,UACtC,IACCjosB,OAAM,WAEN,OADA+tH,GAAOiyjB,MAAM,6BACN9/qB,EAAKymrB,YAAY7orB,IAAI,KAAM,QACnC,aAIIqrtB,EAAAjytB,UAAAuytB,mBAAP,WAEC,OADA17lB,GAAOiyjB,MAAM,+BACNhprB,KAAK2vrB,YAAY/orB,KACzB,EAQOurtB,EAAAjytB,UAAAw5tB,oBAAP,SACC5wC,EACAhnkB,EACAmzlB,GAEA,YAFA,IAAAA,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,gBAEvC,IAAIvysB,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKu/B,6BACJvmmB,EACA,CACC69lB,UAAS,SAACryrB,GACT,OAAO3qB,EAAQ2qB,EAChB,EACA6xrB,UAAS,SAACvpqB,GACT,OAAOhzC,EAAOgzC,EACf,GAEDq/pB,EAEF,GACD,EASOkd,EAAAjytB,UAAAy5tB,0BAAP,SACC7wC,EACAhnkB,EACAvvE,GAEA,OAAKA,EAIE,IAAI7vC,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKw/B,gBAAgBxmmB,EAAMvvE,EAAM,CAChCotqB,UAAS,SAAC53sB,GACTpF,EAAQoF,EAET,EACAo3sB,UAAS,SAACvpqB,GACThzC,EAAOgzC,EAER,GAEF,IAdQ51C,KAAK8ztB,gBAAgBxqC,GAAewrC,UAe7C,EAEO3C,EAAAjytB,UAAA05tB,2BAAP,SAAkC93mB,GACjC,IAAM73D,EAAOjqD,KACb,OAAOiqD,EACL6mpB,sBACA1tsB,MAAK,SAAA0lrB,GAAQ,OAAA7+nB,EAAKyvqB,oBAAoB5wC,EAAMhnkB,EAA/B,GAChB,EAQAqwmB,EAAAjytB,UAAA25tB,iCAAA,SACC/3mB,EACAvvE,GAEA,IAAM0X,EAAOjqD,KACb,OAAOiqD,EACL6mpB,sBACA1tsB,MAAK,SAAA0lrB,GAAQ,OAAA7+nB,EAAK0vqB,0BAA0B7wC,EAAMhnkB,EAAMvvE,EAA3C,GAChB,EAEc4/qB,EAAAjytB,UAAA45tB,uBAAd,SACCv6qB,EACAupoB,8GAGC,gCAAM9orB,KAAK+vsB,4BAAXrxsB,EAAAkF,oBAGA,iBADAmzH,GAAOiyjB,MAAM,wCAAyC+wC,GAChDA,SAOP,OAJMlC,EACL73tB,KAAKkztB,eACqD,SAA1DlztB,KAAK8vsB,SAASl+lB,QAAQ,gCAEhB,CAAP,EAAO,IAAIlvG,SAAQ,SAACsqD,EAAKqwlB,GACxB,GAAI99lB,GAAQA,EAAKoO,OAAQ,CACxBopE,GAAOiyjB,MAAM,uBAAwBF,GAGrC,IAAMmsB,EAAiB/rsB,EAAKohrB,QAAQ2qB,eAEpCnsB,EAAKq+B,YACJ,SAAOvxqB,EAAK1yC,GAAM,OAAAb,GAAA6G,OAAA,yFACb0sC,EAAA,eACHmhF,GAAOiyjB,MAAM,iCAAkCpzoB,IAC3C51C,KAAKy1tB,iBAAiB7/qB,GAAtB,6BAEF,gCAAM51C,KAAK01tB,sBAAsB5sC,kBAAjCpqrB,EAAAkF,oBAOA,kBALAy5oB,EACC,IAAI10oB,MACH,8BAA8BitC,EAAIj9B,QAAO,4CAA4CqhtB,EAAarhtB,UAGpG,WAGF,MAAO,CAAP,EAAO0koB,EAAIznmB,kBAEZkzoB,EAAKogC,cAAc,CAClBvJ,UAAW,SAAA53sB,GAEV,GADAgvH,GAAOiyjB,MAAM,4BACT6uC,EAGH,OAAO7qqB,IAFP9jD,EAAK8utB,qBAAqBhrqB,EAAKqwlB,EAIjC,EACA8hE,UAAW,SAAAvpqB,GAEV,OADAmhF,GAAOiyjB,MAAM,yBAA0BpzoB,GAChCynmB,EAAIznmB,EACZ,iBAGF,CAAEq/pB,eAAcA,SAGjBl+kB,GAAOiyjB,MAAM,gBAAiBF,GAC9BA,EAAKd,SAAQ,WACZ,IAAI6vC,EAGH,OAAO7qqB,IAFP9jD,EAAK8utB,qBAAqBhrqB,EAAKqwlB,EAIjC,GAEF,aAGO80E,EAAAjytB,UAAA83tB,qBAAR,SACCr1tB,EACAC,GAEQ6prB,KAAApjoB,UAGPrpD,KAAKi6tB,6BAA6Br3tB,GAElC5C,KAAKk6tB,uBAAuBv3tB,EAE9B,EAEQwvtB,EAAAjytB,UAAAg6tB,uBAAR,SAA+Bv3tB,GAC9B3C,KAAKkztB,cAAclrC,UACnBrlrB,GACD,EAEQwvtB,EAAAjytB,UAAA+5tB,6BAAR,SAAqCr3tB,GACpC5C,KAAKkztB,cAAclrC,UAGnBxuqB,YAAW,WAAM,OAAA5W,EAAO+F,MAAM,wBAAb,GAAuC,IACzD,EAOawptB,EAAAjytB,UAAA8nrB,QAAb,SAAqBzooB,qGAEnB,gCAAMv/C,KAAK+3tB,kCAAXr5tB,EAAAkF,oCAEAmzH,GAAOiyjB,MAAM,oDAGVhprB,KAAKoytB,UACFtpC,EAAO9orB,KAAKoytB,SAASrG,kBAE1B,GAAM/rtB,KAAK85tB,uBAAuBv6qB,EAAMupoB,IADrC,MAFD,oBAGFpqrB,EAAAkF,oBAEAmzH,GAAOiyjB,MAAM,+DAGdjyjB,GAAOiyjB,MAAM,gDASdyjC,GAAkB,UAAWzstB,KAAK8orB,KAAM,8BACxC9orB,KAAK8orB,KAAO,iBAGCqpC,EAAAjytB,UAAA63tB,iBAAd,uGAEC,SAAM/3tB,KAAK2vrB,YAAYnypB,uBAAvB9+B,EAAAkF,mBAUMuutB,EAAAjytB,UAAA4ktB,eAAP,SACCh8B,EACAqxC,EACAxW,EACA1O,GAJD,IAAA/rsB,EAAA,KAMC,YAFA,IAAA+rsB,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,gBAEvC,IAAIvysB,SAAQ,SAACC,EAASC,GAC5BsG,EAAKyutB,YAAY7uC,GAAM1lrB,MAAK,SAAA6tsB,GAC3BnoB,EAAKg8B,eACJqV,EACAxW,GACA,SAAC/tqB,EAAK7tC,GACL,OAAI6tC,GACHmhF,GAAOiyjB,MAAM,0BAA2BpzoB,GACjChzC,EAAOgzC,IAEPjzC,EAAQoF,EAEjB,GACAktsB,EAEF,GACD,GACD,EAOOkd,EAAAjytB,UAAAgotB,eAAP,SACCnzqB,EACAkgqB,GAEA,QAFA,IAAAA,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzCj1sB,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAEb,IAAK1+qB,EACJ,OAAO/0C,KAAK8ztB,gBAAgBxqC,GAAe8qC,eAG5C,IAAMtrC,EAAO9orB,KAAK00tB,kBAAkB3/qB,GACpC,OAAO,IAAIryC,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKo/B,eACJ,CACCvI,UAAW,WACVh9sB,GAED,EACAw8sB,UAAW,SAAAvpqB,GACVmhF,GAAOiyjB,MAAM,0BAA2BpzoB,GACxC62qB,GACC,yBACA72qB,EACGb,EAAQ,0BAEZnyC,EAAOgzC,EAER,EACAuyqB,sBAAuB,SAAApgtB,GACtB0ktB,GACC,iBACA3jC,EACG/zoB,EAAQ,uCAEZpyC,EAAQoF,EAET,GAEDktsB,EAEF,GACD,EASOkd,EAAAjytB,UAAAk6tB,qBAAP,SACCrlrB,EACAxC,EACAxS,EACAk1qB,GAEA,QAFA,IAAAA,IAAAA,EAAiCj1sB,KAAKsqrB,QAAQ2qB,iBAEzCj1sB,KAAKoytB,SACT,OAAOpytB,KAAKyztB,mBAEb,IAAK1+qB,EACJ,OAAO/0C,KAAK8ztB,gBAAgBxqC,GAAe8qC,eAE5C,IAAK7hrB,EACJ,OAAOvyC,KAAK8ztB,gBAAgBxqC,GAAewrC,WAE5C,IAAK/0rB,EACJ,OAAO//B,KAAK8ztB,gBAAgBxqC,GAAe6qC,eAG5C,IAAMrrC,EAAO9orB,KAAK00tB,kBAAkB3/qB,GACpC,OAAO,IAAIryC,SAAQ,SAACC,EAASC,GAC5BkmrB,EAAKs/B,gBACJ71qB,EACAxS,EACA,CACC4/qB,UAAW,SAAAryrB,GACVm/rB,GACC,uBACA3jC,EACG/zoB,EAAQ,oCAEZpyC,EAAQ2qB,EAET,EACA6xrB,UAAW,SAAAvpqB,GACV62qB,GACC,+BACA72qB,EACGb,EAAQ,gCAEZnyC,EAAOgzC,EAER,GAEDq/pB,EAEF,GACD,EAOakd,EAAAjytB,UAAAm6tB,gBAAb,gIACOhorB,EAASryC,KAAK2vrB,YAAYggB,kBAEN,QAAXt9pB,GAA+B,aAAXA,EAA/B,MACU,GAAMryC,KAAK8wsB,sBAAsB9nsB,OAAM,SAAA4sC,GACnD,OAAAmhF,GAAOhyH,MAAM6wC,EAAb,YAED,KAHMkzoB,EAAOpqrB,EAAAkF,QAIZ,MAAO,CAAP,EAAO,uBAIY,gCAAM5D,KAAKsitB,eAAex5B,WAAvClnkB,EAAaljH,EAAAkF,OACb02tB,EAAoBt6tB,KAAKs4tB,mBAAmB12mB,GAC9Cq1hB,EAAc,sBAEH,gCAAMj3oB,KAAKyytB,oCAAzBx7E,EAAcv4oB,EAAAkF,sCAEdmzH,GAAOiyjB,MACN,iEACAuxC,gBASF,MAAO,CAAP,EALa,CACZlmtB,GAAI4ioB,EAAcA,EAAYomD,gBAAa9+rB,EAC3Cw2C,SAAU+zoB,EAAKosB,cACftzlB,WAAY04mB,WAKb,kBADAvjmB,GAAOhyH,MAAM,wBAAyBy1tB,GAC/B,CAAP,EAAO,CAAC,UAIV,MAAe,cAAXnorB,EAEI,CAAP,GADMy2oB,EAAO9orB,KAAK8orB,OACG,CAAC,eAeXqpC,EAAAjytB,UAAAu6tB,gBAAb,SACCC,EAIAllrB,EACAszoB,yHAEA,IAAK9orB,KAAKsqrB,QAAQ6U,iBAAmBn/rB,KAAKsqrB,QAAQuV,WACjD,MAAM,IAAIl3rB,MACT,qEAKF,GAAiC,qBAAtB+xtB,GACN16tB,KAAKsqrB,QAAQ6U,iBAAmBn/rB,KAAKsqrB,QAAQuV,WAChD,MAAM,IAAIl3rB,MACT,6EAMF6grB,GAAyBkxC,KjIpwE3B/ysB,EiIqwEiC+ysB,IjInwEoB,CAAC,kBACjC54qB,MAAK,SAAAp9C,GAAK,OAAAijB,EAAI9nB,eAAe6E,EAAnB,KAG1B,SAAyBijB,GAK9B,OAAOA,KADA,CAAC,eACam6B,MAAK,SAAAp9C,GAAK,OAAAijB,EAAI9nB,eAAe6E,EAAnB,GAChC,CiI0vEGi2tB,CAAeD,IACc,qBAAtBA,GAED1/sB,EAAU0/sB,GAAqB,CACpCr7B,SAAUhW,GAAgC+jC,SAErC/tB,EAAW7V,GAAyBxuqB,GACvCA,EAAQqkrB,SACPrkrB,EAAyC4/sB,eAEzBpxC,GAAyBxuqB,GAAvCmysB,EACHnysB,EAAQmysB,YAGPnttB,KAAKsqrB,QAAQuV,aACVouB,EAAYxkC,GAAoBzprB,KAAKsqrB,QAAQZ,OAChD1prB,KAAKsqrB,QAAQwV,oBACb9/rB,KAAKsqrB,QAAQZ,MAAMilC,SAEhBZ,EAAetkC,GAAoBzprB,KAAKsqrB,QAAQZ,OACnD1prB,KAAKsqrB,QAAQZ,MAAMC,eACnB3prB,KAAKsqrB,QAAQZ,MAAMklC,YAEtB5utB,KAAKkztB,cAAchG,YAClBlttB,KAAKsqrB,QAAQZ,MAAMp1oB,aACnBt0C,KAAKsqrB,QAAQZ,MAAMhsoB,OACnBqwqB,EACAE,EACA5uB,EACA8tB,WA/BF,aAmCM9tB,EAAWq7B,EAEjB,KACOG,EAAetssB,KAAKhP,UACzBgP,KAAK7O,MAAM1f,KAAK8vsB,SAASl+lB,QAAQ,8BAA8Bk3kB,QAG/D/xjB,GAAOt3E,KAAK,sCAAsCo7qB,EAAY,+IAG9D,MAAO95tB,IAAI,CAKO,OAHZqd,EAAmCo3B,EAAQp3B,MAApCmzrB,EAA4B/7pB,EAAQ+7pB,YAAvB9iB,EAAej5oB,EAAQi5oB,WAG/B,GAAMzurB,KAAK2vrB,YAAY7orB,IAC1C,CAAEu4rB,SAAQA,EAAEjhrB,MAAKA,EAAEmzrB,YAAWA,EAAEzoB,KAAIA,EAAE2F,WAAUA,GAChD,sBAEmB,OAJdx3C,EAAcv4oB,EAAAkF,OAIA,GAAM5D,KAAKm5tB,mCAO/B,OAPM/qC,EAAc1vrB,EAAAkF,OACpB6otB,GACC,SACAr+B,EACA,UAAUA,EAAYr5oB,SAAQ,uBAE/BgiF,GAAOiyjB,MAAM,gCAAiC/xC,GACvC,CAAP,EAAOA,oBjIl0EJ,IACLtvnB,SiIy0EcwqsB,EAAAjytB,UAAAmztB,oBAAd,SAAkC9tI,+HACjC,GAAIvllB,KAAKqytB,oBAER,OADAt7lB,GAAOiyjB,MAAM,gBAAgBzjG,EAAG,6BAChC,qBAKA,yBADAvllB,KAAKqytB,qBAAsB,GACtBrytB,KAAKsqrB,QAAQuV,WACjB,MAAM,IAAIl3rB,MACT,4DAIF8jtB,GACC,qBACA,CAAE7srB,IAAK2ljB,GACP,oCAGK8oI,EACL9oI,IAAQknG,KAAgBpjoB,UAAYhrD,OAAOkgC,SAASigB,KAAO,IAEtDs8qB,MAAoBp7sB,EAAAA,GAAAA,IAAM2usB,GAAYv8jB,OAAS,IACnDh/I,MAAM,KACNjU,KAAI,SAAAwuH,GAAS,OAAAA,EAAMv6G,MAAM,IAAZ,IACbgvC,MAAK,SAACpjD,OAACgG,EAADG,GAAAnG,EAAA,GAAC,GAAO,MAAM,SAANgG,GAAsB,UAANA,CAAhB,IAEVq2tB,MAAqBr7sB,EAAAA,GAAAA,IAAM2usB,GAAYrntB,MAAQ,KACnDgW,OAAO,GACPlK,MAAM,KACNjU,KAAI,SAAAwuH,GAAS,OAAAA,EAAMv6G,MAAM,IAAZ,IACbgvC,MAAK,SAACpjD,OAACgG,EAADG,GAAAnG,EAAA,GAAC,GAAO,MAAM,iBAANgG,GAA8B,UAANA,CAAxB,KAEZo2tB,IAAkBC,EAAlB,YACH/6tB,KAAK8vsB,SAASzub,QAAQ,oCAAqC,yBAGzD,gCAAMrhR,KAAKkztB,cAAc9D,mBAAmBf,kBADvC3vtB,EACL2O,EAAAzJ,OADOorrB,EAAWtwrB,EAAAswrB,YAAEyjB,EAAO/zsB,EAAA+zsB,QAAEtB,EAAYzysB,EAAAyysB,aAAE/msB,EAAK1L,EAAA0L,MAE3C6msB,EAAU,IAAI8L,GAAmB,CACtCJ,QAAS,IAAID,GAAe,CAAEC,QAASlK,IACvCoK,aAAc,IAAID,GAAoB,CACrCC,aAAc1L,IAEfsL,YAAa,IAAIH,GAAmB,CACnCG,YAAaztB,MAIX/3C,OAAW,EAEXj3oB,KAAKsqrB,QAAQ6U,eACF,GAAMn/rB,KAAK2vrB,YAAY7orB,IAAImqsB,EAAS,YAD/C,aACHh6D,EAAc5poB,EAAAzJ,OACdmzH,GAAOiyjB,MAAM,kBAAmB/xC,oBAoDjC,OA5CM+jF,EAAwB,IAAIr5rB,KAAKv3B,IAOjCgkrB,EAAcpurB,KAAK00tB,kBACxBzjB,EAAQyB,aAAawJ,gBAAgB,sBAI1BkC,qBAAqBnN,GAE7B5ysB,QAAoC,qBAAnBA,OAAOgppB,SAC3BhppB,OAAOgppB,QAAQgC,aACd,CAAC,EACD,KACCrppB,KAAKsqrB,QAAQZ,MAA8BC,gBAI9C8iC,GACC,SACAr+B,EACA,UAAUA,EAAY8mB,cAAa,uBAEpCuX,GACC,kBACAr+B,EACA,UAAUA,EAAY8mB,cAAa,6CAGhC8lB,IACG7N,EAAc/itB,EAAM0I,MAAM,KAAKQ,OAAO,GAAG7D,KAAK,KAEpDg9sB,GACC,mBACcU,EH7+ElBvrsB,MAAM,SACN/iB,KAAI,SAAAi2H,GAAQ,OAAA3lH,OAAOC,aAAam2B,SAASuvF,EAAM,IAAnC,IACZrlH,KAAK,IG4+ED,kBAAkB2+qB,EAAY8mB,gBAKzB,CAAP,EAAOj+D,4BAEPlghB,GAAOiyjB,MAAM,wCAAyCiyC,GAIlD58tB,QAAoC,qBAAnBA,OAAOgppB,SAC3BhppB,OAAOgppB,QAAQgC,aACd,CAAC,EACD,KACCrppB,KAAKsqrB,QAAQZ,MAA8BC,gBAI9C8iC,GACC,iBACAwO,EACA,kCAEDxO,GACC,0BACAwO,EACA,8DAEDxO,GACC,sBACAwO,EACA,kFAKHj7tB,KAAKqytB,qBAAsB,+BAStBF,EAAAjytB,UAAAg7tB,qBAAP,SAA4BjkF,GAC3B,MAAO,CACNwmD,YAAaxmD,EAAYwmD,YACzBE,aAAc1mD,EAAY0mD,aAC1BD,gBAAiBzmD,EAAYymD,gBAC7BL,WAAYpmD,EAAYomD,WACxB0V,cAAe97D,EAAY87D,cAE7B,EAEQof,EAAAjytB,UAAAo4tB,mBAAR,SAA2B12mB,GAA3B,IAAA14G,EAAA,KACOye,EAAM,CAAC,EAcb,OAbIi6F,GACHA,EAAW/iH,KAAI,SAAA4wM,GAEM,mBAAnBA,EAAUklU,MACS,0BAAnBllU,EAAUklU,KAEVhtf,EAAI8nL,EAAUklU,MACbzrgB,EAAKiytB,eAAe1rhB,EAAUolU,SAA8B,IAApBplU,EAAUolU,MAEnDltf,EAAI8nL,EAAUklU,MAAQllU,EAAUolU,KAElC,IAEMltf,CACR,EAEQwqsB,EAAAjytB,UAAAi7tB,eAAR,SAAuBr4tB,GACtB,MAC8B,oBAAtBA,EAAMwX,aAAsD,SAAxBxX,EAAMwX,aAEnD,EAEQ63sB,EAAAjytB,UAAAw0tB,kBAAR,SAA0B3/qB,GACzB,IAAMkuG,EAA6B,CAClC2xjB,SAAU7/pB,EACV8oqB,KAAM79sB,KAAKoytB,UAEZnvkB,EAAS2siB,QAAU5vrB,KAAK8vsB,SAEhB,IAAAmO,EAAA,KAAA3zB,QAAA2zB,uBAEFn1B,EAAO,IAAI80B,GAAY36jB,GAI7B,OAHIg7jB,GACHn1B,EAAK21B,0BAA0BR,GAEzBn1B,CACR,EAEQqpC,EAAAjytB,UAAA0ytB,oBAAR,SAA4BjrsB,GAE3B,QACGA,GACqB,oBAAhBA,EAAIiqF,SACY,oBAAhBjqF,EAAI05P,SACe,oBAAnB15P,EAAIg3O,YACU,oBAAdh3O,EAAI6V,KAEb,EAEQ20rB,EAAAjytB,UAAAk7tB,uBAAR,SAA+BjrrB,GAC9B,OAAIA,GACEA,EAAO0vpB,YAAe1vpB,EAAOgvpB,eAI5B7V,GAAe+xC,SAHb/xC,GAAegyC,iBAIzB,EAEQnJ,EAAAjytB,UAAA4ztB,gBAAR,SAAwBt8sB,GACvB,OAAO9U,QAAQE,OAAO,IAAIwttB,GAAU54sB,GACrC,EAEQ26sB,EAAAjytB,UAAAuztB,iBAAR,WACC,IAAMj8sB,EAAOxX,KAAKo7tB,uBAAuBp7tB,KAAKsqrB,SAC9C,OAAO5nrB,QAAQE,OAAO,IAAI0ttB,GAAgB94sB,GAC3C,EAEa26sB,EAAAjytB,UAAAq7tB,eAAb,+GAIa,gCAAMv7tB,KAAK8wsB,qCAAtB0qB,EAAW98tB,EAAAkF,oBAGX,kBADAmzH,GAAOiyjB,MAAM,6CAA8CyyC,GACpD,CAAP,EAAO/4tB,QAAQE,OAAO,yCAIvB,OADA44tB,EAAS7a,gCACF,CAAP,EAAO,IAAIj+sB,SAAQ,SAACsqD,EAAKqwlB,GACxBm+E,EAAS9S,0BAA0B,CAClC/I,UAAW,SAAA53sB,GACVilD,EAAIjlD,EACL,EACAo3sB,UAAW,SAAAvpqB,GACO,8BAAbA,EAAIrD,KACP8qmB,EAAI,IAAI+yE,GAAU9mC,GAAeoyC,eACV,iBAAb9lrB,EAAIrD,KACd8qmB,EAAI,IAAI+yE,GAAU9mC,GAAeqyC,eAEjCt+E,EAAIznmB,EAEN,GAEF,aAGYu8qB,EAAAjytB,UAAAuotB,aAAb,+GAIa,gCAAMzotB,KAAK8wsB,qCAAtB0qB,EAAW98tB,EAAAkF,oBAGX,kBADAmzH,GAAOiyjB,MAAM,6CAA8C4yC,GACpD,CAAP,EAAOl5tB,QAAQE,OAAO,yCAIvB,OADA44tB,EAAS7a,gCACF,CAAP,EAAO,IAAIj+sB,SAAQ,SAACsqD,EAAKqwlB,GACxBm+E,EAAS/S,aAAa,CACrB9I,UAAW,SAAA53sB,GACVilD,EAAIjlD,EACL,EACAo3sB,UAAW,SAAAvpqB,GACO,8BAAbA,EAAIrD,KACP8qmB,EAAI,IAAI+yE,GAAU9mC,GAAeoyC,eACV,iBAAb9lrB,EAAIrD,KACd8qmB,EAAI,IAAI+yE,GAAU9mC,GAAeqyC,eAEjCt+E,EAAIznmB,EAEN,GAEF,aAGYu8qB,EAAAjytB,UAAA27tB,aAAb,+GAIa,gCAAM77tB,KAAK8wsB,qCAAtB0qB,EAAW98tB,EAAAkF,oBAGX,iBADAmzH,GAAOiyjB,MAAM,6CAA8C8yC,GACrD,IAAInztB,MAAM,wCAIjB,OADA6ytB,EAAS7a,gCACF,CAAP,EAAO,IAAIj+sB,SAAQ,SAACsqD,EAAKqwlB,GACxB,IAAMruC,EAAK,CACV2wG,UAAA,SAAU53sB,GACT,IAAMg0tB,EAA4Bh0tB,EAAK4nG,QAAQ9wG,KAAI,SAAAkyG,GAClD,IAAMQ,EACLR,EAAOirnB,iBAAiBl6qB,MACvB,SAACpjD,GAAa,MAAS,gBAApBA,EAAAi2gB,IAAW,KACV,CAAC,EAMP,MAJgC,CAC/BtggB,GAAI08F,EAAOgymB,UACXh8sB,KAAMwqG,EAAWsja,MAGnB,IACA7nd,EAAI+uqB,EACL,EACA5c,UAAW,SAAAvpqB,GACO,8BAAbA,EAAIrD,KACP8qmB,EAAI,IAAI+yE,GAAU9mC,GAAeoyC,eACV,iBAAb9lrB,EAAIrD,KACd8qmB,EAAI,IAAI+yE,GAAU9mC,GAAeqyC,eAEjCt+E,EAAIznmB,EAEN,GAED4lrB,EAAS3S,YAjoFQ,GAioFiB,KAAM75G,EACzC,aAEFmjH,CAAA,CA7nFA,GA+nFa3iC,GAAO,IAAI2iC,GAAU,MAElCzhC,GAAAA,SAAiBlB,IEhuFjB,IAAyP/trB,GAAC,GAAA1C,OAArC,CAAC,WAAW,QAAQ,gBAAjO,CAAC,YAAY,QAAQ,cAAc,aAAa,cAAc,OAAO,WAAW,eAAe,qBAAqB,UAAU,WAA+H,CAAC,oBAAoB,WAAW,qBCA/RyF,GAAE,CAAC,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,QCArwC/C,GAAE,CAACw6tB,UAAU,CAACt4tB,MAAM,YAAY6mF,YAAY,uBAAuBhzE,KAAK,OAAO0uZ,aAAa,OAAOvxV,YAAW,GAAIunpB,kBAAkB,CAACv4tB,MAAM,oBAAoB6mF,YAAY,+BAA+BhzE,KAAK,SAAS0uZ,aAAa,gBAAgBvxV,YAAW,GAAIwnpB,iBAAiB,CAACx4tB,MAAM,mBAAmB6mF,YAAY,+BAA+BhzE,KAAK,WAAW0uZ,aAAa,eAAevxV,YAAW,GAAI70C,MAAM,CAACn8B,MAAM,QAAQ6mF,YAAY,mBAAmBhzE,KAAK,QAAQ0uZ,aAAa,WAAWvxV,YAAW,GAAIynpB,YAAY,CAACz4tB,MAAM,cAAc6mF,YAAY,yBAAyBhzE,KAAK,OAAO0uZ,aAAa,cAAcvxV,YAAW,GAAI0npB,WAAW,CAAC14tB,MAAM,aAAa6mF,YAAY,wBAAwBhzE,KAAK,OAAO0uZ,aAAa,aAAavxV,YAAW,GAAI2npB,YAAY,CAAC34tB,MAAM,cAAc6mF,YAAY,yBAAyBhzE,KAAK,OAAO0uZ,aAAa,kBAAkBvxV,YAAW,GAAI5tE,KAAK,CAACpD,MAAM,OAAO6mF,YAAY,kBAAkBhzE,KAAK,OAAO0uZ,aAAa,OAAOvxV,YAAW,GAAI4npB,SAAS,CAAC54tB,MAAM,WAAW6mF,YAAY,sBAAsBhzE,KAAK,OAAO0uZ,aAAa,MAAMvxV,YAAW,GAAI50C,SAAS,CAACp8B,MAAM,WAAW6mF,YAAY,sBAAsBhzE,KAAK,WAAW0uZ,aAAa,eAAevxV,YAAW,GAAIk/oB,aAAa,CAAClwtB,MAAM,eAAe6mF,YAAY,0BAA0BhzE,KAAK,MAAM0uZ,aAAa,MAAMs2T,SAAS,KAAKC,aAAa17tB,GAAE4zE,YAAW,GAAI+npB,mBAAmB,CAAC/4tB,MAAM,qBAAqB6mF,YAAY,gCAAgChzE,KAAK,OAAOm9D,YAAW,GAAIgopB,QAAQ,CAACh5tB,MAAM,UAAU6mF,YAAY,mBAAmBhzE,KAAK,MAAM0uZ,aAAa,MAAMvxV,YAAW,GAAIiopB,QAAQ,CAACj5tB,MAAM,UAAU6mF,YAAY,mBAAmBhzE,KAAK,MAAM0uZ,aAAa,MAAMvxV,YAAW,GAAI5/B,SAAS,CAACpxC,MAAM,WAAW6mF,YAAY,sBAAsBhzE,KAAK,OAAO0uZ,aAAa,WAAWvxV,YAAW,IAAKxvE,GAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KCArzD3E,GAAE,SAAAF,GAAI,IAAIE,EAAQD,EAAE,QAAQC,EAAE,MAAMF,OAAE,EAAOA,EAAE4Q,QAAQi/B,cAAS,IAAS3vC,OAAE,EAAOA,EAAEq8tB,gBAAejitB,EAAK,MAAMra,EAAEA,EAAE,CAAC,YAAY,OAADua,EAAAA,EAAAA,GAAAF,EAAA,GAAxB,EAAiC,ECAgLpW,GAAE,SAAAlE,GAAC,OAAEmB,GAAAA,SAAWnB,EAAE,EAACC,GAAE,SAAAkB,GAAI,OAAOA,GAAGnB,EAAEmB,EAAE9B,MAAMkoB,QAAQvnB,GAAGmB,EAAE,CAACA,IAAI,KAAK,IAAInB,CAAC,ECA5UG,GAAE,SAACF,EAAEkB,GAAK,IAAmBnB,EAAGkE,GAAEjE,GAAlBu8tB,aAAyBr8tB,EAAEM,GAAEU,GAAmB,MAAM,QAARhB,EAAR+W,OAA4B/W,EAAEjB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAG,CAAC+7tB,SAASl8tB,KAAKG,CAAC,EAAE0E,GAAE,SAAAX,GAAI,IAAMjE,EAAEkB,GAAE+C,GAAG,OAAOhF,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAEjE,IAAI,CAAC2la,aAAa,YAAY,EAAE1ka,GAAE,SAAAgD,GAAC,MAAG,CAAC03tB,kBAAkB18tB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAE,sBAAsB,CAACb,MAAM,SAAS6mF,YAAY,SAAS,EAAEhqF,GAAE,CAACw0tB,OAAO,SAAAxwtB,GAAC,MAAG,CAACuwC,SAASv1C,OAAOa,OAAO,CAAC,EAAE8E,GAAEX,IAAIu7B,SAASvgC,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAE,aAAa,CAAC0ha,aAAa,qBAAqB,EAAEqlT,OAAO,SAAA/mtB,GAA8I,IAA1I,IAAAu4tB,EAA4Cv4tB,EAAE0M,QAAQi/B,OAAhC5vC,EAACw8tB,EAAjBF,gBAAmC97tB,EAACg8tB,EAAlBC,iBAAqCx7tB,EAAEC,GAAE+C,GAAoElF,EAAE,CAAC,EAAE29tB,EAAA,EAAAj1sB,EAApEroB,MAAM2K,KAAK,IAAIsP,IAAI,GAAD7a,QAAAm6B,EAAAA,GAAAA,GAAK34B,GAAC,CAAC,WAAW,qBAAkB24B,EAAAA,GAAAA,GAAIn4B,MAA0Bk8tB,EAAAj1sB,EAAArnB,OAAAs8tB,IAAA,CAAZ,IAAM18tB,EAACynB,EAAAi1sB,GAAM,GAAG38tB,GAAEC,GAAG,CAAC,IAAMQ,EAAER,IAAIiB,EAAE2D,GAAEX,GAAG/D,GAAE+D,EAAEjE,GAAGjB,EAAEiB,GAAGf,OAAOa,OAAO,CAAC,EAAEU,EAAE,MAAMy+C,QAAQwpoB,MAAM,4DAADjqrB,OAA6DwB,EAAC,kDAAkD,QAAOjB,CAAC,EAAEu1tB,cAAc,SAAArwtB,GAAC,MAAG,CAAC03tB,kBAAkB18tB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAE,sBAAsB,CAACgmF,YAAY,oBAAoB,EAAE2soB,cAAc31tB,GAAE07tB,iBAAiB,SAAA14tB,GAAmH,IAAzG,IAA2B/C,EAAzBlB,GAAEiE,GAA4B0M,QAAxBsxsB,mBAA4FhhtB,EAAE,CAAC,EAAE27tB,EAAA,EAAAz+tB,EAA/DiB,MAAM2K,KAAK,IAAIsP,IAAI,CAAC,WAAW,oBAAkB7a,QAAAm6B,EAAAA,GAAAA,GAAIz3B,MAA0B07tB,EAAAz+tB,EAAAiC,OAAAw8tB,IAAA,CAAZ,IAAM58tB,EAAC7B,EAAAy+tB,GAAM78tB,GAAEC,GAAGiB,EAAEjB,GAAGf,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAEjE,IAAIi/C,QAAQwpoB,MAAM,4DAADjqrB,OAA6DwB,EAAC,4DAA4D,QAAOiB,CAAC,EAAE47tB,cAAc,SAAA54tB,GAAU,IAAAjE,EAAEkB,GAAE+C,GAAUlE,EAAGS,GAAER,GAAXoD,MAAc,MAAM,CAACoxC,SAASv1C,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAE8E,GAAEX,IAAI,CAACb,MAAK,cAAA5E,OAAeuB,EAAEga,eAAgBkwE,YAAW,cAAAzrF,OAAeuB,EAAEga,iBAAkB,EAAE+itB,qBAAqB,SAAA74tB,GAAC,OAAEhF,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEmB,GAAEgD,IAAI,CAACu7B,SAASvgC,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAE,aAAa,CAACb,MAAM,eAAe6mF,YAAY,iBAAiB2xoB,iBAAiB38tB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEI,GAAE+D,EAAE,qBAAqB,CAACb,MAAM,mBAAmB6mF,YAAY,sBAAsB,EAAC8yoB,kBAAkB97tB,GAAEs1tB,UAAUt1tB,ICM/hEu1H,GAAS,IAAIo0jB,GAAO,QAK1B0E,GAAA,WAqBC,SAAAA,EAAY70qB,GAjBZ,KAAAy6F,SAAwB,KAKxB,KAAA8nnB,MAAQ,KAKR,KAAAC,MAAQ,CAAC,EAQRx9tB,KAAKy1G,SAAWj2G,OAAOa,OAAO,CAAC,EAAG2a,GAClChb,KAAKu9tB,MAAQv9tB,KAAKy1G,SAAS4ja,UAGzBr5gB,KAAKu9tB,OACY,qBAAXl/tB,QACPA,QACAA,OAAO+/C,YAEPp+C,KAAKu9tB,MAAQl/tB,OAAO+/C,UAAUi7d,UAG/BtiZ,GAAOiyjB,MAAMhprB,KAAKu9tB,MACnB,CAmFD,OA5EC1tC,EAAA3vrB,UAAAu9tB,YAAA,SAAYC,GACX19tB,KAAKu9tB,MAAQG,CACd,EAQA7tC,EAAA3vrB,UAAA0G,IAAA,SAAItF,EAAKq8tB,GACR,QADQ,IAAAA,IAAAA,OAAAp/tB,IACHyB,KAAKu9tB,MACT,MAAyB,qBAAXI,EAAyBA,EAASr8tB,EAGjD,IAAMo8tB,EAAO19tB,KAAKu9tB,MACdr3rB,EAAMlmC,KAAK49tB,cAAct8tB,EAAKo8tB,GAClC,OAAIx3rB,IAIAw3rB,EAAK18tB,QAAQ,KAAO,IACvBklC,EAAMlmC,KAAK49tB,cAAct8tB,EAAKo8tB,EAAK5qtB,MAAM,KAAK,KAE3CozB,IAIqB,qBAAXy3rB,EAAyBA,EAASr8tB,GACjD,EASAuurB,EAAA3vrB,UAAA09tB,cAAA,SAAct8tB,EAAK+3gB,EAAUskN,GAC5B,QAD4B,IAAAA,IAAAA,EAAA,OACvBtkN,EACJ,OAAOskN,EAGR,IAAME,EAAY79tB,KAAKw9tB,MAAMnkN,GAC7B,OAAKwkN,EAIEA,EAAUv8tB,GAHTq8tB,CAIT,EAQA9tC,EAAA3vrB,UAAA49tB,2BAAA,SAA2BzkN,EAAU0kN,GACpC,IAAIF,EAAY79tB,KAAKw9tB,MAAMnkN,GACtBwkN,IACJA,EAAY79tB,KAAKw9tB,MAAMnkN,GAAY,CAAC,GAErCr5gB,KAAKw9tB,MAAMnkN,GAASj5gB,GAAAA,GAAA,GAAQy9tB,GAAcE,EAC3C,EAQAluC,EAAA3vrB,UAAA89tB,gBAAA,SAAgBD,GAAhB,IAAA70tB,EAAA,KACC1J,OAAOgR,KAAKuttB,GAAcl/tB,KAAI,SAAAyC,GAC7B4H,EAAK40tB,2BAA2Bx8tB,EAAKy8tB,EAAaz8tB,GACnD,GACD,EACDuurB,CAAA,CAtHA,GCHM94jB,GAAS,IAAIo0jB,GAAO,QAEtBb,GAAU,KACV2zC,GAAQ,KAKZpuC,GAAA,oBAAAA,IA+FA,QAxFQA,EAAA5wpB,UAAP,SAAiBkR,GAEhB,OADA4mF,GAAOiyjB,MAAM,kBACR74oB,GAILm6oB,GAAU9qrB,OAAOa,OAAO,CAAC,EAAGiqrB,GAASn6oB,EAAO0/oB,MAAQ1/oB,GAEpD0/oB,EAAKn4oB,iBAEE4yoB,IAPCA,EAQT,EAEOuF,EAAAY,cAAP,WACC,MAAO,MACR,EAOOZ,EAAAn4oB,eAAP,WACCq/E,GAAOiyjB,MAAM,wBACTi1C,KAGJA,GAAQ,IAAIC,GAAU5zC,IACvB,EAOOuF,EAAA4tC,YAAP,SAAmBC,GAGlB,OAFA7tC,EAAKsuC,cAEEF,GAAMR,YAAYC,EAC1B,EAQO7tC,EAAAjprB,IAAP,SAAWtF,EAAKq8tB,GACf,OAAK9tC,EAAKsuC,cAIHF,GAAMr3tB,IAAItF,EAAKq8tB,GAHI,qBAAXA,EAAyBr8tB,EAAMq8tB,CAI/C,EASO9tC,EAAAiuC,2BAAP,SAAkCzkN,EAAU0kN,GAG3C,OAFAluC,EAAKsuC,cAEEF,GAAMH,2BAA2BzkN,EAAU0kN,EACnD,EASOluC,EAAAmuC,gBAAP,SAAuBD,GAGtB,OAFAluC,EAAKsuC,cAEEF,GAAMD,gBAAgBD,EAC9B,EAEcluC,EAAAsuC,YAAd,WAKC,OAJKF,KACJA,GAAQ,IAAIC,GAAU5zC,MAGhB,CACR,EACDuF,CAAA,CA/FA,GAiGAa,GAAAA,SAAiBb,ICjHjB,ICAs3Bp9J,GAAEjzhB,OAAOa,OAAO,CAAC,EDA/3B,CAAC,yDAAyD,sEAAgE,kBAAkB,0BAAuB,kBAAkB,qBAAkB+9tB,SAAS,gBAAatoC,KAAK,OAAO,mBAAmB,yBAAsB,kBAAkB,8BAA2B,mBAAmB,yBAAsB,oBAAoB,0BAAuBuoC,QAAQ,gBAAa,oBAAoB,uBAAoBC,WAAW,oBAAiB,uBAAuB,gCAAgC,iBAAiB,oBAAoB,mBAAmB,wBAAwB,gBAAgB,oBAAoBC,MAAM,QAAQ,kBAAkB,2BAA2B,mBAAmB,2BAA2B,0BAA0B,mCAAmC,sBAAsB,oCAAoC,wBAAwB,uBAAuB,gBAAgB,qBAAqB,iCAAiC,6CAA6C/qiB,QAAQ,eAAe,eAAe,iBAAiB8D,GAAG,OAAOu9gB,SAAS,WAAW,eAAe,gBAAgB,cAAc,qBAAqB,sBAAsB,+BAA4B,sBAAsB,+BAA4B,YAAY,cAAc,YAAY,cAAc2pB,QAAQ,gBAAgB,aAAa,kBAAkB,gBAAgB,oBAAoB,0BAA0B,uCAAuC,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,sBAAsB,UAAU,WAAW,UAAU,WAAW,aAAa,kBAAkBC,KAAK,kBAAeC,OAAO,aAAaC,WAAW,gBAAgB/pB,SAAS,eAAe,iBAAiB,uBAAuBn6J,OAAO,eAAe,iBAAiB,gCAAgC,gBAAgB,kCAAkC,iEAAiE,mGAAmG,kDAAkD,kDAAkD,iBAAiB,qBAAkB,kBAAkB,0BAAuB,iBAAiB,oBAAoB,sBAAsB,6BAA6B,sBAAsB,8BAA8B,mBAAmB,wBAAwB,wBAAwB,4BAA4B,sBAAsB,0BAA0B,kBAAkB,qBAAqB,oBAAoB,sBAAsB,iCAAiC,+CAA+C,0BAA0B,gCAA6B,8BAA8B,kFAA+E,kCAAkC,2DAAwD,mBAAmB,kBAAkB,eAAe,iBAAiB,eAAe,iBAAiB,6BAA6B,sEAAsE,iBAAiB,2BAAwB,WAAW,WAAW,UAAU,eAAe,sBAAsB,oCAAoC,sBAAsB,kCAAkC,2BAA2B,oCAAoC,iBAAiB,wBAAwB,mEAAmE,iHAA8G,kEAAkE,mHCAl1Fn7iB,GAAEE,OAAOa,OAAO,CAAC,ECAr5B,CAAC,yDAAyD,yDAAyD,mBAAmB,mBAAmB,mBAAmB,mBAAmB,kBAAkB,kBAAkB,kBAAkB,kBAAkB+9tB,SAAS,WAAWtoC,KAAK,OAAO,mBAAmB,mBAAmB,kBAAkB,kBAAkB,mBAAmB,mBAAmB,oBAAoB,oBAAoBuoC,QAAQ,UAAU,oBAAoB,oBAAoBC,WAAW,aAAa,uBAAuB,uBAAuB,iBAAiB,iBAAiB,mBAAmB,mBAAmB,gBAAgB,gBAAgBC,MAAM,QAAQ,uBAAuB,uBAAuB,kBAAkB,kBAAkB,+BAA+B,+BAA+B,mBAAmB,mBAAmB,yBAAyB,yBAAyB,wBAAwB,wBAAwB,yBAAyB,yBAAyB,kBAAkB,kBAAkB,sBAAsB,sBAAsB,sBAAsB,sBAAsB,0BAA0B,0BAA0B,gCAAgC,gCAAgC,sBAAsB,sBAAsB,mBAAmB,mBAAmB,wBAAwB,wBAAwB,gBAAgB,gBAAgB,iCAAiC,iCAAiC/qiB,QAAQ,UAAU,eAAe,eAAe8D,GAAG,KAAKu9gB,SAAS,WAAW,eAAe,eAAe,+BAA+B,+BAA+B,cAAc,cAAc,sBAAsB,sBAAsB,sBAAsB,sBAAsB,YAAY,YAAY,YAAY,YAAY2pB,QAAQ,UAAU,aAAa,aAAa,gBAAgB,gBAAgB,0BAA0B,0BAA0B,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,sBAAsB,UAAU,UAAU,UAAU,UAAU,aAAa,aAAaC,KAAK,OAAOC,OAAO,SAASC,WAAW,aAAa/pB,SAAS,WAAW,iBAAiB,iBAAiBn6J,OAAO,SAAS,iBAAiB,iBAAiB,iBAAiB,iBAAiB,gBAAgB,gBAAgB,mEAAmE,mEAAmE,iEAAiE,iEAAiE,kEAAkE,oEDAjyDz0gB,GAAExmC,OAAOa,OAAO,CAAC,EEA36B,CAAC,yDAAyD,iFAA2E,kBAAkB,+BAA4B,kBAAkB,wBAAqB+9tB,SAAS,YAAYtoC,KAAK,YAAS,mBAAmB,0BAAuB,kBAAkB,qBAAqB,mBAAmB,gCAA6B,oBAAoB,2BAAwBuoC,QAAQ,YAAY,oBAAoB,+BAAyBC,WAAW,cAAc,uBAAuB,yBAAyB,iBAAiB,eAAe,mBAAmB,iBAAiB,gBAAgB,mBAAmBC,MAAM,QAAQ,kBAAkB,uBAAoB,mBAAmB,mBAAmB,0BAA0B,sCAAgC,sBAAsB,+BAA+B,wBAAwB,kCAAyB,gBAAgB,wBAAqB,iCAAiC,2CAA2C/qiB,QAAQ,WAAW,eAAe,sBAAmB8D,GAAG,IAAIu9gB,SAAS,gBAAa,eAAe,2BAAqB,cAAc,qBAAkB,sBAAsB,+BAA4B,sBAAsB,+BAA4B,YAAY,mBAAgB,YAAY,mBAAgB2pB,QAAQ,WAAW,aAAa,kBAAkB,gBAAgB,wBAAqB,0BAA0B,iCAA8B,sBAAsB,+BAA4B,qBAAqB,8BAA2B,wBAAwB,iCAA8B,sBAAsB,+BAA4B,UAAU,oBAAiB,UAAU,oBAAiB,aAAa,sBAAmBC,KAAK,SAASC,OAAO,SAASC,WAAW,WAAW/pB,SAAS,oBAAoB,iBAAiB,qBAAqBn6J,OAAO,YAAY,iBAAiB,4CAAyC,iBAAiB,6BAA0B,gBAAgB,uCAAuC,mEAAmE,6HAA8G,iEAAiE,oGAAwF,kEAAkE,wHAA4G,kDAAkD,gDAAgD,iBAAiB,yBAAsB,kBAAkB,gCAA6B,kBAAkB,6BAAuB,kCAAkC,+CAA4C,0BAA0B,uCAAiC,8BAA8B,kDAAyC,aAAa,cAAc,eAAe,sBAAmB,gBAAgB,wBAAqB,WAAW,mBAAgB,sBAAsB,0BAA0B,qBAAqB,yBAAyB,wBAAwB,4BAA4B,sBAAsB,0BAA0B,UAAU,eAAe,sBAAsB,uBAAuB,sBAAsB,uBAAuB,2BAA2B,+CAA4C,4BAA4B,uCFA3hF75hB,GAAEphB,OAAOa,OAAO,CAAC,EGAj8B,CAAC,yDAAyD,2FAA4E,kBAAkB,2BAAwB,kBAAkB,2BAA2B+9tB,SAAS,wBAAwBtoC,KAAK,OAAO,mBAAmB,4BAA4B,kBAAkB,0BAA0B,mBAAmB,wBAAwB,oBAAoB,yBAAyBuoC,QAAQ,YAAY,oBAAoB,uBAAuBC,WAAW,eAAe,uBAAuB,6BAA0B,iBAAiB,qBAAkB,mBAAmB,0BAAuB,gBAAgB,qBAAqBC,MAAM,QAAQ,kBAAkB,uCAAuC,mBAAmB,gCAAgC,0BAA0B,+CAAsC,sBAAsB,oCAAoC,wBAAwB,4BAAyB,gBAAgB,0BAA0B,iCAAiC,+BAA+B/qiB,QAAQ,sBAAsB,eAAe,uBAAuB8D,GAAG,KAAKu9gB,SAAS,eAAe,eAAe,+BAAsB,cAAc,mBAAmB,sBAAsB,sCAAmC,sBAAsB,sCAAmC,YAAY,kBAAkB,YAAY,oBAAoB2pB,QAAQ,iBAAiB,aAAa,wBAAwB,gBAAgB,2BAA2B,0BAA0B,8BAA2B,sBAAsB,2BAA2B,qBAAqB,0BAA0B,wBAAwB,6BAA6B,sBAAsB,2BAA2B,UAAU,eAAe,UAAU,eAAe,aAAa,qBAAqBC,KAAK,SAASC,OAAO,YAAYC,WAAW,iBAAiB/pB,SAAS,oBAAoB,iBAAiB,yBAAsBn6J,OAAO,cAAW,iBAAiB,+BAA4B,gBAAgB,mCAAgC,iEAAiE,wGAAqG,kDAAkD,6DAAuDnhe,OAAO,WAAW,iBAAiB,oBAAoB,kBAAkB,yBAAyB,iBAAiB,qBAAkB,sBAAsB,+BAA+B,kBAAkB,yBAAsB,oBAAoB,0BAAoBslpB,MAAM,UAAU,iCAAiC,wCAAwC,0BAA0B,kCAAkC,8BAA8B,4FAAmF,aAAa,gBAAgB,mBAAmB,gCAAgC,gBAAgB,mBAAgB,eAAe,uBAAuB,eAAe,mBAAmB,gBAAgB,mBAAmB,iBAAiB,sCAAmCC,KAAK,UAAU,mBAAmB,wBAAwB,WAAW,iBAAc,UAAU,aAAaC,IAAI,MAAM,sBAAsB,kCAA4B,sBAAsB,6BAA6B,2BAA2B,iDAA2C,4CAA4C,6BAA6B,iBAAiB,oCAAiC,mEAAmE,8FAA2F,kEAAkE,0GAA8F,kCAAkC,wCHA56Fp6tB,GAAElF,OAAOa,OAAO,CAAC,EIAv9B,CAAC,yDAAyD,0EAA0E,kBAAkB,kCAAkC,kBAAkB,qBAAqB+9tB,SAAS,oBAAoBtoC,KAAK,SAAS,mBAAmB,uBAAuB,kBAAkB,yBAAyB,mBAAmB,sBAAsB,oBAAoB,uBAAuBuoC,QAAQ,WAAW,oBAAoB,qBAAqBC,WAAW,oBAAoB,uBAAuB,wBAAwB,iBAAiB,eAAe,mBAAmB,6BAA6B,gBAAgB,kBAAkBC,MAAM,QAAQ,kBAAkB,0BAA0B,mBAAmB,0BAA0B,0BAA0B,uCAAuC,sBAAsB,+BAA+B,wBAAwB,wBAAwB,gBAAgB,oBAAoB,iCAAiC,8CAA8C/qiB,QAAQ,uBAAuB,eAAe,iBAAiB8D,GAAG,SAASu9gB,SAAS,WAAW,eAAe,qBAAqB,cAAc,6BAA6B,sBAAsB,4BAA4B,sBAAsB,4BAA4B,YAAY,eAAe,YAAY,eAAe2pB,QAAQ,iBAAiB,aAAa,iBAAiB,gBAAgB,kBAAkB,0BAA0B,wBAAwB,sBAAsB,oBAAoB,qBAAqB,mBAAmB,wBAAwB,sBAAsB,sBAAsB,oBAAoB,UAAU,SAAS,UAAU,SAAS,aAAa,mBAAmBC,KAAK,QAAQC,OAAO,QAAQC,WAAW,iBAAiB/pB,SAAS,cAAc,iBAAiB,oBAAoBn6J,OAAO,WAAW,iBAAiB,+BAA+B,iBAAiB,+BAA+B,gBAAgB,4BAA4B,mEAAmE,0GAAuG,iEAAiE,mFAAgF,kEAAkE,4FAAyF,kDAAkD,2DAAqD,iBAAiB,qBAAqB,kBAAkB,qBAAqB,iBAAiB,eAAe,sBAAsB,4BAA4B,mBAAmB,wBAAwB,oBAAoB,qBAAkB,iCAAiC,gCAAgC,0BAA0B,oCAAoC,8BAA8B,4CAA4C,kBAAkB,mBAAmB,eAAe,iBAAiB,eAAe,sBAAsB,6BAA6B,yEAAsE,iBAAiB,qBAAqB,WAAW,OAAO,UAAU,aAAa,sBAAsB,0BAAuB,sBAAsB,qBAAqB,2BAA2B,2CJA76Ev2iB,GAAE1E,OAAOa,OAAO,CAAC,EKA7+B,CAAC,yDAAyD,6IAA0B,kBAAkB,mDAAW,kBAAkB,0DAAa+9tB,SAAS,qBAAMtoC,KAAK,qBAAM,mBAAmB,mDAAW,kBAAkB,2BAAO,mBAAmB,2CAAa,oBAAoB,4CAAcuoC,QAAQ,eAAK,oBAAoB,iCAAQC,WAAW,qBAAM,uBAAuB,qEAAc,iBAAiB,mDAAW,mBAAmB,yDAAY,gBAAgB,mDAAWC,MAAM,6CAAU,kBAAkB,uCAAS,mBAAmB,+DAAa,0BAA0B,6CAAU,sBAAsB,oDAAY,wBAAwB,kFAAiB,gBAAgB,yDAAY,iCAAiC,wHAAyB/qiB,QAAQ,2BAAO,eAAe,mDAAW8D,GAAG,eAAKu9gB,SAAS,kCAAS,eAAe,2BAAO,cAAc,6CAAU,sBAAsB,+DAAa,sBAAsB,2EAAe,YAAY,uCAAS,YAAY,uCAAS2pB,QAAQ,qBAAM,aAAa,kDAAe,gBAAgB,mDAAW,0BAA0B,sEAAe,sBAAsB,6CAAe,qBAAqB,6CAAe,wBAAwB,+CAAiB,sBAAsB,6CAAe,UAAU,kCAAS,UAAU,iCAAQ,aAAa,uCAASC,KAAK,2BAAOC,OAAO,eAAKC,WAAW,qBAAM/pB,SAAS,kCAAS,iBAAiB,uCAASn6J,OAAO,eAAK,iBAAiB,qEAAc,gBAAgB,2EAAe,iEAAiE,qNAAsC,kDAAkD,+JAA6B,iBAAiB,uCAAS,kBAAkB,6CAAU,iBAAiB,oDAAY,mBAAmB,+DAAa,sBAAsB,oDAAY,sBAAsB,mDAAW,+BAA+B,mDAAW,kBAAkB,0DAAa,oBAAoB,uFAAiB,iCAAiC,0GAAqB,0BAA0B,kFAAiB,8BAA8B,wKAA2C,kCAAkC,6IAA0B,mBAAmB,2EAAe,eAAe,mDAAW,eAAe,gEAAc,6BAA6B,qHAAsB,iBAAiB,gEAAc,iBAAiB,+DAAa,WAAW,wCAAU,UAAU,gBAAM,sBAAsB,wFAAkB,sBAAsB,sEAAe,2BAA2B,2EAAe,iBAAiB,+DAAa,mEAAmE,gNAAsC,kEAAkE,sPLAtqD55hB,GAAErhB,OAAOa,OAAO,CAAC,EMAngC,CAAC,yDAAyD,oHAA0B,kBAAkB,0DAAa,kBAAkB,oDAAY+9tB,SAAS,qBAAMtoC,KAAK,eAAK,mBAAmB,8CAAW,kBAAkB,wCAAU,mBAAmB,+CAAY,oBAAoB,6CAAeuoC,QAAQ,eAAK,oBAAoB,2BAAOC,WAAW,qBAAM,uBAAuB,2BAAO,iBAAiB,2BAAO,mBAAmB,iCAAQ,gBAAgB,4BAAQC,MAAM,qBAAM,kBAAkB,sEAAe,mBAAmB,kCAAS,0BAA0B,wCAAU,sBAAsB,gEAAc,gBAAgB,8CAAW,iCAAiC,oGAAyB/qiB,QAAQ,qBAAM,eAAe,kCAAS8D,GAAG,eAAKu9gB,SAAS,2BAAO,eAAe,2BAAO,cAAc,8CAAW,sBAAsB,8CAAW,sBAAsB,8CAAW,YAAY,8CAAW,YAAY,4BAAQ2pB,QAAQ,qBAAM,aAAa,gCAAY,gBAAgB,8CAAW,0BAA0B,qBAAM,sBAAsB,4BAAa,qBAAqB,2BAAY,wBAAwB,8BAAe,sBAAsB,4BAAa,UAAU,qBAAM,UAAU,qBAAM,aAAa,2BAAOC,KAAK,kCAASC,OAAO,eAAKC,WAAW,qBAAM/pB,SAAS,qBAAM,iBAAiB,kCAASn6J,OAAO,eAAK,iBAAiB,wCAAU,iBAAiB,kCAAS,gBAAgB,qDAAa,mEAAmE,+LAAyC,iEAAiE,sKAAoC,kEAAkE,4MAA4CskL,UAAU,2BAAO,cAAc,SAAI,wBAAwB,iEAAe,aAAa,eAAKpqN,KAAK,eAAKqqN,SAAS,qBAAM,qBAAqB,qBAAMC,QAAQ,qBAAM,iBAAiB,8CAAWC,QAAQ,6BNAv1B39pB,GAAE/hE,OAAOa,OAAO,CAAC,EOAzhC,CAAC,yDAAyD,uDAAuD,kBAAkB,sBAAsB,kBAAkB,sBAAsB+9tB,SAAS,kBAAkBtoC,KAAK,OAAO,mBAAmB,sBAAsB,kBAAkB,wBAAwB,mBAAmB,oBAAoB,oBAAoB,qBAAqBuoC,QAAQ,WAAW,oBAAoB,mBAAmBC,WAAW,aAAa,uBAAuB,yBAAyB,iBAAiB,mBAAmB,mBAAmB,2BAA2B,gBAAgB,uBAAuBC,MAAM,SAAS,kBAAkB,iBAAiB,mBAAmB,mBAAmB,sBAAsB,uBAAuB,0BAA0B,2BAA2B,sBAAsB,2BAA2B,sBAAsB,2BAA2B,wBAAwB,wBAAwB,gBAAgB,qBAAqB,iCAAiC,0CAA0C/qiB,QAAQ,QAAQ,eAAe,mBAAmB,eAAe,mBAAmB8D,GAAG,KAAKu9gB,SAAS,aAAa,eAAe,iBAAiB,+BAA+B,yBAAyB,cAAc,yBAAyB,iBAAiB,sBAAsB,sBAAsB,sBAAsB,sBAAsB,sBAAsB,YAAY,gBAAgB,YAAY,gBAAgB2pB,QAAQ,YAAY,aAAa,oBAAoB,gBAAgB,kBAAkB,0BAA0B,yBAAyB,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,sBAAsB,UAAU,WAAW,UAAU,WAAW,aAAa,WAAWC,KAAK,YAAYC,OAAO,YAAYC,WAAW,kBAAkB/pB,SAAS,iBAAiB,iBAAiB,oBAAoBn6J,OAAO,YAAY,iBAAiB,kCAAkC,iBAAiB,8BAA8B,gBAAgB,+BAA+B,mEAAmE,mFAAmF,iEAAiE,iFAAiF,kEAAkE,oFAAoF,4BAA4B,wCPAxkDh1iB,GAAEjG,OAAOa,OAAO,CAAC,EQA/iC,CAAC,yDAAyD,8DAA8D,kBAAkB,yBAAsB,kBAAkB,wBAAc+9tB,SAAS,aAAatoC,KAAK,MAAM,mBAAmB,4BAAkB,kBAAkB,kCAAwB,mBAAmB,yBAAoB,oBAAoB,wCAA8BuoC,QAAQ,iBAAY,oBAAoB,oBAAoBC,WAAW,gBAAgB,uBAAuB,uBAAoB,iBAAiB,kBAAe,mBAAmB,kBAAkB,gBAAgB,oBAAeC,MAAM,SAAS,kBAAkB,4BAAoB,mBAAmB,6BAA0B,0BAA0B,+BAA4B,sBAAsB,uDAAmC,wBAAwB,qCAAsB,gBAAgB,mBAAc,iCAAiC,wCAAyB/qiB,QAAQ,iBAAY,eAAe,kBAAa8D,GAAG,OAAOu9gB,SAAS,aAAQ,eAAe,iBAAiB,cAAc,2BAAsB,sBAAsB,4BAAuB,sBAAsB,4BAAuB,YAAY,kBAAa,YAAY,sBAAiB2pB,QAAQ,iBAAY,aAAa,kBAAkB,gBAAgB,wBAAc,0BAA0B,kCAA6B,sBAAsB,mBAAmB,qBAAqB,kBAAkB,wBAAwB,qBAAqB,sBAAsB,mBAAmB,UAAU,YAAY,UAAU,UAAU,aAAa,YAAYC,KAAK,aAAQC,OAAO,cAASC,WAAW,iBAAY/pB,SAAS,yBAAoB,iBAAiB,kCAAkCn6J,OAAO,aAAaskL,UAAU,iBAAiB,cAAc,WAAW,aAAa,qBAAgB,cAAc,mBAAcpqN,KAAK,uBAAkBqqN,SAAS,YAAY,qBAAqB,qCAAgCC,QAAQ,SAASC,QAAQ,qBAAqB,iBAAiB,qDAAiC,iBAAiB,2BAAiB,gBAAgB,kDAA8B,mEAAmE,oHAAmF,iEAAiE,8GAA6E,kEAAkE,gJRA95C37nB,GAAE/jG,OAAOa,OAAO,CAAC,ESArkC,CAAC,yDAAyD,+EAAmE,kBAAkB,qBAAqB,kBAAkB,cAAc+9tB,SAAS,UAAUtoC,KAAK,YAAS,mBAAmB,mBAAmB,kBAAkB,4BAAsB,mBAAmB,2BAAwB,oBAAoB,4BAAyBuoC,QAAQ,WAAW,oBAAoB,iCAAwBC,WAAW,cAAc,uBAAuB,uBAAuB,iBAAiB,cAAc,mBAAmB,gBAAgB,gBAAgB,mBAAmBC,MAAM,UAAU,kBAAkB,uBAAoB,mBAAmB,oBAAoB,0BAA0B,mCAAgC,sBAAsB,mCAAgC,wBAAwB,uBAAuB,gBAAgB,mBAAmB,iCAAiC,mCAAmC/qiB,QAAQ,aAAa,eAAe,aAAa8D,GAAG,KAAKu9gB,SAAS,QAAQ,eAAe,wBAAqB,cAAc,qBAAkB,sBAAsB,qBAAqB,sBAAsB,qBAAqB,YAAY,mBAAgB,YAAY,mBAAgB2pB,QAAQ,WAAW,aAAa,kBAAkB,gBAAgB,gBAAgB,0BAA0B,6BAA0B,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,0BAAuB,UAAU,SAAS,UAAU,SAAS,aAAa,WAAWC,KAAK,QAAQC,OAAO,SAASC,WAAW,WAAW/pB,SAAS,qBAAkB,iBAAiB,oBAAoBn6J,OAAO,YAAY,iBAAiB,kCAA+B,iBAAiB,wBAAqB,gBAAgB,+BAA4B,mEAAmE,uGAA8F,iEAAiE,kGAAsF,kEAAkE,qHTApqCj3iB,GAAEhE,OAAOa,OAAO,CAAC,EUA3lC,CAAC,yDAAyD,uFAAiB,kBAAkB,2BAAO,kBAAkB,2BAAO+9tB,SAAS,2BAAOtoC,KAAK,qBAAM,mBAAmB,2BAAO,kBAAkB,2BAAO,mBAAmB,6CAAU,oBAAoB,iCAAauoC,QAAQ,eAAK,oBAAoB,qBAAMC,WAAW,2BAAO,uBAAuB,iCAAQ,iBAAiB,2BAAO,mBAAmB,uCAAS,gBAAgB,2BAAOC,MAAM,eAAK,kBAAkB,iCAAQ,mBAAmB,uCAAS,0BAA0B,uCAAS,sBAAsB,iCAAQ,wBAAwB,uCAAS,gBAAgB,2BAAO,iCAAiC,qEAAc/qiB,QAAQ,2BAAO,eAAe,qBAAM8D,GAAG,eAAKu9gB,SAAS,eAAK,eAAe,eAAK,cAAc,iCAAQ,sBAAsB,2BAAO,sBAAsB,2BAAO,YAAY,iCAAQ,YAAY,iCAAQ2pB,QAAQ,2BAAO,aAAa,oBAAU,gBAAgB,2BAAO,0BAA0B,2BAAO,sBAAsB,mCAAe,qBAAqB,kCAAc,wBAAwB,qCAAiB,sBAAsB,mCAAe,UAAU,eAAK,UAAU,eAAK,aAAa,2BAAOC,KAAK,eAAKC,OAAO,eAAKC,WAAW,2BAAO/pB,SAAS,qBAAM,iBAAiB,uCAASn6J,OAAO,eAAK,iBAAiB,qEAAc,iBAAiB,6CAAU,gBAAgB,yDAAY,mEAAmE,2NAAuC,iEAAiE,+JAA6B,kEAAkE,+MAAqC,iBAAiB,qBAAM,kBAAkB,2BAAO,kBAAkB,2BAAO,iCAAiC,mDAAW,0BAA0B,uCAAS,8BAA8B,wFAA4B,eAAe,qBAAM,gBAAgB,iCAAQ,WAAW,eAAK,UAAU,eAAK,sBAAsB,uCAAS,sBAAsB,mCVAt1BzrD,GAAExvf,OAAOa,OAAO,CAAC,EWAjnC,CAAC,yDAAyD,wEAA4D,kBAAkB,6BAA6B,kBAAkB,kBAAe+9tB,SAAS,WAAQtoC,KAAK,MAAM,mBAAmB,0BAAoB,kBAAkB,2BAAwB,mBAAmB,sBAAmB,oBAAoB,uBAAoBuoC,QAAQ,cAAW,oBAAoB,mBAAmBC,WAAW,eAAY,uBAAuB,uBAAuB,iBAAiB,cAAc,mBAAmB,eAAe,gBAAgB,iBAAiBC,MAAM,SAAS,kBAAkB,gBAAgB,mBAAmB,oBAAoB,0BAA0B,0BAA0B,sBAAsB,4BAAyB,wBAAwB,8BAAwB,gBAAgB,sBAAgB,iCAAiC,qCAAqC/qiB,QAAQ,SAAS,eAAe,mBAAgB8D,GAAG,QAAQu9gB,SAAS,cAAW,eAAe,gBAAgB,cAAc,oBAAoB,sBAAsB,mCAA0B,sBAAsB,mCAA0B,YAAY,aAAa,YAAY,aAAa2pB,QAAQ,UAAU,aAAa,mBAAmB,gBAAgB,mBAAgB,0BAA0B,2BAA2B,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,sBAAsB,UAAU,WAAW,UAAU,WAAW,aAAa,YAAYC,KAAK,gBAAaC,OAAO,SAASC,WAAW,aAAa/pB,SAAS,kBAAe,iBAAiB,oBAAoBn6J,OAAO,YAAY,iBAAiB,qBAAqB,gBAAgB,iBAAiB,mEAAmE,8EAAkE,iEAAiE,mFAAuE,kEAAkE,8EAAkE,kDAAkD,mDAAmD,iBAAiB,oBAAiB,kBAAkB,yBAAsB,iBAAiB,cAAc,sBAAsB,wBAAqB,kBAAkB,yBAAmB,oBAAoB,sBAAsB,iCAAiC,8CAAwC,0BAA0B,8BAA2B,8BAA8B,uCAAoC,mBAAmB,sBAAmB,eAAe,mBAAgB,eAAe,gBAAgB,6BAA6B,mEAA0D,iBAAiB,8BAAqB,WAAW,WAAW,UAAU,eAAe,sBAAsB,4BAAyB,sBAAsB,2BAAwB,2BAA2B,uCAAoC,iBAAiB,mCXAlgE/nB,GAAElzhB,OAAOa,OAAO,CAAC,EYAvoC,CAAC,yDAAyD,2DAA2D,kBAAkB,mBAAmB,kBAAkB,kBAAkB+9tB,SAAS,WAAWtoC,KAAK,OAAO,mBAAmB,wBAAwB,kBAAkB,yBAAyB,mBAAmB,sBAAsB,oBAAoB,uBAAuBuoC,QAAQ,aAAa,oBAAoB,kBAAkBC,WAAW,iBAAiB,uBAAuB,iBAAiB,iBAAiB,YAAY,mBAAmB,eAAe,gBAAgB,yBAAyBC,MAAM,QAAQ,kBAAkB,qBAAqB,mBAAmB,sBAAsB,0BAA0B,8BAA8B,sBAAsB,0BAA0B,wBAAwB,oBAAoB,gBAAgB,yBAAyB,iCAAiC,4CAA4C/qiB,QAAQ,SAAS,eAAe,kBAAkB8D,GAAG,OAAOu9gB,SAAS,aAAa,eAAe,gBAAgB,cAAc,sBAAsB,sBAAsB,mBAAmB,sBAAsB,uBAAuB,YAAY,aAAa,YAAY,aAAa2pB,QAAQ,WAAW,aAAa,eAAe,gBAAgB,uBAAuB,0BAA0B,kBAAkB,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,sBAAsB,UAAU,QAAQ,UAAU,QAAQ,aAAa,WAAWC,KAAK,SAASC,OAAO,SAASC,WAAW,aAAa/pB,SAAS,YAAY,iBAAiB,oBAAoBn6J,OAAO,aAAa,iBAAiB,qBAAqB,gBAAgB,gCAAgC,iEAAiE,oFAAoF,kDAAkD,8CAA8C,sDAAsD,sEAAsE,8FAA8F,4GAA4Gnhe,OAAO,OAAO,iBAAiB,kBAAkB,iBAAiB,YAAY,sBAAsB,2BAA2B,kBAAkB,kBAAkB,oBAAoB,qBAAqBslpB,MAAM,OAAO,kCAAkC,mCAAmC,8BAA8B,4CAA4C,wDAAwD,iDAAiD,kCAAkC,2CAA2C,mBAAmB,oBAAoBjqN,KAAK,OAAO,gBAAgB,iBAAiB,eAAe,kBAAkB,iEAAiE,mEAAmE,gBAAgB,mBAAmB,iBAAiB,uBAAuBkqN,KAAK,QAAQ,mBAAmB,mBAAmB,sBAAsB,uBAAuB,mBAAmB,oBAAoB,wBAAwB,yBAAyB,sBAAsB,uBAAuBC,IAAI,MAAM,sBAAsB,uBAAuB,uBAAuB,wBAAwB,oBAAoB,sBAAsB,2BAA2B,+BAA+B,4CAA4C,qCAAqC,iBAAiB,2BAA2B,mEAAmE,+EAA+E,kEAAkE,+EAA+E,4BAA4B,0BZA17FppqB,GAAEl2D,OAAOa,OAAO,CAAC,EaA7pC,CAAC,yDAAyD,kFAA8D,kBAAkB,+BAAyB,kBAAkB,kCAAmB+9tB,SAAS,2BAAiBtoC,KAAK,MAAM,mBAAmB,4BAAkB,kBAAkB,6CAAyB,mBAAmB,0BAAqB,oBAAoB,sDAAkCuoC,QAAQ,eAAU,oBAAoB,sBAAiBC,WAAW,yBAAe,uBAAuB,8BAAyB,iBAAiB,qBAAgB,mBAAmB,2BAAsB,gBAAgB,2BAAiBC,MAAM,UAAU,kBAAkB,aAAa,mBAAmB,2BAA2B,0BAA0B,qCAA2B,sBAAsB,mDAA0B,wBAAwB,+BAA0B,gBAAgB,qBAAgB,iCAAiC,wCAAqC/qiB,QAAQ,gBAAa,eAAe,kBAAa8D,GAAG,OAAOu9gB,SAAS,aAAQ,eAAe,wBAAmB,cAAc,yBAAsB,sBAAsB,2CAAuB,sBAAsB,2CAAuB,YAAY,gBAAa,YAAY,gBAAa2pB,QAAQ,kBAAe,aAAa,oDAAqC,gBAAgB,yBAAiB,0BAA0B,4CAA0B,sBAAsB,0BAAuB,qBAAqB,yBAAsB,wBAAwB,4BAAyB,sBAAsB,0BAAuB,UAAU,eAAY,UAAU,eAAY,aAAa,+BAAkBC,KAAK,OAAOC,OAAO,YAASC,WAAW,kBAAe/pB,SAAS,+BAAgB,iBAAiB,2BAAiBn6J,OAAO,eAAU,iBAAiB,4BAAyB,iBAAiB,uBAAoB,gBAAgB,0BAAuB,mEAAmE,uFAAyE,iEAAiE,gFAAkE,kEAAkE,qFAAuE,kDAAkD,wCAAwC,kBAAkB,qCAAwB,oBAAoB,oCAAqB,iCAAiC,iEAAmC,0BAA0B,kCAA0B,8BAA8B,iDAAoC,mBAAmB,wBAAwB,eAAe,+BAAqB,6BAA6B,8DAAuC,WAAW,8BAAY,UAAU,gBAAW,sBAAsB,mCAAyB,sBAAsB,qDAAmC,2BAA2B,iDbArzD3uX,GAAEtsL,OAAOa,OAAO,CAAC,EcAnrC,CAAC,yDAAyD,6XAAuE,kBAAkB,gGAAqB,kBAAkB,wFAAkB+9tB,SAAS,yDAAYtoC,KAAK,qBAAM,mBAAmB,sHAAuB,kBAAkB,8LAAmC,mBAAmB,wGAAwB,oBAAoB,yGAAyBuoC,QAAQ,2EAAe,oBAAoB,oGAAoBC,WAAW,iFAAgB,uBAAuB,wKAAiC,iBAAiB,6HAAyB,mBAAmB,mIAA0B,gBAAgB,0GAAqBC,MAAM,oGAAoB,kBAAkB,6EAAiB,mBAAmB,4JAA+B,0BAA0B,0IAA4B,sBAAsB,sJAA8B,wBAAwB,gGAAqB,gBAAgB,wFAAkB,iCAAiC,6MAAwC/qiB,QAAQ,mDAAW,eAAe,sEAAe8D,GAAG,qBAAMu9gB,SAAS,uCAAS,eAAe,kFAAiB,cAAc,sGAAsB,sBAAsB,yFAAmB,sBAAsB,yFAAmB,YAAY,kFAAiB,YAAY,kFAAiB2pB,QAAQ,mDAAW,aAAa,0EAAmB,gBAAgB,oGAAoB,0BAA0B,sGAAsB,sBAAsB,gDAAkB,qBAAqB,+CAAiB,wBAAwB,kDAAoB,sBAAsB,gDAAkB,UAAU,kCAAS,UAAU,kCAAS,aAAa,sEAAeC,KAAK,+DAAaC,OAAO,iKAA+BC,WAAW,+DAAa/pB,SAAS,8FAAmB,iBAAiB,oGAAoBn6J,OAAO,yDAAY,iBAAiB,iMAAsC,iBAAiB,yFAAmB,gBAAgB,uMAAuC,mEAAmE,8eAAmG,iEAAiE,sYAAgF,kEAAkE,qfdAhqC/8e,GAAEl+D,OAAOa,OAAO,CAAC,EeAzsC,CAAC,yDAAyD,+HAA2B,kBAAkB,gEAAc,kBAAkB,gEAAc+9tB,SAAS,iCAAQtoC,KAAK,qBAAM,mBAAmB,oDAAY,kBAAkB,oDAAY,mBAAmB,4CAAc,oBAAoB,6CAAeuoC,QAAQ,iCAAQ,oBAAoB,oDAAYC,WAAW,2BAAO,uBAAuB,uEAAgB,iBAAiB,oDAAY,mBAAmB,gEAAc,gBAAgB,oDAAYC,MAAM,uCAAS,kBAAkB,iEAAe,mBAAmB,0FAAoB,0BAA0B,yHAA0B,sBAAsB,uGAAuB,wBAAwB,4DAAe,gBAAgB,0DAAa/qiB,QAAQ,2BAAO,eAAe,0DAAa8D,GAAG,qBAAMu9gB,SAAS,iCAAQ,eAAe,0DAAa,cAAc,2DAAc,sBAAsB,oDAAY,sBAAsB,oDAAY,YAAY,wCAAU,YAAY,wCAAU2pB,QAAQ,2BAAO,aAAa,aAAa,gBAAgB,oDAAY,0BAA0B,yFAAmB,sBAAsB,sBAAsB,qBAAqB,qBAAqB,wBAAwB,wBAAwB,sBAAsB,sBAAsB,UAAU,iCAAQ,UAAU,iCAAQ,aAAa,iCAAQC,KAAK,qBAAMC,OAAO,qBAAMC,WAAW,2BAAO/pB,SAAS,8CAAW,iBAAiB,2DAAcn6J,OAAO,uBfAjNhgB,GAAEj7hB,OAAOa,OAAO,CAAC,EgBA/tC,CAAC,yDAAyD,kVAA+D,kBAAkB,8HAA0B,kBAAkB,kFAAiB+9tB,SAAS,mDAAWtoC,KAAK,qBAAM,mBAAmB,0GAAqB,kBAAkB,kIAAyB,mBAAmB,4FAAsB,oBAAoB,6FAAuBuoC,QAAQ,qEAAc,oBAAoB,oGAAoBC,WAAW,iFAAgB,uBAAuB,6FAAkB,iBAAiB,6FAAkB,mBAAmB,+DAAa,gBAAgB,sHAAuBC,MAAM,QAAQ,kBAAkB,gEAAc,mBAAmB,sEAAoB,0BAA0B,gJAA6B,sBAAsB,kKAAgC,mBAAmB,6EAAiB,wBAAwB,gGAAqB,gBAAgB,kFAAiB,iCAAiC,kKAAgC/qiB,QAAQ,+DAAa,eAAe,sEAAe8D,GAAG,qBAAMu9gB,SAAS,uCAAS,eAAe,kFAAiB,cAAc,mIAA0B,sBAAsB,kFAAiB,sBAAsB,kFAAiB,YAAY,kFAAiB,YAAY,kFAAiB2pB,QAAQ,2EAAe,aAAa,0EAAmB,gBAAgB,wFAAkB,0BAA0B,uJAA+B,sBAAsB,qDAAkB,qBAAqB,oDAAiB,wBAAwB,uDAAoB,sBAAsB,qDAAkB,UAAU,uCAAS,UAAU,uCAAS,aAAa,6CAAUC,KAAK,+DAAaC,OAAO,+DAAaC,WAAW,2EAAe/pB,SAAS,8FAAmB,iBAAiB,gHAAsBn6J,OAAO,qEAAc,iBAAiB,qGAA0B,iBAAiB,+FAAoB,gBAAgB,yNAA0C,mEAAmE,6VAA+E,iEAAiE,0UAAsE,kEAAkE,gdAA8F,kDAAkD,2KAAyC,iBAAiB,wFAAkB,kBAAkB,8FAAmB,kBAAkB,4EAAgB,kCAAkC,iMAAsC,0BAA0B,6HAAyB,8BAA8B,8KAAkC,aAAa,kEAAgB,eAAe,sEAAe,gBAAgB,mIAA0B,iBAAiB,kFAAiB,WAAW,iCAAQ,sBAAsB,2GAA2B,qBAAqB,0GAA0B,wBAAwB,6GAA6B,sBAAsB,2GAA2B,UAAU,6FAAkB,sBAAsB,iHAAuB,sBAAsB,0IAA4B,2BAA2B,kMAAuC,4BAA4B,+HhBA9iE74e,GAAEpiE,OAAOa,OAAO,CAAC,EiBArvC,CAAC8+tB,YAAY,mBAAmBC,YAAY,mBAAmBC,aAAa,kBAAkBC,UAAU,YAAYC,gBAAgB,kBAAkBC,kBAAkB,WAAWC,KAAK,OAAOC,aAAa,iCAAiCC,aAAa,mEAAmEC,UAAU,iEAAiEC,YAAY,kEAAkEC,iBAAiB,mBAAmBC,6BAA6B,+BAA+BC,+BAA+B,sBAAsBC,uBAAuB,kBAAkBC,YAAY,mBAAmBC,aAAa,oBAAoBC,QAAQ,UAAUC,kBAAkB,oBAAoBC,WAAW,aAAaC,eAAe,iBAAiBC,iBAAiB,mBAAmBC,cAAc,QAAQC,gBAAgB,uBAAuBC,WAAW,kBAAkBC,wBAAwB,+BAA+BC,YAAY,mBAAmBC,kBAAkB,yBAAyBC,iBAAiB,wBAAwBC,kBAAkB,yBAAyBC,WAAW,kBAAkBC,gBAAgB,sBAAsBC,eAAe,sBAAsBC,mBAAmB,0BAA0BC,yBAAyB,gCAAgCC,eAAe,sBAAsBC,YAAY,cAAcC,WAAW,aAAaC,gBAAgB,mBAAmBC,qBAAqB,wBAAwBC,cAAc,gBAAgBC,QAAQ,UAAUC,WAAW,WAAWC,YAAY,cAAcnqoB,KAAK,OAAOoqoB,SAAS,WAAWje,aAAa,eAAeke,GAAG,KAAKhgB,SAAS,WAAWigB,aAAa,eAAeC,mBAAmB,qBAAqBC,QAAQ,UAAUC,YAAY,cAAcC,uBAAuB,sBAAsBC,eAAe,iBAAiBC,UAAU,YAAYC,QAAQ,UAAUC,WAAW,aAAaC,cAAc,gBAAgBC,eAAe,UAAUC,YAAY,UAAUC,oBAAoB,sBAAsBC,mBAAmB,qBAAqBC,sBAAsB,wBAAwBC,oBAAoB,sBAAsBC,QAAQ,0BAA0BC,eAAe,uBAAuBC,kBAAkB,aAAaC,KAAK,OAAOC,OAAO,SAASC,WAAW,aAAaC,eAAe,OAAOC,eAAe,iBAAiBC,eAAe,yDAAyDC,OAAO,SAASC,WAAW,iBAAiBC,aAAa,iBAAiBC,UAAU,gBAAgBC,QAAQ,YCAxxEljtB,GAAEphB,OAAOa,OAAO,CAAC,EAAEoB,IAAG,SAASlC,GAAEkC,GAAG,OAAOnB,GAAAA,IAAMmB,EAAE,CAAmC,IAAM8hG,GAAE,CAACk5E,GAAGh8K,GAAEyyL,GAAGnyL,GAAEi8K,GAAGx8K,GAAEg9K,GAAGh5K,GAAE6P,GAAG9T,GAAEg+K,GAAGp5K,GAAE6wL,GAAGx0L,GAAEuiuB,GAAGxguB,GAAEizL,GAAGjzL,GAAEk9K,GAAGh8K,GAAE+nC,GAAG5sC,GAAEysC,GAAGngC,GAAEusL,GAAGn5L,GAAEgjL,GAAG7+K,GAAE6jI,GAAGliI,GAAEi8K,GAAGr7I,GAAE8vJ,GAAGntK,GAAE6mD,GAAG9qE,ICAPlD,GAAE,SAACC,EAAEjB,GAAK,IAAIgE,EAAEW,EAAQ3D,EAAE,QAAQ2D,EAAE,QAAQX,EAAElE,GAAEE,UAAK,IAASgE,OAAE,EAAOA,EAAEw/tB,kBAAa,IAAS7+tB,OAAE,EAAOA,EAAE1D,GAAG,OAAOD,GAAG,IAAIhC,OAAOgR,KAAKhP,GAAGb,OAAOnB,OAAOib,QAAQjZ,GAAGkZ,QAAQ,SAACpa,EAACsa,GAAS,IAAAC,GAAAC,EAAAA,EAAAA,GAAAF,EAAA,GAAPpW,EAACqW,EAAA,GAAC1V,EAAC0V,EAAA,GAAK,GAAG,WAAWpZ,GAAG,kBAAkBA,GAAG,aAAa+C,EAAE,CAAC,G5BA/Y,SAAAzD,GAAC,OAAEU,GAAEutD,SAASjuD,EAAE,C4BAkYR,CAAEiE,GAAG,CAAC,IAAMjE,EAAEQ,GAAEyD,GAAG/C,EAAEjC,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEE,GAAG4E,GAAG,OAAO3F,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEC,IAAEiU,EAAAA,EAAAA,GAAA,GAAG/P,EAAG/C,GAAG,CAAC,OAAOjC,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEC,IAAEiU,EAAAA,EAAAA,GAAA,GAAG/P,EAAGW,GAAG,CAAE,IAAM5E,EAAEE,GAAED,GAAGO,EAAEvB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEE,GAAG4E,GAAG,OAAO3F,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEC,IAAEiU,EAAAA,EAAAA,GAAA,GAAG/P,EAAGzD,GAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE0D,GAAE,SAAClE,EAAED,GAAK,IAAMS,EAAniB,SAACR,EAAED,GAAC,OAAG,EAAGmB,GAAElB,IAAID,EAAE,CAAmhB6E,CAAE5E,EAAED,GAAGmB,EAAED,GAAEjB,EAAED,GAAGG,EAAEjB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,GAAGU,GAAG,cAAchB,EAAEwjuB,GCAn/B,SAAAxiuB,GAAgC,IAA5B,IAAM+C,EAAEhF,OAAOa,OAAO,CAAC,EAAEoB,GAAGumB,EAAA,EAAAmrnB,EAAiB3zoB,OAAOib,QAAQhZ,GAAEumB,EAAAmrnB,EAAAxyoB,OAAAqnB,IAAC,CAA/B,IAAAornB,GAAAt4nB,EAAAA,EAAAA,GAAAq4nB,EAAAnrnB,GAAA,GAAM1nB,EAAC8yoB,EAAA,GAAC7yoB,EAAC6yoB,EAAA,GAAmC3xoB,EAAiBlB,EAAvBoD,MAAoBlD,EAAGF,EAAfiqF,YAAiBhmF,EAAElE,GAAGd,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEE,GAAG,CAACoD,MAAMlC,EAAEV,GAAEU,QAAG,EAAO+oF,YAAY/pF,EAAEM,GAAEN,QAAG,GAAQ,CAAC,OAAO+D,CAAC,CDAmzBhE,CAAEC,EAAE,EAA+ElB,GAAE,SAACgB,EAAED,GAAoB,OAApG,SAAAC,GAAC,OAAEA,EAAE1B,KAAK,SAAA0B,GAAC,MAAE,CAACA,EAAE,GAAGf,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEE,EAAE,IAAI,CAACqlB,WAAM,IAAS,GAAE,CAAiCxgB,CCAl6B,SAAArE,GAAC,OAAEvB,OAAOib,QAAQ1Z,GAAG00B,MAAM,SAAC10B,EAAEU,GAAC,OAAIV,EAAE,GAAG6kB,OAAO9L,OAAO0kI,YAAY/8I,EAAE,GAAGmkB,OAAO9L,OAAO0kI,UAAU,IAAGxrI,QAAQ,SAAAjS,GAAC,YAAE,IAASA,EAAE,EAAE,GAAE,CDAwyByD,CAAhBC,GAAElE,EAAED,IAAiB,EEA7qC4juB,GAAuB,CACzB,uBACA,gBACA,gBACA,oBACA,mBACA,gBACA,YACA,SACA,SACA,cCLJ,IAAMC,GAAoB,WAAH,OAAS,CAAK,EAKrC,SAASC,GAAqBC,EAAaC,GACvC,OAAID,EAAY1juB,SAAW2juB,EAAS3juB,QAG7B0juB,EAAYrluB,OAAM,SAACuluB,EAAYxntB,GAClC,IAAMyntB,EAAUF,EAASvntB,GACzB,S9LhBisB,WAAgB,QAAA6X,EAAAl0B,UAAAC,OAAFL,EAAC,IAAAX,MAAAi1B,GAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAADxnB,EAACwnB,GAAApnB,UAAAonB,GAAE,OAAOxnB,EAAEtB,MAAMuE,GAAE,C8LgB/tBkhuB,CAAeF,EAAYC,K9LhBquB,WAAgB,QAAAvyrB,EAAAvxC,UAAAC,OAAFL,EAAC,IAAAX,MAAAsyC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAD5xC,EAAC4xC,GAAAxxC,UAAAwxC,GAAE,OAAO5xC,EAAEtB,MAAMmG,GAAE,C8LiBlyBu/tB,CAAgBH,EAAYC,KAGzBD,IAAeC,CAC1B,GACJ,CACA,IAAMG,GAAgB,SAAC/htB,GAAQ,OAAK,SAACgitB,EAAeC,GAIhD,OAAOT,GAHqBxhtB,EAASgitB,GACZhitB,EAASiitB,GAGtC,CAAC,EACKC,GAAc,SAAC16tB,GACjB,IAAI1L,EAAI2O,EAAIgmD,EACZ,OAAQ7zD,OAAOa,OAAO,CAAC,EAAwJ,QAApJgzD,EAAiG,QAA3FhmD,EAAuC,QAAjC3O,EAAKqmuB,GAAgB36tB,UAA2B,IAAP1L,OAAgB,EAASA,EAAGsluB,kBAA+B,IAAP32tB,OAAgB,EAASA,EAAGyptB,iBAA8B,IAAPzjqB,OAAgB,EAASA,EAAG4wqB,GACvN,EACMe,GAA4B,SAACl8C,GAAI,OAAK,WACxC,OAAOzmrB,GAAUrC,UAAM,OAAQ,EAAM4sgB,IAAA1mB,MAAE,SAAA++O,IAAA,OAAAr4N,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAC5B,OAD4B+O,EAAA/O,KAAA,EACtBwsrB,GAAKsnC,UAAUhuC,GAAK,cAAA/2qB,EAAA+6f,OAAA,SAAA/6f,EAAAnO,MAAA,wBAAAmO,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAEzC,CAAC,EAgBKC,GAAmB,SAAC33H,EAAOnjmB,EAAOs+qB,GACpC,OCpDwB,SAACn7E,GAAK,OAAK22H,GAAqBxztB,MAAK,SAACy0tB,GAAc,OAAKA,IAAmB53H,CAAK,GAAC,CDoDtG63H,CAAoB73H,GACH,eAAVA,EAhBuB,SAACm7E,GACnC,OAAQA,GACJlprB,OAAOib,QAAQiuqB,GAA0B7prB,KAAI,SAAAo5B,GAAmB,IAAAqY,GAAAx1B,EAAAA,EAAAA,GAAAmd,EAAA,GAAjBlxB,EAAIupC,EAAA,GAAExtC,EAAKwtC,EAAA,GAEtD,OADsBuM,GAAS/5C,IACRiE,EAGhB,CAAEA,KAAAA,EAAMpD,MAAOb,EAAO0U,KAAM,QAAS1U,MAAAA,GAFjC,CAAC,CAGhB,GACR,CAQcuiuB,CAA8B38C,GACZ48C,GAAoB/3H,EAAOnjmB,GAnBd4sF,SAAQ,SAAAp8E,GAAA,IAAAC,GAAAC,EAAAA,EAAAA,GAAAF,EAAA,GAAE7T,EAAI8T,EAAA,GAAEG,EAAOH,EAAA,UAAOrb,OAAOa,OAAO,CAAE0G,KAAAA,GAAQiU,EAAQ,IAqBhG,EACX,EEjDA,SAASuqtB,GAAiB3itB,GACtB,IAAM1R,EAAUmS,EAAAA,WAAiB8lqB,IACjC,IAAKj4qB,EACD,MAAM,IAAIvI,MAAMygrB,IAEpB,IAAQzB,EAAYz2qB,EAAZy2qB,QACArwoB,EAASqwoB,EAATrwoB,KAGFkurB,E3KAH,SAAqB99C,EAAO9kqB,EAAUwrC,EAAS6vkB,QAClC,IAAZ7vkB,IAAsBA,EAAU2tF,IACpC,IAAI0riB,GAAuB1nD,EAAAA,EAAAA,QAAO,MAC9B3olB,GAAYqolB,EAAAA,EAAAA,cAAY,SAAUgmG,GAElC,OADkB/9C,EAAMtwoB,UAAUqurB,GAAmBjxrB,WAEzD,GAAG,CAACkzoB,IACAg+C,GAAmBjmG,EAAAA,EAAAA,cAAY,WAC/B,OAAIxB,EACOA,EAAYypD,GAEhBF,GAAmBE,EAAOD,EACrC,GAAG,CAACC,EAAOzpD,IAEX,OADuBke,EAAAA,GAAAA,kCAAiC/kmB,EAAWsurB,EAAkBA,EAAkB9itB,EAAUwrC,EAErH,C2KfmBu3qB,CAAYh+C,GAFJloD,EAAAA,EAAAA,cAAY,SAACr1nB,GAAK,OAAM5K,OAAOa,OAAO,CAAC,EAAGuluB,GAAiB,CAAEturB,KAAAA,EAAMltC,MAAAA,IAAS,GAAG,CAACktC,IACpF10B,EAAW+htB,GAAc/htB,GAAYuhtB,IAEhD52H,EAA0Di4H,EAA1Dj4H,MAAOq7E,EAAmD48C,EAAnD58C,eAAgBF,EAAmC88C,EAAnC98C,yBAA0BI,EAAS08C,EAAT18C,KAAiBjlM,E9KN9E,SAAgBtjf,EAAGQ,GACf,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,C8KJqFQ,CAAO0kuB,EAAQ,CAAC,QAAS,iBAAkB,2BAA4B,SAGlJK,EAAkBl+C,EAAQ1pD,cAE1B6nG,EAAqB,cAAVv4H,EAAwBu3H,GAAYe,GAAmB,KAElEp4mB,EAASy3mB,GAAiB33H,EAAOs4H,EAAiBn9C,GACxD,OAAOlprB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAGwjf,GAAO,CAAE0pH,MAAAA,EAC5Cq7E,eAAAA,EACAF,yBAAAA,EACAI,KAAAA,EAEAr7jB,OAAAA,EAAQs4mB,kBAAmBf,GAA0Bl8C,GAAOg9C,SAAAA,GACpE,iBCnCgSvluB,GAAE,SAADqa,GAA8B,I9CKvPqlC,E8CLwO3/C,EAACsa,EAAbortB,YAAsBjluB,EAAC6Z,EAATwkC,S9CK1Oa,E8CL0P,GAADlhD,OAAIuB,EAAC,KAAAvB,OAAIgC,M9CSpUuptB,GAAUpqtB,UAAUm+C,YAAcisqB,GAAUpqtB,UAAUm+C,UAAU2Q,SAAS/O,KAC3EqqqB,GAAUpqtB,UAAUm+C,UAAYisqB,GAAUpqtB,UAAUm+C,UAAUt/C,OAAO,IAAKkhD,IAEvEqqqB,GAAUpqtB,UAAUm+C,WAA+C,KAAlCisqB,GAAUpqtB,UAAUm+C,YACxDisqB,GAAUpqtB,UAAUm+C,UAAY4B,G8Cb0S,EAAyNja,GAAE,SAAAjlC,GAAC,OAAET,EAAAA,GAAAA,SAAE,OAAO,OAAO,EAAMssgB,IAAA1mB,MAAE,SAAA++O,IAAA,OAAAr4N,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAAgB,OAAhB+O,EAAAkM,KAAA,EAAAlM,EAAA/O,KAAA,GAAsBvC,EAAAA,GAAAA,GAAEM,GAAG,SAAAT,GAAC,OAAEkE,GAAElE,GAAGygC,QAAQ,aAAa,IAAE,OAAAhvB,EAAA/O,KAAA,eAAA+O,EAAAkM,KAAA,EAAAlM,EAAAumD,GAAAvmD,EAAA,iCAAAA,EAAAkqF,OAAA,GAAAgpoB,EAAA,iBAAc,EAAC3luB,GAAE,SAACyB,EAAEoE,GAAC,OAAG7E,EAAAA,GAAAA,SAAE,OAAO,OAAO,EAAMssgB,IAAA1mB,MAAE,SAAA+/O,IAAA,IAAA3luB,EAAAG,EAAAkyoB,EAAAuzF,EAAA,OAAAt5N,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,OAAuB1C,EAAG6E,EAARmyC,KAAU72C,EAAE0E,EAAE84nB,cAAakoG,EAAA7tqB,GAAQv3D,EAAEk9C,QAAQ1d,MAAK4lsB,EAAAnjuB,KAAM,iBAANmjuB,EAAA7tqB,GAAoB,EAA+D,eAA/D6tqB,EAAA7tqB,GAA2E,EAAwK,uBAAxK6tqB,EAAA7tqB,GAA4L,GAAiJ,YAAjJ6tqB,EAAA7tqB,IAA+J,yBAAL6tqB,EAAA7tqB,GAAA,GAA2B,gBAAvY,OAApD73D,EAAEsgC,QAAQ,uBAAuBzgC,EAAE,iBAAiB6luB,EAAAr5N,OAAA,sBAA2BrsgB,EAAEsgC,QAAQ,iBAAgB,CAAAolsB,EAAAnjuB,KAAA,SAAE,OAAFmjuB,EAAAnjuB,KAAA,EAAQgjC,GAAE7gC,GAAE,QAA6B,OAAtB1E,EAAE+D,GAAEW,EAAE84nB,qBAAwB,EAAOx9nB,EAAEsgC,QAAQ,gBAAgBzgC,EAAE,CAACkX,KAAK,eAAezP,KAAKhH,EAAEk9C,QAAQl2C,OAAM,eAAAo+tB,EAAAr5N,OAAA,oBAAiC,OAAjCq5N,EAAAnjuB,KAAA,GAAuCgjC,GAAE7gC,GAAE,QAA2H,OAA9F,OAAtB1E,EAAE+D,GAAEW,EAAE84nB,qBAAwB,EAAOx9nB,EAAEsgC,QAAQ,gBAAgBzgC,EAAE,CAACkX,KAAK,uBAAuBzP,KAAKhH,EAAEk9C,QAAQl2C,OAAOo+tB,EAAAr5N,OAAA,oBAA+CrsgB,EAAEsgC,QAAQ,uBAAuBzgC,EAAE,YAAW,yBAAA6luB,EAAAlqoB,OAAA,GAAAgqoB,EAAA,IAAI,EAAC/5tB,GAAE,SAAC5L,GAAC,IAAC6E,EAACzE,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAACpB,GAAC,OAAGyB,GAAAA,OAAS,OAAQ,SAACT,EAAES,GAAC,OAAG,SAAAoE,GAAIpE,EAAEoE,EAAE7E,EAAE,CAAC,CAAlB,CAAoBA,EAAE6E,GAAG,4BAA4B,EAACwjB,GAAE,SAAAroB,GAAC,OAAEE,GAAAA,MAAQ,SAAAO,GAAC,OAAET,EAAE0uD,SAASjuD,EAAE,GAAE,EAAC0D,GAAE,SAACnE,EAAES,EAAEoE,GAAC,OAAG2wR,UAAU,kBAAD/2R,OAAmBuB,EAAC,KAAAvB,OAAIgC,EAAC,YAAAhC,OAAWoG,EAAC,YAAApG,OAAWuB,GAAI,ECIh7C,IAAM8luB,GAAgB,SAAHxrtB,GAAW,MAAO,CAAPA,EAAL2ylB,MAAmB,ECW5C,ICfI84H,GAyBAC,GDVAlmuB,GAAW,WAQX,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EAEA,SAASI,GAAOP,EAAGQ,GACf,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CAEA,SAASsE,GAASJ,GACd,IAAIjE,EAAsB,oBAAXyD,QAAyBA,OAAOC,SAAUQ,EAAIlE,GAAKiE,EAAEjE,GAAIC,EAAI,EAC5E,GAAIiE,EAAG,OAAOA,EAAE7D,KAAK4D,GACrB,GAAIA,GAAyB,kBAAbA,EAAE7D,OAAqB,MAAO,CAC1CqC,KAAM,WAEF,OADIwB,GAAKhE,GAAKgE,EAAE7D,SAAQ6D,OAAI,GACrB,CAAE1B,MAAO0B,GAAKA,EAAEhE,KAAM2C,MAAOqB,EACxC,GAEJ,MAAM,IAAIJ,UAAU7D,EAAI,0BAA4B,kCACxD,CAEA,SAASsE,GAAOL,EAAG/D,GACf,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CAEA,SAASk4oB,GAAcn3jB,EAAIv7E,EAAM2yoB,GAC7B,GAAIA,GAA6B,IAArBv8oB,UAAUC,OAAc,IAAK,IAA4BmE,EAAxBtE,EAAI,EAAGwlC,EAAI17B,EAAK3J,OAAYH,EAAIwlC,EAAGxlC,KACxEsE,GAAQtE,KAAK8J,IACRxF,IAAIA,EAAKnF,MAAMO,UAAUid,MAAMvc,KAAK0J,EAAM,EAAG9J,IAClDsE,EAAGtE,GAAK8J,EAAK9J,IAGrB,OAAOqlF,EAAG9mF,OAAO+F,GAAMnF,MAAMO,UAAUid,MAAMvc,KAAK0J,GACtD,ECzEA,SAAW+7tB,GACTA,EAAmB,MAAI,eACvBA,EAAkB,KAAI,cACtBA,EAAmB,MAAI,eACvBA,EAAkB,KAAI,cACtBA,EAAoB,OAAI,gBACxBA,EAAuB,UAAI,GAC3BA,EAAoB,OAAI,gBACxBA,EAAmB,MAAI,eACvBA,EAAuB,UAAI,aAC3BA,EAAwB,WAAI,cAC5BA,EAAiB,IAAI,aACrBA,EAAkB,KAAI,cACtBA,EAAoB,OAAI,gBACxBA,EAA4B,eAAI,kBAChCA,EAAgC,mBAAI,sBACpCA,EAA2B,cAAI,iBAC/BA,EAAyB,YAAI,eAC7BA,EAAoB,OAAI,gBACxBA,EAAkB,KAAI,cACtBA,EAAoB,OAAI,eACzB,CArBD,CAqBGA,KAAgBA,GAAc,CAAC,IAIlC,SAAWC,GACTA,EAAuB,OAAI,WAC3BA,EAAyB,SAAI,YAC9B,CAHD,CAGGA,KAAmBA,GAAiB,CAAC,IC9BxC,ICMI5nuB,GDLA6nuB,GAAqB,CAAC,EACtBC,GAAqB,eEArB7+rB,GAAQ0+rB,GAAAA,MACRpqoB,GAAOoqoB,GAAAA,KACPI,GAAQJ,GAAAA,MACR/urB,GAAO+urB,GAAAA,KACPnvrB,GAASmvrB,GAAAA,OACTK,GAAYL,GAAAA,UACZhmuB,GAASgmuB,GAAAA,OAGTrvmB,IAFQqvmB,GAAAA,MACIA,GAAAA,UACNA,GAAAA,KACN9sqB,GAAO8sqB,GAAAA,KACPxlF,GAASwlF,GAAAA,OAETM,IADiBN,GAAAA,eACDA,GAAAA,eAChBthuB,GAAQshuB,GAAAA,YACRv+tB,GAASu+tB,GAAAA,OACTO,GAASP,GAAAA,OACTQ,GAAOR,GAAAA,KCnBPS,IAAgB19tB,EFUpB,SAAS29tB,GAAaC,EAAeC,EAAczotB,QAC/B,IAAdA,IACFA,EDZkB,KCepB,IAAI0otB,EAAmBC,GAAaH,EAAexotB,GAC/C4otB,EAAkBD,GAAaF,EAAczotB,GAEjD,OAAIq+B,GAASuqrB,KACPvqrB,GAASqqrB,IACJE,IAAoBF,EAO3BrqrB,GAASqqrB,GACJA,KAAoBE,EAGtB5nuB,OAAOgR,KAAK02tB,GAAkBlouB,OAAM,SAAUsC,GACnD,OAAMA,KAAO8luB,GAINL,GAAaG,EAAiB5luB,GAAM8luB,EAAgB9luB,GAC7D,GACF,CACA,SAAS+luB,GAAa9msB,GACpB,IACE,OAAOsc,GAAStc,IAA2B,kBAAVA,EAAqB,GAAGxhC,OAAOwhC,GAASA,EAAM/oB,IACjF,CAAE,MAAOzW,IACP,MAAM,IAAI4H,MAAM,uEAClB,CACF,CAQA,SAAS2+tB,GAAYC,EAAS/otB,GAC5B,IACE,OAAIqJ,GAAQ0/sB,GACHA,EAGFA,EAAQ/3tB,WAAWsD,MAAM0L,EAClC,CAAE,MAAOzd,IACP,MAAM,IAAI4H,MAAM,IAAI5J,OAAOwouB,EAAS,gCACtC,CACF,CAIA,SAASJ,GAAaK,EAAYhptB,GAChC,MAHwB,kBADLpU,EAIHo9tB,IAHoB,UAAWp9tB,GAAS,YAAaA,GAAS,UAAWA,GAAS,WAAYA,EAIrGo9tB,EAAW1kuB,MAGhB+kB,GAAQ2/sB,GACHC,GAAiBD,GAGA,kBAAfA,EACFA,EAIFC,GADSH,GAAYE,EAAYhptB,IAhB1C,IAAqBpU,CAkBrB,CACA,SAASq9tB,GAAiBC,GACxB,GAAyB,IAArBA,EAAU/muB,OACZ,OAAO+muB,EAAU,GAMnB,IAHA,IAAI5kuB,EAAQ,CAAC,EACT2iC,EAAS3iC,EAEJtC,EAAI,EAAGA,EAAIknuB,EAAU/muB,OAAS,EAAGH,IACpCA,IAAMknuB,EAAU/muB,OAAS,EAC3B8kC,EAAOiisB,EAAUlnuB,IAAMknuB,EAAUlnuB,EAAI,IAErCilC,EAAOiisB,EAAUlnuB,IAAM,CAAC,EACxBilC,EAASA,EAAOiisB,EAAUlnuB,KAI9B,OAAOsC,CACT,CACA,SAAS6kuB,GAAUjltB,EAAYi7kB,GAI7B,IAHA,IAAIz6lB,EAAS,CAAC,EACV0kuB,EAAiBpouB,OAAOgR,KAAKkS,GAExBliB,EAAI,EAAGA,EAAIonuB,EAAejnuB,OAAQH,IAAK,CAC9C,IAAIc,EAAMsmuB,EAAepnuB,GACzB0C,EAAO5B,GAAOq8lB,EAASj7kB,EAAWphB,GAAMA,EAAKohB,EAAYliB,EAC3D,CAEA,OAAO0C,CACT,CACA,SAAS2kuB,GAAgBnltB,EAAYi7kB,EAAUX,GAC7C,IAAIi2G,EAAKv0sB,EAELwE,EAAS,CAAC,EAEd,IACE,IAAK,IAAImK,EAAKzI,GAASpF,OAAOgR,KAAKkS,IAAc2wC,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CACzF,IAAI1B,EAAM+xD,EAAGvwD,MACTsW,EAAOsJ,EAAWphB,GAEjB07lB,EAAU5jlB,KAIflW,EAAO5B,GAAOq8lB,EAASvklB,EAAM9X,EAAKohB,GACpC,CACF,CAAE,MAAOoltB,GACP70B,EAAM,CACJlusB,MAAO+iuB,EAEX,CAAE,QACA,IACMz0qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI4lsB,EAAK,MAAMA,EAAIlusB,KACrB,CACF,CAEA,OAAO7B,CACT,CAMA,IAAIg6B,GAAO,SAAU5rB,GACnB,OAAO,SAAU4/B,GACf,IAAIgiqB,EAAKx0sB,EAELwE,EAASguC,EAEb,IACE,IAAK,IAAI62rB,EAAUnjuB,GAAS0M,GAAQ02tB,EAAYD,EAAQ/kuB,QAASgluB,EAAU7kuB,KAAM6kuB,EAAYD,EAAQ/kuB,OAAQ,CAE3GE,EAASA,EADE8kuB,EAAUlluB,MAEvB,CACF,CAAE,MAAOmluB,GACP/0B,EAAM,CACJnusB,MAAOkjuB,EAEX,CAAE,QACA,IACMD,IAAcA,EAAU7kuB,OAASzE,EAAKqpuB,EAAQhqtB,SAASrf,EAAGkC,KAAKmnuB,EACrE,CAAE,QACA,GAAI70B,EAAK,MAAMA,EAAInusB,KACrB,CACF,CAEA,OAAO7B,CACT,CACF,EAgCA,SAASgluB,GAAaV,GACpB,IAAKA,EACH,MAAO,CAAC,IAGV,GAAI3qrB,GAAS2qrB,GACX,MAAO,CAAC,CAACA,IAGX,IAAItkuB,EAASiluB,GAAQ3ouB,OAAOgR,KAAKg3tB,GAAY3ouB,KAAI,SAAUyC,GACzD,IAAI8muB,EAAgBZ,EAAWlmuB,GAE/B,MAA6B,kBAAlB8muB,GAAgCA,GAAkB5ouB,OAAOgR,KAAK43tB,GAAeznuB,OAIjFunuB,GAAaV,EAAWlmuB,IAAMzC,KAAI,SAAUwpuB,GACjD,MAAO,CAAC/muB,GAAKvC,OAAOspuB,EACtB,IALS,CAAC,CAAC/muB,GAMb,KACA,OAAO4B,CACT,CAyCA,SAASiluB,GAAQ5qtB,GACf,IAAI7e,EAEJ,OAAQA,EAAK,IAAIK,OAAO8B,MAAMnC,EAAIs+oB,GAAc,GAAIn4oB,GAAO0Y,IAAQ,GACrE,CACA,SAAS+qtB,GAAcxluB,GACrB,OAAI+kB,GAAQ/kB,GACHA,EAGF,CAACA,EACV,CACA,SAAS8mH,GAAQ9mH,GACf,YAAcvE,IAAVuE,EACK,GAGFwluB,GAAcxluB,EACvB,CACA,SAASyluB,GAAWztlB,EAAQ5pI,EAASs3tB,GACnC,IAAIjR,EAAK74tB,EAET,GAAIua,GAAW6hI,GACb,OAAOA,EAAO5pI,EAASs3tB,EAAOzguB,MAGhC,IAAI7E,EAAS,CAAC,EAEd,IACE,IAAK,IAAImK,EAAKzI,GAASpF,OAAOgR,KAAKsqI,IAAUznF,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CACrF,IAAI1B,EAAM+xD,EAAGvwD,MACT2luB,EAAY3tlB,EAAOx5I,GAEnB2X,GAAWwvtB,GACbvluB,EAAO5B,GAAOmnuB,EAAUv3tB,EAASs3tB,EAAOzguB,MAExC7E,EAAO5B,GAAOmnuB,CAElB,CACF,CAAE,MAAOC,GACPnR,EAAM,CACJxytB,MAAO2juB,EAEX,CAAE,QACA,IACMr1qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAIkqtB,EAAK,MAAMA,EAAIxytB,KACrB,CACF,CAEA,OAAO7B,CACT,CAIA,SAASyluB,GAAc7luB,GACrB,OAAIA,aAAiBJ,WAKP,OAAVI,IAAmBmW,GAAWnW,IAA2B,kBAAVA,IAAuBmW,GAAWnW,EAAMM,MAK7F,CAmCA,SAASwluB,GAAoBC,EAAMrB,GACjC,OAAOG,GAAUkB,EAAKC,QAAQ,SAAUC,EAASznuB,GAC/C,GAAKynuB,EAAL,CAIA,IAAIX,GAAiBvrrB,GAAS2qrB,QAAcjpuB,EAAYipuB,EAAWlmuB,MAAUynuB,EAAUA,EAAQnqsB,aAAUrgC,GAEzG,GAAK6puB,EAIL,MAAO,CACLxpsB,QAASwpsB,EACTU,OAAQF,GAAoBG,EAASX,GAVvC,CAYF,GACF,CAOA,SAASY,GAAc93tB,EAASs3tB,EAAQS,EAAe7+tB,GAChD08tB,IACHrnrB,KAAOvuC,EAAS,0CAGlB,IAAIg4tB,EAAiBh4tB,EAAU+3tB,EAAcvutB,QAAO,SAAUC,EAAKwutB,GACjE,IAAIC,EAAK1quB,EAEL2quB,EAAaF,EAAaE,WAC1BlvK,EAAO,CACT/vjB,MAAOA,EACPygB,OAAQs+sB,EACRX,OAAQA,GAENc,EAAgB,CAAC,EAErB,GAAIrwtB,GAAWowtB,GACbC,EAAgBD,EAAW1utB,EAAK6ttB,EAAOzguB,KAAMoyjB,QAE7C,IACE,IAAK,IAAI9sjB,EAAKzI,GAASpF,OAAOgR,KAAK64tB,IAAch2qB,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CACzF,IAAI1B,EAAM+xD,EAAGvwD,MACTymuB,EAAiBF,EAAW/nuB,GAChCgouB,EAAchouB,GAAO2X,GAAWswtB,GAAkBA,EAAe5utB,EAAK6ttB,EAAOzguB,KAAMoyjB,GAAQovK,CAC7F,CACF,CAAE,MAAOC,GACPJ,EAAM,CACJrkuB,MAAOykuB,EAEX,CAAE,QACA,IACMn2qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI+7tB,EAAK,MAAMA,EAAIrkuB,KACrB,CACF,CAGF,OAAOvF,OAAOa,OAAO,CAAC,EAAGsa,EAAK2utB,EAChC,GAAGp4tB,GAAWA,EACd,OAAOg4tB,CACT,CAEA,IAAIzprB,GAAO,WAAa,EAsBxB,SAAS53B,GAAQ/kB,GACf,OAAOnD,MAAMkoB,QAAQ/kB,EACvB,CAEA,SAASmW,GAAWnW,GAClB,MAAwB,oBAAVA,CAChB,CACA,SAAS+5C,GAAS/5C,GAChB,MAAwB,kBAAVA,CAChB,CACA,SAAS2muB,GAAQh/nB,EAAWi/nB,GAC1B,GAAKj/nB,EAIL,OAAI5tD,GAAS4tD,GACJ,CACLjzF,KAAMgvtB,GACNz/tB,KAAM0jG,EACNuyf,UAAW0sI,EAAWA,EAASj/nB,QAAalsG,GAI5C0a,GAAWwxF,GACN,CACLjzF,KAAMgvtB,GACNz/tB,KAAM0jG,EAAU1jG,KAChBi2lB,UAAWvyf,GAIRA,CACT,CApDKq8nB,KACHrnrB,GAAO,SAAUgrD,EAAW9xF,GAC1B,IAAI5T,EAAQ0lG,aAAqB9hG,MAAQ8hG,OAAYlsG,EAErD,IAAKwG,IAAS0lG,SAIElsG,IAAZihD,QAAuB,CACzB,IAAIl3B,EAAO,CAAC,YAAYvpB,OAAO4Z,IAE3B5T,GACFujB,EAAKhkB,KAAKS,GAIZy6C,QAAQC,KAAK5+C,MAAM2+C,QAASl3B,EAC9B,CACF,GA0CF,IAAIqhtB,GAAgC,WAClC,MAAyB,oBAAX3luB,QAAyBA,OAAO25oB,YAAc,cAC9D,CAFoC,IAIdj/oB,GAAK,CAAC,GAAMiruB,IAAoB,WACpD,OAAO3puB,IACT,EAAGtB,GAAGsF,OAAO25oB,YAAc,WACzB,OAAO39oB,IACT,EACA,SAAS4puB,GAAU9muB,GACjB,QAASA,GAAS,iBAAkBA,CACtC,CAIA,IAAI+muB,GAAwB,WAC1B,IAAIC,EAAY,EAChB,OAAO,WAEL,SADAA,GACiBt6tB,SAAS,GAC5B,CACF,CAN4B,GAO5B,SAASu6tB,GAAcxpsB,EAAO0d,GAE5B,OAAIpB,GAAStc,IAA2B,kBAAVA,EACrBngC,GAAS,CACdoX,KAAM+oB,GACL0d,GAGE1d,CACT,CACA,SAASypsB,GAAazpsB,EAAO0psB,GAC3B,IAAKptrB,GAAStc,IAAU,WAAYA,GAA0B,UAAjBA,EAAM2psB,OACjD,OAAO3psB,EAGT,IAAIk9H,EAAcsskB,GAAcxpsB,GAChC,OAAOngC,GAAS,CACd2G,KAAM02J,EAAYjmJ,KAClBzP,KAAM01J,EACNyskB,OAAQ,QACR1ytB,KAAM,YACLyytB,EACL,CACA,SAASE,GAAwB5psB,EAAO6psB,GAatC,OAZkB9B,GAAc8B,GAAYvruB,KAAI,SAAUwruB,GACxD,MAA8B,qBAAnBA,GAA4D,kBAAnBA,GAA+BT,GAAUS,GACpF,CACLhpuB,OAAQgpuB,EACR9psB,MAAOA,GAIJngC,GAASA,GAAS,CAAC,EAAGiquB,GAAiB,CAC5C9psB,MAAOA,GAEX,GAEF,CAsBA,SAAS+psB,GAAc1iD,EAASxjF,EAAOlzlB,EAASs3tB,EAAQp+tB,GACtD,IAAIynE,EAAS+1mB,EAAQ5sqB,QAAQ62D,OACzB04pB,EAAY,CACdnguB,MAAOA,EACPoguB,KAAMpmI,EACNokI,OAAQA,GAGV,GAAIpkI,EAAM5slB,OAASgvtB,GACjB,QAAoB,OAAX30pB,QAA8B,IAAXA,OAAoB,EAASA,EAAOuyhB,EAAMr9lB,QAAUq9lB,EAAMpH,WAAW9rlB,EAASs3tB,EAAOzguB,KAAMwiuB,GAGzH,IAAIE,EAAoB,OAAX54pB,QAA8B,IAAXA,OAAoB,EAASA,EAAOuyhB,EAAM5slB,MAE1E,IAAKiztB,EACH,MAAM,IAAI9huB,MAAM,UAAU5J,OAAOqlmB,EAAM5slB,KAAM,qCAAqCzY,OAAO6orB,EAAQvzqB,GAAI,OAGvG,OAAOo2tB,EAAOv5tB,EAASs3tB,EAAOzguB,KAAMwiuB,EACtC,CACA,SAASG,GAAe73qB,GACtB,MAAmB,kBAARA,EACF,CACLr7C,KAAMq7C,GAIHA,CACT,CACA,SAAS83qB,GAAWC,EAAa9xlB,EAAc+xlB,GAC7C,IAAI5soB,EAAO,WAAa,EAEpB6soB,EAAoC,kBAAhBF,EACpBx8tB,EAAO08tB,EAAaF,EAAc,KACtC,MAAO,CACL5nuB,OAAQ8nuB,EAAaF,EAAY5nuB,KAAO4nuB,IAAgB3soB,GAAMz6D,KAAKp1B,GACnErJ,QAAS+luB,EAAaF,EAAY7luB,MAAQ+zI,IAAiB76C,GAAMz6D,KAAKp1B,GACtEwyF,WAAYkqoB,EAAaF,EAAYhqoB,SAAWiqoB,IAAsB5soB,GAAMz6D,KAAKp1B,GAErF,CACA,SAAS28tB,GAAeC,EAAajutB,GACnC,MAAO,GAAGhe,OAAOisuB,EAAa,gBAAgBjsuB,OAAOge,EAAO,IAC9D,CACA,SAASkutB,GAAiBpgtB,GACxB,OAAQA,EAAOrT,OAASivtB,IAAS57sB,EAAOrT,OAAS8/B,IAAQzsB,EAAOg7D,KAAOygpB,GAAAA,WAAoD,kBAAjBz7sB,EAAOsI,KACnH,CG7mBA,IAAI+3sB,GAAa,SAAUvoH,GACzB,MAA0B,WAAnBA,EAAUnrmB,MAAwC,UAAnBmrmB,EAAUnrmB,IAClD,EACA,SAAS2ztB,GAAexoH,GACtB,OAAOnjnB,OAAOgR,KAAKmymB,EAAUmmH,QAAQjquB,KAAI,SAAUyC,GACjD,OAAOqhnB,EAAUmmH,OAAOxnuB,EAC1B,GACF,CACA,SAAS8puB,GAAYzoH,GACnB,OAAOwoH,GAAexoH,GAAW3vmB,QAAO,SAAU8kL,GAChD,MAAmB,YAAZA,EAAGtgL,IACZ,GACF,CACA,SAAS6ztB,GAAiB1oH,GACxB,IAAI2oH,EAAa,CAAC3oH,GAElB,OAAIuoH,GAAWvoH,GACN2oH,EAGFA,EAAWvsuB,OAAOopuB,GAAQiD,GAAYzoH,GAAW9jnB,IAAIwsuB,KAC9D,CACA,SAASE,GAAiBC,EAAgBF,GACxC,IAAIr4B,EAAKv0sB,EAAIw0sB,EAAK7lsB,EAAI+ptB,EAAK/jqB,EAAIgkqB,EAAK/jqB,EAGhCm4qB,EAAcC,GADM,IAAI9xtB,IAAI4xtB,IAE5BrvC,EAAgB,IAAIvirB,IAAI0xtB,GAE5B,IAEE,IAAK,IAAIK,EAAkB/muB,GAASu3rB,GAAgByvC,EAAoBD,EAAgB3ouB,QAAS4ouB,EAAkBzouB,KAAMyouB,EAAoBD,EAAgB3ouB,OAI3J,IAHA,IACIyB,GADAlE,EAAIqruB,EAAkB9ouB,OAChBgb,OAEHrZ,IAAM03rB,EAAcx1rB,IAAIlC,IAC7B03rB,EAAcrorB,IAAIrP,GAClBA,EAAIA,EAAEqZ,MAGZ,CAAE,MAAOgqtB,GACP70B,EAAM,CACJlusB,MAAO+iuB,EAEX,CAAE,QACA,IACM8D,IAAsBA,EAAkBzouB,OAASzE,EAAKituB,EAAgB5ttB,SAASrf,EAAGkC,KAAK+quB,EAC7F,CAAE,QACA,GAAI14B,EAAK,MAAMA,EAAIlusB,KACrB,CACF,CAEA,IAAI8muB,EAAUH,GAAWvvC,GAEzB,IAEE,IAAK,IAAI2vC,EAAkBlnuB,GAASu3rB,GAAgB4vC,EAAoBD,EAAgB9ouB,QAAS+ouB,EAAkB5ouB,KAAM4ouB,EAAoBD,EAAgB9ouB,OAAQ,CAGnK,GAAe,cAFXzC,EAAIwruB,EAAkBjpuB,OAEpB0U,MAAyBq0tB,EAAQjluB,IAAIrG,IAAOsruB,EAAQjluB,IAAIrG,GAAGI,QAW/D,GAAe,aAAXJ,EAAEiX,KACJ,IACE,IAAK,IAAIuzO,GAAMqse,OAAM,EAAQxytB,GAASwmuB,GAAY7quB,KAAMyhlB,EAAKj3V,EAAG/nP,QAASg/kB,EAAG7+kB,KAAM6+kB,EAAKj3V,EAAG/nP,OAAQ,CAChG,IAAI8T,EAAQkrkB,EAAGl/kB,MAEVq5rB,EAAcx1rB,IAAImQ,KACrBqlrB,EAAcrorB,IAAIgD,GAEd20tB,EAAY7kuB,IAAIkQ,GAClB20tB,EAAY7kuB,IAAIkQ,GAAO5G,SAAQ,SAAU4nL,GACvC,OAAOqkgB,EAAcrorB,IAAIgkL,EAC3B,IAEAhhL,EAAMk1tB,kBAAkB97tB,SAAQ,SAAU4nL,GACxC,OAAOqkgB,EAAcrorB,IAAIgkL,EAC3B,IAGN,CACF,CAAE,MAAOm0iB,GACP7U,EAAM,CACJrytB,MAAOknuB,EAEX,CAAE,QACA,IACMjqJ,IAAOA,EAAG7+kB,OAASkwD,EAAK03L,EAAGhtO,SAASs1C,EAAGzyD,KAAKmqP,EAClD,CAAE,QACA,GAAIqse,EAAK,MAAMA,EAAIrytB,KACrB,CACF,OAvCE0muB,EAAY7kuB,IAAIrG,GAClBkruB,EAAY7kuB,IAAIrG,GAAG2P,SAAQ,SAAU4nL,GACnC,OAAOqkgB,EAAcrorB,IAAIgkL,EAC3B,IAEAv3L,EAAEyruB,kBAAkB97tB,SAAQ,SAAU4nL,GACpC,OAAOqkgB,EAAcrorB,IAAIgkL,EAC3B,GAmCN,CACF,CAAE,MAAOmwiB,GACP/0B,EAAM,CACJnusB,MAAOkjuB,EAEX,CAAE,QACA,IACM8D,IAAsBA,EAAkB5ouB,OAASkK,EAAKy+tB,EAAgB/ttB,SAAS1Q,EAAGzM,KAAKkruB,EAC7F,CAAE,QACA,GAAI54B,EAAK,MAAMA,EAAInusB,KACrB,CACF,CAEA,IAEE,IAAK,IAAImnuB,EAAkBtnuB,GAASu3rB,GAAgBgwC,EAAoBD,EAAgBlpuB,QAASmpuB,EAAkBhpuB,KAAMgpuB,EAAoBD,EAAgBlpuB,OAC3J,KAAIzC,EAGJ,IAFIkE,GADAlE,EAAI4ruB,EAAkBrpuB,OAChBgb,OAEHrZ,IAAM03rB,EAAcx1rB,IAAIlC,IAC7B03rB,EAAcrorB,IAAIrP,GAClBA,EAAIA,EAAEqZ,MALuB,CAQnC,CAAE,MAAOsutB,GACP/U,EAAM,CACJtytB,MAAOqnuB,EAEX,CAAE,QACA,IACMD,IAAsBA,EAAkBhpuB,OAASmwD,EAAK44qB,EAAgBnutB,SAASu1C,EAAG1yD,KAAKsruB,EAC7F,CAAE,QACA,GAAI7U,EAAK,MAAMA,EAAItytB,KACrB,CACF,CAEA,OAAOo3rB,CACT,CAEA,SAASkwC,GAAgBC,EAAUT,GACjC,IAAIU,EAAkBV,EAAQjluB,IAAI0luB,GAElC,IAAKC,EACH,MAAO,CAAC,EAGV,GAAsB,aAAlBD,EAAS90tB,KAAqB,CAChC,IAAIg1tB,EAAiBD,EAAgB,GAErC,IAAIC,EAKF,MAAO,CAAC,EAJR,GAAItB,GAAWsB,GACb,OAAOA,EAAelruB,GAK5B,CAEA,IAAIkmuB,EAAa,CAAC,EAIlB,OAHA+E,EAAgBr8tB,SAAQ,SAAUu8tB,GAChCjF,EAAWiF,EAAInruB,KAAO+quB,GAAgBI,EAAKZ,EAC7C,IACOrE,CACT,CAEA,SAASkE,GAAWvvC,GAClB,IAAIo7B,EAAK74tB,EAELmtuB,EAAU,IAAI16pB,IAElB,IACE,IAAK,IAAIu7pB,EAAkB9nuB,GAASu3rB,GAAgBwwC,EAAoBD,EAAgB1puB,QAAS2puB,EAAkBxpuB,KAAMwpuB,EAAoBD,EAAgB1puB,OAAQ,CACnK,IAAIzC,EAAIosuB,EAAkB7puB,MAErB+ouB,EAAQlluB,IAAIpG,IACfsruB,EAAQ/kuB,IAAIvG,EAAG,IAGbA,EAAEud,SACC+ttB,EAAQlluB,IAAIpG,EAAEud,SACjB+ttB,EAAQ/kuB,IAAIvG,EAAEud,OAAQ,IAGxB+ttB,EAAQjluB,IAAIrG,EAAEud,QAAQxZ,KAAK/D,GAE/B,CACF,CAAE,MAAOmouB,GACPnR,EAAM,CACJxytB,MAAO2juB,EAEX,CAAE,QACA,IACMiE,IAAsBA,EAAkBxpuB,OAASzE,EAAKguuB,EAAgB3utB,SAASrf,EAAGkC,KAAK8ruB,EAC7F,CAAE,QACA,GAAInV,EAAK,MAAMA,EAAIxytB,KACrB,CACF,CAEA,OAAO8muB,CACT,CACA,SAASrisB,GAASyoC,EAAUkqnB,GAE1B,OAAOkwC,GAAgBp6pB,EAAUy5pB,GADpBH,GAAiB,CAACt5pB,GAAWkqnB,IAE5C,CACA,SAASx1rB,GAAI29lB,EAAUlrlB,GACrB,OAAIzZ,MAAMkoB,QAAQy8kB,GACTA,EAAS5zlB,MAAK,SAAUy6F,GAC7B,OAAOA,IAAW/xF,CACpB,IAGEkrlB,aAAoB1qlB,KACf0qlB,EAAS39lB,IAAIyS,EAIxB,CAMA,SAASwztB,GAAezwC,EAAex5E,GACrC,MAAuB,aAAnBA,EAAUnrmB,KACL4ztB,GAAYzoH,GAAWjymB,MAAK,SAAUnQ,GAC3C,MAAkB,UAAXA,EAAEiX,MAAoB7Q,GAAIw1rB,EAAe57rB,EAClD,IAGqB,aAAnBoinB,EAAUnrmB,MACL4ztB,GAAYzoH,GAAW3jnB,OAAM,SAAU84L,GAC5C,OAAO80iB,GAAezwC,EAAerkgB,EACvC,GAIJ,CAcA,SAAS+0iB,GAAyB1wC,GAChC,OAAO,IAAIvirB,IAAIuutB,GAAQhsC,EAAct9rB,KAAI,SAAUi5L,GACjD,OAAOA,EAAG18K,IACZ,KACF,CC3PA,IAAIgnJ,GAAyB4nkB,GAAa,CACxCxytB,KAAM+hD,KAER,SAASuzqB,GAAkBC,EAAYC,GACrC,OAAOA,GAAoBA,EAAkBD,SAA2BxuuB,CAC1E,CACA,SAAS0uuB,GAAepitB,EAAQmitB,GAC9B,IAAIE,EAEJ,GAAIrwrB,GAAShyB,IAA6B,kBAAXA,EAI3BqitB,EADEj0tB,GAFA0I,EAAOmrtB,GAAkBjitB,EAAQmitB,IAGpB,CACbx1tB,KAAMqT,EACNlJ,KAAMA,GAECA,GAGM,CACbnK,KAAMqT,EACNlJ,UAAMpjB,QAGL,GAAI0a,GAAW4R,GACpBqitB,EAAe,CAEb11tB,KAAMqT,EAAO9jB,MAAQ8jB,EAAOrb,WAC5BmS,KAAMkJ,OAEH,CACL,IAAIlJ,EAEJ,GAAI1I,GAFA0I,EAAOmrtB,GAAkBjitB,EAAOrT,KAAMw1tB,IAGxCE,EAAe9suB,GAASA,GAAS,CAAC,EAAGyqB,GAAS,CAC5ClJ,KAAMA,SAEH,GAAIA,EAAM,CACf,IAAIortB,EAAaprtB,EAAKnK,MAAQqT,EAAOrT,KACrC01tB,EAAe9suB,GAASA,GAASA,GAAS,CAAC,EAAGuhB,GAAOkJ,GAAS,CAC5DrT,KAAMu1tB,GAEV,MACEG,EAAeritB,CAEnB,CAEA,OAAOqitB,CACT,CACA,IAAIC,GAAkB,SAAUtitB,EAAQmitB,GACtC,OAAKnitB,GAIShD,GAAQgD,GAAUA,EAAS,CAACA,IAC3BhsB,KAAI,SAAUuuuB,GAC3B,OAAOH,GAAeG,EAAWJ,EACnC,IANS,EAOX,EACA,SAASK,GAAqBxitB,GAC5B,IAAIqitB,EAAeD,GAAepitB,GAClC,OAAOzqB,GAASA,GAAS,CACvBiU,GAAIwoC,GAAShyB,GAAUA,EAASqitB,EAAa74tB,IAC5C64tB,GAAe,CAChB11tB,KAAM01tB,EAAa11tB,MAEvB,CAQA,SAASivtB,GAAMlmsB,EAAOvlB,GACpB,MAAO,CACLxD,KAAM81tB,GACN/ssB,MAAwB,oBAAVA,EAAuBA,EAAQwpsB,GAAcxpsB,GAC3DpN,MAAOnY,EAAUA,EAAQmY,WAAQ50B,EACjC8V,GAAgB,OAAZ2G,QAAgC,IAAZA,OAAqB,EAASA,EAAQ3G,GAElE,CAkCA,SAASijC,GAAK/W,EAAOvlB,GACnB,MAAO,CACL6qE,GAAI7qE,EAAUA,EAAQ6qE,QAAKtnF,EAC3BiZ,KAAM+1tB,GACNhtsB,MAAOtnB,GAAWsnB,GAASA,EAAQwpsB,GAAcxpsB,GACjDpN,MAAOnY,EAAUA,EAAQmY,WAAQ50B,EAGjC8V,GAAI2G,QAA0Bzc,IAAfyc,EAAQ3G,GAAmB2G,EAAQ3G,GAAK4E,GAAWsnB,GAASA,EAAMx5B,KAAOsguB,GAAa9msB,GAEzG,CA+BA,SAASitsB,GAAWjtsB,EAAOvlB,GACzB,OAAOs8B,GAAK/W,EAAOngC,GAASA,GAAS,CAAC,EAAG4a,GAAU,CACjD6qE,GAAIygpB,GAAAA,SAER,CA0GA,SAASrqoB,GAAKmhjB,GACZ,IAAIqwF,EAAWx0tB,GAAWmkoB,GAAYA,EAAWiwF,GAAqBjwF,GACtE,MAAO,CACL5loB,KAAM6utB,GAAAA,KACNoH,SAAUA,EACV9rtB,UAAMpjB,EAEV,CAkBA,IAAI8B,GAAS,SAAUgpuB,GACrB,MAAO,CACL7xtB,KAAMk2tB,GACNrE,WAAYA,EAEhB,EAwBA,SAASlmuB,GAAKkR,EAAItM,GAChB,IAAIyP,EAAO,GAAGzY,OAAOsnuB,GAAAA,UAAuB,KAAKtnuB,OAAOsV,GACpDopJ,EAAc,CAChBjmJ,KAAMA,EACNzP,KAAMA,EAGR01J,SAAuB,WACrB,OAAOjmJ,CACT,GAEA,OAAOimJ,CACT,CAWA,SAASkwkB,GAAWt5tB,EAAItM,GACtB,IAAIyP,EAAO,GAAGzY,OAAOsnuB,GAAAA,WAAwB,KAAKtnuB,OAAOsV,GACrDopJ,EAAc,CAChBjmJ,KAAMA,EACNzP,KAAMA,EAGR01J,SAAuB,WACrB,OAAOjmJ,CACT,GAEA,OAAOimJ,CACT,CACA,SAAS14J,GAAMsP,EAAItM,GACjB,IAAIyP,EAAO,GAAGzY,OAAOsnuB,GAAAA,cAA2B,KAAKtnuB,OAAOsV,GACxDopJ,EAAc,CAChBjmJ,KAAMA,EACNzP,KAAMA,EAGR01J,SAAuB,WACrB,OAAOjmJ,CACT,GAEA,OAAOimJ,CACT,CAqGA,SAASmwkB,GAAehmD,EAASz8Z,EAAc0id,EAAgBrF,EAAQsF,EAAcC,EAAiBC,QACxE,IAAxBA,IACFA,GAAsB,GAGxB,IAAI/E,EAAgB+E,EAAsB,GAxCzB,SAAUF,GAC3B,IAAI76B,EAAKv0sB,EAELuquB,EAAgB,GAEpB,IACE,IAAK,IAAIgF,EAAiBrpuB,GAASkpuB,GAAeI,EAAmBD,EAAejruB,QAASkruB,EAAiB/quB,KAAM+quB,EAAmBD,EAAejruB,OAIpJ,IAHA,IAAIg4D,EAAQkzqB,EAAiBpruB,MACzBtC,EAAI,EAEDA,EAAIw6D,EAAMu8Y,QAAQ52c,QACnBq6D,EAAMu8Y,QAAQ/2c,GAAGgX,OAASk2tB,GAM9BltuB,KALEyouB,EAAc3kuB,KAAK02D,EAAMu8Y,QAAQ/2c,IACjCw6D,EAAMu8Y,QAAQjkc,OAAO9S,EAAG,GAOhC,CAAE,MAAOsnuB,GACP70B,EAAM,CACJlusB,MAAO+iuB,EAEX,CAAE,QACA,IACMoG,IAAqBA,EAAiB/quB,OAASzE,EAAKuvuB,EAAelwtB,SAASrf,EAAGkC,KAAKqtuB,EAC1F,CAAE,QACA,GAAIh7B,EAAK,MAAMA,EAAIlusB,KACrB,CACF,CAEA,OAAOkkuB,CACT,CAOiDkF,CAAaL,GACxD5E,EAAiBD,EAActouB,OAASqouB,GAAc6E,EAAgBrF,EAAQS,EAAe99c,GAAgB0id,EAC7GO,EAAoBJ,EAAsB,CAACH,QAAkBtvuB,EAC7D8vuB,EAAqB,GAEzB,SAASC,EAAaC,EAAWrB,GAC/B,IAAIxuuB,EAEJ,OAAQwuuB,EAAa11tB,MACnB,KAAK81tB,GAED,IAAIkB,EAnZd,SAAsB3jtB,EAAQywlB,EAAKktH,EAAQiG,GACzC,IAIIC,EAJAv0K,EAAO,CACTquK,OAAQA,GAENmG,EAAgB3E,GAAa/wtB,GAAW4R,EAAO0V,OAAS1V,EAAO0V,MAAM+6kB,EAAKktH,EAAOzguB,KAAMoyjB,GAAQtviB,EAAO0V,OAG1G,GAAIsc,GAAShyB,EAAOsI,OAAQ,CAC1B,IAAIy7sB,EAAcH,GAAaA,EAAU5jtB,EAAOsI,OAChDu7sB,EAAgBz1tB,GAAW21tB,GAAeA,EAAYtzH,EAAKktH,EAAOzguB,KAAMoyjB,GAAQy0K,CAClF,MACEF,EAAgBz1tB,GAAW4R,EAAOsI,OAAStI,EAAOsI,MAAMmolB,EAAKktH,EAAOzguB,KAAMoyjB,GAAQtviB,EAAOsI,MAG3F,OAAO/yB,GAASA,GAAS,CAAC,EAAGyqB,GAAS,CACpCrT,KAAM81tB,GACN9E,OAAQmG,EACRx7sB,MAAOu7sB,GAEX,CAgY6BG,CAAa3B,EAAchE,EAAgBV,EAAQ5gD,EAAQ5sqB,QAAQ8ztB,QAMtF,OAJIf,GAAiD,kBAAvBS,EAAar7sB,OACzC46sB,EAAgBS,EAActF,EAAgBV,GAGzCgG,EAGX,KAAKjB,GACH,IAAIwB,EAjXZ,SAAqBlktB,EAAQywlB,EAAKktH,EAAQiG,GACxC,IAKIC,EALAv0K,EAAO,CACTquK,OAAQA,GAGNmG,EAAgB3E,GAAa/wtB,GAAW4R,EAAO0V,OAAS1V,EAAO0V,MAAM+6kB,EAAKktH,EAAOzguB,KAAMoyjB,GAAQtviB,EAAO0V,OAG1G,GAAIsc,GAAShyB,EAAOsI,OAAQ,CAC1B,IAAIy7sB,EAAcH,GAAaA,EAAU5jtB,EAAOsI,OAChDu7sB,EAAgBz1tB,GAAW21tB,GAAeA,EAAYtzH,EAAKktH,EAAOzguB,KAAMoyjB,GAAQy0K,CAClF,MACEF,EAAgBz1tB,GAAW4R,EAAOsI,OAAStI,EAAOsI,MAAMmolB,EAAKktH,EAAOzguB,KAAMoyjB,GAAQtviB,EAAOsI,MAG3F,IAAI67sB,EAAiB/1tB,GAAW4R,EAAOg7D,IAAMh7D,EAAOg7D,GAAGy1hB,EAAKktH,EAAOzguB,KAAMoyjB,GAAQtviB,EAAOg7D,GACxF,OAAOzlF,GAASA,GAAS,CAAC,EAAGyqB,GAAS,CACpCg7D,GAAImppB,EACJxG,OAAQmG,EACRpusB,MAAOousB,EAAc5muB,KACrBorB,MAAOu7sB,GAEX,CA2VyBO,CAAY/B,EAAchE,EAAgBV,EAAQ5gD,EAAQ5sqB,QAAQ8ztB,QAEnF,IAAKhI,GAAe,CAClB,IAAIoI,EAAkBhC,EAAa/5sB,MAEnCssB,IAAM5C,GAASqyrB,IAAgD,kBAArBH,EAAW57sB,MACrD,4CAA4Cp0B,OAAOmwuB,EAAiB,4BAA4BnwuB,OAAO6orB,EAAQvzqB,GAAI,KACrH,CAUA,OARI05tB,GAAmBgB,EAAWlppB,KAAOygpB,GAAAA,WACrB,UAAdiI,EACFF,EAAmB/puB,KAAKyquB,GAExBhB,EAAgBgB,EAAY7F,EAAgBV,IAIzCuG,EAET,KAAKI,GAED,IAAIC,EAnSG,SAAUvktB,EAAQywlB,EAAKktH,GACtC,OAAOpouB,GAASA,GAAS,CAAC,EAAGyqB,GAAS,CACpC/nB,MAAO+5C,GAAShyB,EAAOusG,MAAQvsG,EAAOusG,KAAOvsG,EAAOusG,KAAKkkf,EAAKktH,EAAOzguB,KAAM,CACzEyguB,OAAQA,KAGd,CA6RyB6G,CAAWnC,EAAchE,EAAgBV,GAExD,OADoB,OAApBuF,QAAgD,IAApBA,GAAsCA,EAAgBqB,EAAUlG,EAAgBV,GACrG4G,EAGX,KAAKE,GAQD,KALIC,EAGI,QAHc7wuB,EADHwuuB,EACqBsC,MAAM1trB,MAAK,SAAU2oD,GAC3D,IAAI25f,EAAQqlI,GAAQh/nB,EAAU+/nB,KAAM5iD,EAAQ5sqB,QAAQ62D,QACpD,OAAQuyhB,GAASkmI,GAAc1iD,EAASxjF,EAAO8kI,EAAgBV,EAASuF,OAAiCxvuB,EAAf4sR,EAC5F,WAAuB,IAAPzsR,OAAgB,EAASA,EAAG64c,SAG1C,MAAO,GAGT,IAAIlqc,EAAKxI,GAAO+ouB,GAAehmD,EAASz8Z,EAAc+9c,EAAgBV,EAAQ,CAAC,CAC7EhxtB,KAAM+2tB,EACNh3R,QAAS41R,GAAgBvjnB,GAAQ2lnB,GAAiB3nD,EAAQ5sqB,QAAQu8b,WAChEw2R,EAAiBC,GAAsB,GACvCyB,EAA4BpiuB,EAAG,GAC/BqiuB,EAA4BriuB,EAAG,GAInC,OAFA67tB,EAAiBwG,EACK,OAAtBtB,QAAoD,IAAtBA,GAAwCA,EAAkB9puB,KAAK4kuB,GACtFuG,EAGX,KAAKE,GAED,IAAIJ,EAEJ,KAFIA,EAAiBrC,EAAatmuB,IAAIsiuB,EAAgBV,EAAOzguB,OAG3D,MAAO,GAGT,IAAIsrD,EAAKxuD,GAAO+ouB,GAAehmD,EAASz8Z,EAAc+9c,EAAgBV,EAAQ,CAAC,CAC7EhxtB,KAAM+2tB,EACNh3R,QAAS41R,GAAgBvjnB,GAAQ2lnB,GAAiB3nD,EAAQ5sqB,QAAQu8b,WAChEw2R,EAAiBC,GAAsB,GACvC4B,EAA0Bv8qB,EAAG,GAC7Bw8qB,EAAkBx8qB,EAAG,GAIzB,OAFA61qB,EAAiB2G,EACK,OAAtBzB,QAAoD,IAAtBA,GAAwCA,EAAkB9puB,KAAK4kuB,GACtF0G,EAGX,KAAKE,GAEGV,EArSd,SAAqBvktB,EAAQ3Z,EAASs3tB,GACpC,IAAIuH,EAAmB92tB,GAAW4R,EAAO4itB,UAAY5itB,EAAO4itB,SAASv8tB,EAASs3tB,EAAOzguB,MAAQ8iB,EAAO4itB,SAChGuC,EAA+C,kBAArBD,EAAgC,CAC5D17tB,GAAI07tB,GACFA,EAKJ,MAJmB,CACjBv4tB,KAAM6utB,GAAAA,KACNoH,SAAUuC,EAGd,CA2RyBC,CAAY/C,EAAchE,EAAgBV,GAEzD,OADoB,OAApBuF,QAAgD,IAApBA,GAAsCA,EAAgBqB,EAAUvB,EAAgBrF,GACrG4G,EAGX,KAAK1B,GAEDxE,EAAiBF,GAAcE,EAAgBV,EAAQ,CAAC0E,GAAgBa,OAAiCxvuB,EAAf4sR,GACpE,OAAtBijd,QAAoD,IAAtBA,GAAwCA,EAAkB9puB,KAAK4kuB,GAC7F,MAGJ,QACE,IAAIgH,EAAuBjD,GAAeC,EAActlD,EAAQ5sqB,QAAQu8b,SACpE44R,EAASD,EAAqBvutB,KAElC,GAAIostB,EACFA,EAAgBmC,EAAsBhH,EAAgBV,QACjD,GAAI2H,GAAU/B,EAAmB,CACtC,IAAIgC,EAAiBhC,EAAkBztuB,OAAS,EAE5C09gB,EAAUj+gB,GAASA,GAAS,CAAC,EAAG8vuB,GAAuB,CACzDvutB,KAAM,SAAU0utB,GAGd,IAFA,IAAI/ntB,EAAO,GAEFN,EAAK,EAAGA,EAAKtnB,UAAUC,OAAQqnB,IACtCM,EAAKN,EAAK,GAAKtnB,UAAUsnB,GAG3BmotB,EAAOtvuB,WAAM,EAAQm8oB,GAAc,CAACoxF,EAAkBgC,IAAkBvruB,GAAOyjB,IAAO,GACxF,IAGF4ntB,EAAuB7xN,CACzB,CAEA,OAAO6xN,EAEb,CAmCA,IAAII,EAAkBnI,GAAQ2F,EAAajvuB,KAjC3C,SAAsBm8D,GACpB,IAAIk4oB,EAAKx0sB,EAEL4xuB,EAAkB,GAEtB,IACE,IAAK,IAAIjjuB,EAAKzI,GAASo2D,EAAMu8Y,SAAUlkZ,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CAC/E,IAAI6nB,EAASwoC,EAAGvwD,MACZssuB,EAAWd,EAAatzqB,EAAMxjD,KAAMqT,GAEpCuktB,IACFkB,EAAkBA,EAAgBvxuB,OAAOqwuB,GAE7C,CACF,CAAE,MAAOnH,GACP/0B,EAAM,CACJnusB,MAAOkjuB,EAEX,CAAE,QACA,IACM50qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI6lsB,EAAK,MAAMA,EAAInusB,KACrB,CACF,CAMA,OAJAspuB,EAAmBn+tB,SAAQ,SAAU2a,GACnCkjtB,EAAgBljtB,EAAQq+sB,EAAgBV,EAC1C,IACA6F,EAAmB1tuB,OAAS,EACrB2vuB,CACT,KAGA,MAAO,CAACA,EAAiBpH,EAC3B,CCpoBA,SAASqH,GAAiBpruB,EAAG5F,GAC3B,GAAI4F,IAAM5F,EACR,OAAO,EAGT,QAAUhB,IAAN4G,QAAyB5G,IAANgB,EACrB,OAAO,EAGT,GAAIs9C,GAAS13C,IAAM03C,GAASt9C,GAC1B,OAAO4F,IAAM5F,EAGf,IAAIixuB,EAAQhxuB,OAAOgR,KAAKrL,GACpBsruB,EAAQjxuB,OAAOgR,KAAKjR,GACxB,OAAOixuB,EAAM7vuB,SAAW8vuB,EAAM9vuB,QAAU6vuB,EAAMxxuB,OAAM,SAAUsC,GAC5D,OAAOivuB,GAAiBpruB,EAAE7D,GAAM/B,EAAE+B,GACpC,GACF,CACA,SAASovuB,GAActmuB,GACrB,MAAqB,kBAAVA,GAAgC,OAAVA,IAI1B,UAAWA,GAAS,WAAYA,EACzC,CAsBA,IAAIumuB,GAIJ,WAaE,SAASA,EAAMxgsB,GACb,IAEIzxC,EFwKSy9rB,EE1KTjzrB,EAAQlJ,KAIZA,KAAKu3c,QAAU,GACfv3c,KAAK4wuB,WAAarK,GAClBvmuB,KAAKm6jB,KAAO,CAAC,EACbn6jB,KAAK4lE,OAAS,GACd5lE,KAAK8C,MAAQqtC,EAAOrtC,MACpB9C,KAAKkR,QAAUi/B,EAAOj/B,QACtBlR,KAAKwouB,OAASr4rB,EAAOq4rB,OACrBxouB,KAAK6wuB,WAAa1gsB,EAAO0gsB,WACzB7wuB,KAAKugC,MAAQvgC,KAAKwouB,OAAOzguB,KACzB/H,KAAK8wuB,aAAe3gsB,EAAO2gsB,aAC3B9wuB,KAAKqnpB,QAAUl3mB,EAAOk3mB,QACtBrnpB,KAAKu3c,QAAUpna,EAAOona,SAAW,GACjCv3c,KAAK4wuB,WAAazgsB,EAAOygsB,YAAcrK,GACvCvmuB,KAAKm6jB,WF0Je,KADPgiI,EEzJOhspB,EAAOgspB,iBF2J3BA,EAAgB,IAGXA,EAAczhrB,QAAO,SAAUC,EAAKgomB,GAKzC,YAJuBpknB,IAAnBoknB,EAAUxoD,OACZx/iB,EAAIgomB,EAAUtumB,IAAMsumB,EAAUxoD,MAGzBx/iB,CACT,GAAG,CAAC,IEnKF3a,KAAK4lE,OAASz1B,EAAOy1B,QAAU,GAC/B5lE,KAAK+gC,QAAU/gC,KAAK+gC,QAAQyC,KAAKxjC,MACjCA,KAAK+wuB,UAAY/wuB,KAAK+wuB,UAAUvtsB,KAAKxjC,MACrCA,KAAKm8rB,cAAgBhspB,EAAOgspB,cAC5Bn8rB,KAAKm0B,YAAcgc,EAAOhc,YAC1Bn0B,KAAKwU,SAAW27B,EAAO37B,SACvBxU,KAAKmD,OAASgtC,EAAOhtC,KACrBnD,KAAKob,KAAkF,QAA1E1c,EAAKiB,MAAMkoB,QAAQsoB,EAAO/0B,MAAQ,IAAIxB,IAAIu2B,EAAO/0B,MAAQ+0B,EAAO/0B,YAAyB,IAAP1c,EAAgBA,EAAK,IAAIkb,IACxH5Z,KAAK4nrB,QAAUz3oB,EAAOy3oB,QACtBporB,OAAOqC,eAAe7B,KAAM,aAAc,CACxC4G,IAAK,WACH,OFyHR,SAAoBu1rB,GAClB,OAAOn/C,GAAc,GAAIn4oB,GAAO,IAAI+U,IAAIuutB,GAAQnrF,GAAc,GAAIn4oB,GAAOs3rB,EAAct9rB,KAAI,SAAUi5L,GACnG,OAAOA,EAAGk5iB,SACZ,MAAK,OAAW,EAClB,CE7HeC,CAAW/nuB,EAAMizrB,cAC1B,GAEJ,CAsKA,OA9JAw0C,EAAMrmuB,KAAO,SAAUk9tB,EAAYt2tB,GACjC,OAAIs2tB,aAAsBmJ,EACpBnJ,EAAWt2tB,UAAYA,EAClB,IAAIy/tB,EAAM,CACf7tuB,MAAO0kuB,EAAW1kuB,MAClBoO,QAASA,EACTs3tB,OAAQhB,EAAWgB,OACnBqI,WAAY,KACZC,aAActJ,EAAWsJ,aACzBzpF,QAASmgF,EAAWngF,QACpB9vM,QAAS,GACTq5R,WAAYpJ,EAAWoJ,WACvBz2K,KAAM,CAAC,EACPv0f,OAAQ,GACRu2nB,cAAe,GACfhoqB,YAAa,GACb3f,SAAU,CAAC,IAIRgztB,EAIF,IAAImJ,EAAM,CACf7tuB,MAAO0kuB,EACPt2tB,QAASA,EACTs3tB,OAJWpmkB,GAKXyukB,WAAY,KACZC,kBAAcvyuB,EACd8opB,aAAS9opB,EACTg5c,QAAS,GACTq5R,gBAAYryuB,EACZ47jB,UAAM57jB,EACNqnE,OAAQ,GACRu2nB,cAAe,GACfhoqB,YAAa,GACb3f,SAAU,CAAC,GAEf,EAOAm8tB,EAAMxwuB,OAAS,SAAUgwC,GACvB,OAAO,IAAIwgsB,EAAMxgsB,EACnB,EAQAwgsB,EAAMvpD,MAAQ,SAAUogD,EAAYt2tB,GAClC,GAAIs2tB,aAAsBmJ,EAAO,CAC/B,IAAKnJ,EAAWjwR,QAAQ52c,OACtB,OAAO6muB,EAGT,IAAIgB,EAASpmkB,GACb,OAAO,IAAIuukB,EAAM,CACf7tuB,MAAO0kuB,EAAW1kuB,MAClBoO,QAASA,EACTs3tB,OAAQA,EACRqI,WAAY,KACZC,aAActJ,EAAWsJ,aACzBzpF,QAASmgF,EAAWngF,QACpBupF,WAAYpJ,EAAWoJ,WACvBz0C,cAAeqrC,EAAWrrC,cAC1BhoqB,YAAa,GACb3f,SAAU,CAAC,GAEf,CAEA,OAAOm8tB,EAAMrmuB,KAAKk9tB,EAAYt2tB,EAChC,EAQAy/tB,EAAMzwuB,UAAU6wuB,UAAY,SAAUvJ,EAAYhptB,GAChD,IAAItV,EAAQlJ,KAUZ,QARmB,IAAfwnuB,IACFA,EAAaxnuB,KAAK8C,YAGF,IAAd0b,IACFA,EAAY,KAGVq+B,GAAS2qrB,GACX,MAAO,CAACA,GAGV,IAAI0J,EAAY1xuB,OAAOgR,KAAKg3tB,GAC5B,OAAO0J,EAAUnyuB,OAAO8B,MAAMqwuB,EAAWl0F,GAAc,GAAIn4oB,GAAOqsuB,EAAUryuB,KAAI,SAAUyC,GACxF,OAAO4H,EAAM6nuB,UAAUvJ,EAAWlmuB,GAAMkd,GAAW3f,KAAI,SAAU0B,GAC/D,OAAOe,EAAMkd,EAAYje,CAC3B,GACF,MAAK,GACP,EAEAowuB,EAAMzwuB,UAAU26C,OAAS,WACvB,IAAIn8C,EAAKsB,KACLtB,EAAGy9rB,cACHz9rB,EAAGy1B,YACH,IAAI/Y,EAAO1c,EAAG0c,KACd1c,EAAGkprB,QACH,IAAIupD,EAAarwuB,GAAOpC,EAAI,CAAC,gBAAiB,cAAe,OAAQ,YAEzE,OAAO0B,GAASA,GAAS,CAAC,EAAG+wuB,GAAa,CACxC/1tB,KAAMzb,MAAM2K,KAAK8Q,IAErB,EAEAu1tB,EAAMzwuB,UAAU6gC,QAAU,SAAUmmsB,GAClC,OAAOH,GAAaG,EAAkBlnuB,KAAK8C,MAC7C,EAOA6tuB,EAAMzwuB,UAAU6orB,OAAS,SAAU7tqB,GACjC,OAAOlb,KAAKob,KAAKzU,IAAIuU,EACvB,EAWAy1tB,EAAMzwuB,UAAUkxuB,IAAM,SAAU7wsB,GAC9B,IAAI7hC,EAEAoouB,IACFrnrB,KAAOz/C,KAAK4nrB,QAAS,iGAGvB,IAAIypD,EAAyC,QAAvB3yuB,EAAKsB,KAAK4nrB,eAA4B,IAAPlprB,OAAgB,EAASA,EAAG4yuB,kBAAkBtxuB,KAAMugC,GACzG,SAA6B,OAAnB8wsB,QAA8C,IAAnBA,OAA4B,EAASA,EAAel9sB,YAAYxzB,SACrG0wuB,EAAel9sB,YAAYzjB,MAAK,SAAUpQ,GACxC,YAAoB/B,IAAb+B,EAAEe,QAAwBf,EAAEi3c,QAAQ52c,MAC7C,GACF,EAEOgwuB,CACT,CArNA,GCxDI15nB,GAAiB,CACnBs6nB,aAAa,GAGXC,GAIJ,WACE,SAASA,EAAUx2tB,GACjBhb,KAAKyxuB,iBAAkB,EACvBzxuB,KAAK+yH,MAAQ,GACb/yH,KAAK8trB,aAAc,EACnB9trB,KAAKgb,QAAU5a,GAASA,GAAS,CAAC,EAAG62G,IAAiBj8F,EACxD,CA2DA,OAzDAw2tB,EAAUtxuB,UAAUk4mB,WAAa,SAAUjomB,GAGzC,GAFAnQ,KAAK8trB,aAAc,EAEf39qB,EAAU,CACZ,IAAKnQ,KAAKgb,QAAQu2tB,YAEhB,YADAvxuB,KAAK0xuB,SAASvhuB,GAIhBnQ,KAAKoJ,QAAQ+G,EACf,CAEAnQ,KAAK2xuB,aACP,EAEAH,EAAUtxuB,UAAUwxuB,SAAW,SAAUr+mB,GACvC,GAAKrzH,KAAK8trB,cAAe9trB,KAAKyxuB,gBAA9B,CAKA,GAA0B,IAAtBzxuB,KAAK+yH,MAAMpyH,OACb,MAAM,IAAIgI,MAAM,gEAGlB3I,KAAKoJ,QAAQiqH,GACbrzH,KAAK2xuB,aAPL,MAFE3xuB,KAAK+yH,MAAMzuH,KAAK+uH,EAUpB,EAEAm+mB,EAAUtxuB,UAAUs9B,MAAQ,WAC1Bx9B,KAAK+yH,MAAQ,EACf,EAEAy+mB,EAAUtxuB,UAAUyxuB,YAAc,WAGhC,IAFA,IAAI/7E,EAAe51pB,KAAK+yH,MAAMltH,QAEvB+vpB,GACL51pB,KAAKoJ,QAAQwspB,GACbA,EAAe51pB,KAAK+yH,MAAMltH,OAE9B,EAEA2ruB,EAAUtxuB,UAAUkJ,QAAU,SAAU+G,GACtCnQ,KAAKyxuB,iBAAkB,EAEvB,IACEthuB,GACF,CAAE,MAAOpP,IAIP,MADAf,KAAKw9B,QACCz8B,EACR,CAAE,QACAf,KAAKyxuB,iBAAkB,CACzB,CACF,EAEOD,CACT,CAlEA,GCNII,GAAe,GACfC,GAAU,SAAUlqD,EAASzkqB,GAC/B0utB,GAAattuB,KAAKqjrB,GAClB,IAAIzkrB,EAASggB,EAAGykqB,GAEhB,OADAiqD,GAAavtuB,MACNnB,CACT,EACI0xkB,GAAU,SAAU1xjB,GACtB,OAAOA,EAAG0utB,GAAaA,GAAajxuB,OAAS,GAC/C,ECTA,SAASmxuB,GAAgBz9tB,GACvB,IAAI3V,EAEJ,OAAOA,EAAK,CACV2V,GAAIA,EACJijC,KAAM,WAEN,EACAF,UAAW,WACT,MAAO,CACL5C,YAAa,WAEb,EAEJ,EACAyplB,YAAa,WAEb,EACApjlB,OAAQ,WACN,MAAO,CACLxmC,GAAIA,EAER,IACIs1tB,IAAoB,WACxB,OAAO3puB,IACT,EAAGtB,CACL,CAmBA,SAASqzuB,GAAoBj2Z,EAAQznU,EAAItM,GACvC,IAAIiquB,EAAYF,GAAgBz9tB,GAIhC,GAFA29tB,EAAUl3oB,UAAW,EAEjB8uoB,GAAU9tZ,GAAS,CAErB,IAAIm2Z,EAAiBD,EAAU5nuB,MAAQynuB,QAAQtzuB,GAAW,WACxD,OAAQwJ,EAAO+zU,EAAOo2Z,YAAYnquB,GAAQ+zU,GAAQ+rW,YACpD,IAEAmqD,EAAU/zG,YAAc,WACtB,OAAOg0G,CACT,CACF,CAEA,OAAOD,CACT,CClEA,IAAIx9tB,GAAwB,IAAI28D,IAC5BghqB,GAAiB,EACjB/xS,GACM,WACN,MAAO,KAAKrhc,OAAOozuB,KACrB,EAHE/xS,GAIQ,SAAU/rb,EAAIqzqB,GAEtB,OADAlzqB,GAAS1N,IAAIuN,EAAIqzqB,GACVrzqB,CACT,EAPE+rb,GAQG,SAAU/rb,GACb,OAAOG,GAAS5N,IAAIyN,EACtB,EAVE+rb,GAWI,SAAU/rb,GACdG,GAASg8D,OAAOn8D,EAClB,ECbF,SAAS+9tB,KACP,MAA0B,qBAAf70qB,WACFA,WAGW,qBAATnvD,KACFA,KAGa,qBAAX/P,OACFA,OAGa,qBAAXsvD,EAAAA,EACFA,EAAAA,OAGJm5qB,IACHtnrB,QAAQC,KAAK,kKAEjB,CAYA,SAAS4yrB,GAAgB1qD,GACvB,GAAKyqD,KAAL,CAIA,IAAIE,EAfN,WACE,IAAI3krB,EAASykrB,KAEb,GAAIzkrB,GAAU,eAAgBA,EAC5B,OAAOA,EAAO4krB,UAIlB,CAOiBC,GAEXF,GACFA,EAASjyS,SAASsnP,EALpB,CAOF,CC4BA,SAAS8qD,GAAcC,EAAU13tB,QACf,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAI5Q,EAAQsouB,EAAS7qD,aACjB8qD,EAAY,IAAI/4tB,IAChBg5tB,EAAU,GACVC,GAAW,EAoBXnrD,EHtBN,SAAoBorD,GAClB,IAAIp0uB,EAEJ,OAAO0B,KAAU1B,EAAK,CACpB04C,UAAW,WACT,MAAO,CACL5C,YAAa,WAEb,EAEJ,EACAngC,GAAI,YACJ4pnB,YAAa,WAEb,IACI0rG,IAAoB,WACxB,OAAO3puB,IACT,EAAGtB,GAAKo0uB,EACV,CGIcC,CAAW,CACrB1+tB,GAAI2G,EAAQ3G,GACZijC,KAAM,SAAU/W,GACdqysB,EAAQtuuB,KAAKi8B,GArBL,WACV,IAAIsysB,EAAJ,CAMA,IAFAA,GAAW,EAEJD,EAAQjyuB,OAAS,GAAG,CACzB,IAAIqyuB,EAAUJ,EAAQ/suB,QACtBuE,EAAQsouB,EAASp3sB,WAAWlxB,EAAO4ouB,EAASC,GAC5CN,EAAUziuB,SAAQ,SAAUmiK,GAC1B,OAAOA,EAASrvK,KAAKoH,EACvB,GACF,CAEAyouB,GAAW,CAZX,CAaF,CAMIt2tB,EACF,EACA0hnB,YAAa,WACX,OAAO7znB,CACT,EACAgtC,UAAW,SAAUp0C,EAAMs3I,EAAa15C,GACtC,IAAIyxE,EAAWs4jB,GAAW3nuB,EAAMs3I,EAAa15C,GAG7C,OAFA+xoB,EAAU7+tB,IAAIu+J,GACdA,EAASrvK,KAAKoH,GACP,CACLoqC,YAAa,WACXm+rB,EAAUniqB,OAAO6hG,EACnB,EAEJ,IAEE4gkB,EAAW,CACbn1tB,OAAQ9C,EAAQ8C,OAChB1P,KAAMs5qB,EACNrzqB,GAAI2G,EAAQ3G,IAAM,YAClBs+tB,UAAWA,GAGb,OADAvouB,EAAQsouB,EAAS/qsB,MAAQ+qsB,EAAS/qsB,MAAMsrsB,GAAY7ouB,EAC7Cs9qB,CACT,CClHA,IAIIwrD,GAJAC,GAAwB,CAC1Bl/J,MAAM,EACNm/J,aAAa,IAIf,SAAWF,GACTA,EAAkBA,EAA8B,WAAI,GAAK,aACzDA,EAAkBA,EAA2B,QAAI,GAAK,UACtDA,EAAkBA,EAA2B,QAAI,GAAK,SACvD,CAJD,CAIGA,KAAsBA,GAAoB,CAAC,IAE9C,IAAIG,GAIJ,WAOE,SAASA,EAAYzrD,EAAS5sqB,QACZ,IAAZA,IACFA,EAAUq4tB,EAAYp8nB,gBAGxB,IAAI/tG,EAAQlJ,KAEZA,KAAK4nrB,QAAUA,EACf5nrB,KAAKszuB,iBAAmB,CAAC,EACzBtzuB,KAAK60jB,UAAY,IAAIj7iB,IACrB5Z,KAAKuzuB,iBAAmB,IAAI35tB,IAC5B5Z,KAAKwzuB,cAAgB,IAAI55tB,IACzB5Z,KAAKyzuB,cAAgB,IAAI75tB,IACzB5Z,KAAK0zuB,eAAiB,IAAI95tB,IAC1B5Z,KAAK2zuB,cAAgB,IAAI/5tB,IAKzB5Z,KAAK8trB,aAAc,EACnB9trB,KAAK01C,OAASw9rB,GAAkBU,WAChC5zuB,KAAKwU,SAAW,IAAI28D,IACpBnxE,KAAK6zuB,UAAY,IAAIj6tB,IACrB5Z,KAAK8zuB,eAAiB,GAKtB9zuB,KAAKu5D,KAAOv5D,KAAK2nC,MAWjB3nC,KAAKs3C,KAAO,SAAU/W,EAAO0d,GAC3B,GAAIp2B,GAAQ0Y,GAGV,OAFAr3B,EAAMi2gB,MAAM5+e,GAELr3B,EAAMkB,MAGf,IAAIo+tB,EAASwB,GAAaD,GAAcxpsB,EAAO0d,IAE/C,GAAI/0C,EAAMwsC,SAAWw9rB,GAAkBa,QAMrC,OAJKjN,IACHrnrB,IAAK,EAAO,UAAW1gD,OAAOypuB,EAAOzhuB,KAAM,mCAAqChI,OAAOmK,EAAM0+qB,QAAQvzqB,GAAI,0FAA2FtV,OAAOwvB,KAAKhP,UAAUiptB,EAAOzguB,QAG5NmB,EAAMkB,MAGf,GAAIlB,EAAMwsC,SAAWw9rB,GAAkBc,UAAY9quB,EAAM8R,QAAQu2tB,YAC/D,MAAM,IAAI5ouB,MAAM,UAAW5J,OAAOypuB,EAAOzhuB,KAAM,yCAA2ChI,OAAOmK,EAAM0+qB,QAAQvzqB,GAC7G,mHAAoHtV,OAAOwvB,KAAKhP,UAAUiptB,EAAOzguB,QAYrJ,OATAmB,EAAM+quB,UAAUvC,UAAS,WAEvBxouB,EAAMgruB,QAAQ1L,GAEd,IAAIn3tB,EAAYnI,EAAM4I,WAAW02tB,GAEjCt/tB,EAAMpB,OAAOuJ,EAAWm3tB,EAC1B,IAEOt/tB,EAAMk6H,MAEf,EAEApjI,KAAKm0uB,OAAS,SAAU5zsB,EAAOslD,EAAIgkF,GACjC,IZ6YW/mK,EY7YPsxuB,EAAWlruB,EAAM4U,SAAW+nE,IAAOygpB,GAAAA,QAAyBp9tB,EAAM4U,OAAOzJ,KAAOwxE,GAChFxkF,EAAS+yuB,EAAWlruB,EAAM4U,OAAS++B,GAASgpC,GAAMA,IAAOygpB,GAAAA,SAA0Bp9tB,EAAQA,EAAMsL,SAAS5N,IAAIi/E,IAAOu6W,GAAav6W,IZ4Y3H/iF,EY5YyI+iF,IZ6YhH,oBAAf/iF,EAAMw0C,KY7Y+HuuC,OAAKtnF,EAE/J,GAAK8C,EAaL,GAAI,YAAaA,GAGf,GAAI6H,EAAMwsC,SAAWw9rB,GAAkBa,SAAW7quB,EAAM4U,SAAWzc,GACnE6H,EAAMkB,MAAMjH,KAAM,CAEhB,IAAI8muB,EAAa7puB,GAASA,GAAS,CAAC,EAAGmgC,GAAQ,CAC7Cx5B,KAAMw5B,EAAMx5B,OAASstuB,GAAU,GAAGt1uB,OAAOgG,GAAMmE,EAAMmL,KAAOksB,EAAMx5B,KAClEiglB,OAAQ99kB,EAAMoruB,aAGXzqkB,GAAa3gK,EAAM0+qB,QAAQz3oB,OAAOoksB,2BACrCrruB,EAAM4quB,eAAexvuB,KAAK,CAACjD,EAAQ4ouB,IAEnC5ouB,EAAOi2C,KAAK2yrB,EAEhB,OAGKpgkB,GAAa3gK,EAAM0+qB,QAAQz3oB,OAAOoksB,2BACrCrruB,EAAM4quB,eAAexvuB,KAAK,CAACjD,EAAQk/B,EAAMx4B,OAEzC1G,EAAOi2C,KAAK/W,EAAMx4B,UAnCtB,CACE,IAAKqsuB,EACH,MAAM,IAAIzruB,MAAM,kCAAkC5J,OAAO8mF,EAAI,oBAAoB9mF,OAAOmK,EAAMmL,GAAI,OAI/FyytB,IACHrnrB,IAAK,EAAO,YAAY1gD,OAAOmK,EAAMmL,GAAI,0CAA0CtV,OAAOwhC,EAAM/oB,MAIpG,CA2BF,EAEAxX,KAAKw0uB,MAAQ,SAAU3ptB,EAAQ3Z,EAASs3tB,EAAQwE,QACpB,IAAtBA,IACFA,EAAoB9juB,EAAM0+qB,QAAQ5sqB,QAAQu8b,SAG5C,IAAIk9R,EAAe5ptB,EAAOlJ,MAAQmrtB,GAAkBjitB,EAAOrT,KAAMw1tB,GAC7DrrtB,EAAO1I,GAAWw7tB,GAAgBA,EAAeA,EAAeA,EAAa9ytB,KAAOkJ,EAAOlJ,KAE/F,GAAIA,EACF,IACE,OAAOA,EAAKzQ,EAASs3tB,EAAOzguB,KAAOmB,EAAM0+qB,QAAQz3oB,OAAOoksB,2BAIpD,CACF1ptB,OAAQA,EACR29sB,OAAQA,GAN2E,CACnF39sB,OAAQA,EACRzgB,MAAOlB,EAAMkB,MACbo+tB,OAAQA,GAKZ,CAAE,MAAO5yrB,GAQP,MAPI1sC,EAAM4U,QACR5U,EAAM4U,OAAOw5B,KAAK,CAChB9/B,KAAM,eACNzP,KAAM6tC,IAIJA,CACR,CAGF,OAAQ/qB,EAAOrT,MACb,KAAKivtB,GAGD,IAAIiO,EAAe7ptB,EAEnB3hB,EAAMyruB,MAAMD,GAEZ,MAGJ,KAAKp9rB,GACH,IAAIy3rB,EAAalktB,EAEjB,GAAgC,kBAArBkktB,EAAW57sB,MAGpB,YAFAjqB,EAAMyruB,MAAM5F,GAIRA,EAAWlppB,GACb38E,EAAMiruB,OAAOpF,EAAWvG,OAAQuG,EAAWlppB,GAAI2ipB,IAAWpmkB,IAE1Dl5J,EAAMouC,KAAKy3rB,EAAWvG,QAI1B,MAEF,KAAKtxrB,GACHhuC,EAAMguC,OAAOrsB,EAAO+ptB,QAEpB,MAEF,KAAKjtsB,GAED,GAAIz+B,EAAMwsC,SAAWw9rB,GAAkBc,QACrC,OAGF,IAAIvG,EAAW5itB,EAAO4itB,SAItB,IACCvkuB,EAAM0+qB,QAAQz3oB,OAAOoksB,6BAA+BrruB,EAAMkB,MAAMwmuB,WAAWnD,EAASp5tB,IAAMo5tB,EAASj2tB,MAClG,MAIF,GAAIi2tB,EAASj2tB,OAAS6utB,GAAAA,OAAoB,CACxC,IAAIwO,EAAenK,GAAe+C,EAAS56qB,KACvCiirB,EAAiB5ruB,EAAM0+qB,QAAQ5sqB,QAAQ+5tB,SAAW7ruB,EAAM0+qB,QAAQ5sqB,QAAQ+5tB,SAASF,EAAar9tB,WAAQjZ,EACtG8V,EAAKo5tB,EAASp5tB,GACdtM,EAAO0luB,EAAS1luB,KAEf++tB,IACHrnrB,KAAO,YAAagurB,GACpB,6DAA6D1uuB,OAAO0uuB,EAAS56qB,IAAK,qBAAqB9zD,OAAOmK,EAAM0+qB,QAAQvzqB,GAAI,QAAU,qCAG5I,IAAI++tB,EAAc,gBAAiB3F,EAAWA,EAAS2F,cAAgB3F,EAASyG,QAEhF,IAAKY,EAMH,YAJKhO,IACHrnrB,IAAK,EAAO,oCAAoC1gD,OAAO0uuB,EAAS56qB,IAAK,kBAAkB9zD,OAAOmK,EAAM0+qB,QAAQvzqB,GAAI,QAMpH,IAAI85G,EAAepmH,EAAOwguB,GAAWxguB,EAAMmJ,EAASs3tB,QAAUjquB,EAE9D,GAA8B,kBAAnBu2uB,EAET,OAGF,IAAIzisB,EAASp5B,GAAW67tB,GAAkBA,EAAe5juB,EAASs3tB,EAAOzguB,KAAM,CAC7EA,KAAMomH,EACNt7D,IAAKgirB,EACL16K,KAAMszK,EAAStzK,OACZ26K,EAEL,IAAKzisB,EAEH,OAGF,IAAIr3B,OAAU,EAEV4utB,GAAUv3rB,KACZA,EAAS87E,EAAe97E,EAAO6/rB,YAAY/jnB,GAAgB97E,EAC3Dr3B,EAAU,CACRo4tB,YAAaA,IAIjBlquB,EAAM8ruB,MAAM3isB,EAAQh+B,EAAI2G,EAC1B,MACE9R,EAAM+ruB,cAAcxH,GAGtB,MAGJ,KAAKxxoB,GAED/yF,EAAMgsuB,UAAUrqtB,EAAO4itB,SAASp5tB,IAEhC,MAGJ,KAAK2iH,GACH,IAAIt4H,EAAKmsB,EACLlnB,EAAQjF,EAAGiF,MACXb,EAAQpE,EAAGoE,MAEXa,EACFuF,EAAM6tH,OAAOpzH,EAAOb,GAEpBoG,EAAM6tH,OAAOj0H,GAGf,MAEF,QACOgkuB,IACHrnrB,IAAK,EAAO,4CAA4C1gD,OAAO8rB,EAAOrT,KAAM,MAKpF,EAEA,IAAImuK,EAAkBvlL,GAASA,GAAS,CAAC,EAAGizuB,EAAYp8nB,gBAAiBj8F,GAErEm6tB,EAAQxvjB,EAAgBwvjB,MACxBp+mB,EAAS4uD,EAAgB5uD,OACzBj5G,EAAS6nK,EAAgB7nK,OACzBzJ,EAAKsxK,EAAgBtxK,GACrB+guB,OAAoB72uB,IAAP8V,EAAmBA,EAAKuzqB,EAAQvzqB,GACjDrU,KAAKqU,GAAK+guB,EACVp1uB,KAAK+2H,OAASA,EACd/2H,KAAKm1uB,MAAQA,EACbn1uB,KAAK8d,OAASA,EACd9d,KAAKgb,QAAU2qK,EACf3lL,KAAKi0uB,UAAY,IAAIzC,GAAU,CAC7BD,YAAavxuB,KAAKgb,QAAQu2tB,cAE5BvxuB,KAAKs0uB,UAAYl0S,IACnB,CA2mCA,OAzmCA5gc,OAAOqC,eAAewxuB,EAAYnzuB,UAAW,eAAgB,CAC3D0G,IAAK,WACH,IAAIsC,EAAQlJ,KAEZ,OAAIA,KAAKq1uB,cACAr1uB,KAAKq1uB,cAGPxD,GAAQ7xuB,MAAM,WAEnB,OADAkJ,EAAMmsuB,cAAgBnsuB,EAAM0+qB,QAAQC,aAC7B3+qB,EAAMmsuB,aACf,GACF,EACAxruB,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAewxuB,EAAYnzuB,UAAW,QAAS,CAIpD0G,IAAK,WAKH,OAJKkguB,IACHrnrB,GAAKz/C,KAAK01C,SAAWw9rB,GAAkBU,WAAY,uDAAuD70uB,OAAOiB,KAAKqU,GAAI,+CAGrHrU,KAAKojI,MACd,EACAv5H,YAAY,EACZ29C,cAAc,IAShB6rrB,EAAYnzuB,UAAUg9D,QAAU,SAAU9yD,EAAOkruB,GAC/C,IAAIriC,EAAKv0sB,EAET,IACE,IAAK,IAAI2O,EAAKzI,GAASwF,EAAMmtc,SAAUlkZ,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CAC/E,IAAI6nB,EAASwoC,EAAGvwD,MAChB9C,KAAK2hB,KAAKkJ,EAAQzgB,EAAOkruB,EAC3B,CACF,CAAE,MAAOxN,GACP70B,EAAM,CACJlusB,MAAO+iuB,EAEX,CAAE,QACA,IACMz0qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI4lsB,EAAK,MAAMA,EAAIlusB,KACrB,CACF,CACF,EAEAsuuB,EAAYnzuB,UAAU4H,OAAS,SAAUsC,EAAOo+tB,GAC9C,IAAIt1B,EAAKx0sB,EAAI04tB,EAAK/ptB,EAAIgqtB,EAAKhkqB,EAAIkkqB,EAAKjkqB,EAEhCpqD,EAAQlJ,KAOZ,GAJAoK,EAAMymuB,WAAa7wuB,KAAKs0uB,UAExBt0uB,KAAKojI,OAASh5H,EAERpK,KAAK4nrB,QAAQz3oB,OAAOoksB,4BAE1B/L,IAAWpmkB,KAAcpiK,KAAKgb,QAAQkiD,QAKpC,IAFA,IAAI9jD,OAAO,EAEJA,EAAOpZ,KAAK8zuB,eAAejuuB,SAChCuT,EAAK,GAAGk+B,KAAKl+B,EAAK,SALpBpZ,KAAKk9D,QAAQl9D,KAAKoK,OAmBpB,GATApK,KAAKwU,SAAStE,SAAQ,SAAU4G,GAC9B5N,EAAMkB,MAAMoK,SAASsC,EAAMzC,IAAMyC,CACnC,IAEI9W,KAAKsyuB,UACPtyuB,KAAKsyuB,SAASh7rB,KAAKkxrB,EAAOzguB,KAAMqC,GAI9BA,EAAMm2B,MACR,IACE,IAAK,IAAIwqN,EAAKnmP,GAAS5E,KAAK0zuB,gBAAiB1xJ,EAAKj3V,EAAG/nP,QAASg/kB,EAAG7+kB,KAAM6+kB,EAAKj3V,EAAG/nP,OAAQ,EACjF+V,EAAWipkB,EAAGl/kB,OACTsH,EAAMm2B,MACjB,CACF,CAAE,MAAO0nsB,GACP/0B,EAAM,CACJnusB,MAAOkjuB,EAEX,CAAE,QACA,IACMjmJ,IAAOA,EAAG7+kB,OAASzE,EAAKqsP,EAAGhtO,SAASrf,EAAGkC,KAAKmqP,EAClD,CAAE,QACA,GAAImod,EAAK,MAAMA,EAAInusB,KACrB,CACF,CAGF,IACE,IAAK,IAAIk9kB,EAAKr9kB,GAAS5E,KAAK60jB,WAAYqtB,EAAKD,EAAGj/kB,QAASk/kB,EAAG/+kB,KAAM++kB,EAAKD,EAAGj/kB,OAAQ,EAC5E+V,EAAWmpkB,EAAGp/kB,OACTsH,EAAOA,EAAMm2B,MACxB,CACF,CAAE,MAAO0rsB,GACP7U,EAAM,CACJrytB,MAAOknuB,EAEX,CAAE,QACA,IACM/pJ,IAAOA,EAAG/+kB,OAASkK,EAAK40kB,EAAGlkkB,SAAS1Q,EAAGzM,KAAKqhlB,EAClD,CAAE,QACA,GAAIm1I,EAAK,MAAMA,EAAIrytB,KACrB,CACF,CAEA,IACE,IAAK,IAAI2wrB,EAAK9wrB,GAAS5E,KAAKuzuB,kBAAmB39C,EAAKF,EAAG1yrB,QAAS4yrB,EAAGzyrB,KAAMyyrB,EAAKF,EAAG1yrB,OAAQ,EAEvFuyuB,EADsB3/C,EAAG9yrB,OACT9C,KAAKoK,MAAM8G,QAASlR,KAAKoK,MAAMi9oB,QAAUrnpB,KAAKoK,MAAMi9oB,QAAQn2oB,aAAU3S,EACxF,CACF,CAAE,MAAO6tuB,GACP/U,EAAM,CACJtytB,MAAOqnuB,EAEX,CAAE,QACA,IACMx2C,IAAOA,EAAGzyrB,OAASkwD,EAAKqioB,EAAG33qB,SAASs1C,EAAGzyD,KAAK80rB,EAClD,CAAE,QACA,GAAI2hC,EAAK,MAAMA,EAAItytB,KACrB,CACF,CAEA,GAAI/E,KAAKoK,MAAMjH,KAAM,CAEnB,IAAIqyuB,EAAsBpruB,EAAM+xrB,cAAcr6oB,MAAK,SAAUg2I,GAC3D,MAAmB,UAAZA,EAAGtgL,MAAoBsgL,EAAGh6K,SAAW5U,EAAM0+qB,OACpD,IACI6tD,EAAWD,GAAuBA,EAAoBC,SAAWlN,GAAWiN,EAAoBC,SAAUrruB,EAAM8G,QAASs3tB,QAAUjquB,EACvIyB,KAAK01uB,WAAa/H,GAAW3tuB,KAAKqU,GAAIohuB,GAEtC,IACE,IAAK,IAAI3gD,EAAKlwrB,GAAS5E,KAAKyzuB,eAAgB1+C,EAAKD,EAAG9xrB,QAAS+xrB,EAAG5xrB,KAAM4xrB,EAAKD,EAAG9xrB,OAAQ,EAChF+V,EAAWg8qB,EAAGjyrB,OACT9C,KAAK01uB,WAChB,CACF,CAAE,MAAOhN,GACPnR,EAAM,CACJxytB,MAAO2juB,EAEX,CAAE,QACA,IACM3zC,IAAOA,EAAG5xrB,OAASmwD,EAAKwhoB,EAAG/2qB,SAASu1C,EAAG1yD,KAAKk0rB,EAClD,CAAE,QACA,GAAIyiC,EAAK,MAAMA,EAAIxytB,KACrB,CACF,CAEA/E,KAAKyrK,QAELzrK,KAAK21uB,gBAELv1S,GAAcpgc,KAAKs0uB,UACrB,CACF,EASAjB,EAAYnzuB,UAAU01uB,aAAe,SAAU78tB,GAO7C,OANA/Y,KAAK60jB,UAAU/gjB,IAAIiF,GAEf/Y,KAAK01C,SAAWw9rB,GAAkBc,SACpCj7tB,EAAS/Y,KAAKoK,MAAOpK,KAAKoK,MAAMm2B,OAG3BvgC,IACT,EAEAqzuB,EAAYnzuB,UAAUk3C,UAAY,SAAUy+rB,EAAwBnyuB,EACpEoyuB,GACE,IAAI5suB,EAAQlJ,KAERqyK,EAAWs4jB,GAAWkL,EAAwBnyuB,EAAGoyuB,GACrD91uB,KAAK60jB,UAAU/gjB,IAAIu+J,EAASrvK,MAExBhD,KAAK01C,SAAWw9rB,GAAkBU,YACpCvhkB,EAASrvK,KAAKhD,KAAKoK,OAGrB,IAAI2ruB,EAAe,SAAfA,IACF7suB,EAAMuquB,cAAcjjqB,OAAOulqB,GAE3B7suB,EAAMsquB,cAAchjqB,OAAOulqB,GAE3B1jkB,EAASzxE,UACX,EASA,OAPI5gG,KAAK01C,SAAWw9rB,GAAkBa,QACpC1hkB,EAASzxE,YAET5gG,KAAKg2uB,OAAOD,GACZ/1uB,KAAKi2uB,OAAOF,IAGP,CACLvhsB,YAAa,WACXtrC,EAAM2rjB,UAAUrkf,OAAO6hG,EAASrvK,MAEhCkG,EAAMuquB,cAAcjjqB,OAAOulqB,GAE3B7suB,EAAMsquB,cAAchjqB,OAAOulqB,EAC7B,EAEJ,EAOA1C,EAAYnzuB,UAAUg2uB,QAAU,SAAUn9tB,GAExC,OADA/Y,KAAK0zuB,eAAe5/tB,IAAIiF,GACjB/Y,IACT,EAOAqzuB,EAAYnzuB,UAAUi2uB,OAAS,SAAUp9tB,GAEvC,OADA/Y,KAAK2zuB,cAAc7/tB,IAAIiF,GAChB/Y,IACT,EAOAqzuB,EAAYnzuB,UAAU6pF,SAAW,SAAUhxE,GAEzC,OADA/Y,KAAKuzuB,iBAAiBz/tB,IAAIiF,GACnB/Y,IACT,EAOAqzuB,EAAYnzuB,UAAU+1uB,OAAS,SAAUl9tB,GAEvC,OADA/Y,KAAKwzuB,cAAc1/tB,IAAIiF,GAChB/Y,IACT,EAOAqzuB,EAAYnzuB,UAAU81uB,OAAS,SAAUj9tB,GAOvC,OANI/Y,KAAK01C,SAAWw9rB,GAAkBa,SAAW/zuB,KAAK01uB,WACpD38tB,EAAS/Y,KAAK01uB,YAEd11uB,KAAKyzuB,cAAc3/tB,IAAIiF,GAGlB/Y,IACT,EAOAqzuB,EAAYnzuB,UAAU8wE,IAAM,SAAUj4D,GAOpC,OANA/Y,KAAK60jB,UAAUrkf,OAAOz3D,GACtB/Y,KAAK0zuB,eAAeljqB,OAAOz3D,GAC3B/Y,KAAK2zuB,cAAcnjqB,OAAOz3D,GAC1B/Y,KAAKwzuB,cAAchjqB,OAAOz3D,GAC1B/Y,KAAKyzuB,cAAcjjqB,OAAOz3D,GAC1B/Y,KAAKuzuB,iBAAiB/iqB,OAAOz3D,GACtB/Y,IACT,EAOAqzuB,EAAYnzuB,UAAUynC,MAAQ,SAAUkgpB,GACtC,IAAI3+qB,EAAQlJ,KAEZ,GAAIA,KAAK01C,SAAWw9rB,GAAkBc,QAEpC,OAAOh0uB,KAOTA,KAAK4nrB,QAAQvskB,QAEb+kV,GAAkBpgc,KAAKs0uB,UAAWt0uB,MAClCA,KAAK8trB,aAAc,EACnB9trB,KAAK01C,OAASw9rB,GAAkBc,QAChC,IAAIoC,OAAiC73uB,IAAjBsprB,EAA6B7nrB,KAAK6nrB,aAAegqD,GAAQ7xuB,MAAM,WACjF,OAAO0wuB,GAAc7oD,GAAgB3+qB,EAAM0+qB,QAAQyuD,aAAaxuD,GAAgB3+qB,EAAM0+qB,QAAQyuD,aAAa1F,GAAMrmuB,KAAKu9qB,EAAc3+qB,EAAM0+qB,QAAQ12qB,SACpJ,IASA,OAPIlR,KAAKgb,QAAQs3tB,UACftyuB,KAAKs2uB,YAGPt2uB,KAAKi0uB,UAAU77H,YAAW,WACxBlvmB,EAAMpB,OAAOsuuB,EAAeh0kB,GAC9B,IACOpiK,IACT,EAEAqzuB,EAAYnzuB,UAAUy1uB,cAAgB,WAEpC31uB,KAAKwU,SAAStE,SAAQ,SAAU4G,GAC1BmC,GAAWnC,EAAMmlF,OACnBnlF,EAAMmlF,MAEV,IACAj8F,KAAKwU,SAASgpB,OAChB,EAEA61sB,EAAYnzuB,UAAUurK,MAAQ,WAC5B,IAAImsjB,EAAKl5tB,EAAI0quB,EAAK/7tB,EAAIgstB,EAAKhmqB,EAAIimqB,EAAKhmqB,EAAImmqB,EAAM1ue,EAE9C,IACE,IAAK,IAAIi3V,EAAKp9kB,GAAS5E,KAAK60jB,WAAYotB,EAAKD,EAAGh/kB,QAASi/kB,EAAG9+kB,KAAM8+kB,EAAKD,EAAGh/kB,OAAQ,CAChF,IAAI+V,EAAWkpkB,EAAGn/kB,MAClB9C,KAAK60jB,UAAUrkf,OAAOz3D,EACxB,CACF,CAAE,MAAOw9tB,GACP3e,EAAM,CACJ7ytB,MAAOwxuB,EAEX,CAAE,QACA,IACMt0J,IAAOA,EAAG9+kB,OAASzE,EAAKsjlB,EAAGjkkB,SAASrf,EAAGkC,KAAKohlB,EAClD,CAAE,QACA,GAAI41I,EAAK,MAAMA,EAAI7ytB,KACrB,CACF,CAEA,IACE,IAAK,IAAIm9kB,EAAKt9kB,GAAS5E,KAAKwzuB,eAAgB99C,EAAKxzG,EAAGl/kB,QAAS0yrB,EAAGvyrB,KAAMuyrB,EAAKxzG,EAAGl/kB,OAAQ,EAChF+V,EAAW28qB,EAAG5yrB,SAGlB9C,KAAKwzuB,cAAchjqB,OAAOz3D,EAC5B,CACF,CAAE,MAAOywtB,GACPJ,EAAM,CACJrkuB,MAAOykuB,EAEX,CAAE,QACA,IACM9zC,IAAOA,EAAGvyrB,OAASkK,EAAK60kB,EAAGnkkB,SAAS1Q,EAAGzM,KAAKshlB,EAClD,CAAE,QACA,GAAIknJ,EAAK,MAAMA,EAAIrkuB,KACrB,CACF,CAEA,IACE,IAAK,IAAI6wrB,EAAKhxrB,GAAS5E,KAAKuzuB,kBAAmBz+C,EAAKc,EAAG5yrB,QAAS8xrB,EAAG3xrB,KAAM2xrB,EAAKc,EAAG5yrB,OAAQ,CACnF+V,EAAW+7qB,EAAGhyrB,MAClB9C,KAAKuzuB,iBAAiB/iqB,OAAOz3D,EAC/B,CACF,CAAE,MAAOy9tB,GACPnd,EAAM,CACJt0tB,MAAOyxuB,EAEX,CAAE,QACA,IACM1hD,IAAOA,EAAG3xrB,OAASkwD,EAAKuioB,EAAG73qB,SAASs1C,EAAGzyD,KAAKg1rB,EAClD,CAAE,QACA,GAAIyjC,EAAK,MAAMA,EAAIt0tB,KACrB,CACF,CAEA,IACE,IAAK,IAAIgwrB,EAAKnwrB,GAAS5E,KAAKyzuB,eAAgBgD,EAAK1hD,EAAG/xrB,QAASyzuB,EAAGtzuB,KAAMszuB,EAAK1hD,EAAG/xrB,OAAQ,CAChF+V,EAAW09tB,EAAG3zuB,MAClB9C,KAAKyzuB,cAAcjjqB,OAAOz3D,EAC5B,CACF,CAAE,MAAO29tB,GACPpd,EAAM,CACJv0tB,MAAO2xuB,EAEX,CAAE,QACA,IACMD,IAAOA,EAAGtzuB,OAASmwD,EAAKyhoB,EAAGh3qB,SAASu1C,EAAG1yD,KAAKm0rB,EAClD,CAAE,QACA,GAAIukC,EAAK,MAAMA,EAAIv0tB,KACrB,CACF,CAEA,IAAK/E,KAAK8trB,YAER,OAAO9trB,KAGTA,KAAK8trB,aAAc,EACnB9trB,KAAK01C,OAASw9rB,GAAkBa,QAChC/zuB,KAAKq1uB,mBAAgB92uB,EAErB,IAGE,IAAK,IAAIkorB,EAAK7hrB,GAASpF,OAAOgR,KAAKxQ,KAAKszuB,mBAAoBqD,EAAKlwD,EAAGzjrB,QAAS2zuB,EAAGxzuB,KAAMwzuB,EAAKlwD,EAAGzjrB,OAAQ,CACpG,IAAI1B,EAAMq1uB,EAAG7zuB,MACb9C,KAAKm1uB,MAAM53sB,aAAav9B,KAAKszuB,iBAAiBhyuB,GAChD,CACF,CAAE,MAAOs1uB,GACPnd,EAAO,CACL10tB,MAAO6xuB,EAEX,CAAE,QACA,IACMD,IAAOA,EAAGxzuB,OAAS4nP,EAAK07b,EAAG1oqB,SAASgtO,EAAGnqP,KAAK6lrB,EAClD,CAAE,QACA,GAAIgzC,EAAM,MAAMA,EAAK10tB,KACvB,CACF,CAGA/E,KAAKi0uB,UAAUz2sB,QACfx9B,KAAKi0uB,UAAY,IAAIzC,GAAU,CAC7BD,YAAavxuB,KAAKgb,QAAQu2tB,aAE9B,EAQA8B,EAAYnzuB,UAAU+7F,KAAO,WAE3B,IAAI/yF,EAAQlJ,KAGRi0uB,EAAYj0uB,KAAKi0uB,UAsDrB,OApDAj0uB,KAAKyrK,QAGLwokB,EAAUvC,UAAS,WAEjB,IAAIlJ,EAASwB,GAAa,CACxBxytB,KAAM,gBAGJnG,EAAYwguB,GAAQ3ouB,GAAO,WAC7B,IAAI2tuB,EAAc1O,GAAQnrF,GAAc,GAAIn4oB,GAAOqE,EAAMkB,MAAM+xrB,gBAAgB,GAAO1mqB,MAAK,SAAUtwB,EAAG5F,GACtG,OAAOA,EAAEqmB,MAAQzgB,EAAEygB,KACrB,IAAG/mB,KAAI,SAAU8jnB,GACf,OAAOwqH,GAAgBxqH,EAAUq0C,OAAQ9tpB,EAAM0+qB,QAAQ5sqB,QAAQu8b,QACjE,KAEI74c,EAAKmG,GAAO+ouB,GAAe1kuB,EAAM0+qB,QAAS1+qB,EAAMkB,MAAOlB,EAAMkB,MAAM8G,QAASs3tB,EAAQ,CAAC,CACvFhxtB,KAAM,OACN+/b,QAASs/R,IACP3tuB,EAAM0+qB,QAAQz3oB,OAAOoksB,2BAA6BrruB,EAAMsruB,WAAQj2uB,EAAW2K,EAAM0+qB,QAAQz3oB,OAAOoksB,4BAA8BrruB,EAAM0+qB,QAAQz3oB,OAAO69rB,qBAAsB,GACzKsC,EAAkB5xuB,EAAG,GACrBwquB,EAAiBxquB,EAAG,GAEpBskR,EAAW,IAAI2td,GAAM,CACvB7tuB,MAAOoG,EAAMkB,MAAMtH,MACnBoO,QAASg4tB,EACTV,OAAQA,EACRqI,WAAY3nuB,EAAMoruB,UAClBxD,kBAAcvyuB,EACd8opB,QAASn+oB,EAAMkB,MACfmtc,QAAS+4R,EAAgBt9tB,QAAO,SAAU6X,GACxC,OAAQogtB,GAAiBpgtB,EAC3B,IACA+ltB,WAAY,CAAC,EACbhrqB,OAAQ,GACRu2nB,cAAe,GACfhoqB,YAAa,GACb3f,SAAU,CAAC,EACXrR,KAAM+F,EAAMkB,MAAMjH,KAClBiY,KAAMlS,EAAMkB,MAAMgR,KAClBwsqB,QAAS1+qB,EAAM0+qB,UAGjB,OADA5ka,EAAS7yK,SAAU,EACZ6yK,CACT,IAEA95Q,EAAMpB,OAAOuJ,EAAWm3tB,GAExBt/tB,EAAMysuB,gBAENv1S,GAAcl3b,EAAMoruB,UACtB,IACOt0uB,IACT,EAEAqzuB,EAAYnzuB,UAAUi/gB,MAAQ,SAAUv5c,GACtC,IAAI18D,EAAQlJ,KAEZ,GAAIA,KAAK01C,SAAWw9rB,GAAkBU,YAAc5zuB,KAAKgb,QAAQu2tB,YAE1DzK,IACHrnrB,IAAK,EAAO,GAAG1gD,OAAO6mE,EAAOjlE,OAAQ,kDAAmD5B,OAAOiB,KAAK4nrB,QAAQvzqB,GAAI,+EAAgFtV,OAAOwvB,KAAKhP,UAAUghB,cAEnN,GAAIvgC,KAAK01C,SAAWw9rB,GAAkBc,QAC3C,MAAM,IAAIrruB,MACV,GAAG5J,OAAO6mE,EAAOjlE,OAAQ,kDAAmD5B,OAAOiB,KAAK4nrB,QAAQvzqB,GAAI,2GAGtG,GAAKuxD,EAAOjlE,OAAZ,CAIA,IAAIghB,IAAS3hB,KAAK4nrB,QAAQz3oB,OAAOoksB,4BAA8Bv0uB,KAAKw0uB,MACpEx0uB,KAAKi0uB,UAAUvC,UAAS,WACtB,IAAI3X,EAAMr7tB,EAEN2S,EAAYnI,EAAMkB,MAClB0suB,GAAe,EACfC,EAAiB,GAEjBC,EAAU,SAAUhE,GACtB,IAAIxK,EAASwB,GAAagJ,GAE1B9puB,EAAMgruB,QAAQ1L,GAEdn3tB,EAAYwguB,GAAQ3ouB,GAAO,WACzB,OAAOA,EAAM0+qB,QAAQtspB,WAAWjqB,EAAWm3tB,OAAQjquB,EAAWojB,QAAQpjB,EACxE,IACAw4uB,EAAezyuB,KAAKzD,MAAMk2uB,EAAgB/5F,GAAc,GAAIn4oB,GAAOqE,EAAM0+qB,QAAQz3oB,OAAOoksB,2BAA6BljuB,EAAUkmc,QAAUlmc,EAAUkmc,QAAQ14c,KAAI,SAAUsG,GACvK,OPz1BV,SAA2B0lB,EAAQzgB,GACjC,IAAIuX,EAAOkJ,EAAOlJ,KAYlB,OAVkBvhB,GAASA,GAAS,CAAC,EAAGyqB,GAAS,CAC/ClJ,UAAepjB,IAATojB,EAAqB,WACzB,OAAOA,EAAKvX,EAAM8G,QAAS9G,EAAMm2B,MAAO,CACtC1V,OAAQA,EACRzgB,MAAOA,EACPo+tB,OAAQp+tB,EAAMo+tB,QAElB,OAAIjquB,GAIR,CO20BiB04uB,CAAkB9xuB,EAAGkM,EAC9B,MAAK,IACLyluB,EAAeA,KAAkBzluB,EAAU8+F,OAC7C,EAEA,IACE,IAAK,IAAI+moB,EAAWtyuB,GAASghE,GAASuxqB,EAAaD,EAASl0uB,QAASm0uB,EAAWh0uB,KAAMg0uB,EAAaD,EAASl0uB,OAAQ,CAGlHg0uB,EAFcG,EAAWr0uB,MAG3B,CACF,CAAE,MAAOs0uB,GACPrd,EAAO,CACLh1tB,MAAOqyuB,EAEX,CAAE,QACA,IACMD,IAAeA,EAAWh0uB,OAASzE,EAAKw4uB,EAASn5tB,SAASrf,EAAGkC,KAAKs2uB,EACxE,CAAE,QACA,GAAInd,EAAM,MAAMA,EAAKh1tB,KACvB,CACF,CAEAsM,EAAU8+F,QAAU2moB,EACpBzluB,EAAUkmc,QAAUw/R,EAEpB7tuB,EAAMpB,OAAOuJ,EAAW24tB,GAAapkqB,EAAOA,EAAOjlE,OAAS,IAC9D,GA9CA,CA+CF,EAQA0yuB,EAAYnzuB,UAAUm3uB,OAAS,SAAU92sB,GACvC,OAAOvgC,KAAKs3C,KAAK9T,KAAKxjC,KAAMugC,EAC9B,EAEA8ysB,EAAYnzuB,UAAU4R,WAAa,SAAUyuB,EAAO5e,GAClD,IAAIzY,EAAQlJ,UAEC,IAAT2hB,IACFA,IAAS3hB,KAAK4nrB,QAAQz3oB,OAAOoksB,4BAA8Bv0uB,KAAKw0uB,OAGlE,IAAIhM,EAASwB,GAAazpsB,GAE1B,GAA2C,IAAvCiosB,EAAOzhuB,KAAK/F,QAAQ2luB,MAAyB3muB,KAAKoK,MAAM6muB,WAAWvguB,MAAK,SAAU6ilB,GACpF,OAA4C,IAArCA,EAAUvylB,QAAQ2luB,GAC3B,IACE,MAAM6B,EAAOzguB,KAAKA,KAMpB,OAHgB8puB,GAAQ7xuB,MAAM,WAC5B,OAAOkJ,EAAM0+qB,QAAQtspB,WAAWpyB,EAAMkB,MAAOo+tB,OAAQjquB,EAAWojB,QAAQpjB,EAC1E,GAEF,EAUA80uB,EAAYnzuB,UAAUmR,UAAY,SAAUkvB,GAC1C,OAAOvgC,KAAK8R,WAAWyuB,GAAO,EAChC,EAEA8ysB,EAAYnzuB,UAAUg0uB,QAAU,SAAU3zsB,GACxC,IAAI+2sB,EAAM54uB,EAEV,IACE,IAAK,IAAI2O,EAAKzI,GAAS5E,KAAK6zuB,WAAYxgrB,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CAChF,IAAIqR,EAAKg/C,EAAGvwD,MACRgU,EAAQ9W,KAAKwU,SAAS5N,IAAIyN,GAE9B,IAAKyC,EACH,MAAM,IAAInO,MAAM,4BAA4B5J,OAAOwhC,EAAO,wBAAwBxhC,OAAOiB,KAAKqU,GAAI,4BAA4BtV,OAAOsV,EAAI,OAG3IyC,EAAMwgC,KAAK/W,EACb,CACF,CAAE,MAAOg3sB,GACPD,EAAO,CACLvyuB,MAAOwyuB,EAEX,CAAE,QACA,IACMlkrB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAIiquB,EAAM,MAAMA,EAAKvyuB,KACvB,CACF,CACF,EAEAsuuB,EAAYnzuB,UAAUy0uB,MAAQ,SAAU5F,GACtC,IAAI7luB,EAAQlJ,KAERszH,EAAUtzH,KAAKm1uB,MAAM37tB,YAAW,WAC9B,OAAQu1tB,GAAcA,EAAWlppB,GACnC38E,EAAMiruB,OAAOpF,EAAWvG,OAAQuG,EAAWlppB,IAAI,GAE/C38E,EAAMouC,KAAKy3rB,EAAWvG,OAE1B,GAAGuG,EAAW57sB,OAEV47sB,EAAW16tB,KACbrU,KAAKszuB,iBAAiBvE,EAAW16tB,IAAMi/G,EAE3C,EAEA+/mB,EAAYnzuB,UAAUg3C,OAAS,SAAU09rB,GACvC50uB,KAAKm1uB,MAAM53sB,aAAav9B,KAAKszuB,iBAAiBsB,WACvC50uB,KAAKszuB,iBAAiBsB,EAC/B,EAEAvB,EAAYnzuB,UAAUyhB,KAAO,SAAUkJ,EAAQzgB,EAAO4iuB,QAC1B,IAAtBA,IACFA,EAAoBhtuB,KAAK4nrB,QAAQ5sqB,QAAQu8b,SAG3Cv3c,KAAKw0uB,MAAM3ptB,EAAQzgB,EAAM8G,QAAS9G,EAAMo+tB,OAAQwE,EAClD,EAEAqG,EAAYnzuB,UAAU6W,YAAc,SAAUyguB,GAC5C,IAAI94uB,EAEJsB,KAAKwU,SAASg8D,OAAOgnqB,GACrBx3uB,KAAK6zuB,UAAUrjqB,OAAOgnqB,GAGA,QAArB94uB,EAAKsB,KAAKoK,aAA0B,IAAP1L,UAA8BA,EAAG8V,SAASgjuB,EAC1E,EAEAnE,EAAYnzuB,UAAUg1uB,UAAY,SAAUsC,GAC1C,IAAI1guB,EAAQ9W,KAAKwU,SAAS5N,IAAI4wuB,GAEzB1guB,IAIL9W,KAAK+W,YAAYyguB,GAEbv+tB,GAAWnC,EAAMmlF,OACnBnlF,EAAMmlF,OAEV,EAEAo3oB,EAAYnzuB,UAAU80uB,MAAQ,SAAUl5Z,EAAQ/0U,EAAMiU,GACpD,GAAIhb,KAAK01C,SAAWw9rB,GAAkBc,QACpC,OAAOjC,GAAoBj2Z,EAAQ/0U,GAGrC,GAAI4huB,GAAc7sZ,GAChB,OAAO97U,KAAKy3uB,aAAa/0uB,QAAQC,QAAQm5U,GAAS/0U,GAC7C,GAAIkS,GAAW6iU,GACpB,OAAO97U,KAAK03uB,cAAc57Z,EAAQ/0U,GAC7B,GJ99BX,SAAiBqS,GACf,IACE,MAA4B,oBAAdA,EAAKk+B,IACrB,CAAE,MAAOv2C,IACP,OAAO,CACT,CACF,CAES42uB,CADev+tB,EIu9BM0iU,IJt9BJ,OAAQ1iU,EIu9B5B,OAAOpZ,KAAK43uB,WAAW97Z,EAAQ/0U,GAC1B,GZxjBX,SAAsBjE,GACpB,IACE,MAAO,cAAeA,GAASmW,GAAWnW,EAAMs0C,UAClD,CAAE,MAAOr2C,IACP,OAAO,CACT,CACF,CYkjBei9oB,CAAaliU,GACtB,OAAO97U,KAAK63uB,gBAAgB/7Z,EAAQ/0U,GAC/B,GAAI6iuB,GAAU9tZ,GACnB,OAAO97U,KAAK83uB,aAAah8Z,EAAQ17U,GAASA,GAAS,CAAC,EAAG4a,GAAU,CAC/D3G,GAAItN,KAED,GZztBQ,QADCjE,EY0tBMg5U,IZztBkB,kBAAVh5U,GAAsB,eAAgBA,GAAqC,oBAArBA,EAAMw4B,WY0tBxF,OAAOt7B,KAAKyyuB,cAAc32Z,EAAQ/0U,GAElC,MAAM,IAAI4B,MAAM,2BAA4B5J,OAAOgI,EAAM,eAAiBhI,cAAc+8U,EAAQ,OZ7tBtG,IAAoBh5U,EQrQIsW,CIo+BtB,EAEAi6tB,EAAYnzuB,UAAU43uB,aAAe,SAAUlwD,EAAS5sqB,GACtD,IAAI9R,EAAQlJ,UAEI,IAAZgb,IACFA,EAAU,CAAC,GAGb,IAAI+8tB,EAAe,IAAI1E,EAAYzrD,EAASxnrB,GAASA,GAAS,CAAC,EAAGJ,KAAKgb,SAAU,CAC/E8C,OAAQ9d,KACRqU,GAAI2G,EAAQ3G,IAAMuzqB,EAAQvzqB,MAGxBsxK,EAAkBvlL,GAASA,GAAS,CAAC,EAAG+yuB,IAAwBn4tB,GAEhE2qK,EAAgBsuZ,MAClB8jK,EAAanC,cAAa,SAAUxruB,GAClClB,EAAMouC,KAAKxvC,GAAQ,CACjBsC,MAAOA,EACPiK,GAAI0juB,EAAa1juB,IAErB,IAGF,IAAIqzqB,EAAQqwD,EAcZ,OAbA/3uB,KAAKwU,SAAS1N,IAAIixuB,EAAa1juB,GAAIqzqB,GAE/B/hgB,EAAgBytjB,aAClBpzuB,KAAK6zuB,UAAU//tB,IAAIikuB,EAAa1juB,IAGlC0juB,EAAa/B,QAAO,SAAUgC,GAC5B9uuB,EAAM6N,YAAYghuB,EAAa1juB,IAE/BnL,EAAMouC,KAAK0yrB,GAAagO,EAAW,CACjChxJ,OAAQ+wJ,EAAa1juB,KAEzB,IAAGszB,QACI+/oB,CACT,EAEA2rD,EAAYnzuB,UAAUuyuB,cAAgB,SAAUC,EAAUr+tB,GACxD,IAAI+ooB,EAAWq1F,GAAcC,EAAU,CACrCr+tB,GAAIA,EACJyJ,OAAQ9d,OAGV,OADAA,KAAKwU,SAAS1N,IAAIuN,EAAI+ooB,GACfA,CACT,EAEAi2F,EAAYnzuB,UAAUu3uB,aAAe,SAAUj/rB,EAASnkC,GACtD,IAAI3V,EAKAyvH,EAHAjlH,EAAQlJ,KAERysQ,GAAW,EAEfj0N,EAAQp1C,MAAK,SAAUoyC,GAChBi3N,IACHt+I,EAAe34E,EAEftsC,EAAM6N,YAAY1C,GAElBnL,EAAMouC,KAAK0yrB,GAAa2D,GAAWt5tB,EAAImhC,GAAW,CAChDwxiB,OAAQ3ykB,KAGd,IAAG,SAAU4juB,GACX,IAAKxre,EAAU,CACbvjQ,EAAM6N,YAAY1C,GAElB,IAAI6juB,EAAanzuB,GAAMsP,EAAI4juB,GAE3B,IAEE/uuB,EAAMouC,KAAK0yrB,GAAakO,EAAY,CAClClxJ,OAAQ3ykB,IAEZ,CAAE,MAAOtP,IZxkBjB,SAA8CozuB,EAAeh2O,EAAc9tf,GACzE,IAAKyytB,GAAe,CAClB,IAAIsR,EAAqBD,EAAcj9rB,MAAQ,oBAAoBn8C,OAAOo5uB,EAAcj9rB,MAAO,KAAO,GAEtG,GAAIi9rB,IAAkBh2O,EAEpB3id,QAAQz6C,MAAM,2CAA2ChG,OAAOsV,EAAI,kBAAkBtV,OAAOo5uB,EAAe,MAAMp5uB,OAAOq5uB,QACpH,CACL,IAAIC,EAAal2O,EAAajnd,MAAQ,oBAAoBn8C,OAAOojgB,EAAajnd,MAAO,KAAO,GAE5FsE,QAAQz6C,MAAM,wFAAwFhG,OAAOsV,EAAI,OAAS,oBAAoBtV,OAAOo5uB,EAAe,OAAOp5uB,OAAOq5uB,EAAoB,uBAAuBr5uB,OAAOojgB,EAAc,MAAMpjgB,OAAOs5uB,GACjQ,CACF,CACF,CY4jBUC,CAAqCL,EAAWlzuB,EAAOsP,GAEnDnL,EAAMopuB,UACRppuB,EAAMopuB,SAASh7rB,KAAK4gsB,EAAYhvuB,EAAMkB,OAGpClB,EAAM0+qB,QAAQ5xjB,QAKhB9sH,EAAM+yF,MAEV,CACF,CACF,IACA,IAAIyrlB,IAAShprB,EAAK,CAChB2V,GAAIA,EACJijC,KAAM,WAEN,EACAF,UAAW,SAAUp0C,EAAMs3I,EAAa15C,GACtC,IAAIyxE,EAAWs4jB,GAAW3nuB,EAAMs3I,EAAa15C,GACzC23oB,GAAe,EAoBnB,OAnBA//rB,EAAQp1C,MAAK,SAAUoyC,GACjB+isB,IAIJlmkB,EAASrvK,KAAKwyC,GAEV+isB,GAIJlmkB,EAASzxE,WACX,IAAG,SAAUhrD,GACP2isB,GAIJlmkB,EAASttK,MAAM6wC,EACjB,IACO,CACLpB,YAAa,WACX,OAAO+jsB,GAAe,CACxB,EAEJ,EACAt8oB,KAAM,WACJwwK,GAAW,CACb,EACA5xN,OAAQ,WACN,MAAO,CACLxmC,GAAIA,EAER,EACA4pnB,YAAa,WACX,OAAO9vgB,CACT,IACIw7mB,IAAoB,WACxB,OAAO3puB,IACT,EAAGtB,GAEH,OADAsB,KAAKwU,SAAS1N,IAAIuN,EAAIqzqB,GACfA,CACT,EAEA2rD,EAAYnzuB,UAAUw3uB,cAAgB,SAAUvnuB,EAAUkE,GACxD,IAAI3V,EAOA4+oB,EAiBAk7F,EAtBAtvuB,EAAQlJ,KAERysQ,GAAW,EACXgse,EAAY,IAAI7+tB,IAChBi7iB,EAAY,IAAIj7iB,IAoBpB,IACE4+tB,EAAerouB,GAlBH,SAAUpP,GACtBu8oB,EAAUv8oB,EACV8zjB,EAAU3kjB,SAAQ,SAAU6I,GAC1B,OAAOA,EAAShY,EAClB,IAEI0rQ,GAIJvjQ,EAAMouC,KAAK0yrB,GAAajpuB,EAAG,CACzBimlB,OAAQ3ykB,IAEZ,IAKmC,SAAU8/iB,GACzCskL,EAAU3kuB,IAAIqgjB,EAChB,GACF,CAAE,MAAOv+gB,GACP51C,KAAKs3C,KAAKvyC,GAAMsP,EAAIuhC,GACtB,CAEA,GAAI+yrB,GAAc6P,GAGhB,OAAOx4uB,KAAKy3uB,aAAae,EAAcnkuB,GAGzC,IAAIqzqB,IAAShprB,EAAK,CAChB2V,GAAIA,EACJijC,KAAM,SAAU/W,GACd,OAAOk4sB,EAAUvouB,SAAQ,SAAUzJ,GACjC,OAAOA,EAAS85B,EAClB,GACF,EACA6W,UAAW,SAAUp0C,GACnB,IAAIqvK,EAAWs4jB,GAAW3nuB,GAE1B,OADA6xjB,EAAU/gjB,IAAIu+J,EAASrvK,MAChB,CACLwxC,YAAa,WACXqghB,EAAUrkf,OAAO6hG,EAASrvK,KAC5B,EAEJ,EACAi5F,KAAM,WACJwwK,GAAW,EAEPxzP,GAAWu/tB,IACbA,GAEJ,EACA39rB,OAAQ,WACN,MAAO,CACLxmC,GAAIA,EAER,EACA4pnB,YAAa,WACX,OAAOqf,CACT,IACIqsF,IAAoB,WACxB,OAAO3puB,IACT,EAAGtB,GAEH,OADAsB,KAAKwU,SAAS1N,IAAIuN,EAAIqzqB,GACfA,CACT,EAEA2rD,EAAYnzuB,UAAU23uB,gBAAkB,SAAUxlsB,EAAQh+B,GACxD,IAAI3V,EAIA4+oB,EAFAp0oB,EAAQlJ,KAGRo+oB,EAAe/rmB,EAAO+E,WAAU,SAAUt0C,GAC5Cw6oB,EAAUx6oB,EAEVoG,EAAMouC,KAAK0yrB,GAAalnuB,EAAO,CAC7BkklB,OAAQ3ykB,IAEZ,IAAG,SAAUuhC,GACX1sC,EAAM6N,YAAY1C,GAElBnL,EAAMouC,KAAK0yrB,GAAajluB,GAAMsP,EAAIuhC,GAAM,CACtCoxiB,OAAQ3ykB,IAEZ,IAAG,WACDnL,EAAM6N,YAAY1C,GAElBnL,EAAMouC,KAAK0yrB,GAAa2D,GAAWt5tB,GAAK,CACtC2ykB,OAAQ3ykB,IAEZ,IACIqzqB,IAAShprB,EAAK,CAChB2V,GAAIA,EACJijC,KAAM,WAEN,EACAF,UAAW,SAAUp0C,EAAMs3I,EAAa15C,GACtC,OAAOvuD,EAAO+E,UAAUp0C,EAAMs3I,EAAa15C,EAC7C,EACA3E,KAAM,WACJ,OAAOmijB,EAAa5pmB,aACtB,EACAyplB,YAAa,WACX,OAAOqf,CACT,EACAzimB,OAAQ,WACN,MAAO,CACLxmC,GAAIA,EAER,IACIs1tB,IAAoB,WACxB,OAAO3puB,IACT,EAAGtB,GAEH,OADAsB,KAAKwU,SAAS1N,IAAIuN,EAAIqzqB,GACfA,CACT,EAEA2rD,EAAYnzuB,UAAU03uB,WAAa,SAAUlwD,EAAO3grB,GAElD,OADA/G,KAAKwU,SAAS1N,IAAIC,EAAM2grB,GACjBA,CACT,EAEA2rD,EAAYnzuB,UAAU+0uB,cAAgB,SAAUxH,GAC9C,IAAIpyG,EAAiBr7nB,KAAK4nrB,QAAQ5sqB,SAAWhb,KAAK4nrB,QAAQ5sqB,QAAQ41tB,WAAa5wuB,KAAK4nrB,QAAQ5sqB,QAAQ41tB,WAAWnD,EAASj2tB,WAAQjZ,EAEhI,GAAK88nB,EAAL,CAUA,IAAIjpnB,EAAUipnB,EAAer7nB,KAAKoK,MAAM8G,QAASu8tB,GACjDztuB,KAAK04uB,YAAYjL,EAASp5tB,GAAIjC,EAJ9B,MANO00tB,IACHrnrB,IAAK,EAAO,yCAAyC1gD,OAAO0uuB,EAASj2tB,KAAM,KAUjF,EAEA67tB,EAAYnzuB,UAAUw4uB,YAAc,SAAUrkuB,EAAIjC,GAChD,IAAI1T,EAEJsB,KAAKwU,SAAS1N,IAAIuN,IAAK3V,EAAK,CAC1B2V,GAAIA,EACJijC,KAAM,WAEN,EACAF,UAAW,WACT,MAAO,CACL5C,YAAa,WAEb,EAEJ,EACAynD,KAAM7pF,QAAW7T,EACjB0/nB,YAAa,WAEb,EACApjlB,OAAQ,WACN,MAAO,CACLxmC,GAAIA,EAER,IACIs1tB,IAAoB,WACxB,OAAO3puB,IACT,EAAGtB,GACL,EAEA20uB,EAAYnzuB,UAAUo2uB,UAAY,WAChC,IAAI3orB,EAASykrB,KAEb,GAAIpyuB,KAAKgb,QAAQs3tB,UAAY3krB,EAAQ,CACnC,GAAIA,EAAOgrrB,6BAA8B,CACvC,IAAIC,EAAmD,kBAA1B54uB,KAAKgb,QAAQs3tB,SAAwBtyuB,KAAKgb,QAAQs3tB,cAAW/zuB,EAC1FyB,KAAKsyuB,SAAW3krB,EAAOgrrB,6BAA6BE,QAAQz4uB,GAASA,GAAS,CAC5E2G,KAAM/G,KAAKqU,GACXykuB,WAAW,EACXC,eAAgB,SAAU3uuB,GACxB,MAAO,CACLtH,MAAOsH,EAAMtH,MACboO,QAAS9G,EAAM8G,QACfqmc,QAASntc,EAAMmtc,QAEnB,GACCqhS,GAAkB,CACnBI,SAAU54uB,GAAS,CACjB64uB,MAAM,EACNzipB,MAAM,GACLoipB,EAAkBA,EAAgBI,cAAWz6uB,KAC9CyB,KAAK4nrB,SACT5nrB,KAAKsyuB,SAAS/4qB,KAAKv5D,KAAKoK,MAC1B,CAGAiouB,GAAgBryuB,KAClB,CACF,EAEAqzuB,EAAYnzuB,UAAU26C,OAAS,WAC7B,MAAO,CACLxmC,GAAIrU,KAAKqU,GAEb,EAEAg/tB,EAAYnzuB,UAAUypuB,IAAoB,WACxC,OAAO3puB,IACT,EAEAqzuB,EAAYnzuB,UAAU+9nB,YAAc,WAClC,OAAIj+nB,KAAK01C,SAAWw9rB,GAAkBU,WAC7B5zuB,KAAK6nrB,aAGP7nrB,KAAKojI,MACd,EASAiwmB,EAAYp8nB,eAAiB,CAC3B/5C,SAAS,EACTq0qB,aAAa,EACb4D,MAAO,CACL37tB,WAAY,SAAF0/tB,GAAA,SAAA1/tB,EAAAypoB,EAAAk2F,GAAA,OAAAD,EAAAr4uB,MAAA,KAAAH,UAAA,QAAA8Y,EAAAhK,SAAA,kBAAA0puB,EAAA1puB,UAAA,EAAAgK,CAAA,CAAE,WAAU0J,EAAI+8G,GACxB,OAAOzmH,WAAW0J,EAAI+8G,EACxB,IACA1iG,aAAc,SAAF67sB,GAAA,SAAA77sB,EAAA87sB,GAAA,OAAAD,EAAAv4uB,MAAA,KAAAH,UAAA,QAAA68B,EAAA/tB,SAAA,kBAAA4puB,EAAA5puB,UAAA,EAAA+tB,CAAA,CAAE,WAAUlpB,GACtB,OAAOkpB,aAAalpB,EACtB,KAEF0iH,OAAqBv3E,QAAQw3E,IAAIxzF,KAAKgc,SACtC8yrB,UAAU,GAEZe,EAAYiG,UAAYA,GACjBjG,CACT,CA/5CA,GAi6CIkG,GAAsB,SAAUC,GAClC,OAAI38rB,GAAS28rB,GACJp5uB,GAASA,GAAS,CAAC,EAAG+yuB,IAAwB,CACnDpsuB,KAAMyyuB,IAIHp5uB,GAASA,GAASA,GAAS,CAAC,EAAG+yuB,IAAwB,CAC5DpsuB,KAAM8iuB,OACJ2P,EACN,EAEA,SAASxE,GAAMl5Z,EAAQ09Z,GACrB,IAAI7zjB,EAAkB4zjB,GAAoBC,GAC1C,OAAO5kK,IAAQ,SAAU+yG,GACvB,IAAKm/C,GAAe,CAClB,IAAI2S,EAAe7P,GAAU9tZ,IAAW7iU,GAAW6iU,GACnDr8R,KAAOkooB,GAAW8xD,EAAc,qCAAsC16uB,OAAO6quB,GAAU9tZ,GAAUA,EAAOznU,GAAK,YAAa,sDAC5H,CAEA,OAAIszqB,EACKA,EAAQqtD,MAAMl5Z,EAAQn2J,EAAgB5+K,KAAM4+K,GAE5CosjB,GAAoBj2Z,EAAQn2J,EAAgB5+K,KAEvD,GACF,CAQA,SAASuyuB,GAAU1xD,EAAS5sqB,GAE1B,OADkB,IAAIq4tB,GAAYzrD,EAAS5sqB,EAE7C,CCn+Ce,SAAS0+tB,GAAYx2tB,GAChC,IAAIzL,EAAM4L,EAAAA,SAIV,OAHK5L,EAAImnB,UACLnnB,EAAImnB,QAAU,CAAE16B,EAAGgf,MAEhBzL,EAAImnB,QAAQ16B,CACvB,CCPA,IAAI9D,GAAsC,WAStC,OARAA,GAAWZ,OAAOa,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KACzDU,EAAEV,GAAKW,EAAEX,IAEjB,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EACII,GAAkC,SAAUP,EAAGQ,GAC/C,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,EACIuE,GAAkC,SAAUL,EAAG/D,GAC/C,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,EA0CO,SAAS60uB,GAAaC,GAEzB,IADA,IAAIl7uB,EAAK,GACAspB,EAAK,EAAGA,EAAKtnB,UAAUC,OAAQqnB,IACpCtpB,EAAGspB,EAAK,GAAKtnB,UAAUsnB,GAE3B,IAAI3a,EAAKxI,GAAOnG,EAAI,GAAI20D,EAAKhmD,EAAG,GAAI2N,OAAiB,IAAPq4C,EAAgB,CAAC,EAAIA,EAAIwmrB,EAAqBxsuB,EAAG,GAC3Fs6qB,EA3CD,SAA4BiyD,EAAY5+tB,GAC3C,IAAI4sqB,EAAU8xD,IAAY,WACtB,MAA6B,oBAAfE,EAA4BA,IAAeA,CAC7D,IASI1ouB,EAAU8J,EAAQ9J,QAAS2gE,EAAS72D,EAAQ62D,OAAQ0lY,EAAUv8b,EAAQu8b,QAASq5R,EAAa51tB,EAAQ41tB,WAAYmE,EAAW/5tB,EAAQ+5tB,SAAUjG,EAAS9ztB,EAAQ8ztB,OAAyCgL,GAAf9+tB,EAAQ5Q,MAA4BtJ,GAAOka,EAAS,CAAC,UAAW,SAAU,UAAW,aAAc,WAAY,SAAU,WACjT2sqB,EAAU+xD,IAAY,WACtB,IAAIK,EAAgB,CAChB7ouB,QAASA,EACT2gE,OAAQA,EACR0lY,QAASA,EACTq5R,WAAYA,EACZmE,SAAUA,EACVjG,OAAQA,GAGZ,OAAOwK,GADiB1xD,EAAQxupB,WAAW2gtB,GAAe,WAAc,OAAQ35uB,GAASA,GAAS,CAAC,EAAGwnrB,EAAQ12qB,SAAUA,EAAW,IAC/F4ouB,EACxC,IAWA,OAPAE,IAA0B,WACtBx6uB,OAAOa,OAAOsnrB,EAAQC,QAAQ5sqB,QAAQu8b,QAASA,GAC/C/3c,OAAOa,OAAOsnrB,EAAQC,QAAQ5sqB,QAAQ62D,OAAQA,GAC9CryE,OAAOa,OAAOsnrB,EAAQC,QAAQ5sqB,QAAQ41tB,WAAYA,GAClDpxuB,OAAOa,OAAOsnrB,EAAQC,QAAQ5sqB,QAAQ+5tB,SAAUA,GAChDv1uB,OAAOa,OAAOsnrB,EAAQC,QAAQ5sqB,QAAQ8ztB,OAAQA,EAClD,GAAG,CAACv3R,EAAS1lY,EAAQ++pB,EAAYmE,EAAUjG,IACpCnnD,CACX,CAOkBsyD,CAAmBL,EAAY5+tB,GAkB7C,OAjBA0knB,EAAAA,EAAAA,YAAU,WACN,GAAKm6G,EAAL,CAGA,IAAIjorB,EAAM+1nB,EAAQvwoB,UAAUuzrB,GAAWkP,IACvC,OAAO,WACHjorB,EAAIpd,aACR,CAJA,CAKJ,GAAG,CAACqlsB,KACJn6G,EAAAA,EAAAA,YAAU,WACN,IAAIw6G,EAAkBl/tB,EAAQ5Q,MAE9B,OADAu9qB,EAAQhgpB,MAAMuysB,EAAkBvJ,GAAMxwuB,OAAO+5uB,QAAmB37uB,GACzD,WACHoprB,EAAQ1rlB,OACR0rlB,EAAQjyoB,OAASw9rB,GAAkBU,UACvC,CACJ,GAAG,IACIjsD,CACX,CClGA,SAAS+iD,GAAe73qB,GACtB,GAAmB,kBAARA,EAAkB,CAC3B,IAAIsnrB,EAAY,CACd3iuB,KAAMq7C,EAGRsnrB,SAAqB,WACnB,OAAOtnrB,CACT,GAGA,OAAOsnrB,CACT,CAEA,OAAOtnrB,CACT,CACA,SAASunrB,GAAmBC,GAC1B,OAAOj6uB,GAASA,GAAS,CACvBoX,KAAMqpoB,IACLw5F,GAAe,CAChBx/rB,OAAQ,WACNw/rB,EAAarE,OACTqE,EAAa92H,QACb,IAAI+2H,EAAYx5uB,GAAOu5uB,EAAc,CAAC,SAAU,YAEpD,OAAOj6uB,GAASA,GAAS,CAAC,EAAGk6uB,GAAY,CACvC9iuB,KAAMqpoB,GACNhulB,IAAK63qB,GAAe2P,EAAaxnrB,MAErC,GAEJ,CC1BA,IAAI0nrB,GAAa,GAEbC,GAAW,IACXC,GAAe,CAAC,EAEhBC,GAAY,SAAUtguB,GACxB,MALqB,MAKdA,EAAI,EACb,EAoBIuguB,GAIJ,WACE,SAASA,EAITxqsB,EAAQn1B,EAIRjJ,EACA6ouB,QACmB,IAAb7ouB,IACFA,EAAW,YAAao+B,EAASA,EAAOj/B,aAAU3S,GAGpD,IAEIG,EAFAwK,EAAQlJ,KAIZA,KAAKmwC,OAASA,EACdnwC,KAAK+R,SAAWA,EAKhB/R,KAAK4lB,OAAS,EACd5lB,KAAK66uB,cAAe,EACpB76uB,KAAK86uB,QAAU,CACbl1qB,YAAQrnE,EACR6gG,cAAe,IAAIjuB,IACnB4pqB,uBAAmBx8uB,EACnBsprB,kBAActprB,EACd4pE,QAAI5pE,EACJ41B,iBAAa51B,EACby8uB,WAAY,CAAC,EACbC,wBAAoB18uB,GAEtByB,KAAKk7uB,MAAQ,CAAC,EACdl7uB,KAAKob,KAAO,GACZpb,KAAKgb,QAAUxb,OAAOa,OA5DjB,CACLk3c,QAAS,CAAC,EACV1lY,OAAQ,CAAC,EACTkjqB,SAAU,CAAC,EACXnE,WAAY,CAAC,EACb9B,OAAQ,CAAC,GAuD4C9ztB,GACrDhb,KAAK8d,OAAwB,OAAf88tB,QAAsC,IAAfA,OAAwB,EAASA,EAAW98tB,OACjF9d,KAAKsB,IAAMtB,KAAKmwC,OAAO7uC,MAAuB,OAAfs5uB,QAAsC,IAAfA,OAAwB,EAASA,EAAWt5uB,MAAQtB,KAAKmwC,OAAO97B,IAAM,YAC5HrU,KAAK4nrB,QAAU5nrB,KAAK8d,OAAS9d,KAAK8d,OAAO8pqB,QAAU5nrB,KACnDA,KAAKk9B,KAAOl9B,KAAK8d,OAAS9d,KAAK8d,OAAOof,KAAKn+B,OAAOiB,KAAKsB,KAAO,GAC9DtB,KAAKwe,UAAYxe,KAAKmwC,OAAO3xB,YAAcxe,KAAK8d,OAAS9d,KAAK8d,OAAOU,UjBtFnD,KiBuFlBxe,KAAKqU,GAAKrU,KAAKmwC,OAAO97B,IAAM2ooB,GAAc,CAACh9oB,KAAK4nrB,QAAQtmrB,KAAMuD,GAAO7E,KAAKk9B,OAAO,GAAOztB,KAAKzP,KAAKwe,WAClGxe,KAAKo/C,QAAUp/C,KAAK8d,OAAS9d,KAAK8d,OAAOshC,QAAUp/C,KAAKmwC,OAAOiP,QAC/Dp/C,KAAKwX,KAAOxX,KAAKmwC,OAAO34B,OAASxX,KAAKmwC,OAAOgrsB,SAAW,WAAan7uB,KAAKmwC,OAAO24rB,QAAUtpuB,OAAOgR,KAAKxQ,KAAKmwC,OAAO24rB,QAAQnouB,OAAS,WAAaX,KAAKmwC,OAAOk3mB,QAAU,UAAY,UACnLrnpB,KAAK0/C,OAAS1/C,KAAK8d,OAAS9d,KAAK4nrB,QAAQlooB,OAAuC,QAA7BhhD,EAAKsB,KAAKmwC,OAAOuP,cAA2B,IAAPhhD,EAAgBA,EAAK,CAAC,EAC9GsB,KAAK86C,YAAc96C,KAAKmwC,OAAO2K,YAE1BgsrB,IACHrnrB,KAAO,aAAcz/C,KAAKmwC,QAAS,6EAA+EpxC,OAAOiB,KAAKmwC,OAAOgrsB,SAAW,kCAAoC,eAAep8uB,OAAOiB,KAAKwX,KAAM,MAAO,mCAAmCzY,OAAOiB,KAAKqU,GAAI,eAGjRrU,KAAK84G,QAAU94G,KAAKmwC,OAAO2oE,QAC3B94G,KAAK8ouB,OAAS9ouB,KAAKmwC,OAAO24rB,OAASnB,GAAU3nuB,KAAKmwC,OAAO24rB,QAAQ,SAAUsS,EAAa95uB,GACtF,IAAI5C,EAEAiknB,EAAY,IAAIg4H,EAAUS,EAAa,CAAC,OAAG78uB,EAAW,CACxDuf,OAAQ5U,EACR5H,IAAKA,IAGP,OADA9B,OAAOa,OAAO6I,EAAMgyuB,MAAO96uB,KAAU1B,EAAK,CAAC,GAAMiknB,EAAUtumB,IAAMsumB,EAAWjknB,GAAKiknB,EAAUu4H,QACpFv4H,CACT,IAAK83H,GAEL,IAAI70tB,EAAQ,GAEZ,SAASy1tB,EAAI14H,GACX,IAAIswF,EAAKv0sB,EAETiknB,EAAU/8lB,MAAQA,IAElB,IACE,IAAK,IAAIvY,EAAKzI,GAASumuB,GAAexoH,IAAatvjB,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CAE3Fq4uB,EADYhorB,EAAGvwD,MAEjB,CACF,CAAE,MAAOgluB,GACP70B,EAAM,CACJlusB,MAAO+iuB,EAEX,CAAE,QACA,IACMz0qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI4lsB,EAAK,MAAMA,EAAIlusB,KACrB,CACF,CACF,CAEAs2uB,CAAIr7uB,MAEJA,KAAKqnpB,SAAkC,IAAxBrnpB,KAAKmwC,OAAOk3mB,QAAmB,UAAYrnpB,KAAKmwC,OAAOk3mB,UAAW,EACjFrnpB,KAAKs7uB,aAAet7uB,KAAKmwC,OAAO+qD,UAAYl7F,KAAKmwC,OAAOg4B,KAAaxoE,MAAMkoB,QAAQ7nB,KAAKmwC,OAAOg4B,IAAMnoE,KAAKmwC,OAAOg4B,GAAGz3D,MAAK,SAAUhS,GAEjI,OADYA,EAAG6hC,QACEg6sB,EACnB,IAAKA,MAAcv6uB,KAAKmwC,OAAOg4B,IAC/BnoE,KAAKg2H,SAAWh2H,KAAKmwC,OAAO6lF,OAE5Bh2H,KAAKu7uB,QAAU3xnB,GAAQ5pH,KAAKmwC,OAAOk9E,OAASrtH,KAAKmwC,OAAOorsB,SAAS18uB,KAAI,SAAUgsB,GAC7E,OAAOoitB,GAAepitB,EACxB,IAEA7qB,KAAKg3pB,OAASptiB,GAAQ5pH,KAAKmwC,OAAO6sgB,MAAQh9iB,KAAKmwC,OAAO6mnB,QAAQn4pB,KAAI,SAAUgsB,GAC1E,OAAOoitB,GAAepitB,EACxB,IACA7qB,KAAKm6jB,KAAOn6jB,KAAKmwC,OAAOgqhB,KACxBn6jB,KAAKy1uB,SAAyB,UAAdz1uB,KAAKwX,KAAmBxX,KAAKmwC,OAAOpoC,UAAOxJ,EAC3DyB,KAAK6gpB,OAASj3hB,GAAQ5pH,KAAKmwC,OAAO0wmB,QAAQhipB,KAAI,SAAUw7uB,EAAc75uB,GACpE,IAAI9B,EAAI2O,EAER,GAAIu8tB,GAAUyQ,GAAe,CAC3B,IAAImB,EAAWzQ,GAAe7huB,EAAMmL,GAAI7T,GAExC,OADA0I,EAAM0+qB,QAAQ5sqB,QAAQ+5tB,SAAW30uB,KAAU1B,EAAK,CAAC,GAAM88uB,GAAYnB,EAAc37uB,GAAKwK,EAAM0+qB,QAAQ5sqB,QAAQ+5tB,UACrGqF,GAAmB,CACxBvnrB,IAAK2orB,EACLnnuB,GAAImnuB,GAER,CAAO,GAAI3+rB,GAASw9rB,EAAaxnrB,KAAM,CACjC2orB,EAAWnB,EAAahmuB,IAAM02tB,GAAe7huB,EAAMmL,GAAI7T,GAC3D,OAAO45uB,GAAmBh6uB,GAASA,GAAS,CAAC,EAAGi6uB,GAAe,CAC7DhmuB,GAAImnuB,EACJ3orB,IAAKwnrB,EAAaxnrB,MAEtB,CAAO,GAAI+2qB,GAAUyQ,EAAaxnrB,MAAQ55C,GAAWohuB,EAAaxnrB,KAAM,CAClE2orB,EAAWnB,EAAahmuB,IAAM02tB,GAAe7huB,EAAMmL,GAAI7T,GAE3D,OADA0I,EAAM0+qB,QAAQ5sqB,QAAQ+5tB,SAAW30uB,KAAUiN,EAAK,CAAC,GAAMmuuB,GAAYnB,EAAaxnrB,IAAKxlD,GAAKnE,EAAM0+qB,QAAQ5sqB,QAAQ+5tB,UACzGqF,GAAmBh6uB,GAASA,GAAS,CAC1CiU,GAAImnuB,GACHnB,GAAe,CAChBxnrB,IAAK2orB,IAET,CACE,IAAI3G,EAAewF,EAAaxnrB,IAChC,OAAOunrB,GAAmBh6uB,GAASA,GAAS,CAC1CiU,GAAI02tB,GAAe7huB,EAAMmL,GAAI7T,IAC5B65uB,GAAe,CAChBxnrB,IAAKgirB,IAGX,IACA70uB,KAAK4wuB,WAAahnnB,GAAQ5pH,KAAKmwC,OAAOygsB,YAAY7xuB,OAAOiB,KAAK6gpB,QAAQhipB,KAAI,SAAU4uuB,GAClF,OAAOJ,GAAqBI,EAC9B,IACAztuB,KAAKs7B,WAAat7B,KAAKs7B,WAAWkI,KAAKxjC,MACvCA,KAAKob,KAAOwuG,GAAQ5pH,KAAKmwC,OAAO/0B,KAKlC,CA42CA,OA12CAu/tB,EAAUz6uB,UAAUm7G,MAAQ,WACtBr7G,KAAK86uB,QAAQ3mtB,aAIjBk3sB,GAAiBrruB,MAAMkQ,SAAQ,SAAUyymB,GACvC,OAAOA,EAAUx6iB,EACnB,GACF,EASAwyqB,EAAUz6uB,UAAUk5B,WAAa,SAAUpe,EAAS9J,GAClD,IAAIxS,EAAKsB,KAAKgb,QACVu8b,EAAU74c,EAAG64c,QACbq5R,EAAalyuB,EAAGkyuB,WAChB/+pB,EAASnzE,EAAGmzE,OACZkjqB,EAAWr2uB,EAAGq2uB,SACdjG,EAASpwuB,EAAGowuB,OAChB,OAAO,IAAI6L,EAAU36uB,KAAKmwC,OAAQ,CAChCona,QAASn3c,GAASA,GAAS,CAAC,EAAGm3c,GAAUv8b,EAAQu8b,SACjDq5R,WAAYxwuB,GAASA,GAAS,CAAC,EAAGwwuB,GAAa51tB,EAAQ41tB,YACvD/+pB,OAAQzxE,GAASA,GAAS,CAAC,EAAGyxE,GAAS72D,EAAQ62D,QAC/CkjqB,SAAU30uB,GAASA,GAAS,CAAC,EAAG20uB,GAAW/5tB,EAAQ+5tB,UACnDjG,OAAQ1uuB,GAASA,GAAS,CAAC,EAAG0uuB,GAAS9ztB,EAAQ8ztB,SAClC,OAAZ59tB,QAAgC,IAAZA,EAAqBA,EAAUlR,KAAKkR,QAC7D,EAQAypuB,EAAUz6uB,UAAUgyuB,YAAc,SAAUhhuB,GAC1C,OAAO,IAAIypuB,EAAU36uB,KAAKmwC,OAAQnwC,KAAKgb,QAAS9J,EAClD,EAEA1R,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,UAAW,CACpD0G,IAAK,WACH,OAAOqS,GAAWjZ,KAAK+R,UAAY/R,KAAK+R,WAAa/R,KAAK+R,QAC5D,EACAlI,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,aAAc,CAIvD0G,IAAK,WACH,MAAO,CACLyN,GAAIrU,KAAKqU,GACT/S,IAAKtB,KAAKsB,IACV89C,QAASp/C,KAAKo/C,QACdluC,QAASlR,KAAKkR,QACdsG,KAAMxX,KAAKwX,KACXshG,QAAS94G,KAAK84G,QACduuiB,QAASrnpB,KAAKqnpB,QACdyhF,OAAQnB,GAAU3nuB,KAAK8ouB,QAAQ,SAAU1+tB,GACvC,OAAOA,EAAMyuB,UACf,IACAsvC,GAAInoE,KAAKmoE,GACTh0C,YAAan0B,KAAKm0B,YAClBk5F,MAAOrtH,KAAKu7uB,QACZv+L,KAAMh9iB,KAAKg3pB,OACX45E,WAAY5wuB,KAAK4wuB,YAAc,GAC/Bz2K,KAAMn6jB,KAAKm6jB,KACXv0iB,MAAO5lB,KAAK4lB,QAAU,EACtB7d,KAAM/H,KAAKy1uB,SACX50F,OAAQ7gpB,KAAK6gpB,OACb/lmB,YAAa96C,KAAK86C,YAClB1/B,KAAMpb,KAAKob,KAEf,EACAvR,YAAY,EACZ29C,cAAc,IAGhBmzrB,EAAUz6uB,UAAU26C,OAAS,WAC3B,OAAO76C,KAAK64B,UACd,EAEAr5B,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,KAAM,CAI/C0G,IAAK,WACH,GAAI5G,KAAK86uB,QAAQ3yqB,GACf,OAAOnoE,KAAK86uB,QAAQ3yqB,GAGtB,IAAIh0C,EAAcn0B,KAAKm0B,YACvB,OAAOn0B,KAAK86uB,QAAQ3yqB,GAAKh0C,EAAYzZ,QAAO,SAAU7b,EAAKy8B,GAGzD,OAFAz8B,EAAIy8B,EAAW8jM,WAAavgO,EAAIy8B,EAAW8jM,YAAc,GACzDvgO,EAAIy8B,EAAW8jM,WAAW96N,KAAKg3B,GACxBz8B,CACT,GAAG,CAAC,EACN,EACAgL,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,QAAS,CAClD0G,IAAK,WACH,OAAO5G,KAAK86uB,QAAQG,qBAAuBj7uB,KAAK86uB,QAAQG,mBAAqBj7uB,KAAKy7uB,wBAAyBz7uB,KAAK86uB,QAAQG,mBAC1H,EACApxuB,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,cAAe,CAIxD0G,IAAK,WACH,OAAO5G,KAAK86uB,QAAQ3mtB,cAAgBn0B,KAAK86uB,QAAQ3mtB,YAAcn0B,KAAK07uB,oBAAqB17uB,KAAK86uB,QAAQ3mtB,YACxG,EACAtqB,YAAY,EACZ29C,cAAc,IAGhBmzrB,EAAUz6uB,UAAUy7uB,cAAgB,SAAUtoqB,GAC5C,GAAIrzE,KAAK86uB,QAAQE,WAAW3nqB,GAC1B,OAAOrzE,KAAK86uB,QAAQE,WAAW3nqB,GAGjC,IAAIuoqB,EAAYvoqB,IAAcknqB,GAC1BS,EAAah7uB,KAAKm0B,YAAYnhB,QAAO,SAAUsoB,GACjD,IAAIugtB,EAAgBvgtB,EAAW8jM,YAAc/rJ,EAE7C,OAAOuoqB,EAAYC,EAAgBA,GAAiBvgtB,EAAW8jM,YAAco7gB,EAC/E,IAEA,OADAx6uB,KAAK86uB,QAAQE,WAAW3nqB,GAAa2nqB,EAC9BA,CACT,EAMAL,EAAUz6uB,UAAUu7uB,sBAAwB,WAC1C,IAAIvyuB,EAAQlJ,KAER87uB,EAAc97uB,KAAKmwC,OAAO66E,MAE9B,IAAK8wnB,EACH,MAAO,GAGT,IAAIC,EAAkB,SAAU5otB,EAAO3yB,GACrC,IACI4+N,EZjCV,SAAe48gB,EAAU3nuB,GACvB,IAAI4nuB,EAAW5nuB,EAAK,IAAItV,OAAOsV,GAAM,GACrC,MAAO,GAAGtV,OAAOsnuB,GAAAA,MAAmB,KAAKtnuB,OAAOi9uB,EAAU,KAAKj9uB,OAAOk9uB,EACxE,CY8BsBjxnB,CADD/xG,GAAWka,GAAS,GAAGp0B,OAAOmK,EAAMmL,GAAI,WAAWtV,OAAOyB,EAAG,KAAO2yB,EACnDjqB,EAAMmL,IAQtC,OANAnL,EAAMqyuB,QAAQj3uB,KAAKgzC,GAAK8nL,EAAW,CACjCjsM,MAAOA,KAGTjqB,EAAM8tpB,OAAO1ypB,KZ1GV,CACLkT,KAAM0kuB,GACNtH,OYwG2Bx1gB,IAElBA,CACT,EAEI67gB,EAAqBpztB,GAAQi0tB,GAAeA,EAAYj9uB,KAAI,SAAUy8B,EAAY96B,GACpF,IAAI4+N,EAAY28gB,EAAgBzgtB,EAAWnI,MAAO3yB,GAClD,OAAOJ,GAASA,GAAS,CAAC,EAAGk7B,GAAa,CACxCiF,MAAO6+L,GAEX,IAAK+ogB,GAAQ3ouB,OAAOgR,KAAKsruB,GAAaj9uB,KAAI,SAAUs0B,EAAO3yB,GACzD,IAAI27uB,EAAmBL,EAAY3otB,GAC/BiptB,EAAqBv/rB,GAASs/rB,GAAoB,CACpD96uB,OAAQ86uB,GACNA,EACAzN,EAAiB30tB,OAAOoZ,GAAkBA,GAARA,EAClCisM,EAAY28gB,EAAgBrN,EAAeluuB,GAC/C,OAAOopH,GAAQwynB,GAAoBv9uB,KAAI,SAAUy8B,GAC/C,OAAOl7B,GAASA,GAAS,CAAC,EAAGk7B,GAAa,CACxCiF,MAAO6+L,EACPjsM,MAAOu7sB,GAEX,GACF,KACA,OAAOuM,EAAmBp8uB,KAAI,SAAUw9uB,GACtC,IAAIlptB,EAAQkptB,EAAkBlptB,MAC9B,OAAO/yB,GAASA,GAAS,CAAC,EAAG8I,EAAMozuB,iBAAiBD,IAAqB,CACvElptB,MAAOA,GAEX,GACF,EAQAwntB,EAAUz6uB,UAAUq8uB,cAAgB,SAAUnyuB,GAC5C,IAAI1L,EAEAwK,EAAQlJ,KAEZ,IAAKoK,EACH,MAAO,GAGT,IAAIo9tB,EAAap9tB,aAAiBumuB,GAAQvmuB,EAAMtH,MAAQqkuB,GAAa/8tB,EAAOpK,KAAKwe,WAEjF,GAAIq+B,GAAS2qrB,GAAa,CACxB,IAAIuT,EAAoB/6uB,KAAKw8uB,aAAahV,GAAY1unB,QACtD,YAA6Bv6G,IAAtBw8uB,EAAkC/6uB,KAAKu8uB,gBAAe79uB,EAAK,CAAC,GAAM8ouB,GAAcuT,EAAmBr8uB,IAAO,CAACsB,KAAMA,KAAK8ouB,OAAOtB,GACtI,CAEA,IAAIiV,EAAej9uB,OAAOgR,KAAKg3tB,GAC3BkV,EAAgB,CAAC18uB,MAIrB,OAHA08uB,EAAcp4uB,KAAKzD,MAAM67uB,EAAe1/F,GAAc,GAAIn4oB,GAAOsjuB,GAAQsU,EAAa59uB,KAAI,SAAU89uB,GAClG,OAAOzzuB,EAAMszuB,aAAaG,GAAaJ,cAAc/U,EAAWmV,GAClE,OAAM,IACCD,CACT,EAQA/B,EAAUz6uB,UAAUiid,QAAU,SAAU5hb,GACtC,IAAI6+L,EAAYiogB,GAAa9msB,GAC7B,OAAOvgC,KAAK4lE,OAAO5W,SAASowK,EAC9B,EAUAu7gB,EAAUz6uB,UAAUm2uB,aAAe,SAAUjsuB,GAC3C,IAAIwyuB,EAAkBxyuB,aAAiBumuB,GAAQvmuB,EAAQumuB,GAAMxwuB,OAAOiK,GAChE+xrB,EAAgBx8rB,MAAM2K,KAAKihuB,GAAiB,GAAIvruB,KAAKu8uB,cAAcK,EAAgB95uB,SACvF,OAAO,IAAI6tuB,GAAMvwuB,GAASA,GAAS,CAAC,EAAGw8uB,GAAkB,CACvD95uB,MAAO9C,KAAK2C,QAAQi6uB,EAAgB95uB,OACpCq5rB,cAAeA,EACfh5rB,KAAMypuB,GAAezwC,EAAen8rB,MACpCob,KAAMyxtB,GAAyB1wC,GAC/BvU,QAAS5nrB,KAAK4nrB,UAElB,EAEA+yD,EAAUz6uB,UAAU28uB,mBAAqB,SAAUrV,EAAYp9tB,EAAOo+tB,GACpE,IACIxluB,EADYhD,KAAKw8uB,aAAahV,GACbxkuB,KAAKoH,EAAOo+tB,GAEjC,OAAKxluB,GAASA,EAAKmxB,YAAYxzB,OAIxBqC,EAHEhD,KAAKgD,KAAKoH,EAAOo+tB,EAI5B,EAEAmS,EAAUz6uB,UAAU48uB,uBAAyB,SAAUtV,EAAYp9tB,EAAOo+tB,GACxE,IAAIiU,EAAej9uB,OAAOgR,KAAKg3tB,GAG3BxkuB,EAFYhD,KAAKw8uB,aAAaC,EAAa,IAE1BM,YAAYvV,EAAWiV,EAAa,IAAKryuB,EAAOo+tB,GAErE,OAAKxluB,GAASA,EAAKmxB,YAAYxzB,OAIxBqC,EAHEhD,KAAKgD,KAAKoH,EAAOo+tB,EAI5B,EAEAmS,EAAUz6uB,UAAU88uB,uBAAyB,SAAUxV,EAAYp9tB,EAAOo+tB,GACxE,IAAIt1B,EAAKx0sB,EAELu+uB,EAAgB,CAAC,EAErB,IACE,IAAK,IAAI5vuB,EAAKzI,GAASpF,OAAOgR,KAAKg3tB,IAAcn0qB,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CACzF,IAAI25uB,EAActprB,EAAGvwD,MACjBsluB,EAAgBZ,EAAWmV,GAE/B,GAAKvU,EAAL,CAIA,IAEIpluB,EAFehD,KAAKw8uB,aAAaG,GAEbI,YAAY3U,EAAeh+tB,EAAOo+tB,GAEtDxluB,IACFi6uB,EAAcN,GAAe35uB,EAP/B,CASF,CACF,CAAE,MAAOiluB,GACP/0B,EAAM,CACJnusB,MAAOkjuB,EAEX,CAAE,QACA,IACM50qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI6lsB,EAAK,MAAMA,EAAInusB,KACrB,CACF,CAEA,IAAIm4uB,EAAmB19uB,OAAOgR,KAAKysuB,GAAep+uB,KAAI,SAAUyC,GAC9D,OAAO27uB,EAAc37uB,EACvB,IACI67uB,EAAqBhV,GAAQ+U,EAAiBr+uB,KAAI,SAAUuviB,GAC9D,OAAOA,EAAGj6gB,WACZ,KAKA,IAJqB+otB,EAAiBxsuB,MAAK,SAAU09hB,GACnD,OAAOA,EAAGj6gB,YAAYxzB,OAAS,CACjC,IAGE,OAAOX,KAAKgD,KAAKoH,EAAOo+tB,GAG1B,IAAIrsC,EAAgBgsC,GAAQ3ouB,OAAOgR,KAAKysuB,GAAep+uB,KAAI,SAAUyC,GACnE,OAAO27uB,EAAc37uB,GAAK66rB,aAC5B,KACA,MAAO,CACLhoqB,YAAagptB,EACbC,QAASjV,GAAQ+U,EAAiBr+uB,KAAI,SAAUyB,GAC9C,OAAOA,EAAE88uB,OACX,KACAjhD,cAAeA,EACf9ppB,OAAQjoC,EACRmtc,QAAS4wR,GAAQ3ouB,OAAOgR,KAAKysuB,GAAep+uB,KAAI,SAAUyC,GACxD,OAAO27uB,EAAc37uB,GAAKi2c,OAC5B,KAEJ,EAEAojS,EAAUz6uB,UAAU68uB,YAAc,SAAUvV,EAAYp9tB,EAAOo+tB,GAE7D,OAAI3rrB,GAAS2qrB,GACJxnuB,KAAK68uB,mBAAmBrV,EAAYp9tB,EAAOo+tB,GAIb,IAAnChpuB,OAAOgR,KAAKg3tB,GAAY7muB,OACnBX,KAAK88uB,uBAAuBtV,EAAYp9tB,EAAOo+tB,GAIjDxouB,KAAKg9uB,uBAAuBxV,EAAYp9tB,EAAOo+tB,EACxD,EAEAmS,EAAUz6uB,UAAUoxuB,kBAAoB,SAAUlnuB,EAAOm2B,GACvD,OAAOvgC,KAAK+8uB,YAAY3yuB,EAAMtH,MAAOsH,EAAO4/tB,GAAazpsB,GAC3D,EAEAo6sB,EAAUz6uB,UAAU8C,KAAO,SAAUoH,EAAOo+tB,GAC1C,IAAIpR,EAAK14tB,EAOL2+uB,EALAn0uB,EAAQlJ,KAERqzE,EAAYm1pB,EAAOzhuB,KACnBwwc,EAAU,GACV+lS,EAAiB,GAGrB,IACE,IAAK,IAAIjwuB,EAAKzI,GAAS5E,KAAK27uB,cAActoqB,IAAahgB,EAAKhmD,EAAGrK,QAASqwD,EAAGlwD,KAAMkwD,EAAKhmD,EAAGrK,OAAQ,CAC/F,IAAIu6uB,EAAYlqrB,EAAGvwD,MACf0nuB,EAAO+S,EAAU/S,KACjBgT,EAAUD,EAAU9nF,GACpBo6E,EAAkBzluB,EAAM8G,QACxBusuB,GAAYD,IAAU3gsB,GAAS2gsB,IAAY9C,GAAU8C,GACzDpzuB,EAAM22B,QAAQomsB,GAAannuB,KAAK09uB,iBAAiBF,GAAStgtB,KAAMl9B,KAAKwe,YACrEuotB,GAAaI,GAAaqW,EAASx9uB,KAAKwe,WAAY0e,GAAKl9B,KAAKk9B,KAAK/f,MAAM,GAAI,GAAzB+f,CAA6B9yB,EAAMtH,SACnF66uB,GAAc,EAElB,IACEA,GAAenT,GAAQF,GAActquB,KAAK4nrB,QAAS4iD,EAAMqF,EAAiBrH,EAAQp+tB,EACpF,CAAE,MAAOwrC,GACP,MAAM,IAAIjtC,MAAM,6BAA6B5J,OAAOyruB,EAAKzjuB,MAAQyjuB,EAAKhztB,KAAM,+BAA+BzY,OAAOs0E,EAAW,qBAAqBt0E,OAAOiB,KAAKqU,GAAI,QAAQtV,OAAO62C,EAAIj9B,SACvL,CAEA,GAAIgluB,GAAeF,EAAW,MACHl/uB,IAArBg/uB,EAAUl8uB,SACZi8uB,EAAiBC,EAAUl8uB,QAG7Bk2c,EAAQjzc,KAAKzD,MAAM02c,EAASylM,GAAc,GAAIn4oB,GAAO04uB,EAAUhmS,UAAU,IACzE8lS,EAAqBE,EACrB,KACF,CACF,CACF,CAAE,MAAOtR,GACP7U,EAAM,CACJrytB,MAAOknuB,EAEX,CAAE,QACA,IACM54qB,IAAOA,EAAGlwD,OAASzE,EAAK2O,EAAG0Q,SAASrf,EAAGkC,KAAKyM,EAClD,CAAE,QACA,GAAI+ptB,EAAK,MAAMA,EAAIrytB,KACrB,CACF,CAEA,GAAKs4uB,EAAL,CAIA,IAAKC,EAAe38uB,OAClB,MAAO,CACLwzB,YAAa,CAACkptB,GACdD,QAAS,GACTjhD,cAAe/xrB,EAAMtH,MAAQ,CAAC9C,MAAQ,GACtCqyC,OAAQjoC,EACRmtc,QAASA,GAIb,IAAIqmS,EAAoBzV,GAAQmV,EAAez+uB,KAAI,SAAU8jnB,GAC3D,OAAOz5mB,EAAM20uB,sBAAsBl7H,EAAWv4mB,EAAM0muB,aACtD,KAEA,MAAO,CACL38sB,YAAa,CAACkptB,GACdD,UAHiBC,EAAmBxvd,SAGd,GAAKs6c,GAAQmV,EAAez+uB,KAAI,SAAUi/uB,GAC9D,OAAO50uB,EAAM60uB,8BAA8BD,EAC7C,KACA3hD,cAAeyhD,EACfvrsB,OAAQjoC,EACRmtc,QAASA,EAvBX,CAyBF,EAKAojS,EAAUz6uB,UAAU69uB,8BAAgC,SAAUD,GAC5D,GAAI99uB,KAAK4lB,MAAQk4tB,EAAWl4tB,MAC1B,MAAO,CAAC5lB,MAOV,IAJA,IAAI6b,EAAQ,GACR4pB,EAASzlC,KACTg+uB,EAAmBF,EAEhBr4sB,GAAUA,IAAWu4sB,GAC1BniuB,EAAMvX,KAAKmhC,GACXA,EAASA,EAAO3nB,OAGlB,OAAI2nB,IAAWu4sB,EAGN,IAGTniuB,EAAMvX,KAAK05uB,GACJniuB,EACT,EAEA8+tB,EAAUz6uB,UAAU+9uB,WAAa,SAAUC,EAAgBn3C,EAAQzrqB,EAAYuysB,EAAgBrF,EAAQ3yE,EAAWk4E,GAChH,IAAI1W,EAAK34tB,EAAI64tB,EAAKlqtB,EAEdnE,EAAQlJ,KAERm+uB,EAAatoF,EAAY01E,GAAiB,GAAIvruB,KAAKu8uB,cAAc1mF,EAAU/ypB,QAAU,GACrFs7uB,EAAW,IAAIxkuB,IAEnB,IACE,IAAK,IAAIy5C,EAAKzuD,GAASjF,MAAM2K,KAAK4zuB,GAAgBzotB,MAAK,SAAUtwB,EAAG5F,GAClE,OAAO4F,EAAEygB,MAAQrmB,EAAEqmB,KACrB,KAAK0tC,EAAKD,EAAGrwD,QAASswD,EAAGnwD,KAAMmwD,EAAKD,EAAGrwD,OAAQ,GAGxC2D,GAAIw3uB,EAFLrmjB,EAAKxkI,EAAGxwD,QAEgB6D,GAAI20B,EAAW8htB,QAAStljB,IAAOA,EAAGh6K,QAAUsguB,EAASz3uB,IAAImxL,EAAGh6K,UACtFsguB,EAAStquB,IAAIgkL,EAEjB,CACF,CAAE,MAAOs0iB,GACP/U,EAAM,CACJtytB,MAAOqnuB,EAEX,CAAE,QACA,IACM94qB,IAAOA,EAAGnwD,OAASzE,EAAK20D,EAAGt1C,SAASrf,EAAGkC,KAAKyyD,EAClD,CAAE,QACA,GAAIgkqB,EAAK,MAAMA,EAAItytB,KACrB,CACF,CAEA,IACE,IAAK,IAAIs5uB,EAAez5uB,GAASu5uB,GAAaG,EAAiBD,EAAar7uB,QAASs7uB,EAAen7uB,KAAMm7uB,EAAiBD,EAAar7uB,OAAQ,CAC9I,IAAI80L,EAECnxL,GAAIu3uB,EAFLpmjB,EAAKwmjB,EAAex7uB,SAEQ6D,GAAI20B,EAAW8htB,QAAStljB,EAAGh6K,SACzDwd,EAAW8htB,QAAQ94uB,KAAKwzL,EAE5B,CACF,CAAE,MAAO4wiB,GACPnR,EAAM,CACJxytB,MAAO2juB,EAEX,CAAE,QACA,IACM4V,IAAmBA,EAAen7uB,OAASkK,EAAKgxuB,EAAatguB,SAAS1Q,EAAGzM,KAAKy9uB,EACpF,CAAE,QACA,GAAI9mB,EAAK,MAAMA,EAAIxytB,KACrB,CACF,CAEAu2B,EAAW8htB,QAAQ3ntB,MAAK,SAAUtwB,EAAG5F,GACnC,OAAOA,EAAEqmB,MAAQzgB,EAAEygB,KACrB,IACA,IAAI24tB,EAAc5+uB,MAAM2K,KAAK8zuB,GAAU3otB,MAAK,SAAUtwB,EAAG5F,GACvD,OAAO4F,EAAEygB,MAAQrmB,EAAEqmB,KACrB,IACI44tB,EAAa,IAAI5kuB,IAAI0hB,EAAW8htB,SAChCqB,EAAatW,GAAQoW,EAAY1/uB,KAAI,SAAUi5L,GACjD,IAAIlyH,EAAS,GAEb,GAAgB,UAAZkyH,EAAGtgL,KACL,OAAOouD,EAGT,IAAI9nD,EAASg6K,EAAGh6K,OAEhB,IAAKA,EAAOA,OACV,OAAO8nD,EAGTA,EAAOthE,KAAKnB,GAAK20L,EAAGzjL,GAAIyjL,EAAG29iB,UAC3BtyuB,GAAK2a,EAAOzJ,GAAIyjL,EAAG29iB,SAAWlN,GAAWzwiB,EAAG29iB,SAAU5H,EAAgBrF,QAAUjquB,IAChF,IAAImgvB,EAAc5guB,EAAOA,OAUzB,MARyB,aAArB4guB,EAAYlnuB,MACV4ztB,GAAYsT,GAAa1/uB,OAAM,SAAU8W,GAC3C,OAAO82tB,GAAetxsB,EAAW6gqB,cAAermrB,EAClD,KACE8vD,EAAOthE,KAAKnB,GAAKu7uB,EAAYrquB,KAI1BuxD,CACT,KACI+4qB,EAAeJ,EAAY1/uB,KAAI,SAAU8jnB,GAC3C,IAAIg8H,EAAeh8H,EAAU44H,QACzBqD,EAAgBj8H,EAAUiuH,WAAW/xuB,KAAI,SAAU4uuB,GACrD,OZveR,SAAeA,GACb,IAAIoR,EAAcxR,GAAqBI,GACvC,MAAO,CACLj2tB,KAAM6utB,GAAAA,MACNoH,SAAUoR,EACVl9tB,UAAMpjB,EAEV,CYgeeopC,CAAM8lsB,EACf,IACA,MAAO,CACLj2tB,KAAM,QACN+/b,QAAS41R,GAAgBY,EAAkB/wF,GAAcA,GAAc,GAAIn4oB,GAAO85uB,IAAe,GAAQ95uB,GAAO+5uB,IAAgB,GAAS5hG,GAAcA,GAAc,GAAIn4oB,GAAO+5uB,IAAgB,GAAQ/5uB,GAAO85uB,IAAe,GAAQz1uB,EAAM0+qB,QAAQ5sqB,QAAQu8b,SAEhQ,IAAGx4c,OAAO,CACRyY,KAAM,aACN+/b,QAASknS,EAAW5/uB,KAAI,SAAU0hC,GAChC,OAAOkmsB,GAAMlmsB,EACf,MAUEg3a,EARc53c,MAAM2K,KAAKk0uB,GAAY3/uB,KAAI,SAAU8jnB,GACrD,MAAO,CACLnrmB,KAAM,OACN+/b,QAAS41R,GAAgBnwF,GAAcA,GAAc,GAAIn4oB,GAAO89mB,EAAUq0C,SAAS,GAAQnypB,GAAO89mB,EAAUiuH,WAAW/xuB,KAAI,SAAU4uuB,GACnI,OAAOxxoB,GAAKwxoB,EACd,MAAK,GAAQvkuB,EAAM0+qB,QAAQ5sqB,QAAQu8b,SAEvC,IAC0Bx4c,OAAO,CAC/ByY,KAAM,aACN+/b,QAAS41R,GAAgB7xsB,EAAWi8a,QAASv3c,KAAK4nrB,QAAQ5sqB,QAAQu8b,WACjEx4c,OAAO4/uB,GAEV,GAAI53C,EAAQ,CACV,IAAI+3C,EAAc3R,GAAgBhF,GAAQnrF,GAAc,GAAIn4oB,GAAOq5uB,IAAiB,GAAOzotB,MAAK,SAAUtwB,EAAG5F,GAC3G,OAAOA,EAAEqmB,MAAQzgB,EAAEygB,KACrB,IAAG/mB,KAAI,SAAU8jnB,GACf,OAAOA,EAAUq0C,MACnB,KAAKh3pB,KAAK4nrB,QAAQ5sqB,QAAQu8b,SAASvkc,QAAO,SAAU6X,GAClD,OAAQogtB,GAAiBpgtB,EAC3B,IACA,OAAO0sb,EAAQx4c,OAAO,CACpByY,KAAM,OACN+/b,QAASunS,GAEb,CAEA,OAAOvnS,CACT,EAUAojS,EAAUz6uB,UAAUo7B,WAAa,SAAUlxB,EAAOm2B,EAAOrvB,EAASyQ,QAClD,IAAVvX,IACFA,EAAQpK,KAAK6nrB,cAGf,IAEI18Z,EhBregB/rD,EgBmehBopgB,EAASwB,GAAazpsB,GAI1B,GAAIn2B,aAAiBumuB,GACnBxld,OAA2B5sR,IAAZ2S,EAAwB9G,EAAQpK,KAAKq2uB,aAAa1F,GAAMrmuB,KAAKF,EAAO8G,QAC9E,CACL,IAAI6tuB,EAAqBlisB,GAASzyC,GAASpK,KAAK2C,QAAQ8kuB,GAAiBznuB,KAAKg/uB,gBAAgB50uB,KAAWpK,KAAK2C,QAAQyH,GAClHyluB,EAA8B,OAAZ3+tB,QAAgC,IAAZA,EAAqBA,EAAUlR,KAAK4nrB,QAAQ12qB,QACtFi6Q,EAAenrR,KAAKq2uB,aAAa1F,GAAMrmuB,KAAKy0uB,EAAoBlP,GAClE,CAEA,IAAK/I,IAAiB0B,EAAOzhuB,OAASyzuB,GACpC,MAAM,IAAI7xuB,MAAM,4CAA4C5J,OAAOy7uB,GAAU,OAG/E,GAAIx6uB,KAAKg2H,SACFh2H,KAAK4lE,OAAO5W,SAASw5qB,EAAOzhuB,QhBpffq4N,EgBofwCopgB,EAAOzhuB,MhBnf9D,kBAAkB46B,KAAKy9L,IgBofxB,MAAM,IAAIz2N,MAAM,YAAY5J,OAAOiB,KAAKqU,GAAI,6BAA6BtV,OAAOypuB,EAAOzhuB,KAAM,MAIjG,IAAIk4uB,EAAkBj/uB,KAAK+8uB,YAAY5xd,EAAaroR,MAAOqoR,EAAcq9c,IAAW,CAClFr0sB,YAAa,GACbgoqB,cAAe,GACfihD,QAAS,GACT/qsB,OAAQ84O,EACRosL,QAAS,IAEP4mS,EAAa5S,GAAiB,GAAIvruB,KAAKu8uB,cAAcpxd,EAAaroR,QAClEo7uB,EAAiBe,EAAgB9iD,cAAcx7rB,OAAS4quB,GAAiB4S,EAAYc,EAAgB9iD,eAAiBgiD,EAE1H,OADAc,EAAgB9iD,cAAgBn/C,GAAc,GAAIn4oB,GAAOq5uB,IAAiB,GACnEl+uB,KAAKk/uB,kBAAkBD,EAAiB9zd,EAAcA,EAAaj6Q,QAASyQ,EAAM6mtB,EAC3F,EAEAmS,EAAUz6uB,UAAUi/uB,wBAA0B,SAAU/0uB,EAAOo+tB,EAAQrjmB,EAAe4omB,GACpF,IAAIrvuB,EAEA0gvB,EAAiBh1uB,EAAMmtc,QAS3B,OARAntc,EAAQpK,KAAKs7B,WAAWlxB,EAAOo+tB,OAAQjquB,EAAWwvuB,IAG5CvF,OAASrjmB,EACf/6H,EAAMm2B,MAAQ4kG,EAAcp9H,MAE3BrJ,EAAK0L,EAAMmtc,SAAS59Z,QAAQ94C,MAAMnC,EAAIs+oB,GAAc,GAAIn4oB,GAAOu6uB,IAAiB,IAE1Eh1uB,CACT,EAEAuwuB,EAAUz6uB,UAAUg/uB,kBAAoB,SAAUD,EAAiB9zd,EAAcj6Q,EAAS68tB,EAAiBvF,GACzG,IAAI5Q,EAAKl5tB,EAAI0quB,EAAK/7tB,EAEdnE,EAAQlJ,UAEG,IAAXwouB,IACFA,EAASpmkB,IAGX,IAAI+5hB,EAAgB8iD,EAAgB9iD,cAIhCkjD,GAAkBl0d,GAAgB8zd,EAAgB9qtB,YAAYxzB,OAAS,EACvE2+uB,EAAwBD,EAAiBJ,EAAgB9iD,cAAgBhxa,EAAeA,EAAagxa,cAAgB,GACrH4K,EAAS6lC,GAAe0S,EAAuBt/uB,MAC/C++uB,EAAqBM,EAAiB71sB,GAASxpC,KAAK4nrB,QAASuU,QAAiB59rB,EAC9EuyuB,EAAe3ld,EAAeA,EAAa2ld,aAAe3ld,EAAa2ld,aAAemO,EAAgB5ssB,OAASryC,KAAK4nrB,QAAQkpD,aAAa3ld,EAAaroR,YAASvE,OAAYA,EAC3KuvuB,EAAe9tuB,KAAKi+uB,WAAW,IAAIrkuB,IAAI0luB,GAAwBv4C,EAAQk4C,EAAiB/tuB,EAASs3tB,EAAQr9c,EAAc4id,GACvH6C,EAAazld,EAAe/qR,GAAS,CAAC,EAAG+qR,EAAayld,YAAc,CAAC,EAEzE,IACE,IAAK,IAAI3C,EAAiBrpuB,GAASkpuB,GAAeI,EAAmBD,EAAejruB,QAASkruB,EAAiB/quB,KAAM+quB,EAAmBD,EAAejruB,OAAQ,CAC5J,IAAIg4D,EAAQkzqB,EAAiBpruB,MAE7B,IACE,IAAK,IAAIuwD,GAAM+1qB,OAAM,EAAQxkuB,GAASo2D,EAAMu8Y,UAAWjkZ,EAAKD,EAAGrwD,QAASswD,EAAGnwD,KAAMmwD,EAAKD,EAAGrwD,OAAQ,CAC/F,IAAI6nB,EAASyoC,EAAGxwD,MAEZ+nB,EAAOrT,OAAS+nuB,GAClB3O,EAAW/ltB,EAAO4itB,SAASp5tB,IAAMwW,EAAO4itB,SAASj2tB,MAAQqT,EAChDA,EAAOrT,OAASs4tB,KACzBc,EAAW/ltB,EAAO4itB,SAASp5tB,IAAMwW,EAAO4itB,SAASj2tB,OAAQ,EAE7D,CACF,CAAE,MAAOgytB,GACPJ,EAAM,CACJrkuB,MAAOykuB,EAEX,CAAE,QACA,IACMl2qB,IAAOA,EAAGnwD,OAASkK,EAAKgmD,EAAGt1C,SAAS1Q,EAAGzM,KAAKyyD,EAClD,CAAE,QACA,GAAI+1qB,EAAK,MAAMA,EAAIrkuB,KACrB,CACF,CACF,CACF,CAAE,MAAOwxuB,GACP3e,EAAM,CACJ7ytB,MAAOwxuB,EAEX,CAAE,QACA,IACMrI,IAAqBA,EAAiB/quB,OAASzE,EAAKuvuB,EAAelwtB,SAASrf,EAAGkC,KAAKqtuB,EAC1F,CAAE,QACA,GAAIrW,EAAK,MAAMA,EAAI7ytB,KACrB,CACF,CAEA,IhB7gBwB8juB,EAAMrB,EgB6gB1Bz8e,EAAKlmP,GAAO+ouB,GAAe5tuB,KAAMmrR,EAAcj6Q,EAASs3tB,EAAQsF,EAAcC,EAAiB/tuB,KAAK4nrB,QAAQz3oB,OAAOoksB,4BAA8Bv0uB,KAAK4nrB,QAAQz3oB,OAAO69rB,qBAAsB,GAC3LsC,EAAkBvlf,EAAG,GACrBm+e,EAAiBn+e,EAAG,GAEpBi3V,EAAKn9kB,GhBlkBb,SAAmBuiF,EAAO41gB,GACxB,IAAI46H,EAAKl5tB,EAEL2O,EAAKxI,GAAO,CAAC,GAAI,IAAK,GACtB26uB,EAASnyuB,EAAG,GACZoyuB,EAAQpyuB,EAAG,GAEf,IACE,IAAK,IAAIqyuB,EAAU96uB,GAASwiF,GAAQu4pB,EAAYD,EAAQ18uB,QAAS28uB,EAAUx8uB,KAAMw8uB,EAAYD,EAAQ18uB,OAAQ,CAC3G,IAAIoW,EAAOumuB,EAAU78uB,MAEjBk6lB,EAAU5jlB,GACZomuB,EAAOl7uB,KAAK8U,GAEZqmuB,EAAMn7uB,KAAK8U,EAEf,CACF,CAAE,MAAOm9tB,GACP3e,EAAM,CACJ7ytB,MAAOwxuB,EAEX,CAAE,QACA,IACMoJ,IAAcA,EAAUx8uB,OAASzE,EAAKghvB,EAAQ3huB,SAASrf,EAAGkC,KAAK8+uB,EACrE,CAAE,QACA,GAAI9nB,EAAK,MAAMA,EAAI7ytB,KACrB,CACF,CAEA,MAAO,CAACy6uB,EAAQC,EAClB,CgBoiBoB75C,CAAU0qC,EAAiBrF,IAAmB,GAC1D2U,EAAe59J,EAAG,GAClB69J,EAAmB79J,EAAG,GAEtB48J,EAAgBtO,EAAgBt9tB,QAAO,SAAU6X,GACnD,IAAInsB,EAEJ,OAAOmsB,EAAOrT,OAAS+nuB,KAAuC,QAA1B7gvB,EAAKmsB,EAAO4itB,gBAA6B,IAAP/uuB,OAAgB,EAASA,EAAG8Y,QAAUqpoB,EAC9G,IACIrsoB,EAAWoquB,EAAclkuB,QAAO,SAAUC,EAAKkQ,GAEjD,OADAlQ,EAAIkQ,EAAO4itB,SAASp5tB,IRx3B1B,SAA8ByruB,EAAkBl4D,EAAS12qB,EAASs3tB,GAChE,IAAI9puB,EAEAqhvB,EAAYrV,GAAeoV,EAAiBjtrB,KAC5CiirB,EAAuG,QAArFp2uB,EAAiB,OAAZkprB,QAAgC,IAAZA,OAAqB,EAASA,EAAQ5sqB,QAAQ+5tB,gBAA6B,IAAPr2uB,OAAgB,EAASA,EAAGqhvB,EAAUvouB,MACrJ22G,EAAe2xnB,EAAiB/3uB,KAAOwguB,GAAWuX,EAAiB/3uB,KAAMmJ,EAASs3tB,QAAUjquB,EAC5FyzuB,EAAY8C,EAAiB/C,GAAoB+C,EAAgBgL,EAAiBzruB,GAAI85G,GAAgB2jnB,GAAgBgO,EAAiBzruB,IAG3I,OADA29tB,EAAU73K,KAAO2lL,EACV9N,CACT,CQ82BgCgO,CAAqBn1tB,EAAO4itB,SAAUvkuB,EAAM0+qB,QAASshD,EAAgBV,GACxF7ttB,CACT,GAAGwwQ,EAAe/qR,GAAS,CAAC,EAAG+qR,EAAa32Q,UAAY,CAAC,GACrDnD,EAAY,IAAIs/tB,GAAM,CACxB7tuB,MAAOi8uB,GAAsB5zd,EAAaroR,MAC1CoO,QAASg4tB,EACTV,OAAQA,EAERqI,WAAY1ld,EAAeA,EAAa0ld,WAAa,KACrDC,aAAciO,EAAqBjO,GhBpiBbjI,EgBoiB+CiI,EhBpiBzCtJ,EgBoiBuDuX,EhBniBhF,CACLngtB,QAAS4osB,EACTsB,OAAQF,GAAoBC,EAAMrB,UgBiiByEjpuB,EAAY4sR,EAAeA,EAAa2ld,kBAAevyuB,EAChK8opB,SAAU03F,GAAsBE,EAAgB5ssB,OAAS84O,OAAe5sR,EACxEg5c,QAASwnS,EAAqBc,EAAmB,GACjDjP,WAAYmO,EAAqBnO,EAAazld,EAAeA,EAAayld,WAAa,CAAC,EACxFhrqB,OAAQ,GACRu2nB,cAAemjD,EACfnrtB,YAAa8qtB,EAAgB9qtB,YAC7B3f,SAAUA,EACVrR,KAAM4jsB,EACN3rrB,KAAMyxtB,GAAyByS,GAC/B13D,QAAS5nrB,OAEPigvB,EAAmB/uuB,IAAYg4tB,EACnC73tB,EAAU8+F,QAAUq4nB,EAAOzhuB,OAASe,IAAUm4uB,EAE9C,IAAI54F,EAAUh2oB,EAAUg2oB,QAEpBA,UACKA,EAAQA,QAKjB,IAAI64F,GAAwBn5C,IAAW/msB,KAAKs7uB,YAAcn/C,EAAczrrB,MAAK,SAAUiymB,GACrF,OAAOA,EAAU24H,UACnB,KASA,IAAK+D,KAAoBa,GAAwB1X,EAAOzhuB,OAASwzuB,IAC/D,OAAOlpuB,EAGT,IAAI8uuB,EAAiB9uuB,EAErB,IAAK01rB,EAOH,IANIm5C,IACFC,EAAiBngvB,KAAKm/uB,wBAAwBgB,EAAgB,CAC5D3ouB,KAAMkvtB,IACL8B,EAAQuF,IAGN6R,EAAaj/uB,QAAQ,CAC1B,IAAIy/uB,EAAcR,EAAa/5uB,QAC/Bs6uB,EAAiBngvB,KAAKm/uB,wBAAwBgB,EAAgBC,EAAY5X,OAAQA,EAAQuF,EAC5F,CAIF,IAAI59nB,EAAUgwoB,EAAehwoB,UAAYk3iB,IAAY84F,EAAe5oS,QAAQ52c,QAAUs/uB,UAA2B54F,EAAQvkpB,eAAiBq9uB,EAAer9uB,QAAUytuB,GAAiB4P,EAAer9uB,MAAOukpB,EAAQvkpB,YAASvE,GAI3N,OAHA4hvB,EAAehwoB,QAAUA,EAEzBgwoB,EAAe94F,QAAUA,EAClB84F,CACT,EAMAxF,EAAUz6uB,UAAUs8uB,aAAe,SAAUriJ,GAC3C,GAAIugJ,GAAUvgJ,GACZ,OAAOn6lB,KAAK4nrB,QAAQ81D,iBAAiBvjJ,GAGvC,IAAKn6lB,KAAK8ouB,OACR,MAAM,IAAInguB,MAAM,mCAAmC5J,OAAOo7lB,EAAU,YAAYp7lB,OAAOiB,KAAKqU,GAAI,8BAGlG,IAAInR,EAASlD,KAAK8ouB,OAAO3uI,GAEzB,IAAKj3lB,EACH,MAAM,IAAIyF,MAAM,gBAAgB5J,OAAOo7lB,EAAU,yBAAyBp7lB,OAAOiB,KAAKqU,GAAI,MAG5F,OAAOnR,CACT,EAQAy3uB,EAAUz6uB,UAAUw9uB,iBAAmB,SAAUnW,GAC/C,IAAI8Y,EAAkB3F,GAAUnT,GAAWA,EAAQpqtB,MAAMmjuB,GAA2B/Y,EAEpF,GAAI8Y,IAAoBrgvB,KAAKqU,GAC3B,OAAOrU,KAGT,IAAI2inB,EAAY3inB,KAAK4nrB,QAAQszD,MAAMmF,GAEnC,IAAK19H,EACH,MAAM,IAAIh6mB,MAAM,sBAAsB5J,OAAOshvB,EAAiB,iCAAiCthvB,OAAOiB,KAAKqU,GAAI,MAGjH,OAAOsumB,CACT,EAQAg4H,EAAUz6uB,UAAUqgvB,mBAAqB,SAAU7Y,GACjD,GAAyB,kBAAdA,GAA0BgT,GAAUhT,GAC7C,IACE,OAAO1nuB,KAAK09uB,iBAAiBhW,EAAUvqtB,MAAM,GAC/C,CAAE,MAAOpc,IACP,CAOJ,IAHA,IAAIy/uB,EAAiBlZ,GAAYI,EAAW1nuB,KAAKwe,WAAWrB,QACxDsjuB,EAAmBzgvB,KAEhBwgvB,EAAe7/uB,QAAQ,CAC5B,IAAIW,EAAMk/uB,EAAe36uB,QAEzB,IAAKvE,EAAIX,OACP,MAGF8/uB,EAAmBA,EAAiBjE,aAAal7uB,EACnD,CAEA,OAAOm/uB,CACT,EAQA9F,EAAUz6uB,UAAUyC,QAAU,SAAU6kuB,GACtC,IAAI9ouB,EAEAwK,EAAQlJ,KAEZ,IAAKwnuB,EACH,OAAOxnuB,KAAK+6uB,mBAAqBN,GAGnC,OAAQz6uB,KAAKwX,MACX,IAAK,WACH,OAAOmwtB,GAAU3nuB,KAAK+6uB,mBAAmB,SAAU3S,EAAeuU,GAChE,OAAOvU,EAAgBl/tB,EAAMszuB,aAAaG,GAAah6uB,QAAQ6kuB,EAAWmV,IAAgBvU,GAAiBqS,EAC7G,IAEF,IAAK,WACH,GAAI59rB,GAAS2qrB,GAAa,CACxB,IAAIkZ,EAAe1gvB,KAAKw8uB,aAAahV,GAErC,MAA0B,aAAtBkZ,EAAalpuB,MAA6C,aAAtBkpuB,EAAalpuB,OAC5C9Y,EAAK,CAAC,GAAM8ouB,GAAckZ,EAAa3F,kBAAmBr8uB,GAG5D8ouB,CACT,CAEA,OAAKhouB,OAAOgR,KAAKg3tB,GAAY7muB,OAItBgnuB,GAAUH,GAAY,SAAUY,EAAeuU,GACpD,OAAOvU,EAAgBl/tB,EAAMszuB,aAAaG,GAAah6uB,QAAQyluB,GAAiBqS,EAClF,IALSz6uB,KAAK+6uB,mBAAqB,CAAC,EAOtC,QACE,OAAOvT,GAAciT,GAE3B,EAEAE,EAAUz6uB,UAAU8+uB,gBAAkB,SAAU2B,GAC9C,GAAIjG,GAAUiG,GAAkB,CAC9B,IAAIh+H,EAAY3inB,KAAK4nrB,QAAQszD,MAAMyF,EAAgBxjuB,MAAMmjuB,IAEzD,IAAK39H,EACH,MAAM,IAAIh6mB,MAAM,8BAA8B5J,OAAO4hvB,EAAiB,MAGxE,OAAOh+H,EAAUzllB,IACnB,CAEA,OAAOoqsB,GAAYqZ,EAAiB3gvB,KAAKwe,UAC3C,EAEAhf,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,oBAAqB,CAC9D0G,IAAK,WACH,IAAIlI,EAMAq8uB,EAJJ,GAAI/6uB,KAAK86uB,QAAQC,kBACf,OAAO/6uB,KAAK86uB,QAAQC,kBAKtB,GAAkB,aAAd/6uB,KAAKwX,KACPujuB,EAAoBlT,GAAgB7nuB,KAAK8ouB,QAAQ,SAAU1+tB,GACzD,OAAOA,EAAM2wuB,mBAAqBN,EACpC,IAAG,SAAU93H,GACX,QAA4B,YAAnBA,EAAUnrmB,KACrB,SACK,QAAqBjZ,IAAjByB,KAAK84G,QAAuB,CACrC,IAAK94G,KAAK8ouB,OAAO9ouB,KAAK84G,SACpB,MAAM,IAAInwG,MAAM,kBAAkB5J,OAAOiB,KAAK84G,QAAS,oBAAoB/5G,OAAOiB,KAAKsB,IAAK,MAG9Fy5uB,EAAoB7P,GAAWlruB,KAAK8ouB,OAAO9ouB,KAAK84G,UAAY94G,KAAK84G,UAAWp6G,EAAK,CAAC,GAAMsB,KAAK84G,SAAW94G,KAAK8ouB,OAAO9ouB,KAAK84G,SAASiioB,kBAAmBr8uB,EACvJ,MAEEq8uB,EAAoB,CAAC,EAIvB,OADA/6uB,KAAK86uB,QAAQC,kBAAoBA,EAC1B/6uB,KAAK86uB,QAAQC,iBACtB,EACAlxuB,YAAY,EACZ29C,cAAc,IAGhBmzrB,EAAUz6uB,UAAU0gvB,gBAAkB,SAAUpZ,EAAYt2tB,GAC1DlR,KAAKq7G,QAGL,IAAI8glB,EAAgBn8rB,KAAKu8uB,cAAc/U,GACvC,OAAOxnuB,KAAKk/uB,kBAAkB,CAC5B/iD,cAAeA,EACfihD,QAAS,GACTjptB,YAAa,GACbke,YAAQ9zC,EACRg5c,QAAS,SACRh5c,EAAuB,OAAZ2S,QAAgC,IAAZA,EAAqBA,EAAUlR,KAAK4nrB,QAAQ12qB,aAAS3S,EACzF,EAEAiB,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,eAAgB,CAKzD0G,IAAK,WACH,IAAIm0uB,EAAoB/6uB,KAAK+6uB,kBAE7B,IAAKA,EACH,MAAM,IAAIpyuB,MAAM,oDAAoD5J,OAAOiB,KAAKqU,GAAI,OAGtF,OAAOrU,KAAK4gvB,gBAAgB7F,EAC9B,EACAlxuB,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,SAAU,CAKnD0G,IAAK,WACH,IAAIvF,EAEJ,GAAkB,YAAdrB,KAAKwX,KAAoB,CAC3B,IAAIqpuB,EAAgB7gvB,KAAKmwC,OAGvB9uC,EADEw7C,GAASgksB,EAAcx/uB,SAChBq5uB,GAAUmG,EAAcx/uB,QAAUomuB,GAAiBznuB,KAAK4nrB,QAAQ81D,iBAAiBmD,EAAcx/uB,QAAQ67B,KAAK/f,MAAMnd,KAAKk9B,KAAKv8B,OAAS,IAErIkgvB,EAAcx/uB,MAE3B,CAEA,OAAOA,CACT,EACAwI,YAAY,EACZ29C,cAAc,IAUhBmzrB,EAAUz6uB,UAAU29uB,sBAAwB,SAAUiD,EAAiBhQ,EAAcnuuB,GAKnF,YAJgB,IAAZA,IACFA,GAAU,GAGLA,EAAmC,YAAzBm+uB,EAAgBtpuB,KAAqBspuB,EAAgBC,eAAejQ,GAAgBgQ,EAAgB9U,kBAAoB,CAAC8U,EAC5I,EAEAthvB,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,oBAAqB,CAC9D0G,IAAK,WACH,IAAIsC,EAAQlJ,KAEZ,OAAIkruB,GAAWlruB,MACN,CAACA,MAIQ,aAAdA,KAAKwX,MAAwBxX,KAAK84G,QAS/BqvnB,GADqBD,GAAalouB,KAAK+6uB,mBACTl8uB,KAAI,SAAUmivB,GACjD,OAAO93uB,EAAM+3uB,oBAAoBD,EACnC,MAVOla,IACHrnrB,IAAK,EAAO,wBAAwB1gD,OAAOiB,KAAKqU,GAAI,4BAG/C,CAACrU,MAOZ,EACA6J,YAAY,EACZ29C,cAAc,IAShBmzrB,EAAUz6uB,UAAU+gvB,oBAAsB,SAAUC,GAClD,IAAKA,EAAavgvB,OAChB,MAAO,CAACX,MAGV,IAAItB,EAAKmG,GAAOq8uB,GACZ/mJ,EAAWz7lB,EAAG,GACdyivB,EAAiBzivB,EAAGye,MAAM,GAE9B,IAAKnd,KAAK8ouB,OACR,MAAM,IAAInguB,MAAM,4BAA4B5J,OAAOo7lB,EAAU,+BAG/D,IAAIqyI,EAAiBxsuB,KAAKw8uB,aAAariJ,GAEvC,GAA4B,YAAxBqyI,EAAeh1tB,KACjB,OAAOg1tB,EAAeuU,iBAGxB,IAAK/gvB,KAAK8ouB,OAAO3uI,GACf,MAAM,IAAIxxlB,MAAM,gBAAgB5J,OAAOo7lB,EAAU,yBAAyBp7lB,OAAOiB,KAAKqU,GAAI,MAG5F,OAAOrU,KAAK8ouB,OAAO3uI,GAAU8mJ,oBAAoBE,EACnD,EAEAxG,EAAUz6uB,UAAU4wuB,aAAe,SAAUsQ,GAC3C,GAAK5hvB,OAAOgR,KAAKxQ,KAAK8ouB,QAAQnouB,OAI9B,MAAO,CACLi+B,QAASwitB,GAAsBphvB,KAAK+6uB,kBACpCjS,OAAQjB,GAAgB7nuB,KAAK8ouB,QAAQ,SAAUnmH,EAAWrhnB,GACxD,IAAK8/uB,EACH,OAAOz+H,EAAUmuH,eAGnB,IAAI1I,EAAgBvrrB,GAASuksB,QAAsB7ivB,EAAY6ivB,EAAmB9/uB,GAClF,OAAOqhnB,EAAUmuH,aAAa1I,GAAiBzlH,EAAUo4H,kBAC3D,IAAG,SAAUp4H,GACX,OAAQA,EAAU0kC,OACpB,IAEJ,EASAszF,EAAUz6uB,UAAU6gvB,eAAiB,SAAUjQ,GAC7C,IAAI5nuB,EAAQlJ,KAEZ,GAAkB,YAAdA,KAAKwX,KACP,MAAO,CAACxX,MAGV,IAAI8d,EAAS9d,KAAK8d,OAElB,IAAKgztB,EAAc,CACjB,IAAIuQ,EAAgBrhvB,KAAKqB,OACzB,OAAOggvB,EAAgBlZ,GAAQD,GAAamZ,GAAexivB,KAAI,SAAUyivB,GACvE,OAAOxjuB,EAAOmjuB,oBAAoBK,EACpC,KAAMxjuB,EAAOkutB,iBACf,CAEA,IhBpoCgB16tB,EAAOiwuB,EgBooCnBC,GhBpoCYlwuB,EgBooCiBwM,EAAOof,KhBpoCjBqktB,EgBooCuB,ShBnoCzC,SAAUrwsB,GACf,IAAIkmrB,EAAK14tB,EAELwE,EAASguC,EAEb,IACE,IAAK,IAAIuwsB,EAAU78uB,GAAS0M,GAAQowuB,EAAYD,EAAQz+uB,QAAS0+uB,EAAUv+uB,KAAMu+uB,EAAYD,EAAQz+uB,OAAQ,CAC3G,IAAI4yB,EAAO8rtB,EAAU5+uB,MACrBI,EAASA,EAAOq+uB,GAAc3rtB,EAChC,CACF,CAAE,MAAOq2sB,GACP7U,EAAM,CACJrytB,MAAOknuB,EAEX,CAAE,QACA,IACMyV,IAAcA,EAAUv+uB,OAASzE,EAAK+ivB,EAAQ1juB,SAASrf,EAAGkC,KAAK6gvB,EACrE,CAAE,QACA,GAAIrqB,EAAK,MAAMA,EAAIrytB,KACrB,CACF,CAEA,OAAO7B,CACT,GgB4mC0D4tuB,GAAclysB,QAEtE,OAAIie,GAAS2ksB,GACJ,CAAC1juB,EAAO0+tB,aAAagF,IAGvBrZ,GAAQD,GAAasZ,GAAiB3ivB,KAAI,SAAU8ivB,GACzD,MAAyB,SAAlBz4uB,EAAMm+oB,QAAqBvpoB,EAAOmjuB,oBAAoBU,GAAgB,CAAC7juB,EAAOgrtB,OAAO6Y,EAAa,IAC3G,IACF,EAEAnivB,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,WAAY,CAIrD0G,IAAK,WACH,IAAIsC,EAAQlJ,KAER4hvB,EAAgBzZ,GAAQ3ouB,OAAOgR,KAAKxQ,KAAK8ouB,QAAQjquB,KAAI,SAAUs7lB,GACjE,OAAOjxlB,EAAM4/tB,OAAO3uI,GAAU0nJ,QAChC,KACA,MAAO,CAAC7hvB,KAAKqU,IAAItV,OAAO6ivB,EAC1B,EACA/3uB,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,SAAU,CAInD0G,IAAK,WACH,IAAIyytB,EAAK36tB,EAAI46tB,EAAKjstB,EAElB,GAAIrN,KAAK86uB,QAAQl1qB,OACf,OAAO5lE,KAAK86uB,QAAQl1qB,OAGtB,IAAIkjqB,EAAS9ouB,KAAK8ouB,OACdljqB,EAAS,IAAIhsD,IAAI5Z,KAAKgxuB,WAE1B,GAAIlI,EACF,IACE,IAAK,IAAIz1qB,EAAKzuD,GAASpF,OAAOgR,KAAKs4tB,IAAUx1qB,EAAKD,EAAGrwD,QAASswD,EAAGnwD,KAAMmwD,EAAKD,EAAGrwD,OAAQ,CACrF,IACIoH,EAAQ0+tB,EADEx1qB,EAAGxwD,OAGjB,GAAIsH,EAAM0+tB,OACR,IACE,IAAK,IAAI/9e,GAAMuue,OAAM,EAAQ10tB,GAASwF,EAAMw7D,SAAUo8gB,EAAKj3V,EAAG/nP,QAASg/kB,EAAG7+kB,KAAM6+kB,EAAKj3V,EAAG/nP,OAAQ,CAC9F,IAAIgwuB,EAAUhxJ,EAAGl/kB,MACjB8iE,EAAO9xD,IAAI,GAAG/U,OAAOi0uB,GACvB,CACF,CAAE,MAAO0D,GACPpd,EAAM,CACJv0tB,MAAO2xuB,EAEX,CAAE,QACA,IACM10J,IAAOA,EAAG7+kB,OAASkK,EAAK09O,EAAGhtO,SAAS1Q,EAAGzM,KAAKmqP,EAClD,CAAE,QACA,GAAIuue,EAAK,MAAMA,EAAIv0tB,KACrB,CACF,CAEJ,CACF,CAAE,MAAOyxuB,GACPnd,EAAM,CACJt0tB,MAAOyxuB,EAEX,CAAE,QACA,IACMljrB,IAAOA,EAAGnwD,OAASzE,EAAK20D,EAAGt1C,SAASrf,EAAGkC,KAAKyyD,EAClD,CAAE,QACA,GAAIgmqB,EAAK,MAAMA,EAAIt0tB,KACrB,CACF,CAGF,OAAO/E,KAAK86uB,QAAQl1qB,OAASjmE,MAAM2K,KAAKs7D,EAC1C,EACA/7D,YAAY,EACZ29C,cAAc,IAEhBhoD,OAAOqC,eAAe84uB,EAAUz6uB,UAAW,YAAa,CAMtD0G,IAAK,WACH,IAAIg/D,EAAS,IAAIhsD,IAAI5Z,KAAKm0B,YAAYnhB,QAAO,SAAUsoB,GACrD,SAAUA,EAAWj6B,SAAWi6B,EAAWi8a,QAAQ52c,QAAU26B,EAAWuyP,SAC1E,IAAGhvR,KAAI,SAAUy8B,GACf,OAAOA,EAAW8jM,SACpB,KACA,OAAOz/N,MAAM2K,KAAKs7D,EACpB,EACA/7D,YAAY,EACZ29C,cAAc,IAGhBmzrB,EAAUz6uB,UAAU4hvB,cAAgB,SAAUC,GAC5C,IAAI74uB,EAAQlJ,KAEZ,QAAgBzB,IAAZwjvB,EAKJ,OAAOA,EAAQljvB,KAAI,SAAUwC,GAC3B,IAAKw7C,GAASx7C,GACZ,OAAOA,EAGT,IAAI2gvB,EAAmB3gvB,EAAO,KAAO6H,EAAMsV,UAG3C,GAAIwjuB,IAAqB94uB,EAAM4U,OAC7B,OAAO5U,EAAMq3uB,mBAAmBl/uB,EAAO8b,MAAM,IAG/C,IAAI6xtB,EAAiBgT,EAAmB94uB,EAAM5H,IAAMD,EAASA,EAE7D,IAAI6H,EAAM4U,OASR,OAAO5U,EAAMq3uB,mBAAmBvR,GARhC,IAGE,OAFsB9luB,EAAM4U,OAAOyiuB,mBAAmBvR,EAGxD,CAAE,MAAOp5rB,GACP,MAAM,IAAIjtC,MAAM,iDAAiD5J,OAAOmK,EAAMmL,GAAI,QAAQtV,OAAO62C,EAAIj9B,SACvG,CAIJ,GACF,EAEAgiuB,EAAUz6uB,UAAUo8uB,iBAAmB,SAAU2F,GAC/C,IAAI/4uB,EAAQlJ,KAERkivB,EhBr5BR,SAAyB7gvB,GACvB,QAAe9C,IAAX8C,GD5iBe,KC4iBSA,EAI5B,OAAOuoH,GAAQvoH,EACjB,CgB+4B2B8gvB,CAAgBF,EAAiB5gvB,QACpDwsR,EAAW,aAAco0d,EAAmBA,EAAiBp0d,UAAWq0d,GAAmBA,EAAiBxxuB,MAAK,SAAUqxuB,GAC7H,OAAOllsB,GAASklsB,IAAYA,EAAQ,KAAO74uB,EAAMsV,SACnD,IACIqzD,EAAS7xE,KAAK4nrB,QAAQ5sqB,QAAQ62D,OAC9BxwE,EAASrB,KAAK8hvB,cAAcI,GAE5B5mtB,EAAal7B,GAASA,GAAS,CAAC,EAAG6hvB,GAAmB,CACxD1qS,QAAS41R,GAAgBvjnB,GAAQq4nB,EAAiB1qS,UAClDizR,KAAMf,GAAQwY,EAAiBzX,KAAM34pB,GACrCxwE,OAAQA,EACRgxC,OAAQryC,KACR6tR,SAAUA,EACVzuD,UAAW6ihB,EAAiB1htB,MAC5Bsa,OAAQ,WACN,OAAOz6C,GAASA,GAAS,CAAC,EAAGk7B,GAAa,CACxCj6B,OAAQi6B,EAAWj6B,OAASi6B,EAAWj6B,OAAOxC,KAAI,SAAUyB,GAC1D,MAAO,IAAIvB,OAAOuB,EAAE+T,GACtB,SAAK9V,EACL8zC,OAAQ,IAAItzC,OAAOmK,EAAMmL,KAE7B,IAGF,OAAOinB,CACT,EAEAq/sB,EAAUz6uB,UAAUw7uB,kBAAoB,WACtC,IAAIjiB,EAAM/6tB,EAIN0jvB,EAFAl5uB,EAAQlJ,KAIZ,GAAKA,KAAKmwC,OAAOg4B,GAEV,GAAIxoE,MAAMkoB,QAAQ7nB,KAAKmwC,OAAOg4B,IACnCi6qB,EAAWpivB,KAAKmwC,OAAOg4B,OAClB,CACL,IAAI96D,EAAKrN,KAAKmwC,OAAOg4B,GACjB9U,EAAKmnrB,GACLlnrB,EAAKjmD,EAAGgmD,GACRgvrB,OAAyB,IAAP/urB,EAAgB,GAAKA,EACvCgvrB,EAA4BxhvB,GAAOuM,EAAI,CAA+BgmD,MAE1E+urB,EAAWja,GAAQ3ouB,OAAOgR,KAAK8xuB,GAA2BzjvB,KAAI,SAAUyC,GACjEwluB,IAAiBxluB,IAAQi5uB,IAC5B96rB,IAAK,EAAO,4KAA8K,6CAA8C1gD,OAAOmK,EAAMmL,GAAI,OAG3P,IAAIkuuB,EAAwBpY,GAAwB7ouB,EAAKghvB,EAA0BhhvB,IAMnF,OAJKwluB,IAz9CuB,SAAUnkH,EAAWpilB,EAAOpM,GAC9D,IAAIqutB,EAA4BrutB,EAAYhX,MAAM,GAAI,GAAGzM,MAAK,SAAU4qB,GACtE,QAAS,SAAUA,MAAiB,OAAQA,KAAgBuhB,GAASvhB,EAAWj6B,SAAWuouB,GAAUtusB,EAAWj6B,QAClH,IACIohvB,EAAYlitB,IAAUg6sB,GAAa,sBAAwB,UAAUx7uB,OAAOwhC,EAAO,KACvFkf,IAAM+isB,EAA2B,+BAA+BzjvB,OAAO0jvB,EAAW,eAAe1jvB,OAAO4jnB,EAAUtumB,GAAI,uBAAyB,iEACjJ,CAo9CUquuB,CAA8Bx5uB,EAAO5H,EAAKihvB,GAGrCA,CACT,IAAGxjvB,OAAOoruB,GAAwBqQ,GAAU6H,IAC9C,MAvBED,EAAW,GAyBb,IAAIO,EAAkB3ivB,KAAKmwC,OAAO+qD,OAASivoB,GAAwB,GAAInquB,KAAKmwC,OAAO+qD,QAAU,GACzF0npB,EAAa5ivB,KAAKmwC,OAAO6lsB,OAAS7L,GAAwBh7tB,OAAOhM,GAAKnD,KAAKqU,KAAMrU,KAAKmwC,OAAO6lsB,QAAU,GAEtGlP,IACHrnrB,KAAOz/C,KAAKmwC,OAAO6lsB,SAAWh2uB,KAAK8d,QAAS,+EAAkF/e,OAAOiB,KAAKqU,GAAI,OAGhJ,IAAIgmuB,EAAelS,GAAQnouB,KAAK6gpB,OAAOhipB,KAAI,SAAUy7uB,GACnD,IAAIuI,EAAoB,GAUxB,OARIvI,EAAUtE,QACZ6M,EAAkBv+uB,KAAKzD,MAAMgivB,EAAmB7lG,GAAc,GAAIn4oB,GAAOsluB,GAAwBh7tB,OAAOw+tB,GAAW2M,EAAUjmuB,KAAMimuB,EAAUtE,UAAU,IAGrJsE,EAAU/2H,SACZs/H,EAAkBv+uB,KAAKzD,MAAMgivB,EAAmB7lG,GAAc,GAAIn4oB,GAAOsluB,GAAwBh7tB,OAAOpK,GAAMu1uB,EAAUjmuB,KAAMimuB,EAAU/2H,WAAW,IAG9Is/H,CACT,KACI5H,EAAqBj7uB,KAAKgrH,MAC1B83nB,EAAuB3a,GAAQnrF,GAAcA,GAAcA,GAAcA,GAAc,GAAIn4oB,GAAO+9uB,IAAa,GAAQ/9uB,GAAOw1uB,IAAe,GAAQx1uB,GAAOu9uB,IAAW,GAAQv9uB,GAAO89uB,IAAkB,GAAO9jvB,KAAI,SAAUojvB,GAC/N,OAAOr4nB,GAAQq4nB,GAAkBpjvB,KAAI,SAAUy8B,GAC7C,OAAOpyB,EAAMozuB,iBAAiBhhtB,EAChC,GACF,KAEA,IACE,IAAK,IAAIyntB,EAAuBn+uB,GAASq2uB,GAAqB+H,EAAyBD,EAAqB//uB,QAASggvB,EAAuB7/uB,KAAM6/uB,EAAyBD,EAAqB//uB,OAAQ,CACtM,IAAIq5uB,EAAoB2G,EAAuBlgvB,MAC/CggvB,EAAqBx+uB,KAAK+3uB,EAC5B,CACF,CAAE,MAAOzF,GACPnd,EAAO,CACL10tB,MAAO6xuB,EAEX,CAAE,QACA,IACMoM,IAA2BA,EAAuB7/uB,OAASzE,EAAKqkvB,EAAqBhluB,SAASrf,EAAGkC,KAAKmivB,EAC5G,CAAE,QACA,GAAItpB,EAAM,MAAMA,EAAK10tB,KACvB,CACF,CAEA,OAAO+9uB,CACT,EAEOnI,CACT,CArgDA,GCvCIvmL,IAAS,EAQb,SAAS6uL,GAAc9ysB,EAAQn1B,GAM7B,OALK8rtB,IAAmB,+BAAgC32rB,GAAYikhB,KAClEA,IAAS,EACT50gB,QAAQC,KAAK,sJAGR,IAAIk7rB,GAAUxqsB,EAAQn1B,EAC/B,CCHA,IAAI3a,GAASqtuB,GAITwV,GdyKJ,WACE,OAAO1V,GAAW1luB,GACpB,Ec1KI+ruB,GdmXJ,SAAmBxyuB,EAAQ2Z,GACzB,IAAK8rtB,MAAmBzluB,GAA4B,oBAAXA,GAAwB,CAC/D,IAAI8hvB,EAAmB9hvB,EAEvBA,EAAS,WAGP,IAFA,IAAIinB,EAAO,GAEFN,EAAK,EAAGA,EAAKtnB,UAAUC,OAAQqnB,IACtCM,EAAKN,GAAMtnB,UAAUsnB,GAGvB,IAAIgntB,EAA6C,oBAArBmU,EAAkCA,EAAiBtivB,WAAM,EAAQm8oB,GAAc,GAAIn4oB,GAAOyjB,IAAO,IAAU66tB,EAEvI,IAAKnU,EACH,MAAM,IAAIrmuB,MAAM,6FAGlB,OAAOqmuB,CACT,CACF,CAEA,OAAO13rB,IAAK,SAAU5zC,EAAG68B,GACvB,OAAOA,CACT,GAAGngC,GAASA,GAAS,CAAC,EAAG4a,GAAU,CACjC6qE,GAAIxkF,IAER,Eeja4ZmD,GAAUlE,GAAHC,GAAGD,GAAEG,GAAE,SAAAM,GAAC,OAAER,GAAEQ,EAAE,EAACP,GAAEgE,GAAE,CAAC4+uB,kBAAkB,SAAArivB,GAAI,IAAImL,GAAE1H,GAAE,CAAC46sB,cAAc,SAAAr+sB,GAAI,IAAI0D,GAAED,GAAE,CAACg+sB,mBAAmB,SAAAzhtB,GAAI,IAAIilC,GAAExhC,GAAE,CAACikrB,YAAY,SAAA1nrB,GAAC,MAAE,EAAE,IAAGzB,GAAEkF,GAAE,CAAC6+uB,WAAW,SAAAtivB,GAAC,MAAG,CAAC,CAAC,IAAIS,GAAEgD,GAAE,CAAC8+uB,QAAQ,SAAAvivB,GAAC,MAAG,CAAC,CAAC,IAAInB,GAAE4E,GAAE,CAACkkrB,yBAAyB,SAAA3nrB,GAAI,IAAIwC,GAAEiB,GAAE,CAACuwC,SAAS,SAAAh0C,GAAI,IAAImD,GAAEM,GAAE,CAAC2oM,gBAAgB,SAAApsM,GAAC,MAAG,CAAC,CAAC,IAAI4nB,GAAEnkB,GAAE,CAACokrB,eAAe,SAAC7nrB,EAAEU,GAAC,OAAGA,EAAEsG,IAAI,IAAGtE,GAAEe,GAAE,CAAC46sB,cAAc,SAACr+sB,EAAEU,GAAK,IAAInB,EAAE,OAAO,QAAQA,EAAEmB,EAAEsG,YAAO,IAASzH,OAAE,EAAOA,EAAE8+sB,aAAa,IAAI7/sB,GAAEiF,GAAE,CAACg+sB,mBAAmB,SAACzhtB,EAAEU,GAAK,IAAInB,EAAE6E,EAAE,OAAO,QAAQA,EAAE,QAAQ7E,EAAEmB,EAAEsG,YAAO,IAASzH,OAAE,EAAOA,EAAEg1tB,sBAAiB,IAASnwtB,OAAE,EAAOA,EAAEq9sB,kBAAkB,IAAIloL,GAAE91hB,GAAE,CAAC++uB,eAAe,SAAAxivB,GAAC,MAAE,sBAAsB,IAAGqE,GAAEZ,GAAE,CAAC++uB,eAAe,SAAAxivB,GAAC,MAAE,eAAe,IAAGyC,GAAEgB,GAAE,CAACg/uB,eAAe,SAACzivB,EAAEU,GAAK,IAAInB,EAAE6E,EAAQX,GAANsW,EAAAA,EAAAA,GAAS/Z,EAAE87tB,gBAAe,GAAnB,GAAoB,MAAM,CAAC9nrB,SAAS,QAAQz0C,EAAES,EAAEsivB,WAAW7+uB,UAAK,IAASlE,EAAEA,EAAES,EAAEsivB,WAAWtusB,SAAShV,SAAS,QAAQ56B,EAAEpE,EAAEsivB,kBAAa,IAASl+uB,OAAE,EAAOA,EAAE46B,SAAS,IAAIo0G,GAAE3vI,GAAE,CAAC2oM,gBAAgB,SAACpsM,EAAEU,GAAC,OAAGA,EAAEsG,IAAI,IAAGrE,GAAEc,GAAE,CAACikrB,YAAY,SAAC1nrB,EAAEU,GAAK,IAAInB,EAAE,MAAM,oBAAoBmB,EAAEsG,KAAKhB,KAAK,6EAAwE,QAAQzG,EAAEmB,EAAEsG,YAAO,IAASzH,OAAE,EAAOA,EAAEqY,UAAUlX,EAAEsG,IAAI,IAAIw7F,GAAE/+F,GAAE,CAACkkrB,yBAAyB,SAAC3nrB,EAAEU,GAAC,OAAGA,EAAEsG,KAAKwwtB,UAAU,IAAGvpO,GAAExqf,GAAE,CAACskrB,KAAK,SAAC/nrB,EAAEU,GAAC,OAAGA,EAAEsG,KAAK+grB,MAAMrnrB,EAAEsG,IAAI,IAAG2tD,GAAElxD,GAAE,CAACuwC,SAAS,SAACh0C,EAAEU,GAAK,IAAAgivB,EAA4C1ivB,EAAxCsivB,WAAqB/ivB,EAACmjvB,EAAV1usB,SAAwB5vC,EAACs+uB,EAAd3mB,aAAmB,OAAO33tB,IAAI7E,EAAC,GAAAvB,OAAIoG,GAACpG,OAAGuB,IAAKA,CAAC,IAAIwrL,GAAEtnL,GAAE,CAACgkrB,oBAAoB,SAACznrB,EAAEU,GAAC,OAAGA,EAAEsG,KAAKygrB,mBAAmB,IAAGh2J,GAAEhuhB,GAAE,CAACg/uB,eAAe,SAACzivB,EAAEU,GAAC,MAAI,CAACszC,SAASh0C,EAAEsivB,WAAWtusB,SAAS,IAAIw5C,GAAE/pF,GAAE,CAAC6+uB,WAAW,SAACtivB,EAAEU,GAAK,IAAAiivB,EAAsBjivB,EAAEsG,KAAbzH,EAACojvB,EAAN38uB,KAAa5B,EAACu+uB,EAAP5gvB,MAAgB,OAAOtD,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,EAAEsivB,aAAW9uuB,EAAAA,EAAAA,GAAA,GAAGjU,EAAG6E,GAAG,IAAIsthB,GAAEjuhB,GAAE,CAAC6+uB,WAAW,SAACtivB,EAAEU,GAAkE,OxBA/jB,SAAWnB,GAAO,QAAAs0B,EAAAl0B,UAAAC,OAAFI,EAAC,IAAApB,MAAAi1B,EAAA,EAAAA,EAAA,KAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAAD/mB,EAAC+mB,EAAA,GAAApnB,UAAAonB,GAAE,OAAOtoB,OAAOib,QAAQna,GAAGoa,QAAQ,SAACpa,EAACua,GAAA,IAAAod,GAAAnd,EAAAA,EAAAA,GAAAD,EAAA,GAAE1V,EAAC8yB,EAAA,GAACx3B,EAACw3B,EAAA,UAAIz4B,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEC,IAAEiU,EAAAA,EAAAA,GAAA,GAAGpP,EAAGpE,EAAEiuD,SAAS7pD,GAAG1E,EAAE,MAAMA,OAAE,EAAOA,EAAEgc,QAAQ,GAAE,CAAC,EAAE,CwBAkbtX,CAA5D3F,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,EAAEsivB,YAAY5hvB,EAAEsG,MAAiB,WAAW,IAAI+vD,GAAEtzD,GAAE,CAAC8+uB,QAAQ,SAACvivB,EAAEU,GAAK,IAAWnB,EAAGmB,EAAEsG,KAAVhB,KAAe,OAAOvH,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,EAAEuivB,UAAQ/uuB,EAAAA,EAAAA,GAAA,MAAAxV,OAAMuB,IAAK,GAAI,IAAIkC,GAAE,SAAAlC,GAAC,OAAES,EAAAA,GAAAA,SAAE,OAAO,OAAO,EAAM6rgB,IAAA1mB,MAAE,SAAA++O,IAAA,IAAAlkuB,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAAuC,OAAZjC,EAAGT,EAAZy0C,SAAQhjC,EAAA/O,KAAA,EAAmBvB,GAAAA,eAAiBV,GAAE,cAAAgR,EAAA+6f,OAAA,SAAA/6f,EAAAnO,MAAA,wBAAAmO,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAAG,EAACx/tB,GAAEjB,GAAE,CAAC6+uB,WAAW,SAACtivB,EAAEU,GAAK,IAAInB,EAAuCqjvB,GAArC7ouB,EAAAA,EAAAA,GAAoB/Z,EAAE87tB,gBAAe,MAA/B13tB,OAAC,IAAAw+uB,EAAC,WAAUA,EAAoB,IAAI5ivB,EAAEsivB,WAAWxvB,cAAc,iBAAiB1utB,EAAE,OAAOpE,EAAEsivB,WAAW,IAAiB7+uB,EAAkBzD,EAA7BsivB,WAA0B9ivB,EAAGQ,EAAhB+7tB,aAAkBr8tB,EAAE+D,EAAEqvtB,aAAa,eAAe,WAAWrztB,EAAE,GAAAzB,OAAG,QAAQuB,EAAEkE,EAAEs4tB,oBAAe,IAASx8tB,EAAEA,EAAEC,GAACxB,OAAGyF,EAAE/D,IAAK4Z,QAAQ,eAAe,IAAInO,EAAE1M,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEmE,IAAE+P,EAAAA,EAAAA,GAAA,GAAG9T,EAAGD,IAAI,cAAc0L,EAAE4wtB,aAAa5wtB,CAAC,4BCA59EnL,GAAE,SAACA,EAAE0D,EAAElE,EAAED,GAAC,OAAGkE,EAAAA,GAAAA,SAAE,OAAO,OAAO,EAAMoogB,IAAA1mB,MAAE,SAAA++O,IAAA,IAAAzguB,EAAAwhC,EAAA,OAAA4me,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAAoB,OAApB+O,EAAA/O,KAAA,EAA0BN,QAAQu1C,IAAI33C,EAAEzB,KAAK,SAAA2F,GAAC,OAAEA,EAAEzD,EAAE0D,EAAElE,EAAE,KAAG,OAAa,OAAtDiE,EAACuN,EAAAnO,KAAyCoiC,EAAEvkC,GAAAA,WAAE,EAAD,CAAC,CAAC,GAAC1C,QAAAm6B,EAAAA,GAAAA,GAAI10B,KAAEuN,EAAA+6f,OAAA,SAAQtsgB,GAAEwlC,GAAGtjC,QAAQC,UAAUD,QAAQE,OAAOojC,IAAE,wBAAAj0B,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAAG,ECAkHzguB,GAAE,CAACo/uB,iBAAgB,WAAG,OAAOnivB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA++O,IAAA,OAAAr4N,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,cAAA+O,EAAA+6f,OAAA,SAAmBxsgB,GAAAA,aAAa,wBAAAyR,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAAG,EAAElZ,eAAc,WAAG,OAAOtqtB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+/O,IAAA,OAAAr5N,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,cAAAmjuB,EAAAr5N,OAAA,SAAmBvsgB,GAAAA,4BAA4B,wBAAA4luB,EAAAlqoB,OAAA,GAAAgqoB,EAAA,IAAG,EAAE4d,aAAY,SAACvjvB,GAAG,OAAOmB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA49P,IAAA,OAAAl3O,IAAA3hZ,MAAA,SAAA84nB,GAAA,cAAAA,EAAA9luB,KAAA8luB,EAAA/gvB,MAAA,cAAA+gvB,EAAAj3O,OAAA,SAAmBvsgB,GAAAA,OAASf,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEC,GAAG,CAACoztB,WAAW,CAAC1koB,SAAQ,OAAM,wBAAA+0pB,EAAA9npB,OAAA,GAAA6npB,EAAA,IAAG,EAAEE,aAAY,SAAAppuB,GAAyB,IAAdta,EAACsa,EAAVm6B,SAAoBt0C,EAACma,EAAVmlB,SAAa,OAAOt+B,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+9P,IAAA,OAAAr3O,IAAA3hZ,MAAA,SAAAi5nB,GAAA,cAAAA,EAAAjmuB,KAAAimuB,EAAAlhvB,MAAA,cAAAkhvB,EAAAp3O,OAAA,SAAmBvsgB,GAAAA,OAASD,EAAEG,IAAE,wBAAAyjvB,EAAAjopB,OAAA,GAAAgopB,EAAA,IAAG,EAAEE,oBAAmB,SAAAtpuB,GAA2B,IAApBva,EAACua,EAANiuqB,KAAYrorB,EAACoa,EAAN03B,KAAe/tC,EAACqW,EAAT6psB,QAAY,OAAOjjtB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAk+P,IAAA,OAAAx3O,IAAA3hZ,MAAA,SAAAo5nB,GAAA,cAAAA,EAAApmuB,KAAAomuB,EAAArhvB,MAAA,cAAAqhvB,EAAAv3O,OAAA,SAAmBvsgB,GAAAA,cAAgBD,EAAEG,EAAE+D,IAAE,wBAAA6/uB,EAAApopB,OAAA,GAAAmopB,EAAA,IAAG,EAAEE,oBAAmB,SAAArstB,GAAqB,IAAV33B,EAAC23B,EAAV8c,SAAgBt0C,EAACw3B,EAANsa,KAAS,OAAO9wC,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAq+P,IAAA,OAAA33O,IAAA3hZ,MAAA,SAAAu5nB,GAAA,cAAAA,EAAAvmuB,KAAAumuB,EAAAxhvB,MAAA,OAAmB,OAAnBwhvB,EAAAxhvB,KAAA,EAAyBzC,GAAAA,cAAgBD,EAAEG,GAAE,cAAA+jvB,EAAA13O,OAAA,SAAA03O,EAAA5gvB,MAAA,wBAAA4gvB,EAAAvopB,OAAA,GAAAsopB,EAAA,IAAG,EAAEE,2BAA0B,SAAAn0sB,GAAgC,IAArBhwC,EAACgwC,EAAVyE,SAAgBt0C,EAAC6vC,EAANiC,KAAgB/tC,EAAC8rC,EAAVvQ,SAAa,OAAOt+B,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAw+P,IAAA,OAAA93O,IAAA3hZ,MAAA,SAAA05nB,GAAA,cAAAA,EAAA1muB,KAAA0muB,EAAA3hvB,MAAA,cAAA2hvB,EAAA73O,OAAA,SAAmBvsgB,GAAAA,qBAAuBD,EAAEG,EAAE+D,IAAE,wBAAAmgvB,EAAA1opB,OAAA,GAAAyopB,EAAA,IAAG,EAAEE,qBAAoB,SAACtkvB,GAAG,OAAOmB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA2+P,IAAA,OAAAj4O,IAAA3hZ,MAAA,SAAA65nB,GAAA,cAAAA,EAAA7muB,KAAA6muB,EAAA9hvB,MAAA,cAAA8hvB,EAAAh4O,OAAA,SAAmBvsgB,GAAAA,eAAiBD,IAAE,wBAAAwkvB,EAAA7opB,OAAA,GAAA4opB,EAAA,IAAG,EAAEE,qBAAoB,SAACzkvB,EAAEC,GAAG,OAAOkB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA8+P,IAAA,OAAAp4O,IAAA3hZ,MAAA,SAAAg6nB,GAAA,cAAAA,EAAAhnuB,KAAAgnuB,EAAAjivB,MAAA,wBAAAiivB,EAAAhppB,OAAA,GAAA+opB,EAAA,IAAe,EAAEE,qBAAoB,SAAC5kvB,EAAEC,EAAEiE,GAAG,OAAO/C,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAi/P,IAAA,IAAA1jvB,EAAAjB,EAAA2E,EAAA+G,EAAA,OAAA0ggB,IAAA3hZ,MAAA,SAAAm6nB,GAAA,cAAAA,EAAAnnuB,KAAAmnuB,EAAApivB,MAAA,OAAyC,GAAdvB,EAAGnB,EAAZy/B,SAA2Bx/B,EAAZw/B,UAAsBv7B,EAAC,CAAA4gvB,EAAApivB,KAAA,eAAAoivB,EAAAt4O,OAAA,SAAQ,MAAI,OAA6K,OAAtKtsgB,EAAE,GAAG2E,IAAI,MAAMX,OAAE,EAAOA,EAAE6gvB,yBAAyB5jvB,EAAEd,OAAOwE,GAAG3E,EAAE8D,KAAK,+BAADvF,OAAgCoG,EAAC,gBAAqB+G,EAAE,MAAM1H,OAAE,EAAOA,EAAE8gvB,yBAAwBF,EAAAt4O,OAAA,UAAQ,MAAM5ggB,GAAGA,EAAEgE,SAAS,SAAA5P,GAAI,OAAOA,GAAG,IAAI,qBAAqB,QAAQqhC,KAAKlgC,IAAIjB,EAAE8D,KAAK,yCAAyC,MAAM,IAAI,qBAAqB,QAAQq9B,KAAKlgC,IAAIjB,EAAE8D,KAAK,yCAAyC,MAAM,IAAI,mBAAmB,QAAQq9B,KAAKlgC,IAAIjB,EAAE8D,KAAK,8BAA8B,MAAM,IAAI,mBAAmB7D,GAAEgB,IAAIjB,EAAE8D,KAAK,yCAAyC,IAAI,IAAI9D,EAAEG,OAAO,CAACo/B,SAASv/B,GAAG,OAAI,wBAAA4kvB,EAAAnppB,OAAA,GAAAkppB,EAAA,IAAG,EAAEI,wBAAuB,SAACjlvB,EAAEC,GAAG,OAAOkB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAs/P,IAAA,IAAA/jvB,EAAAhB,EAAA+D,EAAAzD,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAAw6nB,GAAA,cAAAA,EAAAxnuB,KAAAwnuB,EAAAzivB,MAAA,OAA+E,OAApDvB,EAAsBnB,EAA/By/B,SAA4Bt/B,EAAGH,EAApB67tB,iBAAwC33tB,EAAcjE,EAA/B47tB,iBAA4Bp7tB,EAAGR,EAAZw/B,SAAQ0ltB,EAAA34O,OAAA,SAAarrgB,GAAGhB,GAAGgB,GAAGhB,IAAIgB,IAAIhB,IAAI+D,GAAGzD,IAAI,MAAMU,OAAE,EAAOA,EAAEd,SAAS,IAAI,MAAMF,OAAE,EAAOA,EAAEE,SAAS,GAAG,CAACw7tB,iBAAiB,kCAA6B,EAAO,MAAI,wBAAAspB,EAAAxppB,OAAA,GAAAuppB,EAAA,IAAG,EAAEE,0BAAyB,SAACplvB,EAAEC,GAAG,OAAOkB,EAAAA,GAAAA,IAAEzB,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAy/P,IAAA,OAAA/4O,IAAA3hZ,MAAA,SAAA26nB,GAAA,cAAAA,EAAA3nuB,KAAA2nuB,EAAA5ivB,MAAA,wBAAA4ivB,EAAA3ppB,OAAA,GAAA0ppB,EAAA,IAAe,GCA7hDjivB,GAAE,CAAC,UAAU,sBAAsBg6D,GAAE,SAAA38D,GAAC,OAAEN,GAAEM,EAAE,qBAAqB,EAACozI,GAAE,SAACpzI,EAAET,GAAC,OAAGS,IAAIT,CAAC,EAAC8E,GAAE,SAAArE,GAAC,OAAE2C,GAAEsrD,SAASjuD,EAAE,EAAC,SAAS2D,GAACkW,GAAc,IAAHna,EAACma,EAAVm6tB,SAAa,OAAOvwuB,GAAE,CAACs0G,QAAQ,OAAOzkG,GAAG,cAAckguB,4BAA2B,EAAGzL,OAAO,CAACvvqB,KAAK,CAAC2hC,OAAO,CAAC,CAAC75F,OAAO,oBAAoBmpuB,KAAK,oBAAoB,CAACnpuB,OAAO,aAAampuB,KAAK,oBAAoB,CAACnpuB,OAAO,YAAY2ztB,OAAO,CAACl8mB,QAAQ,OAAOkkc,KAAK,CAAC,kBAAkB,gBAAgB8rL,OAAO,CAAC54b,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAUwkvB,OAAO,CAACtuS,QAAQ,eAAeuuS,kBAAkB,oBAAoBrrB,gBAAgB,CAACr/sB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,kBAAkB0wjB,QAAQ,CAAChsK,QAAQ,oBAAoBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,mBAAmB,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,SAASmjrB,OAAO,CAAC,CAACxL,KAAK,kBAAkBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,0BAA0B,CAACmpuB,KAAK,sBAAsBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,8BAA8B,CAACmpuB,KAAK,4BAA4BjzR,QAAQ,CAAC,UAAU,mBAAmB,yBAAyBl2c,OAAO,iCAAiC,CAACk2c,QAAQ,UAAUl2c,OAAO,cAAckinB,QAAQ,CAAC,CAACinH,KAAK,gCAAgCjzR,QAAQ,CAAC,iBAAiB,0BAA0Bl2c,OAAO,YAAY,CAACmpuB,KAAK,uCAAuCjzR,QAAQ,CAAC,4BAA4B,iCAAiCl2c,OAAO,YAAY,CAACk2c,QAAQ,iBAAiBl2c,OAAO,WAAW2kvB,UAAU,CAAC5quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,uBAAuBmjrB,OAAO,CAAC,CAACxL,KAAK,4BAA4BnpuB,OAAO,0BAA0Bk2c,QAAQ,+BAA+B,CAACl2c,OAAO,aAAakinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,UAAU+tuB,SAAS,CAACl0oB,OAAO,yBAAyBj4F,SAAS,CAACi4F,OAAO,2BAA2Bw4nB,WAAW,CAAC56mB,QAAQ,UAAUgwnB,OAAO,CAACpzK,QAAQ,CAACt6iB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcllD,GAAG,CAAC89qB,aAAa,CAAC,CAACzb,KAAK,kBAAkBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,0BAA0B,CAACmpuB,KAAK,sBAAsBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,8BAA8B,CAACmpuB,KAAK,4BAA4BjzR,QAAQ,CAAC,UAAU,mBAAmB,yBAAyBl2c,OAAO,iCAAiC,CAACk2c,QAAQ,UAAUl2c,OAAO,0BAA0B6kvB,qBAAqB,CAAC3uS,QAAQ,iBAAiBl2c,OAAO,aAAa0kvB,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,SAASmjrB,OAAO,CAAC,CAACxL,KAAK,kBAAkBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,0BAA0B,CAACmpuB,KAAK,sBAAsBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,8BAA8B,CAACmpuB,KAAK,4BAA4BjzR,QAAQ,CAAC,UAAU,mBAAmB,yBAAyBl2c,OAAO,iCAAiC,CAACk2c,QAAQ,UAAUl2c,OAAO,0BAA0BkinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,yBAAyB+tuB,SAAS,CAACl0oB,OAAO,yBAAyBj4F,SAAS,CAACi4F,OAAO,2BAA2Bi8nB,cAAc,CAACr+mB,QAAQ,OAAOkkc,KAAK,CAAC,kBAAkB,aAAa,gBAAgB8rL,OAAO,CAAC54b,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAU4huB,QAAQ,sBAAsB4iB,OAAO,CAACtuS,QAAQ,iBAAiBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,gBAAgBmjrB,OAAO,CAAC30uB,OAAO,wBAAwBk2c,QAAQ,CAAC,UAAU,qBAAqB,4BAA4BgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,sBAAsB2lR,iBAAiB,CAAC1ltB,KAAK,WAAWwliB,KAAK,CAAC,kBAAkB,aAAa,gBAAgB8rL,OAAO,CAACqd,WAAW,CAACrtoB,QAAQ,UAAUgwnB,OAAO,CAACpzK,QAAQ,CAACmrF,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAAC30uB,OAAO,QAAQk2c,QAAQ,wBAAwBgsK,QAAQ,CAAClinB,OAAO,UAAUk2c,QAAQ,oBAAoB0xC,MAAM,CAAC57X,MAAM,cAAcygF,QAAQ,CAACzgF,MAAM,eAAellD,GAAG,CAAC86pB,QAAQ,sBAAsB4iB,OAAO,CAACtuS,QAAQ,cAAcl2c,OAAO,YAAY+kvB,KAAK,CAAC7uS,QAAQ,aAAal2c,OAAO,cAAc0kvB,OAAO,CAACjtoB,QAAQ,OAAOuU,MAAM,aAAay7mB,OAAO,CAACud,KAAK,CAACh5nB,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,cAAcg9F,SAAS,CAACgvB,MAAM,aAAawzhB,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAAC30uB,OAAO,UAAUk2c,QAAQ,wBAAwBgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,oBAAoBm+G,QAAQ,CAACt6iB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,mBAAmBmjrB,OAAO,CAAC,CAACxL,KAAK,sBAAsBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,8BAA8B,CAACmpuB,KAAK,kBAAkBjzR,QAAQ,CAAC,UAAU,oBAAoBl2c,OAAO,0BAA0B,CAACA,OAAO,WAAWk2c,QAAQ,CAAC,UAAU,oBAAoBgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,oBAAoB63R,SAAS,CAAC53tB,KAAK,QAAQ0jF,OAAO,6BAA6B47nB,UAAU,CAACh+mB,QAAQ,oBAAoBkkc,KAAK,CAAC,kBAAkB,aAAa,gBAAgB8rL,OAAO,CAAC/C,kBAAkB,CAACllF,OAAO,CAAChulB,IAAI,oBAAoBmjrB,OAAO,CAAC30uB,OAAO,OAAOk2c,QAAQ,qBAAqBgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,oBAAoBrnK,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAU4huB,QAAQ,sBAAsB4iB,OAAO,CAACtuS,QAAQ,iBAAiBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,kBAAkBmjrB,OAAO,CAACz+R,QAAQ,CAAC,qBAAqB,2BAA2Bl2c,OAAO,yBAAyBkinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,YAAYilvB,WAAW,CAACxtoB,QAAQ,OAAOkkc,KAAK,CAAC,kBAAkB,aAAa,gBAAgB8rL,OAAO,CAAC54b,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAU+huB,KAAK,wBAAwByiB,OAAO,CAACtuS,QAAQ,iBAAiBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,aAAawzhB,OAAO,CAAChulB,IAAI,aAAamjrB,OAAO,CAAC30uB,OAAO,kCAAkCkinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,YAAYi8tB,kBAAkB,CAACxknB,QAAQ,OAAOkkc,KAAK,CAAC,kBAAkB,aAAa,gCAAgC,yBAAyB,gBAAgB8rL,OAAO,CAAC54b,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAU+huB,KAAK,wBAAwByiB,OAAO,CAACtuS,QAAQ,iBAAiBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,aAAawzhB,OAAO,CAAChulB,IAAI,oBAAoBmjrB,OAAO,CAAC30uB,OAAO,yBAAyBkinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,YAAY+tuB,SAAS,CAAC53tB,KAAK,QAAQzP,KAAK,SAAAhH,GAAC,MAAG,CAAC+nrB,KAAK/nrB,EAAE+nrB,KAAK,GAAG7lrB,SAAS,CAACuU,KAAK,QAAQzP,KAAK,SAAChH,EAAET,GAAC,MAAI,CAACqrB,OAAO5qB,EAAEwivB,eAAeC,eAAezivB,EAAEyivB,eAAe,KAAK,CAACjsS,QAAQ,CAACgvS,uBAAuBphvB,GAAEqhvB,mBAAmBlnvB,GAAEmnvB,wBAAwBjlvB,GAAEklvB,WAAW1gtB,GAAE2gtB,gBAAgBz6uB,GAAE06uB,aAAanjvB,GAAEojvB,8BAA8BpivB,GAAEqivB,qBAAqBvjvB,GAAEwjvB,YAAYnnvB,GAAEonvB,aAAar+tB,GAAE2lpB,WAAW/7I,GAAE00N,iBAAiB/ivB,GAAEgjvB,iBAAiBl7jB,GAAEm7jB,8BAA8Bn4P,GAAEo4P,uBAAuB/sN,GAAEgtN,sBAAsBv7jB,GAAEw7jB,eAAe9jvB,GAAE+jvB,eAAehmrB,GAAEimrB,eAAe9xrB,GAAE+xrB,kBAAkBlovB,GAAEmovB,4BAA4Bl1N,GAAEm1N,QAAQpkpB,GAAEqkpB,0BAA0Bt1N,GAAE4wN,WAAW1ivB,MAAKqxE,OAAO,CAACg2qB,iBAAiB,SAAA9mvB,GAAC,MAAE,gBAAgB,MAAMA,OAAE,EAAOA,EAAE4qB,OAAO,EAACm8tB,iBAAiB,SAAA/mvB,GAAC,MAAE,sBAAsB,MAAMA,OAAE,EAAOA,EAAE4qB,OAAO,EAACo8tB,oBAAoB,SAAChnvB,EAAET,GAAC,OAAG8E,GAAEs4D,GAAEp9D,GAAG,EAAC0nvB,0BAA0B,SAACjnvB,EAAET,GAAC,OAAG6zI,GAAEz2E,GAAEp9D,GAAG,wBAAwB,EAAC2nvB,qCAAqC,SAAClnvB,EAAET,GAAC,MAAG,mCAAmCA,EAAEyH,KAAKwqC,IAAI,EAAC21sB,8BAA8B,SAACnnvB,EAAET,GAAC,MAAG,8BAA8BA,EAAEyH,KAAKwqC,IAAI,EAAC41sB,0BAA0B,SAACpnvB,EAAET,GAAK,IAAA8nvB,EAA+B9nvB,EAAEyH,KAAhBtG,EAAC2mvB,EAAZ7vB,WAAgC,OAAOj+L,GAAhB8tN,EAAV5vB,YAAiCl+L,GAAE74hB,EAAE,EAAE4mvB,gBAAgB,SAACtnvB,EAAET,GAAC,OAAG6zI,GAAEz2E,GAAEp9D,GAAG,YAAY,GAAEy0uB,SAAS,CAAC/f,OAAM,SAAC10tB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA++O,IAAA,IAAAqjB,EAAAvnvB,EAAAwnvB,EAAA9mvB,EAAA+C,EAAAhE,EAAAD,EAAA,OAAAqsgB,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAAiI,OAAjIslvB,EAAuDhovB,EAArCkjvB,eAAezivB,OAAC,IAAAunvB,EAAC,CAAC,EAACA,EAAAC,EAAkBjovB,EAAjB+ivB,WAAW5hvB,OAAC,IAAA8mvB,EAAC,CAAC,EAACA,EAAI/jvB,EAAEhF,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,GAAGU,GAAajB,EAAcgE,EAAvBuwC,SAAoBx0C,EAAGiE,EAAZu7B,SAAQhuB,EAAA/O,KAAA,EAAmBvC,EAAEujvB,aAAa,CAACjvsB,SAASv0C,EAAEu/B,SAASx/B,IAAG,cAAAwR,EAAA+6f,OAAA,SAAA/6f,EAAAnO,MAAA,wBAAAmO,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAAG,EAAE9N,cAAa,SAAC72tB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+/O,IAAA,IAAAlluB,EAAAyD,EAAAhE,EAAAD,EAAA,OAAAqsgB,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,OAAsG,OAAtEjC,EAAUT,EAAxB8+sB,cAAqB56sB,EAAGlE,EAARworB,KAA6BtorB,EAAGF,EAAE+ivB,WAAvBnnB,kBAAkC37tB,EAAE6E,GAAErE,GAAGA,OAAE,EAAMoluB,EAAAnjuB,KAAA,EAAcvC,EAAE0jvB,oBAAoB,CAACr7D,KAAKtkrB,EAAE+tC,KAAK/xC,EAAEkktB,QAAQnktB,IAAG,OAAC,OAAD4luB,EAAAnjuB,KAAA,EAAOvB,GAAAA,2BAA4B,cAAA0kuB,EAAAr5N,OAAA,SAAAq5N,EAAAviuB,MAAA,wBAAAuiuB,EAAAlqoB,OAAA,GAAAgqoB,EAAA,IAAG,EAAE/I,iBAAgB,SAACz8tB,GAAG,OAAOM,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA49P,IAAA,IAAA/ivB,EAAAyD,EAAAhE,EAAAD,EAAAjB,EAAAkC,EAAAwkC,EAAA+ogB,EAAA,OAAAniC,IAAA3hZ,MAAA,SAAA84nB,GAAA,cAAAA,EAAA9luB,KAAA8luB,EAAA/gvB,MAAA,OAAmS,OAA5QjC,EAAgBN,EAArBqorB,KAAkBtkrB,EAAG/D,EAAd4ivB,WAAgC9ivB,EAAoDiE,EAA7Du7B,SAA6Dv7B,EAAlD23tB,iBAAgC78tB,EAAkBkF,EAA/BqvtB,aAA4BrytB,EAAGgD,EAAhBs4tB,aAAkB92rB,GAAE1lC,EAAAA,GAAAA,IAAEkE,EAAE,CAAC,WAAW,mBAAmB,eAAe,iBAAiBlF,IAAIkB,EAAE,GAAAzB,OAAGyC,GAACzC,OAAGO,GAAI+a,QAAQ,eAAe,IAAI2rB,EAAExmC,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAE2lC,GAAG,CAAC6trB,aAAarztB,KAAKujvB,EAAA9luB,KAAA,EAAA8luB,EAAA/gvB,KAAA,EAAkBvB,GAAAA,oBAAsBV,EAAER,EAAEylC,GAAE,OAAnC,OAAD1lC,EAACyjvB,EAAAngvB,KAAAmgvB,EAAAj3O,OAAA,SAA2CxsgB,EAAE8+sB,cAAc9+sB,EAAEmB,GAAAA,4BAA4B,eAAAsivB,EAAA9luB,KAAA,GAAA8luB,EAAAzrrB,GAAAyrrB,EAAA,SAAAA,EAAAj3O,OAAA,SAAiBpqgB,QAAQE,OAAMmhvB,EAAAzrrB,KAAG,yBAAAyrrB,EAAA9npB,OAAA,GAAA6npB,EAAA,kBAAI,EAAE/d,kBAAiB,SAACzluB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+9P,IAAA,IAAAljvB,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAAi5nB,GAAA,cAAAA,EAAAjmuB,KAAAimuB,EAAAlhvB,MAAA,OAAsB,OAACjC,EAAGT,EAARworB,KAAIo7D,EAAAp3O,OAAA,SAAarrgB,GAAAA,UAAYV,IAAE,wBAAAmjvB,EAAAjopB,OAAA,GAAAgopB,EAAA,IAAG,EAAEjtB,gBAAe,SAAC12tB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAk+P,IAAA,IAAArjvB,EAAAN,EAAA+D,EAAA,OAAAoogB,IAAA3hZ,MAAA,SAAAo5nB,GAAA,cAAAA,EAAApmuB,KAAAomuB,EAAArhvB,MAAA,OAA2D,OAA9BjC,EAAUT,EAArB+ivB,WAAkB5ivB,EAAGH,EAARworB,KAA6BtkrB,EAAGzD,EAArBm7tB,kBAAiBmoB,EAAAv3O,OAAA,SAAarrgB,GAAAA,gBAAkBhB,EAAE+D,IAAE,wBAAA6/uB,EAAApopB,OAAA,GAAAmopB,EAAA,IAAG,EAAE3pB,gBAAe,SAACn6tB,EAAEG,GAAG,OAAOM,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAq+P,IAAA,IAAAxjvB,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAAu5nB,GAAA,cAAAA,EAAAvmuB,KAAAumuB,EAAAxhvB,MAAA,OAA4C,OAAjBjC,EAAGN,EAAEsH,KAAds3rB,SAAQmlD,EAAAxhvB,KAAA,EAAwBvB,GAAAA,gBAAkB,CAAC49rB,SAASt+rB,IAAG,cAAAyjvB,EAAA13O,OAAA,SAAA03O,EAAA5gvB,MAAA,wBAAA4gvB,EAAAvopB,OAAA,GAAAsopB,EAAA,IAAG,EAAEiE,qBAAoB,SAAClovB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAw+P,IAAA,IAAA3jvB,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAA05nB,GAAA,cAAAA,EAAA1muB,KAAA0muB,EAAA3hvB,MAAA,OAAmC,OAAZjC,EAAGT,EAARworB,KAAI67D,EAAA3hvB,KAAA,EAAmBvB,GAAAA,gBAAkBV,GAAE,cAAA4jvB,EAAA73O,OAAA,SAAA63O,EAAA/gvB,MAAA,wBAAA+gvB,EAAA1opB,OAAA,GAAAyopB,EAAA,IAAG,EAAE4B,WAAU,SAAChmvB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA2+P,IAAA,IAAA9jvB,EAAAN,EAAA,OAAAmsgB,IAAA3hZ,MAAA,SAAA65nB,GAAA,cAAAA,EAAA7muB,KAAA6muB,EAAA9hvB,MAAA,OAAmD,OAAlBjC,EAAGT,EAAE+ivB,WAApBoF,eAAc3D,EAAA9hvB,KAAA,EAAyBvB,GAAAA,2BAA6BV,GAAE,OAAtC,OAADN,EAACqkvB,EAAAlhvB,KAAAkhvB,EAAAh4O,OAAA,UAA8CxsgB,EAAE8ivB,kBAAkBrivB,EAAEN,IAAC,wBAAAqkvB,EAAA7opB,OAAA,GAAA4opB,EAAA,IAAG,EAAEvnB,kBAAiB,SAACh9tB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA8+P,IAAA,IAAAjkvB,EAAAN,EAAA,OAAAmsgB,IAAA3hZ,MAAA,SAAAg6nB,GAAA,cAAAA,EAAAhnuB,KAAAgnuB,EAAAjivB,MAAA,OAAmF,OAA/CjC,EAAGT,EAArB8ivB,kBAA0C3ivB,EAAGH,EAAE+ivB,WAAvBnnB,kBAAiB+oB,EAAAjivB,KAAA,EAA8BvB,GAAAA,iCAAmCV,EAAEN,GAAE,cAAAwkvB,EAAAn4O,OAAA,SAAAm4O,EAAArhvB,MAAA,wBAAAqhvB,EAAAhppB,OAAA,GAAA+opB,EAAA,IAAG,EAAE0D,eAAc,SAACpovB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAi/P,IAAA,OAAAv4O,IAAA3hZ,MAAA,SAAAm6nB,GAAA,cAAAA,EAAAnnuB,KAAAmnuB,EAAApivB,MAAA,cAAAoivB,EAAAt4O,OAAA,SAAmBvsgB,GAAED,EAAE+ivB,WAAW/ivB,EAAEgjvB,QAAQhjvB,EAAEqovB,iBAAiB,CAACnmvB,GAAAA,qBAAuBA,GAAAA,2BAA2B,wBAAA4ivB,EAAAnppB,OAAA,GAAAkppB,EAAA,IAAG,IAAI,CCAl/T,IAAM3kvB,GAAEO,GAAE,CAAC+3G,QAAQ,UAAUzkG,GAAG,eAAekguB,4BAA2B,EAAGzL,OAAO,CAACpzK,QAAQ,CAACt6iB,KAAK,CAAC,WAAWyloB,OAAO,CAAChulB,IAAI,UAAUmjrB,OAAO,WAAWzyH,QAAQ,aAAa6rH,SAAS,CAAC53tB,KAAK,SAASvU,SAAS,CAACuU,KAAK,WAAW,CAACu9tB,SAAS,CAAC/sD,QAAQ,kBAAI1nrB,GAAAA,SAAW,qBCA0G,IAAamD,GpBobjc,SAAgB+ruB,GACd,MAAO,CACLh4tB,KAAM6utB,GAAAA,OACNmJ,MAAOA,EAEX,EoBzbsc,SAAStruB,KAAI,OAAOM,GAAE,CAAC6P,GAAG,gBAAgBykG,QAAQ,OAAO5nG,QAAQ,CAAC43qB,UAAK,EAAO34oB,OAAO,CAAC,EAAE4ksB,SAAS7ouB,GAAEkxoB,cAAS,EAAOwrG,UAAS,GAAIrU,4BAA2B,EAAGzL,OAAO,CAACud,KAAK,CAACxlG,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAACz+R,QAAQ,UAAUl2c,OAAO,iBAAiBkinB,QAAQ,CAAClinB,OAAO,WAAWw9F,MAAM,CAACia,QAAQ,aAAagwnB,OAAO,CAAC+f,WAAW,CAAC1grB,GAAG,CAAC59D,KAAK,CAACgtc,QAAQ,CAAC,YAAY,eAAel2c,OAAO,iBAAiBynvB,YAAY,CAACjoG,OAAO,CAAChulB,IAAI,mBAAmBmjrB,OAAO,CAACz+R,QAAQ,qBAAqBl2c,OAAO,sBAAsB0nvB,iBAAiB,CAAC7tpB,OAAO,CAAC,CAAC75F,OAAO,wBAAwBmpuB,KAAK,wBAAwB,CAACnpuB,OAAO,+BAA+BmpuB,KAAK,+BAA+B,CAACnpuB,OAAO,6BAA6B2ztB,OAAO,CAACl8mB,QAAQ,aAAagwnB,OAAO,CAAC8O,WAAW,CAAC18oB,OAAO,CAACq8W,QAAQ,mBAAmBl2c,OAAO,aAAa2nvB,SAAS,CAAC37nB,MAAM,qBAAqB2vb,KAAK,oBAAoB70e,GAAG,CAAC8grB,QAAQ,SAAS3mB,eAAe,gBAAgB,0BAA0B,CAAC,CAACjhuB,OAAO,SAASk2c,QAAQ,mBAAmBizR,KAAK,0BAA0B,CAACnpuB,OAAO,gBAAgBk2c,QAAQ,mBAAmBizR,KAAK,iCAAiC,CAACnpuB,OAAO,gBAAgBk2c,QAAQ,uBAAuBg0Q,OAAO,CAACzymB,QAAQ,aAAagwnB,OAAO,CAAC8O,WAAW,CAAC18oB,OAAO,CAACq8W,QAAQ,mBAAmBl2c,OAAO,aAAa2nvB,SAAS,CAAC37nB,MAAM,qBAAqB2vb,KAAK,mBAAmB02K,WAAW,CAAC7yE,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,+BAA+BzyH,QAAQ,2CAA2Cp7iB,GAAG,CAAC86pB,QAAQ,SAAS,0BAA0B,CAAC5huB,OAAO,wBAAwBk2c,QAAQ,mBAAmBizR,KAAK,sBAAsBpN,cAAc,CAACtknB,QAAQ,aAAagwnB,OAAO,CAAC8O,WAAW,CAAC18oB,OAAO,CAACq8W,QAAQ,0BAA0Bl2c,OAAO,aAAa2nvB,SAAS,CAAC37nB,MAAM,qBAAqB2vb,KAAK,2BAA2B70e,GAAG,CAAC86pB,QAAQ,SAAS,iCAAiC,CAAC5huB,OAAO,SAASk2c,QAAQ,sBAAsBywO,QAAQ,CAAClvkB,QAAQ,aAAagwnB,OAAO,CAAC8O,WAAW,CAAC18oB,OAAO,CAACq8W,QAAQ,oBAAoBl2c,OAAO,aAAa2nvB,SAAS,CAAC37nB,MAAM,qBAAqB2vb,KAAK,CAAC,mBAAmB,eAAe70e,GAAG,CAAC,2BAA2B,CAAC,CAAC9mE,OAAO,QAAQmpuB,KAAK,eAAe,CAACnpuB,OAAO,6BAA6B0xsB,cAAc,CAACj6lB,QAAQ,OAAOgwnB,OAAO,CAACud,KAAK,CAACl+qB,GAAG,CAAC+grB,cAAc,gBAAgBC,YAAY,CAACtoG,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAACz+R,QAAQ,UAAUl2c,OAAO,QAAQkinB,QAAQ,CAAClinB,OAAO,6BAA6B8mE,GAAG,CAACihrB,SAAS,aAAajhrB,GAAG,CAAC09qB,OAAO,CAACtuS,QAAQ,kBAAkB6uS,KAAK,CAAC7uS,QAAQ,kBAAkB8rR,OAAO,CAAC9rR,QAAQ,kBAAkBuuS,kBAAkB,CAACvuS,QAAQ,kBAAkB0uS,aAAa,CAAC1uS,QAAQ,kBAAkB8xS,OAAO,CAAC9xS,QAAQ,kBAAkB0rR,QAAQ,CAAC1rR,QAAQ,kBAAkB6rR,KAAK,CAAC7rR,QAAQ,oBAAoB,CAACA,QAAQ,CAAC+xS,eAAe7lvB,GAAE,CAAC,CAAC+muB,KAAK,WAAWjzR,QAAQ/2c,IAAG,SAAAF,GAAC,OAAEA,EAAE88oB,QAAQ,OAAMuqG,QAAQlnvB,GAAE,CAACqorB,KAAK,SAACxorB,EAAEkE,GAAC,OAAGA,EAAEuD,IAAI,IAAGwhvB,iBAAiB9ovB,GAAE,CAAC+ovB,cAAc,SAAClpvB,EAAEkE,GAAK,IAAIhE,EAAEC,EAAE,MAAM,CAAC+ivB,eAAehkvB,OAAOa,OAAO,CAAC,EAAE,QAAQG,EAAEgE,EAAEuD,YAAO,IAASvH,OAAE,EAAOA,EAAEgjvB,gBAAgB73tB,OAAO,QAAQlrB,EAAE+D,EAAEuD,YAAO,IAAStH,OAAE,EAAOA,EAAEkrB,OAAO,EAAEm9pB,KAAK,SAACxorB,EAAEkE,GAAK,IAAIhE,EAAE,OAAO,QAAQA,EAAEgE,EAAEuD,YAAO,IAASvH,OAAE,EAAOA,EAAEsorB,IAAI,IAAI2gE,UAAUhpvB,GAAE,CAACqorB,UAAK,IAAS4gE,mBAAmBjpvB,GAAE,CAAC+ovB,mBAAc,IAASG,mBAAmBlpvB,GAAE,CAAC0vC,OAAM,SAAC7vC,EAAEkE,GAAG,IAAIhE,EAAEC,EAAEM,EAAEU,EAAElB,EAAE4E,EAAE3D,EAAElC,EAAE4M,EAAQ85B,EAAE,QAAQvlC,EAAE,QAAQD,EAAEgE,EAAEuD,KAAK6hvB,uCAAkC,IAASppvB,OAAE,EAAOA,EAAE3B,KAAK,SAAAyB,GAAC,OAAEA,EAAEga,aAAa,WAAK,IAAS7Z,EAAEA,EAAE,GAAGgD,EAAE,QAAQhC,EAAE,QAAQV,EAAEyD,EAAEuD,KAAK8hvB,2CAAsC,IAAS9ovB,OAAE,EAAOA,EAAElC,KAAK,SAAAyB,GAAC,OAAEA,EAAEga,aAAa,WAAK,IAAS7Y,EAAEA,EAAE,GAAGyC,EAAE,QAAQiB,EAAE,QAAQ5E,EAAEiE,EAAEuD,KAAK+hvB,qCAAgC,IAASvpvB,OAAE,EAAOA,EAAE1B,KAAK,SAAAyB,GAAC,OAAEA,EAAEga,aAAa,WAAK,IAASnV,EAAEA,EAAE,GAAG6pf,EAAE,QAAQ1vf,EAAE,QAAQkC,EAAEgD,EAAEuD,KAAKgivB,oCAA+B,IAASvovB,OAAE,EAAOA,EAAE3C,KAAK,SAAAyB,GAAC,OAAEA,EAAEga,aAAa,WAAK,IAAShb,EAAEA,EAAE,GAAGiE,EAAEiB,EAAEuD,KAAKiivB,0CAA0C,CAAC,EAAE,IAAIhktB,EAAErlC,QAAQqlC,EAAE1hC,KAAK,YAAY,IAAA2lvB,EAA0F3pvB,EAAE6vC,OAAtEozD,EAAC0mpB,EAAjBptB,gBAAmC7wiB,EAACi+jB,EAAlBjtB,iBAAmCv4tB,EAACwlvB,EAAjBphE,gBAA+BlgqB,EAACshuB,EAAdpiE,aAAsC,MAAM,CAACg1C,gBAAgB,MAAMt5nB,EAAEA,EAAEv9D,EAAEg+rB,WAAW,QAAQ93tB,EAAEtM,GAAnEqqvB,EAAZjmB,mBAAsF,IAAS93tB,EAAEA,EAAE,CAAC,EAAEy8uB,iBAAiBplvB,EAAEy5tB,iBAAiB,MAAMhxiB,EAAEA,EAAErsL,MAAM2K,KAAK,IAAIsP,IAAI,GAAD7a,QAAAm6B,EAAAA,GAAAA,GAAKz1B,IAACy1B,EAAAA,GAAAA,GAAIh1B,MAAK2krB,gBAAgB,MAAMpkrB,EAAEA,EAAEuqf,EAAEv5d,OAAOoypB,aAAal/pB,EAAE,IAAIuhuB,iBAAiBzpvB,GAAE,CAAC28oB,SAAS,SAAC98oB,EAAEkE,GAAK,IAAIhE,EAAEC,EAAEgB,EAAElB,EAAEiB,EAAElC,EAAE4M,EAAqkB,OAAOnL,GAApjBoE,GAAE,CAAC4vuB,SAAPz0uB,EAAZy0uB,WAAgC7C,YAAY,CAACsR,eAAe,QAAQ/ivB,EAAE,QAAQD,EAAEF,EAAEkpvB,qBAAgB,IAAShpvB,OAAE,EAAOA,EAAEgjvB,sBAAiB,IAAS/ivB,EAAEA,EAAE,CAAC,EAAEqorB,KAAKxorB,EAAEworB,KAAKn9pB,OAAO,QAAQlqB,EAAEnB,EAAEkpvB,qBAAgB,IAAS/nvB,OAAE,EAAOA,EAAEkqB,OAAOmxsB,aAAa,KAAKumB,WAAW,CAAC,EAAEC,QAAQ,CAAC,EAAEn2iB,gBAAgB,CAAC,EAAEw7iB,iBAAiB,QAAQpovB,EAAED,EAAE6vC,cAAS,IAAS5vC,OAAE,EAAOA,EAAEoovB,iBAAiB9rB,gBAAgB,QAAQr7tB,EAAElB,EAAE6vC,cAAS,IAAS3uC,OAAE,EAAOA,EAAEq7tB,gBAAgBh0C,gBAAgB,QAAQvprB,EAAEgB,EAAE6vC,cAAS,IAAS7wC,OAAE,EAAOA,EAAEuprB,gBAAgBm7C,WAAW,QAAQ93tB,EAAE5L,EAAE6vC,cAAS,IAASjkC,OAAE,EAAOA,EAAE83tB,aAAwB,CAACj9tB,KAAK,eAAe,IAAIojvB,iBAAiB1pvB,GAAE,CAAC28oB,SAAS,SAAC98oB,EAAEkE,GAAK,IAAIhE,EAAEC,EAAEgB,EAAElB,EAAE4E,EAAE3D,EAAElC,EAAsBmE,ECAxqJ,SAAUmX,GAAc,IAAHpX,EAACoX,EAAVm6tB,SAAa,OAAOv0uB,GAAE,CAAC6T,GAAG,cAAcykG,QAAQ,OAAOy7nB,4BAA2B,EAAGzL,OAAO,CAACvvqB,KAAK,CAAC2hC,OAAO,CAAC,CAAC75F,OAAO,gBAAgBmpuB,KAAK,2BAA2B,CAACnpuB,OAAO,YAAYkqtB,OAAO,CAAC/zsB,KAAK,WAAWwliB,KAAK,CAAC,aAAa,kBAAkB,gBAAgB8rL,OAAO,CAACqd,WAAW,CAACrtoB,QAAQ,UAAUgwnB,OAAO,CAACpzK,QAAQ,CAACmrF,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAAC30uB,OAAO,QAAQk2c,QAAQ,wBAAwBgsK,QAAQ,CAAClinB,OAAO,UAAUk2c,QAAQ,oBAAoB0xC,MAAM,CAAC57X,MAAM,cAAcygF,QAAQ,CAACzgF,MAAM,eAAellD,GAAG,CAAC09qB,OAAO,CAACtuS,QAAQ,cAAcl2c,OAAO,YAAY+kvB,KAAK,CAAC7uS,QAAQ,aAAal2c,OAAO,cAAc+ovB,WAAW,CAACtxoB,QAAQ,OAAOgwnB,OAAO,CAACud,KAAK,CAACh5nB,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,YAAYykvB,kBAAkB,oBAAoBrrB,gBAAgB,CAACr/sB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,kBAAkBmjrB,OAAO,wBAAwBzyH,QAAQ,CAAChsK,QAAQ,oBAAoBl5W,SAAS,CAACgvB,MAAM,aAAawzhB,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAAC30uB,OAAO,UAAUk2c,QAAQ,wBAAwBgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,oBAAoBm+G,QAAQ,CAACt6iB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,mBAAmB,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,SAASmjrB,OAAO,CAAC,CAACxL,KAAK,oBAAoBnpuB,OAAO,cAAck2c,QAAQ,CAAC,UAAU,mBAAmB,CAACl2c,OAAO,WAAWk2c,QAAQ,CAAC,UAAU,iBAAiB,4BAA4BgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,oBAAoB8yS,YAAY,CAACnvpB,OAAO,CAAC75F,OAAO,wBAAwBk2c,QAAQ,wBAAwB63R,SAAS,CAAC53tB,KAAK,QAAQ0jF,OAAO,kCAAkC25nB,cAAc,CAAC/7mB,QAAQ,OAAOgwnB,OAAO,CAAC54b,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAUwkvB,OAAO,CAACtuS,QAAQ,eAAe6uS,KAAK,CAAC7uS,QAAQ,cAAc8xS,OAAO,WAAWiB,OAAO,CAAClvuB,KAAK,CAAC,WAAWiyG,MAAM,aAAawzhB,OAAO,CAAChulB,IAAI,yBAAyBmjrB,OAAO,CAAC30uB,OAAO,QAAQkinB,QAAQ,CAAC,CAAClinB,OAAO,wBAAwBk2c,QAAQ,sBAAsBizR,KAAK,0BAA0B,CAACnpuB,OAAO,OAAOk2c,QAAQ,qBAAqBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,gBAAgBmjrB,OAAO,CAAC30uB,OAAO,wBAAwBk2c,QAAQ,uBAAuBgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,sBAAsB63R,SAAS,CAAC53tB,KAAK,QAAQzP,KAAK,SAAChH,EAAET,GAAK,IAAAiqvB,EAA6BxpvB,EAAEyivB,eAAhB/hvB,EAAC8ovB,EAAVx1sB,SAAoBv0C,EAAC+pvB,EAAVxqtB,SAA6B,MAAM,CAAC+opB,KAAKrorB,GAAEH,EAAE,cAAcS,EAAE+nrB,KAAK06D,eAAe,CAACzusB,SAAStzC,EAAEs+B,SAASv/B,GAAGmrB,OAAO5qB,EAAE4qB,OAAO,KAAK,CAACkmD,OAAO,CAAC24qB,uBAAuB,SAACzpvB,EAAET,GAAC,MAAG,+BAA+BA,EAAEyH,KAAK4Q,OAAO,EAAC8xuB,wBAAwB,SAAA1pvB,GAAC,OAAEA,EAAE4qB,QAAQ,kBAAkB5qB,EAAE4qB,MAAM,EAAC++tB,kBAAkB,SAAC3pvB,EAAET,GAAC,OAAGA,EAAEyH,KAAK2jtB,aAAa,GAAEn0Q,QAAQ,CAACmvS,WAAWpnvB,GAAEqnvB,gBAAgB3gtB,GAAE4gtB,aAAaplvB,GAAEslvB,qBAAqB56uB,GAAE66uB,YAAYtivB,GAAEuivB,aAAapnvB,GAAE0uqB,WAAW7qqB,GAAEwjvB,iBAAiB1jvB,GAAE+jvB,eAAejtN,GAAEktN,eAAerjvB,GAAEsjvB,eAAex7jB,GAAE2+jB,uBAAuBhiuB,GAAEg/tB,QAAQ77jB,GAAEo3jB,WAAW/9uB,KAAIylvB,oBAAoBrqvB,GAAE,CAACorB,OAAO,SAAA5qB,GAAC,MAAE,mBAAmB,MAAMA,OAAE,EAAOA,EAAE4qB,QAAQ,mBAAmB,YAAY,KAAIoptB,SAAS,CAAClgB,cAAa,SAACv0tB,EAAEmB,GAAG,OAAOV,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA++O,IAAA,IAAAlkuB,EAAAU,EAAAjB,EAAA2E,EAAA5E,EAAA,OAAAqsgB,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAA4H,OAArGjC,EAAiCT,EAAtCworB,KAAsBrnrB,EAAgBnB,EAA/BkjvB,eAA4BhjvB,EAAGF,EAAd+ivB,WAAmCl+uB,EAAG3E,EAArB07tB,kBAAuB37tB,EAAEE,GAAEM,EAAE,aAAaN,GAAEgB,EAAE,YAAWsQ,EAAA/O,KAAA,EAAcQ,EAAE8gvB,oBAAoB,CAACvvsB,SAASx0C,EAAEgyC,KAAKptC,IAAG,cAAA4M,EAAA+6f,OAAA,SAAA/6f,EAAAnO,MAAA,wBAAAmO,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAAG,EAAE/d,uBAAsB,SAACzltB,EAAEjB,GAAG,OAAOO,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+/O,IAAA,IAAAlluB,EAAAP,EAAA2E,EAAA,OAAAyngB,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,OAA+E,OAAxDjC,EAAoBU,EAAzBqnrB,KAAsBtorB,EAAGiB,EAAlB+hvB,eAAoBr+uB,EAAE1E,GAAEM,EAAE,aAAaN,GAAED,EAAE,YAAW2luB,EAAAr5N,OAAA,SAAQxsgB,GAAAA,aAAe6E,IAAE,wBAAAghuB,EAAAlqoB,OAAA,GAAAgqoB,EAAA,IAAG,EAAExL,gBAAe,SAACh6tB,EAAEgB,GAAG,OAAOV,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA49P,IAAA,IAAA/ivB,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAA84nB,GAAA,cAAAA,EAAA9luB,KAAA8luB,EAAA/gvB,MAAA,OAA4C,OAAjBjC,EAAGU,EAAEsG,KAAds3rB,SAAQ0kD,EAAA/gvB,KAAA,EAAwB1C,GAAAA,gBAAkB,CAAC++rB,SAASt+rB,IAAG,cAAAgjvB,EAAAj3O,OAAA,SAAAi3O,EAAAngvB,MAAA,wBAAAmgvB,EAAA9npB,OAAA,GAAA6npB,EAAA,IAAG,EAAEv4B,OAAM,SAACjrtB,EAAEG,GAAG,OAAOM,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+9P,IAAA,IAAAljvB,EAAAN,EAAAkyoB,EAAAk4G,EAAA1lvB,EAAA5E,EAAAiE,EAAA,OAAAoogB,IAAA3hZ,MAAA,SAAAi5nB,GAAA,cAAAA,EAAAjmuB,KAAAimuB,EAAAlhvB,MAAA,OAAub,OAA1ZjC,EAAqBT,EAAhC+ivB,WAA6B5ivB,EAAGH,EAAnBu8tB,gBAAelqF,GAAA73nB,EAAAA,EAAAA,GAAqBra,EAAC,GAAAoqvB,EAAAl4G,EAAA,GAAMxtoB,EAAcpE,OAAlC,IAAA8pvB,EAAC,WAAUA,GAAoBtqvB,EAAGQ,EAAZg/B,SAAcv7B,EAAE/C,GAAEV,GAAG,SAACA,EAAET,GAAK,OAAOA,GAAG,IAAI,UAAU,IAAI,YAAY,IAAI,QAAQ,IAAI,cAAc,IAAI,SAAS,IAAI,aAAa,IAAI,SAAS,IAAI,cAAc,IAAI,OAAO,IAAI,WAAW,IAAI,eAAe,IAAI,UAAU,IAAI,qBAAqB,IAAI,UAAU,IAAI,aAAa,IAAI,UAAU,IAAI,WAAW,OAAM,EAAG,QAAQ,OAAOA,EAAE8yE,WAAW,WAAW,IAAG8wqB,EAAAlhvB,KAAA,EAAcQ,EAAEqgvB,aAAa,CAAC9usB,SAAS5vC,EAAE46B,SAASx/B,EAAEqhH,WAAWp9G,IAAG,cAAA0/uB,EAAAp3O,OAAA,SAAAo3O,EAAAtgvB,MAAA,wBAAAsgvB,EAAAjopB,OAAA,GAAAgopB,EAAA,IAAG,EAAE6G,eAAc,SAACxqvB,EAAEG,GAAG,OAAOM,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAAk+P,IAAA,OAAAx3O,IAAA3hZ,MAAA,SAAAo5nB,GAAA,cAAAA,EAAApmuB,KAAAomuB,EAAArhvB,MAAA,cAAAqhvB,EAAAv3O,OAAA,SAAmBtogB,GAAElE,EAAE+ivB,WAAW/ivB,EAAEgjvB,QAAQhjvB,EAAEqovB,iBAAiB,CAACnlvB,EAAE0hvB,qBAAqB1hvB,EAAE+hvB,wBAAwB/hvB,EAAEkivB,0BAA0BlivB,EAAEuhvB,wBAAsB,wBAAAV,EAAApopB,OAAA,GAAAmopB,EAAA,IAAG,IAAI,CDAogBp+sB,CAAE,CAAC+usB,SAAPz0uB,EAAZy0uB,WAAgC7C,YAAY,CAACsR,eAAe,QAAQ/ivB,EAAE,QAAQD,EAAEF,EAAEkpvB,qBAAgB,IAAShpvB,OAAE,EAAOA,EAAEgjvB,sBAAiB,IAAS/ivB,EAAEA,EAAE,CAAC,EAAEq8tB,aAAa,KAAKnxsB,OAAO,QAAQlqB,EAAEnB,EAAEkpvB,qBAAgB,IAAS/nvB,OAAE,EAAOA,EAAEkqB,OAAO03tB,WAAW,CAAC,EAAEC,QAAQ,CAAC,EAAEn2iB,gBAAgB,CAAC,EAAE0vhB,gBAAgB,QAAQt8tB,EAAED,EAAE6vC,cAAS,IAAS5vC,OAAE,EAAOA,EAAEs8tB,gBAAgBh0C,gBAAgB,QAAQ1jrB,EAAE7E,EAAE6vC,cAAS,IAAShrC,OAAE,EAAOA,EAAE0jrB,gBAAgBm7C,WAAW,QAAQxiuB,EAAElB,EAAE6vC,cAAS,IAAS3uC,OAAE,EAAOA,EAAEwiuB,WAAW2kB,iBAAiB,QAAQrpvB,EAAEgB,EAAE6vC,cAAS,IAAS7wC,OAAE,EAAOA,EAAEqpvB,mBAAmB,OAAO5nvB,GAAE0C,EAAE,CAACsD,KAAK,eAAe,IAAIgkvB,wBAAwBtqvB,GAAE,CAAC28oB,SAAS,SAAC98oB,EAAEkE,GAAK,IAAIhE,EAAEC,EAAEgB,EAAElB,EAAE4E,EAAsB+G,EEA34K,SAAU0O,GAAc,IAAHrX,EAACqX,EAAVm6tB,SAAa,OAAOtzuB,GAAE,CAAC4S,GAAG,qBAAqBykG,QAAQ,OAAOy7nB,4BAA2B,EAAGzL,OAAO,CAACvvqB,KAAK,CAAC2hC,OAAO,CAAC,CAAC75F,OAAO,uBAAuBmpuB,KAAK,yBAAyBjzR,QAAQ,cAAc,CAACl2c,OAAO,mBAAmB+7tB,cAAc,CAACtknB,QAAQ,OAAOkkc,KAAK,CAAC,kBAAkB,aAAa,gBAAgB8rL,OAAO,CAAC54b,KAAK,CAAC7iL,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,UAAUwkvB,OAAO,CAACtuS,QAAQ,eAAe6uS,KAAK,CAAC7uS,QAAQ,gBAAgBwuS,OAAO,CAAC3quB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAc,cAAcwzhB,OAAO,CAAChulB,IAAI,gBAAgBmjrB,OAAO,CAAC30uB,OAAO,4CAA4CkinB,QAAQ,CAAChsK,QAAQ,CAAC,kBAAkBl2c,OAAO,YAAYg8tB,qBAAqB,CAAC7ltB,KAAK,WAAWwliB,KAAK,CAAC,kBAAkB,aAAa,gBAAgB,gBAAgB8rL,OAAO,CAACqd,WAAW,CAACrtoB,QAAQ,UAAUgwnB,OAAO,CAACpzK,QAAQ,CAACmrF,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAAC30uB,OAAO,QAAQk2c,QAAQ,wBAAwBgsK,QAAQ,CAAClinB,OAAO,UAAUk2c,QAAQ,oBAAoB0xC,MAAM,CAAC57X,MAAM,cAAcygF,QAAQ,CAACzgF,MAAM,eAAellD,GAAG,CAAC09qB,OAAO,CAACtuS,QAAQ,cAAcl2c,OAAO,YAAY+kvB,KAAK,CAAC7uS,QAAQ,aAAal2c,OAAO,cAAc+ovB,WAAW,CAACtxoB,QAAQ,OAAOgwnB,OAAO,CAACud,KAAK,CAACh5nB,MAAM,aAAallD,GAAG,CAACk7pB,OAAO,CAAC9rR,QAAQ,eAAel2c,OAAO,YAAYgovB,OAAO,aAAaxD,OAAO,CAACtuS,QAAQ,eAAe6uS,KAAK,CAAC7uS,QAAQ,gBAAgBl5W,SAAS,CAACgvB,MAAM,aAAawzhB,OAAO,CAAChulB,IAAI,iBAAiBmjrB,OAAO,CAAC30uB,OAAO,UAAUk2c,QAAQ,wBAAwBgsK,QAAQ,CAAClinB,OAAO,OAAOk2c,QAAQ,oBAAoBwwO,WAAW,CAAC3sqB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,gBAAgBmjrB,OAAO,CAAC30uB,OAAO,QAAQkinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,UAAUq0jB,QAAQ,CAACt6iB,KAAK,CAAC,WAAWiyG,MAAM,CAAC,aAAa,cAAcwzhB,OAAO,CAAChulB,IAAI,uBAAuBmjrB,OAAO,CAACz+R,QAAQ,gBAAgBl2c,OAAO,gCAAgCkinB,QAAQ,CAAChsK,QAAQ,iBAAiBl2c,OAAO,cAAc+tuB,SAAS,CAAC53tB,KAAK,WAAW,CAAC+/b,QAAQ,CAACmvS,WAAWvhvB,GAAEwhvB,gBAAgBnivB,GAAEoivB,aAAanmvB,GAAEuqvB,cAAcxqvB,GAAEsmvB,qBAAqBxnvB,GAAEynvB,YAAY/gtB,GAAEghtB,aAAaxlvB,GAAE8sqB,WAAW7pqB,GAAEsjrB,WAAW77qB,GAAEq7uB,eAAe3nvB,GAAE4nvB,eAAe/jvB,GAAEwnvB,YAAY/mvB,GAAEg/uB,WAAW5ivB,MAAKuxE,OAAO,CAACq5qB,uBAAuB,SAACnqvB,EAAEU,GAAC,SAAMV,EAAE4qB,QAAQ,yBAAyB5qB,EAAE4qB,OAAO,GAAEoptB,SAAS,CAAC3X,cAAa,SAAC37tB,GAAG,OAAOV,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA++O,IAAA,IAAAlkuB,EAAA,OAAA6rgB,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAA0B,OAACjC,EAAGU,EAAZszC,SAAQhjC,EAAA+6f,OAAA,SAAavpgB,EAAEqhvB,qBAAqB7jvB,IAAE,wBAAAgR,EAAAkqF,OAAA,GAAAgpoB,EAAA,IAAG,EAAE5H,qBAAoB,SAAC57tB,GAAG,OAAOV,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA+/O,IAAA,IAAAlluB,EAAAoqvB,EAAA7qvB,EAAAC,EAAA,OAAAqsgB,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,OAA6D,OAAlCjC,EAAGU,EAAZszC,SAAQo2sB,EAAuC1pvB,EAAE4hvB,WAAhB/ivB,EAAC6qvB,EAAnBjvB,kBAA6B37tB,EAAC4qvB,EAAVprtB,SAAQomsB,EAAAr5N,OAAA,SAAwBvpgB,EAAEkhvB,2BAA2B,CAAC1vsB,SAASh0C,EAAEwxC,KAAKjyC,EAAEy/B,SAASx/B,KAAG,wBAAA4luB,EAAAlqoB,OAAA,GAAAgqoB,EAAA,IAAG,EAAEyiB,eAAc,SAACjnvB,EAAEnB,GAAG,OAAOS,EAAAA,GAAAA,IAAEf,UAAK,OAAO,EAAM4sgB,IAAA1mB,MAAE,SAAA49P,IAAA,OAAAl3O,IAAA3hZ,MAAA,SAAA84nB,GAAA,cAAAA,EAAA9luB,KAAA8luB,EAAA/gvB,MAAA,cAAA+gvB,EAAAj3O,OAAA,SAAmBvsgB,GAAEkB,EAAE4hvB,WAAW5hvB,EAAE6hvB,QAAQ7hvB,EAAEknvB,iBAAiB,CAAC78jB,GAAAA,qBAAuBA,GAAAA,2BAA2B,wBAAAi4jB,EAAA9npB,OAAA,GAAA6npB,EAAA,IAAG,IAAI,CFAuvFxkvB,CAAE,CAACy1uB,SAAPz0uB,EAAZy0uB,WAAgC7C,YAAY,CAACmR,WAAW,CAAC,EAAEC,QAAQ,CAAC,EAAE33tB,OAAO,QAAQnrB,EAAEF,EAAEkpvB,qBAAgB,IAAShpvB,OAAE,EAAOA,EAAEmrB,OAAOopB,SAAS,QAAQtzC,EAAE,QAAQhB,EAAEH,EAAEkpvB,qBAAgB,IAAS/ovB,OAAE,EAAOA,EAAE+ivB,sBAAiB,IAAS/hvB,OAAE,EAAOA,EAAEszC,SAASivrB,WAAW,QAAQzjuB,EAAED,EAAE6vC,cAAS,IAAS5vC,OAAE,EAAOA,EAAEyjuB,WAAW72hB,gBAAgB,CAAC,EAAEw7iB,iBAAiB,QAAQxjvB,EAAE7E,EAAE6vC,cAAS,IAAShrC,OAAE,EAAOA,EAAEwjvB,mBAAmB,OAAO5nvB,GAAEmL,EAAE,CAACnF,KAAK,sBAAsB,IAAIqkvB,kBAAkB3qvB,GAAE,CAAC28oB,SAAS,SAAA98oB,GAAyC,OAAOS,GAApCS,GAAAA,YAAc,CAACsnrB,KAAKxorB,EAAEworB,OAAkB,CAAC/hrB,KAAK,gBAAgB,IAAIskvB,gBAAgB9qvB,GAAE,eAAe+qvB,gBAAgB/qvB,GAAE,eAAegrvB,uBAAuBhrvB,GAAE,sBAAsBirvB,iBAAiBjrvB,GAAE,gBAAgB0+B,UAAUx+B,IAAG,SAAC+D,EAAEhE,GAAW,IAAAC,EAAED,EAAEuH,KAAehH,EAAGN,EAAZs0uB,SAActzuB,GAAEnB,EAAAA,GAAAA,IAAEG,EAAE,CAAC,aAAa,MAAM,CAACs0uB,SAASv1uB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAE6L,IAAGnL,GAAGovC,OAAO1uC,EAAE,IAAIgqvB,YAAYhrvB,GAAE,CAACmovB,UAAS,KAAM/2qB,OAAO,CAAC65qB,qBAAqB,SAAAprvB,GAAC,MAAE,WAAWA,EAAE6vC,OAAO03oB,YAAY,EAAC8jE,4BAA4B,SAAArrvB,GAAC,MAAE,kBAAkBA,EAAE6vC,OAAO03oB,YAAY,EAAC+jE,uBAAuB,SAACtrvB,EAAEkE,GAAK,IAAIhE,EAAE,MAAM,mBAAmB,QAAQA,EAAEgE,EAAEuD,YAAO,IAASvH,OAAE,EAAOA,EAAEmrB,OAAO,EAAEkguB,8BAA8B,SAACvrvB,EAAEkE,GAAK,IAAIhE,EAAE,MAAM,0BAA0B,QAAQA,EAAEgE,EAAEuD,YAAO,IAASvH,OAAE,EAAOA,EAAEmrB,OAAO,EAAEk8tB,iBAAiB,SAACvnvB,EAAEkE,GAAK,IAAIhE,EAAEC,EAAE,MAAM,gBAAgB,QAAQD,EAAEgE,EAAEuD,YAAO,IAASvH,OAAE,EAAOA,EAAEmrB,SAAS,sBAAsB,QAAQlrB,EAAE+D,EAAEuD,YAAO,IAAStH,OAAE,EAAOA,EAAEkrB,OAAO,EAAEmguB,YAAY,SAAAxrvB,GAAC,OAAE,IAAKA,EAAEsovB,QAAQ,EAACmD,SAAS,SAAAzrvB,GAAC,QAAIA,EAAE88oB,QAAQ,GAAE23F,SAAS,CAAChpB,eAAe,SAACzrtB,EAAEkE,GAAC,OAAGlE,EAAEy0uB,SAAShpB,gBAAgB,EAAC63B,iBAAiB,SAACtjvB,EAAEkE,GAAC,OAAGlE,EAAEy0uB,SAAS6O,kBAAkB,IAAG,CAAC,SAAShkvB,GAAEU,GAAG,OAAOA,GAAGd,OAAOgR,KAAKlQ,GAAG4P,SAAS,SAAA1L,GAAIhF,OAAOgR,KAAKlQ,EAAEkE,IAAI0L,SAAS,SAAA1P,GAAI,IAAIC,EAAEH,EAAEkE,GAAGhE,GAAGC,EAAEsyC,SAAStyC,EAAEk0E,UAAU,GAAG,IAAIr0E,CAAC,CGK5/O,SAAS0rvB,GAAqBpxuB,GAAgB,IAAbpG,EAAQoG,EAARpG,SAQvBy3uB,GAAoBvouB,EAAAA,EAAAA,YAAWylqB,IAC/BxB,EAAUgyD,GAAauS,IACvBppvB,GAAQ+8nB,EAAAA,EAAAA,UAAQ,kBAAQosH,GAAoB,CAAEtkE,QAAAA,EAA6B,GAAG,CAACskE,EAAmBtkE,IACvFwkE,EAAkBrpvB,EAA3B6krB,QAKR,OAJAjoD,EAAAA,EAAAA,YAAU,WAEN,OADoB0sH,GAAgBD,EAExC,GAAG,CAACA,IACI9ouB,EAAAA,cAAoB8lqB,GAAqB70qB,SAAU,CAAExR,MAAOA,GAAS0R,EACjF,CCtBwB,IAAMlU,GAAEkE,EAAAA,cAAgB,MAAMzD,GAAE,WAAK,IAAMA,EAAEyD,EAAAA,WAAalE,IAAG,IAAIS,EAAE,MAAM,IAAI4H,MAAM,wFAAwF,OAAO5H,CAAC,ECA3HwgE,GAAE,CAAC+woB,OAAO,SAAS+5C,MAAM,QAAQh6C,SAAS,WAAWD,OAAO,UAAU3xsB,GAAuB,kBAAIM,GAAET,GAAAA,aAAe,EAA5CG,GAAmE,kBAAIM,GAAET,GAAAA,gBAAkB,EAA3FG,GAA4G,kBAAIM,GAAET,GAAAA,kBAAoB,EAAtIG,GAAsJ,kBAAIM,GAAET,GAAAA,QAAU,EAAtKG,GAAyL,kBAAIM,GAAET,GAAAA,WAAa,EAA5MG,GAA2S,kBAAIM,GAAET,GAAAA,QAAU,EAA3TG,GAAsU,kBAAIM,GAAET,GAAAA,GAAK,EAAjVG,GAAoW,kBAAIM,GAAET,GAAAA,YAAc,EAAxXG,GAAyY,kBAAIM,GAAET,GAAAA,UAAY,EAA3ZG,GAA2a,kBAAIM,GAAET,GAAAA,QAAU,EAA3bG,GAAqf,kBAAIM,GAAET,GAAAA,OAAS,EAApgBG,GAAuhB,kBAAIM,GAAET,GAAAA,WAAa,EAA1iBG,GAA4jB,kBAAIM,GAAET,GAAAA,YAAc,EAAhlBG,GAAkmB,kBAAIM,GAAET,GAAAA,eAAiB,EAAznBG,GAAgpB,SAAA8gE,GAAC,OAAExgE,GAAEwgE,EAAEjhE,GAAAA,gBAAkBA,GAAAA,qBAAuB,EAAhsBG,GAAktB,kBAAIM,GAAET,GAAAA,kBAAoB,EAA5uBG,GAA2vB,kBAAIM,GAAET,GAAAA,eAAiB,EAAlxBG,GAA0yB,kBAAIM,GAAET,GAAAA,iBAAmB,EAAn0BG,GAAy1B,kBAAIM,GAAET,GAAAA,eAAiB,EAAh3BG,GAAw4B,SAAA8gE,GAAI,IAAA3mD,EAAsC,MAAM2mD,EAAEA,EAAE,CAAC,EAA5B9gE,EAACma,EAAhByqsB,eAA6B5htB,EAACmX,EAAb0xuB,YAA4BtgkB,EAAE,UAAUvrL,EAAE+D,EAAE,QAAQ/D,EAAED,EAAEO,GAAET,GAAAA,cAAgB,OAAI0rL,GAAIxnL,EAAmC,GAAAzF,OAASgC,GAAEirL,EAAE1rL,GAAAA,aAAeA,GAAAA,aAAc,KAAAvB,OAAI0E,EAAC,MAAA1E,OAAKyB,EAAC,KAAtF,GAAAzB,OAASgC,GAAET,GAAAA,WAAY,MAAAvB,OAAKyB,EAAC,IAA4D,EAAhlCC,GAAwmC,SAAA8gE,GAAI,IAAqB9gE,GAAG,MAAM8gE,EAAEA,EAAE,CAAC,GAA7B8jpB,eAA+B5htB,EAAE,UAAUhD,EAAE,OAAOM,GAAE0C,GAAG,QAAQhD,EAAEgD,EAAEnD,GAAAA,WAAaA,GAAAA,UAAYA,GAAAA,aAAe,EAA/tCG,GAAkvC,SAAA8gE,GAAI,OAAOA,GAAG,IAAI,UAAU,OAAOxgE,GAAET,GAAAA,aAAe,IAAI,qBAAqB,OAAOS,GAAET,GAAAA,cAAgB,QAAQ,MAAM,IAAIqI,MAAM,GAAD5J,OAAIgC,GAAE,0DAAyD,KAAAhC,OAAIwiE,IAAK,EAAv7C9gE,GAAk9C,kBAAIM,GAAET,GAAAA,eAAiB,EAAz+CG,GAA2/C,kBAAIM,GAAET,GAAAA,WAAa,EAA9gDG,GAAkrD,kBAAIM,GAAE,SAAS,EAAjsDN,GAA8tD,SAACH,EAAEG,GAAC,OAAGM,GAAE,QAADhC,OAAS,WAAWuB,EAAE,KAAK,KAAI,UAAAvB,OAASwiE,GAAE9gE,IAAK,EAArxDA,GAAkyD,kBAAIM,GAAET,GAAAA,KAAO,EAA/yDG,GAA8zD,kBAAIM,GAAET,GAAAA,OAAS,EAA70DG,GAAm2D,kBAAIM,GAAET,GAAAA,eAAiB,EAA13DG,GAAs5D,kBAAIM,GAAET,GAAAA,eAAiB,ECAt4DA,GAAEmB,EAAAA,YAAc,SAACnB,EAAEkE,GAAK,IAAchE,EAAcF,EAAxBuS,UAAqBrR,EAAGlB,EAAZkU,SAAcwxB,GAAEjlC,EAAAA,GAAAA,IAAET,EAAE,CAAC,YAAY,aAAa,OAAOmB,EAAAA,cAAgBgD,GAAEjF,OAAOa,OAAO,CAACwS,UAAUtS,GAAE4E,GAAAA,KAAO3E,GAAGiX,IAAIjT,GAAGwhC,GAAGxkC,EAAE,IAAIlB,GAAE68B,YAAY,OCApI,IAAyF35B,GAAE,GAAG8H,KAAK4kiB,GAAGtwiB,GAAEU,EAAAA,YAAc,SAACkB,EAAElC,GAAK,IAAcM,EAA+G4B,EAAzHqR,UAAwBtP,EAAiG/B,EAA7G+qvB,YAAyB3ruB,EAAoFpf,EAA/FgrvB,WAAkB/ovB,EAA6EjC,EAAlFmf,KAAiBzU,EAAiE1K,EAA3EirvB,UAASC,EAAkElrvB,EAA/DmrvB,cAAczovB,OAAC,IAAAwovB,GAAGA,EAAAE,EAA6CprvB,EAA5CqrvB,uBAAuB/gkB,OAAC,IAAA8gkB,GAAGA,EAAAE,EAAiBtrvB,EAAhBurvB,WAAWpkuB,OAAC,IAAAmkuB,EAAC,EAACA,EAAIpovB,GAAE3D,EAAAA,GAAAA,IAAES,EAAE,CAAC,YAAY,cAAc,aAAa,OAAO,YAAY,gBAAgB,yBAAyB,eAAemnB,EAAErd,KAAK05B,IAAIrc,EAAE,KAAK,IAAMijK,EAAC,GAAA7sL,OAAI4pB,EAAErd,KAAK25B,IAAItc,EAAE,GAAE,KAAI6pgB,EAAErthB,GAAE3E,GAAAA,OAASiB,GAAEjB,GAAAA,OAASiD,GAAGhC,GAAEjB,GAAAA,OAAS0L,GAAGhI,EAAE1D,GAAAA,kBAAoB,KAAKZ,GAAG6yhB,EAAEnyhB,EAAAA,cAAgB,IAAI,KAAKA,EAAAA,cAAgB,OAAO,CAACi5F,GAAG,IAAI7iC,GAAG,OAAO8iC,GAAG,MAAMC,GAAG,MAAMx/E,MAAM,CAAC+yuB,OAAO79uB,OAAOyR,IAAI,cAAplB,iBAAsmBtgB,EAAAA,cAAgB,OAAO,CAACi5F,GAAG,IAAI7iC,GAAGxyD,EAAE0nL,EAAE,OAAOpyF,GAAG,MAAMC,GAAG,MAAMx/E,MAAM,CAAC+yuB,OAAO9ovB,GAAG,IAAIykB,EAAE,OAAOplB,EAAE4L,OAAO5L,QAAG,GAAQ,cAAtsB,kBAAwtBW,EAAE5D,EAAAA,cAAgB,OAAO,CAAC,YAAY,SAASuS,UAAU1N,GAAE3E,GAAAA,qBAAuBsrL,EAAEtrL,GAAAA,eAAiB,MAAMogB,EAAC,GAAA7hB,QAAK,EAAE4pB,EAAC,KAAInlB,EAAE,QAAQooL,GAAG,MAAMppL,EAAElC,EAAAA,cAAgB,IAAI,KAAKA,EAAAA,cAAgB,SAAS,CAACkphB,GAAG,MAAMjtW,GAAG,MAAM96K,EAAE,MAAMilB,YAAY,KAAKzM,MAAM,CAAC+yuB,OAAO79uB,OAAOyR,IAAI,cAA18B,mBAA49BtgB,EAAAA,cAAgB,SAAS,CAACkphB,GAAG,MAAMjtW,GAAG,MAAM96K,EAAE,MAAMilB,YAAY,KAAKzM,MAAM,CAAC+yuB,OAAO79uB,OAAO5L,GAAG+iB,gBAAgBpiB,EAAC,GAAAnF,OAAIyE,GAAC,MAAAzE,OAAKyE,GAAC,UAAI,EAAO+iB,iBAAiBriB,EAAEV,GAAEA,GAAEmlB,EAAE,IAAI,SAAI,GAAQ,cAAtnC,oBAAwoCzkB,EAAE5D,EAAAA,cAAgB,OAAO,CAAC,YAAY,SAASuS,UAAU1N,GAAE3E,GAAAA,qBAAuBsrL,EAAEtrL,GAAAA,eAAiB,MAAMogB,EAAE,OAAOpd,EAAE,OAAOooL,GAAG,MAAM,OAAOtrL,EAAAA,cAAgB0lC,GAAExmC,OAAOa,OAAO,CAACw8B,GAAG,MAAMhqB,UAAU2/gB,EAAE,YAAY/uhB,EAAE,iBAAiByI,EAAEuL,IAAInY,EAAE09B,KAAK,OAAOt4B,GAAG,WAAWwH,EAAEumhB,EAAEjwhB,EAAE,IAAI5C,GAAEu9B,YAAY,SCA/2C,IAAM79B,GAAEkB,EAAAA,YAAc,SAAClB,EAAEmF,GAAS,IAAAyH,EAAatM,EAA4GN,EAAtHuT,UAAqBrR,EAAiGlC,EAA1GkV,SAAQy4uB,EAAkG3tvB,EAA/F4tvB,YAAY3pvB,OAAC,IAAA0pvB,GAAGA,EAAY1tvB,EAAmED,EAA9E48M,WAAuBw2U,EAAuDpzhB,EAAjEgvF,UAAS6+pB,EAAwD7tvB,EAArD8tvB,YAAY3pvB,OAAC,IAAA0pvB,EAAC,GAAEA,EAAMxkuB,EAA+BrpB,EAApCqhB,KAAI0suB,EAAgC/tvB,EAA7BkY,KAAK+rF,OAAC,IAAA8ppB,EAAC,SAAQA,EAAWjovB,EAAG9F,EAAbmtvB,UAAevovB,GAAE5D,EAAAA,GAAAA,IAAEhB,EAAE,CAAC,YAAY,WAAW,cAAc,aAAa,YAAY,cAAc,OAAO,OAAO,cAAoBshB,EAAEzb,GAAE5E,GAAAA,OAASA,GAAAA,kBAAoBQ,GAAER,GAAAA,OAAS6E,GAAGrE,GAAER,GAAAA,OAASooB,GAAGnkB,GAAEjE,GAAAA,OAAS,WAAW,QAAQ2L,EAAE,MAAM3M,EAAEA,EAAEmzhB,SAAI,IAASxmhB,EAAEA,EAAEhI,EAAEsmB,UAAUhmB,GAAEjE,GAAAA,OAAS,UAAUmyhB,GAAGluhB,GAAEjE,GAAAA,OAAS,YAAYgD,GAAG3D,GAAG,OAAOY,EAAAA,cAAgBC,GAAEjB,OAAOa,OAAO,CAACoX,IAAIhT,EAAEo4B,GAAG,SAAShqB,UAAU+N,EAAE,iBAAiBrd,EAAE,eAAemvhB,EAAE,YAAY/pgB,EAAE,iBAAiBvjB,EAAE82M,WAAW,MAAM38M,EAAEA,EAAEmzhB,EAAEl7gB,KAAK+rF,GAAGr/F,GAAGwuhB,EAAElyhB,EAAAA,cAAgBwlC,GAAE,CAACnJ,GAAG,OAAOhqB,UAAUtS,GAAAA,qBAAuBC,EAAAA,cAAgBiB,GAAE,CAACkf,KAAKgI,IAAIllB,GAAG,MAAMjC,EAAE,IAAIlC,GAAE69B,YAAY,SCAv0B,IAAM34B,GAAElE,EAAAA,YAAc,SAACkE,EAAE/D,GAAK,IAAA6svB,EAA+D9ovB,EAA3Dq4B,GAAGr7B,OAAC,IAAA8rvB,EAAC,IAAGA,EAAWhuvB,EAAwCkF,EAAlDqO,UAAqBtP,EAA6BiB,EAAtCgQ,SAAuBwxB,EAAexhC,EAA3B6irB,YAAwBznrB,EAAG4E,EAAbiovB,UAAevgvB,GAAE/G,EAAAA,GAAAA,IAAEX,EAAE,CAAC,KAAK,YAAY,WAAW,cAAc,cAAoB+8D,EAAE9/D,GAAEjB,GAAAA,KAAOO,GAAEP,GAAAA,KAAOZ,GAAGW,GAAEC,GAAAA,KAAO,YAAYwlC,GAAG1mC,GAAG,OAAOgB,EAAAA,cAAgBmE,GAAEjF,OAAOa,OAAO,CAACw8B,GAAGr7B,EAAEqR,UAAU0uD,EAAE,gBAAgBv7B,EAAE,iBAAiBpmC,EAAE6X,IAAIhX,GAAGyL,GAAG3I,EAAE,IAAIiB,GAAE24B,YAAY,OCA1lB,IAA2M18B,GAAE,SAAAgB,GAAI,IAAMV,EAAE,IAAIwsvB,SAAS9rvB,EAAEJ,QAAQ,OAAO7B,OAAOguvB,YAAYzsvB,EAAE,ECArG,SAASoE,KAAI,IAAA+9oB,EAA8CzhpB,IAAG,SAAAV,GAAC,MAAE,CAACA,EAAEknrB,WAAWlnrB,EAAEmnrB,WAAWnnrB,EAAE8lX,WAAW,IAA3E1hX,EAAC+9oB,EAAZ+kC,WAAwBxjrB,EAACy+oB,EAAZglC,WAAwBh8qB,EAACg3oB,EAAZr8R,WAA+D,MAAM,CAACynT,YAAWvtqB,EAAAA,EAAAA,cAAG,SAAA6Z,GAAqB,IAAN7Z,EAAC6Z,EAAdvZ,OAAQ0F,KAAYtC,EAAE,CAACsC,KAAKhG,GAAG,GAAG,CAAC0D,IAAIgpvB,cAAa1svB,EAAAA,EAAAA,cAAG,SAAA8Z,GAA8C,IAAA6yuB,EAAA7yuB,EAA5CxZ,OAAgBN,EAAC2svB,EAATh7sB,QAAepyC,EAACotvB,EAAN3mvB,KAAYtF,EAACisvB,EAANl2uB,KAAarS,EAACuovB,EAAP5qvB,MAAaoJ,EAAE,CAACnF,KAAKzG,EAAEwC,MAAM,aAAarB,GAAIV,EAASoE,OAAP,GAAU,GAAG,CAAC+G,IAAI86uB,cAAajmvB,EAAAA,EAAAA,cAAG,SAAAA,GAAIA,EAAE4kG,iBAAiBxgG,EAAE7E,GAAES,GAAG,GAAG,CAACoE,IAAI,CCA9T,IAAMX,GAAE,SAAAA,GAAS,IAAWW,EAAGX,EAAbqO,UAAerS,GAAEO,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,cAAc,OAAOlE,EAAAA,cAAgBmB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUtS,GAAEkE,GAAAA,KAAOU,IAAI3E,GAAGF,EAAAA,cAAgB,MAAM,CAAC86B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BxlhB,EAAAA,cAAgB,OAAO,CAAChB,EAAE,uPAAuP25B,KAAK,kBAAkB,ECA/iBz0B,GAAE,SAAAA,GAAS,IAAWW,EAAGX,EAAbqO,UAAerS,GAAEO,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,cAAc,OAAOjE,EAAAA,cAAgBkB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUvS,GAAEmE,GAAAA,KAAOU,IAAI3E,GAAGD,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BvlhB,EAAAA,cAAgB,OAAO,CAACjB,EAAE,oIAAoI25B,KAAK,kBAAkB,ECA5bz0B,GAAE,SAAAA,GAAS,IAAWW,EAAGX,EAAbqO,UAAerS,GAAEO,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,cAAc,OAAOjE,EAAAA,cAAgBkB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUvS,GAAEmE,GAAAA,KAAOU,IAAI3E,GAAGD,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BvlhB,EAAAA,cAAgB,OAAO,CAACjB,EAAE,+NAA+N25B,KAAK,kBAAkB,ECAvhBz0B,GAAE,SAAAA,GAAS,IAAWW,EAAGX,EAAbqO,UAAerS,GAAEO,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,cAAc,OAAOjE,EAAAA,cAAgBkB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUvS,GAAEmE,GAAAA,KAAOU,IAAI3E,GAAGD,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BvlhB,EAAAA,cAAgB,OAAO,CAACjB,EAAE,4DAA4D25B,KAAK,kBAAkB,ECAnL14B,GAAE,SAAAqa,GAA8B,IAAlBra,EAACqa,EAAX6xuB,UAAuBnsvB,EAACsa,EAAZ6+oB,WAAiB,OAAOl5pB,GAAG,IAAI,OAAO,OAAOkB,EAAAA,cAAgB0D,GAAE,CAAC,cAAc7E,EAAEuS,UAAU9R,GAAAA,YAAc,IAAI,QAAQ,OAAOU,EAAAA,cAAgB+C,GAAE,CAAC,cAAclE,EAAEuS,UAAU9R,GAAAA,YAAc,IAAI,UAAU,OAAOU,EAAAA,cAAgBD,GAAE,CAAC,cAAclB,EAAEuS,UAAU9R,GAAAA,YAAc,IAAI,UAAU,OAAOU,EAAAA,cAAgBhB,GAAE,CAAC,cAAcH,EAAEuS,UAAU9R,GAAAA,YAAc,QAAQ,OAAO,KAAK,EAAER,GAAE48B,YAAY,YCAjlB,IAAM38B,GAAE,SAAAA,GAAI,IAAgBgE,EAAUhE,EAApBqS,UAAiB1N,EAAG3E,EAARmgB,KAAUqlB,GAAEjlC,EAAAA,GAAAA,IAAEP,EAAE,CAAC,YAAY,SAAS,OAAOD,EAAAA,cAAgBkB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAMj2B,EAAEA,EAAE,MAAMqtB,OAAO,MAAMrtB,EAAEA,EAAE,MAAM0N,UAAUvS,GAAEmE,GAAAA,KAAOD,IAAIwhC,GAAGzlC,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,6BAA6B7rgB,MAAM9U,EAAE,CAACi2B,MAAMj2B,EAAEqtB,OAAOrtB,QAAG,GAAQ5E,EAAAA,cAAgB,OAAO,CAACjB,EAAE,gHAAgH25B,KAAK,kBAAkB,ECAjO35B,GAAEgB,EAAAA,YAAc,SAAChB,EAAEM,GAAK,IAAcsM,EAA4I5M,EAAtJutqB,UAAqBttqB,EAAiID,EAA1IkV,SAAqBmU,EAAqHrpB,EAA/HuT,UAAS86uB,EAAsHruvB,EAAnH0mrB,mBAAmBh3L,OAAC,IAAA2+P,EAAClpvB,GAAAA,mBAA0BkpvB,EAAAC,EAAoEtuvB,EAAnEqmQ,QAAQvgQ,OAAC,IAAAwovB,GAAGA,EAAS9hkB,EAA8CxsL,EAAtD21qB,QAAO44E,EAA+CvuvB,EAA5CwuvB,cAAct7N,OAAC,IAAAq7N,GAAGA,EAAW3pvB,EAAe5E,EAAzByuvB,UAAsBr7N,EAAGpzhB,EAAbmtvB,UAAeh6N,GAAE1xhB,EAAAA,GAAAA,IAAEzB,EAAE,CAAC,YAAY,WAAW,YAAY,qBAAqB,UAAU,UAAU,gBAAgB,YAAY,cAAc0uvB,EAAW1tvB,EAAAA,UAAW,GAAG2tvB,GAAAnzuB,EAAAA,EAAAA,GAAAkzuB,EAAA,GAAnBz7N,EAAC07N,EAAA,GAACxqvB,EAACwqvB,EAAA,GAAiB1qpB,EAAEjjG,EAAAA,aAAe,WAAKmD,GAAG8uhB,GAAGpthB,GAAEjB,IAAIA,GAAG,GAAG,CAACT,EAAES,EAAEquhB,IAAI,OAAOA,EAAE,KAAKjyhB,EAAAA,cAAgB0lC,GAAExmC,OAAOa,OAAO,CAACwS,UAAUtS,GAAEkB,GAAAA,MAAQknB,EAAEnoB,GAAEiB,GAAAA,MAAQixhB,IAAI,iBAAiBA,EAAEj7gB,IAAI7X,EAAEo9B,KAAK,SAASy1f,GAAGrthB,GAAG9E,EAAAA,cAAgBkB,GAAE,CAACirvB,UAAU/5N,EAAE+mI,YAAW,IAAKn5pB,EAAAA,cAAgBkE,GAAE,CAAC+f,KAAK,KAAKunK,GAAGxrL,EAAAA,cAAgBkE,GAAE,CAACqO,UAAUpR,GAAAA,cAAgBqqL,GAAGxrL,EAAAA,cAAgBkE,GAAE,CAACqO,UAAUpR,GAAAA,WAAalC,IAAIizhB,GAAGlyhB,EAAAA,cAAgBG,GAAE,CAACsyN,UAAUi8R,EAAEy9P,UAAU,OAAO55uB,UAAUpR,GAAAA,aAAewnM,QAAQ1lG,EAAE9rF,IAAIvL,GAAG5L,EAAAA,cAAgBiD,GAAE,CAAC,cAAc,UAAU,IAAIjE,GAAE69B,YAAY,QCAtlC,IAAM14B,GAAE,WAAK,IAAAsqiB,EAAezuiB,IAAG,SAAAmB,GAAC,MAAE,CAACA,EAAEsD,MAAM,IAAlBN,EAACsqiB,EAAPhqiB,MAA2B,OAAOtD,EAAAA,cAAgBA,EAAAA,SAAW,KAAKgD,EAAEhD,EAAAA,cAAgBjB,GAAE,CAACisvB,UAAU,QAAQqB,eAAc,GAAI/svB,GAAE0D,IAAI,KAAK,ECAvJjE,GAAE2E,EAAAA,YAAc,SAAC3E,EAAEF,GAAK,IAAA4tvB,EAAwC1tvB,EAApCq8B,GAAGr4B,OAAC,IAAA0pvB,EAAC,OAAMA,EAAUlotB,EAAexlC,EAAxBgU,SAAqB/T,EAAGD,EAAbqS,UAAerR,GAAEjB,EAAAA,GAAAA,IAAEC,EAAE,CAAC,KAAK,WAAW,cAAc,OAAO2E,EAAAA,cAAgBV,GAAEjF,OAAOa,OAAO,CAACw8B,GAAGr4B,EAAEqO,UAAU9R,GAAEU,GAAAA,eAAiBhB,GAAGgX,IAAInX,GAAGkB,GAAGwkC,EAAE,IAAIxlC,GAAE28B,YAAY,iBCAlN,IAAM17B,GAAE,SAAAA,GAAS,IAAW+C,EAAG/C,EAAboR,UAAe1N,GAAEpE,EAAAA,GAAAA,IAAEU,EAAE,CAAC,cAAc,OAAOlB,EAAAA,cAAgBkE,GAAEjF,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUvS,GAAEo1D,GAAAA,KAAOlxD,IAAIW,GAAG5E,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BvlhB,EAAAA,cAAgB,OAAO,CAACjB,EAAE,ijCAAijC25B,KAAK,kBAAkB,ECAz2Cz0B,GAAE,SAAAA,GAAS,IAAWW,EAAGX,EAAbqO,UAAe6iD,GAAE30D,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,cAAc,OAAOjE,EAAAA,cAAgBkB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUvS,GAAEmE,GAAAA,KAAOU,IAAIuwD,GAAGn1D,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BvlhB,EAAAA,cAAgB,OAAO,CAACjB,EAAE,ibAAib25B,KAAK,kBAAkB,ECA1fk1tB,GAA2D3tvB,GAApCiE,GAAC0pvB,GAAlBjoE,iBAAmCzlrB,GAAC0tvB,GAAjBhoE,gBAA+BngpB,GAACmotB,GAAd/nE,aAAgC7ilB,GAAExiG,EAAAA,YAAc,SAACP,EAAE+iG,GAAK,IAAc3jG,EAAyFY,EAAnG4tvB,UAASC,EAA0F7tvB,EAAvF8tvB,sBAAsB9svB,OAAC,IAAA6svB,EAAC5pvB,GAAC4pvB,EAAAE,EAA8D/tvB,EAA7DguvB,qBAAqBjrvB,OAAC,IAAAgrvB,EAAC9tvB,GAAC8tvB,EAAAE,EAAqCjuvB,EAApCkuvB,wBAAwBnvvB,OAAC,IAAAkvvB,EAACzotB,GAACyotB,EAAM9luB,EAAGnoB,EAARmgB,KAAU4xgB,GAAEhyhB,EAAAA,GAAAA,IAAEC,EAAE,CAAC,YAAY,wBAAwB,uBAAuB,0BAA0B,SAAS,OAAOO,EAAAA,cAAgByD,GAAEhF,OAAOa,OAAO,CAAC,eAAe,aAAaT,EAAEmzN,UAAUxzN,EAAEsT,UAAU1N,GAAAA,kBAAoBsS,IAAI8rF,EAAEvmE,KAAK,SAASrc,KAAKgI,GAAG4pgB,GAAGxxhB,EAAAA,cAAgBU,GAAE,CAAC,YAAY,UAAU,aAAa7B,EAAE4B,EAAE+B,GAAG,aAAa3D,EAAEmB,EAAAA,cAAgBzB,GAAE,CAACqhB,KAAKgI,IAAI5nB,EAAAA,cAAgBT,GAAE,CAACqgB,KAAKgI,IAAI,IAAI46E,GAAEpmE,YAAY,qBCAj1B,IAA+B79B,GAAE,SAAAA,GAAI,IAAoB0mC,EAAiB1mC,EAAjCqvvB,gBAA8BlqvB,EAAGnF,EAAfsvvB,YAAiBpqvB,GAAEzD,EAAAA,GAAAA,IAAEzB,EAAE,CAAC,kBAAkB,gBAAgB,OAAO0mC,EAAE1lC,EAAAA,cAAgBC,GAAEf,OAAOa,OAAO,CAAC,cAAvJ,uBAAuKwS,UAAUrS,GAAEiB,GAAAA,kBAAkB8S,EAAAA,EAAAA,GAAA,GAAG9S,GAAAA,eAAkBgD,KAAKD,GAAGwhC,GAAG,IAAI,EAAE1mC,GAAE69B,YAAY,mBCA3R,IAAM34B,GAAE,SAAAA,GAAI,IAAiBlE,EAAckE,EAA3BqqrB,aAAwBpqrB,EAAGD,EAAZqqvB,SAAcruvB,GAAEiB,EAAAA,GAAAA,IAAE+C,EAAE,CAAC,eAAe,aAAa,OAAOC,GAAGnE,EAAES,EAAAA,cAAgBR,GAAEf,OAAOa,OAAO,CAACwS,UAAU1N,GAAAA,mBAAqB3E,GAAGF,GAAG,IAAI,EAAEkE,GAAE24B,YAAY,oBCAhE,IAAM6I,GAAEvkC,EAAAA,YAAc,SAACukC,EAAEvhC,GAAK,IAAa7E,EAA0IomC,EAAnJxxB,SAAqBjU,EAA8HylC,EAAxInzB,UAA8BvT,EAA0G0mC,EAA5H8otB,kBAAwC5ivB,EAAoF85B,EAAxG+otB,oBAAmBC,EAAqFhptB,EAAlF8rE,YAAYtwG,OAAC,IAAAwtvB,EAAC,aAAYA,EAAmBtxrB,EAAqC13B,EAAvDiptB,kBAAwCnjkB,EAAe9lJ,EAAnCkptB,oBAAgCz0N,EAAGz0f,EAAbymtB,UAAelpvB,GAAExC,EAAAA,GAAAA,IAAEilC,EAAE,CAAC,WAAW,YAAY,oBAAoB,sBAAsB,cAAc,oBAAoB,sBAAsB,cAAwGmuG,EAAE7zI,GAAEkE,GAAAA,WAA5E,MAAM0H,EAAE1H,GAAAA,wBAA0B,KAA5C,MAAMlF,EAA+CkF,GAAAA,sBAAwB,KAA0B/D,GAAE+D,GAAAA,WAAahD,GAAGjB,GAAG,OAAOkB,EAAAA,cAAgB0D,GAAE3F,OAAOa,OAAO,CAACwS,UAAUshI,EAAE,mBAAmB3yI,EAAEiW,IAAIhT,GAAGlB,GAAGuoL,GAAGrqL,EAAAA,cAAgBjB,GAAE,CAACqS,UAAUvS,GAAEkE,GAAAA,qBAAuB/D,GAAE+D,GAAAA,qBAAuBi2hB,KAAK3uW,GAAGrqL,EAAAA,cAAgBjB,GAAE,CAACqS,UAAUvS,GAAEkE,GAAAA,uBAAyB/D,GAAE+D,GAAAA,uBAAyBhD,IAAI,mBAAmBA,GAAG0K,GAAGzK,EAAAA,cAAgBjB,GAAE,CAACqS,UAAUrO,GAAAA,sBAAwB0H,GAAGtM,EAAEN,GAAGmC,EAAAA,cAAgBjB,GAAE,CAACqS,UAAUrO,GAAAA,oBAAsBlF,IAAIo+D,GAAGj8D,EAAAA,cAAgBjB,GAAE,CAACqS,UAAUvS,GAAEkE,GAAAA,mBAAqB/D,GAAE+D,GAAAA,mBAAqBi2hB,KAAK/8d,GAAG,IAAI13B,GAAE7I,YAAY,aCA78B,IAAM38B,GAAEgE,EAAAA,YAAc,SAAChE,EAAEwlC,GAAK,IAAiB95B,EAAoP1L,EAAjQ2uvB,aAAuB7vvB,EAA0OkB,EAAlPkyC,QAAoB9yC,EAA8NY,EAAxOqS,UAA2BrR,EAA6MhB,EAA5N6/mB,eAA8B57mB,EAA8LjE,EAA3M4T,aAAkB7Q,EAAyL/C,EAA5L6T,GAAgBqhD,EAA4Kl1D,EAAvL07M,WAAwBvzL,EAA+JnoB,EAA1KqlT,WAAwBriT,EAAkJhD,EAA7Jm0E,WAAkBzwE,EAA2I1D,EAAhJmgB,KAAIyuuB,EAA4I5uvB,EAAzIgX,KAAK+6gB,OAAC,IAAA68N,EAAC,OAAMA,EAAAC,EAA4H7uvB,EAA3HquvB,SAASnqvB,OAAC,IAAA2qvB,GAAGA,EAAO9vvB,EAAuGiB,EAA7GsC,MAAkBwvhB,EAA2F9xhB,EAArGisvB,UAAmBnyN,EAAkF95hB,EAAzFghC,OAAkB/9B,EAAuEjD,EAAhFupF,SAAkBwZ,EAA8D/iG,EAArEwpF,OAAetsB,EAAsDl9D,EAA5DypF,MAAgBuoc,EAA4ChyhB,EAApD+gC,QAAkB4yG,EAAkC3zI,EAA1C6pF,QAAkBjlF,EAAwB5E,EAAhC+pF,QAAmB9kF,EAAajF,EAAtB8uvB,SAAmBzuuB,EAAGrgB,EAAX+uvB,QAAa78N,GAAE3xhB,EAAAA,GAAAA,IAAEP,EAAE,CAAC,eAAe,UAAU,YAAY,iBAAiB,eAAe,KAAK,aAAa,aAAa,aAAa,OAAO,OAAO,WAAW,QAAQ,YAAY,SAAS,WAAW,SAAS,QAAQ,UAAU,UAAU,UAAU,WAAW,YAAkBiyhB,EAAEtthB,GAAE1D,GAAAA,MAAQA,GAAAA,kBAAoBnB,GAAEmB,GAAAA,MAAQ6whB,GAAG7xhB,GAAEgB,GAAAA,MAAQ,QAAQiD,GAAGpE,GAAEmB,GAAAA,MAAQyC,GAAGtE,GAAG,OAAO4E,EAAAA,cAAgBjE,GAAEf,OAAOa,OAAO,CAAC,eAAeqE,EAAEm4B,GAAG,QAAQsytB,aAAajjvB,EAAEwmC,QAAQpzC,EAAEuT,UAAU4/gB,EAAE,YAAYvuhB,EAAE,iBAAiBouhB,EAAE+tF,eAAe7+mB,EAAE4S,aAAa3P,EAAEy3M,WAAWxmJ,EAAErhD,GAAG9Q,EAAEi+B,OAAO84f,EAAEvwc,SAAStmF,EAAEumF,OAAOuZ,EAAEtZ,MAAMvsB,EAAEn8B,QAAQixf,EAAEnoc,QAAQ8pD,EAAE5pD,QAAQnlF,EAAEkqvB,SAAS7pvB,EAAE8pvB,QAAQ1uuB,EAAEogB,SAAStY,EAAElR,IAAIuuB,EAAE+M,SAASvvC,EAAEgU,KAAK+6gB,EAAEzvhB,MAAMvD,GAAGmzhB,GAAG,IAAIlyhB,GAAE28B,YAAY,QCAliC,IAAM38B,GAAE2E,EAAAA,YAAc,SAAC3E,EAAEiE,GAAK,IAAanE,EAAgCE,EAAzCgU,SAAqBhQ,EAAoBhE,EAA9BqS,UAA2BpS,EAAGD,EAAlBgvvB,eAAoBhuvB,GAAET,EAAAA,GAAAA,IAAEP,EAAE,CAAC,WAAW,YAAY,mBAAmB,OAAO2E,EAAAA,cAAgB6gC,GAAExmC,OAAOa,OAAO,CAACw8B,GAAG,QAAQhqB,UAAUtS,GAAEkB,GAAAA,MAAQ+C,GAAC+P,EAAAA,EAAAA,GAAA,GAAG9S,GAAAA,eAAkBhB,IAAIgX,IAAIhT,GAAGjD,GAAGlB,EAAE,IAAIE,GAAE28B,YAAY,QCAjX,IAAM78B,GAAE,SAAAA,GAAI,IAAMS,EAAE,CAAC0uvB,WAAW,CAAC,EAAE5rQ,KAAK,CAAC,GAAG,OAAOrkf,OAAOgR,KAAKlQ,GAAG4P,SAAS,SAAAzO,IAAI,SAACnB,GAAC,OAAEA,KAAKC,EAAC,CAAV,CAAYkB,GAAyEV,EAAE8if,KAAKrkf,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,EAAE8if,OAAKtve,EAAAA,EAAAA,GAAA,GAAG9S,EAAGnB,EAAEmB,KAA3HV,EAAE0uvB,WAAWjwvB,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEU,EAAE0uvB,aAAWl7uB,EAAAA,EAAAA,GAAA,GAAG9S,EAAGnB,EAAEmB,IAA8D,IAAIV,CAAC,ECAvQilC,IAAG,OAAOu3B,iBAAY,IAASA,gBAAW,EAAOA,WAAW9nD,UAAUjR,EAAAA,gBAAkB,WAAK,ECAtBzD,GAAET,EAAE,QAAQkP,aAAc,WAAK,EAAO/O,GAAE,EAAQF,GAAE,SAAAA,GAAI,IAAAytvB,EAAW1tvB,EAAAA,SAAWS,MAAIktvB,GAAAnzuB,EAAAA,EAAAA,GAAAkzuB,EAAA,GAApB9hvB,EAAC+hvB,EAAA,GAACztvB,EAACytvB,EAAA,GAAkB,OAAOzpvB,IAAG,WAAKjE,GAAGC,GAAG,SAAAF,GAAC,OAAE,MAAMA,EAAEA,EAAE6O,OAAO1O,KAAI,GAAE,GAAG,CAACF,IAAI,MAAMA,EAAEA,EAAE2L,EAAC,GAAAnN,OAAhK,aAAqK,KAAAA,OAAImN,GAAI,EAAE,ECA6bA,GAAE5L,EAAAA,YAAc,SAAC4L,EAAE3I,GAAK,IAAgBuoL,EAA8M5/K,EAAxN2G,UAA4B6qD,EAA4LxxD,EAA5MyivB,gBAA+BpvvB,EAA6K2M,EAA1L2irB,aAAY6gE,EAA8KxjvB,EAA3K2ivB,SAASzpvB,OAAC,IAAAsqvB,GAAGA,EAAIh6rB,EAA0JxpD,EAA7JmI,GAAuBnQ,EAAsIgI,EAAxJ4ivB,kBAAwC9ikB,EAAgH9/K,EAApI6ivB,oBAA4BnuuB,EAAwG1U,EAA9GvI,MAAKgsvB,EAAyGzjvB,EAAtG0ivB,YAAYprvB,OAAC,IAAAmsvB,GAAGA,EAAmBlsvB,EAAmEyI,EAArF+ivB,kBAAwCtmuB,EAA6Czc,EAAjEgjvB,oBAA2B38N,EAAsCrmhB,EAA3CyU,KAAc4gD,EAA6Br1D,EAApCi7qB,OAAmBtmqB,EAAiB3U,EAA3BugvB,UAAwB7qrB,EAAG11D,EAAf0jvB,YAAiB93rB,GAAE/2D,EAAAA,GAAAA,IAAEmL,EAAE,CAAC,YAAY,kBAAkB,eAAe,WAAW,KAAK,oBAAoB,sBAAsB,QAAQ,cAAc,oBAAoB,sBAAsB,OAAO,SAAS,YAAY,gBAAgBsmhB,EAAEhxhB,GAAEk0D,GAAGlzD,EAAEhB,KAAI+hG,EAAE7lC,EAAEl7D,OAAE,EAAMikrB,EAAuB7mrB,GAAEk4D,GAAZ2ie,EAACgsJ,EAAZgpE,WAAkB7jkB,EAAC66f,EAAN5iM,KAAa,OAAOvjf,EAAAA,cAAgB6E,GAAE3F,OAAOa,OAAO,CAACwS,UAAUpR,GAAEjB,GAAAA,MAAQgE,GAAEhE,GAAAA,MAAQ+xhB,GAAG/xhB,GAAAA,UAAYsrL,GAAG,YAAYymW,EAAE40J,OAAO5lnB,GAAGk5d,GAAGn6hB,EAAAA,cAAgBhB,GAAE,CAACuwvB,QAAQr9N,EAAEg9N,eAAehsvB,GAAGod,GAAGtgB,EAAAA,cAAgBG,GAAE,CAAC4T,GAAG7R,EAAEosvB,YAAYprvB,EAAEmrvB,gBAAgBjxrB,IAAIp9D,EAAAA,cAAgBmE,GAAE,CAACyqvB,oBAAoBvmuB,EAAEsmuB,kBAAkBxrvB,EAAEsrvB,oBAAoB/ikB,EAAE8ikB,kBAAkB5qvB,EAAEuovB,UAAU5ruB,GAAGvgB,EAAAA,cAAgB0lC,GAAExmC,OAAOa,OAAO,CAAC,mBAAmBkjG,EAAEsrpB,SAASzpvB,EAAEiP,GAAGm+gB,EAAE/6gB,IAAIlU,EAAEod,KAAK4xgB,EAAEk6N,UAAU5ruB,GAAG+gD,EAAEgqH,KAAKtrL,EAAAA,cAAgBC,GAAE,CAACsuvB,SAASzpvB,EAAEyprB,aAAatvrB,IAAI,IAAI2M,GAAEixB,YAAY,YCAl8C,IAAM79B,GAAEkF,EAAAA,YAAc,SAAClF,EAAE0mC,GAAK,IAAA8ptB,EAAyLxwvB,EAArL6vvB,aAAa5rpB,OAAC,IAAAuspB,EAAC,mBAAkBA,EAAOrvvB,EAA6InB,EAAnJqE,MAAkBc,EAAiInF,EAA3IuT,UAASk9uB,EAAkIzwvB,EAA/H0wvB,iBAAiBxvvB,OAAC,IAAAuvvB,GAAGA,EAAuBnwvB,EAAmFN,EAAzGgvvB,sBAA6C/uvB,EAA4DD,EAAjFkvvB,qBAA+CtivB,EAAkC5M,EAA1DovvB,wBAAgDltvB,EAAUlC,EAAhC2wvB,sBAA6BtnuB,EAAGrpB,EAARqhB,KAAUpd,GAAEhD,EAAAA,GAAAA,IAAEjB,EAAE,CAAC,eAAe,QAAQ,YAAY,mBAAmB,wBAAwB,uBAAuB,0BAA0B,wBAAwB,SAAS4wvB,EAAW1rvB,EAAAA,SAAW,YAAW2rvB,GAAAr1uB,EAAAA,EAAAA,GAAAo1uB,EAAA,GAA3B1tvB,EAAC2tvB,EAAA,GAACvkkB,EAACukkB,EAAA,GAAyBnkkB,EAAExnL,EAAAA,aAAe,WAAKonL,EAAE,aAAappL,EAAE,OAAO,WAAW,GAAG,CAACopL,EAAEppL,IAAI,OAAOgC,EAAAA,cAAgBlE,GAAEd,OAAOa,OAAO,CAAC8uvB,aAAa5rpB,EAAE0rpB,kBAAkBzuvB,EAAE,KAAKgE,EAAAA,cAAgB/C,GAAE,CAAC2svB,UAAU5rvB,EAAEymM,QAAQjd,EAAEsikB,sBAAsB1uvB,EAAE4uvB,qBAAqBjvvB,EAAEkY,IAAIjW,EAAEmf,KAAKgI,EAAE+luB,wBAAwBxivB,IAAIyU,KAAKgI,EAAEnR,KAAKhV,EAAEmB,MAAMlD,EAAEoS,UAAU9R,GAAEoE,GAAAA,cAAgBV,GAAGgT,IAAIuuB,GAAGziC,GAAG,IAAIjE,GAAE69B,YAAY,gBCA90B,IAAM34B,GAAE,SAAAA,GAAS,IAAWW,EAAGX,EAAbqO,UAAerS,GAAEO,EAAAA,GAAAA,IAAEyD,EAAE,CAAC,cAAc,OAAOjE,EAAAA,cAAgBkB,GAAEjC,OAAOa,OAAO,CAACw8B,GAAG,OAAOzB,MAAM,MAAM5I,OAAO,MAAM3f,UAAUvS,GAAEmE,GAAAA,KAAOU,IAAI3E,GAAGD,EAAAA,cAAgB,MAAM,CAAC66B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYpD,KAAK,OAAO6sf,MAAM,8BAA8BvlhB,EAAAA,cAAgB,OAAO,CAACjB,EAAE,wFAAwF25B,KAAK,kBAAkB,ECA3Nx0B,GAAEU,EAAAA,YAAc,SAACV,EAAEhE,GAAK,IAAiBnB,EAAkKmF,EAA/K0qvB,aAAyBvvvB,EAAsJ6E,EAAhKoO,UAAiB3G,EAA+IzH,EAApJkc,KAAiBpd,EAAmIkB,EAA7IgovB,UAAkBvovB,EAA2HO,EAAjI3B,MAAqBgpL,EAA4GrnL,EAAzH2P,aAAwBuU,EAAiGlkB,EAA1GoqvB,SAAQuB,EAAkG3rvB,EAA/FgnB,KAAKugK,OAAC,IAAAokkB,EAACjrvB,EAAAA,cAAgB3D,GAAE,MAAK4uvB,EAAW16rB,EAAsDjxD,EAAhE4rvB,UAAqB79N,EAA2C/thB,EAApD+P,SAAuBjV,EAA6BkF,EAAzC+lF,YAAyBplF,EAAgBX,EAA3By3M,WAAwBo+U,EAAG71hB,EAAdkwE,WAAgB4uB,GAAExiG,EAAAA,GAAAA,IAAE0D,EAAE,CAAC,eAAe,YAAY,OAAO,YAAY,QAAQ,eAAe,WAAW,OAAO,YAAY,WAAW,cAAc,aAAa,eAAqBmc,OAAE,IAAS1c,QAAG,IAAS4nL,GAAGvsL,EAAEkG,EAAEhE,GAAEnB,GAAAA,OAASA,GAAAA,kBAAoBkE,GAAElE,GAAAA,OAAS4L,GAAG1H,GAAElE,GAAAA,OAASiD,GAAGyiC,GAAE1lC,GAAAA,OAAS,QAAQqoB,GAAG/oB,GAAG,OAAOuF,EAAAA,cAAgB5E,GAAE,CAACsS,UAAUvS,GAAAA,eAAiB6E,EAAAA,cAAgB5E,GAAEf,OAAOa,OAAO,CAAC,eAAesoB,EAAEkU,GAAG,SAASsytB,aAAa7vvB,EAAEwD,MAAMoB,EAAEkQ,aAAawM,EAAE,GAAGkrK,EAAEowB,WAAW92M,EAAE2tC,SAASunf,EAAE,YAAYpuhB,EAAE,iBAAiB3I,EAAEsP,UAAUpN,EAAEgS,IAAIhX,GAAG8iG,GAAGhkG,GAAG4F,EAAAA,cAAgB,SAAS,CAACrC,MAAM,IAAIvD,GAAGizhB,GAAGrthB,EAAAA,cAAgB3E,GAAE,CAACqS,UAAUvS,GAAAA,kBAAoBytB,MAAM2nC,GAAGs2H,GAAG,IAAIvnL,GAAE04B,YAAY,SCA9jB,IAAM37B,GAAEC,EAAAA,YAAc,SAACD,EAAE+B,GAAK,IAAem6D,EAAoIl8D,EAA7IgT,SAAqBmU,EAAwHnnB,EAAlIqR,UAA4BtT,EAAsGiC,EAAtHmtvB,gBAA+BzivB,EAAuF1K,EAApGqtrB,aAAYyhE,EAAwF9uvB,EAArFqtvB,SAASzpvB,OAAC,IAAAkrvB,GAAGA,EAAIxkkB,EAAoEtqL,EAAvE6S,GAAWnQ,EAA4D1C,EAAlEmC,MAAK4svB,EAA6D/uvB,EAA1DotvB,YAAYnrvB,OAAC,IAAA8svB,GAAGA,EAAS/svB,EAAiChC,EAAzCwZ,QAAegxK,EAA0BxqL,EAA/Bmf,KAAcC,EAAiBpf,EAAxB2lrB,OAAqB50J,EAAG/whB,EAAfouvB,YAAiB/uuB,GAAE9f,EAAAA,GAAAA,IAAES,EAAE,CAAC,WAAW,YAAY,kBAAkB,eAAe,WAAW,KAAK,QAAQ,cAAc,UAAU,OAAO,SAAS,gBAAgBogE,EAAEhiE,GAAEksL,GAAGh0H,EAAEl4D,KAAI4yhB,EAAEjzhB,EAAEu4D,OAAE,EAAM66kB,EAAuBlyoB,GAAEogB,GAAZ0iF,EAACoviB,EAAZ88G,WAAkBjtvB,EAACmwoB,EAAN9uJ,KAAa,OAAOpif,EAAAA,cAAgBgD,GAAEjF,OAAOa,OAAO,CAACwS,UAAUrS,GAAED,GAAAA,MAAQD,GAAEC,GAAAA,MAAQyrL,GAAGzrL,GAAAA,YAAcooB,GAAG,YAAYqjK,EAAEm7f,OAAOvmqB,GAAG2iF,GAAG9hG,EAAAA,cAAgB0D,GAAE,CAAC0qvB,QAAQjurB,EAAE4trB,eAAe/rvB,GAAGS,GAAGzC,EAAAA,cAAgBukC,GAAE,CAAC3xB,GAAGyjD,EAAE82rB,YAAYnrvB,EAAEkrvB,gBAAgBpvvB,IAAIkC,EAAAA,cAAgBnC,GAAEE,OAAOa,OAAO,CAAC,mBAAmBmyhB,EAAEq8N,SAASzpvB,EAAEiP,GAAGutD,EAAEnqD,IAAIlU,EAAEod,KAAKqrK,GAAGxpL,EAAE+vhB,GAAI,SAAA33gB,GAAA,IAAW7Z,EAAC6Z,EAAVpG,SAAmBhU,EAACoa,EAATI,QAAO,OAAMja,IAAI,MAAMP,OAAE,EAAOA,EAAEG,SAAS6+C,QAAQC,KAAK,qIAAqI1+C,GAAG,MAAMP,OAAE,EAAOA,EAAE3B,KAAK,SAACkC,EAAEP,GAAC,OAAGiB,EAAAA,cAAgB,SAAS,CAACkC,MAAM5C,EAAE+B,MAAM/B,EAAEO,IAAG,GAAAvC,OAAIgC,EAAC,KAAAhC,OAAIyB,IAAKO,EAAE,GAAE,CAAzS,CAA2S,CAACyT,SAASkpD,EAAE1iD,QAAQxX,KAAK/B,EAAAA,cAAgB+C,GAAE,CAACqqvB,SAASzpvB,EAAEyprB,aAAa3irB,IAAI,IAAI1K,GAAE27B,YAAY,cCA/7C,IAAM17B,GAAE0D,EAAAA,YAAc,SAAC1D,EAAEjB,GAAK,IAAciE,EAA+BhD,EAAzCoR,UAAyBvT,EAAgBmC,EAA7Bg7tB,aAA0Bj7tB,EAAGC,EAAdokT,WAAgBplT,GAAEM,EAAAA,GAAAA,IAAEU,EAAE,CAAC,YAAY,eAAe,eAAqB7B,EAAE,MAAMN,EAAEA,EAAEkF,GAAEjB,EAAE4B,EAAAA,SAAW,kBAAIvF,EAAEf,KAAK,SAAAkC,GAAC,OAAEoE,EAAAA,cAAgB,SAAS,CAAC7D,IAAIP,EAAE+B,MAAM/B,EAAEypB,SAAShpB,GAAGT,EAAE,GAAE,GAAE,CAACnB,EAAE4B,IAAI,OAAO2D,EAAAA,cAAgB5E,GAAEf,OAAOa,OAAO,CAAC,gBAAgBmB,EAAE2tvB,aAAa,mBAAmBt8uB,UAAUvS,GAAE0lC,GAAAA,kBAAoBA,GAAAA,eAAiBvhC,GAAGmqvB,aAAY,EAAGn3uB,IAAIjX,GAAGC,GAAG8C,EAAE,IAAI9B,GAAE07B,YAAY,oBCAnZ,IAAM79B,GAAEkF,EAAAA,YAAc,SAAClF,EAAEkB,GAAK,IAAAsvvB,EAA2XxwvB,EAAvX6vvB,aAAa5uvB,OAAC,IAAAuvvB,EAAC,eAAcA,EAAWp6rB,EAA+Up2D,EAAzVuT,UAA4BpO,EAA6TnF,EAA7UkxvB,gBAAeC,EAA8TnxvB,EAA3T2mrB,iBAAiB/5qB,OAAC,IAAAukvB,EAACnwvB,GAAAA,iBAAmCmwvB,EAAgBjvvB,EAAqPlC,EAApQoxvB,eAAoCntvB,EAAgOjE,EAAnPqxvB,mBAAqCntvB,EAA8MlE,EAA9NsxvB,gBAAeC,EAA+MvxvB,EAA5MwxvB,cAAcvxvB,OAAC,IAAAsxvB,EAACvwvB,GAAAA,iBAAmCuwvB,EAAcjxvB,EAA2IN,EAAxJm9tB,aAA4B9zsB,EAA4HrpB,EAAzIyxvB,aAA2Bv+N,EAA8GlzhB,EAA1H0xvB,YAAuBplkB,EAAmGtsL,EAA5GuvvB,SAAsBv8N,EAAsFhzhB,EAAjG48M,WAAwBu2U,EAAyEnzhB,EAApFumT,WAAiCpiT,EAAmDnE,EAAvE2xvB,oBAAuCnlkB,EAAgCxsL,EAAjD4xvB,iBAA2BxzrB,EAAsBp+D,EAA9B+qF,QAAenmF,EAAe5E,EAApBqhB,KAAiBwzH,EAAG70I,EAAbmtvB,UAAernvB,GAAErE,EAAAA,GAAAA,IAAEzB,EAAE,CAAC,eAAe,YAAY,kBAAkB,mBAAmB,iBAAiB,qBAAqB,kBAAkB,gBAAgB,eAAe,eAAe,cAAc,WAAW,aAAa,aAAa,sBAAsB,mBAAmB,UAAU,OAAO,cAAoBuhB,EAAE,MAAM8H,EAAEA,EAAElkB,EAAEjC,EAAE,MAAMjD,EAAEA,EAAE2M,EAAE0U,EAAE,MAAMpd,EAAEA,EAAED,EAAEgvhB,EAAE,MAAMzmW,EAAEA,EAAEroL,EAAEuoL,EAAE,MAAMwmW,EAAEA,EAAEhxhB,EAAE,OAAOgD,EAAAA,cAAgB/C,GAAEjC,OAAOa,OAAO,CAAC6uvB,oBAAoB1qvB,EAAAA,cAAgB/D,GAAE,CAAC2T,aAAawM,EAAE67sB,aAAa78tB,EAAEiT,UAAU6iD,EAAEm5rB,SAASjjkB,EAAEswB,WAAWo2U,EAAEzsO,WAAW4sO,EAAE9uhB,MAAMnB,EAAEuE,KAAK8Z,EAAEkpE,SAASwoc,EAAE96gB,IAAIu0K,EAAErrK,KAAKzc,EAAEuovB,UAAUt4mB,IAAIg7mB,aAAa5uvB,EAAEsS,UAAU1N,GAAE6gC,GAAAA,iBAAmB0vB,GAAGm5rB,SAASjjkB,EAAEswB,WAAWo2U,EAAEzsO,WAAW4sO,EAAEpoc,QAAQ3sB,EAAEjmD,IAAIjX,EAAEmgB,KAAKzc,EAAEsT,KAAK,MAAMi1uB,UAAUt4mB,GAAG/uI,GAAG,IAAI9F,GAAE69B,YAAY,mBCApuC,IAAM14B,GAAE,SAAAmW,GAA8B,IAArBnW,EAACmW,EAAR2jF,OAAY/5F,EAACoW,EAAJvG,GAAclP,EAACyV,EAAVu2uB,SAAe,MAAM,MAAM1svB,OAAE,EAAOA,EAAE9D,QAAQ,GAAG,OAAO,KAAK,IAAMF,EAAE0E,GAACoP,EAAAA,EAAAA,GAAA,GAAGpP,GAAG,GAAI,CAAC,EAAE,OAAO1D,EAAAA,cAAgBnB,GAAEd,OAAOa,OAAO,CAAC,EAAEI,EAAE,CAAC4T,GAAG7P,IAAIC,EAAE5F,KAAK,SAAAyB,GAAC,OAAEmB,EAAAA,cAAgBjB,GAAE,CAACc,IAAIhB,EAAE08B,KAAK,QAAQyvtB,UAAU,SAAS1rvB,GAAET,GAAG,IAAG,ECAgJ,SAAShB,GAAEA,GAAG,IAAiBmB,EAA4BnB,EAAzC4ma,aAAwBtma,EAAiBN,EAA1Bk9tB,SAAgBh7tB,EAAUlC,EAAfyH,KAAYmF,EAAG5M,EAARkY,KAAUjU,GAAExC,EAAAA,GAAAA,IAAEzB,EAAE,CAAC,eAAe,WAAW,OAAO,SAASy1rB,EAA0BtwrB,IAAG,SAAAmW,GAAkB,MAAM,CAAJA,EAAlBwqD,iBAAyB,IAAjC0mH,EAACipgB,EAAlB3vnB,iBAAqD7lE,EAAEkC,EAAAA,SAAW,kBAAInB,GAAEwrL,EAAEtqL,GAAG,GAAE,CAACA,EAAEsqL,IAAItoL,GAAG,MAAMjE,OAAE,EAAOA,EAAEoB,QAAQ,EAAE8C,EAAElD,KAAI2D,EAAEV,EAAEC,OAAE,EAAO,MAAM,QAAQyI,EAAEzK,EAAAA,cAAgBA,EAAAA,SAAW,KAAKA,EAAAA,cAAgBjB,GAAEhB,OAAOa,OAAO,CAAC,EAAEkD,EAAE,CAACwD,KAAKvF,EAAEovvB,gBAAgBhxvB,EAAEmxvB,aAAa,eAAe5B,aAAa1uvB,EAAEouvB,SAASrrvB,EAAE,mBAAmBU,KAAKzC,EAAAA,cAAgBukC,GAAE,CAACmrtB,SAAS,8BAA8B5ypB,OAAOh/F,EAAE8U,GAAG5Q,KAAK,aAAayI,EAAEzK,EAAAA,cAAgBA,EAAAA,SAAW,KAAKA,EAAAA,cAAgB0D,GAAE3F,OAAOa,OAAO,CAAC,EAAEkD,EAAE,CAACwD,KAAKvF,EAAE2tvB,aAAa1uvB,EAAEouvB,SAASrrvB,EAAE,mBAAmBU,KAAKzC,EAAAA,cAAgBukC,GAAE,CAACmrtB,SAAS,8BAA8B5ypB,OAAOh/F,EAAE8U,GAAG5Q,KAAKhC,EAAAA,cAAgBA,EAAAA,SAAW,KAAKA,EAAAA,cAAgB+C,GAAEhF,OAAOa,OAAO,CAAC,EAAEkD,EAAE,CAACwD,KAAKvF,EAAE2tvB,aAAa1uvB,EAAEouvB,SAASrrvB,EAAEgU,KAAKtL,EAAE,mBAAmBhI,KAAKzC,EAAAA,cAAgBukC,GAAE,CAACmrtB,SAAS,8BAA8B5ypB,OAAOh/F,EAAE8U,GAAG5Q,IAAI,CCAj1C,SAASgB,KAAI,IAAAsqiB,EAAgBzuiB,IAAG,SAAAsa,GAAO,MAAM,CAAJA,EAAP2ylB,MAAc,IAAtB9omB,EAACsqiB,EAARthb,OAAgCjpH,EAAEzD,EAAAA,OAAS0D,EAAE5F,KAAK,SAACyB,EAAEmE,GAAC,OAAG1D,EAAAA,cAAgBU,GAAEjC,OAAOa,OAAO,CAACiB,IAAImD,GAAGnE,GAAG,KAAIs+B,QAAQ,OAAO79B,EAAAA,cAAgBA,EAAAA,SAAW,KAAKyD,EAAE,CCArF,IAAMA,GAAE,SAAAzD,GAAC,MAAE,WAAWA,GAAG,QAAQ,EAAC,SAASN,GAACma,GAAgD,IAArCna,EAACma,EAAVpG,SAAqBhU,EAACoa,EAAX/H,UAASu+uB,EAAAx2uB,EAAG6xuB,UAAUhovB,OAAC,IAAA2svB,EAAC,UAASA,EAAe5vvB,EAAG2D,IAAG,SAAA0V,GAAO,MAAM,CAAJA,EAAP0ylB,MAAc,IAA5BA,MAAmE8jJ,EAAH5vvB,KAAhCq2B,WAAmBkO,EAACqrtB,EAARC,OAAgB/wvB,EAAC8wvB,EAARE,OAAe,OAAOxwvB,EAAAA,cAAgBT,GAAE,CAACuS,UAAUrS,EAAE,6BAA6B,GAAG,iBAAiBiE,GAAG1D,EAAAA,cAAgBT,GAAE,CAAC,yBAAyB,IAAIS,EAAAA,cAAgBilC,EAAE,MAAMjlC,EAAAA,cAAgBT,GAAE,CAAC,sBAAsB,GAAG,8BAA8BkE,GAAEhD,QAAG,EAAO,IAAIf,GAAGM,EAAAA,cAAgBR,EAAE,OAAO,CCAoE,IAA6BX,GAAoFU,GAA5D4L,GAA4D5L,GAAxCiD,GAAwCjD,GAAvBmD,GAAuBnD,GAAHqoB,GAAGroB,GAAE,SAAS4D,GAAC0W,GAA2B,IAAfta,EAACsa,EAAX/H,UAAsBrS,EAACoa,EAAX6xuB,UAAc95G,EAAsDlyoB,IAAG,SAAAM,GAAC,MAAE,CAACA,EAAE4oJ,UAAU5oJ,EAAEgnrB,WAAWhnrB,EAAEynrB,oBAAoB,IAA5Ft8qB,EAACymoB,EAAXhpf,UAAuBnmJ,EAACmvoB,EAAZo1C,WAAiCrynB,EAACi9kB,EAArB61C,oBAAmB91C,EAA6FnyoB,KAAlBurL,EAAC4md,EAAd+6G,aAA4B7suB,EAAC8xnB,EAAds0G,aAA0FwK,EAAHrsvB,KAAlE2yB,WAAY25tB,cAAaC,EAAAF,EAAEF,OAAO7+N,OAAC,IAAAi/N,EAACxtvB,GAAEotvB,OAAMI,EAAAC,EAAAH,EAACD,OAAOnsvB,OAAC,IAAAusvB,EAACztvB,GAAEqtvB,OAAMI,EAAQ,OAAO5wvB,EAAAA,cAAgBzB,GAAE,CAACuT,UAAUvS,EAAEmsvB,UAAUjsvB,GAAGO,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,2CAA2C,GAAG9B,OAAO,OAAO8qF,SAAS+hG,EAAEkqB,SAASp1L,GAAG7f,EAAAA,cAAgByD,GAAE,CAACq4B,GAAG,WAAWjR,UAAU,SAASswL,WAAWhwM,GAAGnL,EAAAA,cAAgB0xhB,EAAE,MAAM1xhB,EAAAA,cAAgByD,GAAE,CAAConB,UAAU,UAAU7qB,EAAAA,cAAgB0D,GAAE,CAACoO,UAAU,mCAAmCjT,GAAE81D,IAAI30D,EAAAA,cAAgBS,GAAE,MAAMT,EAAAA,cAAgBilC,GAAE,MAAMjlC,EAAAA,cAAgBU,GAAE,CAACgrvB,UAAU,UAAUvwiB,WAAWhwM,EAAEsL,KAAK,SAAS41uB,YAAY7pvB,KAAI+qF,UAAUpiF,EAAEuZ,WAAW,UAAUhiB,MAAK1C,EAAAA,cAAgBU,GAAE,CAACwnM,QAAQzlM,EAAEgU,KAAK,SAASiO,WAAW,UAAUkD,OAAM5nB,EAAAA,cAAgBqE,EAAE,QAAQ,CAAClB,GAAEotvB,OAAO,WAAK,IAAAprB,EAA6BzluB,IAAG,SAAAM,GAAC,MAAE,CAACA,EAAEynrB,oBAAoB,IAAhClorB,EAAC4luB,EAArB19C,oBAAuD,OAAOznrB,EAAAA,cAAgBP,GAAE,CAAC+tJ,MAAM,GAAGriJ,GAAE5L,GAAG,EAAE4D,GAAEqtvB,OAAO,WAAW,OAAO,IAAI,ECArsC,IAA4B3xvB,GAA2CU,GAAzBkB,GAAyBlB,GAAH4L,GAAG5L,GAAEiD,GAAE,SAAFA,EAACqX,GAA8B,IAAjBta,EAACsa,EAAX/H,UAAsBmzB,EAACprB,EAAX6xuB,UAAgB13D,EAA8BtwrB,IAAG,SAAA1D,GAAC,MAAE,CAACA,EAAE4oJ,UAAU5oJ,EAAEsnrB,SAAS,IAA5C5krB,EAACsxrB,EAAXpriB,UAAqBhhI,EAACosqB,EAAV1M,SAAQ31C,EAAkFnyoB,KAAjCm9D,EAACg1kB,EAAZ47B,WAA0Bxif,EAAC4md,EAAd+6G,aAA4B/3rB,EAACg9kB,EAAds0G,aAAmF4K,EAAHzsvB,KAA3D2yB,WAAY+5tB,iBAAkBC,WAAW1svB,OAAC,IAAAwsvB,EAACruvB,EAAEuuvB,WAAUF,EAAQ,OAAO7wvB,EAAAA,cAAgBzB,GAAE,CAACuT,UAAUvS,EAAEmsvB,UAAUzmtB,GAAGjlC,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,8CAA8C,GAAG9B,OAAO,OAAO8qF,SAAS+hG,EAAEkqB,SAAStgJ,EAAEl0B,OAAOk8B,GAAG38D,EAAAA,cAAgBU,GAAE,CAACo7B,GAAG,WAAWjR,UAAU,SAASswL,WAAWz4M,GAAG1C,EAAAA,cAAgBP,GAAE,CAAC+tJ,MAAM,GAAG3uJ,MAAKmB,EAAAA,cAAgBqE,EAAE,MAAMrE,EAAAA,cAAgBN,GAAE,MAAMM,EAAAA,cAAgByD,GAAE,CAAC03M,WAAWz4M,EAAE+T,KAAK,SAASi1uB,UAAU,UAAUn+pB,UAAU7qF,EAAE2pvB,YAAY5rvB,KAAIikB,WAAW,UAAU7lB,MAAKmB,EAAAA,cAAgByD,GAAE,CAACykM,QAAQtgL,EAAEnR,KAAK,SAASiO,WAAW,SAASgnuB,UAAU,OAAO9ruB,KAAK,SAASzU,QAAO,EAAE3I,GAAEuuvB,WAAW,WAAW,OAAO/wvB,EAAAA,cAAgBilC,GAAE,KAAK,kBCA7wCvkC,GAA6CjB,GAAzBiE,GAAyBjE,GAAH2E,GAAG3E,GAAEwlC,GAAE,WAAK,IAAA+kN,EAA8BhqP,IAAG,SAAAT,GAAC,MAAE,CAACA,EAAEqpJ,UAAUrpJ,EAAE+nrB,SAAS,IAA5C7nrB,EAACuqP,EAAXphG,UAAqB3jH,EAAC+kN,EAAVs9b,SAA6C,OAAO/nrB,EAAAA,cAAgBkE,GAAE,CAAConB,UAAU,UAAUtrB,EAAAA,cAAgBG,GAAE,CAACy7M,WAAW17M,EAAEgX,KAAK,SAASi1uB,UAAU,UAAUhnuB,WAAW,SAAS6oE,UAAU9tF,EAAE4svB,YAAY3ovB,MAAKhD,MAAKnB,EAAAA,cAAgBG,GAAE,CAACwoM,QAAQjjK,EAAExuB,KAAK,SAASi1uB,UAAU,OAAOhnuB,WAAW,SAAS9E,KAAK,SAASxb,MAAK,ECAgJ1B,GAAE,IAAIhC,GAAE,oBAAsCknB,GAAoCxjB,GAApB2mL,GAAoB3mL,GAAHjB,GAAGiB,GAAEuwD,GAAE,SAAFA,EAAC96C,GAA8B,IAAKna,EAAtBgB,EAACmZ,EAAX/H,UAAsB1N,EAACyV,EAAX6xuB,UAAsB33D,EAAsD9upB,IAAG,SAAAjlC,GAAC,MAAE,CAACA,EAAE4oJ,UAAU5oJ,EAAE6nrB,eAAe,IAArEjgqB,EAACmsqB,EAAhBlM,eAA2BplrB,EAACsxrB,EAAXnriB,UAAiB/nF,EAACkznB,EAANhM,KAAgBvllB,EAACuxlB,EAAVgxC,SAAQzyqB,EAA2E7xD,KAAlBwqL,EAAC34H,EAAdo6rB,aAA4B/vrB,EAACrK,EAAd2zrB,aAAsF+K,EAAHxxvB,KAA9Du3B,WAAYk6tB,UAASC,EAAAF,EAAET,OAAO1wuB,OAAC,IAAAqxuB,EAACv8rB,EAAE47rB,OAAMW,EAAAC,EAAAH,EAACR,OAAOhwrB,OAAC,IAAA2wrB,EAACx8rB,EAAE67rB,OAAMW,EAAAhC,EAAc1rvB,EAAAA,UAAW,GAAG2rvB,GAAAr1uB,EAAAA,EAAAA,GAAAo1uB,EAAA,GAAnB9qvB,EAAC+qvB,EAAA,GAAC71N,EAAC61N,EAAA,GAAAgC,EAAuB3tvB,EAAAA,WAAY4tvB,GAAAt3uB,EAAAA,EAAAA,GAAAq3uB,EAAA,GAAjB5yvB,EAAC6yvB,EAAA,GAAC5vvB,EAAC4vvB,EAAA,GAAAC,EAAqB7tvB,EAAAA,SAAW,QAAO8tvB,GAAAx3uB,EAAAA,EAAAA,GAAAu3uB,EAAA,GAAvB//N,EAACggO,EAAA,GAAC5tvB,EAAC4tvB,EAAA,GAAAz3uB,EAA4F,QAAQpa,EAAE8iG,SAAI,IAAS9iG,EAAEA,EAAE,CAAC,EAAC8xvB,EAAA13uB,EAAnG23uB,WAAW5mkB,OAAC,IAAA2mkB,EAAC,aAAYA,EAAAE,EAAA53uB,EAAC63uB,aAAa56rB,OAAC,IAAA26rB,EAAE,MAAM7wrB,OAAE,EAAOA,EAAE7sB,SAAQ09sB,EAAiCt+mB,EAAE3vI,EAAAA,aAAe,kBAAIzD,EAAAA,GAAAA,SAAE,OAAO,OAAO,EAAM6rgB,IAAA1mB,MAAE,SAAA++O,IAAA,IAAAl6e,EAAA0rf,EAAA,OAAA7pO,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,OAAmC,OAAnC+O,EAAAkM,KAAA,EAAsBld,EAAE0D,GAAEmnL,EAAE9zH,EAAEnvC,GAAE5W,EAAA/O,KAAA,EAAS1C,GAAAA,UAAYS,GAAE,OAAtByD,EAACuN,EAAAnO,KAAsBpB,EAAEgC,GAAEuN,EAAA/O,KAAA,gBAAA+O,EAAAkM,KAAA,EAAAlM,EAAAumD,GAAAvmD,EAAA,SAAUtO,GAAEsB,MAAKgN,EAAAumD,IAAG,QAAc,OAAdvmD,EAAAkM,KAAA,GAASq8gB,GAAE,GAAGvohB,EAAA1I,OAAA,6BAAA0I,EAAAkqF,OAAA,GAAAgpoB,EAAA,uBAAI,GAAE,CAACr5iB,EAAE9zH,EAAEnvC,IAAsC,OAAlCnkB,EAAAA,WAAa,WAAKjF,GAAG40I,GAAG,GAAG,CAACA,EAAE50I,IAAWiF,EAAAA,cAAgBjB,GAAE,CAACsP,UAAUpR,EAAEgrvB,UAAUtnvB,GAAGX,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,wCAAwC,GAAGvF,OAAO,OAAO8qF,SAASiiG,EAAEgqB,SAASt4I,GAAGl5D,EAAAA,cAAgBhE,GAAE,CAACq8B,GAAG,WAAWjR,UAAU,SAASswL,WAAW14M,GAAGgB,EAAAA,cAAgBoc,EAAE,MAAMpc,EAAAA,cAAgBhE,GAAE,CAACorB,UAAU,UAAUxmB,EAAEZ,EAAAA,cAAgB,IAAI,KAAKN,KAAI,UAAKM,EAAAA,cAAgB,MAAM,CAAC,uBAAsB,EAAGquD,IAAItzD,EAAEykK,IAAI,UAAU5oI,MAAM,MAAM5I,OAAO,QAAQhuB,EAAAA,cAAgBhE,GAAE,CAAC,qBAAoB,GAAIgE,EAAAA,cAAgB,MAAM,KAAKmkB,GAAGnkB,EAAAA,cAAgBhE,GAAE,CAAC,yBAAwB,EAAGyoM,QAAQ,WAAK7qJ,UAAU8mF,UAAUm9Y,UAAU15f,GAAGjkB,EAAEonL,KAAI,GAAGtnL,EAAAA,cAAgB,MAAM,CAAC,6BAA4B,GAAI8thB,GAAG9thB,EAAAA,cAAgB,MAAM,CAAC42B,MAAM,KAAK5I,OAAO,KAAK6J,QAAQ,YAAYypf,MAAM,8BAA8BthhB,EAAAA,cAAgB,OAAO,CAAClF,EAAE,6JAA6JkF,EAAAA,cAAgB0H,GAAE,MAAM1H,EAAAA,cAAgB5E,GAAE,OAAO4E,EAAAA,cAAgBlF,GAAE,MAAMkF,EAAAA,cAAgB+8D,EAAE,QAAQ,ECCr9E,SAAS,GAAyBlvB,EAAQywmB,GACvD,GAAc,MAAVzwmB,EAAgB,MAAO,CAAC,EAC5B,IACI/wC,EAAKd,EADLa,GAAS,EAAAsxvB,EAAA,GAA6BtgtB,EAAQywmB,GAElD,GAAItjpB,OAAOyB,sBAAuB,CAChC,IAAI2xvB,EAAmBpzvB,OAAOyB,sBAAsBoxC,GACpD,IAAK7xC,EAAI,EAAGA,EAAIoyvB,EAAiBjyvB,OAAQH,IACvCc,EAAMsxvB,EAAiBpyvB,GACnBsipB,EAAS9hpB,QAAQM,IAAQ,GACxB9B,OAAOU,UAAUgB,qBAAqBN,KAAKyxC,EAAQ/wC,KACxDD,EAAOC,GAAO+wC,EAAO/wC,GAEzB,CACA,OAAOD,CACT,CCfA,SAASwxvB,GACPC,EACAC,GAEA,IAJFC,GAIEtyvB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GADsC,CAAC,GAAvCuyvB,yBAAEA,OAAwB,IAAAD,GAAxBA,EAEF,OAAO,SAAqBzytB,GAG1B,GAFoB,OAApBuytB,QAAoB,IAApBA,GAAAA,EAAuBvytB,IAEU,IAA7B0ytB,IAAyC1ytB,EAA4BuiI,iBACvE,cAAOiwlB,QAAP,IAAOA,OAAP,EAAOA,EAAkBxytB,IFTu8Em1B,GAAE47rB,OAAO,WAAW,OAAO9svB,EAAAA,cAAgB/D,GAAE,CAAC8tJ,MAAM,GAAG5lI,KAAI,EAAE+sC,GAAE67rB,OAAO,WAAW,OAAO,IAAI,8BGuClkF,SAAS2B,GAAmBC,GAA+D,IAA5CC,EAAqC1yvB,UAAAC,OAAA,QAAApC,IAAAmC,UAAA,GAAAA,UAAA,GAAG,GACjF2yvB,EAAyB,GA0C7B,IAAMvpD,EAA2B,WAC/B,IAAMwpD,EAAgBD,EAAgBx0vB,KAAK,SAAA00vB,GACzC,OAAOC,EAAAA,EAAAA,eAAoBD,MAE7B,OAAO,SAAkBl5W,GACvB,IAAM12Q,GAAgB,OAAL02Q,QAAK,IAALA,OAAA,EAAAA,EAAQ84W,KAAcG,EACvC,OAAOG,EAAAA,EAAAA,UACL,kBAAAl/uB,EAAAA,EAAAA,GAAC,CAAD,YAAAxV,OAAoBo0vB,GAAUO,EAAAA,EAAA,GAASr5W,GAAL,IAAA9lY,EAAAA,EAAAA,GAAA,GAAa4+uB,EAAYxvnB,IAAb,GAC9C,CAAC02Q,EAAO12Q,MAMd,OADAmmkB,EAAYqpD,UAAYA,EACjB,CAlDP,SACEQ,EACAJ,GAEA,IAAMK,GAAcJ,EAAAA,EAAAA,eAAkDD,GAChEx2uB,EAAQs2uB,EAAgB1yvB,OAG9B,SAAS2T,EACPhD,GAEA,IAAQ+oY,EAAgC/oY,EAzD9C+oY,MAyDqB7lY,EAAyBlD,EAzD9CkD,SAyDkCtD,EAAH2ivB,GAAevivB,EAAxCy0L,IACMm6c,GAAe,OAAL7lQ,QAAK,IAALA,OAAA,EAAAA,EAAQ84W,GAAWp2uB,KAAU62uB,EAGvC9wvB,GAAQ2wvB,EAAAA,EAAAA,UAAc,kBAAMvivB,CAApB,GAA6B1R,OAAOokC,OAAO1yB,IACzD,OAAO4ivB,EAAAA,EAAAA,eAAC5zG,EAAQ5roB,SAAhB,CAAyBxR,MAAOA,GAAQ0R,GAa1C,OAvBA6+uB,EAAkB,GAAHt0vB,QAAAm6B,EAAAA,GAAAA,GAAOm6tB,GAAJ,CAAqBE,IAsBvCj/uB,EAAS6oB,YAAcw2tB,EAAoB,WACpC,CAACr/uB,EAVR,SAAoBy/uB,EAAsB15W,GACxC,IAAM6lQ,GAAe,OAAL7lQ,QAAK,IAALA,OAAA,EAAAA,EAAQ84W,GAAWp2uB,KAAU62uB,EACvC1ivB,GAAU8ivB,EAAAA,EAAAA,YAAiB9zG,GACjC,GAAIhvoB,EAAS,OAAOA,EACpB,QAAuB3S,IAAnBg1vB,EAA8B,OAAOA,EAEzC,MAAM,IAAI5qvB,MAAJ,IAAA5J,OAAeg1vB,EAAa,2BAAAh1vB,OAA2B40vB,EAAkB,SAyB5DM,GAAoBpzvB,WAAC,EAAD,CAACipsB,GAAD/qsB,QAAAm6B,EAAAA,GAAAA,GAAiBk6tB,MAO9D,SAASa,KAA+C,QAAAr/tB,EAAAl0B,UAAAC,OAAvBistB,EAAjC,IAAAjttB,MAAAi1B,GAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAAiC8ksB,EAAjC9ksB,GAAApnB,UAAAonB,GACE,IAAMosuB,EAAYtnC,EAAO,GACzB,GAAsB,IAAlBA,EAAOjstB,OAAc,OAAOuzvB,EAEhC,IAAMC,EAA2B,WAC/B,IAAMC,EAAaxnC,EAAO/ttB,KAAK,SAAAirsB,GAAD,MAAkB,CAC9CuqD,SAAUvqD,IACVqpD,UAAWrpD,EAAYqpD,UAFK,IAK9B,OAAO,SAA2BmB,GAChC,IAAMC,EAAaH,EAAW15uB,QAAO,SAAC85uB,EAAD35uB,GAAyC,IAA1Bw5uB,EAAFx5uB,EAlHxDw5uB,SAkHoElB,EAAAt4uB,EAlHpEs4uB,UAuHcsB,EADaJ,EAASC,GACI,UAADv1vB,OAAWo0vB,IAC1C,OAAAO,EAAAA,EAAA,GAAYc,GAAeC,KAC1B,CAAC,GAEJ,OAAOhB,EAAAA,EAAAA,UAAc,kBAAAl/uB,EAAAA,EAAAA,GAAC,CAAD,YAAAxV,OAAoBm1vB,EAAUf,WAAcoB,EAAnC,GAAkD,CAACA,MAKrF,OADAJ,EAAYhB,UAAYe,EAAUf,UAC3BgB,EC5GT,SAASO,KAA0C,QAAA9/tB,EAAAl0B,UAAAC,OAAxB4yC,EAA3B,IAAA5zC,MAAAi1B,GAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAA2ByrB,EAA3BzrB,GAAApnB,UAAAonB,GACE,OAAQ,SAAAlK,GAAD,OAAa21B,EAAKrjC,SAAS,SAAAuH,GAAD,OAbnC,SAAmBA,EAAqB3U,GACnB,oBAAR2U,EACTA,EAAI3U,GACa,OAAR2U,QAAwBlZ,IAARkZ,IACxBA,EAAkCmnB,QAAU97B,GASL6xvB,CAAOl9uB,EAAKmG,EAAlC,GAApB,EAOF,SAASg3uB,KAA8C,QAAA3itB,EAAAvxC,UAAAC,OAAxB4yC,EAA/B,IAAA5zC,MAAAsyC,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAA+BqB,EAA/BrB,GAAAxxC,UAAAwxC,GAEE,OAAO2itB,EAAAA,EAAAA,aAAkBH,GAAW7zvB,WAAC,EAAG0yC,GAAOA,uCCnB3CuhtB,IAAOC,EAAAA,EAAAA,aAAyC,SAACzjvB,EAAOw8oB,GAC5D,IAAQt5oB,EAA2BlD,EAAnC,SAAqB8hC,EAAHygtB,GAAiBvivB,EAAnC8Y,IACM4quB,EAAgBC,EAAAA,SAAAA,QAAuBzgvB,GACvC0gvB,EAAYF,EAAclzsB,KAAKqzsB,IAErC,GAAID,EAAW,CAEb,IAAMvhpB,EAAauhpB,EAAU5jvB,MAAMkD,SAE7B05kB,EAAc8mK,EAAcn2vB,KAAK,SAAAiY,GACrC,OAAIA,IAAUo+uB,EAGRD,EAAAA,SAAAA,MAAqBthpB,GAAc,EAAUshpB,EAAAA,SAAAA,KAAoB,OAC9DG,EAAAA,EAAAA,gBAAqBzhpB,GACvBA,EAAWriG,MAAMkD,SAClB,KAEGsC,KAIX,OACEu+uB,EAAAA,EAAAA,eAACC,IAADC,EAAAA,EAAAA,GAAA,GAAenitB,EADjB,CAC4B37B,IAAKq2oB,KAC5BsnG,EAAAA,EAAAA,gBAAqBzhpB,IAClB6hpB,EAAAA,EAAAA,cAAmB7hpB,OAAYp1G,EAAW2vlB,GAC1C,MAKV,OACEmnK,EAAAA,EAAAA,eAACC,IAADC,EAAAA,EAAAA,GAAA,GAAenitB,EADjB,CAC4B37B,IAAKq2oB,IAC5Bt5oB,MAKPsgvB,GAAK33tB,YAAc,OAUnB,IAAMm4tB,IAAYP,EAAAA,EAAAA,aAAsC,SAACzjvB,EAAOw8oB,GAC9D,IAAQt5oB,EAA2BlD,EAAnC,SAAqB8hC,EAAHygtB,GAAiBvivB,EAAnCy0L,IAEA,OAAIqvjB,EAAAA,EAAAA,gBAAqB5gvB,IAChBghvB,EAAAA,EAAAA,cAAmBhhvB,EAAnBk/uB,EAAAA,EAAA,GA2BX,SAAoBtgtB,EAAqBmknB,GAEvC,IAAMzrB,EAAa4nH,EAAA,GAAQn8F,GAAL/8a,EAAA,WAGpB,IAAMi7gB,EAAgBritB,EAAU9U,GAC1Bo3tB,EAAiBn+F,EAAWj5nB,GAEhB,WAAWqD,KAAKrD,GAGhCwtmB,EAAcxtmB,GAAY,WACV,OAAdo3tB,QAAc,IAAdA,GAAAA,EAAc70vB,WAAA,EAAAH,WACD,OAAb+0vB,QAAa,IAAbA,GAAAA,EAAa50vB,WAAA,EAAAH,YAIK,UAAb49B,EACPwtmB,EAAcxtmB,GAAdo1tB,EAAAA,EAAA,GAA+B+B,GAAkBC,GAC3B,cAAbp3tB,IACTwtmB,EAAcxtmB,GAAY,CAACm3tB,EAAeC,GAAgB1ivB,OAAOoC,SAAS3F,KAAK,OAhBnF,IAAK,IAAM6uB,KAAYi5nB,EAAvB/8a,IAoBA,OAAAk5gB,EAAAA,EAAA,GAAYtgtB,GAAc04lB,GAlDnB6pH,CAAWvitB,EAAW5+B,EAASlD,QADA,IAElCmG,IAAKm+uB,GAAY9nG,EAAet5oB,EAAiBiD,QAI9Cw9uB,EAAAA,SAAAA,MAAqBzgvB,GAAY,EAAIygvB,EAAAA,SAAAA,KAAoB,MAAQ,QAG1EK,GAAUn4tB,YAAc,YAMxB,IAAM04tB,GAAY,SAAHj7uB,GAAoD,IAA9CpG,EAAAoG,EAAApG,SACnB,OAAO6gvB,EAAAA,EAAAA,eAAAS,EAAAA,SAAA,KAAGthvB,IAOZ,SAAS2gvB,GAAYr+uB,GACnB,OAAOs+uB,EAAAA,EAAAA,gBAAqBt+uB,IAAUA,EAAMU,OAASq+uB,GA8BvD,4BC5GA,IAAME,GAAkB3gvB,QAAO,OAACmoD,iBAAD,IAACA,gBAAD,EAACA,WAAY9nD,UAAYugvB,EAAAA,gBAAwB,WAAO,ECLjFC,GAAcC,EAAc,QAAQ1mvB,aAAgB,WAAvC,EACf2mvB,GAAQ,EAEZ,SAASC,GAAMC,GACb,IAAAC,EAAoBJ,EAAAA,SAAmCD,MAAvDM,GAAAz7uB,EAAAA,EAAAA,GAAAw7uB,EAAA,GAAOjivB,EAADkivB,EAAC,GAAIC,EAALD,EAAC,GAKP,OAHAE,IAAgB,WACTJ,GAAiBG,GAAO,SAAAx4tB,GAAD,cAAaA,QAAb,IAAaA,EAAAA,EAAW7uB,OAAOgnvB,KAAhC,MAC1B,CAACE,IACGA,IAAoBhivB,EAAK,SAAHtV,OAAYsV,GAAO,uBC2B5CqivB,GApCQ,CACZ,IACA,SACA,MACA,KACA,KACA,MACA,KACA,MACA,KACA,IACA,OACA,MACA,MAuBsBh8uB,QAAO,SAAC6vhB,EAAW3shB,GACzC,IAAM8yD,GAAOimrB,EAAAA,EAAAA,aAAiB,SAACrlvB,EAA2Cw8oB,GACxE,IAAQ8oG,EAA+BtlvB,EAAvC,QAAoBulvB,EAAHhD,GAAsBvivB,EAAvC8Y,IACM0suB,EAAYF,EAAUG,GAAOn5uB,EAMnC,OAJAo5uB,EAAAA,EAAAA,YAAgB,WACb34vB,OAAe2F,OAAOmxiB,IAAI,cAAe,IACzC,KAEI8hN,EAAAA,EAAAA,eAACH,GAADI,EAAAA,EAAAA,GAAA,GAAUL,EAAjB,CAAiCp/uB,IAAKq2oB,QAKxC,OAFAp9kB,EAAKvzC,YAAL,aAAAp+B,OAAgC6e,GAEhC81uB,EAAAA,EAAA,GAAYnpN,GAAL,IAAAh2hB,EAAAA,EAAAA,GAAA,GAAiBqJ,EAAO8yD,MAC9B,CAAC,GCjDJ,SAASymrB,GAAkDhnvB,GACzD,IAAMinvB,GAAcC,EAAAA,EAAAA,QAAalnvB,GAOjC,OALAmnvB,EAAAA,EAAAA,YAAgB,WACdF,EAAYx4tB,QAAUzuB,MAIjBonvB,EAAAA,EAAAA,UAAc,kBAAO,eAA5B,IAAAC,EAA4BC,EAAA7iuB,EAAAl0B,UAAAC,OAAI2nB,EAAJ,IAAA3oB,MAAAi1B,GAAA9M,EAAA,EAAAA,EAAA8M,EAAA9M,IAAIQ,EAAJR,GAAApnB,UAAAonB,GAAA,eAAA2vuB,EAAaL,EAAYx4tB,eAAzB,IAAA64tB,OAAA,GAAaD,EAAAC,GAAA72vB,KAAAC,MAAA22vB,EAAA,CAAAJ,GAAWr4vB,OAAcupB,IAA3D,GAAwE,ICHjF,SAASovuB,GAAT98uB,GAIkC,IAHhCgb,EAD+Bhb,EAXjCgb,KAaE8I,EAF+B9jB,EAXjC8jB,YAAAi5tB,EAAA/8uB,EAWiCmvE,SAG/BA,OAAQ,IAAA4tqB,EAAG,WAAO,EAAlBA,EAEAC,EAqBF,SAAA/8uB,GAGgD,IAF9C6jB,EAD+B7jB,EArCjC6jB,YAuCEqrD,EAAAlvE,EAvCFkvE,SAyCQ8tqB,GAAoBC,EAAAA,EAAAA,UAA8Bp5tB,GACjD57B,GAAPgY,EAAAA,EAAAA,GAAgB+8uB,EAAhB,GAAO,GACDE,GAAeC,EAAAA,EAAAA,QAAal1vB,GAC5B2qvB,EAAewK,GAAeluqB,GASpC,OAPAmuqB,EAAAA,EAAAA,YAAgB,WACVH,EAAan5tB,UAAY97B,IAC3B2qvB,EAAa3qvB,GACbi1vB,EAAan5tB,QAAU97B,KAExB,CAACA,EAAOi1vB,EAActK,IAElBoK,EArCyCM,CAAqB,CAhBvEz5tB,YAgByEA,EAhBzEqrD,SAgBsFA,IAApFquqB,GAAAt9uB,EAAAA,EAAAA,GAAA88uB,EAAA,GAAOS,EAADD,EAAC,GAAkBE,EAAnBF,EAAC,GACDz5tB,OAAwBpgC,IAATq3B,EACf6gG,EAAQ93F,EAAe/I,EAAOyiuB,EAC9B5K,EAAewK,GAAeluqB,GAepC,MAAO,CAAC0sC,GAb8D8hoB,EAAAA,EAAAA,cACnE,SAAA1rK,GACC,GAAIlujB,EAAc,CAChB,IACM77B,EAA6B,oBAAd+plB,EADNA,EACwCj3jB,GAAQi3jB,EAC3D/plB,IAAU8yB,GAAM63tB,EAAa3qvB,QAEjCw1vB,EAAoBzrK,KAGxB,CAAClujB,EAAc/I,EAAM0iuB,EAAqB7K,KC5B9C,IAAM+K,IAAmBC,EAAAA,EAAAA,oBAA2Cl6vB,GAiBpE,SAASm6vB,GAAaC,GACpB,IAAMC,GAAYC,EAAAA,EAAAA,YAAiBL,IACnC,OAAOG,GAAYC,GAAa,MAGlC,yMCXME,GAAc,gCACdC,GAAgB,CAAE1uI,SAAS,EAAO7zc,YAAY,GAM9CwilB,GAAa,mBAGnBC,GCNA,SAA0ElyvB,GAKxE,IAAMmyvB,EAAgBnyvB,EAAO,qBAC7BoyvB,EAAyDC,GAAmBF,GAA5EG,GAAAv+uB,EAAAA,EAAAA,GAAAq+uB,EAAA,GAAOG,EAADD,EAAC,GAAyBE,EAA1BF,EAAC,GAOPG,EAAuDF,EACrDJ,EACA,CAAEO,cAAe,CAAE76tB,QAAS,MAAQ86tB,QAAS,IAAIvorB,MAFnDworB,GAAA7+uB,EAAAA,EAAAA,GAAA0+uB,EAAA,GAAOI,EAADD,EAAC,GAAwBE,EAAzBF,EAAC,GAKDG,EAA4E,SAAAxovB,GAChF,IAAQ+oY,EAAoB/oY,EArChC+oY,MAqCmB7lY,EAAalD,EArChCkD,SAsCUiD,EAAMsivB,EAAAA,OAAgC,MACtCL,EAAUK,EAAAA,OAAsC,IAAI5orB,KAAOvyC,QACjE,OACEm7tB,EAAAA,cAACH,EADH,CAC0Bv/W,MAAOA,EAAOq/W,QAASA,EAASD,cAAehivB,GACpEjD,IAWDwlvB,EAAuBjzvB,EAAO,iBAE9BkzvB,EAAiBF,EAAAA,YACrB,SAACzovB,EAAOw8oB,GACN,IAAQzzQ,EAAoB/oY,EAzDlC+oY,MAyDqB7lY,EAAalD,EAzDlCkD,SA2DY0lvB,EAAeC,GAAgBrsG,EADrB+rG,EAAqBG,EAAsB3/W,GACAo/W,eAC3D,OAAOM,EAAAA,cAACK,GAAR,CAAa3ivB,IAAKyivB,GAAe1lvB,MAU/B6lvB,EAAiBtzvB,EAAO,qBACxBuzvB,EAAiB,6BAOjBC,EAAqBR,EAAAA,YACzB,SAACzovB,EAAOw8oB,GAAiB,IAAA0sG,EACfngX,EAAiC/oY,EAhF/C+oY,MAgFqB7lY,EAA0BlD,EAhF/CkD,SAgFkCw+L,EAAH6gjB,GAAgBvivB,EAAzC8Y,IACM3S,EAAMsivB,EAAAA,OAA0B,MAChCG,EAAeC,GAAgBrsG,EAAcr2oB,GAC7CvG,EAAU2ovB,EAAqBQ,EAAgBhgX,GAOrD,OALA0/W,EAAAA,WAAgB,WAEd,OADA7ovB,EAAQwovB,QAAQ5yvB,IAAI2Q,EAApBi8uB,EAAA,CAtFRj8uB,IAsFmCA,GAASu7L,IAC7B,WAAW9hM,EAAQwovB,QAAQlprB,OAAO/4D,EAAzC,KAIAsivB,EAAAA,cAACK,IAADI,EAAA,IAAAjmvB,EAAAA,EAAAA,GAAAimvB,EAAaF,EAAiB,KAA9B/lvB,EAAAA,EAAAA,GAAAimvB,EAAA,MAAyCN,GAALM,GACjChmvB,MA6BT,MAAO,CACL,CAAEF,SAAUwlvB,EAAoBW,KAAMR,EAAgBS,SAAUH,GAlBlE,SAAuBlgX,GACrB,IAAMnpY,EAAU2ovB,EAAqB9yvB,EAAO,qBAAsBszY,GAE5D76P,EAAWu6mB,EAAAA,aAAkB,WACjC,IAAMY,EAAiBzpvB,EAAQuovB,cAAc76tB,QAC7C,IAAK+7tB,EAAgB,MAAO,GAC5B,IAAMC,EAAej7vB,MAAM2K,KAAKqwvB,EAAe54uB,iBAAf,IAAAhjB,OAAoCu7vB,EAAe,OAE7E3vU,EADQhrb,MAAM2K,KAAK4G,EAAQwovB,QAAQ91tB,UACdnO,MACzB,SAACtwB,EAAG5F,GAAJ,OAAUq7vB,EAAa55vB,QAAQmE,EAAEsS,IAAImnB,SAAYg8tB,EAAa55vB,QAAQzB,EAAEkY,IAAImnB,QADzD,IAGrB,OAAO+rZ,IACN,CAACz5a,EAAQuovB,cAAevovB,EAAQwovB,UAEnC,OAAOl6mB,GAMP+5mB,GDpGuDsB,CAGzD7B,IAHF8B,IAAAhgvB,EAAAA,EAAAA,GAAAm+uB,GAAA,GAAO8B,GAADD,GAAC,GAAYE,GAAbF,GAAC,GAMPG,GAAqEC,GACnElC,GACA,CARI8B,GAAC,KAMPK,IAAArgvB,EAAAA,EAAAA,GAAAmgvB,GAAA,GAAOG,GAADD,GAAC,GAA+BE,GAAhCF,GAAC,GA+BPG,GACEF,GAAkDpC,IADpDuC,IAAAzgvB,EAAAA,EAAAA,GAAAwgvB,GAAA,GAAOE,GAADD,GAAC,GAAqBE,GAAtBF,GAAC,GAMDG,IAAmBC,EAAAA,EAAAA,aACvB,SAACrqvB,EAA2Cw8oB,GAC1C,OACE8tG,EAAAA,EAAAA,eAACb,GAAWzmvB,SADd,CACuB+lY,MAAO/oY,EAAMuqvB,0BAChCD,EAAAA,EAAAA,eAACb,GAAWN,KADd,CACmBpgX,MAAO/oY,EAAMuqvB,0BAC5BD,EAAAA,EAAAA,eAACE,IAADC,EAAAA,EAAAA,GAAA,GAA0BzqvB,EAD5B,CACmCmG,IAAKq2oB,UAsB1CguG,IAAuBH,EAAAA,EAAAA,aAG3B,SAACrqvB,EAA+Cw8oB,GAChD,IACE+tG,EASEvqvB,EAVJ,wBAEEwgG,EAQExgG,EAVJ,cAUIA,EAVEkvM,KAGJA,OAAI,IAAAw7iB,GAHAA,EAIJjztB,EAMEz3B,EAVJ,IAKoB2qvB,EAKhB3qvB,EALF4qvB,iBACAC,EAIE7qvB,EAVJ,wBAOE8qvB,EAGE9qvB,EAVJ,yBAQE+qvB,EAEE/qvB,EAVJ,aASKgrvB,EAAHzI,GACEvivB,EAVJ8Y,IAWM3S,GAAM8kvB,EAAAA,EAAAA,QAA0C,MAChDrC,EAAesC,GAAgB1uG,EAAcr2oB,GAC7CmU,EAAY6wuB,GAAa1ztB,GAC/B2ztB,EAAuDC,GAAqB,CAC1E/muB,KAAMqmuB,EACNv9tB,YAAay9tB,EACbpyqB,SAAUqyqB,IAHZQ,GAAA9hvB,EAAAA,EAAAA,GAAA4hvB,EAAA,GAAAG,EAAAD,EAAA,GAAOV,OAAgB,IAAAW,EAAG,KAApBA,EAA0BC,EAA1BF,EAAC,GAKPG,GAAgDC,EAAAA,EAAAA,WAAe,GAA/DC,GAAAnivB,EAAAA,EAAAA,GAAAiivB,EAAA,GAAOG,EAADD,EAAC,GAAkBE,EAAnBF,EAAC,GACDG,EAAmBC,GAAehB,GAClC78mB,EAAWw7mB,GAAca,GACzByB,GAAkBf,EAAAA,EAAAA,SAAa,GAUrC,OARAgB,EAAAA,EAAAA,YAAgB,WACd,IAAM3/uB,EAAOnG,EAAImnB,QACjB,GAAIhhB,EAEF,OADAA,EAAKyjB,iBAAiBy3tB,GAAasE,GAC5B,kBAAMx/uB,EAAK82B,oBAAoBoktB,GAAasE,EAAnD,IAED,CAACA,KAGFxB,EAAAA,EAAAA,eAACJ,GADH,CAEInhX,MAAOwhX,EACP/ppB,YAAaA,EACb/oE,IAAKnd,EACL40L,KAAMA,EACN07iB,iBAAkBA,EAClBsB,aAAaC,EAAAA,EAAAA,cACV,SAAAC,GAAD,OAAeZ,EAAoBY,EADxB,GAEX,CAACZ,IAEHa,gBAAgBF,EAAAA,EAAAA,cAAkB,kBAAMN,GAAoB,EAA5C,GAAmD,MAEnEvB,EAAAA,EAAAA,eAACgC,GAAAA,KAZH7B,EAAAA,EAAAA,GAAA,CAaI52rB,SAAU+3rB,GAAoB,EAAI,EAClC,mBAAkBprpB,GACdwqpB,EAHN,CAIE7kvB,IAAKyivB,EACLjgvB,MAAKy5uB,EAAA,CAAI78N,QAAS,QAAWvlhB,EAAM2I,OACnC40kB,YAAagvK,GAAqBvsvB,EAAMu9kB,aAAa,WACnDyuK,EAAgB1+tB,SAAU,KAE5B2C,QAASs8tB,GAAqBvsvB,EAAMiwB,SAAU,SAAAhB,GAK5C,IAAMu9tB,GAAmBR,EAAgB1+tB,QAEzC,GAAI2B,EAAMl/B,SAAWk/B,EAAMs1H,eAAiBiomB,IAAoBZ,EAAkB,CAChF,IAAMa,EAAkB,IAAIC,YAAYlF,GAAaC,IAGrD,GAFAx4tB,EAAMs1H,cAAcqoZ,cAAc6/M,IAE7BA,EAAgBj7lB,iBAAkB,CACrC,IAAM17E,EAAQo4D,IAAWxsI,QAAQ,SAAAoG,GAAD,OAAUA,EAAK2jB,SAAjC,IAOdkhuB,GAJuB,CAFJ72qB,EAAMtlC,MAAM,SAAA1oC,GAAD,OAAUA,EAAK0R,MAA1B,IACCs8D,EAAMtlC,MAAM,SAAA1oC,GAAD,OAAUA,EAAK/E,KAAO6nvB,CAAjC,KACGn9vB,QAAAm6B,EAAAA,GAAAA,GAA6BkuD,IAAOp0E,OACzDoC,SAEoCvW,KAAK,SAAAua,GAAD,OAAUA,EAAK3B,IAAImnB,OAAtC,MAK3B0+tB,EAAgB1+tB,SAAU,KAE5B4C,OAAQq8tB,GAAqBvsvB,EAAMkwB,QAAQ,kBAAM27tB,GAAoB,EAAzC,WAU9Be,GAAY,uBASZC,IAAuBxC,EAAAA,EAAAA,aAC3B,SAACrqvB,EAA0Cw8oB,GACzC,IAAQ+tG,EAA4EvqvB,EAApF,0BAAoFA,EAA9EyrB,UAA2BA,OAAS,IAAAqhuB,GAApCA,EAAAC,EAA8E/svB,EAA9EwZ,OAA6CA,OAAM,IAAAuzuB,GAAnDA,EAAgEC,EAAHzK,GAAiBvivB,EAApFy0L,IACM1xL,EAAKkqvB,KACLrtvB,EAAUuqvB,GAAsByC,GAAWrC,GAC3C2C,EAAmBttvB,EAAQgrvB,mBAAqB7nvB,EAChDmrI,EAAWw7mB,GAAca,GAE/B,OACED,EAAAA,EAAAA,eAACb,GAAWL,SADd,CAEIrgX,MAAOwhX,EACPxnvB,GAAIA,EACJ0oB,UAAWA,EACXjS,OAAQA,IAER8wuB,EAAAA,EAAAA,eAACgC,GAAAA,MANH7B,EAAAA,EAAAA,GAAA,CAOI52rB,SAAUq5rB,EAAmB,GAAK,EAClC,mBAAkBttvB,EAAQ4gG,aACtBwspB,EAHN,CAIE7mvB,IAAKq2oB,EACLj/D,YAAagvK,GAAqBvsvB,EAAMu9kB,aAAc,SAAAtujB,GAG/CxD,EAEA7rB,EAAQssvB,YAAYnpvB,GAFTksB,EAAMolE,oBAIxBpkE,QAASs8tB,GAAqBvsvB,EAAMiwB,SAAS,kBAAMrwB,EAAQssvB,YAAYnpvB,EAA1C,IAC7B8sE,UAAW08qB,GAAqBvsvB,EAAM6vE,WAAY,SAAA5gD,GAChD,GAAkB,QAAdA,EAAMj/B,KAAiBi/B,EAAMs8H,SAC/B3rJ,EAAQysvB,sBAIV,GAAIp9tB,EAAMl/B,SAAWk/B,EAAMs1H,cAA3B,CAEA,IAAM4omB,EAgDlB,SAAwBl+tB,EAA4BuxE,EAA2B/oE,GAC7E,IAAMznC,EARR,SAA8BA,EAAaynC,GACzC,MAAY,QAARA,EAAsBznC,EACX,cAARA,EAAsB,aAAuB,eAARA,EAAuB,YAAcA,EAMrEo9vB,CAAqBn+tB,EAAMj/B,IAAKynC,GAC5C,MAAoB,aAAhB+oE,GAA8B,CAAC,YAAa,cAAc9iD,SAAS1tD,IACnD,eAAhBwwG,GAAgC,CAAC,UAAW,aAAa9iD,SAAS1tD,QADO,EAEtEq9vB,GAAwBr9vB,GApDDs9vB,CAAer+tB,EAAOrvB,EAAQ4gG,YAAa5gG,EAAQ63B,KAEvE,QAAoBxqC,IAAhBkgwB,EAA2B,CAC7Bl+tB,EAAMolE,iBACN,IACIk5pB,EADUr/mB,IAAWxsI,QAAQ,SAAAoG,GAAD,OAAUA,EAAK2jB,SAAjC,IACal+B,KAAK,SAAAua,GAAD,OAAUA,EAAK3B,IAAImnB,OAA7B,IAErB,GAAoB,SAAhB6/tB,EAAwBI,EAAeh9sB,eACtC,GAAoB,SAAhB48sB,GAA0C,SAAhBA,EAAwB,CACrC,SAAhBA,GAAwBI,EAAeh9sB,UAC3C,IAAMquE,EAAe2uoB,EAAe79vB,QAAQu/B,EAAMs1H,eAClDgpmB,EAAiB3tvB,EAAQsvM,KA0DzC,SAAsBjjM,EAAYk3Q,GAChC,OAAOl3Q,EAAM1e,KAAI,SAAC6E,EAAGqZ,GAAJ,OAAcQ,GAAOk3Q,EAAa13Q,GAASQ,EAAM5c,OAA3D,IA1DWm+vB,CAAUD,EAAgB3uoB,EAAe,GACzC2uoB,EAAe1hvB,MAAM+yG,EAAe,GAO1C12G,YAAW,kBAAMykvB,GAAWY,EAAlB,IAtBoC,YAoCtDF,GAAuD,CAC3DI,UAAW,OAAQC,QAAS,OAC5BC,WAAY,OAAQC,UAAW,OAC/BC,OAAQ,QAAShsF,KAAM,QACvBisF,SAAU,OAAQC,IAAK,QAiBzB,SAASpB,GAAWjjB,GAClB,IACAv6W,EADM6+X,EAA6B7pvB,SAAS4+F,cAA5CgriB,EAAAm9B,GACwBw+D,GAAxB,QAAA37F,EAAA9+oB,MAAAkgY,EAAA4+Q,EAAA5+oB,KAAA0C,MAAoC,KAAzBo6uB,EAAX98W,EAAA39X,MAEE,GAAIy6uB,IAAc+hB,EAA4B,OAE9C,GADA/hB,EAAUlytB,QACN5V,SAAS4+F,gBAAkBirpB,EAA4B,OAC5D,OAAA1ptB,GAAAypmB,EAAAt+oB,EAAA60C,EAAA,SAAAypmB,EAAA97oB,GAAA,EAWH,IAAMg8vB,GAAO7D,GACP8D,GAAOrB,GEvSb,IAAMsB,GAAqC,SAAAnuvB,GACzC,IAAQouvB,EAAsBpuvB,EAZhCouvB,QAYmBlrvB,EAAalD,EAZhCkD,SAaQmrvB,EAmBR,SAAqBD,GACnB,IAAAE,GAAwBC,EAAAA,EAAAA,YAAxBC,GAAAhlvB,EAAAA,EAAAA,GAAA8kvB,EAAA,GAAOG,EAADD,EAAC,GAAME,EAAPF,EAAC,GACDG,GAAYC,EAAAA,EAAAA,QAAkC,CAAC,GAC/CC,GAAiBD,EAAAA,EAAAA,QAAaR,GAC9BU,GAAuBF,EAAAA,EAAAA,QAAqB,QAC5Cr4E,EAAe63E,EAAU,UAAY,YAC3CW,EC3BK,SACLx4E,EACAD,GAEA,OAAO04E,EAAAA,EAAAA,aAAiB,SAACl2vB,EAAwBm2B,GAC/C,IAAMlvB,EAAau2qB,EAAQx9qB,GAAem2B,GAC1C,cAAOlvB,QAAP,IAAOA,EAAAA,EAAajH,IACnBy9qB,GDoBmB04E,CAAgB14E,EAAc,CAClDpymB,QAAS,CACP+qrB,QAAS,YACTC,cAAe,oBAEjBC,iBAAkB,CAChBC,MAAO,UACPC,cAAe,aAEjBC,UAAW,CACTF,MAAO,aAVXG,GAAAhmvB,EAAAA,EAAAA,GAAAulvB,EAAA,GAAOj2vB,EAAD02vB,EAAC,GAAOxptB,EAARwptB,EAAC,GA4FP,OA9EAC,EAAAA,EAAAA,YAAgB,WACd,IAAMC,EAAuBC,GAAiBhB,EAAUrhuB,SACxDwhuB,EAAqBxhuB,QAAoB,YAAVx0B,EAAsB42vB,EAAuB,SAC3E,CAAC52vB,IAEJ82vB,IAAgB,WACd,IAAM1mvB,EAASylvB,EAAUrhuB,QACnBuiuB,EAAahB,EAAevhuB,QAGlC,GAF0BuiuB,IAAezB,EAElB,CACrB,IAAM0B,EAAoBhB,EAAqBxhuB,QACzCoiuB,EAAuBC,GAAiBzmvB,GAE9C,GAAIklvB,EACFpotB,EAAK,cACA,GAA6B,SAAzB0ptB,GAAuD,UAAd,OAANxmvB,QAAM,IAANA,OAAA,EAAAA,EAAQ6gB,SAGpDic,EAAK,eACA,CAUHA,EADE6ptB,GAFgBC,IAAsBJ,EAGnC,gBAEA,WAITb,EAAevhuB,QAAU8guB,KAE1B,CAACA,EAASpotB,IAEb4ptB,IAAgB,WACd,GAAInB,EAAM,CAMR,IAAMsB,EAAsB,SAAA9guB,GAC1B,IACM+guB,EADuBL,GAAiBhB,EAAUrhuB,SACRowB,SAASzuB,EAAMkrlB,eAC3DlrlB,EAAMl/B,SAAW0+vB,GAAQuB,IAI3BC,EAAAA,GAAAA,YAAmB,kBAAMjqtB,EAAK,gBAA9B,KAGEkqtB,EAAwB,SAAAjhuB,GACxBA,EAAMl/B,SAAW0+vB,IAEnBK,EAAqBxhuB,QAAUqiuB,GAAiBhB,EAAUrhuB,WAM9D,OAHAmhuB,EAAK1+tB,iBAAiB,iBAAkBmguB,GACxCzB,EAAK1+tB,iBAAiB,kBAAmBgguB,GACzCtB,EAAK1+tB,iBAAiB,eAAgBgguB,GAC/B,WACLtB,EAAKrrtB,oBAAoB,iBAAkB8stB,GAC3CzB,EAAKrrtB,oBAAoB,kBAAmB2stB,GAC5CtB,EAAKrrtB,oBAAoB,eAAgB2stB,IAK3C/ptB,EAAK,mBAEN,CAACyotB,EAAMzotB,IAEH,CACLmqtB,UAAW,CAAC,UAAW,oBAAoBzysB,SAAS5kD,GACpDqN,KAAKiqvB,EAAAA,EAAAA,cAAmB,SAAA9jvB,GAClBA,IAAMqivB,EAAUrhuB,QAAUisF,iBAAiBjtG,IAC/CoivB,EAAQpivB,KACP,KA1HY+jvB,CAAYjC,GAEvB5ovB,EACgB,oBAAbtC,EACHA,EAAS,CAAEkrvB,QAASC,EAAS8B,YAC7BG,EAAAA,SAAAA,KAAoBptvB,GAGpBiD,EAAMoqvB,GAAgBlC,EAASlovB,IAAMX,EAAcW,KAEzD,MADuC,oBAAbjD,GACLmrvB,EAAS8B,WAAYK,EAAAA,EAAAA,cAAmBhrvB,EAAO,CAvBtEW,IAuBwEA,IAAS,MAsHjF,SAASwpvB,GAAiBzmvB,GACxB,OAAa,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQixmB,gBAAiB,OApHlCg0I,GAAStiuB,YAAc,iOERjB4kuB,GAAY,OAGlBC,GAA6CC,GAAmBF,GAAW,CACzEG,KADFC,IAAArnvB,EAAAA,EAAAA,GAAAknvB,GAAA,GAAOI,GAADD,GAAC,GAAmBE,GAApBF,GAAC,GAGDG,GAA2BJ,KAWjCK,GAAuCH,GAAoCL,IAA3ES,IAAA1nvB,EAAAA,EAAAA,GAAAynvB,GAAA,GAAOE,GAADD,GAAC,GAAcE,GAAfF,GAAC,GA6BDG,IAAOC,EAAAA,EAAAA,aACX,SAACtxvB,EAA+Bw8oB,GAC9B,IACE+0G,EAQEvxvB,EATJ,YAESwxvB,EAOLxxvB,EAPFxO,MACAigwB,EAMEzxvB,EATJ,cAIE8C,EAKE9C,EATJ,eASIA,EATEwgG,YAKJA,OAAW,IAAAi/jB,EAAG,aALVA,EAMJhooB,EAGEz3B,EATJ,MASIA,EATE0xvB,eAOJA,OAAc,IAAAC,EAAG,YAPbA,EAQDC,EAAHrP,GACEvivB,EATJ8Y,IAUMwB,EAAYu3uB,GAAap6tB,GAC/Bq6tB,EAA0BC,GAAqB,CAC7CztuB,KAAMktuB,EACN/4qB,SAAUg5qB,EACVrkuB,YAAatqB,IAHfkvvB,GAAAxovB,EAAAA,EAAAA,GAAAsovB,EAAA,GAAOtgwB,EAADwgwB,EAAC,GAAOxkuB,EAARwkuB,EAAC,GAMP,OACEC,EAAAA,EAAAA,eAACd,GADH,CAEIpoX,MAAOwoX,EACPW,OAAQC,KACR3gwB,MAAOA,EACPigwB,cAAejkuB,EACfgzE,YAAaA,EACb/oE,IAAKnd,EACLo3uB,eAAgBA,IAEhBO,EAAAA,EAAAA,eAACG,GAAAA,KATHC,EAAAA,EAAAA,GAAA,CAUI56tB,IAAKnd,EACL,mBAAkBkmF,GACdoxpB,EAHN,CAIEzrvB,IAAKq2oB,SAaT81G,GAAgB,WAOhBC,IAAWjB,EAAAA,EAAAA,aACf,SAACtxvB,EAAmCw8oB,GAClC,IAAQ+0G,EAA2CvxvB,EAAnD,cAAmDA,EAA7CkvM,KAAeA,OAAI,IAAAw7iB,GAAnBA,EAA+B8H,EAAHjQ,GAAiBvivB,EAAnDy0L,IACM70L,EAAUwxvB,GAAekB,GAAef,GACxCkB,EAAwBzB,GAAyBO,GACvD,OACEU,EAAAA,EAAAA,eAACS,IADHL,EAAAA,EAAAA,GAAA,CAEI/M,SAAA,GACImN,EAFN,CAGEjypB,YAAa5gG,EAAQ4gG,YACrB/oE,IAAK73B,EAAQ63B,IACby3K,KAAMA,KAEN+ijB,EAAAA,EAAAA,eAACG,GAAAA,KAPHC,EAAAA,EAAAA,GAAA,CAQI3muB,KAAK,UACL,mBAAkB9rB,EAAQ4gG,aACtBgypB,EAHN,CAIErsvB,IAAKq2oB,SAaTm2G,GAAe,cAQfC,IAActB,EAAAA,EAAAA,aAClB,SAACtxvB,EAAsCw8oB,GACrC,IAAQ+0G,EAA0DvxvB,EAAlE,YAAqBxO,EAA6CwO,EAAlE,QAAkEA,EAA5DkZ,SAAsBA,OAAQ,IAAAshpB,GAA9BA,EAA2Cq4F,EAAHtQ,GAAoBvivB,EAAlE8yvB,IACMlzvB,EAAUwxvB,GAAeuB,GAAcpB,GACvCkB,EAAwBzB,GAAyBO,GACjDwB,EAAYC,GAAcpzvB,EAAQsyvB,OAAQ1gwB,GAC1C0rM,EAAY+1jB,GAAcrzvB,EAAQsyvB,OAAQ1gwB,GAC1C0pN,EAAa1pN,IAAUoO,EAAQpO,MACrC,OACEygwB,EAAAA,EAAAA,eAACiB,IADHb,EAAAA,EAAAA,GAAA,CAEI/M,SAAA,GACImN,EAFN,CAGEhnuB,WAAYvS,EACZM,OAAQ0hM,KAER+2iB,EAAAA,EAAAA,eAACG,GAAAA,QANHC,EAAAA,EAAAA,GAAA,CAOInsvB,KAAK,SACLwlB,KAAK,MACL,gBAAewvL,EACf,gBAAehe,EACf,aAAYge,EAAa,SAAW,WACpC,gBAAehiM,EAAW,QAAKjsB,EAC/BisB,SAAUA,EACVnW,GAAIgwvB,GACAF,EATN,CAUE1svB,IAAKq2oB,EACLj/D,YAAa41K,GAAqBnzvB,EAAMu9kB,aAAc,SAAAtujB,GAG/C/V,GAA6B,IAAjB+V,EAAMrP,SAAkC,IAAlBqP,EAAMG,QAI3CH,EAAMolE,iBAHNz0F,EAAQ6xvB,cAAcjgwB,MAM1Bq+E,UAAWsjrB,GAAqBnzvB,EAAM6vE,WAAY,SAAA5gD,GAC5C,CAAC,IAAK,SAASyuB,SAASzuB,EAAMj/B,MAAM4P,EAAQ6xvB,cAAcjgwB,MAEhEy+B,QAASkjuB,GAAqBnzvB,EAAMiwB,SAAS,WAG3C,IAAMmjuB,EAAmD,WAA3BxzvB,EAAQ8xvB,eACjCx2iB,GAAehiM,IAAYk6uB,GAC9BxzvB,EAAQ6xvB,cAAcjgwB,aAe9B6hwB,GAAe,cAafC,IAAchC,EAAAA,EAAAA,aAClB,SAACtxvB,EAAsCw8oB,GACrC,IAAQ+0G,EAA8DvxvB,EAAtE,YAAqBxO,EAAiDwO,EAAtE,MAA4BuzvB,EAA0CvzvB,EAAtE,WAAwCkD,EAA8BlD,EAAtE,SAAqDwzvB,EAAHjR,GAAoBvivB,EAAtEyzvB,IACM7zvB,EAAUwxvB,GAAeiC,GAAc9B,GACvCwB,EAAYC,GAAcpzvB,EAAQsyvB,OAAQ1gwB,GAC1C0rM,EAAY+1jB,GAAcrzvB,EAAQsyvB,OAAQ1gwB,GAC1C0pN,EAAa1pN,IAAUoO,EAAQpO,MAC/BkiwB,GAA+BC,EAAAA,EAAAA,QAAaz4iB,GAOlD,OALA04iB,EAAAA,EAAAA,YAAgB,WACd,IAAMC,EAAMrvrB,uBAAsB,kBAAOkvrB,EAA6BpmuB,SAAU,CAA/C,IACjC,OAAO,kBAAM65D,qBAAqB0sqB,EAAlC,IACC,KAGD5B,EAAAA,EAAAA,eAAC6B,GADH,CACY1F,QAASmF,GAAcr4iB,IAC9B,SAAA5xM,GAAA,IAAG8kvB,EAAA9kvB,EAAA8kvB,eACF6D,EAAAA,EAAAA,eAACG,GAAAA,KADDC,EAAAA,EAAAA,GAAA,CAEE,aAAYn3iB,EAAa,SAAW,WACpC,mBAAkBt7M,EAAQ4gG,YAC1B90E,KAAK,WACL,kBAAiBqnuB,EACjBz4jB,QAAS8zjB,EACTrrvB,GAAIm6L,EACJrpI,SAAU,GACN2/rB,EARN,CASErtvB,IAAKq2oB,EACL7zoB,MAAKy5uB,EAAAA,EAAA,GACApivB,EAAM2I,OADJ,IAELmxf,kBAAmB45P,EAA6BpmuB,QAAU,UAAOrgC,MAGlEmhwB,GAAWlrvB,EAjBlB,OA6BN,SAAS8vvB,GAAcd,EAAgB1gwB,GACrC,MAAO,GAAP/D,OAAUykwB,EAAO,aAAAzkwB,OAAW+D,GAG9B,SAASyhwB,GAAcf,EAAgB1gwB,GACrC,MAAO,GAAP/D,OAAUykwB,EAAO,aAAAzkwB,OAAW+D,GAG9B,ICvRI0B,GAAEzD,GDuRAskwB,GAAO1C,GACP2C,GAAOzB,GACP0B,GAAUrB,GACVsB,GAAUZ,GE1RgT58uB,G9RAxT,SAAA1nB,GAAI,IAAImB,EAAQhB,EAAEjB,OAAOa,OAAO,CAACiG,aAAQ,GAAQhG,GAAG,OAAO,QAAQmB,EAAEhB,EAAE6F,eAAU,IAAS7E,EAAEA,EAAEhB,CAAC,C8RAkQD,CAAEiB,GAAhC+C,GAACwjB,GAANw5oB,KAAY/8pB,GAACujB,GAANquT,KAAe70U,GAACwmB,GAATy9uB,QAAkBnmwB,GAAC0oB,GAAT4pU,QAAgBruV,GAAE,SAAAxC,GAAC,OAAET,EAAAA,eAAiBS,EAAE,EAACnB,GAAEU,EAAAA,YAAc,SAACmB,EAAEjB,GAAK,IAAcwlC,EAAmGvkC,EAA7GsxN,UAAqBvxN,EAAwFC,EAAjG+S,SAAqB5U,EAA4E6B,EAAtFoR,UAAS6yvB,EAA6EjkwB,EAA1EkkwB,aAAaz5vB,OAAC,IAAAw5vB,EAAC,EAACA,EAAcjiwB,EAA4ChC,EAAzDyuH,aAAwB3wH,EAAiCkC,EAA1CsoF,SAA6BphE,EAAalnB,EAA/BmkwB,kBAA4BhlvB,EAAGnf,EAAXulC,QAAawrf,GAAEzxhB,EAAAA,GAAAA,IAAEU,EAAE,CAAC,YAAY,WAAW,YAAY,eAAe,eAAe,WAAW,oBAAoB,YAAkBi0D,EAAE,CAACthD,aAAalI,EAAEsD,WAAW1M,MAAM,MAAMW,EAAEA,EAAE+L,gBAAW,EAAOuzvB,cAAcxjwB,GAAGusL,EAAExrL,EAAAA,SAAAA,QAAmBkB,GAAGwR,QAAQ,SAAAjS,GAAC,QAAIA,CAAC,IAAG,OAAOT,EAAAA,cAAgBkE,GAAEhF,OAAOa,OAAO,CAAC,EAAEq1D,GAAGp1D,EAAAA,cAAgBmE,GAAE,CAAC,aAAauhC,GAAG1lC,EAAAA,cAAgBC,GAAEf,OAAOa,OAAO,CAACwS,UAAU1N,GAAE1E,GAAAA,KAAOb,GAAG,0BAA0B+oB,EAAElR,IAAIjX,GAAGgyhB,GAAGlyhB,EAAAA,SAAAA,IAAewrL,GAAG,SAAC/qL,EAAEoE,GAAK,GAAG5B,GAAExC,GAAG,OAAOT,EAAAA,aAAeS,EAAE,CAAC,eAAe6f,EAAEtf,IAAI6D,EAAErC,MAAK,GAAA/D,OAAIoG,IAAK,MAAM7E,EAAAA,SAAAA,IAAewrL,GAAG,SAAC/qL,EAAEoE,GAAK,GAAG5B,GAAExC,GAAG,OAAOT,EAAAA,cAAgBhB,GAAE,CAACgC,IAAI6D,EAAErC,MAAK,GAAA/D,OAAIoG,IAAKpE,EAAEuQ,MAAMkD,SAAS,IAAI,IAAItI,GAAE5L,EAAAA,YAAc,SAACmB,EAAEjB,GAAK,IAAcD,EAAWkB,EAArBoR,UAAkBrO,EAAG/C,EAATirM,MAAWjoM,GAAE1D,EAAAA,GAAAA,IAAEU,EAAE,CAAC,YAAY,UAAU,OAAOnB,EAAAA,cAAgB0lC,GAAExmC,OAAOa,OAAO,CAACw8B,GAAGr7B,GAAEqR,UAAU1N,GAAE1E,GAAAA,SAAWF,GAAGkX,IAAIjX,GAAGiE,GAAGD,EAAE,IAAI5E,GAAEu9B,YAAY,OAAOjxB,GAAEixB,YAAY,UDAj0C,SAAS34B,GAAGA,EAAEqhwB,MAAM,kBAAkBrhwB,EAAEshwB,OAAO,kBAAkBthwB,EAAEuhwB,SAAS,WAAWvhwB,EAAEwhwB,OAAO,QAAQ,CAAxG,CAA0GxhwB,KAAIA,GAAE,CAAC,IAAI,SAASA,GAAGA,EAAE+5tB,MAAM,QAAQ/5tB,EAAEyhwB,YAAY,cAAc,CAAxD,CAA0DllwB,KAAIA,GAAE,CAAC,IEA4C,IAAMyD,GAAEzD,EAAAA,YAAc,SAACyD,EAAEC,GAAK,IAAcuhC,EAA6CxhC,EAAvDqO,UAASqzvB,EAA8C1hwB,EAA3CstG,YAAYrxG,OAAC,IAAAylwB,EAAC,aAAYA,EAAM1kwB,EAAWgD,EAAhBmc,KAAarhB,EAAGkF,EAATb,MAAWJ,GAAE4B,EAAAA,GAAAA,IAAEX,EAAE,CAAC,YAAY,cAAc,OAAO,UAAgB5E,EAAEY,GAAED,GAAAA,QAAUkB,GAAElB,GAAAA,QAAUE,GAAGgB,GAAElB,GAAAA,QAAUiB,GAAGlC,EAAEiB,GAAAA,aAAe,KAAKylC,GAAG,OAAOjlC,EAAAA,cAAgBT,GAAEd,OAAOa,OAAO,CAAC,mBAAmBI,EAAEo8B,GAAG,KAAKhqB,UAAUjT,EAAE,YAAY4B,EAAE,aAAalC,EAAEmY,IAAIhT,GAAGlB,GAAG,IAAIiB,GAAE24B,YAAY,UCAtZ,IAAM58B,GAAE,CAAC4lwB,KAAK,EAAEC,KAAK,EAAEhruB,MAAM,GAAG5I,OAAO,IAAI/wB,GAAEnB,EAAAA,YAAc,SAACmB,EAAEhB,GAAK,IAAsR+xhB,EAAxQhuhB,EAA8E/C,EAAxFoR,UAASwzvB,EAA+E5kwB,EAA5Eo7B,GAAGlU,OAAC,IAAA09uB,EAAC,MAAKA,EAAAC,EAAkE7kwB,EAAjEw3B,KAAK+M,OAAC,IAAAsguB,EAAC,eAAcA,EAAU9kwB,EAAkCC,EAA3C8kwB,SAAQC,EAAmC/kwB,EAAhC46B,QAAQz8B,OAAC,IAAA4mwB,EAACjmwB,GAACimwB,EAAUjjwB,EAAW9B,EAApB+S,SAAiBlV,EAAGmC,EAAT69R,MAAW/7L,GAAExiG,EAAAA,GAAAA,IAAEU,EAAE,CAAC,YAAY,KAAK,OAAO,WAAW,UAAU,WAAW,UAAgBgC,EAAE7D,EAAEumwB,KAAKvmwB,EAAEumwB,KAAK5lwB,GAAE4lwB,KAAKjiwB,EAAEtE,EAAEwmwB,KAAKxmwB,EAAEwmwB,KAAK7lwB,GAAE6lwB,KAAKhhwB,EAAExF,EAAEw7B,MAAMx7B,EAAEw7B,MAAM76B,GAAE66B,MAAMxa,EAAEhhB,EAAE4yB,OAAO5yB,EAAE4yB,OAAOjyB,GAAEiyB,OAAa,OAAOjvB,IAAIivhB,EAAEjvhB,GAAGjE,IAAIkzhB,EAAElzhB,EAAET,KAAK,SAACkC,EAAEoE,GAAC,OAAG7E,EAAAA,cAAgB,OAAOd,OAAOa,OAAO,CAAC,EAAEU,EAAE,CAACO,IAAI6D,IAAI,KAAI3D,IAAIgxhB,EAAElyhB,EAAAA,cAAgB,OAAO,CAAChB,EAAEkC,EAAEy3B,KAAK+M,KAAK1lC,EAAAA,cAAgBmE,GAAEjF,OAAOa,OAAO,CAACw8B,GAAGlU,EAAE9V,UAAU1N,GAAE3E,GAAAA,KAAOgE,GAAGiT,IAAIhX,EAAE47B,QAAO,GAAAt9B,OAAI0E,EAAC,KAAA1E,OAAImF,EAAC,KAAAnF,OAAIqG,EAAC,KAAArG,OAAI6hB,IAAK2iF,GAAGivb,EAAE,IAAI/whB,GAAE07B,YAAY,OCApgB,IAAM18B,GAAE,WAAD,OAAKM,EAAAA,cAAgB,MAAM,CAAC,aAAa,aAAa8R,UAAU,sCAAsComB,KAAK,OAAOwtuB,oBAAoB,WAAWzZ,OAAO,OAAOtmuB,YAAY,IAAI2V,QAAQ,gBAAgBypf,MAAM,8BAA8B/khB,EAAAA,cAAgB,OAAO,CAACzB,EAAE,meAAme,EAACmC,GAAE,WAAD,OAAKV,EAAAA,cAAgB,MAAM,CAAC,aAAa,cAAc8R,UAAU,sCAAsCwpB,QAAQ,cAAcypf,MAAM,6BAA6B2gP,oBAAoB,YAAY1lwB,EAAAA,cAAgB,OAAO,CAACzB,EAAE,6LAA6L25B,KAAK,YAAYl4B,EAAAA,cAAgB,OAAO,CAACzB,EAAE,4NAA4N25B,KAAK,YAAYl4B,EAAAA,cAAgB,OAAO,CAACzB,EAAE,oMAAoM25B,KAAK,YAAYl4B,EAAAA,cAAgB,OAAO,CAACzB,EAAE,+LAA+L25B,KAAK,YAAY,EAACz0B,GAAE,WAAD,OAAKzD,EAAAA,cAAgBP,GAAE,CAACqS,UAAU,yBAAyBkgN,UAAU,gBAAgB12L,QAAQ,CAAC8puB,KAAK,EAAEC,KAAK,EAAEhruB,MAAM,IAAI5I,OAAO,KAAK+zuB,SAAS,wbAAwbttuB,KAAK,WAAW,EAACz3B,GAAE,WAAD,OAAKT,EAAAA,cAAgB,MAAM,CAAC,aAAa,cAAc8R,UAAU,sCAAsCwpB,QAAQ,cAAcypf,MAAM,6BAA6B2gP,oBAAoB,YAAY1lwB,EAAAA,cAAgB,OAAO,CAACzB,EAAE,irBAAirB25B,KAAK,YAAYl4B,EAAAA,cAAgB,OAAO,CAAC2lwB,SAAS,UAAUC,SAAS,UAAUrnwB,EAAE,s/BAAs/B25B,KAAK,YAAY,EAACx0B,GAAE,SAAAjE,GAAI,IAAgElB,EAArDmF,EAAqBjE,EAA1BirB,KAAgBlrB,EAAUC,EAAnB6+rB,SAAgB3poB,EAAGl1D,EAAR6W,KAA6BzX,EAAGU,KAArB6nrB,kBAA+B,MAAM,aAAa1jrB,EAAEnF,EAAEyB,EAAAA,cAAgByD,GAAE,MAAM,WAAWC,EAAEnF,EAAEyB,EAAAA,cAAgBU,GAAE,MAAM,WAAWgD,EAAEnF,EAAEyB,EAAAA,cAAgBS,GAAE,MAAM,UAAUiD,IAAInF,EAAEyB,EAAAA,cAAgBN,GAAE,OAAOM,EAAAA,cAAgBilC,GAAE,CAACijK,QAAQ,SAAAloM,GAAIA,EAAE4kG,iBAAiB/lG,EAAE,CAACy/rB,SAAS9+rB,GAAG,EAAEsS,UAAU,2BAA2B4S,WAAW,SAAS8lB,IAAI,QAAQjsC,EAAEyB,EAAAA,cAAgBoE,GAAE,CAAC03B,GAAG,QAAQ64B,GAAG,ECAvrJjxD,GAAeD,GAAHjE,GAAGiE,GAAE,SAAShD,KAAI,IAAA9C,EAAiCyG,IAAG,SAAAyV,GAAyB,MAAM,CAAtBA,EAAP2ylB,MAAyB3ylB,EAAjBiuqB,gBAA0B,IAA5DrkrB,EAAC9F,EAAP6umB,MAAwB/rmB,EAAC9C,EAAjBmqrB,gBAA6D,OAAO,IAAIrnrB,EAAEb,OAAO,KAAKI,EAAAA,cAAgBP,GAAE,CAACorB,UAAU,SAASqe,QAAQ,aAAap3B,UAAU,+BAA+BrR,EAAE3C,KAAK,SAAA4C,GAAI,OAAOA,GAAG,IAAI,SAAS,OAAOV,EAAAA,cAAgBN,GAAE,CAACgrB,KAAK,SAASnqB,IAAIG,EAAE49rB,SAAS/+rB,GAAAA,OAAS+W,KAAK5S,GAAED,EAAE/C,KAAK,IAAI,QAAQ,OAAOV,EAAAA,cAAgBN,GAAE,CAACgrB,KAAK,QAAQnqB,IAAIG,EAAE49rB,SAAS/+rB,GAAAA,MAAQ+W,KAAK5S,GAAED,EAAE/C,KAAK,IAAI,WAAW,OAAOV,EAAAA,cAAgBN,GAAE,CAACgrB,KAAK,WAAWnqB,IAAIG,EAAE49rB,SAAS/+rB,GAAAA,SAAW+W,KAAK5S,GAAED,EAAE/C,KAAK,IAAI,SAAS,OAAOV,EAAAA,cAAgBN,GAAE,CAACgrB,KAAK,SAASnqB,IAAIG,EAAE49rB,SAAS/+rB,GAAAA,OAAS+W,KAAK5S,GAAED,EAAE/C,KAAK,QAAQ+9C,QAAQz6C,MAAM,kCAADhG,OAAmC0C,EAAC,oFAAmF,IAAIV,EAAAA,cAAgBU,GAAE,CAACkf,KAAK,QAAQhd,MAAMpD,OAAM,CCArd,IAAoBiB,GAA8ClB,GAA3BV,GAA2BU,GAAHiD,GAAGjD,GAAE,SAASmD,KAAI,IAAA/E,EAAmByG,IAAG,SAAApE,GAAC,MAAE,CAACA,EAAE4oJ,UAAU,IAAtBrpJ,EAAC5B,EAAXirJ,UAAS+of,EAA0DnyoB,KAAlBgD,EAACmvoB,EAAd+6G,aAA4B3hkB,EAAC4md,EAAds0G,aAAmF4f,EAAH5guB,KAA3DlO,WAAY+uuB,OAAMC,EAAAF,EAAEtV,OAAO5zrB,OAAC,IAAAopsB,EAACrjwB,GAAE6tvB,OAAMwV,EAAAC,EAAAH,EAACrV,OAAO5ouB,OAAC,IAAAo+uB,EAACtjwB,GAAE8tvB,OAAMwV,EAAQ,OAAOhmwB,EAAAA,cAAgBP,GAAE,KAAKO,EAAAA,cAAgB28D,EAAE,MAAM38D,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,oCAAoC,GAAG9B,OAAO,OAAO+2M,SAASlqB,EAAE/hG,SAASxmF,GAAGxC,EAAAA,cAAgB0D,GAAE,MAAM1D,EAAAA,cAAgBN,GAAE,CAACmrB,UAAU,UAAU7qB,EAAAA,cAAgBN,GAAE,CAACo8B,GAAG,WAAWjR,UAAU,SAASswL,WAAW57M,GAAGS,EAAAA,cAAgByD,GAAE,KAAKzD,EAAAA,cAAgB,SAAS,KAAKS,OAAMT,EAAAA,cAAgBmL,GAAE,OAAOnL,EAAAA,cAAgBzB,GAAE,MAAMyB,EAAAA,cAAgBU,GAAE,CAACy6M,WAAW57M,EAAE4svB,aAAY,EAAG11uB,KAAK,SAASi1uB,UAAU,UAAUn+pB,UAAUhuF,EAAE8svB,YAAYxtvB,MAAK4B,QAAOT,EAAAA,cAAgB4nB,EAAE,MAAM,CAACllB,GAAE8tvB,OAAO,WAAK,IAAA5ngB,EAAyBxkP,IAAG,SAAApE,GAAC,MAAE,CAACA,EAAEqnrB,gBAAgB,IAA5B9nrB,EAACqpP,EAAjBy+b,gBAA+C,OAAOrnrB,EAAAA,cAAgBP,GAAE,CAAC,sBAAsB,IAAIO,EAAAA,cAAgBU,GAAE,CAACgkB,WAAW,SAASwjL,QAAQ3oM,EAAEqgB,KAAK,QAAQ8ruB,UAAU,QAAQlpvB,MAAK,EAAEE,GAAE6tvB,OAAO,WAAW,OAAO,IAAI,ECA9kC,IAA2BhyvB,GAA4BgB,GAAHkB,GAAGlB,GAAE,SAASV,KAAI,IAAAm1rB,EAAyCtwrB,IAAG,SAAA1D,GAAC,MAAE,CAACA,EAAEmorB,oBAAoBnorB,EAAE4oJ,UAAU,IAAxDrpJ,EAACy0rB,EAArB7L,oBAAgCh9qB,EAAC6orB,EAAXpriB,UAASmriB,EAA6F9upB,KAA/BziC,EAACuxrB,EAAd24D,aAA0B/vrB,EAACo3nB,EAAZxmB,WAA0B7qqB,EAACqxrB,EAAdkyD,aAA6GggB,EAAH7hwB,KAArF2yB,WAAYmvuB,OAAMC,EAAAF,EAAE1V,OAAO3ouB,OAAC,IAAAu+uB,EAACtnwB,GAAE0xvB,OAAM4V,EAAAC,EAAAH,EAAClV,WAAWhmkB,OAAC,IAAAq7kB,EAACvnwB,GAAEkyvB,WAAUqV,EAAAC,EAAAJ,EAACzV,OAAOnsvB,OAAC,IAAAgiwB,EAACxnwB,GAAE2xvB,OAAM6V,EAAQ,OAAOrmwB,EAAAA,cAAgBN,GAAE,KAAKM,EAAAA,cAAgB4nB,EAAE,MAAM5nB,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,oCAAoC,GAAG9B,OAAO,OAAO8qF,SAASxmF,EAAEyyM,SAASvyM,EAAE+9B,OAAOk8B,GAAG38D,EAAAA,cAAgBP,GAAE,MAAMO,EAAAA,cAAgByD,GAAE,CAACq4B,GAAG,WAAWjR,UAAU,SAASswL,WAAWhwM,GAAGnL,EAAAA,cAAgByD,GAAE,CAAConB,UAAU,UAAU7qB,EAAAA,cAAgB+qL,EAAE,MAAM/qL,EAAAA,cAAgBR,GAAE,OAAOQ,EAAAA,cAAgBU,GAAE,CAACy6M,WAAW57M,GAAG4L,EAAEghvB,aAAY,EAAG11uB,KAAK,SAASi1uB,UAAU,UAAUn+pB,UAAUpiF,EAAEkhvB,YAAY5rvB,MAAKlC,QAAOyB,EAAAA,cAAgBqE,EAAE,MAAM,CAACxF,GAAE0xvB,OAAO,WAAW,OAAO,IAAI,EAAE1xvB,GAAEkyvB,WAAW,WAAW,OAAO/wvB,EAAAA,cAAgBmL,GAAE,KAAK,EAAEtM,GAAE2xvB,OAAO,WAAW,OAAO,IAAI,ECA5oC,IAAuB3xvB,GAAsBU,GAAHC,GAAGD,GAAEkB,GAAE,SAAAoZ,GAA0C,IAA9Bta,EAACsa,EAAX/H,UAAuBrR,EAACoZ,EAAZysvB,WAAuB5jwB,EAACmX,EAAX6xuB,UAAgB95G,EAAqClyoB,IAAG,SAAAM,GAAC,MAAE,CAACA,EAAEwsmB,MAAMxsmB,EAAEsnrB,SAAStnrB,EAAEunrB,SAAS,IAA9Dp8qB,EAACymoB,EAAPplC,MAAiBhqmB,EAACovoB,EAAV01C,SAAoBr8f,EAAC2md,EAAV21C,SAAoD,OAAOvnrB,EAAAA,cAAgBilC,GAAE,CAACnzB,UAAUvS,EAAEmsvB,UAAUhpvB,GAAGjC,EAAET,EAAAA,cAAgByD,GAAE,CAAC,8BAA8B,IAAI,WAAW0H,GAAGnL,EAAAA,cAAgBoE,GAAE,OAAOpE,EAAAA,cAAgBP,GAAE,CAAColwB,kBAAkB,MAAM11oB,aAAa,WAAWhkH,EAAE,EAAE,EAAE86B,QAAQ,QAAQ6H,eAAe,SAASk7C,SAAS,iBAAI,WAAW79E,EAAE8/K,IAAIzoL,GAAG,GAAExC,EAAAA,cAAgBU,GAAE,CAACirM,MAAM9sM,MAAKmB,EAAAA,cAAgByD,GAAE,CAAC,8BAA8B,IAAI,WAAW0H,GAAGnL,EAAAA,cAAgBoE,GAAE,QAAQpE,EAAAA,cAAgBU,GAAE,CAACirM,MAAMnsM,MAAKQ,EAAAA,cAAgByD,GAAE,CAAC,8BAA8B,IAAI,WAAW0H,GAAGnL,EAAAA,cAAgB0D,GAAE,SAAS,ECA11BU,GAAuB7E,GAAHmE,GAAGnE,GAAEkE,GAAE,SAAAlE,GAAI,IAA2BkE,EAAyClE,EAA9DgnwB,qBAAwCthuB,EAAsB1lC,EAAvC4ka,iBAAoC1ja,EAAGlB,EAApBinwB,iBAAgBv/uB,EAA+DxnB,IAAG,SAAAO,GAAC,MAAE,CAACA,EAAE4oJ,UAAU,IAAjEppJ,EAACynB,EAAX2hI,UAAuBz9I,EAAC8b,EAAZ+/pB,WAA8BnorB,EAACooB,EAAlBugqB,iBAA4BhlrB,EAACykB,EAAVqgqB,SAAkC5krB,EAAElD,EAAEQ,EAAAA,cAAgBA,EAAAA,SAAW,KAAK0D,KAAI,UAAK1D,EAAAA,cAAgBA,EAAAA,SAAW,KAAKoE,MAAK5F,EAAE,MAAMiC,EAAEA,EAAEiC,EAAE,OAAO1C,EAAAA,cAAgBU,GAAE,CAACmqB,UAAU,UAAU7qB,EAAAA,cAAgBN,GAAE,CAACglB,WAAW,SAASgnuB,UAAU,UAAUvwiB,WAAW37M,EAAEiX,KAAK,UAAUjY,GAAGwB,EAAAA,cAAgBN,GAAE,CAACwoM,QAAQ,WAAK,OAAOzkM,GAAG,IAAI,OAAO5E,IAAI,MAAM,IAAI,SAASsM,IAAI,MAAM,IAAI,UAAU3I,IAAI,MAAM,QAAQ,OAAO,EAAEiU,KAAK,SAASi1uB,UAAU,OAAOhnuB,WAAW,SAAS9E,KAAK,SAASqlB,GAAG,ECArK95B,GAAiB5L,GAAHiD,GAAGjD,GAAEhB,GAAE,SAAFA,EAACsb,GAA8B,IAAjBta,EAACsa,EAAX/H,UAAsBrO,EAACoW,EAAX6xuB,UAAgB13D,EAAmBtwrB,IAAG,SAAA1D,GAAC,MAAE,CAACA,EAAE4oJ,UAAU,IAAtBz9I,EAAC6orB,EAAXpriB,UAAS3hI,EAA0DxnB,KAAlBZ,EAACooB,EAAdyluB,aAA4B9kuB,EAACX,EAAdg/tB,aAA8FwgB,EAAH/mwB,KAAtEq3B,WAAY2vuB,kBAAiBC,EAAAF,EAAElW,OAAOxlkB,OAAC,IAAA47kB,EAACpowB,EAAEgyvB,OAAMoW,EAAAC,EAAAH,EAACjW,OAAO7zrB,OAAC,IAAAiqsB,EAACrowB,EAAEiyvB,OAAMoW,EAAQ,OAAO5mwB,EAAAA,cAAgBS,GAAE,CAACqR,UAAUvS,EAAEmsvB,UAAUjovB,GAAGzD,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,+CAA+C,GAAG9B,OAAO,OAAO8qF,SAASnqF,EAAEo2M,SAASrtL,GAAG5nB,EAAAA,cAAgBU,GAAE,CAACo7B,GAAG,WAAWjR,UAAU,SAASswL,WAAWhwM,GAAGnL,EAAAA,cAAgB+qL,EAAE,MAAM/qL,EAAAA,cAAgBU,GAAE,CAACmqB,UAAU,UAAU7qB,EAAAA,cAAgBilC,GAAE,OAAOjlC,EAAAA,cAAgBoE,GAAE,MAAMpE,EAAAA,cAAgBR,GAAE,CAAC2ka,iBAAiB3ha,KAAI+jwB,qBAAqB,SAASvmwB,EAAAA,cAAgB28D,EAAE,QAAQ,EAAEp+D,GAAEgyvB,OAAO,WAAW,OAAOvwvB,EAAAA,cAAgByD,GAAE,CAAC+pJ,MAAM,GAAGriJ,KAAI,EAAE5M,GAAEiyvB,OAAO,WAAW,OAAO,IAAI,ECA/5C,IAAM/svB,GAAElE,EAAAA,cAAgB,CAACyG,KAAK,YCAy8CnH,GAAEuF,EAAAA,YAAtmC,SAACV,EAAE7E,GAAK,IAAa4B,EAAsIiD,EAA/I+P,SAAqBmU,EAA0HlkB,EAApIoO,UAAe3G,EAAqHzH,EAAxH4P,GAAgB9U,EAAwGkF,EAAnHy3M,WAAoB34M,EAA+FkB,EAAtG0irB,OAAe70J,EAAuF7thB,EAA7F3B,MAAsBW,EAAuEgB,EAArFmjwB,cAAuB1jwB,EAA8DO,EAArE+tB,OAAegggB,EAAsD/thB,EAA5D22B,MAAeh2B,EAA6CX,EAApDmrC,OAAchvB,EAAsCnc,EAA3CorC,KAAgBrsC,EAA2BiB,EAApCmG,SAAmBkhL,EAAiBrnL,EAAzBwlC,QAAgBsof,EAAS9thB,EAAfkrC,MAAY4zD,EAAG9+F,EAAPirC,IAAS+if,GAAE1xhB,EAAAA,GAAAA,IAAE0D,EAAE,CAAC,WAAW,YAAY,KAAK,aAAa,SAAS,QAAQ,gBAAgB,SAAS,QAAQ,SAAS,OAAO,WAAW,UAAU,QAAQ,QAAQkuoB,GDAvoB5xoB,EAAAA,EAAAA,YAAEyD,ICAwpBkxD,EAACi9kB,EAAd/1iB,aAA4Bl/B,EAACi1kB,EAAdv+nB,aAAoB+/H,EAACw+f,EAAN5roB,KAAgBvE,EAACmwoB,EAAVk8G,SAA2Bv0N,EAACq4G,EAAjBk1H,gBAA6BnjwB,EAACiuoB,EAAZh+jB,WAAwBlvE,EAACktoB,EAAZ9sV,WAAsBhlS,EAAC8xnB,EAAV5ojB,SAAgB2oc,EAACigH,EAANhynB,KAAqB85gB,EAACk4G,EAAfi1H,cAAqBrmsB,EAAE+4d,GAAG/6hB,GAAGkG,GAAGi4D,IAAI40d,EAAE1wd,OAAE,IAASlM,EAAE48d,IAAI58d,OAAE,EAAOk2H,OAAE,IAASluH,EAAE40d,IAAI50d,OAAE,EAAOsxb,EAAEvrf,GAAGg3hB,EAAE,OAAOt1hB,EAAAA,cAAgB7F,GAAE,CAACu9B,GAAG,QAAQhqB,UAAUrS,GAAED,GAAAA,MAAQD,GAAEC,GAAAA,MAAQ,WAAWghE,GAAG54C,GAAG,gBAAgB44C,EAAE,sBAAsBytb,EAAEx8d,OAAOtuB,EAAEk3B,MAAMo3f,EAAE5if,OAAOxqC,EAAEsqC,IAAI6zD,EAAE5zD,MAAM4if,EAAE1if,KAAKjvB,EAAEhW,SAASpH,EAAEymC,QAAQ6hJ,GAAGtqL,GAAG2D,EAAAA,cAAgB1D,GAAE,CAACo7B,GAAG,OAAOhqB,UAAUtS,GAAAA,WAAa,gBAAgBghE,GAAG//D,GAAG2D,EAAAA,cAAgB6gC,GAAExmC,OAAOa,OAAO,CAACqyC,QAAQkvB,EAAE/uD,UAAUrS,GAAED,GAAAA,eAAiBA,GAAAA,YAAc8/mB,eAAez0b,EAAEijkB,SAASrsvB,EAAE6R,GAAGnI,EAAEgwM,WAAW36I,EAAEskP,WAAWpgT,EAAEkvE,WAAWjwE,EAAEqlF,SAASlpE,EAAEpJ,IAAI7X,EAAE4X,KAAK,QAAQzQ,KAAKotI,EAAErxI,MAAMwvhB,GAAGG,IAAItthB,EAAAA,cAAgB7F,GAAE,CAAC,cAAc,OAAOu9B,GAAG,OAAOhqB,UAAUrS,GAAED,GAAAA,YAAciE,GAAEjE,GAAAA,YAAcmyhB,IAAI,YAAYA,EAAEy0J,OAAO5jrB,IAAI,IAAoB3D,GAAEu9B,YAAY,QCA7iD,ICAmsB37B,GAAEhB,EAAAA,YAAc,SAACgB,EAAE+B,GAAK,IAAahE,EAA4MiC,EAArNgT,SAAqBkpD,EAAgMl8D,EAA1MqR,UAAyBzN,EAAiL5D,EAA9L4S,aAA+B03K,EAA+JtqL,EAA/KmtvB,gBAA+BlrvB,EAAgJjC,EAA7JqtrB,aAAYyhE,EAAiJ9uvB,EAA9IqtvB,SAASlmuB,OAAC,IAAA2nuB,GAAGA,EAAIh+N,EAA6H9whB,EAAhI6S,GAAgBnQ,EAAgH1C,EAA3H06M,WAAwB14M,EAAmGhC,EAA9GmzE,WAAwB/zD,EAAsFpf,EAAjGqkT,WAAmBjkP,EAA8EpgE,EAApFmC,MAAK4svB,EAA+E/uvB,EAA5EotvB,YAAYr8N,OAAC,IAAAg+N,GAAGA,EAAej2N,EAA6C94hB,EAA3DomwB,cAAyBntO,EAAkCj5hB,EAA3CuoF,SAAgBjyB,EAA2Bt2D,EAAhCuF,KAAYyrhB,EAAoBhxhB,EAAzBmf,KAAcE,EAAWrf,EAAlB2lrB,OAAezxnB,EAAGl0D,EAATsB,MAAW2vhB,GAAE1xhB,EAAAA,GAAAA,IAAES,EAAE,CAAC,WAAW,YAAY,eAAe,kBAAkB,eAAe,WAAW,KAAK,aAAa,aAAa,aAAa,QAAQ,cAAc,gBAAgB,WAAW,OAAO,OAAO,SAAS,UAAgB2yI,EAAEv0I,GAAE0yhB,GAAG9vhB,EAAE5C,KAAI2hE,EAAEuqH,EAAEtpL,OAAE,EAAOiD,EDArqC,SAACjB,EAAElE,GAAC,OAAGkE,GAAGlE,EAAC,GAAAvB,OAAIyF,EAAC,KAAAzF,OAAIuB,QAAI,CAAM,CCAyoC4L,CAAE2U,EAAEtgB,GAAAA,YAAcgjG,EAAE/iG,EAAAA,SAAW,iBAAK,CAACo8F,aAAalnC,EAAEthD,aAAahP,EAAEypvB,SAASlmuB,EAAEgsD,WAAWnxE,EAAEqiT,WAAWjlS,EAAEinvB,gBAAgB3jwB,EAAE6lF,SAAS0wc,EAAE95gB,KAAK6xgB,EAAEzrhB,KAAK+wD,EAAE8vsB,cAActtO,EAAE,GAAG,CAACl1hB,EAAEujB,EAAEzkB,EAAEV,EAAEod,EAAE65gB,EAAEjI,EAAE16d,EAAEpC,EAAE4ke,IAAI,OAAO95hB,EAAAA,cAAgBlB,GAAEE,OAAOa,OAAO,CAACw8B,GAAG,WAAWhqB,UAAUpR,GAAElB,GAAAA,MAAQ4E,GAAE5E,GAAAA,MAAQiyhB,GAAGjyhB,GAAAA,gBAAkBm9D,GAAG,YAAY80d,EAAE/6gB,IAAIlU,EAAEy5B,KAAK,aAAamqpB,OAAOtmqB,GAAG4xgB,GAAGjyhB,EAAAA,cAAgBiE,GAAE,CAACo4B,GAAG,UAAU+kC,GAAGphE,EAAAA,cAAgBgE,GAAE,CAAC,eAAc,EAAGgrvB,eAAej9N,GAAG3wd,GAAGphE,EAAAA,cAAgBwlC,GAAE,CAAC3xB,GAAG7R,EAAEosvB,YAAYr8N,EAAEo8N,gBAAgB7ikB,IAAItrL,EAAAA,cAAgBlB,GAAE,CAAC,mBAAmBiiE,EAAE1uD,UAAUtS,GAAAA,WAAa8T,GAAG8/H,EAAEgziB,OAAO1hrB,GAAGjF,EAAAA,cAAgBC,GAAAA,SAAW,CAACqC,MAAMygG,GAAGhkG,IAAIiB,EAAAA,cAAgBF,GAAE,CAACuuvB,SAASlmuB,EAAEkmqB,aAAaprrB,IAAI,IAAIjC,GAAE27B,YAAY,kBCAx+B,IAAkBj5B,GAAuE5D,GAAvDwrL,GAAuDxrL,GAAhCqoB,GAAgCroB,GAAHkD,GAAGlD,GAAiQf,GAAE,SAAFA,EAAC04B,GAA8B,IAAjB33B,EAAC23B,EAAXplB,UAAsBpR,EAACw2B,EAAXw0tB,UAAwFqb,EAAH57vB,KAA/D4rB,WAAYiwuB,WAAUC,EAAAF,EAAExW,OAAO9svB,OAAC,IAAAwjwB,EAACzowB,EAAE+xvB,OAAM0W,EAAAC,EAAAH,EAACvW,OAAO/wvB,OAAC,IAAAynwB,EAAC1owB,EAAEgyvB,OAAM0W,EAAA50sB,EAAiD7xD,IAAG,SAAA8uC,GAAsC,MAAM,CAA/BA,EAAXq5G,UAAsCr5G,EAA1Bo4oB,yBAAmC,IAAlFjorB,EAAC4yD,EAAXs2F,UAAqCxkJ,EAACkuD,EAA1Bq1nB,yBAAwBp1nB,EAA2Fh0D,KAAlB0mC,EAACstB,EAAdm6rB,aAA4BjqvB,EAAC8vD,EAAd0zrB,aAAoBpmuB,EAAEngB,EAAEM,EAAAA,cAAgBA,EAAAA,SAAW,KAAK,mBAAcA,EAAAA,cAAgBA,EAAAA,SAAW,KAAK+qL,MAAK1mL,EAAErE,EAAAA,cAAgBR,GAAE,CAACoD,MAAMglB,KAAIimuB,aAAY,EAAG7nvB,KAAK,iBAAiBm1M,WAAWz7M,GAAhpB,SAAAH,GAAC,OAAEd,OAAOib,QAAQna,GAAGzB,KAAK,SAAA+b,GAAA,IAAAC,GAAAC,EAAAA,EAAAA,GAAAF,EAAA,GAAEta,EAACua,EAAA,GAACpW,EAACoW,EAAA,UAAI9Z,EAAAA,cAAgBilC,GAAE,CAACj/B,KAAK,iBAAiBjE,MAAMxC,EAAEgB,IAAIhB,GAAI,SAACS,EAAET,GAAK,IAAMmB,EAAE+C,GAAEzD,GAAO0D,EAAEnE,EAAE,GAAG,iBAAiBS,EAAE0D,E3GA9pB,SAAAnE,GAAI,GAAGA,EAAEK,OAAO,EAAE,OAAOL,EAAsB,IAApB,IAAMS,EAAET,EAAEwS,MAAM,IAAYxS,EAAE,EAAEA,EAAES,EAAEJ,OAAO,EAAEL,IAAIS,EAAET,GAAG,IAAI,OAAOS,EAAE0O,KAAK,GAAG,C2GA0jBjP,CAAEF,QAAQ,GAAG,UAAUS,EAAE,CAAC,IAAMA,EAAET,EAAEwS,MAAM,KAAKrO,EAAC,GAAA1F,O3GA7zB,SAAAuB,GAA+B,IAA3B,IAAMS,EAAET,EAAEmc,OAAO3J,MAAM,IAAYxS,EAAE,EAAEA,EAAES,EAAEJ,OAAOL,IAAIA,EAAE,GAAGA,EAAES,EAAEJ,OAAO,IAAII,EAAET,GAAG,KAAK,OAAOS,EAAE0O,KAAK,GAAG,C2GAwtBhP,CAAEM,EAAE,IAAG,KAAAhC,OAAIgC,EAAE,GAAI,CAAC,SAAAhC,OAAS0C,EAAC,MAAA1C,OAAK0F,EAAG,CAA7I,CAAgJhD,GAAEnB,GAAGqD,MAAMc,GAAG,GAAE,CAAuZi5D,CAAEv4D,IAAI,OAAOpE,EAAAA,cAAgB0C,GAAE,CAACoP,UAAUvS,EAAEmsvB,UAAUhrvB,GAAGV,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,wCAAwC,GAAG9B,OAAO,OAAO8qF,SAAS/jD,EAAEgwK,SAASxyM,GAAGzC,EAAAA,cAAgB0D,GAAE,CAACo4B,GAAG,WAAWjR,UAAU,SAASswL,WAAWz7M,GAAGM,EAAAA,cAAgByD,EAAE,MAAMY,EAAErE,EAAAA,cAAgBwC,GAAE,MAAMxC,EAAAA,cAAgBnB,GAAE,CAACsla,iBAAiBhha,KAAIojwB,qBAAqB,OAAOC,iBAAiB3mvB,IAAI7f,EAAAA,cAAgBP,EAAE,QAAQ,EAAEjB,GAAE+xvB,OAAO,WAAW,OAAOvwvB,EAAAA,cAAgBoE,GAAE,CAACopJ,MAAM,GAAG/qJ,KAAI,EAAEjE,GAAEgyvB,OAAO,WAAW,OAAO,IAAI,ECA76C,IAAkBrlvB,GAAGzK,GAAEnC,GAAE,SAAFA,EAACsb,GAA8B,IAAjBnZ,EAACmZ,EAAX/H,UAAsBrO,EAACoW,EAAX6xuB,UAAgB95G,EAAmBlyoB,IAAG,SAAAM,GAAC,MAAE,CAACA,EAAE4oJ,UAAU,IAAtBz9I,EAACymoB,EAAXhpf,UAAS3hI,EAA0DxnB,KAAlB+C,EAACykB,EAAdyluB,aAA4B7tvB,EAACooB,EAAdg/tB,aAA0FkhB,EAAHzjwB,KAAlEqzB,WAAYqwuB,cAAaC,EAAAF,EAAE5W,OAAO7tvB,OAAC,IAAA2kwB,EAAC9owB,EAAEgyvB,OAAM8W,EAAAC,EAAAH,EAAC3W,OAAO5ouB,OAAC,IAAA0/uB,EAAC/owB,EAAEiyvB,OAAM8W,EAAQ,OAAOtnwB,EAAAA,cAAgBS,GAAE,CAACqR,UAAUpR,EAAEgrvB,UAAUjovB,GAAGzD,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,2CAA2C,GAAG9B,OAAO,OAAO8qF,SAASxmF,EAAEyyM,SAASp2M,GAAGmB,EAAAA,cAAgBT,GAAE,CAACu8B,GAAG,WAAWjR,UAAU,SAASswL,WAAWhwM,GAAGnL,EAAAA,cAAgB0C,EAAE,MAAM1C,EAAAA,cAAgBT,GAAE,CAACsrB,UAAU,UAAU7qB,EAAAA,cAAgBoE,GAAE,MAAMpE,EAAAA,cAAgBR,GAAE,OAAOQ,EAAAA,cAAgBilC,GAAE,MAAMjlC,EAAAA,cAAgB4nB,EAAE,QAAQ,EAAErpB,GAAEgyvB,OAAO,WAAW,IAA0B7vvB,EAAIhB,IAAG,SAAAoa,GAAM,MAAM,CAAJA,EAANiuqB,KAAa,IAA1CA,KAAMs2B,cAAuC,OAAOr+sB,EAAAA,cAAgByD,GAAE,CAAC+pJ,MAAM,GAAGriJ,GAAEzK,GAAG,EAAEnC,GAAEiyvB,OAAO,WAAW,OAAO,IAAI,ECAvvB,IAAwBjyvB,GAA8BgB,GAAH4L,GAAG5L,GAAEV,GAAE,SAAFA,EAACgb,GAA8B,IAAjBta,EAACsa,EAAX/H,UAAsBpR,EAACmZ,EAAX6xuB,UAAgB95G,EAAmBlyoB,IAAG,SAAAM,GAAC,MAAE,CAACA,EAAE4oJ,UAAU,IAAtBz9I,EAACymoB,EAAXhpf,UAASjrJ,EAAuEyG,KAAjC5B,EAAC7E,EAAZ4vqB,WAA0Bxif,EAACptL,EAAd+uvB,aAA4B9kuB,EAACjqB,EAAdsovB,aAAiGkhB,EAAHzjwB,KAAzEqzB,WAAYwwuB,qBAAoBF,EAAAF,EAAE5W,OAAO5zrB,OAAC,IAAA0qsB,EAACxowB,EAAE0xvB,OAAM8W,EAAAC,EAAAH,EAAC3W,OAAO9tvB,OAAC,IAAA4kwB,EAACzowB,EAAE2xvB,OAAM8W,EAAQ,OAAOtnwB,EAAAA,cAAgBS,GAAE,CAACqR,UAAUvS,EAAEmsvB,UAAUhrvB,GAAGV,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,kDAAkD,GAAG9B,OAAO,OAAO+2M,SAASrtL,EAAEohE,SAAS+hG,EAAEtqJ,OAAOj+B,GAAGxC,EAAAA,cAAgByD,GAAE,CAACq4B,GAAG,WAAWjR,UAAU,SAASswL,WAAWhwM,GAAGnL,EAAAA,cAAgB28D,EAAE,MAAM38D,EAAAA,cAAgByD,GAAE,CAAConB,UAAU,UAAU7qB,EAAAA,cAAgBilC,GAAE,OAAOjlC,EAAAA,cAAgBP,GAAE,MAAMO,EAAAA,cAAgBR,GAAE,CAAC+mwB,qBAAqB,SAASpiW,iBAAiB5la,OAAMyB,EAAAA,cAAgB0C,EAAE,QAAQ,EAAE7D,GAAE0xvB,OAAO,WAAW,IAAMhxvB,EAAE4L,KAAI,OAAOnL,EAAAA,cAAgBU,GAAE,CAAC8sJ,MAAM,GAAGjuJ,EAAE,EAAEV,GAAE2xvB,OAAO,WAAW,OAAO,IAAI,ECAj0B,IAA0BrlvB,GAAiE5L,GAAhDhB,GAAgDgB,GAA9BV,GAA8BU,GAAHiD,GAAGjD,GAAEmD,GAAE,SAAFA,EAACmX,GAA8B,IAAjBta,EAACsa,EAAX/H,UAAsBrO,EAACoW,EAAX6xuB,UAAgB95G,EAAmBlyoB,IAAG,SAAAM,GAAC,MAAE,CAACA,EAAE4oJ,UAAU,IAAtBpmJ,EAACovoB,EAAXhpf,UAASjrJ,EAA0DyG,KAAlB2mL,EAACptL,EAAd+uvB,aAA4B/vrB,EAACh/D,EAAdsovB,aAA0FuhB,EAAH9jwB,KAAlEqzB,WAAY0wuB,cAAaC,EAAAF,EAAEjX,OAAO3ouB,OAAC,IAAA8/uB,EAAChlwB,EAAE6tvB,OAAMmX,EAAAC,EAAAH,EAAChX,OAAO3wuB,OAAC,IAAA8nvB,EAACjlwB,EAAE8tvB,OAAMmX,EAAQ,OAAO3nwB,EAAAA,cAAgBS,GAAE,CAACqR,UAAUvS,EAAEmsvB,UAAUjovB,GAAGzD,EAAAA,cAAgB,OAAO,CAAC,oBAAoB,GAAG,2CAA2C,GAAG9B,OAAO,OAAO8qF,SAAS+hG,EAAEkqB,SAASt4I,GAAG38D,EAAAA,cAAgBU,GAAE,CAACo7B,GAAG,WAAWjR,UAAU,SAASswL,WAAW34M,GAAGxC,EAAAA,cAAgB4nB,EAAE,MAAM5nB,EAAAA,cAAgBU,GAAE,CAACmqB,UAAU,UAAU7qB,EAAAA,cAAgBilC,GAAE,OAAOjlC,EAAAA,cAAgBP,GAAE,MAAMO,EAAAA,cAAgBR,GAAE,CAAC2ka,iBAAiBh5Z,KAAIo7vB,qBAAqB,UAAUC,iBAAiBhkwB,EAAExC,EAAAA,cAAgBA,EAAAA,SAAW,KAAKzB,KAAI,UAAKyB,EAAAA,cAAgBA,EAAAA,SAAW,KAAKnB,QAAOmB,EAAAA,cAAgB6f,EAAE,QAAQ,EAAEnd,GAAE6tvB,OAAO,WAAW,OAAOvwvB,EAAAA,cAAgByD,GAAE,CAAC+pJ,MAAM,GAAGhrJ,KAAI,EAAEE,GAAE8tvB,OAAO,WAAW,OAAO,IAAI,ECA1kD,IAAM9wvB,GAAE,SAAAA,GAAC,MAAE,WAAWA,GAAG,WAAWA,CAAC,ECAk6B,SAASnB,KAAI,OAAO,IAAI,CAAC,SAAS0mC,GAACprB,GAAwC,IAA5BorB,EAACprB,EAAX/H,UAAuB0wF,EAAC3oF,EAAZysvB,WAAuBjiwB,EAACwV,EAAX6xuB,UAA0BpyN,EAAG95hB,IAAG,SAAAsa,GAAO,MAAM,CAAJA,EAAP0ylB,MAAc,IAA5BA,MAA+B9pmB,GAAE1C,EAAAA,EAAAA,UAAG,kBAAK,SAAAU,GAAI,OAAOA,GAAG,IAAI,gBAAgB,IAAI,OAAO,IAAI,QAAQ,IAAI,aAAa,OAAOnC,GAAE,IAAI,gBAAgB,OAAOkB,GAAE,IAAI,gBAAgB,OAAOZ,GAAE,IAAI,YAAY,OAAO4E,GAAE,IAAI,SAAS,IAAI,SAAS,OAAOC,GAAE,IAAI,mBAAmB,OAAOnE,GAAE,IAAI,gBAAgB,OAAOiD,GAAE,IAAI,uBAAuB,OAAO/B,GAAE,IAAI,aAAa,OAAO2D,GAAE,IAAI,oBAAoB,OAAO1E,GAAE,QAAQ,OAAO++C,QAAQC,KAAK,yDAAD1gD,OAA0D0C,IAAKnC,GAAE,CAAjc,CAAoc+6hB,EAAE,GAAE,CAACA,IAAI,OAAO54hB,EAAAA,cAAgBgC,EAAE,CAACoP,UAAUmzB,EAAEqhuB,WAAWn7vB,GAAEmuhB,GAAG92b,OAAE,EAAOkppB,UAAUrnvB,GAAG,CCAl8B,IAAMD,GAAE,CAACmsvB,OAAO,kBAAI,IAAI,EAACuV,OAAO,CAACvV,OAAO7vvB,GAAAA,OAAS8vvB,OAAO9vvB,GAAAA,QAAUwlwB,OAAO,CAAC3V,OAAOvwvB,GAAAA,OAAS+wvB,WAAW/wvB,GAAAA,WAAawwvB,OAAOxwvB,GAAAA,QAAU0wvB,cAAc,CAACH,OAAO9svB,GAAAA,OAAS+svB,OAAO/svB,GAAAA,QAAUwtvB,UAAU,CAACV,OAAO7svB,GAAAA,OAAS8svB,OAAO9svB,GAAAA,QAAU6jwB,qBAAqB,CAAChX,OAAO7wvB,GAAAA,OAAS8wvB,OAAO9wvB,GAAAA,QAAU0nwB,cAAc,CAAC7W,OAAO9wvB,GAAAA,OAAS+wvB,OAAO/wvB,GAAAA,QAAUunwB,WAAW,CAACzW,OAAOhyvB,GAAAA,OAASiyvB,OAAOjyvB,GAAAA,QAAUmowB,kBAAkB,CAACnW,OAAOhxvB,GAAAA,OAASixvB,OAAOjxvB,GAAAA,QAAUuxvB,iBAAiB,CAACC,WAAWvxvB,GAAAA,YAAciowB,cAAc,CAAClX,OAAO5zrB,GAAAA,OAAS6zrB,OAAO7zrB,GAAAA,QAAU6zrB,OAAO,kBAAI,IAAI,GCA/V,SAASjyvB,GAACsb,GAA8J,IAAnJra,EAACqa,EAAVpG,SAAqB/S,EAACmZ,EAAX/H,UAAuB1N,EAACyV,EAAZkd,WAAwBl4B,EAACgb,EAAZoptB,WAAwB93tB,EAAC0O,EAAZysvB,WAA0B7lwB,EAACoZ,EAAditqB,aAA+B7hpB,EAACprB,EAAjBiitB,gBAAmCp5tB,EAACmX,EAAlBoitB,iBAA4B19tB,EAACsb,EAAVm6tB,SAA2BxxoB,EAAC3oF,EAAjBiuqB,gBAA4BrmrB,EAACoY,EAAX6xuB,UAAchW,EAAgCjyuB,IAAG,SAAAqW,GAAwB,MAAM,CAArBA,EAAP0ylB,MAAiB1ylB,EAATmtqB,QAAgBntqB,EAANiuqB,KAAiB,IAA5D1jrB,EAACqxuB,EAAPlpI,MAAgBvhb,EAACyqjB,EAATzuD,QAAe9jrB,EAACuyuB,EAAN3tD,MjHK5gC,SAAqC/grB,GACjC,IAAA4gwB,EAAqCpjC,GAAiBa,IAA9C74H,EAAKo7J,EAALp7J,MAAOu6E,EAAiB6gF,EAAjB7gF,kBACT8gF,EAAiBvlvB,EAAAA,QAAa,GACpCA,EAAAA,WAAgB,WACPulvB,EAAehquB,SAAqB,UAAV2ukB,IAC3Bu6E,EAAkB//qB,GAClB6gwB,EAAehquB,SAAU,EAEjC,GAAG,CAACkppB,EAAmBv6E,EAAOxlmB,GAClC,CiHd+jCvH,CAAE,CAACqnrB,aAAarmrB,EAAEq7tB,gBAAgB72rB,EAAE+usB,SAASz1uB,EAAE09tB,iBAAiBv5tB,EAAEolrB,gBAAgBtllB,EAAEygoB,WAAWpkuB,IAAI,IAAMu0I,EAAEpzI,EAAAA,SAAW,iBAAK,CAAC+2B,WAAWt4B,OAAOa,OAAOb,OAAOa,OAAO,CAAC,EAAEkD,IAAG4B,GAAG,GAAG,CAACA,IAAI,MAAM,kBAAkBC,GAAG,YAAYA,EAAE7E,EAAEQ,EAAAA,cAAgBA,EAAAA,SAAW,KAAKT,GAAEC,GAAGA,EAAE,CAACynrB,QAAQh8f,EAAE88f,KAAK5krB,IAAI3D,GAAG,KAAKQ,EAAAA,cAAgB0D,GAAAA,SAAW,CAAC3B,MAAMqxI,GAAGpzI,EAAAA,cAAgBN,GAAE,CAACoS,UAAUpR,EAAE4lwB,WAAWn7vB,EAAEugvB,UAAUjqvB,IAAI,CAAC,SAAS+gG,GAAEjjG,GAAG,OAAOS,EAAAA,WAAa,WAAKR,GAAE,CAACyluB,YAAY,wBAAwB5mrB,QCAvgD,SDAkhD,GAAG,IAAIr+C,EAAAA,cAAgBU,GAAE,KAAKV,EAAAA,cAAgBzB,GAAEE,OAAOa,OAAO,CAAC,EAAEC,IAAI,CAACijG,GAAEjvF,SAAS7S,GAAE8hG,GAAEilqB,cAAcxiuB,GAAEu9D,GAAEyupB,UAAU7svB,GAAEo+F,GAAEsjqB,OAAOjnwB,GAAE2jG,GAAE0jqB,OAAO/6vB,GAAEq3F,GAAEsupB,iBAAiBrwvB,GE0BtrDqurB,GAAKmuC,gBAAgB6qC,IAErBh5E,GAAK4tC,YAAY,MAEjB5tC,GAAKmuC,gBAAgB,CACnBhhjB,GAAI,CACF,UAAW,oBACX,8BAA+B,oCAInC,IA2FA,GA3Fc,SAAC1rK,GACX,IAmBMwmB,EAAa,CACfw5tB,OAAM,WACF,IAAQzkJ,EAAWrzkB,KAAXqzkB,OAER,OACI5vkB,EAAAA,GAAAA,KAACs7L,GAAI,CAACtoL,UAAU,SAAShG,QAAS4ikB,EAAO1vZ,MAAM1hL,OAGvD,EACA81tB,OAAM,WACF,IAAQ1kJ,EAAWrzkB,KAAXqzkB,OAER,OACI5vkB,EAAAA,GAAAA,KAACs7L,GAAI,CAACtoL,UAAU,SAAShG,QAAS4ikB,EAAO1vZ,MAAM1hL,OAGvD,EAEAoruB,OAAQ,CACJvV,OAAM,WACF,IAAQzkJ,EAAWrzkB,KAAXqzkB,OAER,OACI5vkB,EAAAA,GAAAA,KAACkkpB,GAAO,CACJl3oB,QAAO,GAAAlrC,OAAK8tmB,EAAO1vZ,MAAMl5K,GAAE,SAAAllC,OAAQ8tmB,EAAO1vZ,MAAMl5K,IAChDsqH,MAAO,EAAE/5I,SACZ,uBAIT,EACA+8uB,OAAM,WAC0BhsB,KAApBn9C,gBAER,OACInrpB,EAAAA,GAAAA,KAACs7L,GAAI,CAACtoL,UAAU,UAGxB,IAeR,OACIhT,EAAAA,GAAAA,KAAA,OAAAzoB,SACuB,cAAjBlD,EAAMokC,QACRzY,EAAAA,GAAAA,KAAC6ruB,GAAa,CACV9kC,WA5EO,CACfhP,OAAQ,CACJjgrB,SAAU,CACN65sB,aAAa,EACbjrvB,MAAO,WACP6mF,YAAa,wBACb7V,YAAY,EACZ/uD,MAAO,GAEXma,SAAU,CACN6utB,aAAa,EACbjrvB,MAAO,iBACP6mF,YAAa,+BACb7V,YAAY,EACZ/uD,MAAO,KA+DPkS,WAAYA,EACZ+ksB,gBAAiB,CAAC,YAClBwqC,YAAU,KAIdpquB,EAAAA,GAAAA,KAAA,WAKZ,ECvHA,OANA,WACE,OACEA,EAAAA,GAAAA,KAAA,SAGJ,0BCNA,SAAS+3hB,GAAQ9jhB,EAAQ4zmB,GACvB,IAAIt0oB,EAAOhR,OAAOgR,KAAK0gC,GAEvB,GAAI1xC,OAAOyB,sBAAuB,CAChC,IAAI8jpB,EAAUvlpB,OAAOyB,sBAAsBiwC,GAC3C4zmB,IAAmBC,EAAUA,EAAQ/xoB,QAAO,SAAUgyoB,GACpD,OAAOxlpB,OAAOkC,yBAAyBwvC,EAAQ8zmB,GAAKn7oB,UACtD,KAAK2G,EAAKlM,KAAKzD,MAAM2P,EAAMu0oB,EAC7B,CAEA,OAAOv0oB,CACT,CAEA,SAASy0oB,GAAe5jpB,GACtB,IAAK,IAAIb,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAI6xC,EAAS,MAAQ3xC,UAAUF,GAAKE,UAAUF,GAAK,CAAC,EACpDA,EAAI,EAAIw0jB,GAAQx1jB,OAAO6yC,IAAS,GAAIniC,SAAQ,SAAU5O,GACpDiT,GAAgBlT,EAAQC,EAAK+wC,EAAO/wC,GACtC,IAAK9B,OAAO8nM,0BAA4B9nM,OAAOi6gB,iBAAiBp4gB,EAAQ7B,OAAO8nM,0BAA0Bj1J,IAAW2ihB,GAAQx1jB,OAAO6yC,IAASniC,SAAQ,SAAU5O,GAC5J9B,OAAOqC,eAAeR,EAAQC,EAAK9B,OAAOkC,yBAAyB2wC,EAAQ/wC,GAC7E,GACF,CAEA,OAAOD,CACT,CAEA,SAAS0woB,GAAQpqnB,GAGf,OAAOoqnB,GAAU,mBAAqB/toB,QAAU,iBAAmBA,OAAOC,SAAW,SAAU0jB,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqB3jB,QAAU2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAC1H,EAAGoqnB,GAAQpqnB,EACb,CAwDA,SAASmmnB,GAAkBzsoB,EAAQiQ,GACjC,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CACrC,IAAIusE,EAAaz7D,EAAM9Q,GACvBusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EACjDkjE,EAAWvlB,cAAe,EACtB,UAAWulB,IAAYA,EAAWtlB,UAAW,GACjDjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAChD,CACF,CAWA,SAASx4D,GAAgBoT,EAAKrmB,EAAKwB,GAYjC,OAXIxB,KAAOqmB,EACTnoB,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CAC9BwB,MAAOA,EACP+G,YAAY,EACZ29C,cAAc,EACdC,UAAU,IAGZ9/B,EAAIrmB,GAAOwB,EAGN6kB,CACT,CA6BA,SAAS7M,GAAemkC,EAAKz+C,GAC3B,OAWF,SAAyBy+C,GACvB,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAOA,CACjC,CAbSwzlB,CAAgBxzlB,IAmBzB,SAA+BA,EAAKz+C,GAClC,IAAIwnB,EAAY,MAAPi3B,EAAc,KAAyB,qBAAXj7C,QAA0Bi7C,EAAIj7C,OAAOC,WAAag7C,EAAI,cAE3F,GAAU,MAANj3B,EAAY,OAChB,IAII0qnB,EAAI3nZ,EAJJ77L,EAAO,GACPyjlB,GAAK,EACLr/kB,GAAK,EAIT,IACE,IAAKtrC,EAAKA,EAAGpnB,KAAKq+C,KAAQ0zlB,GAAMD,EAAK1qnB,EAAGhlB,QAAQG,QAC9C+rD,EAAK5qD,KAAKouoB,EAAG5voB,QAETtC,GAAK0uD,EAAKvuD,SAAWH,GAH4BmyoB,GAAK,GAK9D,CAAE,MAAO/8lB,GACP0d,GAAK,EACLy3L,EAAKn1M,CACP,CAAE,QACA,IACO+8lB,GAAsB,MAAhB3qnB,EAAW,QAAWA,EAAW,QAC9C,CAAE,QACA,GAAIsrC,EAAI,MAAMy3L,CAChB,CACF,CAEA,OAAO77L,CACT,CA/CiC0jlB,CAAsB3zlB,EAAKz+C,IAAMuyoB,GAA4B9zlB,EAAKz+C,IAsEnG,WACE,MAAM,IAAI4D,UAAU,4IACtB,CAxEyG4uoB,EACzG,CAEA,SAAS95mB,GAAmB+lB,GAC1B,OAGF,SAA4BA,GAC1B,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAO6zlB,GAAkB7zlB,EACnD,CALS8ptB,CAAmB9ptB,IAW5B,SAA0B27F,GACxB,GAAsB,qBAAX52I,QAAmD,MAAzB42I,EAAK52I,OAAOC,WAA2C,MAAtB22I,EAAK,cAAuB,OAAOj7I,MAAM2K,KAAKswI,EACtH,CAboCounB,CAAiB/ptB,IAAQ8zlB,GAA4B9zlB,IA8DzF,WACE,MAAM,IAAI76C,UAAU,uIACtB,CAhEiG6kwB,EACjG,CA4CA,SAASl2H,GAA4BvuoB,EAAGquoB,GACtC,GAAKruoB,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAOsuoB,GAAkBtuoB,EAAGquoB,GACvD,IAAIpyoB,EAAIjB,OAAOU,UAAUsP,SAAS5O,KAAK4D,GAAG2Y,MAAM,GAAI,GAEpD,MADU,WAAN1c,GAAkB+D,EAAEvE,cAAaQ,EAAI+D,EAAEvE,YAAY8G,MAC7C,QAANtG,GAAqB,QAANA,EAAoBd,MAAM2K,KAAK9F,GACxC,cAAN/D,GAAqB,2CAA2CkhC,KAAKlhC,GAAWqyoB,GAAkBtuoB,EAAGquoB,QAAzG,CALc,CAMhB,CAEA,SAASC,GAAkB7zlB,EAAKxwC,IACnB,MAAPA,GAAeA,EAAMwwC,EAAIt+C,UAAQ8N,EAAMwwC,EAAIt+C,QAE/C,IAAK,IAAIH,EAAI,EAAGyyoB,EAAO,IAAItzoB,MAAM8O,GAAMjO,EAAIiO,EAAKjO,IAAKyyoB,EAAKzyoB,GAAKy+C,EAAIz+C,GAEnE,OAAOyyoB,CACT,CAUA,IAAIh1iB,GAAO,WAAiB,EAExBirqB,GAAU,CAAC,EACXC,GAAY,CAAC,EACbC,GAAqB,KACrBC,GAAe,CACjBnjR,KAAMjoZ,GACNqrqB,QAASrrqB,IAGX,IACwB,qBAAX5/F,SAAwB6qwB,GAAU7qwB,QACrB,qBAAboX,WAA0B0zvB,GAAY1zvB,UACjB,qBAArB6oL,mBAAkC8qkB,GAAqB9qkB,kBACvC,qBAAhBk2c,cAA6B60H,GAAe70H,YACzD,CAAE,MAAOzzoB,IAAI,CAEb,IAWIwowB,GAAcC,GAAeC,GAAeC,GAAeC,GAV3DC,IADOV,GAAQ9qtB,WAAa,CAAC,GACPC,UACtBA,QAA+B,IAAnBurtB,GAA4B,GAAKA,GAC7CC,GAASX,GACTY,GAAWX,GACXY,GAAoBX,GACpBY,GAAcX,GAEdY,IADeJ,GAAOp0vB,WACXq0vB,GAASjjqB,mBAAqBijqB,GAAS7nvB,MAA6C,oBAA9B6nvB,GAASzouB,kBAAqE,oBAA3ByouB,GAASp0vB,eAC7Hw0vB,IAAS7rtB,GAAUr9C,QAAQ,UAAYq9C,GAAUr9C,QAAQ,YAIzDmpwB,GAAuB,qBACvBC,GAAgB,GAChBC,GAAqB,KACrBC,GAA4B,iBAC5BC,GAAgB,gBAChBC,GAAyB,yBACzBC,GAAiC,iCACjCC,GAAc,cACdC,GAAY,YACZC,GAA8B,oBAC9BC,GAA0B,QAC1BC,GAAsC,CAAC,OAAQ,OAAQ,QAAS,UAChEC,GAAa,WACf,IACE,OAAO3hwB,CACT,CAAE,MAAOrI,IACP,OAAO,CACT,CACF,CANiB,GAObiqwB,GAAiB,UACjBC,GAAe,QACfC,GAAW,CAACF,GAAgBC,IAEhC,SAASE,GAAYxjvB,GAEnB,OAAO,IAAI+6f,MAAM/6f,EAAK,CACpB/gB,IAAK,SAAavF,EAAQu0B,GACxB,OAAOA,KAAQv0B,EAASA,EAAOu0B,GAAQv0B,EAAO2pwB,GAChD,GAEJ,CACA,IAAII,GAAkBD,IAAgC52vB,GAAnBg1vB,GAAe,CAAC,EAAiCyB,GAAgB,CAClG,GAAM,QACN,IAAO,QACP,WAAY,QACZ,IAAO,UACP,aAAc,UACd,IAAO,QACP,WAAY,QACZ,IAAO,OACP,UAAW,OACX,IAAO,UACP,aAAc,UACd,IAAO,SACP,YAAa,SACb,IAAO,MACP,SAAU,QACRz2vB,GAAgBg1vB,GAAc0B,GAAc,CAC9C,GAAM,QACN,KAAQ,QACR,WAAY,QACZ,KAAQ,UACR,aAAc,UACd,KAAQ,QACR,WAAY,UACV1B,KACA8B,GAAkBF,IAAiC52vB,GAApBi1vB,GAAgB,CAAC,EAAkCwB,GAAgB,CACpG,MAAS,MACT,QAAW,MACX,MAAS,MACT,KAAQ,MACR,QAAW,MACX,OAAU,MACV,IAAO,QACLz2vB,GAAgBi1vB,GAAeyB,GAAc,CAC/C,MAAS,OACT,QAAW,OACX,MAAS,SACPzB,KACA8B,GAAuBH,IAAiC52vB,GAApBk1vB,GAAgB,CAAC,EAAkCuB,GAAgB,CACzG,IAAO,YACP,IAAO,aACP,IAAO,SACP,IAAO,WACP,IAAO,aACP,IAAO,WACP,IAAO,YACLz2vB,GAAgBk1vB,GAAewB,GAAc,CAC/C,KAAQ,WACR,KAAQ,aACR,KAAQ,aACNxB,KACA8B,GAAuBJ,IAAiC52vB,GAApBm1vB,GAAgB,CAAC,EAAkCsB,GAAgB,CACzG,YAAa,MACb,aAAc,MACd,SAAU,MACV,WAAY,MACZ,aAAc,MACd,WAAY,MACZ,UAAW,QACTz2vB,GAAgBm1vB,GAAeuB,GAAc,CAC/C,WAAY,OACZ,aAAc,OACd,WAAY,SACVvB,KACA8B,GAAgC,oCAEhCC,GAAwB,iBACxBC,GAAsB,0FACtBC,GAAwBR,IAAiC52vB,GAApBo1vB,GAAgB,CAAC,EAAkCqB,GAAgB,CAC1G,IAAO,MACP,IAAO,MACP,OAAU,MACV,IAAO,MACP,IAAO,QACLz2vB,GAAgBo1vB,GAAesB,GAAc,CAC/C,IAAO,OACP,IAAO,OACP,IAAO,SACLtB,KACAiC,GAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACvCC,GAAcD,GAAS7swB,OAAO,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KACnE+swB,GAAkC,CAAC,QAAS,cAAe,YAAa,oBAAqB,gBAC7FC,GAAkB,CACpBC,MAAO,gBACPC,aAAc,eACdC,QAAS,UACTC,UAAW,aAETC,GAAW,IAAIxyvB,IACnBpa,OAAOgR,KAAK66vB,GAAgBL,KAAiBnswB,IAAIutwB,GAASt4vB,IAAI0vB,KAAK4ouB,KACnE5swB,OAAOgR,KAAK66vB,GAAgBJ,KAAepswB,IAAIutwB,GAASt4vB,IAAI0vB,KAAK4ouB,KACjE,IAAIC,GAAmB,GAAGttwB,OAAOmswB,GAAUhyuB,GAAmBkzuB,IAAW,CAAC,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,OAAQ,SAAU,OAAQ,YAAa,SAAU,YAAa,kBAAmB,gBAAiB,OAAQ,KAAM,UAAW,iBAAkB,cAAe,SAAU,KAAM,YAAa,aAAc,QAAS,aAAc,aAAc,YAAa,YAAa,QAAS,aAAc,eAAgB,OAAQ,WAAY,WAAY,QAAS,KAAML,GAAgBC,MAAOD,GAAgBE,aAAcF,GAAgBG,QAASH,GAAgBI,YAAYptwB,OAAO6swB,GAAS/swB,KAAI,SAAU4B,GACllB,MAAO,GAAG1B,OAAO0B,EAAG,IACtB,KAAI1B,OAAO8swB,GAAYhtwB,KAAI,SAAU4B,GACnC,MAAO,KAAK1B,OAAO0B,EACrB,KAEIq4G,GAAU+wpB,GAAOyC,mBAAqB,CAAC,EAmB3C,GAAIxC,IAA8C,oBAA3BA,GAASt+oB,cAA8B,CAChD,CAAC,CAAC,qBAAsB,gBAAiB,CAAC,kBAAmB,aAAc,CAAC,sBAAuB,iBAAkB,CAAC,qBAAsB,gBAAiB,CAAC,yBAA0B,oBAAqB,CAAC,wBAAyB,kBAAmB,CAAC,oBAAqB,cAAe,CAAC,iBAAkB,YAAa,CAAC,8BAA+B,wBAAyB,CAAC,yBAA0B,oBAAqB,CAAC,uBAAwB,kBAAmB,CAAC,4BAA6B,sBAAuB,CAAC,2BAA4B,sBAAuB,CAAC,0BAA2B,qBAC/lBt7G,SAAQ,SAAU0K,GACtB,IAAIC,EAAQC,GAAeF,EAAM,GAC7BknG,EAAOjnG,EAAM,GACbvZ,EAAMuZ,EAAM,GAEZqrB,EAhBR,SAAgBA,GAGd,MAAY,KAARA,GACQ,UAARA,IACQ,SAARA,GACGA,EACT,CAScqmuB,CAxBd,SAAuBzqpB,GACrB,IAAItiG,EAAUsqvB,GAASt+oB,cAAc,UAAY1J,EAAO,KAExD,GAAItiG,EACF,OAAOA,EAAQwC,aAAa8/F,EAEhC,CAkBqB0qpB,CAAc1qpB,SAEnBvjH,IAAR2nC,GAA6B,OAARA,IACvB4yE,GAAQx3G,GAAO4kC,EAEnB,GACF,CAEA,IAAIhd,GAAW,CACbujvB,aAAc,QACdC,cAAe,UACfC,UAAWtC,GACXuC,iBAAkBtC,GAClBuC,gBAAgB,EAChBC,YAAY,EACZC,UAAU,EACVC,sBAAsB,EACtBC,kBAAkB,EAClBC,eAAgB,QAChBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,GAGhBv0pB,GAAQw0pB,eACVx0pB,GAAQ6zpB,UAAY7zpB,GAAQw0pB,cAG9B,IAAIhjF,GAAUrlC,GAAeA,GAAe,CAAC,EAAG/7nB,IAAW4vF,IAEtDwxkB,GAAQuiF,iBAAgBviF,GAAQ2iF,kBAAmB,GACxD,IAAI98tB,GAAS,CAAC,EACd3wC,OAAOgR,KAAK0Y,IAAUhZ,SAAQ,SAAU5O,GACtC9B,OAAOqC,eAAesuC,GAAQ7uC,EAAK,CACjCuI,YAAY,EACZ/C,IAAK,SAAao/B,GAChBokpB,GAAQhprB,GAAO4kC,EAEfqnuB,GAAYr9vB,SAAQ,SAAU8+lB,GAC5B,OAAOA,EAAG7+jB,GACZ,GACF,EACAvpC,IAAK,WACH,OAAO0jrB,GAAQhprB,EACjB,GAEJ,IAEA9B,OAAOqC,eAAesuC,GAAQ,eAAgB,CAC5CtmC,YAAY,EACZ/C,IAAK,SAAao/B,GAChBokpB,GAAQqiF,UAAYzmuB,EAEpBqnuB,GAAYr9vB,SAAQ,SAAU8+lB,GAC5B,OAAOA,EAAG7+jB,GACZ,GACF,EACAvpC,IAAK,WACH,OAAO0jrB,GAAQqiF,SACjB,IAEF9C,GAAOyC,kBAAoBn8tB,GAC3B,IAAIo9tB,GAAc,GASlB,IAAIjuwB,GAAI8qwB,GACJoD,GAAuB,CACzB7svB,KAAM,GACNC,EAAG,EACHpd,EAAG,EACHiqwB,OAAQ,EACRC,OAAO,EACPC,OAAO,GAyBT,IAAIC,GAAS,iEACb,SAASC,KAIP,IAHA,IAAIltvB,EAAO,GACPtM,EAAK,GAEFsM,KAAS,GACdtM,GAAMu5vB,GAAuB,GAAhBtiwB,KAAK8xD,SAAgB,GAGpC,OAAO/oD,CACT,CACA,SAASu1G,GAAQjiG,GAGf,IAFA,IAAIpK,EAAQ,GAEH/c,GAAKmnB,GAAO,IAAIhnB,SAAW,EAAGH,KACrC+c,EAAM/c,GAAKmnB,EAAInnB,GAGjB,OAAO+c,CACT,CACA,SAASuwvB,GAAWlwvB,GAClB,OAAIA,EAAK/J,UACA+1G,GAAQhsG,EAAK/J,YAEZ+J,EAAKoE,aAAa,UAAY,IAAIlP,MAAM,KAAKE,QAAO,SAAUxS,GACpE,OAAOA,CACT,GAEJ,CACA,SAASutwB,GAAW3zvB,GAClB,MAAO,GAAGrb,OAAOqb,GAAKC,QAAQ,KAAM,SAASA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,OAClI,CAMA,SAAS2zvB,GAAWxzvB,GAClB,OAAOhb,OAAOgR,KAAKgK,GAAU,CAAC,GAAGE,QAAO,SAAUC,EAAKqM,GACrD,OAAOrM,EAAM,GAAG5b,OAAOioB,EAAW,MAAMjoB,OAAOyb,EAAOwM,GAAWvK,OAAQ,IAC3E,GAAG,GACL,CACA,SAASwxvB,GAAsB/luB,GAC7B,OAAOA,EAAUvnB,OAAS6svB,GAAqB7svB,MAAQunB,EAAUtnB,IAAM4svB,GAAqB5svB,GAAKsnB,EAAU1kC,IAAMgqwB,GAAqBhqwB,GAAK0kC,EAAUuluB,SAAWD,GAAqBC,QAAUvluB,EAAUwluB,OAASxluB,EAAUyluB,KAC9N,CA8CA,IAAIO,GAAa,qsrBAEjB,SAASr9tB,KACP,IAAIs9tB,EAAM9D,GACN+D,EAAM9D,GACN+D,EAAKl+tB,GAAOw8tB,UACZ1mJ,EAAK91kB,GAAOy8tB,iBACZrswB,EAAI2twB,GAER,GAAIG,IAAOF,GAAOloJ,IAAOmoJ,EAAK,CAC5B,IAAIE,EAAQ,IAAIjpuB,OAAO,MAAMtmC,OAAOovwB,EAAK,OAAQ,KAC7CI,EAAiB,IAAIlpuB,OAAO,OAAOtmC,OAAOovwB,EAAK,OAAQ,KACvDK,EAAQ,IAAInpuB,OAAO,MAAMtmC,OAAOqvwB,GAAM,KAC1C7twB,EAAIA,EAAE8Z,QAAQi0vB,EAAO,IAAIvvwB,OAAOsvwB,EAAI,MAAMh0vB,QAAQk0vB,EAAgB,KAAKxvwB,OAAOsvwB,EAAI,MAAMh0vB,QAAQm0vB,EAAO,IAAIzvwB,OAAOknnB,GACpH,CAEA,OAAO1lnB,CACT,CAEA,IAAIkuwB,IAAe,EAEnB,SAASC,KACHv+tB,GAAO28tB,aAAe2B,MAvI5B,SAAmB59tB,GACjB,GAAKA,GAAQo5tB,GAAb,CAIA,IAAIhwvB,EAAQ6vvB,GAASp0vB,cAAc,SACnCuE,EAAM3B,aAAa,OAAQ,YAC3B2B,EAAM1E,UAAYs7B,EAIlB,IAHA,IAAI89tB,EAAe7E,GAAS7nvB,KAAKxL,WAC7Bm4vB,EAAc,KAETpuwB,EAAImuwB,EAAahuwB,OAAS,EAAGH,GAAK,EAAGA,IAAK,CACjD,IAAIsW,EAAQ63vB,EAAanuwB,GACrBwgC,GAAWlqB,EAAMkqB,SAAW,IAAI4Q,cAEhC,CAAC,QAAS,QAAQ5wC,QAAQggC,IAAY,IACxC4tuB,EAAc93vB,EAElB,CAEAgzvB,GAAS7nvB,KAAK1G,aAAatB,EAAO20vB,EAjBlC,CAmBF,CAkHIC,CAAUh+tB,MACV49tB,IAAe,EAEnB,CAEA,IAAIK,GAAY,CACdC,OAAQ,WACN,MAAO,CACL55vB,IAAK,CACH07B,IAAKA,GACLg+tB,UAAWH,IAGjB,EACAM,MAAO,WACL,MAAO,CACLC,yBAA0B,WACxBP,IACF,EACAQ,YAAa,WACXR,IACF,EAEJ,GAGEnrqB,GAAIsmqB,IAAU,CAAC,EACdtmqB,GAAE4mqB,MAAuB5mqB,GAAE4mqB,IAAwB,CAAC,GACpD5mqB,GAAE4mqB,IAAsB3vvB,SAAQ+oF,GAAE4mqB,IAAsB3vvB,OAAS,CAAC,GAClE+oF,GAAE4mqB,IAAsB6E,QAAOzrqB,GAAE4mqB,IAAsB6E,MAAQ,CAAC,GAChEzrqB,GAAE4mqB,IAAsBgF,QAAO5rqB,GAAE4mqB,IAAsBgF,MAAQ,IACpE,IAAIxiqB,GAAYpJ,GAAE4mqB,IAEdiF,GAAY,GAUZ3rH,IAAS,EAYb,SAAS4rH,GAAOC,GACd,IAAIp0vB,EAAMo0vB,EAAcp0vB,IACpBq0vB,EAAwBD,EAAc1tpB,WACtCA,OAAuC,IAA1B2tpB,EAAmC,CAAC,EAAIA,EACrDC,EAAwBF,EAAc96vB,SACtCA,OAAqC,IAA1Bg7vB,EAAmC,GAAKA,EAEvD,MAA6B,kBAAlBF,EACFvB,GAAWuB,GAEX,IAAIvwwB,OAAOmc,EAAK,KAAKnc,OAlJhC,SAAwB6iH,GACtB,OAAOpiH,OAAOgR,KAAKoxG,GAAc,CAAC,GAAGlnG,QAAO,SAAUC,EAAKsglB,GACzD,OAAOtglB,EAAM,GAAG5b,OAAOk8lB,EAAe,MAAOl8lB,OAAOgvwB,GAAWnspB,EAAWq5e,IAAiB,KAC7F,GAAG,IAAIx+kB,MACT,CA8IuCgzvB,CAAe7tpB,GAAa,KAAK7iH,OAAOyV,EAAS3V,IAAIwwwB,IAAQ5/vB,KAAK,IAAK,MAAM1Q,OAAOmc,EAAK,IAEhI,CAEA,SAASw0vB,GAAgBC,EAASnuvB,EAAQouvB,GACxC,GAAID,GAAWA,EAAQnuvB,IAAWmuvB,EAAQnuvB,GAAQouvB,GAChD,MAAO,CACLpuvB,OAAQA,EACRouvB,SAAUA,EACVnkvB,KAAMkkvB,EAAQnuvB,GAAQouvB,GAG5B,CAhCI3F,MACFxmH,IAAUqmH,GAASjjqB,gBAAgBgpqB,SAAW,aAAe,iBAAiBluuB,KAAKmouB,GAAS9ztB,cAC/E8ztB,GAASzouB,iBAAiB,oBAZ1B,SAAStoB,IACtB+wvB,GAASp1tB,oBAAoB,mBAAoB37B,GACjD0qoB,GAAS,EACT2rH,GAAUvwwB,KAAI,SAAUqkB,GACtB,OAAOA,GACT,GACF,KA2CA,IAmBIxI,GAAS,SAA0B29f,EAASn1f,EAAI21F,EAAci3pB,GAChE,IAGItvwB,EACAc,EACA4B,EALAsN,EAAOhR,OAAOgR,KAAK6ngB,GACnB13gB,EAAS6P,EAAK7P,OACdsD,OAA2B1F,IAAhBuxwB,EAtBG,SAAuBtsvB,EAAMssvB,GAC/C,OAAO,SAAU3qwB,EAAG5F,EAAGiC,EAAGlC,GACxB,OAAOkkB,EAAK5iB,KAAKkvwB,EAAa3qwB,EAAG5F,EAAGiC,EAAGlC,EACzC,CACF,CAkB6CywwB,CAAc7svB,EAAI4svB,GAAe5svB,EAa5E,SARqB3kB,IAAjBs6G,GACFr4G,EAAI,EACJ0C,EAASm1gB,EAAQ7ngB,EAAK,MAEtBhQ,EAAI,EACJ0C,EAAS21G,GAGJr4G,EAAIG,EAAQH,IAEjB0C,EAASe,EAASf,EAAQm1gB,EAD1B/2gB,EAAMkP,EAAKhQ,IAC6Bc,EAAK+2gB,GAG/C,OAAOn1gB,CACT,EAoDA,SAASksD,GAAM4gtB,GACb,IAAI/gwB,EA3BN,SAAoB2Y,GAKlB,IAJA,IAAItI,EAAS,GACTu+G,EAAU,EACVl9H,EAASinB,EAAOjnB,OAEbk9H,EAAUl9H,GAAQ,CACvB,IAAImC,EAAQ8kB,EAAOlZ,WAAWmvH,KAE9B,GAAI/6H,GAAS,OAAUA,GAAS,OAAU+6H,EAAUl9H,EAAQ,CAC1D,IAAI0jJ,EAAQz8H,EAAOlZ,WAAWmvH,KAEN,QAAX,MAARwmB,GAEH/kI,EAAOhb,OAAe,KAARxB,IAAkB,KAAe,KAARuhJ,GAAiB,QAExD/kI,EAAOhb,KAAKxB,GACZ+6H,IAEJ,MACEv+G,EAAOhb,KAAKxB,EAEhB,CAEA,OAAOwc,CACT,CAGgB04nB,CAAWg4H,GACzB,OAA0B,IAAnB/gwB,EAAQtO,OAAesO,EAAQ,GAAGO,SAAS,IAAM,IAC1D,CAiBA,SAASygwB,GAAehjP,GACtB,OAAOzthB,OAAOgR,KAAKy8gB,GAAOvygB,QAAO,SAAUC,EAAKi1vB,GAC9C,IAAInkvB,EAAOwhgB,EAAM2iP,GASjB,QARiBnkvB,EAAKA,KAGpB9Q,EAAI8Q,EAAKmkvB,UAAYnkvB,EAAKA,KAE1B9Q,EAAIi1vB,GAAYnkvB,EAGX9Q,CACT,GAAG,CAAC,EACN,CAEA,SAASu1vB,GAAY1uvB,EAAQyrgB,GAC3B,IACIkjP,GADSzvwB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,GACnD0vwB,UAC3BA,OAAkC,IAAtBD,GAAuCA,EACnDE,EAAaJ,GAAehjP,GAEO,oBAA5Btgb,GAAUqiqB,MAAMsB,SAA2BF,EAGpDzjqB,GAAUnyF,OAAOgH,GAAUyjoB,GAAeA,GAAe,CAAC,EAAGt4iB,GAAUnyF,OAAOgH,IAAW,CAAC,GAAI6uvB,GAF9F1jqB,GAAUqiqB,MAAMsB,QAAQ9uvB,EAAQyuvB,GAAehjP,IAYlC,QAAXzrgB,GACF0uvB,GAAY,KAAMjjP,EAEtB,CAEA,IAaIsjP,GAAaC,GAAWC,GACxBj2vB,GAASmyF,GAAUnyF,OACnB20vB,GAAQxiqB,GAAUwiqB,MAClBuB,IAAgCn8vB,GAAlBg8vB,GAAc,CAAC,EAAgCvF,GAAgBxrwB,OAAOokC,OAAO0nuB,GAAqBN,MAAmBz2vB,GAAgBg8vB,GAAatF,GAAczrwB,OAAOokC,OAAO0nuB,GAAqBL,MAAiBsF,IAClOI,GAAuB,KACvBC,GAAa,CAAC,EACdC,GAAc,CAAC,EACfC,GAAa,CAAC,EACdC,GAAgB,CAAC,EACjBC,GAAW,CAAC,EACZC,IAA4B18vB,GAAhBi8vB,GAAY,CAAC,EAA8BxF,GAAgBxrwB,OAAOgR,KAAK46vB,GAAgBJ,MAAmBz2vB,GAAgBi8vB,GAAWvF,GAAczrwB,OAAOgR,KAAK46vB,GAAgBH,MAAiBuF,IAMhN,SAASU,GAAYvE,EAAWriO,GAC9B,IALkBvjiB,EAKdo2C,EAAQmtf,EAAIx3hB,MAAM,KAClB0O,EAAS27B,EAAM,GACfyytB,EAAWzytB,EAAMhgC,MAAM,GAAG1N,KAAK,KAEnC,OAAI+R,IAAWmrvB,GAA0B,KAAbiD,IATV7owB,EASyC6owB,GARnDvD,GAAiBrrwB,QAAQ+F,IAWxB,KAFA6owB,CAIX,CACA,IA7akB5gK,GA6admsF,GAAQ,WACV,IAAIh6oB,EAAS,SAAgBgwtB,GAC3B,OAAOz2vB,GAAOF,IAAQ,SAAUhW,EAAGyV,EAAOuH,GAExC,OADAhd,EAAEgd,GAAU9G,GAAOT,EAAOk3vB,EAAS,CAAC,GAC7B3swB,CACT,GAAG,CAAC,EACN,EAEAoswB,GAAazvtB,GAAO,SAAUxmC,EAAK8Q,EAAMmkvB,GAKvC,GAJInkvB,EAAK,KACP9Q,EAAI8Q,EAAK,IAAMmkvB,GAGbnkvB,EAAK,GAAI,CACX,IAAI8c,EAAU9c,EAAK,GAAGzY,QAAO,SAAU7N,GACrC,MAAoB,kBAANA,CAChB,IACAojC,EAAQr4B,SAAQ,SAAUunF,GACxB98E,EAAI88E,EAAMjoF,SAAS,KAAOogwB,CAC5B,GACF,CAEA,OAAOj1vB,CACT,IACAk2vB,GAAc1vtB,GAAO,SAAUxmC,EAAK8Q,EAAMmkvB,GAGxC,GAFAj1vB,EAAIi1vB,GAAYA,EAEZnkvB,EAAK,GAAI,CACX,IAAI8c,EAAU9c,EAAK,GAAGzY,QAAO,SAAU7N,GACrC,MAAoB,kBAANA,CAChB,IACAojC,EAAQr4B,SAAQ,SAAUunF,GACxB98E,EAAI88E,GAASm4qB,CACf,GACF,CAEA,OAAOj1vB,CACT,IACAq2vB,GAAW7vtB,GAAO,SAAUxmC,EAAK8Q,EAAMmkvB,GACrC,IAAIrnuB,EAAU9c,EAAK,GAKnB,OAJA9Q,EAAIi1vB,GAAYA,EAChBrnuB,EAAQr4B,SAAQ,SAAUunF,GACxB98E,EAAI88E,GAASm4qB,CACf,IACOj1vB,CACT,IAGA,IAAIy2vB,EAAa,QAAS52vB,IAAU21B,GAAOkhuB,aACvCC,EAAc52vB,GAAOy0vB,IAAO,SAAUx0vB,EAAKqzlB,GAC7C,IAAIujK,EAAwBvjK,EAAK,GAC7BxslB,EAASwslB,EAAK,GACd4hK,EAAW5hK,EAAK,GAoBpB,MAlBe,QAAXxslB,GAAqB4vvB,IACvB5vvB,EAAS,OAG0B,kBAA1B+vvB,IACT52vB,EAAIktI,MAAM0pnB,GAAyB,CACjC/vvB,OAAQA,EACRouvB,SAAUA,IAIuB,kBAA1B2B,IACT52vB,EAAI62vB,SAASD,EAAsB/hwB,SAAS,KAAO,CACjDgS,OAAQA,EACRouvB,SAAUA,IAIPj1vB,CACT,GAAG,CACDktI,MAAO,CAAC,EACR2pnB,SAAU,CAAC,IAEbV,GAAaQ,EAAYzpnB,MACzBkpnB,GAAgBO,EAAYE,SAC5Bb,GAAuBc,GAAmBthuB,GAAOs8tB,aAAc,CAC7D71O,OAAQzmf,GAAOu8tB,eAEnB,EAOA,SAASgF,GAAUlwvB,EAAQwuvB,GACzB,OAAQY,GAAWpvvB,IAAW,CAAC,GAAGwuvB,EACpC,CAIA,SAAS2B,GAAQnwvB,EAAQi2E,GACvB,OAAQu5qB,GAASxvvB,IAAW,CAAC,GAAGi2E,EAClC,CACA,SAASm6qB,GAAU7qwB,GACjB,OAAO+pwB,GAAW/pwB,IAAS,CACzBya,OAAQ,KACRouvB,SAAU,KAEd,CAYA,SAASiC,KACP,OAAOlB,EACT,CAliBkB3hK,GAggBT,SAAUxtmB,GACjBmvwB,GAAuBc,GAAmBjwwB,EAAEirwB,aAAc,CACxD71O,OAAQzmf,GAAOu8tB,eAEnB,EAngBEa,GAAYjpwB,KAAK0qmB,IAogBnBmsF,KA8BA,IAAI22E,GAAqB,WACvB,MAAO,CACLtwvB,OAAQ,KACRouvB,SAAU,KACV/rR,KAAM,GAEV,EACA,SAAS4tR,GAAmBM,GAC1B,IACIC,GADStxwB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,GACtDk2hB,OACxBA,OAA4B,IAAnBo7O,EAA4BhH,GAAiBgH,EACtD/3vB,EAAQmxvB,GAAgBx0O,GAAQm7O,GAChCvwvB,EAAS6pvB,GAAgBz0O,GAAQm7O,IAAkB1G,GAAgBz0O,GAAQ38gB,GAC3Eg4vB,EAAUF,KAAiBplqB,GAAUnyF,OAASu3vB,EAAgB,KAClE,OAAOvwvB,GAAUywvB,GAAW,IAC9B,CACA,IAAIC,IAAkD39vB,GAA3Bk8vB,GAAuB,CAAC,EAAyCzF,GAAgBxrwB,OAAOgR,KAAK86vB,GAAqBN,MAAmBz2vB,GAAgBk8vB,GAAsBxF,GAAczrwB,OAAOgR,KAAK86vB,GAAqBL,MAAiBwF,IACtQ,SAAS0B,GAAiBvuuB,GACxB,IAAIwuuB,EAGAC,GADS3xwB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,GACjD4xwB,YAC7BA,OAAsC,IAAxBD,GAAyCA,EACvDE,GAA4Bh+vB,GAAhB69vB,EAAY,CAAC,EAA8BpH,GAAgB,GAAGjswB,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAOiswB,KAAkBz2vB,GAAgB69vB,EAAWnH,GAAc,GAAGlswB,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAOkswB,KAAgBmH,GAClOI,EAAc,KACd57O,EAASo0O,IAETpnuB,EAAOorB,SAASujtB,EAASvH,MAAoBpnuB,EAAOlzB,MAAK,SAAUxM,GACrE,OAAOguwB,GAAoBlH,IAAgBh8sB,SAAS9qD,EACtD,OACE0yhB,EAASo0O,KAGPpnuB,EAAOorB,SAASujtB,EAAStH,MAAkBrnuB,EAAOlzB,MAAK,SAAUxM,GACnE,OAAOguwB,GAAoBjH,IAAcj8sB,SAAS9qD,EACpD,OACE0yhB,EAASq0O,IAGX,IAAIx7M,EAAY7rhB,EAAOlpB,QAAO,SAAUC,EAAK2vhB,GAC3C,IAAIslO,EAAWsB,GAAY/guB,GAAOw8tB,UAAWriO,GAiB7C,GAfI9vhB,GAAO8vhB,IACTA,EAAMomO,GAAW95O,GAAQ5ne,SAASs7e,GAAOihO,GAAqB30O,GAAQ0T,GAAOA,EAC7EkoO,EAAcloO,EACd3vhB,EAAI6G,OAAS8ohB,GACJ2mO,GAASr6O,GAAQ51hB,QAAQspiB,IAAQ,GAC1CkoO,EAAcloO,EACd3vhB,EAAI6G,OAASiwvB,GAAmBnnO,EAAK,CACnC1T,OAAQA,KAEDg5O,EACTj1vB,EAAIi1vB,SAAWA,EACNtlO,IAAQn6f,GAAOy8tB,kBAAoBtiO,IAAQioO,EAASvH,KAAmB1gO,IAAQioO,EAAStH,KACjGtwvB,EAAIkpe,KAAKv/e,KAAKgmiB,IAGXgoO,GAAe33vB,EAAI6G,QAAU7G,EAAIi1vB,SAAU,CAC9C,IAAI5hK,EAAuB,OAAhBwkK,EAAuBZ,GAAUj3vB,EAAIi1vB,UAAY,CAAC,EACzD6C,EAAgBd,GAAQh3vB,EAAI6G,OAAQ7G,EAAIi1vB,UAExC5hK,EAAKxslB,SACPgxvB,EAAc,MAGhB73vB,EAAIi1vB,SAAW5hK,EAAK4hK,UAAY6C,GAAiB93vB,EAAIi1vB,SACrDj1vB,EAAI6G,OAASwslB,EAAKxslB,QAAU7G,EAAI6G,OAEb,QAAf7G,EAAI6G,QAAqBhH,GAAY,MAAKA,GAAY,KAAM21B,GAAOkhuB,eAGrE12vB,EAAI6G,OAAS,MAEjB,CAEA,OAAO7G,CACT,GAAGm3vB,MAqBH,OAnBIluuB,EAAOorB,SAAS,cAAgBprB,EAAOorB,SAAS,UAClDyggB,EAAUjuiB,OAAS,QAGjBoiB,EAAOorB,SAAS,eAAiBprB,EAAOorB,SAAS,UACnDyggB,EAAUjuiB,OAAS,OAGhBiuiB,EAAUjuiB,QAAUo1gB,IAAWq0O,KAAiBzwvB,GAAa,OAAK21B,GAAOkhuB,eAC5E5hN,EAAUjuiB,OAAS,OACnBiuiB,EAAUmgN,SAAW+B,GAAQliN,EAAUjuiB,OAAQiuiB,EAAUmgN,WAAangN,EAAUmgN,UAGzD,OAArBngN,EAAUjuiB,QAAmC,OAAhBgxvB,IAG/B/iN,EAAUjuiB,OAASqwvB,MAA4B,OAG1CpiN,CACT,CAEA,IAAIijN,GAAuB,WACzB,SAASA,KA7gCX,SAAyB/6vB,EAAUq2nB,GACjC,KAAMr2nB,aAAoBq2nB,GACxB,MAAM,IAAI5poB,UAAU,oCAExB,CA0gCI4M,CAAgBhR,KAAM0ywB,GAEtB1ywB,KAAK2ywB,YAAc,CAAC,CACtB,CAjgCF,IAAsB3kI,EAAaE,EAAYC,EAujC7C,OAvjCoBH,EAmgCP0kI,EAngCoBxkI,EAmgCX,CAAC,CACrB5soB,IAAK,MACLwB,MAAO,WAGL,IAFA,IAAIoG,EAAQlJ,KAEH40B,EAAOl0B,UAAUC,OAAQgywB,EAAc,IAAIhzwB,MAAMi1B,GAAO9M,EAAO,EAAGA,EAAO8M,EAAM9M,IACtF6qvB,EAAY7qvB,GAAQpnB,UAAUonB,GAGhC,IAAI8qvB,EAAYD,EAAYj4vB,OAAO1a,KAAK6ywB,iBAAkB,CAAC,GAC3DrzwB,OAAOgR,KAAKoiwB,GAAW1iwB,SAAQ,SAAU5O,GACvC4H,EAAMypwB,YAAYrxwB,GAAO2jpB,GAAeA,GAAe,CAAC,EAAG/7oB,EAAMypwB,YAAYrxwB,IAAQ,CAAC,GAAIsxwB,EAAUtxwB,IACpG4uwB,GAAY5uwB,EAAKsxwB,EAAUtxwB,IAE3B,IAAIwxwB,EAAaxH,GAAqBN,IAAgB1pwB,GAClDwxwB,GAAY5C,GAAY4C,EAAYF,EAAUtxwB,IAClD65rB,IACF,GACF,GACC,CACD75rB,IAAK,QACLwB,MAAO,WACL9C,KAAK2ywB,YAAc,CAAC,CACtB,GACC,CACDrxwB,IAAK,mBACLwB,MAAO,SAA0B8vwB,EAAW/5uB,GAC1C,IAAIw3uB,EAAax3uB,EAAWrX,QAAUqX,EAAW+2uB,UAAY/2uB,EAAWpN,KAAO,CAC7E,EAAGoN,GACDA,EAmBJ,OAlBAr5B,OAAOgR,KAAK6/vB,GAAYxxwB,KAAI,SAAUyC,GACpC,IAAIyxwB,EAAkB1C,EAAW/uwB,GAC7BkgB,EAASuxvB,EAAgBvxvB,OACzBouvB,EAAWmD,EAAgBnD,SAC3BnkvB,EAAOsnvB,EAAgBtnvB,KACvB8c,EAAU9c,EAAK,GACdmnvB,EAAUpxvB,KAASoxvB,EAAUpxvB,GAAU,CAAC,GAEzC+mB,EAAQ5nC,OAAS,GACnB4nC,EAAQr4B,SAAQ,SAAUunF,GACH,kBAAVA,IACTm7qB,EAAUpxvB,GAAQi2E,GAAShsE,EAE/B,IAGFmnvB,EAAUpxvB,GAAQouvB,GAAYnkvB,CAChC,IACOmnvB,CACT,IAnjCE1kI,GAAYJ,GAAkBE,EAAY9toB,UAAWguoB,GACrDC,GAAaL,GAAkBE,EAAaG,GAChD3uoB,OAAOqC,eAAemsoB,EAAa,YAAa,CAC9CvmlB,UAAU,IAmjCLirtB,CACT,CA5D2B,GA8DvBM,GAAW,GACXC,GAAS,CAAC,EACVC,GAAY,CAAC,EACbC,GAAsB3zwB,OAAOgR,KAAK0iwB,IA+CtC,SAASE,GAAW7wmB,EAAMxkB,GACxB,IAAK,IAAInpH,EAAOl0B,UAAUC,OAAQ2nB,EAAO,IAAI3oB,MAAMi1B,EAAO,EAAIA,EAAO,EAAI,GAAI9M,EAAO,EAAGA,EAAO8M,EAAM9M,IAClGQ,EAAKR,EAAO,GAAKpnB,UAAUonB,GAO7B,OAJcmrvB,GAAO1wmB,IAAS,IACtBryJ,SAAQ,SAAUmjwB,GACxBt1nB,EAAcs1nB,EAAOxywB,MAAM,KAAM,CAACk9I,GAAah/I,OAAOupB,GACxD,IACOy1H,CACT,CACA,SAASu1nB,GAAU/wmB,GACjB,IAAK,IAAItwH,EAAQvxC,UAAUC,OAAQ2nB,EAAO,IAAI3oB,MAAMsyC,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG5pB,EAAK4pB,EAAQ,GAAKxxC,UAAUwxC,IAGhB+guB,GAAO1wmB,IAAS,IACtBryJ,SAAQ,SAAUmjwB,GACxBA,EAAOxywB,MAAM,KAAMynB,EACrB,GAEF,CACA,SAASirvB,KACP,IAAIhxmB,EAAO7hK,UAAU,GACjB4nB,EAAO3oB,MAAMO,UAAUid,MAAMvc,KAAKF,UAAW,GACjD,OAAOwywB,GAAU3wmB,GAAQ2wmB,GAAU3wmB,GAAM1hK,MAAM,KAAMynB,QAAQ/pB,CAC/D,CAEA,SAASi1wB,GAAmBC,GACA,OAAtBA,EAAWjyvB,SACbiyvB,EAAWjyvB,OAAS,OAGtB,IAAIouvB,EAAW6D,EAAW7D,SACtBpuvB,EAASiyvB,EAAWjyvB,QAAUqwvB,KAClC,GAAKjC,EAEL,OADAA,EAAW+B,GAAQnwvB,EAAQouvB,IAAaA,EACjCF,GAAgBgE,GAAQf,YAAanxvB,EAAQouvB,IAAaF,GAAgB/iqB,GAAUnyF,OAAQgH,EAAQouvB,EAC7G,CACA,IAAI8D,GAAU,IAAIhB,GAMdv9vB,GAAM,CACRw+vB,MAAO,WACL,IAAIl6uB,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAElF,OAAIupwB,IACFqJ,GAAU,cAAe75uB,GACzB85uB,GAAa,qBAAsB95uB,GAC5B85uB,GAAa,QAAS95uB,IAEtB/2B,QAAQE,OAAO,yCAE1B,EACAgiO,MAAO,WACL,IAtmBe1hN,EAsmBXuW,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9EkzwB,EAAqBn6uB,EAAOm6uB,oBAEF,IAA1BzjuB,GAAO08tB,iBACT18tB,GAAO08tB,gBAAiB,GAG1B18tB,GAAO88tB,kBAAmB,EA7mBX/pvB,EA8mBN,WACP2wvB,GAAY,CACVD,mBAAoBA,IAEtBN,GAAU,QAAS75uB,EACrB,EAlnBGwwuB,KACLxmH,GAASjqoB,WAAW0J,EAAI,GAAKksvB,GAAU9qwB,KAAK4e,GAknB5C,GAEExD,GAAQ,CACV+L,KAAM,SAAcqovB,GAClB,GAAc,OAAVA,EACF,OAAO,KAGT,GAAuB,WAAnB/hI,GAAQ+hI,IAAuBA,EAAMtyvB,QAAUsyvB,EAAMlE,SACvD,MAAO,CACLpuvB,OAAQsyvB,EAAMtyvB,OACdouvB,SAAU+B,GAAQmC,EAAMtyvB,OAAQsyvB,EAAMlE,WAAakE,EAAMlE,UAI7D,GAAIjwwB,MAAMkoB,QAAQisvB,IAA2B,IAAjBA,EAAMnzwB,OAAc,CAC9C,IAAIivwB,EAAuC,IAA5BkE,EAAM,GAAG9ywB,QAAQ,OAAe8ywB,EAAM,GAAG32vB,MAAM,GAAK22vB,EAAM,GACrEtyvB,EAASiwvB,GAAmBqC,EAAM,IACtC,MAAO,CACLtyvB,OAAQA,EACRouvB,SAAU+B,GAAQnwvB,EAAQouvB,IAAaA,EAE3C,CAEA,GAAqB,kBAAVkE,IAAuBA,EAAM9ywB,QAAQ,GAAGjC,OAAOoxC,GAAOw8tB,UAAW,OAAS,GAAKmH,EAAMlyvB,MAAM4pvB,KAAiC,CACrI,IAAIuI,EAAgB5B,GAAiB2B,EAAMhhwB,MAAM,KAAM,CACrDw/vB,aAAa,IAEf,MAAO,CACL9wvB,OAAQuyvB,EAAcvyvB,QAAUqwvB,KAChCjC,SAAU+B,GAAQoC,EAAcvyvB,OAAQuyvB,EAAcnE,WAAamE,EAAcnE,SAErF,CAEA,GAAqB,kBAAVkE,EAAoB,CAC7B,IAAIE,EAAUnC,KAEd,MAAO,CACLrwvB,OAAQwyvB,EACRpE,SAAU+B,GAAQqC,EAASF,IAAUA,EAEzC,CACF,GAEEj5K,GAAM,CACRo5K,OA7EW,WACX9juB,GAAO08tB,gBAAiB,EACxB18tB,GAAO88tB,kBAAmB,EAC1BqG,GAAU,SACZ,EA0EEnjuB,OAAQA,GACRh7B,IAAKA,GACLuK,MAAOA,GACPg0vB,QAASA,GACTF,mBAAoBA,GACpBnE,OAAQA,IAGNwE,GAAc,WAChB,IACIK,GADSxzwB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,GAC/CkzwB,mBAC/BA,OAA+C,IAA1BM,EAAmCpK,GAAWoK,GAClE10wB,OAAOgR,KAAKm8F,GAAUnyF,QAAQ7Z,OAAS,GAAKwvC,GAAOkhuB,eAAiBpH,IAAU95tB,GAAO08tB,gBAAgBhyK,GAAI1llB,IAAIw+vB,MAAM,CACtH/1vB,KAAMg2vB,GAEV,EAEA,SAASO,GAAYjuuB,EAAKkuuB,GAmBxB,OAlBA50wB,OAAOqC,eAAeqkC,EAAK,WAAY,CACrCt/B,IAAKwtwB,IAEP50wB,OAAOqC,eAAeqkC,EAAK,OAAQ,CACjCt/B,IAAK,WACH,OAAOs/B,EAAI4lE,SAASjtG,KAAI,SAAUsG,GAChC,OAAOkqwB,GAAOlqwB,EAChB,GACF,IAEF3F,OAAOqC,eAAeqkC,EAAK,OAAQ,CACjCt/B,IAAK,WACH,GAAKqjwB,GAAL,CACA,IAAI9wvB,EAAY2wvB,GAASp0vB,cAAc,OAEvC,OADAyD,EAAU5D,UAAY2wB,EAAImkF,KACnBlxG,EAAU3E,QAHE,CAIrB,IAEK0xB,CACT,CAmDA,SAASmuuB,GAAsB56uB,GAC7B,IAAI66uB,EAAgB76uB,EAAOwzf,MACvB/ggB,EAAOoovB,EAAcpovB,KACrBije,EAAOmlR,EAAcnlR,KACrB3te,EAASiY,EAAOjY,OAChBouvB,EAAWn2uB,EAAOm2uB,SAClB1nuB,EAAYzO,EAAOyO,UACnBizI,EAAS1hJ,EAAO0hJ,OAChBuxB,EAAQjzK,EAAOizK,MACf6nkB,EAAS96uB,EAAO86uB,OAChBC,EAAU/6uB,EAAO+6uB,QACjBnwnB,EAAQ5qH,EAAO4qH,MACfownB,EAAoBh7uB,EAAOi7uB,UAC3BA,OAAkC,IAAtBD,GAAuCA,EAEnD75vB,EAAOu0e,EAAKnjc,MAAQmjc,EAAOjje,EAC3BkP,EAAQxgB,EAAKwgB,MACb5I,EAAS5X,EAAK4X,OAEdmivB,EAA4B,QAAXnzvB,EACjBozvB,EAAY,CAACzkuB,GAAOy8tB,iBAAkBgD,EAAW,GAAG7wwB,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAO6wwB,GAAY,IAAI58vB,QAAO,SAAUxR,GAC5H,OAAqC,IAA9B6iJ,EAAM7nH,QAAQx7B,QAAQQ,EAC/B,IAAGwR,QAAO,SAAUxR,GAClB,MAAa,KAANA,KAAcA,CACvB,IAAGzC,OAAOslJ,EAAM7nH,SAAS/sB,KAAK,KAC1BwwC,EAAU,CACZzrC,SAAU,GACVotG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAG5ggB,EAAMziC,YAAa,CAAC,EAAG,CACnE,cAAepgG,EACf,YAAaouvB,EACb,MAASgF,EACT,KAAQvwnB,EAAMziC,WAAW5kF,MAAQ,MACjC,MAAS,6BACT,QAAW,OAAOj+B,OAAOq8B,EAAO,KAAKr8B,OAAOyzB,MAG5CqivB,EAAyBF,KAAoBtwnB,EAAM7nH,QAAQx7B,QAAQ,SAAW,CAChFo6B,MAAO,GAAGr8B,OAAOq8B,EAAQ5I,EAAS,GAAK,MAAQ,OAC7C,CAAC,EAEDkivB,IACFz0tB,EAAQ2hE,WAAW2opB,IAAiB,IAGlC79jB,IACFzsJ,EAAQzrC,SAASlQ,KAAK,CACpB4W,IAAK,QACL0mG,WAAY,CACVvtG,GAAI4rC,EAAQ2hE,WAAW,oBAAsB,SAAS7iH,OAAOy1wB,GAAW3G,OAE1Er5vB,SAAU,CAACk4L,YAENzsJ,EAAQ2hE,WAAW8qF,OAG5B,IAAIpkL,EAAO28nB,GAAeA,GAAe,CAAC,EAAGhlmB,GAAU,CAAC,EAAG,CACzDz+B,OAAQA,EACRouvB,SAAUA,EACV1jvB,KAAMA,EACNije,KAAMA,EACNolR,OAAQA,EACRrsuB,UAAWA,EACXizI,OAAQA,EACR3gK,OAAQyqoB,GAAeA,GAAe,CAAC,EAAG4vH,GAAyBxwnB,EAAM7pI,UAGvEK,EAAQs0e,EAAKnjc,OAAS9/B,EAAK8/B,MAAQuntB,GAAa,uBAAwBjrvB,IAAS,CACnF9T,SAAU,GACVotG,WAAY,CAAC,GACX2xpB,GAAa,uBAAwBjrvB,IAAS,CAChD9T,SAAU,GACVotG,WAAY,CAAC,GAEXptG,EAAWqG,EAAMrG,SACjBotG,EAAa/mG,EAAM+mG,WAKvB,OAHAt5F,EAAK9T,SAAWA,EAChB8T,EAAKs5F,WAAaA,EAEdu5D,EArGN,SAAmBvgK,GACjB,IAAI4G,EAAS5G,EAAK4G,OACdouvB,EAAWh1vB,EAAKg1vB,SAChBp7vB,EAAWoG,EAAKpG,SAChBotG,EAAahnG,EAAKgnG,WAClBu5D,EAASvgK,EAAKugK,OACd9mK,GAAgB,IAAX8mK,EAAkB,GAAGp8K,OAAOyiB,EAAQ,KAAKziB,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAO6wwB,GAAYz0lB,EACnG,MAAO,CAAC,CACNjgK,IAAK,MACL0mG,WAAY,CACV3nG,MAAO,kBAETzF,SAAU,CAAC,CACT0G,IAAK,SACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGrjiB,GAAa,CAAC,EAAG,CAC7DvtG,GAAIA,IAENG,SAAUA,KAGhB,CAkFWsgwB,CAASxsvB,GAjIpB,SAAiB1N,GACf,IAAIpG,EAAWoG,EAAKpG,SAChB0X,EAAOtR,EAAKsR,KACZije,EAAOv0e,EAAKu0e,KACZvtY,EAAahnG,EAAKgnG,WAClBpnG,EAASI,EAAKJ,OACd0tB,EAAYttB,EAAKstB,UAErB,GAAI+luB,GAAsB/luB,IAAchc,EAAK8/B,QAAUmjc,EAAKnjc,MAAO,CACjE,IAEIhsC,EAAS,CACXY,EAHUsL,EAAKkP,MACJlP,EAAKsG,OAEI,EACpBhvB,EAAG,IAELo+G,EAAkB,MAAIospB,GAAW/oH,GAAeA,GAAe,CAAC,EAAGzqoB,GAAS,CAAC,EAAG,CAC9E,mBAAoB,GAAGzb,OAAOihB,EAAOY,EAAIsnB,EAAUtnB,EAAI,GAAI,OAAO7hB,OAAOihB,EAAOxc,EAAI0kC,EAAU1kC,EAAI,GAAI,QAE1G,CAEA,MAAO,CAAC,CACN0X,IAAK,MACL0mG,WAAYA,EACZptG,SAAUA,GAEd,CA0GWugwB,CAAOzsvB,EAElB,CACA,SAAS0svB,GAAuBv7uB,GAC9B,IAAIwmB,EAAUxmB,EAAOwmB,QACjB7kB,EAAQ3B,EAAO2B,MACf5I,EAASiH,EAAOjH,OAChB0V,EAAYzO,EAAOyO,UACnBwkK,EAAQjzK,EAAOizK,MACfroD,EAAQ5qH,EAAO4qH,MACf4wnB,EAAqBx7uB,EAAOi7uB,UAC5BA,OAAmC,IAAvBO,GAAwCA,EAEpDrzpB,EAAaqjiB,GAAeA,GAAeA,GAAe,CAAC,EAAG5ggB,EAAMziC,YAAa8qF,EAAQ,CAC3F,MAASA,GACP,CAAC,GAAI,CAAC,EAAG,CACX,MAASroD,EAAM7nH,QAAQ/sB,KAAK,OAG1BilwB,IACF9ypB,EAAW2opB,IAAiB,IAG9B,IAAI/vvB,EAASyqoB,GAAe,CAAC,EAAG5ggB,EAAM7pI,QAElCyzvB,GAAsB/luB,KACxB1tB,EAAkB,UAt8BtB,SAAyBK,GACvB,IAAIqtB,EAAYrtB,EAAMqtB,UAClBgtuB,EAAcr6vB,EAAMugB,MACpBA,OAAwB,IAAhB85uB,EAAyB9K,GAAgB8K,EACjDC,EAAet6vB,EAAM2X,OACrBA,OAA0B,IAAjB2ivB,EAA0B/K,GAAgB+K,EACnDC,EAAsBv6vB,EAAMw6vB,cAC5BA,OAAwC,IAAxBD,GAAyCA,EACzDlvuB,EAAM,GAYV,OATEA,GADEmvuB,GAAiBnL,GACZ,aAAanrwB,OAAOmpC,EAAUtnB,EAAIthB,GAAI87B,EAAQ,EAAG,QAAQr8B,OAAOmpC,EAAU1kC,EAAIlE,GAAIkzB,EAAS,EAAG,QAC5F6ivB,EACF,yBAAyBt2wB,OAAOmpC,EAAUtnB,EAAIthB,GAAG,qBAAqBP,OAAOmpC,EAAU1kC,EAAIlE,GAAG,SAE9F,aAAaP,OAAOmpC,EAAUtnB,EAAIthB,GAAG,QAAQP,OAAOmpC,EAAU1kC,EAAIlE,GAAG,QAG9E4mC,GAAO,SAASnnC,OAAOmpC,EAAUvnB,KAAOrhB,IAAK4oC,EAAUwluB,OAAS,EAAI,GAAI,MAAM3uwB,OAAOmpC,EAAUvnB,KAAOrhB,IAAK4oC,EAAUyluB,OAAS,EAAI,GAAI,MACtIznuB,EAAO,UAAUnnC,OAAOmpC,EAAUuluB,OAAQ,QAE5C,CAi7B0B6H,CAAgB,CACpCptuB,UAAWA,EACXmtuB,eAAe,EACfj6uB,MAAOA,EACP5I,OAAQA,IAEVhY,EAAO,qBAAuBA,EAAkB,WAGlD,IAAIs6H,EAAck5nB,GAAWxzvB,GAEzBs6H,EAAYn0I,OAAS,IACvBihH,EAAkB,MAAIkzB,GAGxB,IAAI5uG,EAAM,GAiBV,OAhBAA,EAAI5hC,KAAK,CACP4W,IAAK,OACL0mG,WAAYA,EACZptG,SAAU,CAACyrC,KAGTysJ,GACFxmK,EAAI5hC,KAAK,CACP4W,IAAK,OACL0mG,WAAY,CACVC,MAAO,WAETrtG,SAAU,CAACk4L,KAIRxmK,CACT,CAsCA,IAAIqvuB,GAAW5oqB,GAAUnyF,OACzB,SAASg7vB,GAAY/pvB,GACnB,IAAI2P,EAAQ3P,EAAK,GACb+G,EAAS/G,EAAK,GAIdgqvB,EADe36vB,GADD2Q,EAAKtO,MAAM,GACkB,GACjB,GAoC9B,MAAO,CACL6uC,OAAO,EACP5wB,MAAOA,EACP5I,OAAQA,EACR/G,KApCE9rB,MAAMkoB,QAAQ4tvB,GACN,CACRv6vB,IAAK,IACL0mG,WAAY,CACVC,MAAO,GAAG9iH,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAOgtwB,GAAgBC,QAEjEx3vB,SAAU,CAAC,CACT0G,IAAK,OACL0mG,WAAY,CACVC,MAAO,GAAG9iH,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAOgtwB,GAAgBI,WAC/DlzuB,KAAM,eACN35B,EAAGm2wB,EAAW,KAEf,CACDv6vB,IAAK,OACL0mG,WAAY,CACVC,MAAO,GAAG9iH,OAAOoxC,GAAOw8tB,UAAW,KAAK5twB,OAAOgtwB,GAAgBG,SAC/DjzuB,KAAM,eACN35B,EAAGm2wB,EAAW,OAKV,CACRv6vB,IAAK,OACL0mG,WAAY,CACV3oF,KAAM,eACN35B,EAAGm2wB,IAWX,CACA,IAAIC,GAA6B,CAC/B1ptB,OAAO,EACP5wB,MAAO,IACP5I,OAAQ,KASV,SAASmjvB,GAAS/F,EAAUpuvB,GAC1B,IAAIgxvB,EAAchxvB,EAMlB,MAJe,OAAXA,GAA2C,OAAxB2uB,GAAOs8tB,eAC5BjrvB,EAASqwvB,MAGJ,IAAInvwB,SAAQ,SAAUC,EAASC,GAK5B2wwB,GAAa,uBAGrB,GAAoB,OAAhBf,EAAsB,CACxB,IAAIxkK,EAAO4jK,GAAUhC,IAAa,CAAC,EACnCA,EAAW5hK,EAAK4hK,UAAYA,EAC5BpuvB,EAASwslB,EAAKxslB,QAAUA,CAC1B,CAEA,GAAIouvB,GAAYpuvB,GAAU+zvB,GAAS/zvB,IAAW+zvB,GAAS/zvB,GAAQouvB,GAE7D,OAAOjtwB,EAAQ6ywB,GADJD,GAAS/zvB,GAAQouvB,MA5BlC,SAA4BA,EAAUpuvB,GAC/BupvB,IAAe56tB,GAAOk9tB,mBAAoBuC,GAC7CpwtB,QAAQz6C,MAAM,mBAAoBhG,OAAO6wwB,EAAU,kBAAoB7wwB,OAAOyiB,EAAQ,iBAE1F,CA4BIo0vB,CAAmBhG,EAAUpuvB,GAC7B7e,EAAQsipB,GAAeA,GAAe,CAAC,EAAGywH,IAA6B,CAAC,EAAG,CACzEjqvB,KAAM0kB,GAAOk9tB,kBAAoBuC,GAAW2D,GAAa,wBAA+B,CAAC,IAE7F,GACF,CAEA,IAAIsC,GAAS,WAAiB,EAE1Bj2wB,GAAIuwC,GAAOi9tB,oBAAsBpD,IAAeA,GAAY9jR,MAAQ8jR,GAAYV,QAAUU,GAAc,CAC1G9jR,KAAM2vR,GACNvM,QAASuM,IAEPC,GAAW,aASX54vB,GAAM,SAAanW,GACrBnH,GAAEsmf,KAAK,GAAGnnf,OAAO+2wB,GAAU,KAAK/2wB,OAAOgI,EAAM,UAC7CnH,GAAE0pwB,QAAQ,GAAGvqwB,OAAO+2wB,GAAU,KAAK/2wB,OAAOgI,GAAO,GAAGhI,OAAO+2wB,GAAU,KAAK/2wB,OAAOgI,EAAM,WAAY,GAAGhI,OAAO+2wB,GAAU,KAAK/2wB,OAAOgI,EAAM,SAC3I,EAEIgvwB,GAAO,CACT94vB,MAbU,SAAelW,GAEzB,OADAnH,GAAEsmf,KAAK,GAAGnnf,OAAO+2wB,GAAU,KAAK/2wB,OAAOgI,EAAM,YACtC,WACL,OAAOmW,GAAInW,EACb,CACF,EASEmW,IAAKA,IAGH84vB,GAAS,WAAiB,EAE9B,SAASC,GAAUr4vB,GAEjB,MAAwB,kBADZA,EAAKoE,aAAepE,EAAKoE,aAAauovB,IAAiB,KAErE,CAqBA,SAASt3pB,GAAgB/3F,GACvB,OAAO4uvB,GAAS72pB,gBAAgB,6BAA8B/3F,EAChE,CAEA,SAASxF,GAAcwF,GACrB,OAAO4uvB,GAASp0vB,cAAcwF,EAChC,CAEA,SAASg7vB,GAAWC,GAClB,IACIC,GADS11wB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,GACxD21wB,KACtBA,OAAwB,IAAjBD,EAA8C,QAApBD,EAAYj7vB,IAAgB+3F,GAAkBv9F,GAAgB0gwB,EAEnG,GAA2B,kBAAhBD,EACT,OAAOrM,GAAStzvB,eAAe2/vB,GAGjC,IAAIj7vB,EAAMm7vB,EAAKF,EAAYj7vB,KAU3B,OATA1b,OAAOgR,KAAK2lwB,EAAYv0pB,YAAc,IAAI1xG,SAAQ,SAAU5O,GAC1D4Z,EAAI5C,aAAahX,EAAK60wB,EAAYv0pB,WAAWtgH,GAC/C,KACe60wB,EAAY3hwB,UAAY,IAC9BtE,SAAQ,SAAU4G,GACzBoE,EAAI3E,YAAY2/vB,GAAWp/vB,EAAO,CAChCu/vB,KAAMA,IAEV,IACOn7vB,CACT,CAYA,IAAIo7vB,GAAW,CACbj8vB,QAAS,SAAiBk8vB,GACxB,IAAI34vB,EAAO24vB,EAAS,GAEpB,GAAI34vB,EAAK9H,WAKP,GAJAygwB,EAAS,GAAGrmwB,SAAQ,SAAUsmwB,GAC5B54vB,EAAK9H,WAAWyF,aAAa26vB,GAAWM,GAAY54vB,EACtD,IAEyC,OAArCA,EAAKoE,aAAauovB,KAA2Bp6tB,GAAOg9tB,mBAAoB,CAC1E,IAAI5svB,EAAUupvB,GAAS2M,cApB/B,SAAuB74vB,GACrB,IAAI2C,EAAU,IAAIxhB,OAAO6e,EAAK84vB,UAAW,KAMzC,MAHU,GAAG33wB,OAAOwhB,EAAS,gCAI/B,CAY6Co2vB,CAAc/4vB,IACnDA,EAAK9H,WAAWsB,aAAamJ,EAAS3C,EACxC,MACEA,EAAK7J,QAGX,EACA6iwB,KAAM,SAAcL,GAClB,IAAI34vB,EAAO24vB,EAAS,GAChBM,EAAaN,EAAS,GAG1B,IAAKzI,GAAWlwvB,GAAM5c,QAAQmvC,GAAOy8tB,kBACnC,OAAO0J,GAASj8vB,QAAQk8vB,GAG1B,IAAIO,EAAS,IAAIzxuB,OAAO,GAAGtmC,OAAOoxC,GAAOw8tB,UAAW,QAGpD,UAFOkK,EAAW,GAAGj1pB,WAAWvtG,GAE5BwiwB,EAAW,GAAGj1pB,WAAWC,MAAO,CAClC,IAAIk1pB,EAAeF,EAAW,GAAGj1pB,WAAWC,MAAM/uG,MAAM,KAAK4H,QAAO,SAAUC,EAAK2vhB,GAOjF,OANIA,IAAQn6f,GAAOy8tB,kBAAoBtiO,EAAI1ohB,MAAMk1vB,GAC/Cn8vB,EAAIq8vB,MAAM1ywB,KAAKgmiB,GAEf3vhB,EAAIs8vB,OAAO3ywB,KAAKgmiB,GAGX3vhB,CACT,GAAG,CACDs8vB,OAAQ,GACRD,MAAO,KAGTH,EAAW,GAAGj1pB,WAAWC,MAAQk1pB,EAAaC,MAAMvnwB,KAAK,KAEtB,IAA/BsnwB,EAAaE,OAAOt2wB,OACtBid,EAAKvF,gBAAgB,SAErBuF,EAAKtF,aAAa,QAASy+vB,EAAaE,OAAOxnwB,KAAK,KAExD,CAEA,IAAIynwB,EAAeL,EAAWh4wB,KAAI,SAAUsG,GAC1C,OAAOkqwB,GAAOlqwB,EAChB,IAAGsK,KAAK,MAERmO,EAAKtF,aAAaiyvB,GAAe,IACjC3svB,EAAKrI,UAAY2hwB,CACnB,GAGF,SAASC,GAAqBhzwB,GAC5BA,GACF,CAEA,SAASizwB,GAAQ34kB,EAAWtuL,GAC1B,IAAIknwB,EAAuC,oBAAblnwB,EAA0BA,EAAW6lwB,GAEnE,GAAyB,IAArBv3kB,EAAU99L,OACZ02wB,QACK,CACL,IAAIx1qB,EAAQs1qB,GAERhnuB,GAAO+8tB,iBAAmBrC,KAC5BhpqB,EAAQgoqB,GAAO/zrB,uBAAyBqhsB,IAG1Ct1qB,GAAM,WACJ,IAAIy1qB,GA9HsB,IAA1BnnuB,GAAO08tB,eACFyJ,GAASj8vB,QAGJi8vB,GAASnmuB,GAAO08tB,iBACZyJ,GAASj8vB,QA0HnB6re,EAAO6vR,GAAK94vB,MAAM,UACtBwhL,EAAU5/L,IAAIy4wB,GACdpxR,IACAmxR,GACF,GACF,CACF,CACA,IAAI7svB,IAAW,EACf,SAAS+svB,KACP/svB,IAAW,CACb,CACA,SAASgtvB,KACPhtvB,IAAW,CACb,CACA,IAAIitvB,GAAK,KACT,SAAS5qpB,GAAQ7xG,GACf,GAAK+uvB,IAIA55tB,GAAO88tB,iBAAZ,CAIA,IAAIyK,EAAwB18vB,EAAQ28vB,aAChCA,OAAyC,IAA1BD,EAAmC1B,GAAS0B,EAC3DE,EAAwB58vB,EAAQ68vB,aAChCA,OAAyC,IAA1BD,EAAmC5B,GAAS4B,EAC3DE,EAAwB98vB,EAAQ+8vB,uBAChCA,OAAmD,IAA1BD,EAAmC9B,GAAS8B,EACrEE,EAAwBh9vB,EAAQi9vB,qBAChCA,OAAiD,IAA1BD,EAAmClO,GAAWkO,EACzEP,GAAK,IAAI1N,IAAkB,SAAU/4tB,GACnC,IAAIxmB,GAAJ,CACA,IAAI0tvB,EAAgBrG,KACpBjopB,GAAQ54E,GAAS9gC,SAAQ,SAAUiowB,GAajC,GAZ4B,cAAxBA,EAAe3gwB,MAAwB2gwB,EAAeh6kB,WAAWx9L,OAAS,IAAMs1wB,GAAUkC,EAAeh6kB,WAAW,MAClHhuJ,GAAO68tB,sBACT+K,EAAuBI,EAAe92wB,QAGxCs2wB,EAAaQ,EAAe92wB,SAGF,eAAxB82wB,EAAe3gwB,MAAyB2gwB,EAAe92wB,OAAOyU,YAAcq6B,GAAO68tB,sBACrF+K,EAAuBI,EAAe92wB,OAAOyU,YAGnB,eAAxBqiwB,EAAe3gwB,MAAyBy+vB,GAAUkC,EAAe92wB,UAAYyqwB,GAAgC9qwB,QAAQm3wB,EAAel9K,eACtI,GAAqC,UAAjCk9K,EAAel9K,eA3L3B,SAA0Br9kB,GACxB,IAAI4D,EAAS5D,EAAKoE,aAAepE,EAAKoE,aAAa0ovB,IAAe,KAC9Dj/uB,EAAO7N,EAAKoE,aAAepE,EAAKoE,aAAa2ovB,IAAa,KAC9D,OAAOnpvB,GAAUiK,CACnB,CAuLwD2svB,CAAiBD,EAAe92wB,QAAS,CACvF,IAAIg3wB,EAAoBlG,GAAiBrE,GAAWqK,EAAe92wB,SAC/DmgB,EAAS62vB,EAAkB72vB,OAC3BouvB,EAAWyI,EAAkBzI,SAEjCuI,EAAe92wB,OAAOiX,aAAaoyvB,GAAalpvB,GAAU02vB,GACtDtI,GAAUuI,EAAe92wB,OAAOiX,aAAaqyvB,GAAWiF,EAC9D,MA5LiBhyvB,EA4LUu6vB,EAAe92wB,SA3LjCuc,EAAK/J,WAAa+J,EAAK/J,UAAUu2G,UAAYxsG,EAAK/J,UAAUu2G,SAASj6E,GAAOy8tB,mBA4LnFiL,EAAaM,EAAe92wB,QA7LtC,IAAyBuc,CAgMrB,GA3BoB,CA4BtB,IACKqsvB,IACLwN,GAAG5qpB,QAAQorpB,EAAsB,CAC/B15kB,WAAW,EACX38E,YAAY,EACZq7b,eAAe,EACfz+W,SAAS,GA7CX,CA+CF,CA2BA,SAAS85kB,GAAa16vB,GACpB,IAAI26vB,EAAiB36vB,EAAKoE,aAAa,eACnCw2vB,EAAmB56vB,EAAKoE,aAAa,aACrColkB,OAA+B7olB,IAAnBqf,EAAKwpkB,UAA0BxpkB,EAAKwpkB,UAAU3qkB,OAAS,GACnEypB,EAAMisuB,GAAiBrE,GAAWlwvB,IAWtC,OATKsoB,EAAI1kB,SACP0kB,EAAI1kB,OAASqwvB,MAGX0G,GAAkBC,IACpBtyuB,EAAI1kB,OAAS+2vB,EACbryuB,EAAI0puB,SAAW4I,GAGbtyuB,EAAI0puB,UAAY1puB,EAAI1kB,SAIpB0kB,EAAI1kB,QAAU4lkB,EAAUzmlB,OAAS,IACnCulC,EAAI0puB,SA5+BR,SAAoBpuvB,EAAQi3vB,GAC1B,OAAQ5H,GAAYrvvB,IAAW,CAAC,GAAGi3vB,EACrC,CA0+BmBC,CAAWxyuB,EAAI1kB,OAAQ5D,EAAKwpkB,YAAcsqL,GAAUxruB,EAAI1kB,OAAQ4tC,GAAMxxC,EAAKwpkB,cAGvFlhjB,EAAI0puB,UAAYz/tB,GAAOkhuB,cAAgBzzvB,EAAK5G,YAAc4G,EAAK5G,WAAWN,WAAag6D,KAAKiosB,YAC/FzyuB,EAAI0puB,SAAWhyvB,EAAK5G,WAAWjP,OARxBm+B,CAYX,CA8CA,SAAS0yuB,GAAUh7vB,GACjB,IAAI++B,EAASj8C,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAC/Em4wB,aAAa,GAGXC,EAAeR,GAAY16vB,GAC3BgyvB,EAAWkJ,EAAalJ,SACxBpuvB,EAASs3vB,EAAat3vB,OACtBu3vB,EAAeD,EAAaj1R,KAE5Bm1R,EAtDN,SAA2Bp7vB,GACzB,IAAIo7vB,EAAkBpvpB,GAAQhsG,EAAKgkG,YAAYlnG,QAAO,SAAUC,EAAKmnG,GAKnE,MAJiB,UAAbnnG,EAAI5T,MAAiC,UAAb4T,EAAI5T,OAC9B4T,EAAImnG,EAAK/6G,MAAQ+6G,EAAKh/G,OAGjB6X,CACT,GAAG,CAAC,GACA+xL,EAAQ9uL,EAAKoE,aAAa,SAC1BwyvB,EAAU52vB,EAAKoE,aAAa,oBAWhC,OATImuB,GAAO48tB,WACLrgkB,EACFsskB,EAAgB,mBAAqB,GAAGj6wB,OAAOoxC,GAAOy8tB,iBAAkB,WAAW7twB,OAAOy1wB,GAAW3G,OAErGmL,EAAgB,eAAiB,OACjCA,EAA2B,UAAI,UAI5BA,CACT,CAiCwBC,CAAiBr7vB,GACnCs7vB,EAAa9F,GAAW,sBAAuB,CAAC,EAAGx1vB,GACnDu7vB,EAAcx8tB,EAAOk8tB,YA3G3B,SAAsBj7vB,GACpB,IAAI3D,EAAQ2D,EAAKoE,aAAa,SAC1BkkB,EAAM,GAgBV,OAdIjsB,IACFisB,EAAMjsB,EAAMnH,MAAM,KAAK4H,QAAO,SAAUC,EAAKV,GAC3C,IAAIO,EAASP,EAAMnH,MAAM,KACrB8iB,EAAOpb,EAAO,GACd1X,EAAQ0X,EAAO2C,MAAM,GAMzB,OAJIyY,GAAQ9yB,EAAMnC,OAAS,IACzBga,EAAIib,GAAQ9yB,EAAM2M,KAAK,KAAKgN,QAGvB9B,CACT,GAAG,CAAC,IAGCurB,CACT,CAwFyC2yuB,CAAYj7vB,GAAQ,GAC3D,OAAOqnoB,GAAe,CACpB2qH,SAAUA,EACVljkB,MAAO9uL,EAAKoE,aAAa,SACzBwyvB,QAAS52vB,EAAKoE,aAAa,oBAC3BR,OAAQA,EACR0mB,UAAWsluB,GACXr+Q,KAAM,CACJygR,SAAU,KACVpuvB,OAAQ,KACRqie,KAAM,IAER0wR,OAAQ,KACRp5lB,QAAQ,EACR92B,MAAO,CACL7nH,QAASu8uB,EACTv+vB,OAAQ2+vB,EACRv3pB,WAAYo3pB,IAEbE,EACL,CAEA,IAAIE,GAAWzsqB,GAAUnyF,OAEzB,SAAS6+vB,GAAiBz7vB,GACxB,IAAI07vB,EAAqC,SAA1BnpuB,GAAO08tB,eAA4B+L,GAAUh7vB,EAAM,CAChEi7vB,aAAa,IACVD,GAAUh7vB,GAEf,OAAK07vB,EAASj1nB,MAAM7nH,QAAQx7B,QAAQyqwB,IAC3B8H,GAAa,qBAAsB31vB,EAAM07vB,GAEzC/F,GAAa,iCAAkC31vB,EAAM07vB,EAEhE,CAEA,IAAIC,GAAgB,IAAI3/vB,IAQxB,SAAS4/vB,GAAO37vB,GACd,IAAI1N,EAAWzP,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,KACnF,IAAKupwB,GAAQ,OAAOvnwB,QAAQC,UAC5B,IAAI82wB,EAAgB3P,GAASjjqB,gBAAgBhzF,UAEzC6lwB,EAAS,SAAgB5poB,GAC3B,OAAO2poB,EAAc3lwB,IAAI,GAAG/U,OAAO6rwB,GAA6B,KAAK7rwB,OAAO+wI,GAC9E,EAEI6poB,EAAY,SAAmB7poB,GACjC,OAAO2poB,EAAc1lwB,OAAO,GAAGhV,OAAO6rwB,GAA6B,KAAK7rwB,OAAO+wI,GACjF,EAEIs8nB,EAAWj8tB,GAAOkhuB,aAAekI,GAAgBrO,GAASrswB,KAAI,SAAU0E,GAC1E,MAAO,MAAMxE,OAAOwE,EACtB,IAAGxE,OAAOS,OAAOgR,KAAK4owB,KAEjBhN,EAASp9sB,SAAS,OACrBo9sB,EAAS9nwB,KAAK,MAGhB,IAAIs1wB,EAAmB,CAAC,IAAI76wB,OAAO0swB,GAAuB,UAAU1swB,OAAOwrwB,GAAe,OAAOxrwB,OAAOqtwB,EAASvtwB,KAAI,SAAUe,GAC7H,MAAO,IAAIb,OAAOa,EAAG,UAAUb,OAAOwrwB,GAAe,KACvD,KAAI96vB,KAAK,MAET,GAAgC,IAA5BmqwB,EAAiBj5wB,OACnB,OAAO+B,QAAQC,UAGjB,IAAIq4uB,EAAa,GAEjB,IACEA,EAAapxnB,GAAQ/rG,EAAKkE,iBAAiB63vB,GAC7C,CAAE,MAAO74wB,IAAI,CAGb,KAAIi6uB,EAAWr6uB,OAAS,GAItB,OAAO+B,QAAQC,UAHf+2wB,EAAO,WACPC,EAAU,YAKZ,IAAIzzR,EAAO6vR,GAAK94vB,MAAM,UAClBwhL,EAAYu8iB,EAAWtguB,QAAO,SAAUC,EAAKiD,GAC/C,IACE,IAAI24vB,EAAW8C,GAAiBz7vB,GAE5B24vB,GACF57vB,EAAIrW,KAAKiywB,EAEb,CAAE,MAAOx1wB,IACFgqwB,IACY,gBAAXhqwB,GAAEgG,MACJy4C,QAAQz6C,MAAMhE,GAGpB,CAEA,OAAO4Z,CACT,GAAG,IACH,OAAO,IAAIjY,SAAQ,SAAUC,EAASC,GACpCF,QAAQu1C,IAAIwmJ,GAAWr7L,MAAK,SAAUy2wB,GACpCzC,GAAQyC,GAAmB,WACzBH,EAAO,UACPA,EAAO,YACPC,EAAU,WACc,oBAAbxpwB,GAAyBA,IACpC+1e,IACAvjf,GACF,GACF,IAAGqG,OAAM,SAAUjI,GACjBmlf,IACAtjf,EAAO7B,EACT,GACF,GACF,CAEA,SAAS+4wB,GAAOl8vB,GACd,IAAIzN,EAAWzP,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,KACnF24wB,GAAiBz7vB,GAAMxa,MAAK,SAAUmzwB,GAChCA,GACFa,GAAQ,CAACb,GAAWpmwB,EAExB,GACF,CA5FA+6vB,GAASrswB,KAAI,SAAU+3hB,GACrB2iP,GAAczlwB,IAAI,MAAM/U,OAAO63hB,GACjC,IACAp3hB,OAAOgR,KAAK46vB,GAAgBJ,KAAiBnswB,IAAI06wB,GAAczlwB,IAAI0vB,KAAK+1uB,KACxE/5wB,OAAOgR,KAAK46vB,GAAgBH,KAAepswB,IAAI06wB,GAAczlwB,IAAI0vB,KAAK+1uB,KACtEA,GAAgBrgvB,GAAmBqgvB,IAyGnC,IAAIzgwB,GAAS,SAAgBihwB,GAC3B,IAAItgvB,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9Es5wB,EAAoBvgvB,EAAOyO,UAC3BA,OAAkC,IAAtB8xuB,EAA+BxM,GAAuBwM,EAClEC,EAAiBxgvB,EAAO0hJ,OACxBA,OAA4B,IAAnB8+lB,GAAoCA,EAC7CC,EAAezgvB,EAAO01d,KACtBA,OAAwB,IAAjB+qR,EAA0B,KAAOA,EACxCC,EAAiB1gvB,EAAO86uB,OACxBA,OAA4B,IAAnB4F,EAA4B,KAAOA,EAC5CC,EAAgB3gvB,EAAOizK,MACvBA,OAA0B,IAAlB0tkB,EAA2B,KAAOA,EAC1CC,EAAkB5gvB,EAAO+6uB,QACzBA,OAA8B,IAApB6F,EAA6B,KAAOA,EAC9CC,EAAkB7gvB,EAAO+C,QACzBA,OAA8B,IAApB89uB,EAA6B,GAAKA,EAC5CC,EAAqB9gvB,EAAOmoF,WAC5BA,OAAoC,IAAvB24pB,EAAgC,CAAC,EAAIA,EAClDC,EAAiB/gvB,EAAOjf,OACxBA,OAA4B,IAAnBggwB,EAA4B,CAAC,EAAIA,EAC9C,GAAKT,EAAL,CACA,IAAIv4vB,EAASu4vB,EAAev4vB,OACxBouvB,EAAWmK,EAAenK,SAC1BnkvB,EAAOsuvB,EAAetuvB,KAC1B,OAAO0ovB,GAAYlvH,GAAe,CAChCztoB,KAAM,QACLuiwB,IAAiB,WAelB,OAdAzG,GAAU,2BAA4B,CACpCyG,eAAgBA,EAChBtgvB,OAAQA,IAGN0W,GAAO48tB,WACLrgkB,EACF9qF,EAAW,mBAAqB,GAAG7iH,OAAOoxC,GAAOy8tB,iBAAkB,WAAW7twB,OAAOy1wB,GAAW3G,OAEhGjspB,EAAW,eAAiB,OAC5BA,EAAsB,UAAI,UAIvByypB,GAAsB,CAC3BpnP,MAAO,CACL/ggB,KAAMspvB,GAAY/pvB,GAClB0je,KAAMA,EAAOqmR,GAAYrmR,EAAK1je,MAAQ,CACpCugC,OAAO,EACP5wB,MAAO,KACP5I,OAAQ,KACR/G,KAAM,CAAC,IAGXjK,OAAQA,EACRouvB,SAAUA,EACV1nuB,UAAW+8mB,GAAeA,GAAe,CAAC,EAAGuoH,IAAuBtluB,GACpEizI,OAAQA,EACRuxB,MAAOA,EACP6nkB,OAAQA,EACRC,QAASA,EACTnwnB,MAAO,CACLziC,WAAYA,EACZpnG,OAAQA,EACRgiB,QAASA,IAGf,GA5C2B,CA6C7B,EACIi+uB,GAAkB,CACpB1L,OAAQ,WACN,MAAO,CACLtjvB,MArFgBzoB,EAqFG8V,GApFhB,SAAU4hwB,GACf,IAAIjhvB,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9Eq5wB,GAAkBW,GAAuB,CAAC,GAAGjvvB,KAAOivvB,EAAsBlH,GAAmBkH,GAAuB,CAAC,GACrHvrR,EAAO11d,EAAO01d,KAMlB,OAJIA,IACFA,GAAQA,GAAQ,CAAC,GAAG1je,KAAO0je,EAAOqkR,GAAmBrkR,GAAQ,CAAC,IAGzDnsf,EAAK+2wB,EAAgB90H,GAAeA,GAAe,CAAC,EAAGxrnB,GAAS,CAAC,EAAG,CACzE01d,KAAMA,IAEV,IAbF,IAAsBnsf,CAuFpB,EACAgswB,MAAO,WACL,MAAO,CACL2L,0BAA2B,SAAmC58nB,GAG5D,OAFAA,EAAY45nB,aAAe6B,GAC3Bz7nB,EAAY85nB,aAAeiC,GACpB/7nB,CACT,EAEJ,EACA68nB,SAAU,SAAkBC,GAC1BA,EAAalH,MAAQ,SAAUl6uB,GAC7B,IAAIqhvB,EAAerhvB,EAAO7b,KACtBA,OAAwB,IAAjBk9vB,EAA0BhR,GAAWgR,EAC5CC,EAAmBthvB,EAAOtpB,SAE9B,OAAOqpwB,GAAO57vB,OADsB,IAArBm9vB,EAA8B,WAAa,EAAIA,EAEhE,EAEAF,EAAaG,+BAAiC,SAAUp9vB,EAAM07vB,GAC5D,IAAI1J,EAAW0J,EAAS1J,SACpBljkB,EAAQ4skB,EAAS5skB,MACjB8nkB,EAAU8E,EAAS9E,QACnBhzvB,EAAS83vB,EAAS93vB,OAClB0mB,EAAYoxuB,EAASpxuB,UACrBizI,EAASm+lB,EAASn+lB,OAClBg0U,EAAOmqR,EAASnqR,KAChBolR,EAAS+E,EAAS/E,OAClBlwnB,EAAQi1nB,EAASj1nB,MACrB,OAAO,IAAI3hJ,SAAQ,SAAUC,EAASC,GACpCF,QAAQu1C,IAAI,CAAC09tB,GAAS/F,EAAUpuvB,GAAS2te,EAAKygR,SAAW+F,GAASxmR,EAAKygR,SAAUzgR,EAAK3te,QAAU9e,QAAQC,QAAQ,CAC9GqpD,OAAO,EACP5wB,MAAO,IACP5I,OAAQ,IACR/G,KAAM,CAAC,MACJroB,MAAK,SAAUwX,GAClB,IAAIC,EAAQC,GAAeF,EAAM,GAC7BsR,EAAOrR,EAAM,GACbs0e,EAAOt0e,EAAM,GAEjBlY,EAAQ,CAACib,EAAMy2vB,GAAsB,CACnCpnP,MAAO,CACL/ggB,KAAMA,EACNije,KAAMA,GAER3te,OAAQA,EACRouvB,SAAUA,EACV1nuB,UAAWA,EACXizI,OAAQA,EACRo5lB,OAAQA,EACR7nkB,MAAOA,EACP8nkB,QAASA,EACTnwnB,MAAOA,EACPqwnB,WAAW,KAEf,IAAG1rwB,MAAMpG,EACX,GACF,EAEAi4wB,EAAaI,qBAAuB,SAAUhjvB,GAC5C,IAWIohkB,EAXA7klB,EAAWyjB,EAAMzjB,SACjBotG,EAAa3pF,EAAM2pF,WACnB11F,EAAO+L,EAAM/L,KACbgc,EAAYjQ,EAAMiQ,UAElB4sG,EAAck5nB,GADL/1uB,EAAMzd,QAmBnB,OAhBIs6H,EAAYn0I,OAAS,IACvBihH,EAAkB,MAAIkzB,GAKpBm5nB,GAAsB/luB,KACxBmxjB,EAAYk6K,GAAa,oCAAqC,CAC5DrnvB,KAAMA,EACNgc,UAAWA,EACX4gS,eAAgB58S,EAAKkP,MACrB8/uB,UAAWhvvB,EAAKkP,SAIpB5mB,EAASlQ,KAAK+0lB,GAAantkB,EAAKT,MACzB,CACLjX,SAAUA,EACVotG,WAAYA,EAEhB,CACF,GAGEu5pB,GAAS,CACXpM,OAAQ,WACN,MAAO,CACLqM,MAAO,SAAeC,GACpB,IAAI5hvB,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9E45wB,EAAkB7gvB,EAAO+C,QACzBA,OAA8B,IAApB89uB,EAA6B,GAAKA,EAChD,OAAOnG,GAAY,CACjB38vB,KAAM,UACL,WACD87vB,GAAU,2BAA4B,CACpC+H,UAAWA,EACX5hvB,OAAQA,IAEV,IAAIjlB,EAAW,GAMf,OALA6mwB,GAAU,SAAU/yvB,GAClB3oB,MAAMkoB,QAAQS,GAAQA,EAAKzpB,KAAI,SAAUsG,GACvCqP,EAAWA,EAASzV,OAAOoG,EAAE2mG,SAC/B,IAAKt3F,EAAWA,EAASzV,OAAOupB,EAAKwjF,SACvC,IACO,CAAC,CACN5wF,IAAK,OACL0mG,WAAY,CACVC,MAAO,CAAC,GAAG9iH,OAAOoxC,GAAOw8tB,UAAW,YAAY5twB,OAAOm6B,GAAmBsD,IAAU/sB,KAAK,MAE3F+E,SAAUA,GAEd,GACF,EAEJ,GAGE8mwB,GAAgB,CAClBvM,OAAQ,WACN,MAAO,CACLlxoB,QAAS,SAAiB59E,GACxB,IAAIxmB,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9E05wB,EAAgB3gvB,EAAOizK,MACvBA,OAA0B,IAAlB0tkB,EAA2B,KAAOA,EAC1CE,EAAkB7gvB,EAAO+C,QACzBA,OAA8B,IAApB89uB,EAA6B,GAAKA,EAC5CC,EAAqB9gvB,EAAOmoF,WAC5BA,OAAoC,IAAvB24pB,EAAgC,CAAC,EAAIA,EAClDC,EAAiB/gvB,EAAOjf,OACxBA,OAA4B,IAAnBggwB,EAA4B,CAAC,EAAIA,EAC9C,OAAOrG,GAAY,CACjB38vB,KAAM,UACNyoC,QAASA,IACR,WAKD,OAJAqztB,GAAU,2BAA4B,CACpCrztB,QAASA,EACTxmB,OAAQA,IA70BpB,SAAmCA,GACjC,IAAIwmB,EAAUxmB,EAAOwmB,QACjBysJ,EAAQjzK,EAAOizK,MACfroD,EAAQ5qH,EAAO4qH,MAEfziC,EAAaqjiB,GAAeA,GAAeA,GAAe,CAAC,EAAG5ggB,EAAMziC,YAAa8qF,EAAQ,CAC3F,MAASA,GACP,CAAC,GAAI,CAAC,EAAG,CACX,MAASroD,EAAM7nH,QAAQ/sB,KAAK,OAG1BqlI,EAAck5nB,GAAW3pnB,EAAM7pI,QAE/Bs6H,EAAYn0I,OAAS,IACvBihH,EAAkB,MAAIkzB,GAGxB,IAAI5uG,EAAM,GAiBV,OAhBAA,EAAI5hC,KAAK,CACP4W,IAAK,OACL0mG,WAAYA,EACZptG,SAAU,CAACyrC,KAGTysJ,GACFxmK,EAAI5hC,KAAK,CACP4W,IAAK,OACL0mG,WAAY,CACVC,MAAO,WAETrtG,SAAU,CAACk4L,KAIRxmK,CACT,CA4yBiBq1uB,CAA0B,CAC/Bt7tB,QAASA,EAAQzwC,WACjBk9L,MAAOA,EACProD,MAAO,CACLziC,WAAYA,EACZpnG,OAAQA,EACRgiB,QAAS,CAAC,GAAGz9B,OAAOoxC,GAAOw8tB,UAAW,oBAAoB5twB,OAAOm6B,GAAmBsD,MAG1F,GACF,EAEJ,GAGEg/uB,GAAa,CACfzM,OAAQ,WACN,MAAO,CACL13vB,KAAM,SAAc4oC,GAClB,IAAIxmB,EAAS/4B,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9Es5wB,EAAoBvgvB,EAAOyO,UAC3BA,OAAkC,IAAtB8xuB,EAA+BxM,GAAuBwM,EAClEI,EAAgB3gvB,EAAOizK,MACvBA,OAA0B,IAAlB0tkB,EAA2B,KAAOA,EAC1CE,EAAkB7gvB,EAAO+C,QACzBA,OAA8B,IAApB89uB,EAA6B,GAAKA,EAC5CC,EAAqB9gvB,EAAOmoF,WAC5BA,OAAoC,IAAvB24pB,EAAgC,CAAC,EAAIA,EAClDC,EAAiB/gvB,EAAOjf,OACxBA,OAA4B,IAAnBggwB,EAA4B,CAAC,EAAIA,EAC9C,OAAOrG,GAAY,CACjB38vB,KAAM,OACNyoC,QAASA,IACR,WAKD,OAJAqztB,GAAU,2BAA4B,CACpCrztB,QAASA,EACTxmB,OAAQA,IAEHu7uB,GAAuB,CAC5B/0tB,QAASA,EACT/X,UAAW+8mB,GAAeA,GAAe,CAAC,EAAGuoH,IAAuBtluB,GACpEwkK,MAAOA,EACProD,MAAO,CACLziC,WAAYA,EACZpnG,OAAQA,EACRgiB,QAAS,CAAC,GAAGz9B,OAAOoxC,GAAOw8tB,UAAW,iBAAiB5twB,OAAOm6B,GAAmBsD,MAGvF,GACF,EAEJ,EACAo+uB,SAAU,SAAkBC,GAC1BA,EAAaY,mBAAqB,SAAU79vB,EAAM07vB,GAChD,IAAI5skB,EAAQ4skB,EAAS5skB,MACjBxkK,EAAYoxuB,EAASpxuB,UACrBm8G,EAAQi1nB,EAASj1nB,MACjBjpH,EAAQ,KACR5I,EAAS,KAEb,GAAI03uB,GAAO,CACT,IAAIwR,EAAmBn2uB,SAASslF,iBAAiBjtG,GAAMwR,SAAU,IAC7DohH,EAAqB5yH,EAAKsuG,wBAC9B9wF,EAAQo1G,EAAmBp1G,MAAQsgvB,EACnClpvB,EAASg+G,EAAmBh+G,OAASkpvB,CACvC,CAMA,OAJIvruB,GAAO48tB,WAAargkB,IACtBroD,EAAMziC,WAAW,eAAiB,QAG7Bl/G,QAAQC,QAAQ,CAACib,EAAMo3vB,GAAuB,CACnD/0tB,QAASriC,EAAKrI,UACd6lB,MAAOA,EACP5I,OAAQA,EACR0V,UAAWA,EACXwkK,MAAOA,EACProD,MAAOA,EACPqwnB,WAAW,KAEf,CACF,GAGEiH,GAAwB,IAAIt2uB,OAAO,IAAM,MACzCu2uB,GAA0B,CAAC,QAAS,SAYxC,SAASC,GAAmBj+vB,EAAMhT,GAChC,IAAIkxwB,EAAmB,GAAG/8wB,OAAO0rwB,IAAgC1rwB,OAAO6L,EAASyP,QAAQ,IAAK,MAC9F,OAAO,IAAI3X,SAAQ,SAAUC,EAASC,GACpC,GAA4C,OAAxCgb,EAAKoE,aAAa85vB,GAEpB,OAAOn5wB,IAGT,IACIo5wB,EADWnypB,GAAQhsG,EAAKpJ,UACiBxB,QAAO,SAAUxR,GAC5D,OAAOA,EAAEwgB,aAAawovB,MAA4B5/vB,CACpD,IAAG,GACC4P,EAASqvvB,GAAOh/oB,iBAAiBjtG,EAAMhT,GACvCskB,EAAa1U,EAAOooL,iBAAiB,eAAehhL,MAAM8pvB,IAC1DjmvB,EAAajL,EAAOooL,iBAAiB,eACrC3iJ,EAAUzlC,EAAOooL,iBAAiB,WAEtC,GAAIm5kB,IAAkC7svB,EAKpC,OADAtR,EAAK7G,YAAYglwB,GACVp5wB,IACF,GAAIusB,GAA0B,SAAZ+wB,GAAkC,KAAZA,EAAgB,CAC7D,IAAI+7tB,EAAWxhwB,EAAOooL,iBAAiB,WAEnCg0V,GAAU,CAAC,SAAS51hB,QAAQkuB,EAAW,IAAM+7uB,GAAeD,GAC5DxpvB,GAAU,CAAC,QAAS,UAAW,QAAS,OAAQ,UAAW,SAAU,OAAOxgB,QAAQkuB,EAAW,IAAMm8uB,GAAgBz0O,GAAQ1ngB,EAAW,GAAG5U,eAAiBqxvB,GAAsB/0O,GAAQnxgB,GAE1Lw2vB,EAxCV,SAA6Bh8tB,GAC3B,IAAIi8tB,EAAUj8tB,EAAQ5lC,QAAQshwB,GAAuB,IACjDrutB,EA5qDN,SAAqB1lC,EAAQ7K,GAC3B,IAEI4yD,EAFAhvD,EAAOiH,EAAOjnB,OACd+uE,EAAQ9nD,EAAOlZ,WAAWqO,GAG9B,OAAI2yD,GAAS,OAAUA,GAAS,OAAU/uD,EAAO5D,EAAQ,IACvD4yD,EAAS/nD,EAAOlZ,WAAWqO,EAAQ,KAErB,OAAU4yD,GAAU,MACN,MAAlBD,EAAQ,OAAkBC,EAAS,MAAS,MAIjDD,CACT,CA8pDkByssB,CAAYD,EAAS,GACjCE,EAAe9utB,GAAasutB,GAAwB,IAAMtutB,GAAasutB,GAAwB,GAC/FS,EAA+B,IAAnBH,EAAQv7wB,QAAeu7wB,EAAQ,KAAOA,EAAQ,GAC9D,MAAO,CACLp5wB,MAAmBssD,GAAZittB,EAAkBH,EAAQ,GAAYA,GAC7CI,YAAaF,GAAgBC,EAEjC,CA+BiCE,CAAoBP,GAC3Cz/J,EAAW0/J,EAAqBn5wB,MAChCw5wB,EAAcL,EAAqBK,YAEnCE,EAAOttvB,EAAW,GAAGkkD,WAAW,eAChCw8rB,EAAW8B,GAAUlwvB,EAAQ+6lB,GAC7BkgK,EAAiB7M,EAErB,GAAI4M,EAAM,CACR,IAAIE,EAphDZ,SAAsB1M,GACpB,IAAI2M,EAAa5L,GAAcf,GAC3B4M,EAAalL,GAAU,MAAO1B,GAClC,OAAO2M,IAAeC,EAAa,CACjCp7vB,OAAQ,MACRouvB,SAAUgN,GACR,OAAS,CACXp7vB,OAAQ,KACRouvB,SAAU,KAEd,CA0gDwBiN,CAAatgK,GAEzBmgK,EAAU9M,UAAY8M,EAAUl7vB,SAClCouvB,EAAW8M,EAAU9M,SACrBpuvB,EAASk7vB,EAAUl7vB,OAEvB,CAIA,IAAIouvB,GAAa0M,GAAiBP,GAAiCA,EAA8B/5vB,aAAa0ovB,MAAiBlpvB,GAAUu6vB,EAA8B/5vB,aAAa2ovB,MAAe8R,EAsCjM95wB,QAtCkN,CAClNib,EAAKtF,aAAawjwB,EAAkBW,GAEhCV,GAEFn+vB,EAAK7G,YAAYglwB,GAGnB,IAAI5hN,EApiBH,CACLy1M,SAAU,KACVljkB,MAAO,KACP8nkB,QAAS,KACThzvB,OAAQ,KACR0mB,UAAWsluB,GACXrylB,QAAQ,EACRg0U,KAAM,CACJygR,SAAU,KACVpuvB,OAAQ,KACRqie,KAAM,IAER0wR,OAAQ,KACRlwnB,MAAO,CACL7nH,QAAS,GACThiB,OAAQ,CAAC,EACTonG,WAAY,CAAC,IAqhBPyiC,EAAQ81a,EAAK91a,MACjBA,EAAMziC,WAAW4opB,IAA0B5/vB,EAC3C+qwB,GAAS/F,EAAUpuvB,GAAQpe,MAAK,SAAU8oB,GACxC,IAAIsqvB,EAAYnC,GAAsBpvH,GAAeA,GAAe,CAAC,EAAG9qF,GAAO,CAAC,EAAG,CACjFltC,MAAO,CACL/ggB,KAAMA,EACNije,KAAM2iR,MAERtwvB,OAAQA,EACRouvB,SAAU6M,EACVp4nB,MAAOA,EACPqwnB,WAAW,KAGTl1vB,EAAUsqvB,GAASp0vB,cAAc,OAEpB,aAAb9K,EACFgT,EAAKrC,aAAaiE,EAAS5B,EAAK5G,YAEhC4G,EAAKrH,YAAYiJ,GAGnBA,EAAQk3vB,UAAYF,EAAU33wB,KAAI,SAAUsG,GAC1C,OAAOkqwB,GAAOlqwB,EAChB,IAAGsK,KAAK,MACRmO,EAAKvF,gBAAgByjwB,GACrBn5wB,GACF,IAAGqG,MAAMpG,EACX,CAGF,MACED,GAEJ,GACF,CAEA,SAAS0X,GAAQuD,GACf,OAAOlb,QAAQu1C,IAAI,CAAC4juB,GAAmBj+vB,EAAM,YAAai+vB,GAAmBj+vB,EAAM,YACrF,CAEA,SAASk/vB,GAAYl/vB,GACnB,OAAOA,EAAK9H,aAAeL,SAASwM,QAAU6ovB,GAAoC9pwB,QAAQ4c,EAAKojB,QAAQ4Q,iBAAmBh0B,EAAKoE,aAAawovB,OAA6B5svB,EAAK9H,YAA0C,QAA5B8H,EAAK9H,WAAWkrB,QAC9M,CAEA,SAASgsuB,GAAqBnvvB,GAC5B,GAAKosvB,GACL,OAAO,IAAIvnwB,SAAQ,SAAUC,EAASC,GACpC,IAAIm6wB,EAAanzpB,GAAQ/rG,EAAKkE,iBAAiB,MAAM/O,OAAO8pwB,IAAaj+wB,IAAIwb,IACzE6C,EAAM64vB,GAAK94vB,MAAM,wBACrBs6vB,KACA70wB,QAAQu1C,IAAI8kuB,GAAY35wB,MAAK,WAC3B8Z,IACAs6vB,KACA70wB,GACF,IAAGqG,OAAM,WACPkU,IACAs6vB,KACA50wB,GACF,GACF,GACF,CAEA,IAqBIo6wB,IAAa,EAmCbC,GAAuB,SAA8B9/qB,GASvD,OAAOA,EAAgB7iF,cAAcxH,MAAM,KAAK4H,QAAO,SAAUC,EAAKla,GACpE,IAAI08C,EAAQ18C,EAAE6Z,cAAcxH,MAAM,KAC9B48D,EAAQvyB,EAAM,GACd0mc,EAAO1mc,EAAMhgC,MAAM,GAAG1N,KAAK,KAE/B,GAAIigE,GAAkB,MAATm0a,EAEX,OADAlpe,EAAI+yvB,OAAQ,EACL/yvB,EAGT,GAAI+0D,GAAkB,MAATm0a,EAEX,OADAlpe,EAAIgzvB,OAAQ,EACLhzvB,EAKT,GAFAkpe,EAAOj+c,WAAWi+c,GAEd9pe,MAAM8pe,GACR,OAAOlpe,EAGT,OAAQ+0D,GACN,IAAK,OACH/0D,EAAIgG,KAAOhG,EAAIgG,KAAOkje,EACtB,MAEF,IAAK,SACHlpe,EAAIgG,KAAOhG,EAAIgG,KAAOkje,EACtB,MAEF,IAAK,OACHlpe,EAAIiG,EAAIjG,EAAIiG,EAAIije,EAChB,MAEF,IAAK,QACHlpe,EAAIiG,EAAIjG,EAAIiG,EAAIije,EAChB,MAEF,IAAK,KACHlpe,EAAInX,EAAImX,EAAInX,EAAIqgf,EAChB,MAEF,IAAK,OACHlpe,EAAInX,EAAImX,EAAInX,EAAIqgf,EAChB,MAEF,IAAK,SACHlpe,EAAI8yvB,OAAS9yvB,EAAI8yvB,OAAS5pR,EAI9B,OAAOlpe,CACT,GA5DgB,CACdgG,KAAM,GACNC,EAAG,EACHpd,EAAG,EACHkqwB,OAAO,EACPC,OAAO,EACPF,OAAQ,GAuDZ,EACIyP,GAAkB,CACpBnO,OAAQ,WACN,MAAO,CACLrvvB,MAAO,CACLwoB,UAAW,SAAmBi1D,GAC5B,OAAO8/qB,GAAqB9/qB,EAC9B,GAGN,EACA6xqB,MAAO,WACL,MAAO,CACLmO,oBAAqB,SAA6Bp/nB,EAAangI,GAC7D,IAAIu/E,EAAkBv/E,EAAKoE,aAAa,qBAMxC,OAJIm7E,IACF4gD,EAAY71G,UAAY+0uB,GAAqB9/qB,IAGxC4gD,CACT,EAEJ,EACA68nB,SAAU,SAAkB1H,GAC1BA,EAAUkK,kCAAoC,SAAUxiwB,GACtD,IAAIsR,EAAOtR,EAAKsR,KACZgc,EAAYttB,EAAKstB,UACjB4gS,EAAiBluT,EAAKkuT,eACtBoyc,EAAYtgwB,EAAKsgwB,UACjBvuwB,EAAQ,CACVu7B,UAAW,aAAanpC,OAAO+pU,EAAiB,EAAG,UAEjDu0c,EAAiB,aAAat+wB,OAAqB,GAAdmpC,EAAUtnB,EAAQ,MAAM7hB,OAAqB,GAAdmpC,EAAU1kC,EAAQ,MACtF85wB,EAAa,SAASv+wB,OAAOmpC,EAAUvnB,KAAO,IAAMunB,EAAUwluB,OAAS,EAAI,GAAI,MAAM3uwB,OAAOmpC,EAAUvnB,KAAO,IAAMunB,EAAUyluB,OAAS,EAAI,GAAI,MAC9I4P,EAAc,UAAUx+wB,OAAOmpC,EAAUuluB,OAAQ,SAOjDsP,EAAa,CACfpwwB,MAAOA,EACPC,MARU,CACVs7B,UAAW,GAAGnpC,OAAOs+wB,EAAgB,KAAKt+wB,OAAOu+wB,EAAY,KAAKv+wB,OAAOw+wB,IAQzErgvB,KANS,CACTgL,UAAW,aAAanpC,OAAOm8wB,EAAY,GAAK,EAAG,YAOrD,MAAO,CACLhgwB,IAAK,IACL0mG,WAAYqjiB,GAAe,CAAC,EAAG83H,EAAWpwwB,OAC1C6H,SAAU,CAAC,CACT0G,IAAK,IACL0mG,WAAYqjiB,GAAe,CAAC,EAAG83H,EAAWnwwB,OAC1C4H,SAAU,CAAC,CACT0G,IAAKgR,EAAKT,KAAKvQ,IACf1G,SAAU0X,EAAKT,KAAKjX,SACpBotG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAG/4nB,EAAKT,KAAKm2F,YAAam7pB,EAAW7/uB,UAIxF,CACF,GAGEsgvB,GAAY,CACd58vB,EAAG,EACHpd,EAAG,EACH43B,MAAO,OACP5I,OAAQ,QAGV,SAASirvB,GAAUjH,GACjB,IAAIr+mB,IAAQz3J,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,KAAmBA,UAAU,GAM3E,OAJI81wB,EAAU50pB,aAAe40pB,EAAU50pB,WAAW3oF,MAAQk/H,KACxDq+mB,EAAU50pB,WAAW3oF,KAAO,SAGvBu9uB,CACT,CAUA,IAAIkH,GAAQ,CACV1O,MAAO,WACL,MAAO,CACLmO,oBAAqB,SAA6Bp/nB,EAAangI,GAC7D,IAAI+/vB,EAAW//vB,EAAKoE,aAAa,gBAC7Bmte,EAAQwuR,EAAkCxL,GAAiBwL,EAAS7qwB,MAAM,KAAKjU,KAAI,SAAU2B,GAC/F,OAAOA,EAAEic,MACX,KAFuBq1vB,KAUvB,OANK3iR,EAAK3te,SACR2te,EAAK3te,OAASqwvB,MAGhB9znB,EAAYoxW,KAAOA,EACnBpxW,EAAYw2nB,OAAS32vB,EAAKoE,aAAa,mBAChC+7H,CACT,EAEJ,EACA68nB,SAAU,SAAkB1H,GAC1BA,EAAU0K,qBAAuB,SAAUhjwB,GACzC,IA7BWi8vB,EA6BPriwB,EAAWoG,EAAKpG,SAChBotG,EAAahnG,EAAKgnG,WAClB11F,EAAOtR,EAAKsR,KACZije,EAAOv0e,EAAKu0e,KACZ0uR,EAAiBjjwB,EAAK25vB,OACtBrsuB,EAAYttB,EAAKstB,UACjB41uB,EAAY5xvB,EAAKkP,MACjB2ivB,EAAW7xvB,EAAKT,KAChBuyvB,EAAY7uR,EAAK/zd,MACjB6ivB,EAAW9uR,EAAK1je,KAChByyvB,EApxEV,SAAyBtjwB,GACvB,IAAIstB,EAAYttB,EAAKstB,UACjB4gS,EAAiBluT,EAAKkuT,eACtBoyc,EAAYtgwB,EAAKsgwB,UACjBvuwB,EAAQ,CACVu7B,UAAW,aAAanpC,OAAO+pU,EAAiB,EAAG,UAEjDu0c,EAAiB,aAAat+wB,OAAqB,GAAdmpC,EAAUtnB,EAAQ,MAAM7hB,OAAqB,GAAdmpC,EAAU1kC,EAAQ,MACtF85wB,EAAa,SAASv+wB,OAAOmpC,EAAUvnB,KAAO,IAAMunB,EAAUwluB,OAAS,EAAI,GAAI,MAAM3uwB,OAAOmpC,EAAUvnB,KAAO,IAAMunB,EAAUyluB,OAAS,EAAI,GAAI,MAC9I4P,EAAc,UAAUx+wB,OAAOmpC,EAAUuluB,OAAQ,SAOrD,MAAO,CACL9gwB,MAAOA,EACPC,MARU,CACVs7B,UAAW,GAAGnpC,OAAOs+wB,EAAgB,KAAKt+wB,OAAOu+wB,EAAY,KAAKv+wB,OAAOw+wB,IAQzErgvB,KANS,CACTgL,UAAW,aAAanpC,OAAOm8wB,EAAY,GAAK,EAAG,WAOvD,CA+vEkBiD,CAAgB,CAC1Bj2uB,UAAWA,EACX4gS,eAAgBk1c,EAChB9C,UAAW4C,IAETM,EAAW,CACbljwB,IAAK,OACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGu4H,IAAY,CAAC,EAAG,CAC5DvkvB,KAAM,WAGNolvB,EAA8BN,EAASvpwB,SAAW,CACpDA,SAAUupwB,EAASvpwB,SAAS3V,IAAI4+wB,KAC9B,CAAC,EACDa,EAAiB,CACnBpjwB,IAAK,IACL0mG,WAAYqjiB,GAAe,CAAC,EAAGi5H,EAAMtxwB,OACrC4H,SAAU,CAACipwB,GAAUx4H,GAAe,CAClC/poB,IAAK6iwB,EAAS7iwB,IACd0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAG84H,EAASn8pB,YAAas8pB,EAAMhhvB,OACzEmhvB,MAEDE,EAAiB,CACnBrjwB,IAAK,IACL0mG,WAAYqjiB,GAAe,CAAC,EAAGi5H,EAAMvxwB,OACrC6H,SAAU,CAAC8pwB,IAET/J,EAAS,QAAQx1wB,OAAO8+wB,GAAkBhQ,MAC1C2Q,EAAS,QAAQz/wB,OAAO8+wB,GAAkBhQ,MAC1C4Q,EAAU,CACZvjwB,IAAK,OACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGu4H,IAAY,CAAC,EAAG,CAC5DnpwB,GAAIkgwB,EACJmK,UAAW,iBACXC,iBAAkB,mBAEpBnqwB,SAAU,CAAC4pwB,EAAUG,IAEnBK,EAAO,CACT1jwB,IAAK,OACL1G,SAAU,CAAC,CACT0G,IAAK,WACL0mG,WAAY,CACVvtG,GAAImqwB,GAENhqwB,UApFOqiwB,EAoFWoH,EAnFH,MAAnBpH,EAAW37vB,IACN27vB,EAAWriwB,SAEX,CAACqiwB,KAiFD4H,IAUL,OARAjqwB,EAASlQ,KAAKs6wB,EAAM,CAClB1jwB,IAAK,OACL0mG,WAAYqjiB,GAAe,CACzBhsnB,KAAM,eACN,YAAa,QAAQl6B,OAAOy/wB,EAAQ,KACpCrvR,KAAM,QAAQpwf,OAAOw1wB,EAAQ,MAC5BiJ,MAEE,CACLhpwB,SAAUA,EACVotG,WAAYA,EAEhB,CACF,GAGEi9pB,GAAuB,CACzBjE,SAAU,SAAkB1H,GAC1B,IAAI4L,GAAe,EAEfjV,GAAOxjF,aACTy4F,EAAejV,GAAOxjF,WAAW,oCAAoCtlpB,SAGvEmyuB,EAAU6L,oBAAsB,WAC9B,IAAIC,EAAY,GACZC,EAAO,CACThmvB,KAAM,gBAEJimvB,EAAiB,CACnBC,cAAe,MACfC,YAAa,aACbC,IAAK,MAGPL,EAAU16wB,KAAK,CACb4W,IAAK,OACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGg6H,GAAO,CAAC,EAAG,CACvD3/wB,EAAG,u4CAIP,IAAIggxB,EAAkBr6H,GAAeA,GAAe,CAAC,EAAGi6H,GAAiB,CAAC,EAAG,CAC3EjkL,cAAe,YAGbskL,EAAM,CACRrkwB,IAAK,SACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGg6H,GAAO,CAAC,EAAG,CACvDz1P,GAAI,MACJjtW,GAAI,MACJ96K,EAAG,OAEL+S,SAAU,IAkDZ,OA/CKsqwB,GACHS,EAAI/qwB,SAASlQ,KAAK,CAChB4W,IAAK,UACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGi6H,GAAiB,CAAC,EAAG,CACjEjkL,cAAe,IACfr3jB,OAAQ,wBAET,CACD1oB,IAAK,UACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGq6H,GAAkB,CAAC,EAAG,CAClE17uB,OAAQ,mBAKdo7uB,EAAU16wB,KAAKi7wB,GACfP,EAAU16wB,KAAK,CACb4W,IAAK,OACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGg6H,GAAO,CAAC,EAAG,CACvDt5vB,QAAS,IACTrmB,EAAG,ySAELkV,SAAUsqwB,EAAe,GAAK,CAAC,CAC7B5jwB,IAAK,UACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGq6H,GAAkB,CAAC,EAAG,CAClE17uB,OAAQ,qBAKTk7uB,GAEHE,EAAU16wB,KAAK,CACb4W,IAAK,OACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGg6H,GAAO,CAAC,EAAG,CACvDt5vB,QAAS,IACTrmB,EAAG,gJAELkV,SAAU,CAAC,CACT0G,IAAK,UACL0mG,WAAYqjiB,GAAeA,GAAe,CAAC,EAAGq6H,GAAkB,CAAC,EAAG,CAClE17uB,OAAQ,qBAMT,CACL1oB,IAAK,IACL0mG,WAAY,CACV,MAAS,WAEXptG,SAAUwqwB,EAEd,CACF,IA/zDF,SAAyBQ,EAAa5kwB,GACpC,IAAI+M,EAAM/M,EAAK6kwB,UACfzM,GAAWwM,EACXvM,GAAS,CAAC,EACVzzwB,OAAOgR,KAAK0iwB,IAAWhjwB,SAAQ,SAAUxL,IACC,IAApCyuwB,GAAoBnywB,QAAQ0D,WACvBwuwB,GAAUxuwB,EAErB,IAEAsuwB,GAAS9iwB,SAAQ,SAAUw6qB,GACzB,IAAIqkF,EAASrkF,EAAOqkF,OAASrkF,EAAOqkF,SAAW,CAAC,EAiBhD,GAhBAvvwB,OAAOgR,KAAKu+vB,GAAQ7+vB,SAAQ,SAAUwyK,GACV,oBAAfqslB,EAAOrslB,KAChB/6J,EAAI+6J,GAAMqslB,EAAOrslB,IAGS,WAAxBqvd,GAAQg9H,EAAOrslB,KACjBljL,OAAOgR,KAAKu+vB,EAAOrslB,IAAKxyK,SAAQ,SAAU8xK,GACnCr6J,EAAI+6J,KACP/6J,EAAI+6J,GAAM,CAAC,GAGb/6J,EAAI+6J,GAAIV,GAAM+slB,EAAOrslB,GAAIV,EAC3B,GAEJ,IAEI0ogB,EAAOskF,MAAO,CAChB,IAAIA,EAAQtkF,EAAOskF,QACnBxvwB,OAAOgR,KAAKw+vB,GAAO9+vB,SAAQ,SAAUqyJ,GAC9B0wmB,GAAO1wmB,KACV0wmB,GAAO1wmB,GAAQ,IAGjB0wmB,GAAO1wmB,GAAMj+J,KAAK0qwB,EAAMzsmB,GAC1B,GACF,CAEImohB,EAAOkwF,UACTlwF,EAAOkwF,SAAS1H,GAEpB,GAGF,CAoyDAwM,CAFc,CAAC5Q,GAAW2L,GAAiBU,GAAQG,GAAeE,GA7Z7C,CACnBxM,MAAO,WACL,MAAO,CACL2L,0BAA2B,SAAmC58nB,GAE5D,OADAA,EAAYg6nB,uBAAyB/K,GAC9BjvnB,CACT,EAEJ,EACA68nB,SAAU,SAAkBC,GAC1BA,EAAa8E,mBAAqB,SAAUlmvB,GAC1C,IAAIqhvB,EAAerhvB,EAAO7b,KACtBA,OAAwB,IAAjBk9vB,EAA0BhR,GAAWgR,EAE5C3quB,GAAO68tB,sBACTA,GAAqBpvvB,EAEzB,CACF,GAIuB,CACvBmxvB,OAAQ,WACN,MAAO,CACL55vB,IAAK,CACHyqwB,QAAS,WACPrI,KACAyF,IAAa,CACf,GAGN,EACAhO,MAAO,WACL,MAAO,CACL6Q,UAAW,WACThzpB,GAAQumpB,GAAW,4BAA6B,CAAC,GACnD,EACAa,OAAQ,WAztBPwD,IACLA,GAAG1qpB,YA0tBC,EACA63G,MAAO,SAAenrM,GACpB,IAAIw+uB,EAAuBx+uB,EAAOw+uB,qBAE9B+E,GACFxF,KAEA3qpB,GAAQumpB,GAAW,4BAA6B,CAC9C6E,qBAAsBA,IAG5B,EAEJ,GAwWgHiF,GAAiBQ,GAAOmB,GAbzH,CACf7P,MAAO,WACL,MAAO,CACLmO,oBAAqB,SAA6Bp/nB,EAAangI,GAC7D,IAAIkiwB,EAAaliwB,EAAKoE,aAAa,kBAC/Bm5J,EAAwB,OAAf2kmB,IAA6C,KAAfA,GAA2BA,GAEtE,OADA/hoB,EAAoB,OAAIo9B,EACjBp9B,CACT,EAEJ,IAKuB,CACvB0hoB,UAAW5kL,KAEb,IAIIklL,GAAUllL,GAAIn7kB,MAGd+L,GAAOovkB,GAAIpvkB,KCz/Ff,SAASupiB,GAAQ9jhB,EAAQ4zmB,GACvB,IAAIt0oB,EAAOhR,OAAOgR,KAAK0gC,GAEvB,GAAI1xC,OAAOyB,sBAAuB,CAChC,IAAI8jpB,EAAUvlpB,OAAOyB,sBAAsBiwC,GAC3C4zmB,IAAmBC,EAAUA,EAAQ/xoB,QAAO,SAAUgyoB,GACpD,OAAOxlpB,OAAOkC,yBAAyBwvC,EAAQ8zmB,GAAKn7oB,UACtD,KAAK2G,EAAKlM,KAAKzD,MAAM2P,EAAMu0oB,EAC7B,CAEA,OAAOv0oB,CACT,CAEA,SAASy0oB,GAAe5jpB,GACtB,IAAK,IAAIb,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CACzC,IAAI6xC,EAAS,MAAQ3xC,UAAUF,GAAKE,UAAUF,GAAK,CAAC,EACpDA,EAAI,EAAIw0jB,GAAQx1jB,OAAO6yC,IAAS,GAAIniC,SAAQ,SAAU5O,GACpDiT,GAAgBlT,EAAQC,EAAK+wC,EAAO/wC,GACtC,IAAK9B,OAAO8nM,0BAA4B9nM,OAAOi6gB,iBAAiBp4gB,EAAQ7B,OAAO8nM,0BAA0Bj1J,IAAW2ihB,GAAQx1jB,OAAO6yC,IAASniC,SAAQ,SAAU5O,GAC5J9B,OAAOqC,eAAeR,EAAQC,EAAK9B,OAAOkC,yBAAyB2wC,EAAQ/wC,GAC7E,GACF,CAEA,OAAOD,CACT,CAEA,SAAS0woB,GAAQpqnB,GAGf,OAAOoqnB,GAAU,mBAAqB/toB,QAAU,iBAAmBA,OAAOC,SAAW,SAAU0jB,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqB3jB,QAAU2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAC1H,EAAGoqnB,GAAQpqnB,EACb,CAEA,SAASpT,GAAgBoT,EAAKrmB,EAAKwB,GAYjC,OAXIxB,KAAOqmB,EACTnoB,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CAC9BwB,MAAOA,EACP+G,YAAY,EACZ29C,cAAc,EACdC,UAAU,IAGZ9/B,EAAIrmB,GAAOwB,EAGN6kB,CACT,CAiBA,SAASksuB,GAAyBxhtB,EAAQywmB,GACxC,GAAc,MAAVzwmB,EAAgB,MAAO,CAAC,EAE5B,IAEI/wC,EAAKd,EAFLa,EAlBN,SAAuCgxC,EAAQywmB,GAC7C,GAAc,MAAVzwmB,EAAgB,MAAO,CAAC,EAC5B,IAEI/wC,EAAKd,EAFLa,EAAS,CAAC,EACV0hpB,EAAavjpB,OAAOgR,KAAK6hC,GAG7B,IAAK7xC,EAAI,EAAGA,EAAIuipB,EAAWpipB,OAAQH,IACjCc,EAAMyhpB,EAAWvipB,GACbsipB,EAAS9hpB,QAAQM,IAAQ,IAC7BD,EAAOC,GAAO+wC,EAAO/wC,IAGvB,OAAOD,CACT,CAKeurB,CAA8BylB,EAAQywmB,GAInD,GAAItjpB,OAAOyB,sBAAuB,CAChC,IAAI2xvB,EAAmBpzvB,OAAOyB,sBAAsBoxC,GAEpD,IAAK7xC,EAAI,EAAGA,EAAIoyvB,EAAiBjyvB,OAAQH,IACvCc,EAAMsxvB,EAAiBpyvB,GACnBsipB,EAAS9hpB,QAAQM,IAAQ,GACxB9B,OAAOU,UAAUgB,qBAAqBN,KAAKyxC,EAAQ/wC,KACxDD,EAAOC,GAAO+wC,EAAO/wC,GAEzB,CAEA,OAAOD,CACT,CAEA,SAAS63B,GAAmB+lB,GAC1B,OAGF,SAA4BA,GAC1B,GAAIt/C,MAAMkoB,QAAQo3B,GAAM,OAAO6zlB,GAAkB7zlB,EACnD,CALS8ptB,CAAmB9ptB,IAO5B,SAA0B27F,GACxB,GAAsB,qBAAX52I,QAAmD,MAAzB42I,EAAK52I,OAAOC,WAA2C,MAAtB22I,EAAK,cAAuB,OAAOj7I,MAAM2K,KAAKswI,EACtH,CAToCounB,CAAiB/ptB,IAWrD,SAAqCz6C,EAAGquoB,GACtC,IAAKruoB,EAAG,OACR,GAAiB,kBAANA,EAAgB,OAAOsuoB,GAAkBtuoB,EAAGquoB,GACvD,IAAIpyoB,EAAIjB,OAAOU,UAAUsP,SAAS5O,KAAK4D,GAAG2Y,MAAM,GAAI,GAC1C,WAAN1c,GAAkB+D,EAAEvE,cAAaQ,EAAI+D,EAAEvE,YAAY8G,MACvD,GAAU,QAANtG,GAAqB,QAANA,EAAa,OAAOd,MAAM2K,KAAK9F,GAClD,GAAU,cAAN/D,GAAqB,2CAA2CkhC,KAAKlhC,GAAI,OAAOqyoB,GAAkBtuoB,EAAGquoB,EAC3G,CAlB6DE,CAA4B9zlB,IA4BzF,WACE,MAAM,IAAI76C,UAAU,uIACtB,CA9BiG6kwB,EACjG,CAmBA,SAASn2H,GAAkB7zlB,EAAKxwC,IACnB,MAAPA,GAAeA,EAAMwwC,EAAIt+C,UAAQ8N,EAAMwwC,EAAIt+C,QAE/C,IAAK,IAAIH,EAAI,EAAGyyoB,EAAO,IAAItzoB,MAAM8O,GAAMjO,EAAIiO,EAAKjO,IAAKyyoB,EAAKzyoB,GAAKy+C,EAAIz+C,GAEnE,OAAOyyoB,CACT,CAmEA,SAASxxgB,GAAS75G,GAChB,OAPoBD,EAOHC,GANjBD,GAAY,KAEGA,EAKNC,GAITA,EAASA,EAAOvN,QAAQ,iBAAiB,SAAUuH,EAAOyzK,GACxD,OAAOA,EAAMA,EAAIzjJ,cAAgB,EACnC,KAEc50B,OAAO,EAAG,GAAG1C,cAAgBsN,EAAO5K,OAAO,GAhB3D,IAAsB2K,CAiBtB,CAEA,IAAIyC,GAAY,CAAC,SAqEjB,IAAI2gvB,IAAa,EAEjB,IACEA,IAAa3hwB,CACf,CAAE,MAAOrI,IAAI,CAUb,SAASi/wB,GAAkBv0vB,GAGzB,OAAIA,GAA0B,WAAlBsmnB,GAAQtmnB,IAAsBA,EAAKjK,QAAUiK,EAAKmkvB,UAAYnkvB,EAAKA,KACtEA,EAGL/L,GAAAA,KACKA,GAAAA,KAAW+L,GAIP,OAATA,EACK,KAILA,GAA0B,WAAlBsmnB,GAAQtmnB,IAAsBA,EAAKjK,QAAUiK,EAAKmkvB,SACrDnkvB,EAIL9rB,MAAMkoB,QAAQ4D,IAAyB,IAAhBA,EAAK9qB,OAEvB,CACL6gB,OAAQiK,EAAK,GACbmkvB,SAAUnkvB,EAAK,IAKC,kBAATA,EACF,CACLjK,OAAQ,MACRouvB,SAAUnkvB,QAHd,CAMF,CAKA,SAASw0vB,GAAc3+wB,EAAKwB,GAK1B,OAAOnD,MAAMkoB,QAAQ/kB,IAAUA,EAAMnC,OAAS,IAAMhB,MAAMkoB,QAAQ/kB,IAAUA,EAAQyR,GAAgB,CAAC,EAAGjT,EAAKwB,GAAS,CAAC,CACzH,CAEA,IAAIo9wB,GAA+B78vB,EAAAA,YAAiB,SAAU/R,EAAOmG,GACnE,IAAI0owB,EAAW7uwB,EAAMma,KACjB20vB,EAAW9uwB,EAAM69e,KACjBh0U,EAAS7pK,EAAM6pK,OACftoK,EAAYvB,EAAMuB,UAClB65L,EAAQp7L,EAAMo7L,MACd8nkB,EAAUljwB,EAAMkjwB,QAChBD,EAASjjwB,EAAMijwB,OACfd,EAAauM,GAAkBG,GAC/B3jvB,EAAUyjvB,GAAc,UAAW,GAAGlhxB,OAAOm6B,GAvNnD,SAAmB5nB,GACjB,IAAI+uwB,EAEAC,EAAOhvwB,EAAMgvwB,KACbngrB,EAAO7uF,EAAM6uF,KACbogrB,EAAWjvwB,EAAMivwB,SACjBj7S,EAASh0d,EAAMg0d,OACfk7S,EAAQlvwB,EAAMkvwB,MACdC,EAAQnvwB,EAAMmvwB,MACdC,EAAOpvwB,EAAMovwB,KACbC,EAAYrvwB,EAAMqvwB,UAClBC,EAActvwB,EAAMsvwB,YACpBC,EAAQvvwB,EAAMuvwB,MACdC,EAAaxvwB,EAAMwvwB,WACnBh8L,EAAUxzkB,EAAMwzkB,QAChBl6iB,EAASt5B,EAAMs5B,OACfm2uB,EAAWzvwB,EAAMyvwB,SACjBr8qB,EAAOpzF,EAAMozF,KACb/jF,EAAOrP,EAAMqP,KACbqgwB,EAAW1vwB,EAAM0vwB,SACjB5qI,EAAO9koB,EAAM8koB,KAEb55mB,GAkBDjoB,GAlBY8rwB,EAAW,CACxB,UAAWC,EACX,UAAWngrB,EACX,eAAgBogrB,EAChB,YAAaj7S,EACb,WAAYk7S,EACZ,WAAYC,EACZ,UAAWC,EACX,kBAAmBE,EACnB,gBAAiBD,EACjB,WAAYE,EACZ,QAASC,EACT,aAAch8L,EACd,YAAal6iB,EACb,QAASm2uB,EACT,WAAoB,IAATr8qB,EACX,qBAA+B,eAATA,GAAkC,SAATA,EAC/C,mBAA6B,aAATA,GAAgC,SAATA,GAChB,MAAM3lG,OAAO4hB,GAAuB,qBAATA,GAAiC,OAATA,GAAgBpM,GAAgB8rwB,EAAU,aAAathxB,OAAOiixB,GAA+B,qBAAbA,GAAyC,OAAbA,GAAkC,IAAbA,GAAiBzswB,GAAgB8rwB,EAAU,WAAWthxB,OAAOq3oB,GAAuB,qBAATA,GAAiC,OAATA,GAAgB7hoB,GAAgB8rwB,EAAU,kBAAmB/uwB,EAAM2vwB,aAAcZ,GAGrY,OAAO7gxB,OAAOgR,KAAKgsB,GAAS39B,KAAI,SAAUyC,GACxC,OAAOk7B,EAAQl7B,GAAOA,EAAM,IAC9B,IAAG0R,QAAO,SAAU1R,GAClB,OAAOA,CACT,GACF,CAuKsEuS,CAAUvC,IAAS4nB,GAAmBrmB,EAAUC,MAAM,QACtHo1B,EAAY+3uB,GAAc,YAAwC,kBAApB3uwB,EAAM42B,UAAyBxoB,GAAAA,UAAgBpO,EAAM42B,WAAa52B,EAAM42B,WACtHind,EAAO8wR,GAAc,OAAQD,GAAkBI,IAC/Cc,EAAez1vB,GAAKgovB,EAAYxuH,GAAeA,GAAeA,GAAeA,GAAe,CAAC,EAAGzonB,GAAU0L,GAAYind,GAAO,CAAC,EAAG,CACnIh0U,OAAQA,EACRuxB,MAAOA,EACP8nkB,QAASA,EACTD,OAAQA,KAGV,IAAK2M,EAEH,OA/EJ,WAEI,IAAIC,GADDpW,IAAcvrtB,SAAoC,oBAAlBA,QAAQz6C,QAG1Co8wB,EAAW3huB,SAASz6C,MAAMlE,MAAMsgxB,EAAUzgxB,UAE/C,CAwEIs2H,CAAI,sBAAuBy8oB,GACpB,KAGT,IAAI3nqB,EAAWo1qB,EAAap1qB,SACxBs1qB,EAAa,CACf3pwB,IAAKA,GAQP,OANAjY,OAAOgR,KAAKc,GAAOpB,SAAQ,SAAU5O,GAE9B4+wB,GAAgBxmvB,aAAa75B,eAAeyB,KAC/C8/wB,EAAW9/wB,GAAOgQ,EAAMhQ,GAE5B,IACO+/wB,GAAav1qB,EAAS,GAAIs1qB,EACnC,IACAlB,GAAgB/ivB,YAAc,kBAC9B+ivB,GAAgBh2uB,UAAY,CAC1Bo2uB,KAAM18sB,IAAAA,KACNh5B,OAAQg5B,IAAAA,KACR28sB,SAAU38sB,IAAAA,KACV0ha,OAAQ1ha,IAAAA,KACR/wD,UAAW+wD,IAAAA,OACXu8B,KAAMv8B,IAAAA,KACN68sB,MAAO78sB,IAAAA,KACPurb,KAAMvrb,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,MAAiBA,IAAAA,SAC9D2wsB,OAAQ3wsB,IAAAA,OACRk9sB,WAAYl9sB,IAAAA,KACZkhhB,QAASlhhB,IAAAA,KACT8gC,KAAM9gC,IAAAA,MAAgB,EAAC,GAAM,EAAO,aAAc,WAAY,SAC9Dn4C,KAAMm4C,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,MAAiBA,IAAAA,SAC9Dm9sB,SAAUn9sB,IAAAA,KACVwykB,KAAMxykB,IAAAA,MAAgB,CAAC,QAAS,SAChCi9sB,MAAOj9sB,IAAAA,KACPo9sB,SAAUp9sB,IAAAA,MAAgB,CAAC,EAAG,GAAI,IAAK,MACvC48sB,MAAO58sB,IAAAA,KACPjjD,KAAMijD,IAAAA,MAAgB,CAAC,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACnH88sB,KAAM98sB,IAAAA,KACN+8sB,UAAW/8sB,IAAAA,KACXg9sB,YAAah9sB,IAAAA,KACbu3G,OAAQv3G,IAAAA,UAAoB,CAACA,IAAAA,KAAgBA,IAAAA,SAC7C8oI,MAAO9oI,IAAAA,OACP4wsB,QAAS5wsB,IAAAA,OACT17B,UAAW07B,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,SAClDq9sB,YAAar9sB,IAAAA,MAEfs8sB,GAAgBxmvB,aAAe,CAC7BkR,QAAQ,EACR/3B,UAAW,GACXs8e,KAAM,KACNolR,OAAQ,KACRuM,YAAY,EACZh8L,SAAS,EACTpgf,MAAM,EACNj5E,KAAM,KACNs1vB,UAAU,EACV3qI,KAAM,KACNyqI,OAAO,EACPG,SAAU,KACVrgwB,KAAM,KACN+/vB,MAAM,EACNC,WAAW,EACXC,aAAa,EACbN,MAAM,EACNngrB,MAAM,EACNogrB,UAAU,EACVj7S,QAAQ,EACRk7S,OAAO,EACPrlmB,QAAQ,EACRuxB,MAAO,GACP8nkB,QAAS,KACTtsuB,UAAW,KACX+4uB,aAAa,GAEf,IAAII,GA/MJ,SAAS57K,EAAQ/vlB,EAAe8J,GAC9B,IAAI4hwB,EAAa1gxB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEtF,GAAuB,kBAAZ8e,EACT,OAAOA,EAGT,IAAIhL,GAAYgL,EAAQhL,UAAY,IAAI3V,KAAI,SAAUiY,GACpD,OAAO2ulB,EAAQ/vlB,EAAeoB,EAChC,IAGI0S,EAAShqB,OAAOgR,KAAKgP,EAAQoiG,YAAc,CAAC,GAAGlnG,QAAO,SAAUC,EAAKrZ,GACvE,IAAI4kC,EAAM1mB,EAAQoiG,WAAWtgH,GAE7B,OAAQA,GACN,IAAK,QACHqZ,EAAI6oG,MAAiB,UAAIt9E,SAClB1mB,EAAQoiG,WAAkB,MACjC,MAEF,IAAK,QACHjnG,EAAI6oG,MAAa,MAAkBt9E,EAnC5BpzB,MAAM,KAAKjU,KAAI,SAAU0B,GACpC,OAAOA,EAAEkc,MACX,IAAGzJ,QAAO,SAAUzS,GAClB,OAAOA,CACT,IAAGma,QAAO,SAAUC,EAAKo6C,GACvB,IAVgB7uB,EAUZ1lC,EAAIu0D,EAAK/zD,QAAQ,KACjB40B,EAAO6rG,GAAS1sE,EAAK53C,MAAM,EAAG3c,IAC9BsC,EAAQiyD,EAAK53C,MAAM3c,EAAI,GAAGic,OAE9B,OADAmZ,EAAKw9C,WAAW,UAAYz4D,GAbZurB,EAa2BtQ,EAZtCsQ,EAAIf,OAAO,GAAGyM,cAAgB1L,EAAI/oB,MAAM,KAYOra,EAAQ6X,EAAIib,GAAQ9yB,EACjE6X,CACT,GAAG,CAAC,GA0BE,MAEF,QAC+B,IAAzBrZ,EAAIN,QAAQ,UAA2C,IAAzBM,EAAIN,QAAQ,SAC5C2Z,EAAI6oG,MAAMliH,EAAIgZ,eAAiB4rB,EAE/BvrB,EAAI6oG,MAAMie,GAASngI,IAAQ4kC,EAKjC,OAAOvrB,CACT,GAAG,CACD6oG,MAAO,CAAC,IAGN89pB,EAAoBF,EAAWnnwB,MAC/BsnwB,OAAsC,IAAtBD,EAA+B,CAAC,EAAIA,EACpDp1tB,EAAY2nsB,GAAyButB,EAAYh3vB,IAKrD,OAHAZ,EAAOg6F,MAAa,MAAIyhiB,GAAeA,GAAe,CAAC,EAAGz7nB,EAAOg6F,MAAa,OAAI+9pB,GAG3E7rwB,EAAc7U,WAAM,EAAQ,CAAC2e,EAAQtE,IAAK+poB,GAAeA,GAAe,CAAC,EAAGz7nB,EAAOg6F,OAAQt3D,IAAYntD,OAAOm6B,GAAmB1kB,IAC1I,EAgK2BgvB,KAAK,KAAMngB,EAAAA,eCjUlCm+vB,GAAa,CACfhgwB,OAAQ,MACRouvB,SAAU,YACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,MAAO,aAAc,OAAQ,4eAE7Cg2vB,GAAaD,GAsGbE,GAAc,CAChBlgwB,OAAQ,MACRouvB,SAAU,aACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,OAAQ,OAAQ,MAAO,WAAY,aAAc,OAAQ,2XAEzEk2vB,GAAYD,GAgJZE,GAAqB,CACvBpgwB,OAAQ,MACRouvB,SAAU,qBACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,gBAAiB,OAAQ,scAEzCo2vB,GAAeD,GAkgBfE,GAAW,CACbtgwB,OAAQ,MACRouvB,SAAU,SACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,KAAM,MAAO,cAAe,OAAQ,4mBAEpDs2vB,GAAcD,GA2/CdE,GAAU,CACZxgwB,OAAQ,MACRouvB,SAAU,QACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,8lBAkqC3Bw2vB,GAAQ,CACVzgwB,OAAQ,MACRouvB,SAAU,MACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,6SA8PjCy2vB,GAAQ,CACV1gwB,OAAQ,MACRouvB,SAAU,MACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,2LAkCjC02vB,GAAkB,CACpB3gwB,OAAQ,MACRouvB,SAAU,iBACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,+jDAyY3B22vB,GAAmB,CACrB5gwB,OAAQ,MACRouvB,SAAU,mBACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,eAAgB,OAAQ,scAExC42vB,GAAcD,GAywBdE,GAAY,CACd9gwB,OAAQ,MACRouvB,SAAU,UACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,w5CA83C3B82vB,GAAiB,CACnB/gwB,OAAQ,MACRouvB,SAAU,gBACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,OAAQ,UAAW,QAAS,OAAQ,ivBA4gBpD+2vB,GAAW,CACbhhwB,OAAQ,MACRouvB,SAAU,SACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,0NAmhC3Bg3vB,GAAW,CACbjhwB,OAAQ,MACRouvB,SAAU,SACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,ocAmjBjCi3vB,GAAe,CACjBlhwB,OAAQ,MACRouvB,SAAU,cACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,OAAQ,OAAQ,QAAS,OAAQ,6SAEjDk3vB,GAASD,GAqhBTE,GAAU,CACZphwB,OAAQ,MACRouvB,SAAU,QACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,mQAyf3Bo3vB,GAAQ,CACVrhwB,OAAQ,MACRouvB,SAAU,MACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,4MAoiBjCq3vB,GAAoB,CACtBthwB,OAAQ,MACRouvB,SAAU,oBACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,KAAM,oBAAqB,oBAAqB,wBAAyB,QAAS,OAAQ,qUAg4C1Gs3vB,GAAU,CACZvhwB,OAAQ,MACRouvB,SAAU,QACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,OAAQ,MAAO,MAAO,OAAQ,WAAY,eAAgB,OAAQ,0cAElFu3vB,GAASD,GA8gCTE,GAAgB,CAClBzhwB,OAAQ,MACRouvB,SAAU,eACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,kBAAmB,OAAQ,6KAQ3Cy3vB,GAAgB,CAClB1hwB,OAAQ,MACRouvB,SAAU,gBACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,YAAa,OAAQ,iuBA8zBrC03vB,GAAe,CACjB3hwB,OAAQ,MACRouvB,SAAU,cACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,MAAO,eAAgB,OAAQ,yNAqtE/C23vB,GAAa,CACf5hwB,OAAQ,MACRouvB,SAAU,YACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,0WC/5a3B43vB,GAAS,CACX7hwB,OAAQ,MACRouvB,SAAU,OACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,gBAAiB,OAAQ,CAAC,wRAAyR,iUA47CnU63vB,GAAS,CACX9hwB,OAAQ,MACRouvB,SAAU,OACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,OAAQ,OAAQ,OAAQ,CAAC,oDAAqD,sIAuE9Fw2vB,GAAQ,CACVzgwB,OAAQ,MACRouvB,SAAU,MACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,CAAC,sMAAuM,4LA8PzOy2vB,GAAQ,CACV1gwB,OAAQ,MACRouvB,SAAU,MACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,CAAC,sHAAuH,uFA8qLzJo3vB,GAAQ,CACVrhwB,OAAQ,MACRouvB,SAAU,MACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,QAAS,OAAQ,CAAC,0MAA2M,MA07F7Ow3vB,GAAgB,CAClBzhwB,OAAQ,MACRouvB,SAAU,eACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,kBAAmB,OAAQ,CAAC,2KAA4K,iDAQxNy3vB,GAAgB,CAClB1hwB,OAAQ,MACRouvB,SAAU,gBACVnkvB,KAAM,CAAC,IAAK,IAAK,CAAC,YAAa,OAAQ,CAAC,wQAAyQ,meAshG/S23vB,GAAa,CACf5hwB,OAAQ,MACRouvB,SAAU,YACVnkvB,KAAM,CAAC,IAAK,IAAK,GAAI,OAAQ,CAAC,sLAAuL,0LC74ehN,IAAIrrB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CCvFA,IAAI7E,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EACtEP,GAAcC,EAAGC,EAC5B,ECbO,IAAMo4C,GAA6B,CACzCs1iB,UAAW,oBACXs2L,gBAAiB,QACjBC,YAAa,KACbC,WAAY,OACZC,gBAAiB,EACjBC,iBAAkB,GAGlB7igB,SAAS,IAAIyra,IAAgB1ra,cAOxB,SAAU+igB,GAAcxpwB,GAC7B,IAAI+0C,EAAc,EAClBA,EAAM/0C,EAAIzZ,OAEV,IAAK,IAAIH,EAAI4Z,EAAIzZ,OAAQH,GAAK,EAAGA,GAAK,EAAG,CACxC,IAAMu0H,EAAmB36G,EAAI1L,WAAWlO,GACpCu0H,EAAW,KAAQA,GAAY,KAClC5lE,GAAO,EACG4lE,EAAW,MAASA,GAAY,QAC1C5lE,GAAO,GAGJ4lE,GAAY,OAAUA,GAAY,QACrCv0H,GAAK,GAIP,OAAO2uD,CACR,CAKM,SAAU00tB,KAEf,OADiB,IAAI/luB,MACL06E,SACjB,CAKM,SAAUsrpB,GAAUhhxB,GACzB,OAAIgX,OAAOgqwB,UACHhqwB,OAAOgqwB,UAAUhhxB,GAM1B,SAAoBA,GACnB,MACkB,kBAAVA,GAAsBmsD,SAASnsD,IAAUwI,KAAKC,MAAMzI,KAAWA,CAExE,CAPQihxB,CAAWjhxB,EACnB,CAWA,IAAIs/I,GAAQ,CAAC,EChEPrrB,IDiEN,oBAAAitpB,IAgBA,CAfQA,EAAAxmvB,MAAP,WACC4kH,GAAQ,CAAC,CACV,EAEO4hoB,EAAApyqB,QAAP,SAAetwG,GACd,OAAO8gJ,GAAM9gJ,IAAQ,IACtB,EAEO0ixB,EAAA3igB,QAAP,SAAe//Q,EAAawB,GAC3Bs/I,GAAM9gJ,GAAOwB,CACd,EAEOkhxB,EAAArlhB,WAAP,SAAkBr9P,UACV8gJ,GAAM9gJ,EACd,CACD,CAhBA,GCjEe,IAAI6prB,GAAO,iBAM1B84F,GAAA,WAQC,SAAAA,EAAY9zuB,GACXnwC,KAAKmwC,OAAS3wC,OAAOa,OAAO,CAAC,EAAG8vC,GAChCnwC,KAAKkkxB,gBAAkBlkxB,KAAKmwC,OAAO88iB,UAAY,UAC/CjtlB,KAAKm+tB,aACN,CAqHD,OAnHQ8lD,EAAA/jxB,UAAAuwrB,cAAP,WACC,MAAO,OACR,EAEQwzF,EAAA/jxB,UAAAi+tB,YAAR,WAEM2lD,GAAU9jxB,KAAKmwC,OAAOozuB,mBAC1BxspB,GAAOhyH,MACN,yFAED/E,KAAKmwC,OAAOozuB,gBAAkB5ruB,GAAc4ruB,iBAGxCO,GAAU9jxB,KAAKmwC,OAAOqzuB,eAC1BzspB,GAAOhyH,MACN,qFAED/E,KAAKmwC,OAAOqzuB,YAAc7ruB,GAAc6ruB,aAGpCM,GAAU9jxB,KAAKmwC,OAAOszuB,cAC1B1spB,GAAOhyH,MACN,oFAED/E,KAAKmwC,OAAOszuB,WAAa9ruB,GAAc8ruB,YAGnCK,GAAU9jxB,KAAKmwC,OAAOuzuB,mBAC1B3spB,GAAOhyH,MACN,yFAED/E,KAAKmwC,OAAOuzuB,gBAAkB/ruB,GAAc+ruB,iBAGzC1jxB,KAAKmwC,OAAOqzuB,YAAcxjxB,KAAKmwC,OAAOozuB,kBACzCxspB,GAAOhyH,MACN,uGAED/E,KAAKmwC,OAAOqzuB,YAAc7ruB,GAAc6ruB,cAGrCxjxB,KAAKmwC,OAAOuzuB,gBAAkB,GAAK1jxB,KAAKmwC,OAAOuzuB,gBAAkB,KACpE3spB,GAAOhyH,MACN,8FAED/E,KAAKmwC,OAAOuzuB,gBAAkB/ruB,GAAc+ruB,kBAI5C5pwB,OAAO9Z,KAAKmwC,OAAOwzuB,kBAAoB,GACvC7pwB,OAAO9Z,KAAKmwC,OAAOwzuB,kBAAoB,KAEvC5spB,GAAOhyH,MACN,+FAED/E,KAAKmwC,OAAOwzuB,iBAAmBhsuB,GAAcgsuB,kBAI1C3jxB,KAAKmwC,OAAOozuB,gBADW,UAE1BxspB,GAAOhyH,MACN,6FAED/E,KAAKmwC,OAAOozuB,gBAAkB5ruB,GAAc4ruB,gBAE9C,EASUU,EAAA/jxB,UAAAikxB,cAAV,SACC7ixB,EACAwB,EACAkY,GAEA,IAAMm0C,EAAiB,CACtB7tD,IAAGA,EACHyG,KAAMjF,EACN8nrB,UAAWi5F,KACXO,YAAaP,KACbx4P,SAAUrwgB,EAAQqwgB,SAClB5te,QAASziC,EAAQyiC,QACjBjmC,YAAa1U,EACbuhxB,SAAU,GAOX,OAJAl1tB,EAAIk1tB,SAAWT,GAAcr1vB,KAAKhP,UAAU4vC,IAG5CA,EAAIk1tB,SAAWT,GAAcr1vB,KAAKhP,UAAU4vC,IACrCA,CACR,EAQO80tB,EAAA/jxB,UAAA++B,UAAP,SAAiBkR,GAChB,OAAKA,GAGDA,EAAO88iB,WACVl2d,GAAOt3E,KAAK,qCAGbz/C,KAAKmwC,OAAS3wC,OAAOa,OAAO,CAAC,EAAGL,KAAKmwC,OAAQA,EAAQA,EAAOk1hB,OAC5DrlkB,KAAKm+tB,cACEn+tB,KAAKmwC,QARJnwC,KAAKmwC,MASd,EACD8zuB,CAAA,CAjIA,GCNMltpB,GAAS,IAAIo0jB,GAAO,SAK1Bm5F,GAAA,SAAAxzwB,GAKC,SAAAwzwB,EAAYn0uB,GAAZ,IAAAjnC,EAAA,KACOq7wB,EAAcp0uB,EACjB3wC,OAAOa,OAAO,CAAC,EAAGs3C,GAAexH,GACjCwH,UACHzuC,EAAA4H,EAAAlQ,KAAA,KAAM2jxB,IAAY,MACbp0uB,OAAO2wO,QAAUyjgB,EAAYzjgB,QAClC53Q,EAAK0oG,QAAU1oG,EAAK0oG,QAAQpuE,KAAKt6B,GACjCA,EAAKm4Q,QAAUn4Q,EAAKm4Q,QAAQ79O,KAAKt6B,GACjCA,EAAKy1P,WAAaz1P,EAAKy1P,WAAWn7N,KAAKt6B,IACxC,CA2cD,OH/cO,SAAmB5J,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,CGd8CD,CAAAwkxB,EAAAxzwB,GAsBrCwzwB,EAAApkxB,UAAAskxB,wBAAR,SAAgCC,GAC/B,IAAMC,EAAkB1kxB,KAAK2kxB,kBAC7B3kxB,KAAKmwC,OAAO2wO,QAAQO,QACnBrhR,KAAKkkxB,iBACJQ,EAAUD,GAAQj1wB,WAErB,EAQQ80wB,EAAApkxB,UAAA0kxB,wBAAR,SAAgCH,GAC/B,IAAMC,EAAkB1kxB,KAAK2kxB,kBAC7B3kxB,KAAKmwC,OAAO2wO,QAAQO,QACnBrhR,KAAKkkxB,iBACJQ,EAAUD,GAAQj1wB,WAErB,EAWQ80wB,EAAApkxB,UAAAuhN,aAAR,SAAqBroM,EAAiByrwB,GAGrC,OAFAzrwB,EAAKgrwB,YAAcP,KACnB7jxB,KAAKmwC,OAAO2wO,QAAQO,QAAQwjgB,EAAat2vB,KAAKhP,UAAUnG,IACjDA,CACR,EAUQkrwB,EAAApkxB,UAAAwwsB,WAAR,SAAmBpvsB,GAClB,IAAM+V,EAAsBrX,KAAKmwC,OAAO2wO,QAAQlvK,QAAQtwG,GAClD8X,EAAkBmV,KAAK7O,MAAMrI,GACnC,OAAIwswB,MAAiBzqwB,EAAKqkC,OAI3B,EASQ6muB,EAAApkxB,UAAA4kxB,YAAR,SAAoBD,EAAqBlkwB,GACxC,IAAM65S,EAAmB75S,GAEtB4N,KAAK7O,MAAM1f,KAAKmwC,OAAO2wO,QAAQlvK,QAAQizqB,IAAcR,SACxDrkxB,KAAKwkxB,wBAAwBhqd,GAE7Bx6T,KAAKmwC,OAAO2wO,QAAQniB,WAAWkmhB,EAChC,EAUQP,EAAApkxB,UAAA6kxB,SAAR,SAAiBF,EAAqBzrwB,GAErCpZ,KAAK4kxB,wBAAwBxrwB,EAAKirwB,UAElC,IACCrkxB,KAAKmwC,OAAO2wO,QAAQO,QAAQwjgB,EAAat2vB,KAAKhP,UAAUnG,IACvD,MAAO4rwB,GAERhlxB,KAAKwkxB,wBAAwBprwB,EAAKirwB,UAClCttpB,GAAOhyH,MAAM,sBAAsBigxB,GAErC,EAUQV,EAAApkxB,UAAA+kxB,WAAR,SAAmBzqd,GAClB,IAAM0qd,EACLllxB,KAAK2kxB,kBAAoBnqd,EAAWx6T,KAAKmwC,OAAOozuB,gBAC3C4B,GACJ,EAAInlxB,KAAKmwC,OAAOwzuB,kBAAoB3jxB,KAAKmwC,OAAOozuB,gBAClD,OAAO2B,EAAgBC,EACpBD,EACAC,CACJ,EAUQb,EAAApkxB,UAAAklxB,aAAR,SAAqB5qd,GACpB,OAAOA,EAAWx6T,KAAK2kxB,kBAAoB3kxB,KAAKmwC,OAAOozuB,eACxD,EAUQe,EAAApkxB,UAAAmlxB,eAAR,WAIC,IAHA,IAAM70wB,EAAiB,GACjB80wB,EAAuB,GAEpB9kxB,EAAI,EAAGA,EAAIR,KAAKmwC,OAAO2wO,QAAQngR,OAAQH,GAAK,EACpD8kxB,EAAWhhxB,KAAKtE,KAAKmwC,OAAO2wO,QAAQx/Q,IAAId,IAIzC,IAASA,EAAI,EAAGA,EAAI8kxB,EAAW3kxB,OAAQH,GAAK,EAAG,CAC9C,IAAMc,EAAcgkxB,EAAW9kxB,GAES,IAAvCc,EAAIN,QAAQhB,KAAKmwC,OAAO88iB,YACxB3rlB,IAAQtB,KAAKkkxB,kBAETlkxB,KAAK0wsB,WAAWpvsB,GACnBtB,KAAK8kxB,YAAYxjxB,GAEjBkP,EAAKlM,KAAKhD,IAIb,OAAOkP,CACR,EAWQ8zwB,EAAApkxB,UAAAqlxB,aAAR,SAAqB/0wB,EAAgBg1wB,GAIpC,IAHA,IAAMp+rB,EAAqB,GACvBq+rB,EAAuBD,EAElBhlxB,EAAI,EAAGA,EAAIgQ,EAAK7P,OAAQH,GAAK,EAAG,CACxC,IAAM0lC,EAAqBlmC,KAAKmwC,OAAO2wO,QAAQlvK,QAAQphG,EAAKhQ,IAC5D,GAAW,MAAP0lC,EAAa,CAChB,IAAM9sB,EAAkBmV,KAAK7O,MAAMwmB,GACnCkhD,EAAM9iF,KAAK8U,IAMbguE,EAAM3xD,MAAK,SAACtwB,EAAG5F,GACd,OAAI4F,EAAEkmhB,SAAW9rhB,EAAE8rhB,UACV,EACElmhB,EAAEkmhB,SAAW9rhB,EAAE8rhB,SAClB,EAEHlmhB,EAAEi/wB,YAAc7kxB,EAAE6kxB,aACb,EACK,CAEhB,IAEA,IAAS5jxB,EAAI,EAAGA,EAAI4mF,EAAMzmF,OAAQH,GAAK,EAItC,GAFAR,KAAK8kxB,YAAY19rB,EAAM5mF,GAAGc,IAAK8lF,EAAM5mF,GAAG6jxB,WACxCoB,GAAgBr+rB,EAAM5mF,GAAG6jxB,WACL,EACnB,MAGH,EAkBOC,EAAApkxB,UAAAmhR,QAAP,SACC//Q,EACAwB,EACAkY,GAEA+7G,GAAOC,IACN,oBAAoB11H,EAAG,cAAcwB,EAAK,kBAAkBkY,GAE7D,IAAM6pwB,EAAsB7kxB,KAAKmwC,OAAO88iB,UAAY3rlB,EAEpD,GACCujxB,IAAgB7kxB,KAAKmwC,OAAO88iB,WAC5B43L,IAAgB7kxB,KAAKkkxB,gBAMtB,GAAqB,qBAAVphxB,EAAX,CAKA,IAAM4ixB,EAAqC,CAC1Cr6P,SACCrwgB,QAAgCzc,IAArByc,EAAQqwgB,SAChBrwgB,EAAQqwgB,SACRrrhB,KAAKmwC,OAAOuzuB,gBAChBjmuB,QACCziC,QAA+Bzc,IAApByc,EAAQyiC,QAChBziC,EAAQyiC,QACRz9C,KAAKmwC,OAAOszuB,WAAaI,MAG9B,GAAI6B,EAAiBr6P,SAAW,GAAKq6P,EAAiBr6P,SAAW,EAChEt0Z,GAAOt3E,KACN,qFAFF,CAOA,IAAMrmC,EAAkBpZ,KAAKmkxB,cAC5BU,EACA/hxB,EACA4ixB,GAID,GAAItswB,EAAKirwB,SAAWrkxB,KAAKmwC,OAAOqzuB,YAC/BzspB,GAAOt3E,KACN,kBAAkBn+C,EAAG,gDAKvB,IAEC,IAAM4kC,EAAqBlmC,KAAKmwC,OAAO2wO,QAAQlvK,QAAQizqB,GAMvD,GALI3+uB,GACHlmC,KAAK8kxB,YAAYD,EAAat2vB,KAAK7O,MAAMwmB,GAAKm+uB,UAI3CrkxB,KAAKolxB,aAAahswB,EAAKirwB,UAAW,CACrC,IAAMsB,EAAsB3lxB,KAAKqlxB,iBAEjC,GAAIrlxB,KAAKolxB,aAAahswB,EAAKirwB,UAAW,CACrC,IAAMmB,EAAoBxlxB,KAAKilxB,WAAW7rwB,EAAKirwB,UAC/CrkxB,KAAKulxB,aAAaI,EAAWH,IAM/BxlxB,KAAK+kxB,SAASF,EAAazrwB,GAC1B,MAAOrY,IACRg2H,GAAOt3E,KAAK,mBAAmB1+C,WAzD/Bg2H,GAAOt3E,KAAK,mDALZs3E,GAAOt3E,KAAK,gDAgEd,EAiBO6kuB,EAAApkxB,UAAA0xG,QAAP,SAAetwG,EAAa0Z,GAC3B+7G,GAAOC,IAAI,oBAAoB11H,EAAG,iBAAiB0Z,GACnD,IAAIm0C,EAAqB,KACnB01tB,EAAsB7kxB,KAAKmwC,OAAO88iB,UAAY3rlB,EAEpD,GACCujxB,IAAgB7kxB,KAAKmwC,OAAO88iB,WAC5B43L,IAAgB7kxB,KAAKkkxB,gBAGrB,OADAntpB,GAAOt3E,KAAK,iDACL,KAGR,IAEC,GAAW,OADX0P,EAAMnvD,KAAKmwC,OAAO2wO,QAAQlvK,QAAQizqB,IACjB,CAChB,IAAI7kxB,KAAK0wsB,WAAWm0E,GAIb,CAEN,IAAIzrwB,EAAkBmV,KAAK7O,MAAMyvC,GAEjC,OADA/1C,EAAOpZ,KAAKyhN,aAAaroM,EAAMyrwB,IACnB98wB,KANZ/H,KAAK8kxB,YAAYD,EAAat2vB,KAAK7O,MAAMyvC,GAAKk1tB,UAC9Cl1tB,EAAM,KASR,GAAIn0C,QAAgCzc,IAArByc,EAAQ7K,SAAwB,CAC9C,IAAM+1B,EAA0ClrB,EAAQ7K,WAIxD,OAHY,OAAR+1B,GACHlmC,KAAKqhR,QAAQ//Q,EAAK4kC,EAAKlrB,GAEjBkrB,EAER,OAAO,KACN,MAAOnlC,IAER,OADAg2H,GAAOt3E,KAAK,mBAAmB1+C,IACxB,KAET,EAQOujxB,EAAApkxB,UAAAy+P,WAAP,SAAkBr9P,GACjBy1H,GAAOC,IAAI,uBAAuB11H,GAClC,IAAMujxB,EAAsB7kxB,KAAKmwC,OAAO88iB,UAAY3rlB,EAEpD,GACCujxB,IAAgB7kxB,KAAKmwC,OAAO88iB,WAC5B43L,IAAgB7kxB,KAAKkkxB,gBAKtB,IACC,IAAMh+uB,EAAqBlmC,KAAKmwC,OAAO2wO,QAAQlvK,QAAQizqB,GACnD3+uB,GACHlmC,KAAK8kxB,YAAYD,EAAat2vB,KAAK7O,MAAMwmB,GAAKm+uB,UAE9C,MAAOtjxB,IACRg2H,GAAOt3E,KAAK,sBAAsB1+C,IAEpC,EAOOujxB,EAAApkxB,UAAAs9B,MAAP,WACCu5F,GAAOC,IAAI,eAGX,IAFA,IAAM4upB,EAAyB,GAEtBplxB,EAAI,EAAGA,EAAIR,KAAKmwC,OAAO2wO,QAAQngR,OAAQH,GAAK,EAAG,CACvD,IAAMc,EAAMtB,KAAKmwC,OAAO2wO,QAAQx/Q,IAAId,GACO,IAAvCc,EAAIN,QAAQhB,KAAKmwC,OAAO88iB,YAC3B24L,EAAathxB,KAAKhD,GAIpB,IACC,IAASd,EAAI,EAAGA,EAAIolxB,EAAajlxB,OAAQH,GAAK,EAC7CR,KAAKmwC,OAAO2wO,QAAQniB,WAAWinhB,EAAaplxB,IAE5C,MAAOO,IACRg2H,GAAOt3E,KAAK,iBAAiB1+C,IAE/B,EAOOujxB,EAAApkxB,UAAAwlmB,WAAP,WAEC,IADA,IAAMl1lB,EAAiB,GACdhQ,EAAI,EAAGA,EAAIR,KAAKmwC,OAAO2wO,QAAQngR,OAAQH,GAAK,EAAG,CACvD,IAAMc,EAAMtB,KAAKmwC,OAAO2wO,QAAQx/Q,IAAId,GAEI,IAAvCc,EAAIN,QAAQhB,KAAKmwC,OAAO88iB,YACxB3rlB,IAAQtB,KAAKkkxB,iBAEb1zwB,EAAKlM,KAAKhD,EAAIokC,UAAU1lC,KAAKmwC,OAAO88iB,UAAUtslB,SAGhD,OAAO6P,CACR,EAOO8zwB,EAAApkxB,UAAAykxB,gBAAP,WACC,IAAIx1tB,EAAqBnvD,KAAKmwC,OAAO2wO,QAAQlvK,QAAQ5xG,KAAKkkxB,iBAK1D,OAJK/0tB,IACJnvD,KAAKmwC,OAAO2wO,QAAQO,QAAQrhR,KAAKkkxB,gBAAiB,KAClD/0tB,EAAM,KAEAr1C,OAAOq1C,EACf,EAQOm1tB,EAAApkxB,UAAAw3C,eAAP,SAAsBvH,GAMrB,OALKA,EAAO88iB,WAAa98iB,EAAO88iB,YAAct1iB,GAAcs1iB,YAC3Dl2d,GAAOhyH,MAAM,uDACborC,EAAO88iB,UAAY42L,GAAYr0wB,YAGzB,IAAI80wB,EAAyBn0uB,EACrC,EACDm0uB,CAAA,CAzdA,CAA8CL,IA2djC4B,GAA8B,IAAIvB,GAE/C5zF,GAAAA,SAAiBm1F,IC7cV,IAAIzlxB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EAEO,SAASI,GAAOP,EAAGQ,GACtB,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CAiBO,SAAS+B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CC9FA,IAEa4hxB,GAAY,CAIxBC,YAAa,EAEbC,uBAAsB,WACrB,OAAIF,GAAUC,YACN,IAAIjouB,MAAK,IAAIA,MAAO06E,UAAYstpB,GAAUC,aAE1C,IAAIjouB,IAEb,EAKAmouB,eAAc,WACb,OAAOH,GAAUC,WAClB,EAEAG,wBAAA,SAAwBjmvB,GACvB,YADuB,IAAAA,IAAAA,EAAa6lvB,GAAUE,0BACvC/lvB,EAAKod,cAAchjC,QAAQ,iBAAkB,GACrD,EAEA8rwB,wBAAA,SAAwBz1T,GACjB,IAAAhyd,EAAAmG,GAAA6rd,EAAA9uc,MAAA,qDAAG6pE,EAAA/sF,EAAA,GAAMwhC,EAAAxhC,EAAA,GAAOktF,EAAAltF,EAAA,GAAKqtF,EAAArtF,EAAA,GAAMutF,EAAAvtF,EAAA,GAAQixE,EAAAjxE,EAAA,GAIzC,OAAO,IAAIo/C,KACVA,KAAK8+E,IACJ9iH,OAAO2xE,GACP3xE,OAAOomB,GAAS,EAChBpmB,OAAO8xE,GACP9xE,OAAOiyE,GACPjyE,OAAOmyE,GACPnyE,OAAO61D,IAGV,EAEAy2sB,cAAA,SAAcC,GAEb,OACC/6wB,KAAKkR,IACJ6pwB,EAAW7tpB,UAAYstpB,GAAUE,yBAAyBxtpB,YAhDnC,GAmD1B,EAEA6qkB,iBAAA,SAAiBt+rB,GAChB,IAAKA,EAAMywC,WAAazwC,EAAMywC,SAASnB,QACtC,OAAO,EAGA,IAAAA,EAAAtvC,EAAAywC,SAAAnB,QAER,OAAOj/B,QACN,CAAC,sBAAuB,6BAA6B45C,SACpD3a,EAAQ,uBAEPA,EAAQpU,MAAQoU,EAAQyJ,MAE5B,EAKAwouB,eAAA,SAAetmwB,GACd8lwB,GAAUC,YAAc/lwB,CACzB,GCpEYumwB,GAAmB,SAAClyuB,GAChC,OAAA70C,OAAOgR,KAAK6jC,GACVx1C,KAAI,SAAAyC,GAAO,OAAAA,EAAIgZ,aAAJ,IACXmb,OACAhmB,KAAK,IAHP,ECVY64rB,GAAuB,aAMvBE,GAAoB,uBAIpBg+E,GAAc,OACd99E,GAAkBJ,GAAqBhurB,cACvCwurB,GAAeN,GAAkBlurB,cAGjCqvrB,GAAsB,eACtB88E,GAA8B,mBCL9BC,GAAmB,SAAChoxB,OAChCu4oB,EAAAv4oB,EAAAu4oB,YACA5poB,EAAA3O,EAAA2ssB,YAAAA,OAAA,IAAAh+rB,EAAA,IAAAywC,KAAAzwC,EACAw4rB,EAAAnnsB,EAAAmnsB,cACAC,EAAApnsB,EAAAonsB,eAGQrI,EAAAxmD,EAAAwmD,YAAaC,EAAAzmD,EAAAymD,gBAAiBC,EAAA1mD,EAAA0mD,aAEhCtqoB,ECV0B,SAACpzB,GACjC,IAAMsrqB,EAAWtrqB,EAAKod,cAAchjC,QAAQ,iBAAkB,IAC9D,MAAO,CACNkxrB,SAAQA,EACRxB,UAAWwB,EAASpurB,MAAM,EAAG,GAE/B,CDIOwpwB,CAAAt7E,GAAEE,EAAAl4oB,EAAAk4oB,SAAUxB,EAAA12oB,EAAA02oB,UAOlB,MAAO,CACNtM,YAAWA,EACXsP,gBElBgC,SACjC9sqB,EACA2/pB,EACAjY,GACY,OAAG1npB,EAAI,IAAI2/pB,EAAM,IAAIjY,EAAO,IAAIgiB,EAAhC,CFOYi9E,CACvB78E,EACAlE,EACAC,GAKAyF,SAAQA,EACR7N,gBAAeA,EACfC,aAAYA,EACZoM,UAASA,EACTlE,cAAaA,EACbC,eAAcA,EAEhB,EG3Ba+gF,GAAgB,SAC5BvlxB,EACAyG,GAEA,IAAM6xiB,EAAS,IAAInyiB,GAAAA,OAAOnG,GAI1B,OAHAs4iB,EAAO9xiB,OAAOC,GAEK6xiB,EAAO5siB,YAE3B,EAWa85wB,GAAqB,SACjCxlxB,EACAyG,GAGA,OAAOqnD,GADYy3tB,GAAcvlxB,EAAKyG,GAEvC,ECzBaiisB,GAAsB,SAAC31pB,GACnC,OAAA70C,OAAOib,QAAQ45B,GACbx1C,KAAI,SAACH,SAAA2O,EAAAxI,GAAAnG,EAAA,GAAC4C,EAAA+L,EAAA,GAAKvK,EAAAuK,EAAA,GAAW,MAAC,CACvB/L,IAAKA,EAAIgZ,cACTxX,MAAwC,QAAnCuwD,EAAO,OAALvwD,QAAK,IAALA,OAAK,EAALA,EAAO2Z,OAAOpC,QAAQ,OAAQ,YAAG,IAAAg5C,EAAAA,EAAK,OAE7C59B,MAAK,SAACtwB,EAAG5F,GAAM,OAAC4F,EAAE7D,IAAM/B,EAAE+B,KAAO,EAAI,CAAtB,IACfzC,KAAI,SAAAwuH,GAAS,OAAGA,EAAM/rH,IAAG,IAAI+rH,EAAMvqH,MAAK,IAA3B,IACb2M,KAAK,GAPP,ECUK+wrB,GAAY,SAACl3K,GAClB,OAAA92e,mBAAmB82e,GAAKjvgB,QAAQ,WAAYomrB,GAA5C,EAEKA,GAAY,SAACj/rB,GAClB,UAAIA,EAAEkN,WAAW,GAAGc,SAAS,IAAIoiC,aAAjC,ECdYm1uB,GAAmB,SAACzjxB,GAEhC,OAAY,MAARA,EPOJ,mEOHI0jxB,GAAa1jxB,GACGwjxB,GAAmB,KAAMxjxB,GPGd,kBOGhC,EAEM0jxB,GAAe,SAAC1jxB,GACrB,MAAgB,kBAATA,GAAqBiG,YAAYC,OAAOlG,IAAS44C,GAAc54C,EAAtE,EAEK44C,GAAgB,SAAC/4B,GACtB,MAAwB,oBAAhB5Z,aAA8B4Z,aAAe5Z,aACb,yBAAxC/J,OAAOU,UAAUsP,SAAS5O,KAAKuiB,EAD/B,EChBYyorB,GAAe,SAC3Bh3pB,EACAl2C,OACCqusB,EAAArusB,EAAAqusB,gBACAxB,EAAA7ssB,EAAA6ssB,SACA7N,EAAAh/rB,EAAAg/rB,gBACAqM,EAAArrsB,EAAAqrsB,UACAlE,EAAAnnsB,EAAAmnsB,cACAC,EAAApnsB,EAAAonsB,eAIKkH,ECR4B,SAACtusB,OHTnCuoxB,EIH+BpouB,EDa/Bv7C,EAAA5E,EAAA4E,KACA+wC,EAAA31C,EAAA21C,QACAp1C,EAAAP,EAAAO,OACA2gC,EAAAlhC,EAAAkhC,IAEA,OACC3gC,GCnB8B4/C,EDoBdjf,EAAIif,SCnBrBA,EAAWrM,mBAAmBqM,GAAUxkC,QAAQ,OAAQ,KAAO,MJE/D4swB,EGkByBrnvB,EAAIqnvB,aHhB7BtnxB,MAAM2K,KAAK28wB,GACTxxvB,MAAK,SAAC/2B,EAAc2O,OAAdgmD,EAAAxuD,GAAAnG,EAAA,GAACwoxB,EAAA7ztB,EAAA,GAAM8ztB,EAAA9ztB,EAAA,GAAOC,EAAAzuD,GAAAwI,EAAA,GAAC+5wB,EAAA9ztB,EAAA,GAAM+ztB,EAAA/ztB,EAAA,GAC3B,OAAI4ztB,IAASE,EACLD,EAAOE,GAAQ,EAAI,EAEpBH,EAAOE,GAAQ,EAAI,CAC3B,IACCvoxB,KAAI,SAACH,OAAA2O,EAAAxI,GAAAnG,EAAA,GAAC4C,EAAA+L,EAAA,GAAK64B,EAAA74B,EAAA,GAAS,OAAGmzrB,GAAUl/rB,GAAI,IAAIk/rB,GAAUt6pB,EAA/B,IACpBz2B,KAAK,MGSNu6rB,GAAoB31pB,GACpBkyuB,GAAiBlyuB,GACjB0yuB,GAAiBzjxB,IAChBmM,KAAK,KAPP,CDEyB63wB,CAAoB1yuB,GAMvC03pB,EGlBwB,SAC9BrsqB,EACA8sqB,EACAE,GAEA,OAACw5E,GAA6BxmvB,EAAM8sqB,EAAiBE,GAAex9rB,KACnE,KADD,CHaqB83wB,CACpBh8E,EACAwB,EALqB+5E,GAAmB,KAAM95E,IAUzC3xJ,EAAYyrO,GI3BU,SAC5BppF,EACAz9pB,EACA2/pB,EACAjY,GAEA,IACM6/F,EAAUX,GZHmB,OYEGnpF,EACHz9pB,GAC7BwnvB,EAAYZ,GAAcW,EAAS5nF,GACnC8nF,EAAab,GAAcY,EAAW9/F,GAE5C,OADmBk/F,GAAca,EAAY/9E,GAE9C,CJgBEkC,CAAcnO,EAAiBqM,EAAWlE,EAAeC,GACzDwG,GAGD,OAAOjxJ,CACR,EK1BassO,GAAa,SACzBjpxB,EACA2O,eADE/J,EAAA5E,EAAA4E,KAAM2+kB,EAAAvjlB,EAAAO,OAAAA,OAAA,IAAAgjlB,EAAA,MAAAA,EAAgBrijB,EAAAlhC,EAAAkhC,IACtBg+pB,EAAAvwrB,EAAAuwrB,WAAY5irB,EnTaR,SAAgBza,EAAGQ,GACtB,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CmTvBeQ,CAAAuM,EAAA,gBAERu6wB,EAAgBlB,GAAiB1rwB,GAC/ByirB,EAAAmqF,EAAAnqF,YAAasP,EAAA66E,EAAA76E,gBAAiBxB,EAAAq8E,EAAAr8E,SAAU5N,EAAAiqF,EAAAjqF,aAK1CkqF,EAAe,IAAItiM,IAAI3ljB,GAC7BpgC,OAAOib,QAAOra,GAAAA,IAAAizD,EAAA,GAAAA,EbhCsB,mBaiCVoztB,GAA2BpztB,Eb/BhB,oBagCPoqoB,EAAW,IAAIsP,EAAiB15oB,EAC5Di1oB,IAAuBiD,EAAQl4oB,Eb7BQ,uBa8BVmztB,GAAWnztB,GACrCuqoB,IAAUtqoB,EAAA,GAAMA,EblCa,iBakCUsqoB,EAAWpurB,WAAU8jD,IAC5DqqoB,IAAY5yc,EAAA,GAAMA,EAACy9c,IAAoB7K,EAAY5yc,KACrD76O,SAAQ,SAACxR,OAAA2O,EAAAxI,GAAAnG,EAAA,GAAC4C,EAAA+L,EAAA,GAAKvK,EAAAuK,EAAA,GACjBw6wB,EAAaZ,aAAa3pwB,OAAOhc,EAAKwB,EACvC,IACA,IAAMypsB,EAAgB,CACrBjpsB,KAAIA,EACJ+wC,SAAO2tiB,EAAA,GAAIA,EAACwkM,IAAc5mvB,EAAI8e,KAAIsjiB,GAClC/ilB,OAAMA,EACN2gC,IAAKiovB,GAIAxsO,EAAYuwJ,GAAaW,EAAeq7E,GAG9C,OAFAC,EAAaZ,aAAa3pwB,Ob9CU,kBa8CoB+9hB,GAEjDwsO,CACR,EC9CMC,GAAqB,iDAE3BC,GAAA,oBAAAA,IAoHA,QA/EQA,EAAAh/wB,KAAP,SAAY6rC,EAASozuB,EAAYC,GAGhC,GAFArzuB,EAAQP,QAAUO,EAAQP,SAAW,CAAC,EAElCO,EAAQtxC,OAASsxC,EAAQ7sC,KAC5B,MAAM,IAAIY,MACT,kGAIF,IAAM4jsB,EAAanssB,GAAAA,GAAA,GACfw0C,GAAO,CACVtxC,KAAMsxC,EAAQ7sC,KACd63B,IAAK,IAAI2ljB,IAAI3wiB,EAAQhV,OAIhBsovB,EC5CmB,SAC1BtzuB,EACA55B,GAEA,IAAM4swB,EAAgBlB,GAAiB1rwB,GAC/ByirB,EAAAmqF,EAAAnqF,YAAasP,EAAA66E,EAAA76E,gBAAiBxB,EAAAq8E,EAAAr8E,SAAU5N,EAAAiqF,EAAAjqF,aAI1CtppB,EAAOj0C,GAAA,GAAQw0C,EAAQP,SAC7BA,EAAQmyuB,IAAe5xuB,EAAQhV,IAAI8e,KACnCrK,EAAQq0pB,IAAmB6C,EACvB5N,IACHtppB,EAAQy0pB,IAAgBnL,GAEzB,IAAM4O,EAAanssB,GAAAA,GAAA,GAAQw0C,GAAO,CAAEP,QAAOA,IAGrCgngB,EAAYuwJ,GAAaW,EAAeq7E,GACxCO,EAAkB,cAAc1qF,EAAW,IAAIsP,EAC/Cq7E,EAAqB,iBAAiB7B,GAAiBlyuB,GACvDg0uB,EAAiB,aAAahtO,EAKpC,OAJAhngB,EACY,cACLoyuB,GAA2B,IAAI0B,EAAe,KAAKC,EAAkB,KAAKC,EAE1E97E,CACR,CDiB6BL,CAAYK,EADvBvte,GAAWute,EAAey7E,EAAYC,IAYtD,OARAC,EAActovB,IAAMsovB,EAActovB,IAAIpwB,WAGtC04wB,EAAc7zuB,QAAQY,cAAgBizuB,EAAc7zuB,QAAQ20pB,cAC5Dk/E,EAAc7zuB,QAAQ,wBACrB6zuB,EAAc7zuB,QAAQ,+BAChB6zuB,EAAc7zuB,QAAQ20pB,qBACtBk/E,EAAc7zuB,QAAQ,wBACtB6zuB,CACR,EAcOH,EAAAO,QAAP,SACCC,EACAP,EACAC,EACArqF,GAEA,IAAM4qF,EACmB,kBAAjBD,EAA4BA,EAAa3ovB,IAAM2ovB,EACjDtpxB,EACmB,kBAAjBspxB,EAA4BA,EAAatpxB,OAAS,MAIpDwpxB,EAAc,CACnBnlxB,KAHwB,kBAAjBilxB,EAA4BA,EAAajlxB,UAAO/E,EAIvDU,OAAMA,EACN2gC,IAAK,IAAI2ljB,IAAIijM,IAGRxtwB,EAAUgkN,GACfypjB,EACAT,EACAC,EACArqF,GAEK8qF,EAAYf,GAAWc,EAAaztwB,GAU1C,OARCgtwB,EAAWW,gBACVC,GAA8B5twB,EAAQ8qrB,iBAEvC4iF,EAAUzB,aAAa3pwB,OACtBkrrB,GACAw/E,EAAWW,eAGND,EAAUl5wB,UAClB,EACDu4wB,CAAA,CApHA,GAsHM/ojB,GAAa,SAACpqL,EAASozuB,EAAYC,EAAarqF,GAC/C,IAAAl/rB,EAAA,OAAAspxB,QAAA,IAAAA,EAAAA,EAAA,GAAEa,EAAAnqxB,EAAAmqxB,WAAYC,EAAApqxB,EAAAoqxB,WAAYH,EAAAjqxB,EAAAiqxB,cAC1Bt7wB,EAAA07wB,GAAAn0uB,EAAAhV,KAAEopvB,EAAA37wB,EAAAuyrB,OAAmBqpF,EAAA57wB,EAAAs6qB,QAGrBt0nB,EAAA,OAAA40tB,QAAA,IAAAA,EAAAA,EAAA,GAAE30tB,EAAAD,EAAAusoB,OAAAA,OAAA,IAAAtsoB,EAAA01tB,EAAA11tB,EAAoBy3L,EAAA13L,EAAAs0nB,QAAAA,OAAA,IAAA58b,EAAAk+hB,EAAAl+hB,EACtBksZ,EAAW72oB,GAAA,CAChBq9rB,YAAaorF,EACbnrF,gBAAiBorF,GACbF,GAA8BjhG,GAC/B,CAAEgW,aAAcgrF,GAChB,CAAC,GAEL,OAAAvoxB,GAAA,CACC62oB,YAAWA,EACXo0D,YAAay6E,GAAUE,yBACvBngF,cAAejG,EACfkG,eAAgBne,GACZiW,GAAc,CAAEA,WAAUA,GAEhC,EAGMmrF,GAAmB,SAACnpvB,SAGrB5e,GAD0C,QAAjCtiB,EADAkhC,EAAI8e,KACI98B,MAAMkmwB,WAAmB,IAAAppxB,EAAAA,EAAI,IAC7Bye,MAAM,EAAG,GAO9B,MALkB,OAAd6D,EAAO,KAEVA,EAASA,EAAO6gC,WAGV,CACN8loB,QAAS3mqB,EAAO,GAChB4+qB,OAAQ5+qB,EAAO,GAEjB,EAKM4nwB,GAAgC,SAACjhG,GACtC,MArKwB,qBAqKxBA,CAAA,yBEhKK5wjB,GAAS,IAAIo0jB,GAAO,cAe1B+9F,GAAA,WA2BC,SAAAA,EAAYluwB,GAzBJ,KAAAmuwB,QAAkB,YAClB,KAAAC,SAAmB,cACnB,KAAAC,oBAAiB9qxB,EAgBjB,KAAA+qxB,gBAAmD,KAE3D,KAAA35F,YAAcA,GAMb3vrB,KAAKy1G,SAAWz6F,EAChB+7G,GAAOiyjB,MAAM,cAAehprB,KAAKy1G,UACL,MAAxBz1G,KAAKspxB,kBACRtpxB,KAAKspxB,gBAAkB,IAAInowB,QAE7B,CA4WD,OA3VO+nwB,EAAAhpxB,UAAAqpxB,KAAN,SAAWC,EAAgCvqxB,EAAgBs6D,6IAC1Dw9D,GAAOiyjB,MAAM/prB,EAAQuqxB,GAIjB5pF,EAAiB,YACjBjY,EAAkB,cAClB8hG,OAEAlrxB,EAEwB,kBAAjBirxB,GACVE,EAAa1pxB,KAAK2pxB,UAAUH,GAC5B5pvB,EAAM4pvB,IAEH5pvB,EAAA4pvB,EAAAnxF,SAAeoxF,EAAAD,EAAAC,cAAe7pF,EAAA4pF,EAAA5pF,OAAQjY,EAAA6hG,EAAA7hG,QACzC+hG,EAAa1pxB,KAAK2pxB,UAAUH,EAAanxF,WAGpC5+pB,EAAS,CACdx6B,OAAMA,EACN2gC,IAAGA,EACH8e,KAAMgruB,EAAWhruB,KACjBxhB,KAAMwsvB,EAAWxsvB,KACjBmX,QAAS,CAAC,EACVtsC,KAAM,KACNusC,aAAc,OACdlX,QAAS,EACTmX,YAAa,MAGVq1uB,EAAiB,CAAC,EAElBz6E,GAASC,gBACN/wpB,EAAY8wpB,GAAS9wpB,WAAa,oBACxCuruB,EAAiB,CAChB,aAAcvruB,IAIVwruB,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GAC/BuwtB,EAAgBD,EAAWr0uB,SAC7Bq0uB,EAAWvmxB,OAEO,oBAAbiqvB,UACPs8B,EAAWvmxB,gBAAgBiqvB,UAE3Bq8B,EAAe,gBAAkB,sBACjCnwvB,EAAO1xB,KAAO8hxB,EAAWvmxB,OAEzBsmxB,EAAe,gBAAkB,kCACjCnwvB,EAAO1xB,KAAOwmB,KAAKhP,UAAUsqwB,EAAWvmxB,QAGtCumxB,EAAWv1uB,eACd7a,EAAO6a,aAAeu1uB,EAAWv1uB,cAE9Bu1uB,EAAWpzuB,kBACdhd,EAAwB,gBAAIowvB,EAAWpzuB,iBAEpCozuB,EAAWzsvB,UACd3D,EAAO2D,QAAUysvB,EAAWzsvB,SAEzBysvB,EAAWE,mBACdtwvB,EAAO8a,YAAcs1uB,EAAWE,iBAAiB3rwB,OAGlDqb,EAA0B,kBAAIowvB,EAAWG,kBAIf,oBAAlBP,EAAP,MAAsC,GAAMA,mBAAN/qxB,EAAA20D,EAAAzvD,oBAAwBlF,OAAAH,mBAoB/D,OArBM0rxB,EAAiBvrxB,EAGvB+6B,EAAO4a,QAAOj0C,GAAAA,GAAAA,GAAA,GACVwpxB,GACAK,GACAJ,EAAWx1uB,SAIThnC,GAA2BqS,EAAAA,GAAAA,IAAMkgB,GAAK,GAAM,GAApCvyB,EAAAwP,OAAKqtwB,EAASppxB,GAAAuM,EAAtB,YACNosB,EAAOmG,KAAM28B,EAAAA,GAAAA,IAAMn8D,GAAAA,GAAC,CAAC,EACjB8pxB,GAAS,CACZp4nB,MAAK1xJ,GAAAA,GAAA,GACD8pxB,EAAUp4nB,OACT+3nB,EAAWM,uBAAyB,CAAC,MAMI,qBAApC1wvB,EAAO4a,QAAuB,eACxC5a,EAAO4a,QAAU70C,OAAOgR,KAAKipB,EAAO4a,SAAS35B,QAAO,SAACC,EAAKjW,GAIzD,OAHI+0B,EAAO4a,QAAQ3vC,KAClBiW,EAAIjW,GAAK+0B,EAAO4a,QAAQ3vC,IAElBiW,CAER,GAAG,CAAC,GACG,CAAP,EAAO3a,KAAKoqxB,SAAS3wvB,EAAQqwvB,KAIvB,CAAP,EAAO9pxB,KAAK2vrB,YAAY/orB,MAAMxD,MAC7B,SAAA6zoB,GACC,OAAO/toB,EAAKmhxB,QAAOjqxB,GAAC,CAAC,EAAIq5B,GAAUw9mB,EAAa6yI,EAAe,CAC9DlqF,OAAMA,EACNjY,QAAOA,IACL3+qB,OAAM,SAAAjE,GACR,GAAI+gxB,GAAUziF,iBAAiBt+rB,GAAQ,CAC9B,IAAAsvC,EAAAtvC,EAAAywC,SAAAnB,QACFi2uB,EAAaj2uB,IAAYA,EAAQpU,MAAQoU,EAAQyJ,MACjDysuB,EAAe,IAAIzsuB,KAAKwsuB,GACxBE,EAAc1E,GAAUK,wBAC7B1svB,EAAO4a,QAAQ,eAIhB,GAAIyxuB,GAAUM,cAAcmE,GAK3B,OAJAzE,GAAUQ,eACTiE,EAAa/xpB,UAAYgypB,EAAYhypB,WAG/BtvH,EAAKqgxB,KAAKC,EAAcvqxB,EAAQs6D,GAIzC,MAAMx0D,CACP,GACD,IACA,SAAA6wC,GAEC,OADAmhF,GAAOiyjB,MAAM,0DACN9/qB,EAAKkhxB,SAAS3wvB,EAAQqwvB,EAC9B,aAUFZ,EAAAhpxB,UAAA0G,IAAA,SAAI4ixB,EAAgCjwtB,GACnC,OAAOv5D,KAAKupxB,KAAKC,EAAc,MAAOjwtB,EACvC,EAQA2vtB,EAAAhpxB,UAAAkwmB,IAAA,SAAIo5K,EAAgCjwtB,GACnC,OAAOv5D,KAAKupxB,KAAKC,EAAc,MAAOjwtB,EACvC,EAQA2vtB,EAAAhpxB,UAAAy1lB,MAAA,SAAM6zL,EAAgCjwtB,GACrC,OAAOv5D,KAAKupxB,KAAKC,EAAc,QAASjwtB,EACzC,EAQA2vtB,EAAAhpxB,UAAAwgB,KAAA,SAAK8owB,EAAgCjwtB,GACpC,OAAOv5D,KAAKupxB,KAAKC,EAAc,OAAQjwtB,EACxC,EAQA2vtB,EAAAhpxB,UAAAi9Z,IAAA,SAAIqsX,EAAgCjwtB,GACnC,OAAOv5D,KAAKupxB,KAAKC,EAAc,SAAUjwtB,EAC1C,EAQA2vtB,EAAAhpxB,UAAA+hB,KAAA,SAAKunwB,EAAgCjwtB,GACpC,OAAOv5D,KAAKupxB,KAAKC,EAAc,OAAQjwtB,EACxC,EAOA2vtB,EAAAhpxB,UAAAg3C,OAAA,SAAOtC,EAAuBj8B,GAC7B,IAAM05B,EAASryC,KAAKspxB,gBAAgB1ixB,IAAIguC,GACxC,QAAIvC,IACHA,EAAO6E,OAAOv+B,IACP,EAGT,EAOAuwwB,EAAAhpxB,UAAAuqxB,eAAA,SAAe71uB,GACd,OAAO50C,KAAKspxB,gBAAgB3ixB,IAAIiuC,EACjC,EAOAs0uB,EAAAhpxB,UAAA63C,SAAA,SAAShzC,GACR,OAAO0yC,KAAAA,SAAe1yC,EACvB,EAMAmkxB,EAAAhpxB,UAAAwqxB,oBAAA,WACC,OAAOjzuB,KAAAA,YAAAA,QACR,EAOAyxuB,EAAAhpxB,UAAAyqxB,6BAAA,SACCnyuB,EACAoyuB,GAEA5qxB,KAAKspxB,gBAAgBxixB,IAAI0xC,EAASoyuB,EACnC,EAOA1B,EAAAhpxB,UAAAm4rB,SAAA,SAASwyF,GAAT,IAAA3hxB,EAAA,KACO4hxB,EAAoB9qxB,KAAKy1G,SAASs1qB,UACpCv1uB,EAAW,GAEf,OAAK71C,MAAMkoB,QAAQijwB,IAInBA,EAAkB56wB,SAAQ,SAAAhM,GACrBA,EAAE6C,OAAS8jxB,IACdr1uB,EAAWtxC,EAAEm0rB,SACW,kBAAbn0rB,EAAE07rB,OACZ12rB,EAAKigxB,QAAUjlxB,EAAE07rB,OACyB,kBAAzB12rB,EAAKusG,SAASmqlB,SAC/B12rB,EAAKigxB,QAAUjgxB,EAAKusG,SAASmqlB,QAEL,kBAAd17rB,EAAEyjrB,QACZz+qB,EAAKkgxB,SAAWllxB,EAAEyjrB,SAAW,cAE7Bz+qB,EAAKkgxB,SAAW,cAEc,oBAApBllxB,EAAEulxB,cACZvgxB,EAAKmgxB,eAAiBnlxB,EAAEulxB,cAExBvgxB,EAAKmgxB,oBAAiB9qxB,EAGzB,IACOi3C,GAvBCA,CAwBT,EAIQ0zuB,EAAAhpxB,UAAAmqxB,QAAR,SAAgB5wvB,EAAQw9mB,EAAa6yI,EAAeprxB,OAAEiprB,EAAAjprB,EAAAiprB,QAASiY,EAAAlhsB,EAAAkhsB,OACtDorF,EAAAvxvB,EAAAuwvB,kBAA4CiB,EAAAnqxB,GAAA24B,EAAA,uBAG9CyxvB,EACLtrF,GAAU5/rB,KAAKmpxB,SAAWnpxB,KAAKy1G,SAASmqlB,OACnCurF,EACLxjG,GAAW3nrB,KAAKopxB,UAAYppxB,KAAKy1G,SAASkykB,QAErCyjG,EAAQ,CACbtC,WAAY7xI,EAAYymD,gBACxBmrF,WAAY5xI,EAAYwmD,YACxBkrF,cAAe1xI,EAAY0mD,cAGtB0tF,EAAe,CACpBzrF,OAAQsrF,EACRvjG,QAASwjG,GAGJnB,EAAoBxqxB,OAAOa,OAChCgrxB,EACAL,GAGKM,EAAgBvD,GAAOh/wB,KAAKkixB,EAAaG,EAAOpB,GAUtD,OARIsB,EAAcvjxB,OACjBujxB,EAAchoxB,KAAOgoxB,EAAcvjxB,MAGpCgvH,GAAOiyjB,MAAM,mBAAoBsiG,UAE1BA,EAAcj3uB,QAAc,KAE5BoD,KAAM6zuB,GACXloxB,MAAK,SAAAoyC,GAAY,OAACs0uB,EAAgBt0uB,EAAWA,EAASztC,IAArC,IACjBiB,OAAM,SAAAjE,GAEN,MADAgyH,GAAOiyjB,MAAMjkrB,GACPA,CACP,GACF,EAEQmkxB,EAAAhpxB,UAAAkqxB,SAAR,SAAiB3wvB,EAAQqwvB,GACxB,YADwB,IAAAA,IAAAA,GAAA,GACjBryuB,KAAMhe,GACXr2B,MAAK,SAAAoyC,GAAY,OAACs0uB,EAAgBt0uB,EAAWA,EAASztC,IAArC,IACjBiB,OAAM,SAAAjE,GAEN,MADAgyH,GAAOiyjB,MAAMjkrB,GACPA,CACP,GACF,EAEQmkxB,EAAAhpxB,UAAAypxB,UAAR,SAAkB/pvB,GACjB,IAAMud,EAAQvd,EAAI9sB,MAAM,KAExB,MAAO,CACN4rC,KAAMvB,EAAM,GACZjgB,KAAM,IAAMigB,EAAMhgC,MAAM,GAAG1N,KAAK,KAElC,EACDy5wB,CAAA,CA7YA,GCpBMnypB,GAAS,IAAIo0jB,GAAO,WAK1BogG,GAAA,WAaC,SAAAA,EAAYvwwB,GARJ,KAAAwwwB,KAAmB,KAE3B,KAAA77F,YAAcA,GAOb3vrB,KAAKy1G,SAAWz6F,EAChB+7G,GAAOiyjB,MAAM,cAAehprB,KAAKy1G,SAClC,CA+SD,OA7SQ81qB,EAAArrxB,UAAAuwrB,cAAP,WACC,MAAO,SACR,EAOA86F,EAAArrxB,UAAA++B,UAAA,SAAUjkB,GACT,IAAMtc,EAAAsc,GAAA,GAAE3N,EAAA3O,EAAAgxrB,IAAAA,OAAA,IAAArirB,EAAA,GAAAA,EAAUo+wB,EAAA3qxB,GAAApC,EAAA,SACd4gD,EAAGl/C,GAAAA,GAAA,GAAQqrxB,GAAiB/7F,GAGhC,GAFA34jB,GAAOiyjB,MAAM,qBAAsB,CAAE1poB,IAAGA,IAEpCA,EAAwB,mBAAG,CAC9B,GAAIA,EAA4B,uBAAG,CAClC,IAAMygD,EAASzgD,EAA4B,uBAC3CA,EAAIyruB,UACe,kBAAXhrrB,EAAsBxxE,KAAK7O,MAAMqgF,GAAUA,EAGpDzgD,EAAM9/C,OAAOa,OAAO,CAAC,EAAGi/C,EAAK,CAC5BsgpB,OAAQtgpB,EAAwB,mBAChCoxa,OAAQ,CAAC,IA2BX,OAvBI/wd,MAAMkoB,QAAQy3B,EAAIyruB,WAErBzruB,EAAIyruB,UAAU76wB,SAAQ,SAAAmorB,GAEc,qBAA3BA,EAASoxF,eACkB,oBAA3BpxF,EAASoxF,gBAEhB1ypB,GAAOt3E,KACN,YAAc44oB,EAAStxrB,KAAO,wCAE/BsxrB,EAASoxF,mBAAgBlrxB,EAE3B,IACUyB,KAAKy1G,UAAY91G,MAAMkoB,QAAQ7nB,KAAKy1G,SAASs1qB,WACvDzruB,EAAIyruB,UAAY/qxB,KAAKy1G,SAASs1qB,UAE9BzruB,EAAIyruB,UAAY,GAGjB/qxB,KAAKy1G,SAAWj2G,OAAOa,OAAO,CAAC,EAAGL,KAAKy1G,SAAUn2D,GAEjDt/C,KAAK03C,iBAEE13C,KAAKy1G,QACb,EAMA81qB,EAAArrxB,UAAAw3C,eAAA,WAMC,OALAq/E,GAAOiyjB,MAAM,4BACbhprB,KAAKwrxB,KAAO,IAAItC,GAAWlpxB,KAAKy1G,UAGhCz1G,KAAKwrxB,KAAK77F,YAAc3vrB,KAAK2vrB,aACtB,CACR,EASA47F,EAAArrxB,UAAA0G,IAAA,SAAIikxB,EAAS3tvB,EAAMq8B,GAClB,IACC,IAAMmytB,EAAU1rxB,KAAK2rxB,gBAAgBd,EAAS3tvB,GAExC6svB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAE7Bb,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GACrCswtB,EAAWE,iBAAmBA,EAE9B,IAAM6B,EAAkB5rxB,KAAKwrxB,KAAK5kxB,IAAI8kxB,EAAS7B,GAI/C,OAFA7pxB,KAAKwrxB,KAAKb,6BAA6BiB,EAAiB7B,GAEjD6B,EACN,MAAOh2uB,GACR,OAAOlzC,QAAQE,OAAOgzC,EAAIj9B,SAE5B,EASA4ywB,EAAArrxB,UAAAwgB,KAAA,SAAKmqwB,EAAS3tvB,EAAMq8B,GACnB,IACC,IAAMmytB,EAAU1rxB,KAAK2rxB,gBAAgBd,EAAS3tvB,GAExC6svB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAE7Bb,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GACrCswtB,EAAWE,iBAAmBA,EAE9B,IAAM6B,EAAkB5rxB,KAAKwrxB,KAAK9qwB,KAAKgrwB,EAAS7B,GAIhD,OAFA7pxB,KAAKwrxB,KAAKb,6BAA6BiB,EAAiB7B,GAEjD6B,EACN,MAAOh2uB,GACR,OAAOlzC,QAAQE,OAAOgzC,EAAIj9B,SAE5B,EASA4ywB,EAAArrxB,UAAAkwmB,IAAA,SAAIy6K,EAAS3tvB,EAAMq8B,GAClB,IACC,IAAMmytB,EAAU1rxB,KAAK2rxB,gBAAgBd,EAAS3tvB,GAExC6svB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAE7Bb,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GACrCswtB,EAAWE,iBAAmBA,EAE9B,IAAM6B,EAAkB5rxB,KAAKwrxB,KAAKp7K,IAAIs7K,EAAS7B,GAI/C,OAFA7pxB,KAAKwrxB,KAAKb,6BAA6BiB,EAAiB7B,GAEjD6B,EACN,MAAOh2uB,GACR,OAAOlzC,QAAQE,OAAOgzC,EAAIj9B,SAE5B,EASA4ywB,EAAArrxB,UAAAy1lB,MAAA,SAAMk1L,EAAS3tvB,EAAMq8B,GACpB,IACC,IAAMmytB,EAAU1rxB,KAAK2rxB,gBAAgBd,EAAS3tvB,GAExC6svB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAE7Bb,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GACrCswtB,EAAWE,iBAAmBA,EAE9B,IAAM6B,EAAkB5rxB,KAAKwrxB,KAAK71L,MAAM+1L,EAAS7B,GAIjD,OAFA7pxB,KAAKwrxB,KAAKb,6BAA6BiB,EAAiB7B,GAEjD6B,EACN,MAAOh2uB,GACR,OAAOlzC,QAAQE,OAAOgzC,EAAIj9B,SAE5B,EASA4ywB,EAAArrxB,UAAAi9Z,IAAA,SAAI0tX,EAAS3tvB,EAAMq8B,GAClB,IACC,IAAMmytB,EAAU1rxB,KAAK2rxB,gBAAgBd,EAAS3tvB,GAExC6svB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAE7Bb,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GACrCswtB,EAAWE,iBAAmBA,EAE9B,IAAM6B,EAAkB5rxB,KAAKwrxB,KAAKruX,IAAIuuX,EAAS7B,GAI/C,OAFA7pxB,KAAKwrxB,KAAKb,6BAA6BiB,EAAiB7B,GAEjD6B,EACN,MAAOh2uB,GACR,OAAOlzC,QAAQE,OAAOgzC,EAAIj9B,SAE5B,EASA4ywB,EAAArrxB,UAAA+hB,KAAA,SAAK4owB,EAAS3tvB,EAAMq8B,GACnB,IACC,IAAMmytB,EAAU1rxB,KAAK2rxB,gBAAgBd,EAAS3tvB,GAExC6svB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAE7Bb,EAAarqxB,OAAOa,OAAO,CAAC,EAAGk5D,GACrCswtB,EAAWE,iBAAmBA,EAE9B,IAAM6B,EAAkB5rxB,KAAKwrxB,KAAKvpwB,KAAKypwB,EAAS7B,GAIhD,OAFA7pxB,KAAKwrxB,KAAKb,6BAA6BiB,EAAiB7B,GAEjD6B,EACN,MAAOh2uB,GACR,OAAOlzC,QAAQE,OAAOgzC,EAAIj9B,SAE5B,EAOA4ywB,EAAArrxB,UAAA63C,SAAA,SAAShzC,GACR,OAAO/E,KAAKwrxB,KAAKzzuB,SAAShzC,EAC3B,EAOAwmxB,EAAArrxB,UAAAg3C,OAAA,SAAOtC,EAAuBj8B,GAC7B,OAAO3Y,KAAKwrxB,KAAKt0uB,OAAOtC,EAASj8B,EAClC,EAOA4ywB,EAAArrxB,UAAAuqxB,eAAA,SAAe71uB,GACd,OAAO50C,KAAKwrxB,KAAKf,eAAe71uB,EACjC,EAOM22uB,EAAArrxB,UAAAm4rB,SAAN,SAAewyF,wEACd,MAAO,CAAP,EAAO7qxB,KAAKwrxB,KAAKnzF,SAASwyF,WASnBU,EAAArrxB,UAAAyrxB,gBAAR,SAAwBd,EAAiB3tvB,GACxC,IAAM4tvB,EAAoB9qxB,KAAKy1G,SAASs1qB,UAExC,IAAKprxB,MAAMkoB,QAAQijwB,GAClB,MAAM,IAAInixB,MAAM,+BAGjB,IAAMkjxB,EAAYf,EAAkBhpuB,MAAK,SAAA+4iB,GAAO,OAAAA,EAAI9zlB,OAAS8jxB,CAAb,IAEhD,IAAKgB,EACJ,MAAM,IAAIljxB,MAAM,OAAOkixB,EAAO,mBAG/B,IAAMr1uB,EAAoB,CACzB6ipB,SAAUwzF,EAAUxzF,SAAWn7pB,GAqBhC,MAlBgC,kBAArB2uvB,EAAUjsF,OACpBpqpB,EAASoqpB,OAASisF,EAAUjsF,OACc,kBAAzB5/rB,KAAKy1G,SAASmqlB,SAC/BpqpB,EAASoqpB,OAAS5/rB,KAAKy1G,SAASmqlB,QAGA,kBAAtBisF,EAAUlkG,QACpBnyoB,EAASmyoB,QAAUkkG,EAAUlkG,SAAW,cAExCnyoB,EAASmyoB,QAAU,cAGmB,oBAA5BkkG,EAAUpC,cACpBj0uB,EAASi0uB,cAAgBoC,EAAUpC,cAEnCj0uB,EAASi0uB,mBAAgBlrxB,EAGnBi3C,CACR,EACD+1uB,CAAA,CA/TA,GAiUaO,GAAU,IAAIP,GAAa,MACxC76F,GAAAA,SAAiBo7F,ICpTV,IAAI1rxB,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,CC7IA,SAASitoB,GAAQpqnB,GAAmV,OAAtOoqnB,GAArD,oBAAX/toB,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiB0jB,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAX3jB,QAAyB2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAAK,EAAYoqnB,GAAQpqnB,EAAM,CCE1U,oBAAX3jB,QAA4C,MAAnBA,OAAOC,UAAmBD,OAAOC,SAGzC,oBAAXD,QAAiD,MAAxBA,OAAOwB,eAAwBxB,OAAOwB,cAHlG,IAKIumxB,GAAyC,oBAAX/nxB,QAA+C,MAAtBA,OAAOo9C,YAAsBp9C,OAAOo9C,YAAc,gBCC7G,SAASuzD,GAAYtiE,EAAQznC,GAMlC,IALA,IAGIgX,EAHAoqwB,EAAa,eACbxuwB,EAAO,EACPC,EAAS7S,EAAW,GAGhBgX,EAAQoqwB,EAAWrqwB,KAAK0wB,EAAO/uC,QAAUse,EAAM7E,MAAQnS,GAC7D4S,GAAQ,EACRC,EAAS7S,EAAW,GAAKgX,EAAM7E,MAAQ6E,EAAM,GAAGjhB,QAGlD,MAAO,CACL6c,KAAMA,EACNC,OAAQA,EAEZ,CClBO,SAASwuwB,GAAc1tvB,GAC5B,OAAO2tvB,GAAoB3tvB,EAAS8T,OAAQsiE,GAAYp2E,EAAS8T,OAAQ9T,EAASoJ,OACpF,CAKO,SAASukvB,GAAoB75uB,EAAQkpM,GAC1C,IAAI4wiB,EAAwB95uB,EAAO+5uB,eAAe3uwB,OAAS,EACvDna,EAAOmb,GAAW0twB,GAAyB95uB,EAAO/uC,KAClD+oxB,EAAY9wiB,EAAe/9N,KAAO,EAClC8uwB,EAAaj6uB,EAAO+5uB,eAAe5uwB,KAAO,EAC1C+uwB,EAAUhxiB,EAAe/9N,KAAO8uwB,EAChCE,EAAuC,IAAxBjxiB,EAAe/9N,KAAa2uwB,EAAwB,EACnEM,EAAYlxiB,EAAe99N,OAAS+uwB,EACpCE,EAAc,GAAG3txB,OAAOszC,EAAOtrC,KAAM,KAAKhI,OAAOwtxB,EAAS,KAAKxtxB,OAAO0txB,EAAW,MACjF9kT,EAAQrke,EAAKwP,MAAM,gBACnB65wB,EAAehlT,EAAM0kT,GAEzB,GAAIM,EAAahsxB,OAAS,IAAK,CAK7B,IAJA,IAAIisxB,EAAethxB,KAAKC,MAAMkhxB,EAAY,IACtCI,EAAmBJ,EAAY,GAC/BK,EAAW,GAENtsxB,EAAI,EAAGA,EAAImsxB,EAAahsxB,OAAQH,GAAK,GAC5CssxB,EAASxoxB,KAAKqoxB,EAAaxvwB,MAAM3c,EAAGA,EAAI,KAG1C,OAAOksxB,EAAcK,GAAmB,CAAC,CAAC,GAAGhuxB,OAAOwtxB,GAAUO,EAAS,KAAK/txB,OAAO+txB,EAAS3vwB,MAAM,EAAGyvwB,EAAe,GAAG/txB,KAAI,SAAUmuxB,GACnI,MAAO,CAAC,GAAIA,EACd,IAAI,CAAC,CAAC,IAAKvuwB,GAAWouwB,EAAmB,GAAK,KAAM,CAAC,GAAIC,EAASF,EAAe,MACnF,CAEA,OAAOF,EAAcK,GAAmB,CACxC,CAAC,GAAGhuxB,OAAOwtxB,EAAU,GAAI5kT,EAAM0kT,EAAY,IAAK,CAAC,GAAGttxB,OAAOwtxB,GAAUI,GAAe,CAAC,GAAIluwB,GAAWguwB,EAAY,GAAK,KAAM,CAAC,GAAG1txB,OAAOwtxB,EAAU,GAAI5kT,EAAM0kT,EAAY,KACxK,CAEA,SAASU,GAAmBplT,GAC1B,IAAIslT,EAAgBtlT,EAAM30d,QAAO,SAAU4H,GACjCA,EAAK,GAEb,YAAgBrc,IADLqc,EAAK,EAElB,IACIsywB,EAAS5hxB,KAAK25B,IAAIpkC,MAAMyK,KAAM2hxB,EAAcpuxB,KAAI,SAAUgc,GAE5D,OADaA,EAAM,GACLla,MAChB,KACA,OAAOssxB,EAAcpuxB,KAAI,SAAUo5B,GACjC,IAUkB7d,EAVdoH,EAASyW,EAAM,GACfza,EAAOya,EAAM,GACjB,OASKxZ,GATUyuwB,GAQG9ywB,EARKoH,GASG7gB,QAAUyZ,GATFoD,EAAO,MAAQA,EAAO,KAC1D,IAAG/N,KAAK,KACV,CAEA,SAASgP,GAAWhQ,GAClB,OAAO9O,MAAM8O,EAAM,GAAGgB,KAAK,IAC7B,CC7DA,SAASsioB,GAAQpqnB,GAAmV,OAAtOoqnB,GAArD,oBAAX/toB,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiB0jB,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAX3jB,QAAyB2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAAK,EAAYoqnB,GAAQpqnB,EAAM,CAEzX,SAASqtiB,GAAQ9jhB,EAAQ4zmB,GAAkB,IAAIt0oB,EAAOhR,OAAOgR,KAAK0gC,GAAS,GAAI1xC,OAAOyB,sBAAuB,CAAE,IAAI8jpB,EAAUvlpB,OAAOyB,sBAAsBiwC,GAAa4zmB,IAAgBC,EAAUA,EAAQ/xoB,QAAO,SAAUgyoB,GAAO,OAAOxlpB,OAAOkC,yBAAyBwvC,EAAQ8zmB,GAAKn7oB,UAAY,KAAI2G,EAAKlM,KAAKzD,MAAM2P,EAAMu0oB,EAAU,CAAE,OAAOv0oB,CAAM,CAIpV,SAAS+D,GAAgBoT,EAAKrmB,EAAKwB,GAAiK,OAApJxB,KAAOqmB,EAAOnoB,OAAOqC,eAAe8lB,EAAKrmB,EAAK,CAAEwB,MAAOA,EAAO+G,YAAY,EAAM29C,cAAc,EAAMC,UAAU,IAAkB9/B,EAAIrmB,GAAOwB,EAAgB6kB,CAAK,CAIhN,SAASmmnB,GAAkBzsoB,EAAQiQ,GAAS,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CAAE,IAAIusE,EAAaz7D,EAAM9Q,GAAIusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EAAOkjE,EAAWvlB,cAAe,EAAU,UAAWulB,IAAYA,EAAWtlB,UAAW,GAAMjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAAa,CAAE,CAQ5T,SAASogtB,GAA2B/+wB,EAAMxN,GAAQ,OAAIA,GAA2B,WAAlBmxoB,GAAQnxoB,IAAsC,oBAATA,EAA8Cy9L,GAAuBjwL,GAAtCxN,CAA6C,CAEhL,SAASy9L,GAAuBjwL,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIu0gB,eAAe,6DAAgE,OAAOv0gB,CAAM,CAErK,SAASm8sB,GAAiB/wmB,GAAS,IAAI05C,EAAwB,oBAAR/hF,IAAqB,IAAIA,SAAQ5yE,EAA8nB,OAAnnBgstB,GAAmB,SAA0B/wmB,GAAS,GAAc,OAAVA,IAMlIt2F,EANuKs2F,GAMjG,IAAzD2f,SAAS3pH,SAAS5O,KAAKsiB,GAAIliB,QAAQ,kBAN+H,OAAOw4G,EAMjN,IAA2Bt2F,EAN6L,GAAqB,oBAAVs2F,EAAwB,MAAM,IAAIp1G,UAAU,sDAAyD,GAAsB,qBAAX8uJ,EAAwB,CAAE,GAAIA,EAAOvsJ,IAAI6yG,GAAQ,OAAO05C,EAAOtsJ,IAAI4yG,GAAQ05C,EAAOpsJ,IAAI0yG,EAAOgxmB,EAAU,CAAE,SAASA,IAAY,OAAOzxlB,GAAWvf,EAAO94G,UAAWkT,GAAgB5T,MAAMC,YAAc,CAAkJ,OAAhJuqtB,EAAQtqtB,UAAYV,OAAOW,OAAOq5G,EAAMt5G,UAAW,CAAED,YAAa,CAAE6C,MAAO0ntB,EAAS3gtB,YAAY,EAAO49C,UAAU,EAAMD,cAAc,KAAkBw7lB,GAAgBwnE,EAAShxmB,EAAQ,EAAU+wmB,GAAiB/wmB,EAAQ,CAEtvB,SAASuf,GAAWC,EAAQ1wG,EAAMkxF,GAAqV,OAAzSuf,GAA/B8phB,KAA4ClhpB,QAAQu3H,UAAiC,SAAoBF,EAAQ1wG,EAAMkxF,GAAS,IAAIr0G,EAAI,CAAC,MAAOA,EAAEb,KAAKzD,MAAMsE,EAAGmjB,GAAO,IAAsD3Q,EAAW,IAA/CwhH,SAAS31F,KAAK3iC,MAAMm4H,EAAQ7zH,IAA6F,OAAnDq0G,GAAOwpiB,GAAgBrroB,EAAU6hG,EAAMt5G,WAAmByX,CAAU,EAAYohH,GAAWl4H,MAAM,KAAMH,UAAY,CAEja,SAASmipB,KAA8B,GAAuB,qBAAZlhpB,UAA4BA,QAAQu3H,UAAW,OAAO,EAAO,GAAIv3H,QAAQu3H,UAAUupZ,KAAM,OAAO,EAAO,GAAqB,oBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5ke,KAAK59C,UAAUsP,SAAS5O,KAAKe,QAAQu3H,UAAUp7E,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/8C,IAAK,OAAO,CAAO,CAAE,CAInU,SAASiipB,GAAgBx+oB,EAAG5E,GAA+G,OAA1GojpB,GAAkBxjpB,OAAOC,gBAAkB,SAAyB+E,EAAG5E,GAAsB,OAAjB4E,EAAE9E,UAAYE,EAAU4E,CAAG,EAAUw+oB,GAAgBx+oB,EAAG5E,EAAI,CAEzK,SAASgU,GAAgBpP,GAAwJ,OAAnJoP,GAAkBpU,OAAOC,eAAiBD,OAAOogD,eAAiB,SAAyBp7C,GAAK,OAAOA,EAAE9E,WAAaF,OAAOogD,eAAep7C,EAAI,EAAUoP,GAAgBpP,EAAI,CAarM,IAAI4oxB,GAA4B,SAAU1iE,IA/BjD,SAAmB/nE,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIx+oB,UAAU,sDAAyDu+oB,EAASzipB,UAAYV,OAAOW,OAAOyipB,GAAcA,EAAW1ipB,UAAW,CAAED,YAAa,CAAE6C,MAAO6/oB,EAAUl7lB,UAAU,EAAMD,cAAc,KAAeo7lB,GAAYI,GAAgBL,EAAUC,EAAa,CAgC9X/xoB,CAAUu8wB,EAAc1iE,GAExB,IApCoB18E,EAAaE,EAAYC,EAoCzCr9nB,EAhCN,SAAsBwxoB,GAAW,IAAIC,EAA4BM,KAA6B,OAAO,WAAkC,IAAsC3/oB,EAAlCs/oB,EAAQ5uoB,GAAgB0uoB,GAAkB,GAAIC,EAA2B,CAAE,IAAIE,EAAY7uoB,GAAgB5T,MAAMC,YAAaiD,EAASvB,QAAQu3H,UAAUsphB,EAAO9hpB,UAAW+hpB,EAAY,MAASv/oB,EAASs/oB,EAAM3hpB,MAAMb,KAAMU,WAAc,OAAOysxB,GAA2BntxB,KAAMkD,EAAS,CAAG,CAgCzZ6N,CAAaq8wB,GA2C1B,SAASA,EAAaz0wB,EAASkD,EAAOw2B,EAAQu8V,EAAW1xW,EAAMi7sB,EAAek1C,GAC5E,IAAIC,EAAgBC,EAAiBC,EAEjCtkxB,GAtFR,SAAyByO,EAAUq2nB,GAAe,KAAMr2nB,aAAoBq2nB,GAAgB,MAAM,IAAI5poB,UAAU,oCAAwC,CAwFpJ4M,CAAgBhR,KAAMotxB,IAEtBlkxB,EAAQ4H,EAAOlQ,KAAKZ,KAAM2Y,IACpB5R,KAAO,eACbmC,EAAMivuB,cAAkC,OAAlBA,QAA4C,IAAlBA,EAA2BA,OAAgB55uB,EAE3F2K,EAAM2S,MAAQ4xwB,GAAiB9txB,MAAMkoB,QAAQhM,GAASA,EAAQA,EAAQ,CAACA,QAAStd,GAGhF,IAFA,IAAImvxB,EAAgB,GAEXzwD,EAAM,EAAGhlsB,EAAwC,QAA/B01vB,EAAczkxB,EAAM2S,aAAmC,IAAhB8xwB,EAAyBA,EAAc,GAAI1wD,EAAMhlsB,EAAMt3B,OAAQs8tB,IAAO,CACtI,IAAI0wD,EAGA/rI,EADQ3pnB,EAAMglsB,GACFr7E,IAEL,MAAPA,GACF8rI,EAAcppxB,KAAKs9oB,EAEvB,CAEA8rI,EAAgBD,GAAiBC,GAEjCxkxB,EAAMmpC,OAAoB,OAAXA,QAA8B,IAAXA,EAAoBA,EAA8C,QAApCi7uB,EAAiBI,SAA8C,IAAnBJ,OAA4B,EAASA,EAAe,GAAGj7uB,OACnKnpC,EAAM0lY,UAA0B,OAAdA,QAAoC,IAAdA,EAAuBA,EAAkD,QAArC2+Y,EAAkBG,SAA+C,IAApBH,OAA6B,EAASA,EAAgB1uxB,KAAI,SAAU+ipB,GAC3L,OAAOA,EAAIj6mB,KACb,IACAz+B,EAAMyya,UAAY/sC,GAAav8V,EAASu8V,EAAU/vY,KAAI,SAAUyvD,GAC9D,OAAOqmD,GAAYtiE,EAAQic,EAC7B,IAA2C,QAArCk/tB,EAAkBE,SAA+C,IAApBF,OAA6B,EAASA,EAAgB3uxB,KAAI,SAAU+ipB,GACrH,OAAOjtiB,GAAYitiB,EAAIvvmB,OAAQuvmB,EAAIj6mB,MACrC,IACAz+B,EAAMg0B,KAAgB,OAATA,QAA0B,IAATA,EAAkBA,OAAO3+B,EACvD,IJ1HiCuE,EI0H7B8qxB,EAAuC,OAAlBz1C,QAA4C,IAAlBA,OAA2B,EAASA,EAAck1C,WAwCrG,OAtCkB,MAAdA,IJ3HmB,UAAlBt7I,GAD4BjvoB,EI4HM8qxB,IJ3HM,OAAV9qxB,GI4HjCoG,EAAMmkxB,WA/HZ,SAAuBhsxB,GAAU,IAAK,IAAIb,EAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAAK,CAAE,IAAI6xC,EAAyB,MAAhB3xC,UAAUF,GAAaE,UAAUF,GAAK,CAAC,EAAOA,EAAI,EAAKw0jB,GAAQx1jB,OAAO6yC,IAAS,GAAMniC,SAAQ,SAAU5O,GAAOiT,GAAgBlT,EAAQC,EAAK+wC,EAAO/wC,GAAO,IAAe9B,OAAO8nM,0BAA6B9nM,OAAOi6gB,iBAAiBp4gB,EAAQ7B,OAAO8nM,0BAA0Bj1J,IAAmB2ihB,GAAQx1jB,OAAO6yC,IAASniC,SAAQ,SAAU5O,GAAO9B,OAAOqC,eAAeR,EAAQC,EAAK9B,OAAOkC,yBAAyB2wC,EAAQ/wC,GAAO,GAAM,CAAE,OAAOD,CAAQ,CA+H5fqyvB,CAAc,CAAC,EAAGk6B,GAErC1kxB,EAAMmkxB,WAA4B,OAAfA,QAAsC,IAAfA,EAAwBA,EAAa,CAAC,EAKlF7txB,OAAOi6gB,iBAAiBp7U,GAAuBn1L,GAAQ,CACrDyP,QAAS,CACP9O,YAAY,GAEd8xa,UAAW,CACT9xa,WAA+B,MAAnBX,EAAMyya,WAEpBz+Y,KAAM,CACJrzB,WAA0B,MAAdX,EAAMg0B,MAEpBmwvB,WAAY,CACVxjxB,WAAgC,MAApBX,EAAMmkxB,YAAsB7txB,OAAOgR,KAAKtH,EAAMmkxB,YAAY1sxB,OAAS,GAEjFoG,KAAM,CACJ8C,YAAY,GAEdgS,MAAO,CACLhS,YAAY,GAEdwoC,OAAQ,CACNxoC,YAAY,GAEd+kY,UAAW,CACT/kY,YAAY,GAEdsuuB,cAAe,CACbtuuB,YAAY,KAIM,OAAlBsuuB,QAA4C,IAAlBA,GAA4BA,EAAcj9rB,OACtE17C,OAAOqC,eAAew8L,GAAuBn1L,GAAQ,QAAS,CAC5DpG,MAAOq1uB,EAAcj9rB,MACrBuM,UAAU,EACVD,cAAc,IAET2luB,GAA2BjkxB,KAIhCP,MAAMohiB,kBACRphiB,MAAMohiB,kBAAkB1rW,GAAuBn1L,GAAQkkxB,GAEvD5txB,OAAOqC,eAAew8L,GAAuBn1L,GAAQ,QAAS,CAC5DpG,MAAO6F,QAAQuyC,MACfuM,UAAU,EACVD,cAAc,IAIXt+C,EACT,CAgBA,OAjMoB8koB,EAmLPo/I,GAnLoBl/I,EAmLN,CAAC,CAC1B5soB,IAAK,WACLwB,MAAO,WACL,OAuBC,SAAoBiC,GACzB,IAAIua,EAASva,EAAM4T,QAEnB,GAAI5T,EAAM8W,MACR,IAAK,IAAIgywB,EAAM,EAAGC,EAAgB/oxB,EAAM8W,MAAOgywB,EAAMC,EAAcntxB,OAAQktxB,IAAO,CAChF,IAAIjwwB,EAAOkwwB,EAAcD,GAErBjwwB,EAAKgkoB,MACPtioB,GAAU,OAAS2swB,GAAcruwB,EAAKgkoB,KAE1C,MACK,GAAI78oB,EAAMstC,QAAUttC,EAAM42a,UAC/B,IAAK,IAAIoyW,EAAM,EAAGC,EAAoBjpxB,EAAM42a,UAAWoyW,EAAMC,EAAkBrtxB,OAAQotxB,IAAO,CAC5F,IAAIxvvB,EAAWyvvB,EAAkBD,GACjCzuwB,GAAU,OAAS4swB,GAAoBnnxB,EAAMstC,OAAQ9T,EACvD,CAGF,OAAOjf,CACT,CA1Ca2uwB,CAAWjuxB,KACpB,GAGC,CACDsB,IAAKyqxB,GACLnlxB,IAAK,WACH,MAAO,QACT,MA9L0EknoB,GAAkBE,EAAY9toB,UAAWguoB,GAAiBC,GAAaL,GAAkBE,EAAaG,GAiM3Ki/I,CACT,CAjKuC,CAiKvB7iE,GAAiB5htB,QAEjC,SAAS8kxB,GAAiBlwwB,GACxB,YAAiBhf,IAAVgf,GAAwC,IAAjBA,EAAM5c,YAAepC,EAAYgf,CACjE,CC5MO,SAAS2wwB,GAAY77uB,EAAQznC,EAAUkwC,GAC5C,OAAO,IAAIsyuB,GAAa,iBAAiBruxB,OAAO+7C,QAAcv8C,EAAW8zC,EAAQ,CAACznC,GACpF,CCLO,IAAIujxB,GAAO3uxB,OAAOioM,OAAO,CAE9B9vG,KAAM,OAENmyqB,SAAU,WACVskB,qBAAsB,sBACtBC,oBAAqB,qBACrBC,cAAe,eACfC,MAAO,QACPC,SAAU,WAEVC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,oBAAqB,qBAErBC,SAAU,WACVC,IAAK,WACLC,MAAO,aACPC,OAAQ,cACRC,QAAS,eACTC,KAAM,YACNC,KAAM,YACNC,KAAM,YACNC,OAAQ,cACRC,aAAc,cAEdC,UAAW,YAEXC,WAAY,YACZC,UAAW,WACXC,cAAe,cAEfC,kBAAmB,mBACnBC,0BAA2B,0BAE3BC,uBAAwB,uBACxBC,uBAAwB,uBACxBC,iBAAkB,kBAClBC,uBAAwB,uBACxBC,0BAA2B,0BAC3BC,sBAAuB,sBACvBC,qBAAsB,qBACtBC,sBAAuB,sBACvBC,6BAA8B,4BAE9BC,qBAAsB,sBAEtBC,iBAAkB,kBAElBC,sBAAuB,sBACvBC,sBAAuB,sBACvBC,yBAA0B,yBAC1BC,qBAAsB,qBACtBC,oBAAqB,oBACrBC,4BAA6B,6BCxD/B,IACA,GADkD,oBAAX5sxB,QAA+C,oBAAfA,OAAOmxiB,IAAqBnxiB,OAAOmxiB,IAAI,mCAAgC52iB,ECK/H,SAASsyxB,GAAcC,GACpC,IAAI5twB,EAAK4twB,EAAY5wxB,UAAU26C,OACjB,oBAAP33B,GCRM,SAAmBunF,EAAW9xF,GAG3C,IAFuBvD,QAAQq1F,GAG7B,MAAM,IAAI9hG,MAAiB,MAAXgQ,EAAkBA,EAAU,kCAEhD,CDE8BitoB,CAAU,GACtCkrI,EAAY5wxB,UAAUyuD,QAAUzrC,EAE5B6twB,KACFD,EAAY5wxB,UAAU6wxB,IAA6B7twB,EAEvD,CERO,IAAI8twB,GAAwB,WAoBjC,SAASA,EAASC,EAAYC,EAAU7+uB,GACtCryC,KAAK2nC,MAAQspvB,EAAWtpvB,MACxB3nC,KAAKkd,IAAMg0wB,EAASh0wB,IACpBld,KAAKixxB,WAAaA,EAClBjxxB,KAAKkxxB,SAAWA,EAChBlxxB,KAAKqyC,OAASA,CAChB,CAWA,OATa2+uB,EAAS9wxB,UAEf26C,OAAS,WACd,MAAO,CACLlT,MAAO3nC,KAAK2nC,MACZzqB,IAAKld,KAAKkd,IAEd,EAEO8zwB,CACT,CAtCmC,GAwCnCH,GAAcG,IAMP,IAAI/tP,GAAqB,WA8B9B,SAASA,EAAM+a,EAAMr2gB,EAAOzqB,EAAKM,EAAMC,EAAQQ,EAAMnb,GACnD9C,KAAKg+iB,KAAOA,EACZh+iB,KAAK2nC,MAAQA,EACb3nC,KAAKkd,IAAMA,EACXld,KAAKwd,KAAOA,EACZxd,KAAKyd,OAASA,EACdzd,KAAK8C,MAAQA,EACb9C,KAAKie,KAAOA,EACZje,KAAKgD,KAAO,IACd,CAaA,OAXcigiB,EAAM/iiB,UAEZ26C,OAAS,WACf,MAAO,CACLmjgB,KAAMh+iB,KAAKg+iB,KACXl7iB,MAAO9C,KAAK8C,MACZ0a,KAAMxd,KAAKwd,KACXC,OAAQzd,KAAKyd,OAEjB,EAEOwlhB,CACT,CArDgC,GA4DzB,SAAS7vb,GAAOmjjB,GACrB,OAAoB,MAAbA,GAA+C,kBAAnBA,EAAUv4G,IAC/C,CAPA6yO,GAAc5tP,ICvGP,IAAIkuP,GAAY3xxB,OAAOioM,OAAO,CACnC2plB,IAAK,QACLC,IAAK,QACLC,KAAM,IACNC,OAAQ,IACRC,IAAK,IACLC,QAAS,IACTC,QAAS,IACTC,OAAQ,MACRC,MAAO,IACPC,OAAQ,IACRC,GAAI,IACJC,UAAW,IACXC,UAAW,IACXC,QAAS,IACTC,KAAM,IACNC,QAAS,IACTx6rB,KAAM,OACNk3rB,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRqD,aAAc,cACdnzwB,QAAS,YC1BX,SAAS8ynB,GAAQpqnB,GAAmV,OAAtOoqnB,GAArD,oBAAX/toB,QAAoD,kBAApBA,OAAOC,SAAmC,SAAiB0jB,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAX3jB,QAAyB2jB,EAAI1nB,cAAgB+D,QAAU2jB,IAAQ3jB,OAAO9D,UAAY,gBAAkBynB,CAAK,EAAYoqnB,GAAQpqnB,EAAM,CAIzX,IAAI0qwB,GAAmB,GACnBC,GAAsB,EAKX,SAAS3juB,GAAQ7rD,GAC9B,OAAOiqF,GAAYjqF,EAAO,GAC5B,CAEA,SAASiqF,GAAYjqF,EAAOyvxB,GAC1B,OAAQxgJ,GAAQjvoB,IACd,IAAK,SACH,OAAOyrB,KAAKhP,UAAUzc,GAExB,IAAK,WACH,OAAOA,EAAMiE,KAAO,aAAahI,OAAO+D,EAAMiE,KAAM,KAAO,aAE7D,IAAK,SACH,OAAc,OAAVjE,EACK,OAUf,SAA2BA,EAAO0vxB,GAChC,IAA6C,IAAzCA,EAAqBxxxB,QAAQ8B,GAC/B,MAAO,aAGT,IAAIyvxB,EAAa,GAAGxzxB,OAAOyzxB,EAAsB,CAAC1vxB,IAC9C2vxB,EA2DN,SAAqBvhvB,GACnB,IAAIuhvB,EAAkBvhvB,EAAO/hC,OAAO4hxB,KAEpC,GAA+B,oBAApB0B,EACT,OAAOA,EAGT,GAA8B,oBAAnBvhvB,EAAOyd,QAChB,OAAOzd,EAAOyd,OAElB,CArEwB+juB,CAAY5vxB,GAElC,QAAwBvE,IAApBk0xB,EAA+B,CACjC,IAAIE,EAAcF,EAAgB7xxB,KAAKkC,GAEvC,GAAI6vxB,IAAgB7vxB,EAClB,MAA8B,kBAAhB6vxB,EAA2BA,EAAc5lsB,GAAY4lsB,EAAaJ,EAEpF,MAAO,GAAI5yxB,MAAMkoB,QAAQ/kB,GACvB,OAwBJ,SAAqBya,EAAOg1wB,GAC1B,GAAqB,IAAjBh1wB,EAAM5c,OACR,MAAO,KAGT,GAAI4xxB,EAAW5xxB,OAAS2xxB,GACtB,MAAO,UAOT,IAJA,IAAI7jxB,EAAMnD,KAAK05B,IAAIqtvB,GAAkB90wB,EAAM5c,QACvCurD,EAAY3uC,EAAM5c,OAAS8N,EAC3B24E,EAAQ,GAEH5mF,EAAI,EAAGA,EAAIiO,IAAOjO,EACzB4mF,EAAM9iF,KAAKyoF,GAAYxvE,EAAM/c,GAAI+xxB,IAGjB,IAAdrmuB,EACFk7B,EAAM9iF,KAAK,mBACF4nD,EAAY,GACrBk7B,EAAM9iF,KAAK,OAAOvF,OAAOmtD,EAAW,gBAGtC,MAAO,IAAMk7B,EAAM33E,KAAK,MAAQ,GAClC,CAhDWmjxB,CAAY9vxB,EAAOyvxB,GAG5B,OAGF,SAAsBrhvB,EAAQqhvB,GAC5B,IAAI/hxB,EAAOhR,OAAOgR,KAAK0gC,GAEvB,GAAoB,IAAhB1gC,EAAK7P,OACP,MAAO,KAGT,GAAI4xxB,EAAW5xxB,OAAS2xxB,GACtB,MAAO,IAgDX,SAAsBphvB,GACpB,IAAIh2B,EAAM1b,OAAOU,UAAUsP,SAAS5O,KAAKswC,GAAQ72B,QAAQ,aAAc,IAAIA,QAAQ,KAAM,IAEzF,GAAY,WAARa,GAAkD,oBAAvBg2B,EAAOjxC,YAA4B,CAChE,IAAI8G,EAAOmqC,EAAOjxC,YAAY8G,KAE9B,GAAoB,kBAATA,GAA8B,KAATA,EAC9B,OAAOA,CAEX,CAEA,OAAOmU,CACT,CA5DiB23wB,CAAa3hvB,GAAU,IAGtC,IAAIx3B,EAAalJ,EAAK3R,KAAI,SAAUyC,GAElC,OAAOA,EAAM,KADDyrF,GAAY77C,EAAO5vC,GAAMixxB,EAEvC,IACA,MAAO,KAAO74wB,EAAWjK,KAAK,MAAQ,IACxC,CAnBSy9E,CAAapqF,EAAOyvxB,EAC7B,CA1BaO,CAAkBhwxB,EAAOyvxB,GAElC,QACE,OAAOpjxB,OAAOrM,GAEpB,CChCe,SAASiwxB,GAAUtorB,EAAW9xF,GAG3C,IAFuBvD,QAAQq1F,GAG7B,MAAM,IAAI9hG,MAAMgQ,EAEpB,CCIA,OAEA,SAAoB7V,EAAO7C,GACzB,OAAO6C,aAAiB7C,CAC1B,ECdA,SAAS6toB,GAAkBzsoB,EAAQiQ,GAAS,IAAK,IAAI9Q,EAAI,EAAGA,EAAI8Q,EAAM3Q,OAAQH,IAAK,CAAE,IAAIusE,EAAaz7D,EAAM9Q,GAAIusE,EAAWljE,WAAakjE,EAAWljE,aAAc,EAAOkjE,EAAWvlB,cAAe,EAAU,UAAWulB,IAAYA,EAAWtlB,UAAW,GAAMjoD,OAAOqC,eAAeR,EAAQ0rE,EAAWzrE,IAAKyrE,EAAa,CAAE,CAgBrT,IAAIimtB,GAAsB,WAC/B,SAASA,EAAO1vxB,GACd,IAAIyD,EAAOrG,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,kBAC3E0rxB,EAAiB1rxB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,CACvF8c,KAAM,EACNC,OAAQ,GAEM,kBAATna,GAAqByvxB,GAAU,EAAG,oCAAoCh0xB,OAAO4vD,GAAQrrD,GAAO,MACnGtD,KAAKsD,KAAOA,EACZtD,KAAK+G,KAAOA,EACZ/G,KAAKosxB,eAAiBA,EACtBpsxB,KAAKosxB,eAAe5uwB,KAAO,GAAKu1wB,GAAU,EAAG,6DAC7C/yxB,KAAKosxB,eAAe3uwB,OAAS,GAAKs1wB,GAAU,EAAG,8DACjD,CA3BF,IAAsB/kJ,EAAaE,EAAYC,EAqC7C,OArCoBH,EA8BPglJ,GA9BoB9kJ,EA8BZ,CAAC,CACpB5soB,IAAKyqxB,GACLnlxB,IAAK,WACH,MAAO,QACT,MAlC0EknoB,GAAkBE,EAAY9toB,UAAWguoB,GAAiBC,GAAaL,GAAkBE,EAAaG,GAqC3K6kJ,CACT,CAxBiC,GCb1B,IAAIC,GAAoBzzxB,OAAOioM,OAAO,CAE3CyrlB,MAAO,QACPC,SAAU,WACVC,aAAc,eACd7E,MAAO,QACPI,oBAAqB,sBACrBF,gBAAiB,kBACjBC,gBAAiB,kBACjBL,oBAAqB,sBAErBgF,OAAQ,SACRC,OAAQ,SACRlE,OAAQ,SACRU,iBAAkB,mBAClByD,oBAAqB,sBACrBC,UAAW,YACXC,MAAO,QACPvE,KAAM,OACNwE,WAAY,aACZC,aAAc,eACdC,uBAAwB,2BChBnB,SAASC,GAAuBC,GAErC,IAAInsT,EAAQmsT,EAAUhhxB,MAAM,gBAExBihxB,EAuCC,SAAmCjxxB,GAQxC,IAPA,IAAIkxxB,EAEAC,GAAc,EACdC,GAAc,EACd5+P,EAAS,EACTy+P,EAAe,KAEVvzxB,EAAI,EAAGA,EAAIsC,EAAMnC,SAAUH,EAClC,OAAQsC,EAAM4L,WAAWlO,IACvB,KAAK,GAE6B,KAA5BsC,EAAM4L,WAAWlO,EAAI,MACrBA,EAKN,KAAK,GAEHyzxB,GAAc,EACdC,GAAc,EACd5+P,EAAS,EACT,MAEF,KAAK,EAEL,KAAK,KAEDA,EACF,MAEF,QACM4+P,IAAgBD,IAAiC,OAAjBF,GAAyBz+P,EAASy+P,KACpEA,EAAez+P,GAGjB4+P,GAAc,EAIpB,OAA0C,QAAlCF,EAAgBD,SAA4C,IAAlBC,EAA2BA,EAAgB,CAC/F,CAjFqBG,CAA0BL,GAE7C,GAAqB,IAAjBC,EACF,IAAK,IAAIvzxB,EAAI,EAAGA,EAAImne,EAAMhne,OAAQH,IAChCmne,EAAMnne,GAAKmne,EAAMnne,GAAG2c,MAAM42wB,GAO9B,IAFA,IAAIK,EAAY,EAETA,EAAYzsT,EAAMhne,QAAUsyU,GAAQ00J,EAAMysT,OAC7CA,EAKJ,IAFA,IAAIC,EAAU1sT,EAAMhne,OAEb0zxB,EAAUD,GAAanhd,GAAQ00J,EAAM0sT,EAAU,OAClDA,EAIJ,OAAO1sT,EAAMxqd,MAAMi3wB,EAAWC,GAAS5kxB,KAAK,KAC9C,CAEA,SAASwjU,GAAQ74T,GACf,IAAK,IAAI5Z,EAAI,EAAGA,EAAI4Z,EAAIzZ,SAAUH,EAChC,GAAe,MAAX4Z,EAAI5Z,IAAyB,OAAX4Z,EAAI5Z,GACxB,OAAO,EAIX,OAAO,CACT,CChCO,IAAI8zxB,GAAqB,WAgB9B,SAASA,EAAMjivB,GACb,IAAIkivB,EAAmB,IAAItxP,GAAMkuP,GAAAA,IAAe,EAAG,EAAG,EAAG,EAAG,MAC5DnxxB,KAAKqyC,OAASA,EACdryC,KAAKw0xB,UAAYD,EACjBv0xB,KAAKoe,MAAQm2wB,EACbv0xB,KAAKwd,KAAO,EACZxd,KAAKy0xB,UAAY,CACnB,CAMA,IAAI74wB,EAAS04wB,EAAMp0xB,UA4BnB,OA1BA0b,EAAO84wB,QAAU,WAGf,OAFA10xB,KAAKw0xB,UAAYx0xB,KAAKoe,MACVpe,KAAKoe,MAAQpe,KAAKwqkB,WAEhC,EAOA5ujB,EAAO4ujB,UAAY,WACjB,IAAIpsjB,EAAQpe,KAAKoe,MAEjB,GAAIA,EAAM4/hB,OAASmzO,GAAAA,IACjB,EAAG,CACD,IAAIwD,EAGJv2wB,EAAuC,QAA9Bu2wB,EAAcv2wB,EAAMpb,YAAkC,IAAhB2xxB,EAAyBA,EAAcv2wB,EAAMpb,KAAO4xxB,GAAU50xB,KAAMoe,EACrH,OAASA,EAAM4/hB,OAASmzO,GAAAA,SAG1B,OAAO/ywB,CACT,EAEOk2wB,CACT,CA1DgC,GAmEhC,SAASO,GAActivB,GACrB,OACEx4B,MAAMw4B,GAAQ4+uB,GAAAA,IACd5+uB,EAAO,IAAShkB,KAAKhP,UAAUpQ,OAAOC,aAAamjC,IACnD,OAAQxzC,QAAQ,KAAOwzC,EAAK/iC,SAAS,IAAIoiC,eAAez0B,OAAO,GAAI,IAEvE,CAUA,SAASy3wB,GAAUE,EAAO72wB,GAMxB,IALA,IAAIo0B,EAASyivB,EAAMzivB,OACf/uC,EAAO+uC,EAAO/uC,KACdyxxB,EAAazxxB,EAAK3C,OAClB2tD,EAAMrwC,EAAKf,IAERoxC,EAAMymuB,GAAY,CACvB,IAAIxivB,EAAOjvC,EAAKoL,WAAW4/C,GACvB0muB,EAAQF,EAAMt3wB,KAEdy3wB,EAAO,EAAI3muB,EAAMwmuB,EAAML,UAG3B,OAAQlivB,GACN,KAAK,MAEL,KAAK,EAEL,KAAK,GAEL,KAAK,KAED+b,EACF,SAEF,KAAK,KAEDA,IACAwmuB,EAAMt3wB,KACRs3wB,EAAML,UAAYnmuB,EAClB,SAEF,KAAK,GAE8B,KAA7BhrD,EAAKoL,WAAW4/C,EAAM,GACxBA,GAAO,IAELA,IAGFwmuB,EAAMt3wB,KACRs3wB,EAAML,UAAYnmuB,EAClB,SAEF,KAAK,GAEH,OAAO,IAAI20e,GAAMkuP,GAAAA,KAAgB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAE9D,KAAK,GAEH,OAAOi3wB,GAAY7ivB,EAAQic,EAAK0muB,EAAOC,EAAMh3wB,GAE/C,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,OAAkB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEhE,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,IAAe7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAE7D,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,QAAmB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEjE,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,QAAmB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEjE,KAAK,GAEH,GAAiC,KAA7B3a,EAAKoL,WAAW4/C,EAAM,IAA0C,KAA7BhrD,EAAKoL,WAAW4/C,EAAM,GAC3D,OAAO,IAAI20e,GAAMkuP,GAAAA,OAAkB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAGhE,MAEF,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,MAAiB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAE/D,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,OAAkB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEhE,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,GAAc7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAE5D,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,UAAqB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEnE,KAAK,GAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,UAAqB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEnE,KAAK,IAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,QAAmB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEjE,KAAK,IAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,KAAgB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAE9D,KAAK,IAEH,OAAO,IAAIglhB,GAAMkuP,GAAAA,QAAmB7iuB,EAAKA,EAAM,EAAG0muB,EAAOC,EAAMh3wB,GAEjE,KAAK,GAEH,OAAiC,KAA7B3a,EAAKoL,WAAW4/C,EAAM,IAA0C,KAA7BhrD,EAAKoL,WAAW4/C,EAAM,GACpD6muB,GAAgB9ivB,EAAQic,EAAK0muB,EAAOC,EAAMh3wB,EAAM62wB,GAGlD72N,GAAW5rhB,EAAQic,EAAK0muB,EAAOC,EAAMh3wB,GAE9C,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEH,OAAOm3wB,GAAW/ivB,EAAQic,EAAK/b,EAAMyivB,EAAOC,EAAMh3wB,GAEpD,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,GAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEL,KAAK,IAEH,OAAOo3wB,GAAShjvB,EAAQic,EAAK0muB,EAAOC,EAAMh3wB,GAG9C,MAAMiwwB,GAAY77uB,EAAQic,EAAKgnuB,GAA2B/ivB,GAC5D,CAEA,IAAI/0B,EAAOs3wB,EAAMt3wB,KACb6pH,EAAM,EAAI/4E,EAAMwmuB,EAAML,UAC1B,OAAO,IAAIxxP,GAAMkuP,GAAAA,IAAe4D,EAAYA,EAAYv3wB,EAAM6pH,EAAKppH,EACrE,CAMA,SAASq3wB,GAA2B/ivB,GAClC,OAAIA,EAAO,IAAmB,IAATA,GAA4B,KAATA,GAA4B,KAATA,EAClD,wCAAwCxzC,OAAO81xB,GAActivB,GAAO,KAGhE,KAATA,EAEK,kFAGF,yCAAyCxzC,OAAO81xB,GAActivB,GAAO,IAC9E,CAQA,SAAS2ivB,GAAY7ivB,EAAQ1K,EAAOnqB,EAAM6pH,EAAKppH,GAC7C,IACIs0B,EADAjvC,EAAO+uC,EAAO/uC,KAEdsH,EAAW+8B,EAEf,GACE4K,EAAOjvC,EAAKoL,aAAa9D,UACjBmP,MAAMw4B,KAChBA,EAAO,IAAmB,IAATA,IAEjB,OAAO,IAAI0wf,GAAMkuP,GAAAA,QAAmBxpvB,EAAO/8B,EAAU4S,EAAM6pH,EAAKppH,EAAM3a,EAAK6Z,MAAMwqB,EAAQ,EAAG/8B,GAC9F,CAUA,SAASwqxB,GAAW/ivB,EAAQ1K,EAAO4tvB,EAAW/3wB,EAAM6pH,EAAKppH,GACvD,IAAI3a,EAAO+uC,EAAO/uC,KACdivC,EAAOgjvB,EACP3qxB,EAAW+8B,EACX6tvB,GAAU,EAOd,GALa,KAATjjvB,IAEFA,EAAOjvC,EAAKoL,aAAa9D,IAGd,KAAT2nC,GAIF,IAFAA,EAAOjvC,EAAKoL,aAAa9D,KAEb,IAAM2nC,GAAQ,GACxB,MAAM27uB,GAAY77uB,EAAQznC,EAAU,6CAA6C7L,OAAO81xB,GAActivB,GAAO,WAG/G3nC,EAAW6qxB,GAAWpjvB,EAAQznC,EAAU2nC,GACxCA,EAAOjvC,EAAKoL,WAAW9D,GA0BzB,GAvBa,KAAT2nC,IAEFijvB,GAAU,EACVjjvB,EAAOjvC,EAAKoL,aAAa9D,GACzBA,EAAW6qxB,GAAWpjvB,EAAQznC,EAAU2nC,GACxCA,EAAOjvC,EAAKoL,WAAW9D,IAGZ,KAAT2nC,GAAwB,MAATA,IAEjBijvB,GAAU,EAGG,MAFbjjvB,EAAOjvC,EAAKoL,aAAa9D,KAEG,KAAT2nC,IAEjBA,EAAOjvC,EAAKoL,aAAa9D,IAG3BA,EAAW6qxB,GAAWpjvB,EAAQznC,EAAU2nC,GACxCA,EAAOjvC,EAAKoL,WAAW9D,IAIZ,KAAT2nC,GAsON,SAAqBA,GACnB,OAAgB,KAATA,GAAeA,GAAQ,IAAMA,GAAQ,IAAMA,GAAQ,IAAMA,GAAQ,GAC1E,CAxOqBmjvB,CAAYnjvB,GAC7B,MAAM27uB,GAAY77uB,EAAQznC,EAAU,2CAA2C7L,OAAO81xB,GAActivB,GAAO,MAG7G,OAAO,IAAI0wf,GAAMuyP,EAAUrE,GAAAA,MAAkBA,GAAAA,IAAexpvB,EAAO/8B,EAAU4S,EAAM6pH,EAAKppH,EAAM3a,EAAK6Z,MAAMwqB,EAAO/8B,GAClH,CAMA,SAAS6qxB,GAAWpjvB,EAAQ1K,EAAO4tvB,GACjC,IAAIjyxB,EAAO+uC,EAAO/uC,KACdsH,EAAW+8B,EACX4K,EAAOgjvB,EAEX,GAAIhjvB,GAAQ,IAAMA,GAAQ,GAAI,CAE5B,GACEA,EAAOjvC,EAAKoL,aAAa9D,SAClB2nC,GAAQ,IAAMA,GAAQ,IAG/B,OAAO3nC,CACT,CAEA,MAAMsjxB,GAAY77uB,EAAQznC,EAAU,2CAA2C7L,OAAO81xB,GAActivB,GAAO,KAC7G,CAQA,SAAS0rhB,GAAW5rhB,EAAQ1K,EAAOnqB,EAAM6pH,EAAKppH,GAO5C,IANA,IAAI3a,EAAO+uC,EAAO/uC,KACdsH,EAAW+8B,EAAQ,EACnBguvB,EAAa/qxB,EACb2nC,EAAO,EACPzvC,EAAQ,GAEL8H,EAAWtH,EAAK3C,SAAWoZ,MAAMw4B,EAAOjvC,EAAKoL,WAAW9D,KACtD,KAAT2nC,GAA4B,KAATA,GAAiB,CAElC,GAAa,KAATA,EAEF,OADAzvC,GAASQ,EAAK6Z,MAAMw4wB,EAAY/qxB,GACzB,IAAIq4hB,GAAMkuP,GAAAA,OAAkBxpvB,EAAO/8B,EAAW,EAAG4S,EAAM6pH,EAAKppH,EAAMnb,GAI3E,GAAIyvC,EAAO,IAAmB,IAATA,EACnB,MAAM27uB,GAAY77uB,EAAQznC,EAAU,oCAAoC7L,OAAO81xB,GAActivB,GAAO,MAKtG,KAFE3nC,EAEW,KAAT2nC,EAAa,CAKf,OAHAzvC,GAASQ,EAAK6Z,MAAMw4wB,EAAY/qxB,EAAW,GAC3C2nC,EAAOjvC,EAAKoL,WAAW9D,IAGrB,KAAK,GACH9H,GAAS,IACT,MAEF,KAAK,GACHA,GAAS,IACT,MAEF,KAAK,GACHA,GAAS,KACT,MAEF,KAAK,GACHA,GAAS,KACT,MAEF,KAAK,IACHA,GAAS,KACT,MAEF,KAAK,IACHA,GAAS,KACT,MAEF,KAAK,IACHA,GAAS,KACT,MAEF,KAAK,IACHA,GAAS,KACT,MAEF,KAAK,IAGD,IAAIiyH,EAAW6gqB,GAAYtyxB,EAAKoL,WAAW9D,EAAW,GAAItH,EAAKoL,WAAW9D,EAAW,GAAItH,EAAKoL,WAAW9D,EAAW,GAAItH,EAAKoL,WAAW9D,EAAW,IAEnJ,GAAImqH,EAAW,EAAG,CAChB,IAAI8gqB,EAAkBvyxB,EAAK6Z,MAAMvS,EAAW,EAAGA,EAAW,GAC1D,MAAMsjxB,GAAY77uB,EAAQznC,EAAU,yCAAyC7L,OAAO82xB,EAAiB,KACvG,CAEA/yxB,GAASqM,OAAOC,aAAa2lH,GAC7BnqH,GAAY,EACZ,MAGJ,QACE,MAAMsjxB,GAAY77uB,EAAQznC,EAAU,wCAAwC7L,OAAOoQ,OAAOC,aAAamjC,GAAO,MAIlHojvB,IADE/qxB,CAEJ,CACF,CAEA,MAAMsjxB,GAAY77uB,EAAQznC,EAAU,uBACtC,CAQA,SAASuqxB,GAAgB9ivB,EAAQ1K,EAAOnqB,EAAM6pH,EAAKppH,EAAM62wB,GAOvD,IANA,IAAIxxxB,EAAO+uC,EAAO/uC,KACdsH,EAAW+8B,EAAQ,EACnBguvB,EAAa/qxB,EACb2nC,EAAO,EACPmK,EAAW,GAER9xC,EAAWtH,EAAK3C,SAAWoZ,MAAMw4B,EAAOjvC,EAAKoL,WAAW9D,KAAY,CAEzE,GAAa,KAAT2nC,GAAiD,KAAlCjvC,EAAKoL,WAAW9D,EAAW,IAA+C,KAAlCtH,EAAKoL,WAAW9D,EAAW,GAEpF,OADA8xC,GAAYp5C,EAAK6Z,MAAMw4wB,EAAY/qxB,GAC5B,IAAIq4hB,GAAMkuP,GAAAA,aAAwBxpvB,EAAO/8B,EAAW,EAAG4S,EAAM6pH,EAAKppH,EAAM41wB,GAAuBn3uB,IAIxG,GAAInK,EAAO,IAAmB,IAATA,GAA4B,KAATA,GAA4B,KAATA,EACzD,MAAM27uB,GAAY77uB,EAAQznC,EAAU,oCAAoC7L,OAAO81xB,GAActivB,GAAO,MAGzF,KAATA,KAEA3nC,IACAkqxB,EAAMt3wB,KACRs3wB,EAAML,UAAY7pxB,GACA,KAAT2nC,GAE6B,KAAlCjvC,EAAKoL,WAAW9D,EAAW,GAC7BA,GAAY,IAEVA,IAGFkqxB,EAAMt3wB,KACRs3wB,EAAML,UAAY7pxB,GAEX,KAAT2nC,GAAiD,KAAlCjvC,EAAKoL,WAAW9D,EAAW,IAA+C,KAAlCtH,EAAKoL,WAAW9D,EAAW,IAA+C,KAAlCtH,EAAKoL,WAAW9D,EAAW,IACxH8xC,GAAYp5C,EAAK6Z,MAAMw4wB,EAAY/qxB,GAAY,MAE/C+qxB,EADA/qxB,GAAY,KAGVA,CAEN,CAEA,MAAMsjxB,GAAY77uB,EAAQznC,EAAU,uBACtC,CAaA,SAASgrxB,GAAYzwxB,EAAG5F,EAAGiC,EAAGlC,GAC5B,OAAOw2xB,GAAS3wxB,IAAM,GAAK2wxB,GAASv2xB,IAAM,EAAIu2xB,GAASt0xB,IAAM,EAAIs0xB,GAASx2xB,EAC5E,CAWA,SAASw2xB,GAAS3wxB,GAChB,OAAOA,GAAK,IAAMA,GAAK,GAAKA,EAAI,GAC9BA,GAAK,IAAMA,GAAK,GAAKA,EAAI,GACzBA,GAAK,IAAMA,GAAK,IAAMA,EAAI,IACzB,CACL,CAQA,SAASkwxB,GAAShjvB,EAAQ1K,EAAOnqB,EAAM6pH,EAAKppH,GAM1C,IALA,IAAI3a,EAAO+uC,EAAO/uC,KACdyxxB,EAAazxxB,EAAK3C,OAClBiK,EAAW+8B,EAAQ,EACnB4K,EAAO,EAEJ3nC,IAAamqxB,IAAeh7wB,MAAMw4B,EAAOjvC,EAAKoL,WAAW9D,MAAwB,KAAT2nC,GAC/EA,GAAQ,IAAMA,GAAQ,IACtBA,GAAQ,IAAMA,GAAQ,IACtBA,GAAQ,IAAMA,GAAQ,QAElB3nC,EAGJ,OAAO,IAAIq4hB,GAAMkuP,GAAAA,KAAgBxpvB,EAAO/8B,EAAU4S,EAAM6pH,EAAKppH,EAAM3a,EAAK6Z,MAAMwqB,EAAO/8B,GACvF,CC/oBO,SAAS8U,GAAM2yB,EAAQr3B,GAE5B,OADa,IAAIolhB,GAAO/tf,EAAQr3B,GAClB+6wB,eAChB,CAiDO,IAAI31P,GAAsB,WAC/B,SAASA,EAAO/tf,EAAQr3B,GACtB,IAAIg7wB,EJrBD,SAAkB3jvB,GACvB,OAAOg8jB,GAAWh8jB,EAAQ2gvB,GAC5B,CImBoBiD,CAAS5jvB,GAAUA,EAAS,IAAI2gvB,GAAO3gvB,GACvDryC,KAAKk2xB,OAAS,IAAI5B,GAAM0B,GACxBh2xB,KAAKy1G,SAAWz6F,CAClB,CAMA,IAAIY,EAASwkhB,EAAOlgiB,UA26CpB,OAz6CA0b,EAAOu6wB,UAAY,WACjB,IAAI/3wB,EAAQpe,KAAKo2xB,YAAYjF,GAAAA,MAC7B,MAAO,CACLnzO,KAAMmwO,GAAKx2rB,KACX70F,MAAOsb,EAAMtb,MACb8+oB,IAAK5hpB,KAAK4hpB,IAAIxjoB,GAElB,EAOAxC,EAAOm6wB,cAAgB,WACrB,IAAIpuvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxB,MAAO,CACL4/hB,KAAMmwO,GAAKrkB,SACX6I,YAAa3ywB,KAAKq2xB,KAAKlF,GAAAA,IAAenxxB,KAAKs2xB,gBAAiBnF,GAAAA,KAC5DvvI,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAaA/rB,EAAO06wB,gBAAkB,WACvB,GAAIt2xB,KAAKke,KAAKizwB,GAAAA,MACZ,OAAQnxxB,KAAKk2xB,OAAO93wB,MAAMtb,OACxB,IAAK,QACL,IAAK,WACL,IAAK,eACH,OAAO9C,KAAKu2xB,2BAEd,IAAK,WACH,OAAOv2xB,KAAKw2xB,0BAEd,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,OACL,IAAK,QACL,IAAK,YACH,OAAOx2xB,KAAKy2xB,4BAEd,IAAK,SACH,OAAOz2xB,KAAK02xB,+BAEX,IAAI12xB,KAAKke,KAAKizwB,GAAAA,SACnB,OAAOnxxB,KAAKu2xB,2BACP,GAAIv2xB,KAAK22xB,kBACd,OAAO32xB,KAAKy2xB,2BACd,CAEA,MAAMz2xB,KAAK42xB,YACb,EASAh7wB,EAAO26wB,yBAA2B,WAChC,IAAI5uvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MAExB,GAAIpe,KAAKke,KAAKizwB,GAAAA,SACZ,MAAO,CACLnzO,KAAMmwO,GAAKC,qBACX/lxB,UAAW,QACXtB,UAAMxI,EACNs4xB,oBAAqB,GACrBC,WAAY,GACZC,aAAc/2xB,KAAKg3xB,oBACnBp1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,IAIlB,IACI5gC,EADAsB,EAAYrI,KAAKi3xB,qBAOrB,OAJIj3xB,KAAKke,KAAKizwB,GAAAA,QACZpqxB,EAAO/G,KAAKm2xB,aAGP,CACLn4O,KAAMmwO,GAAKC,qBACX/lxB,UAAWA,EACXtB,KAAMA,EACN8vxB,oBAAqB72xB,KAAKk3xB,2BAC1BJ,WAAY92xB,KAAKm3xB,iBAAgB,GACjCJ,aAAc/2xB,KAAKg3xB,oBACnBp1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOq7wB,mBAAqB,WAC1B,IAAIG,EAAiBp3xB,KAAKo2xB,YAAYjF,GAAAA,MAEtC,OAAQiG,EAAet0xB,OACrB,IAAK,QACH,MAAO,QAET,IAAK,WACH,MAAO,WAET,IAAK,eACH,MAAO,eAGX,MAAM9C,KAAK42xB,WAAWQ,EACxB,EAMAx7wB,EAAOs7wB,yBAA2B,WAChC,OAAOl3xB,KAAKq3xB,aAAalG,GAAAA,QAAmBnxxB,KAAKs3xB,wBAAyBnG,GAAAA,QAC5E,EAMAv1wB,EAAO07wB,wBAA0B,WAC/B,IAAI3vvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxB,MAAO,CACL4/hB,KAAMmwO,GAAKE,oBACXluwB,SAAUngB,KAAKu3xB,gBACf//wB,MAAOxX,KAAKo2xB,YAAYjF,GAAAA,OAAkBnxxB,KAAKw3xB,sBAC/CpjxB,aAAcpU,KAAKy3xB,oBAAoBtG,GAAAA,QAAoBnxxB,KAAK03xB,mBAAkB,QAAQn5xB,EAC1Fu4xB,WAAY92xB,KAAKm3xB,iBAAgB,GACjCv1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAO27wB,cAAgB,WACrB,IAAI5vvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MAExB,OADApe,KAAKo2xB,YAAYjF,GAAAA,QACV,CACLnzO,KAAMmwO,GAAKS,SACX7nxB,KAAM/G,KAAKm2xB,YACXv0I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOo7wB,kBAAoB,WACzB,IAAIrvvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxB,MAAO,CACL4/hB,KAAMmwO,GAAKG,cACXl8P,WAAYpyhB,KAAKq2xB,KAAKlF,GAAAA,QAAmBnxxB,KAAK23xB,eAAgBxG,GAAAA,SAC9DvvI,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EASA/rB,EAAO+7wB,eAAiB,WACtB,OAAO33xB,KAAKke,KAAKizwB,GAAAA,QAAoBnxxB,KAAK43xB,gBAAkB53xB,KAAK63xB,YACnE,EAQAj8wB,EAAOi8wB,WAAa,WAClB,IAEIpgsB,EACA1wF,EAHA4gC,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB05wB,EAAc93xB,KAAKm2xB,YAWvB,OAPIn2xB,KAAKy3xB,oBAAoBtG,GAAAA,QAC3B15rB,EAAQqgsB,EACR/wxB,EAAO/G,KAAKm2xB,aAEZpvxB,EAAO+wxB,EAGF,CACL95O,KAAMmwO,GAAKI,MACX92rB,MAAOA,EACP1wF,KAAMA,EACNrG,UAAWV,KAAK+3xB,gBAAe,GAC/BjB,WAAY92xB,KAAKm3xB,iBAAgB,GACjCJ,aAAc/2xB,KAAKke,KAAKizwB,GAAAA,SAAqBnxxB,KAAKg3xB,yBAAsBz4xB,EACxEqjpB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOm8wB,eAAiB,SAAwBC,GAC9C,IAAI5+wB,EAAO4+wB,EAAUh4xB,KAAKi4xB,mBAAqBj4xB,KAAKk4xB,cACpD,OAAOl4xB,KAAKq3xB,aAAalG,GAAAA,QAAmB/3wB,EAAM+3wB,GAAAA,QACpD,EAMAv1wB,EAAOs8wB,cAAgB,WACrB,IAAIvwvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpBrX,EAAO/G,KAAKm2xB,YAEhB,OADAn2xB,KAAKo2xB,YAAYjF,GAAAA,OACV,CACLnzO,KAAMmwO,GAAKK,SACXznxB,KAAMA,EACNjE,MAAO9C,KAAK03xB,mBAAkB,GAC9B91I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAEA/rB,EAAOq8wB,mBAAqB,WAC1B,IAAItwvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxB,MAAO,CACL4/hB,KAAMmwO,GAAKK,SACXznxB,KAAM/G,KAAKm2xB,YACXrzxB,OAAQ9C,KAAKo2xB,YAAYjF,GAAAA,OAAkBnxxB,KAAK03xB,mBAAkB,IAClE91I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAWA/rB,EAAOg8wB,cAAgB,WACrB,IAAIjwvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKo2xB,YAAYjF,GAAAA,QACjB,IAAIgH,EAAmBn4xB,KAAKo4xB,sBAAsB,MAElD,OAAKD,GAAoBn4xB,KAAKke,KAAKizwB,GAAAA,MAC1B,CACLnzO,KAAMmwO,GAAKM,gBACX1nxB,KAAM/G,KAAKq4xB,oBACXvB,WAAY92xB,KAAKm3xB,iBAAgB,GACjCv1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,IAIX,CACLq2gB,KAAMmwO,GAAKO,gBACX4J,cAAeH,EAAmBn4xB,KAAKu4xB,sBAAmBh6xB,EAC1Du4xB,WAAY92xB,KAAKm3xB,iBAAgB,GACjCJ,aAAc/2xB,KAAKg3xB,oBACnBp1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EASA/rB,EAAO46wB,wBAA0B,WAC/B,IAAI94qB,EAEA/1E,EAAQ3nC,KAAKk2xB,OAAO93wB,MAKxB,OAJApe,KAAKw4xB,cAAc,aAIsH,KAA/F,QAApC96qB,EAAiB19G,KAAKy1G,gBAAyC,IAAnBiI,OAA4B,EAASA,EAAe+6qB,+BAC7F,CACLz6O,KAAMmwO,GAAKQ,oBACX5nxB,KAAM/G,KAAKq4xB,oBACXxB,oBAAqB72xB,KAAKk3xB,2BAC1BoB,eAAgBt4xB,KAAKw4xB,cAAc,MAAOx4xB,KAAKu4xB,kBAC/CzB,WAAY92xB,KAAKm3xB,iBAAgB,GACjCJ,aAAc/2xB,KAAKg3xB,oBACnBp1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,IAIX,CACLq2gB,KAAMmwO,GAAKQ,oBACX5nxB,KAAM/G,KAAKq4xB,oBACXC,eAAgBt4xB,KAAKw4xB,cAAc,MAAOx4xB,KAAKu4xB,kBAC/CzB,WAAY92xB,KAAKm3xB,iBAAgB,GACjCJ,aAAc/2xB,KAAKg3xB,oBACnBp1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOy8wB,kBAAoB,WACzB,GAAgC,OAA5Br4xB,KAAKk2xB,OAAO93wB,MAAMtb,MACpB,MAAM9C,KAAK42xB,aAGb,OAAO52xB,KAAKm2xB,WACd,EAsBAv6wB,EAAO87wB,kBAAoB,SAA2BM,GACpD,IAAI55wB,EAAQpe,KAAKk2xB,OAAO93wB,MAExB,OAAQA,EAAM4/hB,MACZ,KAAKmzO,GAAAA,UACH,OAAOnxxB,KAAK04xB,UAAUV,GAExB,KAAK7G,GAAAA,QACH,OAAOnxxB,KAAK24xB,YAAYX,GAE1B,KAAK7G,GAAAA,IAGH,OAFAnxxB,KAAKk2xB,OAAOxB,UAEL,CACL12O,KAAMmwO,GAAKU,IACX/rxB,MAAOsb,EAAMtb,MACb8+oB,IAAK5hpB,KAAK4hpB,IAAIxjoB,IAGlB,KAAK+ywB,GAAAA,MAGH,OAFAnxxB,KAAKk2xB,OAAOxB,UAEL,CACL12O,KAAMmwO,GAAKW,MACXhsxB,MAAOsb,EAAMtb,MACb8+oB,IAAK5hpB,KAAK4hpB,IAAIxjoB,IAGlB,KAAK+ywB,GAAAA,OACL,KAAKA,GAAAA,aACH,OAAOnxxB,KAAK44xB,qBAEd,KAAKzH,GAAAA,KAGH,OAFAnxxB,KAAKk2xB,OAAOxB,UAEJt2wB,EAAMtb,OACZ,IAAK,OACH,MAAO,CACLk7iB,KAAMmwO,GAAKa,QACXlsxB,OAAO,EACP8+oB,IAAK5hpB,KAAK4hpB,IAAIxjoB,IAGlB,IAAK,QACH,MAAO,CACL4/hB,KAAMmwO,GAAKa,QACXlsxB,OAAO,EACP8+oB,IAAK5hpB,KAAK4hpB,IAAIxjoB,IAGlB,IAAK,OACH,MAAO,CACL4/hB,KAAMmwO,GAAKc,KACXrtI,IAAK5hpB,KAAK4hpB,IAAIxjoB,IAGlB,QACE,MAAO,CACL4/hB,KAAMmwO,GAAKe,KACXpsxB,MAAOsb,EAAMtb,MACb8+oB,IAAK5hpB,KAAK4hpB,IAAIxjoB,IAItB,KAAK+ywB,GAAAA,OACH,IAAK6G,EACH,OAAOh4xB,KAAKu3xB,gBAMlB,MAAMv3xB,KAAK42xB,YACb,EAEAh7wB,EAAOg9wB,mBAAqB,WAC1B,IAAIx6wB,EAAQpe,KAAKk2xB,OAAO93wB,MAIxB,OAFApe,KAAKk2xB,OAAOxB,UAEL,CACL12O,KAAMmwO,GAAKY,OACXjsxB,MAAOsb,EAAMtb,MACbk4D,MAAO58C,EAAM4/hB,OAASmzO,GAAAA,aACtBvvI,IAAK5hpB,KAAK4hpB,IAAIxjoB,GAElB,EAQAxC,EAAO88wB,UAAY,SAAmBV,GACpC,IAAI9uxB,EAAQlJ,KAER2nC,EAAQ3nC,KAAKk2xB,OAAO93wB,MAMxB,MAAO,CACL4/hB,KAAMmwO,GAAKgB,KACXvrvB,OAAQ5jC,KAAKkniB,IAAIiqP,GAAAA,WANR,WACT,OAAOjoxB,EAAMwuxB,kBAAkBM,EACjC,GAI8C7G,GAAAA,WAC5CvvI,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAO+8wB,YAAc,SAAqBX,GACxC,IAAIrmxB,EAAS3R,KAET2nC,EAAQ3nC,KAAKk2xB,OAAO93wB,MAMxB,MAAO,CACL4/hB,KAAMmwO,GAAKiB,OACX3hqB,OAAQztH,KAAKkniB,IAAIiqP,GAAAA,SANR,WACT,OAAOx/wB,EAAOknxB,iBAAiBb,EACjC,GAI4C7G,GAAAA,SAC1CvvI,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOi9wB,iBAAmB,SAA0Bb,GAClD,IAAIrwvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpBrX,EAAO/G,KAAKm2xB,YAEhB,OADAn2xB,KAAKo2xB,YAAYjF,GAAAA,OACV,CACLnzO,KAAMmwO,GAAKkB,aACXtoxB,KAAMA,EACNjE,MAAO9C,KAAK03xB,kBAAkBM,GAC9Bp2I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAOA/rB,EAAOu7wB,gBAAkB,SAAyBa,GAGhD,IAFA,IAAIlB,EAAa,GAEV92xB,KAAKke,KAAKizwB,GAAAA,KACf2F,EAAWxyxB,KAAKtE,KAAK84xB,eAAed,IAGtC,OAAOlB,CACT,EAMAl7wB,EAAOk9wB,eAAiB,SAAwBd,GAC9C,IAAIrwvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MAExB,OADApe,KAAKo2xB,YAAYjF,GAAAA,IACV,CACLnzO,KAAMmwO,GAAKmB,UACXvoxB,KAAM/G,KAAKm2xB,YACXz1xB,UAAWV,KAAK+3xB,eAAeC,GAC/Bp2I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAUA/rB,EAAO47wB,mBAAqB,WAC1B,IACIhgxB,EADAmwB,EAAQ3nC,KAAKk2xB,OAAO93wB,MAexB,OAZIpe,KAAKy3xB,oBAAoBtG,GAAAA,YAC3B35wB,EAAOxX,KAAKw3xB,qBACZx3xB,KAAKo2xB,YAAYjF,GAAAA,WACjB35wB,EAAO,CACLwmiB,KAAMmwO,GAAKqB,UACXh4wB,KAAMA,EACNoqoB,IAAK5hpB,KAAK4hpB,IAAIj6mB,KAGhBnwB,EAAOxX,KAAKu4xB,iBAGVv4xB,KAAKy3xB,oBAAoBtG,GAAAA,MACpB,CACLnzO,KAAMmwO,GAAKsB,cACXj4wB,KAAMA,EACNoqoB,IAAK5hpB,KAAK4hpB,IAAIj6mB,IAIXnwB,CACT,EAMAoE,EAAO28wB,eAAiB,WACtB,IAAI5wvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxB,MAAO,CACL4/hB,KAAMmwO,GAAKoB,WACXxoxB,KAAM/G,KAAKm2xB,YACXv0I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAkBA/rB,EAAO66wB,0BAA4B,WAEjC,IAAIsC,EAAe/4xB,KAAK22xB,kBAAoB32xB,KAAKk2xB,OAAO1rN,YAAcxqkB,KAAKk2xB,OAAO93wB,MAElF,GAAI26wB,EAAa/6O,OAASmzO,GAAAA,KACxB,OAAQ4H,EAAaj2xB,OACnB,IAAK,SACH,OAAO9C,KAAKg5xB,wBAEd,IAAK,SACH,OAAOh5xB,KAAKi5xB,4BAEd,IAAK,OACH,OAAOj5xB,KAAKk5xB,4BAEd,IAAK,YACH,OAAOl5xB,KAAKm5xB,+BAEd,IAAK,QACH,OAAOn5xB,KAAKo5xB,2BAEd,IAAK,OACH,OAAOp5xB,KAAKq5xB,0BAEd,IAAK,QACH,OAAOr5xB,KAAKs5xB,iCAEd,IAAK,YACH,OAAOt5xB,KAAKu5xB,2BAIlB,MAAMv5xB,KAAK42xB,WAAWmC,EACxB,EAEAn9wB,EAAO+6wB,gBAAkB,WACvB,OAAO32xB,KAAKke,KAAKizwB,GAAAA,SAAqBnxxB,KAAKke,KAAKizwB,GAAAA,aAClD,EAMAv1wB,EAAO49wB,iBAAmB,WACxB,GAAIx5xB,KAAK22xB,kBACP,OAAO32xB,KAAK44xB,oBAEhB,EAMAh9wB,EAAOo9wB,sBAAwB,WAC7B,IAAIrxvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,UACnB,IAAI1B,EAAa92xB,KAAKm3xB,iBAAgB,GAClC12iB,EAAiBzgP,KAAKq2xB,KAAKlF,GAAAA,QAAmBnxxB,KAAKy5xB,6BAA8BtI,GAAAA,SACrF,MAAO,CACLnzO,KAAMmwO,GAAKuB,kBACX50uB,YAAaA,EACbg8uB,WAAYA,EACZr2iB,eAAgBA,EAChBmha,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAO69wB,6BAA+B,WACpC,IAAI9xvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB/V,EAAYrI,KAAKi3xB,qBACrBj3xB,KAAKo2xB,YAAYjF,GAAAA,OACjB,IAAI35wB,EAAOxX,KAAKu4xB,iBAChB,MAAO,CACLv6O,KAAMmwO,GAAKwB,0BACXtnxB,UAAWA,EACXmP,KAAMA,EACNoqoB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOq9wB,0BAA4B,WACjC,IAAItxvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,UACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GACtC,MAAO,CACLn5O,KAAMmwO,GAAKyB,uBACX90uB,YAAaA,EACb/zC,KAAMA,EACN+vxB,WAAYA,EACZl1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAOs9wB,0BAA4B,WACjC,IAAIvxvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,QACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZuD,EAAa15xB,KAAK25xB,4BAClB7C,EAAa92xB,KAAKm3xB,iBAAgB,GAClC1pqB,EAASztH,KAAK45xB,wBAClB,MAAO,CACL57O,KAAMmwO,GAAK0B,uBACX/0uB,YAAaA,EACb/zC,KAAMA,EACN2yxB,WAAYA,EACZ5C,WAAYA,EACZrpqB,OAAQA,EACRm0hB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAO+9wB,0BAA4B,WACjC,IAAIjhX,EAEJ,IAAK14a,KAAKo4xB,sBAAsB,cAC9B,MAAO,GAGT,IAAiJ,KAAtG,QAArC1/W,EAAkB14a,KAAKy1G,gBAA0C,IAApBijU,OAA6B,EAASA,EAAgBmhX,oCAA8C,CACrJ,IAAI5ipB,EAAQ,GAEZj3I,KAAKy3xB,oBAAoBtG,GAAAA,KAEzB,GACEl6oB,EAAM3yI,KAAKtE,KAAKu4xB,wBACTv4xB,KAAKy3xB,oBAAoBtG,GAAAA,MAAkBnxxB,KAAKke,KAAKizwB,GAAAA,OAE9D,OAAOl6oB,CACT,CAEA,OAAOj3I,KAAK85xB,cAAc3I,GAAAA,IAAenxxB,KAAKu4xB,eAChD,EAMA38wB,EAAOg+wB,sBAAwB,WAC7B,IAAIG,EAGJ,OAAwI,KAA7F,QAArCA,EAAkB/5xB,KAAKy1G,gBAA0C,IAApBskrB,OAA6B,EAASA,EAAgBC,4BAAuCh6xB,KAAKke,KAAKizwB,GAAAA,UAAsBnxxB,KAAKk2xB,OAAO1rN,YAAYxsB,OAASmzO,GAAAA,SAC/MnxxB,KAAKk2xB,OAAOxB,UAEZ10xB,KAAKk2xB,OAAOxB,UAEL,IAGF10xB,KAAKq3xB,aAAalG,GAAAA,QAAmBnxxB,KAAKi6xB,qBAAsB9I,GAAAA,QACzE,EAOAv1wB,EAAOq+wB,qBAAuB,WAC5B,IAAItyvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACnBzyxB,EAAO/G,KAAKm2xB,YACZ7twB,EAAOtoB,KAAKk6xB,oBAChBl6xB,KAAKo2xB,YAAYjF,GAAAA,OACjB,IAAI35wB,EAAOxX,KAAKw3xB,qBACZV,EAAa92xB,KAAKm3xB,iBAAgB,GACtC,MAAO,CACLn5O,KAAMmwO,GAAK2B,iBACXh1uB,YAAaA,EACb/zC,KAAMA,EACNrG,UAAW4nB,EACX9Q,KAAMA,EACNs/wB,WAAYA,EACZl1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOs+wB,kBAAoB,WACzB,OAAOl6xB,KAAKq3xB,aAAalG,GAAAA,QAAmBnxxB,KAAKm6xB,mBAAoBhJ,GAAAA,QACvE,EAOAv1wB,EAAOu+wB,mBAAqB,WAC1B,IAAIxyvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACnBzyxB,EAAO/G,KAAKm2xB,YAChBn2xB,KAAKo2xB,YAAYjF,GAAAA,OACjB,IACI/8wB,EADAoD,EAAOxX,KAAKw3xB,qBAGZx3xB,KAAKy3xB,oBAAoBtG,GAAAA,UAC3B/8wB,EAAepU,KAAK03xB,mBAAkB,IAGxC,IAAIZ,EAAa92xB,KAAKm3xB,iBAAgB,GACtC,MAAO,CACLn5O,KAAMmwO,GAAK4B,uBACXj1uB,YAAaA,EACb/zC,KAAMA,EACNyQ,KAAMA,EACNpD,aAAcA,EACd0ixB,WAAYA,EACZl1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAOA/rB,EAAOu9wB,6BAA+B,WACpC,IAAIxxvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,aACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZuD,EAAa15xB,KAAK25xB,4BAClB7C,EAAa92xB,KAAKm3xB,iBAAgB,GAClC1pqB,EAASztH,KAAK45xB,wBAClB,MAAO,CACL57O,KAAMmwO,GAAK6B,0BACXl1uB,YAAaA,EACb/zC,KAAMA,EACN2yxB,WAAYA,EACZ5C,WAAYA,EACZrpqB,OAAQA,EACRm0hB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAOA/rB,EAAOw9wB,yBAA2B,WAChC,IAAIzxvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,SACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAClClgpB,EAAQj3I,KAAKo6xB,wBACjB,MAAO,CACLp8O,KAAMmwO,GAAK8B,sBACXn1uB,YAAaA,EACb/zC,KAAMA,EACN+vxB,WAAYA,EACZ7/oB,MAAOA,EACP2qgB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAOw+wB,sBAAwB,WAC7B,OAAOp6xB,KAAKy3xB,oBAAoBtG,GAAAA,QAAoBnxxB,KAAK85xB,cAAc3I,GAAAA,KAAgBnxxB,KAAKu4xB,gBAAkB,EAChH,EAOA38wB,EAAOy9wB,wBAA0B,WAC/B,IAAI1xvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,QACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAClCvzvB,EAAS5jC,KAAKq6xB,4BAClB,MAAO,CACLr8O,KAAMmwO,GAAK+B,qBACXp1uB,YAAaA,EACb/zC,KAAMA,EACN+vxB,WAAYA,EACZlzvB,OAAQA,EACRg+mB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAOy+wB,0BAA4B,WACjC,OAAOr6xB,KAAKq3xB,aAAalG,GAAAA,QAAmBnxxB,KAAKs6xB,yBAA0BnJ,GAAAA,QAC7E,EAQAv1wB,EAAO0+wB,yBAA2B,WAChC,IAAI3yvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACnBzyxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GACtC,MAAO,CACLn5O,KAAMmwO,GAAKgC,sBACXr1uB,YAAaA,EACb/zC,KAAMA,EACN+vxB,WAAYA,EACZl1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAOA/rB,EAAO09wB,+BAAiC,WACtC,IAAI3xvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,SACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAClC1pqB,EAASztH,KAAKu6xB,6BAClB,MAAO,CACLv8O,KAAMmwO,GAAKiC,6BACXt1uB,YAAaA,EACb/zC,KAAMA,EACN+vxB,WAAYA,EACZrpqB,OAAQA,EACRm0hB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAMA/rB,EAAO2+wB,2BAA6B,WAClC,OAAOv6xB,KAAKq3xB,aAAalG,GAAAA,QAAmBnxxB,KAAKm6xB,mBAAoBhJ,GAAAA,QACvE,EAgBAv1wB,EAAO86wB,yBAA2B,WAChC,IAAIqC,EAAe/4xB,KAAKk2xB,OAAO1rN,YAE/B,GAAIuuN,EAAa/6O,OAASmzO,GAAAA,KACxB,OAAQ4H,EAAaj2xB,OACnB,IAAK,SACH,OAAO9C,KAAKw6xB,uBAEd,IAAK,SACH,OAAOx6xB,KAAKy6xB,2BAEd,IAAK,OACH,OAAOz6xB,KAAK06xB,2BAEd,IAAK,YACH,OAAO16xB,KAAK26xB,8BAEd,IAAK,QACH,OAAO36xB,KAAK46xB,0BAEd,IAAK,OACH,OAAO56xB,KAAK66xB,yBAEd,IAAK,QACH,OAAO76xB,KAAK86xB,gCAIlB,MAAM96xB,KAAK42xB,WAAWmC,EACxB,EAQAn9wB,EAAO4+wB,qBAAuB,WAC5B,IAAI7yvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,UACnB,IAAI1B,EAAa92xB,KAAKm3xB,iBAAgB,GAClC12iB,EAAiBzgP,KAAKq3xB,aAAalG,GAAAA,QAAmBnxxB,KAAKy5xB,6BAA8BtI,GAAAA,SAE7F,GAA0B,IAAtB2F,EAAWn2xB,QAA0C,IAA1B8/O,EAAe9/O,OAC5C,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKmC,iBACXwG,WAAYA,EACZr2iB,eAAgBA,EAChBmha,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAOA/rB,EAAO6+wB,yBAA2B,WAChC,IAAI9yvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,UACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAEtC,GAA0B,IAAtBL,EAAWn2xB,OACb,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKoC,sBACXxpxB,KAAMA,EACN+vxB,WAAYA,EACZl1I,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EASA/rB,EAAO8+wB,yBAA2B,WAChC,IAAI/yvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,QACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZuD,EAAa15xB,KAAK25xB,4BAClB7C,EAAa92xB,KAAKm3xB,iBAAgB,GAClC1pqB,EAASztH,KAAK45xB,wBAElB,GAA0B,IAAtBF,EAAW/4xB,QAAsC,IAAtBm2xB,EAAWn2xB,QAAkC,IAAlB8sH,EAAO9sH,OAC/D,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKqC,sBACXzpxB,KAAMA,EACN2yxB,WAAYA,EACZ5C,WAAYA,EACZrpqB,OAAQA,EACRm0hB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EASA/rB,EAAO++wB,4BAA8B,WACnC,IAAIhzvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,aACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZuD,EAAa15xB,KAAK25xB,4BAClB7C,EAAa92xB,KAAKm3xB,iBAAgB,GAClC1pqB,EAASztH,KAAK45xB,wBAElB,GAA0B,IAAtBF,EAAW/4xB,QAAsC,IAAtBm2xB,EAAWn2xB,QAAkC,IAAlB8sH,EAAO9sH,OAC/D,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKsC,yBACX1pxB,KAAMA,EACN2yxB,WAAYA,EACZ5C,WAAYA,EACZrpqB,OAAQA,EACRm0hB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAOg/wB,wBAA0B,WAC/B,IAAIjzvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,SACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAClClgpB,EAAQj3I,KAAKo6xB,wBAEjB,GAA0B,IAAtBtD,EAAWn2xB,QAAiC,IAAjBs2I,EAAMt2I,OACnC,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKuC,qBACX3pxB,KAAMA,EACN+vxB,WAAYA,EACZ7/oB,MAAOA,EACP2qgB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAOi/wB,uBAAyB,WAC9B,IAAIlzvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,QACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAClCvzvB,EAAS5jC,KAAKq6xB,4BAElB,GAA0B,IAAtBvD,EAAWn2xB,QAAkC,IAAlBijC,EAAOjjC,OACpC,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKwC,oBACX5pxB,KAAMA,EACN+vxB,WAAYA,EACZlzvB,OAAQA,EACRg+mB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAOk/wB,8BAAgC,WACrC,IAAInzvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACxBpe,KAAKw4xB,cAAc,UACnBx4xB,KAAKw4xB,cAAc,SACnB,IAAIzxxB,EAAO/G,KAAKm2xB,YACZW,EAAa92xB,KAAKm3xB,iBAAgB,GAClC1pqB,EAASztH,KAAKu6xB,6BAElB,GAA0B,IAAtBzD,EAAWn2xB,QAAkC,IAAlB8sH,EAAO9sH,OACpC,MAAMX,KAAK42xB,aAGb,MAAO,CACL54O,KAAMmwO,GAAKyC,4BACX7pxB,KAAMA,EACN+vxB,WAAYA,EACZrpqB,OAAQA,EACRm0hB,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAOA/rB,EAAO29wB,yBAA2B,WAChC,IAAI5xvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpB08B,EAAc96C,KAAKw5xB,mBACvBx5xB,KAAKw4xB,cAAc,aACnBx4xB,KAAKo2xB,YAAYjF,GAAAA,IACjB,IAAIpqxB,EAAO/G,KAAKm2xB,YACZ7twB,EAAOtoB,KAAKk6xB,oBACZa,EAAa/6xB,KAAKo4xB,sBAAsB,cAC5Cp4xB,KAAKw4xB,cAAc,MACnB,IAAI78W,EAAY37a,KAAKg7xB,0BACrB,MAAO,CACLh9O,KAAMmwO,GAAKkC,qBACXv1uB,YAAaA,EACb/zC,KAAMA,EACNrG,UAAW4nB,EACXyywB,WAAYA,EACZp/W,UAAWA,EACXimO,IAAK5hpB,KAAK4hpB,IAAIj6mB,GAElB,EAQA/rB,EAAOo/wB,wBAA0B,WAC/B,OAAOh7xB,KAAK85xB,cAAc3I,GAAAA,KAAgBnxxB,KAAKi7xB,uBACjD,EA8BAr/wB,EAAOq/wB,uBAAyB,WAC9B,IAAItzvB,EAAQ3nC,KAAKk2xB,OAAO93wB,MACpBrX,EAAO/G,KAAKm2xB,YAEhB,QAAsC53xB,IAAlC00xB,GAAkBlsxB,EAAKjE,OACzB,OAAOiE,EAGT,MAAM/G,KAAK42xB,WAAWjvvB,EACxB,EAOA/rB,EAAOgmoB,IAAM,SAAaqvI,GACxB,IAAIiK,EAEJ,IAAyH,KAA9E,QAArCA,EAAkBl7xB,KAAKy1G,gBAA0C,IAApBylrB,OAA6B,EAASA,EAAgBC,YACvG,OAAO,IAAInK,GAASC,EAAYjxxB,KAAKk2xB,OAAO1B,UAAWx0xB,KAAKk2xB,OAAO7jvB,OAEvE,EAMAz2B,EAAOsC,KAAO,SAAc8/hB,GAC1B,OAAOh+iB,KAAKk2xB,OAAO93wB,MAAM4/hB,OAASA,CACpC,EAOApiiB,EAAOw6wB,YAAc,SAAqBp4O,GACxC,IAAI5/hB,EAAQpe,KAAKk2xB,OAAO93wB,MAExB,GAAIA,EAAM4/hB,OAASA,EAGjB,OAFAh+iB,KAAKk2xB,OAAOxB,UAELt2wB,EAGT,MAAM8vwB,GAAYluxB,KAAKk2xB,OAAO7jvB,OAAQj0B,EAAMupB,MAAO,YAAY5oC,OAAOq8xB,GAAiBp9O,GAAO,YAAYj/iB,OAAOs8xB,GAAaj9wB,GAAQ,KACxI,EAOAxC,EAAO67wB,oBAAsB,SAA6Bz5O,GACxD,IAAI5/hB,EAAQpe,KAAKk2xB,OAAO93wB,MAExB,GAAIA,EAAM4/hB,OAASA,EAGjB,OAFAh+iB,KAAKk2xB,OAAOxB,UAELt2wB,CAIX,EAOAxC,EAAO48wB,cAAgB,SAAuB11xB,GAC5C,IAAIsb,EAAQpe,KAAKk2xB,OAAO93wB,MAExB,GAAIA,EAAM4/hB,OAASmzO,GAAAA,MAAkB/ywB,EAAMtb,QAAUA,EAGnD,MAAMorxB,GAAYluxB,KAAKk2xB,OAAO7jvB,OAAQj0B,EAAMupB,MAAO,aAAc5oC,OAAO+D,EAAO,aAAc/D,OAAOs8xB,GAAaj9wB,GAAQ,MAFzHpe,KAAKk2xB,OAAOxB,SAIhB,EAOA94wB,EAAOw8wB,sBAAwB,SAA+Bt1xB,GAC5D,IAAIsb,EAAQpe,KAAKk2xB,OAAO93wB,MAExB,OAAIA,EAAM4/hB,OAASmzO,GAAAA,MAAkB/ywB,EAAMtb,QAAUA,IACnD9C,KAAKk2xB,OAAOxB,WAEL,EAIX,EAMA94wB,EAAOg7wB,WAAa,SAAoB0E,GACtC,IAAIl9wB,EAAoB,OAAZk9wB,QAAgC,IAAZA,EAAqBA,EAAUt7xB,KAAKk2xB,OAAO93wB,MAC3E,OAAO8vwB,GAAYluxB,KAAKk2xB,OAAO7jvB,OAAQj0B,EAAMupB,MAAO,cAAc5oC,OAAOs8xB,GAAaj9wB,GAAQ,KAChG,EAQAxC,EAAOsrhB,IAAM,SAAaq0P,EAAUC,EAASC,GAC3Cz7xB,KAAKo2xB,YAAYmF,GAGjB,IAFA,IAAI1/wB,EAAQ,IAEJ7b,KAAKy3xB,oBAAoBgE,IAC/B5/wB,EAAMvX,KAAKk3xB,EAAQ56xB,KAAKZ,OAG1B,OAAO6b,CACT,EASAD,EAAOy7wB,aAAe,SAAsBkE,EAAUC,EAASC,GAC7D,GAAIz7xB,KAAKy3xB,oBAAoB8D,GAAW,CACtC,IAAI1/wB,EAAQ,GAEZ,GACEA,EAAMvX,KAAKk3xB,EAAQ56xB,KAAKZ,cAChBA,KAAKy3xB,oBAAoBgE,IAEnC,OAAO5/wB,CACT,CAEA,MAAO,EACT,EAQAD,EAAOy6wB,KAAO,SAAckF,EAAUC,EAASC,GAC7Cz7xB,KAAKo2xB,YAAYmF,GACjB,IAAI1/wB,EAAQ,GAEZ,GACEA,EAAMvX,KAAKk3xB,EAAQ56xB,KAAKZ,cAChBA,KAAKy3xB,oBAAoBgE,IAEnC,OAAO5/wB,CACT,EAQAD,EAAOk+wB,cAAgB,SAAuB4B,EAAeF,GAC3Dx7xB,KAAKy3xB,oBAAoBiE,GACzB,IAAI7/wB,EAAQ,GAEZ,GACEA,EAAMvX,KAAKk3xB,EAAQ56xB,KAAKZ,aACjBA,KAAKy3xB,oBAAoBiE,IAElC,OAAO7/wB,CACT,EAEOukhB,CACT,CAv7CiC,GA47CjC,SAASi7P,GAAaj9wB,GACpB,IAAItb,EAAQsb,EAAMtb,MAClB,OAAOs4xB,GAAiBh9wB,EAAM4/hB,OAAkB,MAATl7iB,EAAgB,KAAM/D,OAAO+D,EAAO,KAAQ,GACrF,CAMA,SAASs4xB,GAAiBp9O,GACxB,OD77CK,SAA+BA,GACpC,OAAOA,IAASmzO,GAAAA,MAAkBnzO,IAASmzO,GAAAA,QAAoBnzO,IAASmzO,GAAAA,KAAiBnzO,IAASmzO,GAAAA,SAAqBnzO,IAASmzO,GAAAA,SAAqBnzO,IAASmzO,GAAAA,QAAoBnzO,IAASmzO,GAAAA,OAAmBnzO,IAASmzO,GAAAA,QAAoBnzO,IAASmzO,GAAAA,IAAgBnzO,IAASmzO,GAAAA,WAAuBnzO,IAASmzO,GAAAA,WAAuBnzO,IAASmzO,GAAAA,SAAqBnzO,IAASmzO,GAAAA,MAAkBnzO,IAASmzO,GAAAA,OACxY,CC27CSwK,CAAsB39O,GAAQ,IAAKj/iB,OAAOi/iB,EAAM,KAAQA,CACjE,CCngDO,IAAI49O,GAAoB,CAC7BjnR,KAAM,GACNknR,SAAU,CAAC,eACXC,oBAAqB,CAAC,OAAQ,sBAAuB,aAAc,gBACnEC,mBAAoB,CAAC,WAAY,OAAQ,eAAgB,cACzDC,SAAU,CAAC,QACXC,aAAc,CAAC,cACfpktB,MAAO,CAAC,QAAS,OAAQ,YAAa,aAAc,gBACpDqktB,SAAU,CAAC,OAAQ,SACnBC,eAAgB,CAAC,OAAQ,cACzBC,eAAgB,CAAC,gBAAiB,aAAc,gBAChDC,mBAAoB,CAAC,OAErB,sBAAuB,gBAAiB,aAAc,gBACtDC,SAAU,GACVC,WAAY,GACZC,YAAa,GACbC,aAAc,GACdC,UAAW,GACXC,UAAW,GACXC,UAAW,CAAC,UACZC,YAAa,CAAC,UACdC,YAAa,CAAC,OAAQ,SACtBC,UAAW,CAAC,OAAQ,aACpBC,UAAW,CAAC,QACZC,SAAU,CAAC,QACXC,YAAa,CAAC,QACdC,iBAAkB,CAAC,cAAe,aAAc,kBAChDC,wBAAyB,CAAC,QAC1BC,qBAAsB,CAAC,cAAe,OAAQ,cAC9CC,qBAAsB,CAAC,cAAe,OAAQ,aAAc,aAAc,UAC1EC,gBAAiB,CAAC,cAAe,OAAQ,YAAa,OAAQ,cAC9DC,qBAAsB,CAAC,cAAe,OAAQ,OAAQ,eAAgB,cACtEC,wBAAyB,CAAC,cAAe,OAAQ,aAAc,aAAc,UAC7EC,oBAAqB,CAAC,cAAe,OAAQ,aAAc,SAC3DC,mBAAoB,CAAC,cAAe,OAAQ,aAAc,UAC1DC,oBAAqB,CAAC,cAAe,OAAQ,cAC7CC,0BAA2B,CAAC,cAAe,OAAQ,aAAc,UACjEC,oBAAqB,CAAC,cAAe,OAAQ,YAAa,aAC1DC,gBAAiB,CAAC,aAAc,kBAChCC,oBAAqB,CAAC,OAAQ,cAC9BC,oBAAqB,CAAC,OAAQ,aAAc,aAAc,UAC1DC,uBAAwB,CAAC,OAAQ,aAAc,aAAc,UAC7DC,mBAAoB,CAAC,OAAQ,aAAc,SAC3CC,kBAAmB,CAAC,OAAQ,aAAc,UAC1CC,yBAA0B,CAAC,OAAQ,aAAc,WAExCC,GAAQ9+xB,OAAOioM,OAAO,CAAC,GAwS3B,SAAS82lB,GAAWC,EAASxgP,EAAM0pH,GACxC,IAAI+2H,EAAcD,EAAQxgP,GAE1B,GAAIygP,EAAa,CACf,IAAK/2H,GAAoC,oBAAhB+2H,EAEvB,OAAOA,EAGT,IAAIC,EAAsBh3H,EAAY+2H,EAAY1qnB,MAAQ0qnB,EAAY3qnB,MAEtE,GAAmC,oBAAxB4qnB,EAET,OAAOA,CAEX,KAAO,CACL,IAAIC,EAAkBj3H,EAAY82H,EAAQzqnB,MAAQyqnB,EAAQ1qnB,MAE1D,GAAI6qnB,EAAiB,CACnB,GAA+B,oBAApBA,EAET,OAAOA,EAGT,IAAIC,EAAsBD,EAAgB3gP,GAE1C,GAAmC,oBAAxB4gP,EAET,OAAOA,CAEX,CACF,CACF,CCvXO,SAASC,GAAMrjnB,GACpB,ODsIK,SAAe39J,EAAM2gxB,GAC1B,IAAIM,EAAcp+xB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAKk7xB,GAGlF1gvB,OAAQ38C,EACRwgyB,EAAUp/xB,MAAMkoB,QAAQhK,GACxBrN,EAAO,CAACqN,GACRd,GAAS,EACTiixB,EAAQ,GACRphxB,OAAOrf,EACP+C,OAAM/C,EACNuf,OAASvf,EACT2+B,EAAO,GACP+hwB,EAAY,GACZC,EAAUrhxB,EAGd,EAAG,CAED,IAAI6ppB,IADJ3qpB,IAC0BvM,EAAK7P,OAC3Bw+xB,EAAWz3H,GAA8B,IAAjBs3H,EAAMr+xB,OAElC,GAAI+mqB,EAAW,CAKb,GAJApmqB,EAA2B,IAArB29xB,EAAUt+xB,YAAepC,EAAY2+B,EAAKA,EAAKv8B,OAAS,GAC9Did,EAAOE,EACPA,EAASmhxB,EAAU56xB,MAEf86xB,EAAU,CACZ,GAAIJ,EACFnhxB,EAAOA,EAAKT,YACP,CAGL,IAFA,IAAImU,EAAQ,CAAC,EAEJ2rsB,EAAM,EAAGmiE,EAAgB5/xB,OAAOgR,KAAKoN,GAAOq/sB,EAAMmiE,EAAcz+xB,OAAQs8tB,IAAO,CACtF,IAAIv4tB,EAAI06xB,EAAcniE,GACtB3rsB,EAAM5sB,GAAKkZ,EAAKlZ,EAClB,CAEAkZ,EAAO0T,CACT,CAIA,IAFA,IAAI+twB,EAAa,EAERtpmB,EAAK,EAAGA,EAAKipmB,EAAMr+xB,OAAQo1L,IAAM,CACxC,IAAIupmB,EAAUN,EAAMjpmB,GAAI,GACpBwpmB,EAAYP,EAAMjpmB,GAAI,GAEtBgpmB,IACFO,GAAWD,GAGTN,GAAyB,OAAdQ,GACb3hxB,EAAKtK,OAAOgsxB,EAAS,GACrBD,KAEAzhxB,EAAK0hxB,GAAWC,CAEpB,CACF,CAEAxixB,EAAQm+B,EAAMn+B,MACdvM,EAAO0qC,EAAM1qC,KACbwuxB,EAAQ9jvB,EAAM8jvB,MACdD,EAAU7jvB,EAAM6jvB,QAChB7jvB,EAAQA,EAAMj9B,IAChB,KAAO,CAIL,GAHA3c,EAAMwc,EAASihxB,EAAUhixB,EAAQvM,EAAKuM,QAASxe,EAGlC,QAFbqf,EAAOE,EAASA,EAAOxc,GAAO49xB,SAEA3gyB,IAATqf,EACnB,SAGEE,GACFof,EAAK54B,KAAKhD,EAEd,CAEA,IA2CMk+xB,EA3CFt8xB,OAAS,EAEb,IAAKvD,MAAMkoB,QAAQjK,GAAO,CACxB,IAAKw1F,GAAOx1F,GACV,MAAM,IAAIjV,MAAM,qBAAqB5J,OAAO4vD,GAAQ/wC,GAAO,MAG7D,IAAI6hxB,EAAUlB,GAAWC,EAAS5gxB,EAAKogiB,KAAM0pH,GAE7C,GAAI+3H,EAAS,CAGX,IAFAv8xB,EAASu8xB,EAAQ7+xB,KAAK49xB,EAAS5gxB,EAAMtc,EAAKwc,EAAQof,EAAM+hwB,MAEzCX,GACb,MAGF,IAAe,IAAXp7xB,GACF,IAAKwkqB,EAAW,CACdxqoB,EAAK74B,MACL,QACF,OACK,QAAe9F,IAAX2E,IACT87xB,EAAM16xB,KAAK,CAAChD,EAAK4B,KAEZwkqB,GAAW,CACd,IAAIt0jB,GAAOlwG,GAEJ,CACLg6B,EAAK74B,MACL,QACF,CAJEuZ,EAAO1a,CAKX,CAEJ,CACF,MAEe3E,IAAX2E,GAAwBi8xB,GAC1BH,EAAM16xB,KAAK,CAAChD,EAAKsc,IAGf8ppB,EACFxqoB,EAAK74B,OAIL62C,EAAQ,CACN6jvB,QAASA,EACThixB,MAAOA,EACPvM,KAAMA,EACNwuxB,MAAOA,EACP/gxB,KAAMi9B,GAGR1qC,GADAuuxB,EAAUp/xB,MAAMkoB,QAAQjK,IACPA,EAA4D,QAApD4hxB,EAAwBV,EAAYlhxB,EAAKogiB,aAA6C,IAA1BwhP,EAAmCA,EAAwB,GAChJzixB,GAAS,EACTiixB,EAAQ,GAEJlhxB,GACFmhxB,EAAU36xB,KAAKwZ,GAGjBA,EAASF,EAEb,YAAmBrf,IAAV28C,GAMT,OAJqB,IAAjB8jvB,EAAMr+xB,SACRu+xB,EAAUF,EAAMA,EAAMr+xB,OAAS,GAAG,IAG7Bu+xB,CACT,CC1RSQ,CAAMlknB,EAAK,CAChBzH,MAAO4rnB,IAEX,CACA,IAEIA,GAAqB,CACvBhrR,KAAM,SAAc/2f,GAClB,OAAOA,EAAK9a,KACd,EACAk5xB,SAAU,SAAkBp+wB,GAC1B,MAAO,IAAMA,EAAK7W,IACpB,EAEA80xB,SAAU,SAAkBj+wB,GAC1B,OAAOnO,GAAKmO,EAAK+0vB,YAAa,QAAU,IAC1C,EACAmpB,oBAAqB,SAA6Bl+wB,GAChD,IAAIzZ,EAAKyZ,EAAKvV,UACVtB,EAAO6W,EAAK7W,KACZ64xB,EAAU30qB,GAAK,IAAKx7G,GAAKmO,EAAKi5wB,oBAAqB,MAAO,KAC1DC,EAAarnxB,GAAKmO,EAAKk5wB,WAAY,KACnCC,EAAen5wB,EAAKm5wB,aAGxB,OAAQhwxB,GAAS+vxB,GAAe8I,GAAkB,UAAPz7xB,EAAgCsL,GAAK,CAACtL,EAAIsL,GAAK,CAAC1I,EAAM64xB,IAAW9I,EAAYC,GAAe,KAA3EA,CAC9D,EACAgF,mBAAoB,SAA4BnhxB,GAC9C,IAAIuF,EAAWvF,EAAKuF,SAChB3I,EAAOoD,EAAKpD,KACZpD,EAAewG,EAAKxG,aACpB0ixB,EAAal8wB,EAAKk8wB,WACtB,OAAO32wB,EAAW,KAAO3I,EAAOyzG,GAAK,MAAO72G,GAAgB62G,GAAK,IAAKx7G,GAAKqnxB,EAAY,KACzF,EACAmF,aAAc,SAAsBphxB,GAElC,OAAOmgD,GADUngD,EAAMu3gB,WAEzB,EACAv6c,MAAO,SAAe5/C,GACpB,IAAIw/D,EAAQx/D,EAAMw/D,MACd1wF,EAAOkxB,EAAMlxB,KACbuhB,EAAO2P,EAAMv3B,UACbo2xB,EAAa7+vB,EAAM6+vB,WACnBC,EAAe9+vB,EAAM8+vB,aACrBv1wB,EAASypG,GAAK,GAAIxzB,EAAO,MAAQ1wF,EACjC84xB,EAAWr+wB,EAASypG,GAAK,IAAKx7G,GAAK6Y,EAAM,MAAO,KAMpD,OAJIu3wB,EAASl/xB,OA3CK,KA4ChBk/xB,EAAWr+wB,EAASypG,GAAK,MAAOqqa,GAAO7lhB,GAAK6Y,EAAM,OAAQ,QAGrD7Y,GAAK,CAACowxB,EAAUpwxB,GAAKqnxB,EAAY,KAAMC,GAAe,IAC/D,EACAmF,SAAU,SAAkB5rvB,GAG1B,OAFWA,EAAMvpC,KAEH,KADFupC,EAAMxtC,KAEpB,EAEAq5xB,eAAgB,SAAwBznnB,GAGtC,MAAO,MAFIA,EAAM3tK,KAEKkkH,GAAK,IAAKx7G,GADfilK,EAAMoinB,WAC0B,KACnD,EACAsF,eAAgB,SAAwBvnnB,GACtC,IAAIyjnB,EAAgBzjnB,EAAMyjnB,cACtBxB,EAAajinB,EAAMiinB,WACnBC,EAAelinB,EAAMkinB,aACzB,OAAOtnxB,GAAK,CAAC,MAAOw7G,GAAK,MAAOqtqB,GAAgB7oxB,GAAKqnxB,EAAY,KAAMC,GAAe,IACxF,EACAsF,mBAAoB,SAA4BvnnB,GAC9C,IAAI/tK,EAAO+tK,EAAM/tK,KACbuxxB,EAAgBxjnB,EAAMwjnB,cACtBzB,EAAsB/hnB,EAAM+hnB,oBAC5BC,EAAahinB,EAAMginB,WACnBC,EAAejinB,EAAMiinB,aACzB,MAEE,YAAYh4xB,OAAOgI,GAAMhI,OAAOksH,GAAK,IAAKx7G,GAAKonxB,EAAqB,MAAO,KAAM,KAAO,MAAM93xB,OAAOu5xB,EAAe,KAAKv5xB,OAAOksH,GAAK,GAAIx7G,GAAKqnxB,EAAY,KAAM,MAAQC,CAE5K,EAEAuF,SAAU,SAAkB1ikB,GAE1B,OADYA,EAAM92N,KAEpB,EACAy5xB,WAAY,SAAoB/gkB,GAE9B,OADYA,EAAM14N,KAEpB,EACA05xB,YAAa,SAAqB/gkB,EAAQn6N,GACxC,IAAIwB,EAAQ24N,EAAO34N,MAEnB,OADoB24N,EAAOzgK,MJExB,SAA0Bl4D,GAC/B,IAAIg9xB,EAAcp/xB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,GAClFq/xB,EAAsBr/xB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,IAAmBA,UAAU,GACrFs/xB,GAAwC,IAAzBl9xB,EAAM9B,QAAQ,MAC7Bi/xB,EAA+B,MAAbn9xB,EAAM,IAA2B,OAAbA,EAAM,GAC5Co9xB,EAA+C,MAA5Bp9xB,EAAMA,EAAMnC,OAAS,GACxCq7oB,EAA+C,OAA5Bl5oB,EAAMA,EAAMnC,OAAS,GACxCw/xB,GAAwBH,GAAgBE,GAAoBlkJ,GAAoB+jJ,EAChF78xB,EAAS,GAYb,OAVIi9xB,GAA0BH,GAAgBC,IAC5C/8xB,GAAU,KAAO48xB,GAGnB58xB,GAAU48xB,EAAch9xB,EAAMuX,QAAQ,MAAO,KAAOylxB,GAAeh9xB,EAE/Dq9xB,IACFj9xB,GAAU,MAGL,MAAQA,EAAOmX,QAAQ,OAAQ,SAAW,KACnD,CItB2B+lxB,CAAiBt9xB,EAAe,gBAARxB,EAAwB,GAAK,MAAQitB,KAAKhP,UAAUzc,EACrG,EACA25xB,aAAc,SAAsB4D,GAElC,OADYA,EAAOv9xB,MACJ,OAAS,OAC1B,EACA45xB,UAAW,WACT,MAAO,MACT,EACAC,UAAW,SAAmB2D,GAE5B,OADYA,EAAOx9xB,KAErB,EACA85xB,UAAW,SAAmB2D,GAE5B,MAAO,IAAM9wxB,GADA8wxB,EAAO38vB,OACM,MAAQ,GACpC,EACAi5vB,YAAa,SAAqB2D,GAEhC,MAAO,IAAM/wxB,GADA+wxB,EAAO/yqB,OACM,MAAQ,GACpC,EACAqvqB,YAAa,SAAqB2D,GAGhC,OAFWA,EAAO15xB,KAEJ,KADF05xB,EAAO39xB,KAErB,EAEAi6xB,UAAW,SAAmB2D,GAG5B,MAAO,IAFIA,EAAO35xB,KAEEkkH,GAAK,IAAKx7G,GADnBixxB,EAAOhgyB,UACuB,MAAO,IAClD,EAEAs8xB,UAAW,SAAmB2D,GAE5B,OADWA,EAAO55xB,IAEpB,EACAk2xB,SAAU,SAAkB2D,GAE1B,MAAO,IADIA,EAAOppxB,KACE,GACtB,EACA0lxB,YAAa,SAAqB2D,GAEhC,OADWA,EAAOrpxB,KACJ,GAChB,EAEA2lxB,iBAAkB2D,IAAe,SAAUC,GACzC,IAAIjK,EAAaiK,EAAOjK,WACpBr2iB,EAAiBsgjB,EAAOtgjB,eAC5B,OAAOhxO,GAAK,CAAC,SAAUA,GAAKqnxB,EAAY,KAAM97tB,GAAMylL,IAAkB,IACxE,IACA28iB,wBAAyB,SAAiC4D,GAGxD,OAFgBA,EAAO34xB,UAEJ,KADR24xB,EAAOxpxB,IAEpB,EACA6lxB,qBAAsByD,IAAe,SAAUG,GAG7C,OAAOxxxB,GAAK,CAAC,SAFFwxxB,EAAOl6xB,KAEW0I,GADZwxxB,EAAOnK,WACsB,MAAO,IACvD,IACAwG,qBAAsBwD,IAAe,SAAUI,GAC7C,IAAIn6xB,EAAOm6xB,EAAOn6xB,KACd2yxB,EAAawH,EAAOxH,WACpB5C,EAAaoK,EAAOpK,WACpBrpqB,EAASyzqB,EAAOzzqB,OACpB,OAAOh+G,GAAK,CAAC,OAAQ1I,EAAMkkH,GAAK,cAAex7G,GAAKiqxB,EAAY,QAASjqxB,GAAKqnxB,EAAY,KAAM97tB,GAAMyyD,IAAU,IAClH,IACA8vqB,gBAAiBuD,IAAe,SAAUK,GACxC,IAAIp6xB,EAAOo6xB,EAAOp6xB,KACduhB,EAAO64wB,EAAOzgyB,UACd8W,EAAO2pxB,EAAO3pxB,KACds/wB,EAAaqK,EAAOrK,WACxB,OAAO/vxB,GAAQq6xB,GAAkB94wB,GAAQ2iG,GAAK,MAAOqqa,GAAO7lhB,GAAK6Y,EAAM,OAAQ,OAAS2iG,GAAK,IAAKx7G,GAAK6Y,EAAM,MAAO,MAAQ,KAAO9Q,EAAOyzG,GAAK,IAAKx7G,GAAKqnxB,EAAY,KACvK,IACA0G,qBAAsBsD,IAAe,SAAUO,GAC7C,IAAIt6xB,EAAOs6xB,EAAOt6xB,KACdyQ,EAAO6pxB,EAAO7pxB,KACdpD,EAAeitxB,EAAOjtxB,aACtB0ixB,EAAauK,EAAOvK,WACxB,OAAOrnxB,GAAK,CAAC1I,EAAO,KAAOyQ,EAAMyzG,GAAK,KAAM72G,GAAe3E,GAAKqnxB,EAAY,MAAO,IACrF,IACA2G,wBAAyBqD,IAAe,SAAUQ,GAChD,IAAIv6xB,EAAOu6xB,EAAOv6xB,KACd2yxB,EAAa4H,EAAO5H,WACpB5C,EAAawK,EAAOxK,WACpBrpqB,EAAS6zqB,EAAO7zqB,OACpB,OAAOh+G,GAAK,CAAC,YAAa1I,EAAMkkH,GAAK,cAAex7G,GAAKiqxB,EAAY,QAASjqxB,GAAKqnxB,EAAY,KAAM97tB,GAAMyyD,IAAU,IACvH,IACAiwqB,oBAAqBoD,IAAe,SAAUS,GAC5C,IAAIx6xB,EAAOw6xB,EAAOx6xB,KACd+vxB,EAAayK,EAAOzK,WACpB7/oB,EAAQsqpB,EAAOtqpB,MACnB,OAAOxnI,GAAK,CAAC,QAAS1I,EAAM0I,GAAKqnxB,EAAY,KAAM7/oB,GAA0B,IAAjBA,EAAMt2I,OAAe,KAAO8O,GAAKwnI,EAAO,OAAS,IAAK,IACpH,IACA0mpB,mBAAoBmD,IAAe,SAAUU,GAC3C,IAAIz6xB,EAAOy6xB,EAAOz6xB,KACd+vxB,EAAa0K,EAAO1K,WACpBlzvB,EAAS49vB,EAAO59vB,OACpB,OAAOn0B,GAAK,CAAC,OAAQ1I,EAAM0I,GAAKqnxB,EAAY,KAAM97tB,GAAMp3B,IAAU,IACpE,IACAg6vB,oBAAqBkD,IAAe,SAAUW,GAG5C,OAAOhyxB,GAAK,CAFDgyxB,EAAO16xB,KAEC0I,GADFgyxB,EAAO3K,WACY,MAAO,IAC7C,IACA+G,0BAA2BiD,IAAe,SAAUY,GAClD,IAAI36xB,EAAO26xB,EAAO36xB,KACd+vxB,EAAa4K,EAAO5K,WACpBrpqB,EAASi0qB,EAAOj0qB,OACpB,OAAOh+G,GAAK,CAAC,QAAS1I,EAAM0I,GAAKqnxB,EAAY,KAAM97tB,GAAMyyD,IAAU,IACrE,IACAqwqB,oBAAqBgD,IAAe,SAAUa,GAC5C,IAAI56xB,EAAO46xB,EAAO56xB,KACduhB,EAAOq5wB,EAAOjhyB,UACdq6xB,EAAa4G,EAAO5G,WACpBp/W,EAAYgmX,EAAOhmX,UACvB,MAAO,cAAgB50a,GAAQq6xB,GAAkB94wB,GAAQ2iG,GAAK,MAAOqqa,GAAO7lhB,GAAK6Y,EAAM,OAAQ,OAAS2iG,GAAK,IAAKx7G,GAAK6Y,EAAM,MAAO,OAASyywB,EAAa,cAAgB,IAAM,OAAStrxB,GAAKksa,EAAW,MAC3M,IACAoiX,gBAAiB,SAAyB6D,GACxC,IAAI9K,EAAa8K,EAAO9K,WACpBr2iB,EAAiBmhjB,EAAOnhjB,eAC5B,OAAOhxO,GAAK,CAAC,gBAAiBA,GAAKqnxB,EAAY,KAAM97tB,GAAMylL,IAAkB,IAC/E,EACAu9iB,oBAAqB,SAA6B6D,GAGhD,OAAOpyxB,GAAK,CAAC,gBAFFoyxB,EAAO96xB,KAEkB0I,GADnBoyxB,EAAO/K,WAC6B,MAAO,IAC9D,EACAmH,oBAAqB,SAA6B6D,GAChD,IAAI/6xB,EAAO+6xB,EAAO/6xB,KACd2yxB,EAAaoI,EAAOpI,WACpB5C,EAAagL,EAAOhL,WACpBrpqB,EAASq0qB,EAAOr0qB,OACpB,OAAOh+G,GAAK,CAAC,cAAe1I,EAAMkkH,GAAK,cAAex7G,GAAKiqxB,EAAY,QAASjqxB,GAAKqnxB,EAAY,KAAM97tB,GAAMyyD,IAAU,IACzH,EACAywqB,uBAAwB,SAAgC6D,GACtD,IAAIh7xB,EAAOg7xB,EAAOh7xB,KACd2yxB,EAAaqI,EAAOrI,WACpB5C,EAAaiL,EAAOjL,WACpBrpqB,EAASs0qB,EAAOt0qB,OACpB,OAAOh+G,GAAK,CAAC,mBAAoB1I,EAAMkkH,GAAK,cAAex7G,GAAKiqxB,EAAY,QAASjqxB,GAAKqnxB,EAAY,KAAM97tB,GAAMyyD,IAAU,IAC9H,EACA0wqB,mBAAoB,SAA4B6D,GAC9C,IAAIj7xB,EAAOi7xB,EAAOj7xB,KACd+vxB,EAAakL,EAAOlL,WACpB7/oB,EAAQ+qpB,EAAO/qpB,MACnB,OAAOxnI,GAAK,CAAC,eAAgB1I,EAAM0I,GAAKqnxB,EAAY,KAAM7/oB,GAA0B,IAAjBA,EAAMt2I,OAAe,KAAO8O,GAAKwnI,EAAO,OAAS,IAAK,IAC3H,EACAmnpB,kBAAmB,SAA2B6D,GAC5C,IAAIl7xB,EAAOk7xB,EAAOl7xB,KACd+vxB,EAAamL,EAAOnL,WACpBlzvB,EAASq+vB,EAAOr+vB,OACpB,OAAOn0B,GAAK,CAAC,cAAe1I,EAAM0I,GAAKqnxB,EAAY,KAAM97tB,GAAMp3B,IAAU,IAC3E,EACAy6vB,yBAA0B,SAAkC6D,GAC1D,IAAIn7xB,EAAOm7xB,EAAOn7xB,KACd+vxB,EAAaoL,EAAOpL,WACpBrpqB,EAASy0qB,EAAOz0qB,OACpB,OAAOh+G,GAAK,CAAC,eAAgB1I,EAAM0I,GAAKqnxB,EAAY,KAAM97tB,GAAMyyD,IAAU,IAC5E,GAGF,SAASqzqB,GAAe9xL,GACtB,OAAO,SAAUpxlB,GACf,OAAOnO,GAAK,CAACmO,EAAKk9B,YAAak0jB,EAAGpxlB,IAAQ,KAC5C,CACF,CAOA,SAASnO,GAAK0yxB,GACZ,IAAIC,EAEA/sqB,EAAY30H,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,GACpF,OAEwB,QAFhB0hyB,EAAuC,OAAfD,QAAsC,IAAfA,OAAwB,EAASA,EAAWnvxB,QAAO,SAAU4N,GAClH,OAAOA,CACT,IAAGnR,KAAK4lH,UAAkD,IAA1B+sqB,EAAmCA,EAAwB,EAC7F,CAOA,SAASpnuB,GAAMz9C,GACb,OAAO0tG,GAAK,MAAOqqa,GAAO7lhB,GAAK8N,EAAO,OAAQ,MAChD,CAMA,SAAS0tG,GAAKtjF,EAAO06vB,GAEnB,OAAsB,MAAfA,GAAuC,KAAhBA,EAAqB16vB,EAAQ06vB,GADjD3hyB,UAAUC,OAAS,QAAsBpC,IAAjBmC,UAAU,GAAmBA,UAAU,GAAK,IACC,EACjF,CAEA,SAAS40hB,GAAOl7gB,GACd,OAAO6wG,GAAK,KAAM7wG,EAAIC,QAAQ,MAAO,QACvC,CAEA,SAASioxB,GAAYloxB,GACnB,OAA8B,IAAvBA,EAAIpZ,QAAQ,KACrB,CAEA,SAASogyB,GAAkBe,GACzB,OAAqB,MAAdA,GAAsBA,EAAWzxxB,KAAK4xxB,GAC/C,CCjTA,IAGaC,GAFM,qBAAXv+xB,QAAgD,oBAAfA,OAAOmxiB,IAG7CnxiB,OAAOmxiB,IAAI,iDACX,kDCIC91iB,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,GAAI,EACtEP,GAAcC,EAAGC,EAC5B,EAQO,IAAIa,GAAW,WAQlB,OAPAA,GAAWZ,OAAOa,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIZ,KADTW,EAAIG,UAAUF,GACOhB,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,KAAIU,EAAEV,GAAKW,EAAEX,IAE9E,OAAOU,CACX,EACOF,GAASS,MAAMb,KAAMU,UAChC,EA6BO,SAAS2B,GAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC1F,SAASkC,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAS,CAAE,MAAO/B,IAAK6B,EAAO7B,GAAI,CAAE,CAC7F,SAASgC,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAQ,KAIjBM,KAAKP,EAAWI,EAAW,CAC7GF,GAAMN,EAAYA,EAAU5B,MAAMyB,EAASC,GAAc,KAAKS,OAClE,GACJ,CAEO,SAASK,GAAYf,EAASgB,GACjC,IAAsGC,EAAGC,EAAGlD,EAAGmD,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtD,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGuD,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAET,KAAMe,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXC,SAA0BP,EAAEO,OAAOC,UAAY,WAAa,OAAOjE,IAAM,GAAIyD,EACvJ,SAASM,EAAKtD,GAAK,OAAO,SAAUyD,GAAK,OACzC,SAAcC,GACV,GAAIZ,EAAG,MAAM,IAAIa,UAAU,mCAC3B,KAAOV,OACH,GAAIH,EAAI,EAAGC,IAAMlD,EAAY,EAAR6D,EAAG,GAASX,EAAU,OAAIW,EAAG,GAAKX,EAAS,SAAOlD,EAAIkD,EAAU,SAAMlD,EAAEM,KAAK4C,GAAI,GAAKA,EAAER,SAAW1C,EAAIA,EAAEM,KAAK4C,EAAGW,EAAG,KAAKhB,KAAM,OAAO7C,EAE3J,OADIkD,EAAI,EAAGlD,IAAG6D,EAAK,CAAS,EAARA,EAAG,GAAQ7D,EAAEwC,QACzBqB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7D,EAAI6D,EAAI,MACxB,KAAK,EAAc,OAAXT,EAAEC,QAAgB,CAAEb,MAAOqB,EAAG,GAAIhB,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIW,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKT,EAAEI,IAAIO,MAAOX,EAAEG,KAAKQ,MAAO,SACxC,QACI,KAAkB/D,GAAZA,EAAIoD,EAAEG,MAAYlD,OAAS,GAAKL,EAAEA,EAAEK,OAAS,MAAkB,IAAVwD,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAET,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVS,EAAG,MAAc7D,GAAM6D,EAAG,GAAK7D,EAAE,IAAM6D,EAAG,GAAK7D,EAAE,IAAM,CAAEoD,EAAEC,MAAQQ,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYT,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIA,EAAI6D,EAAI,KAAO,CACpE,GAAI7D,GAAKoD,EAAEC,MAAQrD,EAAE,GAAI,CAAEoD,EAAEC,MAAQrD,EAAE,GAAIoD,EAAEI,IAAIQ,KAAKH,GAAK,KAAO,CAC9D7D,EAAE,IAAIoD,EAAEI,IAAIO,MAChBX,EAAEG,KAAKQ,MAAO,SAEtBF,EAAKb,EAAK1C,KAAK0B,EAASoB,EAC5B,CAAE,MAAO3C,IAAKoD,EAAK,CAAC,EAAGpD,IAAIyC,EAAI,CAAG,CAAE,QAAUD,EAAIjD,EAAI,CAAG,CACzD,GAAY,EAAR6D,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAErB,MAAOqB,EAAG,GAAKA,EAAG,QAAK,EAAQhB,MAAM,EAC9E,CAtBgDJ,CAAK,CAACtC,EAAGyD,GAAK,CAAG,CAuBrE,CAuBO,SAASW,GAAOL,EAAG/D,GACtB,IAAIgE,EAAsB,oBAAXT,QAAyBQ,EAAER,OAAOC,UACjD,IAAKQ,EAAG,OAAOD,EACf,IAAmB/C,EAAYV,EAA3BP,EAAIiE,EAAE7D,KAAK4D,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANrE,GAAgBA,KAAM,MAAQgB,EAAIjB,EAAEwC,QAAQG,MAAM2B,EAAGR,KAAK7C,EAAEqB,MACxE,CACA,MAAOiC,GAAShE,EAAI,CAAEgE,MAAOA,EAAS,CAAC,QAEnC,IACQtD,IAAMA,EAAE0B,OAASsB,EAAIjE,EAAU,SAAIiE,EAAE7D,KAAKJ,EAClD,CAAC,QACS,GAAIO,EAAG,MAAMA,EAAEgE,KAAO,CACpC,CACA,OAAOD,CACX,KClIY09xB,GASAC,yBCEHC,GCqBIC,GAAY,CACxBtkvB,UAAW8wpB,GAAS9wpB,WCrCf04E,GAAS,IAAIo0jB,GAAO,0BAE1By3G,GAAA,WAKC,SAAAA,EAAY5nxB,GACXhb,KAAKsqrB,QAAUtvqB,CAChB,CAgCD,OA9BC4nxB,EAAA1iyB,UAAA++B,UAAA,SAAUkR,GAKT,OAJAnwC,KAAKsqrB,QAAOlqrB,GAAAA,GAAA,GAAQ+vC,GAAWnwC,KAAKsqrB,SAEpCvzjB,GAAOiyjB,MAAM,aAAahprB,KAAK6iyB,kBAAqB7iyB,KAAKsqrB,SAElDtqrB,KAAKgb,OACb,EAEA4nxB,EAAA1iyB,UAAA4iyB,YAAA,WACC,MAAO,QACR,EAIAtjyB,OAAAqC,eAAc+gyB,EAAA1iyB,UAAA,UAAO,KAArB,WACC,OAAAE,GAAA,GAAYJ,KAAKsqrB,QAClB,kCAcDs4G,CAAA,CAvCA,IHEA,SAAYJ,GACXA,EAAA,sCACAA,EAAA,sCACAA,EAAA,4EACAA,EAAA,oCACAA,EAAA,uCACA,CAND,CAAYA,KAAAA,GAAW,KASvB,SAAYC,GAIXA,EAAA,sBAIAA,EAAA,kDAIAA,EAAA,0CAIAA,EAAA,sEAIAA,EAAA,wBAIAA,EAAA,wDAIAA,EAAA,4BAIAA,EAAA,qDACA,CAjCD,CAAYA,KAAAA,GAAe,KIpBpB,IAMKM,GAqDAC,GAMAC,GA/DCC,GAAsB,CAAC,IAAK,IAAK,MAI9C,SAAYH,GAKXA,EAAA,sCAKAA,EAAA,wCAKAA,EAAA,oCAKAA,EAAA,kBAKAA,EAAA,0BAKAA,EAAA,gBAKAA,EAAA,+BAKAA,EAAA,gBAKAA,EAAA,wBAKAA,EAAA,iBACA,CAnDD,CAAYA,KAAAA,GAAa,KAqDzB,SAAYC,GACXA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,yBACAA,EAAAA,EAAA,kBACA,CAJD,CAAYA,KAAAA,GAAmB,KAM/B,SAAYC,GACXA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,iBACAA,EAAAA,EAAA,0BACA,CAJD,CAAYA,KAAAA,GAAa,KAMlB,ICpEKE,GDoEC/3G,GACM,qBAAXpnrB,QAAgD,oBAAfA,OAAOmxiB,IAC5CnxiB,OAAOmxiB,IAAI,mBACX,oBAGSiuP,GAA+B,CAC3CC,OAAQ,oCACR,mBAAoB,UACpB,eAAgB,mCAgBJC,GAA6B,IEzF1CC,GAAA,oBAAAA,IA8CA,QAzCCA,EAAArjyB,UAAAsjyB,eAAA,SAAeC,GACd,GAAIh3G,KAAgBr5kB,OACnB,OAAOmqiB,GAAAA,KAAgB,CAAC,CAAEmmJ,QAAQ,KAGnC,IAAMC,ElVyImB,WAC1B,GAAoB,qBAATv1xB,KACV,OAAO,EAER,IAAMw1xB,EAAcx1xB,KACpB,MAC0C,qBAAlCw1xB,EAAYC,mBACnBz1xB,gBAAgBw1xB,EAAYC,iBAE9B,CkVlJoBC,GAAgB11xB,KAAO/P,OAEzC,OAAO,IAAIk/oB,IAAW,SAAAlre,GACrBA,EAASrvK,KAAK,CAAE0gyB,OAAQC,EAAUvlvB,UAAU2lvB,SAE5C,IAAMC,EAAe,WAAM,OAAA3xnB,EAASrvK,KAAK,CAAE0gyB,QAAQ,GAAxB,EACrBO,EAAgB,WAAM,OAAA5xnB,EAASrvK,KAAK,CAAE0gyB,QAAQ,GAAxB,EAO5B,OALAC,EAAUtiwB,iBAAiB,SAAU2iwB,GACrCL,EAAUtiwB,iBAAiB,UAAW4iwB,GAEtCV,EAAsBW,WAAW5/xB,KAAK+tK,GAE/B,WACNsxnB,EAAUjvvB,oBAAoB,SAAUsvvB,GACxCL,EAAUjvvB,oBAAoB,UAAWuvvB,GAEzCV,EAAsBW,WAAaX,EAAsBW,WAAWlxxB,QACnE,SAAAo6G,GAAa,OAAAA,IAAcilD,CAAd,GAEf,CACD,GACD,EAGekxnB,EAAAY,kBAAf,SAAiCzuvB,sBACrB28H,GACV,GAAIA,EAAS0ta,cACZwjN,EAAsBW,WAAaX,EAAsBW,WAAWlxxB,QACnE,SAAAo6G,GAAa,OAAAA,IAAcilD,CAAd,eAIfA,EAASrvK,KAAK0yC,QAPf,IAAuB,IAAAroC,EAAAzI,GAAA2+xB,EAAsBW,YAAU7wuB,EAAAhmD,EAAArK,QAAAqwD,EAAAlwD,KAAAkwD,EAAAhmD,EAAArK,OAAA,GAApCqwD,EAAAvwD,yGASpB,EA5CeygyB,EAAAW,WAEX,GA2CLX,EA9CA,SCLaa,GAAsB,WAAM,WAAIC,IAAeb,gBAAnB,ECe5Bc,GAWT,CACHC,kBAAmB,CAAEC,eAAgB,aACrCC,WAAY,CAAED,eAAgB,WAC9BE,uBAAwB,CAAEC,gBAAiB,aAC3CC,kBAAmB,CAClBC,wBAAyB,eACzBF,gBAAiB,gBAElBG,mBAAoB,CAAED,wBAAyB,gBAC/CE,mBAAoB,CACnBF,wBAAyB,YACzBF,gBAAiB,cAElBK,OAAQ,CAAEL,gBAAiB,gBAC3BM,OAAQ,CAAEC,aAAc,aACxBC,QAAS,CAAED,aAAc,iBAG1BE,GAAA,WAUC,SAAAA,IAAA,IAAAl8xB,EAAA,KACClJ,KAAKqlyB,oCAAiC9myB,EACtCyB,KAAKslyB,uBAAyB,CAC7BJ,aAAc,YACdP,gBAAiB,eACjBE,wBAAyB,eACzBL,eAAgB,WAIjBxkyB,KAAKulyB,iCAAmCnB,KAAsBhtvB,WAC7D,SAAC14C,SAAEglyB,EAAAhlyB,EAAAglyB,OACFx6xB,EAAKsyI,OACJkopB,EAASY,GAAkBW,OAASX,GAAkBa,SAElB,QAArC93xB,EAAAnE,EAAKq8xB,wCAAgC,IAAAl4xB,GAAAA,EAAEmnC,aACxC,IAGDx0C,KAAKwlyB,iCACJ,IAAIjoJ,IAAmC,SAAAkoJ,GACtCA,EAAwBziyB,KAAKkG,EAAKo8xB,wBAClCp8xB,EAAKw8xB,+BAAiCD,CACvC,GACF,CAkHD,OA7GSL,EAAAllyB,UAAAylyB,wBAAR,iBAAAz8xB,EAAA,KAEsC,QAArCxK,EAAAsB,KAAKulyB,wCAAgC,IAAA7myB,GAAAA,EAAE81C,mBAGKj2C,IAAxCyB,KAAKqlyB,iCACRrlyB,KAAKqlyB,+BAAiCjB,KAAsBhtvB,WAC3D,SAAC14C,OAAEglyB,EAAAhlyB,EAAAglyB,OACFx6xB,EAAKsyI,OACJkopB,EAASY,GAAkBW,OAASX,GAAkBa,QAExD,IAGH,EAKQC,EAAAllyB,UAAA0lyB,yBAAR,iBACoC,QAAnClnyB,EAAAsB,KAAKqlyB,sCAA8B,IAAA3myB,GAAAA,EAAE81C,cACrCx0C,KAAKqlyB,oCAAiC9myB,CACvC,EAOAiB,OAAAqC,eAAWujyB,EAAAllyB,UAAA,4BAAyB,KAApC,eACKgT,EADLhK,EAAA,KAQC,OAAOlJ,KAAKwlyB,iCACV3myB,KAAI,SAAAiE,GACJ,OAAOoG,EAAK28xB,2BAA2B/iyB,EACxC,IACCkQ,QAAO,SAAA4rB,GACP,IAAMknwB,EAAYlnwB,IAAY1rB,EAE9B,OADAA,EAAW0rB,EACJknwB,CACR,GACF,kCAKAV,EAAAllyB,UAAAs7I,OAAA,SAAOuqpB,GAEwC,cAA1CA,EAAclB,wBACjB7kyB,KAAK2lyB,0BAC+C,iBAA1CI,EAAclB,yBACxB7kyB,KAAK4lyB,2BAIN,IAAMI,EAAe5lyB,GAAAA,GAAA,GACjBJ,KAAKslyB,wBACLS,GAGJ/lyB,KAAKslyB,uBAAsBllyB,GAAA,GAAQ4lyB,GAEnChmyB,KAAK0lyB,+BAA+B1iyB,KAAKhD,KAAKslyB,uBAC/C,EAKQF,EAAAllyB,UAAA2lyB,2BAAR,SAAmCnnyB,OAClCimyB,EAAAjmyB,EAAAimyB,gBACAO,EAAAxmyB,EAAAwmyB,aACAL,EAAAnmyB,EAAAmmyB,wBACAL,EAAA9lyB,EAAA8lyB,eAEA,MAAwB,cAApBG,GAAoD,iBAAjBO,EAC/BzC,GAAgBwD,wBAGH,cAApBtB,GAC4B,iBAA5BE,EAEOpC,GAAgByD,2BAGH,iBAApBvB,GAC4B,cAA5BE,GACiB,iBAAjBK,EAEOzC,GAAgB0D,kCAGH,iBAApBxB,GAC4B,cAA5BE,EAEOpC,GAAgB2D,oBAEA,cAApBzB,GAAsD,cAAnBH,EAC/B/B,GAAgB4D,0BAGA,eAApB1B,EAAyClC,GAAgB6D,WACrC,iBAApB3B,EAA2ClC,GAAgB8D,aACxD9D,GAAgB+D,SACxB,EACDpB,CAAA,CApJA,IH3CA,SAAYjC,GACXA,EAAA,kCACAA,EAAA,+BACA,CAHD,CAAYA,KAAAA,GAAc,KAW1B,IISYsD,GJTZC,GAAA,oBAAAA,IACS,KAAAC,mBAAuC,EA0DhD,QAnDCD,EAAAxmyB,UAAA0myB,YAAA,SAAYC,GACX7myB,KAAK2myB,mBAAmBriyB,KAAKuiyB,EAC9B,EAKAH,EAAAxmyB,UAAAs7I,OAAA,SAAOj7G,GAAP,IAAAr3B,EAAA,KACKq3B,IAAU4iwB,GAAe2D,sBAGIvoyB,IAA/ByB,KAAK+myB,4BACwBxoyB,IAA7ByB,KAAKgnyB,sBAELhnyB,KAAK+myB,sBAAwBvtxB,YAAW,WAEvCtQ,EAAK+9xB,oBAEL/9xB,EAAK89xB,oBAAsB1zX,aAAY,WACtCpqa,EAAK+9xB,mBACN,GDqE6B,ICpE9B,GD+D2B,MC3DzB1mwB,IAAU4iwB,GAAe+D,iBACxBlnyB,KAAKgnyB,sBACRnzX,cAAc7za,KAAKgnyB,qBACnBhnyB,KAAKgnyB,yBAAsBzoyB,GAExByB,KAAK+myB,wBACRxpwB,aAAav9B,KAAK+myB,uBAClB/myB,KAAK+myB,2BAAwBxoyB,GAGhC,EAKAmoyB,EAAAxmyB,UAAAkwX,MAAA,WACCpwX,KAAK2myB,mBAAmBz2xB,SAAQ,SAAA22xB,SACL,QAA1BnoyB,EAAAmoyB,EAAkBjmsB,gBAAQ,IAAAliG,GAAAA,EAAAkC,KAA1BimyB,EACD,GACD,EAEQH,EAAAxmyB,UAAA+myB,kBAAR,WACCjnyB,KAAK2myB,mBAAmBz2xB,SAAQ,SAAA22xB,SACT,QAAtBnoyB,EAAAmoyB,EAAkB7jyB,YAAI,IAAAtE,GAAAA,EAAAkC,KAAtBimyB,EACD,GACD,EACDH,CAAA,CA3DA,GKuCM3vqB,GAAS,IAAIo0jB,GAAO,8BAEpBg8G,GAAmB,SACxB5mwB,EACAx4B,EACA4Q,GAEAyzqB,GAAItuD,SAAS,MAAO,CAAEv9lB,MAAKA,EAAEx4B,KAAIA,EAAE4Q,QAAOA,GAAI,SAAUyyqB,GACzD,EAYMg8G,GACL,iGA0CDC,GAAA,SAAAv2xB,GAaC,SAAAu2xB,EAAYrsxB,QAAA,IAAAA,IAAAA,EAAA,IAAZ,IAAA9R,EACC4H,EAAAlQ,KAAA,KAAMoa,IAAQ,YAZP9R,EAAAo+xB,aAA8BrE,GAAc+B,OAE5C97xB,EAAAq+xB,iBAAmBjE,GAEnBp6xB,EAAAs+xB,wBAAsD,IAAIr2tB,IAC1DjoE,EAAAu+xB,aAAwD,GAE/Cv+xB,EAAAw+xB,uBAAyB,IAAItC,GAC7Bl8xB,EAAAy+xB,oBAAsB,IAAIjB,GAM1Cx9xB,EAAK0+xB,mCACJ1+xB,EAAKw+xB,uBAAuBG,0BAA0BzwvB,WACrD,SAAAutvB,GACCwC,GNnIkC,wBMqIjC,CACC9nG,SAAUn2rB,EACVy7xB,gBAAeA,GAEhB,uBAAuBA,GAExBz7xB,EAAKy7xB,gBAAkBA,EAGnBA,IAAoBlC,GAAgB2D,qBACvCl9xB,EAAKy+xB,oBAAoBnspB,OAAO2npB,GAAe2D,iBAM/C,CACCrE,GAAgB+D,UAChB/D,GAAgByD,2BAChBzD,GAAgB4D,0BAChB5D,GAAgBwD,wBAChBxD,GAAgBwD,wBAChBxD,GAAgB0D,kCAChB1D,GAAgB8D,cACfv3uB,SAAS21uB,IAEXz7xB,EAAKy+xB,oBAAoBnspB,OAAO2npB,GAAe+D,eAEjD,KAEH,CA22BD,OX3/BO,SAAmB5nyB,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,EACnF,CWyFgDD,CAAAunyB,EAAAv2xB,GAwD/Cu2xB,EAAAnnyB,UAAAkwX,MAAA,WAECpwX,KAAKsnyB,aAAerE,GAAc+B,OAClChlyB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBM,mBAGrD5kyB,KAAK4nyB,mCAAmCpzvB,cAExCx0C,KAAK2nyB,oBAAoBv3a,OAC1B,EAEAi3a,EAAAnnyB,UAAA4nyB,gBAAA,SAAgBlowB,EAAa6e,GAC5B,OAAO,IAAIspvB,UAAUnowB,EAAK6e,EAC3B,EAEA4ovB,EAAAnnyB,UAAA2iyB,gBAAA,WACC,MAAO,4BACR,EAEAwE,EAAAnnyB,UAAA8nyB,UAAA,WACC,MAAM,IAAIr/xB,MAAM,gBACjB,EAEa0+xB,EAAAnnyB,UAAA+nyB,QAAb,SACCC,EACAC,EACA1yrB,wEAEA,MAAM,IAAI9sG,MAAM,kCAIT0+xB,EAAAnnyB,UAAAkoyB,eAAR,SAAuBxowB,GACtB,OAA4C,OAArCA,EAAIhe,MAAMwlxB,GAClB,EAEAC,EAAAnnyB,UAAAk3C,UAAA,SACC8wvB,EACAltxB,GAFD,IAAA9R,EAAA,KAIOm/xB,EAAgC,OAAPrtxB,QAAO,IAAPA,OAAO,EAAPA,EAASqtxB,uBAExC,OAAO,IAAI9qJ,IAAW,SAAAlre,GACrB,GAAKr3J,GAAYqtxB,EAWV,CACN,IAuBIC,EAvBAC,GAA0B,EACxBC,GAAiBl9Q,EAAAA,GAAAA,MACjBm9Q,EAAoB,WACpBF,IACJA,GAA0B,EAEzBr/xB,EAAKw/xB,yCAAyC,CAC7C1txB,QAAOA,EACPq3J,SAAQA,EACRs2nB,eAAcH,IACZx/xB,OAAW,SAAA4sC,GACbmhF,GAAOiyjB,MACHw5G,GAAYoG,iCAAgC,KAAKhzvB,GAGrD1sC,EAAKw+xB,uBAAuBlspB,OAAO8opB,GAAkBU,OACtD,IACwB5mP,SAAQ,WAChCmqP,GAA0B,CAC3B,IAEF,EAaA,OARAD,EAAwB,IAAI/qJ,IAAW,SAAAlre,GACtCnpK,EAAKy+xB,oBAAoBf,YAAYv0nB,EACtC,IAAGj7H,WAAU,WACZqxvB,GACD,IAEAA,IAEO,kBAAApmyB,GAAA6G,OAAA,gFAEe,OAArBo/xB,QAAqB,IAArBA,GAAAA,EAAuB9zvB,+BAKtB,iCAAMx0C,KAAK6oyB,kCAAkCL,WAK7C,GALA9pyB,EAAAkF,SAEQklyB,GACP9oyB,KAAKwnyB,wBAAwB5gyB,IAAI4hyB,IAAmB,CAAC,GAACM,mBAItD,UAGD,GAAIA,IAAsB9F,GAAoB+F,UAG7C,MAAM,IAAIpgyB,MAAM,uCAFhB3I,KAAKgpyB,2BAA2BR,kCAKjCzxqB,GAAOiyjB,MAAM,6BAA6BuE,uBAE1CvtrB,KAAKipyB,4BAA4BT,gCAtEnCn2nB,EAASttK,MAAM,CACdw5F,OAAQ,CAAC,GAAD,GAEH,IAAI6urB,GACN,yDAKJ/6mB,EAASzxE,UAiEX,GACD,EAEAphG,OAAAqC,eAAcwlyB,EAAAnnyB,UAAA,eAAY,KAA1B,WACC,OAAQF,KAAKgb,QACkD,4DAEhE,kCAEcqsxB,EAAAnnyB,UAAAwoyB,yCAAd,SAAuDhqyB,SACtDsc,EAAAtc,EAAAsc,QACAq3J,EAAA3zK,EAAA2zK,SACAs2nB,EAAAjqyB,EAAAiqyB,oKAmCK,OA5BJN,EAQGrtxB,EAAOqtxB,uBAPVa,EAOGluxB,EAAOkuxB,mBANVp3oB,EAMG92I,EAAO82I,MALVq3oB,EAKGnuxB,EAAOmuxB,UAJVC,EAIGpuxB,EAAOouxB,OAHVxpG,EAGG5krB,EAAO4krB,OAFVvsoB,EAEGr4C,EAAOquxB,gBAFVA,OAAe,IAAAh2uB,EAAG,WAAM,MAAC,CAAC,CAAF,EAAIA,EAC5BC,EACGt4C,EAAOsuxB,kBADVA,OAAiB,IAAAh2uB,EAAG,CAAC,EAACA,EAGjBw1uB,EAAyC9F,GAAoBuG,QAC7DxhyB,EAAO,CACZ+pJ,MAAKA,EACLq3oB,UAASA,GAGVnpyB,KAAKwnyB,wBAAwB1gyB,IAAI6hyB,EAAgB,CAChDt2nB,SAAQA,EACRvgB,MAAY,OAALA,QAAK,IAALA,EAAAA,EAAS,GAChBq3oB,UAAoB,OAATA,QAAS,IAATA,EAAAA,EAAa,CAAC,EACzBL,kBAAiBA,EACjBU,uBAAmBjryB,IAKdkryB,EAAal7wB,KAAKhP,UAAUxX,UAE7B,GAAM/H,KAAK0pyB,4BAA4B,CAC1CN,OAAMA,EACNf,uBAAsBA,EACtBa,mBAAkBA,EAClBjrvB,QAASwrvB,EACTE,aAAc,GACd/pG,OAAMA,EACN0pG,kBAAiBA,YAEd,oCATA5zG,EAAA9xrB,WASA,GAAMylyB,YAVLO,EAASxpyB,GAAAA,WAAA,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,WAAA,EAAA4hlB,EAAAjjlB,OAAA,CAUV22rB,EAAA9xrB,UACD0lyB,KAAiBpnN,EAAA,GAAAA,EZ7UU,oBY8UTygN,GAAUtkvB,UAAS6jiB,KAGnC2nN,EAAsB,CAC3Bx1xB,GAAIs0xB,EACJ1qvB,QAAS,CACRl2C,KAAM0hyB,EACNpc,WAAY,CACXrkF,cAAa5osB,GAAA,GACTwpyB,KAINpyxB,KAAMurxB,GAAc+G,WAGfC,EAAsBx7wB,KAAKhP,UAAUsqxB,oBAI1C,6BADA7pyB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBS,oBACrD,GAAM/kyB,KAAKgqyB,+BAA+B,CACzCZ,OAAMA,EACNf,uBAAsBA,EACtBa,mBAAkBA,EAClBtpG,OAAMA,EACN0pG,kBAAiBA,mBALlB5zG,EAAA9xrB,oBASA,kBADA5D,KAAKiqyB,2BAA2BtB,EAAgBt2nB,EAAUmojB,GAC1D,kBAOKv4I,EAC2C,QAD3C50kB,EACLrN,KAAKwnyB,wBAAwB5gyB,IAAI+hyB,UAAe,IAAAt7xB,EAAAA,EAAI,CAAC,EAD9C68xB,EAA0BjoN,EAAAioN,2BAAEC,EAAyBloN,EAAAkoN,0BAI7DnqyB,KAAKwnyB,wBAAwB1gyB,IAAI6hyB,EAAgB,CAChDt2nB,SAAQA,EACRy2nB,kBAAiBA,EACjBh3oB,MAAY,OAALA,QAAK,IAALA,EAAAA,EAAS,GAChBq3oB,UAAoB,OAATA,QAAS,IAATA,EAAAA,EAAa,CAAC,EACzBgB,0BAAyBA,EACzBD,2BAA0BA,EAC1BV,kBAAmBhwxB,YAAW,WAC7BtQ,EAAKkhyB,6BAA6BxpyB,KAAKsI,EAAMy/xB,EAC9C,GNlT8B,QMoT3B3oyB,KAAKqqyB,mBACRrqyB,KAAKqqyB,kBAAkB/yvB,KAAKyyvB,eAKtB1C,EAAAnnyB,UAAA+pyB,2BAAR,SACCtB,EACAt2nB,EACAz8H,SAEAmhF,GAAOiyjB,MAAM,CAAEpzoB,IAAGA,IAClB,IAAMj9B,EAAUxJ,OAAkB,QAAZzQ,EAACk3C,EAAIj9B,eAAO,IAAAja,EAAAA,EAAI,IAOtC,GALAgE,QAAQC,QACP3C,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBU,SAKrDhlyB,KAAK2kyB,kBAAoBlC,GAAgB0D,kCACxC,CAEGv5G,GAAoBh3oB,GACvBy8H,EAASttK,MAAM,CACdw5F,OAAQ,CAAC,GAAD,GAEH,IAAI6urB,GACHoV,GAAYoC,kBAAiB,KAAKjsxB,OAMzCo+G,GAAOiyjB,MAASw5G,GAAYoC,kBAAiB,KAAKjsxB,GAG3C,IAAAuxxB,GAAA,KAAA1C,wBAAA5gyB,IAAA+hyB,IAAA,IAAAuB,2BAIkC,oBAA/BA,GACVA,IAGH,EAGc7C,EAAAnnyB,UAAA2oyB,kCAAd,SAAgDF,qFAG/C,OAFMhqJ,EACL3+oB,KAAKwnyB,wBAAwB5gyB,IAAI+hyB,KAEHhqJ,EAAoBmqJ,oBAExB9F,GAAoBuG,QACtC,CAAP,EAAO,IAAI7myB,SAAQ,SAACsqD,EAAKqwlB,GAChB,IAAAhre,EAAAsse,EAAAtse,SAAUy2nB,EAAAnqJ,EAAAmqJ,kBAAmBK,EAAAxqJ,EAAAwqJ,UAAWr3oB,EAAA6sf,EAAA7sf,MAEhD5oJ,EAAKs+xB,wBAAwB1gyB,IAAI6hyB,EAAgB,CAChDt2nB,SAAQA,EACRy2nB,kBAAiBA,EACjBK,UAASA,EACTr3oB,MAAKA,EACLq4oB,0BAA2Bn9uB,EAC3Bk9uB,2BAA4B7sJ,GAE9B,gBAKKgqJ,EAAAnnyB,UAAA8oyB,2BAAR,SAAmCL,GAClC,IACC,GACC3oyB,KAAKqqyB,mBACLrqyB,KAAKqqyB,kBAAkBr0vB,aAAe+xvB,UAAUuC,MAChDtqyB,KAAKsnyB,eAAiBrE,GAAcsH,MACnC,CAED,IAAMC,EAAqB,CAC1Bn2xB,GAAIs0xB,EACJnxxB,KAAMurxB,GAAc0H,UAEfV,EAAsBx7wB,KAAKhP,UAAUirxB,GAC3CxqyB,KAAKqqyB,kBAAkB/yvB,KAAKyyvB,IAE5B,MAAOn0vB,GAERmhF,GAAOiyjB,MAAM,CAAEpzoB,IAAGA,IAEpB,EAEQyxvB,EAAAnnyB,UAAA+oyB,4BAAR,SAAoCN,GACnC3oyB,KAAKwnyB,wBAAwBh3tB,OAAOm4tB,GAGpCnvxB,WAAWxZ,KAAK0qyB,uBAAuBlnwB,KAAKxjC,MAAO,IACpD,EAEQqnyB,EAAAnnyB,UAAAwqyB,uBAAR,WACC,KAAI1qyB,KAAKwnyB,wBAAwB7mxB,KAAO,GAKxC,GAAK3gB,KAAKqqyB,kBAOV,GAFArqyB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBQ,oBAEjD9kyB,KAAKqqyB,kBAAkBM,eAAiB,EAE3CnxxB,WAAWxZ,KAAK0qyB,uBAAuBlnwB,KAAKxjC,MAAO,SAC7C,CACN+2H,GAAOiyjB,MAAM,wBACThprB,KAAK4qyB,oBACRrtwB,aAAav9B,KAAK4qyB,oBAEf5qyB,KAAK6qyB,yBACRttwB,aAAav9B,KAAK6qyB,yBAEnB,IAAMC,EAAa9qyB,KAAKqqyB,kBAExBS,EAAWC,QAAU,KACrBD,EAAWliyB,QAAU,KACrBkiyB,EAAW16a,MAAM,KACjBpwX,KAAKqqyB,uBAAoB9ryB,EACzByB,KAAKsnyB,aAAerE,GAAc+B,OAClChlyB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBU,aAxBrDhlyB,KAAKsnyB,aAAerE,GAAc+B,MA0BpC,EAEQqC,EAAAnnyB,UAAA8qyB,mCAAR,SAA2CryxB,GAA3C,IAAAzP,EAAA,KACC,GAA4B,kBAAjByP,EAAQ5Q,KAAnB,CAGAgvH,GAAOiyjB,MACN,mDAAmDrwqB,EAAQ5Q,MAEtD,IAAArJ,EAAA6vB,KAAA7O,MAAAvQ,OAAAwJ,EAAA5Q,OACLsF,EAAA3O,EAAA2V,GAAAA,OAAA,IAAAhH,EAAA,GAAAA,EACA4wC,EAAAv/C,EAAAu/C,QACAzmC,EAAA9Y,EAAA8Y,KAEK67C,EAAA,KAAAm0uB,wBAAA5gyB,IAAAyN,IAAA,GACLi/C,EAAAD,EAAAg/G,SAAAA,OAAA,IAAA/+G,EAAA,KAAAA,EACAy3L,EAAA13L,EAAAy+F,MAAAA,OAAA,IAAAi5F,EAAA,GAAAA,EACAi3V,EAAA3uhB,EAAA81uB,UAAAA,OAAA,IAAAnnN,EAAA,GAAAA,EACAwnN,EAAAn2uB,EAAAm2uB,kBACAW,EAAA92uB,EAAA82uB,0BACAD,EAAA72uB,EAAA62uB,2BAKD,GAFAnzqB,GAAOiyjB,MAAM,CAAE30qB,GAAEA,EAAEg+J,SAAQA,EAAEvgB,MAAKA,EAAEq3oB,UAASA,IAEzC3xxB,IAASurxB,GAAckI,UAAYhtvB,GAAWA,EAAQl2C,KACrDsqK,EACHA,EAASrvK,KAAKi7C,GAEd84E,GAAOiyjB,MAAM,8BAA8B30qB,OAJ7C,CASA,GAAImD,IAASurxB,GAAcmI,cAAe,CACzCn0qB,GAAOiyjB,MACN,0BAA0Bz6pB,KAAKhP,UAAU,CAAEuyI,MAAKA,EAAEq3oB,UAASA,KAEnB,oBAA9BgB,GACVA,IAEGX,GAAmBjswB,aAAaiswB,GACpCrC,GACC3E,GAAY2I,iBACZ,CAAEr5oB,MAAKA,EAAEq3oB,UAASA,GAClB,2CAED,IAAML,EAAoB9F,GAAoB+F,UAgB9C,OAfI12nB,GACHryK,KAAKwnyB,wBAAwB1gyB,IAAIuN,EAAI,CACpCg+J,SAAQA,EACRvgB,MAAKA,EACLq3oB,UAASA,EACTK,uBAAmBjryB,EACnBuqyB,kBAAiBA,EACjBqB,0BAAyBA,EACzBD,2BAA0BA,SAG5BlqyB,KAAK0nyB,uBAAuBlspB,OAC3B8opB,GAAkBI,wBAMpB,GAAIltxB,IAASurxB,GAAcqI,0BAY1B,OAXIpryB,KAAK4qyB,oBAAoBrtwB,aAAav9B,KAAK4qyB,oBAC3C5qyB,KAAK6qyB,yBACRttwB,aAAav9B,KAAK6qyB,yBACnB7qyB,KAAK4qyB,mBAAqBpxxB,YACzB,WAAM,OAAAtQ,EAAKmiyB,iBAAiB7I,GAAY8I,mBAAlC,GACNtryB,KAAKunyB,kBAENvnyB,KAAK6qyB,wBAA0BrxxB,YAAW,WACzCtQ,EAAKw+xB,uBAAuBlspB,OAAO8opB,GAAkBC,kBACtD,GN1f6C,WM2f7CvkyB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBG,YAItD,GAAIjtxB,IAASurxB,GAAcwI,UAAW,CAC/BzC,EAAoB9F,GAAoBwI,OAC1Cn5nB,IACHryK,KAAKwnyB,wBAAwB1gyB,IAAIuN,EAAI,CACpCg+J,SAAQA,EACRvgB,MAAKA,EACLq3oB,UAASA,EACTK,kBAAiBA,EACjBW,0BAAyBA,EACzBD,2BAA0BA,EAC1BpB,kBAAiBA,IAGlB/xqB,GAAOiyjB,MACHw5G,GAAYoC,kBAAiB,KAAKr2wB,KAAKhP,UAAU0+B,IAGrDo0H,EAASttK,MAAM,CACdw5F,OAAQ,CAAC,GAAD,GAEH,IAAI6urB,GACHoV,GAAYoC,kBAAiB,KAAKr2wB,KAAKhP,UAAU0+B,QAMpDurvB,GAAmBjswB,aAAaiswB,GAEM,oBAA/BU,GACVA,OAIJ,EAEQ7C,EAAAnnyB,UAAAmryB,iBAAR,SAAyBp/R,GACxBl1Y,GAAOiyjB,MAAM,qBAAqB/8K,GAE9BjsgB,KAAKqqyB,oBACRrqyB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBU,QACrDhlyB,KAAKqqyB,kBAAkBj6a,SAGxBpwX,KAAKsnyB,aAAerE,GAAc+B,MACnC,EAEQqC,EAAAnnyB,UAAAkqyB,6BAAR,SAAqCzB,GACpC,IAAMhqJ,EACL3+oB,KAAKwnyB,wBAAwB5gyB,IAAI+hyB,GAClC,GAAIhqJ,EAAsB,CACjB,IAAAtse,EAAAsse,EAAAtse,SAAUvgB,EAAA6sf,EAAA7sf,MAAOq3oB,EAAAxqJ,EAAAwqJ,UACzB,IAAK92nB,EACJ,OAEDryK,KAAKwnyB,wBAAwB1gyB,IAAI6hyB,EAAgB,CAChDt2nB,SAAQA,EACRvgB,MAAKA,EACLq3oB,UAASA,EACTL,kBAAmB9F,GAAoBwI,SAGxCxryB,KAAK0nyB,uBAAuBlspB,OAAO8opB,GAAkBU,QACrDjuqB,GAAOiyjB,MACN,2BACAz6pB,KAAKhP,UAAU,CAAEuyI,MAAKA,EAAEq3oB,UAASA,KAGpC,EAEQ9B,EAAAnnyB,UAAA8pyB,+BAAR,SAAuCtryB,GAAvC,IAAAwK,EAAA,KACCm/xB,EAAA3pyB,EAAA2pyB,uBACAa,EAAAxqyB,EAAAwqyB,mBACAE,EAAA1qyB,EAAA0qyB,OACAxpG,EAAAlhsB,EAAAkhsB,OACA0pG,EAAA5qyB,EAAA4qyB,kBAEA,GAAItpyB,KAAKsnyB,eAAiBrE,GAAcsH,MAGxC,OAAO,IAAI7nyB,SAAQ,SAAOsqD,EAAKqwlB,GAAG,OAAAh7oB,GAAA6G,OAAA,iGACjClJ,KAAKynyB,aAAanjyB,KAAK,CAAE0oD,IAAGA,EAAEqwlB,IAAGA,IAE7Br9oB,KAAKsnyB,eAAiBrE,GAAc+B,OAApC,6BAMiB,6BAJnBhlyB,KAAKsnyB,aAAerE,GAAcwI,WAE5BC,EAAgB,KAEH,GAAM1ryB,KAAK0pyB,4BAA4B,CACzDR,mBAAkBA,EAClBjrvB,QAASytvB,EACT/B,aAAc,WACdP,OAAMA,EACNf,uBAAsBA,EACtBzoG,OAAMA,EACN0pG,kBAAiBA,YA2BlB,OAlCMqC,EAAajtyB,EAAAkF,OAUbgoyB,EAAeD,EAAap9wB,KAAKhP,UAAUosxB,GAAc,GACzDE,EAAWn+xB,GAAAA,GAAAA,KAAYk+xB,GAAcp8xB,SAAS,UAE9Cs8xB,EAAYp+xB,GAAAA,GAAAA,KAAYg+xB,GAAel8xB,SAAS,UAElDu8xB,EAA6C,OAAtB1D,QAAsB,IAAtBA,EAAAA,EAA0B,GAGpD0D,EADG/ryB,KAAKooyB,eAAe2D,GAEtBA,EAAqBhtyB,OApoBH,aAsoBIgtyB,EACrB1xxB,QAAQ,cAAe,wBACvBA,QAAQ,YAAa,YAIlBokC,EAAWz+C,KAAKgsyB,aAAe,SAAW,QAChDD,EAAuBA,EACrB1xxB,QAAQ,WAAYokC,GACpBpkC,QAAQ,UAAWokC,GAEfwtvB,EAAoBF,EAAoB,WAAWF,EAAQ,YAAYC,EAE7E,GAAM9ryB,KAAKksyB,8BAA8BD,kBAAzCvtyB,EAAAkF,OAEA5D,KAAKynyB,aAAav3xB,SAAQ,SAACxR,OAAEsuD,EAAAtuD,EAAAsuD,IAC5B+pE,GAAOiyjB,MAAM,mCACbh8nB,GACD,IACAhtD,KAAKsnyB,aAAerE,GAAcsH,MAClCvqyB,KAAKynyB,aAAe,kCAEpB1wqB,GAAOiyjB,MAAM,yBAA0BiyC,GACvCj7tB,KAAKynyB,aAAav3xB,SAAQ,SAACxR,GAAY,OAAA2+oB,EAAV3+oB,EAAA2+oB,KAAc49E,EAAJ,IACvCj7tB,KAAKynyB,aAAe,GAEnBznyB,KAAKqqyB,mBACLrqyB,KAAKqqyB,kBAAkBr0vB,aAAe+xvB,UAAUuC,MAEhDtqyB,KAAKqqyB,kBAAkBj6a,MAAM,MAE9BpwX,KAAKqqyB,uBAAoB9ryB,EACzByB,KAAKsnyB,aAAerE,GAAc+B,uCAItC,EAEcqC,EAAAnnyB,UAAAgsyB,8BAAd,SAA4CD,+FAE3C,OADAl1qB,GAAOiyjB,MAAM,sCACb,GAAM8D,GACL9srB,KAAKmsyB,qBAAqB3owB,KAAKxjC,MAC/B,CAACisyB,GN5vBwB,oBM0vB1BvtyB,EAAAkF,mBAOayjyB,EAAAnnyB,UAAAisyB,qBAAd,SAAmCF,kHAClCl1qB,GAAOiyjB,MAAM,0BAA0BijH,oBAItC,gCACQ,IAAIvpyB,SAAc,SAACsqD,EAAKqwlB,GAC9B,IAAM+uJ,EAAYljyB,EAAK4+xB,gBAAgBmE,EAAgB,cACvDG,EAAUxjyB,QAAU,WACnBmuH,GAAOiyjB,MAAM,6BACd,EACAojH,EAAUrB,QAAU,WACnB1tJ,EAAI,IAAI10oB,MAAM,8BACf,EACAyjyB,EAAUC,OAAS,WAElB,OADAnjyB,EAAKmhyB,kBAAoB+B,EAClBp/uB,GACR,CACD,YAGD,OAhBA3/C,EAAAzJ,OAgBA,GACQ,IAAIlB,SAAQ,SAACsqD,EAAKqwlB,GACxB,GAAIn0oB,EAAKmhyB,kBAAmB,CAC3B,IAAIiC,GAAQ,EACZpjyB,EAAKmhyB,kBAAkBzhyB,QAAU,SAAA7D,GAChCgyH,GAAOiyjB,MAAM,mBAAmBz6pB,KAAKhP,UAAUxa,GAChD,EACAmE,EAAKmhyB,kBAAkBU,QAAU,SAAAxqwB,GAChCw2F,GAAOiyjB,MAAM,oBAAoBzopB,EAAM7C,QACvC2/mB,EAAI,IAAI10oB,MAAM4lB,KAAKhP,UAAUghB,IAC9B,EAEAr3B,EAAKmhyB,kBAAkBxsP,UAAY,SAAClliB,GACnC,GAA4B,kBAAjBA,EAAQ5Q,KAAnB,CAGAgvH,GAAOiyjB,MACN,kDAAkDrwqB,EAAQ5Q,KAAI,KAE/D,IAAMA,EAAOwmB,KAAK7O,MAAM/G,EAAQ5Q,MAE/ByP,EAAAzP,EAAAyP,KACA9Y,EAAAqJ,EAAAk2C,QACC5wC,QAAA,IAAA3O,EAAA,GAAAA,GAAA6tyB,oBAAAA,OAAA,IAAAl/xB,EAAAi2xB,GAAAj2xB,EAGF,GAAImK,IAASurxB,GAAcyJ,mBAgB1B,OAfAF,GAAQ,EACJpjyB,EAAKmhyB,oBACRnhyB,EAAKq+xB,iBAAmBgF,EACxBrjyB,EAAKmhyB,kBAAkBxsP,UACtB30iB,EAAK8hyB,mCAAmCxnwB,KAAKt6B,GAC9CA,EAAKmhyB,kBAAkBzhyB,QAAU,SAAAgtC,GAChCmhF,GAAOiyjB,MAAMpzoB,GACb1sC,EAAKmiyB,iBAAiB7I,GAAYiK,kBACnC,EACAvjyB,EAAKmhyB,kBAAkBU,QAAU,SAAAxqwB,GAChCw2F,GAAOiyjB,MAAM,oBAAoBzopB,EAAM7C,QACvCx0B,EAAKmiyB,iBAAiB7I,GAAYiK,kBACnC,QAEDz/uB,EAAI,0CAIL,GAAIx1C,IAASurxB,GAAc2J,qBAAsB,CAE/C,IAAAr5uB,EAAAtrD,EAAAk2C,QACCqV,QAAA,IAAAD,EAAA,GAAAA,GAAAkrC,OAASyjf,EAATn9kB,QAAA,IAAAyuD,EAAA,GAAAA,EAAA,GAAS,GAAA2uhB,OAAA,IAAAD,EAAA,GAAAA,EAAEE,EAAAD,EAAAqiE,UAAAA,OAAA,IAAApiE,EAAA,GAAAA,EAAgBwzG,EAAAzzG,EAAAthc,UAI7B08f,EAAI,CAAEiH,UAASA,EAAE3jgB,eAJY,IAAA+0iB,EAAA,EAAAA,KAM/B,EAEA,IAAMi3G,EAAU,CACfn1xB,KAAMurxB,GAAc6J,qBAErB1jyB,EAAKmhyB,kBAAkB/yvB,KAAK/oB,KAAKhP,UAAUotxB,IAe3CnzxB,YAAW,WAAiB8yxB,IAX1BpjyB,EAAKw+xB,uBAAuBlspB,OAC3B8opB,GAAkBM,mBAEnBvnJ,EACC,IAAI10oB,MACH,oFAMa,GN1wBgB,MM4wBnC,mBA5ED0E,EAAAzJ,oBAoFA,iBALQ0gpB,GAAF5lpB,EAA2BmuyB,GAAhBvoJ,UAAE3jgB,EAASjiJ,EAAAiiJ,UAKxBuipB,GAAoBl0uB,SAAS2xF,GAC1B,IAAI+riB,GAAkBpoC,GAClBA,EACJ,IAAI37oB,MAAM27oB,GAEVuoJ,2BAKKxF,EAAAnnyB,UAAAwpyB,4BAAd,SAA0ChryB,OACzCwqyB,EAAAxqyB,EAAAwqyB,mBACAjrvB,EAAAv/C,EAAAu/C,QACA0rvB,EAAAjryB,EAAAiryB,aACAtB,EAAA3pyB,EAAA2pyB,uBACAe,EAAA1qyB,EAAA0qyB,OACAxpG,EAAAlhsB,EAAAkhsB,OACA0pG,EAAA5qyB,EAAA4qyB,+HAIMwD,EAEF,CACHC,QAAS/syB,KAAKgtyB,yBAAyBxpwB,KAAKxjC,MAC5CityB,QAASjtyB,KAAKktyB,sBAAsB1pwB,KAAKxjC,MACzCmtyB,eAAgBntyB,KAAKotyB,yBAAyB5pwB,KAAKxjC,MACnDqtyB,0BAA2BrtyB,KAAKstyB,sBAAsB9pwB,KAAKxjC,MAC3DutyB,WAAYvtyB,KAAKwtyB,mBAGbtE,GAAuB4D,EAAc5D,GAAtC,OACHnyqB,GAAOiyjB,MAAM,uBAAuBkgH,EAAkB,kBAC/C,CAAP,OAAO3qyB,WAQQ,OANTg1E,EAAUu5tB,EAAc5D,GAEtBxqvB,EAAS9e,GAAAA,GAAgC,OAAtByowB,QAAsB,IAAtBA,EAAAA,EAA0B,IAAG3pvB,KAExDq4E,GAAOiyjB,MAAM,uBAAuBkgH,GAErB,GAAM31tB,EAAQ,CAC5Bt1B,QAAOA,EACP0rvB,aAAYA,EACZtB,uBAAsBA,EACtBe,OAAMA,EACNxpG,OAAMA,EACNlhpB,KAAIA,EACJ4qvB,kBAAiBA,YAGlB,MAAO,CAAP,EAVej8xB,EAAAzJ,gBAcHyjyB,EAAAnnyB,UAAAotyB,sBAAd,SAAoC5uyB,OAAEggD,EAAAhgD,EAAAggD,iGACrB,SAAM8woB,GAAKwhB,yBAC3B,MAAO,CAAP,EAAO,CACN/7pB,cAFe5nC,EAAAzJ,OAEQw5sB,iBAAiBzK,cACxCj0pB,KAAIA,YAIQ2ovB,EAAAnnyB,UAAAktyB,yBAAd,SAAuC1uyB,OACtCggD,EAAAhgD,EAAAggD,2GAIsB,SAAM2mhB,GAAAA,QAAc,gCAApCisI,EAAgBjksB,EAAAzJ,SAErBwa,EAAQkzrB,EAAclzrB,aADnB,aAGiB,SAAMoxqB,GAAK2pC,oCAAzB/qC,EAAc/grB,EAAAzJ,UAEnBwa,EAAQgwqB,EAAYhwqB,wBAGtB,IAAKA,EACJ,MAAM,IAAIzV,MAAM,oBAEjB,MAAO,CAAP,EAAO,CACNssC,cAAe72B,EACfsgC,KAAIA,YAIQ2ovB,EAAAnnyB,UAAA8syB,yBAAd,SAAuCtuyB,OACtC0qyB,EAAA1qyB,EAAA0qyB,OACA1qvB,EAAAhgD,EAAAggD,kFAKA,OAHM8vf,EAAK,IAAI1wf,KACT2vvB,EAAQj/P,EAAGnxf,cAAchjC,QAAQ,iBAAkB,IAElD,CAAP,EAAO,CACNqkC,KAAIA,EACJ,aAAc+uvB,EACd,YAAarE,WAID/B,EAAAnnyB,UAAAgtyB,sBAAd,SAAoCxuyB,OACnCu/C,EAAAv/C,EAAAu/C,QACA0rvB,EAAAjryB,EAAAiryB,aACAtB,EAAA3pyB,EAAA2pyB,uBACAzoG,EAAAlhsB,EAAAkhsB,6GAOsB,OALhByrF,EAAe,CACpBzrF,OAAMA,EACNjY,QAAS,WAGY,GAAM3nrB,KAAK0tyB,6BACjC,IADsBrgyB,EAAAzJ,OAErB,MAAM,IAAI+E,MAAM,kBAEH,SAAMgnrB,GAAAA,MAAkBvsrB,MAAK,SAAC6zoB,GACrC,IAAAv4oB,EAAAu4oB,EAGN,MAAO,CACN6xI,WAJOpqxB,EAAAg/rB,gBAKPmrF,WALwBnqxB,EAAA++rB,YAMxBkrF,cANqCjqxB,EAAAi/rB,aAQvC,YAUA,OAnBMytF,EAAQ/9wB,EAAAzJ,OAWRgxC,EAAU,CACfhV,IAAK,GAAGyowB,EAAyBsB,EACjC5hyB,KAAMk2C,EACNh/C,OAAQ,OACRo1C,QAAOj0C,GAAA,GAAOgjyB,KAIR,CAAP,EADsBrb,GAAOh/wB,KAAK6rC,EAASw2uB,EAAOC,GAC7Bh3uB,iBAGdgzvB,EAAAnnyB,UAAAstyB,kBAAR,SAA0B9uyB,OACzBggD,EAAAhgD,EAAAggD,KACA4qvB,EAAA5qyB,EAAA4qyB,kBAEA,IAAKA,IAAsBA,EAAiC,cAC3D,MAAM,IAAI3gyB,MAAM,2BAGjB,MAAO,CACNssC,cAAeq0vB,EAAkBr0vB,cACjCyJ,KAAIA,EAEN,EAKA2ovB,EAAAnnyB,UAAAwtyB,mBAAA,WACC,OAAO/9G,GAAAA,MACLvsrB,MAAK,SAAC6zoB,GACN,IAAKA,EAAa,OAAO,EACzB,IAAMu5D,EAAO7gB,GAAAA,MAAkB14C,GAG/B,OAFAlghB,GAAOiyjB,MAAM,iDAAkDwnB,IAExD,CACR,IACCxnsB,OAAM,SAAC4sC,GAEP,OADAmhF,GAAOt3E,KAAK,2BAA4B7J,IACjC,CACR,GACF,EACDyxvB,CAAA,CA95BA,CAAgDzE,ICrGxCxvrB,GAAAq5kB,KAAAr5kB,OACF2jB,GAAS,IAAIo0jB,GAAO,UAO1BwiH,GAAA,WA2BC,SAAAA,EAAY3yxB,GACXhb,KAAKy1G,SAAkB,OAAPz6F,QAAO,IAAPA,EAAAA,EAAW,CAAC,EAC5B+7G,GAAOiyjB,MAAM,iBAAkBhprB,KAAKy1G,UACpCz1G,KAAKmqrB,YAAc,GACnBnqrB,KAAKo3C,UAAYp3C,KAAKo3C,UAAU5T,KAAKxjC,KACtC,CAsHD,OAzICR,OAAAqC,eAAY8ryB,EAAAztyB,UAAA,6BAA0B,KAAtC,WAMC,OALKF,KAAK4tyB,8BACT5tyB,KAAK4tyB,4BAA8B,IAAIvG,GACtCrnyB,KAAKy1G,WAGAz1G,KAAK4tyB,2BACb,kCAcOD,EAAAztyB,UAAAuwrB,cAAP,WACC,MAAO,QACR,EAQAk9G,EAAAztyB,UAAA++B,UAAA,SAAUjkB,GAAV,IAAA9R,EAAA,KACOo2C,EAA+BtkC,EAClCA,EAAQ80qB,QAAU90qB,EAClB,CAAC,EAOJ,OANA+7G,GAAOiyjB,MAAM,mBAAoB,CAAE1poB,IAAGA,IAEtCt/C,KAAKy1G,SAAWj2G,OAAOa,OAAO,CAAC,EAAGL,KAAKy1G,SAAUn2D,GAEjDt/C,KAAKmqrB,YAAYtrrB,KAAI,SAAAmsrB,GAAa,OAAAA,EAAU/rpB,UAAU/1B,EAAKusG,SAAzB,IAE3Bz1G,KAAKy1G,QACb,EAMak4rB,EAAAztyB,UAAA6qrB,aAAb,SAA0BC,wEACzB,OAAIA,GAAyC,WAA5BA,EAAU83G,eAC1B9iyB,KAAKmqrB,YAAY7lrB,KAAK0mrB,GAIf,CAAP,EAFeA,EAAU/rpB,UAAUj/B,KAAKy1G,uBAU1Ck4rB,EAAAztyB,UAAA2tyB,gBAAA,SAAgBC,GACf9tyB,KAAKmqrB,YAAcnqrB,KAAKmqrB,YAAYn3qB,QACnC,SAAAg4qB,GAAa,OAAAA,EAAU63G,oBAAsBiL,CAAhC,GAEf,EAEQH,EAAAztyB,UAAA6tyB,kBAAR,SAA0BD,GACzB,OAAIA,IAAiBvL,GACbviyB,KAAKguyB,2BAGNhuyB,KAAKmqrB,YAAYrooB,MACvB,SAAAkpoB,GAAa,OAAAA,EAAU63G,oBAAsBiL,CAAhC,GAEf,EAEQH,EAAAztyB,UAAA+tyB,aAAR,SAAqBjzxB,QAAA,IAAAA,IAAAA,EAAA,IACpB,IAAM8yxB,EAAe9yxB,EAAQqkrB,SAC7B,IAAKyuG,EACJ,OAAO9tyB,KAAKmqrB,YAGb,IAAMkV,EAAWr/rB,KAAK+tyB,kBAAkBD,GACxC,IAAKzuG,EACJ,MAAM,IAAI12rB,MAAM,iCAAiCwG,OAAO2+xB,IAGzD,MAAO,CAACzuG,EACT,EAEMsuG,EAAAztyB,UAAA+nyB,QAAN,SACCiG,EACAjiS,EACAjxf,wEAEA,MAAO,CAAP,EAAOtY,QAAQu1C,IACdj4C,KAAKiuyB,aAAajzxB,GAASnc,KAAI,SAAAwgsB,GAC9B,OAAAA,EAAS4oG,QAAQiG,EAAQjiS,EAAKjxf,EAA9B,aAKH2yxB,EAAAztyB,UAAAk3C,UAAA,SACC82vB,EACAlzxB,GAEA,GAAIo4F,IAAUpzG,KAAKy1G,UAAYz1G,KAAKy1G,SAASo9mB,IAC5C,MAAM,IAAIlqtB,MACT,mEAIFouH,GAAOiyjB,MAAM,oBAAqBhuqB,GAElC,IAAMk4vB,EAAYlzwB,KAAKiuyB,aAAajzxB,GAEpC,OAAO,IAAIuioB,IAA6B,SAAAlre,GACvC,IAKM/U,EALc41mB,EAAUr0wB,KAAI,SAAAwgsB,GAAY,MAAC,CAC9CA,SAAQA,EACR1hD,WAAY0hD,EAASjopB,UAAU82vB,EAAQlzxB,GAFM,IAKZnc,KAAI,SAACH,OAAE2gsB,EAAA3gsB,EAAA2gsB,SACxC,OADkD3gsB,EAAAi/oB,WACvCvmmB,UAAU,CACpBzP,MAAO6X,QAAQz6C,MACf/B,KAAM,SAACF,GAAyB,OAAAuvK,EAASrvK,KAAK,CAAEq8rB,SAAQA,EAAEv8rB,MAAKA,GAA/B,EAChCiC,MAAO,SAACA,GAAmB,OAAAstK,EAASttK,MAAM,CAAEs6rB,SAAQA,EAAEt6rB,MAAKA,GAAhC,GAH5B,IAQD,OAAO,WACN,OAAAu4J,EAAcptJ,SAAQ,SAAAkuoB,GAAgB,OAAAA,EAAa5pmB,aAAb,GAAtC,CACF,GACD,EACDm5vB,CAAA,CAtJA,GAwJa79G,GAAS,IAAI69G,GAC1Bj9G,GAAAA,SAAiBZ,IFzJjB,SAAY22G,GACXA,EAAA,mCACAA,EAAA,kCACAA,EAAA,gCACAA,EAAA,oCACAA,EAAA,uCACA,CAND,CAAYA,KAAAA,GAAgB,KGK5B,IAEM1vqB,GAAS,IAAIo0jB,GAAO,cAiB1BgjH,GAAA,WAeC,SAAAA,EAAYnzxB,GAVJ,KAAAwwwB,KAAO,KAEf,KAAAh8F,KAAOA,GACP,KAAAnqH,MAAQA,GACR,KAAAsqH,YAAcA,GAOb3vrB,KAAKy1G,SAAWz6F,EAChB+7G,GAAOiyjB,MAAM,cAAehprB,KAAKy1G,SAClC,CAuXD,OArXQ04rB,EAAAjuyB,UAAAuwrB,cAAP,WACC,MAAO,YACR,EAOA09G,EAAAjuyB,UAAA++B,UAAA,SAAUjkB,GACT,IAAMtc,EAAAsc,GAAA,GAAE3N,EAAA3O,EAAAgxrB,IAAAA,OAAA,IAAArirB,EAAA,GAAAA,EAAUo+wB,ErCrCb,SAAgBlrxB,EAAGQ,GACtB,IAAIT,EAAI,CAAC,EACT,IAAK,IAAIV,KAAKW,EAAOf,OAAOU,UAAUL,eAAee,KAAKL,EAAGX,IAAMmB,EAAEC,QAAQpB,GAAK,IAC9EU,EAAEV,GAAKW,EAAEX,IACb,GAAS,MAALW,GAAqD,oBAAjCf,OAAOyB,sBACtB,KAAIT,EAAI,EAAb,IAAgBZ,EAAIJ,OAAOyB,sBAAsBV,GAAIC,EAAIZ,EAAEe,OAAQH,IAC3DO,EAAEC,QAAQpB,EAAEY,IAAM,GAAKhB,OAAOU,UAAUgB,qBAAqBN,KAAKL,EAAGX,EAAEY,MACvEF,EAAEV,EAAEY,IAAMD,EAAEX,EAAEY,IAF4B,CAItD,OAAOF,CACX,CqC2BoBQ,CAAApC,EAAA,SACd4gD,EAAGl/C,GAAAA,GAAA,GAAQqrxB,GAAiB/7F,GAsBhC,OArBA34jB,GAAOiyjB,MAAM,wBAAyB,CAAE1poB,IAAGA,IAEvCA,EAAwB,qBAC3BA,EAAM9/C,OAAOa,OAAO,CAAC,EAAGi/C,EAAK,CAC5BsgpB,OAAQtgpB,EAAwB,mBAChCoxa,OAAQ,CAAC,KAKqB,qBAAxBpxa,EAAI+pvB,iBACoB,oBAAxB/pvB,EAAI+pvB,kBAEXtyqB,GAAOt3E,KAAK,wCACZH,EAAI+pvB,qBAAkB9qyB,GAGvByB,KAAKy1G,SAAWj2G,OAAOa,OAAO,CAAC,EAAGL,KAAKy1G,SAAUn2D,GAEjDt/C,KAAK03C,iBAEE13C,KAAKy1G,QACb,EAMA04rB,EAAAjuyB,UAAAw3C,eAAA,WAEC,OADAq/E,GAAOiyjB,MAAM,wBACThprB,KAAKy1G,UACRz1G,KAAKwrxB,KAAO,IAAItC,GAAWlpxB,KAAKy1G,UAEhCz1G,KAAKwrxB,KAAK77F,YAAc3vrB,KAAK2vrB,aAEtB,GAEAjtrB,QAAQE,OAAO,qBAExB,EAEcuryB,EAAAjuyB,UAAAkuyB,iBAAd,SACCC,EACA/E,eAAA,IAAAA,IAAAA,EAAA,oHAEM5qyB,EACLsB,KAAKy1G,SADE64rB,EAA8B5vyB,EAAA4vyB,+BAAsBlF,EAAM1qyB,EAAA6vyB,mBAI9Dl6vB,EAAU,CAAC,EADdg6vB,GAA6BC,GAAkC,eAI1D,0BASA,0BAMA,iCAuBA,6CAUA,8CA/CJ,IAAKlF,EACJ,MAAM,IAAIzgyB,MAAM89xB,GAAiB+H,YAMlC,OAJAn6vB,EAAU,CACTY,cAAe,KACf,YAAam0vB,GAEd,cAEsB,SAAMppyB,KAAK0tyB,6BACjC,IADsBr6uB,EAAAzvD,OAErB,MAAM,IAAI+E,MAAM89xB,GAAiBgI,gBAElC,oBAKuB,8BAFlBrwxB,OAAK,EAEa,GAAMinjB,GAAAA,QAAc,gCAApCisI,EAAgBj+oB,EAAAzvD,SAErBwa,EAAQkzrB,EAAclzrB,aADnB,aAGiB,SAAMoxqB,GAAK2pC,oCAAzB/qC,EAAc/6nB,EAAAzvD,UAEnBwa,EAAQgwqB,EAAYhwqB,wBAGtB,IAAKA,EACJ,MAAM,IAAIzV,MAAM89xB,GAAiBiI,yBAElCr6vB,EAAU,CACTY,cAAe72B,iBAGhB,eAAM,IAAIzV,MAAM89xB,GAAiBkI,yBAElC,qBAGiB,mCAAM3uyB,KAAKwvrB,KAAKwhB,iCAA1BC,EAAU59oB,EAAAzvD,OAChBywC,EAAU,CACTY,cAAeg8pB,EAAQmM,iBAAiBzK,8BAGzC,eAAM,IAAIhqsB,MAAM89xB,GAAiBkI,yBAElC,qBAEA,IAAKrF,EAAkBr0vB,cACtB,MAAM,IAAItsC,MAAM89xB,GAAiBmI,eAKlC,OAHAv6vB,EAAU,CACTY,cAAeq0vB,EAAkBr0vB,eAElC,eAKA,OAHAZ,EAAU,CACTY,cAAe,MAEhB,eAGF,MAAO,CAAP,EAAOZ,WAOR85vB,EAAAjuyB,UAAA2uyB,wBAAA,SAAwBxmyB,GAMvB,OAFMxD,GAHM6a,GAAMrX,GAEbsqwB,YACC,GAAG,GAAAtqwB,SAGV,EASA8lyB,EAAAjuyB,UAAA4uyB,QAAA,SACCpwyB,EAOA4qyB,OANCyF,EAAArwyB,EAAAozJ,MACAzkJ,EAAA3O,EAAAyqyB,UAAAA,OAAA,IAAA97xB,EAAA,GAAAA,EACA2hyB,EAAAtwyB,EAAAswyB,SACAC,EAAAvwyB,EAAAuwyB,UACAC,EAAAxwyB,EAAAwwyB,gBAIKp9oB,EAEFpyI,GADmB,kBAAfqvxB,EACEA,EACAlQ,GAAMkQ,IAETz7uB,EAADzuD,GAAAitJ,EAAA6gnB,YAAA3/vB,QAAA,SAAAu0hB,GAAA,8BAAAA,EAAAyW,IAAA,OAAC,GAGCnwT,QAHD,IAAAv6L,EAAA,GAAAA,GAGCjrD,UAGFgsC,EAAUi1vB,GAAqB,CAAC,EAOtC,OAJI2F,IACH56vB,EAAQY,cAAgBg6vB,GAGjBphjB,GACP,IAAK,QACL,IAAK,WACJ7tP,KAAKmvyB,6BACL,IAAMplB,EAAmB/pxB,KAAKwrxB,KAAKd,sBAC7Bb,EAAa,CAClBE,iBAAgBA,EAChBtzuB,gBAAiBz2C,KAAKy1G,SAASh/D,iBAE1Bm1uB,EAAkB5rxB,KAAKovyB,SAC5B,CAAEt9oB,MAAKA,EAAEq3oB,UAASA,EAAE6F,SAAQA,EAAEE,gBAAeA,GAC7C76vB,EACAw1uB,GAMD,OAJA7pxB,KAAKwrxB,KAAKb,6BACTiB,EACA7B,GAEM6B,EACR,IAAK,eACJ,OAAO5rxB,KAAKqvyB,kBAAkB,CAAEv9oB,MAAKA,EAAEq3oB,UAASA,EAAE6F,SAAQA,GAAI36vB,GAC/D,QACC,MAAM,IAAI1rC,MAAM,2BAA2BklP,GAE9C,EAEcsgjB,EAAAjuyB,UAAAkvyB,SAAd,SACC1wyB,EACA4qyB,EACAzf,OAFE/3nB,EAAApzJ,EAAAozJ,MAAOq3oB,EAAAzqyB,EAAAyqyB,UAAW6F,EAAAtwyB,EAAAswyB,SAAUE,EAAAxwyB,EAAAwwyB,4BAC9B,IAAA5F,IAAAA,EAAA,SACA,IAAAzf,IAAAA,EAAA,8IAEA7pxB,KAAKmvyB,6BACC9hyB,EAMFrN,KAAKy1G,SALYmqlB,EAAMvyrB,EAAAiiyB,mBACGjH,EAAsBh7xB,EAAAkiyB,4BACnDl8uB,EAAAhmD,EAAAg8xB,gBAAAA,OAAe,IAAAh2uB,EAAG,WAAM,MAAC,CAAC,CAAF,EAAIA,EACVm8uB,EAAqBniyB,EAAAoiyB,iBACVC,EAAoBriyB,EAAAsiyB,oCAI7C5kjB,GAACykjB,GACH,GAAMxvyB,KAAKouyB,iBAAiBY,EAAU1F,IADpC,aACHv+iB,EAAC+pc,EAAAlxrB,4DADCmnP,OAECk3V,EAAAutN,GACFE,EACE,GAAM1vyB,KAAKouyB,iBAAiBY,EAAU1F,IADxC,MADE,oBAEApnN,EAAA4yG,EAAAlxrB,oBACAs+kB,EAAA,CAAEjtiB,cAAe,uBAFpBgtiB,EAAAC,mBAGG,oCAJDD,MAIC,GAAMonN,EAAgB,CAAEv3oB,MAAKA,EAAEq3oB,UAASA,YA0B7C,GAjCM90vB,EAAOj0C,GAAAA,WAAA,GAAAA,GAAAA,WAAA,GAAAA,GAAAA,WAAA,EAAAs1rB,EAAA32rB,OAAA,CAOR+1rB,EAAAlxrB,UACD0lyB,KACEkG,IAAqB55G,EAAA,GACzBA,EA3QsB,oBA2QDyZ,GAAoB6/F,GAAgB,KAIrD5ryB,EAAO,CACZwuJ,MAAO+soB,GAAM/soB,GACbq3oB,UAASA,GAGJ5vuB,EAAO/5D,OAAOa,OACnB,CACCg0C,QAAOA,EACP/wC,KAAIA,EACJ0mxB,kBAAmB,CAClBriG,QAAU6nH,EAAoC,cAAZ,UAClC5vG,OAAS4vG,EAAiCE,EAAT9vG,IAGnCiqF,KAGKxxF,EAAWm3G,GAAyBnH,GAKzC,KAAM,CACLtgyB,KAAM,CAAC,EACPw2F,OAAQ,CAJK,IAAI6urB,GAAa,oDAUpB,kCAAMptxB,KAAKwrxB,KAAK9qwB,KAAK23qB,EAAU9+nB,kBAA1C/jB,EAAWs/oB,EAAAlxrB,sBAKX,cAAI5D,KAAKwrxB,KAAKzzuB,SAASw1oB,GACtB,MAAMA,SAEP/3oB,EAAW,CACVztC,KAAM,CAAC,EACPw2F,OAAQ,CAAC,IAAI6urB,GAAa7/F,EAAI50qB,QAAS,KAAM,KAAM,KAAM,KAAM40qB,oBAMjE,IAFQhvlB,EAAW/oD,EAAQ+oD,SAEbA,EAAO59F,OACpB,MAAM60C,EAGP,MAAO,CAAP,EAAOA,WAGF24vB,EAAAjuyB,UAAAivyB,2BAAN,8GACMnvyB,KAAKwrxB,KAAN,MACH,GAAMxrxB,KAAK03C,yBAAXh5C,EAAAkF,0CASFuqyB,EAAAjuyB,UAAA63C,SAAA,SAAShzC,GACR,OAAO/E,KAAKwrxB,KAAKzzuB,SAAShzC,EAC3B,EAOAopyB,EAAAjuyB,UAAAg3C,OAAA,SAAOtC,EAAuBj8B,GAC7B,OAAO3Y,KAAKwrxB,KAAKt0uB,OAAOtC,EAASj8B,EAClC,EAOAw1xB,EAAAjuyB,UAAAuqxB,eAAA,SAAe71uB,GACd,OAAO50C,KAAKwrxB,KAAKf,eAAe71uB,EACjC,EAEQu5vB,EAAAjuyB,UAAAmvyB,kBAAR,SACC3wyB,EAMA4qyB,OALCx3oB,EAAApzJ,EAAAozJ,MACAq3oB,EAAAzqyB,EAAAyqyB,UACAkF,EAAA3vyB,EAAAswyB,SACAC,EAAAvwyB,EAAAuwyB,eAED,IAAA3F,IAAAA,EAAA,IAEM,IAAAj8xB,EAAA,KAAAooG,SACLmqlB,EAAAvyrB,EAAAiiyB,mBACAjH,EAAAh7xB,EAAAkiyB,4BACAjB,EAAAjhyB,EAAAihyB,+BACAlF,EAAA/7xB,EAAAkhyB,mBACAl7uB,EAAAhmD,EAAAg8xB,gBAAAA,OAAA,IAAAh2uB,EAAA,qBAAAA,EAEK61uB,EACLmF,GAA6BC,GAAkC,UAEhE,GAAIx+G,IAAsC,oBAArBA,GAAO14oB,UAC3B,OAAO04oB,GAAO14oB,UAAU,GAAI,CAC3BiopB,SAAUkjG,GACV8F,uBAAsBA,EACtBa,mBAAkBA,EAClBE,OAAMA,EACNt3oB,MAAO+soB,GAAM/soB,GACb8tiB,OAAMA,EACNupG,UAASA,EACTE,gBAAeA,EACfC,kBAAiBA,EACjB2F,UAASA,IAIV,MADAl4qB,GAAOiyjB,MAAM,6CACP,IAAIrgrB,MAAM,4CAElB,EAKAwlyB,EAAAjuyB,UAAAwtyB,mBAAA,eAAAxkyB,EAAA,KACC,OAAOlJ,KAAK2vrB,YAAY/orB,MACtBxD,MAAK,SAAA6zoB,GACL,IAAKA,EAAa,OAAO,EACzB,IAAMu5D,EAAOtnsB,EAAKymrB,YAAYwjB,MAAMl8D,GAGpC,OAFAlghB,GAAOiyjB,MAAM,0BAA2BwnB,IAEjC,CACR,IACCxnsB,OAAM,SAAA4sC,GAEN,OADAmhF,GAAOt3E,KAAK,2BAA4B7J,IACjC,CACR,GACF,EACDu4vB,CAAA,CAzYA,GA2YayB,GAAa,IAAIzB,GAAgB,MAC9Cz9G,GAAAA,SAAiBk/G,ICtajB,IAAM74qB,GAAS,IAAIo0jB,GAAO,OAM1B0kH,GAAA,WAiBC,SAAAA,EAAY70xB,GARZ,KAAAw0qB,KAAOA,GACP,KAAAnqH,MAAQA,GACR,KAAAsqH,YAAcA,GAOb3vrB,KAAKy1G,SAAWz6F,EAChBhb,KAAK8vyB,SAAW,IAAIvkB,GAAavwwB,GACjChb,KAAK+vyB,YAAc,IAAI5B,GAAgBnzxB,GACvC+7G,GAAOiyjB,MAAM,cAAehprB,KAAKy1G,SAClC,CAqLD,OAnLQo6rB,EAAA3vyB,UAAAuwrB,cAAP,WACC,MAAO,KACR,EAOAo/G,EAAA3vyB,UAAA++B,UAAA,SAAUjkB,GACThb,KAAKy1G,SAAWj2G,OAAOa,OAAO,CAAC,EAAGL,KAAKy1G,SAAUz6F,GAGjDhb,KAAK8vyB,SAASngH,YAAc3vrB,KAAK2vrB,YAEjC3vrB,KAAK+vyB,YAAYvgH,KAAOxvrB,KAAKwvrB,KAC7BxvrB,KAAK+vyB,YAAY1qO,MAAQrlkB,KAAKqlkB,MAC9BrlkB,KAAK+vyB,YAAYpgH,YAAc3vrB,KAAK2vrB,YAEpC,IAAMqgH,EAAgBhwyB,KAAK8vyB,SAAS7wwB,UAAUj/B,KAAKy1G,UAC7Cw6rB,EAAmBjwyB,KAAK+vyB,YAAY9wwB,UAAUj/B,KAAKy1G,UAEzD,OAAAr1G,GAAAA,GAAA,GAAY4vyB,GAAkBC,EAC/B,EASAJ,EAAA3vyB,UAAA0G,IAAA,SACCikxB,EACA3tvB,EACAq8B,GAEA,OAAOv5D,KAAK8vyB,SAASlpyB,IAAIikxB,EAAS3tvB,EAAMq8B,EACzC,EASAs2uB,EAAA3vyB,UAAAwgB,KAAA,SACCmqwB,EACA3tvB,EACAq8B,GAEA,OAAOv5D,KAAK8vyB,SAASpvxB,KAAKmqwB,EAAS3tvB,EAAMq8B,EAC1C,EASAs2uB,EAAA3vyB,UAAAkwmB,IAAA,SACCy6K,EACA3tvB,EACAq8B,GAEA,OAAOv5D,KAAK8vyB,SAAS1/L,IAAIy6K,EAAS3tvB,EAAMq8B,EACzC,EASAs2uB,EAAA3vyB,UAAAy1lB,MAAA,SACCk1L,EACA3tvB,EACAq8B,GAEA,OAAOv5D,KAAK8vyB,SAASn6M,MAAMk1L,EAAS3tvB,EAAMq8B,EAC3C,EASAs2uB,EAAA3vyB,UAAAi9Z,IAAA,SACC0tX,EACA3tvB,EACAq8B,GAEA,OAAOv5D,KAAK8vyB,SAAS3yY,IAAI0tX,EAAS3tvB,EAAMq8B,EACzC,EASAs2uB,EAAA3vyB,UAAA+hB,KAAA,SACC4owB,EACA3tvB,EACAq8B,GAEA,OAAOv5D,KAAK8vyB,SAAS7txB,KAAK4owB,EAAS3tvB,EAAMq8B,EAC1C,EAOAs2uB,EAAA3vyB,UAAA63C,SAAA,SAAShzC,GACR,OAAO/E,KAAK8vyB,SAAS/3vB,SAAShzC,EAC/B,EAOA8qyB,EAAA3vyB,UAAAg3C,OAAA,SAAOtC,EAAuBj8B,GAC7B,OAAI3Y,KAAK8vyB,SAASrlB,eAAe71uB,GACzB50C,KAAK8vyB,SAAS54vB,OAAOtC,EAASj8B,KAC3B3Y,KAAK+vyB,YAAYtlB,eAAe71uB,IACnC50C,KAAK+vyB,YAAY74vB,OAAOtC,EAASj8B,EAG1C,EAOMk3xB,EAAA3vyB,UAAAm4rB,SAAN,SAAewyF,wEACd,MAAO,CAAP,EAAO7qxB,KAAK8vyB,SAASz3G,SAASwyF,WAO/BglB,EAAA3vyB,UAAA2uyB,wBAAA,SAAwBxmyB,GACvB,OAAOrI,KAAK+vyB,YAAYlB,wBAAwBxmyB,EACjD,EAoBAwnyB,EAAA3vyB,UAAA4uyB,QAAA,SACC9zxB,EACAsuxB,GAEA,OAAOtpyB,KAAK+vyB,YAAYjB,QAAQ9zxB,EAASsuxB,EAC1C,EACDuG,CAAA,CA3MA,GA6MangH,GAAM,IAAImgH,GAAS,MAChCn/G,GAAAA,SAAiBhB,0CChNF,SAASwgH,KACtB,IAAAC,GAA0CnwK,EAAAA,EAAAA,UAAS,CACjDowK,aAAc,GACdr7vB,SAAU,GACVhV,SAAU,KACVswwB,GAAAv1xB,EAAAA,EAAAA,GAAAq1xB,EAAA,GAJKG,EAAaD,EAAA,GAMpBE,GANsCF,EAAA,IAMUrwK,EAAAA,EAAAA,WAAS,IAAMwwK,GAAA11xB,EAAAA,EAAAA,GAAAy1xB,EAAA,GAAxDE,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAE5CG,GAAwC3wK,EAAAA,EAAAA,WAAS,GAAM4wK,GAAA91xB,EAAAA,EAAAA,GAAA61xB,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAwC/wK,EAAAA,EAAAA,UAAS,IAAGgxK,GAAAl2xB,EAAAA,EAAAA,GAAAi2xB,EAAA,GAA7CE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAkCnxK,EAAAA,EAAAA,UAAS,WAAUoxK,GAAAt2xB,EAAAA,EAAAA,GAAAq2xB,EAAA,GAA9CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC9BG,GAAoBvxK,EAAAA,EAAAA,WAAS,GAAMwxK,GAAA12xB,EAAAA,EAAAA,GAAAy2xB,EAAA,GAA5Br7d,EAAEs7d,EAAA,GAAEC,EAAKD,EAAA,GAGhBE,GAA0C1xK,EAAAA,EAAAA,UAAS38mB,EAAAA,aAAkBsuxB,GAAA72xB,EAAAA,EAAAA,GAAA42xB,EAAA,GAA9DE,EAAaD,EAAA,GAAkBA,EAAA,GAOb,SAAAE,IAoFxB,OApFwBA,EAAAzsJ,EAAAx4I,IAAA1mB,MAAzB,SAAA+/O,IAAA,IAAA6rE,EAAAltuB,EAAAmtuB,EAAAjpH,EAAA92f,EAAA6sC,EAAA/+L,EAAAiV,EAAAhV,EAAAiywB,EAAAC,EAAAC,EAAAC,EAAA,OAAAvlS,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,WACM4uyB,EAAchzwB,QAAQ,CAADunsB,EAAAnjuB,KAAA,QAGH,GAFhB8uyB,EAAaF,EAAchzwB,QAAQjnB,SACnCitD,EAAUktuB,EAAWzzsB,WACrB0zsB,GAAU,EAETntuB,EAAQA,QAAQ,CAADuhqB,EAAAnjuB,KAAA,QAGI,OAFtB8tyB,GAAgB,GAChBI,EAAgBtsuB,EAAQonP,YAAY,GAAGrzS,SACvC24xB,EAAa,SAASnrE,EAAAr5N,OAAA,wBAAAq5N,EAAAnjuB,KAAA,GAKTwsrB,GAAK2pC,2BAA2B,KAAD,GAIhD,IAASt6f,KAJLiqd,EAAIq9C,EAAAviuB,KAEJouL,EAAS82f,EAAKk1B,kBAAkBhvB,YAAY/woB,QAAQ,kBAKlC,UAFF+zI,EAAO6sC,KAGvBkzkB,GAAU,GAEb,IAEe,IAAZA,EAAiB,CAAA5rE,EAAAnjuB,KAAA,SAGG,OAFtB8tyB,GAAgB,GAChBI,EAAgB,gBAChBI,EAAa,SAASnrE,EAAAr5N,OAAA,kBAMc,GAFlChte,EAAQwwwB,EAAcF,aACtBr7vB,EAAWu7vB,EAAcv7vB,YACzBhV,EAAWuwwB,EAAcvwwB,UAEhBp/B,OAAS,IAAE,CAAAwluB,EAAAnjuB,KAAA,SAGD,OAFrB8tyB,GAAgB,GAChBI,EAAgB,uDAChBI,EAAa,SAAQnrE,EAAAr5N,OAAA,kBASgB,OALvC4jS,GAAoB,GAAMvqE,EAAAlotB,KAAA,GAIpB+zxB,EAAe,iBACfC,EAAY,sBAAqB9rE,EAAA7tqB,GAAA,GAAA6tqB,EAAAnjuB,KAAA,GAKRwsrB,GAAKwhB,iBAAgB,QAE3B,OAF2Bm1B,EAAA95tB,GAAA85tB,EAAAviuB,KAAEw5sB,iBAAiBzK,cAAWwzB,EAAA55tB,GAAA45tB,EAAA7tqB,GAAAv5D,OAAA6B,KAAAuluB,EAAA7tqB,GAAA6tqB,EAAA95tB,IAAA85tB,EAAA5tqB,GAAA,CAD5E,eAAgB,mBAChBtjB,cAAakxrB,EAAA55tB,IAAA45tB,EAAA9qM,GAEQ,CACvB,EANE62Q,EAAW,CACb79vB,QAAO8xrB,EAAA5tqB,GAIP4xtB,sBAAqBhkD,EAAA9qM,IAAA8qM,EAAAnjuB,KAAA,GAIK0srB,GAAIhvqB,KAAKsxxB,EAAcC,EAAWC,GAAa,KAAD,GAAvD,OAAfC,EAAehsE,EAAAviuB,KAAAuiuB,EAAAnjuB,KAAA,GAEbwsrB,GAAK+7B,OAAO,CAChBx2qB,SAAAA,EACAhV,SAAAA,EACA6hF,WAAY,CACV9hF,MAAAA,GAEF4rR,eAAgB,CACdsxT,GAAIm1L,EAAgB,GAAGt9R,SAExB,KAAD,GAEFi8R,GAAgB,GAChBI,EAAgB,+BAChBI,EAAa,WAAUnrE,EAAAnjuB,KAAA,iBAAAmjuB,EAAAlotB,KAAA,GAAAkotB,EAAAisE,GAAAjsE,EAAA,UAGvB2qE,GAAgB,GAChBI,EAAgB/qE,EAAAisE,GAAMz5xB,SACtB24xB,EAAa,SAAQ,QAGvBZ,GAAoB,GAAO,yBAAAvqE,EAAAlqoB,OAAA,GAAAgqoB,EAAA,qBAC5BpluB,MAAA,KAAAH,UAAA,CAwBD,OAlBAg/nB,EAAAA,EAAAA,YAAU,WACiB,SAAA2yK,IAYxB,OAZwBA,EAAAjtJ,EAAAx4I,IAAA1mB,MAAzB,SAAA++O,IAAA,IAAAn8C,EAAA92f,EAAA6sC,EAAA,OAAA+tS,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,cAAA+O,EAAA/O,KAAA,EACmBwsrB,GAAK2pC,2BAA2B,KAAD,EAIhD,IAASt6f,KAJLiqd,EAAI/2qB,EAAAnO,KAEJouL,EAAS82f,EAAKk1B,kBAAkBhvB,YAAY/woB,QAAQ,kBAKlC,UAFF+zI,EAAO6sC,IAGvB4ykB,GAAM,GAET,wBAAA1/xB,EAAAkqF,OAAA,GAAAgpoB,EAAA,MACFpkuB,MAAA,KAAAH,UAAA,EAbc,WACU2xyB,EAAAxxyB,MAAC,KAADH,UAAA,CAczB03mB,EACF,KAGEn7kB,EAAAA,GAAAA,KAAA,OAAAzoB,UACU,IAAP0hU,GACCt5S,EAAAA,GAAAA,MAAA,OAAApoB,SAAA,EACEyoB,EAAAA,GAAAA,KAAA,OAAK4kF,MAAM,kBAAiBrtG,UAC1BooB,EAAAA,GAAAA,MAAA,MAAIilF,MAAM,kFAAiFrtG,SAAA,EAACyoB,EAAAA,GAAAA,KAACijvB,GAAe,CAACz0vB,KAAM23vB,KAAc,yBAEnIxmvB,EAAAA,GAAAA,MAAA,OAAK/pB,UAAU,yBAAwB2B,SAAA,EAErCyoB,EAAAA,GAAAA,KAAC6+C,GAAAA,UAAS,CACR0N,aAAa,kBACb/jB,QAASgruB,EACThntB,eAAe,EACf9wE,QAAQ,sBACR4wE,SAAS,EACTG,UAAU,EACVV,oBAAoB,KAGtB/rD,EAAAA,GAAAA,KAAC2tD,GAAAA,MAAK,CACJnlB,QAASoruB,EACTl4xB,QAASs4xB,EACTz5xB,KAAM65xB,EACNjotB,SA7CZ,WACE0ntB,GAAgB,EAClB,EA4CY9ltB,YAAa,IACb5vD,MAAO,OACPxwB,SAAU,CACR8iC,GAAI,aACJgxD,GAAI,aACJpP,GAAIjxF,OACJ2hB,OAAQ,YAGZid,EAAAA,GAAAA,KAACo6C,KAAI,CACHhjE,GAAG,aACHizE,UAAW,UACXskW,SAAU0kX,EACV9lxB,UAAU,EACVu9D,qBAAqB,EACrBV,cAAe,OACfH,SAAU,EACVzvE,IAAKm6xB,EAAcp9xB,UAEnBooB,EAAAA,GAAAA,MAACm6C,GAAAA,UAAS,CAAC5lD,QAAQ,gBAAe3c,SAAA,EAChCooB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACwV,UAAU,eAAey3L,cA3JpB,CAAE9tP,MAAO,MAAO5Q,UAAU,EAAO+B,KAAM,SA2Je/X,SAAA,EAC/DyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,2BACb4lB,EAAAA,GAAAA,KAAC+6C,GAAAA,UAAS,CAACr/D,QAAQ,sBACnBskB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,2BAExBikB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACwV,UAAU,WAAWy3L,cAjKb,CAAE9tP,MAAO,MAAO6F,UAAU,GAiKwBzsB,SAAA,EAC9DyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,aACb4lB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,6BAExBikB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACwV,UAAU,WAAWy3L,cAtKb,CAAE9tP,MAAO,MAAO5Q,UAAU,EAAO+B,KAAM,YAsKW/X,SAAA,EAC9DyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,mBACb4lB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,wCAK5BikB,EAAAA,GAAAA,MAAA,UAAQqsK,QA3KwD,WAGjD,OAAA4omB,EAAAhxyB,MAAC,KAADH,UAAA,EAwKc8W,KAAK,SAASqqG,MAAM,uEAAsErtG,SAAA,EACrHyoB,EAAAA,GAAAA,KAACijvB,GAAe,CAACz0vB,KAAMk3vB,KAAU,6BAIpC1lvB,EAAAA,GAAAA,KAAA,WAIX,CCxMe,SAASq1wB,GAAehhyB,IACnCounB,EAAAA,EAAAA,YAAU,WACmB,SAAA2yK,IAWxB,OAXwBA,EAAAjtJ,EAAAx4I,IAAA1mB,MAAzB,SAAA++O,IAAA,IAAAstE,EAAAvvhB,EAAA,OAAA4pP,IAAA3hZ,MAAA,SAAAl5G,GAAA,cAAAA,EAAAkM,KAAAlM,EAAA/O,MAAA,cAAA+O,EAAA/O,KAAA,EAC8BwsrB,GAAK2pC,2BAA2B,KAAD,EAArDo5E,EAAaxgyB,EAAAnO,KAEbo/Q,EAAW,CACXwvhB,SAAUD,EAAcx9vB,SACxBolrB,YAAa,GACbxW,YAAa,GACbyE,gBAAiB,IAGrBqqF,EAAmBzvhB,GAAU,wBAAAjxQ,EAAAkqF,OAAA,GAAAgpoB,EAAA,MAChCpkuB,MAAA,KAAAH,UAAA,EAZY,WACY2xyB,EAAAxxyB,MAAC,KAADH,UAAA,CAazB03mB,EAEJ,GAAG,IAEao1C,KAAhB,IAEA2iJ,GAA8CnwK,EAAAA,EAAAA,UAAS,CACnDwyK,SAAU,GACVr4E,YAAa,GACbxW,YAAa,GACbyE,gBAAiB,KACnBioF,GAAAv1xB,EAAAA,EAAAA,GAAAq1xB,EAAA,GALKuC,EAAerC,EAAA,GAAEoC,EAAkBpC,EAAA,GAQtCsC,EAAwB,CAAEv3wB,MAAO,MAAO5Q,UAAU,EAAO+B,KAAM,YAEnEgkxB,GAAgDvwK,EAAAA,EAAAA,WAAS,GAAMwwK,GAAA11xB,EAAAA,EAAAA,GAAAy1xB,EAAA,GAAxDE,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAE5CG,GAAwC3wK,EAAAA,EAAAA,WAAS,GAAM4wK,GAAA91xB,EAAAA,EAAAA,GAAA61xB,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAwC/wK,EAAAA,EAAAA,UAAS,IAAGgxK,GAAAl2xB,EAAAA,EAAAA,GAAAi2xB,EAAA,GAA7CE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAkCnxK,EAAAA,EAAAA,UAAS,WAAUoxK,GAAAt2xB,EAAAA,EAAAA,GAAAq2xB,EAAA,GAA9CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAG9BG,GAA8CvxK,EAAAA,EAAAA,UAAS38mB,EAAAA,aAAkBmuxB,GAAA12xB,EAAAA,EAAAA,GAAAy2xB,EAAA,GAAlEqB,EAAepB,EAAA,GAAoBA,EAAA,GAEjB,SAAAK,IA0FxB,OA1FwBA,EAAAzsJ,EAAAx4I,IAAA1mB,MAAzB,SAAA+/O,IAAA,IAAA6rE,EAAAltuB,EAAA4tuB,EAAAr4E,EAAAxW,EAAAyE,EAAAt/B,EAAA,OAAAl8K,IAAA3hZ,MAAA,SAAAk7mB,GAAA,cAAAA,EAAAlotB,KAAAkotB,EAAAnjuB,MAAA,WACQ4vyB,EAAgBh0wB,QAAQ,CAADunsB,EAAAnjuB,KAAA,QAEa,GADhC8uyB,EAAac,EAAgBh0wB,QAAQjnB,UACrCitD,EAAUktuB,EAAWzzsB,YAEZz5B,QAAQ,CAADuhqB,EAAAnjuB,KAAA,QAGM,OAFtB8tyB,GAAgB,GAChBI,EAAgBtsuB,EAAQonP,YAAY,GAAGrzS,SACvC24xB,EAAa,SAASnrE,EAAAr5N,OAAA,iBAaL,GARrB0lS,EAAWE,EAAgBF,SAC3Br4E,EAAcu4E,EAAgBv4E,YAC9BxW,EAAc+uF,EAAgB/uF,YAC9ByE,EAAkBsqF,EAAgBtqF,gBAEjCzE,IACDA,EAAc,IACbyE,IACDA,EAAkB,IAEjBoqF,EAAS,CAADrsE,EAAAnjuB,KAAA,SAGY,OAFrB8tyB,GAAgB,GAChBI,EAAgB,sBAChBI,EAAa,SAAQnrE,EAAAr5N,OAAA,qBAIpBqtN,EAAY,CAADgM,EAAAnjuB,KAAA,SAGS,OAFrB8tyB,GAAgB,GAChBI,EAAgB,mCAChBI,EAAa,SAAQnrE,EAAAr5N,OAAA,qBAIpBqtN,EAAY,CAADgM,EAAAnjuB,KAAA,SAGS,OAFrB8tyB,GAAgB,GAChBI,EAAgB,mCAChBI,EAAa,SAAQnrE,EAAAr5N,OAAA,qBAKpB62M,IAAgByE,GAAoC,KAAhBzE,GAA0C,KAApByE,EAAsB,CAAA+d,EAAAnjuB,KAAA,SAG5D,OAFrB8tyB,GAAgB,GAChBI,EAAgB,mCAChBI,EAAa,SAAQnrE,EAAAr5N,OAAA,kBAKC,OAA1B4jS,GAAoB,GAAMvqE,EAAAnjuB,KAAA,GAETwsrB,GAAK2pC,2BAA2B,KAAD,GAAxC,OAAJrwC,EAAIq9C,EAAAviuB,KAAAuiuB,EAAAlotB,KAAA,GAAAkotB,EAAAnjuB,KAAA,GAGewsrB,GAAKs1B,eAAeh8B,EAAMqxC,EAAaxW,GAAa,KAAD,GAA5DwiB,EAAAviuB,KAEVktyB,GAAgB,GAChBI,EAAgB,8CAChBI,EAAa,WAEbZ,GAAoB,GAAOvqE,EAAAnjuB,KAAA,iBAAAmjuB,EAAAlotB,KAAA,GAAAkotB,EAAA7tqB,GAAA6tqB,EAAA,UAG3BuqE,GAAoB,GAEhBvqE,EAAA7tqB,GAAE9oD,WAAWxO,QAAQ,2BAA6B,GAClD8vyB,GAAgB,GAChBI,EAAgB,kDAChBI,EAAa,UAERnrE,EAAA7tqB,GAAE9oD,WAAWxO,QAAQ,2BAA6B,GACvD8vyB,GAAgB,GAChBI,EAAgB,uCAChBI,EAAa,UAERnrE,EAAA7tqB,GAAE9oD,WAAWxO,QAAQ,6FAA+F,GACzH8vyB,GAAgB,GAChBI,EAAgB,4EAChBI,EAAa,WAGbR,GAAgB,GAChBI,EAAe/qE,EAAA7tqB,IACfg5uB,EAAa,UAChB,yBAAAnrE,EAAAlqoB,OAAA,GAAAgqoB,EAAA,qBAERpluB,MAAA,KAAAH,UAAA,CAMD,OACIk8B,EAAAA,GAAAA,MAAA,OAAApoB,SAAA,EACIyoB,EAAAA,GAAAA,KAAA,OAAK4kF,MAAM,kBAAiBrtG,UACxBooB,EAAAA,GAAAA,MAAA,MAAIilF,MAAM,kFAAiFrtG,SAAA,EAACyoB,EAAAA,GAAAA,KAACijvB,GAAe,CAACz0vB,KAAMw2vB,KAAS,iCAEhIrlvB,EAAAA,GAAAA,MAAA,UAAQqsK,QAvG0D,WAEjD,OAAA4omB,EAAAhxyB,MAAC,KAADH,UAAA,EAqGY8W,KAAK,SAASqqG,MAAM,4EAA2ErtG,SAAA,EACxHyoB,EAAAA,GAAAA,KAACijvB,GAAe,CAACz0vB,KAAMk3vB,KAAU,uBAErC/lvB,EAAAA,GAAAA,MAAA,OAAK/pB,UAAU,yBAAwB2B,SAAA,EACnCyoB,EAAAA,GAAAA,KAAC6+C,GAAAA,UAAS,CACN0N,aAAa,kBACb/jB,QAASgruB,EACThntB,eAAe,EACf9wE,QAAQ,sBACR4wE,SAAS,EACTG,UAAU,EACVV,oBAAoB,KAGxB/rD,EAAAA,GAAAA,KAAC2tD,GAAAA,MAAK,CACFnlB,QAASoruB,EACTl4xB,QAASs4xB,EACTz5xB,KAAM65xB,EACNjotB,SA3BhB,WACI0ntB,GAAgB,EACpB,EA0BgB9ltB,YAAa,IACb5vD,MAAO,OACPxwB,SAAU,CACN8iC,GAAI,aACJgxD,GAAI,aACJpP,GAAIjxF,OACJ2hB,OAAQ,YAGhB4c,EAAAA,GAAAA,MAACy6C,KAAI,CACDhjE,GAAG,eACHizE,UAAW,UACXskW,SAAU8mX,EACVloxB,UAAU,EACVu9D,qBAAqB,EACrBV,cAAe,OACfH,SAAU,EACVzvE,IAAKm7xB,EAAgBp+xB,SAAA,EAErBooB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACynC,SAAS,WAAWjyB,UAAU,WAAWy3L,cAvJnC,CAAE9tP,MAAO,MAAO6F,UAAU,GAuJ8CzsB,SAAA,EAChFyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,aACb4lB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,6BAE1BikB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACwV,UAAU,cAAcy3L,cAAeyphB,EAAsBn+xB,SAAA,EAC/DyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,0BACb4lB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,0CAE1BikB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACwV,UAAU,cAAcy3L,cAAeyphB,EAAsBn+xB,SAAA,EAC/DyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,yBACb4lB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,yCAE1BikB,EAAAA,GAAAA,MAACq/C,GAAAA,KAAI,CAACwV,UAAU,kBAAkBy3L,cAAeyphB,EAAsBn+xB,SAAA,EACnEyoB,EAAAA,GAAAA,KAAC8+C,GAAAA,MAAK,CAAC1kE,KAAM,6BACb4lB,EAAAA,GAAAA,KAAC+9C,GAAAA,aAAY,CAACriE,QAAQ,oDAM9C,uWClJIk6xB,GAAsB,YAGtBC,GAAmB,SACnBC,GAAyB,sBACzBC,GAA0B,gBAC1BC,GAAiC,uBAEjCC,GAA2B,wBAO3BC,GAASn8c,GAAAA,EAAAA,QAAkB,CAC3B/5I,eAAgB,WAAW,IAAA/zM,EAAA,KACnB4U,EAAS9d,KAAK8qG,WACdsosB,EAAa,SAAAp4xB,GAAO,OAAI9R,EAAKopH,MAAMw9P,iBAAiB90W,EAAQ,EAC5DkqD,EAAallE,KAAKioE,OAAO,cAC7B,OAAOrwB,EAAAA,GAAAA,GAAO,CAAC,EAAG95B,EAAQ,CACtBk5J,UAAW,SAASj2K,GAChB,GAAKf,KAAKqzyB,qBAAV,CAGArzyB,KAAKszyB,sBAAsBvyyB,GAC3Bf,KAAKuzyB,eAAgB,EACrB,IAAIC,EAAexzyB,KAAKyzyB,cAAgBzzyB,KAAK0zyB,eAAevltB,OACxDnuF,KAAKyzyB,cACLzzyB,KAAK2zyB,cAAc,QAAQ,GAE3B,IAAMH,EAAa7yyB,SAGvBX,KAAK4zyB,qBAAsB,EAC3B5zyB,KAAK6zyB,kBAAkBL,UAChBxzyB,KAAK4zyB,oBAZZ,CAaJ,EACAr2lB,QAAS,SAACx8M,EAAGw+C,GAAI,OAAKx+C,EAAE0/B,SAAWv3B,EAAKopH,MAAQx0G,EAAOy/L,QAAQ38M,KAAKsI,EAAMnI,GAAKqyyB,EAAW7zvB,EAAK,EAC/Fi+J,UAAW,SAACz8M,EAAGw+C,GAAI,OAAKx+C,EAAE0/B,SAAWv3B,EAAKopH,MAAQx0G,EAAO0/L,UAAU58M,KAAKsI,EAAMnI,GAAKqyyB,EAAW7zvB,EAAK,EACnG49W,IAAK,SAASp8Z,GACV,GAAKf,KAAKyzyB,cAAiBzzyB,KAAKqzyB,qBAAhC,CAGArzyB,KAAKszyB,sBAAsBvyyB,GAC3Bf,KAAKuzyB,eAAgB,EACrB,IAAIC,EAAexzyB,KAAKyzyB,aACxBzzyB,KAAK2zyB,cAAc,QAAQ,GAC3B3zyB,KAAK4zyB,qBAAsB,EAC3B5zyB,KAAK6zyB,kBAAkBL,UAChBxzyB,KAAK4zyB,mBAPZ,CAQJ,EACA9/nB,MAAO,SAAS/yK,EAAGia,GACf,IAAI84xB,EAAoB9zyB,KAAKsyH,OAAS,OAAStyH,KAAKsyH,MAAMrqD,OAAO,kBAEjE,GADmBjoE,KAAKioE,OAAO,uBAAyB6ruB,EAIpD,OAFA/yyB,EAAE4kG,sBACF,KAAO3lG,KAAK4mJ,gBAAkB5mJ,KAAK81e,wBAAwB/0e,IAG3Df,KAAKioE,OAAO,YACZjoE,KAAKqgZ,sBAAsBt/Y,GAC3BqyyB,EAAWp4xB,GACXja,EAAE4kG,iBAEV,EACAw3G,MAAO,SAASp8M,EAAGia,GACf,IAAI03d,EAAW1ye,KAAKioE,OAAO,UACvB8ruB,EAAgB/zyB,KAAK8we,2BACrB4B,IAAaqhU,IACb/zyB,KAAKqgZ,sBAAsBt/Y,GAC3BqyyB,EAAWp4xB,GACXja,EAAE4kG,iBAEV,EACA03G,UAAW,SAASt8M,GAChB,MAAKf,KAAKqzyB,sBAAwBrzyB,KAAKg0yB,YAAch0yB,KAAKmma,eAAiBjhW,IAAellE,KAAKyzyB,cAA/F,CAGA1yyB,EAAE4kG,iBACF,IAAI/5E,EAAYs5C,EAAa,OAAS,OACtCllE,KAAK2zyB,cAAc/nxB,IAClB5rB,KAAKioE,OAAO,cAAgBjoE,KAAKi0yB,iBAAiBroxB,EAJnD,CAKJ,EACA0xL,WAAY,SAASv8M,GACjB,GAAKf,KAAKqzyB,uBAAwBrzyB,KAAKg0yB,cAAch0yB,KAAKmma,eAAkBjhW,GAAellE,KAAKyzyB,cAAhG,CAGA1yyB,EAAE4kG,iBACF,IAAI/5E,EAAYs5C,EAAa,OAAS,OACtCllE,KAAK2zyB,cAAc/nxB,IAClB5rB,KAAKioE,OAAO,cAAgBjoE,KAAKi0yB,iBAAiBroxB,EAJnD,CAKJ,GAER,EACA0nxB,sBAAuB,SAASvyyB,GAC5BA,EAAE4kG,iBACF5kG,EAAEmgK,kBACFlhK,KAAKqgZ,sBAAsBt/Y,EAC/B,EACAizyB,SAAU,WACN,OAAO,IAAMh0yB,KAAKsyZ,YAAY3xZ,MAClC,EACAuzyB,qBAAsB,SAASvmtB,GAC3B3tF,KAAKm0yB,gBAAkBxmtB,EAASa,SAtGP,mBAuG7B,EACAq+Y,sBAAuB,WACnB,OAAO,CACX,EACAwmU,mBAAoB,WAChB,IAAIzoyB,GAAWuT,EAAAA,GAAAA,GAAMne,KAAK+pS,UAC1B,OAAO,IAAMn/R,EAAS+8B,OAAS,IAAM/8B,EAASsS,GAClD,EACAk3xB,iCAAgC,SAAC//xB,GAC7BrU,KAAKszF,QAAQ,mBAAoBj/E,EAAIrU,KAAK+pS,SAC9C,EACA4pgB,cAAe,SAAS/nxB,EAAWyoxB,GAC/B,IAAKr0yB,KAAKyzyB,aAAc,CACpB,IAAIa,EAAct0yB,KAAK0zyB,eAIvB,OAHA1zyB,KAAKyzyB,aAAe,SAAW7nxB,EAAY0oxB,EAAY5kuB,QAAU4kuB,EAAYnmtB,OAC7EnuF,KAAK+gN,mBAAkB,EAAM/gN,KAAKyzyB,mBAClCzzyB,KAAKo0yB,iCAAiCp0yB,KAAKyzyB,aAAa3xrB,KAAK,MAEjE,CACA,IAAIyyrB,EAAkBv0yB,KAAKyzyB,aAAa7nxB,GAAW,IAAI7sB,OAAO+zyB,KAC1DyB,EAAgB5zyB,OAAS,GACzBX,KAAKw0yB,mBAAmBD,GACxBv0yB,KAAKo0yB,iCAAiCG,EAAgBzyrB,KAAK,SACpDuyrB,GAAmB,SAAWzoxB,GAAa5rB,KAAKmma,iBACvDnma,KAAKy0yB,iBACLz0yB,KAAKo0yB,mCAEb,EACAI,mBAAoB,SAASD,GACzBv0yB,KAAK+gN,mBAAkB,EAAO/gN,KAAKyzyB,cACnCzzyB,KAAKyzyB,aAAec,EACpBv0yB,KAAK+gN,mBAAkB,EAAM/gN,KAAKyzyB,aACtC,EACAgB,eAAgB,WACPz0yB,KAAKyzyB,eAGVzzyB,KAAK+gN,mBAAkB,EAAO/gN,KAAKyzyB,cACnCzzyB,KAAKo0yB,0CACEp0yB,KAAKyzyB,aAChB,EACA5oT,kBAAmB,SAASl9Z,GACxB,OAAIA,GAAYA,EAAShtF,QAAUgtF,EAAS,KAAO3tF,KAAKskK,eAAe,GAC5D32E,EAEJ3tF,KAAK8qG,UAChB,EACAu+Y,mBAAoB,WAChB,OAAOrpf,KAAKm0yB,eAChB,EACA3qT,iBAAgB,WACZ,OAAOxpf,KAAK+pS,QAChB,EACAkqgB,iBAAkB,SAASroxB,GACvB,IAAI5rB,KAAKioE,OAAO,eAAiB8vB,EAAAA,GAAAA,OAG5B/3F,KAAKm0yB,gBAAV,CAGA,IAAI12e,EAAiBz9T,KAAK00yB,mBAAmB9oxB,GAC7C5rB,KAAKm0yB,gBAAgBxxsB,WAAW86N,EAFhC,CAGJ,EACAi3e,mBAAoB,SAAS9oxB,GACzB,MAAI,UAAYA,GAAa,QAAUA,EAC5B5rB,KAAK20yB,mBAAmB/oxB,GAE5B5rB,KAAKyzyB,aAAezzyB,KAAK40yB,uBAAuBhpxB,GAAa5rB,KAAK20yB,mBAAmB,MAChG,EACAA,mBAAoB,SAAS/oxB,GACzB,IAAIs5C,EAAallE,KAAKioE,OAAO,cAG7B,MAFmB,QAAUr8C,EAAYs5C,GAElBA,EAAa,GADnBA,GAAc,EAAI,IACmBllE,KAAKm0yB,gBAAgBvtyB,IAAI,GAAGm4N,aAAct5H,EAAAA,GAAAA,IAAczlG,KAAKm0yB,iBACvH,EACAS,uBAAwB,SAAShpxB,GAC7B,IACIipxB,EAAe,SAAWjpxB,EADb5rB,KAAKioE,OAAO,cAGnB6qL,EACN9yP,KAAKyzyB,aAAa7oyB,WADlBilC,KAEA8yD,EAAa3iG,KAAKm0yB,gBAAgBxxsB,aAOtC,OANIkysB,IACA/hjB,IAAgBrtJ,EAAAA,GAAAA,IAAczlG,KAAKyzyB,cAAc,IAAQhusB,EAAAA,GAAAA,IAAczlG,KAAKm0yB,kBAE5EU,EAAe/hjB,EAAe,IAC9BnwJ,GAAcmwJ,GAEXnwJ,CACX,EACA6vY,cAAev0Y,GAAAA,KACf2b,mBAAoB,WAChB,OAAOhiE,EAAAA,GAAAA,GAAO53C,KAAK8qG,WAAY,CAC3BhoG,MAAO,GACPgia,oBAAoB,EACpBgwY,qBAAsB,KACtBC,YAAa,MACbzohB,cAAez4F,GAAAA,EAAAA,OAA2B,oBAC1CmhnB,mBAAmB,EACnB5slB,cAAe,GACf68D,cAAe,OACf6H,wBAAyB,KACzBmohB,sBAAkB,EAClBC,kBAAkB,EAClBC,oBAAqB,KACrB32hB,WAAW,EACXhpE,mBAAmB,GAE3B,EACAn6F,MAAO,WACHr7G,KAAK8qG,WACL9qG,KAAKo1yB,eAAiB,GACtBp1yB,KAAKq1yB,kCACT,EACAlyiB,aAAc,WACVnjQ,KAAK8qG,WACL9qG,KAAKs1yB,8BACT,EACAA,6BAA8B,WAC1Bt1yB,KAAKu1yB,yBAA2Bv1yB,KAAK07G,sBAAsB,sBAAuB,CAC9EjS,cAAe,SAAS1oG,GACpBf,KAAKw1yB,0BAA0Bz0yB,EAAEunB,KAAK,GAC1C,EAAEkb,KAAKxjC,MACP8pG,kBAAmB,CAAC,WAAY,aAExC,EACA0rsB,0BAA2B,SAASltxB,GAChC,IACYmtxB,EACRz1yB,KAAKsyZ,YADL3xZ,OAECX,KAAKioE,OAAO,oBAGb3/C,EAAKjR,KAAOw8K,GAAAA,EAAAA,aAAiC,oBAAjCA,CAAsD4hnB,GAFlEntxB,EAAKjR,KAAOw8K,GAAAA,EAAAA,aAAiC,wBAAjCA,CAA0D4hnB,EAAgBz1yB,KAAKioE,OAAO,oBAAsB,EAIhI,EACAg4L,sBAAuB,WACnBjgQ,KAAK8qG,WACL9qG,KAAK6iH,iBAAiBu+E,oBAAoB,CACtClmL,IAAK,IAAIqyG,GAAAA,GAAiB,SAAC5gC,EAAY5kF,GACnC,IAAI2tyB,EACAC,GAAcpntB,EAAAA,GAAAA,GAAE,SAASC,SA5Od,mBA6OfD,EAAAA,GAAAA,GAAE,UAAUl3E,KAAK,QAAUq+xB,EAAa3tyB,EAAKsP,YAAS,IAAWq+xB,EAAaA,EAAa3tyB,GAAM0mF,SAASkntB,IAC1GpntB,EAAAA,GAAAA,GAAE,SAASC,SAASyktB,IAAgCxktB,SAASkntB,GAC7DhptB,EAAWrvE,OAAOq4xB,EACtB,GAAG,CAAC,QAAS31yB,KAAKioE,OAAO,kCAAmC,CACxD5wD,KAAMrX,KAAK2+M,kBAGvB,EACAi3lB,qBAAsB,SAAS5mtB,GACvBA,GACAhvF,KAAKwjZ,uBACLxjZ,KAAK6mZ,oBAEL7mZ,KAAK4mZ,iBAAmB5mZ,KAAK4mZ,gBAAgB7yY,gBACtC/T,KAAK4mZ,gBAEpB,EACApD,qBAAsB,WACbxjZ,KAAKioE,OAAO,uBAGjBjoE,KAAK4mZ,iBAAkBr4T,EAAAA,GAAAA,GAAE,YAAYuzB,KAAK,CACtCqve,SAAU,WACV,aAAc,mBACftgjB,IAAI,UAAW,QAAQ49C,SAASzuF,KAAK2tF,YAC5C,EACAk5T,gBAAiB,WACb,GAAK7mZ,KAAKioE,OAAO,qBAAjB,CAKA,IAFA,IAAInlE,EAAQ9C,KAAKsyZ,YACbujZ,EAAW,GACNr1yB,EAAI,EAAGC,EAAIqC,EAAMnC,OAAQH,EAAIC,EAAGD,IAAK,CAC1C,IAAIs1yB,EAAiB91yB,KAAK+xe,uBAAuBjve,EAAMtC,IACvDq1yB,EAASvxyB,MAAKiqF,EAAAA,GAAAA,GAAE,YAAYroD,IAAI4vwB,EAAiB91yB,KAAK2+M,eAAe77M,EAAMtC,IAAMsC,EAAMtC,IAAIshH,KAAK,WAAY,YAChH,CACA9hH,KAAK8mZ,oBAAoB/qS,QAAQz+F,OAAOu4xB,EAPxC,CAQJ,EACAz0rB,YAAa,WACTphH,KAAK+1yB,mBAAoBxntB,EAAAA,GAAAA,KACzB,IAAIyntB,GAAoBh2yB,KAAKioE,OAAO,aACpCjoE,KAAK2tF,WAAWa,SA/RL,aA+R4Bw0B,YAzRhB,0BAyRwDhjH,KAAKioE,OAAO,kBAAoBjoE,KAAKioE,OAAO,uBAAuB+6C,YAAYkwrB,GAA0B8C,GACxLh2yB,KAAKszF,QAAQ,CACTt2D,KAAM,QACN0ha,gBAAiB,UAClB1+b,KAAK2tF,YACR3tF,KAAKi2yB,mBACLj2yB,KAAK8qG,UACT,EACAorsB,eAAc,SAACC,EAAUC,EAAOC,GAC5B,IAAKF,EACD,OAAOC,EAEX,GAAIC,EAAc,CACd,GAAIF,IAAaC,EACb,OAEJ,OAAOD,EAASrjyB,MAAM,KAAKE,QAAO,SAAAqB,GAAE,OAAIA,IAAO+hyB,CAAK,IAAE3myB,KAAK,IAC/D,CACA,MAAO,GAAG1Q,OAAOo3yB,EAAU,KAAKp3yB,OAAOq3yB,EAC3C,EACAE,mBAAkB,SAACjiyB,EAAIgiyB,GAEnB,IADwBhiyB,EAEpBrU,KAAKszF,QAAQ,kBAAc,EAAQtzF,KAAK2tF,gBAD5C,CAIA,IAAI4otB,EAAUv2yB,KAAK2tF,WAAWm0B,KAAK,mBAC/B00rB,EAAax2yB,KAAKk2yB,eAAeK,EAASliyB,EAAIgiyB,GAClDr2yB,KAAKszF,QAAQ,aAAckjtB,EAAYx2yB,KAAK2tF,WAH5C,CAIJ,EACA0zB,QAAS,WACLrhH,KAAK8qG,WACL9qG,KAAKy2yB,yBACLz2yB,KAAK02yB,0BACL12yB,KAAKi0yB,iBAAiB,QAC1B,EACAgC,iBAAkB,WACdj2yB,KAAK22yB,aAAe32yB,KAAKqkH,qBAAqB,cAClD,EACAsuS,aAAc,WACV,IAAIikZ,IAA0BtqtB,EAAAA,GAAAA,IAAUtsF,KAAKioE,OAAO,kBACpDjoE,KAAK2tF,WAAWq1B,YA9TkB,6BA8T+B4zrB,GAAwB5zrB,YA7TxD,6BA6TyG4zrB,GAC1I52yB,KAAK8qG,UACT,EACA2rsB,uBAAwB,WACpB,IAAII,EAAkB72yB,KAAKg9G,cAAch9G,KAAK82yB,kBAAkBtzwB,KAAKxjC,OACjEqzE,GAAY+mB,EAAAA,GAAAA,IAAak1G,GAAAA,EAAY,qBACzCt7G,GAAAA,EAAAA,IAAiBh0F,KAAKm0yB,gBAAiB9guB,GACvC2gB,GAAAA,EAAAA,GAAgBh0F,KAAKm0yB,gBAAiB9guB,EAAW,IAAIt0E,OAAOk0yB,KAAiC,SAAA1ywB,GACzFs2wB,EAAgB,CACZt2wB,MAAOA,GAEf,GACJ,EACAm2wB,wBAAyB,WACrB,IAAIK,GAAkB38sB,EAAAA,GAAAA,IAAa,eAAgBp6F,KAAK23F,MACpDhK,EAAW3tF,KAAK2tF,WAChB20sB,EAActiyB,KAAKioE,OAAO,aAC9B+rB,GAAAA,EAAAA,IAAiBrG,EAAUoptB,GACvB,YAAchxsB,GAAAA,EAAAA,OAAeC,WAI7Bs8rB,GAGJtusB,GAAAA,EAAAA,GAAgBrG,EAAUoptB,EAAiB/2yB,KAAKg3yB,+BAA+BxzwB,KAAKxjC,OANhFA,KAAKm0yB,iBAAmBn0yB,KAAKm0yB,gBAAgBtjwB,IAAI,YAAayxvB,EAAc,GAAK,OAOzF,EACA0U,+BAAgC,SAASj2yB,GACrC,IAAI4hG,EAAa3iG,KAAKm0yB,gBAAgBxxsB,aAClC85B,GAxV8B,GAwVtB17H,EAAE07H,MACd,KAAKi8C,EAAAA,GAAAA,IAAoB33K,KAAMw/e,EAAAA,GAAAA,GAAYvgf,KAAKm0yB,gBAAiB13qB,GAAO,GAEpE,OADAz8H,KAAKm0yB,gBAAgBxxsB,WAAWA,EAAa85B,IACtC,CAEf,EACAq5Q,cAAe,WAAW,IAAAnkY,EAAA,KACtB3R,KAAK8qG,WACL,IAAIj+F,EAAQ7M,KAAK+pS,SACbp9L,GAAYvS,EAAAA,GAAAA,IAAa,UAAWp6F,KAAK23F,MAC7C3D,GAAAA,EAAAA,GAAgBnnF,EAAO8/F,GAAW,SAAA5rG,GAC9B,IAAI2uF,GAAUo0E,EAAAA,GAAAA,IAAiB/iK,IAC1B4Q,EAAKo2e,cAAcr4Z,IAAY/9E,EAAKw0Z,eACrCx0Z,EAAK8iyB,gBAEb,GACJ,EACA1mU,mBAAoB,WAChB,OAAO/te,KAAK8qG,WAAL9qG,0BACX,EACA8la,aAAc,WACV9la,KAAK8qG,WACL9qG,KAAKi3yB,gCACT,EACAA,+BAAgC,WAAW,IAAAjlyB,EAAA,KACnCqhE,GAAY+mB,EAAAA,GAAAA,IAAa,YAAa,YAC1CpG,GAAAA,EAAAA,IAAiBh0F,KAAKmla,gBAAiB9xV,GACvC2gB,GAAAA,EAAAA,GAAgBh0F,KAAKmla,gBAAiB9xV,GAAW,SAAAtyE,GACzCA,EAAEM,SAAW2Q,EAAK+3R,SAAS,IAAM/3R,EAAK0xa,cACtC3ib,EAAE4kG,gBAEV,GACJ,EACAkuY,sBAAuB,WACnB,OAAO7ze,KAAKk3yB,oBAChB,EACA/oU,gBAAiB,WACb,OAAO/5Y,EAAAA,GAAAA,KACX,EACA6gZ,gBAAiB,WACbj1e,KAAK+pS,SAAS7jQ,IAAI,IAClBlmC,KAAK6na,+BACL7na,KAAKioE,OAAO,OAAQ,GACxB,EACAo3I,gBAAiB,SAASt+M,GACjBf,KAAK0sc,yBAAyB3rc,IAC/Bf,KAAKi0yB,iBAAiB,OAE1Bj0yB,KAAK8qG,SAAS/pG,EAClB,EACAu7Z,kBAAmB,WAEf,OADAt8Z,KAAKioE,OAAO,eAAgBjoE,KAAK4mJ,gBAC1B5mJ,KAAK8qG,UAChB,EACA2pY,kBAAmB,SAASK,GACnBA,GACD90e,KAAKi1e,iBAEb,EACAt1R,iBAAkB,SAAS5+M,GAClBf,KAAK0sc,yBAAyB3rc,KAC/Bf,KAAKy0yB,iBACLz0yB,KAAKi0yB,iBAAiB,UAE1Bj0yB,KAAK8qG,SAAS/pG,EAClB,EACAy5Z,sBAAuB,WACnB,OAAOx6Z,KAAKioE,OAAO,yBAA2BjoE,KAAKsyH,MAAMgyC,eAAiBtkK,KAAK8qG,UACnF,EACAuqsB,iCAAkC,WAC9Br1yB,KAAKm3yB,4BAA8Bn3yB,KAAK07G,sBAAsB,0BAClE,EACA8+J,YAAa,WAAW,IAAAtoQ,EAAA,KACpBlS,KAAK8qG,WACL9qG,KAAKo3yB,2BACDp3yB,KAAKioE,OAAO,2BACZjoE,KAAKsyH,MAAMu5K,mBAAmB,OAAO,SAAA9qS,GAAC,OAAImR,EAAKi4Z,wBAAwBppa,EAAE,IACzEf,KAAKsyH,MAAMu5K,mBAAmB,UAAU,SAAA9qS,GAAC,OAAImR,EAAKk4Z,wBAAwBrpa,EAAE,IAEpF,EACAwue,kBAAmB,WACf,MAAO,eAAiBvve,KAAKioE,OAAO,iBACxC,EACAyna,YAAa,WAAW,IAAAj9d,EAAA,KAChBw1M,EAAgBjoN,KAAKioE,OAAO,yBAA2B,MAAQ,WACnE,OAAOrwB,EAAAA,GAAAA,GAAO53C,KAAK8qG,WAAY,CAC3Bm9G,cAAeA,EACfqkE,cAAetsR,KAAKioE,OAAO,iBAC3B6kN,wBAAyB,SAAAlyQ,GACrB,IACW9X,EACP8X,EADA9X,MAEJ2P,EAAK0kyB,4BAA4B,CAC7Br0yB,MAAOA,GAEf,EACAmiR,cAAejlR,KAAKioE,OAAO,iBAC3BmgJ,cAAepoN,KAAKo1yB,eACpBn3lB,qBAAsB,MAE9B,EACAi5lB,mBAAoB,WAAW,IAAA/tpB,EAAA,KACvB7pJ,EAAI,IAAIs3F,GAAAA,GAOZ,OANA52F,KAAKk0yB,qBAAqBl0yB,KAAK2gf,4BAC/B3gf,KAAKq3yB,mBACLr3yB,KAAKs3yB,cAAcn0yB,MAAK,WACpBgmJ,EAAKswH,QAAUtwH,EAAKswH,OAAO03M,kBAC3B7xd,EAAEqD,SACN,IAAGo0F,KAAKz3F,EAAEsD,QACHtD,EAAEk5C,SACb,EACA09W,sBAAuB,SAASn1Z,IAC3Bf,KAAKioE,OAAO,0BAA4BjoE,KAAKi1e,kBAC1C,eAAiBj1e,KAAKioE,OAAO,oBAGjCjoE,KAAK8qG,SAAS/pG,GACdf,KAAKqgZ,2BAAsB,GAC/B,EACAm0F,mBAAoB,WAChB,IAAI+iU,EAAoBv3yB,KAAK8qG,WAE7B,OAD4B9qG,KAAKioE,OAAO,0BACPsvuB,CACrC,EACAF,iBAAkB,WACd,IAAIjjmB,EAASp0M,KAAK+pS,SACdjnS,EAAQsxM,EAAOluK,MACfsxwB,GAAe36vB,EAAAA,GAAAA,IAAS/5C,IAAUA,EAClCs4B,EAAQ,GACRza,EAAO,GACP82xB,EAAcz3yB,KAAKioE,OAAO,kBAAoBjoE,KAAKioE,OAAO,qBAC9D,GAAIuvuB,GAAgBC,EAAa,CAC7B,IAAIC,GAAsBlyqB,EAAAA,GAAAA,IAA4B4uE,EAAQtxM,EAAO,CACjE4iI,iBAAiB,IAErBgyqB,EAAoB3srB,YAAYqpF,GAChCh5K,GAAQqqE,EAAAA,GAAAA,IAAciysB,GAAuB,EAC7CA,EAAoB3jyB,QACxB,MAAYjR,IACR6d,EAAO,GAEXyzL,EAAOvjK,IAAI,QAASzV,GACpBg5K,EAAOtyF,KAAK,OAAQnhG,EACxB,EACAw1d,yBAA0B,WACtBn2e,KAAK8qG,WACL9qG,KAAK23yB,qBACT,EACArlZ,UAAW,WACP,OAAOtyZ,KAAKioE,OAAO,UAAY,EACnC,EACA2vuB,kBAAmB,WACf,IAAIh0wB,EAAS5jC,KAAKsyZ,YACd2iZ,EAAmBj1yB,KAAKioE,OAAO,oBACnC,OAAOqkB,EAAAA,GAAAA,IAAU2otB,IAAqBrxwB,EAAOjjC,OAASs0yB,CAC1D,EACA4C,gBAAiB,SAASzjmB,GACtB,IAAI0jmB,GAAOvptB,EAAAA,GAAAA,GAAE,SAASC,SAASsktB,IAAkBtktB,SAASuktB,IACtDzqxB,EAAO,CACPyvxB,iBAAiB92sB,EAAAA,GAAAA,GAAiB62sB,GAClC1vlB,cAAepoN,KAAKioE,OAAO,kBAG/B,OADAjoE,KAAKu1yB,yBAAyBjtxB,IAC1BA,EAAK4uB,SAGT4gwB,EAAK/vyB,KAAK8qyB,GAAqBvqxB,EAAKjR,MACpCygyB,EAAKv8xB,aAAa64L,GAClBp0M,KAAK22yB,aAAa79xB,OAAO,CACrB6wC,MAAOrhC,EAAKjR,KACZ8B,WAAW8nF,EAAAA,GAAAA,GAAiB62sB,KAEzBA,EACX,EACAE,WAAY,SAAS3tuB,GACjB,IAAI0iE,EAAmB/sI,KAAKquF,gBAAgBr7E,SACxCy5H,EAAapiE,EAAQyiE,kBAAkB9sI,KAAKioE,OAAO,aAAc8kE,GACjEkrqB,EAAoBnihB,UAAUvnQ,KAAKhP,UAAUktH,IAAa9rI,OAC1Dm0yB,EAAuB90yB,KAAKioE,OAAO,wBACvC,GAAIgwuB,GAAqBnD,EACrB,OAAOroqB,EAEXluC,GAAAA,EAAAA,IAAW,QAASu2sB,EACxB,EACAoD,kBAAmB,SAASt0wB,GAAQ,IAC5Bu0wB,EAAuBj9hB,EADKzxH,EAAA,KAEhC,QAAU0upB,EAAwBn4yB,KAAKo4yB,iCAA8B,IAAWD,GAAiCA,EAAsBv1yB,SACvI,IAAIynE,EAAU,IAAIguuB,GAAAA,EAAcz0wB,GAC5B00wB,EAAoB,QAAUp9hB,EAAcl7Q,KAAKsyH,aAAU,IAAW4oJ,OAAc,EAASA,EAAYjzM,OAAO,iBAChHswuB,IAAsBD,GAAqBt4yB,KAAKsyH,MAAMjkC,gBAAgBk6D,WACtE6/D,EAAgBkwlB,GAAqBt4yB,KAAKioE,OAAO,iBACjDuwuB,EAAuBnuuB,EAAQ8hE,eAAensI,KAAKore,cACnD6L,EAAgB7uR,EAAcp1M,OAAOwlyB,GACrCC,EAA6BxhU,EAAct2e,SAAWijC,EAAOjjC,OAC7DrB,EAAI,IAAIs3F,GAAAA,GACRm+D,EAAiB/0J,KAAKquF,gBAC1B,GAAMruF,KAAK04yB,uBAAwBH,IAAsBE,EAElD,CACH,IAAAvulB,EAIIn1D,EAAex+D,cAHI4zH,EAAiBD,EAApCC,kBACQwrT,EAAMzrT,EAAdyrT,OACQrhb,EAAM41H,EAAd51H,OAEAthF,EAAShT,KAAKg4yB,WAAW3tuB,GAmB7B,OAlBA0qF,EAAe3B,cAAc,CACzBpgJ,OAAQA,EACRm3M,kBAAmBA,EACnBwrT,OAAQA,EACRrhb,OAAQA,IACTnxF,MAAK,SAAC4E,EAAMs8I,GAEX,GADAoF,EAAKivpB,sBAAuB,EACxBjvpB,EAAKztC,UACL18G,EAAEsD,aADN,CAIA,IACUwkF,GACNyjE,EAAAA,GAAAA,IAAoB9iJ,EAAMs8I,GAD1Bt8I,KAEA4wyB,EAAc5jpB,EAAevB,iBAAiBpsE,GAClD9nF,EAAEqD,QAAQg2yB,EAAY3lyB,OAAOwlyB,GAL7B,CAMJ,IAAGzhtB,KAAKz3F,EAAEsD,QACV5C,KAAKo4yB,0BAA4B94yB,EAC1BA,EAAEk5C,SACb,CA3BI,OAAOl5C,EAAEqD,QAAQs0e,GAAez+b,SA4BxC,EACAogwB,gBAAiB,SAASh1wB,EAAQqzc,GAAe,IAAAltV,EAAA,KACzC3iE,EAAQ,GACRrkE,EAAQ,CAAC,EACT81xB,EAAuB,SAAW74yB,KAAKqre,mBACvCytU,EAAiB,CAAC,EACtB7hU,EAAc/me,SAAQ,SAAA6oyB,GAClB,IAAIC,EAAoBH,EAAuBtqxB,KAAKhP,UAAUw5xB,GAAgBhvpB,EAAKqhV,aAAa2tU,GAChGD,EAAeE,GAAqBD,CACxC,IACA,IAAIE,EAAmB,GACvBr1wB,EAAO1zB,SAAQ,SAACpN,EAAOia,GACnB,IAAIgzG,EAAc+orB,EAAeD,EAAuBtqxB,KAAKhP,UAAUzc,GAASA,GAChF,GAAI+1yB,KAAyBvstB,EAAAA,GAAAA,IAAUyjC,GACnCkprB,EAAiB30yB,KAAKylJ,EAAKskV,UAAUvre,EAAOigB,GAAOm4E,QAAO,SAAA9hF,GACtD,IAAIs4G,EAAUq4B,EAAKmvpB,eAAe9xtB,EAAOhuE,EAAMtW,EAAOia,GACtDqqE,EAAM9zE,OAAOyJ,EAAO,EAAG20G,EAC3B,SACG,CACH,IAAIA,EAAUq4B,EAAKmvpB,eAAe9xtB,EAAO2oC,EAAajtH,EAAOia,GAC7DqqE,EAAM9zE,OAAOyJ,EAAO,EAAG20G,EAC3B,CACJ,IACA,IAAIpyH,EAAI,IAAIs3F,GAAAA,GAIZ,OAHAxC,GAAAA,GAAAA,MAAWp0F,KAAMi5yB,GAAkB/9sB,QAAQ,WACvC57F,EAAEqD,QAAQykF,EACd,IACO9nF,EAAEk5C,SACb,EACA0gwB,eAAgB,SAAS9xtB,EAAOhuE,EAAMtW,EAAOq2yB,GACzC,IAAI7stB,EAAAA,GAAAA,IAAUlzE,GAEV,OADApZ,KAAKo1yB,eAAe9wyB,KAAK8U,GAClBA,EAEP,IAAI4uM,EAAehoN,KAAKioE,OAAO,gBAE/B,OADiBjoE,KAAKore,aAAapjR,KAAkBllN,EAAQklN,EAAellN,CAGpF,EACAs2yB,eAAgB,WACZ,OAAOp5yB,KAAKioE,OAAO,aAAejoE,KAAKquF,gBAAgBwI,OAC3D,EACAwitB,kBAAmB,SAASz1wB,GACxB,IAAIy8G,EAAc,GAOlB,OANAz8G,EAAO1zB,QAAQ,SAASpN,GACpB,IAAIsW,EAAOpZ,KAAKsue,kBAAkBxre,IAC9BwpF,EAAAA,GAAAA,IAAUlzE,IACVinI,EAAY/7I,KAAK8U,EAEzB,EAAEoqB,KAAKxjC,OACAqgJ,CACX,EACAi5pB,yBAA0B,SAAS11wB,GAAQ,IAAAwmH,EAAA,KACnCg+D,EAAgB,IAAIxxH,GAAAA,GAexB,OAdI52F,KAAKu5yB,kCACLv5yB,KAAKquF,gBAAgBn3C,OAAOl3C,KAAKu5yB,iCAAiCr0pB,aAEjEllJ,KAAKquF,gBAAgBjH,QAAQzmF,OAS9BynN,EAAczlN,QAAQ3C,KAAKq5yB,kBAAkBz1wB,IAR7C5jC,KAAKu5yB,iCAAmCv5yB,KAAKquF,gBAAgBsI,OAAOxzF,MAAK,WACrEilN,EAAczlN,QAAQynJ,EAAKivpB,kBAAkBz1wB,GACjD,IAAGmzD,MAAK,WACJqxH,EAAczlN,QAAQ,GAC1B,IAAGu4F,QAAO,WACNkvD,EAAKmvpB,sCAAmC,CAC5C,IAIGnxlB,EAAc5vK,SACzB,EACAghwB,cAAe,WAAW,IAAA9upB,EAAA,KAClB9mH,EAAS5jC,KAAKsyZ,YACdmnZ,EAAU,IAAI7itB,GAAAA,GASlB,OARA52F,KAAKo1yB,eAAiB,IACKp1yB,KAAKo5yB,iBAAmBp5yB,KAAKs5yB,yBAAyB11wB,GAAU5jC,KAAKk4yB,kBAAkBt0wB,IAC7FzgC,MAAK,SAAA8ze,GACVvsV,EAAKkupB,gBAAgBh1wB,EAAQqzc,GACnC/7Y,QAAQ,SAASnzF,GACnB0xyB,EAAQ92yB,QAAQoF,EACpB,GACJ,IAAGgvF,KAAK0itB,EAAQ72yB,OAAO4gC,KAAKxjC,OACrBy5yB,EAAQjhwB,SACnB,EACA8+vB,YAAa,WAAW,IAAAvspB,EAAA,KAChBzrJ,EAAI,IAAIs3F,GAAAA,GACR8itB,GAAkB,EAmBtB,OAlBI15yB,KAAK25yB,yBAAyB35yB,KAAK45yB,mBACnC55yB,KAAKo1yB,eAAiBp1yB,KAAK65yB,mBAAmB75yB,KAAK45yB,iBAC/C55yB,KAAKo1yB,eAAez0yB,SAAWX,KAAK45yB,gBAAgBj5yB,SACpDX,KAAK85yB,gBAAgB95yB,KAAKo1yB,gBAC1BsE,GAAkB,EAClBp6yB,EAAEqD,YAGL+2yB,GACD15yB,KAAKw5yB,gBAAgBr2yB,MAAK,SAAAikF,GAClB2jE,EAAK/uC,UACL18G,EAAEsD,UAGNmoJ,EAAK+upB,gBAAgB1ytB,GACrB9nF,EAAEqD,UACN,IAAGo0F,KAAKz3F,EAAEsD,QAEPtD,EAAEk5C,SACb,EACAshwB,gBAAiB,SAAS1ytB,GACtBpnF,KAAK+5yB,gBAAgB3ytB,GACrBpnF,KAAKg6yB,oBACAh6yB,KAAK4zyB,qBACN5zyB,KAAKy0yB,gBAEb,EACAkF,yBAA0B,SAAS/1wB,GAC/B,OAAOA,GAAU5jC,KAAKquF,gBAAgBk6D,YAAc3kH,EAAOjjC,QAAUX,KAAKswN,iBAAiB3vN,MAC/F,EACAk5yB,mBAAoB,SAASj2wB,GACzB,IAAIwkL,EAAgBpoN,KAAKi6yB,0BAA0Br2wB,GAEnD,GAD2B,IAAMwkL,EAAcznN,QAAUijC,EAAOjjC,OAAS,GAAKynN,EAAcznN,OAASijC,EAAOjjC,OAClF,CACtB,IAAIypN,EAAapqN,KAAKswN,iBACtBlI,EAAgBpoN,KAAKk6yB,qBAAqB9vlB,EAAYxmL,EAC1D,CACA,OAAOwkL,CACX,EACA6xlB,0BAA2B,SAASr2wB,GAChC,IAAIu3O,EACAm9hB,EAAoB,QAAUn9hB,EAAen7Q,KAAKsyH,aAAU,IAAW6oJ,OAAe,EAASA,EAAalzM,OAAO,iBACnHmgJ,EAAgB,GAIpB,OAHIxkL,EAAOjjC,UAAY,OAAS23yB,QAAqB,IAAWA,OAAoB,EAASA,EAAkB33yB,UAC3GynN,EAAgBpoN,KAAKk6yB,qBAAqB5B,EAAmB10wB,IAE1DwkL,CACX,EACA8xlB,qBAAsB,SAAS9vlB,EAAYxmL,GAAQ,IAAA+wP,EAAA,KAC3CvsE,EAAgBgC,EAAWp3M,QAAO,SAAAwxO,GAElC,IADA,IAAI5nJ,EACKp8F,EAAI,EAAGA,EAAIojC,EAAOjjC,OAAQH,IAE/B,GADAo8F,EAAeh5D,EAAOpjC,IAClBi8C,EAAAA,GAAAA,IAASmgD,IACT,GAAI+3L,EAAK62M,eAAehnP,EAAU5nJ,GAC9B,OAAO,OAER,GAAI+3L,EAAK62M,eAAe72M,EAAKy2M,aAAa5mP,GAAW5nJ,GACxD,OAAO,EAGf,OAAO,CACX,GAAG58F,MACH,OAAOooN,CACX,EACA2+M,gBAAiB,WACb/ma,KAAKm6yB,cAAcx3yB,UACnB3C,KAAK8qG,WACL,IAAIsvsB,EAAgBp6yB,KAAK2tF,WAAW7rC,KAAK,IAAI/iD,OAptBd,kCAqtB/BiB,KAAKk0yB,qBAAqBkG,GAC1Bp6yB,KAAKy2yB,wBACT,EACAsD,gBAAiB,SAAS3ytB,GAAO,IACzBiztB,EADyBrkhB,EAAA,KAE7B,QAAUqkhB,EAAsBr6yB,KAAKm6yB,qBAAkB,IAAWE,GAA+BA,EAAoBz3yB,SACrH5C,KAAKm6yB,cAAgB,IAAIvjtB,GAAAA,GACzB52F,KAAK2yZ,eACL3yZ,KAAKioE,OAAO,gBAAiBjoE,KAAKo1yB,eAAej4xB,SACjDnd,KAAKs6yB,aACDt6yB,KAAK+pS,SAASppS,OAAS,GACvBX,KAAKm6yB,cAAcx3yB,WAEvByxF,EAAAA,GAAAA,IAAKp0F,KAAKm6yB,eAAeh3yB,MAAK,WAC1B6yR,EAAKukhB,oBAAoBnztB,EAC7B,GACJ,EACAmztB,oBAAmB,SAACnztB,GAAO,IAAAivM,EAAA,KACnBmkhB,EAAYx6yB,KAAK43yB,qBAAuB53yB,KAAK63yB,gBAAgB73yB,KAAK+pS,UAClEmrgB,EAAmBl1yB,KAAKioE,OAAO,oBAC/BgtuB,EAAmBj1yB,KAAKioE,OAAO,oBACnCmf,EAAMl3E,SAAQ,SAACkJ,EAAM2D,GACjB,GAAIy9xB,GAAatF,GAAoBsF,IAActF,GAAoBn4xB,EAAQk4xB,IAAqB,EAChG,OAAO,EAEX5+gB,EAAKokhB,WAAWrhyB,EAAMohyB,GAAankhB,EAAK0T,SAC5C,IACI/pS,KAAK0jb,cACL1jb,KAAKi0yB,iBAAiB,OAE1Bj0yB,KAAK06yB,qBACT,EACAJ,WAAY,WACR,GAAIt6yB,KAAK43yB,oBACL53yB,KAAK0zyB,eAAe3/xB,aACjB,CACH,IAAI4myB,EAAQ36yB,KAAK0zyB,eACb9vwB,EAAS5jC,KAAKsyZ,aAClB3gU,EAAAA,GAAAA,IAAKgptB,GAAQ,SAASj3yB,EAAGwX,GACrB,IAAI48xB,GAAOvptB,EAAAA,GAAAA,GAAErzE,GACTu+xB,EAAU3B,EAAK/vyB,KAAK8qyB,IAClB,OAASjvwB,QAAU,IAAWA,GAAUA,EAAOorB,SAASyqvB,IAC1D3B,EAAK/jyB,QAEb,GACJ,CACA/T,KAAKs2yB,oBACT,EACA0D,kBAAmB,WACf,IAAI3kxB,IAAYr1B,KAAKsyZ,YAAY3xZ,QAAUX,KAAKo1yB,eAAez0yB,QAAUX,KAAK4mJ,gBAC9E5mJ,KAAKkpf,iBAAiB7zd,GACtBr1B,KAAKg/Z,oBACT,EACAA,mBAAoB,WAChBh/Z,KAAKq3yB,kBACT,EACAqD,oBAAqB,WACjB16yB,KAAK+1yB,kBAAoB/1yB,KAAK2tF,WAAW7rC,KAAK,IAAI/iD,OAAO+zyB,IAC7D,EACAY,aAAc,WACV,OAAO1zyB,KAAK+1yB,iBAChB,EACA6E,kBAAmB,SAASxhyB,EAAM0+xB,GAC9B93yB,KAAK22yB,aAAa79xB,OAAO,CACrB6wC,MAAOvwC,EACPD,WAAW8nF,EAAAA,GAAAA,GAAiB62sB,IAEpC,EACA2C,WAAY,SAASrhyB,EAAMg7L,GACvB,IAAItxM,EAAQ9C,KAAKore,aAAahyd,GAC9B,IAAKkzE,EAAAA,GAAAA,IAAUxpF,GAAf,CAGA,IAAIg1yB,EAAO93yB,KAAK66yB,QAAQ/3yB,GACpBwjN,EAAetmN,KAAK2+M,eAAevlM,GACnC0hyB,EAAY96yB,KAAK+6yB,cAAc3hyB,EAAMktM,GACzC,GAAIwxlB,GACIxrtB,EAAAA,GAAAA,IAAUg6H,KACVwxlB,EAAK/7rB,QACL/7G,KAAK46yB,kBAAkBE,EAAWhD,IAEtCA,EAAKpptB,YAAYsktB,IACjBhzyB,KAAKs2yB,mBAAmBwB,EAAKh2rB,KAAK,WAC/B,CACH,IAAIk5rB,EAAQ,MAAMj8yB,OAAO,IAAI8pH,GAAAA,GAC7BivrB,EAAO93yB,KAAKi7yB,WAAWn4yB,EAAOsxM,EAAQ4mmB,IAClC1utB,EAAAA,GAAAA,IAAUlzE,GACVpZ,KAAK46yB,kBAAkBE,EAAWhD,IAElCA,EAAKtptB,SAASwktB,IACdhzyB,KAAK46yB,kBAAkB93yB,EAAOg1yB,IAElC93yB,KAAKs2yB,mBAAmB0E,EAC5B,CArBA,CAsBJ,EACAD,cAAe,SAAS3hyB,EAAMktM,GAC1B,OAAI7pK,EAAAA,GAAAA,IAASrjC,KAASkzE,EAAAA,GAAAA,IAAUg6H,GACrBltM,GAEA85G,EAAAA,GAAAA,eAAcozF,EAAc,GAE3C,EACAu0lB,QAAS,SAAS/3yB,GAId,IAHA,IAAI63yB,EAAQ36yB,KAAK0zyB,eACbwH,EAAaP,EAAMh6yB,OACnBuC,GAAS,EACJ1C,EAAI,EAAGA,EAAI06yB,EAAY16yB,IAAK,CACjC,IAAIs3yB,EAAO6C,EAAMn6yB,GACbi5yB,GAAU3wsB,EAAAA,GAAAA,IAAYgvsB,EAAMjF,IAChC,GAAI/vyB,IAAU22yB,IAAW9ptB,EAAAA,GAAAA,cAAa7sF,EAAO22yB,GAAU,CACnDv2yB,GAASqrF,EAAAA,GAAAA,GAAEuptB,GACX,KACJ,CACJ,CACA,OAAO50yB,CACX,EACA+3yB,WAAY,SAASn4yB,EAAOsxM,EAAQ4mmB,GAChC,OAAOzstB,EAAAA,GAAAA,GAAE,SAASuzB,KAAK,KAAMk5rB,GAAOxstB,SAASsktB,IAAkB/qyB,KAAK8qyB,GAAqB/vyB,GAAOyY,aAAa64L,EACjH,EACAyzN,6BAA8B,WAC1B7na,KAAKkpf,kBAAkBlpf,KAAKsyZ,YAAY3xZ,SAAWX,KAAK4mJ,eAAejmJ,OAC3E,EACAm1e,wBAAyB,SAAS/0e,GAC9Bf,KAAK8qG,SAAS/pG,GACdf,KAAKi1e,iBACT,EACA6hU,kBAAmB,SAASxuxB,GACxB,IAAIvnB,EAAIunB,EAAKiY,MACbx/B,EAAEmgK,kBACFlhK,KAAKqgZ,sBAAsBt/Y,GAC3B,IAAI+2yB,GAAOvptB,EAAAA,GAAAA,GAAExtF,EAAEM,QAAQ8yF,QAAQ,IAAIp1F,OAAO+zyB,KAC1C9yyB,KAAK6zyB,kBAAkBiE,EAC3B,EACAjE,kBAAmB,SAASiE,GACxB,GAAIA,EAAK3trB,SAAS4orB,IACT/yyB,KAAKioE,OAAO,oBAGbjoE,KAAK0xC,QAFL1xC,KAAKioE,OAAO,QAASjoE,KAAKsyZ,YAAYn1Y,MAAM,EAAGnd,KAAKioE,OAAO,0BAFnE,CAQA,IAAI6ma,EAAYgpU,EAAK/vyB,KAAK8qyB,IACtBhsf,EAASixf,EAAKh2rB,KAAK,MACvB9hH,KAAKm7yB,qBAAqBrsU,GAC1B9ue,KAAKs2yB,mBAAmBzvf,GAAQ,GAChC7mT,KAAK06yB,qBALL,CAMJ,EACAnmZ,aAAct2T,GAAAA,KACdk9sB,qBAAsB,SAASrsU,GAC3B,IAAIhse,EAAQ9C,KAAKsyZ,YAAYn1Y,QAC7Bnd,KAAKo7yB,WAAWt4yB,EAAOgse,GACvB9ue,KAAKioE,OAAO,QAASnlE,GACjB,IAAMA,EAAMnC,QACZX,KAAKy0yB,gBAEb,EACA5oU,iBAAkB,WACd,OAAO7re,KAAKq7yB,YAChB,EACAhnU,wBAAyB,SAAStze,GAAG,IAAA01R,EAAA,KACjC,GAAI,eAAiBz2R,KAAKioE,OAAO,kBAAjC,CAGA,IAAInlE,EAAQ9C,KAAKsyZ,YAAYn1Y,QAQ7B,IAPAw0E,EAAAA,GAAAA,IAAK5wF,EAAEqsN,cAAgB,IAAI,SAAC1pN,EAAG43yB,GAC3B7khB,EAAK2khB,WAAWt4yB,EAAO2zR,EAAK20M,aAAakwU,GAC7C,KACA3ptB,EAAAA,GAAAA,IAAK5wF,EAAEosN,YAAc,IAAI,SAACzpN,EAAG4we,GACzB79M,EAAK8khB,QAAQz4yB,EAAO2zR,EAAK20M,aAAakJ,GAC1C,IACAt0e,KAAK23yB,wBACAhotB,EAAAA,GAAAA,cAAa3vF,KAAKsyH,MAAMrqD,OAAO,oBAAqBjoE,KAAKioE,OAAO,UAAW,CAC5E,IAAIuzuB,EAA2Bx7yB,KAAKsyH,MAAMgpU,2BAC1CkgX,GAA4Bx7yB,KAAKqgZ,sBAAsBm7Z,GACvDx7yB,KAAKioE,OAAO,QAASnlE,EACzB,CACA9C,KAAKsyH,MAAMmlU,+BAA0B,EAdrC,CAeJ,EACA2jX,WAAY,SAASt4yB,EAAOsW,GACxB,IAAI2D,EAAQ/c,KAAKy7yB,YAAYriyB,EAAMtW,GAC/Bia,GAAS,GACTja,EAAMwQ,OAAOyJ,EAAO,EAE5B,EACAw+xB,QAAS,SAASz4yB,EAAOsW,GACTpZ,KAAKy7yB,YAAYriyB,GACjB,GACRtW,EAAMwB,KAAK8U,EAEnB,EACAmtZ,iBAAkB,WACd,OAAOvma,KAAKo1yB,eAAej4xB,OAC/B,EACA04d,mBAAoB,SAAS/ye,GACpB9C,KAAKioE,OAAO,0BACbjoE,KAAK+se,UAAUjqe,EAEvB,EACAiqe,UAAW,SAASjqe,GAChB,GAAI,OAASA,EAAb,CAGA,IAAI44yB,EAAa,eAAiB17yB,KAAKioE,OAAO,kBAC1CkxuB,EAAan5yB,KAAKy7yB,YAAY34yB,GAC9B8gC,GAAU83wB,EAAa17yB,KAAKsyH,MAAMrqD,OAAO,oBAAsBjoE,KAAKsyZ,aAAan1Y,QACjFg8xB,GAAc,EACdv1wB,EAAOtwB,OAAO6lyB,EAAY,GAE1Bv1wB,EAAOt/B,KAAKxB,GAEZ,eAAiB9C,KAAKioE,OAAO,kBAC7BjoE,KAAKsyH,MAAMrqD,OAAO,mBAAoBrkC,GAEtC5jC,KAAKioE,OAAO,QAASrkC,EAZzB,CAcJ,EACAmrc,iBAAkB,SAASjse,EAAOigB,GAC9B,OAAO/iB,KAAKy7yB,YAAY34yB,EAAO,KAAMigB,IAAU,CACnD,EACA04xB,YAAa,SAAS34yB,EAAO8gC,EAAQ7gB,GAAO,IAAAk0Q,EAAA,KACpC/zR,GAAU,EACd,OAAI6f,GAAS,kBAAoBjgB,IACxBigB,EAAM44xB,gBACP54xB,EAAM44xB,cAAgB,CAAC,GACvB/3wB,EAASA,GAAU5jC,KAAKsyZ,aACjBpiZ,SAAS,SAASpN,EAAOia,GAC5BgG,EAAM44xB,cAAc74yB,GAASia,CACjC,KAEAja,KAASigB,EAAM44xB,eACR54xB,EAAM44xB,cAAc74yB,IAGnC8gC,EAASA,GAAU5jC,KAAKsyZ,aACxB3gU,EAAAA,GAAAA,IAAK/tD,GAAQ,SAAC7mB,EAAO4/X,GACjB,GAAI1lH,EAAKu0M,eAAe1oe,EAAO65Y,GAE3B,OADAz5Y,EAAS6Z,GACF,CAEf,IACO7Z,EACX,EACAm4yB,WAAY,WACR,IAAIz3wB,EAAS5jC,KAAKsyZ,YACds6L,EAAYhpjB,EAAOA,EAAOjjC,OAAS,GACvC,OAAO,OAASislB,QAAa,IAAWA,EAAYA,EAAY,IACpE,EACA97G,yBAA0B,WACtB,OAAO9we,KAAKioE,OAAO,kBAAoBjoE,KAAKioE,OAAO,oBACvD,EACA8oa,eAAgB,SAAShwe,GACjBf,KAAKioE,OAAO,kBAAsBlnE,IAAMf,KAAKuzyB,gBAC7CvzyB,KAAK8qG,SAASpqG,WACdV,KAAKo3yB,4BAETp3yB,KAAK23yB,6BACE33yB,KAAKuzyB,aAChB,EACAoE,oBAAqB,WACjB,IAAIn4xB,EAAUxf,KAAK2tF,WACfiutB,GAAiBvstB,EAAAA,GAAAA,IAAU7vE,GAC/Bxf,KAAKq3yB,mBACL,IAAIwE,GAAgBxstB,EAAAA,GAAAA,IAAU7vE,GAC1Bxf,KAAKy5Q,QAAUz5Q,KAAKioE,OAAO,WAAajoE,KAAKmma,eAAiB01Y,IAAkBD,GAChF57yB,KAAKy5Q,OAAOlY,SAEpB,EACAqtO,iBAAkB,WACd,IAAIvzN,GACH,QAAUA,EAAer7Q,KAAKsyH,aAAU,IAAW+oJ,OAAe,EAASA,EAAa5nH,kBAAoBzzJ,KAAKsyH,MAAMrqD,OAAO,gBAAiBjoE,KAAKo1yB,eACzJ,EACA0G,2BAA4B,WACxB,IAAI/mpB,EAAiB/0J,KAAKquF,uBACnBruF,KAAK+7yB,YACZhnpB,EAAe/hJ,OAAO,MACtB+hJ,EAAezK,QACnB,EACA8spB,yBAA0B,WACtB,GAAKp3yB,KAAKioE,OAAO,sBAAyBjoE,KAAKsyH,MAA/C,CAGA,IAAIyiC,EAAiB/0J,KAAKquF,gBACtB2ttB,EAAkBh8yB,KAAKqre,mBAC3B,IAAIxub,EAAAA,GAAAA,IAASm/vB,IAAoB,SAAWA,EAAiB,CACzD,IAAIhpyB,EAAShT,KAAKi8yB,6BACd,IAAWj8yB,KAAK+7yB,cAChB/7yB,KAAK+7yB,YAAchnpB,EAAe/hJ,UAAY,MAElDhT,KAAK+7yB,aAAe/oyB,EAAO1O,KAAKtE,KAAK+7yB,aACrC/oyB,EAAOrS,OAASo0J,EAAe/hJ,OAAOA,GAAU+hJ,EAAe/hJ,OAAO,KAC1E,MACI+hJ,EAAe/hJ,OAAOhT,KAAKk8yB,0BAA0B14wB,KAAKxjC,OAE9D+0J,EAAep+D,MAbf,CAcJ,EACAsltB,sBAAuB,WAAW,IAAAxkhB,EAAA,KAC1BzkR,EAAS,GAEb,OADAhT,KAAKsyZ,YAAYpiZ,SAAQ,SAAApN,GAAK,OAAIkQ,EAAO1O,KAAK,CAAC,IAAK,CAACmzR,EAAK4zM,mBAAoBvoe,IAAQ,IAC/EkQ,CACX,EACAkpyB,0BAA2B,SAASlpmB,GAAU,IAAA8mG,EAAA,KACtCg1L,EAAY9ue,KAAKore,aAAap4R,GAC9B9vM,GAAS,EAOb,OANAyuF,EAAAA,GAAAA,IAAK3xF,KAAKsyZ,aAAa,SAACv1Y,EAAOja,GAC3B,GAAIg3S,EAAK0xL,eAAe1oe,EAAOgse,GAE3B,OADA5re,GAAS,GACF,CAEf,IACOA,CACX,EACAo/M,0BAA2B,WACvBtiN,KAAK04yB,sBAAuB,EAC5B14yB,KAAK8qG,SAASjqG,MAAMb,KAAMU,UAC9B,EACAy7Z,oBAAqB,SAAS7zY,GAC1BtoB,KAAKqgZ,sBAAsB/3X,EAAKiY,OAChCvgC,KAAKioE,OAAO,QAASjoE,KAAKm8yB,wBAC1Bn8yB,KAAKi1e,kBACLj1e,KAAK8qG,WACL9qG,KAAKuye,qBACT,EACA4pU,qBAAsB,WAClB,IAAIC,EAAap8yB,KAAKq8yB,iBAClBz/sB,EAAe58F,KAAKioE,OAAO,UAAY,GACvCq0uB,EAAeF,EAAWz7yB,QAAS4uH,EAAAA,GAAAA,IAAgB3yB,EAAcw/sB,GAAc,GAC/EtrrB,EAAWwrrB,EAAa37yB,QAASivH,EAAAA,GAAAA,IAAiBwsrB,EAAYx/sB,GAAgBw/sB,EAClF,OAAOE,EAAav9yB,OAAO+xH,EAC/B,EACAurrB,eAAgB,WAAW,IAAAhigB,EAAA,KACvB,OAAKr6S,KAAKsyH,MAGHtyH,KAAKswN,eAAetwN,KAAKsyH,MAAMrqD,OAAO,kBAAkBppE,KAAI,SAAAua,GAAI,OAAIihS,EAAK+wL,aAAahyd,EAAK,IAFvF,EAGf,EACAoiQ,mBAAoB,WAChB,IAAI5+K,EAAe58F,KAAKsyZ,YACxBtyZ,KAAK8qG,WACDlO,IAAiB58F,KAAKioE,OAAO,UAC7BjoE,KAAKioE,OAAO,QAAS20B,GAEzB58F,KAAK4ue,kBACT,EACA3yE,mBAAoB,WAChBj8Z,KAAK8qG,WACD,eAAiB9qG,KAAKioE,OAAO,mBAAsBjoE,KAAKioE,OAAO,WAC/DjoE,KAAK4ue,kBAEb,EACAl9b,MAAO,WACH1xC,KAAKy0e,oBACL,IAAIrge,EAAepU,KAAK45G,qBAAqB92G,MACzC85F,EAAe58F,KAAKioE,OAAO,SAC3B7zD,GAAgB,IAAMA,EAAazT,QAAUi8F,GAAgBxoF,EAAazT,SAAWi8F,EAAaj8F,QAGtGX,KAAK8qG,UACT,EACAyX,OAAQ,WACJviH,KAAK8qG,kBACE9qG,KAAKu8yB,2BACLv8yB,KAAK45yB,uBACL55yB,KAAK22yB,YAChB,EACA6F,4BAA2B,SAAC1rrB,EAAU2rrB,GAAe,IAAA1hgB,EAAA,KACjD,IAAKjqL,EAASnwH,OACV,MAAO,CACHwsN,WAAY,GACZC,aAAcqvlB,EAAct/xB,SAGpC,IAAKs/xB,EAAc97yB,OACf,MAAO,CACHwsN,WAAYr8F,EAAS3zG,QACrBiwM,aAAc,IAGtB,IAAIsvlB,EAAyBD,EAAc/hyB,QAAO,SAAC7b,EAAKua,GAGpD,OADAva,EADYk8S,EAAKqwL,aAAahyd,IACjBA,EACNva,CACX,GAAG,CAAC,GACAsuN,EAAa,GAQjB,OAPAr8F,EAAS5gH,SAAQ,SAAAkJ,GACb,IAAItW,EAAQi4S,EAAKqwL,aAAahyd,GACzBsjyB,EAAuB55yB,IACxBqqN,EAAW7oN,KAAK8U,UAEbsjyB,EAAuB55yB,EAClC,IACO,CACHqqN,WAAYA,EACZC,aAAc5tN,OAAOokC,OAAO84wB,GAEpC,EACA7gsB,eAAgB,SAASvzF,GACrB,IACUvhB,EAGNuhB,EAHAvhB,KACOjE,EAEPwlB,EAFAxlB,MACeozG,EACf5tF,EADA4tF,cAEJ,OAAQnvG,GACJ,IAAK,0BACD/G,KAAKq1yB,mCACL,MACJ,IAAK,sBACDr1yB,KAAKs1yB,+BACLt1yB,KAAKs3yB,cACL,MACJ,IAAK,oBACGx0yB,EACA9C,KAAKo3yB,2BAELp3yB,KAAK87yB,6BAET,MACJ,IAAK,oBACD97yB,KAAK41yB,qBAAqB9yyB,GAC1B,MACJ,IAAK,cACD9C,KAAK8qG,SAASxiF,GACdtoB,KAAKikH,iBACLjkH,KAAK0iH,cACL,MACJ,IAAK,cACD1iH,KAAKi2yB,mBACLj2yB,KAAK0iH,cACL,MACJ,IAAK,gBACD1iH,KAAKwxX,eAAe,gBAAiBxxX,KAAKioE,OAAO,kBACjD,MACJ,IAAK,WACL,IAAK,WACDjoE,KAAK8qG,SAASxiF,IACbxlB,GAAS9C,KAAK2na,iBACf,MACJ,IAAK,QACD3na,KAAK45yB,gBAAkB92yB,EACvB9C,KAAK8qG,SAASxiF,GACdtoB,KAAK45yB,qBAAkB,EACvB55yB,KAAKo3yB,2BACL,MACJ,IAAK,mBACL,IAAK,mBACDp3yB,KAAKs3yB,cACL,MACJ,IAAK,gBACDt3yB,KAAKwxX,eAAezqX,EAAMjE,GAC1B,MACJ,IAAK,eASL,IAAK,uBACD,MARJ,IAAK,gBACD9C,KAAKgvX,wBAAwBhvX,KAAKw8yB,4BAA4B15yB,EAAOozG,IACrE,MACJ,IAAK,YACDl2G,KAAK2tF,WAAWq1B,YAAYkwrB,IAA2BpwyB,GACvD9C,KAAK02yB,0BACL,MAGJ,QACI12yB,KAAK8qG,SAASxiF,GAE1B,EACAisd,sBAAuB,WACnB,OAAOv0e,KAAK8qG,YAAc9qG,KAAK4mJ,cACnC,EACA0pO,oBAAqB,WACjBtwX,KAAK8qG,WACL9qG,KAAKove,cACT,KAEJ97R,EAAAA,GAAAA,GAAkB,WAAY6/lB,IAC9B,IC9vCA,YAAyB,qFCFrBwJ,GAAiB,CACjB73yB,GAAI,EACJg3K,GAAI,EACJI,GAAI,EACJ,UAAW,EACXI,GAAI,EACJE,GAAI,EACJC,GAAI,EACJ9pK,GAAI,EACJugL,GAAI,EACJlW,GAAI,GACJM,GAAI,GACJE,GAAI,GACJsY,GAAI,GACJ3X,GAAI,GACJ30H,GAAI,GACJ+0H,GAAI,GACJyX,GAAI,GACJQ,GAAI,GACJ/V,GAAI,GACJG,GAAI,GACJp0I,GAAI,GACJH,GAAI,GACJ40I,GAAI,GACJE,GAAI,GACJE,GAAI,GACJpD,GAAI,GACJ+D,GAAI,GACJI,GAAI,GACJE,GAAI,GACJ56C,GAAI,GACJJ,GAAI,GACJ+wD,GAAI,GACJhkL,GAAI,GACJyuK,GAAI,GACJnH,GAAI,GACJsG,GAAI,GACJhF,GAAI,GACJ6C,GAAI,GACJF,GAAI,GACJ6C,GAAI,GACJrF,GAAI,GACJ6F,GAAI,GACJ7E,GAAI,GACJ3C,GAAI,GACJyB,GAAI,GACJgB,IAAK,GACLiC,GAAI,GACJy8nB,GAAI,GACJtknB,GAAI,GACJI,GAAI,GACJ5D,GAAI,GACJpW,GAAI,GACJnB,GAAI,GACJ1wH,GAAI,GACJxf,GAAI,GACJs0I,GAAI,GACJhE,GAAI,GACJ19C,GAAI,GACJ8+C,GAAI,GACJQ,GAAI,GACJgD,GAAI,GACJG,GAAI,GACJK,GAAI,GACJJ,GAAI,GACJqS,GAAI,GACJuC,GAAI,GACJ5B,GAAI,GACJ2B,GAAI,GACJU,GAAI,GACJC,GAAI,GACJ1B,GAAI,GACJ/oJ,GAAI,GACJ3Q,GAAI,GACJyQ,GAAI,GACJmqJ,GAAI,GACJrX,GAAI,GACJ6U,GAAI,GACJ1Y,GAAI,GACJ+Z,GAAI,GACJxpI,GAAI,GACJ+wH,GAAI,GACJ4Y,IAAK,GACLomnB,IAAK,GACL96nB,GAAI,GACJ+6nB,GAAI,GACJ/nnB,GAAI,GACJlS,IAAK,GACLuU,GAAI,GACJ1Z,GAAI,GACJsD,GAAI,GACJ0U,IAAK,IACLqnnB,GAAI,IACJ/+nB,GAAI,IACJwF,GAAI,IACJw5nB,IAAK,IACLC,IAAK,IACL/pL,GAAI,IACJzzc,GAAI,IACJR,GAAI,IACJX,GAAI,IACJyX,GAAI,IACJmnnB,IAAK,IACLC,IAAK,IACLnhoB,GAAI,IACJmc,GAAI,IACJjY,GAAI,IACJ4lc,GAAI,IACJs3L,GAAI,IACJt/nB,IAAK,IACL0D,IAAK,IACL67nB,IAAK,IACL/7nB,GAAI,IACJ8B,GAAI,IACJk6nB,IAAK,IACL1/nB,GAAI,IACJ,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,SAAU,KACV,SAAU,KACV,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,aAAc,KACd,aAAc,KACd,cAAe,KACf,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,QAAS,KACT,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,KACT,SAAU,KACV,QAAS,KACT,aAAc,KACd,SAAU,KACV,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,aAAc,MACd,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACXsE,IAAK,MACL,UAAW,MACXq7nB,IAAK,MACL9knB,GAAI,MACJle,GAAI,MACJ0B,GAAI,MACJ,UAAW,MACXuhoB,IAAK,MACL,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACXljoB,GAAI,MACJ+H,GAAI,MACJ,UAAW,MACX1F,IAAK,MACL8goB,IAAK,MACL,UAAW,MACX,UAAW,MACX,UAAW,M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","sources":["../node_modules/@aws-crypto/ie11-detection/src/MsWindow.ts","../node_modules/@aws-crypto/ie11-detection/src/index.ts","../node_modules/@aws-crypto/ie11-detection/node_modules/tslib/tslib.es6.js","../node_modules/@aws-crypto/sha256-browser/src/constants.ts","../node_modules/@aws-crypto/sha256-browser/src/crossPlatformSha256.ts","../node_modules/@aws-crypto/sha256-browser/src/ie11Sha256.ts","../node_modules/@aws-crypto/sha256-browser/src/index.ts","../node_modules/@aws-crypto/sha256-browser/src/isEmptyData.ts","../node_modules/@aws-crypto/sha256-browser/src/webCryptoSha256.ts","../node_modules/@aws-crypto/sha256-browser/node_modules/tslib/tslib.es6.js","../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/index.ts","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/sha256-js/node_modules/tslib/tslib.es6.js","../node_modules/@aws-crypto/supports-web-crypto/src/index.ts","../node_modules/@aws-crypto/supports-web-crypto/src/supportsWebCrypto.ts","../node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib/tslib.es6.js","../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@aws-crypto/util/src/index.ts","../node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@aws-crypto/util/src/numToUint8.ts","../node_modules/@aws-crypto/util/src/uint32ArrayFrom.ts","../node_modules/@aws-sdk/util-locate-window/dist-es/index.js","../node_modules/@aws-sdk/util-utf8-browser/src/index.ts","../node_modules/@aws-sdk/util-utf8-browser/src/whatwgEncodingApi.ts","../node_modules/@aws-sdk/util-utf8-browser/src/pureJs.ts","../node_modules/@devextreme/runtime/esm/inferno/effect_host.js","../node_modules/@devextreme/runtime/esm/inferno/base_component.js","../node_modules/@devextreme/runtime/esm/inferno/create_context.js","../node_modules/@devextreme/runtime/esm/inferno/effect.js","../node_modules/@devextreme/runtime/esm/inferno/re_render_effect.js","../node_modules/@devextreme/runtime/esm/inferno/mocked/shared.js","../node_modules/@devextreme/runtime/esm/inferno/mocked/hydrate.js","../node_modules/@devextreme/runtime/esm/inferno/render_template.js","../node_modules/@devextreme/runtime/esm/inferno/normalize_styles.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@mui/icons-material/KeyboardArrowDown.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/styles/createMixins.js","../node_modules/@mui/material/colors/common.js","../node_modules/@mui/material/colors/grey.js","../node_modules/@mui/material/colors/purple.js","../node_modules/@mui/material/colors/red.js","../node_modules/@mui/material/colors/orange.js","../node_modules/@mui/material/colors/blue.js","../node_modules/@mui/material/colors/lightBlue.js","../node_modules/@mui/material/colors/green.js","../node_modules/@mui/material/styles/createPalette.js","../node_modules/@mui/material/styles/createTypography.js","../node_modules/@mui/material/styles/shadows.js","../node_modules/@mui/material/styles/createTransitions.js","../node_modules/@mui/material/styles/zIndex.js","../node_modules/@mui/material/styles/createTheme.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/system/esm/propsToClassKey.js","../node_modules/@mui/system/esm/createStyled.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../node_modules/@mui/material/styles/useThemeProps.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../node_modules/@mui/material/SvgIcon/SvgIcon.js","../node_modules/@mui/material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/debounce.js","../node_modules/@mui/utils/esm/debounce.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/utils/esm/useId.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/useControlled.js","../node_modules/@mui/utils/esm/useControlled.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/ownerDocument.js","../node_modules/@mui/material/utils/ownerWindow.js","../node_modules/@mui/material/utils/useEnhancedEffect.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/utils/esm/useIsFocusVisible.js","../node_modules/@mui/material/utils/useIsFocusVisible.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/system/esm/breakpoints.js","../node_modules/@mui/system/esm/colorManipulator.js","../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/merge.js","../node_modules/@mui/system/esm/spacing.js","../node_modules/@mui/system/esm/memoize.js","../node_modules/@mui/system/esm/style.js","../node_modules/@mui/system/esm/compose.js","../node_modules/@mui/system/esm/borders.js","../node_modules/@mui/system/esm/cssGrid.js","../node_modules/@mui/system/esm/palette.js","../node_modules/@mui/system/esm/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/@mui/system/esm/useTheme.js","../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../node_modules/@mui/utils/esm/capitalize.js","../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/@mui/utils/esm/createChainedFunction.js","../node_modules/@mui/utils/esm/deepmerge.js","../node_modules/@mui/utils/esm/formatMuiErrorMessage.js","../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../node_modules/@mui/utils/esm/ownerDocument.js","../node_modules/@mui/utils/esm/ownerWindow.js","../node_modules/@mui/utils/esm/resolveProps.js","../node_modules/@mui/utils/esm/setRef.js","../node_modules/@mui/utils/esm/useEnhancedEffect.js","../node_modules/@mui/utils/esm/useEventCallback.js","../node_modules/@mui/utils/esm/useForkRef.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/base64-js/index.js","../node_modules/bowser/es5.js","../node_modules/buffer/index.js","../node_modules/lower-case/src/index.ts","../node_modules/no-case/src/index.ts","../node_modules/pascal-case/src/index.ts","../node_modules/camel-case/src/index.ts","../node_modules/upper-case-first/src/index.ts","../node_modules/capital-case/src/index.ts","../node_modules/upper-case/src/index.ts","../node_modules/constant-case/src/index.ts","../node_modules/dot-case/src/index.ts","../node_modules/header-case/src/index.ts","../node_modules/param-case/src/index.ts","../node_modules/path-case/src/index.ts","../node_modules/sentence-case/src/index.ts","../node_modules/snake-case/src/index.ts","../node_modules/classnames/index.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/cookie/index.js","../node_modules/crypto-js/aes.js","../node_modules/crypto-js/cipher-core.js","../node_modules/crypto-js/core.js","../node_modules/crypto-js/enc-base64.js","../node_modules/crypto-js/enc-utf8.js","../node_modules/crypto-js/evpkdf.js","../node_modules/crypto-js/hmac.js","../node_modules/crypto-js/md5.js","../node_modules/crypto-js/sha1.js","../node_modules/devextreme-react/check-box.js","../node_modules/devextreme-react/core/component-base.js","../node_modules/devextreme-react/core/component.js","../node_modules/devextreme-react/core/config.js","../node_modules/devextreme-react/core/configuration/comparer.js","../node_modules/devextreme-react/core/configuration/react/element.js","../node_modules/devextreme-react/core/configuration/react/templates.js","../node_modules/devextreme-react/core/configuration/react/tree.js","../node_modules/devextreme-react/core/configuration/tree.js","../node_modules/devextreme-react/core/configuration/utils.js","../node_modules/devextreme-react/core/dx-template.js","../node_modules/devextreme-react/core/extension-component.js","../node_modules/devextreme-react/core/helpers.js","../node_modules/devextreme-react/core/nested-option.js","../node_modules/devextreme-react/core/options-manager.js","../node_modules/devextreme-react/core/template-wrapper.js","../node_modules/devextreme-react/core/template.js","../node_modules/devextreme-react/core/templates-manager.js","../node_modules/devextreme-react/core/templates-renderer.js","../node_modules/devextreme-react/core/templates-store.js","../node_modules/devextreme-react/core/widget-config.js","../node_modules/devextreme-react/data-grid.js","../node_modules/devextreme-react/form.js","../node_modules/devextreme-react/load-panel.js","../node_modules/devextreme-react/text-area.js","../node_modules/devextreme-react/toast.js","../node_modules/devextreme-react/validator.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_utils.js","../node_modules/devextreme/esm/animation/frame.js","../node_modules/devextreme/esm/animation/easing.js","../node_modules/devextreme/esm/animation/fx.js","../node_modules/devextreme/esm/animation/position.js","../node_modules/devextreme/esm/animation/translator.js","../node_modules/devextreme/esm/core/action.js","../node_modules/devextreme/esm/core/class.js","../node_modules/devextreme/esm/core/component_registrator_callbacks.js","../node_modules/devextreme/esm/core/component_registrator.js","../node_modules/devextreme/esm/core/config.js","../node_modules/devextreme/esm/core/devices.js","../node_modules/devextreme/esm/core/dom_adapter.js","../node_modules/devextreme/esm/core/options/option_manager.js","../node_modules/devextreme/esm/core/utils/comparator.js","../node_modules/devextreme/esm/core/options/index.js","../node_modules/devextreme/esm/core/postponed_operations.js","../node_modules/devextreme/esm/core/component.js","../node_modules/devextreme/esm/core/template_manager.js","../node_modules/devextreme/esm/core/dom_component.js","../node_modules/devextreme/esm/core/element.js","../node_modules/devextreme/esm/core/element_data.js","../node_modules/devextreme/esm/core/errors.js","../node_modules/devextreme/esm/core/events_strategy.js","../node_modules/devextreme/esm/core/guid.js","../node_modules/devextreme/esm/core/memorized_callbacks.js","../node_modules/devextreme/esm/core/options/utils.js","../node_modules/devextreme/esm/core/renderer_base.js","../node_modules/devextreme/esm/core/renderer.js","../node_modules/devextreme/esm/core/resize_observer.js","../node_modules/devextreme/esm/core/templates/bindable_template.js","../node_modules/devextreme/esm/core/templates/child_default_template.js","../node_modules/devextreme/esm/core/templates/empty_template.js","../node_modules/devextreme/esm/core/templates/function_template.js","../node_modules/devextreme/esm/core/templates/template_base.js","../node_modules/devextreme/esm/core/utils/array.js","../node_modules/devextreme/esm/core/utils/array_compare.js","../node_modules/devextreme/esm/core/utils/browser.js","../node_modules/devextreme/esm/core/utils/call_once.js","../node_modules/devextreme/esm/core/utils/callbacks.js","../node_modules/devextreme/esm/core/utils/common.js","../node_modules/devextreme/esm/core/utils/console.js","../node_modules/devextreme/esm/core/utils/data.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/devextreme/esm/renovation/ui/common/utils/date/toMilliseconds.js","../node_modules/devextreme/esm/core/utils/date.js","../node_modules/devextreme/esm/core/utils/date_serialization.js","../node_modules/devextreme/esm/core/utils/deferred.js","../node_modules/devextreme/esm/core/utils/dependency_injector.js","../node_modules/devextreme/esm/core/utils/dom.js","../node_modules/devextreme/esm/core/utils/error.js","../node_modules/devextreme/esm/core/version.js","../node_modules/devextreme/esm/core/utils/extend.js","../node_modules/devextreme/esm/core/utils/html_parser.js","../node_modules/devextreme/esm/core/utils/icon.js","../node_modules/devextreme/esm/core/utils/inflector.js","../node_modules/devextreme/esm/core/utils/iterator.js","../node_modules/devextreme/esm/core/utils/math.js","../node_modules/devextreme/esm/core/utils/object.js","../node_modules/devextreme/esm/core/utils/position.js","../node_modules/devextreme/esm/core/utils/public_component.js","../node_modules/devextreme/esm/core/utils/ready_callbacks.js","../node_modules/devextreme/esm/core/utils/resize_callbacks.js","../node_modules/devextreme/esm/core/utils/selection_filter.js","../node_modules/devextreme/esm/core/utils/shadow_dom.js","../node_modules/devextreme/esm/core/utils/size.js","../node_modules/devextreme/esm/core/utils/storage.js","../node_modules/devextreme/esm/core/utils/string.js","../node_modules/devextreme/esm/core/utils/style.js","../node_modules/devextreme/esm/core/utils/support.js","../node_modules/devextreme/esm/core/templates/template_engine_registry.js","../node_modules/devextreme/esm/core/templates/template.js","../node_modules/devextreme/esm/core/utils/template_manager.js","../node_modules/devextreme/esm/core/utils/type.js","../node_modules/devextreme/esm/core/utils/variable_wrapper.js","../node_modules/devextreme/esm/core/utils/version.js","../node_modules/devextreme/esm/core/utils/view_port.js","../node_modules/devextreme/esm/core/utils/window.js","../node_modules/devextreme/esm/data/abstract_store.js","../node_modules/devextreme/esm/data/array_query.js","../node_modules/devextreme/esm/data/array_store.js","../node_modules/devextreme/esm/data/array_utils.js","../node_modules/devextreme/esm/data/custom_store.js","../node_modules/devextreme/esm/core/utils/queue.js","../node_modules/devextreme/esm/data/data_source/operation_manager.js","../node_modules/devextreme/esm/data/data_source/data_source.js","../node_modules/devextreme/esm/core/http_request.js","../node_modules/devextreme/esm/core/utils/ajax.js","../node_modules/devextreme/esm/data/data_source/utils.js","../node_modules/devextreme/esm/data/errors.js","../node_modules/devextreme/esm/data/query_adapters.js","../node_modules/devextreme/esm/data/remote_query.js","../node_modules/devextreme/esm/data/query_implementation.js","../node_modules/devextreme/esm/data/query.js","../node_modules/devextreme/esm/data/store_helper.js","../node_modules/devextreme/esm/data/utils.js","../node_modules/devextreme/esm/ui/collection/data_controller.js","../node_modules/devextreme/esm/data_helper.js","../node_modules/devextreme/esm/events/utils/event_nodes_disposing.js","../node_modules/devextreme/esm/events/click.js","../node_modules/devextreme/esm/events/contextmenu.js","../node_modules/devextreme/esm/events/core/emitter.feedback.js","../node_modules/devextreme/esm/events/core/emitter.js","../node_modules/devextreme/esm/events/core/emitter_registrator.js","../node_modules/devextreme/esm/events/core/event_registrator.js","../node_modules/devextreme/esm/events/core/event_registrator_callbacks.js","../node_modules/devextreme/esm/events/core/hook_touch_props.js","../node_modules/devextreme/esm/events/core/events_engine.js","../node_modules/devextreme/esm/events/core/keyboard_processor.js","../node_modules/devextreme/esm/events/core/wheel.js","../node_modules/devextreme/esm/events/drag.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.scroll.js","../node_modules/devextreme/esm/events/gesture/swipeable.js","../node_modules/devextreme/esm/events/hold.js","../node_modules/devextreme/esm/events/hover.js","../node_modules/devextreme/esm/events/index.js","../node_modules/devextreme/esm/events/pointer/base.js","../node_modules/devextreme/esm/events/pointer/touch.js","../node_modules/devextreme/esm/events/pointer/mouse.js","../node_modules/devextreme/esm/events/pointer/observer.js","../node_modules/devextreme/esm/events/pointer/mouse_and_touch.js","../node_modules/devextreme/esm/events/pointer.js","../node_modules/devextreme/esm/events/remove.js","../node_modules/devextreme/esm/events/short.js","../node_modules/devextreme/esm/events/swipe.js","../node_modules/devextreme/esm/events/utils/add_namespace.js","../node_modules/devextreme/esm/events/utils/index.js","../node_modules/devextreme/esm/events/visibility_change.js","../node_modules/devextreme/esm/format_helper.js","../node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","../node_modules/devextreme/esm/localization/parentLocale.js","../node_modules/devextreme/esm/localization/core.js","../node_modules/devextreme/esm/localization/currency.js","../node_modules/devextreme/esm/localization/cldr-data/first_day_of_week_data.js","../node_modules/devextreme/esm/localization/intl/date.js","../node_modules/devextreme/esm/localization/date.js","../node_modules/devextreme/esm/localization/default_date_names.js","../node_modules/devextreme/esm/localization/ldml/date.format.js","../node_modules/devextreme/esm/localization/ldml/date.formatter.js","../node_modules/devextreme/esm/localization/ldml/date.parser.js","../node_modules/devextreme/esm/localization/ldml/number.js","../node_modules/devextreme/esm/localization/message.js","../node_modules/devextreme/esm/localization/default_messages.js","../node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","../node_modules/devextreme/esm/localization/intl/number.js","../node_modules/devextreme/esm/localization/open_xml_currency_format.js","../node_modules/devextreme/esm/localization/number.js","../node_modules/devextreme/esm/localization/utils.js","../node_modules/devextreme/esm/renovation/common/config_context.js","../node_modules/devextreme/esm/core/inferno_renderer.js","../node_modules/devextreme/esm/renovation/utils/shallow_equals.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/mutations_recording.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/template_wrapper.js","../node_modules/devextreme/esm/renovation/component_wrapper/utils/update_props_immutable.js","../node_modules/devextreme/esm/renovation/component_wrapper/common/component.js","../node_modules/devextreme/esm/renovation/ui/common/base_props.js","../node_modules/devextreme/esm/renovation/ui/common/utils/get_updated_options.js","../node_modules/devextreme/esm/renovation/ui/common/dom_component_wrapper.js","../node_modules/devextreme/esm/renovation/common/config_provider.js","../node_modules/devextreme/esm/renovation/ui/common/widget.js","../node_modules/devextreme/esm/renovation/utils/resolve_rtl.js","../node_modules/devextreme/esm/renovation/ui/overlays/validation_message.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/common/consts.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_relative_offset.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/scroll_direction.js","../node_modules/devextreme/esm/renovation/utils/combine_classes.js","../node_modules/devextreme/esm/renovation/utils/get_computed_style.js","../node_modules/devextreme/esm/renovation/utils/subscribe_to_event.js","../node_modules/devextreme/esm/renovation/utils/type_conversion.js","../node_modules/devextreme/esm/ui/box.js","../node_modules/devextreme/esm/renovation/component_wrapper/button.js","../node_modules/devextreme/esm/renovation/ui/common/icon.js","../node_modules/devextreme/esm/renovation/ui/common/ink_ripple.js","../node_modules/devextreme/esm/renovation/ui/button.js","../node_modules/devextreme/esm/renovation/ui/button.j.js","../node_modules/devextreme/esm/ui/button.js","../node_modules/devextreme/esm/renovation/component_wrapper/editors/editor.js","../node_modules/devextreme/esm/renovation/utils/dom.js","../node_modules/devextreme/esm/renovation/component_wrapper/editors/check_box.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/utils.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box_icon.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.js","../node_modules/devextreme/esm/renovation/ui/editors/check_box/check_box.j.js","../node_modules/devextreme/esm/ui/check_box.js","../node_modules/devextreme/esm/ui/collection/item.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.base.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.edit.strategy.plain.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.live_update.js","../node_modules/devextreme/esm/ui/shared/accessibility.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_accessibility.js","../node_modules/devextreme/esm/events/double_click.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_modules.js","../node_modules/devextreme/esm/__internal/grids/grid_core/views/m_columns_view.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_headers/m_column_headers.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_core.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_headers.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_controller/m_columns_controller.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_columns_controller.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_data_controller.js","../node_modules/devextreme/esm/__internal/grids/grid_core/data_controller/m_data_controller.js","../node_modules/devextreme/esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_data_source_adapter.js","../node_modules/devextreme/esm/__internal/grids/grid_core/sorting/m_sorting_mixin.js","../node_modules/devextreme/esm/__internal/grids/grid_core/sorting/m_sorting.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/sorting.js","../node_modules/devextreme/esm/__internal/grids/grid_core/views/m_rows_view.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/rows.js","../node_modules/devextreme/esm/ui/hierarchical_collection/ui.data_converter.js","../node_modules/devextreme/esm/ui/hierarchical_collection/ui.data_adapter.js","../node_modules/devextreme/esm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js","../node_modules/devextreme/esm/ui/context_menu/ui.menu_base.edit.strategy.js","../node_modules/devextreme/esm/ui/context_menu/ui.menu_base.js","../node_modules/devextreme/esm/ui/context_menu/ui.context_menu.js","../node_modules/devextreme/esm/ui/context_menu.js","../node_modules/devextreme/esm/__internal/grids/grid_core/context_menu/m_context_menu.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/context_menu.js","../node_modules/devextreme/esm/__internal/grids/grid_core/error_handling/m_error_handling.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/error_handling.js","../node_modules/devextreme/esm/__internal/grids/grid_core/views/m_grid_view.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/grid_view.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.utils.js","../node_modules/devextreme/esm/ui/toolbar/strategy/toolbar.multiline.js","../node_modules/devextreme/esm/ui/toolbar/internal/ui.toolbar.menu.list.js","../node_modules/devextreme/esm/ui/popup/ui.popup.full.js","../node_modules/devextreme/esm/ui/popup.js","../node_modules/devextreme/esm/ui/toolbar/internal/ui.toolbar.menu.js","../node_modules/devextreme/esm/ui/toolbar/strategy/toolbar.singleline.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.js","../node_modules/devextreme/esm/ui/toolbar.js","../node_modules/devextreme/esm/__internal/grids/grid_core/header_panel/m_header_panel.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/header_panel.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_widget_base.js","../node_modules/devextreme/esm/__internal/grids/grid_core/state_storing/m_state_storing_core.js","../node_modules/devextreme/esm/__internal/grids/grid_core/state_storing/m_state_storing.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/state_storing.js","../node_modules/devextreme/esm/__internal/grids/grid_core/selection/m_selection.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/selection.js","../node_modules/devextreme/esm/ui/tree_view/ui.tree_view.base.js","../node_modules/devextreme/esm/ui/tree_view/ui.tree_view.search.js","../node_modules/devextreme/esm/ui/tree_view.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_chooser/m_column_chooser.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_chooser.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_utils.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_core.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping_expanded.js","../node_modules/devextreme/esm/__internal/grids/data_grid/grouping/m_grouping.js","../node_modules/devextreme/esm/__internal/grids/grid_core/master_detail/m_master_detail.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/master_detail.js","../node_modules/devextreme/esm/ui/shared/ui.editor_factory_mixin.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editor_factory/m_editor_factory.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editor_factory.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_editing.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_row_based.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_row_based.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_form_based.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_form_based.js","../node_modules/devextreme/esm/__internal/grids/grid_core/editing/m_editing_cell_based.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js","../node_modules/devextreme/esm/__internal/grids/grid_core/validating/m_validating.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/validating.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js","../node_modules/devextreme/esm/ui/overlay/utils.js","../node_modules/devextreme/esm/ui/menu/ui.submenu.js","../node_modules/devextreme/esm/ui/menu/ui.menu.js","../node_modules/devextreme/esm/ui/menu.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_row.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_row.js","../node_modules/devextreme/esm/ui/list/modules/search.js","../node_modules/devextreme/esm/__internal/grids/grid_core/header_filter/m_header_filter_core.js","../node_modules/devextreme/esm/__internal/grids/grid_core/header_filter/m_header_filter.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/header_filter.js","../node_modules/devextreme/esm/ui/filter_builder/between.js","../node_modules/devextreme/esm/ui/filter_builder/ui.filter_operations_dictionary.js","../node_modules/devextreme/esm/ui/filter_builder/utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_custom_operations.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_sync.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_sync.js","../node_modules/devextreme/esm/ui/filter_builder/filter_builder.js","../node_modules/devextreme/esm/ui/filter_builder.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_builder.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_builder.js","../node_modules/devextreme/esm/__internal/grids/grid_core/filter/m_filter_panel.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/filter_panel.js","../node_modules/devextreme/esm/__internal/grids/grid_core/search/m_search.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/search.js","../node_modules/devextreme/esm/renovation/component_wrapper/grid_pager.js","../node_modules/devextreme/esm/renovation/ui/pager/utils/get_element_width.js","../node_modules/devextreme/esm/renovation/ui/pager/resizable_container.js","../node_modules/devextreme/esm/renovation/ui/pager/common/base_pager_props.js","../node_modules/devextreme/esm/renovation/ui/pager/common/pager_props.js","../node_modules/devextreme/esm/renovation/ui/pager/info.js","../node_modules/devextreme/esm/renovation/ui/pager/common/keyboard_action_context.js","../node_modules/devextreme/esm/renovation/ui/pager/common/light_button.js","../node_modules/devextreme/esm/renovation/ui/pager/common/consts.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/page.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/large.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor_state_props.js","../node_modules/devextreme/esm/renovation/ui/editors/common/editor_label_props.js","../node_modules/devextreme/esm/renovation/ui/editors/number_box.js","../node_modules/devextreme/esm/renovation/ui/pager/utils/calculate_values_fitted_width.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/small.js","../node_modules/devextreme/esm/renovation/ui/pager/pages/page_index_selector.js","../node_modules/devextreme/esm/renovation/ui/editors/drop_down_editors/select_box.js","../node_modules/devextreme/esm/renovation/ui/pager/page_size/small.js","../node_modules/devextreme/esm/renovation/ui/pager/page_size/large.js","../node_modules/devextreme/esm/renovation/ui/pager/page_size/selector.js","../node_modules/devextreme/esm/renovation/ui/pager/content.js","../node_modules/devextreme/esm/renovation/ui/pager/pager.js","../node_modules/devextreme/esm/renovation/ui/pager/pager.j.js","../node_modules/devextreme/esm/ui/pager.js","../node_modules/devextreme/esm/__internal/grids/grid_core/pager/m_pager.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/pager.js","../node_modules/devextreme/esm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js","../node_modules/devextreme/esm/__internal/utils/memoize.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/dom.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_aggregate_calculator.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js","../node_modules/devextreme/esm/__internal/grids/data_grid/summary/m_summary.js","../node_modules/devextreme/esm/__internal/grids/grid_core/column_fixing/m_column_fixing.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/column_fixing.js","../node_modules/devextreme/esm/__internal/grids/grid_core/adaptivity/m_adaptivity.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/adaptivity.js","../node_modules/devextreme/esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/virtual_columns.js","../node_modules/devextreme/esm/ui/button_group.js","../node_modules/devextreme/esm/ui/drop_down_button.js","../node_modules/devextreme/esm/__internal/grids/data_grid/export/m_export.js","../node_modules/devextreme/esm/__internal/grids/grid_core/m_export.js","../node_modules/devextreme/esm/__internal/grids/grid_core/focus/m_focus_utils.js","../node_modules/devextreme/esm/__internal/grids/grid_core/focus/m_focus.js","../node_modules/devextreme/esm/__internal/grids/data_grid/focus/m_focus.js","../node_modules/devextreme/esm/__internal/m_draggable.js","../node_modules/devextreme/esm/__internal/m_sortable.js","../node_modules/devextreme/esm/ui/sortable.js","../node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/const.js","../node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/dom.js","../node_modules/devextreme/esm/__internal/grids/grid_core/row_dragging/m_row_dragging.js","../node_modules/devextreme/esm/__internal/grids/data_grid/module_not_extended/row_dragging.js","../node_modules/devextreme/esm/__internal/grids/data_grid/m_widget.js","../node_modules/devextreme/esm/ui/data_grid.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.parts.js","../node_modules/devextreme/esm/ui/date_box/ui.date_utils.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.navigator.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.base_view.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.views.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.selection.strategy.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.single.selection.strategy.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.multi.selection.strategy.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.range.selection.strategy.js","../node_modules/devextreme/esm/ui/calendar/ui.calendar.js","../node_modules/devextreme/esm/ui/calendar.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar.js","../node_modules/devextreme/esm/ui/date_box/ui.date_view_roller.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/convert_location.js","../node_modules/devextreme/esm/ui/date_box/ui.date_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.date_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.native.js","../node_modules/devextreme/esm/ui/date_box/ui.time_view.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.strategy.list.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.base.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.mask.js","../node_modules/devextreme/esm/ui/date_box/ui.date_box.js","../node_modules/devextreme/esm/ui/dialog.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_button.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_editor.js","../node_modules/devextreme/esm/ui/drop_down_editor/utils.js","../node_modules/devextreme/esm/ui/editor/editor.js","../node_modules/devextreme/esm/ui/form/ui.form.items_runtime_info.js","../node_modules/devextreme/esm/ui/multi_view/ui.multi_view.animation.js","../node_modules/devextreme/esm/ui/multi_view.js","../node_modules/devextreme/esm/ui/tabs/item.js","../node_modules/devextreme/esm/ui/tabs/constants.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_scroll_left_max.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_boundary_props.js","../node_modules/devextreme/esm/ui/tabs.js","../node_modules/devextreme/esm/ui/tab_panel/item.js","../node_modules/devextreme/esm/ui/tab_panel.js","../node_modules/devextreme/esm/ui/form/ui.form.item_option_action.js","../node_modules/devextreme/esm/ui/form/ui.form.utils.js","../node_modules/devextreme/esm/ui/form/ui.form.item_options_actions.js","../node_modules/devextreme/esm/ui/responsive_box.js","../node_modules/devextreme/esm/ui/form/constants.js","../node_modules/devextreme/esm/ui/form/ui.form.layout_manager.utils.js","../node_modules/devextreme/esm/ui/form/components/label.js","../node_modules/devextreme/esm/ui/form/components/field_item.js","../node_modules/devextreme/esm/ui/form/components/button_item.js","../node_modules/devextreme/esm/ui/form/components/empty_item.js","../node_modules/devextreme/esm/ui/form/ui.form.layout_manager.js","../node_modules/devextreme/esm/ui/validation_summary.js","../node_modules/devextreme/esm/ui/validation_group.js","../node_modules/devextreme/esm/ui/form/ui.form.js","../node_modules/devextreme/esm/ui/form.js","../node_modules/devextreme/esm/ui/radio_group/radio_button.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator.selection.js","../node_modules/devextreme/esm/ui/list/item.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_style.js","../node_modules/devextreme/esm/ui/list/ui.list.base.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.decorator_registry.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.strategy.grouped.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.provider.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.js","../node_modules/devextreme/esm/ui/list/ui.list.edit.search.js","../node_modules/devextreme/esm/ui/list_light.js","../node_modules/devextreme/esm/ui/load_indicator.js","../node_modules/devextreme/esm/ui/load_panel.js","../node_modules/devextreme/esm/ui/number_box/utils.js","../node_modules/devextreme/esm/ui/number_box/number_box.caret.js","../node_modules/devextreme/esm/ui/number_box/number_box.spin.js","../node_modules/devextreme/esm/ui/number_box/number_box.spins.js","../node_modules/devextreme/esm/ui/number_box/number_box.base.js","../node_modules/devextreme/esm/ui/number_box/number_box.mask.js","../node_modules/devextreme/esm/ui/number_box/number_box.js","../node_modules/devextreme/esm/ui/number_box.js","../node_modules/devextreme/esm/ui/overlay/overlay_position_controller.js","../node_modules/devextreme/esm/mobile/hide_callback.js","../node_modules/devextreme/esm/ui/overlay/ui.overlay.js","../node_modules/devextreme/esm/ui/overlay/z_index.js","../node_modules/devextreme/esm/ui/popup/popup_drag.js","../node_modules/devextreme/esm/ui/resizable.js","../node_modules/devextreme/esm/ui/popup/popup_position_controller.js","../node_modules/devextreme/esm/ui/popup/popup_overflow_manager.js","../node_modules/devextreme/esm/ui/popup/ui.popup.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.pull_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scroll_view.js","../node_modules/devextreme/esm/ui/scroll_view.js","../node_modules/devextreme/esm/ui/scroll_view/animator.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.device.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.native.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.old.js","../node_modules/devextreme/esm/renovation/ui/scroll_view/utils/get_element_location_internal.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollable.simulated.js","../node_modules/devextreme/esm/ui/scroll_view/ui.scrollbar.js","../node_modules/devextreme/esm/ui/editor/ui.data_expression.js","../node_modules/devextreme/esm/ui/drop_down_editor/ui.drop_down_list.js","../node_modules/devextreme/esm/ui/select_box.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.deferred.js","../node_modules/devextreme/esm/ui/selection/selection.strategy.standard.js","../node_modules/devextreme/esm/ui/selection/selection.js","../node_modules/devextreme/esm/ui/shared/filtering.js","../node_modules/devextreme/esm/ui/shared/grouped_data_converter_mixin.js","../node_modules/devextreme/esm/ui/text_area.js","../node_modules/devextreme/esm/ui/text_box/text_box.js","../node_modules/devextreme/esm/ui/text_box.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/button.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.rule.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.clear.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/custom.js","../node_modules/devextreme/esm/ui/text_box/texteditor_button_collection/index.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.label.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.base.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.strategy.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.mask.js","../node_modules/devextreme/esm/ui/text_box/ui.text_editor.js","../node_modules/devextreme/esm/ui/text_box/utils.caret.js","../node_modules/devextreme/esm/ui/text_box/utils.scroll.js","../node_modules/devextreme/esm/ui/themes.js","../node_modules/devextreme/esm/ui/themes_callback.js","../node_modules/devextreme/esm/ui/toast/ui.toast.js","../node_modules/devextreme/esm/ui/toast.js","../node_modules/devextreme/esm/ui/toolbar/constants.js","../node_modules/devextreme/esm/ui/collection/ui.collection_widget.async.js","../node_modules/devextreme/esm/ui/toolbar/ui.toolbar.base.js","../node_modules/devextreme/esm/ui/validation_engine.js","../node_modules/devextreme/esm/ui/validation_message.js","../node_modules/devextreme/esm/ui/validation/default_adapter.js","../node_modules/devextreme/esm/ui/validator.js","../node_modules/devextreme/esm/ui/widget/selectors.js","../node_modules/devextreme/esm/ui/widget/swatch_container.js","../node_modules/devextreme/esm/ui/widget/ui.errors.js","../node_modules/devextreme/esm/ui/widget/ui.search_box_mixin.js","../node_modules/devextreme/esm/core/utils/stubs.js","../node_modules/devextreme/esm/ui/widget/ui.widget.js","../node_modules/devextreme/esm/ui/widget/utils.ink_ripple.js","../node_modules/dijkstrajs/dijkstra.js","../node_modules/encode-utf8/index.js","../node_modules/exceljs/dist/node_modules/browser-pack/_prelude.js","../node_modules/exceljs/dist/lib/csv/csv.js","../node_modules/exceljs/dist/lib/doc/anchor.js","../node_modules/exceljs/dist/lib/doc/cell.js","../node_modules/exceljs/dist/lib/doc/column.js","../node_modules/exceljs/dist/lib/doc/data-validations.js","../node_modules/exceljs/dist/lib/doc/defined-names.js","../node_modules/exceljs/dist/lib/doc/enums.js","../node_modules/exceljs/dist/lib/doc/image.js","../node_modules/exceljs/dist/lib/doc/note.js","../node_modules/exceljs/dist/lib/doc/range.js","../node_modules/exceljs/dist/lib/doc/row.js","../node_modules/exceljs/dist/lib/doc/table.js","../node_modules/exceljs/dist/lib/doc/workbook.js","../node_modules/exceljs/dist/lib/doc/worksheet.js","../node_modules/exceljs/dist/lib/exceljs.browser.js","../node_modules/exceljs/dist/lib/utils/browser-buffer-decode.js","../node_modules/exceljs/dist/lib/utils/browser-buffer-encode.js","../node_modules/exceljs/dist/lib/utils/cell-matrix.js","../node_modules/exceljs/dist/lib/utils/col-cache.js","../node_modules/exceljs/dist/lib/utils/encryptor.js","../node_modules/exceljs/dist/lib/utils/parse-sax.js","../node_modules/exceljs/dist/lib/utils/shared-formula.js","../node_modules/exceljs/dist/lib/utils/stream-buf.js","../node_modules/exceljs/dist/lib/utils/string-buf.js","../node_modules/exceljs/dist/lib/utils/under-dash.js","../node_modules/exceljs/dist/lib/utils/utils.js","../node_modules/exceljs/dist/lib/utils/xml-stream.js","../node_modules/exceljs/dist/lib/utils/zip-stream.js","../node_modules/exceljs/dist/lib/xlsx/defaultnumformats.js","../node_modules/exceljs/dist/lib/xlsx/rel-type.js","../node_modules/exceljs/dist/lib/xlsx/xform/base-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/defined-name-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/sheet-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-calc-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-view-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/book/workbook-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/comment-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/comments-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/style/vml-position-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/style/vml-protection-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-client-data-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-notes-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-shape-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/comment/vml-textbox-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/composite-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/app-heading-pairs-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/app-titles-of-parts-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/app-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/content-types-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/core-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/relationship-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/core/relationships-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/base-cell-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/blip-fill-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/blip-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/c-nv-pic-pr-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/c-nv-pr-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/cell-position-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/drawing-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/ext-lst-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/hlink-click-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/nv-pic-pr-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/one-cell-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/pic-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/sp-pr.js","../node_modules/exceljs/dist/lib/xlsx/xform/drawing/two-cell-anchor-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/list-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/auto-filter-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cell-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/databar-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/f-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/cf-rule-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/cfvo-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/color-scale-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/conditional-formatting-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/conditional-formattings-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/databar-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/ext-lst-ref-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/formula-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/cf/icon-set-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/col-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/data-validations-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/dimension-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/drawing-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/ext-lst-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/header-footer-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/hyperlink-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/merge-cell-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/merges.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/outline-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-breaks-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-margins-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-setup-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/page-setup-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/picture-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/print-options-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/row-breaks-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/row-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-format-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-properties-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-protection-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/sheet-view-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/table-part-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/sheet/worksheet-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/boolean-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/date-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/integer-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/simple/string-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/static-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/phonetic-text-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/rich-text-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/shared-string-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/shared-strings-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/strings/text-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/alignment-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/border-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/color-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/dxf-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/fill-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/font-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/numfmt-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/protection-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/style-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/styles-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/style/underline-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/auto-filter-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/filter-column-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/table-column-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/table-style-info-xform.js","../node_modules/exceljs/dist/lib/xlsx/xform/table/table-xform.js","../node_modules/exceljs/dist/lib/xlsx/xlsx.js","../node_modules/exceljs/dist/lib/xlsx/xml/theme1.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/CsvFormatterStream.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/FormatterOptions.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/formatter/FieldFormatter.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/formatter/RowFormatter.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/formatter/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/format/build/src/types.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/CsvParserStream.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/ParserOptions.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/Parser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/RowParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/Scanner.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/Token.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/ColumnFormatter.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/ColumnParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/NonQuotedColumnParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/QuotedColumnParser.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/column/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/parser/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/transforms/HeaderTransformer.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/transforms/RowTransformerValidator.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/transforms/index.js","../node_modules/exceljs/dist/node_modules/@fast-csv/parse/build/src/types.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/api.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/buffer.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/node.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/base/reporter.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/constants/der.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/constants/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/decoders/der.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/decoders/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/decoders/pem.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/encoders/der.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/encoders/index.js","../node_modules/exceljs/dist/node_modules/asn1.js/lib/asn1/encoders/pem.js","../node_modules/exceljs/dist/node_modules/asn1.js/node_modules/bn.js/lib/bn.js","../node_modules/exceljs/dist/node_modules/base64-js/index.js","../node_modules/exceljs/dist/node_modules/bn.js/lib/bn.js","../node_modules/exceljs/dist/node_modules/brorand/index.js","../node_modules/exceljs/dist/node_modules/browserify-aes/aes.js","../node_modules/exceljs/dist/node_modules/browserify-aes/authCipher.js","../node_modules/exceljs/dist/node_modules/browserify-aes/browser.js","../node_modules/exceljs/dist/node_modules/browserify-aes/decrypter.js","../node_modules/exceljs/dist/node_modules/browserify-aes/encrypter.js","../node_modules/exceljs/dist/node_modules/browserify-aes/ghash.js","../node_modules/exceljs/dist/node_modules/browserify-aes/incr32.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cbc.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cfb.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cfb1.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/cfb8.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/ctr.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/ecb.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/index.js","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/list.json","../node_modules/exceljs/dist/node_modules/browserify-aes/modes/ofb.js","../node_modules/exceljs/dist/node_modules/browserify-aes/streamCipher.js","../node_modules/exceljs/dist/node_modules/browserify-cipher/browser.js","../node_modules/exceljs/dist/node_modules/browserify-des/index.js","../node_modules/exceljs/dist/node_modules/browserify-des/modes.js","../node_modules/exceljs/dist/node_modules/browserify-rsa/index.js","../node_modules/exceljs/dist/node_modules/browserify-sign/algos.js","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/algorithms.json","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/curves.json","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/index.js","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/sign.js","../node_modules/exceljs/dist/node_modules/browserify-sign/browser/verify.js","../node_modules/exceljs/dist/node_modules/browserify-sign/node_modules/safe-buffer/index.js","../node_modules/exceljs/dist/node_modules/browserify/node_modules/buffer/index.js","../node_modules/exceljs/dist/node_modules/buffer-xor/index.js","../node_modules/exceljs/dist/node_modules/cipher-base/index.js","../node_modules/exceljs/dist/node_modules/core-js/internals/a-function.js","../node_modules/exceljs/dist/node_modules/core-js/internals/a-possible-prototype.js","../node_modules/exceljs/dist/node_modules/core-js/internals/add-to-unscopables.js","../node_modules/exceljs/dist/node_modules/core-js/internals/an-instance.js","../node_modules/exceljs/dist/node_modules/core-js/internals/an-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-includes.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-iteration.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-method-uses-to-length.js","../node_modules/exceljs/dist/node_modules/core-js/internals/array-species-create.js","../node_modules/exceljs/dist/node_modules/core-js/internals/call-with-safe-iteration-closing.js","../node_modules/exceljs/dist/node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/exceljs/dist/node_modules/core-js/internals/classof-raw.js","../node_modules/exceljs/dist/node_modules/core-js/internals/classof.js","../node_modules/exceljs/dist/node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/exceljs/dist/node_modules/core-js/internals/correct-is-regexp-logic.js","../node_modules/exceljs/dist/node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/create-property-descriptor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/define-iterator.js","../node_modules/exceljs/dist/node_modules/core-js/internals/define-well-known-symbol.js","../node_modules/exceljs/dist/node_modules/core-js/internals/descriptors.js","../node_modules/exceljs/dist/node_modules/core-js/internals/document-create-element.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-is-ios.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-user-agent.js","../node_modules/exceljs/dist/node_modules/core-js/internals/engine-v8-version.js","../node_modules/exceljs/dist/node_modules/core-js/internals/enum-bug-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/export.js","../node_modules/exceljs/dist/node_modules/core-js/internals/fails.js","../node_modules/exceljs/dist/node_modules/core-js/internals/function-bind-context.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-built-in.js","../node_modules/exceljs/dist/node_modules/core-js/internals/get-iterator-method.js","../node_modules/exceljs/dist/node_modules/core-js/internals/global.js","../node_modules/exceljs/dist/node_modules/core-js/internals/has.js","../node_modules/exceljs/dist/node_modules/core-js/internals/hidden-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/host-report-errors.js","../node_modules/exceljs/dist/node_modules/core-js/internals/html.js","../node_modules/exceljs/dist/node_modules/core-js/internals/ie8-dom-define.js","../node_modules/exceljs/dist/node_modules/core-js/internals/indexed-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/inspect-source.js","../node_modules/exceljs/dist/node_modules/core-js/internals/internal-state.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-array.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-forced.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-pure.js","../node_modules/exceljs/dist/node_modules/core-js/internals/is-regexp.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterate.js","../node_modules/exceljs/dist/node_modules/core-js/internals/iterators-core.js","../node_modules/exceljs/dist/node_modules/core-js/internals/microtask.js","../node_modules/exceljs/dist/node_modules/core-js/internals/native-promise-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/native-symbol.js","../node_modules/exceljs/dist/node_modules/core-js/internals/native-weak-map.js","../node_modules/exceljs/dist/node_modules/core-js/internals/new-promise-capability.js","../node_modules/exceljs/dist/node_modules/core-js/internals/not-a-regexp.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-assign.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-create.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-define-properties.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-define-property.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-keys-internal.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/exceljs/dist/node_modules/core-js/internals/object-to-array.js","../node_modules/exceljs/dist/node_modules/core-js/internals/own-keys.js","../node_modules/exceljs/dist/node_modules/core-js/internals/path.js","../node_modules/exceljs/dist/node_modules/core-js/internals/perform.js","../node_modules/exceljs/dist/node_modules/core-js/internals/promise-resolve.js","../node_modules/exceljs/dist/node_modules/core-js/internals/redefine-all.js","../node_modules/exceljs/dist/node_modules/core-js/internals/redefine.js","../node_modules/exceljs/dist/node_modules/core-js/internals/require-object-coercible.js","../node_modules/exceljs/dist/node_modules/core-js/internals/set-global.js","../node_modules/exceljs/dist/node_modules/core-js/internals/set-species.js","../node_modules/exceljs/dist/node_modules/core-js/internals/set-to-string-tag.js","../node_modules/exceljs/dist/node_modules/core-js/internals/shared-key.js","../node_modules/exceljs/dist/node_modules/core-js/internals/shared-store.js","../node_modules/exceljs/dist/node_modules/core-js/internals/shared.js","../node_modules/exceljs/dist/node_modules/core-js/internals/species-constructor.js","../node_modules/exceljs/dist/node_modules/core-js/internals/task.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-absolute-index.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-indexed-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-integer.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-length.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-object.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-primitive.js","../node_modules/exceljs/dist/node_modules/core-js/internals/to-string-tag-support.js","../node_modules/exceljs/dist/node_modules/core-js/internals/uid.js","../node_modules/exceljs/dist/node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/exceljs/dist/node_modules/core-js/internals/well-known-symbol-wrapped.js","../node_modules/exceljs/dist/node_modules/core-js/internals/well-known-symbol.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.find-index.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.find.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.includes.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.array.iterator.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.number.is-nan.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.assign.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.keys.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.object.values.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.promise.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.string.from-code-point.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.string.includes.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.async-iterator.js","../node_modules/exceljs/dist/node_modules/core-js/modules/es.symbol.js","../node_modules/exceljs/dist/node_modules/core-util-is/lib/util.js","../node_modules/exceljs/dist/node_modules/create-ecdh/browser.js","../node_modules/exceljs/dist/node_modules/create-hash/browser.js","../node_modules/exceljs/dist/node_modules/create-hash/md5.js","../node_modules/exceljs/dist/node_modules/create-hmac/browser.js","../node_modules/exceljs/dist/node_modules/create-hmac/legacy.js","../node_modules/exceljs/dist/node_modules/crypto-browserify/index.js","../node_modules/exceljs/dist/node_modules/dayjs/dayjs.min.js","../node_modules/exceljs/dist/node_modules/dayjs/plugin/customParseFormat.js","../node_modules/exceljs/dist/node_modules/dayjs/plugin/utc.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/cbc.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/cipher.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/des.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/ede.js","../node_modules/exceljs/dist/node_modules/des.js/lib/des/utils.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/browser.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/lib/dh.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/lib/generatePrime.js","../node_modules/exceljs/dist/node_modules/diffie-hellman/lib/primes.json","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/base.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/edwards.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/index.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/mont.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curve/short.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/curves.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/ec/index.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/ec/key.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/ec/signature.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/eddsa/index.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/eddsa/key.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/eddsa/signature.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","../node_modules/exceljs/dist/node_modules/elliptic/lib/elliptic/utils.js","../node_modules/exceljs/dist/node_modules/elliptic/package.json","../node_modules/exceljs/dist/node_modules/events/events.js","../node_modules/exceljs/dist/node_modules/evp_bytestokey/index.js","../node_modules/exceljs/dist/node_modules/fast-csv/build/src/index.js","../node_modules/exceljs/dist/node_modules/hash-base/index.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/common.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/hmac.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/ripemd.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/1.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/224.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/256.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/384.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/512.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/sha/common.js","../node_modules/exceljs/dist/node_modules/hash.js/lib/hash/utils.js","../node_modules/exceljs/dist/node_modules/hmac-drbg/lib/hmac-drbg.js","../node_modules/exceljs/dist/node_modules/ieee754/index.js","../node_modules/exceljs/dist/node_modules/immediate/lib/browser.js","../node_modules/exceljs/dist/node_modules/inherits/inherits_browser.js","../node_modules/exceljs/dist/node_modules/is-buffer/index.js","../node_modules/exceljs/dist/node_modules/isarray/index.js","../node_modules/exceljs/dist/node_modules/jszip/lib/base64.js","../node_modules/exceljs/dist/node_modules/jszip/lib/compressedObject.js","../node_modules/exceljs/dist/node_modules/jszip/lib/compressions.js","../node_modules/exceljs/dist/node_modules/jszip/lib/crc32.js","../node_modules/exceljs/dist/node_modules/jszip/lib/defaults.js","../node_modules/exceljs/dist/node_modules/jszip/lib/external.js","../node_modules/exceljs/dist/node_modules/jszip/lib/flate.js","../node_modules/exceljs/dist/node_modules/jszip/lib/generate/ZipFileWorker.js","../node_modules/exceljs/dist/node_modules/jszip/lib/generate/index.js","../node_modules/exceljs/dist/node_modules/jszip/lib/index.js","../node_modules/exceljs/dist/node_modules/jszip/lib/load.js","../node_modules/exceljs/dist/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js","../node_modules/exceljs/dist/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js","../node_modules/exceljs/dist/node_modules/jszip/lib/nodejsUtils.js","../node_modules/exceljs/dist/node_modules/jszip/lib/object.js","../node_modules/exceljs/dist/node_modules/jszip/lib/readable-stream-browser.js","../node_modules/exceljs/dist/node_modules/jszip/lib/reader/ArrayReader.js","../node_modules/exceljs/dist/node_modules/jszip/lib/reader/DataReader.js","../node_modules/exceljs/dist/node_modules/jszip/lib/reader/NodeBufferReader.js","../node_modules/exceljs/dist/node_modules/jszip/lib/reader/StringReader.js","../node_modules/exceljs/dist/node_modules/jszip/lib/reader/Uint8ArrayReader.js","../node_modules/exceljs/dist/node_modules/jszip/lib/reader/readerFor.js","../node_modules/exceljs/dist/node_modules/jszip/lib/signature.js","../node_modules/exceljs/dist/node_modules/jszip/lib/stream/ConvertWorker.js","../node_modules/exceljs/dist/node_modules/jszip/lib/stream/Crc32Probe.js","../node_modules/exceljs/dist/node_modules/jszip/lib/stream/DataLengthProbe.js","../node_modules/exceljs/dist/node_modules/jszip/lib/stream/DataWorker.js","../node_modules/exceljs/dist/node_modules/jszip/lib/stream/GenericWorker.js","../node_modules/exceljs/dist/node_modules/jszip/lib/stream/StreamHelper.js","../node_modules/exceljs/dist/node_modules/jszip/lib/support.js","../node_modules/exceljs/dist/node_modules/jszip/lib/utf8.js","../node_modules/exceljs/dist/node_modules/jszip/lib/utils.js","../node_modules/exceljs/dist/node_modules/jszip/lib/zipEntries.js","../node_modules/exceljs/dist/node_modules/jszip/lib/zipEntry.js","../node_modules/exceljs/dist/node_modules/jszip/lib/zipObject.js","../node_modules/exceljs/dist/node_modules/lie/lib/browser.js","../node_modules/exceljs/dist/node_modules/lodash.escaperegexp/index.js","../node_modules/exceljs/dist/node_modules/lodash.groupby/index.js","../node_modules/exceljs/dist/node_modules/lodash.isboolean/index.js","../node_modules/exceljs/dist/node_modules/lodash.isequal/index.js","../node_modules/exceljs/dist/node_modules/lodash.isfunction/index.js","../node_modules/exceljs/dist/node_modules/lodash.isnil/index.js","../node_modules/exceljs/dist/node_modules/lodash.isundefined/index.js","../node_modules/exceljs/dist/node_modules/lodash.uniq/index.js","../node_modules/exceljs/dist/node_modules/md5.js/index.js","../node_modules/exceljs/dist/node_modules/miller-rabin/lib/mr.js","../node_modules/exceljs/dist/node_modules/minimalistic-assert/index.js","../node_modules/exceljs/dist/node_modules/minimalistic-crypto-utils/lib/utils.js","../node_modules/exceljs/dist/node_modules/pako/index.js","../node_modules/exceljs/dist/node_modules/pako/lib/deflate.js","../node_modules/exceljs/dist/node_modules/pako/lib/inflate.js","../node_modules/exceljs/dist/node_modules/pako/lib/utils/common.js","../node_modules/exceljs/dist/node_modules/pako/lib/utils/strings.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/adler32.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/constants.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/crc32.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/deflate.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/gzheader.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/inffast.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/inflate.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/inftrees.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/messages.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/trees.js","../node_modules/exceljs/dist/node_modules/pako/lib/zlib/zstream.js","../node_modules/exceljs/dist/node_modules/parse-asn1/aesid.json","../node_modules/exceljs/dist/node_modules/parse-asn1/asn1.js","../node_modules/exceljs/dist/node_modules/parse-asn1/certificate.js","../node_modules/exceljs/dist/node_modules/parse-asn1/fixProc.js","../node_modules/exceljs/dist/node_modules/parse-asn1/index.js","../node_modules/exceljs/dist/node_modules/pbkdf2/browser.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/async.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/default-encoding.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/precondition.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/sync-browser.js","../node_modules/exceljs/dist/node_modules/pbkdf2/lib/to-buffer.js","../node_modules/exceljs/dist/node_modules/process-nextick-args/index.js","../node_modules/exceljs/dist/node_modules/process/browser.js","../node_modules/exceljs/dist/node_modules/public-encrypt/browser.js","../node_modules/exceljs/dist/node_modules/public-encrypt/mgf.js","../node_modules/exceljs/dist/node_modules/public-encrypt/privateDecrypt.js","../node_modules/exceljs/dist/node_modules/public-encrypt/publicEncrypt.js","../node_modules/exceljs/dist/node_modules/public-encrypt/withPublic.js","../node_modules/exceljs/dist/node_modules/public-encrypt/xor.js","../node_modules/exceljs/dist/node_modules/randombytes/browser.js","../node_modules/exceljs/dist/node_modules/randomfill/browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/errors-browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/state.js","../node_modules/exceljs/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js","../node_modules/exceljs/dist/node_modules/readable-stream/readable-browser.js","../node_modules/exceljs/dist/node_modules/regenerator-runtime/runtime.js","../node_modules/exceljs/dist/node_modules/ripemd160/index.js","../node_modules/exceljs/dist/node_modules/safe-buffer/index.js","../node_modules/exceljs/dist/node_modules/safer-buffer/safer.js","../node_modules/exceljs/dist/node_modules/saxes/saxes.js","../node_modules/exceljs/dist/node_modules/set-immediate-shim/index.js","../node_modules/exceljs/dist/node_modules/sha.js/hash.js","../node_modules/exceljs/dist/node_modules/sha.js/index.js","../node_modules/exceljs/dist/node_modules/sha.js/sha.js","../node_modules/exceljs/dist/node_modules/sha.js/sha1.js","../node_modules/exceljs/dist/node_modules/sha.js/sha224.js","../node_modules/exceljs/dist/node_modules/sha.js/sha256.js","../node_modules/exceljs/dist/node_modules/sha.js/sha384.js","../node_modules/exceljs/dist/node_modules/sha.js/sha512.js","../node_modules/exceljs/dist/node_modules/stream-browserify/index.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/duplex-browser.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/BufferList.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/passthrough.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/readable-browser.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/transform.js","../node_modules/exceljs/dist/node_modules/stream-browserify/node_modules/readable-stream/writable-browser.js","../node_modules/exceljs/dist/node_modules/string_decoder/lib/string_decoder.js","../node_modules/exceljs/dist/node_modules/timers-browserify/main.js","../node_modules/exceljs/dist/node_modules/util-deprecate/browser.js","../node_modules/exceljs/dist/node_modules/util/node_modules/inherits/inherits_browser.js","../node_modules/exceljs/dist/node_modules/util/support/isBufferBrowser.js","../node_modules/exceljs/dist/node_modules/util/util.js","../node_modules/exceljs/dist/node_modules/uuid/dist/index.js","../node_modules/exceljs/dist/node_modules/uuid/dist/md5-browser.js","../node_modules/exceljs/dist/node_modules/uuid/dist/nil.js","../node_modules/exceljs/dist/node_modules/uuid/dist/parse.js","../node_modules/exceljs/dist/node_modules/uuid/dist/regex.js","../node_modules/exceljs/dist/node_modules/uuid/dist/rng-browser.js","../node_modules/exceljs/dist/node_modules/uuid/dist/sha1-browser.js","../node_modules/exceljs/dist/node_modules/uuid/dist/stringify.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v1.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v3.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v35.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v4.js","../node_modules/exceljs/dist/node_modules/uuid/dist/v5.js","../node_modules/exceljs/dist/node_modules/uuid/dist/validate.js","../node_modules/exceljs/dist/node_modules/uuid/dist/version.js","../node_modules/exceljs/dist/node_modules/xmlchars/xml/1.0/ed5.js","../node_modules/exceljs/dist/node_modules/xmlchars/xml/1.1/ed2.js","../node_modules/exceljs/dist/node_modules/xmlchars/xmlns/1.0/ed3.js","../node_modules/file-saver/src/FileSaver.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/ieee754/index.js","../node_modules/inferno-create-element/dist/index.esm.js","../node_modules/inferno/dist/index.esm.js","../node_modules/isarray/index.js","../node_modules/isomorphic-unfetch/browser.js","../node_modules/js-cookie/src/js.cookie.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_assignMergeValue.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseFor.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseMerge.js","../node_modules/lodash/_baseMergeDeep.js","../node_modules/lodash/_basePickBy.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSet.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_createAssigner.js","../node_modules/lodash/_createBaseFor.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getAllKeysIn.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getSymbolsIn.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_root.js","../node_modules/lodash/_safeGet.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/constant.js","../node_modules/lodash/deburr.js","../node_modules/lodash/eq.js","../node_modules/lodash/get.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isArrayLikeObject.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isPlainObject.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/kebabCase.js","../node_modules/lodash/keys.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/memoize.js","../node_modules/lodash/merge.js","../node_modules/lodash/pickBy.js","../node_modules/lodash/property.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/toPlainObject.js","../node_modules/lodash/toString.js","../node_modules/lodash/words.js","../node_modules/murmurhash-js/murmurhash3_gc.js","../node_modules/path-to-regexp/index.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/qrcode/lib/browser.js","../node_modules/qrcode/lib/can-promise.js","../node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/qrcode/lib/core/byte-data.js","../node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/qrcode/lib/core/format-info.js","../node_modules/qrcode/lib/core/galois-field.js","../node_modules/qrcode/lib/core/kanji-data.js","../node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/qrcode/lib/core/mode.js","../node_modules/qrcode/lib/core/numeric-data.js","../node_modules/qrcode/lib/core/polynomial.js","../node_modules/qrcode/lib/core/qrcode.js","../node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/qrcode/lib/core/regex.js","../node_modules/qrcode/lib/core/segments.js","../node_modules/qrcode/lib/core/utils.js","../node_modules/qrcode/lib/core/version-check.js","../node_modules/qrcode/lib/core/version.js","../node_modules/qrcode/lib/renderer/canvas.js","../node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/qrcode/lib/renderer/utils.js","../node_modules/querystring/decode.js","../node_modules/querystring/encode.js","../node_modules/querystring/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-router/node_modules/react-is/index.js","../node_modules/react-secure-storage/dist/encryption.js","../node_modules/react-secure-storage/dist/envHelper.js","../node_modules/react-secure-storage/dist/fingerprint.js","../node_modules/react-secure-storage/dist/fingerprint.lib.js","../node_modules/react-secure-storage/dist/index.js","../node_modules/react-secure-storage/dist/localStorageHelpers.js","../node_modules/react-secure-storage/dist/utils.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/style-dictionary/lib/utils/deepExtend.js","../node_modules/style-dictionary/lib/utils/es6_.js","../node_modules/style-dictionary/lib/utils/flattenProperties.js","../node_modules/style-dictionary/lib/utils/references/createReferenceRegex.js","../node_modules/style-dictionary/lib/utils/references/defaults.js","../node_modules/style-dictionary/lib/utils/references/usesReference.js","../node_modules/tslib/tslib.es6.js","../node_modules/unfetch/src/index.mjs","../node_modules/url/node_modules/punycode/punycode.js","../node_modules/url/url.js","../node_modules/url/util.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/uuid/index.js","../node_modules/uuid/lib/bytesToUuid.js","../node_modules/uuid/lib/rng-browser.js","../node_modules/uuid/v1.js","../node_modules/uuid/v4.js","../node_modules/xstate/lib/_virtual/_tslib.js","../node_modules/xstate/lib/waitFor.js","../node_modules/zen-observable/index.js","../node_modules/zen-observable/lib/Observable.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/history/esm/history.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../node_modules/@mui/system/esm/createBox.js","../node_modules/@mui/material/Box/Box.js","../node_modules/@mui/material/internal/svg-icons/Person.js","../node_modules/@mui/material/Avatar/avatarClasses.js","../node_modules/@mui/material/Avatar/Avatar.js","../node_modules/@mui/material/List/ListContext.js","../node_modules/@mui/material/List/listClasses.js","../node_modules/@mui/material/List/List.js","../node_modules/@mui/utils/esm/getScrollbarSize.js","../node_modules/@mui/material/utils/getScrollbarSize.js","../node_modules/@mui/material/MenuList/MenuList.js","../node_modules/@mui/material/styles/getOverlayAlpha.js","../node_modules/@mui/material/Paper/paperClasses.js","../node_modules/@mui/material/Paper/Paper.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/material/Grow/Grow.js","../node_modules/@mui/base/Portal/Portal.js","../node_modules/@mui/base/Modal/ModalManager.js","../node_modules/@mui/base/FocusTrap/FocusTrap.js","../node_modules/@mui/base/Modal/modalClasses.js","../node_modules/@mui/base/utils/isHostComponent.js","../node_modules/@mui/base/utils/omitEventHandlers.js","../node_modules/@mui/base/utils/mergeSlotProps.js","../node_modules/@mui/base/utils/extractEventHandlers.js","../node_modules/@mui/base/utils/resolveComponentProps.js","../node_modules/@mui/base/utils/useSlotProps.js","../node_modules/@mui/base/utils/appendOwnerState.js","../node_modules/@mui/base/utils/ClassNameConfigurator.js","../node_modules/@mui/base/Modal/Modal.js","../node_modules/@mui/material/Fade/Fade.js","../node_modules/@mui/material/Backdrop/backdropClasses.js","../node_modules/@mui/material/Backdrop/Backdrop.js","../node_modules/@mui/material/Modal/Modal.js","../node_modules/@mui/material/Popover/popoverClasses.js","../node_modules/@mui/material/Popover/Popover.js","../node_modules/@mui/material/Menu/menuClasses.js","../node_modules/@mui/material/Menu/Menu.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@mui/material/ButtonBase/Ripple.js","../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../node_modules/@mui/material/ButtonBase/TouchRipple.js","../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../node_modules/@mui/material/ButtonBase/ButtonBase.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Divider/Divider.js","../node_modules/@mui/material/IconButton/iconButtonClasses.js","../node_modules/@mui/material/IconButton/IconButton.js","../node_modules/@mui/material/Button/buttonClasses.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/@mui/material/Button/Button.js","Home/Home.js","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/borderWidths.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/colors.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fileUploader.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/storagemanager.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/fontSizes.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/fontWeights.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/opacities.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/radii.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/space.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/time.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/defaultTheme.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/alert.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/authenticator.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/autocomplete.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/badge.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/button.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/card.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/checkbox.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/checkboxField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/collection.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/copy.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/dialCodeSelect.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/divider.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/expander.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/field.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldControl.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldGroup.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldMessages.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/flex.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/heading.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/icon.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/highlightMatch.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/image.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/inAppMessaging.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/link.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/liveness.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/loader.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/menu.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/pagination.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/passwordField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/phoneNumberField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/placeholder.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/radio.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/radioGroup.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/rating.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/searchField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/select.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/selectField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/sliderField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/stepperField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/switchField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/table.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/tabs.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/text.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/textAreaField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/textField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/toggleButton.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/toggleButtonGroup.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/fonts.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/lineHeights.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/outlineOffsets.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/outlineWidths.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/shadows.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/transforms.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/breakpoints.mjs","../node_modules/@aws-amplify/ui/dist/esm/utils/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/utils.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/createTheme.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/ThemeProvider/AmplifyContext.mjs","../node_modules/@aws-amplify/ui/dist/esm/types/primitives/componentClassName.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/hooks/useTheme.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/types/style.mjs","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/constants.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/types/theme.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/responsive/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/responsive/useBreakpoint.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/responsive/getMediaQueries.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/getStyleValue.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/styleUtils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/View/View.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Heading/Heading.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/node_modules/tslib/tslib.es6.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react/es/useActor.js","../node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react/es/useSelector.js","../node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react/es/utils.js","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/actor.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/facade.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/context/AuthenticatorContext.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/hooks/useAuthenticator/constants.mjs","../node_modules/@aws-amplify/auth/node_modules/tslib/tslib.es6.js","../node_modules/@aws-amplify/auth/src/types/Auth.ts","../node_modules/@aws-amplify/core/node_modules/tslib/tslib.es6.js","../node_modules/@aws-amplify/core/src/Util/Constants.ts","../node_modules/@aws-amplify/core/src/Logger/ConsoleLogger.ts","../node_modules/@aws-amplify/core/src/Hub.ts","../node_modules/@aws-amplify/core/src/StorageHelper/index.ts","../node_modules/@aws-amplify/core/src/JS.ts","../node_modules/@aws-amplify/core/src/Util/Retry.ts","../node_modules/@aws-amplify/core/src/OAuthHelper/GoogleOAuth.ts","../node_modules/@aws-amplify/core/src/OAuthHelper/FacebookOAuth.ts","../node_modules/@aws-amplify/core/src/OAuthHelper/index.ts","../node_modules/@aws-amplify/core/src/Amplify.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/client-cognito-identity/models/models_0.ts","../node_modules/@aws-sdk/protocol-http/src/httpResponse.ts","../node_modules/@aws-sdk/protocol-http/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/protocol-http/src/httpRequest.ts","../node_modules/@aws-sdk/client-cognito-identity/protocols/Aws_json1_1.ts","../node_modules/@aws-sdk/middleware-serde/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-serde/src/deserializerMiddleware.ts","../node_modules/@aws-sdk/middleware-serde/src/serdePlugin.ts","../node_modules/@aws-sdk/middleware-serde/src/serializerMiddleware.ts","../node_modules/@aws-sdk/middleware-stack/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-stack/src/MiddlewareStack.ts","../node_modules/@aws-sdk/smithy-client/src/client.ts","../node_modules/@aws-sdk/smithy-client/src/command.ts","../node_modules/@aws-sdk/smithy-client/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/smithy-client/src/lazy-json.ts","../node_modules/@aws-sdk/client-cognito-identity/commands/GetCredentialsForIdentityCommand.ts","../node_modules/@aws-sdk/property-provider/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/property-provider/src/ProviderError.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/resolveLogins.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/fromCognitoIdentity.ts","../node_modules/@aws-sdk/client-cognito-identity/commands/GetIdCommand.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/IndexedDbStorage.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/InMemoryStorage.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/localStorage.ts","../node_modules/@aws-sdk/credential-provider-cognito-identity/src/fromCognitoIdentityPool.ts","../node_modules/@aws-amplify/core/src/parseAWSExports.ts","../node_modules/@aws-sdk/fetch-http-handler/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/querystring-builder/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/util-uri-escape/src/escape-uri.ts","../node_modules/@aws-sdk/util-base64-browser/src/index.ts","../node_modules/@aws-sdk/fetch-http-handler/src/fetch-http-handler.ts","../node_modules/@aws-sdk/querystring-builder/src/index.ts","../node_modules/@aws-sdk/fetch-http-handler/src/request-timeout.ts","../node_modules/@aws-sdk/fetch-http-handler/src/stream-collector.ts","../node_modules/@aws-sdk/middleware-retry/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-retry/src/retryMiddleware.ts","../node_modules/@aws-sdk/service-error-classification/src/constants.ts","../node_modules/@aws-sdk/service-error-classification/src/index.ts","../node_modules/@aws-sdk/middleware-retry/src/delayDecider.ts","../node_modules/@aws-sdk/middleware-retry/src/constants.ts","../node_modules/@aws-sdk/middleware-retry/src/retryDecider.ts","../node_modules/@aws-sdk/middleware-retry/src/defaultStrategy.ts","../node_modules/@aws-sdk/middleware-retry/src/defaultRetryQuota.ts","../node_modules/@aws-sdk/middleware-retry/src/configurations.ts","../node_modules/@aws-sdk/util-user-agent-browser/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/client-cognito-identity/endpoints.ts","../node_modules/@aws-sdk/querystring-parser/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/url-parser/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/runtimeConfig.shared.ts","../node_modules/@aws-sdk/querystring-parser/src/index.ts","../node_modules/@aws-sdk/client-cognito-identity/runtimeConfig.browser.ts","../node_modules/@aws-sdk/util-body-length-browser/src/index.ts","../node_modules/@aws-sdk/util-user-agent-browser/src/index.ts","../node_modules/@aws-sdk/invalid-dependency/src/invalidProvider.ts","../node_modules/@aws-sdk/config-resolver/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/config-resolver/src/EndpointsConfig.ts","../node_modules/@aws-sdk/config-resolver/src/RegionConfig.ts","../node_modules/@aws-sdk/middleware-content-length/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-content-length/src/index.ts","../node_modules/@aws-sdk/middleware-host-header/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-host-header/src/index.ts","../node_modules/@aws-sdk/middleware-logger/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-logger/src/loggerMiddleware.ts","../node_modules/@aws-sdk/middleware-signing/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/signature-v4/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/util-hex-encoding/src/index.ts","../node_modules/@aws-sdk/signature-v4/src/constants.ts","../node_modules/@aws-sdk/signature-v4/src/credentialDerivation.ts","../node_modules/@aws-sdk/signature-v4/src/getCanonicalHeaders.ts","../node_modules/@aws-sdk/signature-v4/src/getPayloadHash.ts","../node_modules/@aws-sdk/is-array-buffer/src/index.ts","../node_modules/@aws-sdk/signature-v4/src/cloneRequest.ts","../node_modules/@aws-sdk/signature-v4/src/prepareRequest.ts","../node_modules/@aws-sdk/signature-v4/src/utilDate.ts","../node_modules/@aws-sdk/signature-v4/src/SignatureV4.ts","../node_modules/@aws-sdk/signature-v4/src/moveHeadersToQuery.ts","../node_modules/@aws-sdk/signature-v4/src/hasHeader.ts","../node_modules/@aws-sdk/signature-v4/src/getCanonicalQuery.ts","../node_modules/@aws-sdk/middleware-signing/src/configurations.ts","../node_modules/@aws-sdk/middleware-user-agent/node_modules/tslib/tslib.es6.js","../node_modules/@aws-sdk/middleware-user-agent/src/constants.ts","../node_modules/@aws-sdk/middleware-user-agent/src/user-agent-middleware.ts","../node_modules/@aws-sdk/client-cognito-identity/CognitoIdentityClient.ts","../node_modules/@aws-sdk/middleware-user-agent/src/configurations.ts","../node_modules/@aws-amplify/core/src/Platform/index.ts","../node_modules/@aws-amplify/core/src/Util/CognitoIdentityClient.ts","../node_modules/@aws-amplify/core/src/Credentials.ts","../node_modules/universal-cookie/es6/utils.js","../node_modules/universal-cookie/es6/Cookies.js","../node_modules/universal-cookie/es6/index.js","../node_modules/@aws-amplify/core/src/UniversalStorage/index.ts","../node_modules/amazon-cognito-identity-js/es/AuthenticationDetails.js","../node_modules/amazon-cognito-identity-js/es/utils/cryptoSecureRandomInt.web.js","../node_modules/amazon-cognito-identity-js/es/utils/WordArray.js","../node_modules/amazon-cognito-identity-js/es/BigInteger.js","../node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoJwtToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoAccessToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoIdToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoRefreshToken.js","../node_modules/amazon-cognito-identity-js/es/Platform/index.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserSession.js","../node_modules/amazon-cognito-identity-js/es/DateHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserAttribute.js","../node_modules/amazon-cognito-identity-js/es/StorageHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoUser.js","../node_modules/amazon-cognito-identity-js/es/UserAgent.js","../node_modules/amazon-cognito-identity-js/es/Client.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserPool.js","../node_modules/@aws-amplify/auth/src/common/AuthErrorStrings.ts","../node_modules/amazon-cognito-identity-js/es/CookieStorage.js","../node_modules/@aws-amplify/auth/src/OAuth/urlOpener.ts","../node_modules/@aws-amplify/auth/src/OAuth/OAuth.ts","../node_modules/@aws-amplify/core/src/Util/StringUtils.ts","../node_modules/@aws-amplify/auth/src/OAuth/oauthStorage.ts","../node_modules/@aws-amplify/auth/src/Errors.ts","../node_modules/@aws-amplify/auth/src/Auth.ts","../node_modules/@aws-amplify/auth/src/urlListener.ts","../node_modules/@aws-amplify/ui/dist/esm/types/authenticator/attributes.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/country-dial-codes.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/constants.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/context.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/form.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/formFields/defaults.mjs","../node_modules/@aws-amplify/core/src/I18n/I18n.ts","../node_modules/@aws-amplify/core/src/I18n/index.ts","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/de.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/en.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/es.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/fr.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/it.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/ja.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/kr.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/nl.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/pl.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/pt.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/zh.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/sv.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/id.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/tr.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/ru.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/he.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/ua.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/dictionaries/authenticator/defaultTexts.mjs","../node_modules/@aws-amplify/ui/dist/esm/i18n/translations.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/formFields/formFields.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/formFields/util.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/hooks/constants.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/hooks/useAuthenticator/utils.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/hooks/utils.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/hooks/useAuthenticator/useAuthenticator.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/utils.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/hooks/useAuthenticatorInitMachine/useAuthenticatorInitMachine.mjs","../node_modules/xstate/es/_virtual/_tslib.js","../node_modules/xstate/es/types.js","../node_modules/xstate/es/constants.js","../node_modules/xstate/es/utils.js","../node_modules/xstate/es/actionTypes.js","../node_modules/xstate/es/environment.js","../node_modules/xstate/es/stateUtils.js","../node_modules/xstate/es/actions.js","../node_modules/xstate/es/State.js","../node_modules/xstate/es/scheduler.js","../node_modules/xstate/es/serviceScope.js","../node_modules/xstate/es/Actor.js","../node_modules/xstate/es/registry.js","../node_modules/xstate/es/devTools.js","../node_modules/xstate/es/behaviors.js","../node_modules/xstate/es/interpreter.js","../node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react/es/useConstant.js","../node_modules/@aws-amplify/ui-react-core/node_modules/@xstate/react/es/useInterpret.js","../node_modules/xstate/es/invokeUtils.js","../node_modules/xstate/es/StateNode.js","../node_modules/xstate/es/Machine.js","../node_modules/xstate/es/index.js","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/actions.mjs","../node_modules/@aws-amplify/ui/dist/esm/validators/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/defaultServices.mjs","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/actors/signIn.mjs","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/actors/signOut.mjs","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/signUp.mjs","../node_modules/@aws-amplify/ui/dist/esm/machines/authenticator/actors/resetPassword.mjs","../node_modules/@aws-amplify/ui-react-core/dist/esm/Authenticator/context/AuthenticatorProvider.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/hooks/useCustomComponents/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/helpers/authenticator/textUtil.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Flex/Flex.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Loader/Loader.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Button/Button.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Text/Text.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/helpers/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/hooks/useFormHandlers/useFormHandlers.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconCheckCircle.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconError.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconInfo.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconWarning.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Alert/AlertIcon.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconClose.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Alert/Alert.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/shared/RemoteErrorMessage.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/VisuallyHidden/VisuallyHidden.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconVisibilityOff.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconVisibility.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/PasswordField/ShowPasswordButton.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Field/FieldDescription.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Field/FieldErrorMessage.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/FieldGroup/FieldGroup.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Input/Input.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Label/Label.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/utils/splitPrimitiveProps.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/utils/useLayoutEffect.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/utils/useStableId.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/TextField/TextField.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/PasswordField/PasswordField.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/icons/IconExpandMore.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Select/Select.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/SelectField/SelectField.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/PhoneNumberField/CountryCodeSelect.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/PhoneNumberField/PhoneNumberField.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/shared/ValidationErrors.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/shared/FormField.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/shared/FormFields.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/RouteContainer/RouteContainer.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/ConfirmSignUp/ConfirmSignUp.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/ForceNewPassword/ForceNewPassword.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/shared/ConfirmSignInFooter.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/SetupTOTP/SetupTOTP.mjs","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@radix-ui/primitive/dist/packages/core/primitive/src/primitive.tsx","../node_modules/@radix-ui/react-context/dist/packages/react/context/src/createContext.tsx","../node_modules/@radix-ui/react-compose-refs/dist/packages/react/compose-refs/src/composeRefs.tsx","../node_modules/@radix-ui/react-slot/dist/packages/react/slot/src/Slot.tsx","../node_modules/@radix-ui/react-use-layout-effect/dist/packages/react/use-layout-effect/src/useLayoutEffect.tsx","../node_modules/@radix-ui/react-id/dist/packages/react/id/src/id.tsx","../node_modules/@radix-ui/react-primitive/dist/packages/react/primitive/src/Primitive.tsx","../node_modules/@radix-ui/react-use-callback-ref/dist/packages/react/use-callback-ref/src/useCallbackRef.tsx","../node_modules/@radix-ui/react-use-controllable-state/dist/packages/react/use-controllable-state/src/useControllableState.tsx","../node_modules/@radix-ui/react-direction/dist/packages/react/direction/src/Direction.tsx","../node_modules/@radix-ui/react-roving-focus/dist/packages/react/roving-focus/src/RovingFocusGroup.tsx","../node_modules/@radix-ui/react-collection/dist/packages/react/collection/src/Collection.tsx","../node_modules/@radix-ui/react-presence/dist/packages/react/presence/src/Presence.tsx","../node_modules/@radix-ui/react-presence/dist/packages/react/presence/src/useStateMachine.tsx","../node_modules/@radix-ui/react-tabs/dist/packages/react/tabs/src/Tabs.tsx","../node_modules/@aws-amplify/ui/dist/esm/types/authenticator/user.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Tabs/Tabs.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Divider/Divider.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Icon/Icon.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignInButtons/FederatedSignInButton.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignIn.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/SignIn/SignIn.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/SignUp/SignUp.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/shared/SignInSignUpTabs.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/shared/TwoButtonSubmitFooter.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/VerifyUser/ConfirmVerifyUser.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/RadioGroupField/context.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Radio/Radio.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/utils/getTestId.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/RadioGroupField/RadioGroupField.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/VerifyUser/VerifyUser.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/ConfirmSignIn/ConfirmSignIn.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/ResetPassword/ConfirmResetPassword.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/ResetPassword/ResetPassword.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/Router/Router.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/hooks/useCustomComponents/defaultComponents.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/Authenticator/Authenticator.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/version.mjs","Signin/Signin.js","Signout/Signout.js","../node_modules/@fortawesome/fontawesome-svg-core/index.mjs","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/@fortawesome/pro-solid-svg-icons/index.mjs","../node_modules/@fortawesome/pro-duotone-svg-icons/index.mjs","../node_modules/@aws-amplify/api/node_modules/tslib/tslib.es6.js","../node_modules/@aws-amplify/cache/node_modules/tslib/tslib.es6.js","../node_modules/@aws-amplify/cache/src/Utils/CacheUtils.ts","../node_modules/@aws-amplify/cache/src/StorageCache.ts","../node_modules/@aws-amplify/cache/src/BrowserStorageCache.ts","../node_modules/@aws-amplify/api-rest/node_modules/tslib/tslib.es6.js","../node_modules/@aws-amplify/core/src/Util/DateUtils.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/constants.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/presignUrl.ts","../node_modules/@aws-amplify/core/src/Signer.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/signRequest.ts","../node_modules/@aws-amplify/api-rest/src/RestClient.ts","../node_modules/@aws-amplify/api-rest/src/RestAPI.ts","../node_modules/@aws-amplify/api-graphql/node_modules/tslib/tslib.es6.js","../node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/graphql/polyfills/symbols.mjs","../node_modules/graphql/language/location.mjs","../node_modules/graphql/language/printLocation.mjs","../node_modules/graphql/error/GraphQLError.mjs","../node_modules/graphql/error/syntaxError.mjs","../node_modules/graphql/language/kinds.mjs","../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../node_modules/graphql/jsutils/defineInspect.mjs","../node_modules/graphql/jsutils/invariant.mjs","../node_modules/graphql/language/ast.mjs","../node_modules/graphql/language/tokenKind.mjs","../node_modules/graphql/jsutils/inspect.mjs","../node_modules/graphql/jsutils/devAssert.mjs","../node_modules/graphql/jsutils/instanceOf.mjs","../node_modules/graphql/language/source.mjs","../node_modules/graphql/language/directiveLocation.mjs","../node_modules/graphql/language/blockString.mjs","../node_modules/graphql/language/lexer.mjs","../node_modules/graphql/language/parser.mjs","../node_modules/graphql/language/visitor.mjs","../node_modules/graphql/language/printer.mjs","../node_modules/@aws-amplify/core/src/constants.ts","../node_modules/@aws-amplify/pubsub/node_modules/tslib/tslib.es6.js","../node_modules/@aws-amplify/pubsub/src/types/PubSub.ts","../node_modules/zen-observable-ts/src/zenObservable.ts","../node_modules/@aws-amplify/core/src/index.ts","../node_modules/@aws-amplify/pubsub/src/Providers/PubSubProvider.ts","../node_modules/@aws-amplify/pubsub/src/Providers/constants.ts","../node_modules/@aws-amplify/pubsub/src/utils/ReconnectionMonitor.ts","../node_modules/@aws-amplify/core/src/Util/Reachability.ts","../node_modules/@aws-amplify/pubsub/src/utils/ReachabilityMonitor/index.ts","../node_modules/@aws-amplify/pubsub/src/utils/ConnectionStateMonitor.ts","../node_modules/@aws-amplify/api-graphql/src/types/index.ts","../node_modules/@aws-amplify/pubsub/src/Providers/AWSAppSyncRealTimeProvider/index.ts","../node_modules/@aws-amplify/pubsub/src/PubSub.ts","../node_modules/@aws-amplify/api-graphql/src/GraphQLAPI.ts","../node_modules/@aws-amplify/api/src/API.ts","Signup/Signup.js","PasswordChange/PasswordChange.js","../node_modules/devextreme/esm/ui/tag_box.js","../node_modules/devextreme/esm/data/data_source.js","../node_modules/devextreme/esm/localization/language_codes.js","../node_modules/devextreme/esm/exporter/exceljs/export_format.js","../node_modules/devextreme/esm/ui/grid_core/ui.grid_core.utils.js","../node_modules/devextreme/esm/exporter/common/export_load_panel.js","../node_modules/devextreme/esm/exporter/exceljs/export.js","../node_modules/devextreme/esm/exporter/exceljs/export_merged_ranges_manager.js","../node_modules/devextreme/esm/exporter/exceljs/export_data_grid.js","Users/Users.js","Locations/Locations.js","Clusters/Clusters.js","ClusterType/ClusterType.js","ProductCluster/ProductCluster.js","../node_modules/@fortawesome/pro-regular-svg-icons/index.mjs","aws-exports.js","../node_modules/devextreme/esm/localization.js","Main.js","reportWebVitals.js","index.js"],"sourcesContent":["import { MsSubtleCrypto } from \"./MsSubtleCrypto\";\n\ntype SubtleCryptoMethod =\n | \"decrypt\"\n | \"digest\"\n | \"encrypt\"\n | \"exportKey\"\n | \"generateKey\"\n | \"importKey\"\n | \"sign\"\n | \"verify\";\n\nconst msSubtleCryptoMethods: Array = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\n\n/**\n * The value accessible as `window.msCrypto` in Internet Explorer 11.\n */\nexport interface MsCrypto {\n getRandomValues: (toFill: Uint8Array) => void;\n subtle: MsSubtleCrypto;\n}\n\n/**\n * The `window` object in Internet Explorer 11. This interface does not\n * exhaustively document the prefixed features of `window` in IE11.\n */\nexport interface MsWindow extends Window {\n MSInputMethodContext: any;\n msCrypto: MsCrypto;\n}\n\nfunction quacksLikeAnMsWindow(window: Window): window is MsWindow {\n return \"MSInputMethodContext\" in window && \"msCrypto\" in window;\n}\n\n/**\n * Determines if the provided window is (or is like) the window object one would\n * expect to encounter in Internet Explorer 11.\n */\nexport function isMsWindow(window: Window): window is MsWindow {\n if (quacksLikeAnMsWindow(window) && window.msCrypto.subtle !== undefined) {\n const { getRandomValues, subtle } = window.msCrypto;\n return msSubtleCryptoMethods\n .map(methodName => subtle[methodName])\n .concat(getRandomValues)\n .every(method => typeof method === \"function\");\n }\n\n return false;\n}\n","export * from \"./CryptoOperation\";\nexport * from \"./Key\";\nexport * from \"./KeyOperation\";\nexport * from \"./MsSubtleCrypto\";\nexport * from \"./MsWindow\";\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const SHA_256_HASH: { name: \"SHA-256\" } = { name: \"SHA-256\" };\n\nexport const SHA_256_HMAC_ALGO: { name: \"HMAC\"; hash: { name: \"SHA-256\" } } = {\n name: \"HMAC\",\n hash: SHA_256_HASH\n};\n\nexport const EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n","import { Sha256 as Ie11Sha256 } from \"./ie11Sha256\";\nimport { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\nimport { Sha256 as JsSha256 } from \"@aws-crypto/sha256-js\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { isMsWindow } from \"@aws-crypto/ie11-detection\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Hash {\n private readonly hash: Hash;\n\n constructor(secret?: SourceData) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha256(secret);\n } else if (isMsWindow(locateWindow())) {\n this.hash = new Ie11Sha256(secret);\n } else {\n this.hash = new JsSha256(secret);\n }\n }\n\n update(data: SourceData, encoding?: \"utf8\" | \"ascii\" | \"latin1\"): void {\n this.hash.update(data, encoding);\n }\n\n digest(): Promise {\n return this.hash.digest();\n }\n}\n","import { isEmptyData } from \"./isEmptyData\";\nimport { SHA_256_HMAC_ALGO } from \"./constants\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { CryptoOperation, Key, MsWindow } from \"@aws-crypto/ie11-detection\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Hash {\n private operation: Promise;\n\n constructor(secret?: SourceData) {\n if (secret) {\n this.operation = getKeyPromise(secret).then(keyData =>\n (locateWindow() as MsWindow).msCrypto.subtle.sign(\n SHA_256_HMAC_ALGO,\n keyData\n )\n );\n this.operation.catch(() => {});\n } else {\n this.operation = Promise.resolve(\n (locateWindow() as MsWindow).msCrypto.subtle.digest(\"SHA-256\")\n );\n }\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash)) {\n return;\n }\n\n this.operation = this.operation.then(operation => {\n operation.onerror = () => {\n this.operation = Promise.reject(\n new Error(\"Error encountered updating hash\")\n );\n };\n operation.process(toArrayBufferView(toHash));\n\n return operation;\n });\n this.operation.catch(() => {});\n }\n\n digest(): Promise {\n return this.operation.then(\n operation =>\n new Promise((resolve, reject) => {\n operation.onerror = () => {\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n operation.oncomplete = () => {\n if (operation.result) {\n resolve(new Uint8Array(operation.result));\n }\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n\n operation.finish();\n })\n );\n }\n}\n\nfunction getKeyPromise(secret: SourceData): Promise {\n return new Promise((resolve, reject) => {\n const keyOperation = (locateWindow() as MsWindow).msCrypto.subtle.importKey(\n \"raw\",\n toArrayBufferView(secret),\n SHA_256_HMAC_ALGO,\n false,\n [\"sign\"]\n );\n\n keyOperation.oncomplete = () => {\n if (keyOperation.result) {\n resolve(keyOperation.result);\n }\n\n reject(new Error(\"ImportKey completed without importing key.\"));\n };\n keyOperation.onerror = () => {\n reject(new Error(\"ImportKey failed to import key.\"));\n };\n });\n}\n\nfunction toArrayBufferView(data: SourceData): Uint8Array {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","export * from \"./crossPlatformSha256\";\nexport { Sha256 as Ie11Sha256 } from \"./ie11Sha256\";\nexport { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\n","import { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","import { Hash, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nimport {\n EMPTY_DATA_SHA_256,\n SHA_256_HASH,\n SHA_256_HMAC_ALGO,\n} from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\n\nexport class Sha256 implements Hash {\n private readonly key: Promise | undefined;\n private toHash: Uint8Array = new Uint8Array(0);\n\n constructor(secret?: SourceData) {\n if (secret !== void 0) {\n this.key = new Promise((resolve, reject) => {\n locateWindow()\n .crypto.subtle.importKey(\n \"raw\",\n convertToBuffer(secret),\n SHA_256_HMAC_ALGO,\n false,\n [\"sign\"]\n )\n .then(resolve, reject);\n });\n this.key.catch(() => {});\n }\n }\n\n update(data: SourceData): void {\n if (isEmptyData(data)) {\n return;\n }\n\n const update = convertToBuffer(data);\n const typedArray = new Uint8Array(\n this.toHash.byteLength + update.byteLength\n );\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n }\n\n digest(): Promise {\n if (this.key) {\n return this.key.then((key) =>\n locateWindow()\n .crypto.subtle.sign(SHA_256_HMAC_ALGO, key, this.toHash)\n .then((data) => new Uint8Array(data))\n );\n }\n\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_256);\n }\n\n return Promise.resolve()\n .then(() =>\n locateWindow().crypto.subtle.digest(SHA_256_HASH, this.toHash)\n )\n .then((data) => Promise.resolve(new Uint8Array(data)));\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n }\n}\n","/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\n/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n","export * from \"./jsSha256\";\n","import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Hash {\n private readonly hash = new RawSha256();\n private readonly outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n if (secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\n\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n async digest(): Promise {\n return this.digestSync();\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export * from \"./supportsWebCrypto\";\n","type SubtleCryptoMethod =\n | \"decrypt\"\n | \"digest\"\n | \"encrypt\"\n | \"exportKey\"\n | \"generateKey\"\n | \"importKey\"\n | \"sign\"\n | \"verify\";\n\nconst subtleCryptoMethods: Array = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\n\nexport function supportsWebCrypto(window: Window): boolean {\n if (\n supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\"\n ) {\n const { subtle } = window.crypto;\n\n return supportsSubtleCrypto(subtle);\n }\n\n return false;\n}\n\nexport function supportsSecureRandom(window: Window): boolean {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n const { getRandomValues } = window.crypto;\n\n return typeof getRandomValues === \"function\";\n }\n\n return false;\n}\n\nexport function supportsSubtleCrypto(subtle: SubtleCrypto) {\n return (\n subtle &&\n subtleCryptoMethods.every(\n methodName => typeof subtle[methodName] === \"function\"\n )\n );\n}\n\nexport async function supportsZeroByteGCM(subtle: SubtleCrypto) {\n if (!supportsSubtleCrypto(subtle)) return false;\n try {\n const key = await subtle.generateKey(\n { name: \"AES-GCM\", length: 128 },\n false,\n [\"encrypt\"]\n );\n const zeroByteAuthTag = await subtle.encrypt(\n {\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n },\n key,\n new Uint8Array(0)\n );\n return zeroByteAuthTag.byteLength === 16;\n } catch {\n return false;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@aws-sdk/util-utf8-browser\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { convertToBuffer } from \"./convertToBuffer\";\nexport { isEmptyData } from \"./isEmptyData\";\nexport { numToUint8 } from \"./numToUint8\";\nexport {uint32ArrayFrom} from './uint32ArrayFrom';\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function numToUint8(num: number) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable: Array): Uint32Array {\n if (!Array.from) {\n const return_array = new Uint32Array(a_lookUpTable.length)\n let a_index = 0\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index]\n }\n return return_array\n }\n return Uint32Array.from(a_lookUpTable)\n}\n","const fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\n\ndeclare const TextDecoder: Function | undefined;\ndeclare const TextEncoder: Function | undefined;\n\nexport const fromUtf8 = (input: string): Uint8Array =>\n typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n\nexport const toUtf8 = (input: Uint8Array): string =>\n typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","/**\n * A declaration of the global TextEncoder and TextDecoder constructors.\n *\n * @see https://encoding.spec.whatwg.org/\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace Encoding {\n interface TextDecoderOptions {\n fatal?: boolean;\n ignoreBOM?: boolean;\n }\n\n interface TextDecodeOptions {\n stream?: boolean;\n }\n\n interface TextDecoder {\n readonly encoding: string;\n readonly fatal: boolean;\n readonly ignoreBOM: boolean;\n decode(input?: ArrayBuffer | ArrayBufferView, options?: TextDecodeOptions): string;\n }\n\n export interface TextDecoderConstructor {\n new (label?: string, options?: TextDecoderOptions): TextDecoder;\n }\n\n interface TextEncoder {\n readonly encoding: \"utf-8\";\n encode(input?: string): Uint8Array;\n }\n\n export interface TextEncoderConstructor {\n new (): TextEncoder;\n }\n}\n\ndeclare const TextDecoder: Encoding.TextDecoderConstructor;\n\ndeclare const TextEncoder: Encoding.TextEncoderConstructor;\n\nexport function fromUtf8(input: string): Uint8Array {\n return new TextEncoder().encode(input);\n}\n\nexport function toUtf8(input: Uint8Array): string {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n","/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nexport const fromUtf8 = (input: string): Uint8Array => {\n const bytes: Array = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n } else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n } else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push(\n (surrogatePair >> 18) | 0b11110000,\n ((surrogatePair >> 12) & 0b111111) | 0b10000000,\n ((surrogatePair >> 6) & 0b111111) | 0b10000000,\n (surrogatePair & 0b111111) | 0b10000000\n );\n } else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n\n return Uint8Array.from(bytes);\n};\n\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nexport const toUtf8 = (input: Uint8Array): string => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n } else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n } else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n } else {\n decoded += String.fromCharCode(\n ((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111)\n );\n }\n }\n\n return decoded;\n};\n","export const InfernoEffectHost = {\n lockCount: 0,\n lock() {\n this.lockCount++;\n },\n callbacks: [],\n callEffects() {\n this.lockCount--;\n if (this.lockCount < 0) {\n throw new Error('Unexpected Effect Call');\n }\n if (this.lockCount === 0) {\n const effects = this.callbacks;\n this.callbacks = [];\n effects.forEach((callback) => callback());\n }\n },\n};\n","import { Component, findDOMfromVNode } from 'inferno';\nimport { InfernoEffectHost } from './effect_host';\nconst areObjectsEqual = (firstObject, secondObject) => {\n const bothAreObjects = firstObject instanceof Object && secondObject instanceof Object;\n if (!bothAreObjects) {\n return firstObject === secondObject;\n }\n const firstObjectKeys = Object.keys(firstObject);\n const secondObjectKeys = Object.keys(secondObject);\n if (firstObjectKeys.length !== secondObjectKeys.length) {\n return false;\n }\n const hasDifferentElement = firstObjectKeys.some((key) => firstObject[key] !== secondObject[key]);\n return !hasDifferentElement;\n};\nexport class BaseInfernoComponent extends Component {\n constructor() {\n super(...arguments);\n this._pendingContext = this.context;\n }\n componentWillReceiveProps(_, context) {\n this._pendingContext = context !== null && context !== void 0 ? context : {};\n }\n shouldComponentUpdate(nextProps, nextState) {\n return (!areObjectsEqual(this.props, nextProps)\n || !areObjectsEqual(this.state, nextState)\n || !areObjectsEqual(this.context, this._pendingContext));\n }\n}\nexport class InfernoComponent extends BaseInfernoComponent {\n constructor() {\n super(...arguments);\n this._effects = [];\n }\n createEffects() {\n return [];\n }\n updateEffects() { }\n componentWillMount() {\n InfernoEffectHost.lock();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n componentWillUpdate(_nextProps, _nextState, _context) {\n InfernoEffectHost.lock();\n }\n componentDidMount() {\n InfernoEffectHost.callbacks.push(() => { this._effects = this.createEffects(); });\n InfernoEffectHost.callEffects();\n }\n componentDidUpdate() {\n InfernoEffectHost.callbacks.push(() => this.updateEffects());\n InfernoEffectHost.callEffects();\n }\n destroyEffects() {\n this._effects.forEach((e) => e.dispose());\n }\n componentWillUnmount() {\n this.destroyEffects();\n }\n}\nexport class InfernoWrapperComponent extends InfernoComponent {\n constructor() {\n super(...arguments);\n this.vDomElement = null;\n }\n vDomUpdateClasses() {\n const el = this.vDomElement;\n const currentClasses = el.className.length\n ? el.className.split(' ')\n : [];\n const addedClasses = currentClasses.filter((className) => el.dxClasses.previous.indexOf(className) < 0);\n const removedClasses = el.dxClasses.previous.filter((className) => currentClasses.indexOf(className) < 0);\n addedClasses.forEach((value) => {\n const indexInRemoved = el.dxClasses.removed.indexOf(value);\n if (indexInRemoved > -1) {\n el.dxClasses.removed.splice(indexInRemoved, 1);\n }\n else {\n el.dxClasses.added.push(value);\n }\n });\n removedClasses.forEach((value) => {\n const indexInAdded = el.dxClasses.added.indexOf(value);\n if (indexInAdded > -1) {\n el.dxClasses.added.splice(indexInAdded, 1);\n }\n else {\n el.dxClasses.removed.push(value);\n }\n });\n }\n componentDidMount() {\n const el = findDOMfromVNode(this.$LI, true);\n this.vDomElement = el;\n super.componentDidMount();\n el.dxClasses = el.dxClasses || {\n removed: [], added: [], previous: [],\n };\n el.dxClasses.previous = (el === null || el === void 0 ? void 0 : el.className.length) ? el.className.split(' ')\n : [];\n }\n componentDidUpdate() {\n super.componentDidUpdate();\n const el = this.vDomElement;\n if (el !== null) {\n el.dxClasses.added.forEach((className) => el.classList.add(className));\n el.dxClasses.removed.forEach((className) => el.classList.remove(className));\n el.dxClasses.previous = el.className.length\n ? el.className.split(' ')\n : [];\n }\n }\n shouldComponentUpdate(nextProps, nextState) {\n const shouldUpdate = super.shouldComponentUpdate(nextProps, nextState);\n if (shouldUpdate) {\n this.vDomUpdateClasses();\n }\n return shouldUpdate;\n }\n}\n","import { Component } from 'inferno';\nlet contextId = 0;\nexport const createContext = function (defaultValue) {\n const id = contextId++;\n return {\n id,\n defaultValue,\n Provider: class extends Component {\n getChildContext() {\n return Object.assign(Object.assign({}, this.context), { [id]: this.props.value || defaultValue });\n }\n render() {\n return this.props.children;\n }\n },\n };\n};\n","export class InfernoEffect {\n constructor(effect, dependency) {\n this.dependency = dependency;\n this.effect = effect;\n this.destroy = effect();\n }\n update(dependency) {\n const currentDependency = this.dependency;\n if (dependency) {\n this.dependency = dependency;\n }\n if (!dependency || dependency.some((d, i) => currentDependency[i] !== d)) {\n this.dispose();\n this.destroy = this.effect();\n }\n }\n dispose() {\n if (this.destroy) {\n this.destroy();\n }\n }\n}\n","import { rerender as reRender } from 'inferno';\nimport { InfernoEffect } from './effect';\nexport const createReRenderEffect = () => new InfernoEffect(() => {\n reRender();\n}, []);\n","export const ERROR_MSG = 'a runtime error occured! Use Inferno in development environment to find the error.';\nexport function isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nexport function isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nexport function isFunction(o) {\n return typeof o === 'function';\n}\nexport function isNull(o) {\n return o === null;\n}\nexport function throwError(message) {\n if (!message) {\n message = ERROR_MSG;\n }\n throw new Error(`Inferno Error: ${message}`);\n}\n","import { _CI, _HI, _M, _MCCC, _ME, _MFCC, _MP, _MR, EMPTY_OBJ, render, _RFC as renderFunctionalComponent, } from 'inferno';\nimport { isFunction, isInvalid, isNull, isNullOrUndef, throwError, } from './shared';\nfunction isSameInnerHTML(dom, innerHTML) {\n const tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\nfunction findLastDOMFromVNode(vNode) {\n let flags;\n let children;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n children = vNode.children;\n if (flags & 8192 /* Fragment */) {\n vNode = vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[children.length - 1];\n }\n else if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n else {\n vNode = children;\n }\n }\n return null;\n}\nfunction isSamePropsInnerHTML(dom, props) {\n return Boolean(props && props.dangerouslySetInnerHTML && props.dangerouslySetInnerHTML.__html && isSameInnerHTML(dom, props.dangerouslySetInnerHTML.__html));\n}\nfunction hydrateComponent(vNode, parentDOM, dom, context, isSVG, isClass, lifecycle) {\n const type = vNode.type;\n const ref = vNode.ref;\n const props = vNode.props || EMPTY_OBJ;\n let currentNode;\n if (isClass) {\n const instance = _CI(vNode, type, props, context, isSVG, lifecycle);\n const input = instance.$LI;\n currentNode = hydrateVNode(input, parentDOM, dom, instance.$CX, isSVG, lifecycle);\n _MCCC(ref, instance, lifecycle);\n }\n else {\n const input = _HI(renderFunctionalComponent(vNode, context));\n currentNode = hydrateVNode(input, parentDOM, dom, context, isSVG, lifecycle);\n vNode.children = input;\n _MFCC(vNode, lifecycle);\n }\n return currentNode;\n}\nfunction hydrateChildren(parentVNode, parentNode, currentNode, context, isSVG, lifecycle) {\n const childFlags = parentVNode.childFlags;\n const children = parentVNode.children;\n const props = parentVNode.props;\n const flags = parentVNode.flags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (isNull(currentNode)) {\n _M(children, parentNode, context, isSVG, null, lifecycle);\n }\n else {\n currentNode = hydrateVNode(children, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n }\n else if (childFlags === 16 /* HasTextChildren */) {\n if (isNull(currentNode)) {\n parentNode.appendChild(document.createTextNode(children));\n }\n else if (parentNode.childNodes.length !== 1 || currentNode.nodeType !== 3) {\n parentNode.textContent = children;\n }\n else if (currentNode.nodeValue !== children) {\n currentNode.nodeValue = children;\n }\n currentNode = null;\n }\n else if (childFlags & 12 /* MultipleChildren */) {\n let prevVNodeIsTextNode = false;\n for (let i = 0, len = children.length; i < len; ++i) {\n const child = children[i];\n if (isNull(currentNode) || (prevVNodeIsTextNode && (child.flags & 16 /* Text */) > 0)) {\n _M(child, parentNode, context, isSVG, currentNode, lifecycle);\n }\n else {\n currentNode = hydrateVNode(child, parentNode, currentNode, context, isSVG, lifecycle);\n currentNode = currentNode ? currentNode.nextSibling : null;\n }\n prevVNodeIsTextNode = (child.flags & 16 /* Text */) > 0;\n }\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n if ((flags & 8192 /* Fragment */) === 0) {\n let nextSibling = null;\n while (currentNode) {\n nextSibling = currentNode.nextSibling;\n parentNode.removeChild(currentNode);\n currentNode = nextSibling;\n }\n }\n }\n else if (!isNull(parentNode.firstChild) && !isSamePropsInnerHTML(parentNode, props)) {\n parentNode.textContent = ''; // dom has content, but VNode has no children remove everything from DOM\n if (flags & 448 /* FormElement */) {\n // If element is form element, we need to clear defaultValue also\n parentNode.defaultValue = '';\n }\n }\n}\nfunction hydrateElement(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const props = vNode.props;\n const className = vNode.className;\n const flags = vNode.flags;\n const ref = vNode.ref;\n isSVG = isSVG || (flags & 32 /* SvgElement */) > 0;\n if (dom.nodeType !== 1) {\n _ME(vNode, null, context, isSVG, null, lifecycle);\n parentDOM.replaceChild(vNode.dom, dom);\n }\n else {\n vNode.dom = dom;\n hydrateChildren(vNode, dom, dom.firstChild, context, isSVG, lifecycle);\n if (!isNull(props)) {\n _MP(vNode, flags, props, dom, isSVG);\n }\n if (isNullOrUndef(className)) {\n if (dom.className !== '') {\n dom.removeAttribute('class');\n }\n }\n else if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n _MR(ref, dom, lifecycle);\n }\n return vNode.dom;\n}\nfunction hydrateText(vNode, parentDOM, dom) {\n if (dom.nodeType !== 3) {\n parentDOM.replaceChild((vNode.dom = document.createTextNode(vNode.children)), dom);\n }\n else {\n const text = vNode.children;\n if (dom.nodeValue !== text) {\n dom.nodeValue = text;\n }\n vNode.dom = dom;\n }\n return vNode.dom;\n}\nfunction hydrateFragment(vNode, parentDOM, dom, context, isSVG, lifecycle) {\n const children = vNode.children;\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n hydrateText(children, parentDOM, dom);\n return children.dom;\n }\n hydrateChildren(vNode, parentDOM, dom, context, isSVG, lifecycle);\n return findLastDOMFromVNode(children[children.length - 1]);\n}\nfunction hydrateVNode(vNode, parentDOM, currentDom, context, isSVG, lifecycle) {\n const flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 14 /* Component */) {\n return hydrateComponent(vNode, parentDOM, currentDom, context, isSVG, (flags & 4 /* ComponentClass */) > 0, lifecycle);\n }\n if (flags & 481 /* Element */) {\n return hydrateElement(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n if (flags & 16 /* Text */) {\n return hydrateText(vNode, parentDOM, currentDom);\n }\n if (flags & 512 /* Void */) {\n return (vNode.dom = currentDom);\n }\n if (flags & 8192 /* Fragment */) {\n return hydrateFragment(vNode, parentDOM, currentDom, context, isSVG, lifecycle);\n }\n throwError();\n return null;\n}\nexport function hydrate(input, parentDOM, callback) {\n let dom = parentDOM.firstChild;\n if (isNull(dom)) {\n render(input, parentDOM, callback);\n }\n else {\n const lifecycle = [];\n if (!isInvalid(input)) {\n dom = hydrateVNode(input, parentDOM, dom, {}, false, lifecycle);\n }\n // clear any other DOM nodes, there should be only a single entry for the root\n while (dom && (dom = dom.nextSibling)) {\n parentDOM.removeChild(dom);\n }\n if (lifecycle.length > 0) {\n let listener;\n while ((listener = lifecycle.shift()) !== undefined) {\n listener();\n }\n }\n }\n parentDOM.$V = input;\n if (isFunction(callback)) {\n callback();\n }\n}\n","import { render } from 'inferno';\nimport { createElement } from 'inferno-create-element';\nconst getContainer = (props) => { var _a, _b; return ((_a = props.container) === null || _a === void 0 ? void 0 : _a.get(0)) || ((_b = props.item) === null || _b === void 0 ? void 0 : _b.get(0)); };\nexport function renderTemplate(template, props, _component) {\n setTimeout(() => {\n render(createElement(template, props), getContainer(props));\n }, 0);\n}\nexport const hasTemplate = (name, properties, _component) => {\n const value = properties[name];\n return !!value && typeof value !== 'string';\n};\n","const NUMBER_STYLES = new Set([\n 'animationIterationCount',\n 'borderImageOutset',\n 'borderImageSlice',\n 'border-imageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexNegative',\n 'flexOrder',\n 'flexPositive',\n 'flexShrink',\n 'floodOpacity',\n 'fontWeight',\n 'gridColumn',\n 'gridRow',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n]);\nconst isNumeric = (value) => {\n if (typeof value === 'number')\n return true;\n return !Number.isNaN(Number(value));\n};\nconst getNumberStyleValue = (style, value) => (NUMBER_STYLES.has(style) ? value : `${value}px`);\nconst uppercasePattern = /[A-Z]/g;\nconst kebabCase = (str) => str.replace(uppercasePattern, '-$&').toLowerCase();\nexport function normalizeStyles(styles) {\n if (!(styles instanceof Object)) {\n return undefined;\n }\n return Object\n .entries(styles)\n .reduce((acc, [key, value]) => {\n acc[kebabCase(key)] = isNumeric(value)\n ? getNumberStyleValue(key, value)\n : value;\n return acc;\n }, {});\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"\n}), 'KeyboardArrowDown');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@mui/utils\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport { deepmerge } from '@mui/utils';\nimport { darken, getContrastRatio, lighten } from '@mui/system';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport { deepmerge } from '@mui/utils';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@mui/utils\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport { deepmerge } from '@mui/utils';\nimport { createTheme as systemCreateTheme, unstable_defaultSxConfig as defaultSxConfig, unstable_styleFunctionSx as styleFunctionSx } from '@mui/system';\nimport generateUtilityClass from '../generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;","import createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;","export default '$$material';","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"variant\"];\nimport { unstable_capitalize as capitalize } from '@mui/utils';\nfunction isEmpty(string) {\n return string.length === 0;\n}\n\n/**\n * Generates string classKey based on the properties provided. It starts with the\n * variant if defined, and then it appends all other properties in alphabetical order.\n * @param {object} props - the properties for which the classKey should be created.\n */\nexport default function propsToClassKey(props) {\n const {\n variant\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let classKey = variant || '';\n Object.keys(other).sort().forEach(key => {\n if (key === 'color') {\n classKey += isEmpty(classKey) ? props[key] : capitalize(props[key]);\n } else {\n classKey += `${isEmpty(classKey) ? key : capitalize(key)}${capitalize(props[key].toString())}`;\n }\n });\n return classKey;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { getDisplayName } from '@mui/utils';\nimport createTheme from './createTheme';\nimport propsToClassKey from './propsToClassKey';\nimport styleFunctionSx from './styleFunctionSx';\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nconst getStyleOverrides = (name, theme) => {\n if (theme.components && theme.components[name] && theme.components[name].styleOverrides) {\n return theme.components[name].styleOverrides;\n }\n return null;\n};\nconst getVariantStyles = (name, theme) => {\n let variants = [];\n if (theme && theme.components && theme.components[name] && theme.components[name].variants) {\n variants = theme.components[name].variants;\n }\n const variantsStyles = {};\n variants.forEach(definition => {\n const key = propsToClassKey(definition.props);\n variantsStyles[key] = definition.style;\n });\n return variantsStyles;\n};\nconst variantsResolver = (props, styles, theme, name) => {\n var _theme$components, _theme$components$nam;\n const {\n ownerState = {}\n } = props;\n const variantsStyles = [];\n const themeVariants = theme == null ? void 0 : (_theme$components = theme.components) == null ? void 0 : (_theme$components$nam = _theme$components[name]) == null ? void 0 : _theme$components$nam.variants;\n if (themeVariants) {\n themeVariants.forEach(themeVariant => {\n let isMatch = true;\n Object.keys(themeVariant.props).forEach(key => {\n if (ownerState[key] !== themeVariant.props[key] && props[key] !== themeVariant.props[key]) {\n isMatch = false;\n }\n });\n if (isMatch) {\n variantsStyles.push(styles[propsToClassKey(themeVariant.props)]);\n }\n });\n }\n return variantsStyles;\n};\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport const systemDefaultTheme = createTheme();\nconst lowercaseFirstLetter = string => {\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n overridesResolver\n } = inputOptions,\n options = _objectWithoutPropertiesLoose(inputOptions, _excluded);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver : componentSlot && componentSlot !== 'Root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n if (componentSlot === 'Root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, _extends({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const muiStyledResolver = (styleArg, ...expressions) => {\n const expressionsWithDefaultTheme = expressions ? expressions.map(stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n return typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg ? props => {\n return stylesArg(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n } : stylesArg;\n }) : [];\n let transformedStyleArg = styleArg;\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n const styleOverrides = getStyleOverrides(componentName, theme);\n if (styleOverrides) {\n const resolvedStyleOverrides = {};\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle(_extends({}, props, {\n theme\n })) : slotStyle;\n });\n return overridesResolver(props, resolvedStyleOverrides);\n }\n return null;\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n return variantsResolver(props, getVariantStyles(componentName, theme), theme, componentName);\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n } else if (typeof styleArg === 'function' &&\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n styleArg.__emotion_real !== styleArg) {\n // If the type is function, we need to define the default theme.\n transformedStyleArg = props => styleArg(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${componentSlot || ''}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import { createStyled, shouldForwardProp } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport const rootShouldForwardProp = prop => shouldForwardProp(prop) && prop !== 'classes';\nexport const slotShouldForwardProp = shouldForwardProp;\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","import getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}","import { internal_resolveProps as resolveProps } from '@mui/utils';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","import { useThemeProps as systemUseThemeProps } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}","import { unstable_capitalize as capitalize } from '@mui/utils';\nexport default capitalize;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"inheritViewBox\", \"titleAccess\", \"viewBox\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getSvgIconUtilityClass } from './svgIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$transitions2$d, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette$ownerState$c2, _palette2, _palette2$action, _palette3, _palette3$action;\n return {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n transition: (_theme$transitions = theme.transitions) == null ? void 0 : (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {\n duration: (_theme$transitions2 = theme.transitions) == null ? void 0 : (_theme$transitions2$d = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2$d.shorter\n }),\n fontSize: {\n inherit: 'inherit',\n small: ((_theme$typography = theme.typography) == null ? void 0 : (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',\n medium: ((_theme$typography2 = theme.typography) == null ? void 0 : (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',\n large: ((_theme$typography3 = theme.typography) == null ? void 0 : (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null ? void 0 : (_palette$ownerState$c2 = _palette[ownerState.color]) == null ? void 0 : _palette$ownerState$c2.main) != null ? _palette$ownerState$c : {\n action: (_palette2 = (theme.vars || theme).palette) == null ? void 0 : (_palette2$action = _palette2.action) == null ? void 0 : _palette2$action.active,\n disabled: (_palette3 = (theme.vars || theme).palette) == null ? void 0 : (_palette3$action = _palette3.action) == null ? void 0 : _palette3$action.disabled,\n inherit: undefined\n }[ownerState.color]\n };\n});\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox\n });\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, more, other, {\n ownerState: ownerState,\n children: [children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SvgIcon from '../SvgIcon';\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, _extends({\n \"data-testid\": `${displayName}Icon`,\n ref: ref\n }, props, {\n children: path\n }));\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","import { unstable_debounce as debounce } from '@mui/utils';\nexport default debounce;","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId' + ''];\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","import { unstable_useId as useId } from '@mui/utils';\nexport default useId;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_useControlled as useControlled } from '@mui/utils';\nexport default useControlled;","/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_ownerDocument as ownerDocument } from '@mui/utils';\nexport default ownerDocument;","import { unstable_ownerWindow as ownerWindow } from '@mui/utils';\nexport default ownerWindow;","import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';\nexport default useEnhancedEffect;","import { unstable_useEventCallback as useEventCallback } from '@mui/utils';\nexport default useEventCallback;","import { unstable_useForkRef as useForkRef } from '@mui/utils';\nexport default useForkRef;","// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nlet hadFocusVisibleRecentlyTimeout;\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(() => {\n hadFocusVisibleRecently = false;\n }, 100);\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","import { unstable_useIsFocusVisible as useIsFocusVisible } from '@mui/utils';\nexport default useIsFocusVisible;","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","/**\n * @mui/styled-engine v5.12.3\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from './StyledEngineProvider';\nexport { default as GlobalStyles } from './GlobalStyles';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport { deepmerge } from '@mui/utils';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\n\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@mui/utils\";\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clamp(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return Math.min(Math.max(min, value), max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return private_safeEmphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport { deepmerge } from '@mui/utils';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n/* tslint:disable:unified-signatures */\n/* tslint:enable:unified-signatures */\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import { deepmerge } from '@mui/utils';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\n\nexport default merge;","import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import { unstable_capitalize as capitalize } from '@mui/utils';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nexport const border = style({\n prop: 'border',\n themeKey: 'borders',\n transform: borderTransform\n});\nexport const borderTop = style({\n prop: 'borderTop',\n themeKey: 'borders',\n transform: borderTransform\n});\nexport const borderRight = style({\n prop: 'borderRight',\n themeKey: 'borders',\n transform: borderTransform\n});\nexport const borderBottom = style({\n prop: 'borderBottom',\n themeKey: 'borders',\n transform: borderTransform\n});\nexport const borderLeft = style({\n prop: 'borderLeft',\n themeKey: 'borders',\n transform: borderTransform\n});\nexport const borderColor = style({\n prop: 'borderColor',\n themeKey: 'palette'\n});\nexport const borderTopColor = style({\n prop: 'borderTopColor',\n themeKey: 'palette'\n});\nexport const borderRightColor = style({\n prop: 'borderRightColor',\n themeKey: 'palette'\n});\nexport const borderBottomColor = style({\n prop: 'borderBottomColor',\n themeKey: 'palette'\n});\nexport const borderLeftColor = style({\n prop: 'borderLeftColor',\n themeKey: 'palette'\n});\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius);\nexport default borders;","import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme$breakpoi, _props$theme$breakpoi2;\n const breakpoint = ((_props$theme = props.theme) == null ? void 0 : (_props$theme$breakpoi = _props$theme.breakpoints) == null ? void 0 : (_props$theme$breakpoi2 = _props$theme$breakpoi.values) == null ? void 0 : _props$theme$breakpoi2[propValue]) || breakpointsValues[propValue];\n return {\n maxWidth: breakpoint || sizingTransform(propValue)\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import { unstable_capitalize as capitalize } from '@mui/utils';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","import * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","import createTheme from './createTheme';\nimport useThemeWithoutDefault from './useThemeWithoutDefault';\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import _formatMuiErrorMessage from \"./formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Objet.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport function isPlainObject(item) {\n return item !== null && typeof item === 'object' && item.constructor === Object;\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/utils/macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe iff we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","import ClassNameGenerator from '../ClassNameGenerator';\nconst globalStateClassesMapping = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n readOnly: 'readOnly',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClassesMapping[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from './ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","import * as React from 'react';\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","import * as React from 'react';\nimport useEnhancedEffect from './useEnhancedEffect';\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport default function useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useCallback((...args) =>\n // @ts-expect-error hide `this`\n // tslint:disable-next-line:ban-comma-operator\n (0, ref.current)(...args), []);\n}","import * as React from 'react';\nimport setRef from './setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.26.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return lowerCase(str);\n}\n\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str: string) {\n return str.toLowerCase();\n}\n","import { lowerCase } from \"lower-case\";\n\nexport interface Options {\n splitRegexp?: RegExp | RegExp[];\n stripRegexp?: RegExp | RegExp[];\n delimiter?: string;\n transform?: (part: string, index: number, parts: string[]) => string;\n}\n\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nconst DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n\n// Remove all non-word characters.\nconst DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input: string, options: Options = {}) {\n const {\n splitRegexp = DEFAULT_SPLIT_REGEXP,\n stripRegexp = DEFAULT_STRIP_REGEXP,\n transform = lowerCase,\n delimiter = \" \",\n } = options;\n\n let result = replace(\n replace(input, splitRegexp, \"$1\\0$2\"),\n stripRegexp,\n \"\\0\"\n );\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input: string, re: RegExp | RegExp[], value: string) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce((input, re) => input.replace(re, value), input);\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function pascalCaseTransform(input: string, index: number) {\n const firstChar = input.charAt(0);\n const lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return `_${firstChar}${lowerChars}`;\n }\n return `${firstChar.toUpperCase()}${lowerChars}`;\n}\n\nexport function pascalCaseTransformMerge(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\n\nexport function pascalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"\",\n transform: pascalCaseTransform,\n ...options,\n });\n}\n","import {\n pascalCase,\n pascalCaseTransform,\n pascalCaseTransformMerge,\n Options,\n} from \"pascal-case\";\n\nexport { Options };\n\nexport function camelCaseTransform(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\n\nexport function camelCaseTransformMerge(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\n\nexport function camelCase(input: string, options: Options = {}) {\n return pascalCase(input, {\n transform: camelCaseTransform,\n ...options,\n });\n}\n","/**\n * Upper case the first character of an input string.\n */\nexport function upperCaseFirst(input: string) {\n return input.charAt(0).toUpperCase() + input.substr(1);\n}\n","import { noCase, Options } from \"no-case\";\nimport { upperCaseFirst } from \"upper-case-first\";\n\nexport { Options };\n\nexport function capitalCaseTransform(input: string) {\n return upperCaseFirst(input.toLowerCase());\n}\n\nexport function capitalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \" \",\n transform: capitalCaseTransform,\n ...options,\n });\n}\n","/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record = {\n tr: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n az: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n lt: {\n regexp: /[\\u0069\\u006A\\u012F]\\u0307|\\u0069\\u0307[\\u0300\\u0301\\u0303]/g,\n map: {\n i̇: \"\\u0049\",\n j̇: \"\\u004A\",\n į̇: \"\\u012E\",\n i̇̀: \"\\u00CC\",\n i̇́: \"\\u00CD\",\n i̇̃: \"\\u0128\",\n },\n },\n};\n\n/**\n * Localized upper case.\n */\nexport function localeUpperCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return upperCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return upperCase(str);\n}\n\n/**\n * Upper case as a function.\n */\nexport function upperCase(str: string) {\n return str.toUpperCase();\n}\n","import { noCase, Options } from \"no-case\";\nimport { upperCase } from \"upper-case\";\n\nexport { Options };\n\nexport function constantCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"_\",\n transform: upperCase,\n ...options,\n });\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function dotCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \".\",\n ...options,\n });\n}\n","import { capitalCase, Options } from \"capital-case\";\n\nexport { Options };\n\nexport function headerCase(input: string, options: Options = {}) {\n return capitalCase(input, {\n delimiter: \"-\",\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function paramCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"-\",\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function pathCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"/\",\n ...options,\n });\n}\n","import { noCase, Options } from \"no-case\";\nimport { upperCaseFirst } from \"upper-case-first\";\n\nexport { Options };\n\nexport function sentenceCaseTransform(input: string, index: number) {\n const result = input.toLowerCase();\n if (index === 0) return upperCaseFirst(result);\n return result;\n}\n\nexport function sentenceCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \" \",\n transform: sentenceCaseTransform,\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function snakeCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"_\",\n ...options,\n });\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(';')\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('=')\n\n // skip things that don't look like key=value\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim()\n\n // only assign once\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim()\n\n // quoted values\n if (val[0] === '\"') {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var BlockCipher = C_lib.BlockCipher;\n\t var C_algo = C.algo;\n\n\t // Lookup tables\n\t var SBOX = [];\n\t var INV_SBOX = [];\n\t var SUB_MIX_0 = [];\n\t var SUB_MIX_1 = [];\n\t var SUB_MIX_2 = [];\n\t var SUB_MIX_3 = [];\n\t var INV_SUB_MIX_0 = [];\n\t var INV_SUB_MIX_1 = [];\n\t var INV_SUB_MIX_2 = [];\n\t var INV_SUB_MIX_3 = [];\n\n\t // Compute lookup tables\n\t (function () {\n\t // Compute double table\n\t var d = [];\n\t for (var i = 0; i < 256; i++) {\n\t if (i < 128) {\n\t d[i] = i << 1;\n\t } else {\n\t d[i] = (i << 1) ^ 0x11b;\n\t }\n\t }\n\n\t // Walk GF(2^8)\n\t var x = 0;\n\t var xi = 0;\n\t for (var i = 0; i < 256; i++) {\n\t // Compute sbox\n\t var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n\t sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n\t SBOX[x] = sx;\n\t INV_SBOX[sx] = x;\n\n\t // Compute multiplication\n\t var x2 = d[x];\n\t var x4 = d[x2];\n\t var x8 = d[x4];\n\n\t // Compute sub bytes, mix columns tables\n\t var t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n\t SUB_MIX_0[x] = (t << 24) | (t >>> 8);\n\t SUB_MIX_1[x] = (t << 16) | (t >>> 16);\n\t SUB_MIX_2[x] = (t << 8) | (t >>> 24);\n\t SUB_MIX_3[x] = t;\n\n\t // Compute inv sub bytes, inv mix columns tables\n\t var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n\t INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);\n\t INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);\n\t INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);\n\t INV_SUB_MIX_3[sx] = t;\n\n\t // Compute next counter\n\t if (!x) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t }());\n\n\t // Precomputed Rcon lookup\n\t var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n\t /**\n\t * AES block cipher algorithm.\n\t */\n\t var AES = C_algo.AES = BlockCipher.extend({\n\t _doReset: function () {\n\t var t;\n\n\t // Skip reset of nRounds has been set before and key did not change\n\t if (this._nRounds && this._keyPriorReset === this._key) {\n\t return;\n\t }\n\n\t // Shortcuts\n\t var key = this._keyPriorReset = this._key;\n\t var keyWords = key.words;\n\t var keySize = key.sigBytes / 4;\n\n\t // Compute number of rounds\n\t var nRounds = this._nRounds = keySize + 6;\n\n\t // Compute number of key schedule rows\n\t var ksRows = (nRounds + 1) * 4;\n\n\t // Compute key schedule\n\t var keySchedule = this._keySchedule = [];\n\t for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n\t if (ksRow < keySize) {\n\t keySchedule[ksRow] = keyWords[ksRow];\n\t } else {\n\t t = keySchedule[ksRow - 1];\n\n\t if (!(ksRow % keySize)) {\n\t // Rot word\n\t t = (t << 8) | (t >>> 24);\n\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\n\t // Mix Rcon\n\t t ^= RCON[(ksRow / keySize) | 0] << 24;\n\t } else if (keySize > 6 && ksRow % keySize == 4) {\n\t // Sub word\n\t t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\t }\n\n\t keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n\t }\n\t }\n\n\t // Compute inv key schedule\n\t var invKeySchedule = this._invKeySchedule = [];\n\t for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n\t var ksRow = ksRows - invKsRow;\n\n\t if (invKsRow % 4) {\n\t var t = keySchedule[ksRow];\n\t } else {\n\t var t = keySchedule[ksRow - 4];\n\t }\n\n\t if (invKsRow < 4 || ksRow <= 4) {\n\t invKeySchedule[invKsRow] = t;\n\t } else {\n\t invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^\n\t INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n\t }\n\t }\n\t },\n\n\t encryptBlock: function (M, offset) {\n\t this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n\t },\n\n\t decryptBlock: function (M, offset) {\n\t // Swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\n\t this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n\t // Inv swap 2nd and 4th rows\n\t var t = M[offset + 1];\n\t M[offset + 1] = M[offset + 3];\n\t M[offset + 3] = t;\n\t },\n\n\t _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n\t // Shortcut\n\t var nRounds = this._nRounds;\n\n\t // Get input, add round key\n\t var s0 = M[offset] ^ keySchedule[0];\n\t var s1 = M[offset + 1] ^ keySchedule[1];\n\t var s2 = M[offset + 2] ^ keySchedule[2];\n\t var s3 = M[offset + 3] ^ keySchedule[3];\n\n\t // Key schedule row counter\n\t var ksRow = 4;\n\n\t // Rounds\n\t for (var round = 1; round < nRounds; round++) {\n\t // Shift rows, sub bytes, mix columns, add round key\n\t var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n\t // Update state\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\n\t // Shift rows, sub bytes, add round key\n\t var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n\t // Set output\n\t M[offset] = t0;\n\t M[offset + 1] = t1;\n\t M[offset + 2] = t2;\n\t M[offset + 3] = t3;\n\t },\n\n\t keySize: 256/32\n\t });\n\n\t /**\n\t * Shortcut functions to the cipher's object interface.\n\t *\n\t * @example\n\t *\n\t * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n\t * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n\t */\n\t C.AES = BlockCipher._createHelper(AES);\n\t}());\n\n\n\treturn CryptoJS.AES;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./evpkdf\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./evpkdf\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher core components.\n\t */\n\tCryptoJS.lib.Cipher || (function (undefined) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var Base64 = C_enc.Base64;\n\t var C_algo = C.algo;\n\t var EvpKDF = C_algo.EvpKDF;\n\n\t /**\n\t * Abstract base cipher template.\n\t *\n\t * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n\t * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n\t * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n\t * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n\t */\n\t var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {WordArray} iv The IV to use for this operation.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Creates this cipher in encryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createEncryptor: function (key, cfg) {\n\t return this.create(this._ENC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Creates this cipher in decryption mode.\n\t *\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {Cipher} A cipher instance.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n\t */\n\t createDecryptor: function (key, cfg) {\n\t return this.create(this._DEC_XFORM_MODE, key, cfg);\n\t },\n\n\t /**\n\t * Initializes a newly created cipher.\n\t *\n\t * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @example\n\t *\n\t * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n\t */\n\t init: function (xformMode, key, cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Store transform mode and key\n\t this._xformMode = xformMode;\n\t this._key = key;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this cipher to its initial state.\n\t *\n\t * @example\n\t *\n\t * cipher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-cipher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Adds data to be encrypted or decrypted.\n\t *\n\t * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.process('data');\n\t * var encrypted = cipher.process(wordArray);\n\t */\n\t process: function (dataUpdate) {\n\t // Append\n\t this._append(dataUpdate);\n\n\t // Process available blocks\n\t return this._process();\n\t },\n\n\t /**\n\t * Finalizes the encryption or decryption process.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n\t *\n\t * @return {WordArray} The data after final processing.\n\t *\n\t * @example\n\t *\n\t * var encrypted = cipher.finalize();\n\t * var encrypted = cipher.finalize('data');\n\t * var encrypted = cipher.finalize(wordArray);\n\t */\n\t finalize: function (dataUpdate) {\n\t // Final data update\n\t if (dataUpdate) {\n\t this._append(dataUpdate);\n\t }\n\n\t // Perform concrete-cipher logic\n\t var finalProcessedData = this._doFinalize();\n\n\t return finalProcessedData;\n\t },\n\n\t keySize: 128/32,\n\n\t ivSize: 128/32,\n\n\t _ENC_XFORM_MODE: 1,\n\n\t _DEC_XFORM_MODE: 2,\n\n\t /**\n\t * Creates shortcut functions to a cipher's object interface.\n\t *\n\t * @param {Cipher} cipher The cipher to create a helper for.\n\t *\n\t * @return {Object} An object with encrypt and decrypt shortcut functions.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n\t */\n\t _createHelper: (function () {\n\t function selectCipherStrategy(key) {\n\t if (typeof key == 'string') {\n\t return PasswordBasedCipher;\n\t } else {\n\t return SerializableCipher;\n\t }\n\t }\n\n\t return function (cipher) {\n\t return {\n\t encrypt: function (message, key, cfg) {\n\t return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n\t },\n\n\t decrypt: function (ciphertext, key, cfg) {\n\t return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n\t }\n\t };\n\t };\n\t }())\n\t });\n\n\t /**\n\t * Abstract base stream cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n\t */\n\t var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n\t _doFinalize: function () {\n\t // Process partial blocks\n\t var finalProcessedBlocks = this._process(!!'flush');\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 1\n\t });\n\n\t /**\n\t * Mode namespace.\n\t */\n\t var C_mode = C.mode = {};\n\n\t /**\n\t * Abstract base block cipher mode template.\n\t */\n\t var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n\t /**\n\t * Creates this mode for encryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n\t */\n\t createEncryptor: function (cipher, iv) {\n\t return this.Encryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Creates this mode for decryption.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n\t */\n\t createDecryptor: function (cipher, iv) {\n\t return this.Decryptor.create(cipher, iv);\n\t },\n\n\t /**\n\t * Initializes a newly created mode.\n\t *\n\t * @param {Cipher} cipher A block cipher instance.\n\t * @param {Array} iv The IV words.\n\t *\n\t * @example\n\t *\n\t * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n\t */\n\t init: function (cipher, iv) {\n\t this._cipher = cipher;\n\t this._iv = iv;\n\t }\n\t });\n\n\t /**\n\t * Cipher Block Chaining mode.\n\t */\n\t var CBC = C_mode.CBC = (function () {\n\t /**\n\t * Abstract base CBC mode.\n\t */\n\t var CBC = BlockCipherMode.extend();\n\n\t /**\n\t * CBC encryptor.\n\t */\n\t CBC.Encryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // XOR and encrypt\n\t xorBlock.call(this, words, offset, blockSize);\n\t cipher.encryptBlock(words, offset);\n\n\t // Remember this block to use with next block\n\t this._prevBlock = words.slice(offset, offset + blockSize);\n\t }\n\t });\n\n\t /**\n\t * CBC decryptor.\n\t */\n\t CBC.Decryptor = CBC.extend({\n\t /**\n\t * Processes the data block at offset.\n\t *\n\t * @param {Array} words The data words to operate on.\n\t * @param {number} offset The offset where the block starts.\n\t *\n\t * @example\n\t *\n\t * mode.processBlock(data.words, offset);\n\t */\n\t processBlock: function (words, offset) {\n\t // Shortcuts\n\t var cipher = this._cipher;\n\t var blockSize = cipher.blockSize;\n\n\t // Remember this block to use with next block\n\t var thisBlock = words.slice(offset, offset + blockSize);\n\n\t // Decrypt and XOR\n\t cipher.decryptBlock(words, offset);\n\t xorBlock.call(this, words, offset, blockSize);\n\n\t // This block becomes the previous block\n\t this._prevBlock = thisBlock;\n\t }\n\t });\n\n\t function xorBlock(words, offset, blockSize) {\n\t var block;\n\n\t // Shortcut\n\t var iv = this._iv;\n\n\t // Choose mixing block\n\t if (iv) {\n\t block = iv;\n\n\t // Remove IV for subsequent blocks\n\t this._iv = undefined;\n\t } else {\n\t block = this._prevBlock;\n\t }\n\n\t // XOR blocks\n\t for (var i = 0; i < blockSize; i++) {\n\t words[offset + i] ^= block[i];\n\t }\n\t }\n\n\t return CBC;\n\t }());\n\n\t /**\n\t * Padding namespace.\n\t */\n\t var C_pad = C.pad = {};\n\n\t /**\n\t * PKCS #5/7 padding strategy.\n\t */\n\t var Pkcs7 = C_pad.Pkcs7 = {\n\t /**\n\t * Pads data using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to pad.\n\t * @param {number} blockSize The multiple that the data should be padded to.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n\t */\n\t pad: function (data, blockSize) {\n\t // Shortcut\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count padding bytes\n\t var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t // Create padding word\n\t var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;\n\n\t // Create padding\n\t var paddingWords = [];\n\t for (var i = 0; i < nPaddingBytes; i += 4) {\n\t paddingWords.push(paddingWord);\n\t }\n\t var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n\t // Add padding\n\t data.concat(padding);\n\t },\n\n\t /**\n\t * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n\t *\n\t * @param {WordArray} data The data to unpad.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * CryptoJS.pad.Pkcs7.unpad(wordArray);\n\t */\n\t unpad: function (data) {\n\t // Get number of padding bytes from last byte\n\t var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t // Remove padding\n\t data.sigBytes -= nPaddingBytes;\n\t }\n\t };\n\n\t /**\n\t * Abstract base block cipher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n\t */\n\t var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Mode} mode The block mode to use. Default: CBC\n\t * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n\t */\n\t cfg: Cipher.cfg.extend({\n\t mode: CBC,\n\t padding: Pkcs7\n\t }),\n\n\t reset: function () {\n\t var modeCreator;\n\n\t // Reset cipher\n\t Cipher.reset.call(this);\n\n\t // Shortcuts\n\t var cfg = this.cfg;\n\t var iv = cfg.iv;\n\t var mode = cfg.mode;\n\n\t // Reset block mode\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t modeCreator = mode.createEncryptor;\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t modeCreator = mode.createDecryptor;\n\t // Keep at least one block in the buffer for unpadding\n\t this._minBufferSize = 1;\n\t }\n\n\t if (this._mode && this._mode.__creator == modeCreator) {\n\t this._mode.init(this, iv && iv.words);\n\t } else {\n\t this._mode = modeCreator.call(mode, this, iv && iv.words);\n\t this._mode.__creator = modeCreator;\n\t }\n\t },\n\n\t _doProcessBlock: function (words, offset) {\n\t this._mode.processBlock(words, offset);\n\t },\n\n\t _doFinalize: function () {\n\t var finalProcessedBlocks;\n\n\t // Shortcut\n\t var padding = this.cfg.padding;\n\n\t // Finalize\n\t if (this._xformMode == this._ENC_XFORM_MODE) {\n\t // Pad data\n\t padding.pad(this._data, this.blockSize);\n\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\t } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t // Process final blocks\n\t finalProcessedBlocks = this._process(!!'flush');\n\n\t // Unpad data\n\t padding.unpad(finalProcessedBlocks);\n\t }\n\n\t return finalProcessedBlocks;\n\t },\n\n\t blockSize: 128/32\n\t });\n\n\t /**\n\t * A collection of cipher parameters.\n\t *\n\t * @property {WordArray} ciphertext The raw ciphertext.\n\t * @property {WordArray} key The key to this ciphertext.\n\t * @property {WordArray} iv The IV used in the ciphering operation.\n\t * @property {WordArray} salt The salt used with a key derivation function.\n\t * @property {Cipher} algorithm The cipher algorithm.\n\t * @property {Mode} mode The block mode used in the ciphering operation.\n\t * @property {Padding} padding The padding scheme used in the ciphering operation.\n\t * @property {number} blockSize The block size of the cipher.\n\t * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n\t */\n\t var CipherParams = C_lib.CipherParams = Base.extend({\n\t /**\n\t * Initializes a newly created cipher params object.\n\t *\n\t * @param {Object} cipherParams An object with any of the possible cipher parameters.\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.lib.CipherParams.create({\n\t * ciphertext: ciphertextWordArray,\n\t * key: keyWordArray,\n\t * iv: ivWordArray,\n\t * salt: saltWordArray,\n\t * algorithm: CryptoJS.algo.AES,\n\t * mode: CryptoJS.mode.CBC,\n\t * padding: CryptoJS.pad.PKCS7,\n\t * blockSize: 4,\n\t * formatter: CryptoJS.format.OpenSSL\n\t * });\n\t */\n\t init: function (cipherParams) {\n\t this.mixIn(cipherParams);\n\t },\n\n\t /**\n\t * Converts this cipher params object to a string.\n\t *\n\t * @param {Format} formatter (Optional) The formatting strategy to use.\n\t *\n\t * @return {string} The stringified cipher params.\n\t *\n\t * @throws Error If neither the formatter nor the default formatter is set.\n\t *\n\t * @example\n\t *\n\t * var string = cipherParams + '';\n\t * var string = cipherParams.toString();\n\t * var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n\t */\n\t toString: function (formatter) {\n\t return (formatter || this.formatter).stringify(this);\n\t }\n\t });\n\n\t /**\n\t * Format namespace.\n\t */\n\t var C_format = C.format = {};\n\n\t /**\n\t * OpenSSL formatting strategy.\n\t */\n\t var OpenSSLFormatter = C_format.OpenSSL = {\n\t /**\n\t * Converts a cipher params object to an OpenSSL-compatible string.\n\t *\n\t * @param {CipherParams} cipherParams The cipher params object.\n\t *\n\t * @return {string} The OpenSSL-compatible string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n\t */\n\t stringify: function (cipherParams) {\n\t var wordArray;\n\n\t // Shortcuts\n\t var ciphertext = cipherParams.ciphertext;\n\t var salt = cipherParams.salt;\n\n\t // Format\n\t if (salt) {\n\t wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n\t } else {\n\t wordArray = ciphertext;\n\t }\n\n\t return wordArray.toString(Base64);\n\t },\n\n\t /**\n\t * Converts an OpenSSL-compatible string to a cipher params object.\n\t *\n\t * @param {string} openSSLStr The OpenSSL-compatible string.\n\t *\n\t * @return {CipherParams} The cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n\t */\n\t parse: function (openSSLStr) {\n\t var salt;\n\n\t // Parse base64\n\t var ciphertext = Base64.parse(openSSLStr);\n\n\t // Shortcut\n\t var ciphertextWords = ciphertext.words;\n\n\t // Test for salt\n\t if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n\t // Extract salt\n\t salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n\t // Remove salt from ciphertext\n\t ciphertextWords.splice(0, 4);\n\t ciphertext.sigBytes -= 16;\n\t }\n\n\t return CipherParams.create({ ciphertext: ciphertext, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n\t */\n\t var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n\t */\n\t cfg: Base.extend({\n\t format: OpenSSLFormatter\n\t }),\n\n\t /**\n\t * Encrypts a message.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Encrypt\n\t var encryptor = cipher.createEncryptor(key, cfg);\n\t var ciphertext = encryptor.finalize(message);\n\n\t // Shortcut\n\t var cipherCfg = encryptor.cfg;\n\n\t // Create and return serializable cipher params\n\t return CipherParams.create({\n\t ciphertext: ciphertext,\n\t key: key,\n\t iv: cipherCfg.iv,\n\t algorithm: cipher,\n\t mode: cipherCfg.mode,\n\t padding: cipherCfg.padding,\n\t blockSize: cipher.blockSize,\n\t formatter: cfg.format\n\t });\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {WordArray} key The key.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, key, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Decrypt\n\t var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n\t return plaintext;\n\t },\n\n\t /**\n\t * Converts serialized ciphertext to CipherParams,\n\t * else assumed CipherParams already and returns ciphertext unchanged.\n\t *\n\t * @param {CipherParams|string} ciphertext The ciphertext.\n\t * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n\t *\n\t * @return {CipherParams} The unserialized ciphertext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n\t */\n\t _parse: function (ciphertext, format) {\n\t if (typeof ciphertext == 'string') {\n\t return format.parse(ciphertext, this);\n\t } else {\n\t return ciphertext;\n\t }\n\t }\n\t });\n\n\t /**\n\t * Key derivation function namespace.\n\t */\n\t var C_kdf = C.kdf = {};\n\n\t /**\n\t * OpenSSL key derivation function.\n\t */\n\t var OpenSSLKdf = C_kdf.OpenSSL = {\n\t /**\n\t * Derives a key and IV from a password.\n\t *\n\t * @param {string} password The password to derive from.\n\t * @param {number} keySize The size in words of the key to generate.\n\t * @param {number} ivSize The size in words of the IV to generate.\n\t * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n\t *\n\t * @return {CipherParams} A cipher params object with the key, IV, and salt.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n\t * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n\t */\n\t execute: function (password, keySize, ivSize, salt, hasher) {\n\t // Generate random salt\n\t if (!salt) {\n\t salt = WordArray.random(64/8);\n\t }\n\n\t // Derive key and IV\n\t if (!hasher) {\n\t var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);\n\t } else {\n\t var key = EvpKDF.create({ keySize: keySize + ivSize, hasher: hasher }).compute(password, salt);\n\t }\n\n\n\t // Separate key and IV\n\t var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n\t key.sigBytes = keySize * 4;\n\n\t // Return params\n\t return CipherParams.create({ key: key, iv: iv, salt: salt });\n\t }\n\t };\n\n\t /**\n\t * A serializable cipher wrapper that derives the key from a password,\n\t * and returns ciphertext as a serializable cipher params object.\n\t */\n\t var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n\t */\n\t cfg: SerializableCipher.cfg.extend({\n\t kdf: OpenSSLKdf\n\t }),\n\n\t /**\n\t * Encrypts a message using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {WordArray|string} message The message to encrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {CipherParams} A cipher params object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n\t * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t encrypt: function (cipher, message, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Encrypt\n\t var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n\t // Mix in derived params\n\t ciphertext.mixIn(derivedParams);\n\n\t return ciphertext;\n\t },\n\n\t /**\n\t * Decrypts serialized ciphertext using a password.\n\t *\n\t * @param {Cipher} cipher The cipher algorithm to use.\n\t * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t * @param {string} password The password.\n\t * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t *\n\t * @return {WordArray} The plaintext.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n\t * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n\t */\n\t decrypt: function (cipher, ciphertext, password, cfg) {\n\t // Apply config defaults\n\t cfg = this.cfg.extend(cfg);\n\n\t // Convert string to CipherParams\n\t ciphertext = this._parse(ciphertext, cfg.format);\n\n\t // Derive key and other params\n\t var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);\n\n\t // Add IV to config\n\t cfg.iv = derivedParams.iv;\n\n\t // Decrypt\n\t var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n\t return plaintext;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Utf8;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var WordArray = C_lib.WordArray;\n\t var C_algo = C.algo;\n\t var MD5 = C_algo.MD5;\n\n\t /**\n\t * This key derivation function is meant to conform with EVP_BytesToKey.\n\t * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n\t */\n\t var EvpKDF = C_algo.EvpKDF = Base.extend({\n\t /**\n\t * Configuration options.\n\t *\n\t * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n\t * @property {number} iterations The number of iterations to perform. Default: 1\n\t */\n\t cfg: Base.extend({\n\t keySize: 128/32,\n\t hasher: MD5,\n\t iterations: 1\n\t }),\n\n\t /**\n\t * Initializes a newly created key derivation function.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t *\n\t * @example\n\t *\n\t * var kdf = CryptoJS.algo.EvpKDF.create();\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n\t * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n\t */\n\t init: function (cfg) {\n\t this.cfg = this.cfg.extend(cfg);\n\t },\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @example\n\t *\n\t * var key = kdf.compute(password, salt);\n\t */\n\t compute: function (password, salt) {\n\t var block;\n\n\t // Shortcut\n\t var cfg = this.cfg;\n\n\t // Init hasher\n\t var hasher = cfg.hasher.create();\n\n\t // Initial values\n\t var derivedKey = WordArray.create();\n\n\t // Shortcuts\n\t var derivedKeyWords = derivedKey.words;\n\t var keySize = cfg.keySize;\n\t var iterations = cfg.iterations;\n\n\t // Generate key\n\t while (derivedKeyWords.length < keySize) {\n\t if (block) {\n\t hasher.update(block);\n\t }\n\t block = hasher.update(password).finalize(salt);\n\t hasher.reset();\n\n\t // Iterations\n\t for (var i = 1; i < iterations; i++) {\n\t block = hasher.finalize(block);\n\t hasher.reset();\n\t }\n\n\t derivedKey.concat(block);\n\t }\n\t derivedKey.sigBytes = keySize * 4;\n\n\t return derivedKey;\n\t }\n\t });\n\n\t /**\n\t * Derives a key from a password.\n\t *\n\t * @param {WordArray|string} password The password.\n\t * @param {WordArray|string} salt A salt.\n\t * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t *\n\t * @return {WordArray} The derived key.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var key = CryptoJS.EvpKDF(password, salt);\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n\t * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n\t */\n\t C.EvpKDF = function (password, salt, cfg) {\n\t return EvpKDF.create(cfg).compute(password, salt);\n\t };\n\t}());\n\n\n\treturn CryptoJS.EvpKDF;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Constants table\n\t var T = [];\n\n\t // Compute constants\n\t (function () {\n\t for (var i = 0; i < 64; i++) {\n\t T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t }\n\t }());\n\n\t /**\n\t * MD5 hash algorithm.\n\t */\n\t var MD5 = C_algo.MD5 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t // Shortcuts\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\n\t M[offset_i] = (\n\t (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n\t );\n\t }\n\n\t // Shortcuts\n\t var H = this._hash.words;\n\n\t var M_offset_0 = M[offset + 0];\n\t var M_offset_1 = M[offset + 1];\n\t var M_offset_2 = M[offset + 2];\n\t var M_offset_3 = M[offset + 3];\n\t var M_offset_4 = M[offset + 4];\n\t var M_offset_5 = M[offset + 5];\n\t var M_offset_6 = M[offset + 6];\n\t var M_offset_7 = M[offset + 7];\n\t var M_offset_8 = M[offset + 8];\n\t var M_offset_9 = M[offset + 9];\n\t var M_offset_10 = M[offset + 10];\n\t var M_offset_11 = M[offset + 11];\n\t var M_offset_12 = M[offset + 12];\n\t var M_offset_13 = M[offset + 13];\n\t var M_offset_14 = M[offset + 14];\n\t var M_offset_15 = M[offset + 15];\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\n\t // Computation\n\t a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n\t d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n\t c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n\t b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n\t a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n\t d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n\t c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n\t b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n\t a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n\t d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n\t c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n\t d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n\t d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n\t c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n\t a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n\t d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n\t c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n\t a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n\t d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n\t c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n\t b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n\t a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n\t d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n\t c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n\t b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n\t d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n\t c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n\t d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n\t c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n\t b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n\t d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n\t c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n\t b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n\t a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n\t d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n\t a = II(a, b, c, d, M_offset_0, 6, T[48]);\n\t d = II(d, a, b, c, M_offset_7, 10, T[49]);\n\t c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t b = II(b, c, d, a, M_offset_5, 21, T[51]);\n\t a = II(a, b, c, d, M_offset_12, 6, T[52]);\n\t d = II(d, a, b, c, M_offset_3, 10, T[53]);\n\t c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t b = II(b, c, d, a, M_offset_1, 21, T[55]);\n\t a = II(a, b, c, d, M_offset_8, 6, T[56]);\n\t d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t c = II(c, d, a, b, M_offset_6, 15, T[58]);\n\t b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t a = II(a, b, c, d, M_offset_4, 6, T[60]);\n\t d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t c = II(c, d, a, b, M_offset_2, 15, T[62]);\n\t b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t var nBitsTotalL = nBitsTotal;\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00)\n\t );\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00)\n\t );\n\n\t data.sigBytes = (dataWords.length + 1) * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Shortcuts\n\t var hash = this._hash;\n\t var H = hash.words;\n\n\t // Swap endian\n\t for (var i = 0; i < 4; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\n\t H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n\t (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n\t }\n\n\t // Return final computed hash\n\t return hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t function FF(a, b, c, d, x, s, t) {\n\t var n = a + ((b & c) | (~b & d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function GG(a, b, c, d, x, s, t) {\n\t var n = a + ((b & d) | (c & ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function HH(a, b, c, d, x, s, t) {\n\t var n = a + (b ^ c ^ d) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t function II(a, b, c, d, x, s, t) {\n\t var n = a + (c ^ (b | ~d)) + x + t;\n\t return ((n << s) | (n >>> (32 - s))) + b;\n\t }\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.MD5('message');\n\t * var hash = CryptoJS.MD5(wordArray);\n\t */\n\t C.MD5 = Hasher._createHelper(MD5);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacMD5(message, key);\n\t */\n\t C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-1 hash algorithm.\n\t */\n\t var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476,\n\t 0xc3d2e1f0\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\n\t // Computation\n\t for (var i = 0; i < 80; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t W[i] = (n << 1) | (n >>> 31);\n\t }\n\n\t var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t if (i < 20) {\n\t t += ((b & c) | (~b & d)) + 0x5a827999;\n\t } else if (i < 40) {\n\t t += (b ^ c ^ d) + 0x6ed9eba1;\n\t } else if (i < 60) {\n\t t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t } else /* if (i < 80) */ {\n\t t += (b ^ c ^ d) - 0x359d3e2a;\n\t }\n\n\t e = d;\n\t d = c;\n\t c = (b << 30) | (b >>> 2);\n\t b = a;\n\t a = t;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA1('message');\n\t * var hash = CryptoJS.SHA1(wordArray);\n\t */\n\t C.SHA1 = Hasher._createHelper(SHA1);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA1(message, key);\n\t */\n\t C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckBox = void 0;\nvar check_box_1 = require(\"devextreme/ui/check_box\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar CheckBox = /** @class */ (function (_super) {\n __extends(CheckBox, _super);\n function CheckBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = check_box_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onInitialized\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(CheckBox.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return CheckBox;\n}(component_1.Component));\nexports.CheckBox = CheckBox;\nCheckBox.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n enableThreeStateBehavior: PropTypes.bool,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n iconSize: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n isValid: PropTypes.bool,\n name: PropTypes.string,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValueChanged: PropTypes.func,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = CheckBox;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.ComponentBase = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar templates_renderer_1 = require(\"./templates-renderer\");\nvar templates_store_1 = require(\"./templates-store\");\nvar options_manager_1 = require(\"./options-manager\");\nvar widget_config_1 = require(\"./widget-config\");\nvar tree_1 = require(\"./configuration/react/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar DX_REMOVE_EVENT = 'dxremove';\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase(props) {\n var _this = _super.call(this, props) || this;\n _this.isPortalComponent = false;\n _this._templateProps = [];\n _this._childNodes = [];\n _this.useRequestAnimationFrameFlag = false;\n _this.useDeferUpdateForTemplates = false;\n _this._setTemplatesRendererRef = _this._setTemplatesRendererRef.bind(_this);\n _this._createWidget = _this._createWidget.bind(_this);\n _this._templatesStore = new templates_store_1.TemplatesStore(function () {\n if (_this._templatesRendererRef) {\n _this._templatesRendererRef.scheduleUpdate(_this.useDeferUpdateForTemplates);\n }\n });\n _this._templatesManager = new templates_manager_1.default(_this._templatesStore);\n _this._optionsManager = new options_manager_1.OptionsManager(_this._templatesManager);\n return _this;\n }\n ComponentBase.displayContentsStyle = function () {\n return utils_1.isIE()\n ? {\n width: '100%',\n height: '100%',\n padding: 0,\n margin: 0,\n }\n : { display: 'contents' };\n };\n ComponentBase.prototype.componentDidMount = function () {\n var _a;\n var _b;\n if ((_b = this._childNodes) === null || _b === void 0 ? void 0 : _b.length) {\n (_a = this._element).append.apply(_a, this._childNodes);\n }\n else if (this._element.childNodes.length) {\n this._childNodes = Array.from(this._element.childNodes);\n }\n this._updateCssClasses(null, this.props);\n };\n ComponentBase.prototype.componentDidUpdate = function (prevProps) {\n this._updateCssClasses(prevProps, this.props);\n var config = this._getConfig();\n this._optionsManager.update(config);\n if (this._templatesRendererRef) {\n this._templatesRendererRef.scheduleUpdate(this.useDeferUpdateForTemplates, options_manager_1.scheduleGuards);\n }\n options_manager_1.unscheduleGuards();\n };\n ComponentBase.prototype.componentWillUnmount = function () {\n var _a;\n if (this._instance) {\n (_a = this._childNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child); });\n events.triggerHandler(this._element, DX_REMOVE_EVENT);\n this._instance.dispose();\n }\n this._optionsManager.dispose();\n };\n ComponentBase.prototype._createWidget = function (element) {\n element = element || this._element;\n var config = this._getConfig();\n this._instance = new this._WidgetClass(element, __assign({ templatesRenderAsynchronously: true }, this._optionsManager.getInitialOptions(config)));\n if (!this.useRequestAnimationFrameFlag) {\n this.useDeferUpdateForTemplates = this._instance.option('integrationOptions.useDeferUpdateForTemplates');\n }\n this._optionsManager.setInstance(this._instance, config, this.subscribableOptions, this.independentEvents);\n this._instance.on('optionChanged', this._optionsManager.onOptionChanged);\n };\n ComponentBase.prototype._getConfig = function () {\n return tree_1.buildConfigTree({\n templates: this._templateProps,\n initialValuesProps: this._defaults,\n predefinedValuesProps: {},\n expectedChildren: this._expectedChildren,\n }, this.props);\n };\n ComponentBase.prototype._setTemplatesRendererRef = function (instance) {\n this._templatesRendererRef = instance;\n };\n ComponentBase.prototype._getElementProps = function () {\n var _this = this;\n var elementProps = {\n ref: function (element) { _this._element = element; },\n };\n widget_config_1.elementPropNames.forEach(function (name) {\n var props = _this.props;\n if (name in props) {\n elementProps[name] = props[name];\n }\n });\n return elementProps;\n };\n ComponentBase.prototype._updateCssClasses = function (prevProps, newProps) {\n var _a, _b;\n var prevClassName = prevProps ? widget_config_1.getClassName(prevProps) : undefined;\n var newClassName = widget_config_1.getClassName(newProps);\n if (prevClassName === newClassName) {\n return;\n }\n if (prevClassName) {\n var classNames = prevClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_a = this._element.classList).remove.apply(_a, classNames);\n }\n }\n if (newClassName) {\n var classNames = newClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_b = this._element.classList).add.apply(_b, classNames);\n }\n }\n };\n ComponentBase.prototype.renderChildren = function () {\n var children = this.props.children;\n return children;\n };\n ComponentBase.prototype.renderContent = function () {\n var _this = this;\n var children = this.props.children;\n return this.isPortalComponent && children\n ? React.createElement('div', {\n ref: function (node) {\n if (node && _this.portalContainer !== node) {\n _this.portalContainer = node;\n _this.forceUpdate();\n }\n },\n style: ComponentBase.displayContentsStyle(),\n })\n : this.renderChildren();\n };\n ComponentBase.prototype.renderPortal = function () {\n return this.portalContainer && react_dom_1.createPortal(this.renderChildren(), this.portalContainer);\n };\n ComponentBase.prototype.render = function () {\n return React.createElement(React.Fragment, {}, React.createElement('div', this._getElementProps(), this.renderContent(), React.createElement(templates_renderer_1.TemplatesRenderer, {\n templatesStore: this._templatesStore,\n ref: this._setTemplatesRendererRef,\n })), this.isPortalComponent && this.renderPortal());\n };\n return ComponentBase;\n}(React.PureComponent));\nexports.ComponentBase = ComponentBase;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Component = void 0;\nvar React = require(\"react\");\nvar component_base_1 = require(\"./component-base\");\nvar extension_component_1 = require(\"./extension-component\");\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n function Component(props) {\n var _this = _super.call(this, props) || this;\n _this._extensionCreators = [];\n _this._registerExtension = _this._registerExtension.bind(_this);\n return _this;\n }\n Component.prototype.componentDidMount = function () {\n _super.prototype.componentDidMount.call(this);\n this._createWidget();\n this._createExtensions();\n };\n Component.prototype.componentWillUnmount = function () {\n _super.prototype.componentWillUnmount.call(this);\n this.clearExtensions();\n };\n Component.prototype.clearExtensions = function () {\n this._extensionCreators = [];\n };\n Component.prototype.renderChildren = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n if (child && Object.prototype.isPrototypeOf.call(extension_component_1.ExtensionComponent, child.type)) {\n return React.cloneElement(child, { onMounted: _this._registerExtension });\n }\n return child;\n });\n };\n Component.prototype._registerExtension = function (creator) {\n this._extensionCreators.push(creator);\n };\n Component.prototype._createExtensions = function () {\n var _this = this;\n this._extensionCreators.forEach(function (creator) { return creator(_this._element); });\n };\n return Component;\n}(component_base_1.ComponentBase));\nexports.Component = Component;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOption = void 0;\nvar config = {\n useLegacyTemplateEngine: false,\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChanges = void 0;\nvar tree_1 = require(\"./tree\");\nvar utils_1 = require(\"./utils\");\nfunction compareTemplates(current, prev, changesAccum) {\n var currentTemplatesOptions = {};\n var currentTemplates = {};\n var prevTemplatesOptions = {};\n var prevTemplates = {};\n tree_1.buildTemplates(current, currentTemplatesOptions, currentTemplates);\n tree_1.buildTemplates(prev, prevTemplatesOptions, prevTemplates);\n changesAccum.addRemovedValues(currentTemplatesOptions, prevTemplatesOptions, current.fullName);\n // TODO: support switching to default templates\n // appendRemovedValues(currentTemplates, prevTemplates, \"\", changesAccum.templates);\n Object.keys(currentTemplatesOptions).forEach(function (key) {\n if (currentTemplatesOptions[key] === prevTemplatesOptions[key]) {\n return;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = currentTemplatesOptions[key];\n });\n Object.keys(currentTemplates).forEach(function (key) {\n var currentTemplate = currentTemplates[key];\n var prevTemplate = prevTemplates[key];\n if (prevTemplate && currentTemplate.content === prevTemplate.content) {\n return;\n }\n changesAccum.templates[key] = currentTemplate;\n });\n}\nfunction compare(current, prev, changesAccum) {\n if (!prev) {\n changesAccum.options[current.fullName] = tree_1.buildNode(current, changesAccum.templates, true);\n return;\n }\n changesAccum.addRemovedValues(current.options, prev.options, current.fullName);\n changesAccum.addRemovedValues(current.configCollections, prev.configCollections, current.fullName);\n changesAccum.addRemovedValues(current.configs, prev.configs, current.fullName);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n compareCollections(current, prev, changesAccum);\n Object.keys(current.configs).forEach(function (key) {\n compare(current.configs[key], prev.configs[key], changesAccum);\n });\n Object.keys(current.options).forEach(function (key) {\n if (current.options[key] === prev.options[key]) {\n return;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = current.options[key];\n });\n compareTemplates(current, prev, changesAccum);\n}\nfunction appendRemovedValues(current, prev, path, changesAccum) {\n var removedKeys = Object.keys(prev).filter(function (key) { return Object.keys(current).indexOf(key) < 0; });\n removedKeys.forEach(function (key) {\n changesAccum.push(utils_1.mergeNameParts(path, key));\n });\n}\nfunction getChanges(current, prev) {\n var changesAccum = {\n options: {},\n removedOptions: [],\n templates: {},\n addRemovedValues: function (currentOptions, prevOptions, path) {\n appendRemovedValues(currentOptions, prevOptions, path, this.removedOptions);\n },\n };\n compare(current, prev, changesAccum);\n return changesAccum;\n}\nexports.getChanges = getChanges;\nfunction compareCollections(current, prev, changesAccum) {\n Object.keys(current.configCollections).forEach(function (key) {\n var currentCollection = current.configCollections[key];\n var prevCollection = prev.configCollections[key] || [];\n if (!currentCollection || currentCollection.length !== prevCollection.length) {\n var updatedCollection_1 = [];\n currentCollection.forEach(function (item) {\n var config = tree_1.buildNode(item, changesAccum.templates, true);\n updatedCollection_1.push(config);\n });\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = updatedCollection_1;\n return;\n }\n for (var i = 0; i < currentCollection.length; i += 1) {\n compare(currentCollection[i], prevCollection[i], changesAccum);\n }\n });\n}\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ElementType = exports.getElementInfo = void 0;\nvar template_1 = require(\"../../template\");\nvar ElementType;\n(function (ElementType) {\n ElementType[ElementType[\"Option\"] = 0] = \"Option\";\n ElementType[ElementType[\"Template\"] = 1] = \"Template\";\n ElementType[ElementType[\"Unknown\"] = 2] = \"Unknown\";\n})(ElementType || (ElementType = {}));\nexports.ElementType = ElementType;\nfunction getElementInfo(element, parentExpectedChildren) {\n var reactElement = element;\n if (!reactElement || !reactElement.type) {\n return {\n type: ElementType.Unknown,\n };\n }\n if (reactElement.type === template_1.Template) {\n return {\n type: ElementType.Template,\n props: reactElement.props,\n };\n }\n var elementDescriptor = reactElement.type;\n if (elementDescriptor.OptionName) {\n var name_1 = elementDescriptor.OptionName;\n var isCollectionItem = elementDescriptor.IsCollectionItem;\n var expectation = parentExpectedChildren && parentExpectedChildren[name_1];\n if (expectation) {\n isCollectionItem = expectation.isCollectionItem;\n if (expectation.optionName) {\n name_1 = expectation.optionName;\n }\n }\n return {\n type: ElementType.Option,\n descriptor: {\n name: name_1,\n isCollection: isCollectionItem,\n templates: elementDescriptor.TemplateProps || [],\n initialValuesProps: elementDescriptor.DefaultsProps || {},\n predefinedValuesProps: elementDescriptor.PredefinedProps || {},\n expectedChildren: elementDescriptor.ExpectedChildren || {},\n },\n props: reactElement.props,\n };\n }\n return {\n type: ElementType.Unknown,\n };\n}\nexports.getElementInfo = getElementInfo;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNamedTemplate = exports.getAnonymousTemplate = void 0;\nfunction getAnonymousTemplate(props, templateMeta, hasTranscludedContent) {\n if (templateMeta.tmplOption === 'template' && hasTranscludedContent) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'children',\n content: props.children,\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.render]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'render',\n content: props[templateMeta.render],\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.component]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'component',\n content: props[templateMeta.component],\n keyFn: props[templateMeta.keyFn],\n };\n }\n return null;\n}\nexports.getAnonymousTemplate = getAnonymousTemplate;\nfunction getNamedTemplate(props) {\n if (!props.name) {\n return null;\n }\n if (props.component) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'component',\n content: props.component,\n keyFn: props.keyFn,\n };\n }\n if (props.render) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'render',\n content: props.render,\n keyFn: props.keyFn,\n };\n }\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'children',\n content: props.children,\n keyFn: props.keyFn,\n };\n}\nexports.getNamedTemplate = getNamedTemplate;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildConfigTree = exports.processChildren = void 0;\nvar React = require(\"react\");\nvar widget_config_1 = require(\"../../widget-config\");\nvar element_1 = require(\"./element\");\nvar utils_1 = require(\"../utils\");\nvar templates_1 = require(\"./templates\");\nfunction processChildren(parentElement, parentFullName) {\n var templates = [];\n var configCollections = {};\n var configs = {};\n var hasTranscludedContent = false;\n React.Children.map(parentElement.props.children, function (child) {\n var element = element_1.getElementInfo(child, parentElement.descriptor.expectedChildren);\n if (element.type === element_1.ElementType.Unknown) {\n if (child !== null && child !== undefined && child !== false) {\n hasTranscludedContent = true;\n }\n return;\n }\n if (element.type === element_1.ElementType.Template) {\n var template = templates_1.getNamedTemplate(element.props);\n if (template) {\n templates.push(template);\n }\n return;\n }\n if (element.descriptor.isCollection) {\n var collection = configCollections[element.descriptor.name];\n if (!collection) {\n collection = [];\n configCollections[element.descriptor.name] = collection;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var collectionItem = createConfigNode(element, utils_1.mergeNameParts(parentFullName, element.descriptor.name) + \"[\" + collection.length + \"]\");\n collection.push(collectionItem);\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var configNode = createConfigNode(element, parentFullName);\n configs[element.descriptor.name] = configNode;\n });\n return {\n configs: configs,\n configCollections: configCollections,\n templates: templates,\n hasTranscludedContent: hasTranscludedContent,\n };\n}\nexports.processChildren = processChildren;\nfunction createConfigNode(element, path) {\n var fullName = element.descriptor.isCollection\n ? path\n : utils_1.mergeNameParts(path, element.descriptor.name);\n var separatedValues = widget_config_1.separateProps(element.props, element.descriptor.initialValuesProps, element.descriptor.templates);\n var childrenData = processChildren(element, fullName);\n element.descriptor.templates.forEach(function (templateMeta) {\n var template = templates_1.getAnonymousTemplate(element.props, templateMeta, path.length > 0 ? childrenData.hasTranscludedContent : false);\n if (template) {\n childrenData.templates.push(template);\n }\n });\n return {\n fullName: fullName,\n predefinedOptions: element.descriptor.predefinedValuesProps,\n initialOptions: separatedValues.defaults,\n options: separatedValues.options,\n templates: childrenData.templates,\n configCollections: childrenData.configCollections,\n configs: childrenData.configs,\n };\n}\nfunction buildConfigTree(widgetDescriptor, props) {\n return createConfigNode({\n type: element_1.ElementType.Option,\n descriptor: __assign({ name: '', isCollection: false }, widgetDescriptor),\n props: props,\n }, '');\n}\nexports.buildConfigTree = buildConfigTree;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findValueInObject = exports.findValue = exports.buildTemplates = exports.buildNode = exports.buildConfig = exports.ValueType = void 0;\nvar utils_1 = require(\"./utils\");\nfunction buildTemplates(node, optionsAccum, templatesAccum) {\n node.templates.forEach(function (template) {\n if (template.isAnonymous) {\n var templateName = utils_1.mergeNameParts(node.fullName, template.optionName);\n optionsAccum[template.optionName] = templateName;\n templatesAccum[templateName] = template;\n }\n else {\n templatesAccum[template.optionName] = template;\n }\n });\n}\nexports.buildTemplates = buildTemplates;\nfunction buildNode(node, templatesAccum, ignoreInitialValues) {\n var result = {};\n Object.keys(node.predefinedOptions).forEach(function (key) {\n result[key] = node.predefinedOptions[key];\n });\n Object.keys(node.configs).forEach(function (key) {\n result[key] = buildNode(node.configs[key], templatesAccum, ignoreInitialValues);\n });\n Object.keys(node.configCollections).forEach(function (key) {\n result[key] = node.configCollections[key].map(function (item) { return buildNode(item, templatesAccum, ignoreInitialValues); });\n });\n if (!ignoreInitialValues) {\n Object.keys(node.initialOptions).forEach(function (key) {\n result[key] = node.initialOptions[key];\n });\n }\n Object.keys(node.options).forEach(function (key) {\n result[key] = node.options[key];\n });\n buildTemplates(node, result, templatesAccum);\n return result;\n}\nexports.buildNode = buildNode;\nfunction buildConfig(root, ignoreInitialValues) {\n var templatesAccum = {};\n var options = buildNode(root, templatesAccum, ignoreInitialValues);\n return {\n templates: templatesAccum,\n options: options,\n };\n}\nexports.buildConfig = buildConfig;\nvar ValueType;\n(function (ValueType) {\n ValueType[ValueType[\"Simple\"] = 0] = \"Simple\";\n ValueType[ValueType[\"Complex\"] = 1] = \"Complex\";\n ValueType[ValueType[\"Array\"] = 2] = \"Array\";\n})(ValueType || (ValueType = {}));\nexports.ValueType = ValueType;\nfunction findValueInObject(obj, path) {\n var key = path.shift();\n if (!key) {\n return {\n value: obj,\n type: ValueType.Simple,\n };\n }\n if (obj instanceof Object && Object.keys(obj).includes(key)) {\n return findValueInObject(obj[key], path);\n }\n return undefined;\n}\nexports.findValueInObject = findValueInObject;\nfunction findValue(node, path) {\n var name = path.shift();\n if (!name) {\n return {\n value: buildConfig(node, true).options,\n type: ValueType.Complex,\n };\n }\n var optionInfo = utils_1.parseOptionName(name);\n if (optionInfo.name in node.options) {\n var options = optionInfo.isCollectionItem\n ? node.options[optionInfo.name][optionInfo.index]\n : node.options[optionInfo.name];\n return findValueInObject(options, path);\n }\n if (optionInfo.isCollectionItem) {\n var collection = node.configCollections[optionInfo.name];\n if (!collection) {\n return undefined;\n }\n var item = collection[optionInfo.index];\n if (!item) {\n return undefined;\n }\n return findValue(item, path);\n }\n var child = node.configs[optionInfo.name];\n if (child) {\n return findValue(child, path);\n }\n var childCollection = node.configCollections[optionInfo.name];\n if (childCollection) {\n if (path.length !== 0) {\n return undefined;\n }\n return {\n value: childCollection.map(function (item) { return buildNode(item, {}, true); }),\n type: ValueType.Array,\n };\n }\n return undefined;\n}\nexports.findValue = findValue;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shallowEquals = exports.isIE = exports.parseOptionName = exports.mergeNameParts = void 0;\nfunction mergeNameParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.filter(function (value) { return value; }).join('.');\n}\nexports.mergeNameParts = mergeNameParts;\nfunction parseOptionName(name) {\n var parts = name.split('[');\n if (parts.length === 1) {\n return {\n isCollectionItem: false,\n name: name,\n };\n }\n return {\n isCollectionItem: true,\n name: parts[0],\n index: Number(parts[1].slice(0, -1)),\n };\n}\nexports.parseOptionName = parseOptionName;\nvar isIE = function () {\n var _a, _b;\n var ua = (_b = (_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) !== null && _b !== void 0 ? _b : ''; // Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE'); // IE 10 or older\n var trident = ua.indexOf('Trident/'); // IE 11\n return (msie > 0 || trident > 0);\n};\nexports.isIE = isIE;\nvar shallowEquals = function (first, second) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n return Object.keys(first).every(function (key) { return first[key] === second[key]; });\n};\nexports.shallowEquals = shallowEquals;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDxTemplate = void 0;\nvar React = require(\"react\");\nvar events = require(\"devextreme/events\");\nvar helpers_1 = require(\"./helpers\");\nvar template_wrapper_1 = require(\"./template-wrapper\");\nvar component_base_1 = require(\"./component-base\");\nfunction unwrapElement(element) {\n return element.get ? element.get(0) : element;\n}\nfunction createDxTemplate(createContentProvider, templatesStore, keyFn) {\n var renderedTemplates = new helpers_1.DoubleKeyMap();\n return {\n render: function (data) {\n var container = unwrapElement(data.container);\n var key = { key1: data.model, key2: container };\n var prevTemplateId = renderedTemplates.get(key);\n var templateId;\n var onRemoved = function () {\n templatesStore.setDeferredRemove(templateId, true);\n renderedTemplates.delete(key);\n };\n var _subscribeOnContainerRemoval = function () {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.one(container, component_base_1.DX_REMOVE_EVENT, onRemoved);\n }\n };\n var _unsubscribeOnContainerRemoval = function () {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.off(container, component_base_1.DX_REMOVE_EVENT, onRemoved);\n }\n };\n if (prevTemplateId) {\n templateId = prevTemplateId;\n }\n else {\n templateId = keyFn ? keyFn(data.model) : \"__template_\" + helpers_1.generateID();\n if (data.model !== undefined) {\n renderedTemplates.set(key, templateId);\n }\n }\n _subscribeOnContainerRemoval();\n templatesStore.add(templateId, function () {\n var props = {\n data: data.model,\n index: data.index,\n };\n var contentProvider = createContentProvider();\n return React.createElement(template_wrapper_1.TemplateWrapper, {\n content: contentProvider(props),\n container: container,\n onRemoved: onRemoved,\n onDidMount: function () {\n var _a;\n _unsubscribeOnContainerRemoval();\n templatesStore.setDeferredRemove(templateId, false);\n (_a = data.onRendered) === null || _a === void 0 ? void 0 : _a.call(data);\n },\n key: templateId,\n });\n });\n return container;\n },\n };\n}\nexports.createDxTemplate = createDxTemplate;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExtensionComponent = void 0;\nvar component_base_1 = require(\"./component-base\");\nvar ExtensionComponent = /** @class */ (function (_super) {\n __extends(ExtensionComponent, _super);\n function ExtensionComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExtensionComponent.prototype.componentDidMount = function () {\n var onMounted = this.props.onMounted;\n if (onMounted) {\n onMounted(this._createWidget);\n }\n else {\n this._createWidget();\n }\n };\n return ExtensionComponent;\n}(component_base_1.ComponentBase));\nexports.ExtensionComponent = ExtensionComponent;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.capitalizeFirstLetter = exports.DoubleKeyMap = exports.generateID = void 0;\nfunction generateID() {\n return Math.random().toString(36).substr(2);\n}\nexports.generateID = generateID;\nvar DoubleKeyMap = /** @class */ (function () {\n function DoubleKeyMap() {\n this._map = new Map();\n }\n DoubleKeyMap.prototype.set = function (_a, value) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n innerMap = new Map();\n this._map.set(key1, innerMap);\n }\n innerMap.set(key2, value);\n };\n DoubleKeyMap.prototype.get = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n return innerMap ? innerMap.get(key2) : undefined;\n };\n DoubleKeyMap.prototype.delete = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n return;\n }\n innerMap.delete(key2);\n if (innerMap.size === 0) {\n this._map.delete(key1);\n }\n };\n return DoubleKeyMap;\n}());\nexports.DoubleKeyMap = DoubleKeyMap;\nfunction capitalizeFirstLetter(text) {\n if (text.length) {\n return \"\" + text[0].toUpperCase() + text.substr(1);\n }\n return '';\n}\nexports.capitalizeFirstLetter = capitalizeFirstLetter;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar element_1 = require(\"./configuration/react/element\");\nvar NestedOption = /** @class */ (function (_super) {\n __extends(NestedOption, _super);\n function NestedOption() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NestedOption.prototype.render = function () {\n var stateChildren = this.props.children;\n var children = React.Children.map(stateChildren, function (child) {\n var childElementInfo = element_1.getElementInfo(child);\n return childElementInfo.type === element_1.ElementType.Option ? child : null;\n });\n return React.createElement(React.Fragment, {}, children);\n };\n return NestedOption;\n}(React.PureComponent));\nexports.default = NestedOption;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OptionsManager = exports.scheduleGuards = exports.unscheduleGuards = void 0;\n/* eslint-disable no-restricted-globals */\nvar comparer_1 = require(\"./configuration/comparer\");\nvar tree_1 = require(\"./configuration/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar helpers_1 = require(\"./helpers\");\nvar optionsManagers = new Set();\nvar guardTimeoutHandler = -1;\nfunction unscheduleGuards() {\n clearTimeout(guardTimeoutHandler);\n}\nexports.unscheduleGuards = unscheduleGuards;\nfunction scheduleGuards() {\n unscheduleGuards();\n guardTimeoutHandler = window.setTimeout(function () {\n optionsManagers.forEach(function (optionManager) { return optionManager.execGuards(); });\n });\n}\nexports.scheduleGuards = scheduleGuards;\nvar OptionsManager = /** @class */ (function () {\n function OptionsManager(templatesManager) {\n this.guards = {};\n this.isUpdating = false;\n this.templatesManager = templatesManager;\n optionsManagers.add(this);\n this.onOptionChanged = this.onOptionChanged.bind(this);\n this.wrapOptionValue = this.wrapOptionValue.bind(this);\n }\n OptionsManager.prototype.setInstance = function (instance, config, subscribableOptions, independentEvents) {\n this.instance = instance;\n this.currentConfig = config;\n this.subscribableOptions = new Set(subscribableOptions);\n this.independentEvents = new Set(independentEvents);\n };\n OptionsManager.prototype.getInitialOptions = function (rootNode) {\n var _this = this;\n var config = tree_1.buildConfig(rootNode, false);\n Object.keys(config.templates).forEach(function (key) {\n _this.templatesManager.add(key, config.templates[key]);\n });\n var options = {};\n Object.keys(config.options).forEach(function (key) {\n options[key] = _this.wrapOptionValue(key, config.options[key]);\n });\n if (this.templatesManager.templatesCount > 0) {\n options.integrationOptions = {\n templates: this.templatesManager.templates,\n };\n }\n return options;\n };\n OptionsManager.prototype.update = function (config) {\n var _this = this;\n var changedOptions = [];\n var optionChangedHandler = function (_a) {\n var value = _a.value, fullName = _a.fullName;\n changedOptions.push([fullName, value]);\n };\n this.instance.on('optionChanged', optionChangedHandler);\n var changes = comparer_1.getChanges(config, this.currentConfig);\n if (!changes.options && !changes.templates && !changes.removedOptions.length) {\n return;\n }\n this.instance.beginUpdate();\n this.isUpdating = true;\n changes.removedOptions.forEach(function (optionName) {\n _this.resetOption(optionName);\n });\n Object.keys(changes.templates).forEach(function (key) {\n _this.templatesManager.add(key, changes.templates[key]);\n });\n if (this.templatesManager.templatesCount > 0) {\n this.setValue('integrationOptions', {\n templates: this.templatesManager.templates,\n });\n }\n Object.keys(changes.options).forEach(function (key) {\n _this.setValue(key, changes.options[key]);\n });\n this.isUpdating = false;\n this.instance.off('optionChanged', optionChangedHandler);\n this.currentConfig = config;\n changedOptions.forEach(function (_a) {\n var name = _a[0], value = _a[1];\n var currentPropValue = config.options[name];\n if (Object.prototype.hasOwnProperty.call(config.options, name)\n && currentPropValue !== value) {\n _this.setValue(name, currentPropValue);\n }\n });\n this.instance.endUpdate();\n };\n OptionsManager.prototype.onOptionChanged = function (e) {\n var _this = this;\n var _a;\n if (this.isUpdating) {\n return;\n }\n var valueDescriptor = tree_1.findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor || valueDescriptor.value !== e.value) {\n this.callOptionChangeHandler(e.fullName, e.value);\n }\n valueDescriptor = tree_1.findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor) {\n return;\n }\n var value = valueDescriptor.value, type = valueDescriptor.type;\n if (value instanceof Array && type === tree_1.ValueType.Array) {\n for (var i = 0; i < value.length; i += 1) {\n if (value[i] !== ((_a = e.value) === null || _a === void 0 ? void 0 : _a[i])) {\n this.addGuard(e.fullName, value);\n return;\n }\n }\n }\n else if (type === tree_1.ValueType.Complex && value instanceof Object) {\n Object.keys(value).forEach(function (key) {\n var _a;\n if (value[key] === ((_a = e.value) === null || _a === void 0 ? void 0 : _a[key])) {\n return;\n }\n _this.addGuard(utils_1.mergeNameParts(e.fullName, key), value[key]);\n });\n }\n else {\n var valuesAreEqual = value === e.value;\n var valuesAreEqualObjects = !valuesAreEqual\n && value instanceof Object\n && e.value instanceof Object\n && utils_1.shallowEquals(value, e.value);\n if (valuesAreEqual || valuesAreEqualObjects || this.instance.skipOptionsRollBack) {\n return;\n }\n this.addGuard(e.fullName, value);\n }\n };\n OptionsManager.prototype.dispose = function () {\n var _this = this;\n optionsManagers.delete(this);\n Object.keys(this.guards).forEach(function (optionName) {\n delete _this.guards[optionName];\n });\n };\n OptionsManager.prototype.isOptionSubscribable = function (optionName) {\n return this.subscribableOptions.has(optionName);\n };\n OptionsManager.prototype.isIndependentEvent = function (optionName) {\n return this.independentEvents.has(optionName);\n };\n OptionsManager.prototype.callOptionChangeHandler = function (optionName, optionValue) {\n if (!this.isOptionSubscribable(optionName)) {\n return;\n }\n var parts = optionName.split('.');\n var propName = parts[parts.length - 1];\n if (propName.startsWith('on')) {\n return;\n }\n var eventName = \"on\" + helpers_1.capitalizeFirstLetter(propName) + \"Change\";\n parts[parts.length - 1] = eventName;\n var changeEvent = tree_1.findValue(this.currentConfig, parts);\n if (!changeEvent) {\n return;\n }\n if (typeof changeEvent.value !== 'function') {\n throw new Error(\"Invalid value for the \" + eventName + \" property.\\n \" + eventName + \" must be a function.\");\n }\n changeEvent.value(optionValue);\n };\n OptionsManager.prototype.wrapOptionValue = function (name, value) {\n var _this = this;\n if (name.substr(0, 2) === 'on' && typeof value === 'function') {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!_this.isUpdating || _this.isIndependentEvent(name)) {\n value.apply(void 0, args);\n }\n };\n }\n return value;\n };\n OptionsManager.prototype.addGuard = function (optionName, optionValue) {\n var _this = this;\n if (this.guards[optionName] !== undefined) {\n return;\n }\n var handler = function () {\n _this.setValue(optionName, optionValue);\n delete _this.guards[optionName];\n };\n this.guards[optionName] = handler;\n scheduleGuards();\n };\n OptionsManager.prototype.execGuards = function () {\n Object.values(this.guards)\n .forEach(function (handler) { return handler(); });\n };\n OptionsManager.prototype.resetOption = function (name) {\n this.instance.resetOption(name);\n };\n OptionsManager.prototype.setValue = function (name, value) {\n if (this.guards[name]) {\n delete this.guards[name];\n }\n this.instance.option(name, this.wrapOptionValue(name, value));\n };\n return OptionsManager;\n}());\nexports.OptionsManager = OptionsManager;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplateWrapper = void 0;\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar ReactDOM = require(\"react-dom\");\nvar component_base_1 = require(\"./component-base\");\nvar removalListenerStyle = { display: 'none' };\nvar TableNodeNames;\n(function (TableNodeNames) {\n TableNodeNames[\"TABLE\"] = \"tbody\";\n TableNodeNames[\"TBODY\"] = \"tr\";\n})(TableNodeNames || (TableNodeNames = {}));\nvar TemplateWrapper = /** @class */ (function (_super) {\n __extends(TemplateWrapper, _super);\n function TemplateWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._removalListenerRef = React.createRef();\n _this.state = { removalListenerRequired: false };\n _this._onDxRemove = _this._onDxRemove.bind(_this);\n _this.getPreviousSiblingNode = _this.getPreviousSiblingNode.bind(_this);\n return _this;\n }\n TemplateWrapper.prototype.componentDidMount = function () {\n var _a, _b;\n this._subscribeOnRemove();\n (_b = (_a = this.props).onDidMount) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n TemplateWrapper.prototype.componentDidUpdate = function () {\n this._subscribeOnRemove();\n };\n TemplateWrapper.prototype.componentWillUnmount = function () {\n // Let React remove it itself\n var node = this.element;\n var hiddenNode = this.hiddenElement;\n var container = this.props.container;\n if (node) {\n container.appendChild(node);\n }\n if (hiddenNode) {\n container.appendChild(hiddenNode);\n }\n if (this._listenerElement) {\n container.appendChild(this._listenerElement);\n }\n };\n Object.defineProperty(TemplateWrapper.prototype, \"_listenerElement\", {\n get: function () {\n return this._removalListenerRef.current;\n },\n enumerable: false,\n configurable: true\n });\n TemplateWrapper.prototype.getPreviousSiblingNode = function (node) {\n this.hiddenElement = node;\n this.element = node === null || node === void 0 ? void 0 : node.previousSibling;\n };\n TemplateWrapper.prototype._subscribeOnRemove = function () {\n var node = this.element;\n var removalListenerRequired = this.state.removalListenerRequired;\n if (node && node.nodeType === Node.ELEMENT_NODE) {\n this._subscribeOnElementRemoval(node);\n return;\n }\n if (!removalListenerRequired) {\n this.setState({ removalListenerRequired: true });\n return;\n }\n if (this._listenerElement) {\n this._subscribeOnElementRemoval(this._listenerElement);\n }\n };\n TemplateWrapper.prototype._subscribeOnElementRemoval = function (element) {\n events.off(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);\n events.one(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);\n };\n TemplateWrapper.prototype._onDxRemove = function () {\n var onRemoved = this.props.onRemoved;\n onRemoved();\n };\n TemplateWrapper.prototype.render = function () {\n var removalListenerRequired = this.state.removalListenerRequired;\n var _a = this.props, content = _a.content, container = _a.container;\n var removalListener = removalListenerRequired\n ? React.createElement('span', { style: removalListenerStyle, ref: this._removalListenerRef })\n : undefined;\n var nodeName = TableNodeNames[container.nodeName] || 'div';\n return ReactDOM.createPortal(React.createElement(React.Fragment, null, content, content && React.createElement(nodeName, { style: { display: 'none' }, ref: this.getPreviousSiblingNode }), removalListener), container);\n };\n return TemplateWrapper;\n}(React.PureComponent));\nexports.TemplateWrapper = TemplateWrapper;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findProps = exports.Template = void 0;\nvar PropTypes = require(\"prop-types\");\nvar React = require(\"react\");\nvar Template = /** @class */ (function (_super) {\n __extends(Template, _super);\n function Template() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Template.prototype.render = function () {\n return null;\n };\n return Template;\n}(React.PureComponent));\nexports.Template = Template;\nvar requiredPropsCheck = function (props) {\n if (!props.component && !props.render && !props.children) {\n return new Error(\"The Template component requires 'component' or 'render' property\");\n }\n return null;\n};\nTemplate.propTypes = {\n name: PropTypes.string.isRequired,\n component: requiredPropsCheck,\n render: requiredPropsCheck,\n children: requiredPropsCheck,\n};\nfunction findProps(child) {\n if (child.type !== Template) {\n return undefined;\n }\n return {\n name: child.props.name,\n render: child.props.render,\n component: child.props.component,\n children: child.props.children,\n keyFn: child.props.keyFn,\n };\n}\nexports.findProps = findProps;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar config_1 = require(\"./config\");\nvar dx_template_1 = require(\"./dx-template\");\nfunction normalizeProps(props) {\n if (config_1.getOption('useLegacyTemplateEngine')) {\n var model = props.data;\n if (model && Object.prototype.hasOwnProperty.call(model, 'key')) {\n model.dxkey = model.key;\n }\n return model;\n }\n return props;\n}\nvar contentCreators = {\n component: function (contentGetter) { return function (props) {\n props = normalizeProps(props);\n return React.createElement.bind(null, contentGetter())(props);\n }; },\n render: function (contentGetter) { return function (props) {\n normalizeProps(props);\n return contentGetter()(props.data, props.index);\n }; },\n children: function (contentGetter) { return function () { return contentGetter(); }; },\n};\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(templatesStore) {\n this._templates = {};\n this._templatesContent = {};\n this._templatesStore = templatesStore;\n }\n TemplatesManager.prototype.add = function (name, template) {\n var _this = this;\n this._templatesContent[name] = template.content;\n var contentCreator = contentCreators[template.type]\n .bind(this, function () { return _this._templatesContent[name]; });\n this._templates[name] = dx_template_1.createDxTemplate(contentCreator, this._templatesStore, template.keyFn);\n };\n Object.defineProperty(TemplatesManager.prototype, \"templatesCount\", {\n get: function () {\n return Object.keys(this._templates).length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: false,\n configurable: true\n });\n return TemplatesManager;\n}());\nexports.default = TemplatesManager;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesRenderer = void 0;\nvar frame_1 = require(\"devextreme/animation/frame\");\nvar common_1 = require(\"devextreme/core/utils/common\");\nvar React = require(\"react\");\nvar TemplatesRenderer = /** @class */ (function (_super) {\n __extends(TemplatesRenderer, _super);\n function TemplatesRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.updateScheduled = false;\n _this.mounted = false;\n _this.shouldRepeatForceUpdate = false;\n _this.isUpdateFuncLaunched = false;\n return _this;\n }\n TemplatesRenderer.prototype.componentDidMount = function () {\n this.mounted = true;\n };\n TemplatesRenderer.prototype.componentWillUnmount = function () {\n this.mounted = false;\n };\n TemplatesRenderer.prototype.scheduleUpdate = function (useDeferUpdate, onRendered) {\n var _this = this;\n if (this.updateScheduled) {\n this.shouldRepeatForceUpdate = this.isUpdateFuncLaunched;\n return;\n }\n this.updateScheduled = true;\n var updateFunc = useDeferUpdate ? common_1.deferUpdate : frame_1.requestAnimationFrame;\n updateFunc(function () {\n if (_this.mounted) {\n _this.isUpdateFuncLaunched = true;\n _this.forceUpdate(function () {\n _this.updateScheduled = false;\n onRendered === null || onRendered === void 0 ? void 0 : onRendered();\n if (_this.shouldRepeatForceUpdate) {\n _this.shouldRepeatForceUpdate = false;\n _this.forceUpdate();\n }\n });\n }\n _this.isUpdateFuncLaunched = false;\n _this.updateScheduled = false;\n });\n };\n TemplatesRenderer.prototype.render = function () {\n var templatesStore = this.props.templatesStore;\n return React.createElement(React.Fragment, {}, templatesStore.renderWrappers());\n };\n return TemplatesRenderer;\n}(React.PureComponent));\nexports.TemplatesRenderer = TemplatesRenderer;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesStore = void 0;\nvar TemplatesStore = /** @class */ (function () {\n function TemplatesStore(onTemplateAdded) {\n this._templates = {};\n this._onTemplateAdded = onTemplateAdded;\n }\n TemplatesStore.prototype.add = function (templateId, templateFunc) {\n this._templates[templateId] = { template: templateFunc, isDeferredRemove: false };\n this._onTemplateAdded();\n };\n TemplatesStore.prototype.setDeferredRemove = function (templateId, isDeferredRemove) {\n if (this._templates[templateId]) {\n this._templates[templateId].isDeferredRemove = isDeferredRemove;\n }\n };\n TemplatesStore.prototype.removeDefferedTemplate = function () {\n var _this = this;\n Object.entries(this._templates)\n .filter(function (_a) {\n var templateInfo = _a[1];\n return (templateInfo.isDeferredRemove);\n })\n .forEach(function (_a) {\n var templateId = _a[0];\n delete _this._templates[templateId];\n });\n };\n TemplatesStore.prototype.renderWrappers = function () {\n var _this = this;\n this.removeDefferedTemplate();\n return Object.getOwnPropertyNames(this._templates).map(function (templateId) { return _this._templates[templateId].template(); });\n };\n return TemplatesStore;\n}());\nexports.TemplatesStore = TemplatesStore;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.separateProps = exports.getClassName = exports.elementPropNames = void 0;\nvar elementPropNames = ['style', 'id'];\nexports.elementPropNames = elementPropNames;\nvar classNamePropName = 'className';\nfunction isIgnoredProp(name) {\n return name === 'children' || name === classNamePropName || elementPropNames.indexOf(name) > -1;\n}\nfunction separateProps(props, defaultsProps, templateProps) {\n templateProps = templateProps || [];\n var defaults = {};\n var options = {};\n var templates = {};\n var knownTemplates = {};\n templateProps.forEach(function (value) {\n knownTemplates[value.component] = true;\n knownTemplates[value.render] = true;\n });\n Object.keys(props).forEach(function (key) {\n var defaultOptionName = defaultsProps ? defaultsProps[key] : null;\n if (isIgnoredProp(key)) {\n return;\n }\n if (defaultOptionName) {\n defaults[defaultOptionName] = props[key];\n return;\n }\n if (knownTemplates[key]) {\n templates[key] = props[key];\n return;\n }\n options[key] = props[key];\n });\n return { options: options, defaults: defaults, templates: templates };\n}\nexports.separateProps = separateProps;\nfunction getClassName(props) {\n return props[classNamePropName];\n}\nexports.getClassName = getClassName;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Hide = exports.HeaderFilter = exports.GroupPanel = exports.GroupOperationDescriptions = exports.GroupItem = exports.GroupingTexts = exports.Grouping = exports.From = exports.FormItem = exports.Format = exports.Form = exports.FilterRow = exports.FilterPanelTexts = exports.FilterPanel = exports.FilterOperationDescriptions = exports.FilterBuilderPopup = exports.FilterBuilder = exports.FieldLookup = exports.Field = exports.ExportTexts = exports.Export = exports.EmailRule = exports.EditingTexts = exports.Editing = exports.DataGridSelection = exports.DataGridHeaderFilterTexts = exports.DataGridHeaderFilterSearch = exports.DataGridHeaderFilter = exports.CustomRule = exports.CustomOperation = exports.CursorOffset = exports.CompareRule = exports.ColumnLookup = exports.ColumnHeaderFilterSearch = exports.ColumnHeaderFilter = exports.ColumnFixingTexts = exports.ColumnFixing = exports.ColumnChooserSelection = exports.ColumnChooserSearch = exports.ColumnChooser = exports.Column = exports.Collision = exports.ColCountByScreen = exports.Change = exports.Button = exports.BoundaryOffset = exports.At = exports.AsyncRule = exports.Animation = exports.DataGrid = void 0;\nexports.ValueFormat = exports.ValidationRule = exports.TotalItem = exports.ToolbarItem = exports.Toolbar = exports.To = exports.Texts = exports.SummaryTexts = exports.Summary = exports.StringLengthRule = exports.StateStoring = exports.Sorting = exports.SortByGroupSummaryInfo = exports.Show = exports.Selection = exports.SearchPanel = exports.Search = exports.Scrolling = exports.RowDragging = exports.RequiredRule = exports.RemoteOperations = exports.RangeRule = exports.Position = exports.Popup = exports.PatternRule = exports.Paging = exports.Pager = exports.OperationDescriptions = exports.Offset = exports.NumericRule = exports.My = exports.MasterDetail = exports.Lookup = exports.LoadPanel = exports.Label = exports.KeyboardNavigation = exports.Item = void 0;\nvar data_grid_1 = require(\"devextreme/ui/data_grid\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar DataGrid = /** @class */ (function (_super) {\n __extends(DataGrid, _super);\n function DataGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = data_grid_1.default;\n _this.useRequestAnimationFrameFlag = true;\n _this.subscribableOptions = [\"columns\", \"editing\", \"editing.changes\", \"editing.editColumnName\", \"editing.editRowKey\", \"filterPanel\", \"filterPanel.filterEnabled\", \"filterValue\", \"focusedColumnIndex\", \"focusedRowIndex\", \"focusedRowKey\", \"groupPanel\", \"groupPanel.visible\", \"paging\", \"paging.pageIndex\", \"paging.pageSize\", \"searchPanel\", \"searchPanel.text\", \"selectedRowKeys\", \"selectionFilter\"];\n _this.independentEvents = [\"onAdaptiveDetailRowPreparing\", \"onCellClick\", \"onCellDblClick\", \"onCellPrepared\", \"onContentReady\", \"onContextMenuPreparing\", \"onDataErrorOccurred\", \"onDisposing\", \"onEditCanceled\", \"onEditCanceling\", \"onEditingStart\", \"onEditorPrepared\", \"onEditorPreparing\", \"onExporting\", \"onFocusedCellChanging\", \"onFocusedRowChanging\", \"onInitialized\", \"onInitNewRow\", \"onKeyDown\", \"onRowClick\", \"onRowCollapsed\", \"onRowCollapsing\", \"onRowDblClick\", \"onRowExpanded\", \"onRowExpanding\", \"onRowInserted\", \"onRowInserting\", \"onRowPrepared\", \"onRowRemoved\", \"onRowRemoving\", \"onRowUpdated\", \"onRowUpdating\", \"onRowValidating\", \"onSaved\", \"onSaving\", \"onToolbarPreparing\"];\n _this._defaults = {\n defaultColumns: \"columns\",\n defaultEditing: \"editing\",\n defaultFilterPanel: \"filterPanel\",\n defaultFilterValue: \"filterValue\",\n defaultFocusedColumnIndex: \"focusedColumnIndex\",\n defaultFocusedRowIndex: \"focusedRowIndex\",\n defaultFocusedRowKey: \"focusedRowKey\",\n defaultGroupPanel: \"groupPanel\",\n defaultPaging: \"paging\",\n defaultSearchPanel: \"searchPanel\",\n defaultSelectedRowKeys: \"selectedRowKeys\",\n defaultSelectionFilter: \"selectionFilter\"\n };\n _this._expectedChildren = {\n column: { optionName: \"columns\", isCollectionItem: true },\n columnChooser: { optionName: \"columnChooser\", isCollectionItem: false },\n columnFixing: { optionName: \"columnFixing\", isCollectionItem: false },\n dataGridHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n dataGridSelection: { optionName: \"selection\", isCollectionItem: false },\n editing: { optionName: \"editing\", isCollectionItem: false },\n export: { optionName: \"export\", isCollectionItem: false },\n filterBuilder: { optionName: \"filterBuilder\", isCollectionItem: false },\n filterBuilderPopup: { optionName: \"filterBuilderPopup\", isCollectionItem: false },\n filterPanel: { optionName: \"filterPanel\", isCollectionItem: false },\n filterRow: { optionName: \"filterRow\", isCollectionItem: false },\n grouping: { optionName: \"grouping\", isCollectionItem: false },\n groupPanel: { optionName: \"groupPanel\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n keyboardNavigation: { optionName: \"keyboardNavigation\", isCollectionItem: false },\n loadPanel: { optionName: \"loadPanel\", isCollectionItem: false },\n masterDetail: { optionName: \"masterDetail\", isCollectionItem: false },\n pager: { optionName: \"pager\", isCollectionItem: false },\n paging: { optionName: \"paging\", isCollectionItem: false },\n remoteOperations: { optionName: \"remoteOperations\", isCollectionItem: false },\n rowDragging: { optionName: \"rowDragging\", isCollectionItem: false },\n scrolling: { optionName: \"scrolling\", isCollectionItem: false },\n searchPanel: { optionName: \"searchPanel\", isCollectionItem: false },\n selection: { optionName: \"selection\", isCollectionItem: false },\n sortByGroupSummaryInfo: { optionName: \"sortByGroupSummaryInfo\", isCollectionItem: true },\n sorting: { optionName: \"sorting\", isCollectionItem: false },\n stateStoring: { optionName: \"stateStoring\", isCollectionItem: false },\n summary: { optionName: \"summary\", isCollectionItem: false },\n toolbar: { optionName: \"toolbar\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"dataRowTemplate\",\n render: \"dataRowRender\",\n component: \"dataRowComponent\",\n keyFn: \"dataRowKeyFn\"\n }, {\n tmplOption: \"rowTemplate\",\n render: \"rowRender\",\n component: \"rowComponent\",\n keyFn: \"rowKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(DataGrid.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return DataGrid;\n}(component_1.Component));\nexports.DataGrid = DataGrid;\nDataGrid.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n allowColumnReordering: PropTypes.bool,\n allowColumnResizing: PropTypes.bool,\n autoNavigateToFocusedRow: PropTypes.bool,\n cacheEnabled: PropTypes.bool,\n cellHintEnabled: PropTypes.bool,\n columnAutoWidth: PropTypes.bool,\n columnChooser: PropTypes.object,\n columnFixing: PropTypes.object,\n columnHidingEnabled: PropTypes.bool,\n columnMinWidth: PropTypes.number,\n columnResizingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"nextColumn\",\n \"widget\"\n ])\n ]),\n columns: PropTypes.array,\n columnWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n customizeColumns: PropTypes.func,\n dateSerializationFormat: PropTypes.string,\n disabled: PropTypes.bool,\n editing: PropTypes.object,\n elementAttr: PropTypes.object,\n errorRowEnabled: PropTypes.bool,\n export: PropTypes.object,\n filterBuilder: PropTypes.object,\n filterBuilderPopup: PropTypes.object,\n filterPanel: PropTypes.object,\n filterRow: PropTypes.object,\n filterSyncEnabled: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n filterValue: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n focusedColumnIndex: PropTypes.number,\n focusedRowEnabled: PropTypes.bool,\n focusedRowIndex: PropTypes.number,\n grouping: PropTypes.object,\n groupPanel: PropTypes.object,\n headerFilter: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n highlightChanges: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n keyboardNavigation: PropTypes.object,\n keyExpr: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.string\n ]),\n loadPanel: PropTypes.object,\n masterDetail: PropTypes.object,\n noDataText: PropTypes.string,\n onAdaptiveDetailRowPreparing: PropTypes.func,\n onCellClick: PropTypes.func,\n onCellDblClick: PropTypes.func,\n onCellHoverChanged: PropTypes.func,\n onCellPrepared: PropTypes.func,\n onContentReady: PropTypes.func,\n onContextMenuPreparing: PropTypes.func,\n onDataErrorOccurred: PropTypes.func,\n onDisposing: PropTypes.func,\n onEditCanceled: PropTypes.func,\n onEditCanceling: PropTypes.func,\n onEditingStart: PropTypes.func,\n onEditorPrepared: PropTypes.func,\n onEditorPreparing: PropTypes.func,\n onExporting: PropTypes.func,\n onFocusedCellChanged: PropTypes.func,\n onFocusedCellChanging: PropTypes.func,\n onFocusedRowChanged: PropTypes.func,\n onFocusedRowChanging: PropTypes.func,\n onInitialized: PropTypes.func,\n onInitNewRow: PropTypes.func,\n onKeyDown: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onRowClick: PropTypes.func,\n onRowCollapsed: PropTypes.func,\n onRowCollapsing: PropTypes.func,\n onRowDblClick: PropTypes.func,\n onRowExpanded: PropTypes.func,\n onRowExpanding: PropTypes.func,\n onRowInserted: PropTypes.func,\n onRowInserting: PropTypes.func,\n onRowPrepared: PropTypes.func,\n onRowRemoved: PropTypes.func,\n onRowRemoving: PropTypes.func,\n onRowUpdated: PropTypes.func,\n onRowUpdating: PropTypes.func,\n onRowValidating: PropTypes.func,\n onSaved: PropTypes.func,\n onSaving: PropTypes.func,\n onSelectionChanged: PropTypes.func,\n onToolbarPreparing: PropTypes.func,\n pager: PropTypes.object,\n paging: PropTypes.object,\n remoteOperations: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n renderAsync: PropTypes.bool,\n repaintChangesOnly: PropTypes.bool,\n rowAlternationEnabled: PropTypes.bool,\n rowDragging: PropTypes.object,\n rtlEnabled: PropTypes.bool,\n scrolling: PropTypes.object,\n searchPanel: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n selection: PropTypes.object,\n selectionFilter: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.string\n ]),\n showBorders: PropTypes.bool,\n showColumnHeaders: PropTypes.bool,\n showColumnLines: PropTypes.bool,\n showRowLines: PropTypes.bool,\n sortByGroupSummaryInfo: PropTypes.array,\n sorting: PropTypes.object,\n stateStoring: PropTypes.object,\n summary: PropTypes.object,\n syncLookupFilterValues: PropTypes.bool,\n tabIndex: PropTypes.number,\n toolbar: PropTypes.object,\n twoWayBindingEnabled: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n wordWrapEnabled: PropTypes.bool\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Button = /** @class */ (function (_super) {\n __extends(Button, _super);\n function Button() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Button.OptionName = \"buttons\";\n Button.IsCollectionItem = true;\n Button.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Button;\n}(nested_option_1.default));\nexports.Button = Button;\nvar Change = /** @class */ (function (_super) {\n __extends(Change, _super);\n function Change() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Change.OptionName = \"changes\";\n Change.IsCollectionItem = true;\n return Change;\n}(nested_option_1.default));\nexports.Change = Change;\nvar ColCountByScreen = /** @class */ (function (_super) {\n __extends(ColCountByScreen, _super);\n function ColCountByScreen() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColCountByScreen.OptionName = \"colCountByScreen\";\n return ColCountByScreen;\n}(nested_option_1.default));\nexports.ColCountByScreen = ColCountByScreen;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar Column = /** @class */ (function (_super) {\n __extends(Column, _super);\n function Column() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Column.OptionName = \"columns\";\n Column.IsCollectionItem = true;\n Column.DefaultsProps = {\n defaultFilterValue: \"filterValue\",\n defaultFilterValues: \"filterValues\",\n defaultGroupIndex: \"groupIndex\",\n defaultSelectedFilterOperation: \"selectedFilterOperation\",\n defaultSortIndex: \"sortIndex\",\n defaultSortOrder: \"sortOrder\",\n defaultVisible: \"visible\",\n defaultVisibleIndex: \"visibleIndex\"\n };\n Column.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n button: { optionName: \"buttons\", isCollectionItem: true },\n columnHeaderFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n columnLookup: { optionName: \"lookup\", isCollectionItem: false },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n format: { optionName: \"format\", isCollectionItem: false },\n formItem: { optionName: \"formItem\", isCollectionItem: false },\n headerFilter: { optionName: \"headerFilter\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n Column.TemplateProps = [{\n tmplOption: \"cellTemplate\",\n render: \"cellRender\",\n component: \"cellComponent\",\n keyFn: \"cellKeyFn\"\n }, {\n tmplOption: \"editCellTemplate\",\n render: \"editCellRender\",\n component: \"editCellComponent\",\n keyFn: \"editCellKeyFn\"\n }, {\n tmplOption: \"groupCellTemplate\",\n render: \"groupCellRender\",\n component: \"groupCellComponent\",\n keyFn: \"groupCellKeyFn\"\n }, {\n tmplOption: \"headerCellTemplate\",\n render: \"headerCellRender\",\n component: \"headerCellComponent\",\n keyFn: \"headerCellKeyFn\"\n }];\n return Column;\n}(nested_option_1.default));\nexports.Column = Column;\nvar ColumnChooser = /** @class */ (function (_super) {\n __extends(ColumnChooser, _super);\n function ColumnChooser() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnChooser.OptionName = \"columnChooser\";\n ColumnChooser.ExpectedChildren = {\n columnChooserSearch: { optionName: \"search\", isCollectionItem: false },\n columnChooserSelection: { optionName: \"selection\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n search: { optionName: \"search\", isCollectionItem: false },\n selection: { optionName: \"selection\", isCollectionItem: false }\n };\n return ColumnChooser;\n}(nested_option_1.default));\nexports.ColumnChooser = ColumnChooser;\nvar ColumnChooserSearch = /** @class */ (function (_super) {\n __extends(ColumnChooserSearch, _super);\n function ColumnChooserSearch() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnChooserSearch.OptionName = \"search\";\n return ColumnChooserSearch;\n}(nested_option_1.default));\nexports.ColumnChooserSearch = ColumnChooserSearch;\nvar ColumnChooserSelection = /** @class */ (function (_super) {\n __extends(ColumnChooserSelection, _super);\n function ColumnChooserSelection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnChooserSelection.OptionName = \"selection\";\n return ColumnChooserSelection;\n}(nested_option_1.default));\nexports.ColumnChooserSelection = ColumnChooserSelection;\nvar ColumnFixing = /** @class */ (function (_super) {\n __extends(ColumnFixing, _super);\n function ColumnFixing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFixing.OptionName = \"columnFixing\";\n ColumnFixing.ExpectedChildren = {\n columnFixingTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return ColumnFixing;\n}(nested_option_1.default));\nexports.ColumnFixing = ColumnFixing;\nvar ColumnFixingTexts = /** @class */ (function (_super) {\n __extends(ColumnFixingTexts, _super);\n function ColumnFixingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFixingTexts.OptionName = \"texts\";\n return ColumnFixingTexts;\n}(nested_option_1.default));\nexports.ColumnFixingTexts = ColumnFixingTexts;\nvar ColumnHeaderFilter = /** @class */ (function (_super) {\n __extends(ColumnHeaderFilter, _super);\n function ColumnHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHeaderFilter.OptionName = \"headerFilter\";\n ColumnHeaderFilter.ExpectedChildren = {\n columnHeaderFilterSearch: { optionName: \"search\", isCollectionItem: false },\n search: { optionName: \"search\", isCollectionItem: false }\n };\n return ColumnHeaderFilter;\n}(nested_option_1.default));\nexports.ColumnHeaderFilter = ColumnHeaderFilter;\nvar ColumnHeaderFilterSearch = /** @class */ (function (_super) {\n __extends(ColumnHeaderFilterSearch, _super);\n function ColumnHeaderFilterSearch() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHeaderFilterSearch.OptionName = \"search\";\n return ColumnHeaderFilterSearch;\n}(nested_option_1.default));\nexports.ColumnHeaderFilterSearch = ColumnHeaderFilterSearch;\nvar ColumnLookup = /** @class */ (function (_super) {\n __extends(ColumnLookup, _super);\n function ColumnLookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnLookup.OptionName = \"lookup\";\n return ColumnLookup;\n}(nested_option_1.default));\nexports.ColumnLookup = ColumnLookup;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CursorOffset = /** @class */ (function (_super) {\n __extends(CursorOffset, _super);\n function CursorOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CursorOffset.OptionName = \"cursorOffset\";\n return CursorOffset;\n}(nested_option_1.default));\nexports.CursorOffset = CursorOffset;\nvar CustomOperation = /** @class */ (function (_super) {\n __extends(CustomOperation, _super);\n function CustomOperation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomOperation.OptionName = \"customOperations\";\n CustomOperation.IsCollectionItem = true;\n CustomOperation.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return CustomOperation;\n}(nested_option_1.default));\nexports.CustomOperation = CustomOperation;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar DataGridHeaderFilter = /** @class */ (function (_super) {\n __extends(DataGridHeaderFilter, _super);\n function DataGridHeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataGridHeaderFilter.OptionName = \"headerFilter\";\n DataGridHeaderFilter.ExpectedChildren = {\n dataGridHeaderFilterSearch: { optionName: \"search\", isCollectionItem: false },\n dataGridHeaderFilterTexts: { optionName: \"texts\", isCollectionItem: false },\n search: { optionName: \"search\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return DataGridHeaderFilter;\n}(nested_option_1.default));\nexports.DataGridHeaderFilter = DataGridHeaderFilter;\nvar DataGridHeaderFilterSearch = /** @class */ (function (_super) {\n __extends(DataGridHeaderFilterSearch, _super);\n function DataGridHeaderFilterSearch() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataGridHeaderFilterSearch.OptionName = \"search\";\n return DataGridHeaderFilterSearch;\n}(nested_option_1.default));\nexports.DataGridHeaderFilterSearch = DataGridHeaderFilterSearch;\nvar DataGridHeaderFilterTexts = /** @class */ (function (_super) {\n __extends(DataGridHeaderFilterTexts, _super);\n function DataGridHeaderFilterTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataGridHeaderFilterTexts.OptionName = \"texts\";\n return DataGridHeaderFilterTexts;\n}(nested_option_1.default));\nexports.DataGridHeaderFilterTexts = DataGridHeaderFilterTexts;\nvar DataGridSelection = /** @class */ (function (_super) {\n __extends(DataGridSelection, _super);\n function DataGridSelection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DataGridSelection.OptionName = \"selection\";\n return DataGridSelection;\n}(nested_option_1.default));\nexports.DataGridSelection = DataGridSelection;\nvar Editing = /** @class */ (function (_super) {\n __extends(Editing, _super);\n function Editing() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Editing.OptionName = \"editing\";\n Editing.DefaultsProps = {\n defaultChanges: \"changes\",\n defaultEditColumnName: \"editColumnName\",\n defaultEditRowKey: \"editRowKey\"\n };\n Editing.ExpectedChildren = {\n change: { optionName: \"changes\", isCollectionItem: true },\n editingTexts: { optionName: \"texts\", isCollectionItem: false },\n form: { optionName: \"form\", isCollectionItem: false },\n popup: { optionName: \"popup\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Editing;\n}(nested_option_1.default));\nexports.Editing = Editing;\nvar EditingTexts = /** @class */ (function (_super) {\n __extends(EditingTexts, _super);\n function EditingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EditingTexts.OptionName = \"texts\";\n return EditingTexts;\n}(nested_option_1.default));\nexports.EditingTexts = EditingTexts;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar Export = /** @class */ (function (_super) {\n __extends(Export, _super);\n function Export() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Export.OptionName = \"export\";\n Export.ExpectedChildren = {\n exportTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Export;\n}(nested_option_1.default));\nexports.Export = Export;\nvar ExportTexts = /** @class */ (function (_super) {\n __extends(ExportTexts, _super);\n function ExportTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExportTexts.OptionName = \"texts\";\n return ExportTexts;\n}(nested_option_1.default));\nexports.ExportTexts = ExportTexts;\nvar Field = /** @class */ (function (_super) {\n __extends(Field, _super);\n function Field() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Field.OptionName = \"fields\";\n Field.IsCollectionItem = true;\n Field.ExpectedChildren = {\n fieldLookup: { optionName: \"lookup\", isCollectionItem: false },\n format: { optionName: \"format\", isCollectionItem: false },\n lookup: { optionName: \"lookup\", isCollectionItem: false }\n };\n Field.TemplateProps = [{\n tmplOption: \"editorTemplate\",\n render: \"editorRender\",\n component: \"editorComponent\",\n keyFn: \"editorKeyFn\"\n }];\n return Field;\n}(nested_option_1.default));\nexports.Field = Field;\nvar FieldLookup = /** @class */ (function (_super) {\n __extends(FieldLookup, _super);\n function FieldLookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FieldLookup.OptionName = \"lookup\";\n return FieldLookup;\n}(nested_option_1.default));\nexports.FieldLookup = FieldLookup;\nvar FilterBuilder = /** @class */ (function (_super) {\n __extends(FilterBuilder, _super);\n function FilterBuilder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterBuilder.OptionName = \"filterBuilder\";\n FilterBuilder.DefaultsProps = {\n defaultValue: \"value\"\n };\n FilterBuilder.ExpectedChildren = {\n customOperation: { optionName: \"customOperations\", isCollectionItem: true },\n field: { optionName: \"fields\", isCollectionItem: true },\n filterOperationDescriptions: { optionName: \"filterOperationDescriptions\", isCollectionItem: false },\n groupOperationDescriptions: { optionName: \"groupOperationDescriptions\", isCollectionItem: false }\n };\n return FilterBuilder;\n}(nested_option_1.default));\nexports.FilterBuilder = FilterBuilder;\nvar FilterBuilderPopup = /** @class */ (function (_super) {\n __extends(FilterBuilderPopup, _super);\n function FilterBuilderPopup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterBuilderPopup.OptionName = \"filterBuilderPopup\";\n FilterBuilderPopup.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n FilterBuilderPopup.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return FilterBuilderPopup;\n}(nested_option_1.default));\nexports.FilterBuilderPopup = FilterBuilderPopup;\nvar FilterOperationDescriptions = /** @class */ (function (_super) {\n __extends(FilterOperationDescriptions, _super);\n function FilterOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterOperationDescriptions.OptionName = \"filterOperationDescriptions\";\n return FilterOperationDescriptions;\n}(nested_option_1.default));\nexports.FilterOperationDescriptions = FilterOperationDescriptions;\nvar FilterPanel = /** @class */ (function (_super) {\n __extends(FilterPanel, _super);\n function FilterPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterPanel.OptionName = \"filterPanel\";\n FilterPanel.DefaultsProps = {\n defaultFilterEnabled: \"filterEnabled\"\n };\n FilterPanel.ExpectedChildren = {\n filterPanelTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return FilterPanel;\n}(nested_option_1.default));\nexports.FilterPanel = FilterPanel;\nvar FilterPanelTexts = /** @class */ (function (_super) {\n __extends(FilterPanelTexts, _super);\n function FilterPanelTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterPanelTexts.OptionName = \"texts\";\n return FilterPanelTexts;\n}(nested_option_1.default));\nexports.FilterPanelTexts = FilterPanelTexts;\nvar FilterRow = /** @class */ (function (_super) {\n __extends(FilterRow, _super);\n function FilterRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterRow.OptionName = \"filterRow\";\n FilterRow.ExpectedChildren = {\n operationDescriptions: { optionName: \"operationDescriptions\", isCollectionItem: false }\n };\n return FilterRow;\n}(nested_option_1.default));\nexports.FilterRow = FilterRow;\nvar Form = /** @class */ (function (_super) {\n __extends(Form, _super);\n function Form() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Form.OptionName = \"form\";\n Form.DefaultsProps = {\n defaultFormData: \"formData\"\n };\n Form.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n return Form;\n}(nested_option_1.default));\nexports.Form = Form;\nvar Format = /** @class */ (function (_super) {\n __extends(Format, _super);\n function Format() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Format.OptionName = \"format\";\n return Format;\n}(nested_option_1.default));\nexports.Format = Format;\nvar FormItem = /** @class */ (function (_super) {\n __extends(FormItem, _super);\n function FormItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormItem.OptionName = \"formItem\";\n FormItem.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n label: { optionName: \"label\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n FormItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return FormItem;\n}(nested_option_1.default));\nexports.FormItem = FormItem;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Grouping = /** @class */ (function (_super) {\n __extends(Grouping, _super);\n function Grouping() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Grouping.OptionName = \"grouping\";\n Grouping.ExpectedChildren = {\n groupingTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false }\n };\n return Grouping;\n}(nested_option_1.default));\nexports.Grouping = Grouping;\nvar GroupingTexts = /** @class */ (function (_super) {\n __extends(GroupingTexts, _super);\n function GroupingTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupingTexts.OptionName = \"texts\";\n return GroupingTexts;\n}(nested_option_1.default));\nexports.GroupingTexts = GroupingTexts;\nvar GroupItem = /** @class */ (function (_super) {\n __extends(GroupItem, _super);\n function GroupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupItem.OptionName = \"groupItems\";\n GroupItem.IsCollectionItem = true;\n GroupItem.ExpectedChildren = {\n valueFormat: { optionName: \"valueFormat\", isCollectionItem: false }\n };\n return GroupItem;\n}(nested_option_1.default));\nexports.GroupItem = GroupItem;\nvar GroupOperationDescriptions = /** @class */ (function (_super) {\n __extends(GroupOperationDescriptions, _super);\n function GroupOperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupOperationDescriptions.OptionName = \"groupOperationDescriptions\";\n return GroupOperationDescriptions;\n}(nested_option_1.default));\nexports.GroupOperationDescriptions = GroupOperationDescriptions;\nvar GroupPanel = /** @class */ (function (_super) {\n __extends(GroupPanel, _super);\n function GroupPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupPanel.OptionName = \"groupPanel\";\n GroupPanel.DefaultsProps = {\n defaultVisible: \"visible\"\n };\n return GroupPanel;\n}(nested_option_1.default));\nexports.GroupPanel = GroupPanel;\nvar HeaderFilter = /** @class */ (function (_super) {\n __extends(HeaderFilter, _super);\n function HeaderFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderFilter.OptionName = \"headerFilter\";\n return HeaderFilter;\n}(nested_option_1.default));\nexports.HeaderFilter = HeaderFilter;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar KeyboardNavigation = /** @class */ (function (_super) {\n __extends(KeyboardNavigation, _super);\n function KeyboardNavigation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n KeyboardNavigation.OptionName = \"keyboardNavigation\";\n return KeyboardNavigation;\n}(nested_option_1.default));\nexports.KeyboardNavigation = KeyboardNavigation;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar LoadPanel = /** @class */ (function (_super) {\n __extends(LoadPanel, _super);\n function LoadPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoadPanel.OptionName = \"loadPanel\";\n return LoadPanel;\n}(nested_option_1.default));\nexports.LoadPanel = LoadPanel;\nvar Lookup = /** @class */ (function (_super) {\n __extends(Lookup, _super);\n function Lookup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Lookup.OptionName = \"lookup\";\n return Lookup;\n}(nested_option_1.default));\nexports.Lookup = Lookup;\nvar MasterDetail = /** @class */ (function (_super) {\n __extends(MasterDetail, _super);\n function MasterDetail() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MasterDetail.OptionName = \"masterDetail\";\n MasterDetail.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return MasterDetail;\n}(nested_option_1.default));\nexports.MasterDetail = MasterDetail;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar OperationDescriptions = /** @class */ (function (_super) {\n __extends(OperationDescriptions, _super);\n function OperationDescriptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OperationDescriptions.OptionName = \"operationDescriptions\";\n return OperationDescriptions;\n}(nested_option_1.default));\nexports.OperationDescriptions = OperationDescriptions;\nvar Pager = /** @class */ (function (_super) {\n __extends(Pager, _super);\n function Pager() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Pager.OptionName = \"pager\";\n return Pager;\n}(nested_option_1.default));\nexports.Pager = Pager;\nvar Paging = /** @class */ (function (_super) {\n __extends(Paging, _super);\n function Paging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Paging.OptionName = \"paging\";\n Paging.DefaultsProps = {\n defaultPageIndex: \"pageIndex\",\n defaultPageSize: \"pageSize\"\n };\n return Paging;\n}(nested_option_1.default));\nexports.Paging = Paging;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar Popup = /** @class */ (function (_super) {\n __extends(Popup, _super);\n function Popup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Popup.OptionName = \"popup\";\n Popup.DefaultsProps = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n Popup.ExpectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n Popup.TemplateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return Popup;\n}(nested_option_1.default));\nexports.Popup = Popup;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RemoteOperations = /** @class */ (function (_super) {\n __extends(RemoteOperations, _super);\n function RemoteOperations() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RemoteOperations.OptionName = \"remoteOperations\";\n return RemoteOperations;\n}(nested_option_1.default));\nexports.RemoteOperations = RemoteOperations;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar RowDragging = /** @class */ (function (_super) {\n __extends(RowDragging, _super);\n function RowDragging() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RowDragging.OptionName = \"rowDragging\";\n RowDragging.ExpectedChildren = {\n cursorOffset: { optionName: \"cursorOffset\", isCollectionItem: false }\n };\n RowDragging.TemplateProps = [{\n tmplOption: \"dragTemplate\",\n render: \"dragRender\",\n component: \"dragComponent\",\n keyFn: \"dragKeyFn\"\n }];\n return RowDragging;\n}(nested_option_1.default));\nexports.RowDragging = RowDragging;\nvar Scrolling = /** @class */ (function (_super) {\n __extends(Scrolling, _super);\n function Scrolling() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Scrolling.OptionName = \"scrolling\";\n return Scrolling;\n}(nested_option_1.default));\nexports.Scrolling = Scrolling;\nvar Search = /** @class */ (function (_super) {\n __extends(Search, _super);\n function Search() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Search.OptionName = \"search\";\n return Search;\n}(nested_option_1.default));\nexports.Search = Search;\nvar SearchPanel = /** @class */ (function (_super) {\n __extends(SearchPanel, _super);\n function SearchPanel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SearchPanel.OptionName = \"searchPanel\";\n SearchPanel.DefaultsProps = {\n defaultText: \"text\"\n };\n return SearchPanel;\n}(nested_option_1.default));\nexports.SearchPanel = SearchPanel;\nvar Selection = /** @class */ (function (_super) {\n __extends(Selection, _super);\n function Selection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Selection.OptionName = \"selection\";\n return Selection;\n}(nested_option_1.default));\nexports.Selection = Selection;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar SortByGroupSummaryInfo = /** @class */ (function (_super) {\n __extends(SortByGroupSummaryInfo, _super);\n function SortByGroupSummaryInfo() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortByGroupSummaryInfo.OptionName = \"sortByGroupSummaryInfo\";\n SortByGroupSummaryInfo.IsCollectionItem = true;\n return SortByGroupSummaryInfo;\n}(nested_option_1.default));\nexports.SortByGroupSummaryInfo = SortByGroupSummaryInfo;\nvar Sorting = /** @class */ (function (_super) {\n __extends(Sorting, _super);\n function Sorting() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Sorting.OptionName = \"sorting\";\n return Sorting;\n}(nested_option_1.default));\nexports.Sorting = Sorting;\nvar StateStoring = /** @class */ (function (_super) {\n __extends(StateStoring, _super);\n function StateStoring() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StateStoring.OptionName = \"stateStoring\";\n return StateStoring;\n}(nested_option_1.default));\nexports.StateStoring = StateStoring;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar Summary = /** @class */ (function (_super) {\n __extends(Summary, _super);\n function Summary() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Summary.OptionName = \"summary\";\n Summary.ExpectedChildren = {\n groupItem: { optionName: \"groupItems\", isCollectionItem: true },\n summaryTexts: { optionName: \"texts\", isCollectionItem: false },\n texts: { optionName: \"texts\", isCollectionItem: false },\n totalItem: { optionName: \"totalItems\", isCollectionItem: true }\n };\n return Summary;\n}(nested_option_1.default));\nexports.Summary = Summary;\nvar SummaryTexts = /** @class */ (function (_super) {\n __extends(SummaryTexts, _super);\n function SummaryTexts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SummaryTexts.OptionName = \"texts\";\n return SummaryTexts;\n}(nested_option_1.default));\nexports.SummaryTexts = SummaryTexts;\nvar Texts = /** @class */ (function (_super) {\n __extends(Texts, _super);\n function Texts() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Texts.OptionName = \"texts\";\n return Texts;\n}(nested_option_1.default));\nexports.Texts = Texts;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.OptionName = \"toolbar\";\n Toolbar.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true }\n };\n return Toolbar;\n}(nested_option_1.default));\nexports.Toolbar = Toolbar;\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"menuItemTemplate\",\n render: \"menuItemRender\",\n component: \"menuItemComponent\",\n keyFn: \"menuItemKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nvar TotalItem = /** @class */ (function (_super) {\n __extends(TotalItem, _super);\n function TotalItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TotalItem.OptionName = \"totalItems\";\n TotalItem.IsCollectionItem = true;\n TotalItem.ExpectedChildren = {\n valueFormat: { optionName: \"valueFormat\", isCollectionItem: false }\n };\n return TotalItem;\n}(nested_option_1.default));\nexports.TotalItem = TotalItem;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nvar ValueFormat = /** @class */ (function (_super) {\n __extends(ValueFormat, _super);\n function ValueFormat() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueFormat.OptionName = \"valueFormat\";\n return ValueFormat;\n}(nested_option_1.default));\nexports.ValueFormat = ValueFormat;\nexports.default = DataGrid;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidationRule = exports.TabPanelOptionsItem = exports.TabPanelOptions = exports.TabbedItem = exports.Tab = exports.StringLengthRule = exports.SimpleItem = exports.RequiredRule = exports.RangeRule = exports.PatternRule = exports.NumericRule = exports.Label = exports.Item = exports.GroupItem = exports.EmptyItem = exports.EmailRule = exports.CustomRule = exports.CompareRule = exports.ColCountByScreen = exports.ButtonOptions = exports.ButtonItem = exports.AsyncRule = exports.Form = void 0;\nvar form_1 = require(\"devextreme/ui/form\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Form = /** @class */ (function (_super) {\n __extends(Form, _super);\n function Form() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = form_1.default;\n _this.subscribableOptions = [\"formData\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onEditorEnterKey\", \"onInitialized\"];\n _this._defaults = {\n defaultFormData: \"formData\"\n };\n _this._expectedChildren = {\n ButtonItem: { optionName: \"items\", isCollectionItem: true },\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false },\n EmptyItem: { optionName: \"items\", isCollectionItem: true },\n GroupItem: { optionName: \"items\", isCollectionItem: true },\n item: { optionName: \"items\", isCollectionItem: true },\n SimpleItem: { optionName: \"items\", isCollectionItem: true },\n TabbedItem: { optionName: \"items\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Form.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Form;\n}(component_1.Component));\nexports.Form = Form;\nForm.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n alignItemLabels: PropTypes.bool,\n alignItemLabelsInAllGroups: PropTypes.bool,\n colCount: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"auto\"\n ])\n ])\n ]),\n colCountByScreen: PropTypes.object,\n customizeItem: PropTypes.func,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n items: PropTypes.array,\n labelLocation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\",\n \"outside\"\n ])\n ]),\n minColWidth: PropTypes.number,\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onEditorEnterKey: PropTypes.func,\n onFieldDataChanged: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n optionalMark: PropTypes.string,\n readOnly: PropTypes.bool,\n requiredMark: PropTypes.string,\n requiredMessage: PropTypes.string,\n rtlEnabled: PropTypes.bool,\n screenByWidth: PropTypes.func,\n scrollingEnabled: PropTypes.bool,\n showColonAfterLabel: PropTypes.bool,\n showOptionalMark: PropTypes.bool,\n showRequiredMark: PropTypes.bool,\n showValidationSummary: PropTypes.bool,\n tabIndex: PropTypes.number,\n validationGroup: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar ButtonItem = /** @class */ (function (_super) {\n __extends(ButtonItem, _super);\n function ButtonItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ButtonItem.OptionName = \"items\";\n ButtonItem.IsCollectionItem = true;\n ButtonItem.ExpectedChildren = {\n buttonOptions: { optionName: \"buttonOptions\", isCollectionItem: false }\n };\n ButtonItem.PredefinedProps = {\n itemType: \"button\"\n };\n return ButtonItem;\n}(nested_option_1.default));\nexports.ButtonItem = ButtonItem;\nvar ButtonOptions = /** @class */ (function (_super) {\n __extends(ButtonOptions, _super);\n function ButtonOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ButtonOptions.OptionName = \"buttonOptions\";\n ButtonOptions.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ButtonOptions;\n}(nested_option_1.default));\nexports.ButtonOptions = ButtonOptions;\nvar ColCountByScreen = /** @class */ (function (_super) {\n __extends(ColCountByScreen, _super);\n function ColCountByScreen() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColCountByScreen.OptionName = \"colCountByScreen\";\n return ColCountByScreen;\n}(nested_option_1.default));\nexports.ColCountByScreen = ColCountByScreen;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar EmptyItem = /** @class */ (function (_super) {\n __extends(EmptyItem, _super);\n function EmptyItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmptyItem.OptionName = \"items\";\n EmptyItem.IsCollectionItem = true;\n EmptyItem.PredefinedProps = {\n itemType: \"empty\"\n };\n return EmptyItem;\n}(nested_option_1.default));\nexports.EmptyItem = EmptyItem;\nvar GroupItem = /** @class */ (function (_super) {\n __extends(GroupItem, _super);\n function GroupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupItem.OptionName = \"items\";\n GroupItem.IsCollectionItem = true;\n GroupItem.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n GroupItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n GroupItem.PredefinedProps = {\n itemType: \"group\"\n };\n return GroupItem;\n}(nested_option_1.default));\nexports.GroupItem = GroupItem;\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Item.OptionName = \"items\";\n Item.IsCollectionItem = true;\n Item.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Item;\n}(nested_option_1.default));\nexports.Item = Item;\nvar Label = /** @class */ (function (_super) {\n __extends(Label, _super);\n function Label() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Label.OptionName = \"label\";\n Label.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Label;\n}(nested_option_1.default));\nexports.Label = Label;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar SimpleItem = /** @class */ (function (_super) {\n __extends(SimpleItem, _super);\n function SimpleItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleItem.OptionName = \"items\";\n SimpleItem.IsCollectionItem = true;\n SimpleItem.ExpectedChildren = {\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n label: { optionName: \"label\", isCollectionItem: false },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n SimpleItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n SimpleItem.PredefinedProps = {\n itemType: \"simple\"\n };\n return SimpleItem;\n}(nested_option_1.default));\nexports.SimpleItem = SimpleItem;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar Tab = /** @class */ (function (_super) {\n __extends(Tab, _super);\n function Tab() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tab.OptionName = \"tabs\";\n Tab.IsCollectionItem = true;\n Tab.ExpectedChildren = {\n colCountByScreen: { optionName: \"colCountByScreen\", isCollectionItem: false }\n };\n Tab.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return Tab;\n}(nested_option_1.default));\nexports.Tab = Tab;\nvar TabbedItem = /** @class */ (function (_super) {\n __extends(TabbedItem, _super);\n function TabbedItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabbedItem.OptionName = \"items\";\n TabbedItem.IsCollectionItem = true;\n TabbedItem.ExpectedChildren = {\n tab: { optionName: \"tabs\", isCollectionItem: true },\n tabPanelOptions: { optionName: \"tabPanelOptions\", isCollectionItem: false }\n };\n TabbedItem.PredefinedProps = {\n itemType: \"tabbed\"\n };\n return TabbedItem;\n}(nested_option_1.default));\nexports.TabbedItem = TabbedItem;\nvar TabPanelOptions = /** @class */ (function (_super) {\n __extends(TabPanelOptions, _super);\n function TabPanelOptions() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabPanelOptions.OptionName = \"tabPanelOptions\";\n TabPanelOptions.DefaultsProps = {\n defaultItems: \"items\",\n defaultSelectedIndex: \"selectedIndex\",\n defaultSelectedItem: \"selectedItem\"\n };\n TabPanelOptions.ExpectedChildren = {\n item: { optionName: \"items\", isCollectionItem: true },\n tabPanelOptionsItem: { optionName: \"items\", isCollectionItem: true }\n };\n TabPanelOptions.TemplateProps = [{\n tmplOption: \"itemTemplate\",\n render: \"itemRender\",\n component: \"itemComponent\",\n keyFn: \"itemKeyFn\"\n }, {\n tmplOption: \"itemTitleTemplate\",\n render: \"itemTitleRender\",\n component: \"itemTitleComponent\",\n keyFn: \"itemTitleKeyFn\"\n }];\n return TabPanelOptions;\n}(nested_option_1.default));\nexports.TabPanelOptions = TabPanelOptions;\nvar TabPanelOptionsItem = /** @class */ (function (_super) {\n __extends(TabPanelOptionsItem, _super);\n function TabPanelOptionsItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabPanelOptionsItem.OptionName = \"items\";\n TabPanelOptionsItem.IsCollectionItem = true;\n TabPanelOptionsItem.TemplateProps = [{\n tmplOption: \"tabTemplate\",\n render: \"tabRender\",\n component: \"tabComponent\",\n keyFn: \"tabKeyFn\"\n }, {\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return TabPanelOptionsItem;\n}(nested_option_1.default));\nexports.TabPanelOptionsItem = TabPanelOptionsItem;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nexports.default = Form;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.Show = exports.Position = exports.Offset = exports.My = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.LoadPanel = void 0;\nvar load_panel_1 = require(\"devextreme/ui/load_panel\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar LoadPanel = /** @class */ (function (_super) {\n __extends(LoadPanel, _super);\n function LoadPanel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = load_panel_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"position\", \"visible\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onShowing\", \"onShown\"];\n _this._defaults = {\n defaultPosition: \"position\",\n defaultVisible: \"visible\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return _this;\n }\n Object.defineProperty(LoadPanel.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return LoadPanel;\n}(component_1.Component));\nexports.LoadPanel = LoadPanel;\nLoadPanel.propTypes = {\n animation: PropTypes.object,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n delay: PropTypes.number,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n indicatorSrc: PropTypes.string,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n message: PropTypes.string,\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"center\",\n \"left\",\n \"left bottom\",\n \"left top\",\n \"right\",\n \"right bottom\",\n \"right top\",\n \"top\"\n ])\n ])\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n showIndicator: PropTypes.bool,\n showPane: PropTypes.bool,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = LoadPanel;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextArea = void 0;\nvar text_area_1 = require(\"devextreme/ui/text_area\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar TextArea = /** @class */ (function (_super) {\n __extends(TextArea, _super);\n function TextArea() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = text_area_1.default;\n _this.subscribableOptions = [\"value\"];\n _this.independentEvents = [\"onChange\", \"onContentReady\", \"onCopy\", \"onCut\", \"onDisposing\", \"onEnterKey\", \"onFocusIn\", \"onFocusOut\", \"onInitialized\", \"onInput\", \"onKeyDown\", \"onKeyUp\", \"onPaste\", \"onValueChanged\"];\n _this._defaults = {\n defaultValue: \"value\"\n };\n return _this;\n }\n Object.defineProperty(TextArea.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return TextArea;\n}(component_1.Component));\nexports.TextArea = TextArea;\nTextArea.propTypes = {\n accessKey: PropTypes.string,\n activeStateEnabled: PropTypes.bool,\n autoResizeEnabled: PropTypes.bool,\n disabled: PropTypes.bool,\n elementAttr: PropTypes.object,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n isValid: PropTypes.bool,\n label: PropTypes.string,\n labelMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"static\",\n \"floating\",\n \"hidden\"\n ])\n ]),\n maxHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n maxLength: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n minHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onChange: PropTypes.func,\n onContentReady: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDisposing: PropTypes.func,\n onEnterKey: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onInitialized: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onPaste: PropTypes.func,\n onValueChanged: PropTypes.func,\n placeholder: PropTypes.string,\n readOnly: PropTypes.bool,\n rtlEnabled: PropTypes.bool,\n spellcheck: PropTypes.bool,\n stylingMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"outlined\",\n \"underlined\",\n \"filled\"\n ])\n ]),\n tabIndex: PropTypes.number,\n text: PropTypes.string,\n validationErrors: PropTypes.array,\n validationMessageMode: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"always\",\n \"auto\"\n ])\n ]),\n validationMessagePosition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n validationStatus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"valid\",\n \"invalid\",\n \"pending\"\n ])\n ]),\n value: PropTypes.string,\n valueChangeEvent: PropTypes.string,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nexports.default = TextArea;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.To = exports.Show = exports.Position = exports.Offset = exports.My = exports.Hide = exports.From = exports.Collision = exports.BoundaryOffset = exports.At = exports.Animation = exports.Toast = void 0;\nvar toast_1 = require(\"devextreme/ui/toast\");\nvar PropTypes = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Toast = /** @class */ (function (_super) {\n __extends(Toast, _super);\n function Toast() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = toast_1.default;\n _this.isPortalComponent = true;\n _this.subscribableOptions = [\"position\", \"visible\"];\n _this.independentEvents = [\"onContentReady\", \"onDisposing\", \"onHidden\", \"onHiding\", \"onInitialized\", \"onShowing\", \"onShown\"];\n _this._defaults = {\n defaultPosition: \"position\",\n defaultVisible: \"visible\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Toast.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Toast;\n}(component_1.Component));\nexports.Toast = Toast;\nToast.propTypes = {\n accessKey: PropTypes.string,\n animation: PropTypes.object,\n closeOnClick: PropTypes.bool,\n closeOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n closeOnSwipe: PropTypes.bool,\n copyRootClassesToWrapper: PropTypes.bool,\n deferRendering: PropTypes.bool,\n displayTime: PropTypes.number,\n focusStateEnabled: PropTypes.bool,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n hideOnOutsideClick: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.func\n ]),\n hideOnParentScroll: PropTypes.bool,\n hint: PropTypes.string,\n hoverStateEnabled: PropTypes.bool,\n maxHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n maxWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n message: PropTypes.string,\n minHeight: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n minWidth: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n onContentReady: PropTypes.func,\n onDisposing: PropTypes.func,\n onHidden: PropTypes.func,\n onHiding: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onShowing: PropTypes.func,\n onShown: PropTypes.func,\n position: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string\n ]),\n rtlEnabled: PropTypes.bool,\n shading: PropTypes.bool,\n shadingColor: PropTypes.string,\n tabIndex: PropTypes.number,\n type: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.oneOf([\n \"custom\",\n \"error\",\n \"info\",\n \"success\",\n \"warning\"\n ])\n ]),\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\nvar From = /** @class */ (function (_super) {\n __extends(From, _super);\n function From() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n From.OptionName = \"from\";\n From.ExpectedChildren = {\n position: { optionName: \"position\", isCollectionItem: false }\n };\n return From;\n}(nested_option_1.default));\nexports.From = From;\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n Hide.ExpectedChildren = {\n from: { optionName: \"from\", isCollectionItem: false },\n to: { optionName: \"to\", isCollectionItem: false }\n };\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\nvar To = /** @class */ (function (_super) {\n __extends(To, _super);\n function To() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n To.OptionName = \"to\";\n return To;\n}(nested_option_1.default));\nexports.To = To;\nexports.default = Toast;\n","/*!\n * devextreme-react\n * Version: 23.1.4\n * Build date: Fri Jul 14 2023\n *\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidationRule = exports.StringLengthRule = exports.RequiredRule = exports.RangeRule = exports.PatternRule = exports.NumericRule = exports.EmailRule = exports.CustomRule = exports.CompareRule = exports.AsyncRule = exports.Adapter = exports.Validator = void 0;\nvar validator_1 = require(\"devextreme/ui/validator\");\nvar PropTypes = require(\"prop-types\");\nvar extension_component_1 = require(\"./core/extension-component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Validator = /** @class */ (function (_super) {\n __extends(Validator, _super);\n function Validator() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = validator_1.default;\n _this.independentEvents = [\"onDisposing\", \"onInitialized\", \"onValidated\"];\n _this._expectedChildren = {\n adapter: { optionName: \"adapter\", isCollectionItem: false },\n AsyncRule: { optionName: \"validationRules\", isCollectionItem: true },\n CompareRule: { optionName: \"validationRules\", isCollectionItem: true },\n CustomRule: { optionName: \"validationRules\", isCollectionItem: true },\n EmailRule: { optionName: \"validationRules\", isCollectionItem: true },\n NumericRule: { optionName: \"validationRules\", isCollectionItem: true },\n PatternRule: { optionName: \"validationRules\", isCollectionItem: true },\n RangeRule: { optionName: \"validationRules\", isCollectionItem: true },\n RequiredRule: { optionName: \"validationRules\", isCollectionItem: true },\n StringLengthRule: { optionName: \"validationRules\", isCollectionItem: true },\n validationRule: { optionName: \"validationRules\", isCollectionItem: true }\n };\n return _this;\n }\n Object.defineProperty(Validator.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: false,\n configurable: true\n });\n return Validator;\n}(extension_component_1.ExtensionComponent));\nexports.Validator = Validator;\nValidator.propTypes = {\n adapter: PropTypes.object,\n elementAttr: PropTypes.object,\n height: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ]),\n name: PropTypes.string,\n onDisposing: PropTypes.func,\n onInitialized: PropTypes.func,\n onOptionChanged: PropTypes.func,\n onValidated: PropTypes.func,\n validationGroup: PropTypes.string,\n validationRules: PropTypes.array,\n width: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.number,\n PropTypes.string\n ])\n};\nvar Adapter = /** @class */ (function (_super) {\n __extends(Adapter, _super);\n function Adapter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Adapter.OptionName = \"adapter\";\n return Adapter;\n}(nested_option_1.default));\nexports.Adapter = Adapter;\nvar AsyncRule = /** @class */ (function (_super) {\n __extends(AsyncRule, _super);\n function AsyncRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsyncRule.OptionName = \"validationRules\";\n AsyncRule.IsCollectionItem = true;\n AsyncRule.PredefinedProps = {\n type: \"async\"\n };\n return AsyncRule;\n}(nested_option_1.default));\nexports.AsyncRule = AsyncRule;\nvar CompareRule = /** @class */ (function (_super) {\n __extends(CompareRule, _super);\n function CompareRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CompareRule.OptionName = \"validationRules\";\n CompareRule.IsCollectionItem = true;\n CompareRule.PredefinedProps = {\n type: \"compare\"\n };\n return CompareRule;\n}(nested_option_1.default));\nexports.CompareRule = CompareRule;\nvar CustomRule = /** @class */ (function (_super) {\n __extends(CustomRule, _super);\n function CustomRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomRule.OptionName = \"validationRules\";\n CustomRule.IsCollectionItem = true;\n CustomRule.PredefinedProps = {\n type: \"custom\"\n };\n return CustomRule;\n}(nested_option_1.default));\nexports.CustomRule = CustomRule;\nvar EmailRule = /** @class */ (function (_super) {\n __extends(EmailRule, _super);\n function EmailRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmailRule.OptionName = \"validationRules\";\n EmailRule.IsCollectionItem = true;\n EmailRule.PredefinedProps = {\n type: \"email\"\n };\n return EmailRule;\n}(nested_option_1.default));\nexports.EmailRule = EmailRule;\nvar NumericRule = /** @class */ (function (_super) {\n __extends(NumericRule, _super);\n function NumericRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumericRule.OptionName = \"validationRules\";\n NumericRule.IsCollectionItem = true;\n NumericRule.PredefinedProps = {\n type: \"numeric\"\n };\n return NumericRule;\n}(nested_option_1.default));\nexports.NumericRule = NumericRule;\nvar PatternRule = /** @class */ (function (_super) {\n __extends(PatternRule, _super);\n function PatternRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatternRule.OptionName = \"validationRules\";\n PatternRule.IsCollectionItem = true;\n PatternRule.PredefinedProps = {\n type: \"pattern\"\n };\n return PatternRule;\n}(nested_option_1.default));\nexports.PatternRule = PatternRule;\nvar RangeRule = /** @class */ (function (_super) {\n __extends(RangeRule, _super);\n function RangeRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeRule.OptionName = \"validationRules\";\n RangeRule.IsCollectionItem = true;\n RangeRule.PredefinedProps = {\n type: \"range\"\n };\n return RangeRule;\n}(nested_option_1.default));\nexports.RangeRule = RangeRule;\nvar RequiredRule = /** @class */ (function (_super) {\n __extends(RequiredRule, _super);\n function RequiredRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RequiredRule.OptionName = \"validationRules\";\n RequiredRule.IsCollectionItem = true;\n RequiredRule.PredefinedProps = {\n type: \"required\"\n };\n return RequiredRule;\n}(nested_option_1.default));\nexports.RequiredRule = RequiredRule;\nvar StringLengthRule = /** @class */ (function (_super) {\n __extends(StringLengthRule, _super);\n function StringLengthRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StringLengthRule.OptionName = \"validationRules\";\n StringLengthRule.IsCollectionItem = true;\n StringLengthRule.PredefinedProps = {\n type: \"stringLength\"\n };\n return StringLengthRule;\n}(nested_option_1.default));\nexports.StringLengthRule = StringLengthRule;\nvar ValidationRule = /** @class */ (function (_super) {\n __extends(ValidationRule, _super);\n function ValidationRule() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValidationRule.OptionName = \"validationRules\";\n ValidationRule.IsCollectionItem = true;\n ValidationRule.PredefinedProps = {\n type: \"required\"\n };\n return ValidationRule;\n}(nested_option_1.default));\nexports.ValidationRule = ValidationRule;\nexports.default = Validator;\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n toComparable\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../core/utils/position\";\r\nimport {\r\n getHeight\r\n} from \"../../../core/utils/size\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport variableWrapper from \"../../../core/utils/variable_wrapper\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport {\r\n DataSource\r\n} from \"../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../data/data_source/utils\";\r\nimport {\r\n normalizeSortingInfo as normalizeSortingInfoUtility\r\n} from \"../../../data/utils\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport formatHelper from \"../../../format_helper\";\r\nimport LoadPanel from \"../../../ui/load_panel\";\r\nimport sharedFiltering from \"../../../ui/shared/filtering\";\r\nvar DATAGRID_SELECTION_DISABLED_CLASS = \"dx-selection-disabled\";\r\nvar DATAGRID_GROUP_OPENED_CLASS = \"dx-datagrid-group-opened\";\r\nvar DATAGRID_GROUP_CLOSED_CLASS = \"dx-datagrid-group-closed\";\r\nvar DATAGRID_EXPAND_CLASS = \"dx-datagrid-expand\";\r\nvar NO_DATA_CLASS = \"nodata\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar SCROLLING_MODE_OPTION = \"scrolling.mode\";\r\nvar ROW_RENDERING_MODE_OPTION = \"scrolling.rowRenderingMode\";\r\nvar DATE_INTERVAL_SELECTORS = {\r\n year: value => value && value.getFullYear(),\r\n month: value => value && value.getMonth() + 1,\r\n day: value => value && value.getDate(),\r\n quarter: value => value && Math.floor(value.getMonth() / 3) + 1,\r\n hour: value => value && value.getHours(),\r\n minute: value => value && value.getMinutes(),\r\n second: value => value && value.getSeconds()\r\n};\r\nvar getIntervalSelector = function() {\r\n var data = arguments[1];\r\n var value = this.calculateCellValue(data);\r\n if (!isDefined(value)) {\r\n return null\r\n }\r\n if (isDateType(this.dataType)) {\r\n var nameIntervalSelector = arguments[0];\r\n return DATE_INTERVAL_SELECTORS[nameIntervalSelector](value)\r\n }\r\n if (\"number\" === this.dataType) {\r\n var groupInterval = arguments[0];\r\n return Math.floor(Number(value) / groupInterval) * groupInterval\r\n }\r\n};\r\nvar equalSelectors = function(selector1, selector2) {\r\n if (isFunction(selector1) && isFunction(selector2)) {\r\n if (selector1.originalCallback && selector2.originalCallback) {\r\n return selector1.originalCallback === selector2.originalCallback && selector1.columnIndex === selector2.columnIndex\r\n }\r\n }\r\n return selector1 === selector2\r\n};\r\n\r\nfunction isDateType(dataType) {\r\n return \"date\" === dataType || \"datetime\" === dataType\r\n}\r\nvar setEmptyText = function($container) {\r\n $container.get(0).textContent = \"\\xa0\"\r\n};\r\nvar normalizeSortingInfo = function(sort) {\r\n sort = sort || [];\r\n var result = normalizeSortingInfoUtility(sort);\r\n for (var i = 0; i < sort.length; i++) {\r\n if (sort && sort[i] && void 0 !== sort[i].isExpanded) {\r\n result[i].isExpanded = sort[i].isExpanded\r\n }\r\n if (sort && sort[i] && void 0 !== sort[i].groupInterval) {\r\n result[i].groupInterval = sort[i].groupInterval\r\n }\r\n }\r\n return result\r\n};\r\nvar formatValue = function(value, options) {\r\n var valueText = formatHelper.format(value, options.format) || value && value.toString() || \"\";\r\n var formatObject = {\r\n value: value,\r\n valueText: options.getDisplayFormat ? options.getDisplayFormat(valueText) : valueText,\r\n target: options.target || \"row\",\r\n groupInterval: options.groupInterval\r\n };\r\n return options.customizeText ? options.customizeText.call(options, formatObject) : formatObject.valueText\r\n};\r\nvar getSummaryText = function(summaryItem, summaryTexts) {\r\n var displayFormat = summaryItem.displayFormat || summaryItem.columnCaption && summaryTexts[\"\".concat(summaryItem.summaryType, \"OtherColumn\")] || summaryTexts[summaryItem.summaryType];\r\n return formatValue(summaryItem.value, {\r\n format: summaryItem.valueFormat,\r\n getDisplayFormat: valueText => displayFormat ? format(displayFormat, valueText, summaryItem.columnCaption) : valueText,\r\n customizeText: summaryItem.customizeText\r\n })\r\n};\r\nvar getWidgetInstance = function($element) {\r\n var editorData = $element.data && $element.data();\r\n var dxComponents = editorData && editorData.dxComponents;\r\n var widgetName = dxComponents && dxComponents[0];\r\n return widgetName && editorData[widgetName]\r\n};\r\nvar equalFilterParameters = function equalFilterParameters(filter1, filter2) {\r\n if (Array.isArray(filter1) && Array.isArray(filter2)) {\r\n if (filter1.length !== filter2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < filter1.length; i++) {\r\n if (!equalFilterParameters(filter1[i], filter2[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n if (isFunction(filter1) && filter1.columnIndex >= 0 && isFunction(filter2) && filter2.columnIndex >= 0) {\r\n return filter1.columnIndex === filter2.columnIndex && toComparable(filter1.filterValue) === toComparable(filter2.filterValue) && toComparable(filter1.selectedFilterOperation) === toComparable(filter2.selectedFilterOperation)\r\n }\r\n return toComparable(filter1) == toComparable(filter2)\r\n};\r\n\r\nfunction normalizeGroupingLoadOptions(group) {\r\n if (!Array.isArray(group)) {\r\n group = [group]\r\n }\r\n return group.map((item, i) => {\r\n if (isString(item)) {\r\n return {\r\n selector: item,\r\n isExpanded: i < group.length - 1\r\n }\r\n }\r\n return item\r\n })\r\n}\r\nexport default {\r\n renderNoDataText($element) {\r\n $element = $element || this.element();\r\n if (!$element) {\r\n return\r\n }\r\n var noDataClass = this.addWidgetPrefix(NO_DATA_CLASS);\r\n var noDataElement = $element.find(\".\".concat(noDataClass)).last();\r\n var isVisible = this._dataController.isEmpty();\r\n var isLoading = this._dataController.isLoading();\r\n if (!noDataElement.length) {\r\n noDataElement = $(\"\").addClass(noDataClass).appendTo($element)\r\n }\r\n if (isVisible && !isLoading) {\r\n noDataElement.removeClass(\"dx-hidden\").text(this._getNoDataText())\r\n } else {\r\n noDataElement.addClass(\"dx-hidden\")\r\n }\r\n },\r\n renderLoadPanel($element, $container, isLocalStore) {\r\n var loadPanelOptions;\r\n this._loadPanel && this._loadPanel.$element().remove();\r\n loadPanelOptions = this.option(\"loadPanel\");\r\n if (loadPanelOptions && (\"auto\" === loadPanelOptions.enabled ? !isLocalStore : loadPanelOptions.enabled)) {\r\n loadPanelOptions = extend({\r\n shading: false,\r\n message: loadPanelOptions.text,\r\n container: $container\r\n }, loadPanelOptions);\r\n this._loadPanel = this._createComponent($(\"
\").appendTo($container), LoadPanel, loadPanelOptions)\r\n } else {\r\n this._loadPanel = null\r\n }\r\n },\r\n calculateLoadPanelPosition($element) {\r\n var $window = $(getWindow());\r\n if (getHeight($element) > getHeight($window)) {\r\n return {\r\n of: $window,\r\n boundary: $element,\r\n collision: \"fit\"\r\n }\r\n }\r\n return {\r\n of: $element\r\n }\r\n },\r\n getIndexByKey(key, items, keyName) {\r\n var index = -1;\r\n if (void 0 !== key && Array.isArray(items)) {\r\n keyName = arguments.length <= 2 ? \"key\" : keyName;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = isDefined(keyName) ? items[i][keyName] : items[i];\r\n if (equalByValue(key, item)) {\r\n index = i;\r\n break\r\n }\r\n }\r\n }\r\n return index\r\n },\r\n combineFilters(filters, operation) {\r\n var _a;\r\n var resultFilter = [];\r\n operation = operation || \"and\";\r\n for (var i = 0; i < filters.length; i++) {\r\n if (!filters[i]) {\r\n continue\r\n }\r\n if (1 === (null === (_a = filters[i]) || void 0 === _a ? void 0 : _a.length) && \"!\" === filters[i][0]) {\r\n if (\"and\" === operation) {\r\n return [\"!\"]\r\n }\r\n if (\"or\" === operation) {\r\n continue\r\n }\r\n }\r\n if (resultFilter.length) {\r\n resultFilter.push(operation)\r\n }\r\n resultFilter.push(filters[i])\r\n }\r\n if (1 === resultFilter.length) {\r\n resultFilter = resultFilter[0]\r\n }\r\n if (resultFilter.length) {\r\n return resultFilter\r\n }\r\n return\r\n },\r\n checkChanges(changes, changeNames) {\r\n var changesWithChangeNamesCount = 0;\r\n for (var i = 0; i < changeNames.length; i++) {\r\n if (changes[changeNames[i]]) {\r\n changesWithChangeNamesCount++\r\n }\r\n }\r\n return changes.length && changes.length === changesWithChangeNamesCount\r\n },\r\n equalFilterParameters: equalFilterParameters,\r\n proxyMethod(instance, methodName, defaultResult) {\r\n if (!instance[methodName]) {\r\n instance[methodName] = function() {\r\n var dataSource = this._dataSource;\r\n return dataSource ? dataSource[methodName].apply(dataSource, arguments) : defaultResult\r\n }\r\n }\r\n },\r\n formatValue: formatValue,\r\n getFormatOptionsByColumn: (column, target) => ({\r\n format: column.format,\r\n getDisplayFormat: column.getDisplayFormat,\r\n customizeText: column.customizeText,\r\n target: target,\r\n trueText: column.trueText,\r\n falseText: column.falseText\r\n }),\r\n getDisplayValue(column, value, data, rowType) {\r\n if (column.displayValueMap && void 0 !== column.displayValueMap[value]) {\r\n return column.displayValueMap[value]\r\n }\r\n if (column.calculateDisplayValue && data && \"group\" !== rowType) {\r\n return column.calculateDisplayValue(data)\r\n }\r\n if (column.lookup && !(\"group\" === rowType && (column.calculateGroupValue || column.calculateDisplayValue))) {\r\n return column.lookup.calculateCellValue(value)\r\n }\r\n return value\r\n },\r\n getGroupRowSummaryText(summaryItems, summaryTexts) {\r\n var result = \"(\";\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n var summaryItem = summaryItems[i];\r\n result += (i > 0 ? \", \" : \"\") + getSummaryText(summaryItem, summaryTexts)\r\n }\r\n return result + \")\"\r\n },\r\n getSummaryText: getSummaryText,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n getFormatByDataType(dataType) {\r\n switch (dataType) {\r\n case \"date\":\r\n return \"shortDate\";\r\n case \"datetime\":\r\n return \"shortDateShortTime\";\r\n default:\r\n return\r\n }\r\n },\r\n getHeaderFilterGroupParameters(column, remoteGrouping) {\r\n var result = [];\r\n var dataField = column.dataField || column.name;\r\n var groupInterval = sharedFiltering.getGroupInterval(column);\r\n if (groupInterval) {\r\n each(groupInterval, (index, interval) => {\r\n result.push(remoteGrouping ? {\r\n selector: dataField,\r\n groupInterval: interval,\r\n isExpanded: index < groupInterval.length - 1\r\n } : getIntervalSelector.bind(column, interval))\r\n });\r\n return result\r\n }\r\n if (remoteGrouping) {\r\n result = [{\r\n selector: dataField,\r\n isExpanded: false\r\n }]\r\n } else {\r\n result = function(data) {\r\n var result = column.calculateCellValue(data);\r\n if (void 0 === result || \"\" === result) {\r\n result = null\r\n }\r\n return result\r\n };\r\n if (column.sortingMethod) {\r\n result = [{\r\n selector: result,\r\n compare: column.sortingMethod.bind(column)\r\n }]\r\n }\r\n }\r\n return result\r\n },\r\n equalSortParameters(sortParameters1, sortParameters2, ignoreIsExpanded) {\r\n sortParameters1 = normalizeSortingInfo(sortParameters1);\r\n sortParameters2 = normalizeSortingInfo(sortParameters2);\r\n if (Array.isArray(sortParameters1) && Array.isArray(sortParameters2)) {\r\n if (sortParameters1.length !== sortParameters2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < sortParameters1.length; i++) {\r\n if (!equalSelectors(sortParameters1[i].selector, sortParameters2[i].selector) || sortParameters1[i].desc !== sortParameters2[i].desc || sortParameters1[i].groupInterval !== sortParameters2[i].groupInterval || !ignoreIsExpanded && Boolean(sortParameters1[i].isExpanded) !== Boolean(sortParameters2[i].isExpanded)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return (!sortParameters1 || !sortParameters1.length) === (!sortParameters2 || !sortParameters2.length)\r\n },\r\n getPointsByColumns(items, pointCreated, isVertical, startColumnIndex) {\r\n var cellsLength = items.length;\r\n var notCreatePoint = false;\r\n var item;\r\n var offset;\r\n var columnIndex = startColumnIndex || 0;\r\n var result = [];\r\n var rtlEnabled;\r\n for (var i = 0; i <= cellsLength; i++) {\r\n if (i < cellsLength) {\r\n item = items.eq(i);\r\n offset = item.offset();\r\n rtlEnabled = \"rtl\" === item.css(\"direction\")\r\n }\r\n var point = {\r\n index: columnIndex,\r\n x: offset ? offset.left + (!isVertical && rtlEnabled ^ i === cellsLength ? getBoundingRect(item[0]).width : 0) : 0,\r\n y: offset ? offset.top + (isVertical && i === cellsLength ? getBoundingRect(item[0]).height : 0) : 0,\r\n columnIndex: columnIndex\r\n };\r\n if (!isVertical && i > 0) {\r\n var prevItemOffset = items.eq(i - 1).offset();\r\n if (prevItemOffset.top < point.y) {\r\n point.y = prevItemOffset.top\r\n }\r\n }\r\n if (pointCreated) {\r\n notCreatePoint = pointCreated(point)\r\n }\r\n if (!notCreatePoint) {\r\n result.push(point)\r\n }\r\n columnIndex++\r\n }\r\n return result\r\n },\r\n getExpandCellTemplate: () => ({\r\n allowRenderToDetachedContainer: true,\r\n render(container, options) {\r\n var $container = $(container);\r\n if (isDefined(options.value) && !(options.data && options.data.isContinuation) && !options.row.isNewRow) {\r\n var rowsView = options.component.getView(\"rowsView\");\r\n $container.addClass(DATAGRID_EXPAND_CLASS).addClass(DATAGRID_SELECTION_DISABLED_CLASS);\r\n $(\"
\").addClass(options.value ? DATAGRID_GROUP_OPENED_CLASS : DATAGRID_GROUP_CLOSED_CLASS).appendTo($container);\r\n rowsView.setAria(\"label\", options.value ? rowsView.localize(\"dxDataGrid-ariaCollapse\") : rowsView.localize(\"dxDataGrid-ariaExpand\"), $container)\r\n } else {\r\n setEmptyText($container)\r\n }\r\n }\r\n }),\r\n setEmptyText: setEmptyText,\r\n isDateType: isDateType,\r\n getSelectionRange(focusedElement) {\r\n try {\r\n if (focusedElement) {\r\n return {\r\n selectionStart: focusedElement.selectionStart,\r\n selectionEnd: focusedElement.selectionEnd\r\n }\r\n }\r\n } catch (e) {}\r\n return {}\r\n },\r\n setSelectionRange(focusedElement, selectionRange) {\r\n try {\r\n if (focusedElement && focusedElement.setSelectionRange) {\r\n focusedElement.setSelectionRange(selectionRange.selectionStart, selectionRange.selectionEnd)\r\n }\r\n } catch (e) {}\r\n },\r\n focusAndSelectElement(component, $element) {\r\n var isFocused = $element.is(\":focus\");\r\n eventsEngine.trigger($element, \"focus\");\r\n var isSelectTextOnEditingStart = component.option(\"editing.selectTextOnEditStart\");\r\n var element = $element.get(0);\r\n if (!isFocused && isSelectTextOnEditingStart && $element.is(\".dx-texteditor-input\") && !$element.is(\"[readonly]\")) {\r\n var editor = getWidgetInstance($element.closest(\".dx-texteditor\"));\r\n when(editor && editor._loadItemDeferred).done(() => {\r\n element.select()\r\n })\r\n }\r\n },\r\n getWidgetInstance: getWidgetInstance,\r\n getLastResizableColumnIndex(columns, resultWidths) {\r\n var hasResizableColumns = columns.some(column => column && !column.command && !column.fixed && false !== column.allowResizing);\r\n var lastColumnIndex;\r\n for (lastColumnIndex = columns.length - 1; columns[lastColumnIndex]; lastColumnIndex--) {\r\n var column = columns[lastColumnIndex];\r\n var width = resultWidths && resultWidths[lastColumnIndex];\r\n var allowResizing = !hasResizableColumns || false !== column.allowResizing;\r\n if (!column.command && !column.fixed && \"adaptiveHidden\" !== width && allowResizing) {\r\n break\r\n }\r\n }\r\n return lastColumnIndex\r\n },\r\n isElementInCurrentGrid(controller, $element) {\r\n if ($element && $element.length) {\r\n var $grid = $element.closest(\".\".concat(controller.getWidgetContainerClass())).parent();\r\n return $grid.is(controller.component.$element())\r\n }\r\n return false\r\n },\r\n isVirtualRowRendering(that) {\r\n var rowRenderingMode = that.option(ROW_RENDERING_MODE_OPTION);\r\n var isVirtualMode = that.option(SCROLLING_MODE_OPTION) === SCROLLING_MODE_VIRTUAL;\r\n var isAppendMode = that.option(SCROLLING_MODE_OPTION) === SCROLLING_MODE_INFINITE;\r\n if (false === that.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n return true\r\n }\r\n return rowRenderingMode === SCROLLING_MODE_VIRTUAL\r\n },\r\n getPixelRatio: window => window.devicePixelRatio || 1,\r\n getContentHeightLimit(browser) {\r\n if (browser.mozilla) {\r\n return 8e6\r\n }\r\n return 15e6 / this.getPixelRatio(getWindow())\r\n },\r\n normalizeLookupDataSource(lookup) {\r\n var lookupDataSourceOptions;\r\n if (lookup.items) {\r\n lookupDataSourceOptions = lookup.items\r\n } else {\r\n lookupDataSourceOptions = lookup.dataSource;\r\n if (isFunction(lookupDataSourceOptions) && !variableWrapper.isWrapped(lookupDataSourceOptions)) {\r\n lookupDataSourceOptions = lookupDataSourceOptions({})\r\n }\r\n }\r\n return normalizeDataSourceOptions(lookupDataSourceOptions)\r\n },\r\n getWrappedLookupDataSource(column, dataSource, filter) {\r\n if (!dataSource) {\r\n return []\r\n }\r\n var lookupDataSourceOptions = this.normalizeLookupDataSource(column.lookup);\r\n if (column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return lookupDataSourceOptions\r\n }\r\n var hasGroupPaging = dataSource.remoteOperations().groupPaging;\r\n var hasLookupOptimization = column.displayField && isString(column.displayField);\r\n var cachedUniqueRelevantItems;\r\n var previousTake;\r\n var previousSkip;\r\n var sliceItems = (items, loadOptions) => {\r\n var _a;\r\n var start = null !== (_a = loadOptions.skip) && void 0 !== _a ? _a : 0;\r\n var end = loadOptions.take ? start + loadOptions.take : items.length;\r\n return items.slice(start, end)\r\n };\r\n var lookupDataSource = _extends(_extends({}, lookupDataSourceOptions), {\r\n __dataGridSourceFilter: filter,\r\n load: loadOptions => {\r\n var d = new Deferred;\r\n (loadOptions => {\r\n var group = normalizeGroupingLoadOptions(hasLookupOptimization ? [column.dataField, column.displayField] : column.dataField);\r\n var d = new Deferred;\r\n var canUseCache = cachedUniqueRelevantItems && (!hasGroupPaging || loadOptions.skip === previousSkip && loadOptions.take === previousTake);\r\n if (canUseCache) {\r\n d.resolve(sliceItems(cachedUniqueRelevantItems, loadOptions))\r\n } else {\r\n previousSkip = loadOptions.skip;\r\n previousTake = loadOptions.take;\r\n dataSource.load({\r\n filter: filter,\r\n group: group,\r\n take: hasGroupPaging ? loadOptions.take : void 0,\r\n skip: hasGroupPaging ? loadOptions.skip : void 0\r\n }).done(items => {\r\n cachedUniqueRelevantItems = items;\r\n d.resolve(hasGroupPaging ? items : sliceItems(items, loadOptions))\r\n }).fail(d.fail)\r\n }\r\n return d\r\n })(loadOptions).done(items => {\r\n if (0 === items.length) {\r\n d.resolve([]);\r\n return\r\n }\r\n var filter = this.combineFilters(items.flatMap(data => data.key).map(key => [column.lookup.valueExpr, key]), \"or\");\r\n var newDataSource = new DataSource(_extends(_extends(_extends({}, lookupDataSourceOptions), loadOptions), {\r\n filter: this.combineFilters([filter, loadOptions.filter], \"and\"),\r\n paginate: false\r\n }));\r\n newDataSource.load().done(d.resolve).fail(d.fail)\r\n }).fail(d.fail);\r\n return d\r\n },\r\n key: column.lookup.valueExpr,\r\n byKey(key) {\r\n var d = Deferred();\r\n this.load({\r\n filter: [column.lookup.valueExpr, \"=\", key]\r\n }).done(arr => {\r\n d.resolve(arr[0])\r\n });\r\n return d.promise()\r\n }\r\n });\r\n return lookupDataSource\r\n },\r\n logHeaderFilterDeprecatedWarningIfNeed(component) {\r\n var logWarning = component._logDeprecatedOptionWarning.bind(component);\r\n if (isDefined(component.option(\"headerFilter.allowSearch\"))) {\r\n logWarning(\"headerFilter.allowSearch\", {\r\n since: \"23.1\",\r\n alias: \"headerFilter.search.enabled\"\r\n })\r\n }\r\n if (isDefined(component.option(\"headerFilter.searchTimeout\"))) {\r\n logWarning(\"headerFilter.searchTimeout\", {\r\n since: \"23.1\",\r\n alias: \"headerFilter.search.timeout\"\r\n })\r\n }\r\n var specificName = \"dxPivotGrid\" === component.NAME ? \"dataSource.fields\" : \"columns\";\r\n var columns = component.option(specificName);\r\n if (!Array.isArray(columns)) {\r\n return\r\n }\r\n var logSpecificDeprecatedWarningIfNeed = columns => {\r\n columns.forEach(column => {\r\n var _a;\r\n var headerFilter = column.headerFilter || {};\r\n if (isDefined(headerFilter.allowSearch)) {\r\n logWarning(\"\".concat(specificName, \"[].headerFilter.allowSearch\"), {\r\n since: \"23.1\",\r\n alias: \"\".concat(specificName, \"[].headerFilter.search.enabled\")\r\n })\r\n }\r\n if (isDefined(headerFilter.searchMode)) {\r\n logWarning(\"\".concat(specificName, \"[].headerFilter.searchMode\"), {\r\n since: \"23.1\",\r\n alias: \"\".concat(specificName, \"[].headerFilter.search.mode\")\r\n })\r\n }\r\n if (null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length) {\r\n logSpecificDeprecatedWarningIfNeed(column.columns)\r\n }\r\n })\r\n };\r\n logSpecificDeprecatedWarningIfNeed(columns)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/frame.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = hasWindow() ? getWindow() : {};\r\nimport callOnce from \"../core/utils/call_once\";\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = callOnce((function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n}));\r\nexport function requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\nexport function cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/easing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n }(function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n }(t))\r\n }\r\n};\r\nvar easing = {};\r\nexport var convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexport function setEasing(value) {\r\n easing = value\r\n}\r\nexport function getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (esm/animation/fx.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getTranslateCss,\r\n parseTranslate,\r\n clearCache,\r\n locate,\r\n getTranslate\r\n} from \"./translator\";\r\nimport {\r\n convertTransitionTimingFuncToEasing,\r\n getEasing\r\n} from \"./easing\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"./frame\";\r\nimport {\r\n transitionEndEventName,\r\n transition\r\n} from \"../core/utils/support\";\r\nimport positionUtils from \"./position\";\r\nimport {\r\n removeEvent\r\n} from \"../events/remove\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar removeEventName = addNamespace(removeEvent, \"dxFX\");\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always((function() {\r\n that._cleanup($element, config)\r\n }))\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done((function() {\r\n config.transitionAnimation.finish()\r\n })).fail((function() {\r\n deferred.rejectWith($element, [config, $element])\r\n }));\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new Deferred;\r\n var transitionEndFired = new Deferred;\r\n var simulatedTransitionEndFired = new Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventFullName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventFullName, (function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n }));\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n }));\r\n var waitForJSCompleteTimer = setTimeout((function() {\r\n simulatedEndEventTimer = setTimeout((function() {\r\n simulatedTransitionEndFired.reject()\r\n }), config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n }));\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n each(config.to, (function(key) {\r\n $element.css(key, $element.css(key))\r\n }))\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n each(config.to, (function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n }));\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = map(currentValue[TRANSFORM_PROP], (function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return getTranslateCss(value)\r\n } else if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n })).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout((function() {\r\n that._startAnimation($element, config)\r\n }), config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, (function() {\r\n if (config.frameAnimation) {\r\n cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n }));\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n each(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), (function(i, part) {\r\n var translateData = parseTranslate(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n }));\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = requestAnimationFrame((function() {\r\n that._animationStep($element, config)\r\n }))\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n return function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n each(to, (function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === typeof endPropValue ? calcValueRecursively(from[propName], endPropValue) : function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n }(propName)\r\n }));\r\n return result\r\n }(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n each([\"from\", \"to\"], (function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n }))\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return isPlainObject(target)\r\n }), \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, (function(target) {\r\n return \"string\" === typeof target\r\n }), \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var _from$opacity, _to$opacity;\r\n var from = config.from;\r\n var to = config.to;\r\n var defaultFromOpacity = \"fadeOut\" === config.type ? 1 : 0;\r\n var defaultToOpacity = \"fadeOut\" === config.type ? 0 : 1;\r\n var fromOpacity = isPlainObject(from) ? String(null !== (_from$opacity = from.opacity) && void 0 !== _from$opacity ? _from$opacity : defaultFromOpacity) : String(from);\r\n var toOpacity = isPlainObject(to) ? String(null !== (_to$opacity = to.opacity) && void 0 !== _to$opacity ? _to$opacity : defaultToOpacity) : String(to);\r\n if (!config.skipElementInitialStyles) {\r\n fromOpacity = $element.css(\"opacity\")\r\n }\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var $element = this.element;\r\n var config = this.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n this.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, this);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n this.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done((function() {\r\n onElementAnimationComplete(animation)\r\n })).fail((function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n }))\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var $element = this.element;\r\n var config = this.config;\r\n clearTimeout(this.startTimeout);\r\n if (!this.isStarted) {\r\n this.start()\r\n }\r\n this.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, (function() {\r\n fx.stop(animation.element)\r\n }));\r\n animation.deferred.always((function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n }))\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = extend(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done((function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n }))\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout((function() {\r\n animation.start()\r\n }))\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = positionUtils.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n each(props, (function(key, value) {\r\n try {\r\n $element.css(key, isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n }))\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element);\r\n var queueData = getAnimQueueData($element);\r\n each(queueData, (function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n }));\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nexport default fx;\r\n","/**\r\n * DevExtreme (esm/animation/position.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n splitPair,\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport browser from \"../core/utils/browser\";\r\nimport {\r\n resetPosition,\r\n move\r\n} from \"./translator\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n setStyle\r\n} from \"../core/utils/style\";\r\nvar horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale\\(.+?\\)/;\r\nvar IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = splitPair(raw);\r\n if (pair) {\r\n each(pair, (function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }))\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return pairToObject(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = splitPair(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"
\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo($(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = $(what);\r\n var currentOffset = $what.offset();\r\n var result = extend(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = $(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: getOuterWidth($what),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: getOuterHeight($what),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if (of.preventDefault) {\r\n h.atLocation = of.pageX;\r\n v.atLocation = of.pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = $(of);\r\n if (isWindow(of [0])) {\r\n h.atLocation = of.scrollLeft();\r\n v.atLocation = of.scrollTop();\r\n if (\"phone\" === devices.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : getWidth(of);\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : getHeight(of)\r\n }\r\n } else if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = getWidth(of);\r\n v.atSize = getHeight(of)\r\n } else {\r\n var ofRect = getBoundingRect(of.get(0));\r\n var o = getOffsetWithoutScale(of);\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, getOuterWidth(of));\r\n v.atSize = Math.max(ofRect.height, getOuterHeight(of))\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = $(window);\r\n var windowWidth = getWidth(win);\r\n var windowHeight = getHeight(win);\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = domAdapter.getDocumentElement();\r\n var hZoomLevel = touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary && !isWindow(boundary)) {\r\n var $boundary = $(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = getWidth($boundary);\r\n boundaryHeight = getHeight($boundary)\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n extend(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar setScaleProperty = function(element, scale, styleAttr, isEmpty) {\r\n var stylePropIsValid = isDefined(element.style) && !domAdapter.isNode(element.style);\r\n var newStyleValue = isEmpty ? styleAttr.replace(scale, \"\") : styleAttr;\r\n if (stylePropIsValid) {\r\n setStyle(element, newStyleValue, false)\r\n } else {\r\n var styleAttributeNode = domAdapter.createAttribute(\"style\");\r\n styleAttributeNode.value = newStyleValue;\r\n element.setAttributeNode(styleAttributeNode)\r\n }\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n setScaleProperty(currentElement, scale, style, true);\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n setScaleProperty(currentElement, scale, style, false)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = $(what);\r\n if (!options) {\r\n return $what.offset()\r\n }\r\n resetPosition($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n move($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = $(element).get(0);\r\n if (isWindow(element)) {\r\n return null\r\n } else if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n return $(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nexport default {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/translator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n type\r\n} from \"../core/utils/type\";\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nexport var locate = function($element) {\r\n $element = $($element);\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === type(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n elementData($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nexport var clearCache = function($element) {\r\n if ($element.length) {\r\n removeData($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexport var getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexport var getTranslate = function($element) {\r\n var result = $element.length ? elementData($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexport var move = function($element, position) {\r\n $element = $($element);\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexport var resetPosition = function($element, finishTransition) {\r\n $element = $($element);\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexport var parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/core/action.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isPlainObject,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nexport default class Action {\r\n constructor(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || getWindow();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n execute() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n }\r\n _validateAction(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _executeAction(e) {\r\n var result;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n static registerExecutor(name, executor) {\r\n if (isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n }\r\n static unregisterExecutor() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n each(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n }\r\n}\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = condition => e => {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-disabled, .dx-state-disabled *\"))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\"))\r\n },\r\n undefined: {\r\n execute: e => {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: e => {\r\n if (isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"./errors\";\r\nimport {\r\n isWindow\r\n} from \"./utils/type\";\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return this\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof this.prototype[memberName] && \"function\" === typeof member;\r\n this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member\r\n }\r\n return this\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nexport default classImpl;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport callbacks from \"./component_registrator_callbacks\";\r\nimport errors from \"./errors\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentName(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n }))\r\n } else {\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n }));\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nexport default registerComponent;\r\n","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport errors from \"./errors\";\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n defaultUseCurrencyAccountingStyle: true,\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: optionsString => {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return JSON.parse(optionsString)\r\n } catch (ex) {\r\n try {\r\n return JSON.parse(normalizeToJSONString(optionsString))\r\n } catch (exNormalize) {\r\n throw errors.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n }\r\n};\r\nvar normalizeToJSONString = optionsString => optionsString.replace(/'/g, '\"').replace(/,\\s*([\\]}])/g, \"$1\").replace(/([{,])\\s*([^\":\\s]+)\\s*:/g, '$1\"$2\":');\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(deprecatedField => {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n extend(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nexport default configMethod;\r\n","/**\r\n * DevExtreme (esm/core/devices.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"./utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n getNavigator,\r\n hasWindow\r\n} from \"./utils/window\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport readyCallbacks from \"./utils/ready_callbacks\";\r\nimport resizeCallbacks from \"./utils/resize_callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n sessionStorage as SessionStorage\r\n} from \"./utils/storage\";\r\nimport {\r\n changeCallback,\r\n value as viewPort\r\n} from \"./utils/view_port\";\r\nimport Config from \"./config\";\r\nvar navigator = getNavigator();\r\nvar window = getWindow();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n generic(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n ios(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nclass Devices {\r\n constructor(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new EventsStrategy(this);\r\n this.changed = Callbacks();\r\n if (hasWindow()) {\r\n readyCallbacks.add(this._recalculateOrientation.bind(this));\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n current(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n }\r\n real(forceDevice) {\r\n return extend({}, this._realDevice)\r\n }\r\n orientation() {\r\n return this._currentOrientation\r\n }\r\n isForced() {\r\n return this._forced\r\n }\r\n isRippleEmulator() {\r\n return !!this._window.tinyHippos\r\n }\r\n _getCssClasses(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n }\r\n attachCssClasses(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n }\r\n detachCssClasses(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n }\r\n isSimulator() {\r\n try {\r\n return this._isSimulator || hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n forceSimulator() {\r\n this._isSimulator = true\r\n }\r\n _getDevice(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n }\r\n _getDeviceOrNameFromWindowScope() {\r\n var result;\r\n if (hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n }\r\n _getDeviceNameFromSessionStorage() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n }\r\n _fromConfig(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n }\r\n _fromUA(ua) {\r\n var config;\r\n each(uaParsers, (platform, parser) => {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n }\r\n _changeOrientation() {\r\n var $window = $(this._window);\r\n var orientation = getHeight($window) > getWidth($window) ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n }\r\n _recalculateOrientation() {\r\n var windowWidth = getWidth(this._window);\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n }\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n}\r\nvar devices = new Devices;\r\nvar viewPortElement = viewPort();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\nchangeCallback.add((viewPort, prevViewport) => {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nexport default devices;\r\n","/**\r\n * DevExtreme (esm/core/dom_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport injector from \"./utils/dependency_injector\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getShadowElementsFromPoint\r\n} from \"./utils/shadow_dom\";\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar DOCUMENT_FRAGMENT_NODE = 11;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: (element, selector) => element.querySelectorAll(selector),\r\n elementMatches(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || (selector => {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n });\r\n return matches.call(element, selector)\r\n },\r\n createElement(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n createAttribute(text, context) {\r\n context = context || this._document;\r\n return context.createAttribute(text)\r\n },\r\n isNode: element => element && \"object\" === typeof element && \"nodeType\" in element && \"nodeName\" in element,\r\n isElementNode: element => element && element.nodeType === ELEMENT_NODE,\r\n isTextNode: element => element && element.nodeType === TEXT_NODE,\r\n isDocument: element => element && element.nodeType === DOCUMENT_NODE,\r\n isDocumentFragment: element => element && element.nodeType === DOCUMENT_FRAGMENT_NODE,\r\n removeElement(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: (element, name) => element.getAttribute(name),\r\n setAttribute(element, name, value) {\r\n if (\"style\" === name) {\r\n element.style.cssText = value\r\n } else {\r\n element.setAttribute(name, value)\r\n }\r\n },\r\n removeAttribute(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty(element, name, value) {\r\n element[name] = value\r\n },\r\n setText(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n isAdd ? element.classList.add(className) : element.classList.remove(className)\r\n }\r\n },\r\n setStyle(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument() {\r\n return this._document\r\n },\r\n getActiveElement(element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n return activeElementHolder.activeElement\r\n },\r\n getRootNode(element) {\r\n var _element$getRootNode, _element$getRootNode2;\r\n return null !== (_element$getRootNode = null === element || void 0 === element ? void 0 : null === (_element$getRootNode2 = element.getRootNode) || void 0 === _element$getRootNode2 ? void 0 : _element$getRootNode2.call(element)) && void 0 !== _element$getRootNode ? _element$getRootNode : this._document\r\n },\r\n getBody() {\r\n return this._document.body\r\n },\r\n createDocumentFragment() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement() {\r\n return this._document.documentElement\r\n },\r\n getLocation() {\r\n return this._document.location\r\n },\r\n getSelection() {\r\n return this._document.selection\r\n },\r\n getReadyState() {\r\n return this._document.readyState\r\n },\r\n getHead() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty(property) {\r\n return property in this._document\r\n },\r\n listen(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return () => {\r\n element.removeEventListener(event, callback)\r\n }\r\n },\r\n elementsFromPoint(x, y, element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n if (activeElementHolder.host) {\r\n return getShadowElementsFromPoint(x, y, activeElementHolder)\r\n }\r\n return activeElementHolder.elementsFromPoint(x, y)\r\n }\r\n};\r\nexport default injector(nativeDOMAdapterStrategy);\r\n","/**\r\n * DevExtreme (esm/core/options/option_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter,\r\n compileSetter,\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n equals\r\n} from \"../utils/comparator\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../utils/type\";\r\nimport {\r\n normalizeOptions\r\n} from \"./utils\";\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nexport class OptionManager {\r\n constructor(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n _setByReference(options, rulesOptions) {\r\n extend(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n }\r\n _setPreparedValue(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!equals(previousValue, value)) {\r\n var path = getPathParts(name);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || compileSetter(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: isDefined(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n }\r\n _prepareRelevantNames(options, name, value, silent) {\r\n if (isPlainObject(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n }\r\n get() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n }\r\n set(options, value, merge, silent) {\r\n options = normalizeOptions(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n }\r\n onRelevantNamesPrepared(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n }\r\n onChanging(callBack) {\r\n this._changingCallback = callBack\r\n }\r\n onChanged(callBack) {\r\n this._changedCallback = callBack\r\n }\r\n dispose() {\r\n this._changingCallback = noop;\r\n this._changedCallback = noop\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/comparator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n isRenderer\r\n} from \"./type\";\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nexport var equals = function(oldValue, newValue) {\r\n oldValue = toComparable(oldValue, true);\r\n newValue = toComparable(newValue, true);\r\n if (oldValue && newValue && isRenderer(oldValue) && isRenderer(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== typeof oldValue || domAdapter.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/core/options/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../utils/type\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n OptionManager\r\n} from \"./option_manager\";\r\nimport {\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n getFieldName,\r\n getParentName,\r\n convertRulesToOptions,\r\n getNestedOptionValue\r\n} from \"./utils\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nexport class Options {\r\n constructor(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared((options, name, value, silent) => this._setRelevantNames(options, name, value, silent));\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n set _initial(value) {\r\n this._initialOptions = value\r\n }\r\n get _initial() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n }\r\n _initDeprecatedNames() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n }\r\n _getByRules(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return convertRulesToOptions(rules)\r\n }\r\n _notifyDeprecated(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n }\r\n _setRelevantNames(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n }\r\n _setField(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = getFieldName(fullName) + fieldName;\r\n fullName = getParentName(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n }\r\n _clearField(options, name) {\r\n delete options[name];\r\n var previousFieldName = getParentName(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[getFieldName(name)]\r\n }\r\n }\r\n _normalizeName(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n }\r\n addRules(rules) {\r\n this._rules = rules.concat(this._rules)\r\n }\r\n applyRules(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n }\r\n dispose() {\r\n this._deprecatedCallback = noop;\r\n this._startChangeCallback = noop;\r\n this._endChangeCallback = noop;\r\n this._optionManager.dispose()\r\n }\r\n onChanging(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n }\r\n onChanged(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n }\r\n onDeprecated(callBack) {\r\n this._deprecatedCallback = callBack\r\n }\r\n onStartChange(callBack) {\r\n this._startChangeCallback = callBack\r\n }\r\n onEndChange(callBack) {\r\n this._endChangeCallback = callBack\r\n }\r\n isInitial(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = isFunction(value) && isFunction(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : equalByValue(value, initialValue)\r\n }\r\n initial(name) {\r\n return getNestedOptionValue(this._initial, name)\r\n }\r\n option(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n }\r\n silent(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n }\r\n reset(name) {\r\n if (name) {\r\n var fullPath = getPathParts(name);\r\n var value = fullPath.reduce((value, field) => value ? value[field] : this.initial(field), null);\r\n var defaultValue = isObject(value) ? _extends({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n }\r\n getAliasesByName(name) {\r\n return Object.keys(this._deprecated).filter(aliasName => name === this._deprecated[aliasName].alias)\r\n }\r\n isDeprecated(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n }\r\n cache(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = extend(this._cachedOptions[name], options)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/postponed_operations.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"./utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"./utils/type\";\r\nexport class PostponedOperations {\r\n constructor() {\r\n this._postponedOperations = {}\r\n }\r\n add(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n }\r\n callPostponedOperations() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if (isDefined(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n when(...operation.promises).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Config from \"./config\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n Options\r\n} from \"./options/index\";\r\nimport {\r\n convertRulesToOptions\r\n} from \"./options/utils\";\r\nimport Class from \"./class\";\r\nimport Action from \"./action\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nimport {\r\n PostponedOperations\r\n} from \"./postponed_operations\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getPathParts\r\n} from \"./utils/data\";\r\nvar getEventName = actionName => actionName.charAt(2).toLowerCase() + actionName.substr(3);\r\nvar isInnerOption = optionName => 0 === optionName.indexOf(\"_\", 0);\r\nexport var Component = Class.inherit({\r\n _setDeprecatedOptions() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: () => ({\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }),\r\n _defaultOptionsRules: () => [],\r\n _setOptionsByDevice(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: rules => convertRulesToOptions(rules),\r\n _isInitialOptionValue(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference() {\r\n return this._optionsByReference\r\n },\r\n ctor() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n _optionChangedCallbacks: _optionChangedCallbacks,\r\n _disposingCallbacks: _disposingCallbacks\r\n } = options;\r\n this.NAME = publicComponentName(this.constructor);\r\n this._eventsStrategy = EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || Callbacks();\r\n this._disposingCallbacks = _disposingCallbacks || Callbacks();\r\n this.postponedOperations = new PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions(options) {\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging((name, previousValue, value) => this._initialized && this._optionChanging(name, previousValue, value));\r\n this._options.onDeprecated((option, info) => this._logDeprecatedOptionWarning(option, info));\r\n this._options.onChanged((name, value, previousValue) => this._notifyOptionChanged(name, value, previousValue));\r\n this._options.onStartChange(() => this.beginUpdate());\r\n this._options.onEndChange(() => this.endUpdate());\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions(options) {\r\n this.option(options)\r\n },\r\n _init() {\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", args => {\r\n this._disposingCallbacks.fireWith(this, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n errors.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning(since, alias) {\r\n errors.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction()\r\n }\r\n },\r\n _dispose() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized() {\r\n return this._initialized\r\n },\r\n _commitUpdate() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: noop,\r\n _notifyOptionChanged(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: getPathParts(name)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [extend(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction(extend({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction(actionSource, config) {\r\n var action;\r\n return e => {\r\n if (!isDefined(e)) {\r\n e = {}\r\n }\r\n if (!isPlainObject(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new Action(actionSource, extend(config, this._defaultActionConfig()));\r\n return action.execute.call(action, extend(e, this._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption(optionName, config) {\r\n var _this = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw errors.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this, props);\r\n _this._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (Config().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this.option(\"beforeActionExecute\") || noop;\r\n var wrappedAction = beforeActionExecute(_this, action, config) || action;\r\n return wrappedAction.apply(_this, args)\r\n }\r\n return action.apply(_this, args)\r\n };\r\n if (Config().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue(name, context) {\r\n var value = this.option(name);\r\n if (isFunction(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option() {\r\n return this._options.option(...arguments)\r\n },\r\n resetOption(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/template_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isRenderer\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"./templates/function_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"./templates/empty_template\";\r\nimport {\r\n findTemplates,\r\n suitableTemplatesByName,\r\n templateKey,\r\n getNormalizedTemplateArgs,\r\n validateTemplateSource,\r\n defaultCreateElement,\r\n acquireTemplate\r\n} from \"./utils/template_manager\";\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(_ref => {\r\n var {\r\n model: model,\r\n parent: parent\r\n } = _ref;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return $()\r\n }\r\n var widgetElement = $(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nexport class TemplateManager {\r\n constructor(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n static createDefaultOptions() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n }\r\n get anonymousTemplateName() {\r\n return this._anonymousTemplateName\r\n }\r\n addDefaultTemplates(templates) {\r\n this._defaultTemplates = extend({}, this._defaultTemplates, templates)\r\n }\r\n dispose() {\r\n this._tempTemplates.forEach(tempTemplate => {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n }\r\n extractTemplates($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n }\r\n _extractTemplates($el) {\r\n var templates = findTemplates($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = suitableTemplatesByName(templates);\r\n templates.forEach(_ref2 => {\r\n var {\r\n element: element,\r\n options: {\r\n name: name\r\n }\r\n } = _ref2;\r\n if (element === suitableTemplates[name]) {\r\n $(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n $(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(name => ({\r\n name: name,\r\n template: this._createTemplate(suitableTemplates[name])\r\n }))\r\n }\r\n _extractAnonymousTemplate($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((_, element) => {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n }\r\n _createTemplateIfNeeded(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(tempTemplate => tempTemplate.source === templateKey(templateSource))[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n }\r\n _createTemplate(templateSource) {\r\n return this._createElement(validateTemplateSource(templateSource))\r\n }\r\n getTemplate(templateSource, templates, _ref3, context) {\r\n var {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n } = _ref3;\r\n if (!isFunction(templateSource)) {\r\n return acquireTemplate(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new FunctionTemplate(options => {\r\n var templateSourceResult = templateSource.apply(context, getNormalizedTemplateArgs(options));\r\n if (!isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = acquireTemplate(templateSourceResult, templateSource => {\r\n if (templateSource.nodeType || isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(() => templateSource)\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport config from \"./config\";\r\nimport errors from \"./errors\";\r\nimport windowResizeCallbacks from \"../core/utils/resize_callbacks\";\r\nimport {\r\n Component\r\n} from \"./component\";\r\nimport {\r\n TemplateManager\r\n} from \"./template_manager\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"./utils/public_component\";\r\nimport {\r\n addShadowDomStyles\r\n} from \"./utils/shadow_dom\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n isString,\r\n isDefined,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n resize as resizeEvent,\r\n visibility as visibilityEvents\r\n} from \"../events/short\";\r\nvar {\r\n abstract: abstract\r\n} = Component;\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n attachInstanceToElement(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement(element) {\r\n this._$element = $(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: () => [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"],\r\n _checkFunctionValueDeprecation: function(optionNames) {\r\n if (!this.option(\"_ignoreFunctionValueDeprecation\")) {\r\n optionNames.forEach(optionName => {\r\n if (isFunction(this.option(optionName))) {\r\n errors.log(\"W0017\", optionName)\r\n }\r\n })\r\n }\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init() {\r\n this.callBase();\r\n this._checkFunctionValueDeprecation([\"width\", \"height\", \"maxHeight\", \"maxWidth\", \"minHeight\", \"minWidth\", \"popupHeight\", \"popupWidth\"]);\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent() {\r\n this._initMarkup();\r\n hasWindow() && this._render()\r\n },\r\n _initMarkup() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option() || {};\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render() {\r\n this._attachVisibilityChangeHandlers();\r\n addShadowDomStyles(this.$element())\r\n },\r\n _renderElementAttributes() {\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option() || {};\r\n var attributes = extend({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: (element, height, width) => !!(isDefined(width) || isDefined(height) || element.style.width || element.style.height),\r\n _attachDimensionChangeHandlers() {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n resizeEvent.off($el, {\r\n namespace: namespace\r\n });\r\n resizeEvent.on($el, () => this._dimensionChanged(), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers() {\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n visibilityEvents.off($el, {\r\n namespace: namespace\r\n });\r\n visibilityEvents.on($el, () => this._checkVisibilityChanged(\"shown\"), () => this._checkVisibilityChanged(\"hiding\"), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported() {\r\n return this._visibilityChanged !== abstract && hasWindow()\r\n },\r\n _clean: noop,\r\n _modelByElement() {\r\n var {\r\n modelByElement: modelByElement\r\n } = this.option();\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate() {\r\n if (this._isUpdateAllowed()) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent(element, component) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = grep(this._getSynchronizableOptionsForCreateComponent(), value => !(value in config));\r\n var {\r\n integrationOptions: integrationOptions\r\n } = this.option();\r\n var {\r\n nestedComponentOptions: nestedComponentOptions\r\n } = this.option();\r\n nestedComponentOptions = nestedComponentOptions || noop;\r\n var nestedComponentConfig = extend({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(optionName => nestedComponentConfig[optionName] = this.option(optionName));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if (isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (synchronizableOptions.includes(name)) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", () => this.off(\"optionChanged\", optionChangedHandler))\r\n }\r\n return instance\r\n },\r\n _extendConfig(config, extendConfig) {\r\n each(extendConfig, (key, value) => {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return extend(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return extend(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var {\r\n name: name\r\n } = attr;\r\n if (!name.indexOf(\"aria-\") || -1 !== name.indexOf(\"dx-\") || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses(element) {\r\n element.className = element.className.split(\" \").filter(cssClass => 0 !== cssClass.lastIndexOf(\"dx-\", 0)).join(\" \")\r\n },\r\n _updateDOMComponent(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n },\r\n endUpdate() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element() {\r\n return this._$element\r\n },\r\n element() {\r\n var $element = this.$element();\r\n return getPublicElement($element)\r\n },\r\n dispose() {\r\n var element = this.$element().get(0);\r\n cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !isDefined(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName() {\r\n return\r\n },\r\n _initTemplateManager() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var {\r\n integrationOptions: integrationOptions = {}\r\n } = this.option();\r\n var {\r\n createTemplate: createTemplate\r\n } = integrationOptions;\r\n this._templateManager = new TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates() {\r\n var {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n } = this._templateManager.extractTemplates(this.$element());\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n template: template\r\n } = _ref2;\r\n this._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: () => true\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nexport default DOMComponent;\r\n","/**\r\n * DevExtreme (esm/core/element.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\nexport function getPublicElement(element) {\r\n return strategy(element)\r\n}\r\nexport function setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (esm/core/element_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"./dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nexport var strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nexport var setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexport function getDataStrategy() {\r\n return strategy\r\n}\r\nexport function data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\nexport function beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\nexport function afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\nexport function cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\nexport function removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\nexport function cleanDataRecursive(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"./utils/error\";\r\nexport default errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',\r\n W0017: 'Setting the \"{0}\" property with a function is deprecated since v21.2',\r\n W0018: 'Setting the \"position\" property with a function is deprecated since v21.2'\r\n});\r\n","/**\r\n * DevExtreme (esm/core/events_strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"./utils/type\";\r\nexport class EventsStrategy {\r\n constructor(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n static create(owner, strategy) {\r\n if (strategy) {\r\n return isFunction(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n }\r\n hasEvent(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n }\r\n fireEvent(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n }\r\n on(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, (e, h) => {\r\n this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n }\r\n off(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n }\r\n dispose() {\r\n each(this._events, (eventName, event) => {\r\n event.empty()\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"./class\";\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nexport default Guid;\r\n","/**\r\n * DevExtreme (esm/core/memorized_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nexport default class MemorizedCallbacks {\r\n constructor() {\r\n this.memory = [];\r\n this.callbacks = Callbacks()\r\n }\r\n add(fn) {\r\n each(this.memory, (_, item) => fn.apply(fn, item));\r\n this.callbacks.add(fn)\r\n }\r\n remove(fn) {\r\n this.callbacks.remove(fn)\r\n }\r\n fire() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/options/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../devices\";\r\nimport {\r\n isEmptyObject,\r\n isFunction\r\n} from \"../utils/type\";\r\nimport {\r\n findBestMatches\r\n} from \"../utils/common\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n compileGetter\r\n} from \"../utils/data\";\r\nvar cachedGetters = {};\r\nexport var convertRulesToOptions = rules => {\r\n var currentDevice = devices.current();\r\n return rules.reduce((options, _ref) => {\r\n var {\r\n device: device,\r\n options: ruleOptions\r\n } = _ref;\r\n var deviceFilter = device || {};\r\n var match = isFunction(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n extend(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexport var normalizeOptions = (options, value) => \"string\" !== typeof options ? options : {\r\n [options]: value\r\n};\r\nexport var deviceMatch = (device, filter) => isEmptyObject(filter) || findBestMatches(device, [filter]).length > 0;\r\nexport var getFieldName = fullName => fullName.substr(fullName.lastIndexOf(\".\") + 1);\r\nexport var getParentName = fullName => fullName.substr(0, fullName.lastIndexOf(\".\"));\r\nexport var getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexport var createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n cleanDataRecursive,\r\n removeData,\r\n data as elementData\r\n} from \"./element_data\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isObject,\r\n isWindow,\r\n isPlainObject,\r\n isString,\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n type\r\n} from \"./utils/type\";\r\nimport {\r\n styleProp,\r\n normalizeStyleProp\r\n} from \"./utils/style\";\r\nimport {\r\n getOffset,\r\n getWindowByElement\r\n} from \"./utils/size\";\r\nimport {\r\n parseHTML,\r\n isTablePart\r\n} from \"./utils/html_parser\";\r\nvar window = getWindow();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : domAdapter.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || domAdapter.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = domAdapter.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, domAdapter.querySelectorAll(context, selector));\r\n return this\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value && false !== value) {\r\n domAdapter.setAttribute(element, attrName, value)\r\n } else {\r\n domAdapter.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else if (isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else if (isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = parseHTML(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if (isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return isNumeric(result) ? result.toString() : result\r\n }\r\n } else if (isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = isFunction(value) ? value() : value;\r\n cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (domAdapter.isDocument(element) || domAdapter.isDocumentFragment(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n var _element$host;\r\n element = null !== (_element$host = element.host) && void 0 !== _element$host ? _element$host : element;\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else if (\":hidden\" === selector) {\r\n return this.filter((function(_, element) {\r\n return !isVisible(_, element)\r\n }))\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else if (isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (-1 === nodes.indexOf(this[i])) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.select = function() {\r\n for (var i = 0; i < this.length; i += 1) {\r\n this[i].select && this[i].select()\r\n }\r\n return this\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (-1 === result.indexOf(target)) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n return getOffset(this[0])\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach((function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return elementData.call(renderer, this[0], key)\r\n }\r\n elementData.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nexport default {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport rendererBase from \"./renderer_base\";\r\nexport default rendererBase.get();\r\n","/**\r\n * DevExtreme (esm/core/resize_observer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nvar ResizeObserverMock = {\r\n observe: noop,\r\n unobserve: noop,\r\n disconnect: noop\r\n};\r\nclass ResizeObserverSingleton {\r\n constructor() {\r\n if (!hasWindow() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver(entries => {\r\n entries.forEach(entry => {\r\n var _this$_callbacksMap$g;\r\n null === (_this$_callbacksMap$g = this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry)\r\n })\r\n })\r\n }\r\n observe(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n }\r\n unobserve(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n }\r\n disconnect() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n }\r\n}\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nexport default resizeObserverSingleton;\r\n","/**\r\n * DevExtreme (esm/core/templates/bindable_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport {\r\n isPrimitive\r\n} from \"../utils/type\";\r\nvar watchChanges = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var fieldsDispose;\r\n var globalDispose = ((data, watchMethod, callback) => watchMethod(() => data, callback))(rawData, watchMethod, (function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if (isPrimitive(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {};\r\n var missedFields = fields.slice();\r\n var watchHandlers = fields.map((function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? () => fieldGetter(data) : () => data[name], (function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n }))\r\n }));\r\n return function() {\r\n watchHandlers.forEach(dispose => dispose())\r\n }\r\n }(dataWithRawFields, watchMethod, fields, fieldsMap, callback)\r\n }));\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n};\r\nexport class BindableTemplate extends TemplateBase {\r\n constructor(render, fields, watchMethod, fieldsMap) {\r\n super();\r\n this._render = render;\r\n this._fields = fields;\r\n this._fieldsMap = fieldsMap || {};\r\n this._watchMethod = watchMethod\r\n }\r\n _renderCore(options) {\r\n var $container = $(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, data => {\r\n $container.empty();\r\n this._render($container, data, options.model)\r\n });\r\n eventsEngine.on($container, removeEvent, dispose);\r\n return $container.contents()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/child_default_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class ChildDefaultTemplate extends TemplateBase {\r\n constructor(name) {\r\n super();\r\n this.name = name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/empty_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class EmptyTemplate extends TemplateBase {\r\n _renderCore() {\r\n return $()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/function_template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nexport class FunctionTemplate extends TemplateBase {\r\n constructor(render) {\r\n super();\r\n this._render = render\r\n }\r\n _renderCore(options) {\r\n return normalizeTemplateElement(this._render(options))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nimport {\r\n contains\r\n} from \"../utils/dom\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport errors from \"../errors\";\r\nexport var renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nexport class TemplateBase {\r\n render(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result;\r\n if (options.renovated && options.transclude && this._element) {\r\n $result = $(\"
\").append(this._element).contents()\r\n } else {\r\n $result = this._renderCore(options)\r\n }\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n }\r\n _ensureResultInContainer($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n triggerShownEvent($result)\r\n }\r\n _renderCore() {\r\n throw errors.Error(\"E0001\")\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/array.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n orderEach\r\n} from \"./object\";\r\nimport config from \"../config\";\r\n\r\nfunction createOccurrenceMap(array) {\r\n return array.reduce((map, value) => {\r\n var _map$get;\r\n var count = (null !== (_map$get = map.get(value)) && void 0 !== _map$get ? _map$get : 0) + 1;\r\n map.set(value, count);\r\n return map\r\n }, new Map)\r\n}\r\nexport var wrapToArray = function(item) {\r\n return Array.isArray(item) ? item : [item]\r\n};\r\nexport var getUniqueValues = function(values) {\r\n return [...new Set(values)]\r\n};\r\nexport var getIntersection = function(firstArray, secondArray) {\r\n var toRemoveMap = createOccurrenceMap(secondArray);\r\n return firstArray.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return occurrencesCount\r\n })\r\n};\r\nexport var removeDuplicates = function() {\r\n var from = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var toRemove = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\r\n var toRemoveMap = createOccurrenceMap(toRemove);\r\n return from.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return !occurrencesCount\r\n })\r\n};\r\nexport var normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var {\r\n useLegacyVisibleIndex: useLegacyVisibleIndex\r\n } = config();\r\n var currentIndex = 0;\r\n var shouldUpdateIndex = item => !isDefined(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item));\r\n items.forEach(item => {\r\n var index = item[indexPropName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexPropName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n while (indexedItems[currentIndex]) {\r\n currentIndex++\r\n }\r\n indexedItems[currentIndex] = [item];\r\n currentIndex++\r\n }\r\n })\r\n }\r\n currentIndex = 0;\r\n orderEach(indexedItems, (function(index, items) {\r\n items.forEach(item => {\r\n if (index >= 0) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }));\r\n if (useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }\r\n};\r\nexport var groupBy = (array, getGroupName) => array.reduce((groupedResult, item) => {\r\n var _groupedResult$groupN;\r\n var groupName = getGroupName(item);\r\n groupedResult[groupName] = null !== (_groupedResult$groupN = groupedResult[groupName]) && void 0 !== _groupedResult$groupN ? _groupedResult$groupN : [];\r\n groupedResult[groupName].push(item);\r\n return groupedResult\r\n}, {});\r\n","/**\r\n * DevExtreme (esm/core/utils/array_compare.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"./type\";\r\nvar getKeyWrapper = function(item, getKey) {\r\n var key = getKey(item);\r\n if (isObject(key)) {\r\n try {\r\n return JSON.stringify(key)\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nvar getSameNewByOld = function(oldItem, newItems, newIndexByKey, getKey) {\r\n var key = getKeyWrapper(oldItem, getKey);\r\n return newItems[newIndexByKey[key]]\r\n};\r\nexport var isKeysEqual = function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nexport var findChanges = function(oldItems, newItems, getKey, isItemEquals) {\r\n var oldIndexByKey = {};\r\n var newIndexByKey = {};\r\n var addedCount = 0;\r\n var removeCount = 0;\r\n var result = [];\r\n oldItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n oldIndexByKey[key] = index\r\n }));\r\n newItems.forEach((function(item, index) {\r\n var key = getKeyWrapper(item, getKey);\r\n newIndexByKey[key] = index\r\n }));\r\n var itemCount = Math.max(oldItems.length, newItems.length);\r\n for (var index = 0; index < itemCount + addedCount; index++) {\r\n var newItem = newItems[index];\r\n var oldNextIndex = index - addedCount + removeCount;\r\n var nextOldItem = oldItems[oldNextIndex];\r\n var isRemoved = !newItem || nextOldItem && !getSameNewByOld(nextOldItem, newItems, newIndexByKey, getKey);\r\n if (isRemoved) {\r\n if (nextOldItem) {\r\n result.push({\r\n type: \"remove\",\r\n key: getKey(nextOldItem),\r\n index: index,\r\n oldItem: nextOldItem\r\n });\r\n removeCount++;\r\n index--\r\n }\r\n } else {\r\n var key = getKeyWrapper(newItem, getKey);\r\n var oldIndex = oldIndexByKey[key];\r\n var oldItem = oldItems[oldIndex];\r\n if (!oldItem) {\r\n addedCount++;\r\n result.push({\r\n type: \"insert\",\r\n data: newItem,\r\n index: index\r\n })\r\n } else if (oldIndex === oldNextIndex) {\r\n if (!isItemEquals(oldItem, newItem)) {\r\n result.push({\r\n type: \"update\",\r\n data: newItem,\r\n key: getKey(newItem),\r\n index: index,\r\n oldItem: oldItem\r\n })\r\n }\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/browser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n getNavigator\r\n} from \"./window\";\r\nvar navigator = getNavigator();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = ua => {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = webkitRegExp.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nexport default extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\n","/**\r\n * DevExtreme (esm/core/utils/call_once.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nexport default callOnce;\r\n","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nexport default Callbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport Guid from \"../guid\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../utils/deferred\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isObject,\r\n type\r\n} from \"./type\";\r\nexport var ensureDefined = function(value, defaultValue) {\r\n return isDefined(value) ? value : defaultValue\r\n};\r\nexport var executeAsync = function(action, context) {\r\n var deferred = new Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && isFunction(result.done)) {\r\n result.done((function() {\r\n deferred.resolveWith(normalizedContext)\r\n }))\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || when()\r\n }\r\n};\r\nexport var deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexport var deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexport var deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n each(items, (index, itemSrc) => {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n each(targetFilter, (paramName, targetValue) => {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n each(value, (index, valueItem) => {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nexport var splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch (type(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexport var normalizeKey = function(id) {\r\n var key = isString(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && each(arr, (_, sign) => {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexport var denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(char => {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexport var pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexport var getKeyHash = function(key) {\r\n if (key instanceof Guid) {\r\n return key.toString()\r\n } else if (isObject(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nexport var escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexport var applyServerDecimalSeparator = function(value) {\r\n var separator = config().serverDecimalSeparator;\r\n if (isDefined(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexport var noop = function() {};\r\nexport var asyncNoop = function() {\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nvar compareArrays = (array1, array2, depth, options) => {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n return !array1.some((item, idx) => !compareByValue(item, array2[idx], depth + 1, _extends({}, options, {\r\n strict: true\r\n })))\r\n};\r\nvar compareObjects = (object1, object2, depth, options) => {\r\n var keys1 = Object.keys(object1);\r\n var keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false\r\n }\r\n var keys2Set = new Set(keys2);\r\n return !keys1.some(key => !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options))\r\n};\r\nvar DEFAULT_EQUAL_BY_VALUE_OPTS = {\r\n maxDepth: 3,\r\n strict: true\r\n};\r\nvar compareByValue = (value1, value2, depth, options) => {\r\n var {\r\n strict: strict,\r\n maxDepth: maxDepth\r\n } = options;\r\n var comparable1 = toComparable(value1, true);\r\n var comparable2 = toComparable(value2, true);\r\n var comparisonResult = strict ? comparable1 === comparable2 : comparable1 == comparable2;\r\n switch (true) {\r\n case comparisonResult:\r\n case depth >= maxDepth:\r\n return true;\r\n case isObject(comparable1) && isObject(comparable2):\r\n return compareObjects(comparable1, comparable2, depth, options);\r\n case Array.isArray(comparable1) && Array.isArray(comparable2):\r\n return compareArrays(comparable1, comparable2, depth, options);\r\n default:\r\n return false\r\n }\r\n};\r\nexport var equalByValue = function(value1, value2) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : DEFAULT_EQUAL_BY_VALUE_OPTS;\r\n var compareOptions = _extends({}, DEFAULT_EQUAL_BY_VALUE_OPTS, options);\r\n return compareByValue(value1, value2, 0, compareOptions)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nexport var logger = {\r\n log: getConsoleMethod(\"log\"),\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexport var debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: function(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport Class from \"../class\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"./object\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar unwrapVariable = variableWrapper.unwrap;\r\nvar isWrapped = variableWrapper.isWrapped;\r\nvar assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nexport var getPathParts = function(name) {\r\n return bracketsToDots(name).split(\".\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nexport var compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n var path = getPathParts(expr);\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, (function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n }));\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nexport var compileSetter = function(expr) {\r\n expr = getPathParts(expr || \"this\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach((function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n deepExtendArraySafe(propertyValue, value, false, true)\r\n } else if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n }))\r\n }\r\n};\r\nexport var toComparable = function(value, caseSensitive) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n var _options$collatorOpti;\r\n if (\"base\" === (null === options || void 0 === options ? void 0 : null === (_options$collatorOpti = options.collatorOptions) || void 0 === _options$collatorOpti ? void 0 : _options$collatorOpti.sensitivity)) {\r\n var REMOVE_DIACRITICAL_MARKS_REGEXP = /[\\u0300-\\u036f]/g;\r\n value = value.normalize(\"NFD\").replace(REMOVE_DIACRITICAL_MARKS_REGEXP, \"\")\r\n }\r\n return null !== options && void 0 !== options && options.locale ? value.toLocaleLowerCase(options.locale) : value.toLowerCase()\r\n }\r\n return value\r\n};\r\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/date/toMilliseconds.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar timeIntervals = {\r\n millisecond: 1,\r\n second: 1e3,\r\n minute: 6e4,\r\n hour: 36e5,\r\n day: 864e5,\r\n week: 6048e5,\r\n month: 2592e6,\r\n quarter: 7776e6,\r\n year: 31536e6\r\n};\r\nexport function toMilliseconds(value) {\r\n return timeIntervals[value]\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject,\r\n isString,\r\n isDate,\r\n isDefined,\r\n isNumeric\r\n} from \"./type\";\r\nimport {\r\n adjust\r\n} from \"./math\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport {\r\n toMilliseconds\r\n} from \"../../renovation/ui/common/utils/date/index\";\r\nvar DAYS_IN_WEEK = 7;\r\nvar THURSDAY_WEEK_NUMBER = 4;\r\nvar SUNDAY_WEEK_NUMBER = 7;\r\nvar USUAL_WEEK_COUNT_IN_YEAR = 52;\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\", \"year\"];\r\nvar getDatesInterval = function(startDate, endDate, intervalUnit) {\r\n var delta = endDate.getTime() - startDate.getTime();\r\n var millisecondCount = toMilliseconds(intervalUnit) || 1;\r\n return Math.floor(delta / millisecondCount)\r\n};\r\nvar getNextDateUnit = function(unit, withWeeks) {\r\n var interval = getDateUnitInterval(unit);\r\n switch (interval) {\r\n case \"millisecond\":\r\n return \"second\";\r\n case \"second\":\r\n return \"minute\";\r\n case \"minute\":\r\n return \"hour\";\r\n case \"hour\":\r\n return \"day\";\r\n case \"day\":\r\n return withWeeks ? \"week\" : \"month\";\r\n case \"week\":\r\n return \"month\";\r\n case \"month\":\r\n return \"quarter\";\r\n case \"quarter\":\r\n case \"year\":\r\n return \"year\";\r\n default:\r\n return 0\r\n }\r\n};\r\nvar convertMillisecondsToDateUnits = function(value) {\r\n var i;\r\n var dateUnitCount;\r\n var dateUnitInterval;\r\n var dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n var result = {};\r\n for (i = dateUnitIntervals.length - 1; i >= 0; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n dateUnitCount = Math.floor(value / toMilliseconds(dateUnitInterval));\r\n if (dateUnitCount > 0) {\r\n result[dateUnitInterval + \"s\"] = dateUnitCount;\r\n value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount)\r\n }\r\n }\r\n return result\r\n};\r\nvar dateToMilliseconds = function(tickInterval) {\r\n var milliseconds = 0;\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n }))\r\n }\r\n if (isString(tickInterval)) {\r\n milliseconds = convertDateUnitToMilliseconds(tickInterval, 1)\r\n }\r\n return milliseconds\r\n};\r\n\r\nfunction convertDateUnitToMilliseconds(dateUnit, count) {\r\n return toMilliseconds(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if (isString(tickInterval)) {\r\n return tickInterval\r\n }\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n for (i = 0; i < dateUnitIntervals.length; i++) {\r\n if (value && (key === dateUnitIntervals[i] + \"s\" || key === dateUnitIntervals[i]) && maxInterval < i) {\r\n maxInterval = i\r\n }\r\n }\r\n }));\r\n return dateUnitIntervals[maxInterval]\r\n }\r\n return \"\"\r\n}\r\nvar tickIntervalToFormatMap = {\r\n millisecond: \"millisecond\",\r\n second: \"longtime\",\r\n minute: \"shorttime\",\r\n hour: \"shorttime\",\r\n day: \"day\",\r\n week: \"day\",\r\n month: \"month\",\r\n quarter: \"quarter\",\r\n year: \"year\"\r\n};\r\n\r\nfunction getDateFormatByTickInterval(tickInterval) {\r\n return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || \"\"\r\n}\r\nvar getQuarter = function(month) {\r\n return Math.floor(month / 3)\r\n};\r\nvar getFirstQuarterMonth = function(month) {\r\n return 3 * getQuarter(month)\r\n};\r\n\r\nfunction correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) {\r\n date = new Date(date.getTime());\r\n var oldDate = new Date(date.getTime());\r\n var firstQuarterMonth;\r\n var month;\r\n var dateUnitInterval = getDateUnitInterval(dateInterval);\r\n switch (dateUnitInterval) {\r\n case \"second\":\r\n date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3));\r\n break;\r\n case \"minute\":\r\n date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4));\r\n break;\r\n case \"hour\":\r\n date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5));\r\n break;\r\n case \"year\":\r\n date.setMonth(0);\r\n case \"month\":\r\n date.setDate(1);\r\n case \"day\":\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"week\":\r\n date = getFirstWeekDate(date, firstDayOfWeek || 0);\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"quarter\":\r\n firstQuarterMonth = getFirstQuarterMonth(date.getMonth());\r\n month = date.getMonth();\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n if (month !== firstQuarterMonth) {\r\n date.setMonth(firstQuarterMonth)\r\n }\r\n }\r\n if (withCorrection && \"hour\" !== dateUnitInterval && \"minute\" !== dateUnitInterval && \"second\" !== dateUnitInterval) {\r\n fixTimezoneGap(oldDate, date)\r\n }\r\n return date\r\n}\r\n\r\nfunction trimTime(date) {\r\n return correctDateWithUnitBeginning(date, \"day\")\r\n}\r\nvar setToDayEnd = function(date) {\r\n var result = trimTime(date);\r\n result.setDate(result.getDate() + 1);\r\n return new Date(result.getTime() - 1)\r\n};\r\nvar getDatesDifferences = function(date1, date2) {\r\n var counter = 0;\r\n var differences = {\r\n year: date1.getFullYear() !== date2.getFullYear(),\r\n month: date1.getMonth() !== date2.getMonth(),\r\n day: date1.getDate() !== date2.getDate(),\r\n hour: date1.getHours() !== date2.getHours(),\r\n minute: date1.getMinutes() !== date2.getMinutes(),\r\n second: date1.getSeconds() !== date2.getSeconds(),\r\n millisecond: date1.getMilliseconds() !== date2.getMilliseconds()\r\n };\r\n each(differences, (function(key, value) {\r\n if (value) {\r\n counter++\r\n }\r\n }));\r\n if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) {\r\n differences.hour = true;\r\n counter++\r\n }\r\n differences.count = counter;\r\n return differences\r\n};\r\n\r\nfunction addDateInterval(value, interval, dir) {\r\n var result = new Date(value.getTime());\r\n var intervalObject = isString(interval) ? getDateIntervalByString(interval.toLowerCase()) : isNumeric(interval) ? convertMillisecondsToDateUnits(interval) : interval;\r\n if (intervalObject.years) {\r\n result.setFullYear(result.getFullYear() + intervalObject.years * dir)\r\n }\r\n if (intervalObject.quarters) {\r\n result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir)\r\n }\r\n if (intervalObject.months) {\r\n result.setMonth(result.getMonth() + intervalObject.months * dir)\r\n }\r\n if (intervalObject.weeks) {\r\n result.setDate(result.getDate() + 7 * intervalObject.weeks * dir)\r\n }\r\n if (intervalObject.days) {\r\n result.setDate(result.getDate() + intervalObject.days * dir)\r\n }\r\n if (intervalObject.hours) {\r\n result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir)\r\n }\r\n if (intervalObject.minutes) {\r\n result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir)\r\n }\r\n if (intervalObject.seconds) {\r\n result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir)\r\n }\r\n if (intervalObject.milliseconds) {\r\n result.setTime(result.getTime() + intervalObject.milliseconds * dir)\r\n }\r\n return result\r\n}\r\nvar addInterval = function(value, interval, isNegative) {\r\n var dir = isNegative ? -1 : 1;\r\n return isDate(value) ? addDateInterval(value, interval, dir) : adjust(value + interval * dir, interval)\r\n};\r\nvar getSequenceByInterval = function(min, max, interval) {\r\n var intervals = [];\r\n var cur;\r\n intervals.push(isDate(min) ? new Date(min.getTime()) : min);\r\n cur = min;\r\n while (cur < max) {\r\n cur = addInterval(cur, interval);\r\n intervals.push(cur)\r\n }\r\n return intervals\r\n};\r\nvar getViewFirstCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 0, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewLastCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date))\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 11, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewMinBoundaryDate = function(viewType, date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1);\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(0);\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date))\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date))\r\n }\r\n return resultDate\r\n};\r\nvar getViewMaxBoundaryDate = function(viewType, date) {\r\n var resultDate = new Date(date);\r\n resultDate.setDate(getLastMonthDay(date));\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(11);\r\n resultDate.setDate(getLastMonthDay(resultDate));\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date) + 9)\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date) + 99)\r\n }\r\n return resultDate\r\n};\r\n\r\nfunction getLastMonthDay(date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0);\r\n return resultDate.getDate()\r\n}\r\nvar getViewUp = function(typeView) {\r\n switch (typeView) {\r\n case \"month\":\r\n return \"year\";\r\n case \"year\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"century\"\r\n }\r\n};\r\nvar getViewDown = function(typeView) {\r\n switch (typeView) {\r\n case \"century\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"year\";\r\n case \"year\":\r\n return \"month\"\r\n }\r\n};\r\nvar getDifferenceInMonth = function(typeView) {\r\n var difference = 1;\r\n if (\"year\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"decade\" === typeView) {\r\n difference = 120\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 1200\r\n }\r\n return difference\r\n};\r\nvar getDifferenceInMonthForCells = function(typeView) {\r\n var difference = 1;\r\n if (\"decade\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 120\r\n }\r\n return difference\r\n};\r\n\r\nfunction getDateIntervalByString(intervalString) {\r\n var result = {};\r\n switch (intervalString) {\r\n case \"year\":\r\n result.years = 1;\r\n break;\r\n case \"month\":\r\n result.months = 1;\r\n break;\r\n case \"quarter\":\r\n result.months = 3;\r\n break;\r\n case \"week\":\r\n result.weeks = 1;\r\n break;\r\n case \"day\":\r\n result.days = 1;\r\n break;\r\n case \"hour\":\r\n result.hours = 1;\r\n break;\r\n case \"minute\":\r\n result.minutes = 1;\r\n break;\r\n case \"second\":\r\n result.seconds = 1;\r\n break;\r\n case \"millisecond\":\r\n result.milliseconds = 1\r\n }\r\n return result\r\n}\r\n\r\nfunction sameDate(date1, date2) {\r\n return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate()\r\n}\r\n\r\nfunction sameMonthAndYear(date1, date2) {\r\n return sameYear(date1, date2) && date1.getMonth() === date2.getMonth()\r\n}\r\n\r\nfunction sameYear(date1, date2) {\r\n return date1 && date2 && date1.getFullYear() === date2.getFullYear()\r\n}\r\n\r\nfunction sameHoursAndMinutes(date1, date2) {\r\n return date1 && date2 && date1.getHours() === date2.getHours() && date1.getMinutes() === date2.getMinutes()\r\n}\r\nvar sameDecade = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10;\r\n var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10;\r\n return date1 && date2 && startDecadeDate1 === startDecadeDate2\r\n};\r\nvar sameCentury = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100;\r\n var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100;\r\n return date1 && date2 && startCenturyDate1 === startCenturyDate2\r\n};\r\n\r\nfunction getFirstDecadeInCentury(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 100\r\n}\r\n\r\nfunction getFirstYearInDecade(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 10\r\n}\r\nvar getShortDateFormat = function() {\r\n return \"yyyy/MM/dd\"\r\n};\r\nvar getFirstMonthDate = function(date) {\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n};\r\nvar getLastMonthDate = function(date) {\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0)\r\n};\r\n\r\nfunction getFirstWeekDate(date, firstDayOfWeek) {\r\n var delta = (date.getDay() - firstDayOfWeek + DAYS_IN_WEEK) % DAYS_IN_WEEK;\r\n var result = new Date(date);\r\n result.setDate(date.getDate() - delta);\r\n return result\r\n}\r\n\r\nfunction getUTCTime(date) {\r\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())\r\n}\r\n\r\nfunction getDayNumber(date) {\r\n var ms = getUTCTime(date) - getUTCTime(getFirstDateInYear(date.getFullYear()));\r\n return 1 + Math.floor(ms / toMilliseconds(\"day\"))\r\n}\r\n\r\nfunction getFirstDateInYear(year) {\r\n return new Date(year, 0, 1)\r\n}\r\n\r\nfunction getLastDateInYear(year) {\r\n return new Date(year, 11, 31)\r\n}\r\n\r\nfunction getDayWeekNumber(date, firstDayOfWeek) {\r\n var day = date.getDay() - firstDayOfWeek + 1;\r\n if (day <= 0) {\r\n day += DAYS_IN_WEEK\r\n }\r\n return day\r\n}\r\n\r\nfunction getWeekNumber(date, firstDayOfWeek, rule) {\r\n var firstWeekDayInYear = getDayWeekNumber(getFirstDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var lastWeekDayInYear = getDayWeekNumber(getLastDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var daysInFirstWeek = DAYS_IN_WEEK - firstWeekDayInYear + 1;\r\n var weekNumber = Math.ceil((getDayNumber(date) - daysInFirstWeek) / 7);\r\n switch (rule) {\r\n case \"fullWeek\":\r\n if (daysInFirstWeek === DAYS_IN_WEEK) {\r\n weekNumber++\r\n }\r\n if (0 === weekNumber) {\r\n var lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber;\r\n case \"firstDay\":\r\n if (daysInFirstWeek > 0) {\r\n weekNumber++\r\n }\r\n var isSunday = firstWeekDayInYear === SUNDAY_WEEK_NUMBER || lastWeekDayInYear === SUNDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isSunday || 54 === weekNumber) {\r\n weekNumber = 1\r\n }\r\n return weekNumber;\r\n case \"firstFourDays\":\r\n if (daysInFirstWeek > 3) {\r\n weekNumber++\r\n }\r\n var isThursday = firstWeekDayInYear === THURSDAY_WEEK_NUMBER || lastWeekDayInYear === THURSDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isThursday) {\r\n weekNumber = 1\r\n }\r\n if (0 === weekNumber) {\r\n var _lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(_lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber\r\n }\r\n}\r\nvar normalizeDateByWeek = function(date, currentDate) {\r\n var differenceInDays = dateUtils.getDatesInterval(date, currentDate, \"day\");\r\n var resultDate = new Date(date);\r\n if (differenceInDays >= 6) {\r\n resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7))\r\n }\r\n return resultDate\r\n};\r\nvar dateInRange = function(date, min, max, format) {\r\n if (\"date\" === format) {\r\n min = min && dateUtils.correctDateWithUnitBeginning(min, \"day\");\r\n max = max && dateUtils.correctDateWithUnitBeginning(max, \"day\");\r\n date = date && dateUtils.correctDateWithUnitBeginning(date, \"day\")\r\n }\r\n return normalizeDate(date, min, max) === date\r\n};\r\nvar intervalsOverlap = function(options) {\r\n var {\r\n firstMin: firstMin,\r\n firstMax: firstMax,\r\n secondMin: secondMin,\r\n secondMax: secondMax\r\n } = options;\r\n return firstMin <= secondMin && secondMin <= firstMax || firstMin > secondMin && firstMin < secondMax || firstMin < secondMax && firstMax > secondMax\r\n};\r\nvar dateTimeFromDecimal = function(number) {\r\n var hours = Math.floor(number);\r\n var minutes = number % 1 * 60;\r\n return {\r\n hours: hours,\r\n minutes: minutes\r\n }\r\n};\r\nvar roundDateByStartDayHour = function(date, startDayHour) {\r\n var startTime = this.dateTimeFromDecimal(startDayHour);\r\n var result = new Date(date);\r\n if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) {\r\n result.setHours(startTime.hours, startTime.minutes, 0, 0)\r\n }\r\n return result\r\n};\r\n\r\nfunction normalizeDate(date, min, max) {\r\n var normalizedDate = date;\r\n if (!isDefined(date)) {\r\n return date\r\n }\r\n if (isDefined(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if (isDefined(max) && date > max) {\r\n normalizedDate = max\r\n }\r\n return normalizedDate\r\n}\r\n\r\nfunction fixTimezoneGap(oldDate, newDate) {\r\n if (!isDefined(oldDate)) {\r\n return\r\n }\r\n var diff = newDate.getHours() - oldDate.getHours();\r\n if (0 === diff) {\r\n return\r\n }\r\n var sign = 1 === diff || -23 === diff ? -1 : 1;\r\n var trial = new Date(newDate.getTime() + 36e5 * sign);\r\n if (sign > 0 || trial.getDate() === newDate.getDate()) {\r\n newDate.setTime(trial.getTime())\r\n }\r\n}\r\nvar roundToHour = function(date) {\r\n var result = new Date(date.getTime());\r\n result.setHours(result.getHours() + 1);\r\n result.setMinutes(0);\r\n return result\r\n};\r\n\r\nfunction getTimezonesDifference(min, max) {\r\n return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3\r\n}\r\nvar makeDate = function(date) {\r\n return new Date(date)\r\n};\r\nvar getDatesOfInterval = function(startDate, endDate, step) {\r\n var result = [];\r\n var currentDate = new Date(startDate.getTime());\r\n while (currentDate < endDate) {\r\n result.push(new Date(currentDate.getTime()));\r\n currentDate = this.addInterval(currentDate, step)\r\n }\r\n return result\r\n};\r\nvar createDateWithFullYear = function(year) {\r\n var result = new Date(...arguments);\r\n result.setFullYear(year);\r\n return result\r\n};\r\nvar dateUtils = {\r\n dateUnitIntervals: dateUnitIntervals,\r\n convertMillisecondsToDateUnits: convertMillisecondsToDateUnits,\r\n dateToMilliseconds: dateToMilliseconds,\r\n getNextDateUnit: getNextDateUnit,\r\n convertDateUnitToMilliseconds: convertDateUnitToMilliseconds,\r\n getDateUnitInterval: getDateUnitInterval,\r\n getDateFormatByTickInterval: getDateFormatByTickInterval,\r\n getDatesDifferences: getDatesDifferences,\r\n correctDateWithUnitBeginning: correctDateWithUnitBeginning,\r\n trimTime: trimTime,\r\n setToDayEnd: setToDayEnd,\r\n roundDateByStartDayHour: roundDateByStartDayHour,\r\n dateTimeFromDecimal: dateTimeFromDecimal,\r\n addDateInterval: addDateInterval,\r\n addInterval: addInterval,\r\n getSequenceByInterval: getSequenceByInterval,\r\n getDateIntervalByString: getDateIntervalByString,\r\n sameHoursAndMinutes: sameHoursAndMinutes,\r\n sameDate: sameDate,\r\n sameMonthAndYear: sameMonthAndYear,\r\n sameMonth: sameMonthAndYear,\r\n sameYear: sameYear,\r\n sameDecade: sameDecade,\r\n sameCentury: sameCentury,\r\n getDifferenceInMonth: getDifferenceInMonth,\r\n getDifferenceInMonthForCells: getDifferenceInMonthForCells,\r\n getFirstYearInDecade: getFirstYearInDecade,\r\n getFirstDecadeInCentury: getFirstDecadeInCentury,\r\n getShortDateFormat: getShortDateFormat,\r\n getViewFirstCellDate: getViewFirstCellDate,\r\n getViewLastCellDate: getViewLastCellDate,\r\n getViewDown: getViewDown,\r\n getViewUp: getViewUp,\r\n getLastMonthDay: getLastMonthDay,\r\n getLastMonthDate: getLastMonthDate,\r\n getFirstMonthDate: getFirstMonthDate,\r\n getFirstWeekDate: getFirstWeekDate,\r\n getWeekNumber: getWeekNumber,\r\n normalizeDateByWeek: normalizeDateByWeek,\r\n getQuarter: getQuarter,\r\n getFirstQuarterMonth: getFirstQuarterMonth,\r\n dateInRange: dateInRange,\r\n intervalsOverlap: intervalsOverlap,\r\n roundToHour: roundToHour,\r\n normalizeDate: normalizeDate,\r\n getViewMinBoundaryDate: getViewMinBoundaryDate,\r\n getViewMaxBoundaryDate: getViewMaxBoundaryDate,\r\n fixTimezoneGap: fixTimezoneGap,\r\n getTimezonesDifference: getTimezonesDifference,\r\n makeDate: makeDate,\r\n getDatesInterval: getDatesInterval,\r\n getDatesOfInterval: getDatesOfInterval,\r\n createDateWithFullYear: createDateWithFullYear\r\n};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[camelize(\"same \" + view)](date1, date2)\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/core/utils/date_serialization.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n getFormatter as getLDMLFormatter\r\n} from \"../../localization/ldml/date.formatter\";\r\nimport defaultDateNames from \"../../localization/default_date_names\";\r\nimport {\r\n isString,\r\n isDate,\r\n isNumeric as isNumber\r\n} from \"./type\";\r\nvar NUMBER_SERIALIZATION_FORMAT = \"number\";\r\nvar DATE_SERIALIZATION_FORMAT = \"yyyy/MM/dd\";\r\nvar DATETIME_SERIALIZATION_FORMAT = \"yyyy/MM/dd HH:mm:ss\";\r\nvar ISO8601_PATTERN = /^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/;\r\nvar ISO8601_TIME_PATTERN = /^(\\d{2}):(\\d{2})(:(\\d{2}))?$/;\r\nvar ISO8601_PATTERN_PARTS = [\"\", \"yyyy\", \"\", \"MM\", \"\", \"dd\", \"THH\", \"\", \"mm\", \"\", \"ss\", \".SSS\"];\r\nvar DATE_SERIALIZATION_PATTERN = /^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/;\r\nvar MILLISECOND_LENGHT = 3;\r\nvar dateParser = function(text, skipISO8601Parsing) {\r\n var result;\r\n if (isString(text) && !skipISO8601Parsing) {\r\n result = parseISO8601String(text)\r\n }\r\n return result || parseDate(text)\r\n};\r\n\r\nfunction getTimePart(part) {\r\n return +part || 0\r\n}\r\n\r\nfunction parseDate(text) {\r\n var isDefaultSerializationFormat = getDateSerializationFormat(text) === DATE_SERIALIZATION_FORMAT;\r\n var parsedValue = !isDate(text) && Date.parse(text);\r\n if (!parsedValue && isDefaultSerializationFormat) {\r\n var parts = text.match(DATE_SERIALIZATION_PATTERN);\r\n if (parts) {\r\n var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3]));\r\n newDate.setFullYear(getTimePart(parts[1]));\r\n newDate.setMonth(getTimePart(parts[2]) - 1);\r\n newDate.setDate(getTimePart(parts[3]));\r\n return newDate\r\n }\r\n }\r\n return isNumber(parsedValue) ? new Date(parsedValue) : text\r\n}\r\n\r\nfunction parseISO8601String(text) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4]))\r\n }\r\n return\r\n }\r\n var year = getTimePart(parts[1]);\r\n var month = --parts[3];\r\n var day = parts[5];\r\n var timeZoneHour = 0;\r\n var timeZoneMinute = 0;\r\n var correctYear = d => {\r\n year < 100 && d.setFullYear(year);\r\n return d\r\n };\r\n timeZoneHour = getTimePart(parts[14]);\r\n timeZoneMinute = getTimePart(parts[16]);\r\n if (\"-\" === parts[13]) {\r\n timeZoneHour = -timeZoneHour;\r\n timeZoneMinute = -timeZoneMinute\r\n }\r\n var hour = getTimePart(parts[6]) - timeZoneHour;\r\n var minute = getTimePart(parts[8]) - timeZoneMinute;\r\n var second = getTimePart(parts[10]);\r\n var millisecond = function(part) {\r\n part = part || \"\";\r\n return getTimePart(part) * Math.pow(10, MILLISECOND_LENGHT - part.length)\r\n }(parts[11]);\r\n if (parts[12]) {\r\n return correctYear(new Date(Date.UTC(year, month, day, hour, minute, second, millisecond)))\r\n }\r\n return correctYear(new Date(year, month, day, hour, minute, second, millisecond))\r\n}\r\nvar getIso8601Format = function(text, useUtc) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n var result = \"\";\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return parts[3] ? \"HH:mm:ss\" : \"HH:mm\"\r\n }\r\n return\r\n }\r\n for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) {\r\n if (parts[i]) {\r\n result += ISO8601_PATTERN_PARTS[i] || parts[i]\r\n }\r\n }\r\n if (\"Z\" === parts[12]) {\r\n result += \"'Z'\"\r\n }\r\n if (parts[14]) {\r\n if (parts[15]) {\r\n result += \"xxx\"\r\n } else if (parts[16]) {\r\n result += \"xx\"\r\n } else {\r\n result += \"x\"\r\n }\r\n }\r\n return result\r\n};\r\nvar deserializeDate = function(value) {\r\n if (\"number\" === typeof value) {\r\n return new Date(value)\r\n }\r\n return dateParser(value, !config().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!isDate(value)) {\r\n return null\r\n }\r\n if (serializationFormat === NUMBER_SERIALIZATION_FORMAT) {\r\n return value && value.valueOf ? value.valueOf() : null\r\n }\r\n return getLDMLFormatter(serializationFormat, defaultDateNames)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else if (isString(value)) {\r\n var format;\r\n if (config().forceIsoDateParsing) {\r\n format = getIso8601Format(value)\r\n }\r\n if (format) {\r\n return format\r\n } else if (value.indexOf(\":\") >= 0) {\r\n return DATETIME_SERIALIZATION_FORMAT\r\n } else {\r\n return DATE_SERIALIZATION_FORMAT\r\n }\r\n } else if (value) {\r\n return null\r\n }\r\n};\r\nexport default {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPromise\r\n} from \"../utils/type\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = Callbacks();\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method]((function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }))\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach((function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n}));\r\nexport function fromPromise(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else if (isPromise(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then((function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }), (function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }));\r\n return d\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexport function setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\nexport function Deferred() {\r\n return new _DeferredObj\r\n}\r\nexport function when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport Class from \"../class\";\r\nexport default function(object) {\r\n var BaseClass = Class.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, (function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n }))\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isWindow,\r\n isString\r\n} from \"./type\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nvar window = getWindow();\r\nvar getRootNodeHost = element => {\r\n if (!element.getRootNode) {\r\n return\r\n }\r\n var host = element.getRootNode().host;\r\n if (isString(host)) {\r\n return\r\n }\r\n return host\r\n};\r\nexport var resetActiveElement = () => {\r\n var activeElement = domAdapter.getActiveElement();\r\n if (activeElement && activeElement !== domAdapter.getBody()) {\r\n var _activeElement$blur;\r\n null === (_activeElement$blur = activeElement.blur) || void 0 === _activeElement$blur ? void 0 : _activeElement$blur.call(activeElement)\r\n }\r\n};\r\nexport var clearSelection = () => {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n};\r\nexport var closestCommonParent = (startTarget, endTarget) => {\r\n var $startTarget = $(startTarget);\r\n var $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexport var extractTemplateMarkup = element => {\r\n element = $(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n }));\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexport var normalizeTemplateElement = element => {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n return $element\r\n};\r\nexport var clipboardText = (event, text) => {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (!text) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexport var contains = (container, element) => {\r\n if (!element) {\r\n return false\r\n }\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains(element) || contains(container, getRootNodeHost(element))\r\n};\r\nexport var createTextElementHiddenCopy = (element, text, options) => {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n float: \"left\"\r\n })\r\n};\r\nexport var insertBefore = (element, newElement) => {\r\n if (newElement) {\r\n domAdapter.insertElement(element.parentNode, newElement, element)\r\n }\r\n return element\r\n};\r\nexport var replaceWith = (element, newElement) => {\r\n if (!(newElement && newElement[0])) {\r\n return\r\n }\r\n if (newElement.is(element)) {\r\n return element\r\n }\r\n each(newElement, (_, currentElement) => {\r\n insertBefore(element[0], currentElement)\r\n });\r\n element.remove();\r\n return newElement\r\n};\r\nexport var isElementInDom = $element => {\r\n var element = null === $element || void 0 === $element ? void 0 : $element.get(0);\r\n var shadowHost = null === element || void 0 === element ? void 0 : element.getRootNode().host;\r\n return !!$(shadowHost || element).closest(getWindow().document).length\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport {\r\n format\r\n} from \"./string\";\r\nimport {\r\n version\r\n} from \"../version\";\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nexport default function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\n","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var version = \"23.1.4\";\r\n","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject\r\n} from \"./type\";\r\nexport var extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexport var extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n return target\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/html_parser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n default: {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nexport var parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return [...container.childNodes]\r\n};\r\nexport var isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/icon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nexport var getImageSourceType = source => {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\/{1,1}/.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexport var getImageContainer = source => {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return $(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return $(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"./iterator\";\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nexport var dasherize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexport var underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexport var camelize = function(text, upperFirst) {\r\n return map(_chop(text), (function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n })).join(\"\")\r\n};\r\nexport var humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexport var titleize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nexport var captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar map = (values, callback) => {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = (values, callback) => {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = (array, callback) => {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexport {\r\n map,\r\n each,\r\n reverseEach\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isExponential\r\n} from \"./type\";\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction getExponentialNotation(value) {\r\n var parts = value.toExponential().split(\"e\");\r\n var mantissa = parseFloat(parts[0]);\r\n var exponent = parseInt(parts[1]);\r\n return {\r\n exponent: exponent,\r\n mantissa: mantissa\r\n }\r\n}\r\n\r\nfunction multiplyInExponentialForm(value, exponentShift) {\r\n var exponentialNotation = getExponentialNotation(value);\r\n return parseFloat(\"\".concat(exponentialNotation.mantissa, \"e\").concat(exponentialNotation.exponent + exponentShift))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n return \"0.000300\" !== 3e-4.toPrecision(3)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = isExponential(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < 1e-8) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < 1e-8) {\r\n return [-b / (2 * a)]\r\n } else if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < 1e-8) {\r\n roots = [getRoot(-q, 3)]\r\n } else if (Math.abs(q) < 1e-8) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < 1e-8) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\nexport {\r\n sign,\r\n fitIntoRange,\r\n inRange,\r\n adjust,\r\n getPrecision,\r\n getExponent,\r\n getRoot,\r\n solveCubicEquation,\r\n trunc,\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision,\r\n multiplyInExponentialForm\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isPlainObject,\r\n isObject\r\n} from \"./type\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort((function(x, y) {\r\n var isNumberX = isNumeric(x);\r\n var isNumberY = isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n }));\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if (isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexport {\r\n clone,\r\n orderEach,\r\n deepExtendArraySafe\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/position.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n isWindow\r\n} from \"../utils/type\";\r\nvar getDefaultAlignment = isRtlEnabled => {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : config().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nvar getBoundingRect = element => {\r\n if (isWindow(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n return element.getBoundingClientRect()\r\n};\r\nexport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/public_component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexport function attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = elementData($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, (function() {\r\n disposeFn.call(componentInstance)\r\n }))\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\nexport function getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return elementData($element.get(0), name)\r\n}\r\nexport {\r\n getName as name\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/ready_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport injector from \"./dependency_injector\";\r\nimport {\r\n hasWindow\r\n} from \"./window\";\r\nimport callOnce from \"./call_once\";\r\nvar callbacks = [];\r\nvar subscribeReady = callOnce(() => {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", () => {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: callback => {\r\n var windowExists = hasWindow();\r\n if (windowExists && \"loading\" !== domAdapter.getReadyState()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: () => {\r\n callbacks.forEach(callback => callback());\r\n callbacks = []\r\n }\r\n};\r\nexport default injector(readyCallbacks);\r\n","/**\r\n * DevExtreme (esm/core/utils/resize_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"./window\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"./callbacks\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nimport callOnce from \"./call_once\";\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = Callbacks();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!hasWindow()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = getWindow();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = callOnce((function() {\r\n prevSize = formatSize()\r\n }));\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n readyCallbacks.add((function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = domAdapter.listen(getWindow(), \"resize\", handleResize)\r\n }\r\n }));\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nexport default resizeCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/selection_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash,\r\n equalByValue\r\n} from \"./common\";\r\nimport {\r\n isString,\r\n isObject\r\n} from \"./type\";\r\nexport var SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach((function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if (isString(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = function(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i];\r\n var currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr];\r\n var filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n }));\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var forceCombinedFilter = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n var filterExpr = this.getExpr(keyExpr);\r\n var combinedFilter = filterExpr;\r\n if ((forceCombinedFilter || isSelectAll) && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(key => keyOf(key)) : keys\r\n };\r\n\r\n function functionFilter(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var key = keyOf(item);\r\n var keyHash;\r\n var i;\r\n if (!equalByReference) {\r\n keyHash = getKeyHash(key);\r\n if (!isObject(keyHash)) {\r\n var selectedKeyHashesMap = function(keyOf, keyExpr) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n var normalizedKeys = normalizeKeys(selectedItemKeys, keyOf, keyExpr);\r\n for (var i = 0; i < normalizedKeys.length; i++) {\r\n selectedItemKeyHashesMap[getKeyHash(normalizedKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n }(keyOf, keyExpr);\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n }\r\n\r\n function getFilterForPlainKey(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/shadow_dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar DX_RULE_PREFIX = \"dx-\";\r\nvar ownerDocumentStyleSheet = null;\r\n\r\nfunction createConstructedStyleSheet(rootNode) {\r\n try {\r\n return new CSSStyleSheet\r\n } catch (err) {\r\n var styleElement = rootNode.ownerDocument.createElement(\"style\");\r\n rootNode.appendChild(styleElement);\r\n return styleElement.sheet\r\n }\r\n}\r\n\r\nfunction processRules(targetStyleSheet, styleSheets, needApplyAllStyles) {\r\n for (var i = 0; i < styleSheets.length; i++) {\r\n var sheet = styleSheets[i];\r\n try {\r\n for (var j = 0; j < sheet.cssRules.length; j++) {\r\n insertRule(targetStyleSheet, sheet.cssRules[j], needApplyAllStyles)\r\n }\r\n } catch (err) {}\r\n }\r\n}\r\n\r\nfunction insertRule(targetStyleSheet, rule, needApplyAllStyles) {\r\n var _rule$selectorText, _rule$cssRules, _rule$cssRules$, _rule$cssRules$$selec, _rule$name, _rule$style;\r\n var isDxRule = needApplyAllStyles || (null === (_rule$selectorText = rule.selectorText) || void 0 === _rule$selectorText ? void 0 : _rule$selectorText.includes(DX_RULE_PREFIX)) || (null === (_rule$cssRules = rule.cssRules) || void 0 === _rule$cssRules ? void 0 : null === (_rule$cssRules$ = _rule$cssRules[0]) || void 0 === _rule$cssRules$ ? void 0 : null === (_rule$cssRules$$selec = _rule$cssRules$.selectorText) || void 0 === _rule$cssRules$$selec ? void 0 : _rule$cssRules$$selec.includes(DX_RULE_PREFIX)) || (null === (_rule$name = rule.name) || void 0 === _rule$name ? void 0 : _rule$name.startsWith(DX_RULE_PREFIX)) || \"DXIcons\" === (null === (_rule$style = rule.style) || void 0 === _rule$style ? void 0 : _rule$style.fontFamily);\r\n if (isDxRule) {\r\n targetStyleSheet.insertRule(rule.cssText, targetStyleSheet.cssRules.length)\r\n }\r\n}\r\nexport function addShadowDomStyles($element) {\r\n var _el$getRootNode;\r\n var el = $element.get(0);\r\n var root = null === (_el$getRootNode = el.getRootNode) || void 0 === _el$getRootNode ? void 0 : _el$getRootNode.call(el);\r\n if (!(null !== root && void 0 !== root && root.host)) {\r\n return\r\n }\r\n if (!ownerDocumentStyleSheet) {\r\n ownerDocumentStyleSheet = createConstructedStyleSheet(root);\r\n processRules(ownerDocumentStyleSheet, el.ownerDocument.styleSheets, false)\r\n }\r\n var currentShadowDomStyleSheet = createConstructedStyleSheet(root);\r\n processRules(currentShadowDomStyleSheet, root.styleSheets, true);\r\n root.adoptedStyleSheets = [ownerDocumentStyleSheet, currentShadowDomStyleSheet]\r\n}\r\n\r\nfunction isPositionInElementRectangle(element, x, y) {\r\n var rect = element.getBoundingClientRect();\r\n return rect && x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom\r\n}\r\n\r\nfunction createQueue() {\r\n var shiftIndex = 0;\r\n var items = [];\r\n return {\r\n push(item) {\r\n items.push(item);\r\n return this\r\n },\r\n shift() {\r\n shiftIndex++;\r\n return items[shiftIndex - 1]\r\n },\r\n get length() {\r\n return items.length - shiftIndex\r\n },\r\n get items() {\r\n return items\r\n }\r\n }\r\n}\r\nexport function getShadowElementsFromPoint(x, y, root) {\r\n var elementQueue = createQueue().push(root);\r\n while (elementQueue.length) {\r\n var el = elementQueue.shift();\r\n for (var i = 0; i < el.childNodes.length; i++) {\r\n var childNode = el.childNodes[i];\r\n if (childNode.nodeType === Node.ELEMENT_NODE && isPositionInElementRectangle(childNode, x, y) && \"none\" !== getComputedStyle(childNode).pointerEvents) {\r\n elementQueue.push(childNode)\r\n }\r\n }\r\n }\r\n var result = elementQueue.items.reverse();\r\n result.pop();\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/size.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isString,\r\n isNumeric,\r\n isRenderer\r\n} from \"../utils/type\";\r\nvar window = getWindow();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach((function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n }));\r\n return result\r\n};\r\nexport var getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getElementComputedStyle = function(element) {\r\n var _element$ownerDocumen;\r\n var view = (null === element || void 0 === element ? void 0 : null === (_element$ownerDocumen = element.ownerDocument) || void 0 === _element$ownerDocumen ? void 0 : _element$ownerDocumen.defaultView) || window;\r\n return view.getComputedStyle && view.getComputedStyle(element)\r\n};\r\nvar getCSSProperty = function(element, styles, name, defaultValue) {\r\n var _element$style;\r\n return (null === styles || void 0 === styles ? void 0 : styles[name]) || (null === (_element$style = element.style) || void 0 === _element$style ? void 0 : _element$style[name]) || defaultValue\r\n};\r\nvar boxIndices = {\r\n content: 0,\r\n padding: 1,\r\n border: 2,\r\n margin: 3,\r\n \"content-box\": 0,\r\n \"border-box\": 2\r\n};\r\nvar dimensionComponents = {\r\n width: [\"left\", \"right\"],\r\n height: [\"top\", \"bottom\"]\r\n};\r\n\r\nfunction getComponentThickness(elem, dimension, component, styles) {\r\n var get = (elem, styles, field) => parseFloat(getCSSProperty(elem, styles, field, \"0\")) || 0;\r\n var suffix = \"border\" === component ? \"-width\" : \"\";\r\n return get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][0]).concat(suffix)) + get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][1]).concat(suffix))\r\n}\r\nexport var getSize = function(element, dimension, box) {\r\n var offsetFieldName = \"width\" === dimension ? \"offsetWidth\" : \"offsetHeight\";\r\n var styles = getElementComputedStyle(element);\r\n var result = getCSSProperty(element, styles, dimension);\r\n if (\"\" === result || \"auto\" === result) {\r\n result = element[offsetFieldName]\r\n }\r\n result = parseFloat(result) || 0;\r\n var currentBox = getCSSProperty(element, styles, \"boxSizing\", \"content-box\");\r\n var targetBox = box || currentBox;\r\n var targetBoxIndex = boxIndices[targetBox];\r\n var currentBoxIndex = boxIndices[currentBox];\r\n if (void 0 === targetBoxIndex || void 0 === currentBoxIndex) {\r\n throw new Error\r\n }\r\n if (currentBoxIndex === targetBoxIndex) {\r\n return result\r\n }\r\n var coeff = Math.sign(targetBoxIndex - currentBoxIndex);\r\n var padding = false;\r\n var border = false;\r\n var margin = false;\r\n var scrollThickness = false;\r\n if (1 === coeff) {\r\n targetBoxIndex += 1;\r\n currentBoxIndex += 1\r\n }\r\n for (var boxPart = currentBoxIndex; boxPart !== targetBoxIndex; boxPart += coeff) {\r\n switch (boxPart) {\r\n case boxIndices.content:\r\n break;\r\n case boxIndices.padding:\r\n padding = coeff * getComponentThickness(element, dimension, \"padding\", styles);\r\n break;\r\n case boxIndices.border:\r\n border = coeff * getComponentThickness(element, dimension, \"border\", styles);\r\n break;\r\n case boxIndices.margin:\r\n margin = coeff * getComponentThickness(element, dimension, \"margin\", styles)\r\n }\r\n }\r\n if (padding || border) {\r\n var paddingAndBorder = (false === padding ? coeff * getComponentThickness(element, dimension, \"padding\", styles) : padding) + (false === border ? coeff * getComponentThickness(element, dimension, \"border\", styles) : border);\r\n scrollThickness = coeff * Math.max(0, Math.floor(element[offsetFieldName] - result - coeff * paddingAndBorder)) || 0\r\n }\r\n return result + margin + padding + border + scrollThickness\r\n};\r\nvar getContainerHeight = function(container) {\r\n return isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nexport var parseHeight = function(value, container, element) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else if (!isNaN(value)) {\r\n value = parseInt(value)\r\n } else if (value.indexOf(\"vh\") > 0) {\r\n value = window.innerHeight / 100 * parseInt(value.replace(\"vh\", \"\"))\r\n } else if (element && value.indexOf(\"em\") > 0) {\r\n value = parseFloat(value.replace(\"em\", \"\")) * parseFloat(window.getComputedStyle(element).fontSize)\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nexport var addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexport var addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexport var getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexport var getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexport var implementationsMap = {\r\n getWidth: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n setWidth: function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n getHeight: function() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n setHeight: function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n getOuterWidth: function() {\r\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\r\n args[_key5] = arguments[_key5]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n setOuterWidth: function() {\r\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\r\n args[_key6] = arguments[_key6]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n getOuterHeight: function() {\r\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\r\n args[_key7] = arguments[_key7]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n setOuterHeight: function() {\r\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\r\n args[_key8] = arguments[_key8]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n getInnerWidth: function() {\r\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\r\n args[_key9] = arguments[_key9]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n setInnerWidth: function() {\r\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\r\n args[_key10] = arguments[_key10]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n getInnerHeight: function() {\r\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\r\n args[_key11] = arguments[_key11]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n },\r\n setInnerHeight: function() {\r\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\r\n args[_key12] = arguments[_key12]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n }\r\n};\r\n\r\nfunction elementSizeHelper(sizeProperty, el, value) {\r\n return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value)\r\n}\r\nexport var getWidth = el => implementationsMap.getWidth(el);\r\nexport var setWidth = (el, value) => implementationsMap.setWidth(el, value);\r\nexport var getHeight = el => implementationsMap.getHeight(el);\r\nexport var setHeight = (el, value) => implementationsMap.setHeight(el, value);\r\nexport var getOuterWidth = (el, includeMargin) => implementationsMap.getOuterWidth(el, includeMargin || false);\r\nexport var setOuterWidth = (el, value) => implementationsMap.setOuterWidth(el, value);\r\nexport var getOuterHeight = (el, includeMargin) => implementationsMap.getOuterHeight(el, includeMargin || false);\r\nexport var setOuterHeight = (el, value) => implementationsMap.setOuterHeight(el, value);\r\nexport var getInnerWidth = el => implementationsMap.getInnerWidth(el);\r\nexport var setInnerWidth = (el, value) => implementationsMap.setInnerWidth(el, value);\r\nexport var getInnerHeight = el => implementationsMap.getInnerHeight(el);\r\nexport var setInnerHeight = (el, value) => implementationsMap.setInnerHeight(el, value);\r\nvar elementSize = function elementSize(el, sizeProperty, value) {\r\n var partialName = sizeProperty.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === sizeProperty.indexOf(\"outer\");\r\n var isInner = 0 === sizeProperty.indexOf(\"inner\");\r\n var isGetter = 2 === arguments.length || \"boolean\" === typeof value;\r\n if (isRenderer(el)) {\r\n if (el.length > 1 && !isGetter) {\r\n for (var i = 0; i < el.length; i++) {\r\n elementSize(el[i], sizeProperty, value)\r\n }\r\n return\r\n }\r\n el = el[0]\r\n }\r\n if (!el) {\r\n return\r\n }\r\n if (isWindow(el)) {\r\n return isOuter ? el[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(el)) {\r\n var documentElement = domAdapter.getDocumentElement();\r\n var body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (isGetter) {\r\n var box = \"content\";\r\n if (isOuter) {\r\n box = value ? \"margin\" : \"border\"\r\n }\r\n if (isInner) {\r\n box = \"padding\"\r\n }\r\n return getSize(el, propName, box)\r\n }\r\n if (isNumeric(value)) {\r\n var elementStyles = getElementComputedStyle(el);\r\n var sizeAdjustment = getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n value += isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(el, propName, value);\r\n return null\r\n};\r\nexport var getWindowByElement = el => isWindow(el) ? el : el.defaultView;\r\nexport var getOffset = el => {\r\n if (!el.getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = el.getBoundingClientRect();\r\n var win = getWindowByElement(el.ownerDocument);\r\n var docElem = el.ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/storage.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexport {\r\n getSessionStorage as sessionStorage\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"./type\";\r\nexport var encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (typeof raw) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nexport var quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexport function format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if (isFunction(template)) {\r\n return template(...values)\r\n }\r\n values.forEach((value, index) => {\r\n if (isString(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nexport var replaceAll = function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + (str = searchToken, (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")) + \")\", \"gi\"), replacementToken);\r\n var str\r\n};\r\nexport var isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/core/utils/style.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n isNumeric,\r\n isString\r\n} from \"./type\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = callOnce((function() {\r\n return domAdapter.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, (function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n }))\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar parsePixelValue = function(value) {\r\n if (isNumeric(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return Number(value.replace(\"px\", \"\"))\r\n }\r\n return NaN\r\n};\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (isNumeric(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nvar setStyle = function(element, styleString) {\r\n var resetStyle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n if (resetStyle) {\r\n var styleList = [].slice.call(element.style);\r\n styleList.forEach(propertyName => {\r\n element.style.removeProperty(propertyName)\r\n })\r\n }\r\n styleString.split(\";\").forEach(style => {\r\n var parts = style.split(\":\").map(stylePart => stylePart.trim());\r\n if (2 === parts.length) {\r\n var [property, value] = parts;\r\n element.style[property] = value\r\n }\r\n })\r\n};\r\nexport {\r\n styleProp,\r\n setStyle,\r\n stylePropPrefix,\r\n normalizeStyleProp,\r\n parsePixelValue,\r\n setWidth,\r\n setHeight\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/support.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"./window\";\r\nimport devices from \"../devices\";\r\nimport {\r\n stylePropPrefix,\r\n styleProp\r\n} from \"./style\";\r\nvar {\r\n maxTouchPoints: maxTouchPoints\r\n} = getNavigator();\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var {\r\n platform: platform,\r\n mac: isMac\r\n } = devices.real();\r\n var isNativeScrollDevice = \"ios\" === platform || \"android\" === platform || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = domAdapter.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty) {\r\n return hasWindowProperty(\"PointerEvent\")\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty);\r\nvar touchPointersPresent = !!maxTouchPoints;\r\nexport {\r\n touchEvents,\r\n pointerEvents,\r\n styleProp,\r\n stylePropPrefix,\r\n supportProp,\r\n inputType\r\n};\r\nexport var touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexport var transition = callOnce((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexport var transitionEndEventName = callOnce((function() {\r\n return transitionEndEventNames[styleProp(\"transition\")]\r\n}));\r\nexport var animation = callOnce((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexport var nativeScrolling = isNativeScrollingSupported();\r\n","/**\r\n * DevExtreme (esm/core/templates/template_engine_registry.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../utils/type\";\r\nimport errors from \"../errors\";\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\nexport function registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\nexport function setTemplateEngine(templateEngine) {\r\n if (isString(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw errors.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\nexport function getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nimport {\r\n getCurrentTemplateEngine,\r\n registerTemplateEngine,\r\n setTemplateEngine\r\n} from \"./template_engine_registry\";\r\nregisterTemplateEngine(\"default\", {\r\n compile: element => normalizeTemplateElement(element),\r\n render: (template, model, index) => template.clone()\r\n});\r\nsetTemplateEngine(\"default\");\r\nexport class Template extends TemplateBase {\r\n constructor(element) {\r\n super();\r\n this._element = element\r\n }\r\n _renderCore(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = getCurrentTemplateEngine().compile(this._element)\r\n }\r\n return $(\"
\").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents()\r\n }\r\n source() {\r\n return $(this._element).clone()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/template_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport devices from \"../devices\";\r\nimport Errors from \"../errors\";\r\nimport $ from \"../renderer\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../templates/child_default_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../templates/empty_template\";\r\nimport {\r\n Template\r\n} from \"../templates/template\";\r\nimport {\r\n TemplateBase\r\n} from \"../templates/template_base\";\r\nimport {\r\n groupBy\r\n} from \"./array\";\r\nimport {\r\n findBestMatches\r\n} from \"./common\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"./dom\";\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction,\r\n isRenderer\r\n} from \"./type\";\r\nexport var findTemplates = (element, name) => {\r\n var templates = $(element).contents().filter(\"[\".concat(\"data-options\", '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(element => {\r\n var optionsString = $(element).attr(\"data-options\") || \"\";\r\n return {\r\n element: element,\r\n options: config().optionsParser(optionsString)[name]\r\n }\r\n }).filter(template => !!template.options)\r\n};\r\nexport var suitableTemplatesByName = rawTemplates => {\r\n var templatesMap = groupBy(rawTemplates, template => template.options.name);\r\n if (templatesMap[void 0]) {\r\n throw Errors.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(name => {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = findBestMatches(devices.current(), templatesMap[name], template => template.options)[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexport var addOneRenderedCall = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var templateResult = render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexport var getNormalizedTemplateArgs = options => {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexport var validateTemplateSource = templateSource => \"string\" === typeof templateSource ? normalizeTemplateElement(templateSource) : templateSource;\r\nexport var templateKey = templateSource => isRenderer(templateSource) && templateSource[0] || templateSource;\r\nexport var defaultCreateElement = element => new Template(element);\r\nexport var acquireIntegrationTemplate = (templateSource, templates, isAsyncTemplate, skipTemplates) => {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || -1 === skipTemplates.indexOf(templateSource)) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase) && !isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexport var acquireTemplate = (templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) => {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (isFunction(templateSource.render) && !isRenderer(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\"\r\n};\r\nvar type = function(object) {\r\n if (null === object) {\r\n return \"null\"\r\n }\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\")\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"object\" !== type(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n if (!proto) {\r\n return true\r\n }\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value))\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!object && !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return !!object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return !!object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexport {\r\n isBoolean,\r\n isExponential,\r\n isDate,\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isNumeric,\r\n isObject,\r\n isEmptyObject,\r\n isPlainObject,\r\n isPrimitive,\r\n isWindow,\r\n isRenderer,\r\n isPromise,\r\n isDeferred,\r\n type,\r\n isEvent\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport dependencyInjector from \"./dependency_injector\";\r\nexport default dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/version.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/view_port.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport callbacks from \"./callbacks\";\r\nvar changeCallback = callbacks();\r\nvar $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\nexport {\r\n value,\r\n changeCallback\r\n};\r\nexport function originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/window.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = () => hasWindowValue;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = () => windowObject;\r\nvar setWindow = (newWindowObject, hasWindow) => {\r\n if (void 0 === hasWindow) {\r\n hasWindowValue = \"undefined\" !== typeof window && window === newWindowObject\r\n } else {\r\n hasWindowValue = hasWindow\r\n }\r\n windowObject = newWindowObject\r\n};\r\nvar hasProperty = prop => hasWindow() && prop in windowObject;\r\nvar defaultScreenFactorFunc = width => {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else if (width < 992) {\r\n return \"sm\"\r\n } else if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n};\r\nvar getCurrentScreenFactor = screenFactorCallback => {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nvar getNavigator = () => hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n};\r\nexport {\r\n hasWindow,\r\n getWindow,\r\n setWindow,\r\n hasProperty,\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n getNavigator\r\n};\r\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n processRequestResultLock\r\n} from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n _langParams: {},\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _clearCache: noop,\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n if (!isEmptyObject(this._langParams)) {\r\n options = options || {};\r\n options._langParams = _extends({}, this._langParams, options._langParams)\r\n }\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePush\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport {\r\n aggregators,\r\n isGroupCriterion,\r\n isUnaryOperation,\r\n normalizeBinaryCriterion,\r\n isConjunctiveOperator as isConjunctiveOperatorChecker\r\n} from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue, options) {\r\n if (isString(xValue) && isString(yValue) && (null !== options && void 0 !== options && options.locale || null !== options && void 0 !== options && options.collatorOptions)) {\r\n return new Intl.Collator((null === options || void 0 === options ? void 0 : options.locale) || void 0, (null === options || void 0 === options ? void 0 : options.collatorOptions) || void 0).compare(xValue, yValue)\r\n }\r\n xValue = toComparable(xValue, false, options);\r\n yValue = toComparable(yValue, false, options);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n this.langParams = iter.langParams;\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap);\r\n iter.langParams = this.langParams\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare,\r\n langParams: this.langParams\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _getDefaultCompare: langParams => (xValue, yValue) => defaultCompare(xValue, yValue, langParams),\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || this._getDefaultCompare(rule.langParams);\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var langParams = {};\r\n var _toComparable = value => toComparable(value, false, langParams);\r\n var toString = function(value) {\r\n var _langParams;\r\n return isDefined(value) ? null !== (_langParams = langParams) && void 0 !== _langParams && _langParams.locale ? value.toLocaleString(langParams.locale) : value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = _toComparable(getter(obj));\r\n var result = function(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n return function(crit, options) {\r\n langParams = options || {};\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (isGroupCriterion(crit)) {\r\n return function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this, langParams));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = isConjunctiveOperatorChecker(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n }(crit)\r\n }\r\n if (isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1], langParams);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = _toComparable(value);\r\n var compare = (obj, operatorFn) => {\r\n obj = _toComparable(getter(obj));\r\n return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value)\r\n };\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return obj => compare(obj, (a, b) => a > b);\r\n case \"<\":\r\n return obj => compare(obj, (a, b) => a < b);\r\n case \">=\":\r\n return obj => compare(obj, (a, b) => a >= b);\r\n case \"<=\":\r\n return obj => compare(obj, (a, b) => a <= b);\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === _toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = _toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return _toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === _toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.langParams = iter.langParams;\r\n this.criteria = compileCriteria(criteria, this.langParams)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n if (queryOptions.langParams) {\r\n iter.langParams = queryOptions.langParams\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n setLangParams(options) {\r\n iter.langParams = options\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n keysEqual,\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstanceWithChangedPaths(instance, changes, clonedInstances) {\r\n clonedInstances = clonedInstances || new WeakMap;\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n if (instance) {\r\n clonedInstances.set(instance, result)\r\n }\r\n var instanceWithoutPrototype = _extends({}, instance);\r\n deepExtendArraySafe(result, instanceWithoutPrototype, true, true);\r\n for (var name in instanceWithoutPrototype) {\r\n var value = instanceWithoutPrototype[name];\r\n var change = null === changes || void 0 === changes ? void 0 : changes[name];\r\n if (isObject(value) && !isPlainObject(value) && isObject(change) && !clonedInstances.has(value)) {\r\n result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances)\r\n }\r\n }\r\n for (var _name in result) {\r\n var prop = result[_name];\r\n if (isObject(prop) && clonedInstances.has(prop)) {\r\n result[_name] = clonedInstances.get(prop)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstanceWithChangedPaths(target, changes);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError,\r\n skipCopying: skipCopying\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError, skipCopying);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return trivialPromise(key, data)\r\n } else {\r\n return trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError, skipCopying) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) && !skipCopying ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n keysEqual,\r\n XHR_ERROR_UNLOAD,\r\n errorMessageFromXhr as errorMessageFromXhrUtility\r\n} from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return errorMessageFromXhrUtility(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n _clearCache() {\r\n delete this.__rawData\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n this._clearCache()\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isObject,\r\n isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n throttleChanges\r\n} from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePush\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePush\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n delete this._store;\r\n delete this._items;\r\n delete this._delayedLoadTask;\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"langParams\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n var isEmptyArray = Array.isArray(data) && !data.length;\r\n if (!isDefined(data) || isEmptyArray) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n var changingArgs = {\r\n changes: changes\r\n };\r\n this._eventsStrategy.fireEvent(\"changing\", [changingArgs]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n if (this._store && !isEmptyObject(null === storeLoadOptions || void 0 === storeLoadOptions ? void 0 : storeLoadOptions.langParams)) {\r\n this._store._langParams = _extends({}, this._store._langParams, storeLoadOptions.langParams)\r\n }\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n store._clearCache();\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/http_request.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"./utils/dependency_injector\";\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nexport default injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (esm/core/utils/ajax.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"./deferred\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport httpRequest from \"../../core/http_request\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extendFromObject\r\n} from \"./extend\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport injector from \"./dependency_injector\";\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise((function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n }))\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = domAdapter.createElement(\"a\");\r\n var urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout((function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }), timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = httpRequest.getXhr();\r\n var d = new Deferred;\r\n var result = d.promise();\r\n var async = isDefined(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n evalCrossDomainScript(url).then((function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n }), (function() {\r\n d.reject(xhr, ERROR)\r\n }));\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nexport default injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n var _options;\r\n options = options || {};\r\n var filter = options.filter;\r\n if (null !== (_options = options) && void 0 !== _options && _options.langParams) {\r\n var _query$setLangParams, _query;\r\n null === (_query$setLangParams = (_query = query).setLangParams) || void 0 === _query$setLangParams ? void 0 : _query$setLangParams.call(_query, options.langParams)\r\n }\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nexport var XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexport var normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nexport var normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nexport var errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nexport var aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nexport var processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\nexport function isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\nexport function isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nexport var keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], {\r\n strict: false\r\n })) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, {\r\n strict: false\r\n })\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport var base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nexport var isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nexport var isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexport var trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexport var rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n return function() {\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n func.call(this)\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\nexport function throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/collection/data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataControllerMock = {\r\n load: () => Deferred().reject(),\r\n loadSingle: () => Deferred().reject(),\r\n loadFromStore: () => Deferred().reject(),\r\n loadNextPage: () => Deferred().reject(),\r\n loadOptions: noop,\r\n userData: noop,\r\n cancel: noop,\r\n cancelAll: noop,\r\n filter: noop,\r\n addSearchFilter: noop,\r\n group: noop,\r\n paginate: noop,\r\n pageSize: noop,\r\n pageIndex: noop,\r\n resetDataSourcePageIndex: noop,\r\n totalCount: noop,\r\n isLastPage: noop,\r\n isLoading: noop,\r\n isLoaded: noop,\r\n searchValue: noop,\r\n searchOperation: noop,\r\n searchExpr: noop,\r\n select: noop,\r\n key: noop,\r\n keyOf: noop,\r\n store: noop,\r\n items: noop,\r\n applyMapFunction: noop,\r\n getDataSource: noop,\r\n reload: noop,\r\n on: noop,\r\n off: noop\r\n};\r\nclass DataController {\r\n constructor(dataSource) {\r\n if (!dataSource) {\r\n return DataControllerMock\r\n }\r\n this._dataSource = dataSource\r\n }\r\n load() {\r\n return this._dataSource.load()\r\n }\r\n loadSingle(propName, propValue) {\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = this.key()\r\n }\r\n return this._dataSource.loadSingle(propName, propValue)\r\n }\r\n loadFromStore(loadOptions) {\r\n return this.store().load(loadOptions)\r\n }\r\n loadNextPage() {\r\n this.pageIndex(1 + this.pageIndex());\r\n return this.load()\r\n }\r\n loadOptions() {\r\n return this._dataSource.loadOptions()\r\n }\r\n userData() {\r\n return this._dataSource._userData\r\n }\r\n cancel(operationId) {\r\n this._dataSource.cancel(operationId)\r\n }\r\n cancelAll() {\r\n this._dataSource.cancelAll()\r\n }\r\n filter(filter) {\r\n return this._dataSource.filter(filter)\r\n }\r\n addSearchFilter(storeLoadOptions) {\r\n this._dataSource._addSearchFilter(storeLoadOptions)\r\n }\r\n group(group) {\r\n return this._dataSource.group(group)\r\n }\r\n paginate() {\r\n return this._dataSource.paginate()\r\n }\r\n pageSize() {\r\n return this._dataSource._pageSize\r\n }\r\n pageIndex(pageIndex) {\r\n return this._dataSource.pageIndex(pageIndex)\r\n }\r\n resetDataSourcePageIndex() {\r\n if (this.pageIndex()) {\r\n this.pageIndex(0);\r\n this.load()\r\n }\r\n }\r\n totalCount() {\r\n return this._dataSource.totalCount()\r\n }\r\n isLastPage() {\r\n return this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n }\r\n isLoading() {\r\n return this._dataSource.isLoading()\r\n }\r\n isLoaded() {\r\n return this._dataSource.isLoaded()\r\n }\r\n searchValue(value) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchValue()\r\n }\r\n return this._dataSource.searchValue(value)\r\n }\r\n searchOperation(operation) {\r\n return this._dataSource.searchOperation(operation)\r\n }\r\n searchExpr(expr) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchExpr()\r\n }\r\n return this._dataSource.searchExpr(expr)\r\n }\r\n select() {\r\n return this._dataSource.select(...arguments)\r\n }\r\n key() {\r\n return this._dataSource.key()\r\n }\r\n keyOf(item) {\r\n return this.store().keyOf(item)\r\n }\r\n store() {\r\n return this._dataSource.store()\r\n }\r\n items() {\r\n return this._dataSource.items()\r\n }\r\n applyMapFunction(data) {\r\n return this._dataSource._applyMapFunction(data)\r\n }\r\n getDataSource() {\r\n return this._dataSource || null\r\n }\r\n reload() {\r\n return this._dataSource.reload()\r\n }\r\n on(event, handler) {\r\n this._dataSource.on(event, handler)\r\n }\r\n off(event, handler) {\r\n this._dataSource.off(event, handler)\r\n }\r\n}\r\nexport default DataController;\r\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nimport DataController from \"./ui/collection/data_controller\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers();\r\n this._initDataController()\r\n }\r\n },\r\n _initDataController: function() {\r\n var _this$option;\r\n var dataController = null === (_this$option = this.option) || void 0 === _this$option ? void 0 : _this$option.call(this, \"_dataController\");\r\n var dataSource = this._dataSource;\r\n if (dataController) {\r\n this._dataController = dataController\r\n } else {\r\n this._dataController = new DataController(dataSource)\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n","/**\r\n * DevExtreme (esm/events/utils/event_nodes_disposing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../remove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(node => !!node)\r\n}\r\nexport var subscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.one(nodesByEvent(event), removeEvent, callback)\r\n};\r\nexport var unsubscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.off(nodesByEvent(event), removeEvent, callback)\r\n};\r\n","/**\r\n * DevExtreme (esm/events/click.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../animation/frame\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport {\r\n subscribeNodesDisposing,\r\n unsubscribeNodesDisposing\r\n} from \"./utils/event_nodes_disposing\";\r\nimport pointerEvents from \"./pointer\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nvar misc = {\r\n requestAnimationFrame: requestAnimationFrame,\r\n cancelAnimationFrame: cancelAnimationFrame\r\n};\r\nvar prevented = null;\r\nvar lastFiredEvent = null;\r\nvar onNodeRemove = () => {\r\n lastFiredEvent = null\r\n};\r\nvar clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n unsubscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n subscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n eventsEngine.on(this.getElement(), \"click\", clickHandler)\r\n },\r\n start: function(e) {\r\n prevented = null\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n});\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n eventsEngine.subscribeGlobal(document, addNamespace(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = $(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && (element = $target, $(element).is(\"input, textarea, select, button ,:focus, :focus *\"))) {\r\n resetActiveElement()\r\n }\r\n var element;\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexport {\r\n CLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/contextmenu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport devices from \"../core/devices\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent,\r\n isMouseEvent\r\n} from \"./utils/index\";\r\nimport holdEvent from \"./hold\";\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = addNamespace(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = addNamespace(holdEvent.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = Class.inherit({\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (touch || devices.isSimulator()) {\r\n eventsEngine.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if (isMouseEvent(e) && !devices.isSimulator()) {\r\n return\r\n }\r\n this._fireContextMenu(e)\r\n },\r\n _contextMenuHandler: function(e) {\r\n this._fireContextMenu(e)\r\n },\r\n _fireContextMenu: function(e) {\r\n return fireEvent({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\nregisterEvent(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nexport var name = CONTEXTMENU_EVENT_NAME;\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.feedback.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport Emitter from \"./emitter\";\r\nimport registerEmitter from \"./emitter_registrator\";\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = Class.inherit({\r\n ctor: function(timeout, fire) {\r\n this._timeout = timeout;\r\n this._fire = fire\r\n },\r\n start: function() {\r\n var that = this;\r\n this._schedule((function() {\r\n that.force()\r\n }))\r\n },\r\n _schedule: function(fn) {\r\n this.stop();\r\n this._timer = setTimeout(fn, this._timeout)\r\n },\r\n stop: function() {\r\n clearTimeout(this._timer)\r\n },\r\n force: function() {\r\n if (this._fired) {\r\n return\r\n }\r\n this.stop();\r\n this._fire();\r\n this._fired = true\r\n },\r\n fired: function() {\r\n return this._fired\r\n }\r\n});\r\nvar activeFeedback;\r\nvar FeedbackEmitter = Emitter.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, noop);\r\n this._inactive = new FeedbackEvent(0, noop)\r\n },\r\n configure: function(data, eventName) {\r\n switch (eventName) {\r\n case ACTIVE_EVENT_NAME:\r\n data.activeTimeout = data.timeout;\r\n break;\r\n case INACTIVE_EVENT_NAME:\r\n data.inactiveTimeout = data.timeout\r\n }\r\n this.callBase(data)\r\n },\r\n start: function(e) {\r\n if (activeFeedback) {\r\n var activeChildExists = contains(this.getElement().get(0), activeFeedback.getElement().get(0));\r\n var childJustActivated = !activeFeedback._active.fired();\r\n if (activeChildExists && childJustActivated) {\r\n this._cancel();\r\n return\r\n }\r\n activeFeedback._inactive.force()\r\n }\r\n activeFeedback = this;\r\n this._initEvents(e);\r\n this._active.start()\r\n },\r\n _initEvents: function(e) {\r\n var that = this;\r\n var eventTarget = this._getEmitterTarget(e);\r\n var mouseEvent = isMouseEvent(e);\r\n var isSimulator = devices.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = ensureDefined(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = ensureDefined(this.inactiveTimeout, INACTIVE_TIMEOUT);\r\n this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, (function() {\r\n that._fireEvent(ACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n })\r\n }));\r\n this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, (function() {\r\n that._fireEvent(INACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n });\r\n activeFeedback = null\r\n }))\r\n },\r\n cancel: function(e) {\r\n this.end(e)\r\n },\r\n end: function(e) {\r\n var skipTimers = e.type !== pointerEvents.up;\r\n if (skipTimers) {\r\n this._active.stop()\r\n } else {\r\n this._active.force()\r\n }\r\n this._inactive.start();\r\n if (skipTimers) {\r\n this._inactive.force()\r\n }\r\n },\r\n dispose: function() {\r\n this._active.stop();\r\n this._inactive.stop();\r\n if (activeFeedback === this) {\r\n activeFeedback = null\r\n }\r\n this.callBase()\r\n },\r\n lockInactive: function() {\r\n this._active.force();\r\n this._inactive.stop();\r\n activeFeedback = null;\r\n this._cancel();\r\n return this._inactive.force.bind(this._inactive)\r\n }\r\n});\r\nFeedbackEmitter.lock = function(deferred) {\r\n var lockInactive = activeFeedback ? activeFeedback.lockInactive() : noop;\r\n deferred.done(lockInactive)\r\n};\r\nregisterEmitter({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nexport var lock = FeedbackEmitter.lock;\r\nexport {\r\n ACTIVE_EVENT_NAME as active, INACTIVE_EVENT_NAME as inactive\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n hasTouches,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nexport default Emitter;\r\n","/**\r\n * DevExtreme (esm/events/core/emitter_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport {\r\n name as wheelEventName\r\n} from \"./wheel\";\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(wheelEventName, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter((function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n }))\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, (function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n }));\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this;\r\n var result = [];\r\n var $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = elementData($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter((function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n }))\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = activeEmitters.indexOf(emitter);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter((function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n }));\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter((function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n }));\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e);\r\n var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter((function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n }));\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter;\r\n var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n each(emitterEvents, (function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = elementData(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n elementData(element, EMITTER_DATA, emitters);\r\n elementData(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, (function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n }));\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n }))\r\n};\r\nexport default registerEmitter;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport callbacks from \"./event_registrator_callbacks\";\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], (function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n }));\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nexport default registerEvent;\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator_callbacks.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"../../core/memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/events/core/hook_touch_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nexport default function(callback) {\r\n touchPropsToHook.forEach((function(name) {\r\n callback(name, (function(event) {\r\n return touchPropHook(name, event)\r\n }))\r\n }), this)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/events_engine.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerEventCallbacks from \"./event_registrator_callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"../../core/utils/dependency_injector\";\r\nimport {\r\n isWindow,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport errors from \"../../core/errors\";\r\nimport hookTouchProps from \"../../events/core/hook_touch_props\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\nvar EVENT_PROPERTIES = [\"target\", \"relatedTarget\", \"delegateTarget\", \"altKey\", \"bubbles\", \"cancelable\", \"changedTouches\", \"ctrlKey\", \"detail\", \"eventPhase\", \"metaKey\", \"shiftKey\", \"view\", \"char\", \"code\", \"charCode\", \"key\", \"keyCode\", \"button\", \"buttons\", \"offsetX\", \"offsetY\", \"pointerId\", \"pointerType\", \"targetTouches\", \"toElement\", \"touches\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add((function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n }));\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n })))),\r\n one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) {\r\n eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n }))\r\n }))),\r\n off: getHandler(normalizeOffArguments(iterate((function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n })))),\r\n trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);\r\n if (!noBubble) {\r\n var parents = [];\r\n ! function getParents(element) {\r\n var _element$parentNode;\r\n var parent = null !== (_element$parentNode = element.parentNode) && void 0 !== _element$parentNode ? _element$parentNode : element.host;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n }(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n }))),\r\n triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n })))\r\n});\r\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, (function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n }))\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n}\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar contains = (container, element) => {\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n },\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n }));\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getNativeHandler(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n}\r\n\r\nfunction isSubset(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction normalizeOnArguments(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n}\r\n\r\nfunction normalizeOffArguments(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n}\r\n\r\nfunction normalizeTriggerArguments(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n}\r\n\r\nfunction normalizeEventArguments(callback) {\r\n eventsEngine.Event = function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n };\r\n _extends(eventsEngine.Event.prototype, {\r\n _propagationStopped: false,\r\n _immediatePropagationStopped: false,\r\n _defaultPrevented: false,\r\n isPropagationStopped: function() {\r\n return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n this._propagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return this._immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n this._immediatePropagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n this._defaultPrevented = true;\r\n this.originalEvent && this.originalEvent.preventDefault()\r\n }\r\n });\r\n return eventsEngine.Event\r\n}\r\n\r\nfunction iterate(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach((function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n }))\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === typeof eventName) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n}\r\n\r\nfunction callNativeMethod(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n if (function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n }(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(event) {\r\n if (function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n }(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (function(event) {\r\n return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)\r\n }(event)) {\r\n return {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n } [event.button]\r\n }\r\n return event.which\r\n}\r\n\r\nfunction initEvent(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n}\r\ninitEvent(normalizeEventArguments((function(src, config) {\r\n var _src$view;\r\n var srcIsEvent = src instanceof eventsEngine.Event || hasWindow() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event;\r\n if (srcIsEvent) {\r\n this.originalEvent = src;\r\n this.type = src.type;\r\n this.currentTarget = void 0;\r\n if (Object.prototype.hasOwnProperty.call(src, \"isTrusted\")) {\r\n this.isTrusted = src.isTrusted\r\n }\r\n this.timeStamp = src.timeStamp || Date.now()\r\n } else {\r\n _extends(this, src)\r\n }\r\n addProperty(\"which\", calculateWhich, this);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n _extends(this, config);\r\n this.guid = ++guid\r\n})));\r\n\r\nfunction addProperty(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n}\r\nEVENT_PROPERTIES.forEach(prop => addProperty(prop, event => event[prop]));\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments((function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add((function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n }));\r\n afterSetStrategy.add((function() {\r\n eventsEngine.on.apply(this, args)\r\n }))\r\n })))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nexport default eventsEngine;\r\n","/**\r\n * DevExtreme (esm/events/core/keyboard_processor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar createKeyDownOptions = e => ({\r\n keyName: normalizeKeyName(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n});\r\nvar KeyboardProcessor = Class.inherit({\r\n _keydown: addNamespace(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: addNamespace(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: addNamespace(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n options = options || {};\r\n if (options.element) {\r\n this._element = $(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n if (this._element) {\r\n this._processFunction = e => {\r\n var focusTargets = $(this._focusTarget).toArray();\r\n var isNotFocusTarget = this._focusTarget && this._focusTarget !== e.target && !focusTargets.includes(e.target);\r\n var shouldSkipProcessing = this._isComposingJustFinished && 229 === e.which || this._isComposing || isNotFocusTarget;\r\n this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n eventsEngine.on(this._element, this._keydown, this._processFunction);\r\n eventsEngine.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n eventsEngine.off(this._element, this._keydown, this._processFunction);\r\n eventsEngine.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler(createKeyDownOptions(e))\r\n },\r\n toggleProcessing: function(_ref) {\r\n var {\r\n type: type\r\n } = _ref;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nKeyboardProcessor.createKeyDownOptions = createKeyDownOptions;\r\nexport default KeyboardProcessor;\r\n","/**\r\n * DevExtreme (esm/events/core/wheel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, addNamespace(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var {\r\n deltaMode: deltaMode,\r\n deltaY: deltaY,\r\n deltaX: deltaX,\r\n deltaZ: deltaZ\r\n } = e.originalEvent;\r\n fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexport {\r\n EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = knownDropTargets.includes(element);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = knownDropTargets.indexOf(element);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (!knownDropTargetSelectors[index].includes(selector)) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = knownDropTargets.indexOf(element);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (knownDropTargetSelectors[dropTargetIndex].includes(void 0)) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n if (e.targetElements || null === e.targetElements) {\r\n var dropTargets = wrapToArray(e.targetElements || []);\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n } else {\r\n this._dropTargets = knownDropTargets\r\n }\r\n },\r\n _move: function(e) {\r\n var eventData = eData(e);\r\n var dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e);\r\n var sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, (function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(result), e)) {\r\n result = delegatedTarget\r\n }\r\n }))\r\n }));\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, (function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n }));\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === $(e.target).get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n var _this$immediateTimeou;\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n if (0 === this.immediateTimeout) {\r\n this._immediateAccepted = true;\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), null !== (_this$immediateTimeou = this.immediateTimeout) && void 0 !== _this$immediateTimeou ? _this$immediateTimeou : IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.scroll.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n addNamespace,\r\n isDxMouseWheelEvent,\r\n isMouseEvent,\r\n eventData,\r\n eventDelta\r\n} from \"../../events/utils/index\";\r\nimport GestureEmitter from \"../../events/gesture/emitter.gesture\";\r\nimport registerEmitter from \"../../events/core/emitter_registrator\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nimport devices from \"../../core/devices\";\r\nvar realDevice = devices.real();\r\nvar SCROLL_EVENT = \"scroll\";\r\nvar SCROLL_INIT_EVENT = \"dxscrollinit\";\r\nvar SCROLL_START_EVENT = \"dxscrollstart\";\r\nvar SCROLL_MOVE_EVENT = \"dxscroll\";\r\nvar SCROLL_END_EVENT = \"dxscrollend\";\r\nvar SCROLL_STOP_EVENT = \"dxscrollstop\";\r\nvar SCROLL_CANCEL_EVENT = \"dxscrollcancel\";\r\nvar Locker = Class.inherit(function() {\r\n var NAMESPACED_SCROLL_EVENT = addNamespace(SCROLL_EVENT, \"dxScrollEmitter\");\r\n return {\r\n ctor: function(element) {\r\n this._element = element;\r\n this._locked = false;\r\n this._proxiedScroll = e => {\r\n if (!this._disposed) {\r\n this._scroll(e)\r\n }\r\n };\r\n eventsEngine.on(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n },\r\n _scroll: abstract,\r\n check: function(e, callback) {\r\n if (this._locked) {\r\n callback()\r\n }\r\n },\r\n dispose: function() {\r\n this._disposed = true;\r\n eventsEngine.off(this._element, NAMESPACED_SCROLL_EVENT, this._proxiedScroll)\r\n }\r\n }\r\n}());\r\nvar TimeoutLocker = Locker.inherit({\r\n ctor: function(element, timeout) {\r\n this.callBase(element);\r\n this._timeout = timeout\r\n },\r\n _scroll: function() {\r\n this._prepare();\r\n this._forget()\r\n },\r\n _prepare: function() {\r\n if (this._timer) {\r\n this._clearTimer()\r\n }\r\n this._locked = true\r\n },\r\n _clearTimer: function() {\r\n clearTimeout(this._timer);\r\n this._locked = false;\r\n this._timer = null\r\n },\r\n _forget: function() {\r\n var that = this;\r\n this._timer = setTimeout((function() {\r\n that._clearTimer()\r\n }), this._timeout)\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._clearTimer()\r\n }\r\n});\r\nvar WheelLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400);\r\n this._lastWheelDirection = null\r\n },\r\n check: function(e, callback) {\r\n this._checkDirectionChanged(e);\r\n this.callBase(e, callback)\r\n },\r\n _checkDirectionChanged: function(e) {\r\n if (!isDxMouseWheelEvent(e)) {\r\n this._lastWheelDirection = null;\r\n return\r\n }\r\n var direction = e.shiftKey || false;\r\n var directionChange = null !== this._lastWheelDirection && direction !== this._lastWheelDirection;\r\n this._lastWheelDirection = direction;\r\n this._locked = this._locked && !directionChange\r\n }\r\n});\r\nvar PointerLocker = TimeoutLocker.inherit({\r\n ctor: function(element) {\r\n this.callBase(element, 400)\r\n }\r\n});\r\n! function() {\r\n var {\r\n ios: isIos,\r\n android: isAndroid\r\n } = realDevice;\r\n if (!(isIos || isAndroid)) {\r\n return\r\n }\r\n PointerLocker = Locker.inherit({\r\n _scroll: function() {\r\n this._locked = true;\r\n var that = this;\r\n cancelAnimationFrame(this._scrollFrame);\r\n this._scrollFrame = requestAnimationFrame((function() {\r\n that._locked = false\r\n }))\r\n },\r\n check: function(e, callback) {\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame);\r\n var that = this;\r\n var callBase = this.callBase;\r\n this._checkFrame = requestAnimationFrame((function() {\r\n callBase.call(that, e, callback);\r\n that._locked = false\r\n }))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n cancelAnimationFrame(this._scrollFrame);\r\n cancelAnimationFrame(this._checkFrame)\r\n }\r\n })\r\n}();\r\nvar ScrollEmitter = GestureEmitter.inherit(function() {\r\n var FRAME_DURATION = Math.round(1e3 / 60);\r\n return {\r\n ctor: function(element) {\r\n this.callBase.apply(this, arguments);\r\n this.direction = \"both\";\r\n this._pointerLocker = new PointerLocker(element);\r\n this._wheelLocker = new WheelLocker(element)\r\n },\r\n validate: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n if (data.scrollTarget) {\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose();\r\n this._pointerLocker = new PointerLocker(data.scrollTarget);\r\n this._wheelLocker = new WheelLocker(data.scrollTarget)\r\n }\r\n this.callBase(data)\r\n },\r\n _init: function(e) {\r\n this._wheelLocker.check(e, function() {\r\n if (isDxMouseWheelEvent(e)) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._pointerLocker.check(e, function() {\r\n var skipCheck = this.isNative && isMouseEvent(e);\r\n if (!isDxMouseWheelEvent(e) && !skipCheck) {\r\n this._accept(e)\r\n }\r\n }.bind(this));\r\n this._fireEvent(SCROLL_INIT_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n move: function(e) {\r\n this.callBase.apply(this, arguments);\r\n e.isScrollingEvent = this.isNative || e.isScrollingEvent\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n this._fireEvent(SCROLL_START_EVENT, e);\r\n this._prevEventData = eventData(e)\r\n },\r\n _move: function(e) {\r\n var currentEventData = eventData(e);\r\n this._fireEvent(SCROLL_MOVE_EVENT, e, {\r\n delta: eventDelta(this._prevEventData, currentEventData)\r\n });\r\n var delta = eventDelta(this._savedEventData, currentEventData);\r\n if (delta.time > 200) {\r\n this._savedEventData = this._prevEventData\r\n }\r\n this._prevEventData = eventData(e)\r\n },\r\n _end: function(e) {\r\n var endEventDelta = eventDelta(this._prevEventData, eventData(e));\r\n var velocity = {\r\n x: 0,\r\n y: 0\r\n };\r\n if (!isDxMouseWheelEvent(e) && endEventDelta.time < 100) {\r\n var delta = eventDelta(this._savedEventData, this._prevEventData);\r\n var velocityMultiplier = FRAME_DURATION / delta.time;\r\n velocity = {\r\n x: delta.x * velocityMultiplier,\r\n y: delta.y * velocityMultiplier\r\n }\r\n }\r\n this._fireEvent(SCROLL_END_EVENT, e, {\r\n velocity: velocity\r\n })\r\n },\r\n _stop: function(e) {\r\n this._fireEvent(SCROLL_STOP_EVENT, e)\r\n },\r\n cancel: function(e) {\r\n this.callBase.apply(this, arguments);\r\n this._fireEvent(SCROLL_CANCEL_EVENT, e)\r\n },\r\n dispose: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerLocker.dispose();\r\n this._wheelLocker.dispose()\r\n },\r\n _clearSelection: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleGestureCover: function() {\r\n if (this.isNative) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n}());\r\nregisterEmitter({\r\n emitter: ScrollEmitter,\r\n events: [SCROLL_INIT_EVENT, SCROLL_START_EVENT, SCROLL_MOVE_EVENT, SCROLL_END_EVENT, SCROLL_STOP_EVENT, SCROLL_CANCEL_EVENT]\r\n});\r\nexport default {\r\n init: SCROLL_INIT_EVENT,\r\n start: SCROLL_START_EVENT,\r\n move: SCROLL_MOVE_EVENT,\r\n end: SCROLL_END_EVENT,\r\n stop: SCROLL_STOP_EVENT,\r\n cancel: SCROLL_CANCEL_EVENT,\r\n scroll: SCROLL_EVENT\r\n};\r\n","/**\r\n * DevExtreme (esm/events/gesture/swipeable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../swipe\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace\r\n} from \"../utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n name\r\n} from \"../../core/utils/public_component\";\r\nvar DX_SWIPEABLE = \"dxSwipeable\";\r\nvar SWIPEABLE_CLASS = \"dx-swipeable\";\r\nvar ACTION_TO_EVENT_MAP = {\r\n onStart: swipeEventStart,\r\n onUpdated: swipeEventSwipe,\r\n onEnd: swipeEventEnd,\r\n onCancel: \"dxswipecancel\"\r\n};\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar Swipeable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n elastic: true,\r\n immediate: false,\r\n immediateTimeout: IMMEDIATE_TIMEOUT,\r\n direction: \"horizontal\",\r\n itemSizeFunc: null,\r\n onStart: null,\r\n onUpdated: null,\r\n onEnd: null,\r\n onCancel: null\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(SWIPEABLE_CLASS);\r\n this._attachEventHandlers()\r\n },\r\n _attachEventHandlers: function() {\r\n this._detachEventHandlers();\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var NAME = this.NAME;\r\n this._createEventData();\r\n each(ACTION_TO_EVENT_MAP, function(actionName, eventName) {\r\n var action = this._createActionByOption(actionName, {\r\n context: this\r\n });\r\n eventName = addNamespace(eventName, NAME);\r\n eventsEngine.on(this.$element(), eventName, this._eventData, (function(e) {\r\n return action({\r\n event: e\r\n })\r\n }))\r\n }.bind(this))\r\n },\r\n _createEventData: function() {\r\n this._eventData = {\r\n elastic: this.option(\"elastic\"),\r\n itemSizeFunc: this.option(\"itemSizeFunc\"),\r\n direction: this.option(\"direction\"),\r\n immediate: this.option(\"immediate\"),\r\n immediateTimeout: this.option(\"immediateTimeout\")\r\n }\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this.$element(), \".\" + DX_SWIPEABLE)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n case \"onStart\":\r\n case \"onUpdated\":\r\n case \"onEnd\":\r\n case \"onCancel\":\r\n case \"elastic\":\r\n case \"immediate\":\r\n case \"itemSizeFunc\":\r\n case \"direction\":\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"rtlEnabled\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nname(Swipeable, DX_SWIPEABLE);\r\nexport default Swipeable;\r\n","/**\r\n * DevExtreme (esm/events/hold.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n eventData,\r\n eventDelta\r\n} from \"./utils/index\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\";\r\nvar HOLD_TIMEOUT = 750;\r\nvar TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = Emitter.inherit({\r\n start: function(e) {\r\n this._startEventData = eventData(e);\r\n this._startTimer(e)\r\n },\r\n _startTimer: function(e) {\r\n var holdTimeout = \"timeout\" in this ? this.timeout : HOLD_TIMEOUT;\r\n this._holdTimer = setTimeout(function() {\r\n this._requestAccept(e);\r\n this._fireEvent(HOLD_EVENT_NAME, e, {\r\n target: e.target\r\n });\r\n this._forgetAccept()\r\n }.bind(this), holdTimeout)\r\n },\r\n move: function(e) {\r\n if (this._touchWasMoved(e)) {\r\n this._cancel(e)\r\n }\r\n },\r\n _touchWasMoved: function(e) {\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n return abs(delta.x) > TOUCH_BOUNDARY || abs(delta.y) > TOUCH_BOUNDARY\r\n },\r\n end: function() {\r\n this._stopTimer()\r\n },\r\n _stopTimer: function() {\r\n clearTimeout(this._holdTimer)\r\n },\r\n cancel: function() {\r\n this._stopTimer()\r\n },\r\n dispose: function() {\r\n this._stopTimer()\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nexport default {\r\n name: HOLD_EVENT_NAME\r\n};\r\n","/**\r\n * DevExtreme (esm/events/hover.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n removeData,\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Class from \"../core/class\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n elementData(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n elementData(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = elementData(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexport {\r\n HOVERSTART as start, HOVEREND as end\r\n};\r\n","/**\r\n * DevExtreme (esm/events/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nexport var on = eventsEngine.on;\r\nexport var one = eventsEngine.one;\r\nexport var off = eventsEngine.off;\r\nexport var trigger = eventsEngine.trigger;\r\nexport var triggerHandler = eventsEngine.triggerHandler;\r\nexport var Event = eventsEngine.Event;\r\n","/**\r\n * DevExtreme (esm/events/pointer/base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n eventSource,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var _originalEvent$target;\r\n var delegateTarget = this._getDelegateTarget(e);\r\n var event = {\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n };\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n event.target = path[0]\r\n }\r\n return this._fireEvent(event)\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), (function(e) {\r\n that._handler(e)\r\n }))\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nexport default BaseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/touch.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseStrategy from \"./base\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, (function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n }));\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nexport default TouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MouseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/observer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n }))\r\n }))\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, (function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n }));\r\n return index\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n addEventsListener(eventMap.dxpointerdown, (function(e) {\r\n if (-1 === getPointerIndex(e)) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n }));\r\n addEventsListener(eventMap.dxpointermove, (function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n }));\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nexport default Observer;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse_and_touch.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport MouseStrategy from \"./mouse\";\r\nimport TouchStrategy from \"./touch\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouse = isMouseEvent(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout((function() {\r\n that._mouseLocked = false\r\n }), this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var normalizer = isMouseEvent(args.originalEvent) ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nexport default MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as support from \"../core/utils/support\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport TouchStrategy from \"./pointer/touch\";\r\nimport MouseStrategy from \"./pointer/mouse\";\r\nimport MouseAndTouchStrategy from \"./pointer/mouse_and_touch\";\r\nvar getStrategy = (support, device) => {\r\n var {\r\n tablet: tablet,\r\n phone: phone\r\n } = device;\r\n if (support.touch && !(tablet || phone)) {\r\n return MouseAndTouchStrategy\r\n }\r\n if (support.touch) {\r\n return TouchStrategy\r\n }\r\n return MouseStrategy\r\n};\r\nvar EventStrategy = getStrategy(support, devices.real());\r\neach(EventStrategy.map, (pointerEvent, originalEvents) => {\r\n registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\nexport default pointer;\r\n","/**\r\n * DevExtreme (esm/events/remove.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n beforeCleanData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nexport var removeEvent = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\nregisterEvent(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/short.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport KeyboardProcessor from \"./core/keyboard_processor\";\r\nimport {\r\n addNamespace as pureAddNamespace\r\n} from \"./utils/index\";\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? pureAddNamespace(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nexport var active = {\r\n on: ($el, active, inactive, opts) => {\r\n var {\r\n selector: selector,\r\n showTimeout: showTimeout,\r\n hideTimeout: hideTimeout,\r\n namespace: namespace\r\n } = opts;\r\n eventsEngine.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, event => executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n }));\r\n eventsEngine.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, event => executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n }))\r\n },\r\n off: ($el, _ref) => {\r\n var {\r\n namespace: namespace,\r\n selector: selector\r\n } = _ref;\r\n eventsEngine.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexport var resize = {\r\n on: function($el, resize) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexport var hover = {\r\n on: ($el, start, end, _ref2) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref2;\r\n eventsEngine.on($el, addNamespace(\"dxhoverend\", namespace), selector, event => end(event));\r\n eventsEngine.on($el, addNamespace(\"dxhoverstart\", namespace), selector, event => executeAction(start, {\r\n element: event.target,\r\n event: event\r\n }))\r\n },\r\n off: ($el, _ref3) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref3;\r\n eventsEngine.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexport var visibility = {\r\n on: ($el, shown, hiding, _ref4) => {\r\n var {\r\n namespace: namespace\r\n } = _ref4;\r\n eventsEngine.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n eventsEngine.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: ($el, _ref5) => {\r\n var {\r\n namespace: namespace\r\n } = _ref5;\r\n eventsEngine.off($el, addNamespace(\"dxhiding\", namespace));\r\n eventsEngine.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexport var focus = {\r\n on: ($el, focusIn, focusOut, _ref6) => {\r\n var {\r\n namespace: namespace\r\n } = _ref6;\r\n eventsEngine.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n eventsEngine.on($el, addNamespace(\"focusout\", namespace), focusOut)\r\n },\r\n off: ($el, _ref7) => {\r\n var {\r\n namespace: namespace\r\n } = _ref7;\r\n eventsEngine.off($el, addNamespace(\"focusin\", namespace));\r\n eventsEngine.off($el, addNamespace(\"focusout\", namespace))\r\n },\r\n trigger: $el => eventsEngine.trigger($el, \"focus\")\r\n};\r\nexport var dxClick = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexport var click = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = () => \"keyboardProcessorId\".concat(index++);\r\nexport var keyboard = {\r\n on: (element, focusTarget, handler) => {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new KeyboardProcessor({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: listenerId => {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: listenerId => keyboardProcessors[listenerId]\r\n};\r\n","/**\r\n * DevExtreme (esm/events/swipe.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n eventData\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getWidth(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxLeftOffset, this._maxRightOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar VerticalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return getHeight(this.getElement())\r\n },\r\n getBounds: function() {\r\n return [this._maxTopOffset, this._maxBottomOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = eventData(e);\r\n return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = eventData(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar STRATEGIES = {\r\n horizontal: HorizontalStrategy,\r\n vertical: VerticalStrategy\r\n};\r\nvar SwipeEmitter = GestureEmitter.inherit({\r\n TICK_INTERVAL: 300,\r\n FAST_SWIPE_SPEED_LIMIT: 10,\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"horizontal\";\r\n this.elastic = true\r\n },\r\n _getStrategy: function() {\r\n return STRATEGIES[this.direction]\r\n },\r\n _defaultItemSizeFunc: function() {\r\n return this._getStrategy().defaultItemSizeFunc.call(this)\r\n },\r\n _itemSizeFunc: function() {\r\n return this.itemSizeFunc || this._defaultItemSizeFunc\r\n },\r\n _init: function(e) {\r\n this._tickData = eventData(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = eventData(e);\r\n e = this._fireEvent(SWIPE_START_EVENT, e);\r\n if (!e.cancel) {\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset\r\n }\r\n },\r\n _move: function(e) {\r\n var strategy = this._getStrategy();\r\n var moveEventData = eventData(e);\r\n var offset = strategy.calcOffsetRatio.call(this, e);\r\n offset = this._fitOffset(offset, this.elastic);\r\n if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) {\r\n this._tickData = moveEventData\r\n }\r\n this._fireEvent(SWIPE_EVENT, e, {\r\n offset: offset\r\n });\r\n if (false !== e.cancelable) {\r\n e.preventDefault()\r\n }\r\n },\r\n _end: function(e) {\r\n var strategy = this._getStrategy();\r\n var offsetRatio = strategy.calcOffsetRatio.call(this, e);\r\n var isFast = strategy.isFastSwipe.call(this, e);\r\n var startOffset = offsetRatio;\r\n var targetOffset = this._calcTargetOffset(offsetRatio, isFast);\r\n startOffset = this._fitOffset(startOffset, this.elastic);\r\n targetOffset = this._fitOffset(targetOffset, false);\r\n this._fireEvent(SWIPE_END_EVENT, e, {\r\n offset: startOffset,\r\n targetOffset: targetOffset\r\n })\r\n },\r\n _fitOffset: function(offset, elastic) {\r\n var strategy = this._getStrategy();\r\n var bounds = strategy.getBounds.call(this);\r\n if (offset < -bounds[0]) {\r\n return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0]\r\n }\r\n if (offset > bounds[1]) {\r\n return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1]\r\n }\r\n return offset\r\n },\r\n _calcTargetOffset: function(offsetRatio, isFast) {\r\n var result;\r\n if (isFast) {\r\n result = Math.ceil(Math.abs(offsetRatio));\r\n if (offsetRatio < 0) {\r\n result = -result\r\n }\r\n } else {\r\n result = Math.round(offsetRatio)\r\n }\r\n return result\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\nexport {\r\n SWIPE_EVENT as swipe, SWIPE_START_EVENT as start, SWIPE_END_EVENT as end\r\n};\r\n","/**\r\n * DevExtreme (esm/events/utils/add_namespace.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar addNamespace = (eventNames, namespace) => {\r\n if (!namespace) {\r\n throw errors.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(eventName => addNamespace(eventName, namespace)).join(\" \")\r\n }\r\n if (-1 !== eventNames.indexOf(\" \")) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nexport default addNamespace;\r\n","/**\r\n * DevExtreme (esm/events/utils/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport mappedAddNamespace from \"./add_namespace\";\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../../ui/widget/selectors\";\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n delete: \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n};\r\nvar fixMethod = e => e;\r\nvar copyEvent = originalEvent => fixMethod(eventsEngine.Event(originalEvent, originalEvent), originalEvent);\r\nvar isDxEvent = e => \"dx\" === eventSource(e);\r\nvar isNativeMouseEvent = e => \"mouse\" === eventSource(e);\r\nvar isNativeTouchEvent = e => \"touch\" === eventSource(e);\r\nexport var eventSource = _ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n var result = \"other\";\r\n each(EVENT_SOURCES_REGEX, (function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n }));\r\n return result\r\n};\r\nexport var isPointerEvent = e => \"pointer\" === eventSource(e);\r\nexport var isMouseEvent = e => isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType;\r\nexport var isDxMouseWheelEvent = e => e && \"dxmousewheel\" === e.type;\r\nexport var isTouchEvent = e => isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType;\r\nexport var isKeyboardEvent = e => \"keyboard\" === eventSource(e);\r\nexport var isFakeClickEvent = _ref2 => {\r\n var {\r\n screenX: screenX,\r\n offsetX: offsetX,\r\n pageX: pageX\r\n } = _ref2;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexport var eventData = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY,\r\n timeStamp: timeStamp\r\n } = _ref3;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexport var eventDelta = (from, to) => ({\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n});\r\nexport var hasTouches = e => {\r\n var {\r\n originalEvent: originalEvent,\r\n pointers: pointers\r\n } = e;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar skipEvents = false;\r\nexport var forceSkipEvents = () => skipEvents = true;\r\nexport var stopEventsSkipping = () => skipEvents = false;\r\nexport var needSkipEvent = e => {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var {\r\n target: target\r\n } = e;\r\n var $target = $(target);\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && focused($target)\r\n }\r\n};\r\nexport var setEventFixMethod = func => fixMethod = func;\r\nexport var createEvent = (originalEvent, args) => {\r\n var event = copyEvent(originalEvent);\r\n args && extend(event, args);\r\n return event\r\n};\r\nexport var fireEvent = props => {\r\n var {\r\n originalEvent: originalEvent,\r\n delegateTarget: delegateTarget\r\n } = props;\r\n var event = createEvent(originalEvent, props);\r\n eventsEngine.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexport var normalizeKeyName = _ref4 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref4;\r\n var normalizedKey = KEY_MAP[null === key || void 0 === key ? void 0 : key.toLowerCase()] || key;\r\n var normalizedKeyFromWhich = LEGACY_KEY_CODES[which];\r\n if (normalizedKeyFromWhich && normalizedKey === key) {\r\n return normalizedKeyFromWhich\r\n } else if (!normalizedKey && which) {\r\n return String.fromCharCode(which)\r\n }\r\n return normalizedKey\r\n};\r\nexport var getChar = _ref5 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref5;\r\n return key || String.fromCharCode(which)\r\n};\r\nexport var addNamespace = mappedAddNamespace;\r\nexport var isCommandKeyPressed = _ref6 => {\r\n var {\r\n ctrlKey: ctrlKey,\r\n metaKey: metaKey\r\n } = _ref6;\r\n return ctrlKey || metaKey\r\n};\r\n","/**\r\n * DevExtreme (esm/events/visibility_change.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(\".dx-visibility-change-handler\").add($element.find(\".dx-visibility-change-handler\"));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nexport var triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexport var triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexport var triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\n","/**\r\n * DevExtreme (esm/format_helper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString,\r\n isNumeric,\r\n isFunction,\r\n isDefined,\r\n isDate,\r\n isPlainObject\r\n} from \"./core/utils/type\";\r\nimport dateUtils from \"./core/utils/date\";\r\nimport numberLocalization from \"./localization/number\";\r\nimport dateLocalization from \"./localization/date\";\r\nimport dependencyInjector from \"./core/utils/dependency_injector\";\r\nimport \"./localization/currency\";\r\nexport default dependencyInjector({\r\n format: function(value, _format) {\r\n var formatIsValid = isString(_format) && \"\" !== _format || isPlainObject(_format) || isFunction(_format);\r\n var valueIsValid = isNumeric(value) || isDate(value);\r\n if (!formatIsValid || !valueIsValid) {\r\n return isDefined(value) ? value.toString() : \"\"\r\n }\r\n if (isFunction(_format)) {\r\n return _format(value)\r\n }\r\n if (isString(_format)) {\r\n _format = {\r\n type: _format\r\n }\r\n }\r\n if (isNumeric(value)) {\r\n return numberLocalization.format(value, _format)\r\n }\r\n if (isDate(value)) {\r\n return dateLocalization.format(value, _format)\r\n }\r\n },\r\n getTimeFormat: function(showSecond) {\r\n return showSecond ? \"longtime\" : \"shorttime\"\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!Array.isArray(format)) {\r\n return format\r\n }\r\n if (1 === format.length) {\r\n return format[0]\r\n }\r\n return function(date) {\r\n return format.map((function(formatPart) {\r\n return dateLocalization.format(date, formatPart)\r\n })).join(\" \")\r\n }\r\n },\r\n getDateFormatByDifferences: function(dateDifferences, intervalFormat) {\r\n var resultFormat = [];\r\n var needSpecialSecondFormatter = intervalFormat && dateDifferences.millisecond && !(dateDifferences.year || dateDifferences.month || dateDifferences.day);\r\n if (needSpecialSecondFormatter) {\r\n resultFormat.push((function(date) {\r\n return date.getSeconds() + date.getMilliseconds() / 1e3 + \"s\"\r\n }))\r\n } else if (dateDifferences.millisecond) {\r\n resultFormat.push(\"millisecond\")\r\n }\r\n if (dateDifferences.hour || dateDifferences.minute || !needSpecialSecondFormatter && dateDifferences.second) {\r\n resultFormat.unshift(this.getTimeFormat(dateDifferences.second))\r\n }\r\n if (dateDifferences.year && dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat && \"month\" === intervalFormat) {\r\n return \"monthandyear\"\r\n } else {\r\n resultFormat.unshift(\"shortdate\");\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n }\r\n if (dateDifferences.year && dateDifferences.month) {\r\n return \"monthandyear\"\r\n }\r\n if (dateDifferences.year && dateDifferences.quarter) {\r\n return \"quarterandyear\"\r\n }\r\n if (dateDifferences.year) {\r\n return \"year\"\r\n }\r\n if (dateDifferences.quarter) {\r\n return \"quarter\"\r\n }\r\n if (dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift((function(date) {\r\n return dateLocalization.getMonthNames(\"abbreviated\")[date.getMonth()] + \" \" + dateLocalization.format(date, \"day\")\r\n }))\r\n } else {\r\n resultFormat.unshift(\"monthandday\")\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n if (dateDifferences.month) {\r\n return \"month\"\r\n }\r\n if (dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift(\"day\")\r\n } else {\r\n resultFormat.unshift((function(date) {\r\n return dateLocalization.format(date, \"dayofweek\") + \", \" + dateLocalization.format(date, \"day\")\r\n }))\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n },\r\n getDateFormatByTicks: function(ticks) {\r\n var maxDiff;\r\n var currentDiff;\r\n var i;\r\n if (ticks.length > 1) {\r\n maxDiff = dateUtils.getDatesDifferences(ticks[0], ticks[1]);\r\n for (i = 1; i < ticks.length - 1; i++) {\r\n currentDiff = dateUtils.getDatesDifferences(ticks[i], ticks[i + 1]);\r\n if (maxDiff.count < currentDiff.count) {\r\n maxDiff = currentDiff\r\n }\r\n }\r\n } else {\r\n maxDiff = {\r\n year: true,\r\n month: true,\r\n day: true,\r\n hour: ticks[0].getHours() > 0,\r\n minute: ticks[0].getMinutes() > 0,\r\n second: ticks[0].getSeconds() > 0,\r\n millisecond: ticks[0].getMilliseconds() > 0\r\n }\r\n }\r\n var resultFormat = this.getDateFormatByDifferences(maxDiff);\r\n return resultFormat\r\n },\r\n getDateFormatByTickInterval: function(startValue, endValue, tickInterval) {\r\n var dateUnitInterval;\r\n var correctDateDifferences = function(dateDifferences, tickInterval, value) {\r\n switch (tickInterval) {\r\n case \"year\":\r\n case \"quarter\":\r\n dateDifferences.month = value;\r\n case \"month\":\r\n dateDifferences.day = value;\r\n case \"week\":\r\n case \"day\":\r\n dateDifferences.hour = value;\r\n case \"hour\":\r\n dateDifferences.minute = value;\r\n case \"minute\":\r\n dateDifferences.second = value;\r\n case \"second\":\r\n dateDifferences.millisecond = value\r\n }\r\n };\r\n tickInterval = isString(tickInterval) ? tickInterval.toLowerCase() : tickInterval;\r\n var dateDifferences = dateUtils.getDatesDifferences(startValue, endValue);\r\n if (startValue !== endValue) {\r\n ! function(differences, minDate, maxDate) {\r\n if (!maxDate.getMilliseconds() && maxDate.getSeconds()) {\r\n if (maxDate.getSeconds() - minDate.getSeconds() === 1) {\r\n differences.millisecond = true;\r\n differences.second = false\r\n }\r\n } else if (!maxDate.getSeconds() && maxDate.getMinutes()) {\r\n if (maxDate.getMinutes() - minDate.getMinutes() === 1) {\r\n differences.second = true;\r\n differences.minute = false\r\n }\r\n } else if (!maxDate.getMinutes() && maxDate.getHours()) {\r\n if (maxDate.getHours() - minDate.getHours() === 1) {\r\n differences.minute = true;\r\n differences.hour = false\r\n }\r\n } else if (!maxDate.getHours() && maxDate.getDate() > 1) {\r\n if (maxDate.getDate() - minDate.getDate() === 1) {\r\n differences.hour = true;\r\n differences.day = false\r\n }\r\n } else if (1 === maxDate.getDate() && maxDate.getMonth()) {\r\n if (maxDate.getMonth() - minDate.getMonth() === 1) {\r\n differences.day = true;\r\n differences.month = false\r\n }\r\n } else if (!maxDate.getMonth() && maxDate.getFullYear()) {\r\n if (maxDate.getFullYear() - minDate.getFullYear() === 1) {\r\n differences.month = true;\r\n differences.year = false\r\n }\r\n }\r\n }(dateDifferences, startValue > endValue ? endValue : startValue, startValue > endValue ? startValue : endValue)\r\n }\r\n dateUnitInterval = dateUtils.getDateUnitInterval(dateDifferences);\r\n correctDateDifferences(dateDifferences, dateUnitInterval, true);\r\n dateUnitInterval = dateUtils.getDateUnitInterval(tickInterval || \"second\");\r\n correctDateDifferences(dateDifferences, dateUnitInterval, false);\r\n dateDifferences[{\r\n week: \"day\"\r\n } [dateUnitInterval] || dateUnitInterval] = true;\r\n var resultFormat = this.getDateFormatByDifferences(dateDifferences);\r\n return resultFormat\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MV\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"hi-Latn\": \"en-IN\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n nb: \"no\",\r\n nn: \"no\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"und\",\r\n \"az-Cyrl\": \"und\",\r\n \"bal-Latn\": \"und\",\r\n \"blt-Latn\": \"und\",\r\n \"bm-Nkoo\": \"und\",\r\n \"bs-Cyrl\": \"und\",\r\n \"byn-Latn\": \"und\",\r\n \"cu-Glag\": \"und\",\r\n \"dje-Arab\": \"und\",\r\n \"dyo-Arab\": \"und\",\r\n \"en-Dsrt\": \"und\",\r\n \"en-Shaw\": \"und\",\r\n \"ff-Adlm\": \"und\",\r\n \"ff-Arab\": \"und\",\r\n \"ha-Arab\": \"und\",\r\n \"iu-Latn\": \"und\",\r\n \"kk-Arab\": \"und\",\r\n \"ks-Deva\": \"und\",\r\n \"ku-Arab\": \"und\",\r\n \"ky-Arab\": \"und\",\r\n \"ky-Latn\": \"und\",\r\n \"ml-Arab\": \"und\",\r\n \"mn-Mong\": \"und\",\r\n \"mni-Mtei\": \"und\",\r\n \"ms-Arab\": \"und\",\r\n \"pa-Arab\": \"und\",\r\n \"sat-Deva\": \"und\",\r\n \"sd-Deva\": \"und\",\r\n \"sd-Khoj\": \"und\",\r\n \"sd-Sind\": \"und\",\r\n \"shi-Latn\": \"und\",\r\n \"so-Arab\": \"und\",\r\n \"sr-Latn\": \"und\",\r\n \"sw-Arab\": \"und\",\r\n \"tg-Arab\": \"und\",\r\n \"ug-Cyrl\": \"und\",\r\n \"uz-Arab\": \"und\",\r\n \"uz-Cyrl\": \"und\",\r\n \"vai-Latn\": \"und\",\r\n \"wo-Arab\": \"und\",\r\n \"yo-Arab\": \"und\",\r\n \"yue-Hans\": \"und\",\r\n \"zh-Hant\": \"und\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nexport default (parentLocales, locale) => {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport parentLocales from \"./cldr-data/parent_locales\";\r\nimport getParentLocale from \"./parentLocale\";\r\nvar DEFAULT_LOCALE = \"en\";\r\nexport default dependencyInjector({\r\n locale: (() => {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return locale => {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n })(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(parentLocales, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nexport default {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, extend({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"af-NA\": 1,\r\n agq: 1,\r\n ak: 1,\r\n ar: 6,\r\n \"ar-EH\": 1,\r\n \"ar-ER\": 1,\r\n \"ar-KM\": 1,\r\n \"ar-LB\": 1,\r\n \"ar-MA\": 1,\r\n \"ar-MR\": 1,\r\n \"ar-PS\": 1,\r\n \"ar-SO\": 1,\r\n \"ar-SS\": 1,\r\n \"ar-TD\": 1,\r\n \"ar-TN\": 1,\r\n asa: 1,\r\n ast: 1,\r\n az: 1,\r\n \"az-Cyrl\": 1,\r\n bas: 1,\r\n be: 1,\r\n bem: 1,\r\n bez: 1,\r\n bg: 1,\r\n bm: 1,\r\n br: 1,\r\n bs: 1,\r\n \"bs-Cyrl\": 1,\r\n ca: 1,\r\n ce: 1,\r\n cgg: 1,\r\n ckb: 6,\r\n cs: 1,\r\n cy: 1,\r\n da: 1,\r\n de: 1,\r\n dje: 1,\r\n dsb: 1,\r\n dua: 1,\r\n dyo: 1,\r\n ee: 1,\r\n el: 1,\r\n \"en-001\": 1,\r\n \"en-AE\": 6,\r\n \"en-BI\": 1,\r\n \"en-MP\": 1,\r\n \"en-MV\": 5,\r\n \"en-SD\": 6,\r\n eo: 1,\r\n es: 1,\r\n et: 1,\r\n eu: 1,\r\n ewo: 1,\r\n fa: 6,\r\n ff: 1,\r\n \"ff-Adlm\": 1,\r\n fi: 1,\r\n fo: 1,\r\n fr: 1,\r\n \"fr-DJ\": 6,\r\n \"fr-DZ\": 6,\r\n \"fr-SY\": 6,\r\n fur: 1,\r\n fy: 1,\r\n ga: 1,\r\n gd: 1,\r\n gl: 1,\r\n gsw: 1,\r\n gv: 1,\r\n ha: 1,\r\n hr: 1,\r\n hsb: 1,\r\n hu: 1,\r\n hy: 1,\r\n ia: 1,\r\n ig: 1,\r\n is: 1,\r\n it: 1,\r\n jgo: 1,\r\n jmc: 1,\r\n ka: 1,\r\n kab: 6,\r\n kde: 1,\r\n kea: 1,\r\n khq: 1,\r\n kk: 1,\r\n kkj: 1,\r\n kl: 1,\r\n \"ko-KP\": 1,\r\n ksb: 1,\r\n ksf: 1,\r\n ksh: 1,\r\n ku: 1,\r\n kw: 1,\r\n ky: 1,\r\n lag: 1,\r\n lb: 1,\r\n lg: 1,\r\n ln: 1,\r\n lrc: 6,\r\n lt: 1,\r\n lu: 1,\r\n lv: 1,\r\n \"mas-TZ\": 1,\r\n mfe: 1,\r\n mg: 1,\r\n mgo: 1,\r\n mi: 1,\r\n mk: 1,\r\n mn: 1,\r\n ms: 1,\r\n mua: 1,\r\n mzn: 6,\r\n naq: 1,\r\n nds: 1,\r\n nl: 1,\r\n nmg: 1,\r\n nnh: 1,\r\n no: 1,\r\n nus: 1,\r\n nyn: 1,\r\n os: 1,\r\n pcm: 1,\r\n pl: 1,\r\n ps: 6,\r\n \"pt-AO\": 1,\r\n \"pt-CH\": 1,\r\n \"pt-CV\": 1,\r\n \"pt-GQ\": 1,\r\n \"pt-GW\": 1,\r\n \"pt-LU\": 1,\r\n \"pt-ST\": 1,\r\n \"pt-TL\": 1,\r\n \"qu-BO\": 1,\r\n \"qu-EC\": 1,\r\n rm: 1,\r\n rn: 1,\r\n ro: 1,\r\n rof: 1,\r\n ru: 1,\r\n rw: 1,\r\n rwk: 1,\r\n sah: 1,\r\n sbp: 1,\r\n sc: 1,\r\n se: 1,\r\n ses: 1,\r\n sg: 1,\r\n shi: 1,\r\n \"shi-Latn\": 1,\r\n si: 1,\r\n sk: 1,\r\n sl: 1,\r\n smn: 1,\r\n so: 1,\r\n \"so-DJ\": 6,\r\n sq: 1,\r\n sr: 1,\r\n \"sr-Latn\": 1,\r\n sv: 1,\r\n sw: 1,\r\n \"ta-LK\": 1,\r\n \"ta-MY\": 1,\r\n teo: 1,\r\n tg: 1,\r\n \"ti-ER\": 1,\r\n tk: 1,\r\n to: 1,\r\n tr: 1,\r\n tt: 1,\r\n twq: 1,\r\n tzm: 1,\r\n uk: 1,\r\n uz: 1,\r\n \"uz-Arab\": 6,\r\n \"uz-Cyrl\": 1,\r\n vai: 1,\r\n \"vai-Latn\": 1,\r\n vi: 1,\r\n vun: 1,\r\n wae: 1,\r\n wo: 1,\r\n xog: 1,\r\n yav: 1,\r\n yi: 1,\r\n yo: 1,\r\n zgh: 1\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport localizationCoreUtils from \"../core\";\r\nvar SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\r\nvar NARROW_NO_BREAK_SPACE_REGEX = /[\\u202F]/g;\r\nvar getIntlFormatter = format => date => {\r\n if (!format.timeZoneName) {\r\n var year = date.getFullYear();\r\n var recognizableAsTwentyCentury = String(year).length < 3;\r\n var temporaryYearValue = recognizableAsTwentyCentury ? year + 400 : year;\r\n var utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\r\n if (recognizableAsTwentyCentury) {\r\n utcDate.setFullYear(year)\r\n }\r\n var utcFormat = extend({\r\n timeZone: \"UTC\"\r\n }, format);\r\n return formatDateTime(utcDate, utcFormat)\r\n }\r\n return formatDateTime(date, format)\r\n};\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.DateTimeFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\n\r\nfunction formatDateTime(date, format) {\r\n return getFormatter(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, \"\").replace(NARROW_NO_BREAK_SPACE_REGEX, \" \")\r\n}\r\nvar formatNumber = number => new Intl.NumberFormat(localizationCoreUtils.locale()).format(number);\r\nvar getAlternativeNumeralsMap = (() => {\r\n var numeralsMapCache = {};\r\n return locale => {\r\n if (!(locale in numeralsMapCache)) {\r\n if (\"0\" === formatNumber(0)) {\r\n numeralsMapCache[locale] = false;\r\n return false\r\n }\r\n numeralsMapCache[locale] = {};\r\n for (var i = 0; i < 10; ++i) {\r\n numeralsMapCache[locale][formatNumber(i)] = i\r\n }\r\n }\r\n return numeralsMapCache[locale]\r\n }\r\n})();\r\nvar normalizeNumerals = dateString => {\r\n var alternativeNumeralsMap = getAlternativeNumeralsMap(localizationCoreUtils.locale());\r\n if (!alternativeNumeralsMap) {\r\n return dateString\r\n }\r\n return dateString.split(\"\").map(sign => sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign).join(\"\")\r\n};\r\nvar removeLeadingZeroes = str => str.replace(/(\\D)0+(\\d)/g, \"$1$2\");\r\nvar dateStringEquals = (actual, expected) => removeLeadingZeroes(actual) === removeLeadingZeroes(expected);\r\nvar normalizeMonth = text => text.replace(\"d\\u2019\", \"de \");\r\nvar intlFormats = {\r\n day: {\r\n day: \"numeric\"\r\n },\r\n dayofweek: {\r\n weekday: \"long\"\r\n },\r\n longdate: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n longdatelongtime: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n longtime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n month: {\r\n month: \"long\"\r\n },\r\n monthandday: {\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n monthandyear: {\r\n year: \"numeric\",\r\n month: \"long\"\r\n },\r\n shortdate: {},\r\n shorttime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n },\r\n shortyear: {\r\n year: \"2-digit\"\r\n },\r\n year: {\r\n year: \"numeric\"\r\n }\r\n};\r\nObject.defineProperty(intlFormats, \"shortdateshorttime\", {\r\n get: function() {\r\n var defaultOptions = Intl.DateTimeFormat(localizationCoreUtils.locale()).resolvedOptions();\r\n return {\r\n year: defaultOptions.year,\r\n month: defaultOptions.month,\r\n day: defaultOptions.day,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n }\r\n }\r\n});\r\nvar getIntlFormat = format => \"string\" === typeof format && intlFormats[format.toLowerCase()];\r\nvar monthNameStrategies = {\r\n standalone: function(monthIndex, monthFormat) {\r\n var date = new Date(1999, monthIndex, 13, 1);\r\n var dateString = getIntlFormatter({\r\n month: monthFormat\r\n })(date);\r\n return dateString\r\n },\r\n format: function(monthIndex, monthFormat) {\r\n var date = new Date(0, monthIndex, 13, 1);\r\n var dateString = normalizeMonth(getIntlFormatter({\r\n day: \"numeric\",\r\n month: monthFormat\r\n })(date));\r\n var parts = dateString.split(\" \").filter(part => part.indexOf(\"13\") < 0);\r\n if (1 === parts.length) {\r\n return parts[0]\r\n } else if (2 === parts.length) {\r\n return parts[0].length > parts[1].length ? parts[0] : parts[1]\r\n }\r\n return monthNameStrategies.standalone(monthIndex, monthFormat)\r\n }\r\n};\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n getMonthNames: function(format, type) {\r\n var monthFormat = {\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"];\r\n type = \"format\" === type ? type : \"standalone\";\r\n return Array.apply(null, new Array(12)).map((_, monthIndex) => monthNameStrategies[type](monthIndex, monthFormat))\r\n },\r\n getDayNames: function(format) {\r\n var result = (format => Array.apply(null, new Array(7)).map((_, dayIndex) => getIntlFormatter({\r\n weekday: format\r\n })(new Date(0, 0, dayIndex))))({\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n short: \"narrow\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"]);\r\n return result\r\n },\r\n getPeriodNames: function() {\r\n var hour12Formatter = getIntlFormatter({\r\n hour: \"numeric\",\r\n hour12: true\r\n });\r\n return [1, 13].map(hours => {\r\n var hourNumberText = formatNumber(1);\r\n var timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText);\r\n if (2 !== timeParts.length) {\r\n return \"\"\r\n }\r\n var biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1];\r\n return biggerPart.trim()\r\n })\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n if (\"function\" !== typeof _format && !_format.formatter) {\r\n _format = _format.type || _format\r\n }\r\n var intlFormat = getIntlFormat(_format);\r\n if (intlFormat) {\r\n return getIntlFormatter(intlFormat)(date)\r\n }\r\n var formatType = typeof _format;\r\n if (_format.formatter || \"function\" === formatType || \"string\" === formatType) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getIntlFormatter(_format)(date)\r\n },\r\n parse: function(dateString, format) {\r\n var formatter;\r\n if (format && !format.parser && \"string\" === typeof dateString) {\r\n dateString = normalizeMonth(dateString);\r\n formatter = date => normalizeMonth(this.format(date, format))\r\n }\r\n return this.callBase(dateString, formatter || format)\r\n },\r\n _parseDateBySimpleFormat: function(dateString, format) {\r\n dateString = normalizeNumerals(dateString);\r\n var formatParts = this.getFormatParts(format);\r\n var dateParts = dateString.split(/\\D+/).filter(part => part.length > 0);\r\n if (formatParts.length !== dateParts.length) {\r\n return\r\n }\r\n var dateArgs = this._generateDateArgs(formatParts, dateParts);\r\n var constructValidDate = ampmShift => {\r\n var parsedDate = ((dateArgs, ampmShift) => {\r\n var hoursShift = ampmShift ? 12 : 0;\r\n return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds)\r\n })(dateArgs, ampmShift);\r\n if (dateStringEquals(normalizeNumerals(this.format(parsedDate, format)), dateString)) {\r\n return parsedDate\r\n }\r\n };\r\n return constructValidDate(false) || constructValidDate(true)\r\n },\r\n _generateDateArgs: function(formatParts, dateParts) {\r\n var currentDate = new Date;\r\n var dateArgs = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0\r\n };\r\n formatParts.forEach((formatPart, index) => {\r\n var datePart = dateParts[index];\r\n var parsed = parseInt(datePart, 10);\r\n if (\"month\" === formatPart) {\r\n parsed -= 1\r\n }\r\n dateArgs[formatPart] = parsed\r\n });\r\n return dateArgs\r\n },\r\n formatUsesMonthName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.month\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n formatUsesDayName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.weekday\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getTimeSeparator: function() {\r\n return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n hour12: false\r\n })).replace(/\\d/g, \"\")\r\n },\r\n getFormatParts: function(format) {\r\n if (\"string\" === typeof format) {\r\n return this.callBase(format)\r\n }\r\n var intlFormat = extend({}, intlFormats[format.toLowerCase()]);\r\n var date = new Date(2001, 2, 4, 5, 6, 7);\r\n var formattedDate = getIntlFormatter(intlFormat)(date);\r\n formattedDate = normalizeNumerals(formattedDate);\r\n return [{\r\n name: \"year\",\r\n value: 1\r\n }, {\r\n name: \"month\",\r\n value: 3\r\n }, {\r\n name: \"day\",\r\n value: 4\r\n }, {\r\n name: \"hours\",\r\n value: 5\r\n }, {\r\n name: \"minutes\",\r\n value: 6\r\n }, {\r\n name: \"seconds\",\r\n value: 7\r\n }].map(part => ({\r\n name: part.name,\r\n index: formattedDate.indexOf(part.value)\r\n })).filter(part => part.index > -1).sort((a, b) => a.index - b.index).map(part => part.name)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/date.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getFormatter as getLDMLDateFormatter\r\n} from \"./ldml/date.formatter\";\r\nimport {\r\n getFormat as getLDMLDateFormat\r\n} from \"./ldml/date.format\";\r\nimport {\r\n getParser as getLDMLDateParser\r\n} from \"./ldml/date.parser\";\r\nimport defaultDateNames from \"./default_date_names\";\r\nimport firstDayOfWeekData from \"./cldr-data/first_day_of_week_data\";\r\nimport localizationCore from \"./core\";\r\nimport numberLocalization from \"./number\";\r\nimport intlDateLocalization from \"./intl/date\";\r\nvar DEFAULT_DAY_OF_WEEK_INDEX = 0;\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar FORMATS_TO_PATTERN_MAP = {\r\n shortdate: \"M/d/y\",\r\n shorttime: \"h:mm a\",\r\n longdate: \"EEEE, MMMM d, y\",\r\n longtime: \"h:mm:ss a\",\r\n monthandday: \"MMMM d\",\r\n monthandyear: \"MMMM y\",\r\n quarterandyear: \"QQQ y\",\r\n day: \"d\",\r\n year: \"y\",\r\n shortdateshorttime: \"M/d/y, h:mm a\",\r\n longdatelongtime: \"EEEE, MMMM d, y, h:mm:ss a\",\r\n month: \"LLLL\",\r\n shortyear: \"yy\",\r\n dayofweek: \"EEEE\",\r\n quarter: \"QQQ\",\r\n hour: \"HH\",\r\n minute: \"mm\",\r\n second: \"ss\",\r\n millisecond: \"SSS\",\r\n \"datetime-local\": \"yyyy-MM-ddTHH':'mm':'ss\"\r\n};\r\nvar possiblePartPatterns = {\r\n year: [\"y\", \"yy\", \"yyyy\"],\r\n day: [\"d\", \"dd\"],\r\n month: [\"M\", \"MM\", \"MMM\", \"MMMM\"],\r\n hours: [\"H\", \"HH\", \"h\", \"hh\", \"ah\"],\r\n minutes: [\"m\", \"mm\"],\r\n seconds: [\"s\", \"ss\"],\r\n milliseconds: [\"S\", \"SS\", \"SSS\"]\r\n};\r\nvar dateLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _getPatternByFormat: function(format) {\r\n return FORMATS_TO_PATTERN_MAP[format.toLowerCase()]\r\n },\r\n _expandPattern: function(pattern) {\r\n return this._getPatternByFormat(pattern) || pattern\r\n },\r\n formatUsesMonthName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"MMMM\")\r\n },\r\n formatUsesDayName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"EEEE\")\r\n },\r\n getFormatParts: function(format) {\r\n var pattern = this._getPatternByFormat(format) || format;\r\n var result = [];\r\n each(pattern.split(/\\W+/), (_, formatPart) => {\r\n each(possiblePartPatterns, (partName, possiblePatterns) => {\r\n if (possiblePatterns.includes(formatPart)) {\r\n result.push(partName)\r\n }\r\n })\r\n });\r\n return result\r\n },\r\n getMonthNames: function(format) {\r\n return defaultDateNames.getMonthNames(format)\r\n },\r\n getDayNames: function(format) {\r\n return defaultDateNames.getDayNames(format)\r\n },\r\n getQuarterNames: function(format) {\r\n return defaultDateNames.getQuarterNames(format)\r\n },\r\n getPeriodNames: function(format) {\r\n return defaultDateNames.getPeriodNames(format)\r\n },\r\n getTimeSeparator: function() {\r\n return \":\"\r\n },\r\n is24HourFormat: function(format) {\r\n var amTime = new Date(2017, 0, 20, 11, 0, 0, 0);\r\n var pmTime = new Date(2017, 0, 20, 23, 0, 0, 0);\r\n var amTimeFormatted = this.format(amTime, format);\r\n var pmTimeFormatted = this.format(pmTime, format);\r\n for (var i = 0; i < amTimeFormatted.length; i++) {\r\n if (amTimeFormatted[i] !== pmTimeFormatted[i]) {\r\n return !isNaN(parseInt(amTimeFormatted[i]))\r\n }\r\n }\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n var formatter;\r\n if (\"function\" === typeof _format) {\r\n formatter = _format\r\n } else if (_format.formatter) {\r\n formatter = _format.formatter\r\n } else {\r\n _format = _format.type || _format;\r\n if (isString(_format)) {\r\n _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format;\r\n return numberLocalization.convertDigits(getLDMLDateFormatter(_format, this)(date))\r\n }\r\n }\r\n if (!formatter) {\r\n return\r\n }\r\n return formatter(date)\r\n },\r\n parse: function(text, format) {\r\n var that = this;\r\n var ldmlFormat;\r\n var formatter;\r\n if (!text) {\r\n return\r\n }\r\n if (!format) {\r\n return this.parse(text, \"shortdate\")\r\n }\r\n if (format.parser) {\r\n return format.parser(text)\r\n }\r\n if (\"string\" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) {\r\n ldmlFormat = format\r\n } else {\r\n formatter = value => {\r\n var text = that.format(value, format);\r\n return numberLocalization.convertDigits(text, true)\r\n };\r\n try {\r\n ldmlFormat = getLDMLDateFormat(formatter)\r\n } catch (e) {}\r\n }\r\n if (ldmlFormat) {\r\n text = numberLocalization.convertDigits(text, true);\r\n return getLDMLDateParser(ldmlFormat, this)(text)\r\n }\r\n errors.log(\"W0012\");\r\n var result = new Date(text);\r\n if (!result || isNaN(result.getTime())) {\r\n return\r\n }\r\n return result\r\n },\r\n firstDayOfWeekIndex: function() {\r\n var index = localizationCore.getValueByClosestLocale(locale => firstDayOfWeekData[locale]);\r\n return void 0 === index ? DEFAULT_DAY_OF_WEEK_INDEX : index\r\n }\r\n});\r\nif (hasIntl) {\r\n dateLocalization.inject(intlDateLocalization)\r\n}\r\nexport default dateLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_date_names.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nvar MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\nvar DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\nvar PERIODS = [\"AM\", \"PM\"];\r\nvar QUARTERS = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\r\nvar cutCaptions = (captions, format) => {\r\n var lengthByFormat = {\r\n abbreviated: 3,\r\n short: 2,\r\n narrow: 1\r\n };\r\n return map(captions, caption => caption.substr(0, lengthByFormat[format]))\r\n};\r\nexport default {\r\n getMonthNames: function(format) {\r\n return cutCaptions(MONTHS, format)\r\n },\r\n getDayNames: function(format) {\r\n return cutCaptions(DAYS, format)\r\n },\r\n getQuarterNames: function(format) {\r\n return QUARTERS\r\n },\r\n getPeriodNames: function(format) {\r\n return PERIODS\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport numberLocalization from \"../number\";\r\nvar ARABIC_COMMA = \"\\u060c\";\r\nvar FORMAT_SEPARATORS = \" .,:;/\\\\<>()-[]\" + ARABIC_COMMA;\r\nvar AM_PM_PATTERN = \". m.\";\r\nvar checkDigit = function(char) {\r\n var code = char && numberLocalization.convertDigits(char, false).charCodeAt(0);\r\n var zeroCode = numberLocalization.convertDigits(\"0\", false).charCodeAt(0);\r\n return zeroCode <= code && code < zeroCode + 10\r\n};\r\nvar checkPatternContinue = function(text, patterns, index, isDigit) {\r\n var char = text[index];\r\n var nextChar = text[index + 1];\r\n if (!isDigit) {\r\n if (\".\" === char || \" \" === char && text.slice(index - 1, index + 3) === AM_PM_PATTERN) {\r\n return true\r\n }\r\n if (\"-\" === char && !checkDigit(nextChar)) {\r\n return true\r\n }\r\n }\r\n var isDigitChanged = isDigit && patterns.some(pattern => text[index] !== pattern[index]);\r\n return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged)\r\n};\r\nvar getPatternStartIndex = function(defaultPattern, index) {\r\n if (!checkDigit(defaultPattern[index])) {\r\n while (index > 0 && !checkDigit(defaultPattern[index - 1]) && (\".\" === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) {\r\n index--\r\n }\r\n }\r\n return index\r\n};\r\nvar getDifference = function(defaultPattern, patterns, processedIndexes, isDigit) {\r\n var i = 0;\r\n var result = [];\r\n var patternsFilter = function(pattern) {\r\n return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit)\r\n };\r\n if (!Array.isArray(patterns)) {\r\n patterns = [patterns]\r\n }\r\n for (i = 0; i < defaultPattern.length; i++) {\r\n if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) {\r\n i = getPatternStartIndex(defaultPattern, i);\r\n do {\r\n isDigit = checkDigit(defaultPattern[i]);\r\n if (!result.length && !isDigit && checkDigit(patterns[0][i])) {\r\n break\r\n }\r\n result.push(i);\r\n processedIndexes.unshift(i);\r\n i++\r\n } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit));\r\n break\r\n }\r\n }\r\n if (1 === result.length && (\"0\" === defaultPattern[processedIndexes[0] - 1] || \"\\u0660\" === defaultPattern[processedIndexes[0] - 1])) {\r\n processedIndexes.unshift(processedIndexes[0] - 1)\r\n }\r\n return result\r\n};\r\nvar replaceCharsCore = function(pattern, indexes, char, patternPositions) {\r\n var baseCharIndex = indexes[0];\r\n var patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex;\r\n indexes.forEach((function(_, index) {\r\n pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1)\r\n }));\r\n if (1 === indexes.length) {\r\n pattern = pattern.replace(\"0\" + char, char + char);\r\n pattern = pattern.replace(\"\\u0660\" + char, char + char)\r\n }\r\n return pattern\r\n};\r\nvar replaceChars = function(pattern, indexes, char, patternPositions) {\r\n var i;\r\n var index;\r\n var patternIndex;\r\n if (!checkDigit(pattern[indexes[0]] || \"0\")) {\r\n var letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length);\r\n while (indexes.length > letterCount) {\r\n index = indexes.pop();\r\n patternIndex = patternPositions[index];\r\n patternPositions[index] = -1;\r\n for (i = index + 1; i < patternPositions.length; i++) {\r\n patternPositions[i]--\r\n }\r\n pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1)\r\n }\r\n index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index;\r\n while (indexes.length < letterCount) {\r\n indexes.push(indexes[indexes.length - 1] + 1);\r\n for (i = index; i < patternPositions.length; i++) {\r\n patternPositions[i]++\r\n }\r\n pattern = pattern.substr(0, patternIndex) + \" \" + pattern.substr(patternIndex)\r\n }\r\n }\r\n pattern = replaceCharsCore(pattern, indexes, char, patternPositions);\r\n return pattern\r\n};\r\nvar formatValue = function(value, formatter) {\r\n if (Array.isArray(value)) {\r\n return value.map((function(value) {\r\n return (formatter(value) || \"\").toString()\r\n }))\r\n }\r\n return (formatter(value) || \"\").toString()\r\n};\r\nvar ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g;\r\nvar escapeChars = function(pattern, defaultPattern, processedIndexes, patternPositions) {\r\n var escapeIndexes = defaultPattern.split(\"\").map((function(char, index) {\r\n if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || \"'\" === char)) {\r\n return patternPositions[index]\r\n }\r\n return -1\r\n }));\r\n pattern = pattern.split(\"\").map((function(char, index) {\r\n var result = char;\r\n var isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0;\r\n var isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0;\r\n var isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0;\r\n if (isCurrentCharEscaped) {\r\n if (!isPrevCharEscaped) {\r\n result = \"'\" + result\r\n }\r\n if (!isNextCharEscaped) {\r\n result += \"'\"\r\n }\r\n }\r\n return result\r\n })).join(\"\");\r\n return pattern\r\n};\r\nexport var getFormat = function(formatter) {\r\n var processedIndexes = [];\r\n var defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter);\r\n var patternPositions = defaultPattern.split(\"\").map((function(_, index) {\r\n return index\r\n }));\r\n var result = defaultPattern;\r\n var replacedPatterns = {};\r\n var datePatterns = [{\r\n date: new Date(2009, 8, 8, 6, 5, 4, 111),\r\n pattern: \"S\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 5, 2),\r\n pattern: \"s\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 2, 4),\r\n pattern: \"m\"\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"H\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 2, 5, 4),\r\n pattern: \"h\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"a\",\r\n isDigit: false\r\n }, {\r\n date: new Date(2009, 8, 1, 6, 5, 4),\r\n pattern: \"d\"\r\n }, {\r\n date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)],\r\n pattern: \"E\"\r\n }, {\r\n date: new Date(2009, 9, 6, 6, 5, 4),\r\n pattern: \"M\"\r\n }, {\r\n date: new Date(1998, 8, 8, 6, 5, 4),\r\n pattern: \"y\"\r\n }];\r\n if (!result) {\r\n return\r\n }\r\n datePatterns.forEach((function(test) {\r\n var diff = getDifference(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit);\r\n var pattern = \"M\" === test.pattern && !replacedPatterns.d ? \"L\" : test.pattern;\r\n result = replaceChars(result, diff, pattern, patternPositions);\r\n replacedPatterns[pattern] = diff.length\r\n }));\r\n result = escapeChars(result, defaultPattern, processedIndexes, patternPositions);\r\n if (processedIndexes.length) {\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.formatter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction leftPad(text, length) {\r\n while (text.length < length) {\r\n text = \"0\" + text\r\n }\r\n return text\r\n}\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar LDML_FORMATTERS = {\r\n y: function(date, count, useUtc) {\r\n var year = date[useUtc ? \"getUTCFullYear\" : \"getFullYear\"]();\r\n if (2 === count) {\r\n year %= 100\r\n }\r\n return leftPad(year.toString(), count)\r\n },\r\n M: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"format\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n L: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"standalone\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n Q: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var quarter = Math.floor(month / 3);\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getQuarterNames(formatType)[quarter]\r\n }\r\n return leftPad((quarter + 1).toString(), Math.min(count, 2))\r\n },\r\n E: function(date, count, useUtc, dateParts) {\r\n var day = date[useUtc ? \"getUTCDay\" : \"getDay\"]();\r\n var formatType = FORMAT_TYPES[count < 3 ? 3 : count];\r\n return dateParts.getDayNames(formatType)[day]\r\n },\r\n a: function(date, count, useUtc, dateParts) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n var period = hours < 12 ? 0 : 1;\r\n var formatType = FORMAT_TYPES[count];\r\n return dateParts.getPeriodNames(formatType)[period]\r\n },\r\n d: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCDate\" : \"getDate\"]().toString(), Math.min(count, 2))\r\n },\r\n H: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCHours\" : \"getHours\"]().toString(), Math.min(count, 2))\r\n },\r\n h: function(date, count, useUtc) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n return leftPad((hours % 12 || 12).toString(), Math.min(count, 2))\r\n },\r\n m: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMinutes\" : \"getMinutes\"]().toString(), Math.min(count, 2))\r\n },\r\n s: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCSeconds\" : \"getSeconds\"]().toString(), Math.min(count, 2))\r\n },\r\n S: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMilliseconds\" : \"getMilliseconds\"]().toString(), 3).substr(0, count)\r\n },\r\n x: function(date, count, useUtc) {\r\n var timezoneOffset = useUtc ? 0 : date.getTimezoneOffset();\r\n var signPart = timezoneOffset > 0 ? \"-\" : \"+\";\r\n var timezoneOffsetAbs = Math.abs(timezoneOffset);\r\n var hours = Math.floor(timezoneOffsetAbs / 60);\r\n var minutes = timezoneOffsetAbs % 60;\r\n var hoursPart = leftPad(hours.toString(), 2);\r\n var minutesPart = leftPad(minutes.toString(), 2);\r\n return signPart + hoursPart + (count >= 3 ? \":\" : \"\") + (count > 1 || minutes ? minutesPart : \"\")\r\n },\r\n X: function(date, count, useUtc) {\r\n if (useUtc || !date.getTimezoneOffset()) {\r\n return \"Z\"\r\n }\r\n return LDML_FORMATTERS.x(date, count, useUtc)\r\n },\r\n Z: function(date, count, useUtc) {\r\n return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc)\r\n }\r\n};\r\nexport var getFormatter = function(format, dateParts) {\r\n return function(date) {\r\n var charIndex;\r\n var formatter;\r\n var char;\r\n var charCount = 0;\r\n var isEscaping = false;\r\n var isCurrentCharEqualsNext;\r\n var result = \"\";\r\n if (!date) {\r\n return null\r\n }\r\n if (!format) {\r\n return date\r\n }\r\n var useUtc = \"Z\" === format[format.length - 1] || \"'Z'\" === format.slice(-3);\r\n for (charIndex = 0; charIndex < format.length; charIndex++) {\r\n char = format[charIndex];\r\n formatter = LDML_FORMATTERS[char];\r\n isCurrentCharEqualsNext = char === format[charIndex + 1];\r\n charCount++;\r\n if (!isCurrentCharEqualsNext) {\r\n if (formatter && !isEscaping) {\r\n result += formatter(date, charCount, useUtc, dateParts)\r\n }\r\n charCount = 0\r\n }\r\n if (\"'\" === char && !isCurrentCharEqualsNext) {\r\n isEscaping = !isEscaping\r\n } else if (isEscaping || !formatter) {\r\n result += char\r\n }\r\n if (\"'\" === char && isCurrentCharEqualsNext) {\r\n charIndex++\r\n }\r\n }\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.parser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar monthRegExpGenerator = function(count, dateParts) {\r\n if (count > 2) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return dateParts.getMonthNames(FORMAT_TYPES[count], type).join(\"|\")\r\n })).join(\"|\")\r\n })).join(\"|\")\r\n }\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n};\r\nvar PATTERN_REGEXPS = {\r\n \":\": function(count, dateParts) {\r\n var countSuffix = count > 1 ? \"{\".concat(count, \"}\") : \"\";\r\n var timeSeparator = escapeRegExp(dateParts.getTimeSeparator());\r\n \":\" !== timeSeparator && (timeSeparator = \"\".concat(timeSeparator, \"|:\"));\r\n return \"\".concat(timeSeparator).concat(countSuffix)\r\n },\r\n y: function(count) {\r\n return 2 === count ? \"[0-9]{\".concat(count, \"}\") : \"[0-9]+?\"\r\n },\r\n M: monthRegExpGenerator,\r\n L: monthRegExpGenerator,\r\n Q: function(count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").join(\"|\")\r\n }\r\n return \"0?[1-4]\"\r\n },\r\n E: function(count, dateParts) {\r\n return \"\\\\D*\"\r\n },\r\n a: function(count, dateParts) {\r\n return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\").join(\"|\")\r\n },\r\n d: function(count) {\r\n return 2 === count ? \"3[01]|[12][0-9]|0?[1-9]\" : \"0??[1-9]|[12][0-9]|3[01]\"\r\n },\r\n H: function(count) {\r\n return 2 === count ? \"2[0-3]|1[0-9]|0?[0-9]\" : \"0??[0-9]|1[0-9]|2[0-3]\"\r\n },\r\n h: function(count) {\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n },\r\n m: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n s: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n S: function(count) {\r\n return \"[0-9]{1,\".concat(count, \"}\")\r\n },\r\n w: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n }\r\n};\r\nvar parseNumber = Number;\r\nvar caseInsensitiveIndexOf = function(array, value) {\r\n return array.map(item => item.toLowerCase()).indexOf(value.toLowerCase())\r\n};\r\nvar monthPatternParser = function(text, count, dateParts) {\r\n if (count > 2) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n var monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type);\r\n return caseInsensitiveIndexOf(monthNames, text)\r\n }))\r\n })).reduce((function(a, b) {\r\n return a.concat(b)\r\n })).filter((function(index) {\r\n return index >= 0\r\n }))[0]\r\n }\r\n return parseNumber(text) - 1\r\n};\r\nvar PATTERN_PARSERS = {\r\n y: function(text, count) {\r\n var year = parseNumber(text);\r\n if (2 === count) {\r\n return year < 30 ? 2e3 + year : 1900 + year\r\n }\r\n return year\r\n },\r\n M: monthPatternParser,\r\n L: monthPatternParser,\r\n Q: function(text, count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").indexOf(text)\r\n }\r\n return parseNumber(text) - 1\r\n },\r\n E: function(text, count, dateParts) {\r\n var dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(dayNames, text)\r\n },\r\n a: function(text, count, dateParts) {\r\n var periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(periodNames, text)\r\n },\r\n d: parseNumber,\r\n H: parseNumber,\r\n h: parseNumber,\r\n m: parseNumber,\r\n s: parseNumber,\r\n S: function(text, count) {\r\n count = Math.max(count, 3);\r\n text = text.slice(0, 3);\r\n while (count < 3) {\r\n text += \"0\";\r\n count++\r\n }\r\n return parseNumber(text)\r\n }\r\n};\r\nvar ORDERED_PATTERNS = [\"y\", \"M\", \"d\", \"h\", \"m\", \"s\", \"S\"];\r\nvar PATTERN_SETTERS = {\r\n y: \"setFullYear\",\r\n M: \"setMonth\",\r\n L: \"setMonth\",\r\n a: function(date, value, datePartValues) {\r\n var hours = date.getHours();\r\n var hourPartValue = datePartValues.h;\r\n if (void 0 !== hourPartValue && hourPartValue !== hours) {\r\n hours--\r\n }\r\n if (!value && 12 === hours) {\r\n hours = 0\r\n } else if (value && 12 !== hours) {\r\n hours += 12\r\n }\r\n date.setHours(hours)\r\n },\r\n d: \"setDate\",\r\n H: \"setHours\",\r\n h: \"setHours\",\r\n m: \"setMinutes\",\r\n s: \"setSeconds\",\r\n S: \"setMilliseconds\"\r\n};\r\nvar getSameCharCount = function(text, index) {\r\n var char = text[index];\r\n if (!char) {\r\n return 0\r\n }\r\n var count = 0;\r\n do {\r\n index++;\r\n count++\r\n } while (text[index] === char);\r\n return count\r\n};\r\nvar createPattern = function(char, count) {\r\n var result = \"\";\r\n for (var i = 0; i < count; i++) {\r\n result += char\r\n }\r\n return result\r\n};\r\nexport var getRegExpInfo = function(format, dateParts) {\r\n var regexpText = \"\";\r\n var stubText = \"\";\r\n var isEscaping;\r\n var patterns = [];\r\n var addPreviousStub = function() {\r\n if (stubText) {\r\n patterns.push(\"'\".concat(stubText, \"'\"));\r\n regexpText += \"\".concat(escapeRegExp(stubText), \")\");\r\n stubText = \"\"\r\n }\r\n };\r\n for (var i = 0; i < format.length; i++) {\r\n var char = format[i];\r\n var isEscapeChar = \"'\" === char;\r\n var regexpPart = PATTERN_REGEXPS[char];\r\n if (isEscapeChar) {\r\n isEscaping = !isEscaping;\r\n if (\"'\" !== format[i - 1]) {\r\n continue\r\n }\r\n }\r\n if (regexpPart && !isEscaping) {\r\n var count = getSameCharCount(format, i);\r\n var pattern = createPattern(char, count);\r\n addPreviousStub();\r\n patterns.push(pattern);\r\n regexpText += \"(\".concat(regexpPart(count, dateParts), \")\");\r\n i += count - 1\r\n } else {\r\n if (!stubText) {\r\n regexpText += \"(\"\r\n }\r\n stubText += char\r\n }\r\n }\r\n addPreviousStub();\r\n if (!isPossibleForParsingFormat(patterns)) {\r\n logger.warn(\"The following format may be parsed incorrectly: \".concat(format, \".\"))\r\n }\r\n return {\r\n patterns: patterns,\r\n regexp: new RegExp(\"^\".concat(regexpText, \"$\"), \"i\")\r\n }\r\n};\r\nvar digitFieldSymbols = [\"d\", \"H\", \"h\", \"m\", \"s\", \"w\", \"M\", \"L\", \"Q\"];\r\nexport var isPossibleForParsingFormat = function(patterns) {\r\n var isDigitPattern = pattern => {\r\n if (!pattern) {\r\n return false\r\n }\r\n var char = pattern[0];\r\n return [\"y\", \"S\"].includes(char) || digitFieldSymbols.includes(char) && pattern.length < 3\r\n };\r\n var possibleForParsing = true;\r\n var ambiguousDigitPatternsCount = 0;\r\n return patterns.every((pattern, index, patterns) => {\r\n if (isDigitPattern(pattern)) {\r\n if ((pattern => \"S\" !== pattern[0] && 2 !== pattern.length)(pattern)) {\r\n possibleForParsing = ++ambiguousDigitPatternsCount < 2\r\n }\r\n if (!isDigitPattern(patterns[index + 1])) {\r\n ambiguousDigitPatternsCount = 0\r\n }\r\n }\r\n return possibleForParsing\r\n })\r\n};\r\nexport var getPatternSetters = function() {\r\n return PATTERN_SETTERS\r\n};\r\nvar setPatternPart = function(date, pattern, text, dateParts, datePartValues) {\r\n var patternChar = pattern[0];\r\n var partSetter = PATTERN_SETTERS[patternChar];\r\n var partParser = PATTERN_PARSERS[patternChar];\r\n if (partSetter && partParser) {\r\n var value = partParser(text, pattern.length, dateParts);\r\n datePartValues[pattern] = value;\r\n if (date[partSetter]) {\r\n date[partSetter](value)\r\n } else {\r\n partSetter(date, value, datePartValues)\r\n }\r\n }\r\n};\r\nvar setPatternPartFromNow = function(date, pattern, now) {\r\n var setterName = PATTERN_SETTERS[pattern];\r\n var getterName = \"g\" + setterName.substr(1);\r\n var value = now[getterName]();\r\n date[setterName](value)\r\n};\r\nvar getShortPatterns = function(fullPatterns) {\r\n return fullPatterns.map((function(pattern) {\r\n if (\"'\" === pattern[0]) {\r\n return \"\"\r\n } else {\r\n return \"H\" === pattern[0] ? \"h\" : pattern[0]\r\n }\r\n }))\r\n};\r\nvar getMaxOrderedPatternIndex = function(patterns) {\r\n var indexes = patterns.map((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern)\r\n }));\r\n return Math.max.apply(Math, indexes)\r\n};\r\nvar getOrderedFormatPatterns = function(formatPatterns) {\r\n var otherPatterns = formatPatterns.filter((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern) < 0\r\n }));\r\n return ORDERED_PATTERNS.concat(otherPatterns)\r\n};\r\nexport var getParser = function(format, dateParts) {\r\n var regExpInfo = getRegExpInfo(format, dateParts);\r\n return function(text) {\r\n var regExpResult = regExpInfo.regexp.exec(text);\r\n if (regExpResult) {\r\n var now = new Date;\r\n var date = new Date(now.getFullYear(), 0, 1);\r\n var formatPatterns = getShortPatterns(regExpInfo.patterns);\r\n var maxPatternIndex = getMaxOrderedPatternIndex(formatPatterns);\r\n var orderedFormatPatterns = getOrderedFormatPatterns(formatPatterns);\r\n var datePartValues = {};\r\n orderedFormatPatterns.forEach((function(pattern, index) {\r\n if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) {\r\n return\r\n }\r\n var patternIndex = formatPatterns.indexOf(pattern);\r\n if (patternIndex >= 0) {\r\n var regExpPattern = regExpInfo.patterns[patternIndex];\r\n var regExpText = regExpResult[patternIndex + 1];\r\n setPatternPart(date, regExpPattern, regExpText, dateParts, datePartValues)\r\n } else {\r\n setPatternPartFromNow(date, pattern, now)\r\n }\r\n }));\r\n return date\r\n }\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange,\r\n multiplyInExponentialForm\r\n} from \"../../core/utils/math\";\r\nimport {\r\n toFixed\r\n} from \"../utils\";\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\nvar PERCENT_EXPONENT_SHIFT = 2;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map((function(str) {\r\n var singleQuotesLeft = 0;\r\n return str.split(\"\").filter((function(char, index) {\r\n singleQuotesLeft += \"'\" === char;\r\n var isDigit = \"#\" === char || \"0\" === char;\r\n var isInStub = singleQuotesLeft % 2;\r\n return isDigit && !isInStub\r\n })).length\r\n }))\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map((function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n })).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\nexport function getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n if (isPercentFormat(numberFormat)) {\r\n value = multiplyInExponentialForm(value, PERCENT_EXPONENT_SHIFT)\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = -1 === formatter(12345).indexOf(\"12345\");\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(\"%\", \"'%'\")\r\n }\r\n return format\r\n}\r\nexport function getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport {\r\n humanize\r\n} from \"../core/utils/inflector\";\r\nimport coreLocalization from \"./core\";\r\nimport {\r\n defaultMessages\r\n} from \"./default_messages\";\r\nvar baseDictionary = extend(true, {}, defaultMessages);\r\nvar getDataByLocale = (localeData, locale) => localeData[locale] || {};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nexport default messageLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport var defaultMessages = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Close: \"Close\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxDateRangeBox-invalidStartDateMessage\": \"Start value must be a date\",\r\n \"dxDateRangeBox-invalidEndDateMessage\": \"End value must be a date\",\r\n \"dxDateRangeBox-startDateOutOfRangeMessage\": \"Start date is out of range\",\r\n \"dxDateRangeBox-endDateOutOfRangeMessage\": \"End date is out of range\",\r\n \"dxDateRangeBox-startDateLabel\": \"Start Date\",\r\n \"dxDateRangeBox-endDateLabel\": \"End Date\",\r\n \"dxFileUploader-selectFile\": \"Select a file\",\r\n \"dxFileUploader-dropFile\": \"or Drop a file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"kb\",\r\n \"dxFileUploader-Mb\": \"Mb\",\r\n \"dxFileUploader-Gb\": \"Gb\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserText\": \"Use {0} to display columns\",\r\n \"dxDataGrid-emptyHeaderWithGroupPanelText\": \"Drag a column from the group panel here\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\": \"Use {0} or drag a column from the group panel\",\r\n \"dxDataGrid-emptyHeaderColumnChooserText\": \"column chooser\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-ariaSearchBox\": \"Search box\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows to {0}\",\r\n \"dxDataGrid-exportAll\": \"Export all data to {0}\",\r\n \"dxDataGrid-headerFilterLabel\": \"Filter options\",\r\n \"dxDataGrid-headerFilterIndicatorLabel\": \"Show filter options for column '{0}'\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid with {0} rows and {1} columns\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSize\": \"Items per page: {0}\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPager-page\": \"Page {0}\",\r\n \"dxPager-prevPage\": \"Previous Page\",\r\n \"dxPager-nextPage\": \"Next Page\",\r\n \"dxPager-ariaLabel\": \"Page Navigation\",\r\n \"dxPager-ariaPageSize\": \"Page size\",\r\n \"dxPager-ariaPageNumber\": \"Page number\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxCalendar-ariaHotKeysInfo\": \"To navigate between views, press Control, and then Left Arrow or Right Arrow. To zoom in on a view, press Control, and then Down Arrow. To zoom out, press Control, and then Up Arrow.\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-dialogUpdateImageCaption\": \"Update Image\",\r\n \"dxHtmlEditor-dialogImageUpdateButton\": \"Update\",\r\n \"dxHtmlEditor-dialogImageAddButton\": \"Add\",\r\n \"dxHtmlEditor-dialogImageSpecifyUrl\": \"From the Web\",\r\n \"dxHtmlEditor-dialogImageSelectFile\": \"From This Device\",\r\n \"dxHtmlEditor-dialogImageKeepAspectRatio\": \"Keep Aspect Ratio\",\r\n \"dxHtmlEditor-dialogImageEncodeToBase64\": \"Encode to Base64\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxHtmlEditor-background\": \"Background Color\",\r\n \"dxHtmlEditor-bold\": \"Bold\",\r\n \"dxHtmlEditor-color\": \"Font Color\",\r\n \"dxHtmlEditor-font\": \"Font\",\r\n \"dxHtmlEditor-italic\": \"Italic\",\r\n \"dxHtmlEditor-link\": \"Add Link\",\r\n \"dxHtmlEditor-image\": \"Add Image\",\r\n \"dxHtmlEditor-size\": \"Size\",\r\n \"dxHtmlEditor-strike\": \"Strikethrough\",\r\n \"dxHtmlEditor-subscript\": \"Subscript\",\r\n \"dxHtmlEditor-superscript\": \"Superscript\",\r\n \"dxHtmlEditor-underline\": \"Underline\",\r\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\r\n \"dxHtmlEditor-header\": \"Header\",\r\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\r\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\r\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\r\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\r\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\r\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\r\n \"dxHtmlEditor-alignRight\": \"Align Right\",\r\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\r\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\r\n \"dxHtmlEditor-variable\": \"Add Variable\",\r\n \"dxHtmlEditor-undo\": \"Undo\",\r\n \"dxHtmlEditor-redo\": \"Redo\",\r\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\r\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\r\n \"dxHtmlEditor-insertHeaderRow\": \"Insert Header Row\",\r\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\r\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\r\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\r\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\r\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\r\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\r\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\r\n \"dxHtmlEditor-cellProperties\": \"Cell Properties\",\r\n \"dxHtmlEditor-tableProperties\": \"Table Properties\",\r\n \"dxHtmlEditor-insert\": \"Insert\",\r\n \"dxHtmlEditor-delete\": \"Delete\",\r\n \"dxHtmlEditor-border\": \"Border\",\r\n \"dxHtmlEditor-style\": \"Style\",\r\n \"dxHtmlEditor-width\": \"Width\",\r\n \"dxHtmlEditor-height\": \"Height\",\r\n \"dxHtmlEditor-borderColor\": \"Color\",\r\n \"dxHtmlEditor-tableBackground\": \"Background\",\r\n \"dxHtmlEditor-dimensions\": \"Dimensions\",\r\n \"dxHtmlEditor-alignment\": \"Alignment\",\r\n \"dxHtmlEditor-horizontal\": \"Horizontal\",\r\n \"dxHtmlEditor-vertical\": \"Vertical\",\r\n \"dxHtmlEditor-paddingVertical\": \"Vertical Padding\",\r\n \"dxHtmlEditor-paddingHorizontal\": \"Horizontal Padding\",\r\n \"dxHtmlEditor-pixels\": \"Pixels\",\r\n \"dxHtmlEditor-list\": \"List\",\r\n \"dxHtmlEditor-ordered\": \"Ordered\",\r\n \"dxHtmlEditor-bullet\": \"Bullet\",\r\n \"dxHtmlEditor-align\": \"Align\",\r\n \"dxHtmlEditor-center\": \"Center\",\r\n \"dxHtmlEditor-left\": \"Left\",\r\n \"dxHtmlEditor-right\": \"Right\",\r\n \"dxHtmlEditor-indent\": \"Indent\",\r\n \"dxHtmlEditor-justify\": \"Justify\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-editingDownloadSingleItemErrorMessage\": \"Item was not downloaded\",\r\n \"dxFileManager-editingDownloadMultipleItemsErrorMessage\": \"{0} items were not downloaded\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop a file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\r\n \"dxGantt-dialogDeleteDependenciesMessage\": \"Delete the dependency relations\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\": \"Move the task and keep the dependencies\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\",\r\n \"dxGantt-quarter\": \"Q{0}\",\r\n \"dxGantt-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxGantt-sortingDescendingText\": \"Sort Descending\",\r\n \"dxGantt-sortingClearText\": \"Clear Sorting\",\r\n \"dxGantt-showResources\": \"Show Resources\",\r\n \"dxGantt-showDependencies\": \"Show Dependencies\",\r\n \"dxGantt-dialogStartDateValidation\": \"Start date must be after {0}\",\r\n \"dxGantt-dialogEndDateValidation\": \"End date must be after {0}\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n \"be-tarask\": \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-valencia\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MV\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n \"hi-Latn\": \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kgp: \"\\xa4\\xa0#,##0.00\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4#,##0.00\",\r\n \"ks-Arab\": \"\\xa4#,##0.00\",\r\n \"ks-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n no: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sc: \"#,##0.00\\xa0\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n und: \"\\xa4\\xa0#,##0.00\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yrl: \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-CO\": \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-VE\": \"\\xa4\\xa0#,##0.00\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxConfig from \"../../core/config\";\r\nimport localizationCoreUtils from \"../core\";\r\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\r\nimport accountingFormats from \"../cldr-data/accounting_formats\";\r\nvar CURRENCY_STYLES = [\"standard\", \"accounting\"];\r\nvar MAX_FRACTION_DIGITS = 20;\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n});\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n var fractionDigits = String(value).split(\".\")[1];\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: fractionDigits && fractionDigits.length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else if (\"currency\" === format) {\r\n var _formatConfig$useCurr;\r\n var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : dxConfig().defaultUseCurrencyAccountingStyle;\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || dxConfig().defaultCurrency;\r\n config.currencySign = CURRENCY_STYLES[+useAccountingStyle]\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: MAX_FRACTION_DIGITS\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = dxConfig().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = dxConfig().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || dxConfig().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\r\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default (currencySymbol, accountingFormat) => {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n escapeRegExp\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormatter\r\n} from \"./ldml/number\";\r\nimport config from \"../core/config\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n toFixed\r\n} from \"./utils\";\r\nimport currencyLocalization from \"./currency\";\r\nimport intlNumberLocalization from \"./intl/number\";\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, (index, value) => {\r\n if (NUMERIC_FORMATS.includes(value)) {\r\n formatObject.formatType = value\r\n } else if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value *= 100\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\r\n negativeEtalon = negativeEtalon.replace(new RegExp(\"\\\\\".concat(char), \"g\"), \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(/ /g, \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(/1/g, \".*\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (!format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits(getFormatter(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = Object.keys(LargeNumberFormatPostfixes).find(power => LargeNumberFormatPostfixes[power] === match[1])\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var [integer, fractional] = text.split(\".\");\r\n var calcDigitsAfterLeadingZeros = digits => {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(currencyLocalization);\r\nif (hasIntl) {\r\n numberLocalization.inject(intlNumberLocalization)\r\n}\r\nexport default numberLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign,\r\n multiplyInExponentialForm\r\n} from \"../core/utils/math\";\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = sign(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var intermediateValue = multiplyInExponentialForm(value, precision);\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\nexport function toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/common/config_context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var ConfigContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/core/inferno_renderer.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n render as _render\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffectHost,\r\n hydrate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createElement as _createElement\r\n} from \"inferno-create-element\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport injector from \"./utils/dependency_injector\";\r\nvar remove = element => {\r\n var {\r\n parentNode: parentNode\r\n } = element;\r\n if (parentNode) {\r\n var nextSibling = element.nextSibling;\r\n cleanDataRecursive(element);\r\n parentNode.$V = element.$V;\r\n _render(null, parentNode);\r\n parentNode.insertBefore(element, nextSibling);\r\n element.innerHTML = \"\";\r\n delete parentNode.$V\r\n }\r\n delete element.$V\r\n};\r\nexport default injector({\r\n createElement: (component, props) => _createElement(component, props),\r\n remove: remove,\r\n onAfterRender: () => {\r\n InfernoEffectHost.callEffects()\r\n },\r\n onPreRender: () => {\r\n InfernoEffectHost.lock()\r\n },\r\n render: (component, props, container, replace) => {\r\n if (!replace) {\r\n var {\r\n parentNode: parentNode\r\n } = container;\r\n var nextNode = null === container || void 0 === container ? void 0 : container.nextSibling;\r\n var rootNode = domAdapter.createElement(\"div\");\r\n rootNode.appendChild(container);\r\n var mountNode = domAdapter.createDocumentFragment().appendChild(rootNode);\r\n var vNodeAlreadyExists = !!container.$V;\r\n vNodeAlreadyExists && remove(container);\r\n hydrate(_createElement(component, props), mountNode);\r\n container.$V = mountNode.$V;\r\n if (parentNode) {\r\n parentNode.insertBefore(container, nextNode)\r\n }\r\n } else {\r\n _render(_createElement(component, props), container)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/renovation/utils/shallow_equals.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var shallowEquals = (firstObject, secondObject) => {\r\n if (Object.keys(firstObject).length !== Object.keys(secondObject).length) {\r\n return false\r\n }\r\n return Object.keys(firstObject).every(key => firstObject[key] === secondObject[key])\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/mutations_recording.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction isChildNode(node) {\r\n return \"function\" === typeof node.remove\r\n}\r\n\r\nfunction revertMutation(_ref) {\r\n var {\r\n addedNodes: addedNodes,\r\n type: type\r\n } = _ref;\r\n switch (type) {\r\n case \"childList\":\r\n addedNodes.forEach(n => isChildNode(n) && n.remove())\r\n }\r\n}\r\nexport function recordMutations(target, func) {\r\n var observer = new MutationObserver(() => {});\r\n observer.observe(target, {\r\n childList: true,\r\n subtree: false\r\n });\r\n func();\r\n var mutations = observer.takeRecords();\r\n observer.disconnect();\r\n return () => mutations.forEach(revertMutation)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/template_wrapper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"isEqual\"];\r\nimport {\r\n InfernoComponent,\r\n InfernoEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n findDOMfromVNode\r\n} from \"inferno\";\r\nimport {\r\n shallowEquals\r\n} from \"../../utils/shallow_equals\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n recordMutations\r\n} from \"./mutations_recording\";\r\n\r\nfunction isDxElementWrapper(element) {\r\n return !!element.toArray\r\n}\r\nexport function buildTemplateArgs(model, template) {\r\n var _model$data;\r\n var args = {\r\n template: template,\r\n model: _extends({}, model)\r\n };\r\n var _ref = null !== (_model$data = model.data) && void 0 !== _model$data ? _model$data : {},\r\n {\r\n isEqual: isEqual\r\n } = _ref,\r\n data = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n if (isEqual) {\r\n args.model.data = data;\r\n args.isEqual = isEqual\r\n }\r\n return args\r\n}\r\n\r\nfunction buildTemplateContent(props, container) {\r\n var _props$model;\r\n var {\r\n data: data,\r\n index: index\r\n } = null !== (_props$model = props.model) && void 0 !== _props$model ? _props$model : {\r\n data: {}\r\n };\r\n if (data) {\r\n Object.keys(data).forEach(name => {\r\n if (data[name] && domAdapter.isNode(data[name])) {\r\n data[name] = getPublicElement($(data[name]))\r\n }\r\n })\r\n }\r\n var rendered = props.template.render(_extends({\r\n container: container,\r\n transclude: props.transclude\r\n }, {\r\n renovated: props.renovated\r\n }, !props.transclude ? {\r\n model: data\r\n } : {}, !props.transclude && Number.isFinite(index) ? {\r\n index: index\r\n } : {}));\r\n if (void 0 === rendered) {\r\n return []\r\n }\r\n return isDxElementWrapper(rendered) ? rendered.toArray() : [$(rendered).get(0)]\r\n}\r\nexport class TemplateWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.cleanParent = noop;\r\n this.renderTemplate = this.renderTemplate.bind(this)\r\n }\r\n renderTemplate() {\r\n var node = findDOMfromVNode(this.$LI, true);\r\n var container = node.parentElement;\r\n this.cleanParent();\r\n this.cleanParent = recordMutations(container, () => {\r\n var content = buildTemplateContent(this.props, getPublicElement($(container)));\r\n if (0 !== content.length && !(1 === content.length && content[0] === container)) {\r\n node.after(...content)\r\n }\r\n })\r\n }\r\n shouldComponentUpdate(nextProps) {\r\n var {\r\n model: model,\r\n template: template\r\n } = this.props;\r\n var {\r\n isEqual: isEqual,\r\n model: nextModel,\r\n template: nextTemplate\r\n } = nextProps;\r\n var equalityComparer = null !== isEqual && void 0 !== isEqual ? isEqual : shallowEquals;\r\n if (template !== nextTemplate) {\r\n return true\r\n }\r\n if (!isDefined(model) || !isDefined(nextModel)) {\r\n return model !== nextModel\r\n }\r\n var {\r\n data: data,\r\n index: index\r\n } = model;\r\n var {\r\n data: nextData,\r\n index: nextIndex\r\n } = nextModel;\r\n if (index !== nextIndex) {\r\n return true\r\n }\r\n return !equalityComparer(data, nextData)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.renderTemplate, [this.props.template, this.props.model])]\r\n }\r\n updateEffects() {\r\n this._effects[0].update([this.props.template, this.props.model])\r\n }\r\n componentWillUnmount() {\r\n this.cleanParent()\r\n }\r\n render() {\r\n return null\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/utils/update_props_immutable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPathParts\r\n} from \"../../../core/utils/data\";\r\n\r\nfunction cloneObjectValue(value) {\r\n return Array.isArray(value) ? [...value] : _extends({}, value)\r\n}\r\n\r\nfunction cloneObjectProp(value, prevValue, fullNameParts) {\r\n var result = fullNameParts.length > 0 && prevValue && value !== prevValue ? cloneObjectValue(prevValue) : cloneObjectValue(value);\r\n var name = fullNameParts[0];\r\n if (fullNameParts.length > 1) {\r\n result[name] = cloneObjectProp(value[name], null === prevValue || void 0 === prevValue ? void 0 : prevValue[name], fullNameParts.slice(1))\r\n } else if (name) {\r\n if (isPlainObject(value[name])) {\r\n result[name] = cloneObjectValue(value[name])\r\n } else {\r\n result[name] = value[name]\r\n }\r\n }\r\n return result\r\n}\r\nexport function updatePropsImmutable(props, option, name, fullName) {\r\n var currentPropsValue = option[name];\r\n var prevPropsValue = props[name];\r\n var result = props;\r\n if (isPlainObject(currentPropsValue) || name !== fullName && Array.isArray(currentPropsValue)) {\r\n result[name] = cloneObjectProp(currentPropsValue, prevPropsValue, getPathParts(fullName).slice(1))\r\n } else {\r\n result[name] = currentPropsValue\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/common/component.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n createRef\r\n} from \"inferno\";\r\nimport KeyboardProcessor from \"../../../events/core/keyboard_processor\";\r\nimport renderer from \"../../../core/inferno_renderer\";\r\nimport $ from \"../../../core/renderer\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nimport DOMComponent from \"../../../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n TemplateWrapper,\r\n buildTemplateArgs\r\n} from \"./template_wrapper\";\r\nimport {\r\n updatePropsImmutable\r\n} from \"../utils/update_props_immutable\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/core/emitter.feedback\";\r\nimport \"../../../events/hover\";\r\nvar setDefaultOptionValue = (options, defaultValueGetter) => name => {\r\n if (Object.prototype.hasOwnProperty.call(options, name) && void 0 === options[name]) {\r\n options[name] = defaultValueGetter(name)\r\n }\r\n};\r\nexport default class ComponentWrapper extends DOMComponent {\r\n constructor(element, options) {\r\n super(element, options);\r\n this._shouldRaiseContentReady = false;\r\n this.validateKeyDownHandler()\r\n }\r\n get _propsInfo() {\r\n return {\r\n allowNull: [],\r\n twoWay: [],\r\n elements: [],\r\n templates: [],\r\n props: []\r\n }\r\n }\r\n validateKeyDownHandler() {\r\n var supportedKeyNames = this.getSupportedKeyNames();\r\n var hasComponentDefaultKeyHandlers = supportedKeyNames.length > 0;\r\n var hasComponentKeyDownMethod = \"function\" === typeof this._viewComponent.prototype.keyDown;\r\n if (hasComponentDefaultKeyHandlers && !hasComponentKeyDownMethod) {\r\n throw Error(\"Component's declaration must have 'keyDown' method.\")\r\n }\r\n }\r\n get viewRef() {\r\n var _this$_viewRef;\r\n return null === (_this$_viewRef = this._viewRef) || void 0 === _this$_viewRef ? void 0 : _this$_viewRef.current\r\n }\r\n _checkContentReadyOption(fullName) {\r\n var contentReadyOptions = this._getContentReadyOptions().reduce((options, name) => {\r\n options[name] = true;\r\n return options\r\n }, {});\r\n this._checkContentReadyOption = optionName => !!contentReadyOptions[optionName];\r\n return this._checkContentReadyOption(fullName)\r\n }\r\n _getContentReadyOptions() {\r\n return [\"rtlEnabled\"]\r\n }\r\n _fireContentReady() {\r\n this._actionsMap.onContentReady({})\r\n }\r\n _getDefaultOptions() {\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n return extend(true, super._getDefaultOptions(), viewDefaultProps, this._propsInfo.twoWay.reduce((options, _ref) => {\r\n var [name, defaultName, eventName] = _ref;\r\n return _extends({}, options, {\r\n [name]: viewDefaultProps[defaultName],\r\n [eventName]: value => this.option(name, value)\r\n })\r\n }, {}), this._propsInfo.templates.reduce((options, name) => _extends({}, options, {\r\n [name]: null\r\n }), {}))\r\n }\r\n _getUnwrappedOption() {\r\n var unwrappedProps = {};\r\n Object.keys(this.option()).forEach(key => {\r\n unwrappedProps[key] = this.option(key)\r\n });\r\n return unwrappedProps\r\n }\r\n _initializeComponent() {\r\n var _this$_templateManage;\r\n super._initializeComponent();\r\n null === (_this$_templateManage = this._templateManager) || void 0 === _this$_templateManage ? void 0 : _this$_templateManage.addDefaultTemplates(this.getDefaultTemplates());\r\n var optionProxy = this._getUnwrappedOption();\r\n this._props = this._optionsWithDefaultTemplates(optionProxy);\r\n this._propsInfo.templates.forEach(template => {\r\n this._componentTemplates[template] = this._createTemplateComponent(this._props[template])\r\n });\r\n Object.keys(this._getActionConfigsFull()).forEach(name => this._addAction(name));\r\n this._viewRef = createRef();\r\n this.defaultKeyHandlers = this._createDefaultKeyHandlers()\r\n }\r\n _initMarkup() {\r\n var props = this.getProps();\r\n this._renderWrapper(props)\r\n }\r\n _renderWrapper(props) {\r\n var containerNode = this.$element()[0];\r\n if (!this._isNodeReplaced) {\r\n renderer.onPreRender()\r\n }\r\n renderer.render(this._viewComponent, props, containerNode, this._isNodeReplaced);\r\n if (!this._isNodeReplaced) {\r\n this._isNodeReplaced = true;\r\n renderer.onAfterRender();\r\n this._shouldRaiseContentReady = true\r\n }\r\n if (this._shouldRaiseContentReady) {\r\n this._fireContentReady();\r\n this._shouldRaiseContentReady = false\r\n }\r\n }\r\n _silent(name, value) {\r\n this._options.silent(name, value)\r\n }\r\n _render() {}\r\n _removeWidget() {\r\n renderer.remove(this.$element()[0])\r\n }\r\n _dispose() {\r\n this._removeWidget();\r\n super._dispose()\r\n }\r\n get elementAttr() {\r\n var element = this.$element()[0];\r\n if (!this._elementAttr) {\r\n var {\r\n attributes: attributes\r\n } = element;\r\n var attrs = Array.from(attributes).filter(attr => {\r\n var _attributes$attr$name;\r\n return !this._propsInfo.templates.includes(attr.name) && (null === (_attributes$attr$name = attributes[attr.name]) || void 0 === _attributes$attr$name ? void 0 : _attributes$attr$name.specified)\r\n }).reduce((result, _ref2) => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n var updatedAttributes = result;\r\n var isDomAttr = name in element;\r\n updatedAttributes[name] = \"\" === value && isDomAttr ? element[name] : value;\r\n return updatedAttributes\r\n }, {});\r\n this._elementAttr = attrs;\r\n this._storedClasses = element.getAttribute(\"class\") || \"\"\r\n }\r\n var elemStyle = element.style;\r\n var style = {};\r\n for (var i = 0; i < elemStyle.length; i += 1) {\r\n style[elemStyle[i]] = elemStyle.getPropertyValue(elemStyle[i])\r\n }\r\n this._elementAttr.style = style;\r\n this._elementAttr.class = this._storedClasses;\r\n return this._elementAttr\r\n }\r\n _getAdditionalActionConfigs() {\r\n return {\r\n onContentReady: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n }\r\n }\r\n _getAdditionalProps() {\r\n return []\r\n }\r\n _patchOptionValues(options) {\r\n var {\r\n allowNull: allowNull,\r\n elements: elements,\r\n props: props,\r\n twoWay: twoWay\r\n } = this._propsInfo;\r\n var viewDefaultProps = this._getViewComponentDefaultProps();\r\n var defaultWidgetPropsKeys = Object.keys(viewDefaultProps);\r\n var defaultOptions = this._getDefaultOptions();\r\n var {\r\n children: children,\r\n onKeyboardHandled: onKeyboardHandled,\r\n ref: ref\r\n } = options;\r\n var onKeyDown = onKeyboardHandled ? (_, event_options) => {\r\n onKeyboardHandled(event_options)\r\n } : void 0;\r\n var widgetProps = {\r\n ref: ref,\r\n children: children,\r\n onKeyDown: onKeyDown\r\n };\r\n [...props, ...this._getAdditionalProps()].forEach(propName => {\r\n if (Object.prototype.hasOwnProperty.call(options, propName)) {\r\n widgetProps[propName] = options[propName]\r\n }\r\n });\r\n allowNull.forEach(setDefaultOptionValue(widgetProps, () => null));\r\n defaultWidgetPropsKeys.forEach(setDefaultOptionValue(widgetProps, name => defaultOptions[name]));\r\n twoWay.forEach(_ref3 => {\r\n var [name, defaultName] = _ref3;\r\n setDefaultOptionValue(widgetProps, () => defaultOptions[defaultName])(name)\r\n });\r\n elements.forEach(name => {\r\n if (name in widgetProps) {\r\n var value = widgetProps[name];\r\n if (isRenderer(value)) {\r\n widgetProps[name] = this._patchElementParam(value)\r\n }\r\n }\r\n });\r\n return widgetProps\r\n }\r\n getSupportedKeyNames() {\r\n return []\r\n }\r\n prepareStyleProp(props) {\r\n if (\"string\" === typeof props.style) {\r\n return _extends({}, props, {\r\n style: {},\r\n cssText: props.style\r\n })\r\n }\r\n return props\r\n }\r\n getProps() {\r\n var _this$elementAttr$cla, _elementAttr$class;\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option();\r\n var options = this._patchOptionValues(_extends({}, this._props, {\r\n ref: this._viewRef,\r\n children: this._extractDefaultSlot(),\r\n aria: this._aria\r\n }));\r\n this._propsInfo.templates.forEach(template => {\r\n options[template] = this._componentTemplates[template]\r\n });\r\n return this.prepareStyleProp(_extends({}, options, this.elementAttr, elementAttr, {\r\n className: [...(null !== (_this$elementAttr$cla = this.elementAttr.class) && void 0 !== _this$elementAttr$cla ? _this$elementAttr$cla : \"\").split(\" \"), ...(null !== (_elementAttr$class = null === elementAttr || void 0 === elementAttr ? void 0 : elementAttr.class) && void 0 !== _elementAttr$class ? _elementAttr$class : \"\").split(\" \")].filter((c, i, a) => c && a.indexOf(c) === i).join(\" \").trim(),\r\n class: \"\"\r\n }, this._actionsMap))\r\n }\r\n _getActionConfigs() {\r\n return {}\r\n }\r\n _getActionConfigsFull() {\r\n return _extends({}, this._getActionConfigs(), this._getAdditionalActionConfigs())\r\n }\r\n getDefaultTemplates() {\r\n var defaultTemplates = Object.values(this._templatesInfo);\r\n var result = {};\r\n defaultTemplates.forEach(template => {\r\n result[template] = \"dx-renovation-template-mock\"\r\n });\r\n return result\r\n }\r\n get _templatesInfo() {\r\n return {}\r\n }\r\n _optionsWithDefaultTemplates(options) {\r\n var templateOptions = Object.entries(this._templatesInfo).reduce((result, _ref4) => {\r\n var _options$templateName;\r\n var [templateName, templateValue] = _ref4;\r\n return _extends({}, result, {\r\n [templateName]: null !== (_options$templateName = options[templateName]) && void 0 !== _options$templateName ? _options$templateName : templateValue\r\n })\r\n }, {});\r\n return _extends({}, options, templateOptions)\r\n }\r\n _init() {\r\n super._init();\r\n this.customKeyHandlers = {};\r\n this._actionsMap = {};\r\n this._aria = {};\r\n this._componentTemplates = {}\r\n }\r\n _createDefaultKeyHandlers() {\r\n var result = {};\r\n var keys = this.getSupportedKeyNames();\r\n keys.forEach(key => {\r\n result[key] = e => this.viewRef.keyDown(KeyboardProcessor.createKeyDownOptions(e))\r\n });\r\n return result\r\n }\r\n _addAction(event, actionToAdd) {\r\n var action = actionToAdd;\r\n if (!action) {\r\n var actionByOption = this._createActionByOption(event, this._getActionConfigsFull()[event]);\r\n action = actArgs => {\r\n Object.keys(actArgs).forEach(name => {\r\n if (isDefined(actArgs[name]) && domAdapter.isNode(actArgs[name])) {\r\n actArgs[name] = getPublicElement($(actArgs[name]))\r\n }\r\n });\r\n return actionByOption(actArgs)\r\n }\r\n }\r\n this._actionsMap[event] = action\r\n }\r\n _optionChanged(option) {\r\n var {\r\n fullName: fullName,\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n updatePropsImmutable(this._props, this.option(), name, fullName);\r\n if (this._propsInfo.templates.includes(name) && value !== previousValue) {\r\n this._componentTemplates[name] = this._createTemplateComponent(value)\r\n }\r\n if (name && this._getActionConfigsFull()[name]) {\r\n this._addAction(name)\r\n }\r\n this._shouldRaiseContentReady = this._shouldRaiseContentReady || this._checkContentReadyOption(fullName);\r\n super._optionChanged(option);\r\n this._invalidate()\r\n }\r\n _extractDefaultSlot() {\r\n if (this.option(\"_hasAnonymousTemplateContent\")) {\r\n return renderer.createElement(TemplateWrapper, {\r\n template: this._getTemplate(this._templateManager.anonymousTemplateName),\r\n transclude: true,\r\n renovated: true\r\n })\r\n }\r\n return null\r\n }\r\n _createTemplateComponent(templateOption) {\r\n if (!templateOption) {\r\n return\r\n }\r\n var template = this._getTemplate(templateOption);\r\n if (isString(template) && \"dx-renovation-template-mock\" === template) {\r\n return\r\n }\r\n return model => renderer.createElement(TemplateWrapper, buildTemplateArgs(model, template))\r\n }\r\n _wrapKeyDownHandler(initialHandler) {\r\n return options => {\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = options;\r\n var keys = this.customKeyHandlers;\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n originalEvent.cancel = true;\r\n return originalEvent\r\n }\r\n }\r\n return null === initialHandler || void 0 === initialHandler ? void 0 : initialHandler(originalEvent, options)\r\n }\r\n }\r\n _toPublicElement(element) {\r\n return getPublicElement($(element))\r\n }\r\n _patchElementParam(value) {\r\n try {\r\n var result = $(value);\r\n var element = null === result || void 0 === result ? void 0 : result.get(0);\r\n return null !== element && void 0 !== element && element.nodeType ? element : value\r\n } catch (error) {\r\n return value\r\n }\r\n }\r\n repaint() {\r\n this._isNodeReplaced = false;\r\n this._shouldRaiseContentReady = true;\r\n this._removeWidget();\r\n this._refresh()\r\n }\r\n _supportedKeys() {\r\n return _extends({}, this.defaultKeyHandlers, this.customKeyHandlers)\r\n }\r\n registerKeyHandler(key, handler) {\r\n this.customKeyHandlers[key] = handler\r\n }\r\n setAria(name, value) {\r\n this._aria[name] = value;\r\n this._initMarkup()\r\n }\r\n _getViewComponentDefaultProps() {\r\n return this._viewComponent.defaultProps || {}\r\n }\r\n}\r\nComponentWrapper.IS_RENOVATED_WIDGET = false;\r\nComponentWrapper.IS_RENOVATED_WIDGET = true;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/base_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var BaseWidgetProps = {\r\n className: \"\",\r\n activeStateEnabled: false,\r\n disabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n tabIndex: 0,\r\n visible: true\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/get_updated_options.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isPlainObject,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nvar defaultNotDeepCopyArrays = [\"dataSource\", \"selectedRowKeys\"];\r\nvar propsToIgnore = {\r\n integrationOptions: true\r\n};\r\n\r\nfunction getDiffItem(key, value, previousValue) {\r\n return {\r\n path: key,\r\n value: value,\r\n previousValue: previousValue\r\n }\r\n}\r\n\r\nfunction compare(resultPaths, item1, item2, key, fullPropName, notDeepCopyArrays) {\r\n if (propsToIgnore[key]) {\r\n return\r\n }\r\n var type1 = type(item1);\r\n var type2 = type(item2);\r\n if (item1 === item2) {\r\n return\r\n }\r\n if (type1 !== type2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (\"object\" === type1) {\r\n if (!isPlainObject(item2)) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n resultPaths.push(...diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key, \".\").concat(item.path)\r\n })))\r\n }\r\n } else if (\"array\" === type1) {\r\n var notDeepCopy = notDeepCopyArrays.some(prop => fullPropName.includes(prop));\r\n if (notDeepCopy && item1 !== item2) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else if (item1.length !== item2.length) {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n } else {\r\n var _diffPaths = objectDiffs(item1, item2, fullPropName, notDeepCopyArrays);\r\n [].push.apply(resultPaths, _diffPaths.map(item => _extends({}, item, {\r\n path: \"\".concat(key).concat(item.path)\r\n })))\r\n }\r\n } else {\r\n resultPaths.push(getDiffItem(key, item2, item1))\r\n }\r\n}\r\nvar objectDiffsFiltered = propsEnumerator => (oldProps, props, fullPropName, notDeepCopyArrays) => {\r\n var resultPaths = [];\r\n var processItem = !Array.isArray(oldProps) ? propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], propName, \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n } : propName => {\r\n compare(resultPaths, oldProps[propName], props[propName], \"[\".concat(propName, \"]\"), \"\".concat(fullPropName, \".\").concat(propName), notDeepCopyArrays)\r\n };\r\n propsEnumerator(oldProps).forEach(processItem);\r\n Object.keys(props).filter(propName => !Object.prototype.hasOwnProperty.call(oldProps, propName) && oldProps[propName] !== props[propName]).forEach(propName => {\r\n resultPaths.push({\r\n path: propName,\r\n value: props[propName],\r\n previousValue: oldProps[propName]\r\n })\r\n });\r\n return resultPaths\r\n};\r\nvar objectDiffs = objectDiffsFiltered(oldProps => Object.keys(oldProps));\r\nvar reactProps = {\r\n key: true,\r\n ref: true,\r\n children: true,\r\n style: true\r\n};\r\nvar objectDiffsWithoutReactProps = objectDiffsFiltered(prop => Object.keys(prop).filter(p => !reactProps[p]));\r\nexport function getUpdatedOptions(oldProps, props) {\r\n var notDeepCopyArrays = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : defaultNotDeepCopyArrays;\r\n return objectDiffsWithoutReactProps(oldProps, props, \"\", notDeepCopyArrays)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/dom_component_wrapper.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"valueChange\"],\r\n _excluded2 = [\"componentProps\", \"componentType\", \"templateNames\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n renderTemplate,\r\n hasTemplate\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n getUpdatedOptions\r\n} from \"./utils/get_updated_options\";\r\nvar normalizeProps = props => Object.keys(props).reduce((accumulator, key) => {\r\n if (void 0 !== props[key]) {\r\n accumulator[key] = props[key]\r\n }\r\n return accumulator\r\n}, {});\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n componentProps: {\r\n className: className\r\n }\r\n },\r\n restAttributes: restAttributes,\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return normalizeProps(createVNode(1, \"div\", className, null, 1, _extends({}, restAttributes), null, widgetRef))\r\n};\r\nexport var DomComponentWrapperProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class DomComponentWrapper extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.getInstance = this.getInstance.bind(this);\r\n this.setupWidget = this.setupWidget.bind(this);\r\n this.updateWidget = this.updateWidget.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setupWidget, []), new InfernoEffect(this.updateWidget, [this.props.componentProps, this.config, this.props.templateNames])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.componentProps, this.config, this.props.templateNames])\r\n }\r\n setupWidget() {\r\n var componentInstance = new this.props.componentType(this.widgetRef.current, this.properties);\r\n this.instance = componentInstance;\r\n return () => {\r\n componentInstance.dispose();\r\n this.instance = null\r\n }\r\n }\r\n updateWidget() {\r\n var instance = this.getInstance();\r\n if (!instance) {\r\n return\r\n }\r\n var updatedOptions = getUpdatedOptions(this.prevProps || {}, this.properties);\r\n if (updatedOptions.length) {\r\n instance.beginUpdate();\r\n updatedOptions.forEach(_ref2 => {\r\n var {\r\n path: path,\r\n value: value\r\n } = _ref2;\r\n instance.option(path, value)\r\n });\r\n instance.endUpdate()\r\n }\r\n this.prevProps = this.properties\r\n }\r\n get properties() {\r\n var _this$config;\r\n var normalizedProps = normalizeProps(this.props.componentProps);\r\n var {\r\n valueChange: valueChange\r\n } = normalizedProps, restProps = _objectWithoutPropertiesLoose(normalizedProps, _excluded);\r\n var properties = _extends({\r\n rtlEnabled: !!(null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled),\r\n isRenovated: true\r\n }, restProps);\r\n if (valueChange) {\r\n properties.onValueChanged = _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n return valueChange(value)\r\n }\r\n }\r\n var templates = this.props.templateNames;\r\n templates.forEach(name => {\r\n if (hasTemplate(name, properties, this)) {\r\n properties[name] = (item, index, container) => {\r\n renderTemplate(this.props.componentProps[name], {\r\n item: item,\r\n index: index,\r\n container: container\r\n }, this)\r\n }\r\n }\r\n });\r\n return properties\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n getInstance() {\r\n return this.instance\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n config: this.config,\r\n properties: this.properties,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nDomComponentWrapper.defaultProps = DomComponentWrapperProps;\r\n","/**\r\n * DevExtreme (esm/renovation/common/config_provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"children\", \"rtlEnabled\"];\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ConfigContext\r\n} from \"./config_context\";\r\nexport var viewFunction = viewModel => viewModel.props.children;\r\nexport var ConfigProviderProps = {};\r\nexport class ConfigProvider extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {}\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n [ConfigContext.id]: this.config || ConfigContext.defaultValue\r\n })\r\n }\r\n get config() {\r\n if (void 0 !== this.__getterCache.config) {\r\n return this.__getterCache.config\r\n }\r\n return this.__getterCache.config = (() => ({\r\n rtlEnabled: this.props.rtlEnabled\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.rtlEnabled !== nextProps.rtlEnabled) {\r\n this.__getterCache.config = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nConfigProvider.defaultProps = ConfigProviderProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"_feedbackHideTimeout\", \"_feedbackShowTimeout\", \"accessKey\", \"activeStateEnabled\", \"activeStateUnit\", \"addWidgetClass\", \"aria\", \"children\", \"className\", \"classes\", \"cssText\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"name\", \"onActive\", \"onClick\", \"onDimensionChanged\", \"onFocusIn\", \"onFocusOut\", \"onHoverEnd\", \"onHoverStart\", \"onInactive\", \"onKeyDown\", \"onRootElementRendered\", \"onVisibilityChange\", \"rootElementRef\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport \"../../../events/click\";\r\nimport \"../../../events/hover\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n dxClick,\r\n focus,\r\n keyboard,\r\n resize,\r\n visibility\r\n} from \"../../../events/short\";\r\nimport {\r\n subscribeToDxActiveEvent,\r\n subscribeToDxInactiveEvent,\r\n subscribeToDxHoverStartEvent,\r\n subscribeToDxHoverEndEvent,\r\n subscribeToDxFocusInEvent,\r\n subscribeToDxFocusOutEvent\r\n} from \"../../utils/subscribe_to_event\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../core/utils/style\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./base_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../common/config_context\";\r\nimport {\r\n ConfigProvider\r\n} from \"../../common/config_provider\";\r\nimport {\r\n resolveRtlEnabled,\r\n resolveRtlEnabledDefinition\r\n} from \"../../utils/resolve_rtl\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport errors from \"../../../core/errors\";\r\nimport domAdapter from \"../../../core/dom_adapter\";\r\nvar DEFAULT_FEEDBACK_HIDE_TIMEOUT = 400;\r\nvar DEFAULT_FEEDBACK_SHOW_TIMEOUT = 30;\r\nvar getAria = args => Object.keys(args).reduce((r, key) => {\r\n if (args[key]) {\r\n return _extends({}, r, {\r\n [\"role\" === key || \"id\" === key ? key : \"aria-\".concat(key)]: String(args[key])\r\n })\r\n }\r\n return r\r\n}, {});\r\nexport var viewFunction = viewModel => {\r\n var widget = normalizeProps(createVNode(1, \"div\", viewModel.cssClasses, viewModel.props.children, 0, _extends({}, viewModel.attributes, {\r\n tabIndex: viewModel.tabIndex,\r\n title: viewModel.props.hint,\r\n style: normalizeStyles(viewModel.styles)\r\n }), null, viewModel.widgetElementRef));\r\n return viewModel.shouldRenderConfigProvider ? createComponentVNode(2, ConfigProvider, {\r\n rtlEnabled: viewModel.rtlEnabled,\r\n children: widget\r\n }) : widget\r\n};\r\nexport var WidgetProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n _feedbackHideTimeout: DEFAULT_FEEDBACK_HIDE_TIMEOUT,\r\n _feedbackShowTimeout: DEFAULT_FEEDBACK_SHOW_TIMEOUT,\r\n cssText: \"\",\r\n aria: Object.freeze({}),\r\n classes: \"\",\r\n name: \"\",\r\n addWidgetClass: true\r\n})));\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Widget extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetElementRef = infernoCreateRef();\r\n this.state = {\r\n active: false,\r\n focused: false,\r\n hovered: false\r\n };\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.activeEffect = this.activeEffect.bind(this);\r\n this.inactiveEffect = this.inactiveEffect.bind(this);\r\n this.clickEffect = this.clickEffect.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.focusInEffect = this.focusInEffect.bind(this);\r\n this.focusOutEffect = this.focusOutEffect.bind(this);\r\n this.hoverStartEffect = this.hoverStartEffect.bind(this);\r\n this.hoverEndEffect = this.hoverEndEffect.bind(this);\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.resizeEffect = this.resizeEffect.bind(this);\r\n this.windowResizeEffect = this.windowResizeEffect.bind(this);\r\n this.visibilityEffect = this.visibilityEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.applyCssTextEffect = this.applyCssTextEffect.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, []), new InfernoEffect(this.activeEffect, [this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]), new InfernoEffect(this.inactiveEffect, [this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]), new InfernoEffect(this.clickEffect, [this.props.disabled, this.props.name, this.props.onClick]), new InfernoEffect(this.focusInEffect, [this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]), new InfernoEffect(this.focusOutEffect, [this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]), new InfernoEffect(this.hoverStartEffect, [this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]), new InfernoEffect(this.hoverEndEffect, [this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]), new InfernoEffect(this.keyboardEffect, [this.props.focusStateEnabled, this.props.onKeyDown]), new InfernoEffect(this.resizeEffect, [this.props.name, this.props.onDimensionChanged]), new InfernoEffect(this.windowResizeEffect, [this.props.onDimensionChanged]), new InfernoEffect(this.visibilityEffect, [this.props.name, this.props.onVisibilityChange]), new InfernoEffect(this.checkDeprecation, [this.props.height, this.props.width]), new InfernoEffect(this.applyCssTextEffect, [this.props.cssText]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2, _this$_effects$3, _this$_effects$4, _this$_effects$5, _this$_effects$6, _this$_effects$7, _this$_effects$8, _this$_effects$9, _this$_effects$10, _this$_effects$11, _this$_effects$12, _this$_effects$13;\r\n null === (_this$_effects$ = this._effects[1]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props._feedbackShowTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.disabled, this.props.onActive]);\r\n null === (_this$_effects$2 = this._effects[2]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props._feedbackHideTimeout, this.props.activeStateEnabled, this.props.activeStateUnit, this.props.onInactive, this.state.active]);\r\n null === (_this$_effects$3 = this._effects[3]) || void 0 === _this$_effects$3 ? void 0 : _this$_effects$3.update([this.props.disabled, this.props.name, this.props.onClick]);\r\n null === (_this$_effects$4 = this._effects[4]) || void 0 === _this$_effects$4 ? void 0 : _this$_effects$4.update([this.props.disabled, this.props.focusStateEnabled, this.props.name, this.props.onFocusIn]);\r\n null === (_this$_effects$5 = this._effects[5]) || void 0 === _this$_effects$5 ? void 0 : _this$_effects$5.update([this.props.focusStateEnabled, this.props.name, this.props.onFocusOut, this.state.focused]);\r\n null === (_this$_effects$6 = this._effects[6]) || void 0 === _this$_effects$6 ? void 0 : _this$_effects$6.update([this.props.activeStateUnit, this.props.disabled, this.props.hoverStateEnabled, this.props.onHoverStart, this.state.active]);\r\n null === (_this$_effects$7 = this._effects[7]) || void 0 === _this$_effects$7 ? void 0 : _this$_effects$7.update([this.props.activeStateUnit, this.props.hoverStateEnabled, this.props.onHoverEnd, this.state.hovered]);\r\n null === (_this$_effects$8 = this._effects[8]) || void 0 === _this$_effects$8 ? void 0 : _this$_effects$8.update([this.props.focusStateEnabled, this.props.onKeyDown]);\r\n null === (_this$_effects$9 = this._effects[9]) || void 0 === _this$_effects$9 ? void 0 : _this$_effects$9.update([this.props.name, this.props.onDimensionChanged]);\r\n null === (_this$_effects$10 = this._effects[10]) || void 0 === _this$_effects$10 ? void 0 : _this$_effects$10.update([this.props.onDimensionChanged]);\r\n null === (_this$_effects$11 = this._effects[11]) || void 0 === _this$_effects$11 ? void 0 : _this$_effects$11.update([this.props.name, this.props.onVisibilityChange]);\r\n null === (_this$_effects$12 = this._effects[12]) || void 0 === _this$_effects$12 ? void 0 : _this$_effects$12.update([this.props.height, this.props.width]);\r\n null === (_this$_effects$13 = this._effects[13]) || void 0 === _this$_effects$13 ? void 0 : _this$_effects$13.update([this.props.cssText])\r\n }\r\n setRootElementRef() {\r\n var {\r\n onRootElementRendered: onRootElementRendered,\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetElementRef.current\r\n }\r\n null === onRootElementRendered || void 0 === onRootElementRendered ? void 0 : onRootElementRendered(this.widgetElementRef.current)\r\n }\r\n activeEffect() {\r\n var {\r\n _feedbackShowTimeout: _feedbackShowTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n onActive: onActive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxActiveEvent(this.widgetElementRef.current, event => {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }));\r\n null === onActive || void 0 === onActive ? void 0 : onActive(event)\r\n }, {\r\n timeout: _feedbackShowTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n inactiveEffect() {\r\n var {\r\n _feedbackHideTimeout: _feedbackHideTimeout,\r\n activeStateEnabled: activeStateEnabled,\r\n activeStateUnit: activeStateUnit,\r\n onInactive: onInactive\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (activeStateEnabled) {\r\n return subscribeToDxInactiveEvent(this.widgetElementRef.current, event => {\r\n if (this.state.active) {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }));\r\n null === onInactive || void 0 === onInactive ? void 0 : onInactive(event)\r\n }\r\n }, {\r\n timeout: _feedbackHideTimeout,\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n clickEffect() {\r\n var {\r\n disabled: disabled,\r\n name: name,\r\n onClick: onClick\r\n } = this.props;\r\n var namespace = name;\r\n if (onClick && !disabled) {\r\n dxClick.on(this.widgetElementRef.current, onClick, {\r\n namespace: namespace\r\n });\r\n return () => dxClick.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n focusInEffect() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxFocusInEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented()) {\r\n this.setState(__state_argument => ({\r\n focused: true\r\n }));\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n }, null, namespace)\r\n }\r\n }\r\n return\r\n }\r\n focusOutEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n name: name,\r\n onFocusOut: onFocusOut\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"Focus\");\r\n if (focusStateEnabled) {\r\n return subscribeToDxFocusOutEvent(this.widgetElementRef.current, event => {\r\n if (!event.isDefaultPrevented() && this.state.focused) {\r\n this.setState(__state_argument => ({\r\n focused: false\r\n }));\r\n null === onFocusOut || void 0 === onFocusOut ? void 0 : onFocusOut(event)\r\n }\r\n }, null, namespace)\r\n }\r\n return\r\n }\r\n hoverStartEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n disabled: disabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverStart: onHoverStart\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n if (!disabled) {\r\n return subscribeToDxHoverStartEvent(this.widgetElementRef.current, event => {\r\n !this.state.active && this.setState(__state_argument => ({\r\n hovered: true\r\n }));\r\n null === onHoverStart || void 0 === onHoverStart ? void 0 : onHoverStart(event)\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n }\r\n return\r\n }\r\n hoverEndEffect() {\r\n var {\r\n activeStateUnit: activeStateUnit,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onHoverEnd: onHoverEnd\r\n } = this.props;\r\n var selector = activeStateUnit;\r\n if (hoverStateEnabled) {\r\n return subscribeToDxHoverEndEvent(this.widgetElementRef.current, event => {\r\n if (this.state.hovered) {\r\n this.setState(__state_argument => ({\r\n hovered: false\r\n }));\r\n null === onHoverEnd || void 0 === onHoverEnd ? void 0 : onHoverEnd(event)\r\n }\r\n }, {\r\n selector: selector\r\n }, \"UIFeedback\")\r\n }\r\n return\r\n }\r\n keyboardEffect() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n if (focusStateEnabled && onKeyDown) {\r\n var id = keyboard.on(this.widgetElementRef.current, this.widgetElementRef.current, e => onKeyDown(e));\r\n return () => keyboard.off(id)\r\n }\r\n return\r\n }\r\n resizeEffect() {\r\n var namespace = \"\".concat(this.props.name, \"VisibilityChange\");\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resize.on(this.widgetElementRef.current, onDimensionChanged, {\r\n namespace: namespace\r\n });\r\n return () => resize.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n windowResizeEffect() {\r\n var {\r\n onDimensionChanged: onDimensionChanged\r\n } = this.props;\r\n if (onDimensionChanged) {\r\n resizeCallbacks.add(onDimensionChanged);\r\n return () => {\r\n resizeCallbacks.remove(onDimensionChanged)\r\n }\r\n }\r\n return\r\n }\r\n visibilityEffect() {\r\n var {\r\n name: name,\r\n onVisibilityChange: onVisibilityChange\r\n } = this.props;\r\n var namespace = \"\".concat(name, \"VisibilityChange\");\r\n if (onVisibilityChange) {\r\n visibility.on(this.widgetElementRef.current, () => onVisibilityChange(true), () => onVisibilityChange(false), {\r\n namespace: namespace\r\n });\r\n return () => visibility.off(this.widgetElementRef.current, {\r\n namespace: namespace\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n if (isFunction(width)) {\r\n errors.log(\"W0017\", \"width\")\r\n }\r\n if (isFunction(height)) {\r\n errors.log(\"W0017\", \"height\")\r\n }\r\n }\r\n applyCssTextEffect() {\r\n var {\r\n cssText: cssText\r\n } = this.props;\r\n if (\"\" !== cssText) {\r\n this.widgetElementRef.current.style.cssText = cssText\r\n }\r\n }\r\n get shouldRenderConfigProvider() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabledDefinition(rtlEnabled, this.config)\r\n }\r\n get rtlEnabled() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.props;\r\n return resolveRtlEnabled(rtlEnabled, this.config)\r\n }\r\n get attributes() {\r\n var {\r\n aria: aria,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n visible: visible\r\n } = this.props;\r\n var accessKey = focusStateEnabled && !disabled && this.props.accessKey;\r\n return _extends({}, extend({}, accessKey && {\r\n accessKey: accessKey\r\n }), getAria(_extends({}, aria, {\r\n disabled: disabled,\r\n hidden: !visible\r\n })), extend({}, this.restAttributes))\r\n }\r\n get styles() {\r\n var {\r\n height: height,\r\n width: width\r\n } = this.props;\r\n var style = this.restAttributes.style || {};\r\n var computedWidth = normalizeStyleProp(\"width\", isFunction(width) ? width() : width);\r\n var computedHeight = normalizeStyleProp(\"height\", isFunction(height) ? height() : height);\r\n return _extends({}, style, {\r\n height: null !== computedHeight && void 0 !== computedHeight ? computedHeight : style.height,\r\n width: null !== computedWidth && void 0 !== computedWidth ? computedWidth : style.width\r\n })\r\n }\r\n get cssClasses() {\r\n var {\r\n activeStateEnabled: activeStateEnabled,\r\n addWidgetClass: addWidgetClass,\r\n className: className,\r\n classes: classes,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onVisibilityChange: onVisibilityChange,\r\n visible: visible\r\n } = this.props;\r\n var isFocusable = !!focusStateEnabled && !disabled;\r\n var isHoverable = !!hoverStateEnabled && !disabled;\r\n var canBeActive = !!activeStateEnabled && !disabled;\r\n var classesMap = {\r\n \"dx-widget\": !!addWidgetClass,\r\n [String(classes)]: !!classes,\r\n [String(className)]: !!className,\r\n \"dx-state-disabled\": !!disabled,\r\n \"dx-state-invisible\": !visible,\r\n \"dx-state-focused\": !!this.state.focused && isFocusable,\r\n \"dx-state-active\": !!this.state.active && canBeActive,\r\n \"dx-state-hover\": !!this.state.hovered && isHoverable && !this.state.active,\r\n \"dx-rtl\": !!this.rtlEnabled,\r\n \"dx-visibility-change-handler\": !!onVisibilityChange\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get tabIndex() {\r\n var {\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n tabIndex: tabIndex\r\n } = this.props;\r\n var isFocusable = focusStateEnabled && !disabled;\r\n return isFocusable ? tabIndex : void 0\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n focus.trigger(this.widgetElementRef.current)\r\n }\r\n blur() {\r\n var activeElement = domAdapter.getActiveElement(this.widgetElementRef.current);\r\n if (this.widgetElementRef.current === activeElement) {\r\n activeElement.blur()\r\n }\r\n }\r\n activate() {\r\n this.setState(__state_argument => ({\r\n active: true\r\n }))\r\n }\r\n deactivate() {\r\n this.setState(__state_argument => ({\r\n active: false\r\n }))\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n active: this.state.active,\r\n focused: this.state.focused,\r\n hovered: this.state.hovered,\r\n widgetElementRef: this.widgetElementRef,\r\n config: this.config,\r\n shouldRenderConfigProvider: this.shouldRenderConfigProvider,\r\n rtlEnabled: this.rtlEnabled,\r\n attributes: this.attributes,\r\n styles: this.styles,\r\n cssClasses: this.cssClasses,\r\n tabIndex: this.tabIndex,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nWidget.defaultProps = WidgetProps;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/resolve_rtl.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport globalConfig from \"../../core/config\";\r\nexport function resolveRtlEnabled(rtlProp, config) {\r\n if (void 0 !== rtlProp) {\r\n return rtlProp\r\n }\r\n if (void 0 !== (null === config || void 0 === config ? void 0 : config.rtlEnabled)) {\r\n return config.rtlEnabled\r\n }\r\n return globalConfig().rtlEnabled\r\n}\r\nexport function resolveRtlEnabledDefinition(rtlProp, config) {\r\n var isPropDefined = isDefined(rtlProp);\r\n var onlyGlobalDefined = isDefined(globalConfig().rtlEnabled) && !isPropDefined && !isDefined(null === config || void 0 === config ? void 0 : config.rtlEnabled);\r\n return isPropDefined && rtlProp !== (null === config || void 0 === config ? void 0 : config.rtlEnabled) || onlyGlobalDefined\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/overlays/validation_message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"boundary\", \"className\", \"contentId\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"mode\", \"offset\", \"onClick\", \"onKeyDown\", \"positionSide\", \"rtlEnabled\", \"tabIndex\", \"target\", \"validationErrors\", \"visible\", \"visualContainer\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyValidationMessage from \"../../../ui/validation_message\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../common/base_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyValidationMessage,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var ValidationMessageProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n mode: \"auto\",\r\n positionSide: \"top\",\r\n offset: Object.freeze({\r\n h: 0,\r\n v: 0\r\n }),\r\n isReactComponentWrapper: true\r\n})));\r\nexport class ValidationMessage extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get componentProps() {\r\n return this.props\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nValidationMessage.defaultProps = ValidationMessageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"children\", \"className\", \"classes\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport {\r\n Widget,\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"../../common/base_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n ValidationMessage\r\n} from \"../../overlays/validation_message\";\r\nvar getCssClasses = model => {\r\n var {\r\n classes: classes,\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = model;\r\n var classesMap = {\r\n \"dx-state-readonly\": !!readOnly,\r\n \"dx-invalid\": !isValid,\r\n [\"\".concat(classes)]: !!classes\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n isValidationMessageVisible: isValidationMessageVisible,\r\n onFocusIn: onFocusIn,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n children: children,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes,\r\n rootElementRef: rootElementRef,\r\n validationErrors: validationErrors,\r\n validationMessageGuid: validationMessageGuid,\r\n validationMessageTarget: validationMessageTarget,\r\n widgetRef: widgetRef\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: rootElementRef,\r\n aria: aria,\r\n classes: classes,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n accessKey: accessKey,\r\n className: className,\r\n rtlEnabled: rtlEnabled,\r\n hint: hint,\r\n disabled: disabled,\r\n height: height,\r\n width: width,\r\n onFocusIn: onFocusIn,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n tabIndex: tabIndex,\r\n visible: visible\r\n }, restAttributes, {\r\n children: createFragment([children, isValidationMessageVisible && createComponentVNode(2, ValidationMessage, {\r\n validationErrors: validationErrors,\r\n mode: validationMessageMode,\r\n positionSide: validationMessagePosition,\r\n rtlEnabled: rtlEnabled,\r\n target: validationMessageTarget,\r\n boundary: validationMessageTarget,\r\n visualContainer: validationMessageTarget,\r\n contentId: validationMessageGuid\r\n })], 0)\r\n }), null, widgetRef))\r\n};\r\nexport var EditorProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n readOnly: false,\r\n name: \"\",\r\n validationError: null,\r\n validationErrors: null,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationStatus: \"valid\",\r\n isValid: true,\r\n inputAttr: Object.freeze({}),\r\n defaultValue: null,\r\n valueChange: () => {}\r\n})));\r\nexport var EditorPropsType = {\r\n get readOnly() {\r\n return EditorProps.readOnly\r\n },\r\n get name() {\r\n return EditorProps.name\r\n },\r\n get validationError() {\r\n return EditorProps.validationError\r\n },\r\n get validationErrors() {\r\n return EditorProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return EditorProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return EditorProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return EditorProps.validationStatus\r\n },\r\n get isValid() {\r\n return EditorProps.isValid\r\n },\r\n get inputAttr() {\r\n return EditorProps.inputAttr\r\n },\r\n get defaultValue() {\r\n return EditorProps.defaultValue\r\n },\r\n get valueChange() {\r\n return EditorProps.valueChange\r\n },\r\n get className() {\r\n return EditorProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return EditorProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return EditorProps.tabIndex\r\n },\r\n get visible() {\r\n return EditorProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n },\r\n get classes() {\r\n return WidgetProps.classes\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class Editor extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.widgetRef = infernoCreateRef();\r\n this.rootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.state = {\r\n validationMessageGuid: \"dx-\".concat(new Guid),\r\n isValidationMessageVisible: false,\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.updateValidationMessageVisibility = this.updateValidationMessageVisibility.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onFocusIn = this.onFocusIn.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateValidationMessageVisibility, [this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isValid, this.props.validationStatus, this.props.validationError, this.props.validationErrors])\r\n }\r\n updateValidationMessageVisibility() {\r\n this.setState(__state_argument => ({\r\n isValidationMessageVisible: this.shouldShowValidationMessage\r\n }))\r\n }\r\n onFocusIn(event) {\r\n var {\r\n onFocusIn: onFocusIn\r\n } = this.props;\r\n null === onFocusIn || void 0 === onFocusIn ? void 0 : onFocusIn(event)\r\n }\r\n get cssClasses() {\r\n return \"\".concat(getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })))\r\n }\r\n get shouldShowValidationMessage() {\r\n var _this$validationError;\r\n var {\r\n isValid: isValid,\r\n validationStatus: validationStatus\r\n } = this.props;\r\n var validationErrors = null !== (_this$validationError = this.validationErrors) && void 0 !== _this$validationError ? _this$validationError : [];\r\n var isEditorValid = isValid && \"invalid\" !== validationStatus;\r\n return !isEditorValid && validationErrors.length > 0\r\n }\r\n get aria() {\r\n var {\r\n isValid: isValid,\r\n readOnly: readOnly\r\n } = this.props;\r\n var result = {\r\n readonly: readOnly ? \"true\" : \"false\",\r\n invalid: !isValid ? \"true\" : \"false\"\r\n };\r\n if (this.shouldShowValidationMessage) {\r\n result.describedBy = this.state.validationMessageGuid\r\n }\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get validationErrors() {\r\n if (void 0 !== this.__getterCache.validationErrors) {\r\n return this.__getterCache.validationErrors\r\n }\r\n return this.__getterCache.validationErrors = (() => {\r\n var {\r\n validationError: validationError,\r\n validationErrors: validationErrors\r\n } = this.props;\r\n var allValidationErrors = validationErrors && [...validationErrors];\r\n if (!allValidationErrors && validationError) {\r\n allValidationErrors = [_extends({}, validationError)]\r\n }\r\n return allValidationErrors\r\n })()\r\n }\r\n get validationMessageTarget() {\r\n var _this$rootElementRef;\r\n return null === (_this$rootElementRef = this.rootElementRef) || void 0 === _this$rootElementRef ? void 0 : _this$rootElementRef.current\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n blur() {\r\n this.widgetRef.current.blur()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.validationError !== nextProps.validationError || this.props.validationErrors !== nextProps.validationErrors) {\r\n this.__getterCache.validationErrors = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n validationMessageGuid: this.state.validationMessageGuid,\r\n isValidationMessageVisible: this.state.isValidationMessageVisible,\r\n rootElementRef: this.rootElementRef,\r\n widgetRef: this.widgetRef,\r\n onFocusIn: this.onFocusIn,\r\n cssClasses: this.cssClasses,\r\n shouldShowValidationMessage: this.shouldShowValidationMessage,\r\n aria: this.aria,\r\n validationErrors: this.validationErrors,\r\n validationMessageTarget: this.validationMessageTarget,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nEditor.defaultProps = EditorPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Editor.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Editor.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/common/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var SCROLL_LINE_HEIGHT = 40;\r\nexport var DIRECTION_VERTICAL = \"vertical\";\r\nexport var DIRECTION_HORIZONTAL = \"horizontal\";\r\nexport var DIRECTION_BOTH = \"both\";\r\nexport var SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nexport var SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nexport var SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nexport var SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nexport var SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nexport var SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nexport var SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nexport var SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nexport var SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nexport var SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"dx-scrollable-scrollbar-active\";\r\nexport var SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nexport var SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nexport var HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nexport var SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport var SCROLLVIEW_TOP_POCKET_CLASS = \"dx-scrollview-top-pocket\";\r\nexport var SCROLLVIEW_PULLDOWN = \"dx-scrollview-pull-down\";\r\nexport var SCROLLVIEW_PULLDOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nexport var SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nexport var SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nexport var SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nexport var SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nexport var SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nexport var PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nexport var SCROLLVIEW_BOTTOM_POCKET_CLASS = \"dx-scrollview-bottom-pocket\";\r\nexport var SCROLLVIEW_REACHBOTTOM_CLASS = \"dx-scrollview-scrollbottom\";\r\nexport var SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = \"dx-scrollview-scrollbottom-indicator\";\r\nexport var SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = \"dx-scrollview-scrollbottom-text\";\r\nexport var TopPocketState = {\r\n STATE_RELEASED: 0,\r\n STATE_READY: 1,\r\n STATE_REFRESHING: 2,\r\n STATE_LOADING: 3,\r\n STATE_TOUCHED: 4,\r\n STATE_PULLED: 5\r\n};\r\nexport var ShowScrollbarMode = {\r\n HOVER: \"onHover\",\r\n ALWAYS: \"always\",\r\n NEVER: \"never\",\r\n SCROLL: \"onScroll\"\r\n};\r\nexport var KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\"\r\n};\r\nexport var VALIDATE_WHEEL_TIMEOUT = 500;\r\nexport var HIDE_SCROLLBAR_TIMEOUT = 500;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_relative_offset.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getRelativeOffset(targetElementClass, sourceElement) {\r\n var offset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var element = sourceElement;\r\n while (null !== (_element = element) && void 0 !== _element && _element.offsetParent && !element.classList.contains(targetElementClass)) {\r\n var _element;\r\n var parentElement = element.offsetParent;\r\n var elementRect = element.getBoundingClientRect();\r\n var parentElementRect = parentElement.getBoundingClientRect();\r\n offset.left += elementRect.left - parentElementRect.left;\r\n offset.top += elementRect.top - parentElementRect.top;\r\n element = element.offsetParent\r\n }\r\n return offset\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/scroll_direction.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DIRECTION_VERTICAL,\r\n DIRECTION_HORIZONTAL,\r\n DIRECTION_BOTH\r\n} from \"../common/consts\";\r\nexport class ScrollDirection {\r\n constructor(direction) {\r\n this.DIRECTION_HORIZONTAL = \"horizontal\";\r\n this.DIRECTION_VERTICAL = \"vertical\";\r\n this.DIRECTION_BOTH = \"both\";\r\n this.direction = null !== direction && void 0 !== direction ? direction : DIRECTION_VERTICAL\r\n }\r\n get isHorizontal() {\r\n return this.direction === DIRECTION_HORIZONTAL || this.direction === DIRECTION_BOTH\r\n }\r\n get isVertical() {\r\n return this.direction === DIRECTION_VERTICAL || this.direction === DIRECTION_BOTH\r\n }\r\n get isBoth() {\r\n return this.direction === DIRECTION_BOTH\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/combine_classes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function combineClasses(classesMap) {\r\n return Object.keys(classesMap).filter(p => classesMap[p]).join(\" \")\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/get_computed_style.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nexport default function getElementComputedStyle(el) {\r\n var _window$getComputedSt;\r\n var window = getWindow();\r\n return el ? null === (_window$getComputedSt = window.getComputedStyle) || void 0 === _window$getComputedSt ? void 0 : _window$getComputedSt.call(window, el) : null\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/utils/subscribe_to_event.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport * as clickEvent from \"../../events/click\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nexport function subscribeToEvent(eventName) {\r\n return (element, handler, eventData, namespace) => {\r\n var event = namespace ? addNamespace(eventName, namespace) : eventName;\r\n if (handler) {\r\n eventsEngine.on(element, event, eventData, handler);\r\n return () => {\r\n eventsEngine.off(element, event, handler)\r\n }\r\n }\r\n return\r\n }\r\n}\r\nexport var subscribeToClickEvent = subscribeToEvent(clickEvent.name);\r\nexport var subscribeToScrollEvent = subscribeToEvent(scrollEvents.scroll);\r\nexport var subscribeToScrollInitEvent = subscribeToEvent(scrollEvents.init);\r\nexport var subscribeToDXScrollStartEvent = subscribeToEvent(scrollEvents.start);\r\nexport var subscribeToDXScrollMoveEvent = subscribeToEvent(scrollEvents.move);\r\nexport var subscribeToDXScrollEndEvent = subscribeToEvent(scrollEvents.end);\r\nexport var subscribeToDXScrollStopEvent = subscribeToEvent(scrollEvents.stop);\r\nexport var subscribeToDXScrollCancelEvent = subscribeToEvent(scrollEvents.cancel);\r\nexport var subscribeToDXPointerDownEvent = subscribeToEvent(pointerEvents.down);\r\nexport var subscribeToDXPointerUpEvent = subscribeToEvent(pointerEvents.up);\r\nexport var subscribeToDXPointerMoveEvent = subscribeToEvent(pointerEvents.move);\r\nexport var subscribeToMouseEnterEvent = subscribeToEvent(\"mouseenter\");\r\nexport var subscribeToMouseLeaveEvent = subscribeToEvent(\"mouseleave\");\r\nexport var subscribeToKeyDownEvent = subscribeToEvent(\"keydown\");\r\nexport var subscribeToDxActiveEvent = subscribeToEvent(\"dxactive\");\r\nexport var subscribeToDxInactiveEvent = subscribeToEvent(\"dxinactive\");\r\nexport var subscribeToDxHoverStartEvent = subscribeToEvent(\"dxhoverstart\");\r\nexport var subscribeToDxHoverEndEvent = subscribeToEvent(\"dxhoverend\");\r\nexport var subscribeToDxFocusInEvent = subscribeToEvent(\"focusin\");\r\nexport var subscribeToDxFocusOutEvent = subscribeToEvent(\"focusout\");\r\n","/**\r\n * DevExtreme (esm/renovation/utils/type_conversion.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function toNumber(attribute) {\r\n return attribute ? Number(attribute.replace(\"px\", \"\")) : 0\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n normalizeStyleProp,\r\n styleProp,\r\n stylePropPrefix,\r\n setStyle\r\n} from \"../core/utils/style\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport CollectionWidgetItem from \"./collection/item\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar BOX_CLASS = \"dx-box\";\r\nvar BOX_FLEX_CLASS = \"dx-box-flex\";\r\nvar BOX_ITEM_CLASS = \"dx-box-item\";\r\nvar BOX_ITEM_DATA_KEY = \"dxBoxItemData\";\r\nvar SHRINK = 1;\r\nvar MINSIZE_MAP = {\r\n row: \"minWidth\",\r\n col: \"minHeight\"\r\n};\r\nvar MAXSIZE_MAP = {\r\n row: \"maxWidth\",\r\n col: \"maxHeight\"\r\n};\r\nvar FLEX_JUSTIFY_CONTENT_MAP = {\r\n start: \"flex-start\",\r\n end: \"flex-end\",\r\n center: \"center\",\r\n \"space-between\": \"space-between\",\r\n \"space-around\": \"space-around\"\r\n};\r\nvar FLEX_ALIGN_ITEMS_MAP = {\r\n start: \"flex-start\",\r\n end: \"flex-end\",\r\n center: \"center\",\r\n stretch: \"stretch\"\r\n};\r\nvar FLEX_DIRECTION_MAP = {\r\n row: \"row\",\r\n col: \"column\"\r\n};\r\nvar setFlexProp = (element, prop, value) => {\r\n value = normalizeStyleProp(prop, value);\r\n element.style[styleProp(prop)] = value;\r\n if (!hasWindow()) {\r\n if (\"\" === value || !isDefined(value)) {\r\n return\r\n }\r\n var cssName = dasherize(prop);\r\n var styleExpr = cssName + \": \" + value + \";\";\r\n setStyle(element, styleExpr, false)\r\n }\r\n};\r\nclass BoxItem extends CollectionWidgetItem {\r\n _renderVisible(value, oldValue) {\r\n super._renderVisible(value);\r\n if (isDefined(oldValue)) {\r\n this._options.fireItemStateChangedAction({\r\n name: \"visible\",\r\n state: value,\r\n oldState: oldValue\r\n })\r\n }\r\n }\r\n}\r\nclass LayoutStrategy {\r\n constructor($element, option) {\r\n this._$element = $element;\r\n this._option = option\r\n }\r\n renderBox() {\r\n this._$element.css({\r\n display: stylePropPrefix(\"flexDirection\") + \"flex\"\r\n });\r\n setFlexProp(this._$element.get(0), \"flexDirection\", FLEX_DIRECTION_MAP[this._option(\"direction\")])\r\n }\r\n renderAlign() {\r\n this._$element.css({\r\n justifyContent: this._normalizedAlign()\r\n })\r\n }\r\n _normalizedAlign() {\r\n var align = this._option(\"align\");\r\n return align in FLEX_JUSTIFY_CONTENT_MAP ? FLEX_JUSTIFY_CONTENT_MAP[align] : align\r\n }\r\n renderCrossAlign() {\r\n this._$element.css({\r\n alignItems: this._normalizedCrossAlign()\r\n })\r\n }\r\n _normalizedCrossAlign() {\r\n var crossAlign = this._option(\"crossAlign\");\r\n return crossAlign in FLEX_ALIGN_ITEMS_MAP ? FLEX_ALIGN_ITEMS_MAP[crossAlign] : crossAlign\r\n }\r\n renderItems($items) {\r\n var flexPropPrefix = stylePropPrefix(\"flexDirection\");\r\n var direction = this._option(\"direction\");\r\n each($items, (function() {\r\n var $item = $(this);\r\n var item = $item.data(BOX_ITEM_DATA_KEY);\r\n $item.css({\r\n display: flexPropPrefix + \"flex\"\r\n }).css(MAXSIZE_MAP[direction], item.maxSize || \"none\").css(MINSIZE_MAP[direction], item.minSize || \"0\");\r\n setFlexProp($item.get(0), \"flexBasis\", item.baseSize || 0);\r\n setFlexProp($item.get(0), \"flexGrow\", item.ratio);\r\n setFlexProp($item.get(0), \"flexShrink\", isDefined(item.shrink) ? item.shrink : SHRINK);\r\n $item.children().each((_, itemContent) => {\r\n $(itemContent).css({\r\n width: \"auto\",\r\n height: \"auto\",\r\n display: stylePropPrefix(\"flexDirection\") + \"flex\",\r\n flexBasis: 0\r\n });\r\n setFlexProp(itemContent, \"flexGrow\", 1);\r\n setFlexProp(itemContent, \"flexDirection\", $(itemContent)[0].style.flexDirection || \"column\")\r\n })\r\n }))\r\n }\r\n}\r\nclass Box extends CollectionWidget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n direction: \"row\",\r\n align: \"start\",\r\n crossAlign: \"stretch\",\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n onItemStateChanged: void 0,\r\n _queue: void 0\r\n })\r\n }\r\n _itemClass() {\r\n return BOX_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return BOX_ITEM_DATA_KEY\r\n }\r\n _itemElements() {\r\n return this._itemContainer().children(this._itemSelector())\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(BOX_FLEX_CLASS);\r\n this._initLayout();\r\n this._initBoxQueue()\r\n }\r\n _initLayout() {\r\n this._layout = new LayoutStrategy(this.$element(), this.option.bind(this))\r\n }\r\n _initBoxQueue() {\r\n this._queue = this.option(\"_queue\") || []\r\n }\r\n _queueIsNotEmpty() {\r\n return this.option(\"_queue\") ? false : !!this._queue.length\r\n }\r\n _pushItemToQueue($item, config) {\r\n this._queue.push({\r\n $item: $item,\r\n config: config\r\n })\r\n }\r\n _shiftItemFromQueue() {\r\n return this._queue.shift()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(BOX_CLASS);\r\n this._layout.renderBox();\r\n super._initMarkup();\r\n this._renderAlign();\r\n this._renderActions()\r\n }\r\n _renderActions() {\r\n this._onItemStateChanged = this._createActionByOption(\"onItemStateChanged\")\r\n }\r\n _renderAlign() {\r\n this._layout.renderAlign();\r\n this._layout.renderCrossAlign()\r\n }\r\n _renderItems(items) {\r\n super._renderItems(items);\r\n while (this._queueIsNotEmpty()) {\r\n var item = this._shiftItemFromQueue();\r\n this._createComponent(item.$item, Box, extend({\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onItemHold: this.option(\"onItemHold\"),\r\n onItemClick: this.option(\"onItemClick\"),\r\n onItemContextMenu: this.option(\"onItemContextMenu\"),\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _queue: this._queue\r\n }, item.config))\r\n }\r\n this._layout.renderItems(this._itemElements())\r\n }\r\n _renderItemContent(args) {\r\n var $itemNode = args.itemData && args.itemData.node;\r\n if ($itemNode) {\r\n return this._renderItemContentByNode(args, $itemNode)\r\n }\r\n return super._renderItemContent(args)\r\n }\r\n _postprocessRenderItem(args) {\r\n var boxConfig = args.itemData.box;\r\n if (!boxConfig) {\r\n return\r\n }\r\n this._pushItemToQueue(args.itemContent, boxConfig)\r\n }\r\n _createItemByTemplate(itemTemplate, args) {\r\n if (args.itemData.box) {\r\n return itemTemplate.source ? itemTemplate.source() : $()\r\n }\r\n return super._createItemByTemplate(itemTemplate, args)\r\n }\r\n _itemOptionChanged(item, property, value, oldValue) {\r\n if (\"visible\" === property) {\r\n this._onItemStateChanged({\r\n name: property,\r\n state: value,\r\n oldState: false !== oldValue\r\n })\r\n }\r\n super._itemOptionChanged(item, property, value)\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"_queue\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"align\":\r\n this._layout.renderAlign();\r\n break;\r\n case \"crossAlign\":\r\n this._layout.renderCrossAlign();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _itemOptions() {\r\n var options = super._itemOptions();\r\n options.fireItemStateChangedAction = e => {\r\n this._onItemStateChanged(e)\r\n };\r\n return options\r\n }\r\n}\r\nBox.ItemClass = BoxItem;\r\nregisterComponent(\"dxBox\", Box);\r\nexport default Box;\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport ValidationEngine from \"../../ui/validation_engine\";\r\nimport Component from \"./common/component\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nexport default class ButtonWrapper extends Component {\r\n get _validationGroupConfig() {\r\n return ValidationEngine.getGroupConfig(this._findGroup())\r\n }\r\n getDefaultTemplateNames() {\r\n return [\"content\"]\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\", \"enter\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n props.onClick = _ref => {\r\n var {\r\n event: event\r\n } = _ref;\r\n this._clickAction({\r\n event: event,\r\n validationGroup: this._validationGroupConfig\r\n })\r\n };\r\n var iconType = getImageSourceType(props.icon);\r\n if (\"svg\" === iconType) {\r\n props.iconTemplate = this._createTemplateComponent(() => props.icon)\r\n }\r\n return props\r\n }\r\n get _templatesInfo() {\r\n return {\r\n template: \"content\"\r\n }\r\n }\r\n _toggleActiveState(_, value) {\r\n var button = this.viewRef;\r\n value ? button.activate() : button.deactivate()\r\n }\r\n _getSubmitAction() {\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction(_ref2 => {\r\n var {\r\n event: event,\r\n submitInput: submitInput\r\n } = _ref2;\r\n if (needValidate) {\r\n var validationGroup = this._validationGroupConfig;\r\n if (void 0 !== validationGroup && \"\" !== validationGroup) {\r\n var validationResult = validationGroup.validate();\r\n validationStatus = validationResult.status;\r\n if (\"pending\" === validationResult.status) {\r\n needValidate = false;\r\n this.option(\"disabled\", true);\r\n validationResult.complete.then(_ref3 => {\r\n var {\r\n status: status\r\n } = _ref3;\r\n this.option(\"disabled\", false);\r\n validationStatus = status;\r\n \"valid\" === validationStatus && submitInput.click();\r\n needValidate = true\r\n })\r\n }\r\n }\r\n }\r\n \"valid\" !== validationStatus && event.preventDefault();\r\n event.stopPropagation()\r\n })\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._addAction(\"onSubmit\", this._getSubmitAction());\r\n this._clickAction = this._createClickAction()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n var $content = this.$element().find(\".dx-button-content\");\r\n var $template = $content.children().filter(\".dx-template-wrapper\");\r\n var $input = $content.children().filter(\".dx-button-submit-input\");\r\n if ($template.length) {\r\n $template.addClass(\"dx-button-content\");\r\n $template.append($input);\r\n $content.replaceWith($template)\r\n }\r\n }\r\n _patchOptionValues(options) {\r\n return super._patchOptionValues(_extends({}, options, {\r\n templateData: options._templateData\r\n }))\r\n }\r\n _findGroup() {\r\n var $element = this.$element();\r\n var validationGroup = this.option(\"validationGroup\");\r\n return void 0 !== validationGroup && \"\" !== validationGroup ? validationGroup : ValidationEngine.findGroup($element, this._modelByElement($element))\r\n }\r\n _createClickAction() {\r\n return this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"]\r\n })\r\n }\r\n _optionChanged(option) {\r\n switch (option.name) {\r\n case \"onClick\":\r\n this._clickAction = this._createClickAction()\r\n }\r\n super._optionChanged(option)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/icon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"iconTemplate\", \"position\", \"source\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../../core/utils/icon\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n iconClassName: iconClassName,\r\n props: {\r\n iconTemplate: IconTemplate,\r\n source: source\r\n },\r\n sourceType: sourceType\r\n } = _ref;\r\n return createFragment([\"dxIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"fontIcon\" === sourceType && createVNode(1, \"i\", iconClassName), \"image\" === sourceType && createVNode(1, \"img\", iconClassName, null, 1, {\r\n alt: \"\",\r\n src: source\r\n }), IconTemplate && createVNode(1, \"i\", iconClassName, IconTemplate({}), 0)], 0)\r\n};\r\nexport var IconProps = {\r\n position: \"left\",\r\n source: \"\"\r\n};\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Icon extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get sourceType() {\r\n return getImageSourceType(this.props.source)\r\n }\r\n get cssClass() {\r\n return \"left\" !== this.props.position ? \"dx-icon-right\" : \"\"\r\n }\r\n get iconClassName() {\r\n var generalClasses = {\r\n \"dx-icon\": true,\r\n [this.cssClass]: !!this.cssClass\r\n };\r\n var {\r\n source: source\r\n } = this.props;\r\n if (\"dxIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [\"dx-icon-\".concat(source)]: true\r\n }))\r\n }\r\n if (\"fontIcon\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n [String(source)]: !!source\r\n }))\r\n }\r\n if (\"image\" === this.sourceType) {\r\n return combineClasses(generalClasses)\r\n }\r\n if (\"svg\" === this.sourceType) {\r\n return combineClasses(_extends({}, generalClasses, {\r\n \"dx-svg-icon\": true\r\n }))\r\n }\r\n return \"\"\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n sourceType: this.sourceType,\r\n cssClass: this.cssClass,\r\n iconClassName: this.iconClassName,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nIcon.defaultProps = IconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/ink_ripple.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"config\"];\r\nimport {\r\n createVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n initConfig,\r\n showWave,\r\n hideWave\r\n} from \"../../../ui/widget/utils.ink_ripple\";\r\nexport var viewFunction = model => normalizeProps(createVNode(1, \"div\", \"dx-inkripple\", null, 1, _extends({}, model.restAttributes)));\r\nexport var InkRippleProps = {\r\n config: Object.freeze({})\r\n};\r\nexport class InkRipple extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.hideWave = this.hideWave.bind(this);\r\n this.showWave = this.showWave.bind(this)\r\n }\r\n get getConfig() {\r\n if (void 0 !== this.__getterCache.getConfig) {\r\n return this.__getterCache.getConfig\r\n }\r\n return this.__getterCache.getConfig = (() => {\r\n var {\r\n config: config\r\n } = this.props;\r\n return initConfig(config)\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n hideWave(opts) {\r\n hideWave(this.getConfig, opts)\r\n }\r\n showWave(opts) {\r\n showWave(this.getConfig, opts)\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.config !== nextProps.config) {\r\n this.__getterCache.getConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n getConfig: this.getConfig,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInkRipple.defaultProps = InkRippleProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"children\", \"className\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"iconTemplate\", \"onClick\", \"onKeyDown\", \"onSubmit\", \"pressed\", \"rtlEnabled\", \"stylingMode\", \"tabIndex\", \"template\", \"templateData\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createDefaultOptionRules,\r\n convertRulesToOptions\r\n} from \"../../core/options/utils\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../ui/themes\";\r\nimport {\r\n click\r\n} from \"../../events/short\";\r\nimport {\r\n combineClasses\r\n} from \"../utils/combine_classes\";\r\nimport {\r\n getImageSourceType\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n Icon\r\n} from \"./common/icon\";\r\nimport errors from \"../../core/errors\";\r\nimport {\r\n InkRipple\r\n} from \"./common/ink_ripple\";\r\nimport {\r\n Widget\r\n} from \"./common/widget\";\r\nimport {\r\n BaseWidgetProps\r\n} from \"./common/base_props\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar stylingModes = [\"outlined\", \"text\", \"contained\"];\r\nvar getCssClasses = model => {\r\n var {\r\n icon: icon,\r\n iconPosition: iconPosition,\r\n stylingMode: stylingMode,\r\n text: text,\r\n type: type\r\n } = model;\r\n var isValidStylingMode = stylingMode && stylingModes.includes(stylingMode);\r\n var classesMap = {\r\n \"dx-button\": true,\r\n [\"dx-button-mode-\".concat(isValidStylingMode ? stylingMode : \"contained\")]: true,\r\n [\"dx-button-\".concat(null !== type && void 0 !== type ? type : \"normal\")]: true,\r\n \"dx-button-has-text\": !!text,\r\n \"dx-button-has-icon\": !!icon,\r\n \"dx-button-icon-right\": \"left\" !== iconPosition\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n children: children,\r\n iconPosition: iconPosition,\r\n iconTemplate: IconTemplate,\r\n template: ButtonTemplate,\r\n text: text\r\n } = viewModel.props;\r\n var renderText = !viewModel.props.template && !children && \"\" !== text;\r\n var isIconLeft = \"left\" === iconPosition;\r\n var iconComponent = !viewModel.props.template && !children && (viewModel.iconSource || viewModel.props.iconTemplate) && createComponentVNode(2, Icon, {\r\n source: viewModel.iconSource,\r\n position: iconPosition,\r\n iconTemplate: IconTemplate\r\n });\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n accessKey: viewModel.props.accessKey,\r\n activeStateEnabled: viewModel.props.activeStateEnabled,\r\n aria: viewModel.aria,\r\n className: viewModel.props.className,\r\n classes: viewModel.cssClasses,\r\n disabled: viewModel.props.disabled,\r\n focusStateEnabled: viewModel.props.focusStateEnabled,\r\n height: viewModel.props.height,\r\n hint: viewModel.props.hint,\r\n hoverStateEnabled: viewModel.props.hoverStateEnabled,\r\n onActive: viewModel.onActive,\r\n onClick: viewModel.onWidgetClick,\r\n onInactive: viewModel.onInactive,\r\n onKeyDown: viewModel.keyDown,\r\n rtlEnabled: viewModel.props.rtlEnabled,\r\n tabIndex: viewModel.props.tabIndex,\r\n visible: viewModel.props.visible,\r\n width: viewModel.props.width\r\n }, viewModel.restAttributes, {\r\n children: createVNode(1, \"div\", \"dx-button-content\", [viewModel.props.template && ButtonTemplate({\r\n data: viewModel.buttonTemplateData\r\n }), !viewModel.props.template && children, isIconLeft && iconComponent, renderText && createVNode(1, \"span\", \"dx-button-text\", text, 0), !isIconLeft && iconComponent, viewModel.props.useSubmitBehavior && createVNode(64, \"input\", \"dx-button-submit-input\", null, 1, {\r\n type: \"submit\",\r\n tabIndex: -1\r\n }, null, viewModel.submitInputRef), viewModel.props.useInkRipple && createComponentVNode(2, InkRipple, {\r\n config: viewModel.inkRippleConfig\r\n }, null, viewModel.inkRippleRef)], 0, null, null, viewModel.contentRef)\r\n }), null, viewModel.widgetRef))\r\n};\r\nexport var ButtonProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BaseWidgetProps), Object.getOwnPropertyDescriptors({\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n icon: \"\",\r\n iconPosition: \"left\",\r\n stylingMode: \"contained\",\r\n text: \"\",\r\n type: \"normal\",\r\n useInkRipple: false,\r\n useSubmitBehavior: false,\r\n templateData: Object.freeze({})\r\n})));\r\nexport var defaultOptionRules = createDefaultOptionRules([{\r\n device: () => \"desktop\" === devices.real().deviceType && !devices.isSimulator(),\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n}, {\r\n device: () => isMaterial(current()),\r\n options: {\r\n useInkRipple: true\r\n }\r\n}]);\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class Button extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.contentRef = infernoCreateRef();\r\n this.inkRippleRef = infernoCreateRef();\r\n this.submitInputRef = infernoCreateRef();\r\n this.widgetRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.focus = this.focus.bind(this);\r\n this.activate = this.activate.bind(this);\r\n this.deactivate = this.deactivate.bind(this);\r\n this.submitEffect = this.submitEffect.bind(this);\r\n this.checkDeprecation = this.checkDeprecation.bind(this);\r\n this.onActive = this.onActive.bind(this);\r\n this.onInactive = this.onInactive.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.submitEffect, [this.props.onSubmit, this.props.useSubmitBehavior]), new InfernoEffect(this.checkDeprecation, [this.props.type]), createReRenderEffect()]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.onSubmit, this.props.useSubmitBehavior]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.type])\r\n }\r\n submitEffect() {\r\n var {\r\n onSubmit: onSubmit,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n if (useSubmitBehavior && onSubmit) {\r\n click.on(this.submitInputRef.current, event => onSubmit({\r\n event: event,\r\n submitInput: this.submitInputRef.current\r\n }), {\r\n namespace: \"UIFeedback\"\r\n });\r\n return () => click.off(this.submitInputRef.current, {\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n return\r\n }\r\n checkDeprecation() {\r\n var {\r\n type: type\r\n } = this.props;\r\n if (\"back\" === type) {\r\n errors.log(\"W0016\", \"type\", \"back\", \"22.2\", \"Use the 'back' icon instead\")\r\n }\r\n }\r\n onActive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.showWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onInactive(event) {\r\n var {\r\n useInkRipple: useInkRipple\r\n } = this.props;\r\n useInkRipple && this.inkRippleRef.current.hideWave({\r\n element: this.contentRef.current,\r\n event: event\r\n })\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n onClick: onClick,\r\n useSubmitBehavior: useSubmitBehavior\r\n } = this.props;\r\n null === onClick || void 0 === onClick ? void 0 : onClick({\r\n event: event\r\n });\r\n useSubmitBehavior && this.submitInputRef.current.click()\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which || \"enter\" === keyName || \"enter\" === which) {\r\n originalEvent.preventDefault();\r\n this.onWidgetClick(originalEvent)\r\n }\r\n return\r\n }\r\n get aria() {\r\n var {\r\n icon: icon,\r\n text: text\r\n } = this.props;\r\n var label = null !== text && void 0 !== text ? text : \"\";\r\n if (!text && icon) {\r\n var iconSource = getImageSourceType(icon);\r\n switch (iconSource) {\r\n case \"image\":\r\n var isPathToImage = !icon.includes(\"base64\") && /^(?!(?:https?:\\/\\/)|(?:ftp:\\/\\/)|(?:www\\.))[^\\s]+$/.test(icon);\r\n label = isPathToImage ? icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\") : \"\";\r\n break;\r\n case \"dxIcon\":\r\n label = messageLocalization.format(camelize(icon, true)) || icon;\r\n break;\r\n case \"fontIcon\":\r\n label = icon;\r\n break;\r\n case \"svg\":\r\n var _titleRegexp$exec$, _titleRegexp$exec;\r\n var title = null !== (_titleRegexp$exec$ = null === (_titleRegexp$exec = /(.*?)<\\/title>/.exec(icon)) || void 0 === _titleRegexp$exec ? void 0 : _titleRegexp$exec[1]) && void 0 !== _titleRegexp$exec$ ? _titleRegexp$exec$ : \"\";\r\n label = title\r\n }\r\n }\r\n return _extends({\r\n role: \"button\"\r\n }, label ? {\r\n label: label\r\n } : {})\r\n }\r\n get cssClasses() {\r\n return getCssClasses(this.props)\r\n }\r\n get iconSource() {\r\n var {\r\n icon: icon,\r\n type: type\r\n } = this.props;\r\n if (icon || \"back\" === type) {\r\n return (null !== icon && void 0 !== icon ? icon : \"\") || \"back\"\r\n }\r\n return \"\"\r\n }\r\n get inkRippleConfig() {\r\n if (void 0 !== this.__getterCache.inkRippleConfig) {\r\n return this.__getterCache.inkRippleConfig\r\n }\r\n return this.__getterCache.inkRippleConfig = (() => {\r\n var {\r\n icon: icon,\r\n text: text,\r\n type: type\r\n } = this.props;\r\n return !text && icon || \"back\" === type ? {\r\n isCentered: true,\r\n useHoldAnimation: false,\r\n waveSizeCoefficient: 1\r\n } : {}\r\n })()\r\n }\r\n get buttonTemplateData() {\r\n var {\r\n icon: icon,\r\n templateData: templateData,\r\n text: text\r\n } = this.props;\r\n return _extends({\r\n icon: icon,\r\n text: text\r\n }, templateData)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.widgetRef.current.focus()\r\n }\r\n activate() {\r\n this.widgetRef.current.activate()\r\n }\r\n deactivate() {\r\n this.widgetRef.current.deactivate()\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.icon !== nextProps.icon || this.props.text !== nextProps.text || this.props.type !== nextProps.type) {\r\n this.__getterCache.inkRippleConfig = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n template: getTemplate(props.template),\r\n iconTemplate: getTemplate(props.iconTemplate)\r\n }),\r\n contentRef: this.contentRef,\r\n submitInputRef: this.submitInputRef,\r\n inkRippleRef: this.inkRippleRef,\r\n widgetRef: this.widgetRef,\r\n onActive: this.onActive,\r\n onInactive: this.onInactive,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n aria: this.aria,\r\n cssClasses: this.cssClasses,\r\n iconSource: this.iconSource,\r\n inkRippleConfig: this.inkRippleConfig,\r\n buttonTemplateData: this.buttonTemplateData,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nButton.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(ButtonProps), Object.getOwnPropertyDescriptors(_extends({}, convertRulesToOptions(defaultOptionRules)))));\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n Button.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(Button.defaultProps), Object.getOwnPropertyDescriptors(convertRulesToOptions(defaultOptionRules)), Object.getOwnPropertyDescriptors(convertRulesToOptions(__defaultOptionRules))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/button.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport BaseComponent from \"../component_wrapper/button\";\r\nimport {\r\n Button as ButtonComponent,\r\n defaultOptions\r\n} from \"./button\";\r\nexport default class Button extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n activate() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.activate(...arguments)\r\n }\r\n deactivate() {\r\n var _this$viewRef3;\r\n return null === (_this$viewRef3 = this.viewRef) || void 0 === _this$viewRef3 ? void 0 : _this$viewRef3.deactivate(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onClick: {\r\n excludeValidators: [\"readOnly\"]\r\n },\r\n onSubmit: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [],\r\n allowNull: [],\r\n elements: [\"onSubmit\"],\r\n templates: [\"template\", \"iconTemplate\"],\r\n props: [\"activeStateEnabled\", \"hoverStateEnabled\", \"icon\", \"iconPosition\", \"onClick\", \"onSubmit\", \"pressed\", \"stylingMode\", \"template\", \"iconTemplate\", \"text\", \"type\", \"useInkRipple\", \"useSubmitBehavior\", \"templateData\", \"className\", \"accessKey\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return ButtonComponent\r\n }\r\n}\r\nregisterComponent(\"dxButton\", Button);\r\nButton.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/button.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport Component from \"../common/component\";\r\nimport ValidationEngine from \"../../../ui/validation_engine\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../../core/element_data\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport OldEditor from \"../../../ui/editor/editor\";\r\nimport {\r\n querySelectorInSameDocument\r\n} from \"../../utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nexport default class Editor extends Component {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onFocusIn = () => {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (isValidationMessageShownOnFocus) {\r\n var $validationMessageWrapper = $(querySelectorInSameDocument(this.element(), \".dx-invalid-message.dx-overlay-wrapper\"));\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n this.showValidationMessageTimeout = setTimeout(() => {\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }, 150)\r\n }\r\n };\r\n props.saveValueChangeEvent = e => {\r\n this._valueChangeEventInstance = e\r\n };\r\n return props\r\n }\r\n _createElement(element) {\r\n super._createElement(element);\r\n this.showValidationMessageTimeout = void 0;\r\n this.validationRequest = Callbacks();\r\n data(this.$element()[0], VALIDATION_TARGET, this)\r\n }\r\n _render() {\r\n var _this$option;\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n }\r\n _initializeComponent() {\r\n super._initializeComponent();\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n _initOptions(options) {\r\n super._initOptions(options);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n }\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var innerWidgetOptions = extend({}, innerWidget.option());\r\n var syncOptions = () => this._silent(optionsContainer, innerWidgetOptions);\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n }\r\n _raiseValidation(value, previousValue) {\r\n var areValuesEmpty = !isDefined(value) && !isDefined(previousValue);\r\n if (value !== previousValue && !areValuesEmpty) {\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n }\r\n }\r\n _raiseValueChangeAction(value, previousValue) {\r\n var _this$_valueChangeAct;\r\n null === (_this$_valueChangeAct = this._valueChangeAction) || void 0 === _this$_valueChangeAct ? void 0 : _this$_valueChangeAct.call(this, {\r\n element: this.$element(),\r\n previousValue: previousValue,\r\n value: value,\r\n event: this._valueChangeEventInstance\r\n });\r\n this._valueChangeEventInstance = void 0\r\n }\r\n _optionChanged(option) {\r\n var {\r\n name: name,\r\n previousValue: previousValue,\r\n value: value\r\n } = option;\r\n if (name && void 0 !== this._getActionConfigs()[name]) {\r\n this._addAction(name)\r\n }\r\n switch (name) {\r\n case \"value\":\r\n this._raiseValidation(value, previousValue);\r\n this._raiseValueChangeAction(value, previousValue);\r\n break;\r\n case \"onValueChanged\":\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(option, this.option()))\r\n }\r\n super._optionChanged(option)\r\n }\r\n reset() {\r\n var {\r\n value: value\r\n } = this._getDefaultOptions();\r\n this.option({\r\n value: value\r\n })\r\n }\r\n _dispose() {\r\n super._dispose();\r\n data(this.element(), VALIDATION_TARGET, null);\r\n if (this.showValidationMessageTimeout) {\r\n clearTimeout(this.showValidationMessageTimeout)\r\n }\r\n }\r\n}\r\nvar prevIsEditor = OldEditor.isEditor;\r\nvar newIsEditor = instance => prevIsEditor(instance) || instance instanceof Editor;\r\nEditor.isEditor = newIsEditor;\r\nOldEditor.isEditor = newIsEditor;\r\n","/**\r\n * DevExtreme (esm/renovation/utils/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function querySelectorInSameDocument(el, selector) {\r\n var _el$getRootNode, _el$getRootNode2;\r\n var root = null !== (_el$getRootNode = null === (_el$getRootNode2 = el.getRootNode) || void 0 === _el$getRootNode2 ? void 0 : _el$getRootNode2.call(el)) && void 0 !== _el$getRootNode ? _el$getRootNode : document;\r\n return root.querySelector(selector)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/editors/check_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Editor from \"./editor\";\r\nexport default class CheckBox extends Editor {\r\n _useTemplates() {\r\n return false\r\n }\r\n _isFocused() {\r\n var focusTarget = this.$element()[0];\r\n return focusTarget.classList.contains(\"dx-state-focused\")\r\n }\r\n getSupportedKeyNames() {\r\n return [\"space\"]\r\n }\r\n getProps() {\r\n var props = super.getProps();\r\n if (null !== props.value) {\r\n props.value = Boolean(props.value)\r\n }\r\n return props\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n isCompact,\r\n current\r\n} from \"../../../../ui/themes\";\r\nvar defaultIconSizes = [\r\n [22, 16],\r\n [18, 16]\r\n];\r\nvar defaultFontSizes = [\r\n [\r\n [12, 8],\r\n [20, 18]\r\n ],\r\n [\r\n [16, 10],\r\n [16, 14]\r\n ]\r\n];\r\n\r\nfunction getThemeType() {\r\n var theme = current();\r\n return {\r\n isMaterialTheme: isMaterial(theme),\r\n isCompactTheme: isCompact(theme)\r\n }\r\n}\r\n\r\nfunction getDefaultIconSize() {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultIconSizes[+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getDefaultFontSize(isChecked) {\r\n var {\r\n isCompactTheme: isCompactTheme,\r\n isMaterialTheme: isMaterialTheme\r\n } = getThemeType();\r\n return defaultFontSizes[+isChecked][+isMaterialTheme][+isCompactTheme]\r\n}\r\n\r\nfunction getFontSizeByIconSize(iconSize, isChecked) {\r\n var defaultFontSize = getDefaultFontSize(isChecked);\r\n var defaultIconSize = getDefaultIconSize();\r\n var fontToIconSizeRatio = defaultFontSize / defaultIconSize;\r\n return Math.ceil(fontToIconSizeRatio * iconSize)\r\n}\r\nexport {\r\n getDefaultFontSize,\r\n getDefaultIconSize,\r\n getFontSizeByIconSize\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box_icon.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isChecked\", \"size\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n normalizeStyleProp\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isNumeric as isNumber\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getFontSizeByIconSize\r\n} from \"./utils\";\r\nexport var viewFunction = viewModel => {\r\n var {\r\n cssStyles: cssStyles,\r\n elementRef: elementRef\r\n } = viewModel;\r\n return createVNode(1, \"span\", \"dx-checkbox-icon\", null, 1, {\r\n style: normalizeStyles(cssStyles)\r\n }, null, elementRef)\r\n};\r\nexport var CheckBoxIconProps = {\r\n isChecked: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBoxIcon extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.elementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.updateFontSize = this.updateFontSize.bind(this);\r\n this.setIconFontSize = this.setIconFontSize.bind(this);\r\n this.getIconSize = this.getIconSize.bind(this);\r\n this.getComputedIconSize = this.getComputedIconSize.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateFontSize, [this.props.isChecked, this.props.size])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props.isChecked, this.props.size])\r\n }\r\n updateFontSize() {\r\n var {\r\n isChecked: isChecked,\r\n size: size\r\n } = this.props;\r\n if (hasWindow() && size) {\r\n var newIconSize = this.getIconSize(size);\r\n var newFontSize = getFontSizeByIconSize(newIconSize, isChecked);\r\n this.setIconFontSize(newFontSize)\r\n }\r\n }\r\n setIconFontSize(fontSize) {\r\n var element = this.elementRef.current;\r\n element.style.fontSize = \"\".concat(fontSize, \"px\")\r\n }\r\n getIconSize(size) {\r\n if (isNumber(size)) {\r\n return size\r\n }\r\n if (size.endsWith(\"px\")) {\r\n return parseInt(size, 10)\r\n }\r\n return this.getComputedIconSize()\r\n }\r\n getComputedIconSize() {\r\n var element = this.elementRef.current;\r\n var iconComputedStyle = getElementComputedStyle(element);\r\n var computedIconSize = parseInt(null === iconComputedStyle || void 0 === iconComputedStyle ? void 0 : iconComputedStyle.width, 10);\r\n return computedIconSize\r\n }\r\n get cssStyles() {\r\n if (void 0 !== this.__getterCache.cssStyles) {\r\n return this.__getterCache.cssStyles\r\n }\r\n return this.__getterCache.cssStyles = (() => {\r\n var {\r\n size: size\r\n } = this.props;\r\n var width = normalizeStyleProp(\"width\", size);\r\n var height = normalizeStyleProp(\"height\", size);\r\n return {\r\n height: height,\r\n width: width\r\n }\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.size !== nextProps.size) {\r\n this.__getterCache.cssStyles = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n elementRef: this.elementRef,\r\n setIconFontSize: this.setIconFontSize,\r\n getIconSize: this.getIconSize,\r\n getComputedIconSize: this.getComputedIconSize,\r\n cssStyles: this.cssStyles,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nCheckBoxIcon.defaultProps = CheckBoxIconProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"aria\", \"className\", \"defaultValue\", \"disabled\", \"enableThreeStateBehavior\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"iconSize\", \"inputAttr\", \"isValid\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"saveValueChangeEvent\", \"tabIndex\", \"text\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n Editor,\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n CheckBoxIcon\r\n} from \"./check_box_icon\";\r\nimport {\r\n WidgetProps\r\n} from \"../../common/widget\";\r\nvar getCssClasses = model => {\r\n var {\r\n text: text,\r\n value: value\r\n } = model;\r\n var checked = value;\r\n var indeterminate = null === checked;\r\n var classesMap = {\r\n \"dx-checkbox\": true,\r\n \"dx-checkbox-checked\": true === checked,\r\n \"dx-checkbox-has-text\": !!text,\r\n \"dx-checkbox-indeterminate\": indeterminate\r\n };\r\n return combineClasses(classesMap)\r\n};\r\nexport var viewFunction = viewModel => {\r\n var {\r\n aria: aria,\r\n cssClasses: classes,\r\n editorRef: editorRef,\r\n keyDown: onKeyDown,\r\n onWidgetClick: onClick,\r\n props: {\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n focusStateEnabled: focusStateEnabled,\r\n height: height,\r\n hint: hint,\r\n hoverStateEnabled: hoverStateEnabled,\r\n iconSize: iconSize,\r\n isValid: isValid,\r\n name: name,\r\n onFocusIn: onFocusIn,\r\n readOnly: readOnly,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n text: text,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n value: value,\r\n visible: visible,\r\n width: width\r\n },\r\n restAttributes: restAttributes\r\n } = viewModel;\r\n return normalizeProps(createComponentVNode(2, Editor, _extends({\r\n aria: aria,\r\n classes: classes,\r\n onClick: onClick,\r\n onKeyDown: onKeyDown,\r\n accessKey: accessKey,\r\n activeStateEnabled: activeStateEnabled,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n className: className,\r\n disabled: disabled,\r\n readOnly: readOnly,\r\n hint: hint,\r\n height: height,\r\n width: width,\r\n rtlEnabled: rtlEnabled,\r\n tabIndex: tabIndex,\r\n visible: visible,\r\n validationError: validationError,\r\n validationErrors: validationErrors,\r\n validationMessageMode: validationMessageMode,\r\n validationMessagePosition: validationMessagePosition,\r\n validationStatus: validationStatus,\r\n isValid: isValid,\r\n onFocusIn: onFocusIn\r\n }, restAttributes, {\r\n children: createFragment([normalizeProps(createVNode(64, \"input\", null, null, 1, _extends({\r\n type: \"hidden\",\r\n value: \"\".concat(value)\r\n }, name && {\r\n name: name\r\n }))), createVNode(1, \"div\", \"dx-checkbox-container\", [createComponentVNode(2, CheckBoxIcon, {\r\n size: iconSize,\r\n isChecked: true === value\r\n }), text && createVNode(1, \"span\", \"dx-checkbox-text\", text, 0)], 0)], 4)\r\n }), null, editorRef))\r\n};\r\nexport var CheckBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n text: \"\",\r\n enableThreeStateBehavior: false,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n defaultValue: false,\r\n valueChange: () => {}\r\n})));\r\nexport var CheckBoxPropsType = {\r\n get text() {\r\n return CheckBoxProps.text\r\n },\r\n get enableThreeStateBehavior() {\r\n return CheckBoxProps.enableThreeStateBehavior\r\n },\r\n get activeStateEnabled() {\r\n return CheckBoxProps.activeStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return CheckBoxProps.hoverStateEnabled\r\n },\r\n get focusStateEnabled() {\r\n return CheckBoxProps.focusStateEnabled\r\n },\r\n get defaultValue() {\r\n return CheckBoxProps.defaultValue\r\n },\r\n get valueChange() {\r\n return CheckBoxProps.valueChange\r\n },\r\n get readOnly() {\r\n return CheckBoxProps.readOnly\r\n },\r\n get name() {\r\n return CheckBoxProps.name\r\n },\r\n get validationError() {\r\n return CheckBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return CheckBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return CheckBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return CheckBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return CheckBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return CheckBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return CheckBoxProps.inputAttr\r\n },\r\n get className() {\r\n return CheckBoxProps.className\r\n },\r\n get disabled() {\r\n return CheckBoxProps.disabled\r\n },\r\n get tabIndex() {\r\n return CheckBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return CheckBoxProps.visible\r\n },\r\n get aria() {\r\n return WidgetProps.aria\r\n }\r\n};\r\nimport {\r\n convertRulesToOptions\r\n} from \"../../../../core/options/utils\";\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class CheckBox extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.editorRef = infernoCreateRef();\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n };\r\n this.focus = this.focus.bind(this);\r\n this.blur = this.blur.bind(this);\r\n this.onWidgetClick = this.onWidgetClick.bind(this);\r\n this.keyDown = this.keyDown.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n onWidgetClick(event) {\r\n var {\r\n enableThreeStateBehavior: enableThreeStateBehavior,\r\n readOnly: readOnly,\r\n saveValueChangeEvent: saveValueChangeEvent\r\n } = this.props;\r\n if (!readOnly) {\r\n null === saveValueChangeEvent || void 0 === saveValueChangeEvent ? void 0 : saveValueChangeEvent(event);\r\n if (enableThreeStateBehavior) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = null === (void 0 !== this.props.value ? this.props.value : __state_argument.value) || (!(void 0 !== this.props.value ? this.props.value : __state_argument.value) ? null : false);\r\n return {\r\n value: __newValue\r\n }\r\n });\r\n this.props.valueChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n var _ref;\r\n _newValue = !(null !== (_ref = void 0 !== this.props.value ? this.props.value : __state_argument.value) && void 0 !== _ref ? _ref : false);\r\n return {\r\n value: _newValue\r\n }\r\n });\r\n this.props.valueChange(_newValue)\r\n }\r\n }\r\n }\r\n keyDown(e) {\r\n var {\r\n onKeyDown: onKeyDown\r\n } = this.props;\r\n var {\r\n keyName: keyName,\r\n originalEvent: originalEvent,\r\n which: which\r\n } = e;\r\n var result = null === onKeyDown || void 0 === onKeyDown ? void 0 : onKeyDown(e);\r\n if (null !== result && void 0 !== result && result.cancel) {\r\n return result\r\n }\r\n if (\"space\" === keyName || \"space\" === which) {\r\n originalEvent.preventDefault();\r\n this.onWidgetClick(originalEvent)\r\n }\r\n return\r\n }\r\n get cssClasses() {\r\n return getCssClasses(_extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }))\r\n }\r\n get aria() {\r\n var checked = true === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var indeterminate = null === (void 0 !== this.props.value ? this.props.value : this.state.value);\r\n var result = {\r\n role: \"checkbox\",\r\n checked: indeterminate ? \"mixed\" : \"\".concat(checked)\r\n };\r\n return _extends({}, result, this.props.aria)\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n focus() {\r\n this.editorRef.current.focus()\r\n }\r\n blur() {\r\n this.editorRef.current.blur()\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n editorRef: this.editorRef,\r\n onWidgetClick: this.onWidgetClick,\r\n keyDown: this.keyDown,\r\n cssClasses: this.cssClasses,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\n\r\nfunction __processTwoWayProps(defaultProps) {\r\n var twoWayProps = [\"value\"];\r\n return Object.keys(defaultProps).reduce((props, propName) => {\r\n var propValue = defaultProps[propName];\r\n var defaultPropName = twoWayProps.some(p => p === propName) ? \"default\" + propName.charAt(0).toUpperCase() + propName.slice(1) : propName;\r\n props[defaultPropName] = propValue;\r\n return props\r\n }, {})\r\n}\r\nCheckBox.defaultProps = CheckBoxPropsType;\r\nvar __defaultOptionRules = [];\r\nexport function defaultOptions(rule) {\r\n __defaultOptionRules.push(rule);\r\n CheckBox.defaultProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(CheckBox.defaultProps), Object.getOwnPropertyDescriptors(__processTwoWayProps(convertRulesToOptions(__defaultOptionRules)))))\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/check_box/check_box.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../../core/component_registrator\";\r\nimport BaseComponent from \"../../../component_wrapper/editors/check_box\";\r\nimport {\r\n CheckBox as CheckBoxComponent,\r\n defaultOptions\r\n} from \"./check_box\";\r\nexport default class CheckBox extends BaseComponent {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n focus() {\r\n var _this$viewRef;\r\n return null === (_this$viewRef = this.viewRef) || void 0 === _this$viewRef ? void 0 : _this$viewRef.focus(...arguments)\r\n }\r\n blur() {\r\n var _this$viewRef2;\r\n return null === (_this$viewRef2 = this.viewRef) || void 0 === _this$viewRef2 ? void 0 : _this$viewRef2.blur(...arguments)\r\n }\r\n _getActionConfigs() {\r\n return {\r\n onFocusIn: {},\r\n onClick: {}\r\n }\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"value\", \"defaultValue\", \"valueChange\"]\r\n ],\r\n allowNull: [\"defaultValue\", \"validationError\", \"validationErrors\", \"value\"],\r\n elements: [],\r\n templates: [],\r\n props: [\"text\", \"iconSize\", \"enableThreeStateBehavior\", \"activeStateEnabled\", \"hoverStateEnabled\", \"focusStateEnabled\", \"saveValueChangeEvent\", \"defaultValue\", \"valueChange\", \"readOnly\", \"name\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"isValid\", \"inputAttr\", \"onFocusIn\", \"className\", \"accessKey\", \"disabled\", \"height\", \"hint\", \"onClick\", \"onKeyDown\", \"rtlEnabled\", \"tabIndex\", \"visible\", \"width\", \"aria\", \"value\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return CheckBoxComponent\r\n }\r\n}\r\nregisterComponent(\"dxCheckBox\", CheckBox);\r\nCheckBox.defaultOptions = defaultOptions;\r\n","/**\r\n * DevExtreme (esm/ui/check_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/editors/check_box/check_box.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"../../core/utils/public_component\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar forcibleWatcher = function(watchMethod, fn, callback) {\r\n var filteredCallback = function(value) {\r\n if (oldValue !== value) {\r\n callback(value, oldValue);\r\n oldValue = value\r\n }\r\n };\r\n var oldValue;\r\n return {\r\n dispose: watchMethod(fn, filteredCallback),\r\n force: function() {\r\n filteredCallback(fn())\r\n }\r\n }\r\n};\r\nvar CollectionItem = Class.inherit({\r\n ctor: function($element, options, rawData) {\r\n this._$element = $element;\r\n this._options = options;\r\n this._rawData = rawData;\r\n attachInstanceToElement($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = $(\"<div>\").addClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n this._$element.append($placeholder);\r\n this._watchers = [];\r\n this._renderWatchers()\r\n },\r\n _renderWatchers: function() {\r\n this._startWatcher(\"disabled\", this._renderDisabled.bind(this));\r\n this._startWatcher(\"visible\", this._renderVisible.bind(this))\r\n },\r\n _startWatcher: function(field, render) {\r\n var rawData = this._rawData;\r\n var exprGetter = this._options.fieldGetter(field);\r\n var watcher = forcibleWatcher(this._options.watchMethod(), (function() {\r\n return exprGetter(rawData)\r\n }), function(value, oldValue) {\r\n this._dirty = true;\r\n render(value, oldValue)\r\n }.bind(this));\r\n this._watchers.push(watcher)\r\n },\r\n setDataField: function() {\r\n this._dirty = false;\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.force()\r\n }));\r\n if (this._dirty) {\r\n return true\r\n }\r\n },\r\n _renderDisabled: function(value, oldValue) {\r\n this._$element.toggleClass(DISABLED_STATE_CLASS, !!value);\r\n this._$element.attr(\"aria-disabled\", !!value);\r\n this._updateOwnerFocus(value)\r\n },\r\n _updateOwnerFocus: function(isDisabled) {\r\n var ownerComponent = this._options.owner;\r\n if (ownerComponent && isDisabled) {\r\n ownerComponent._resetItemFocus(this._$element)\r\n }\r\n },\r\n _renderVisible: function(value, oldValue) {\r\n this._$element.toggleClass(INVISIBLE_STATE_CLASS, void 0 !== value && !value)\r\n },\r\n _dispose: function() {\r\n each(this._watchers, (function(_, watcher) {\r\n watcher.dispose()\r\n }))\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return getInstanceByElement($element, this)\r\n};\r\nexport default CollectionItem;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n findTemplates\r\n} from \"../../core/utils/template_manager\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport Action from \"../../core/action\";\r\nimport Guid from \"../../core/guid\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport CollectionWidgetItem from \"./item\";\r\nimport {\r\n focusable\r\n} from \"../widget/selectors\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nvar COLLECTION_CLASS = \"dx-collection\";\r\nvar ITEM_CLASS = \"dx-item\";\r\nvar CONTENT_CLASS_POSTFIX = \"-content\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar ITEM_DATA_KEY = \"dxItemData\";\r\nvar ITEM_INDEX_KEY = \"dxItemIndex\";\r\nvar ITEM_TEMPLATE_ID_PREFIX = \"tmpl-\";\r\nvar ITEMS_OPTIONS_NAME = \"dxItem\";\r\nvar SELECTED_ITEM_CLASS = \"dx-item-selected\";\r\nvar ITEM_RESPONSE_WAIT_CLASS = \"dx-item-response-wait\";\r\nvar EMPTY_COLLECTION = \"dx-empty-collection\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar ITEM_PATH_REGEX = /^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"item\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_PAGE_UP = \"pageup\";\r\nvar FOCUS_PAGE_DOWN = \"pagedown\";\r\nvar FOCUS_LAST = \"last\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar CollectionWidget = Widget.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var move = function(location, e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n }\r\n };\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._enterKeyHandler(e)\r\n },\r\n enter: this._enterKeyHandler,\r\n leftArrow: move.bind(this, FOCUS_LEFT),\r\n rightArrow: move.bind(this, FOCUS_RIGHT),\r\n upArrow: move.bind(this, FOCUS_UP),\r\n downArrow: move.bind(this, FOCUS_DOWN),\r\n pageUp: move.bind(this, FOCUS_UP),\r\n pageDown: move.bind(this, FOCUS_DOWN),\r\n home: move.bind(this, FOCUS_FIRST),\r\n end: move.bind(this, FOCUS_LAST)\r\n })\r\n },\r\n _enterKeyHandler: function(e) {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n var itemData = this._getItemData($itemElement);\r\n if (null !== itemData && void 0 !== itemData && itemData.onClick) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }\r\n this._itemClickHandler(extend({}, e, {\r\n target: $itemElement.get(0),\r\n currentTarget: $itemElement.get(0)\r\n }))\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectOnFocus: false,\r\n loopItemFocus: true,\r\n items: [],\r\n itemTemplate: \"item\",\r\n onItemRendered: null,\r\n onItemClick: null,\r\n onItemHold: null,\r\n itemHoldTimeout: 750,\r\n onItemContextMenu: null,\r\n onFocusedItemChanged: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n dataSource: null,\r\n _dataController: null,\r\n _itemAttributes: {},\r\n itemTemplateProperty: \"template\",\r\n focusOnSelectedItem: true,\r\n focusedElement: null,\r\n displayExpr: void 0,\r\n disabledExpr: function(data) {\r\n return data ? data.disabled : void 0\r\n },\r\n visibleExpr: function(data) {\r\n return data ? data.visible : void 0\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this._compileDisplayGetter();\r\n this._initDataController();\r\n this.callBase();\r\n this._cleanRenderedItems();\r\n this._refreshDataSource()\r\n },\r\n _compileDisplayGetter: function() {\r\n var displayExpr = this.option(\"displayExpr\");\r\n this._displayGetter = displayExpr ? compileGetter(this.option(\"displayExpr\")) : void 0\r\n },\r\n _initTemplates: function() {\r\n this._initItemsFromMarkup();\r\n this._initDefaultItemTemplate();\r\n this.callBase()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initDefaultItemTemplate: function() {\r\n var fieldsMap = this._getFieldsMap();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && isFunction(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String(ensureDefined(data, \"\")))\r\n }\r\n }.bind(this), this._getBindableFields(), this.option(\"integrationOptions.watchMethod\"), fieldsMap)\r\n })\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\"]\r\n },\r\n _getFieldsMap: function() {\r\n if (this._displayGetter) {\r\n return {\r\n text: this._displayGetter\r\n }\r\n }\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n if (isDefined(data.text)) {\r\n $container.text(data.text)\r\n }\r\n if (isDefined(data.html)) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var rawItems = findTemplates(this.$element(), ITEMS_OPTIONS_NAME);\r\n if (!rawItems.length || this.option(\"items\").length) {\r\n return\r\n }\r\n var items = rawItems.map(_ref => {\r\n var {\r\n element: element,\r\n options: options\r\n } = _ref;\r\n var isTemplateRequired = /\\S/.test(element.innerHTML) && !options.template;\r\n if (isTemplateRequired) {\r\n options.template = this._prepareItemTemplate(element)\r\n } else {\r\n $(element).remove()\r\n }\r\n return options\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _prepareItemTemplate: function(item) {\r\n var templateId = ITEM_TEMPLATE_ID_PREFIX + new Guid;\r\n var $template = $(item).detach().clone().removeAttr(\"data-options\").addClass(TEMPLATE_WRAPPER_CLASS);\r\n this._saveTemplate(templateId, $template);\r\n return templateId\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _cleanRenderedItems: function() {\r\n this._renderedItemsCount = 0\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._isFocusTarget(e.target)) {\r\n return\r\n }\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n this._setFocusedItem($focusedElement)\r\n } else {\r\n var $activeItem = this._getActiveItem();\r\n if ($activeItem.length) {\r\n this.option(\"focusedElement\", getPublicElement($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = $(this.option(\"focusedElement\"));\r\n this._updateFocusedItemState($target, false)\r\n },\r\n _findActiveTarget($element) {\r\n return $element.find(this._activeStateUnit)\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n return $focusedElement\r\n }\r\n var index = this.option(\"focusOnSelectedItem\") ? this.option(\"selectedIndex\") : 0;\r\n var activeElements = this._getActiveElement();\r\n var lastIndex = activeElements.length - 1;\r\n if (index < 0) {\r\n index = last ? lastIndex : 0\r\n }\r\n return activeElements.eq(index)\r\n },\r\n _moveFocus: function(location) {\r\n var $items = this._getAvailableItems();\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n $newTarget = this._prevItem($items);\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n $newTarget = this._nextItem($items);\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._prevItem($items) : this._nextItem($items);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._nextItem($items) : this._prevItem($items);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n break;\r\n default:\r\n return false\r\n }\r\n if (0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n },\r\n _getVisibleItems: function($itemElements) {\r\n $itemElements = $itemElements || this._itemElements();\r\n return $itemElements.filter(\":visible\")\r\n },\r\n _getAvailableItems: function($itemElements) {\r\n return this._getVisibleItems($itemElements)\r\n },\r\n _prevItem: function($items) {\r\n var $target = this._getActiveItem();\r\n var targetIndex = $items.index($target);\r\n var $last = $items.last();\r\n var $item = $($items[targetIndex - 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $last\r\n }\r\n return $item\r\n },\r\n _nextItem: function($items) {\r\n var $target = this._getActiveItem(true);\r\n var targetIndex = $items.index($target);\r\n var $first = $items.first();\r\n var $item = $($items[targetIndex + 1]);\r\n var loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $first\r\n }\r\n return $item\r\n },\r\n _selectFocusedItem: function($target) {\r\n this.selectItem($target)\r\n },\r\n _updateFocusedItemState: function(target, isFocused, needCleanItemId) {\r\n var $target = $(target);\r\n if ($target.length) {\r\n this._refreshActiveDescendant();\r\n this._refreshItemId($target, needCleanItemId);\r\n this._toggleFocusClass(isFocused, $target)\r\n }\r\n this._updateParentActiveDescendant()\r\n },\r\n _refreshActiveDescendant: function($target) {\r\n this.setAria(\"activedescendant\", isDefined(this.option(\"focusedElement\")) ? this.getFocusedItemId() : null, $target)\r\n },\r\n _refreshItemId: function($target, needCleanItemId) {\r\n if (!needCleanItemId && this.option(\"focusedElement\")) {\r\n this.setAria(\"id\", this.getFocusedItemId(), $target)\r\n } else {\r\n this.setAria(\"id\", null, $target)\r\n }\r\n },\r\n _isDisabled: $element => $element && \"true\" === $($element).attr(\"aria-disabled\"),\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n this._updateFocusedItemState($target, true);\r\n this.onFocusedItemChanged(this.getFocusedItemId());\r\n var {\r\n selectOnFocus: selectOnFocus\r\n } = this.option();\r\n var isTargetDisabled = this._isDisabled($target);\r\n if (selectOnFocus && !isTargetDisabled) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = $();\r\n var that = this;\r\n this.itemElements().each((function() {\r\n var $item = $(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result = $item;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n _getIndexByItem: function(item) {\r\n return this.option(\"items\").indexOf(item)\r\n },\r\n _itemOptionChanged: function(item, property, value, oldValue) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) {\r\n this._refreshItem($item, item)\r\n }\r\n var isDisabling = \"disabled\" === property && value;\r\n if (isDisabling) {\r\n this._resetItemFocus($item)\r\n }\r\n },\r\n _resetItemFocus($item) {\r\n if ($item.is(this.option(\"focusedElement\"))) {\r\n this.option(\"focusedElement\", null)\r\n }\r\n },\r\n _refreshItem: function($item) {\r\n var itemData = this._getItemData($item);\r\n var index = $item.data(this._itemIndexKey());\r\n this._renderItem(this._renderedItemsCount + index, itemData, null, $item)\r\n },\r\n _updateParentActiveDescendant: noop,\r\n _optionChanged: function(args) {\r\n if (\"items\" === args.name) {\r\n var matches = args.fullName.match(ITEM_PATH_REGEX);\r\n if (matches && matches.length) {\r\n var property = matches[matches.length - 1];\r\n var itemPath = args.fullName.replace(\".\" + property, \"\");\r\n var item = this.option(itemPath);\r\n this._itemOptionChanged(item, property, args.value, args.previousValue);\r\n return\r\n }\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n case \"_itemAttributes\":\r\n case \"itemTemplateProperty\":\r\n case \"useItemTextAsTitle\":\r\n this._cleanRenderedItems();\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._renderEmptyMessage();\r\n break;\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n this._renderEmptyMessage();\r\n break;\r\n case \"itemTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"onItemRendered\":\r\n this._createItemRenderAction();\r\n break;\r\n case \"onItemClick\":\r\n break;\r\n case \"onItemHold\":\r\n case \"itemHoldTimeout\":\r\n this._attachHoldEvent();\r\n break;\r\n case \"onItemContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"onFocusedItemChanged\":\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n break;\r\n case \"selectOnFocus\":\r\n case \"loopItemFocus\":\r\n case \"focusOnSelectedItem\":\r\n break;\r\n case \"focusedElement\":\r\n this._updateFocusedItemState(args.previousValue, false, true);\r\n this._setFocusedItem($(args.value));\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDefaultItemTemplate();\r\n this._invalidate();\r\n break;\r\n case \"visibleExpr\":\r\n case \"disabledExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _invalidate: function() {\r\n this.option(\"focusedElement\", null);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _loadNextPage: function() {\r\n this._expectNextPageLoading();\r\n return this._dataController.loadNextPage()\r\n },\r\n _expectNextPageLoading: function() {\r\n this._startIndexForAppendedItems = 0\r\n },\r\n _expectLastItemLoading: function() {\r\n this._startIndexForAppendedItems = -1\r\n },\r\n _forgetNextPageLoading: function() {\r\n this._startIndexForAppendedItems = null\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && items && this._shouldAppendItems()) {\r\n this._renderedItemsCount = items.length;\r\n if (!this._isLastPage() || -1 !== this._startIndexForAppendedItems) {\r\n this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems))\r\n }\r\n this._forgetNextPageLoading();\r\n this._refreshContent()\r\n } else {\r\n this.option(\"items\", newItems.slice())\r\n }\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n this.option(\"items\", this.option(\"items\"))\r\n },\r\n _shouldAppendItems: function() {\r\n return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend()\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return false\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._cleanItemContainer();\r\n this._inkRipple && delete this._inkRipple;\r\n this._resetActiveState()\r\n },\r\n _cleanItemContainer: function() {\r\n $(this._itemContainer()).empty()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._itemFocusTimeout)\r\n },\r\n _refresh: function() {\r\n this._cleanRenderedItems();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemContainer: function() {\r\n return this.$element()\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemContentClass: function() {\r\n return this._itemClass() + CONTENT_CLASS_POSTFIX\r\n },\r\n _selectedItemClass: function() {\r\n return SELECTED_ITEM_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemSelector: function() {\r\n return \".\" + this._itemClass()\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _itemIndexKey: function() {\r\n return ITEM_INDEX_KEY\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().find(this._itemSelector())\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n this.$element().addClass(COLLECTION_CLASS);\r\n this._prepareContent()\r\n },\r\n _prepareContent: deferRenderer((function() {\r\n this._renderContentImpl()\r\n })),\r\n _renderContent: function() {\r\n this._fireContentReadyAction()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent()\r\n },\r\n _getPointerEvent: () => pointerEvents.down,\r\n _attachClickEvent() {\r\n var itemSelector = this._itemSelector();\r\n var pointerEvent = this._getPointerEvent();\r\n var clickEventNamespace = addNamespace(clickEventName, this.NAME);\r\n var pointerEventNamespace = addNamespace(pointerEvent, this.NAME);\r\n var pointerAction = new Action(args => {\r\n var {\r\n event: event\r\n } = args;\r\n this._itemPointerDownHandler(event)\r\n });\r\n eventsEngine.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n eventsEngine.off(this._itemContainer(), pointerEventNamespace, itemSelector);\r\n eventsEngine.on(this._itemContainer(), clickEventNamespace, itemSelector, e => this._itemClickHandler(e));\r\n eventsEngine.on(this._itemContainer(), pointerEventNamespace, itemSelector, e => {\r\n pointerAction.execute({\r\n element: $(e.target),\r\n event: e\r\n })\r\n })\r\n },\r\n _itemClickHandler: function(e, args, config) {\r\n this._itemDXEventHandler(e, \"onItemClick\", args, config)\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._itemFocusHandler = function() {\r\n clearTimeout(this._itemFocusTimeout);\r\n this._itemFocusHandler = null;\r\n if (e.isDefaultPrevented()) {\r\n return\r\n }\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n var $closestFocusable = this._closestFocusable($target);\r\n if ($closestItem.length && this._isFocusTarget(null === $closestFocusable || void 0 === $closestFocusable ? void 0 : $closestFocusable.get(0))) {\r\n this.option(\"focusedElement\", getPublicElement($closestItem))\r\n }\r\n }.bind(this);\r\n this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))\r\n },\r\n _closestFocusable: function($target) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !domAdapter.isDocument($target.get(0)) && !domAdapter.isDocumentFragment($target.get(0))) {\r\n if ($target.is(focusable)) {\r\n return $target\r\n }\r\n $target = $target.parent()\r\n }\r\n }\r\n },\r\n _forcePointerDownFocus: function() {\r\n this._itemFocusHandler && this._itemFocusHandler()\r\n },\r\n _updateFocusState: function() {\r\n this.callBase.apply(this, arguments);\r\n this._forcePointerDownFocus()\r\n },\r\n _attachHoldEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(holdEvent.name, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, {\r\n timeout: this._getHoldTimeout()\r\n }, this._itemHoldHandler.bind(this))\r\n },\r\n _getHoldTimeout: function() {\r\n return this.option(\"itemHoldTimeout\")\r\n },\r\n _shouldFireHoldEvent: function() {\r\n return this.hasActionSubscription(\"onItemHold\")\r\n },\r\n _itemHoldHandler: function(e) {\r\n if (this._shouldFireHoldEvent()) {\r\n this._itemDXEventHandler(e, \"onItemHold\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _attachContextMenuEvent: function() {\r\n var $itemContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, itemSelector);\r\n eventsEngine.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this))\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.hasActionSubscription(\"onItemContextMenu\")\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n if (this._shouldFireContextMenuEvent()) {\r\n this._itemDXEventHandler(e, \"onItemContextMenu\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n var items = this.option(\"items\") || [];\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (items.length) {\r\n each(items, function(index, itemData) {\r\n this._renderItem(this._renderedItemsCount + index, itemData)\r\n }.bind(this))\r\n }\r\n this._renderEmptyMessage()\r\n },\r\n _renderItem: function(index, itemData, $container, $itemToReplace) {\r\n var _index$item;\r\n var itemIndex = null !== (_index$item = null === index || void 0 === index ? void 0 : index.item) && void 0 !== _index$item ? _index$item : index;\r\n $container = $container || this._itemContainer();\r\n var $itemFrame = this._renderItemFrame(itemIndex, itemData, $container, $itemToReplace);\r\n this._setElementData($itemFrame, itemData, itemIndex);\r\n $itemFrame.attr(this.option(\"_itemAttributes\"));\r\n this._attachItemClickEvent(itemData, $itemFrame);\r\n var $itemContent = this._getItemContent($itemFrame);\r\n var renderContentPromise = this._renderItemContent({\r\n index: itemIndex,\r\n itemData: itemData,\r\n container: getPublicElement($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n when(renderContentPromise).done((function($itemContent) {\r\n that._postprocessRenderItem({\r\n itemElement: $itemFrame,\r\n itemContent: $itemContent,\r\n itemData: itemData,\r\n itemIndex: itemIndex\r\n });\r\n that._executeItemRenderAction(index, itemData, getPublicElement($itemFrame))\r\n }));\r\n return $itemFrame\r\n },\r\n _getItemContent: function($itemFrame) {\r\n var $itemContent = $itemFrame.find(\".\" + ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n $itemContent.removeClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n return $itemContent\r\n },\r\n _attachItemClickEvent: function(itemData, $itemElement) {\r\n if (!itemData || !itemData.onClick) {\r\n return\r\n }\r\n eventsEngine.on($itemElement, clickEventName, function(e) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _renderItemContent: function(args) {\r\n var itemTemplateName = this._getItemTemplateName(args);\r\n var itemTemplate = this._getTemplate(itemTemplateName);\r\n this._addItemContentClasses(args);\r\n var $templateResult = $(this._createItemByTemplate(itemTemplate, args));\r\n if (!$templateResult.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n return args.container\r\n }\r\n return this._renderItemContentByNode(args, $templateResult)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n $(args.container).replaceWith($node);\r\n args.container = getPublicElement($node);\r\n this._addItemContentClasses(args);\r\n return $node\r\n },\r\n _addItemContentClasses: function(args) {\r\n var classes = [ITEM_CLASS + CONTENT_CLASS_POSTFIX, args.contentClass];\r\n $(args.container).addClass(classes.join(\" \"))\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n $itemFrame.appendTo($container)\r\n },\r\n _renderItemFrame: function(index, itemData, $container, $itemToReplace) {\r\n var $itemFrame = $(\"<div>\");\r\n new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {});\r\n if ($itemToReplace && $itemToReplace.length) {\r\n $itemToReplace.replaceWith($itemFrame)\r\n } else {\r\n this._appendItemToContainer.call(this, $container, $itemFrame, index)\r\n }\r\n if (this.option(\"useItemTextAsTitle\")) {\r\n var displayValue = this._displayGetter ? this._displayGetter(itemData) : itemData;\r\n $itemFrame.attr(\"title\", displayValue)\r\n }\r\n return $itemFrame\r\n },\r\n _itemOptions: function() {\r\n var that = this;\r\n return {\r\n watchMethod: function() {\r\n return that.option(\"integrationOptions.watchMethod\")\r\n },\r\n owner: that,\r\n fieldGetter: function(field) {\r\n var expr = that.option(field + \"Expr\");\r\n var getter = compileGetter(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: noop,\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: index,\r\n itemData: itemData\r\n })\r\n },\r\n _setElementData: function(element, data, index) {\r\n element.addClass([ITEM_CLASS, this._itemClass()].join(\" \")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index)\r\n },\r\n _createItemRenderAction: function() {\r\n return this._itemRenderAction = this._createActionByOption(\"onItemRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n })\r\n },\r\n _getItemRenderAction: function() {\r\n return this._itemRenderAction || this._createItemRenderAction()\r\n },\r\n _getItemTemplateName: function(args) {\r\n var data = args.itemData;\r\n var templateProperty = args.templateProperty || this.option(\"itemTemplateProperty\");\r\n var template = data && data[templateProperty];\r\n return template || args.defaultTemplateName\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index,\r\n onRendered: this._onItemTemplateRendered(itemTemplate, renderArgs)\r\n })\r\n },\r\n _onItemTemplateRendered: function() {\r\n return noop\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._itemContainer()\r\n },\r\n _renderEmptyMessage: function(items) {\r\n items = items || this.option(\"items\");\r\n var noDataText = this.option(\"noDataText\");\r\n var hideNoData = !noDataText || items && items.length || this._dataController.isLoading();\r\n if (hideNoData && this._$noData) {\r\n this._$noData.remove();\r\n this._$noData = null;\r\n this.setAria(\"label\", void 0)\r\n }\r\n if (!hideNoData) {\r\n this._$noData = this._$noData || $(\"<div>\").addClass(\"dx-empty-message\");\r\n this._$noData.appendTo(this._emptyMessageContainer());\r\n if (this.option(\"encodeNoDataText\")) {\r\n this._$noData.text(noDataText)\r\n } else {\r\n this._$noData.html(noDataText)\r\n }\r\n }\r\n this.$element().toggleClass(EMPTY_COLLECTION, !hideNoData)\r\n },\r\n _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) {\r\n this._itemEventHandler(dxEvent.target, handlerOptionName, extend(actionArgs, {\r\n event: dxEvent\r\n }), actionConfig)\r\n },\r\n _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) {\r\n var action = this._createActionByOption(handlerOptionName, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) {\r\n var action = this._createAction(handler, extend({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = this._closestItemElement($(initiator));\r\n var args = extend({}, actionArgs);\r\n return action(extend(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: getPublicElement($itemElement),\r\n itemIndex: this._itemElements().index($itemElement),\r\n itemData: this._getItemData($itemElement)\r\n }\r\n },\r\n _closestItemElement: function($element) {\r\n return $($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return $(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n each(items, (function(_, item) {\r\n result += getOuterWidth(item, includeMargin || false)\r\n }))\r\n }\r\n return result\r\n },\r\n getFocusedItemId: function() {\r\n if (!this._focusedItemId) {\r\n this._focusedItemId = \"dx-\" + new Guid\r\n }\r\n return this._focusedItemId\r\n },\r\n itemElements: function() {\r\n return this._itemElements()\r\n },\r\n itemsContainer: function() {\r\n return this._itemContainer()\r\n }\r\n}).include(DataHelperMixin);\r\nCollectionWidget.ItemClass = CollectionWidgetItem;\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport BaseCollectionWidget from \"./ui.collection_widget.base\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport PlainEditStrategy from \"./ui.collection_widget.edit.strategy.plain\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../../data/data_source/utils\";\r\nimport Selection from \"../selection/selection\";\r\nimport {\r\n when,\r\n Deferred,\r\n fromPromise\r\n} from \"../../core/utils/deferred\";\r\nvar ITEM_DELETING_DATA_KEY = \"dxItemDeleting\";\r\nvar NOT_EXISTING_INDEX = -1;\r\nvar indexExists = function(index) {\r\n return index !== NOT_EXISTING_INDEX\r\n};\r\nvar CollectionWidget = BaseCollectionWidget.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectByClick: true,\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n maxFilterLengthInRequest: 1500,\r\n keyExpr: null,\r\n selectedIndex: NOT_EXISTING_INDEX,\r\n selectedItem: null,\r\n onSelectionChanged: null,\r\n onItemReordered: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options)\r\n },\r\n _init: function() {\r\n this._initEditStrategy();\r\n this.callBase();\r\n this._initKeyGetter();\r\n this._initSelectionModule()\r\n },\r\n _initKeyGetter: function() {\r\n this._keyGetter = compileGetter(this.option(\"keyExpr\"))\r\n },\r\n _getKeysByItems: function(selectedItems) {\r\n return this._editStrategy.getKeysByItems(selectedItems)\r\n },\r\n _getItemsByKeys: function(selectedItemKeys, selectedItems) {\r\n return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems)\r\n },\r\n _getKeyByIndex: function(index) {\r\n return this._editStrategy.getKeyByIndex(index)\r\n },\r\n _getIndexByKey: function(key) {\r\n return this._editStrategy.getIndexByKey(key)\r\n },\r\n _getIndexByItemData: function(itemData) {\r\n return this._editStrategy.getIndexByItemData(itemData)\r\n },\r\n _isKeySpecified: function() {\r\n return !!this._dataController.key()\r\n },\r\n _getCombinedFilter: function() {\r\n return this._dataController.filter()\r\n },\r\n key: function() {\r\n if (this.option(\"keyExpr\")) {\r\n return this.option(\"keyExpr\")\r\n }\r\n return this._dataController.key()\r\n },\r\n keyOf: function(item) {\r\n var key = item;\r\n if (this.option(\"keyExpr\")) {\r\n key = this._keyGetter(item)\r\n } else if (this._dataController.store()) {\r\n key = this._dataController.keyOf(item)\r\n }\r\n return key\r\n },\r\n _nullValueSelectionSupported: function() {\r\n return false\r\n },\r\n _initSelectionModule: function() {\r\n var that = this;\r\n var itemsGetter = that._editStrategy.itemsGetter;\r\n this._selection = new Selection({\r\n allowNullValue: this._nullValueSelectionSupported(),\r\n mode: this.option(\"selectionMode\"),\r\n maxFilterLengthInRequest: this.option(\"maxFilterLengthInRequest\"),\r\n equalByReference: !this._isKeySpecified(),\r\n onSelectionChanged: function(args) {\r\n if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n that.option(\"selectedItems\", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n that._updateSelectedItems(args)\r\n }\r\n },\r\n filter: that._getCombinedFilter.bind(that),\r\n totalCount: function() {\r\n var items = that.option(\"items\");\r\n var totalCount = that._dataController.totalCount();\r\n return totalCount >= 0 ? totalCount : that._getItemsCount(items)\r\n },\r\n key: that.key.bind(that),\r\n keyOf: that.keyOf.bind(that),\r\n load: function(options) {\r\n var _dataController$loadO;\r\n var dataController = that._dataController;\r\n options.customQueryParams = null === (_dataController$loadO = dataController.loadOptions()) || void 0 === _dataController$loadO ? void 0 : _dataController$loadO.customQueryParams;\r\n options.userData = dataController.userData();\r\n if (dataController.store()) {\r\n return dataController.loadFromStore(options).done((function(loadResult) {\r\n if (that._disposed) {\r\n return\r\n }\r\n var items = normalizeLoadResult(loadResult).data;\r\n dataController.applyMapFunction(items)\r\n }))\r\n } else {\r\n return (new Deferred).resolve(this.plainItems())\r\n }\r\n },\r\n dataFields: function() {\r\n return that._dataController.select()\r\n },\r\n plainItems: itemsGetter.bind(that._editStrategy)\r\n })\r\n },\r\n _getItemsCount: function(items) {\r\n return items.reduce((itemsCount, item) => itemsCount + (item.items ? this._getItemsCount(item.items) : 1), 0)\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = PlainEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n },\r\n _getSelectedItemIndices: function(keys) {\r\n var that = this;\r\n var indices = [];\r\n keys = keys || this._selection.getSelectedItemKeys();\r\n that._editStrategy.beginCache();\r\n each(keys, (function(_, key) {\r\n var selectedIndex = that._getIndexByKey(key);\r\n if (indexExists(selectedIndex)) {\r\n indices.push(selectedIndex)\r\n }\r\n }));\r\n that._editStrategy.endCache();\r\n return indices\r\n },\r\n _initMarkup: function() {\r\n this._rendering = true;\r\n if (!this._dataController.isLoading()) {\r\n this._syncSelectionOptions().done(() => this._normalizeSelectedItems())\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._rendering = false\r\n },\r\n _fireContentReadyAction: function() {\r\n this._rendering = false;\r\n this._rendered = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _syncSelectionOptions: function(byOption) {\r\n byOption = byOption || this._chooseSelectOption();\r\n var selectedItem;\r\n var selectedIndex;\r\n var selectedItemKeys;\r\n var selectedItems;\r\n switch (byOption) {\r\n case \"selectedIndex\":\r\n selectedItem = this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\"));\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n break;\r\n case \"selectedItems\":\r\n selectedItems = this.option(\"selectedItems\") || [];\r\n selectedIndex = selectedItems.length ? this._editStrategy.getIndexByItemData(selectedItems[0]) : NOT_EXISTING_INDEX;\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItems[0]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems(selectedItems));\r\n break;\r\n case \"selectedItem\":\r\n selectedItem = this.option(\"selectedItem\");\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItem);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n if (isDefined(selectedItem)) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [selectedItem]);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", selectedIndex);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", []);\r\n this._setOptionWithoutOptionChange(\"selectedIndex\", NOT_EXISTING_INDEX)\r\n }\r\n break;\r\n case \"selectedItemKeys\":\r\n selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (this.option(\"selectionRequired\")) {\r\n var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]);\r\n if (!indexExists(selectedItemIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n }\r\n return this._selection.setSelection(selectedItemKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _chooseSelectOption: function() {\r\n var optionName = \"selectedIndex\";\r\n var isOptionDefined = function(optionName) {\r\n var optionValue = this.option(optionName);\r\n var length = isDefined(optionValue) && optionValue.length;\r\n return length || optionName in this._userOptions\r\n }.bind(this);\r\n if (isOptionDefined(\"selectedItems\")) {\r\n optionName = \"selectedItems\"\r\n } else if (isOptionDefined(\"selectedItem\")) {\r\n optionName = \"selectedItem\"\r\n } else if (isOptionDefined(\"selectedItemKeys\")) {\r\n optionName = \"selectedItemKeys\"\r\n }\r\n return optionName\r\n },\r\n _compareKeys: function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _normalizeSelectedItems: function() {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n } else if (\"single\" === this.option(\"selectionMode\")) {\r\n var newSelection = this.option(\"selectedItems\");\r\n if (newSelection.length > 1 || !newSelection.length && this.option(\"selectionRequired\") && this.option(\"items\") && this.option(\"items\").length) {\r\n var currentSelection = this._selection.getSelectedItems();\r\n var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0];\r\n if (void 0 === normalizedSelection) {\r\n normalizedSelection = this._editStrategy.itemsGetter()[0]\r\n }\r\n if (this.option(\"grouped\") && normalizedSelection && normalizedSelection.items) {\r\n normalizedSelection.items = [normalizedSelection.items[0]]\r\n }\r\n this._selection.setSelection(this._getKeysByItems([normalizedSelection]));\r\n this._setOptionWithoutOptionChange(\"selectedItems\", [normalizedSelection]);\r\n return this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n this._selection.setSelection(this._getKeysByItems(newSelection))\r\n }\r\n } else {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n }\r\n return (new Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n var itemSelectPromise = (new Deferred).resolve();\r\n var callBase = this.callBase;\r\n this._createAction(function(e) {\r\n var _this$_itemSelectHand;\r\n itemSelectPromise = null !== (_this$_itemSelectHand = this._itemSelectHandler(e.event)) && void 0 !== _this$_itemSelectHand ? _this$_itemSelectHand : itemSelectPromise\r\n }.bind(this), {\r\n validatingTargetName: \"itemElement\"\r\n })({\r\n itemElement: $(e.currentTarget),\r\n event: e\r\n });\r\n itemSelectPromise.always(() => {\r\n callBase.apply(this, arguments)\r\n })\r\n },\r\n _itemSelectHandler: function(e) {\r\n var _itemSelectPromise;\r\n var itemSelectPromise;\r\n if (!this.option(\"selectByClick\")) {\r\n return\r\n }\r\n var $itemElement = e.currentTarget;\r\n if (this.isItemSelected($itemElement)) {\r\n this.unselectItem(e.currentTarget)\r\n } else {\r\n itemSelectPromise = this.selectItem(e.currentTarget)\r\n }\r\n return null === (_itemSelectPromise = itemSelectPromise) || void 0 === _itemSelectPromise ? void 0 : _itemSelectPromise.promise()\r\n },\r\n _selectedItemElement: function(index) {\r\n return this._itemElements().eq(index)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n if (\"none\" !== this.option(\"selectionMode\")) {\r\n var $itemElement = $(args.itemElement);\r\n var normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement);\r\n var isItemSelected = this._isItemSelected(normalizedItemIndex);\r\n this._processSelectableItem($itemElement, isItemSelected)\r\n }\r\n },\r\n _processSelectableItem: function($itemElement, isSelected) {\r\n $itemElement.toggleClass(this._selectedItemClass(), isSelected);\r\n this._setAriaSelectionAttribute($itemElement, String(isSelected))\r\n },\r\n _updateSelectedItems: function(args) {\r\n var that = this;\r\n var addedItemKeys = args.addedItemKeys;\r\n var removedItemKeys = args.removedItemKeys;\r\n if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = that._selectionChangePromise;\r\n if (!that._rendering) {\r\n var addedSelection = [];\r\n var normalizedIndex;\r\n var removedSelection = [];\r\n that._editStrategy.beginCache();\r\n for (var i = 0; i < addedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(addedItemKeys[i]);\r\n addedSelection.push(normalizedIndex);\r\n that._addSelection(normalizedIndex)\r\n }\r\n for (var _i = 0; _i < removedItemKeys.length; _i++) {\r\n normalizedIndex = that._getIndexByKey(removedItemKeys[_i]);\r\n removedSelection.push(normalizedIndex);\r\n that._removeSelection(normalizedIndex)\r\n }\r\n that._editStrategy.endCache();\r\n that._updateSelection(addedSelection, removedSelection)\r\n }\r\n when(selectionChangePromise).done((function() {\r\n that._fireSelectionChangeEvent(args.addedItems, args.removedItems)\r\n }))\r\n }\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _updateSelection: noop,\r\n _setAriaSelectionAttribute: function($target, value) {\r\n this.setAria(\"selected\", value, $target)\r\n },\r\n _removeSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, false);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", false)\r\n }\r\n },\r\n _addSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, true);\r\n eventsEngine.triggerHandler($itemElement, \"stateChanged\", true)\r\n }\r\n },\r\n _isItemSelected: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n return this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n if (!args.value || Array.isArray(args.value) && !args.value.length) {\r\n this.option(\"selectedItemKeys\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n case \"selectedItemKeys\":\r\n this._syncSelectionOptions(args.name).done(() => this._normalizeSelectedItems());\r\n break;\r\n case \"keyExpr\":\r\n this._initKeyGetter();\r\n break;\r\n case \"selectionRequired\":\r\n this._normalizeSelectedItems();\r\n break;\r\n case \"selectByClick\":\r\n case \"onSelectionChanged\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemReordered\":\r\n case \"maxFilterLengthInRequest\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearSelectedItems: function() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n },\r\n _waitDeletingPrepare: function($itemElement) {\r\n if ($itemElement.data(ITEM_DELETING_DATA_KEY)) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new Deferred;\r\n var deletingActionArgs = {\r\n cancel: false\r\n };\r\n var deletePromise = this._itemEventHandler($itemElement, \"onItemDeleting\", deletingActionArgs, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n when(deletePromise).always(function(value) {\r\n var deletePromiseExists = !deletePromise;\r\n var deletePromiseResolved = !deletePromiseExists && \"resolved\" === deletePromise.state();\r\n var argumentsSpecified = !!arguments.length;\r\n var shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value;\r\n when(fromPromise(deletingActionArgs.cancel)).always((function() {\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, false)\r\n })).done((function(cancel) {\r\n shouldDelete && !cancel ? deferred.resolve() : deferred.reject()\r\n })).fail(deferred.reject)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _deleteItemFromDS: function($item) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var disabledState = this.option(\"disabled\");\r\n var dataStore = dataController.store();\r\n if (!dataStore) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (!dataStore.remove) {\r\n throw errors.Error(\"E1011\")\r\n }\r\n this.option(\"disabled\", true);\r\n dataStore.remove(dataController.keyOf(this._getItemData($item))).done((function(key) {\r\n if (void 0 !== key) {\r\n deferred.resolve()\r\n } else {\r\n deferred.reject()\r\n }\r\n })).fail((function() {\r\n deferred.reject()\r\n }));\r\n deferred.always(function() {\r\n this.option(\"disabled\", disabledState)\r\n }.bind(this));\r\n return deferred\r\n },\r\n _tryRefreshLastPage: function() {\r\n var deferred = new Deferred;\r\n if (this._isLastPage() || this.option(\"grouped\")) {\r\n deferred.resolve()\r\n } else {\r\n this._refreshLastPage().done((function() {\r\n deferred.resolve()\r\n }))\r\n }\r\n return deferred.promise()\r\n },\r\n _refreshLastPage: function() {\r\n this._expectLastItemLoading();\r\n return this._dataController.load()\r\n },\r\n _updateSelectionAfterDelete: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n this._selection.deselect([key])\r\n },\r\n _updateIndicesAfterIndex: function(index) {\r\n var itemElements = this._itemElements();\r\n for (var i = index + 1; i < itemElements.length; i++) {\r\n $(itemElements[i]).data(this._itemIndexKey(), i - 1)\r\n }\r\n },\r\n _simulateOptionChange: function(optionName) {\r\n var optionValue = this.option(optionName);\r\n if (optionValue instanceof DataSource) {\r\n return\r\n }\r\n this._optionChangedAction({\r\n name: optionName,\r\n fullName: optionName,\r\n value: optionValue\r\n })\r\n },\r\n isItemSelected: function(itemElement) {\r\n return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement))\r\n },\r\n selectItem: function(itemElement) {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n return\r\n }\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n return this._selection.setSelection([key])\r\n } else {\r\n var selectedItemKeys = this.option(\"selectedItemKeys\") || [];\r\n return this._selection.setSelection([...selectedItemKeys, key], [key])\r\n }\r\n },\r\n unselectItem: function(itemElement) {\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var selectedItemKeys = this._selection.getSelectedItemKeys();\r\n if (this.option(\"selectionRequired\") && selectedItemKeys.length <= 1) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (!this._selection.isItemSelected(key, {\r\n checkPending: true\r\n })) {\r\n return\r\n }\r\n this._selection.deselect([key])\r\n },\r\n _deleteItemElementByIndex: function(index) {\r\n this._updateSelectionAfterDelete(index);\r\n this._updateIndicesAfterIndex(index);\r\n this._editStrategy.deleteItemAtIndex(index)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n this._simulateOptionChange(changingOption);\r\n this._itemEventHandler($item, \"onItemDeleted\", deletedActionArgs, {\r\n beforeExecute: function() {\r\n $item.remove()\r\n },\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._renderEmptyMessage()\r\n },\r\n deleteItem: function(itemElement) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var index = this._editStrategy.getNormalizedIndex(itemElement);\r\n var itemResponseWaitClass = this._itemResponseWaitClass();\r\n if (indexExists(index)) {\r\n this._waitDeletingPrepare($item).done((function() {\r\n $item.addClass(itemResponseWaitClass);\r\n var deletedActionArgs = that._extendActionArgs($item);\r\n that._deleteItemFromDS($item).done((function() {\r\n that._deleteItemElementByIndex(index);\r\n that._afterItemElementDeleted($item, deletedActionArgs);\r\n that._tryRefreshLastPage().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n })).fail((function() {\r\n $item.removeClass(itemResponseWaitClass);\r\n deferred.rejectWith(that)\r\n }))\r\n })).fail((function() {\r\n deferred.rejectWith(that)\r\n }))\r\n } else {\r\n deferred.rejectWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var deferred = new Deferred;\r\n var that = this;\r\n var strategy = this._editStrategy;\r\n var $movingItem = strategy.getItemElement(itemElement);\r\n var $destinationItem = strategy.getItemElement(toItemElement);\r\n var movingIndex = strategy.getNormalizedIndex(itemElement);\r\n var destinationIndex = strategy.getNormalizedIndex(toItemElement);\r\n var changingOption = this._dataController.getDataSource() ? \"dataSource\" : \"items\";\r\n var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex;\r\n if (canMoveItems) {\r\n deferred.resolveWith(this)\r\n } else {\r\n deferred.rejectWith(this)\r\n }\r\n return deferred.promise().done((function() {\r\n $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem);\r\n strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex);\r\n this._updateIndicesAfterIndex(movingIndex);\r\n that.option(\"selectedItems\", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems()));\r\n if (\"items\" === changingOption) {\r\n that._simulateOptionChange(changingOption)\r\n }\r\n that._itemEventHandler($movingItem, \"onItemReordered\", {\r\n fromIndex: strategy.getIndex(movingIndex),\r\n toIndex: strategy.getIndex(destinationIndex)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }))\r\n }\r\n});\r\nexport default CollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isRenderer\r\n} from \"../../core/utils/type\";\r\nvar abstract = Class.abstract;\r\nvar EditStrategy = Class.inherit({\r\n ctor: function(collectionWidget) {\r\n this._collectionWidget = collectionWidget\r\n },\r\n getIndexByItemData: abstract,\r\n getItemDataByIndex: abstract,\r\n getKeysByItems: abstract,\r\n getItemsByKeys: abstract,\r\n itemsGetter: abstract,\r\n getKeyByIndex: function(index) {\r\n var resultIndex = this._denormalizeItemIndex(index);\r\n return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0]\r\n },\r\n _equalKeys: function(key1, key2) {\r\n if (this._collectionWidget._isKeySpecified()) {\r\n return equalByValue(key1, key2)\r\n } else {\r\n return key1 === key2\r\n }\r\n },\r\n beginCache: function() {\r\n this._cache = {}\r\n },\r\n endCache: function() {\r\n this._cache = null\r\n },\r\n getIndexByKey: abstract,\r\n getNormalizedIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._normalizeItemIndex(value)\r\n }\r\n if (this._isNode(value)) {\r\n return this._getNormalizedItemIndex(value)\r\n }\r\n return this._normalizeItemIndex(this.getIndexByItemData(value))\r\n },\r\n getIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._denormalizeItemIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isNode(value)) {\r\n return this._denormalizeItemIndex(this._getNormalizedItemIndex(value))\r\n }\r\n return this.getIndexByItemData(value)\r\n },\r\n getItemElement: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(this._normalizeItemIndex(value))\r\n }\r\n if (this._isNode(value)) {\r\n return $(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n _isNode: el => domAdapter.isNode(el && isRenderer(el) ? el.get(0) : el),\r\n deleteItemAtIndex: abstract,\r\n itemPlacementFunc: function(movingIndex, destinationIndex) {\r\n return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? \"after\" : \"before\"\r\n },\r\n moveItemAtIndexToIndex: abstract,\r\n _isNormalizedItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _isItemIndex: abstract,\r\n _getNormalizedItemIndex: abstract,\r\n _normalizeItemIndex: abstract,\r\n _denormalizeItemIndex: abstract,\r\n _getItemByNormalizedIndex: abstract,\r\n _itemsFromSameParent: abstract\r\n});\r\nexport default EditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EditStrategy from \"./ui.collection_widget.edit.strategy\";\r\nvar PlainEditStrategy = EditStrategy.inherit({\r\n _getPlainItems: function() {\r\n return this._collectionWidget.option(\"items\") || []\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n if (keyOf) {\r\n return this.getIndexByKey(keyOf(itemData))\r\n } else {\r\n return this._getPlainItems().indexOf(itemData)\r\n }\r\n },\r\n getItemDataByIndex: function(index) {\r\n return this._getPlainItems()[index]\r\n },\r\n deleteItemAtIndex: function(index) {\r\n this._getPlainItems().splice(index, 1)\r\n },\r\n itemsGetter: function() {\r\n return this._getPlainItems()\r\n },\r\n getKeysByItems: function(items) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n var result = items;\r\n if (keyOf) {\r\n result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n result.push(keyOf(items[i]))\r\n }\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key) {\r\n var cache = this._cache;\r\n var keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems());\r\n if (cache && !cache.keys) {\r\n cache.keys = keys\r\n }\r\n if (\"object\" === typeof key) {\r\n for (var i = 0, length = keys.length; i < length; i++) {\r\n if (this._equalKeys(key, keys[i])) {\r\n return i\r\n }\r\n }\r\n } else {\r\n return keys.indexOf(key)\r\n }\r\n return -1\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n return (items || keys).slice()\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._getPlainItems();\r\n var movedItemData = items[movingIndex];\r\n items.splice(movingIndex, 1);\r\n items.splice(destinationIndex, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n return this._collectionWidget._itemElements().index(itemElement)\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n return index > -1 ? this._collectionWidget._itemElements().eq(index) : null\r\n },\r\n _itemsFromSameParent: function() {\r\n return true\r\n }\r\n});\r\nexport default PlainEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.live_update.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidget from \"./ui.collection_widget.edit\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n update,\r\n insert,\r\n indexByKey\r\n} from \"../../data/array_utils\";\r\nimport {\r\n keysEqual\r\n} from \"../../data/utils\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n findChanges\r\n} from \"../../core/utils/array_compare\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar PRIVATE_KEY_FIELD = \"__dx_key__\";\r\nexport default CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n repaintChangesOnly: false\r\n })\r\n },\r\n ctor: function() {\r\n var _this$_dataController;\r\n this.callBase.apply(this, arguments);\r\n this._customizeStoreLoadOptions = e => {\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !this._dataController.isLoaded()) {\r\n this._correctionIndex = 0\r\n }\r\n if (this._correctionIndex && e.storeLoadOptions) {\r\n e.storeLoadOptions.skip += this._correctionIndex\r\n }\r\n }, null === (_this$_dataController = this._dataController) || void 0 === _this$_dataController ? void 0 : _this$_dataController.on(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions)\r\n },\r\n reload: function() {\r\n this._correctionIndex = 0\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._refreshItemsCache();\r\n this._correctionIndex = 0\r\n },\r\n _findItemElementByKey: function(key) {\r\n var result = $();\r\n var keyExpr = this.key();\r\n this.itemElements().each((_, item) => {\r\n var $item = $(item);\r\n var itemData = this._getItemData($item);\r\n if (keyExpr ? keysEqual(keyExpr, this.keyOf(itemData), key) : this._isItemEquals(itemData, key)) {\r\n result = $item;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function(newItems, e) {\r\n if (null !== e && void 0 !== e && e.changes) {\r\n this._modifyByChanges(e.changes)\r\n } else {\r\n this.callBase(newItems, e);\r\n this._refreshItemsCache()\r\n }\r\n },\r\n _isItemEquals: function(item1, item2) {\r\n if (item1 && item1[PRIVATE_KEY_FIELD]) {\r\n item1 = item1.data\r\n }\r\n try {\r\n return JSON.stringify(item1) === JSON.stringify(item2)\r\n } catch (e) {\r\n return item1 === item2\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n return this._isItemEquals(item1, item2)\r\n },\r\n _shouldAddNewGroup: function(changes, items) {\r\n var result = false;\r\n if (this.option(\"grouped\")) {\r\n if (!changes.length) {\r\n result = true\r\n }\r\n each(changes, (i, change) => {\r\n if (\"insert\" === change.type) {\r\n result = true;\r\n each(items, (_, item) => {\r\n if (void 0 !== change.data.key && change.data.key === item.key) {\r\n result = false;\r\n return false\r\n }\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n _partialRefresh: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var result = findChanges(this._itemsCache, this._editStrategy.itemsGetter(), data => {\r\n if (data && void 0 !== data[PRIVATE_KEY_FIELD]) {\r\n return data[PRIVATE_KEY_FIELD]\r\n }\r\n return this.keyOf(data)\r\n }, this._isItemStrictEquals.bind(this));\r\n if (result && this._itemsCache.length && !this._shouldAddNewGroup(result, this._itemsCache)) {\r\n this._modifyByChanges(result, true);\r\n this._renderEmptyMessage();\r\n return true\r\n } else {\r\n this._refreshItemsCache()\r\n }\r\n }\r\n return false\r\n },\r\n _refreshItemsCache: function() {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n var items = this._editStrategy.itemsGetter();\r\n try {\r\n this._itemsCache = extend(true, [], items);\r\n if (!this.key()) {\r\n this._itemsCache = this._itemsCache.map((itemCache, index) => ({\r\n [PRIVATE_KEY_FIELD]: items[index],\r\n data: itemCache\r\n }))\r\n }\r\n } catch (e) {\r\n this._itemsCache = extend([], items)\r\n }\r\n }\r\n },\r\n _dispose: function() {\r\n this._dataController.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptions);\r\n this.callBase()\r\n },\r\n _updateByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n if (isPartialRefresh) {\r\n this._renderItem(change.index, change.data, null, this._findItemElementByKey(change.key))\r\n } else {\r\n var changedItem = items[indexByKey(keyInfo, items, change.key)];\r\n if (changedItem) {\r\n update(keyInfo, items, change.key, change.data).done(() => {\r\n this._renderItem(items.indexOf(changedItem), changedItem, null, this._findItemElementByKey(change.key))\r\n })\r\n }\r\n }\r\n },\r\n _insertByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n when(isPartialRefresh || insert(keyInfo, items, change.data, change.index)).done(() => {\r\n var _change$index;\r\n this._beforeItemElementInserted(change);\r\n var $itemContainer = this._getItemContainer(change.data);\r\n this._renderItem(null !== (_change$index = change.index) && void 0 !== _change$index ? _change$index : items.length, change.data, $itemContainer);\r\n this._afterItemElementInserted();\r\n this._correctionIndex++\r\n })\r\n },\r\n _getItemContainer: function(changeData) {\r\n return this._itemContainer()\r\n },\r\n _updateSelectionAfterRemoveByChange: function(removeIndex) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (selectedIndex > removeIndex) {\r\n this.option(\"selectedIndex\", selectedIndex - 1)\r\n } else if (selectedIndex === removeIndex && 1 === this.option(\"selectedItems\").length) {\r\n this.option(\"selectedItems\", [])\r\n } else {\r\n this._normalizeSelectedItems()\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n if (change.index <= selectedIndex) {\r\n this.option(\"selectedIndex\", selectedIndex + 1)\r\n }\r\n },\r\n _afterItemElementInserted: noop,\r\n _removeByChange: function(keyInfo, items, change, isPartialRefresh) {\r\n var index = isPartialRefresh ? change.index : indexByKey(keyInfo, items, change.key);\r\n var removedItem = isPartialRefresh ? change.oldItem : items[index];\r\n if (removedItem) {\r\n var $removedItemElement = this._findItemElementByKey(change.key);\r\n var deletedActionArgs = this._extendActionArgs($removedItemElement);\r\n this._waitDeletingPrepare($removedItemElement).done(() => {\r\n if (isPartialRefresh) {\r\n this._updateIndicesAfterIndex(index - 1);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs);\r\n this._updateSelectionAfterRemoveByChange(index)\r\n } else {\r\n this._deleteItemElementByIndex(index);\r\n this._afterItemElementDeleted($removedItemElement, deletedActionArgs)\r\n }\r\n });\r\n this._correctionIndex--\r\n }\r\n },\r\n _modifyByChanges: function(changes, isPartialRefresh) {\r\n var items = this._editStrategy.itemsGetter();\r\n var keyInfo = {\r\n key: this.key.bind(this),\r\n keyOf: this.keyOf.bind(this)\r\n };\r\n var dataController = this._dataController;\r\n var paginate = dataController.paginate();\r\n var group = dataController.group();\r\n if (paginate || group) {\r\n changes = changes.filter(item => \"insert\" !== item.type || void 0 !== item.index)\r\n }\r\n changes.forEach(change => this[\"_\".concat(change.type, \"ByChange\")](keyInfo, items, change, isPartialRefresh));\r\n this._renderedItemsCount = items.length;\r\n this._refreshItemsCache();\r\n this._fireContentReadyAction()\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n var nextSiblingElement = $container.children(this._itemSelector()).get(index);\r\n domAdapter.insertElement($container.get(0), $itemFrame.get(0), nextSiblingElement)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n var isItemsUpdated = this._partialRefresh(args.value);\r\n if (!isItemsUpdated) {\r\n this.callBase(args)\r\n }\r\n break;\r\n case \"dataSource\":\r\n if (!this.option(\"repaintChangesOnly\") || !args.value) {\r\n this.option(\"items\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"repaintChangesOnly\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/shared/accessibility.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nvar FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FOCUSED_ROW_SELECTOR = \".dx-row-focused\";\r\nvar GRID_ROW_SELECTOR = \".dx-datagrid-rowsview .dx-row\";\r\nvar GRID_CELL_SELECTOR = \"\".concat(GRID_ROW_SELECTOR, \" > td\");\r\nvar TREELIST_ROW_SELECTOR = \".dx-treelist-rowsview .dx-row\";\r\nvar TREELIST_CELL_SELECTOR = \"\".concat(TREELIST_ROW_SELECTOR, \" > td\");\r\nvar viewItemSelectorMap = {\r\n groupPanel: [\".dx-datagrid-group-panel .dx-group-panel-item[tabindex]\"],\r\n columnHeaders: [\".dx-datagrid-headers .dx-header-row > td.dx-datagrid-action\", \".dx-treelist-headers .dx-header-row > td.dx-treelist-action\"],\r\n filterRow: [\".dx-datagrid-headers .dx-datagrid-filter-row .dx-editor-cell .dx-texteditor-input\", \".dx-treelist-headers .dx-treelist-filter-row .dx-editor-cell .dx-texteditor-input\"],\r\n rowsView: [\"\".concat(FOCUSED_ROW_SELECTOR), \"\".concat(GRID_ROW_SELECTOR, \"[tabindex]\"), \"\".concat(GRID_CELL_SELECTOR, \"[tabindex]\"), \"\".concat(GRID_CELL_SELECTOR), \"\".concat(TREELIST_ROW_SELECTOR, \"[tabindex]\"), \"\".concat(TREELIST_CELL_SELECTOR, \"[tabindex]\"), \"\".concat(TREELIST_CELL_SELECTOR)],\r\n footer: [\".dx-datagrid-total-footer .dx-datagrid-summary-item\", \".dx-treelist-total-footer .dx-treelist-summary-item\"],\r\n filterPanel: [\".dx-datagrid-filter-panel .dx-icon-filter\", \".dx-treelist-filter-panel .dx-icon-filter\"],\r\n pager: [\".dx-datagrid-pager [tabindex]\", \".dx-treelist-pager [tabindex]\"]\r\n};\r\nvar isMouseDown = false;\r\nvar isHiddenFocusing = false;\r\nvar focusedElementInfo = null;\r\n\r\nfunction processKeyDown(viewName, instance, event, action, $mainElement, executeKeyDown) {\r\n var isHandled = fireKeyDownEvent(instance, event.originalEvent, executeKeyDown);\r\n if (isHandled) {\r\n return\r\n }\r\n var keyName = normalizeKeyName(event);\r\n if (\"enter\" === keyName || \"space\" === keyName) {\r\n saveFocusedElementInfo(event.target, instance);\r\n action && action({\r\n event: event\r\n })\r\n } else if (\"tab\" === keyName) {\r\n $mainElement.addClass(FOCUS_STATE_CLASS)\r\n } else {\r\n selectView(viewName, instance, event)\r\n }\r\n}\r\nexport function saveFocusedElementInfo(target, instance) {\r\n var $target = $(target);\r\n var ariaLabel = $target.attr(\"aria-label\");\r\n var $activeElements = getActiveAccessibleElements(ariaLabel, instance.element());\r\n var targetIndex = $activeElements.index($target);\r\n focusedElementInfo = extend({}, {\r\n ariaLabel: ariaLabel,\r\n index: targetIndex\r\n }, {\r\n viewInstance: instance\r\n })\r\n}\r\n\r\nfunction getActiveAccessibleElements(ariaLabel, viewElement) {\r\n var $viewElement = $(viewElement);\r\n var $activeElements;\r\n if (ariaLabel) {\r\n $activeElements = $viewElement.find('[aria-label=\"'.concat(ariaLabel, '\"][tabindex]'))\r\n } else {\r\n $activeElements = $viewElement.find(\"[tabindex]\")\r\n }\r\n return $activeElements\r\n}\r\n\r\nfunction findFocusedViewElement(viewSelectors, element) {\r\n var root = (null === element || void 0 === element ? void 0 : element.getRootNode()) || domAdapter.getDocument();\r\n for (var index in viewSelectors) {\r\n var selector = viewSelectors[index];\r\n var $focusViewElement = $(root).find(selector).first();\r\n if ($focusViewElement.length) {\r\n return $focusViewElement\r\n }\r\n }\r\n}\r\n\r\nfunction fireKeyDownEvent(instance, event, executeAction) {\r\n var args = {\r\n event: event,\r\n handled: false\r\n };\r\n if (executeAction) {\r\n executeAction(args)\r\n } else {\r\n instance._createActionByOption(\"onKeyDown\")(args)\r\n }\r\n return args.handled\r\n}\r\n\r\nfunction onDocumentVisibilityChange() {\r\n isHiddenFocusing = \"visible\" === domAdapter.getDocument().visibilityState\r\n}\r\nexport function subscribeVisibilityChange() {\r\n eventsEngine.on(domAdapter.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\nexport function unsubscribeVisibilityChange() {\r\n eventsEngine.off(domAdapter.getDocument(), \"visibilitychange\", onDocumentVisibilityChange)\r\n}\r\nexport function hiddenFocus(element) {\r\n isHiddenFocusing = true;\r\n element.focus();\r\n isHiddenFocusing = false\r\n}\r\nexport function registerKeyboardAction(viewName, instance, $element, selector, action, executeKeyDown) {\r\n if (instance.option(\"useLegacyKeyboardNavigation\")) {\r\n return noop\r\n }\r\n var getMainElement = () => $(instance.element());\r\n var keyDownHandler = e => processKeyDown(viewName, instance, e, action, getMainElement(), executeKeyDown);\r\n var mouseDownHandler = () => {\r\n isMouseDown = true;\r\n getMainElement().removeClass(FOCUS_STATE_CLASS)\r\n };\r\n var focusinHandler = () => {\r\n var needShowOverlay = !isMouseDown && !isHiddenFocusing;\r\n if (needShowOverlay) {\r\n getMainElement().addClass(FOCUS_STATE_CLASS)\r\n }\r\n isMouseDown = false\r\n };\r\n eventsEngine.on($element, \"keydown\", selector, keyDownHandler);\r\n eventsEngine.on($element, \"mousedown\", selector, mouseDownHandler);\r\n eventsEngine.on($element, \"focusin\", selector, focusinHandler);\r\n return () => {\r\n eventsEngine.off($element, \"keydown\", selector, keyDownHandler);\r\n eventsEngine.off($element, \"mousedown\", selector, mouseDownHandler);\r\n eventsEngine.off($element, \"focusin\", selector, focusinHandler)\r\n }\r\n}\r\nexport function restoreFocus(instance) {\r\n if (!instance.option(\"useLegacyKeyboardNavigation\") && focusedElementInfo) {\r\n var viewInstance = focusedElementInfo.viewInstance;\r\n if (viewInstance) {\r\n var $activeElements = getActiveAccessibleElements(focusedElementInfo.ariaLabel, viewInstance.element());\r\n var $targetElement = $activeElements.eq(focusedElementInfo.index);\r\n focusedElementInfo = null;\r\n eventsEngine.trigger($targetElement, \"focus\")\r\n }\r\n }\r\n}\r\nexport function selectView(viewName, instance, event) {\r\n var keyName = normalizeKeyName(event);\r\n if (event.ctrlKey && (\"upArrow\" === keyName || \"downArrow\" === keyName)) {\r\n var viewNames = Object.keys(viewItemSelectorMap);\r\n var viewItemIndex = viewNames.indexOf(viewName);\r\n while (viewItemIndex >= 0 && viewItemIndex < viewNames.length) {\r\n viewItemIndex = \"upArrow\" === keyName ? --viewItemIndex : ++viewItemIndex;\r\n var _viewName = viewNames[viewItemIndex];\r\n var viewSelectors = viewItemSelectorMap[_viewName];\r\n var $focusViewElement = findFocusedViewElement(viewSelectors, event.target);\r\n if ($focusViewElement && $focusViewElement.length) {\r\n $focusViewElement.attr(\"tabindex\", instance.option(\"tabindex\") || 0);\r\n eventsEngine.trigger($focusViewElement, \"focus\");\r\n $focusViewElement.removeClass(FOCUS_DISABLED_CLASS);\r\n break\r\n }\r\n }\r\n }\r\n}\r\nexport function setTabIndex(instance, $element) {\r\n if (!instance.option(\"useLegacyKeyboardnavigation\")) {\r\n $element.attr(\"tabindex\", instance.option(\"tabindex\") || 0)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_accessibility.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport * as accessibility from \"../../../ui/shared/accessibility\";\r\nexport var registerKeyboardAction = function(viewName, instance, $element, selector, action) {\r\n var keyboardController = instance.getController(\"keyboardNavigation\");\r\n if (instance.option(\"useLegacyKeyboardNavigation\") || keyboardController && !keyboardController.isKeyboardEnabled()) {\r\n return\r\n }\r\n instance.createAction(\"onKeyDown\");\r\n accessibility.registerKeyboardAction(viewName, instance, $element, selector, action, args => {\r\n instance.executeAction(\"onKeyDown\", args)\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/events/double_click.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n closestCommonParent\r\n} from \"../core/utils/dom\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport Class from \"../core/class\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n name as clickEventName\r\n} from \"./click\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nvar DBLCLICK_EVENT_NAME = \"dxdblclick\";\r\nvar DBLCLICK_NAMESPACE = \"dxDblClick\";\r\nvar NAMESPACED_CLICK_EVENT = addNamespace(clickEventName, DBLCLICK_NAMESPACE);\r\nvar DBLCLICK_TIMEOUT = 300;\r\nvar DblClick = Class.inherit({\r\n ctor: function() {\r\n this._handlerCount = 0;\r\n this._forgetLastClick()\r\n },\r\n _forgetLastClick: function() {\r\n this._firstClickTarget = null;\r\n this._lastClickTimeStamp = -DBLCLICK_TIMEOUT\r\n },\r\n add: function() {\r\n if (this._handlerCount <= 0) {\r\n eventsEngine.on(domAdapter.getDocument(), NAMESPACED_CLICK_EVENT, this._clickHandler.bind(this))\r\n }\r\n this._handlerCount++\r\n },\r\n _clickHandler: function(e) {\r\n var timeStamp = e.timeStamp || Date.now();\r\n var timeBetweenClicks = timeStamp - this._lastClickTimeStamp;\r\n var isSimulated = timeBetweenClicks < 0;\r\n var isDouble = !isSimulated && timeBetweenClicks < DBLCLICK_TIMEOUT;\r\n if (isDouble) {\r\n fireEvent({\r\n type: DBLCLICK_EVENT_NAME,\r\n target: closestCommonParent(this._firstClickTarget, e.target),\r\n originalEvent: e\r\n });\r\n this._forgetLastClick()\r\n } else {\r\n this._firstClickTarget = e.target;\r\n this._lastClickTimeStamp = timeStamp\r\n }\r\n },\r\n remove: function() {\r\n this._handlerCount--;\r\n if (this._handlerCount <= 0) {\r\n this._forgetLastClick();\r\n eventsEngine.off(domAdapter.getDocument(), NAMESPACED_CLICK_EVENT)\r\n }\r\n }\r\n});\r\nregisterEvent(DBLCLICK_EVENT_NAME, new DblClick);\r\nexport {\r\n DBLCLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_state_mixin/m_column_state_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nvar COLUMN_INDICATORS_CLASS = \"dx-column-indicators\";\r\nvar GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nexport default {\r\n _applyColumnState(options) {\r\n var _a;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var columnAlignment = this._getColumnAlignment(options.column.alignment, rtlEnabled);\r\n var parameters = extend(true, {\r\n columnAlignment: columnAlignment\r\n }, options);\r\n var isGroupPanelItem = parameters.rootElement.hasClass(GROUP_PANEL_ITEM_CLASS);\r\n var $indicatorsContainer = this._createIndicatorContainer(parameters, isGroupPanelItem);\r\n var $span = $(\"<span>\").addClass(this._getIndicatorClassName(options.name));\r\n var columnsController = null === (_a = this.component) || void 0 === _a ? void 0 : _a.getController(\"columns\");\r\n var indicatorAlignment = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getHeaderContentAlignment(columnAlignment)) || columnAlignment;\r\n parameters.container = $indicatorsContainer;\r\n parameters.indicator = $span;\r\n this._renderIndicator(parameters);\r\n $indicatorsContainer[(isGroupPanelItem || !options.showColumnLines) && \"left\" === indicatorAlignment ? \"appendTo\" : \"prependTo\"](options.rootElement);\r\n return $span\r\n },\r\n _getIndicatorClassName: noop,\r\n _getColumnAlignment(alignment, rtlEnabled) {\r\n rtlEnabled = rtlEnabled || this.option(\"rtlEnabled\");\r\n return alignment && \"center\" !== alignment ? alignment : getDefaultAlignment(rtlEnabled)\r\n },\r\n _createIndicatorContainer(options, ignoreIndicatorAlignment) {\r\n var $indicatorsContainer = this._getIndicatorContainer(options.rootElement);\r\n var indicatorAlignment = \"left\" === options.columnAlignment ? \"right\" : \"left\";\r\n if (!$indicatorsContainer.length) {\r\n $indicatorsContainer = $(\"<div>\").addClass(COLUMN_INDICATORS_CLASS)\r\n }\r\n this.setAria(\"role\", \"presentation\", $indicatorsContainer);\r\n return $indicatorsContainer.css(\"float\", options.showColumnLines && !ignoreIndicatorAlignment ? indicatorAlignment : null)\r\n },\r\n _getIndicatorContainer: $cell => $cell && $cell.find(\".\".concat(COLUMN_INDICATORS_CLASS)),\r\n _getIndicatorElements($cell) {\r\n var $indicatorContainer = this._getIndicatorContainer($cell);\r\n return $indicatorContainer && $indicatorContainer.children()\r\n },\r\n _renderIndicator(options) {\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n $container && $indicator && $container.append($indicator)\r\n },\r\n _updateIndicators(indicatorName) {\r\n var columns = this.getColumns();\r\n var $cells = this.getColumnElements();\r\n var $cell;\r\n if (!$cells || columns.length !== $cells.length) {\r\n return\r\n }\r\n for (var i = 0; i < columns.length; i++) {\r\n $cell = $cells.eq(i);\r\n this._updateIndicator($cell, columns[i], indicatorName);\r\n var rowOptions = $cell.parent().data(\"options\");\r\n if (rowOptions && rowOptions.cells) {\r\n rowOptions.cells[$cell.index()].column = columns[i]\r\n }\r\n }\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n if (!column.command) {\r\n return this._applyColumnState({\r\n name: indicatorName,\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n })\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_modules.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../../core/class\";\r\nimport $ from \"../../../core/renderer\";\r\nimport Callbacks from \"../../../core/utils/callbacks\";\r\nimport {\r\n grep\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../core/utils/window\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nvar WIDGET_WITH_LEGACY_CONTAINER_NAME = \"dxDataGrid\";\r\nvar ModuleItem = Class.inherit({\r\n _endUpdateCore() {},\r\n ctor(component) {\r\n var that = this;\r\n that._updateLockCount = 0;\r\n that.component = component;\r\n that._actions = {};\r\n that._actionConfigs = {};\r\n each(this.callbackNames() || [], (function(index, name) {\r\n var flags = that.callbackFlags(name) || {};\r\n flags.unique = true;\r\n flags.syncStrategy = true;\r\n that[this] = Callbacks(flags)\r\n }))\r\n },\r\n init() {},\r\n callbackNames() {},\r\n callbackFlags() {},\r\n publicMethods() {},\r\n beginUpdate() {\r\n this._updateLockCount++\r\n },\r\n endUpdate() {\r\n if (this._updateLockCount > 0) {\r\n this._updateLockCount--;\r\n if (!this._updateLockCount) {\r\n this._endUpdateCore()\r\n }\r\n }\r\n },\r\n option(name) {\r\n var {\r\n component: component\r\n } = this;\r\n var optionCache = component._optionCache;\r\n if (1 === arguments.length && optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = component.option(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return component.option.apply(component, arguments)\r\n },\r\n _silentOption(name, value) {\r\n var {\r\n component: component\r\n } = this;\r\n var optionCache = component._optionCache;\r\n if (optionCache) {\r\n optionCache[name] = value\r\n }\r\n return component._setOptionWithoutOptionChange(name, value)\r\n },\r\n localize(name) {\r\n var optionCache = this.component._optionCache;\r\n if (optionCache) {\r\n if (!(name in optionCache)) {\r\n optionCache[name] = messageLocalization.format(name)\r\n }\r\n return optionCache[name]\r\n }\r\n return messageLocalization.format(name)\r\n },\r\n on() {\r\n return this.component.on.apply(this.component, arguments)\r\n },\r\n off() {\r\n return this.component.off.apply(this.component, arguments)\r\n },\r\n optionChanged(args) {\r\n if (args.name in this._actions) {\r\n this.createAction(args.name, this._actionConfigs[args.name]);\r\n args.handled = true\r\n }\r\n },\r\n getAction(actionName) {\r\n return this._actions[actionName]\r\n },\r\n setAria(name, value, $target) {\r\n var target = $target.get(0);\r\n var prefix = \"role\" !== name && \"id\" !== name ? \"aria-\" : \"\";\r\n if (target.setAttribute) {\r\n target.setAttribute(prefix + name, value)\r\n } else {\r\n $target.attr(prefix + name, value)\r\n }\r\n },\r\n _createComponent() {\r\n return this.component._createComponent.apply(this.component, arguments)\r\n },\r\n getController(name) {\r\n return this.component._controllers[name]\r\n },\r\n createAction(actionName, config) {\r\n if (isFunction(actionName)) {\r\n var action = this.component._createAction(actionName.bind(this), config);\r\n return function(e) {\r\n action({\r\n event: e\r\n })\r\n }\r\n }\r\n this._actions[actionName] = this.component._createActionByOption(actionName, config);\r\n this._actionConfigs[actionName] = config;\r\n return\r\n },\r\n executeAction(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n },\r\n dispose() {\r\n var that = this;\r\n each(that.callbackNames() || [], (function() {\r\n that[this].empty()\r\n }))\r\n },\r\n addWidgetPrefix(className) {\r\n var componentName = this.component.NAME;\r\n return \"dx-\".concat(componentName.slice(2).toLowerCase()).concat(className ? \"-\".concat(className) : \"\")\r\n },\r\n getWidgetContainerClass() {\r\n var containerName = this.component.NAME === WIDGET_WITH_LEGACY_CONTAINER_NAME ? null : \"container\";\r\n return this.addWidgetPrefix(containerName)\r\n },\r\n elementIsInsideGrid($element) {\r\n var $gridElement = $element.closest(\".\".concat(this.getWidgetContainerClass())).parent();\r\n return $gridElement.is(this.component.$element())\r\n }\r\n});\r\nvar Controller = ModuleItem;\r\nvar ViewController = Controller.inherit({\r\n getView(name) {\r\n return this.component._views[name]\r\n },\r\n getViews() {\r\n return this.component._views\r\n }\r\n});\r\nvar View = ModuleItem.inherit({\r\n _isReady() {\r\n return this.component.isReady()\r\n },\r\n _endUpdateCore() {\r\n this.callBase();\r\n if (!this._isReady() && this._requireReady) {\r\n this._requireRender = false;\r\n this.component._requireResize = false\r\n }\r\n if (this._requireRender) {\r\n this._requireRender = false;\r\n this.render(this._$parent)\r\n }\r\n },\r\n _invalidate(requireResize, requireReady) {\r\n this._requireRender = true;\r\n this.component._requireResize = hasWindow() && (this.component._requireResize || requireResize);\r\n this._requireReady = this._requireReady || requireReady\r\n },\r\n _renderCore() {},\r\n _resizeCore() {},\r\n _parentElement() {\r\n return this._$parent\r\n },\r\n ctor(component) {\r\n this.callBase(component);\r\n this.renderCompleted = Callbacks();\r\n this.resizeCompleted = Callbacks()\r\n },\r\n element() {\r\n return this._$element\r\n },\r\n getElementHeight() {\r\n var $element = this.element();\r\n if (!$element) {\r\n return 0\r\n }\r\n var marginTop = parseFloat($element.css(\"marginTop\")) || 0;\r\n var marginBottom = parseFloat($element.css(\"marginBottom\")) || 0;\r\n var {\r\n offsetHeight: offsetHeight\r\n } = $element.get(0);\r\n return offsetHeight + marginTop + marginBottom\r\n },\r\n isVisible: () => true,\r\n getTemplate(name) {\r\n return this.component._getTemplate(name)\r\n },\r\n render($parent, options) {\r\n var $element = this._$element;\r\n var isVisible = this.isVisible();\r\n if (!$element && !$parent) {\r\n return\r\n }\r\n this._requireReady = false;\r\n if (!$element) {\r\n $element = this._$element = $(\"<div>\").appendTo($parent);\r\n this._$parent = $parent\r\n }\r\n $element.toggleClass(\"dx-hidden\", !isVisible);\r\n if (isVisible) {\r\n this.component._optionCache = {};\r\n var deferred = this._renderCore(options);\r\n this.component._optionCache = void 0;\r\n if (deferred) {\r\n deferred.done(() => {\r\n this.renderCompleted.fire(options)\r\n })\r\n } else {\r\n this.renderCompleted.fire(options)\r\n }\r\n }\r\n },\r\n resize() {\r\n this.isResizing = true;\r\n this._resizeCore();\r\n this.resizeCompleted.fire();\r\n this.isResizing = false\r\n },\r\n focus(preventScroll) {\r\n this.element().get(0).focus({\r\n preventScroll: preventScroll\r\n })\r\n }\r\n});\r\nvar MODULES_ORDER_MAX_INDEX = 1e6;\r\n\r\nfunction getExtendedTypes(types) {\r\n var moduleExtenders = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var extendTypes = {};\r\n Object.entries(moduleExtenders).forEach(_ref => {\r\n var [name, extender] = _ref;\r\n var currentType = types[name];\r\n if (currentType) {\r\n if (isFunction(extender)) {\r\n extendTypes[name] = extender(currentType)\r\n } else {\r\n var classType = currentType;\r\n extendTypes[name] = classType.inherit(extender)\r\n }\r\n }\r\n });\r\n return extendTypes\r\n}\r\n\r\nfunction registerPublicMethods(componentInstance, name, moduleItem) {\r\n var publicMethods = moduleItem.publicMethods();\r\n if (publicMethods) {\r\n each(publicMethods, (_, methodName) => {\r\n if (moduleItem[methodName]) {\r\n if (!componentInstance[methodName]) {\r\n componentInstance[methodName] = function() {\r\n return moduleItem[methodName](...arguments)\r\n }\r\n } else {\r\n throw errors.Error(\"E1005\", methodName)\r\n }\r\n } else {\r\n throw errors.Error(\"E1006\", name, methodName)\r\n }\r\n })\r\n }\r\n}\r\nexport function processModules(componentInstance, componentClass) {\r\n var {\r\n modules: modules\r\n } = componentClass;\r\n var {\r\n modulesOrder: modulesOrder\r\n } = componentClass;\r\n\r\n function createModuleItems(moduleTypes) {\r\n var moduleItems = {};\r\n each(moduleTypes, (name, moduleType) => {\r\n var moduleItem = new moduleType(componentInstance);\r\n moduleItem.name = name;\r\n registerPublicMethods(componentInstance, name, moduleItem);\r\n moduleItems[name] = moduleItem\r\n });\r\n return moduleItems\r\n }\r\n if (modulesOrder) {\r\n modules.sort((module1, module2) => {\r\n var orderIndex1 = modulesOrder.indexOf(module1.name);\r\n var orderIndex2 = modulesOrder.indexOf(module2.name);\r\n if (orderIndex1 < 0) {\r\n orderIndex1 = MODULES_ORDER_MAX_INDEX\r\n }\r\n if (orderIndex2 < 0) {\r\n orderIndex2 = MODULES_ORDER_MAX_INDEX\r\n }\r\n return orderIndex1 - orderIndex2\r\n })\r\n }\r\n var rootControllerTypes = {};\r\n var rootViewTypes = {};\r\n modules.forEach(_ref2 => {\r\n var {\r\n name: moduleName,\r\n controllers: controllers = {},\r\n views: views = {}\r\n } = _ref2;\r\n Object.entries(controllers).forEach(_ref3 => {\r\n var [name, type] = _ref3;\r\n var _a;\r\n if (rootControllerTypes[name]) {\r\n throw errors.Error(\"E1001\", moduleName, name)\r\n } else if (!(null === (_a = null === type || void 0 === type ? void 0 : type.subclassOf) || void 0 === _a ? void 0 : _a.call(type, Controller))) {\r\n throw errors.Error(\"E1002\", moduleName, name)\r\n }\r\n rootControllerTypes[name] = type\r\n });\r\n Object.entries(views).forEach(_ref4 => {\r\n var [name, type] = _ref4;\r\n var _a;\r\n if (rootViewTypes[name]) {\r\n throw errors.Error(\"E1003\", moduleName, name)\r\n } else if (!(null === (_a = null === type || void 0 === type ? void 0 : type.subclassOf) || void 0 === _a ? void 0 : _a.call(type, View))) {\r\n throw errors.Error(\"E1004\", moduleName, name)\r\n }\r\n rootViewTypes[name] = type\r\n })\r\n });\r\n var moduleExtenders = modules.filter(_ref5 => {\r\n var {\r\n extenders: extenders\r\n } = _ref5;\r\n return !!extenders\r\n });\r\n var controllerTypes = moduleExtenders.reduce((types, _ref6) => {\r\n var {\r\n extenders: extenders\r\n } = _ref6;\r\n return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.controllers))\r\n }, rootControllerTypes);\r\n var viewTypes = moduleExtenders.reduce((types, _ref7) => {\r\n var {\r\n extenders: extenders\r\n } = _ref7;\r\n return _extends(_extends({}, types), getExtendedTypes(types, null === extenders || void 0 === extenders ? void 0 : extenders.views))\r\n }, rootViewTypes);\r\n componentInstance._controllers = createModuleItems(controllerTypes);\r\n componentInstance._views = createModuleItems(viewTypes)\r\n}\r\nvar callModuleItemsMethod = function(that, methodName, args) {\r\n args = args || [];\r\n if (that._controllers) {\r\n each(that._controllers, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n if (that._views) {\r\n each(that._views, (function() {\r\n this[methodName] && this[methodName].apply(this, args)\r\n }))\r\n }\r\n};\r\nexport default {\r\n modules: [],\r\n View: View,\r\n ViewController: ViewController,\r\n Controller: Controller,\r\n registerModule(name, module) {\r\n var {\r\n modules: modules\r\n } = this;\r\n for (var i = 0; i < modules.length; i++) {\r\n if (modules[i].name === name) {\r\n return\r\n }\r\n }\r\n module.name = name;\r\n modules.push(module)\r\n },\r\n registerModulesOrder(moduleNames) {\r\n this.modulesOrder = moduleNames\r\n },\r\n unregisterModule(name) {\r\n this.modules = grep(this.modules, module => module.name !== name)\r\n },\r\n processModules: processModules,\r\n callModuleItemsMethod: callModuleItemsMethod\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_columns_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport {\r\n data as elementData\r\n} from \"../../../../core/element_data\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport * as iteratorUtils from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n setWidth\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isRenderer,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../../../events/double_click\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport columnStateMixin from \"../../../grids/grid_core/column_state_mixin/m_column_state_mixin\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar SCROLL_CONTAINER_CLASS = \"scroll-container\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"scrollable-simulated\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar TABLE_CLASS = \"table\";\r\nvar TABLE_FIXED_CLASS = \"table-fixed\";\r\nvar CONTENT_FIXED_CLASS = \"content-fixed\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar FILTER_ROW_CLASS = \"filter-row\";\r\nvar ERROR_ROW_CLASS = \"dx-error-row\";\r\nvar CELL_UPDATED_ANIMATION_CLASS = \"cell-updated-animation\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"0.0001px\";\r\nvar CELL_HINT_VISIBLE = \"dxCellHintVisible\";\r\nvar FORM_FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nvar appendElementTemplate = {\r\n render(options) {\r\n options.container.append(options.content)\r\n }\r\n};\r\nvar subscribeToRowEvents = function(that, $table) {\r\n var touchTarget;\r\n var touchCurrentTarget;\r\n var timeoutId;\r\n\r\n function clearTouchTargets(timeout) {\r\n return setTimeout(() => {\r\n touchTarget = touchCurrentTarget = null\r\n }, timeout)\r\n }\r\n eventsEngine.on($table, \"touchstart touchend\", \".dx-row\", e => {\r\n clearTimeout(timeoutId);\r\n if (\"touchstart\" === e.type) {\r\n touchTarget = e.target;\r\n touchCurrentTarget = e.currentTarget;\r\n timeoutId = clearTouchTargets(1e3)\r\n } else {\r\n timeoutId = clearTouchTargets()\r\n }\r\n });\r\n eventsEngine.on($table, [clickEventName, dblclickEvent, pointerEvents.down].join(\" \"), \".dx-row\", that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (touchTarget) {\r\n event.target = touchTarget;\r\n event.currentTarget = touchCurrentTarget\r\n }\r\n if (!$(event.target).closest(\"a\").length) {\r\n e.rowIndex = that.getRowIndex(event.currentTarget);\r\n if (e.rowIndex >= 0) {\r\n e.rowElement = getPublicElement($(event.currentTarget));\r\n e.columns = that.getColumns();\r\n if (event.type === pointerEvents.down) {\r\n that._rowPointerDown(e)\r\n } else if (event.type === clickEventName) {\r\n that._rowClick(e)\r\n } else {\r\n that._rowDblClick(e)\r\n }\r\n }\r\n }\r\n }))\r\n};\r\nvar getWidthStyle = function(width) {\r\n if (\"auto\" === width) {\r\n return \"\"\r\n }\r\n return isNumeric(width) ? \"\".concat(width, \"px\") : width\r\n};\r\nvar setCellWidth = function(cell, column, width) {\r\n cell.style.width = cell.style.maxWidth = \"auto\" === column.width ? \"\" : width\r\n};\r\nvar copyAttributes = function(element, newElement) {\r\n if (!element || !newElement) {\r\n return\r\n }\r\n var oldAttributes = element.attributes;\r\n var newAttributes = newElement.attributes;\r\n var i;\r\n for (i = 0; i < oldAttributes.length; i++) {\r\n var name = oldAttributes[i].nodeName;\r\n if (!newElement.hasAttribute(name)) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n for (i = 0; i < newAttributes.length; i++) {\r\n element.setAttribute(newAttributes[i].nodeName, newAttributes[i].nodeValue)\r\n }\r\n};\r\nvar removeHandler = function(templateDeferred) {\r\n templateDeferred.resolve()\r\n};\r\nvar viewWithColumnStateMixin = modules.View.inherit(columnStateMixin);\r\nexport class ColumnsView extends viewWithColumnStateMixin {\r\n _createScrollableOptions() {\r\n var scrollingOptions = this.option(\"scrolling\");\r\n var useNativeScrolling = this.option(\"scrolling.useNative\");\r\n var options = extend({}, scrollingOptions, {\r\n direction: \"both\",\r\n bounceEnabled: false,\r\n useKeyboard: false\r\n });\r\n if (void 0 === useNativeScrolling) {\r\n useNativeScrolling = true\r\n }\r\n if (\"auto\" === useNativeScrolling) {\r\n delete options.useNative;\r\n delete options.useSimulatedScrollbar\r\n } else {\r\n options.useNative = !!useNativeScrolling;\r\n options.useSimulatedScrollbar = !useNativeScrolling\r\n }\r\n return options\r\n }\r\n _updateCell($cell, parameters) {\r\n if (parameters.rowType) {\r\n this._cellPrepared($cell, parameters)\r\n }\r\n }\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var alignment = column.alignment || getDefaultAlignment(this.option(\"rtlEnabled\"));\r\n var cell = domAdapter.createElement(\"td\");\r\n cell.style.textAlign = alignment;\r\n var $cell = $(cell);\r\n if (\"data\" === options.rowType && column.headerId && !column.type) {\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n }\r\n if (column.cssClass) {\r\n $cell.addClass(column.cssClass)\r\n }\r\n if (\"expand\" === column.command) {\r\n $cell.addClass(column.cssClass);\r\n $cell.addClass(this.addWidgetPrefix(GROUP_SPACE_CLASS))\r\n }\r\n if (column.colspan > 1) {\r\n $cell.attr(\"colSpan\", column.colspan)\r\n } else if (!column.isBand && \"auto\" !== column.visibleWidth && this.option(\"columnAutoWidth\")) {\r\n if (column.width || column.minWidth) {\r\n cell.style.minWidth = getWidthStyle(column.minWidth || column.width)\r\n }\r\n if (column.width) {\r\n setCellWidth(cell, column, getWidthStyle(column.width))\r\n }\r\n }\r\n return $cell\r\n }\r\n _createRow(rowObject, tagName) {\r\n tagName = tagName || \"tr\";\r\n var $element = $(\"<\".concat(tagName, \">\")).addClass(ROW_CLASS);\r\n this.setAria(\"role\", \"row\", $element);\r\n return $element\r\n }\r\n _isAltRow(row) {\r\n return row && row.dataIndex % 2 === 1\r\n }\r\n _createTable(columns, isAppend) {\r\n var that = this;\r\n var $table = $(\"<table>\").addClass(that.addWidgetPrefix(TABLE_CLASS)).addClass(that.addWidgetPrefix(TABLE_FIXED_CLASS));\r\n if (columns && !isAppend) {\r\n $table.append(that._createColGroup(columns));\r\n if (browser.safari) {\r\n $table.append($(\"<thead>\").append(\"<tr>\"))\r\n }\r\n } else {\r\n that.setAria(\"hidden\", true, $table)\r\n }\r\n this.setAria(\"role\", \"presentation\", $(\"<tbody>\").appendTo($table));\r\n if (isAppend) {\r\n return $table\r\n }\r\n if (browser.mozilla) {\r\n eventsEngine.on($table, \"mousedown\", \"td\", e => {\r\n if (e.ctrlKey) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n if (that.option(\"cellHintEnabled\")) {\r\n eventsEngine.on($table, \"mousemove\", \".dx-row > td\", this.createAction(args => {\r\n var e = args.event;\r\n var $element = $(e.target);\r\n var $cell = $(e.currentTarget);\r\n var $row = $cell.parent();\r\n var visibleColumns = that._columnsController.getVisibleColumns();\r\n var rowOptions = $row.data(\"options\");\r\n var columnIndex = $cell.index();\r\n var cellOptions = rowOptions && rowOptions.cells && rowOptions.cells[columnIndex];\r\n var column = cellOptions ? cellOptions.column : visibleColumns[columnIndex];\r\n var isHeaderRow = $row.hasClass(\"dx-header-row\");\r\n var isDataRow = $row.hasClass(\"dx-data-row\");\r\n var isMasterDetailRow = $row.hasClass(DETAIL_ROW_CLASS);\r\n var isGroupRow = $row.hasClass(GROUP_ROW_CLASS);\r\n var isFilterRow = $row.hasClass(that.addWidgetPrefix(FILTER_ROW_CLASS));\r\n var isDataRowWithTemplate = isDataRow && (!column || column.cellTemplate);\r\n var isEditorShown = isDataRow && cellOptions && (rowOptions.isEditing || cellOptions.isEditing || (null === column || void 0 === column ? void 0 : column.showEditorAlways));\r\n var isHeaderRowWithTemplate = isHeaderRow && (!column || column.headerCellTemplate);\r\n var isGroupCellWithTemplate = isGroupRow && (!column || column.groupIndex && column.groupCellTemplate);\r\n var shouldShowHint = !isMasterDetailRow && !isFilterRow && !isEditorShown && !isDataRowWithTemplate && !isHeaderRowWithTemplate && !isGroupCellWithTemplate;\r\n if (shouldShowHint) {\r\n if ($element.data(CELL_HINT_VISIBLE)) {\r\n $element.removeAttr(\"title\");\r\n $element.data(CELL_HINT_VISIBLE, false)\r\n }\r\n var difference = $element[0].scrollWidth - $element[0].clientWidth;\r\n if (difference > 0 && !isDefined($element.attr(\"title\"))) {\r\n $element.attr(\"title\", $element.text());\r\n $element.data(CELL_HINT_VISIBLE, true)\r\n }\r\n }\r\n }))\r\n }\r\n var getOptions = function(event) {\r\n var $cell = $(event.currentTarget);\r\n var $fieldItemContent = $(event.target).closest(\".\".concat(FORM_FIELD_ITEM_CONTENT_CLASS));\r\n var $row = $cell.parent();\r\n var rowOptions = $row.data(\"options\");\r\n var options = rowOptions && rowOptions.cells && rowOptions.cells[$cell.index()];\r\n if (!$cell.closest(\"table\").is(event.delegateTarget)) {\r\n return\r\n }\r\n var resultOptions = extend({}, options, {\r\n cellElement: getPublicElement($cell),\r\n event: event,\r\n eventType: event.type\r\n });\r\n resultOptions.rowIndex = that.getRowIndex($row);\r\n if ($fieldItemContent.length) {\r\n var formItemOptions = $fieldItemContent.data(\"dx-form-item\");\r\n if (formItemOptions.column) {\r\n resultOptions.column = formItemOptions.column;\r\n resultOptions.columnIndex = that._columnsController.getVisibleIndex(resultOptions.column.index)\r\n }\r\n }\r\n return resultOptions\r\n };\r\n eventsEngine.on($table, \"mouseover\", \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellHoverChanged\", options)\r\n });\r\n eventsEngine.on($table, \"mouseout\", \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellHoverChanged\", options)\r\n });\r\n eventsEngine.on($table, clickEventName, \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellClick\", options)\r\n });\r\n eventsEngine.on($table, dblclickEvent, \".dx-row > td\", e => {\r\n var options = getOptions(e);\r\n options && that.executeAction(\"onCellDblClick\", options)\r\n });\r\n subscribeToRowEvents(that, $table);\r\n return $table\r\n }\r\n _rowPointerDown() {}\r\n _rowClick() {}\r\n _rowDblClick() {}\r\n _createColGroup(columns) {\r\n var colgroupElement = $(\"<colgroup>\");\r\n for (var i = 0; i < columns.length; i++) {\r\n var colspan = columns[i].colspan || 1;\r\n for (var j = 0; j < colspan; j++) {\r\n colgroupElement.append(this._createCol(columns[i]))\r\n }\r\n }\r\n return colgroupElement\r\n }\r\n _createCol(column) {\r\n var width = column.visibleWidth || column.width;\r\n if (\"adaptiveHidden\" === width) {\r\n width = HIDDEN_COLUMNS_WIDTH\r\n }\r\n var col = $(\"<col>\");\r\n setWidth(col, width);\r\n return col\r\n }\r\n renderDelayedTemplates(change) {\r\n var delayedTemplates = this._delayedTemplates;\r\n var syncTemplates = delayedTemplates.filter(template => !template.async);\r\n var asyncTemplates = delayedTemplates.filter(template => template.async);\r\n this._delayedTemplates = [];\r\n this._renderDelayedTemplatesCore(syncTemplates, false, change);\r\n this._renderDelayedTemplatesCoreAsync(asyncTemplates)\r\n }\r\n _renderDelayedTemplatesCoreAsync(templates) {\r\n if (templates.length) {\r\n var templateTimeout = getWindow().setTimeout(() => {\r\n this._templateTimeouts.delete(templateTimeout);\r\n this._renderDelayedTemplatesCore(templates, true)\r\n });\r\n this._templateTimeouts.add(templateTimeout)\r\n }\r\n }\r\n _renderDelayedTemplatesCore(templates, isAsync, change) {\r\n var date = new Date;\r\n while (templates.length) {\r\n var templateParameters = templates.shift();\r\n var {\r\n options: options\r\n } = templateParameters;\r\n var doc = domAdapter.getRootNode($(options.container).get(0));\r\n var needWaitAsyncTemplates = this.needWaitAsyncTemplates();\r\n if (!isAsync || $(options.container).closest(doc).length || needWaitAsyncTemplates) {\r\n if (change) {\r\n options.change = change\r\n }\r\n templateParameters.template.render(options)\r\n }\r\n if (isAsync && new Date - date > 30) {\r\n this._renderDelayedTemplatesCoreAsync(templates);\r\n break\r\n }\r\n }\r\n if (!templates.length && this._delayedTemplates.length) {\r\n this.renderDelayedTemplates()\r\n }\r\n }\r\n _processTemplate(template, options) {\r\n var renderingTemplate;\r\n if (template && template.render && !isRenderer(template)) {\r\n renderingTemplate = {\r\n allowRenderToDetachedContainer: template.allowRenderToDetachedContainer,\r\n render(options) {\r\n template.render(options.container, options.model, options.change);\r\n options.deferred && options.deferred.resolve()\r\n }\r\n }\r\n } else if (isFunction(template)) {\r\n renderingTemplate = {\r\n render(options) {\r\n var renderedTemplate = template(getPublicElement(options.container), options.model, options.change);\r\n if (renderedTemplate && (renderedTemplate.nodeType || isRenderer(renderedTemplate))) {\r\n options.container.append(renderedTemplate)\r\n }\r\n options.deferred && options.deferred.resolve()\r\n }\r\n }\r\n } else {\r\n var templateID = isString(template) ? template : $(template).attr(\"id\");\r\n if (!templateID) {\r\n renderingTemplate = this.getTemplate(template)\r\n } else {\r\n if (!this._templatesCache[templateID]) {\r\n this._templatesCache[templateID] = this.getTemplate(template)\r\n }\r\n renderingTemplate = this._templatesCache[templateID]\r\n }\r\n }\r\n return renderingTemplate\r\n }\r\n renderTemplate(container, template, options, allowRenderToDetachedContainer, change) {\r\n var _a;\r\n var renderingTemplate = this._processTemplate(template, options);\r\n var {\r\n column: column\r\n } = options;\r\n var isDataRow = \"data\" === options.rowType;\r\n var templateDeferred = new Deferred;\r\n var templateOptions = {\r\n container: container,\r\n model: options,\r\n deferred: templateDeferred,\r\n onRendered: () => {\r\n if (this.isDisposed()) {\r\n templateDeferred.reject()\r\n } else {\r\n templateDeferred.resolve()\r\n }\r\n }\r\n };\r\n if (renderingTemplate) {\r\n options.component = this.component;\r\n var columnAsync = column && (column.renderAsync && isDataRow || this.option(\"renderAsync\") && (false !== column.renderAsync && (column.command || column.showEditorAlways) && isDataRow || \"filter\" === options.rowType));\r\n var async = null !== (_a = options.renderAsync) && void 0 !== _a ? _a : columnAsync;\r\n if ((renderingTemplate.allowRenderToDetachedContainer || allowRenderToDetachedContainer) && !async) {\r\n renderingTemplate.render(templateOptions)\r\n } else {\r\n this._delayedTemplates.push({\r\n template: renderingTemplate,\r\n options: templateOptions,\r\n async: async\r\n })\r\n }\r\n this._templateDeferreds.add(templateDeferred);\r\n eventsEngine.on(container, removeEvent, removeHandler.bind(null, templateDeferred))\r\n } else {\r\n templateDeferred.reject()\r\n }\r\n return templateDeferred.promise().always(() => {\r\n this._templateDeferreds.delete(templateDeferred)\r\n })\r\n }\r\n _getBodies(tableElement) {\r\n return $(tableElement).children(\"tbody\").not(\".dx-header\").not(\".dx-footer\")\r\n }\r\n _needWrapRow($tableElement) {\r\n var _a;\r\n var hasRowTemplate = !!this.option().rowTemplate;\r\n return hasRowTemplate && !!(null === (_a = this._getBodies($tableElement)) || void 0 === _a ? void 0 : _a.filter(\".\".concat(ROW_CLASS)).length)\r\n }\r\n _wrapRowIfNeed($table, $row, isRefreshing) {\r\n var $tableElement = isRefreshing ? $table || this._tableElement : this._tableElement || $table;\r\n var needWrapRow = this._needWrapRow($tableElement);\r\n if (needWrapRow) {\r\n var $tbody = $(\"<tbody>\").addClass($row.attr(\"class\"));\r\n this.setAria(\"role\", \"presentation\", $tbody);\r\n return $tbody.append($row)\r\n }\r\n return $row\r\n }\r\n _appendRow($table, $row, appendTemplate) {\r\n appendTemplate = appendTemplate || appendElementTemplate;\r\n appendTemplate.render({\r\n content: $row,\r\n container: $table\r\n })\r\n }\r\n _resizeCore() {\r\n var scrollLeft = this._scrollLeft;\r\n if (scrollLeft >= 0) {\r\n this._scrollLeft = 0;\r\n this.scrollTo({\r\n left: scrollLeft\r\n })\r\n }\r\n }\r\n _renderCore(e) {\r\n var $root = this.element().parent();\r\n if (!$root || $root.parent().length) {\r\n this.renderDelayedTemplates(e)\r\n }\r\n }\r\n _renderTable(options) {\r\n options = options || {};\r\n options.columns = this._columnsController.getVisibleColumns();\r\n var changeType = options.change && options.change.changeType;\r\n var $table = this._createTable(options.columns, \"append\" === changeType || \"prepend\" === changeType || \"update\" === changeType);\r\n this._renderRows($table, options);\r\n return $table\r\n }\r\n _renderRows($table, options) {\r\n var rows = this._getRows(options.change);\r\n var columnIndices = options.change && options.change.columnIndices || [];\r\n var changeTypes = options.change && options.change.changeTypes || [];\r\n for (var i = 0; i < rows.length; i++) {\r\n this._renderRow($table, extend({\r\n row: rows[i],\r\n columnIndices: columnIndices[i],\r\n changeType: changeTypes[i]\r\n }, options))\r\n }\r\n }\r\n _renderRow($table, options) {\r\n if (!options.columnIndices) {\r\n options.row.cells = []\r\n }\r\n var $row = this._createRow(options.row);\r\n var $wrappedRow = this._wrapRowIfNeed($table, $row);\r\n if (\"remove\" !== options.changeType) {\r\n this._renderCells($row, options)\r\n }\r\n this._appendRow($table, $wrappedRow);\r\n var rowOptions = extend({\r\n columns: options.columns\r\n }, options.row);\r\n this._addWatchMethod(rowOptions, options.row);\r\n this._rowPrepared($wrappedRow, rowOptions, options.row)\r\n }\r\n _needRenderCell(columnIndex, columnIndices) {\r\n return !columnIndices || columnIndices.indexOf(columnIndex) >= 0\r\n }\r\n _renderCells($row, options) {\r\n var columnIndex = 0;\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n columns: columns\r\n } = options;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, extend({\r\n column: columns[i],\r\n columnIndex: columnIndex,\r\n value: row.values && row.values[columnIndex],\r\n oldValue: row.oldValues && row.oldValues[columnIndex]\r\n }, options))\r\n }\r\n if (columns[i].colspan > 1) {\r\n columnIndex += columns[i].colspan\r\n } else {\r\n columnIndex++\r\n }\r\n }\r\n }\r\n _updateCells($rowElement, $newRowElement, columnIndices) {\r\n var $cells = $rowElement.children();\r\n var $newCells = $newRowElement.children();\r\n var highlightChanges = this.option(\"highlightChanges\");\r\n var cellUpdatedClass = this.addWidgetPrefix(CELL_UPDATED_ANIMATION_CLASS);\r\n columnIndices.forEach((columnIndex, index) => {\r\n var $cell = $cells.eq(columnIndex);\r\n var $newCell = $newCells.eq(index);\r\n $cell.replaceWith($newCell);\r\n if (highlightChanges && !$newCell.hasClass(\"dx-command-expand\")) {\r\n $newCell.addClass(cellUpdatedClass)\r\n }\r\n });\r\n copyAttributes($rowElement.get(0), $newRowElement.get(0))\r\n }\r\n _setCellAriaAttributes($cell, cellOptions) {\r\n if (\"freeSpace\" !== cellOptions.rowType) {\r\n this.setAria(\"role\", \"gridcell\", $cell);\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var ariaColIndex = cellOptions.columnIndex + columnIndexOffset + 1;\r\n this.setAria(\"colindex\", ariaColIndex, $cell)\r\n }\r\n }\r\n _renderCell($row, options) {\r\n var cellOptions = this._getCellOptions(options);\r\n if (options.columnIndices) {\r\n if (options.row.cells) {\r\n var cellIndex = options.row.cells.findIndex(cell => cell.columnIndex === cellOptions.columnIndex);\r\n options.row.cells[cellIndex] = cellOptions\r\n }\r\n } else {\r\n options.row.cells.push(cellOptions)\r\n }\r\n var $cell = this._createCell(cellOptions);\r\n this._setCellAriaAttributes($cell, cellOptions);\r\n this._renderCellContent($cell, cellOptions, options);\r\n $row.get(0).appendChild($cell.get(0));\r\n return $cell\r\n }\r\n _renderCellContent($cell, options, renderOptions) {\r\n var template = this._getCellTemplate(options);\r\n when(!template || this.renderTemplate($cell, template, options, void 0, renderOptions.change)).done(() => {\r\n this._updateCell($cell, options)\r\n })\r\n }\r\n _getCellTemplate(options) {}\r\n _getRows(change) {\r\n return []\r\n }\r\n _getCellOptions(options) {\r\n var cellOptions = {\r\n column: options.column,\r\n columnIndex: options.columnIndex,\r\n rowType: options.row.rowType,\r\n isAltRow: this._isAltRow(options.row)\r\n };\r\n this._addWatchMethod(cellOptions);\r\n return cellOptions\r\n }\r\n _addWatchMethod(options, source) {\r\n if (!this.option(\"repaintChangesOnly\")) {\r\n return\r\n }\r\n var watchers = [];\r\n source = source || options;\r\n source.watch = source.watch || function(getter, updateValueFunc, updateRowFunc) {\r\n var oldValue = getter(source.data);\r\n var watcher = function(row) {\r\n if (row && updateRowFunc) {\r\n updateRowFunc(row)\r\n }\r\n var newValue = getter(source.data);\r\n if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\r\n if (row) {\r\n updateValueFunc(newValue)\r\n }\r\n oldValue = newValue\r\n }\r\n };\r\n watchers.push(watcher);\r\n return function() {\r\n var index = watchers.indexOf(watcher);\r\n if (index >= 0) {\r\n watchers.splice(index, 1)\r\n }\r\n }\r\n };\r\n source.update = source.update || function(row, keepRow) {\r\n if (row) {\r\n this.data = options.data = row.data;\r\n this.rowIndex = options.rowIndex = row.rowIndex;\r\n this.dataIndex = options.dataIndex = row.dataIndex;\r\n this.isExpanded = options.isExpanded = row.isExpanded;\r\n if (options.row && !keepRow) {\r\n options.row = row\r\n }\r\n }\r\n watchers.forEach(watcher => {\r\n watcher(row)\r\n })\r\n };\r\n if (source !== options) {\r\n options.watch = source.watch.bind(source)\r\n }\r\n return options\r\n }\r\n _cellPrepared(cell, options) {\r\n options.cellElement = getPublicElement($(cell));\r\n this.executeAction(\"onCellPrepared\", options)\r\n }\r\n _rowPrepared($row, options, row) {\r\n elementData($row.get(0), \"options\", options);\r\n options.rowElement = getPublicElement($row);\r\n this.executeAction(\"onRowPrepared\", options)\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"width\", \"visibleWidth\"])) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var widths = iteratorUtils.map(visibleColumns, column => {\r\n var width = column.visibleWidth || column.width;\r\n return isDefined(width) ? width : \"auto\"\r\n });\r\n this.setColumnWidths({\r\n widths: widths,\r\n optionNames: optionNames\r\n });\r\n return\r\n }\r\n if (!this._requireReady) {\r\n this.render()\r\n }\r\n }\r\n getCellIndex($cell) {\r\n var cellIndex = $cell.length ? $cell[0].cellIndex : -1;\r\n return cellIndex\r\n }\r\n getTableElements() {\r\n return this._tableElement || $()\r\n }\r\n getTableElement(isFixedTableRendering) {\r\n return this._tableElement\r\n }\r\n setTableElement(tableElement, isFixedTableRendering) {\r\n this._tableElement = tableElement\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"cellHintEnabled\":\r\n case \"onCellPrepared\":\r\n case \"onRowPrepared\":\r\n case \"onCellHoverChanged\":\r\n this._invalidate(true, true);\r\n args.handled = true\r\n }\r\n }\r\n init() {\r\n this._scrollLeft = -1;\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._delayedTemplates = [];\r\n this._templateDeferreds = new Set;\r\n this._templatesCache = {};\r\n this._templateTimeouts = new Set;\r\n this.createAction(\"onCellClick\");\r\n this.createAction(\"onRowClick\");\r\n this.createAction(\"onCellDblClick\");\r\n this.createAction(\"onRowDblClick\");\r\n this.createAction(\"onCellHoverChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onCellPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this.createAction(\"onRowPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\",\r\n afterExecute: e => {\r\n this._afterRowPrepared(e)\r\n }\r\n });\r\n this._columnsController.columnsChanged.add(this._columnOptionChanged.bind(this));\r\n this._dataController && this._dataController.changed.add(this._handleDataChanged.bind(this))\r\n }\r\n _afterRowPrepared(e) {}\r\n _handleDataChanged() {}\r\n callbackNames() {\r\n return [\"scrollChanged\"]\r\n }\r\n _updateScrollLeftPosition() {\r\n var scrollLeft = this._scrollLeft;\r\n if (scrollLeft >= 0) {\r\n this._scrollLeft = 0;\r\n this.scrollTo({\r\n left: scrollLeft\r\n })\r\n }\r\n }\r\n scrollTo(pos) {\r\n var $element = this.element();\r\n var $scrollContainer = $element && $element.children(\".\".concat(this.addWidgetPrefix(SCROLL_CONTAINER_CLASS))).not(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS)));\r\n if (isDefined(pos) && isDefined(pos.left) && this._scrollLeft !== pos.left) {\r\n this._scrollLeft = pos.left;\r\n $scrollContainer && $scrollContainer.scrollLeft(pos.left)\r\n }\r\n }\r\n _getContent(isFixedTableRendering) {\r\n var _a;\r\n return null === (_a = this._tableElement) || void 0 === _a ? void 0 : _a.parent()\r\n }\r\n _removeContent(isFixedTableRendering) {\r\n var $scrollContainer = this._getContent(isFixedTableRendering);\r\n if (null === $scrollContainer || void 0 === $scrollContainer ? void 0 : $scrollContainer.length) {\r\n $scrollContainer.remove()\r\n }\r\n }\r\n _wrapTableInScrollContainer($table, isFixedTableRendering) {\r\n var $scrollContainer = $(\"<div>\");\r\n var useNative = this.option(\"scrolling.useNative\");\r\n if (false === useNative || \"auto\" === useNative && !nativeScrolling) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(SCROLLABLE_SIMULATED_CLASS))\r\n }\r\n eventsEngine.on($scrollContainer, \"scroll\", () => {\r\n var scrollLeft = $scrollContainer.scrollLeft();\r\n if (scrollLeft !== this._scrollLeft) {\r\n this.scrollChanged.fire({\r\n left: scrollLeft\r\n }, this.name)\r\n }\r\n });\r\n $scrollContainer.addClass(this.addWidgetPrefix(CONTENT_CLASS)).addClass(this.addWidgetPrefix(SCROLL_CONTAINER_CLASS)).append($table).appendTo(this.element());\r\n this.setAria(\"role\", \"presentation\", $scrollContainer);\r\n return $scrollContainer\r\n }\r\n needWaitAsyncTemplates() {\r\n return this.option(\"templatesRenderAsynchronously\") && false === this.option(\"renderAsync\")\r\n }\r\n waitAsyncTemplates() {\r\n var forceWaiting = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var result = new Deferred;\r\n var needWaitAsyncTemplates = forceWaiting || this.needWaitAsyncTemplates();\r\n if (!needWaitAsyncTemplates) {\r\n return result.resolve()\r\n }\r\n var waitTemplatesRecursion = () => when.apply(this, Array.from(this._templateDeferreds)).done(() => {\r\n if (this.isDisposed()) {\r\n result.reject()\r\n } else if (this._templateDeferreds.size > 0) {\r\n waitTemplatesRecursion()\r\n } else {\r\n result.resolve()\r\n }\r\n }).fail(result.reject);\r\n waitTemplatesRecursion();\r\n return result.promise()\r\n }\r\n _updateContent($newTableElement, change, isFixedTableRendering) {\r\n return this.waitAsyncTemplates().done(() => {\r\n this._removeContent(isFixedTableRendering);\r\n this.setTableElement($newTableElement, isFixedTableRendering);\r\n this._wrapTableInScrollContainer($newTableElement, isFixedTableRendering)\r\n })\r\n }\r\n _findContentElement() {}\r\n _getWidths($cellElements) {\r\n var result = [];\r\n var width;\r\n if ($cellElements) {\r\n iteratorUtils.each($cellElements, (index, item) => {\r\n width = item.offsetWidth;\r\n if (item.getBoundingClientRect) {\r\n var clientRect = getBoundingRect(item);\r\n if (clientRect.width > width - 1) {\r\n width = clientRect.width\r\n }\r\n }\r\n result.push(width)\r\n })\r\n }\r\n return result\r\n }\r\n getColumnWidths($tableElement) {\r\n var result = [];\r\n var $rows;\r\n var $cells;\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n $tableElement = $tableElement || this.getTableElement();\r\n if ($tableElement) {\r\n $rows = $tableElement.children(\"tbody:not(.dx-header)\").children();\r\n for (var i = 0; i < $rows.length; i++) {\r\n var $row = $rows.eq(i);\r\n var isRowVisible = \"none\" !== $row.get(0).style.display && !$row.hasClass(\"dx-state-invisible\");\r\n if (!$row.is(\".\".concat(GROUP_ROW_CLASS)) && !$row.is(\".\".concat(DETAIL_ROW_CLASS)) && !$row.is(\".\".concat(ERROR_ROW_CLASS)) && isRowVisible) {\r\n $cells = $row.children(\"td\");\r\n break\r\n }\r\n }\r\n result = this._getWidths($cells)\r\n }\r\n return result\r\n }\r\n getVisibleColumnIndex(columnIndex, rowIndex) {\r\n return columnIndex\r\n }\r\n setColumnWidths(_ref) {\r\n var {\r\n widths: widths,\r\n $tableElement: $tableElement,\r\n columns: columns,\r\n fixed: fixed\r\n } = _ref;\r\n var $cols;\r\n var width;\r\n var minWidth;\r\n var columnIndex;\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n $tableElement = $tableElement || this.getTableElement();\r\n if ($tableElement && $tableElement.length && widths) {\r\n columnIndex = 0;\r\n $cols = $tableElement.children(\"colgroup\").children(\"col\");\r\n setWidth($cols, \"auto\");\r\n columns = columns || this.getColumns(null, $tableElement);\r\n for (var i = 0; i < columns.length; i++) {\r\n if (columnAutoWidth && !fixed) {\r\n width = columns[i].width;\r\n if (width && !columns[i].command) {\r\n width = columns[i].visibleWidth || width;\r\n width = getWidthStyle(width);\r\n minWidth = getWidthStyle(columns[i].minWidth || width);\r\n var $rows = $rows || $tableElement.children().children(\".dx-row\").not(\".\".concat(DETAIL_ROW_CLASS));\r\n for (var rowIndex = 0; rowIndex < $rows.length; rowIndex++) {\r\n var row = $rows[rowIndex];\r\n var cell = void 0;\r\n var visibleIndex = this.getVisibleColumnIndex(i, rowIndex);\r\n if (row.classList.contains(GROUP_ROW_CLASS)) {\r\n cell = row.querySelector(\"td[aria-colindex='\".concat(visibleIndex + 1, \"']:not(.\").concat(GROUP_CELL_CLASS, \")\"))\r\n } else {\r\n cell = row.cells[visibleIndex]\r\n }\r\n if (cell) {\r\n setCellWidth(cell, columns[i], width);\r\n cell.style.minWidth = minWidth\r\n }\r\n }\r\n }\r\n }\r\n if (columns[i].colspan) {\r\n columnIndex += columns[i].colspan;\r\n continue\r\n }\r\n width = widths[columnIndex];\r\n if (\"adaptiveHidden\" === width) {\r\n width = HIDDEN_COLUMNS_WIDTH\r\n }\r\n if (\"number\" === typeof width) {\r\n width = \"\".concat(width.toFixed(3), \"px\")\r\n }\r\n setWidth($cols.eq(columnIndex), isDefined(width) ? width : \"auto\");\r\n columnIndex++\r\n }\r\n }\r\n }\r\n getCellElements(rowIndex) {\r\n return this._getCellElementsCore(rowIndex)\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n if (rowIndex < 0) {\r\n return\r\n }\r\n var $row = this._getRowElements().eq(rowIndex);\r\n return $row.children()\r\n }\r\n _getCellElement(rowIndex, columnIdentifier) {\r\n var $cells = this.getCellElements(rowIndex);\r\n var columnVisibleIndex = this._getVisibleColumnIndex($cells, rowIndex, columnIdentifier);\r\n if (!(null === $cells || void 0 === $cells ? void 0 : $cells.length) || columnVisibleIndex < 0) {\r\n return\r\n }\r\n var $cell = $cells.eq(columnVisibleIndex);\r\n return $cell.length > 0 ? $cell : void 0\r\n }\r\n _getRowElement(rowIndex) {\r\n var that = this;\r\n var $rowElement = $();\r\n var $tableElements = that.getTableElements();\r\n iteratorUtils.each($tableElements, (_, tableElement) => {\r\n $rowElement = $rowElement.add(that._getRowElements($(tableElement)).eq(rowIndex))\r\n });\r\n if ($rowElement.length) {\r\n return $rowElement\r\n }\r\n return\r\n }\r\n getCellElement(rowIndex, columnIdentifier) {\r\n var $cell = this._getCellElement(rowIndex, columnIdentifier);\r\n if ($cell) {\r\n return getPublicElement($cell)\r\n }\r\n return\r\n }\r\n getRowElement(rowIndex) {\r\n var $rows = this._getRowElement(rowIndex);\r\n var elements = [];\r\n if ($rows && !getPublicElement($rows).get) {\r\n for (var i = 0; i < $rows.length; i++) {\r\n elements.push($rows[i])\r\n }\r\n } else {\r\n elements = $rows\r\n }\r\n return elements\r\n }\r\n _getVisibleColumnIndex($cells, rowIndex, columnIdentifier) {\r\n if (isString(columnIdentifier)) {\r\n var columnIndex = this._columnsController.columnOption(columnIdentifier, \"index\");\r\n return this._columnsController.getVisibleIndex(columnIndex)\r\n }\r\n return columnIdentifier\r\n }\r\n getColumnElements() {}\r\n getColumns(rowIndex, $tableElement) {\r\n return this._columnsController.getVisibleColumns(rowIndex)\r\n }\r\n getCell(cellPosition, rows, cells) {\r\n var $rows = rows || this._getRowElements();\r\n var $cells;\r\n if ($rows.length > 0 && cellPosition.rowIndex >= 0) {\r\n if (\"virtual\" !== this.option(\"scrolling.mode\") && \"virtual\" !== this.option(\"scrolling.rowRenderingMode\")) {\r\n cellPosition.rowIndex = cellPosition.rowIndex < $rows.length ? cellPosition.rowIndex : $rows.length - 1\r\n }\r\n $cells = cells || this.getCellElements(cellPosition.rowIndex);\r\n if ((null === $cells || void 0 === $cells ? void 0 : $cells.length) > 0) {\r\n return $cells.eq($cells.length > cellPosition.columnIndex ? cellPosition.columnIndex : $cells.length - 1)\r\n }\r\n }\r\n }\r\n getRowsCount() {\r\n var tableElement = this.getTableElement();\r\n if (tableElement && 1 === tableElement.length) {\r\n return tableElement[0].rows.length\r\n }\r\n return 0\r\n }\r\n _getRowElementsCore(tableElement) {\r\n tableElement = tableElement || this.getTableElement();\r\n if (tableElement) {\r\n var hasRowTemplate = this.option().rowTemplate || this.option(\"dataRowTemplate\");\r\n var tBodies = hasRowTemplate && tableElement.find(\"> tbody.\".concat(ROW_CLASS));\r\n return tBodies && tBodies.length ? tBodies : tableElement.find(\"> tbody > \" + \".\".concat(ROW_CLASS, \", > .\").concat(ROW_CLASS))\r\n }\r\n return $()\r\n }\r\n _getRowElements(tableElement) {\r\n return this._getRowElementsCore(tableElement)\r\n }\r\n getRowIndex($row) {\r\n return this._getRowElements().index($row)\r\n }\r\n getBoundingRect() {}\r\n getName() {}\r\n setScrollerSpacing(width) {\r\n var $element = this.element();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n $element && $element.css({\r\n paddingLeft: rtlEnabled ? width : \"\",\r\n paddingRight: !rtlEnabled ? width : \"\"\r\n })\r\n }\r\n isScrollbarVisible(isHorizontal) {\r\n var $element = this.element();\r\n var $tableElement = this._tableElement;\r\n if ($element && $tableElement) {\r\n return isHorizontal ? getOuterWidth($tableElement) - getWidth($element) > 0 : getOuterHeight($tableElement) - getHeight($element) > 0\r\n }\r\n return false\r\n }\r\n isDisposed() {\r\n var _a;\r\n return null === (_a = this.component) || void 0 === _a ? void 0 : _a._disposed\r\n }\r\n dispose() {\r\n var _a, _b;\r\n if (hasWindow()) {\r\n var window = getWindow();\r\n null === (_a = this._templateTimeouts) || void 0 === _a ? void 0 : _a.forEach(templateTimeout => window.clearTimeout(templateTimeout));\r\n null === (_b = this._templateTimeouts) || void 0 === _b ? void 0 : _b.clear()\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_headers/m_column_headers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../m_accessibility\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar CELL_CONTENT_CLASS = \"text-content\";\r\nvar HEADERS_CLASS = \"headers\";\r\nvar NOWRAP_CLASS = \"nowrap\";\r\nvar ROW_CLASS_SELECTOR = \".dx-row\";\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar CONTEXT_MENU_SORT_ASC_ICON = \"context-menu-sort-asc\";\r\nvar CONTEXT_MENU_SORT_DESC_ICON = \"context-menu-sort-desc\";\r\nvar CONTEXT_MENU_SORT_NONE_ICON = \"context-menu-sort-none\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar VISIBILITY_HIDDEN_CLASS = \"dx-visibility-hidden\";\r\nvar TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX = \"dx-text-content-alignment-\";\r\nvar SORT_INDICATOR_CLASS = \"dx-sort-indicator\";\r\nvar SORT_INDEX_INDICATOR_CLASS = \"dx-sort-index-indicator\";\r\nvar HEADER_FILTER_CLASS_SELECTOR = \".dx-header-filter\";\r\nvar HEADER_FILTER_INDICATOR_CLASS = \"dx-header-filter-indicator\";\r\nvar MULTI_ROW_HEADER_CLASS = \"dx-header-multi-row\";\r\nvar LINK = \"dx-link\";\r\nexport var columnHeadersModule = {\r\n defaultOptions: () => ({\r\n showColumnHeaders: true,\r\n cellHintEnabled: true\r\n }),\r\n views: {\r\n columnHeadersView: ColumnsView.inherit(function() {\r\n var createCellContent = function(that, $cell, options) {\r\n var $cellContent = $(\"<div>\").addClass(that.addWidgetPrefix(CELL_CONTENT_CLASS));\r\n that.setAria(\"role\", \"presentation\", $cellContent);\r\n addCssClassesToCellContent(that, $cell, options.column, $cellContent);\r\n var showColumnLines = that.option(\"showColumnLines\");\r\n var contentAlignment = that.getController(\"columns\").getHeaderContentAlignment(options.column.alignment);\r\n return $cellContent[showColumnLines || \"right\" === contentAlignment ? \"appendTo\" : \"prependTo\"]($cell)\r\n };\r\n\r\n function addCssClassesToCellContent(that, $cell, column, $cellContent) {\r\n var $indicatorElements = that._getIndicatorElements($cell, true);\r\n var $visibleIndicatorElements = that._getIndicatorElements($cell);\r\n var indicatorCount = $indicatorElements && $indicatorElements.length;\r\n var columnAlignment = that._getColumnAlignment(column.alignment);\r\n var sortIndicatorClassName = \".\".concat(that._getIndicatorClassName(\"sort\"));\r\n var sortIndexIndicatorClassName = \".\".concat(that._getIndicatorClassName(\"sortIndex\"));\r\n var $sortIndicator = $visibleIndicatorElements.filter(sortIndicatorClassName);\r\n var $sortIndexIndicator = $visibleIndicatorElements.children().filter(sortIndexIndicatorClassName);\r\n $cellContent = $cellContent || $cell.children(\".\".concat(that.addWidgetPrefix(CELL_CONTENT_CLASS)));\r\n $cellContent.toggleClass(TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX + columnAlignment, indicatorCount > 0).toggleClass(TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX + (\"left\" === columnAlignment ? \"right\" : \"left\"), indicatorCount > 0 && \"center\" === column.alignment).toggleClass(SORT_INDICATOR_CLASS, !!$sortIndicator.length).toggleClass(SORT_INDEX_INDICATOR_CLASS, !!$sortIndexIndicator.length).toggleClass(HEADER_FILTER_INDICATOR_CLASS, !!$visibleIndicatorElements.filter(\".\".concat(that._getIndicatorClassName(\"headerFilter\"))).length)\r\n }\r\n var members = {\r\n _createTable() {\r\n var $table = this.callBase.apply(this, arguments);\r\n eventsEngine.on($table, \"mousedown selectstart\", this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n }));\r\n return $table\r\n },\r\n _isLegacyKeyboardNavigation() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n },\r\n _getDefaultTemplate(column) {\r\n var that = this;\r\n return function($container, options) {\r\n var {\r\n caption: caption\r\n } = column;\r\n var needCellContent = !column.command || caption && \"expand\" !== column.command;\r\n if (\"empty\" === column.command) {\r\n that._renderEmptyMessage($container, options)\r\n } else if (needCellContent) {\r\n var $content = createCellContent(that, $container, options);\r\n $content.text(caption)\r\n } else if (column.command) {\r\n $container.html(\" \")\r\n }\r\n }\r\n },\r\n _renderEmptyMessage($container, options) {\r\n var textEmpty = this._getEmptyHeaderText();\r\n if (!textEmpty) {\r\n $container.html(\" \");\r\n return\r\n }\r\n var $cellContent = createCellContent(this, $container, options);\r\n var needSplit = textEmpty.includes(\"{0}\");\r\n if (needSplit) {\r\n var [leftPart, rightPart] = textEmpty.split(\"{0}\");\r\n var columnChooserTitle = messageLocalization.format(\"dxDataGrid-emptyHeaderColumnChooserText\");\r\n var columnChooserView = this.component.getView(\"columnChooserView\");\r\n var $link = $(\"<a>\").text(columnChooserTitle).addClass(LINK);\r\n eventsEngine.on($link, \"click\", this.createAction(() => columnChooserView.showColumnChooser()));\r\n $cellContent.append(domAdapter.createTextNode(leftPart)).append($link).append(domAdapter.createTextNode(rightPart))\r\n } else {\r\n $cellContent.text(textEmpty)\r\n }\r\n },\r\n _getEmptyHeaderText() {\r\n var hasHiddenColumns = !!this.component.getView(\"columnChooserView\").hasHiddenColumns();\r\n var hasGroupedColumns = !!this.component.getView(\"headerPanel\").hasGroupedColumns();\r\n switch (true) {\r\n case hasHiddenColumns && hasGroupedColumns:\r\n return messageLocalization.format(\"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\");\r\n case hasGroupedColumns:\r\n return messageLocalization.format(\"dxDataGrid-emptyHeaderWithGroupPanelText\");\r\n case hasHiddenColumns:\r\n return messageLocalization.format(\"dxDataGrid-emptyHeaderWithColumnChooserText\");\r\n default:\r\n return \"\"\r\n }\r\n },\r\n _getHeaderTemplate(column) {\r\n return column.headerCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n },\r\n _processTemplate(template, options) {\r\n var that = this;\r\n var resultTemplate;\r\n var {\r\n column: column\r\n } = options;\r\n var renderingTemplate = that.callBase(template);\r\n if (\"header\" === options.rowType && renderingTemplate && column.headerCellTemplate && !column.command) {\r\n resultTemplate = {\r\n render(options) {\r\n var $content = createCellContent(that, options.container, options.model);\r\n renderingTemplate.render(extend({}, options, {\r\n container: $content\r\n }))\r\n }\r\n }\r\n } else {\r\n resultTemplate = renderingTemplate\r\n }\r\n return resultTemplate\r\n },\r\n _handleDataChanged(e) {\r\n if (\"refresh\" !== e.changeType) {\r\n return\r\n }\r\n if (this._isGroupingChanged || this._requireReady) {\r\n this._isGroupingChanged = false;\r\n this.render()\r\n }\r\n },\r\n _renderCell($row, options) {\r\n var $cell = this.callBase($row, options);\r\n if (\"header\" === options.row.rowType) {\r\n $cell.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n if (!this._isLegacyKeyboardNavigation()) {\r\n if (options.column && !options.column.type) {\r\n $cell.attr(\"tabindex\", this.option(\"tabindex\") || 0)\r\n }\r\n }\r\n }\r\n return $cell\r\n },\r\n _setCellAriaAttributes($cell, cellOptions) {\r\n this.callBase($cell, cellOptions);\r\n if (\"header\" === cellOptions.rowType) {\r\n this.setAria(\"role\", \"columnheader\", $cell);\r\n if (cellOptions.column && !cellOptions.column.command && !cellOptions.column.isBand) {\r\n $cell.attr(\"id\", cellOptions.column.headerId);\r\n this.setAria(\"label\", \"\".concat(messageLocalization.format(\"dxDataGrid-ariaColumn\"), \" \").concat(cellOptions.column.caption), $cell)\r\n }\r\n }\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n $row.toggleClass(COLUMN_LINES_CLASS, this.option(\"showColumnLines\"));\r\n if (\"header\" === row.rowType) {\r\n $row.addClass(HEADER_ROW_CLASS);\r\n if (!this._isLegacyKeyboardNavigation()) {\r\n registerKeyboardAction(\"columnHeaders\", this, $row, \"td\", this._handleActionKeyDown.bind(this))\r\n }\r\n }\r\n return $row\r\n },\r\n _handleActionKeyDown(args) {\r\n var {\r\n event: event\r\n } = args;\r\n var $target = $(event.target);\r\n this._lastActionElement = event.target;\r\n if ($target.is(HEADER_FILTER_CLASS_SELECTOR)) {\r\n var headerFilterController = this.getController(\"headerFilter\");\r\n var $column = $target.closest(\"td\");\r\n var columnIndex = this.getColumnIndexByElement($column);\r\n if (columnIndex >= 0) {\r\n headerFilterController.showHeaderFilterMenu(columnIndex, false)\r\n }\r\n } else {\r\n var $row = $target.closest(ROW_CLASS_SELECTOR);\r\n this._processHeaderAction(event, $row)\r\n }\r\n event.preventDefault()\r\n },\r\n _renderCore() {\r\n var $container = this.element();\r\n var change = {};\r\n if (this._tableElement && !this._dataController.isLoaded() && !this._hasRowElements) {\r\n return\r\n }\r\n $container.addClass(this.addWidgetPrefix(HEADERS_CLASS)).toggleClass(this.addWidgetPrefix(NOWRAP_CLASS), !this.option(\"wordWrapEnabled\")).empty();\r\n this.setAria(\"role\", \"presentation\", $container);\r\n var deferred = this._updateContent(this._renderTable({\r\n change: change\r\n }), change);\r\n if (this.getRowCount() > 1) {\r\n $container.addClass(MULTI_ROW_HEADER_CLASS)\r\n }\r\n this.callBase.apply(this, arguments);\r\n return deferred\r\n },\r\n _renderRows() {\r\n if (this._dataController.isLoaded() || this._hasRowElements) {\r\n this.callBase.apply(this, arguments);\r\n this._hasRowElements = true\r\n }\r\n },\r\n _renderRow($table, options) {\r\n var rowIndex = 1 === this.getRowCount() ? null : options.row.rowIndex;\r\n options.columns = this.getColumns(rowIndex);\r\n this.callBase($table, options)\r\n },\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $cellElement = this.callBase.apply(this, arguments);\r\n column.rowspan > 1 && \"header\" === options.rowType && $cellElement.attr(\"rowSpan\", column.rowspan);\r\n return $cellElement\r\n },\r\n _getRows() {\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n if (this.option(\"showColumnHeaders\")) {\r\n for (var i = 0; i < rowCount; i++) {\r\n result.push({\r\n rowType: \"header\",\r\n rowIndex: i\r\n })\r\n }\r\n }\r\n return result\r\n },\r\n _getCellTemplate(options) {\r\n if (\"header\" === options.rowType) {\r\n return this._getHeaderTemplate(options.column)\r\n }\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (changeTypes.grouping || changeTypes.groupExpanding) {\r\n if (changeTypes.grouping) {\r\n this._isGroupingChanged = true\r\n }\r\n return\r\n }\r\n this.callBase(e);\r\n if (optionNames.width || optionNames.visible) {\r\n this.resizeCompleted.fire()\r\n }\r\n },\r\n _isElementVisible: elementOptions => elementOptions && elementOptions.visible,\r\n _alignCaptionByCenter($cell) {\r\n var $indicatorsContainer = this._getIndicatorContainer($cell, true);\r\n if ($indicatorsContainer && $indicatorsContainer.length) {\r\n $indicatorsContainer.filter(\".\".concat(VISIBILITY_HIDDEN_CLASS)).remove();\r\n $indicatorsContainer = this._getIndicatorContainer($cell);\r\n $indicatorsContainer.clone().addClass(VISIBILITY_HIDDEN_CLASS).css(\"float\", \"\").insertBefore($cell.children(\".\".concat(this.addWidgetPrefix(CELL_CONTENT_CLASS))))\r\n }\r\n },\r\n _updateCell($cell, options) {\r\n if (\"header\" === options.rowType && \"center\" === options.column.alignment) {\r\n this._alignCaptionByCenter($cell)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n var $indicatorElement = this.callBase.apply(this, arguments);\r\n if (\"center\" === column.alignment) {\r\n this._alignCaptionByCenter($cell)\r\n }\r\n addCssClassesToCellContent(this, $cell, column);\r\n return $indicatorElement\r\n },\r\n _getIndicatorContainer($cell, returnAll) {\r\n var $indicatorsContainer = this.callBase($cell);\r\n return returnAll ? $indicatorsContainer : $indicatorsContainer.filter(\":not(.\".concat(VISIBILITY_HIDDEN_CLASS, \")\"))\r\n },\r\n _isSortableElement: () => true,\r\n getHeadersRowHeight() {\r\n var $tableElement = this.getTableElement();\r\n var $headerRows = $tableElement && $tableElement.find(\".\".concat(HEADER_ROW_CLASS));\r\n return $headerRows && $headerRows.toArray().reduce((sum, headerRow) => sum + getHeight(headerRow), 0) || 0\r\n },\r\n getHeaderElement(index) {\r\n var columnElements = this.getColumnElements();\r\n return columnElements && columnElements.eq(index)\r\n },\r\n getColumnElements(index, bandColumnIndex) {\r\n var that = this;\r\n var $cellElement;\r\n var columnsController = that._columnsController;\r\n var rowCount = that.getRowCount();\r\n if (that.option(\"showColumnHeaders\")) {\r\n if (rowCount > 1 && (!isDefined(index) || isDefined(bandColumnIndex))) {\r\n var result = [];\r\n var visibleColumns = isDefined(bandColumnIndex) ? columnsController.getChildrenByBandColumn(bandColumnIndex, true) : columnsController.getVisibleColumns();\r\n each(visibleColumns, (_, column) => {\r\n var rowIndex = isDefined(index) ? index : columnsController.getRowIndex(column.index);\r\n $cellElement = that._getCellElement(rowIndex, columnsController.getVisibleIndex(column.index, rowIndex));\r\n $cellElement && result.push($cellElement.get(0))\r\n });\r\n return $(result)\r\n }\r\n if (!index || index < rowCount) {\r\n return that.getCellElements(index || 0)\r\n }\r\n }\r\n },\r\n getColumnIndexByElement($cell) {\r\n var cellIndex = this.getCellIndex($cell);\r\n var $row = $cell.closest(\".dx-row\");\r\n var {\r\n rowIndex: rowIndex\r\n } = $row[0];\r\n var column = this.getColumns(rowIndex)[cellIndex];\r\n return column ? column.index : -1\r\n },\r\n getVisibleColumnIndex(columnIndex, rowIndex) {\r\n var column = this.getColumns()[columnIndex];\r\n return column ? this._columnsController.getVisibleIndex(column.index, rowIndex) : -1\r\n },\r\n getColumnWidths() {\r\n var $columnElements = this.getColumnElements();\r\n if ($columnElements && $columnElements.length) {\r\n return this._getWidths($columnElements)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n allowDragging(column) {\r\n var rowIndex = column && this._columnsController.getRowIndex(column.index);\r\n var columns = this.getColumns(rowIndex);\r\n var isReorderingEnabled = this.option(\"allowColumnReordering\") || this._columnsController.isColumnOptionUsed(\"allowReordering\");\r\n return isReorderingEnabled && column.allowReordering && columns.length > 1\r\n },\r\n getBoundingRect() {\r\n var $columnElements = this.getColumnElements();\r\n if ($columnElements && $columnElements.length) {\r\n var offset = this.getTableElement().offset();\r\n return {\r\n top: offset.top\r\n }\r\n }\r\n return null\r\n },\r\n getName: () => \"headers\",\r\n getColumnCount() {\r\n var $columnElements = this.getColumnElements();\r\n return $columnElements ? $columnElements.length : 0\r\n },\r\n isVisible() {\r\n return this.option(\"showColumnHeaders\")\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"showColumnHeaders\":\r\n case \"wordWrapEnabled\":\r\n case \"showColumnLines\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n getContextMenuItems(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (options.row && (\"header\" === options.row.rowType || \"detailAdaptive\" === options.row.rowType)) {\r\n var sortingOptions = that.option(\"sorting\");\r\n if (sortingOptions && \"none\" !== sortingOptions.mode && column && column.allowSorting) {\r\n var onItemClick = function(params) {\r\n setTimeout(() => {\r\n that._columnsController.changeSortOrder(column.index, params.itemData.value)\r\n })\r\n };\r\n return [{\r\n text: sortingOptions.ascendingText,\r\n value: \"asc\",\r\n disabled: \"asc\" === column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_ASC_ICON,\r\n onItemClick: onItemClick\r\n }, {\r\n text: sortingOptions.descendingText,\r\n value: \"desc\",\r\n disabled: \"desc\" === column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_DESC_ICON,\r\n onItemClick: onItemClick\r\n }, {\r\n text: sortingOptions.clearText,\r\n value: \"none\",\r\n disabled: !column.sortOrder,\r\n icon: CONTEXT_MENU_SORT_NONE_ICON,\r\n onItemClick: onItemClick\r\n }]\r\n }\r\n }\r\n return\r\n },\r\n getRowCount() {\r\n return this._columnsController && this._columnsController.getRowCount()\r\n },\r\n setRowsOpacity(columnIndex, value, rowIndex) {\r\n var i;\r\n var columnElements;\r\n var rowCount = this.getRowCount();\r\n var columns = this._columnsController.getColumns();\r\n var column = columns && columns[columnIndex];\r\n var columnID = column && column.isBand && column.index;\r\n var setColumnOpacity = (column, index) => {\r\n if (column.ownerBand === columnID) {\r\n columnElements.eq(index).css({\r\n opacity: value\r\n });\r\n if (column.isBand) {\r\n this.setRowsOpacity(column.index, value, i + 1)\r\n }\r\n }\r\n };\r\n if (isDefined(columnID)) {\r\n rowIndex = rowIndex || 0;\r\n for (i = rowIndex; i < rowCount; i++) {\r\n columnElements = this.getCellElements(i);\r\n if (columnElements) {\r\n var rowColumns = this.getColumns(i);\r\n rowColumns.forEach(setColumnOpacity)\r\n }\r\n }\r\n }\r\n }\r\n };\r\n return members\r\n }())\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport modules from \"../../grids/grid_core/m_modules\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nexport default _extends(_extends(_extends({}, modules), gridCoreUtils), {\r\n modules: []\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_headers.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnHeadersModule\r\n} from \"../../../grids/grid_core/column_headers/m_column_headers\";\r\nimport gridCore from \"../m_core\";\r\nexport var ColumnHeadersView = columnHeadersModule.views.columnHeadersView;\r\ngridCore.registerModule(\"columnHeaders\", columnHeadersModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var USER_STATE_FIELD_NAMES_15_1 = [\"filterValues\", \"filterType\", \"fixed\", \"fixedPosition\"];\r\nexport var USER_STATE_FIELD_NAMES = [\"visibleIndex\", \"dataField\", \"name\", \"dataType\", \"width\", \"visible\", \"sortOrder\", \"lastSortOrder\", \"sortIndex\", \"groupIndex\", \"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"bufferedSelectedFilterOperation\", \"added\"].concat(USER_STATE_FIELD_NAMES_15_1);\r\nexport var IGNORE_COLUMN_OPTION_NAMES = {\r\n visibleWidth: true,\r\n bestFitWidth: true,\r\n bufferedFilterValue: true\r\n};\r\nexport var COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexport var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\nexport var GROUP_COMMAND_COLUMN_NAME = \"groupExpand\";\r\nexport var DETAIL_COMMAND_COLUMN_NAME = \"detailExpand\";\r\nexport var COLUMN_OPTION_REGEXP = /columns\\[(\\d+)\\]\\.?/gi;\r\nexport var DEFAULT_COLUMN_OPTIONS = {\r\n visible: true,\r\n showInColumnChooser: true\r\n};\r\nexport var DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"between\"]\r\n};\r\nexport var COLUMN_INDEX_OPTIONS = {\r\n visibleIndex: true,\r\n groupIndex: true,\r\n grouped: true,\r\n sortIndex: true,\r\n sortOrder: true\r\n};\r\nexport var GROUP_LOCATION = \"group\";\r\nexport var COLUMN_CHOOSER_LOCATION = \"columnChooser\";\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/m_columns_controller_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeIndexes\r\n} from \"../../../../core/utils/array\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../../../core/utils/data\";\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject,\r\n isString,\r\n type\r\n} from \"../../../../core/utils/type\";\r\nimport variableWrapper from \"../../../../core/utils/variable_wrapper\";\r\nimport numberLocalization from \"../../../../localization/number\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n COLUMN_CHOOSER_LOCATION,\r\n COLUMN_INDEX_OPTIONS,\r\n DEFAULT_COLUMN_OPTIONS,\r\n GROUP_COMMAND_COLUMN_NAME,\r\n GROUP_LOCATION,\r\n IGNORE_COLUMN_OPTION_NAMES,\r\n USER_STATE_FIELD_NAMES,\r\n USER_STATE_FIELD_NAMES_15_1\r\n} from \"./const\";\r\nexport var setFilterOperationsAsDefaultValues = function(column) {\r\n column.filterOperations = column.defaultFilterOperations\r\n};\r\nvar globalColumnId = 1;\r\nexport var createColumn = function(that, columnOptions, userStateColumnOptions, bandColumn) {\r\n var commonColumnOptions = {};\r\n if (columnOptions) {\r\n if (isString(columnOptions)) {\r\n columnOptions = {\r\n dataField: columnOptions\r\n }\r\n }\r\n that.setName(columnOptions);\r\n var result = {};\r\n if (columnOptions.command) {\r\n result = deepExtendArraySafe(commonColumnOptions, columnOptions)\r\n } else {\r\n commonColumnOptions = that.getCommonSettings(columnOptions);\r\n if (userStateColumnOptions && userStateColumnOptions.name && userStateColumnOptions.dataField) {\r\n columnOptions = extend({}, columnOptions, {\r\n dataField: userStateColumnOptions.dataField\r\n })\r\n }\r\n var calculatedColumnOptions = that._createCalculatedColumnOptions(columnOptions, bandColumn);\r\n if (!columnOptions.type) {\r\n result = {\r\n headerId: \"dx-col-\".concat(globalColumnId++)\r\n }\r\n }\r\n result = deepExtendArraySafe(result, DEFAULT_COLUMN_OPTIONS);\r\n deepExtendArraySafe(result, commonColumnOptions);\r\n deepExtendArraySafe(result, calculatedColumnOptions);\r\n deepExtendArraySafe(result, columnOptions);\r\n deepExtendArraySafe(result, {\r\n selector: null\r\n })\r\n }\r\n if (columnOptions.filterOperations === columnOptions.defaultFilterOperations) {\r\n setFilterOperationsAsDefaultValues(result)\r\n }\r\n return result\r\n }\r\n};\r\nexport var createColumnsFromOptions = function createColumnsFromOptions(that, columnsOptions, bandColumn) {\r\n var result = [];\r\n if (columnsOptions) {\r\n each(columnsOptions, (index, columnOptions) => {\r\n var userStateColumnOptions = that._columnsUserState && checkUserStateColumn(columnOptions, that._columnsUserState[index]) && that._columnsUserState[index];\r\n var column = createColumn(that, columnOptions, userStateColumnOptions, bandColumn);\r\n if (column) {\r\n if (bandColumn) {\r\n column.ownerBand = bandColumn\r\n }\r\n result.push(column);\r\n if (column.columns) {\r\n result = result.concat(createColumnsFromOptions(that, column.columns, column));\r\n delete column.columns;\r\n column.hasColumns = true\r\n }\r\n }\r\n })\r\n }\r\n return result\r\n};\r\nexport var getParentBandColumns = function(columnIndex, columnParentByIndex) {\r\n var result = [];\r\n var parent = columnParentByIndex[columnIndex];\r\n while (parent) {\r\n result.unshift(parent);\r\n columnIndex = parent.index;\r\n parent = columnParentByIndex[columnIndex]\r\n }\r\n return result\r\n};\r\nexport var getChildrenByBandColumn = function getChildrenByBandColumn(columnIndex, columnChildrenByIndex, recursive) {\r\n var result = [];\r\n var children = columnChildrenByIndex[columnIndex];\r\n if (children) {\r\n for (var i = 0; i < children.length; i++) {\r\n var column = children[i];\r\n if (!isDefined(column.groupIndex) || column.showWhenGrouped) {\r\n result.push(column);\r\n if (recursive && column.isBand) {\r\n result = result.concat(getChildrenByBandColumn(column.index, columnChildrenByIndex, recursive))\r\n }\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport var getColumnByIndexes = function(that, columnIndexes) {\r\n var result;\r\n var columns;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var callbackFilter = function(column) {\r\n var ownerBand = result ? result.index : void 0;\r\n return column.ownerBand === ownerBand\r\n };\r\n if (bandColumnsCache.isPlain) {\r\n result = that._columns[columnIndexes[0]]\r\n } else {\r\n columns = that._columns.filter(callbackFilter);\r\n for (var i = 0; i < columnIndexes.length; i++) {\r\n result = columns[columnIndexes[i]];\r\n if (result) {\r\n columns = that._columns.filter(callbackFilter)\r\n }\r\n }\r\n }\r\n return result\r\n};\r\nexport var getColumnFullPath = function(that, column) {\r\n var result = [];\r\n var columns;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var callbackFilter = function(item) {\r\n return item.ownerBand === column.ownerBand\r\n };\r\n if (bandColumnsCache.isPlain) {\r\n var columnIndex = that._columns.indexOf(column);\r\n if (columnIndex >= 0) {\r\n result = [\"columns[\".concat(columnIndex, \"]\")]\r\n }\r\n } else {\r\n columns = that._columns.filter(callbackFilter);\r\n while (columns.length && -1 !== columns.indexOf(column)) {\r\n result.unshift(\"columns[\".concat(columns.indexOf(column), \"]\"));\r\n column = bandColumnsCache.columnParentByIndex[column.index];\r\n columns = column ? that._columns.filter(callbackFilter) : []\r\n }\r\n }\r\n return result.join(\".\")\r\n};\r\nexport var calculateColspan = function calculateColspan(that, columnID) {\r\n var colspan = 0;\r\n var columns = that.getChildrenByBandColumn(columnID, true);\r\n each(columns, (_, column) => {\r\n if (column.isBand) {\r\n column.colspan = column.colspan || calculateColspan(that, column.index);\r\n colspan += column.colspan || 1\r\n } else {\r\n colspan += 1\r\n }\r\n });\r\n return colspan\r\n};\r\nexport var processBandColumns = function(that, columns, bandColumnsCache) {\r\n var rowspan;\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n if (column.visible || column.command) {\r\n if (column.isBand) {\r\n column.colspan = column.colspan || calculateColspan(that, column.index)\r\n }\r\n if (!column.isBand || !column.colspan) {\r\n rowspan = that.getRowCount();\r\n if (!column.command && (!isDefined(column.groupIndex) || column.showWhenGrouped)) {\r\n rowspan -= getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex).length\r\n }\r\n if (rowspan > 1) {\r\n column.rowspan = rowspan\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport var getValueDataType = function(value) {\r\n var dataType = type(value);\r\n if (\"string\" !== dataType && \"boolean\" !== dataType && \"number\" !== dataType && \"date\" !== dataType && \"object\" !== dataType) {\r\n dataType = void 0\r\n }\r\n return dataType\r\n};\r\nexport var getSerializationFormat = function(dataType, value) {\r\n switch (dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n return dateSerialization.getDateSerializationFormat(value);\r\n case \"number\":\r\n if (isString(value)) {\r\n return \"string\"\r\n }\r\n if (isNumeric(value)) {\r\n return null\r\n }\r\n }\r\n};\r\nexport var updateSerializers = function(options, dataType) {\r\n if (!options.deserializeValue) {\r\n if (gridCoreUtils.isDateType(dataType)) {\r\n options.deserializeValue = function(value) {\r\n return dateSerialization.deserializeDate(value)\r\n };\r\n options.serializeValue = function(value) {\r\n return isString(value) ? value : dateSerialization.serializeDate(value, this.serializationFormat)\r\n }\r\n }\r\n if (\"number\" === dataType) {\r\n options.deserializeValue = function(value) {\r\n var parsedValue = parseFloat(value);\r\n return isNaN(parsedValue) ? value : parsedValue\r\n };\r\n options.serializeValue = function(value, target) {\r\n if (\"filter\" === target) {\r\n return value\r\n }\r\n return isDefined(value) && \"string\" === this.serializationFormat ? value.toString() : value\r\n }\r\n }\r\n }\r\n};\r\nexport var getAlignmentByDataType = function(dataType, isRTL) {\r\n switch (dataType) {\r\n case \"number\":\r\n return \"right\";\r\n case \"boolean\":\r\n return \"center\";\r\n default:\r\n return getDefaultAlignment(isRTL)\r\n }\r\n};\r\nexport var customizeTextForBooleanDataType = function(e) {\r\n if (true === e.value) {\r\n return this.trueText || \"true\"\r\n }\r\n if (false === e.value) {\r\n return this.falseText || \"false\"\r\n }\r\n return e.valueText || \"\"\r\n};\r\nexport var getCustomizeTextByDataType = function(dataType) {\r\n if (\"boolean\" === dataType) {\r\n return customizeTextForBooleanDataType\r\n }\r\n};\r\nexport var createColumnsFromDataSource = function(that, dataSource) {\r\n var firstItems = that._getFirstItems(dataSource);\r\n var fieldName;\r\n var processedFields = {};\r\n var result = [];\r\n for (var i = 0; i < firstItems.length; i++) {\r\n if (firstItems[i]) {\r\n for (fieldName in firstItems[i]) {\r\n if (!isFunction(firstItems[i][fieldName]) || variableWrapper.isWrapped(firstItems[i][fieldName])) {\r\n processedFields[fieldName] = true\r\n }\r\n }\r\n }\r\n }\r\n for (fieldName in processedFields) {\r\n if (0 !== fieldName.indexOf(\"__\")) {\r\n var column = createColumn(that, fieldName);\r\n result.push(column)\r\n }\r\n }\r\n return result\r\n};\r\nexport var updateColumnIndexes = function(that) {\r\n each(that._columns, (index, column) => {\r\n column.index = index\r\n });\r\n each(that._columns, (index, column) => {\r\n if (isObject(column.ownerBand)) {\r\n column.ownerBand = column.ownerBand.index\r\n }\r\n });\r\n each(that._commandColumns, (index, column) => {\r\n column.index = -(index + 1)\r\n })\r\n};\r\nexport var updateColumnGroupIndexes = function(that, currentColumn) {\r\n normalizeIndexes(that._columns, \"groupIndex\", currentColumn, column => {\r\n var {\r\n grouped: grouped\r\n } = column;\r\n delete column.grouped;\r\n return grouped\r\n })\r\n};\r\nexport var updateColumnSortIndexes = function(that, currentColumn) {\r\n each(that._columns, (index, column) => {\r\n if (isDefined(column.sortIndex) && !isSortOrderValid(column.sortOrder)) {\r\n delete column.sortIndex\r\n }\r\n });\r\n normalizeIndexes(that._columns, \"sortIndex\", currentColumn, column => !isDefined(column.groupIndex) && isSortOrderValid(column.sortOrder))\r\n};\r\nexport var updateColumnVisibleIndexes = function(that, currentColumn) {\r\n var column;\r\n var result = [];\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var bandedColumns = [];\r\n var columns = that._columns.filter(column => !column.command);\r\n for (var i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n var parentBandColumns = getParentBandColumns(i, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns.length) {\r\n bandedColumns.push(column)\r\n } else {\r\n result.push(column)\r\n }\r\n }\r\n normalizeIndexes(bandedColumns, \"visibleIndex\", currentColumn);\r\n normalizeIndexes(result, \"visibleIndex\", currentColumn)\r\n};\r\nexport var getColumnIndexByVisibleIndex = function(that, visibleIndex, location) {\r\n var rowIndex = isObject(visibleIndex) ? visibleIndex.rowIndex : null;\r\n var columns = location === GROUP_LOCATION ? that.getGroupColumns() : location === COLUMN_CHOOSER_LOCATION ? that.getChooserColumns() : that.getVisibleColumns(rowIndex);\r\n var column;\r\n visibleIndex = isObject(visibleIndex) ? visibleIndex.columnIndex : visibleIndex;\r\n column = columns[visibleIndex];\r\n if (column && column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n column = that._columns.filter(col => column.type === col.type)[0] || column\r\n }\r\n return column && isDefined(column.index) ? column.index : -1\r\n};\r\nexport var moveColumnToGroup = function(that, column, groupIndex) {\r\n var groupColumns = that.getGroupColumns();\r\n var i;\r\n if (groupIndex >= 0) {\r\n for (i = 0; i < groupColumns.length; i++) {\r\n if (groupColumns[i].groupIndex >= groupIndex) {\r\n groupColumns[i].groupIndex++\r\n }\r\n }\r\n } else {\r\n groupIndex = 0;\r\n for (i = 0; i < groupColumns.length; i++) {\r\n groupIndex = Math.max(groupIndex, groupColumns[i].groupIndex + 1)\r\n }\r\n }\r\n return groupIndex\r\n};\r\n\r\nfunction checkUserStateColumn(column, userStateColumn) {\r\n return column && userStateColumn && userStateColumn.name === (column.name || column.dataField) && (userStateColumn.dataField === column.dataField || column.name)\r\n}\r\nexport var applyUserState = function(that) {\r\n var columnsUserState = that._columnsUserState;\r\n var ignoreColumnOptionNames = that._ignoreColumnOptionNames || [];\r\n var columns = that._columns;\r\n var columnCountById = {};\r\n var resultColumns = [];\r\n var allColumnsHaveState = true;\r\n var userStateColumnIndexes = [];\r\n var column;\r\n var userStateColumnIndex;\r\n var i;\r\n\r\n function applyFieldsState(column, userStateColumn) {\r\n if (!userStateColumn) {\r\n return\r\n }\r\n for (var index = 0; index < USER_STATE_FIELD_NAMES.length; index++) {\r\n var fieldName = USER_STATE_FIELD_NAMES[index];\r\n if (ignoreColumnOptionNames.includes(fieldName)) {\r\n continue\r\n }\r\n if (\"dataType\" === fieldName) {\r\n column[fieldName] = column[fieldName] || userStateColumn[fieldName]\r\n } else if (USER_STATE_FIELD_NAMES_15_1.includes(fieldName)) {\r\n if (fieldName in userStateColumn) {\r\n column[fieldName] = userStateColumn[fieldName]\r\n }\r\n } else {\r\n if (\"selectedFilterOperation\" === fieldName && userStateColumn[fieldName]) {\r\n column.defaultSelectedFilterOperation = column[fieldName] || null\r\n }\r\n column[fieldName] = userStateColumn[fieldName]\r\n }\r\n }\r\n }\r\n\r\n function findUserStateColumn(columnsUserState, column) {\r\n var id = column.name || column.dataField;\r\n var count = columnCountById[id] || 0;\r\n for (var j = 0; j < columnsUserState.length; j++) {\r\n if (checkUserStateColumn(column, columnsUserState[j])) {\r\n if (count) {\r\n count--\r\n } else {\r\n columnCountById[id] = columnCountById[id] || 0;\r\n columnCountById[id]++;\r\n return j\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n if (columnsUserState) {\r\n for (i = 0; i < columns.length; i++) {\r\n userStateColumnIndex = findUserStateColumn(columnsUserState, columns[i]);\r\n allColumnsHaveState = allColumnsHaveState && userStateColumnIndex >= 0;\r\n userStateColumnIndexes.push(userStateColumnIndex)\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n userStateColumnIndex = userStateColumnIndexes[i];\r\n if (that._hasUserState || allColumnsHaveState) {\r\n applyFieldsState(column, columnsUserState[userStateColumnIndex])\r\n }\r\n if (userStateColumnIndex >= 0 && isDefined(columnsUserState[userStateColumnIndex].initialIndex)) {\r\n resultColumns[userStateColumnIndex] = column\r\n } else {\r\n resultColumns.push(column)\r\n }\r\n }\r\n var hasAddedBands = false;\r\n for (i = 0; i < columnsUserState.length; i++) {\r\n var columnUserState = columnsUserState[i];\r\n if (columnUserState.added && findUserStateColumn(columns, columnUserState) < 0) {\r\n column = createColumn(that, columnUserState.added);\r\n applyFieldsState(column, columnUserState);\r\n resultColumns.push(column);\r\n if (columnUserState.added.columns) {\r\n hasAddedBands = true\r\n }\r\n }\r\n }\r\n if (hasAddedBands) {\r\n updateColumnIndexes(that);\r\n resultColumns = createColumnsFromOptions(that, resultColumns)\r\n }\r\n assignColumns(that, resultColumns)\r\n }\r\n};\r\nexport var updateIndexes = function(that, column) {\r\n updateColumnIndexes(that);\r\n updateColumnGroupIndexes(that, column);\r\n updateColumnSortIndexes(that, column);\r\n resetBandColumnsCache(that);\r\n updateColumnVisibleIndexes(that, column)\r\n};\r\nexport var resetColumnsCache = function(that) {\r\n that.resetColumnsCache()\r\n};\r\nexport function assignColumns(that, columns) {\r\n that._previousColumns = that._columns;\r\n that._columns = columns;\r\n resetColumnsCache(that);\r\n that.updateColumnDataTypes()\r\n}\r\nexport var updateColumnChanges = function(that, changeType, optionName, columnIndex) {\r\n var _a;\r\n var columnChanges = that._columnChanges || {\r\n optionNames: {\r\n length: 0\r\n },\r\n changeTypes: {\r\n length: 0\r\n },\r\n columnIndex: columnIndex\r\n };\r\n optionName = optionName || \"all\";\r\n optionName = optionName.split(\".\")[0];\r\n var {\r\n changeTypes: changeTypes\r\n } = columnChanges;\r\n if (changeType && !changeTypes[changeType]) {\r\n changeTypes[changeType] = true;\r\n changeTypes.length++\r\n }\r\n var {\r\n optionNames: optionNames\r\n } = columnChanges;\r\n if (optionName && !optionNames[optionName]) {\r\n optionNames[optionName] = true;\r\n optionNames.length++\r\n }\r\n if (void 0 === columnIndex || columnIndex !== columnChanges.columnIndex) {\r\n if (isDefined(columnIndex)) {\r\n null !== (_a = columnChanges.columnIndices) && void 0 !== _a ? _a : columnChanges.columnIndices = [columnChanges.columnIndex];\r\n columnChanges.columnIndices.push(columnIndex)\r\n }\r\n delete columnChanges.columnIndex\r\n }\r\n that._columnChanges = columnChanges;\r\n resetColumnsCache(that)\r\n};\r\nexport var fireColumnsChanged = function(that) {\r\n var onColumnsChanging = that.option(\"onColumnsChanging\");\r\n var columnChanges = that._columnChanges;\r\n var reinitOptionNames = [\"dataField\", \"lookup\", \"dataType\", \"columns\"];\r\n if (that.isInitialized() && !that._updateLockCount && columnChanges) {\r\n if (onColumnsChanging) {\r\n that._updateLockCount++;\r\n onColumnsChanging(extend({\r\n component: that.component\r\n }, columnChanges));\r\n that._updateLockCount--\r\n }\r\n that._columnChanges = void 0;\r\n if (options = columnChanges.optionNames, options && reinitOptionNames.some(name => options[name])) {\r\n that._reinitAfterLookupChanges = null === columnChanges || void 0 === columnChanges ? void 0 : columnChanges.optionNames.lookup;\r\n that.reinit();\r\n that._reinitAfterLookupChanges = void 0\r\n } else {\r\n that.columnsChanged.fire(columnChanges)\r\n }\r\n }\r\n var options\r\n};\r\nexport var updateSortOrderWhenGrouping = function(that, column, groupIndex, prevGroupIndex) {\r\n var columnWasGrouped = prevGroupIndex >= 0;\r\n if (groupIndex >= 0) {\r\n if (!columnWasGrouped) {\r\n column.lastSortOrder = column.sortOrder\r\n }\r\n } else {\r\n var sortMode = that.option(\"sorting.mode\");\r\n var sortOrder = column.lastSortOrder;\r\n if (\"single\" === sortMode) {\r\n var sortedByAnotherColumn = that._columns.some(col => col !== column && isDefined(col.sortIndex));\r\n if (sortedByAnotherColumn) {\r\n sortOrder = void 0\r\n }\r\n }\r\n column.sortOrder = sortOrder\r\n }\r\n};\r\nexport var fireOptionChanged = function(that, options) {\r\n var {\r\n value: value\r\n } = options;\r\n var {\r\n optionName: optionName\r\n } = options;\r\n var {\r\n prevValue: prevValue\r\n } = options;\r\n var {\r\n fullOptionName: fullOptionName\r\n } = options;\r\n var fullOptionPath = \"\".concat(fullOptionName, \".\").concat(optionName);\r\n if (!IGNORE_COLUMN_OPTION_NAMES[optionName] && that._skipProcessingColumnsChange !== fullOptionPath) {\r\n that._skipProcessingColumnsChange = fullOptionPath;\r\n that.component._notifyOptionChanged(fullOptionPath, value, prevValue);\r\n that._skipProcessingColumnsChange = false\r\n }\r\n};\r\nexport var columnOptionCore = function(that, column, optionName, value, notFireEvent) {\r\n var optionGetter = compileGetter(optionName);\r\n var columnIndex = column.index;\r\n var columns;\r\n var changeType;\r\n var initialColumn;\r\n if (3 === arguments.length) {\r\n return optionGetter(column, {\r\n functionsAsIs: true\r\n })\r\n }\r\n var prevValue = optionGetter(column, {\r\n functionsAsIs: true\r\n });\r\n if (!equalByValue(prevValue, value, {\r\n maxDepth: 5\r\n })) {\r\n if (\"groupIndex\" === optionName || \"calculateGroupValue\" === optionName) {\r\n changeType = \"grouping\";\r\n updateSortOrderWhenGrouping(that, column, value, prevValue)\r\n } else if (\"sortIndex\" === optionName || \"sortOrder\" === optionName || \"calculateSortValue\" === optionName) {\r\n changeType = \"sorting\"\r\n } else {\r\n changeType = \"columns\"\r\n }\r\n var optionSetter = compileSetter(optionName);\r\n optionSetter(column, value, {\r\n functionsAsIs: true\r\n });\r\n var fullOptionName = getColumnFullPath(that, column);\r\n if (COLUMN_INDEX_OPTIONS[optionName]) {\r\n updateIndexes(that, column);\r\n value = optionGetter(column)\r\n }\r\n if (\"name\" === optionName || \"allowEditing\" === optionName) {\r\n that._checkColumns()\r\n }\r\n if (!isDefined(prevValue) && !isDefined(value) && 0 !== optionName.indexOf(\"buffer\")) {\r\n notFireEvent = true\r\n }\r\n if (!notFireEvent) {\r\n if (!USER_STATE_FIELD_NAMES.includes(optionName) && \"visibleWidth\" !== optionName) {\r\n columns = that.option(\"columns\");\r\n initialColumn = that.getColumnByPath(fullOptionName, columns);\r\n if (isString(initialColumn)) {\r\n initialColumn = columns[columnIndex] = {\r\n dataField: initialColumn\r\n }\r\n }\r\n if (initialColumn && checkUserStateColumn(initialColumn, column)) {\r\n optionSetter(initialColumn, value, {\r\n functionsAsIs: true\r\n })\r\n }\r\n }\r\n updateColumnChanges(that, changeType, optionName, columnIndex)\r\n } else {\r\n resetColumnsCache(that)\r\n }\r\n fullOptionName && fireOptionChanged(that, {\r\n fullOptionName: fullOptionName,\r\n optionName: optionName,\r\n value: value,\r\n prevValue: prevValue\r\n })\r\n }\r\n};\r\nexport function isSortOrderValid(sortOrder) {\r\n return \"asc\" === sortOrder || \"desc\" === sortOrder\r\n}\r\nexport var addExpandColumn = function(that) {\r\n var options = that._getExpandColumnOptions();\r\n that.addCommandColumn(options)\r\n};\r\nexport var defaultSetCellValue = function(data, value) {\r\n if (!this.dataField) {\r\n return\r\n }\r\n var path = this.dataField.split(\".\");\r\n var dotCount = path.length - 1;\r\n if (this.serializeValue) {\r\n value = this.serializeValue(value)\r\n }\r\n for (var i = 0; i < dotCount; i++) {\r\n var name = path[i];\r\n data = data[name] = data[name] || {}\r\n }\r\n data[path[dotCount]] = value\r\n};\r\nexport var getDataColumns = function getDataColumns(columns, rowIndex, bandColumnID) {\r\n var result = [];\r\n rowIndex = rowIndex || 0;\r\n columns[rowIndex] && each(columns[rowIndex], (_, column) => {\r\n if (column.ownerBand === bandColumnID || column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n if (!column.isBand || !column.colspan) {\r\n if (!column.command || rowIndex < 1) {\r\n result.push(column)\r\n }\r\n } else {\r\n result.push.apply(result, getDataColumns(columns, rowIndex + 1, column.index))\r\n }\r\n }\r\n });\r\n return result\r\n};\r\nexport var getRowCount = function(that) {\r\n var rowCount = 1;\r\n var bandColumnsCache = that.getBandColumnsCache();\r\n var {\r\n columnParentByIndex: columnParentByIndex\r\n } = bandColumnsCache;\r\n that._columns.forEach(column => {\r\n var parents = getParentBandColumns(column.index, columnParentByIndex);\r\n var invisibleParents = parents.filter(column => !column.visible);\r\n if (column.visible && !invisibleParents.length) {\r\n rowCount = Math.max(rowCount, parents.length + 1)\r\n }\r\n });\r\n return rowCount\r\n};\r\nexport var isCustomCommandColumn = (that, commandColumn) => {\r\n var customCommandColumns = that._columns.filter(column => column.type === commandColumn.type);\r\n return !!customCommandColumns.length\r\n};\r\nexport var getFixedPosition = function(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (column.command && !isCustomCommandColumn(that, column) || !column.fixedPosition) {\r\n return rtlEnabled ? \"right\" : \"left\"\r\n }\r\n return column.fixedPosition\r\n};\r\nexport var processExpandColumns = function(columns, expandColumns, type, columnIndex) {\r\n var customColumnIndex;\r\n var rowCount = this.getRowCount();\r\n var rowspan = columns[columnIndex] && columns[columnIndex].rowspan;\r\n var expandColumnsByType = expandColumns.filter(column => column.type === type);\r\n columns.forEach((column, index) => {\r\n if (column.type === type) {\r\n customColumnIndex = index;\r\n rowspan = columns[index + 1] ? columns[index + 1].rowspan : rowCount\r\n }\r\n });\r\n if (rowspan > 1) {\r\n expandColumnsByType = map(expandColumnsByType, expandColumn => extend({}, expandColumn, {\r\n rowspan: rowspan\r\n }))\r\n }\r\n expandColumnsByType.unshift.apply(expandColumnsByType, isDefined(customColumnIndex) ? [customColumnIndex, 1] : [columnIndex, 0]);\r\n columns.splice.apply(columns, expandColumnsByType);\r\n return rowspan || 1\r\n};\r\nexport var digitsCount = function(number) {\r\n var i;\r\n for (i = 0; number > 1; i++) {\r\n number /= 10\r\n }\r\n return i\r\n};\r\nexport var numberToString = function(number, digitsCount) {\r\n var str = number ? number.toString() : \"0\";\r\n while (str.length < digitsCount) {\r\n str = \"0\".concat(str)\r\n }\r\n return str\r\n};\r\nexport var mergeColumns = (that, columns, commandColumns, needToExtend) => {\r\n var column;\r\n var commandColumnIndex;\r\n var result = columns.slice().map(column => extend({}, column));\r\n var isColumnFixing = that._isColumnFixing();\r\n var defaultCommandColumns = commandColumns.slice().map(column => extend({\r\n fixed: isColumnFixing\r\n }, column));\r\n var getCommandColumnIndex = column => commandColumns.reduce((result, commandColumn, index) => {\r\n var columnType = needToExtend && column.type === GROUP_COMMAND_COLUMN_NAME ? \"expand\" : column.type;\r\n return commandColumn.type === columnType || commandColumn.command === column.command ? index : result\r\n }, -1);\r\n var callbackFilter = commandColumn => commandColumn.command !== commandColumns[commandColumnIndex].command;\r\n for (var i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n commandColumnIndex = column && (column.type || column.command) ? getCommandColumnIndex(column) : -1;\r\n if (commandColumnIndex >= 0) {\r\n if (needToExtend) {\r\n result[i] = extend({\r\n fixed: isColumnFixing\r\n }, commandColumns[commandColumnIndex], column);\r\n if (column.type !== GROUP_COMMAND_COLUMN_NAME) {\r\n defaultCommandColumns = defaultCommandColumns.filter(callbackFilter)\r\n }\r\n } else {\r\n var columnOptions = {\r\n visibleIndex: column.visibleIndex,\r\n index: column.index,\r\n headerId: column.headerId,\r\n allowFixing: 0 === column.groupIndex,\r\n allowReordering: 0 === column.groupIndex,\r\n groupIndex: column.groupIndex\r\n };\r\n result[i] = extend({}, column, commandColumns[commandColumnIndex], column.type === GROUP_COMMAND_COLUMN_NAME && columnOptions)\r\n }\r\n }\r\n }\r\n if (columns.length && needToExtend && defaultCommandColumns.length) {\r\n result = result.concat(defaultCommandColumns)\r\n }\r\n return result\r\n};\r\nexport var isColumnFixed = (that, column) => isDefined(column.fixed) || !column.type ? column.fixed : that._isColumnFixing();\r\nexport var convertOwnerBandToColumnReference = columns => {\r\n columns.forEach(column => {\r\n if (isDefined(column.ownerBand)) {\r\n column.ownerBand = columns[column.ownerBand]\r\n }\r\n })\r\n};\r\nexport var resetBandColumnsCache = that => {\r\n that._bandColumnsCache = void 0\r\n};\r\nexport var findColumn = (columns, identifier) => {\r\n var identifierOptionName = isString(identifier) && identifier.substr(0, identifier.indexOf(\":\"));\r\n var column;\r\n if (void 0 === identifier) {\r\n return\r\n }\r\n if (identifierOptionName) {\r\n identifier = identifier.substr(identifierOptionName.length + 1)\r\n }\r\n if (identifierOptionName) {\r\n column = columns.filter(column => \"\".concat(column[identifierOptionName]) === identifier)[0]\r\n } else {\r\n [\"index\", \"name\", \"dataField\", \"caption\"].some(optionName => {\r\n column = columns.filter(column => column[optionName] === identifier)[0];\r\n return !!column\r\n })\r\n }\r\n return column\r\n};\r\nexport var sortColumns = (columns, sortOrder) => {\r\n if (\"asc\" !== sortOrder && \"desc\" !== sortOrder) {\r\n return columns\r\n }\r\n var sign = \"asc\" === sortOrder ? 1 : -1;\r\n columns.sort((column1, column2) => {\r\n var caption1 = column1.caption || \"\";\r\n var caption2 = column2.caption || \"\";\r\n return sign * caption1.localeCompare(caption2)\r\n });\r\n return columns\r\n};\r\nexport var strictParseNumber = function(text, format) {\r\n var parsedValue = numberLocalization.parse(text);\r\n if (isNumeric(parsedValue)) {\r\n var formattedValue = numberLocalization.format(parsedValue, format);\r\n var formattedValueWithDefaultFormat = numberLocalization.format(parsedValue, \"decimal\");\r\n if (formattedValue === text || formattedValueWithDefaultFormat === text) {\r\n return parsedValue\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_controller/m_columns_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../../../../core/config\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n captionize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n orderEach\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isNumeric,\r\n isObject,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport variableWrapper from \"../../../../core/utils/variable_wrapper\";\r\nimport Store from \"../../../../data/abstract_store\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n COLUMN_CHOOSER_LOCATION,\r\n COLUMN_OPTION_REGEXP,\r\n COMMAND_EXPAND_CLASS,\r\n DATATYPE_OPERATIONS,\r\n DETAIL_COMMAND_COLUMN_NAME,\r\n GROUP_COMMAND_COLUMN_NAME,\r\n GROUP_LOCATION,\r\n MAX_SAFE_INTEGER,\r\n USER_STATE_FIELD_NAMES\r\n} from \"./const\";\r\nimport {\r\n addExpandColumn,\r\n applyUserState,\r\n assignColumns,\r\n columnOptionCore,\r\n convertOwnerBandToColumnReference,\r\n createColumn,\r\n createColumnsFromDataSource,\r\n createColumnsFromOptions,\r\n defaultSetCellValue,\r\n digitsCount,\r\n findColumn,\r\n fireColumnsChanged,\r\n getAlignmentByDataType,\r\n getChildrenByBandColumn,\r\n getColumnByIndexes,\r\n getColumnIndexByVisibleIndex,\r\n getCustomizeTextByDataType,\r\n getDataColumns,\r\n getFixedPosition,\r\n getParentBandColumns,\r\n getRowCount,\r\n getSerializationFormat,\r\n getValueDataType,\r\n isColumnFixed,\r\n isCustomCommandColumn,\r\n isSortOrderValid,\r\n mergeColumns,\r\n moveColumnToGroup,\r\n numberToString,\r\n processBandColumns,\r\n processExpandColumns,\r\n resetBandColumnsCache,\r\n resetColumnsCache,\r\n setFilterOperationsAsDefaultValues,\r\n sortColumns,\r\n strictParseNumber,\r\n updateColumnChanges,\r\n updateColumnGroupIndexes,\r\n updateIndexes,\r\n updateSerializers\r\n} from \"./m_columns_controller_utils\";\r\nexport class ColumnsController extends modules.Controller {\r\n _getExpandColumnOptions() {\r\n return {\r\n type: \"expand\",\r\n command: \"expand\",\r\n width: \"auto\",\r\n cssClass: COMMAND_EXPAND_CLASS,\r\n allowEditing: false,\r\n allowGrouping: false,\r\n allowSorting: false,\r\n allowResizing: false,\r\n allowReordering: false,\r\n allowHiding: false\r\n }\r\n }\r\n _getFirstItems(dataSource) {\r\n var groupsCount;\r\n var items = [];\r\n if (dataSource && dataSource.items().length > 0) {\r\n groupsCount = gridCoreUtils.normalizeSortingInfo(dataSource.group()).length;\r\n items = function getFirstItemsCore(items, groupsCount) {\r\n if (!items || !groupsCount) {\r\n return items\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var childItems = getFirstItemsCore(items[i].items || items[i].collapsedItems, groupsCount - 1);\r\n if (childItems && childItems.length) {\r\n return childItems\r\n }\r\n }\r\n }(dataSource.items(), groupsCount) || []\r\n }\r\n return items\r\n }\r\n _endUpdateCore() {\r\n !this._skipProcessingColumnsChange && fireColumnsChanged(this)\r\n }\r\n init(isApplyingUserState) {\r\n var columns = this.option(\"columns\");\r\n this._commandColumns = this._commandColumns || [];\r\n this._columns = this._columns || [];\r\n this._isColumnsFromOptions = !!columns;\r\n if (this._isColumnsFromOptions) {\r\n assignColumns(this, columns ? createColumnsFromOptions(this, columns) : []);\r\n applyUserState(this)\r\n } else {\r\n assignColumns(this, this._columnsUserState ? createColumnsFromOptions(this, this._columnsUserState) : this._columns)\r\n }\r\n addExpandColumn(this);\r\n if (this._dataSourceApplied) {\r\n this.applyDataSource(this._dataSource, true, isApplyingUserState)\r\n } else {\r\n updateIndexes(this)\r\n }\r\n this._checkColumns()\r\n }\r\n callbackNames() {\r\n return [\"columnsChanged\"]\r\n }\r\n getColumnByPath(path, columns) {\r\n var column;\r\n var columnIndexes = [];\r\n path.replace(COLUMN_OPTION_REGEXP, (_, columnIndex) => {\r\n columnIndexes.push(parseInt(columnIndex));\r\n return \"\"\r\n });\r\n if (columnIndexes.length) {\r\n if (columns) {\r\n column = columnIndexes.reduce((column, index) => column && column.columns && column.columns[index], {\r\n columns: columns\r\n })\r\n } else {\r\n column = getColumnByIndexes(this, columnIndexes)\r\n }\r\n }\r\n return column\r\n }\r\n optionChanged(args) {\r\n var needUpdateRequireResize;\r\n switch (args.name) {\r\n case \"adaptColumnWidthByRatio\":\r\n args.handled = true;\r\n break;\r\n case \"dataSource\":\r\n if (args.value !== args.previousValue && !this.option(\"columns\") && (!Array.isArray(args.value) || !Array.isArray(args.previousValue))) {\r\n this._columns = []\r\n }\r\n break;\r\n case \"columns\":\r\n needUpdateRequireResize = this._skipProcessingColumnsChange;\r\n args.handled = true;\r\n if (!this._skipProcessingColumnsChange) {\r\n if (args.name === args.fullName) {\r\n this._columnsUserState = null;\r\n this._ignoreColumnOptionNames = null;\r\n this.init()\r\n } else {\r\n this._columnOptionChanged(args);\r\n needUpdateRequireResize = true\r\n }\r\n }\r\n if (needUpdateRequireResize) {\r\n this._updateRequireResize(args)\r\n }\r\n break;\r\n case \"commonColumnSettings\":\r\n case \"columnAutoWidth\":\r\n case \"allowColumnResizing\":\r\n case \"allowColumnReordering\":\r\n case \"columnFixing\":\r\n case \"grouping\":\r\n case \"groupPanel\":\r\n case \"regenerateColumnsByVisibleItems\":\r\n case \"customizeColumns\":\r\n case \"columnHidingEnabled\":\r\n case \"dateSerializationFormat\":\r\n case \"columnResizingMode\":\r\n case \"columnMinWidth\":\r\n case \"columnWidth\":\r\n args.handled = true;\r\n var ignoreColumnOptionNames = \"columnWidth\" === args.fullName && [\"width\"];\r\n this.reinit(ignoreColumnOptionNames);\r\n break;\r\n case \"rtlEnabled\":\r\n this.reinit();\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n _columnOptionChanged(args) {\r\n var columnOptionValue = {};\r\n var column = this.getColumnByPath(args.fullName);\r\n var columnOptionName = args.fullName.replace(COLUMN_OPTION_REGEXP, \"\");\r\n if (column) {\r\n if (columnOptionName) {\r\n columnOptionValue[columnOptionName] = args.value\r\n } else {\r\n columnOptionValue = args.value\r\n }\r\n this._skipProcessingColumnsChange = args.fullName;\r\n this.columnOption(column.index, columnOptionValue);\r\n this._skipProcessingColumnsChange = false\r\n }\r\n }\r\n _updateRequireResize(args) {\r\n var {\r\n component: component\r\n } = this;\r\n if (\"width\" === args.fullName.replace(COLUMN_OPTION_REGEXP, \"\") && component._updateLockCount) {\r\n component._requireResize = true\r\n }\r\n }\r\n publicMethods() {\r\n return [\"addColumn\", \"deleteColumn\", \"columnOption\", \"columnCount\", \"clearSorting\", \"clearGrouping\", \"getVisibleColumns\", \"getVisibleColumnIndex\"]\r\n }\r\n applyDataSource(dataSource, forceApplying, isApplyingUserState) {\r\n var isDataSourceLoaded = dataSource && dataSource.isLoaded();\r\n this._dataSource = dataSource;\r\n if (!this._dataSourceApplied || 0 === this._dataSourceColumnsCount || forceApplying || this.option(\"regenerateColumnsByVisibleItems\")) {\r\n if (isDataSourceLoaded) {\r\n if (!this._isColumnsFromOptions) {\r\n var columnsFromDataSource = createColumnsFromDataSource(this, dataSource);\r\n if (columnsFromDataSource.length) {\r\n assignColumns(this, columnsFromDataSource);\r\n this._dataSourceColumnsCount = this._columns.length;\r\n applyUserState(this)\r\n }\r\n }\r\n return this.updateColumns(dataSource, forceApplying, isApplyingUserState)\r\n }\r\n this._dataSourceApplied = false;\r\n updateIndexes(this)\r\n } else if (isDataSourceLoaded && !this.isAllDataTypesDefined(true) && this.updateColumnDataTypes(dataSource)) {\r\n updateColumnChanges(this, \"columns\");\r\n fireColumnsChanged(this);\r\n return (new Deferred).reject().promise()\r\n }\r\n }\r\n reset() {\r\n this._dataSource = null;\r\n this._dataSourceApplied = false;\r\n this._dataSourceColumnsCount = void 0;\r\n this.reinit()\r\n }\r\n resetColumnsCache() {\r\n this._visibleColumns = void 0;\r\n this._fixedColumns = void 0;\r\n this._rowCount = void 0;\r\n resetBandColumnsCache(this)\r\n }\r\n reinit(ignoreColumnOptionNames) {\r\n this._columnsUserState = this.getUserState();\r\n this._ignoreColumnOptionNames = ignoreColumnOptionNames || null;\r\n this.init();\r\n if (ignoreColumnOptionNames) {\r\n this._ignoreColumnOptionNames = null\r\n }\r\n }\r\n isInitialized() {\r\n return !!this._columns.length || !!this.option(\"columns\")\r\n }\r\n isDataSourceApplied() {\r\n return this._dataSourceApplied\r\n }\r\n getCommonSettings(column) {\r\n var _a, _b;\r\n var commonColumnSettings = (!column || !column.type) && this.option(\"commonColumnSettings\") || {};\r\n var groupingOptions = null !== (_a = this.option(\"grouping\")) && void 0 !== _a ? _a : {};\r\n var groupPanelOptions = null !== (_b = this.option(\"groupPanel\")) && void 0 !== _b ? _b : {};\r\n return extend({\r\n allowFixing: this.option(\"columnFixing.enabled\"),\r\n allowResizing: this.option(\"allowColumnResizing\") || void 0,\r\n allowReordering: this.option(\"allowColumnReordering\"),\r\n minWidth: this.option(\"columnMinWidth\"),\r\n width: this.option(\"columnWidth\"),\r\n autoExpandGroup: groupingOptions.autoExpandAll,\r\n allowCollapsing: groupingOptions.allowCollapsing,\r\n allowGrouping: groupPanelOptions.allowColumnDragging && groupPanelOptions.visible || groupingOptions.contextMenuEnabled\r\n }, commonColumnSettings)\r\n }\r\n isColumnOptionUsed(optionName) {\r\n for (var i = 0; i < this._columns.length; i++) {\r\n if (this._columns[i][optionName]) {\r\n return true\r\n }\r\n }\r\n }\r\n isAllDataTypesDefined(checkSerializers) {\r\n var columns = this._columns;\r\n if (!columns.length) {\r\n return false\r\n }\r\n for (var i = 0; i < columns.length; i++) {\r\n if (!columns[i].dataField && columns[i].calculateCellValue === columns[i].defaultCalculateCellValue) {\r\n continue\r\n }\r\n if (!columns[i].dataType || checkSerializers && columns[i].deserializeValue && void 0 === columns[i].serializationFormat) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n getColumns() {\r\n return this._columns\r\n }\r\n isBandColumnsUsed() {\r\n return this.getColumns().some(column => column.isBand)\r\n }\r\n getGroupColumns() {\r\n var result = [];\r\n each(this._columns, (function() {\r\n if (isDefined(this.groupIndex)) {\r\n result[this.groupIndex] = this\r\n }\r\n }));\r\n return result\r\n }\r\n _shouldReturnVisibleColumns() {\r\n return true\r\n }\r\n _compileVisibleColumns(rowIndex) {\r\n this._visibleColumns = this._visibleColumns || this._compileVisibleColumnsCore();\r\n rowIndex = isDefined(rowIndex) ? rowIndex : this._visibleColumns.length - 1;\r\n return this._visibleColumns[rowIndex] || []\r\n }\r\n getVisibleColumns(rowIndex, isBase) {\r\n if (!this._shouldReturnVisibleColumns()) {\r\n return []\r\n }\r\n return this._compileVisibleColumns.apply(this, arguments)\r\n }\r\n getFixedColumns(rowIndex) {\r\n this._fixedColumns = this._fixedColumns || this._getFixedColumnsCore();\r\n rowIndex = isDefined(rowIndex) ? rowIndex : this._fixedColumns.length - 1;\r\n return this._fixedColumns[rowIndex] || []\r\n }\r\n getFilteringColumns() {\r\n return this.getColumns().filter(item => (item.dataField || item.name) && (item.allowFiltering || item.allowHeaderFiltering)).map(item => {\r\n var field = extend(true, {}, item);\r\n if (!isDefined(field.dataField)) {\r\n field.dataField = field.name\r\n }\r\n field.filterOperations = item.filterOperations !== item.defaultFilterOperations ? field.filterOperations : null;\r\n return field\r\n })\r\n }\r\n getColumnIndexOffset() {\r\n return 0\r\n }\r\n _getFixedColumnsCore() {\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var isColumnFixing = this._isColumnFixing();\r\n var transparentColumn = {\r\n command: \"transparent\"\r\n };\r\n var transparentColspan = 0;\r\n var notFixedColumnCount;\r\n var transparentColumnIndex;\r\n var lastFixedPosition;\r\n if (isColumnFixing) {\r\n for (var i = 0; i <= rowCount; i++) {\r\n notFixedColumnCount = 0;\r\n lastFixedPosition = null;\r\n transparentColumnIndex = null;\r\n var visibleColumns = this.getVisibleColumns(i, true);\r\n for (var j = 0; j < visibleColumns.length; j++) {\r\n var prevColumn = visibleColumns[j - 1];\r\n var column = visibleColumns[j];\r\n if (!column.fixed) {\r\n if (0 === i) {\r\n if (column.isBand && column.colspan) {\r\n transparentColspan += column.colspan\r\n } else {\r\n transparentColspan++\r\n }\r\n }\r\n notFixedColumnCount++;\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else if (prevColumn && prevColumn.fixed && getFixedPosition(this, prevColumn) !== getFixedPosition(this, column)) {\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = j\r\n }\r\n } else {\r\n lastFixedPosition = column.fixedPosition\r\n }\r\n }\r\n if (0 === i && (0 === notFixedColumnCount || notFixedColumnCount >= visibleColumns.length)) {\r\n return []\r\n }\r\n if (!isDefined(transparentColumnIndex)) {\r\n transparentColumnIndex = \"right\" === lastFixedPosition ? 0 : visibleColumns.length\r\n }\r\n result[i] = visibleColumns.slice(0);\r\n if (!transparentColumn.colspan) {\r\n transparentColumn.colspan = transparentColspan\r\n }\r\n result[i].splice(transparentColumnIndex, notFixedColumnCount, transparentColumn)\r\n }\r\n }\r\n return result.map(columns => columns.map(column => {\r\n var newColumn = _extends({}, column);\r\n if (newColumn.headerId) {\r\n newColumn.headerId += \"-fixed\"\r\n }\r\n return newColumn\r\n }))\r\n }\r\n _isColumnFixing() {\r\n var isColumnFixing = this.option(\"columnFixing.enabled\");\r\n !isColumnFixing && each(this._columns, (_, column) => {\r\n if (column.fixed) {\r\n isColumnFixing = true;\r\n return false\r\n }\r\n });\r\n return isColumnFixing\r\n }\r\n _getExpandColumnsCore() {\r\n return this.getGroupColumns()\r\n }\r\n getExpandColumns() {\r\n var expandColumns = this._getExpandColumnsCore();\r\n var expandColumn;\r\n var firstGroupColumn = expandColumns.filter(column => 0 === column.groupIndex)[0];\r\n var isFixedFirstGroupColumn = firstGroupColumn && firstGroupColumn.fixed;\r\n var isColumnFixing = this._isColumnFixing();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (expandColumns.length) {\r\n expandColumn = this.columnOption(\"command:expand\")\r\n }\r\n expandColumns = map(expandColumns, column => extend({}, column, {\r\n visibleWidth: null,\r\n minWidth: null,\r\n cellTemplate: !isDefined(column.groupIndex) ? column.cellTemplate : null,\r\n headerCellTemplate: null,\r\n fixed: !isDefined(column.groupIndex) || !isFixedFirstGroupColumn ? isColumnFixing : true,\r\n fixedPosition: rtlEnabled ? \"right\" : \"left\"\r\n }, expandColumn, {\r\n index: column.index,\r\n type: column.type || GROUP_COMMAND_COLUMN_NAME\r\n }));\r\n return expandColumns\r\n }\r\n getBandColumnsCache() {\r\n if (!this._bandColumnsCache) {\r\n var columns = this._columns;\r\n var columnChildrenByIndex = {};\r\n var columnParentByIndex = {};\r\n var isPlain = true;\r\n columns.forEach(column => {\r\n var {\r\n ownerBand: ownerBand\r\n } = column;\r\n var parentIndex = isObject(ownerBand) ? ownerBand.index : ownerBand;\r\n var parent = columns[parentIndex];\r\n if (column.hasColumns) {\r\n isPlain = false\r\n }\r\n if (column.colspan) {\r\n column.colspan = void 0\r\n }\r\n if (column.rowspan) {\r\n column.rowspan = void 0\r\n }\r\n if (parent) {\r\n columnParentByIndex[column.index] = parent\r\n } else {\r\n parentIndex = -1\r\n }\r\n columnChildrenByIndex[parentIndex] = columnChildrenByIndex[parentIndex] || [];\r\n columnChildrenByIndex[parentIndex].push(column)\r\n });\r\n this._bandColumnsCache = {\r\n isPlain: isPlain,\r\n columnChildrenByIndex: columnChildrenByIndex,\r\n columnParentByIndex: columnParentByIndex\r\n }\r\n }\r\n return this._bandColumnsCache\r\n }\r\n _isColumnVisible(column) {\r\n return column.visible && this.isParentColumnVisible(column.index)\r\n }\r\n _isColumnInGroupPanel(column) {\r\n return isDefined(column.groupIndex) && !column.showWhenGrouped\r\n }\r\n hasVisibleDataColumns() {\r\n var columns = this._columns;\r\n return columns.some(column => {\r\n var isVisible = this._isColumnVisible(column);\r\n var isInGroupPanel = this._isColumnInGroupPanel(column);\r\n var isCommand = !!column.command;\r\n return isVisible && !isInGroupPanel && !isCommand\r\n })\r\n }\r\n _compileVisibleColumnsCore() {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var columns = mergeColumns(this, this._columns, this._commandColumns, true);\r\n processBandColumns(this, columns, bandColumnsCache);\r\n var indexedColumns = this._getIndexedColumns(columns);\r\n var visibleColumns = this._getVisibleColumnsFromIndexed(indexedColumns);\r\n var isDataColumnsInvisible = !this.hasVisibleDataColumns();\r\n if (isDataColumnsInvisible && this._columns.length) {\r\n visibleColumns[visibleColumns.length - 1].push({\r\n command: \"empty\"\r\n })\r\n }\r\n return visibleColumns\r\n }\r\n _getIndexedColumns(columns) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var rowCount = this.getRowCount();\r\n var columnDigitsCount = digitsCount(columns.length);\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var positiveIndexedColumns = [];\r\n var negativeIndexedColumns = [];\r\n for (var i = 0; i < rowCount; i += 1) {\r\n negativeIndexedColumns[i] = [{}];\r\n positiveIndexedColumns[i] = [{}, {}, {}]\r\n }\r\n columns.forEach(column => {\r\n var _a, _b, _c, _d;\r\n var {\r\n visibleIndex: visibleIndex\r\n } = column;\r\n var indexedColumns;\r\n var parentBandColumns = getParentBandColumns(column.index, bandColumnsCache.columnParentByIndex);\r\n var isVisible = this._isColumnVisible(column);\r\n var isInGroupPanel = this._isColumnInGroupPanel(column);\r\n if (isVisible && !isInGroupPanel) {\r\n var rowIndex = parentBandColumns.length;\r\n if (visibleIndex < 0) {\r\n visibleIndex = -visibleIndex;\r\n indexedColumns = negativeIndexedColumns[rowIndex]\r\n } else {\r\n column.fixed = null !== (_b = null === (_a = parentBandColumns[0]) || void 0 === _a ? void 0 : _a.fixed) && void 0 !== _b ? _b : column.fixed;\r\n column.fixedPosition = null !== (_d = null === (_c = parentBandColumns[0]) || void 0 === _c ? void 0 : _c.fixedPosition) && void 0 !== _d ? _d : column.fixedPosition;\r\n if (column.fixed) {\r\n var isDefaultCommandColumn = !!column.command && !isCustomCommandColumn(this, column);\r\n var isFixedToEnd = \"right\" === column.fixedPosition;\r\n if (rtlEnabled && !isDefaultCommandColumn) {\r\n isFixedToEnd = !isFixedToEnd\r\n }\r\n indexedColumns = isFixedToEnd ? positiveIndexedColumns[rowIndex][2] : positiveIndexedColumns[rowIndex][0]\r\n } else {\r\n indexedColumns = positiveIndexedColumns[rowIndex][1]\r\n }\r\n }\r\n if (parentBandColumns.length) {\r\n visibleIndex = numberToString(visibleIndex, columnDigitsCount);\r\n for (var _i = parentBandColumns.length - 1; _i >= 0; _i -= 1) {\r\n visibleIndex = numberToString(parentBandColumns[_i].visibleIndex, columnDigitsCount) + visibleIndex\r\n }\r\n }\r\n indexedColumns[visibleIndex] = indexedColumns[visibleIndex] || [];\r\n indexedColumns[visibleIndex].push(column)\r\n }\r\n });\r\n return {\r\n positiveIndexedColumns: positiveIndexedColumns,\r\n negativeIndexedColumns: negativeIndexedColumns\r\n }\r\n }\r\n _getVisibleColumnsFromIndexed(_ref) {\r\n var _this = this;\r\n var {\r\n positiveIndexedColumns: positiveIndexedColumns,\r\n negativeIndexedColumns: negativeIndexedColumns\r\n } = _ref;\r\n var result = [];\r\n var rowCount = this.getRowCount();\r\n var expandColumns = mergeColumns(this, this.getExpandColumns(), this._columns);\r\n var rowspanGroupColumns = 0;\r\n var rowspanExpandColumns = 0;\r\n var _loop = function(rowIndex) {\r\n result.push([]);\r\n orderEach(negativeIndexedColumns[rowIndex], (_, columns) => {\r\n result[rowIndex].unshift.apply(result[rowIndex], columns)\r\n });\r\n var firstPositiveIndexColumn = result[rowIndex].length;\r\n var positiveIndexedRowColumns = positiveIndexedColumns[rowIndex];\r\n positiveIndexedRowColumns.forEach(columnsByFixing => {\r\n orderEach(columnsByFixing, (_, columnsByVisibleIndex) => {\r\n result[rowIndex].push.apply(result[rowIndex], columnsByVisibleIndex)\r\n })\r\n });\r\n if (rowspanExpandColumns <= rowIndex) {\r\n rowspanExpandColumns += processExpandColumns.call(_this, result[rowIndex], expandColumns, DETAIL_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n if (rowspanGroupColumns <= rowIndex) {\r\n rowspanGroupColumns += processExpandColumns.call(_this, result[rowIndex], expandColumns, GROUP_COMMAND_COLUMN_NAME, firstPositiveIndexColumn)\r\n }\r\n };\r\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\r\n _loop(rowIndex)\r\n }\r\n result.push(getDataColumns(result));\r\n return result\r\n }\r\n getInvisibleColumns(columns, bandColumnIndex) {\r\n var that = this;\r\n var result = [];\r\n var hiddenColumnsByBand;\r\n columns = columns || that._columns;\r\n each(columns, (_, column) => {\r\n if (column.ownerBand !== bandColumnIndex) {\r\n return\r\n }\r\n if (column.isBand) {\r\n if (!column.visible) {\r\n hiddenColumnsByBand = that.getChildrenByBandColumn(column.index)\r\n } else {\r\n hiddenColumnsByBand = that.getInvisibleColumns(that.getChildrenByBandColumn(column.index), column.index)\r\n }\r\n if (hiddenColumnsByBand.length) {\r\n result.push(column);\r\n result = result.concat(hiddenColumnsByBand)\r\n }\r\n return\r\n }\r\n if (!column.visible) {\r\n result.push(column)\r\n }\r\n });\r\n return result\r\n }\r\n getChooserColumns(getAllColumns) {\r\n var columns = getAllColumns ? this.getColumns() : this.getInvisibleColumns();\r\n var columnChooserColumns = columns.filter(column => column.showInColumnChooser);\r\n var sortOrder = this.option(\"columnChooser.sortOrder\");\r\n return sortColumns(columnChooserColumns, sortOrder)\r\n }\r\n allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var columnIndex = getColumnIndexByVisibleIndex(this, fromVisibleIndex, sourceLocation);\r\n var sourceColumn = this._columns[columnIndex];\r\n if (sourceColumn && (sourceColumn.allowReordering || sourceColumn.allowGrouping || sourceColumn.allowHiding)) {\r\n if (sourceLocation === targetLocation) {\r\n if (sourceLocation === COLUMN_CHOOSER_LOCATION) {\r\n return false\r\n }\r\n fromVisibleIndex = isObject(fromVisibleIndex) ? fromVisibleIndex.columnIndex : fromVisibleIndex;\r\n toVisibleIndex = isObject(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n return fromVisibleIndex !== toVisibleIndex && fromVisibleIndex + 1 !== toVisibleIndex\r\n }\r\n if (sourceLocation === GROUP_LOCATION && targetLocation !== COLUMN_CHOOSER_LOCATION || targetLocation === GROUP_LOCATION) {\r\n return sourceColumn && sourceColumn.allowGrouping\r\n }\r\n if (sourceLocation === COLUMN_CHOOSER_LOCATION || targetLocation === COLUMN_CHOOSER_LOCATION) {\r\n return sourceColumn && sourceColumn.allowHiding\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n moveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var options = {};\r\n var prevGroupIndex;\r\n var fromIndex = getColumnIndexByVisibleIndex(this, fromVisibleIndex, sourceLocation);\r\n var toIndex = getColumnIndexByVisibleIndex(this, toVisibleIndex, targetLocation);\r\n var targetGroupIndex;\r\n if (fromIndex >= 0) {\r\n var column = this._columns[fromIndex];\r\n toVisibleIndex = isObject(toVisibleIndex) ? toVisibleIndex.columnIndex : toVisibleIndex;\r\n targetGroupIndex = toIndex >= 0 ? this._columns[toIndex].groupIndex : -1;\r\n if (isDefined(column.groupIndex) && sourceLocation === GROUP_LOCATION) {\r\n if (targetGroupIndex > column.groupIndex) {\r\n targetGroupIndex--\r\n }\r\n if (targetLocation !== GROUP_LOCATION) {\r\n options.groupIndex = void 0\r\n } else {\r\n prevGroupIndex = column.groupIndex;\r\n delete column.groupIndex;\r\n updateColumnGroupIndexes(this)\r\n }\r\n }\r\n if (targetLocation === GROUP_LOCATION) {\r\n options.groupIndex = moveColumnToGroup(this, column, targetGroupIndex);\r\n column.groupIndex = prevGroupIndex\r\n } else if (toVisibleIndex >= 0) {\r\n var targetColumn = this._columns[toIndex];\r\n if (!targetColumn || column.ownerBand !== targetColumn.ownerBand) {\r\n options.visibleIndex = MAX_SAFE_INTEGER\r\n } else if (isColumnFixed(this, column) ^ isColumnFixed(this, targetColumn)) {\r\n options.visibleIndex = MAX_SAFE_INTEGER\r\n } else {\r\n options.visibleIndex = targetColumn.visibleIndex\r\n }\r\n }\r\n var isVisible = targetLocation !== COLUMN_CHOOSER_LOCATION;\r\n if (column.visible !== isVisible) {\r\n options.visible = isVisible\r\n }\r\n this.columnOption(column.index, options)\r\n }\r\n }\r\n changeSortOrder(columnIndex, sortOrder) {\r\n var options = {};\r\n var sortingOptions = this.option(\"sorting\");\r\n var sortingMode = sortingOptions && sortingOptions.mode;\r\n var needResetSorting = \"single\" === sortingMode || !sortOrder;\r\n var allowSorting = \"single\" === sortingMode || \"multiple\" === sortingMode;\r\n var column = this._columns[columnIndex];\r\n if (allowSorting && column && column.allowSorting) {\r\n if (needResetSorting && !isDefined(column.groupIndex)) {\r\n each(this._columns, (function(index) {\r\n if (index !== columnIndex && this.sortOrder) {\r\n if (!isDefined(this.groupIndex)) {\r\n delete this.sortOrder\r\n }\r\n delete this.sortIndex\r\n }\r\n }))\r\n }\r\n if (isSortOrderValid(sortOrder)) {\r\n if (column.sortOrder !== sortOrder) {\r\n options.sortOrder = sortOrder\r\n }\r\n } else if (\"none\" === sortOrder) {\r\n if (column.sortOrder) {\r\n options.sortIndex = void 0;\r\n options.sortOrder = void 0\r\n }\r\n } else {\r\n ! function(column) {\r\n if (\"ctrl\" === sortOrder) {\r\n if (!(\"sortOrder\" in column && \"sortIndex\" in column)) {\r\n return false\r\n }\r\n options.sortOrder = void 0;\r\n options.sortIndex = void 0\r\n } else if (isDefined(column.groupIndex) || isDefined(column.sortIndex)) {\r\n options.sortOrder = \"desc\" === column.sortOrder ? \"asc\" : \"desc\"\r\n } else {\r\n options.sortOrder = \"asc\"\r\n }\r\n return true\r\n }(column)\r\n }\r\n }\r\n this.columnOption(column.index, options)\r\n }\r\n getSortDataSourceParameters(useLocalSelector) {\r\n var sortColumns = [];\r\n var sort = [];\r\n each(this._columns, (function() {\r\n if ((this.dataField || this.selector || this.calculateCellValue) && isDefined(this.sortIndex) && !isDefined(this.groupIndex)) {\r\n sortColumns[this.sortIndex] = this\r\n }\r\n }));\r\n each(sortColumns, (function() {\r\n var sortOrder = this && this.sortOrder;\r\n if (isSortOrderValid(sortOrder)) {\r\n var sortItem = {\r\n selector: this.calculateSortValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue,\r\n desc: \"desc\" === this.sortOrder\r\n };\r\n if (this.sortingMethod) {\r\n sortItem.compare = this.sortingMethod.bind(this)\r\n }\r\n sort.push(sortItem)\r\n }\r\n }));\r\n return sort.length > 0 ? sort : null\r\n }\r\n getGroupDataSourceParameters(useLocalSelector) {\r\n var group = [];\r\n each(this.getGroupColumns(), (function() {\r\n var selector = this.calculateGroupValue || this.displayField || this.calculateDisplayValue || useLocalSelector && this.selector || this.dataField || this.calculateCellValue;\r\n if (selector) {\r\n var groupItem = {\r\n selector: selector,\r\n desc: \"desc\" === this.sortOrder,\r\n isExpanded: !!this.autoExpandGroup\r\n };\r\n if (this.sortingMethod) {\r\n groupItem.compare = this.sortingMethod.bind(this)\r\n }\r\n group.push(groupItem)\r\n }\r\n }));\r\n return group.length > 0 ? group : null\r\n }\r\n refresh(updateNewLookupsOnly) {\r\n var deferreds = [];\r\n each(this._columns, (function() {\r\n var {\r\n lookup: lookup\r\n } = this;\r\n if (lookup && !this.calculateDisplayValue) {\r\n if (updateNewLookupsOnly && lookup.valueMap) {\r\n return\r\n }\r\n if (lookup.update) {\r\n deferreds.push(lookup.update())\r\n }\r\n }\r\n }));\r\n return when.apply($, deferreds).done(resetColumnsCache.bind(null, this))\r\n }\r\n _updateColumnOptions(column, columnIndex) {\r\n column.selector = column.selector || function(data) {\r\n return column.calculateCellValue(data)\r\n };\r\n if (this._reinitAfterLookupChanges && this._previousColumns) {\r\n column.selector.columnIndex = columnIndex;\r\n column.selector.originalCallback = this._previousColumns[columnIndex].selector.originalCallback\r\n } else {\r\n column.selector.columnIndex = columnIndex;\r\n column.selector.originalCallback = column.selector\r\n }\r\n each([\"calculateSortValue\", \"calculateGroupValue\", \"calculateDisplayValue\"], (_, calculateCallbackName) => {\r\n var calculateCallback = column[calculateCallbackName];\r\n if (isFunction(calculateCallback)) {\r\n if (!calculateCallback.originalCallback) {\r\n var context = {\r\n column: column\r\n };\r\n column[calculateCallbackName] = function(data) {\r\n return calculateCallback.call(context.column, data)\r\n };\r\n column[calculateCallbackName].originalCallback = calculateCallback;\r\n column[calculateCallbackName].columnIndex = columnIndex;\r\n column[calculateCallbackName].context = context\r\n } else {\r\n column[calculateCallbackName].context.column = column\r\n }\r\n }\r\n });\r\n if (isString(column.calculateDisplayValue)) {\r\n column.displayField = column.calculateDisplayValue;\r\n column.calculateDisplayValue = compileGetter(column.displayField)\r\n }\r\n if (column.calculateDisplayValue) {\r\n column.displayValueMap = column.displayValueMap || {}\r\n }\r\n updateSerializers(column, column.dataType);\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (lookup) {\r\n updateSerializers(lookup, lookup.dataType)\r\n }\r\n var dataType = lookup ? lookup.dataType : column.dataType;\r\n if (dataType) {\r\n column.alignment = column.alignment || getAlignmentByDataType(dataType, this.option(\"rtlEnabled\"));\r\n column.format = column.format || gridCoreUtils.getFormatByDataType(dataType);\r\n column.customizeText = column.customizeText || getCustomizeTextByDataType(dataType);\r\n column.defaultFilterOperations = column.defaultFilterOperations || !lookup && DATATYPE_OPERATIONS[dataType] || [];\r\n if (!isDefined(column.filterOperations)) {\r\n setFilterOperationsAsDefaultValues(column)\r\n }\r\n column.defaultFilterOperation = column.filterOperations && column.filterOperations[0] || \"=\";\r\n column.showEditorAlways = isDefined(column.showEditorAlways) ? column.showEditorAlways : \"boolean\" === dataType && !column.cellTemplate && !column.lookup\r\n }\r\n }\r\n updateColumnDataTypes(dataSource) {\r\n var that = this;\r\n var dateSerializationFormat = that.option(\"dateSerializationFormat\");\r\n var firstItems = that._getFirstItems(dataSource);\r\n var isColumnDataTypesUpdated = false;\r\n each(that._columns, (index, column) => {\r\n var i;\r\n var value;\r\n var dataType;\r\n var lookupDataType;\r\n var valueDataType;\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (gridCoreUtils.isDateType(column.dataType) && void 0 === column.serializationFormat) {\r\n column.serializationFormat = dateSerializationFormat\r\n }\r\n if (lookup && gridCoreUtils.isDateType(lookup.dataType) && void 0 === column.serializationFormat) {\r\n lookup.serializationFormat = dateSerializationFormat\r\n }\r\n if (column.calculateCellValue && firstItems.length) {\r\n if (!column.dataType || lookup && !lookup.dataType) {\r\n for (i = 0; i < firstItems.length; i++) {\r\n value = column.calculateCellValue(firstItems[i]);\r\n if (!column.dataType) {\r\n valueDataType = getValueDataType(value);\r\n dataType = dataType || valueDataType;\r\n if (dataType && valueDataType && dataType !== valueDataType) {\r\n dataType = \"string\"\r\n }\r\n }\r\n if (lookup && !lookup.dataType) {\r\n valueDataType = getValueDataType(gridCoreUtils.getDisplayValue(column, value, firstItems[i]));\r\n lookupDataType = lookupDataType || valueDataType;\r\n if (lookupDataType && valueDataType && lookupDataType !== valueDataType) {\r\n lookupDataType = \"string\"\r\n }\r\n }\r\n }\r\n if (dataType || lookupDataType) {\r\n if (dataType) {\r\n column.dataType = dataType\r\n }\r\n if (lookup && lookupDataType) {\r\n lookup.dataType = lookupDataType\r\n }\r\n isColumnDataTypesUpdated = true\r\n }\r\n }\r\n if (void 0 === column.serializationFormat || lookup && void 0 === lookup.serializationFormat) {\r\n for (i = 0; i < firstItems.length; i++) {\r\n value = column.calculateCellValue(firstItems[i], true);\r\n if (void 0 === column.serializationFormat) {\r\n column.serializationFormat = getSerializationFormat(column.dataType, value)\r\n }\r\n if (lookup && void 0 === lookup.serializationFormat) {\r\n lookup.serializationFormat = getSerializationFormat(lookup.dataType, lookup.calculateCellValue(value, true))\r\n }\r\n }\r\n }\r\n }\r\n that._updateColumnOptions(column, index)\r\n });\r\n return isColumnDataTypesUpdated\r\n }\r\n _customizeColumns(columns) {\r\n var customizeColumns = this.option(\"customizeColumns\");\r\n if (customizeColumns) {\r\n var hasOwnerBand = columns.some(column => isObject(column.ownerBand));\r\n if (hasOwnerBand) {\r\n updateIndexes(this)\r\n }\r\n customizeColumns(columns);\r\n assignColumns(this, createColumnsFromOptions(this, columns))\r\n }\r\n }\r\n updateColumns(dataSource, forceApplying, isApplyingUserState) {\r\n if (!forceApplying) {\r\n this.updateSortingGrouping(dataSource)\r\n }\r\n if (!dataSource || dataSource.isLoaded()) {\r\n var sortParameters = dataSource ? dataSource.sort() || [] : this.getSortDataSourceParameters();\r\n var groupParameters = dataSource ? dataSource.group() || [] : this.getGroupDataSourceParameters();\r\n var filterParameters = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().filter;\r\n if (!isApplyingUserState) {\r\n this._customizeColumns(this._columns)\r\n }\r\n updateIndexes(this);\r\n var columns = this._columns;\r\n return when(this.refresh(true)).always(() => {\r\n if (this._columns !== columns) {\r\n return\r\n }\r\n this._updateChanges(dataSource, {\r\n sorting: sortParameters,\r\n grouping: groupParameters,\r\n filtering: filterParameters\r\n });\r\n fireColumnsChanged(this)\r\n })\r\n }\r\n }\r\n _updateChanges(dataSource, parameters) {\r\n if (dataSource) {\r\n this.updateColumnDataTypes(dataSource);\r\n this._dataSourceApplied = true\r\n }\r\n if (!gridCoreUtils.equalSortParameters(parameters.sorting, this.getSortDataSourceParameters())) {\r\n updateColumnChanges(this, \"sorting\")\r\n }\r\n if (!gridCoreUtils.equalSortParameters(parameters.grouping, this.getGroupDataSourceParameters())) {\r\n updateColumnChanges(this, \"grouping\")\r\n }\r\n var dataController = this.getController(\"data\");\r\n if (dataController && !gridCoreUtils.equalFilterParameters(parameters.filtering, dataController.getCombinedFilter())) {\r\n updateColumnChanges(this, \"filtering\")\r\n }\r\n updateColumnChanges(this, \"columns\")\r\n }\r\n updateSortingGrouping(dataSource, fromDataSource) {\r\n var that = this;\r\n var sortParameters;\r\n var isColumnsChanged;\r\n var updateSortGroupParameterIndexes = function(columns, sortParameters, indexParameterName) {\r\n each(columns, (index, column) => {\r\n delete column[indexParameterName];\r\n if (sortParameters) {\r\n for (var i = 0; i < sortParameters.length; i++) {\r\n var {\r\n selector: selector\r\n } = sortParameters[i];\r\n var {\r\n isExpanded: isExpanded\r\n } = sortParameters[i];\r\n if (selector === column.dataField || selector === column.name || selector === column.selector || selector === column.calculateCellValue || selector === column.calculateGroupValue || selector === column.calculateDisplayValue) {\r\n if (fromDataSource) {\r\n column.sortOrder = \"sortOrder\" in column ? column.sortOrder : sortParameters[i].desc ? \"desc\" : \"asc\"\r\n } else {\r\n column.sortOrder = column.sortOrder || (sortParameters[i].desc ? \"desc\" : \"asc\")\r\n }\r\n if (void 0 !== isExpanded) {\r\n column.autoExpandGroup = isExpanded\r\n }\r\n column[indexParameterName] = i;\r\n break\r\n }\r\n }\r\n }\r\n })\r\n };\r\n if (dataSource) {\r\n sortParameters = gridCoreUtils.normalizeSortingInfo(dataSource.sort());\r\n var groupParameters = gridCoreUtils.normalizeSortingInfo(dataSource.group());\r\n var columnsGroupParameters = that.getGroupDataSourceParameters();\r\n var columnsSortParameters = that.getSortDataSourceParameters();\r\n var groupingChanged = !gridCoreUtils.equalSortParameters(groupParameters, columnsGroupParameters, true);\r\n var groupExpandingChanged = !groupingChanged && !gridCoreUtils.equalSortParameters(groupParameters, columnsGroupParameters);\r\n if (!that._columns.length) {\r\n each(groupParameters, (index, group) => {\r\n that._columns.push(group.selector)\r\n });\r\n each(sortParameters, (index, sort) => {\r\n if (!isFunction(sort.selector)) {\r\n that._columns.push(sort.selector)\r\n }\r\n });\r\n assignColumns(that, createColumnsFromOptions(that, that._columns))\r\n }\r\n if ((fromDataSource || !columnsGroupParameters && !that._hasUserState) && (groupingChanged || groupExpandingChanged)) {\r\n updateSortGroupParameterIndexes(that._columns, groupParameters, \"groupIndex\");\r\n if (fromDataSource) {\r\n groupingChanged && updateColumnChanges(that, \"grouping\");\r\n groupExpandingChanged && updateColumnChanges(that, \"groupExpanding\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if ((fromDataSource || !columnsSortParameters && !that._hasUserState) && !gridCoreUtils.equalSortParameters(sortParameters, columnsSortParameters)) {\r\n updateSortGroupParameterIndexes(that._columns, sortParameters, \"sortIndex\");\r\n if (fromDataSource) {\r\n updateColumnChanges(that, \"sorting\");\r\n isColumnsChanged = true\r\n }\r\n }\r\n if (isColumnsChanged) {\r\n fireColumnsChanged(that)\r\n }\r\n }\r\n }\r\n updateFilter(filter, remoteFiltering, columnIndex, filterValue) {\r\n if (!Array.isArray(filter)) {\r\n return filter\r\n }\r\n filter = extend([], filter);\r\n columnIndex = void 0 !== filter.columnIndex ? filter.columnIndex : columnIndex;\r\n filterValue = void 0 !== filter.filterValue ? filter.filterValue : filterValue;\r\n if (isString(filter[0]) && \"!\" !== filter[0]) {\r\n var column = this.columnOption(filter[0]);\r\n if (remoteFiltering) {\r\n if (config().forceIsoDateParsing && column && column.serializeValue && filter.length > 1) {\r\n filter[filter.length - 1] = column.serializeValue(filter[filter.length - 1], \"filter\")\r\n }\r\n } else if (column && column.selector) {\r\n filter[0] = column.selector;\r\n filter[0].columnIndex = column.index\r\n }\r\n } else if (isFunction(filter[0])) {\r\n filter[0].columnIndex = columnIndex;\r\n filter[0].filterValue = filterValue;\r\n filter[0].selectedFilterOperation = filter.selectedFilterOperation\r\n }\r\n for (var i = 0; i < filter.length; i++) {\r\n filter[i] = this.updateFilter(filter[i], remoteFiltering, columnIndex, filterValue)\r\n }\r\n return filter\r\n }\r\n columnCount() {\r\n return this._columns ? this._columns.length : 0\r\n }\r\n columnOption(identifier, option, value, notFireEvent) {\r\n var that = this;\r\n var columns = that._columns.concat(that._commandColumns);\r\n var column = findColumn(columns, identifier);\r\n if (column) {\r\n if (1 === arguments.length) {\r\n return extend({}, column)\r\n }\r\n if (isString(option)) {\r\n if (2 === arguments.length) {\r\n return columnOptionCore(that, column, option)\r\n }\r\n columnOptionCore(that, column, option, value, notFireEvent)\r\n } else if (isObject(option)) {\r\n each(option, (optionName, value) => {\r\n columnOptionCore(that, column, optionName, value, notFireEvent)\r\n })\r\n }\r\n fireColumnsChanged(that)\r\n }\r\n }\r\n clearSorting() {\r\n var columnCount = this.columnCount();\r\n this.beginUpdate();\r\n for (var i = 0; i < columnCount; i++) {\r\n this.columnOption(i, \"sortOrder\", void 0);\r\n delete findColumn(this._columns, i).sortOrder\r\n }\r\n this.endUpdate()\r\n }\r\n clearGrouping() {\r\n var columnCount = this.columnCount();\r\n this.beginUpdate();\r\n for (var i = 0; i < columnCount; i++) {\r\n this.columnOption(i, \"groupIndex\", void 0)\r\n }\r\n this.endUpdate()\r\n }\r\n getVisibleIndex(index, rowIndex) {\r\n var columns = this.getVisibleColumns(rowIndex);\r\n for (var i = columns.length - 1; i >= 0; i--) {\r\n if (columns[i].index === index) {\r\n return i\r\n }\r\n }\r\n return -1\r\n }\r\n getVisibleIndexByColumn(column, rowIndex) {\r\n var visibleColumns = this.getVisibleColumns(rowIndex);\r\n var visibleColumn = visibleColumns.filter(col => col.index === column.index && col.command === column.command)[0];\r\n return visibleColumns.indexOf(visibleColumn)\r\n }\r\n getVisibleColumnIndex(id, rowIndex) {\r\n var index = this.columnOption(id, \"index\");\r\n return this.getVisibleIndex(index, rowIndex)\r\n }\r\n addColumn(options) {\r\n var column = createColumn(this, options);\r\n var index = this._columns.length;\r\n this._columns.push(column);\r\n if (column.isBand) {\r\n this._columns = createColumnsFromOptions(this, this._columns);\r\n column = this._columns[index]\r\n }\r\n column.added = options;\r\n updateIndexes(this, column);\r\n this.updateColumns(this._dataSource);\r\n this._checkColumns()\r\n }\r\n deleteColumn(id) {\r\n var column = this.columnOption(id);\r\n if (column && column.index >= 0) {\r\n convertOwnerBandToColumnReference(this._columns);\r\n this._columns.splice(column.index, 1);\r\n if (column.isBand) {\r\n var childIndexes = this.getChildrenByBandColumn(column.index).map(column => column.index);\r\n this._columns = this._columns.filter(column => childIndexes.indexOf(column.index) < 0)\r\n }\r\n updateIndexes(this);\r\n this.updateColumns(this._dataSource)\r\n }\r\n }\r\n addCommandColumn(options) {\r\n var commandColumn = this._commandColumns.filter(column => column.command === options.command)[0];\r\n if (!commandColumn) {\r\n commandColumn = options;\r\n this._commandColumns.push(commandColumn)\r\n }\r\n }\r\n getUserState() {\r\n var columns = this._columns;\r\n var result = [];\r\n var i;\r\n\r\n function handleStateField(index, value) {\r\n if (void 0 !== columns[i][value]) {\r\n result[i][value] = columns[i][value]\r\n }\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n result[i] = {};\r\n each(USER_STATE_FIELD_NAMES, handleStateField)\r\n }\r\n return result\r\n }\r\n setName(column) {\r\n column.name = column.name || column.dataField || column.type\r\n }\r\n setUserState(state) {\r\n var dataSource = this._dataSource;\r\n var ignoreColumnOptionNames = this.option(\"stateStoring.ignoreColumnOptionNames\");\r\n null === state || void 0 === state ? void 0 : state.forEach(this.setName);\r\n if (!ignoreColumnOptionNames) {\r\n ignoreColumnOptionNames = [];\r\n var commonColumnSettings = this.getCommonSettings();\r\n if (!this.option(\"columnChooser.enabled\")) {\r\n ignoreColumnOptionNames.push(\"visible\")\r\n }\r\n if (\"none\" === this.option(\"sorting.mode\")) {\r\n ignoreColumnOptionNames.push(\"sortIndex\", \"sortOrder\")\r\n }\r\n if (!commonColumnSettings.allowGrouping) {\r\n ignoreColumnOptionNames.push(\"groupIndex\")\r\n }\r\n if (!commonColumnSettings.allowFixing) {\r\n ignoreColumnOptionNames.push(\"fixed\", \"fixedPosition\")\r\n }\r\n if (!commonColumnSettings.allowResizing) {\r\n ignoreColumnOptionNames.push(\"width\", \"visibleWidth\")\r\n }\r\n var isFilterPanelHidden = !this.option(\"filterPanel.visible\");\r\n if (!this.option(\"filterRow.visible\") && isFilterPanelHidden) {\r\n ignoreColumnOptionNames.push(\"filterValue\", \"selectedFilterOperation\")\r\n }\r\n if (!this.option(\"headerFilter.visible\") && isFilterPanelHidden) {\r\n ignoreColumnOptionNames.push(\"filterValues\", \"filterType\")\r\n }\r\n }\r\n this._columnsUserState = state;\r\n this._ignoreColumnOptionNames = ignoreColumnOptionNames;\r\n this._hasUserState = !!state;\r\n updateColumnChanges(this, \"filtering\");\r\n this.init(true);\r\n if (dataSource) {\r\n dataSource.sort(this.getSortDataSourceParameters());\r\n dataSource.group(this.getGroupDataSourceParameters())\r\n }\r\n }\r\n _checkColumns() {\r\n var usedNames = {};\r\n var hasEditableColumnWithoutName = false;\r\n var duplicatedNames = [];\r\n this._columns.forEach(column => {\r\n var _a;\r\n var {\r\n name: name\r\n } = column;\r\n var isBand = null === (_a = column.columns) || void 0 === _a ? void 0 : _a.length;\r\n var isEditable = column.allowEditing && (column.dataField || column.setCellValue) && !isBand;\r\n if (name) {\r\n if (usedNames[name]) {\r\n duplicatedNames.push('\"'.concat(name, '\"'))\r\n }\r\n usedNames[name] = true\r\n } else if (isEditable) {\r\n hasEditableColumnWithoutName = true\r\n }\r\n });\r\n if (duplicatedNames.length) {\r\n errors.log(\"E1059\", duplicatedNames.join(\", \"))\r\n }\r\n if (hasEditableColumnWithoutName) {\r\n errors.log(\"E1060\")\r\n }\r\n }\r\n _createCalculatedColumnOptions(columnOptions, bandColumn) {\r\n var calculatedColumnOptions = {};\r\n var {\r\n dataField: dataField\r\n } = columnOptions;\r\n if (Array.isArray(columnOptions.columns) && columnOptions.columns.length || columnOptions.isBand) {\r\n calculatedColumnOptions.isBand = true;\r\n dataField = null\r\n }\r\n if (dataField) {\r\n if (isString(dataField)) {\r\n var getter = compileGetter(dataField);\r\n calculatedColumnOptions = {\r\n caption: captionize(dataField),\r\n calculateCellValue(data, skipDeserialization) {\r\n var value = getter(data);\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n setCellValue: defaultSetCellValue,\r\n parseValue(text) {\r\n var result;\r\n var parsedValue;\r\n if (\"number\" === this.dataType) {\r\n if (isString(text) && this.format) {\r\n result = strictParseNumber(text.trim(), this.format)\r\n } else if (isDefined(text) && isNumeric(text)) {\r\n result = Number(text)\r\n }\r\n } else if (\"boolean\" === this.dataType) {\r\n if (text === this.trueText) {\r\n result = true\r\n } else if (text === this.falseText) {\r\n result = false\r\n }\r\n } else if (gridCoreUtils.isDateType(this.dataType)) {\r\n parsedValue = dateLocalization.parse(text, this.format);\r\n if (parsedValue) {\r\n result = parsedValue\r\n }\r\n } else {\r\n result = text\r\n }\r\n return result\r\n }\r\n }\r\n }\r\n calculatedColumnOptions.allowFiltering = true\r\n } else {\r\n calculatedColumnOptions.allowFiltering = !!columnOptions.calculateFilterExpression\r\n }\r\n calculatedColumnOptions.calculateFilterExpression = function() {\r\n return filterUtils.defaultCalculateFilterExpression.apply(this, arguments)\r\n };\r\n calculatedColumnOptions.defaultFilterOperation = \"=\";\r\n calculatedColumnOptions.createFilterExpression = function(filterValue, selectedFilterOperation) {\r\n var result;\r\n if (this.calculateFilterExpression) {\r\n result = this.calculateFilterExpression.apply(this, arguments)\r\n }\r\n if (isFunction(result)) {\r\n result = [result, \"=\", true]\r\n }\r\n if (result) {\r\n result.columnIndex = this.index;\r\n result.filterValue = filterValue;\r\n result.selectedFilterOperation = selectedFilterOperation\r\n }\r\n return result\r\n };\r\n if (!dataField || !isString(dataField)) {\r\n extend(true, calculatedColumnOptions, {\r\n allowSorting: false,\r\n allowGrouping: false,\r\n calculateCellValue: () => null\r\n })\r\n }\r\n if (bandColumn) {\r\n calculatedColumnOptions.allowFixing = false\r\n }\r\n if (columnOptions.dataType) {\r\n calculatedColumnOptions.userDataType = columnOptions.dataType\r\n }\r\n if (columnOptions.selectedFilterOperation && !(\"defaultSelectedFilterOperation\" in calculatedColumnOptions)) {\r\n calculatedColumnOptions.defaultSelectedFilterOperation = columnOptions.selectedFilterOperation\r\n }\r\n if (columnOptions.lookup) {\r\n calculatedColumnOptions.lookup = {\r\n calculateCellValue(value, skipDeserialization) {\r\n if (this.valueExpr) {\r\n value = this.valueMap && this.valueMap[value]\r\n }\r\n return this.deserializeValue && !skipDeserialization ? this.deserializeValue(value) : value\r\n },\r\n updateValueMap() {\r\n this.valueMap = {};\r\n if (this.items) {\r\n var calculateValue = compileGetter(this.valueExpr);\r\n var calculateDisplayValue = compileGetter(this.displayExpr);\r\n for (var i = 0; i < this.items.length; i++) {\r\n var item = this.items[i];\r\n var displayValue = calculateDisplayValue(item);\r\n this.valueMap[calculateValue(item)] = displayValue;\r\n this.dataType = this.dataType || getValueDataType(displayValue)\r\n }\r\n }\r\n },\r\n update() {\r\n var that = this;\r\n var {\r\n dataSource: dataSource\r\n } = that;\r\n if (dataSource) {\r\n if (isFunction(dataSource) && !variableWrapper.isWrapped(dataSource)) {\r\n dataSource = dataSource({})\r\n }\r\n if (isPlainObject(dataSource) || dataSource instanceof Store || Array.isArray(dataSource)) {\r\n if (that.valueExpr) {\r\n var dataSourceOptions = normalizeDataSourceOptions(dataSource);\r\n dataSourceOptions.paginate = false;\r\n dataSource = new DataSource(dataSourceOptions);\r\n return dataSource.load().done(data => {\r\n that.items = data;\r\n that.updateValueMap && that.updateValueMap()\r\n })\r\n }\r\n } else {\r\n errors.log(\"E1016\")\r\n }\r\n } else {\r\n that.updateValueMap && that.updateValueMap()\r\n }\r\n }\r\n }\r\n }\r\n calculatedColumnOptions.resizedCallbacks = Callbacks();\r\n if (columnOptions.resized) {\r\n calculatedColumnOptions.resizedCallbacks.add(columnOptions.resized.bind(columnOptions))\r\n }\r\n each(calculatedColumnOptions, optionName => {\r\n if (isFunction(calculatedColumnOptions[optionName]) && 0 !== optionName.indexOf(\"default\")) {\r\n var defaultOptionName = \"default\".concat(optionName.charAt(0).toUpperCase()).concat(optionName.substr(1));\r\n calculatedColumnOptions[defaultOptionName] = calculatedColumnOptions[optionName]\r\n }\r\n });\r\n return calculatedColumnOptions\r\n }\r\n getRowCount() {\r\n this._rowCount = this._rowCount || getRowCount(this);\r\n return this._rowCount\r\n }\r\n getRowIndex(columnIndex, alwaysGetRowIndex) {\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n return column && (alwaysGetRowIndex || column.visible && !(column.command || isDefined(column.groupIndex))) ? getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex).length : 0\r\n }\r\n getChildrenByBandColumn(bandColumnIndex, onlyVisibleDirectChildren) {\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var result = getChildrenByBandColumn(bandColumnIndex, bandColumnsCache.columnChildrenByIndex, !onlyVisibleDirectChildren);\r\n if (onlyVisibleDirectChildren) {\r\n return result.filter(column => column.visible && !column.command).sort((column1, column2) => column1.visibleIndex - column2.visibleIndex)\r\n }\r\n return result\r\n }\r\n isParentBandColumn(columnIndex, bandColumnIndex) {\r\n var result = false;\r\n var column = this._columns[columnIndex];\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var parentBandColumns = column && getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex);\r\n if (parentBandColumns) {\r\n each(parentBandColumns, (_, bandColumn) => {\r\n if (bandColumn.index === bandColumnIndex) {\r\n result = true;\r\n return false\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n isParentColumnVisible(columnIndex) {\r\n var result = true;\r\n var bandColumnsCache = this.getBandColumnsCache();\r\n var bandColumns = columnIndex >= 0 && getParentBandColumns(columnIndex, bandColumnsCache.columnParentByIndex);\r\n bandColumns && each(bandColumns, (_, bandColumn) => {\r\n result = result && bandColumn.visible;\r\n return result\r\n });\r\n return result\r\n }\r\n getColumnId(column) {\r\n if (column.command && column.type === GROUP_COMMAND_COLUMN_NAME) {\r\n if (isCustomCommandColumn(this, column)) {\r\n return \"type:\".concat(column.type)\r\n }\r\n return \"command:\".concat(column.command)\r\n }\r\n return column.index\r\n }\r\n getCustomizeTextByDataType(dataType) {\r\n return getCustomizeTextByDataType(dataType)\r\n }\r\n getHeaderContentAlignment(columnAlignment) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return \"left\" === columnAlignment ? \"right\" : \"left\"\r\n }\r\n return columnAlignment\r\n }\r\n}\r\nexport var columnsControllerModule = {\r\n defaultOptions: () => ({\r\n commonColumnSettings: {\r\n allowFiltering: true,\r\n allowHiding: true,\r\n allowSorting: true,\r\n allowEditing: true,\r\n encodeHtml: true,\r\n trueText: messageLocalization.format(\"dxDataGrid-trueText\"),\r\n falseText: messageLocalization.format(\"dxDataGrid-falseText\")\r\n },\r\n allowColumnReordering: false,\r\n allowColumnResizing: false,\r\n columnResizingMode: \"nextColumn\",\r\n columnMinWidth: void 0,\r\n columnWidth: void 0,\r\n adaptColumnWidthByRatio: true,\r\n columns: void 0,\r\n regenerateColumnsByVisibleItems: false,\r\n customizeColumns: null,\r\n dateSerializationFormat: void 0\r\n }),\r\n controllers: {\r\n columns: ColumnsController\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_columns_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n columnsControllerModule\r\n} from \"../../grids/grid_core/columns_controller/m_columns_controller\";\r\nimport gridCore from \"./m_core\";\r\ngridCore.registerModule(\"columns\", {\r\n defaultOptions: () => extend(true, {}, columnsControllerModule.defaultOptions(), {\r\n commonColumnSettings: {\r\n allowExporting: true\r\n }\r\n }),\r\n controllers: columnsControllerModule.controllers\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar _a, _b;\r\nimport errors from \"../../../ui/widget/ui.errors\";\r\nimport {\r\n dataControllerModule\r\n} from \"../../grids/grid_core/data_controller/m_data_controller\";\r\nimport gridCore from \"./m_core\";\r\nimport dataSourceAdapterProvider from \"./m_data_source_adapter\";\r\nexport var DataController = null === (_b = null === (_a = dataControllerModule.controllers) || void 0 === _a ? void 0 : _a.data) || void 0 === _b ? void 0 : _b.inherit({\r\n _getDataSourceAdapter: () => dataSourceAdapterProvider,\r\n _getSpecificDataSourceOption() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (dataSource && !Array.isArray(dataSource) && this.option(\"keyExpr\")) {\r\n errors.log(\"W1011\")\r\n }\r\n return this.callBase()\r\n }\r\n});\r\ngridCore.registerModule(\"data\", {\r\n defaultOptions: dataControllerModule.defaultOptions,\r\n controllers: {\r\n data: DataController\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_controller/m_data_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n findChanges\r\n} from \"../../../../core/utils/array_compare\";\r\nimport {\r\n deferRender,\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport CustomStore from \"../../../../data/custom_store\";\r\nimport DataHelperMixin from \"../../../../data_helper\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar changePaging = function(that, optionName, value) {\r\n var dataSource = that._dataSource;\r\n if (dataSource) {\r\n if (void 0 !== value) {\r\n var oldValue = that._getPagingOptionValue(optionName);\r\n if (oldValue !== value) {\r\n if (\"pageSize\" === optionName) {\r\n dataSource.pageIndex(0)\r\n }\r\n dataSource[optionName](value);\r\n that._skipProcessingPagingChange = true;\r\n that.option(\"paging.\".concat(optionName), value);\r\n that._skipProcessingPagingChange = false;\r\n var pageIndex = dataSource.pageIndex();\r\n that._isPaging = \"pageIndex\" === optionName;\r\n return dataSource[\"pageIndex\" === optionName ? \"load\" : \"reload\"]().done(() => {\r\n that._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n })\r\n }\r\n return Deferred().resolve().promise()\r\n }\r\n return dataSource[optionName]()\r\n }\r\n return 0\r\n};\r\nvar ControllerWithDataMixin = modules.Controller.inherit(DataHelperMixin);\r\nexport class DataController extends ControllerWithDataMixin {\r\n init() {\r\n var that = this;\r\n that._items = [];\r\n that._cachedProcessedItems = null;\r\n that._columnsController = this.getController(\"columns\");\r\n that._isPaging = false;\r\n that._currentOperationTypes = null;\r\n that._dataChangedHandler = e => {\r\n that._currentOperationTypes = this._dataSource.operationTypes();\r\n that._handleDataChanged(e);\r\n that._currentOperationTypes = null\r\n };\r\n that._columnsChangedHandler = that._handleColumnsChanged.bind(that);\r\n that._loadingChangedHandler = that._handleLoadingChanged.bind(that);\r\n that._loadErrorHandler = that._handleLoadError.bind(that);\r\n that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that);\r\n that._changingHandler = that._handleChanging.bind(that);\r\n that._dataPushedHandler = that._handleDataPushed.bind(that);\r\n that._columnsController.columnsChanged.add(that._columnsChangedHandler);\r\n that._isLoading = false;\r\n that._isCustomLoading = false;\r\n that._repaintChangesOnly = void 0;\r\n that._changes = [];\r\n that.createAction(\"onDataErrorOccurred\");\r\n that.dataErrorOccurred.add(error => that.executeAction(\"onDataErrorOccurred\", {\r\n error: error\r\n }));\r\n that._refreshDataSource()\r\n }\r\n _getPagingOptionValue(optionName) {\r\n return this._dataSource[optionName]()\r\n }\r\n callbackNames() {\r\n return [\"changed\", \"loadingChanged\", \"dataErrorOccurred\", \"pageChanged\", \"dataSourceChanged\", \"pushed\"]\r\n }\r\n callbackFlags(name) {\r\n if (\"dataErrorOccurred\" === name) {\r\n return {\r\n stopOnFalse: true\r\n }\r\n }\r\n return\r\n }\r\n publicMethods() {\r\n return [\"beginCustomLoading\", \"endCustomLoading\", \"refresh\", \"filter\", \"clearFilter\", \"getCombinedFilter\", \"keyOf\", \"byKey\", \"getDataByKeys\", \"pageIndex\", \"pageSize\", \"pageCount\", \"totalCount\", \"_disposeDataSource\", \"getKeyByRowIndex\", \"getRowIndexByKey\", \"getDataSource\", \"getVisibleRows\", \"repaintRows\"]\r\n }\r\n reset() {\r\n this._columnsController.reset();\r\n this._items = [];\r\n this._refreshDataSource()\r\n }\r\n _handleDataSourceChange(args) {\r\n if (args.value === args.previousValue || this.option(\"columns\") && Array.isArray(args.value) && Array.isArray(args.previousValue)) {\r\n var isValueChanged = args.value !== args.previousValue;\r\n if (isValueChanged) {\r\n var store = this.store();\r\n if (store) {\r\n store._array = args.value\r\n }\r\n }\r\n if (this.needToRefreshOnDataSourceChange(args)) {\r\n this.refresh(this.option(\"repaintChangesOnly\"))\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n needToRefreshOnDataSourceChange(args) {\r\n return true\r\n }\r\n optionChanged(args) {\r\n var that = this;\r\n var dataSource;\r\n var changedPagingOptions;\r\n\r\n function handled() {\r\n args.handled = true\r\n }\r\n if (\"dataSource\" === args.name && args.name === args.fullName && this._handleDataSourceChange(args)) {\r\n handled();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"cacheEnabled\":\r\n case \"repaintChangesOnly\":\r\n case \"highlightChanges\":\r\n case \"loadingTimeout\":\r\n handled();\r\n break;\r\n case \"remoteOperations\":\r\n case \"keyExpr\":\r\n case \"dataSource\":\r\n case \"scrolling\":\r\n handled();\r\n that.reset();\r\n break;\r\n case \"paging\":\r\n dataSource = that.dataSource();\r\n if (dataSource) {\r\n changedPagingOptions = that._setPagingOptions(dataSource);\r\n if (changedPagingOptions) {\r\n var pageIndex = dataSource.pageIndex();\r\n this._isPaging = changedPagingOptions.isPageIndexChanged;\r\n dataSource.load().done(() => {\r\n this._isPaging = false;\r\n that.pageChanged.fire(pageIndex)\r\n })\r\n }\r\n }\r\n handled();\r\n break;\r\n case \"rtlEnabled\":\r\n that.reset();\r\n break;\r\n case \"columns\":\r\n dataSource = that.dataSource();\r\n if (dataSource && dataSource.isLoading() && args.name === args.fullName) {\r\n this._useSortingGroupingFromColumns = true;\r\n dataSource.load()\r\n }\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isReady() {\r\n return !this._isLoading\r\n }\r\n getDataSource() {\r\n return this._dataSource && this._dataSource._dataSource\r\n }\r\n getCombinedFilter(returnDataField) {\r\n return this.combinedFilter(void 0, returnDataField)\r\n }\r\n combinedFilter(filter, returnDataField) {\r\n if (!this._dataSource) {\r\n return filter\r\n }\r\n var combinedFilter = null !== filter && void 0 !== filter ? filter : this._dataSource.filter();\r\n var isColumnsTypesDefined = this._columnsController.isDataSourceApplied() || this._columnsController.isAllDataTypesDefined();\r\n if (isColumnsTypesDefined) {\r\n var additionalFilter = this._calculateAdditionalFilter();\r\n combinedFilter = additionalFilter ? gridCoreUtils.combineFilters([additionalFilter, combinedFilter]) : combinedFilter\r\n }\r\n var isRemoteFiltering = this._dataSource.remoteOperations().filtering || returnDataField;\r\n combinedFilter = this._columnsController.updateFilter(combinedFilter, isRemoteFiltering);\r\n return combinedFilter\r\n }\r\n waitReady() {\r\n if (this._updateLockCount) {\r\n this._readyDeferred = new Deferred;\r\n return this._readyDeferred\r\n }\r\n return when()\r\n }\r\n _endUpdateCore() {\r\n var changes = this._changes;\r\n if (changes.length) {\r\n this._changes = [];\r\n var repaintChangesOnly = changes.every(change => change.repaintChangesOnly);\r\n this.updateItems(1 === changes.length ? changes[0] : {\r\n repaintChangesOnly: repaintChangesOnly\r\n })\r\n }\r\n if (this._readyDeferred) {\r\n this._readyDeferred.resolve();\r\n this._readyDeferred = null\r\n }\r\n }\r\n _handleCustomizeStoreLoadOptions(e) {\r\n var _a;\r\n var columnsController = this._columnsController;\r\n var dataSource = this._dataSource;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = e;\r\n if (e.isCustomLoading && !storeLoadOptions.isLoadingAll) {\r\n return\r\n }\r\n storeLoadOptions.filter = this.combinedFilter(storeLoadOptions.filter);\r\n if (1 === (null === (_a = storeLoadOptions.filter) || void 0 === _a ? void 0 : _a.length) && \"!\" === storeLoadOptions.filter[0]) {\r\n e.data = [];\r\n e.extra = e.extra || {};\r\n e.extra.totalCount = 0\r\n }\r\n if (!columnsController.isDataSourceApplied()) {\r\n columnsController.updateColumnDataTypes(dataSource)\r\n }\r\n this._columnsUpdating = true;\r\n columnsController.updateSortingGrouping(dataSource, !this._useSortingGroupingFromColumns);\r\n this._columnsUpdating = false;\r\n storeLoadOptions.sort = columnsController.getSortDataSourceParameters();\r\n storeLoadOptions.group = columnsController.getGroupDataSourceParameters();\r\n dataSource.sort(storeLoadOptions.sort);\r\n dataSource.group(storeLoadOptions.group);\r\n storeLoadOptions.sort = columnsController.getSortDataSourceParameters(!dataSource.remoteOperations().sorting);\r\n e.group = columnsController.getGroupDataSourceParameters(!dataSource.remoteOperations().grouping)\r\n }\r\n _handleColumnsChanged(e) {\r\n var that = this;\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var filterValue;\r\n var filterValues;\r\n var filterApplied;\r\n if (changeTypes.sorting || changeTypes.grouping) {\r\n if (that._dataSource && !that._columnsUpdating) {\r\n that._dataSource.group(that._columnsController.getGroupDataSourceParameters());\r\n that._dataSource.sort(that._columnsController.getSortDataSourceParameters());\r\n that.reload()\r\n }\r\n } else if (changeTypes.columns) {\r\n filterValues = that._columnsController.columnOption(e.columnIndex, \"filterValues\");\r\n if (optionNames.filterValues || optionNames.filterType && Array.isArray(filterValues) || optionNames.filterValue || optionNames.selectedFilterOperation || optionNames.allowFiltering) {\r\n filterValue = that._columnsController.columnOption(e.columnIndex, \"filterValue\");\r\n if (Array.isArray(filterValues) || void 0 === e.columnIndex || isDefined(filterValue) || !optionNames.selectedFilterOperation || optionNames.filterValue) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n if (!that._needApplyFilter && !gridCoreUtils.checkChanges(optionNames, [\"width\", \"visibleWidth\", \"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"filterValues\", \"filterType\"])) {\r\n that._columnsController.columnsChanged.add((function updateItemsHandler(change) {\r\n var _a;\r\n that._columnsController.columnsChanged.remove(updateItemsHandler);\r\n that.updateItems({\r\n repaintChangesOnly: false,\r\n virtualColumnsScrolling: null === (_a = null === change || void 0 === change ? void 0 : change.changeTypes) || void 0 === _a ? void 0 : _a.virtualColumnsScrolling\r\n })\r\n }))\r\n }\r\n if (isDefined(optionNames.visible)) {\r\n var column = that._columnsController.columnOption(e.columnIndex);\r\n if (column && (isDefined(column.filterValue) || isDefined(column.filterValues))) {\r\n that._applyFilter();\r\n filterApplied = true\r\n }\r\n }\r\n }\r\n if (!filterApplied && changeTypes.filtering) {\r\n that.reload()\r\n }\r\n }\r\n _handleDataChanged(e) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var columnsController = that._columnsController;\r\n var isAsyncDataSourceApplying = false;\r\n this._useSortingGroupingFromColumns = false;\r\n if (dataSource && !that._isDataSourceApplying) {\r\n that._isDataSourceApplying = true;\r\n when(that._columnsController.applyDataSource(dataSource)).done(() => {\r\n if (that._isLoading) {\r\n that._handleLoadingChanged(false)\r\n }\r\n if (isAsyncDataSourceApplying && e && e.isDelayed) {\r\n e.isDelayed = false\r\n }\r\n that._isDataSourceApplying = false;\r\n var needApplyFilter = that._needApplyFilter;\r\n that._needApplyFilter = false;\r\n if (needApplyFilter && !that._isAllDataTypesDefined && (additionalFilter = that._calculateAdditionalFilter(), additionalFilter && additionalFilter.length)) {\r\n errors.log(\"W1005\", that.component.NAME);\r\n that._applyFilter()\r\n } else {\r\n that.updateItems(e, true)\r\n }\r\n var additionalFilter\r\n }).fail(() => {\r\n that._isDataSourceApplying = false\r\n });\r\n if (that._isDataSourceApplying) {\r\n isAsyncDataSourceApplying = true;\r\n that._handleLoadingChanged(true)\r\n }\r\n that._needApplyFilter = !that._columnsController.isDataSourceApplied();\r\n that._isAllDataTypesDefined = columnsController.isAllDataTypesDefined()\r\n }\r\n }\r\n _handleLoadingChanged(isLoading) {\r\n this._isLoading = isLoading;\r\n this._fireLoadingChanged()\r\n }\r\n _handleLoadError(e) {\r\n this.dataErrorOccurred.fire(e)\r\n }\r\n _handleDataPushed(changes) {\r\n this.pushed.fire(changes)\r\n }\r\n fireError() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.dataErrorOccurred.fire(errors.Error.apply(errors, args))\r\n }\r\n _setPagingOptions(dataSource) {\r\n var pageIndex = this.option(\"paging.pageIndex\");\r\n var pageSize = this.option(\"paging.pageSize\");\r\n var pagingEnabled = this.option(\"paging.enabled\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var appendMode = \"infinite\" === scrollingMode;\r\n var virtualMode = \"virtual\" === scrollingMode;\r\n var paginate = pagingEnabled || virtualMode || appendMode;\r\n var isPaginateChanged = false;\r\n var isPageSizeChanged = false;\r\n var isPageIndexChanged = false;\r\n dataSource.requireTotalCount(!appendMode);\r\n if (void 0 !== pagingEnabled && dataSource.paginate() !== paginate) {\r\n dataSource.paginate(paginate);\r\n isPaginateChanged = true\r\n }\r\n if (void 0 !== pageSize && dataSource.pageSize() !== pageSize) {\r\n dataSource.pageSize(pageSize);\r\n isPageSizeChanged = true\r\n }\r\n if (void 0 !== pageIndex && dataSource.pageIndex() !== pageIndex) {\r\n dataSource.pageIndex(pageIndex);\r\n isPageIndexChanged = true\r\n }\r\n if (isPaginateChanged || isPageSizeChanged || isPageIndexChanged) {\r\n return {\r\n isPaginateChanged: isPaginateChanged,\r\n isPageSizeChanged: isPageSizeChanged,\r\n isPageIndexChanged: isPageIndexChanged\r\n }\r\n }\r\n return false\r\n }\r\n _getSpecificDataSourceOption() {\r\n var dataSource = this.option(\"dataSource\");\r\n if (Array.isArray(dataSource)) {\r\n return {\r\n store: {\r\n type: \"array\",\r\n data: dataSource,\r\n key: this.option(\"keyExpr\")\r\n }\r\n }\r\n }\r\n return dataSource\r\n }\r\n _initDataSource() {\r\n var oldDataSource = this._dataSource;\r\n super._initDataSource();\r\n var dataSource = this._dataSource;\r\n this._useSortingGroupingFromColumns = true;\r\n this._cachedProcessedItems = null;\r\n if (dataSource) {\r\n var changedPagingOptions = this._setPagingOptions(dataSource);\r\n this._isPaging = null === changedPagingOptions || void 0 === changedPagingOptions ? void 0 : changedPagingOptions.isPageIndexChanged;\r\n this.setDataSource(dataSource)\r\n } else if (oldDataSource) {\r\n this.updateItems()\r\n }\r\n }\r\n _loadDataSource() {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var result = new Deferred;\r\n when(this._columnsController.refresh(true)).always(() => {\r\n if (dataSource) {\r\n dataSource.load().done((function() {\r\n that._isPaging = false;\r\n result.resolve.apply(result, arguments)\r\n })).fail(result.reject)\r\n } else {\r\n result.resolve()\r\n }\r\n });\r\n return result.promise()\r\n }\r\n _beforeProcessItems(items) {\r\n return items.slice(0)\r\n }\r\n getRowIndexDelta() {\r\n return 0\r\n }\r\n getDataIndex(change) {\r\n var visibleItems = this._items;\r\n var lastVisibleItem = \"append\" === change.changeType && visibleItems.length > 0 ? visibleItems[visibleItems.length - 1] : null;\r\n return isDefined(null === lastVisibleItem || void 0 === lastVisibleItem ? void 0 : lastVisibleItem.dataIndex) ? lastVisibleItem.dataIndex + 1 : 0\r\n }\r\n _processItems(items, change) {\r\n var that = this;\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var visibleColumns = that._columnsController.getVisibleColumns(null, \"loadingAll\" === changeType);\r\n var dataIndex = this.getDataIndex(change);\r\n var options = {\r\n visibleColumns: visibleColumns,\r\n dataIndex: dataIndex\r\n };\r\n var result = [];\r\n each(items, (index, item) => {\r\n if (isDefined(item)) {\r\n options.rowIndex = index - rowIndexDelta;\r\n item = that._processItem(item, options);\r\n result.push(item)\r\n }\r\n });\r\n return result\r\n }\r\n _processItem(item, options) {\r\n item = this._generateDataItem(item, options);\r\n item = this._processDataItem(item, options);\r\n item.dataIndex = options.dataIndex++;\r\n return item\r\n }\r\n _generateDataItem(data, options) {\r\n return {\r\n rowType: \"data\",\r\n data: data,\r\n key: this.keyOf(data)\r\n }\r\n }\r\n _processDataItem(dataItem, options) {\r\n dataItem.values = this.generateDataValues(dataItem.data, options.visibleColumns);\r\n return dataItem\r\n }\r\n generateDataValues(data, columns, isModified) {\r\n var values = [];\r\n var value;\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n value = isModified ? void 0 : null;\r\n if (!column.command) {\r\n if (column.calculateCellValue) {\r\n value = column.calculateCellValue(data)\r\n } else if (column.dataField) {\r\n value = data[column.dataField]\r\n }\r\n }\r\n values.push(value)\r\n }\r\n return values\r\n }\r\n _applyChange(change) {\r\n if (\"update\" === change.changeType) {\r\n this._applyChangeUpdate(change)\r\n } else if (this.items().length && change.repaintChangesOnly && \"refresh\" === change.changeType) {\r\n this._applyChangesOnly(change)\r\n } else if (\"refresh\" === change.changeType) {\r\n this._applyChangeFull(change)\r\n }\r\n }\r\n _applyChangeFull(change) {\r\n this._items = change.items.slice(0)\r\n }\r\n _getRowIndices(change) {\r\n var rowIndices = change.rowIndices.slice(0);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n rowIndices.sort((a, b) => a - b);\r\n for (var i = 0; i < rowIndices.length; i++) {\r\n var correctedRowIndex = rowIndices[i];\r\n if (change.allowInvisibleRowIndices) {\r\n correctedRowIndex += rowIndexDelta\r\n }\r\n if (correctedRowIndex < 0) {\r\n rowIndices.splice(i, 1);\r\n i--\r\n }\r\n }\r\n return rowIndices\r\n }\r\n _applyChangeUpdate(change) {\r\n var that = this;\r\n var {\r\n items: items\r\n } = change;\r\n var rowIndices = that._getRowIndices(change);\r\n var rowIndexDelta = that.getRowIndexDelta();\r\n var repaintChangesOnly = that.option(\"repaintChangesOnly\");\r\n var prevIndex = -1;\r\n var rowIndexCorrection = 0;\r\n var changeType;\r\n change.items = [];\r\n change.rowIndices = [];\r\n change.columnIndices = [];\r\n change.changeTypes = [];\r\n var equalItems = function(item1, item2, strict) {\r\n var result = item1 && item2 && equalByValue(item1.key, item2.key);\r\n if (result && strict) {\r\n result = item1.rowType === item2.rowType && (\"detail\" !== item2.rowType || item1.isEditing === item2.isEditing)\r\n }\r\n return result\r\n };\r\n each(rowIndices, (index, rowIndex) => {\r\n var columnIndices;\r\n rowIndex += rowIndexCorrection + rowIndexDelta;\r\n if (prevIndex === rowIndex) {\r\n return\r\n }\r\n prevIndex = rowIndex;\r\n var oldItem = that._items[rowIndex];\r\n var oldNextItem = that._items[rowIndex + 1];\r\n var newItem = items[rowIndex];\r\n var newNextItem = items[rowIndex + 1];\r\n var strict = equalItems(oldItem, oldNextItem) || equalItems(newItem, newNextItem);\r\n if (newItem) {\r\n newItem.rowIndex = rowIndex;\r\n change.items.push(newItem)\r\n }\r\n if (oldItem && newItem && equalItems(oldItem, newItem, strict)) {\r\n changeType = \"update\";\r\n that._items[rowIndex] = newItem;\r\n if (oldItem.visible !== newItem.visible) {\r\n change.items.splice(-1, 1, {\r\n visible: newItem.visible\r\n })\r\n } else if (repaintChangesOnly && !change.isFullUpdate) {\r\n columnIndices = that._partialUpdateRow(oldItem, newItem, rowIndex - rowIndexDelta)\r\n }\r\n } else if (newItem && !oldItem || newNextItem && equalItems(oldItem, newNextItem, strict)) {\r\n changeType = \"insert\";\r\n that._items.splice(rowIndex, 0, newItem);\r\n rowIndexCorrection++\r\n } else if (oldItem && !newItem || oldNextItem && equalItems(newItem, oldNextItem, strict)) {\r\n changeType = \"remove\";\r\n that._items.splice(rowIndex, 1);\r\n rowIndexCorrection--;\r\n prevIndex = -1\r\n } else if (newItem) {\r\n changeType = \"update\";\r\n that._items[rowIndex] = newItem\r\n } else {\r\n return\r\n }\r\n change.rowIndices.push(rowIndex - rowIndexDelta);\r\n change.changeTypes.push(changeType);\r\n change.columnIndices.push(columnIndices)\r\n })\r\n }\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n if (JSON.stringify(oldRow.values[columnIndex]) !== JSON.stringify(newRow.values[columnIndex])) {\r\n return true\r\n }\r\n\r\n function isCellModified(row, columnIndex) {\r\n return row.modifiedValues ? void 0 !== row.modifiedValues[columnIndex] : false\r\n }\r\n if (isCellModified(oldRow, columnIndex) !== isCellModified(newRow, columnIndex)) {\r\n return true\r\n }\r\n return false\r\n }\r\n _getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n var columnIndices;\r\n if (oldItem.rowType === newItem.rowType) {\r\n if (\"group\" !== newItem.rowType && \"groupFooter\" !== newItem.rowType) {\r\n columnIndices = [];\r\n if (\"detail\" !== newItem.rowType) {\r\n for (var columnIndex = 0; columnIndex < oldItem.values.length; columnIndex++) {\r\n if (this._isCellChanged(oldItem, newItem, visibleRowIndex, columnIndex, isLiveUpdate)) {\r\n columnIndices.push(columnIndex)\r\n }\r\n }\r\n }\r\n }\r\n if (\"group\" === newItem.rowType && newItem.isExpanded === oldItem.isExpanded && oldItem.cells) {\r\n columnIndices = oldItem.cells.map((cell, index) => {\r\n var _a;\r\n return \"groupExpand\" !== (null === (_a = cell.column) || void 0 === _a ? void 0 : _a.type) ? index : -1\r\n }).filter(index => index >= 0)\r\n }\r\n }\r\n return columnIndices\r\n }\r\n _partialUpdateRow(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n var changedColumnIndices = this._getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate);\r\n if ((null === changedColumnIndices || void 0 === changedColumnIndices ? void 0 : changedColumnIndices.length) && this.option(\"dataRowTemplate\")) {\r\n changedColumnIndices = void 0\r\n }\r\n if (changedColumnIndices) {\r\n oldItem.cells && oldItem.cells.forEach((cell, columnIndex) => {\r\n var isCellChanged = changedColumnIndices.indexOf(columnIndex) >= 0;\r\n if (!isCellChanged && cell && cell.update) {\r\n cell.update(newItem)\r\n }\r\n });\r\n newItem.update = oldItem.update;\r\n newItem.watch = oldItem.watch;\r\n newItem.cells = oldItem.cells;\r\n if (isLiveUpdate) {\r\n newItem.oldValues = oldItem.values\r\n }\r\n oldItem.update && oldItem.update(newItem)\r\n }\r\n return changedColumnIndices\r\n }\r\n _isItemEquals(item1, item2) {\r\n var _a, _b, _c, _d;\r\n if (JSON.stringify(item1.values) !== JSON.stringify(item2.values)) {\r\n return false\r\n }\r\n if ([\"modified\", \"isNewRow\", \"removed\", \"isEditing\"].some(field => item1[field] !== item2[field])) {\r\n return false\r\n }\r\n if (\"group\" === item1.rowType || \"groupFooter\" === item1.rowType) {\r\n var expandedMatch = item1.isExpanded === item2.isExpanded;\r\n var summaryCellsMatch = JSON.stringify(item1.summaryCells) === JSON.stringify(item2.summaryCells);\r\n var continuationMatch = (null === (_a = item1.data) || void 0 === _a ? void 0 : _a.isContinuation) === (null === (_b = item2.data) || void 0 === _b ? void 0 : _b.isContinuation) && (null === (_c = item1.data) || void 0 === _c ? void 0 : _c.isContinuationOnNextPage) === (null === (_d = item2.data) || void 0 === _d ? void 0 : _d.isContinuationOnNextPage);\r\n if (!expandedMatch || !summaryCellsMatch || !continuationMatch) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n _applyChangesOnly(change) {\r\n var _a;\r\n var rowIndices = [];\r\n var columnIndices = [];\r\n var changeTypes = [];\r\n var items = [];\r\n var newIndexByKey = {};\r\n var isLiveUpdate = null !== (_a = null === change || void 0 === change ? void 0 : change.isLiveUpdate) && void 0 !== _a ? _a : true;\r\n\r\n function getRowKey(row) {\r\n if (row) {\r\n return \"\".concat(row.rowType, \",\").concat(JSON.stringify(row.key))\r\n }\r\n return\r\n }\r\n var currentItems = this._items;\r\n var oldItems = currentItems.slice();\r\n change.items.forEach((item, index) => {\r\n var key = getRowKey(item);\r\n newIndexByKey[key] = index;\r\n item.rowIndex = index\r\n });\r\n var result = findChanges(oldItems, change.items, getRowKey, (item1, item2) => {\r\n if (!this._isItemEquals(item1, item2)) {\r\n return false\r\n }\r\n if (item1.cells) {\r\n item1.update && item1.update(item2);\r\n item1.cells.forEach(cell => {\r\n if (cell && cell.update) {\r\n cell.update(item2, true)\r\n }\r\n })\r\n }\r\n return true\r\n });\r\n if (!result) {\r\n this._applyChangeFull(change);\r\n return\r\n }\r\n result.forEach(change => {\r\n switch (change.type) {\r\n case \"update\":\r\n var {\r\n index: index\r\n } = change;\r\n var newItem = change.data;\r\n var {\r\n oldItem: oldItem\r\n } = change;\r\n var changedColumnIndices = this._partialUpdateRow(oldItem, newItem, index, isLiveUpdate);\r\n rowIndices.push(index);\r\n changeTypes.push(\"update\");\r\n items.push(newItem);\r\n currentItems[index] = newItem;\r\n columnIndices.push(changedColumnIndices);\r\n break;\r\n case \"insert\":\r\n rowIndices.push(change.index);\r\n changeTypes.push(\"insert\");\r\n items.push(change.data);\r\n columnIndices.push(void 0);\r\n currentItems.splice(change.index, 0, change.data);\r\n break;\r\n case \"remove\":\r\n rowIndices.push(change.index);\r\n changeTypes.push(\"remove\");\r\n currentItems.splice(change.index, 1);\r\n items.push(change.oldItem);\r\n columnIndices.push(void 0)\r\n }\r\n });\r\n change.repaintChangesOnly = true;\r\n change.changeType = \"update\";\r\n change.rowIndices = rowIndices;\r\n change.columnIndices = columnIndices;\r\n change.changeTypes = changeTypes;\r\n change.items = items;\r\n if (oldItems.length) {\r\n change.isLiveUpdate = true\r\n }\r\n this._correctRowIndices(rowIndex => {\r\n var oldRowIndexOffset = this._rowIndexOffset || 0;\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n var oldItem = oldItems[rowIndex - oldRowIndexOffset];\r\n var key = getRowKey(oldItem);\r\n var newVisibleRowIndex = newIndexByKey[key];\r\n return newVisibleRowIndex >= 0 ? newVisibleRowIndex + rowIndexOffset - rowIndex : 0\r\n })\r\n }\r\n _correctRowIndices(rowIndex) {}\r\n _afterProcessItems(items, change) {\r\n return items\r\n }\r\n _updateItemsCore(change) {\r\n var items;\r\n var dataSource = this._dataSource;\r\n var changeType = change.changeType || \"refresh\";\r\n change.changeType = changeType;\r\n if (dataSource) {\r\n var cachedProcessedItems = this._cachedProcessedItems;\r\n if (change.useProcessedItemsCache && cachedProcessedItems) {\r\n items = cachedProcessedItems\r\n } else {\r\n items = change.items || dataSource.items();\r\n items = this._beforeProcessItems(items);\r\n items = this._processItems(items, change);\r\n this._cachedProcessedItems = items\r\n }\r\n items = this._afterProcessItems(items, change);\r\n change.items = items;\r\n var oldItems = this._items.length === items.length && this._items;\r\n this._applyChange(change);\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n each(this._items, (index, item) => {\r\n var _a;\r\n item.rowIndex = index - rowIndexDelta;\r\n if (oldItems) {\r\n item.cells = null !== (_a = oldItems[index].cells) && void 0 !== _a ? _a : []\r\n }\r\n var newItem = items[index];\r\n if (newItem) {\r\n item.loadIndex = newItem.loadIndex\r\n }\r\n });\r\n this._rowIndexOffset = this.getRowIndexOffset()\r\n } else {\r\n this._items = []\r\n }\r\n }\r\n _handleChanging(e) {\r\n var rows = this.getVisibleRows();\r\n var dataSource = this.dataSource();\r\n if (dataSource) {\r\n e.changes.forEach(change => {\r\n if (\"insert\" === change.type && change.index >= 0) {\r\n var dataIndex = 0;\r\n for (var i = 0; i < change.index; i++) {\r\n var row = rows[i];\r\n if (row && (\"data\" === row.rowType || \"group\" === row.rowType)) {\r\n dataIndex++\r\n }\r\n }\r\n change.index = dataIndex\r\n }\r\n })\r\n }\r\n }\r\n updateItems(change, isDataChanged) {\r\n var _a;\r\n change = change || {};\r\n if (void 0 !== this._repaintChangesOnly) {\r\n change.repaintChangesOnly = null !== (_a = change.repaintChangesOnly) && void 0 !== _a ? _a : this._repaintChangesOnly;\r\n change.needUpdateDimensions = change.needUpdateDimensions || this._needUpdateDimensions\r\n } else if (change.changes) {\r\n change.repaintChangesOnly = this.option(\"repaintChangesOnly\")\r\n } else if (isDataChanged) {\r\n var operationTypes = this.dataSource().operationTypes();\r\n change.repaintChangesOnly = operationTypes && !operationTypes.grouping && !operationTypes.filtering && this.option(\"repaintChangesOnly\");\r\n change.isDataChanged = true;\r\n if (operationTypes && (operationTypes.reload || operationTypes.paging || operationTypes.groupExpanding)) {\r\n change.needUpdateDimensions = true\r\n }\r\n }\r\n if (this._updateLockCount && !change.cancel) {\r\n this._changes.push(change);\r\n return\r\n }\r\n this._updateItemsCore(change);\r\n if (change.cancel) {\r\n return\r\n }\r\n this._fireChanged(change)\r\n }\r\n loadingOperationTypes() {\r\n var dataSource = this.dataSource();\r\n return dataSource && dataSource.loadingOperationTypes() || {}\r\n }\r\n _fireChanged(change) {\r\n if (this._currentOperationTypes) {\r\n change.operationTypes = this._currentOperationTypes;\r\n this._currentOperationTypes = null\r\n }\r\n deferRender(() => {\r\n this.changed.fire(change)\r\n })\r\n }\r\n isLoading() {\r\n return this._isLoading || this._isCustomLoading\r\n }\r\n _fireLoadingChanged() {\r\n this.loadingChanged.fire(this.isLoading(), this._loadingText)\r\n }\r\n _calculateAdditionalFilter() {\r\n return null\r\n }\r\n _applyFilter() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n dataSource.pageIndex(0);\r\n this._isFilterApplying = true;\r\n return this.reload().done(() => {\r\n if (this._isFilterApplying) {\r\n this.pageChanged.fire()\r\n }\r\n })\r\n }\r\n }\r\n resetFilterApplying() {\r\n this._isFilterApplying = false\r\n }\r\n filter(filterExpr) {\r\n var dataSource = this._dataSource;\r\n var filter = dataSource && dataSource.filter();\r\n if (0 === arguments.length) {\r\n return filter\r\n }\r\n filterExpr = arguments.length > 1 ? Array.prototype.slice.call(arguments, 0) : filterExpr;\r\n if (gridCoreUtils.equalFilterParameters(filter, filterExpr)) {\r\n return\r\n }\r\n if (dataSource) {\r\n dataSource.filter(filterExpr)\r\n }\r\n this._applyFilter()\r\n }\r\n clearFilter(filterName) {\r\n var columnsController = this._columnsController;\r\n var clearColumnOption = function(optionName) {\r\n var columnCount = columnsController.columnCount();\r\n for (var index = 0; index < columnCount; index++) {\r\n columnsController.columnOption(index, optionName, void 0)\r\n }\r\n };\r\n this.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n switch (filterName) {\r\n case \"dataSource\":\r\n this.filter(null);\r\n break;\r\n case \"search\":\r\n this.searchByText(\"\");\r\n break;\r\n case \"header\":\r\n clearColumnOption(\"filterValues\");\r\n break;\r\n case \"row\":\r\n clearColumnOption(\"filterValue\")\r\n }\r\n } else {\r\n this.filter(null);\r\n this.searchByText(\"\");\r\n clearColumnOption(\"filterValue\");\r\n clearColumnOption(\"bufferedFilterValue\");\r\n clearColumnOption(\"filterValues\")\r\n }\r\n this.component.endUpdate()\r\n }\r\n _fireDataSourceChanged() {\r\n var that = this;\r\n that.changed.add((function changedHandler() {\r\n that.changed.remove(changedHandler);\r\n that.dataSourceChanged.fire()\r\n }))\r\n }\r\n _getDataSourceAdapter() {}\r\n _createDataSourceAdapterCore(dataSource, remoteOperations) {\r\n var dataSourceAdapterProvider = this._getDataSourceAdapter();\r\n var dataSourceAdapter = dataSourceAdapterProvider.create(this.component);\r\n dataSourceAdapter.init(dataSource, remoteOperations);\r\n return dataSourceAdapter\r\n }\r\n isLocalStore() {\r\n var store = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.store();\r\n return store instanceof ArrayStore\r\n }\r\n isCustomStore(store) {\r\n store = store || this.store();\r\n return store instanceof CustomStore\r\n }\r\n _createDataSourceAdapter(dataSource) {\r\n var remoteOperations = this.option(\"remoteOperations\");\r\n var store = dataSource.store();\r\n var enabledRemoteOperations = {\r\n filtering: true,\r\n sorting: true,\r\n paging: true,\r\n grouping: true,\r\n summary: true\r\n };\r\n if (isObject(remoteOperations) && remoteOperations.groupPaging) {\r\n remoteOperations = extend({}, enabledRemoteOperations, remoteOperations)\r\n }\r\n if (\"auto\" === remoteOperations) {\r\n remoteOperations = this.isLocalStore(store) || this.isCustomStore(store) ? {} : {\r\n filtering: true,\r\n sorting: true,\r\n paging: true\r\n }\r\n }\r\n if (true === remoteOperations) {\r\n remoteOperations = enabledRemoteOperations\r\n }\r\n return this._createDataSourceAdapterCore(dataSource, remoteOperations)\r\n }\r\n setDataSource(dataSource) {\r\n var oldDataSource = this._dataSource;\r\n if (!dataSource && oldDataSource) {\r\n oldDataSource.cancelAll();\r\n oldDataSource.changed.remove(this._dataChangedHandler);\r\n oldDataSource.loadingChanged.remove(this._loadingChangedHandler);\r\n oldDataSource.loadError.remove(this._loadErrorHandler);\r\n oldDataSource.customizeStoreLoadOptions.remove(this._customizeStoreLoadOptionsHandler);\r\n oldDataSource.changing.remove(this._changingHandler);\r\n oldDataSource.pushed.remove(this._dataPushedHandler);\r\n oldDataSource.dispose(this._isSharedDataSource)\r\n }\r\n if (dataSource) {\r\n dataSource = this._createDataSourceAdapter(dataSource)\r\n }\r\n this._dataSource = dataSource;\r\n if (dataSource) {\r\n this._fireDataSourceChanged();\r\n this._isLoading = !dataSource.isLoaded();\r\n this._needApplyFilter = true;\r\n this._isAllDataTypesDefined = this._columnsController.isAllDataTypesDefined();\r\n dataSource.changed.add(this._dataChangedHandler);\r\n dataSource.loadingChanged.add(this._loadingChangedHandler);\r\n dataSource.loadError.add(this._loadErrorHandler);\r\n dataSource.customizeStoreLoadOptions.add(this._customizeStoreLoadOptionsHandler);\r\n dataSource.changing.add(this._changingHandler);\r\n dataSource.pushed.add(this._dataPushedHandler)\r\n }\r\n }\r\n items(byLoaded) {\r\n return this._items\r\n }\r\n isEmpty() {\r\n return !this.items().length\r\n }\r\n pageCount() {\r\n return this._dataSource ? this._dataSource.pageCount() : 1\r\n }\r\n dataSource() {\r\n return this._dataSource\r\n }\r\n store() {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.store()\r\n }\r\n loadAll(data) {\r\n var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var that = this;\r\n var d = new Deferred;\r\n var dataSource = that._dataSource;\r\n if (dataSource) {\r\n if (data) {\r\n var options = {\r\n data: data,\r\n isCustomLoading: true,\r\n storeLoadOptions: {\r\n isLoadingAll: true\r\n },\r\n loadOptions: {\r\n filter: skipFilter ? null : that.getCombinedFilter(),\r\n group: dataSource.group(),\r\n sort: dataSource.sort()\r\n }\r\n };\r\n dataSource._handleDataLoaded(options);\r\n when(options.data).done(data => {\r\n var _a;\r\n data = that._beforeProcessItems(data);\r\n d.resolve(that._processItems(data, {\r\n changeType: \"loadingAll\"\r\n }), null === (_a = options.extra) || void 0 === _a ? void 0 : _a.summary)\r\n }).fail(d.reject)\r\n } else if (!dataSource.isLoading()) {\r\n var loadOptions = extend({}, dataSource.loadOptions(), {\r\n isLoadingAll: true,\r\n requireTotalCount: false\r\n });\r\n dataSource.load(loadOptions).done((items, extra) => {\r\n items = that._beforeProcessItems(items);\r\n items = that._processItems(items, {\r\n changeType: \"loadingAll\"\r\n });\r\n d.resolve(items, extra && extra.summary)\r\n }).fail(d.reject)\r\n } else {\r\n d.reject()\r\n }\r\n } else {\r\n d.resolve([])\r\n }\r\n return d\r\n }\r\n getKeyByRowIndex(rowIndex, byLoaded) {\r\n var item = this.items(byLoaded)[rowIndex];\r\n if (item) {\r\n return item.key\r\n }\r\n }\r\n getRowIndexByKey(key, byLoaded) {\r\n return gridCoreUtils.getIndexByKey(key, this.items(byLoaded))\r\n }\r\n keyOf(data) {\r\n var store = this.store();\r\n if (store) {\r\n return store.keyOf(data)\r\n }\r\n }\r\n byKey(key) {\r\n var store = this.store();\r\n var rowIndex = this.getRowIndexByKey(key);\r\n var result;\r\n if (!store) {\r\n return\r\n }\r\n if (rowIndex >= 0) {\r\n result = (new Deferred).resolve(this.items()[rowIndex].data)\r\n }\r\n return result || store.byKey(key)\r\n }\r\n key() {\r\n var store = this.store();\r\n if (store) {\r\n return store.key()\r\n }\r\n }\r\n getRowIndexOffset(byLoadedRows) {\r\n return 0\r\n }\r\n getDataByKeys(rowKeys) {\r\n var that = this;\r\n var result = new Deferred;\r\n var deferreds = [];\r\n var data = [];\r\n each(rowKeys, (index, key) => {\r\n deferreds.push(that.byKey(key).done(keyData => {\r\n data[index] = keyData\r\n }))\r\n });\r\n when.apply($, deferreds).always(() => {\r\n result.resolve(data)\r\n });\r\n return result\r\n }\r\n pageIndex(value) {\r\n return changePaging(this, \"pageIndex\", value)\r\n }\r\n pageSize(value) {\r\n return changePaging(this, \"pageSize\", value)\r\n }\r\n beginCustomLoading(messageText) {\r\n this._isCustomLoading = true;\r\n this._loadingText = messageText || \"\";\r\n this._fireLoadingChanged()\r\n }\r\n endCustomLoading() {\r\n this._isCustomLoading = false;\r\n this._loadingText = void 0;\r\n this._fireLoadingChanged()\r\n }\r\n refresh(options) {\r\n if (true === options) {\r\n options = {\r\n reload: true,\r\n changesOnly: true\r\n }\r\n } else if (!options) {\r\n options = {\r\n lookup: true,\r\n selection: true,\r\n reload: true\r\n }\r\n }\r\n var that = this;\r\n var dataSource = that.getDataSource();\r\n var {\r\n changesOnly: changesOnly\r\n } = options;\r\n var d = new Deferred;\r\n var customizeLoadResult = function() {\r\n that._repaintChangesOnly = !!changesOnly\r\n };\r\n when(!options.lookup || that._columnsController.refresh()).always(() => {\r\n if (options.load || options.reload) {\r\n dataSource && dataSource.on(\"customizeLoadResult\", customizeLoadResult);\r\n when(that.reload(options.reload, changesOnly)).always(() => {\r\n dataSource && dataSource.off(\"customizeLoadResult\", customizeLoadResult);\r\n that._repaintChangesOnly = void 0\r\n }).done(d.resolve).fail(d.reject)\r\n } else {\r\n that.updateItems({\r\n repaintChangesOnly: options.changesOnly\r\n });\r\n d.resolve()\r\n }\r\n });\r\n return d.promise()\r\n }\r\n getVisibleRows() {\r\n return this.items()\r\n }\r\n _disposeDataSource() {\r\n this.setDataSource(null)\r\n }\r\n dispose() {\r\n this._disposeDataSource();\r\n super.dispose()\r\n }\r\n repaintRows(rowIndexes, changesOnly) {\r\n rowIndexes = Array.isArray(rowIndexes) ? rowIndexes : [rowIndexes];\r\n if (rowIndexes.length > 1 || isDefined(rowIndexes[0])) {\r\n this.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndexes,\r\n isFullUpdate: !changesOnly\r\n })\r\n }\r\n }\r\n skipProcessingPagingChange(fullName) {\r\n return this._skipProcessingPagingChange && (\"paging.pageIndex\" === fullName || \"paging.pageSize\" === fullName)\r\n }\r\n getUserState() {\r\n return {\r\n searchText: this.option(\"searchPanel.text\"),\r\n pageIndex: this.pageIndex(),\r\n pageSize: this.pageSize()\r\n }\r\n }\r\n getCachedStoreData() {\r\n return this._dataSource && this._dataSource.getCachedStoreData()\r\n }\r\n isLastPageLoaded() {\r\n var pageIndex = this.pageIndex();\r\n var pageCount = this.pageCount();\r\n return pageIndex === pageCount - 1\r\n }\r\n load() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.load()\r\n }\r\n reload(reload, changesOnly) {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.reload(reload, changesOnly)\r\n }\r\n push() {\r\n var _a;\r\n return null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.push(...arguments)\r\n }\r\n itemsCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.itemsCount() : 0\r\n }\r\n totalItemsCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalItemsCount() : 0\r\n }\r\n hasKnownLastPage() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.hasKnownLastPage() : true\r\n }\r\n isLoaded() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.isLoaded() : true\r\n }\r\n totalCount() {\r\n var _a;\r\n return this._dataSource ? null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.totalCount() : 0\r\n }\r\n}\r\nexport var dataControllerModule = {\r\n defaultOptions: () => ({\r\n loadingTimeout: 0,\r\n dataSource: null,\r\n cacheEnabled: true,\r\n repaintChangesOnly: false,\r\n highlightChanges: false,\r\n onDataErrorOccurred: null,\r\n remoteOperations: \"auto\",\r\n paging: {\r\n enabled: true,\r\n pageSize: void 0,\r\n pageIndex: void 0\r\n }\r\n }),\r\n controllers: {\r\n data: DataController\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/data_source_adapter/m_data_source_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n executeAsync,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport ArrayStore from \"../../../../data/array_store\";\r\nimport {\r\n applyBatch\r\n} from \"../../../../data/array_utils\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nexport default modules.Controller.inherit(function() {\r\n function cloneItems(items, groupCount) {\r\n if (items) {\r\n items = items.slice(0);\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n items[i] = extend({\r\n key: items[i].key\r\n }, items[i]);\r\n items[i].items = cloneItems(items[i].items, groupCount - 1)\r\n }\r\n }\r\n }\r\n return items\r\n }\r\n\r\n function calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload) {\r\n var operationTypes = {\r\n reload: true,\r\n fullReload: true\r\n };\r\n if (lastLoadOptions) {\r\n operationTypes = {\r\n sorting: !gridCoreUtils.equalSortParameters(loadOptions.sort, lastLoadOptions.sort),\r\n grouping: !gridCoreUtils.equalSortParameters(loadOptions.group, lastLoadOptions.group, true),\r\n groupExpanding: !gridCoreUtils.equalSortParameters(loadOptions.group, lastLoadOptions.group) || lastLoadOptions.groupExpand,\r\n filtering: !gridCoreUtils.equalFilterParameters(loadOptions.filter, lastLoadOptions.filter),\r\n pageIndex: loadOptions.pageIndex !== lastLoadOptions.pageIndex,\r\n skip: loadOptions.skip !== lastLoadOptions.skip,\r\n take: loadOptions.take !== lastLoadOptions.take,\r\n pageSize: loadOptions.pageSize !== lastLoadOptions.pageSize,\r\n fullReload: isFullReload,\r\n reload: false,\r\n paging: false\r\n };\r\n operationTypes.reload = isFullReload || operationTypes.sorting || operationTypes.grouping || operationTypes.filtering;\r\n operationTypes.paging = operationTypes.pageIndex || operationTypes.pageSize || operationTypes.take\r\n }\r\n return operationTypes\r\n }\r\n\r\n function getPageDataFromCache(options, updatePaging) {\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(options.group || options.storeLoadOptions.group || options.loadOptions.group).length;\r\n var items = [];\r\n if (fillItemsFromCache(items, options, groupCount)) {\r\n return items\r\n }\r\n if (updatePaging) {\r\n ! function(cacheItemsFromBegin, options, groupCount) {\r\n var _a, _b;\r\n var cacheItemBeginCount = cacheItemsFromBegin.length;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n if (void 0 !== storeLoadOptions.skip && storeLoadOptions.take && !groupCount) {\r\n var cacheItemsFromEnd = [];\r\n fillItemsFromCache(cacheItemsFromEnd, options, groupCount, true);\r\n var cacheItemEndCount = cacheItemsFromEnd.length;\r\n if (cacheItemBeginCount || cacheItemEndCount) {\r\n options.skip = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip;\r\n options.take = null !== (_b = options.take) && void 0 !== _b ? _b : storeLoadOptions.take\r\n }\r\n if (cacheItemBeginCount) {\r\n storeLoadOptions.skip += cacheItemBeginCount;\r\n storeLoadOptions.take -= cacheItemBeginCount;\r\n options.cachedDataPartBegin = cacheItemsFromBegin\r\n }\r\n if (cacheItemEndCount) {\r\n storeLoadOptions.take -= cacheItemEndCount;\r\n options.cachedDataPartEnd = cacheItemsFromEnd.reverse()\r\n }\r\n }\r\n }(items, options, groupCount)\r\n }\r\n }\r\n\r\n function fillItemsFromCache(items, options, groupCount, fromEnd) {\r\n var _a, _b, _c, _d, _e;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var take = null !== (_b = null !== (_a = options.take) && void 0 !== _a ? _a : storeLoadOptions.take) && void 0 !== _b ? _b : 0;\r\n var cachedItems = null === (_c = options.cachedData) || void 0 === _c ? void 0 : _c.items;\r\n if (take && cachedItems) {\r\n var skip = null !== (_e = null !== (_d = options.skip) && void 0 !== _d ? _d : storeLoadOptions.skip) && void 0 !== _e ? _e : 0;\r\n for (var i = 0; i < take; i++) {\r\n var localIndex = fromEnd ? take - 1 - i : i;\r\n var cacheItemIndex = localIndex + skip;\r\n var cacheItem = cachedItems[cacheItemIndex];\r\n if (void 0 === cacheItem && cacheItemIndex in cachedItems) {\r\n return true\r\n }\r\n var item = getItemFromCache(options, cacheItem, groupCount, localIndex, take);\r\n if (item) {\r\n items.push(item)\r\n } else {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n function getItemFromCache(options, cacheItem, groupCount, index, take) {\r\n if (groupCount && cacheItem) {\r\n var skips = 0 === index && options.skips || [];\r\n var takes = index === take - 1 && options.takes || [];\r\n return function getGroupItemFromCache(cacheItem, groupCount, skips, takes) {\r\n if (groupCount && cacheItem) {\r\n var result = _extends({}, cacheItem);\r\n var skip = skips[0] || 0;\r\n var take = takes[0];\r\n var {\r\n items: items\r\n } = cacheItem;\r\n if (items) {\r\n if (void 0 === take && !items[skip]) {\r\n return\r\n }\r\n result.items = [];\r\n if (skips.length) {\r\n result.isContinuation = true\r\n }\r\n if (take) {\r\n result.isContinuationOnNextPage = cacheItem.count > take\r\n }\r\n for (var i = 0; void 0 === take ? items[i + skip] : i < take; i++) {\r\n var childCacheItem = items[i + skip];\r\n var isLast = i + 1 === take;\r\n var item = getGroupItemFromCache(childCacheItem, groupCount - 1, 0 === i ? skips.slice(1) : [], isLast ? takes.slice(1) : []);\r\n if (void 0 !== item) {\r\n result.items.push(item)\r\n } else {\r\n return\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n return cacheItem\r\n }(cacheItem, groupCount, skips, takes)\r\n }\r\n return cacheItem\r\n }\r\n\r\n function getCacheItem(cacheItem, loadedItem, groupCount, skips) {\r\n if (groupCount && loadedItem) {\r\n var result = _extends({}, loadedItem);\r\n delete result.isContinuation;\r\n delete result.isContinuationOnNextPage;\r\n var skip = skips[0] || 0;\r\n if (loadedItem.items) {\r\n result.items = (null === cacheItem || void 0 === cacheItem ? void 0 : cacheItem.items) || {};\r\n loadedItem.items.forEach((item, index) => {\r\n var globalIndex = index + skip;\r\n var childSkips = 0 === index ? skips.slice(1) : [];\r\n result.items[globalIndex] = getCacheItem(result.items[globalIndex], item, groupCount - 1, childSkips)\r\n })\r\n }\r\n return result\r\n }\r\n return loadedItem\r\n }\r\n var members = {\r\n init(dataSource, remoteOperations) {\r\n var that = this;\r\n that._dataSource = dataSource;\r\n that._remoteOperations = remoteOperations || {};\r\n that._isLastPage = !dataSource.isLastPage();\r\n that._hasLastPage = false;\r\n that._currentTotalCount = 0;\r\n that._cachedData = {\r\n items: {}\r\n };\r\n that._lastOperationTypes = {};\r\n that._eventsStrategy = dataSource._eventsStrategy;\r\n that._totalCountCorrection = 0;\r\n that._isLoadingAll = false;\r\n that.changed = Callbacks();\r\n that.loadingChanged = Callbacks();\r\n that.loadError = Callbacks();\r\n that.customizeStoreLoadOptions = Callbacks();\r\n that.changing = Callbacks();\r\n that.pushed = Callbacks();\r\n that._dataChangedHandler = that._handleDataChanged.bind(that);\r\n that._customizeStoreLoadOptionsHandler = that._handleCustomizeStoreLoadOptions.bind(that);\r\n that._dataLoadedHandler = that._handleDataLoaded.bind(that);\r\n that._loadingChangedHandler = that._handleLoadingChanged.bind(that);\r\n that._loadErrorHandler = that._handleLoadError.bind(that);\r\n that._pushHandler = that._handlePush.bind(that);\r\n that._changingHandler = that._handleChanging.bind(that);\r\n dataSource.on(\"changed\", that._dataChangedHandler);\r\n dataSource.on(\"customizeStoreLoadOptions\", that._customizeStoreLoadOptionsHandler);\r\n dataSource.on(\"customizeLoadResult\", that._dataLoadedHandler);\r\n dataSource.on(\"loadingChanged\", that._loadingChangedHandler);\r\n dataSource.on(\"loadError\", that._loadErrorHandler);\r\n dataSource.on(\"changing\", that._changingHandler);\r\n dataSource.store().on(\"beforePush\", that._pushHandler);\r\n each(dataSource, (memberName, member) => {\r\n if (!that[memberName] && isFunction(member)) {\r\n that[memberName] = function() {\r\n return this._dataSource[memberName].apply(this._dataSource, arguments)\r\n }\r\n }\r\n })\r\n },\r\n remoteOperations() {\r\n return this._remoteOperations\r\n },\r\n dispose(isSharedDataSource) {\r\n var dataSource = this._dataSource;\r\n var store = dataSource.store();\r\n dataSource.off(\"changed\", this._dataChangedHandler);\r\n dataSource.off(\"customizeStoreLoadOptions\", this._customizeStoreLoadOptionsHandler);\r\n dataSource.off(\"customizeLoadResult\", this._dataLoadedHandler);\r\n dataSource.off(\"loadingChanged\", this._loadingChangedHandler);\r\n dataSource.off(\"loadError\", this._loadErrorHandler);\r\n dataSource.off(\"changing\", this._changingHandler);\r\n store && store.off(\"beforePush\", this._pushHandler);\r\n if (!isSharedDataSource) {\r\n dataSource.dispose()\r\n }\r\n },\r\n refresh(options, operationTypes) {\r\n var dataSource = this._dataSource;\r\n if (operationTypes.reload) {\r\n this.resetCurrentTotalCount();\r\n this._isLastPage = !dataSource.paginate();\r\n this._hasLastPage = this._isLastPage\r\n }\r\n },\r\n resetCurrentTotalCount() {\r\n this._currentTotalCount = 0;\r\n this._totalCountCorrection = 0\r\n },\r\n resetCache() {\r\n this._cachedStoreData = void 0;\r\n this._cachedPagingData = void 0\r\n },\r\n resetPagesCache() {\r\n this._cachedData = {\r\n items: {}\r\n }\r\n },\r\n _needClearStoreDataCache() {\r\n var remoteOperations = this.remoteOperations();\r\n var operationTypes = calculateOperationTypes(this._lastLoadOptions || {}, {});\r\n var isLocalOperations = Object.keys(remoteOperations).every(operationName => !operationTypes[operationName] || !remoteOperations[operationName]);\r\n return !isLocalOperations\r\n },\r\n push(changes, fromStore) {\r\n var store = this.store();\r\n if (this._needClearStoreDataCache()) {\r\n this._cachedStoreData = void 0\r\n }\r\n this._cachedPagingData = void 0;\r\n this.resetPagesCache(true);\r\n if (this._cachedStoreData) {\r\n applyBatch({\r\n keyInfo: store,\r\n data: this._cachedStoreData,\r\n changes: changes\r\n })\r\n }\r\n if (!fromStore) {\r\n this._applyBatch(changes)\r\n }\r\n this.pushed.fire(changes)\r\n },\r\n getDataIndexGetter() {\r\n if (!this._dataIndexGetter) {\r\n var indexByKey;\r\n var storeData;\r\n var store = this.store();\r\n this._dataIndexGetter = data => {\r\n var isCacheUpdated = storeData && storeData !== this._cachedStoreData;\r\n if (!indexByKey || isCacheUpdated) {\r\n storeData = this._cachedStoreData || [];\r\n indexByKey = {};\r\n for (var i = 0; i < storeData.length; i++) {\r\n indexByKey[getKeyHash(store.keyOf(storeData[i]))] = i\r\n }\r\n }\r\n return indexByKey[getKeyHash(store.keyOf(data))]\r\n }\r\n }\r\n return this._dataIndexGetter\r\n },\r\n _getKeyInfo() {\r\n return this.store()\r\n },\r\n _needToCopyDataObject: () => true,\r\n _applyBatch(changes, fromStore) {\r\n var keyInfo = this._getKeyInfo();\r\n var dataSource = this._dataSource;\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(this.group()).length;\r\n var isReshapeMode = \"reshape\" === this.option(\"editing.refreshMode\");\r\n var isVirtualMode = \"virtual\" === this.option(\"scrolling.mode\");\r\n changes = changes.filter(change => !dataSource.paginate() || \"insert\" !== change.type || void 0 !== change.index);\r\n var getItemCount = () => groupCount ? this.itemsCount() : this.items().length;\r\n var oldItemCount = getItemCount();\r\n applyBatch({\r\n keyInfo: keyInfo,\r\n data: this._items,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: true,\r\n skipCopying: !this._needToCopyDataObject()\r\n });\r\n applyBatch({\r\n keyInfo: keyInfo,\r\n data: dataSource.items(),\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: true,\r\n skipCopying: !this._needToCopyDataObject()\r\n });\r\n var needUpdateTotalCountCorrection = this._currentTotalCount > 0 || (fromStore || !isReshapeMode) && isVirtualMode;\r\n if (needUpdateTotalCountCorrection) {\r\n this._totalCountCorrection += getItemCount() - oldItemCount\r\n }\r\n changes.splice(0, changes.length)\r\n },\r\n _handlePush(_ref) {\r\n var {\r\n changes: changes\r\n } = _ref;\r\n this.push(changes, true)\r\n },\r\n _handleChanging(e) {\r\n this.changing.fire(e);\r\n this._applyBatch(e.changes, true)\r\n },\r\n _needCleanCacheByOperation(operationType, remoteOperations) {\r\n var operationTypesByOrder = [\"filtering\", \"sorting\", \"paging\"];\r\n var operationTypeIndex = operationTypesByOrder.indexOf(operationType);\r\n var currentOperationTypes = operationTypeIndex >= 0 ? operationTypesByOrder.slice(operationTypeIndex) : [operationType];\r\n return currentOperationTypes.some(operationType => remoteOperations[operationType])\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var cachedStoreData = this._cachedStoreData;\r\n var cachedPagingData = this._cachedPagingData;\r\n var cachedData = this._cachedData;\r\n if (options.storeLoadOptions.filter && !options.remoteOperations.filtering || options.storeLoadOptions.sort && !options.remoteOperations.sorting) {\r\n options.remoteOperations = {\r\n filtering: options.remoteOperations.filtering,\r\n summary: options.remoteOperations.summary\r\n }\r\n }\r\n if (operationTypes.fullReload) {\r\n cachedStoreData = void 0;\r\n cachedPagingData = void 0;\r\n cachedData = {\r\n items: {}\r\n }\r\n } else {\r\n if (operationTypes.reload) {\r\n cachedPagingData = void 0;\r\n cachedData = {\r\n items: {}\r\n }\r\n } else if (operationTypes.groupExpanding) {\r\n cachedData = {\r\n items: {}\r\n }\r\n }\r\n each(operationTypes, (operationType, value) => {\r\n if (value && this._needCleanCacheByOperation(operationType, options.remoteOperations)) {\r\n cachedStoreData = void 0;\r\n cachedPagingData = void 0\r\n }\r\n })\r\n }\r\n if (cachedPagingData) {\r\n options.remoteOperations.paging = false\r\n }\r\n options.cachedStoreData = cachedStoreData;\r\n options.cachedPagingData = cachedPagingData;\r\n options.cachedData = cachedData;\r\n if (!options.isCustomLoading) {\r\n this._cachedStoreData = cachedStoreData;\r\n this._cachedPagingData = cachedPagingData;\r\n this._cachedData = cachedData\r\n }\r\n },\r\n _handleCustomizeStoreLoadOptions(options) {\r\n var _a;\r\n this._handleDataLoading(options);\r\n if (!(0 === (null === (_a = options.data) || void 0 === _a ? void 0 : _a.length))) {\r\n options.data = getPageDataFromCache(options, true) || options.cachedStoreData\r\n }\r\n },\r\n _handleDataLoading(options) {\r\n var dataSource = this._dataSource;\r\n var lastLoadOptions = this._lastLoadOptions;\r\n this.customizeStoreLoadOptions.fire(options);\r\n options.delay = this.option(\"loadingTimeout\");\r\n options.originalStoreLoadOptions = options.storeLoadOptions;\r\n options.remoteOperations = extend({}, this.remoteOperations());\r\n var isFullReload = !this.isLoaded() && !this._isRefreshing;\r\n if (this.option(\"integrationOptions.renderedOnServer\") && !this.isLoaded()) {\r\n options.delay = void 0\r\n }\r\n var loadOptions = extend({\r\n pageIndex: this.pageIndex(),\r\n pageSize: this.pageSize()\r\n }, options.storeLoadOptions);\r\n var operationTypes = calculateOperationTypes(loadOptions, lastLoadOptions, isFullReload);\r\n this._customizeRemoteOperations(options, operationTypes);\r\n if (!options.isCustomLoading) {\r\n var isRefreshing = this._isRefreshing;\r\n options.pageIndex = dataSource.pageIndex();\r\n options.lastLoadOptions = loadOptions;\r\n options.operationTypes = operationTypes;\r\n this._loadingOperationTypes = operationTypes;\r\n this._isRefreshing = true;\r\n when(isRefreshing || this._isRefreshed || this.refresh(options, operationTypes)).done(() => {\r\n if (this._lastOperationId === options.operationId) {\r\n this._isRefreshed = true;\r\n this.load().always(() => {\r\n this._isRefreshed = false\r\n })\r\n }\r\n }).fail(() => {\r\n dataSource.cancel(options.operationId)\r\n }).always(() => {\r\n this._isRefreshing = false\r\n });\r\n dataSource.cancel(this._lastOperationId);\r\n this._lastOperationId = options.operationId;\r\n if (this._isRefreshing) {\r\n dataSource.cancel(this._lastOperationId)\r\n }\r\n }\r\n this._handleDataLoadingCore(options)\r\n },\r\n _handleDataLoadingCore(options) {\r\n var {\r\n remoteOperations: remoteOperations\r\n } = options;\r\n options.loadOptions = {};\r\n var cachedExtra = options.cachedData.extra;\r\n var localLoadOptionNames = {\r\n filter: !remoteOperations.filtering,\r\n sort: !remoteOperations.sorting,\r\n group: !remoteOperations.grouping,\r\n summary: !remoteOperations.summary,\r\n skip: !remoteOperations.paging,\r\n take: !remoteOperations.paging,\r\n requireTotalCount: cachedExtra && \"totalCount\" in cachedExtra || !remoteOperations.paging,\r\n langParams: !remoteOperations.filtering || !remoteOperations.sorting\r\n };\r\n each(options.storeLoadOptions, (optionName, optionValue) => {\r\n if (localLoadOptionNames[optionName]) {\r\n options.loadOptions[optionName] = optionValue;\r\n delete options.storeLoadOptions[optionName]\r\n }\r\n });\r\n if (cachedExtra) {\r\n options.extra = cachedExtra\r\n }\r\n },\r\n _handleDataLoaded(options) {\r\n var _a, _b;\r\n var {\r\n loadOptions: loadOptions\r\n } = options;\r\n var localPaging = options.remoteOperations && !options.remoteOperations.paging;\r\n var {\r\n cachedData: cachedData\r\n } = options;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var needCache = false !== this.option(\"cacheEnabled\") && storeLoadOptions;\r\n var needPageCache = needCache && !options.isCustomLoading && cachedData && (!localPaging || storeLoadOptions.group);\r\n var needPagingCache = needCache && localPaging;\r\n var needStoreCache = needPagingCache && !options.isCustomLoading;\r\n if (!loadOptions) {\r\n this._dataSource.cancel(options.operationId);\r\n return\r\n }\r\n if (localPaging) {\r\n options.skip = loadOptions.skip;\r\n options.take = loadOptions.take;\r\n delete loadOptions.skip;\r\n delete loadOptions.take\r\n }\r\n if (loadOptions.group) {\r\n loadOptions.group = options.group || loadOptions.group\r\n }\r\n var groupCount = gridCoreUtils.normalizeSortingInfo(options.group || storeLoadOptions.group || loadOptions.group).length;\r\n if (options.cachedDataPartBegin) {\r\n options.data = options.cachedDataPartBegin.concat(options.data)\r\n }\r\n if (options.cachedDataPartEnd) {\r\n options.data = options.data.concat(options.cachedDataPartEnd)\r\n }\r\n if (!needPageCache || !getPageDataFromCache(options)) {\r\n if (needPagingCache && options.cachedPagingData) {\r\n options.data = cloneItems(options.cachedPagingData, groupCount)\r\n } else {\r\n if (needStoreCache) {\r\n if (!this._cachedStoreData) {\r\n this._cachedStoreData = cloneItems(options.data, gridCoreUtils.normalizeSortingInfo(storeLoadOptions.group).length)\r\n } else if (options.mergeStoreLoadData) {\r\n options.data = this._cachedStoreData = this._cachedStoreData.concat(options.data)\r\n }\r\n }\r\n new ArrayStore(options.data).load(loadOptions).done(data => {\r\n options.data = data;\r\n if (needStoreCache) {\r\n this._cachedPagingData = cloneItems(options.data, groupCount)\r\n }\r\n }).fail(error => {\r\n options.data = (new Deferred).reject(error)\r\n })\r\n }\r\n if (loadOptions.requireTotalCount && localPaging) {\r\n options.extra = isPlainObject(options.extra) ? options.extra : {};\r\n options.extra.totalCount = options.data.length\r\n }\r\n if (options.extra && options.extra.totalCount >= 0 && (false === storeLoadOptions.requireTotalCount || false === loadOptions.requireTotalCount)) {\r\n options.extra.totalCount = -1\r\n }\r\n if (!loadOptions.data && (storeLoadOptions.requireTotalCount || (null !== (_b = null === (_a = options.extra) || void 0 === _a ? void 0 : _a.totalCount) && void 0 !== _b ? _b : -1) >= 0)) {\r\n this._totalCountCorrection = 0\r\n }\r\n this._handleDataLoadedCore(options);\r\n if (needPageCache) {\r\n cachedData.extra = cachedData.extra || extend({}, options.extra);\r\n when(options.data).done(data => {\r\n ! function(options, data, groupCount) {\r\n var _a, _b, _c, _d;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var skip = null !== (_b = null !== (_a = options.skip) && void 0 !== _a ? _a : storeLoadOptions.skip) && void 0 !== _b ? _b : 0;\r\n var take = null !== (_d = null !== (_c = options.take) && void 0 !== _c ? _c : storeLoadOptions.take) && void 0 !== _d ? _d : 0;\r\n for (var i = 0; i < take; i++) {\r\n var globalIndex = i + skip;\r\n var cacheItems = options.cachedData.items;\r\n var skips = 0 === i && options.skips || [];\r\n cacheItems[globalIndex] = getCacheItem(cacheItems[globalIndex], data[i], groupCount, skips)\r\n }\r\n }(options, data, groupCount)\r\n })\r\n }\r\n }\r\n when(options.data).done(() => {\r\n if (options.lastLoadOptions) {\r\n this._lastLoadOptions = options.lastLoadOptions;\r\n Object.keys(options.operationTypes).forEach(operationType => {\r\n this._lastOperationTypes[operationType] = this._lastOperationTypes[operationType] || options.operationTypes[operationType]\r\n })\r\n }\r\n });\r\n options.storeLoadOptions = options.originalStoreLoadOptions\r\n },\r\n _handleDataLoadedCore(options) {\r\n if (options.remoteOperations && !options.remoteOperations.paging && Array.isArray(options.data)) {\r\n if (void 0 !== options.skip) {\r\n options.data = options.data.slice(options.skip)\r\n }\r\n if (void 0 !== options.take) {\r\n options.data = options.data.slice(0, options.take)\r\n }\r\n }\r\n },\r\n _handleLoadingChanged(isLoading) {\r\n this.loadingChanged.fire(isLoading)\r\n },\r\n _handleLoadError(error) {\r\n this.loadError.fire(error);\r\n this.changed.fire({\r\n changeType: \"loadError\",\r\n error: error\r\n })\r\n },\r\n _loadPageSize() {\r\n return this.pageSize()\r\n },\r\n _handleDataChanged(args) {\r\n var currentTotalCount;\r\n var dataSource = this._dataSource;\r\n var isLoading = false;\r\n var isDataLoading = !args || isDefined(args.changeType);\r\n var itemsCount = this.itemsCount();\r\n if (isDataLoading) {\r\n this._isLastPage = !itemsCount || !this._loadPageSize() || itemsCount < this._loadPageSize();\r\n if (this._isLastPage) {\r\n this._hasLastPage = true\r\n }\r\n }\r\n if (dataSource.totalCount() >= 0) {\r\n if (dataSource.pageIndex() >= this.pageCount()) {\r\n dataSource.pageIndex(this.pageCount() - 1);\r\n this.pageIndex(dataSource.pageIndex());\r\n this.resetPagesCache();\r\n dataSource.load();\r\n isLoading = true\r\n }\r\n } else if (isDataLoading) {\r\n currentTotalCount = dataSource.pageIndex() * this.pageSize() + itemsCount;\r\n if (currentTotalCount > this._currentTotalCount) {\r\n this._currentTotalCount = currentTotalCount;\r\n if (0 === dataSource.pageIndex() || !this.option(\"scrolling.legacyMode\")) {\r\n this._totalCountCorrection = 0\r\n }\r\n }\r\n if (0 === itemsCount && dataSource.pageIndex() >= this.pageCount()) {\r\n dataSource.pageIndex(this.pageCount() - 1);\r\n if (\"infinite\" !== this.option(\"scrolling.mode\")) {\r\n dataSource.load();\r\n isLoading = true\r\n }\r\n }\r\n }\r\n if (!isLoading) {\r\n this._operationTypes = this._lastOperationTypes;\r\n this._lastOperationTypes = {};\r\n this.component._optionCache = {};\r\n this.changed.fire(args);\r\n this.component._optionCache = void 0\r\n }\r\n },\r\n _scheduleCustomLoadCallbacks(deferred) {\r\n var that = this;\r\n that._isCustomLoading = true;\r\n deferred.always(() => {\r\n that._isCustomLoading = false\r\n })\r\n },\r\n loadingOperationTypes() {\r\n return this._loadingOperationTypes\r\n },\r\n operationTypes() {\r\n return this._operationTypes\r\n },\r\n lastLoadOptions() {\r\n return this._lastLoadOptions || {}\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n _dataSourceTotalCount() {\r\n return this._dataSource.totalCount()\r\n },\r\n totalCount() {\r\n return parseInt((this._currentTotalCount || this._dataSourceTotalCount()) + this._totalCountCorrection)\r\n },\r\n totalCountCorrection() {\r\n return this._totalCountCorrection\r\n },\r\n itemsCount() {\r\n return this._dataSource.items().length\r\n },\r\n totalItemsCount() {\r\n return this.totalCount()\r\n },\r\n pageSize() {\r\n var dataSource = this._dataSource;\r\n if (!arguments.length && !dataSource.paginate()) {\r\n return 0\r\n }\r\n return dataSource.pageSize.apply(dataSource, arguments)\r\n },\r\n pageCount() {\r\n var count = this.totalItemsCount() - this._totalCountCorrection;\r\n var pageSize = this.pageSize();\r\n if (pageSize && count > 0) {\r\n return Math.max(1, Math.ceil(count / pageSize))\r\n }\r\n return 1\r\n },\r\n hasKnownLastPage() {\r\n return this._hasLastPage || this._dataSource.totalCount() >= 0\r\n },\r\n loadFromStore(loadOptions, store) {\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n if (!dataSource) {\r\n return\r\n }\r\n store = store || dataSource.store();\r\n store.load(loadOptions).done((data, extra) => {\r\n if (data && !Array.isArray(data) && Array.isArray(data.data)) {\r\n extra = data;\r\n data = data.data\r\n }\r\n d.resolve(data, extra)\r\n }).fail(d.reject);\r\n return d\r\n },\r\n isCustomLoading() {\r\n return !!this._isCustomLoading\r\n },\r\n load(options) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var d = new Deferred;\r\n if (options) {\r\n var store = dataSource.store();\r\n var dataSourceLoadOptions = dataSource.loadOptions();\r\n var loadResult = {\r\n storeLoadOptions: extend({}, options, {\r\n langParams: null === dataSourceLoadOptions || void 0 === dataSourceLoadOptions ? void 0 : dataSourceLoadOptions.langParams\r\n }),\r\n isCustomLoading: true\r\n };\r\n each(store._customLoadOptions() || [], (_, optionName) => {\r\n if (!(optionName in loadResult.storeLoadOptions)) {\r\n loadResult.storeLoadOptions[optionName] = dataSourceLoadOptions[optionName]\r\n }\r\n });\r\n this._isLoadingAll = options.isLoadingAll;\r\n that._scheduleCustomLoadCallbacks(d);\r\n dataSource._scheduleLoadCallbacks(d);\r\n that._handleCustomizeStoreLoadOptions(loadResult);\r\n ! function(action, timeout) {\r\n if (isDefined(timeout)) {\r\n executeAsync(action, timeout)\r\n } else {\r\n action()\r\n }\r\n }(() => {\r\n if (!dataSource.store()) {\r\n return d.reject(\"canceled\")\r\n }\r\n when(loadResult.data || that.loadFromStore(loadResult.storeLoadOptions)).done((data, extra) => {\r\n loadResult.data = data;\r\n loadResult.extra = extra || {};\r\n that._handleDataLoaded(loadResult);\r\n if (options.requireTotalCount && void 0 === loadResult.extra.totalCount) {\r\n loadResult.extra.totalCount = store.totalCount(loadResult.storeLoadOptions)\r\n }\r\n when(loadResult.data, loadResult.extra.totalCount).done((data, totalCount) => {\r\n loadResult.extra.totalCount = totalCount;\r\n d.resolve(data, loadResult.extra)\r\n }).fail(d.reject)\r\n }).fail(d.reject)\r\n }, that.option(\"loadingTimeout\"));\r\n return d.fail((function() {\r\n that._eventsStrategy.fireEvent(\"loadError\", arguments)\r\n })).always(() => {\r\n this._isLoadingAll = false\r\n }).promise()\r\n }\r\n return dataSource.load()\r\n },\r\n reload(full) {\r\n return full ? this._dataSource.reload() : this._dataSource.load()\r\n },\r\n getCachedStoreData() {\r\n return this._cachedStoreData\r\n }\r\n };\r\n return members\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_data_source_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataSourceAdapter from \"../../grids/grid_core/data_source_adapter/m_data_source_adapter\";\r\nvar dataSourceAdapterType = DataSourceAdapter;\r\nexport default {\r\n extend(extender) {\r\n dataSourceAdapterType = dataSourceAdapterType.inherit(extender)\r\n },\r\n create: component => new dataSourceAdapterType(component)\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/sorting/m_sorting_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nvar SORT_CLASS = \"dx-sort\";\r\nvar SORT_NONE_CLASS = \"dx-sort-none\";\r\nvar SORTUP_CLASS = \"dx-sort-up\";\r\nvar SORTDOWN_CLASS = \"dx-sort-down\";\r\nvar SORT_INDEX_CLASS = \"dx-sort-index\";\r\nvar SORT_INDEX_ICON_CLASS = \"dx-sort-index-icon\";\r\nvar HEADERS_ACTION_CLASS = \"action\";\r\nexport default {\r\n _applyColumnState(options) {\r\n var ariaSortState;\r\n var $sortIndicator;\r\n var sortingMode = this.option(\"sorting.mode\");\r\n var {\r\n rootElement: rootElement\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n var $indicatorsContainer = this._getIndicatorContainer(rootElement);\r\n if (\"sort\" === options.name) {\r\n rootElement.find(\".\".concat(SORT_CLASS)).remove();\r\n !$indicatorsContainer.children().length && $indicatorsContainer.remove();\r\n var isSortingAllowed = \"none\" !== sortingMode && column.allowSorting;\r\n if (!isDefined(column.groupIndex) && (isSortingAllowed || isDefined(column.sortOrder))) {\r\n ariaSortState = \"asc\" === column.sortOrder ? \"ascending\" : \"descending\";\r\n $sortIndicator = this.callBase(options).toggleClass(SORTUP_CLASS, \"asc\" === column.sortOrder).toggleClass(SORTDOWN_CLASS, \"desc\" === column.sortOrder);\r\n var hasSeveralSortIndexes = this.getController && !!this.getController(\"columns\").columnOption(\"sortIndex:1\");\r\n if (hasSeveralSortIndexes && this.option(\"sorting.showSortIndexes\") && column.sortIndex >= 0) {\r\n $(\"<span>\").addClass(SORT_INDEX_ICON_CLASS).text(column.sortIndex + 1).appendTo($sortIndicator);\r\n $sortIndicator.addClass(SORT_INDEX_CLASS)\r\n }\r\n if (isSortingAllowed) {\r\n options.rootElement.addClass(this.addWidgetPrefix(HEADERS_ACTION_CLASS))\r\n }\r\n }\r\n if (!isDefined(column.sortOrder)) {\r\n this.setAria(\"sort\", \"none\", rootElement)\r\n } else {\r\n this.setAria(\"sort\", ariaSortState, rootElement)\r\n }\r\n return $sortIndicator\r\n }\r\n return this.callBase(options)\r\n },\r\n _getIndicatorClassName(name) {\r\n if (\"sort\" === name) {\r\n return SORT_CLASS\r\n }\r\n if (\"sortIndex\" === name) {\r\n return SORT_INDEX_ICON_CLASS\r\n }\r\n return this.callBase(name)\r\n },\r\n _renderIndicator(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n if (\"sort\" === options.name) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (!isDefined(column.sortOrder)) {\r\n $indicator && $indicator.addClass(SORT_NONE_CLASS)\r\n }\r\n if ($container.children().length && (!rtlEnabled && \"left\" === options.columnAlignment || rtlEnabled && \"right\" === options.columnAlignment)) {\r\n $container.prepend($indicator);\r\n return\r\n }\r\n }\r\n this.callBase(options)\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n if (\"sort\" === indicatorName && isDefined(column.groupIndex)) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getIndicatorElements($cell, returnAll) {\r\n var $indicatorElements = this.callBase($cell);\r\n return returnAll ? $indicatorElements : $indicatorElements && $indicatorElements.not(\".\".concat(SORT_NONE_CLASS))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/sorting/m_sorting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport sortingMixin from \"./m_sorting_mixin\";\r\nvar COLUMN_HEADERS_VIEW_NAMESPACE = \"dxDataGridColumnHeadersView\";\r\nvar ColumnHeadersViewSortingExtender = extend({}, sortingMixin, {\r\n _createRow(row) {\r\n var $row = this.callBase(row);\r\n if (\"header\" === row.rowType) {\r\n eventsEngine.on($row, addNamespace(clickEventName, COLUMN_HEADERS_VIEW_NAMESPACE), \"td\", this.createAction(e => {\r\n this._processHeaderAction(e.event, $row)\r\n }))\r\n }\r\n return $row\r\n },\r\n _processHeaderAction(event, $row) {\r\n if ($(event.currentTarget).parent().get(0) !== $row.get(0)) {\r\n return\r\n }\r\n var that = this;\r\n var keyName = null;\r\n var $cellElementFromEvent = $(event.currentTarget);\r\n var rowIndex = $cellElementFromEvent.parent().index();\r\n var columnIndex = -1;\r\n [].slice.call(that.getCellElements(rowIndex)).some(($cellElement, index) => {\r\n if ($cellElement === $cellElementFromEvent.get(0)) {\r\n columnIndex = index;\r\n return true\r\n }\r\n return\r\n });\r\n var visibleColumns = that._columnsController.getVisibleColumns(rowIndex);\r\n var column = visibleColumns[columnIndex];\r\n var editingController = that.getController(\"editing\");\r\n var editingMode = that.option(\"editing.mode\");\r\n var isCellEditing = editingController && editingController.isEditing() && (\"batch\" === editingMode || \"cell\" === editingMode);\r\n if (isCellEditing || !that._isSortableElement($(event.target))) {\r\n return\r\n }\r\n if (column && !isDefined(column.groupIndex) && !column.command) {\r\n if (event.shiftKey) {\r\n keyName = \"shift\"\r\n } else if (isCommandKeyPressed(event)) {\r\n keyName = \"ctrl\"\r\n }\r\n setTimeout(() => {\r\n that._columnsController.changeSortOrder(column.index, keyName)\r\n })\r\n }\r\n },\r\n _renderCellContent($cell, options) {\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && \"header\" === options.rowType) {\r\n this._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n changeTypes: changeTypes\r\n } = e;\r\n if (1 === changeTypes.length && changeTypes.sorting) {\r\n this._updateIndicators(\"sort\");\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"sorting\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nvar HeaderPanelSortingExtender = extend({}, sortingMixin, {\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var that = this;\r\n var $item = that.callBase(...arguments);\r\n eventsEngine.on($item, addNamespace(clickEventName, \"dxDataGridHeaderPanel\"), that.createAction(() => {\r\n that._processGroupItemAction(groupColumn.index)\r\n }));\r\n that._applyColumnState({\r\n name: \"sort\",\r\n rootElement: $item,\r\n column: {\r\n alignment: that.option(\"rtlEnabled\") ? \"right\" : \"left\",\r\n allowSorting: groupColumn.allowSorting,\r\n sortOrder: \"desc\" === groupColumn.sortOrder ? \"desc\" : \"asc\"\r\n },\r\n showColumnLines: true\r\n });\r\n return $item\r\n },\r\n _processGroupItemAction(groupColumnIndex) {\r\n setTimeout(() => this.getController(\"columns\").changeSortOrder(groupColumnIndex))\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"sorting\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport var sortingModule = {\r\n defaultOptions: () => ({\r\n sorting: {\r\n mode: \"single\",\r\n ascendingText: messageLocalization.format(\"dxDataGrid-sortingAscendingText\"),\r\n descendingText: messageLocalization.format(\"dxDataGrid-sortingDescendingText\"),\r\n clearText: messageLocalization.format(\"dxDataGrid-sortingClearText\"),\r\n showSortIndexes: true\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n columnHeadersView: ColumnHeadersViewSortingExtender,\r\n headerPanel: HeaderPanelSortingExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/sorting.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sortingModule\r\n} from \"../../../grids/grid_core/sorting/m_sorting\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"sorting\", sortingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_rows_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect,\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isEmpty\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n setHeight\r\n} from \"../../../../core/utils/style\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../../../../events/remove\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ColumnsView\r\n} from \"./m_columns_view\";\r\nvar ROWS_VIEW_CLASS = \"rowsview\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar NOWRAP_CLASS = \"nowrap\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nvar FREE_SPACE_CLASS = \"dx-freespace-row\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar ROW_ALTERNATION_CLASS = \"dx-row-alt\";\r\nvar LAST_ROW_BORDER = \"dx-last-row-border\";\r\nvar EMPTY_CLASS = \"dx-empty\";\r\nvar ROW_INSERTED_ANIMATION_CLASS = \"row-inserted-animation\";\r\nvar LOADPANEL_HIDE_TIMEOUT = 200;\r\n\r\nfunction getMaxHorizontalScrollOffset(scrollable) {\r\n return scrollable ? Math.round(scrollable.scrollWidth() - scrollable.clientWidth()) : 0\r\n}\r\n\r\nfunction isGroupRow(_ref) {\r\n var {\r\n rowType: rowType,\r\n column: column\r\n } = _ref;\r\n return \"group\" === rowType && isDefined(column.groupIndex) && !column.showWhenGrouped && !column.command\r\n}\r\nvar defaultCellTemplate = function($container, options) {\r\n var isDataTextEmpty = isEmpty(options.text) && \"data\" === options.rowType;\r\n var {\r\n text: text\r\n } = options;\r\n var container = $container.get(0);\r\n if (isDataTextEmpty) {\r\n gridCoreUtils.setEmptyText($container)\r\n } else if (options.column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n};\r\nvar getScrollableBottomPadding = function(that) {\r\n var scrollable = that.getScrollable();\r\n return scrollable ? Math.ceil(parseFloat($(scrollable.content()).css(\"paddingBottom\"))) : 0\r\n};\r\nclass RowsView extends ColumnsView {\r\n _getDefaultTemplate(column) {\r\n switch (column.command) {\r\n case \"empty\":\r\n return function(container) {\r\n container.html(\" \")\r\n };\r\n default:\r\n return defaultCellTemplate\r\n }\r\n }\r\n _getDefaultGroupTemplate(column) {\r\n var summaryTexts = this.option(\"summary.texts\");\r\n return function($container, options) {\r\n var {\r\n data: data\r\n } = options;\r\n var text = \"\".concat(options.column.caption, \": \").concat(options.text);\r\n var container = $container.get(0);\r\n if (options.summaryItems && options.summaryItems.length) {\r\n text += \" \".concat(gridCoreUtils.getGroupRowSummaryText(options.summaryItems, summaryTexts))\r\n }\r\n if (data) {\r\n if (options.groupContinuedMessage && options.groupContinuesMessage) {\r\n text += \" (\".concat(options.groupContinuedMessage, \". \").concat(options.groupContinuesMessage, \")\")\r\n } else if (options.groupContinuesMessage) {\r\n text += \" (\".concat(options.groupContinuesMessage, \")\")\r\n } else if (options.groupContinuedMessage) {\r\n text += \" (\".concat(options.groupContinuedMessage, \")\")\r\n }\r\n }\r\n if (column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n }\r\n }\r\n _update(change) {}\r\n _updateCell($cell, options) {\r\n if (isGroupRow(options)) {\r\n $cell.addClass(GROUP_CELL_CLASS)\r\n }\r\n super._updateCell.apply(this, arguments)\r\n }\r\n _getCellTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var template;\r\n if (isGroupRow(options)) {\r\n template = column.groupCellTemplate || {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultGroupTemplate(column)\r\n }\r\n } else if ((\"data\" === options.rowType || column.command) && column.cellTemplate) {\r\n template = column.cellTemplate\r\n } else {\r\n template = {\r\n allowRenderToDetachedContainer: true,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n }\r\n return template\r\n }\r\n _createRow(row, tag) {\r\n var $row = super._createRow.apply(this, arguments);\r\n if (row) {\r\n var isGroup = \"group\" === row.rowType;\r\n var isDataRow = \"data\" === row.rowType;\r\n isDataRow && $row.addClass(DATA_ROW_CLASS);\r\n isDataRow && this.option(\"showRowLines\") && $row.addClass(ROW_LINES_CLASS);\r\n this.option(\"showColumnLines\") && $row.addClass(COLUMN_LINES_CLASS);\r\n if (false === row.visible) {\r\n $row.hide()\r\n }\r\n if (isGroup) {\r\n $row.addClass(GROUP_ROW_CLASS);\r\n var isRowExpanded = row.isExpanded;\r\n this.setAria(\"role\", \"row\", $row);\r\n this.setAria(\"expanded\", isDefined(isRowExpanded) && isRowExpanded.toString(), $row)\r\n }\r\n }\r\n return $row\r\n }\r\n _rowPrepared($row, rowOptions, row) {\r\n if (\"data\" === rowOptions.rowType) {\r\n if (this.option(\"rowAlternationEnabled\")) {\r\n this._isAltRow(row) && $row.addClass(ROW_ALTERNATION_CLASS);\r\n rowOptions.watch && rowOptions.watch(() => this._isAltRow(row), value => {\r\n $row.toggleClass(ROW_ALTERNATION_CLASS, value)\r\n })\r\n }\r\n this._setAriaRowIndex(rowOptions, $row);\r\n rowOptions.watch && rowOptions.watch(() => rowOptions.rowIndex, () => this._setAriaRowIndex(rowOptions, $row))\r\n }\r\n super._rowPrepared.apply(this, arguments)\r\n }\r\n _setAriaRowIndex(row, $row) {\r\n var {\r\n component: component\r\n } = this;\r\n var isPagerMode = \"standard\" === component.option(\"scrolling.mode\") && !gridCoreUtils.isVirtualRowRendering(component);\r\n var rowIndex = row.rowIndex + 1;\r\n if (isPagerMode) {\r\n rowIndex = component.pageIndex() * component.pageSize() + rowIndex\r\n } else {\r\n rowIndex += this._dataController.getRowIndexOffset()\r\n }\r\n this.setAria(\"rowindex\", rowIndex, $row)\r\n }\r\n _afterRowPrepared(e) {\r\n var arg = e.args[0];\r\n var dataController = this._dataController;\r\n var row = dataController.getVisibleRows()[arg.rowIndex];\r\n var watch = this.option(\"integrationOptions.watchMethod\");\r\n if (!arg.data || \"data\" !== arg.rowType || arg.isNewRow || !this.option(\"twoWayBindingEnabled\") || !watch || !row) {\r\n return\r\n }\r\n var dispose = watch(() => dataController.generateDataValues(arg.data, arg.columns), () => {\r\n dataController.repaintRows([row.rowIndex], this.option(\"repaintChangesOnly\"))\r\n }, {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n eventsEngine.on(arg.rowElement, removeEvent, dispose)\r\n }\r\n _renderScrollable(force) {\r\n var $element = this.element();\r\n if (!$element.children().length) {\r\n $element.append(\"<div>\")\r\n }\r\n if (force || !this._loadPanel) {\r\n this._renderLoadPanel($element, $element.parent(), this._dataController.isLocalStore())\r\n }\r\n if ((force || !this.getScrollable()) && this._dataController.isLoaded()) {\r\n var columns = this.getColumns();\r\n var allColumnsHasWidth = true;\r\n for (var i = 0; i < columns.length; i++) {\r\n if (!columns[i].width && !columns[i].minWidth) {\r\n allColumnsHasWidth = false;\r\n break\r\n }\r\n }\r\n if (this.option(\"columnAutoWidth\") || this._hasHeight || allColumnsHasWidth || this._columnsController._isColumnFixing()) {\r\n this._renderScrollableCore($element)\r\n }\r\n }\r\n }\r\n _handleScroll(e) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isNativeScrolling = e.component.option(\"useNative\");\r\n this._scrollTop = e.scrollOffset.top;\r\n this._scrollLeft = e.scrollOffset.left;\r\n var scrollLeft = e.scrollOffset.left;\r\n if (rtlEnabled) {\r\n this._scrollRight = getMaxHorizontalScrollOffset(e.component) - this._scrollLeft;\r\n if (isNativeScrolling) {\r\n scrollLeft = -this._scrollRight\r\n }\r\n if (!this.isScrollbarVisible(true)) {\r\n this._scrollLeft = -1\r\n }\r\n }\r\n this.scrollChanged.fire(_extends(_extends({}, e.scrollOffset), {\r\n left: scrollLeft\r\n }), this.name)\r\n }\r\n _renderScrollableCore($element) {\r\n var dxScrollableOptions = this._createScrollableOptions();\r\n var scrollHandler = this._handleScroll.bind(this);\r\n dxScrollableOptions.onScroll = scrollHandler;\r\n this._scrollable = this._createComponent($element, Scrollable, dxScrollableOptions);\r\n this._scrollableContainer = this._scrollable && $(this._scrollable.container())\r\n }\r\n _renderLoadPanel() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return gridCoreUtils.renderLoadPanel.apply(this, arguments)\r\n }\r\n _renderContent(contentElement, tableElement, isFixedTableRendering) {\r\n contentElement.empty().append(tableElement);\r\n return this._findContentElement()\r\n }\r\n _updateContent(newTableElement, change, isFixedTableRendering) {\r\n this._contentChanges.push({\r\n newTableElement: newTableElement,\r\n change: change,\r\n isFixedTableRendering: isFixedTableRendering\r\n });\r\n return this.waitAsyncTemplates().done(() => {\r\n var contentChanges = this._contentChanges;\r\n this._contentChanges = [];\r\n contentChanges.forEach(_ref2 => {\r\n var {\r\n newTableElement: newTableElement,\r\n change: change,\r\n isFixedTableRendering: isFixedTableRendering\r\n } = _ref2;\r\n var tableElement = this.getTableElement(isFixedTableRendering);\r\n var contentElement = this._findContentElement(isFixedTableRendering);\r\n var changeType = null === change || void 0 === change ? void 0 : change.changeType;\r\n var executors = [];\r\n var highlightChanges = this.option(\"highlightChanges\");\r\n var rowInsertedClass = this.addWidgetPrefix(ROW_INSERTED_ANIMATION_CLASS);\r\n switch (changeType) {\r\n case \"update\":\r\n each(change.rowIndices, (index, rowIndex) => {\r\n var _a;\r\n var $newRowElement = this._getRowElements(newTableElement).eq(index);\r\n var dataChangeType = null === (_a = change.changeTypes) || void 0 === _a ? void 0 : _a[index];\r\n var item = change.items && change.items[index];\r\n executors.push(() => {\r\n var _a;\r\n var $rowElements = this._getRowElements(tableElement);\r\n var $rowElement = $rowElements.eq(rowIndex);\r\n switch (dataChangeType) {\r\n case \"update\":\r\n if (item) {\r\n var columnIndices = null === (_a = change.columnIndices) || void 0 === _a ? void 0 : _a[index];\r\n if (isDefined(item.visible) && item.visible !== $rowElement.is(\":visible\")) {\r\n $rowElement.toggle(item.visible)\r\n } else if (columnIndices) {\r\n this._updateCells($rowElement, $newRowElement, columnIndices)\r\n } else {\r\n $rowElement.replaceWith($newRowElement)\r\n }\r\n }\r\n break;\r\n case \"insert\":\r\n if (!$rowElements.length) {\r\n if (tableElement) {\r\n var target = $newRowElement.is(\"tbody\") ? tableElement : tableElement.children(\"tbody\");\r\n $newRowElement.prependTo(target)\r\n }\r\n } else if ($rowElement.length) {\r\n $newRowElement.insertBefore($rowElement)\r\n } else {\r\n $newRowElement.insertAfter($rowElements.last())\r\n }\r\n if (highlightChanges && change.isLiveUpdate) {\r\n $newRowElement.addClass(rowInsertedClass)\r\n }\r\n break;\r\n case \"remove\":\r\n $rowElement.remove()\r\n }\r\n })\r\n });\r\n each(executors, (function() {\r\n this()\r\n }));\r\n newTableElement.remove();\r\n break;\r\n default:\r\n this.setTableElement(newTableElement, isFixedTableRendering);\r\n contentElement.addClass(this.addWidgetPrefix(CONTENT_CLASS));\r\n this._renderContent(contentElement, newTableElement, isFixedTableRendering)\r\n }\r\n })\r\n }).fail(() => {\r\n this._contentChanges = []\r\n })\r\n }\r\n _createEmptyRow(className, isFixed, height) {\r\n var $cell;\r\n var $row = this._createRow();\r\n var columns = isFixed ? this.getFixedColumns() : this.getColumns();\r\n $row.addClass(className).toggleClass(COLUMN_LINES_CLASS, this.option(\"showColumnLines\"));\r\n for (var i = 0; i < columns.length; i++) {\r\n $cell = this._createCell({\r\n column: columns[i],\r\n rowType: \"freeSpace\",\r\n columnIndex: i,\r\n columns: columns\r\n });\r\n isNumeric(height) && $cell.css(\"height\", height);\r\n $row.append($cell)\r\n }\r\n this.setAria(\"role\", \"presentation\", $row);\r\n return $row\r\n }\r\n getFixedColumns() {\r\n throw new Error(\"Method not implemented.\")\r\n }\r\n _appendEmptyRow($table, $emptyRow, location) {\r\n var $tBodies = this._getBodies($table);\r\n var isTableContainer = !$tBodies.length || $emptyRow.is(\"tbody\");\r\n var $container = isTableContainer ? $table : $tBodies;\r\n if (\"top\" === location) {\r\n $container.first().prepend($emptyRow);\r\n if (isTableContainer) {\r\n var $colgroup = $container.children(\"colgroup\");\r\n $container.prepend($colgroup)\r\n }\r\n } else {\r\n $container.last().append($emptyRow)\r\n }\r\n }\r\n _renderFreeSpaceRow($tableElement, change) {\r\n var $freeSpaceRowElement = this._createEmptyRow(FREE_SPACE_CLASS);\r\n $freeSpaceRowElement = this._wrapRowIfNeed($tableElement, $freeSpaceRowElement, \"refresh\" === (null === change || void 0 === change ? void 0 : change.changeType));\r\n this._appendEmptyRow($tableElement, $freeSpaceRowElement)\r\n }\r\n _checkRowKeys(options) {\r\n var that = this;\r\n var rows = that._getRows(options);\r\n var keyExpr = that._dataController.store() && that._dataController.store().key();\r\n keyExpr && rows.some(row => {\r\n if (\"data\" === row.rowType && void 0 === row.key) {\r\n that._dataController.fireError(\"E1046\", keyExpr);\r\n return true\r\n }\r\n return\r\n })\r\n }\r\n _needUpdateRowHeight(itemsCount) {\r\n return itemsCount > 0 && !this._rowHeight\r\n }\r\n _getRowsHeight($tableElement) {\r\n $tableElement = $tableElement || this._tableElement;\r\n var $rowElements = $tableElement.children(\"tbody\").children().not(\".dx-virtual-row\").not(\".\".concat(FREE_SPACE_CLASS));\r\n return $rowElements.toArray().reduce((sum, row) => sum + getBoundingRect(row).height, 0)\r\n }\r\n _updateRowHeight() {\r\n var $tableElement = this.getTableElement();\r\n var itemsCount = this._dataController.items().length;\r\n if ($tableElement && this._needUpdateRowHeight(itemsCount)) {\r\n var rowsHeight = this._getRowsHeight($tableElement);\r\n this._rowHeight = rowsHeight / itemsCount\r\n }\r\n }\r\n _findContentElement(isFixedTableRendering) {\r\n var $content = this.element();\r\n var scrollable = this.getScrollable();\r\n if ($content) {\r\n if (scrollable) {\r\n $content = $(scrollable.content())\r\n }\r\n return $content.children().first()\r\n }\r\n }\r\n _getRowElements(tableElement) {\r\n var $rows = super._getRowElements(tableElement);\r\n return $rows && $rows.not(\".\".concat(FREE_SPACE_CLASS))\r\n }\r\n _getFreeSpaceRowElements($table) {\r\n var tableElements = $table || this.getTableElements();\r\n return tableElements && tableElements.children(\"tbody\").children(\".\".concat(FREE_SPACE_CLASS))\r\n }\r\n _getNoDataText() {\r\n return this.option(\"noDataText\")\r\n }\r\n _rowClick(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", extend({\r\n evaluate(expr) {\r\n var getter = compileGetter(expr);\r\n return getter(item.data)\r\n }\r\n }, e, item))\r\n }\r\n _rowDblClick(e) {\r\n var item = this._dataController.items()[e.rowIndex] || {};\r\n this.executeAction(\"onRowDblClick\", extend({}, e, item))\r\n }\r\n _getColumnsCountBeforeGroups(columns) {\r\n for (var i = 0; i < columns.length; i++) {\r\n if (\"groupExpand\" === columns[i].type) {\r\n return i\r\n }\r\n }\r\n return 0\r\n }\r\n _getGroupCellOptions(options) {\r\n var columnsCountBeforeGroups = this._getColumnsCountBeforeGroups(options.columns);\r\n var columnIndex = (options.row.groupIndex || 0) + columnsCountBeforeGroups;\r\n return {\r\n columnIndex: columnIndex,\r\n colspan: options.columns.length - columnIndex - 1\r\n }\r\n }\r\n _needWrapRow() {\r\n return super._needWrapRow.apply(this, arguments) || !!this.option(\"dataRowTemplate\")\r\n }\r\n _renderCells($row, options) {\r\n if (\"group\" === options.row.rowType) {\r\n this._renderGroupedCells($row, options)\r\n } else if (options.row.values) {\r\n super._renderCells($row, options)\r\n }\r\n }\r\n _renderGroupedCells($row, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var expandColumn;\r\n var {\r\n columns: columns\r\n } = options;\r\n var {\r\n rowIndex: rowIndex\r\n } = row;\r\n var isExpanded;\r\n var groupCellOptions = this._getGroupCellOptions(options);\r\n for (var i = 0; i <= groupCellOptions.columnIndex; i++) {\r\n if (i === groupCellOptions.columnIndex && columns[i].allowCollapsing && \"infinite\" !== options.scrollingMode) {\r\n isExpanded = !!row.isExpanded;\r\n expandColumn = columns[i]\r\n } else {\r\n isExpanded = null;\r\n expandColumn = {\r\n command: \"expand\",\r\n cssClass: columns[i].cssClass\r\n }\r\n }\r\n if (this._needRenderCell(i, options.columnIndices)) {\r\n this._renderCell($row, {\r\n value: isExpanded,\r\n row: row,\r\n rowIndex: rowIndex,\r\n column: expandColumn,\r\n columnIndex: i,\r\n columnIndices: options.columnIndices,\r\n change: options.change\r\n })\r\n }\r\n }\r\n var groupColumnAlignment = getDefaultAlignment(this.option(\"rtlEnabled\"));\r\n var groupColumn = extend({}, columns[groupCellOptions.columnIndex], {\r\n command: null,\r\n type: null,\r\n cssClass: null,\r\n width: null,\r\n showWhenGrouped: false,\r\n alignment: groupColumnAlignment\r\n });\r\n if (groupCellOptions.colspan > 1) {\r\n groupColumn.colspan = groupCellOptions.colspan\r\n }\r\n if (this._needRenderCell(groupCellOptions.columnIndex + 1, options.columnIndices)) {\r\n this._renderCell($row, {\r\n value: row.values[row.groupIndex],\r\n row: row,\r\n rowIndex: rowIndex,\r\n column: groupColumn,\r\n columnIndex: groupCellOptions.columnIndex + 1,\r\n columnIndices: options.columnIndices,\r\n change: options.change\r\n })\r\n }\r\n }\r\n _renderRows($table, options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n super._renderRows($table, extend({\r\n scrollingMode: scrollingMode\r\n }, options));\r\n this._checkRowKeys(options.change);\r\n this._renderFreeSpaceRow($table, options.change);\r\n if (!this._hasHeight) {\r\n this.updateFreeSpaceRowHeight($table)\r\n }\r\n }\r\n _renderDataRowByTemplate($table, options, dataRowTemplate) {\r\n var {\r\n row: row\r\n } = options;\r\n var rowOptions = extend({\r\n columns: options.columns\r\n }, row);\r\n var $tbody = this._createRow(row, \"tbody\");\r\n $tbody.appendTo($table);\r\n this.renderTemplate($tbody, dataRowTemplate, rowOptions, true, options.change);\r\n this._rowPrepared($tbody, rowOptions, options.row)\r\n }\r\n _renderRow($table, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n rowTemplate: rowTemplate\r\n } = this.option();\r\n var dataRowTemplate = this.option(\"dataRowTemplate\");\r\n if (\"data\" === row.rowType && dataRowTemplate) {\r\n this._renderDataRowByTemplate($table, options, dataRowTemplate)\r\n } else if ((\"data\" === row.rowType || \"group\" === row.rowType) && !isDefined(row.groupIndex) && rowTemplate) {\r\n this.renderTemplate($table, rowTemplate, extend({\r\n columns: options.columns\r\n }, row), true)\r\n } else {\r\n super._renderRow($table, options)\r\n }\r\n }\r\n _renderTable(options) {\r\n var that = this;\r\n var $table = super._renderTable(options);\r\n if (!isDefined(that.getTableElement())) {\r\n that.setTableElement($table);\r\n that._renderScrollable(true);\r\n that.resizeCompleted.add((function resizeCompletedHandler() {\r\n var scrollableInstance = that.getScrollable();\r\n if (scrollableInstance && that.element().closest(getWindow().document).length) {\r\n that.resizeCompleted.remove(resizeCompletedHandler);\r\n scrollableInstance._visibilityChanged(true)\r\n }\r\n }))\r\n } else {\r\n that._renderScrollable()\r\n }\r\n return $table\r\n }\r\n _createTable() {\r\n var $table = super._createTable.apply(this, arguments);\r\n if (this.option().rowTemplate || this.option().dataRowTemplate) {\r\n $table.appendTo(this.component.$element())\r\n }\r\n return $table\r\n }\r\n _renderCore(change) {\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(ROWS_VIEW_CLASS)).toggleClass(this.addWidgetPrefix(NOWRAP_CLASS), !this.option(\"wordWrapEnabled\"));\r\n $element.toggleClass(EMPTY_CLASS, this._dataController.isEmpty());\r\n this.setAria(\"role\", \"presentation\", $element);\r\n var $table = this._renderTable({\r\n change: change\r\n });\r\n var deferred = this._updateContent($table, change);\r\n super._renderCore(change);\r\n this._lastColumnWidths = null;\r\n return deferred\r\n }\r\n _getRows(change) {\r\n return change && change.items || this._dataController.items()\r\n }\r\n _getCellOptions(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n row: row\r\n } = options;\r\n var {\r\n data: data\r\n } = row;\r\n var summaryCells = row && row.summaryCells;\r\n var {\r\n value: value\r\n } = options;\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, data, row.rowType);\r\n var parameters = super._getCellOptions(options);\r\n parameters.value = value;\r\n parameters.oldValue = options.oldValue;\r\n parameters.displayValue = displayValue;\r\n parameters.row = row;\r\n parameters.key = row.key;\r\n parameters.data = data;\r\n parameters.rowType = row.rowType;\r\n parameters.values = row.values;\r\n parameters.text = !column.command ? gridCoreUtils.formatValue(displayValue, column) : \"\";\r\n parameters.rowIndex = row.rowIndex;\r\n parameters.summaryItems = summaryCells && summaryCells[options.columnIndex];\r\n parameters.resized = column.resizedCallbacks;\r\n if (isDefined(column.groupIndex) && !column.command) {\r\n var groupingTextsOptions = this.option(\"grouping.texts\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (\"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode) {\r\n parameters.groupContinuesMessage = data && data.isContinuationOnNextPage && groupingTextsOptions && groupingTextsOptions.groupContinuesMessage;\r\n parameters.groupContinuedMessage = data && data.isContinuation && groupingTextsOptions && groupingTextsOptions.groupContinuedMessage\r\n }\r\n }\r\n return parameters\r\n }\r\n _setRowsOpacityCore($rows, visibleColumns, columnIndex, value) {\r\n var columnsController = this._columnsController;\r\n var columns = columnsController.getColumns();\r\n var column = columns && columns[columnIndex];\r\n var columnID = column && column.isBand && column.index;\r\n each($rows, (rowIndex, row) => {\r\n if (!$(row).hasClass(GROUP_ROW_CLASS)) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n if (isNumeric(columnID) && columnsController.isParentBandColumn(visibleColumns[i].index, columnID) || visibleColumns[i].index === columnIndex) {\r\n $rows.eq(rowIndex).children().eq(i).css({\r\n opacity: value\r\n });\r\n if (!isNumeric(columnID)) {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _getDevicePixelRatio() {\r\n return getWindow().devicePixelRatio\r\n }\r\n renderNoDataText() {\r\n return gridCoreUtils.renderNoDataText.apply(this, arguments)\r\n }\r\n getCellOptions(rowIndex, columnIdentifier) {\r\n var rowOptions = this._dataController.items()[rowIndex];\r\n var cellOptions;\r\n var column;\r\n if (rowOptions) {\r\n if (isString(columnIdentifier)) {\r\n column = this._columnsController.columnOption(columnIdentifier)\r\n } else {\r\n column = this._columnsController.getVisibleColumns()[columnIdentifier]\r\n }\r\n if (column) {\r\n cellOptions = this._getCellOptions({\r\n value: column.calculateCellValue(rowOptions.data),\r\n rowIndex: rowOptions.rowIndex,\r\n row: rowOptions,\r\n column: column\r\n })\r\n }\r\n }\r\n return cellOptions\r\n }\r\n getRow(index) {\r\n if (index >= 0) {\r\n var rows = this._getRowElements();\r\n if (rows.length > index) {\r\n return $(rows[index])\r\n }\r\n }\r\n return\r\n }\r\n updateFreeSpaceRowHeight($table) {\r\n var dataController = this._dataController;\r\n var itemCount = dataController.items(true).length;\r\n var contentElement = this._findContentElement();\r\n var freeSpaceRowElements = this._getFreeSpaceRowElements($table);\r\n if (freeSpaceRowElements && contentElement && dataController.totalCount() >= 0) {\r\n var isFreeSpaceRowVisible = false;\r\n if (itemCount > 0) {\r\n if (!this._hasHeight) {\r\n var freeSpaceRowCount = dataController.pageSize() - itemCount;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (freeSpaceRowCount > 0 && dataController.pageCount() > 1 && \"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode) {\r\n setHeight(freeSpaceRowElements, freeSpaceRowCount * this._rowHeight);\r\n isFreeSpaceRowVisible = true\r\n }\r\n if (!isFreeSpaceRowVisible && $table) {\r\n setHeight(freeSpaceRowElements, 0)\r\n } else {\r\n freeSpaceRowElements.toggle(isFreeSpaceRowVisible)\r\n }\r\n this._updateLastRowBorder(isFreeSpaceRowVisible)\r\n } else {\r\n freeSpaceRowElements.hide();\r\n deferUpdate(() => {\r\n var scrollbarWidth = this.getScrollbarWidth(true);\r\n var elementHeightWithoutScrollbar = getHeight(this.element()) - scrollbarWidth;\r\n var contentHeight = getOuterHeight(contentElement);\r\n var showFreeSpaceRow = elementHeightWithoutScrollbar - contentHeight > 0;\r\n var rowsHeight = this._getRowsHeight(contentElement.children().first());\r\n var $tableElement = $table || this.getTableElements();\r\n var borderTopWidth = Math.ceil(parseFloat($tableElement.css(\"borderTopWidth\")));\r\n var heightCorrection = this._getHeightCorrection();\r\n var resultHeight = elementHeightWithoutScrollbar - rowsHeight - borderTopWidth - heightCorrection;\r\n if (showFreeSpaceRow) {\r\n deferRender(() => {\r\n freeSpaceRowElements.css(\"height\", resultHeight);\r\n isFreeSpaceRowVisible = true;\r\n freeSpaceRowElements.show()\r\n })\r\n }\r\n deferRender(() => this._updateLastRowBorder(isFreeSpaceRowVisible))\r\n })\r\n }\r\n } else {\r\n freeSpaceRowElements.css(\"height\", 0);\r\n freeSpaceRowElements.show();\r\n this._updateLastRowBorder(true)\r\n }\r\n }\r\n }\r\n _getHeightCorrection() {\r\n var isZoomedWebkit = browser.webkit && this._getDevicePixelRatio() >= 2;\r\n var isChromeLatest = browser.chrome && browser.version >= 91;\r\n var hasExtraBorderTop = browser.mozilla && browser.version >= 70 && !this.option(\"showRowLines\");\r\n return isZoomedWebkit || hasExtraBorderTop || isChromeLatest ? 1 : 0\r\n }\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n super._columnOptionChanged(e);\r\n this._fireColumnResizedCallbacks()\r\n }\r\n }\r\n getScrollable() {\r\n return this._scrollable\r\n }\r\n init() {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n super.init();\r\n that._editorFactoryController = that.getController(\"editorFactory\");\r\n that._rowHeight = 0;\r\n that._scrollTop = 0;\r\n that._scrollLeft = -1;\r\n that._scrollRight = 0;\r\n that._hasHeight = false;\r\n that._contentChanges = [];\r\n dataController.loadingChanged.add((isLoading, messageText) => {\r\n that.setLoading(isLoading, messageText)\r\n });\r\n dataController.dataSourceChanged.add(() => {\r\n if (this._scrollLeft >= 0 && !this._dataController.isLoading()) {\r\n this._handleScroll({\r\n component: this.getScrollable(),\r\n forceUpdateScrollPosition: true,\r\n scrollOffset: {\r\n top: this._scrollTop,\r\n left: this._scrollLeft\r\n }\r\n })\r\n }\r\n })\r\n }\r\n _handleDataChanged(change) {\r\n switch (change.changeType) {\r\n case \"refresh\":\r\n case \"prepend\":\r\n case \"append\":\r\n case \"update\":\r\n this.render(null, change);\r\n break;\r\n default:\r\n this._update(change)\r\n }\r\n }\r\n publicMethods() {\r\n return [\"isScrollbarVisible\", \"getTopVisibleRowData\", \"getScrollbarWidth\", \"getCellElement\", \"getRowElement\", \"getScrollable\"]\r\n }\r\n contentWidth() {\r\n return getWidth(this.element()) - this.getScrollbarWidth()\r\n }\r\n getScrollbarWidth(isHorizontal) {\r\n var scrollableContainer = this._scrollableContainer && this._scrollableContainer.get(0);\r\n var scrollbarWidth = 0;\r\n if (scrollableContainer) {\r\n if (!isHorizontal) {\r\n scrollbarWidth = scrollableContainer.clientWidth ? scrollableContainer.offsetWidth - scrollableContainer.clientWidth : 0\r\n } else {\r\n scrollbarWidth = scrollableContainer.clientHeight ? scrollableContainer.offsetHeight - scrollableContainer.clientHeight : 0;\r\n scrollbarWidth += getScrollableBottomPadding(this)\r\n }\r\n }\r\n return scrollbarWidth > 0 ? scrollbarWidth : 0\r\n }\r\n _fireColumnResizedCallbacks() {\r\n var lastColumnWidths = this._lastColumnWidths || [];\r\n var columnWidths = [];\r\n var columns = this.getColumns();\r\n for (var i = 0; i < columns.length; i++) {\r\n columnWidths[i] = columns[i].visibleWidth;\r\n if (columns[i].resizedCallbacks && !isDefined(columns[i].groupIndex) && lastColumnWidths[i] !== columnWidths[i]) {\r\n columns[i].resizedCallbacks.fire(columnWidths[i])\r\n }\r\n }\r\n this._lastColumnWidths = columnWidths\r\n }\r\n _updateLastRowBorder(isFreeSpaceRowVisible) {\r\n if (this.option(\"showBorders\") && this.option(\"showRowLines\") && !isFreeSpaceRowVisible) {\r\n this.element().addClass(LAST_ROW_BORDER)\r\n } else {\r\n this.element().removeClass(LAST_ROW_BORDER)\r\n }\r\n }\r\n _updateScrollable() {\r\n var scrollable = Scrollable.getInstance(this.element());\r\n if (scrollable) {\r\n scrollable.update();\r\n if (scrollable.option(\"useNative\") || !(null === scrollable || void 0 === scrollable ? void 0 : scrollable.isRenovated())) {\r\n this._updateHorizontalScrollPosition()\r\n }\r\n }\r\n }\r\n _updateHorizontalScrollPosition() {\r\n var scrollable = this.getScrollable();\r\n var scrollLeft = scrollable && scrollable.scrollOffset().left;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n var maxHorizontalScrollOffset = getMaxHorizontalScrollOffset(scrollable);\r\n var scrollRight = maxHorizontalScrollOffset - scrollLeft;\r\n if (scrollRight !== this._scrollRight) {\r\n this._scrollLeft = maxHorizontalScrollOffset - this._scrollRight\r\n }\r\n }\r\n if (this._scrollLeft >= 0 && scrollLeft !== this._scrollLeft) {\r\n scrollable.scrollTo({\r\n x: this._scrollLeft\r\n })\r\n }\r\n }\r\n _resizeCore() {\r\n var that = this;\r\n that._fireColumnResizedCallbacks();\r\n that._updateRowHeight();\r\n deferRender(() => {\r\n that._renderScrollable();\r\n that.renderNoDataText();\r\n that.updateFreeSpaceRowHeight();\r\n deferUpdate(() => {\r\n that._updateScrollable()\r\n })\r\n })\r\n }\r\n scrollTo(location) {\r\n var $element = this.element();\r\n var dxScrollable = $element && Scrollable.getInstance($element);\r\n if (dxScrollable) {\r\n dxScrollable.scrollTo(location)\r\n }\r\n }\r\n height(height) {\r\n var $element = this.element();\r\n if (0 === arguments.length) {\r\n return $element ? getOuterHeight($element, true) : 0\r\n }\r\n if (isDefined(height) && $element) {\r\n this.hasHeight(\"auto\" !== height);\r\n setHeight($element, height)\r\n }\r\n }\r\n hasHeight(hasHeight) {\r\n if (0 === arguments.length) {\r\n return !!this._hasHeight\r\n }\r\n this._hasHeight = hasHeight;\r\n return\r\n }\r\n setLoading(isLoading, messageText) {\r\n var loadPanel = this._loadPanel;\r\n var dataController = this._dataController;\r\n var loadPanelOptions = this.option(\"loadPanel\") || {};\r\n var animation = dataController.isLoaded() ? loadPanelOptions.animation : null;\r\n var $element = this.element();\r\n if (!hasWindow()) {\r\n return\r\n }\r\n if (!loadPanel && void 0 !== messageText && dataController.isLocalStore() && \"auto\" === loadPanelOptions.enabled && $element) {\r\n this._renderLoadPanel($element, $element.parent());\r\n loadPanel = this._loadPanel\r\n }\r\n if (loadPanel) {\r\n var visibilityOptions = {\r\n message: messageText || loadPanelOptions.text,\r\n animation: animation,\r\n visible: isLoading\r\n };\r\n if (isLoading) {\r\n visibilityOptions.position = gridCoreUtils.calculateLoadPanelPosition($element)\r\n }\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n if (loadPanel.option(\"visible\") && !isLoading) {\r\n this._hideLoadingTimeoutID = setTimeout(() => {\r\n loadPanel.option(visibilityOptions)\r\n }, LOADPANEL_HIDE_TIMEOUT)\r\n } else {\r\n loadPanel.option(visibilityOptions)\r\n }\r\n }\r\n }\r\n setRowsOpacity(columnIndex, value) {\r\n var $rows = this._getRowElements().not(\".\".concat(GROUP_ROW_CLASS)) || [];\r\n this._setRowsOpacityCore($rows, this.getColumns(), columnIndex, value)\r\n }\r\n _getCellElementsCore(rowIndex) {\r\n var $cells = super._getCellElementsCore.apply(this, arguments);\r\n if ($cells) {\r\n var groupCellIndex = $cells.filter(\".\".concat(GROUP_CELL_CLASS)).index();\r\n if (groupCellIndex >= 0 && $cells.length > groupCellIndex + 1) {\r\n return $cells.slice(0, groupCellIndex + 1)\r\n }\r\n }\r\n return $cells\r\n }\r\n _getBoundaryVisibleItemIndex(isTop, isFloor) {\r\n var itemIndex = 0;\r\n var prevOffset = 0;\r\n var offset = 0;\r\n var viewportBoundary = this._scrollTop;\r\n var $contentElement = this._findContentElement();\r\n var contentElementOffsetTop = $contentElement && $contentElement.offset().top;\r\n var dataController = this.getController(\"data\");\r\n var items = dataController.items();\r\n var tableElement = this.getTableElement();\r\n if (items.length && tableElement) {\r\n var rowElements = this._getRowElements(tableElement).filter(\":visible\");\r\n if (!isTop) {\r\n var height = getOuterHeight(this._hasHeight ? this.element() : getWindow());\r\n viewportBoundary += height\r\n }\r\n for (itemIndex = 0; itemIndex < items.length; itemIndex++) {\r\n prevOffset = offset;\r\n var $rowElement = $(rowElements).eq(itemIndex);\r\n if ($rowElement.length) {\r\n offset = $rowElement.offset();\r\n offset = (isTop ? offset.top : offset.top + getOuterHeight($rowElement)) - contentElementOffsetTop;\r\n if (offset > viewportBoundary) {\r\n if (itemIndex) {\r\n if (isFloor || 2 * viewportBoundary < Math.round(offset + prevOffset)) {\r\n itemIndex--\r\n }\r\n }\r\n break\r\n }\r\n }\r\n }\r\n if (itemIndex && itemIndex === items.length) {\r\n itemIndex--\r\n }\r\n }\r\n return itemIndex\r\n }\r\n getTopVisibleItemIndex(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(true, isFloor)\r\n }\r\n getBottomVisibleItemIndex(isFloor) {\r\n return this._getBoundaryVisibleItemIndex(false, isFloor)\r\n }\r\n getTopVisibleRowData() {\r\n var itemIndex = this.getTopVisibleItemIndex();\r\n var items = this._dataController.items();\r\n if (items[itemIndex]) {\r\n return items[itemIndex].data\r\n }\r\n return\r\n }\r\n _scrollToElement($element, offset) {\r\n var scrollable = this.getScrollable();\r\n scrollable && scrollable.scrollToElement($element, offset)\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"wordWrapEnabled\":\r\n case \"showColumnLines\":\r\n case \"showRowLines\":\r\n case \"rowAlternationEnabled\":\r\n case \"rowTemplate\":\r\n case \"dataRowTemplate\":\r\n case \"twoWayBindingEnabled\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"scrolling\":\r\n this._rowHeight = null;\r\n this._tableElement = null;\r\n args.handled = true;\r\n break;\r\n case \"rtlEnabled\":\r\n this._rowHeight = null;\r\n this._tableElement = null;\r\n break;\r\n case \"loadPanel\":\r\n this._tableElement = null;\r\n this._invalidate(true, \"loadPanel.enabled\" !== args.fullName);\r\n args.handled = true;\r\n break;\r\n case \"noDataText\":\r\n this.renderNoDataText();\r\n args.handled = true\r\n }\r\n }\r\n dispose() {\r\n super.dispose();\r\n clearTimeout(this._hideLoadingTimeoutID);\r\n this._scrollable && this._scrollable.dispose()\r\n }\r\n setScrollerSpacing() {}\r\n _restoreErrorRow() {}\r\n}\r\nexport var rowsModule = {\r\n defaultOptions: () => ({\r\n hoverStateEnabled: false,\r\n scrolling: {\r\n useNative: \"auto\"\r\n },\r\n loadPanel: {\r\n enabled: \"auto\",\r\n text: messageLocalization.format(\"Loading\"),\r\n width: 200,\r\n height: 90,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true\r\n },\r\n dataRowTemplate: null,\r\n columnAutoWidth: false,\r\n noDataText: messageLocalization.format(\"dxDataGrid-noDataText\"),\r\n wordWrapEnabled: false,\r\n showColumnLines: true,\r\n showRowLines: false,\r\n rowAlternationEnabled: false,\r\n activeStateEnabled: false,\r\n twoWayBindingEnabled: true\r\n }),\r\n views: {\r\n rowsView: RowsView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/rows.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowsModule\r\n} from \"../../../grids/grid_core/views/m_rows_view\";\r\nimport gridCore from \"../m_core\";\r\nexport var RowsView = rowsModule.views.rowsView;\r\ngridCore.registerModule(\"rows\", rowsModule);\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.data_converter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isPrimitive\r\n} from \"../../core/utils/type\";\r\nvar DataConverter = Class.inherit({\r\n ctor: function() {\r\n this._dataStructure = [];\r\n this._itemsCount = 0;\r\n this._visibleItemsCount = 0\r\n },\r\n _indexByKey: {},\r\n _convertItemsToNodes: function(items, parentKey) {\r\n var that = this;\r\n each(items, (function(_, item) {\r\n var parentId = isDefined(parentKey) ? parentKey : that._getParentId(item);\r\n var node = that._convertItemToNode(item, parentId);\r\n that._dataStructure.push(node);\r\n that._checkForDuplicateId(node.internalFields.key);\r\n that._indexByKey[node.internalFields.key] = that._dataStructure.length - 1;\r\n if (that._itemHasChildren(item)) {\r\n that._convertItemsToNodes(that._dataAccessors.getters.items(item), node.internalFields.key)\r\n }\r\n }))\r\n },\r\n _checkForDuplicateId: function(key) {\r\n if (isDefined(this._indexByKey[key])) {\r\n throw errors.Error(\"E1040\", key)\r\n }\r\n },\r\n _getParentId: function(item) {\r\n return \"plain\" === this._dataType ? this._dataAccessors.getters.parentKey(item) : void 0\r\n },\r\n _itemHasChildren: function(item) {\r\n if (\"plain\" === this._dataType) {\r\n return\r\n }\r\n var items = this._dataAccessors.getters.items(item);\r\n return items && items.length\r\n },\r\n _getUniqueKey: function(item) {\r\n var keyGetter = this._dataAccessors.getters.key;\r\n var itemKey = keyGetter(item);\r\n var isCorrectKey = keyGetter && (itemKey || 0 === itemKey) && isPrimitive(itemKey);\r\n return isCorrectKey ? itemKey : this.getItemsCount()\r\n },\r\n _convertItemToNode: function(item, parentKey) {\r\n this._itemsCount++;\r\n false !== item.visible && this._visibleItemsCount++;\r\n var node = {\r\n internalFields: {\r\n disabled: this._dataAccessors.getters.disabled(item, {\r\n defaultValue: false\r\n }),\r\n expanded: this._dataAccessors.getters.expanded(item, {\r\n defaultValue: false\r\n }),\r\n selected: this._dataAccessors.getters.selected(item, {\r\n defaultValue: false\r\n }),\r\n key: this._getUniqueKey(item),\r\n parentKey: isDefined(parentKey) ? parentKey : this._rootValue,\r\n item: this._makeObjectFromPrimitive(item),\r\n childrenKeys: []\r\n }\r\n };\r\n extend(node, item);\r\n delete node.items;\r\n return node\r\n },\r\n setChildrenKeys: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (node.internalFields.parentKey === that._rootValue) {\r\n return\r\n }\r\n var parent = that.getParentNode(node);\r\n parent && parent.internalFields.childrenKeys.push(node.internalFields.key)\r\n }))\r\n },\r\n _makeObjectFromPrimitive: function(item) {\r\n if (isPrimitive(item)) {\r\n var key = item;\r\n item = {};\r\n this._dataAccessors.setters.key(item, key)\r\n }\r\n return item\r\n },\r\n _convertToPublicNode: function(node, parent) {\r\n if (!node) {\r\n return null\r\n }\r\n var publicNode = {\r\n text: this._dataAccessors.getters.display(node),\r\n key: node.internalFields.key,\r\n selected: node.internalFields.selected,\r\n expanded: node.internalFields.expanded,\r\n disabled: node.internalFields.disabled,\r\n parent: parent || null,\r\n itemData: node.internalFields.item,\r\n children: [],\r\n items: []\r\n };\r\n if (publicNode.parent) {\r\n publicNode.parent.children.push(publicNode);\r\n publicNode.parent.items.push(publicNode)\r\n }\r\n return publicNode\r\n },\r\n convertToPublicNodes: function(data, parent) {\r\n if (!data.length) {\r\n return []\r\n }\r\n var that = this;\r\n var publicNodes = [];\r\n each(data, (function(_, node) {\r\n node = isPrimitive(node) ? that._getByKey(node) : node;\r\n var publicNode = that._convertToPublicNode(node, parent);\r\n publicNode.children = that.convertToPublicNodes(node.internalFields.childrenKeys, publicNode);\r\n publicNodes.push(publicNode);\r\n node.internalFields.publicNode = publicNode\r\n }));\r\n return publicNodes\r\n },\r\n setDataAccessors: function(accessors) {\r\n this._dataAccessors = accessors\r\n },\r\n _getByKey: function(key) {\r\n return this._dataStructure[this.getIndexByKey(key)] || null\r\n },\r\n getParentNode: function(node) {\r\n return this._getByKey(node.internalFields.parentKey)\r\n },\r\n getByKey: function(data, key) {\r\n if (null === key || void 0 === key) {\r\n return null\r\n }\r\n var result = null;\r\n var that = this;\r\n var getByKey = function(data, key) {\r\n each(data, (function(_, element) {\r\n var currentElementKey = element.internalFields && element.internalFields.key || that._dataAccessors.getters.key(element);\r\n if (currentElementKey.toString() === key.toString()) {\r\n result = element;\r\n return false\r\n }\r\n }));\r\n return result\r\n };\r\n return getByKey(data, key)\r\n },\r\n getItemsCount: function() {\r\n return this._itemsCount\r\n },\r\n getVisibleItemsCount: function() {\r\n return this._visibleItemsCount\r\n },\r\n updateIndexByKey: function() {\r\n var that = this;\r\n this._indexByKey = {};\r\n each(this._dataStructure, (function(index, node) {\r\n that._checkForDuplicateId(node.internalFields.key);\r\n that._indexByKey[node.internalFields.key] = index\r\n }))\r\n },\r\n updateChildrenKeys: function() {\r\n this._indexByKey = {};\r\n this.removeChildrenKeys();\r\n this.updateIndexByKey();\r\n this.setChildrenKeys()\r\n },\r\n removeChildrenKeys: function() {\r\n this._indexByKey = {};\r\n each(this._dataStructure, (function(index, node) {\r\n node.internalFields.childrenKeys = []\r\n }))\r\n },\r\n getIndexByKey: function(key) {\r\n return this._indexByKey[key]\r\n },\r\n createPlainStructure: function(items, rootValue, dataType) {\r\n this._itemsCount = 0;\r\n this._visibleItemsCount = 0;\r\n this._rootValue = rootValue;\r\n this._dataType = dataType;\r\n this._indexByKey = {};\r\n this._convertItemsToNodes(items);\r\n this.setChildrenKeys();\r\n return this._dataStructure\r\n }\r\n});\r\nexport default DataConverter;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.data_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../../ui/widget/ui.errors\";\r\nimport uiSearchBoxMixin from \"../../ui/widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../ui/text_box\";\r\nimport query from \"../../data/query\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport HierarchicalDataConverter from \"./ui.data_converter\";\r\nvar EXPANDED = \"expanded\";\r\nvar SELECTED = \"selected\";\r\nvar DISABLED = \"disabled\";\r\nuiSearchBoxMixin.setEditorClass(TextBox);\r\nvar DataAdapter = Class.inherit({\r\n ctor: function(options) {\r\n this.options = {};\r\n extend(this.options, this._defaultOptions(), options);\r\n this.options.dataConverter.setDataAccessors(this.options.dataAccessors);\r\n this._selectedNodesKeys = [];\r\n this._expandedNodesKeys = [];\r\n this._dataStructure = [];\r\n this._createInternalDataStructure();\r\n this.getTreeNodes()\r\n },\r\n setOption: function(name, value) {\r\n this.options[name] = value;\r\n if (\"recursiveSelection\" === name) {\r\n this._updateSelection()\r\n }\r\n },\r\n _defaultOptions: function() {\r\n return {\r\n dataAccessors: void 0,\r\n items: [],\r\n multipleSelection: true,\r\n recursiveSelection: false,\r\n recursiveExpansion: false,\r\n rootValue: 0,\r\n searchValue: \"\",\r\n dataType: \"tree\",\r\n searchMode: \"contains\",\r\n dataConverter: new HierarchicalDataConverter,\r\n onNodeChanged: noop,\r\n sort: null\r\n }\r\n },\r\n _createInternalDataStructure: function() {\r\n this._initialDataStructure = this.options.dataConverter.createPlainStructure(this.options.items, this.options.rootValue, this.options.dataType);\r\n this._dataStructure = this.options.searchValue.length ? this.search(this.options.searchValue) : this._initialDataStructure;\r\n this.options.dataConverter._dataStructure = this._dataStructure;\r\n this._updateSelection();\r\n this._updateExpansion()\r\n },\r\n _updateSelection: function() {\r\n if (this.options.recursiveSelection) {\r\n this._setChildrenSelection();\r\n this._setParentSelection()\r\n }\r\n this._selectedNodesKeys = this._updateNodesKeysArray(SELECTED)\r\n },\r\n _updateExpansion: function(key) {\r\n if (this.options.recursiveExpansion) {\r\n key ? this._updateOneBranch(key) : this._setParentExpansion()\r\n }\r\n this._expandedNodesKeys = this._updateNodesKeysArray(EXPANDED)\r\n },\r\n _updateNodesKeysArray: function(property) {\r\n var that = this;\r\n var array = [];\r\n each(that._getDataBySelectionMode(), (function(_, node) {\r\n if (!that._isNodeVisible(node)) {\r\n return\r\n }\r\n if (node.internalFields[property]) {\r\n if (property === EXPANDED || that.options.multipleSelection) {\r\n array.push(node.internalFields.key)\r\n } else {\r\n array.length && that.toggleSelection(array[0], false, true);\r\n array = [node.internalFields.key]\r\n }\r\n }\r\n }));\r\n return array\r\n },\r\n _getDataBySelectionMode: function() {\r\n return this.options.multipleSelection ? this.getData() : this.getFullData()\r\n },\r\n _isNodeVisible: function(node) {\r\n return false !== node.internalFields.item.visible\r\n },\r\n _getByKey: function(data, key) {\r\n return data === this._dataStructure ? this.options.dataConverter._getByKey(key) : this.options.dataConverter.getByKey(data, key)\r\n },\r\n _setChildrenSelection: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (!node.internalFields.childrenKeys.length) {\r\n return\r\n }\r\n var isSelected = node.internalFields.selected;\r\n true === isSelected && that._toggleChildrenSelection(node, isSelected)\r\n }))\r\n },\r\n _setParentSelection: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n var parent = that.options.dataConverter.getParentNode(node);\r\n if (parent && node.internalFields.parentKey !== that.options.rootValue) {\r\n that._iterateParents(node, (function(parent) {\r\n var newParentState = that._calculateSelectedState(parent);\r\n that._setFieldState(parent, SELECTED, newParentState)\r\n }))\r\n }\r\n }))\r\n },\r\n _setParentExpansion: function() {\r\n var that = this;\r\n each(this._dataStructure, (function(_, node) {\r\n if (!node.internalFields.expanded) {\r\n return\r\n }\r\n that._updateOneBranch(node.internalFields.key)\r\n }))\r\n },\r\n _updateOneBranch: function(key) {\r\n var that = this;\r\n var node = this.getNodeByKey(key);\r\n that._iterateParents(node, (function(parent) {\r\n that._setFieldState(parent, EXPANDED, true)\r\n }))\r\n },\r\n _iterateChildren: function(node, recursive, callback, processedKeys) {\r\n if (!isFunction(callback)) {\r\n return\r\n }\r\n var that = this;\r\n var nodeKey = node.internalFields.key;\r\n processedKeys = processedKeys || [];\r\n if (-1 === processedKeys.indexOf(nodeKey)) {\r\n processedKeys.push(nodeKey);\r\n each(node.internalFields.childrenKeys, (function(_, key) {\r\n var child = that.getNodeByKey(key);\r\n callback(child);\r\n if (child.internalFields.childrenKeys.length && recursive) {\r\n that._iterateChildren(child, recursive, callback, processedKeys)\r\n }\r\n }))\r\n }\r\n },\r\n _iterateParents: function(node, callback, processedKeys) {\r\n if (node.internalFields.parentKey === this.options.rootValue || !isFunction(callback)) {\r\n return\r\n }\r\n processedKeys = processedKeys || [];\r\n var key = node.internalFields.key;\r\n if (-1 === processedKeys.indexOf(key)) {\r\n processedKeys.push(key);\r\n var parent = this.options.dataConverter.getParentNode(node);\r\n if (parent) {\r\n callback(parent);\r\n if (parent.internalFields.parentKey !== this.options.rootValue) {\r\n this._iterateParents(parent, callback, processedKeys)\r\n }\r\n }\r\n }\r\n },\r\n _calculateSelectedState: function(node) {\r\n var itemsCount = node.internalFields.childrenKeys.length;\r\n var selectedItemsCount = 0;\r\n var invisibleItemsCount = 0;\r\n var result = false;\r\n for (var i = 0; i <= itemsCount - 1; i++) {\r\n var childNode = this.getNodeByKey(node.internalFields.childrenKeys[i]);\r\n var isChildInvisible = false === childNode.internalFields.item.visible;\r\n var childState = childNode.internalFields.selected;\r\n if (isChildInvisible) {\r\n invisibleItemsCount++;\r\n continue\r\n }\r\n if (childState) {\r\n selectedItemsCount++\r\n } else if (void 0 === childState) {\r\n selectedItemsCount += .5\r\n }\r\n }\r\n if (selectedItemsCount) {\r\n result = selectedItemsCount === itemsCount - invisibleItemsCount ? true : void 0\r\n }\r\n return result\r\n },\r\n _toggleChildrenSelection: function(node, state) {\r\n var that = this;\r\n this._iterateChildren(node, true, (function(child) {\r\n if (that._isNodeVisible(child)) {\r\n that._setFieldState(child, SELECTED, state)\r\n }\r\n }))\r\n },\r\n _setFieldState: function(node, field, state) {\r\n if (node.internalFields[field] === state) {\r\n return\r\n }\r\n node.internalFields[field] = state;\r\n if (node.internalFields.publicNode) {\r\n node.internalFields.publicNode[field] = state\r\n }\r\n this.options.dataAccessors.setters[field](node.internalFields.item, state);\r\n this.options.onNodeChanged(node)\r\n },\r\n _markChildren: function(keys) {\r\n var that = this;\r\n each(keys, (function(_, key) {\r\n var index = that.getIndexByKey(key);\r\n var node = that.getNodeByKey(key);\r\n that._dataStructure[index] = 0;\r\n node.internalFields.childrenKeys.length && that._markChildren(node.internalFields.childrenKeys)\r\n }))\r\n },\r\n _removeNode: function(key) {\r\n var node = this.getNodeByKey(key);\r\n this._dataStructure[this.getIndexByKey(key)] = 0;\r\n this._markChildren(node.internalFields.childrenKeys);\r\n var that = this;\r\n var counter = 0;\r\n var items = extend([], this._dataStructure);\r\n each(items, (function(index, item) {\r\n if (!item) {\r\n that._dataStructure.splice(index - counter, 1);\r\n counter++\r\n }\r\n }))\r\n },\r\n _addNode: function(item) {\r\n var dataConverter = this.options.dataConverter;\r\n var node = dataConverter._convertItemToNode(item, this.options.dataAccessors.getters.parentKey(item));\r\n this._dataStructure = this._dataStructure.concat(node);\r\n this._initialDataStructure = this._initialDataStructure.concat(node);\r\n dataConverter._dataStructure = dataConverter._dataStructure.concat(node)\r\n },\r\n _updateFields: function() {\r\n this.options.dataConverter.updateChildrenKeys();\r\n this._updateSelection();\r\n this._updateExpansion()\r\n },\r\n getSelectedNodesKeys: function() {\r\n return this._selectedNodesKeys\r\n },\r\n getExpandedNodesKeys: function() {\r\n return this._expandedNodesKeys\r\n },\r\n getData: function() {\r\n return this._dataStructure\r\n },\r\n getFullData: function() {\r\n return this._initialDataStructure\r\n },\r\n getNodeByItem: function(item) {\r\n var result = null;\r\n each(this._dataStructure, (function(_, node) {\r\n if (node.internalFields.item === item) {\r\n result = node;\r\n return false\r\n }\r\n }));\r\n return result\r\n },\r\n getNodesByItems: function(items) {\r\n var that = this;\r\n var nodes = [];\r\n each(items, (function(_, item) {\r\n var node = that.getNodeByItem(item);\r\n node && nodes.push(node)\r\n }));\r\n return nodes\r\n },\r\n getNodeByKey: function(key, data) {\r\n return this._getByKey(data || this._getDataBySelectionMode(), key)\r\n },\r\n getTreeNodes: function() {\r\n return this.options.dataConverter.convertToPublicNodes(this.getRootNodes())\r\n },\r\n getItemsCount: function() {\r\n return this.options.dataConverter.getItemsCount()\r\n },\r\n getVisibleItemsCount: function() {\r\n return this.options.dataConverter.getVisibleItemsCount()\r\n },\r\n getPublicNode: function(node) {\r\n return node.internalFields.publicNode\r\n },\r\n getRootNodes: function() {\r\n return this.getChildrenNodes(this.options.rootValue)\r\n },\r\n getChildrenNodes: function(parentKey) {\r\n return query(this._dataStructure, {\r\n langParams: this.options.langParams\r\n }).filter([\"internalFields.parentKey\", parentKey]).toArray()\r\n },\r\n getIndexByKey: function(key) {\r\n return this.options.dataConverter.getIndexByKey(key)\r\n },\r\n addItem: function(item) {\r\n this._addNode(item);\r\n this._updateFields()\r\n },\r\n removeItem: function(key) {\r\n this._removeNode(key);\r\n this._updateFields()\r\n },\r\n toggleSelection: function(key, state, selectRecursive) {\r\n var isSingleModeUnselect = this._isSingleModeUnselect(state);\r\n var node = this._getByKey(selectRecursive || isSingleModeUnselect ? this._initialDataStructure : this._dataStructure, key);\r\n this._setFieldState(node, SELECTED, state);\r\n if (this.options.recursiveSelection && !selectRecursive) {\r\n state ? this._setChildrenSelection() : this._toggleChildrenSelection(node, state);\r\n this._setParentSelection()\r\n }\r\n this._selectedNodesKeys = this._updateNodesKeysArray(SELECTED)\r\n },\r\n _isSingleModeUnselect: function(selectionState) {\r\n return !this.options.multipleSelection && !selectionState\r\n },\r\n toggleNodeDisabledState: function(key, state) {\r\n var node = this.getNodeByKey(key);\r\n this._setFieldState(node, DISABLED, state)\r\n },\r\n toggleSelectAll: function(state) {\r\n if (!isDefined(state)) {\r\n return\r\n }\r\n var that = this;\r\n var lastSelectedKey = that._selectedNodesKeys[that._selectedNodesKeys.length - 1];\r\n var dataStructure = that._isSingleModeUnselect(state) ? this._initialDataStructure : this._dataStructure;\r\n each(dataStructure, (function(index, node) {\r\n if (!that._isNodeVisible(node)) {\r\n return\r\n }\r\n that._setFieldState(node, SELECTED, state)\r\n }));\r\n that._selectedNodesKeys = that._updateNodesKeysArray(SELECTED);\r\n if (!state && that.options.selectionRequired) {\r\n that.toggleSelection(lastSelectedKey, true)\r\n }\r\n },\r\n isAllSelected: function() {\r\n if (this.getSelectedNodesKeys().length) {\r\n return this.getSelectedNodesKeys().length === this.getVisibleItemsCount() ? true : void 0\r\n } else {\r\n return false\r\n }\r\n },\r\n toggleExpansion: function(key, state) {\r\n var node = this.getNodeByKey(key);\r\n this._setFieldState(node, EXPANDED, state);\r\n if (state) {\r\n this._updateExpansion(key)\r\n }\r\n this._expandedNodesKeys = this._updateNodesKeysArray(EXPANDED)\r\n },\r\n isFiltered: function(item) {\r\n return !this.options.searchValue.length || !!this._filterDataStructure(this.options.searchValue, [item]).length\r\n },\r\n _createCriteria: function(selector, value, operation) {\r\n var searchFilter = [];\r\n if (!Array.isArray(selector)) {\r\n return [selector, operation, value]\r\n }\r\n each(selector, (function(i, item) {\r\n searchFilter.push([item, operation, value], \"or\")\r\n }));\r\n searchFilter.pop();\r\n return searchFilter\r\n },\r\n _filterDataStructure: function(filterValue, dataStructure) {\r\n var selector = this.options.searchExpr || this.options.dataAccessors.getters.display;\r\n var operation = uiSearchBoxMixin.getOperationBySearchMode(this.options.searchMode);\r\n var criteria = this._createCriteria(selector, filterValue, operation);\r\n dataStructure = dataStructure || this._initialDataStructure;\r\n return query(dataStructure, {\r\n langParams: this.options.langParams\r\n }).filter(criteria).toArray()\r\n },\r\n search: function(searchValue) {\r\n var that = this;\r\n var matches = this._filterDataStructure(searchValue);\r\n var dataConverter = this.options.dataConverter;\r\n ! function lookForParents(matches, index) {\r\n var length = matches.length;\r\n while (index < length) {\r\n var node = matches[index];\r\n if (node.internalFields.parentKey === that.options.rootValue) {\r\n index++;\r\n continue\r\n }\r\n var parent = dataConverter.getParentNode(node);\r\n if (!parent) {\r\n errors.log(\"W1007\", node.internalFields.parentKey, node.internalFields.key);\r\n index++;\r\n continue\r\n }\r\n if (!parent.internalFields.expanded) {\r\n that._setFieldState(parent, EXPANDED, true)\r\n }\r\n if (matches.includes(parent)) {\r\n index++;\r\n continue\r\n }\r\n matches.splice(index, 0, parent);\r\n lookForParents(matches, index)\r\n }\r\n }(matches, 0);\r\n if (this.options.sort) {\r\n matches = storeHelper.queryByOptions(query(matches), {\r\n sort: this.options.sort,\r\n langParams: this.options.langParams\r\n }).toArray()\r\n }\r\n dataConverter._indexByKey = {};\r\n each(matches, (function(index, node) {\r\n node.internalFields.childrenKeys = [];\r\n dataConverter._indexByKey[node.internalFields.key] = index\r\n }));\r\n dataConverter._dataStructure = matches;\r\n dataConverter.setChildrenKeys();\r\n return dataConverter._dataStructure\r\n }\r\n});\r\nexport default DataAdapter;\r\n","/**\r\n * DevExtreme (esm/ui/hierarchical_collection/ui.hierarchical_collection_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n compileGetter,\r\n compileSetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport HierarchicalDataAdapter from \"./ui.data_adapter\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.edit\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar HierarchicalCollectionWidget = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n keyExpr: \"id\",\r\n displayExpr: \"text\",\r\n selectedExpr: \"selected\",\r\n disabledExpr: \"disabled\",\r\n itemsExpr: \"items\",\r\n hoverStateEnabled: true,\r\n parentIdExpr: \"parentId\",\r\n expandedExpr: \"expanded\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initAccessors();\r\n this._initDataAdapter();\r\n this._initDynamicTemplates()\r\n },\r\n _initDataSource: function() {\r\n this.callBase();\r\n this._dataSource && this._dataSource.paginate(false)\r\n },\r\n _initDataAdapter: function() {\r\n var accessors = this._createDataAdapterAccessors();\r\n this._dataAdapter = new HierarchicalDataAdapter(extend({\r\n dataAccessors: {\r\n getters: accessors.getters,\r\n setters: accessors.setters\r\n },\r\n items: this.option(\"items\")\r\n }, this._getDataAdapterOptions()))\r\n },\r\n _getDataAdapterOptions: noop,\r\n _getItemExtraPropNames: noop,\r\n _initDynamicTemplates: function() {\r\n var fields = [\"text\", \"html\", \"items\", \"icon\"].concat(this._getItemExtraPropNames());\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(this._addContent.bind(this), fields, this.option(\"integrationOptions.watchMethod\"), {\r\n text: this._displayGetter,\r\n items: this._itemsGetter\r\n })\r\n })\r\n },\r\n _addContent: function($container, itemData) {\r\n $container.html(itemData.html).append(this._getIconContainer(itemData)).append(this._getTextContainer(itemData))\r\n },\r\n _getIconContainer: function(itemData) {\r\n return itemData.icon ? getImageContainer(itemData.icon) : void 0\r\n },\r\n _getTextContainer: function(itemData) {\r\n return $(\"<span>\").text(itemData.text)\r\n },\r\n _initAccessors: function() {\r\n var that = this;\r\n each(this._getAccessors(), (function(_, accessor) {\r\n that._compileAccessor(accessor)\r\n }));\r\n this._compileDisplayGetter()\r\n },\r\n _getAccessors: function() {\r\n return [\"key\", \"selected\", \"items\", \"disabled\", \"parentId\", \"expanded\"]\r\n },\r\n _getChildNodes: function(node) {\r\n var that = this;\r\n var arr = [];\r\n each(node.internalFields.childrenKeys, (function(_, key) {\r\n var childNode = that._dataAdapter.getNodeByKey(key);\r\n arr.push(childNode)\r\n }));\r\n return arr\r\n },\r\n _hasChildren: function(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n },\r\n _compileAccessor: function(optionName) {\r\n var getter = \"_\" + optionName + \"Getter\";\r\n var setter = \"_\" + optionName + \"Setter\";\r\n var optionExpr = this.option(optionName + \"Expr\");\r\n if (!optionExpr) {\r\n this[getter] = noop;\r\n this[setter] = noop;\r\n return\r\n } else if (isFunction(optionExpr)) {\r\n this[setter] = function(obj, value) {\r\n obj[optionExpr()] = value\r\n };\r\n this[getter] = function(obj) {\r\n return obj[optionExpr()]\r\n };\r\n return\r\n }\r\n this[getter] = compileGetter(optionExpr);\r\n this[setter] = compileSetter(optionExpr)\r\n },\r\n _createDataAdapterAccessors: function() {\r\n var that = this;\r\n var accessors = {\r\n getters: {},\r\n setters: {}\r\n };\r\n each(this._getAccessors(), (function(_, accessor) {\r\n var getterName = \"_\" + accessor + \"Getter\";\r\n var setterName = \"_\" + accessor + \"Setter\";\r\n var newAccessor = \"parentId\" === accessor ? \"parentKey\" : accessor;\r\n accessors.getters[newAccessor] = that[getterName];\r\n accessors.setters[newAccessor] = that[setterName]\r\n }));\r\n accessors.getters.display = !this._displayGetter ? itemData => itemData.text : this._displayGetter;\r\n return accessors\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._addWidgetClass()\r\n },\r\n _addWidgetClass: function() {\r\n this._focusTarget().addClass(this._widgetClass())\r\n },\r\n _widgetClass: noop,\r\n _renderItemFrame: function(index, itemData) {\r\n var $itemFrame = this.callBase.apply(this, arguments);\r\n $itemFrame.toggleClass(DISABLED_STATE_CLASS, !!this._disabledGetter(itemData));\r\n return $itemFrame\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"displayExpr\":\r\n case \"keyExpr\":\r\n this._initAccessors();\r\n this._initDynamicTemplates();\r\n this.repaint();\r\n break;\r\n case \"itemsExpr\":\r\n case \"selectedExpr\":\r\n case \"disabledExpr\":\r\n case \"expandedExpr\":\r\n case \"parentIdExpr\":\r\n this._initAccessors();\r\n this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n case \"items\":\r\n this._initDataAdapter();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default HierarchicalCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.menu_base.edit.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport PlainEditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nclass MenuBaseEditStrategy extends PlainEditStrategy {\r\n _getPlainItems() {\r\n return map(this._collectionWidget.option(\"items\"), (function getMenuItems(item) {\r\n return item.items ? [item].concat(map(item.items, getMenuItems)) : item\r\n }))\r\n }\r\n _stringifyItem(item) {\r\n return JSON.stringify(item, (key, value) => {\r\n if (\"template\" === key) {\r\n return this._getTemplateString(value)\r\n }\r\n return value\r\n })\r\n }\r\n _getTemplateString(template) {\r\n var result;\r\n if (\"object\" === typeof template) {\r\n result = $(template).text()\r\n } else {\r\n result = template.toString()\r\n }\r\n return result\r\n }\r\n}\r\nexport default MenuBaseEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.menu_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop,\r\n asyncNoop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport HierarchicalCollectionWidget from \"../hierarchical_collection/ui.hierarchical_collection_widget\";\r\nimport MenuBaseEditStrategy from \"./ui.menu_base.edit.strategy\";\r\nimport devices from \"../../core/devices\";\r\nimport MenuItem from \"../collection/item\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_NO_ICONS_CLASS = DX_MENU_CLASS + \"-no-icons\";\r\nvar DX_MENU_BASE_CLASS = \"dx-menu-base\";\r\nvar ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_ITEM_CONTENT_CLASS = ITEM_CLASS + \"-content\";\r\nvar DX_MENU_SELECTED_ITEM_CLASS = ITEM_CLASS + \"-selected\";\r\nvar DX_MENU_ITEM_WRAPPER_CLASS = ITEM_CLASS + \"-wrapper\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = ITEM_CLASS + \"-expanded\";\r\nvar DX_MENU_SEPARATOR_CLASS = DX_MENU_CLASS + \"-separator\";\r\nvar DX_MENU_ITEM_LAST_GROUP_ITEM = DX_MENU_CLASS + \"-last-group-item\";\r\nvar DX_ITEM_HAS_TEXT = ITEM_CLASS + \"-has-text\";\r\nvar DX_ITEM_HAS_ICON = ITEM_CLASS + \"-has-icon\";\r\nvar DX_ITEM_HAS_SUBMENU = ITEM_CLASS + \"-has-submenu\";\r\nvar DX_MENU_ITEM_POPOUT_CLASS = ITEM_CLASS + \"-popout\";\r\nvar DX_MENU_ITEM_POPOUT_CONTAINER_CLASS = DX_MENU_ITEM_POPOUT_CLASS + \"-container\";\r\nvar DX_MENU_ITEM_CAPTION_CLASS = ITEM_CLASS + \"-text\";\r\nvar SINGLE_SELECTION_MODE = \"single\";\r\nvar DEFAULT_DELAY = {\r\n show: 50,\r\n hide: 300\r\n};\r\nvar DX_MENU_ITEM_CAPTION_URL_CLASS = \"\".concat(DX_MENU_ITEM_CAPTION_CLASS, \"-with-url\");\r\nvar DX_ICON_WITH_URL_CLASS = \"dx-icon-with-url\";\r\nvar DX_ITEM_URL_CLASS = \"dx-item-url\";\r\nclass MenuBase extends HierarchicalCollectionWidget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n items: [],\r\n cssClass: \"\",\r\n activeStateEnabled: true,\r\n showSubmenuMode: {\r\n name: \"onHover\",\r\n delay: {\r\n show: 50,\r\n hide: 300\r\n }\r\n },\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1,\r\n duration: 100\r\n },\r\n hide: {\r\n type: \"fade\",\r\n from: 1,\r\n to: 0,\r\n duration: 100\r\n }\r\n },\r\n selectByClick: false,\r\n focusOnSelectedItem: false,\r\n keyExpr: null,\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n },\r\n useInkRipple: false\r\n })\r\n }\r\n _itemDataKey() {\r\n return \"dxMenuItemDataKey\"\r\n }\r\n _itemClass() {\r\n return ITEM_CLASS\r\n }\r\n _setAriaSelectionAttribute() {}\r\n _selectedItemClass() {\r\n return DX_MENU_SELECTED_ITEM_CLASS\r\n }\r\n _widgetClass() {\r\n return DX_MENU_BASE_CLASS\r\n }\r\n _focusTarget() {\r\n return this._itemContainer()\r\n }\r\n _clean() {\r\n this.option(\"focusedElement\", null);\r\n super._clean()\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n space: () => {\r\n var $item = $(this.option(\"focusedElement\"));\r\n if (!$item.length || !this._isSelectionEnabled()) {\r\n return\r\n }\r\n this.selectItem($item[0])\r\n },\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n }\r\n _isSelectionEnabled() {\r\n return this.option(\"selectionMode\") === SINGLE_SELECTION_MODE\r\n }\r\n _init() {\r\n this._activeStateUnit = \".\".concat(ITEM_CLASS);\r\n super._init();\r\n this._renderSelectedItem();\r\n this._initActions()\r\n }\r\n _getLinkContainer(iconContainer, textContainer, _ref) {\r\n var {\r\n linkAttr: linkAttr,\r\n url: url\r\n } = _ref;\r\n null === iconContainer || void 0 === iconContainer ? void 0 : iconContainer.addClass(DX_ICON_WITH_URL_CLASS);\r\n null === textContainer || void 0 === textContainer ? void 0 : textContainer.addClass(DX_MENU_ITEM_CAPTION_URL_CLASS);\r\n var linkAttributes = isObject(linkAttr) ? linkAttr : {};\r\n return $(\"<a>\").addClass(DX_ITEM_URL_CLASS).attr(_extends({}, linkAttributes, {\r\n href: url\r\n })).append(iconContainer).append(textContainer)\r\n }\r\n _addContent($container, itemData) {\r\n var {\r\n html: html,\r\n url: url\r\n } = itemData;\r\n var iconContainer = this._getIconContainer(itemData);\r\n var textContainer = this._getTextContainer(itemData);\r\n $container.html(html);\r\n if (url) {\r\n var link = this._getLinkContainer(iconContainer, textContainer, itemData);\r\n $container.append(link)\r\n } else {\r\n $container.append(iconContainer).append(textContainer)\r\n }\r\n $container.append(this._getPopoutContainer(itemData));\r\n this._addContentClasses(itemData, $container.parent())\r\n }\r\n _getTextContainer(itemData) {\r\n var {\r\n text: text\r\n } = itemData;\r\n var $itemContainer = $(\"<span>\").addClass(DX_MENU_ITEM_CAPTION_CLASS);\r\n var itemText = isPlainObject(itemData) ? text : String(itemData);\r\n return text && $itemContainer.text(itemText)\r\n }\r\n _getItemExtraPropNames() {\r\n return [\"url\", \"linkAttr\"]\r\n }\r\n _getPopoutContainer(itemData) {\r\n var items = itemData.items;\r\n var $popOutContainer;\r\n if (items && items.length) {\r\n var $popOutImage = $(\"<div>\").addClass(DX_MENU_ITEM_POPOUT_CLASS);\r\n $popOutContainer = $(\"<span>\").addClass(DX_MENU_ITEM_POPOUT_CONTAINER_CLASS).append($popOutImage)\r\n }\r\n return $popOutContainer\r\n }\r\n _getDataAdapterOptions() {\r\n return {\r\n rootValue: 0,\r\n multipleSelection: false,\r\n recursiveSelection: false,\r\n recursiveExpansion: false,\r\n searchValue: \"\"\r\n }\r\n }\r\n _selectByItem(selectedItem) {\r\n if (!selectedItem) {\r\n return\r\n }\r\n var nodeToSelect = this._dataAdapter.getNodeByItem(selectedItem);\r\n this._dataAdapter.toggleSelection(nodeToSelect.internalFields.key, true)\r\n }\r\n _renderSelectedItem() {\r\n var selectedKeys = this._dataAdapter.getSelectedNodesKeys();\r\n var selectedKey = selectedKeys.length && selectedKeys[0];\r\n var selectedItem = this.option(\"selectedItem\");\r\n if (!selectedKey) {\r\n this._selectByItem(selectedItem);\r\n return\r\n }\r\n var node = this._dataAdapter.getNodeByKey(selectedKey);\r\n if (false === node.selectable) {\r\n return\r\n }\r\n if (!selectedItem) {\r\n this.option(\"selectedItem\", node.internalFields.item);\r\n return\r\n }\r\n if (selectedItem !== node.internalFields.item) {\r\n this._dataAdapter.toggleSelection(selectedKey, false);\r\n this._selectByItem(selectedItem)\r\n }\r\n }\r\n _initActions() {}\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.option(\"useInkRipple\") && this._renderInkRipple()\r\n }\r\n _renderInkRipple() {\r\n this._inkRipple = render()\r\n }\r\n _toggleActiveState($element, value, e) {\r\n super._toggleActiveState.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n }\r\n _getShowSubmenuMode() {\r\n var optionValue = this.option(\"showSubmenuMode\");\r\n optionValue = isObject(optionValue) ? optionValue.name : optionValue;\r\n return this._isDesktopDevice() ? optionValue : \"onClick\"\r\n }\r\n _initSelectedItems() {}\r\n _isDesktopDevice() {\r\n return \"desktop\" === devices.real().deviceType\r\n }\r\n _initEditStrategy() {\r\n var Strategy = MenuBaseEditStrategy;\r\n this._editStrategy = new Strategy(this)\r\n }\r\n _addCustomCssClass($element) {\r\n $element.addClass(this.option(\"cssClass\"))\r\n }\r\n _itemWrapperSelector() {\r\n return \".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)\r\n }\r\n _hoverStartHandler(e) {\r\n var $itemElement = this._getItemElementByEventArgs(e);\r\n if (!$itemElement || this._isItemDisabled($itemElement)) {\r\n return\r\n }\r\n e.stopPropagation();\r\n if (\"onHover\" === this._getShowSubmenuMode()) {\r\n clearTimeout(this._showSubmenusTimeout);\r\n this._showSubmenusTimeout = setTimeout(this._showSubmenu.bind(this, $itemElement), this._getSubmenuDelay(\"show\"))\r\n }\r\n }\r\n _getAvailableItems($itemElements) {\r\n return super._getAvailableItems($itemElements).filter((function() {\r\n return \"hidden\" !== $(this).css(\"visibility\")\r\n }))\r\n }\r\n _isItemDisabled($item) {\r\n return this._disabledGetter($item.data(this._itemDataKey()))\r\n }\r\n _showSubmenu($itemElement) {\r\n this._addExpandedClass($itemElement)\r\n }\r\n _addExpandedClass(itemElement) {\r\n $(itemElement).addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n _getSubmenuDelay(action) {\r\n var {\r\n delay: delay\r\n } = this.option(\"showSubmenuMode\");\r\n if (!isDefined(delay)) {\r\n return DEFAULT_DELAY[action]\r\n }\r\n return isObject(delay) ? delay[action] : delay\r\n }\r\n _getItemElementByEventArgs(eventArgs) {\r\n var $target = $(eventArgs.target);\r\n if ($target.hasClass(this._itemClass()) || $target.get(0) === eventArgs.currentTarget) {\r\n return $target\r\n }\r\n while (!$target.hasClass(this._itemClass())) {\r\n $target = $target.parent();\r\n if ($target.hasClass(\"dx-submenu\")) {\r\n return null\r\n }\r\n }\r\n return $target\r\n }\r\n _hoverEndHandler() {\r\n clearTimeout(this._showSubmenusTimeout)\r\n }\r\n _hasSubmenu(node) {\r\n return node && node.internalFields.childrenKeys.length\r\n }\r\n _renderContentImpl() {\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n }\r\n _renderItems(nodes, submenuContainer) {\r\n if (nodes.length) {\r\n this.hasIcons = false;\r\n var $nodeContainer = this._renderContainer(this.$element(), submenuContainer);\r\n var firstVisibleIndex = -1;\r\n var nextGroupFirstIndex = -1;\r\n each(nodes, (index, node) => {\r\n var isVisibleNode = false !== node.visible;\r\n if (isVisibleNode && firstVisibleIndex < 0) {\r\n firstVisibleIndex = index\r\n }\r\n var isBeginGroup = firstVisibleIndex < index && (node.beginGroup || index === nextGroupFirstIndex);\r\n if (isBeginGroup) {\r\n nextGroupFirstIndex = isVisibleNode ? index : index + 1\r\n }\r\n if (index === nextGroupFirstIndex && firstVisibleIndex < index) {\r\n this._renderSeparator($nodeContainer)\r\n }\r\n this._renderItem(index, node, $nodeContainer)\r\n });\r\n if (!this.hasIcons) {\r\n $nodeContainer.addClass(DX_MENU_NO_ICONS_CLASS)\r\n }\r\n }\r\n }\r\n _renderContainer($wrapper) {\r\n var $container = $(\"<ul>\");\r\n this.setAria(\"role\", \"none\", $container);\r\n return $container.appendTo($wrapper).addClass(DX_MENU_ITEMS_CONTAINER_CLASS)\r\n }\r\n _createDOMElement($nodeContainer) {\r\n var $node = $(\"<li>\");\r\n this.setAria(\"role\", \"none\", $node);\r\n return $node.appendTo($nodeContainer).addClass(DX_MENU_ITEM_WRAPPER_CLASS)\r\n }\r\n _renderItem(index, node, $nodeContainer, $nodeElement) {\r\n var items = this.option(\"items\");\r\n var $node = $nodeElement || this._createDOMElement($nodeContainer);\r\n if (items[index + 1] && items[index + 1].beginGroup) {\r\n $node.addClass(DX_MENU_ITEM_LAST_GROUP_ITEM)\r\n }\r\n var $itemFrame = super._renderItem(index, node.internalFields.item, $node);\r\n if (node.internalFields.item === this.option(\"selectedItem\")) {\r\n $itemFrame.addClass(DX_MENU_SELECTED_ITEM_CLASS)\r\n }\r\n $itemFrame.attr(\"tabIndex\", -1);\r\n if (this._hasSubmenu(node)) {\r\n this.setAria(\"haspopup\", \"true\", $itemFrame)\r\n }\r\n }\r\n _renderItemFrame(index, itemData, $itemContainer) {\r\n var $itemFrame = $itemContainer.children(\".\".concat(ITEM_CLASS));\r\n return $itemFrame.length ? $itemFrame : super._renderItemFrame.apply(this, arguments)\r\n }\r\n _refreshItem($item, item) {\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n var index = $item.data(this._itemIndexKey());\r\n var $nodeContainer = $item.closest(\"ul\");\r\n var $nodeElement = $item.closest(\"li\");\r\n this._renderItem(index, node, $nodeContainer, $nodeElement)\r\n }\r\n _addContentClasses(itemData, $itemFrame) {\r\n var hasText = itemData.text ? !!itemData.text.length : false;\r\n var hasIcon = !!itemData.icon;\r\n var hasSubmenu = itemData.items ? !!itemData.items.length : false;\r\n $itemFrame.toggleClass(DX_ITEM_HAS_TEXT, hasText);\r\n $itemFrame.toggleClass(DX_ITEM_HAS_ICON, hasIcon);\r\n if (!this.hasIcons) {\r\n this.hasIcons = hasIcon\r\n }\r\n $itemFrame.toggleClass(DX_ITEM_HAS_SUBMENU, hasSubmenu)\r\n }\r\n _getItemContent($itemFrame) {\r\n var $itemContent = super._getItemContent($itemFrame);\r\n if (!$itemContent.length) {\r\n $itemContent = $itemFrame.children(\".\".concat(DX_ITEM_CONTENT_CLASS))\r\n }\r\n return $itemContent\r\n }\r\n _postprocessRenderItem(args) {\r\n var $itemElement = $(args.itemElement);\r\n var selectedIndex = this._dataAdapter.getSelectedNodesKeys();\r\n if (!selectedIndex.length || !this._selectedGetter(args.itemData) || !this._isItemSelectable(args.itemData)) {\r\n this._setAriaSelectionAttribute($itemElement, \"false\");\r\n return\r\n }\r\n var node = this._dataAdapter.getNodeByItem(args.itemData);\r\n if (node.internalFields.key === selectedIndex[0]) {\r\n $itemElement.addClass(this._selectedItemClass());\r\n this._setAriaSelectionAttribute($itemElement, \"true\")\r\n } else {\r\n this._setAriaSelectionAttribute($itemElement, \"false\")\r\n }\r\n }\r\n _isItemSelectable(item) {\r\n return false !== item.selectable\r\n }\r\n _renderSeparator($itemsContainer) {\r\n $(\"<li>\").appendTo($itemsContainer).addClass(DX_MENU_SEPARATOR_CLASS)\r\n }\r\n _itemClickHandler(e) {\r\n if (e._skipHandling) {\r\n return\r\n }\r\n var itemClickActionHandler = this._createAction(this._updateSubmenuVisibilityOnClick.bind(this));\r\n this._itemDXEventHandler(e, \"onItemClick\", {}, {\r\n beforeExecute: this._itemClick,\r\n afterExecute: itemClickActionHandler.bind(this)\r\n });\r\n e._skipHandling = true\r\n }\r\n _itemClick(actionArgs) {\r\n var args = actionArgs.args[0];\r\n var link = args.event.target.getElementsByClassName(DX_ITEM_URL_CLASS)[0];\r\n if (args.itemData.url && link) {\r\n link.click()\r\n }\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n this._updateSelectedItemOnClick(actionArgs);\r\n if (\"onClick\" === this._getShowSubmenuMode()) {\r\n this._addExpandedClass(actionArgs.args[0].itemElement)\r\n }\r\n }\r\n _updateSelectedItemOnClick(actionArgs) {\r\n var args = actionArgs.args ? actionArgs.args[0] : actionArgs;\r\n if (!this._isItemSelectAllowed(args.itemData)) {\r\n return\r\n }\r\n var selectedItemKey = this._dataAdapter.getSelectedNodesKeys();\r\n var selectedNode = selectedItemKey.length && this._dataAdapter.getNodeByKey(selectedItemKey[0]);\r\n if (selectedNode) {\r\n this._toggleItemSelection(selectedNode, false)\r\n }\r\n if (!selectedNode || selectedNode.internalFields.item !== args.itemData) {\r\n this.selectItem(args.itemData)\r\n } else {\r\n this._fireSelectionChangeEvent(null, this.option(\"selectedItem\"));\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n }\r\n _isItemSelectAllowed(item) {\r\n var isSelectByClickEnabled = this._isSelectionEnabled() && this.option(\"selectByClick\");\r\n return !this._isContainerEmpty() && isSelectByClickEnabled && this._isItemSelectable(item) && !this._itemsGetter(item)\r\n }\r\n _isContainerEmpty() {\r\n return this._itemContainer().is(\":empty\")\r\n }\r\n _syncSelectionOptions() {\r\n return asyncNoop()\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"showSubmenuMode\":\r\n break;\r\n case \"selectedItem\":\r\n var node = this._dataAdapter.getNodeByItem(args.value);\r\n var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0];\r\n if (node && node.internalFields.key !== selectedKey) {\r\n if (false === node.selectable) {\r\n break\r\n }\r\n if (selectedKey) {\r\n this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false)\r\n }\r\n this._toggleItemSelection(node, true);\r\n this._updateSelectedItems()\r\n }\r\n break;\r\n case \"cssClass\":\r\n case \"position\":\r\n case \"selectByClick\":\r\n case \"animation\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _toggleItemSelection(node, value) {\r\n var itemElement = this._getElementByItem(node.internalFields.item);\r\n itemElement && $(itemElement).toggleClass(DX_MENU_SELECTED_ITEM_CLASS);\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value)\r\n }\r\n _getElementByItem(itemData) {\r\n var result;\r\n each(this._itemElements(), (_, itemElement) => {\r\n if ($(itemElement).data(this._itemDataKey()) !== itemData) {\r\n return true\r\n }\r\n result = itemElement;\r\n return false\r\n });\r\n return result\r\n }\r\n _updateSelectedItems(oldSelection, newSelection) {\r\n if (oldSelection || newSelection) {\r\n this._fireSelectionChangeEvent(newSelection, oldSelection)\r\n }\r\n }\r\n _fireSelectionChangeEvent(addedSelection, removedSelection) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: [addedSelection],\r\n removedItems: [removedSelection]\r\n })\r\n }\r\n selectItem(itemElement) {\r\n var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement;\r\n var selectedKey = this._dataAdapter.getSelectedNodesKeys()[0];\r\n var selectedItem = this.option(\"selectedItem\");\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n if (node.internalFields.key !== selectedKey) {\r\n if (selectedKey) {\r\n this._toggleItemSelection(this._dataAdapter.getNodeByKey(selectedKey), false)\r\n }\r\n this._toggleItemSelection(node, true);\r\n this._updateSelectedItems(selectedItem, itemData);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", itemData)\r\n }\r\n }\r\n unselectItem(itemElement) {\r\n var itemData = itemElement.nodeType ? this._getItemData(itemElement) : itemElement;\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n var selectedItem = this.option(\"selectedItem\");\r\n if (node.internalFields.selected) {\r\n this._toggleItemSelection(node, false);\r\n this._updateSelectedItems(selectedItem, null);\r\n this._setOptionWithoutOptionChange(\"selectedItem\", null)\r\n }\r\n }\r\n}\r\nMenuBase.ItemClass = MenuItem;\r\nexport default MenuBase;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu/ui.context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isObject,\r\n isRenderer,\r\n isWindow,\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n contains\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport fx from \"../../animation/fx\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport MenuBase from \"./ui.menu_base\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n name as contextMenuEventName\r\n} from \"../../events/contextmenu\";\r\nimport holdEvent from \"../../events/hold\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = DX_MENU_ITEM_CLASS + \"-expanded\";\r\nvar DX_MENU_PHONE_CLASS = \"dx-menu-phone-overlay\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_WRAPPER_CLASS = DX_MENU_ITEM_CLASS + \"-wrapper\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar DX_CONTEXT_MENU_CLASS = \"dx-context-menu\";\r\nvar DX_HAS_CONTEXT_MENU_CLASS = \"dx-has-context-menu\";\r\nvar DX_STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar DX_STATE_FOCUSED_CLASS = \"dx-state-focused\";\r\nvar DX_STATE_HOVER_CLASS = \"dx-state-hover\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar FOCUS_LAST = \"last\";\r\nvar ACTIONS = [\"onShowing\", \"onShown\", \"onSubmenuCreated\", \"onHiding\", \"onHidden\", \"onPositioning\", \"onLeftFirstItem\", \"onLeftLastItem\", \"onCloseRootSubmenu\", \"onExpandLastSubmenu\"];\r\nvar LOCAL_SUBMENU_DIRECTIONS = [FOCUS_UP, FOCUS_DOWN, FOCUS_FIRST, FOCUS_LAST];\r\nvar DEFAULT_SHOW_EVENT = \"dxcontextmenu\";\r\nvar window = getWindow();\r\nclass ContextMenu extends MenuBase {\r\n getShowEvent(showEventOption) {\r\n var result = null;\r\n if (isObject(showEventOption)) {\r\n if (null !== showEventOption.name) {\r\n result = showEventOption.name || DEFAULT_SHOW_EVENT\r\n }\r\n } else {\r\n result = showEventOption\r\n }\r\n return result\r\n }\r\n getShowDelay(showEventOption) {\r\n return isObject(showEventOption) && showEventOption.delay\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showEvent: DEFAULT_SHOW_EVENT,\r\n hideOnOutsideClick: true,\r\n position: {\r\n at: \"top left\",\r\n my: \"top left\"\r\n },\r\n onShowing: null,\r\n onShown: null,\r\n onSubmenuCreated: null,\r\n onHiding: null,\r\n onHidden: null,\r\n onPositioning: null,\r\n submenuDirection: \"auto\",\r\n visible: false,\r\n target: void 0,\r\n onLeftFirstItem: null,\r\n onLeftLastItem: null,\r\n onCloseRootSubmenu: null,\r\n onExpandLastSubmenu: null\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: () => !hasWindow(),\r\n options: {\r\n animation: null\r\n }\r\n }])\r\n }\r\n _setDeprecatedOptions() {\r\n super._setDeprecatedOptions();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.2\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n }\r\n _initActions() {\r\n this._actions = {};\r\n each(ACTIONS, (index, action) => {\r\n this._actions[action] = this._createActionByOption(action) || noop\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n }\r\n _focusInHandler() {}\r\n _itemContainer() {\r\n return this._overlay ? this._overlay.$content() : $()\r\n }\r\n _eventBindingTarget() {\r\n return this._itemContainer()\r\n }\r\n itemsContainer() {\r\n return this._overlay ? this._overlay.$content() : void 0\r\n }\r\n _supportedKeys() {\r\n return extend(super._supportedKeys(), {\r\n space: () => {\r\n var $item = $(this.option(\"focusedElement\"));\r\n this.hide();\r\n if (!$item.length || !this._isSelectionEnabled()) {\r\n return\r\n }\r\n this.selectItem($item[0])\r\n },\r\n escape: this.hide\r\n })\r\n }\r\n _getActiveItem() {\r\n var $availableItems = this._getAvailableItems();\r\n var $focusedItem = $availableItems.filter(\".\".concat(DX_STATE_FOCUSED_CLASS));\r\n var $hoveredItem = $availableItems.filter(\".\".concat(DX_STATE_HOVER_CLASS));\r\n var $hoveredItemContainer = $hoveredItem.closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS));\r\n if ($hoveredItemContainer.find(\".\".concat(DX_MENU_ITEM_CLASS)).index($focusedItem) >= 0) {\r\n return $focusedItem\r\n }\r\n if ($hoveredItem.length) {\r\n return $hoveredItem\r\n }\r\n return super._getActiveItem()\r\n }\r\n _moveFocus(location) {\r\n var $items = this._getItemsByLocation(location);\r\n var $oldTarget = this._getActiveItem(true);\r\n var $hoveredItem = this.itemsContainer().find(\".\".concat(DX_STATE_HOVER_CLASS));\r\n var $focusedItem = $(this.option(\"focusedElement\"));\r\n var $activeItemHighlighted = !!($focusedItem.length || $hoveredItem.length);\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_UP:\r\n $newTarget = $activeItemHighlighted ? this._prevItem($items) : $oldTarget;\r\n this._setFocusedElement($newTarget);\r\n if ($oldTarget.is($items.first())) {\r\n this._actions.onLeftFirstItem($oldTarget)\r\n }\r\n break;\r\n case FOCUS_DOWN:\r\n $newTarget = $activeItemHighlighted ? this._nextItem($items) : $oldTarget;\r\n this._setFocusedElement($newTarget);\r\n if ($oldTarget.is($items.last())) {\r\n this._actions.onLeftLastItem($oldTarget)\r\n }\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._hideSubmenuHandler() : this._expandSubmenuHandler($items, location);\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._expandSubmenuHandler($items, location) : this._hideSubmenuHandler();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n this._setFocusedElement($newTarget);\r\n break;\r\n default:\r\n return super._moveFocus(location)\r\n }\r\n }\r\n _setFocusedElement($element) {\r\n if ($element && 0 !== $element.length) {\r\n this.option(\"focusedElement\", getPublicElement($element))\r\n }\r\n }\r\n _getItemsByLocation(location) {\r\n var $activeItem = this._getActiveItem(true);\r\n var $items;\r\n if (LOCAL_SUBMENU_DIRECTIONS.includes(location)) {\r\n $items = $activeItem.closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS)).children().children()\r\n }\r\n $items = this._getAvailableItems($items);\r\n return $items\r\n }\r\n _getAriaTarget() {\r\n return this.$element()\r\n }\r\n _refreshActiveDescendant() {\r\n if (isDefined(this._overlay)) {\r\n var $target = this._overlay.$content();\r\n super._refreshActiveDescendant($target)\r\n }\r\n }\r\n _hideSubmenuHandler() {\r\n var $curItem = this._getActiveItem(true);\r\n var $parentItem = $curItem.parents(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS)).first();\r\n if ($parentItem.length) {\r\n this._hideSubmenusOnSameLevel($parentItem);\r\n this._hideSubmenu($curItem.closest(\".\".concat(DX_SUBMENU_CLASS)));\r\n return $parentItem\r\n }\r\n this._actions.onCloseRootSubmenu($curItem);\r\n return $curItem\r\n }\r\n _expandSubmenuHandler($items, location) {\r\n var $curItem = this._getActiveItem(true);\r\n var itemData = this._getItemData($curItem);\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n var isItemHasSubmenu = this._hasSubmenu(node);\r\n var $submenu = $curItem.children(\".\".concat(DX_SUBMENU_CLASS));\r\n if (isItemHasSubmenu && !$curItem.hasClass(DX_STATE_DISABLED_CLASS)) {\r\n if (!$submenu.length || \"hidden\" === $submenu.css(\"visibility\")) {\r\n this._showSubmenu($curItem)\r\n }\r\n return this._nextItem(this._getItemsByLocation(location))\r\n }\r\n this._actions.onExpandLastSubmenu($curItem);\r\n return\r\n }\r\n _clean() {\r\n if (this._overlay) {\r\n this._overlay.$element().remove();\r\n this._overlay = null\r\n }\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n super._clean()\r\n }\r\n _initMarkup() {\r\n this.$element().addClass(DX_HAS_CONTEXT_MENU_CLASS);\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderVisibility(this.option(\"visible\"));\r\n this._addWidgetClass()\r\n }\r\n _renderContentImpl() {\r\n this._detachShowContextMenuEvents(this._getTarget());\r\n this._attachShowContextMenuEvents()\r\n }\r\n _attachKeyboardEvents() {\r\n !this._keyboardListenerId && this._focusTarget().length && super._attachKeyboardEvents()\r\n }\r\n _renderContextMenuOverlay() {\r\n if (this._overlay) {\r\n return\r\n }\r\n var overlayOptions = this._getOverlayOptions();\r\n this._overlay = this._createComponent($(\"<div>\").appendTo(this._$element), Overlay, overlayOptions);\r\n var $overlayContent = this._overlay.$content();\r\n $overlayContent.addClass(DX_CONTEXT_MENU_CLASS);\r\n this._addCustomCssClass($overlayContent);\r\n this._addPlatformDependentClass($overlayContent);\r\n this._attachContextMenuEvent()\r\n }\r\n preventShowingDefaultContextMenuAboveOverlay() {\r\n var $itemContainer = this._itemContainer();\r\n var eventName = addNamespace(contextMenuEventName, this.NAME);\r\n eventsEngine.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS));\r\n eventsEngine.on($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS), (e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n eventsEngine.off($itemContainer, eventName, \".\".concat(DX_SUBMENU_CLASS))\r\n }).bind(this))\r\n }\r\n _itemContextMenuHandler(e) {\r\n super._itemContextMenuHandler(e);\r\n e.stopPropagation()\r\n }\r\n _addPlatformDependentClass($element) {\r\n if (devices.current().phone) {\r\n $element.addClass(DX_MENU_PHONE_CLASS)\r\n }\r\n }\r\n _detachShowContextMenuEvents(target) {\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = addNamespace(showEvent, this.NAME);\r\n if (this._showContextMenuEventHandler) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n } else {\r\n eventsEngine.off($(target), eventName)\r\n }\r\n }\r\n _attachShowContextMenuEvents() {\r\n var target = this._getTarget();\r\n var showEvent = this.getShowEvent(this.option(\"showEvent\"));\r\n if (!showEvent) {\r\n return\r\n }\r\n var eventName = addNamespace(showEvent, this.NAME);\r\n var contextMenuAction = this._createAction(e => {\r\n var delay = this.getShowDelay(this.option(\"showEvent\"));\r\n if (delay) {\r\n setTimeout(() => this._show(e.event), delay)\r\n } else {\r\n this._show(e.event)\r\n }\r\n }, {\r\n validatingTargetName: \"target\"\r\n });\r\n var handler = e => contextMenuAction({\r\n event: e,\r\n target: $(e.currentTarget)\r\n });\r\n contextMenuAction = this._createAction(contextMenuAction);\r\n if (isRenderer(target) || target.nodeType || isWindow(target)) {\r\n this._showContextMenuEventHandler = void 0;\r\n eventsEngine.on(target, eventName, handler)\r\n } else {\r\n this._showContextMenuEventHandler = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, this._showContextMenuEventHandler)\r\n }\r\n }\r\n _hoverEndHandler(e) {\r\n super._hoverEndHandler(e);\r\n e.stopPropagation()\r\n }\r\n _renderDimensions() {}\r\n _renderContainer($wrapper, submenuContainer) {\r\n var $holder = submenuContainer || this._itemContainer();\r\n $wrapper = $(\"<div>\");\r\n $wrapper.appendTo($holder).addClass(DX_SUBMENU_CLASS).css(\"visibility\", submenuContainer ? \"hidden\" : \"visible\");\r\n if (!$wrapper.parent().hasClass(OVERLAY_CONTENT_CLASS)) {\r\n this._addCustomCssClass($wrapper)\r\n }\r\n var $itemsContainer = super._renderContainer($wrapper);\r\n if (submenuContainer) {\r\n return $itemsContainer\r\n }\r\n if (this.option(\"width\")) {\r\n return $itemsContainer.css(\"minWidth\", this.option(\"width\"))\r\n }\r\n if (this.option(\"height\")) {\r\n return $itemsContainer.css(\"minHeight\", this.option(\"height\"))\r\n }\r\n return $itemsContainer\r\n }\r\n _renderSubmenuItems(node, $itemFrame) {\r\n this._renderItems(this._getChildNodes(node), $itemFrame);\r\n this._actions.onSubmenuCreated({\r\n itemElement: getPublicElement($itemFrame),\r\n itemData: node.internalFields.item,\r\n submenuElement: getPublicElement($itemFrame.children(\".\".concat(DX_SUBMENU_CLASS)))\r\n })\r\n }\r\n _getOverlayOptions() {\r\n var position = this.option(\"position\");\r\n var overlayOptions = {\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n animation: this.option(\"animation\"),\r\n innerOverlay: true,\r\n hideOnOutsideClick: e => this._hideOnOutsideClickHandler(e),\r\n propagateOutsideClick: true,\r\n hideOnParentScroll: true,\r\n deferRendering: false,\r\n position: {\r\n at: position.at,\r\n my: position.my,\r\n of: this._getTarget(),\r\n collision: \"flipfit\"\r\n },\r\n shading: false,\r\n showTitle: false,\r\n height: \"auto\",\r\n width: \"auto\",\r\n onShown: this._overlayShownActionHandler.bind(this),\r\n onHiding: this._overlayHidingActionHandler.bind(this),\r\n onHidden: this._overlayHiddenActionHandler.bind(this),\r\n visualContainer: window\r\n };\r\n return overlayOptions\r\n }\r\n _overlayShownActionHandler(arg) {\r\n this._actions.onShown(arg)\r\n }\r\n _overlayHidingActionHandler(arg) {\r\n this._actions.onHiding(arg);\r\n if (!arg.cancel) {\r\n this._hideAllShownSubmenus();\r\n this._setOptionWithoutOptionChange(\"visible\", false)\r\n }\r\n }\r\n _overlayHiddenActionHandler(arg) {\r\n this._actions.onHidden(arg)\r\n }\r\n _shouldHideOnOutsideClick(e) {\r\n var {\r\n closeOnOutsideClick: closeOnOutsideClick,\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n } else if (isFunction(closeOnOutsideClick)) {\r\n return closeOnOutsideClick(e)\r\n } else {\r\n return hideOnOutsideClick || closeOnOutsideClick\r\n }\r\n }\r\n _hideOnOutsideClickHandler(e) {\r\n if (!this._shouldHideOnOutsideClick(e)) {\r\n return false\r\n }\r\n if (domAdapter.isDocument(e.target)) {\r\n return true\r\n }\r\n var $activeItemContainer = this._getActiveItemsContainer(e.target);\r\n var $itemContainers = this._getItemsContainers();\r\n var $clickedItem = this._searchActiveItem(e.target);\r\n var $rootItem = this.$element().parents(\".\".concat(DX_MENU_ITEM_CLASS));\r\n var isRootItemClicked = $clickedItem[0] === $rootItem[0] && $clickedItem.length && $rootItem.length;\r\n var isInnerOverlayClicked = this._isIncludeOverlay($activeItemContainer, $itemContainers) && $clickedItem.length;\r\n if (isInnerOverlayClicked || isRootItemClicked) {\r\n if (\"onClick\" === this._getShowSubmenuMode()) {\r\n this._hideAllShownChildSubmenus($clickedItem)\r\n }\r\n return false\r\n }\r\n return true\r\n }\r\n _getActiveItemsContainer(target) {\r\n return $(target).closest(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n }\r\n _getItemsContainers() {\r\n return this._overlay.$content().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS))\r\n }\r\n _searchActiveItem(target) {\r\n return $(target).closest(\".\".concat(DX_MENU_ITEM_CLASS)).eq(0)\r\n }\r\n _isIncludeOverlay($activeOverlay, $allOverlays) {\r\n var isSame = false;\r\n each($allOverlays, (index, $overlay) => {\r\n if ($activeOverlay.is($overlay) && !isSame) {\r\n isSame = true\r\n }\r\n });\r\n return isSame\r\n }\r\n _hideAllShownChildSubmenus($clickedItem) {\r\n var $submenuElements = $clickedItem.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n if ($submenuElements.length > 0) {\r\n each(shownSubmenus, (index, $submenu) => {\r\n var $context = this._searchActiveItem($submenu.context).parent();\r\n if ($context.parent().is($clickedItem.parent().parent()) && !$context.is($clickedItem.parent())) {\r\n this._hideSubmenu($submenu)\r\n }\r\n })\r\n }\r\n }\r\n _showSubmenu($item) {\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n this._hideSubmenusOnSameLevel($item);\r\n if (!this._hasSubmenu(node)) {\r\n return\r\n }\r\n var $submenu = $item.children(\".\".concat(DX_SUBMENU_CLASS));\r\n var isSubmenuRendered = $submenu.length;\r\n super._showSubmenu($item);\r\n if (!isSubmenuRendered) {\r\n this._renderSubmenuItems(node, $item)\r\n }\r\n if (!this._isSubmenuVisible($submenu)) {\r\n this._drawSubmenu($item)\r\n }\r\n }\r\n _hideSubmenusOnSameLevel($item) {\r\n var $expandedItems = $item.parent(\".\".concat(DX_MENU_ITEM_WRAPPER_CLASS)).siblings().find(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS));\r\n if ($expandedItems.length) {\r\n $expandedItems.removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n this._hideSubmenu($expandedItems.find(\".\".concat(DX_SUBMENU_CLASS)))\r\n }\r\n }\r\n _hideSubmenuGroup($submenu) {\r\n if (this._isSubmenuVisible($submenu)) {\r\n this._hideSubmenuCore($submenu)\r\n }\r\n }\r\n _isSubmenuVisible($submenu) {\r\n return \"visible\" === $submenu.css(\"visibility\")\r\n }\r\n _drawSubmenu($itemElement) {\r\n var animation = this.option(\"animation\") ? this.option(\"animation\").show : {};\r\n var $submenu = $itemElement.children(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuPosition = this._getSubmenuPosition($itemElement);\r\n if (this._overlay && this._overlay.option(\"visible\")) {\r\n if (!isDefined(this._shownSubmenus)) {\r\n this._shownSubmenus = []\r\n }\r\n if (!this._shownSubmenus.includes($submenu)) {\r\n this._shownSubmenus.push($submenu)\r\n }\r\n if (animation) {\r\n fx.stop($submenu)\r\n }\r\n animationPosition.setup($submenu, submenuPosition);\r\n if (animation) {\r\n if (isPlainObject(animation.to)) {\r\n animation.to.position = submenuPosition\r\n }\r\n this._animate($submenu, animation)\r\n }\r\n $submenu.css(\"visibility\", \"visible\")\r\n }\r\n }\r\n _animate($container, options) {\r\n fx.animate($container, options)\r\n }\r\n _getSubmenuPosition($rootItem) {\r\n var submenuDirection = this.option(\"submenuDirection\").toLowerCase();\r\n var $rootItemWrapper = $rootItem.parent(\".\".concat(DX_MENU_ITEM_WRAPPER_CLASS));\r\n var position = {\r\n collision: \"flip\",\r\n of: $rootItemWrapper,\r\n offset: {\r\n h: 0,\r\n v: -1\r\n }\r\n };\r\n switch (submenuDirection) {\r\n case \"left\":\r\n position.at = \"left top\";\r\n position.my = \"right top\";\r\n break;\r\n case \"right\":\r\n position.at = \"right top\";\r\n position.my = \"left top\";\r\n break;\r\n default:\r\n if (this.option(\"rtlEnabled\")) {\r\n position.at = \"left top\";\r\n position.my = \"right top\"\r\n } else {\r\n position.at = \"right top\";\r\n position.my = \"left top\"\r\n }\r\n }\r\n return position\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n if (!actionArgs.args.length) {\r\n return\r\n }\r\n var itemData = actionArgs.args[0].itemData;\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n if (!node) {\r\n return\r\n }\r\n var $itemElement = $(actionArgs.args[0].itemElement);\r\n var $submenu = $itemElement.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var shouldRenderSubmenu = this._hasSubmenu(node) && !$submenu.length;\r\n if (shouldRenderSubmenu) {\r\n this._renderSubmenuItems(node, $itemElement);\r\n $submenu = $itemElement.find(\".\".concat(DX_SUBMENU_CLASS))\r\n }\r\n if ($itemElement.context === $submenu.context && \"visible\" === $submenu.css(\"visibility\")) {\r\n return\r\n }\r\n this._updateSelectedItemOnClick(actionArgs);\r\n var notCloseMenuOnItemClick = itemData && false === itemData.closeMenuOnClick;\r\n if (!itemData || itemData.disabled || notCloseMenuOnItemClick) {\r\n return\r\n }\r\n if (0 === $submenu.length) {\r\n var $prevSubmenu = $($itemElement.parents(\".\".concat(DX_SUBMENU_CLASS))[0]);\r\n this._hideSubmenu($prevSubmenu);\r\n if (!actionArgs.canceled && this._overlay && this._overlay.option(\"visible\")) {\r\n this.option(\"visible\", false)\r\n }\r\n } else {\r\n if (this._shownSubmenus && this._shownSubmenus.length > 0) {\r\n if (this._shownSubmenus[0].is($submenu)) {\r\n this._hideSubmenu($submenu)\r\n }\r\n }\r\n this._showSubmenu($itemElement)\r\n }\r\n }\r\n _hideSubmenu($curSubmenu) {\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n each(shownSubmenus, (index, $submenu) => {\r\n if ($curSubmenu.is($submenu) || contains($curSubmenu[0], $submenu[0])) {\r\n $submenu.parent().removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n this._hideSubmenuCore($submenu)\r\n }\r\n })\r\n }\r\n _hideSubmenuCore($submenu) {\r\n var index = this._shownSubmenus.indexOf($submenu);\r\n var animation = this.option(\"animation\") ? this.option(\"animation\").hide : null;\r\n if (index >= 0) {\r\n this._shownSubmenus.splice(index, 1)\r\n }\r\n this._stopAnimate($submenu);\r\n animation && this._animate($submenu, animation);\r\n $submenu.css(\"visibility\", \"hidden\")\r\n }\r\n _stopAnimate($container) {\r\n fx.stop($container, true)\r\n }\r\n _hideAllShownSubmenus() {\r\n var shownSubmenus = extend([], this._shownSubmenus);\r\n var $expandedItems = this._overlay.$content().find(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS));\r\n $expandedItems.removeClass(DX_MENU_ITEM_EXPANDED_CLASS);\r\n each(shownSubmenus, (_, $submenu) => {\r\n this._hideSubmenu($submenu)\r\n })\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._renderContentImpl()\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (ACTIONS.includes(args.name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"visible\":\r\n this._renderVisibility(args.value);\r\n break;\r\n case \"showEvent\":\r\n case \"position\":\r\n case \"submenuDirection\":\r\n this._invalidate();\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachShowContextMenuEvents(args.previousValue);\r\n this._invalidate();\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _renderVisibility(showing) {\r\n return showing ? this._show() : this._hide()\r\n }\r\n _toggleVisibility() {}\r\n _show(event) {\r\n var args = {\r\n jQEvent: event\r\n };\r\n var promise = (new Deferred).reject().promise();\r\n this._actions.onShowing(args);\r\n if (args.cancel) {\r\n return promise\r\n }\r\n var position = this._positionContextMenu(event);\r\n if (position) {\r\n var _event$originalEvent;\r\n if (!this._overlay) {\r\n this._renderContextMenuOverlay();\r\n this._overlay.$content().addClass(this._widgetClass());\r\n this._renderFocusState();\r\n this._attachHoverEvents();\r\n this._attachClickEvent();\r\n this._renderItems(this._dataAdapter.getRootNodes())\r\n }\r\n this._setOptionWithoutOptionChange(\"visible\", true);\r\n this._overlay.option(\"position\", position);\r\n promise = this._overlay.show();\r\n event && event.stopPropagation();\r\n this._setAriaAttributes();\r\n if ((null === event || void 0 === event ? void 0 : null === (_event$originalEvent = event.originalEvent) || void 0 === _event$originalEvent ? void 0 : _event$originalEvent.type) === holdEvent.name) {\r\n this.preventShowingDefaultContextMenuAboveOverlay()\r\n }\r\n }\r\n return promise\r\n }\r\n _setAriaAttributes() {\r\n this._overlayContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"owns\", this._overlayContentId);\r\n this.setAria({\r\n id: this._overlayContentId,\r\n role: \"menu\"\r\n }, this._overlay.$content())\r\n }\r\n _cleanAriaAttributes() {\r\n this._overlay && this.setAria(\"id\", null, this._overlay.$content());\r\n this.setAria(\"owns\", void 0)\r\n }\r\n _getTarget() {\r\n return this.option(\"target\") || this.option(\"position\").of || $(domAdapter.getDocument())\r\n }\r\n _getContextMenuPosition() {\r\n return extend({}, this.option(\"position\"), {\r\n of: this._getTarget()\r\n })\r\n }\r\n _positionContextMenu(jQEvent) {\r\n var position = this._getContextMenuPosition();\r\n var isInitialPosition = this._isInitialOptionValue(\"position\");\r\n var positioningAction = this._createActionByOption(\"onPositioning\");\r\n if (jQEvent && jQEvent.preventDefault && isInitialPosition) {\r\n position.of = jQEvent\r\n }\r\n var actionArgs = {\r\n position: position,\r\n event: jQEvent\r\n };\r\n positioningAction(actionArgs);\r\n if (actionArgs.cancel) {\r\n position = null\r\n } else if (actionArgs.event) {\r\n actionArgs.event.cancel = true;\r\n jQEvent.preventDefault()\r\n }\r\n return position\r\n }\r\n _refresh() {\r\n if (!hasWindow()) {\r\n super._refresh()\r\n } else if (this._overlay) {\r\n var lastPosition = this._overlay.option(\"position\");\r\n super._refresh();\r\n this._overlay && this._overlay.option(\"position\", lastPosition)\r\n } else {\r\n super._refresh()\r\n }\r\n }\r\n _hide() {\r\n var promise;\r\n if (this._overlay) {\r\n promise = this._overlay.hide();\r\n this._setOptionWithoutOptionChange(\"visible\", false)\r\n }\r\n this._cleanAriaAttributes();\r\n this.option(\"focusedElement\", null);\r\n return promise || (new Deferred).reject().promise()\r\n }\r\n toggle(showing) {\r\n var visible = this.option(\"visible\");\r\n showing = void 0 === showing ? !visible : showing;\r\n return this._renderVisibility(showing)\r\n }\r\n show() {\r\n return this.toggle(true)\r\n }\r\n hide() {\r\n return this.toggle(false)\r\n }\r\n}\r\nregisterComponent(\"dxContextMenu\", ContextMenu);\r\nexport default ContextMenu;\r\n","/**\r\n * DevExtreme (esm/ui/context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ContextMenu from \"./context_menu/ui.context_menu\";\r\nexport default ContextMenu;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/context_menu/m_context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport ContextMenu from \"../../../../ui/context_menu\";\r\nimport modules from \"../m_modules\";\r\nvar CONTEXT_MENU = \"dx-context-menu\";\r\nvar viewName = {\r\n columnHeadersView: \"header\",\r\n rowsView: \"content\",\r\n footerView: \"footer\",\r\n headerPanel: \"headerPanel\"\r\n};\r\nvar VIEW_NAMES = [\"columnHeadersView\", \"rowsView\", \"footerView\", \"headerPanel\"];\r\nvar ContextMenuController = modules.ViewController.inherit({\r\n init() {\r\n this.createAction(\"onContextMenuPreparing\")\r\n },\r\n getContextMenuItems(dxEvent) {\r\n if (!dxEvent) {\r\n return false\r\n }\r\n var that = this;\r\n var $targetElement = $(dxEvent.target);\r\n var $element;\r\n var $targetRowElement;\r\n var $targetCellElement;\r\n var menuItems;\r\n each(VIEW_NAMES, (function() {\r\n var _a, _b;\r\n var view = that.getView(this);\r\n $element = view && view.element();\r\n if ($element && ($element.is($targetElement) || $element.find($targetElement).length)) {\r\n $targetCellElement = $targetElement.closest(\".dx-row > td, .dx-row > tr\");\r\n $targetRowElement = $targetCellElement.parent();\r\n var rowIndex = view.getRowIndex($targetRowElement);\r\n var columnIndex = $targetCellElement[0] && $targetCellElement[0].cellIndex;\r\n var rowOptions = $targetRowElement.data(\"options\");\r\n var options = {\r\n event: dxEvent,\r\n targetElement: getPublicElement($targetElement),\r\n target: viewName[this],\r\n rowIndex: rowIndex,\r\n row: view._getRows()[rowIndex],\r\n columnIndex: columnIndex,\r\n column: null === (_b = null === (_a = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.cells) || void 0 === _a ? void 0 : _a[columnIndex]) || void 0 === _b ? void 0 : _b.column\r\n };\r\n options.items = view.getContextMenuItems && view.getContextMenuItems(options);\r\n that.executeAction(\"onContextMenuPreparing\", options);\r\n that._contextMenuPrepared(options);\r\n menuItems = options.items;\r\n if (menuItems) {\r\n return false\r\n }\r\n }\r\n return\r\n }));\r\n return menuItems\r\n },\r\n _contextMenuPrepared: noop\r\n});\r\nvar ContextMenuView = modules.View.inherit({\r\n _renderCore() {\r\n var that = this;\r\n var $element = that.element().addClass(CONTEXT_MENU);\r\n this.setAria(\"role\", \"presentation\", $element);\r\n this._createComponent($element, ContextMenu, {\r\n onPositioning(actionArgs) {\r\n var {\r\n event: event\r\n } = actionArgs;\r\n var contextMenuInstance = actionArgs.component;\r\n var items = that.getController(\"contextMenu\").getContextMenuItems(event);\r\n if (items) {\r\n contextMenuInstance.option(\"items\", items);\r\n event.stopPropagation()\r\n } else {\r\n actionArgs.cancel = true\r\n }\r\n },\r\n onItemClick(params) {\r\n params.itemData.onItemClick && params.itemData.onItemClick(params)\r\n },\r\n cssClass: that.getWidgetContainerClass(),\r\n target: that.component.$element()\r\n })\r\n }\r\n});\r\nexport var contextMenuModule = {\r\n defaultOptions: () => ({\r\n onContextMenuPreparing: null\r\n }),\r\n controllers: {\r\n contextMenu: ContextMenuController\r\n },\r\n views: {\r\n contextMenuView: ContextMenuView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/context_menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n contextMenuModule\r\n} from \"../../../grids/grid_core/context_menu/m_context_menu\";\r\nimport treeListCore from \"../m_core\";\r\ntreeListCore.registerModule(\"contextMenu\", contextMenuModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/error_handling/m_error_handling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport modules from \"../m_modules\";\r\nvar ERROR_ROW_CLASS = \"dx-error-row\";\r\nvar ERROR_MESSAGE_CLASS = \"dx-error-message\";\r\nvar ERROR_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar ACTION_CLASS = \"action\";\r\nvar ErrorHandlingController = modules.ViewController.inherit({\r\n init() {\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n },\r\n _createErrorRow(error, $tableElements) {\r\n var that = this;\r\n var $errorRow;\r\n var $closeButton;\r\n var $errorMessage = this._renderErrorMessage(error);\r\n if ($tableElements) {\r\n $errorRow = $(\"<tr>\").addClass(ERROR_ROW_CLASS);\r\n $closeButton = $(\"<div>\").addClass(ERROR_CLOSEBUTTON_CLASS).addClass(that.addWidgetPrefix(ACTION_CLASS));\r\n eventsEngine.on($closeButton, clickEventName, that.createAction(args => {\r\n var e = args.event;\r\n var $errorRow;\r\n var errorRowIndex = $(e.currentTarget).closest(\".\".concat(ERROR_ROW_CLASS)).index();\r\n e.stopPropagation();\r\n each($tableElements, (_, tableElement) => {\r\n $errorRow = $(tableElement).children(\"tbody\").children(\"tr\").eq(errorRowIndex);\r\n that.removeErrorRow($errorRow)\r\n });\r\n that.getController(\"resizing\") && that.getController(\"resizing\").fireContentReadyAction()\r\n }));\r\n $(\"<td>\").attr({\r\n colSpan: that.getController(\"columns\").getVisibleColumns().length,\r\n role: \"presentation\"\r\n }).prepend($closeButton).append($errorMessage).appendTo($errorRow);\r\n return $errorRow\r\n }\r\n return $errorMessage\r\n },\r\n _renderErrorMessage(error) {\r\n var message = error.url ? error.message.replace(error.url, \"\") : error.message || error;\r\n var $message = $(\"<div>\").addClass(ERROR_MESSAGE_CLASS).text(message);\r\n if (error.url) {\r\n $(\"<a>\").attr(\"href\", error.url).text(error.url).appendTo($message)\r\n }\r\n return $message\r\n },\r\n renderErrorRow(error, rowIndex, $popupContent) {\r\n var that = this;\r\n var $errorMessageElement;\r\n var $firstErrorRow;\r\n if ($popupContent) {\r\n $popupContent.find(\".\".concat(ERROR_MESSAGE_CLASS)).remove();\r\n $errorMessageElement = that._createErrorRow(error);\r\n $popupContent.prepend($errorMessageElement);\r\n return $errorMessageElement\r\n }\r\n var viewElement = rowIndex >= 0 || !that._columnHeadersView.isVisible() ? that._rowsView : that._columnHeadersView;\r\n var $tableElements = viewElement.getTableElements();\r\n each($tableElements, (_, tableElement) => {\r\n $errorMessageElement = that._createErrorRow(error, $tableElements);\r\n $firstErrorRow = $firstErrorRow || $errorMessageElement;\r\n if (rowIndex >= 0) {\r\n var $row = viewElement._getRowElements($(tableElement)).eq(rowIndex);\r\n that.removeErrorRow($row.next());\r\n $errorMessageElement.insertAfter($row)\r\n } else {\r\n var $tbody = $(tableElement).children(\"tbody\");\r\n var rowElements = $tbody.children(\"tr\");\r\n if (that._columnHeadersView.isVisible()) {\r\n that.removeErrorRow(rowElements.last());\r\n $(tableElement).append($errorMessageElement)\r\n } else {\r\n that.removeErrorRow(rowElements.first());\r\n $tbody.first().prepend($errorMessageElement)\r\n }\r\n }\r\n });\r\n var resizingController = that.getController(\"resizing\");\r\n resizingController && resizingController.fireContentReadyAction();\r\n return $firstErrorRow\r\n },\r\n removeErrorRow($row) {\r\n if (!$row) {\r\n var $columnHeaders = this._columnHeadersView && this._columnHeadersView.element();\r\n $row = $columnHeaders && $columnHeaders.find(\".\".concat(ERROR_ROW_CLASS));\r\n if (!$row || !$row.length) {\r\n var $rowsViewElement = this._rowsView.element();\r\n $row = $rowsViewElement && $rowsViewElement.find(\".\".concat(ERROR_ROW_CLASS))\r\n }\r\n }\r\n $row && $row.hasClass(ERROR_ROW_CLASS) && $row.remove()\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"errorRowEnabled\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport var errorHandlingModule = {\r\n defaultOptions: () => ({\r\n errorRowEnabled: true\r\n }),\r\n controllers: {\r\n errorHandling: ErrorHandlingController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init() {\r\n var that = this;\r\n var errorHandlingController = that.getController(\"errorHandling\");\r\n that.callBase();\r\n that.dataErrorOccurred.add((error, $popupContent) => {\r\n if (that.option(\"errorRowEnabled\")) {\r\n errorHandlingController.renderErrorRow(error, void 0, $popupContent)\r\n }\r\n });\r\n that.changed.add(e => {\r\n if (e && \"loadError\" === e.changeType) {\r\n return\r\n }\r\n var errorHandlingController = that.getController(\"errorHandling\");\r\n var editingController = that.getController(\"editing\");\r\n if (editingController && !editingController.hasChanges()) {\r\n errorHandlingController && errorHandlingController.removeErrorRow()\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/error_handling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n errorHandlingModule\r\n} from \"../../../grids/grid_core/error_handling/m_error_handling\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"errorHandling\", errorHandlingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/views/m_grid_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getInnerWidth,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isNumeric,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport * as accessibility from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar BORDERS_CLASS = \"borders\";\r\nvar TABLE_FIXED_CLASS = \"table-fixed\";\r\nvar IMPORTANT_MARGIN_CLASS = \"important-margin\";\r\nvar GRIDBASE_CONTAINER_CLASS = \"dx-gridbase-container\";\r\nvar GROUP_ROW_SELECTOR = \"tr.dx-group-row\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"adaptiveHidden\";\r\nvar VIEW_NAMES = [\"columnsSeparatorView\", \"blockSeparatorView\", \"trackerView\", \"headerPanel\", \"columnHeadersView\", \"rowsView\", \"footerView\", \"columnChooserView\", \"filterPanelView\", \"pagerView\", \"draggingHeaderView\", \"contextMenuView\", \"errorView\", \"headerFilterView\", \"filterBuilderView\"];\r\nvar isPercentWidth = function(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n};\r\nvar isPixelWidth = function(width) {\r\n return isString(width) && width.endsWith(\"px\")\r\n};\r\nvar calculateFreeWidth = function(that, widths) {\r\n var contentWidth = that._rowsView.contentWidth();\r\n var totalWidth = that._getTotalWidth(widths, contentWidth);\r\n return contentWidth - totalWidth\r\n};\r\nvar calculateFreeWidthWithCurrentMinWidth = function(that, columnIndex, currentMinWidth, widths) {\r\n return calculateFreeWidth(that, widths.map((width, index) => index === columnIndex ? currentMinWidth : width))\r\n};\r\nvar restoreFocus = function(focusedElement, selectionRange) {\r\n accessibility.hiddenFocus(focusedElement);\r\n gridCoreUtils.setSelectionRange(focusedElement, selectionRange)\r\n};\r\nvar resizingControllerMembers = {\r\n _initPostRenderHandlers() {\r\n var dataController = this._dataController;\r\n if (!this._refreshSizesHandler) {\r\n this._refreshSizesHandler = e => {\r\n dataController.changed.remove(this._refreshSizesHandler);\r\n this._refreshSizes(e)\r\n };\r\n dataController.changed.add(() => {\r\n dataController.changed.add(this._refreshSizesHandler)\r\n })\r\n }\r\n },\r\n _refreshSizes(e) {\r\n var _a;\r\n var resizeDeferred;\r\n var that = this;\r\n var changeType = e && e.changeType;\r\n var isDelayed = e && e.isDelayed;\r\n var items = that._dataController.items();\r\n if (!e || \"refresh\" === changeType || \"prepend\" === changeType || \"append\" === changeType) {\r\n if (!isDelayed) {\r\n resizeDeferred = that.resize()\r\n }\r\n } else if (\"update\" === changeType) {\r\n if (0 === (null === (_a = e.changeTypes) || void 0 === _a ? void 0 : _a.length)) {\r\n return\r\n }\r\n if ((items.length > 1 || \"insert\" !== e.changeTypes[0]) && !(0 === items.length && \"remove\" === e.changeTypes[0]) && !e.needUpdateDimensions) {\r\n resizeDeferred = new Deferred;\r\n this._waitAsyncTemplates().done(() => {\r\n deferUpdate(() => deferRender(() => deferUpdate(() => {\r\n that._setScrollerSpacing();\r\n that._rowsView.resize();\r\n resizeDeferred.resolve()\r\n })))\r\n }).fail(resizeDeferred.reject)\r\n } else {\r\n resizeDeferred = that.resize()\r\n }\r\n }\r\n if (changeType && \"updateSelection\" !== changeType && \"updateFocusedRow\" !== changeType && \"pageIndex\" !== changeType && !isDelayed) {\r\n when(resizeDeferred).done(() => {\r\n that._setAriaLabel();\r\n that.fireContentReadyAction()\r\n })\r\n }\r\n },\r\n fireContentReadyAction() {\r\n this.component._fireContentReadyAction()\r\n },\r\n _getWidgetAriaLabel: () => \"dxDataGrid-ariaDataGrid\",\r\n _setAriaLabel() {\r\n this.component.setAria(\"label\", messageLocalization.format(this._getWidgetAriaLabel(), this._dataController.totalItemsCount(), this.component.columnCount()), this.component.$element().children(\".\".concat(GRIDBASE_CONTAINER_CLASS)))\r\n },\r\n _getBestFitWidths() {\r\n var _a;\r\n var rowsView = this._rowsView;\r\n var columnHeadersView = this._columnHeadersView;\r\n var widths = rowsView.getColumnWidths();\r\n if (!(null === widths || void 0 === widths ? void 0 : widths.length)) {\r\n var headersTableElement = columnHeadersView.getTableElement();\r\n columnHeadersView.setTableElement(null === (_a = rowsView.getTableElement()) || void 0 === _a ? void 0 : _a.children(\".dx-header\"));\r\n widths = columnHeadersView.getColumnWidths();\r\n columnHeadersView.setTableElement(headersTableElement)\r\n }\r\n return widths\r\n },\r\n _setVisibleWidths(visibleColumns, widths) {\r\n var columnsController = this._columnsController;\r\n columnsController.beginUpdate();\r\n each(visibleColumns, (index, column) => {\r\n var columnId = columnsController.getColumnId(column);\r\n columnsController.columnOption(columnId, \"visibleWidth\", widths[index])\r\n });\r\n columnsController.endUpdate()\r\n },\r\n _toggleBestFitModeForView(view, className, isBestFit) {\r\n if (!view || !view.isVisible()) {\r\n return\r\n }\r\n var $rowsTables = this._rowsView.getTableElements();\r\n var $viewTables = view.getTableElements();\r\n each($rowsTables, (index, tableElement) => {\r\n var $tableBody;\r\n var $rowsTable = $(tableElement);\r\n var $viewTable = $viewTables.eq(index);\r\n if ($viewTable && $viewTable.length) {\r\n if (isBestFit) {\r\n $tableBody = $viewTable.children(\"tbody\").appendTo($rowsTable)\r\n } else {\r\n $tableBody = $rowsTable.children(\".\".concat(className)).appendTo($viewTable)\r\n }\r\n $tableBody.toggleClass(className, isBestFit);\r\n $tableBody.toggleClass(this.addWidgetPrefix(\"best-fit\"), isBestFit)\r\n }\r\n })\r\n },\r\n _toggleBestFitMode(isBestFit) {\r\n var $rowsTable = this._rowsView.getTableElement();\r\n var $rowsFixedTable = this._rowsView.getTableElements().eq(1);\r\n if (!$rowsTable) {\r\n return\r\n }\r\n $rowsTable.css(\"tableLayout\", isBestFit ? \"auto\" : \"fixed\");\r\n $rowsTable.children(\"colgroup\").css(\"display\", isBestFit ? \"none\" : \"\");\r\n each($rowsFixedTable.find(GROUP_ROW_SELECTOR), (idx, item) => {\r\n $(item).css(\"display\", isBestFit ? \"none\" : \"\")\r\n });\r\n $rowsFixedTable.toggleClass(this.addWidgetPrefix(TABLE_FIXED_CLASS), !isBestFit);\r\n this._toggleBestFitModeForView(this._columnHeadersView, \"dx-header\", isBestFit);\r\n this._toggleBestFitModeForView(this._footerView, \"dx-footer\", isBestFit);\r\n if (this._needStretch()) {\r\n $rowsTable.get(0).style.width = isBestFit ? \"auto\" : \"\"\r\n }\r\n },\r\n _toggleContentMinHeight(value) {\r\n var scrollable = this._rowsView.getScrollable();\r\n var $contentElement = this._rowsView._findContentElement();\r\n if (false === (null === scrollable || void 0 === scrollable ? void 0 : scrollable.option(\"useNative\"))) {\r\n $contentElement.css({\r\n minHeight: value ? gridCoreUtils.getContentHeightLimit(browser) : \"\"\r\n })\r\n }\r\n },\r\n _synchronizeColumns() {\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var needBestFit = this._needBestFit();\r\n var hasMinWidth = false;\r\n var resetBestFitMode;\r\n var isColumnWidthsCorrected = false;\r\n var resultWidths = [];\r\n var focusedElement;\r\n var selectionRange;\r\n !needBestFit && each(visibleColumns, (index, column) => {\r\n if (\"auto\" === column.width) {\r\n needBestFit = true;\r\n return false\r\n }\r\n return\r\n });\r\n each(visibleColumns, (index, column) => {\r\n if (column.minWidth) {\r\n hasMinWidth = true;\r\n return false\r\n }\r\n return\r\n });\r\n this._setVisibleWidths(visibleColumns, []);\r\n var $element = this.component.$element();\r\n if (needBestFit) {\r\n focusedElement = domAdapter.getActiveElement($element.get(0));\r\n selectionRange = gridCoreUtils.getSelectionRange(focusedElement);\r\n this._toggleBestFitMode(true);\r\n resetBestFitMode = true\r\n }\r\n this._toggleContentMinHeight(wordWrapEnabled);\r\n if ($element && $element.get(0) && this._maxWidth) {\r\n delete this._maxWidth;\r\n $element[0].style.maxWidth = \"\"\r\n }\r\n deferUpdate(() => {\r\n if (needBestFit) {\r\n resultWidths = this._getBestFitWidths();\r\n each(visibleColumns, (index, column) => {\r\n var columnId = columnsController.getColumnId(column);\r\n columnsController.columnOption(columnId, \"bestFitWidth\", resultWidths[index], true)\r\n })\r\n } else if (hasMinWidth) {\r\n resultWidths = this._getBestFitWidths()\r\n }\r\n each(visibleColumns, (function(index) {\r\n var {\r\n width: width\r\n } = this;\r\n if (\"auto\" !== width) {\r\n if (isDefined(width)) {\r\n resultWidths[index] = isNumeric(width) || isPixelWidth(width) ? parseFloat(width) : width\r\n } else if (!columnAutoWidth) {\r\n resultWidths[index] = void 0\r\n }\r\n }\r\n }));\r\n if (resetBestFitMode) {\r\n this._toggleBestFitMode(false);\r\n resetBestFitMode = false;\r\n if (focusedElement && focusedElement !== domAdapter.getActiveElement()) {\r\n var isFocusOutsideWindow = getBoundingRect(focusedElement).bottom < 0;\r\n if (!isFocusOutsideWindow) {\r\n restoreFocus(focusedElement, selectionRange)\r\n }\r\n }\r\n }\r\n isColumnWidthsCorrected = this._correctColumnWidths(resultWidths, visibleColumns);\r\n if (columnAutoWidth) {\r\n ! function() {\r\n var expandColumnWidth;\r\n each(visibleColumns, (index, column) => {\r\n if (\"groupExpand\" === column.type) {\r\n expandColumnWidth = resultWidths[index]\r\n }\r\n });\r\n each(visibleColumns, (index, column) => {\r\n if (\"groupExpand\" === column.type && expandColumnWidth) {\r\n resultWidths[index] = expandColumnWidth\r\n }\r\n })\r\n }();\r\n if (this._needStretch()) {\r\n this._processStretch(resultWidths, visibleColumns)\r\n }\r\n }\r\n deferRender(() => {\r\n if (needBestFit || isColumnWidthsCorrected) {\r\n this._setVisibleWidths(visibleColumns, resultWidths)\r\n }\r\n if (wordWrapEnabled) {\r\n this._toggleContentMinHeight(false)\r\n }\r\n })\r\n })\r\n },\r\n _needBestFit() {\r\n return this.option(\"columnAutoWidth\")\r\n },\r\n _needStretch() {\r\n return this._columnsController.getVisibleColumns().some(c => \"auto\" === c.width && !c.command)\r\n },\r\n _getAverageColumnsWidth(resultWidths) {\r\n var freeWidth = calculateFreeWidth(this, resultWidths);\r\n var columnCountWithoutWidth = resultWidths.filter(width => void 0 === width).length;\r\n return freeWidth / columnCountWithoutWidth\r\n },\r\n _correctColumnWidths(resultWidths, visibleColumns) {\r\n var that = this;\r\n var i;\r\n var hasPercentWidth = false;\r\n var hasAutoWidth = false;\r\n var isColumnWidthsCorrected = false;\r\n var $element = that.component.$element();\r\n var hasWidth = that._hasWidth;\r\n var _loop = function() {\r\n var index = i;\r\n var column = visibleColumns[index];\r\n var isHiddenColumn = resultWidths[index] === HIDDEN_COLUMNS_WIDTH;\r\n var width = resultWidths[index];\r\n var {\r\n minWidth: minWidth\r\n } = column;\r\n if (minWidth) {\r\n if (void 0 === width) {\r\n var averageColumnsWidth = that._getAverageColumnsWidth(resultWidths);\r\n width = averageColumnsWidth\r\n } else if (isPercentWidth(width)) {\r\n var freeWidth = calculateFreeWidthWithCurrentMinWidth(that, index, minWidth, resultWidths);\r\n if (freeWidth < 0) {\r\n width = -1\r\n }\r\n }\r\n }\r\n var realColumnWidth = that._getRealColumnWidth(index, resultWidths.map((columnWidth, columnIndex) => index === columnIndex ? width : columnWidth));\r\n if (minWidth && !isHiddenColumn && realColumnWidth < minWidth) {\r\n resultWidths[index] = minWidth;\r\n isColumnWidthsCorrected = true;\r\n i = -1\r\n }\r\n if (!isDefined(column.width)) {\r\n hasAutoWidth = true\r\n }\r\n if (isPercentWidth(column.width)) {\r\n hasPercentWidth = true\r\n }\r\n };\r\n for (i = 0; i < visibleColumns.length; i++) {\r\n _loop()\r\n }\r\n if (!hasAutoWidth && resultWidths.length) {\r\n var $rowsViewElement = that._rowsView.element();\r\n var contentWidth = that._rowsView.contentWidth();\r\n var scrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var totalWidth = that._getTotalWidth(resultWidths, contentWidth);\r\n if (totalWidth < contentWidth) {\r\n var lastColumnIndex = gridCoreUtils.getLastResizableColumnIndex(visibleColumns, resultWidths);\r\n if (lastColumnIndex >= 0) {\r\n resultWidths[lastColumnIndex] = \"auto\";\r\n isColumnWidthsCorrected = true;\r\n if (false === hasWidth && !hasPercentWidth) {\r\n var borderWidth = that.option(\"showBorders\") ? Math.ceil(getOuterWidth($rowsViewElement) - getInnerWidth($rowsViewElement)) : 0;\r\n that._maxWidth = totalWidth + scrollbarWidth + borderWidth;\r\n $element.css(\"maxWidth\", that._maxWidth)\r\n }\r\n }\r\n }\r\n }\r\n return isColumnWidthsCorrected\r\n },\r\n _processStretch(resultSizes, visibleColumns) {\r\n var groupSize = this._rowsView.contentWidth();\r\n var tableSize = this._getTotalWidth(resultSizes, groupSize);\r\n var unusedIndexes = {\r\n length: 0\r\n };\r\n if (!resultSizes.length) {\r\n return\r\n }\r\n each(visibleColumns, (function(index) {\r\n if (this.width || resultSizes[index] === HIDDEN_COLUMNS_WIDTH) {\r\n unusedIndexes[index] = true;\r\n unusedIndexes.length++\r\n }\r\n }));\r\n var diff = groupSize - tableSize;\r\n var diffElement = Math.floor(diff / (resultSizes.length - unusedIndexes.length));\r\n var onePixelElementsCount = diff - diffElement * (resultSizes.length - unusedIndexes.length);\r\n if (diff >= 0) {\r\n for (var i = 0; i < resultSizes.length; i++) {\r\n if (unusedIndexes[i]) {\r\n continue\r\n }\r\n resultSizes[i] += diffElement;\r\n if (onePixelElementsCount > 0) {\r\n if (onePixelElementsCount < 1) {\r\n resultSizes[i] += onePixelElementsCount;\r\n onePixelElementsCount = 0\r\n } else {\r\n resultSizes[i]++;\r\n onePixelElementsCount--\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _getRealColumnWidth(columnIndex, columnWidths, groupWidth) {\r\n var ratio = 1;\r\n var width = columnWidths[columnIndex];\r\n if (!isPercentWidth(width)) {\r\n return parseFloat(width)\r\n }\r\n var percentTotalWidth = columnWidths.reduce((sum, width, index) => {\r\n if (!isPercentWidth(width)) {\r\n return sum\r\n }\r\n return sum + parseFloat(width)\r\n }, 0);\r\n var pixelTotalWidth = columnWidths.reduce((sum, width) => {\r\n if (!width || width === HIDDEN_COLUMNS_WIDTH || isPercentWidth(width)) {\r\n return sum\r\n }\r\n return sum + parseFloat(width)\r\n }, 0);\r\n groupWidth = groupWidth || this._rowsView.contentWidth();\r\n var freeSpace = groupWidth - pixelTotalWidth;\r\n var percentTotalWidthInPixel = percentTotalWidth * groupWidth / 100;\r\n if (pixelTotalWidth > 0 && percentTotalWidthInPixel + pixelTotalWidth >= groupWidth) {\r\n ratio = percentTotalWidthInPixel > freeSpace ? freeSpace / percentTotalWidthInPixel : 1\r\n }\r\n return parseFloat(width) * groupWidth * ratio / 100\r\n },\r\n _getTotalWidth(widths, groupWidth) {\r\n var result = 0;\r\n for (var i = 0; i < widths.length; i++) {\r\n var width = widths[i];\r\n if (width && width !== HIDDEN_COLUMNS_WIDTH) {\r\n result += this._getRealColumnWidth(i, widths, groupWidth)\r\n }\r\n }\r\n return Math.ceil(result)\r\n },\r\n _getGroupElement() {\r\n return this.component.$element().children().get(0)\r\n },\r\n updateSize(rootElement) {\r\n var $rootElement = $(rootElement);\r\n var importantMarginClass = this.addWidgetPrefix(IMPORTANT_MARGIN_CLASS);\r\n if (void 0 === this._hasHeight && $rootElement && $rootElement.is(\":visible\") && getWidth($rootElement)) {\r\n var $groupElement = $rootElement.children(\".\".concat(this.getWidgetContainerClass()));\r\n if ($groupElement.length) {\r\n $groupElement.detach()\r\n }\r\n this._hasHeight = !!getHeight($rootElement);\r\n var width = getWidth($rootElement);\r\n $rootElement.addClass(importantMarginClass);\r\n this._hasWidth = getWidth($rootElement) === width;\r\n $rootElement.removeClass(importantMarginClass);\r\n if ($groupElement.length) {\r\n $groupElement.appendTo($rootElement)\r\n }\r\n }\r\n },\r\n publicMethods: () => [\"resize\", \"updateDimensions\"],\r\n _waitAsyncTemplates() {\r\n var _a, _b, _c;\r\n return when(null === (_a = this._columnHeadersView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true), null === (_b = this._rowsView) || void 0 === _b ? void 0 : _b.waitAsyncTemplates(true), null === (_c = this._footerView) || void 0 === _c ? void 0 : _c.waitAsyncTemplates(true))\r\n },\r\n resize() {\r\n if (this.component._requireResize) {\r\n return\r\n }\r\n var d = new Deferred;\r\n this._waitAsyncTemplates().done(() => {\r\n when(this.updateDimensions()).done(d.resolve).fail(d.reject)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n updateDimensions(checkSize) {\r\n var that = this;\r\n that._initPostRenderHandlers();\r\n if (!that._checkSize(checkSize)) {\r\n return\r\n }\r\n var prevResult = that._resizeDeferred;\r\n var result = that._resizeDeferred = new Deferred;\r\n when(prevResult).always(() => {\r\n deferRender(() => {\r\n if (that._dataController.isLoaded()) {\r\n that._synchronizeColumns()\r\n }\r\n that._resetGroupElementHeight();\r\n deferUpdate(() => {\r\n deferRender(() => {\r\n deferUpdate(() => {\r\n that._updateDimensionsCore()\r\n })\r\n })\r\n })\r\n }).done(result.resolve).fail(result.reject)\r\n });\r\n return result.promise()\r\n },\r\n _resetGroupElementHeight() {\r\n var groupElement = this._getGroupElement();\r\n var scrollable = this._rowsView.getScrollable();\r\n if (groupElement && groupElement.style.height && (!scrollable || !scrollable.scrollTop())) {\r\n groupElement.style.height = \"\"\r\n }\r\n },\r\n _checkSize(checkSize) {\r\n var $rootElement = this.component.$element();\r\n if (checkSize && (this._lastWidth === getWidth($rootElement) && this._lastHeight === getHeight($rootElement) && this._devicePixelRatio === getWindow().devicePixelRatio || !$rootElement.is(\":visible\"))) {\r\n return false\r\n }\r\n return true\r\n },\r\n _setScrollerSpacingCore() {\r\n var that = this;\r\n var vScrollbarWidth = that._rowsView.getScrollbarWidth();\r\n var hScrollbarWidth = that._rowsView.getScrollbarWidth(true);\r\n deferRender(() => {\r\n that._columnHeadersView && that._columnHeadersView.setScrollerSpacing(vScrollbarWidth);\r\n that._footerView && that._footerView.setScrollerSpacing(vScrollbarWidth);\r\n that._rowsView.setScrollerSpacing(vScrollbarWidth, hScrollbarWidth)\r\n })\r\n },\r\n _setScrollerSpacing() {\r\n var scrollable = this._rowsView.getScrollable();\r\n var isNativeScrolling = true === this.option(\"scrolling.useNative\");\r\n if (!scrollable || isNativeScrolling) {\r\n deferRender(() => {\r\n deferUpdate(() => {\r\n this._setScrollerSpacingCore()\r\n })\r\n })\r\n } else {\r\n this._setScrollerSpacingCore()\r\n }\r\n },\r\n _updateDimensionsCore() {\r\n var that = this;\r\n var dataController = that._dataController;\r\n var editorFactory = that.getController(\"editorFactory\");\r\n var rowsView = that._rowsView;\r\n var $rootElement = that.component.$element();\r\n var groupElement = this._getGroupElement();\r\n var rootElementHeight = getHeight($rootElement);\r\n var height = that.option(\"height\") || $rootElement.get(0).style.height;\r\n var isHeightSpecified = !!height && \"auto\" !== height;\r\n var maxHeight = parseInt($rootElement.css(\"maxHeight\"));\r\n var maxHeightHappened = maxHeight && rootElementHeight >= maxHeight;\r\n var isMaxHeightApplied = groupElement && groupElement.scrollHeight === groupElement.offsetHeight;\r\n that.updateSize($rootElement);\r\n deferRender(() => {\r\n var hasHeight = that._hasHeight || !!maxHeight || isHeightSpecified;\r\n rowsView.hasHeight(hasHeight);\r\n if (maxHeightHappened && !isMaxHeightApplied) {\r\n $(groupElement).css(\"height\", maxHeight)\r\n }\r\n if (!dataController.isLoaded()) {\r\n rowsView.setLoading(dataController.isLoading());\r\n return\r\n }\r\n deferUpdate(() => {\r\n that._updateLastSizes($rootElement);\r\n that._setScrollerSpacing();\r\n each(VIEW_NAMES, (index, viewName) => {\r\n var view = that.getView(viewName);\r\n if (view) {\r\n view.resize()\r\n }\r\n });\r\n editorFactory && editorFactory.resize()\r\n })\r\n })\r\n },\r\n _updateLastSizes($rootElement) {\r\n this._lastWidth = getWidth($rootElement);\r\n this._lastHeight = getHeight($rootElement);\r\n this._devicePixelRatio = getWindow().devicePixelRatio\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.component._renderDimensions();\r\n this.resize();\r\n case \"renderAsync\":\r\n args.handled = true;\r\n return;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n init() {\r\n this._dataController = this.getController(\"data\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._columnHeadersView = this.getView(\"columnHeadersView\");\r\n this._footerView = this.getView(\"footerView\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n }\r\n};\r\nvar ResizingController = modules.ViewController.inherit(resizingControllerMembers);\r\nvar SynchronizeScrollingController = modules.ViewController.inherit({\r\n _scrollChangedHandler(views, pos, viewName) {\r\n for (var j = 0; j < views.length; j++) {\r\n if (views[j] && views[j].name !== viewName) {\r\n views[j].scrollTo({\r\n left: pos.left,\r\n top: pos.top\r\n })\r\n }\r\n }\r\n },\r\n init() {\r\n var views = [this.getView(\"columnHeadersView\"), this.getView(\"footerView\"), this.getView(\"rowsView\")];\r\n for (var i = 0; i < views.length; i++) {\r\n var view = views[i];\r\n if (view) {\r\n view.scrollChanged.add(this._scrollChangedHandler.bind(this, views))\r\n }\r\n }\r\n }\r\n});\r\nvar GridView = modules.View.inherit({\r\n _endUpdateCore() {\r\n if (this.component._requireResize) {\r\n this.component._requireResize = false;\r\n this._resizingController.resize()\r\n }\r\n },\r\n init() {\r\n this._resizingController = this.getController(\"resizing\");\r\n this._dataController = this.getController(\"data\")\r\n },\r\n getView(name) {\r\n return this.component._views[name]\r\n },\r\n element() {\r\n return this._groupElement\r\n },\r\n optionChanged(args) {\r\n if (isDefined(this._groupElement) && \"showBorders\" === args.name) {\r\n this._groupElement.toggleClass(this.addWidgetPrefix(BORDERS_CLASS), !!args.value);\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n },\r\n _renderViews($groupElement) {\r\n var that = this;\r\n each(VIEW_NAMES, (index, viewName) => {\r\n var view = that.getView(viewName);\r\n if (view) {\r\n view.render($groupElement)\r\n }\r\n })\r\n },\r\n _getTableRoleName: () => \"group\",\r\n render($rootElement) {\r\n var isFirstRender = !this._groupElement;\r\n var $groupElement = this._groupElement || $(\"<div>\").addClass(this.getWidgetContainerClass());\r\n $groupElement.addClass(GRIDBASE_CONTAINER_CLASS);\r\n $groupElement.toggleClass(this.addWidgetPrefix(BORDERS_CLASS), !!this.option(\"showBorders\"));\r\n this.setAria(\"role\", \"presentation\", $rootElement);\r\n this.component.setAria(\"role\", this._getTableRoleName(), $groupElement);\r\n this._rootElement = $rootElement || this._rootElement;\r\n if (isFirstRender) {\r\n this._groupElement = $groupElement;\r\n hasWindow() && this.getController(\"resizing\").updateSize($rootElement);\r\n $groupElement.appendTo($rootElement)\r\n }\r\n this._renderViews($groupElement)\r\n },\r\n update() {\r\n var $rootElement = this._rootElement;\r\n var $groupElement = this._groupElement;\r\n var resizingController = this.getController(\"resizing\");\r\n if ($rootElement && $groupElement) {\r\n resizingController.resize();\r\n if (this._dataController.isLoaded()) {\r\n this._resizingController.fireContentReadyAction()\r\n }\r\n }\r\n }\r\n});\r\nexport var gridViewModule = {\r\n defaultOptions: () => ({\r\n showBorders: false,\r\n renderAsync: false\r\n }),\r\n controllers: {\r\n resizing: ResizingController,\r\n synchronizeScrolling: SynchronizeScrollingController\r\n },\r\n views: {\r\n gridView: GridView\r\n },\r\n VIEW_NAMES: VIEW_NAMES\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/grid_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n gridViewModule\r\n} from \"../../../grids/grid_core/views/m_grid_view\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"gridView\", gridViewModule);\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nvar BUTTON_GROUP_CLASS = \"dx-buttongroup\";\r\nvar TOOLBAR_ITEMS = [\"dxAutocomplete\", \"dxButton\", \"dxCheckBox\", \"dxDateBox\", \"dxMenu\", \"dxSelectBox\", \"dxTabs\", \"dxTextBox\", \"dxButtonGroup\", \"dxDropDownButton\"];\r\nvar getItemInstance = function($element) {\r\n var itemData = $element.data && $element.data();\r\n var dxComponents = itemData && itemData.dxComponents;\r\n var widgetName = dxComponents && dxComponents[0];\r\n return widgetName && itemData[widgetName]\r\n};\r\nexport function toggleItemFocusableElementTabIndex(context, item) {\r\n var _itemData$options;\r\n if (!context) {\r\n return\r\n }\r\n var $item = context._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n var itemData = context._getItemData($item);\r\n var isItemNotFocusable = !!(null !== (_itemData$options = itemData.options) && void 0 !== _itemData$options && _itemData$options.disabled || itemData.disabled || context.option(\"disabled\"));\r\n var {\r\n widget: widget\r\n } = itemData;\r\n if (widget && -1 !== TOOLBAR_ITEMS.indexOf(widget)) {\r\n var $widget = $item.find(widget.toLowerCase().replace(\"dx\", \".dx-\"));\r\n if ($widget.length) {\r\n var _itemInstance$_focusT, _itemData$options2;\r\n var itemInstance = getItemInstance($widget);\r\n if (!itemInstance) {\r\n return\r\n }\r\n var $focusTarget = null === (_itemInstance$_focusT = itemInstance._focusTarget) || void 0 === _itemInstance$_focusT ? void 0 : _itemInstance$_focusT.call(itemInstance);\r\n if (\"dxDropDownButton\" === widget) {\r\n $focusTarget = $focusTarget && $focusTarget.find(\".\".concat(BUTTON_GROUP_CLASS))\r\n } else {\r\n var _$focusTarget;\r\n $focusTarget = null !== (_$focusTarget = $focusTarget) && void 0 !== _$focusTarget ? _$focusTarget : $(itemInstance.element())\r\n }\r\n var tabIndex = null === (_itemData$options2 = itemData.options) || void 0 === _itemData$options2 ? void 0 : _itemData$options2.tabIndex;\r\n if (isItemNotFocusable) {\r\n $focusTarget.attr(\"tabIndex\", -1)\r\n } else {\r\n $focusTarget.attr(\"tabIndex\", null !== tabIndex && void 0 !== tabIndex ? tabIndex : 0)\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/strategy/toolbar.multiline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../../core/utils/size\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nexport class MultiLineStrategy {\r\n constructor(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n _initMarkup() {}\r\n _updateMenuVisibility() {}\r\n _renderMenuItems() {}\r\n _renderItem() {}\r\n _getMenuItems() {}\r\n _getToolbarItems() {\r\n var _this$_toolbar$option;\r\n return null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : []\r\n }\r\n _getItemsWidth() {\r\n return this._toolbar._getSummaryItemsWidth(this._toolbar.itemElements(), true)\r\n }\r\n _arrangeItems() {\r\n var $label = this._toolbar._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n if (!$label.length) {\r\n return\r\n }\r\n var elementWidth = getWidth(this._toolbar.$element());\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", elementWidth - labelPaddings)\r\n }\r\n _hideOverflowItems() {}\r\n _dimensionChanged() {}\r\n _itemOptionChanged() {}\r\n _optionChanged() {}\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/internal/ui.toolbar.menu.list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n ListBase\r\n} from \"../../list/ui.list.base\";\r\nvar TOOLBAR_MENU_ACTION_CLASS = \"dx-toolbar-menu-action\";\r\nvar TOOLBAR_HIDDEN_BUTTON_CLASS = \"dx-toolbar-hidden-button\";\r\nvar TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS = \"dx-toolbar-hidden-button-group\";\r\nvar TOOLBAR_MENU_SECTION_CLASS = \"dx-toolbar-menu-section\";\r\nvar TOOLBAR_MENU_CUSTOM_CLASS = \"dx-toolbar-menu-custom\";\r\nvar TOOLBAR_MENU_LAST_SECTION_CLASS = \"dx-toolbar-menu-last-section\";\r\nvar SCROLLVIEW_CONTENT_CLASS = \"dx-scrollview-content\";\r\nexport default class ToolbarMenuList extends ListBase {\r\n _init() {\r\n super._init();\r\n this._activeStateUnit = \".\".concat(TOOLBAR_MENU_ACTION_CLASS, \":not(.\").concat(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS, \")\")\r\n }\r\n _initMarkup() {\r\n this._renderSections();\r\n super._initMarkup();\r\n this._setMenuRole()\r\n }\r\n _getSections() {\r\n return this._itemContainer().children()\r\n }\r\n _itemElements() {\r\n return this._getSections().children(this._itemSelector())\r\n }\r\n _renderSections() {\r\n var $container = this._itemContainer();\r\n each([\"before\", \"center\", \"after\", \"menu\"], (_, section) => {\r\n var sectionName = \"_$\".concat(section, \"Section\");\r\n if (!this[sectionName]) {\r\n this[sectionName] = $(\"<div>\").addClass(TOOLBAR_MENU_SECTION_CLASS)\r\n }\r\n this[sectionName].appendTo($container)\r\n })\r\n }\r\n _renderItems() {\r\n super._renderItems.apply(this, arguments);\r\n this._updateSections()\r\n }\r\n _setMenuRole() {\r\n var $menuContainer = this.$element().find(\".\".concat(SCROLLVIEW_CONTENT_CLASS));\r\n $menuContainer.attr(\"role\", \"menu\")\r\n }\r\n _updateSections() {\r\n var $sections = this.$element().find(\".\".concat(TOOLBAR_MENU_SECTION_CLASS));\r\n $sections.removeClass(TOOLBAR_MENU_LAST_SECTION_CLASS);\r\n $sections.not(\":empty\").eq(-1).addClass(TOOLBAR_MENU_LAST_SECTION_CLASS)\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"menu\";\r\n var $container = this[\"_$\".concat(location, \"Section\")];\r\n var itemElement = super._renderItem(index, item, $container, $after);\r\n if (this._getItemTemplateName({\r\n itemData: item\r\n })) {\r\n itemElement.addClass(TOOLBAR_MENU_CUSTOM_CLASS)\r\n }\r\n if (\"menu\" === location || \"dxButton\" === item.widget || \"dxButtonGroup\" === item.widget || item.isAction) {\r\n itemElement.addClass(TOOLBAR_MENU_ACTION_CLASS)\r\n }\r\n if (\"dxButton\" === item.widget) {\r\n itemElement.addClass(TOOLBAR_HIDDEN_BUTTON_CLASS)\r\n }\r\n if (\"dxButtonGroup\" === item.widget) {\r\n itemElement.addClass(TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS)\r\n }\r\n itemElement.addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _getItemTemplateName(args) {\r\n var template = super._getItemTemplateName(args);\r\n var data = args.itemData;\r\n var menuTemplate = data && data.menuItemTemplate;\r\n return menuTemplate || template\r\n }\r\n _dataSourceOptions() {\r\n return {\r\n paginate: false\r\n }\r\n }\r\n _itemClickHandler(e, args, config) {\r\n if ($(e.target).closest(\".\".concat(TOOLBAR_MENU_ACTION_CLASS)).length) {\r\n super._itemClickHandler(e, args, config)\r\n }\r\n }\r\n _clean() {\r\n this._getSections().empty();\r\n super._clean()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.full.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../toolbar\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport default class PopupFull extends Popup {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n preventScrollEvents: false\r\n })\r\n }\r\n _getToolbarName() {\r\n return \"dxToolbar\"\r\n }\r\n}\r\nPopupFull.defaultOptions = function(rule) {\r\n Popup.defaultOptions(rule)\r\n};\r\nregisterComponent(\"dxPopup\", PopupFull);\r\n","/**\r\n * DevExtreme (esm/ui/popup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Popup from \"./popup/ui.popup.full\";\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/internal/ui.toolbar.menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport devices from \"../../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport Widget from \"../../widget/ui.widget\";\r\nimport Button from \"../../button\";\r\nimport ToolbarMenuList from \"./ui.toolbar.menu.list\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../../core/templates/child_default_template\";\r\nimport {\r\n toggleItemFocusableElementTabIndex\r\n} from \"../ui.toolbar.utils\";\r\nimport {\r\n getWindow\r\n} from \"../../../core/utils/window\";\r\nimport \"../../popup\";\r\nvar DROP_DOWN_MENU_CLASS = \"dx-dropdownmenu\";\r\nvar DROP_DOWN_MENU_POPUP_CLASS = \"dx-dropdownmenu-popup\";\r\nvar DROP_DOWN_MENU_POPUP_WRAPPER_CLASS = \"dx-dropdownmenu-popup-wrapper\";\r\nvar DROP_DOWN_MENU_LIST_CLASS = \"dx-dropdownmenu-list\";\r\nvar DROP_DOWN_MENU_BUTTON_CLASS = \"dx-dropdownmenu-button\";\r\nvar POPUP_BOUNDARY_VERTICAL_OFFSET = 10;\r\nvar POPUP_VERTICAL_OFFSET = 3;\r\nexport default class DropDownMenu extends Widget {\r\n _supportedKeys() {\r\n var extension = {};\r\n if (!this.option(\"opened\") || !this._list.option(\"focusedElement\")) {\r\n extension = this._button._supportedKeys()\r\n }\r\n return extend(super._supportedKeys(), extension, {\r\n tab: function() {\r\n this._popup && this._popup.hide()\r\n }\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n items: [],\r\n onItemClick: null,\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n onButtonClick: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true,\r\n opened: false,\r\n onItemRendered: null,\r\n closeOnClick: true,\r\n useInkRipple: false,\r\n container: void 0,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n to: 0\r\n }\r\n }\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useInkRipple: true,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 0\r\n },\r\n to: {\r\n scale: 1\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 200,\r\n from: {\r\n scale: 1\r\n },\r\n to: {\r\n scale: 0\r\n }\r\n }\r\n }\r\n }\r\n }])\r\n }\r\n _init() {\r\n super._init();\r\n this.$element().addClass(DROP_DOWN_MENU_CLASS);\r\n this._initItemClickAction();\r\n this._initButtonClickAction()\r\n }\r\n _initItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n }\r\n _initButtonClickAction() {\r\n this._buttonClickAction = this._createActionByOption(\"onButtonClick\")\r\n }\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new ChildDefaultTemplate(\"content\")\r\n });\r\n super._initTemplates()\r\n }\r\n _initMarkup() {\r\n this._renderButton();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this.setAria({\r\n haspopup: true,\r\n expanded: this.option(\"opened\")\r\n })\r\n }\r\n _renderContentImpl() {\r\n if (this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n }\r\n _clean() {\r\n this._cleanFocusState();\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove();\r\n delete this._list;\r\n delete this._popup\r\n }\r\n _renderButton() {\r\n var $button = this.$element().addClass(DROP_DOWN_MENU_BUTTON_CLASS);\r\n this._button = this._createComponent($button, Button, {\r\n icon: \"overflow\",\r\n template: \"content\",\r\n useInkRipple: this.option(\"useInkRipple\"),\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n onClick: e => {\r\n this.option(\"opened\", !this.option(\"opened\"));\r\n this._buttonClickAction(e)\r\n }\r\n })\r\n }\r\n _toggleActiveState($element, value, e) {\r\n this._button._toggleActiveState($element, value, e)\r\n }\r\n _toggleMenuVisibility(opened) {\r\n var state = null !== opened && void 0 !== opened ? opened : !this._popup.option(\"visible\");\r\n if (opened) {\r\n this._renderPopup()\r\n }\r\n this._popup.toggle(state);\r\n this.setAria(\"expanded\", state)\r\n }\r\n _renderPopup() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"<div>\").appendTo(this.$element());\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n container: container,\r\n animation: animation\r\n } = this.option();\r\n this._popup = this._createComponent(this._$popup, \"dxPopup\", {\r\n onInitialized(_ref) {\r\n var {\r\n component: component\r\n } = _ref;\r\n component.$wrapper().addClass(DROP_DOWN_MENU_POPUP_WRAPPER_CLASS).addClass(DROP_DOWN_MENU_POPUP_CLASS)\r\n },\r\n deferRendering: false,\r\n contentTemplate: contentElement => this._renderList(contentElement),\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: () => this._getMaxHeight(),\r\n position: {\r\n my: \"top \".concat(rtlEnabled ? \"left\" : \"right\"),\r\n at: \"bottom \".concat(rtlEnabled ? \"left\" : \"right\"),\r\n collision: \"fit flip\",\r\n offset: {\r\n v: POPUP_VERTICAL_OFFSET\r\n },\r\n of: this.$element()\r\n },\r\n animation: animation,\r\n onOptionChanged: _ref2 => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref2;\r\n if (\"visible\" === name) {\r\n this.option(\"opened\", value)\r\n }\r\n },\r\n container: container,\r\n autoResizeEnabled: false,\r\n height: \"auto\",\r\n width: \"auto\",\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n hideOnParentScroll: true,\r\n shading: false,\r\n dragEnabled: false,\r\n showTitle: false,\r\n fullScreen: false,\r\n _fixWrapperPosition: true\r\n })\r\n }\r\n _getMaxHeight() {\r\n var $element = this.$element();\r\n var offsetTop = $element.offset().top;\r\n var windowHeight = getOuterHeight(getWindow());\r\n var maxHeight = Math.max(offsetTop, windowHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(windowHeight, maxHeight - POPUP_VERTICAL_OFFSET - POPUP_BOUNDARY_VERTICAL_OFFSET)\r\n }\r\n _closeOutsideDropDownHandler(e) {\r\n var isOutsideClick = !$(e.target).closest(this.$element()).length;\r\n return isOutsideClick\r\n }\r\n _renderList(contentElement) {\r\n var $content = $(contentElement);\r\n $content.addClass(DROP_DOWN_MENU_LIST_CLASS);\r\n this._list = this._createComponent($content, ToolbarMenuList, {\r\n dataSource: this._getListDataSource(),\r\n pageLoadMode: \"scrollBottom\",\r\n indicateLoading: false,\r\n noDataText: \"\",\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n onItemClick: e => {\r\n if (this.option(\"closeOnClick\")) {\r\n this.option(\"opened\", false)\r\n }\r\n this._itemClickAction(e)\r\n },\r\n tabIndex: -1,\r\n focusStateEnabled: false,\r\n activeStateEnabled: true,\r\n onItemRendered: this.option(\"onItemRendered\"),\r\n _itemAttributes: {\r\n role: \"menuitem\"\r\n }\r\n })\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n var _this$_list;\r\n null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list._itemOptionChanged(item, property, value);\r\n toggleItemFocusableElementTabIndex(this._list, item)\r\n }\r\n _getListDataSource() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"dataSource\")) && void 0 !== _this$option ? _this$option : this.option(\"items\")\r\n }\r\n _setListDataSource() {\r\n var _this$_list2;\r\n null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option(\"dataSource\", this._getListDataSource());\r\n delete this._deferRendering\r\n }\r\n _getKeyboardListeners() {\r\n return super._getKeyboardListeners().concat([this._list])\r\n }\r\n _toggleVisibility(visible) {\r\n super._toggleVisibility(visible);\r\n this._button.option(\"visible\", visible)\r\n }\r\n _optionChanged(args) {\r\n var _this$_list3, _this$_list4, _this$_list5;\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"items\":\r\n case \"dataSource\":\r\n if (!this.option(\"opened\")) {\r\n this._deferRendering = true\r\n } else {\r\n this._setListDataSource()\r\n }\r\n break;\r\n case \"itemTemplate\":\r\n null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.option(name, this._getTemplate(value));\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._buttonClickAction();\r\n break;\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"focusStateEnabled\":\r\n null === (_this$_list4 = this._list) || void 0 === _this$_list4 ? void 0 : _this$_list4.option(name, value);\r\n super._optionChanged(args);\r\n break;\r\n case \"onItemRendered\":\r\n null === (_this$_list5 = this._list) || void 0 === _this$_list5 ? void 0 : _this$_list5.option(name, value);\r\n break;\r\n case \"opened\":\r\n if (this._deferRendering) {\r\n this._setListDataSource()\r\n }\r\n this._toggleMenuVisibility(value);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n case \"closeOnClick\":\r\n break;\r\n case \"container\":\r\n this._popup && this._popup.option(name, value);\r\n break;\r\n case \"disabled\":\r\n if (this._list) {\r\n this._updateFocusableItemsTabIndex()\r\n }\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _updateFocusableItemsTabIndex() {\r\n this.option(\"items\").forEach(item => toggleItemFocusableElementTabIndex(this._list, item))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/strategy/toolbar.singleline.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../../core/utils/size\";\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n grep,\r\n deferRender\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport DropDownMenu from \"../internal/ui.toolbar.menu\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS = \"dx-toolbar-menu-container\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_AUTO_HIDE_ITEM_CLASS = \"dx-toolbar-item-auto-hide\";\r\nvar TOOLBAR_HIDDEN_ITEM = \"dx-toolbar-item-invisible\";\r\nexport class SingleLineStrategy {\r\n constructor(toolbar) {\r\n this._toolbar = toolbar\r\n }\r\n _initMarkup() {\r\n deferRender(() => {\r\n this._renderOverflowMenu();\r\n this._renderMenuItems()\r\n })\r\n }\r\n _renderOverflowMenu() {\r\n if (!this._hasVisibleMenuItems()) {\r\n return\r\n }\r\n this._renderMenuButtonContainer();\r\n var $menu = $(\"<div>\").appendTo(this._overflowMenuContainer());\r\n var itemClickAction = this._toolbar._createActionByOption(\"onItemClick\");\r\n var menuItemTemplate = this._toolbar._getTemplateByOption(\"menuItemTemplate\");\r\n this._menu = this._toolbar._createComponent($menu, DropDownMenu, {\r\n disabled: this._toolbar.option(\"disabled\"),\r\n itemTemplate: () => menuItemTemplate,\r\n onItemClick: e => {\r\n itemClickAction(e)\r\n },\r\n container: this._toolbar.option(\"menuContainer\"),\r\n onOptionChanged: _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (\"opened\" === name) {\r\n this._toolbar.option(\"overflowMenuVisible\", value)\r\n }\r\n if (\"items\" === name) {\r\n this._updateMenuVisibility(value)\r\n }\r\n }\r\n })\r\n }\r\n renderMenuItems() {\r\n if (!this._menu) {\r\n this._renderOverflowMenu()\r\n }\r\n this._menu && this._menu.option(\"items\", this._getMenuItems());\r\n if (this._menu && !this._menu.option(\"items\").length) {\r\n this._menu.option(\"opened\", false)\r\n }\r\n }\r\n _renderMenuButtonContainer() {\r\n this._$overflowMenuContainer = $(\"<div>\").appendTo(this._toolbar._$afterSection).addClass(TOOLBAR_BUTTON_CLASS).addClass(TOOLBAR_DROP_DOWN_MENU_CONTAINER_CLASS)\r\n }\r\n _overflowMenuContainer() {\r\n return this._$overflowMenuContainer\r\n }\r\n _updateMenuVisibility(menuItems) {\r\n var items = null !== menuItems && void 0 !== menuItems ? menuItems : this._getMenuItems();\r\n var isMenuVisible = items.length && this._hasVisibleMenuItems(items);\r\n this._toggleMenuVisibility(isMenuVisible)\r\n }\r\n _toggleMenuVisibility(value) {\r\n if (!this._overflowMenuContainer()) {\r\n return\r\n }\r\n this._overflowMenuContainer().toggleClass(INVISIBLE_STATE_CLASS, !value)\r\n }\r\n _renderMenuItems() {\r\n deferRender(() => {\r\n this.renderMenuItems()\r\n })\r\n }\r\n _dimensionChanged() {\r\n this.renderMenuItems()\r\n }\r\n _getToolbarItems() {\r\n var _this$_toolbar$option;\r\n return grep(null !== (_this$_toolbar$option = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option ? _this$_toolbar$option : [], item => !this._toolbar._isMenuItem(item))\r\n }\r\n _getMenuItems() {\r\n var _this$_toolbar$option2, _this$_restoreItems;\r\n var menuItems = grep(null !== (_this$_toolbar$option2 = this._toolbar.option(\"items\")) && void 0 !== _this$_toolbar$option2 ? _this$_toolbar$option2 : [], item => this._toolbar._isMenuItem(item));\r\n var $hiddenItems = this._toolbar._itemContainer().children(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS, \".\").concat(TOOLBAR_HIDDEN_ITEM)).not(\".\".concat(INVISIBLE_STATE_CLASS));\r\n this._restoreItems = null !== (_this$_restoreItems = this._restoreItems) && void 0 !== _this$_restoreItems ? _this$_restoreItems : [];\r\n var overflowItems = [].slice.call($hiddenItems).map(item => {\r\n var itemData = this._toolbar._getItemData(item);\r\n var $itemContainer = $(item);\r\n var $itemMarkup = $itemContainer.children();\r\n return extend({\r\n menuItemTemplate: () => {\r\n this._restoreItems.push({\r\n container: $itemContainer,\r\n item: $itemMarkup\r\n });\r\n var $container = $(\"<div>\").addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS);\r\n return $container.append($itemMarkup)\r\n }\r\n }, itemData)\r\n });\r\n return [...overflowItems, ...menuItems]\r\n }\r\n _hasVisibleMenuItems(items) {\r\n var menuItems = null !== items && void 0 !== items ? items : this._toolbar.option(\"items\");\r\n var result = false;\r\n var optionGetter = compileGetter(\"visible\");\r\n var overflowGetter = compileGetter(\"locateInMenu\");\r\n each(menuItems, (function(index, item) {\r\n var itemVisible = optionGetter(item, {\r\n functionsAsIs: true\r\n });\r\n var itemOverflow = overflowGetter(item, {\r\n functionsAsIs: true\r\n });\r\n if (false !== itemVisible && (\"auto\" === itemOverflow || \"always\" === itemOverflow) || \"menu\" === item.location) {\r\n result = true\r\n }\r\n }));\r\n return result\r\n }\r\n _arrangeItems() {\r\n var _this$_restoreItems2;\r\n this._toolbar._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n each(null !== (_this$_restoreItems2 = this._restoreItems) && void 0 !== _this$_restoreItems2 ? _this$_restoreItems2 : [], (function(_, obj) {\r\n $(obj.container).append(obj.item)\r\n }));\r\n this._restoreItems = [];\r\n var elementWidth = getWidth(this._toolbar.$element());\r\n this._hideOverflowItems(elementWidth);\r\n return elementWidth\r\n }\r\n _hideOverflowItems(elementWidth) {\r\n var _elementWidth;\r\n var overflowItems = this._toolbar.$element().find(\".\".concat(TOOLBAR_AUTO_HIDE_ITEM_CLASS));\r\n if (!overflowItems.length) {\r\n return\r\n }\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this._toolbar.$element());\r\n $(overflowItems).removeClass(TOOLBAR_HIDDEN_ITEM);\r\n var itemsWidth = this._getItemsWidth();\r\n while (overflowItems.length && elementWidth < itemsWidth) {\r\n var $item = overflowItems.eq(-1);\r\n itemsWidth -= getOuterWidth($item);\r\n $item.addClass(TOOLBAR_HIDDEN_ITEM);\r\n overflowItems.splice(-1, 1)\r\n }\r\n }\r\n _getItemsWidth() {\r\n return this._toolbar._getSummaryItemsWidth([this._toolbar._$beforeSection, this._toolbar._$centerSection, this._toolbar._$afterSection])\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n if (this._toolbar._isMenuItem(item)) {\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n var _this$_menu;\r\n null === (_this$_menu = this._menu) || void 0 === _this$_menu ? void 0 : _this$_menu._itemOptionChanged(item, property, value);\r\n return\r\n }\r\n }\r\n this.renderMenuItems()\r\n }\r\n _renderItem(item, itemElement) {\r\n if (\"auto\" === item.locateInMenu) {\r\n itemElement.addClass(TOOLBAR_AUTO_HIDE_ITEM_CLASS)\r\n }\r\n }\r\n _optionChanged(name, value) {\r\n var _this$_menu2, _this$_menu3, _this$_menu4, _this$_menu5, _this$_menu6;\r\n switch (name) {\r\n case \"disabled\":\r\n null === (_this$_menu2 = this._menu) || void 0 === _this$_menu2 ? void 0 : _this$_menu2.option(name, value);\r\n break;\r\n case \"overflowMenuVisible\":\r\n null === (_this$_menu3 = this._menu) || void 0 === _this$_menu3 ? void 0 : _this$_menu3.option(\"opened\", value);\r\n break;\r\n case \"onItemClick\":\r\n null === (_this$_menu4 = this._menu) || void 0 === _this$_menu4 ? void 0 : _this$_menu4.option(name, value);\r\n break;\r\n case \"menuContainer\":\r\n null === (_this$_menu5 = this._menu) || void 0 === _this$_menu5 ? void 0 : _this$_menu5.option(\"container\", value);\r\n break;\r\n case \"menuItemTemplate\":\r\n null === (_this$_menu6 = this._menu) || void 0 === _this$_menu6 ? void 0 : _this$_menu6.option(\"itemTemplate\", value)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ToolbarBase from \"./ui.toolbar.base\";\r\nimport {\r\n toggleItemFocusableElementTabIndex\r\n} from \"./ui.toolbar.utils\";\r\nimport {\r\n MultiLineStrategy\r\n} from \"./strategy/toolbar.multiline\";\r\nimport {\r\n SingleLineStrategy\r\n} from \"./strategy/toolbar.singleline\";\r\nvar TOOLBAR_MULTILINE_CLASS = \"dx-toolbar-multiline\";\r\nvar TOOLBAR_AUTO_HIDE_TEXT_CLASS = \"dx-toolbar-text-auto-hide\";\r\nclass Toolbar extends ToolbarBase {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n menuItemTemplate: \"menuItem\",\r\n menuContainer: void 0,\r\n overflowMenuVisible: false,\r\n multiline: false\r\n })\r\n }\r\n _isMultiline() {\r\n return this.option(\"multiline\")\r\n }\r\n _dimensionChanged(dimension) {\r\n if (\"height\" === dimension) {\r\n return\r\n }\r\n super._dimensionChanged();\r\n this._layoutStrategy._dimensionChanged()\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this._updateFocusableItemsTabIndex();\r\n this._layoutStrategy._initMarkup()\r\n }\r\n _renderToolbar() {\r\n super._renderToolbar();\r\n this._renderLayoutStrategy()\r\n }\r\n _itemContainer() {\r\n if (this._isMultiline()) {\r\n return this._$toolbarItemsContainer\r\n }\r\n return super._itemContainer()\r\n }\r\n _renderLayoutStrategy() {\r\n this.$element().toggleClass(TOOLBAR_MULTILINE_CLASS, this._isMultiline());\r\n this._layoutStrategy = this._isMultiline() ? new MultiLineStrategy(this) : new SingleLineStrategy(this)\r\n }\r\n _renderSections() {\r\n if (this._isMultiline()) {\r\n return\r\n }\r\n return super._renderSections()\r\n }\r\n _postProcessRenderItems() {\r\n this._layoutStrategy._hideOverflowItems();\r\n this._layoutStrategy._updateMenuVisibility();\r\n super._postProcessRenderItems();\r\n this._layoutStrategy._renderMenuItems()\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var itemElement = super._renderItem(index, item, itemContainer, $after);\r\n this._layoutStrategy._renderItem(item, itemElement);\r\n var {\r\n widget: widget,\r\n showText: showText\r\n } = item;\r\n if (\"dxButton\" === widget && \"inMenu\" === showText) {\r\n itemElement.toggleClass(TOOLBAR_AUTO_HIDE_TEXT_CLASS)\r\n }\r\n return itemElement\r\n }\r\n _getItemsWidth() {\r\n return this._layoutStrategy._getItemsWidth()\r\n }\r\n _getMenuItems() {\r\n return this._layoutStrategy._getMenuItems()\r\n }\r\n _getToolbarItems() {\r\n return this._layoutStrategy._getToolbarItems()\r\n }\r\n _arrangeItems() {\r\n if (this.$element().is(\":hidden\")) {\r\n return\r\n }\r\n var elementWidth = this._layoutStrategy._arrangeItems();\r\n if (!this._isMultiline()) {\r\n super._arrangeItems(elementWidth)\r\n }\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n this._layoutStrategy._itemOptionChanged(item, property, value);\r\n if (!this._isMenuItem(item)) {\r\n super._itemOptionChanged(item, property, value)\r\n }\r\n if (\"disabled\" === property || \"options.disabled\" === property) {\r\n toggleItemFocusableElementTabIndex(this, item)\r\n }\r\n if (\"location\" === property) {\r\n this.repaint()\r\n }\r\n }\r\n _updateFocusableItemsTabIndex() {\r\n this._getToolbarItems().forEach(item => toggleItemFocusableElementTabIndex(this, item))\r\n }\r\n _isMenuItem(itemData) {\r\n return \"menu\" === itemData.location || \"always\" === itemData.locateInMenu\r\n }\r\n _isToolbarItem(itemData) {\r\n return void 0 === itemData.location || \"never\" === itemData.locateInMenu\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n this._layoutStrategy._optionChanged(name, value);\r\n switch (name) {\r\n case \"menuContainer\":\r\n case \"menuItemTemplate\":\r\n case \"overflowMenuVisible\":\r\n break;\r\n case \"multiline\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n super._optionChanged.apply(this, arguments);\r\n this._updateFocusableItemsTabIndex();\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n updateDimensions() {\r\n this._dimensionChanged()\r\n }\r\n}\r\nregisterComponent(\"dxToolbar\", Toolbar);\r\nexport default Toolbar;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Toolbar from \"./toolbar/ui.toolbar\";\r\nexport default Toolbar;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_panel/m_header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n getPathParts\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Toolbar from \"../../../../ui/toolbar\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar HEADER_PANEL_CLASS = \"header-panel\";\r\nvar TOOLBAR_BUTTON_CLASS = \"toolbar-button\";\r\nvar TOOLBAR_ARIA_LABEL = \"-ariaToolbar\";\r\nvar DEFAULT_TOOLBAR_ITEM_NAMES = [\"addRowButton\", \"applyFilterButton\", \"columnChooserButton\", \"exportButton\", \"groupPanel\", \"revertButton\", \"saveButton\", \"searchPanel\"];\r\nvar members = {\r\n _getToolbarItems: () => [],\r\n _getButtonContainer() {\r\n return $(\"<div>\").addClass(this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS))\r\n },\r\n _getToolbarButtonClass(specificClass) {\r\n var secondClass = specificClass ? \" \".concat(specificClass) : \"\";\r\n return this.addWidgetPrefix(TOOLBAR_BUTTON_CLASS) + secondClass\r\n },\r\n _getToolbarOptions() {\r\n var userToolbarOptions = this.option(\"toolbar\");\r\n var options = {\r\n toolbarOptions: {\r\n items: this._getToolbarItems(),\r\n visible: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.visible,\r\n disabled: null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.disabled,\r\n onItemRendered(e) {\r\n var itemRenderedCallback = e.itemData.onItemRendered;\r\n if (itemRenderedCallback) {\r\n itemRenderedCallback(e)\r\n }\r\n }\r\n }\r\n };\r\n var userItems = null === userToolbarOptions || void 0 === userToolbarOptions ? void 0 : userToolbarOptions.items;\r\n options.toolbarOptions.items = this._normalizeToolbarItems(options.toolbarOptions.items, userItems);\r\n this.executeAction(\"onToolbarPreparing\", options);\r\n if (options.toolbarOptions && !isDefined(options.toolbarOptions.visible)) {\r\n var toolbarItems = options.toolbarOptions.items;\r\n options.toolbarOptions.visible = !!(null === toolbarItems || void 0 === toolbarItems ? void 0 : toolbarItems.length)\r\n }\r\n return options.toolbarOptions\r\n },\r\n _normalizeToolbarItems(defaultItems, userItems) {\r\n defaultItems.forEach(button => {\r\n if (!DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) {\r\n throw new Error(\"Default toolbar item '\".concat(button.name, \"' is not added to DEFAULT_TOOLBAR_ITEM_NAMES\"))\r\n }\r\n });\r\n var defaultProps = {\r\n location: \"after\"\r\n };\r\n var isArray = Array.isArray(userItems);\r\n if (!isDefined(userItems)) {\r\n return defaultItems\r\n }\r\n if (!isArray) {\r\n userItems = [userItems]\r\n }\r\n var defaultButtonsByNames = {};\r\n defaultItems.forEach(button => {\r\n defaultButtonsByNames[button.name] = button\r\n });\r\n var normalizedItems = userItems.map(button => {\r\n if (isString(button)) {\r\n button = {\r\n name: button\r\n }\r\n }\r\n if (isDefined(button.name)) {\r\n if (isDefined(defaultButtonsByNames[button.name])) {\r\n button = extend(true, {}, defaultButtonsByNames[button.name], button)\r\n } else if (DEFAULT_TOOLBAR_ITEM_NAMES.includes(button.name)) {\r\n button = _extends(_extends({}, button), {\r\n visible: false\r\n })\r\n }\r\n }\r\n return extend(true, {}, defaultProps, button)\r\n });\r\n return isArray ? normalizedItems : normalizedItems[0]\r\n },\r\n _renderCore() {\r\n if (!this._toolbar) {\r\n var $headerPanel = this.element();\r\n $headerPanel.addClass(this.addWidgetPrefix(HEADER_PANEL_CLASS));\r\n var label = messageLocalization.format(this.component.NAME + TOOLBAR_ARIA_LABEL);\r\n var $toolbar = $(\"<div>\").attr(\"aria-label\", label).appendTo($headerPanel);\r\n this._toolbar = this._createComponent($toolbar, Toolbar, this._toolbarOptions)\r\n } else {\r\n this._toolbar.option(this._toolbarOptions)\r\n }\r\n },\r\n _columnOptionChanged: noop,\r\n _handleDataChanged() {\r\n if (this._requireReady) {\r\n this.render()\r\n }\r\n },\r\n init() {\r\n this.callBase();\r\n this.createAction(\"onToolbarPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n render() {\r\n this._toolbarOptions = this._getToolbarOptions();\r\n this.callBase.apply(this, arguments)\r\n },\r\n setToolbarItemDisabled(name, disabled) {\r\n var toolbar = this._toolbar;\r\n if (!toolbar) {\r\n return\r\n }\r\n var items = toolbar.option(\"items\") || [];\r\n var itemIndex = items.findIndex(item => item.name === name);\r\n if (itemIndex < 0) {\r\n return\r\n }\r\n var item = toolbar.option(\"items[\".concat(itemIndex, \"]\"));\r\n toolbar.option(\"items[\".concat(itemIndex, \"].disabled\"), disabled);\r\n if (item.options) {\r\n toolbar.option(\"items[\".concat(itemIndex, \"].options.disabled\"), disabled)\r\n }\r\n },\r\n updateToolbarDimensions() {\r\n var _a;\r\n null === (_a = this._toolbar) || void 0 === _a ? void 0 : _a.updateDimensions()\r\n },\r\n getHeaderPanel() {\r\n return this.element()\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n optionChanged(args) {\r\n if (\"onToolbarPreparing\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n }\r\n if (\"toolbar\" === args.name) {\r\n args.handled = true;\r\n if (this._toolbar) {\r\n var parts = getPathParts(args.fullName);\r\n var optionName = args.fullName.replace(/^toolbar\\./, \"\");\r\n if (1 === parts.length) {\r\n var toolbarOptions = this._getToolbarOptions();\r\n this._toolbar.option(toolbarOptions)\r\n } else if (\"items\" === parts[1]) {\r\n if (2 === parts.length) {\r\n var _toolbarOptions = this._getToolbarOptions();\r\n this._toolbar.option(\"items\", _toolbarOptions.items)\r\n } else if (3 === parts.length) {\r\n var normalizedItem = this._normalizeToolbarItems(this._getToolbarItems(), args.value);\r\n this._toolbar.option(optionName, normalizedItem)\r\n } else if (parts.length >= 4) {\r\n this._toolbar.option(optionName, args.value)\r\n }\r\n } else {\r\n this._toolbar.option(optionName, args.value)\r\n }\r\n }\r\n }\r\n this.callBase(args)\r\n },\r\n isVisible() {\r\n return !!(this._toolbarOptions && this._toolbarOptions.visible)\r\n },\r\n allowDragging: noop,\r\n hasGroupedColumns: noop\r\n};\r\nvar HeaderPanel = ColumnsView.inherit(members);\r\nexport var headerPanelModule = {\r\n defaultOptions: () => ({}),\r\n views: {\r\n headerPanel: HeaderPanel\r\n },\r\n extenders: {\r\n controllers: {\r\n resizing: {\r\n _updateDimensionsCore() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"headerPanel\").updateToolbarDimensions()\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/header_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerPanelModule\r\n} from \"../../../grids/grid_core/header_panel/m_header_panel\";\r\nimport gridCore from \"../m_core\";\r\nexport var HeaderPanel = headerPanelModule.views.headerPanel;\r\ngridCore.registerModule(\"headerPanel\", headerPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_widget_base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./module_not_extended/column_headers\";\r\nimport \"./m_columns_controller\";\r\nimport \"./m_data_controller\";\r\nimport \"./module_not_extended/sorting\";\r\nimport \"./module_not_extended/rows\";\r\nimport \"./module_not_extended/context_menu\";\r\nimport \"./module_not_extended/error_handling\";\r\nimport \"./module_not_extended/grid_view\";\r\nimport \"./module_not_extended/header_panel\";\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport $ from \"../../../core/renderer\";\r\nimport browser from \"../../../core/utils/browser\";\r\nimport {\r\n deferRender,\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../../core/utils/console\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../core/utils/iterator\";\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n isMaterial\r\n} from \"../../../ui/themes\";\r\nimport Widget from \"../../../ui/widget/ui.widget\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nimport gridCore from \"./m_core\";\r\nvar DATAGRID_ROW_SELECTOR = \".dx-row\";\r\nvar DATAGRID_DEPRECATED_TEMPLATE_WARNING = \"Specifying grid templates with the jQuery selector name is now deprecated. Use the DOM Node or the jQuery object that references this selector instead.\";\r\ngridCore.registerModulesOrder([\"stateStoring\", \"columns\", \"selection\", \"editorFactory\", \"columnChooser\", \"grouping\", \"editing\", \"editingRowBased\", \"editingFormBased\", \"editingCellBased\", \"masterDetail\", \"validating\", \"adaptivity\", \"data\", \"virtualScrolling\", \"columnHeaders\", \"filterRow\", \"headerPanel\", \"headerFilter\", \"sorting\", \"search\", \"rows\", \"pager\", \"columnsResizingReordering\", \"contextMenu\", \"keyboardNavigation\", \"errorHandling\", \"summary\", \"columnFixing\", \"export\", \"gridView\"]);\r\nvar DataGrid = Widget.inherit({\r\n _activeStateUnit: DATAGRID_ROW_SELECTOR,\r\n _getDefaultOptions() {\r\n var result = this.callBase();\r\n each(gridCore.modules, (function() {\r\n if (isFunction(this.defaultOptions)) {\r\n extend(true, result, this.defaultOptions())\r\n }\r\n }));\r\n return result\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n useKeyboard: {\r\n since: \"19.2\",\r\n alias: \"keyboardNavigation.enabled\"\r\n },\r\n rowTemplate: {\r\n since: \"21.2\",\r\n message: 'Use the \"dataRowTemplate\" option instead'\r\n },\r\n \"columnChooser.allowSearch\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.enabled\" option instead'\r\n },\r\n \"columnChooser.searchTimeout\": {\r\n since: \"23.1\",\r\n message: 'Use the \"columnChooser.search.timeout\" option instead'\r\n }\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n showRowLines: true\r\n }\r\n }, {\r\n device: () => isMaterial(),\r\n options: {\r\n showRowLines: true,\r\n showColumnLines: false,\r\n headerFilter: {\r\n height: 315\r\n },\r\n editing: {\r\n useIcons: true\r\n },\r\n selection: {\r\n showCheckBoxesMode: \"always\"\r\n }\r\n }\r\n }, {\r\n device: () => browser.webkit,\r\n options: {\r\n loadingTimeout: 30,\r\n loadPanel: {\r\n animation: {\r\n show: {\r\n easing: \"cubic-bezier(1, 0, 1, 0)\",\r\n duration: 500,\r\n from: {\r\n opacity: 0\r\n },\r\n to: {\r\n opacity: 1\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: device => \"desktop\" !== device.deviceType,\r\n options: {\r\n grouping: {\r\n expandMode: \"rowClick\"\r\n }\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n gridCoreUtils.logHeaderFilterDeprecatedWarningIfNeed(this);\r\n gridCore.processModules(this, gridCore);\r\n gridCore.callModuleItemsMethod(this, \"init\")\r\n },\r\n _clean: noop,\r\n _optionChanged(args) {\r\n gridCore.callModuleItemsMethod(this, \"optionChanged\", [args]);\r\n if (!args.handled) {\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged() {\r\n this.updateDimensions(true)\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this.updateDimensions()\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase.apply(this, arguments);\r\n this.getView(\"gridView\").render(this.$element())\r\n },\r\n _renderContentImpl() {\r\n this.getView(\"gridView\").update()\r\n },\r\n _renderContent() {\r\n var that = this;\r\n deferRender(() => {\r\n that._renderContentImpl()\r\n })\r\n },\r\n _getTemplate(templateName) {\r\n var template = templateName;\r\n if (isString(template) && template.startsWith(\"#\")) {\r\n template = $(templateName);\r\n logger.warn(DATAGRID_DEPRECATED_TEMPLATE_WARNING)\r\n }\r\n return this.callBase(template)\r\n },\r\n _dispose() {\r\n this.callBase();\r\n gridCore.callModuleItemsMethod(this, \"dispose\")\r\n },\r\n isReady() {\r\n return this.getController(\"data\").isReady()\r\n },\r\n beginUpdate() {\r\n this.callBase();\r\n gridCore.callModuleItemsMethod(this, \"beginUpdate\")\r\n },\r\n endUpdate() {\r\n gridCore.callModuleItemsMethod(this, \"endUpdate\");\r\n this.callBase()\r\n },\r\n getController(name) {\r\n return this._controllers[name]\r\n },\r\n getView(name) {\r\n return this._views[name]\r\n },\r\n focus(element) {\r\n this.getController(\"keyboardNavigation\").focus(element)\r\n }\r\n});\r\nDataGrid.registerModule = gridCore.registerModule.bind(gridCore);\r\nregisterComponent(\"dxDataGrid\", DataGrid);\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/state_storing/m_state_storing_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fromPromise\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n sessionStorage\r\n} from \"../../../../core/utils/storage\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nvar DATE_REGEX = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/;\r\nvar parseDates = function parseDates(state) {\r\n if (!state) {\r\n return\r\n }\r\n each(state, (key, value) => {\r\n if (isPlainObject(value) || Array.isArray(value)) {\r\n parseDates(value)\r\n } else if (\"string\" === typeof value) {\r\n var date = DATE_REGEX.exec(value);\r\n if (date) {\r\n state[key] = new Date(Date.UTC(+date[1], +date[2] - 1, +date[3], +date[4], +date[5], +date[6]))\r\n }\r\n }\r\n })\r\n};\r\nvar StateStoringController = modules.ViewController.inherit(function() {\r\n var getStorage = function(options) {\r\n var storage = \"sessionStorage\" === options.type ? sessionStorage() : getWindow().localStorage;\r\n if (!storage) {\r\n throw new Error(\"E1007\")\r\n }\r\n return storage\r\n };\r\n var getUniqueStorageKey = function(options) {\r\n return isDefined(options.storageKey) ? options.storageKey : \"storage\"\r\n };\r\n return {\r\n _loadState() {\r\n var options = this.option(\"stateStoring\");\r\n if (\"custom\" === options.type) {\r\n return options.customLoad && options.customLoad()\r\n }\r\n try {\r\n return JSON.parse(getStorage(options).getItem(getUniqueStorageKey(options)))\r\n } catch (e) {\r\n errors.log(\"W1022\", \"State storing\", e.message)\r\n }\r\n },\r\n _saveState(state) {\r\n var options = this.option(\"stateStoring\");\r\n if (\"custom\" === options.type) {\r\n options.customSave && options.customSave(state);\r\n return\r\n }\r\n try {\r\n getStorage(options).setItem(getUniqueStorageKey(options), JSON.stringify(state))\r\n } catch (e) {\r\n errors.log(e.message)\r\n }\r\n },\r\n publicMethods: () => [\"state\"],\r\n isEnabled() {\r\n return this.option(\"stateStoring.enabled\")\r\n },\r\n init() {\r\n var that = this;\r\n that._state = {};\r\n that._isLoaded = false;\r\n that._isLoading = false;\r\n that._windowUnloadHandler = function() {\r\n if (void 0 !== that._savingTimeoutID) {\r\n that._saveState(that.state())\r\n }\r\n };\r\n eventsEngine.on(getWindow(), \"unload\", that._windowUnloadHandler);\r\n return that\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._isLoading\r\n },\r\n load() {\r\n this._isLoading = true;\r\n var loadResult = fromPromise(this._loadState());\r\n loadResult.always(() => {\r\n this._isLoaded = true;\r\n this._isLoading = false\r\n }).done(state => {\r\n if (null !== state && !isEmptyObject(state)) {\r\n this.state(state)\r\n }\r\n });\r\n return loadResult\r\n },\r\n state(state) {\r\n if (!arguments.length) {\r\n return extend(true, {}, this._state)\r\n }\r\n this._state = extend({}, state);\r\n parseDates(this._state)\r\n },\r\n save() {\r\n var that = this;\r\n clearTimeout(that._savingTimeoutID);\r\n that._savingTimeoutID = setTimeout(() => {\r\n that._saveState(that.state());\r\n that._savingTimeoutID = void 0\r\n }, that.option(\"stateStoring.savingTimeout\"))\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"stateStoring\":\r\n if (this.isEnabled() && !this.isLoading()) {\r\n this.load()\r\n }\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n dispose() {\r\n clearTimeout(this._savingTimeoutID);\r\n eventsEngine.off(getWindow(), \"unload\", this._windowUnloadHandler)\r\n }\r\n }\r\n}());\r\nexport default {\r\n StateStoringController: StateStoringController\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/state_storing/m_state_storing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport stateStoringCore from \"./m_state_storing_core\";\r\nvar getDataState = that => {\r\n var pagerView = that.getView(\"pagerView\");\r\n var dataController = that.getController(\"data\");\r\n var state = {\r\n allowedPageSizes: pagerView ? pagerView.getPageSizes() : void 0,\r\n filterPanel: {\r\n filterEnabled: that.option(\"filterPanel.filterEnabled\")\r\n },\r\n filterValue: that.option(\"filterValue\"),\r\n focusedRowKey: that.option(\"focusedRowEnabled\") ? that.option(\"focusedRowKey\") : void 0\r\n };\r\n return extend(state, dataController.getUserState())\r\n};\r\nvar processLoadState = that => {\r\n var columnsController = that.getController(\"columns\");\r\n var selectionController = that.getController(\"selection\");\r\n var exportController = that.getController(\"export\");\r\n var dataController = that.getController(\"data\");\r\n if (columnsController) {\r\n columnsController.columnsChanged.add(() => {\r\n that.updateState({\r\n columns: columnsController.getUserState()\r\n })\r\n })\r\n }\r\n if (selectionController) {\r\n selectionController.selectionChanged.add(e => {\r\n that.updateState({\r\n selectedRowKeys: e.selectedRowKeys,\r\n selectionFilter: e.selectionFilter\r\n })\r\n })\r\n }\r\n if (dataController) {\r\n that._initialPageSize = that.option(\"paging.pageSize\");\r\n that._initialFilterValue = that.option(\"filterValue\");\r\n dataController.changed.add(() => {\r\n var state = getDataState(that);\r\n that.updateState(state)\r\n })\r\n }\r\n if (exportController) {\r\n exportController.selectionOnlyChanged.add(() => {\r\n that.updateState({\r\n exportSelectionOnly: exportController.selectionOnly()\r\n })\r\n })\r\n }\r\n};\r\nvar DEFAULT_FILTER_VALUE = null;\r\nvar getFilterValue = (that, state) => {\r\n var filterSyncController = that.getController(\"filterSync\");\r\n var columnsController = that.getController(\"columns\");\r\n var hasFilterState = state.columns || void 0 !== state.filterValue;\r\n if (filterSyncController) {\r\n if (hasFilterState) {\r\n return state.filterValue || filterSyncController.getFilterValueFromColumns(state.columns)\r\n }\r\n return that._initialFilterValue || filterSyncController.getFilterValueFromColumns(columnsController.getColumns())\r\n }\r\n return DEFAULT_FILTER_VALUE\r\n};\r\nexport var stateStoringModule = {\r\n defaultOptions: () => ({\r\n stateStoring: {\r\n enabled: false,\r\n storageKey: null,\r\n type: \"localStorage\",\r\n customLoad: null,\r\n customSave: null,\r\n savingTimeout: 2e3\r\n }\r\n }),\r\n controllers: {\r\n stateStoring: stateStoringCore.StateStoringController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n init() {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n that.callBase();\r\n dataController.stateLoaded.add(() => {\r\n if (dataController.isLoaded() && !dataController.getDataSource()) {\r\n that.setLoading(false);\r\n that.renderNoDataText();\r\n var columnHeadersView = that.component.getView(\"columnHeadersView\");\r\n columnHeadersView && columnHeadersView.render();\r\n that.component._fireContentReadyAction()\r\n }\r\n })\r\n }\r\n }\r\n },\r\n controllers: {\r\n stateStoring: {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n processLoadState(this)\r\n },\r\n isLoading() {\r\n return this.callBase() || this.getController(\"data\").isStateLoading()\r\n },\r\n state(state) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (void 0 !== state) {\r\n this.applyState(extend(true, {}, state))\r\n }\r\n return result\r\n },\r\n updateState(state) {\r\n if (this.isEnabled()) {\r\n var oldState = this.state();\r\n var newState = extend({}, oldState, state);\r\n var oldStateHash = getKeyHash(oldState);\r\n var newStateHash = getKeyHash(newState);\r\n if (!equalByValue(oldStateHash, newStateHash)) {\r\n state = extend(true, {}, state);\r\n extend(this._state, state);\r\n this.save()\r\n }\r\n } else {\r\n extend(this._state, state)\r\n }\r\n },\r\n applyState(state) {\r\n var _a;\r\n var {\r\n allowedPageSizes: allowedPageSizes\r\n } = state;\r\n var {\r\n searchText: searchText\r\n } = state;\r\n var {\r\n selectedRowKeys: selectedRowKeys\r\n } = state;\r\n var {\r\n selectionFilter: selectionFilter\r\n } = state;\r\n var exportController = this.getController(\"export\");\r\n var columnsController = this.getController(\"columns\");\r\n var dataController = this.getController(\"data\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isVirtualScrollingMode = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var showPageSizeSelector = true === this.option(\"pager.visible\") && this.option(\"pager.showPageSizeSelector\");\r\n var hasHeight = null === (_a = this.getView(\"rowsView\")) || void 0 === _a ? void 0 : _a.hasHeight();\r\n this.component.beginUpdate();\r\n if (columnsController) {\r\n columnsController.setUserState(state.columns)\r\n }\r\n if (exportController) {\r\n exportController.selectionOnly(state.exportSelectionOnly)\r\n }\r\n if (!this.option(\"selection.deferred\")) {\r\n this.option(\"selectedRowKeys\", selectedRowKeys || [])\r\n }\r\n this.option(\"selectionFilter\", selectionFilter);\r\n if (allowedPageSizes && \"auto\" === this.option(\"pager.allowedPageSizes\")) {\r\n this.option(\"pager\").allowedPageSizes = allowedPageSizes\r\n }\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.option(\"focusedRowIndex\", -1);\r\n this.option(\"focusedRowKey\", state.focusedRowKey || null)\r\n }\r\n this.component.endUpdate();\r\n this.option(\"searchPanel.text\", searchText || \"\");\r\n this.option(\"filterValue\", getFilterValue(this, state));\r\n this.option(\"filterPanel.filterEnabled\", state.filterPanel ? state.filterPanel.filterEnabled : true);\r\n this.option(\"paging.pageIndex\", (!isVirtualScrollingMode || hasHeight) && state.pageIndex || 0);\r\n this.option(\"paging.pageSize\", (!isVirtualScrollingMode || showPageSizeSelector) && isDefined(state.pageSize) ? state.pageSize : this._initialPageSize);\r\n dataController && dataController.reset()\r\n }\r\n },\r\n columns: {\r\n _shouldReturnVisibleColumns() {\r\n var result = this.callBase.apply(this, arguments);\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n return result && (!stateStoringController.isEnabled() || stateStoringController.isLoaded())\r\n }\r\n },\r\n data: {\r\n callbackNames() {\r\n return this.callBase().concat([\"stateLoaded\"])\r\n },\r\n _refreshDataSource() {\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n if (stateStoringController.isEnabled() && !stateStoringController.isLoaded()) {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n var deferred = new Deferred;\r\n this._restoreStateTimeoutID = setTimeout(() => {\r\n stateStoringController.load().always(() => {\r\n this._restoreStateTimeoutID = null\r\n }).done(() => {\r\n callBase.call(this);\r\n this.stateLoaded.fire();\r\n deferred.resolve()\r\n }).fail(error => {\r\n this.stateLoaded.fire();\r\n this._handleLoadError(error || \"Unknown error\");\r\n deferred.reject()\r\n })\r\n });\r\n return deferred.promise()\r\n }\r\n if (!this.isStateLoading()) {\r\n callBase.call(this)\r\n }\r\n },\r\n isLoading() {\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n return this.callBase() || stateStoringController.isLoading()\r\n },\r\n isStateLoading() {\r\n return isDefined(this._restoreStateTimeoutID)\r\n },\r\n isLoaded() {\r\n return this.callBase() && !this.isStateLoading()\r\n },\r\n dispose() {\r\n clearTimeout(this._restoreStateTimeoutID);\r\n this.callBase()\r\n }\r\n },\r\n selection: {\r\n _fireSelectionChanged(options) {\r\n var stateStoringController = this.getController(\"stateStoring\");\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (stateStoringController.isLoading() && isDeferredSelection) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/state_storing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n stateStoringModule\r\n} from \"../../../grids/grid_core/state_storing/m_state_storing\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"stateStoring\", stateStoringModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/selection/m_selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n touch\r\n} from \"../../../../core/utils/support\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n applyBatch\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport holdEvent from \"../../../../events/hold\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Selection from \"../../../../ui/selection/selection\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar ROW_SELECTION_CLASS = \"dx-selection\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-select-checkbox\";\r\nvar CHECKBOXES_HIDDEN_CLASS = \"dx-select-checkboxes-hidden\";\r\nvar COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nvar SELECTION_DISABLED_CLASS = \"dx-selection-disabled\";\r\nvar DATA_ROW_CLASS = \"dx-data-row\";\r\nvar SHOW_CHECKBOXES_MODE = \"selection.showCheckBoxesMode\";\r\nvar SELECTION_MODE = \"selection.mode\";\r\nvar processLongTap = function(that, dxEvent) {\r\n var selectionController = that.getController(\"selection\");\r\n var rowsView = that.getView(\"rowsView\");\r\n var $row = $(dxEvent.target).closest(\".\".concat(DATA_ROW_CLASS));\r\n var rowIndex = rowsView.getRowIndex($row);\r\n if (rowIndex < 0) {\r\n return\r\n }\r\n if (\"onLongTap\" === that.option(SHOW_CHECKBOXES_MODE)) {\r\n if (selectionController.isSelectionWithCheckboxes()) {\r\n selectionController.stopSelectionWithCheckboxes()\r\n } else {\r\n selectionController.startSelectionWithCheckboxes()\r\n }\r\n } else {\r\n if (\"onClick\" === that.option(SHOW_CHECKBOXES_MODE)) {\r\n selectionController.startSelectionWithCheckboxes()\r\n }\r\n if (\"always\" !== that.option(SHOW_CHECKBOXES_MODE)) {\r\n selectionController.changeItemSelection(rowIndex, {\r\n control: true\r\n })\r\n }\r\n }\r\n};\r\nvar isSeveralRowsSelected = function(that, selectionFilter) {\r\n var keyIndex = 0;\r\n var store = that._dataController.store();\r\n var key = store && store.key();\r\n var isComplexKey = Array.isArray(key);\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (isComplexKey && Array.isArray(selectionFilter[0]) && \"and\" === selectionFilter[1]) {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i])) {\r\n if (selectionFilter[i][0] !== key[keyIndex] || \"=\" !== selectionFilter[i][1]) {\r\n return true\r\n }\r\n keyIndex++\r\n }\r\n }\r\n return false\r\n }\r\n return key !== selectionFilter[0]\r\n};\r\nvar selectionCellTemplate = (container, options) => {\r\n var {\r\n component: component\r\n } = options;\r\n var rowsView = component.getView(\"rowsView\");\r\n if (component.option(\"renderAsync\") && !component.option(\"selection.deferred\")) {\r\n options.value = component.isRowSelected(options.row.key)\r\n }\r\n rowsView.renderSelectCheckBoxContainer($(container), options)\r\n};\r\nvar selectionHeaderTemplate = (container, options) => {\r\n var {\r\n column: column\r\n } = options;\r\n var $cellElement = $(container);\r\n var columnHeadersView = options.component.getView(\"columnHeadersView\");\r\n $cellElement.addClass(EDITOR_CELL_CLASS);\r\n columnHeadersView._renderSelectAllCheckBox($cellElement, column);\r\n columnHeadersView._attachSelectAllCheckBoxClickEvent($cellElement)\r\n};\r\nexport class SelectionController extends modules.Controller {\r\n init() {\r\n var _a;\r\n var {\r\n deferred: deferred,\r\n selectAllMode: selectAllMode,\r\n mode: mode\r\n } = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {};\r\n if (\"infinite\" === this.option(\"scrolling.mode\") && !deferred && \"multiple\" === mode && \"allPages\" === selectAllMode) {\r\n errors.log(\"W1018\")\r\n }\r\n this._dataController = this.getController(\"data\");\r\n this._selectionMode = mode;\r\n this._isSelectionWithCheckboxes = false;\r\n this._selection = this._createSelection();\r\n this._updateSelectColumn();\r\n this.createAction(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n if (!this._dataPushedHandler) {\r\n this._dataPushedHandler = this._handleDataPushed.bind(this);\r\n this._dataController.pushed.add(this._dataPushedHandler)\r\n }\r\n }\r\n _handleDataPushed(changes) {\r\n this._deselectRemovedOnPush(changes);\r\n this._updateSelectedOnPush(changes)\r\n }\r\n _deselectRemovedOnPush(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n var removedKeys = changes.filter(change => \"remove\" === change.type).map(change => change.key);\r\n if (isDeferredSelection) {\r\n var selectedKeys = this._dataController.items().filter(item => item.isSelected).map(item => item.key);\r\n removedKeys = removedKeys.filter(key => selectedKeys.find(selectedKey => equalByValue(selectedKey, key)))\r\n }\r\n removedKeys.length && this.deselectRows(removedKeys)\r\n }\r\n _updateSelectedOnPush(changes) {\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n if (isDeferredSelection) {\r\n return\r\n }\r\n var updateChanges = changes.filter(change => \"update\" === change.type);\r\n var data = this.getSelectedRowsData();\r\n applyBatch({\r\n keyInfo: this._selection.options,\r\n data: data,\r\n changes: updateChanges\r\n })\r\n }\r\n _getSelectionConfig() {\r\n var _a;\r\n var dataController = this._dataController;\r\n var columnsController = this.getController(\"columns\");\r\n var selectionOptions = null !== (_a = this.option(\"selection\")) && void 0 !== _a ? _a : {};\r\n var {\r\n deferred: deferred\r\n } = selectionOptions;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var virtualPaging = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var allowSelectAll = this.option(\"selection.allowSelectAll\");\r\n var legacyScrollingMode = this.option(\"scrolling.legacyMode\");\r\n return {\r\n selectedKeys: this.option(\"selectedRowKeys\"),\r\n mode: this._selectionMode,\r\n deferred: deferred,\r\n maxFilterLengthInRequest: selectionOptions.maxFilterLengthInRequest,\r\n selectionFilter: this.option(\"selectionFilter\"),\r\n ignoreDisabledItems: true,\r\n allowLoadByRange() {\r\n var hasGroupColumns = columnsController.getGroupColumns().length > 0;\r\n return virtualPaging && !legacyScrollingMode && !hasGroupColumns && allowSelectAll && !deferred\r\n },\r\n key: () => null === dataController || void 0 === dataController ? void 0 : dataController.key(),\r\n keyOf: item => null === dataController || void 0 === dataController ? void 0 : dataController.keyOf(item),\r\n dataFields() {\r\n var _a;\r\n return null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.select()\r\n },\r\n load(options) {\r\n var _a;\r\n return (null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.load(options)) || (new Deferred).resolve([])\r\n },\r\n plainItems: () => dataController.items(true),\r\n isItemSelected: item => item.selected,\r\n isSelectableItem: item => \"data\" === (null === item || void 0 === item ? void 0 : item.rowType) && !item.isNewRow,\r\n getItemData: item => isDefined(null === item || void 0 === item ? void 0 : item.rowType) ? (null === item || void 0 === item ? void 0 : item.oldData) || (null === item || void 0 === item ? void 0 : item.data) : item,\r\n filter: () => dataController.getCombinedFilter(deferred),\r\n totalCount: () => dataController.totalCount(),\r\n getLoadOptions(loadItemIndex, focusedItemIndex, shiftItemIndex) {\r\n var _a, _b;\r\n var {\r\n sort: sort,\r\n filter: filter\r\n } = null !== (_b = null === (_a = dataController.dataSource()) || void 0 === _a ? void 0 : _a.lastLoadOptions()) && void 0 !== _b ? _b : {};\r\n var minIndex = Math.min(loadItemIndex, focusedItemIndex);\r\n var maxIndex = Math.max(loadItemIndex, focusedItemIndex);\r\n if (isDefined(shiftItemIndex)) {\r\n minIndex = Math.min(shiftItemIndex, minIndex);\r\n maxIndex = Math.max(shiftItemIndex, maxIndex)\r\n }\r\n var take = maxIndex - minIndex + 1;\r\n return {\r\n skip: minIndex,\r\n take: take,\r\n filter: filter,\r\n sort: sort\r\n }\r\n },\r\n onSelectionChanged: this._updateSelectedItems.bind(this)\r\n }\r\n }\r\n _updateSelectColumn() {\r\n var columnsController = this.getController(\"columns\");\r\n var isSelectColumnVisible = this.isSelectColumnVisible();\r\n columnsController.addCommandColumn({\r\n type: \"selection\",\r\n command: \"select\",\r\n visible: isSelectColumnVisible,\r\n visibleIndex: -1,\r\n dataType: \"boolean\",\r\n alignment: \"center\",\r\n cssClass: COMMAND_SELECT_CLASS,\r\n width: \"auto\",\r\n cellTemplate: selectionCellTemplate,\r\n headerCellTemplate: selectionHeaderTemplate\r\n });\r\n columnsController.columnOption(\"command:select\", \"visible\", isSelectColumnVisible)\r\n }\r\n _createSelection() {\r\n var options = this._getSelectionConfig();\r\n return new Selection(options)\r\n }\r\n _fireSelectionChanged(options) {\r\n var argument = this.option(\"selection.deferred\") ? {\r\n selectionFilter: this.option(\"selectionFilter\")\r\n } : {\r\n selectedRowKeys: this.option(\"selectedRowKeys\")\r\n };\r\n this.selectionChanged.fire(argument);\r\n if (options) {\r\n this.executeAction(\"onSelectionChanged\", options)\r\n }\r\n }\r\n _updateCheckboxesState(options) {\r\n var {\r\n isDeferredMode: isDeferredMode\r\n } = options;\r\n var {\r\n selectionFilter: selectionFilter\r\n } = options;\r\n var {\r\n selectedItemKeys: selectedItemKeys\r\n } = options;\r\n var {\r\n removedItemKeys: removedItemKeys\r\n } = options;\r\n if (\"onClick\" === this.option(SHOW_CHECKBOXES_MODE)) {\r\n if (isDeferredMode ? selectionFilter && isSeveralRowsSelected(this, selectionFilter) : selectedItemKeys.length > 1) {\r\n this.startSelectionWithCheckboxes()\r\n } else if (isDeferredMode ? selectionFilter && !selectionFilter.length : 0 === selectedItemKeys.length && removedItemKeys.length) {\r\n this.stopSelectionWithCheckboxes()\r\n }\r\n }\r\n }\r\n _updateSelectedItems(args) {\r\n var selectionChangedOptions;\r\n var isDeferredMode = this.option(\"selection.deferred\");\r\n var selectionFilter = this._selection.selectionFilter();\r\n var dataController = this._dataController;\r\n var items = dataController.items(true);\r\n var visibleItems = dataController.items();\r\n if (!items) {\r\n return\r\n }\r\n var isSelectionWithCheckboxes = this.isSelectionWithCheckboxes();\r\n var changedItemIndexes = this.getChangedItemIndexes(items);\r\n var visibleChangedItemIndexes = this.getChangedItemIndexes(visibleItems);\r\n this._updateCheckboxesState({\r\n selectedItemKeys: args.selectedItemKeys,\r\n removedItemKeys: args.removedItemKeys,\r\n selectionFilter: selectionFilter,\r\n isDeferredMode: isDeferredMode\r\n });\r\n if (changedItemIndexes.length || isSelectionWithCheckboxes !== this.isSelectionWithCheckboxes()) {\r\n dataController.updateItems({\r\n changeType: \"updateSelection\",\r\n itemIndexes: visibleChangedItemIndexes\r\n })\r\n }\r\n if (isDeferredMode) {\r\n this.option(\"selectionFilter\", selectionFilter);\r\n selectionChangedOptions = {}\r\n } else if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n this._selectedItemsInternalChange = true;\r\n this.option(\"selectedRowKeys\", args.selectedItemKeys.slice(0));\r\n this._selectedItemsInternalChange = false;\r\n selectionChangedOptions = {\r\n selectedRowsData: args.selectedItems.slice(0),\r\n selectedRowKeys: args.selectedItemKeys.slice(0),\r\n currentSelectedRowKeys: args.addedItemKeys.slice(0),\r\n currentDeselectedRowKeys: args.removedItemKeys.slice(0)\r\n }\r\n }\r\n this._fireSelectionChanged(selectionChangedOptions)\r\n }\r\n getChangedItemIndexes(items) {\r\n var itemIndexes = [];\r\n var isDeferredSelection = this.option(\"selection.deferred\");\r\n for (var i = 0, {\r\n length: length\r\n } = items; i < length; i++) {\r\n var row = items[i];\r\n var isItemSelected = this.isRowSelected(isDeferredSelection ? row.data : row.key);\r\n if (this._selection.isDataItem(row) && row.isSelected !== isItemSelected) {\r\n itemIndexes.push(i)\r\n }\r\n }\r\n return itemIndexes\r\n }\r\n callbackNames() {\r\n return [\"selectionChanged\"]\r\n }\r\n optionChanged(args) {\r\n super.optionChanged(args);\r\n switch (args.name) {\r\n case \"selection\":\r\n var oldSelectionMode = this._selectionMode;\r\n this.init();\r\n if (\"selection.showCheckBoxesMode\" !== args.fullName) {\r\n var selectionMode = this._selectionMode;\r\n var selectedRowKeys = this.option(\"selectedRowKeys\");\r\n if (oldSelectionMode !== selectionMode) {\r\n if (\"single\" === selectionMode) {\r\n if (selectedRowKeys.length > 1) {\r\n selectedRowKeys = [selectedRowKeys[0]]\r\n }\r\n } else if (\"multiple\" !== selectionMode) {\r\n selectedRowKeys = []\r\n }\r\n }\r\n this.selectRows(selectedRowKeys).always(() => {\r\n this._fireSelectionChanged()\r\n })\r\n }\r\n this.getController(\"columns\").updateColumns();\r\n args.handled = true;\r\n break;\r\n case \"selectionFilter\":\r\n this._selection.selectionFilter(args.value);\r\n args.handled = true;\r\n break;\r\n case \"selectedRowKeys\":\r\n var value = args.value || [];\r\n if (Array.isArray(value) && !this._selectedItemsInternalChange && (this.component.getDataSource() || !value.length)) {\r\n this.selectRows(value)\r\n }\r\n args.handled = true\r\n }\r\n }\r\n publicMethods() {\r\n return [\"selectRows\", \"deselectRows\", \"selectRowsByIndexes\", \"getSelectedRowKeys\", \"getSelectedRowsData\", \"clearSelection\", \"selectAll\", \"deselectAll\", \"startSelectionWithCheckboxes\", \"stopSelectionWithCheckboxes\", \"isRowSelected\"]\r\n }\r\n isRowSelected(arg) {\r\n return this._selection.isItemSelected(arg)\r\n }\r\n isSelectColumnVisible() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || \"onClick\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n }\r\n _isOnePageSelectAll() {\r\n return \"page\" === this.option(\"selection.selectAllMode\")\r\n }\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isOnePageSelectAll())\r\n }\r\n selectAll() {\r\n if (\"onClick\" === this.option(SHOW_CHECKBOXES_MODE)) {\r\n this.startSelectionWithCheckboxes()\r\n }\r\n return this._selection.selectAll(this._isOnePageSelectAll())\r\n }\r\n deselectAll() {\r\n return this._selection.deselectAll(this._isOnePageSelectAll())\r\n }\r\n clearSelection() {\r\n return this.selectedItemKeys([])\r\n }\r\n refresh() {\r\n var _a;\r\n var selectedRowKeys = null !== (_a = this.option(\"selectedRowKeys\")) && void 0 !== _a ? _a : [];\r\n if (!this.option(\"selection.deferred\") && selectedRowKeys.length) {\r\n return this.selectedItemKeys(selectedRowKeys)\r\n }\r\n return (new Deferred).resolve().promise()\r\n }\r\n selectedItemKeys(value, preserve, isDeselect, isSelectAll) {\r\n return this._selection.selectedItemKeys(value, preserve, isDeselect, isSelectAll)\r\n }\r\n getSelectedRowKeys() {\r\n return this._selection.getSelectedItemKeys()\r\n }\r\n selectRows(keys, preserve) {\r\n return this.selectedItemKeys(keys, preserve)\r\n }\r\n deselectRows(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n }\r\n selectRowsByIndexes(indexes) {\r\n var items = this._dataController.items();\r\n var keys = [];\r\n if (!Array.isArray(indexes)) {\r\n indexes = Array.prototype.slice.call(arguments, 0)\r\n }\r\n each(indexes, (function() {\r\n var item = items[this];\r\n if (item && \"data\" === item.rowType) {\r\n keys.push(item.key)\r\n }\r\n }));\r\n return this.selectRows(keys)\r\n }\r\n getSelectedRowsData() {\r\n return this._selection.getSelectedItems()\r\n }\r\n loadSelectedItemsWithFilter() {\r\n return this._selection.loadSelectedItemsWithFilter()\r\n }\r\n changeItemSelection(visibleItemIndex, keys, setFocusOnly) {\r\n keys = keys || {};\r\n if (this.isSelectionWithCheckboxes()) {\r\n keys.control = true\r\n }\r\n var loadedItemIndex = visibleItemIndex + this._dataController.getRowIndexOffset() - this._dataController.getRowIndexOffset(true);\r\n return this._selection.changeItemSelection(loadedItemIndex, keys, setFocusOnly)\r\n }\r\n focusedItemIndex(itemIndex) {\r\n if (isDefined(itemIndex)) {\r\n this._selection._focusedItemIndex = itemIndex\r\n } else {\r\n return this._selection._focusedItemIndex\r\n }\r\n return\r\n }\r\n isSelectionWithCheckboxes() {\r\n return \"multiple\" === this.option(SELECTION_MODE) && (\"always\" === this.option(SHOW_CHECKBOXES_MODE) || this._isSelectionWithCheckboxes)\r\n }\r\n startSelectionWithCheckboxes() {\r\n if (\"multiple\" === this.option(SELECTION_MODE) && !this.isSelectionWithCheckboxes()) {\r\n this._isSelectionWithCheckboxes = true;\r\n this._updateSelectColumn();\r\n return true\r\n }\r\n return false\r\n }\r\n stopSelectionWithCheckboxes() {\r\n if (this._isSelectionWithCheckboxes) {\r\n this._isSelectionWithCheckboxes = false;\r\n this._updateSelectColumn();\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nexport var selectionModule = {\r\n defaultOptions: () => ({\r\n selection: {\r\n mode: \"none\",\r\n showCheckBoxesMode: \"onClick\",\r\n allowSelectAll: true,\r\n selectAllMode: \"allPages\",\r\n maxFilterLengthInRequest: 1500,\r\n deferred: false\r\n },\r\n selectionFilter: [],\r\n selectedRowKeys: []\r\n }),\r\n controllers: {\r\n selection: SelectionController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init() {\r\n var selectionController = this.getController(\"selection\");\r\n var isDeferredMode = this.option(\"selection.deferred\");\r\n this.callBase.apply(this, arguments);\r\n if (isDeferredMode) {\r\n selectionController._updateCheckboxesState({\r\n isDeferredMode: true,\r\n selectionFilter: this.option(\"selectionFilter\")\r\n })\r\n }\r\n },\r\n _loadDataSource() {\r\n var that = this;\r\n return that.callBase().always(() => {\r\n that.getController(\"selection\").refresh()\r\n })\r\n },\r\n _processDataItem(item, options) {\r\n var selectionController = this.getController(\"selection\");\r\n var hasSelectColumn = selectionController.isSelectColumnVisible();\r\n var isDeferredSelection = options.isDeferredSelection = void 0 === options.isDeferredSelection ? this.option(\"selection.deferred\") : options.isDeferredSelection;\r\n var dataItem = this.callBase.apply(this, arguments);\r\n dataItem.isSelected = selectionController.isRowSelected(isDeferredSelection ? dataItem.data : dataItem.key);\r\n if (hasSelectColumn && dataItem.values) {\r\n for (var i = 0; i < options.visibleColumns.length; i++) {\r\n if (\"select\" === options.visibleColumns[i].command) {\r\n dataItem.values[i] = dataItem.isSelected;\r\n break\r\n }\r\n }\r\n }\r\n return dataItem\r\n },\r\n refresh(options) {\r\n var that = this;\r\n var d = new Deferred;\r\n this.callBase.apply(this, arguments).done(() => {\r\n if (!options || options.selection) {\r\n that.getController(\"selection\").refresh().done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve()\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _handleDataChanged(e) {\r\n this.callBase.apply(this, arguments);\r\n if ((!e || \"refresh\" === e.changeType) && !this._repaintChangesOnly) {\r\n this.getController(\"selection\").focusedItemIndex(-1)\r\n }\r\n },\r\n _applyChange(change) {\r\n if (change && \"updateSelection\" === change.changeType) {\r\n change.items.forEach((item, index) => {\r\n var currentItem = this._items[index];\r\n if (currentItem) {\r\n currentItem.isSelected = item.isSelected;\r\n currentItem.values = item.values\r\n }\r\n });\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _endUpdateCore() {\r\n var changes = this._changes;\r\n var isUpdateSelection = changes.length > 1 && changes.every(change => \"updateSelection\" === change.changeType);\r\n if (isUpdateSelection) {\r\n var itemIndexes = changes.map(change => change.itemIndexes || []).reduce((a, b) => a.concat(b));\r\n this._changes = [{\r\n changeType: \"updateSelection\",\r\n itemIndexes: itemIndexes\r\n }]\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n contextMenu: {\r\n _contextMenuPrepared(options) {\r\n var dxEvent = options.event;\r\n if (dxEvent.originalEvent && \"dxhold\" !== dxEvent.originalEvent.type || options.items && options.items.length > 0) {\r\n return\r\n }\r\n processLongTap(this, dxEvent)\r\n }\r\n }\r\n },\r\n views: {\r\n columnHeadersView: {\r\n init() {\r\n this.callBase();\r\n this.getController(\"selection\").selectionChanged.add(this._updateSelectAllValue.bind(this))\r\n },\r\n _updateSelectAllValue() {\r\n var $element = this.element();\r\n var $editor = $element && $element.find(\".\".concat(SELECT_CHECKBOX_CLASS));\r\n if ($element && $editor.length && \"multiple\" === this.option(\"selection.mode\")) {\r\n var selectAllValue = this.getController(\"selection\").isSelectAll();\r\n var hasSelection = false !== selectAllValue;\r\n var isVisible = this.option(\"selection.allowSelectAll\") ? !this.getController(\"data\").isEmpty() : hasSelection;\r\n $editor.dxCheckBox(\"instance\").option({\r\n visible: isVisible,\r\n value: selectAllValue\r\n })\r\n }\r\n },\r\n _handleDataChanged(e) {\r\n this.callBase(e);\r\n if (!e || \"refresh\" === e.changeType || e.repaintChangesOnly && \"update\" === e.changeType) {\r\n this.waitAsyncTemplates().done(() => {\r\n this._updateSelectAllValue()\r\n })\r\n }\r\n },\r\n _renderSelectAllCheckBox($container, column) {\r\n var that = this;\r\n var selectionController = that.getController(\"selection\");\r\n var isEmptyData = that.getController(\"data\").isEmpty();\r\n var groupElement = $(\"<div>\").appendTo($container).addClass(SELECT_CHECKBOX_CLASS);\r\n that.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaSelectAll\"), groupElement);\r\n that.getController(\"editorFactory\").createEditor(groupElement, extend({}, column, {\r\n parentType: \"headerRow\",\r\n dataType: \"boolean\",\r\n value: selectionController.isSelectAll(),\r\n editorOptions: {\r\n visible: !isEmptyData && (that.option(\"selection.allowSelectAll\") || false !== selectionController.isSelectAll())\r\n },\r\n tabIndex: that.option(\"useLegacyKeyboardNavigation\") ? -1 : that.option(\"tabIndex\") || 0,\r\n setValue(value, e) {\r\n var allowSelectAll = that.option(\"selection.allowSelectAll\");\r\n e.component.option(\"visible\", allowSelectAll || false !== e.component.option(\"value\"));\r\n if (!e.event || selectionController.isSelectAll() === value) {\r\n return\r\n }\r\n if (e.value && !allowSelectAll) {\r\n e.component.option(\"value\", false)\r\n } else {\r\n e.value ? selectionController.selectAll() : selectionController.deselectAll()\r\n }\r\n e.event.preventDefault()\r\n }\r\n }));\r\n return groupElement\r\n },\r\n _attachSelectAllCheckBoxClickEvent($element) {\r\n eventsEngine.on($element, clickEventName, this.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (!$(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n eventsEngine.trigger($(event.currentTarget).children(\".\".concat(SELECT_CHECKBOX_CLASS)), clickEventName)\r\n }\r\n event.preventDefault()\r\n }))\r\n }\r\n },\r\n rowsView: {\r\n renderSelectCheckBoxContainer($container, options) {\r\n if (\"data\" === options.rowType && !options.row.isNewRow) {\r\n $container.addClass(EDITOR_CELL_CLASS);\r\n this._attachCheckBoxClickEvent($container);\r\n this._renderSelectCheckBox($container, options)\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n },\r\n _renderSelectCheckBox(container, options) {\r\n var groupElement = $(\"<div>\").addClass(SELECT_CHECKBOX_CLASS).appendTo(container);\r\n this.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaSelectRow\"), groupElement);\r\n this.getController(\"editorFactory\").createEditor(groupElement, extend({}, options.column, {\r\n parentType: \"dataRow\",\r\n dataType: \"boolean\",\r\n lookup: null,\r\n value: options.value,\r\n setValue(value, e) {\r\n var _a;\r\n if (\"keydown\" === (null === (_a = null === e || void 0 === e ? void 0 : e.event) || void 0 === _a ? void 0 : _a.type)) {\r\n eventsEngine.trigger(e.element, clickEventName, e)\r\n }\r\n },\r\n row: options.row\r\n }));\r\n return groupElement\r\n },\r\n _attachCheckBoxClickEvent($element) {\r\n eventsEngine.on($element, clickEventName, this.createAction((function(e) {\r\n var selectionController = this.getController(\"selection\");\r\n var {\r\n event: event\r\n } = e;\r\n var rowIndex = this.getRowIndex($(event.currentTarget).closest(\".\".concat(ROW_CLASS)));\r\n if (rowIndex >= 0) {\r\n selectionController.startSelectionWithCheckboxes();\r\n selectionController.changeItemSelection(rowIndex, {\r\n shift: event.shiftKey\r\n });\r\n if ($(event.target).closest(\".\".concat(SELECT_CHECKBOX_CLASS)).length) {\r\n this.getController(\"data\").updateItems({\r\n changeType: \"updateSelection\",\r\n itemIndexes: [rowIndex]\r\n })\r\n }\r\n }\r\n })))\r\n },\r\n _update(change) {\r\n var that = this;\r\n var tableElements = that.getTableElements();\r\n if (\"updateSelection\" === change.changeType) {\r\n if (tableElements.length > 0) {\r\n each(tableElements, (_, tableElement) => {\r\n each(change.itemIndexes || [], (_, index) => {\r\n var $row;\r\n if (change.items[index]) {\r\n $row = that._getRowElements($(tableElement)).eq(index);\r\n if ($row.length) {\r\n var {\r\n isSelected: isSelected\r\n } = change.items[index];\r\n $row.toggleClass(ROW_SELECTION_CLASS, void 0 === isSelected ? false : isSelected).find(\".\".concat(SELECT_CHECKBOX_CLASS)).dxCheckBox(\"option\", \"value\", isSelected);\r\n that.setAria(\"selected\", isSelected, $row)\r\n }\r\n }\r\n })\r\n });\r\n that._updateCheckboxesClass()\r\n }\r\n } else {\r\n that.callBase(change)\r\n }\r\n },\r\n _createTable() {\r\n var that = this;\r\n var selectionMode = that.option(\"selection.mode\");\r\n var $table = that.callBase.apply(that, arguments);\r\n if (\"none\" !== selectionMode) {\r\n if (\"onLongTap\" === that.option(SHOW_CHECKBOXES_MODE) || !touch) {\r\n eventsEngine.on($table, addNamespace(holdEvent.name, \"dxDataGridRowsView\"), \".\".concat(DATA_ROW_CLASS), that.createAction(e => {\r\n processLongTap(that.component, e.event);\r\n e.event.stopPropagation()\r\n }))\r\n }\r\n eventsEngine.on($table, \"mousedown selectstart\", that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n if (event.shiftKey) {\r\n event.preventDefault()\r\n }\r\n }))\r\n }\r\n return $table\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var {\r\n isSelected: isSelected\r\n } = row;\r\n if (isSelected) {\r\n $row.addClass(ROW_SELECTION_CLASS)\r\n }\r\n var selectionMode = this.option(SELECTION_MODE);\r\n if (\"none\" !== selectionMode) {\r\n this.setAria(\"selected\", isSelected, $row)\r\n }\r\n }\r\n return $row\r\n },\r\n _rowClick(e) {\r\n var dxEvent = e.event;\r\n var isSelectionDisabled = $(dxEvent.target).closest(\".\".concat(SELECTION_DISABLED_CLASS)).length;\r\n if (!this.isClickableElement($(dxEvent.target))) {\r\n if (!isSelectionDisabled && (\"multiple\" !== this.option(SELECTION_MODE) || \"always\" !== this.option(SHOW_CHECKBOXES_MODE))) {\r\n if (this.getController(\"selection\").changeItemSelection(e.rowIndex, {\r\n control: isCommandKeyPressed(dxEvent),\r\n shift: dxEvent.shiftKey\r\n })) {\r\n dxEvent.preventDefault();\r\n e.handled = true\r\n }\r\n }\r\n this.callBase(e)\r\n }\r\n },\r\n isClickableElement($target) {\r\n var isCommandSelect = $target.closest(\".\".concat(COMMAND_SELECT_CLASS)).length;\r\n return !!isCommandSelect\r\n },\r\n _renderCore(change) {\r\n var deferred = this.callBase(change);\r\n this._updateCheckboxesClass();\r\n return deferred\r\n },\r\n _updateCheckboxesClass() {\r\n var tableElements = this.getTableElements();\r\n var selectionController = this.getController(\"selection\");\r\n var isCheckBoxesHidden = selectionController.isSelectColumnVisible() && !selectionController.isSelectionWithCheckboxes();\r\n each(tableElements, (_, tableElement) => {\r\n $(tableElement).toggleClass(CHECKBOXES_HIDDEN_CLASS, isCheckBoxesHidden)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n selectionModule\r\n} from \"../../../grids/grid_core/selection/m_selection\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"selection\", selectionModule);\r\n","/**\r\n * DevExtreme (esm/ui/tree_view/ui.tree_view.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n asyncNoop,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isDefined,\r\n isPrimitive,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport CheckBox from \"../check_box\";\r\nimport HierarchicalCollectionWidget from \"../hierarchical_collection/ui.hierarchical_collection_widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n name as dblclickEvent\r\n} from \"../../events/double_click\";\r\nimport fx from \"../../animation/fx\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n fromPromise,\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport {\r\n getRelativeOffset\r\n} from \"../../renovation/ui/scroll_view/utils/get_relative_offset\";\r\nimport {\r\n SCROLLABLE_CONTENT_CLASS,\r\n DIRECTION_HORIZONTAL,\r\n DIRECTION_VERTICAL\r\n} from \"../../renovation/ui/scroll_view/common/consts\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CLASS = \"\".concat(WIDGET_CLASS, \"-node\");\r\nvar NODE_CONTAINER_CLASS = \"\".concat(NODE_CLASS, \"-container\");\r\nvar NODE_LOAD_INDICATOR_CLASS = \"\".concat(NODE_CLASS, \"-loadindicator\");\r\nvar OPENED_NODE_CONTAINER_CLASS = \"\".concat(NODE_CLASS, \"-container-opened\");\r\nvar IS_LEAF = \"\".concat(NODE_CLASS, \"-is-leaf\");\r\nvar ITEM_CLASS = \"\".concat(WIDGET_CLASS, \"-item\");\r\nvar ITEM_WITH_CHECKBOX_CLASS = \"\".concat(ITEM_CLASS, \"-with-checkbox\");\r\nvar ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS = \"\".concat(ITEM_CLASS, \"-with-custom-expander-icon\");\r\nvar CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-expander-icon-item-container\");\r\nvar ITEM_WITHOUT_CHECKBOX_CLASS = \"\".concat(ITEM_CLASS, \"-without-checkbox\");\r\nvar ITEM_DATA_KEY = \"\".concat(ITEM_CLASS, \"-data\");\r\nvar TOGGLE_ITEM_VISIBILITY_CLASS = \"\".concat(WIDGET_CLASS, \"-toggle-item-visibility\");\r\nvar CUSTOM_COLLAPSE_ICON_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-collapse-icon\");\r\nvar CUSTOM_EXPAND_ICON_CLASS = \"\".concat(WIDGET_CLASS, \"-custom-expand-icon\");\r\nvar LOAD_INDICATOR_CLASS = \"\".concat(WIDGET_CLASS, \"-loadindicator\");\r\nvar LOAD_INDICATOR_WRAPPER_CLASS = \"\".concat(WIDGET_CLASS, \"-loadindicator-wrapper\");\r\nvar TOGGLE_ITEM_VISIBILITY_OPENED_CLASS = \"\".concat(WIDGET_CLASS, \"-toggle-item-visibility-opened\");\r\nvar SELECT_ALL_ITEM_CLASS = \"\".concat(WIDGET_CLASS, \"-select-all-item\");\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar SELECTED_ITEM_CLASS = \"dx-state-selected\";\r\nvar EXPAND_EVENT_NAMESPACE = \"dxTreeView_expand\";\r\nvar DATA_ITEM_ID = \"data-item-id\";\r\nvar TreeViewBase = HierarchicalCollectionWidget.inherit({\r\n _supportedKeys: function(e) {\r\n var click = e => {\r\n var $itemElement = $(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n e.target = $itemElement;\r\n e.currentTarget = $itemElement;\r\n this._itemClickHandler(e, $itemElement.children(\".\" + ITEM_CLASS));\r\n var expandEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var expandByClick = expandEventName === addNamespace(clickEventName, EXPAND_EVENT_NAMESPACE);\r\n if (expandByClick) {\r\n this._expandEventHandler(e)\r\n }\r\n };\r\n var select = e => {\r\n e.preventDefault();\r\n var $focusedElement = $(this.option(\"focusedElement\"));\r\n var checkboxInstance = this._getCheckBoxInstance($focusedElement);\r\n if (!checkboxInstance.option(\"disabled\")) {\r\n var currentState = checkboxInstance.option(\"value\");\r\n this._updateItemSelection(!currentState, $focusedElement.find(\".\" + ITEM_CLASS).get(0), true)\r\n }\r\n };\r\n var toggleExpandedNestedItems = function(state, e) {\r\n if (!this.option(\"expandAllEnabled\")) {\r\n return\r\n }\r\n e.preventDefault();\r\n var $rootElement = $(this.option(\"focusedElement\"));\r\n if (!$rootElement.length) {\r\n return\r\n }\r\n var rootItem = this._getItemData($rootElement.find(\".\".concat(ITEM_CLASS)));\r\n this._toggleExpandedNestedItems([rootItem], state)\r\n };\r\n return extend(this.callBase(), {\r\n enter: this._showCheckboxes() ? select : click,\r\n space: this._showCheckboxes() ? select : click,\r\n asterisk: toggleExpandedNestedItems.bind(this, true),\r\n minus: toggleExpandedNestedItems.bind(this, false)\r\n })\r\n },\r\n _toggleExpandedNestedItems: function(items, state) {\r\n if (!items) {\r\n return\r\n }\r\n for (var i = 0, len = items.length; i < len; i++) {\r\n var item = items[i];\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n this._toggleExpandedState(node, state);\r\n this._toggleExpandedNestedItems(item.items, state)\r\n }\r\n },\r\n _getNodeElement: function(node, cache) {\r\n var key = this._encodeString(node.internalFields.key);\r\n if (cache) {\r\n if (!cache.$nodeByKey) {\r\n cache.$nodeByKey = {};\r\n this.$element().find(\".\".concat(NODE_CLASS)).each((function() {\r\n var $node = $(this);\r\n var key = $node.attr(DATA_ITEM_ID);\r\n cache.$nodeByKey[key] = $node\r\n }))\r\n }\r\n return cache.$nodeByKey[key] || $()\r\n }\r\n var element = this.$element().get(0).querySelector(\"[\".concat(DATA_ITEM_ID, '=\"').concat(key, '\"]'));\r\n return $(element)\r\n },\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _widgetClass: function() {\r\n return WIDGET_CLASS\r\n },\r\n _getDefaultOptions: function() {\r\n var defaultOptions = extend(this.callBase(), {\r\n animationEnabled: true,\r\n dataStructure: \"tree\",\r\n deferRendering: true,\r\n expandAllEnabled: false,\r\n hasItemsExpr: \"hasItems\",\r\n selectNodesRecursive: true,\r\n expandNodesRecursive: true,\r\n showCheckBoxesMode: \"none\",\r\n expandIcon: null,\r\n collapseIcon: null,\r\n selectAllText: messageLocalization.format(\"dxList-selectAll\"),\r\n onItemSelectionChanged: null,\r\n onItemExpanded: null,\r\n onItemCollapsed: null,\r\n scrollDirection: \"vertical\",\r\n useNativeScrolling: true,\r\n virtualModeEnabled: false,\r\n rootValue: 0,\r\n focusStateEnabled: false,\r\n selectionMode: \"multiple\",\r\n expandEvent: \"dblclick\",\r\n selectByClick: false,\r\n createChildren: null,\r\n onSelectAllValueChanged: null\r\n });\r\n return extend(true, defaultOptions, {\r\n integrationOptions: {\r\n useDeferUpdateForTemplates: false\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }])\r\n },\r\n _initSelectedItems: noop,\r\n _syncSelectionOptions: asyncNoop,\r\n _fireSelectionChanged: function() {\r\n var selectionChangePromise = this._selectionChangePromise;\r\n when(selectionChangePromise).done(function() {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })()\r\n }.bind(this))\r\n },\r\n _createSelectAllValueChangedAction: function() {\r\n this._selectAllValueChangedAction = this._createActionByOption(\"onSelectAllValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _fireSelectAllValueChanged: function(value) {\r\n this._selectAllValueChangedAction({\r\n value: value\r\n })\r\n },\r\n _checkBoxModeChange: function(value, previousValue) {\r\n if (\"none\" === previousValue || \"none\" === value) {\r\n return\r\n }\r\n var selectAllExists = this._$selectAllItem && this._$selectAllItem.length;\r\n switch (value) {\r\n case \"selectAll\":\r\n if (!selectAllExists) {\r\n this._createSelectAllValueChangedAction();\r\n this._renderSelectAllItem()\r\n }\r\n break;\r\n case \"normal\":\r\n if (selectAllExists) {\r\n this._$selectAllItem.remove();\r\n delete this._$selectAllItem\r\n }\r\n }\r\n },\r\n _removeSelection: function() {\r\n var that = this;\r\n each(this._dataAdapter.getFullData(), (function(_, node) {\r\n if (!that._hasChildren(node)) {\r\n return\r\n }\r\n that._dataAdapter.toggleSelection(node.internalFields.key, false, true)\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"selectAllText\":\r\n if (this._$selectAllItem) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"text\", value)\r\n }\r\n break;\r\n case \"showCheckBoxesMode\":\r\n this._checkBoxModeChange(value, previousValue);\r\n this._invalidate();\r\n break;\r\n case \"scrollDirection\":\r\n this.getScrollable().option(\"direction\", value);\r\n break;\r\n case \"useNativeScrolling\":\r\n this.getScrollable().option(\"useNative\", value);\r\n break;\r\n case \"items\":\r\n delete this._$selectAllItem;\r\n this.callBase(args);\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initDataAdapter();\r\n this._filter = {};\r\n break;\r\n case \"hasItemsExpr\":\r\n this._initAccessors();\r\n this.repaint();\r\n break;\r\n case \"expandEvent\":\r\n this._initExpandEvent();\r\n break;\r\n case \"deferRendering\":\r\n case \"dataStructure\":\r\n case \"rootValue\":\r\n case \"createChildren\":\r\n case \"expandNodesRecursive\":\r\n case \"onItemSelectionChanged\":\r\n case \"onItemExpanded\":\r\n case \"onItemCollapsed\":\r\n case \"expandAllEnabled\":\r\n case \"animationEnabled\":\r\n case \"virtualModeEnabled\":\r\n case \"selectByClick\":\r\n break;\r\n case \"selectionMode\":\r\n this._initDataAdapter();\r\n this.callBase(args);\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n this._createSelectAllValueChangedAction();\r\n break;\r\n case \"selectNodesRecursive\":\r\n this._dataAdapter.setOption(\"recursiveSelection\", args.value);\r\n this.repaint();\r\n break;\r\n case \"expandIcon\":\r\n case \"collapseIcon\":\r\n this.repaint();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _initDataSource: function() {\r\n if (this._useCustomChildrenLoader()) {\r\n this._loadChildrenByCustomLoader(null).done(function(newItems) {\r\n if (newItems && newItems.length) {\r\n this.option(\"items\", newItems)\r\n }\r\n }.bind(this))\r\n } else {\r\n this.callBase();\r\n this._isVirtualMode() && this._initVirtualMode()\r\n }\r\n },\r\n _initVirtualMode: function() {\r\n var filter = this._filter;\r\n if (!filter.custom) {\r\n filter.custom = this._dataSource.filter()\r\n }\r\n if (!filter.internal) {\r\n filter.internal = [this.option(\"parentIdExpr\"), this.option(\"rootValue\")]\r\n }\r\n },\r\n _useCustomChildrenLoader: function() {\r\n return isFunction(this.option(\"createChildren\")) && this._isDataStructurePlain()\r\n },\r\n _loadChildrenByCustomLoader: function(parentNode) {\r\n var invocationResult = this.option(\"createChildren\").call(this, parentNode);\r\n if (Array.isArray(invocationResult)) {\r\n return (new Deferred).resolve(invocationResult).promise()\r\n }\r\n if (invocationResult && isFunction(invocationResult.then)) {\r\n return fromPromise(invocationResult)\r\n }\r\n return (new Deferred).resolve([]).promise()\r\n },\r\n _combineFilter: function() {\r\n if (!this._filter.custom || !this._filter.custom.length) {\r\n return this._filter.internal\r\n }\r\n return [this._filter.custom, this._filter.internal]\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._renderEmptyMessage()\r\n },\r\n _init: function() {\r\n this._filter = {};\r\n this.callBase();\r\n this._initStoreChangeHandlers()\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && this._isVirtualMode() && items.length) {\r\n return\r\n }\r\n this.option(\"items\", newItems)\r\n },\r\n _removeTreeViewLoadIndicator: function() {\r\n if (!this._treeViewLoadIndicator) {\r\n return\r\n }\r\n this._treeViewLoadIndicator.remove();\r\n this._treeViewLoadIndicator = null\r\n },\r\n _createTreeViewLoadIndicator: function() {\r\n this._treeViewLoadIndicator = $(\"<div>\").addClass(LOAD_INDICATOR_CLASS);\r\n this._createComponent(this._treeViewLoadIndicator, LoadIndicator, {});\r\n return this._treeViewLoadIndicator\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n var resultFilter;\r\n if (this._isVirtualMode()) {\r\n resultFilter = this._combineFilter();\r\n this._dataSource.filter(resultFilter)\r\n }\r\n if (isLoading && !this._dataSource.isLoaded()) {\r\n this.option(\"items\", []);\r\n var $wrapper = $(\"<div>\").addClass(LOAD_INDICATOR_WRAPPER_CLASS);\r\n this._createTreeViewLoadIndicator().appendTo($wrapper);\r\n this.itemsContainer().append($wrapper);\r\n if (this._isVirtualMode() && this._dataSource.filter() !== resultFilter) {\r\n this._dataSource.filter([])\r\n }\r\n } else {\r\n this._removeTreeViewLoadIndicator()\r\n }\r\n },\r\n _initStoreChangeHandlers: function() {\r\n if (\"plain\" !== this.option(\"dataStructure\")) {\r\n return\r\n }\r\n this._dataSource && this._dataSource.store().on(\"inserted\", newItem => {\r\n this.option().items = this.option(\"items\").concat(newItem);\r\n this._dataAdapter.addItem(newItem);\r\n if (!this._dataAdapter.isFiltered(newItem)) {\r\n return\r\n }\r\n this._updateLevel(this._parentIdGetter(newItem))\r\n }).on(\"removed\", removedKey => {\r\n var node = this._dataAdapter.getNodeByKey(removedKey);\r\n if (isDefined(node)) {\r\n this.option(\"items\")[this._dataAdapter.getIndexByKey(node.internalFields.key)] = 0;\r\n this._markChildrenItemsToRemove(node);\r\n this._removeItems();\r\n this._dataAdapter.removeItem(removedKey);\r\n this._updateLevel(this._parentIdGetter(node))\r\n }\r\n })\r\n },\r\n _markChildrenItemsToRemove: function(node) {\r\n var keys = node.internalFields.childrenKeys;\r\n each(keys, (_, key) => {\r\n this.option(\"items\")[this._dataAdapter.getIndexByKey(key)] = 0;\r\n this._markChildrenItemsToRemove(this._dataAdapter.getNodeByKey(key))\r\n })\r\n },\r\n _removeItems: function() {\r\n var items = extend(true, [], this.option(\"items\"));\r\n var counter = 0;\r\n each(items, (index, item) => {\r\n if (!item) {\r\n this.option(\"items\").splice(index - counter, 1);\r\n counter++\r\n }\r\n })\r\n },\r\n _updateLevel: function(parentId) {\r\n var $container = this._getContainerByParentKey(parentId);\r\n this._renderItems($container, this._dataAdapter.getChildrenNodes(parentId))\r\n },\r\n _getOldContainer: function($itemElement) {\r\n if ($itemElement.length) {\r\n return $itemElement.children(\".\".concat(NODE_CONTAINER_CLASS))\r\n }\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n return $(scrollable.content()).children()\r\n }\r\n return $()\r\n },\r\n _getContainerByParentKey: function(parentId) {\r\n var node = this._dataAdapter.getNodeByKey(parentId);\r\n var $itemElement = node ? this._getNodeElement(node) : [];\r\n this._getOldContainer($itemElement).remove();\r\n var $container = this._renderNodeContainer($itemElement);\r\n if (this._isRootLevel(parentId)) {\r\n var scrollable = this.getScrollable();\r\n if (!scrollable) {\r\n this._renderScrollableContainer()\r\n }\r\n $(scrollable.content()).append($container)\r\n }\r\n return $container\r\n },\r\n _isRootLevel: function(parentId) {\r\n return parentId === this.option(\"rootValue\")\r\n },\r\n _getAccessors: function() {\r\n var accessors = this.callBase();\r\n accessors.push(\"hasItems\");\r\n return accessors\r\n },\r\n _getDataAdapterOptions: function() {\r\n var _this$_dataSource, _this$_dataSource$loa, _this$_dataSource$loa2;\r\n return {\r\n rootValue: this.option(\"rootValue\"),\r\n multipleSelection: !this._isSingleSelection(),\r\n recursiveSelection: this._isRecursiveSelection(),\r\n recursiveExpansion: this.option(\"expandNodesRecursive\"),\r\n selectionRequired: this.option(\"selectionRequired\"),\r\n dataType: this.option(\"dataStructure\"),\r\n sort: this._dataSource && this._dataSource.sort(),\r\n langParams: null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : null === (_this$_dataSource$loa = _this$_dataSource.loadOptions) || void 0 === _this$_dataSource$loa ? void 0 : null === (_this$_dataSource$loa2 = _this$_dataSource$loa.call(_this$_dataSource)) || void 0 === _this$_dataSource$loa2 ? void 0 : _this$_dataSource$loa2.langParams\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._renderScrollableContainer();\r\n this._renderEmptyMessage(this._dataAdapter.getRootNodes());\r\n this.callBase();\r\n this.setAria(\"role\", \"tree\")\r\n },\r\n _renderContentImpl: function() {\r\n var $nodeContainer = this._renderNodeContainer();\r\n $(this.getScrollable().content()).append($nodeContainer);\r\n if (!this.option(\"items\") || !this.option(\"items\").length) {\r\n return\r\n }\r\n this._renderItems($nodeContainer, this._dataAdapter.getRootNodes());\r\n this._initExpandEvent();\r\n if (this._selectAllEnabled()) {\r\n this._createSelectAllValueChangedAction();\r\n this._renderSelectAllItem($nodeContainer)\r\n }\r\n },\r\n _isVirtualMode: function() {\r\n return this.option(\"virtualModeEnabled\") && this._isDataStructurePlain() && !!this.option(\"dataSource\")\r\n },\r\n _isDataStructurePlain: function() {\r\n return \"plain\" === this.option(\"dataStructure\")\r\n },\r\n _fireContentReadyAction: function() {\r\n var dataSource = this.getDataSource();\r\n var skipContentReadyAction = dataSource && !dataSource.isLoaded() || this._skipContentReadyAndItemExpanded;\r\n var scrollable = this.getScrollable();\r\n if (scrollable && hasWindow()) {\r\n scrollable.update()\r\n }\r\n if (!skipContentReadyAction) {\r\n this.callBase()\r\n }\r\n if (scrollable && hasWindow()) {\r\n scrollable.update()\r\n }\r\n },\r\n _renderScrollableContainer: function() {\r\n this._scrollable = this._createComponent($(\"<div>\").appendTo(this.$element()), Scrollable, {\r\n useNative: this.option(\"useNativeScrolling\"),\r\n direction: this.option(\"scrollDirection\"),\r\n useKeyboard: false\r\n })\r\n },\r\n _renderNodeContainer: function($parent) {\r\n var $container = $(\"<ul>\").addClass(NODE_CONTAINER_CLASS);\r\n this.setAria(\"role\", \"group\", $container);\r\n if ($parent && $parent.length) {\r\n var itemData = this._getItemData($parent.children(\".\" + ITEM_CLASS));\r\n if (this._expandedGetter(itemData)) {\r\n $container.addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n $container.appendTo($parent)\r\n }\r\n return $container\r\n },\r\n _createDOMElement: function($nodeContainer, node) {\r\n var _node$internalFields, _node$internalFields$;\r\n var $node = $(\"<li>\").addClass(NODE_CLASS).attr(DATA_ITEM_ID, this._encodeString(node.internalFields.key)).prependTo($nodeContainer);\r\n var attrs = {\r\n role: \"treeitem\",\r\n label: this._displayGetter(node.internalFields.item) || \"\",\r\n level: this._getLevel($nodeContainer)\r\n };\r\n var hasChildNodes = !!(null !== node && void 0 !== node && null !== (_node$internalFields = node.internalFields) && void 0 !== _node$internalFields && null !== (_node$internalFields$ = _node$internalFields.childrenKeys) && void 0 !== _node$internalFields$ && _node$internalFields$.length);\r\n if (hasChildNodes) {\r\n attrs.expanded = node.internalFields.expanded || false\r\n }\r\n this.setAria(attrs, $node);\r\n return $node\r\n },\r\n _getLevel: function($nodeContainer) {\r\n var parent = $nodeContainer.parent();\r\n return parent.hasClass(\"dx-scrollable-content\") ? 1 : parseInt(parent.attr(\"aria-level\")) + 1\r\n },\r\n _showCheckboxes: function() {\r\n return \"none\" !== this.option(\"showCheckBoxesMode\")\r\n },\r\n _hasCustomExpanderIcons: function() {\r\n return this.option(\"expandIcon\") || this.option(\"collapseIcon\")\r\n },\r\n _selectAllEnabled: function() {\r\n return \"selectAll\" === this.option(\"showCheckBoxesMode\") && !this._isSingleSelection()\r\n },\r\n _renderItems: function($nodeContainer, nodes) {\r\n var length = nodes.length - 1;\r\n for (var i = length; i >= 0; i--) {\r\n this._renderItem(i, nodes[i], $nodeContainer)\r\n }\r\n this._renderedItemsCount += nodes.length\r\n },\r\n _renderItem: function(nodeIndex, node, $nodeContainer) {\r\n var $node = this._createDOMElement($nodeContainer, node);\r\n var nodeData = node.internalFields;\r\n var showCheckBox = this._showCheckboxes();\r\n $node.addClass(showCheckBox ? ITEM_WITH_CHECKBOX_CLASS : ITEM_WITHOUT_CHECKBOX_CLASS);\r\n $node.toggleClass(INVISIBLE_STATE_CLASS, false === nodeData.item.visible);\r\n if (this._hasCustomExpanderIcons()) {\r\n $node.addClass(ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS);\r\n $nodeContainer.addClass(CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS)\r\n }\r\n showCheckBox && this._renderCheckBox($node, node);\r\n this.setAria(\"selected\", nodeData.selected, $node);\r\n this._toggleSelectedClass($node, nodeData.selected);\r\n if (nodeData.disabled) {\r\n this.setAria(\"disabled\", nodeData.disabled, $node)\r\n }\r\n this.callBase(this._renderedItemsCount + nodeIndex, nodeData.item, $node);\r\n if (false !== nodeData.item.visible) {\r\n this._renderChildren($node, node)\r\n }\r\n },\r\n _setAriaSelectionAttribute: noop,\r\n _renderChildren: function($node, node) {\r\n if (!this._hasChildren(node)) {\r\n this._addLeafClass($node);\r\n return\r\n }\r\n if (this._hasCustomExpanderIcons()) {\r\n this._renderCustomExpanderIcons($node, node)\r\n } else {\r\n this._renderDefaultExpanderIcons($node, node)\r\n }\r\n if (this.option(\"deferRendering\") && !node.internalFields.expanded) {\r\n return\r\n }\r\n this._loadSublevel(node).done(childNodes => {\r\n this._renderSublevel($node, this._getActualNode(node), childNodes)\r\n })\r\n },\r\n _getActualNode: function(cachedNode) {\r\n return this._dataAdapter.getNodeByKey(cachedNode.internalFields.key)\r\n },\r\n _hasChildren: function(node) {\r\n if (this._isVirtualMode() || this._useCustomChildrenLoader()) {\r\n return false !== this._hasItemsGetter(node.internalFields.item)\r\n }\r\n return this.callBase(node)\r\n },\r\n _loadSublevel: function(node) {\r\n var deferred = new Deferred;\r\n var childrenNodes = this._getChildNodes(node);\r\n if (childrenNodes.length) {\r\n deferred.resolve(childrenNodes)\r\n } else {\r\n this._loadNestedItems(node).done(items => {\r\n deferred.resolve(this._dataAdapter.getNodesByItems(items))\r\n })\r\n }\r\n return deferred.promise()\r\n },\r\n _renderSublevel: function($node, node, childNodes) {\r\n var $nestedNodeContainer = this._renderNodeContainer($node, node);\r\n var childNodesByChildrenKeys = childNodes.filter(childNode => -1 !== node.internalFields.childrenKeys.indexOf(childNode.internalFields.key));\r\n this._renderItems($nestedNodeContainer, childNodesByChildrenKeys);\r\n if (childNodesByChildrenKeys.length && !node.internalFields.selected) {\r\n var firstChild = childNodesByChildrenKeys[0];\r\n this._updateParentsState(firstChild, this._getNodeElement(firstChild))\r\n }\r\n this._normalizeIconState($node, childNodesByChildrenKeys.length);\r\n if (node.internalFields.expanded) {\r\n $nestedNodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n },\r\n _executeItemRenderAction: function(itemIndex, itemData, itemElement) {\r\n var node = this._getNode(itemElement);\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: itemIndex,\r\n itemData: itemData,\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n _addLeafClass: function($node) {\r\n $node.addClass(IS_LEAF)\r\n },\r\n _expandEventHandler: function(e) {\r\n var $nodeElement = $(e.currentTarget.parentNode);\r\n if (!$nodeElement.hasClass(IS_LEAF)) {\r\n this._toggleExpandedState(e.currentTarget, void 0, e)\r\n }\r\n },\r\n _initExpandEvent: function() {\r\n var expandedEventName = this._getEventNameByOption(this.option(\"expandEvent\"));\r\n var $itemsContainer = this._itemContainer();\r\n var itemSelector = this._itemSelector();\r\n eventsEngine.off($itemsContainer, \".\" + EXPAND_EVENT_NAMESPACE, itemSelector);\r\n eventsEngine.on($itemsContainer, expandedEventName, itemSelector, this._expandEventHandler.bind(this))\r\n },\r\n _getEventNameByOption: function(name) {\r\n var event = \"click\" === name ? clickEventName : dblclickEvent;\r\n return addNamespace(event, EXPAND_EVENT_NAMESPACE)\r\n },\r\n _getNode: function(identifier) {\r\n if (!isDefined(identifier)) {\r\n return null\r\n }\r\n if (identifier.internalFields) {\r\n return identifier\r\n }\r\n if (isPrimitive(identifier)) {\r\n return this._dataAdapter.getNodeByKey(identifier)\r\n }\r\n var itemElement = $(identifier).get(0);\r\n if (!itemElement) {\r\n return null\r\n }\r\n if (domAdapter.isElementNode(itemElement)) {\r\n return this._getNodeByElement(itemElement)\r\n }\r\n return this._dataAdapter.getNodeByItem(itemElement)\r\n },\r\n _getNodeByElement: function(itemElement) {\r\n var $node = $(itemElement).closest(\".\" + NODE_CLASS);\r\n var key = this._decodeString($node.attr(DATA_ITEM_ID));\r\n return this._dataAdapter.getNodeByKey(key)\r\n },\r\n _toggleExpandedState: function(itemElement, state, e) {\r\n var node = this._getNode(itemElement);\r\n if (!node) {\r\n return (new Deferred).reject().promise()\r\n }\r\n if (node.internalFields.disabled) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var currentState = node.internalFields.expanded;\r\n if (currentState === state) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n if (this._hasChildren(node)) {\r\n var $node = this._getNodeElement(node);\r\n if ($node.find(\".\".concat(NODE_LOAD_INDICATOR_CLASS, \":not(.\").concat(INVISIBLE_STATE_CLASS, \")\")).length) {\r\n return (new Deferred).reject().promise()\r\n }\r\n if (!currentState && !this._nodeHasRenderedChildren($node)) {\r\n this._createLoadIndicator($node)\r\n }\r\n }\r\n if (!isDefined(state)) {\r\n state = !currentState\r\n }\r\n this._dataAdapter.toggleExpansion(node.internalFields.key, state);\r\n return this._updateExpandedItemsUI(node, state, e)\r\n },\r\n _nodeHasRenderedChildren($node) {\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n return $nodeContainer.not(\":empty\").length\r\n },\r\n _createLoadIndicator: function($node) {\r\n this._createComponent($(\"<div>\").addClass(NODE_LOAD_INDICATOR_CLASS), LoadIndicator, {}).$element().appendTo($node);\r\n var $icon = $node.children(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS, \",.\").concat(CUSTOM_EXPAND_ICON_CLASS));\r\n $icon.hide()\r\n },\r\n _renderExpanderIcon: function($node, node, $icon, iconClass) {\r\n $icon.appendTo($node);\r\n $icon.addClass(iconClass);\r\n if (node.internalFields.disabled) {\r\n $icon.addClass(DISABLED_STATE_CLASS)\r\n }\r\n this._renderToggleItemVisibilityIconClick($icon, node)\r\n },\r\n _renderDefaultExpanderIcons: function($node, node) {\r\n var $icon = $(\"<div>\").addClass(TOGGLE_ITEM_VISIBILITY_CLASS).appendTo($node);\r\n if (node.internalFields.expanded) {\r\n $icon.addClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS);\r\n $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n if (node.internalFields.disabled) {\r\n $icon.addClass(DISABLED_STATE_CLASS)\r\n }\r\n this._renderToggleItemVisibilityIconClick($icon, node)\r\n },\r\n _renderCustomExpanderIcons: function($node, node) {\r\n var {\r\n expandIcon: expandIcon,\r\n collapseIcon: collapseIcon\r\n } = this.option();\r\n var $expandIcon = getImageContainer(null !== expandIcon && void 0 !== expandIcon ? expandIcon : collapseIcon);\r\n var $collapseIcon = getImageContainer(null !== collapseIcon && void 0 !== collapseIcon ? collapseIcon : expandIcon);\r\n this._renderExpanderIcon($node, node, $expandIcon, CUSTOM_EXPAND_ICON_CLASS);\r\n this._renderExpanderIcon($node, node, $collapseIcon, CUSTOM_COLLAPSE_ICON_CLASS);\r\n var isNodeExpanded = node.internalFields.expanded;\r\n if (isNodeExpanded) {\r\n $node.parent().addClass(OPENED_NODE_CONTAINER_CLASS)\r\n }\r\n this._toggleCustomExpanderIcons($expandIcon, $collapseIcon, isNodeExpanded)\r\n },\r\n _renderToggleItemVisibilityIconClick: function($icon, node) {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off($icon, eventName);\r\n eventsEngine.on($icon, eventName, e => {\r\n this._toggleExpandedState(node.internalFields.key, void 0, e)\r\n })\r\n },\r\n _toggleCustomExpanderIcons: function($expandIcon, $collapseIcon, isNodeExpanded) {\r\n $collapseIcon.toggle(isNodeExpanded);\r\n $expandIcon.toggle(!isNodeExpanded)\r\n },\r\n _updateExpandedItemsUI: function(node, state, e) {\r\n var $node = this._getNodeElement(node);\r\n var isHiddenNode = !$node.length || state && $node.is(\":hidden\");\r\n if (this.option(\"expandNodesRecursive\") && isHiddenNode) {\r\n var parentNode = this._getNode(node.internalFields.parentKey);\r\n if (parentNode) {\r\n this._updateExpandedItemsUI(parentNode, state, e)\r\n }\r\n }\r\n if (!this._hasCustomExpanderIcons()) {\r\n var $icon = $node.children(\".\".concat(TOGGLE_ITEM_VISIBILITY_CLASS));\r\n $icon.toggleClass(TOGGLE_ITEM_VISIBILITY_OPENED_CLASS, state)\r\n } else if (this._nodeHasRenderedChildren($node)) {\r\n var $childExpandIcons = $node.children(\".\".concat(CUSTOM_EXPAND_ICON_CLASS));\r\n var $childCollapseIcons = $node.children(\".\".concat(CUSTOM_COLLAPSE_ICON_CLASS));\r\n this._toggleCustomExpanderIcons($childExpandIcons, $childCollapseIcons, state)\r\n }\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n var nodeContainerExists = $nodeContainer.length > 0;\r\n var completionCallback = new Deferred;\r\n if (!state || nodeContainerExists && !$nodeContainer.is(\":empty\")) {\r\n this._animateNodeContainer(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n }\r\n if (0 === node.internalFields.childrenKeys.length && (this._isVirtualMode() || this._useCustomChildrenLoader())) {\r\n this._loadNestedItemsWithUpdate(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n }\r\n this._renderSublevel($node, node, this._getChildNodes(node));\r\n this._fireContentReadyAction();\r\n this._animateNodeContainer(node, state, e, completionCallback);\r\n return completionCallback.promise()\r\n },\r\n _loadNestedItemsWithUpdate: function(node, state, e, completionCallback) {\r\n var $node = this._getNodeElement(node);\r\n this._loadNestedItems(node).done(items => {\r\n var actualNodeData = this._getActualNode(node);\r\n this._renderSublevel($node, actualNodeData, this._dataAdapter.getNodesByItems(items));\r\n if (!items || !items.length) {\r\n completionCallback.resolve();\r\n return\r\n }\r\n this._fireContentReadyAction();\r\n this._animateNodeContainer(actualNodeData, state, e, completionCallback)\r\n })\r\n },\r\n _loadNestedItems: function(node) {\r\n if (this._useCustomChildrenLoader()) {\r\n var publicNode = this._dataAdapter.getPublicNode(node);\r\n return this._loadChildrenByCustomLoader(publicNode).done(newItems => {\r\n if (!this._areNodesExists(newItems)) {\r\n this._appendItems(newItems)\r\n }\r\n })\r\n }\r\n if (!this._isVirtualMode()) {\r\n return (new Deferred).resolve([]).promise()\r\n }\r\n this._filter.internal = [this.option(\"parentIdExpr\"), node.internalFields.key];\r\n this._dataSource.filter(this._combineFilter());\r\n return this._dataSource.load().done(newItems => {\r\n if (!this._areNodesExists(newItems)) {\r\n this._appendItems(newItems)\r\n }\r\n })\r\n },\r\n _areNodesExists: function(newItems, items) {\r\n var keyOfRootItem = this.keyOf(newItems[0]);\r\n var fullData = this._dataAdapter.getFullData();\r\n return !!this._dataAdapter.getNodeByKey(keyOfRootItem, fullData)\r\n },\r\n _appendItems: function(newItems) {\r\n this.option().items = this.option(\"items\").concat(newItems);\r\n this._initDataAdapter()\r\n },\r\n _animateNodeContainer: function(node, state, e, completionCallback) {\r\n var $node = this._getNodeElement(node);\r\n var $nodeContainer = $node.children(\".\".concat(NODE_CONTAINER_CLASS));\r\n if (node && completionCallback && 0 === $nodeContainer.length) {\r\n completionCallback.resolve()\r\n }\r\n $nodeContainer.addClass(OPENED_NODE_CONTAINER_CLASS);\r\n var nodeHeight = getHeight($nodeContainer);\r\n fx.stop($nodeContainer, true);\r\n fx.animate($nodeContainer, {\r\n type: \"custom\",\r\n duration: this.option(\"animationEnabled\") ? 400 : 0,\r\n from: {\r\n maxHeight: state ? 0 : nodeHeight\r\n },\r\n to: {\r\n maxHeight: state ? nodeHeight : 0\r\n },\r\n complete: function() {\r\n $nodeContainer.css(\"maxHeight\", \"none\");\r\n $nodeContainer.toggleClass(OPENED_NODE_CONTAINER_CLASS, state);\r\n this.setAria(\"expanded\", state, $node);\r\n this.getScrollable().update();\r\n this._fireExpandedStateUpdatedEvent(state, node, e);\r\n if (completionCallback) {\r\n completionCallback.resolve()\r\n }\r\n }.bind(this)\r\n })\r\n },\r\n _fireExpandedStateUpdatedEvent: function(isExpanded, node, e) {\r\n if (!this._hasChildren(node) || this._skipContentReadyAndItemExpanded) {\r\n return\r\n }\r\n var optionName = isExpanded ? \"onItemExpanded\" : \"onItemCollapsed\";\r\n if (isDefined(e)) {\r\n this._itemDXEventHandler(e, optionName, {\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n } else {\r\n var target = this._getNodeElement(node);\r\n this._itemEventHandler(target, optionName, {\r\n event: e,\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n }\r\n },\r\n _normalizeIconState: function($node, hasNewItems) {\r\n var $loadIndicator = $node.find(\".\".concat(NODE_LOAD_INDICATOR_CLASS));\r\n if ($loadIndicator.length) {\r\n var _LoadIndicator$getIns;\r\n null === (_LoadIndicator$getIns = LoadIndicator.getInstance($loadIndicator)) || void 0 === _LoadIndicator$getIns ? void 0 : _LoadIndicator$getIns.option(\"visible\", false)\r\n }\r\n var $toggleItem = $node.children(\".\".concat(CUSTOM_COLLAPSE_ICON_CLASS, \",.\").concat(TOGGLE_ITEM_VISIBILITY_CLASS));\r\n if (hasNewItems) {\r\n $toggleItem.show();\r\n return\r\n }\r\n $toggleItem.removeClass(TOGGLE_ITEM_VISIBILITY_CLASS);\r\n $node.addClass(IS_LEAF)\r\n },\r\n _emptyMessageContainer: function() {\r\n var scrollable = this.getScrollable();\r\n return scrollable ? $(scrollable.content()) : this.callBase()\r\n },\r\n _renderContent: function() {\r\n var items = this.option(\"items\");\r\n if (items && items.length) {\r\n this._contentAlreadyRendered = true\r\n }\r\n this.callBase()\r\n },\r\n _renderSelectAllItem: function($container) {\r\n $container = $container || this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).first();\r\n this._$selectAllItem = $(\"<div>\").addClass(SELECT_ALL_ITEM_CLASS);\r\n var value = this._dataAdapter.isAllSelected();\r\n this._createComponent(this._$selectAllItem, CheckBox, {\r\n value: value,\r\n elementAttr: {\r\n \"aria-label\": \"Select All\"\r\n },\r\n text: this.option(\"selectAllText\"),\r\n onValueChanged: this._onSelectAllCheckboxValueChanged.bind(this)\r\n });\r\n this._toggleSelectedClass(this._$selectAllItem, value);\r\n $container.before(this._$selectAllItem)\r\n },\r\n _onSelectAllCheckboxValueChanged: function(args) {\r\n this._toggleSelectAll(args);\r\n this._fireSelectAllValueChanged(args.value)\r\n },\r\n _toggleSelectAll: function(args) {\r\n this._dataAdapter.toggleSelectAll(args.value);\r\n this._updateItemsUI();\r\n this._fireSelectionChanged()\r\n },\r\n _renderCheckBox: function($node, node) {\r\n var $checkbox = $(\"<div>\").appendTo($node);\r\n this._createComponent($checkbox, CheckBox, {\r\n value: node.internalFields.selected,\r\n onValueChanged: this._changeCheckboxValue.bind(this),\r\n focusStateEnabled: false,\r\n elementAttr: {\r\n \"aria-label\": \"Check State\"\r\n },\r\n disabled: this._disabledGetter(node)\r\n })\r\n },\r\n _toggleSelectedClass: function($node, value) {\r\n $node.toggleClass(SELECTED_ITEM_CLASS, !!value)\r\n },\r\n _toggleNodeDisabledState: function(node, state) {\r\n var $node = this._getNodeElement(node);\r\n var $item = $node.find(\".\" + ITEM_CLASS).eq(0);\r\n this._dataAdapter.toggleNodeDisabledState(node.internalFields.key, state);\r\n $item.toggleClass(DISABLED_STATE_CLASS, !!state);\r\n if (this._showCheckboxes()) {\r\n var checkbox = this._getCheckBoxInstance($node);\r\n checkbox.option(\"disabled\", !!state)\r\n }\r\n },\r\n _itemOptionChanged: function(item, property, value) {\r\n var node = this._dataAdapter.getNodeByItem(item);\r\n if (property === this.option(\"disabledExpr\")) {\r\n this._toggleNodeDisabledState(node, value)\r\n }\r\n },\r\n _changeCheckboxValue: function(e) {\r\n var $node = $(e.element).parent(\".\" + NODE_CLASS);\r\n var $item = $node.children(\".\" + ITEM_CLASS);\r\n var item = this._getItemData($item);\r\n var node = this._getNodeByElement($item);\r\n var value = e.value;\r\n if (node && node.internalFields.selected === value) {\r\n return\r\n }\r\n this._updateItemSelection(value, item, e.event)\r\n },\r\n _isSingleSelection: function() {\r\n return \"single\" === this.option(\"selectionMode\")\r\n },\r\n _isRecursiveSelection: function() {\r\n return this.option(\"selectNodesRecursive\") && \"single\" !== this.option(\"selectionMode\")\r\n },\r\n _isLastSelectedBranch: function(publicNode, selectedNodesKeys, deep) {\r\n var keyIndex = selectedNodesKeys.indexOf(publicNode.key);\r\n if (keyIndex >= 0) {\r\n selectedNodesKeys.splice(keyIndex, 1)\r\n }\r\n if (deep) {\r\n each(publicNode.children, function(_, childNode) {\r\n this._isLastSelectedBranch(childNode, selectedNodesKeys, true)\r\n }.bind(this))\r\n }\r\n if (publicNode.parent) {\r\n this._isLastSelectedBranch(publicNode.parent, selectedNodesKeys)\r\n }\r\n return 0 === selectedNodesKeys.length\r\n },\r\n _isLastRequired: function(node) {\r\n var selectionRequired = this.option(\"selectionRequired\");\r\n var isSingleMode = this._isSingleSelection();\r\n var selectedNodesKeys = this.getSelectedNodeKeys();\r\n if (!selectionRequired) {\r\n return\r\n }\r\n if (isSingleMode) {\r\n return 1 === selectedNodesKeys.length\r\n } else {\r\n return this._isLastSelectedBranch(node.internalFields.publicNode, selectedNodesKeys.slice(), true)\r\n }\r\n },\r\n _updateItemSelection: function(value, itemElement, dxEvent) {\r\n var node = this._getNode(itemElement);\r\n if (!node || false === node.visible) {\r\n return false\r\n }\r\n if (node.internalFields.selected === value) {\r\n return true\r\n }\r\n if (!value && this._isLastRequired(node)) {\r\n if (this._showCheckboxes()) {\r\n var $node = this._getNodeElement(node);\r\n this._getCheckBoxInstance($node).option(\"value\", true)\r\n }\r\n return false\r\n }\r\n if (value && this._isSingleSelection()) {\r\n var selectedKeys = this.getSelectedNodeKeys();\r\n each(selectedKeys, (index, key) => {\r\n this._dataAdapter.toggleSelection(key, false);\r\n this._updateItemsUI();\r\n this._fireItemSelectionChanged(this._getNode(key))\r\n })\r\n }\r\n this._dataAdapter.toggleSelection(node.internalFields.key, value);\r\n var isAllSelected = this._dataAdapter.isAllSelected();\r\n var needFireSelectAllChanged = this._selectAllEnabled() && this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\") !== isAllSelected;\r\n this._updateItemsUI();\r\n this._fireItemSelectionChanged(node, dxEvent);\r\n this._fireSelectionChanged();\r\n if (needFireSelectAllChanged) {\r\n this._fireSelectAllValueChanged(isAllSelected)\r\n }\r\n return true\r\n },\r\n _fireItemSelectionChanged: function(node, dxEvent) {\r\n var initiator = dxEvent || this._findItemElementByItem(node.internalFields.item);\r\n var handler = dxEvent ? this._itemDXEventHandler : this._itemEventHandler;\r\n handler.call(this, initiator, \"onItemSelectionChanged\", {\r\n node: this._dataAdapter.getPublicNode(node),\r\n itemData: node.internalFields.item\r\n })\r\n },\r\n _getCheckBoxInstance: function($node) {\r\n return $node.children(\".dx-checkbox\").dxCheckBox(\"instance\")\r\n },\r\n _updateItemsUI: function() {\r\n var cache = {};\r\n each(this._dataAdapter.getData(), (_, node) => {\r\n var $node = this._getNodeElement(node, cache);\r\n var nodeSelection = node.internalFields.selected;\r\n if (!$node.length) {\r\n return\r\n }\r\n this._toggleSelectedClass($node, nodeSelection);\r\n this.setAria(\"selected\", nodeSelection, $node);\r\n if (this._showCheckboxes()) {\r\n this._getCheckBoxInstance($node).option(\"value\", nodeSelection)\r\n }\r\n });\r\n if (this._selectAllEnabled()) {\r\n var selectAllCheckbox = this._$selectAllItem.dxCheckBox(\"instance\");\r\n selectAllCheckbox.option(\"onValueChanged\", void 0);\r\n selectAllCheckbox.option(\"value\", this._dataAdapter.isAllSelected());\r\n selectAllCheckbox.option(\"onValueChanged\", this._onSelectAllCheckboxValueChanged.bind(this))\r\n }\r\n },\r\n _updateParentsState: function(node, $node) {\r\n if (!$node) {\r\n return\r\n }\r\n var parentNode = this._dataAdapter.getNodeByKey(node.internalFields.parentKey);\r\n var $parentNode = $($node.parents(\".\" + NODE_CLASS)[0]);\r\n if (this._showCheckboxes()) {\r\n var parentValue = parentNode.internalFields.selected;\r\n this._getCheckBoxInstance($parentNode).option(\"value\", parentValue);\r\n this._toggleSelectedClass($parentNode, parentValue)\r\n }\r\n if (parentNode.internalFields.parentKey !== this.option(\"rootValue\")) {\r\n this._updateParentsState(parentNode, $parentNode)\r\n }\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = $(initiator).closest(\".\" + NODE_CLASS).children(\".\" + ITEM_CLASS);\r\n return action(extend(this._extendActionArgs($itemElement), actionArgs))\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n this._createEventHandler(\"onItemContextMenu\", e)\r\n },\r\n _itemHoldHandler: function(e) {\r\n this._createEventHandler(\"onItemHold\", e)\r\n },\r\n _createEventHandler: function(eventName, e) {\r\n var node = this._getNodeByElement(e.currentTarget);\r\n this._itemDXEventHandler(e, eventName, {\r\n node: this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _attachClickEvent: function() {\r\n var clickSelector = \".\" + this._itemClass();\r\n var pointerDownSelector = \".\" + NODE_CLASS + \", .\" + SELECT_ALL_ITEM_CLASS;\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var pointerDownEvent = addNamespace(pointerEvents.down, this.NAME);\r\n var $itemContainer = this._itemContainer();\r\n var that = this;\r\n eventsEngine.off($itemContainer, eventName, clickSelector);\r\n eventsEngine.off($itemContainer, pointerDownEvent, pointerDownSelector);\r\n eventsEngine.on($itemContainer, eventName, clickSelector, (function(e) {\r\n that._itemClickHandler(e, $(this))\r\n }));\r\n eventsEngine.on($itemContainer, pointerDownEvent, pointerDownSelector, (function(e) {\r\n that._itemPointerDownHandler(e)\r\n }))\r\n },\r\n _itemClickHandler: function(e, $item) {\r\n var itemData = this._getItemData($item);\r\n var node = this._getNodeByElement($item);\r\n this._itemDXEventHandler(e, \"onItemClick\", {\r\n node: this._dataAdapter.getPublicNode(node)\r\n });\r\n if (this.option(\"selectByClick\") && !e.isDefaultPrevented()) {\r\n this._updateItemSelection(!node.internalFields.selected, itemData, e)\r\n }\r\n },\r\n _updateSelectionToFirstItem: function($items, startIndex) {\r\n var itemIndex = startIndex;\r\n while (itemIndex >= 0) {\r\n var $item = $($items[itemIndex]);\r\n this._updateItemSelection(true, $item.find(\".\" + ITEM_CLASS).get(0));\r\n itemIndex--\r\n }\r\n },\r\n _updateSelectionToLastItem: function($items, startIndex) {\r\n var length = $items.length;\r\n var itemIndex = startIndex;\r\n while (itemIndex < length) {\r\n var $item = $($items[itemIndex]);\r\n this._updateItemSelection(true, $item.find(\".\" + ITEM_CLASS).get(0));\r\n itemIndex++\r\n }\r\n },\r\n focus: function() {\r\n if (this._selectAllEnabled()) {\r\n eventsEngine.trigger(this._$selectAllItem, \"focus\");\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _focusInHandler: function(e) {\r\n this._updateFocusState(e, true);\r\n var isSelectAllItem = $(e.target).hasClass(SELECT_ALL_ITEM_CLASS);\r\n if (isSelectAllItem || this.option(\"focusedElement\")) {\r\n clearTimeout(this._setFocusedItemTimeout);\r\n var element = isSelectAllItem ? getPublicElement(this._$selectAllItem) : $(this.option(\"focusedElement\"));\r\n this._setFocusedItemTimeout = setTimeout(() => {\r\n this._setFocusedItem(element)\r\n });\r\n return\r\n }\r\n var $activeItem = this._getActiveItem();\r\n this.option(\"focusedElement\", getPublicElement($activeItem.closest(\".\" + NODE_CLASS)))\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n var $target = $(e.target).closest(\".\" + NODE_CLASS + \", .\" + SELECT_ALL_ITEM_CLASS);\r\n if (!$target.length) {\r\n return\r\n }\r\n var itemElement = $target.hasClass(DISABLED_STATE_CLASS) ? null : $target;\r\n this.option(\"focusedElement\", getPublicElement(itemElement))\r\n },\r\n _findNonDisabledNodes: function($nodes) {\r\n return $nodes.not((function() {\r\n return $(this).children(\".\" + ITEM_CLASS).hasClass(DISABLED_STATE_CLASS)\r\n }))\r\n },\r\n _moveFocus: function(location, e) {\r\n var FOCUS_UP = \"up\";\r\n var FOCUS_DOWN = \"down\";\r\n var FOCUS_FIRST = \"first\";\r\n var FOCUS_LAST = \"last\";\r\n var FOCUS_LEFT = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n var FOCUS_RIGHT = this.option(\"rtlEnabled\") ? \"left\" : \"right\";\r\n this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).each((function() {\r\n fx.stop(this, true)\r\n }));\r\n var $items = this._nodeElements();\r\n if (!$items || !$items.length) {\r\n return\r\n }\r\n switch (location) {\r\n case FOCUS_UP:\r\n var $prevItem = this._prevItem($items);\r\n this.option(\"focusedElement\", getPublicElement($prevItem));\r\n var prevItemElement = this._getNodeItemElement($prevItem);\r\n this.getScrollable().scrollToElement(prevItemElement);\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateItemSelection(true, prevItemElement)\r\n }\r\n break;\r\n case FOCUS_DOWN:\r\n var $nextItem = this._nextItem($items);\r\n this.option(\"focusedElement\", getPublicElement($nextItem));\r\n var nextItemElement = this._getNodeItemElement($nextItem);\r\n this.getScrollable().scrollToElement(nextItemElement);\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateItemSelection(true, nextItemElement)\r\n }\r\n break;\r\n case FOCUS_FIRST:\r\n var $firstItem = $items.first();\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateSelectionToFirstItem($items, $items.index(this._prevItem($items)))\r\n }\r\n this.option(\"focusedElement\", getPublicElement($firstItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($firstItem));\r\n break;\r\n case FOCUS_LAST:\r\n var $lastItem = $items.last();\r\n if (e.shiftKey && this._showCheckboxes()) {\r\n this._updateSelectionToLastItem($items, $items.index(this._nextItem($items)))\r\n }\r\n this.option(\"focusedElement\", getPublicElement($lastItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($lastItem));\r\n break;\r\n case FOCUS_RIGHT:\r\n this._expandFocusedContainer();\r\n break;\r\n case FOCUS_LEFT:\r\n this._collapseFocusedContainer();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n },\r\n _getNodeItemElement: function($node) {\r\n return $node.find(\".\" + ITEM_CLASS).get(0)\r\n },\r\n _nodeElements: function() {\r\n return this.$element().find(\".\" + NODE_CLASS).not(\":hidden\")\r\n },\r\n _expandFocusedContainer: function() {\r\n var $focusedNode = $(this.option(\"focusedElement\"));\r\n if (!$focusedNode.length || $focusedNode.hasClass(IS_LEAF)) {\r\n return\r\n }\r\n var $node = $focusedNode.find(\".\".concat(NODE_CONTAINER_CLASS)).eq(0);\r\n if ($node.hasClass(OPENED_NODE_CONTAINER_CLASS)) {\r\n var $nextItem = this._nextItem(this._findNonDisabledNodes(this._nodeElements()));\r\n this.option(\"focusedElement\", getPublicElement($nextItem));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement($nextItem));\r\n return\r\n }\r\n var node = this._getNodeByElement($focusedNode.children(\".\" + ITEM_CLASS));\r\n this._toggleExpandedState(node, true)\r\n },\r\n _getClosestNonDisabledNode: function($node) {\r\n do {\r\n $node = $node.parent().closest(\".\" + NODE_CLASS)\r\n } while ($node.children(\".dx-treeview-item.dx-state-disabled\").length);\r\n return $node\r\n },\r\n _collapseFocusedContainer: function() {\r\n var $focusedNode = $(this.option(\"focusedElement\"));\r\n if (!$focusedNode.length) {\r\n return\r\n }\r\n var nodeElement = $focusedNode.find(\".\".concat(NODE_CONTAINER_CLASS)).eq(0);\r\n if (!$focusedNode.hasClass(IS_LEAF) && nodeElement.hasClass(OPENED_NODE_CONTAINER_CLASS)) {\r\n var node = this._getNodeByElement($focusedNode.children(\".\" + ITEM_CLASS));\r\n this._toggleExpandedState(node, false)\r\n } else {\r\n var collapsedNode = this._getClosestNonDisabledNode($focusedNode);\r\n collapsedNode.length && this.option(\"focusedElement\", getPublicElement(collapsedNode));\r\n this.getScrollable().scrollToElement(this._getNodeItemElement(collapsedNode))\r\n }\r\n },\r\n _encodeString: function(value) {\r\n return isString(value) ? encodeURI(value) : value\r\n },\r\n _decodeString: function(value) {\r\n return isString(value) ? decodeURI(value) : value\r\n },\r\n getScrollable: function() {\r\n return this._scrollable\r\n },\r\n updateDimensions: function() {\r\n var deferred = new Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n scrollable.update().done(() => {\r\n deferred.resolveWith(this)\r\n })\r\n } else {\r\n deferred.resolveWith(this)\r\n }\r\n return deferred.promise()\r\n },\r\n selectItem: function(itemElement) {\r\n return this._updateItemSelection(true, itemElement)\r\n },\r\n unselectItem: function(itemElement) {\r\n return this._updateItemSelection(false, itemElement)\r\n },\r\n expandItem: function(itemElement) {\r\n return this._toggleExpandedState(itemElement, true)\r\n },\r\n collapseItem: function(itemElement) {\r\n return this._toggleExpandedState(itemElement, false)\r\n },\r\n getNodes: function() {\r\n return this._dataAdapter.getTreeNodes()\r\n },\r\n getSelectedNodes: function() {\r\n return this.getSelectedNodeKeys().map(key => {\r\n var node = this._dataAdapter.getNodeByKey(key);\r\n return this._dataAdapter.getPublicNode(node)\r\n })\r\n },\r\n getSelectedNodeKeys: function() {\r\n return this._dataAdapter.getSelectedNodesKeys()\r\n },\r\n selectAll: function() {\r\n if (this._selectAllEnabled()) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\", true)\r\n } else {\r\n this._toggleSelectAll({\r\n value: true\r\n })\r\n }\r\n },\r\n unselectAll: function() {\r\n if (this._selectAllEnabled()) {\r\n this._$selectAllItem.dxCheckBox(\"instance\").option(\"value\", false)\r\n } else {\r\n this._toggleSelectAll({\r\n value: false\r\n })\r\n }\r\n },\r\n _allItemsExpandedHandler: function() {\r\n this._skipContentReadyAndItemExpanded = false;\r\n this._fireContentReadyAction()\r\n },\r\n expandAll: function() {\r\n var nodes = this._dataAdapter.getData();\r\n var expandingPromises = [];\r\n this._skipContentReadyAndItemExpanded = true;\r\n nodes.forEach(node => expandingPromises.push(this._toggleExpandedState(node.internalFields.key, true)));\r\n Promise.allSettled(expandingPromises).then(() => {\r\n var _this$_allItemsExpand;\r\n return null === (_this$_allItemsExpand = this._allItemsExpanded) || void 0 === _this$_allItemsExpand ? void 0 : _this$_allItemsExpand.call(this)\r\n })\r\n },\r\n collapseAll: function() {\r\n each(this._dataAdapter.getExpandedNodesKeys(), function(_, key) {\r\n this._toggleExpandedState(key, false)\r\n }.bind(this))\r\n },\r\n scrollToItem: function(keyOrItemOrElement) {\r\n var node = this._getNode(keyOrItemOrElement);\r\n if (!node) {\r\n return (new Deferred).reject().promise()\r\n }\r\n var nodeKeysToExpand = [];\r\n var parentNode = node.internalFields.publicNode.parent;\r\n while (null != parentNode) {\r\n if (!parentNode.expanded) {\r\n nodeKeysToExpand.push(parentNode.key)\r\n }\r\n parentNode = parentNode.parent\r\n }\r\n var scrollCallback = new Deferred;\r\n this._expandNodes(nodeKeysToExpand.reverse()).always(() => {\r\n var $element = this._getNodeElement(node);\r\n if ($element && $element.length) {\r\n this.scrollToElementTopLeft($element.get(0));\r\n scrollCallback.resolve()\r\n } else {\r\n scrollCallback.reject()\r\n }\r\n });\r\n return scrollCallback.promise()\r\n },\r\n scrollToElementTopLeft: function(targetElement) {\r\n var scrollable = this.getScrollable();\r\n var {\r\n scrollDirection: scrollDirection,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n var targetLocation = {\r\n top: 0,\r\n left: 0\r\n };\r\n var relativeOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement);\r\n if (scrollDirection !== DIRECTION_VERTICAL) {\r\n var containerElement = $(scrollable.container()).get(0);\r\n targetLocation.left = rtlEnabled ? relativeOffset.left + targetElement.offsetWidth - containerElement.clientWidth : relativeOffset.left\r\n }\r\n if (scrollDirection !== DIRECTION_HORIZONTAL) {\r\n targetLocation.top = relativeOffset.top\r\n }\r\n scrollable.scrollTo(targetLocation)\r\n },\r\n _expandNodes: function(keysToExpand) {\r\n if (!keysToExpand || 0 === keysToExpand.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var resultCallback = new Deferred;\r\n var callbacksByNodes = keysToExpand.map(key => this.expandItem(key));\r\n when.apply($, callbacksByNodes).done(() => resultCallback.resolve()).fail(() => resultCallback.reject());\r\n return resultCallback.promise()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._setFocusedItemTimeout);\r\n this._allItemsExpandedHandler = null\r\n }\r\n});\r\nexport default TreeViewBase;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view/ui.tree_view.search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport TreeViewBase from \"./ui.tree_view.base\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\nvar WIDGET_CLASS = \"dx-treeview\";\r\nvar NODE_CONTAINER_CLASS = \"\".concat(WIDGET_CLASS, \"-node-container\");\r\nvar TreeViewSearch = TreeViewBase.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"\".concat(WIDGET_CLASS, \"-\").concat(className)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchValue\":\r\n if (this._showCheckboxes() && this._isRecursiveSelection()) {\r\n this._removeSelection()\r\n }\r\n this._initDataAdapter();\r\n this._updateSearch();\r\n this._repaintContainer();\r\n this.option(\"focusedElement\", null);\r\n break;\r\n case \"searchExpr\":\r\n this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n case \"searchMode\":\r\n this.option(\"expandNodesRecursive\") ? this._updateDataAdapter() : this._initDataAdapter();\r\n this.repaint();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _updateDataAdapter: function() {\r\n this._setOptionWithoutOptionChange(\"expandNodesRecursive\", false);\r\n this._initDataAdapter();\r\n this._setOptionWithoutOptionChange(\"expandNodesRecursive\", true)\r\n },\r\n _getDataAdapterOptions: function() {\r\n return extend(this.callBase(), {\r\n searchValue: this.option(\"searchValue\"),\r\n searchMode: this.option(\"searchMode\") || \"contains\",\r\n searchExpr: this.option(\"searchExpr\")\r\n })\r\n },\r\n _getNodeContainer: function() {\r\n return this.$element().find(\".\".concat(NODE_CONTAINER_CLASS)).first()\r\n },\r\n _updateSearch: function() {\r\n if (this._searchEditor) {\r\n var editorOptions = this._getSearchEditorOptions();\r\n this._searchEditor.option(editorOptions)\r\n }\r\n },\r\n _repaintContainer: function() {\r\n var $container = this._getNodeContainer();\r\n var rootNodes;\r\n if ($container.length) {\r\n $container.empty();\r\n rootNodes = this._dataAdapter.getRootNodes();\r\n this._renderEmptyMessage(rootNodes);\r\n this._renderItems($container, rootNodes);\r\n this._fireContentReadyAction()\r\n }\r\n },\r\n _focusTarget: function() {\r\n return this._itemContainer(this.option(\"searchEnabled\"))\r\n },\r\n _cleanItemContainer: function() {\r\n this.$element().empty()\r\n },\r\n _itemContainer: function(isSearchMode) {\r\n if (this._selectAllEnabled()) {\r\n return this._getNodeContainer()\r\n }\r\n if (this._scrollable && isSearchMode) {\r\n return $(this._scrollable.content())\r\n }\r\n return this.callBase()\r\n },\r\n _addWidgetClass: function() {\r\n this.$element().addClass(this._widgetClass())\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeSearchBox()\r\n }\r\n});\r\nregisterComponent(\"dxTreeView\", TreeViewSearch);\r\nexport default TreeViewSearch;\r\n","/**\r\n * DevExtreme (esm/ui/tree_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TreeView from \"./tree_view/ui.tree_view.search\";\r\nexport default TreeView;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_chooser/m_column_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n deferUpdate,\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport {\r\n current,\r\n isGeneric,\r\n isMaterial as isMaterialTheme\r\n} from \"../../../../ui/themes\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport modules from \"../m_modules\";\r\nimport {\r\n ColumnsView\r\n} from \"../views/m_columns_view\";\r\nvar COLUMN_CHOOSER_CLASS = \"column-chooser\";\r\nvar COLUMN_CHOOSER_BUTTON_CLASS = \"column-chooser-button\";\r\nvar NOTOUCH_ACTION_CLASS = \"notouch-action\";\r\nvar COLUMN_CHOOSER_LIST_CLASS = \"column-chooser-list\";\r\nvar COLUMN_CHOOSER_PLAIN_CLASS = \"column-chooser-plain\";\r\nvar COLUMN_CHOOSER_DRAG_CLASS = \"column-chooser-mode-drag\";\r\nvar COLUMN_CHOOSER_SELECT_CLASS = \"column-chooser-mode-select\";\r\nvar COLUMN_CHOOSER_ICON_NAME = \"column-chooser\";\r\nvar COLUMN_CHOOSER_ITEM_CLASS = \"dx-column-chooser-item\";\r\nvar COLUMN_OPTIONS_USED_IN_ITEMS = [\"showInColumnChooser\", \"caption\", \"allowHiding\", \"visible\", \"cssClass\", \"ownerBand\"];\r\nvar processItems = function(that, chooserColumns) {\r\n var items = [];\r\n var isSelectMode = that.isSelectMode();\r\n var isRecursive = that.option(\"columnChooser.selection.recursive\");\r\n if (chooserColumns.length) {\r\n each(chooserColumns, (index, column) => {\r\n var item = {\r\n text: column.caption,\r\n cssClass: column.cssClass,\r\n allowHiding: column.allowHiding,\r\n expanded: true,\r\n id: column.index,\r\n disabled: false === column.allowHiding,\r\n parentId: isDefined(column.ownerBand) ? column.ownerBand : null\r\n };\r\n var isRecursiveWithColumns = isRecursive && column.hasColumns;\r\n if (isSelectMode && !isRecursiveWithColumns) {\r\n item.selected = column.visible\r\n }\r\n items.push(item)\r\n })\r\n }\r\n return items\r\n};\r\nvar columnChooserControllerMembers = {\r\n renderShowColumnChooserButton($element) {\r\n var that = this;\r\n var columnChooserButtonClass = that.addWidgetPrefix(COLUMN_CHOOSER_BUTTON_CLASS);\r\n var columnChooserEnabled = that.option(\"columnChooser.enabled\");\r\n var $showColumnChooserButton = $element.find(\".\".concat(columnChooserButtonClass));\r\n var $columnChooserButton;\r\n if (columnChooserEnabled) {\r\n if (!$showColumnChooserButton.length) {\r\n $columnChooserButton = $(\"<div>\").addClass(columnChooserButtonClass).appendTo($element);\r\n that._createComponent($columnChooserButton, Button, {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick() {\r\n that.getView(\"columnChooserView\").showColumnChooser()\r\n },\r\n hint: that.option(\"columnChooser.title\"),\r\n integrationOptions: {}\r\n })\r\n } else {\r\n $showColumnChooserButton.show()\r\n }\r\n } else {\r\n $showColumnChooserButton.hide()\r\n }\r\n },\r\n getPosition() {\r\n var rowsView = this.getView(\"rowsView\");\r\n var position = this.option(\"columnChooser.position\");\r\n return isDefined(position) ? position : {\r\n my: \"right bottom\",\r\n at: \"right bottom\",\r\n of: rowsView && rowsView.element(),\r\n collision: \"fit\",\r\n offset: \"-2 -2\",\r\n boundaryOffset: \"2 2\"\r\n }\r\n }\r\n};\r\nvar ColumnChooserController = modules.ViewController.inherit(columnChooserControllerMembers);\r\nvar columnChooserMembers = {\r\n _resizeCore: noop,\r\n _isWinDevice: () => !!devices.real().win,\r\n _initializePopupContainer() {\r\n var that = this;\r\n var columnChooserClass = that.addWidgetPrefix(COLUMN_CHOOSER_CLASS);\r\n var $element = that.element().addClass(columnChooserClass);\r\n var columnChooserOptions = that.option(\"columnChooser\");\r\n var themeName = current();\r\n var isGenericTheme = isGeneric(themeName);\r\n var isMaterial = isMaterialTheme(themeName);\r\n var dxPopupOptions = {\r\n visible: false,\r\n shading: false,\r\n showCloseButton: false,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n wrapperAttr: {\r\n class: columnChooserClass\r\n },\r\n toolbarItems: [{\r\n text: columnChooserOptions.title,\r\n toolbar: \"top\",\r\n location: isGenericTheme || isMaterial ? \"before\" : \"center\"\r\n }],\r\n position: that.getController(\"columnChooser\").getPosition(),\r\n width: columnChooserOptions.width,\r\n height: columnChooserOptions.height,\r\n rtlEnabled: that.option(\"rtlEnabled\"),\r\n onHidden() {\r\n if (that._isWinDevice()) {\r\n $(\"body\").removeClass(that.addWidgetPrefix(NOTOUCH_ACTION_CLASS))\r\n }\r\n },\r\n container: columnChooserOptions.container\r\n };\r\n if (isGenericTheme || isMaterial) {\r\n extend(dxPopupOptions, {\r\n showCloseButton: true\r\n })\r\n } else {\r\n dxPopupOptions.toolbarItems[dxPopupOptions.toolbarItems.length] = {\r\n shortcut: \"cancel\"\r\n }\r\n }\r\n if (!isDefined(this._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, Popup, dxPopupOptions);\r\n that._popupContainer.on(\"optionChanged\", args => {\r\n if (\"visible\" === args.name) {\r\n that.renderCompleted.fire()\r\n }\r\n })\r\n } else {\r\n this._popupContainer.option(dxPopupOptions)\r\n }\r\n this.setPopupAttributes()\r\n },\r\n setPopupAttributes() {\r\n var isSelectMode = this.isSelectMode();\r\n var isBandColumnsUsed = this._columnsController.isBandColumnsUsed();\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: messageLocalization.format(\"dxDataGrid-columnChooserTitle\")\r\n });\r\n this._popupContainer.$wrapper().toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_DRAG_CLASS), !isSelectMode).toggleClass(this.addWidgetPrefix(COLUMN_CHOOSER_SELECT_CLASS), isSelectMode);\r\n this._popupContainer.$content().addClass(this.addWidgetPrefix(COLUMN_CHOOSER_LIST_CLASS));\r\n if (isSelectMode && !isBandColumnsUsed) {\r\n this._popupContainer.$content().addClass(this.addWidgetPrefix(COLUMN_CHOOSER_PLAIN_CLASS))\r\n }\r\n },\r\n _renderCore(change) {\r\n if (this._popupContainer) {\r\n var isDragMode = !this.isSelectMode();\r\n if (!this._columnChooserList || \"full\" === change) {\r\n this._renderTreeView()\r\n } else if (isDragMode) {\r\n this._updateItems()\r\n }\r\n }\r\n },\r\n _renderTreeView() {\r\n var _a, _b, _c;\r\n var that = this;\r\n var $container = this._popupContainer.$content();\r\n var columnChooser = this.option(\"columnChooser\");\r\n var isSelectMode = this.isSelectMode();\r\n var searchEnabled = isDefined(columnChooser.allowSearch) ? columnChooser.allowSearch : null === (_a = columnChooser.search) || void 0 === _a ? void 0 : _a.enabled;\r\n var searchTimeout = isDefined(columnChooser.searchTimeout) ? columnChooser.searchTimeout : null === (_b = columnChooser.search) || void 0 === _b ? void 0 : _b.timeout;\r\n var treeViewConfig = {\r\n dataStructure: \"plain\",\r\n activeStateEnabled: true,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n itemTemplate: \"item\",\r\n showCheckBoxesMode: \"none\",\r\n rootValue: null,\r\n searchEnabled: searchEnabled,\r\n searchTimeout: searchTimeout,\r\n searchEditorOptions: null === (_c = columnChooser.search) || void 0 === _c ? void 0 : _c.editorOptions\r\n };\r\n if (this._isWinDevice()) {\r\n treeViewConfig.useNativeScrolling = false\r\n }\r\n extend(treeViewConfig, isSelectMode ? this._prepareSelectModeConfig() : this._prepareDragModeConfig());\r\n if (this._columnChooserList) {\r\n if (!treeViewConfig.searchEnabled) {\r\n treeViewConfig.searchValue = \"\"\r\n }\r\n this._columnChooserList.option(treeViewConfig);\r\n this._updateItems()\r\n } else {\r\n this._columnChooserList = this._createComponent($container, TreeView, treeViewConfig);\r\n this._updateItems();\r\n var scrollTop = 0;\r\n this._columnChooserList.on(\"optionChanged\", e => {\r\n var scrollable = e.component.getScrollable();\r\n scrollTop = scrollable.scrollTop()\r\n });\r\n this._columnChooserList.on(\"contentReady\", e => {\r\n deferUpdate(() => {\r\n var scrollable = e.component.getScrollable();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n });\r\n that.renderCompleted.fire()\r\n })\r\n })\r\n }\r\n },\r\n _prepareDragModeConfig() {\r\n var columnChooserOptions = this.option(\"columnChooser\");\r\n return {\r\n noDataText: columnChooserOptions.emptyPanelText,\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n itemTemplate(data, index, item) {\r\n $(item).text(data.text).parent().addClass(data.cssClass).addClass(COLUMN_CHOOSER_ITEM_CLASS)\r\n }\r\n }\r\n },\r\n _prepareSelectModeConfig() {\r\n var that = this;\r\n var selectionOptions = this.option(\"columnChooser.selection\") || {};\r\n var isUpdatingSelection = false;\r\n return {\r\n selectByClick: selectionOptions.selectByClick,\r\n selectNodesRecursive: selectionOptions.recursive,\r\n showCheckBoxesMode: selectionOptions.allowSelectAll ? \"selectAll\" : \"normal\",\r\n onSelectionChanged: e => {\r\n if (isUpdatingSelection) {\r\n return\r\n }\r\n var nodes = (nodes => {\r\n var addNodesToArray = (nodes, flatNodesArray) => nodes.reduce((result, node) => {\r\n result.push(node);\r\n if (node.children.length) {\r\n addNodesToArray(node.children, result)\r\n }\r\n return result\r\n }, flatNodesArray);\r\n return addNodesToArray(nodes, [])\r\n })(e.component.getNodes());\r\n e.component.beginUpdate();\r\n isUpdatingSelection = true;\r\n ((e, nodes) => {\r\n nodes.filter(node => false === node.itemData.allowHiding).forEach(node => e.component.selectItem(node.key))\r\n })(e, nodes);\r\n e.component.endUpdate();\r\n isUpdatingSelection = false;\r\n that.component.beginUpdate();\r\n this._isUpdatingColumnVisibility = true;\r\n (nodes => {\r\n nodes.forEach(node => {\r\n var columnIndex = node.itemData.id;\r\n var isVisible = false !== node.selected;\r\n that._columnsController.columnOption(columnIndex, \"visible\", isVisible)\r\n })\r\n })(nodes);\r\n that.component.endUpdate();\r\n this._isUpdatingColumnVisibility = false\r\n }\r\n }\r\n },\r\n _updateItems() {\r\n var isSelectMode = this.isSelectMode();\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n var items = processItems(this, chooserColumns);\r\n this._columnChooserList.option(\"items\", items)\r\n },\r\n _updateItemsSelection(columnIndices) {\r\n var changedColumns = null === columnIndices || void 0 === columnIndices ? void 0 : columnIndices.map(columnIndex => this._columnsController.columnOption(columnIndex));\r\n this._columnChooserList.beginUpdate();\r\n null === changedColumns || void 0 === changedColumns ? void 0 : changedColumns.forEach(_ref => {\r\n var {\r\n visible: visible,\r\n index: index\r\n } = _ref;\r\n if (visible) {\r\n this._columnChooserList.selectItem(index)\r\n } else {\r\n this._columnChooserList.unselectItem(index)\r\n }\r\n });\r\n this._columnChooserList.endUpdate()\r\n },\r\n _columnOptionChanged(e) {\r\n this.callBase(e);\r\n var isSelectMode = this.isSelectMode();\r\n if (isSelectMode && this._columnChooserList && true !== this._isUpdatingColumnVisibility) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var onlyVisibleChanged = optionNames.visible && 1 === optionNames.length;\r\n var columnIndices = isDefined(e.columnIndex) ? [e.columnIndex] : e.columnIndices;\r\n var needUpdate = COLUMN_OPTIONS_USED_IN_ITEMS.some(optionName => optionNames[optionName]) || e.changeTypes.columns && optionNames.all;\r\n if (needUpdate) {\r\n this._updateItemsSelection(columnIndices);\r\n if (!onlyVisibleChanged) {\r\n this._updateItems()\r\n }\r\n }\r\n }\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"columnChooser\":\r\n this._initializePopupContainer();\r\n this.render(null, \"full\");\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getColumnElements() {\r\n var result = [];\r\n var isSelectMode = this.isSelectMode();\r\n var chooserColumns = this._columnsController.getChooserColumns(isSelectMode);\r\n var $content = this._popupContainer && this._popupContainer.$content();\r\n var $nodes = $content && $content.find(\".dx-treeview-node\");\r\n if ($nodes) {\r\n chooserColumns.forEach(column => {\r\n var $node = $nodes.filter(\"[data-item-id = '\".concat(column.index, \"']\"));\r\n var item = $node.length ? $node.children(\".\".concat(COLUMN_CHOOSER_ITEM_CLASS)).get(0) : null;\r\n result.push(item)\r\n })\r\n }\r\n return $(result)\r\n },\r\n getName: () => \"columnChooser\",\r\n getColumns() {\r\n return this._columnsController.getChooserColumns()\r\n },\r\n allowDragging(column) {\r\n var isParentColumnVisible = this._columnsController.isParentColumnVisible(column.index);\r\n var isColumnHidden = !column.visible && column.allowHiding;\r\n return this.isColumnChooserVisible() && isParentColumnVisible && isColumnHidden\r\n },\r\n allowColumnHeaderDragging(column) {\r\n var isDragMode = !this.isSelectMode();\r\n return isDragMode && this.isColumnChooserVisible() && column.allowHiding\r\n },\r\n getBoundingRect() {\r\n var container = this._popupContainer && this._popupContainer.$overlayContent();\r\n if (container && container.is(\":visible\")) {\r\n var offset = container.offset();\r\n return {\r\n left: offset.left,\r\n top: offset.top,\r\n right: offset.left + getOuterWidth(container),\r\n bottom: offset.top + getOuterHeight(container)\r\n }\r\n }\r\n return null\r\n },\r\n showColumnChooser() {\r\n if (!this._popupContainer) {\r\n this._initializePopupContainer();\r\n this.render()\r\n }\r\n this._popupContainer.show();\r\n if (this._isWinDevice()) {\r\n $(\"body\").addClass(this.addWidgetPrefix(NOTOUCH_ACTION_CLASS))\r\n }\r\n },\r\n hideColumnChooser() {\r\n if (this._popupContainer) {\r\n this._popupContainer.hide()\r\n }\r\n },\r\n isColumnChooserVisible() {\r\n var popupContainer = this._popupContainer;\r\n return popupContainer && popupContainer.option(\"visible\")\r\n },\r\n isSelectMode() {\r\n return \"select\" === this.option(\"columnChooser.mode\")\r\n },\r\n hasHiddenColumns() {\r\n var isEnabled = this.option(\"columnChooser.enabled\");\r\n var hiddenColumns = this.getColumns().filter(column => !column.visible);\r\n return isEnabled && hiddenColumns.length\r\n },\r\n publicMethods: () => [\"showColumnChooser\", \"hideColumnChooser\"]\r\n};\r\nvar ColumnChooserView = ColumnsView.inherit(columnChooserMembers);\r\nexport var columnChooserModule = {\r\n defaultOptions: () => ({\r\n columnChooser: {\r\n enabled: false,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n editorOptions: {}\r\n },\r\n selection: {\r\n allowSelectAll: false,\r\n selectByClick: false,\r\n recursive: false\r\n },\r\n position: void 0,\r\n mode: \"dragAndDrop\",\r\n width: 250,\r\n height: 260,\r\n title: messageLocalization.format(\"dxDataGrid-columnChooserTitle\"),\r\n emptyPanelText: messageLocalization.format(\"dxDataGrid-columnChooserEmptyText\"),\r\n container: void 0\r\n }\r\n }),\r\n controllers: {\r\n columnChooser: ColumnChooserController\r\n },\r\n views: {\r\n columnChooserView: ColumnChooserView\r\n },\r\n extenders: {\r\n views: {\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n return this._appendColumnChooserItem(items)\r\n },\r\n _appendColumnChooserItem(items) {\r\n var that = this;\r\n var columnChooserEnabled = that.option(\"columnChooser.enabled\");\r\n if (columnChooserEnabled) {\r\n var hintText = that.option(\"columnChooser.title\");\r\n var toolbarItem = {\r\n widget: \"dxButton\",\r\n options: {\r\n icon: COLUMN_CHOOSER_ICON_NAME,\r\n onClick: function() {\r\n that.component.getView(\"columnChooserView\").showColumnChooser()\r\n },\r\n hint: hintText,\r\n text: hintText,\r\n onInitialized: function(e) {\r\n $(e.element).addClass(that._getToolbarButtonClass(that.addWidgetPrefix(COLUMN_CHOOSER_BUTTON_CLASS)))\r\n },\r\n elementAttr: {\r\n \"aria-haspopup\": \"dialog\"\r\n }\r\n },\r\n showText: \"inMenu\",\r\n location: \"after\",\r\n name: \"columnChooserButton\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 40\r\n };\r\n items.push(toolbarItem)\r\n }\r\n return items\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"columnChooser\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n isVisible() {\r\n var columnChooserEnabled = this.option(\"columnChooser.enabled\");\r\n return this.callBase() || columnChooserEnabled\r\n }\r\n },\r\n columnHeadersView: {\r\n allowDragging(column) {\r\n var columnChooserView = this.component.getView(\"columnChooserView\");\r\n var isDragMode = !columnChooserView.isSelectMode();\r\n var isColumnChooserVisible = columnChooserView.isColumnChooserVisible();\r\n return isDragMode && isColumnChooserVisible && column.allowHiding || this.callBase(column)\r\n }\r\n }\r\n },\r\n controllers: {\r\n columns: {\r\n allowMoveColumn(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation) {\r\n var isSelectMode = \"select\" === this.option(\"columnChooser.mode\");\r\n var isMoveColumnDisallowed = isSelectMode && \"columnChooser\" === targetLocation;\r\n return isMoveColumnDisallowed ? false : this.callBase(fromVisibleIndex, toVisibleIndex, sourceLocation, targetLocation)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_chooser.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnChooserModule\r\n} from \"../../../grids/grid_core/column_chooser/m_column_chooser\";\r\nimport gridCore from \"../m_core\";\r\nexport var ColumnChooserController = columnChooserModule.controllers.columnChooser;\r\nexport var ColumnChooserView = columnChooserModule.views.columnChooserView;\r\ngridCore.registerModule(\"columnChooser\", columnChooserModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../data/utils\";\r\nimport gridCoreUtils from \"../../grids/grid_core/m_utils\";\r\nexport function createGroupFilter(path, storeLoadOptions) {\r\n var groups = normalizeSortingInfo(storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = 0; i < path.length; i++) {\r\n filter.push([groups[i].selector, \"=\", path[i]])\r\n }\r\n if (storeLoadOptions.filter) {\r\n filter.push(storeLoadOptions.filter)\r\n }\r\n return gridCoreUtils.combineFilters(filter)\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../../core/class\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../../data/utils\";\r\nimport gridCore from \"../m_core\";\r\nexport function createOffsetFilter(path, storeLoadOptions, lastLevelOnly) {\r\n var groups = normalizeSortingInfo(storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = lastLevelOnly ? path.length - 1 : 0; i < path.length; i++) {\r\n var filterElement = [];\r\n for (var j = 0; j <= i; j++) {\r\n var {\r\n selector: selector\r\n } = groups[j];\r\n if (i === j && (null === path[j] || false === path[j] || true === path[j])) {\r\n if (false === path[j]) {\r\n filterElement.push([selector, \"=\", groups[j].desc ? true : null])\r\n } else if (path[j] ? !groups[j].desc : groups[j].desc) {\r\n filterElement.push([selector, \"<>\", path[j]])\r\n } else {\r\n filterElement.push([selector, \"<>\", null]);\r\n filterElement.push([selector, \"=\", null])\r\n }\r\n } else {\r\n var currentFilter = [selector, i === j ? groups[j].desc ? \">\" : \"<\" : \"=\", path[j]];\r\n if (\"<\" === currentFilter[1]) {\r\n filterElement.push([currentFilter, \"or\", [selector, \"=\", null]])\r\n } else {\r\n filterElement.push(currentFilter)\r\n }\r\n }\r\n }\r\n filter.push(gridCore.combineFilters(filterElement))\r\n }\r\n filter = gridCore.combineFilters(filter, \"or\");\r\n return gridCore.combineFilters([filter, storeLoadOptions.filter])\r\n}\r\nexport var GroupingHelper = Class.inherit(function() {\r\n var findGroupInfoByKey = function(groupsInfo, key) {\r\n var {\r\n hash: hash\r\n } = groupsInfo;\r\n return hash && hash[JSON.stringify(key)]\r\n };\r\n var getGroupInfoIndexByOffset = function(groupsInfo, offset) {\r\n var leftIndex = 0;\r\n var rightIndex = groupsInfo.length - 1;\r\n if (!groupsInfo.length) {\r\n return 0\r\n }\r\n do {\r\n var middleIndex = rightIndex + leftIndex >> 1;\r\n if (groupsInfo[middleIndex].offset > offset) {\r\n rightIndex = middleIndex\r\n } else {\r\n leftIndex = middleIndex\r\n }\r\n } while (rightIndex - leftIndex > 1);\r\n var index;\r\n for (index = leftIndex; index <= rightIndex; index++) {\r\n if (groupsInfo[index].offset > offset) {\r\n break\r\n }\r\n }\r\n return index\r\n };\r\n return {\r\n ctor(dataSourceAdapter) {\r\n this._dataSource = dataSourceAdapter;\r\n this.reset()\r\n },\r\n reset() {\r\n this._groupsInfo = [];\r\n this._totalCountCorrection = 0\r\n },\r\n totalCountCorrection() {\r\n return this._totalCountCorrection\r\n },\r\n updateTotalItemsCount(totalCountCorrection) {\r\n this._totalCountCorrection = totalCountCorrection || 0\r\n },\r\n isGroupItemCountable(item) {\r\n return !this._isVirtualPaging() || !item.isContinuation\r\n },\r\n _isVirtualPaging() {\r\n var scrollingMode = this._dataSource.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n },\r\n itemsCount() {\r\n var dataSourceAdapter = this._dataSource;\r\n var dataSource = dataSourceAdapter._dataSource;\r\n var groupCount = gridCore.normalizeSortingInfo(dataSource.group() || []).length;\r\n var itemsCount = function calculateItemsCount(that, items, groupsCount) {\r\n var result = 0;\r\n if (items) {\r\n if (!groupsCount) {\r\n result = items.length\r\n } else {\r\n for (var i = 0; i < items.length; i++) {\r\n if (that.isGroupItemCountable(items[i])) {\r\n result++\r\n }\r\n result += calculateItemsCount(that, items[i].items, groupsCount - 1)\r\n }\r\n }\r\n }\r\n return result\r\n }(this, dataSource.items(), groupCount);\r\n return itemsCount\r\n },\r\n foreachGroups(callback, childrenAtFirst, foreachCollapsedGroups, updateOffsets, updateParentOffsets) {\r\n var that = this;\r\n return function foreachGroupsCore(groupsInfo, callback, childrenAtFirst, parents) {\r\n var callbackResults = [];\r\n\r\n function executeCallback(callback, data, parents, callbackResults) {\r\n var callbackResult = data && callback(data, parents);\r\n callbackResult && callbackResults.push(callbackResult);\r\n return callbackResult\r\n }\r\n for (var i = 0; i < groupsInfo.length; i++) {\r\n parents.push(groupsInfo[i].data);\r\n if (!childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) {\r\n return false\r\n }\r\n if (!groupsInfo[i].data || groupsInfo[i].data.isExpanded || foreachCollapsedGroups) {\r\n var {\r\n children: children\r\n } = groupsInfo[i];\r\n var callbackResult = children.length && foreachGroupsCore(children, callback, childrenAtFirst, parents);\r\n callbackResult && callbackResults.push(callbackResult);\r\n if (false === callbackResult) {\r\n return false\r\n }\r\n }\r\n if (childrenAtFirst && false === executeCallback(callback, groupsInfo[i].data, parents, callbackResults)) {\r\n return false\r\n }\r\n if (!groupsInfo[i].data || groupsInfo[i].data.offset !== groupsInfo[i].offset) {\r\n updateOffsets = true\r\n }\r\n parents.pop()\r\n }\r\n var currentParents = updateParentOffsets && parents.slice(0);\r\n return updateOffsets && when.apply($, callbackResults).always(() => {\r\n that._updateGroupInfoOffsets(groupsInfo, currentParents)\r\n })\r\n }(that._groupsInfo, callback, childrenAtFirst, [])\r\n },\r\n _updateGroupInfoOffsets(groupsInfo, parents) {\r\n parents = parents || [];\r\n for (var index = 0; index < groupsInfo.length; index++) {\r\n var groupInfo = groupsInfo[index];\r\n if (groupInfo.data && groupInfo.data.offset !== groupInfo.offset) {\r\n groupInfo.offset = groupInfo.data.offset;\r\n for (var parentIndex = 0; parentIndex < parents.length; parentIndex++) {\r\n parents[parentIndex].offset = groupInfo.offset\r\n }\r\n }\r\n }\r\n groupsInfo.sort((a, b) => a.offset - b.offset)\r\n },\r\n findGroupInfo(path) {\r\n var groupInfo;\r\n var groupsInfo = this._groupsInfo;\r\n for (var pathIndex = 0; groupsInfo && pathIndex < path.length; pathIndex++) {\r\n groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]);\r\n groupsInfo = groupInfo && groupInfo.children\r\n }\r\n return groupInfo && groupInfo.data\r\n },\r\n addGroupInfo(groupInfoData) {\r\n var groupInfo;\r\n var {\r\n path: path\r\n } = groupInfoData;\r\n var groupsInfo = this._groupsInfo;\r\n for (var pathIndex = 0; pathIndex < path.length; pathIndex++) {\r\n groupInfo = findGroupInfoByKey(groupsInfo, path[pathIndex]);\r\n if (!groupInfo) {\r\n groupInfo = {\r\n key: path[pathIndex],\r\n offset: groupInfoData.offset,\r\n data: {\r\n offset: groupInfoData.offset,\r\n isExpanded: true,\r\n path: path.slice(0, pathIndex + 1)\r\n },\r\n children: []\r\n };\r\n var index = getGroupInfoIndexByOffset(groupsInfo, groupInfoData.offset);\r\n groupsInfo.splice(index, 0, groupInfo);\r\n groupsInfo.hash = groupsInfo.hash || {};\r\n groupsInfo.hash[JSON.stringify(groupInfo.key)] = groupInfo\r\n }\r\n if (pathIndex === path.length - 1) {\r\n groupInfo.data = groupInfoData;\r\n if (groupInfo.offset !== groupInfoData.offset) {\r\n this._updateGroupInfoOffsets(groupsInfo)\r\n }\r\n }\r\n groupsInfo = groupInfo.children\r\n }\r\n },\r\n allowCollapseAll: () => true,\r\n refresh(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var groups = normalizeSortingInfo(storeLoadOptions.group || []);\r\n var oldGroups = \"_group\" in this ? normalizeSortingInfo(this._group || []) : groups;\r\n var groupsCount = Math.min(oldGroups.length, groups.length);\r\n this._group = storeLoadOptions.group;\r\n for (var groupIndex = 0; groupIndex < groupsCount; groupIndex++) {\r\n if (oldGroups[groupIndex].selector !== groups[groupIndex].selector) {\r\n groupsCount = groupIndex;\r\n break\r\n }\r\n }\r\n if (!groupsCount) {\r\n this.reset()\r\n } else {\r\n ! function cleanGroupsInfo(groupsInfo, groupIndex, groupsCount) {\r\n for (var i = 0; i < groupsInfo.length; i++) {\r\n if (groupIndex + 1 >= groupsCount) {\r\n groupsInfo[i].children = []\r\n } else {\r\n cleanGroupsInfo(groupsInfo[i].children, groupIndex + 1, groupsCount)\r\n }\r\n }\r\n }(this._groupsInfo, 0, groupsCount)\r\n }\r\n },\r\n handleDataLoading() {},\r\n handleDataLoaded(options, callBase) {\r\n callBase(options)\r\n },\r\n handleDataLoadedCore(options, callBase) {\r\n callBase(options)\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_collapsed.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n errors as dataErrors\r\n} from \"../../../../data/errors\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport dataGridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nimport {\r\n createOffsetFilter,\r\n GroupingHelper as GroupingHelperCore\r\n} from \"./m_grouping_core\";\r\n\r\nfunction getContinuationGroupCount(groupOffset, pageSize, groupSize, groupIndex) {\r\n groupIndex = groupIndex || 0;\r\n if (pageSize > 1 && groupSize > 0) {\r\n var pageOffset = groupOffset - Math.floor(groupOffset / pageSize) * pageSize || pageSize;\r\n pageOffset += groupSize - groupIndex - 2;\r\n if (pageOffset < 0) {\r\n pageOffset += pageSize\r\n }\r\n return Math.floor(pageOffset / (pageSize - groupIndex - 1))\r\n }\r\n return 0\r\n}\r\nexport var GroupingHelper = GroupingHelperCore.inherit(function() {\r\n var foreachExpandedGroups = function(that, callback, updateGroups) {\r\n return that.foreachGroups((groupInfo, parents) => {\r\n if (groupInfo.isExpanded) {\r\n return callback(groupInfo, parents)\r\n }\r\n }, true, false, updateGroups, updateGroups)\r\n };\r\n var processGroupItems = function processGroupItems(that, items, groupsCount, expandedInfo, path, isCustomLoading, isLastGroupExpanded) {\r\n var isExpanded;\r\n expandedInfo.items = expandedInfo.items || [];\r\n expandedInfo.paths = expandedInfo.paths || [];\r\n expandedInfo.count = expandedInfo.count || 0;\r\n expandedInfo.lastCount = expandedInfo.lastCount || 0;\r\n if (!groupsCount) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (void 0 !== item.items) {\r\n path.push(item.key);\r\n if (isCustomLoading) {\r\n isExpanded = true\r\n } else {\r\n var groupInfo = that.findGroupInfo(path);\r\n isExpanded = groupInfo && groupInfo.isExpanded\r\n }\r\n if (!isExpanded) {\r\n item.collapsedItems = item.items;\r\n item.items = null\r\n } else if (item.items) {\r\n processGroupItems(that, item.items, groupsCount - 1, expandedInfo, path, isCustomLoading, isLastGroupExpanded)\r\n } else if (1 === groupsCount && item.count && (!isCustomLoading || isLastGroupExpanded)) {\r\n expandedInfo.items.push(item);\r\n expandedInfo.paths.push(path.slice(0));\r\n expandedInfo.count += expandedInfo.lastCount;\r\n expandedInfo.lastCount = item.count\r\n }\r\n path.pop()\r\n }\r\n }\r\n };\r\n var updateGroupInfoItem = function(that, item, isLastGroupLevel, path, offset) {\r\n var groupInfo = that.findGroupInfo(path);\r\n var count;\r\n if (!groupInfo) {\r\n if (isLastGroupLevel) {\r\n count = item.count > 0 ? item.count : item.items.length\r\n }\r\n that.addGroupInfo({\r\n isExpanded: that._isGroupExpanded(path.length - 1),\r\n path: path.slice(0),\r\n offset: offset,\r\n count: count || 0\r\n })\r\n } else {\r\n if (isLastGroupLevel) {\r\n groupInfo.count = item.count > 0 ? item.count : item.items && item.items.length || 0\r\n } else {\r\n item.count = groupInfo.count || item.count\r\n }\r\n groupInfo.offset = offset\r\n }\r\n };\r\n var updateGroupInfos = function updateGroupInfos(that, options, items, loadedGroupCount, groupIndex, path, parentIndex) {\r\n var groupCount = options.group ? options.group.length : 0;\r\n var isLastGroupLevel = groupCount === loadedGroupCount;\r\n var remotePaging = options.remoteOperations.paging;\r\n var offset = 0;\r\n var totalCount = 0;\r\n var count;\r\n groupIndex = groupIndex || 0;\r\n path = path || [];\r\n if (remotePaging && !parentIndex) {\r\n offset = 0 === groupIndex ? options.skip || 0 : options.skips[groupIndex - 1] || 0\r\n }\r\n if (groupIndex >= loadedGroupCount) {\r\n return items.length\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item) {\r\n path.push(item.key);\r\n if (!item.count && !item.items || void 0 === item.items) {\r\n return -1\r\n }\r\n updateGroupInfoItem(that, item, isLastGroupLevel, path, offset + i);\r\n count = item.items ? updateGroupInfos(that, options, item.items, loadedGroupCount, groupIndex + 1, path, i) : item.count || -1;\r\n if (count < 0) {\r\n return -1\r\n }\r\n totalCount += count;\r\n path.pop()\r\n }\r\n }\r\n return totalCount\r\n };\r\n var isGroupExpanded = function(groups, groupIndex) {\r\n return groups && groups.length && groups[groupIndex] && !!groups[groupIndex].isExpanded\r\n };\r\n var getTotalOffset = function(groupInfos, pageSize, offset) {\r\n var groupSize;\r\n var totalOffset = offset;\r\n for (var groupIndex = 0; groupIndex < groupInfos.length; groupIndex++) {\r\n groupSize = groupInfos[groupIndex].offset + 1;\r\n if (groupIndex > 0) {\r\n groupSize += groupInfos[groupIndex - 1].childrenTotalCount;\r\n if (pageSize) {\r\n groupSize += getContinuationGroupCount(totalOffset, pageSize, groupSize, groupIndex - 1) * groupIndex\r\n }\r\n }\r\n totalOffset += groupSize\r\n }\r\n return totalOffset\r\n };\r\n\r\n function applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex) {\r\n var item = expandedInfo.items[expandedItemIndex];\r\n var skip = options.skips && options.skips[groupLevel];\r\n var take = options.takes && options.takes[groupLevel];\r\n var isLastExpandedItem = expandedItemIndex === expandedInfo.items.length - 1;\r\n var isFirstExpandedItem = 0 === expandedItemIndex;\r\n var lastExpandedItemSkip = isFirstExpandedItem && skip || 0;\r\n var isItemsTruncatedByTake = item.count > take + lastExpandedItemSkip;\r\n if (isFirstExpandedItem && void 0 !== skip) {\r\n item.isContinuation = true\r\n }\r\n if (isLastExpandedItem && void 0 !== take && isItemsTruncatedByTake) {\r\n item.isContinuationOnNextPage = true\r\n }\r\n }\r\n\r\n function isDataDeferred(data) {\r\n return !Array.isArray(data)\r\n }\r\n\r\n function makeDataDeferred(options) {\r\n if (!isDataDeferred(options.data)) {\r\n options.data = new Deferred\r\n }\r\n }\r\n\r\n function loadGroupItems(that, options, loadedGroupCount, expandedInfo, groupLevel, data) {\r\n if (!options.isCustomLoading) {\r\n expandedInfo = {};\r\n processGroupItems(that, data, loadedGroupCount, expandedInfo, []);\r\n ! function(options, expandedInfo, currentGroupCount) {\r\n var currentGroupIndex = currentGroupCount - 1;\r\n var groupCount = options.group ? options.group.length : 0;\r\n expandedInfo.skip = options.skips && options.skips[currentGroupIndex];\r\n if (options.takes && void 0 !== options.takes[currentGroupIndex]) {\r\n if (groupCount === currentGroupCount) {\r\n expandedInfo.take = expandedInfo.count ? expandedInfo.count - (expandedInfo.skip || 0) : 0\r\n } else {\r\n expandedInfo.take = 0\r\n }\r\n expandedInfo.take += options.takes[currentGroupIndex]\r\n }\r\n }(options, expandedInfo, loadedGroupCount)\r\n }\r\n var groupCount = options.group ? options.group.length : 0;\r\n if (expandedInfo.paths.length && groupCount - loadedGroupCount > 0) {\r\n makeDataDeferred(options);\r\n ! function(that, options, expandedInfo, loadedGroupCount, groupLevel, data) {\r\n var groups = options.group || [];\r\n var currentGroup = groups[groupLevel + 1];\r\n var deferreds = [];\r\n each(expandedInfo.paths, expandedItemIndex => {\r\n var _a;\r\n var loadOptions = {\r\n requireTotalCount: false,\r\n requireGroupCount: true,\r\n group: [currentGroup],\r\n groupSummary: options.storeLoadOptions.groupSummary,\r\n filter: createGroupFilter(expandedInfo.paths[expandedItemIndex], {\r\n filter: options.storeLoadOptions.filter,\r\n group: groups\r\n }),\r\n select: options.storeLoadOptions.select,\r\n langParams: null === (_a = options.storeLoadOptions) || void 0 === _a ? void 0 : _a.langParams\r\n };\r\n if (0 === expandedItemIndex) {\r\n loadOptions.skip = expandedInfo.skip || 0\r\n }\r\n if (expandedItemIndex === expandedInfo.paths.length - 1) {\r\n loadOptions.take = expandedInfo.take\r\n }\r\n var loadResult = 0 === loadOptions.take ? [] : that._dataSource.loadFromStore(loadOptions);\r\n when(loadResult).done(data => {\r\n var item = expandedInfo.items[expandedItemIndex];\r\n applyContinuationToGroupItem(options, expandedInfo, groupLevel, expandedItemIndex);\r\n item.items = data\r\n });\r\n deferreds.push(loadResult)\r\n });\r\n when.apply(null, deferreds).done(() => {\r\n updateGroupInfos(that, options, data, loadedGroupCount + 1);\r\n loadGroupItems(that, options, loadedGroupCount + 1, expandedInfo, groupLevel + 1, data)\r\n })\r\n }(that, options, expandedInfo, loadedGroupCount, groupLevel, data)\r\n } else if (expandedInfo.paths.length && options.storeLoadOptions.group) {\r\n makeDataDeferred(options);\r\n ! function(that, options, expandedInfo, data) {\r\n var expandedFilters = [];\r\n var groups = options.group || [];\r\n each(expandedInfo.paths, (_, expandedPath) => {\r\n expandedFilters.push(createGroupFilter(expandedPath, {\r\n group: options.isCustomLoading ? options.storeLoadOptions.group : groups\r\n }))\r\n });\r\n var {\r\n filter: filter\r\n } = options.storeLoadOptions;\r\n if (!options.storeLoadOptions.isLoadingAll) {\r\n filter = dataGridCore.combineFilters([filter, dataGridCore.combineFilters(expandedFilters, \"or\")])\r\n }\r\n var loadOptions = extend({}, options.storeLoadOptions, {\r\n requireTotalCount: false,\r\n requireGroupCount: false,\r\n group: null,\r\n sort: groups.concat(dataGridCore.normalizeSortingInfo(options.storeLoadOptions.sort || [])),\r\n filter: filter\r\n });\r\n var isPagingLocal = that._dataSource.isLastLevelGroupItemsPagingLocal();\r\n if (!isPagingLocal) {\r\n loadOptions.skip = expandedInfo.skip;\r\n loadOptions.take = expandedInfo.take\r\n }\r\n when(0 === expandedInfo.take ? [] : that._dataSource.loadFromStore(loadOptions)).done(items => {\r\n if (isPagingLocal) {\r\n items = that._dataSource.sortLastLevelGroupItems(items, groups, expandedInfo.paths);\r\n items = expandedInfo.skip ? items.slice(expandedInfo.skip) : items;\r\n items = expandedInfo.take ? items.slice(0, expandedInfo.take) : items\r\n }\r\n each(expandedInfo.items, (index, item) => {\r\n var itemCount = item.count - (0 === index && expandedInfo.skip || 0);\r\n var expandedItems = items.splice(0, itemCount);\r\n applyContinuationToGroupItem(options, expandedInfo, groups.length - 1, index);\r\n item.items = expandedItems\r\n });\r\n options.data.resolve(data)\r\n }).fail(options.data.reject)\r\n }(that, options, expandedInfo, data)\r\n } else if (isDataDeferred(options.data)) {\r\n options.data.resolve(data)\r\n }\r\n }\r\n var loadGroupTotalCount = function(dataSource, options) {\r\n var d = new Deferred;\r\n var isGrouping = !!(options.group && options.group.length);\r\n var loadOptions = extend({\r\n skip: 0,\r\n take: 1,\r\n requireGroupCount: isGrouping,\r\n requireTotalCount: !isGrouping\r\n }, options, {\r\n group: isGrouping ? options.group : null\r\n });\r\n dataSource.load(loadOptions).done((data, extra) => {\r\n var count = extra && (isGrouping ? extra.groupCount : extra.totalCount);\r\n if (!isFinite(count)) {\r\n d.reject(dataErrors.Error(isGrouping ? \"E4022\" : \"E4021\"));\r\n return\r\n }\r\n d.resolve(count)\r\n }).fail(d.reject.bind(d));\r\n return d\r\n };\r\n return {\r\n updateTotalItemsCount(options) {\r\n var totalItemsCount = 0;\r\n var totalCount = options.extra && options.extra.totalCount || 0;\r\n var groupCount = options.extra && options.extra.groupCount || 0;\r\n var pageSize = this._dataSource.pageSize();\r\n var isVirtualPaging = this._isVirtualPaging();\r\n foreachExpandedGroups(this, groupInfo => {\r\n groupInfo.childrenTotalCount = 0\r\n });\r\n foreachExpandedGroups(this, (groupInfo, parents) => {\r\n var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, totalItemsCount);\r\n var count = groupInfo.count + groupInfo.childrenTotalCount;\r\n if (!isVirtualPaging) {\r\n count += getContinuationGroupCount(totalOffset, pageSize, count, parents.length - 1)\r\n }\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].childrenTotalCount += count\r\n } else {\r\n totalItemsCount += count\r\n }\r\n });\r\n this.callBase(totalItemsCount - totalCount + groupCount)\r\n },\r\n _isGroupExpanded(groupIndex) {\r\n var groups = this._dataSource.group();\r\n return isGroupExpanded(groups, groupIndex)\r\n },\r\n _updatePagingOptions(options, callback) {\r\n var isVirtualPaging = this._isVirtualPaging();\r\n var pageSize = this._dataSource.pageSize();\r\n var skips = [];\r\n var takes = [];\r\n var skipChildrenTotalCount = 0;\r\n var childrenTotalCount = 0;\r\n if (options.take) {\r\n foreachExpandedGroups(this, groupInfo => {\r\n groupInfo.childrenTotalCount = 0;\r\n groupInfo.skipChildrenTotalCount = 0\r\n });\r\n foreachExpandedGroups(this, (groupInfo, parents) => {\r\n var take;\r\n var takeCorrection = 0;\r\n var parentTakeCorrection = 0;\r\n var totalOffset = getTotalOffset(parents, isVirtualPaging ? 0 : pageSize, childrenTotalCount);\r\n var continuationGroupCount = 0;\r\n var skipContinuationGroupCount = 0;\r\n var groupInfoCount = groupInfo.count + groupInfo.childrenTotalCount;\r\n var childrenGroupInfoCount = groupInfoCount;\r\n callback && callback(groupInfo, totalOffset);\r\n var skip = options.skip - totalOffset;\r\n if (totalOffset <= options.skip + options.take && groupInfoCount) {\r\n take = options.take;\r\n if (!isVirtualPaging) {\r\n continuationGroupCount = getContinuationGroupCount(totalOffset, pageSize, groupInfoCount, parents.length - 1);\r\n groupInfoCount += continuationGroupCount * parents.length;\r\n childrenGroupInfoCount += continuationGroupCount;\r\n if (pageSize && skip >= 0) {\r\n takeCorrection = parents.length;\r\n parentTakeCorrection = parents.length - 1;\r\n skipContinuationGroupCount = Math.floor(skip / pageSize)\r\n }\r\n }\r\n if (skip >= 0) {\r\n if (totalOffset + groupInfoCount > options.skip) {\r\n skips.unshift(skip - skipContinuationGroupCount * takeCorrection - groupInfo.skipChildrenTotalCount)\r\n }\r\n if (totalOffset + groupInfoCount >= options.skip + take) {\r\n takes.unshift(take - takeCorrection - groupInfo.childrenTotalCount + groupInfo.skipChildrenTotalCount)\r\n }\r\n } else if (totalOffset + groupInfoCount >= options.skip + take) {\r\n takes.unshift(take + skip - groupInfo.childrenTotalCount)\r\n }\r\n }\r\n if (totalOffset <= options.skip) {\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1 - skipContinuationGroupCount * parentTakeCorrection)\r\n } else {\r\n skipChildrenTotalCount += Math.min(childrenGroupInfoCount, skip + 1)\r\n }\r\n }\r\n if (totalOffset <= options.skip + take) {\r\n groupInfoCount = Math.min(childrenGroupInfoCount, skip + take - (skipContinuationGroupCount + 1) * parentTakeCorrection);\r\n if (parents[parents.length - 2]) {\r\n parents[parents.length - 2].childrenTotalCount += groupInfoCount\r\n } else {\r\n childrenTotalCount += groupInfoCount\r\n }\r\n }\r\n });\r\n options.skip -= skipChildrenTotalCount;\r\n options.take -= childrenTotalCount - skipChildrenTotalCount\r\n }\r\n options.skips = skips;\r\n options.takes = takes\r\n },\r\n changeRowExpand(path) {\r\n var groupInfo = this.findGroupInfo(path);\r\n var dataSource = this._dataSource;\r\n var remoteGroupPaging = dataSource.remoteOperations().groupPaging;\r\n var groups = dataGridCore.normalizeSortingInfo(dataSource.group());\r\n if (groupInfo) {\r\n groupInfo.isExpanded = !groupInfo.isExpanded;\r\n if (remoteGroupPaging && groupInfo.isExpanded && path.length < groups.length) {\r\n return loadGroupTotalCount(dataSource, {\r\n filter: createGroupFilter(path, {\r\n filter: dataSource.lastLoadOptions().filter,\r\n group: dataSource.group()\r\n }),\r\n group: [groups[path.length]],\r\n select: dataSource.select()\r\n }).done(groupCount => {\r\n groupInfo.count = groupCount\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n }\r\n return (new Deferred).reject()\r\n },\r\n handleDataLoading(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var groups = dataGridCore.normalizeSortingInfo(storeLoadOptions.group || options.loadOptions.group);\r\n if (options.isCustomLoading || !groups.length) {\r\n return\r\n }\r\n if (options.remoteOperations.grouping) {\r\n var remotePaging = this._dataSource.remoteOperations().paging;\r\n storeLoadOptions.group = dataGridCore.normalizeSortingInfo(storeLoadOptions.group);\r\n storeLoadOptions.group.forEach((group, index) => {\r\n var isLastGroup = index === storeLoadOptions.group.length - 1;\r\n group.isExpanded = !remotePaging || !isLastGroup\r\n })\r\n }\r\n options.group = options.group || groups;\r\n if (options.remoteOperations.paging) {\r\n options.skip = storeLoadOptions.skip;\r\n options.take = storeLoadOptions.take;\r\n storeLoadOptions.requireGroupCount = true;\r\n storeLoadOptions.group = groups.slice(0, 1);\r\n this._updatePagingOptions(options);\r\n storeLoadOptions.skip = options.skip;\r\n storeLoadOptions.take = options.take\r\n } else {\r\n options.skip = options.loadOptions.skip;\r\n options.take = options.loadOptions.take;\r\n this._updatePagingOptions(options)\r\n }\r\n },\r\n handleDataLoadedCore(options, callBase) {\r\n var loadedGroupCount = dataGridCore.normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group).length;\r\n var groupCount = options.group ? options.group.length : 0;\r\n var totalCount;\r\n var expandedInfo = {};\r\n if (options.isCustomLoading) {\r\n callBase(options);\r\n processGroupItems(this, options.data, loadedGroupCount, expandedInfo, [], options.isCustomLoading, options.storeLoadOptions.isLoadingAll)\r\n } else {\r\n if (!options.remoteOperations.paging) {\r\n this.foreachGroups(groupInfo => {\r\n groupInfo.count = 0\r\n })\r\n }\r\n totalCount = updateGroupInfos(this, options, options.data, loadedGroupCount);\r\n if (totalCount < 0) {\r\n options.data = (new Deferred).reject(errors.Error(\"E1037\"));\r\n return\r\n }\r\n if (!options.remoteOperations.paging) {\r\n if (loadedGroupCount && options.extra && options.loadOptions.requireTotalCount) {\r\n options.extra.totalCount = totalCount;\r\n options.extra.groupCount = options.data.length\r\n }\r\n }\r\n if (groupCount && options.storeLoadOptions.requireGroupCount && !isFinite(options.extra.groupCount)) {\r\n options.data = (new Deferred).reject(dataErrors.Error(\"E4022\"));\r\n return\r\n }\r\n this.updateTotalItemsCount(options);\r\n if (!options.remoteOperations.paging) {\r\n this._updatePagingOptions(options)\r\n }\r\n callBase(options);\r\n if (!options.remoteOperations.paging) {\r\n this._processPaging(options, loadedGroupCount)\r\n }\r\n }\r\n loadGroupItems(this, options, loadedGroupCount, expandedInfo, 0, options.data)\r\n },\r\n _processSkips(items, skips, groupCount) {\r\n if (!groupCount) {\r\n return\r\n }\r\n var firstItem = items[0];\r\n var skip = skips[0];\r\n var children = firstItem && firstItem.items;\r\n if (void 0 !== skip) {\r\n firstItem.isContinuation = true;\r\n if (children) {\r\n firstItem.items = children.slice(skip);\r\n this._processSkips(firstItem.items, skips.slice(1), groupCount - 1)\r\n }\r\n }\r\n },\r\n _processTakes(items, skips, takes, groupCount, parents) {\r\n if (!groupCount || !items) {\r\n return\r\n }\r\n parents = parents || [];\r\n var lastItem = items[items.length - 1];\r\n var children = lastItem && lastItem.items;\r\n var take = takes[0];\r\n var skip = skips[0];\r\n if (lastItem) {\r\n var maxTakeCount = lastItem.count - (lastItem.isContinuation && skip || 0) || children.length;\r\n if (void 0 !== take && maxTakeCount > take) {\r\n lastItem.isContinuationOnNextPage = true;\r\n parents.forEach(parent => {\r\n parent.isContinuationOnNextPage = true\r\n });\r\n if (children) {\r\n children = children.slice(0, take);\r\n lastItem.items = children\r\n }\r\n }\r\n parents.push(lastItem);\r\n this._processTakes(children, skips.slice(1), takes.slice(1), groupCount - 1, parents)\r\n }\r\n },\r\n _processPaging(options, groupCount) {\r\n this._processSkips(options.data, options.skips, groupCount);\r\n this._processTakes(options.data, options.skips, options.takes, groupCount)\r\n },\r\n isLastLevelGroupItemsPagingLocal: () => false,\r\n sortLastLevelGroupItems: items => items,\r\n refresh(options, operationTypes) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var group = options.group || options.storeLoadOptions.group;\r\n var oldGroups = dataGridCore.normalizeSortingInfo(that._group);\r\n var isExpanded;\r\n var groupIndex;\r\n\r\n function handleGroup(groupInfo, parents) {\r\n if (parents.length === groupIndex + 1) {\r\n groupInfo.isExpanded = isExpanded\r\n }\r\n }\r\n for (groupIndex = 0; groupIndex < oldGroups.length; groupIndex++) {\r\n isExpanded = isGroupExpanded(group, groupIndex);\r\n if (isGroupExpanded(that._group, groupIndex) !== isExpanded) {\r\n that.foreachGroups(handleGroup)\r\n }\r\n }\r\n that.callBase.apply(this, arguments);\r\n if (group && options.remoteOperations.paging && operationTypes.reload) {\r\n return foreachExpandedGroups(that, groupInfo => {\r\n var groupCountQuery = loadGroupTotalCount(dataSource, {\r\n filter: createGroupFilter(groupInfo.path, {\r\n filter: storeLoadOptions.filter,\r\n group: group\r\n }),\r\n group: group.slice(groupInfo.path.length),\r\n select: storeLoadOptions.select\r\n });\r\n var groupOffsetQuery = loadGroupTotalCount(dataSource, {\r\n filter: createOffsetFilter(groupInfo.path, {\r\n filter: storeLoadOptions.filter,\r\n group: group\r\n }, true),\r\n group: group.slice(groupInfo.path.length - 1, groupInfo.path.length),\r\n select: storeLoadOptions.select\r\n });\r\n return when(groupOffsetQuery, groupCountQuery).done((offset, count) => {\r\n offset = parseInt(offset.length ? offset[0] : offset);\r\n count = parseInt(count.length ? count[0] : count);\r\n groupInfo.offset = offset;\r\n if (groupInfo.count !== count) {\r\n groupInfo.count = count;\r\n that.updateTotalItemsCount(options)\r\n }\r\n })\r\n }, true)\r\n }\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping_expanded.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n toComparable\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n keysEqual\r\n} from \"../../../../data/utils\";\r\nimport dataGridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nimport {\r\n createOffsetFilter,\r\n GroupingHelper as GroupingHelperCore\r\n} from \"./m_grouping_core\";\r\nvar loadTotalCount = function(dataSource, options) {\r\n var d = new Deferred;\r\n var loadOptions = extend({\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }, options);\r\n dataSource.load(loadOptions).done((data, extra) => {\r\n d.resolve(extra && extra.totalCount)\r\n }).fail(d.reject.bind(d));\r\n return d\r\n};\r\nexport var GroupingHelper = GroupingHelperCore.inherit(function() {\r\n var foreachCollapsedGroups = function(that, callback, updateOffsets) {\r\n return that.foreachGroups(groupInfo => {\r\n if (!groupInfo.isExpanded) {\r\n return callback(groupInfo)\r\n }\r\n }, false, false, updateOffsets, true)\r\n };\r\n var correctSkipLoadOption = function(that, skip) {\r\n var skipCorrection = 0;\r\n var resultSkip = skip || 0;\r\n if (skip) {\r\n foreachCollapsedGroups(that, groupInfo => {\r\n if (groupInfo.offset - skipCorrection >= skip) {\r\n return false\r\n }\r\n skipCorrection += groupInfo.count - 1\r\n });\r\n resultSkip += skipCorrection\r\n }\r\n return resultSkip\r\n };\r\n var pathEquals = function(path1, path2) {\r\n if (path1.length !== path2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < path1.length; i++) {\r\n if (!keysEqual(null, path1[i], path2[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n };\r\n var updateGroupOffsets = function updateGroupOffsets(that, items, path, offset, additionalGroupInfo) {\r\n if (!items) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (\"key\" in item && void 0 !== item.items) {\r\n path.push(item.key);\r\n if (additionalGroupInfo && pathEquals(additionalGroupInfo.path, path) && !item.isContinuation) {\r\n additionalGroupInfo.offset = offset\r\n }\r\n var groupInfo = that.findGroupInfo(path);\r\n if (groupInfo && !item.isContinuation) {\r\n groupInfo.offset = offset\r\n }\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n offset += groupInfo.count\r\n } else {\r\n offset = updateGroupOffsets(that, item.items, path, offset, additionalGroupInfo)\r\n }\r\n path.pop()\r\n } else {\r\n offset++\r\n }\r\n }\r\n return offset\r\n };\r\n var getGroupCount = function getGroupCount(item, groupCount) {\r\n var count = item.count || item.items.length;\r\n if (!item.count && groupCount > 1) {\r\n count = 0;\r\n for (var i = 0; i < item.items.length; i++) {\r\n count += getGroupCount(item.items[i], groupCount - 1)\r\n }\r\n }\r\n return count\r\n };\r\n return {\r\n handleDataLoading(options) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var collapsedGroups = [];\r\n var collapsedItemsCount = 0;\r\n var skipFirstItem = false;\r\n var take;\r\n var {\r\n group: group\r\n } = options.loadOptions;\r\n var skipCorrection = 0;\r\n ! function(storeLoadOptions, loadOptions) {\r\n if (loadOptions.group) {\r\n var groups = dataGridCore.normalizeSortingInfo(loadOptions.group);\r\n var sorts = dataGridCore.normalizeSortingInfo(storeLoadOptions.sort);\r\n storeLoadOptions.sort = storeHelper.arrangeSortingInfo(groups, sorts);\r\n delete loadOptions.group\r\n }\r\n }(storeLoadOptions, options.loadOptions);\r\n options.group = options.group || group;\r\n if (options.isCustomLoading) {\r\n return\r\n }\r\n var loadOptions = extend({}, storeLoadOptions);\r\n loadOptions.skip = correctSkipLoadOption(this, storeLoadOptions.skip);\r\n if (loadOptions.skip && loadOptions.take && group) {\r\n loadOptions.skip--;\r\n loadOptions.take++;\r\n skipFirstItem = true\r\n }\r\n if (loadOptions.take && group) {\r\n take = loadOptions.take;\r\n loadOptions.take++\r\n }\r\n foreachCollapsedGroups(this, groupInfo => {\r\n if (groupInfo.offset >= loadOptions.skip + loadOptions.take + skipCorrection) {\r\n return false\r\n }\r\n if (groupInfo.offset >= loadOptions.skip + skipCorrection && groupInfo.count) {\r\n skipCorrection += groupInfo.count - 1;\r\n collapsedGroups.push(groupInfo);\r\n collapsedItemsCount += groupInfo.count\r\n }\r\n });\r\n each(collapsedGroups, (function() {\r\n loadOptions.filter = function(path, storeLoadOptions, group) {\r\n var groups = dataGridCore.normalizeSortingInfo(group || storeLoadOptions.group);\r\n var filter = [];\r\n for (var i = 0; i < path.length; i++) {\r\n var filterElement = [];\r\n for (var j = 0; j <= i; j++) {\r\n filterElement.push([groups[j].selector, i === j ? \"<>\" : \"=\", path[j]])\r\n }\r\n filter.push(dataGridCore.combineFilters(filterElement))\r\n }\r\n filter = dataGridCore.combineFilters(filter, \"or\");\r\n return dataGridCore.combineFilters([filter, storeLoadOptions.filter])\r\n }(this.path, loadOptions, group)\r\n }));\r\n options.storeLoadOptions = loadOptions;\r\n options.collapsedGroups = collapsedGroups;\r\n options.collapsedItemsCount = collapsedItemsCount;\r\n options.skip = loadOptions.skip || 0;\r\n options.skipFirstItem = skipFirstItem;\r\n options.take = take\r\n },\r\n handleDataLoaded(options, callBase) {\r\n var {\r\n collapsedGroups: collapsedGroups\r\n } = options;\r\n var groups = dataGridCore.normalizeSortingInfo(options.group);\r\n var groupCount = groups.length;\r\n\r\n function appendCollapsedPath(data, path, groups, collapsedGroup, offset) {\r\n if (!data || !path.length || !groups.length) {\r\n return\r\n }\r\n var keyValue;\r\n var i;\r\n var pathValue = toComparable(path[0], true);\r\n for (i = 0; i < data.length; i++) {\r\n keyValue = toComparable(data[i].key, true);\r\n if (offset >= collapsedGroup.offset || pathValue === keyValue) {\r\n break\r\n } else {\r\n offset += getGroupCount(data[i], groups.length)\r\n }\r\n }\r\n if (!data.length || pathValue !== keyValue) {\r\n data.splice(i, 0, {\r\n key: path[0],\r\n items: [],\r\n count: 1 === path.length ? collapsedGroup.count : void 0\r\n })\r\n }\r\n appendCollapsedPath(data[i].items, path.slice(1), groups.slice(1), collapsedGroup, offset)\r\n }\r\n if (options.collapsedItemsCount && options.extra && options.extra.totalCount >= 0) {\r\n if (!options.extra._totalCountWasIncreasedByCollapsedItems) {\r\n options.extra.totalCount += options.collapsedItemsCount;\r\n options.extra._totalCountWasIncreasedByCollapsedItems = true\r\n }\r\n }\r\n callBase(options);\r\n if (groupCount) {\r\n var {\r\n data: data\r\n } = options;\r\n var query = dataQuery(data);\r\n storeHelper.multiLevelGroup(query, groups).enumerate().done(groupedData => {\r\n data = groupedData\r\n });\r\n if (collapsedGroups) {\r\n for (var pathIndex = 0; pathIndex < collapsedGroups.length; pathIndex++) {\r\n appendCollapsedPath(data, collapsedGroups[pathIndex].path, groups, collapsedGroups[pathIndex], options.skip)\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n ! function processGroupItems(that, items, path, offset, skipFirstItem, take) {\r\n var removeLastItemsCount = 0;\r\n var needRemoveFirstItem = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (void 0 !== item.items) {\r\n path.push(item.key);\r\n var groupInfo = that.findGroupInfo(path);\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n item.collapsedItems = item.items;\r\n item.items = null;\r\n offset += groupInfo.count;\r\n take--;\r\n if (take < 0) {\r\n removeLastItemsCount++\r\n }\r\n if (skipFirstItem) {\r\n needRemoveFirstItem = true\r\n }\r\n } else if (item.items) {\r\n var offsetInfo = processGroupItems(that, item.items, path, offset, skipFirstItem, take);\r\n if (skipFirstItem) {\r\n if (offsetInfo.offset - offset > 1) {\r\n item.isContinuation = true\r\n } else {\r\n needRemoveFirstItem = true\r\n }\r\n }\r\n offset = offsetInfo.offset;\r\n take = offsetInfo.take;\r\n if (take < 0) {\r\n if (item.items.length) {\r\n item.isContinuationOnNextPage = true\r\n } else {\r\n removeLastItemsCount++\r\n }\r\n }\r\n }\r\n path.pop()\r\n } else {\r\n if (skipFirstItem) {\r\n needRemoveFirstItem = true\r\n }\r\n offset++;\r\n take--;\r\n if (take < 0) {\r\n removeLastItemsCount++\r\n }\r\n }\r\n skipFirstItem = false\r\n }\r\n if (needRemoveFirstItem) {\r\n items.splice(0, 1)\r\n }\r\n if (removeLastItemsCount) {\r\n items.splice(-removeLastItemsCount, removeLastItemsCount)\r\n }\r\n return {\r\n offset: offset,\r\n take: take\r\n }\r\n }(this, data, [], options.skip, options.skipFirstItem, options.take)\r\n }\r\n options.data = data\r\n }\r\n },\r\n isGroupItemCountable: item => null === item.items,\r\n updateTotalItemsCount() {\r\n var itemsCountCorrection = 0;\r\n foreachCollapsedGroups(this, groupInfo => {\r\n if (groupInfo.count) {\r\n itemsCountCorrection -= groupInfo.count - 1\r\n }\r\n });\r\n this.callBase(itemsCountCorrection)\r\n },\r\n changeRowExpand(path) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var beginPageIndex = dataSource.beginPageIndex ? dataSource.beginPageIndex() : dataSource.pageIndex();\r\n var dataSourceItems = dataSource.items();\r\n var offset = correctSkipLoadOption(that, beginPageIndex * dataSource.pageSize());\r\n var groupInfo = that.findGroupInfo(path);\r\n var groupCountQuery;\r\n if (groupInfo && !groupInfo.isExpanded) {\r\n groupCountQuery = (new Deferred).resolve(groupInfo.count)\r\n } else {\r\n groupCountQuery = loadTotalCount(dataSource, {\r\n filter: createGroupFilter(path, {\r\n filter: dataSource.filter(),\r\n group: dataSource.group()\r\n })\r\n })\r\n }\r\n return when(groupCountQuery).done(count => {\r\n count = parseInt(count.length ? count[0] : count);\r\n if (groupInfo) {\r\n updateGroupOffsets(that, dataSourceItems, [], offset);\r\n groupInfo.isExpanded = !groupInfo.isExpanded;\r\n groupInfo.count = count\r\n } else {\r\n groupInfo = {\r\n offset: -1,\r\n count: count,\r\n path: path,\r\n isExpanded: false\r\n };\r\n updateGroupOffsets(that, dataSourceItems, [], offset, groupInfo);\r\n if (groupInfo.offset >= 0) {\r\n that.addGroupInfo(groupInfo)\r\n }\r\n }\r\n that.updateTotalItemsCount()\r\n }).fail((function() {\r\n dataSource._eventsStrategy.fireEvent(\"loadError\", arguments)\r\n }))\r\n },\r\n allowCollapseAll: () => false,\r\n refresh(options, operationTypes) {\r\n var that = this;\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var dataSource = that._dataSource;\r\n this.callBase.apply(this, arguments);\r\n if (operationTypes.reload) {\r\n return foreachCollapsedGroups(that, groupInfo => {\r\n var groupCountQuery = loadTotalCount(dataSource, {\r\n filter: createGroupFilter(groupInfo.path, storeLoadOptions)\r\n });\r\n var groupOffsetQuery = loadTotalCount(dataSource, {\r\n filter: createOffsetFilter(groupInfo.path, storeLoadOptions)\r\n });\r\n return when(groupOffsetQuery, groupCountQuery).done((offset, count) => {\r\n offset = parseInt(offset.length ? offset[0] : offset);\r\n count = parseInt(count.length ? count[0] : count);\r\n groupInfo.offset = offset;\r\n if (groupInfo.count !== count) {\r\n groupInfo.count = count;\r\n that.updateTotalItemsCount()\r\n }\r\n })\r\n }, true)\r\n }\r\n }\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/grouping/m_grouping.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n restoreFocus,\r\n setTabIndex\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../../../grids/grid_core/m_accessibility\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapter from \"../m_data_source_adapter\";\r\nimport {\r\n GroupingHelper as CollapsedGroupingHelper\r\n} from \"./m_grouping_collapsed\";\r\nimport {\r\n GroupingHelper as ExpandedGroupingHelper\r\n} from \"./m_grouping_expanded\";\r\nvar DATAGRID_GROUP_PANEL_CLASS = \"dx-datagrid-group-panel\";\r\nvar DATAGRID_GROUP_PANEL_MESSAGE_CLASS = \"dx-group-panel-message\";\r\nvar DATAGRID_GROUP_PANEL_ITEM_CLASS = \"dx-group-panel-item\";\r\nvar DATAGRID_GROUP_PANEL_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar DATAGRID_GROUP_PANEL_CONTAINER_CLASS = \"dx-toolbar-item\";\r\nvar DATAGRID_EXPAND_CLASS = \"dx-datagrid-expand\";\r\nvar DATAGRID_GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar HEADER_FILTER_CLASS_SELECTOR = \".dx-header-filter\";\r\nvar GroupingDataSourceAdapterExtender = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._initGroupingHelper()\r\n },\r\n _initGroupingHelper(options) {\r\n var grouping = this._grouping;\r\n var isAutoExpandAll = this.option(\"grouping.autoExpandAll\");\r\n var isFocusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var remoteOperations = options ? options.remoteOperations : this.remoteOperations();\r\n var isODataRemoteOperations = remoteOperations.filtering && remoteOperations.sorting && remoteOperations.paging;\r\n if (isODataRemoteOperations && !remoteOperations.grouping && (isAutoExpandAll || !isFocusedRowEnabled)) {\r\n if (!grouping || grouping instanceof CollapsedGroupingHelper) {\r\n this._grouping = new ExpandedGroupingHelper(this)\r\n }\r\n } else if (!grouping || grouping instanceof ExpandedGroupingHelper) {\r\n this._grouping = new CollapsedGroupingHelper(this)\r\n }\r\n },\r\n totalItemsCount() {\r\n var totalCount = this.callBase();\r\n return totalCount > 0 && this._dataSource.group() && this._dataSource.requireTotalCount() ? totalCount + this._grouping.totalCountCorrection() : totalCount\r\n },\r\n itemsCount() {\r\n return this._dataSource.group() ? this._grouping.itemsCount() || 0 : this.callBase.apply(this, arguments)\r\n },\r\n allowCollapseAll() {\r\n return this._grouping.allowCollapseAll()\r\n },\r\n isGroupItemCountable(item) {\r\n return this._grouping.isGroupItemCountable(item)\r\n },\r\n isRowExpanded(key) {\r\n var groupInfo = this._grouping.findGroupInfo(key);\r\n return groupInfo ? groupInfo.isExpanded : !this._grouping.allowCollapseAll()\r\n },\r\n collapseAll(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, false)\r\n },\r\n expandAll(groupIndex) {\r\n return this._collapseExpandAll(groupIndex, true)\r\n },\r\n _collapseExpandAll(groupIndex, isExpand) {\r\n var dataSource = this._dataSource;\r\n var group = dataSource.group();\r\n var groups = gridCore.normalizeSortingInfo(group || []);\r\n if (groups.length) {\r\n for (var i = 0; i < groups.length; i++) {\r\n if (void 0 === groupIndex || groupIndex === i) {\r\n groups[i].isExpanded = isExpand\r\n } else if (group && group[i]) {\r\n groups[i].isExpanded = group[i].isExpanded\r\n }\r\n }\r\n dataSource.group(groups);\r\n this._grouping.foreachGroups((groupInfo, parents) => {\r\n if (void 0 === groupIndex || groupIndex === parents.length - 1) {\r\n groupInfo.isExpanded = isExpand\r\n }\r\n }, false, true);\r\n this.resetPagesCache()\r\n }\r\n return true\r\n },\r\n refresh() {\r\n this.callBase.apply(this, arguments);\r\n return this._grouping.refresh.apply(this._grouping, arguments)\r\n },\r\n changeRowExpand(path) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.group()) {\r\n dataSource.beginLoading();\r\n if (this._lastLoadOptions) {\r\n this._lastLoadOptions.groupExpand = true\r\n }\r\n return this._changeRowExpandCore(path).always(() => {\r\n dataSource.endLoading()\r\n })\r\n }\r\n },\r\n _changeRowExpandCore(path) {\r\n return this._grouping.changeRowExpand(path)\r\n },\r\n _hasGroupLevelsExpandState(group, isExpanded) {\r\n if (group && Array.isArray(group)) {\r\n for (var i = 0; i < group.length; i++) {\r\n if (group[i].isExpanded === isExpanded) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var {\r\n remoteOperations: remoteOperations\r\n } = options;\r\n if (options.storeLoadOptions.group) {\r\n if (remoteOperations.grouping && !options.isCustomLoading) {\r\n if (!remoteOperations.groupPaging || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, true)) {\r\n remoteOperations.paging = false\r\n }\r\n }\r\n if (!remoteOperations.grouping && (!remoteOperations.sorting || !remoteOperations.filtering || options.isCustomLoading || this._hasGroupLevelsExpandState(options.storeLoadOptions.group, false))) {\r\n remoteOperations.paging = false\r\n }\r\n } else if (!options.isCustomLoading && remoteOperations.paging && operationTypes.grouping) {\r\n this.resetCache()\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _handleDataLoading(options) {\r\n this.callBase(options);\r\n this._initGroupingHelper(options);\r\n return this._grouping.handleDataLoading(options)\r\n },\r\n _handleDataLoaded(options) {\r\n return this._grouping.handleDataLoaded(options, this.callBase.bind(this))\r\n },\r\n _handleDataLoadedCore(options) {\r\n return this._grouping.handleDataLoadedCore(options, this.callBase.bind(this))\r\n }\r\n};\r\ndataSourceAdapter.extend(GroupingDataSourceAdapterExtender);\r\nvar GroupingDataControllerExtender = {\r\n init() {\r\n this.callBase();\r\n this.createAction(\"onRowExpanding\");\r\n this.createAction(\"onRowExpanded\");\r\n this.createAction(\"onRowCollapsing\");\r\n this.createAction(\"onRowCollapsed\")\r\n },\r\n _beforeProcessItems(items) {\r\n var groupColumns = this._columnsController.getGroupColumns();\r\n items = this.callBase(items);\r\n if (items.length && groupColumns.length) {\r\n items = this._processGroupItems(items, groupColumns.length)\r\n }\r\n return items\r\n },\r\n _processItem(item, options) {\r\n if (isDefined(item.groupIndex) && isString(item.rowType) && 0 === item.rowType.indexOf(\"group\")) {\r\n item = this._processGroupItem(item, options);\r\n options.dataIndex = 0\r\n } else {\r\n item = this.callBase.apply(this, arguments)\r\n }\r\n return item\r\n },\r\n _processGroupItem: item => item,\r\n _processGroupItems(items, groupsCount, options) {\r\n var groupedColumns = this._columnsController.getGroupColumns();\r\n var column = groupedColumns[groupedColumns.length - groupsCount];\r\n if (!options) {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n options = {\r\n collectContinuationItems: \"virtual\" !== scrollingMode && \"infinite\" !== scrollingMode,\r\n resultItems: [],\r\n path: [],\r\n values: []\r\n }\r\n }\r\n var {\r\n resultItems: resultItems\r\n } = options;\r\n if (options.data) {\r\n if (options.collectContinuationItems || !options.data.isContinuation) {\r\n resultItems.push({\r\n rowType: \"group\",\r\n data: options.data,\r\n groupIndex: options.path.length - 1,\r\n isExpanded: !!options.data.items,\r\n key: options.path.slice(0),\r\n values: options.values.slice(0)\r\n })\r\n }\r\n }\r\n if (items) {\r\n if (0 === groupsCount) {\r\n resultItems.push.apply(resultItems, items)\r\n } else {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (item && \"items\" in item) {\r\n options.data = item;\r\n options.path.push(item.key);\r\n options.values.push(column && column.deserializeValue && !column.calculateDisplayValue ? column.deserializeValue(item.key) : item.key);\r\n this._processGroupItems(item.items, groupsCount - 1, options);\r\n options.data = void 0;\r\n options.path.pop();\r\n options.values.pop()\r\n } else {\r\n resultItems.push(item)\r\n }\r\n }\r\n }\r\n }\r\n return resultItems\r\n },\r\n publicMethods() {\r\n return this.callBase().concat([\"collapseAll\", \"expandAll\", \"isRowExpanded\", \"expandRow\", \"collapseRow\"])\r\n },\r\n collapseAll(groupIndex) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && dataSource.collapseAll(groupIndex)) {\r\n dataSource.pageIndex(0);\r\n dataSource.reload()\r\n }\r\n },\r\n expandAll(groupIndex) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && dataSource.expandAll(groupIndex)) {\r\n dataSource.pageIndex(0);\r\n dataSource.reload()\r\n }\r\n },\r\n changeRowExpand(key) {\r\n var that = this;\r\n var expanded = that.isRowExpanded(key);\r\n var args = {\r\n key: key,\r\n expanded: expanded\r\n };\r\n that.executeAction(expanded ? \"onRowCollapsing\" : \"onRowExpanding\", args);\r\n if (!args.cancel) {\r\n return when(that._changeRowExpandCore(key)).done(() => {\r\n args.expanded = !expanded;\r\n that.executeAction(expanded ? \"onRowCollapsed\" : \"onRowExpanded\", args)\r\n })\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _changeRowExpandCore(key) {\r\n var that = this;\r\n var dataSource = this._dataSource;\r\n var d = new Deferred;\r\n if (!dataSource) {\r\n d.resolve()\r\n } else {\r\n when(dataSource.changeRowExpand(key)).done(() => {\r\n that.load().done(d.resolve).fail(d.reject)\r\n }).fail(d.reject)\r\n }\r\n return d\r\n },\r\n isRowExpanded(key) {\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.isRowExpanded(key)\r\n },\r\n expandRow(key) {\r\n if (!this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n collapseRow(key) {\r\n if (this.isRowExpanded(key)) {\r\n return this.changeRowExpand(key)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n optionChanged(args) {\r\n if (\"grouping\" === args.name) {\r\n args.name = \"dataSource\"\r\n }\r\n this.callBase(args)\r\n }\r\n};\r\nvar onGroupingMenuItemClick = function(column, params) {\r\n var columnsController = this._columnsController;\r\n switch (params.itemData.value) {\r\n case \"group\":\r\n var groups = columnsController._dataSource.group() || [];\r\n columnsController.columnOption(column.dataField, \"groupIndex\", groups.length);\r\n break;\r\n case \"ungroup\":\r\n columnsController.columnOption(column.dataField, \"groupIndex\", -1);\r\n break;\r\n case \"ungroupAll\":\r\n this.component.clearGrouping()\r\n }\r\n};\r\nvar isGroupPanelVisible = groupPanelOptions => {\r\n var visible = null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.visible;\r\n return \"auto\" === visible ? \"desktop\" === devices.current().deviceType : !!visible\r\n};\r\nvar allowDragging = (groupPanelOptions, column) => {\r\n var isVisible = isGroupPanelVisible(groupPanelOptions);\r\n var canDrag = (null === groupPanelOptions || void 0 === groupPanelOptions ? void 0 : groupPanelOptions.allowColumnDragging) && column.allowGrouping;\r\n return isVisible && !!canDrag\r\n};\r\nexport var GroupingHeaderPanelExtender = {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n return this._appendGroupingItem(items)\r\n },\r\n _appendGroupingItem(items) {\r\n if (this._isGroupPanelVisible()) {\r\n var isRendered = false;\r\n var toolbarItem = {\r\n template: () => {\r\n var $groupPanel = $(\"<div>\").addClass(DATAGRID_GROUP_PANEL_CLASS);\r\n this._updateGroupPanelContent($groupPanel);\r\n registerKeyboardAction(\"groupPanel\", this, $groupPanel, void 0, this._handleActionKeyDown.bind(this));\r\n return $groupPanel\r\n },\r\n name: \"groupPanel\",\r\n onItemRendered: () => {\r\n isRendered && this.renderCompleted.fire();\r\n isRendered = true\r\n },\r\n location: \"before\",\r\n locateInMenu: \"never\",\r\n sortIndex: 1\r\n };\r\n items.push(toolbarItem);\r\n this.updateToolbarDimensions()\r\n }\r\n return items\r\n },\r\n _handleActionKeyDown(args) {\r\n var {\r\n event: event\r\n } = args;\r\n var $target = $(event.target);\r\n var groupColumnIndex = $target.closest(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS)).index();\r\n var column = this._columnsController.getGroupColumns()[groupColumnIndex];\r\n var columnIndex = column && column.index;\r\n if ($target.is(HEADER_FILTER_CLASS_SELECTOR)) {\r\n this.getController(\"headerFilter\").showHeaderFilterMenu(columnIndex, true)\r\n } else {\r\n this._processGroupItemAction(columnIndex)\r\n }\r\n event.preventDefault()\r\n },\r\n _isGroupPanelVisible() {\r\n return isGroupPanelVisible(this.option(\"groupPanel\"))\r\n },\r\n _renderGroupPanelItems($groupPanel, groupColumns) {\r\n var that = this;\r\n $groupPanel.empty();\r\n each(groupColumns, (index, groupColumn) => {\r\n that._createGroupPanelItem($groupPanel, groupColumn)\r\n });\r\n restoreFocus(this)\r\n },\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var $groupPanelItem = $(\"<div>\").addClass(groupColumn.cssClass).addClass(DATAGRID_GROUP_PANEL_ITEM_CLASS).data(\"columnData\", groupColumn).appendTo($rootElement).text(groupColumn.caption);\r\n setTabIndex(this, $groupPanelItem);\r\n return $groupPanelItem\r\n },\r\n _columnOptionChanged(e) {\r\n if (!this._requireReady && !gridCore.checkChanges(e.optionNames, [\"width\", \"visibleWidth\"])) {\r\n var $toolbarElement = this.element();\r\n var $groupPanel = $toolbarElement && $toolbarElement.find(\".\".concat(DATAGRID_GROUP_PANEL_CLASS));\r\n if ($groupPanel && $groupPanel.length) {\r\n this._updateGroupPanelContent($groupPanel);\r\n this.updateToolbarDimensions();\r\n this.renderCompleted.fire()\r\n }\r\n }\r\n this.callBase()\r\n },\r\n _updateGroupPanelContent($groupPanel) {\r\n var groupColumns = this.getController(\"columns\").getGroupColumns();\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n this._renderGroupPanelItems($groupPanel, groupColumns);\r\n if (groupPanelOptions.allowColumnDragging && !groupColumns.length) {\r\n $(\"<div>\").addClass(DATAGRID_GROUP_PANEL_MESSAGE_CLASS).text(groupPanelOptions.emptyPanelText).appendTo($groupPanel);\r\n $groupPanel.closest(\".\".concat(DATAGRID_GROUP_PANEL_CONTAINER_CLASS)).addClass(DATAGRID_GROUP_PANEL_LABEL_CLASS);\r\n $groupPanel.closest(\".\".concat(DATAGRID_GROUP_PANEL_LABEL_CLASS)).css(\"maxWidth\", \"none\")\r\n }\r\n },\r\n allowDragging(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return allowDragging(groupPanelOptions, column)\r\n },\r\n getColumnElements() {\r\n var $element = this.element();\r\n return $element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS))\r\n },\r\n getColumns() {\r\n return this.getController(\"columns\").getGroupColumns()\r\n },\r\n getBoundingRect() {\r\n var $element = this.element();\r\n if ($element && $element.find(\".\".concat(DATAGRID_GROUP_PANEL_CLASS)).length) {\r\n var offset = $element.offset();\r\n return {\r\n top: offset.top,\r\n bottom: offset.top + getHeight($element)\r\n }\r\n }\r\n return null\r\n },\r\n getName: () => \"group\",\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var $groupedColumnElement = $(options.targetElement).closest(\".\".concat(DATAGRID_GROUP_PANEL_ITEM_CLASS));\r\n var items;\r\n if ($groupedColumnElement.length) {\r\n options.column = $groupedColumnElement.data(\"columnData\")\r\n }\r\n if (contextMenuEnabled && options.column) {\r\n var {\r\n column: column\r\n } = options;\r\n var isGroupingAllowed = isDefined(column.allowGrouping) ? column.allowGrouping : true;\r\n if (isGroupingAllowed) {\r\n var isColumnGrouped = isDefined(column.groupIndex) && column.groupIndex > -1;\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = [{\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n disabled: !isColumnGrouped,\r\n onItemClick: onItemClick\r\n }, {\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n }]\r\n }\r\n }\r\n return items\r\n },\r\n isVisible() {\r\n return this.callBase() || this._isGroupPanelVisible()\r\n },\r\n hasGroupedColumns() {\r\n return this._isGroupPanelVisible() && !!this.getColumns().length\r\n },\r\n optionChanged(args) {\r\n if (\"groupPanel\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\nvar GroupingRowsViewExtender = {\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var items;\r\n if (contextMenuEnabled && options.row && \"group\" === options.row.rowType) {\r\n var columnsController = this._columnsController;\r\n var column = columnsController.columnOption(\"groupIndex:\".concat(options.row.groupIndex));\r\n if (column && column.allowGrouping) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = [];\r\n items.push({\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n onItemClick: onItemClick\r\n }, {\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n },\r\n _rowClick(e) {\r\n var expandMode = this.option(\"grouping.expandMode\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isGroupRowStateChanged = \"infinite\" !== scrollingMode && \"rowClick\" === expandMode && $(e.event.target).closest(\".\".concat(DATAGRID_GROUP_ROW_CLASS)).length;\r\n var isExpandButtonClicked = $(e.event.target).closest(\".\".concat(DATAGRID_EXPAND_CLASS)).length;\r\n if (isGroupRowStateChanged || isExpandButtonClicked) {\r\n this._changeGroupRowState(e)\r\n }\r\n this.callBase(e)\r\n },\r\n _changeGroupRowState(e) {\r\n var dataController = this.getController(\"data\");\r\n var row = dataController.items()[e.rowIndex];\r\n var allowCollapsing = this._columnsController.columnOption(\"groupIndex:\".concat(row.groupIndex), \"allowCollapsing\");\r\n if (\"data\" === row.rowType || \"group\" === row.rowType && false !== allowCollapsing) {\r\n dataController.changeRowExpand(row.key, true);\r\n e.event.preventDefault();\r\n e.handled = true\r\n }\r\n }\r\n};\r\nvar columnHeadersViewExtender = {\r\n getContextMenuItems(options) {\r\n var contextMenuEnabled = this.option(\"grouping.contextMenuEnabled\");\r\n var items = this.callBase(options);\r\n if (contextMenuEnabled && options.row && (\"header\" === options.row.rowType || \"detailAdaptive\" === options.row.rowType)) {\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && (!isDefined(column.allowGrouping) || column.allowGrouping)) {\r\n var groupingTexts = this.option(\"grouping.texts\");\r\n var isColumnGrouped = isDefined(column.groupIndex) && column.groupIndex > -1;\r\n var onItemClick = onGroupingMenuItemClick.bind(this, column);\r\n items = items || [];\r\n items.push({\r\n text: groupingTexts.groupByThisColumn,\r\n value: \"group\",\r\n beginGroup: true,\r\n disabled: isColumnGrouped,\r\n onItemClick: onItemClick\r\n });\r\n if (column.showWhenGrouped) {\r\n items.push({\r\n text: groupingTexts.ungroup,\r\n value: \"ungroup\",\r\n disabled: !isColumnGrouped,\r\n onItemClick: onItemClick\r\n })\r\n }\r\n items.push({\r\n text: groupingTexts.ungroupAll,\r\n value: \"ungroupAll\",\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n },\r\n allowDragging(column) {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n return allowDragging(groupPanelOptions, column) || this.callBase(column)\r\n }\r\n};\r\ngridCore.registerModule(\"grouping\", {\r\n defaultOptions: () => ({\r\n grouping: {\r\n autoExpandAll: true,\r\n allowCollapsing: true,\r\n contextMenuEnabled: false,\r\n expandMode: \"buttonClick\",\r\n texts: {\r\n groupContinuesMessage: messageLocalization.format(\"dxDataGrid-groupContinuesMessage\"),\r\n groupContinuedMessage: messageLocalization.format(\"dxDataGrid-groupContinuedMessage\"),\r\n groupByThisColumn: messageLocalization.format(\"dxDataGrid-groupHeaderText\"),\r\n ungroup: messageLocalization.format(\"dxDataGrid-ungroupHeaderText\"),\r\n ungroupAll: messageLocalization.format(\"dxDataGrid-ungroupAllText\")\r\n }\r\n },\r\n groupPanel: {\r\n visible: false,\r\n emptyPanelText: messageLocalization.format(\"dxDataGrid-groupPanelEmptyText\"),\r\n allowColumnDragging: true\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: GroupingDataControllerExtender,\r\n columns: {\r\n _getExpandColumnOptions() {\r\n var options = this.callBase.apply(this, arguments);\r\n options.cellTemplate = gridCore.getExpandCellTemplate();\r\n return options\r\n }\r\n },\r\n editing: {\r\n _isProcessedItem: item => isDefined(item.groupIndex) && isString(item.rowType) && 0 === item.rowType.indexOf(\"group\")\r\n }\r\n },\r\n views: {\r\n headerPanel: GroupingHeaderPanelExtender,\r\n rowsView: GroupingRowsViewExtender,\r\n columnHeadersView: columnHeadersViewExtender\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/master_detail/m_master_detail.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n grep\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar ROW_LINES_CLASS = \"dx-row-lines\";\r\nexport var masterDetailModule = {\r\n defaultOptions: () => ({\r\n masterDetail: {\r\n enabled: false,\r\n autoExpandAll: false,\r\n template: null\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n columns: {\r\n _getExpandColumnsCore() {\r\n var expandColumns = this.callBase();\r\n if (this.option(\"masterDetail.enabled\")) {\r\n expandColumns.push({\r\n type: \"detailExpand\",\r\n cellTemplate: gridCoreUtils.getExpandCellTemplate()\r\n })\r\n }\r\n return expandColumns\r\n }\r\n },\r\n data: function() {\r\n var initMasterDetail = function(that) {\r\n that._expandedItems = [];\r\n that._isExpandAll = that.option(\"masterDetail.autoExpandAll\")\r\n };\r\n return {\r\n init() {\r\n initMasterDetail(this);\r\n this.callBase()\r\n },\r\n expandAll(groupIndex) {\r\n if (groupIndex < 0) {\r\n this._isExpandAll = true;\r\n this._expandedItems = [];\r\n this.updateItems()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n collapseAll(groupIndex) {\r\n if (groupIndex < 0) {\r\n this._isExpandAll = false;\r\n this._expandedItems = [];\r\n this.updateItems()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n isRowExpanded(key) {\r\n var expandIndex = gridCoreUtils.getIndexByKey(key, this._expandedItems);\r\n if (Array.isArray(key)) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return !!(this._isExpandAll ^ (expandIndex >= 0 && this._expandedItems[expandIndex].visible))\r\n },\r\n _getRowIndicesForExpand(key) {\r\n var rowIndex = this.getRowIndexByKey(key);\r\n return [rowIndex, rowIndex + 1]\r\n },\r\n _changeRowExpandCore(key) {\r\n var result;\r\n if (Array.isArray(key)) {\r\n result = this.callBase.apply(this, arguments)\r\n } else {\r\n var expandIndex = gridCoreUtils.getIndexByKey(key, this._expandedItems);\r\n if (expandIndex >= 0) {\r\n var {\r\n visible: visible\r\n } = this._expandedItems[expandIndex];\r\n this._expandedItems[expandIndex].visible = !visible\r\n } else {\r\n this._expandedItems.push({\r\n key: key,\r\n visible: true\r\n })\r\n }\r\n this.updateItems({\r\n changeType: \"update\",\r\n rowIndices: this._getRowIndicesForExpand(key)\r\n });\r\n result = (new Deferred).resolve()\r\n }\r\n return result\r\n },\r\n _processDataItem(data, options) {\r\n var dataItem = this.callBase.apply(this, arguments);\r\n dataItem.isExpanded = this.isRowExpanded(dataItem.key);\r\n if (void 0 === options.detailColumnIndex) {\r\n options.detailColumnIndex = -1;\r\n each(options.visibleColumns, (index, column) => {\r\n if (\"expand\" === column.command && !isDefined(column.groupIndex)) {\r\n options.detailColumnIndex = index;\r\n return false\r\n }\r\n return\r\n })\r\n }\r\n if (options.detailColumnIndex >= 0) {\r\n dataItem.values[options.detailColumnIndex] = dataItem.isExpanded\r\n }\r\n return dataItem\r\n },\r\n _processItems(items, change) {\r\n var that = this;\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var result = [];\r\n items = that.callBase.apply(that, arguments);\r\n if (\"loadingAll\" === changeType) {\r\n return items\r\n }\r\n if (\"refresh\" === changeType) {\r\n that._expandedItems = grep(that._expandedItems, item => item.visible)\r\n }\r\n each(items, (index, item) => {\r\n result.push(item);\r\n var expandIndex = gridCoreUtils.getIndexByKey(item.key, that._expandedItems);\r\n if (\"data\" === item.rowType && (item.isExpanded || expandIndex >= 0) && !item.isNewRow) {\r\n result.push({\r\n visible: item.isExpanded,\r\n rowType: \"detail\",\r\n key: item.key,\r\n data: item.data,\r\n values: []\r\n })\r\n }\r\n });\r\n return result\r\n },\r\n optionChanged(args) {\r\n var isEnabledChanged;\r\n var isAutoExpandAllChanged;\r\n if (\"masterDetail\" === args.name) {\r\n args.name = \"dataSource\";\r\n switch (args.fullName) {\r\n case \"masterDetail\":\r\n var value = args.value || {};\r\n var previousValue = args.previousValue || {};\r\n isEnabledChanged = value.enabled !== previousValue.enabled;\r\n isAutoExpandAllChanged = value.autoExpandAll !== previousValue.autoExpandAll;\r\n break;\r\n case \"masterDetail.template\":\r\n initMasterDetail(this);\r\n break;\r\n case \"masterDetail.enabled\":\r\n isEnabledChanged = true;\r\n break;\r\n case \"masterDetail.autoExpandAll\":\r\n isAutoExpandAllChanged = true\r\n }\r\n if (isEnabledChanged || isAutoExpandAllChanged) {\r\n initMasterDetail(this)\r\n }\r\n }\r\n this.callBase(args)\r\n }\r\n }\r\n }(),\r\n resizing: {\r\n fireContentReadyAction() {\r\n this.callBase.apply(this, arguments);\r\n this._updateParentDataGrids(this.component.$element())\r\n },\r\n _updateParentDataGrids($element) {\r\n var $masterDetailRow = $element.closest(\".\".concat(MASTER_DETAIL_ROW_CLASS));\r\n if ($masterDetailRow.length) {\r\n when(this._updateMasterDataGrid($masterDetailRow, $element)).done(() => {\r\n this._updateParentDataGrids($masterDetailRow.parent())\r\n })\r\n }\r\n },\r\n _updateMasterDataGrid($masterDetailRow, $detailElement) {\r\n var masterRowOptions = $($masterDetailRow).data(\"options\");\r\n var masterDataGrid = $($masterDetailRow).closest(\".\".concat(this.getWidgetContainerClass())).parent().data(\"dxDataGrid\");\r\n if (masterRowOptions && masterDataGrid) {\r\n return this._updateMasterDataGridCore(masterDataGrid, masterRowOptions)\r\n }\r\n },\r\n _updateMasterDataGridCore(masterDataGrid, masterRowOptions) {\r\n var d = Deferred();\r\n if (masterDataGrid.getView(\"rowsView\").isFixedColumns()) {\r\n this._updateFixedMasterDetailGrids(masterDataGrid, masterRowOptions.rowIndex, $(masterRowOptions.rowElement)).done(d.resolve)\r\n } else {\r\n if (true === masterDataGrid.option(\"scrolling.useNative\")) {\r\n masterDataGrid.updateDimensions().done(() => d.resolve(true));\r\n return\r\n }\r\n var scrollable = masterDataGrid.getScrollable();\r\n if (scrollable) {\r\n null === scrollable || void 0 === scrollable ? void 0 : scrollable.update().done(() => d.resolve())\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n return d.promise()\r\n },\r\n _updateFixedMasterDetailGrids(masterDataGrid, masterRowIndex, $detailElement) {\r\n var d = Deferred();\r\n var $rows = $(masterDataGrid.getRowElement(masterRowIndex));\r\n var $tables = $(masterDataGrid.getView(\"rowsView\").getTableElements());\r\n var rowsNotEqual = 2 === (null === $rows || void 0 === $rows ? void 0 : $rows.length) && getHeight($rows.eq(0)) !== getHeight($rows.eq(1));\r\n var tablesNotEqual = 2 === (null === $tables || void 0 === $tables ? void 0 : $tables.length) && getHeight($tables.eq(0)) !== getHeight($tables.eq(1));\r\n if (rowsNotEqual || tablesNotEqual) {\r\n var detailElementWidth = getWidth($detailElement);\r\n masterDataGrid.updateDimensions().done(() => {\r\n var isDetailHorizontalScrollCanBeShown = this.option(\"columnAutoWidth\") && true === masterDataGrid.option(\"scrolling.useNative\");\r\n var isDetailGridWidthChanged = isDetailHorizontalScrollCanBeShown && detailElementWidth !== getWidth($detailElement);\r\n if (isDetailHorizontalScrollCanBeShown && isDetailGridWidthChanged) {\r\n this.updateDimensions().done(() => d.resolve(true))\r\n } else {\r\n d.resolve(true)\r\n }\r\n });\r\n return d.promise()\r\n }\r\n return Deferred().resolve()\r\n },\r\n _toggleBestFitMode(isBestFit) {\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"masterDetail.template\")) {\r\n var $rowsTable = this._rowsView.getTableElement();\r\n if ($rowsTable) {\r\n $rowsTable.find(\".dx-master-detail-cell\").css(\"maxWidth\", isBestFit ? 0 : \"\")\r\n }\r\n }\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _getCellTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var editingController = this.getController(\"editing\");\r\n var isEditRow = editingController && editingController.isEditRow(options.rowIndex);\r\n var template;\r\n if (\"detail\" === column.command && !isEditRow) {\r\n template = this.option(\"masterDetail.template\") || {\r\n allowRenderToDetachedContainer: false,\r\n render: this._getDefaultTemplate(column)\r\n }\r\n } else {\r\n template = this.callBase.apply(this, arguments)\r\n }\r\n return template\r\n },\r\n _isDetailRow: row => row && row.rowType && 0 === row.rowType.indexOf(\"detail\"),\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row && this._isDetailRow(row)) {\r\n this.option(\"showRowLines\") && $row.addClass(ROW_LINES_CLASS);\r\n $row.addClass(MASTER_DETAIL_ROW_CLASS);\r\n if (isDefined(row.visible)) {\r\n $row.toggle(row.visible)\r\n }\r\n }\r\n return $row\r\n },\r\n _renderCells($row, options) {\r\n var {\r\n row: row\r\n } = options;\r\n var $detailCell;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n if (row.rowType && this._isDetailRow(row)) {\r\n if (this._needRenderCell(0, options.columnIndices)) {\r\n $detailCell = this._renderCell($row, {\r\n value: null,\r\n row: row,\r\n rowIndex: row.rowIndex,\r\n column: {\r\n command: \"detail\"\r\n },\r\n columnIndex: 0,\r\n change: options.change\r\n });\r\n $detailCell.addClass(CELL_FOCUS_DISABLED_CLASS).addClass(MASTER_DETAIL_CELL_CLASS).attr(\"colSpan\", visibleColumns.length)\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/master_detail.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n masterDetailModule\r\n} from \"../../../grids/grid_core/master_detail/m_master_detail\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"masterDetail\", masterDetailModule);\r\n","/**\r\n * DevExtreme (esm/ui/shared/ui.editor_factory_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../data/data_source/utils\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar {\r\n isWrapped: isWrapped\r\n} = variableWrapper;\r\nimport \"../text_box\";\r\nimport \"../number_box\";\r\nimport \"../check_box\";\r\nimport \"../select_box\";\r\nimport \"../date_box\";\r\nvar CHECKBOX_SIZE_CLASS = \"checkbox-size\";\r\nvar EDITOR_INLINE_BLOCK = \"dx-editor-inline-block\";\r\nvar EditorFactoryMixin = function() {\r\n var getResultConfig = function(config, options) {\r\n return extend(config, {\r\n readOnly: options.readOnly,\r\n placeholder: options.placeholder,\r\n inputAttr: {\r\n id: options.id\r\n },\r\n tabIndex: options.tabIndex\r\n }, options.editorOptions)\r\n };\r\n var checkEnterBug = function() {\r\n return browser.mozilla || devices.real().ios\r\n };\r\n var getTextEditorConfig = function(options) {\r\n var data = {};\r\n var isEnterBug = checkEnterBug();\r\n var sharedData = options.sharedData || data;\r\n return getResultConfig({\r\n placeholder: options.placeholder,\r\n width: options.width,\r\n value: options.value,\r\n onValueChanged: function(e) {\r\n var needDelayedUpdate = \"filterRow\" === options.parentType || \"searchPanel\" === options.parentType;\r\n var isInputOrKeyUpEvent = e.event && (\"input\" === e.event.type || \"keyup\" === e.event.type);\r\n var updateValue = function(e, notFireEvent) {\r\n options && options.setValue(e.value, notFireEvent)\r\n };\r\n clearTimeout(data.valueChangeTimeout);\r\n if (isInputOrKeyUpEvent && needDelayedUpdate) {\r\n sharedData.valueChangeTimeout = data.valueChangeTimeout = setTimeout((function() {\r\n updateValue(e, data.valueChangeTimeout !== sharedData.valueChangeTimeout)\r\n }), isDefined(options.updateValueTimeout) ? options.updateValueTimeout : 0)\r\n } else {\r\n updateValue(e)\r\n }\r\n },\r\n onKeyDown: function(e) {\r\n if (isEnterBug && \"enter\" === normalizeKeyName(e.event)) {\r\n eventsEngine.trigger($(e.component._input()), \"change\")\r\n }\r\n },\r\n valueChangeEvent: \"change\" + (\"filterRow\" === options.parentType ? \" keyup input\" : \"\")\r\n }, options)\r\n };\r\n var prepareDateBox = function(options) {\r\n options.editorName = \"dxDateBox\";\r\n options.editorOptions = getResultConfig({\r\n value: options.value,\r\n onValueChanged: function(args) {\r\n options.setValue(args.value)\r\n },\r\n onKeyDown: function(_ref) {\r\n var {\r\n component: component,\r\n event: event\r\n } = _ref;\r\n var useMaskBehavior = component.option(\"useMaskBehavior\");\r\n if ((checkEnterBug() || useMaskBehavior) && \"enter\" === normalizeKeyName(event)) {\r\n component.blur();\r\n component.focus()\r\n }\r\n },\r\n displayFormat: options.format,\r\n type: options.dataType,\r\n dateSerializationFormat: null,\r\n width: \"filterBuilder\" === options.parentType ? void 0 : \"auto\"\r\n }, options)\r\n };\r\n var prepareTextBox = function(options) {\r\n var config = getTextEditorConfig(options);\r\n var isSearching = \"searchPanel\" === options.parentType;\r\n if (options.editorType && \"dxTextBox\" !== options.editorType) {\r\n config.value = options.value\r\n } else {\r\n config.value = (value = options.value, isDefined(value) ? value.toString() : \"\")\r\n }\r\n var value;\r\n config.valueChangeEvent += isSearching ? \" keyup input search\" : \"\";\r\n config.mode = config.mode || (isSearching ? \"search\" : \"text\");\r\n options.editorName = \"dxTextBox\";\r\n options.editorOptions = config\r\n };\r\n var prepareNumberBox = function(options) {\r\n var config = getTextEditorConfig(options);\r\n config.value = isDefined(options.value) ? options.value : null;\r\n options.editorName = \"dxNumberBox\";\r\n options.editorOptions = config\r\n };\r\n\r\n function prepareLookupEditor(options) {\r\n var lookup = options.lookup;\r\n var displayGetter;\r\n var dataSource;\r\n var postProcess;\r\n var isFilterRow = \"filterRow\" === options.parentType;\r\n if (lookup) {\r\n var _options$editorType;\r\n displayGetter = compileGetter(lookup.displayExpr);\r\n dataSource = lookup.dataSource;\r\n if (isFunction(dataSource) && !isWrapped(dataSource)) {\r\n dataSource = dataSource(options.row || {});\r\n ! function(options) {\r\n if (options.row && options.row.watch && \"dataRow\" === options.parentType) {\r\n var editorOptions = options.editorOptions || {};\r\n options.editorOptions = editorOptions;\r\n var selectBox;\r\n var onInitialized = editorOptions.onInitialized;\r\n editorOptions.onInitialized = function(e) {\r\n onInitialized && onInitialized.apply(this, arguments);\r\n selectBox = e.component;\r\n selectBox.on(\"disposing\", stopWatch)\r\n };\r\n var dataSource;\r\n var stopWatch = options.row.watch(() => {\r\n dataSource = options.lookup.dataSource(options.row);\r\n return dataSource && dataSource.filter\r\n }, () => {\r\n selectBox.option(\"dataSource\", dataSource)\r\n }, row => {\r\n options.row = row\r\n })\r\n }\r\n }(options)\r\n }\r\n if (isObject(dataSource) || Array.isArray(dataSource)) {\r\n dataSource = normalizeDataSourceOptions(dataSource);\r\n if (isFilterRow) {\r\n postProcess = dataSource.postProcess;\r\n dataSource.postProcess = function(items) {\r\n if (0 === this.pageIndex()) {\r\n items = items.slice(0);\r\n items.unshift(null)\r\n }\r\n if (postProcess) {\r\n return postProcess.call(this, items)\r\n }\r\n return items\r\n }\r\n }\r\n }\r\n var allowClearing = Boolean(lookup.allowClearing && !isFilterRow);\r\n options.editorName = null !== (_options$editorType = options.editorType) && void 0 !== _options$editorType ? _options$editorType : \"dxSelectBox\";\r\n options.editorOptions = getResultConfig({\r\n searchEnabled: true,\r\n value: options.value,\r\n valueExpr: options.lookup.valueExpr,\r\n searchExpr: options.lookup.searchExpr || options.lookup.displayExpr,\r\n allowClearing: allowClearing,\r\n showClearButton: allowClearing,\r\n displayExpr: function(data) {\r\n if (null === data) {\r\n return options.showAllText\r\n }\r\n return displayGetter(data)\r\n },\r\n dataSource: dataSource,\r\n onValueChanged: function(e) {\r\n var params = [e.value];\r\n !isFilterRow && params.push(e.component.option(\"text\"));\r\n options.setValue.apply(this, params)\r\n }\r\n }, options)\r\n }\r\n }\r\n\r\n function prepareCheckBox(options) {\r\n options.editorName = \"dxCheckBox\";\r\n options.editorOptions = getResultConfig({\r\n elementAttr: {\r\n id: options.id\r\n },\r\n value: isDefined(options.value) ? options.value : void 0,\r\n hoverStateEnabled: !options.readOnly,\r\n focusStateEnabled: !options.readOnly,\r\n activeStateEnabled: false,\r\n onValueChanged: function(e) {\r\n options.setValue && options.setValue(e.value, e)\r\n }\r\n }, options)\r\n }\r\n var prepareCustomEditor = options => {\r\n options.editorName = options.editorType;\r\n options.editorOptions = getResultConfig({\r\n value: options.value,\r\n onValueChanged: function(args) {\r\n options.setValue(args.value)\r\n }\r\n }, options)\r\n };\r\n var prepareEditor = options => {\r\n var prepareDefaultEditor = {\r\n dxDateBox: prepareDateBox,\r\n dxCheckBox: prepareCheckBox,\r\n dxNumberBox: prepareNumberBox,\r\n dxTextBox: prepareTextBox\r\n };\r\n if (options.lookup) {\r\n prepareLookupEditor(options)\r\n } else if (options.editorType) {\r\n var _prepareDefaultEditor;\r\n (null !== (_prepareDefaultEditor = prepareDefaultEditor[options.editorType]) && void 0 !== _prepareDefaultEditor ? _prepareDefaultEditor : prepareCustomEditor)(options)\r\n } else {\r\n switch (options.dataType) {\r\n case \"date\":\r\n case \"datetime\":\r\n prepareDateBox(options);\r\n break;\r\n case \"boolean\":\r\n ! function(options) {\r\n if (\"filterRow\" === options.parentType || \"filterBuilder\" === options.parentType) {\r\n prepareLookupEditor(extend(options, {\r\n lookup: {\r\n displayExpr: function(data) {\r\n if (true === data) {\r\n return options.trueText || \"true\"\r\n } else if (false === data) {\r\n return options.falseText || \"false\"\r\n }\r\n },\r\n dataSource: [true, false]\r\n }\r\n }))\r\n } else {\r\n prepareCheckBox(options)\r\n }\r\n }(options);\r\n break;\r\n case \"number\":\r\n prepareNumberBox(options);\r\n break;\r\n default:\r\n prepareTextBox(options)\r\n }\r\n }\r\n };\r\n return {\r\n createEditor: function($container, options) {\r\n options.cancel = false;\r\n options.editorElement = getPublicElement($container);\r\n if (!isDefined(options.tabIndex)) {\r\n options.tabIndex = this.option(\"tabIndex\")\r\n }\r\n prepareEditor(options);\r\n this.executeAction(\"onEditorPreparing\", options);\r\n if (options.cancel) {\r\n return\r\n }\r\n if (\"dataRow\" === options.parentType && !options.isOnForm && !isDefined(options.editorOptions.showValidationMark)) {\r\n options.editorOptions.showValidationMark = false\r\n }! function(that, options) {\r\n var $editorElement = $(options.editorElement);\r\n if (options.editorName && options.editorOptions && $editorElement[options.editorName]) {\r\n if (\"dxCheckBox\" === options.editorName || \"dxSwitch\" === options.editorName) {\r\n if (!options.isOnForm) {\r\n $editorElement.addClass(that.addWidgetPrefix(CHECKBOX_SIZE_CLASS));\r\n $editorElement.parent().addClass(EDITOR_INLINE_BLOCK)\r\n }\r\n }\r\n that._createComponent($editorElement, options.editorName, options.editorOptions);\r\n if (\"dxDateBox\" === options.editorName) {\r\n var dateBox = $editorElement.dxDateBox(\"instance\");\r\n var defaultEnterKeyHandler = dateBox._supportedKeys().enter;\r\n dateBox.registerKeyHandler(\"enter\", e => {\r\n if (dateBox.option(\"opened\")) {\r\n defaultEnterKeyHandler(e)\r\n }\r\n return true\r\n })\r\n }\r\n if (\"dxTextArea\" === options.editorName) {\r\n $editorElement.dxTextArea(\"instance\").registerKeyHandler(\"enter\", (function(event) {\r\n if (\"enter\" === normalizeKeyName(event) && !event.ctrlKey && !event.shiftKey) {\r\n event.stopPropagation()\r\n }\r\n }))\r\n }\r\n }\r\n }(this, options);\r\n this.executeAction(\"onEditorPrepared\", options)\r\n }\r\n }\r\n}();\r\nexport default EditorFactoryMixin;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editor_factory/m_editor_factory.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport positionUtils from \"../../../../animation/position\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n setOuterHeight,\r\n setOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../../../events/utils/index\";\r\nimport EditorFactoryMixin from \"../../../../ui/shared/ui.editor_factory_mixin\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar EDITOR_INLINE_BLOCK = \"dx-editor-inline-block\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar FOCUSED_ELEMENT_CLASS = \"dx-focused\";\r\nvar ROW_CLASS = \"dx-row\";\r\nvar MODULE_NAMESPACE = \"dxDataGridEditorFactory\";\r\nvar UPDATE_FOCUS_EVENTS = addNamespace([pointerEvents.down, \"focusin\", clickEventName].join(\" \"), MODULE_NAMESPACE);\r\nvar DX_HIDDEN = \"dx-hidden\";\r\nvar ViewControllerWithMixin = modules.ViewController.inherit(EditorFactoryMixin);\r\nexport class EditorFactory extends ViewControllerWithMixin {\r\n _getFocusedElement($dataGridElement) {\r\n var rowSelector = this.option(\"focusedRowEnabled\") ? \"tr[tabindex]:focus\" : \"tr[tabindex]:not(.dx-data-row):focus\";\r\n var focusedElementSelector = \"td[tabindex]:focus, \".concat(rowSelector, \", input:focus, textarea:focus, .dx-lookup-field:focus, .dx-checkbox:focus, .dx-switch:focus, .dx-dropdownbutton .dx-buttongroup:focus, .dx-adaptive-item-text:focus\");\r\n var $focusedElement = $dataGridElement.find(focusedElementSelector);\r\n return this.elementIsInsideGrid($focusedElement) && $focusedElement\r\n }\r\n _getFocusCellSelector() {\r\n return \".dx-row > td\"\r\n }\r\n _updateFocusCore() {\r\n var $dataGridElement = this.component && this.component.$element();\r\n if ($dataGridElement) {\r\n var $focus = this._getFocusedElement($dataGridElement);\r\n if ($focus && $focus.length) {\r\n var isHideBorder;\r\n if (!$focus.hasClass(CELL_FOCUS_DISABLED_CLASS) && !$focus.hasClass(ROW_CLASS)) {\r\n var $focusCell = $focus.closest(\"\".concat(this._getFocusCellSelector(), \", .\").concat(CELL_FOCUS_DISABLED_CLASS));\r\n if ($focusCell.get(0) !== $focus.get(0)) {\r\n isHideBorder = this._needHideBorder($focusCell);\r\n $focus = $focusCell\r\n }\r\n }\r\n if ($focus.length && !$focus.hasClass(CELL_FOCUS_DISABLED_CLASS)) {\r\n this.focus($focus, isHideBorder);\r\n return\r\n }\r\n }\r\n }\r\n this.loseFocus()\r\n }\r\n _needHideBorder($element) {\r\n return $element.hasClass(EDITOR_INLINE_BLOCK)\r\n }\r\n _updateFocus(e) {\r\n var that = this;\r\n var isFocusOverlay = e && e.event && $(e.event.target).hasClass(that.addWidgetPrefix(FOCUS_OVERLAY_CLASS));\r\n that._isFocusOverlay = that._isFocusOverlay || isFocusOverlay;\r\n clearTimeout(that._updateFocusTimeoutID);\r\n that._updateFocusTimeoutID = setTimeout(() => {\r\n delete that._updateFocusTimeoutID;\r\n if (!that._isFocusOverlay) {\r\n that._updateFocusCore()\r\n }\r\n that._isFocusOverlay = false\r\n })\r\n }\r\n _updateFocusOverlaySize($element, position) {\r\n $element.hide();\r\n var location = positionUtils.calculate($element, extend({\r\n collision: \"fit\"\r\n }, position));\r\n if (location.h.oversize > 0) {\r\n setOuterWidth($element, getOuterWidth($element) - location.h.oversize)\r\n }\r\n if (location.v.oversize > 0) {\r\n setOuterHeight($element, getOuterHeight($element) - location.v.oversize)\r\n }\r\n $element.show()\r\n }\r\n callbackNames() {\r\n return [\"focused\"]\r\n }\r\n focus($element, isHideBorder) {\r\n var that = this;\r\n if (void 0 === $element) {\r\n return that._$focusedElement\r\n }\r\n if ($element) {\r\n if (!$element.is(that._$focusedElement)) {\r\n that._$focusedElement && that._$focusedElement.removeClass(FOCUSED_ELEMENT_CLASS)\r\n }\r\n that._$focusedElement = $element;\r\n clearTimeout(that._focusTimeoutID);\r\n that._focusTimeoutID = setTimeout(() => {\r\n delete that._focusTimeoutID;\r\n that.renderFocusOverlay($element, isHideBorder);\r\n $element.addClass(FOCUSED_ELEMENT_CLASS);\r\n that.focused.fire($element)\r\n })\r\n }\r\n }\r\n refocus() {\r\n var $focus = this.focus();\r\n this.focus($focus)\r\n }\r\n renderFocusOverlay($element, isHideBorder) {\r\n if (!gridCoreUtils.isElementInCurrentGrid(this, $element)) {\r\n return\r\n }\r\n if (!this._$focusOverlay) {\r\n this._$focusOverlay = $(\"<div>\").addClass(this.addWidgetPrefix(FOCUS_OVERLAY_CLASS))\r\n }\r\n if (isHideBorder) {\r\n this._$focusOverlay.addClass(DX_HIDDEN)\r\n } else if ($element.length) {\r\n var align = browser.mozilla ? \"right bottom\" : \"left top\";\r\n var $content = $element.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var elemCoord = getBoundingRect($element.get(0));\r\n this._$focusOverlay.removeClass(DX_HIDDEN).appendTo($content);\r\n setOuterHeight(this._$focusOverlay, elemCoord.bottom - elemCoord.top + 1);\r\n setOuterWidth(this._$focusOverlay, elemCoord.right - elemCoord.left + 1);\r\n var focusOverlayPosition = {\r\n precise: true,\r\n my: align,\r\n at: align,\r\n of: $element,\r\n boundary: $content.length && $content\r\n };\r\n this._updateFocusOverlaySize(this._$focusOverlay, focusOverlayPosition);\r\n positionUtils.setup(this._$focusOverlay, focusOverlayPosition);\r\n this._$focusOverlay.css(\"visibility\", \"visible\")\r\n }\r\n }\r\n resize() {\r\n var $focusedElement = this._$focusedElement;\r\n if ($focusedElement) {\r\n this.focus($focusedElement)\r\n }\r\n }\r\n loseFocus() {\r\n this._$focusedElement && this._$focusedElement.removeClass(FOCUSED_ELEMENT_CLASS);\r\n this._$focusedElement = null;\r\n this._$focusOverlay && this._$focusOverlay.addClass(DX_HIDDEN)\r\n }\r\n init() {\r\n this.createAction(\"onEditorPreparing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this.createAction(\"onEditorPrepared\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n });\r\n this._updateFocusHandler = this._updateFocusHandler || this.createAction(this._updateFocus.bind(this));\r\n this._subscribedContainerRoot = this._getContainerRoot();\r\n eventsEngine.on(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler);\r\n this._attachContainerEventHandlers()\r\n }\r\n _getContainerRoot() {\r\n var _a;\r\n var $container = null === (_a = this.component) || void 0 === _a ? void 0 : _a.$element();\r\n var root = domAdapter.getRootNode(null === $container || void 0 === $container ? void 0 : $container.get(0));\r\n if (root.nodeType === Node.DOCUMENT_FRAGMENT_NODE && !root.host) {\r\n return domAdapter.getDocument()\r\n }\r\n return root\r\n }\r\n _attachContainerEventHandlers() {\r\n var that = this;\r\n var $container = that.component && that.component.$element();\r\n if ($container) {\r\n eventsEngine.on($container, addNamespace(\"keydown\", MODULE_NAMESPACE), e => {\r\n if (\"tab\" === normalizeKeyName(e)) {\r\n that._updateFocusHandler(e)\r\n }\r\n })\r\n }\r\n }\r\n dispose() {\r\n clearTimeout(this._focusTimeoutID);\r\n clearTimeout(this._updateFocusTimeoutID);\r\n eventsEngine.off(this._subscribedContainerRoot, UPDATE_FOCUS_EVENTS, this._updateFocusHandler)\r\n }\r\n}\r\nexport var editorFactoryModule = {\r\n defaultOptions: () => ({}),\r\n controllers: {\r\n editorFactory: EditorFactory\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editor_factory.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editorFactoryModule\r\n} from \"../../../grids/grid_core/editor_factory/m_editor_factory\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editorFactory\", editorFactoryModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nexport var EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexport var ROW_CLASS = \"dx-row\";\r\nexport var CELL_MODIFIED_CLASS = \"dx-cell-modified\";\r\nexport var ROW_SELECTED_CLASS = \"dx-selection\";\r\nexport var EDIT_FORM_CLASS = \"edit-form\";\r\nexport var DATA_EDIT_DATA_INSERT_TYPE = \"insert\";\r\nexport var DATA_EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nexport var EDITING_POPUP_OPTION_NAME = \"editing.popup\";\r\nexport var EDITING_FORM_OPTION_NAME = \"editing.form\";\r\nexport var EDITING_EDITROWKEY_OPTION_NAME = \"editing.editRowKey\";\r\nexport var EDITING_EDITCOLUMNNAME_OPTION_NAME = \"editing.editColumnName\";\r\nexport var TARGET_COMPONENT_NAME = \"targetComponent\";\r\nexport var EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nexport var FOCUSABLE_ELEMENT_SELECTOR = \"[tabindex], \".concat(EDITORS_INPUT_SELECTOR);\r\nexport var EDIT_MODE_BATCH = \"batch\";\r\nexport var EDIT_MODE_ROW = \"row\";\r\nexport var EDIT_MODE_CELL = \"cell\";\r\nexport var EDIT_MODE_FORM = \"form\";\r\nexport var EDIT_MODE_POPUP = \"popup\";\r\nexport var FIRST_NEW_ROW_POSITION = \"first\";\r\nexport var LAST_NEW_ROW_POSITION = \"last\";\r\nexport var PAGE_BOTTOM_NEW_ROW_POSITION = \"pageBottom\";\r\nexport var PAGE_TOP_NEW_ROW_POSITION = \"pageTop\";\r\nexport var VIEWPORT_BOTTOM_NEW_ROW_POSITION = \"viewportBottom\";\r\nexport var VIEWPORT_TOP_NEW_ROW_POSITION = \"viewportTop\";\r\nexport var EDIT_MODES = [EDIT_MODE_BATCH, EDIT_MODE_ROW, EDIT_MODE_CELL, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexport var ROW_BASED_MODES = [EDIT_MODE_ROW, EDIT_MODE_FORM, EDIT_MODE_POPUP];\r\nexport var MODES_WITH_DELAYED_FOCUS = [EDIT_MODE_ROW, EDIT_MODE_FORM];\r\nexport var READONLY_CLASS = \"readonly\";\r\nexport var LINK_CLASS = \"dx-link\";\r\nexport var ROW_SELECTED = \"dx-selection\";\r\nexport var EDIT_BUTTON_CLASS = \"dx-edit-button\";\r\nexport var COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexport var COMMAND_EDIT_WITH_ICONS_CLASS = \"\".concat(COMMAND_EDIT_CLASS, \"-with-icons\");\r\nexport var INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nexport var ROW_INSERTED = \"dx-row-inserted\";\r\nexport var ROW_MODIFIED = \"dx-row-modified\";\r\nexport var CELL_MODIFIED = \"dx-cell-modified\";\r\nexport var EDITING_NAMESPACE = \"dxDataGridEditing\";\r\nexport var CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport var DATA_EDIT_DATA_UPDATE_TYPE = \"update\";\r\nexport var DEFAULT_START_EDIT_ACTION = \"click\";\r\nexport var EDIT_LINK_CLASS = {\r\n save: \"dx-link-save\",\r\n cancel: \"dx-link-cancel\",\r\n edit: \"dx-link-edit\",\r\n undelete: \"dx-link-undelete\",\r\n delete: \"dx-link-delete\",\r\n add: \"dx-link-add\"\r\n};\r\nexport var EDIT_ICON_CLASS = {\r\n save: \"save\",\r\n cancel: \"revert\",\r\n edit: \"edit\",\r\n undelete: \"revert\",\r\n delete: \"trash\",\r\n add: \"add\"\r\n};\r\nexport var METHOD_NAMES = {\r\n edit: \"editRow\",\r\n delete: \"deleteRow\",\r\n undelete: \"undeleteRow\",\r\n save: \"saveEditData\",\r\n cancel: \"cancelEditData\",\r\n add: \"addRowByRowIndex\"\r\n};\r\nexport var ACTION_OPTION_NAMES = {\r\n add: \"allowAdding\",\r\n edit: \"allowUpdating\",\r\n delete: \"allowDeleting\"\r\n};\r\nexport var BUTTON_NAMES = [\"edit\", \"save\", \"cancel\", \"delete\", \"undelete\"];\r\nexport var EDITING_CHANGES_OPTION_NAME = \"editing.changes\";\r\nexport var FOCUS_OVERLAY_CLASS = \"focus-overlay\";\r\nexport var ADD_ROW_BUTTON_CLASS = \"addrow-button\";\r\nexport var DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexport var DATA_ROW_CLASS = \"dx-data-row\";\r\nexport var ROW_REMOVED = \"dx-row-removed\";\r\nvar isRenovatedScrollable = !!Scrollable.IS_RENOVATED_WIDGET;\r\nexport var EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexport var EDIT_POPUP_CLASS = \"edit-popup\";\r\nexport var EDIT_POPUP_FORM_CLASS = \"edit-popup-form\";\r\nexport var FOCUSABLE_ELEMENT_CLASS = isRenovatedScrollable ? \"dx-scrollable\" : \"dx-scrollable-container\";\r\nexport var BUTTON_CLASS = \"dx-button\";\r\nexport var FORM_BUTTONS_CONTAINER_CLASS = \"form-buttons-container\";\r\nexport var EDIT_ROW = \"dx-edit-row\";\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nexport var createFailureHandler = function(deferred) {\r\n return function(arg) {\r\n var error = arg instanceof Error ? arg : new Error(arg && String(arg) || \"Unknown error\");\r\n deferred.reject(error)\r\n }\r\n};\r\nexport var isEditingCell = function(isEditRow, cellOptions) {\r\n return cellOptions.isEditing || isEditRow && cellOptions.column.allowEditing\r\n};\r\nexport var isEditingOrShowEditorAlwaysDataCell = function(isEditRow, cellOptions) {\r\n var isCommandCell = !!cellOptions.column.command;\r\n var isEditing = isEditingCell(isEditRow, cellOptions);\r\n var isEditorCell = !isCommandCell && (isEditing || cellOptions.column.showEditorAlways);\r\n return \"data\" === cellOptions.rowType && isEditorCell\r\n};\r\nexport var getEditingTexts = options => {\r\n var editingTexts = options.component.option(\"editing.texts\") || {};\r\n return {\r\n save: editingTexts.saveRowChanges,\r\n cancel: editingTexts.cancelRowChanges,\r\n edit: editingTexts.editRow,\r\n undelete: editingTexts.undeleteRow,\r\n delete: editingTexts.deleteRow,\r\n add: editingTexts.addRowToNode\r\n }\r\n};\r\nexport var getButtonIndex = (buttons, name) => {\r\n var result = -1;\r\n buttons.some((button, index) => {\r\n if (getButtonName(button) === name) {\r\n result = index;\r\n return true\r\n }\r\n });\r\n return result\r\n};\r\nexport function getButtonName(button) {\r\n return isObject(button) ? button.name : button\r\n}\r\nexport function isEditable($element) {\r\n return $element && ($element.is(\"input\") || $element.is(\"textarea\"))\r\n}\r\nexport var getEditorType = item => {\r\n var _a;\r\n var {\r\n column: column\r\n } = item;\r\n return item.isCustomEditorType ? item.editorType : null === (_a = column.formItem) || void 0 === _a ? void 0 : _a.editorType\r\n};\r\nexport var forEachFormItems = (items, callBack) => {\r\n items.forEach(item => {\r\n if (item.items || item.tabs) {\r\n forEachFormItems(item.items || item.tabs, callBack)\r\n } else {\r\n callBack(item)\r\n }\r\n })\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport devices from \"../../../../core/devices\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport * as iconUtils from \"../../../../core/utils/icon\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../../../../core/utils/object\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n confirm\r\n} from \"../../../../ui/dialog\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ACTION_OPTION_NAMES,\r\n BUTTON_NAMES,\r\n CELL_FOCUS_DISABLED_CLASS,\r\n CELL_MODIFIED,\r\n COMMAND_EDIT_CLASS,\r\n COMMAND_EDIT_WITH_ICONS_CLASS,\r\n DATA_EDIT_DATA_INSERT_TYPE,\r\n DATA_EDIT_DATA_REMOVE_TYPE,\r\n DATA_EDIT_DATA_UPDATE_TYPE,\r\n DEFAULT_START_EDIT_ACTION,\r\n EDIT_BUTTON_CLASS,\r\n EDIT_FORM_CLASS,\r\n EDIT_ICON_CLASS,\r\n EDIT_LINK_CLASS,\r\n EDIT_MODE_ROW,\r\n EDIT_MODES,\r\n EDITING_CHANGES_OPTION_NAME,\r\n EDITING_EDITCOLUMNNAME_OPTION_NAME,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITING_NAMESPACE,\r\n EDITING_POPUP_OPTION_NAME,\r\n EDITOR_CELL_CLASS,\r\n EDITORS_INPUT_SELECTOR,\r\n FIRST_NEW_ROW_POSITION,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n INSERT_INDEX,\r\n LAST_NEW_ROW_POSITION,\r\n LINK_CLASS,\r\n METHOD_NAMES,\r\n PAGE_BOTTOM_NEW_ROW_POSITION,\r\n PAGE_TOP_NEW_ROW_POSITION,\r\n READONLY_CLASS,\r\n ROW_BASED_MODES,\r\n ROW_CLASS,\r\n ROW_INSERTED,\r\n ROW_MODIFIED,\r\n ROW_SELECTED,\r\n TARGET_COMPONENT_NAME,\r\n VIEWPORT_BOTTOM_NEW_ROW_POSITION,\r\n VIEWPORT_TOP_NEW_ROW_POSITION\r\n} from \"./const\";\r\nimport {\r\n createFailureHandler,\r\n getButtonIndex,\r\n getButtonName,\r\n getEditingTexts,\r\n isEditingCell,\r\n isEditingOrShowEditorAlwaysDataCell\r\n} from \"./m_editing_utils\";\r\nclass EditingControllerImpl extends modules.ViewController {\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._lastOperation = null;\r\n this._changes = [];\r\n if (this._deferreds) {\r\n this._deferreds.forEach(d => d.reject(\"cancel\"))\r\n }\r\n this._deferreds = [];\r\n if (!this._dataChangedHandler) {\r\n this._dataChangedHandler = this._handleDataChanged.bind(this);\r\n this._dataController.changed.add(this._dataChangedHandler)\r\n }\r\n if (!this._saveEditorHandler) {\r\n this.createAction(\"onInitNewRow\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowInserting\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowInserted\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditingStart\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowUpdating\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowUpdated\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowRemoving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onRowRemoved\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onSaved\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onSaving\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditCanceling\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onEditCanceled\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n this._updateEditColumn();\r\n this._updateEditButtons();\r\n if (!this._internalState) {\r\n this._internalState = []\r\n }\r\n this.component._optionsByReference[EDITING_EDITROWKEY_OPTION_NAME] = true;\r\n this.component._optionsByReference[EDITING_CHANGES_OPTION_NAME] = true\r\n }\r\n getEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n if (EDIT_MODES.includes(editMode)) {\r\n return editMode\r\n }\r\n return EDIT_MODE_ROW\r\n }\r\n _getDefaultEditorTemplate() {\r\n return (container, options) => {\r\n var $editor = $(\"<div>\").appendTo(container);\r\n this.getController(\"editorFactory\").createEditor($editor, extend({}, options.column, {\r\n value: options.value,\r\n setValue: options.setValue,\r\n row: options.row,\r\n parentType: \"dataRow\",\r\n width: null,\r\n readOnly: !options.setValue,\r\n isOnForm: options.isOnForm,\r\n id: options.id\r\n }))\r\n }\r\n }\r\n _getNewRowPosition() {\r\n var newRowPosition = this.option(\"editing.newRowPosition\");\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n if (\"virtual\" === scrollingMode) {\r\n switch (newRowPosition) {\r\n case PAGE_TOP_NEW_ROW_POSITION:\r\n return VIEWPORT_TOP_NEW_ROW_POSITION;\r\n case PAGE_BOTTOM_NEW_ROW_POSITION:\r\n return VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n default:\r\n return newRowPosition\r\n }\r\n }\r\n return newRowPosition\r\n }\r\n getChanges() {\r\n return this.option(EDITING_CHANGES_OPTION_NAME)\r\n }\r\n getInsertRowCount() {\r\n var changes = this.option(EDITING_CHANGES_OPTION_NAME);\r\n return changes.filter(change => \"insert\" === change.type).length\r\n }\r\n resetChanges() {\r\n var changes = this.getChanges();\r\n var needReset = null === changes || void 0 === changes ? void 0 : changes.length;\r\n if (needReset) {\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, [])\r\n }\r\n }\r\n _getInternalData(key) {\r\n return this._internalState.filter(item => equalByValue(item.key, key))[0]\r\n }\r\n _addInternalData(params) {\r\n var internalData = this._getInternalData(params.key);\r\n if (internalData) {\r\n return extend(internalData, params)\r\n }\r\n this._internalState.push(params);\r\n return params\r\n }\r\n _getOldData(key) {\r\n var _a;\r\n return null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.oldData\r\n }\r\n getUpdatedData(data) {\r\n var key = this._dataController.keyOf(data);\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (changes[editIndex]) {\r\n return createObjectWithChanges(data, changes[editIndex].data)\r\n }\r\n return data\r\n }\r\n getInsertedData() {\r\n return this.getChanges().filter(change => change.data && change.type === DATA_EDIT_DATA_INSERT_TYPE).map(change => change.data)\r\n }\r\n getRemovedData() {\r\n return this.getChanges().filter(change => this._getOldData(change.key) && change.type === DATA_EDIT_DATA_REMOVE_TYPE).map(change => this._getOldData(change.key))\r\n }\r\n _fireDataErrorOccurred(arg) {\r\n if (\"cancel\" === arg) {\r\n return\r\n }\r\n var $popupContent = this.getPopupContent();\r\n this._dataController.dataErrorOccurred.fire(arg, $popupContent)\r\n }\r\n _needToCloseEditableCell($targetElement) {}\r\n _closeEditItem($targetElement) {}\r\n _handleDataChanged(args) {}\r\n _isDefaultButtonVisible(button, options) {\r\n var result = true;\r\n switch (button.name) {\r\n case \"delete\":\r\n result = this.allowDeleting(options);\r\n break;\r\n case \"undelete\":\r\n result = false\r\n }\r\n return result\r\n }\r\n _isButtonVisible(button, options) {\r\n var {\r\n visible: visible\r\n } = button;\r\n if (!isDefined(visible)) {\r\n return this._isDefaultButtonVisible(button, options)\r\n }\r\n return isFunction(visible) ? visible.call(button, {\r\n component: options.component,\r\n row: options.row,\r\n column: options.column\r\n }) : visible\r\n }\r\n _isButtonDisabled(button, options) {\r\n var {\r\n disabled: disabled\r\n } = button;\r\n return isFunction(disabled) ? disabled.call(button, {\r\n component: options.component,\r\n row: options.row,\r\n column: options.column\r\n }) : !!disabled\r\n }\r\n _getButtonConfig(button, options) {\r\n var config = isObject(button) ? button : {};\r\n var buttonName = getButtonName(button);\r\n var editingTexts = getEditingTexts(options);\r\n var methodName = METHOD_NAMES[buttonName];\r\n var editingOptions = this.option(\"editing\");\r\n var actionName = ACTION_OPTION_NAMES[buttonName];\r\n var allowAction = actionName ? editingOptions[actionName] : true;\r\n return extend({\r\n name: buttonName,\r\n text: editingTexts[buttonName],\r\n cssClass: EDIT_LINK_CLASS[buttonName]\r\n }, {\r\n onClick: methodName && (e => {\r\n var {\r\n event: event\r\n } = e;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n setTimeout(() => {\r\n options.row && allowAction && this[methodName] && this[methodName](options.row.rowIndex)\r\n })\r\n })\r\n }, config)\r\n }\r\n _getEditingButtons(options) {\r\n var buttonIndex;\r\n var haveCustomButtons = !!options.column.buttons;\r\n var buttons = (options.column.buttons || []).slice();\r\n if (haveCustomButtons) {\r\n buttonIndex = getButtonIndex(buttons, \"edit\");\r\n if (buttonIndex >= 0) {\r\n if (getButtonIndex(buttons, \"save\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"save\")\r\n }\r\n if (getButtonIndex(buttons, \"cancel\") < 0) {\r\n buttons.splice(getButtonIndex(buttons, \"save\") + 1, 0, \"cancel\")\r\n }\r\n }\r\n buttonIndex = getButtonIndex(buttons, \"delete\");\r\n if (buttonIndex >= 0 && getButtonIndex(buttons, \"undelete\") < 0) {\r\n buttons.splice(buttonIndex + 1, 0, \"undelete\")\r\n }\r\n } else {\r\n buttons = BUTTON_NAMES.slice()\r\n }\r\n return buttons.map(button => this._getButtonConfig(button, options))\r\n }\r\n _renderEditingButtons($container, buttons, options, change) {\r\n buttons.forEach(button => {\r\n if (this._isButtonVisible(button, options)) {\r\n this._createButton($container, button, options, change)\r\n }\r\n })\r\n }\r\n _getEditCommandCellTemplate() {\r\n return (container, options, change) => {\r\n var $container = $(container);\r\n if (\"data\" === options.rowType) {\r\n var buttons = this._getEditingButtons(options);\r\n this._renderEditingButtons($container, buttons, options, change);\r\n options.watch && options.watch(() => buttons.map(button => ({\r\n visible: this._isButtonVisible(button, options),\r\n disabled: this._isButtonDisabled(button, options)\r\n })), () => {\r\n $container.empty();\r\n this._renderEditingButtons($container, buttons, options)\r\n })\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n }\r\n }\r\n isRowBasedEditMode() {\r\n var editMode = this.getEditMode();\r\n return ROW_BASED_MODES.includes(editMode)\r\n }\r\n getFirstEditableColumnIndex() {\r\n var columnsController = this.getController(\"columns\");\r\n var columnIndex;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n each(visibleColumns, (index, column) => {\r\n if (column.allowEditing) {\r\n columnIndex = index;\r\n return false\r\n }\r\n });\r\n return columnIndex\r\n }\r\n getFirstEditableCellInRow(rowIndex) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var columnIndex = this.getFirstEditableColumnIndex();\r\n return null === rowsView || void 0 === rowsView ? void 0 : rowsView._getCellElement(rowIndex || 0, columnIndex)\r\n }\r\n getFocusedCellInRow(rowIndex) {\r\n return this.getFirstEditableCellInRow(rowIndex)\r\n }\r\n getIndexByKey(key, items) {\r\n return gridCoreUtils.getIndexByKey(key, items)\r\n }\r\n hasChanges(rowIndex) {\r\n var changes = this.getChanges();\r\n var result = false;\r\n for (var i = 0; i < (null === changes || void 0 === changes ? void 0 : changes.length); i++) {\r\n if (changes[i].type && (!isDefined(rowIndex) || this._dataController.getRowIndexByKey(changes[i].key) === rowIndex)) {\r\n result = true;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n dispose() {\r\n super.dispose();\r\n clearTimeout(this._inputFocusTimeoutID);\r\n eventsEngine.off(domAdapter.getDocument(), pointerEvents.up, this._pointerUpEditorHandler);\r\n eventsEngine.off(domAdapter.getDocument(), pointerEvents.down, this._pointerDownEditorHandler);\r\n eventsEngine.off(domAdapter.getDocument(), clickEventName, this._saveEditorHandler)\r\n }\r\n _silentOption(name, value) {\r\n if (\"editing.changes\" === name) {\r\n this._changes = deepExtendArraySafe([], value)\r\n }\r\n super._silentOption(name, value)\r\n }\r\n optionChanged(args) {\r\n if (\"editing\" === args.name) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (fullName === EDITING_EDITROWKEY_OPTION_NAME) {\r\n this._handleEditRowKeyChange(args)\r\n } else if (fullName === EDITING_CHANGES_OPTION_NAME) {\r\n var isEqual = equalByValue(args.value, this._changes, {\r\n maxDepth: 4\r\n });\r\n if (!isEqual) {\r\n this._changes = deepExtendArraySafe([], args.value);\r\n this._handleChangesChange(args)\r\n }\r\n } else if (!args.handled) {\r\n this._columnsController.reinit();\r\n this.init();\r\n this.resetChanges();\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _handleEditRowKeyChange(args) {\r\n var rowIndex = this._dataController.getRowIndexByKey(args.value);\r\n var oldRowIndexCorrection = this._getEditRowIndexCorrection();\r\n var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection;\r\n if (isDefined(args.value)) {\r\n if (args.value !== args.previousValue) {\r\n this._editRowFromOptionChanged(rowIndex, oldRowIndex)\r\n }\r\n } else {\r\n this.cancelEditData()\r\n }\r\n }\r\n _handleChangesChange(args) {\r\n var dataController = this._dataController;\r\n var changes = args.value;\r\n if (!args.value.length && !args.previousValue.length) {\r\n return\r\n }\r\n changes.forEach(change => {\r\n var _a;\r\n if (\"insert\" === change.type) {\r\n this._addInsertInfo(change)\r\n } else {\r\n var items = dataController.getCachedStoreData() || (null === (_a = dataController.items()) || void 0 === _a ? void 0 : _a.map(item => item.data));\r\n var rowIndex = gridCoreUtils.getIndexByKey(change.key, items, dataController.key());\r\n this._addInternalData({\r\n key: change.key,\r\n oldData: items[rowIndex]\r\n })\r\n }\r\n });\r\n dataController.updateItems({\r\n repaintChangesOnly: true,\r\n isLiveUpdate: false,\r\n isOptionChanged: true\r\n })\r\n }\r\n publicMethods() {\r\n return [\"addRow\", \"deleteRow\", \"undeleteRow\", \"editRow\", \"saveEditData\", \"cancelEditData\", \"hasEditData\"]\r\n }\r\n refresh() {\r\n if (!isDefined(this._pageIndex)) {\r\n return\r\n }\r\n this._refreshCore.apply(this, arguments)\r\n }\r\n _refreshCore(params) {}\r\n isEditing() {\r\n var isEditRowKeyDefined = isDefined(this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n return isEditRowKeyDefined\r\n }\r\n isEditRow(rowIndex) {\r\n return false\r\n }\r\n _setEditRowKey(value, silent) {\r\n if (silent) {\r\n this._silentOption(EDITING_EDITROWKEY_OPTION_NAME, value)\r\n } else {\r\n this.option(EDITING_EDITROWKEY_OPTION_NAME, value)\r\n }\r\n if (this._refocusEditCell) {\r\n this._refocusEditCell = false;\r\n this._focusEditingCell()\r\n }\r\n }\r\n _setEditRowKeyByIndex(rowIndex, silent) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n if (void 0 === key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n this._setEditRowKey(key, silent)\r\n }\r\n getEditRowIndex() {\r\n return this._getVisibleEditRowIndex()\r\n }\r\n getEditFormRowIndex() {\r\n return -1\r\n }\r\n isEditRowByIndex(rowIndex) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var isKeyEqual = isDefined(key) && equalByValue(this.option(EDITING_EDITROWKEY_OPTION_NAME), key);\r\n if (isKeyEqual) {\r\n return this._getVisibleEditRowIndex() === rowIndex\r\n }\r\n return isKeyEqual\r\n }\r\n isEditCell(visibleRowIndex, columnIndex) {\r\n return this.isEditRowByIndex(visibleRowIndex) && this._getVisibleEditColumnIndex() === columnIndex\r\n }\r\n getPopupContent() {}\r\n _isProcessedItem(item) {\r\n return false\r\n }\r\n _getInsertRowIndex(items, change, isProcessedItems) {\r\n var result = -1;\r\n var dataController = this._dataController;\r\n var key = this._getInsertAfterOrBeforeKey(change);\r\n if (!isDefined(key) && 0 === items.length) {\r\n result = 0\r\n } else if (isDefined(key)) {\r\n items.some((item, index) => {\r\n var isProcessedItem = isProcessedItems || this._isProcessedItem(item);\r\n if (isObject(item)) {\r\n if (isProcessedItem || isDefined(item[INSERT_INDEX])) {\r\n if (equalByValue(item.key, key)) {\r\n result = index\r\n }\r\n } else if (equalByValue(dataController.keyOf(item), key)) {\r\n result = index\r\n }\r\n }\r\n if (result >= 0) {\r\n var nextItem = items[result + 1];\r\n if (nextItem && (\"detail\" === nextItem.rowType || \"detailAdaptive\" === nextItem.rowType) && isDefined(change.insertAfterKey)) {\r\n return\r\n }\r\n if (isDefined(change.insertAfterKey)) {\r\n result += 1\r\n }\r\n return true\r\n }\r\n })\r\n }\r\n return result\r\n }\r\n _generateNewItem(key) {\r\n var _a;\r\n var item = {\r\n key: key\r\n };\r\n var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (null === insertInfo || void 0 === insertInfo ? void 0 : insertInfo[INSERT_INDEX]) {\r\n item[INSERT_INDEX] = insertInfo[INSERT_INDEX]\r\n }\r\n return item\r\n }\r\n _getLoadedRowIndex(items, change, isProcessedItems) {\r\n var loadedRowIndex = this._getInsertRowIndex(items, change, isProcessedItems);\r\n var dataController = this._dataController;\r\n if (loadedRowIndex < 0) {\r\n var newRowPosition = this._getNewRowPosition();\r\n var pageIndex = dataController.pageIndex();\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (newRowPosition !== LAST_NEW_ROW_POSITION && 0 === pageIndex && !isDefined(insertAfterOrBeforeKey)) {\r\n loadedRowIndex = 0\r\n } else if (newRowPosition === LAST_NEW_ROW_POSITION && dataController.isLastPageLoaded()) {\r\n loadedRowIndex = items.length\r\n }\r\n }\r\n return loadedRowIndex\r\n }\r\n processItems(items, e) {\r\n var {\r\n changeType: changeType\r\n } = e;\r\n this.update(changeType);\r\n var changes = this.getChanges();\r\n changes.forEach(change => {\r\n var _a;\r\n var isInsert = change.type === DATA_EDIT_DATA_INSERT_TYPE;\r\n if (!isInsert) {\r\n return\r\n }\r\n var {\r\n key: key\r\n } = change;\r\n var insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!isDefined(key) || !isDefined(insertInfo)) {\r\n insertInfo = this._addInsertInfo(change);\r\n key = insertInfo.key\r\n }\r\n var loadedRowIndex = this._getLoadedRowIndex(items, change);\r\n var item = this._generateNewItem(key);\r\n if (loadedRowIndex >= 0) {\r\n items.splice(loadedRowIndex, 0, item)\r\n }\r\n });\r\n return items\r\n }\r\n processDataItem(item, options, generateDataValues) {\r\n var columns = options.visibleColumns;\r\n var key = item.data[INSERT_INDEX] ? item.data.key : item.key;\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n item.isEditing = false;\r\n if (editIndex >= 0) {\r\n this._processDataItemCore(item, changes[editIndex], key, columns, generateDataValues)\r\n }\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n switch (type) {\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n item.isNewRow = true;\r\n item.key = key;\r\n item.data = data;\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n item.modified = true;\r\n item.oldData = item.data;\r\n item.data = createObjectWithChanges(item.data, data);\r\n item.modifiedValues = generateDataValues(data, columns, true);\r\n break;\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n item.removed = true\r\n }\r\n }\r\n _initNewRow(options) {\r\n this.executeAction(\"onInitNewRow\", options);\r\n if (options.promise) {\r\n var deferred = new Deferred;\r\n when(fromPromise(options.promise)).done(deferred.resolve).fail(createFailureHandler(deferred)).fail(arg => this._fireDataErrorOccurred(arg));\r\n return deferred\r\n }\r\n }\r\n _createInsertInfo() {\r\n var insertInfo = {};\r\n insertInfo[INSERT_INDEX] = this._getInsertIndex();\r\n return insertInfo\r\n }\r\n _addInsertInfo(change, parentKey) {\r\n var _a;\r\n var insertInfo;\r\n var {\r\n key: key\r\n } = change;\r\n if (!isDefined(key)) {\r\n key = String(new Guid);\r\n change.key = key\r\n }\r\n insertInfo = null === (_a = this._getInternalData(key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (!isDefined(insertInfo)) {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n insertInfo = this._createInsertInfo();\r\n if (!isDefined(insertAfterOrBeforeKey)) {\r\n this._setInsertAfterOrBeforeKey(change, parentKey)\r\n }\r\n }\r\n this._addInternalData({\r\n insertInfo: insertInfo,\r\n key: key\r\n });\r\n return {\r\n insertInfo: insertInfo,\r\n key: key\r\n }\r\n }\r\n _setInsertAfterOrBeforeKey(change, parentKey) {\r\n var dataController = this._dataController;\r\n var allItems = dataController.items(true);\r\n var rowsView = this.getView(\"rowsView\");\r\n var newRowPosition = this._getNewRowPosition();\r\n switch (newRowPosition) {\r\n case FIRST_NEW_ROW_POSITION:\r\n case LAST_NEW_ROW_POSITION:\r\n break;\r\n case PAGE_TOP_NEW_ROW_POSITION:\r\n case PAGE_BOTTOM_NEW_ROW_POSITION:\r\n if (allItems.length) {\r\n var itemIndex = newRowPosition === PAGE_TOP_NEW_ROW_POSITION ? 0 : allItems.length - 1;\r\n change[0 === itemIndex ? \"insertBeforeKey\" : \"insertAfterKey\"] = allItems[itemIndex].key\r\n }\r\n break;\r\n default:\r\n var isViewportBottom = newRowPosition === VIEWPORT_BOTTOM_NEW_ROW_POSITION;\r\n var visibleItemIndex = isViewportBottom ? null === rowsView || void 0 === rowsView ? void 0 : rowsView.getBottomVisibleItemIndex() : null === rowsView || void 0 === rowsView ? void 0 : rowsView.getTopVisibleItemIndex();\r\n var row = dataController.getVisibleRows()[visibleItemIndex];\r\n if (row && (!row.isEditing && \"detail\" === row.rowType || \"detailAdaptive\" === row.rowType)) {\r\n visibleItemIndex++\r\n }\r\n var insertKey = dataController.getKeyByRowIndex(visibleItemIndex);\r\n if (isDefined(insertKey)) {\r\n change.insertBeforeKey = insertKey\r\n }\r\n }\r\n }\r\n _getInsertIndex() {\r\n var maxInsertIndex = 0;\r\n this.getChanges().forEach(editItem => {\r\n var _a;\r\n var insertInfo = null === (_a = this._getInternalData(editItem.key)) || void 0 === _a ? void 0 : _a.insertInfo;\r\n if (isDefined(insertInfo) && editItem.type === DATA_EDIT_DATA_INSERT_TYPE && insertInfo[INSERT_INDEX] > maxInsertIndex) {\r\n maxInsertIndex = insertInfo[INSERT_INDEX]\r\n }\r\n });\r\n return maxInsertIndex + 1\r\n }\r\n _getInsertAfterOrBeforeKey(insertChange) {\r\n var _a;\r\n return null !== (_a = insertChange.insertAfterKey) && void 0 !== _a ? _a : insertChange.insertBeforeKey\r\n }\r\n _getPageIndexToInsertRow() {\r\n var newRowPosition = this._getNewRowPosition();\r\n var dataController = this._dataController;\r\n var pageIndex = dataController.pageIndex();\r\n var lastPageIndex = dataController.pageCount() - 1;\r\n if (newRowPosition === FIRST_NEW_ROW_POSITION && 0 !== pageIndex) {\r\n return 0\r\n }\r\n if (newRowPosition === LAST_NEW_ROW_POSITION && pageIndex !== lastPageIndex) {\r\n return lastPageIndex\r\n }\r\n return -1\r\n }\r\n addRow(parentKey) {\r\n var dataController = this._dataController;\r\n var store = dataController.store();\r\n if (!store) {\r\n dataController.fireError(\"E1052\", this.component.NAME);\r\n return (new Deferred).reject()\r\n }\r\n return this._addRow(parentKey)\r\n }\r\n _addRow(parentKey) {\r\n var dataController = this._dataController;\r\n var store = dataController.store();\r\n var key = store && store.key();\r\n var param = {\r\n data: {}\r\n };\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n var deferred = new Deferred;\r\n this.refresh({\r\n allowCancelEditing: true\r\n });\r\n if (!this._allowRowAdding()) {\r\n when(this._navigateToNewRow(oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n if (!key) {\r\n param.data.__KEY__ = String(new Guid)\r\n }\r\n when(this._initNewRow(param, parentKey)).done(() => {\r\n if (this._allowRowAdding()) {\r\n when(this._addRowCore(param.data, parentKey, oldEditRowIndex)).done(deferred.resolve).fail(deferred.reject)\r\n } else {\r\n deferred.reject(\"cancel\")\r\n }\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _allowRowAdding(params) {\r\n var insertIndex = this._getInsertIndex();\r\n if (insertIndex > 1) {\r\n return false\r\n }\r\n return true\r\n }\r\n _addRowCore(data, parentKey, initialOldEditRowIndex) {\r\n var change = {\r\n data: data,\r\n type: DATA_EDIT_DATA_INSERT_TYPE\r\n };\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n var insertInfo = this._addInsertInfo(change, parentKey);\r\n var {\r\n key: key\r\n } = insertInfo;\r\n this._setEditRowKey(key, true);\r\n this._addChange(change);\r\n return this._navigateToNewRow(initialOldEditRowIndex, change, editRowIndex)\r\n }\r\n _navigateToNewRow(oldEditRowIndex, change, editRowIndex) {\r\n var d = new Deferred;\r\n var dataController = this._dataController;\r\n var focusController = this.getController(\"focus\");\r\n editRowIndex = null !== editRowIndex && void 0 !== editRowIndex ? editRowIndex : -1;\r\n change = null !== change && void 0 !== change ? change : this.getChanges().filter(c => c.type === DATA_EDIT_DATA_INSERT_TYPE)[0];\r\n if (!change) {\r\n return d.reject(\"cancel\").promise()\r\n }\r\n var pageIndexToInsertRow = this._getPageIndexToInsertRow();\r\n var rowIndex = this._getLoadedRowIndex(dataController.items(), change, true);\r\n var navigateToRowByKey = key => {\r\n when(null === focusController || void 0 === focusController ? void 0 : focusController.navigateToRow(key)).done(() => {\r\n rowIndex = dataController.getRowIndexByKey(change.key);\r\n d.resolve()\r\n })\r\n };\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (pageIndexToInsertRow >= 0) {\r\n dataController.pageIndex(pageIndexToInsertRow).done(() => {\r\n navigateToRowByKey(change.key)\r\n }).fail(d.reject)\r\n } else if (rowIndex < 0 && isDefined(insertAfterOrBeforeKey)) {\r\n navigateToRowByKey(insertAfterOrBeforeKey)\r\n } else {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, editRowIndex, rowIndex]\r\n });\r\n rowIndex = dataController.getRowIndexByKey(change.key);\r\n if (rowIndex < 0) {\r\n navigateToRowByKey(change.key)\r\n } else {\r\n d.resolve()\r\n }\r\n }\r\n d.done(() => {\r\n var _a;\r\n null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.waitAsyncTemplates(true).done(() => {\r\n this._showAddedRow(rowIndex);\r\n this._afterInsertRow(change.key)\r\n })\r\n });\r\n return d.promise()\r\n }\r\n _showAddedRow(rowIndex) {\r\n this._focusFirstEditableCellInRow(rowIndex)\r\n }\r\n _beforeFocusElementInRow(rowIndex) {}\r\n _focusFirstEditableCellInRow(rowIndex) {\r\n var dataController = this._dataController;\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var key = dataController.getKeyByRowIndex(rowIndex);\r\n var $firstCell = this.getFirstEditableCellInRow(rowIndex);\r\n null === keyboardController || void 0 === keyboardController ? void 0 : keyboardController.focus($firstCell);\r\n this.option(\"focusedRowKey\", key);\r\n this._editCellInProgress = true;\r\n this._delayedInputFocus($firstCell, () => {\r\n rowIndex = dataController.getRowIndexByKey(key);\r\n this._editCellInProgress = false;\r\n this._beforeFocusElementInRow(rowIndex)\r\n })\r\n }\r\n _isEditingStart(options) {\r\n this.executeAction(\"onEditingStart\", options);\r\n return options.cancel\r\n }\r\n _beforeUpdateItems() {}\r\n _getVisibleEditColumnIndex() {\r\n var editColumnName = this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n if (!isDefined(editColumnName)) {\r\n return -1\r\n }\r\n return this._columnsController.getVisibleColumnIndex(editColumnName)\r\n }\r\n _setEditColumnNameByIndex(index, silent) {\r\n var _a;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n this._setEditColumnName(null === (_a = visibleColumns[index]) || void 0 === _a ? void 0 : _a.name, silent)\r\n }\r\n _setEditColumnName(name, silent) {\r\n if (silent) {\r\n this._silentOption(EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n } else {\r\n this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME, name)\r\n }\r\n }\r\n _resetEditColumnName() {\r\n this._setEditColumnName(null, true)\r\n }\r\n _getEditColumn() {\r\n var editColumnName = this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME);\r\n return this._getColumnByName(editColumnName)\r\n }\r\n _getColumnByName(name) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var editColumn;\r\n isDefined(name) && visibleColumns.some(column => {\r\n if (column.name === name) {\r\n editColumn = column;\r\n return true\r\n }\r\n });\r\n return editColumn\r\n }\r\n _getVisibleEditRowIndex(columnName) {\r\n var dataController = this._dataController;\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var rowIndex = dataController.getRowIndexByKey(editRowKey);\r\n if (-1 === rowIndex) {\r\n return rowIndex\r\n }\r\n return rowIndex + this._getEditRowIndexCorrection(columnName)\r\n }\r\n _getEditRowIndexCorrection(columnName) {\r\n var editColumn = columnName ? this._getColumnByName(columnName) : this._getEditColumn();\r\n var isColumnHidden = \"adaptiveHidden\" === (null === editColumn || void 0 === editColumn ? void 0 : editColumn.visibleWidth);\r\n return isColumnHidden ? 1 : 0\r\n }\r\n _resetEditRowKey() {\r\n this._refocusEditCell = false;\r\n this._setEditRowKey(null, true)\r\n }\r\n _resetEditIndices() {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n editRow(rowIndex) {\r\n var _a;\r\n var dataController = this._dataController;\r\n var items = dataController.items();\r\n var item = items[rowIndex];\r\n var params = {\r\n data: item && item.data,\r\n cancel: false\r\n };\r\n var oldRowIndex = this._getVisibleEditRowIndex();\r\n if (!item) {\r\n return\r\n }\r\n if (rowIndex === oldRowIndex) {\r\n return true\r\n }\r\n if (void 0 === item.key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n if (!item.isNewRow) {\r\n params.key = item.key\r\n }\r\n if (this._isEditingStart(params)) {\r\n return\r\n }\r\n this.resetChanges();\r\n this.init();\r\n this._resetEditColumnName();\r\n this._pageIndex = dataController.pageIndex();\r\n this._addInternalData({\r\n key: item.key,\r\n oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data\r\n });\r\n this._setEditRowKey(item.key)\r\n }\r\n _editRowFromOptionChanged(rowIndex, oldRowIndex) {\r\n var rowIndices = [oldRowIndex, rowIndex];\r\n this._beforeUpdateItems(rowIndices, rowIndex, oldRowIndex);\r\n this._editRowFromOptionChangedCore(rowIndices, rowIndex)\r\n }\r\n _editRowFromOptionChangedCore(rowIndices, rowIndex, preventRendering) {\r\n this._needFocusEditor = true;\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndices,\r\n cancel: preventRendering\r\n })\r\n }\r\n _focusEditorIfNeed() {}\r\n _showEditPopup(rowIndex, repaintForm) {}\r\n _repaintEditPopup() {}\r\n _getEditPopupHiddenHandler() {\r\n return e => {\r\n if (this.isEditing()) {\r\n this.cancelEditData()\r\n }\r\n }\r\n }\r\n _getPopupEditFormTemplate(rowIndex) {}\r\n _getSaveButtonConfig() {\r\n return {\r\n text: this.option(\"editing.texts.saveRowChanges\"),\r\n onClick: this.saveEditData.bind(this)\r\n }\r\n }\r\n _getCancelButtonConfig() {\r\n return {\r\n text: this.option(\"editing.texts.cancelRowChanges\"),\r\n onClick: this.cancelEditData.bind(this)\r\n }\r\n }\r\n _removeInternalData(key) {\r\n var internalData = this._getInternalData(key);\r\n var index = this._internalState.indexOf(internalData);\r\n if (index > -1) {\r\n this._internalState.splice(index, 1)\r\n }\r\n }\r\n _updateInsertAfterOrBeforeKeys(changes, index) {\r\n var removeChange = changes[index];\r\n changes.forEach(change => {\r\n var insertAfterOrBeforeKey = this._getInsertAfterOrBeforeKey(change);\r\n if (equalByValue(insertAfterOrBeforeKey, removeChange.key)) {\r\n change[isDefined(change.insertAfterKey) ? \"insertAfterKey\" : \"insertBeforeKey\"] = this._getInsertAfterOrBeforeKey(removeChange)\r\n }\r\n })\r\n }\r\n _removeChange(index) {\r\n if (index >= 0) {\r\n var changes = [...this.getChanges()];\r\n var {\r\n key: key\r\n } = changes[index];\r\n this._removeInternalData(key);\r\n this._updateInsertAfterOrBeforeKeys(changes, index);\r\n changes.splice(index, 1);\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes);\r\n if (equalByValue(this.option(EDITING_EDITROWKEY_OPTION_NAME), key)) {\r\n this._resetEditIndices()\r\n }\r\n }\r\n }\r\n executeOperation(deferred, func) {\r\n this._lastOperation && this._lastOperation.reject();\r\n this._lastOperation = deferred;\r\n this.waitForDeferredOperations().done(() => {\r\n if (\"rejected\" === deferred.state()) {\r\n return\r\n }\r\n func();\r\n this._lastOperation = null\r\n }).fail(() => {\r\n deferred.reject();\r\n this._lastOperation = null\r\n })\r\n }\r\n waitForDeferredOperations() {\r\n return when(...this._deferreds)\r\n }\r\n _processCanceledEditingCell() {}\r\n _repaintEditCell(column, oldColumn, oldEditRowIndex) {\r\n this._needFocusEditor = true;\r\n if (!column || !column.showEditorAlways || oldColumn && !oldColumn.showEditorAlways) {\r\n this._editCellInProgress = true;\r\n this.getController(\"editorFactory\").loseFocus();\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, this._getVisibleEditRowIndex()]\r\n })\r\n } else if (column !== oldColumn) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: []\r\n })\r\n }\r\n }\r\n _delayedInputFocus($cell, beforeFocusCallback, callBeforeFocusCallbackAlways) {\r\n var inputFocus = () => {\r\n if (beforeFocusCallback) {\r\n beforeFocusCallback()\r\n }\r\n if ($cell) {\r\n var $focusableElement = $cell.find(FOCUSABLE_ELEMENT_SELECTOR).first();\r\n gridCoreUtils.focusAndSelectElement(this, $focusableElement)\r\n }\r\n this._beforeFocusCallback = null\r\n };\r\n if (devices.real().ios || devices.real().android) {\r\n inputFocus()\r\n } else {\r\n if (this._beforeFocusCallback) {\r\n this._beforeFocusCallback()\r\n }\r\n clearTimeout(this._inputFocusTimeoutID);\r\n if (callBeforeFocusCallbackAlways) {\r\n this._beforeFocusCallback = beforeFocusCallback\r\n }\r\n this._inputFocusTimeoutID = setTimeout(inputFocus)\r\n }\r\n }\r\n _focusEditingCell(beforeFocusCallback, $editCell, callBeforeFocusCallbackAlways) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var editColumnIndex = this._getVisibleEditColumnIndex();\r\n $editCell = $editCell || rowsView && rowsView._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex);\r\n if ($editCell) {\r\n this._delayedInputFocus($editCell, beforeFocusCallback, callBeforeFocusCallbackAlways)\r\n }\r\n }\r\n deleteRow(rowIndex) {\r\n this._checkAndDeleteRow(rowIndex)\r\n }\r\n _checkAndDeleteRow(rowIndex) {\r\n var editingOptions = this.option(\"editing\");\r\n var editingTexts = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.texts;\r\n var confirmDelete = null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.confirmDelete;\r\n var confirmDeleteMessage = null === editingTexts || void 0 === editingTexts ? void 0 : editingTexts.confirmDeleteMessage;\r\n var item = this._dataController.items()[rowIndex];\r\n var allowDeleting = !this.isEditing() || item.isNewRow;\r\n if (item && allowDeleting) {\r\n if (!confirmDelete || !confirmDeleteMessage) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n var confirmDeleteTitle = editingTexts && editingTexts.confirmDeleteTitle;\r\n var showDialogTitle = isDefined(confirmDeleteTitle) && confirmDeleteTitle.length > 0;\r\n confirm(confirmDeleteMessage, confirmDeleteTitle, showDialogTitle).done(confirmResult => {\r\n if (confirmResult) {\r\n this._deleteRowCore(rowIndex)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n _deleteRowCore(rowIndex) {\r\n var dataController = this._dataController;\r\n var item = dataController.items()[rowIndex];\r\n var key = item && item.key;\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n this.refresh();\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n if (changes[editIndex].type === DATA_EDIT_DATA_INSERT_TYPE) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n } else {\r\n this._addChange({\r\n key: key,\r\n oldData: item.data,\r\n type: DATA_EDIT_DATA_REMOVE_TYPE\r\n })\r\n }\r\n return this._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n }\r\n _afterDeleteRow(rowIndex, oldEditRowIndex) {\r\n return this.saveEditData()\r\n }\r\n undeleteRow(rowIndex) {\r\n var dataController = this._dataController;\r\n var item = dataController.items()[rowIndex];\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n var key = item && item.key;\r\n var changes = this.getChanges();\r\n if (item) {\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var {\r\n data: data\r\n } = changes[editIndex];\r\n if (isEmptyObject(data)) {\r\n this._removeChange(editIndex)\r\n } else {\r\n this._addChange({\r\n key: key,\r\n type: DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n }\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, rowIndex]\r\n })\r\n }\r\n }\r\n }\r\n _fireOnSaving() {\r\n var onSavingParams = {\r\n cancel: false,\r\n promise: null,\r\n changes: [...this.getChanges()]\r\n };\r\n this.executeAction(\"onSaving\", onSavingParams);\r\n var d = new Deferred;\r\n when(fromPromise(onSavingParams.promise)).done(() => {\r\n d.resolve(onSavingParams)\r\n }).fail(arg => {\r\n createFailureHandler(d);\r\n this._fireDataErrorOccurred(arg);\r\n d.resolve({\r\n cancel: true\r\n })\r\n });\r\n return d\r\n }\r\n _executeEditingAction(actionName, params, func) {\r\n if (this.component._disposed) {\r\n return null\r\n }\r\n var deferred = new Deferred;\r\n this.executeAction(actionName, params);\r\n when(fromPromise(params.cancel)).done(cancel => {\r\n if (cancel) {\r\n setTimeout(() => {\r\n deferred.resolve(\"cancel\")\r\n })\r\n } else {\r\n func(params).done(deferred.resolve).fail(createFailureHandler(deferred))\r\n }\r\n }).fail(createFailureHandler(deferred));\r\n return deferred\r\n }\r\n _processChanges(deferreds, results, dataChanges, changes) {\r\n var store = this._dataController.store();\r\n each(changes, (index, change) => {\r\n var oldData = this._getOldData(change.key);\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n var changeCopy = _extends({}, change);\r\n var deferred;\r\n var params;\r\n if (this._beforeSaveEditData(change, index)) {\r\n return\r\n }\r\n switch (type) {\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n params = {\r\n data: oldData,\r\n key: change.key,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowRemoving\", params, () => store.remove(change.key).done(key => {\r\n dataChanges.push({\r\n type: \"remove\",\r\n key: key\r\n })\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n params = {\r\n data: data,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowInserting\", params, () => store.insert(params.data).done((data, key) => {\r\n if (isDefined(key)) {\r\n changeCopy.key = key\r\n }\r\n if (data && isObject(data) && data !== params.data) {\r\n changeCopy.data = data\r\n }\r\n dataChanges.push({\r\n type: \"insert\",\r\n data: data,\r\n index: 0\r\n })\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n params = {\r\n newData: data,\r\n oldData: oldData,\r\n key: change.key,\r\n cancel: false\r\n };\r\n deferred = this._executeEditingAction(\"onRowUpdating\", params, () => store.update(change.key, params.newData).done((data, key) => {\r\n if (data && isObject(data) && data !== params.newData) {\r\n changeCopy.data = data\r\n }\r\n dataChanges.push({\r\n type: \"update\",\r\n key: key,\r\n data: data\r\n })\r\n }))\r\n }\r\n changes[index] = changeCopy;\r\n if (deferred) {\r\n var doneDeferred = new Deferred;\r\n deferred.always(data => {\r\n results.push({\r\n key: change.key,\r\n result: data\r\n })\r\n }).always(doneDeferred.resolve);\r\n deferreds.push(doneDeferred.promise())\r\n }\r\n })\r\n }\r\n _processRemoveIfError(changes, editIndex) {\r\n var change = changes[editIndex];\r\n if ((null === change || void 0 === change ? void 0 : change.type) === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n }\r\n return true\r\n }\r\n _processRemove(changes, editIndex, cancel) {\r\n var change = changes[editIndex];\r\n if (!cancel || !change || change.type === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n return this._processRemoveCore(changes, editIndex, !cancel || !change)\r\n }\r\n }\r\n _processRemoveCore(changes, editIndex, processIfBatch) {\r\n if (editIndex >= 0) {\r\n changes.splice(editIndex, 1)\r\n }\r\n return true\r\n }\r\n _processSaveEditDataResult(results) {\r\n var hasSavedData = false;\r\n var changes = [...this.getChanges()];\r\n var changesLength = changes.length;\r\n for (var i = 0; i < results.length; i++) {\r\n var arg = results[i].result;\r\n var cancel = \"cancel\" === arg;\r\n var editIndex = gridCoreUtils.getIndexByKey(results[i].key, changes);\r\n var change = changes[editIndex];\r\n var isError = arg && arg instanceof Error;\r\n if (isError) {\r\n if (change) {\r\n this._addInternalData({\r\n key: change.key,\r\n error: arg\r\n })\r\n }\r\n this._fireDataErrorOccurred(arg);\r\n if (this._processRemoveIfError(changes, editIndex)) {\r\n break\r\n }\r\n } else if (this._processRemove(changes, editIndex, cancel)) {\r\n hasSavedData = !cancel\r\n }\r\n }\r\n if (changes.length < changesLength) {\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes)\r\n }\r\n return hasSavedData\r\n }\r\n _fireSaveEditDataEvents(changes) {\r\n each(changes, (_, _ref) => {\r\n var {\r\n data: data,\r\n key: key,\r\n type: type\r\n } = _ref;\r\n var internalData = this._addInternalData({\r\n key: key\r\n });\r\n var params = {\r\n key: key,\r\n data: data\r\n };\r\n if (internalData.error) {\r\n params.error = internalData.error\r\n }\r\n switch (type) {\r\n case DATA_EDIT_DATA_REMOVE_TYPE:\r\n this.executeAction(\"onRowRemoved\", extend({}, params, {\r\n data: internalData.oldData\r\n }));\r\n break;\r\n case DATA_EDIT_DATA_INSERT_TYPE:\r\n this.executeAction(\"onRowInserted\", params);\r\n break;\r\n case DATA_EDIT_DATA_UPDATE_TYPE:\r\n this.executeAction(\"onRowUpdated\", params)\r\n }\r\n });\r\n this.executeAction(\"onSaved\", {\r\n changes: changes\r\n })\r\n }\r\n saveEditData() {\r\n var deferred = new Deferred;\r\n this.waitForDeferredOperations().done(() => {\r\n if (this.isSaving()) {\r\n this._resolveAfterSave(deferred);\r\n return\r\n }\r\n when(this._beforeSaveEditData()).done(cancel => {\r\n if (cancel) {\r\n this._resolveAfterSave(deferred, {\r\n cancel: cancel\r\n });\r\n return\r\n }\r\n this._saving = true;\r\n this._saveEditDataInner().always(() => {\r\n this._saving = false;\r\n if (this._refocusEditCell) {\r\n this._focusEditingCell()\r\n }\r\n }).done(deferred.resolve).fail(deferred.reject)\r\n }).fail(deferred.reject)\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _resolveAfterSave(deferred) {\r\n var {\r\n cancel: cancel,\r\n error: error\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n when(this._afterSaveEditData(cancel)).done(() => {\r\n deferred.resolve(error)\r\n }).fail(deferred.reject)\r\n }\r\n _saveEditDataInner() {\r\n var result = new Deferred;\r\n var results = [];\r\n var deferreds = [];\r\n var dataChanges = [];\r\n var dataSource = this._dataController.dataSource();\r\n when(this._fireOnSaving()).done(_ref2 => {\r\n var {\r\n cancel: cancel,\r\n changes: changes\r\n } = _ref2;\r\n if (cancel) {\r\n return result.resolve().promise()\r\n }\r\n this._processChanges(deferreds, results, dataChanges, changes);\r\n if (deferreds.length) {\r\n this._refocusEditCell = true;\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.beginLoading();\r\n when(...deferreds).done(() => {\r\n if (this._processSaveEditDataResult(results)) {\r\n this._endSaving(dataChanges, changes, result)\r\n } else {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve()\r\n }\r\n }).fail(error => {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n result.resolve(error)\r\n });\r\n return result.always(() => {\r\n this._refocusEditCell = true\r\n }).promise()\r\n }\r\n this._cancelSaving(result)\r\n }).fail(result.reject);\r\n return result.promise()\r\n }\r\n _beforeEndSaving(changes) {\r\n this._resetEditIndices()\r\n }\r\n _endSaving(dataChanges, changes, deferred) {\r\n var dataSource = this._dataController.dataSource();\r\n this._beforeEndSaving(changes);\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.endLoading();\r\n this._refreshDataAfterSave(dataChanges, changes, deferred)\r\n }\r\n _cancelSaving(result) {\r\n this.executeAction(\"onSaved\", {\r\n changes: []\r\n });\r\n this._resolveAfterSave(result)\r\n }\r\n _refreshDataAfterSave(dataChanges, changes, deferred) {\r\n var dataController = this._dataController;\r\n var refreshMode = this.option(\"editing.refreshMode\");\r\n var isFullRefresh = \"reshape\" !== refreshMode && \"repaint\" !== refreshMode;\r\n if (!isFullRefresh) {\r\n dataController.push(dataChanges)\r\n }\r\n when(dataController.refresh({\r\n selection: isFullRefresh,\r\n reload: isFullRefresh,\r\n load: \"reshape\" === refreshMode,\r\n changesOnly: this.option(\"repaintChangesOnly\")\r\n })).always(() => {\r\n this._fireSaveEditDataEvents(changes)\r\n }).done(() => {\r\n this._resolveAfterSave(deferred)\r\n }).fail(error => {\r\n this._resolveAfterSave(deferred, {\r\n error: error\r\n })\r\n })\r\n }\r\n isSaving() {\r\n return this._saving\r\n }\r\n _updateEditColumn() {\r\n var isEditColumnVisible = this._isEditColumnVisible();\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var cssClass = COMMAND_EDIT_CLASS + (useIcons ? \" \".concat(COMMAND_EDIT_WITH_ICONS_CLASS) : \"\");\r\n this._columnsController.addCommandColumn({\r\n type: \"buttons\",\r\n command: \"edit\",\r\n visible: isEditColumnVisible,\r\n cssClass: cssClass,\r\n width: \"auto\",\r\n alignment: \"center\",\r\n cellTemplate: this._getEditCommandCellTemplate(),\r\n fixedPosition: \"right\"\r\n });\r\n this._columnsController.columnOption(\"command:edit\", {\r\n visible: isEditColumnVisible,\r\n cssClass: cssClass\r\n })\r\n }\r\n _isEditColumnVisible() {\r\n var editingOptions = this.option(\"editing\");\r\n return editingOptions.allowDeleting\r\n }\r\n _isEditButtonDisabled() {\r\n var hasChanges = this.hasChanges();\r\n var isEditRowDefined = isDefined(this.option(\"editing.editRowKey\"));\r\n return !(isEditRowDefined || hasChanges)\r\n }\r\n _updateEditButtons() {\r\n var headerPanel = this.getView(\"headerPanel\");\r\n var isButtonDisabled = this._isEditButtonDisabled();\r\n if (headerPanel) {\r\n headerPanel.setToolbarItemDisabled(\"saveButton\", isButtonDisabled);\r\n headerPanel.setToolbarItemDisabled(\"revertButton\", isButtonDisabled)\r\n }\r\n }\r\n _applyModified($element, options) {\r\n $element && $element.addClass(CELL_MODIFIED)\r\n }\r\n _beforeCloseEditCellInBatchMode(rowIndices) {}\r\n cancelEditData() {\r\n var changes = this.getChanges();\r\n var params = {\r\n cancel: false,\r\n changes: changes\r\n };\r\n this.executeAction(\"onEditCanceling\", params);\r\n if (!params.cancel) {\r\n this._cancelEditDataCore();\r\n this.executeAction(\"onEditCanceled\", {\r\n changes: changes\r\n })\r\n }\r\n }\r\n _cancelEditDataCore() {\r\n var rowIndex = this._getVisibleEditRowIndex();\r\n this._beforeCancelEditData();\r\n this.init();\r\n this.resetChanges();\r\n this._resetEditColumnName();\r\n this._resetEditRowKey();\r\n this._afterCancelEditData(rowIndex)\r\n }\r\n _afterCancelEditData(rowIndex) {\r\n var dataController = this._dataController;\r\n dataController.updateItems({\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\")\r\n })\r\n }\r\n _hideEditPopup() {}\r\n hasEditData() {\r\n return this.hasChanges()\r\n }\r\n update(changeType) {\r\n var dataController = this._dataController;\r\n if (dataController && this._pageIndex !== dataController.pageIndex()) {\r\n if (\"refresh\" === changeType) {\r\n this.refresh({\r\n isPageChanged: true\r\n })\r\n }\r\n this._pageIndex = dataController.pageIndex()\r\n }\r\n this._updateEditButtons()\r\n }\r\n _getRowIndicesForCascadeUpdating(row, skipCurrentRow) {\r\n return skipCurrentRow ? [] : [row.rowIndex]\r\n }\r\n addDeferred(deferred) {\r\n if (this._deferreds.indexOf(deferred) < 0) {\r\n this._deferreds.push(deferred);\r\n deferred.always(() => {\r\n var index = this._deferreds.indexOf(deferred);\r\n if (index >= 0) {\r\n this._deferreds.splice(index, 1)\r\n }\r\n })\r\n }\r\n }\r\n _prepareChange(options, value, text) {\r\n var _a;\r\n var newData = {};\r\n var oldData = null === (_a = options.row) || void 0 === _a ? void 0 : _a.data;\r\n var rowKey = options.key;\r\n var deferred = new Deferred;\r\n if (void 0 !== rowKey) {\r\n options.value = value;\r\n var setCellValueResult = fromPromise(options.column.setCellValue(newData, value, extend(true, {}, oldData), text));\r\n setCellValueResult.done(() => {\r\n deferred.resolve({\r\n data: newData,\r\n key: rowKey,\r\n oldData: oldData,\r\n type: DATA_EDIT_DATA_UPDATE_TYPE\r\n })\r\n }).fail(createFailureHandler(deferred)).fail(arg => this._fireDataErrorOccurred(arg));\r\n if (isDefined(text) && options.column.displayValueMap) {\r\n options.column.displayValueMap[value] = text\r\n }\r\n this._updateRowValues(options);\r\n this.addDeferred(deferred)\r\n }\r\n return deferred\r\n }\r\n _updateRowValues(options) {\r\n if (options.values) {\r\n var dataController = this._dataController;\r\n var rowIndex = dataController.getRowIndexByKey(options.key);\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n if (row) {\r\n options.row.values = row.values;\r\n options.values = row.values\r\n }\r\n options.values[options.columnIndex] = options.value\r\n }\r\n }\r\n updateFieldValue(options, value, text, forceUpdateRow) {\r\n var rowKey = options.key;\r\n var deferred = new Deferred;\r\n if (void 0 === rowKey) {\r\n this._dataController.fireError(\"E1043\")\r\n }\r\n if (options.column.setCellValue) {\r\n this._prepareChange(options, value, text).done(params => {\r\n when(this._applyChange(options, params, forceUpdateRow)).always(() => {\r\n deferred.resolve()\r\n })\r\n })\r\n } else {\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n }\r\n _focusPreviousEditingCellIfNeed(options) {\r\n if (this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex)) {\r\n this._focusEditingCell();\r\n this._updateEditRow(options.row, true);\r\n return true\r\n }\r\n }\r\n _needUpdateRow(column) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n if (!column) {\r\n column = this._getEditColumn()\r\n }\r\n var isCustomSetCellValue = column && column.setCellValue !== column.defaultSetCellValue;\r\n var isCustomCalculateCellValue = visibleColumns.some(visibleColumn => visibleColumn.calculateCellValue !== visibleColumn.defaultCalculateCellValue);\r\n return isCustomSetCellValue || isCustomCalculateCellValue\r\n }\r\n _applyChange(options, params, forceUpdateRow) {\r\n var changeOptions = _extends(_extends({}, options), {\r\n forceUpdateRow: forceUpdateRow\r\n });\r\n this._addChange(params, changeOptions);\r\n this._updateEditButtons();\r\n return this._applyChangeCore(options, changeOptions.forceUpdateRow)\r\n }\r\n _applyChangeCore(options, forceUpdateRow) {\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var {\r\n row: row\r\n } = options;\r\n if (row) {\r\n if (forceUpdateRow || isCustomSetCellValue) {\r\n this._updateEditRow(row, forceUpdateRow, isCustomSetCellValue)\r\n } else if (row.update) {\r\n row.update()\r\n }\r\n }\r\n }\r\n _updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: this._getRowIndicesForCascadeUpdating(row, skipCurrentRow)\r\n })\r\n }\r\n _updateEditRow(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (forceUpdateRow) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n this._updateRowWithDelay(row, isCustomSetCellValue)\r\n }\r\n }\r\n _updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue) {\r\n this._updateEditRowCore(row, !forceUpdateRow, isCustomSetCellValue);\r\n this._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (!forceUpdateRow) {\r\n this._focusEditingCell()\r\n }\r\n }\r\n _updateRowWithDelay(row, isCustomSetCellValue) {\r\n var deferred = new Deferred;\r\n this.addDeferred(deferred);\r\n setTimeout(() => {\r\n var _a;\r\n var elementContainer = (null === (_a = this._editForm) || void 0 === _a ? void 0 : _a.element()) || this.component.$element().get(0);\r\n var $focusedElement = $(domAdapter.getActiveElement(elementContainer));\r\n var columnIndex = this._rowsView.getCellIndex($focusedElement, row.rowIndex);\r\n var focusedElement = $focusedElement.get(0);\r\n var selectionRange = gridCoreUtils.getSelectionRange(focusedElement);\r\n this._updateEditRowCore(row, false, isCustomSetCellValue);\r\n this._validateEditFormAfterUpdate(row, isCustomSetCellValue);\r\n if (columnIndex >= 0) {\r\n var $focusedItem = this._rowsView._getCellElement(row.rowIndex, columnIndex);\r\n this._delayedInputFocus($focusedItem, () => {\r\n setTimeout(() => {\r\n var _a;\r\n focusedElement = domAdapter.getActiveElement(null === (_a = this.component.$element()) || void 0 === _a ? void 0 : _a.get(0));\r\n if (selectionRange.selectionStart >= 0) {\r\n gridCoreUtils.setSelectionRange(focusedElement, selectionRange)\r\n }\r\n })\r\n })\r\n }\r\n deferred.resolve()\r\n })\r\n }\r\n _validateEditFormAfterUpdate() {}\r\n _addChange(changeParams, options) {\r\n var _a;\r\n var row = null === options || void 0 === options ? void 0 : options.row;\r\n var changes = [...this.getChanges()];\r\n var index = gridCoreUtils.getIndexByKey(changeParams.key, changes);\r\n if (index < 0) {\r\n index = changes.length;\r\n this._addInternalData({\r\n key: changeParams.key,\r\n oldData: changeParams.oldData\r\n });\r\n delete changeParams.oldData;\r\n changes.push(changeParams)\r\n }\r\n var change = _extends({}, changes[index]);\r\n if (change) {\r\n if (changeParams.data) {\r\n change.data = createObjectWithChanges(change.data, changeParams.data)\r\n }\r\n if ((!change.type || !changeParams.data) && changeParams.type) {\r\n change.type = changeParams.type\r\n }\r\n if (row) {\r\n row.oldData = this._getOldData(row.key);\r\n row.data = createObjectWithChanges(row.data, changeParams.data)\r\n }\r\n }\r\n changes[index] = change;\r\n this._silentOption(EDITING_CHANGES_OPTION_NAME, changes);\r\n if (options && change !== (null === (_a = this.getChanges()) || void 0 === _a ? void 0 : _a[index])) {\r\n options.forceUpdateRow = true\r\n }\r\n return change\r\n }\r\n _getFormEditItemTemplate(cellOptions, column) {\r\n return column.editCellTemplate || this._getDefaultEditorTemplate()\r\n }\r\n getColumnTemplate(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var rowIndex = options.row && options.row.rowIndex;\r\n var template;\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isRowEditing = this.isEditRow(rowIndex);\r\n var isCellEditing = this.isEditCell(rowIndex, options.columnIndex);\r\n var editingStartOptions;\r\n if ((column.showEditorAlways || column.setCellValue && (isRowEditing && column.allowEditing || isCellEditing)) && (\"data\" === options.rowType || \"detailAdaptive\" === options.rowType) && !column.command) {\r\n var allowUpdating = this.allowUpdating(options);\r\n if (((allowUpdating || isRowEditing) && column.allowEditing || isCellEditing) && (isRowEditing || !isRowMode)) {\r\n if (column.showEditorAlways && !isRowMode) {\r\n editingStartOptions = {\r\n cancel: false,\r\n key: options.row.isNewRow ? void 0 : options.row.key,\r\n data: options.row.data,\r\n column: column\r\n };\r\n this._isEditingStart(editingStartOptions)\r\n }\r\n if (!editingStartOptions || !editingStartOptions.cancel) {\r\n options.setValue = (value, text) => {\r\n this.updateFieldValue(options, value, text)\r\n }\r\n }\r\n }\r\n template = column.editCellTemplate || this._getDefaultEditorTemplate()\r\n } else if (\"detail\" === column.command && \"detail\" === options.rowType && isRowEditing) {\r\n template = null === this || void 0 === this ? void 0 : this.getEditFormTemplate(options)\r\n }\r\n return template\r\n }\r\n _createButton($container, button, options, change) {\r\n var icon = EDIT_ICON_CLASS[button.name];\r\n var useIcons = this.option(\"editing.useIcons\");\r\n var useLegacyColumnButtonTemplate = this.option(\"useLegacyColumnButtonTemplate\");\r\n var $button = $(\"<a>\").attr(\"href\", \"#\").addClass(LINK_CLASS).addClass(button.cssClass);\r\n if (button.template && useLegacyColumnButtonTemplate) {\r\n this._rowsView.renderTemplate($container, button.template, options, true)\r\n } else {\r\n if (button.template) {\r\n $button = $(\"<span>\").addClass(button.cssClass)\r\n } else if (useIcons && icon || button.icon) {\r\n icon = button.icon || icon;\r\n var iconType = iconUtils.getImageSourceType(icon);\r\n if (\"image\" === iconType || \"svg\" === iconType) {\r\n $button = iconUtils.getImageContainer(icon).addClass(button.cssClass)\r\n } else {\r\n $button.addClass(\"dx-icon\".concat(\"dxIcon\" === iconType ? \"-\" : \" \").concat(icon)).attr(\"title\", button.text)\r\n }\r\n $button.addClass(\"dx-link-icon\");\r\n $container.addClass(COMMAND_EDIT_WITH_ICONS_CLASS);\r\n var localizationName = this.getButtonLocalizationNames()[button.name];\r\n localizationName && $button.attr(\"aria-label\", messageLocalization.format(localizationName))\r\n } else {\r\n $button.text(button.text)\r\n }\r\n if (isDefined(button.hint)) {\r\n $button.attr(\"title\", button.hint)\r\n }\r\n if (this._isButtonDisabled(button, options)) {\r\n $button.addClass(\"dx-state-disabled\")\r\n } else if (!button.template || button.onClick) {\r\n eventsEngine.on($button, addNamespace(\"click\", EDITING_NAMESPACE), this.createAction(e => {\r\n var _a;\r\n null === (_a = button.onClick) || void 0 === _a ? void 0 : _a.call(button, extend({}, e, {\r\n row: options.row,\r\n column: options.column\r\n }));\r\n e.event.preventDefault();\r\n e.event.stopPropagation()\r\n }))\r\n }\r\n $container.append($button, \" \");\r\n if (button.template) {\r\n options.renderAsync = false;\r\n this._rowsView.renderTemplate($button, button.template, options, true, change)\r\n }\r\n }\r\n }\r\n getButtonLocalizationNames() {\r\n return {\r\n edit: \"dxDataGrid-editingEditRow\",\r\n save: \"dxDataGrid-editingSaveRowChanges\",\r\n delete: \"dxDataGrid-editingDeleteRow\",\r\n undelete: \"dxDataGrid-editingUndeleteRow\",\r\n cancel: \"dxDataGrid-editingCancelRowChanges\"\r\n }\r\n }\r\n prepareButtonItem(headerPanel, name, methodName, sortIndex) {\r\n var _a;\r\n var editingTexts = null !== (_a = this.option(\"editing.texts\")) && void 0 !== _a ? _a : {};\r\n var titleButtonTextByClassNames = {\r\n revert: editingTexts.cancelAllChanges,\r\n save: editingTexts.saveAllChanges,\r\n addRow: editingTexts.addRow\r\n };\r\n var className = {\r\n revert: \"cancel\",\r\n save: \"save\",\r\n addRow: \"addrow\"\r\n } [name];\r\n var hintText = titleButtonTextByClassNames[name];\r\n var isButtonDisabled = (\"save\" === className || \"cancel\" === className) && this._isEditButtonDisabled();\r\n return {\r\n widget: \"dxButton\",\r\n options: {\r\n onInitialized: e => {\r\n $(e.element).addClass(headerPanel._getToolbarButtonClass(\"\".concat(EDIT_BUTTON_CLASS, \" \").concat(this.addWidgetPrefix(className), \"-button\")))\r\n },\r\n icon: \"edit-button-\".concat(className),\r\n disabled: isButtonDisabled,\r\n onClick: () => {\r\n setTimeout(() => {\r\n this[methodName]()\r\n })\r\n },\r\n text: hintText,\r\n hint: hintText\r\n },\r\n showText: \"inMenu\",\r\n name: \"\".concat(name, \"Button\"),\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: sortIndex\r\n }\r\n }\r\n prepareEditButtons(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = [];\r\n if (editingOptions.allowAdding) {\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"addRow\", \"addRow\", 20))\r\n }\r\n return buttonItems\r\n }\r\n highlightDataCell($cell, params) {\r\n this.shouldHighlightCell(params) && $cell.addClass(CELL_MODIFIED)\r\n }\r\n _afterInsertRow() {}\r\n _beforeSaveEditData(change) {\r\n if (change && !isDefined(change.key) && isDefined(change.type)) {\r\n return true\r\n }\r\n }\r\n _afterSaveEditData() {}\r\n _beforeCancelEditData() {}\r\n _allowEditAction(actionName, options) {\r\n var allowEditAction = this.option(\"editing.\".concat(actionName));\r\n if (isFunction(allowEditAction)) {\r\n allowEditAction = allowEditAction({\r\n component: this.component,\r\n row: options.row\r\n })\r\n }\r\n return allowEditAction\r\n }\r\n allowUpdating(options, eventName) {\r\n var _a;\r\n var startEditAction = null !== (_a = this.option(\"editing.startEditAction\")) && void 0 !== _a ? _a : DEFAULT_START_EDIT_ACTION;\r\n var needCallback = arguments.length > 1 ? startEditAction === eventName || \"down\" === eventName : true;\r\n return needCallback && this._allowEditAction(\"allowUpdating\", options)\r\n }\r\n allowDeleting(options) {\r\n return this._allowEditAction(\"allowDeleting\", options)\r\n }\r\n isCellModified(parameters) {\r\n var {\r\n columnIndex: columnIndex\r\n } = parameters;\r\n var modifiedValues = parameters.row && (parameters.row.isNewRow ? parameters.row.values : parameters.row.modifiedValues);\r\n return !!modifiedValues && void 0 !== modifiedValues[columnIndex]\r\n }\r\n isNewRowInEditMode() {\r\n var visibleEditRowIndex = this._getVisibleEditRowIndex();\r\n var rows = this._dataController.items();\r\n return visibleEditRowIndex >= 0 ? rows[visibleEditRowIndex].isNewRow : false\r\n }\r\n _isRowDeleteAllowed() {}\r\n shouldHighlightCell(parameters) {\r\n var cellModified = this.isCellModified(parameters);\r\n return cellModified && parameters.column.setCellValue && (this.getEditMode() !== EDIT_MODE_ROW || !parameters.row.isEditing)\r\n }\r\n}\r\nexport var editingModule = {\r\n defaultOptions: () => ({\r\n editing: {\r\n mode: \"row\",\r\n refreshMode: \"full\",\r\n newRowPosition: VIEWPORT_TOP_NEW_ROW_POSITION,\r\n allowAdding: false,\r\n allowUpdating: false,\r\n allowDeleting: false,\r\n useIcons: false,\r\n selectTextOnEditStart: false,\r\n confirmDelete: true,\r\n texts: {\r\n editRow: messageLocalization.format(\"dxDataGrid-editingEditRow\"),\r\n saveAllChanges: messageLocalization.format(\"dxDataGrid-editingSaveAllChanges\"),\r\n saveRowChanges: messageLocalization.format(\"dxDataGrid-editingSaveRowChanges\"),\r\n cancelAllChanges: messageLocalization.format(\"dxDataGrid-editingCancelAllChanges\"),\r\n cancelRowChanges: messageLocalization.format(\"dxDataGrid-editingCancelRowChanges\"),\r\n addRow: messageLocalization.format(\"dxDataGrid-editingAddRow\"),\r\n deleteRow: messageLocalization.format(\"dxDataGrid-editingDeleteRow\"),\r\n undeleteRow: messageLocalization.format(\"dxDataGrid-editingUndeleteRow\"),\r\n confirmDeleteMessage: messageLocalization.format(\"dxDataGrid-editingConfirmDeleteMessage\"),\r\n confirmDeleteTitle: \"\"\r\n },\r\n form: {\r\n colCount: 2\r\n },\r\n popup: {},\r\n startEditAction: \"click\",\r\n editRowKey: null,\r\n editColumnName: null,\r\n changes: []\r\n },\r\n useLegacyColumnButtonTemplate: false\r\n }),\r\n controllers: {\r\n editing: EditingControllerImpl\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n init() {\r\n this._editingController = this.getController(\"editing\");\r\n this.callBase()\r\n },\r\n reload(full, repaintChangesOnly) {\r\n !repaintChangesOnly && this._editingController.refresh();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n repaintRows() {\r\n if (this.getController(\"editing\").isSaving()) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateEditRow(items) {\r\n var _a;\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = gridCoreUtils.getIndexByKey(editRowKey, items);\r\n var editItem = items[editRowIndex];\r\n if (editItem) {\r\n editItem.isEditing = true;\r\n null === (_a = this._updateEditItem) || void 0 === _a ? void 0 : _a.call(this, editItem)\r\n }\r\n },\r\n _updateItemsCore(change) {\r\n this.callBase(change);\r\n this._updateEditRow(this.items(true))\r\n },\r\n _applyChangeUpdate(change) {\r\n this._updateEditRow(change.items);\r\n this.callBase(change)\r\n },\r\n _applyChangesOnly(change) {\r\n this._updateEditRow(change.items);\r\n this.callBase(change)\r\n },\r\n _processItems(items, change) {\r\n items = this._editingController.processItems(items, change);\r\n return this.callBase(items, change)\r\n },\r\n _processDataItem(dataItem, options) {\r\n this._editingController.processDataItem(dataItem, options, this.generateDataValues);\r\n return this.callBase(dataItem, options)\r\n },\r\n _processItem(item, options) {\r\n item = this.callBase(item, options);\r\n if (item.isNewRow) {\r\n options.dataIndex--;\r\n delete item.dataIndex\r\n }\r\n return item\r\n },\r\n _getChangedColumnIndices(oldItem, newItem, rowIndex, isLiveUpdate) {\r\n if (oldItem.isNewRow !== newItem.isNewRow || oldItem.removed !== newItem.removed) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var editingController = this.getController(\"editing\");\r\n var cell = oldRow.cells && oldRow.cells[columnIndex];\r\n var isEditing = editingController && editingController.isEditCell(visibleRowIndex, columnIndex);\r\n if (isLiveUpdate && isEditing) {\r\n return false\r\n }\r\n if (cell && cell.column && !cell.column.showEditorAlways && cell.isEditing !== isEditing) {\r\n return true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n needToRefreshOnDataSourceChange(args) {\r\n var editingController = this.getController(\"editing\");\r\n var isParasiteChange = Array.isArray(args.value) && args.value === args.previousValue && editingController.isSaving();\r\n return !isParasiteChange\r\n },\r\n _handleDataSourceChange(args) {\r\n var result = this.callBase(args);\r\n var changes = this.option(\"editing.changes\");\r\n var dataSource = args.value;\r\n if (Array.isArray(dataSource) && changes.length) {\r\n var dataSourceKeys = dataSource.map(item => this.keyOf(item));\r\n var newChanges = changes.filter(change => \"insert\" === change.type || dataSourceKeys.some(key => equalByValue(change.key, key)));\r\n if (newChanges.length !== changes.length) {\r\n this.option(\"editing.changes\", newChanges)\r\n }\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n var isEditNewItem = newChanges.some(change => \"insert\" === change.type && equalByValue(editRowKey, change.key));\r\n if (!isEditNewItem && dataSourceKeys.every(key => !equalByValue(editRowKey, key))) {\r\n this.option(\"editing.editRowKey\", null)\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n init() {\r\n this.callBase();\r\n this._editingController = this.getController(\"editing\")\r\n },\r\n getCellIndex($cell, rowIndex) {\r\n if (!$cell.is(\"td\") && rowIndex >= 0) {\r\n var $cellElements = this.getCellElements(rowIndex);\r\n var cellIndex = -1;\r\n each($cellElements, (index, cellElement) => {\r\n if ($(cellElement).find($cell).length) {\r\n cellIndex = index\r\n }\r\n });\r\n return cellIndex\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n publicMethods() {\r\n return this.callBase().concat([\"cellValue\"])\r\n },\r\n _getCellTemplate(options) {\r\n var template = this._editingController.getColumnTemplate(options);\r\n return template || this.callBase(options)\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var isRowRemoved = !!row.removed;\r\n var isRowInserted = !!row.isNewRow;\r\n var isRowModified = !!row.modified;\r\n isRowInserted && $row.addClass(ROW_INSERTED);\r\n isRowModified && $row.addClass(ROW_MODIFIED);\r\n if (isRowInserted || isRowRemoved) {\r\n $row.removeClass(ROW_SELECTED)\r\n }\r\n }\r\n return $row\r\n },\r\n _getColumnIndexByElement($element) {\r\n var $tableElement = $element.closest(\"table\");\r\n var $tableElements = this.getTableElements();\r\n while ($tableElement.length && !$tableElements.filter($tableElement).length) {\r\n $element = $tableElement.closest(\"td\");\r\n $tableElement = $element.closest(\"table\")\r\n }\r\n return this._getColumnIndexByElementCore($element)\r\n },\r\n _getColumnIndexByElementCore($element) {\r\n var $targetElement = $element.closest(\".\".concat(ROW_CLASS, \"> td:not(.dx-master-detail-cell)\"));\r\n return this.getCellIndex($targetElement)\r\n },\r\n _editCellByClick(e, eventName) {\r\n var editingController = this._editingController;\r\n var $targetElement = $(e.event.target);\r\n var columnIndex = this._getColumnIndexByElement($targetElement);\r\n var row = this._dataController.items()[e.rowIndex];\r\n var allowUpdating = editingController.allowUpdating({\r\n row: row\r\n }, eventName) || row && row.isNewRow;\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n var isEditedCell = editingController.isEditCell(e.rowIndex, columnIndex);\r\n var allowEditing = allowUpdating && column && (column.allowEditing || isEditedCell);\r\n var startEditAction = this.option(\"editing.startEditAction\") || \"click\";\r\n var isShowEditorAlways = column && column.showEditorAlways;\r\n if (isEditedCell) {\r\n return true\r\n }\r\n if (\"down\" === eventName) {\r\n if (devices.real().ios || devices.real().android) {\r\n resetActiveElement()\r\n }\r\n return isShowEditorAlways && allowEditing && editingController.editCell(e.rowIndex, columnIndex)\r\n }\r\n if (\"click\" === eventName && \"dblClick\" === startEditAction) {\r\n var withoutSaveEditData = null === row || void 0 === row ? void 0 : row.isNewRow;\r\n editingController.closeEditCell(false, withoutSaveEditData)\r\n }\r\n if (allowEditing && eventName === startEditAction) {\r\n return editingController.editCell(e.rowIndex, columnIndex) || editingController.isEditRow(e.rowIndex)\r\n }\r\n },\r\n _rowPointerDown(e) {\r\n this._pointerDownTimeout = setTimeout(() => {\r\n this._editCellByClick(e, \"down\")\r\n })\r\n },\r\n _rowClick(e) {\r\n var isEditForm = $(e.rowElement).hasClass(this.addWidgetPrefix(EDIT_FORM_CLASS));\r\n e.event[TARGET_COMPONENT_NAME] = this.component;\r\n if (!this._editCellByClick(e, \"click\") && !isEditForm) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _rowDblClick(e) {\r\n if (!this._editCellByClick(e, \"dblClick\")) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _cellPrepared($cell, parameters) {\r\n var _a;\r\n var editingController = this._editingController;\r\n var isCommandCell = !!parameters.column.command;\r\n var isEditableCell = parameters.setValue;\r\n var isEditRow = editingController.isEditRow(parameters.rowIndex);\r\n var isEditing = isEditingCell(isEditRow, parameters);\r\n if (isEditingOrShowEditorAlwaysDataCell(isEditRow, parameters)) {\r\n var {\r\n alignment: alignment\r\n } = parameters.column;\r\n $cell.toggleClass(this.addWidgetPrefix(READONLY_CLASS), !isEditableCell).toggleClass(CELL_FOCUS_DISABLED_CLASS, !isEditableCell);\r\n if (alignment) {\r\n $cell.find(EDITORS_INPUT_SELECTOR).first().css(\"textAlign\", alignment)\r\n }\r\n }\r\n if (isEditing) {\r\n this._editCellPrepared($cell)\r\n }\r\n var hasTemplate = !!(null === (_a = parameters.column) || void 0 === _a ? void 0 : _a.cellTemplate);\r\n if (parameters.column && !isCommandCell && (!hasTemplate || editingController.shouldHighlightCell(parameters))) {\r\n editingController.highlightDataCell($cell, parameters)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _editCellPrepared: noop,\r\n _formItemPrepared: noop,\r\n _getCellOptions(options) {\r\n var cellOptions = this.callBase(options);\r\n cellOptions.isEditing = this._editingController.isEditCell(cellOptions.rowIndex, cellOptions.columnIndex);\r\n return cellOptions\r\n },\r\n _createCell(options) {\r\n var $cell = this.callBase(options);\r\n var isEditRow = this._editingController.isEditRow(options.rowIndex);\r\n isEditingOrShowEditorAlwaysDataCell(isEditRow, options) && $cell.addClass(EDITOR_CELL_CLASS);\r\n return $cell\r\n },\r\n cellValue(rowIndex, columnIdentifier, value, text) {\r\n var cellOptions = this.getCellOptions(rowIndex, columnIdentifier);\r\n if (cellOptions) {\r\n if (void 0 === value) {\r\n return cellOptions.value\r\n }\r\n this._editingController.updateFieldValue(cellOptions, value, text, true)\r\n }\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._pointerDownTimeout)\r\n },\r\n _renderCore() {\r\n this.callBase.apply(this, arguments);\r\n return this.waitAsyncTemplates(true).done(() => {\r\n this._editingController._focusEditorIfNeed()\r\n })\r\n }\r\n },\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n var editButtonItems = this.getController(\"editing\").prepareEditButtons(this);\r\n return editButtonItems.concat(items)\r\n },\r\n optionChanged(args) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n switch (args.name) {\r\n case \"editing\":\r\n var excludedOptions = [EDITING_POPUP_OPTION_NAME, EDITING_CHANGES_OPTION_NAME, EDITING_EDITCOLUMNNAME_OPTION_NAME, EDITING_EDITROWKEY_OPTION_NAME];\r\n var shouldInvalidate = fullName && !excludedOptions.some(optionName => optionName === fullName);\r\n shouldInvalidate && this._invalidate();\r\n this.callBase(args);\r\n break;\r\n case \"useLegacyColumnButtonTemplate\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n isVisible() {\r\n var editingOptions = this.getController(\"editing\").option(\"editing\");\r\n return this.callBase() || (null === editingOptions || void 0 === editingOptions ? void 0 : editingOptions.allowAdding)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_editing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"./module_not_extended/editor_factory\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport {\r\n editingModule\r\n} from \"../../grids/grid_core/editing/m_editing\";\r\nimport gridCore from \"./m_core\";\r\ngridCore.registerModule(\"editing\", extend(true, {}, editingModule, {\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _changeRowExpandCore(key) {\r\n var editingController = this._editingController;\r\n if (Array.isArray(key)) {\r\n editingController && editingController.refresh()\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_row_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n EDIT_FORM_CLASS,\r\n EDIT_MODE_ROW,\r\n EDIT_ROW,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n MODES_WITH_DELAYED_FOCUS,\r\n ROW_SELECTED_CLASS\r\n} from \"./const\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n isRowEditMode() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n }\r\n _afterCancelEditData(rowIndex) {\r\n var dataController = this._dataController;\r\n if (this.isRowBasedEditMode() && rowIndex >= 0) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [rowIndex, rowIndex + 1]\r\n })\r\n } else {\r\n super._afterCancelEditData(rowIndex)\r\n }\r\n }\r\n _isDefaultButtonVisible(button, options) {\r\n var isRowMode = this.isRowBasedEditMode();\r\n var isEditRow = options.row && equalByValue(options.row.key, this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n if (isRowMode) {\r\n switch (button.name) {\r\n case \"edit\":\r\n return !isEditRow && this.allowUpdating(options);\r\n case \"delete\":\r\n return super._isDefaultButtonVisible(button, options) && !isEditRow;\r\n case \"save\":\r\n case \"cancel\":\r\n return isEditRow;\r\n default:\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n }\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n isEditRow(rowIndex) {\r\n return this.isRowBasedEditMode() && this.isEditRowByIndex(rowIndex)\r\n }\r\n _cancelSaving(result) {\r\n if (this.isRowBasedEditMode()) {\r\n if (!this.hasChanges()) {\r\n this._cancelEditDataCore()\r\n }\r\n }\r\n super._cancelSaving(result)\r\n }\r\n _refreshCore(params) {\r\n var {\r\n allowCancelEditing: allowCancelEditing\r\n } = null !== params && void 0 !== params ? params : {};\r\n if (this.isRowBasedEditMode()) {\r\n var hasUpdateChanges = this.getChanges().filter(it => \"update\" === it.type).length > 0;\r\n this.init();\r\n allowCancelEditing && hasUpdateChanges && this._cancelEditDataCore()\r\n }\r\n super._refreshCore(params)\r\n }\r\n _isEditColumnVisible() {\r\n var result = super._isEditColumnVisible();\r\n var editingOptions = this.option(\"editing\");\r\n var isRowEditMode = this.isRowEditMode();\r\n var isVisibleInRowEditMode = editingOptions.allowUpdating || editingOptions.allowAdding;\r\n return result || isRowEditMode && isVisibleInRowEditMode\r\n }\r\n _focusEditorIfNeed() {\r\n var editMode = this.getEditMode();\r\n if (this._needFocusEditor) {\r\n if (MODES_WITH_DELAYED_FOCUS.includes(editMode)) {\r\n var $editingCell = this.getFocusedCellInRow(this._getVisibleEditRowIndex());\r\n this._delayedInputFocus($editingCell, () => {\r\n $editingCell && this.component.focus($editingCell)\r\n })\r\n }\r\n this._needFocusEditor = false\r\n }\r\n }\r\n};\r\nexport var editingRowBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: {\r\n _getChangedColumnIndices(oldItem, newItem, rowIndex, isLiveUpdate) {\r\n var editingController = this.getController(\"editing\");\r\n if (editingController.isRowBasedEditMode() && oldItem.isEditing !== newItem.isEditing) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var editingController = this._editingController;\r\n var isEditRow = editingController.isEditRow(row.rowIndex);\r\n if (isEditRow) {\r\n $row.addClass(EDIT_ROW);\r\n $row.removeClass(ROW_SELECTED_CLASS);\r\n if (\"detail\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(EDIT_FORM_CLASS))\r\n }\r\n }\r\n }\r\n return $row\r\n },\r\n _update(change) {\r\n this.callBase(change);\r\n if (\"updateSelection\" === change.changeType) {\r\n this.getTableElements().children(\"tbody\").children(\".\".concat(EDIT_ROW)).removeClass(ROW_SELECTED_CLASS)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_row_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingRowBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_row_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingRowBased\", editingRowBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_form_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport Button from \"../../../../ui/button\";\r\nimport Form from \"../../../../ui/form\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport {\r\n BUTTON_CLASS,\r\n DATA_EDIT_DATA_INSERT_TYPE,\r\n EDIT_FORM_ITEM_CLASS,\r\n EDIT_MODE_FORM,\r\n EDIT_MODE_POPUP,\r\n EDIT_POPUP_CLASS,\r\n EDIT_POPUP_FORM_CLASS,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITING_FORM_OPTION_NAME,\r\n EDITING_POPUP_OPTION_NAME,\r\n FOCUSABLE_ELEMENT_CLASS,\r\n FOCUSABLE_ELEMENT_SELECTOR,\r\n FORM_BUTTONS_CONTAINER_CLASS\r\n} from \"./const\";\r\nimport {\r\n forEachFormItems,\r\n getEditorType\r\n} from \"./m_editing_utils\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n init() {\r\n this._editForm = null;\r\n this._updateEditFormDeferred = null;\r\n super.init()\r\n }\r\n isFormOrPopupEditMode() {\r\n return this.isPopupEditMode() || this.isFormEditMode()\r\n }\r\n isPopupEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === EDIT_MODE_POPUP\r\n }\r\n isFormEditMode() {\r\n var editMode = this.option(\"editing.mode\");\r\n return editMode === EDIT_MODE_FORM\r\n }\r\n getFirstEditableColumnIndex() {\r\n var firstFormItem = this._firstFormItem;\r\n if (this.isFormEditMode() && firstFormItem) {\r\n var editRowKey = this.option(EDITING_EDITROWKEY_OPTION_NAME);\r\n var editRowIndex = this._dataController.getRowIndexByKey(editRowKey);\r\n var $editFormElements = this._rowsView.getCellElements(editRowIndex);\r\n return this._rowsView._getEditFormEditorVisibleIndex($editFormElements, firstFormItem.column)\r\n }\r\n return super.getFirstEditableColumnIndex()\r\n }\r\n getEditFormRowIndex() {\r\n return this.isFormOrPopupEditMode() ? this._getVisibleEditRowIndex() : super.getEditFormRowIndex()\r\n }\r\n _isEditColumnVisible() {\r\n var result = super._isEditColumnVisible();\r\n var editingOptions = this.option(\"editing\");\r\n return this.isFormOrPopupEditMode() ? editingOptions.allowUpdating || result : result\r\n }\r\n _handleDataChanged(args) {\r\n var _a, _b;\r\n if (this.isPopupEditMode()) {\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n var hasEditRow = null === (_a = null === args || void 0 === args ? void 0 : args.items) || void 0 === _a ? void 0 : _a.some(item => equalByValue(item.key, editRowKey));\r\n var onlyInsertChanges = (null === (_b = args.changeTypes) || void 0 === _b ? void 0 : _b.length) && args.changeTypes.every(item => \"insert\" === item);\r\n if ((\"refresh\" === args.changeType || hasEditRow && args.isOptionChanged) && !onlyInsertChanges) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n super._handleDataChanged(args)\r\n }\r\n getPopupContent() {\r\n var _a;\r\n var popupVisible = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\");\r\n if (this.isPopupEditMode() && popupVisible) {\r\n return this._$popupContent\r\n }\r\n }\r\n _showAddedRow(rowIndex) {\r\n if (this.isPopupEditMode()) {\r\n this._showEditPopup(rowIndex)\r\n } else {\r\n super._showAddedRow(rowIndex)\r\n }\r\n }\r\n _cancelEditDataCore() {\r\n super._cancelEditDataCore();\r\n if (this.isPopupEditMode()) {\r\n this._hideEditPopup()\r\n }\r\n }\r\n _updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue) {\r\n var _a;\r\n var editForm = this._editForm;\r\n if (this.isPopupEditMode()) {\r\n if (this.option(\"repaintChangesOnly\")) {\r\n null === (_a = row.update) || void 0 === _a ? void 0 : _a.call(row, row);\r\n this._rowsView.renderDelayedTemplates()\r\n } else if (editForm) {\r\n this._updateEditFormDeferred = (new Deferred).done(() => editForm.repaint());\r\n if (!this._updateLockCount) {\r\n this._updateEditFormDeferred.resolve()\r\n }\r\n }\r\n } else {\r\n super._updateEditRowCore(row, skipCurrentRow, isCustomSetCellValue)\r\n }\r\n }\r\n _showEditPopup(rowIndex, repaintForm) {\r\n var isMobileDevice = \"desktop\" !== devices.current().deviceType;\r\n var editPopupClass = this.addWidgetPrefix(EDIT_POPUP_CLASS);\r\n var popupOptions = extend({\r\n showTitle: false,\r\n fullScreen: isMobileDevice,\r\n wrapperAttr: {\r\n class: editPopupClass\r\n },\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: this._getSaveButtonConfig()\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: this._getCancelButtonConfig()\r\n }],\r\n contentTemplate: this._getPopupEditFormTemplate(rowIndex)\r\n }, this.option(EDITING_POPUP_OPTION_NAME));\r\n if (!this._editPopup) {\r\n var $popupContainer = $(\"<div>\").appendTo(this.component.$element()).addClass(editPopupClass);\r\n this._editPopup = this._createComponent($popupContainer, Popup);\r\n this._editPopup.on(\"hiding\", this._getEditPopupHiddenHandler());\r\n this._editPopup.on(\"shown\", e => {\r\n var _a;\r\n eventsEngine.trigger(e.component.$content().find(FOCUSABLE_ELEMENT_SELECTOR).not(\".\".concat(FOCUSABLE_ELEMENT_CLASS)).first(), \"focus\");\r\n if (repaintForm) {\r\n null === (_a = this._editForm) || void 0 === _a ? void 0 : _a.repaint()\r\n }\r\n })\r\n }\r\n this._editPopup.option(popupOptions);\r\n this._editPopup.show();\r\n super._showEditPopup(rowIndex, repaintForm)\r\n }\r\n _getPopupEditFormTemplate(rowIndex) {\r\n var row = this.component.getVisibleRows()[rowIndex];\r\n var templateOptions = {\r\n row: row,\r\n values: row.values,\r\n rowType: row.rowType,\r\n key: row.key,\r\n rowIndex: rowIndex\r\n };\r\n this._rowsView._addWatchMethod(templateOptions, row);\r\n return container => {\r\n var formTemplate = this.getEditFormTemplate();\r\n var scrollable = this._createComponent($(\"<div>\").appendTo(container), Scrollable);\r\n this._$popupContent = $(scrollable.content());\r\n formTemplate(this._$popupContent, templateOptions, {\r\n isPopupForm: true\r\n });\r\n this._rowsView.renderDelayedTemplates()\r\n }\r\n }\r\n _repaintEditPopup() {\r\n var _a, _b;\r\n var rowIndex = this._getVisibleEditRowIndex();\r\n if (rowIndex >= 0) {\r\n var defaultAnimation = null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"animation\");\r\n null === (_b = this._editPopup) || void 0 === _b ? void 0 : _b.option(\"animation\", null);\r\n this._showEditPopup(rowIndex, true);\r\n if (void 0 !== defaultAnimation) {\r\n this._editPopup.option(\"animation\", defaultAnimation)\r\n }\r\n }\r\n }\r\n _hideEditPopup() {\r\n var _a;\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\", false)\r\n }\r\n optionChanged(args) {\r\n if (\"editing\" === args.name && this.isFormOrPopupEditMode()) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (0 === fullName.indexOf(EDITING_FORM_OPTION_NAME)) {\r\n this._handleFormOptionChange(args);\r\n args.handled = true\r\n } else if (0 === fullName.indexOf(EDITING_POPUP_OPTION_NAME)) {\r\n this._handlePopupOptionChange(args);\r\n args.handled = true\r\n }\r\n }\r\n super.optionChanged(args)\r\n }\r\n _handleFormOptionChange(args) {\r\n var _a;\r\n if (this.isFormEditMode()) {\r\n var editRowIndex = this._getVisibleEditRowIndex();\r\n if (editRowIndex >= 0) {\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [editRowIndex]\r\n })\r\n }\r\n } else if ((null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.option(\"visible\")) && 0 === args.fullName.indexOf(EDITING_FORM_OPTION_NAME)) {\r\n this._repaintEditPopup()\r\n }\r\n }\r\n _handlePopupOptionChange(args) {\r\n var editPopup = this._editPopup;\r\n if (editPopup) {\r\n var popupOptionName = args.fullName.slice(EDITING_POPUP_OPTION_NAME.length + 1);\r\n if (popupOptionName) {\r\n editPopup.option(popupOptionName, args.value)\r\n } else {\r\n editPopup.option(args.value)\r\n }\r\n }\r\n }\r\n renderFormEditorTemplate(detailCellOptions, item, formTemplateOptions, container, isReadOnly) {\r\n var that = this;\r\n var $container = $(container);\r\n var {\r\n column: column\r\n } = item;\r\n var editorType = getEditorType(item);\r\n var rowData = null === detailCellOptions || void 0 === detailCellOptions ? void 0 : detailCellOptions.row.data;\r\n var form = formTemplateOptions.component;\r\n var {\r\n label: label,\r\n labelMark: labelMark,\r\n labelMode: labelMode\r\n } = formTemplateOptions.editorOptions || {};\r\n var cellOptions = extend({}, detailCellOptions, {\r\n data: rowData,\r\n cellElement: null,\r\n isOnForm: true,\r\n item: item,\r\n id: form.getItemID(item.name || item.dataField),\r\n column: extend({}, column, {\r\n editorType: editorType,\r\n editorOptions: extend({\r\n label: label,\r\n labelMark: labelMark,\r\n labelMode: labelMode\r\n }, column.editorOptions, item.editorOptions)\r\n }),\r\n columnIndex: column.index,\r\n setValue: !isReadOnly && column.allowEditing && function(value, text) {\r\n that.updateFieldValue(cellOptions, value, text)\r\n }\r\n });\r\n cellOptions.value = column.calculateCellValue(rowData);\r\n var template = this._getFormEditItemTemplate.bind(this)(cellOptions, column);\r\n this._rowsView.renderTemplate($container, template, cellOptions, !!isElementInDom($container)).done(() => {\r\n this._rowsView._updateCell($container, cellOptions)\r\n });\r\n return cellOptions\r\n }\r\n getFormEditorTemplate(cellOptions, item) {\r\n var column = this.component.columnOption(item.dataField);\r\n return (options, container) => {\r\n var _a, _b;\r\n var $container = $(container);\r\n null === (_b = (_a = cellOptions.row).watch) || void 0 === _b ? void 0 : _b.call(_a, () => column.selector(cellOptions.row.data), () => {\r\n var $editorElement = $container.find(\".dx-widget\").first();\r\n var validator = $editorElement.data(\"dxValidator\");\r\n var validatorOptions = null === validator || void 0 === validator ? void 0 : validator.option();\r\n $container.contents().remove();\r\n cellOptions = this.renderFormEditorTemplate.bind(this)(cellOptions, item, options, $container);\r\n $editorElement = $container.find(\".dx-widget\").first();\r\n validator = $editorElement.data(\"dxValidator\");\r\n if (validatorOptions && !validator) {\r\n $editorElement.dxValidator({\r\n validationRules: validatorOptions.validationRules,\r\n validationGroup: validatorOptions.validationGroup,\r\n dataGetter: validatorOptions.dataGetter\r\n })\r\n }\r\n });\r\n cellOptions = this.renderFormEditorTemplate.bind(this)(cellOptions, item, options, $container)\r\n }\r\n }\r\n getEditFormOptions(detailOptions) {\r\n var _b;\r\n var editFormOptions = null === (_b = this._getValidationGroupsInForm) || void 0 === _b ? void 0 : _b.call(this, detailOptions);\r\n var userCustomizeItem = this.option(\"editing.form.customizeItem\");\r\n var editFormItemClass = this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS);\r\n var items = this.option(\"editing.form.items\");\r\n var isCustomEditorType = {};\r\n if (!items) {\r\n var columns = this.getController(\"columns\").getColumns();\r\n items = [];\r\n each(columns, (_, column) => {\r\n if (!column.isBand && !column.type) {\r\n items.push({\r\n column: column,\r\n name: column.name,\r\n dataField: column.dataField\r\n })\r\n }\r\n })\r\n } else {\r\n forEachFormItems(items, item => {\r\n var itemId = (null === item || void 0 === item ? void 0 : item.name) || (null === item || void 0 === item ? void 0 : item.dataField);\r\n if (itemId) {\r\n isCustomEditorType[itemId] = !!item.editorType\r\n }\r\n })\r\n }\r\n return extend({}, editFormOptions, {\r\n items: items,\r\n formID: \"dx-\".concat(new Guid),\r\n customizeItem: item => {\r\n var column;\r\n var itemId = item.name || item.dataField;\r\n if (item.column || itemId) {\r\n column = item.column || this._columnsController.columnOption(item.name ? \"name:\".concat(item.name) : \"dataField:\".concat(item.dataField))\r\n }\r\n if (column) {\r\n item.label = item.label || {};\r\n item.label.text = item.label.text || column.caption;\r\n if (\"boolean\" === column.dataType && void 0 === item.label.visible) {\r\n var labelMode = this.option(\"editing.form.labelMode\");\r\n if (\"floating\" === labelMode || \"static\" === labelMode) {\r\n item.label.visible = true\r\n }\r\n }\r\n item.template = item.template || this.getFormEditorTemplate(detailOptions, item);\r\n item.column = column;\r\n item.isCustomEditorType = isCustomEditorType[itemId];\r\n if (column.formItem) {\r\n extend(item, column.formItem)\r\n }\r\n if (void 0 === item.isRequired && column.validationRules) {\r\n item.isRequired = column.validationRules.some(rule => \"required\" === rule.type);\r\n item.validationRules = []\r\n }\r\n var itemVisible = isDefined(item.visible) ? item.visible : true;\r\n if (!this._firstFormItem && itemVisible) {\r\n this._firstFormItem = item\r\n }\r\n }\r\n null === userCustomizeItem || void 0 === userCustomizeItem ? void 0 : userCustomizeItem.call(this, item);\r\n item.cssClass = isString(item.cssClass) ? \"\".concat(item.cssClass, \" \").concat(editFormItemClass) : editFormItemClass\r\n }\r\n })\r\n }\r\n getEditFormTemplate() {\r\n return ($container, detailOptions, options) => {\r\n var editFormOptions = this.option(EDITING_FORM_OPTION_NAME);\r\n var baseEditFormOptions = this.getEditFormOptions(detailOptions);\r\n var $formContainer = $(\"<div>\").appendTo($container);\r\n var isPopupForm = null === options || void 0 === options ? void 0 : options.isPopupForm;\r\n this._firstFormItem = void 0;\r\n if (isPopupForm) {\r\n $formContainer.addClass(this.addWidgetPrefix(EDIT_POPUP_FORM_CLASS))\r\n }\r\n this._editForm = this._createComponent($formContainer, Form, extend({}, editFormOptions, baseEditFormOptions));\r\n if (!isPopupForm) {\r\n var $buttonsContainer = $(\"<div>\").addClass(this.addWidgetPrefix(FORM_BUTTONS_CONTAINER_CLASS)).appendTo($container);\r\n this._createComponent($(\"<div>\").appendTo($buttonsContainer), Button, this._getSaveButtonConfig());\r\n this._createComponent($(\"<div>\").appendTo($buttonsContainer), Button, this._getCancelButtonConfig())\r\n }\r\n this._editForm.on(\"contentReady\", () => {\r\n var _a;\r\n this._rowsView.renderDelayedTemplates();\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.repaint()\r\n })\r\n }\r\n }\r\n getEditForm() {\r\n return this._editForm\r\n }\r\n _endUpdateCore() {\r\n var _a;\r\n null === (_a = this._updateEditFormDeferred) || void 0 === _a ? void 0 : _a.resolve()\r\n }\r\n _beforeEndSaving(changes) {\r\n var _a;\r\n super._beforeEndSaving(changes);\r\n if (this.isPopupEditMode()) {\r\n null === (_a = this._editPopup) || void 0 === _a ? void 0 : _a.hide()\r\n }\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n type: type\r\n } = change;\r\n if (this.isPopupEditMode() && type === DATA_EDIT_DATA_INSERT_TYPE) {\r\n item.visible = false\r\n }\r\n super._processDataItemCore(item, change, key, columns, generateDataValues)\r\n }\r\n _editRowFromOptionChangedCore(rowIndices, rowIndex) {\r\n var isPopupEditMode = this.isPopupEditMode();\r\n super._editRowFromOptionChangedCore(rowIndices, rowIndex, isPopupEditMode);\r\n if (isPopupEditMode) {\r\n this._showEditPopup(rowIndex)\r\n }\r\n }\r\n};\r\nexport var editingFormBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender,\r\n data: {\r\n _updateEditItem(item) {\r\n if (this._editingController.isFormEditMode()) {\r\n item.rowType = \"detail\"\r\n }\r\n },\r\n _getChangedColumnIndices(oldItem, newItem, visibleRowIndex, isLiveUpdate) {\r\n if (false === isLiveUpdate && newItem.isEditing && this._editingController.isFormEditMode()) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _renderCellContent($cell, options) {\r\n if (\"data\" === options.rowType && this._editingController.isPopupEditMode() && false === options.row.visible) {\r\n return\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n getCellElements(rowIndex) {\r\n var $cellElements = this.callBase(rowIndex);\r\n var editingController = this._editingController;\r\n var editForm = editingController.getEditForm();\r\n var editFormRowIndex = editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && $cellElements && editForm) {\r\n return editForm.$element().find(\".\".concat(this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS), \", .\").concat(BUTTON_CLASS))\r\n }\r\n return $cellElements\r\n },\r\n _getVisibleColumnIndex($cells, rowIndex, columnIdentifier) {\r\n var editFormRowIndex = this._editingController.getEditFormRowIndex();\r\n if (editFormRowIndex === rowIndex && isString(columnIdentifier)) {\r\n var column = this._columnsController.columnOption(columnIdentifier);\r\n return this._getEditFormEditorVisibleIndex($cells, column)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getEditFormEditorVisibleIndex($cells, column) {\r\n var visibleIndex = -1;\r\n each($cells, (index, cellElement) => {\r\n var item = $(cellElement).find(\".dx-field-item-content\").data(\"dx-form-item\");\r\n if ((null === item || void 0 === item ? void 0 : item.column) && column && item.column.index === column.index) {\r\n visibleIndex = index;\r\n return false\r\n }\r\n });\r\n return visibleIndex\r\n },\r\n _isFormItem(parameters) {\r\n var isDetailRow = \"detail\" === parameters.rowType || \"detailAdaptive\" === parameters.rowType;\r\n var isPopupEditing = \"data\" === parameters.rowType && this._editingController.isPopupEditMode();\r\n return (isDetailRow || isPopupEditing) && parameters.item\r\n },\r\n _updateCell($cell, parameters) {\r\n if (this._isFormItem(parameters)) {\r\n this._formItemPrepared(parameters, $cell)\r\n } else {\r\n this.callBase($cell, parameters)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_form_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingFormBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_form_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingFormBased\", editingFormBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/editing/m_editing_cell_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n deferRender\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport holdEvent from \"../../../../events/hold\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport {\r\n ADD_ROW_BUTTON_CLASS,\r\n CELL_MODIFIED_CLASS,\r\n DATA_EDIT_DATA_REMOVE_TYPE,\r\n DATA_ROW_CLASS,\r\n DROPDOWN_EDITOR_OVERLAY_CLASS,\r\n EDIT_MODE_BATCH,\r\n EDIT_MODE_CELL,\r\n EDITING_EDITCOLUMNNAME_OPTION_NAME,\r\n EDITING_EDITROWKEY_OPTION_NAME,\r\n EDITOR_CELL_CLASS,\r\n FOCUS_OVERLAY_CLASS,\r\n ROW_CLASS,\r\n ROW_REMOVED,\r\n TARGET_COMPONENT_NAME\r\n} from \"./const\";\r\nimport {\r\n isEditable\r\n} from \"./m_editing_utils\";\r\nvar editingControllerExtender = Base => class extends Base {\r\n init() {\r\n var needCreateHandlers = !this._saveEditorHandler;\r\n super.init();\r\n if (needCreateHandlers) {\r\n var $pointerDownTarget;\r\n var isResizing;\r\n this._pointerUpEditorHandler = () => {\r\n var _a;\r\n isResizing = null === (_a = this.getController(\"columnsResizer\")) || void 0 === _a ? void 0 : _a.isResizing()\r\n };\r\n this._pointerDownEditorHandler = e => $pointerDownTarget = $(e.target);\r\n this._saveEditorHandler = this.createAction((function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n var $target = $(event.target);\r\n var targetComponent = event[TARGET_COMPONENT_NAME];\r\n var {\r\n component: component\r\n } = this;\r\n if (isEditable($pointerDownTarget) && !$pointerDownTarget.is($target)) {\r\n return\r\n }\r\n\r\n function checkEditorPopup($element) {\r\n if (!$element) {\r\n return false\r\n }\r\n var $dropDownEditorOverlay = $element.closest(\".\".concat(DROPDOWN_EDITOR_OVERLAY_CLASS));\r\n var $componentElement = component.$element();\r\n return $dropDownEditorOverlay.length > 0 && 0 === $componentElement.closest($dropDownEditorOverlay).length\r\n }\r\n if (this.isCellOrBatchEditMode() && !this._editCellInProgress) {\r\n var isEditorPopup = checkEditorPopup($target) || checkEditorPopup(null === targetComponent || void 0 === targetComponent ? void 0 : targetComponent.$element());\r\n var isAnotherComponent = targetComponent && !targetComponent._disposed && targetComponent !== this.component;\r\n var isAddRowButton = !!$target.closest(\".\".concat(this.addWidgetPrefix(ADD_ROW_BUTTON_CLASS))).length;\r\n var isFocusOverlay = $target.hasClass(this.addWidgetPrefix(FOCUS_OVERLAY_CLASS));\r\n var isCellEditMode = this.isCellEditMode();\r\n if (!isResizing && !isEditorPopup && !isFocusOverlay && !(isAddRowButton && isCellEditMode && this.isEditing()) && (isElementInDom($target) || isAnotherComponent)) {\r\n this._closeEditItem.bind(this)($target)\r\n }\r\n }\r\n }));\r\n eventsEngine.on(domAdapter.getDocument(), pointerEvents.up, this._pointerUpEditorHandler);\r\n eventsEngine.on(domAdapter.getDocument(), pointerEvents.down, this._pointerDownEditorHandler);\r\n eventsEngine.on(domAdapter.getDocument(), clickEventName, this._saveEditorHandler)\r\n }\r\n }\r\n isCellEditMode() {\r\n return this.option(\"editing.mode\") === EDIT_MODE_CELL\r\n }\r\n isBatchEditMode() {\r\n return this.option(\"editing.mode\") === EDIT_MODE_BATCH\r\n }\r\n isCellOrBatchEditMode() {\r\n return this.isCellEditMode() || this.isBatchEditMode()\r\n }\r\n _needToCloseEditableCell($targetElement) {\r\n var _a;\r\n var $element = this.component.$element();\r\n var result = this.isEditing();\r\n var isCurrentComponentElement = !$element || !!$targetElement.closest($element).length;\r\n if (isCurrentComponentElement) {\r\n var isDataRow = $targetElement.closest(\".\".concat(DATA_ROW_CLASS)).length;\r\n if (isDataRow) {\r\n var rowsView = this.getView(\"rowsView\");\r\n var $targetCell = $targetElement.closest(\".\".concat(ROW_CLASS, \"> td\"));\r\n var rowIndex = rowsView.getRowIndex($targetCell.parent());\r\n var cellElements = rowsView.getCellElements(rowIndex);\r\n if (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length) {\r\n var columnIndex = cellElements.index($targetCell);\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var allowEditing = null === (_a = visibleColumns[columnIndex]) || void 0 === _a ? void 0 : _a.allowEditing;\r\n var isEditingCell = this.isEditCell(rowIndex, columnIndex);\r\n result = result && !allowEditing && !isEditingCell\r\n }\r\n }\r\n }\r\n return result || super._needToCloseEditableCell($targetElement)\r\n }\r\n _closeEditItem($targetElement) {\r\n if (this._needToCloseEditableCell($targetElement)) {\r\n this.closeEditCell()\r\n }\r\n }\r\n _focusEditorIfNeed() {\r\n var _a;\r\n if (this._needFocusEditor && this.isCellOrBatchEditMode()) {\r\n var editColumnIndex = this._getVisibleEditColumnIndex();\r\n var $cell = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a._getCellElement(this._getVisibleEditRowIndex(), editColumnIndex);\r\n if ($cell && !$cell.find(\":focus\").length) {\r\n this._focusEditingCell(() => {\r\n this._editCellInProgress = false\r\n }, $cell, true)\r\n } else {\r\n this._editCellInProgress = false\r\n }\r\n this._needFocusEditor = false\r\n } else {\r\n super._focusEditorIfNeed()\r\n }\r\n }\r\n isEditing() {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isEditRowKeyDefined = isDefined(this.option(EDITING_EDITROWKEY_OPTION_NAME));\r\n var isEditColumnNameDefined = isDefined(this.option(EDITING_EDITCOLUMNNAME_OPTION_NAME));\r\n return isEditRowKeyDefined && isEditColumnNameDefined\r\n }\r\n return super.isEditing()\r\n }\r\n _handleEditColumnNameChange(args) {\r\n var oldRowIndex = this._getVisibleEditRowIndex(args.previousValue);\r\n if (this.isCellOrBatchEditMode() && -1 !== oldRowIndex && isDefined(args.value) && args.value !== args.previousValue) {\r\n var columnIndex = this._columnsController.getVisibleColumnIndex(args.value);\r\n var oldColumnIndex = this._columnsController.getVisibleColumnIndex(args.previousValue);\r\n this._editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex)\r\n }\r\n }\r\n _addRow(parentKey) {\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n var deferred = new Deferred;\r\n this.saveEditData().done(() => {\r\n if (!this.hasChanges()) {\r\n this.addRow(parentKey).done(deferred.resolve).fail(deferred.reject)\r\n } else {\r\n deferred.reject(\"cancel\")\r\n }\r\n });\r\n return deferred.promise()\r\n }\r\n return super._addRow(parentKey)\r\n }\r\n editCell(rowIndex, columnIndex) {\r\n return this._editCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n }\r\n _editCell(options) {\r\n var d = new Deferred;\r\n var coreResult;\r\n this.executeOperation(d, () => {\r\n coreResult = this._editCellCore(options);\r\n when(coreResult).done(d.resolve).fail(d.reject)\r\n });\r\n return void 0 !== coreResult ? coreResult : d.promise()\r\n }\r\n _editCellCore(options) {\r\n var dataController = this._dataController;\r\n var isEditByOptionChanged = isDefined(options.oldColumnIndex) || isDefined(options.oldRowIndex);\r\n var {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n column: column,\r\n item: item\r\n } = this._getNormalizedEditCellOptions(options);\r\n var params = {\r\n data: null === item || void 0 === item ? void 0 : item.data,\r\n cancel: false,\r\n column: column\r\n };\r\n if (void 0 === item.key) {\r\n this._dataController.fireError(\"E1043\");\r\n return\r\n }\r\n if (column && (\"data\" === item.rowType || \"detailAdaptive\" === item.rowType) && !item.removed && this.isCellOrBatchEditMode()) {\r\n if (!isEditByOptionChanged && this.isEditCell(rowIndex, columnIndex)) {\r\n return true\r\n }\r\n var editRowIndex = rowIndex + dataController.getRowIndexOffset();\r\n return when(this._beforeEditCell(rowIndex, columnIndex, item)).done(cancel => {\r\n if (cancel) {\r\n return\r\n }\r\n if (!this._prepareEditCell(params, item, columnIndex, editRowIndex)) {\r\n this._processCanceledEditingCell()\r\n }\r\n })\r\n }\r\n return false\r\n }\r\n _beforeEditCell(rowIndex, columnIndex, item) {\r\n if (this.isCellEditMode() && !item.isNewRow && this.hasChanges()) {\r\n var d = new Deferred;\r\n this.saveEditData().always(() => {\r\n d.resolve(this.hasChanges())\r\n });\r\n return d\r\n }\r\n }\r\n publicMethods() {\r\n var publicMethods = super.publicMethods();\r\n return publicMethods.concat([\"editCell\", \"closeEditCell\"])\r\n }\r\n _getNormalizedEditCellOptions(_ref) {\r\n var {\r\n oldColumnIndex: oldColumnIndex,\r\n oldRowIndex: oldRowIndex,\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n } = _ref;\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var items = this._dataController.items();\r\n var item = items[rowIndex];\r\n var oldColumn;\r\n if (isDefined(oldColumnIndex)) {\r\n oldColumn = visibleColumns[oldColumnIndex]\r\n } else {\r\n oldColumn = this._getEditColumn()\r\n }\r\n if (!isDefined(oldRowIndex)) {\r\n oldRowIndex = this._getVisibleEditRowIndex()\r\n }\r\n if (isString(columnIndex)) {\r\n columnIndex = columnsController.columnOption(columnIndex, \"index\");\r\n columnIndex = columnsController.getVisibleIndex(columnIndex)\r\n }\r\n var column = visibleColumns[columnIndex];\r\n return {\r\n oldColumn: oldColumn,\r\n columnIndex: columnIndex,\r\n oldRowIndex: oldRowIndex,\r\n rowIndex: rowIndex,\r\n column: column,\r\n item: item\r\n }\r\n }\r\n _prepareEditCell(params, item, editColumnIndex, editRowIndex) {\r\n var _a;\r\n if (!item.isNewRow) {\r\n params.key = item.key\r\n }\r\n if (this._isEditingStart(params)) {\r\n return false\r\n }\r\n this._pageIndex = this._dataController.pageIndex();\r\n this._setEditRowKey(item.key);\r\n this._setEditColumnNameByIndex(editColumnIndex);\r\n if (!params.column.showEditorAlways) {\r\n this._addInternalData({\r\n key: item.key,\r\n oldData: null !== (_a = item.oldData) && void 0 !== _a ? _a : item.data\r\n })\r\n }\r\n return true\r\n }\r\n closeEditCell(isError, withoutSaveEditData) {\r\n var result = when();\r\n var oldEditRowIndex = this._getVisibleEditRowIndex();\r\n if (this.isCellOrBatchEditMode()) {\r\n var deferred = new Deferred;\r\n result = new Deferred;\r\n this.executeOperation(deferred, () => {\r\n this._closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData).always(result.resolve)\r\n })\r\n }\r\n return result.promise()\r\n }\r\n _closeEditCellCore(isError, oldEditRowIndex, withoutSaveEditData) {\r\n var dataController = this._dataController;\r\n var deferred = new Deferred;\r\n var promise = deferred.promise();\r\n if (this.isCellEditMode() && this.hasChanges()) {\r\n if (!withoutSaveEditData) {\r\n this.saveEditData().done(error => {\r\n if (!this.hasChanges()) {\r\n this.closeEditCell(!!error).always(deferred.resolve);\r\n return\r\n }\r\n deferred.resolve()\r\n });\r\n return promise\r\n }\r\n } else {\r\n this._resetEditRowKey();\r\n this._resetEditColumnName();\r\n if (oldEditRowIndex >= 0) {\r\n var rowIndices = [oldEditRowIndex];\r\n this._beforeCloseEditCellInBatchMode(rowIndices);\r\n if (!isError) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: rowIndices\r\n })\r\n }\r\n }\r\n }\r\n deferred.resolve();\r\n return promise\r\n }\r\n _resetModifiedClassCells(changes) {\r\n if (this.isBatchEditMode()) {\r\n var columnsCount = this._columnsController.getVisibleColumns().length;\r\n changes.forEach(_ref2 => {\r\n var {\r\n key: key\r\n } = _ref2;\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n for (var columnIndex = 0; columnIndex < columnsCount; columnIndex++) {\r\n var cellElement = this._rowsView._getCellElement(rowIndex, columnIndex);\r\n null === cellElement || void 0 === cellElement ? void 0 : cellElement.removeClass(CELL_MODIFIED_CLASS)\r\n }\r\n })\r\n }\r\n }\r\n _prepareChange(options, value, text) {\r\n var $cellElement = $(options.cellElement);\r\n if (this.isBatchEditMode() && void 0 !== options.key) {\r\n this._applyModified($cellElement, options)\r\n }\r\n return super._prepareChange(options, value, text)\r\n }\r\n _cancelSaving(result) {\r\n var dataController = this._dataController;\r\n if (this.isCellOrBatchEditMode()) {\r\n if (this.isBatchEditMode()) {\r\n this._resetEditIndices()\r\n }\r\n dataController.updateItems()\r\n }\r\n super._cancelSaving(result)\r\n }\r\n optionChanged(args) {\r\n var {\r\n fullName: fullName\r\n } = args;\r\n if (\"editing\" === args.name && fullName === EDITING_EDITCOLUMNNAME_OPTION_NAME) {\r\n this._handleEditColumnNameChange(args);\r\n args.handled = true\r\n } else {\r\n super.optionChanged(args)\r\n }\r\n }\r\n _editCellFromOptionChanged(columnIndex, oldColumnIndex, oldRowIndex) {\r\n var columns = this._columnsController.getVisibleColumns();\r\n if (columnIndex > -1) {\r\n deferRender(() => {\r\n this._repaintEditCell(columns[columnIndex], columns[oldColumnIndex], oldRowIndex)\r\n })\r\n }\r\n }\r\n _handleEditRowKeyChange(args) {\r\n var _a;\r\n if (this.isCellOrBatchEditMode()) {\r\n var columnIndex = this._getVisibleEditColumnIndex();\r\n var oldRowIndexCorrection = this._getEditRowIndexCorrection();\r\n var oldRowIndex = this._dataController.getRowIndexByKey(args.previousValue) + oldRowIndexCorrection;\r\n if (isDefined(args.value) && args.value !== args.previousValue) {\r\n null === (_a = this._editCellFromOptionChanged) || void 0 === _a ? void 0 : _a.call(this, columnIndex, columnIndex, oldRowIndex)\r\n }\r\n } else {\r\n super._handleEditRowKeyChange(args)\r\n }\r\n }\r\n deleteRow(rowIndex) {\r\n if (this.isCellEditMode() && this.isEditing()) {\r\n var {\r\n isNewRow: isNewRow\r\n } = this._dataController.items()[rowIndex];\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n this.closeEditCell(null, isNewRow).always(() => {\r\n rowIndex = this._dataController.getRowIndexByKey(rowKey);\r\n this._checkAndDeleteRow(rowIndex)\r\n })\r\n } else {\r\n super.deleteRow(rowIndex)\r\n }\r\n }\r\n _checkAndDeleteRow(rowIndex) {\r\n if (this.isBatchEditMode()) {\r\n this._deleteRowCore(rowIndex)\r\n } else {\r\n super._checkAndDeleteRow(rowIndex)\r\n }\r\n }\r\n _refreshCore(params) {\r\n var {\r\n isPageChanged: isPageChanged\r\n } = null !== params && void 0 !== params ? params : {};\r\n var needResetIndexes = this.isBatchEditMode() || isPageChanged && \"virtual\" !== this.option(\"scrolling.mode\");\r\n if (this.isCellOrBatchEditMode()) {\r\n if (needResetIndexes) {\r\n this._resetEditColumnName();\r\n this._resetEditRowKey()\r\n }\r\n } else {\r\n super._refreshCore(params)\r\n }\r\n }\r\n _allowRowAdding(params) {\r\n if (this.isBatchEditMode()) {\r\n return true\r\n }\r\n return super._allowRowAdding(params)\r\n }\r\n _afterDeleteRow(rowIndex, oldEditRowIndex) {\r\n var dataController = this._dataController;\r\n if (this.isBatchEditMode()) {\r\n dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [oldEditRowIndex, rowIndex]\r\n });\r\n return (new Deferred).resolve()\r\n }\r\n return super._afterDeleteRow(rowIndex, oldEditRowIndex)\r\n }\r\n _updateEditRow(row, forceUpdateRow, isCustomSetCellValue) {\r\n if (this.isCellOrBatchEditMode()) {\r\n this._updateRowImmediately(row, forceUpdateRow, isCustomSetCellValue)\r\n } else {\r\n super._updateEditRow(row, forceUpdateRow, isCustomSetCellValue)\r\n }\r\n }\r\n _isDefaultButtonVisible(button, options) {\r\n if (this.isCellOrBatchEditMode()) {\r\n var isBatchMode = this.isBatchEditMode();\r\n switch (button.name) {\r\n case \"save\":\r\n case \"cancel\":\r\n case \"edit\":\r\n return false;\r\n case \"delete\":\r\n return super._isDefaultButtonVisible(button, options) && (!isBatchMode || !options.row.removed);\r\n case \"undelete\":\r\n return isBatchMode && this.allowDeleting(options) && options.row.removed;\r\n default:\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n }\r\n return super._isDefaultButtonVisible(button, options)\r\n }\r\n _isRowDeleteAllowed() {\r\n var callBaseResult = super._isRowDeleteAllowed();\r\n return callBaseResult || this.isBatchEditMode()\r\n }\r\n _beforeEndSaving(changes) {\r\n var _a;\r\n if (this.isCellEditMode()) {\r\n if (\"update\" !== (null === (_a = changes[0]) || void 0 === _a ? void 0 : _a.type)) {\r\n super._beforeEndSaving(changes)\r\n }\r\n } else {\r\n if (this.isBatchEditMode()) {\r\n this._resetModifiedClassCells(changes)\r\n }\r\n super._beforeEndSaving(changes)\r\n }\r\n }\r\n prepareEditButtons(headerPanel) {\r\n var _a;\r\n var editingOptions = null !== (_a = this.option(\"editing\")) && void 0 !== _a ? _a : {};\r\n var buttonItems = super.prepareEditButtons(headerPanel);\r\n var needEditingButtons = editingOptions.allowUpdating || editingOptions.allowAdding || editingOptions.allowDeleting;\r\n if (needEditingButtons && this.isBatchEditMode()) {\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"save\", \"saveEditData\", 21));\r\n buttonItems.push(this.prepareButtonItem(headerPanel, \"revert\", \"cancelEditData\", 22))\r\n }\r\n return buttonItems\r\n }\r\n _saveEditDataInner() {\r\n var editRow = this._dataController.getVisibleRows()[this.getEditRowIndex()];\r\n var editColumn = this._getEditColumn();\r\n var showEditorAlways = null === editColumn || void 0 === editColumn ? void 0 : editColumn.showEditorAlways;\r\n var isUpdateInCellMode = this.isCellEditMode() && !(null === editRow || void 0 === editRow ? void 0 : editRow.isNewRow);\r\n var deferred;\r\n if (isUpdateInCellMode && showEditorAlways) {\r\n deferred = new Deferred;\r\n this.addDeferred(deferred)\r\n }\r\n return super._saveEditDataInner().always(null === deferred || void 0 === deferred ? void 0 : deferred.resolve)\r\n }\r\n _applyChange(options, params, forceUpdateRow) {\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = options.column;\r\n var isCustomSetCellValue = options.column.setCellValue !== options.column.defaultSetCellValue;\r\n var focusPreviousEditingCell = showEditorAlways && !forceUpdateRow && isUpdateInCellMode && this.hasEditData() && !this.isEditCell(options.rowIndex, options.columnIndex);\r\n if (focusPreviousEditingCell) {\r\n this._focusEditingCell();\r\n this._updateEditRow(options.row, true, isCustomSetCellValue);\r\n return\r\n }\r\n return super._applyChange(options, params, forceUpdateRow)\r\n }\r\n _applyChangeCore(options, forceUpdateRow) {\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = options.column;\r\n var isUpdateInCellMode = this.isCellEditMode() && options.row && !options.row.isNewRow;\r\n if (showEditorAlways && !forceUpdateRow) {\r\n if (isUpdateInCellMode) {\r\n this._setEditRowKey(options.row.key, true);\r\n this._setEditColumnNameByIndex(options.columnIndex, true);\r\n return this.saveEditData()\r\n }\r\n if (this.isBatchEditMode()) {\r\n forceUpdateRow = this._needUpdateRow(options.column);\r\n return super._applyChangeCore(options, forceUpdateRow)\r\n }\r\n }\r\n return super._applyChangeCore(options, forceUpdateRow)\r\n }\r\n _processDataItemCore(item, change, key, columns, generateDataValues) {\r\n var {\r\n data: data,\r\n type: type\r\n } = change;\r\n if (this.isBatchEditMode() && type === DATA_EDIT_DATA_REMOVE_TYPE) {\r\n item.data = createObjectWithChanges(item.data, data)\r\n }\r\n super._processDataItemCore(item, change, key, columns, generateDataValues)\r\n }\r\n _processRemoveCore(changes, editIndex, processIfBatch) {\r\n if (this.isBatchEditMode() && !processIfBatch) {\r\n return\r\n }\r\n return super._processRemoveCore(changes, editIndex, processIfBatch)\r\n }\r\n _processRemoveIfError(changes, editIndex) {\r\n if (this.isBatchEditMode()) {\r\n return\r\n }\r\n return super._processRemoveIfError(changes, editIndex)\r\n }\r\n _beforeFocusElementInRow(rowIndex) {\r\n super._beforeFocusElementInRow(rowIndex);\r\n var editRowIndex = rowIndex >= 0 ? rowIndex : 0;\r\n var columnIndex = this.getFirstEditableColumnIndex();\r\n columnIndex >= 0 && this.editCell(editRowIndex, columnIndex)\r\n }\r\n};\r\nexport var editingCellBasedModule = {\r\n extenders: {\r\n controllers: {\r\n editing: editingControllerExtender\r\n },\r\n views: {\r\n rowsView: {\r\n _createTable() {\r\n var $table = this.callBase.apply(this, arguments);\r\n var editingController = this._editingController;\r\n if (editingController.isCellOrBatchEditMode() && this.option(\"editing.allowUpdating\")) {\r\n eventsEngine.on($table, addNamespace(holdEvent.name, \"dxDataGridRowsView\"), \"td:not(.\".concat(EDITOR_CELL_CLASS, \")\"), this.createAction(() => {\r\n if (editingController.isEditing()) {\r\n editingController.closeEditCell()\r\n }\r\n }))\r\n }\r\n return $table\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row) {\r\n var editingController = this._editingController;\r\n var isRowRemoved = !!row.removed;\r\n if (editingController.isBatchEditMode()) {\r\n isRowRemoved && $row.addClass(ROW_REMOVED)\r\n }\r\n }\r\n return $row\r\n }\r\n },\r\n headerPanel: {\r\n isVisible() {\r\n var editingOptions = this.getController(\"editing\").option(\"editing\");\r\n return this.callBase() || editingOptions && (editingOptions.allowUpdating || editingOptions.allowDeleting) && editingOptions.mode === EDIT_MODE_BATCH\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/editing_cell_based.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n editingCellBasedModule\r\n} from \"../../../grids/grid_core/editing/m_editing_cell_based\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"editingCellBased\", editingCellBasedModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/validating/m_validating.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n deferUpdate,\r\n equalByValue,\r\n getKeyHash\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth,\r\n setHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n encodeHtml\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n createObjectWithChanges\r\n} from \"../../../../data/array_utils\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Button from \"../../../../ui/button\";\r\nimport LoadIndicator from \"../../../../ui/load_indicator\";\r\nimport Overlay from \"../../../../ui/overlay/ui.overlay\";\r\nimport ValidationEngine from \"../../../../ui/validation_engine\";\r\nimport Validator from \"../../../../ui/validator\";\r\nimport {\r\n focused\r\n} from \"../../../../ui/widget/selectors\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar INVALIDATE_CLASS = \"invalid\";\r\nvar REVERT_TOOLTIP_CLASS = \"revert-tooltip\";\r\nvar INVALID_MESSAGE_CLASS = \"dx-invalid-message\";\r\nvar WIDGET_INVALID_MESSAGE_CLASS = \"invalid-message\";\r\nvar INVALID_MESSAGE_ALWAYS_CLASS = \"dx-invalid-message-always\";\r\nvar REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nvar VALIDATOR_CLASS = \"validator\";\r\nvar PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar INSERT_INDEX = \"__DX_INSERT_INDEX__\";\r\nvar PADDING_BETWEEN_TOOLTIPS = 2;\r\nvar EDIT_MODE_ROW = \"row\";\r\nvar EDIT_MODE_FORM = \"form\";\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nvar EDIT_MODE_CELL = \"cell\";\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar FORM_BASED_MODES = [EDIT_MODE_POPUP, EDIT_MODE_FORM];\r\nvar COMMAND_TRANSPARENT = \"transparent\";\r\nvar VALIDATION_STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nvar EDIT_DATA_INSERT_TYPE = \"insert\";\r\nvar EDIT_DATA_REMOVE_TYPE = \"remove\";\r\nvar VALIDATION_CANCELLED = \"cancel\";\r\nvar validationResultIsValid = function(result) {\r\n return isDefined(result) && result !== VALIDATION_CANCELLED\r\n};\r\nvar cellValueShouldBeValidated = function(value, rowOptions) {\r\n return void 0 !== value || void 0 === value && rowOptions && !rowOptions.isNewRow\r\n};\r\nvar ValidatingController = modules.Controller.inherit({\r\n init() {\r\n this._editingController = this.getController(\"editing\");\r\n this.createAction(\"onRowValidating\");\r\n if (!this._validationState) {\r\n this.initValidationState()\r\n }\r\n },\r\n initValidationState() {\r\n this._validationState = [];\r\n this._validationStateCache = {}\r\n },\r\n _rowIsValidated(change) {\r\n var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n return !!validationData && !!validationData.validated\r\n },\r\n _getValidationData(key, create) {\r\n var keyHash = getKeyHash(key);\r\n var isObjectKeyHash = isObject(keyHash);\r\n var validationData;\r\n if (isObjectKeyHash) {\r\n validationData = this._validationState.filter(data => equalByValue(data.key, key))[0]\r\n } else {\r\n validationData = this._validationStateCache[keyHash]\r\n }\r\n if (!validationData && create) {\r\n validationData = {\r\n key: key,\r\n isValid: true\r\n };\r\n this._validationState.push(validationData);\r\n if (!isObjectKeyHash) {\r\n this._validationStateCache[keyHash] = validationData\r\n }\r\n }\r\n return validationData\r\n },\r\n _getBrokenRules(validationData, validationResults) {\r\n var brokenRules;\r\n if (validationResults) {\r\n brokenRules = validationResults.brokenRules || validationResults.brokenRule && [validationResults.brokenRule]\r\n } else {\r\n brokenRules = validationData.brokenRules || []\r\n }\r\n return brokenRules\r\n },\r\n _rowValidating(validationData, validationResults) {\r\n var deferred = new Deferred;\r\n var change = this._editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key);\r\n var brokenRules = this._getBrokenRules(validationData, validationResults);\r\n var isValid = validationResults ? validationResults.isValid : validationData.isValid;\r\n var parameters = {\r\n brokenRules: brokenRules,\r\n isValid: isValid,\r\n key: change.key,\r\n newData: change.data,\r\n oldData: this._editingController._getOldData(change.key),\r\n promise: null,\r\n errorText: this.getHiddenValidatorsErrorText(brokenRules)\r\n };\r\n this.executeAction(\"onRowValidating\", parameters);\r\n when(fromPromise(parameters.promise)).always(() => {\r\n validationData.isValid = parameters.isValid;\r\n validationData.errorText = parameters.errorText;\r\n deferred.resolve(parameters)\r\n });\r\n return deferred.promise()\r\n },\r\n getHiddenValidatorsErrorText(brokenRules) {\r\n var brokenRulesMessages = [];\r\n each(brokenRules, (_, brokenRule) => {\r\n var {\r\n column: column\r\n } = brokenRule;\r\n var isGroupExpandColumn = column && void 0 !== column.groupIndex && !column.showWhenGrouped;\r\n var isVisibleColumn = column && column.visible;\r\n if (!brokenRule.validator.$element().parent().length && (!isVisibleColumn || isGroupExpandColumn)) {\r\n brokenRulesMessages.push(brokenRule.message)\r\n }\r\n });\r\n return brokenRulesMessages.join(\", \")\r\n },\r\n validate(isFull) {\r\n var isValid = true;\r\n var editingController = this._editingController;\r\n var deferred = new Deferred;\r\n var completeList = [];\r\n var editMode = editingController.getEditMode();\r\n isFull = isFull || editMode === EDIT_MODE_ROW;\r\n if (this._isValidationInProgress) {\r\n return deferred.resolve(false).promise()\r\n }\r\n this._isValidationInProgress = true;\r\n if (isFull) {\r\n editingController.addDeferred(deferred);\r\n var changes = editingController.getChanges();\r\n each(changes, (index, _ref) => {\r\n var {\r\n type: type,\r\n key: key\r\n } = _ref;\r\n if (\"remove\" !== type) {\r\n var validationData = this._getValidationData(key, true);\r\n var validationResult = this.validateGroup(validationData);\r\n completeList.push(validationResult);\r\n validationResult.done(validationResult => {\r\n validationData.validated = true;\r\n isValid = isValid && validationResult.isValid\r\n })\r\n }\r\n })\r\n } else if (this._currentCellValidator) {\r\n var validationResult = this.validateGroup(this._currentCellValidator._findGroup());\r\n completeList.push(validationResult);\r\n validationResult.done(validationResult => {\r\n isValid = validationResult.isValid\r\n })\r\n }\r\n when(...completeList).done(() => {\r\n this._isValidationInProgress = false;\r\n deferred.resolve(isValid)\r\n });\r\n return deferred.promise()\r\n },\r\n validateGroup(validationData) {\r\n var result = new Deferred;\r\n var validateGroup = validationData && ValidationEngine.getGroupConfig(validationData);\r\n var validationResult;\r\n if (null === validateGroup || void 0 === validateGroup ? void 0 : validateGroup.validators.length) {\r\n this.resetRowValidationResults(validationData);\r\n validationResult = ValidationEngine.validateGroup(validationData)\r\n }\r\n when((null === validationResult || void 0 === validationResult ? void 0 : validationResult.complete) || validationResult).done(validationResult => {\r\n when(this._rowValidating(validationData, validationResult)).done(result.resolve)\r\n });\r\n return result.promise()\r\n },\r\n isRowDataModified: change => !isEmptyObject(change.data),\r\n updateValidationState(change) {\r\n var editMode = this._editingController.getEditMode();\r\n var {\r\n key: key\r\n } = change;\r\n var validationData = this._getValidationData(key, true);\r\n if (!FORM_BASED_MODES.includes(editMode)) {\r\n if (change.type === EDIT_DATA_INSERT_TYPE && !this.isRowDataModified(change)) {\r\n validationData.isValid = true;\r\n return\r\n }\r\n this.setDisableApplyValidationResults(true);\r\n var groupConfig = ValidationEngine.getGroupConfig(validationData);\r\n if (groupConfig) {\r\n var validationResult = ValidationEngine.validateGroup(validationData);\r\n when(validationResult.complete || validationResult).done(validationResult => {\r\n validationData.isValid = validationResult.isValid;\r\n validationData.brokenRules = validationResult.brokenRules\r\n })\r\n } else if (!validationData.brokenRules || !validationData.brokenRules.length) {\r\n validationData.isValid = true\r\n }\r\n this.setDisableApplyValidationResults(false)\r\n } else {\r\n validationData.isValid = true\r\n }\r\n },\r\n setValidator(validator) {\r\n this._currentCellValidator = validator\r\n },\r\n renderCellPendingIndicator($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if (!$indicator.length) {\r\n var $indicatorContainer = $container;\r\n $indicator = $(\"<div>\").appendTo($indicatorContainer).addClass(PENDING_INDICATOR_CLASS);\r\n this._createComponent($indicator, LoadIndicator);\r\n $container.addClass(VALIDATION_PENDING_CLASS)\r\n }\r\n },\r\n disposeCellPendingIndicator($container) {\r\n var $indicator = $container.find(\".\".concat(PENDING_INDICATOR_CLASS));\r\n if ($indicator.length) {\r\n var indicator = LoadIndicator.getInstance($indicator);\r\n if (indicator) {\r\n indicator.dispose();\r\n indicator.$element().remove()\r\n }\r\n $container.removeClass(VALIDATION_PENDING_CLASS)\r\n }\r\n },\r\n validationStatusChanged(result) {\r\n var {\r\n validator: validator\r\n } = result;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n this.updateCellValidationResult({\r\n rowKey: validationGroup.key,\r\n columnIndex: column.index,\r\n validationResult: result\r\n })\r\n },\r\n validatorInitialized(arg) {\r\n arg.component.on(\"validating\", this.validationStatusChanged.bind(this));\r\n arg.component.on(\"validated\", this.validationStatusChanged.bind(this))\r\n },\r\n validatorDisposing(arg) {\r\n var validator = arg.component;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n var result = this.getCellValidationResult({\r\n rowKey: null === validationGroup || void 0 === validationGroup ? void 0 : validationGroup.key,\r\n columnIndex: column.index\r\n });\r\n if (validationResultIsValid(result) && result.status === VALIDATION_STATUS.pending) {\r\n this.cancelCellValidationResult({\r\n change: validationGroup,\r\n columnIndex: column.index\r\n })\r\n }\r\n },\r\n applyValidationResult($container, result) {\r\n var {\r\n validator: validator\r\n } = result;\r\n var validationGroup = validator.option(\"validationGroup\");\r\n var {\r\n column: column\r\n } = validator.option(\"dataGetter\")();\r\n result.brokenRules && result.brokenRules.forEach(rule => {\r\n rule.columnIndex = column.index;\r\n rule.column = column\r\n });\r\n if ($container) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: validationGroup.key,\r\n columnIndex: column.index\r\n });\r\n var requestIsDisabled = validationResultIsValid(validationResult) && validationResult.disabledPendingId === result.id;\r\n if (this._disableApplyValidationResults || requestIsDisabled) {\r\n return\r\n }\r\n if (result.status === VALIDATION_STATUS.invalid) {\r\n var $focus = $container.find(\":focus\");\r\n if (!focused($focus)) {\r\n eventsEngine.trigger($focus, \"focus\");\r\n eventsEngine.trigger($focus, pointerEvents.down)\r\n }\r\n }\r\n var editor = !column.editCellTemplate && this.getController(\"editorFactory\").getEditorInstance($container);\r\n if (result.status === VALIDATION_STATUS.pending) {\r\n if (editor) {\r\n editor.option(\"validationStatus\", VALIDATION_STATUS.pending)\r\n } else {\r\n this.renderCellPendingIndicator($container)\r\n }\r\n } else if (editor) {\r\n editor.option(\"validationStatus\", VALIDATION_STATUS.valid)\r\n } else {\r\n this.disposeCellPendingIndicator($container)\r\n }\r\n $container.toggleClass(this.addWidgetPrefix(INVALIDATE_CLASS), result.status === VALIDATION_STATUS.invalid)\r\n }\r\n },\r\n _syncInternalEditingData(parameters) {\r\n var _a;\r\n var editingController = this._editingController;\r\n var change = editingController.getChangeByKey(parameters.key);\r\n var oldDataFromState = editingController._getOldData(parameters.key);\r\n var oldData = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData;\r\n if (change && oldData && !oldDataFromState) {\r\n editingController._addInternalData({\r\n key: parameters.key,\r\n oldData: oldData\r\n })\r\n }\r\n },\r\n createValidator(parameters, $container) {\r\n var _a, _b;\r\n var editingController = this._editingController;\r\n var {\r\n column: column\r\n } = parameters;\r\n var {\r\n showEditorAlways: showEditorAlways\r\n } = column;\r\n if (isDefined(column.command) || !column.validationRules || !Array.isArray(column.validationRules) || !column.validationRules.length) {\r\n return\r\n }\r\n var editIndex = editingController.getIndexByKey(parameters.key, editingController.getChanges());\r\n var needCreateValidator = editIndex > -1;\r\n if (!needCreateValidator) {\r\n if (!showEditorAlways) {\r\n var columnsController = this.getController(\"columns\");\r\n var visibleColumns = (null === columnsController || void 0 === columnsController ? void 0 : columnsController.getVisibleColumns()) || [];\r\n showEditorAlways = visibleColumns.some(column => column.showEditorAlways)\r\n }\r\n var isEditRow = equalByValue(this.option(\"editing.editRowKey\"), parameters.key);\r\n var isCellOrBatchEditingAllowed = editingController.isCellOrBatchEditMode() && editingController.allowUpdating({\r\n row: parameters.row\r\n });\r\n needCreateValidator = isEditRow || isCellOrBatchEditingAllowed && showEditorAlways;\r\n if (isCellOrBatchEditingAllowed && showEditorAlways) {\r\n editingController._addInternalData({\r\n key: parameters.key,\r\n oldData: null !== (_b = null === (_a = parameters.row) || void 0 === _a ? void 0 : _a.oldData) && void 0 !== _b ? _b : parameters.data\r\n })\r\n }\r\n }\r\n if (needCreateValidator) {\r\n if ($container && !$container.length) {\r\n errors.log(\"E1050\");\r\n return\r\n }\r\n this._syncInternalEditingData(parameters);\r\n var validationData = this._getValidationData(parameters.key, true);\r\n var getValue = () => {\r\n var change = editingController.getChangeByKey(null === validationData || void 0 === validationData ? void 0 : validationData.key);\r\n var value = column.calculateCellValue((null === change || void 0 === change ? void 0 : change.data) || {});\r\n return void 0 !== value ? value : parameters.value\r\n };\r\n var useDefaultValidator = $container && $container.hasClass(\"dx-widget\");\r\n $container && $container.addClass(this.addWidgetPrefix(VALIDATOR_CLASS));\r\n var validator = new Validator($container || $(\"<div>\"), {\r\n name: column.caption,\r\n validationRules: extend(true, [], column.validationRules),\r\n validationGroup: validationData,\r\n adapter: useDefaultValidator ? null : {\r\n getValue: getValue,\r\n applyValidationResults: result => {\r\n this.applyValidationResult($container, result)\r\n }\r\n },\r\n dataGetter() {\r\n var key = null === validationData || void 0 === validationData ? void 0 : validationData.key;\r\n var change = editingController.getChangeByKey(key);\r\n var oldData = editingController._getOldData(key);\r\n return {\r\n data: createObjectWithChanges(oldData, null === change || void 0 === change ? void 0 : change.data),\r\n column: column\r\n }\r\n },\r\n onInitialized: this.validatorInitialized.bind(this),\r\n onDisposing: this.validatorDisposing.bind(this)\r\n });\r\n if (useDefaultValidator) {\r\n var adapter = validator.option(\"adapter\");\r\n if (adapter) {\r\n var originBypass = adapter.bypass;\r\n var defaultAdapterBypass = () => parameters.row.isNewRow && !this._isValidationInProgress && !editingController.isCellModified(parameters);\r\n adapter.getValue = getValue;\r\n adapter.validationRequestsCallbacks = [];\r\n adapter.bypass = () => originBypass.call(adapter) || defaultAdapterBypass()\r\n }\r\n }\r\n return validator\r\n }\r\n return\r\n },\r\n setDisableApplyValidationResults(flag) {\r\n this._disableApplyValidationResults = flag\r\n },\r\n getDisableApplyValidationResults() {\r\n return this._disableApplyValidationResults\r\n },\r\n isCurrentValidatorProcessing(_ref2) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref2;\r\n return this._currentCellValidator && equalByValue(this._currentCellValidator.option(\"validationGroup\").key, rowKey) && this._currentCellValidator.option(\"dataGetter\")().column.index === columnIndex\r\n },\r\n validateCell(validator) {\r\n var cellParams = {\r\n rowKey: validator.option(\"validationGroup\").key,\r\n columnIndex: validator.option(\"dataGetter\")().column.index\r\n };\r\n var validationResult = this.getCellValidationResult(cellParams);\r\n var stateRestored = validationResultIsValid(validationResult);\r\n var adapter = validator.option(\"adapter\");\r\n if (!stateRestored) {\r\n validationResult = validator.validate()\r\n } else {\r\n var currentCellValue = adapter.getValue();\r\n if (!equalByValue(currentCellValue, validationResult.value)) {\r\n validationResult = validator.validate()\r\n }\r\n }\r\n var deferred = new Deferred;\r\n if (stateRestored && validationResult.status === VALIDATION_STATUS.pending) {\r\n this.updateCellValidationResult(cellParams);\r\n adapter.applyValidationResults(validationResult)\r\n }\r\n when(validationResult.complete || validationResult).done(validationResult => {\r\n stateRestored && adapter.applyValidationResults(validationResult);\r\n deferred.resolve(validationResult)\r\n });\r\n return deferred.promise()\r\n },\r\n updateCellValidationResult(_ref3) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex,\r\n validationResult: validationResult\r\n } = _ref3;\r\n var validationData = this._getValidationData(rowKey);\r\n if (!validationData) {\r\n return\r\n }\r\n if (!validationData.validationResults) {\r\n validationData.validationResults = {}\r\n }\r\n var result;\r\n if (validationResult) {\r\n result = extend({}, validationResult);\r\n validationData.validationResults[columnIndex] = result;\r\n if (validationResult.status === VALIDATION_STATUS.pending) {\r\n if (this._editingController.getEditMode() === EDIT_MODE_CELL) {\r\n result.deferred = new Deferred;\r\n result.complete.always(() => {\r\n result.deferred.resolve()\r\n });\r\n this._editingController.addDeferred(result.deferred)\r\n }\r\n if (this._disableApplyValidationResults) {\r\n result.disabledPendingId = validationResult.id;\r\n return\r\n }\r\n }\r\n } else {\r\n result = validationData.validationResults[columnIndex]\r\n }\r\n if (result && result.disabledPendingId) {\r\n delete result.disabledPendingId\r\n }\r\n },\r\n getCellValidationResult(_ref4) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref4;\r\n var _a;\r\n var validationData = this._getValidationData(rowKey, true);\r\n return null === (_a = null === validationData || void 0 === validationData ? void 0 : validationData.validationResults) || void 0 === _a ? void 0 : _a[columnIndex]\r\n },\r\n removeCellValidationResult(_ref5) {\r\n var {\r\n change: change,\r\n columnIndex: columnIndex\r\n } = _ref5;\r\n var validationData = this._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n if (validationData && validationData.validationResults) {\r\n this.cancelCellValidationResult({\r\n change: change,\r\n columnIndex: columnIndex\r\n });\r\n delete validationData.validationResults[columnIndex]\r\n }\r\n },\r\n cancelCellValidationResult(_ref6) {\r\n var {\r\n change: change,\r\n columnIndex: columnIndex\r\n } = _ref6;\r\n var validationData = this._getValidationData(change.key);\r\n if (change && validationData.validationResults) {\r\n var result = validationData.validationResults[columnIndex];\r\n if (result) {\r\n result.deferred && result.deferred.reject(VALIDATION_CANCELLED);\r\n validationData.validationResults[columnIndex] = VALIDATION_CANCELLED\r\n }\r\n }\r\n },\r\n resetRowValidationResults(validationData) {\r\n if (validationData) {\r\n validationData.validationResults && delete validationData.validationResults;\r\n delete validationData.validated\r\n }\r\n },\r\n isInvalidCell(_ref7) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref7;\r\n var result = this.getCellValidationResult({\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n });\r\n return validationResultIsValid(result) && result.status === VALIDATION_STATUS.invalid\r\n },\r\n getCellValidator(_ref8) {\r\n var {\r\n rowKey: rowKey,\r\n columnIndex: columnIndex\r\n } = _ref8;\r\n var validationData = this._getValidationData(rowKey);\r\n var groupConfig = validationData && ValidationEngine.getGroupConfig(validationData);\r\n var validators = groupConfig && groupConfig.validators;\r\n return validators && validators.filter(v => {\r\n var {\r\n column: column\r\n } = v.option(\"dataGetter\")();\r\n return column ? column.index === columnIndex : false\r\n })[0]\r\n },\r\n setCellValidationStatus(cellOptions) {\r\n var validationResult = this.getCellValidationResult({\r\n rowKey: cellOptions.key,\r\n columnIndex: cellOptions.column.index\r\n });\r\n if (isDefined(validationResult)) {\r\n cellOptions.validationStatus = validationResult !== VALIDATION_CANCELLED ? validationResult.status : VALIDATION_CANCELLED\r\n } else {\r\n delete cellOptions.validationStatus\r\n }\r\n }\r\n});\r\nexport var validatingModule = {\r\n defaultOptions: () => ({\r\n editing: {\r\n texts: {\r\n validationCancelChanges: messageLocalization.format(\"dxDataGrid-validationCancelChanges\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n validating: ValidatingController\r\n },\r\n extenders: {\r\n controllers: {\r\n editing: {\r\n _addChange(changeParams) {\r\n var change = this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n if (change && changeParams.type !== EDIT_DATA_REMOVE_TYPE) {\r\n validatingController.updateValidationState(change)\r\n }\r\n return change\r\n },\r\n _handleChangesChange(args) {\r\n this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n args.value.forEach(change => {\r\n if (void 0 === validatingController._getValidationData(change.key)) {\r\n validatingController.updateValidationState(change)\r\n }\r\n })\r\n },\r\n _updateRowAndPageIndices() {\r\n var that = this;\r\n var startInsertIndex = that.getView(\"rowsView\").getTopVisibleItemIndex();\r\n var rowIndex = startInsertIndex;\r\n each(that.getChanges(), (_, _ref9) => {\r\n var {\r\n key: key,\r\n type: type\r\n } = _ref9;\r\n var validationData = this.getController(\"validating\")._getValidationData(key);\r\n if (validationData && !validationData.isValid && validationData.pageIndex !== that._pageIndex) {\r\n validationData.pageIndex = that._pageIndex;\r\n if (type === EDIT_DATA_INSERT_TYPE) {\r\n validationData.rowIndex = startInsertIndex\r\n } else {\r\n validationData.rowIndex = rowIndex\r\n }\r\n rowIndex++\r\n }\r\n })\r\n },\r\n _getValidationGroupsInForm(detailOptions) {\r\n var validatingController = this.getController(\"validating\");\r\n var validationData = validatingController._getValidationData(detailOptions.key, true);\r\n return {\r\n validationGroup: validationData\r\n }\r\n },\r\n _validateEditFormAfterUpdate(row, isCustomSetCellValue) {\r\n if (isCustomSetCellValue && this._editForm) {\r\n this._editForm.validate()\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _prepareEditCell(params) {\r\n var isNotCanceled = this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n if (isNotCanceled && params.column.showEditorAlways) {\r\n validatingController.updateValidationState({\r\n key: params.key\r\n })\r\n }\r\n return isNotCanceled\r\n },\r\n processItems(items, changeType) {\r\n var changes = this.getChanges();\r\n var dataController = this.getController(\"data\");\r\n var validatingController = this.getController(\"validating\");\r\n items = this.callBase(items, changeType);\r\n var itemsCount = items.length;\r\n var addInValidItem = function(change, validationData) {\r\n var data = {\r\n key: change.key\r\n };\r\n var index = function(change, items) {\r\n var index = -1;\r\n var isInsert = change.type === EDIT_DATA_INSERT_TYPE;\r\n var {\r\n key: key\r\n } = change;\r\n each(items, (i, item) => {\r\n if (equalByValue(key, isInsert ? item.key : dataController.keyOf(item))) {\r\n index = i;\r\n return false\r\n }\r\n return\r\n });\r\n return index\r\n }(change, items);\r\n if (index >= 0) {\r\n return\r\n }\r\n validationData.rowIndex = validationData.rowIndex > itemsCount ? validationData.rowIndex % itemsCount : validationData.rowIndex;\r\n var {\r\n rowIndex: rowIndex\r\n } = validationData;\r\n data[INSERT_INDEX] = 1;\r\n items.splice(rowIndex, 0, data)\r\n };\r\n if (this.getEditMode() === EDIT_MODE_BATCH && \"prepend\" !== changeType && \"append\" !== changeType) {\r\n changes.forEach(change => {\r\n var {\r\n key: key\r\n } = change;\r\n var validationData = validatingController._getValidationData(key);\r\n if (validationData && change.type && validationData.pageIndex === this._pageIndex && (null === change || void 0 === change ? void 0 : change.pageIndex) !== this._pageIndex) {\r\n addInValidItem(change, validationData)\r\n }\r\n })\r\n }\r\n return items\r\n },\r\n processDataItem(item) {\r\n var isInserted = item.data[INSERT_INDEX];\r\n var key = isInserted ? item.data.key : item.key;\r\n var editMode = this.getEditMode();\r\n if (editMode === EDIT_MODE_BATCH && isInserted && key) {\r\n var changes = this.getChanges();\r\n var editIndex = gridCoreUtils.getIndexByKey(key, changes);\r\n if (editIndex >= 0) {\r\n var change = changes[editIndex];\r\n if (change.type !== EDIT_DATA_INSERT_TYPE) {\r\n var oldData = this._getOldData(change.key);\r\n item.data = extend(true, {}, oldData, change.data);\r\n item.key = key\r\n }\r\n }\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createInvisibleColumnValidators(changes) {\r\n var that = this;\r\n var validatingController = this.getController(\"validating\");\r\n var columnsController = this.getController(\"columns\");\r\n var columns = columnsController.getColumns();\r\n var invisibleColumns = columnsController.getInvisibleColumns().filter(column => !column.isBand);\r\n var groupColumns = columnsController.getGroupColumns().filter(column => !column.showWhenGrouped && -1 === invisibleColumns.indexOf(column));\r\n var invisibleColumnValidators = [];\r\n var isCellVisible = (column, rowKey) => this._dataController.getRowIndexByKey(rowKey) >= 0 && invisibleColumns.indexOf(column) < 0;\r\n invisibleColumns.push(...groupColumns);\r\n if (!FORM_BASED_MODES.includes(this.getEditMode())) {\r\n each(columns, (_, column) => {\r\n changes.forEach(change => {\r\n var data;\r\n if (isCellVisible(column, change.key)) {\r\n return\r\n }\r\n if (change.type === EDIT_DATA_INSERT_TYPE) {\r\n data = change.data\r\n } else if (\"update\" === change.type) {\r\n var oldData = that._getOldData(change.key);\r\n if (!isDefined(oldData)) {\r\n return\r\n }\r\n data = createObjectWithChanges(oldData, change.data)\r\n }\r\n if (data) {\r\n var validator = validatingController.createValidator({\r\n column: column,\r\n key: change.key,\r\n value: column.calculateCellValue(data)\r\n });\r\n if (validator) {\r\n invisibleColumnValidators.push(validator)\r\n }\r\n }\r\n })\r\n })\r\n }\r\n return function() {\r\n invisibleColumnValidators.forEach(validator => {\r\n validator.dispose()\r\n })\r\n }\r\n },\r\n _beforeSaveEditData(change, editIndex) {\r\n var result = this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n var validationData = validatingController._getValidationData(null === change || void 0 === change ? void 0 : change.key);\r\n if (change) {\r\n var isValid = \"remove\" === change.type || validationData.isValid;\r\n result = result || !isValid\r\n } else {\r\n var disposeValidators = this._createInvisibleColumnValidators(this.getChanges());\r\n result = new Deferred;\r\n this.executeOperation(result, () => {\r\n validatingController.validate(true).done(isFullValid => {\r\n disposeValidators();\r\n this._updateRowAndPageIndices();\r\n switch (this.getEditMode()) {\r\n case EDIT_MODE_CELL:\r\n if (!isFullValid) {\r\n this._focusEditingCell()\r\n }\r\n break;\r\n case EDIT_MODE_BATCH:\r\n if (!isFullValid) {\r\n this._resetEditRowKey();\r\n this._resetEditColumnName();\r\n this.getController(\"data\").updateItems()\r\n }\r\n }\r\n result.resolve(!isFullValid)\r\n })\r\n })\r\n }\r\n return result.promise ? result.promise() : result\r\n },\r\n _beforeEditCell(rowIndex, columnIndex, item) {\r\n var result = this.callBase(rowIndex, columnIndex, item);\r\n if (this.getEditMode() === EDIT_MODE_CELL) {\r\n var $cell = this._rowsView._getCellElement(rowIndex, columnIndex);\r\n var validator = $cell && $cell.data(\"dxValidator\");\r\n var rowOptions = $cell && $cell.closest(\".dx-row\").data(\"options\");\r\n var value = validator && validator.option(\"adapter\").getValue();\r\n if (validator && cellValueShouldBeValidated(value, rowOptions)) {\r\n var validatingController = this.getController(\"validating\");\r\n var deferred = new Deferred;\r\n when(validatingController.validateCell(validator), result).done((validationResult, result) => {\r\n deferred.resolve(validationResult.status === VALIDATION_STATUS.valid && result)\r\n });\r\n return deferred.promise()\r\n }\r\n if (!validator) {\r\n return result\r\n }\r\n }\r\n },\r\n _afterSaveEditData(cancel) {\r\n var $firstErrorRow;\r\n var isCellEditMode = this.getEditMode() === EDIT_MODE_CELL;\r\n each(this.getChanges(), (_, change) => {\r\n var $errorRow = this._showErrorRow(change);\r\n $firstErrorRow = $firstErrorRow || $errorRow\r\n });\r\n if ($firstErrorRow) {\r\n var scrollable = this._rowsView.getScrollable();\r\n if (scrollable) {\r\n scrollable.update();\r\n scrollable.scrollToElement($firstErrorRow)\r\n }\r\n }\r\n if (cancel && isCellEditMode && this._needUpdateRow()) {\r\n var editRowIndex = this.getEditRowIndex();\r\n this._dataController.updateItems({\r\n changeType: \"update\",\r\n rowIndices: [editRowIndex]\r\n });\r\n this._focusEditingCell()\r\n } else if (!cancel) {\r\n var shouldResetValidationState = true;\r\n if (isCellEditMode) {\r\n var columns = this.getController(\"columns\").getColumns();\r\n var columnsWithValidatingEditors = columns.filter(col => {\r\n var _a;\r\n return col.showEditorAlways && (null === (_a = col.validationRules) || void 0 === _a ? void 0 : _a.length) > 0\r\n }).length > 0;\r\n shouldResetValidationState = !columnsWithValidatingEditors\r\n }\r\n if (shouldResetValidationState) {\r\n this.getController(\"validating\").initValidationState()\r\n }\r\n }\r\n },\r\n _handleDataChanged(args) {\r\n var validationState = this.getController(\"validating\")._validationState;\r\n if (\"standard\" === this.option(\"scrolling.mode\")) {\r\n this.resetRowAndPageIndices()\r\n }\r\n if (\"prepend\" === args.changeType) {\r\n each(validationState, (_, validationData) => {\r\n validationData.rowIndex += args.items.length\r\n })\r\n }\r\n this.callBase(args)\r\n },\r\n resetRowAndPageIndices() {\r\n var validationState = this.getController(\"validating\")._validationState;\r\n each(validationState, (_, validationData) => {\r\n if (validationData.pageIndex !== this._pageIndex) {\r\n delete validationData.pageIndex;\r\n delete validationData.rowIndex\r\n }\r\n })\r\n },\r\n _beforeCancelEditData() {\r\n this.getController(\"validating\").initValidationState();\r\n this.callBase()\r\n },\r\n _showErrorRow(change) {\r\n var $popupContent;\r\n var errorHandling = this.getController(\"errorHandling\");\r\n var items = this.getController(\"data\").items();\r\n var rowIndex = this.getIndexByKey(change.key, items);\r\n var validationData = this.getController(\"validating\")._getValidationData(change.key);\r\n if (!(null === validationData || void 0 === validationData ? void 0 : validationData.isValid) && (null === validationData || void 0 === validationData ? void 0 : validationData.errorText) && rowIndex >= 0) {\r\n $popupContent = this.getPopupContent();\r\n return errorHandling && errorHandling.renderErrorRow(null === validationData || void 0 === validationData ? void 0 : validationData.errorText, rowIndex, $popupContent)\r\n }\r\n },\r\n updateFieldValue(e) {\r\n var validatingController = this.getController(\"validating\");\r\n var deferred = new Deferred;\r\n validatingController.removeCellValidationResult({\r\n change: this.getChangeByKey(e.key),\r\n columnIndex: e.column.index\r\n });\r\n this.callBase.apply(this, arguments).done(() => {\r\n var currentValidator = validatingController.getCellValidator({\r\n rowKey: e.key,\r\n columnIndex: e.column.index\r\n });\r\n when(currentValidator && validatingController.validateCell(currentValidator)).done(validationResult => {\r\n this.getController(\"editorFactory\").refocus();\r\n deferred.resolve(validationResult)\r\n })\r\n });\r\n return deferred.promise()\r\n },\r\n highlightDataCell($cell, parameters) {\r\n this.callBase.apply(this, arguments);\r\n var validatingController = this.getController(\"validating\");\r\n validatingController.setCellValidationStatus(parameters);\r\n var isEditableCell = !!parameters.setValue;\r\n var cellModified = this.isCellModified(parameters);\r\n var isValidated = isDefined(parameters.validationStatus);\r\n var needValidation = cellModified && parameters.column.setCellValue || isEditableCell && !cellModified && !(parameters.row.isNewRow || !isValidated);\r\n if (needValidation) {\r\n var validator = $cell.data(\"dxValidator\");\r\n if (validator) {\r\n when(this.getController(\"validating\").validateCell(validator)).done(() => {\r\n validatingController.setCellValidationStatus(parameters)\r\n })\r\n }\r\n }\r\n },\r\n getChangeByKey(key) {\r\n var changes = this.getChanges();\r\n return changes[gridCoreUtils.getIndexByKey(key, changes)]\r\n },\r\n isCellModified(parameters) {\r\n var cellModified = this.callBase(parameters);\r\n var change = this.getChangeByKey(parameters.key);\r\n var isCellInvalid = !!parameters.row && this.getController(\"validating\").isInvalidCell({\r\n rowKey: parameters.key,\r\n columnIndex: parameters.column.index\r\n });\r\n return cellModified || this.getController(\"validating\")._rowIsValidated(change) && isCellInvalid\r\n }\r\n },\r\n editorFactory: {\r\n _showRevertButton($container) {\r\n var _a;\r\n var $tooltipElement = null === (_a = this._revertTooltip) || void 0 === _a ? void 0 : _a.$element();\r\n if (!$container || !$container.length) {\r\n null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove();\r\n this._revertTooltip = void 0;\r\n return\r\n }\r\n if ($container.find($tooltipElement).length) {\r\n return\r\n }\r\n var $overlayContainer = $container.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n null === $tooltipElement || void 0 === $tooltipElement ? void 0 : $tooltipElement.remove();\r\n $tooltipElement = $(\"<div>\").addClass(revertTooltipClass).appendTo($container);\r\n var tooltipOptions = {\r\n animation: null,\r\n visible: true,\r\n width: \"auto\",\r\n height: \"auto\",\r\n shading: false,\r\n container: $overlayContainer,\r\n propagateOutsideClick: true,\r\n hideOnOutsideClick: false,\r\n wrapperAttr: {\r\n class: revertTooltipClass\r\n },\r\n contentTemplate: () => {\r\n var $buttonElement = $(\"<div>\").addClass(REVERT_BUTTON_CLASS);\r\n var buttonOptions = {\r\n icon: \"revert\",\r\n hint: this.option(\"editing.texts.validationCancelChanges\"),\r\n onClick: () => {\r\n this._editingController.cancelEditData()\r\n }\r\n };\r\n return new Button($buttonElement, buttonOptions).$element()\r\n },\r\n position: {\r\n my: \"left top\",\r\n at: \"right top\",\r\n offset: \"1 0\",\r\n collision: \"flip\",\r\n boundaryOffset: \"0 0\",\r\n boundary: this._rowsView.element(),\r\n of: $container\r\n },\r\n onPositioned: this._positionedHandler.bind(this)\r\n };\r\n this._revertTooltip = new Overlay($tooltipElement, tooltipOptions)\r\n },\r\n _hideFixedGroupCell($cell, overlayOptions) {\r\n var $nextFixedRowElement;\r\n var $groupCellElement;\r\n var isFixedColumns = this._rowsView.isFixedColumns();\r\n var isFormOrPopupEditMode = this._editingController.isFormOrPopupEditMode();\r\n if (isFixedColumns && !isFormOrPopupEditMode) {\r\n var nextRowOptions = $cell.closest(\".dx-row\").next().data(\"options\");\r\n if (nextRowOptions && \"group\" === nextRowOptions.rowType) {\r\n $nextFixedRowElement = $(this._rowsView.getRowElement(nextRowOptions.rowIndex)).last();\r\n $groupCellElement = $nextFixedRowElement.find(\".\".concat(GROUP_CELL_CLASS));\r\n if ($groupCellElement.length && \"hidden\" !== $groupCellElement.get(0).style.visibility) {\r\n $groupCellElement.css(\"visibility\", \"hidden\");\r\n overlayOptions.onDisposing = function() {\r\n $groupCellElement.css(\"visibility\", \"\")\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _positionedHandler(e, isOverlayVisible) {\r\n if (!e.component.__skipPositionProcessing) {\r\n var isRevertButton = $(e.element).hasClass(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS));\r\n var needRepaint = !isRevertButton && this._rowsView.updateFreeSpaceRowHeight();\r\n var normalizedPosition = this._normalizeValidationMessagePositionAndMaxWidth(e, isRevertButton, isOverlayVisible);\r\n e.component.__skipPositionProcessing = !!(needRepaint || normalizedPosition);\r\n if (normalizedPosition) {\r\n e.component.option(normalizedPosition)\r\n } else if (needRepaint) {\r\n e.component.repaint()\r\n }\r\n }\r\n },\r\n _showValidationMessage($cell, messages, alignment) {\r\n var _a;\r\n var editorPopup = $cell.find(\".dx-dropdowneditor-overlay\").data(\"dxPopup\");\r\n var isOverlayVisible = editorPopup && editorPopup.option(\"visible\");\r\n var myPosition = isOverlayVisible ? \"top right\" : \"top \".concat(alignment);\r\n var atPosition = isOverlayVisible ? \"top left\" : \"bottom \".concat(alignment);\r\n var hasFixedColumns = (null === (_a = this._columnsController.getFixedColumns()) || void 0 === _a ? void 0 : _a.length) > 0;\r\n var $overlayContainer = hasFixedColumns ? this.getView(\"rowsView\").element() : $cell.closest(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS)));\r\n var errorMessageText = \"\";\r\n messages && messages.forEach(message => {\r\n errorMessageText += (errorMessageText.length ? \"<br/>\" : \"\") + encodeHtml(message)\r\n });\r\n var invalidMessageClass = this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS);\r\n this._rowsView.element().find(\".\".concat(invalidMessageClass)).remove();\r\n var $overlayElement = $(\"<div>\").addClass(INVALID_MESSAGE_CLASS).addClass(INVALID_MESSAGE_ALWAYS_CLASS).addClass(invalidMessageClass).html(errorMessageText).appendTo($cell);\r\n var overlayOptions = {\r\n container: $overlayContainer,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n visible: true,\r\n animation: false,\r\n propagateOutsideClick: true,\r\n hideOnOutsideClick: false,\r\n wrapperAttr: {\r\n class: \"\".concat(INVALID_MESSAGE_CLASS, \" \").concat(INVALID_MESSAGE_ALWAYS_CLASS, \" \").concat(invalidMessageClass)\r\n },\r\n position: {\r\n collision: \"flip\",\r\n boundary: this._rowsView.element(),\r\n boundaryOffset: \"0 0\",\r\n offset: {\r\n x: 0,\r\n y: !isOverlayVisible && browser.mozilla ? -1 : 0\r\n },\r\n my: myPosition,\r\n at: atPosition,\r\n of: $cell\r\n },\r\n onPositioned: e => {\r\n this._positionedHandler(e, isOverlayVisible);\r\n this._shiftValidationMessageIfNeed(e.component.$content(), $cell)\r\n }\r\n };\r\n this._hideFixedGroupCell($cell, overlayOptions);\r\n new Overlay($overlayElement, overlayOptions)\r\n },\r\n _hideValidationMessage() {\r\n var _a;\r\n var validationMessages = null === (_a = this._rowsView.element()) || void 0 === _a ? void 0 : _a.find(this._getValidationMessagesSelector());\r\n null === validationMessages || void 0 === validationMessages ? void 0 : validationMessages.remove()\r\n },\r\n _normalizeValidationMessagePositionAndMaxWidth(options, isRevertButton, isOverlayVisible) {\r\n var fixedColumns = this._columnsController.getFixedColumns();\r\n if (!fixedColumns || !fixedColumns.length) {\r\n return\r\n }\r\n var position;\r\n var visibleTableWidth = !isRevertButton && (that = this, element = options.element, rowIndex = $(element).closest(\"tr\").index(), $cellElements = $(that._rowsView.getRowElement(rowIndex)).first().children().filter(\":not(.dx-hidden-cell)\"), that._rowsView._getWidths($cellElements).reduce((w1, w2) => w1 + w2, 0));\r\n var that, element, rowIndex, $cellElements;\r\n var $overlayContentElement = options.component.$content();\r\n var validationMessageWidth = getOuterWidth($overlayContentElement, true);\r\n var needMaxWidth = !isRevertButton && validationMessageWidth > visibleTableWidth;\r\n var columnIndex = this._rowsView.getCellIndex($(options.element).closest(\"td\"));\r\n var boundaryNonFixedColumnsInfo = function(fixedColumns) {\r\n var firstNonFixedColumnIndex;\r\n var lastNonFixedColumnIndex;\r\n fixedColumns.some((column, index) => {\r\n if (column.command === COMMAND_TRANSPARENT) {\r\n firstNonFixedColumnIndex = 0 === index ? -1 : index;\r\n lastNonFixedColumnIndex = index === fixedColumns.length - 1 ? -1 : index + column.colspan - 1;\r\n return true\r\n }\r\n return\r\n });\r\n return {\r\n startColumnIndex: firstNonFixedColumnIndex,\r\n endColumnIndex: lastNonFixedColumnIndex\r\n }\r\n }(fixedColumns);\r\n if (!isRevertButton && (columnIndex === boundaryNonFixedColumnsInfo.startColumnIndex || needMaxWidth)) {\r\n position = {\r\n collision: \"none flip\",\r\n my: \"top left\",\r\n at: isOverlayVisible ? \"top right\" : \"bottom left\"\r\n }\r\n } else if (columnIndex === boundaryNonFixedColumnsInfo.endColumnIndex) {\r\n position = {\r\n collision: \"none flip\",\r\n my: \"top right\",\r\n at: isRevertButton || isOverlayVisible ? \"top left\" : \"bottom right\"\r\n };\r\n if (isRevertButton) {\r\n position.offset = \"-1 0\"\r\n }\r\n }\r\n return position && {\r\n position: position,\r\n maxWidth: needMaxWidth ? visibleTableWidth - 2 : void 0\r\n }\r\n },\r\n _shiftValidationMessageIfNeed($content, $cell) {\r\n var $revertContent = this._revertTooltip && this._revertTooltip.$content();\r\n if (!$revertContent) {\r\n return\r\n }\r\n var contentOffset = $content.offset();\r\n var revertContentOffset = $revertContent.offset();\r\n if (contentOffset.top === revertContentOffset.top && contentOffset.left + getWidth($content) > revertContentOffset.left) {\r\n var left = getWidth($revertContent) + PADDING_BETWEEN_TOOLTIPS;\r\n $content.css(\"left\", revertContentOffset.left < $cell.offset().left ? -left : left)\r\n }\r\n },\r\n _getRevertTooltipsSelector() {\r\n var revertTooltipClass = this.addWidgetPrefix(REVERT_TOOLTIP_CLASS);\r\n return \".dx-editor-cell .\".concat(revertTooltipClass)\r\n },\r\n _getValidationMessagesSelector() {\r\n var invalidMessageClass = this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS);\r\n return \".dx-editor-cell .\".concat(invalidMessageClass, \", .dx-cell-modified .\").concat(invalidMessageClass)\r\n },\r\n init() {\r\n this.callBase();\r\n this._editingController = this.getController(\"editing\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._rowsView = this.getView(\"rowsView\")\r\n },\r\n loseFocus(skipValidator) {\r\n if (!skipValidator) {\r\n this.getController(\"validating\").setValidator(null)\r\n }\r\n this.callBase()\r\n },\r\n updateCellState($element, validationResult, isHideBorder) {\r\n var _a;\r\n var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector());\r\n var $cell = (null === $focus || void 0 === $focus ? void 0 : $focus.is(\"td\")) ? $focus : null;\r\n var rowOptions = null === $focus || void 0 === $focus ? void 0 : $focus.closest(\".dx-row\").data(\"options\");\r\n var change = rowOptions ? this.getController(\"editing\").getChangeByKey(rowOptions.key) : null;\r\n var column = $cell && this.getController(\"columns\").getVisibleColumns()[$cell.index()];\r\n var isCellModified = void 0 !== (null === (_a = null === change || void 0 === change ? void 0 : change.data) || void 0 === _a ? void 0 : _a[null === column || void 0 === column ? void 0 : column.name]) && !this._editingController.isSaving();\r\n if (this._editingController.getEditMode() === EDIT_MODE_CELL) {\r\n if ((null === validationResult || void 0 === validationResult ? void 0 : validationResult.status) === VALIDATION_STATUS.invalid || isCellModified) {\r\n this._showRevertButton($focus)\r\n } else {\r\n this._revertTooltip && this._revertTooltip.$element().remove()\r\n }\r\n }\r\n var showValidationMessage = validationResult && validationResult.status === VALIDATION_STATUS.invalid;\r\n if (showValidationMessage && $cell && column && validationResult && validationResult.brokenRules) {\r\n var errorMessages = [];\r\n validationResult.brokenRules.forEach(rule => {\r\n if (rule.message) {\r\n errorMessages.push(rule.message)\r\n }\r\n });\r\n if (errorMessages.length) {\r\n this._showValidationMessage($focus, errorMessages, column.alignment || \"left\")\r\n }\r\n }!isHideBorder && this._rowsView.element() && this._rowsView.updateFreeSpaceRowHeight()\r\n },\r\n focus($element, isHideBorder) {\r\n if (!arguments.length) {\r\n return this.callBase()\r\n }\r\n this._hideValidationMessage();\r\n if ((null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-row\")) || (null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-master-detail-cell\"))) {\r\n return this.callBase($element, isHideBorder)\r\n }\r\n var $focus = null === $element || void 0 === $element ? void 0 : $element.closest(this._getFocusCellSelector());\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var validator = $focus && ($focus.data(\"dxValidator\") || $element.find(\".\".concat(this.addWidgetPrefix(VALIDATOR_CLASS))).eq(0).data(\"dxValidator\"));\r\n var rowOptions = $focus && $focus.closest(\".dx-row\").data(\"options\");\r\n var editingController = this.getController(\"editing\");\r\n var change = rowOptions ? editingController.getChangeByKey(rowOptions.key) : null;\r\n var validatingController = this.getController(\"validating\");\r\n var validationResult;\r\n if (validator) {\r\n validatingController.setValidator(validator);\r\n var value = validator.option(\"adapter\").getValue();\r\n if (cellValueShouldBeValidated(value, rowOptions) || validatingController._rowIsValidated(change)) {\r\n editingController.waitForDeferredOperations().done(() => {\r\n when(validatingController.validateCell(validator)).done(result => {\r\n validationResult = result;\r\n var {\r\n column: column\r\n } = validationResult.validator.option(\"dataGetter\")();\r\n if (change && column && !validatingController.isCurrentValidatorProcessing({\r\n rowKey: change.key,\r\n columnIndex: column.index\r\n })) {\r\n return\r\n }\r\n if (validationResult.status === VALIDATION_STATUS.invalid) {\r\n isHideBorder = true\r\n }\r\n this.updateCellState($element, validationResult, isHideBorder);\r\n callBase.call(this, $element, isHideBorder)\r\n })\r\n });\r\n return this.callBase($element, isHideBorder)\r\n }\r\n }\r\n this.updateCellState($element, validationResult, isHideBorder);\r\n return this.callBase($element, isHideBorder)\r\n },\r\n getEditorInstance($container) {\r\n var $editor = $container.find(\".dx-texteditor\").eq(0);\r\n return gridCoreUtils.getWidgetInstance($editor)\r\n }\r\n },\r\n data: {\r\n _getValidationStatus(validationResult) {\r\n var validationStatus = validationResultIsValid(validationResult) ? validationResult.status : validationResult;\r\n return validationStatus || VALIDATION_STATUS.valid\r\n },\r\n _isCellChanged(oldRow, newRow, visibleRowIndex, columnIndex, isLiveUpdate) {\r\n var _a, _b;\r\n var cell = null === (_a = oldRow.cells) || void 0 === _a ? void 0 : _a[columnIndex];\r\n var oldValidationStatus = this._getValidationStatus({\r\n status: null === cell || void 0 === cell ? void 0 : cell.validationStatus\r\n });\r\n var validatingController = this.getController(\"validating\");\r\n var validationResult = validatingController.getCellValidationResult({\r\n rowKey: oldRow.key,\r\n columnIndex: columnIndex\r\n });\r\n var validationData = validatingController._getValidationData(oldRow.key);\r\n var newValidationStatus = this._getValidationStatus(validationResult);\r\n var rowIsModified = JSON.stringify(newRow.modifiedValues) !== JSON.stringify(oldRow.modifiedValues);\r\n var validationStatusChanged = oldValidationStatus !== newValidationStatus && rowIsModified;\r\n var cellIsMarkedAsInvalid = $(null === cell || void 0 === cell ? void 0 : cell.cellElement).hasClass(this.addWidgetPrefix(INVALIDATE_CLASS));\r\n var hasValidationRules = null === (_b = null === cell || void 0 === cell ? void 0 : cell.column.validationRules) || void 0 === _b ? void 0 : _b.length;\r\n var rowEditStateChanged = oldRow.isEditing !== newRow.isEditing && hasValidationRules;\r\n var cellValidationStateChanged = validationStatusChanged || validationData.isValid && cellIsMarkedAsInvalid;\r\n if (rowEditStateChanged || cellValidationStateChanged) {\r\n return true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n updateFreeSpaceRowHeight($table) {\r\n var $rowElements;\r\n var $freeSpaceRowElement;\r\n var $freeSpaceRowElements;\r\n var $element = this.element();\r\n var $tooltipContent = $element && $element.find(\".\".concat(this.addWidgetPrefix(WIDGET_INVALID_MESSAGE_CLASS), \" .dx-overlay-content\"));\r\n this.callBase($table);\r\n if ($tooltipContent && $tooltipContent.length) {\r\n $rowElements = this._getRowElements();\r\n $freeSpaceRowElements = this._getFreeSpaceRowElements($table);\r\n $freeSpaceRowElement = $freeSpaceRowElements.first();\r\n if ($freeSpaceRowElement && 1 === $rowElements.length && (!$freeSpaceRowElement.is(\":visible\") || getOuterHeight($tooltipContent) > getOuterHeight($freeSpaceRowElement))) {\r\n $freeSpaceRowElements.show();\r\n setHeight($freeSpaceRowElements, getOuterHeight($tooltipContent));\r\n return true\r\n }\r\n }\r\n return\r\n },\r\n _formItemPrepared(cellOptions, $container) {\r\n this.callBase.apply(this, arguments);\r\n deferUpdate(() => {\r\n var $editor = $container.find(\".dx-widget\").first();\r\n var isEditorDisposed = $editor.length && !$editor.children().length;\r\n if (!isEditorDisposed) {\r\n this.getController(\"validating\").createValidator(cellOptions, $editor)\r\n }\r\n })\r\n },\r\n _cellPrepared($cell, parameters) {\r\n if (!this.getController(\"editing\").isFormOrPopupEditMode()) {\r\n this.getController(\"validating\").createValidator(parameters, $cell)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _restoreErrorRow(contentTable) {\r\n var editingController = this.getController(\"editing\");\r\n editingController && editingController.hasChanges() && this._getRowElements(contentTable).each((_, item) => {\r\n var rowOptions = $(item).data(\"options\");\r\n if (rowOptions) {\r\n var change = editingController.getChangeByKey(rowOptions.key);\r\n change && editingController._showErrorRow(change)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/validating.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n validatingModule\r\n} from \"../../../grids/grid_core/validating/m_validating\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"validating\", validatingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_data_loader/m_virtual_data_loader.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar needTwoPagesLoading = that => that.option(\"scrolling.loadTwoPagesOnStart\") || that._controller.isVirtual() || that._controller.getViewportItemIndex() > 0;\r\nvar getBeginPageIndex = that => that._cache.length ? that._cache[0].pageIndex : -1;\r\nvar getEndPageIndex = that => that._cache.length ? that._cache[that._cache.length - 1].pageIndex : -1;\r\nvar fireChanged = (that, changed, args) => {\r\n that._isChangedFiring = true;\r\n changed(args);\r\n that._isChangedFiring = false\r\n};\r\nvar processDelayChanged = (that, changed, args) => {\r\n if (that._isDelayChanged) {\r\n that._isDelayChanged = false;\r\n fireChanged(that, changed, args);\r\n return true\r\n }\r\n};\r\nvar getViewportPageCount = that => {\r\n var pageSize = that._dataOptions.pageSize();\r\n var preventPreload = that.option(\"scrolling.preventPreload\");\r\n if (preventPreload) {\r\n return 0\r\n }\r\n var realViewportSize = that._controller.viewportSize();\r\n if (that._controller.isVirtualMode() && that.option(\"scrolling.removeInvisiblePages\")) {\r\n realViewportSize = 0;\r\n var viewportSize = that._controller.viewportSize() * that._controller.viewportItemSize();\r\n var offset = that._controller.getContentOffset();\r\n var position = that._controller.getViewportPosition();\r\n var virtualItemsCount = that._controller.virtualItemsCount();\r\n var totalItemsCount = that._dataOptions.totalItemsCount();\r\n for (var itemIndex = virtualItemsCount.begin; itemIndex < totalItemsCount; itemIndex++) {\r\n if (offset >= position + viewportSize) {\r\n break\r\n }\r\n var itemSize = that._controller.getItemSizes()[itemIndex] || that._controller.viewportItemSize();\r\n offset += itemSize;\r\n if (offset >= position) {\r\n realViewportSize++\r\n }\r\n }\r\n }\r\n return pageSize && realViewportSize > 0 ? Math.ceil(realViewportSize / pageSize) : 1\r\n};\r\nvar getPreloadPageCount = (that, previous) => {\r\n var preloadEnabled = that.option(\"scrolling.preloadEnabled\");\r\n var pageCount = getViewportPageCount(that);\r\n var isAppendMode = that._controller.isAppendMode();\r\n if (pageCount) {\r\n if (previous) {\r\n pageCount = preloadEnabled ? 1 : 0\r\n } else {\r\n if (preloadEnabled) {\r\n pageCount++\r\n }\r\n if (isAppendMode || !needTwoPagesLoading(that)) {\r\n pageCount--\r\n }\r\n }\r\n }\r\n return pageCount\r\n};\r\nvar getPageIndexForLoad = that => {\r\n var result = -1;\r\n var beginPageIndex = getBeginPageIndex(that);\r\n var dataOptions = that._dataOptions;\r\n if (beginPageIndex < 0) {\r\n result = that._pageIndex\r\n } else if (!that._cache[that._pageIndex - beginPageIndex]) {\r\n result = that._pageIndex\r\n } else if (beginPageIndex >= 0 && that._controller.viewportSize() >= 0) {\r\n if (beginPageIndex > 0) {\r\n var needToLoadPageBeforeLast = getEndPageIndex(that) + 1 === dataOptions.pageCount() && that._cache.length < getPreloadPageCount(that) + 1;\r\n var needToLoadPrevPage = needToLoadPageBeforeLast || that._pageIndex === beginPageIndex && getPreloadPageCount(that, true);\r\n if (needToLoadPrevPage) {\r\n result = beginPageIndex - 1\r\n }\r\n }\r\n if (result < 0) {\r\n var needToLoadNextPage = beginPageIndex + that._cache.length <= that._pageIndex + getPreloadPageCount(that);\r\n if (needToLoadNextPage) {\r\n result = beginPageIndex + that._cache.length\r\n }\r\n }\r\n }\r\n if (that._loadingPageIndexes[result]) {\r\n result = -1\r\n }\r\n return result\r\n};\r\nvar loadCore = (that, pageIndex) => {\r\n var dataOptions = that._dataOptions;\r\n if (pageIndex === that.pageIndex() || !dataOptions.isLoading() && pageIndex < dataOptions.pageCount() || !dataOptions.hasKnownLastPage() && pageIndex === dataOptions.pageCount()) {\r\n dataOptions.pageIndex(pageIndex);\r\n that._loadingPageIndexes[pageIndex] = true;\r\n return when(dataOptions.load()).always(() => {\r\n that._loadingPageIndexes[pageIndex] = false\r\n })\r\n }\r\n};\r\nvar processChanged = (that, changed, changeType, isDelayChanged, removeCacheItem) => {\r\n var dataOptions = that._dataOptions;\r\n var items = dataOptions.items().slice();\r\n var change = isObject(changeType) ? changeType : void 0;\r\n var isPrepend = \"prepend\" === changeType;\r\n var viewportItems = dataOptions.viewportItems();\r\n if (changeType && isString(changeType) && !that._isDelayChanged) {\r\n change = {\r\n changeType: changeType,\r\n items: items\r\n };\r\n if (removeCacheItem) {\r\n change.removeCount = removeCacheItem.itemsCount;\r\n if (change.removeCount && dataOptions.correctCount) {\r\n change.removeCount = dataOptions.correctCount(viewportItems, change.removeCount, isPrepend)\r\n }\r\n }\r\n }\r\n var removeItemCount = removeCacheItem ? removeCacheItem.itemsLength : 0;\r\n if (removeItemCount && dataOptions.correctCount) {\r\n removeItemCount = dataOptions.correctCount(viewportItems, removeItemCount, isPrepend)\r\n }\r\n if (\"append\" === changeType) {\r\n viewportItems.push.apply(viewportItems, items);\r\n if (removeCacheItem) {\r\n viewportItems.splice(0, removeItemCount)\r\n }\r\n } else if (isPrepend) {\r\n viewportItems.unshift.apply(viewportItems, items);\r\n if (removeCacheItem) {\r\n viewportItems.splice(-removeItemCount)\r\n }\r\n } else {\r\n that._dataOptions.viewportItems(items)\r\n }\r\n dataOptions.updateLoading();\r\n that._lastPageIndex = that.pageIndex();\r\n that._isDelayChanged = isDelayChanged;\r\n if (!isDelayChanged) {\r\n fireChanged(that, changed, change)\r\n }\r\n};\r\nexport class VirtualDataLoader {\r\n constructor(controller, dataOptions) {\r\n this._dataOptions = dataOptions;\r\n this._controller = controller;\r\n this._pageIndex = this._lastPageIndex = dataOptions.pageIndex();\r\n this._cache = [];\r\n this._loadingPageIndexes = {}\r\n }\r\n option() {\r\n return this._controller.option.apply(this._controller, arguments)\r\n }\r\n viewportItemIndexChanged(itemIndex) {\r\n var pageSize = this._dataOptions.pageSize();\r\n var pageCount = this._dataOptions.pageCount();\r\n var virtualMode = this._controller.isVirtualMode();\r\n var appendMode = this._controller.isAppendMode();\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n var newPageIndex;\r\n if (pageSize && (virtualMode || appendMode) && totalItemsCount >= 0) {\r\n var viewportSize = this._controller.viewportSize();\r\n if (viewportSize && itemIndex + viewportSize >= totalItemsCount && !this._controller.isVirtual()) {\r\n if (this._dataOptions.hasKnownLastPage()) {\r\n newPageIndex = pageCount - 1;\r\n var lastPageSize = totalItemsCount % pageSize;\r\n if (newPageIndex > 0 && lastPageSize > 0 && lastPageSize < viewportSize) {\r\n newPageIndex--\r\n }\r\n } else {\r\n newPageIndex = pageCount\r\n }\r\n } else {\r\n newPageIndex = Math.floor(itemIndex / pageSize);\r\n var maxPageIndex = pageCount - 1;\r\n newPageIndex = Math.max(newPageIndex, 0);\r\n newPageIndex = Math.min(newPageIndex, maxPageIndex)\r\n }\r\n this.pageIndex(newPageIndex);\r\n return this.load()\r\n }\r\n }\r\n pageIndex(pageIndex) {\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n if (void 0 !== pageIndex) {\r\n this._pageIndex = pageIndex\r\n }\r\n return this._pageIndex\r\n }\r\n return this._dataOptions.pageIndex(pageIndex)\r\n }\r\n beginPageIndex(defaultPageIndex) {\r\n var beginPageIndex = getBeginPageIndex(this);\r\n if (beginPageIndex < 0) {\r\n beginPageIndex = void 0 !== defaultPageIndex ? defaultPageIndex : this.pageIndex()\r\n }\r\n return beginPageIndex\r\n }\r\n endPageIndex() {\r\n var endPageIndex = getEndPageIndex(this);\r\n return endPageIndex > 0 ? endPageIndex : this._lastPageIndex\r\n }\r\n pageSize() {\r\n return this._dataOptions.pageSize()\r\n }\r\n load() {\r\n var dataOptions = this._dataOptions;\r\n var result;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n var pageIndexForLoad = getPageIndexForLoad(this);\r\n if (pageIndexForLoad >= 0) {\r\n var loadResult = loadCore(this, pageIndexForLoad);\r\n if (loadResult) {\r\n result = new Deferred;\r\n loadResult.done(() => {\r\n var delayDeferred = this._delayDeferred;\r\n if (delayDeferred) {\r\n delayDeferred.done(result.resolve).fail(result.reject)\r\n } else {\r\n result.resolve()\r\n }\r\n }).fail(result.reject);\r\n dataOptions.updateLoading()\r\n }\r\n }\r\n } else {\r\n result = dataOptions.load()\r\n }\r\n if (!result && this._lastPageIndex !== this.pageIndex()) {\r\n this._dataOptions.onChanged({\r\n changeType: \"pageIndex\"\r\n })\r\n }\r\n return result || (new Deferred).resolve()\r\n }\r\n loadIfNeed() {\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if ((isVirtualMode || isAppendMode) && !this._dataOptions.isLoading() && (!this._isChangedFiring || this._controller.isVirtual())) {\r\n var position = this._controller.getViewportPosition();\r\n if (position > 0) {\r\n this._controller._setViewportPositionCore(position)\r\n } else {\r\n this.load()\r\n }\r\n }\r\n }\r\n handleDataChanged(callBase, e) {\r\n var dataOptions = this._dataOptions;\r\n var lastCacheLength = this._cache.length;\r\n var changeType;\r\n var removeInvisiblePages;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n var isAppendMode = this._controller.isAppendMode();\r\n if (e && e.changes) {\r\n fireChanged(this, callBase, e)\r\n } else if (false !== this.option(LEGACY_SCROLLING_MODE) && (isVirtualMode || isAppendMode)) {\r\n var beginPageIndex = getBeginPageIndex(this);\r\n if (beginPageIndex >= 0) {\r\n if (isVirtualMode && beginPageIndex + this._cache.length !== dataOptions.pageIndex() && beginPageIndex - 1 !== dataOptions.pageIndex()) {\r\n lastCacheLength = 0;\r\n this._cache = []\r\n }\r\n if (isAppendMode) {\r\n if (0 === dataOptions.pageIndex()) {\r\n this._cache = []\r\n } else if (dataOptions.pageIndex() < getEndPageIndex(this)) {\r\n fireChanged(this, callBase, {\r\n changeType: \"append\",\r\n items: []\r\n });\r\n return\r\n }\r\n }\r\n }\r\n var cacheItem = {\r\n pageIndex: dataOptions.pageIndex(),\r\n itemsLength: dataOptions.items(true).length,\r\n itemsCount: this.itemsCount(true)\r\n };\r\n if (this.option(\"scrolling.removeInvisiblePages\") && isVirtualMode) {\r\n removeInvisiblePages = this._cache.length > Math.max(getPreloadPageCount(this) + (this.option(\"scrolling.preloadEnabled\") ? 1 : 0), 2)\r\n } else {\r\n processDelayChanged(this, callBase, {\r\n isDelayed: true\r\n })\r\n }\r\n var removeCacheItem;\r\n if (beginPageIndex === dataOptions.pageIndex() + 1) {\r\n if (removeInvisiblePages) {\r\n removeCacheItem = this._cache.pop()\r\n }\r\n changeType = \"prepend\";\r\n this._cache.unshift(cacheItem)\r\n } else {\r\n if (removeInvisiblePages) {\r\n removeCacheItem = this._cache.shift()\r\n }\r\n changeType = \"append\";\r\n this._cache.push(cacheItem)\r\n }\r\n var isDelayChanged = isVirtualMode && 0 === lastCacheLength && needTwoPagesLoading(this);\r\n processChanged(this, callBase, this._cache.length > 1 ? changeType : void 0, isDelayChanged, removeCacheItem);\r\n this._delayDeferred = this.load().done(() => {\r\n if (processDelayChanged(this, callBase)) {\r\n this.load()\r\n }\r\n })\r\n } else {\r\n processChanged(this, callBase, e)\r\n }\r\n }\r\n getDelayDeferred() {\r\n return this._delayDeferred\r\n }\r\n itemsCount(isBase) {\r\n var itemsCount = 0;\r\n var isVirtualMode = this._controller.isVirtualMode();\r\n if (!isBase && isVirtualMode) {\r\n this._cache.forEach(cacheItem => {\r\n itemsCount += cacheItem.itemsCount\r\n })\r\n } else {\r\n itemsCount = this._dataOptions.itemsCount()\r\n }\r\n return itemsCount\r\n }\r\n virtualItemsCount() {\r\n var pageIndex = getBeginPageIndex(this);\r\n if (pageIndex < 0) {\r\n pageIndex = this._dataOptions.pageIndex()\r\n }\r\n var beginItemsCount = pageIndex * this._dataOptions.pageSize();\r\n var itemsCount = this._cache.length * this._dataOptions.pageSize();\r\n var endItemsCount = Math.max(0, this._dataOptions.totalItemsCount() - itemsCount - beginItemsCount);\r\n return {\r\n begin: beginItemsCount,\r\n end: endItemsCount\r\n }\r\n }\r\n reset() {\r\n this._loadingPageIndexes = {};\r\n this._cache = []\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport positionUtils from \"../../../../animation/position\";\r\nimport Class from \"../../../../core/class\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n VirtualDataLoader\r\n} from \"../virtual_data_loader/m_virtual_data_loader\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar isVirtualMode = that => that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL || that._isVirtual;\r\nvar isAppendMode = that => that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE && !that._isVirtual;\r\n\r\nfunction subscribeToExternalScrollers($element, scrollChangedHandler, $targetElement) {\r\n var $scrollElement;\r\n var scrollableArray = [];\r\n var scrollToArray = [];\r\n var disposeArray = [];\r\n $targetElement = $targetElement || $element;\r\n\r\n function getElementOffset(scrollable) {\r\n var $scrollableElement = scrollable.element ? scrollable.$element() : scrollable;\r\n var scrollableOffset = positionUtils.offset($scrollableElement);\r\n if (!scrollableOffset) {\r\n return $element.offset().top\r\n }\r\n return scrollable.scrollTop() - (scrollableOffset.top - $element.offset().top)\r\n }\r\n var widgetScrollStrategy = {\r\n on(scrollable, eventName, handler) {\r\n scrollable.on(\"scroll\", handler)\r\n },\r\n off(scrollable, eventName, handler) {\r\n scrollable.off(\"scroll\", handler)\r\n }\r\n };\r\n\r\n function subscribeToScrollEvents($scrollElement) {\r\n var isDocument = \"#document\" === $scrollElement.get(0).nodeName;\r\n var isElement = $scrollElement.get(0).nodeType === getWindow().Node.ELEMENT_NODE;\r\n var scrollable = $scrollElement.data(\"dxScrollable\");\r\n var eventsStrategy = widgetScrollStrategy;\r\n if (!scrollable) {\r\n scrollable = isDocument && $(getWindow()) || isElement && \"auto\" === $scrollElement.css(\"overflowY\") && $scrollElement;\r\n eventsStrategy = eventsEngine;\r\n if (!scrollable) {\r\n return\r\n }\r\n }\r\n var handler = function(scrollable) {\r\n return function() {\r\n var scrollTop = scrollable.scrollTop() - getElementOffset(scrollable);\r\n scrollTop = scrollTop > 0 ? scrollTop : 0;\r\n scrollChangedHandler(scrollTop)\r\n }\r\n }(scrollable);\r\n eventsStrategy.on(scrollable, \"scroll\", handler);\r\n scrollToArray.push(pos => {\r\n var topOffset = getElementOffset(scrollable);\r\n var scrollMethod = scrollable.scrollTo ? \"scrollTo\" : \"scrollTop\";\r\n if (pos - topOffset >= 0) {\r\n scrollable[scrollMethod](pos + topOffset)\r\n }\r\n });\r\n scrollableArray.push(scrollable);\r\n disposeArray.push(() => {\r\n eventsStrategy.off(scrollable, \"scroll\", handler)\r\n })\r\n }\r\n var getScrollElementParent = $element => {\r\n var _a;\r\n return $(null !== (_a = $element.get(0).parentNode) && void 0 !== _a ? _a : $element.get(0).host)\r\n };\r\n for ($scrollElement = $targetElement.parent(); $scrollElement.length; $scrollElement = getScrollElementParent($scrollElement)) {\r\n subscribeToScrollEvents($scrollElement)\r\n }\r\n return {\r\n scrollTo(pos) {\r\n each(scrollToArray, (_, scrollTo) => {\r\n scrollTo(pos)\r\n })\r\n },\r\n dispose() {\r\n each(disposeArray, (_, dispose) => {\r\n dispose()\r\n })\r\n }\r\n }\r\n}\r\nvar VirtualScrollController = Class.inherit(function() {\r\n var members = {\r\n ctor(component, dataOptions, isVirtual) {\r\n this._dataOptions = dataOptions;\r\n this.component = component;\r\n this._viewportSize = false === component.option(LEGACY_SCROLLING_MODE) ? 15 : 0;\r\n this._viewportItemSize = 20;\r\n this._viewportItemIndex = 0;\r\n this._position = 0;\r\n this._isScrollingBack = false;\r\n this._contentSize = 0;\r\n this._itemSizes = {};\r\n this._sizeRatio = 1;\r\n this._isVirtual = isVirtual;\r\n this.positionChanged = Callbacks();\r\n this._dataLoader = new VirtualDataLoader(this, this._dataOptions)\r\n },\r\n getItemSizes() {\r\n return this._itemSizes\r\n },\r\n option() {\r\n return this.component.option.apply(this.component, arguments)\r\n },\r\n isVirtual() {\r\n return this._isVirtual\r\n },\r\n virtualItemsCount() {\r\n if (isVirtualMode(this)) {\r\n var dataOptions = this._dataOptions;\r\n var totalItemsCount = dataOptions.totalItemsCount();\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && -1 !== totalItemsCount) {\r\n var viewportParams = this.getViewportParams();\r\n var loadedOffset = dataOptions.loadedOffset();\r\n var loadedItemCount = dataOptions.loadedItemCount();\r\n var skip = Math.max(viewportParams.skip, loadedOffset);\r\n var take = Math.min(viewportParams.take, loadedItemCount);\r\n var endItemsCount = Math.max(totalItemsCount - (skip + take), 0);\r\n return {\r\n begin: skip,\r\n end: endItemsCount\r\n }\r\n }\r\n return this._dataLoader.virtualItemsCount.apply(this._dataLoader, arguments)\r\n }\r\n },\r\n getScrollingTimeout() {\r\n var _a;\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!isDefined(renderAsync)) {\r\n scrollingTimeout = Math.min(this.option(\"scrolling.timeout\") || 0, this._dataOptions.changingDuration());\r\n if (scrollingTimeout < this.option(\"scrolling.renderingThreshold\")) {\r\n scrollingTimeout = this.option(\"scrolling.minTimeout\") || 0\r\n }\r\n } else if (renderAsync) {\r\n scrollingTimeout = null !== (_a = this.option(\"scrolling.timeout\")) && void 0 !== _a ? _a : 0\r\n }\r\n return scrollingTimeout\r\n },\r\n setViewportPosition(position) {\r\n var result = new Deferred;\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n clearTimeout(this._scrollTimeoutID);\r\n if (scrollingTimeout > 0) {\r\n this._scrollTimeoutID = setTimeout(() => {\r\n this._setViewportPositionCore(position);\r\n result.resolve()\r\n }, scrollingTimeout)\r\n } else {\r\n this._setViewportPositionCore(position);\r\n result.resolve()\r\n }\r\n return result.promise()\r\n },\r\n getViewportPosition() {\r\n return this._position\r\n },\r\n getItemIndexByPosition(position, viewportItemIndex, height) {\r\n position = null !== position && void 0 !== position ? position : this._position;\r\n var defaultItemSize = this.getItemSize();\r\n var offset = 0;\r\n var itemOffset = 0;\r\n var itemOffsetsWithSize = Object.keys(this._itemSizes).concat(-1);\r\n for (var i = 0; i < itemOffsetsWithSize.length && offset < position; i++) {\r\n var itemOffsetWithSize = parseInt(itemOffsetsWithSize[i]);\r\n var itemOffsetDiff = (position - offset) / defaultItemSize;\r\n if (itemOffsetWithSize < 0 || itemOffset + itemOffsetDiff < itemOffsetWithSize) {\r\n itemOffset += itemOffsetDiff;\r\n if (this._sizeRatio < 1 && isDefined(viewportItemIndex)) {\r\n itemOffset = viewportItemIndex + height / this._viewportItemSize\r\n }\r\n break\r\n } else {\r\n itemOffsetDiff = itemOffsetWithSize - itemOffset;\r\n offset += itemOffsetDiff * defaultItemSize;\r\n itemOffset += itemOffsetDiff\r\n }\r\n var itemSize = this._itemSizes[itemOffsetWithSize];\r\n offset += itemSize;\r\n itemOffset += offset < position ? 1 : (position - offset + itemSize) / itemSize\r\n }\r\n return Math.round(50 * itemOffset) / 50\r\n },\r\n isScrollingBack() {\r\n return this._isScrollingBack\r\n },\r\n _setViewportPositionCore(position) {\r\n var prevPosition = this._position || 0;\r\n this._position = position;\r\n if (prevPosition !== this._position) {\r\n this._isScrollingBack = this._position < prevPosition\r\n }\r\n var itemIndex = this.getItemIndexByPosition();\r\n var result = this.setViewportItemIndex(itemIndex);\r\n this.positionChanged.fire();\r\n return result\r\n },\r\n setContentItemSizes(sizes) {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n this._contentSize = sizes.reduce((a, b) => a + b, 0);\r\n if (virtualItemsCount) {\r\n sizes.forEach((size, index) => {\r\n this._itemSizes[virtualItemsCount.begin + index] = size\r\n });\r\n var virtualContentSize = (virtualItemsCount.begin + virtualItemsCount.end + this.itemsCount()) * this._viewportItemSize;\r\n var contentHeightLimit = gridCoreUtils.getContentHeightLimit(browser);\r\n if (virtualContentSize > contentHeightLimit) {\r\n this._sizeRatio = contentHeightLimit / virtualContentSize\r\n } else {\r\n this._sizeRatio = 1\r\n }\r\n }\r\n },\r\n getItemSize() {\r\n return this._viewportItemSize * this._sizeRatio\r\n },\r\n getItemOffset(itemIndex, isEnd) {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n var itemCount = itemIndex;\r\n if (!virtualItemsCount) {\r\n return 0\r\n }\r\n var offset = 0;\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n Object.keys(this._itemSizes).forEach(currentItemIndex => {\r\n if (!itemCount) {\r\n return\r\n }\r\n if (isEnd ? currentItemIndex >= totalItemsCount - itemIndex : currentItemIndex < itemIndex) {\r\n offset += this._itemSizes[currentItemIndex];\r\n itemCount--\r\n }\r\n });\r\n return Math.floor(offset + itemCount * this._viewportItemSize * this._sizeRatio)\r\n },\r\n getContentOffset(type) {\r\n var isEnd = \"end\" === type;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n if (!virtualItemsCount) {\r\n return 0\r\n }\r\n return this.getItemOffset(isEnd ? virtualItemsCount.end : virtualItemsCount.begin, isEnd)\r\n },\r\n getVirtualContentSize() {\r\n var virtualItemsCount = this.virtualItemsCount();\r\n return virtualItemsCount ? this.getContentOffset(\"begin\") + this.getContentOffset(\"end\") + this._contentSize : 0\r\n },\r\n getViewportItemIndex() {\r\n return this._viewportItemIndex\r\n },\r\n setViewportItemIndex(itemIndex) {\r\n this._viewportItemIndex = itemIndex;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return\r\n }\r\n return this._dataLoader.viewportItemIndexChanged.apply(this._dataLoader, arguments)\r\n },\r\n viewportItemSize(size) {\r\n if (void 0 !== size) {\r\n this._viewportItemSize = size\r\n }\r\n return this._viewportItemSize\r\n },\r\n viewportSize(size) {\r\n if (void 0 !== size) {\r\n this._viewportSize = size\r\n }\r\n return this._viewportSize\r\n },\r\n viewportHeight(height, scrollTop) {\r\n var position = null !== scrollTop && void 0 !== scrollTop ? scrollTop : this._position;\r\n var begin = this.getItemIndexByPosition(position);\r\n var end = this.getItemIndexByPosition(position + height, begin, height);\r\n this.viewportSize(Math.ceil(end - begin));\r\n if (!isDefined(scrollTop) && this._viewportItemIndex !== begin) {\r\n this._setViewportPositionCore(position)\r\n }\r\n },\r\n reset(isRefresh) {\r\n this._dataLoader.reset();\r\n if (!isRefresh) {\r\n this._itemSizes = {}\r\n }\r\n },\r\n subscribeToWindowScrollEvents($element) {\r\n this._windowScroll = this._windowScroll || subscribeToExternalScrollers($element, scrollTop => {\r\n if (this.viewportItemSize()) {\r\n this.setViewportPosition(scrollTop)\r\n }\r\n })\r\n },\r\n dispose() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this._windowScroll && this._windowScroll.dispose();\r\n this._windowScroll = null\r\n },\r\n scrollTo(pos) {\r\n this._windowScroll && this._windowScroll.scrollTo(pos)\r\n },\r\n isVirtualMode() {\r\n return isVirtualMode(this)\r\n },\r\n isAppendMode() {\r\n return isAppendMode(this)\r\n },\r\n getViewportParams() {\r\n var _a;\r\n var virtualMode = this.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL;\r\n var totalItemsCount = this._dataOptions.totalItemsCount();\r\n var hasKnownLastPage = this._dataOptions.hasKnownLastPage();\r\n var topIndex = hasKnownLastPage && this._viewportItemIndex > totalItemsCount ? totalItemsCount : this._viewportItemIndex;\r\n var bottomIndex = this._viewportSize + topIndex;\r\n var maxGap = this.option(\"scrolling.prerenderedRowChunkSize\") || 1;\r\n var isScrollingBack = this.isScrollingBack();\r\n var minGap = null !== (_a = this.option(\"scrolling.prerenderedRowCount\")) && void 0 !== _a ? _a : 1;\r\n var topMinGap = isScrollingBack ? minGap : 0;\r\n var bottomMinGap = isScrollingBack ? 0 : minGap;\r\n var skip = Math.floor(Math.max(0, topIndex - topMinGap) / maxGap) * maxGap;\r\n var take = Math.ceil((bottomIndex + bottomMinGap - skip) / maxGap) * maxGap;\r\n if (virtualMode) {\r\n var remainedItems = Math.max(0, totalItemsCount - skip);\r\n take = Math.min(take, remainedItems)\r\n }\r\n return {\r\n skip: skip,\r\n take: take\r\n }\r\n },\r\n itemsCount() {\r\n var result = 0;\r\n if (this.option(LEGACY_SCROLLING_MODE)) {\r\n result = this._dataLoader.itemsCount.apply(this._dataLoader, arguments)\r\n } else {\r\n result = this._dataOptions.itemsCount()\r\n }\r\n return result\r\n }\r\n };\r\n [\"pageIndex\", \"beginPageIndex\", \"endPageIndex\", \"pageSize\", \"load\", \"loadIfNeed\", \"handleDataChanged\", \"getDelayDeferred\"].forEach(name => {\r\n members[name] = function() {\r\n return this._dataLoader[name].apply(this._dataLoader, arguments)\r\n }\r\n });\r\n return members\r\n}());\r\nexport default {\r\n VirtualScrollController: VirtualScrollController\r\n};\r\nexport {\r\n subscribeToExternalScrollers,\r\n VirtualScrollController\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_scrolling/m_virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterHeight\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n getWindow\r\n} from \"../../../../core/utils/window\";\r\nimport LoadIndicator from \"../../../../ui/load_indicator\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n subscribeToExternalScrollers,\r\n VirtualScrollController\r\n} from \"./m_virtual_scrolling_core\";\r\nvar BOTTOM_LOAD_PANEL_CLASS = \"bottom-load-panel\";\r\nvar TABLE_CONTENT_CLASS = \"table-content\";\r\nvar GROUP_SPACE_CLASS = \"group-space\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar FREESPACE_CLASS = \"dx-freespace-row\";\r\nvar COLUMN_LINES_CLASS = \"dx-column-lines\";\r\nvar VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nvar ROW_INSERTED = \"dx-row-inserted\";\r\nvar SCROLLING_MODE_INFINITE = \"infinite\";\r\nvar SCROLLING_MODE_VIRTUAL = \"virtual\";\r\nvar LOAD_TIMEOUT = 300;\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\nvar VISIBLE_PAGE_INDEX = \"paging.pageIndex\";\r\nvar isVirtualMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_VIRTUAL\r\n};\r\nvar isAppendMode = function(that) {\r\n return that.option(\"scrolling.mode\") === SCROLLING_MODE_INFINITE\r\n};\r\nvar isVirtualPaging = function(that) {\r\n return isVirtualMode(that) || isAppendMode(that)\r\n};\r\nvar correctCount = function(items, count, fromEnd, isItemCountableFunc) {\r\n for (var i = 0; i < count + 1; i++) {\r\n var item = items[fromEnd ? items.length - 1 - i : i];\r\n if (item && !isItemCountableFunc(item, i === count, fromEnd)) {\r\n count++\r\n }\r\n }\r\n return count\r\n};\r\nvar isItemCountableByDataSource = function(item, dataSource) {\r\n return \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && dataSource.isGroupItemCountable(item.data)\r\n};\r\nvar updateItemIndices = function(items) {\r\n items.forEach((item, index) => {\r\n item.rowIndex = index\r\n });\r\n return items\r\n};\r\nvar VirtualScrollingDataSourceAdapterExtender = function() {\r\n var updateLoading = function(that) {\r\n var beginPageIndex = that._virtualScrollController.beginPageIndex(-1);\r\n if (isVirtualMode(that)) {\r\n if (beginPageIndex < 0 || that.viewportSize() >= 0 && that.getViewportItemIndex() >= 0 && (beginPageIndex * that.pageSize() > that.getViewportItemIndex() || beginPageIndex * that.pageSize() + that.itemsCount() < that.getViewportItemIndex() + that.viewportSize()) && that._dataSource.isLoading()) {\r\n if (!that._isLoading) {\r\n that._isLoading = true;\r\n that.loadingChanged.fire(true)\r\n }\r\n } else if (that._isLoading) {\r\n that._isLoading = false;\r\n that.loadingChanged.fire(false)\r\n }\r\n }\r\n };\r\n var result = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._items = [];\r\n this._totalCount = -1;\r\n this._isLoaded = true;\r\n this._loadPageCount = 1;\r\n this._virtualScrollController = new VirtualScrollController(this.component, this._getVirtualScrollDataOptions())\r\n },\r\n _getVirtualScrollDataOptions() {\r\n var that = this;\r\n return {\r\n pageSize: () => that.pageSize(),\r\n totalItemsCount: () => that.totalItemsCount(),\r\n hasKnownLastPage: () => that.hasKnownLastPage(),\r\n pageIndex: index => that._dataSource.pageIndex(index),\r\n isLoading: () => that._dataSource.isLoading() && !that.isCustomLoading(),\r\n pageCount: () => that.pageCount(),\r\n load: () => that._dataSource.load(),\r\n updateLoading() {\r\n updateLoading(that)\r\n },\r\n itemsCount: () => that.itemsCount(true),\r\n items: () => that._dataSource.items(),\r\n viewportItems(items) {\r\n if (items) {\r\n that._items = items\r\n }\r\n return that._items\r\n },\r\n onChanged(e) {\r\n that.changed.fire(e)\r\n },\r\n changingDuration() {\r\n if (that.isLoading()) {\r\n return LOAD_TIMEOUT\r\n }\r\n return that._renderTime || 0\r\n }\r\n }\r\n },\r\n _handleLoadingChanged(isLoading) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n if (!isVirtualMode(this) || this._isLoadingAll) {\r\n this._isLoading = isLoading;\r\n this.callBase.apply(this, arguments)\r\n }\r\n if (isLoading) {\r\n this._startLoadTime = new Date\r\n } else {\r\n this._startLoadTime = void 0\r\n }\r\n },\r\n _handleLoadError() {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n this._isLoading = false;\r\n this.loadingChanged.fire(false)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _handleDataChanged(e) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._items = this._dataSource.items().slice();\r\n this._totalCount = this._dataSourceTotalCount(true);\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n var callBase = this.callBase.bind(this);\r\n this._virtualScrollController.handleDataChanged(callBase, e)\r\n },\r\n _customizeRemoteOperations(options, operationTypes) {\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n if (!isDefined(renderAsync)) {\r\n renderAsync = this._renderTime >= this.option(\"scrolling.renderingThreshold\")\r\n }\r\n if ((isVirtualMode(this) || isAppendMode(this) && newMode) && !operationTypes.reload && (operationTypes.skip || newMode) && !renderAsync) {\r\n options.delay = void 0\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n items() {\r\n return this._items\r\n },\r\n _dataSourceTotalCount(isBase) {\r\n return false === this.option(LEGACY_SCROLLING_MODE) && isVirtualMode(this) && !isBase ? this._totalCount : this.callBase()\r\n },\r\n itemsCount(isBase) {\r\n if (isBase || false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return this.callBase()\r\n }\r\n return this._virtualScrollController.itemsCount()\r\n },\r\n load(loadOptions) {\r\n if (false === this.option(LEGACY_SCROLLING_MODE) || loadOptions) {\r\n return this.callBase(loadOptions)\r\n }\r\n return this._virtualScrollController.load()\r\n },\r\n isLoading() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? this._dataSource.isLoading() : this._isLoading\r\n },\r\n isLoaded() {\r\n return this._dataSource.isLoaded() && this._isLoaded\r\n },\r\n resetPagesCache(isLiveUpdate) {\r\n if (!isLiveUpdate) {\r\n this._virtualScrollController.reset(true)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _changeRowExpandCore() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n this.resetPagesCache();\r\n updateLoading(this);\r\n return result\r\n },\r\n reload() {\r\n this._dataSource.pageIndex(this.pageIndex());\r\n var virtualScrollController = this._virtualScrollController;\r\n if (false !== this.option(LEGACY_SCROLLING_MODE) && virtualScrollController) {\r\n var d = new Deferred;\r\n this.callBase.apply(this, arguments).done(r => {\r\n var delayDeferred = virtualScrollController.getDelayDeferred();\r\n if (delayDeferred) {\r\n delayDeferred.done(d.resolve).fail(d.reject)\r\n } else {\r\n d.resolve(r)\r\n }\r\n }).fail(d.reject);\r\n return d\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n refresh(options, operationTypes) {\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var dataSource = this._dataSource;\r\n if (operationTypes.reload) {\r\n this._virtualScrollController.reset();\r\n dataSource.items().length = 0;\r\n this._isLoaded = false;\r\n updateLoading(this);\r\n this._isLoaded = true;\r\n if (isAppendMode(this)) {\r\n this.pageIndex(0);\r\n dataSource.pageIndex(0);\r\n storeLoadOptions.pageIndex = 0;\r\n options.pageIndex = 0;\r\n storeLoadOptions.skip = 0\r\n } else {\r\n dataSource.pageIndex(this.pageIndex());\r\n if (dataSource.paginate()) {\r\n options.pageIndex = this.pageIndex();\r\n storeLoadOptions.skip = this.pageIndex() * this.pageSize()\r\n }\r\n }\r\n } else if (isAppendMode(this) && storeLoadOptions.skip && this._totalCountCorrection < 0) {\r\n storeLoadOptions.skip += this._totalCountCorrection\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n dispose() {\r\n this._virtualScrollController.dispose();\r\n this.callBase.apply(this, arguments)\r\n },\r\n loadPageCount(count) {\r\n if (!isDefined(count)) {\r\n return this._loadPageCount\r\n }\r\n this._loadPageCount = count\r\n },\r\n _handleDataLoading(options) {\r\n var loadPageCount = this.loadPageCount();\r\n var pageSize = this.pageSize();\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var {\r\n storeLoadOptions: storeLoadOptions\r\n } = options;\r\n var takeIsDefined = isDefined(storeLoadOptions.take);\r\n options.loadPageCount = loadPageCount;\r\n if (!options.isCustomLoading && newMode && takeIsDefined && loadPageCount > 1 && pageSize > 0) {\r\n storeLoadOptions.take = loadPageCount * pageSize\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _loadPageSize() {\r\n return this.callBase.apply(this, arguments) * this.loadPageCount()\r\n }\r\n };\r\n [\"beginPageIndex\", \"endPageIndex\", \"pageIndex\"].forEach(name => {\r\n result[name] = function() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = this._dataSource;\r\n return dataSource.pageIndex.apply(dataSource, arguments)\r\n }\r\n var virtualScrollController = this._virtualScrollController;\r\n return virtualScrollController[name].apply(virtualScrollController, arguments)\r\n }\r\n });\r\n [\"virtualItemsCount\", \"getContentOffset\", \"getVirtualContentSize\", \"setContentItemSizes\", \"setViewportPosition\", \"getViewportItemIndex\", \"setViewportItemIndex\", \"getItemIndexByPosition\", \"viewportSize\", \"viewportItemSize\", \"getItemSize\", \"getItemSizes\", \"loadIfNeed\"].forEach(name => {\r\n result[name] = function() {\r\n var virtualScrollController = this._virtualScrollController;\r\n return virtualScrollController[name].apply(virtualScrollController, arguments)\r\n }\r\n });\r\n return result\r\n}();\r\nvar VirtualScrollingRowsViewExtender = function() {\r\n var removeEmptyRows = function($emptyRows, className) {\r\n var tBodies = $emptyRows.toArray().map(row => $(row).parent(\".\".concat(className)).get(0)).filter(row => row);\r\n if (tBodies.length) {\r\n $emptyRows = $(tBodies)\r\n }\r\n var rowCount = className === FREESPACE_CLASS ? $emptyRows.length - 1 : $emptyRows.length;\r\n for (var i = 0; i < rowCount; i++) {\r\n $emptyRows.eq(i).remove()\r\n }\r\n };\r\n return {\r\n init() {\r\n var _a;\r\n var dataController = this.getController(\"data\");\r\n this.callBase();\r\n dataController.pageChanged.add(pageIndex => {\r\n var scrollTop = this._scrollTop;\r\n this.scrollToPage(null !== pageIndex && void 0 !== pageIndex ? pageIndex : dataController.pageIndex());\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && this._scrollTop === scrollTop) {\r\n dataController.updateViewport()\r\n }\r\n });\r\n dataController.dataSourceChanged.add(() => {\r\n !this._scrollTop && this._scrollToCurrentPageOnResize()\r\n });\r\n null === (_a = dataController.stateLoaded) || void 0 === _a ? void 0 : _a.add(() => {\r\n this._scrollToCurrentPageOnResize()\r\n });\r\n this._scrollToCurrentPageOnResize()\r\n },\r\n _scrollToCurrentPageOnResize() {\r\n var dataController = this.getController(\"data\");\r\n if (dataController.pageIndex() > 0) {\r\n var resizeHandler = () => {\r\n this.resizeCompleted.remove(resizeHandler);\r\n this.scrollToPage(dataController.pageIndex())\r\n };\r\n this.resizeCompleted.add(resizeHandler)\r\n }\r\n },\r\n scrollToPage(pageIndex) {\r\n var dataController = this._dataController;\r\n var pageSize = dataController ? dataController.pageSize() : 0;\r\n var scrollPosition;\r\n if (isVirtualMode(this) || isAppendMode(this)) {\r\n var itemSize = dataController.getItemSize();\r\n var itemSizes = dataController.getItemSizes();\r\n var itemIndex = pageIndex * pageSize;\r\n scrollPosition = itemIndex * itemSize;\r\n for (var index in itemSizes) {\r\n if (parseInt(index) < itemIndex) {\r\n scrollPosition += itemSizes[index] - itemSize\r\n }\r\n }\r\n } else {\r\n scrollPosition = 0\r\n }\r\n this.scrollTo({\r\n y: scrollPosition,\r\n x: this._scrollLeft\r\n })\r\n },\r\n renderDelayedTemplates() {\r\n this.waitAsyncTemplates().done(() => {\r\n this._updateContentPosition(true)\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderCore(e) {\r\n var startRenderTime = new Date;\r\n var deferred = this.callBase.apply(this, arguments);\r\n var dataSource = this._dataController._dataSource;\r\n if (dataSource && e) {\r\n var itemCount = e.items ? e.items.length : 20;\r\n var viewportSize = this._dataController.viewportSize() || 20;\r\n if (gridCoreUtils.isVirtualRowRendering(this) && itemCount > 0 && false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n dataSource._renderTime = (new Date - startRenderTime) * viewportSize / itemCount\r\n } else {\r\n dataSource._renderTime = new Date - startRenderTime\r\n }\r\n }\r\n return deferred\r\n },\r\n _getRowElements(tableElement) {\r\n var $rows = this.callBase(tableElement);\r\n return $rows && $rows.not(\".\".concat(VIRTUAL_ROW_CLASS))\r\n },\r\n _removeRowsElements(contentTable, removeCount, changeType) {\r\n var rowElements = this._getRowElements(contentTable).toArray();\r\n if (\"append\" === changeType) {\r\n rowElements = rowElements.slice(0, removeCount)\r\n } else {\r\n rowElements = rowElements.slice(-removeCount)\r\n }\r\n var errorHandlingController = this.getController(\"errorHandling\");\r\n rowElements.map(rowElement => {\r\n var $rowElement = $(rowElement);\r\n errorHandlingController && errorHandlingController.removeErrorRow($rowElement.next());\r\n $rowElement.remove()\r\n })\r\n },\r\n _updateContent(tableElement, change) {\r\n var $freeSpaceRowElements;\r\n var contentElement = this._findContentElement();\r\n var changeType = change && change.changeType;\r\n var d = Deferred();\r\n var contentTable = contentElement.children().first();\r\n if (\"append\" === changeType || \"prepend\" === changeType) {\r\n this.waitAsyncTemplates().done(() => {\r\n var $tBodies = this._getBodies(tableElement);\r\n if (1 === $tBodies.length) {\r\n this._getBodies(contentTable)[\"append\" === changeType ? \"append\" : \"prepend\"]($tBodies.children())\r\n } else {\r\n $tBodies[\"append\" === changeType ? \"appendTo\" : \"prependTo\"](contentTable)\r\n }\r\n tableElement.remove();\r\n $freeSpaceRowElements = this._getFreeSpaceRowElements(contentTable);\r\n removeEmptyRows($freeSpaceRowElements, FREESPACE_CLASS);\r\n if (change.removeCount) {\r\n this._removeRowsElements(contentTable, change.removeCount, changeType)\r\n }\r\n this._restoreErrorRow(contentTable);\r\n d.resolve()\r\n }).fail(d.reject)\r\n } else {\r\n this.callBase.apply(this, arguments).done(() => {\r\n if (\"update\" === changeType) {\r\n this._restoreErrorRow(contentTable)\r\n }\r\n d.resolve()\r\n }).fail(d.reject)\r\n }\r\n return d.promise().done(() => {\r\n this._updateBottomLoading()\r\n })\r\n },\r\n _addVirtualRow($table, isFixed, location, position) {\r\n if (!position) {\r\n return\r\n }\r\n var $virtualRow = this._createEmptyRow(VIRTUAL_ROW_CLASS, isFixed, position);\r\n $virtualRow = this._wrapRowIfNeed($table, $virtualRow);\r\n this._appendEmptyRow($table, $virtualRow, location)\r\n },\r\n _updateContentItemSizes() {\r\n var rowHeights = this._getRowHeights();\r\n var correctedRowHeights = this._correctRowHeights(rowHeights);\r\n this._dataController.setContentItemSizes(correctedRowHeights)\r\n },\r\n _updateViewportSize(viewportHeight, scrollTop) {\r\n if (!isDefined(viewportHeight)) {\r\n viewportHeight = this._hasHeight ? getOuterHeight(this.element()) : getOuterHeight(getWindow())\r\n }\r\n this._dataController.viewportHeight(viewportHeight, scrollTop)\r\n },\r\n _getRowHeights() {\r\n var _a, _b;\r\n var isPopupEditMode = null === (_b = null === (_a = this.getController(\"editing\")) || void 0 === _a ? void 0 : _a.isPopupEditMode) || void 0 === _b ? void 0 : _b.call(_a);\r\n var rowElements = this._getRowElements(this._tableElement).toArray();\r\n if (isPopupEditMode) {\r\n rowElements = rowElements.filter(row => !$(row).hasClass(ROW_INSERTED))\r\n }\r\n return rowElements.map(row => getBoundingRect(row).height)\r\n },\r\n _correctRowHeights(rowHeights) {\r\n var dataController = this._dataController;\r\n var dataSource = dataController._dataSource;\r\n var correctedRowHeights = [];\r\n var visibleRows = dataController.getVisibleRows();\r\n var itemSize = 0;\r\n var firstCountableItem = true;\r\n var lastLoadIndex = -1;\r\n for (var i = 0; i < rowHeights.length; i++) {\r\n var currentItem = visibleRows[i];\r\n if (!isDefined(currentItem)) {\r\n continue\r\n }\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n if (lastLoadIndex >= 0 && lastLoadIndex !== currentItem.loadIndex) {\r\n correctedRowHeights.push(itemSize);\r\n itemSize = 0\r\n }\r\n lastLoadIndex = currentItem.loadIndex\r\n } else if (isItemCountableByDataSource(currentItem, dataSource)) {\r\n if (firstCountableItem) {\r\n firstCountableItem = false\r\n } else {\r\n correctedRowHeights.push(itemSize);\r\n itemSize = 0\r\n }\r\n }\r\n itemSize += rowHeights[i]\r\n }\r\n itemSize > 0 && correctedRowHeights.push(itemSize);\r\n return correctedRowHeights\r\n },\r\n _updateContentPosition(isRender) {\r\n var dataController = this._dataController;\r\n var rowHeight = this._rowHeight || 20;\r\n dataController.viewportItemSize(rowHeight);\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n if (!isRender) {\r\n this._updateContentItemSizes()\r\n }\r\n var top = dataController.getContentOffset(\"begin\");\r\n var bottom = dataController.getContentOffset(\"end\");\r\n var $tables = this.getTableElements();\r\n var $virtualRows = $tables.children(\"tbody\").children(\".\".concat(VIRTUAL_ROW_CLASS));\r\n removeEmptyRows($virtualRows, VIRTUAL_ROW_CLASS);\r\n $tables.each((index, element) => {\r\n var isFixed = index > 0;\r\n var prevFixed = this._isFixedTableRendering;\r\n this._isFixedTableRendering = isFixed;\r\n this._addVirtualRow($(element), isFixed, \"top\", top);\r\n this._addVirtualRow($(element), isFixed, \"bottom\", bottom);\r\n this._isFixedTableRendering = prevFixed\r\n })\r\n }\r\n },\r\n _isTableLinesDisplaysCorrect(table) {\r\n var hasColumnLines = table.find(\".\".concat(COLUMN_LINES_CLASS)).length > 0;\r\n return hasColumnLines === this.option(\"showColumnLines\")\r\n },\r\n _isColumnElementsEqual($columns, $virtualColumns) {\r\n var result = $columns.length === $virtualColumns.length;\r\n if (result) {\r\n each($columns, (index, element) => {\r\n if (element.style.width !== $virtualColumns[index].style.width) {\r\n result = false;\r\n return result\r\n }\r\n return\r\n })\r\n }\r\n return result\r\n },\r\n _getCellClasses(column) {\r\n var classes = [];\r\n var {\r\n cssClass: cssClass\r\n } = column;\r\n var isExpandColumn = \"expand\" === column.command;\r\n cssClass && classes.push(cssClass);\r\n isExpandColumn && classes.push(this.addWidgetPrefix(GROUP_SPACE_CLASS));\r\n return classes\r\n },\r\n _findBottomLoadPanel($contentElement) {\r\n var $element = $contentElement || this.element();\r\n var $bottomLoadPanel = $element && $element.find(\".\".concat(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)));\r\n if ($bottomLoadPanel && $bottomLoadPanel.length) {\r\n return $bottomLoadPanel\r\n }\r\n },\r\n _updateBottomLoading() {\r\n var virtualMode = isVirtualMode(this);\r\n var appendMode = isAppendMode(this);\r\n var showBottomLoading = !this._dataController.hasKnownLastPage() && this._dataController.isLoaded() && (virtualMode || appendMode);\r\n var $contentElement = this._findContentElement();\r\n var bottomLoadPanelElement = this._findBottomLoadPanel($contentElement);\r\n if (showBottomLoading) {\r\n if (!bottomLoadPanelElement) {\r\n $(\"<div>\").addClass(this.addWidgetPrefix(BOTTOM_LOAD_PANEL_CLASS)).append(this._createComponent($(\"<div>\"), LoadIndicator).$element()).appendTo($contentElement)\r\n }\r\n } else if (bottomLoadPanelElement) {\r\n bottomLoadPanelElement.remove()\r\n }\r\n },\r\n _handleScroll(e) {\r\n var legacyScrollingMode = true === this.option(LEGACY_SCROLLING_MODE);\r\n var zeroTopPosition = 0 === e.scrollOffset.top;\r\n var isScrollTopChanged = this._scrollTop !== e.scrollOffset.top;\r\n var hasScrolled = isScrollTopChanged || e.forceUpdateScrollPosition;\r\n var isValidScrollTarget = this._hasHeight || !legacyScrollingMode && zeroTopPosition;\r\n if (hasScrolled && isValidScrollTarget && this._rowHeight) {\r\n this._scrollTop = e.scrollOffset.top;\r\n var isVirtualRowRendering = isVirtualMode(this) || \"standard\" !== this.option(\"scrolling.rowRenderingMode\");\r\n if (isVirtualRowRendering && false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateContentItemSizes();\r\n this._updateViewportSize(null, this._scrollTop)\r\n }\r\n this._dataController.setViewportPosition(e.scrollOffset.top)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _needUpdateRowHeight(itemsCount) {\r\n return this.callBase.apply(this, arguments) || itemsCount > 0 && isAppendMode(this) && !gridCoreUtils.isVirtualRowRendering(this)\r\n },\r\n _updateRowHeight() {\r\n this.callBase.apply(this, arguments);\r\n if (this._rowHeight) {\r\n this._updateContentPosition();\r\n var viewportHeight = this._hasHeight ? getOuterHeight(this.element()) : getOuterHeight(getWindow());\r\n var dataController = this._dataController;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateViewportSize(viewportHeight);\r\n dataController.updateViewport()\r\n } else {\r\n dataController.viewportSize(Math.ceil(viewportHeight / this._rowHeight))\r\n }\r\n }\r\n },\r\n updateFreeSpaceRowHeight() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (result) {\r\n this._updateContentPosition()\r\n }\r\n return result\r\n },\r\n setLoading(isLoading, messageText) {\r\n var dataController = this._dataController;\r\n var hasBottomLoadPanel = dataController.pageIndex() > 0 && dataController.isLoaded() && !!this._findBottomLoadPanel();\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isLoading && dataController.isViewportChanging()) {\r\n return\r\n }\r\n if (hasBottomLoadPanel) {\r\n isLoading = false\r\n }\r\n this.callBase.call(this, isLoading, messageText)\r\n },\r\n _resizeCore() {\r\n var that = this;\r\n var $element = that.element();\r\n that.callBase();\r\n if (that.component.$element() && !that._windowScroll && isElementInDom($element)) {\r\n that._windowScroll = subscribeToExternalScrollers($element, scrollPos => {\r\n if (!that._hasHeight && that._rowHeight) {\r\n that._dataController.setViewportPosition(scrollPos)\r\n }\r\n }, that.component.$element());\r\n that.on(\"disposing\", () => {\r\n that._windowScroll.dispose()\r\n })\r\n }\r\n if (false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n that.loadIfNeed()\r\n }\r\n },\r\n loadIfNeed() {\r\n var _a;\r\n var dataController = this._dataController;\r\n null === (_a = null === dataController || void 0 === dataController ? void 0 : dataController.loadIfNeed) || void 0 === _a ? void 0 : _a.call(dataController)\r\n },\r\n setColumnWidths(widths) {\r\n var scrollable = this.getScrollable();\r\n var $content;\r\n this.callBase.apply(this, arguments);\r\n if (\"virtual\" === this.option(\"scrolling.mode\")) {\r\n $content = scrollable ? $(scrollable.content()) : this.element();\r\n this.callBase(widths, $content.children(\".\".concat(this.addWidgetPrefix(CONTENT_CLASS))).children(\":not(.\".concat(this.addWidgetPrefix(TABLE_CONTENT_CLASS), \")\")))\r\n }\r\n },\r\n _restoreErrorRow() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var errorHandling = this.getController(\"errorHandling\");\r\n null === errorHandling || void 0 === errorHandling ? void 0 : errorHandling.removeErrorRow()\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n dispose() {\r\n clearTimeout(this._scrollTimeoutID);\r\n this.callBase()\r\n }\r\n }\r\n}();\r\nexport var virtualScrollingModule = {\r\n defaultOptions: () => ({\r\n scrolling: {\r\n timeout: 300,\r\n updateTimeout: 300,\r\n minTimeout: 0,\r\n renderingThreshold: 100,\r\n removeInvisiblePages: true,\r\n rowPageSize: 5,\r\n prerenderedRowChunkSize: 1,\r\n mode: \"standard\",\r\n preloadEnabled: false,\r\n rowRenderingMode: \"standard\",\r\n loadTwoPagesOnStart: false,\r\n legacyMode: false,\r\n prerenderedRowCount: 1\r\n }\r\n }),\r\n extenders: {\r\n dataSourceAdapter: VirtualScrollingDataSourceAdapterExtender,\r\n controllers: {\r\n data: function() {\r\n var members = {\r\n _refreshDataSource() {\r\n var baseResult = this.callBase.apply(this, arguments) || (new Deferred).resolve().promise();\r\n baseResult.done(this.initVirtualRows.bind(this));\r\n return baseResult\r\n },\r\n _loadDataSource() {\r\n var _a;\r\n if (this._rowsScrollController && isVirtualPaging(this)) {\r\n var {\r\n loadPageCount: loadPageCount\r\n } = isDefined(this._loadViewportParams) ? this.getLoadPageParams() : {\r\n loadPageCount: void 0\r\n };\r\n loadPageCount >= 1 && (null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(loadPageCount))\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getRowPageSize() {\r\n var rowPageSize = this.option(\"scrolling.rowPageSize\");\r\n var pageSize = this.pageSize();\r\n return pageSize && pageSize < rowPageSize ? pageSize : rowPageSize\r\n },\r\n reload() {\r\n var rowsScrollController = this._rowsScrollController || this._dataSource;\r\n var itemIndex = rowsScrollController && rowsScrollController.getItemIndexByPosition();\r\n var result = this.callBase.apply(this, arguments);\r\n return result && result.done(() => {\r\n var _a;\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n var rowIndex = Math.floor(itemIndex) - rowIndexOffset;\r\n var {\r\n component: component\r\n } = this;\r\n var scrollable = component.getScrollable && component.getScrollable();\r\n var isSortingOperation = this.dataSource().operationTypes().sorting;\r\n if (scrollable && !isSortingOperation && rowIndex >= 0) {\r\n var rowElement = component.getRowElement(rowIndex);\r\n var $rowElement = rowElement && rowElement[0] && $(rowElement[0]);\r\n var top = $rowElement && $rowElement.position().top;\r\n var isChromeLatest = browser.chrome && Number(null !== (_a = browser.version) && void 0 !== _a ? _a : 0) >= 91;\r\n var allowedTopOffset = browser.mozilla || isChromeLatest ? 1 : 0;\r\n if (top > allowedTopOffset) {\r\n top = Math.round(top + getOuterHeight($rowElement) * (itemIndex % 1));\r\n scrollable.scrollTo({\r\n y: top\r\n })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n initVirtualRows() {\r\n var virtualRowsRendering = gridCoreUtils.isVirtualRowRendering(this);\r\n this._allItems = null;\r\n this._loadViewportParams = null;\r\n if (\"virtual\" !== this.option(\"scrolling.mode\") && !virtualRowsRendering || !virtualRowsRendering || false !== this.option(LEGACY_SCROLLING_MODE) && !this.option(\"scrolling.rowPageSize\")) {\r\n this._visibleItems = null;\r\n this._rowsScrollController = null;\r\n return\r\n }\r\n var pageIndex = !isVirtualMode(this) && this.pageIndex() >= this.pageCount() ? this.pageCount() - 1 : this.pageIndex();\r\n this._rowPageIndex = Math.ceil(pageIndex * this.pageSize() / this.getRowPageSize());\r\n this._visibleItems = false === this.option(LEGACY_SCROLLING_MODE) ? null : [];\r\n this._viewportChanging = false;\r\n this._needUpdateViewportAfterLoading = false;\r\n if (!this._rowsScrollController) {\r\n this._rowsScrollController = new VirtualScrollController(this.component, this._getRowsScrollDataOptions(), true);\r\n this._rowsScrollController.positionChanged.add(() => {\r\n var _a;\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._viewportChanging = true;\r\n this.loadViewport();\r\n this._viewportChanging = false;\r\n return\r\n }\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.setViewportItemIndex(this._rowsScrollController.getViewportItemIndex())\r\n })\r\n }\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n this._updateLoadViewportParams()\r\n }\r\n if (this.isLoaded() && false !== this.option(LEGACY_SCROLLING_MODE)) {\r\n this._rowsScrollController.load()\r\n }\r\n },\r\n isViewportChanging() {\r\n return this._viewportChanging\r\n },\r\n _getRowsScrollDataOptions() {\r\n var that = this;\r\n var isItemCountable = function(item) {\r\n return isItemCountableByDataSource(item, that._dataSource)\r\n };\r\n return {\r\n pageSize: () => that.getRowPageSize(),\r\n loadedOffset() {\r\n var _a;\r\n return isVirtualMode(that) && (null === (_a = that._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions().skip) || 0\r\n },\r\n loadedItemCount: () => that._itemCount,\r\n totalItemsCount() {\r\n if (isVirtualPaging(that)) {\r\n return that.totalItemsCount()\r\n }\r\n return false === that.option(LEGACY_SCROLLING_MODE) ? that._itemCount : that._items.filter(isItemCountable).length\r\n },\r\n hasKnownLastPage: () => false === that.option(LEGACY_SCROLLING_MODE) ? that.hasKnownLastPage() : true,\r\n pageIndex(index) {\r\n if (void 0 !== index) {\r\n that._rowPageIndex = index\r\n }\r\n return that._rowPageIndex\r\n },\r\n isLoading: () => that.isLoading(),\r\n pageCount() {\r\n var pageCount = Math.ceil(this.totalItemsCount() / this.pageSize());\r\n return pageCount || 1\r\n },\r\n load() {\r\n if (that._rowsScrollController.pageIndex() >= this.pageCount()) {\r\n that._rowPageIndex = this.pageCount() - 1;\r\n that._rowsScrollController.pageIndex(that._rowPageIndex)\r\n }\r\n if (!this.items().length && this.totalItemsCount()) {\r\n return\r\n }\r\n that._rowsScrollController.handleDataChanged(change => {\r\n change = change || {};\r\n change.changeType = change.changeType || \"refresh\";\r\n change.items = change.items || that._visibleItems;\r\n that._visibleItems.forEach((item, index) => {\r\n item.rowIndex = index\r\n });\r\n that._fireChanged(change)\r\n })\r\n },\r\n updateLoading() {},\r\n itemsCount() {\r\n return this.items(true).length\r\n },\r\n correctCount: (items, count, fromEnd) => correctCount(items, count, fromEnd, (item, isNextAfterLast, fromEnd) => {\r\n if (item.isNewRow) {\r\n return isNextAfterLast && !fromEnd\r\n }\r\n if (isNextAfterLast && fromEnd) {\r\n return !item.isNewRow\r\n }\r\n return isItemCountable(item)\r\n }),\r\n items(countableOnly) {\r\n var result = that._items;\r\n if (that.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = that.dataSource();\r\n var virtualItemsCount = null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount();\r\n var begin = virtualItemsCount ? virtualItemsCount.begin : 0;\r\n var rowPageSize = that.getRowPageSize();\r\n var skip = that._rowPageIndex * rowPageSize - begin;\r\n var take = rowPageSize;\r\n if (skip < 0) {\r\n return []\r\n }\r\n if (skip) {\r\n skip = this.correctCount(result, skip);\r\n result = result.slice(skip)\r\n }\r\n if (take) {\r\n take = this.correctCount(result, take);\r\n result = result.slice(0, take)\r\n }\r\n }\r\n return countableOnly ? result.filter(isItemCountable) : result\r\n },\r\n viewportItems(items) {\r\n if (items && false !== that.option(LEGACY_SCROLLING_MODE)) {\r\n that._visibleItems = items\r\n }\r\n return that._visibleItems\r\n },\r\n onChanged() {},\r\n changingDuration() {\r\n var dataSource = that.dataSource();\r\n if ((null === dataSource || void 0 === dataSource ? void 0 : dataSource.isLoading()) && false !== that.option(LEGACY_SCROLLING_MODE)) {\r\n return LOAD_TIMEOUT\r\n }\r\n return (null === dataSource || void 0 === dataSource ? void 0 : dataSource._renderTime) || 0\r\n }\r\n }\r\n },\r\n _updateItemsCore(change) {\r\n var delta = this.getRowIndexDelta();\r\n this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && gridCoreUtils.isVirtualRowRendering(this)) {\r\n if (\"update\" === change.changeType && 0 === change.rowIndices.length && change.cancelEmptyChanges) {\r\n change.cancel = true\r\n }\r\n return\r\n }\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n var visibleItems = this._visibleItems;\r\n var isRefresh = \"refresh\" === change.changeType || change.isLiveUpdate;\r\n if (\"append\" === change.changeType && change.items && !change.items.length) {\r\n return\r\n }\r\n if (isRefresh || \"append\" === change.changeType || \"prepend\" === change.changeType) {\r\n change.cancel = true;\r\n isRefresh && rowsScrollController.reset(true);\r\n rowsScrollController.load()\r\n } else {\r\n if (\"update\" === change.changeType) {\r\n change.rowIndices.forEach((rowIndex, index) => {\r\n var changeType = change.changeTypes[index];\r\n var newItem = change.items[index];\r\n if (\"update\" === changeType) {\r\n visibleItems[rowIndex] = newItem\r\n } else if (\"insert\" === changeType) {\r\n visibleItems.splice(rowIndex, 0, newItem)\r\n } else if (\"remove\" === changeType) {\r\n visibleItems.splice(rowIndex, 1)\r\n }\r\n })\r\n } else {\r\n visibleItems.forEach((item, index) => {\r\n visibleItems[index] = this._items[index + delta] || visibleItems[index]\r\n });\r\n change.items = visibleItems\r\n }\r\n updateItemIndices(visibleItems)\r\n }\r\n }\r\n },\r\n _updateLoadViewportParams() {\r\n var viewportParams = this._rowsScrollController.getViewportParams();\r\n var pageSize = this.pageSize();\r\n if (viewportParams && !isVirtualPaging(this) && pageSize > 0) {\r\n var pageOffset = this.pageIndex() * pageSize;\r\n viewportParams.skip += pageOffset\r\n }\r\n this._loadViewportParams = viewportParams\r\n },\r\n _processItems() {\r\n var _a;\r\n var resultItems = this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n var dataSource = this._dataSource;\r\n var currentIndex = null !== (_a = null === dataSource || void 0 === dataSource ? void 0 : dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0;\r\n var prevCountable;\r\n var prevRowType;\r\n var isPrevRowNew;\r\n var wasCountableItem = false;\r\n var newRows = [];\r\n resultItems.forEach(item => {\r\n var {\r\n rowType: rowType\r\n } = item;\r\n var itemCountable = isItemCountableByDataSource(item, dataSource);\r\n var isNextGroupItem = \"group\" === rowType && (prevCountable || itemCountable || \"group\" !== prevRowType && currentIndex > 0);\r\n var isNextDataItem = \"data\" === rowType && itemCountable && (prevCountable || \"group\" !== prevRowType);\r\n if (!item.isNewRow && isDefined(prevCountable)) {\r\n var isPrevNewRowFirst = isPrevRowNew && !wasCountableItem;\r\n if ((isNextGroupItem || isNextDataItem) && !isPrevNewRowFirst) {\r\n currentIndex++\r\n }\r\n }\r\n if (isNextGroupItem || isNextDataItem) {\r\n wasCountableItem = true\r\n }\r\n if (item.isNewRow) {\r\n newRows.push(item)\r\n } else {\r\n newRows.forEach(it => {\r\n it.loadIndex = currentIndex\r\n });\r\n newRows = []\r\n }\r\n item.loadIndex = currentIndex;\r\n prevCountable = itemCountable;\r\n prevRowType = rowType;\r\n isPrevRowNew = item.isNewRow\r\n });\r\n newRows.forEach(it => {\r\n it.loadIndex = currentIndex\r\n })\r\n }\r\n return resultItems\r\n },\r\n _afterProcessItems(items) {\r\n this._itemCount = items.filter(item => isItemCountableByDataSource(item, this._dataSource)).length;\r\n if (isDefined(this._loadViewportParams)) {\r\n this._updateLoadViewportParams();\r\n var result = items;\r\n this._allItems = items;\r\n if (items.length) {\r\n var {\r\n skipForCurrentPage: skipForCurrentPage\r\n } = this.getLoadPageParams(true);\r\n var skip = items[0].loadIndex + skipForCurrentPage;\r\n var {\r\n take: take\r\n } = this._loadViewportParams;\r\n result = items.filter(it => {\r\n var isNewRowInEmptyData = it.isNewRow && it.loadIndex === skip && 0 === take;\r\n var isLoadIndexGreaterStart = it.loadIndex >= skip;\r\n var isLoadIndexLessEnd = it.loadIndex < skip + take || isNewRowInEmptyData;\r\n return isLoadIndexGreaterStart && isLoadIndexLessEnd\r\n })\r\n }\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _applyChange(change) {\r\n var that = this;\r\n var {\r\n items: items\r\n } = change;\r\n var {\r\n changeType: changeType\r\n } = change;\r\n var {\r\n removeCount: removeCount\r\n } = change;\r\n if (removeCount) {\r\n var fromEnd = \"prepend\" === changeType;\r\n removeCount = correctCount(that._items, removeCount, fromEnd, (item, isNextAfterLast) => \"data\" === item.rowType && !item.isNewRow || \"group\" === item.rowType && (that._dataSource.isGroupItemCountable(item.data) || isNextAfterLast));\r\n change.removeCount = removeCount\r\n }\r\n switch (changeType) {\r\n case \"prepend\":\r\n that._items.unshift.apply(that._items, items);\r\n if (removeCount) {\r\n that._items.splice(-removeCount)\r\n }\r\n break;\r\n case \"append\":\r\n that._items.push.apply(that._items, items);\r\n if (removeCount) {\r\n that._items.splice(0, removeCount)\r\n }\r\n break;\r\n default:\r\n that.callBase(change)\r\n }\r\n },\r\n items(allItems) {\r\n return allItems ? this._allItems || this._items : this._visibleItems || this._items\r\n },\r\n getRowIndexDelta() {\r\n var delta = 0;\r\n if (this.option(LEGACY_SCROLLING_MODE)) {\r\n var visibleItems = this._visibleItems;\r\n if (visibleItems && visibleItems[0]) {\r\n delta = this._items.indexOf(visibleItems[0])\r\n }\r\n }\r\n return delta < 0 ? 0 : delta\r\n },\r\n getRowIndexOffset(byLoadedRows) {\r\n var _a;\r\n var offset = 0;\r\n var dataSource = this.dataSource();\r\n var rowsScrollController = this._rowsScrollController;\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n var virtualPaging = isVirtualPaging(this);\r\n if (rowsScrollController && !byLoadedRows) {\r\n if (newMode && isDefined(this._loadViewportParams)) {\r\n var {\r\n skipForCurrentPage: skipForCurrentPage,\r\n pageIndex: pageIndex\r\n } = this.getLoadPageParams(true);\r\n var items = this.items(true);\r\n offset = virtualPaging ? pageIndex * this.pageSize() : 0;\r\n if (items.length) {\r\n var firstLoadIndex = items[0].loadIndex;\r\n offset += items.filter(item => item.loadIndex < firstLoadIndex + skipForCurrentPage).length\r\n }\r\n } else {\r\n offset = rowsScrollController.beginPageIndex() * rowsScrollController.pageSize()\r\n }\r\n } else if (virtualPaging && newMode && dataSource) {\r\n offset = null !== (_a = dataSource.lastLoadOptions().skip) && void 0 !== _a ? _a : 0\r\n } else if (isVirtualMode(this) && dataSource) {\r\n offset = dataSource.beginPageIndex() * dataSource.pageSize()\r\n }\r\n return offset\r\n },\r\n getDataIndex() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return this.getRowIndexOffset(true)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n viewportSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportSize.apply(rowsScrollController, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportSize.apply(dataSource, arguments)\r\n },\r\n viewportHeight(height, scrollTop) {\r\n var _a;\r\n null === (_a = this._rowsScrollController) || void 0 === _a ? void 0 : _a.viewportHeight(height, scrollTop)\r\n },\r\n viewportItemSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.viewportItemSize.apply(rowsScrollController, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.viewportItemSize.apply(dataSource, arguments)\r\n },\r\n setViewportPosition() {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n this._isPaging = false;\r\n if (rowsScrollController) {\r\n rowsScrollController.setViewportPosition.apply(rowsScrollController, arguments)\r\n } else {\r\n null === dataSource || void 0 === dataSource ? void 0 : dataSource.setViewportPosition.apply(dataSource, arguments)\r\n }\r\n },\r\n setContentItemSizes(sizes) {\r\n var rowsScrollController = this._rowsScrollController;\r\n var dataSource = this._dataSource;\r\n var result = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.setContentItemSizes(sizes);\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return result\r\n }\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.setContentItemSizes(sizes)\r\n },\r\n getPreloadedRowCount() {\r\n var preloadCount = this.option(\"scrolling.preloadedRowCount\");\r\n var preloadEnabled = this.option(\"scrolling.preloadEnabled\");\r\n if (isDefined(preloadCount)) {\r\n return preloadCount\r\n }\r\n var viewportSize = this.viewportSize();\r\n return preloadEnabled ? 2 * viewportSize : viewportSize\r\n },\r\n getLoadPageParams(byLoadedPage) {\r\n var _a, _b;\r\n var pageSize = this.pageSize();\r\n var viewportParams = this._loadViewportParams;\r\n var lastLoadOptions = null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.lastLoadOptions();\r\n var loadedPageIndex = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.pageIndex) || 0;\r\n var loadedTake = (null === lastLoadOptions || void 0 === lastLoadOptions ? void 0 : lastLoadOptions.take) || 0;\r\n var isScrollingBack = this._rowsScrollController.isScrollingBack();\r\n var topPreloadCount = isScrollingBack ? this.getPreloadedRowCount() : 0;\r\n var bottomPreloadCount = isScrollingBack ? 0 : this.getPreloadedRowCount();\r\n var totalCountCorrection = (null === (_b = this._dataSource) || void 0 === _b ? void 0 : _b.totalCountCorrection()) || 0;\r\n var skipWithPreload = Math.max(0, viewportParams.skip - topPreloadCount);\r\n var pageIndex = byLoadedPage ? loadedPageIndex : Math.floor(pageSize ? skipWithPreload / pageSize : 0);\r\n var pageOffset = pageIndex * pageSize;\r\n var skipForCurrentPage = viewportParams.skip - pageOffset;\r\n var loadingTake = viewportParams.take + skipForCurrentPage + bottomPreloadCount - totalCountCorrection;\r\n var take = byLoadedPage ? loadedTake : loadingTake;\r\n var loadPageCount = Math.ceil(pageSize ? take / pageSize : 0);\r\n return {\r\n pageIndex: pageIndex,\r\n loadPageCount: Math.max(1, loadPageCount),\r\n skipForCurrentPage: Math.max(0, skipForCurrentPage)\r\n }\r\n },\r\n _updateVisiblePageIndex(currentPageIndex) {\r\n if (!this._rowsScrollController) {\r\n return\r\n }\r\n if (isDefined(currentPageIndex)) {\r\n this._silentOption(VISIBLE_PAGE_INDEX, currentPageIndex);\r\n this.pageChanged.fire();\r\n return\r\n }\r\n var viewPortItemIndex = this._rowsScrollController.getViewportItemIndex();\r\n var newPageIndex = Math.floor(viewPortItemIndex / this.pageSize());\r\n if (this.pageIndex() !== newPageIndex) {\r\n this._silentOption(VISIBLE_PAGE_INDEX, newPageIndex);\r\n this.updateItems({\r\n changeType: \"pageIndex\"\r\n })\r\n }\r\n },\r\n _getChangedLoadParams() {\r\n var loadedPageParams = this.getLoadPageParams(true);\r\n var {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n } = this.getLoadPageParams();\r\n var pageIndexIsValid = this._pageIndexIsValid(pageIndex);\r\n var result = null;\r\n if (!this._isLoading && pageIndexIsValid && (pageIndex !== loadedPageParams.pageIndex || loadPageCount !== loadedPageParams.loadPageCount)) {\r\n result = {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n }\r\n }\r\n return result\r\n },\r\n _pageIndexIsValid(pageIndex) {\r\n var result = true;\r\n if (isAppendMode(this) && this.hasKnownLastPage() || isVirtualMode(this)) {\r\n result = pageIndex * this.pageSize() < this.totalItemsCount()\r\n }\r\n return result\r\n },\r\n _loadItems(checkLoading, viewportIsFilled) {\r\n var _a, _b;\r\n var virtualPaging = isVirtualPaging(this);\r\n var dataSourceAdapter = this._dataSource;\r\n var changedParams = this._getChangedLoadParams();\r\n var currentLoadPageCount = null !== (_a = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.loadPageCount()) && void 0 !== _a ? _a : 0;\r\n var lastRequiredItemCount = this.pageSize() * currentLoadPageCount;\r\n var currentPageIndex = null !== (_b = null === dataSourceAdapter || void 0 === dataSourceAdapter ? void 0 : dataSourceAdapter.pageIndex()) && void 0 !== _b ? _b : 0;\r\n var pageIndexNotChanged = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) === currentPageIndex;\r\n var allLoadedInAppendMode = isAppendMode(this) && this.totalItemsCount() < lastRequiredItemCount;\r\n var isRepaintMode = \"repaint\" === this.option(\"editing.refreshMode\");\r\n var pageIndexIncreased = (null === changedParams || void 0 === changedParams ? void 0 : changedParams.pageIndex) > currentPageIndex;\r\n var result = false;\r\n if (!dataSourceAdapter || virtualPaging && checkLoading && (isRepaintMode && viewportIsFilled || pageIndexIncreased || pageIndexNotChanged && allLoadedInAppendMode)) {\r\n return result\r\n }\r\n if (virtualPaging && this._isLoading) {\r\n this._needUpdateViewportAfterLoading = true\r\n }\r\n if (virtualPaging && changedParams) {\r\n result = true;\r\n dataSourceAdapter.pageIndex(changedParams.pageIndex);\r\n dataSourceAdapter.loadPageCount(changedParams.loadPageCount);\r\n this._repaintChangesOnly = true;\r\n this._needUpdateDimensions = true;\r\n var viewportChanging = this._viewportChanging;\r\n this.load().always(() => {\r\n this._repaintChangesOnly = void 0;\r\n this._needUpdateDimensions = void 0\r\n }).done(() => {\r\n var isLastPage = this.pageCount() > 0 && this.pageIndex() === this.pageCount() - 1;\r\n (viewportChanging || isLastPage) && this._updateVisiblePageIndex();\r\n if (this._needUpdateViewportAfterLoading) {\r\n this._needUpdateViewportAfterLoading = false;\r\n this.loadViewport({\r\n checkLoadedParamsOnly: true\r\n })\r\n }\r\n })\r\n }\r\n return result\r\n },\r\n loadViewport(params) {\r\n var _a, _b;\r\n var {\r\n checkLoadedParamsOnly: checkLoadedParamsOnly,\r\n checkLoading: checkLoading,\r\n viewportIsNotFilled: viewportIsNotFilled\r\n } = null !== params && void 0 !== params ? params : {};\r\n var virtualPaging = isVirtualPaging(this);\r\n if (virtualPaging || gridCoreUtils.isVirtualRowRendering(this)) {\r\n this._updateLoadViewportParams();\r\n var loadingItemsStarted = this._loadItems(checkLoading, !viewportIsNotFilled);\r\n var needToUpdateItems = !(loadingItemsStarted || this._isLoading && checkLoading || checkLoadedParamsOnly);\r\n if (needToUpdateItems) {\r\n var noPendingChangesInEditing = !(null === (_b = null === (_a = this.getController(\"editing\")) || void 0 === _a ? void 0 : _a.getChanges()) || void 0 === _b ? void 0 : _b.length);\r\n this.updateItems({\r\n repaintChangesOnly: true,\r\n needUpdateDimensions: true,\r\n useProcessedItemsCache: noPendingChangesInEditing,\r\n cancelEmptyChanges: true\r\n })\r\n }\r\n }\r\n },\r\n updateViewport() {\r\n var _a, _b;\r\n var viewportSize = this.viewportSize();\r\n var itemCount = this.items().length;\r\n var viewportIsNotFilled = viewportSize > itemCount;\r\n var currentTake = null !== (_b = null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.take) && void 0 !== _b ? _b : 0;\r\n var rowsScrollController = this._rowsScrollController;\r\n var newTake = null === rowsScrollController || void 0 === rowsScrollController ? void 0 : rowsScrollController.getViewportParams().take;\r\n (viewportIsNotFilled || currentTake < newTake) && !this._isPaging && itemCount && this.loadViewport({\r\n checkLoading: true,\r\n viewportIsNotFilled: viewportIsNotFilled\r\n })\r\n },\r\n loadIfNeed() {\r\n if (false === this.option(LEGACY_SCROLLING_MODE)) {\r\n return\r\n }\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.loadIfNeed();\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.loadIfNeed()\r\n },\r\n getItemSize() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getItemSize.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getItemSize.apply(dataSource, arguments)\r\n },\r\n getItemSizes() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getItemSizes.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getItemSizes.apply(dataSource, arguments)\r\n },\r\n getContentOffset() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.getContentOffset.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return dataSource && dataSource.getContentOffset.apply(dataSource, arguments)\r\n },\r\n refresh(options) {\r\n var dataSource = this._dataSource;\r\n if (dataSource && options && options.load && isAppendMode(this)) {\r\n dataSource.resetCurrentTotalCount()\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n dispose() {\r\n var rowsScrollController = this._rowsScrollController;\r\n rowsScrollController && rowsScrollController.dispose();\r\n this.callBase.apply(this, arguments)\r\n },\r\n topItemIndex() {\r\n var _a;\r\n return null === (_a = this._loadViewportParams) || void 0 === _a ? void 0 : _a.skip\r\n },\r\n bottomItemIndex() {\r\n var viewportParams = this._loadViewportParams;\r\n return viewportParams && viewportParams.skip + viewportParams.take\r\n },\r\n virtualItemsCount() {\r\n var rowsScrollController = this._rowsScrollController;\r\n if (rowsScrollController) {\r\n return rowsScrollController.virtualItemsCount.apply(rowsScrollController, arguments)\r\n }\r\n var dataSource = this._dataSource;\r\n return null === dataSource || void 0 === dataSource ? void 0 : dataSource.virtualItemsCount.apply(dataSource, arguments)\r\n },\r\n pageIndex(pageIndex) {\r\n var _a;\r\n var virtualPaging = isVirtualPaging(this);\r\n var rowsScrollController = this._rowsScrollController;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && virtualPaging && rowsScrollController) {\r\n if (void 0 === pageIndex) {\r\n return null !== (_a = this.option(VISIBLE_PAGE_INDEX)) && void 0 !== _a ? _a : 0\r\n }\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireChanged(e) {\r\n this.callBase.apply(this, arguments);\r\n var {\r\n operationTypes: operationTypes\r\n } = e;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this) && operationTypes) {\r\n var {\r\n fullReload: fullReload,\r\n pageIndex: pageIndex\r\n } = operationTypes;\r\n if (e.isDataChanged && !fullReload && pageIndex) {\r\n this._updateVisiblePageIndex(this._dataSource.pageIndex())\r\n }\r\n }\r\n },\r\n _getPagingOptionValue(optionName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n result = this[optionName]()\r\n }\r\n return result\r\n },\r\n isEmpty() {\r\n return false === this.option(LEGACY_SCROLLING_MODE) ? !this.items(true).length : this.callBase(this, arguments)\r\n },\r\n isLastPageLoaded() {\r\n var result = false;\r\n if (false === this.option(LEGACY_SCROLLING_MODE) && isVirtualPaging(this)) {\r\n var {\r\n pageIndex: pageIndex,\r\n loadPageCount: loadPageCount\r\n } = this.getLoadPageParams(true);\r\n var pageCount = this.pageCount();\r\n result = pageIndex + loadPageCount >= pageCount\r\n } else {\r\n result = this.callBase.apply(this, arguments)\r\n }\r\n return result\r\n },\r\n reset() {\r\n this._itemCount = 0;\r\n this._allItems = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyFilter() {\r\n var _a;\r\n null === (_a = this._dataSource) || void 0 === _a ? void 0 : _a.loadPageCount(1);\r\n this.callBase.apply(this, arguments)\r\n }\r\n };\r\n gridCoreUtils.proxyMethod(members, \"getVirtualContentSize\");\r\n gridCoreUtils.proxyMethod(members, \"setViewportItemIndex\");\r\n return members\r\n }(),\r\n resizing: {\r\n _updateMasterDataGridCore(masterDataGrid) {\r\n return when(this.callBase.apply(this, arguments)).done(masterDataGridUpdated => {\r\n var isNewVirtualMode = isVirtualMode(masterDataGrid) && false === masterDataGrid.option(LEGACY_SCROLLING_MODE);\r\n if (!masterDataGridUpdated && isNewVirtualMode) {\r\n var scrollable = masterDataGrid.getScrollable();\r\n if (scrollable) {\r\n masterDataGrid.updateDimensions()\r\n }\r\n }\r\n })\r\n },\r\n hasResizeTimeout() {\r\n return !!this._resizeTimeout\r\n },\r\n resize() {\r\n var {\r\n callBase: callBase\r\n } = this;\r\n var result;\r\n if (isVirtualMode(this) || gridCoreUtils.isVirtualRowRendering(this)) {\r\n clearTimeout(this._resizeTimeout);\r\n this._resizeTimeout = null;\r\n var diff = new Date - this._lastTime;\r\n var updateTimeout = this.option(\"scrolling.updateTimeout\");\r\n if (this._lastTime && diff < updateTimeout) {\r\n result = new Deferred;\r\n this._resizeTimeout = setTimeout(() => {\r\n this._resizeTimeout = null;\r\n callBase.apply(this).done(result.resolve).fail(result.reject);\r\n this._lastTime = new Date\r\n }, updateTimeout);\r\n this._lastTime = new Date\r\n } else {\r\n result = callBase.apply(this);\r\n if (this._dataController.isLoaded()) {\r\n this._lastTime = new Date\r\n }\r\n }\r\n } else {\r\n result = callBase.apply(this)\r\n }\r\n return result\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._resizeTimeout)\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: VirtualScrollingRowsViewExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/virtual_scrolling.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualScrollingModule\r\n} from \"../../../grids/grid_core/virtual_scrolling/m_virtual_scrolling\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapter from \"../m_data_source_adapter\";\r\ngridCore.registerModule(\"virtualScrolling\", virtualScrollingModule);\r\ndataSourceAdapter.extend(virtualScrollingModule.extenders.dataSourceAdapter);\r\n","/**\r\n * DevExtreme (esm/ui/overlay/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getInnerHeight,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nvar WINDOW_HEIGHT_PERCENT = .9;\r\nexport var getElementMaxHeightByWindow = ($element, startLocation) => {\r\n var $window = $(getWindow());\r\n var {\r\n top: elementOffset\r\n } = $element.offset();\r\n var actualOffset;\r\n if (isNumeric(startLocation)) {\r\n if (startLocation < elementOffset) {\r\n return elementOffset - startLocation\r\n } else {\r\n actualOffset = getInnerHeight($window) - startLocation + $window.scrollTop()\r\n }\r\n } else {\r\n var offsetTop = elementOffset - $window.scrollTop();\r\n var offsetBottom = getInnerHeight($window) - offsetTop - getOuterHeight($element);\r\n actualOffset = Math.max(offsetTop, offsetBottom)\r\n }\r\n return actualOffset * WINDOW_HEIGHT_PERCENT\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/menu/ui.submenu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight,\r\n setWidth,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport ContextMenu from \"../context_menu\";\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nclass Submenu extends ContextMenu {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n orientation: \"horizontal\",\r\n tabIndex: null,\r\n onHoverStart: noop\r\n })\r\n }\r\n _initDataAdapter() {\r\n this._dataAdapter = this.option(\"_dataAdapter\");\r\n if (!this._dataAdapter) {\r\n super._initDataAdapter()\r\n }\r\n }\r\n _renderContentImpl() {\r\n this._renderContextMenuOverlay();\r\n super._renderContentImpl();\r\n var node = this._dataAdapter.getNodeByKey(this.option(\"_parentKey\"));\r\n node && this._renderItems(this._getChildNodes(node));\r\n this._renderDelimiter()\r\n }\r\n _renderDelimiter() {\r\n this.$contentDelimiter = $(\"<div>\").appendTo(this._itemContainer()).addClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)\r\n }\r\n _getOverlayOptions() {\r\n return extend(super._getOverlayOptions(), {\r\n onPositioned: this._overlayPositionedActionHandler.bind(this)\r\n })\r\n }\r\n _overlayPositionedActionHandler(arg) {\r\n this._showDelimiter(arg)\r\n }\r\n _hoverEndHandler(e) {\r\n super._hoverEndHandler(e);\r\n this._toggleFocusClass(false, e.currentTarget)\r\n }\r\n _isMenuHorizontal() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _hoverStartHandler(e) {\r\n var hoverStartAction = this.option(\"onHoverStart\");\r\n hoverStartAction(e);\r\n super._hoverStartHandler(e);\r\n this._toggleFocusClass(true, e.currentTarget)\r\n }\r\n _drawSubmenu($rootItem) {\r\n this._actions.onShowing({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n });\r\n super._drawSubmenu($rootItem);\r\n this._actions.onShown({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n })\r\n }\r\n _hideSubmenu($rootItem) {\r\n this._actions.onHiding({\r\n cancel: true,\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n });\r\n super._hideSubmenu($rootItem);\r\n this._actions.onHidden({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: this\r\n })\r\n }\r\n _showDelimiter(arg) {\r\n if (!this.$contentDelimiter) {\r\n return\r\n }\r\n var $submenu = this._itemContainer().children(\".\".concat(DX_SUBMENU_CLASS)).eq(0);\r\n var $rootItem = this.option(\"position\").of;\r\n var position = {\r\n of: $submenu\r\n };\r\n var containerOffset = arg.position;\r\n var vLocation = containerOffset.v.location;\r\n var hLocation = containerOffset.h.location;\r\n var rootOffset = $rootItem.offset();\r\n var offsetLeft = Math.round(rootOffset.left);\r\n var offsetTop = Math.round(rootOffset.top);\r\n var rootWidth = getWidth($rootItem);\r\n var rootHeight = getHeight($rootItem);\r\n var submenuWidth = getWidth($submenu);\r\n var submenuHeight = getHeight($submenu);\r\n this.$contentDelimiter.css(\"display\", \"block\");\r\n setWidth(this.$contentDelimiter, this._isMenuHorizontal() ? rootWidth < submenuWidth ? rootWidth - 2 : submenuWidth : 2);\r\n setHeight(this.$contentDelimiter, this._isMenuHorizontal() ? 2 : rootHeight < submenuHeight ? rootHeight - 2 : submenuHeight);\r\n if (this._isMenuHorizontal()) {\r\n if (vLocation > offsetTop) {\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"1 -1\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"-1 -1\";\r\n position.at = position.my = \"right top\"\r\n }\r\n } else {\r\n setHeight(this.$contentDelimiter, 5);\r\n if (Math.round(hLocation) === offsetLeft) {\r\n position.offset = \"1 4\";\r\n position.at = position.my = \"left bottom\"\r\n } else {\r\n position.offset = \"-1 2\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n }\r\n } else if (hLocation > offsetLeft) {\r\n if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"-1 1\";\r\n position.at = position.my = \"left top\"\r\n } else {\r\n position.offset = \"-1 -1\";\r\n position.at = position.my = \"left bottom\"\r\n }\r\n } else if (Math.round(vLocation) === offsetTop) {\r\n position.offset = \"1 1\";\r\n position.at = position.my = \"right top\"\r\n } else {\r\n position.offset = \"1 -1\";\r\n position.at = position.my = \"right bottom\"\r\n }\r\n animationPosition.setup(this.$contentDelimiter, position)\r\n }\r\n _getContextMenuPosition() {\r\n return this.option(\"position\")\r\n }\r\n isOverlayVisible() {\r\n return this._overlay.option(\"visible\")\r\n }\r\n getOverlayContent() {\r\n return this._overlay.$content()\r\n }\r\n}\r\nexport default Submenu;\r\n","/**\r\n * DevExtreme (esm/ui/menu/ui.menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isPlainObject,\r\n isObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../overlay/utils\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n end as hoverEventEnd\r\n} from \"../../events/hover\";\r\nimport MenuBase from \"../context_menu/ui.menu_base\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport Submenu from \"./ui.submenu\";\r\nimport Button from \"../button\";\r\nimport TreeView from \"../tree_view\";\r\nvar DX_MENU_CLASS = \"dx-menu\";\r\nvar DX_MENU_VERTICAL_CLASS = DX_MENU_CLASS + \"-vertical\";\r\nvar DX_MENU_HORIZONTAL_CLASS = DX_MENU_CLASS + \"-horizontal\";\r\nvar DX_MENU_ITEM_CLASS = DX_MENU_CLASS + \"-item\";\r\nvar DX_MENU_ITEMS_CONTAINER_CLASS = DX_MENU_CLASS + \"-items-container\";\r\nvar DX_MENU_ITEM_EXPANDED_CLASS = DX_MENU_ITEM_CLASS + \"-expanded\";\r\nvar DX_CONTEXT_MENU_CLASS = \"dx-context-menu\";\r\nvar DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS = DX_CONTEXT_MENU_CLASS + \"-container-border\";\r\nvar DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS = \"dx-context-menu-content-delimiter\";\r\nvar DX_SUBMENU_CLASS = \"dx-submenu\";\r\nvar DX_STATE_DISABLED_CLASS = \"dx-state-disabled\";\r\nvar DX_STATE_HOVER_CLASS = \"dx-state-hover\";\r\nvar DX_STATE_ACTIVE_CLASS = \"dx-state-active\";\r\nvar DX_ADAPTIVE_MODE_CLASS = DX_MENU_CLASS + \"-adaptive-mode\";\r\nvar DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS = DX_MENU_CLASS + \"-hamburger-button\";\r\nvar DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS = DX_ADAPTIVE_MODE_CLASS + \"-overlay-wrapper\";\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar SHOW_SUBMENU_OPERATION = \"showSubmenu\";\r\nvar NEXTITEM_OPERATION = \"nextItem\";\r\nvar PREVITEM_OPERATION = \"prevItem\";\r\nvar DEFAULT_DELAY = {\r\n show: 50,\r\n hide: 300\r\n};\r\nvar ACTIONS = [\"onSubmenuShowing\", \"onSubmenuShown\", \"onSubmenuHiding\", \"onSubmenuHidden\", \"onItemContextMenu\", \"onItemClick\", \"onSelectionChanged\", \"onItemRendered\"];\r\nclass Menu extends MenuBase {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n orientation: \"horizontal\",\r\n submenuDirection: \"auto\",\r\n showFirstSubmenuMode: {\r\n name: \"onClick\",\r\n delay: {\r\n show: 50,\r\n hide: 300\r\n }\r\n },\r\n hideSubmenuOnMouseLeave: false,\r\n onSubmenuShowing: null,\r\n onSubmenuShown: null,\r\n onSubmenuHiding: null,\r\n onSubmenuHidden: null,\r\n adaptivityEnabled: false\r\n })\r\n }\r\n _setOptionsByReference() {\r\n super._setOptionsByReference();\r\n extend(this._optionsByReference, {\r\n animation: true,\r\n selectedItem: true\r\n })\r\n }\r\n _itemElements() {\r\n var rootMenuElements = super._itemElements();\r\n var submenuElements = this._submenuItemElements();\r\n return rootMenuElements.add(submenuElements)\r\n }\r\n _submenuItemElements() {\r\n var elements = [];\r\n var itemSelector = \".\".concat(DX_MENU_ITEM_CLASS);\r\n var currentSubmenu = this._submenus.length && this._submenus[0];\r\n if (currentSubmenu && currentSubmenu.itemsContainer()) {\r\n elements = currentSubmenu.itemsContainer().find(itemSelector)\r\n }\r\n return elements\r\n }\r\n _focusTarget() {\r\n return this.$element()\r\n }\r\n _isMenuHorizontal() {\r\n return \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _moveFocus(location) {\r\n var $items = this._getAvailableItems();\r\n var isMenuHorizontal = this._isMenuHorizontal();\r\n var $activeItem = this._getActiveItem(true);\r\n var argument;\r\n var operation;\r\n var navigationAction;\r\n var $newTarget;\r\n switch (location) {\r\n case FOCUS_UP:\r\n operation = isMenuHorizontal ? SHOW_SUBMENU_OPERATION : this._getItemsNavigationOperation(PREVITEM_OPERATION);\r\n argument = isMenuHorizontal ? $activeItem : $items;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_DOWN:\r\n operation = isMenuHorizontal ? SHOW_SUBMENU_OPERATION : this._getItemsNavigationOperation(NEXTITEM_OPERATION);\r\n argument = isMenuHorizontal ? $activeItem : $items;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_RIGHT:\r\n operation = isMenuHorizontal ? this._getItemsNavigationOperation(NEXTITEM_OPERATION) : SHOW_SUBMENU_OPERATION;\r\n argument = isMenuHorizontal ? $items : $activeItem;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n case FOCUS_LEFT:\r\n operation = isMenuHorizontal ? this._getItemsNavigationOperation(PREVITEM_OPERATION) : SHOW_SUBMENU_OPERATION;\r\n argument = isMenuHorizontal ? $items : $activeItem;\r\n navigationAction = this._getKeyboardNavigationAction(operation, argument);\r\n $newTarget = navigationAction();\r\n break;\r\n default:\r\n return super._moveFocus(location)\r\n }\r\n if ($newTarget && 0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", getPublicElement($newTarget))\r\n }\r\n }\r\n _getItemsNavigationOperation(operation) {\r\n var navOperation = operation;\r\n if (this.option(\"rtlEnabled\")) {\r\n navOperation = operation === PREVITEM_OPERATION ? NEXTITEM_OPERATION : PREVITEM_OPERATION\r\n }\r\n return navOperation\r\n }\r\n _getKeyboardNavigationAction(operation, argument) {\r\n var action = noop;\r\n switch (operation) {\r\n case SHOW_SUBMENU_OPERATION:\r\n if (!argument.hasClass(DX_STATE_DISABLED_CLASS)) {\r\n action = this._showSubmenu.bind(this, argument)\r\n }\r\n break;\r\n case NEXTITEM_OPERATION:\r\n action = this._nextItem.bind(this, argument);\r\n break;\r\n case PREVITEM_OPERATION:\r\n action = this._prevItem.bind(this, argument)\r\n }\r\n return action\r\n }\r\n _clean() {\r\n super._clean();\r\n this.option(\"templatesRenderAsynchronously\") && clearTimeout(this._resizeEventTimer)\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n if (!this._menuItemsWidth) {\r\n this._updateItemsWidthCache()\r\n }\r\n this._dimensionChanged()\r\n }\r\n }\r\n _isAdaptivityEnabled() {\r\n return this.option(\"adaptivityEnabled\") && \"horizontal\" === this.option(\"orientation\")\r\n }\r\n _updateItemsWidthCache() {\r\n var $menuItems = this.$element().find(\"ul\").first().children(\"li\").children(\".\".concat(DX_MENU_ITEM_CLASS));\r\n this._menuItemsWidth = this._getSummaryItemsWidth($menuItems, true)\r\n }\r\n _dimensionChanged() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n var containerWidth = getOuterWidth(this.$element());\r\n this._toggleAdaptiveMode(this._menuItemsWidth > containerWidth)\r\n }\r\n _init() {\r\n super._init();\r\n this._submenus = []\r\n }\r\n _initActions() {\r\n this._actions = {};\r\n each(ACTIONS, (index, action) => {\r\n this._actions[action] = this._createActionByOption(action)\r\n })\r\n }\r\n _initMarkup() {\r\n this._visibleSubmenu = null;\r\n this.$element().addClass(DX_MENU_CLASS);\r\n super._initMarkup();\r\n this._addCustomCssClass(this.$element());\r\n this.setAria(\"role\", \"menubar\")\r\n }\r\n _render() {\r\n super._render();\r\n this._initAdaptivity()\r\n }\r\n _renderHamburgerButton() {\r\n this._hamburger = new Button($(\"<div>\").addClass(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS), {\r\n icon: \"menu\",\r\n activeStateEnabled: false,\r\n onClick: this._toggleTreeView.bind(this)\r\n });\r\n return this._hamburger.$element()\r\n }\r\n _toggleTreeView(state) {\r\n if (isPlainObject(state)) {\r\n state = !this._overlay.option(\"visible\")\r\n }\r\n this._overlay.option(\"visible\", state);\r\n this._toggleHamburgerActiveState(state)\r\n }\r\n _toggleHamburgerActiveState(state) {\r\n this._hamburger && this._hamburger.$element().toggleClass(DX_STATE_ACTIVE_CLASS, state)\r\n }\r\n _toggleAdaptiveMode(state) {\r\n var $menuItemsContainer = this.$element().find(\".\".concat(DX_MENU_HORIZONTAL_CLASS));\r\n var $adaptiveElements = this.$element().find(\".\".concat(DX_ADAPTIVE_MODE_CLASS));\r\n if (state) {\r\n this._hideVisibleSubmenu()\r\n } else {\r\n this._treeView && this._treeView.collapseAll();\r\n this._overlay && this._toggleTreeView(state)\r\n }\r\n $menuItemsContainer.toggle(!state);\r\n $adaptiveElements.toggle(state)\r\n }\r\n _removeAdaptivity() {\r\n if (!this._$adaptiveContainer) {\r\n return\r\n }\r\n this._toggleAdaptiveMode(false);\r\n this._$adaptiveContainer.remove();\r\n this._$adaptiveContainer = null;\r\n this._treeView = null;\r\n this._hamburger = null;\r\n this._overlay = null\r\n }\r\n _treeviewItemClickHandler(e) {\r\n this._actions.onItemClick(e);\r\n if (!e.node.children.length) {\r\n this._toggleTreeView(false)\r\n }\r\n }\r\n _getAdaptiveOverlayOptions() {\r\n var rtl = this.option(\"rtlEnabled\");\r\n var position = rtl ? \"right\" : \"left\";\r\n return {\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: () => getElementMaxHeightByWindow(this.$element()),\r\n deferRendering: false,\r\n shading: false,\r\n animation: false,\r\n hideOnParentScroll: true,\r\n onHidden: () => {\r\n this._toggleHamburgerActiveState(false)\r\n },\r\n height: \"auto\",\r\n hideOnOutsideClick: e => !$(e.target).closest(\".\".concat(DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS)).length,\r\n position: {\r\n collision: \"flipfit\",\r\n at: \"bottom \" + position,\r\n my: \"top \" + position,\r\n of: this._hamburger.$element()\r\n }\r\n }\r\n }\r\n _getTreeViewOptions() {\r\n var menuOptions = {};\r\n each([\"rtlEnabled\", \"width\", \"accessKey\", \"activeStateEnabled\", \"animation\", \"dataSource\", \"disabled\", \"displayExpr\", \"displayExpr\", \"focusStateEnabled\", \"hint\", \"hoverStateEnabled\", \"itemsExpr\", \"items\", \"itemTemplate\", \"selectedExpr\", \"selectionMode\", \"tabIndex\", \"visible\"], (_, option) => {\r\n menuOptions[option] = this.option(option)\r\n });\r\n each([\"onItemContextMenu\", \"onSelectionChanged\", \"onItemRendered\"], (_, actionName) => {\r\n menuOptions[actionName] = e => {\r\n this._actions[actionName](e)\r\n }\r\n });\r\n return extend(menuOptions, {\r\n dataSource: this.getDataSource(),\r\n animationEnabled: !!this.option(\"animation\"),\r\n onItemClick: this._treeviewItemClickHandler.bind(this),\r\n onItemExpanded: e => {\r\n this._overlay.repaint();\r\n this._actions.onSubmenuShown(e)\r\n },\r\n onItemCollapsed: e => {\r\n this._overlay.repaint();\r\n this._actions.onSubmenuHidden(e)\r\n },\r\n selectNodesRecursive: false,\r\n selectByClick: this.option(\"selectByClick\"),\r\n expandEvent: \"click\"\r\n })\r\n }\r\n _initAdaptivity() {\r\n if (!this._isAdaptivityEnabled()) {\r\n return\r\n }\r\n this._$adaptiveContainer = $(\"<div>\").addClass(DX_ADAPTIVE_MODE_CLASS);\r\n var $hamburger = this._renderHamburgerButton();\r\n this._treeView = this._createComponent($(\"<div>\"), TreeView, this._getTreeViewOptions());\r\n this._overlay = this._createComponent($(\"<div>\"), Overlay, this._getAdaptiveOverlayOptions());\r\n this._overlay.$content().append(this._treeView.$element()).addClass(DX_ADAPTIVE_MODE_CLASS).addClass(this.option(\"cssClass\"));\r\n this._overlay.$wrapper().addClass(DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS);\r\n this._$adaptiveContainer.append($hamburger);\r\n this._$adaptiveContainer.append(this._overlay.$element());\r\n this.$element().append(this._$adaptiveContainer);\r\n this._updateItemsWidthCache();\r\n this._dimensionChanged()\r\n }\r\n _getDelay(delayType) {\r\n var delay = this.option(\"showFirstSubmenuMode\").delay;\r\n if (!isDefined(delay)) {\r\n return DEFAULT_DELAY[delayType]\r\n } else {\r\n return isObject(delay) ? delay[delayType] : delay\r\n }\r\n }\r\n _keyboardHandler(e) {\r\n return super._keyboardHandler(e, !!this._visibleSubmenu)\r\n }\r\n _renderContainer() {\r\n var $wrapper = $(\"<div>\");\r\n $wrapper.appendTo(this.$element()).addClass(this._isMenuHorizontal() ? DX_MENU_HORIZONTAL_CLASS : DX_MENU_VERTICAL_CLASS);\r\n return super._renderContainer($wrapper)\r\n }\r\n _renderSubmenuItems(node, $itemFrame) {\r\n var submenu = this._createSubmenu(node, $itemFrame);\r\n this._submenus.push(submenu);\r\n this._renderBorderElement($itemFrame);\r\n return submenu\r\n }\r\n _getKeyboardListeners() {\r\n return super._getKeyboardListeners().concat(this._visibleSubmenu)\r\n }\r\n _createSubmenu(node, $rootItem) {\r\n var $submenuContainer = $(\"<div>\").addClass(DX_CONTEXT_MENU_CLASS).appendTo($rootItem);\r\n var items = this._getChildNodes(node);\r\n var subMenu = this._createComponent($submenuContainer, Submenu, extend(this._getSubmenuOptions(), {\r\n _dataAdapter: this._dataAdapter,\r\n _parentKey: node.internalFields.key,\r\n items: items,\r\n onHoverStart: this._clearTimeouts.bind(this),\r\n position: this.getSubmenuPosition($rootItem)\r\n }));\r\n this._attachSubmenuHandlers($rootItem, subMenu);\r\n return subMenu\r\n }\r\n _getSubmenuOptions() {\r\n var $submenuTarget = $(\"<div>\");\r\n var isMenuHorizontal = this._isMenuHorizontal();\r\n return {\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n target: $submenuTarget,\r\n orientation: this.option(\"orientation\"),\r\n selectionMode: this.option(\"selectionMode\"),\r\n cssClass: this.option(\"cssClass\"),\r\n selectByClick: this.option(\"selectByClick\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n animation: this.option(\"animation\"),\r\n showSubmenuMode: this.option(\"showSubmenuMode\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n disabledExpr: this.option(\"disabledExpr\"),\r\n selectedExpr: this.option(\"selectedExpr\"),\r\n itemsExpr: this.option(\"itemsExpr\"),\r\n onFocusedItemChanged: e => {\r\n if (!e.component.option(\"visible\")) {\r\n return\r\n }\r\n this.option(\"focusedElement\", e.component.option(\"focusedElement\"))\r\n },\r\n onSelectionChanged: this._nestedItemOnSelectionChangedHandler.bind(this),\r\n onItemClick: this._nestedItemOnItemClickHandler.bind(this),\r\n onItemRendered: this._nestedItemOnItemRenderedHandler.bind(this),\r\n onLeftFirstItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, PREVITEM_OPERATION),\r\n onLeftLastItem: isMenuHorizontal ? null : this._moveMainMenuFocus.bind(this, NEXTITEM_OPERATION),\r\n onCloseRootSubmenu: this._moveMainMenuFocus.bind(this, isMenuHorizontal ? PREVITEM_OPERATION : null),\r\n onExpandLastSubmenu: isMenuHorizontal ? this._moveMainMenuFocus.bind(this, NEXTITEM_OPERATION) : null\r\n }\r\n }\r\n _getShowFirstSubmenuMode() {\r\n if (!this._isDesktopDevice()) {\r\n return \"onClick\"\r\n }\r\n var optionValue = this.option(\"showFirstSubmenuMode\");\r\n return isObject(optionValue) ? optionValue.name : optionValue\r\n }\r\n _moveMainMenuFocus(direction) {\r\n var $items = this._getAvailableItems();\r\n var itemCount = $items.length;\r\n var $currentItem = $items.filter(\".\".concat(DX_MENU_ITEM_EXPANDED_CLASS)).eq(0);\r\n var itemIndex = $items.index($currentItem);\r\n this._hideSubmenu(this._visibleSubmenu);\r\n itemIndex += direction === PREVITEM_OPERATION ? -1 : 1;\r\n if (itemIndex >= itemCount) {\r\n itemIndex = 0\r\n } else if (itemIndex < 0) {\r\n itemIndex = itemCount - 1\r\n }\r\n var $newItem = $items.eq(itemIndex);\r\n this.option(\"focusedElement\", getPublicElement($newItem))\r\n }\r\n _nestedItemOnSelectionChangedHandler(args) {\r\n var selectedItem = args.addedItems.length && args.addedItems[0];\r\n var submenu = Submenu.getInstance(args.element);\r\n var onSelectionChanged = this._actions.onSelectionChanged;\r\n onSelectionChanged(args);\r\n selectedItem && this._clearSelectionInSubmenus(selectedItem[0], submenu);\r\n this._clearRootSelection();\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem)\r\n }\r\n _clearSelectionInSubmenus(item, targetSubmenu) {\r\n var cleanAllSubmenus = !arguments.length;\r\n each(this._submenus, (index, submenu) => {\r\n var $submenu = submenu._itemContainer();\r\n var isOtherItem = !$submenu.is(targetSubmenu && targetSubmenu._itemContainer());\r\n var $selectedItem = $submenu.find(\".\".concat(this._selectedItemClass()));\r\n if (isOtherItem && $selectedItem.length || cleanAllSubmenus) {\r\n $selectedItem.removeClass(this._selectedItemClass());\r\n var selectedItemData = this._getItemData($selectedItem);\r\n if (selectedItemData) {\r\n selectedItemData.selected = false\r\n }\r\n submenu._clearSelectedItems()\r\n }\r\n })\r\n }\r\n _clearRootSelection() {\r\n var $prevSelectedItem = this.$element().find(\".\".concat(DX_MENU_ITEMS_CONTAINER_CLASS)).first().children().children().filter(\".\".concat(this._selectedItemClass()));\r\n if ($prevSelectedItem.length) {\r\n var prevSelectedItemData = this._getItemData($prevSelectedItem);\r\n prevSelectedItemData.selected = false;\r\n $prevSelectedItem.removeClass(this._selectedItemClass())\r\n }\r\n }\r\n _nestedItemOnItemClickHandler(e) {\r\n this._actions.onItemClick(e)\r\n }\r\n _nestedItemOnItemRenderedHandler(e) {\r\n this._actions.onItemRendered(e)\r\n }\r\n _attachSubmenuHandlers($rootItem, submenu) {\r\n var $submenuOverlayContent = submenu.getOverlayContent();\r\n var submenus = $submenuOverlayContent.find(\".\".concat(DX_SUBMENU_CLASS));\r\n var submenuMouseLeaveName = addNamespace(hoverEventEnd, this.NAME + \"_submenu\");\r\n submenu.option({\r\n onShowing: this._submenuOnShowingHandler.bind(this, $rootItem, submenu),\r\n onShown: this._submenuOnShownHandler.bind(this, $rootItem, submenu),\r\n onHiding: this._submenuOnHidingHandler.bind(this, $rootItem, submenu),\r\n onHidden: this._submenuOnHiddenHandler.bind(this, $rootItem, submenu)\r\n });\r\n each(submenus, (index, submenu) => {\r\n eventsEngine.off(submenu, submenuMouseLeaveName);\r\n eventsEngine.on(submenu, submenuMouseLeaveName, null, this._submenuMouseLeaveHandler.bind(this, $rootItem))\r\n })\r\n }\r\n _submenuOnShowingHandler($rootItem, submenu) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n this._actions.onSubmenuShowing({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n });\r\n $border.show();\r\n $rootItem.addClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n _submenuOnShownHandler($rootItem, submenu) {\r\n this._actions.onSubmenuShown({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n })\r\n }\r\n _submenuOnHidingHandler($rootItem, submenu, eventArgs) {\r\n var $border = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS));\r\n var args = eventArgs;\r\n args.rootItem = getPublicElement($rootItem);\r\n args.submenu = submenu;\r\n this._actions.onSubmenuHiding(args);\r\n eventArgs = args;\r\n if (!eventArgs.cancel) {\r\n if (this._visibleSubmenu === submenu) {\r\n this._visibleSubmenu = null\r\n }\r\n $border.hide();\r\n $rootItem.removeClass(DX_MENU_ITEM_EXPANDED_CLASS)\r\n }\r\n }\r\n _submenuOnHiddenHandler($rootItem, submenu) {\r\n this._actions.onSubmenuHidden({\r\n rootItem: getPublicElement($rootItem),\r\n submenu: submenu\r\n })\r\n }\r\n _submenuMouseLeaveHandler($rootItem, eventArgs) {\r\n var target = $(eventArgs.relatedTarget).parents(\".\".concat(DX_CONTEXT_MENU_CLASS))[0];\r\n var contextMenu = this._getSubmenuByRootElement($rootItem).getOverlayContent()[0];\r\n if (this.option(\"hideSubmenuOnMouseLeave\") && target !== contextMenu) {\r\n this._clearTimeouts();\r\n setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay(\"hide\"))\r\n }\r\n }\r\n _hideSubmenuAfterTimeout() {\r\n if (!this._visibleSubmenu) {\r\n return\r\n }\r\n var isRootItemHovered = $(this._visibleSubmenu.$element().context).hasClass(DX_STATE_HOVER_CLASS);\r\n var isSubmenuItemHovered = this._visibleSubmenu.getOverlayContent().find(\".\".concat(DX_STATE_HOVER_CLASS)).length;\r\n var hoveredElementFromSubMenu = this._visibleSubmenu.getOverlayContent().get(0).querySelector(\":hover\");\r\n if (!hoveredElementFromSubMenu && !isSubmenuItemHovered && !isRootItemHovered) {\r\n this._visibleSubmenu.hide()\r\n }\r\n }\r\n _getSubmenuByRootElement($rootItem) {\r\n if (!$rootItem) {\r\n return false\r\n }\r\n var $submenu = $rootItem.children(\".\".concat(DX_CONTEXT_MENU_CLASS));\r\n return $submenu.length && Submenu.getInstance($submenu)\r\n }\r\n getSubmenuPosition($rootItem) {\r\n var isHorizontalMenu = this._isMenuHorizontal();\r\n var submenuDirection = this.option(\"submenuDirection\").toLowerCase();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var submenuPosition = {\r\n collision: \"flip\",\r\n of: $rootItem\r\n };\r\n switch (submenuDirection) {\r\n case \"leftortop\":\r\n submenuPosition.at = \"left top\";\r\n submenuPosition.my = isHorizontalMenu ? \"left bottom\" : \"right top\";\r\n break;\r\n case \"rightorbottom\":\r\n submenuPosition.at = isHorizontalMenu ? \"left bottom\" : \"right top\";\r\n submenuPosition.my = \"left top\";\r\n break;\r\n default:\r\n if (isHorizontalMenu) {\r\n submenuPosition.at = rtlEnabled ? \"right bottom\" : \"left bottom\";\r\n submenuPosition.my = rtlEnabled ? \"right top\" : \"left top\"\r\n } else {\r\n submenuPosition.at = rtlEnabled ? \"left top\" : \"right top\";\r\n submenuPosition.my = rtlEnabled ? \"right top\" : \"left top\"\r\n }\r\n }\r\n return submenuPosition\r\n }\r\n _renderBorderElement($item) {\r\n $(\"<div>\").appendTo($item).addClass(DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS).hide()\r\n }\r\n _itemPointerDownHandler(e) {\r\n var $target = $(e.target);\r\n var $closestItem = $target.closest(this._itemElements());\r\n if ($closestItem.hasClass(\"dx-menu-item-has-submenu\")) {\r\n this.option(\"focusedElement\", null);\r\n return\r\n }\r\n super._itemPointerDownHandler(e)\r\n }\r\n _hoverStartHandler(e) {\r\n var mouseMoveEventName = addNamespace(pointerEvents.move, this.NAME);\r\n var $item = this._getItemElementByEventArgs(e);\r\n var node = this._dataAdapter.getNodeByItem(this._getItemData($item));\r\n var isSelectionActive = isDefined(e.buttons) && 1 === e.buttons || !isDefined(e.buttons) && 1 === e.which;\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n eventsEngine.off($item, mouseMoveEventName);\r\n if (!this._hasChildren(node)) {\r\n this._showSubmenuTimer = setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay(\"hide\"));\r\n return\r\n }\r\n if (\"onHover\" === this._getShowFirstSubmenuMode() && !isSelectionActive) {\r\n var submenu = this._getSubmenuByElement($item);\r\n this._clearTimeouts();\r\n if (!submenu.isOverlayVisible()) {\r\n eventsEngine.on($item, mouseMoveEventName, this._itemMouseMoveHandler.bind(this));\r\n this._showSubmenuTimer = this._getDelay(\"hide\")\r\n }\r\n }\r\n }\r\n _hoverEndHandler(eventArg) {\r\n var $item = this._getItemElementByEventArgs(eventArg);\r\n var relatedTarget = $(eventArg.relatedTarget);\r\n super._hoverEndHandler(eventArg);\r\n this._clearTimeouts();\r\n if (this._isItemDisabled($item)) {\r\n return\r\n }\r\n if (relatedTarget.hasClass(DX_CONTEXT_MENU_CONTENT_DELIMITER_CLASS)) {\r\n return\r\n }\r\n if (this.option(\"hideSubmenuOnMouseLeave\") && !relatedTarget.hasClass(DX_MENU_ITEMS_CONTAINER_CLASS)) {\r\n this._hideSubmenuTimer = setTimeout(() => {\r\n this._hideSubmenuAfterTimeout()\r\n }, this._getDelay(\"hide\"))\r\n }\r\n }\r\n _hideVisibleSubmenu() {\r\n if (!this._visibleSubmenu) {\r\n return false\r\n }\r\n this._hideSubmenu(this._visibleSubmenu);\r\n return true\r\n }\r\n _showSubmenu($itemElement) {\r\n var submenu = this._getSubmenuByElement($itemElement);\r\n if (this._visibleSubmenu !== submenu) {\r\n this._hideVisibleSubmenu()\r\n }\r\n if (submenu) {\r\n this._clearTimeouts();\r\n this.focus();\r\n submenu.show();\r\n this.option(\"focusedElement\", submenu.option(\"focusedElement\"))\r\n }\r\n this._visibleSubmenu = submenu;\r\n this._hoveredRootItem = $itemElement\r\n }\r\n _hideSubmenu(submenu) {\r\n submenu && submenu.hide();\r\n if (this._visibleSubmenu === submenu) {\r\n this._visibleSubmenu = null\r\n }\r\n this._hoveredRootItem = null\r\n }\r\n _itemMouseMoveHandler(e) {\r\n if (e.pointers && e.pointers.length) {\r\n return\r\n }\r\n var $item = $(e.currentTarget);\r\n if (!isDefined(this._showSubmenuTimer)) {\r\n return\r\n }\r\n this._clearTimeouts();\r\n this._showSubmenuTimer = setTimeout(() => {\r\n var submenu = this._getSubmenuByElement($item);\r\n if (submenu && !submenu.isOverlayVisible()) {\r\n this._showSubmenu($item)\r\n }\r\n }, this._getDelay(\"show\"))\r\n }\r\n _clearTimeouts() {\r\n clearTimeout(this._hideSubmenuTimer);\r\n clearTimeout(this._showSubmenuTimer)\r\n }\r\n _getSubmenuByElement($itemElement, itemData) {\r\n var submenu = this._getSubmenuByRootElement($itemElement);\r\n if (submenu) {\r\n return submenu\r\n } else {\r\n itemData = itemData || this._getItemData($itemElement);\r\n var node = this._dataAdapter.getNodeByItem(itemData);\r\n return this._hasChildren(node) && this._renderSubmenuItems(node, $itemElement)\r\n }\r\n }\r\n _updateSubmenuVisibilityOnClick(actionArgs) {\r\n var args = actionArgs.args.length && actionArgs.args[0];\r\n if (!args || this._disabledGetter(args.itemData)) {\r\n return\r\n }\r\n var $itemElement = $(args.itemElement);\r\n var currentSubmenu = this._getSubmenuByElement($itemElement, args.itemData);\r\n this._updateSelectedItemOnClick(actionArgs);\r\n if (this._visibleSubmenu) {\r\n if (this._visibleSubmenu === currentSubmenu) {\r\n if (\"onClick\" === this.option(\"showFirstSubmenuMode\")) {\r\n this._hideSubmenu(this._visibleSubmenu)\r\n }\r\n return\r\n } else {\r\n this._hideSubmenu(this._visibleSubmenu)\r\n }\r\n }\r\n if (!currentSubmenu) {\r\n return\r\n }\r\n if (!currentSubmenu.isOverlayVisible()) {\r\n this._showSubmenu($itemElement);\r\n return\r\n }\r\n }\r\n _optionChanged(args) {\r\n if (ACTIONS.indexOf(args.name) >= 0) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"orientation\":\r\n case \"submenuDirection\":\r\n this._invalidate();\r\n break;\r\n case \"showFirstSubmenuMode\":\r\n case \"hideSubmenuOnMouseLeave\":\r\n break;\r\n case \"showSubmenuMode\":\r\n this._changeSubmenusOption(args.name, args.value);\r\n break;\r\n case \"adaptivityEnabled\":\r\n args.value ? this._initAdaptivity() : this._removeAdaptivity();\r\n break;\r\n case \"width\":\r\n if (this._isAdaptivityEnabled()) {\r\n this._treeView.option(args.name, args.value);\r\n this._overlay.option(args.name, args.value)\r\n }\r\n super._optionChanged(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"animation\":\r\n if (this._isAdaptivityEnabled()) {\r\n this._treeView.option(\"animationEnabled\", !!args.value)\r\n }\r\n super._optionChanged(args);\r\n break;\r\n default:\r\n if (this._isAdaptivityEnabled() && (args.name === args.fullName || \"items\" === args.name)) {\r\n this._treeView.option(args.fullName, args.value)\r\n }\r\n super._optionChanged(args)\r\n }\r\n }\r\n _changeSubmenusOption(name, value) {\r\n each(this._submenus, (index, submenu) => {\r\n submenu.option(name, value)\r\n })\r\n }\r\n selectItem(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n super.selectItem(itemElement)\r\n }\r\n unselectItem(itemElement) {\r\n this._hideSubmenu(this._visibleSubmenu);\r\n super.selectItem(itemElement)\r\n }\r\n}\r\nregisterComponent(\"dxMenu\", Menu);\r\nexport default Menu;\r\n","/**\r\n * DevExtreme (esm/ui/menu.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Menu from \"./menu/ui.menu\";\r\nexport default Menu;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Editor from \"../../../../ui/editor/editor\";\r\nimport Menu from \"../../../../ui/menu\";\r\nimport Overlay from \"../../../../ui/overlay/ui.overlay\";\r\nimport {\r\n selectView\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar OPERATION_ICONS = {\r\n \"=\": \"filter-operation-equals\",\r\n \"<>\": \"filter-operation-not-equals\",\r\n \"<\": \"filter-operation-less\",\r\n \"<=\": \"filter-operation-less-equal\",\r\n \">\": \"filter-operation-greater\",\r\n \">=\": \"filter-operation-greater-equal\",\r\n default: \"filter-operation-default\",\r\n notcontains: \"filter-operation-not-contains\",\r\n contains: \"filter-operation-contains\",\r\n startswith: \"filter-operation-starts-with\",\r\n endswith: \"filter-operation-ends-with\",\r\n between: \"filter-operation-between\"\r\n};\r\nvar OPERATION_DESCRIPTORS = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notEqual\",\r\n \"<\": \"lessThan\",\r\n \"<=\": \"lessThanOrEqual\",\r\n \">\": \"greaterThan\",\r\n \">=\": \"greaterThanOrEqual\",\r\n startswith: \"startsWith\",\r\n contains: \"contains\",\r\n notcontains: \"notContains\",\r\n endswith: \"endsWith\",\r\n between: \"between\"\r\n};\r\nvar FILTERING_TIMEOUT = 700;\r\nvar CORRECT_FILTER_RANGE_OVERLAY_WIDTH = 1;\r\nvar FILTER_ROW_CLASS = \"filter-row\";\r\nvar FILTER_RANGE_OVERLAY_CLASS = \"filter-range-overlay\";\r\nvar FILTER_RANGE_START_CLASS = \"filter-range-start\";\r\nvar FILTER_RANGE_END_CLASS = \"filter-range-end\";\r\nvar MENU_CLASS = \"dx-menu\";\r\nvar EDITOR_WITH_MENU_CLASS = \"dx-editor-with-menu\";\r\nvar EDITOR_CONTAINER_CLASS = \"dx-editor-container\";\r\nvar EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nvar FILTER_MENU = \"dx-filter-menu\";\r\nvar APPLY_BUTTON_CLASS = \"dx-apply-button\";\r\nvar HIGHLIGHT_OUTLINE_CLASS = \"dx-highlight-outline\";\r\nvar FOCUSED_CLASS = \"dx-focused\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FILTER_RANGE_CONTENT_CLASS = \"dx-filter-range-content\";\r\nvar FILTER_MODIFIED_CLASS = \"dx-filter-modified\";\r\nvar EDITORS_INPUT_SELECTOR = \"input:not([type='hidden'])\";\r\nvar BETWEEN_OPERATION_DATA_TYPES = [\"date\", \"datetime\", \"number\"];\r\nvar ARIA_SEARCH_BOX = messageLocalization.format(\"dxDataGrid-ariaSearchBox\");\r\n\r\nfunction isOnClickApplyFilterMode(that) {\r\n return \"onClick\" === that.option(\"filterRow.applyFilter\")\r\n}\r\nvar getEditorInstance = function($editorContainer) {\r\n var $editor = $editorContainer && $editorContainer.children();\r\n var componentNames = $editor && $editor.data(\"dxComponents\");\r\n var editor = componentNames && componentNames.length && $editor.data(componentNames[0]);\r\n if (editor instanceof Editor) {\r\n return editor\r\n }\r\n return null\r\n};\r\nvar ColumnHeadersViewFilterRowExtender = function() {\r\n var getRangeTextByFilterValue = function(that, column) {\r\n var result = \"\";\r\n var rangeEnd = \"\";\r\n var filterValue = getColumnFilterValue(that, column);\r\n var formatOptions = gridCoreUtils.getFormatOptionsByColumn(column, \"filterRow\");\r\n if (Array.isArray(filterValue)) {\r\n result = gridCoreUtils.formatValue(filterValue[0], formatOptions);\r\n rangeEnd = gridCoreUtils.formatValue(filterValue[1], formatOptions);\r\n if (\"\" !== rangeEnd) {\r\n result += \" - \".concat(rangeEnd)\r\n }\r\n } else if (isDefined(filterValue)) {\r\n result = gridCoreUtils.formatValue(filterValue, formatOptions)\r\n }\r\n return result\r\n };\r\n\r\n function getColumnFilterValue(that, column) {\r\n if (column) {\r\n return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedFilterValue ? column.bufferedFilterValue : column.filterValue\r\n }\r\n }\r\n var getColumnSelectedFilterOperation = function(that, column) {\r\n if (column) {\r\n return isOnClickApplyFilterMode(that) && void 0 !== column.bufferedSelectedFilterOperation ? column.bufferedSelectedFilterOperation : column.selectedFilterOperation\r\n }\r\n };\r\n var getFilterValue = function(that, columnIndex, $editorContainer) {\r\n var column = that._columnsController.columnOption(columnIndex);\r\n var filterValue = getColumnFilterValue(that, column);\r\n var isFilterRange = $editorContainer.closest(\".\".concat(that.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS))).length;\r\n var isRangeStart = $editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS));\r\n if (filterValue && Array.isArray(filterValue) && \"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n if (isRangeStart) {\r\n return filterValue[0]\r\n }\r\n return filterValue[1]\r\n }\r\n return !isFilterRange && function(filterValue, column) {\r\n if (column && BETWEEN_OPERATION_DATA_TYPES.includes(column.dataType) && Array.isArray(filterValue)) {\r\n return false\r\n }\r\n return void 0 !== filterValue\r\n }(filterValue, column) ? filterValue : null\r\n };\r\n var updateFilterValue = function(that, options) {\r\n var value = \"\" === options.value ? null : options.value;\r\n var $editorContainer = options.container;\r\n var column = that._columnsController.columnOption(options.column.index);\r\n var filterValue = getFilterValue(that, column.index, $editorContainer);\r\n if (!isDefined(filterValue) && !isDefined(value)) {\r\n return\r\n }\r\n that._applyFilterViewController.setHighLight($editorContainer, filterValue !== value);\r\n var columnOptionName = isOnClickApplyFilterMode(that) ? \"bufferedFilterValue\" : \"filterValue\";\r\n var normalizedValue = function(that, filterValue, column, $editorContainer) {\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n var columnFilterValue = getColumnFilterValue(that, column);\r\n if ($editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))) {\r\n return [filterValue, Array.isArray(columnFilterValue) ? columnFilterValue[1] : void 0]\r\n }\r\n return [Array.isArray(columnFilterValue) ? columnFilterValue[0] : columnFilterValue, filterValue]\r\n }\r\n return filterValue\r\n }(that, value, column, $editorContainer);\r\n var isBetween = \"between\" === getColumnSelectedFilterOperation(that, column);\r\n var notFireEvent = options.notFireEvent || isBetween && Array.isArray(normalizedValue) && normalizedValue.includes(void 0);\r\n that._columnsController.columnOption(column.index, columnOptionName, normalizedValue, notFireEvent)\r\n };\r\n return {\r\n _updateEditorValue(column, $editorContainer) {\r\n var editor = getEditorInstance($editorContainer);\r\n editor && editor.option(\"value\", getFilterValue(this, column.index, $editorContainer))\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n var $cell;\r\n var $editorContainer;\r\n var $editorRangeElements;\r\n var $menu;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"filterValue\", \"bufferedFilterValue\", \"selectedFilterOperation\", \"bufferedSelectedFilterOperation\", \"filterValues\", \"filterType\"]) && void 0 !== e.columnIndex) {\r\n var visibleIndex = this._columnsController.getVisibleIndex(e.columnIndex);\r\n var column = this._columnsController.columnOption(e.columnIndex);\r\n $cell = this._getCellElement(this.element().find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS))).index(), visibleIndex) || $();\r\n $editorContainer = $cell.find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n if (optionNames.filterValue || optionNames.bufferedFilterValue) {\r\n this._updateEditorValue(column, $editorContainer);\r\n var overlayInstance = $cell.find(\".\".concat(this.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS))).data(\"dxOverlay\");\r\n if (overlayInstance) {\r\n $editorRangeElements = overlayInstance.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS));\r\n this._updateEditorValue(column, $editorRangeElements.first());\r\n this._updateEditorValue(column, $editorRangeElements.last())\r\n }\r\n if (!overlayInstance || !overlayInstance.option(\"visible\")) {\r\n this._updateFilterRangeContent($cell, getRangeTextByFilterValue(this, column))\r\n }\r\n }\r\n if (optionNames.selectedFilterOperation || optionNames.bufferedSelectedFilterOperation) {\r\n if (visibleIndex >= 0 && column) {\r\n $menu = $cell.find(\".\".concat(MENU_CLASS));\r\n if ($menu.length) {\r\n this._updateFilterOperationChooser($menu, column, $editorContainer);\r\n if (\"between\" === getColumnSelectedFilterOperation(this, column)) {\r\n this._renderFilterRangeContent($cell, column)\r\n } else if ($editorContainer.find(\".\".concat(FILTER_RANGE_CONTENT_CLASS)).length) {\r\n this._renderEditor($editorContainer, this._getEditorOptions($editorContainer, column));\r\n this._hideFilterRange()\r\n }\r\n }\r\n }\r\n }\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _renderCore() {\r\n this._filterRangeOverlayInstance = null;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _resizeCore() {\r\n this.callBase.apply(this, arguments);\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.repaint()\r\n },\r\n isFilterRowVisible() {\r\n return this._isElementVisible(this.option(\"filterRow\"))\r\n },\r\n isVisible() {\r\n return this.callBase() || this.isFilterRowVisible()\r\n },\r\n init() {\r\n this.callBase();\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n },\r\n _initFilterRangeOverlay($cell, column) {\r\n var that = this;\r\n var sharedData = {};\r\n var $editorContainer = $cell.find(\".dx-editor-container\");\r\n var filterRangeOverlayClass = that.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS);\r\n var $overlay = $(\"<div>\").addClass(filterRangeOverlayClass).appendTo($cell);\r\n return that._createComponent($overlay, Overlay, {\r\n height: \"auto\",\r\n shading: false,\r\n showTitle: false,\r\n focusStateEnabled: false,\r\n hideOnOutsideClick: true,\r\n wrapperAttr: {\r\n class: filterRangeOverlayClass\r\n },\r\n animation: false,\r\n position: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: $editorContainer.length && $editorContainer || $cell,\r\n offset: \"0 -1\"\r\n },\r\n contentTemplate(contentElement) {\r\n var editorOptions;\r\n var $editor = $(\"<div>\").addClass(\"\".concat(EDITOR_CONTAINER_CLASS, \" \").concat(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))).appendTo(contentElement);\r\n column = that._columnsController.columnOption(column.index);\r\n editorOptions = that._getEditorOptions($editor, column);\r\n editorOptions.sharedData = sharedData;\r\n that._renderEditor($editor, editorOptions);\r\n eventsEngine.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", e => {\r\n var $prevElement = $cell.find(\"[tabindex]\").not(e.target).first();\r\n if (\"tab\" === normalizeKeyName(e) && e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n if (!$prevElement.length) {\r\n $prevElement = $cell.prev().find(\"[tabindex]\").last()\r\n }\r\n eventsEngine.trigger($prevElement, \"focus\")\r\n }\r\n });\r\n $editor = $(\"<div>\").addClass(\"\".concat(EDITOR_CONTAINER_CLASS, \" \").concat(that.addWidgetPrefix(FILTER_RANGE_END_CLASS))).appendTo(contentElement);\r\n editorOptions = that._getEditorOptions($editor, column);\r\n editorOptions.sharedData = sharedData;\r\n that._renderEditor($editor, editorOptions);\r\n eventsEngine.on($editor.find(EDITORS_INPUT_SELECTOR), \"keydown\", e => {\r\n if (\"tab\" === normalizeKeyName(e) && !e.shiftKey) {\r\n e.preventDefault();\r\n that._hideFilterRange();\r\n eventsEngine.trigger($cell.next().find(\"[tabindex]\").first(), \"focus\")\r\n }\r\n });\r\n return $(contentElement).addClass(that.getWidgetContainerClass())\r\n },\r\n onShown(e) {\r\n var $editor = e.component.$content().find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n eventsEngine.trigger($editor.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n onHidden() {\r\n column = that._columnsController.columnOption(column.index);\r\n $cell.find(\".\".concat(MENU_CLASS)).parent().addClass(EDITOR_WITH_MENU_CLASS);\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column));\r\n that.component.updateDimensions()\r\n }\r\n }\r\n })\r\n },\r\n _updateFilterRangeOverlay(options) {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.option(options)\r\n },\r\n _showFilterRange($cell, column) {\r\n var $overlay = $cell.children(\".\".concat(this.addWidgetPrefix(FILTER_RANGE_OVERLAY_CLASS)));\r\n var overlayInstance = $overlay.length && $overlay.data(\"dxOverlay\");\r\n if (!overlayInstance && column) {\r\n overlayInstance = this._initFilterRangeOverlay($cell, column)\r\n }\r\n if (!overlayInstance.option(\"visible\")) {\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.hide();\r\n this._filterRangeOverlayInstance = overlayInstance;\r\n this._updateFilterRangeOverlay({\r\n width: getOuterWidth($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.show()\r\n }\r\n },\r\n _hideFilterRange() {\r\n var overlayInstance = this._filterRangeOverlayInstance;\r\n overlayInstance && overlayInstance.hide()\r\n },\r\n getFilterRangeOverlayInstance() {\r\n return this._filterRangeOverlayInstance\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase(row);\r\n if (\"filter\" === row.rowType) {\r\n $row.addClass(this.addWidgetPrefix(FILTER_ROW_CLASS));\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n eventsEngine.on($row, \"keydown\", event => selectView(\"filterRow\", this, event))\r\n }\r\n }\r\n return $row\r\n },\r\n _getRows() {\r\n var result = this.callBase();\r\n if (this.isFilterRowVisible()) {\r\n result.push({\r\n rowType: \"filter\"\r\n })\r\n }\r\n return result\r\n },\r\n _renderFilterCell(cell, options) {\r\n var {\r\n column: column\r\n } = options;\r\n var $cell = $(cell);\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n this.setAria(\"describedby\", column.headerId, $cell)\r\n }\r\n this.setAria(\"label\", messageLocalization.format(\"dxDataGrid-ariaFilterCell\"), $cell);\r\n $cell.addClass(EDITOR_CELL_CLASS);\r\n var $container = $(\"<div>\").appendTo($cell);\r\n var $editorContainer = $(\"<div>\").addClass(EDITOR_CONTAINER_CLASS).appendTo($container);\r\n if (\"between\" === getColumnSelectedFilterOperation(this, column)) {\r\n this._renderFilterRangeContent($cell, column)\r\n } else {\r\n var editorOptions = this._getEditorOptions($editorContainer, column);\r\n this._renderEditor($editorContainer, editorOptions)\r\n }\r\n var {\r\n alignment: alignment\r\n } = column;\r\n if (alignment && \"center\" !== alignment) {\r\n $cell.find(EDITORS_INPUT_SELECTOR).first().css(\"textAlign\", column.alignment)\r\n }\r\n if (column.filterOperations && column.filterOperations.length) {\r\n this._renderFilterOperationChooser($container, column, $editorContainer)\r\n }\r\n },\r\n _renderCellContent($cell, options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (\"filter\" === options.rowType) {\r\n if (column.command) {\r\n $cell.html(\" \")\r\n } else if (column.allowFiltering) {\r\n that.renderTemplate($cell, that._renderFilterCell.bind(that), options).done(() => {\r\n that._updateCell($cell, options)\r\n });\r\n return\r\n }\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getEditorOptions($editorContainer, column) {\r\n var that = this;\r\n var accessibilityOptions = {\r\n editorOptions: {\r\n inputAttr: that._getFilterInputAccessibilityAttributes(column)\r\n }\r\n };\r\n var result = extend(accessibilityOptions, column, {\r\n value: getFilterValue(that, column.index, $editorContainer),\r\n parentType: \"filterRow\",\r\n showAllText: that.option(\"filterRow.showAllText\"),\r\n updateValueTimeout: \"onClick\" === that.option(\"filterRow.applyFilter\") ? 0 : FILTERING_TIMEOUT,\r\n width: null,\r\n setValue(value, notFireEvent) {\r\n updateFilterValue(that, {\r\n column: column,\r\n value: value,\r\n container: $editorContainer,\r\n notFireEvent: notFireEvent\r\n })\r\n }\r\n });\r\n if (\"between\" === getColumnSelectedFilterOperation(that, column)) {\r\n if ($editorContainer.hasClass(that.addWidgetPrefix(FILTER_RANGE_START_CLASS))) {\r\n result.placeholder = that.option(\"filterRow.betweenStartText\")\r\n } else {\r\n result.placeholder = that.option(\"filterRow.betweenEndText\")\r\n }\r\n }\r\n return result\r\n },\r\n _getFilterInputAccessibilityAttributes(column) {\r\n var columnAriaLabel = messageLocalization.format(\"dxDataGrid-ariaFilterCell\");\r\n if (this.component.option(\"showColumnHeaders\")) {\r\n return {\r\n \"aria-label\": columnAriaLabel,\r\n \"aria-describedby\": column.headerId\r\n }\r\n }\r\n return {\r\n \"aria-label\": columnAriaLabel\r\n }\r\n },\r\n _renderEditor($editorContainer, options) {\r\n $editorContainer.empty();\r\n var $element = $(\"<div>\").appendTo($editorContainer);\r\n var editorController = this.getController(\"editorFactory\");\r\n var dataSource = this.getController(\"data\").dataSource();\r\n var filterRowController = this.getController(\"applyFilter\");\r\n if (options.lookup && this.option(\"syncLookupFilterValues\")) {\r\n filterRowController.setCurrentColumnForFiltering(options);\r\n var filter = this.getController(\"data\").getCombinedFilter();\r\n filterRowController.setCurrentColumnForFiltering(null);\r\n var lookupDataSource = gridCoreUtils.getWrappedLookupDataSource(options, dataSource, filter);\r\n var lookupOptions = _extends(_extends({}, options), {\r\n lookup: _extends(_extends({}, options.lookup), {\r\n dataSource: lookupDataSource\r\n })\r\n });\r\n return editorController.createEditor($element, lookupOptions)\r\n }\r\n return editorController.createEditor($element, options)\r\n },\r\n _renderFilterRangeContent($cell, column) {\r\n var that = this;\r\n var $editorContainer = $cell.find(\".\".concat(EDITOR_CONTAINER_CLASS)).first();\r\n $editorContainer.empty();\r\n var $filterRangeContent = $(\"<div>\").addClass(FILTER_RANGE_CONTENT_CLASS).attr(\"tabindex\", this.option(\"tabIndex\"));\r\n eventsEngine.on($filterRangeContent, \"focusin\", () => {\r\n that._showFilterRange($cell, column)\r\n });\r\n $filterRangeContent.appendTo($editorContainer);\r\n that._updateFilterRangeContent($cell, getRangeTextByFilterValue(that, column))\r\n },\r\n _updateFilterRangeContent($cell, value) {\r\n var $filterRangeContent = $cell.find(\".\".concat(FILTER_RANGE_CONTENT_CLASS));\r\n if ($filterRangeContent.length) {\r\n if (\"\" === value) {\r\n $filterRangeContent.html(\" \")\r\n } else {\r\n $filterRangeContent.text(value)\r\n }\r\n }\r\n },\r\n _updateFilterOperationChooser($menu, column, $editorContainer) {\r\n var that = this;\r\n var isCellWasFocused;\r\n var restoreFocus = function() {\r\n var menu = Menu.getInstance($menu);\r\n menu && menu.option(\"focusedElement\", null);\r\n isCellWasFocused && that._focusEditor($editorContainer)\r\n };\r\n that._createComponent($menu, Menu, {\r\n integrationOptions: {},\r\n activeStateEnabled: false,\r\n selectionMode: \"single\",\r\n cssClass: \"\".concat(that.getWidgetContainerClass(), \" \").concat(CELL_FOCUS_DISABLED_CLASS, \" \").concat(FILTER_MENU),\r\n showFirstSubmenuMode: \"onHover\",\r\n hideSubmenuOnMouseLeave: true,\r\n elementAttr: {\r\n \"aria-label\": ARIA_SEARCH_BOX\r\n },\r\n items: [{\r\n disabled: !(column.filterOperations && column.filterOperations.length),\r\n icon: OPERATION_ICONS[getColumnSelectedFilterOperation(that, column) || \"default\"],\r\n selectable: false,\r\n items: that._getFilterOperationMenuItems(column)\r\n }],\r\n onItemClick(properties) {\r\n var selectedFilterOperation = properties.itemData.name;\r\n var columnSelectedFilterOperation = getColumnSelectedFilterOperation(that, column);\r\n var notFocusEditor = false;\r\n var isOnClickMode = isOnClickApplyFilterMode(that);\r\n var options = {};\r\n if (properties.itemData.items || selectedFilterOperation && selectedFilterOperation === columnSelectedFilterOperation) {\r\n return\r\n }\r\n if (selectedFilterOperation) {\r\n options[isOnClickMode ? \"bufferedSelectedFilterOperation\" : \"selectedFilterOperation\"] = selectedFilterOperation;\r\n if (\"between\" === selectedFilterOperation || \"between\" === columnSelectedFilterOperation) {\r\n notFocusEditor = \"between\" === selectedFilterOperation;\r\n options[isOnClickMode ? \"bufferedFilterValue\" : \"filterValue\"] = null\r\n }\r\n } else {\r\n options[isOnClickMode ? \"bufferedFilterValue\" : \"filterValue\"] = null;\r\n options[isOnClickMode ? \"bufferedSelectedFilterOperation\" : \"selectedFilterOperation\"] = column.defaultSelectedFilterOperation || null\r\n }\r\n that._columnsController.columnOption(column.index, options);\r\n that._applyFilterViewController.setHighLight($editorContainer, true);\r\n if (!selectedFilterOperation) {\r\n var editor = getEditorInstance($editorContainer);\r\n if (editor && \"dxDateBox\" === editor.NAME && !editor.option(\"isValid\")) {\r\n editor.reset();\r\n editor.option(\"isValid\", true)\r\n }\r\n }\r\n if (!notFocusEditor) {\r\n that._focusEditor($editorContainer)\r\n } else {\r\n that._showFilterRange($editorContainer.closest(\".\".concat(EDITOR_CELL_CLASS)), column)\r\n }\r\n },\r\n onSubmenuShowing() {\r\n isCellWasFocused = that._isEditorFocused($editorContainer);\r\n that.getController(\"editorFactory\").loseFocus()\r\n },\r\n onSubmenuHiding() {\r\n eventsEngine.trigger($menu, \"blur\");\r\n restoreFocus()\r\n },\r\n onContentReady(e) {\r\n eventsEngine.on($menu, \"blur\", () => {\r\n var menu = e.component;\r\n menu._hideSubmenuAfterTimeout();\r\n restoreFocus()\r\n })\r\n },\r\n rtlEnabled: that.option(\"rtlEnabled\")\r\n })\r\n },\r\n _isEditorFocused: $container => $container.hasClass(FOCUSED_CLASS) || $container.parents(\".\".concat(FOCUSED_CLASS)).length,\r\n _focusEditor($container) {\r\n this.getController(\"editorFactory\").focus($container);\r\n eventsEngine.trigger($container.find(EDITORS_INPUT_SELECTOR), \"focus\")\r\n },\r\n _renderFilterOperationChooser($container, column, $editorContainer) {\r\n var $menu;\r\n if (this.option(\"filterRow.showOperationChooser\")) {\r\n $container.addClass(EDITOR_WITH_MENU_CLASS);\r\n $menu = $(\"<div>\").prependTo($container);\r\n this._updateFilterOperationChooser($menu, column, $editorContainer)\r\n }\r\n },\r\n _getFilterOperationMenuItems(column) {\r\n var that = this;\r\n var result = [{}];\r\n var filterRowOptions = that.option(\"filterRow\");\r\n var operationDescriptions = filterRowOptions && filterRowOptions.operationDescriptions || {};\r\n if (column.filterOperations && column.filterOperations.length) {\r\n var availableFilterOperations = column.filterOperations.filter(value => isDefined(OPERATION_DESCRIPTORS[value]));\r\n result = map(availableFilterOperations, value => {\r\n var descriptionName = OPERATION_DESCRIPTORS[value];\r\n return {\r\n name: value,\r\n selected: (getColumnSelectedFilterOperation(that, column) || column.defaultFilterOperation) === value,\r\n text: operationDescriptions[descriptionName],\r\n icon: OPERATION_ICONS[value]\r\n }\r\n });\r\n result.push({\r\n name: null,\r\n text: filterRowOptions && filterRowOptions.resetOperationText,\r\n icon: OPERATION_ICONS.default\r\n })\r\n }\r\n return result\r\n },\r\n _handleDataChanged(e) {\r\n var _a, _b, _c;\r\n this.callBase.apply(this, arguments);\r\n if ((null === (_a = e.operationTypes) || void 0 === _a ? void 0 : _a.filtering) || (null === (_b = e.operationTypes) || void 0 === _b ? void 0 : _b.fullReload)) {\r\n this.updateLookupDataSource(null === (_c = e.operationTypes) || void 0 === _c ? void 0 : _c.filtering)\r\n }\r\n },\r\n updateLookupDataSource(filterChanged) {\r\n if (!this.option(\"syncLookupFilterValues\")) {\r\n return\r\n }\r\n if (!this.element()) {\r\n return\r\n }\r\n var columns = this._columnsController.getVisibleColumns();\r\n var dataSource = this._dataController.dataSource();\r\n var applyFilterViewController = this._applyFilterViewController;\r\n var rowIndex = this.element().find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS))).index();\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n columns.forEach((column, index) => {\r\n if (!column.lookup || column.calculateCellValue !== column.defaultCalculateCellValue) {\r\n return\r\n }\r\n var $cell = this._getCellElement(rowIndex, index);\r\n var editor = getEditorInstance(null === $cell || void 0 === $cell ? void 0 : $cell.find(\".dx-editor-container\"));\r\n if (editor) {\r\n applyFilterViewController.setCurrentColumnForFiltering(column);\r\n var filter = this._dataController.getCombinedFilter() || null;\r\n applyFilterViewController.setCurrentColumnForFiltering(null);\r\n var editorDataSource = editor.option(\"dataSource\");\r\n var shouldUpdateFilter = !filterChanged || !equalByValue(editorDataSource.__dataGridSourceFilter, filter);\r\n if (shouldUpdateFilter) {\r\n var lookupDataSource = gridCoreUtils.getWrappedLookupDataSource(column, dataSource, filter);\r\n editor.option(\"dataSource\", lookupDataSource)\r\n }\r\n }\r\n })\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterRow\":\r\n case \"showColumnLines\":\r\n this._invalidate(true, true);\r\n args.handled = true;\r\n break;\r\n case \"syncLookupFilterValues\":\r\n if (args.value) {\r\n this.updateLookupDataSource()\r\n } else {\r\n this.render()\r\n }\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n}();\r\nvar DataControllerFilterRowExtender = {\r\n skipCalculateColumnFilters: () => false,\r\n _calculateAdditionalFilter() {\r\n if (this.skipCalculateColumnFilters()) {\r\n return this.callBase()\r\n }\r\n var filters = [this.callBase()];\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var filterRowController = this.getController(\"applyFilter\");\r\n each(columns, (function() {\r\n var _a;\r\n var shouldSkip = (null === (_a = filterRowController.getCurrentColumnForFiltering()) || void 0 === _a ? void 0 : _a.index) === this.index;\r\n if (this.allowFiltering && this.calculateFilterExpression && isDefined(this.filterValue) && !shouldSkip) {\r\n var filter = this.createFilterExpression(this.filterValue, this.selectedFilterOperation || this.defaultFilterOperation, \"filterRow\");\r\n filters.push(filter)\r\n }\r\n }));\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n};\r\nvar ApplyFilterViewController = modules.ViewController.inherit({\r\n _getHeaderPanel() {\r\n if (!this._headerPanel) {\r\n this._headerPanel = this.getView(\"headerPanel\")\r\n }\r\n return this._headerPanel\r\n },\r\n setHighLight($element, value) {\r\n if (isOnClickApplyFilterMode(this)) {\r\n $element && $element.toggleClass(HIGHLIGHT_OUTLINE_CLASS, value) && $element.closest(\".\".concat(EDITOR_CELL_CLASS)).toggleClass(FILTER_MODIFIED_CLASS, value);\r\n this._getHeaderPanel().enableApplyButton(value)\r\n }\r\n },\r\n applyFilter() {\r\n var columnsController = this.getController(\"columns\");\r\n var columns = columnsController.getColumns();\r\n columnsController.beginUpdate();\r\n for (var i = 0; i < columns.length; i++) {\r\n var column = columns[i];\r\n if (void 0 !== column.bufferedFilterValue) {\r\n columnsController.columnOption(i, \"filterValue\", column.bufferedFilterValue);\r\n column.bufferedFilterValue = void 0\r\n }\r\n if (void 0 !== column.bufferedSelectedFilterOperation) {\r\n columnsController.columnOption(i, \"selectedFilterOperation\", column.bufferedSelectedFilterOperation);\r\n column.bufferedSelectedFilterOperation = void 0\r\n }\r\n }\r\n columnsController.endUpdate();\r\n this.removeHighLights()\r\n },\r\n removeHighLights() {\r\n if (isOnClickApplyFilterMode(this)) {\r\n var columnHeadersViewElement = this.getView(\"columnHeadersView\").element();\r\n columnHeadersViewElement.find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS), \" .\").concat(HIGHLIGHT_OUTLINE_CLASS)).removeClass(HIGHLIGHT_OUTLINE_CLASS);\r\n columnHeadersViewElement.find(\".\".concat(this.addWidgetPrefix(FILTER_ROW_CLASS), \" .\").concat(FILTER_MODIFIED_CLASS)).removeClass(FILTER_MODIFIED_CLASS);\r\n this._getHeaderPanel().enableApplyButton(false)\r\n }\r\n },\r\n setCurrentColumnForFiltering(column) {\r\n this._currentColumn = column\r\n },\r\n getCurrentColumnForFiltering() {\r\n return this._currentColumn\r\n }\r\n});\r\nexport var filterRowModule = {\r\n defaultOptions: () => ({\r\n syncLookupFilterValues: true,\r\n filterRow: {\r\n visible: false,\r\n showOperationChooser: true,\r\n showAllText: messageLocalization.format(\"dxDataGrid-filterRowShowAllText\"),\r\n resetOperationText: messageLocalization.format(\"dxDataGrid-filterRowResetOperationText\"),\r\n applyFilter: \"auto\",\r\n applyFilterText: messageLocalization.format(\"dxDataGrid-applyFilterText\"),\r\n operationDescriptions: {\r\n equal: messageLocalization.format(\"dxDataGrid-filterRowOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxDataGrid-filterRowOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxDataGrid-filterRowOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxDataGrid-filterRowOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxDataGrid-filterRowOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxDataGrid-filterRowOperationContains\"),\r\n notContains: messageLocalization.format(\"dxDataGrid-filterRowOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxDataGrid-filterRowOperationEndsWith\"),\r\n between: messageLocalization.format(\"dxDataGrid-filterRowOperationBetween\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n },\r\n betweenStartText: messageLocalization.format(\"dxDataGrid-filterRowOperationBetweenStartText\"),\r\n betweenEndText: messageLocalization.format(\"dxDataGrid-filterRowOperationBetweenEndText\")\r\n }\r\n }),\r\n controllers: {\r\n applyFilter: ApplyFilterViewController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: DataControllerFilterRowExtender,\r\n columnsResizer: {\r\n _startResizing() {\r\n this.callBase.apply(this, arguments);\r\n if (this.isResizing()) {\r\n var overlayInstance = this._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n var cellIndex = overlayInstance.$element().closest(\"td\").index();\r\n if (cellIndex === this._targetPoint.columnIndex || cellIndex === this._targetPoint.columnIndex + 1) {\r\n overlayInstance.$content().hide()\r\n }\r\n }\r\n }\r\n },\r\n _endResizing() {\r\n var $cell;\r\n if (this.isResizing()) {\r\n var overlayInstance = this._columnHeadersView.getFilterRangeOverlayInstance();\r\n if (overlayInstance) {\r\n $cell = overlayInstance.$element().closest(\"td\");\r\n this._columnHeadersView._updateFilterRangeOverlay({\r\n width: getOuterWidth($cell, true) + CORRECT_FILTER_RANGE_OVERLAY_WIDTH\r\n });\r\n overlayInstance.$content().show()\r\n }\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n editing: {\r\n updateFieldValue(options) {\r\n if (options.column.lookup) {\r\n this._needUpdateLookupDataSource = true\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _afterSaveEditData(cancel) {\r\n var _a;\r\n if (this._needUpdateLookupDataSource && !cancel) {\r\n null === (_a = this.getView(\"columnHeadersView\")) || void 0 === _a ? void 0 : _a.updateLookupDataSource()\r\n }\r\n this._needUpdateLookupDataSource = false;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _afterCancelEditData() {\r\n this._needUpdateLookupDataSource = false;\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n },\r\n views: {\r\n columnHeadersView: ColumnHeadersViewFilterRowExtender,\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n var filterItem = this._prepareFilterItem(items);\r\n return filterItem.concat(items)\r\n },\r\n _prepareFilterItem() {\r\n var that = this;\r\n var filterItem = [];\r\n if (that._isShowApplyFilterButton()) {\r\n var hintText = that.option(\"filterRow.applyFilterText\");\r\n var columns = that._columnsController.getColumns();\r\n var disabled = !columns.filter(column => void 0 !== column.bufferedFilterValue).length;\r\n var toolbarItem = {\r\n widget: \"dxButton\",\r\n options: {\r\n icon: \"apply-filter\",\r\n disabled: disabled,\r\n onClick: function() {\r\n that._applyFilterViewController.applyFilter()\r\n },\r\n hint: hintText,\r\n text: hintText,\r\n onInitialized: function(e) {\r\n $(e.element).addClass(that._getToolbarButtonClass(APPLY_BUTTON_CLASS))\r\n }\r\n },\r\n showText: \"inMenu\",\r\n name: \"applyFilterButton\",\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 10\r\n };\r\n filterItem.push(toolbarItem)\r\n }\r\n return filterItem\r\n },\r\n _isShowApplyFilterButton() {\r\n var filterRowOptions = this.option(\"filterRow\");\r\n return filterRowOptions && filterRowOptions.visible && \"onClick\" === filterRowOptions.applyFilter\r\n },\r\n init() {\r\n this.callBase();\r\n this._dataController = this.getController(\"data\");\r\n this._applyFilterViewController = this.getController(\"applyFilter\")\r\n },\r\n enableApplyButton(value) {\r\n this.setToolbarItemDisabled(\"applyFilterButton\", !value)\r\n },\r\n isVisible() {\r\n return this.callBase() || this._isShowApplyFilterButton()\r\n },\r\n optionChanged(args) {\r\n if (\"filterRow\" === args.name) {\r\n this._invalidate();\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_row.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterRowModule\r\n} from \"../../../grids/grid_core/filter/m_filter_row\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterRow\", filterRowModule);\r\n","/**\r\n * DevExtreme (esm/ui/list/modules/search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport searchBoxMixin from \"../../widget/ui.search_box_mixin\";\r\nimport TextBox from \"../../text_box\";\r\nsearchBoxMixin.setEditorClass(TextBox);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_filter/m_header_filter_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport \"../../../../ui/list/modules/search\";\r\nimport \"../../../../ui/list/modules/selection\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport List from \"../../../../ui/list_light\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport TreeView from \"../../../../ui/tree_view\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar HEADER_FILTER_CLASS = \"dx-header-filter\";\r\nvar HEADER_FILTER_MENU_CLASS = \"dx-header-filter-menu\";\r\nvar DEFAULT_SEARCH_EXPRESSION = \"text\";\r\n\r\nfunction resetChildrenItemSelection(items) {\r\n items = items || [];\r\n for (var i = 0; i < items.length; i++) {\r\n items[i].selected = false;\r\n resetChildrenItemSelection(items[i].items)\r\n }\r\n}\r\n\r\nfunction getSelectAllCheckBox(listComponent) {\r\n var selector = \"dxTreeView\" === listComponent.NAME ? \".dx-treeview-select-all-item\" : \".dx-list-select-all-checkbox\";\r\n return listComponent.$element().find(selector).dxCheckBox(\"instance\")\r\n}\r\n\r\nfunction updateListSelectAllState(e, filterValues) {\r\n if (e.component.option(\"searchValue\")) {\r\n return\r\n }\r\n var selectAllCheckBox = getSelectAllCheckBox(e.component);\r\n if (selectAllCheckBox && filterValues && filterValues.length) {\r\n selectAllCheckBox.option(\"value\", void 0)\r\n }\r\n}\r\nexport function updateHeaderFilterItemSelectionState(item, filterValuesMatch, isExcludeFilter) {\r\n if (filterValuesMatch ^ isExcludeFilter) {\r\n item.selected = true;\r\n if (isExcludeFilter && item.items) {\r\n for (var j = 0; j < item.items.length; j++) {\r\n if (!item.items[j].selected) {\r\n item.selected = void 0;\r\n break\r\n }\r\n }\r\n }\r\n } else if (isExcludeFilter || item.selected) {\r\n item.selected = false;\r\n resetChildrenItemSelection(item.items)\r\n }\r\n}\r\nexport var HeaderFilterView = modules.View.inherit({\r\n getPopupContainer() {\r\n return this._popupContainer\r\n },\r\n getListComponent() {\r\n return this._listComponent\r\n },\r\n applyHeaderFilter(options) {\r\n var list = this.getListComponent();\r\n var searchValue = list.option(\"searchValue\");\r\n var selectAllCheckBox = getSelectAllCheckBox(list);\r\n var isAllSelected = !searchValue && !options.isFilterBuilder && (null === selectAllCheckBox || void 0 === selectAllCheckBox ? void 0 : selectAllCheckBox.option(\"value\"));\r\n var filterValues = [];\r\n if (!isAllSelected) {\r\n if (\"tree\" === options.type) {\r\n if (options.filterType) {\r\n options.filterType = \"include\"\r\n }! function fillSelectedItemKeys(filterValues, items, isExclude) {\r\n each(items, (_, item) => {\r\n if (void 0 !== item.selected && !!item.selected ^ isExclude) {\r\n var node = list._getNode(item);\r\n var hasChildren = list._hasChildren(node);\r\n var hasChildrenWithSelection = hasChildren && item.items && item.items.some(item => item.selected);\r\n if (!searchValue || !hasChildrenWithSelection) {\r\n filterValues.push(item.value);\r\n return\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n fillSelectedItemKeys(filterValues, item.items, isExclude)\r\n }\r\n })\r\n }(filterValues, list.option(\"items\"), false);\r\n options.filterValues = filterValues\r\n }\r\n } else {\r\n if (\"tree\" === options.type) {\r\n options.filterType = \"exclude\"\r\n }\r\n if (Array.isArray(options.filterValues)) {\r\n options.filterValues = []\r\n }\r\n }\r\n if (options.filterValues && !options.filterValues.length) {\r\n options.filterValues = null\r\n }\r\n options.apply();\r\n this.hideHeaderFilterMenu()\r\n },\r\n showHeaderFilterMenu($columnElement, options) {\r\n if (options) {\r\n this._initializePopupContainer(options);\r\n var popupContainer = this.getPopupContainer();\r\n this.hideHeaderFilterMenu();\r\n this.updatePopup($columnElement, options);\r\n popupContainer.show()\r\n }\r\n },\r\n hideHeaderFilterMenu() {\r\n var headerFilterMenu = this.getPopupContainer();\r\n headerFilterMenu && headerFilterMenu.hide()\r\n },\r\n updatePopup($element, options) {\r\n var showColumnLines = this.option(\"showColumnLines\");\r\n var alignment = \"right\" === options.alignment ^ !showColumnLines ? \"left\" : \"right\";\r\n this._popupContainer.setAria({\r\n role: \"dialog\",\r\n label: messageLocalization.format(\"dxDataGrid-headerFilterLabel\")\r\n });\r\n if (this._popupContainer) {\r\n this._cleanPopupContent();\r\n this._popupContainer.option(\"position\", {\r\n my: \"\".concat(alignment, \" top\"),\r\n at: \"\".concat(alignment, \" bottom\"),\r\n of: $element,\r\n collision: \"fit fit\"\r\n })\r\n }\r\n },\r\n _getSearchExpr(options, headerFilterOptions) {\r\n var {\r\n lookup: lookup\r\n } = options;\r\n var {\r\n useDefaultSearchExpr: useDefaultSearchExpr\r\n } = options;\r\n var headerFilterDataSource = headerFilterOptions.dataSource;\r\n var filterSearchExpr = headerFilterOptions.search.searchExpr;\r\n if (filterSearchExpr) {\r\n return filterSearchExpr\r\n }\r\n if (useDefaultSearchExpr || isDefined(headerFilterDataSource) && !isFunction(headerFilterDataSource)) {\r\n return DEFAULT_SEARCH_EXPRESSION\r\n }\r\n if (lookup) {\r\n return lookup.displayExpr || \"this\"\r\n }\r\n if (options.dataSource) {\r\n var {\r\n group: group\r\n } = options.dataSource;\r\n if (Array.isArray(group) && group.length > 0) {\r\n return group[0].selector\r\n }\r\n if (isFunction(group) && !options.remoteFiltering) {\r\n return group\r\n }\r\n }\r\n return options.dataField || options.selector\r\n },\r\n _cleanPopupContent() {\r\n this._popupContainer && this._popupContainer.$content().empty()\r\n },\r\n _initializePopupContainer(options) {\r\n var that = this;\r\n var $element = that.element();\r\n var headerFilterOptions = this._normalizeHeaderFilterOptions(options);\r\n var {\r\n height: height,\r\n width: width\r\n } = headerFilterOptions;\r\n var dxPopupOptions = {\r\n width: width,\r\n height: height,\r\n visible: false,\r\n shading: false,\r\n showTitle: false,\r\n showCloseButton: false,\r\n hideOnParentScroll: false,\r\n dragEnabled: false,\r\n hideOnOutsideClick: true,\r\n wrapperAttr: {\r\n class: HEADER_FILTER_MENU_CLASS\r\n },\r\n focusStateEnabled: false,\r\n toolbarItems: [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: headerFilterOptions.texts.ok,\r\n onClick() {\r\n that.applyHeaderFilter(options)\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: headerFilterOptions.texts.cancel,\r\n onClick() {\r\n that.hideHeaderFilterMenu()\r\n }\r\n }\r\n }],\r\n resizeEnabled: true,\r\n onShowing(e) {\r\n e.component.$content().parent().addClass(\"dx-dropdowneditor-overlay\");\r\n that._initializeListContainer(options, headerFilterOptions);\r\n options.onShowing && options.onShowing(e)\r\n },\r\n onShown() {\r\n that.getListComponent().focus()\r\n },\r\n onHidden: options.onHidden,\r\n onInitialized(e) {\r\n var {\r\n component: component\r\n } = e;\r\n component.option(\"animation\", component._getDefaultOptions().animation)\r\n }\r\n };\r\n if (!isDefined(that._popupContainer)) {\r\n that._popupContainer = that._createComponent($element, Popup, dxPopupOptions)\r\n } else {\r\n that._popupContainer.option(dxPopupOptions)\r\n }\r\n },\r\n _initializeListContainer(options, headerFilterOptions) {\r\n var that = this;\r\n var $content = that._popupContainer.$content();\r\n var needShowSelectAllCheckbox = !options.isFilterBuilder && headerFilterOptions.allowSelectAll;\r\n var widgetOptions = {\r\n searchEnabled: headerFilterOptions.search.enabled,\r\n searchTimeout: headerFilterOptions.search.timeout,\r\n searchEditorOptions: headerFilterOptions.search.editorOptions,\r\n searchMode: headerFilterOptions.search.mode || \"\",\r\n dataSource: options.dataSource,\r\n onContentReady() {\r\n that.renderCompleted.fire()\r\n },\r\n itemTemplate(data, _, element) {\r\n var $element = $(element);\r\n if (options.encodeHtml) {\r\n return $element.text(data.text)\r\n }\r\n return $element.html(data.text)\r\n }\r\n };\r\n\r\n function onOptionChanged(e) {\r\n if (\"searchValue\" === e.fullName && needShowSelectAllCheckbox && false !== that.option(\"headerFilter.hideSelectAllOnSearch\")) {\r\n if (\"tree\" === options.type) {\r\n e.component.option(\"showCheckBoxesMode\", e.value ? \"normal\" : \"selectAll\")\r\n } else {\r\n e.component.option(\"selectionMode\", e.value ? \"multiple\" : \"all\")\r\n }\r\n }\r\n }\r\n if (\"tree\" === options.type) {\r\n that._listComponent = that._createComponent($(\"<div>\").appendTo($content), TreeView, extend(widgetOptions, {\r\n showCheckBoxesMode: needShowSelectAllCheckbox ? \"selectAll\" : \"normal\",\r\n onOptionChanged: onOptionChanged,\r\n keyExpr: \"id\"\r\n }))\r\n } else {\r\n that._listComponent = that._createComponent($(\"<div>\").appendTo($content), List, extend(widgetOptions, {\r\n searchExpr: that._getSearchExpr(options, headerFilterOptions),\r\n pageLoadMode: \"scrollBottom\",\r\n showSelectionControls: true,\r\n selectionMode: needShowSelectAllCheckbox ? \"all\" : \"multiple\",\r\n onOptionChanged: onOptionChanged,\r\n onSelectionChanged(e) {\r\n var items = e.component.option(\"items\");\r\n var selectedItems = e.component.option(\"selectedItems\");\r\n if (!e.component._selectedItemsUpdating && !e.component.option(\"searchValue\") && !options.isFilterBuilder) {\r\n var filterValues = options.filterValues || [];\r\n var isExclude = \"exclude\" === options.filterType;\r\n if (0 === selectedItems.length && items.length && (filterValues.length <= 1 || isExclude && filterValues.length === items.length - 1)) {\r\n options.filterType = \"include\";\r\n options.filterValues = []\r\n } else if (selectedItems.length === items.length) {\r\n options.filterType = \"exclude\";\r\n options.filterValues = []\r\n }\r\n }\r\n each(items, (index, item) => {\r\n var selected = gridCoreUtils.getIndexByKey(item, selectedItems, null) >= 0;\r\n var oldSelected = !!item.selected;\r\n if (oldSelected !== selected) {\r\n item.selected = selected;\r\n options.filterValues = options.filterValues || [];\r\n var filterValueIndex = gridCoreUtils.getIndexByKey(item.value, options.filterValues, null);\r\n if (filterValueIndex >= 0) {\r\n options.filterValues.splice(filterValueIndex, 1)\r\n }\r\n var isExcludeFilterType = \"exclude\" === options.filterType;\r\n if (selected ^ isExcludeFilterType) {\r\n options.filterValues.push(item.value)\r\n }\r\n }\r\n });\r\n updateListSelectAllState(e, options.filterValues)\r\n },\r\n onContentReady(e) {\r\n var {\r\n component: component\r\n } = e;\r\n var items = component.option(\"items\");\r\n var selectedItems = [];\r\n each(items, (function() {\r\n if (this.selected) {\r\n selectedItems.push(this)\r\n }\r\n }));\r\n component._selectedItemsUpdating = true;\r\n component.option(\"selectedItems\", selectedItems);\r\n component._selectedItemsUpdating = false;\r\n updateListSelectAllState(e, options.filterValues)\r\n }\r\n }))\r\n }\r\n },\r\n _normalizeHeaderFilterOptions(options) {\r\n var generalHeaderFilter = this.option(\"headerFilter\") || {};\r\n var specificHeaderFilter = options.headerFilter || {};\r\n var generalDeprecated = {\r\n search: {\r\n enabled: generalHeaderFilter.allowSearch,\r\n timeout: generalHeaderFilter.searchTimeout\r\n }\r\n };\r\n var specificDeprecated = {\r\n search: {\r\n enabled: specificHeaderFilter.allowSearch,\r\n mode: specificHeaderFilter.searchMode,\r\n timeout: specificHeaderFilter.searchTimeout\r\n }\r\n };\r\n return extend(true, {}, generalHeaderFilter, generalDeprecated, specificHeaderFilter, specificDeprecated)\r\n },\r\n _renderCore() {\r\n this.element().addClass(HEADER_FILTER_MENU_CLASS)\r\n }\r\n});\r\nexport var allowHeaderFiltering = function(column) {\r\n return isDefined(column.allowHeaderFiltering) ? column.allowHeaderFiltering : column.allowFiltering\r\n};\r\nexport var headerFilterMixin = {\r\n _applyColumnState(options) {\r\n var $headerFilterIndicator;\r\n var {\r\n rootElement: rootElement\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n if (\"headerFilter\" === options.name) {\r\n rootElement.find(\".\".concat(HEADER_FILTER_CLASS)).remove();\r\n if (allowHeaderFiltering(column)) {\r\n $headerFilterIndicator = this.callBase(options).toggleClass(\"dx-header-filter-empty\", this._isHeaderFilterEmpty(column));\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n $headerFilterIndicator.attr(\"tabindex\", this.option(\"tabindex\") || 0)\r\n }\r\n var indicatorLabel = messageLocalization.format(\"dxDataGrid-headerFilterIndicatorLabel\", column.caption);\r\n $headerFilterIndicator.attr(\"aria-label\", indicatorLabel);\r\n $headerFilterIndicator.attr(\"aria-haspopup\", \"dialog\");\r\n $headerFilterIndicator.attr(\"role\", \"button\")\r\n }\r\n return $headerFilterIndicator\r\n }\r\n return this.callBase(options)\r\n },\r\n _isHeaderFilterEmpty: column => !column.filterValues || !column.filterValues.length,\r\n _getIndicatorClassName(name) {\r\n if (\"headerFilter\" === name) {\r\n return HEADER_FILTER_CLASS\r\n }\r\n return this.callBase(name)\r\n },\r\n _renderIndicator(options) {\r\n var $container = options.container;\r\n var $indicator = options.indicator;\r\n if (\"headerFilter\" === options.name) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n if ($container.children().length && (!rtlEnabled && \"right\" === options.columnAlignment || rtlEnabled && \"left\" === options.columnAlignment)) {\r\n $container.prepend($indicator);\r\n return\r\n }\r\n }\r\n this.callBase(options)\r\n },\r\n optionChanged(args) {\r\n if (\"headerFilter\" === args.name) {\r\n var requireReady = \"columnHeadersView\" === this.name;\r\n this._invalidate(requireReady, requireReady);\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/header_filter/m_header_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"../../../../data/data_source/utils\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport dateLocalization from \"../../../../localization/date\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n restoreFocus,\r\n saveFocusedElementInfo\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n allowHeaderFiltering,\r\n headerFilterMixin,\r\n HeaderFilterView,\r\n updateHeaderFilterItemSelectionState\r\n} from \"./m_header_filter_core\";\r\nvar DATE_INTERVAL_FORMATS = {\r\n month: value => dateLocalization.getMonthNames()[value - 1],\r\n quarter: value => dateLocalization.format(new Date(2e3, 3 * value - 1), \"quarter\")\r\n};\r\n\r\nfunction ungroupUTCDates(items, dateParts, dates) {\r\n dateParts = dateParts || [];\r\n dates = dates || [];\r\n items.forEach(item => {\r\n if (isDefined(item.key)) {\r\n var isMonthPart = 1 === dateParts.length;\r\n dateParts.push(isMonthPart ? item.key - 1 : item.key);\r\n if (item.items) {\r\n ungroupUTCDates(item.items, dateParts, dates)\r\n } else {\r\n var date = new Date(Date.UTC.apply(Date, dateParts));\r\n dates.push(date)\r\n }\r\n dateParts.pop()\r\n } else {\r\n dates.push(null)\r\n }\r\n });\r\n return dates\r\n}\r\n\r\nfunction convertDataFromUTCToLocal(data, column) {\r\n var dates = ungroupUTCDates(data);\r\n var query = dataQuery(dates);\r\n var group = gridCoreUtils.getHeaderFilterGroupParameters(_extends(_extends({}, column), {\r\n calculateCellValue: date => date\r\n }));\r\n return storeHelper.queryByOptions(query, {\r\n group: group\r\n }).toArray()\r\n}\r\n\r\nfunction isUTCFormat(format) {\r\n return \"Z\" === (null === format || void 0 === format ? void 0 : format.slice(-1)) || \"'Z'\" === (null === format || void 0 === format ? void 0 : format.slice(-3))\r\n}\r\nvar HeaderFilterController = modules.ViewController.inherit({\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._dataController = this.getController(\"data\");\r\n this._headerFilterView = this.getView(\"headerFilterView\")\r\n },\r\n _updateSelectedState(items, column) {\r\n var i = items.length;\r\n var isExclude = \"exclude\" === column.filterType;\r\n while (i--) {\r\n var item = items[i];\r\n if (\"items\" in items[i]) {\r\n this._updateSelectedState(items[i].items, column)\r\n }\r\n updateHeaderFilterItemSelectionState(item, gridCoreUtils.getIndexByKey(items[i].value, column.filterValues, null) > -1, isExclude)\r\n }\r\n },\r\n _normalizeGroupItem(item, currentLevel, options) {\r\n var value;\r\n var displayValue;\r\n var {\r\n path: path\r\n } = options;\r\n var {\r\n valueSelector: valueSelector\r\n } = options;\r\n var {\r\n displaySelector: displaySelector\r\n } = options;\r\n var {\r\n column: column\r\n } = options;\r\n if (valueSelector && displaySelector) {\r\n value = valueSelector(item);\r\n displayValue = displaySelector(item)\r\n } else {\r\n value = item.key;\r\n displayValue = value\r\n }\r\n if (!isObject(item)) {\r\n item = {}\r\n } else {\r\n item = extend({}, item)\r\n }\r\n path.push(value);\r\n if (1 === path.length) {\r\n item.value = path[0]\r\n } else {\r\n item.value = path.join(\"/\")\r\n }\r\n item.text = this.getHeaderItemText(displayValue, column, currentLevel, options.headerFilterOptions);\r\n return item\r\n },\r\n getHeaderItemText(displayValue, column, currentLevel, headerFilterOptions) {\r\n var text = gridCoreUtils.formatValue(displayValue, function(value, column, currentLevel) {\r\n var groupInterval = filterUtils.getGroupInterval(column);\r\n var result = gridCoreUtils.getFormatOptionsByColumn(column, \"headerFilter\");\r\n if (groupInterval) {\r\n result.groupInterval = groupInterval[currentLevel];\r\n if (gridCoreUtils.isDateType(column.dataType)) {\r\n result.format = DATE_INTERVAL_FORMATS[groupInterval[currentLevel]]\r\n } else if (\"number\" === column.dataType) {\r\n result.getDisplayFormat = function() {\r\n var formatOptions = {\r\n format: column.format,\r\n target: \"headerFilter\"\r\n };\r\n var firstValueText = gridCoreUtils.formatValue(value, formatOptions);\r\n var secondValue = value + groupInterval[currentLevel];\r\n var secondValueText = gridCoreUtils.formatValue(secondValue, formatOptions);\r\n return firstValueText && secondValueText ? \"\".concat(firstValueText, \" - \").concat(secondValueText) : \"\"\r\n }\r\n }\r\n }\r\n return result\r\n }(displayValue, column, currentLevel));\r\n if (!text) {\r\n text = headerFilterOptions.texts.emptyValue\r\n }\r\n return text\r\n },\r\n _processGroupItems(groupItems, currentLevel, path, options) {\r\n var displaySelector;\r\n var valueSelector;\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n lookup: lookup\r\n } = column;\r\n var {\r\n level: level\r\n } = options;\r\n path = path || [];\r\n currentLevel = currentLevel || 0;\r\n if (lookup) {\r\n displaySelector = compileGetter(lookup.displayExpr);\r\n valueSelector = compileGetter(lookup.valueExpr)\r\n }\r\n for (var i = 0; i < groupItems.length; i++) {\r\n groupItems[i] = this._normalizeGroupItem(groupItems[i], currentLevel, {\r\n column: options.column,\r\n headerFilterOptions: options.headerFilterOptions,\r\n displaySelector: displaySelector,\r\n valueSelector: valueSelector,\r\n path: path\r\n });\r\n if (\"items\" in groupItems[i]) {\r\n if (currentLevel === level || !isDefined(groupItems[i].value)) {\r\n delete groupItems[i].items\r\n } else {\r\n this._processGroupItems(groupItems[i].items, currentLevel + 1, path, options)\r\n }\r\n }\r\n path.pop()\r\n }\r\n },\r\n getDataSource(column) {\r\n var _a;\r\n var dataSource = this._dataController.dataSource();\r\n var remoteGrouping = null === dataSource || void 0 === dataSource ? void 0 : dataSource.remoteOperations().grouping;\r\n var group = gridCoreUtils.getHeaderFilterGroupParameters(column, remoteGrouping);\r\n var headerFilterDataSource = null === (_a = column.headerFilter) || void 0 === _a ? void 0 : _a.dataSource;\r\n var headerFilterOptions = this.option(\"headerFilter\");\r\n var isLookup = false;\r\n var options = {\r\n component: this.component\r\n };\r\n if (!dataSource) {\r\n return\r\n }\r\n if (isDefined(headerFilterDataSource) && !isFunction(headerFilterDataSource)) {\r\n options.dataSource = normalizeDataSourceOptions(headerFilterDataSource)\r\n } else if (column.lookup) {\r\n isLookup = true;\r\n if (this.option(\"syncLookupFilterValues\")) {\r\n this._currentColumn = column;\r\n var filter = this._dataController.getCombinedFilter();\r\n this._currentColumn = null;\r\n options.dataSource = gridCoreUtils.getWrappedLookupDataSource(column, dataSource, filter)\r\n } else {\r\n options.dataSource = gridCoreUtils.normalizeLookupDataSource(column.lookup)\r\n }\r\n } else {\r\n var cutoffLevel = Array.isArray(group) ? group.length - 1 : 0;\r\n this._currentColumn = column;\r\n var _filter = this._dataController.getCombinedFilter();\r\n this._currentColumn = null;\r\n options.dataSource = {\r\n filter: _filter,\r\n group: group,\r\n useDefaultSearch: true,\r\n load: options => {\r\n var d = new Deferred;\r\n options.dataField = column.dataField || column.name;\r\n dataSource.load(options).done(data => {\r\n var convertUTCDates = remoteGrouping && isUTCFormat(column.serializationFormat) && cutoffLevel > 3;\r\n if (convertUTCDates) {\r\n data = convertDataFromUTCToLocal(data, column)\r\n }\r\n that._processGroupItems(data, null, null, {\r\n level: cutoffLevel,\r\n column: column,\r\n headerFilterOptions: headerFilterOptions\r\n });\r\n d.resolve(data)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n }\r\n }\r\n if (isFunction(headerFilterDataSource)) {\r\n headerFilterDataSource.call(column, options)\r\n }\r\n var origPostProcess = options.dataSource.postProcess;\r\n var that = this;\r\n options.dataSource.postProcess = function(data) {\r\n var items = data;\r\n if (isLookup) {\r\n items = items.filter(item => null !== item[column.lookup.valueExpr]);\r\n if (0 === this.pageIndex() && !this.searchValue()) {\r\n items = items.slice(0);\r\n items.unshift(null)\r\n }\r\n that._processGroupItems(items, null, null, {\r\n level: 0,\r\n column: column,\r\n headerFilterOptions: headerFilterOptions\r\n })\r\n }\r\n items = origPostProcess && origPostProcess.call(this, items) || items;\r\n that._updateSelectedState(items, column);\r\n return items\r\n };\r\n return options.dataSource\r\n },\r\n getCurrentColumn() {\r\n return this._currentColumn\r\n },\r\n showHeaderFilterMenu(columnIndex, isGroupPanel) {\r\n var columnsController = this._columnsController;\r\n var column = extend(true, {}, this._columnsController.getColumns()[columnIndex]);\r\n if (column) {\r\n var visibleIndex = columnsController.getVisibleIndex(columnIndex);\r\n var view = isGroupPanel ? this.getView(\"headerPanel\") : this.getView(\"columnHeadersView\");\r\n var $columnElement = $columnElement || view.getColumnElements().eq(isGroupPanel ? column.groupIndex : visibleIndex);\r\n this.showHeaderFilterMenuBase({\r\n columnElement: $columnElement,\r\n column: column,\r\n applyFilter: true,\r\n apply() {\r\n columnsController.columnOption(columnIndex, {\r\n filterValues: this.filterValues,\r\n filterType: this.filterType\r\n })\r\n }\r\n })\r\n }\r\n },\r\n showHeaderFilterMenuBase(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (column) {\r\n var groupInterval = filterUtils.getGroupInterval(column);\r\n var dataSource = that._dataController.dataSource();\r\n var remoteFiltering = dataSource && dataSource.remoteOperations().filtering;\r\n extend(options, column, {\r\n type: groupInterval && groupInterval.length > 1 ? \"tree\" : \"list\",\r\n remoteFiltering: remoteFiltering,\r\n onShowing(e) {\r\n var dxResizableInstance = e.component.$overlayContent().dxResizable(\"instance\");\r\n dxResizableInstance && dxResizableInstance.option(\"onResizeEnd\", e => {\r\n var columnsController = that.getController(\"columns\");\r\n var headerFilterByColumn = columnsController.columnOption(options.dataField, \"headerFilter\");\r\n headerFilterByColumn = headerFilterByColumn || {};\r\n headerFilterByColumn.width = e.width;\r\n headerFilterByColumn.height = e.height;\r\n columnsController.columnOption(options.dataField, \"headerFilter\", headerFilterByColumn, true)\r\n })\r\n },\r\n onHidden: () => restoreFocus(this)\r\n });\r\n options.dataSource = that.getDataSource(options);\r\n if (options.isFilterBuilder) {\r\n options.dataSource.filter = null;\r\n options.alignment = \"right\"\r\n }\r\n that._headerFilterView.showHeaderFilterMenu(options.columnElement, options)\r\n }\r\n },\r\n hideHeaderFilterMenu() {\r\n this._headerFilterView.hideHeaderFilterMenu()\r\n }\r\n});\r\nvar ColumnHeadersViewHeaderFilterExtender = extend({}, headerFilterMixin, {\r\n _renderCellContent($cell, options) {\r\n var $headerFilterIndicator;\r\n var {\r\n column: column\r\n } = options;\r\n if (!column.command && allowHeaderFiltering(column) && this.option(\"headerFilter.visible\") && \"header\" === options.rowType) {\r\n $headerFilterIndicator = this._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $cell,\r\n column: column,\r\n showColumnLines: this.option(\"showColumnLines\")\r\n });\r\n $headerFilterIndicator && this._subscribeToIndicatorEvent($headerFilterIndicator, column, \"headerFilter\")\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _subscribeToIndicatorEvent($indicator, column, indicatorName) {\r\n if (\"headerFilter\" === indicatorName) {\r\n eventsEngine.on($indicator, clickEventName, this.createAction(e => {\r\n e.event.stopPropagation();\r\n saveFocusedElementInfo($indicator, this);\r\n this.getController(\"headerFilter\").showHeaderFilterMenu(column.index, false)\r\n }))\r\n }\r\n },\r\n _updateIndicator($cell, column, indicatorName) {\r\n var $indicator = this.callBase($cell, column, indicatorName);\r\n $indicator && this._subscribeToIndicatorEvent($indicator, column, indicatorName)\r\n },\r\n _updateHeaderFilterIndicators() {\r\n if (this.option(\"headerFilter.visible\")) {\r\n this._updateIndicators(\"headerFilter\")\r\n }\r\n },\r\n _needUpdateFilterIndicators: () => true,\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (gridCoreUtils.checkChanges(optionNames, [\"filterValues\", \"filterType\"])) {\r\n if (this._needUpdateFilterIndicators()) {\r\n this._updateHeaderFilterIndicators()\r\n }\r\n return\r\n }\r\n this.callBase(e)\r\n }\r\n});\r\nvar HeaderPanelHeaderFilterExtender = extend({}, headerFilterMixin, {\r\n _createGroupPanelItem($rootElement, groupColumn) {\r\n var that = this;\r\n var $item = that.callBase.apply(that, arguments);\r\n var $headerFilterIndicator;\r\n if (!groupColumn.command && allowHeaderFiltering(groupColumn) && that.option(\"headerFilter.visible\")) {\r\n $headerFilterIndicator = that._applyColumnState({\r\n name: \"headerFilter\",\r\n rootElement: $item,\r\n column: {\r\n alignment: getDefaultAlignment(that.option(\"rtlEnabled\")),\r\n filterValues: groupColumn.filterValues,\r\n allowHeaderFiltering: true\r\n },\r\n showColumnLines: true\r\n });\r\n $headerFilterIndicator && eventsEngine.on($headerFilterIndicator, clickEventName, that.createAction(e => {\r\n var {\r\n event: event\r\n } = e;\r\n event.stopPropagation();\r\n that.getController(\"headerFilter\").showHeaderFilterMenu(groupColumn.index, true)\r\n }))\r\n }\r\n return $item\r\n }\r\n});\r\nexport function invertFilterExpression(filter) {\r\n return [\"!\", filter]\r\n}\r\nvar DataControllerFilterRowExtender = {\r\n skipCalculateColumnFilters: () => false,\r\n _calculateAdditionalFilter() {\r\n if (this.skipCalculateColumnFilters()) {\r\n return this.callBase()\r\n }\r\n var filters = [this.callBase()];\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var headerFilterController = this.getController(\"headerFilter\");\r\n var currentColumn = headerFilterController.getCurrentColumn();\r\n each(columns, (_, column) => {\r\n var filter;\r\n if (currentColumn && currentColumn.index === column.index) {\r\n return\r\n }\r\n if (allowHeaderFiltering(column) && column.calculateFilterExpression && Array.isArray(column.filterValues) && column.filterValues.length) {\r\n var filterValues = [];\r\n each(column.filterValues, (_, filterValue) => {\r\n if (Array.isArray(filterValue)) {\r\n filter = filterValue\r\n } else {\r\n if (column.deserializeValue && !gridCoreUtils.isDateType(column.dataType) && \"number\" !== column.dataType) {\r\n filterValue = column.deserializeValue(filterValue)\r\n }\r\n filter = column.createFilterExpression(filterValue, \"=\", \"headerFilter\")\r\n }\r\n if (filter) {\r\n filter.columnIndex = column.index\r\n }\r\n filterValues.push(filter)\r\n });\r\n filterValues = gridCoreUtils.combineFilters(filterValues, \"or\");\r\n filters.push(\"exclude\" === column.filterType ? [\"!\", filterValues] : filterValues)\r\n }\r\n });\r\n return gridCoreUtils.combineFilters(filters)\r\n }\r\n};\r\nexport var headerFilterModule = {\r\n defaultOptions: () => ({\r\n syncLookupFilterValues: true,\r\n headerFilter: {\r\n visible: false,\r\n width: 252,\r\n height: 325,\r\n allowSelectAll: true,\r\n search: {\r\n enabled: false,\r\n timeout: 500,\r\n mode: \"contains\",\r\n editorOptions: {}\r\n },\r\n texts: {\r\n emptyValue: messageLocalization.format(\"dxDataGrid-headerFilterEmptyValue\"),\r\n ok: messageLocalization.format(\"dxDataGrid-headerFilterOK\"),\r\n cancel: messageLocalization.format(\"dxDataGrid-headerFilterCancel\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n headerFilter: HeaderFilterController\r\n },\r\n views: {\r\n headerFilterView: HeaderFilterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: DataControllerFilterRowExtender\r\n },\r\n views: {\r\n columnHeadersView: ColumnHeadersViewHeaderFilterExtender,\r\n headerPanel: HeaderPanelHeaderFilterExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/header_filter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n headerFilterModule\r\n} from \"../../../grids/grid_core/header_filter/m_header_filter\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"headerFilter\", headerFilterModule);\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/between.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar FILTER_BUILDER_RANGE_CLASS = \"dx-filterbuilder-range\";\r\nvar FILTER_BUILDER_RANGE_START_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-start\";\r\nvar FILTER_BUILDER_RANGE_END_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-end\";\r\nvar FILTER_BUILDER_RANGE_SEPARATOR_CLASS = FILTER_BUILDER_RANGE_CLASS + \"-separator\";\r\nvar SEPARATOR = \"\\u2013\";\r\n\r\nfunction editorTemplate(conditionInfo, container) {\r\n var $editorStart = $(\"<div>\").addClass(FILTER_BUILDER_RANGE_START_CLASS);\r\n var $editorEnd = $(\"<div>\").addClass(FILTER_BUILDER_RANGE_END_CLASS);\r\n var values = conditionInfo.value || [];\r\n var getStartValue = function(values) {\r\n return values && values.length > 0 ? values[0] : null\r\n };\r\n var getEndValue = function(values) {\r\n return values && 2 === values.length ? values[1] : null\r\n };\r\n container.append($editorStart);\r\n container.append($(\"<span>\").addClass(FILTER_BUILDER_RANGE_SEPARATOR_CLASS).text(SEPARATOR));\r\n container.append($editorEnd);\r\n container.addClass(FILTER_BUILDER_RANGE_CLASS);\r\n this._editorFactory.createEditor.call(this, $editorStart, extend({}, conditionInfo.field, conditionInfo, {\r\n value: getStartValue(values),\r\n parentType: \"filterBuilder\",\r\n setValue: function(value) {\r\n values = [value, getEndValue(values)];\r\n conditionInfo.setValue(values)\r\n }\r\n }));\r\n this._editorFactory.createEditor.call(this, $editorEnd, extend({}, conditionInfo.field, conditionInfo, {\r\n value: getEndValue(values),\r\n parentType: \"filterBuilder\",\r\n setValue: function(value) {\r\n values = [getStartValue(values), value];\r\n conditionInfo.setValue(values)\r\n }\r\n }))\r\n}\r\nexport function getConfig(caption, context) {\r\n return {\r\n name: \"between\",\r\n caption: caption,\r\n icon: \"range\",\r\n valueSeparator: SEPARATOR,\r\n dataTypes: [\"number\", \"date\", \"datetime\"],\r\n editorTemplate: editorTemplate.bind(context),\r\n notForLookup: true\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/ui.filter_operations_dictionary.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar OPERATION_ICONS = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notequal\",\r\n \"<\": \"less\",\r\n \"<=\": \"lessorequal\",\r\n \">\": \"greater\",\r\n \">=\": \"greaterorequal\",\r\n notcontains: \"doesnotcontain\",\r\n contains: \"contains\",\r\n startswith: \"startswith\",\r\n endswith: \"endswith\",\r\n isblank: \"isblank\",\r\n isnotblank: \"isnotblank\"\r\n};\r\nvar OPERATION_NAME = {\r\n \"=\": \"equal\",\r\n \"<>\": \"notEqual\",\r\n \"<\": \"lessThan\",\r\n \"<=\": \"lessThanOrEqual\",\r\n \">\": \"greaterThan\",\r\n \">=\": \"greaterThanOrEqual\",\r\n startswith: \"startsWith\",\r\n contains: \"contains\",\r\n notcontains: \"notContains\",\r\n endswith: \"endsWith\",\r\n isblank: \"isBlank\",\r\n isnotblank: \"isNotBlank\",\r\n between: \"between\"\r\n};\r\nexport default {\r\n getIconByFilterOperation: function(filterOperation) {\r\n return OPERATION_ICONS[filterOperation]\r\n },\r\n getNameByFilterOperation: function(filterOperation) {\r\n return OPERATION_NAME[filterOperation]\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n errors as dataErrors\r\n} from \"../../data/errors\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport filterUtils from \"../shared/filtering\";\r\nimport formatHelper from \"../../format_helper\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n captionize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n getConfig\r\n} from \"./between\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport filterOperationsDictionary from \"./ui.filter_operations_dictionary\";\r\nvar DEFAULT_DATA_TYPE = \"string\";\r\nvar EMPTY_MENU_ICON = \"icon-none\";\r\nvar AND_GROUP_OPERATION = \"and\";\r\nvar EQUAL_OPERATION = \"=\";\r\nvar NOT_EQUAL_OPERATION = \"<>\";\r\nvar DATATYPE_OPERATIONS = {\r\n number: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n string: [\"contains\", \"notcontains\", \"startswith\", \"endswith\", \"=\", \"<>\", \"isblank\", \"isnotblank\"],\r\n date: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n datetime: [\"=\", \"<>\", \"<\", \">\", \"<=\", \">=\", \"isblank\", \"isnotblank\"],\r\n boolean: [\"=\", \"<>\", \"isblank\", \"isnotblank\"],\r\n object: [\"isblank\", \"isnotblank\"]\r\n};\r\nvar DEFAULT_FORMAT = {\r\n date: \"shortDate\",\r\n datetime: \"shortDateShortTime\"\r\n};\r\nvar LOOKUP_OPERATIONS = [\"=\", \"<>\", \"isblank\", \"isnotblank\"];\r\nvar AVAILABLE_FIELD_PROPERTIES = [\"caption\", \"customizeText\", \"dataField\", \"dataType\", \"editorTemplate\", \"falseText\", \"editorOptions\", \"filterOperations\", \"format\", \"lookup\", \"trueText\", \"calculateFilterExpression\", \"name\"];\r\nvar FILTER_BUILDER_CLASS = \"dx-filterbuilder\";\r\nvar FILTER_BUILDER_ITEM_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-text\";\r\nvar FILTER_BUILDER_ITEM_TEXT_PART_CLASS = FILTER_BUILDER_ITEM_TEXT_CLASS + \"-part\";\r\nvar FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS = FILTER_BUILDER_ITEM_TEXT_CLASS + \"-separator\";\r\nvar FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS = FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS + \"-empty\";\r\n\r\nfunction getFormattedValueText(field, value) {\r\n var fieldFormat = field.format || DEFAULT_FORMAT[field.dataType];\r\n return formatHelper.format(value, fieldFormat)\r\n}\r\n\r\nfunction isNegationGroup(group) {\r\n return group && group.length > 1 && \"!\" === group[0] && !isCondition(group)\r\n}\r\nexport function getGroupCriteria(group) {\r\n return isNegationGroup(group) ? group[1] : group\r\n}\r\n\r\nfunction setGroupCriteria(group, criteria) {\r\n if (isNegationGroup(group)) {\r\n group[1] = criteria\r\n } else {\r\n group = criteria\r\n }\r\n return group\r\n}\r\n\r\nfunction convertGroupToNewStructure(group, value) {\r\n if (function(value) {\r\n return -1 !== value.indexOf(\"!\")\r\n }(value)) {\r\n if (!isNegationGroup(group)) {\r\n ! function(group) {\r\n var criteria = group.slice(0);\r\n group.length = 0;\r\n group.push(\"!\", criteria)\r\n }(group)\r\n }\r\n } else if (isNegationGroup(group)) {\r\n ! function(group) {\r\n var criteria = getGroupCriteria(group);\r\n group.length = 0;\r\n [].push.apply(group, criteria)\r\n }(group)\r\n }\r\n}\r\nexport function setGroupValue(group, value) {\r\n convertGroupToNewStructure(group, value);\r\n var criteria = getGroupCriteria(group);\r\n var i;\r\n value = function(value) {\r\n return -1 === value.indexOf(\"!\") ? value : value.substring(1)\r\n }(value);\r\n ! function(criteria, value) {\r\n for (i = 0; i < criteria.length; i++) {\r\n if (!Array.isArray(criteria[i])) {\r\n criteria[i] = value\r\n }\r\n }\r\n }(criteria, value);\r\n return group\r\n}\r\nexport function getGroupMenuItem(group, availableGroups) {\r\n var groupValue = getGroupValue(group);\r\n return availableGroups.filter((function(item) {\r\n return item.value === groupValue\r\n }))[0]\r\n}\r\n\r\nfunction getCriteriaOperation(criteria) {\r\n if (isCondition(criteria)) {\r\n return AND_GROUP_OPERATION\r\n }\r\n var value = \"\";\r\n for (var i = 0; i < criteria.length; i++) {\r\n var item = criteria[i];\r\n if (!Array.isArray(item)) {\r\n if (value && value !== item) {\r\n throw new dataErrors.Error(\"E4019\")\r\n }\r\n if (\"!\" !== item) {\r\n value = item\r\n }\r\n }\r\n }\r\n return value\r\n}\r\nexport function getGroupValue(group) {\r\n var criteria = getGroupCriteria(group);\r\n var value = getCriteriaOperation(criteria);\r\n if (!value) {\r\n value = AND_GROUP_OPERATION\r\n }\r\n if (criteria !== group) {\r\n value = \"!\" + value\r\n }\r\n return value\r\n}\r\n\r\nfunction getDefaultFilterOperations(field) {\r\n return field.lookup && LOOKUP_OPERATIONS || DATATYPE_OPERATIONS[field.dataType || DEFAULT_DATA_TYPE]\r\n}\r\n\r\nfunction containItems(entity) {\r\n return Array.isArray(entity) && entity.length\r\n}\r\nexport function getFilterOperations(field) {\r\n var result = containItems(field.filterOperations) ? field.filterOperations : getDefaultFilterOperations(field);\r\n return extend([], result)\r\n}\r\nexport function getCaptionByOperation(operation, filterOperationDescriptions) {\r\n var operationName = filterOperationsDictionary.getNameByFilterOperation(operation);\r\n return filterOperationDescriptions && filterOperationDescriptions[operationName] ? filterOperationDescriptions[operationName] : operationName\r\n}\r\nexport function getOperationFromAvailable(operation, availableOperations) {\r\n for (var i = 0; i < availableOperations.length; i++) {\r\n if (availableOperations[i].value === operation) {\r\n return availableOperations[i]\r\n }\r\n }\r\n throw new errors.Error(\"E1048\", operation)\r\n}\r\nexport function getCustomOperation(customOperations, name) {\r\n var filteredOperations = customOperations.filter((function(item) {\r\n return item.name === name\r\n }));\r\n return filteredOperations.length ? filteredOperations[0] : null\r\n}\r\nexport function getAvailableOperations(field, filterOperationDescriptions, customOperations) {\r\n var filterOperations = getFilterOperations(field);\r\n var isLookupField = !!field.lookup;\r\n customOperations.forEach((function(customOperation) {\r\n if (!field.filterOperations && -1 === filterOperations.indexOf(customOperation.name)) {\r\n var dataTypes = customOperation && customOperation.dataTypes;\r\n var isOperationForbidden = isLookupField ? !!customOperation.notForLookup : false;\r\n if (!isOperationForbidden && dataTypes && dataTypes.indexOf(field.dataType || DEFAULT_DATA_TYPE) >= 0) {\r\n filterOperations.push(customOperation.name)\r\n }\r\n }\r\n }));\r\n return filterOperations.map((function(operation) {\r\n var customOperation = getCustomOperation(customOperations, operation);\r\n if (customOperation) {\r\n return {\r\n icon: customOperation.icon || EMPTY_MENU_ICON,\r\n text: customOperation.caption || captionize(customOperation.name),\r\n value: customOperation.name,\r\n isCustom: true\r\n }\r\n } else {\r\n return {\r\n icon: filterOperationsDictionary.getIconByFilterOperation(operation) || EMPTY_MENU_ICON,\r\n text: getCaptionByOperation(operation, filterOperationDescriptions),\r\n value: operation\r\n }\r\n }\r\n }))\r\n}\r\nexport function getDefaultOperation(field) {\r\n return field.defaultFilterOperation || getFilterOperations(field)[0]\r\n}\r\nexport function createCondition(field, customOperations) {\r\n var condition = [field.dataField, \"\", \"\"];\r\n var filterOperation = getDefaultOperation(field);\r\n updateConditionByOperation(condition, filterOperation, customOperations);\r\n return condition\r\n}\r\nexport function removeItem(group, item) {\r\n var criteria = getGroupCriteria(group);\r\n var index = criteria.indexOf(item);\r\n criteria.splice(index, 1);\r\n if (1 !== criteria.length) {\r\n criteria.splice(index, 1)\r\n }\r\n return group\r\n}\r\nexport function createEmptyGroup(value) {\r\n var isNegation = isNegationGroupOperation(value);\r\n var groupOperation = isNegation ? getGroupOperationFromNegationOperation(value) : value;\r\n return isNegation ? [\"!\", [groupOperation]] : [groupOperation]\r\n}\r\nexport function isEmptyGroup(group) {\r\n var criteria = getGroupCriteria(group);\r\n if (isCondition(criteria)) {\r\n return false\r\n }\r\n var hasConditions = criteria.some((function(item) {\r\n return isCondition(item)\r\n }));\r\n return !hasConditions\r\n}\r\nexport function addItem(item, group) {\r\n var criteria = getGroupCriteria(group);\r\n var groupValue = getGroupValue(criteria);\r\n 1 === criteria.length ? criteria.unshift(item) : criteria.push(item, groupValue);\r\n return group\r\n}\r\nexport function getField(dataField, fields) {\r\n for (var i = 0; i < fields.length; i++) {\r\n if (fields[i].name === dataField) {\r\n return fields[i]\r\n }\r\n if (fields[i].dataField.toLowerCase() === dataField.toLowerCase()) {\r\n return fields[i]\r\n }\r\n }\r\n var extendedFields = getItems(fields, true).filter((function(item) {\r\n return item.dataField.toLowerCase() === dataField.toLowerCase()\r\n }));\r\n if (extendedFields.length > 0) {\r\n return extendedFields[0]\r\n }\r\n throw new errors.Error(\"E1047\", dataField)\r\n}\r\nexport function isGroup(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n return false\r\n }\r\n return criteria.length < 2 || Array.isArray(criteria[0]) || Array.isArray(criteria[1])\r\n}\r\nexport function isCondition(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n return false\r\n }\r\n return criteria.length > 1 && !Array.isArray(criteria[0]) && !Array.isArray(criteria[1])\r\n}\r\n\r\nfunction convertToInnerGroup(group, customOperations, defaultGroupOperation) {\r\n defaultGroupOperation = defaultGroupOperation || AND_GROUP_OPERATION;\r\n var groupOperation = getCriteriaOperation(group).toLowerCase() || defaultGroupOperation;\r\n var innerGroup = [];\r\n for (var i = 0; i < group.length; i++) {\r\n if (isGroup(group[i])) {\r\n innerGroup.push(convertToInnerStructure(group[i], customOperations, defaultGroupOperation));\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n } else if (isCondition(group[i])) {\r\n innerGroup.push(convertToInnerCondition(group[i], customOperations));\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n }\r\n }\r\n if (0 === innerGroup.length) {\r\n innerGroup = appendGroupOperationToGroup(innerGroup, groupOperation)\r\n }\r\n return innerGroup\r\n}\r\n\r\nfunction conditionHasCustomOperation(condition, customOperations) {\r\n var customOperation = getCustomOperation(customOperations, condition[1]);\r\n return customOperation && customOperation.name === condition[1]\r\n}\r\n\r\nfunction convertToInnerCondition(condition, customOperations) {\r\n if (conditionHasCustomOperation(condition, customOperations)) {\r\n return condition\r\n }\r\n if (condition.length < 3) {\r\n condition[2] = condition[1];\r\n condition[1] = EQUAL_OPERATION\r\n }\r\n return condition\r\n}\r\n\r\nfunction isNegationGroupOperation(operation) {\r\n return -1 !== operation.indexOf(\"not\")\r\n}\r\n\r\nfunction getGroupOperationFromNegationOperation(operation) {\r\n return operation.substring(3).toLowerCase()\r\n}\r\n\r\nfunction appendGroupOperationToCriteria(criteria, groupOperation) {\r\n var isNegation = isNegationGroupOperation(groupOperation);\r\n groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation;\r\n return isNegation ? [\"!\", criteria, groupOperation] : [criteria, groupOperation]\r\n}\r\n\r\nfunction appendGroupOperationToGroup(group, groupOperation) {\r\n var isNegation = isNegationGroupOperation(groupOperation);\r\n groupOperation = isNegation ? getGroupOperationFromNegationOperation(groupOperation) : groupOperation;\r\n group.push(groupOperation);\r\n var result = group;\r\n if (isNegation) {\r\n result = [\"!\", result]\r\n }\r\n return result\r\n}\r\nexport function convertToInnerStructure(value, customOperations, defaultGroupOperation) {\r\n defaultGroupOperation = defaultGroupOperation || AND_GROUP_OPERATION;\r\n if (!value) {\r\n return createEmptyGroup(defaultGroupOperation)\r\n }\r\n value = extend(true, [], value);\r\n if (isCondition(value)) {\r\n return appendGroupOperationToCriteria(convertToInnerCondition(value, customOperations), defaultGroupOperation)\r\n }\r\n if (isNegationGroup(value)) {\r\n return [\"!\", isCondition(value[1]) ? appendGroupOperationToCriteria(convertToInnerCondition(value[1], customOperations), defaultGroupOperation) : isNegationGroup(value[1]) ? appendGroupOperationToCriteria(convertToInnerStructure(value[1], customOperations), defaultGroupOperation) : convertToInnerGroup(value[1], customOperations, defaultGroupOperation)]\r\n }\r\n return convertToInnerGroup(value, customOperations, defaultGroupOperation)\r\n}\r\nexport function getNormalizedFields(fields) {\r\n return fields.reduce((function(result, field) {\r\n if (isDefined(field.dataField)) {\r\n var normalizedField = {};\r\n for (var key in field) {\r\n if (field[key] && AVAILABLE_FIELD_PROPERTIES.indexOf(key) > -1) {\r\n normalizedField[key] = field[key]\r\n }\r\n }\r\n normalizedField.defaultCalculateFilterExpression = filterUtils.defaultCalculateFilterExpression;\r\n if (!isDefined(normalizedField.dataType)) {\r\n normalizedField.dataType = DEFAULT_DATA_TYPE\r\n }\r\n if (!isDefined(normalizedField.trueText)) {\r\n normalizedField.trueText = messageLocalization.format(\"dxDataGrid-trueText\")\r\n }\r\n if (!isDefined(normalizedField.falseText)) {\r\n normalizedField.falseText = messageLocalization.format(\"dxDataGrid-falseText\")\r\n }\r\n result.push(normalizedField)\r\n }\r\n return result\r\n }), [])\r\n}\r\n\r\nfunction getConditionFilterExpression(condition, fields, customOperations, target) {\r\n var field = getField(condition[0], fields);\r\n var filterExpression = convertToInnerCondition(condition, customOperations);\r\n var customOperation = customOperations.length && getCustomOperation(customOperations, filterExpression[1]);\r\n if (customOperation && customOperation.calculateFilterExpression) {\r\n return customOperation.calculateFilterExpression.apply(customOperation, [filterExpression[2], field, fields])\r\n } else if (field.createFilterExpression) {\r\n return field.createFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n } else if (field.calculateFilterExpression) {\r\n return field.calculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n } else {\r\n return field.defaultCalculateFilterExpression.apply(field, [filterExpression[2], filterExpression[1], target])\r\n }\r\n}\r\nexport function getFilterExpression(value, fields, customOperations, target) {\r\n if (!isDefined(value)) {\r\n return null\r\n }\r\n if (isNegationGroup(value)) {\r\n var filterExpression = getFilterExpression(value[1], fields, customOperations, target);\r\n return [\"!\", filterExpression]\r\n }\r\n var criteria = getGroupCriteria(value);\r\n if (isCondition(criteria)) {\r\n return getConditionFilterExpression(criteria, fields, customOperations, target) || null\r\n } else {\r\n var result = [];\r\n var _filterExpression;\r\n var groupValue = getGroupValue(criteria);\r\n for (var i = 0; i < criteria.length; i++) {\r\n if (isGroup(criteria[i])) {\r\n _filterExpression = getFilterExpression(criteria[i], fields, customOperations, target);\r\n if (_filterExpression) {\r\n i && result.push(groupValue);\r\n result.push(_filterExpression)\r\n }\r\n } else if (isCondition(criteria[i])) {\r\n _filterExpression = getConditionFilterExpression(criteria[i], fields, customOperations, target);\r\n if (_filterExpression) {\r\n result.length && result.push(groupValue);\r\n result.push(_filterExpression)\r\n }\r\n }\r\n }\r\n if (1 === result.length) {\r\n result = result[0]\r\n }\r\n return result.length ? result : null\r\n }\r\n}\r\nexport function getNormalizedFilter(group) {\r\n var criteria = getGroupCriteria(group);\r\n var i;\r\n if (0 === criteria.length) {\r\n return null\r\n }\r\n var itemsForRemove = [];\r\n for (i = 0; i < criteria.length; i++) {\r\n if (isGroup(criteria[i])) {\r\n var normalizedGroupValue = getNormalizedFilter(criteria[i]);\r\n if (normalizedGroupValue) {\r\n criteria[i] = normalizedGroupValue\r\n } else {\r\n itemsForRemove.push(criteria[i])\r\n }\r\n } else if (isCondition(criteria[i])) {\r\n if (!isValidCondition(criteria[i])) {\r\n itemsForRemove.push(criteria[i])\r\n }\r\n }\r\n }\r\n for (i = 0; i < itemsForRemove.length; i++) {\r\n removeItem(criteria, itemsForRemove[i])\r\n }\r\n if (1 === criteria.length) {\r\n return null\r\n }\r\n criteria.splice(criteria.length - 1, 1);\r\n if (1 === criteria.length) {\r\n group = setGroupCriteria(group, criteria[0])\r\n }\r\n if (0 === group.length) {\r\n return null\r\n }\r\n return group\r\n}\r\nexport function getCurrentLookupValueText(field, value, handler) {\r\n if (\"\" === value) {\r\n handler(\"\");\r\n return\r\n }\r\n var lookup = field.lookup;\r\n if (lookup.items) {\r\n handler(lookup.calculateCellValue(value) || \"\")\r\n } else {\r\n var lookupDataSource = isFunction(lookup.dataSource) ? lookup.dataSource({}) : lookup.dataSource;\r\n var dataSource = new DataSource(lookupDataSource);\r\n dataSource.loadSingle(lookup.valueExpr, value).done((function(result) {\r\n var valueText = \"\";\r\n if (result) {\r\n valueText = lookup.displayExpr ? compileGetter(lookup.displayExpr)(result) : result\r\n }\r\n if (field.customizeText) {\r\n valueText = field.customizeText({\r\n value: value,\r\n valueText: valueText\r\n })\r\n }\r\n handler(valueText)\r\n })).fail((function() {\r\n handler(\"\")\r\n }))\r\n }\r\n}\r\n\r\nfunction getPrimitiveValueText(field, value, customOperation, target, options) {\r\n var valueText;\r\n if (true === value) {\r\n valueText = field.trueText || messageLocalization.format(\"dxDataGrid-trueText\")\r\n } else if (false === value) {\r\n valueText = field.falseText || messageLocalization.format(\"dxDataGrid-falseText\")\r\n } else {\r\n valueText = getFormattedValueText(field, value)\r\n }\r\n if (field.customizeText) {\r\n valueText = field.customizeText.call(field, {\r\n value: value,\r\n valueText: valueText,\r\n target: target\r\n })\r\n }\r\n if (customOperation && customOperation.customizeText) {\r\n valueText = customOperation.customizeText.call(customOperation, {\r\n value: value,\r\n valueText: valueText,\r\n field: field,\r\n target: target\r\n }, options)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getArrayValueText(field, value, customOperation, target) {\r\n var options = {\r\n values: value\r\n };\r\n return value.map(v => getPrimitiveValueText(field, v, customOperation, target, options))\r\n}\r\n\r\nfunction checkDefaultValue(value) {\r\n return \"\" === value || null === value\r\n}\r\nexport function getCurrentValueText(field, value, customOperation) {\r\n var target = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : \"filterBuilder\";\r\n if (checkDefaultValue(value)) {\r\n return \"\"\r\n }\r\n if (Array.isArray(value)) {\r\n var result = new Deferred;\r\n when.apply(this, getArrayValueText(field, value, customOperation, target)).done((function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n var text = args.some(item => !checkDefaultValue(item)) ? args.map(item => !checkDefaultValue(item) ? item : \"?\") : \"\";\r\n result.resolve(text)\r\n }));\r\n return result\r\n } else {\r\n return getPrimitiveValueText(field, value, customOperation, target)\r\n }\r\n}\r\n\r\nfunction itemExists(plainItems, parentId) {\r\n return plainItems.some((function(item) {\r\n return item.dataField === parentId\r\n }))\r\n}\r\n\r\nfunction pushItemAndCheckParent(originalItems, plainItems, item) {\r\n var dataField = item.dataField;\r\n if (hasParent(dataField)) {\r\n item.parentId = getParentIdFromItemDataField(dataField);\r\n if (!itemExists(plainItems, item.parentId) && !itemExists(originalItems, item.parentId)) {\r\n pushItemAndCheckParent(originalItems, plainItems, {\r\n id: item.parentId,\r\n dataType: \"object\",\r\n dataField: item.parentId,\r\n caption: generateCaptionByDataField(item.parentId, true),\r\n filterOperations: [\"isblank\", \"isnotblank\"]\r\n })\r\n }\r\n }\r\n plainItems.push(item)\r\n}\r\n\r\nfunction generateCaptionByDataField(dataField, allowHierarchicalFields) {\r\n var caption = \"\";\r\n if (allowHierarchicalFields) {\r\n dataField = dataField.substring(dataField.lastIndexOf(\".\") + 1)\r\n } else if (hasParent(dataField)) {\r\n dataField.split(\".\").forEach((function(field, index, arr) {\r\n caption += captionize(field);\r\n if (index !== arr.length - 1) {\r\n caption += \".\"\r\n }\r\n }));\r\n return caption\r\n }\r\n return captionize(dataField)\r\n}\r\nexport function getItems(fields, allowHierarchicalFields) {\r\n var items = [];\r\n for (var i = 0; i < fields.length; i++) {\r\n var item = extend(true, {\r\n caption: generateCaptionByDataField(fields[i].dataField, allowHierarchicalFields)\r\n }, fields[i]);\r\n item.id = item.name || item.dataField;\r\n if (allowHierarchicalFields) {\r\n pushItemAndCheckParent(fields, items, item)\r\n } else {\r\n items.push(item)\r\n }\r\n }\r\n return items\r\n}\r\n\r\nfunction hasParent(dataField) {\r\n return -1 !== dataField.lastIndexOf(\".\")\r\n}\r\n\r\nfunction getParentIdFromItemDataField(dataField) {\r\n return dataField.substring(0, dataField.lastIndexOf(\".\"))\r\n}\r\nexport function getCaptionWithParents(item, plainItems) {\r\n if (hasParent(item.dataField)) {\r\n var parentId = getParentIdFromItemDataField(item.dataField);\r\n for (var i = 0; i < plainItems.length; i++) {\r\n if (plainItems[i].dataField === parentId) {\r\n return getCaptionWithParents(plainItems[i], plainItems) + \".\" + item.caption\r\n }\r\n }\r\n }\r\n return item.caption\r\n}\r\nexport function updateConditionByOperation(condition, operation, customOperations) {\r\n var customOperation = getCustomOperation(customOperations, operation);\r\n if (customOperation) {\r\n if (false === customOperation.hasValue) {\r\n condition[1] = operation;\r\n condition.length = 2\r\n } else {\r\n condition[1] = operation;\r\n condition[2] = \"\"\r\n }\r\n return condition\r\n }\r\n if (\"isblank\" === operation) {\r\n condition[1] = EQUAL_OPERATION;\r\n condition[2] = null\r\n } else if (\"isnotblank\" === operation) {\r\n condition[1] = NOT_EQUAL_OPERATION;\r\n condition[2] = null\r\n } else {\r\n customOperation = getCustomOperation(customOperations, condition[1]);\r\n if (customOperation || 2 === condition.length || null === condition[2]) {\r\n condition[2] = \"\"\r\n }\r\n condition[1] = operation\r\n }\r\n return condition\r\n}\r\nexport function getOperationValue(condition) {\r\n var caption;\r\n if (null === condition[2]) {\r\n if (condition[1] === EQUAL_OPERATION) {\r\n caption = \"isblank\"\r\n } else {\r\n caption = \"isnotblank\"\r\n }\r\n } else {\r\n caption = condition[1]\r\n }\r\n return caption\r\n}\r\nexport function isValidCondition(condition) {\r\n return \"\" !== condition[2]\r\n}\r\nexport function getMergedOperations(customOperations, betweenCaption, context) {\r\n var result = extend(true, [], customOperations);\r\n var betweenIndex = -1;\r\n result.some((function(customOperation, index) {\r\n if (\"between\" === customOperation.name) {\r\n betweenIndex = index;\r\n return true\r\n }\r\n }));\r\n if (-1 !== betweenIndex) {\r\n result[betweenIndex] = extend(getConfig(betweenCaption, context), result[betweenIndex])\r\n } else {\r\n result.unshift(getConfig(betweenCaption, context))\r\n }\r\n return result\r\n}\r\n\r\nfunction isMatchedCondition(filter, addedFilterDataField) {\r\n return filter[0] === addedFilterDataField\r\n}\r\nexport function removeFieldConditionsFromFilter(filter, dataField) {\r\n if (!filter || 0 === filter.length) {\r\n return null\r\n }\r\n if (isCondition(filter)) {\r\n var hasMatchedCondition = isMatchedCondition(filter, dataField);\r\n return !hasMatchedCondition ? filter : null\r\n } else {\r\n return syncConditionIntoGroup(filter, [dataField], false)\r\n }\r\n}\r\n\r\nfunction syncConditionIntoGroup(filter, addedFilter, canPush) {\r\n var result = [];\r\n filter.forEach((function(item) {\r\n if (isCondition(item)) {\r\n if (isMatchedCondition(item, addedFilter[0])) {\r\n if (canPush) {\r\n result.push(addedFilter);\r\n canPush = false\r\n } else {\r\n result.splice(result.length - 1, 1)\r\n }\r\n } else {\r\n result.push(item)\r\n }\r\n } else {\r\n (result.length || isGroup(item)) && result.push(item)\r\n }\r\n }));\r\n if (0 === result.length) {\r\n return null\r\n }\r\n if (canPush) {\r\n result.push(AND_GROUP_OPERATION);\r\n result.push(addedFilter)\r\n }\r\n return 1 === result.length ? result[0] : result\r\n}\r\nexport function syncFilters(filter, addedFilter) {\r\n if (null === filter || 0 === filter.length) {\r\n return addedFilter\r\n }\r\n if (isCondition(filter)) {\r\n if (isMatchedCondition(filter, addedFilter[0])) {\r\n return addedFilter\r\n } else {\r\n return [filter, AND_GROUP_OPERATION, addedFilter]\r\n }\r\n }\r\n var groupValue = getGroupValue(filter);\r\n if (groupValue !== AND_GROUP_OPERATION) {\r\n return [addedFilter, \"and\", filter]\r\n }\r\n return syncConditionIntoGroup(filter, addedFilter, true)\r\n}\r\nexport function getMatchedConditions(filter, dataField) {\r\n if (null === filter || 0 === filter.length) {\r\n return []\r\n }\r\n if (isCondition(filter)) {\r\n if (isMatchedCondition(filter, dataField)) {\r\n return [filter]\r\n } else {\r\n return []\r\n }\r\n }\r\n var groupValue = getGroupValue(filter);\r\n if (groupValue !== AND_GROUP_OPERATION) {\r\n return []\r\n }\r\n var result = filter.filter((function(item) {\r\n return isCondition(item) && isMatchedCondition(item, dataField)\r\n }));\r\n return result\r\n}\r\nexport function filterHasField(filter, dataField) {\r\n if (null === filter || 0 === filter.length) {\r\n return false\r\n }\r\n if (isCondition(filter)) {\r\n return filter[0] === dataField\r\n }\r\n return filter.some((function(item) {\r\n return (isCondition(item) || isGroup(item)) && filterHasField(item, dataField)\r\n }))\r\n}\r\nexport var renderValueText = function($container, value, customOperation) {\r\n if (Array.isArray(value)) {\r\n var lastItemIndex = value.length - 1;\r\n $container.empty();\r\n value.forEach((t, i) => {\r\n $(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_PART_CLASS).text(t).appendTo($container);\r\n if (i !== lastItemIndex) {\r\n $(\"<span>\").addClass(FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS).text(customOperation && customOperation.valueSeparator ? customOperation.valueSeparator : \"|\").addClass(FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS).appendTo($container)\r\n }\r\n })\r\n } else if (value) {\r\n $container.text(value)\r\n } else {\r\n $container.text(messageLocalization.format(\"dxFilterBuilder-enterValueText\"))\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_custom_operations.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n DataSource\r\n} from \"../../../../data/data_source/data_source\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n getFilterExpression,\r\n isCondition,\r\n isGroup,\r\n renderValueText\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\n\r\nfunction baseOperation(grid) {\r\n var getFullText = function(itemText, parentText) {\r\n return parentText ? \"\".concat(parentText, \"/\").concat(itemText) : itemText\r\n };\r\n var headerFilterController = grid && grid.getController(\"headerFilter\");\r\n return {\r\n dataTypes: [\"string\", \"date\", \"datetime\", \"number\", \"boolean\", \"object\"],\r\n calculateFilterExpression: function(filterValue, field, fields) {\r\n var result = [];\r\n var lastIndex = filterValue.length - 1;\r\n filterValue && filterValue.forEach((value, index) => {\r\n if (isCondition(value) || isGroup(value)) {\r\n var filterExpression = getFilterExpression(value, fields, [], \"headerFilter\");\r\n result.push(filterExpression)\r\n } else {\r\n var _filterExpression = getFilterExpression([field.dataField, \"=\", value], fields, [], \"headerFilter\");\r\n result.push(_filterExpression)\r\n }\r\n index !== lastIndex && result.push(\"or\")\r\n });\r\n if (1 === result.length) {\r\n return result[0]\r\n }\r\n return result\r\n },\r\n editorTemplate(conditionInfo, container) {\r\n var div = $(\"<div>\").addClass(\"dx-filterbuilder-item-value-text\").appendTo(container);\r\n var column = extend(true, {}, grid.columnOption(conditionInfo.field.dataField));\r\n renderValueText(div, conditionInfo.text && conditionInfo.text.split(\"|\"));\r\n column.filterType = \"include\";\r\n column.filterValues = conditionInfo.value ? conditionInfo.value.slice() : [];\r\n headerFilterController.showHeaderFilterMenuBase({\r\n columnElement: div,\r\n column: column,\r\n apply() {\r\n value = this.filterValues, void conditionInfo.setValue(value);\r\n var value;\r\n headerFilterController.hideHeaderFilterMenu();\r\n conditionInfo.closeEditor()\r\n },\r\n onHidden() {\r\n conditionInfo.closeEditor()\r\n },\r\n isFilterBuilder: true\r\n });\r\n return container\r\n },\r\n customizeText: function(fieldInfo, options) {\r\n options = options || {};\r\n var {\r\n value: value\r\n } = fieldInfo;\r\n var column = grid.columnOption(fieldInfo.field.dataField);\r\n var headerFilter = column && column.headerFilter;\r\n var lookup = column && column.lookup;\r\n var values = options.values || [value];\r\n if (headerFilter && headerFilter.dataSource || lookup && lookup.dataSource) {\r\n var result = new Deferred;\r\n var itemsDeferred = options.items || new Deferred;\r\n if (!options.items) {\r\n column = extend({}, column, {\r\n filterType: \"include\",\r\n filterValues: values\r\n });\r\n var dataSourceOptions = headerFilterController.getDataSource(column);\r\n dataSourceOptions.paginate = false;\r\n var dataSource = new DataSource(dataSourceOptions);\r\n var key = dataSource.store().key();\r\n if (key) {\r\n var {\r\n values: _values\r\n } = options;\r\n if (_values && _values.length > 1) {\r\n var filter = _values.reduce((result, value) => {\r\n if (result.length) {\r\n result.push(\"or\")\r\n }\r\n result.push([key, \"=\", value]);\r\n return result\r\n }, []);\r\n dataSource.filter(filter)\r\n } else {\r\n dataSource.filter([key, \"=\", fieldInfo.value])\r\n }\r\n } else if (fieldInfo.field.calculateDisplayValue) {\r\n errors.log(\"W1017\")\r\n }\r\n options.items = itemsDeferred;\r\n dataSource.load().done(itemsDeferred.resolve)\r\n }\r\n itemsDeferred.done(items => {\r\n var index = values.indexOf(fieldInfo.value);\r\n result.resolve(function getSelectedItemsTexts(items, parentText) {\r\n var result = [];\r\n items.forEach(item => {\r\n if (item.items) {\r\n var selectedItemsTexts = getSelectedItemsTexts(item.items, getFullText(item.text, parentText));\r\n result = result.concat(selectedItemsTexts)\r\n }\r\n item.selected && result.push(getFullText(item.text, parentText))\r\n });\r\n return result\r\n }(items, null)[index])\r\n });\r\n return result\r\n }\r\n var text = headerFilterController.getHeaderItemText(value, column, 0, grid.option(\"headerFilter\"));\r\n return text\r\n }\r\n }\r\n}\r\nexport function anyOf(grid) {\r\n return extend(baseOperation(grid), {\r\n name: \"anyof\",\r\n icon: \"selectall\",\r\n caption: messageLocalization.format(\"dxFilterBuilder-filterOperationAnyOf\")\r\n })\r\n}\r\nexport function noneOf(grid) {\r\n var baseOp = baseOperation(grid);\r\n return extend({}, baseOp, {\r\n calculateFilterExpression(filterValue, field, fields) {\r\n var baseFilter = baseOp.calculateFilterExpression(filterValue, field, fields);\r\n if (!baseFilter || 0 === baseFilter.length) {\r\n return null\r\n }\r\n return \"!\" === baseFilter[0] ? baseFilter : [\"!\", baseFilter]\r\n },\r\n name: \"noneof\",\r\n icon: \"unselectall\",\r\n caption: messageLocalization.format(\"dxFilterBuilder-filterOperationNoneOf\")\r\n })\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_sync.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n addItem,\r\n filterHasField,\r\n getDefaultOperation,\r\n getFilterExpression,\r\n getMatchedConditions,\r\n getNormalizedFilter,\r\n removeFieldConditionsFromFilter,\r\n syncFilters\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport filterUtils from \"../../../../ui/shared/filtering\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n anyOf,\r\n noneOf\r\n} from \"./m_filter_custom_operations\";\r\nvar FILTER_ROW_OPERATIONS = [\"=\", \"<>\", \"<\", \"<=\", \">\", \">=\", \"notcontains\", \"contains\", \"startswith\", \"endswith\", \"between\"];\r\nvar FILTER_TYPES_INCLUDE = \"include\";\r\nvar FILTER_TYPES_EXCLUDE = \"exclude\";\r\n\r\nfunction getColumnIdentifier(column) {\r\n return column.name || column.dataField\r\n}\r\n\r\nfunction checkForErrors(columns) {\r\n columns.forEach(column => {\r\n var identifier = getColumnIdentifier(column);\r\n if (!isDefined(identifier) && column.allowFiltering) {\r\n throw new errors.Error(\"E1049\", column.caption)\r\n }\r\n })\r\n}\r\nvar FilterSyncController = modules.Controller.inherit(function() {\r\n var getEmptyFilterValues = function() {\r\n return {\r\n filterType: FILTER_TYPES_INCLUDE,\r\n filterValues: void 0\r\n }\r\n };\r\n var canSyncHeaderFilterWithFilterRow = function(column) {\r\n var filterValues = column.filterValues || [];\r\n return !filterUtils.getGroupInterval(column) && !(column.headerFilter && column.headerFilter.dataSource) || 1 === filterValues.length && null === filterValues[0]\r\n };\r\n var getConditionFromFilterRow = function(column) {\r\n var value = column.filterValue;\r\n if (isDefined(value)) {\r\n var operation = column.selectedFilterOperation || column.defaultFilterOperation || getDefaultOperation(column);\r\n var filter = [getColumnIdentifier(column), operation, column.filterValue];\r\n return filter\r\n }\r\n return null\r\n };\r\n var getConditionFromHeaderFilter = function(column) {\r\n var selectedOperation;\r\n var value;\r\n var {\r\n filterValues: filterValues\r\n } = column;\r\n if (!filterValues) {\r\n return null\r\n }\r\n if (1 === filterValues.length && canSyncHeaderFilterWithFilterRow(column) && !Array.isArray(filterValues[0])) {\r\n column.filterType === FILTER_TYPES_EXCLUDE ? selectedOperation = \"<>\" : selectedOperation = \"=\";\r\n value = filterValues[0]\r\n } else {\r\n column.filterType === FILTER_TYPES_EXCLUDE ? selectedOperation = \"noneof\" : selectedOperation = \"anyof\";\r\n value = filterValues\r\n }\r\n return [getColumnIdentifier(column), selectedOperation, value]\r\n };\r\n var updateHeaderFilterCondition = function(columnsController, column, headerFilterCondition) {\r\n var headerFilter = function(headerFilterCondition, column) {\r\n if (!headerFilterCondition) {\r\n return getEmptyFilterValues()\r\n }\r\n var filterType;\r\n var selectedFilterOperation = headerFilterCondition[1];\r\n var value = headerFilterCondition[2];\r\n var hasArrayValue = Array.isArray(value);\r\n if (!hasArrayValue) {\r\n if (!canSyncHeaderFilterWithFilterRow(column)) {\r\n return getEmptyFilterValues()\r\n }\r\n }\r\n switch (selectedFilterOperation) {\r\n case \"anyof\":\r\n case \"=\":\r\n filterType = FILTER_TYPES_INCLUDE;\r\n break;\r\n case \"noneof\":\r\n case \"<>\":\r\n filterType = FILTER_TYPES_EXCLUDE;\r\n break;\r\n default:\r\n return getEmptyFilterValues()\r\n }\r\n return {\r\n filterType: filterType,\r\n filterValues: hasArrayValue ? value : [value]\r\n }\r\n }(headerFilterCondition, column);\r\n columnsController.columnOption(getColumnIdentifier(column), headerFilter)\r\n };\r\n var updateFilterRowCondition = function(columnsController, column, condition) {\r\n var filterRowOptions;\r\n var selectedFilterOperation = null === condition || void 0 === condition ? void 0 : condition[1];\r\n var filterValue = null === condition || void 0 === condition ? void 0 : condition[2];\r\n var filterOperations = column.filterOperations || column.defaultFilterOperations;\r\n if ((!filterOperations || filterOperations.indexOf(selectedFilterOperation) >= 0 || selectedFilterOperation === column.defaultFilterOperation) && FILTER_ROW_OPERATIONS.includes(selectedFilterOperation) && null !== filterValue) {\r\n if (selectedFilterOperation === column.defaultFilterOperation && !isDefined(column.selectedFilterOperation)) {\r\n selectedFilterOperation = column.selectedFilterOperation\r\n }\r\n filterRowOptions = {\r\n filterValue: filterValue,\r\n selectedFilterOperation: selectedFilterOperation\r\n }\r\n } else {\r\n filterRowOptions = {\r\n filterValue: void 0,\r\n selectedFilterOperation: void 0\r\n }\r\n }\r\n columnsController.columnOption(getColumnIdentifier(column), filterRowOptions)\r\n };\r\n return {\r\n syncFilterValue() {\r\n var that = this;\r\n var columnsController = that.getController(\"columns\");\r\n var columns = columnsController.getFilteringColumns();\r\n this._skipSyncColumnOptions = true;\r\n columns.forEach(column => {\r\n var filterConditions = getMatchedConditions(that.option(\"filterValue\"), getColumnIdentifier(column));\r\n if (1 === filterConditions.length) {\r\n var filterCondition = filterConditions[0];\r\n updateHeaderFilterCondition(columnsController, column, filterCondition);\r\n updateFilterRowCondition(columnsController, column, filterCondition)\r\n } else {\r\n isDefined(column.filterValues) && updateHeaderFilterCondition(columnsController, column, null);\r\n isDefined(column.filterValue) && updateFilterRowCondition(columnsController, column, null)\r\n }\r\n });\r\n this._skipSyncColumnOptions = false\r\n },\r\n _initSync() {\r\n var columns = this.getController(\"columns\").getColumns();\r\n var dataController = this.getController(\"data\");\r\n var pageIndex = dataController.pageIndex();\r\n checkForErrors(columns);\r\n if (!this.option(\"filterValue\")) {\r\n var filteringColumns = this.getController(\"columns\").getFilteringColumns();\r\n var filterValue = this.getFilterValueFromColumns(filteringColumns);\r\n this.option(\"filterValue\", filterValue)\r\n }\r\n this.syncFilterValue();\r\n dataController.pageIndex(pageIndex)\r\n },\r\n init() {\r\n var dataController = this.getController(\"data\");\r\n if (dataController.isFilterSyncActive()) {\r\n if (this.getController(\"columns\").isAllDataTypesDefined()) {\r\n this._initSync()\r\n } else {\r\n dataController.dataSourceChanged.add(() => this._initSync())\r\n }\r\n }\r\n },\r\n _getSyncFilterRow(filterValue, column) {\r\n var filter = getConditionFromFilterRow(column);\r\n if (isDefined(filter)) {\r\n return syncFilters(filterValue, filter)\r\n }\r\n return removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(column))\r\n },\r\n _getSyncHeaderFilter(filterValue, column) {\r\n var filter = getConditionFromHeaderFilter(column);\r\n if (filter) {\r\n return syncFilters(filterValue, filter)\r\n }\r\n return removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(column))\r\n },\r\n getFilterValueFromColumns(columns) {\r\n if (!this.getController(\"data\").isFilterSyncActive()) {\r\n return null\r\n }\r\n var filterValue = [\"and\"];\r\n columns && columns.forEach(column => {\r\n var headerFilter = getConditionFromHeaderFilter(column);\r\n var filterRow = getConditionFromFilterRow(column);\r\n headerFilter && addItem(headerFilter, filterValue);\r\n filterRow && addItem(filterRow, filterValue)\r\n });\r\n return getNormalizedFilter(filterValue)\r\n },\r\n syncFilterRow(column) {\r\n this.option(\"filterValue\", this._getSyncFilterRow(this.option(\"filterValue\"), column))\r\n },\r\n syncHeaderFilter(column) {\r\n this.option(\"filterValue\", this._getSyncHeaderFilter(this.option(\"filterValue\"), column))\r\n },\r\n getCustomFilterOperations() {\r\n var filterBuilderCustomOperations = this.option(\"filterBuilder.customOperations\") || [];\r\n return [anyOf(this.component), noneOf(this.component)].concat(filterBuilderCustomOperations)\r\n },\r\n publicMethods: () => [\"getCustomFilterOperations\"]\r\n }\r\n}());\r\nvar DataControllerFilterSyncExtender = {\r\n isFilterSyncActive() {\r\n var filterSyncEnabledValue = this.option(\"filterSyncEnabled\");\r\n return \"auto\" === filterSyncEnabledValue ? this.option(\"filterPanel.visible\") : filterSyncEnabledValue\r\n },\r\n skipCalculateColumnFilters() {\r\n var filterSyncController = this.getController(\"filterSync\");\r\n return (isDefined(this.option(\"filterValue\")) || filterSyncController._skipSyncColumnOptions) && this.isFilterSyncActive()\r\n },\r\n _calculateAdditionalFilter() {\r\n if (false === this.option(\"filterPanel.filterEnabled\")) {\r\n return this.callBase()\r\n }\r\n var filters = [this.callBase()];\r\n var columns = this.getController(\"columns\").getFilteringColumns();\r\n var filterValue = this.option(\"filterValue\");\r\n if (this.isFilterSyncActive()) {\r\n var currentColumn = this.getController(\"headerFilter\").getCurrentColumn();\r\n if (currentColumn && filterValue) {\r\n filterValue = removeFieldConditionsFromFilter(filterValue, getColumnIdentifier(currentColumn))\r\n }\r\n }\r\n var customOperations = this.getController(\"filterSync\").getCustomFilterOperations();\r\n var calculatedFilterValue = getFilterExpression(filterValue, columns, customOperations, \"filterBuilder\");\r\n if (calculatedFilterValue) {\r\n filters.push(calculatedFilterValue)\r\n }\r\n return gridCoreUtils.combineFilters(filters)\r\n },\r\n _parseColumnPropertyName(fullName) {\r\n var matched = fullName.match(/.*\\.(.*)/);\r\n if (matched) {\r\n return matched[1]\r\n }\r\n return null\r\n },\r\n clearFilter(filterName) {\r\n this.component.beginUpdate();\r\n if (arguments.length > 0) {\r\n if (\"filterValue\" === filterName) {\r\n this.option(\"filterValue\", null)\r\n }\r\n this.callBase(filterName)\r\n } else {\r\n this.option(\"filterValue\", null);\r\n this.callBase()\r\n }\r\n this.component.endUpdate()\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterValue\":\r\n this._applyFilter();\r\n this.isFilterSyncActive() && this.getController(\"filterSync\").syncFilterValue();\r\n args.handled = true;\r\n break;\r\n case \"filterSyncEnabled\":\r\n args.handled = true;\r\n break;\r\n case \"columns\":\r\n if (this.isFilterSyncActive()) {\r\n var column = this.getController(\"columns\").getColumnByPath(args.fullName);\r\n var filterSyncController = this.getController(\"filterSync\");\r\n if (column && !filterSyncController._skipSyncColumnOptions) {\r\n var propertyName = this._parseColumnPropertyName(args.fullName);\r\n filterSyncController._skipSyncColumnOptions = true;\r\n if (\"filterType\" === propertyName) {\r\n if (FILTER_TYPES_EXCLUDE === args.value || FILTER_TYPES_EXCLUDE === args.previousValue) {\r\n filterSyncController.syncHeaderFilter(column)\r\n }\r\n } else if (\"filterValues\" === propertyName) {\r\n filterSyncController.syncHeaderFilter(column)\r\n } else if ([\"filterValue\", \"selectedFilterOperation\"].includes(propertyName)) {\r\n filterSyncController.syncFilterRow(column, column.filterValue)\r\n }\r\n filterSyncController._skipSyncColumnOptions = false\r\n }\r\n }\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\nvar ColumnHeadersViewFilterSyncExtender = {\r\n _isHeaderFilterEmpty(column) {\r\n if (this.getController(\"data\").isFilterSyncActive()) {\r\n return !filterHasField(this.option(\"filterValue\"), getColumnIdentifier(column))\r\n }\r\n return this.callBase(column)\r\n },\r\n _needUpdateFilterIndicators() {\r\n return !this.getController(\"data\").isFilterSyncActive()\r\n },\r\n optionChanged(args) {\r\n if (\"filterValue\" === args.name) {\r\n this._updateHeaderFilterIndicators()\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n};\r\nexport var filterSyncModule = {\r\n defaultOptions: () => ({\r\n filterValue: null,\r\n filterSyncEnabled: \"auto\"\r\n }),\r\n controllers: {\r\n filterSync: FilterSyncController\r\n },\r\n extenders: {\r\n controllers: {\r\n data: DataControllerFilterSyncExtender\r\n },\r\n views: {\r\n columnHeadersView: ColumnHeadersViewFilterSyncExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_sync.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterSyncModule\r\n} from \"../../../grids/grid_core/filter/m_filter_sync\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterSync\", filterSyncModule);\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport TreeView from \"../tree_view\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n getElementMaxHeightByWindow\r\n} from \"../overlay/utils\";\r\nimport EditorFactoryMixin from \"../shared/ui.editor_factory_mixin\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n renderValueText,\r\n getFilterExpression as _getFilterExpression,\r\n getNormalizedFilter,\r\n getNormalizedFields,\r\n getMergedOperations,\r\n convertToInnerStructure,\r\n getGroupCriteria,\r\n isGroup,\r\n isCondition,\r\n removeItem,\r\n createEmptyGroup,\r\n addItem,\r\n createCondition,\r\n getGroupMenuItem,\r\n setGroupValue,\r\n getCustomOperation,\r\n getAvailableOperations,\r\n getOperationFromAvailable,\r\n getOperationValue,\r\n updateConditionByOperation,\r\n getItems,\r\n getField,\r\n getCaptionWithParents,\r\n getDefaultOperation,\r\n getGroupValue,\r\n getCurrentLookupValueText,\r\n getCurrentValueText\r\n} from \"./utils\";\r\nvar FILTER_BUILDER_CLASS = \"dx-filterbuilder\";\r\nvar FILTER_BUILDER_GROUP_CLASS = FILTER_BUILDER_CLASS + \"-group\";\r\nvar FILTER_BUILDER_GROUP_ITEM_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-item\";\r\nvar FILTER_BUILDER_GROUP_CONTENT_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-content\";\r\nvar FILTER_BUILDER_GROUP_OPERATIONS_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-operations\";\r\nvar FILTER_BUILDER_GROUP_OPERATION_CLASS = FILTER_BUILDER_GROUP_CLASS + \"-operation\";\r\nvar FILTER_BUILDER_ACTION_CLASS = FILTER_BUILDER_CLASS + \"-action\";\r\nvar FILTER_BUILDER_IMAGE_CLASS = FILTER_BUILDER_ACTION_CLASS + \"-icon\";\r\nvar FILTER_BUILDER_IMAGE_ADD_CLASS = \"dx-icon-plus\";\r\nvar FILTER_BUILDER_IMAGE_REMOVE_CLASS = \"dx-icon-remove\";\r\nvar FILTER_BUILDER_ITEM_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-text\";\r\nvar FILTER_BUILDER_ITEM_FIELD_CLASS = FILTER_BUILDER_CLASS + \"-item-field\";\r\nvar FILTER_BUILDER_ITEM_OPERATION_CLASS = FILTER_BUILDER_CLASS + \"-item-operation\";\r\nvar FILTER_BUILDER_ITEM_VALUE_CLASS = FILTER_BUILDER_CLASS + \"-item-value\";\r\nvar FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS = FILTER_BUILDER_CLASS + \"-item-value-text\";\r\nvar FILTER_BUILDER_OVERLAY_CLASS = FILTER_BUILDER_CLASS + \"-overlay\";\r\nvar FILTER_BUILDER_FILTER_OPERATIONS_CLASS = FILTER_BUILDER_CLASS + \"-operations\";\r\nvar FILTER_BUILDER_FIELDS_CLASS = FILTER_BUILDER_CLASS + \"-fields\";\r\nvar FILTER_BUILDER_ADD_CONDITION_CLASS = FILTER_BUILDER_CLASS + \"-add-condition\";\r\nvar ACTIVE_CLASS = \"dx-state-active\";\r\nvar FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS = FILTER_BUILDER_CLASS + \"-menu-custom-operation\";\r\nvar SOURCE = \"filterBuilder\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar TAB_KEY = \"tab\";\r\nvar ENTER_KEY = \"enter\";\r\nvar ESCAPE_KEY = \"escape\";\r\nvar ACTIONS = [{\r\n name: \"onEditorPreparing\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n }\r\n}, {\r\n name: \"onEditorPrepared\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n }\r\n}, {\r\n name: \"onValueChanged\",\r\n config: {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }\r\n}];\r\nvar OPERATORS = {\r\n and: \"and\",\r\n or: \"or\",\r\n notAnd: \"!and\",\r\n notOr: \"!or\"\r\n};\r\nvar EditorFactory = Class.inherit(EditorFactoryMixin);\r\nvar FilterBuilder = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n onEditorPreparing: null,\r\n onEditorPrepared: null,\r\n onValueChanged: null,\r\n fields: [],\r\n groupOperations: [\"and\", \"or\", \"notAnd\", \"notOr\"],\r\n maxGroupLevel: void 0,\r\n value: null,\r\n allowHierarchicalFields: false,\r\n groupOperationDescriptions: {\r\n and: messageLocalization.format(\"dxFilterBuilder-and\"),\r\n or: messageLocalization.format(\"dxFilterBuilder-or\"),\r\n notAnd: messageLocalization.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: messageLocalization.format(\"dxFilterBuilder-notOr\")\r\n },\r\n customOperations: [],\r\n closePopupOnTargetScroll: true,\r\n filterOperationDescriptions: {\r\n between: messageLocalization.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: messageLocalization.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: messageLocalization.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"closePopupOnTargetScroll\":\r\n break;\r\n case \"onEditorPreparing\":\r\n case \"onEditorPrepared\":\r\n case \"onValueChanged\":\r\n this._initActions();\r\n break;\r\n case \"customOperations\":\r\n this._initCustomOperations();\r\n this._invalidate();\r\n break;\r\n case \"fields\":\r\n case \"maxGroupLevel\":\r\n case \"groupOperations\":\r\n case \"allowHierarchicalFields\":\r\n case \"groupOperationDescriptions\":\r\n case \"filterOperationDescriptions\":\r\n this._invalidate();\r\n break;\r\n case \"value\":\r\n if (args.value !== args.previousValue) {\r\n var disableInvalidateForValue = this._disableInvalidateForValue;\r\n if (!disableInvalidateForValue) {\r\n this._initModel();\r\n this._invalidate()\r\n }\r\n this._disableInvalidateForValue = false;\r\n this.executeAction(\"onValueChanged\", {\r\n value: args.value,\r\n previousValue: args.previousValue\r\n });\r\n this._disableInvalidateForValue = disableInvalidateForValue\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getFilterExpression: function() {\r\n var fields = this._getNormalizedFields();\r\n var value = extend(true, [], this._model);\r\n return _getFilterExpression(getNormalizedFilter(value), fields, this._customOperations, SOURCE)\r\n },\r\n _getNormalizedFields: function() {\r\n return getNormalizedFields(this.option(\"fields\"))\r\n },\r\n _updateFilter: function() {\r\n this._disableInvalidateForValue = true;\r\n var value = extend(true, [], this._model);\r\n var normalizedValue = getNormalizedFilter(value);\r\n var oldValue = getNormalizedFilter(this._getModel(this.option(\"value\")));\r\n if (JSON.stringify(oldValue) !== JSON.stringify(normalizedValue)) {\r\n this.option(\"value\", normalizedValue)\r\n }\r\n this._disableInvalidateForValue = false;\r\n this._fireContentReadyAction()\r\n },\r\n _init: function() {\r\n this._initCustomOperations();\r\n this._initModel();\r\n this._initEditorFactory();\r\n this._initActions();\r\n this.callBase()\r\n },\r\n _initEditorFactory: function() {\r\n this._editorFactory = new EditorFactory\r\n },\r\n _initCustomOperations: function() {\r\n this._customOperations = getMergedOperations(this.option(\"customOperations\"), this.option(\"filterOperationDescriptions.between\"), this)\r\n },\r\n _getDefaultGroupOperation: function() {\r\n var _this$option$, _this$option;\r\n return null !== (_this$option$ = null === (_this$option = this.option(\"groupOperations\")) || void 0 === _this$option ? void 0 : _this$option[0]) && void 0 !== _this$option$ ? _this$option$ : OPERATORS.and\r\n },\r\n _getModel: function(value) {\r\n return convertToInnerStructure(value, this._customOperations, this._getDefaultGroupOperation())\r\n },\r\n _initModel: function() {\r\n this._model = this._getModel(this.option(\"value\"))\r\n },\r\n _initActions: function() {\r\n var that = this;\r\n that._actions = {};\r\n ACTIONS.forEach((function(action) {\r\n var actionConfig = extend({}, action.config);\r\n that._actions[action.name] = that._createActionByOption(action.name, actionConfig)\r\n }))\r\n },\r\n executeAction: function(actionName, options) {\r\n var action = this._actions[actionName];\r\n return action && action(options)\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(FILTER_BUILDER_CLASS);\r\n this.callBase();\r\n this._createGroupElementByCriteria(this._model).appendTo(this.$element())\r\n },\r\n _createConditionElement: function(condition, parent) {\r\n return $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append(this._createConditionItem(condition, parent))\r\n },\r\n _createGroupElementByCriteria: function(criteria, parent) {\r\n var groupLevel = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var $group = this._createGroupElement(criteria, parent, groupLevel);\r\n var $groupContent = $group.find(\".\" + FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var groupCriteria = getGroupCriteria(criteria);\r\n for (var i = 0; i < groupCriteria.length; i++) {\r\n var innerCriteria = groupCriteria[i];\r\n if (isGroup(innerCriteria)) {\r\n this._createGroupElementByCriteria(innerCriteria, criteria, groupLevel + 1).appendTo($groupContent)\r\n } else if (isCondition(innerCriteria)) {\r\n this._createConditionElement(innerCriteria, criteria).appendTo($groupContent)\r\n }\r\n }\r\n return $group\r\n },\r\n _createGroupElement: function(criteria, parent, groupLevel) {\r\n var $groupItem = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var $groupContent = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CONTENT_CLASS);\r\n var $group = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_CLASS).append($groupItem).append($groupContent);\r\n if (null != parent) {\r\n this._createRemoveButton(() => {\r\n removeItem(parent, criteria);\r\n $group.remove();\r\n this._updateFilter()\r\n }).appendTo($groupItem)\r\n }\r\n this._createGroupOperationButton(criteria).appendTo($groupItem);\r\n this._createAddButton(() => {\r\n var newGroup = createEmptyGroup(this._getDefaultGroupOperation());\r\n addItem(newGroup, criteria);\r\n this._createGroupElement(newGroup, criteria, groupLevel + 1).appendTo($groupContent);\r\n this._updateFilter()\r\n }, () => {\r\n var field = this.option(\"fields\")[0];\r\n var newCondition = createCondition(field, this._customOperations);\r\n addItem(newCondition, criteria);\r\n this._createConditionElement(newCondition, criteria).appendTo($groupContent);\r\n this._updateFilter()\r\n }, groupLevel).appendTo($groupItem);\r\n return $group\r\n },\r\n _createButton: function(caption) {\r\n return $(\"<div>\").text(caption)\r\n },\r\n _createGroupOperationButton: function(criteria) {\r\n var groupOperations = this._getGroupOperations(criteria);\r\n var groupMenuItem = getGroupMenuItem(criteria, groupOperations);\r\n var caption = groupMenuItem.text;\r\n var $operationButton = groupOperations && groupOperations.length < 2 ? this._createButton(caption).addClass(DISABLED_STATE_CLASS) : this._createButtonWithMenu({\r\n caption: caption,\r\n menu: {\r\n items: groupOperations,\r\n displayExpr: \"text\",\r\n keyExpr: \"value\",\r\n onItemClick: e => {\r\n if (groupMenuItem !== e.itemData) {\r\n setGroupValue(criteria, e.itemData.value);\r\n $operationButton.text(e.itemData.text);\r\n groupMenuItem = e.itemData;\r\n this._updateFilter()\r\n }\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(groupMenuItem)\r\n },\r\n cssClass: FILTER_BUILDER_GROUP_OPERATIONS_CLASS\r\n }\r\n });\r\n return $operationButton.addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_GROUP_OPERATION_CLASS).attr(\"tabindex\", 0)\r\n },\r\n _createButtonWithMenu: function(options) {\r\n var that = this;\r\n var removeMenu = function() {\r\n that.$element().find(\".\" + ACTIVE_CLASS).removeClass(ACTIVE_CLASS);\r\n that.$element().find(\".dx-overlay .dx-treeview\").remove();\r\n that.$element().find(\".dx-overlay\").remove()\r\n };\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var position = rtlEnabled ? \"right\" : \"left\";\r\n var $button = this._createButton(options.caption);\r\n extend(options.menu, {\r\n focusStateEnabled: true,\r\n selectionMode: \"single\",\r\n onItemClick: (handler = options.menu.onItemClick, function(e) {\r\n handler(e);\r\n if (\"dxclick\" === e.event.type) {\r\n removeMenu()\r\n }\r\n }),\r\n onHiding: function(e) {\r\n $button.removeClass(ACTIVE_CLASS)\r\n },\r\n position: {\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n offset: \"0 1\",\r\n of: $button,\r\n collision: \"flip\"\r\n },\r\n animation: null,\r\n onHidden: function() {\r\n removeMenu()\r\n },\r\n cssClass: FILTER_BUILDER_OVERLAY_CLASS + \" \" + options.menu.cssClass,\r\n rtlEnabled: rtlEnabled\r\n });\r\n var handler;\r\n options.popup = {\r\n onShown: function(info) {\r\n var treeViewElement = $(info.component.content()).find(\".dx-treeview\");\r\n var treeView = treeViewElement.dxTreeView(\"instance\");\r\n eventsEngine.on(treeViewElement, \"keyup keydown\", (function(e) {\r\n var keyName = normalizeKeyName(e);\r\n if (\"keydown\" === e.type && keyName === TAB_KEY || \"keyup\" === e.type && (keyName === ESCAPE_KEY || keyName === ENTER_KEY)) {\r\n info.component.hide();\r\n eventsEngine.trigger(options.menu.position.of, \"focus\")\r\n }\r\n }));\r\n treeView.focus();\r\n treeView.option(\"focusedElement\", null)\r\n }\r\n };\r\n this._subscribeOnClickAndEnterKey($button, (function() {\r\n removeMenu();\r\n that._createPopupWithTreeView(options, that.$element());\r\n $button.addClass(ACTIVE_CLASS)\r\n }));\r\n return $button\r\n },\r\n _hasValueButton: function(condition) {\r\n var customOperation = getCustomOperation(this._customOperations, condition[1]);\r\n return customOperation ? false !== customOperation.hasValue : null !== condition[2]\r\n },\r\n _createOperationButtonWithMenu: function(condition, field) {\r\n var that = this;\r\n var availableOperations = getAvailableOperations(field, this.option(\"filterOperationDescriptions\"), this._customOperations);\r\n var currentOperation = getOperationFromAvailable(getOperationValue(condition), availableOperations);\r\n var $operationButton = this._createButtonWithMenu({\r\n caption: currentOperation.text,\r\n menu: {\r\n items: availableOperations,\r\n displayExpr: \"text\",\r\n onItemRendered: function(e) {\r\n e.itemData.isCustom && $(e.itemElement).addClass(FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS)\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(currentOperation)\r\n },\r\n onItemClick: e => {\r\n if (currentOperation !== e.itemData) {\r\n currentOperation = e.itemData;\r\n updateConditionByOperation(condition, currentOperation.value, that._customOperations);\r\n var $valueButton = $operationButton.siblings().filter(\".\" + FILTER_BUILDER_ITEM_VALUE_CLASS);\r\n if (that._hasValueButton(condition)) {\r\n if (0 !== $valueButton.length) {\r\n $valueButton.remove()\r\n }\r\n that._createValueButton(condition, field).appendTo($operationButton.parent())\r\n } else {\r\n $valueButton.remove()\r\n }\r\n $operationButton.html(currentOperation.text);\r\n this._updateFilter()\r\n }\r\n },\r\n cssClass: FILTER_BUILDER_FILTER_OPERATIONS_CLASS\r\n }\r\n }).addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_OPERATION_CLASS).attr(\"tabindex\", 0);\r\n return $operationButton\r\n },\r\n _createOperationAndValueButtons: function(condition, field, $item) {\r\n this._createOperationButtonWithMenu(condition, field).appendTo($item);\r\n if (this._hasValueButton(condition)) {\r\n this._createValueButton(condition, field).appendTo($item)\r\n }\r\n },\r\n _createFieldButtonWithMenu: function(fields, condition, field) {\r\n var that = this;\r\n var allowHierarchicalFields = this.option(\"allowHierarchicalFields\");\r\n var items = getItems(fields, allowHierarchicalFields);\r\n var item = getField(field.name || field.dataField, items);\r\n var getFullCaption = function(item, items) {\r\n return allowHierarchicalFields ? getCaptionWithParents(item, items) : item.caption\r\n };\r\n var $fieldButton = this._createButtonWithMenu({\r\n caption: getFullCaption(item, items),\r\n menu: {\r\n items: items,\r\n dataStructure: \"plain\",\r\n keyExpr: \"id\",\r\n parentId: \"parentId\",\r\n displayExpr: \"caption\",\r\n onItemClick: e => {\r\n if (item !== e.itemData) {\r\n item = e.itemData;\r\n condition[0] = item.name || item.dataField;\r\n condition[2] = \"object\" === item.dataType ? null : \"\";\r\n updateConditionByOperation(condition, getDefaultOperation(item), that._customOperations);\r\n $fieldButton.siblings().filter(\".\" + FILTER_BUILDER_ITEM_TEXT_CLASS).remove();\r\n that._createOperationAndValueButtons(condition, item, $fieldButton.parent());\r\n var caption = getFullCaption(item, e.component.option(\"items\"));\r\n $fieldButton.html(caption);\r\n this._updateFilter()\r\n }\r\n },\r\n onContentReady: function(e) {\r\n e.component.selectItem(item)\r\n },\r\n cssClass: FILTER_BUILDER_FIELDS_CLASS\r\n }\r\n }).addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_FIELD_CLASS).attr(\"tabindex\", 0);\r\n return $fieldButton\r\n },\r\n _createConditionItem: function(condition, parent) {\r\n var $item = $(\"<div>\").addClass(FILTER_BUILDER_GROUP_ITEM_CLASS);\r\n var fields = this._getNormalizedFields();\r\n var field = getField(condition[0], fields);\r\n this._createRemoveButton(() => {\r\n removeItem(parent, condition);\r\n var isSingleChild = 1 === $item.parent().children().length;\r\n if (isSingleChild) {\r\n $item.parent().remove()\r\n } else {\r\n $item.remove()\r\n }\r\n this._updateFilter()\r\n }).appendTo($item);\r\n this._createFieldButtonWithMenu(fields, condition, field).appendTo($item);\r\n this._createOperationAndValueButtons(condition, field, $item);\r\n return $item\r\n },\r\n _getGroupOperations: function(criteria) {\r\n var groupOperations = this.option(\"groupOperations\");\r\n var groupOperationDescriptions = this.option(\"groupOperationDescriptions\");\r\n if (!groupOperations || !groupOperations.length) {\r\n groupOperations = [getGroupValue(criteria).replace(\"!\", \"not\")]\r\n }\r\n return groupOperations.map(operation => ({\r\n text: groupOperationDescriptions[operation],\r\n value: OPERATORS[operation]\r\n }))\r\n },\r\n _createRemoveButton: function(handler) {\r\n var $removeButton = $(\"<div>\").addClass(FILTER_BUILDER_IMAGE_CLASS).addClass(FILTER_BUILDER_IMAGE_REMOVE_CLASS).addClass(FILTER_BUILDER_ACTION_CLASS).attr(\"tabindex\", 0);\r\n this._subscribeOnClickAndEnterKey($removeButton, handler);\r\n return $removeButton\r\n },\r\n _createAddButton: function(addGroupHandler, addConditionHandler, groupLevel) {\r\n var $button;\r\n var maxGroupLevel = this.option(\"maxGroupLevel\");\r\n if (isDefined(maxGroupLevel) && groupLevel >= maxGroupLevel) {\r\n $button = this._createButton();\r\n this._subscribeOnClickAndEnterKey($button, addConditionHandler)\r\n } else {\r\n $button = this._createButtonWithMenu({\r\n menu: {\r\n items: [{\r\n caption: messageLocalization.format(\"dxFilterBuilder-addCondition\"),\r\n click: addConditionHandler\r\n }, {\r\n caption: messageLocalization.format(\"dxFilterBuilder-addGroup\"),\r\n click: addGroupHandler\r\n }],\r\n displayExpr: \"caption\",\r\n onItemClick: function(e) {\r\n e.itemData.click()\r\n },\r\n cssClass: FILTER_BUILDER_ADD_CONDITION_CLASS\r\n }\r\n })\r\n }\r\n return $button.addClass(FILTER_BUILDER_IMAGE_CLASS).addClass(FILTER_BUILDER_IMAGE_ADD_CLASS).addClass(FILTER_BUILDER_ACTION_CLASS).attr(\"tabindex\", 0)\r\n },\r\n _createValueText: function(item, field, $container) {\r\n var that = this;\r\n var $text = $(\"<div>\").html(\" \").addClass(FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS).attr(\"tabindex\", 0).appendTo($container);\r\n var value = item[2];\r\n var customOperation = getCustomOperation(that._customOperations, item[1]);\r\n if (!customOperation && field.lookup) {\r\n getCurrentLookupValueText(field, value, (function(result) {\r\n renderValueText($text, result)\r\n }))\r\n } else {\r\n when(getCurrentValueText(field, value, customOperation)).done(result => {\r\n renderValueText($text, result, customOperation)\r\n })\r\n }\r\n that._subscribeOnClickAndEnterKey($text, (function(e) {\r\n if (\"keyup\" === e.type) {\r\n e.stopPropagation()\r\n }\r\n that._createValueEditorWithEvents(item, field, $container)\r\n }));\r\n return $text\r\n },\r\n _updateConditionValue: function(item, value, callback) {\r\n var areValuesDifferent = item[2] !== value;\r\n if (areValuesDifferent) {\r\n item[2] = value\r\n }\r\n callback();\r\n this._updateFilter()\r\n },\r\n _addDocumentKeyUp: function($editor, handler) {\r\n var isComposing = false;\r\n var hasCompositionJustEnded = false;\r\n var document = domAdapter.getDocument();\r\n var documentKeyUpHandler = e => {\r\n if (isComposing || hasCompositionJustEnded) {\r\n hasCompositionJustEnded = false;\r\n return\r\n }\r\n handler(e)\r\n };\r\n eventsEngine.on(document, \"keyup\", documentKeyUpHandler);\r\n var input = $editor.find(\"input\");\r\n eventsEngine.on(input, \"compositionstart\", () => {\r\n isComposing = true\r\n });\r\n eventsEngine.on(input, \"compositionend\", () => {\r\n isComposing = false;\r\n hasCompositionJustEnded = true\r\n });\r\n eventsEngine.on(input, \"keydown\", event => {\r\n if (229 !== event.which) {\r\n hasCompositionJustEnded = false\r\n }\r\n });\r\n this._documentKeyUpHandler = documentKeyUpHandler\r\n },\r\n _addDocumentClick: function($editor, closeEditorFunc) {\r\n var document = domAdapter.getDocument();\r\n var documentClickHandler = e => {\r\n if (!this._isFocusOnEditorParts($editor, e.target)) {\r\n eventsEngine.trigger($editor.find(\"input\"), \"change\");\r\n closeEditorFunc()\r\n }\r\n };\r\n eventsEngine.on(document, \"dxpointerdown\", documentClickHandler);\r\n this._documentClickHandler = documentClickHandler\r\n },\r\n _isFocusOnEditorParts: function($editor, target) {\r\n var activeElement = target || domAdapter.getActiveElement();\r\n return $(activeElement).closest($editor.children()).length || $(activeElement).closest(\".dx-dropdowneditor-overlay\").length\r\n },\r\n _removeEvents: function() {\r\n var document = domAdapter.getDocument();\r\n isDefined(this._documentKeyUpHandler) && eventsEngine.off(document, \"keyup\", this._documentKeyUpHandler);\r\n isDefined(this._documentClickHandler) && eventsEngine.off(document, \"dxpointerdown\", this._documentClickHandler)\r\n },\r\n _dispose: function() {\r\n this._removeEvents();\r\n this.callBase()\r\n },\r\n _createValueEditorWithEvents: function(item, field, $container) {\r\n var value = item[2];\r\n var createValueText = () => {\r\n $container.empty();\r\n this._removeEvents();\r\n return this._createValueText(item, field, $container)\r\n };\r\n var closeEditor = () => {\r\n this._updateConditionValue(item, value, (function() {\r\n createValueText()\r\n }))\r\n };\r\n var options = {\r\n value: \"\" === value ? null : value,\r\n filterOperation: getOperationValue(item),\r\n setValue: function(data) {\r\n value = null === data ? \"\" : data\r\n },\r\n closeEditor: closeEditor,\r\n text: $container.text()\r\n };\r\n $container.empty();\r\n var $editor = this._createValueEditor($container, field, options);\r\n eventsEngine.trigger($editor.find(\"input\").not(\":hidden\").eq(0), \"focus\");\r\n this._removeEvents();\r\n this._addDocumentClick($editor, closeEditor);\r\n this._addDocumentKeyUp($editor, e => {\r\n var keyName = normalizeKeyName(e);\r\n if (keyName === TAB_KEY) {\r\n if (this._isFocusOnEditorParts($editor)) {\r\n return\r\n }\r\n this._updateConditionValue(item, value, (function() {\r\n createValueText();\r\n if (e.shiftKey) {\r\n eventsEngine.trigger($container.prev(), \"focus\")\r\n }\r\n }))\r\n }\r\n if (keyName === ESCAPE_KEY) {\r\n eventsEngine.trigger(createValueText(), \"focus\")\r\n }\r\n if (keyName === ENTER_KEY) {\r\n this._updateConditionValue(item, value, (function() {\r\n eventsEngine.trigger(createValueText(), \"focus\")\r\n }))\r\n }\r\n });\r\n this._fireContentReadyAction()\r\n },\r\n _createValueButton: function(item, field) {\r\n var $valueButton = $(\"<div>\").addClass(FILTER_BUILDER_ITEM_TEXT_CLASS).addClass(FILTER_BUILDER_ITEM_VALUE_CLASS);\r\n this._createValueText(item, field, $valueButton);\r\n return $valueButton\r\n },\r\n _createValueEditor: function($container, field, options) {\r\n var $editor = $(\"<div>\").attr(\"tabindex\", 0).appendTo($container);\r\n var customOperation = getCustomOperation(this._customOperations, options.filterOperation);\r\n var editorTemplate = customOperation && customOperation.editorTemplate ? customOperation.editorTemplate : field.editorTemplate;\r\n if (editorTemplate) {\r\n var template = this._getTemplate(editorTemplate);\r\n template.render({\r\n model: extend({\r\n field: field\r\n }, options),\r\n container: $editor\r\n })\r\n } else {\r\n this._editorFactory.createEditor.call(this, $editor, extend({}, field, options, {\r\n parentType: SOURCE\r\n }))\r\n }\r\n return $editor\r\n },\r\n _createPopupWithTreeView: function(options, $container) {\r\n var that = this;\r\n var $popup = $(\"<div>\").addClass(options.menu.cssClass).appendTo($container);\r\n this._createComponent($popup, Popup, {\r\n onHiding: options.menu.onHiding,\r\n onHidden: options.menu.onHidden,\r\n rtlEnabled: options.menu.rtlEnabled,\r\n position: options.menu.position,\r\n animation: options.menu.animation,\r\n contentTemplate: function(contentElement) {\r\n var $menuContainer = $(\"<div>\").appendTo(contentElement);\r\n that._createComponent($menuContainer, TreeView, options.menu);\r\n this.repaint()\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n maxHeight: function() {\r\n return getElementMaxHeightByWindow(options.menu.position.of)\r\n },\r\n visible: true,\r\n focusStateEnabled: false,\r\n hideOnParentScroll: this.option(\"closePopupOnTargetScroll\"),\r\n hideOnOutsideClick: true,\r\n onShown: options.popup.onShown,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n showTitle: false,\r\n _wrapperClassExternal: options.menu.cssClass\r\n })\r\n },\r\n _subscribeOnClickAndEnterKey: function($button, handler) {\r\n eventsEngine.on($button, \"dxclick\", handler);\r\n eventsEngine.on($button, \"keyup\", (function(e) {\r\n if (normalizeKeyName(e) === ENTER_KEY) {\r\n handler(e)\r\n }\r\n }))\r\n }\r\n});\r\nregisterComponent(\"dxFilterBuilder\", FilterBuilder);\r\nexport default FilterBuilder;\r\n","/**\r\n * DevExtreme (esm/ui/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport FilterBuilder from \"./filter_builder/filter_builder\";\r\nexport default FilterBuilder;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport FilterBuilder from \"../../../../ui/filter_builder\";\r\nimport Popup from \"../../../../ui/popup/ui.popup\";\r\nimport ScrollView from \"../../../../ui/scroll_view\";\r\nimport {\r\n restoreFocus\r\n} from \"../../../../ui/shared/accessibility\";\r\nimport modules from \"../m_modules\";\r\nvar FilterBuilderView = modules.View.inherit({\r\n _renderCore() {\r\n this._updatePopupOptions()\r\n },\r\n _updatePopupOptions() {\r\n if (this.option(\"filterBuilderPopup.visible\")) {\r\n this._initPopup()\r\n } else if (this._filterBuilderPopup) {\r\n this._filterBuilderPopup.hide()\r\n }\r\n },\r\n _disposePopup() {\r\n if (this._filterBuilderPopup) {\r\n this._filterBuilderPopup.dispose();\r\n this._filterBuilderPopup = void 0\r\n }\r\n if (this._filterBuilder) {\r\n this._filterBuilder.dispose();\r\n this._filterBuilder = void 0\r\n }\r\n },\r\n _initPopup() {\r\n var that = this;\r\n that._disposePopup();\r\n that._filterBuilderPopup = that._createComponent(that.element(), Popup, extend({\r\n title: messageLocalization.format(\"dxDataGrid-filterBuilderPopupTitle\"),\r\n contentTemplate: $contentElement => that._getPopupContentTemplate($contentElement),\r\n onOptionChanged(args) {\r\n if (\"visible\" === args.name) {\r\n that.option(\"filterBuilderPopup.visible\", args.value)\r\n }\r\n },\r\n toolbarItems: that._getPopupToolbarItems()\r\n }, that.option(\"filterBuilderPopup\"), {\r\n onHidden() {\r\n restoreFocus(that);\r\n that._disposePopup()\r\n }\r\n }))\r\n },\r\n _getPopupContentTemplate(contentElement) {\r\n var $contentElement = $(contentElement);\r\n var $filterBuilderContainer = $(\"<div>\").appendTo($(contentElement));\r\n this._filterBuilder = this._createComponent($filterBuilderContainer, FilterBuilder, extend({\r\n value: this.option(\"filterValue\"),\r\n fields: this.getController(\"columns\").getFilteringColumns()\r\n }, this.option(\"filterBuilder\"), {\r\n customOperations: this.getController(\"filterSync\").getCustomFilterOperations()\r\n }));\r\n this._createComponent($contentElement, ScrollView, {\r\n direction: \"both\"\r\n })\r\n },\r\n _getPopupToolbarItems() {\r\n var that = this;\r\n return [{\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: messageLocalization.format(\"OK\"),\r\n onClick() {\r\n var filter = that._filterBuilder.option(\"value\");\r\n that.option(\"filterValue\", filter);\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"after\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: messageLocalization.format(\"Cancel\"),\r\n onClick() {\r\n that._filterBuilderPopup.hide()\r\n }\r\n }\r\n }]\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterBuilder\":\r\n case \"filterBuilderPopup\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport var filterBuilderModule = {\r\n defaultOptions: () => ({\r\n filterBuilder: {\r\n groupOperationDescriptions: {\r\n and: messageLocalization.format(\"dxFilterBuilder-and\"),\r\n or: messageLocalization.format(\"dxFilterBuilder-or\"),\r\n notAnd: messageLocalization.format(\"dxFilterBuilder-notAnd\"),\r\n notOr: messageLocalization.format(\"dxFilterBuilder-notOr\")\r\n },\r\n filterOperationDescriptions: {\r\n between: messageLocalization.format(\"dxFilterBuilder-filterOperationBetween\"),\r\n equal: messageLocalization.format(\"dxFilterBuilder-filterOperationEquals\"),\r\n notEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationNotEquals\"),\r\n lessThan: messageLocalization.format(\"dxFilterBuilder-filterOperationLess\"),\r\n lessThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationLessOrEquals\"),\r\n greaterThan: messageLocalization.format(\"dxFilterBuilder-filterOperationGreater\"),\r\n greaterThanOrEqual: messageLocalization.format(\"dxFilterBuilder-filterOperationGreaterOrEquals\"),\r\n startsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationStartsWith\"),\r\n contains: messageLocalization.format(\"dxFilterBuilder-filterOperationContains\"),\r\n notContains: messageLocalization.format(\"dxFilterBuilder-filterOperationNotContains\"),\r\n endsWith: messageLocalization.format(\"dxFilterBuilder-filterOperationEndsWith\"),\r\n isBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsBlank\"),\r\n isNotBlank: messageLocalization.format(\"dxFilterBuilder-filterOperationIsNotBlank\")\r\n }\r\n },\r\n filterBuilderPopup: {}\r\n }),\r\n views: {\r\n filterBuilderView: FilterBuilderView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_builder.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterBuilderModule\r\n} from \"../../../grids/grid_core/filter/m_filter_builder\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterBuilder\", filterBuilderModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/filter/m_filter_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n captionize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport CheckBox from \"../../../../ui/check_box\";\r\nimport {\r\n getCaptionByOperation,\r\n getCurrentLookupValueText,\r\n getCurrentValueText,\r\n getCustomOperation,\r\n getField,\r\n getGroupValue,\r\n isCondition,\r\n isGroup\r\n} from \"../../../../ui/filter_builder/utils\";\r\nimport {\r\n registerKeyboardAction\r\n} from \"../m_accessibility\";\r\nimport modules from \"../m_modules\";\r\nimport gridUtils from \"../m_utils\";\r\nvar FILTER_PANEL_CLASS = \"filter-panel\";\r\nvar FILTER_PANEL_TEXT_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-text\");\r\nvar FILTER_PANEL_CHECKBOX_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-checkbox\");\r\nvar FILTER_PANEL_CLEAR_FILTER_CLASS = \"\".concat(FILTER_PANEL_CLASS, \"-clear-filter\");\r\nvar FILTER_PANEL_LEFT_CONTAINER = \"\".concat(FILTER_PANEL_CLASS, \"-left\");\r\nvar FILTER_PANEL_TARGET = \"filterPanel\";\r\nvar FilterPanelView = modules.View.inherit({\r\n isVisible() {\r\n return this.option(\"filterPanel.visible\") && this.getController(\"data\").dataSource()\r\n },\r\n init() {\r\n this.getController(\"data\").dataSourceChanged.add(() => this.render());\r\n this._columnsController = this.getController(\"columns\")\r\n },\r\n _renderCore() {\r\n var $element = this.element();\r\n $element.empty();\r\n var isColumnsDefined = !!this._columnsController.getColumns().length;\r\n if (!isColumnsDefined) {\r\n return\r\n }\r\n $element.addClass(this.addWidgetPrefix(FILTER_PANEL_CLASS));\r\n var $leftContainer = $(\"<div>\").addClass(this.addWidgetPrefix(FILTER_PANEL_LEFT_CONTAINER)).appendTo($element);\r\n this._renderFilterBuilderText($element, $leftContainer)\r\n },\r\n _renderFilterBuilderText($element, $leftContainer) {\r\n var $filterElement = this._getFilterElement();\r\n var $textElement = this._getTextElement();\r\n if (this.option(\"filterValue\") || this._filterValueBuffer) {\r\n var $checkElement = this._getCheckElement();\r\n var $removeButtonElement = this._getRemoveButtonElement();\r\n $leftContainer.append($checkElement).append($filterElement).append($textElement);\r\n $element.append($removeButtonElement);\r\n return\r\n }\r\n $leftContainer.append($filterElement).append($textElement)\r\n },\r\n _getCheckElement() {\r\n var that = this;\r\n var $element = $(\"<div>\").addClass(this.addWidgetPrefix(FILTER_PANEL_CHECKBOX_CLASS));\r\n that._createComponent($element, CheckBox, {\r\n value: that.option(\"filterPanel.filterEnabled\"),\r\n onValueChanged(e) {\r\n that.option(\"filterPanel.filterEnabled\", e.value)\r\n }\r\n });\r\n $element.attr(\"title\", this.option(\"filterPanel.texts.filterEnabledHint\"));\r\n return $element\r\n },\r\n _getFilterElement() {\r\n var that = this;\r\n var $element = $(\"<div>\").addClass(\"dx-icon-filter\");\r\n eventsEngine.on($element, \"click\", () => that._showFilterBuilder());\r\n registerKeyboardAction(\"filterPanel\", that, $element, void 0, () => that._showFilterBuilder());\r\n that._addTabIndexToElement($element);\r\n return $element\r\n },\r\n _getTextElement() {\r\n var that = this;\r\n var $textElement = $(\"<div>\").addClass(that.addWidgetPrefix(FILTER_PANEL_TEXT_CLASS));\r\n var filterText;\r\n var filterValue = that.option(\"filterValue\");\r\n if (filterValue) {\r\n when(that.getFilterText(filterValue, that.getController(\"filterSync\").getCustomFilterOperations())).done(filterText => {\r\n var customizeText = that.option(\"filterPanel.customizeText\");\r\n if (customizeText) {\r\n var customText = customizeText({\r\n component: that.component,\r\n filterValue: filterValue,\r\n text: filterText\r\n });\r\n if (\"string\" === typeof customText) {\r\n filterText = customText\r\n }\r\n }\r\n $textElement.text(filterText)\r\n })\r\n } else {\r\n filterText = that.option(\"filterPanel.texts.createFilter\");\r\n $textElement.text(filterText)\r\n }\r\n eventsEngine.on($textElement, \"click\", () => that._showFilterBuilder());\r\n registerKeyboardAction(\"filterPanel\", that, $textElement, void 0, () => that._showFilterBuilder());\r\n that._addTabIndexToElement($textElement);\r\n return $textElement\r\n },\r\n _showFilterBuilder() {\r\n this.option(\"filterBuilderPopup.visible\", true)\r\n },\r\n _getRemoveButtonElement() {\r\n var that = this;\r\n var clearFilterValue = () => that.option(\"filterValue\", null);\r\n var $element = $(\"<div>\").addClass(that.addWidgetPrefix(FILTER_PANEL_CLEAR_FILTER_CLASS)).text(that.option(\"filterPanel.texts.clearFilter\"));\r\n eventsEngine.on($element, \"click\", clearFilterValue);\r\n registerKeyboardAction(\"filterPanel\", this, $element, void 0, clearFilterValue);\r\n that._addTabIndexToElement($element);\r\n return $element\r\n },\r\n _addTabIndexToElement($element) {\r\n if (!this.option(\"useLegacyKeyboardNavigation\")) {\r\n var tabindex = this.option(\"tabindex\") || 0;\r\n $element.attr(\"tabindex\", tabindex)\r\n }\r\n },\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterValue\":\r\n this._invalidate();\r\n this.option(\"filterPanel.filterEnabled\", true);\r\n args.handled = true;\r\n break;\r\n case \"filterPanel\":\r\n this._invalidate();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getConditionText(fieldText, operationText, valueText) {\r\n var result = \"[\".concat(fieldText, \"] \").concat(operationText);\r\n if (isDefined(valueText)) {\r\n result += valueText\r\n }\r\n return result\r\n },\r\n _getValueMaskedText: value => Array.isArray(value) ? \"('\".concat(value.join(\"', '\"), \"')\") : \" '\".concat(value, \"'\"),\r\n _getValueText(field, customOperation, value) {\r\n var deferred = new Deferred;\r\n var hasCustomOperation = customOperation && customOperation.customizeText;\r\n if (isDefined(value) || hasCustomOperation) {\r\n if (!hasCustomOperation && field.lookup) {\r\n getCurrentLookupValueText(field, value, data => {\r\n deferred.resolve(this._getValueMaskedText(data))\r\n })\r\n } else {\r\n var displayValue = Array.isArray(value) ? value : gridUtils.getDisplayValue(field, value, null);\r\n when(getCurrentValueText(field, displayValue, customOperation, FILTER_PANEL_TARGET)).done(data => {\r\n deferred.resolve(this._getValueMaskedText(data))\r\n })\r\n }\r\n } else {\r\n deferred.resolve(\"\")\r\n }\r\n return deferred.promise()\r\n },\r\n getConditionText(filterValue, options) {\r\n var that = this;\r\n var operation = filterValue[1];\r\n var deferred = new Deferred;\r\n var customOperation = getCustomOperation(options.customOperations, operation);\r\n var operationText;\r\n var field = getField(filterValue[0], options.columns);\r\n var fieldText = field.caption || \"\";\r\n var value = filterValue[2];\r\n if (customOperation) {\r\n operationText = customOperation.caption || captionize(customOperation.name)\r\n } else if (null === value) {\r\n operationText = getCaptionByOperation(\"=\" === operation ? \"isblank\" : \"isnotblank\", options.filterOperationDescriptions)\r\n } else {\r\n operationText = getCaptionByOperation(operation, options.filterOperationDescriptions)\r\n }\r\n this._getValueText(field, customOperation, value).done(valueText => {\r\n deferred.resolve(that._getConditionText(fieldText, operationText, valueText))\r\n });\r\n return deferred\r\n },\r\n getGroupText(filterValue, options, isInnerGroup) {\r\n var that = this;\r\n var result = new Deferred;\r\n var textParts = [];\r\n var groupValue = getGroupValue(filterValue);\r\n filterValue.forEach(item => {\r\n if (isCondition(item)) {\r\n textParts.push(that.getConditionText(item, options))\r\n } else if (isGroup(item)) {\r\n textParts.push(that.getGroupText(item, options, true))\r\n }\r\n });\r\n when.apply(this, textParts).done((function() {\r\n var text;\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (groupValue.startsWith(\"!\")) {\r\n var groupText = options.groupOperationDescriptions[\"not\".concat(groupValue.substring(1, 2).toUpperCase()).concat(groupValue.substring(2))].split(\" \");\r\n text = \"\".concat(groupText[0], \" \").concat(args[0])\r\n } else {\r\n text = args.join(\" \".concat(options.groupOperationDescriptions[groupValue], \" \"))\r\n }\r\n if (isInnerGroup) {\r\n text = \"(\".concat(text, \")\")\r\n }\r\n result.resolve(text)\r\n }));\r\n return result\r\n },\r\n getFilterText(filterValue, customOperations) {\r\n var options = {\r\n customOperations: customOperations,\r\n columns: this.getController(\"columns\").getFilteringColumns(),\r\n filterOperationDescriptions: this.option(\"filterBuilder.filterOperationDescriptions\"),\r\n groupOperationDescriptions: this.option(\"filterBuilder.groupOperationDescriptions\")\r\n };\r\n return isCondition(filterValue) ? this.getConditionText(filterValue, options) : this.getGroupText(filterValue, options)\r\n }\r\n});\r\nexport var filterPanelModule = {\r\n defaultOptions: () => ({\r\n filterPanel: {\r\n visible: false,\r\n filterEnabled: true,\r\n texts: {\r\n createFilter: messageLocalization.format(\"dxDataGrid-filterPanelCreateFilter\"),\r\n clearFilter: messageLocalization.format(\"dxDataGrid-filterPanelClearFilter\"),\r\n filterEnabledHint: messageLocalization.format(\"dxDataGrid-filterPanelFilterEnabledHint\")\r\n }\r\n }\r\n }),\r\n views: {\r\n filterPanelView: FilterPanelView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"filterPanel\":\r\n this._applyFilter();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/filter_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n filterPanelModule\r\n} from \"../../../grids/grid_core/filter/m_filter_panel\";\r\nimport core from \"../m_core\";\r\ncore.registerModule(\"filterPanel\", filterPanelModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/search/m_search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar SEARCH_PANEL_CLASS = \"search-panel\";\r\nvar SEARCH_TEXT_CLASS = \"search-text\";\r\nvar HEADER_PANEL_CLASS = \"header-panel\";\r\nvar FILTERING_TIMEOUT = 700;\r\n\r\nfunction allowSearch(column) {\r\n return isDefined(column.allowSearch) ? column.allowSearch : column.allowFiltering\r\n}\r\n\r\nfunction parseValue(column, text) {\r\n var {\r\n lookup: lookup\r\n } = column;\r\n if (!column.parseValue) {\r\n return text\r\n }\r\n if (lookup) {\r\n return column.parseValue.call(lookup, text)\r\n }\r\n return column.parseValue(text)\r\n}\r\nexport var searchModule = {\r\n defaultOptions: () => ({\r\n searchPanel: {\r\n visible: false,\r\n width: 160,\r\n placeholder: messageLocalization.format(\"dxDataGrid-searchPanelPlaceholder\"),\r\n highlightSearchText: true,\r\n highlightCaseSensitive: false,\r\n text: \"\",\r\n searchVisibleColumnsOnly: false\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n data: {\r\n publicMethods() {\r\n return this.callBase().concat([\"searchByText\"])\r\n },\r\n _calculateAdditionalFilter() {\r\n var filter = this.callBase();\r\n var searchFilter = function(that, text) {\r\n var i;\r\n var column;\r\n var columns = that._columnsController.getColumns();\r\n var searchVisibleColumnsOnly = that.option(\"searchPanel.searchVisibleColumnsOnly\");\r\n var lookup;\r\n var filters = [];\r\n if (!text) {\r\n return null\r\n }\r\n\r\n function onQueryDone(items) {\r\n var valueGetter = compileGetter(lookup.valueExpr);\r\n for (var _i = 0; _i < items.length; _i++) {\r\n var value = valueGetter(items[_i]);\r\n filters.push(column.createFilterExpression(value, null, \"search\"))\r\n }\r\n }\r\n for (i = 0; i < columns.length; i++) {\r\n column = columns[i];\r\n if (searchVisibleColumnsOnly && !column.visible) {\r\n continue\r\n }\r\n if (allowSearch(column) && column.calculateFilterExpression) {\r\n lookup = column.lookup;\r\n var filterValue = parseValue(column, text);\r\n if (lookup && lookup.items) {\r\n dataQuery(lookup.items).filter(column.createFilterExpression.call({\r\n dataField: lookup.displayExpr,\r\n dataType: lookup.dataType,\r\n calculateFilterExpression: column.calculateFilterExpression\r\n }, filterValue, null, \"search\")).enumerate().done(onQueryDone)\r\n } else if (void 0 !== filterValue) {\r\n filters.push(column.createFilterExpression(filterValue, null, \"search\"))\r\n }\r\n }\r\n }\r\n if (0 === filters.length) {\r\n return [\"!\"]\r\n }\r\n return gridCoreUtils.combineFilters(filters, \"or\")\r\n }(this, this.option(\"searchPanel.text\"));\r\n return gridCoreUtils.combineFilters([filter, searchFilter])\r\n },\r\n searchByText(text) {\r\n this.option(\"searchPanel.text\", text)\r\n },\r\n optionChanged(args) {\r\n switch (args.fullName) {\r\n case \"searchPanel.text\":\r\n case \"searchPanel\":\r\n this._applyFilter();\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n },\r\n views: {\r\n headerPanel: function() {\r\n var getSearchPanelOptions = function(that) {\r\n return that.option(\"searchPanel\")\r\n };\r\n return {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n return this._prepareSearchItem(items)\r\n },\r\n _prepareSearchItem(items) {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n var searchPanelOptions = getSearchPanelOptions(that);\r\n if (searchPanelOptions && searchPanelOptions.visible) {\r\n var toolbarItem = {\r\n template(data, index, container) {\r\n var $search = $(\"<div>\").addClass(that.addWidgetPrefix(SEARCH_PANEL_CLASS)).appendTo(container);\r\n that.getController(\"editorFactory\").createEditor($search, {\r\n width: searchPanelOptions.width,\r\n placeholder: searchPanelOptions.placeholder,\r\n parentType: \"searchPanel\",\r\n value: that.option(\"searchPanel.text\"),\r\n updateValueTimeout: FILTERING_TIMEOUT,\r\n setValue(value) {\r\n dataController.searchByText(value)\r\n },\r\n editorOptions: {\r\n inputAttr: {\r\n \"aria-label\": messageLocalization.format(\"\".concat(that.component.NAME, \"-ariaSearchInGrid\"))\r\n }\r\n }\r\n });\r\n that.resize()\r\n },\r\n name: \"searchPanel\",\r\n location: \"after\",\r\n locateInMenu: \"never\",\r\n sortIndex: 40\r\n };\r\n items.push(toolbarItem)\r\n }\r\n return items\r\n },\r\n getSearchTextEditor() {\r\n var that = this;\r\n var $element = that.element();\r\n var $searchPanel = $element.find(\".\".concat(that.addWidgetPrefix(SEARCH_PANEL_CLASS))).filter((function() {\r\n return $(this).closest(\".\".concat(that.addWidgetPrefix(HEADER_PANEL_CLASS))).is($element)\r\n }));\r\n if ($searchPanel.length) {\r\n return $searchPanel.dxTextBox(\"instance\")\r\n }\r\n return null\r\n },\r\n isVisible() {\r\n var searchPanelOptions = getSearchPanelOptions(this);\r\n return this.callBase() || searchPanelOptions && searchPanelOptions.visible\r\n },\r\n optionChanged(args) {\r\n if (\"searchPanel\" === args.name) {\r\n if (\"searchPanel.text\" === args.fullName) {\r\n var editor = this.getSearchTextEditor();\r\n if (editor) {\r\n editor.option(\"value\", args.value)\r\n }\r\n } else {\r\n this._invalidate()\r\n }\r\n args.handled = true\r\n } else {\r\n this.callBase(args)\r\n }\r\n }\r\n }\r\n }(),\r\n rowsView: {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._searchParams = [];\r\n this._dataController = this.getController(\"data\")\r\n },\r\n _getFormattedSearchText(column, searchText) {\r\n var value = parseValue(column, searchText);\r\n var formatOptions = gridCoreUtils.getFormatOptionsByColumn(column, \"search\");\r\n return gridCoreUtils.formatValue(value, formatOptions)\r\n },\r\n _getStringNormalizer() {\r\n var _a, _b, _c, _d;\r\n var isCaseSensitive = this.option(\"searchPanel.highlightCaseSensitive\");\r\n var dataSource = null === (_b = null === (_a = this._dataController) || void 0 === _a ? void 0 : _a.getDataSource) || void 0 === _b ? void 0 : _b.call(_a);\r\n var langParams = null === (_d = null === (_c = null === dataSource || void 0 === dataSource ? void 0 : dataSource.loadOptions) || void 0 === _c ? void 0 : _c.call(dataSource)) || void 0 === _d ? void 0 : _d.langParams;\r\n return str => toComparable(str, isCaseSensitive, langParams)\r\n },\r\n _findHighlightingTextNodes(column, cellElement, searchText) {\r\n var $parent = cellElement.parent();\r\n var $items;\r\n var stringNormalizer = this._getStringNormalizer();\r\n var normalizedSearchText = stringNormalizer(searchText);\r\n var resultTextNodes = [];\r\n if (!$parent.length) {\r\n $parent = $(\"<div>\").append(cellElement)\r\n } else if (column) {\r\n if (column.groupIndex >= 0 && !column.showWhenGrouped) {\r\n $items = cellElement\r\n } else {\r\n var columnIndex = this._columnsController.getVisibleIndex(column.index);\r\n $items = $parent.children(\"td\").eq(columnIndex).find(\"*\")\r\n }\r\n }\r\n $items = (null === $items || void 0 === $items ? void 0 : $items.length) ? $items : $parent.find(\"*\");\r\n $items.each((_, element) => {\r\n var $contents = $(element).contents();\r\n for (var i = 0; i < $contents.length; i++) {\r\n var node = $contents.get(i);\r\n if (3 === node.nodeType) {\r\n var normalizedText = stringNormalizer(node.textContent || node.nodeValue);\r\n if (normalizedText.indexOf(normalizedSearchText) > -1) {\r\n resultTextNodes.push(node)\r\n }\r\n }\r\n }\r\n });\r\n return resultTextNodes\r\n },\r\n _highlightSearchTextCore($textNode, searchText) {\r\n var $searchTextSpan = $(\"<span>\").addClass(this.addWidgetPrefix(SEARCH_TEXT_CLASS));\r\n var text = $textNode.text();\r\n var firstContentElement = $textNode[0];\r\n var stringNormalizer = this._getStringNormalizer();\r\n var index = stringNormalizer(text).indexOf(stringNormalizer(searchText));\r\n if (index >= 0) {\r\n if (firstContentElement.textContent) {\r\n firstContentElement.textContent = text.substr(0, index)\r\n } else {\r\n firstContentElement.nodeValue = text.substr(0, index)\r\n }\r\n $textNode.after($searchTextSpan.text(text.substr(index, searchText.length)));\r\n $textNode = $(domAdapter.createTextNode(text.substr(index + searchText.length))).insertAfter($searchTextSpan);\r\n return this._highlightSearchTextCore($textNode, searchText)\r\n }\r\n },\r\n _highlightSearchText(cellElement, isEquals, column) {\r\n var that = this;\r\n var stringNormalizer = this._getStringNormalizer();\r\n var searchText = that.option(\"searchPanel.text\");\r\n if (isEquals && column) {\r\n searchText = searchText && that._getFormattedSearchText(column, searchText)\r\n }\r\n if (searchText && that.option(\"searchPanel.highlightSearchText\")) {\r\n var textNodes = that._findHighlightingTextNodes(column, cellElement, searchText);\r\n textNodes.forEach(textNode => {\r\n if (isEquals) {\r\n if (stringNormalizer($(textNode).text()) === stringNormalizer(searchText)) {\r\n $(textNode).replaceWith($(\"<span>\").addClass(that.addWidgetPrefix(SEARCH_TEXT_CLASS)).text($(textNode).text()))\r\n }\r\n } else {\r\n that._highlightSearchTextCore($(textNode), searchText)\r\n }\r\n })\r\n }\r\n },\r\n _renderCore() {\r\n var deferred = this.callBase.apply(this, arguments);\r\n if (this.option().rowTemplate || this.option(\"dataRowTemplate\")) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n clearTimeout(this._highlightTimer);\r\n this._highlightTimer = setTimeout(() => {\r\n this._highlightSearchText(this.getTableElement())\r\n })\r\n } else {\r\n this._highlightSearchText(this.getTableElement())\r\n }\r\n }\r\n return deferred\r\n },\r\n _updateCell($cell, parameters) {\r\n var {\r\n column: column\r\n } = parameters;\r\n var dataType = column.lookup && column.lookup.dataType || column.dataType;\r\n var isEquals = \"string\" !== dataType;\r\n if (allowSearch(column) && !parameters.isOnForm) {\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n if (!this._searchParams.length) {\r\n clearTimeout(this._highlightTimer);\r\n this._highlightTimer = setTimeout(() => {\r\n this._searchParams.forEach(params => {\r\n this._highlightSearchText.apply(this, params)\r\n });\r\n this._searchParams = []\r\n })\r\n }\r\n this._searchParams.push([$cell, isEquals, column])\r\n } else {\r\n this._highlightSearchText($cell, isEquals, column)\r\n }\r\n }\r\n this.callBase($cell, parameters)\r\n },\r\n dispose() {\r\n clearTimeout(this._highlightTimer);\r\n this.callBase()\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n searchModule\r\n} from \"../../../grids/grid_core/search/m_search\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"search\", searchModule);\r\n","/**\r\n * DevExtreme (esm/renovation/component_wrapper/grid_pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Component from \"./common/component\";\r\nexport class GridPagerWrapper extends Component {\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"pageIndex\":\r\n var pageIndexChanged = this.option(\"pageIndexChanged\");\r\n if (pageIndexChanged) {\r\n pageIndexChanged(args.value)\r\n }\r\n break;\r\n case \"pageSize\":\r\n var pageSizeChanged = this.option(\"pageSizeChanged\");\r\n if (pageSizeChanged) {\r\n pageSizeChanged(args.value)\r\n }\r\n }\r\n super._optionChanged(args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/utils/get_element_width.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport getElementComputedStyle from \"../../../utils/get_computed_style\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(name, element) {\r\n var _getElementComputedSt;\r\n var computedStyle = null !== (_getElementComputedSt = getElementComputedStyle(element)) && void 0 !== _getElementComputedSt ? _getElementComputedSt : {};\r\n return toNumber(computedStyle[name])\r\n}\r\nexport function getElementContentWidth(element) {\r\n var padding = getElementStyle(\"paddingLeft\", element) + getElementStyle(\"paddingRight\", element);\r\n var width = getElementStyle(\"width\", element);\r\n return width - padding\r\n}\r\nexport function getElementWidth(element) {\r\n var margin = getElementStyle(\"marginLeft\", element) + getElementStyle(\"marginRight\", element);\r\n var width = getElementStyle(\"width\", element);\r\n return margin + width\r\n}\r\nexport function getElementMinWidth(element) {\r\n return getElementStyle(\"minWidth\", element)\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/resizable_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"contentTemplate\", \"pagerProps\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport resizeCallbacks from \"../../../core/utils/resize_callbacks\";\r\nimport {\r\n getElementWidth,\r\n getElementStyle,\r\n getElementContentWidth\r\n} from \"./utils/get_element_width\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n contentAttributes: contentAttributes,\r\n infoTextRef: infoTextRef,\r\n infoTextVisible: infoTextVisible,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSizesRef: pageSizesRef,\r\n pagesRef: pagesRef,\r\n parentRef: parentRef,\r\n props: {\r\n contentTemplate: Content\r\n }\r\n } = _ref;\r\n return Content(_extends({\r\n rootElementRef: parentRef,\r\n pageSizesRef: pageSizesRef,\r\n infoTextRef: infoTextRef,\r\n pagesRef: pagesRef,\r\n infoTextVisible: infoTextVisible,\r\n isLargeDisplayMode: isLargeDisplayMode\r\n }, contentAttributes))\r\n};\r\nexport function calculateLargeDisplayMode(_ref2) {\r\n var {\r\n pageSizes: pageSizesWidth,\r\n pages: pagesWidth,\r\n parent: parentWidth\r\n } = _ref2;\r\n return parentWidth - (pageSizesWidth + pagesWidth) > 0\r\n}\r\nexport function calculateInfoTextVisible(_ref3) {\r\n var {\r\n info: infoWidth,\r\n pageSizes: pageSizesWidth,\r\n pages: pagesWidth,\r\n parent: parentWidth\r\n } = _ref3;\r\n var minimalWidth = pageSizesWidth + pagesWidth + infoWidth;\r\n return parentWidth - minimalWidth > 0\r\n}\r\n\r\nfunction getElementsWidth(_ref4) {\r\n var {\r\n info: info,\r\n pageSizes: pageSizes,\r\n pages: pages,\r\n parent: parent\r\n } = _ref4;\r\n var parentWidth = getElementContentWidth(parent);\r\n var pageSizesWidth = getElementWidth(pageSizes);\r\n var infoWidth = getElementWidth(info);\r\n var pagesHtmlWidth = getElementWidth(pages);\r\n return {\r\n parent: parentWidth,\r\n pageSizes: pageSizesWidth,\r\n info: infoWidth + getElementStyle(\"marginLeft\", info) + getElementStyle(\"marginRight\", info),\r\n pages: pagesHtmlWidth\r\n }\r\n}\r\nexport var ResizableContainerProps = {};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nvar getTemplate = TemplateProp => TemplateProp && (TemplateProp.defaultProps ? props => normalizeProps(createComponentVNode(2, TemplateProp, _extends({}, props))) : TemplateProp);\r\nexport class ResizableContainer extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.parentRef = infernoCreateRef();\r\n this.pageSizesRef = infernoCreateRef();\r\n this.infoTextRef = infernoCreateRef();\r\n this.pagesRef = infernoCreateRef();\r\n this.actualIsLargeDisplayMode = true;\r\n this.actualInfoTextVisible = true;\r\n this.state = {\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n };\r\n this.subscribeToResize = this.subscribeToResize.bind(this);\r\n this.effectUpdateChildProps = this.effectUpdateChildProps.bind(this);\r\n this.updateAdaptivityProps = this.updateAdaptivityProps.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.subscribeToResize, [this.state.infoTextVisible, this.state.isLargeDisplayMode]), new InfernoEffect(this.effectUpdateChildProps, [this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.infoTextVisible, this.state.isLargeDisplayMode]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props, this.state.infoTextVisible, this.state.isLargeDisplayMode, this.props.pagerProps, this.props.contentTemplate])\r\n }\r\n subscribeToResize() {\r\n var callback = () => {\r\n this.parentWidth > 0 && this.updateAdaptivityProps()\r\n };\r\n resizeCallbacks.add(callback);\r\n return () => {\r\n resizeCallbacks.remove(callback)\r\n }\r\n }\r\n effectUpdateChildProps() {\r\n if (this.parentWidth > 0) {\r\n this.updateAdaptivityProps()\r\n }\r\n }\r\n get contentAttributes() {\r\n var {\r\n className: className,\r\n displayMode: displayMode,\r\n gridCompatibility: gridCompatibility,\r\n hasKnownLastPage: hasKnownLastPage,\r\n infoText: infoText,\r\n label: label,\r\n lightModeEnabled: lightModeEnabled,\r\n maxPagesCount: maxPagesCount,\r\n onKeyDown: onKeyDown,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes,\r\n pagesCountText: pagesCountText,\r\n pagesNavigatorVisible: pagesNavigatorVisible,\r\n rtlEnabled: rtlEnabled,\r\n showInfo: showInfo,\r\n showNavigationButtons: showNavigationButtons,\r\n showPageSizes: showPageSizes,\r\n totalCount: totalCount,\r\n visible: visible\r\n } = this.props.pagerProps;\r\n return _extends({}, this.restAttributes, {\r\n pageSize: pageSize,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSizeChange: pageSizeChange,\r\n gridCompatibility: gridCompatibility,\r\n className: className,\r\n showInfo: showInfo,\r\n infoText: infoText,\r\n lightModeEnabled: lightModeEnabled,\r\n displayMode: displayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pagesCountText: pagesCountText,\r\n visible: visible,\r\n hasKnownLastPage: hasKnownLastPage,\r\n pagesNavigatorVisible: pagesNavigatorVisible,\r\n showPageSizes: showPageSizes,\r\n pageSizes: pageSizes,\r\n rtlEnabled: rtlEnabled,\r\n showNavigationButtons: showNavigationButtons,\r\n totalCount: totalCount,\r\n onKeyDown: onKeyDown,\r\n label: label\r\n })\r\n }\r\n get parentWidth() {\r\n return this.parentRef.current ? getElementWidth(this.parentRef.current) : 0\r\n }\r\n updateAdaptivityProps() {\r\n var currentElementsWidth = getElementsWidth({\r\n parent: this.parentRef.current,\r\n pageSizes: this.pageSizesRef.current,\r\n info: this.infoTextRef.current,\r\n pages: this.pagesRef.current\r\n });\r\n if (this.actualInfoTextVisible !== this.state.infoTextVisible || this.actualIsLargeDisplayMode !== this.state.isLargeDisplayMode) {\r\n return\r\n }\r\n var isEmpty = !isDefined(this.elementsWidth);\r\n if (isEmpty) {\r\n this.elementsWidth = {}\r\n }\r\n if (isEmpty || this.state.isLargeDisplayMode) {\r\n this.elementsWidth.pageSizes = currentElementsWidth.pageSizes;\r\n this.elementsWidth.pages = currentElementsWidth.pages\r\n }\r\n if (isEmpty || this.state.infoTextVisible) {\r\n this.elementsWidth.info = currentElementsWidth.info\r\n }\r\n this.actualIsLargeDisplayMode = calculateLargeDisplayMode(_extends({\r\n parent: currentElementsWidth.parent\r\n }, {\r\n pageSizes: this.elementsWidth.pageSizes,\r\n pages: this.elementsWidth.pages\r\n }));\r\n this.actualInfoTextVisible = calculateInfoTextVisible(_extends({}, currentElementsWidth, {\r\n info: this.elementsWidth.info\r\n }));\r\n this.setState(__state_argument => ({\r\n infoTextVisible: this.actualInfoTextVisible\r\n }));\r\n this.setState(__state_argument => ({\r\n isLargeDisplayMode: this.actualIsLargeDisplayMode\r\n }))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n contentTemplate: getTemplate(props.contentTemplate)\r\n }),\r\n infoTextVisible: this.state.infoTextVisible,\r\n isLargeDisplayMode: this.state.isLargeDisplayMode,\r\n parentRef: this.parentRef,\r\n pageSizesRef: this.pageSizesRef,\r\n infoTextRef: this.infoTextRef,\r\n pagesRef: this.pagesRef,\r\n contentAttributes: this.contentAttributes,\r\n parentWidth: this.parentWidth,\r\n updateAdaptivityProps: this.updateAdaptivityProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nResizableContainer.defaultProps = ResizableContainerProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/base_pager_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport messageLocalization from \"../../../../localization/message\";\r\nexport var BasePagerProps = {\r\n gridCompatibility: true,\r\n showInfo: false,\r\n displayMode: \"adaptive\",\r\n maxPagesCount: 10,\r\n pageCount: 10,\r\n visible: true,\r\n hasKnownLastPage: true,\r\n pagesNavigatorVisible: \"auto\",\r\n showPageSizes: true,\r\n pageSizes: Object.freeze([5, 10]),\r\n showNavigationButtons: false,\r\n totalCount: 0,\r\n get label() {\r\n return messageLocalization.format(\"dxPager-ariaLabel\")\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/pager_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n BasePagerProps\r\n} from \"./base_pager_props\";\r\nexport var PagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BasePagerProps), Object.getOwnPropertyDescriptors({\r\n defaultPageSize: 5,\r\n pageSizeChange: () => {},\r\n defaultPageIndex: 1,\r\n pageIndexChange: () => {}\r\n})));\r\nexport var InternalPagerProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(BasePagerProps), Object.getOwnPropertyDescriptors({\r\n pageSize: 5,\r\n pageIndex: 1\r\n})));\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/info.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"infoText\", \"pageCount\", \"pageIndex\", \"rootElementRef\", \"totalCount\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport messageLocalization from \"../../../localization/message\";\r\nimport {\r\n InternalPagerProps\r\n} from \"./common/pager_props\";\r\nexport var PAGER_INFO_CLASS = \"dx-info\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n rootElementRef: rootElementRef\r\n },\r\n text: text\r\n } = _ref;\r\n return createVNode(1, \"div\", PAGER_INFO_CLASS, text, 0, null, null, rootElementRef)\r\n};\r\nexport var InfoTextProps = {};\r\nvar InfoTextPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get totalCount() {\r\n return InternalPagerProps.totalCount\r\n }\r\n};\r\nexport class InfoText extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get infoText() {\r\n var _this$props$infoText;\r\n return (null !== (_this$props$infoText = this.props.infoText) && void 0 !== _this$props$infoText ? _this$props$infoText : \"\") || messageLocalization.getFormatter(\"dxPager-infoText\")()\r\n }\r\n get text() {\r\n var {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n } = this.props;\r\n return format(this.infoText, (pageIndex + 1).toString(), pageCount.toString(), totalCount.toString())\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n infoText: this.infoText,\r\n text: this.text,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nInfoText.defaultProps = InfoTextPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/keyboard_action_context.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n createContext\r\n} from \"@devextreme/runtime/inferno\";\r\nexport var KeyboardActionContext = createContext(void 0);\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/light_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"children\", \"className\", \"label\", \"onClick\", \"selected\", \"tabIndex\"];\r\nimport {\r\n createVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n subscribeToClickEvent\r\n} from \"../../../utils/subscribe_to_event\";\r\nimport {\r\n KeyboardActionContext\r\n} from \"./keyboard_action_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n children: children,\r\n className: className,\r\n label: label,\r\n selected: selected,\r\n tabIndex: tabIndex\r\n },\r\n widgetRef: widgetRef\r\n } = _ref;\r\n return createVNode(1, \"div\", className, children, 0, {\r\n tabIndex: tabIndex,\r\n role: \"button\",\r\n \"aria-label\": label,\r\n \"aria-current\": selected ? \"page\" : void 0\r\n }, null, widgetRef)\r\n};\r\nexport var LightButtonProps = {\r\n className: \"\",\r\n label: \"\",\r\n tabIndex: 0,\r\n selected: false\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class LightButton extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRef = infernoCreateRef();\r\n this.keyboardEffect = this.keyboardEffect.bind(this);\r\n this.subscribeToClick = this.subscribeToClick.bind(this)\r\n }\r\n get keyboardContext() {\r\n if (this.context[KeyboardActionContext.id]) {\r\n return this.context[KeyboardActionContext.id]\r\n }\r\n return KeyboardActionContext.defaultValue\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.keyboardEffect, [this.keyboardContext, this.props.onClick]), new InfernoEffect(this.subscribeToClick, [this.props.onClick])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$, _this$_effects$2;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.keyboardContext, this.props.onClick]);\r\n null === (_this$_effects$2 = this._effects[1]) || void 0 === _this$_effects$2 ? void 0 : _this$_effects$2.update([this.props.onClick])\r\n }\r\n keyboardEffect() {\r\n return this.keyboardContext.registerKeyboardAction(this.widgetRef.current, this.props.onClick)\r\n }\r\n subscribeToClick() {\r\n return subscribeToClickEvent(this.widgetRef.current, this.props.onClick)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRef: this.widgetRef,\r\n keyboardContext: this.keyboardContext,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nLightButton.defaultProps = LightButtonProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/common/consts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var PAGER_CLASS = \"dx-pager\";\r\nexport var LIGHT_MODE_CLASS = \"dx-light-mode\";\r\nexport var PAGER_PAGES_CLASS = \"dx-pages\";\r\nexport var PAGER_PAGE_INDEXES_CLASS = \"dx-page-indexes\";\r\nexport var PAGER_PAGE_CLASS = \"dx-page\";\r\nexport var PAGER_SELECTION_CLASS = \"dx-selection\";\r\nexport var PAGER_PAGE_SIZE_CLASS = \"dx-page-size\";\r\nexport var PAGER_PAGE_SIZES_CLASS = \"dx-page-sizes\";\r\nexport var PAGER_SELECTED_PAGE_SIZE_CLASS = \"\".concat(PAGER_PAGE_SIZE_CLASS, \" \").concat(PAGER_SELECTION_CLASS);\r\nexport var FIRST_CHILD_CLASS = \"dx-first-child\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/page.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"className\", \"index\", \"onClick\", \"selected\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n PAGER_PAGE_CLASS,\r\n PAGER_SELECTION_CLASS\r\n} from \"../common/consts\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n className: className,\r\n label: label,\r\n props: {\r\n onClick: onClick,\r\n selected: selected\r\n },\r\n value: value\r\n } = _ref;\r\n return createComponentVNode(2, LightButton, {\r\n className: className,\r\n label: label,\r\n onClick: onClick,\r\n selected: selected,\r\n children: value\r\n })\r\n};\r\nexport var PageProps = {\r\n index: 0,\r\n selected: false,\r\n className: PAGER_PAGE_CLASS\r\n};\r\nexport class Page extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n get label() {\r\n return format(messageLocalization.getFormatter(\"dxPager-page\"), this.value)\r\n }\r\n get value() {\r\n return this.props.index + 1\r\n }\r\n get className() {\r\n var {\r\n selected: selected\r\n } = this.props;\r\n return combineClasses({\r\n [\"\".concat(this.props.className)]: !!this.props.className,\r\n [PAGER_SELECTION_CLASS]: !!selected\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n label: this.label,\r\n value: this.value,\r\n className: this.className,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPage.defaultProps = PageProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/large.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"pageIndexes\"],\r\n _excluded2 = [\"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\"];\r\nimport {\r\n createVNode,\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Page\r\n} from \"./page\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../../common/config_context\";\r\nvar PAGER_PAGE_SEPARATOR_CLASS = \"dx-separator\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pages: pages\r\n } = _ref;\r\n var PagesMarkup = pages.map(_ref2 => {\r\n var {\r\n key: key,\r\n pageProps: pageProps\r\n } = _ref2;\r\n return pageProps ? createComponentVNode(2, Page, {\r\n index: pageProps.index,\r\n selected: pageProps.selected,\r\n onClick: pageProps.onClick\r\n }, key) : createVNode(1, \"div\", PAGER_PAGE_SEPARATOR_CLASS, \". . .\", 16, null, key)\r\n });\r\n return createFragment(PagesMarkup, 0)\r\n};\r\nvar PAGES_LIMITER = 4;\r\n\r\nfunction getDelimiterType(startIndex, slidingWindowSize, pageCount) {\r\n if (1 === startIndex) {\r\n return \"high\"\r\n }\r\n if (startIndex + slidingWindowSize === pageCount - 1) {\r\n return \"low\"\r\n }\r\n return \"both\"\r\n}\r\n\r\nfunction createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter) {\r\n var pageIndexes = [];\r\n var indexesForReuse = [];\r\n switch (delimiter) {\r\n case \"none\":\r\n pageIndexes = [...slidingWindowIndexes];\r\n break;\r\n case \"both\":\r\n pageIndexes = [0, \"low\", ...slidingWindowIndexes, \"high\", pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(1, -1);\r\n break;\r\n case \"high\":\r\n pageIndexes = [0, ...slidingWindowIndexes, \"high\", pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(0, -1);\r\n break;\r\n case \"low\":\r\n pageIndexes = [0, \"low\", ...slidingWindowIndexes, pageCount - 1];\r\n indexesForReuse = slidingWindowIndexes.slice(1)\r\n }\r\n return {\r\n slidingWindowIndexes: slidingWindowIndexes,\r\n indexesForReuse: indexesForReuse,\r\n pageIndexes: pageIndexes\r\n }\r\n}\r\n\r\nfunction createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter) {\r\n var slidingWindowIndexes = [];\r\n for (var i = 0; i < slidingWindowSize; i += 1) {\r\n slidingWindowIndexes.push(i + startIndex)\r\n }\r\n return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter)\r\n}\r\nvar PagesLargePropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get maxPagesCount() {\r\n return InternalPagerProps.maxPagesCount\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n }\r\n};\r\nexport class PagesLarge extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.canReuseSlidingWindow = this.canReuseSlidingWindow.bind(this);\r\n this.generatePageIndexes = this.generatePageIndexes.bind(this);\r\n this.isSlidingWindowMode = this.isSlidingWindowMode.bind(this);\r\n this.onPageClick = this.onPageClick.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n get slidingWindowState() {\r\n var slidingWindowState = this.slidingWindowStateHolder;\r\n if (!slidingWindowState) {\r\n return {\r\n indexesForReuse: [],\r\n slidingWindowIndexes: []\r\n }\r\n }\r\n return slidingWindowState\r\n }\r\n canReuseSlidingWindow(currentPageCount, pageIndex) {\r\n var {\r\n indexesForReuse: indexesForReuse\r\n } = this.slidingWindowState;\r\n var lastPageIsFartherThanWindow = indexesForReuse.slice(-1)[0] < currentPageCount - 1;\r\n var pageIndexExistInIndexes = indexesForReuse.includes(pageIndex);\r\n return lastPageIsFartherThanWindow && pageIndexExistInIndexes\r\n }\r\n generatePageIndexes() {\r\n var {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex\r\n } = this.props;\r\n var startIndex = 0;\r\n var {\r\n slidingWindowIndexes: slidingWindowIndexes\r\n } = this.slidingWindowState;\r\n if (pageIndex === slidingWindowIndexes[0]) {\r\n startIndex = pageIndex - 1\r\n } else if (pageIndex === slidingWindowIndexes[slidingWindowIndexes.length - 1]) {\r\n startIndex = pageIndex + 2 - PAGES_LIMITER\r\n } else if (pageIndex < PAGES_LIMITER) {\r\n startIndex = 1\r\n } else if (pageIndex >= pageCount - PAGES_LIMITER) {\r\n startIndex = pageCount - PAGES_LIMITER - 1\r\n } else {\r\n startIndex = pageIndex - 1\r\n }\r\n var slidingWindowSize = PAGES_LIMITER;\r\n var delimiter = getDelimiterType(startIndex, slidingWindowSize, pageCount);\r\n var _createPageIndexes = createPageIndexes(startIndex, slidingWindowSize, pageCount, delimiter),\r\n {\r\n pageIndexes: pageIndexes\r\n } = _createPageIndexes,\r\n slidingWindowState = _objectWithoutPropertiesLoose(_createPageIndexes, _excluded);\r\n this.slidingWindowStateHolder = slidingWindowState;\r\n return pageIndexes\r\n }\r\n isSlidingWindowMode() {\r\n var {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount\r\n } = this.props;\r\n return pageCount <= PAGES_LIMITER || pageCount <= maxPagesCount\r\n }\r\n onPageClick(pageIndex) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n get pageIndexes() {\r\n var {\r\n pageCount: pageCount\r\n } = this.props;\r\n if (this.isSlidingWindowMode()) {\r\n return createPageIndexes(0, pageCount, pageCount, \"none\").pageIndexes\r\n }\r\n if (this.canReuseSlidingWindow(pageCount, this.props.pageIndex)) {\r\n var {\r\n slidingWindowIndexes: slidingWindowIndexes\r\n } = this.slidingWindowState;\r\n var delimiter = getDelimiterType(slidingWindowIndexes[0], PAGES_LIMITER, pageCount);\r\n return createPageIndexesBySlidingWindowIndexes(slidingWindowIndexes, pageCount, delimiter).pageIndexes\r\n }\r\n return this.generatePageIndexes()\r\n }\r\n get pages() {\r\n var _this$config;\r\n var {\r\n pageIndex: pageIndex\r\n } = this.props;\r\n var createPage = index => {\r\n var pagerProps = \"low\" === index || \"high\" === index ? null : {\r\n index: index,\r\n onClick: () => this.onPageClick(index),\r\n selected: pageIndex === index\r\n };\r\n return {\r\n key: index.toString(),\r\n pageProps: pagerProps\r\n }\r\n };\r\n var rtlPageIndexes = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? [...this.pageIndexes].reverse() : this.pageIndexes;\r\n return rtlPageIndexes.map(index => createPage(index))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded2);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n pageIndexes: this.pageIndexes,\r\n pages: this.pages,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagesLarge.defaultProps = PagesLargePropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor_state_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nexport var EditorStateProps = {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n get focusStateEnabled() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/common/editor_label_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isMaterial,\r\n current\r\n} from \"../../../../ui/themes\";\r\nexport var EditorLabelProps = {\r\n label: \"\",\r\n get labelMode() {\r\n return isMaterial(current()) ? \"floating\" : \"static\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/number_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"className\", \"defaultValue\", \"disabled\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"invalidValueMessage\", \"isValid\", \"label\", \"labelMode\", \"max\", \"min\", \"mode\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"readOnly\", \"rtlEnabled\", \"showSpinButtons\", \"step\", \"tabIndex\", \"useLargeSpinButtons\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"visible\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacyNumberBox from \"../../../ui/number_box\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../common/dom_component_wrapper\";\r\nimport {\r\n EditorProps\r\n} from \"./common/editor\";\r\nimport {\r\n EditorStateProps\r\n} from \"./common/editor_state_props\";\r\nimport {\r\n EditorLabelProps\r\n} from \"./common/editor_label_props\";\r\nvar DEFAULT_VALUE = 0;\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacyNumberBox,\r\n componentProps: componentProps,\r\n templateNames: []\r\n }, restAttributes)))\r\n};\r\nexport var NumberBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n defaultValue: DEFAULT_VALUE,\r\n isReactComponentWrapper: true\r\n})));\r\nexport var NumberBoxPropsType = {\r\n get defaultValue() {\r\n return NumberBoxProps.defaultValue\r\n },\r\n get readOnly() {\r\n return NumberBoxProps.readOnly\r\n },\r\n get name() {\r\n return NumberBoxProps.name\r\n },\r\n get validationError() {\r\n return NumberBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return NumberBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return NumberBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return NumberBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return NumberBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return NumberBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return NumberBoxProps.inputAttr\r\n },\r\n get className() {\r\n return NumberBoxProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorStateProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return NumberBoxProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorStateProps.focusStateEnabled\r\n },\r\n get hoverStateEnabled() {\r\n return EditorStateProps.hoverStateEnabled\r\n },\r\n get tabIndex() {\r\n return NumberBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return NumberBoxProps.visible\r\n },\r\n get label() {\r\n return EditorLabelProps.label\r\n },\r\n get labelMode() {\r\n return EditorLabelProps.labelMode\r\n },\r\n isReactComponentWrapper: true\r\n};\r\nexport class NumberBox extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n }\r\n }\r\n get componentProps() {\r\n return _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nNumberBox.defaultProps = NumberBoxPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/utils/calculate_values_fitted_width.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var oneDigitWidth = 10;\r\nexport function calculateValuesFittedWidth(minWidth, values) {\r\n return minWidth + oneDigitWidth * Math.max(...values).toString().length\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/small.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"inputAttr\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n Page\r\n} from \"./page\";\r\nimport {\r\n PAGER_INFO_CLASS\r\n} from \"../info\";\r\nimport {\r\n NumberBox\r\n} from \"../../editors/number_box\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n calculateValuesFittedWidth\r\n} from \"../utils/calculate_values_fitted_width\";\r\nimport {\r\n getElementMinWidth\r\n} from \"../utils/get_element_width\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nvar PAGER_INFO_TEXT_CLASS = \"\".concat(PAGER_INFO_CLASS, \" dx-info-text\");\r\nvar PAGER_PAGE_INDEX_CLASS = \"dx-page-index\";\r\nvar LIGHT_PAGES_CLASS = \"dx-light-pages\";\r\nvar PAGER_PAGES_COUNT_CLASS = \"dx-pages-count\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pageIndexRef: pageIndexRef,\r\n pagesCountText: pagesCountText,\r\n props: {\r\n inputAttr: inputAttr,\r\n pageCount: pageCount\r\n },\r\n selectLastPageIndex: selectLastPageIndex,\r\n value: value,\r\n valueChange: valueChange,\r\n width: width\r\n } = _ref;\r\n return createVNode(1, \"div\", LIGHT_PAGES_CLASS, [createComponentVNode(2, NumberBox, {\r\n className: PAGER_PAGE_INDEX_CLASS,\r\n min: 1,\r\n max: pageCount,\r\n width: width,\r\n value: value,\r\n valueChange: valueChange,\r\n inputAttr: inputAttr\r\n }), createVNode(1, \"span\", PAGER_INFO_TEXT_CLASS, pagesCountText, 0), createComponentVNode(2, Page, {\r\n className: PAGER_PAGES_COUNT_CLASS,\r\n selected: false,\r\n index: pageCount - 1,\r\n onClick: selectLastPageIndex\r\n })], 4, null, null, pageIndexRef)\r\n};\r\nexport var PagerSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": messageLocalization.format(\"dxPager-ariaPageNumber\")\r\n })\r\n};\r\nvar PagerSmallPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get inputAttr() {\r\n return PagerSmallProps.inputAttr\r\n }\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PagesSmall extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.pageIndexRef = infernoCreateRef();\r\n this.state = {\r\n minWidth: 10\r\n };\r\n this.updateWidth = this.updateWidth.bind(this);\r\n this.selectLastPageIndex = this.selectLastPageIndex.bind(this);\r\n this.valueChange = this.valueChange.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateWidth, [this.state.minWidth])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.state.minWidth])\r\n }\r\n updateWidth() {\r\n var _this$pageIndexRef$cu;\r\n var el = null === (_this$pageIndexRef$cu = this.pageIndexRef.current) || void 0 === _this$pageIndexRef$cu ? void 0 : _this$pageIndexRef$cu.querySelector(\".\".concat(PAGER_PAGE_INDEX_CLASS));\r\n this.setState(__state_argument => ({\r\n minWidth: el && getElementMinWidth(el) || __state_argument.minWidth\r\n }))\r\n }\r\n get value() {\r\n return this.props.pageIndex + 1\r\n }\r\n get width() {\r\n var {\r\n pageCount: pageCount\r\n } = this.props;\r\n return calculateValuesFittedWidth(this.state.minWidth, [pageCount])\r\n }\r\n get pagesCountText() {\r\n var _this$props$pagesCoun;\r\n return (null !== (_this$props$pagesCoun = this.props.pagesCountText) && void 0 !== _this$props$pagesCoun ? _this$props$pagesCoun : \"\") || messageLocalization.getFormatter(\"dxPager-pagesCountText\")()\r\n }\r\n selectLastPageIndex() {\r\n this.props.pageIndexChange(this.props.pageCount - 1)\r\n }\r\n valueChange(value) {\r\n this.props.pageIndexChange(value - 1)\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n pageIndexRef: this.pageIndexRef,\r\n value: this.value,\r\n width: this.width,\r\n pagesCountText: this.pagesCountText,\r\n selectLastPageIndex: this.selectLastPageIndex,\r\n valueChange: this.valueChange,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagesSmall.defaultProps = PagerSmallPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pages/page_index_selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"hasKnownLastPage\", \"isLargeDisplayMode\", \"maxPagesCount\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pagesCountText\", \"showNavigationButtons\", \"totalCount\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n PagesLarge\r\n} from \"./large\";\r\nimport {\r\n PagesSmall\r\n} from \"./small\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n ConfigContext\r\n} from \"../../../common/config_context\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nvar PAGER_NAVIGATE_BUTTON = \"dx-navigate-button\";\r\nvar PAGER_PREV_BUTTON_CLASS = \"dx-prev-button\";\r\nvar PAGER_NEXT_BUTTON_CLASS = \"dx-next-button\";\r\nexport var PAGER_BUTTON_DISABLE_CLASS = \"dx-button-disable\";\r\nvar getNextButtonLabel = () => messageLocalization.getFormatter(\"dxPager-nextPage\")();\r\nvar getPrevButtonLabel = () => messageLocalization.getFormatter(\"dxPager-prevPage\")();\r\nvar classNames = {\r\n nextEnabledClass: \"\".concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_NEXT_BUTTON_CLASS),\r\n prevEnabledClass: \"\".concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_PREV_BUTTON_CLASS),\r\n nextDisabledClass: \"\".concat(PAGER_BUTTON_DISABLE_CLASS, \" \").concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_NEXT_BUTTON_CLASS),\r\n prevDisabledClass: \"\".concat(PAGER_BUTTON_DISABLE_CLASS, \" \").concat(PAGER_NAVIGATE_BUTTON, \" \").concat(PAGER_PREV_BUTTON_CLASS)\r\n};\r\nvar reverseDirections = {\r\n next: \"prev\",\r\n prev: \"next\"\r\n};\r\nexport var viewFunction = _ref => {\r\n var {\r\n nextButtonProps: nextButtonProps,\r\n pageIndexChange: pageIndexChange,\r\n prevButtonProps: prevButtonProps,\r\n props: {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pagesCountText: pagesCountText\r\n },\r\n renderNextButton: renderNextButton,\r\n renderPrevButton: renderPrevButton\r\n } = _ref;\r\n return createFragment([renderPrevButton && createComponentVNode(2, LightButton, {\r\n label: getPrevButtonLabel(),\r\n className: prevButtonProps.className,\r\n tabIndex: prevButtonProps.tabIndex,\r\n onClick: prevButtonProps.navigate\r\n }), isLargeDisplayMode && createComponentVNode(2, PagesLarge, {\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange\r\n }), !isLargeDisplayMode && createComponentVNode(2, PagesSmall, {\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText\r\n }), renderNextButton && createComponentVNode(2, LightButton, {\r\n label: getNextButtonLabel(),\r\n className: nextButtonProps.className,\r\n tabIndex: nextButtonProps.tabIndex,\r\n onClick: nextButtonProps.navigate\r\n })], 0)\r\n};\r\n\r\nfunction getIncrement(direction) {\r\n return \"next\" === direction ? 1 : -1\r\n}\r\nexport var PageIndexSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageIndexSelectorPropsType = {\r\n get pageIndex() {\r\n return InternalPagerProps.pageIndex\r\n },\r\n get maxPagesCount() {\r\n return InternalPagerProps.maxPagesCount\r\n },\r\n get pageCount() {\r\n return InternalPagerProps.pageCount\r\n },\r\n get hasKnownLastPage() {\r\n return InternalPagerProps.hasKnownLastPage\r\n },\r\n get showNavigationButtons() {\r\n return InternalPagerProps.showNavigationButtons\r\n },\r\n get totalCount() {\r\n return InternalPagerProps.totalCount\r\n },\r\n get isLargeDisplayMode() {\r\n return PageIndexSelectorProps.isLargeDisplayMode\r\n }\r\n};\r\nexport class PageIndexSelector extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.pageIndexChange = this.pageIndexChange.bind(this);\r\n this.getButtonProps = this.getButtonProps.bind(this);\r\n this.canNavigateToPage = this.canNavigateToPage.bind(this);\r\n this.getNextPageIndex = this.getNextPageIndex.bind(this);\r\n this.canNavigateTo = this.canNavigateTo.bind(this);\r\n this.navigateToPage = this.navigateToPage.bind(this)\r\n }\r\n get config() {\r\n if (this.context[ConfigContext.id]) {\r\n return this.context[ConfigContext.id]\r\n }\r\n return ConfigContext.defaultValue\r\n }\r\n pageIndexChange(pageIndex) {\r\n if (this.canNavigateToPage(pageIndex)) {\r\n this.props.pageIndexChange(pageIndex)\r\n }\r\n }\r\n getButtonProps(direction) {\r\n var _this$config;\r\n var rtlAwareDirection = null !== (_this$config = this.config) && void 0 !== _this$config && _this$config.rtlEnabled ? reverseDirections[direction] : direction;\r\n var canNavigate = this.canNavigateTo(rtlAwareDirection);\r\n var className = classNames[\"\".concat(direction).concat(canNavigate ? \"Enabled\" : \"Disabled\", \"Class\")];\r\n return {\r\n className: className,\r\n tabIndex: canNavigate ? 0 : -1,\r\n navigate: () => this.navigateToPage(rtlAwareDirection)\r\n }\r\n }\r\n canNavigateToPage(pageIndex) {\r\n if (!this.props.hasKnownLastPage) {\r\n return pageIndex >= 0\r\n }\r\n return pageIndex >= 0 && pageIndex <= this.props.pageCount - 1\r\n }\r\n getNextPageIndex(direction) {\r\n return this.props.pageIndex + getIncrement(direction)\r\n }\r\n canNavigateTo(direction) {\r\n return this.canNavigateToPage(this.getNextPageIndex(direction))\r\n }\r\n navigateToPage(direction) {\r\n this.pageIndexChange(this.getNextPageIndex(direction))\r\n }\r\n get renderPrevButton() {\r\n var {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n showNavigationButtons: showNavigationButtons\r\n } = this.props;\r\n return !isLargeDisplayMode || showNavigationButtons\r\n }\r\n get renderNextButton() {\r\n return this.renderPrevButton || !this.props.hasKnownLastPage\r\n }\r\n get prevButtonProps() {\r\n if (void 0 !== this.__getterCache.prevButtonProps) {\r\n return this.__getterCache.prevButtonProps\r\n }\r\n return this.__getterCache.prevButtonProps = (() => this.getButtonProps(\"prev\"))()\r\n }\r\n get nextButtonProps() {\r\n if (void 0 !== this.__getterCache.nextButtonProps) {\r\n return this.__getterCache.nextButtonProps\r\n }\r\n return this.__getterCache.nextButtonProps = (() => this.getButtonProps(\"next\"))()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.context[ConfigContext.id] !== context[ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) {\r\n this.__getterCache.prevButtonProps = void 0\r\n }\r\n if (this.context[ConfigContext.id] !== context[ConfigContext.id] || this.props.hasKnownLastPage !== nextProps.hasKnownLastPage || this.props.pageCount !== nextProps.pageCount || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange) {\r\n this.__getterCache.nextButtonProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n config: this.config,\r\n pageIndexChange: this.pageIndexChange,\r\n renderPrevButton: this.renderPrevButton,\r\n renderNextButton: this.renderNextButton,\r\n prevButtonProps: this.prevButtonProps,\r\n nextButtonProps: this.nextButtonProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageIndexSelector.defaultProps = PageIndexSelectorPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/editors/drop_down_editors/select_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"accessKey\", \"activeStateEnabled\", \"className\", \"dataSource\", \"defaultValue\", \"disabled\", \"displayExpr\", \"focusStateEnabled\", \"height\", \"hint\", \"hoverStateEnabled\", \"inputAttr\", \"isValid\", \"label\", \"labelMode\", \"name\", \"onClick\", \"onFocusIn\", \"onKeyDown\", \"placeholder\", \"readOnly\", \"rtlEnabled\", \"searchEnabled\", \"tabIndex\", \"validationError\", \"validationErrors\", \"validationMessageMode\", \"validationMessagePosition\", \"validationStatus\", \"value\", \"valueChange\", \"valueExpr\", \"visible\", \"width\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport LegacySelectBox from \"../../../../ui/select_box\";\r\nimport {\r\n DomComponentWrapper\r\n} from \"../../common/dom_component_wrapper\";\r\nimport {\r\n EditorProps\r\n} from \"../common/editor\";\r\nimport {\r\n EditorStateProps\r\n} from \"../common/editor_state_props\";\r\nimport {\r\n EditorLabelProps\r\n} from \"../common/editor_label_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n componentProps: componentProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, DomComponentWrapper, _extends({\r\n componentType: LegacySelectBox,\r\n componentProps: componentProps,\r\n templateNames: [\"dropDownButtonTemplate\", \"groupTemplate\", \"itemTemplate\"]\r\n }, restAttributes)))\r\n};\r\nexport var SelectBoxProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(EditorProps), Object.getOwnPropertyDescriptors({\r\n placeholder: \"\",\r\n hoverStateEnabled: true,\r\n searchEnabled: false,\r\n defaultValue: null,\r\n isReactComponentWrapper: true\r\n})));\r\nexport var SelectBoxPropsType = {\r\n get placeholder() {\r\n return SelectBoxProps.placeholder\r\n },\r\n get hoverStateEnabled() {\r\n return EditorStateProps.hoverStateEnabled\r\n },\r\n get searchEnabled() {\r\n return SelectBoxProps.searchEnabled\r\n },\r\n get defaultValue() {\r\n return SelectBoxProps.defaultValue\r\n },\r\n get readOnly() {\r\n return SelectBoxProps.readOnly\r\n },\r\n get name() {\r\n return SelectBoxProps.name\r\n },\r\n get validationError() {\r\n return SelectBoxProps.validationError\r\n },\r\n get validationErrors() {\r\n return SelectBoxProps.validationErrors\r\n },\r\n get validationMessageMode() {\r\n return SelectBoxProps.validationMessageMode\r\n },\r\n get validationMessagePosition() {\r\n return SelectBoxProps.validationMessagePosition\r\n },\r\n get validationStatus() {\r\n return SelectBoxProps.validationStatus\r\n },\r\n get isValid() {\r\n return SelectBoxProps.isValid\r\n },\r\n get inputAttr() {\r\n return SelectBoxProps.inputAttr\r\n },\r\n get className() {\r\n return SelectBoxProps.className\r\n },\r\n get activeStateEnabled() {\r\n return EditorStateProps.activeStateEnabled\r\n },\r\n get disabled() {\r\n return SelectBoxProps.disabled\r\n },\r\n get focusStateEnabled() {\r\n return EditorStateProps.focusStateEnabled\r\n },\r\n get tabIndex() {\r\n return SelectBoxProps.tabIndex\r\n },\r\n get visible() {\r\n return SelectBoxProps.visible\r\n },\r\n get label() {\r\n return EditorLabelProps.label\r\n },\r\n get labelMode() {\r\n return EditorLabelProps.labelMode\r\n },\r\n isReactComponentWrapper: true\r\n};\r\nexport class SelectBox extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: void 0 !== this.props.value ? this.props.value : this.props.defaultValue\r\n }\r\n }\r\n get componentProps() {\r\n return _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n })\r\n }\r\n get restAttributes() {\r\n var _this$props$value = _extends({}, this.props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$value, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n value: void 0 !== this.props.value ? this.props.value : this.state.value\r\n }),\r\n componentProps: this.componentProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nSelectBox.defaultProps = SelectBoxPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/small.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"inputAttr\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"parentRef\"];\r\nimport {\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n SelectBox\r\n} from \"../../editors/drop_down_editors/select_box\";\r\nimport {\r\n calculateValuesFittedWidth\r\n} from \"../utils/calculate_values_fitted_width\";\r\nimport {\r\n getElementMinWidth\r\n} from \"../utils/get_element_width\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n props: {\r\n inputAttr: inputAttr,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n },\r\n width: width\r\n } = _ref;\r\n return createComponentVNode(2, SelectBox, {\r\n displayExpr: \"text\",\r\n valueExpr: \"value\",\r\n dataSource: pageSizes,\r\n value: pageSize,\r\n valueChange: pageSizeChange,\r\n width: width,\r\n inputAttr: inputAttr\r\n })\r\n};\r\nexport var PageSizeSmallProps = {\r\n inputAttr: Object.freeze({\r\n \"aria-label\": messageLocalization.format(\"dxPager-ariaPageSize\")\r\n })\r\n};\r\nvar PageSizeSmallPropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n },\r\n get inputAttr() {\r\n return PageSizeSmallProps.inputAttr\r\n }\r\n};\r\nexport class PageSizeSmall extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n minWidth: 10\r\n };\r\n this.updateWidth = this.updateWidth.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.updateWidth, [this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])]\r\n }\r\n updateEffects() {\r\n var _this$_effects$;\r\n null === (_this$_effects$ = this._effects[0]) || void 0 === _this$_effects$ ? void 0 : _this$_effects$.update([this.props, this.state.minWidth, this.props.pageSize, this.props.pageSizeChange, this.props.pageSizes, this.props.inputAttr])\r\n }\r\n updateWidth() {\r\n this.setState(__state_argument => ({\r\n minWidth: getElementMinWidth(this.props.parentRef.current) || __state_argument.minWidth\r\n }))\r\n }\r\n get width() {\r\n return calculateValuesFittedWidth(this.state.minWidth, this.props.pageSizes.map(p => p.value))\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n width: this.width,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeSmall.defaultProps = PageSizeSmallPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/large.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"pageSize\", \"pageSizeChange\", \"pageSizes\"];\r\nimport {\r\n createFragment,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n Fragment\r\n} from \"inferno\";\r\nimport {\r\n BaseInfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n combineClasses\r\n} from \"../../../utils/combine_classes\";\r\nimport {\r\n LightButton\r\n} from \"../common/light_button\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport {\r\n PAGER_SELECTED_PAGE_SIZE_CLASS,\r\n PAGER_PAGE_SIZE_CLASS,\r\n FIRST_CHILD_CLASS\r\n} from \"../common/consts\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pageSizesText: pageSizesText\r\n } = _ref;\r\n return createFragment(pageSizesText.map(_ref2 => {\r\n var {\r\n className: className,\r\n click: click,\r\n label: label,\r\n text: text\r\n } = _ref2;\r\n return createComponentVNode(2, LightButton, {\r\n className: className,\r\n label: label,\r\n onClick: click,\r\n children: text\r\n }, text)\r\n }), 0)\r\n};\r\nexport var PageSizeLargeProps = {};\r\nvar PageSizeLargePropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n }\r\n};\r\nexport class PageSizeLarge extends BaseInfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.__getterCache = {};\r\n this.onPageSizeChange = this.onPageSizeChange.bind(this)\r\n }\r\n get pageSizesText() {\r\n if (void 0 !== this.__getterCache.pageSizesText) {\r\n return this.__getterCache.pageSizesText\r\n }\r\n return this.__getterCache.pageSizesText = (() => {\r\n var {\r\n pageSize: pageSize,\r\n pageSizes: pageSizes\r\n } = this.props;\r\n return pageSizes.map((_ref3, index) => {\r\n var {\r\n text: text,\r\n value: processedPageSize\r\n } = _ref3;\r\n var selected = processedPageSize === pageSize;\r\n var className = combineClasses({\r\n [selected ? PAGER_SELECTED_PAGE_SIZE_CLASS : PAGER_PAGE_SIZE_CLASS]: true,\r\n [FIRST_CHILD_CLASS]: 0 === index\r\n });\r\n return {\r\n className: className,\r\n click: this.onPageSizeChange(processedPageSize),\r\n label: format(messageLocalization.getFormatter(\"dxPager-pageSize\"), processedPageSize || messageLocalization.getFormatter(\"dxPager-pageSizesAllText\")),\r\n text: text\r\n }\r\n })\r\n })()\r\n }\r\n onPageSizeChange(processedPageSize) {\r\n return () => {\r\n this.props.pageSizeChange(processedPageSize);\r\n return this.props.pageSize\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n if (this.props.pageSize !== nextProps.pageSize || this.props.pageSizes !== nextProps.pageSizes || this.props.pageSizeChange !== nextProps.pageSizeChange) {\r\n this.__getterCache.pageSizesText = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n pageSizesText: this.pageSizesText,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeLarge.defaultProps = PageSizeLargePropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/page_size/selector.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"isLargeDisplayMode\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"rootElementRef\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n PageSizeSmall\r\n} from \"./small\";\r\nimport {\r\n PageSizeLarge\r\n} from \"./large\";\r\nimport {\r\n InternalPagerProps\r\n} from \"../common/pager_props\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport {\r\n PAGER_PAGE_SIZES_CLASS\r\n} from \"../common/consts\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n htmlRef: htmlRef,\r\n normalizedPageSizes: normalizedPageSizes,\r\n props: {\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }\r\n } = _ref;\r\n return createVNode(1, \"div\", PAGER_PAGE_SIZES_CLASS, [isLargeDisplayMode && createComponentVNode(2, PageSizeLarge, {\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n }), !isLargeDisplayMode && createComponentVNode(2, PageSizeSmall, {\r\n parentRef: htmlRef,\r\n pageSizes: normalizedPageSizes,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange\r\n })], 0, null, null, htmlRef)\r\n};\r\n\r\nfunction getAllText() {\r\n return messageLocalization.getFormatter(\"dxPager-pageSizesAllText\")()\r\n}\r\nvar PageSizeSelectorProps = {\r\n isLargeDisplayMode: true\r\n};\r\nvar PageSizeSelectorPropsType = {\r\n get pageSize() {\r\n return InternalPagerProps.pageSize\r\n },\r\n get pageSizes() {\r\n return InternalPagerProps.pageSizes\r\n },\r\n get isLargeDisplayMode() {\r\n return PageSizeSelectorProps.isLargeDisplayMode\r\n }\r\n};\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PageSizeSelector extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.htmlRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.setRootElementRef = this.setRootElementRef.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, [])]\r\n }\r\n setRootElementRef() {\r\n var {\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.htmlRef.current\r\n }\r\n }\r\n get normalizedPageSizes() {\r\n if (void 0 !== this.__getterCache.normalizedPageSizes) {\r\n return this.__getterCache.normalizedPageSizes\r\n }\r\n return this.__getterCache.normalizedPageSizes = (() => {\r\n var {\r\n pageSizes: pageSizes\r\n } = this.props;\r\n return pageSizes.map(p => \"all\" === p || 0 === p ? {\r\n text: getAllText(),\r\n value: 0\r\n } : {\r\n text: String(p),\r\n value: p\r\n })\r\n })()\r\n }\r\n get restAttributes() {\r\n var _this$props = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.pageSizes !== nextProps.pageSizes) {\r\n this.__getterCache.normalizedPageSizes = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n htmlRef: this.htmlRef,\r\n normalizedPageSizes: this.normalizedPageSizes,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPageSizeSelector.defaultProps = PageSizeSelectorPropsType;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/content.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"displayMode\", \"gridCompatibility\", \"hasKnownLastPage\", \"infoText\", \"infoTextRef\", \"infoTextVisible\", \"isLargeDisplayMode\", \"label\", \"lightModeEnabled\", \"maxPagesCount\", \"onKeyDown\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"pageSizesRef\", \"pagesCountText\", \"pagesNavigatorVisible\", \"pagesRef\", \"rootElementRef\", \"rtlEnabled\", \"showInfo\", \"showNavigationButtons\", \"showPageSizes\", \"totalCount\", \"visible\"];\r\nimport {\r\n createVNode,\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoEffect,\r\n InfernoComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n normalizeStyles\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n InfoText\r\n} from \"./info\";\r\nimport {\r\n PageIndexSelector\r\n} from \"./pages/page_index_selector\";\r\nimport {\r\n PageSizeSelector\r\n} from \"./page_size/selector\";\r\nimport {\r\n PAGER_PAGES_CLASS,\r\n PAGER_PAGE_INDEXES_CLASS,\r\n LIGHT_MODE_CLASS,\r\n PAGER_CLASS\r\n} from \"./common/consts\";\r\nimport {\r\n InternalPagerProps\r\n} from \"./common/pager_props\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nimport {\r\n Widget\r\n} from \"../common/widget\";\r\nimport {\r\n registerKeyboardAction as _registerKeyboardAction\r\n} from \"../../../ui/shared/accessibility\";\r\nimport {\r\n KeyboardActionContext\r\n} from \"./common/keyboard_action_context\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n aria: aria,\r\n classes: classes,\r\n infoVisible: infoVisible,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageIndexSelectorVisible: pageIndexSelectorVisible,\r\n pagesContainerVisibility: pagesContainerVisibility,\r\n pagesContainerVisible: pagesContainerVisible,\r\n props: {\r\n hasKnownLastPage: hasKnownLastPage,\r\n infoText: infoText,\r\n infoTextRef: infoTextRef,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes,\r\n pageSizesRef: pageSizesRef,\r\n pagesCountText: pagesCountText,\r\n pagesRef: pagesRef,\r\n rtlEnabled: rtlEnabled,\r\n showNavigationButtons: showNavigationButtons,\r\n showPageSizes: showPageSizes,\r\n totalCount: totalCount,\r\n visible: visible\r\n },\r\n restAttributes: restAttributes,\r\n widgetRootElementRef: widgetRootElementRef\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, Widget, _extends({\r\n rootElementRef: widgetRootElementRef,\r\n rtlEnabled: rtlEnabled,\r\n classes: classes,\r\n visible: visible,\r\n aria: aria\r\n }, restAttributes, {\r\n children: [showPageSizes && createComponentVNode(2, PageSizeSelector, {\r\n rootElementRef: pageSizesRef,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n pageSize: pageSize,\r\n pageSizeChange: pageSizeChange,\r\n pageSizes: pageSizes\r\n }), pagesContainerVisible && createVNode(1, \"div\", PAGER_PAGES_CLASS, [infoVisible && createComponentVNode(2, InfoText, {\r\n rootElementRef: infoTextRef,\r\n infoText: infoText,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n totalCount: totalCount\r\n }), pageIndexSelectorVisible && createVNode(1, \"div\", PAGER_PAGE_INDEXES_CLASS, createComponentVNode(2, PageIndexSelector, {\r\n hasKnownLastPage: hasKnownLastPage,\r\n isLargeDisplayMode: isLargeDisplayMode,\r\n maxPagesCount: maxPagesCount,\r\n pageCount: pageCount,\r\n pageIndex: pageIndex,\r\n pageIndexChange: pageIndexChange,\r\n pagesCountText: pagesCountText,\r\n showNavigationButtons: showNavigationButtons,\r\n totalCount: totalCount\r\n }), 2, null, null, pagesRef)], 0, {\r\n style: normalizeStyles({\r\n visibility: pagesContainerVisibility\r\n })\r\n })]\r\n })))\r\n};\r\nexport var PagerContentProps = Object.create(Object.prototype, _extends(Object.getOwnPropertyDescriptors(InternalPagerProps), Object.getOwnPropertyDescriptors({\r\n infoTextVisible: true,\r\n isLargeDisplayMode: true\r\n})));\r\nimport {\r\n createRef as infernoCreateRef\r\n} from \"inferno\";\r\nexport class PagerContent extends InfernoComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.widgetRootElementRef = infernoCreateRef();\r\n this.__getterCache = {};\r\n this.setRootElementRef = this.setRootElementRef.bind(this);\r\n this.createFakeInstance = this.createFakeInstance.bind(this)\r\n }\r\n createEffects() {\r\n return [new InfernoEffect(this.setRootElementRef, [])]\r\n }\r\n getChildContext() {\r\n return _extends({}, this.context, {\r\n [KeyboardActionContext.id]: this.keyboardAction || KeyboardActionContext.defaultValue\r\n })\r\n }\r\n setRootElementRef() {\r\n var {\r\n rootElementRef: rootElementRef\r\n } = this.props;\r\n if (rootElementRef) {\r\n rootElementRef.current = this.widgetRootElementRef.current\r\n }\r\n }\r\n createFakeInstance() {\r\n return {\r\n option: () => false,\r\n element: () => this.widgetRootElementRef.current,\r\n _createActionByOption: () => e => {\r\n var _this$props$onKeyDown, _this$props;\r\n null === (_this$props$onKeyDown = (_this$props = this.props).onKeyDown) || void 0 === _this$props$onKeyDown ? void 0 : _this$props$onKeyDown.call(_this$props, e)\r\n }\r\n }\r\n }\r\n get keyboardAction() {\r\n if (void 0 !== this.__getterCache.keyboardAction) {\r\n return this.__getterCache.keyboardAction\r\n }\r\n return this.__getterCache.keyboardAction = (() => ({\r\n registerKeyboardAction: (element, action) => {\r\n var fakePagerInstance = this.createFakeInstance();\r\n return _registerKeyboardAction(\"pager\", fakePagerInstance, element, void 0, action)\r\n }\r\n }))()\r\n }\r\n get infoVisible() {\r\n var {\r\n infoTextVisible: infoTextVisible,\r\n showInfo: showInfo\r\n } = this.props;\r\n return showInfo && infoTextVisible\r\n }\r\n get pageIndexSelectorVisible() {\r\n return 0 !== this.props.pageSize\r\n }\r\n get normalizedDisplayMode() {\r\n var {\r\n displayMode: displayMode,\r\n lightModeEnabled: lightModeEnabled\r\n } = this.props;\r\n if (\"adaptive\" === displayMode && void 0 !== lightModeEnabled) {\r\n return lightModeEnabled ? \"compact\" : \"full\"\r\n }\r\n return displayMode\r\n }\r\n get pagesContainerVisible() {\r\n return !!this.props.pagesNavigatorVisible && this.props.pageCount > 0\r\n }\r\n get pagesContainerVisibility() {\r\n if (\"auto\" === this.props.pagesNavigatorVisible && 1 === this.props.pageCount && this.props.hasKnownLastPage) {\r\n return \"hidden\"\r\n }\r\n return\r\n }\r\n get isLargeDisplayMode() {\r\n var displayMode = this.normalizedDisplayMode;\r\n var result = false;\r\n if (\"adaptive\" === displayMode) {\r\n result = this.props.isLargeDisplayMode\r\n } else {\r\n result = \"full\" === displayMode\r\n }\r\n return result\r\n }\r\n get classes() {\r\n var classesMap = {\r\n [\"\".concat(this.props.className)]: !!this.props.className,\r\n [PAGER_CLASS]: true,\r\n [LIGHT_MODE_CLASS]: !this.isLargeDisplayMode\r\n };\r\n return combineClasses(classesMap)\r\n }\r\n get aria() {\r\n return {\r\n role: \"navigation\",\r\n label: this.props.label\r\n }\r\n }\r\n get restAttributes() {\r\n var _this$props2 = this.props,\r\n restProps = _objectWithoutPropertiesLoose(_this$props2, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props.onKeyDown !== nextProps.onKeyDown) {\r\n this.__getterCache.keyboardAction = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props),\r\n widgetRootElementRef: this.widgetRootElementRef,\r\n keyboardAction: this.keyboardAction,\r\n infoVisible: this.infoVisible,\r\n pageIndexSelectorVisible: this.pageIndexSelectorVisible,\r\n pagesContainerVisible: this.pagesContainerVisible,\r\n pagesContainerVisibility: this.pagesContainerVisibility,\r\n isLargeDisplayMode: this.isLargeDisplayMode,\r\n classes: this.classes,\r\n aria: this.aria,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPagerContent.defaultProps = PagerContentProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar _excluded = [\"className\", \"defaultPageIndex\", \"defaultPageSize\", \"displayMode\", \"gridCompatibility\", \"hasKnownLastPage\", \"infoText\", \"label\", \"lightModeEnabled\", \"maxPagesCount\", \"onKeyDown\", \"pageCount\", \"pageIndex\", \"pageIndexChange\", \"pageSize\", \"pageSizeChange\", \"pageSizes\", \"pagesCountText\", \"pagesNavigatorVisible\", \"rtlEnabled\", \"showInfo\", \"showNavigationButtons\", \"showPageSizes\", \"totalCount\", \"visible\"];\r\nimport {\r\n createComponentVNode,\r\n normalizeProps\r\n} from \"inferno\";\r\nimport {\r\n InfernoWrapperComponent\r\n} from \"@devextreme/runtime/inferno\";\r\nimport {\r\n ResizableContainer\r\n} from \"./resizable_container\";\r\nimport {\r\n PagerProps\r\n} from \"./common/pager_props\";\r\nimport {\r\n PagerContent\r\n} from \"./content\";\r\nimport {\r\n combineClasses\r\n} from \"../../utils/combine_classes\";\r\nexport var viewFunction = _ref => {\r\n var {\r\n pagerProps: pagerProps,\r\n restAttributes: restAttributes\r\n } = _ref;\r\n return normalizeProps(createComponentVNode(2, ResizableContainer, _extends({\r\n contentTemplate: PagerContent,\r\n pagerProps: pagerProps\r\n }, restAttributes)))\r\n};\r\nimport {\r\n createReRenderEffect\r\n} from \"@devextreme/runtime/inferno\";\r\nexport class Pager extends InfernoWrapperComponent {\r\n constructor(props) {\r\n super(props);\r\n this.__getterCache = {};\r\n this.state = {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.props.defaultPageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.props.defaultPageIndex\r\n };\r\n this.pageIndexChange = this.pageIndexChange.bind(this);\r\n this.pageSizeChange = this.pageSizeChange.bind(this)\r\n }\r\n createEffects() {\r\n return [createReRenderEffect()]\r\n }\r\n pageIndexChange(newPageIndex) {\r\n if (this.props.gridCompatibility) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = newPageIndex + 1;\r\n return {\r\n pageIndex: __newValue\r\n }\r\n });\r\n this.props.pageIndexChange(__newValue)\r\n } else {\r\n var _newValue;\r\n this.setState(__state_argument => {\r\n _newValue = newPageIndex;\r\n return {\r\n pageIndex: _newValue\r\n }\r\n });\r\n this.props.pageIndexChange(_newValue)\r\n }\r\n }\r\n get pageIndex() {\r\n if (this.props.gridCompatibility) {\r\n return (void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex) - 1\r\n }\r\n return void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }\r\n pageSizeChange(newPageSize) {\r\n var __newValue;\r\n this.setState(__state_argument => {\r\n __newValue = newPageSize;\r\n return {\r\n pageSize: __newValue\r\n }\r\n });\r\n this.props.pageSizeChange(__newValue)\r\n }\r\n get className() {\r\n if (this.props.gridCompatibility) {\r\n return combineClasses({\r\n \"dx-datagrid-pager\": true,\r\n [\"\".concat(this.props.className)]: !!this.props.className\r\n })\r\n }\r\n return this.props.className\r\n }\r\n get pagerProps() {\r\n if (void 0 !== this.__getterCache.pagerProps) {\r\n return this.__getterCache.pagerProps\r\n }\r\n return this.__getterCache.pagerProps = (() => _extends({}, _extends({}, this.props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }), {\r\n className: this.className,\r\n pageIndex: this.pageIndex,\r\n pageIndexChange: pageIndex => this.pageIndexChange(pageIndex),\r\n pageSizeChange: pageSize => this.pageSizeChange(pageSize)\r\n }))()\r\n }\r\n get restAttributes() {\r\n var _this$props$pageSize$ = _extends({}, this.props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }),\r\n restProps = _objectWithoutPropertiesLoose(_this$props$pageSize$, _excluded);\r\n return restProps\r\n }\r\n componentWillUpdate(nextProps, nextState, context) {\r\n super.componentWillUpdate();\r\n if (this.props !== nextProps || this.props.gridCompatibility !== nextProps.gridCompatibility || this.props.className !== nextProps.className || this.state.pageIndex !== nextState.pageIndex || this.props.pageIndex !== nextProps.pageIndex || this.props.pageIndexChange !== nextProps.pageIndexChange || this.props.pageSizeChange !== nextProps.pageSizeChange) {\r\n this.__getterCache.pagerProps = void 0\r\n }\r\n }\r\n render() {\r\n var props = this.props;\r\n return viewFunction({\r\n props: _extends({}, props, {\r\n pageSize: void 0 !== this.props.pageSize ? this.props.pageSize : this.state.pageSize,\r\n pageIndex: void 0 !== this.props.pageIndex ? this.props.pageIndex : this.state.pageIndex\r\n }),\r\n pageIndexChange: this.pageIndexChange,\r\n pageIndex: this.pageIndex,\r\n pageSizeChange: this.pageSizeChange,\r\n className: this.className,\r\n pagerProps: this.pagerProps,\r\n restAttributes: this.restAttributes\r\n })\r\n }\r\n}\r\nPager.defaultProps = PagerProps;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/pager/pager.j.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../../core/component_registrator\";\r\nimport {\r\n GridPagerWrapper\r\n} from \"../../component_wrapper/grid_pager\";\r\nimport {\r\n Pager as PagerComponent\r\n} from \"./pager\";\r\nexport default class Pager extends GridPagerWrapper {\r\n getProps() {\r\n var props = super.getProps();\r\n props.onKeyDown = this._wrapKeyDownHandler(props.onKeyDown);\r\n return props\r\n }\r\n get _propsInfo() {\r\n return {\r\n twoWay: [\r\n [\"pageSize\", \"defaultPageSize\", \"pageSizeChange\"],\r\n [\"pageIndex\", \"defaultPageIndex\", \"pageIndexChange\"]\r\n ],\r\n allowNull: [],\r\n elements: [],\r\n templates: [],\r\n props: [\"defaultPageSize\", \"pageSizeChange\", \"defaultPageIndex\", \"pageIndexChange\", \"gridCompatibility\", \"className\", \"showInfo\", \"infoText\", \"lightModeEnabled\", \"displayMode\", \"maxPagesCount\", \"pageCount\", \"pagesCountText\", \"visible\", \"hasKnownLastPage\", \"pagesNavigatorVisible\", \"showPageSizes\", \"pageSizes\", \"rtlEnabled\", \"showNavigationButtons\", \"totalCount\", \"label\", \"onKeyDown\", \"pageSize\", \"pageIndex\"]\r\n }\r\n }\r\n get _viewComponent() {\r\n return PagerComponent\r\n }\r\n}\r\nregisterComponent(\"dxPager\", Pager);\r\n","/**\r\n * DevExtreme (esm/ui/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Widget from \"../renovation/ui/pager/pager.j\";\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/pager/m_pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Pager from \"../../../../ui/pager\";\r\nimport modules from \"../m_modules\";\r\nvar PAGER_CLASS = \"pager\";\r\nvar MAX_PAGES_COUNT = 10;\r\nvar getPageIndex = function(dataController) {\r\n return 1 + (parseInt(dataController.pageIndex()) || 0)\r\n};\r\nvar PagerView = modules.View.inherit({\r\n init() {\r\n var dataController = this.getController(\"data\");\r\n dataController.changed.add(e => {\r\n if (e && e.repaintChangesOnly) {\r\n var pager = this._pager;\r\n if (pager) {\r\n pager.option({\r\n pageIndex: getPageIndex(dataController),\r\n pageSize: dataController.pageSize(),\r\n pageCount: dataController.pageCount(),\r\n totalCount: dataController.totalCount(),\r\n hasKnownLastPage: dataController.hasKnownLastPage()\r\n })\r\n } else {\r\n this.render()\r\n }\r\n } else if (!e || \"update\" !== e.changeType && \"updateSelection\" !== e.changeType && \"updateFocusedRow\" !== e.changeType) {\r\n this._pager = null;\r\n this.render()\r\n }\r\n })\r\n },\r\n _renderCore() {\r\n var $element = this.element().addClass(this.addWidgetPrefix(PAGER_CLASS));\r\n var pagerOptions = this.option(\"pager\") || {};\r\n var dataController = this.getController(\"data\");\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var options = {\r\n maxPagesCount: MAX_PAGES_COUNT,\r\n pageIndex: getPageIndex(dataController),\r\n pageCount: dataController.pageCount(),\r\n pageSize: dataController.pageSize(),\r\n showPageSizes: pagerOptions.showPageSizeSelector,\r\n showInfo: pagerOptions.showInfo,\r\n displayMode: pagerOptions.displayMode,\r\n pagesNavigatorVisible: pagerOptions.visible,\r\n showNavigationButtons: pagerOptions.showNavigationButtons,\r\n label: pagerOptions.label,\r\n pageSizes: this.getPageSizes(),\r\n totalCount: dataController.totalCount(),\r\n hasKnownLastPage: dataController.hasKnownLastPage(),\r\n pageIndexChanged(pageIndex) {\r\n if (dataController.pageIndex() !== pageIndex - 1) {\r\n dataController.pageIndex(pageIndex - 1)\r\n }\r\n },\r\n pageSizeChanged(pageSize) {\r\n dataController.pageSize(pageSize)\r\n },\r\n onKeyDown: e => keyboardController && keyboardController.executeAction(\"onKeyDown\", e),\r\n useLegacyKeyboardNavigation: this.option(\"useLegacyKeyboardNavigation\"),\r\n useKeyboard: this.option(\"keyboardNavigation.enabled\")\r\n };\r\n if (isDefined(pagerOptions.infoText)) {\r\n options.infoText = pagerOptions.infoText\r\n }\r\n if (this._pager) {\r\n this._pager.repaint();\r\n return\r\n }\r\n if (hasWindow()) {\r\n this._pager = this._createComponent($element, Pager, options)\r\n } else {\r\n $element.addClass(\"dx-pager\").html('<div class=\"dx-pages\"><div class=\"dx-page\"></div></div>')\r\n }\r\n },\r\n getPager() {\r\n return this._pager\r\n },\r\n getPageSizes() {\r\n var dataController = this.getController(\"data\");\r\n var pagerOptions = this.option(\"pager\");\r\n var allowedPageSizes = pagerOptions && pagerOptions.allowedPageSizes;\r\n var pageSize = dataController.pageSize();\r\n if (!isDefined(this._pageSizes) || !this._pageSizes.includes(pageSize)) {\r\n this._pageSizes = [];\r\n if (pagerOptions) {\r\n if (Array.isArray(allowedPageSizes)) {\r\n this._pageSizes = allowedPageSizes\r\n } else if (allowedPageSizes && pageSize > 1) {\r\n this._pageSizes = [Math.floor(pageSize / 2), pageSize, 2 * pageSize]\r\n }\r\n }\r\n }\r\n return this._pageSizes\r\n },\r\n isVisible() {\r\n var dataController = this.getController(\"data\");\r\n var pagerOptions = this.option(\"pager\");\r\n var pagerVisible = pagerOptions && pagerOptions.visible;\r\n var scrolling = this.option(\"scrolling\");\r\n if (\"auto\" === pagerVisible) {\r\n if (scrolling && (\"virtual\" === scrolling.mode || \"infinite\" === scrolling.mode)) {\r\n pagerVisible = false\r\n } else {\r\n pagerVisible = dataController.pageCount() > 1 || dataController.isLoaded() && !dataController.hasKnownLastPage()\r\n }\r\n }\r\n return pagerVisible\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n var isPager = \"pager\" === name;\r\n var isPaging = \"paging\" === name;\r\n var isDataSource = \"dataSource\" === name;\r\n var isScrolling = \"scrolling\" === name;\r\n var dataController = this.getController(\"data\");\r\n if (isPager || isPaging || isScrolling || isDataSource) {\r\n args.handled = true;\r\n if (dataController.skipProcessingPagingChange(args.fullName)) {\r\n return\r\n }\r\n if (isPager || isPaging) {\r\n this._pageSizes = null\r\n }\r\n if (!isDataSource) {\r\n this._pager = null;\r\n this._invalidate();\r\n if (hasWindow() && isPager && this.component) {\r\n this.component.resize()\r\n }\r\n }\r\n }\r\n },\r\n dispose() {\r\n this._pager = null\r\n }\r\n});\r\nexport var pagerModule = {\r\n defaultOptions: () => ({\r\n pager: {\r\n visible: \"auto\",\r\n showPageSizeSelector: false,\r\n allowedPageSizes: \"auto\",\r\n label: messageLocalization.format(\"dxPager-ariaLabel\")\r\n }\r\n }),\r\n views: {\r\n pagerView: PagerView\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/pager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n pagerModule\r\n} from \"../../../grids/grid_core/pager/m_pager\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"pager\", pagerModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../../../animation/fx\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport Callbacks from \"../../../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getWidth,\r\n setHeight,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n end as dragEventEnd,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../../../../events/drag\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n addNamespace,\r\n eventData as getEventData,\r\n isTouchEvent\r\n} from \"../../../../events/utils/index\";\r\nimport swatchContainer from \"../../../../ui/widget/swatch_container\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar COLUMNS_SEPARATOR_CLASS = \"columns-separator\";\r\nvar COLUMNS_SEPARATOR_TRANSPARENT = \"columns-separator-transparent\";\r\nvar DRAGGING_HEADER_CLASS = \"drag-header\";\r\nvar CELL_CONTENT_CLASS = \"text-content\";\r\nvar HEADERS_DRAG_ACTION_CLASS = \"drag-action\";\r\nvar TRACKER_CLASS = \"tracker\";\r\nvar HEADERS_DROP_HIGHLIGHT_CLASS = \"drop-highlight\";\r\nvar BLOCK_SEPARATOR_CLASS = \"dx-block-separator\";\r\nvar HEADER_ROW_CLASS = \"dx-header-row\";\r\nvar WIDGET_CLASS = \"dx-widget\";\r\nvar DRAGGING_COMMAND_CELL_CLASS = \"dx-drag-command-cell\";\r\nvar MODULE_NAMESPACE = \"dxDataGridResizingReordering\";\r\nvar COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH = 10;\r\nvar DRAGGING_DELTA = 5;\r\nvar COLUMN_OPACITY = .5;\r\nvar allowResizing = function(that) {\r\n return that.option(\"allowColumnResizing\") || that.getController(\"columns\").isColumnOptionUsed(\"allowResizing\")\r\n};\r\nvar allowReordering = function(that) {\r\n return that.option(\"allowColumnReordering\") || that.getController(\"columns\").isColumnOptionUsed(\"allowReordering\")\r\n};\r\nvar TrackerView = modules.View.inherit({\r\n _renderCore() {\r\n var deferred = this.callBase();\r\n this.element().addClass(this.addWidgetPrefix(TRACKER_CLASS));\r\n this.hide();\r\n return deferred\r\n },\r\n _unsubscribeFromCallback() {\r\n if (this._positionChanged) {\r\n this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n }\r\n },\r\n _subscribeToCallback() {\r\n var that = this;\r\n that._positionChanged = function(position) {\r\n var $element = that.element();\r\n if ($element && $element.hasClass(that.addWidgetPrefix(TRACKER_CLASS))) {\r\n $element.css({\r\n top: position.top\r\n });\r\n setHeight($element, position.height)\r\n }\r\n };\r\n this._tablePositionController.positionChanged.add(that._positionChanged)\r\n },\r\n optionChanged(args) {\r\n if (\"allowColumnResizing\" === args.name) {\r\n this._unsubscribeFromCallback();\r\n if (args.value) {\r\n this._subscribeToCallback();\r\n this._invalidate()\r\n }\r\n }\r\n this.callBase(args)\r\n },\r\n init() {\r\n this.callBase();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._subscribeToCallback()\r\n },\r\n isVisible() {\r\n return allowResizing(this)\r\n },\r\n show() {\r\n this.element().show()\r\n },\r\n hide() {\r\n this.element() && this.element().hide()\r\n },\r\n setHeight(value) {\r\n setHeight(this.element(), value)\r\n },\r\n dispose() {\r\n this._unsubscribeFromCallback();\r\n this.callBase()\r\n }\r\n});\r\nvar SeparatorView = modules.View.inherit({\r\n _renderSeparator() {},\r\n _renderCore(options) {\r\n var deferred = this.callBase(options);\r\n this._isShown = true;\r\n this._renderSeparator();\r\n this.hide();\r\n return deferred\r\n },\r\n show() {\r\n this._isShown = true\r\n },\r\n hide() {\r\n this._isShown = false\r\n },\r\n height(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if (isDefined(value)) {\r\n setHeight($element, value)\r\n } else {\r\n return getHeight($element)\r\n }\r\n }\r\n },\r\n width(value) {\r\n var $element = this.element();\r\n if ($element) {\r\n if (isDefined(value)) {\r\n setWidth($element, value)\r\n } else {\r\n return getWidth($element)\r\n }\r\n }\r\n }\r\n});\r\nvar ColumnsSeparatorView = SeparatorView.inherit({\r\n _renderSeparator() {\r\n this.callBase();\r\n var $element = this.element();\r\n $element.addClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_CLASS))\r\n },\r\n _subscribeToCallback() {\r\n var that = this;\r\n var $element;\r\n that._positionChanged = function(position) {\r\n $element = that.element();\r\n if ($element) {\r\n $element.css({\r\n top: position.top\r\n });\r\n setHeight($element, position.height)\r\n }\r\n };\r\n that._tablePositionController.positionChanged.add(that._positionChanged)\r\n },\r\n _unsubscribeFromCallback() {\r\n this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged)\r\n },\r\n _init() {\r\n this._isTransparent = allowResizing(this);\r\n if (this.isVisible()) {\r\n this._subscribeToCallback()\r\n }\r\n },\r\n isVisible() {\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || allowResizing(this))\r\n },\r\n optionChanged(args) {\r\n if (\"allowColumnResizing\" === args.name) {\r\n if (args.value) {\r\n this._init();\r\n this._invalidate();\r\n this.hide(true)\r\n } else {\r\n this._unsubscribeFromCallback();\r\n this._isTransparent = allowResizing(this);\r\n this.hide(true)\r\n }\r\n }\r\n this.callBase(args)\r\n },\r\n init() {\r\n this.callBase();\r\n this._tablePositionController = this.getController(\"tablePosition\");\r\n this._init()\r\n },\r\n show() {\r\n var $element = this.element();\r\n if ($element && !this._isShown) {\r\n if (this._isTransparent) {\r\n $element.removeClass(this.addWidgetPrefix(COLUMNS_SEPARATOR_TRANSPARENT))\r\n } else {\r\n $element.show()\r\n }\r\n }\r\n this.callBase()\r\n },\r\n hide(force) {\r\n var $element = this.element();\r\n var columnsSeparatorTransparent = this.addWidgetPrefix(COLUMNS_SEPARATOR_TRANSPARENT);\r\n if ($element && (this._isShown || force)) {\r\n if (this._isTransparent) {\r\n $element.addClass(columnsSeparatorTransparent);\r\n $element.css(\"left\", \"\");\r\n $element.show()\r\n } else {\r\n if ($element.hasClass(columnsSeparatorTransparent)) {\r\n $element.removeClass(columnsSeparatorTransparent)\r\n }\r\n $element.hide()\r\n }\r\n }\r\n this.callBase()\r\n },\r\n moveByX(outerX) {\r\n var $element = this.element();\r\n if ($element) {\r\n $element.css(\"left\", null === outerX ? 0 : outerX - this._parentElement().offset().left)\r\n }\r\n },\r\n changeCursor(cursorName) {\r\n cursorName = isDefined(cursorName) ? cursorName : \"\";\r\n var $element = this.element();\r\n if ($element) {\r\n $element.css(\"cursor\", cursorName)\r\n }\r\n },\r\n dispose() {\r\n this._unsubscribeFromCallback();\r\n this.callBase()\r\n }\r\n});\r\nvar BlockSeparatorView = SeparatorView.inherit({\r\n init() {\r\n var that = this;\r\n this.callBase();\r\n this.getController(\"data\").loadingChanged.add(isLoading => {\r\n if (!isLoading) {\r\n that.hide()\r\n }\r\n })\r\n },\r\n _renderSeparator() {\r\n this.callBase();\r\n this.element().addClass(BLOCK_SEPARATOR_CLASS).html(\" \")\r\n },\r\n hide() {\r\n var $parent = this._parentElement();\r\n var $element = this.element();\r\n if ($element && this._isShown) {\r\n $element.css(\"display\", \"none\")\r\n }\r\n if ($parent && !$parent.children(\".\".concat(BLOCK_SEPARATOR_CLASS)).length) {\r\n $parent.prepend(this.element())\r\n }\r\n this.callBase()\r\n },\r\n isVisible() {\r\n var groupPanelOptions = this.option(\"groupPanel\");\r\n var columnChooserOptions = this.option(\"columnChooser\");\r\n return groupPanelOptions && groupPanelOptions.visible || columnChooserOptions && columnChooserOptions.enabled\r\n },\r\n show(targetLocation) {\r\n var $element = this.element();\r\n var startAnimate = function(toOptions) {\r\n fx.stop($element, true);\r\n fx.animate($element, {\r\n type: \"slide\",\r\n from: {\r\n width: 0,\r\n display: toOptions.display\r\n },\r\n to: toOptions,\r\n duration: 300,\r\n easing: \"swing\"\r\n })\r\n };\r\n if ($element && !this._isShown) {\r\n switch (targetLocation) {\r\n case \"group\":\r\n startAnimate({\r\n width: \"50px\",\r\n display: \"inline-block\"\r\n });\r\n break;\r\n case \"columnChooser\":\r\n startAnimate({\r\n width: \"100%\",\r\n display: \"block\"\r\n });\r\n break;\r\n default:\r\n $element.css(\"display\", \"\")\r\n }\r\n }\r\n this.callBase()\r\n }\r\n});\r\nvar DraggingHeaderView = modules.View.inherit({\r\n _isDragging: false,\r\n isDragging() {\r\n return this._isDragging\r\n },\r\n _getDraggingPanelByPos(pos) {\r\n var result;\r\n each(this._dragOptions.draggingPanels, (index, draggingPanel) => {\r\n if (draggingPanel) {\r\n var boundingRect = draggingPanel.getBoundingRect();\r\n if (boundingRect && (void 0 === boundingRect.bottom || pos.y < boundingRect.bottom) && (void 0 === boundingRect.top || pos.y > boundingRect.top) && (void 0 === boundingRect.left || pos.x > boundingRect.left) && (void 0 === boundingRect.right || pos.x < boundingRect.right)) {\r\n result = draggingPanel;\r\n return false\r\n }\r\n }\r\n return\r\n });\r\n return result\r\n },\r\n _renderCore() {\r\n this.element().addClass(\"\".concat(this.addWidgetPrefix(DRAGGING_HEADER_CLASS), \" \").concat(this.addWidgetPrefix(CELL_CONTENT_CLASS), \" \").concat(WIDGET_CLASS)).hide()\r\n },\r\n _resetTargetColumnOptions() {\r\n var params = this._dropOptions;\r\n params.targetColumnIndex = -1;\r\n delete params.targetColumnElement;\r\n delete params.isLast;\r\n delete params.posX;\r\n delete params.posY\r\n },\r\n _getVisibleIndexObject(rowIndex, visibleIndex) {\r\n if (isDefined(rowIndex)) {\r\n return {\r\n columnIndex: visibleIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n return visibleIndex\r\n },\r\n dispose() {\r\n var element = this.element();\r\n this._dragOptions = null;\r\n element && element.parent().find(\".\".concat(this.addWidgetPrefix(DRAGGING_HEADER_CLASS))).remove()\r\n },\r\n isVisible() {\r\n var columnsController = this.getController(\"columns\");\r\n var commonColumnSettings = columnsController.getCommonSettings();\r\n return this.option(\"showColumnHeaders\") && (allowReordering(this) || commonColumnSettings.allowGrouping || commonColumnSettings.allowHiding)\r\n },\r\n init() {\r\n var that = this;\r\n this.callBase();\r\n this._controller = this.getController(\"draggingHeader\");\r\n this._columnsResizerViewController = this.getController(\"columnsResizer\");\r\n this.getController(\"data\").loadingChanged.add(isLoading => {\r\n var element = that.element();\r\n if (!isLoading && element) {\r\n element.hide()\r\n }\r\n })\r\n },\r\n dragHeader(options) {\r\n var {\r\n columnElement: columnElement\r\n } = options;\r\n var isCommandColumn = !!options.sourceColumn.type;\r\n this._isDragging = true;\r\n this._dragOptions = options;\r\n this._dropOptions = {\r\n sourceIndex: options.index,\r\n sourceColumnIndex: this._getVisibleIndexObject(options.rowIndex, options.columnIndex),\r\n sourceColumnElement: options.columnElement,\r\n sourceLocation: options.sourceLocation\r\n };\r\n var document = domAdapter.getDocument();\r\n this._onSelectStart = document.onselectstart;\r\n document.onselectstart = function() {\r\n return false\r\n };\r\n this._controller.drag(this._dropOptions);\r\n this.element().css({\r\n textAlign: columnElement && columnElement.css(\"textAlign\"),\r\n height: columnElement && (isCommandColumn && columnElement.get(0).clientHeight || getHeight(columnElement)),\r\n width: columnElement && (isCommandColumn && columnElement.get(0).clientWidth || getWidth(columnElement)),\r\n whiteSpace: columnElement && columnElement.css(\"whiteSpace\")\r\n }).addClass(this.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS)).toggleClass(DRAGGING_COMMAND_CELL_CLASS, isCommandColumn).text(isCommandColumn ? \"\" : options.sourceColumn.caption);\r\n this.element().appendTo(swatchContainer.getSwatchContainer(columnElement))\r\n },\r\n moveHeader(args) {\r\n var e = args.event;\r\n var {\r\n that: that\r\n } = e.data;\r\n var eventData = getEventData(e);\r\n var isResizing = that._columnsResizerViewController ? that._columnsResizerViewController.isResizing() : false;\r\n var dragOptions = that._dragOptions;\r\n if (that._isDragging && !isResizing) {\r\n var $element = that.element();\r\n var moveDeltaX = Math.abs(eventData.x - dragOptions.columnElement.offset().left - dragOptions.deltaX);\r\n var moveDeltaY = Math.abs(eventData.y - dragOptions.columnElement.offset().top - dragOptions.deltaY);\r\n if ($element.is(\":visible\") || moveDeltaX > DRAGGING_DELTA || moveDeltaY > DRAGGING_DELTA) {\r\n $element.show();\r\n var newLeft = eventData.x - dragOptions.deltaX;\r\n var newTop = eventData.y - dragOptions.deltaY;\r\n $element.css({\r\n left: newLeft,\r\n top: newTop\r\n });\r\n that.dockHeader(eventData)\r\n }\r\n e.preventDefault()\r\n }\r\n },\r\n dockHeader(eventData) {\r\n var targetDraggingPanel = this._getDraggingPanelByPos(eventData);\r\n var controller = this._controller;\r\n var params = this._dropOptions;\r\n var dragOptions = this._dragOptions;\r\n if (targetDraggingPanel) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVerticalOrientation = \"columnChooser\" === targetDraggingPanel.getName();\r\n var axisName = isVerticalOrientation ? \"y\" : \"x\";\r\n var targetLocation = targetDraggingPanel.getName();\r\n var rowIndex = \"headers\" === targetLocation ? dragOptions.rowIndex : void 0;\r\n var {\r\n sourceColumn: sourceColumn\r\n } = dragOptions;\r\n var columnElements = targetDraggingPanel.getColumnElements(rowIndex, null === sourceColumn || void 0 === sourceColumn ? void 0 : sourceColumn.ownerBand) || [];\r\n var pointsByTarget = dragOptions.pointsByTarget = dragOptions.pointsByTarget || {};\r\n var pointsByColumns = \"columnChooser\" === targetLocation ? [] : pointsByTarget[targetLocation] || controller._generatePointsByColumns(extend({}, dragOptions, {\r\n targetDraggingPanel: targetDraggingPanel,\r\n columns: targetDraggingPanel.getColumns(rowIndex),\r\n columnElements: columnElements,\r\n isVerticalOrientation: isVerticalOrientation,\r\n startColumnIndex: \"headers\" === targetLocation && $(columnElements[0]).index()\r\n }));\r\n pointsByTarget[targetLocation] = pointsByColumns;\r\n params.targetLocation = targetLocation;\r\n if (pointsByColumns.length > 0) {\r\n for (var i = 0; i < pointsByColumns.length; i++) {\r\n var centerPosition = pointsByColumns[i + 1] && (pointsByColumns[i][axisName] + pointsByColumns[i + 1][axisName]) / 2;\r\n if (void 0 === centerPosition || (rtlEnabled && \"x\" === axisName ? eventData[axisName] > centerPosition : eventData[axisName] < centerPosition)) {\r\n params.targetColumnIndex = this._getVisibleIndexObject(rowIndex, pointsByColumns[i].columnIndex);\r\n if (columnElements[i]) {\r\n params.targetColumnElement = columnElements.eq(i);\r\n params.isLast = false\r\n } else {\r\n params.targetColumnElement = columnElements.last();\r\n params.isLast = true\r\n }\r\n params.posX = pointsByColumns[i].x;\r\n params.posY = pointsByColumns[i].y;\r\n controller.dock(params);\r\n break\r\n }\r\n }\r\n } else {\r\n this._resetTargetColumnOptions();\r\n controller.dock(params)\r\n }\r\n }\r\n },\r\n dropHeader(args) {\r\n var e = args.event;\r\n var {\r\n that: that\r\n } = e.data;\r\n var controller = that._controller;\r\n that.element().hide();\r\n if (controller && that._isDragging) {\r\n controller.drop(that._dropOptions)\r\n }\r\n that.element().appendTo(that._parentElement());\r\n that._dragOptions = null;\r\n that._dropOptions = null;\r\n that._isDragging = false;\r\n domAdapter.getDocument().onselectstart = that._onSelectStart || null\r\n }\r\n});\r\nvar isNextColumnResizingMode = function(that) {\r\n return \"widget\" !== that.option(\"columnResizingMode\")\r\n};\r\nvar ColumnsResizerViewController = modules.ViewController.inherit({\r\n _isHeadersRowArea(posY) {\r\n if (this._columnHeadersView) {\r\n var element = this._columnHeadersView.element();\r\n if (element) {\r\n var offsetTop = element.offset().top;\r\n var headersRowHeight = this._columnHeadersView.getHeadersRowHeight();\r\n return posY >= offsetTop && posY <= offsetTop + headersRowHeight\r\n }\r\n }\r\n return false\r\n },\r\n _isRtlParentStyle() {\r\n var _a;\r\n return this.option(\"rtlEnabled\") && \"rtl\" === (null === (_a = this._$parentContainer) || void 0 === _a ? void 0 : _a.parent().css(\"direction\"))\r\n },\r\n _pointCreated(point, cellsLength, columns) {\r\n var isNextColumnMode = isNextColumnResizingMode(this);\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var firstPointColumnIndex = !isNextColumnMode && rtlEnabled && !isRtlParentStyle ? 0 : 1;\r\n if (point.index >= firstPointColumnIndex && point.index < cellsLength + (!isNextColumnMode && (!rtlEnabled || isRtlParentStyle) ? 1 : 0)) {\r\n point.columnIndex -= firstPointColumnIndex;\r\n var currentColumn = columns[point.columnIndex] || {};\r\n var nextColumn = columns[point.columnIndex + 1] || {};\r\n return !(isNextColumnMode ? currentColumn.allowResizing && nextColumn.allowResizing : currentColumn.allowResizing)\r\n }\r\n return true\r\n },\r\n _getTargetPoint(pointsByColumns, currentX, deltaX) {\r\n if (pointsByColumns) {\r\n for (var i = 0; i < pointsByColumns.length; i++) {\r\n if (pointsByColumns[i].x === pointsByColumns[0].x && pointsByColumns[i + 1] && pointsByColumns[i].x === pointsByColumns[i + 1].x) {\r\n continue\r\n }\r\n if (pointsByColumns[i].x - deltaX <= currentX && currentX <= pointsByColumns[i].x + deltaX) {\r\n return pointsByColumns[i]\r\n }\r\n }\r\n }\r\n return null\r\n },\r\n _moveSeparator(args) {\r\n var _a;\r\n var e = args.event;\r\n var that = e.data;\r\n var columnsSeparatorWidth = that._columnsSeparatorView.width();\r\n var isNextColumnMode = isNextColumnResizingMode(that);\r\n var deltaX = columnsSeparatorWidth / 2;\r\n var parentOffset = that._$parentContainer.offset();\r\n var parentOffsetLeft = parentOffset.left;\r\n var eventData = getEventData(e);\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var isDragging = null === (_a = that._draggingHeaderView) || void 0 === _a ? void 0 : _a.isDragging();\r\n if (that._isResizing && that._resizingInfo) {\r\n if ((parentOffsetLeft <= eventData.x || !isNextColumnMode && isRtlParentStyle) && (!isNextColumnMode || eventData.x <= parentOffsetLeft + getWidth(that._$parentContainer))) {\r\n if (that._updateColumnsWidthIfNeeded(eventData.x)) {\r\n var $cell = that._columnHeadersView.getColumnElements().eq(that._resizingInfo.currentColumnIndex);\r\n var cell = $cell[0];\r\n if (cell) {\r\n var outerWidth = cell.getBoundingClientRect().width;\r\n that._columnsSeparatorView.moveByX($cell.offset().left + ((isNextColumnMode || isRtlParentStyle) && rtlEnabled ? 0 : outerWidth));\r\n that._tablePositionController.update(that._targetPoint.y);\r\n e.preventDefault()\r\n }\r\n }\r\n }\r\n } else if (!isDragging) {\r\n if (that._isHeadersRowArea(eventData.y)) {\r\n if (that._previousParentOffset) {\r\n if (that._previousParentOffset.left !== parentOffset.left || that._previousParentOffset.top !== parentOffset.top) {\r\n that.pointsByColumns(null)\r\n }\r\n }\r\n that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, columnsSeparatorWidth);\r\n that._previousParentOffset = parentOffset;\r\n that._isReadyResizing = false;\r\n if (that._targetPoint) {\r\n that._columnsSeparatorView.changeCursor(\"col-resize\");\r\n that._columnsSeparatorView.moveByX(that._targetPoint.x - deltaX);\r\n that._tablePositionController.update(that._targetPoint.y);\r\n that._isReadyResizing = true;\r\n e.preventDefault()\r\n } else {\r\n that._columnsSeparatorView.changeCursor();\r\n that._columnsSeparatorView.moveByX(null)\r\n }\r\n } else {\r\n that.pointsByColumns(null);\r\n that._isReadyResizing = false;\r\n that._columnsSeparatorView.changeCursor();\r\n that._columnsSeparatorView.moveByX(null)\r\n }\r\n }\r\n },\r\n _endResizing(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n if (that._isResizing) {\r\n that.pointsByColumns(null);\r\n that._resizingInfo = null;\r\n that._columnsSeparatorView.hide();\r\n that._columnsSeparatorView.changeCursor();\r\n that._trackerView.hide();\r\n that._isReadyResizing = false;\r\n that._isResizing = false\r\n }\r\n },\r\n _getNextColumnIndex: currentColumnIndex => currentColumnIndex + 1,\r\n _setupResizingInfo(posX) {\r\n var currentColumnIndex = this._targetPoint.columnIndex;\r\n var nextColumnIndex = this._getNextColumnIndex(currentColumnIndex);\r\n var currentHeader = this._columnHeadersView.getHeaderElement(currentColumnIndex);\r\n var nextHeader = this._columnHeadersView.getHeaderElement(nextColumnIndex);\r\n this._resizingInfo = {\r\n startPosX: posX,\r\n currentColumnIndex: currentColumnIndex,\r\n currentColumnWidth: currentHeader && currentHeader.length > 0 ? getBoundingRect(currentHeader[0]).width : 0,\r\n nextColumnIndex: nextColumnIndex,\r\n nextColumnWidth: nextHeader && nextHeader.length > 0 ? getBoundingRect(nextHeader[0]).width : 0\r\n }\r\n },\r\n _startResizing(args) {\r\n var e = args.event;\r\n var that = e.data;\r\n var eventData = getEventData(e);\r\n if (isTouchEvent(e)) {\r\n if (that._isHeadersRowArea(eventData.y)) {\r\n that._targetPoint = that._getTargetPoint(that.pointsByColumns(), eventData.x, COLUMNS_SEPARATOR_TOUCH_TRACKER_WIDTH);\r\n if (that._targetPoint) {\r\n that._columnsSeparatorView.moveByX(that._targetPoint.x - that._columnsSeparatorView.width() / 2);\r\n that._isReadyResizing = true\r\n }\r\n } else {\r\n that._isReadyResizing = false\r\n }\r\n }\r\n if (that._isReadyResizing) {\r\n that._setupResizingInfo(eventData.x);\r\n that._isResizing = true;\r\n that._tablePositionController.update(that._targetPoint.y);\r\n that._columnsSeparatorView.show();\r\n that._trackerView.show();\r\n var scrollable = that.component.getScrollable();\r\n if (scrollable && that._isRtlParentStyle()) {\r\n that._scrollRight = getWidth(scrollable.$content()) - getWidth(scrollable.container()) - scrollable.scrollLeft()\r\n }\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n if (this.isResizing()) {\r\n this.getController(\"editorFactory\").loseFocus()\r\n }\r\n },\r\n _generatePointsByColumns() {\r\n var that = this;\r\n var columns = that._columnsController ? that._columnsController.getVisibleColumns() : [];\r\n var cells = that._columnHeadersView.getColumnElements();\r\n var pointsByColumns = [];\r\n if (cells && cells.length > 0) {\r\n pointsByColumns = gridCoreUtils.getPointsByColumns(cells, point => that._pointCreated(point, cells.length, columns))\r\n }\r\n that._pointsByColumns = pointsByColumns\r\n },\r\n _unsubscribeFromEvents() {\r\n this._moveSeparatorHandler && eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.move, MODULE_NAMESPACE), this._moveSeparatorHandler);\r\n this._startResizingHandler && eventsEngine.off(this._$parentContainer, addNamespace(pointerEvents.down, MODULE_NAMESPACE), this._startResizingHandler);\r\n if (this._endResizingHandler) {\r\n eventsEngine.off(this._columnsSeparatorView.element(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this._endResizingHandler);\r\n eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this._endResizingHandler)\r\n }\r\n },\r\n _subscribeToEvents() {\r\n this._moveSeparatorHandler = this.createAction(this._moveSeparator);\r\n this._startResizingHandler = this.createAction(this._startResizing);\r\n this._endResizingHandler = this.createAction(this._endResizing);\r\n eventsEngine.on(domAdapter.getDocument(), addNamespace(pointerEvents.move, MODULE_NAMESPACE), this, this._moveSeparatorHandler);\r\n eventsEngine.on(this._$parentContainer, addNamespace(pointerEvents.down, MODULE_NAMESPACE), this, this._startResizingHandler);\r\n eventsEngine.on(this._columnsSeparatorView.element(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this, this._endResizingHandler);\r\n eventsEngine.on(domAdapter.getDocument(), addNamespace(pointerEvents.up, MODULE_NAMESPACE), this, this._endResizingHandler)\r\n },\r\n _updateColumnsWidthIfNeeded(posX) {\r\n var deltaX;\r\n var needUpdate;\r\n var contentWidth = this._rowsView.contentWidth();\r\n var resizingInfo = this._resizingInfo;\r\n var columnsController = this._columnsController;\r\n var visibleColumns = columnsController.getVisibleColumns();\r\n var columnsSeparatorWidth = this._columnsSeparatorView.width();\r\n var isNextColumnMode = isNextColumnResizingMode(this);\r\n var adaptColumnWidthByRatio = isNextColumnMode && this.option(\"adaptColumnWidthByRatio\") && !this.option(\"columnAutoWidth\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isRtlParentStyle = this._isRtlParentStyle();\r\n var column = visibleColumns[resizingInfo.currentColumnIndex];\r\n var nextColumn = visibleColumns[resizingInfo.nextColumnIndex];\r\n\r\n function isPercentWidth(width) {\r\n return isString(width) && width.endsWith(\"%\")\r\n }\r\n\r\n function setColumnWidth(column, columnWidth, contentWidth, adaptColumnWidthByRatio) {\r\n if (column) {\r\n var oldColumnWidth = column.width;\r\n if (oldColumnWidth) {\r\n adaptColumnWidthByRatio = isPercentWidth(oldColumnWidth)\r\n }\r\n if (adaptColumnWidthByRatio) {\r\n columnsController.columnOption(column.index, \"visibleWidth\", columnWidth);\r\n columnsController.columnOption(column.index, \"width\", \"\".concat((columnWidth / contentWidth * 100).toFixed(3), \"%\"))\r\n } else {\r\n columnsController.columnOption(column.index, \"visibleWidth\", null);\r\n columnsController.columnOption(column.index, \"width\", columnWidth)\r\n }\r\n }\r\n }\r\n deltaX = posX - resizingInfo.startPosX;\r\n if ((isNextColumnMode || isRtlParentStyle) && rtlEnabled) {\r\n deltaX = -deltaX\r\n }\r\n var {\r\n cellWidth: cellWidth,\r\n nextCellWidth: nextCellWidth\r\n } = function(delta) {\r\n var nextMinWidth;\r\n var nextCellWidth;\r\n var needCorrectionNextCellWidth;\r\n var cellWidth = resizingInfo.currentColumnWidth + delta;\r\n var minWidth = column && column.minWidth || columnsSeparatorWidth;\r\n var result = {};\r\n if (cellWidth >= minWidth) {\r\n result.cellWidth = cellWidth\r\n } else {\r\n result.cellWidth = minWidth;\r\n needCorrectionNextCellWidth = true\r\n }\r\n if (isNextColumnMode) {\r\n nextCellWidth = resizingInfo.nextColumnWidth - delta;\r\n nextMinWidth = nextColumn && nextColumn.minWidth || columnsSeparatorWidth;\r\n if (nextCellWidth >= nextMinWidth) {\r\n if (needCorrectionNextCellWidth) {\r\n result.nextCellWidth = resizingInfo.nextColumnWidth - (delta + minWidth - cellWidth)\r\n } else {\r\n result.nextCellWidth = nextCellWidth\r\n }\r\n } else {\r\n result.nextCellWidth = nextMinWidth;\r\n result.cellWidth = resizingInfo.currentColumnWidth + (delta - nextMinWidth + nextCellWidth)\r\n }\r\n }\r\n return result\r\n }(deltaX);\r\n needUpdate = column.width !== cellWidth;\r\n if (needUpdate) {\r\n columnsController.beginUpdate();\r\n cellWidth = Math.floor(cellWidth);\r\n contentWidth = function(contentWidth, visibleColumns) {\r\n var allColumnsHaveWidth = visibleColumns.every(column => column.width);\r\n if (allColumnsHaveWidth) {\r\n var totalPercent = visibleColumns.reduce((sum, column) => {\r\n if (isPercentWidth(column.width)) {\r\n sum += parseFloat(column.width)\r\n }\r\n return sum\r\n }, 0);\r\n if (totalPercent > 100) {\r\n contentWidth = contentWidth / totalPercent * 100\r\n }\r\n }\r\n return contentWidth\r\n }(contentWidth, visibleColumns);\r\n setColumnWidth(column, cellWidth, contentWidth, adaptColumnWidthByRatio);\r\n if (isNextColumnMode) {\r\n nextCellWidth = Math.floor(nextCellWidth);\r\n setColumnWidth(nextColumn, nextCellWidth, contentWidth, adaptColumnWidthByRatio)\r\n } else {\r\n var columnWidths = this._columnHeadersView.getColumnWidths();\r\n columnWidths[resizingInfo.currentColumnIndex] = cellWidth;\r\n var hasScroll = columnWidths.reduce((totalWidth, width) => totalWidth + width, 0) > this._rowsView.contentWidth();\r\n if (!hasScroll) {\r\n var lastColumnIndex = gridCoreUtils.getLastResizableColumnIndex(visibleColumns);\r\n if (lastColumnIndex >= 0) {\r\n columnsController.columnOption(visibleColumns[lastColumnIndex].index, \"visibleWidth\", \"auto\")\r\n }\r\n }\r\n for (var i = 0; i < columnWidths.length; i++) {\r\n if (visibleColumns[i] && visibleColumns[i] !== column && void 0 === visibleColumns[i].width) {\r\n columnsController.columnOption(visibleColumns[i].index, \"width\", columnWidths[i])\r\n }\r\n }\r\n }\r\n columnsController.endUpdate();\r\n if (!isNextColumnMode) {\r\n this.component.updateDimensions();\r\n var scrollable = this.component.getScrollable();\r\n if (scrollable && isRtlParentStyle) {\r\n var left = getWidth(scrollable.$content()) - getWidth(scrollable.container()) - this._scrollRight;\r\n scrollable.scrollTo({\r\n left: left\r\n })\r\n }\r\n }\r\n }\r\n return needUpdate\r\n },\r\n _subscribeToCallback(callback, handler) {\r\n callback.add(handler);\r\n this._subscribesToCallbacks.push({\r\n callback: callback,\r\n handler: handler\r\n })\r\n },\r\n _unsubscribeFromCallbacks() {\r\n for (var i = 0; i < this._subscribesToCallbacks.length; i++) {\r\n var subscribe = this._subscribesToCallbacks[i];\r\n subscribe.callback.remove(subscribe.handler)\r\n }\r\n this._subscribesToCallbacks = []\r\n },\r\n _unsubscribes() {\r\n this._unsubscribeFromEvents();\r\n this._unsubscribeFromCallbacks()\r\n },\r\n _init() {\r\n var that = this;\r\n var generatePointsByColumnsHandler = function() {\r\n if (!that._isResizing) {\r\n that.pointsByColumns(null)\r\n }\r\n };\r\n var generatePointsByColumnsScrollHandler = function(offset) {\r\n if (that._scrollLeft !== offset.left) {\r\n that._scrollLeft = offset.left;\r\n that.pointsByColumns(null)\r\n }\r\n };\r\n that._columnsSeparatorView = that.getView(\"columnsSeparatorView\");\r\n that._columnHeadersView = that.getView(\"columnHeadersView\");\r\n that._trackerView = that.getView(\"trackerView\");\r\n that._rowsView = that.getView(\"rowsView\");\r\n that._columnsController = that.getController(\"columns\");\r\n that._tablePositionController = that.getController(\"tablePosition\");\r\n that._$parentContainer = that.component.$element();\r\n that._draggingHeaderView = that.component.getView(\"draggingHeaderView\");\r\n that._subscribeToCallback(that._columnHeadersView.renderCompleted, generatePointsByColumnsHandler);\r\n that._subscribeToCallback(that._columnHeadersView.resizeCompleted, generatePointsByColumnsHandler);\r\n that._subscribeToCallback(that._columnsSeparatorView.renderCompleted, () => {\r\n that._unsubscribeFromEvents();\r\n that._subscribeToEvents()\r\n });\r\n that._subscribeToCallback(that._rowsView.renderCompleted, () => {\r\n that._rowsView.scrollChanged.remove(generatePointsByColumnsScrollHandler);\r\n that._rowsView.scrollChanged.add(generatePointsByColumnsScrollHandler)\r\n });\r\n var previousScrollbarVisibility = 0 !== that._rowsView.getScrollbarWidth();\r\n var previousTableHeight = 0;\r\n that._subscribeToCallback(that.getController(\"tablePosition\").positionChanged, e => {\r\n if (that._isResizing && !that._rowsView.isResizing) {\r\n var scrollbarVisibility = 0 !== that._rowsView.getScrollbarWidth();\r\n if (previousScrollbarVisibility !== scrollbarVisibility || previousTableHeight && previousTableHeight !== e.height) {\r\n previousScrollbarVisibility = scrollbarVisibility;\r\n previousTableHeight = e.height;\r\n that.component.updateDimensions()\r\n } else {\r\n that._rowsView.updateFreeSpaceRowHeight()\r\n }\r\n }\r\n previousTableHeight = e.height\r\n })\r\n },\r\n optionChanged(args) {\r\n this.callBase(args);\r\n if (\"allowColumnResizing\" === args.name) {\r\n if (args.value) {\r\n this._init();\r\n this._subscribeToEvents()\r\n } else {\r\n this._unsubscribes()\r\n }\r\n }\r\n },\r\n isResizing() {\r\n return this._isResizing\r\n },\r\n init() {\r\n this._subscribesToCallbacks = [];\r\n if (allowResizing(this)) {\r\n this._init()\r\n }\r\n },\r\n pointsByColumns(value) {\r\n if (void 0 !== value) {\r\n this._pointsByColumns = value\r\n } else {\r\n if (!this._pointsByColumns) {\r\n this._generatePointsByColumns()\r\n }\r\n return this._pointsByColumns\r\n }\r\n },\r\n dispose() {\r\n this._unsubscribes();\r\n this.callBase()\r\n }\r\n});\r\nvar TablePositionViewController = modules.ViewController.inherit({\r\n update(top) {\r\n var params = {};\r\n var $element = this._columnHeadersView.element();\r\n var offset = $element && $element.offset();\r\n var offsetTop = offset && offset.top || 0;\r\n var diffOffsetTop = isDefined(top) ? Math.abs(top - offsetTop) : 0;\r\n var columnsHeadersHeight = this._columnHeadersView ? this._columnHeadersView.getHeight() : 0;\r\n var scrollBarWidth = this._rowsView.getScrollbarWidth(true);\r\n var rowsHeight = this._rowsView ? this._rowsView.height() - scrollBarWidth : 0;\r\n var columnsResizerController = this.component.getController(\"columnsResizer\");\r\n var draggingHeaderView = this.component.getView(\"draggingHeaderView\");\r\n params.height = columnsHeadersHeight;\r\n var isDraggingOrResizing = columnsResizerController.isResizing() || draggingHeaderView.isDragging();\r\n if (isDraggingOrResizing) {\r\n params.height += rowsHeight - diffOffsetTop\r\n }\r\n if (null !== top && $element && $element.length) {\r\n params.top = $element[0].offsetTop + diffOffsetTop\r\n }\r\n this.positionChanged.fire(params)\r\n },\r\n init() {\r\n var that = this;\r\n that.callBase();\r\n that._columnHeadersView = this.getView(\"columnHeadersView\");\r\n that._rowsView = this.getView(\"rowsView\");\r\n that._pagerView = this.getView(\"pagerView\");\r\n that._rowsView.resizeCompleted.add(() => {\r\n if (that.option(\"allowColumnResizing\")) {\r\n var targetPoint = that.getController(\"columnsResizer\")._targetPoint;\r\n that.update(targetPoint ? targetPoint.y : null)\r\n }\r\n })\r\n },\r\n ctor(component) {\r\n this.callBase(component);\r\n this.positionChanged = Callbacks()\r\n }\r\n});\r\nvar DraggingHeaderViewController = modules.ViewController.inherit({\r\n _generatePointsByColumns(options) {\r\n var that = this;\r\n return gridCoreUtils.getPointsByColumns(options.columnElements, point => that._pointCreated(point, options.columns, options.targetDraggingPanel.getName(), options.sourceColumn), options.isVerticalOrientation, options.startColumnIndex)\r\n },\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var targetColumn = columns[point.columnIndex];\r\n var prevColumn = columns[point.columnIndex - 1];\r\n switch (location) {\r\n case \"columnChooser\":\r\n return true;\r\n case \"headers\":\r\n return sourceColumn && !sourceColumn.allowReordering || (!targetColumn || !targetColumn.allowReordering) && (!prevColumn || !prevColumn.allowReordering);\r\n default:\r\n return 0 === columns.length\r\n }\r\n },\r\n _subscribeToEvents(draggingHeader, draggingPanels) {\r\n var that = this;\r\n each(draggingPanels, (_, draggingPanel) => {\r\n if (draggingPanel) {\r\n var columns;\r\n var rowCount = draggingPanel.getRowCount ? draggingPanel.getRowCount() : 1;\r\n var nameDraggingPanel = draggingPanel.getName();\r\n var subscribeToEvents = function(index, columnElement) {\r\n if (!columnElement) {\r\n return\r\n }\r\n var $columnElement = $(columnElement);\r\n var column = columns[index];\r\n if (column && draggingPanel.allowDragging(column)) {\r\n $columnElement.addClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS));\r\n eventsEngine.on($columnElement, addNamespace(dragEventStart, MODULE_NAMESPACE), that.createAction(args => {\r\n var e = args.event;\r\n var eventData = getEventData(e);\r\n draggingHeader.dragHeader({\r\n deltaX: eventData.x - $(e.currentTarget).offset().left,\r\n deltaY: eventData.y - $(e.currentTarget).offset().top,\r\n sourceColumn: column,\r\n index: column.index,\r\n columnIndex: index,\r\n columnElement: $columnElement,\r\n sourceLocation: nameDraggingPanel,\r\n draggingPanels: draggingPanels,\r\n rowIndex: that._columnsController.getRowIndex(column.index, true)\r\n })\r\n }));\r\n eventsEngine.on($columnElement, addNamespace(dragEventMove, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.moveHeader));\r\n eventsEngine.on($columnElement, addNamespace(dragEventEnd, MODULE_NAMESPACE), {\r\n that: draggingHeader\r\n }, that.createAction(draggingHeader.dropHeader))\r\n }\r\n };\r\n for (var i = 0; i < rowCount; i++) {\r\n var columnElements = draggingPanel.getColumnElements(i) || [];\r\n if (columnElements.length) {\r\n columns = draggingPanel.getColumns(i) || [];\r\n each(columnElements, subscribeToEvents)\r\n }\r\n }\r\n }\r\n })\r\n },\r\n _unsubscribeFromEvents(draggingHeader, draggingPanels) {\r\n var that = this;\r\n each(draggingPanels, (_, draggingPanel) => {\r\n if (draggingPanel) {\r\n var columnElements = draggingPanel.getColumnElements() || [];\r\n each(columnElements, (index, columnElement) => {\r\n var $columnElement = $(columnElement);\r\n eventsEngine.off($columnElement, addNamespace(dragEventStart, MODULE_NAMESPACE));\r\n eventsEngine.off($columnElement, addNamespace(dragEventMove, MODULE_NAMESPACE));\r\n eventsEngine.off($columnElement, addNamespace(dragEventEnd, MODULE_NAMESPACE));\r\n $columnElement.removeClass(that.addWidgetPrefix(HEADERS_DRAG_ACTION_CLASS))\r\n })\r\n }\r\n })\r\n },\r\n _getSeparator(targetLocation) {\r\n return \"headers\" === targetLocation ? this._columnsSeparatorView : this._blockSeparatorView\r\n },\r\n hideSeparators(type) {\r\n var blockSeparator = this._blockSeparatorView;\r\n var columnsSeparator = this._columnsSeparatorView;\r\n this._animationColumnIndex = null;\r\n blockSeparator && blockSeparator.hide();\r\n \"block\" !== type && columnsSeparator && columnsSeparator.hide()\r\n },\r\n init() {\r\n var that = this;\r\n that.callBase();\r\n that._columnsController = that.getController(\"columns\");\r\n that._columnHeadersView = that.getView(\"columnHeadersView\");\r\n that._columnsSeparatorView = that.getView(\"columnsSeparatorView\");\r\n that._draggingHeaderView = that.getView(\"draggingHeaderView\");\r\n that._rowsView = that.getView(\"rowsView\");\r\n that._blockSeparatorView = that.getView(\"blockSeparatorView\");\r\n that._headerPanelView = that.getView(\"headerPanel\");\r\n that._columnChooserView = that.getView(\"columnChooserView\");\r\n var subscribeToEvents = function() {\r\n if (that._draggingHeaderView) {\r\n var draggingPanels = [that._columnChooserView, that._columnHeadersView, that._headerPanelView];\r\n that._unsubscribeFromEvents(that._draggingHeaderView, draggingPanels);\r\n that._subscribeToEvents(that._draggingHeaderView, draggingPanels)\r\n }\r\n };\r\n that._columnHeadersView.renderCompleted.add(subscribeToEvents);\r\n that._headerPanelView && that._headerPanelView.renderCompleted.add(subscribeToEvents);\r\n that._columnChooserView && that._columnChooserView.renderCompleted.add(subscribeToEvents)\r\n },\r\n allowDrop(parameters) {\r\n return this._columnsController.allowMoveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n },\r\n drag(parameters) {\r\n var {\r\n sourceIndex: sourceIndex\r\n } = parameters;\r\n var {\r\n sourceLocation: sourceLocation\r\n } = parameters;\r\n var {\r\n sourceColumnElement: sourceColumnElement\r\n } = parameters;\r\n var headersView = this._columnHeadersView;\r\n var rowsView = this._rowsView;\r\n if (sourceColumnElement) {\r\n sourceColumnElement.css({\r\n opacity: COLUMN_OPACITY\r\n });\r\n if (\"headers\" === sourceLocation) {\r\n headersView && headersView.setRowsOpacity(sourceIndex, COLUMN_OPACITY);\r\n rowsView && rowsView.setRowsOpacity(sourceIndex, COLUMN_OPACITY)\r\n }\r\n }\r\n },\r\n dock(parameters) {\r\n var that = this;\r\n var targetColumnIndex = isObject(parameters.targetColumnIndex) ? parameters.targetColumnIndex.columnIndex : parameters.targetColumnIndex;\r\n var {\r\n sourceLocation: sourceLocation\r\n } = parameters;\r\n var {\r\n targetLocation: targetLocation\r\n } = parameters;\r\n var separator = that._getSeparator(targetLocation);\r\n var hasTargetVisibleIndex = targetColumnIndex >= 0;\r\n that._columnHeadersView.element().find(\".\".concat(HEADER_ROW_CLASS)).toggleClass(that.addWidgetPrefix(HEADERS_DROP_HIGHLIGHT_CLASS), \"headers\" !== sourceLocation && \"headers\" === targetLocation && !hasTargetVisibleIndex);\r\n if (separator) {\r\n if (that.allowDrop(parameters) && hasTargetVisibleIndex) {\r\n if (\"group\" === targetLocation || \"columnChooser\" === targetLocation) {\r\n ! function() {\r\n if (that._animationColumnIndex !== targetColumnIndex) {\r\n that.hideSeparators();\r\n separator.element()[parameters.isLast ? \"insertAfter\" : \"insertBefore\"](parameters.targetColumnElement);\r\n that._animationColumnIndex = targetColumnIndex;\r\n separator.show(targetLocation)\r\n }\r\n }()\r\n } else {\r\n that.hideSeparators(\"block\");\r\n that.getController(\"tablePosition\").update(parameters.posY);\r\n separator.moveByX(parameters.posX - separator.width());\r\n separator.show()\r\n }\r\n } else {\r\n that.hideSeparators()\r\n }\r\n }\r\n },\r\n drop(parameters) {\r\n var {\r\n sourceColumnElement: sourceColumnElement\r\n } = parameters;\r\n if (sourceColumnElement) {\r\n sourceColumnElement.css({\r\n opacity: \"\"\r\n });\r\n this._columnHeadersView.setRowsOpacity(parameters.sourceIndex, \"\");\r\n this._rowsView.setRowsOpacity(parameters.sourceIndex, \"\");\r\n this._columnHeadersView.element().find(\".\".concat(HEADER_ROW_CLASS)).removeClass(this.addWidgetPrefix(HEADERS_DROP_HIGHLIGHT_CLASS))\r\n }\r\n if (this.allowDrop(parameters)) {\r\n var separator = this._getSeparator(parameters.targetLocation);\r\n if (separator) {\r\n separator.hide()\r\n }\r\n this._columnsController.moveColumn(parameters.sourceColumnIndex, parameters.targetColumnIndex, parameters.sourceLocation, parameters.targetLocation)\r\n }\r\n },\r\n dispose() {\r\n if (this._draggingHeaderView) {\r\n this._unsubscribeFromEvents(this._draggingHeaderView, [this._columnChooserView, this._columnHeadersView, this._headerPanelView])\r\n }\r\n }\r\n});\r\nexport var columnsResizingReorderingModule = {\r\n views: {\r\n columnsSeparatorView: ColumnsSeparatorView,\r\n blockSeparatorView: BlockSeparatorView,\r\n draggingHeaderView: DraggingHeaderView,\r\n trackerView: TrackerView\r\n },\r\n controllers: {\r\n draggingHeader: DraggingHeaderViewController,\r\n tablePosition: TablePositionViewController,\r\n columnsResizer: ColumnsResizerViewController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _needUpdateRowHeight(itemCount) {\r\n var wordWrapEnabled = this.option(\"wordWrapEnabled\");\r\n var columnsResizerController = this.getController(\"columnsResizer\");\r\n var isResizing = columnsResizerController.isResizing();\r\n return this.callBase.apply(this, arguments) || itemCount > 0 && wordWrapEnabled && isResizing\r\n }\r\n }\r\n },\r\n controllers: {\r\n editorFactory: {\r\n renderFocusOverlay() {\r\n if (this.getController(\"columnsResizer\").isResizing()) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/columns_resizing_reordering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnsResizingReorderingModule\r\n} from \"../../../grids/grid_core/columns_resizing_reordering/m_columns_resizing_reordering\";\r\nimport gridCore from \"../m_core\";\r\nexport var DraggingHeaderView = columnsResizingReorderingModule.views.draggingHeaderView;\r\nexport var DraggingHeaderViewController = columnsResizingReorderingModule.controllers.draggingHeader;\r\nexport var ColumnsSeparatorView = columnsResizingReorderingModule.views.columnsSeparatorView;\r\nexport var TablePositionViewController = columnsResizingReorderingModule.controllers.tablePosition;\r\nexport var ColumnsResizerViewController = columnsResizingReorderingModule.controllers.columnsResizer;\r\nexport var TrackerView = columnsResizingReorderingModule.views.trackerView;\r\ngridCore.registerModule(\"columnsResizingReordering\", columnsResizingReorderingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/utils/memoize.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nvar compareByReference = (args, lastArgs) => args.length === lastArgs.length && !Object.keys(args).some(key => args[key] !== lastArgs[key]);\r\nvar compareByValue = (args, lastArgs) => equalByValue(args, lastArgs, {\r\n maxDepth: 4\r\n});\r\nvar createCacheFunc = (firstArgs, firstResult, originFunc, compareFunc) => {\r\n var lastArgs = firstArgs;\r\n var lastResult = firstResult;\r\n return function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n var argsEquals = compareFunc(args, lastArgs);\r\n if (argsEquals) {\r\n return lastResult\r\n }\r\n lastArgs = args;\r\n lastResult = originFunc(...lastArgs);\r\n return lastResult\r\n }\r\n};\r\nvar MEMOIZE_DEFAULT_OPTIONS = {\r\n compareType: \"reference\"\r\n};\r\nexport var memoize = function(func) {\r\n var {\r\n compareType: compareType\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : MEMOIZE_DEFAULT_OPTIONS;\r\n var cachedFunc = null;\r\n return function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n if (!cachedFunc) {\r\n var firstResult = func(...args);\r\n cachedFunc = createCacheFunc(args, firstResult, func, \"reference\" === compareType ? compareByReference : compareByValue);\r\n return firstResult\r\n }\r\n return cachedFunc(...args)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n ariaColIndex: \"aria-colindex\",\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexport var ROWS_VIEW_CLASS = \"rowsview\";\r\nexport var EDIT_FORM_CLASS = \"edit-form\";\r\nexport var GROUP_FOOTER_CLASS = \"group-footer\";\r\nexport var ROW_CLASS = \"dx-row\";\r\nexport var DATA_ROW_CLASS = \"dx-data-row\";\r\nexport var GROUP_ROW_CLASS = \"dx-group-row\";\r\nexport var HEADER_ROW_CLASS = \"dx-header-row\";\r\nexport var EDIT_FORM_ITEM_CLASS = \"edit-form-item\";\r\nexport var MASTER_DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nexport var FREESPACE_ROW_CLASS = \"dx-freespace-row\";\r\nexport var VIRTUAL_ROW_CLASS = \"dx-virtual-row\";\r\nexport var MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nexport var EDITOR_CELL_CLASS = \"dx-editor-cell\";\r\nexport var DROPDOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nexport var COMMAND_EXPAND_CLASS = \"dx-command-expand\";\r\nexport var COMMAND_SELECT_CLASS = \"dx-command-select\";\r\nexport var COMMAND_EDIT_CLASS = \"dx-command-edit\";\r\nexport var COMMAND_CELL_SELECTOR = \"[class^=dx-command]\";\r\nexport var CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nexport var DATEBOX_WIDGET_NAME = \"dxDateBox\";\r\nexport var FOCUS_STATE_CLASS = \"dx-state-focused\";\r\nexport var WIDGET_CLASS = \"dx-widget\";\r\nexport var REVERT_BUTTON_CLASS = \"dx-revert-button\";\r\nexport var FOCUSED_CLASS = \"dx-focused\";\r\nexport var FAST_EDITING_DELETE_KEY = \"delete\";\r\nexport var INTERACTIVE_ELEMENTS_SELECTOR = \"input:not([type='hidden']), textarea, a, select, button, [tabindex], .dx-checkbox\";\r\nexport var NON_FOCUSABLE_ELEMENTS_SELECTOR = \"\".concat(INTERACTIVE_ELEMENTS_SELECTOR, \", .dx-dropdowneditor-icon\");\r\nexport var EDIT_MODE_FORM = \"form\";\r\nexport var FOCUS_TYPE_ROW = \"row\";\r\nexport var FOCUS_TYPE_CELL = \"cell\";\r\nexport var COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nexport var FUNCTIONAL_KEYS = [\"shift\", \"control\", \"alt\"];\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ATTRIBUTES\r\n} from \"./const\";\r\nvar isDragCell = $cell => void 0 !== $cell.attr(ATTRIBUTES.dragCell);\r\nvar getCellToFocus = ($cellElements, columnIndex) => $cellElements.filter(\"[\".concat(ATTRIBUTES.ariaColIndex, '=\"').concat(columnIndex + 1, '\"]:not([').concat(ATTRIBUTES.dragCell, \"])\")).first();\r\nexport var GridCoreKeyboardNavigationDom = {\r\n isDragCell: isDragCell,\r\n getCellToFocus: getCellToFocus\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../../../core/devices\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n EDITOR_CELL_CLASS\r\n} from \"../editing/const\";\r\nimport {\r\n COMMAND_SELECT_CLASS,\r\n DATA_ROW_CLASS,\r\n FREESPACE_ROW_CLASS,\r\n GROUP_ROW_CLASS,\r\n HEADER_ROW_CLASS,\r\n MASTER_DETAIL_ROW_CLASS,\r\n VIRTUAL_ROW_CLASS\r\n} from \"./const\";\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\nexport function isGroupRow($row) {\r\n return $row && $row.hasClass(GROUP_ROW_CLASS)\r\n}\r\nexport function isGroupFooterRow($row) {\r\n return $row && $row.hasClass(DATAGRID_GROUP_FOOTER_CLASS)\r\n}\r\nexport function isDetailRow($row) {\r\n return $row && $row.hasClass(MASTER_DETAIL_ROW_CLASS)\r\n}\r\nexport function isDataRow($row) {\r\n return $row && $row.hasClass(DATA_ROW_CLASS)\r\n}\r\nexport function isNotFocusedRow($row) {\r\n return !$row || $row.hasClass(FREESPACE_ROW_CLASS) || $row.hasClass(VIRTUAL_ROW_CLASS)\r\n}\r\nexport function isEditorCell(that, $cell) {\r\n return !that._isRowEditMode() && $cell && !$cell.hasClass(COMMAND_SELECT_CLASS) && $cell.hasClass(EDITOR_CELL_CLASS)\r\n}\r\nexport function isElementDefined($element) {\r\n return isDefined($element) && $element.length > 0\r\n}\r\nexport function isMobile() {\r\n return \"desktop\" !== devices.current().deviceType\r\n}\r\nexport function isCellInHeaderRow($cell) {\r\n return !!$cell.parent(\".\".concat(HEADER_ROW_CLASS)).length\r\n}\r\nexport function isFixedColumnIndexOffsetRequired(that, column) {\r\n var rtlEnabled = that.option(\"rtlEnabled\");\r\n if (rtlEnabled) {\r\n return !(\"right\" === column.fixedPosition || isDefined(column.command) && !isDefined(column.fixedPosition))\r\n }\r\n return !(!isDefined(column.fixedPosition) || \"left\" === column.fixedPosition)\r\n}\r\nexport function shouldPreventScroll(that) {\r\n var keyboardController = that.getController(\"keyboardNavigation\");\r\n return keyboardController._isVirtualScrolling() ? that.option(\"focusedRowIndex\") === keyboardController.getRowIndex() : false\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/keyboard_navigation/m_keyboard_navigation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport domAdapter from \"../../../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../../core/element\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isEmptyObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport pointerEvents from \"../../../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../../../events/short\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed\r\n} from \"../../../../events/utils/index\";\r\nimport * as accessibility from \"../../../../ui/shared/accessibility\";\r\nimport {\r\n focused\r\n} from \"../../../../ui/widget/selectors\";\r\nimport {\r\n memoize\r\n} from \"../../../utils/memoize\";\r\nimport {\r\n EDIT_FORM_CLASS,\r\n EDIT_MODE_BATCH,\r\n EDIT_MODE_CELL,\r\n EDIT_MODE_FORM,\r\n EDIT_MODE_ROW,\r\n EDITOR_CELL_CLASS,\r\n ROW_CLASS\r\n} from \"../editing/const\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n CELL_FOCUS_DISABLED_CLASS,\r\n COLUMN_HEADERS_VIEW,\r\n COMMAND_CELL_SELECTOR,\r\n COMMAND_EDIT_CLASS,\r\n COMMAND_EXPAND_CLASS,\r\n COMMAND_SELECT_CLASS,\r\n DATA_ROW_CLASS,\r\n DATEBOX_WIDGET_NAME,\r\n DROPDOWN_EDITOR_OVERLAY_CLASS,\r\n EDIT_FORM_ITEM_CLASS,\r\n FAST_EDITING_DELETE_KEY,\r\n FOCUS_STATE_CLASS,\r\n FOCUS_TYPE_CELL,\r\n FOCUS_TYPE_ROW,\r\n FOCUSED_CLASS,\r\n FREESPACE_ROW_CLASS,\r\n FUNCTIONAL_KEYS,\r\n INTERACTIVE_ELEMENTS_SELECTOR,\r\n MASTER_DETAIL_CELL_CLASS,\r\n NON_FOCUSABLE_ELEMENTS_SELECTOR,\r\n REVERT_BUTTON_CLASS,\r\n ROWS_VIEW_CLASS,\r\n WIDGET_CLASS\r\n} from \"./const\";\r\nimport {\r\n GridCoreKeyboardNavigationDom\r\n} from \"./dom\";\r\nimport {\r\n isCellInHeaderRow,\r\n isDataRow,\r\n isDetailRow,\r\n isEditorCell,\r\n isElementDefined,\r\n isFixedColumnIndexOffsetRequired,\r\n isGroupFooterRow,\r\n isGroupRow,\r\n isMobile,\r\n isNotFocusedRow,\r\n shouldPreventScroll\r\n} from \"./m_keyboard_navigation_utils\";\r\nexport class KeyboardNavigationController extends modules.ViewController {\r\n init() {\r\n this._dataController = this.getController(\"data\");\r\n this._selectionController = this.getController(\"selection\");\r\n this._editingController = this.getController(\"editing\");\r\n this._headerPanel = this.getView(\"headerPanel\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._columnsController = this.getController(\"columns\");\r\n this._editorFactory = this.getController(\"editorFactory\");\r\n this._focusController = this.getController(\"focus\");\r\n this._memoFireFocusedCellChanged = memoize(this._memoFireFocusedCellChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n this._memoFireFocusedRowChanged = memoize(this._memoFireFocusedRowChanged.bind(this), {\r\n compareType: \"value\"\r\n });\r\n if (this.isKeyboardEnabled()) {\r\n accessibility.subscribeVisibilityChange();\r\n this._updateFocusTimeout = null;\r\n this._fastEditingStarted = false;\r\n this._focusedCellPosition = {};\r\n this._canceledCellPosition = null;\r\n this._editorFactory.focused.add($element => {\r\n this.setupFocusedView();\r\n if (this._isNeedScroll) {\r\n if ($element.is(\":visible\") && this._focusedView && this._focusedView.getScrollable) {\r\n this._focusedView._scrollToElement($element);\r\n this._isNeedScroll = false\r\n }\r\n }\r\n });\r\n this._initViewHandlers();\r\n this._initDocumentHandlers();\r\n this.createAction(\"onKeyDown\")\r\n }\r\n }\r\n _initViewHandlers() {\r\n var rowsViewFocusHandler = event => {\r\n var _a;\r\n var $element = $(event.target);\r\n var isRelatedTargetInRowsView = $(event.relatedTarget).closest(this._rowsView.element()).length;\r\n var isLink = $element.is(\"a\");\r\n if (event.relatedTarget && isLink && !isRelatedTargetInRowsView && this._isEventInCurrentGrid(event)) {\r\n var $focusedCell = this._getFocusedCell();\r\n $focusedCell = !isElementDefined($focusedCell) ? this._rowsView.getCellElements(0).filter(\"[tabindex]\").eq(0) : $focusedCell;\r\n if (!$element.closest($focusedCell).length) {\r\n event.preventDefault();\r\n eventsEngine.trigger($focusedCell, \"focus\")\r\n }\r\n }\r\n var isCell = $element.is(\"td\");\r\n var needSetFocusPosition = (null !== (_a = this.option(\"focusedRowIndex\")) && void 0 !== _a ? _a : -1) < 0;\r\n if (isCell && needSetFocusPosition) {\r\n this._updateFocusedCellPosition($element)\r\n }\r\n };\r\n this._rowsView.renderCompleted.add(e => {\r\n var $rowsView = this._rowsView.element();\r\n var isFullUpdate = !e || \"refresh\" === e.changeType;\r\n var isFocusedViewCorrect = this._focusedView && this._focusedView.name === this._rowsView.name;\r\n var needUpdateFocus = false;\r\n var isAppend = e && (\"append\" === e.changeType || \"prepend\" === e.changeType);\r\n var root = $(domAdapter.getRootNode($rowsView.get && $rowsView.get(0)));\r\n var $focusedElement = root.find(\":focus\");\r\n var isFocusedElementCorrect = !$focusedElement.length || $focusedElement.closest($rowsView).length;\r\n eventsEngine.off($rowsView, \"focusin\", rowsViewFocusHandler);\r\n eventsEngine.on($rowsView, \"focusin\", rowsViewFocusHandler);\r\n this._initPointerEventHandler();\r\n this._initKeyDownHandler();\r\n this._setRowsViewAttributes();\r\n if (isFocusedViewCorrect && isFocusedElementCorrect) {\r\n needUpdateFocus = this._isNeedFocus ? !isAppend : this._isHiddenFocus && isFullUpdate && !(null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling);\r\n needUpdateFocus && this._updateFocus(true)\r\n }\r\n })\r\n }\r\n _initDocumentHandlers() {\r\n var document = domAdapter.getDocument();\r\n this._documentClickHandler = this.createAction(e => {\r\n var $target = $(e.event.target);\r\n var isCurrentRowsViewClick = this._isEventInCurrentGrid(e.event) && $target.closest(\".\".concat(this.addWidgetPrefix(ROWS_VIEW_CLASS))).length;\r\n var isEditorOverlay = $target.closest(\".\".concat(DROPDOWN_EDITOR_OVERLAY_CLASS)).length;\r\n var columnsResizerController = this.getController(\"columnsResizer\");\r\n var isColumnResizing = !!columnsResizerController && columnsResizerController.isResizing();\r\n if (!isCurrentRowsViewClick && !isEditorOverlay && !isColumnResizing) {\r\n var targetInsideFocusedView = this._focusedView ? $target.parents().filter(this._focusedView.element()).length > 0 : false;\r\n !targetInsideFocusedView && this._resetFocusedCell(true);\r\n this._resetFocusedView()\r\n }\r\n });\r\n eventsEngine.on(document, addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler)\r\n }\r\n _setRowsViewAttributes() {\r\n var $rowsView = this._getRowsViewElement();\r\n var isGridEmpty = !this._dataController.getVisibleRows().length;\r\n if (isGridEmpty) {\r\n this._applyTabIndexToElement($rowsView)\r\n }\r\n }\r\n _initPointerEventHandler() {\r\n var pointerEventName = !isMobile() ? pointerEvents.down : clickEventName;\r\n var clickSelector = \".\".concat(ROW_CLASS, \" > td, .\").concat(ROW_CLASS);\r\n var $rowsView = this._getRowsViewElement();\r\n if (!isDefined(this._pointerEventAction)) {\r\n this._pointerEventAction = this.createAction(this._pointerEventHandler)\r\n }\r\n eventsEngine.off($rowsView, addNamespace(pointerEventName, \"dxDataGridKeyboardNavigation\"), this._pointerEventAction);\r\n eventsEngine.on($rowsView, addNamespace(pointerEventName, \"dxDataGridKeyboardNavigation\"), clickSelector, this._pointerEventAction)\r\n }\r\n _initKeyDownHandler() {\r\n var $rowsView = this._getRowsViewElement();\r\n keyboard.off(this._keyDownListener);\r\n this._keyDownListener = keyboard.on($rowsView, null, e => this._keyDownHandler(e))\r\n }\r\n dispose() {\r\n super.dispose();\r\n this._resetFocusedView();\r\n keyboard.off(this._keyDownListener);\r\n eventsEngine.off(domAdapter.getDocument(), addNamespace(pointerEvents.down, \"dxDataGridKeyboardNavigation\"), this._documentClickHandler);\r\n clearTimeout(this._updateFocusTimeout);\r\n accessibility.unsubscribeVisibilityChange()\r\n }\r\n optionChanged(args) {\r\n switch (args.name) {\r\n case \"keyboardNavigation\":\r\n case \"useLegacyKeyboardNavigation\":\r\n args.handled = true;\r\n break;\r\n default:\r\n super.optionChanged(args)\r\n }\r\n }\r\n isRowFocusType() {\r\n return this.focusType === FOCUS_TYPE_ROW\r\n }\r\n isCellFocusType() {\r\n return this.focusType === FOCUS_TYPE_CELL\r\n }\r\n setRowFocusType() {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.focusType = FOCUS_TYPE_ROW\r\n }\r\n }\r\n setCellFocusType() {\r\n this.focusType = FOCUS_TYPE_CELL\r\n }\r\n _keyDownHandler(e) {\r\n var _a;\r\n var needStopPropagation = true;\r\n this._isNeedFocus = true;\r\n this._isNeedScroll = true;\r\n var isHandled = this._processOnKeyDown(e);\r\n var isEditing = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditing();\r\n var {\r\n originalEvent: originalEvent\r\n } = e;\r\n if (originalEvent.isDefaultPrevented()) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n return\r\n }!FUNCTIONAL_KEYS.includes(e.keyName) && this._updateFocusedCellPositionByTarget(originalEvent.target);\r\n if (!isHandled) {\r\n switch (e.keyName) {\r\n case \"leftArrow\":\r\n case \"rightArrow\":\r\n this._leftRightKeysHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"upArrow\":\r\n case \"downArrow\":\r\n if (e.ctrl) {\r\n accessibility.selectView(\"rowsView\", this, originalEvent)\r\n } else {\r\n this._upDownKeysHandler(e, isEditing)\r\n }\r\n isHandled = true;\r\n break;\r\n case \"pageUp\":\r\n case \"pageDown\":\r\n this._pageUpDownKeyHandler(e);\r\n isHandled = true;\r\n break;\r\n case \"space\":\r\n isHandled = this._spaceKeyHandler(e, isEditing);\r\n break;\r\n case \"A\":\r\n if (isCommandKeyPressed(e.originalEvent)) {\r\n this._ctrlAKeyHandler(e, isEditing);\r\n isHandled = true\r\n } else {\r\n isHandled = this._beginFastEditing(e.originalEvent)\r\n }\r\n break;\r\n case \"tab\":\r\n this._tabKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"enter\":\r\n this._enterKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"escape\":\r\n this._escapeKeyHandler(e, isEditing);\r\n isHandled = true;\r\n break;\r\n case \"F\":\r\n if (isCommandKeyPressed(e.originalEvent)) {\r\n this._ctrlFKeyHandler(e);\r\n isHandled = true\r\n } else {\r\n isHandled = this._beginFastEditing(e.originalEvent)\r\n }\r\n break;\r\n case \"F2\":\r\n this._f2KeyHandler();\r\n isHandled = true;\r\n break;\r\n case \"del\":\r\n case \"backspace\":\r\n if (this._isFastEditingAllowed() && !this._isFastEditingStarted()) {\r\n isHandled = this._beginFastEditing(originalEvent, true)\r\n }\r\n }\r\n if (!isHandled && !this._beginFastEditing(originalEvent)) {\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n needStopPropagation = false\r\n }\r\n if (needStopPropagation) {\r\n originalEvent.stopPropagation()\r\n }\r\n }\r\n }\r\n _processOnKeyDown(eventArgs) {\r\n var {\r\n originalEvent: originalEvent\r\n } = eventArgs;\r\n var args = {\r\n handled: false,\r\n event: originalEvent\r\n };\r\n this.executeAction(\"onKeyDown\", args);\r\n eventArgs.ctrl = originalEvent.ctrlKey;\r\n eventArgs.alt = originalEvent.altKey;\r\n eventArgs.shift = originalEvent.shiftKey;\r\n return !!args.handled\r\n }\r\n _closeEditCell() {\r\n setTimeout(() => {\r\n this._editingController.closeEditCell()\r\n })\r\n }\r\n _leftRightKeysHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $event = eventArgs.originalEvent;\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n var directionCode = this._getDirectionCodeByKey(eventArgs.keyName);\r\n var isEditingNavigationMode = this._isFastEditingStarted();\r\n var allowNavigate = (!isEditing || isEditingNavigationMode) && isDataRow($row);\r\n if (allowNavigate) {\r\n this.setCellFocusType();\r\n isEditingNavigationMode && this._closeEditCell();\r\n if (this._isVirtualColumnRender()) {\r\n this._processVirtualHorizontalPosition(directionCode)\r\n }\r\n var $cell = this._getNextCell(directionCode);\r\n if (isElementDefined($cell)) {\r\n this._arrowKeysHandlerFocusCell($event, $cell, directionCode)\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n }\r\n _upDownKeysHandler(eventArgs, isEditing) {\r\n var _a, _b;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(visibleRowIndex);\r\n var $event = eventArgs.originalEvent;\r\n var isUpArrow = \"upArrow\" === eventArgs.keyName;\r\n var dataSource = this._dataController.dataSource();\r\n var isRowEditingInCurrentRow = null === (_b = null === (_a = this._editingController) || void 0 === _a ? void 0 : _a.isEditRowByIndex) || void 0 === _b ? void 0 : _b.call(_a, visibleRowIndex);\r\n var isEditingNavigationMode = this._isFastEditingStarted();\r\n var allowNavigate = (!isRowEditingInCurrentRow || !isEditing || isEditingNavigationMode) && $row && !isDetailRow($row);\r\n if (allowNavigate) {\r\n isEditingNavigationMode && this._closeEditCell();\r\n if (!this._navigateNextCell($event, eventArgs.keyName)) {\r\n if (this._isVirtualRowRender() && isUpArrow && dataSource && !dataSource.isLoading()) {\r\n var rowHeight = getOuterHeight($row);\r\n var rowIndex = this._focusedCellPosition.rowIndex - 1;\r\n this._scrollBy(0, -rowHeight, rowIndex, $event)\r\n }\r\n }\r\n $event && $event.preventDefault()\r\n }\r\n }\r\n _pageUpDownKeyHandler(eventArgs) {\r\n var pageIndex = this._dataController.pageIndex();\r\n var pageCount = this._dataController.pageCount();\r\n var pagingEnabled = this.option(\"paging.enabled\");\r\n var isPageUp = \"pageUp\" === eventArgs.keyName;\r\n var pageStep = isPageUp ? -1 : 1;\r\n var scrollable = this._rowsView.getScrollable();\r\n if (pagingEnabled && !this._isVirtualScrolling()) {\r\n if ((isPageUp ? pageIndex > 0 : pageIndex < pageCount - 1) && !this._isVirtualScrolling()) {\r\n this._dataController.pageIndex(pageIndex + pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n } else if (scrollable && getHeight(scrollable.container()) < getHeight(scrollable.$content())) {\r\n this._scrollBy(0, getHeight(scrollable.container()) * pageStep);\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _spaceKeyHandler(eventArgs, isEditing) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $target = $(eventArgs.originalEvent && eventArgs.originalEvent.target);\r\n if (this.option(\"selection\") && \"none\" !== this.option(\"selection\").mode && !isEditing) {\r\n var isFocusedRowElement = \"row\" === this._getElementType($target) && this.isRowFocusType() && isDataRow($target);\r\n var isFocusedSelectionCell = $target.hasClass(COMMAND_SELECT_CLASS);\r\n if (isFocusedSelectionCell && \"onClick\" === this.option(\"selection.showCheckBoxesMode\")) {\r\n this._selectionController.startSelectionWithCheckboxes()\r\n }\r\n if (isFocusedRowElement || $target.parent().hasClass(DATA_ROW_CLASS) || $target.hasClass(this.addWidgetPrefix(ROWS_VIEW_CLASS))) {\r\n this._selectionController.changeItemSelection(rowIndex, {\r\n shift: eventArgs.shift,\r\n control: eventArgs.ctrl\r\n });\r\n eventArgs.originalEvent.preventDefault();\r\n return true\r\n }\r\n return false\r\n }\r\n return this._beginFastEditing(eventArgs.originalEvent)\r\n }\r\n _ctrlAKeyHandler(eventArgs, isEditing) {\r\n if (!isEditing && !eventArgs.alt && \"multiple\" === this.option(\"selection.mode\") && this.option(\"selection.allowSelectAll\")) {\r\n this._selectionController.selectAll();\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _tabKeyHandler(eventArgs, isEditing) {\r\n var editingOptions = this.option(\"editing\");\r\n var direction = eventArgs.shift ? \"previous\" : \"next\";\r\n var isCellPositionDefined = isDefined(this._focusedCellPosition) && !isEmptyObject(this._focusedCellPosition);\r\n var isOriginalHandlerRequired = !isCellPositionDefined || !eventArgs.shift && this._isLastValidCell(this._focusedCellPosition) || eventArgs.shift && this._isFirstValidCell(this._focusedCellPosition);\r\n var eventTarget = eventArgs.originalEvent.target;\r\n var focusedViewElement = this._focusedView && this._focusedView.element();\r\n if (this._handleTabKeyOnMasterDetailCell(eventTarget, direction)) {\r\n return\r\n }\r\n $(focusedViewElement).addClass(FOCUS_STATE_CLASS);\r\n if (editingOptions && eventTarget && !isOriginalHandlerRequired) {\r\n if ($(eventTarget).hasClass(this.addWidgetPrefix(ROWS_VIEW_CLASS))) {\r\n this._resetFocusedCell()\r\n }\r\n if (this._isVirtualColumnRender()) {\r\n this._processVirtualHorizontalPosition(direction)\r\n }\r\n if (isEditing) {\r\n if (!this._editingCellTabHandler(eventArgs, direction)) {\r\n return\r\n }\r\n } else if (this._targetCellTabHandler(eventArgs, direction)) {\r\n isOriginalHandlerRequired = true\r\n }\r\n }\r\n if (isOriginalHandlerRequired) {\r\n this._editorFactory.loseFocus();\r\n if (this._editingController.isEditing() && !this._isRowEditMode()) {\r\n this._resetFocusedCell(true);\r\n this._resetFocusedView();\r\n this._closeEditCell()\r\n }\r\n } else {\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _getMaxHorizontalOffset() {\r\n var scrollable = this.component.getScrollable();\r\n return scrollable ? scrollable.scrollWidth() - getWidth(this._rowsView.element()) : 0\r\n }\r\n _isColumnRendered(columnIndex) {\r\n var allVisibleColumns = this._columnsController.getVisibleColumns(null, true);\r\n var renderedVisibleColumns = this._columnsController.getVisibleColumns();\r\n var column = allVisibleColumns[columnIndex];\r\n var result = false;\r\n if (column) {\r\n result = renderedVisibleColumns.indexOf(column) >= 0\r\n }\r\n return result\r\n }\r\n _isFixedColumn(columnIndex) {\r\n var allVisibleColumns = this._columnsController.getVisibleColumns(null, true);\r\n var column = allVisibleColumns[columnIndex];\r\n return !!column && !!column.fixed\r\n }\r\n _isColumnVirtual(columnIndex) {\r\n var localColumnIndex = columnIndex - this._columnsController.getColumnIndexOffset();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var column = visibleColumns[localColumnIndex];\r\n return !!column && \"virtual\" === column.command\r\n }\r\n _processVirtualHorizontalPosition(direction) {\r\n var scrollable = this.component.getScrollable();\r\n var columnIndex = this.getColumnIndex();\r\n var nextColumnIndex;\r\n var horizontalScrollPosition = 0;\r\n var needToScroll = false;\r\n switch (direction) {\r\n case \"next\":\r\n case \"nextInRow\":\r\n var columnsCount = this._getVisibleColumnCount();\r\n nextColumnIndex = columnIndex + 1;\r\n horizontalScrollPosition = this.option(\"rtlEnabled\") ? this._getMaxHorizontalOffset() : 0;\r\n if (\"next\" === direction) {\r\n needToScroll = columnsCount === nextColumnIndex || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n } else {\r\n needToScroll = columnsCount > nextColumnIndex && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n }\r\n break;\r\n case \"previous\":\r\n case \"previousInRow\":\r\n nextColumnIndex = columnIndex - 1;\r\n horizontalScrollPosition = this.option(\"rtlEnabled\") ? 0 : this._getMaxHorizontalOffset();\r\n if (\"previous\" === direction) {\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var leftEdgePosition = nextColumnIndex < 0 && 0 === columnIndexOffset;\r\n needToScroll = leftEdgePosition || this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n } else {\r\n needToScroll = nextColumnIndex >= 0 && this._isFixedColumn(columnIndex) && !this._isColumnRendered(nextColumnIndex)\r\n }\r\n }\r\n if (needToScroll) {\r\n scrollable.scrollTo({\r\n left: horizontalScrollPosition\r\n })\r\n } else if (isDefined(nextColumnIndex) && isDefined(direction) && this._isColumnVirtual(nextColumnIndex)) {\r\n horizontalScrollPosition = this._getHorizontalScrollPositionOffset(direction);\r\n 0 !== horizontalScrollPosition && scrollable.scrollBy({\r\n left: horizontalScrollPosition,\r\n top: 0\r\n })\r\n }\r\n }\r\n _getHorizontalScrollPositionOffset(direction) {\r\n var positionOffset = 0;\r\n var $currentCell = this._getCell(this._focusedCellPosition);\r\n var currentCellWidth = $currentCell && getOuterWidth($currentCell);\r\n if (currentCellWidth > 0) {\r\n var rtlMultiplier = this.option(\"rtlEnabled\") ? -1 : 1;\r\n positionOffset = \"nextInRow\" === direction || \"next\" === direction ? currentCellWidth * rtlMultiplier : currentCellWidth * rtlMultiplier * -1\r\n }\r\n return positionOffset\r\n }\r\n _editingCellTabHandler(eventArgs, direction) {\r\n var eventTarget = eventArgs.originalEvent.target;\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var isEditingAllowed;\r\n var $event = eventArgs.originalEvent;\r\n var elementType = this._getElementType(eventTarget);\r\n if ($cell.is(COMMAND_CELL_SELECTOR)) {\r\n return !this._targetCellTabHandler(eventArgs, direction)\r\n }\r\n this._updateFocusedCellPosition($cell);\r\n var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType);\r\n $cell = nextCellInfo.$cell;\r\n if (!$cell || this._handleTabKeyOnMasterDetailCell($cell, direction)) {\r\n return false\r\n }\r\n var columnsController = this._columnsController;\r\n var cellIndex = this._rowsView.getCellIndex($cell);\r\n var columnIndex = cellIndex + columnsController.getColumnIndexOffset();\r\n var column = columnsController.getVisibleColumns(null, true)[columnIndex];\r\n var $row = $cell.parent();\r\n var rowIndex = this._getRowIndex($row);\r\n var row = this._dataController.items()[rowIndex];\r\n var editingController = this._editingController;\r\n if (column && column.allowEditing) {\r\n var _isDataRow = !row || \"data\" === row.rowType;\r\n isEditingAllowed = editingController.allowUpdating({\r\n row: row\r\n }) ? _isDataRow : row && row.isNewRow\r\n }\r\n if (!isEditingAllowed) {\r\n this._closeEditCell()\r\n }\r\n if (this._focusCell($cell, !nextCellInfo.isHighlighted)) {\r\n if (!this._isRowEditMode() && isEditingAllowed) {\r\n this._editFocusedCell()\r\n } else {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return true\r\n }\r\n _targetCellTabHandler(eventArgs, direction) {\r\n var $event = eventArgs.originalEvent;\r\n var eventTarget = $event.target;\r\n var $cell = this._getCellElementFromTarget(eventTarget);\r\n var $lastInteractiveElement = this._getInteractiveElement($cell, !eventArgs.shift);\r\n var isOriginalHandlerRequired = false;\r\n var elementType;\r\n if (!isEditorCell(this, $cell) && $lastInteractiveElement.length && eventTarget !== $lastInteractiveElement.get(0)) {\r\n isOriginalHandlerRequired = true\r\n } else {\r\n if (void 0 === this._focusedCellPosition.rowIndex && $(eventTarget).hasClass(ROW_CLASS)) {\r\n this._updateFocusedCellPosition($cell)\r\n }\r\n elementType = this._getElementType(eventTarget);\r\n if (this.isRowFocusType()) {\r\n this.setCellFocusType();\r\n if (\"row\" === elementType && isDataRow($(eventTarget))) {\r\n eventTarget = this.getFirstValidCellInRow($(eventTarget));\r\n elementType = this._getElementType(eventTarget)\r\n }\r\n }\r\n var nextCellInfo = this._getNextCellByTabKey($event, direction, elementType);\r\n $cell = nextCellInfo.$cell;\r\n if (!$cell) {\r\n return false\r\n }\r\n $cell = this._checkNewLineTransition($event, $cell);\r\n if (!$cell) {\r\n return false\r\n }\r\n this._focusCell($cell, !nextCellInfo.isHighlighted);\r\n if (!isEditorCell(this, $cell)) {\r\n this._focusInteractiveElement($cell, eventArgs.shift)\r\n }\r\n }\r\n return isOriginalHandlerRequired\r\n }\r\n _getNextCellByTabKey($event, direction, elementType) {\r\n var $cell = this._getNextCell(direction, elementType);\r\n var args = $cell && this._fireFocusedCellChanging($event, $cell, true);\r\n if (!args || args.cancel) {\r\n return {}\r\n }\r\n if (args.$newCellElement) {\r\n $cell = args.$newCellElement\r\n }\r\n return {\r\n $cell: $cell,\r\n isHighlighted: args.isHighlighted\r\n }\r\n }\r\n _checkNewLineTransition($event, $cell) {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = $cell.parent();\r\n if (rowIndex !== this._getRowIndex($row)) {\r\n var cellPosition = this._getCellPosition($cell);\r\n var args = this._fireFocusedRowChanging($event, $row);\r\n if (args.cancel) {\r\n return\r\n }\r\n if (args.rowIndexChanged && cellPosition) {\r\n this.setFocusedColumnIndex(cellPosition.columnIndex);\r\n $cell = this._getFocusedCell()\r\n }\r\n }\r\n return $cell\r\n }\r\n _enterKeyHandler(eventArgs, isEditing) {\r\n var $cell = this._getFocusedCell();\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n if (this.option(\"grouping.allowCollapsing\") && isGroupRow($row) || this.option(\"masterDetail.enabled\") && $cell && $cell.hasClass(COMMAND_EXPAND_CLASS)) {\r\n var key = this._dataController.getKeyByRowIndex(rowIndex);\r\n var item = this._dataController.items()[rowIndex];\r\n if (void 0 !== key && item && item.data && !item.data.isContinuation) {\r\n this._dataController.changeRowExpand(key)\r\n }\r\n } else {\r\n this._processEnterKeyForDataCell(eventArgs, isEditing)\r\n }\r\n }\r\n _processEnterKeyForDataCell(eventArgs, isEditing) {\r\n var direction = this._getEnterKeyDirection(eventArgs);\r\n var allowEditingOnEnterKey = this._allowEditingOnEnterKey();\r\n if (isEditing || !allowEditingOnEnterKey && direction) {\r\n this._handleEnterKeyEditingCell(eventArgs.originalEvent);\r\n if (\"next\" === direction || \"previous\" === direction) {\r\n this._targetCellTabHandler(eventArgs, direction)\r\n } else if (\"upArrow\" === direction || \"downArrow\" === direction) {\r\n this._navigateNextCell(eventArgs.originalEvent, direction)\r\n }\r\n } else if (allowEditingOnEnterKey) {\r\n this._startEditing(eventArgs)\r\n }\r\n }\r\n _getEnterKeyDirection(eventArgs) {\r\n var enterKeyDirection = this.option(\"keyboardNavigation.enterKeyDirection\");\r\n var isShift = eventArgs.shift;\r\n if (\"column\" === enterKeyDirection) {\r\n return isShift ? \"upArrow\" : \"downArrow\"\r\n }\r\n if (\"row\" === enterKeyDirection) {\r\n return isShift ? \"previous\" : \"next\"\r\n }\r\n return\r\n }\r\n _handleEnterKeyEditingCell(event) {\r\n var {\r\n target: target\r\n } = event;\r\n var $cell = this._getCellElementFromTarget(target);\r\n var isRowEditMode = this._isRowEditMode();\r\n this._updateFocusedCellPosition($cell);\r\n if (isRowEditMode) {\r\n this._focusEditFormCell($cell);\r\n setTimeout(this._editingController.saveEditData.bind(this._editingController))\r\n } else {\r\n eventsEngine.trigger($(target), \"change\");\r\n this._closeEditCell();\r\n event.preventDefault()\r\n }\r\n }\r\n _escapeKeyHandler(eventArgs, isEditing) {\r\n var $cell = this._getCellElementFromTarget(eventArgs.originalEvent.target);\r\n if (isEditing) {\r\n this._updateFocusedCellPosition($cell);\r\n if (!this._isRowEditMode()) {\r\n if (\"cell\" === this._editingController.getEditMode()) {\r\n this._editingController.cancelEditData()\r\n } else {\r\n this._closeEditCell()\r\n }\r\n } else {\r\n this._focusEditFormCell($cell);\r\n this._editingController.cancelEditData();\r\n if (0 === this._dataController.items().length) {\r\n this._resetFocusedCell();\r\n this._editorFactory.loseFocus()\r\n }\r\n }\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n _ctrlFKeyHandler(eventArgs) {\r\n if (this.option(\"searchPanel.visible\")) {\r\n var searchTextEditor = this._headerPanel.getSearchTextEditor();\r\n if (searchTextEditor) {\r\n searchTextEditor.focus();\r\n eventArgs.originalEvent.preventDefault()\r\n }\r\n }\r\n }\r\n _f2KeyHandler() {\r\n var isEditing = this._editingController.isEditing();\r\n var rowIndex = this.getVisibleRowIndex();\r\n var $row = this._focusedView && this._focusedView.getRow(rowIndex);\r\n if (!isEditing && isDataRow($row)) {\r\n this._startEditing()\r\n }\r\n }\r\n _navigateNextCell($event, keyCode) {\r\n var $cell = this._getNextCell(keyCode);\r\n var directionCode = this._getDirectionCodeByKey(keyCode);\r\n var isCellValid = $cell && this._isCellValid($cell);\r\n var result = isCellValid ? this._arrowKeysHandlerFocusCell($event, $cell, directionCode) : false;\r\n return result\r\n }\r\n _arrowKeysHandlerFocusCell($event, $nextCell, direction) {\r\n var isVerticalDirection = \"prevRow\" === direction || \"nextRow\" === direction;\r\n var args = this._fireFocusChangingEvents($event, $nextCell, isVerticalDirection, true);\r\n $nextCell = args.$newCellElement;\r\n if (!args.cancel && this._isCellValid($nextCell)) {\r\n this._focus($nextCell, !args.isHighlighted);\r\n return true\r\n }\r\n return false\r\n }\r\n _beginFastEditing(originalEvent, isDeleting) {\r\n if (!this._isFastEditingAllowed() || originalEvent.altKey || originalEvent.ctrlKey || this._editingController.isEditing()) {\r\n return false\r\n }\r\n if (isDeleting) {\r\n this._startEditing(originalEvent, FAST_EDITING_DELETE_KEY)\r\n } else {\r\n var {\r\n key: key\r\n } = originalEvent;\r\n var keyCode = originalEvent.keyCode || originalEvent.which;\r\n var fastEditingKey = key || keyCode && String.fromCharCode(keyCode);\r\n if (fastEditingKey && (1 === fastEditingKey.length || fastEditingKey === FAST_EDITING_DELETE_KEY)) {\r\n this._startEditing(originalEvent, fastEditingKey)\r\n }\r\n }\r\n return true\r\n }\r\n _pointerEventHandler(e) {\r\n var _a;\r\n var event = e.event || e;\r\n var $target = $(event.currentTarget);\r\n var focusedViewElement = null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element();\r\n var $parent = $target.parent();\r\n var isInteractiveElement = $(event.target).is(INTERACTIVE_ELEMENTS_SELECTOR);\r\n var isRevertButton = !!$(event.target).closest(\".\".concat(REVERT_BUTTON_CLASS)).length;\r\n var isExpandCommandCell = $target.hasClass(COMMAND_EXPAND_CLASS);\r\n if (!this._isEventInCurrentGrid(event)) {\r\n return\r\n }\r\n if (!isRevertButton && (this._isCellValid($target, !isInteractiveElement) || isExpandCommandCell)) {\r\n $target = this._isInsideEditForm($target) ? $(event.target) : $target;\r\n this._focusView();\r\n $(focusedViewElement).removeClass(FOCUS_STATE_CLASS);\r\n if ($parent.hasClass(FREESPACE_ROW_CLASS)) {\r\n this._updateFocusedCellPosition($target);\r\n this._applyTabIndexToElement(this._focusedView.element());\r\n this._focusedView.focus(true)\r\n } else if (!this._isMasterDetailCell($target)) {\r\n this._clickTargetCellHandler(event, $target)\r\n } else {\r\n this._updateFocusedCellPosition($target)\r\n }\r\n } else if ($target.is(\"td\")) {\r\n this._resetFocusedCell()\r\n }\r\n }\r\n _clickTargetCellHandler(event, $cell) {\r\n var columnIndex = this._rowsView.getCellIndex($cell);\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n var isCellEditMode = this._isCellEditMode();\r\n this.setCellFocusType();\r\n var args = this._fireFocusChangingEvents(event, $cell, true);\r\n $cell = args.$newCellElement;\r\n if (!args.cancel) {\r\n if (args.resetFocusedRow) {\r\n this.getController(\"focus\")._resetFocusedRow();\r\n return\r\n }\r\n if (args.rowIndexChanged) {\r\n $cell = this._getFocusedCell()\r\n }\r\n if (!args.isHighlighted && !isCellEditMode) {\r\n this.setRowFocusType()\r\n }\r\n this._updateFocusedCellPosition($cell);\r\n if (this._allowRowUpdating() && isCellEditMode && column && column.allowEditing) {\r\n this._isNeedFocus = false;\r\n this._isHiddenFocus = false\r\n } else {\r\n $cell = this._getFocusedCell();\r\n var $target = event && $(event.target).closest(\"\".concat(NON_FOCUSABLE_ELEMENTS_SELECTOR, \", td\"));\r\n var skipFocusEvent = $target && $target.not($cell).is(NON_FOCUSABLE_ELEMENTS_SELECTOR);\r\n var isEditor = !!column && !column.command && $cell.hasClass(EDITOR_CELL_CLASS);\r\n var isDisabled = !isEditor && (!args.isHighlighted || skipFocusEvent);\r\n this._focus($cell, isDisabled, skipFocusEvent)\r\n }\r\n } else {\r\n this.setRowFocusType();\r\n this.setFocusedRowIndex(args.prevRowIndex);\r\n if (this._editingController.isEditing() && isCellEditMode) {\r\n this._closeEditCell()\r\n }\r\n }\r\n }\r\n _allowRowUpdating() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var row = this._dataController.items()[rowIndex];\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }, \"click\")\r\n }\r\n focus(element) {\r\n var activeElementSelector;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var isHighlighted = this._isCellElement($(element));\r\n if (!element) {\r\n activeElementSelector = \".dx-datagrid-rowsview .dx-row[tabindex]\";\r\n if (!focusedRowEnabled) {\r\n activeElementSelector += \", .dx-datagrid-rowsview .dx-row > td[tabindex]\"\r\n }\r\n element = this.component.$element().find(activeElementSelector).first()\r\n }\r\n element && this._focusElement($(element), isHighlighted)\r\n }\r\n getFocusedView() {\r\n return this._focusedView\r\n }\r\n setupFocusedView() {\r\n if (this.isKeyboardEnabled() && !isDefined(this._focusedView)) {\r\n this._focusView()\r\n }\r\n }\r\n _focusElement($element, isHighlighted) {\r\n var rowsViewElement = $(this._getRowsViewElement());\r\n var $focusedView = $element.closest(rowsViewElement);\r\n var isRowFocusType = this.isRowFocusType();\r\n var args = {};\r\n if (!$focusedView.length || this._isCellElement($element) && !this._isCellValid($element)) {\r\n return\r\n }\r\n this._focusView();\r\n this._isNeedFocus = true;\r\n this._isNeedScroll = true;\r\n if (this._isCellElement($element) || isGroupRow($element)) {\r\n this.setCellFocusType();\r\n args = this._fireFocusChangingEvents(null, $element, true, isHighlighted);\r\n $element = args.$newCellElement;\r\n if (isRowFocusType && !args.isHighlighted) {\r\n this.setRowFocusType()\r\n }\r\n }\r\n if (!args.cancel) {\r\n this._focus($element, !args.isHighlighted);\r\n this._focusInteractiveElement($element)\r\n }\r\n }\r\n _getFocusedViewByElement($element) {\r\n var view = this.getFocusedView();\r\n var $view = view && $(view.element());\r\n return $element && 0 !== $element.closest($view).length\r\n }\r\n _focusView() {\r\n this._focusedView = this._rowsView\r\n }\r\n _resetFocusedView() {\r\n this.setRowFocusType();\r\n this._focusedView = null\r\n }\r\n _focusInteractiveElement($cell, isLast) {\r\n if (!$cell) {\r\n return\r\n }\r\n var $focusedElement = this._getInteractiveElement($cell, isLast);\r\n gridCoreUtils.focusAndSelectElement(this, $focusedElement)\r\n }\r\n _focus($cell, disableFocus, skipFocusEvent) {\r\n var $row = $cell && !$cell.hasClass(ROW_CLASS) ? $cell.closest(\".\".concat(ROW_CLASS)) : $cell;\r\n if ($row && isNotFocusedRow($row)) {\r\n return\r\n }\r\n var focusedView = this._focusedView;\r\n var $focusViewElement = focusedView && focusedView.element();\r\n var $focusElement;\r\n this._isHiddenFocus = disableFocus;\r\n var isRowFocus = isGroupRow($row) || isGroupFooterRow($row) || this.isRowFocusType();\r\n if (isRowFocus) {\r\n $focusElement = $row;\r\n if (focusedView) {\r\n this.setFocusedRowIndex(this._getRowIndex($row))\r\n }\r\n } else if (this._isCellElement($cell)) {\r\n $focusElement = $cell;\r\n this._updateFocusedCellPosition($cell)\r\n }\r\n if ($focusElement) {\r\n if ($focusViewElement) {\r\n $focusViewElement.find(\".dx-row[tabindex], .dx-row > td[tabindex]\").not($focusElement).removeClass(CELL_FOCUS_DISABLED_CLASS).removeClass(FOCUSED_CLASS).removeAttr(\"tabindex\")\r\n }\r\n eventsEngine.one($focusElement, \"blur\", e => {\r\n if (e.relatedTarget) {\r\n $focusElement.removeClass(CELL_FOCUS_DISABLED_CLASS).removeClass(FOCUSED_CLASS)\r\n }\r\n });\r\n if (!skipFocusEvent) {\r\n this._applyTabIndexToElement($focusElement);\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n if (disableFocus) {\r\n $focusElement.addClass(CELL_FOCUS_DISABLED_CLASS);\r\n if (isRowFocus) {\r\n $cell.addClass(CELL_FOCUS_DISABLED_CLASS)\r\n }\r\n } else {\r\n this._editorFactory.focus($focusElement)\r\n }\r\n }\r\n }\r\n _updateFocus(isRenderView) {\r\n this._updateFocusTimeout = setTimeout(() => {\r\n var editingController = this._editingController;\r\n var isCellEditMode = editingController.getEditMode() === EDIT_MODE_CELL;\r\n var isBatchEditMode = editingController.getEditMode() === EDIT_MODE_BATCH;\r\n if (isCellEditMode && editingController.hasChanges() || isBatchEditMode && editingController.isNewRowInEditMode()) {\r\n editingController._focusEditingCell();\r\n return\r\n }\r\n var $cell = this._getFocusedCell();\r\n var isEditing = editingController.isEditing();\r\n if ($cell && !(this._isMasterDetailCell($cell) && !this._isRowEditMode())) {\r\n if (this._hasSkipRow($cell.parent())) {\r\n var direction = this._focusedCellPosition && this._focusedCellPosition.rowIndex > 0 ? \"upArrow\" : \"downArrow\";\r\n $cell = this._getNextCell(direction)\r\n }\r\n if (isElementDefined($cell)) {\r\n if ($cell.is(\"td\") || $cell.hasClass(this.addWidgetPrefix(EDIT_FORM_ITEM_CLASS))) {\r\n var isCommandCell = $cell.is(COMMAND_CELL_SELECTOR);\r\n var $focusedElementInsideCell = $cell.find(\":focus\");\r\n var isFocusedElementDefined = isElementDefined($focusedElementInsideCell);\r\n if ((isRenderView || !isCommandCell) && this._editorFactory.focus()) {\r\n if (isCommandCell && isFocusedElementDefined) {\r\n gridCoreUtils.focusAndSelectElement(this, $focusedElementInsideCell);\r\n return\r\n }!isFocusedElementDefined && this._focus($cell)\r\n } else if (!isFocusedElementDefined && (this._isNeedFocus || this._isHiddenFocus)) {\r\n this._focus($cell, this._isHiddenFocus)\r\n }\r\n if (isEditing) {\r\n this._focusInteractiveElement.bind(this)($cell)\r\n }\r\n } else {\r\n eventsEngine.trigger($cell, \"focus\")\r\n }\r\n }\r\n }\r\n })\r\n }\r\n _getFocusedCell() {\r\n return $(this._getCell(this._focusedCellPosition))\r\n }\r\n _updateFocusedCellPositionByTarget(target) {\r\n var _a;\r\n var elementType = this._getElementType(target);\r\n if (\"row\" === elementType && isDefined(null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex)) {\r\n var $row = $(target);\r\n this._focusedView && isGroupRow($row) && this.setFocusedRowIndex(this._getRowIndex($row))\r\n } else {\r\n this._updateFocusedCellPosition(this._getCellElementFromTarget(target))\r\n }\r\n }\r\n _updateFocusedCellPosition($cell, direction) {\r\n var position = this._getCellPosition($cell, direction);\r\n if (position) {\r\n if (!$cell.length || position.rowIndex >= 0 && position.columnIndex >= 0) {\r\n this.setFocusedCellPosition(position.rowIndex, position.columnIndex)\r\n }\r\n }\r\n return position\r\n }\r\n _getFocusedColumnIndexOffset(columnIndex) {\r\n var offset = 0;\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n if (column && column.fixed) {\r\n offset = this._getFixedColumnIndexOffset(column)\r\n } else if (columnIndex >= 0) {\r\n offset = this._columnsController.getColumnIndexOffset()\r\n }\r\n return offset\r\n }\r\n _getFixedColumnIndexOffset(column) {\r\n var offset = isFixedColumnIndexOffsetRequired(this, column) ? this._getVisibleColumnCount() - this._columnsController.getVisibleColumns().length : 0;\r\n return offset\r\n }\r\n _getCellPosition($cell, direction) {\r\n var columnIndex;\r\n var $row = isElementDefined($cell) && $cell.closest(\"tr\");\r\n if (isElementDefined($row)) {\r\n var rowIndex = this._getRowIndex($row);\r\n columnIndex = this._rowsView.getCellIndex($cell, rowIndex);\r\n columnIndex += this._getFocusedColumnIndexOffset(columnIndex);\r\n if (direction) {\r\n columnIndex = \"previous\" === direction ? columnIndex - 1 : columnIndex + 1;\r\n columnIndex = this._applyColumnIndexBoundaries(columnIndex)\r\n }\r\n return {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n return\r\n }\r\n _focusCell($cell, isDisabled) {\r\n if (this._isCellValid($cell)) {\r\n this._focus($cell, isDisabled);\r\n return true\r\n }\r\n return\r\n }\r\n _focusEditFormCell($cell) {\r\n if ($cell.hasClass(MASTER_DETAIL_CELL_CLASS)) {\r\n this._editorFactory.focus($cell, true)\r\n }\r\n }\r\n _resetFocusedCell(preventScroll) {\r\n var _a;\r\n var $cell = this._getFocusedCell();\r\n isElementDefined($cell) && $cell.removeAttr(\"tabindex\");\r\n this._isNeedFocus = false;\r\n this._isNeedScroll = false;\r\n this._focusedCellPosition = {};\r\n clearTimeout(this._updateFocusTimeout);\r\n null === (_a = this._focusedView) || void 0 === _a ? void 0 : _a.renderFocusState({\r\n preventScroll: preventScroll\r\n })\r\n }\r\n restoreFocusableElement(rowIndex, $event) {\r\n var args;\r\n var $rowElement;\r\n var isUpArrow = isDefined(rowIndex);\r\n var $rowsViewElement = this._rowsView.element();\r\n var {\r\n columnIndex: columnIndex\r\n } = this._focusedCellPosition;\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n rowIndex = isUpArrow ? rowIndex : this._rowsView.getTopVisibleItemIndex() + rowIndexOffset;\r\n if (!isUpArrow) {\r\n this._editorFactory.loseFocus();\r\n this._applyTabIndexToElement($rowsViewElement);\r\n eventsEngine.trigger($rowsViewElement, \"focus\")\r\n } else {\r\n $rowElement = this._rowsView.getRow(rowIndex - rowIndexOffset);\r\n args = this._fireFocusedRowChanging($event, $rowElement);\r\n if (!args.cancel && args.rowIndexChanged) {\r\n rowIndex = args.newRowIndex\r\n }\r\n }\r\n if (!isUpArrow || !args.cancel) {\r\n this.setFocusedCellPosition(rowIndex, columnIndex)\r\n }\r\n isUpArrow && this._updateFocus()\r\n }\r\n _getNewPositionByCode(cellPosition, elementType, code) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellPosition;\r\n var visibleColumnsCount;\r\n if (void 0 === cellPosition.rowIndex && \"next\" === code) {\r\n return {\r\n columnIndex: 0,\r\n rowIndex: 0\r\n }\r\n }\r\n switch (code) {\r\n case \"nextInRow\":\r\n case \"next\":\r\n visibleColumnsCount = this._getVisibleColumnCount();\r\n if (columnIndex < visibleColumnsCount - 1 && \"row\" !== elementType && this._hasValidCellAfterPosition({\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n })) {\r\n columnIndex++\r\n } else if (!this._isLastRow(rowIndex) && \"next\" === code) {\r\n columnIndex = 0;\r\n rowIndex++\r\n }\r\n break;\r\n case \"previousInRow\":\r\n case \"previous\":\r\n if (columnIndex > 0 && \"row\" !== elementType && this._hasValidCellBeforePosition({\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n })) {\r\n columnIndex--\r\n } else if (rowIndex > 0 && \"previous\" === code) {\r\n rowIndex--;\r\n visibleColumnsCount = this._getVisibleColumnCount();\r\n columnIndex = visibleColumnsCount - 1\r\n }\r\n break;\r\n case \"upArrow\":\r\n rowIndex = rowIndex > 0 ? rowIndex - 1 : rowIndex;\r\n break;\r\n case \"downArrow\":\r\n rowIndex = !this._isLastRow(rowIndex) ? rowIndex + 1 : rowIndex\r\n }\r\n return {\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex\r\n }\r\n }\r\n setFocusedCellPosition(rowIndex, columnIndex) {\r\n this.setFocusedRowIndex(rowIndex);\r\n this.setFocusedColumnIndex(columnIndex)\r\n }\r\n setFocusedRowIndex(rowIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n setFocusedColumnIndex(columnIndex) {\r\n if (!this._focusedCellPosition) {\r\n this._focusedCellPosition = {}\r\n }\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n getRowIndex() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.rowIndex : -1\r\n }\r\n getColumnIndex() {\r\n return this._focusedCellPosition ? this._focusedCellPosition.columnIndex : -1\r\n }\r\n getVisibleRowIndex() {\r\n var _a;\r\n var rowIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.rowIndex;\r\n return !isDefined(rowIndex) || rowIndex < 0 ? -1 : rowIndex - this._dataController.getRowIndexOffset()\r\n }\r\n getVisibleColumnIndex() {\r\n var _a;\r\n var columnIndex = null === (_a = this._focusedCellPosition) || void 0 === _a ? void 0 : _a.columnIndex;\r\n return !isDefined(columnIndex) ? -1 : columnIndex - this._columnsController.getColumnIndexOffset()\r\n }\r\n _applyColumnIndexBoundaries(columnIndex) {\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n if (columnIndex < 0) {\r\n columnIndex = 0\r\n } else if (columnIndex >= visibleColumnsCount) {\r\n columnIndex = visibleColumnsCount - 1\r\n }\r\n return columnIndex\r\n }\r\n _isCellByPositionValid(cellPosition) {\r\n var $cell = $(this._getCell(cellPosition));\r\n return this._isCellValid($cell)\r\n }\r\n _isLastRow(rowIndex) {\r\n var dataController = this._dataController;\r\n var visibleItems = dataController.items().filter(item => false !== item.visible);\r\n if (this._isVirtualRowRender()) {\r\n return rowIndex >= dataController.getMaxRowIndex()\r\n }\r\n return rowIndex === visibleItems.length - 1\r\n }\r\n _isFirstValidCell(cellPosition) {\r\n var isFirstValidCell = false;\r\n if (0 === cellPosition.rowIndex && cellPosition.columnIndex >= 0) {\r\n isFirstValidCell = isFirstValidCell || !this._hasValidCellBeforePosition(cellPosition)\r\n }\r\n return isFirstValidCell\r\n }\r\n _hasValidCellBeforePosition(cellPosition) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var hasValidCells = false;\r\n while (columnIndex > 0 && !hasValidCells) {\r\n var checkingPosition = {\r\n columnIndex: --columnIndex,\r\n rowIndex: cellPosition.rowIndex\r\n };\r\n hasValidCells = this._isCellByPositionValid(checkingPosition)\r\n }\r\n return hasValidCells\r\n }\r\n _hasValidCellAfterPosition(cellPosition) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var hasValidCells = false;\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n while (columnIndex < visibleColumnCount - 1 && !hasValidCells) {\r\n var checkingPosition = {\r\n columnIndex: ++columnIndex,\r\n rowIndex: cellPosition.rowIndex\r\n };\r\n hasValidCells = this._isCellByPositionValid(checkingPosition)\r\n }\r\n return hasValidCells\r\n }\r\n _isLastValidCell(cellPosition) {\r\n var nextColumnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex + 1 : 0;\r\n var {\r\n rowIndex: rowIndex\r\n } = cellPosition;\r\n var checkingPosition = {\r\n columnIndex: nextColumnIndex,\r\n rowIndex: rowIndex\r\n };\r\n var visibleRows = this._dataController.getVisibleRows();\r\n var row = visibleRows && visibleRows[rowIndex];\r\n var isLastRow = this._isLastRow(rowIndex);\r\n if (!isLastRow) {\r\n return false\r\n }\r\n if (row && \"group\" === row.rowType && cellPosition.columnIndex > 0) {\r\n return true\r\n }\r\n if (cellPosition.columnIndex === this._getVisibleColumnCount() - 1) {\r\n return true\r\n }\r\n if (this._isCellByPositionValid(checkingPosition)) {\r\n return false\r\n }\r\n return this._isLastValidCell(checkingPosition)\r\n }\r\n _isCellValid($cell, isClick) {\r\n if (isElementDefined($cell)) {\r\n var $row = $cell.parent();\r\n var columnsController = this._columnsController;\r\n var columnIndex = this._rowsView.getCellIndex($cell) + columnsController.getColumnIndexOffset();\r\n var column = columnsController.getVisibleColumns(null, true)[columnIndex];\r\n var visibleColumnCount = this._getVisibleColumnCount();\r\n var editingController = this._editingController;\r\n var isMasterDetailRow = isDetailRow($row);\r\n var isShowWhenGrouped = column && column.showWhenGrouped;\r\n var isDataCell = column && !$cell.hasClass(COMMAND_EXPAND_CLASS) && isDataRow($row);\r\n var isDragCell = GridCoreKeyboardNavigationDom.isDragCell($cell);\r\n if (isDragCell) {\r\n return false\r\n }\r\n if (this._isMasterDetailCell($cell)) {\r\n return true\r\n }\r\n if (visibleColumnCount > columnIndex && (!isMasterDetailRow && column && (!isDefined(column.groupIndex) || isShowWhenGrouped && isDataCell) || parseInt($cell.attr(\"colspan\"), 10) > 1)) {\r\n var rowItems = this._dataController.items();\r\n var visibleRowIndex = this._rowsView.getRowIndex($row);\r\n var row = rowItems[visibleRowIndex];\r\n var isCellEditing = editingController && this._isCellEditMode() && editingController.isEditing();\r\n var isRowEditingInCurrentRow = editingController && editingController.isEditRow(visibleRowIndex);\r\n var isEditing = isRowEditingInCurrentRow || isCellEditing;\r\n if (column.command) {\r\n if (this._isLegacyNavigation()) {\r\n return !isEditing && \"expand\" === column.command\r\n }\r\n if (isCellEditing) {\r\n return false\r\n }\r\n if (isRowEditingInCurrentRow) {\r\n return \"select\" !== column.command\r\n }\r\n return !isEditing\r\n }\r\n if (isCellEditing && row && \"data\" !== row.rowType) {\r\n return false\r\n }\r\n return !isEditing || column.allowEditing || isClick\r\n }\r\n }\r\n }\r\n getFirstValidCellInRow($row, columnIndex) {\r\n var $cells = $row.find(\"> td\");\r\n var $cell;\r\n var $result;\r\n columnIndex = columnIndex || 0;\r\n for (var i = columnIndex; i < $cells.length; ++i) {\r\n $cell = $cells.eq(i);\r\n if (this._isCellValid($cell)) {\r\n $result = $cell;\r\n break\r\n }\r\n }\r\n return $result\r\n }\r\n _getNextCell(keyCode, elementType, cellPosition) {\r\n var focusedCellPosition = cellPosition || this._focusedCellPosition;\r\n var isRowFocusType = this.isRowFocusType();\r\n var includeCommandCells = isRowFocusType || [\"next\", \"previous\"].includes(keyCode);\r\n var $cell;\r\n var $row;\r\n if (this._focusedView && focusedCellPosition) {\r\n var newFocusedCellPosition = this._getNewPositionByCode(focusedCellPosition, elementType, keyCode);\r\n $cell = $(this._getCell(newFocusedCellPosition));\r\n var isLastCellOnDirection = \"previous\" === keyCode ? this._isFirstValidCell(newFocusedCellPosition) : this._isLastValidCell(newFocusedCellPosition);\r\n if (isElementDefined($cell) && !this._isCellValid($cell) && this._isCellInRow(newFocusedCellPosition, includeCommandCells) && !isLastCellOnDirection) {\r\n if (isRowFocusType) {\r\n $cell = this.getFirstValidCellInRow($cell.parent(), newFocusedCellPosition.columnIndex)\r\n } else {\r\n $cell = this._getNextCell(keyCode, \"cell\", newFocusedCellPosition)\r\n }\r\n }\r\n $row = isElementDefined($cell) && $cell.parent();\r\n if (this._hasSkipRow($row)) {\r\n var rowIndex = this._getRowIndex($row);\r\n if (!this._isLastRow(rowIndex)) {\r\n $cell = this._getNextCell(keyCode, \"row\", {\r\n columnIndex: focusedCellPosition.columnIndex,\r\n rowIndex: rowIndex\r\n })\r\n } else {\r\n return null\r\n }\r\n }\r\n return isElementDefined($cell) ? $cell : null\r\n }\r\n return null\r\n }\r\n _startEditing(eventArgs, fastEditingKey) {\r\n var focusedCellPosition = this._focusedCellPosition;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var visibleColumnIndex = this.getVisibleColumnIndex();\r\n var row = this._dataController.items()[visibleRowIndex];\r\n var column = this._columnsController.getVisibleColumns()[visibleColumnIndex];\r\n if (this._isAllowEditing(row, column)) {\r\n if (this._isRowEditMode()) {\r\n this._editingController.editRow(visibleRowIndex)\r\n } else if (focusedCellPosition) {\r\n this._startEditCell(eventArgs, fastEditingKey)\r\n }\r\n }\r\n }\r\n _isAllowEditing(row, column) {\r\n return this._editingController.allowUpdating({\r\n row: row\r\n }) && column && column.allowEditing\r\n }\r\n _editFocusedCell() {\r\n var rowIndex = this.getVisibleRowIndex();\r\n var colIndex = this.getVisibleColumnIndex();\r\n return this._editingController.editCell(rowIndex, colIndex)\r\n }\r\n _startEditCell(eventArgs, fastEditingKey) {\r\n this._fastEditingStarted = isDefined(fastEditingKey);\r\n var editResult = this._editFocusedCell();\r\n var isEditResultDeferred = isDeferred(editResult);\r\n var isFastEditingStarted = this._isFastEditingStarted();\r\n if (!isFastEditingStarted || !isEditResultDeferred && !editResult) {\r\n return\r\n }\r\n var editorValue = isEditResultDeferred && fastEditingKey === FAST_EDITING_DELETE_KEY ? \"\" : fastEditingKey;\r\n var editResultDeferred = isEditResultDeferred ? editResult : Deferred().resolve();\r\n var waitTemplatesDeferred = this._rowsView.waitAsyncTemplates(true);\r\n when(editResultDeferred, waitTemplatesDeferred).done(() => {\r\n this._editingCellHandler(eventArgs, editorValue)\r\n })\r\n }\r\n _editingCellHandler(eventArgs, editorValue) {\r\n var _a, _b;\r\n var $input = this._getFocusedCell().find(INTERACTIVE_ELEMENTS_SELECTOR).eq(0);\r\n var $inputElement = $input.get(0);\r\n if (!$inputElement) {\r\n return\r\n }\r\n var keyDownEvent = createEvent(eventArgs, {\r\n type: \"keydown\",\r\n target: $inputElement\r\n });\r\n var keyPressEvent = createEvent(eventArgs, {\r\n type: \"keypress\",\r\n target: $inputElement\r\n });\r\n var inputEvent = createEvent(eventArgs, {\r\n type: \"input\",\r\n target: $inputElement\r\n });\r\n if (inputEvent.originalEvent) {\r\n inputEvent.originalEvent = createEvent(inputEvent.originalEvent, {\r\n data: editorValue\r\n })\r\n }\r\n null === (_b = (_a = $inputElement).select) || void 0 === _b ? void 0 : _b.call(_a);\r\n eventsEngine.trigger($input, keyDownEvent);\r\n if (!keyDownEvent.isDefaultPrevented()) {\r\n eventsEngine.trigger($input, keyPressEvent);\r\n if (!keyPressEvent.isDefaultPrevented()) {\r\n var timeout = browser.mozilla ? 25 : 0;\r\n setTimeout(() => {\r\n $input.val(editorValue);\r\n var $widgetContainer = $input.closest(\".\".concat(WIDGET_CLASS));\r\n eventsEngine.off($widgetContainer, \"focusout\");\r\n eventsEngine.one($widgetContainer, \"focusout\", () => {\r\n eventsEngine.trigger($input, \"change\")\r\n });\r\n eventsEngine.trigger($input, inputEvent)\r\n }, timeout)\r\n }\r\n }\r\n }\r\n _fireFocusChangingEvents($event, $cell, fireRowEvent, isHighlighted) {\r\n var _a;\r\n var args = {};\r\n var cellPosition = null !== (_a = this._getCellPosition($cell)) && void 0 !== _a ? _a : {};\r\n if (this.isCellFocusType()) {\r\n args = this._fireFocusedCellChanging($event, $cell, isHighlighted);\r\n if (!args.cancel) {\r\n cellPosition.columnIndex = args.newColumnIndex;\r\n cellPosition.rowIndex = args.newRowIndex;\r\n isHighlighted = args.isHighlighted;\r\n $cell = $(this._getCell(cellPosition))\r\n }\r\n }\r\n if (!args.cancel && fireRowEvent && $cell) {\r\n args = this._fireFocusedRowChanging($event, $cell.parent());\r\n if (!args.cancel) {\r\n cellPosition.rowIndex = args.newRowIndex;\r\n args.isHighlighted = isHighlighted\r\n }\r\n }\r\n args.$newCellElement = $(this._getCell(cellPosition));\r\n if (!args.$newCellElement.length) {\r\n args.$newCellElement = $cell\r\n }\r\n return args\r\n }\r\n _fireFocusedCellChanging($event, $cellElement, isHighlighted) {\r\n var prevColumnIndex = this.option(\"focusedColumnIndex\");\r\n var prevRowIndex = this.option(\"focusedRowIndex\");\r\n var cellPosition = this._getCellPosition($cellElement);\r\n var columnIndex = cellPosition ? cellPosition.columnIndex : -1;\r\n var rowIndex = cellPosition ? cellPosition.rowIndex : -1;\r\n var visibleRows = this._dataController.getVisibleRows();\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var args = {\r\n cellElement: $cellElement,\r\n prevColumnIndex: prevColumnIndex,\r\n prevRowIndex: prevRowIndex,\r\n newColumnIndex: columnIndex,\r\n newRowIndex: rowIndex,\r\n rows: visibleRows,\r\n columns: visibleColumns,\r\n event: $event,\r\n isHighlighted: isHighlighted || false,\r\n cancel: false\r\n };\r\n this._canceledCellPosition = null;\r\n this.executeAction(\"onFocusedCellChanging\", args);\r\n if (args.newColumnIndex !== columnIndex || args.newRowIndex !== rowIndex) {\r\n args.$newCellElement = $(this._getCell({\r\n columnIndex: args.newColumnIndex,\r\n rowIndex: args.newRowIndex\r\n }))\r\n }\r\n if (args.cancel) {\r\n this._canceledCellPosition = {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n }\r\n }\r\n return args\r\n }\r\n _fireFocusedCellChanged($cell) {\r\n var columnIndex = this._rowsView.getCellIndex($cell);\r\n var rowOptions = null === $cell || void 0 === $cell ? void 0 : $cell.parent().data(\"options\");\r\n var focusedRowKey = null === rowOptions || void 0 === rowOptions ? void 0 : rowOptions.key;\r\n this._memoFireFocusedCellChanged(focusedRowKey, columnIndex)\r\n }\r\n _memoFireFocusedCellChanged(rowKey, columnIndex) {\r\n var $cell = this._getFocusedCell();\r\n var rowIndex = this._getRowIndex(null === $cell || void 0 === $cell ? void 0 : $cell.parent());\r\n var localRowIndex = Math.min(rowIndex - this._dataController.getRowIndexOffset(), this._dataController.items().length - 1);\r\n var isEditingCell = this._editingController.isEditCell(localRowIndex, columnIndex);\r\n if (isEditingCell) {\r\n return\r\n }\r\n var row = this._dataController.items()[localRowIndex];\r\n var column = this._columnsController.getVisibleColumns()[columnIndex];\r\n this.executeAction(\"onFocusedCellChanged\", {\r\n cellElement: $cell ? getPublicElement($cell) : void 0,\r\n columnIndex: columnIndex,\r\n rowIndex: rowIndex,\r\n row: row,\r\n column: column\r\n })\r\n }\r\n _fireFocusedRowChanging(eventArgs, $newFocusedRow) {\r\n var newRowIndex = this._getRowIndex($newFocusedRow);\r\n var prevFocusedRowIndex = this.option(\"focusedRowIndex\");\r\n var loadingOperationTypes = this._dataController.loadingOperationTypes();\r\n var args = {\r\n rowElement: $newFocusedRow,\r\n prevRowIndex: prevFocusedRowIndex,\r\n newRowIndex: newRowIndex,\r\n event: eventArgs,\r\n rows: this._dataController.getVisibleRows(),\r\n cancel: false\r\n };\r\n if (!this._dataController || this._dataController.isLoading() && (loadingOperationTypes.reload || loadingOperationTypes.paging)) {\r\n args.cancel = true;\r\n return args\r\n }\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.executeAction(\"onFocusedRowChanging\", args);\r\n if (!args.cancel && args.newRowIndex !== newRowIndex) {\r\n args.resetFocusedRow = args.newRowIndex < 0;\r\n if (!args.resetFocusedRow) {\r\n this.setFocusedRowIndex(args.newRowIndex)\r\n }\r\n args.rowIndexChanged = true\r\n }\r\n }\r\n return args\r\n }\r\n _fireFocusedRowChanged() {\r\n var _a;\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var focusedRowIndex = null === (_a = this._focusController) || void 0 === _a ? void 0 : _a.getFocusedRowIndexByKey(focusedRowKey);\r\n if (!focusedRowEnabled || isDefined(focusedRowKey) && focusedRowIndex < 0) {\r\n return\r\n }\r\n this._memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex)\r\n }\r\n _memoFireFocusedRowChanged(focusedRowKey, focusedRowIndex) {\r\n var localRowIndex = focusedRowIndex - this._dataController.getRowIndexOffset();\r\n this.executeAction(\"onFocusedRowChanged\", {\r\n rowElement: focusedRowIndex < 0 ? void 0 : this._rowsView.getRowElement(localRowIndex),\r\n rowIndex: focusedRowIndex,\r\n row: focusedRowIndex < 0 ? void 0 : this._dataController.getVisibleRows()[localRowIndex]\r\n })\r\n }\r\n _isEventInCurrentGrid(event) {\r\n return gridCoreUtils.isElementInCurrentGrid(this, $(event.target))\r\n }\r\n _isRowEditMode() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === EDIT_MODE_ROW || editMode === EDIT_MODE_FORM\r\n }\r\n _isCellEditMode() {\r\n var editMode = this._editingController.getEditMode();\r\n return editMode === EDIT_MODE_CELL || editMode === EDIT_MODE_BATCH\r\n }\r\n _isFastEditingAllowed() {\r\n return this._isCellEditMode() && this.option(\"keyboardNavigation.editOnKeyPress\")\r\n }\r\n _getInteractiveElement($cell, isLast) {\r\n var $focusedElement = $cell.find(INTERACTIVE_ELEMENTS_SELECTOR).filter(\":visible\");\r\n return isLast ? $focusedElement.last() : $focusedElement.first()\r\n }\r\n _applyTabIndexToElement($element) {\r\n var tabIndex = this.option(\"tabIndex\") || 0;\r\n $element.attr(\"tabindex\", isDefined(tabIndex) ? tabIndex : 0)\r\n }\r\n _getCell(cellPosition) {\r\n if (this._focusedView && cellPosition) {\r\n var rowIndexOffset = this._dataController.getRowIndexOffset();\r\n var column = this._columnsController.getVisibleColumns(null, true)[cellPosition.columnIndex];\r\n var columnIndexOffset = column && column.fixed ? this._getFixedColumnIndexOffset(column) : this._columnsController.getColumnIndexOffset();\r\n var rowIndex = cellPosition.rowIndex >= 0 ? cellPosition.rowIndex - rowIndexOffset : -1;\r\n var columnIndex = cellPosition.columnIndex >= 0 ? cellPosition.columnIndex - columnIndexOffset : -1;\r\n return this._focusedView.getCell({\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex\r\n })\r\n }\r\n }\r\n _getRowIndex($row) {\r\n var rowIndex = this._rowsView.getRowIndex($row);\r\n if (rowIndex >= 0) {\r\n rowIndex += this._dataController.getRowIndexOffset()\r\n }\r\n return rowIndex\r\n }\r\n _hasSkipRow($row) {\r\n var row = $row && $row.get(0);\r\n return row && (\"none\" === row.style.display || isDetailRow($row) && !$row.hasClass(this.addWidgetPrefix(EDIT_FORM_CLASS)))\r\n }\r\n _allowEditingOnEnterKey() {\r\n return \"startEdit\" === this.option(\"keyboardNavigation.enterKeyAction\")\r\n }\r\n _isLegacyNavigation() {\r\n return this.option(\"useLegacyKeyboardNavigation\")\r\n }\r\n _getDirectionCodeByKey(key) {\r\n var directionCode;\r\n switch (key) {\r\n case \"upArrow\":\r\n directionCode = \"prevRow\";\r\n break;\r\n case \"downArrow\":\r\n directionCode = \"nextRow\";\r\n break;\r\n case \"leftArrow\":\r\n directionCode = this.option(\"rtlEnabled\") ? \"nextInRow\" : \"previousInRow\";\r\n break;\r\n case \"rightArrow\":\r\n directionCode = this.option(\"rtlEnabled\") ? \"previousInRow\" : \"nextInRow\"\r\n }\r\n return directionCode\r\n }\r\n _isVirtualScrolling() {\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n return \"virtual\" === scrollingMode || \"infinite\" === scrollingMode\r\n }\r\n _isVirtualRowRender() {\r\n return this._isVirtualScrolling() || gridCoreUtils.isVirtualRowRendering(this)\r\n }\r\n _isVirtualColumnRender() {\r\n return \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n }\r\n _scrollBy(left, top, rowIndex, $event) {\r\n var that = this;\r\n var scrollable = this._rowsView.getScrollable();\r\n if (that._focusedCellPosition) {\r\n scrollable.on(\"scroll\", (function scrollHandler() {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n setTimeout(that.restoreFocusableElement.bind(that, rowIndex, $event))\r\n }))\r\n }\r\n return scrollable.scrollBy({\r\n left: left,\r\n top: top\r\n })\r\n }\r\n _isInsideEditForm(element) {\r\n var $editForm = $(element).closest(\".\".concat(this.addWidgetPrefix(EDIT_FORM_CLASS)));\r\n return $editForm.length && this.elementIsInsideGrid($editForm)\r\n }\r\n _isMasterDetailCell(element) {\r\n var $masterDetailCell = $(element).closest(\".\".concat(MASTER_DETAIL_CELL_CLASS));\r\n return $masterDetailCell.length && this.elementIsInsideGrid($masterDetailCell)\r\n }\r\n _processNextCellInMasterDetail($nextCell, _$cell) {\r\n if (!this._isInsideEditForm($nextCell) && $nextCell) {\r\n this._applyTabIndexToElement($nextCell)\r\n }\r\n }\r\n _handleTabKeyOnMasterDetailCell(target, direction) {\r\n if (this._isMasterDetailCell(target)) {\r\n this._updateFocusedCellPosition($(target), direction);\r\n var $nextCell = this._getNextCell(direction, \"row\");\r\n this._processNextCellInMasterDetail($nextCell, $(target));\r\n return true\r\n }\r\n return false\r\n }\r\n _getElementType(target) {\r\n return $(target).is(\"tr\") ? \"row\" : \"cell\"\r\n }\r\n _isFastEditingStarted() {\r\n return this._isFastEditingAllowed() && this._fastEditingStarted\r\n }\r\n _getVisibleColumnCount() {\r\n return this._columnsController.getVisibleColumns(null, true).length\r\n }\r\n _isCellInRow(cellPosition, includeCommandCells) {\r\n var {\r\n columnIndex: columnIndex\r\n } = cellPosition;\r\n var visibleColumnsCount = this._getVisibleColumnCount();\r\n return includeCommandCells ? columnIndex >= 0 && columnIndex <= visibleColumnsCount - 1 : columnIndex > 0 && columnIndex < visibleColumnsCount - 1\r\n }\r\n _isCellElement($element) {\r\n return $element.length && \"TD\" === $element[0].tagName\r\n }\r\n _getCellElementFromTarget(target) {\r\n var elementType = this._getElementType(target);\r\n var $targetElement = $(target);\r\n var $cell;\r\n if (\"cell\" === elementType) {\r\n $cell = $targetElement.closest(\".\".concat(ROW_CLASS, \" > td\"))\r\n } else {\r\n $cell = $targetElement.children().not(\".\".concat(COMMAND_EXPAND_CLASS)).first()\r\n }\r\n return $cell\r\n }\r\n _getRowsViewElement() {\r\n var _a;\r\n return null === (_a = this._rowsView) || void 0 === _a ? void 0 : _a.element()\r\n }\r\n isKeyboardEnabled() {\r\n return this.option(\"keyboardNavigation.enabled\")\r\n }\r\n _processCanceledEditCellPosition(rowIndex, columnIndex) {\r\n if (this._canceledCellPosition) {\r\n var isCanceled = this._canceledCellPosition.rowIndex === rowIndex && this._canceledCellPosition.columnIndex === columnIndex;\r\n this._canceledCellPosition = null;\r\n return isCanceled\r\n }\r\n return\r\n }\r\n updateFocusedRowIndex() {\r\n var dataController = this._dataController;\r\n var visibleRowIndex = this.getVisibleRowIndex();\r\n var visibleItems = dataController.items();\r\n var lastVisibleIndex = visibleItems.length ? visibleItems.length - 1 : -1;\r\n var rowIndexOffset = dataController.getRowIndexOffset();\r\n if (lastVisibleIndex >= 0 && visibleRowIndex > lastVisibleIndex) {\r\n this.setFocusedRowIndex(lastVisibleIndex + rowIndexOffset)\r\n }\r\n }\r\n}\r\nexport var keyboardNavigationModule = {\r\n defaultOptions: () => ({\r\n useLegacyKeyboardNavigation: false,\r\n keyboardNavigation: {\r\n enabled: true,\r\n enterKeyAction: \"startEdit\",\r\n enterKeyDirection: \"none\",\r\n editOnKeyPress: false\r\n }\r\n }),\r\n controllers: {\r\n keyboardNavigation: KeyboardNavigationController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _rowClick(e) {\r\n var editRowIndex = this.getController(\"editing\").getEditRowIndex();\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var isKeyboardEnabled = keyboardController.isKeyboardEnabled();\r\n if (editRowIndex === e.rowIndex) {\r\n keyboardController.setCellFocusType()\r\n }\r\n var needTriggerPointerEventHandler = (isMobile() || !isKeyboardEnabled) && this.option(\"focusedRowEnabled\");\r\n if (needTriggerPointerEventHandler) {\r\n this._triggerPointerDownEventHandler(e, !isKeyboardEnabled)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _triggerPointerDownEventHandler(e, force) {\r\n var {\r\n originalEvent: originalEvent\r\n } = e.event;\r\n if (originalEvent) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $cell = $(originalEvent.target);\r\n var columnIndex = this.getCellIndex($cell);\r\n var column = this.getController(\"columns\").getVisibleColumns()[columnIndex];\r\n var row = this.getController(\"data\").items()[e.rowIndex];\r\n if (keyboardController._isAllowEditing(row, column) || force) {\r\n var eventArgs = createEvent(originalEvent, {\r\n currentTarget: originalEvent.target\r\n });\r\n keyboardController._pointerEventHandler(eventArgs)\r\n }\r\n }\r\n },\r\n renderFocusState(params) {\r\n var {\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSizeChanged\r\n } = null !== params && void 0 !== params ? params : {};\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $rowsViewElement = this.element();\r\n if ($rowsViewElement && !focused($rowsViewElement)) {\r\n $rowsViewElement.attr(\"tabindex\", null)\r\n }\r\n pageSizeChanged && keyboardController.updateFocusedRowIndex();\r\n var rowIndex = keyboardController.getVisibleRowIndex();\r\n if (!isDefined(rowIndex) || rowIndex < 0) {\r\n rowIndex = 0\r\n }\r\n var cellElements = this.getCellElements(rowIndex);\r\n if (keyboardController.isKeyboardEnabled() && (null === cellElements || void 0 === cellElements ? void 0 : cellElements.length)) {\r\n this.updateFocusElementTabIndex(cellElements, preventScroll)\r\n }\r\n },\r\n updateFocusElementTabIndex(cellElements) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var $row = cellElements.eq(0).parent();\r\n if (isGroupRow($row)) {\r\n keyboardController._applyTabIndexToElement($row)\r\n } else {\r\n var columnIndex = keyboardController.getColumnIndex();\r\n if (!isDefined(columnIndex) || columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n this._updateFocusedCellTabIndex(cellElements, columnIndex)\r\n }\r\n },\r\n _updateFocusedCellTabIndex(cellElements, columnIndex) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var cellElementsLength = cellElements ? cellElements.length : -1;\r\n var updateCellTabIndex = function($cell) {\r\n var isMasterDetailCell = keyboardController._isMasterDetailCell($cell);\r\n var isValidCell = keyboardController._isCellValid($cell);\r\n if (!isMasterDetailCell && isValidCell && keyboardController._isCellElement($cell)) {\r\n keyboardController._applyTabIndexToElement($cell);\r\n keyboardController.setCellFocusType();\r\n return true\r\n }\r\n return\r\n };\r\n var $cell = GridCoreKeyboardNavigationDom.getCellToFocus(cellElements, columnIndex);\r\n if ($cell.length) {\r\n updateCellTabIndex($cell)\r\n } else {\r\n if (cellElementsLength <= columnIndex) {\r\n columnIndex = cellElementsLength - 1\r\n }\r\n for (var i = columnIndex; i < cellElementsLength; ++i) {\r\n if (updateCellTabIndex($(cellElements[i]))) {\r\n break\r\n }\r\n }\r\n }\r\n },\r\n renderDelayedTemplates(change) {\r\n this.callBase.apply(this, arguments);\r\n this._renderFocusByChange(change)\r\n },\r\n _renderFocusByChange(change) {\r\n var {\r\n operationTypes: operationTypes,\r\n repaintChangesOnly: repaintChangesOnly\r\n } = null !== change && void 0 !== change ? change : {};\r\n var {\r\n fullReload: fullReload,\r\n pageSize: pageSize\r\n } = null !== operationTypes && void 0 !== operationTypes ? operationTypes : {};\r\n if (!change || !repaintChangesOnly || fullReload || pageSize) {\r\n var preventScroll = shouldPreventScroll(this);\r\n this.renderFocusState({\r\n preventScroll: preventScroll,\r\n pageSizeChanged: pageSize\r\n })\r\n }\r\n },\r\n _renderCore(change) {\r\n var deferred = this.callBase.apply(this, arguments);\r\n this._renderFocusByChange(change);\r\n return deferred\r\n },\r\n _editCellPrepared($cell) {\r\n var editorInstance = this._getEditorInstance($cell);\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var isEditingNavigationMode = keyboardController && keyboardController._isFastEditingStarted();\r\n if (editorInstance && isEditingNavigationMode) {\r\n this._handleEditingNavigationMode(editorInstance)\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _handleEditingNavigationMode(editorInstance) {\r\n [\"downArrow\", \"upArrow\"].forEach(keyName => {\r\n var originalKeyHandler = editorInstance._supportedKeys()[keyName];\r\n editorInstance.registerKeyHandler(keyName, e => {\r\n var isDropDownOpened = \"true\" === editorInstance._input().attr(\"aria-expanded\");\r\n if (isDropDownOpened) {\r\n return originalKeyHandler && originalKeyHandler.call(editorInstance, e)\r\n }\r\n })\r\n });\r\n editorInstance.registerKeyHandler(\"leftArrow\", noop);\r\n editorInstance.registerKeyHandler(\"rightArrow\", noop);\r\n var isDateBoxWithMask = editorInstance.NAME === DATEBOX_WIDGET_NAME && editorInstance.option(\"useMaskBehavior\");\r\n if (isDateBoxWithMask) {\r\n editorInstance.registerKeyHandler(\"enter\", noop)\r\n }\r\n },\r\n _getEditorInstance($cell) {\r\n var $editor = $cell.find(\".dx-texteditor\").eq(0);\r\n return gridCoreUtils.getWidgetInstance($editor)\r\n }\r\n }\r\n },\r\n controllers: {\r\n editing: {\r\n editCell(rowIndex, columnIndex) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n if (keyboardController._processCanceledEditCellPosition(rowIndex, columnIndex)) {\r\n return false\r\n }\r\n var isCellEditing = this.callBase(rowIndex, columnIndex);\r\n if (isCellEditing) {\r\n keyboardController.setupFocusedView()\r\n }\r\n return isCellEditing\r\n },\r\n editRow(rowIndex) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var visibleColumnIndex = keyboardController.getVisibleColumnIndex();\r\n var column = this._columnsController.getVisibleColumns()[visibleColumnIndex];\r\n if (column && column.type || this.option(\"editing.mode\") === EDIT_MODE_FORM) {\r\n keyboardController._resetFocusedCell()\r\n }\r\n this.callBase(rowIndex)\r\n },\r\n addRow(parentKey) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n keyboardController.setupFocusedView();\r\n keyboardController.setCellFocusType();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getFocusedCellInRow(rowIndex) {\r\n var keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n var $cell = this.callBase(rowIndex);\r\n if (keyboardNavigationController.isKeyboardEnabled() && keyboardNavigationController._focusedCellPosition.rowIndex === rowIndex) {\r\n var $focusedCell = keyboardNavigationController._getFocusedCell();\r\n if (isElementDefined($focusedCell) && !$focusedCell.hasClass(COMMAND_EDIT_CLASS)) {\r\n $cell = $focusedCell\r\n }\r\n }\r\n return $cell\r\n },\r\n _processCanceledEditingCell() {\r\n this.closeEditCell().done(() => {\r\n var keyboardNavigation = this.getController(\"keyboardNavigation\");\r\n keyboardNavigation._updateFocus()\r\n })\r\n },\r\n init() {\r\n this.callBase();\r\n this._keyboardNavigationController = this.getController(\"keyboardNavigation\")\r\n },\r\n closeEditCell() {\r\n var keyboardNavigation = this._keyboardNavigationController;\r\n keyboardNavigation._fastEditingStarted = false;\r\n var result = this.callBase.apply(this, arguments);\r\n keyboardNavigation._updateFocus();\r\n return result\r\n },\r\n _delayedInputFocus() {\r\n this._keyboardNavigationController._isNeedScroll = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _isEditingStart() {\r\n var keyboardNavigation = this.getController(\"keyboardNavigation\");\r\n var cancel = this.callBase.apply(this, arguments);\r\n if (cancel && !keyboardNavigation._isNeedFocus) {\r\n var $cell = keyboardNavigation._getFocusedCell();\r\n keyboardNavigation._focus($cell, true)\r\n }\r\n return cancel\r\n }\r\n },\r\n data: {\r\n _correctRowIndices(getRowIndexCorrection) {\r\n var keyboardNavigationController = this.getController(\"keyboardNavigation\");\r\n var editorFactory = this.getController(\"editorFactory\");\r\n var focusedCellPosition = keyboardNavigationController._focusedCellPosition;\r\n this.callBase.apply(this, arguments);\r\n if (focusedCellPosition && focusedCellPosition.rowIndex >= 0) {\r\n var focusedRowIndexCorrection = getRowIndexCorrection(focusedCellPosition.rowIndex);\r\n if (focusedRowIndexCorrection) {\r\n focusedCellPosition.rowIndex += focusedRowIndexCorrection;\r\n editorFactory.refocus()\r\n }\r\n }\r\n },\r\n getMaxRowIndex() {\r\n var result = this.items().length - 1;\r\n var virtualItemsCount = this.virtualItemsCount();\r\n if (virtualItemsCount) {\r\n var rowIndexOffset = this.getRowIndexOffset();\r\n result += rowIndexOffset + virtualItemsCount.end\r\n }\r\n return result\r\n }\r\n },\r\n adaptiveColumns: {\r\n _showHiddenCellsInView(_ref) {\r\n var {\r\n viewName: viewName,\r\n $cells: $cells,\r\n isCommandColumn: isCommandColumn\r\n } = _ref;\r\n this.callBase.apply(this, arguments);\r\n viewName === COLUMN_HEADERS_VIEW && !isCommandColumn && $cells.each((_, cellElement) => {\r\n var $cell = $(cellElement);\r\n isCellInHeaderRow($cell) && $cell.attr(\"tabindex\", 0)\r\n })\r\n },\r\n _hideVisibleCellInView(_ref2) {\r\n var {\r\n viewName: viewName,\r\n $cell: $cell,\r\n isCommandColumn: isCommandColumn\r\n } = _ref2;\r\n this.callBase.apply(this, arguments);\r\n if (viewName === COLUMN_HEADERS_VIEW && !isCommandColumn && isCellInHeaderRow($cell)) {\r\n $cell.removeAttr(\"tabindex\")\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_aggregate_calculator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../../core/class\";\r\nimport {\r\n compileGetter\r\n} from \"../../../core/utils/data\";\r\nimport {\r\n isFunction\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n errors\r\n} from \"../../../data/errors\";\r\nimport {\r\n aggregators\r\n} from \"../../../data/utils\";\r\n\r\nfunction depthFirstSearch(i, depth, root, callback) {\r\n var j = 0;\r\n if (i < depth) {\r\n for (; j < root.items.length; j++) {\r\n depthFirstSearch(i + 1, depth, root.items[j], callback)\r\n }\r\n }\r\n if (i === depth) {\r\n callback(root)\r\n }\r\n}\r\n\r\nfunction map(array, callback) {\r\n var i;\r\n if (\"map\" in array) {\r\n return array.map(callback)\r\n }\r\n var result = new Array(array.length);\r\n for (i in array) {\r\n result[i] = callback(array[i], i)\r\n }\r\n return result\r\n}\r\n\r\nfunction isEmpty(x) {\r\n return x !== x || \"\" === x || null === x || void 0 === x\r\n}\r\n\r\nfunction isCount(aggregator) {\r\n return aggregator === aggregators.count\r\n}\r\n\r\nfunction normalizeAggregate(aggregate) {\r\n var selector = compileGetter(aggregate.selector);\r\n var skipEmptyValues = \"skipEmptyValues\" in aggregate ? aggregate.skipEmptyValues : true;\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n if (\"string\" === typeof aggregator) {\r\n aggregator = aggregators[aggregator];\r\n if (!aggregator) {\r\n throw errors.Error(\"E4001\", aggregate.aggregator)\r\n }\r\n }\r\n return {\r\n selector: selector,\r\n aggregator: aggregator,\r\n skipEmptyValues: skipEmptyValues\r\n }\r\n}\r\nexport default Class.inherit({\r\n ctor(options) {\r\n this._data = options.data;\r\n this._groupLevel = options.groupLevel || 0;\r\n this._totalAggregates = map(options.totalAggregates || [], normalizeAggregate);\r\n this._groupAggregates = map(options.groupAggregates || [], normalizeAggregate);\r\n this._totals = []\r\n },\r\n calculate() {\r\n if (this._totalAggregates.length) {\r\n this._calculateTotals(0, {\r\n items: this._data\r\n })\r\n }\r\n if (this._groupAggregates.length && this._groupLevel > 0) {\r\n this._calculateGroups({\r\n items: this._data\r\n })\r\n }\r\n },\r\n totalAggregates() {\r\n return this._totals\r\n },\r\n _aggregate(aggregates, data, container) {\r\n var length = data.items ? data.items.length : 0;\r\n for (var i = 0; i < aggregates.length; i++) {\r\n if (isCount(aggregates[i].aggregator)) {\r\n container[i] = (container[i] || 0) + length;\r\n continue\r\n }\r\n for (var j = 0; j < length; j++) {\r\n this._accumulate(i, aggregates[i], container, data.items[j])\r\n }\r\n }\r\n },\r\n _calculateTotals(level, data) {\r\n if (0 === level) {\r\n this._totals = this._seed(this._totalAggregates)\r\n }\r\n if (level === this._groupLevel) {\r\n this._aggregate(this._totalAggregates, data, this._totals)\r\n } else {\r\n for (var i = 0; i < data.items.length; i++) {\r\n this._calculateTotals(level + 1, data.items[i])\r\n }\r\n }\r\n if (0 === level) {\r\n this._totals = this._finalize(this._totalAggregates, this._totals)\r\n }\r\n },\r\n _calculateGroups(root) {\r\n var maxLevel = this._groupLevel;\r\n var currentLevel = maxLevel + 1;\r\n var seedFn = this._seed.bind(this, this._groupAggregates);\r\n var stepFn = this._aggregate.bind(this, this._groupAggregates);\r\n var finalizeFn = this._finalize.bind(this, this._groupAggregates);\r\n\r\n function aggregator(node) {\r\n node.aggregates = seedFn(currentLevel - 1);\r\n if (currentLevel === maxLevel) {\r\n stepFn(node, node.aggregates)\r\n } else {\r\n depthFirstSearch(currentLevel, maxLevel, node, innerNode => {\r\n stepFn(innerNode, node.aggregates)\r\n })\r\n }\r\n node.aggregates = finalizeFn(node.aggregates)\r\n }\r\n while (--currentLevel > 0) {\r\n depthFirstSearch(0, currentLevel, root, aggregator)\r\n }\r\n },\r\n _seed: (aggregates, groupIndex) => map(aggregates, aggregate => {\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n var seed = \"seed\" in aggregator ? isFunction(aggregator.seed) ? aggregator.seed(groupIndex) : aggregator.seed : NaN;\r\n return seed\r\n }),\r\n _accumulate(aggregateIndex, aggregate, results, item) {\r\n var value = aggregate.selector(item);\r\n var {\r\n aggregator: aggregator\r\n } = aggregate;\r\n var {\r\n skipEmptyValues: skipEmptyValues\r\n } = aggregate;\r\n if (skipEmptyValues && isEmpty(value)) {\r\n return\r\n }\r\n if (results[aggregateIndex] !== results[aggregateIndex]) {\r\n results[aggregateIndex] = value\r\n } else {\r\n results[aggregateIndex] = aggregator.step(results[aggregateIndex], value)\r\n }\r\n },\r\n _finalize: (aggregates, results) => map(aggregates, (aggregate, index) => {\r\n var fin = aggregate.aggregator.finalize;\r\n return fin ? fin(results[index]) : results[index]\r\n })\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/keyboard_navigation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n keyboardNavigationModule\r\n} from \"../../../grids/grid_core/keyboard_navigation/m_keyboard_navigation\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"keyboardNavigation\", keyboardNavigationModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/summary/m_summary.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isPlainObject,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport dataQuery from \"../../../../data/query\";\r\nimport storeHelper from \"../../../../data/store_helper\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../../../../data/utils\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport errors from \"../../../../ui/widget/ui.errors\";\r\nimport {\r\n ColumnsView\r\n} from \"../../../grids/grid_core/views/m_columns_view\";\r\nimport AggregateCalculator from \"../m_aggregate_calculator\";\r\nimport gridCore from \"../m_core\";\r\nimport dataSourceAdapter from \"../m_data_source_adapter\";\r\nvar DATAGRID_TOTAL_FOOTER_CLASS = \"dx-datagrid-total-footer\";\r\nvar DATAGRID_SUMMARY_ITEM_CLASS = \"dx-datagrid-summary-item\";\r\nvar DATAGRID_TEXT_CONTENT_CLASS = \"dx-datagrid-text-content\";\r\nvar DATAGRID_GROUP_FOOTER_CLASS = \"dx-datagrid-group-footer\";\r\nvar DATAGRID_GROUP_TEXT_CONTENT_CLASS = \"dx-datagrid-group-text-content\";\r\nvar DATAGRID_NOWRAP_CLASS = \"dx-datagrid-nowrap\";\r\nvar DATAGRID_FOOTER_ROW_CLASS = \"dx-footer-row\";\r\nvar DATAGRID_GROUP_FOOTER_ROW_TYPE = \"groupFooter\";\r\nvar DATAGRID_TOTAL_FOOTER_ROW_TYPE = \"totalFooter\";\r\nexport var renderSummaryCell = function(cell, options) {\r\n var $cell = $(cell);\r\n var {\r\n column: column\r\n } = options;\r\n var {\r\n summaryItems: summaryItems\r\n } = options;\r\n var $summaryItems = [];\r\n if (!column.command && summaryItems) {\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n var summaryItem = summaryItems[i];\r\n $summaryItems.push($(\"<div>\").css(\"textAlign\", summaryItem.alignment || column.alignment).addClass(DATAGRID_SUMMARY_ITEM_CLASS).addClass(DATAGRID_TEXT_CONTENT_CLASS).addClass(summaryItem.cssClass).toggleClass(DATAGRID_GROUP_TEXT_CONTENT_CLASS, \"group\" === options.rowType).text(gridCore.getSummaryText(summaryItem, options.summaryTexts)))\r\n }\r\n $cell.append($summaryItems)\r\n }\r\n};\r\nvar getSummaryCellOptions = function(that, options) {\r\n var summaryTexts = that.option(\"summary.texts\") || {};\r\n return {\r\n totalItem: options.row,\r\n summaryItems: options.row.summaryCells[options.columnIndex],\r\n summaryTexts: summaryTexts\r\n }\r\n};\r\nvar getGroupAggregates = function(data) {\r\n return data.summary || data.aggregates || []\r\n};\r\nvar recalculateWhileEditing = function(that) {\r\n return that.option(\"summary.recalculateWhileEditing\")\r\n};\r\nexport var FooterView = ColumnsView.inherit({\r\n _getRows() {\r\n return this._dataController.footerItems()\r\n },\r\n _getCellOptions(options) {\r\n return extend(this.callBase(options), getSummaryCellOptions(this, options))\r\n },\r\n _renderCellContent($cell, options) {\r\n renderSummaryCell($cell, options);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderCore(change) {\r\n var needUpdateScrollLeft = false;\r\n var totalItem = this._dataController.footerItems()[0];\r\n if (!change || !change.columnIndices) {\r\n this.element().empty().addClass(DATAGRID_TOTAL_FOOTER_CLASS).toggleClass(DATAGRID_NOWRAP_CLASS, !this.option(\"wordWrapEnabled\"));\r\n needUpdateScrollLeft = true\r\n }\r\n if (totalItem && totalItem.summaryCells && totalItem.summaryCells.length) {\r\n this._updateContent(this._renderTable({\r\n change: change\r\n }), change);\r\n needUpdateScrollLeft && this._updateScrollLeftPosition()\r\n }\r\n },\r\n _updateContent($newTable, change) {\r\n if (change && \"update\" === change.changeType && change.columnIndices) {\r\n return this.waitAsyncTemplates().done(() => {\r\n var $row = this.getTableElement().find(\".dx-row\");\r\n var $newRow = $newTable.find(\".dx-row\");\r\n this._updateCells($row, $newRow, change.columnIndices[0])\r\n })\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _rowClick(e) {\r\n var item = this._dataController.footerItems()[e.rowIndex] || {};\r\n this.executeAction(\"onRowClick\", extend({}, e, item))\r\n },\r\n _columnOptionChanged(e) {\r\n var {\r\n optionNames: optionNames\r\n } = e;\r\n if (e.changeTypes.grouping) {\r\n return\r\n }\r\n if (optionNames.width || optionNames.visibleWidth) {\r\n this.callBase(e)\r\n }\r\n },\r\n _handleDataChanged(e) {\r\n var {\r\n changeType: changeType\r\n } = e;\r\n if (\"update\" === e.changeType && e.repaintChangesOnly) {\r\n if (!e.totalColumnIndices) {\r\n this.render()\r\n } else if (e.totalColumnIndices.length) {\r\n this.render(null, {\r\n changeType: \"update\",\r\n columnIndices: [e.totalColumnIndices]\r\n })\r\n }\r\n } else if (\"refresh\" === changeType || \"append\" === changeType || \"prepend\" === changeType) {\r\n this.render()\r\n }\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row.rowType === DATAGRID_TOTAL_FOOTER_ROW_TYPE) {\r\n $row.addClass(DATAGRID_FOOTER_ROW_CLASS)\r\n }\r\n return $row\r\n },\r\n getHeight() {\r\n return this.getElementHeight()\r\n },\r\n isVisible() {\r\n return !!this._dataController.footerItems().length\r\n }\r\n});\r\nvar SummaryDataSourceAdapterExtender = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._totalAggregates = [];\r\n this._summaryGetter = noop\r\n },\r\n summaryGetter(summaryGetter) {\r\n if (!arguments.length) {\r\n return this._summaryGetter\r\n }\r\n if (isFunction(summaryGetter)) {\r\n this._summaryGetter = summaryGetter\r\n }\r\n },\r\n summary(summary) {\r\n if (!arguments.length) {\r\n return this._summaryGetter()\r\n }\r\n this._summaryGetter = function() {\r\n return summary\r\n }\r\n },\r\n totalAggregates() {\r\n return this._totalAggregates\r\n },\r\n isLastLevelGroupItemsPagingLocal() {\r\n var summary = this.summary();\r\n var sortByGroupsInfo = summary && summary.sortByGroups();\r\n return sortByGroupsInfo && sortByGroupsInfo.length\r\n },\r\n sortLastLevelGroupItems(items, groups, paths) {\r\n var groupedItems = storeHelper.multiLevelGroup(dataQuery(items), groups).toArray();\r\n var result = [];\r\n paths.forEach(path => {\r\n ! function forEachGroup(groups, groupCount, callback, path) {\r\n path = path || [];\r\n for (var i = 0; i < groups.length; i++) {\r\n path.push(groups[i].key);\r\n if (1 === groupCount) {\r\n callback(path, groups[i].items)\r\n } else {\r\n forEachGroup(groups[i].items, groupCount - 1, callback, path)\r\n }\r\n path.pop()\r\n }\r\n }(groupedItems, groups.length, (itemsPath, items) => {\r\n if (path.toString() === itemsPath.toString()) {\r\n result = result.concat(items)\r\n }\r\n })\r\n });\r\n return result\r\n }\r\n};\r\nvar SummaryDataSourceAdapterClientExtender = function() {\r\n var calculateAggregates = function(that, summary, data, groupLevel) {\r\n var calculator;\r\n if (recalculateWhileEditing(that)) {\r\n var editingController = that.getController(\"editing\");\r\n if (editingController) {\r\n var insertedData = editingController.getInsertedData();\r\n if (insertedData.length) {\r\n data = function applyAddedData(data, insertedData, groupLevel) {\r\n if (groupLevel) {\r\n return applyAddedData(data, insertedData.map(item => ({\r\n items: [item]\r\n }), groupLevel - 1))\r\n }\r\n return data.concat(insertedData)\r\n }(data, insertedData, groupLevel)\r\n }\r\n var removedData = editingController.getRemovedData();\r\n if (removedData.length) {\r\n data = function applyRemovedData(data, removedData, groupLevel) {\r\n if (groupLevel) {\r\n return data.map(data => {\r\n var updatedData = {};\r\n var updatedItems = applyRemovedData(data.items || [], removedData, groupLevel - 1);\r\n Object.defineProperty(updatedData, \"aggregates\", {\r\n get: () => data.aggregates,\r\n set: value => {\r\n data.aggregates = value\r\n }\r\n });\r\n return extend(updatedData, data, {\r\n items: updatedItems\r\n })\r\n })\r\n }\r\n return data.filter(data => removedData.indexOf(data) < 0)\r\n }(data, removedData, groupLevel)\r\n }\r\n }\r\n }\r\n if (summary) {\r\n calculator = new AggregateCalculator({\r\n totalAggregates: summary.totalAggregates,\r\n groupAggregates: summary.groupAggregates,\r\n data: data,\r\n groupLevel: groupLevel\r\n });\r\n calculator.calculate()\r\n }\r\n return calculator ? calculator.totalAggregates() : []\r\n };\r\n var sortGroupsBySummary = function(data, group, summary) {\r\n var sortByGroups = summary && summary.sortByGroups && summary.sortByGroups();\r\n if (sortByGroups && sortByGroups.length) {\r\n return function sortGroupsBySummaryCore(items, groups, sortByGroups) {\r\n if (!items || !groups.length) {\r\n return items\r\n }\r\n var group = groups[0];\r\n var sorts = sortByGroups[0];\r\n var query;\r\n if (group && sorts && sorts.length) {\r\n query = dataQuery(items);\r\n each(sorts, (function(index) {\r\n if (0 === index) {\r\n query = query.sortBy(this.selector, this.desc)\r\n } else {\r\n query = query.thenBy(this.selector, this.desc)\r\n }\r\n }));\r\n query.enumerate().done(sortedItems => {\r\n items = sortedItems\r\n })\r\n }\r\n groups = groups.slice(1);\r\n sortByGroups = sortByGroups.slice(1);\r\n if (groups.length && sortByGroups.length) {\r\n each(items, (function() {\r\n this.items = sortGroupsBySummaryCore(this.items, groups, sortByGroups)\r\n }))\r\n }\r\n return items\r\n }(data, group, sortByGroups)\r\n }\r\n return data\r\n };\r\n return {\r\n _customizeRemoteOperations(options) {\r\n var summary = this.summary();\r\n if (summary) {\r\n if (options.remoteOperations.summary) {\r\n if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) {\r\n if (options.storeLoadOptions.group) {\r\n if (options.remoteOperations.grouping) {\r\n options.storeLoadOptions.groupSummary = summary.groupAggregates\r\n } else if (summary.groupAggregates.length) {\r\n options.remoteOperations.paging = false\r\n }\r\n }\r\n options.storeLoadOptions.totalSummary = summary.totalAggregates\r\n }\r\n } else if (summary.totalAggregates.length || summary.groupAggregates.length && options.storeLoadOptions.group) {\r\n options.remoteOperations.paging = false\r\n }\r\n }\r\n this.callBase.apply(this, arguments);\r\n var cachedExtra = options.cachedData.extra;\r\n if (cachedExtra && cachedExtra.summary && !options.isCustomLoading) {\r\n options.storeLoadOptions.totalSummary = void 0\r\n }\r\n },\r\n _handleDataLoadedCore(options) {\r\n var _a, _b;\r\n var groups = normalizeSortingInfo(options.storeLoadOptions.group || options.loadOptions.group || []);\r\n var remoteOperations = options.remoteOperations || {};\r\n var summary = this.summaryGetter()(remoteOperations);\r\n if (!options.isCustomLoading || options.storeLoadOptions.isLoadingAll) {\r\n if (remoteOperations.summary) {\r\n if (!remoteOperations.paging && groups.length && summary) {\r\n if (!remoteOperations.grouping) {\r\n calculateAggregates(this, {\r\n groupAggregates: summary.groupAggregates\r\n }, options.data, groups.length)\r\n }\r\n options.data = sortGroupsBySummary(options.data, groups, summary)\r\n }\r\n } else if (!remoteOperations.paging && summary) {\r\n var operationTypes = options.operationTypes || {};\r\n var hasOperations = Object.keys(operationTypes).some(type => operationTypes[type]);\r\n if (!hasOperations || !(null === (_b = null === (_a = options.cachedData) || void 0 === _a ? void 0 : _a.extra) || void 0 === _b ? void 0 : _b.summary) || groups.length && summary.groupAggregates.length) {\r\n var totalAggregates = calculateAggregates(this, summary, options.data, groups.length);\r\n options.extra = isPlainObject(options.extra) ? options.extra : {};\r\n options.extra.summary = totalAggregates;\r\n if (options.cachedData) {\r\n options.cachedData.extra = options.extra\r\n }\r\n }\r\n options.data = sortGroupsBySummary(options.data, groups, summary)\r\n }\r\n }\r\n if (!options.isCustomLoading) {\r\n this._totalAggregates = options.extra && options.extra.summary || this._totalAggregates\r\n }\r\n this.callBase(options)\r\n }\r\n }\r\n}();\r\ndataSourceAdapter.extend(SummaryDataSourceAdapterExtender);\r\ndataSourceAdapter.extend(SummaryDataSourceAdapterClientExtender);\r\ngridCore.registerModule(\"summary\", {\r\n defaultOptions: () => ({\r\n summary: {\r\n groupItems: void 0,\r\n totalItems: void 0,\r\n calculateCustomSummary: void 0,\r\n skipEmptyValues: true,\r\n recalculateWhileEditing: false,\r\n texts: {\r\n sum: messageLocalization.format(\"dxDataGrid-summarySum\"),\r\n sumOtherColumn: messageLocalization.format(\"dxDataGrid-summarySumOtherColumn\"),\r\n min: messageLocalization.format(\"dxDataGrid-summaryMin\"),\r\n minOtherColumn: messageLocalization.format(\"dxDataGrid-summaryMinOtherColumn\"),\r\n max: messageLocalization.format(\"dxDataGrid-summaryMax\"),\r\n maxOtherColumn: messageLocalization.format(\"dxDataGrid-summaryMaxOtherColumn\"),\r\n avg: messageLocalization.format(\"dxDataGrid-summaryAvg\"),\r\n avgOtherColumn: messageLocalization.format(\"dxDataGrid-summaryAvgOtherColumn\"),\r\n count: messageLocalization.format(\"dxDataGrid-summaryCount\")\r\n }\r\n },\r\n sortByGroupSummaryInfo: void 0\r\n }),\r\n views: {\r\n footerView: FooterView\r\n },\r\n extenders: {\r\n controllers: {\r\n data: {\r\n _isDataColumn: column => column && (!isDefined(column.groupIndex) || column.showWhenGrouped),\r\n _isGroupFooterVisible() {\r\n var groupItems = this.option(\"summary.groupItems\") || [];\r\n for (var i = 0; i < groupItems.length; i++) {\r\n var groupItem = groupItems[i];\r\n var column = this._columnsController.columnOption(groupItem.showInColumn || groupItem.column);\r\n if (groupItem.showInGroupFooter && this._isDataColumn(column)) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _processGroupItems(items, groupCount, options) {\r\n var data = options && options.data;\r\n var result = this.callBase.apply(this, arguments);\r\n if (options) {\r\n if (void 0 === options.isGroupFooterVisible) {\r\n options.isGroupFooterVisible = this._isGroupFooterVisible()\r\n }\r\n if (data && data.items && options.isGroupFooterVisible && (options.collectContinuationItems || !data.isContinuationOnNextPage)) {\r\n result.push({\r\n rowType: DATAGRID_GROUP_FOOTER_ROW_TYPE,\r\n key: options.path.slice(),\r\n data: data,\r\n groupIndex: options.path.length - 1,\r\n values: []\r\n })\r\n }\r\n }\r\n return result\r\n },\r\n _processGroupItem(groupItem, options) {\r\n var that = this;\r\n if (!options.summaryGroupItems) {\r\n options.summaryGroupItems = that.option(\"summary.groupItems\") || []\r\n }\r\n if (\"group\" === groupItem.rowType) {\r\n var groupColumnIndex = -1;\r\n var afterGroupColumnIndex = -1;\r\n each(options.visibleColumns, (function(visibleIndex) {\r\n var prevColumn = options.visibleColumns[visibleIndex - 1];\r\n if (groupItem.groupIndex === this.groupIndex) {\r\n groupColumnIndex = this.index\r\n }\r\n if (visibleIndex > 0 && \"expand\" === prevColumn.command && \"expand\" !== this.command) {\r\n afterGroupColumnIndex = this.index\r\n }\r\n }));\r\n groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (summaryItem, column) => {\r\n if (summaryItem.showInGroupFooter) {\r\n return -1\r\n }\r\n if (summaryItem.alignByColumn && column && !isDefined(column.groupIndex) && column.index !== afterGroupColumnIndex) {\r\n return column.index\r\n }\r\n return groupColumnIndex\r\n }, true)\r\n }\r\n if (groupItem.rowType === DATAGRID_GROUP_FOOTER_ROW_TYPE) {\r\n groupItem.summaryCells = this._calculateSummaryCells(options.summaryGroupItems, getGroupAggregates(groupItem.data), options.visibleColumns, (summaryItem, column) => summaryItem.showInGroupFooter && that._isDataColumn(column) ? column.index : -1)\r\n }\r\n return groupItem\r\n },\r\n _calculateSummaryCells(summaryItems, aggregates, visibleColumns, calculateTargetColumnIndex, isGroupRow) {\r\n var that = this;\r\n var summaryCells = [];\r\n var summaryCellsByColumns = {};\r\n each(summaryItems, (summaryIndex, summaryItem) => {\r\n var column = that._columnsController.columnOption(summaryItem.column);\r\n var showInColumn = summaryItem.showInColumn && that._columnsController.columnOption(summaryItem.showInColumn) || column;\r\n var columnIndex = calculateTargetColumnIndex(summaryItem, showInColumn);\r\n if (columnIndex >= 0) {\r\n if (!summaryCellsByColumns[columnIndex]) {\r\n summaryCellsByColumns[columnIndex] = []\r\n }\r\n var aggregate = aggregates[summaryIndex];\r\n if (aggregate === aggregate) {\r\n var valueFormat;\r\n if (isDefined(summaryItem.valueFormat)) {\r\n valueFormat = summaryItem.valueFormat\r\n } else if (\"count\" !== summaryItem.summaryType) {\r\n valueFormat = gridCore.getFormatByDataType(column && column.dataType)\r\n }\r\n summaryCellsByColumns[columnIndex].push(extend({}, summaryItem, {\r\n value: isString(aggregate) && column && column.deserializeValue ? column.deserializeValue(aggregate) : aggregate,\r\n valueFormat: valueFormat,\r\n columnCaption: column && column.index !== columnIndex ? column.caption : void 0\r\n }))\r\n }\r\n }\r\n });\r\n if (!isEmptyObject(summaryCellsByColumns)) {\r\n visibleColumns.forEach((column, visibleIndex) => {\r\n var prevColumn = visibleColumns[visibleIndex - 1];\r\n var columnIndex = isGroupRow && (\"expand\" === (null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.command) || \"expand\" === column.command) ? null === prevColumn || void 0 === prevColumn ? void 0 : prevColumn.index : column.index;\r\n summaryCells.push(summaryCellsByColumns[columnIndex] || [])\r\n })\r\n }\r\n return summaryCells\r\n },\r\n _getSummaryCells(summaryTotalItems, totalAggregates) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n return that._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(), (summaryItem, column) => that._isDataColumn(column) ? column.index : -1)\r\n },\r\n _updateItemsCore(change) {\r\n var summaryCells;\r\n var dataSource = this._dataSource;\r\n var footerItems = this._footerItems;\r\n var oldSummaryCells = footerItems && footerItems[0] && footerItems[0].summaryCells;\r\n var summaryTotalItems = this.option(\"summary.totalItems\");\r\n this._footerItems = [];\r\n if (dataSource && summaryTotalItems && summaryTotalItems.length) {\r\n var totalAggregates = dataSource.totalAggregates();\r\n summaryCells = this._getSummaryCells(summaryTotalItems, totalAggregates);\r\n if (change && change.repaintChangesOnly && oldSummaryCells) {\r\n change.totalColumnIndices = summaryCells.map((summaryCell, index) => {\r\n if (JSON.stringify(summaryCell) !== JSON.stringify(oldSummaryCells[index])) {\r\n return index\r\n }\r\n return -1\r\n }).filter(index => index >= 0)\r\n }\r\n if (summaryCells.length) {\r\n this._footerItems.push({\r\n rowType: DATAGRID_TOTAL_FOOTER_ROW_TYPE,\r\n summaryCells: summaryCells\r\n })\r\n }\r\n }\r\n this.callBase(change)\r\n },\r\n _prepareUnsavedDataSelector(selector) {\r\n if (recalculateWhileEditing(this)) {\r\n var editingController = this.getController(\"editing\");\r\n if (editingController) {\r\n return function(data) {\r\n data = editingController.getUpdatedData(data);\r\n return selector(data)\r\n }\r\n }\r\n }\r\n return selector\r\n },\r\n _prepareAggregateSelector(selector, aggregator) {\r\n selector = this._prepareUnsavedDataSelector(selector);\r\n if (\"avg\" === aggregator || \"sum\" === aggregator) {\r\n return function(data) {\r\n var value = selector(data);\r\n return isDefined(value) ? Number(value) : value\r\n }\r\n }\r\n return selector\r\n },\r\n _getAggregates(summaryItems, remoteOperations) {\r\n var that = this;\r\n var columnsController = that.getController(\"columns\");\r\n var calculateCustomSummary = that.option(\"summary.calculateCustomSummary\");\r\n var commonSkipEmptyValues = that.option(\"summary.skipEmptyValues\");\r\n return map(summaryItems || [], summaryItem => {\r\n var column = columnsController.columnOption(summaryItem.column);\r\n var calculateCellValue = column && column.calculateCellValue ? column.calculateCellValue.bind(column) : compileGetter(column ? column.dataField : summaryItem.column);\r\n var aggregator = summaryItem.summaryType || \"count\";\r\n var skipEmptyValues = isDefined(summaryItem.skipEmptyValues) ? summaryItem.skipEmptyValues : commonSkipEmptyValues;\r\n if (remoteOperations) {\r\n return {\r\n selector: summaryItem.column,\r\n summaryType: aggregator\r\n }\r\n }\r\n var selector = that._prepareAggregateSelector(calculateCellValue, aggregator);\r\n if (\"custom\" === aggregator) {\r\n if (!calculateCustomSummary) {\r\n errors.log(\"E1026\");\r\n calculateCustomSummary = function() {}\r\n }\r\n var options = {\r\n component: that.component,\r\n name: summaryItem.name\r\n };\r\n calculateCustomSummary(options);\r\n options.summaryProcess = \"calculate\";\r\n aggregator = {\r\n seed(groupIndex) {\r\n options.summaryProcess = \"start\";\r\n options.totalValue = void 0;\r\n options.groupIndex = groupIndex;\r\n delete options.value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n },\r\n step(totalValue, value) {\r\n options.summaryProcess = \"calculate\";\r\n options.totalValue = totalValue;\r\n options.value = value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n },\r\n finalize(totalValue) {\r\n options.summaryProcess = \"finalize\";\r\n options.totalValue = totalValue;\r\n delete options.value;\r\n calculateCustomSummary(options);\r\n return options.totalValue\r\n }\r\n }\r\n }\r\n return {\r\n selector: selector,\r\n aggregator: aggregator,\r\n skipEmptyValues: skipEmptyValues\r\n }\r\n })\r\n },\r\n _addSortInfo(sortByGroups, groupColumn, selector, sortOrder) {\r\n if (groupColumn) {\r\n var {\r\n groupIndex: groupIndex\r\n } = groupColumn;\r\n sortOrder = sortOrder || groupColumn.sortOrder;\r\n if (isDefined(groupIndex)) {\r\n sortByGroups[groupIndex] = sortByGroups[groupIndex] || [];\r\n sortByGroups[groupIndex].push({\r\n selector: selector,\r\n desc: \"desc\" === sortOrder\r\n })\r\n }\r\n }\r\n },\r\n _findSummaryItem(summaryItems, name) {\r\n var summaryItemIndex = -1;\r\n if (isDefined(name)) {\r\n each(summaryItems || [], (function(index) {\r\n if (this.name === name || index === name || this.summaryType === name || this.column === name || function(summaryItem) {\r\n var {\r\n summaryType: summaryType\r\n } = summaryItem;\r\n var {\r\n column: column\r\n } = summaryItem;\r\n return summaryType && column && \"\".concat(summaryType, \"_\").concat(column)\r\n }(this) === name) {\r\n summaryItemIndex = index;\r\n return false\r\n }\r\n }))\r\n }\r\n return summaryItemIndex\r\n },\r\n _getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems) {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n var groupColumns = columnsController.getGroupColumns();\r\n var sortByGroups = [];\r\n if (!groupSummaryItems || !groupSummaryItems.length) {\r\n return\r\n }\r\n each(sortByGroupSummaryInfo || [], (function() {\r\n var {\r\n sortOrder: sortOrder\r\n } = this;\r\n var {\r\n groupColumn: groupColumn\r\n } = this;\r\n var summaryItemIndex = that._findSummaryItem(groupSummaryItems, this.summaryItem);\r\n if (summaryItemIndex < 0) {\r\n return\r\n }\r\n var selector = function(data) {\r\n return getGroupAggregates(data)[summaryItemIndex]\r\n };\r\n if (isDefined(groupColumn)) {\r\n groupColumn = columnsController.columnOption(groupColumn);\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n } else {\r\n each(groupColumns, (groupIndex, groupColumn) => {\r\n that._addSortInfo(sortByGroups, groupColumn, selector, sortOrder)\r\n })\r\n }\r\n }));\r\n return sortByGroups\r\n },\r\n _createDataSourceAdapterCore(dataSource, remoteOperations) {\r\n var that = this;\r\n var dataSourceAdapter = this.callBase(dataSource, remoteOperations);\r\n dataSourceAdapter.summaryGetter(currentRemoteOperations => that._getSummaryOptions(currentRemoteOperations || remoteOperations));\r\n return dataSourceAdapter\r\n },\r\n _getSummaryOptions(remoteOperations) {\r\n var that = this;\r\n var groupSummaryItems = that.option(\"summary.groupItems\");\r\n var totalSummaryItems = that.option(\"summary.totalItems\");\r\n var sortByGroupSummaryInfo = that.option(\"sortByGroupSummaryInfo\");\r\n var groupAggregates = that._getAggregates(groupSummaryItems, remoteOperations && remoteOperations.grouping && remoteOperations.summary);\r\n var totalAggregates = that._getAggregates(totalSummaryItems, remoteOperations && remoteOperations.summary);\r\n if (groupAggregates.length || totalAggregates.length) {\r\n return {\r\n groupAggregates: groupAggregates,\r\n totalAggregates: totalAggregates,\r\n sortByGroups: function() {\r\n return that._getSummarySortByGroups(sortByGroupSummaryInfo, groupSummaryItems)\r\n }\r\n }\r\n }\r\n return\r\n },\r\n publicMethods() {\r\n var methods = this.callBase();\r\n methods.push(\"getTotalSummaryValue\");\r\n return methods\r\n },\r\n getTotalSummaryValue(summaryItemName) {\r\n var summaryItemIndex = this._findSummaryItem(this.option(\"summary.totalItems\"), summaryItemName);\r\n var aggregates = this._dataSource.totalAggregates();\r\n if (aggregates.length && summaryItemIndex > -1) {\r\n return aggregates[summaryItemIndex]\r\n }\r\n },\r\n optionChanged(args) {\r\n if (\"summary\" === args.name || \"sortByGroupSummaryInfo\" === args.name) {\r\n args.name = \"dataSource\"\r\n }\r\n this.callBase(args)\r\n },\r\n init() {\r\n this._footerItems = [];\r\n this.callBase()\r\n },\r\n footerItems() {\r\n return this._footerItems\r\n }\r\n },\r\n editing: {\r\n _refreshSummary() {\r\n if (recalculateWhileEditing(this) && !this.isSaving()) {\r\n this._dataController.refresh({\r\n load: true,\r\n changesOnly: true\r\n })\r\n }\r\n },\r\n _addChange(params) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (params.type) {\r\n this._refreshSummary()\r\n }\r\n return result\r\n },\r\n _removeChange() {\r\n var result = this.callBase.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n },\r\n cancelEditData() {\r\n var result = this.callBase.apply(this, arguments);\r\n this._refreshSummary();\r\n return result\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n row && $row.addClass(row.rowType === DATAGRID_GROUP_FOOTER_ROW_TYPE ? DATAGRID_GROUP_FOOTER_CLASS : \"\");\r\n return $row\r\n },\r\n _renderCells($row, options) {\r\n this.callBase.apply(this, arguments);\r\n if (\"group\" === options.row.rowType && options.row.summaryCells && options.row.summaryCells.length) {\r\n this._renderGroupSummaryCells($row, options)\r\n }\r\n },\r\n _hasAlignByColumnSummaryItems: (columnIndex, options) => !isDefined(options.columns[columnIndex].groupIndex) && options.row.summaryCells[columnIndex].length,\r\n _getAlignByColumnCellCount(groupCellColSpan, options) {\r\n var alignByColumnCellCount = 0;\r\n for (var i = 1; i < groupCellColSpan; i++) {\r\n var columnIndex = options.row.summaryCells.length - i;\r\n alignByColumnCellCount = this._hasAlignByColumnSummaryItems(columnIndex, options) ? i : alignByColumnCellCount\r\n }\r\n return alignByColumnCellCount\r\n },\r\n _renderGroupSummaryCells($row, options) {\r\n var $groupCell = $row.children().last();\r\n var groupCellColSpan = Number($groupCell.attr(\"colSpan\")) || 1;\r\n var alignByColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options);\r\n this._renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount)\r\n },\r\n _renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) {\r\n if (alignByColumnCellCount > 0) {\r\n $groupCell.attr(\"colSpan\", groupCellColSpan - alignByColumnCellCount);\r\n for (var i = 0; i < alignByColumnCellCount; i++) {\r\n var columnIndex = options.columns.length - alignByColumnCellCount + i;\r\n this._renderCell($groupCell.parent(), extend({\r\n column: options.columns[columnIndex],\r\n columnIndex: this._getSummaryCellIndex(columnIndex, options.columns)\r\n }, options))\r\n }\r\n }\r\n },\r\n _getSummaryCellIndex: columnIndex => columnIndex,\r\n _getCellTemplate(options) {\r\n if (!options.column.command && !isDefined(options.column.groupIndex) && options.summaryItems && options.summaryItems.length) {\r\n return renderSummaryCell\r\n }\r\n return this.callBase(options)\r\n },\r\n _getCellOptions(options) {\r\n var parameters = this.callBase(options);\r\n if (options.row.summaryCells) {\r\n return extend(parameters, getSummaryCellOptions(this, options))\r\n }\r\n return parameters\r\n }\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/column_fixing/m_column_fixing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n move\r\n} from \"../../../../animation/translator\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport browser from \"../../../../core/utils/browser\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n getOuterWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../../../events/core/wheel\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Scrollable from \"../../../../ui/scroll_view/ui.scrollable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar CONTENT_CLASS = \"content\";\r\nvar CONTENT_FIXED_CLASS = \"content-fixed\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar FIRST_CELL_CLASS = \"dx-first-cell\";\r\nvar LAST_CELL_CLASS = \"dx-last-cell\";\r\nvar HOVER_STATE_CLASS = \"dx-state-hover\";\r\nvar FIXED_COL_CLASS = \"dx-col-fixed\";\r\nvar FIXED_COLUMNS_CLASS = \"dx-fixed-columns\";\r\nvar POINTER_EVENTS_NONE_CLASS = \"dx-pointer-events-none\";\r\nvar COMMAND_TRANSPARENT = \"transparent\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar DETAIL_ROW_CLASS = \"dx-master-detail-row\";\r\nvar getTransparentColumnIndex = function(fixedColumns) {\r\n var transparentColumnIndex = -1;\r\n each(fixedColumns, (index, column) => {\r\n if (column.command === COMMAND_TRANSPARENT) {\r\n transparentColumnIndex = index;\r\n return false\r\n }\r\n return\r\n });\r\n return transparentColumnIndex\r\n};\r\nvar normalizeColumnWidths = function(fixedColumns, widths, fixedWidths) {\r\n var fixedColumnIndex = 0;\r\n if (fixedColumns && widths && fixedWidths) {\r\n for (var i = 0; i < fixedColumns.length; i++) {\r\n if (fixedColumns[i].command === COMMAND_TRANSPARENT) {\r\n fixedColumnIndex += fixedColumns[i].colspan\r\n } else {\r\n if (widths[fixedColumnIndex] < fixedWidths[i]) {\r\n widths[fixedColumnIndex] = fixedWidths[i]\r\n }\r\n fixedColumnIndex++\r\n }\r\n }\r\n }\r\n return widths\r\n};\r\nvar baseFixedColumns = {\r\n init() {\r\n this.callBase();\r\n this._isFixedTableRendering = false;\r\n this._isFixedColumns = false\r\n },\r\n _createCol(column) {\r\n return this.callBase(column).toggleClass(FIXED_COL_CLASS, !!(this._isFixedTableRendering && (column.fixed || column.command && column.command !== COMMAND_TRANSPARENT)))\r\n },\r\n _correctColumnIndicesForFixedColumns(fixedColumns, change) {\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var transparentColspan = fixedColumns[transparentColumnIndex].colspan;\r\n var columnIndices = change && change.columnIndices;\r\n if (columnIndices) {\r\n change.columnIndices = columnIndices.map(columnIndices => {\r\n if (columnIndices) {\r\n return columnIndices.map(columnIndex => {\r\n if (columnIndex < transparentColumnIndex) {\r\n return columnIndex\r\n }\r\n if (columnIndex >= transparentColumnIndex + transparentColspan) {\r\n return columnIndex - transparentColspan + 1\r\n }\r\n return -1\r\n }).filter(columnIndex => columnIndex >= 0)\r\n }\r\n })\r\n }\r\n },\r\n _partialUpdateFixedTable(fixedColumns) {\r\n var fixedTableElement = this._fixedTableElement;\r\n var $rows = this._getRowElementsCore(fixedTableElement);\r\n var $colgroup = fixedTableElement.children(\"colgroup\");\r\n $colgroup.replaceWith(this._createColGroup(fixedColumns));\r\n for (var i = 0; i < $rows.length; i++) {\r\n this._partialUpdateFixedRow($($rows[i]), fixedColumns)\r\n }\r\n },\r\n _partialUpdateFixedRow($row, fixedColumns) {\r\n var _a;\r\n var cellElements = $row.get(0).childNodes;\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var transparentColumn = fixedColumns[transparentColumnIndex];\r\n var columnIndexOffset = this._columnsController.getColumnIndexOffset();\r\n var groupCellOptions;\r\n var colIndex = columnIndexOffset + 1;\r\n var {\r\n colspan: colspan\r\n } = transparentColumn;\r\n if ($row.hasClass(DETAIL_ROW_CLASS)) {\r\n cellElements[0].setAttribute(\"colspan\", null === (_a = this._columnsController.getVisibleColumns()) || void 0 === _a ? void 0 : _a.length);\r\n return\r\n }\r\n if ($row.hasClass(GROUP_ROW_CLASS)) {\r\n groupCellOptions = this._getGroupCellOptions({\r\n row: $row.data(\"options\"),\r\n columns: this._columnsController.getVisibleColumns()\r\n });\r\n colspan = groupCellOptions.colspan - Math.max(0, cellElements.length - (groupCellOptions.columnIndex + 2))\r\n }\r\n for (var j = 0; j < cellElements.length; j++) {\r\n var needUpdateColspan = groupCellOptions ? j === groupCellOptions.columnIndex + 1 : j === transparentColumnIndex;\r\n cellElements[j].setAttribute(\"aria-colindex\", colIndex);\r\n if (needUpdateColspan) {\r\n cellElements[j].setAttribute(\"colspan\", colspan);\r\n colIndex += colspan\r\n } else {\r\n colIndex++\r\n }\r\n }\r\n },\r\n _renderTable(options) {\r\n var $fixedTable;\r\n var fixedColumns = this.getFixedColumns();\r\n this._isFixedColumns = !!fixedColumns.length;\r\n var $table = this.callBase(options);\r\n if (this._isFixedColumns) {\r\n var change = null === options || void 0 === options ? void 0 : options.change;\r\n this._isFixedTableRendering = true;\r\n if ((null === change || void 0 === change ? void 0 : change.virtualColumnsScrolling) && true !== this.option(\"scrolling.legacyMode\")) {\r\n this._partialUpdateFixedTable(fixedColumns);\r\n this._isFixedTableRendering = false\r\n } else {\r\n var columnIndices = null === change || void 0 === change ? void 0 : change.columnIndices;\r\n this._correctColumnIndicesForFixedColumns(fixedColumns, change);\r\n $fixedTable = this._createTable(fixedColumns);\r\n this._renderRows($fixedTable, extend({}, options, {\r\n columns: fixedColumns\r\n }));\r\n this._updateContent($fixedTable, change, true);\r\n if (columnIndices) {\r\n change.columnIndices = columnIndices\r\n }\r\n this._isFixedTableRendering = false\r\n }\r\n } else {\r\n this._fixedTableElement && this._fixedTableElement.parent().remove();\r\n this._fixedTableElement = null\r\n }\r\n return $table\r\n },\r\n _renderRow($table, options) {\r\n var fixedCorrection;\r\n var {\r\n cells: cells\r\n } = options.row;\r\n this.callBase.apply(this, arguments);\r\n if (this._isFixedTableRendering && cells && cells.length) {\r\n fixedCorrection = 0;\r\n var fixedCells = options.row.cells || [];\r\n cells = cells.slice();\r\n options.row.cells = cells;\r\n for (var i = 0; i < fixedCells.length; i++) {\r\n if (fixedCells[i].column && fixedCells[i].column.command === COMMAND_TRANSPARENT) {\r\n fixedCorrection = (fixedCells[i].column.colspan || 1) - 1;\r\n continue\r\n }\r\n cells[i + fixedCorrection] = fixedCells[i]\r\n }\r\n }\r\n },\r\n _createCell(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var columnCommand = column && column.command;\r\n var {\r\n rowType: rowType\r\n } = options;\r\n var $cell = this.callBase.apply(this, arguments);\r\n var fixedColumns;\r\n var prevFixedColumn;\r\n var transparentColumnIndex;\r\n if (this._isFixedTableRendering || \"filter\" === rowType) {\r\n fixedColumns = this.getFixedColumns();\r\n transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n prevFixedColumn = fixedColumns[transparentColumnIndex - 1]\r\n }\r\n if (this._isFixedTableRendering) {\r\n if (columnCommand === COMMAND_TRANSPARENT) {\r\n $cell.addClass(POINTER_EVENTS_NONE_CLASS).toggleClass(FIRST_CELL_CLASS, 0 === transparentColumnIndex || prevFixedColumn && \"expand\" === prevFixedColumn.command).toggleClass(LAST_CELL_CLASS, fixedColumns.length && transparentColumnIndex === fixedColumns.length - 1);\r\n if (\"freeSpace\" !== rowType) {\r\n gridCoreUtils.setEmptyText($cell)\r\n }\r\n }\r\n } else if (\"filter\" === rowType) {\r\n $cell.toggleClass(FIRST_CELL_CLASS, options.columnIndex === transparentColumnIndex)\r\n }\r\n var isRowAltStyle = this.option(\"rowAlternationEnabled\") && options.isAltRow;\r\n var isSelectAllCell = \"multiple\" === this.option(\"selection.mode\") && 0 === options.columnIndex && \"header\" === options.rowType;\r\n if (browser.mozilla && options.column.fixed && \"group\" !== options.rowType && !isRowAltStyle && !isSelectAllCell) {\r\n $cell.addClass(FIXED_COL_CLASS)\r\n }\r\n return $cell\r\n },\r\n _getContent(isFixedTableRendering) {\r\n var _a;\r\n return isFixedTableRendering ? null === (_a = this._fixedTableElement) || void 0 === _a ? void 0 : _a.parent() : this.callBase.apply(this, arguments)\r\n },\r\n _wrapTableInScrollContainer($table, isFixedTableRendering) {\r\n var $scrollContainer = this.callBase.apply(this, arguments);\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n $scrollContainer.addClass(this.addWidgetPrefix(CONTENT_FIXED_CLASS))\r\n }\r\n return $scrollContainer\r\n },\r\n _renderCellContent($cell, options) {\r\n var isEmptyCell;\r\n var {\r\n column: column\r\n } = options;\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var isGroupCell = \"group\" === options.rowType && isDefined(column.groupIndex);\r\n if (isFixedTableRendering && isGroupCell && !column.command && !column.groupCellTemplate) {\r\n $cell.css(\"pointerEvents\", \"none\")\r\n }\r\n if (!isFixedTableRendering && this._isFixedColumns) {\r\n isEmptyCell = column.fixed || column.command && false !== column.fixed;\r\n if (isGroupCell) {\r\n isEmptyCell = false;\r\n if (options.row.summaryCells && options.row.summaryCells.length) {\r\n var columns = this._columnsController.getVisibleColumns();\r\n var alignByFixedColumnCellCount = this._getAlignByColumnCellCount ? this._getAlignByColumnCellCount(column.colspan, {\r\n columns: columns,\r\n row: options.row,\r\n isFixed: true\r\n }) : 0;\r\n if (alignByFixedColumnCellCount > 0) {\r\n var transparentColumnIndex = getTransparentColumnIndex(this._columnsController.getFixedColumns());\r\n isEmptyCell = columns.length - alignByFixedColumnCellCount < transparentColumnIndex\r\n }\r\n }\r\n }\r\n if (isEmptyCell) {\r\n if (column.command && \"buttons\" !== column.type || \"group\" === options.rowType) {\r\n $cell.html(\" \").addClass(column.cssClass);\r\n return\r\n }\r\n $cell.addClass(\"dx-hidden-cell\")\r\n }\r\n }\r\n if (column.command !== COMMAND_TRANSPARENT) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getCellElementsCore(rowIndex) {\r\n var cellElements = this.callBase.apply(this, arguments);\r\n var isGroupRow = null === cellElements || void 0 === cellElements ? void 0 : cellElements.parent().hasClass(GROUP_ROW_CLASS);\r\n var headerRowIndex = \"columnHeadersView\" === this.name ? rowIndex : void 0;\r\n if (this._fixedTableElement && cellElements) {\r\n var fixedColumns = this.getFixedColumns(headerRowIndex);\r\n var fixedCellElements = this._getRowElements(this._fixedTableElement).eq(rowIndex).children(\"td\");\r\n each(fixedCellElements, (columnIndex, cell) => {\r\n if (isGroupRow) {\r\n if (cellElements[columnIndex] && \"hidden\" !== cell.style.visibility) {\r\n cellElements[columnIndex] = cell\r\n }\r\n } else {\r\n var fixedColumn = fixedColumns[columnIndex];\r\n if (fixedColumn) {\r\n if (fixedColumn.command === COMMAND_TRANSPARENT) {\r\n if (fixedCellElements.eq(columnIndex).hasClass(MASTER_DETAIL_CELL_CLASS)) {\r\n cellElements[columnIndex] = cell || cellElements[columnIndex]\r\n }\r\n } else {\r\n var fixedColumnIndex = this._columnsController.getVisibleIndexByColumn(fixedColumn, headerRowIndex);\r\n cellElements[fixedColumnIndex] = cell || cellElements[fixedColumnIndex]\r\n }\r\n }\r\n }\r\n })\r\n }\r\n return cellElements\r\n },\r\n getColumnWidths() {\r\n var result = this.callBase();\r\n var fixedColumns = this.getFixedColumns();\r\n var fixedWidths = this._fixedTableElement && result.length ? this.callBase(this._fixedTableElement) : void 0;\r\n return normalizeColumnWidths(fixedColumns, result, fixedWidths)\r\n },\r\n getTableElement(isFixedTableRendering) {\r\n isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering;\r\n var tableElement = isFixedTableRendering ? this._fixedTableElement : this.callBase();\r\n return tableElement\r\n },\r\n setTableElement(tableElement, isFixedTableRendering) {\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n this._fixedTableElement = tableElement.addClass(POINTER_EVENTS_NONE_CLASS)\r\n } else {\r\n this.callBase(tableElement)\r\n }\r\n },\r\n getColumns(rowIndex, $tableElement) {\r\n $tableElement = $tableElement || this.getTableElement();\r\n if (this._isFixedTableRendering || $tableElement && $tableElement.closest(\"table\").parent(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).length) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return this.callBase(rowIndex, $tableElement)\r\n },\r\n getRowIndex($row) {\r\n var $fixedTable = this._fixedTableElement;\r\n if ($fixedTable && $fixedTable.find($row).length) {\r\n return this._getRowElements($fixedTable).index($row)\r\n }\r\n return this.callBase($row)\r\n },\r\n getTableElements() {\r\n var result = this.callBase.apply(this, arguments);\r\n if (this._fixedTableElement) {\r\n result = $([result.get(0), this._fixedTableElement.get(0)])\r\n }\r\n return result\r\n },\r\n getFixedColumns(rowIndex) {\r\n return this._columnsController.getFixedColumns(rowIndex)\r\n },\r\n getFixedColumnsOffset() {\r\n var offset = {\r\n left: 0,\r\n right: 0\r\n };\r\n var $transparentColumn;\r\n if (this._fixedTableElement) {\r\n $transparentColumn = this.getTransparentColumnElement();\r\n var positionTransparentColumn = $transparentColumn.position();\r\n offset = {\r\n left: positionTransparentColumn.left,\r\n right: getOuterWidth(this.element(), true) - (getOuterWidth($transparentColumn, true) + positionTransparentColumn.left)\r\n }\r\n }\r\n return offset\r\n },\r\n getTransparentColumnElement() {\r\n return this._fixedTableElement && this._fixedTableElement.find(\".\".concat(POINTER_EVENTS_NONE_CLASS)).first()\r\n },\r\n getFixedTableElement() {\r\n return this._fixedTableElement\r\n },\r\n isFixedColumns() {\r\n return this._isFixedColumns\r\n },\r\n _resizeCore() {\r\n this.callBase();\r\n this.synchronizeRows()\r\n },\r\n setColumnWidths(options) {\r\n var columns;\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var {\r\n widths: widths\r\n } = options;\r\n var isWidthsSynchronized = widths && widths.length && isDefined(visibleColumns[0].visibleWidth);\r\n var {\r\n optionNames: optionNames\r\n } = options;\r\n var isColumnWidthChanged = optionNames && optionNames.width;\r\n var useVisibleColumns = false;\r\n this.callBase.apply(this, arguments);\r\n if (this._fixedTableElement) {\r\n var hasAutoWidth = widths && widths.some(width => \"auto\" === width);\r\n useVisibleColumns = hasAutoWidth && (!isWidthsSynchronized || !this.isScrollbarVisible(true));\r\n if (useVisibleColumns) {\r\n columns = visibleColumns\r\n }\r\n this.callBase(extend({}, options, {\r\n $tableElement: this._fixedTableElement,\r\n columns: columns,\r\n fixed: true\r\n }))\r\n }\r\n if (isWidthsSynchronized || isColumnWidthChanged && this.option(\"wordWrapEnabled\")) {\r\n this.synchronizeRows()\r\n }\r\n },\r\n _createColGroup(columns) {\r\n if (this._isFixedTableRendering && !this.option(\"columnAutoWidth\")) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var useVisibleColumns = visibleColumns.filter(column => !column.width).length;\r\n if (useVisibleColumns) {\r\n columns = visibleColumns\r\n }\r\n }\r\n return this.callBase(columns)\r\n },\r\n _getClientHeight(element) {\r\n var boundingClientRectElement = element.getBoundingClientRect && getBoundingRect(element);\r\n return boundingClientRectElement && boundingClientRectElement.height ? boundingClientRectElement.height : element.clientHeight\r\n },\r\n synchronizeRows() {\r\n var rowHeights = [];\r\n var fixedRowHeights = [];\r\n var rowIndex;\r\n var $rowElements;\r\n var $fixedRowElements;\r\n var $contentElement;\r\n this.waitAsyncTemplates(true).done(() => {\r\n if (this._isFixedColumns && this._tableElement && this._fixedTableElement) {\r\n var heightTable = this._getClientHeight(this._tableElement.get(0));\r\n var heightFixedTable = this._getClientHeight(this._fixedTableElement.get(0));\r\n $rowElements = this._getRowElements(this._tableElement);\r\n $fixedRowElements = this._getRowElements(this._fixedTableElement);\r\n $contentElement = this._findContentElement();\r\n if (heightTable !== heightFixedTable) {\r\n $contentElement && $contentElement.css(\"height\", heightTable);\r\n $rowElements.css(\"height\", \"\");\r\n $fixedRowElements.css(\"height\", \"\");\r\n for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) {\r\n rowHeights.push(this._getClientHeight($rowElements.get(rowIndex)));\r\n fixedRowHeights.push(this._getClientHeight($fixedRowElements.get(rowIndex)))\r\n }\r\n for (rowIndex = 0; rowIndex < $rowElements.length; rowIndex++) {\r\n var rowHeight = rowHeights[rowIndex];\r\n var fixedRowHeight = fixedRowHeights[rowIndex];\r\n if (rowHeight > fixedRowHeight) {\r\n $fixedRowElements.eq(rowIndex).css(\"height\", rowHeight)\r\n } else if (rowHeight < fixedRowHeight) {\r\n $rowElements.eq(rowIndex).css(\"height\", fixedRowHeight)\r\n }\r\n }\r\n $contentElement && $contentElement.css(\"height\", \"\")\r\n }\r\n }\r\n })\r\n },\r\n setScrollerSpacing(width) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n this.callBase(width);\r\n this.element().children(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).css({\r\n paddingLeft: rtlEnabled ? width : \"\",\r\n paddingRight: !rtlEnabled ? width : \"\"\r\n })\r\n }\r\n};\r\nvar ColumnHeadersViewFixedColumnsExtender = extend({}, baseFixedColumns, {\r\n _getRowVisibleColumns(rowIndex) {\r\n if (this._isFixedTableRendering) {\r\n return this.getFixedColumns(rowIndex)\r\n }\r\n return this.callBase(rowIndex)\r\n },\r\n getContextMenuItems(options) {\r\n var {\r\n column: column\r\n } = options;\r\n var columnFixingOptions = this.option(\"columnFixing\");\r\n var items = this.callBase(options);\r\n if (options.row && \"header\" === options.row.rowType) {\r\n if (true === columnFixingOptions.enabled && column && column.allowFixing) {\r\n var onItemClick = params => {\r\n switch (params.itemData.value) {\r\n case \"none\":\r\n this._columnsController.columnOption(column.index, \"fixed\", false);\r\n break;\r\n case \"left\":\r\n this._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"left\"\r\n });\r\n break;\r\n case \"right\":\r\n this._columnsController.columnOption(column.index, {\r\n fixed: true,\r\n fixedPosition: \"right\"\r\n })\r\n }\r\n };\r\n items = items || [];\r\n items.push({\r\n text: columnFixingOptions.texts.fix,\r\n beginGroup: true,\r\n items: [{\r\n text: columnFixingOptions.texts.leftPosition,\r\n value: \"left\",\r\n disabled: column.fixed && (!column.fixedPosition || \"left\" === column.fixedPosition),\r\n onItemClick: onItemClick\r\n }, {\r\n text: columnFixingOptions.texts.rightPosition,\r\n value: \"right\",\r\n disabled: column.fixed && \"right\" === column.fixedPosition,\r\n onItemClick: onItemClick\r\n }]\r\n }, {\r\n text: columnFixingOptions.texts.unfix,\r\n value: \"none\",\r\n disabled: !column.fixed,\r\n onItemClick: onItemClick\r\n })\r\n }\r\n }\r\n return items\r\n },\r\n getFixedColumnElements(rowIndex) {\r\n if (isDefined(rowIndex)) {\r\n return this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(rowIndex).children()\r\n }\r\n var columnElements = this.getColumnElements();\r\n var $transparentColumnElement = this.getTransparentColumnElement();\r\n if (columnElements && $transparentColumnElement && $transparentColumnElement.length) {\r\n var transparentColumnIndex = getTransparentColumnIndex(this.getFixedColumns());\r\n columnElements.splice(transparentColumnIndex, $transparentColumnElement.get(0).colSpan, $transparentColumnElement.get(0))\r\n }\r\n return columnElements\r\n },\r\n getColumnWidths() {\r\n var fixedWidths;\r\n var result = this.callBase();\r\n var $fixedColumnElements = this.getFixedColumnElements();\r\n var fixedColumns = this.getFixedColumns();\r\n if (this._fixedTableElement) {\r\n if ($fixedColumnElements && $fixedColumnElements.length) {\r\n fixedWidths = this._getWidths($fixedColumnElements)\r\n } else {\r\n fixedWidths = this.callBase(this._fixedTableElement)\r\n }\r\n }\r\n return normalizeColumnWidths(fixedColumns, result, fixedWidths)\r\n }\r\n});\r\nvar RowsViewFixedColumnsExtender = extend({}, baseFixedColumns, {\r\n _detachHoverEvents() {\r\n this._fixedTableElement && eventsEngine.off(this._fixedTableElement, \"mouseover mouseout\", \".dx-data-row\");\r\n this._tableElement && eventsEngine.off(this._tableElement, \"mouseover mouseout\", \".dx-data-row\")\r\n },\r\n _attachHoverEvents() {\r\n var that = this;\r\n var attachHoverEvent = function($table) {\r\n eventsEngine.on($table, \"mouseover mouseout\", \".dx-data-row\", that.createAction(args => {\r\n var {\r\n event: event\r\n } = args;\r\n var rowIndex = that.getRowIndex($(event.target).closest(\".dx-row\"));\r\n var isHover = \"mouseover\" === event.type;\r\n if (rowIndex >= 0) {\r\n that._tableElement && that._getRowElements(that._tableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover);\r\n that._fixedTableElement && that._getRowElements(that._fixedTableElement).eq(rowIndex).toggleClass(HOVER_STATE_CLASS, isHover)\r\n }\r\n }))\r\n };\r\n if (that._fixedTableElement && that._tableElement) {\r\n attachHoverEvent(that._fixedTableElement);\r\n attachHoverEvent(that._tableElement)\r\n }\r\n },\r\n _getScrollDelay() {\r\n var _a;\r\n var hasResizeTimeout = null === (_a = this.getController(\"resizing\")) || void 0 === _a ? void 0 : _a.hasResizeTimeout();\r\n if (hasResizeTimeout) {\r\n return this.option(\"scrolling.updateTimeout\")\r\n }\r\n return browser.mozilla ? 60 : 0\r\n },\r\n _findContentElement(isFixedTableRendering) {\r\n var $content;\r\n var scrollTop;\r\n var contentClass = this.addWidgetPrefix(CONTENT_CLASS);\r\n var element = this.element();\r\n isFixedTableRendering = this._isFixedTableRendering || isFixedTableRendering;\r\n if (element && isFixedTableRendering) {\r\n $content = element.children(\".\".concat(contentClass));\r\n var scrollable = this.getScrollable();\r\n if (!$content.length && scrollable) {\r\n $content = $(\"<div>\").addClass(contentClass);\r\n eventsEngine.on($content, \"scroll\", e => {\r\n var {\r\n target: target\r\n } = e;\r\n var scrollDelay = this._getScrollDelay();\r\n clearTimeout(this._fixedScrollTimeout);\r\n this._fixedScrollTimeout = setTimeout(() => {\r\n scrollTop = $(target).scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop\r\n })\r\n }, scrollDelay)\r\n });\r\n eventsEngine.on($content, wheelEventName, e => {\r\n var $nearestScrollable = $(e.target).closest(\".dx-scrollable\");\r\n var shouldScroll = false;\r\n if (scrollable && scrollable.$element().is($nearestScrollable)) {\r\n shouldScroll = true\r\n } else {\r\n var nearestScrollableInstance = $nearestScrollable.length && Scrollable.getInstance($nearestScrollable.get(0));\r\n var nearestScrollableHasVerticalScrollbar = nearestScrollableInstance && nearestScrollableInstance.scrollHeight() - nearestScrollableInstance.clientHeight() > 0;\r\n shouldScroll = nearestScrollableInstance && !nearestScrollableHasVerticalScrollbar\r\n }\r\n if (shouldScroll) {\r\n scrollTop = scrollable.scrollTop();\r\n scrollable.scrollTo({\r\n y: scrollTop - e.delta\r\n });\r\n var scrollableTop = scrollable.scrollTop() + scrollable.clientHeight();\r\n var scrollableHeight = scrollable.scrollHeight() + this.getScrollbarWidth();\r\n var isPreventDefault = scrollable.scrollTop() > 0 && scrollableTop < scrollableHeight;\r\n if (isPreventDefault) {\r\n return false\r\n }\r\n }\r\n return\r\n });\r\n $content.appendTo(element)\r\n }\r\n return $content\r\n }\r\n return this.callBase()\r\n },\r\n _updateScrollable() {\r\n this.callBase();\r\n var scrollable = this.getScrollable();\r\n if (null === scrollable || void 0 === scrollable ? void 0 : scrollable._disposed) {\r\n return\r\n }\r\n var scrollTop = scrollable && scrollable.scrollOffset().top;\r\n this._updateFixedTablePosition(scrollTop)\r\n },\r\n _renderContent(contentElement, tableElement, isFixedTableRendering) {\r\n if (this._isFixedTableRendering || isFixedTableRendering) {\r\n return contentElement.empty().addClass(\"\".concat(this.addWidgetPrefix(CONTENT_CLASS), \" \").concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS))).append(tableElement)\r\n }\r\n return this.callBase(contentElement, tableElement)\r\n },\r\n _getGroupCellOptions(options) {\r\n if (this._isFixedTableRendering) {\r\n return this.callBase(extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n }\r\n return this.callBase(options)\r\n },\r\n _renderGroupedCells($row, options) {\r\n return this.callBase($row, extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n },\r\n _renderGroupSummaryCells($row, options) {\r\n if (this._isFixedTableRendering) {\r\n this.callBase($row, extend({}, options, {\r\n columns: this._columnsController.getVisibleColumns()\r\n }))\r\n } else {\r\n this.callBase($row, options)\r\n }\r\n },\r\n _hasAlignByColumnSummaryItems(columnIndex, options) {\r\n var result = this.callBase.apply(this, arguments);\r\n var column = options.columns[columnIndex];\r\n if (options.isFixed) {\r\n return column.fixed && (result || \"right\" === column.fixedPosition)\r\n }\r\n return result && (!this._isFixedColumns || !column.fixed)\r\n },\r\n _renderGroupSummaryCellsCore($groupCell, options, groupCellColSpan, alignByColumnCellCount) {\r\n var alignByFixedColumnCellCount;\r\n if (this._isFixedTableRendering) {\r\n options.isFixed = true;\r\n alignByFixedColumnCellCount = this._getAlignByColumnCellCount(groupCellColSpan, options);\r\n options.isFixed = false;\r\n var startColumnIndex = options.columns.length - alignByFixedColumnCellCount;\r\n options = extend({}, options, {\r\n columns: this.getFixedColumns()\r\n });\r\n var transparentColumnIndex = getTransparentColumnIndex(options.columns);\r\n if (startColumnIndex < transparentColumnIndex) {\r\n alignByFixedColumnCellCount -= options.columns[transparentColumnIndex].colspan - 1 || 0;\r\n groupCellColSpan -= options.columns[transparentColumnIndex].colspan - 1 || 0\r\n } else if (alignByColumnCellCount > 0) {\r\n $groupCell.css(\"visibility\", \"hidden\")\r\n }\r\n alignByColumnCellCount = alignByFixedColumnCellCount\r\n }\r\n this.callBase($groupCell, options, groupCellColSpan, alignByColumnCellCount)\r\n },\r\n _getSummaryCellIndex(columnIndex, columns) {\r\n if (this._isFixedTableRendering) {\r\n var transparentColumnIndex = getTransparentColumnIndex(columns);\r\n if (columnIndex > transparentColumnIndex) {\r\n columnIndex += columns[transparentColumnIndex].colspan - 1\r\n }\r\n return columnIndex\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _renderCore(change) {\r\n this._detachHoverEvents();\r\n var deferred = this.callBase(change);\r\n var isFixedColumns = this._isFixedColumns;\r\n this.element().toggleClass(FIXED_COLUMNS_CLASS, isFixedColumns);\r\n if (this.option(\"hoverStateEnabled\") && isFixedColumns) {\r\n deferred.done(() => {\r\n this._attachHoverEvents()\r\n })\r\n }\r\n return deferred\r\n },\r\n setRowsOpacity(columnIndex, value) {\r\n this.callBase(columnIndex, value);\r\n var $rows = this._getRowElements(this._fixedTableElement);\r\n this._setRowsOpacityCore($rows, this.getFixedColumns(), columnIndex, value)\r\n },\r\n optionChanged(args) {\r\n this.callBase(args);\r\n if (\"hoverStateEnabled\" === args.name && this._isFixedColumns) {\r\n args.value ? this._attachHoverEvents() : this._detachHoverEvents()\r\n }\r\n },\r\n getCellIndex($cell) {\r\n var $fixedTable = this._fixedTableElement;\r\n var cellIndex = 0;\r\n if ($fixedTable && $cell.is(\"td\") && $cell.closest($fixedTable).length) {\r\n var columns = this.getFixedColumns();\r\n each(columns, (index, column) => {\r\n if (index === $cell[0].cellIndex) {\r\n return false\r\n }\r\n if (column.colspan) {\r\n cellIndex += column.colspan;\r\n return\r\n }\r\n cellIndex++;\r\n return\r\n });\r\n return cellIndex\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _updateFixedTablePosition(scrollTop, needFocus) {\r\n if (this._fixedTableElement && this._tableElement) {\r\n var $focusedElement;\r\n var editorFactory = this.getController(\"editorFactory\");\r\n this._fixedTableElement.parent().scrollTop(scrollTop);\r\n if (needFocus && editorFactory) {\r\n $focusedElement = editorFactory.focus();\r\n $focusedElement && editorFactory.focus($focusedElement)\r\n }\r\n }\r\n },\r\n setScrollerSpacing(vWidth, hWidth) {\r\n var styles = {\r\n marginBottom: 0\r\n };\r\n var $fixedContent = this.element().children(\".\".concat(this.addWidgetPrefix(CONTENT_FIXED_CLASS)));\r\n if ($fixedContent.length && this._fixedTableElement) {\r\n $fixedContent.css(styles);\r\n this._fixedTableElement.css(styles);\r\n styles[this.option(\"rtlEnabled\") ? \"marginLeft\" : \"marginRight\"] = vWidth;\r\n styles.marginBottom = hWidth;\r\n var useNativeScrolling = this._scrollable && this._scrollable.option(\"useNative\");\r\n (useNativeScrolling ? $fixedContent : this._fixedTableElement).css(styles)\r\n }\r\n },\r\n _getElasticScrollTop(e) {\r\n var elasticScrollTop = 0;\r\n if (e.scrollOffset.top < 0) {\r\n elasticScrollTop = -e.scrollOffset.top\r\n } else if (e.reachedBottom) {\r\n var $scrollableContent = $(e.component.content());\r\n var $scrollableContainer = $(e.component.container());\r\n var maxScrollTop = Math.max($scrollableContent.get(0).clientHeight - $scrollableContainer.get(0).clientHeight, 0);\r\n elasticScrollTop = Math.min(maxScrollTop - e.scrollOffset.top, 0)\r\n }\r\n return Math.floor(elasticScrollTop)\r\n },\r\n _applyElasticScrolling(e) {\r\n if (this._fixedTableElement) {\r\n var elasticScrollTop = this._getElasticScrollTop(e);\r\n if (0 !== Math.ceil(elasticScrollTop)) {\r\n move(this._fixedTableElement, {\r\n top: elasticScrollTop\r\n })\r\n } else {\r\n this._fixedTableElement.css(\"transform\", \"\")\r\n }\r\n }\r\n },\r\n _handleScroll(e) {\r\n this._updateFixedTablePosition(e.scrollOffset.top, true);\r\n this._applyElasticScrolling(e);\r\n this.callBase(e)\r\n },\r\n _updateContentPosition(isRender) {\r\n this.callBase.apply(this, arguments);\r\n if (!isRender) {\r\n this._updateFixedTablePosition(this._scrollTop)\r\n }\r\n },\r\n _afterRowPrepared(e) {\r\n if (this._isFixedTableRendering) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _scrollToElement($element) {\r\n this.callBase($element, this.getFixedColumnsOffset())\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._fixedScrollTimeout)\r\n }\r\n});\r\nvar FooterViewFixedColumnsExtender = baseFixedColumns;\r\nexport var columnFixingModule = {\r\n defaultOptions: () => ({\r\n columnFixing: {\r\n enabled: false,\r\n texts: {\r\n fix: messageLocalization.format(\"dxDataGrid-columnFixingFix\"),\r\n unfix: messageLocalization.format(\"dxDataGrid-columnFixingUnfix\"),\r\n leftPosition: messageLocalization.format(\"dxDataGrid-columnFixingLeftPosition\"),\r\n rightPosition: messageLocalization.format(\"dxDataGrid-columnFixingRightPosition\")\r\n }\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n columnHeadersView: ColumnHeadersViewFixedColumnsExtender,\r\n rowsView: RowsViewFixedColumnsExtender,\r\n footerView: FooterViewFixedColumnsExtender\r\n },\r\n controllers: {\r\n draggingHeader: {\r\n _generatePointsByColumns(options) {\r\n var visibleColumns = options.columns;\r\n var {\r\n targetDraggingPanel: targetDraggingPanel\r\n } = options;\r\n if (targetDraggingPanel && \"headers\" === targetDraggingPanel.getName() && targetDraggingPanel.isFixedColumns()) {\r\n if (options.sourceColumn.fixed) {\r\n if (!options.rowIndex) {\r\n options.columnElements = targetDraggingPanel.getFixedColumnElements(0)\r\n }\r\n options.columns = targetDraggingPanel.getFixedColumns(options.rowIndex);\r\n var pointsByColumns = this.callBase(options);\r\n ! function(columns, fixedColumns, pointsByColumns) {\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var correctIndex = columns.length - fixedColumns.length;\r\n each(pointsByColumns, (_, point) => {\r\n if (point.index > transparentColumnIndex) {\r\n point.columnIndex += correctIndex;\r\n point.index += correctIndex\r\n }\r\n });\r\n return pointsByColumns\r\n }(visibleColumns, options.columns, pointsByColumns);\r\n return pointsByColumns\r\n }\r\n }\r\n return this.callBase(options)\r\n },\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var result = this.callBase.apply(this, arguments);\r\n var targetColumn = columns[point.columnIndex];\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if (!result && \"headers\" === location && $transparentColumn && $transparentColumn.length) {\r\n var boundingRect = getBoundingRect($transparentColumn.get(0));\r\n if (sourceColumn && sourceColumn.fixed) {\r\n return \"right\" === sourceColumn.fixedPosition ? point.x < boundingRect.right : point.x > boundingRect.left\r\n }\r\n if (targetColumn && targetColumn.fixed && \"right\" !== targetColumn.fixedPosition) {\r\n return true\r\n }\r\n return point.x < boundingRect.left || point.x > boundingRect.right\r\n }\r\n return result\r\n }\r\n },\r\n columnsResizer: {\r\n _generatePointsByColumns() {\r\n var that = this;\r\n var columnsController = that._columnsController;\r\n var columns = columnsController && that._columnsController.getVisibleColumns();\r\n var fixedColumns = columnsController && that._columnsController.getFixedColumns();\r\n var transparentColumnIndex = getTransparentColumnIndex(fixedColumns);\r\n var correctIndex = columns.length - fixedColumns.length;\r\n var cells = that._columnHeadersView.getFixedColumnElements();\r\n that.callBase();\r\n if (cells && cells.length > 0) {\r\n that._pointsByFixedColumns = gridCoreUtils.getPointsByColumns(cells, point => {\r\n if (point.index > transparentColumnIndex) {\r\n point.columnIndex += correctIndex;\r\n point.index += correctIndex\r\n }\r\n return that._pointCreated(point, columns.length, columns)\r\n })\r\n }\r\n },\r\n _getTargetPoint(pointsByColumns, currentX, deltaX) {\r\n var $transparentColumn = this._columnHeadersView.getTransparentColumnElement();\r\n if ($transparentColumn && $transparentColumn.length) {\r\n var boundingRect = getBoundingRect($transparentColumn.get(0));\r\n if (currentX <= boundingRect.left || currentX >= boundingRect.right) {\r\n return this.callBase(this._pointsByFixedColumns, currentX, deltaX)\r\n }\r\n }\r\n return this.callBase(pointsByColumns, currentX, deltaX)\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/column_fixing.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n columnFixingModule\r\n} from \"../../../grids/grid_core/column_fixing/m_column_fixing\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"columnFixing\", columnFixingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/adaptivity/m_adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../../../core/guid\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n isElementInDom\r\n} from \"../../../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined,\r\n isString\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../../events/click\";\r\nimport eventsEngine from \"../../../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../../../events/utils/index\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport Form from \"../../../../ui/form\";\r\nimport {\r\n isMaterial\r\n} from \"../../../../ui/themes\";\r\nimport modules from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nvar COLUMN_HEADERS_VIEW = \"columnHeadersView\";\r\nvar ROWS_VIEW = \"rowsView\";\r\nvar FOOTER_VIEW = \"footerView\";\r\nvar COLUMN_VIEWS = [COLUMN_HEADERS_VIEW, ROWS_VIEW, FOOTER_VIEW];\r\nvar ADAPTIVE_NAMESPACE = \"dxDataGridAdaptivity\";\r\nvar HIDDEN_COLUMNS_WIDTH = \"adaptiveHidden\";\r\nvar ADAPTIVE_ROW_TYPE = \"detailAdaptive\";\r\nvar FORM_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nvar FORM_ITEM_MODIFIED = \"dx-item-modified\";\r\nvar HIDDEN_COLUMN_CLASS = \"hidden-column\";\r\nvar ADAPTIVE_COLUMN_BUTTON_CLASS = \"adaptive-more\";\r\nvar ADAPTIVE_COLUMN_NAME_CLASS = \"dx-command-adaptive\";\r\nvar COMMAND_ADAPTIVE_HIDDEN_CLASS = \"dx-command-adaptive-hidden\";\r\nvar ADAPTIVE_DETAIL_ROW_CLASS = \"dx-adaptive-detail-row\";\r\nvar ADAPTIVE_ITEM_TEXT_CLASS = \"dx-adaptive-item-text\";\r\nvar MASTER_DETAIL_CELL_CLASS = \"dx-master-detail-cell\";\r\nvar LAST_DATA_CELL_CLASS = \"dx-last-data-cell\";\r\nvar ADAPTIVE_COLUMN_NAME = \"adaptive\";\r\nvar EDIT_MODE_BATCH = \"batch\";\r\nvar EDIT_MODE_ROW = \"row\";\r\nvar EDIT_MODE_FORM = \"form\";\r\nvar EDIT_MODE_POPUP = \"popup\";\r\nvar REVERT_TOOLTIP_CLASS = \"revert-tooltip\";\r\nvar GROUP_CELL_CLASS = \"dx-group-cell\";\r\nvar GROUP_ROW_CLASS = \"dx-group-row\";\r\nvar EXPAND_ARIA_NAME = \"dxDataGrid-ariaAdaptiveExpand\";\r\nvar COLLAPSE_ARIA_NAME = \"dxDataGrid-ariaAdaptiveCollapse\";\r\nvar LEGACY_SCROLLING_MODE = \"scrolling.legacyMode\";\r\n\r\nfunction getColumnId(that, column) {\r\n return that._columnsController.getColumnId(column)\r\n}\r\n\r\nfunction getDataCellElements($row) {\r\n return $row.find(\"td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])\")\r\n}\r\n\r\nfunction adaptiveCellTemplate(container, options) {\r\n var $adaptiveColumnButton;\r\n var $container = $(container);\r\n var adaptiveColumnsController = options.component.getController(\"adaptiveColumns\");\r\n if (\"data\" === options.rowType) {\r\n $adaptiveColumnButton = $(\"<span>\").addClass(adaptiveColumnsController.addWidgetPrefix(ADAPTIVE_COLUMN_BUTTON_CLASS));\r\n eventsEngine.on($adaptiveColumnButton, addNamespace(clickEventName, ADAPTIVE_NAMESPACE), adaptiveColumnsController.createAction(() => {\r\n adaptiveColumnsController.toggleExpandAdaptiveDetailRow(options.key)\r\n }));\r\n $adaptiveColumnButton.appendTo($container)\r\n } else {\r\n gridCoreUtils.setEmptyText($container)\r\n }\r\n}\r\n\r\nfunction focusCellHandler(e) {\r\n var _a;\r\n var $nextCell = null === (_a = e.data) || void 0 === _a ? void 0 : _a.$nextCell;\r\n eventsEngine.off($nextCell, \"focus\", focusCellHandler);\r\n eventsEngine.trigger($nextCell, \"dxclick\")\r\n}\r\nvar adaptiveColumnsControllerMembers = {\r\n _isRowEditMode() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_ROW\r\n },\r\n _isItemModified(item, cellOptions) {\r\n var columnIndex = this._columnsController.getVisibleIndex(item.column.index);\r\n var rowIndex = this._dataController.getRowIndexByKey(cellOptions.key);\r\n var row = this._dataController.items()[rowIndex + 1];\r\n return row && row.modifiedValues && isDefined(row.modifiedValues[columnIndex])\r\n },\r\n _renderFormViewTemplate(item, cellOptions, $container) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = item;\r\n var focusAction = that.createAction(() => {\r\n if (that._editingController.isEditing()) {\r\n eventsEngine.trigger($container, clickEventName)\r\n }\r\n });\r\n var rowData = cellOptions.row.data;\r\n var value = column.calculateCellValue(rowData);\r\n var displayValue = gridCoreUtils.getDisplayValue(column, value, rowData, cellOptions.rowType);\r\n var text = gridCoreUtils.formatValue(displayValue, column);\r\n var isCellOrBatchEditMode = this._editingController.isCellOrBatchEditMode();\r\n var rowsView = that._rowsView;\r\n if (column.allowEditing && that.getController(\"keyboardNavigation\").isKeyboardEnabled()) {\r\n $container.attr(\"tabIndex\", that.option(\"tabIndex\"));\r\n if (isCellOrBatchEditMode) {\r\n eventsEngine.off($container, \"focus\", focusAction);\r\n eventsEngine.on($container, \"focus\", focusAction)\r\n }\r\n }\r\n if (column.cellTemplate) {\r\n var templateOptions = extend({}, cellOptions, {\r\n value: value,\r\n displayValue: displayValue,\r\n text: text,\r\n column: column\r\n });\r\n rowsView.renderTemplate($container, column.cellTemplate, templateOptions, isElementInDom($container)).done(() => {\r\n rowsView._cellPrepared($container, cellOptions)\r\n })\r\n } else {\r\n var container = $container.get(0);\r\n if (column.encodeHtml) {\r\n container.textContent = text\r\n } else {\r\n container.innerHTML = text\r\n }\r\n $container.addClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n if (!isDefined(text) || \"\" === text) {\r\n $container.html(\" \")\r\n }\r\n if (!that._isRowEditMode()) {\r\n if (that._isItemModified(item, cellOptions)) {\r\n $container.addClass(FORM_ITEM_MODIFIED)\r\n }\r\n }\r\n rowsView._cellPrepared($container, cellOptions)\r\n }\r\n },\r\n _getTemplate(item, cellOptions) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = item;\r\n var editingController = this.getController(\"editing\");\r\n return function(options, container) {\r\n var $container = $(container);\r\n var columnIndex = that._columnsController.getVisibleIndex(column.index);\r\n var templateOptions = extend({}, cellOptions);\r\n var renderFormTemplate = function() {\r\n var isItemEdited = that._isItemEdited(item);\r\n templateOptions.value = cellOptions.row.values[columnIndex];\r\n if (isItemEdited || column.showEditorAlways) {\r\n editingController.renderFormEditorTemplate(templateOptions, item, options, $container, !isItemEdited)\r\n } else {\r\n templateOptions.column = column;\r\n templateOptions.columnIndex = columnIndex;\r\n that._renderFormViewTemplate(item, templateOptions, $container)\r\n }\r\n };\r\n renderFormTemplate();\r\n templateOptions.watch && templateOptions.watch(() => ({\r\n isItemEdited: that._isItemEdited(item),\r\n value: cellOptions.row.values[columnIndex]\r\n }), () => {\r\n $container.contents().remove();\r\n $container.removeClass(ADAPTIVE_ITEM_TEXT_CLASS);\r\n renderFormTemplate()\r\n })\r\n }\r\n },\r\n _isVisibleColumnsValid(visibleColumns) {\r\n if (visibleColumns < 2) {\r\n return false\r\n }\r\n if (visibleColumns.length - function() {\r\n var result = 0;\r\n for (var j = 0; j < visibleColumns.length; j++) {\r\n var visibleColumn = visibleColumns[j];\r\n if (visibleColumn.command) {\r\n result++\r\n }\r\n }\r\n return result\r\n }() <= 1) {\r\n return false\r\n }\r\n return true\r\n },\r\n _calculatePercentWidths(widths, visibleColumns) {\r\n var that = this;\r\n var percentWidths = 0;\r\n visibleColumns.forEach((item, index) => {\r\n if (widths[index] !== HIDDEN_COLUMNS_WIDTH) {\r\n percentWidths += that._getItemPercentWidth(item)\r\n }\r\n });\r\n return percentWidths\r\n },\r\n _isPercentWidth: width => isString(width) && width.endsWith(\"%\"),\r\n _isColumnHidden(column) {\r\n return this._hiddenColumns.filter(hiddenColumn => hiddenColumn.index === column.index).length > 0\r\n },\r\n _getAverageColumnsWidth(containerWidth, columns, columnsCanFit) {\r\n var that = this;\r\n var fixedColumnsWidth = 0;\r\n var columnsWithoutFixedWidthCount = 0;\r\n columns.forEach(column => {\r\n if (!that._isColumnHidden(column)) {\r\n var {\r\n width: width\r\n } = column;\r\n if (isDefined(width) && !isNaN(parseFloat(width))) {\r\n fixedColumnsWidth += that._isPercentWidth(width) ? that._calculatePercentWidth({\r\n visibleIndex: column.visibleIndex,\r\n columnsCount: columns.length,\r\n columnsCanFit: columnsCanFit,\r\n bestFitWidth: column.bestFitWidth,\r\n columnWidth: width,\r\n containerWidth: containerWidth\r\n }) : parseFloat(width)\r\n } else {\r\n columnsWithoutFixedWidthCount++\r\n }\r\n }\r\n });\r\n return (containerWidth - fixedColumnsWidth) / columnsWithoutFixedWidthCount\r\n },\r\n _calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit) {\r\n var columnId = getColumnId(this, column);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var bestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n var columnsCount = contentColumns.length;\r\n var colWidth;\r\n if (widthOption && \"auto\" !== widthOption) {\r\n if (this._isPercentWidth(widthOption)) {\r\n colWidth = this._calculatePercentWidth({\r\n visibleIndex: column.visibleIndex,\r\n columnsCount: columnsCount,\r\n columnsCanFit: columnsCanFit,\r\n bestFitWidth: bestFitWidth,\r\n columnWidth: widthOption,\r\n containerWidth: containerWidth\r\n })\r\n } else {\r\n return parseFloat(widthOption)\r\n }\r\n } else {\r\n var columnAutoWidth = this.option(\"columnAutoWidth\");\r\n colWidth = columnAutoWidth || !!column.command ? bestFitWidth : this._getAverageColumnsWidth(containerWidth, contentColumns, columnsCanFit)\r\n }\r\n return colWidth\r\n },\r\n _calculatePercentWidth(options) {\r\n var columnFitted = options.visibleIndex < options.columnsCount - 1 && options.columnsCanFit;\r\n var partialWidth = options.containerWidth * parseFloat(options.columnWidth) / 100;\r\n var resultWidth = options.columnsCanFit && partialWidth < options.bestFitWidth ? options.bestFitWidth : partialWidth;\r\n return columnFitted ? options.containerWidth * parseFloat(options.columnWidth) / 100 : resultWidth\r\n },\r\n _getNotTruncatedColumnWidth(column, containerWidth, contentColumns, columnsCanFit) {\r\n var columnId = getColumnId(this, column);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var bestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n if (widthOption && \"auto\" !== widthOption && !this._isPercentWidth(widthOption)) {\r\n return parseFloat(widthOption)\r\n }\r\n var colWidth = this._calculateColumnWidth(column, containerWidth, contentColumns, columnsCanFit);\r\n return colWidth < bestFitWidth ? null : colWidth\r\n },\r\n _getItemPercentWidth(item) {\r\n var result = 0;\r\n if (item.width && this._isPercentWidth(item.width)) {\r\n result = parseFloat(item.width)\r\n }\r\n return result\r\n },\r\n _getCommandColumnsWidth() {\r\n var that = this;\r\n var columns = that._columnsController.getVisibleColumns();\r\n var colWidth = 0;\r\n each(columns, (index, column) => {\r\n if (column.index < 0 || column.command) {\r\n colWidth += that._columnsController.columnOption(getColumnId(that, column), \"bestFitWidth\") || 0\r\n }\r\n });\r\n return colWidth\r\n },\r\n _isItemEdited(item) {\r\n if (this.isFormOrPopupEditMode()) {\r\n return false\r\n }\r\n if (this._isRowEditMode()) {\r\n var editRowKey = this.option(\"editing.editRowKey\");\r\n if (equalByValue(editRowKey, this._dataController.adaptiveExpandedKey())) {\r\n return true\r\n }\r\n } else {\r\n var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1;\r\n var columnIndex = this._columnsController.getVisibleIndex(item.column.index);\r\n return this._editingController.isEditCell(rowIndex, columnIndex)\r\n }\r\n },\r\n _getFormItemsByHiddenColumns(hiddenColumns) {\r\n var items = [];\r\n each(hiddenColumns, (_, column) => {\r\n items.push({\r\n column: column,\r\n name: column.name,\r\n dataField: column.dataField,\r\n visibleIndex: column.visibleIndex\r\n })\r\n });\r\n return items\r\n },\r\n _getAdaptiveColumnVisibleIndex(visibleColumns) {\r\n for (var i = 0; i < visibleColumns.length; i++) {\r\n var column = visibleColumns[i];\r\n if (column.command === ADAPTIVE_COLUMN_NAME) {\r\n return i\r\n }\r\n }\r\n return\r\n },\r\n _hideAdaptiveColumn(resultWidths, visibleColumns) {\r\n var visibleIndex = this._getAdaptiveColumnVisibleIndex(visibleColumns);\r\n if (isDefined(visibleIndex)) {\r\n resultWidths[visibleIndex] = HIDDEN_COLUMNS_WIDTH;\r\n this._hideVisibleColumn({\r\n isCommandColumn: true,\r\n visibleIndex: visibleIndex\r\n })\r\n }\r\n },\r\n _showHiddenCellsInView(_ref) {\r\n var {\r\n $cells: $cells,\r\n isCommandColumn: isCommandColumn\r\n } = _ref;\r\n var cssClassNameToRemove = this.addWidgetPrefix(HIDDEN_COLUMN_CLASS);\r\n if (isCommandColumn) {\r\n cssClassNameToRemove = COMMAND_ADAPTIVE_HIDDEN_CLASS;\r\n $cells.attr({\r\n tabIndex: 0,\r\n \"aria-hidden\": null\r\n }).removeClass(cssClassNameToRemove)\r\n } else {\r\n $cells.removeClass(cssClassNameToRemove)\r\n }\r\n },\r\n _showHiddenColumns() {\r\n for (var i = 0; i < COLUMN_VIEWS.length; i++) {\r\n var view = this.getView(COLUMN_VIEWS[i]);\r\n if (view && view.isVisible() && view.element()) {\r\n var viewName = view.name;\r\n var $hiddenCommandCells = view.element().find(\".\".concat(COMMAND_ADAPTIVE_HIDDEN_CLASS));\r\n this._showHiddenCellsInView({\r\n viewName: viewName,\r\n $cells: $hiddenCommandCells,\r\n isCommandColumn: true\r\n });\r\n var $hiddenCells = view.element().find(\".\".concat(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)));\r\n this._showHiddenCellsInView({\r\n viewName: viewName,\r\n $cells: $hiddenCells\r\n })\r\n }\r\n }\r\n },\r\n _isCellValid: $cell => $cell && $cell.length && !$cell.hasClass(MASTER_DETAIL_CELL_CLASS) && !$cell.hasClass(GROUP_CELL_CLASS),\r\n _hideVisibleColumn(_ref2) {\r\n var {\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n } = _ref2;\r\n var that = this;\r\n COLUMN_VIEWS.forEach(viewName => {\r\n var view = that.getView(viewName);\r\n view && that._hideVisibleColumnInView({\r\n view: view,\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n })\r\n })\r\n },\r\n _hideVisibleColumnInView(_ref3) {\r\n var {\r\n view: view,\r\n isCommandColumn: isCommandColumn,\r\n visibleIndex: visibleIndex\r\n } = _ref3;\r\n var viewName = view.name;\r\n var $cellElement;\r\n var column = this._columnsController.getVisibleColumns()[visibleIndex];\r\n var editFormRowIndex = this._editingController && this._editingController.getEditFormRowIndex();\r\n if (view && view.isVisible() && column) {\r\n var rowsCount = view.getRowsCount();\r\n var $rowElements = view._getRowElements();\r\n for (var rowIndex = 0; rowIndex < rowsCount; rowIndex++) {\r\n var cancelClassAdding = rowIndex === editFormRowIndex && viewName === ROWS_VIEW && \"popup\" !== this.option(\"editing.mode\");\r\n if (!cancelClassAdding) {\r\n var currentVisibleIndex = viewName === COLUMN_HEADERS_VIEW ? this._columnsController.getVisibleIndex(column.index, rowIndex) : visibleIndex;\r\n if (currentVisibleIndex >= 0) {\r\n var $rowElement = $rowElements.eq(rowIndex);\r\n $cellElement = this._findCellElementInRow($rowElement, currentVisibleIndex);\r\n this._isCellValid($cellElement) && this._hideVisibleCellInView({\r\n viewName: viewName,\r\n isCommandColumn: isCommandColumn,\r\n $cell: $cellElement\r\n })\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _findCellElementInRow($rowElement, visibleColumnIndex) {\r\n var $rowCells = $rowElement.children();\r\n var visibleIndex = visibleColumnIndex;\r\n var cellIsInsideGroup = false;\r\n if ($rowElement.hasClass(GROUP_ROW_CLASS)) {\r\n var $groupCell = $rowElement.find(\".\".concat(GROUP_CELL_CLASS));\r\n var colSpan = $groupCell.attr(\"colspan\");\r\n if ($groupCell.length && isDefined(colSpan)) {\r\n var groupCellLength = parseInt(colSpan);\r\n var endGroupIndex = $groupCell.index() + groupCellLength - 1;\r\n if (visibleColumnIndex > endGroupIndex) {\r\n visibleIndex = visibleColumnIndex - groupCellLength + 1\r\n } else {\r\n cellIsInsideGroup = true\r\n }\r\n }\r\n }\r\n var $cellElement = !cellIsInsideGroup ? $rowCells.eq(visibleIndex) : void 0;\r\n return $cellElement\r\n },\r\n _hideVisibleCellInView(_ref4) {\r\n var {\r\n $cell: $cell,\r\n isCommandColumn: isCommandColumn\r\n } = _ref4;\r\n var cssClassNameToAdd = isCommandColumn ? COMMAND_ADAPTIVE_HIDDEN_CLASS : this.addWidgetPrefix(HIDDEN_COLUMN_CLASS);\r\n $cell.attr({\r\n tabIndex: -1,\r\n \"aria-hidden\": true\r\n }).addClass(cssClassNameToAdd)\r\n },\r\n _getEditMode() {\r\n return this._editingController.getEditMode()\r\n },\r\n isFormOrPopupEditMode() {\r\n var editMode = this._getEditMode();\r\n return editMode === EDIT_MODE_FORM || editMode === EDIT_MODE_POPUP\r\n },\r\n hideRedundantColumns(resultWidths, visibleColumns, hiddenQueue) {\r\n this._hiddenColumns = [];\r\n if (this._isVisibleColumnsValid(visibleColumns) && hiddenQueue.length) {\r\n var totalWidth = 0;\r\n var $rootElement = this.component.$element();\r\n var rootElementWidth = getWidth($rootElement) - this._getCommandColumnsWidth();\r\n var getVisibleContentColumns = function() {\r\n return visibleColumns.filter(item => !item.command && 0 === this._hiddenColumns.filter(i => i.index === item.index).length)\r\n }.bind(this);\r\n var visibleContentColumns = getVisibleContentColumns();\r\n var contentColumnsCount = visibleContentColumns.length;\r\n var i;\r\n var hasHiddenColumns;\r\n var needHideColumn;\r\n do {\r\n needHideColumn = false;\r\n totalWidth = 0;\r\n var percentWidths = this._calculatePercentWidths(resultWidths, visibleColumns);\r\n var columnsCanFit = percentWidths < 100 && 0 !== percentWidths;\r\n for (i = 0; i < visibleColumns.length; i++) {\r\n var visibleColumn = visibleColumns[i];\r\n var columnWidth = this._getNotTruncatedColumnWidth(visibleColumn, rootElementWidth, visibleContentColumns, columnsCanFit);\r\n var columnId = getColumnId(this, visibleColumn);\r\n var widthOption = this._columnsController.columnOption(columnId, \"width\");\r\n var minWidth = this._columnsController.columnOption(columnId, \"minWidth\");\r\n var columnBestFitWidth = this._columnsController.columnOption(columnId, \"bestFitWidth\");\r\n if (resultWidths[i] === HIDDEN_COLUMNS_WIDTH) {\r\n hasHiddenColumns = true;\r\n continue\r\n }\r\n if (!columnWidth && !visibleColumn.command && !visibleColumn.fixed) {\r\n needHideColumn = true;\r\n break\r\n }\r\n if (!widthOption || \"auto\" === widthOption) {\r\n columnWidth = Math.max(columnBestFitWidth || 0, minWidth || 0)\r\n }\r\n if (visibleColumn.command !== ADAPTIVE_COLUMN_NAME || hasHiddenColumns) {\r\n totalWidth += columnWidth\r\n }\r\n }\r\n needHideColumn = needHideColumn || totalWidth > getWidth($rootElement);\r\n if (needHideColumn) {\r\n var column = hiddenQueue.pop();\r\n var visibleIndex = this._columnsController.getVisibleIndex(column.index);\r\n rootElementWidth += this._calculateColumnWidth(column, rootElementWidth, visibleContentColumns, columnsCanFit);\r\n this._hideVisibleColumn({\r\n visibleIndex: visibleIndex\r\n });\r\n resultWidths[visibleIndex] = HIDDEN_COLUMNS_WIDTH;\r\n this._hiddenColumns.push(column);\r\n visibleContentColumns = getVisibleContentColumns()\r\n }\r\n } while (needHideColumn && visibleContentColumns.length > 1 && hiddenQueue.length);\r\n if (contentColumnsCount === visibleContentColumns.length) {\r\n this._hideAdaptiveColumn(resultWidths, visibleColumns)\r\n }\r\n } else {\r\n this._hideAdaptiveColumn(resultWidths, visibleColumns)\r\n }\r\n },\r\n getAdaptiveDetailItems() {\r\n return this._$itemContents\r\n },\r\n getItemContentByColumnIndex(visibleColumnIndex) {\r\n var $itemContent;\r\n for (var i = 0; i < this._$itemContents.length; i++) {\r\n $itemContent = this._$itemContents.eq(i);\r\n var item = $itemContent.data(\"dx-form-item\");\r\n if (item && item.column && this._columnsController.getVisibleIndex(item.column.index) === visibleColumnIndex) {\r\n return $itemContent\r\n }\r\n }\r\n },\r\n toggleExpandAdaptiveDetailRow(key, alwaysExpanded) {\r\n if (!(this.isFormOrPopupEditMode() && this._editingController.isEditing())) {\r\n this.getController(\"data\").toggleExpandAdaptiveDetailRow(key, alwaysExpanded)\r\n }\r\n },\r\n createFormByHiddenColumns(container, options) {\r\n var that = this;\r\n var $container = $(container);\r\n var userFormOptions = {\r\n items: that._getFormItemsByHiddenColumns(that._hiddenColumns),\r\n formID: \"dx-\".concat(new Guid)\r\n };\r\n var defaultFormOptions = isMaterial() ? {\r\n colCount: 2\r\n } : {};\r\n this.executeAction(\"onAdaptiveDetailRowPreparing\", {\r\n formOptions: userFormOptions\r\n });\r\n that._$itemContents = null;\r\n that._form = that._createComponent($(\"<div>\").appendTo($container), Form, extend(defaultFormOptions, userFormOptions, {\r\n customizeItem(item) {\r\n var column = item.column || that._columnsController.columnOption(item.name || item.dataField);\r\n if (column) {\r\n item.label = item.label || {};\r\n item.label.text = item.label.text || column.caption;\r\n item.column = column;\r\n item.template = that._getTemplate(item, options, that.updateForm.bind(that))\r\n }\r\n userFormOptions.customizeItem && userFormOptions.customizeItem.call(this, item)\r\n },\r\n onContentReady(e) {\r\n userFormOptions.onContentReady && userFormOptions.onContentReady.call(this, e);\r\n that._$itemContents = $container.find(\".\".concat(FORM_ITEM_CONTENT_CLASS))\r\n }\r\n }))\r\n },\r\n hasAdaptiveDetailRowExpanded() {\r\n return isDefined(this._dataController.adaptiveExpandedKey())\r\n },\r\n updateForm(hiddenColumns) {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n if (this._form && isDefined(this._form._contentReadyAction)) {\r\n if (hiddenColumns && hiddenColumns.length) {\r\n this._form.option(\"items\", this._getFormItemsByHiddenColumns(hiddenColumns))\r\n } else {\r\n this._form.repaint()\r\n }\r\n }\r\n }\r\n },\r\n updateHidingQueue(columns) {\r\n var hideableColumns = columns.filter(column => column.visible && !column.type && !column.fixed && !(isDefined(column.groupIndex) && column.groupIndex >= 0));\r\n var columnsHasHidingPriority;\r\n var i;\r\n this._hidingColumnsQueue = [];\r\n if (this.option(\"allowColumnResizing\") && \"widget\" === this.option(\"columnResizingMode\")) {\r\n return this._hidingColumnsQueue\r\n }\r\n for (i = 0; i < hideableColumns.length; i++) {\r\n if (isDefined(hideableColumns[i].hidingPriority) && hideableColumns[i].hidingPriority >= 0) {\r\n columnsHasHidingPriority = true;\r\n this._hidingColumnsQueue[hideableColumns[i].hidingPriority] = hideableColumns[i]\r\n }\r\n }\r\n if (columnsHasHidingPriority) {\r\n this._hidingColumnsQueue.reverse()\r\n } else if (this.option(\"columnHidingEnabled\")) {\r\n for (i = 0; i < hideableColumns.length; i++) {\r\n var visibleIndex = this._columnsController.getVisibleIndex(hideableColumns[i].index);\r\n this._hidingColumnsQueue[visibleIndex] = hideableColumns[i]\r\n }\r\n }\r\n this._hidingColumnsQueue = this._hidingColumnsQueue.filter(Object);\r\n return this._hidingColumnsQueue\r\n },\r\n getHiddenColumns() {\r\n return this._hiddenColumns\r\n },\r\n hasHiddenColumns() {\r\n return this._hiddenColumns.length > 0\r\n },\r\n getHidingColumnsQueue() {\r\n return this._hidingColumnsQueue\r\n },\r\n init() {\r\n var that = this;\r\n that._columnsController = that.getController(\"columns\");\r\n that._dataController = that.getController(\"data\");\r\n that._rowsView = that.getView(\"rowsView\");\r\n that._columnsController.addCommandColumn({\r\n type: ADAPTIVE_COLUMN_NAME,\r\n command: ADAPTIVE_COLUMN_NAME,\r\n visible: true,\r\n adaptiveHidden: true,\r\n cssClass: ADAPTIVE_COLUMN_NAME_CLASS,\r\n alignment: \"center\",\r\n width: \"auto\",\r\n cellTemplate: adaptiveCellTemplate,\r\n fixedPosition: \"right\"\r\n });\r\n that._columnsController.columnsChanged.add(() => {\r\n var isAdaptiveVisible = !!that.updateHidingQueue(that._columnsController.getColumns()).length;\r\n that._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !isAdaptiveVisible, true)\r\n });\r\n that._editingController = that.getController(\"editing\");\r\n that._hidingColumnsQueue = [];\r\n that._hiddenColumns = [];\r\n that.createAction(\"onAdaptiveDetailRowPreparing\");\r\n that.callBase()\r\n },\r\n optionChanged(args) {\r\n if (\"columnHidingEnabled\" === args.name) {\r\n this._columnsController.columnOption(\"command:adaptive\", \"adaptiveHidden\", !args.value)\r\n }\r\n this.callBase(args)\r\n },\r\n publicMethods: () => [\"isAdaptiveDetailRowExpanded\", \"expandAdaptiveDetailRow\", \"collapseAdaptiveDetailRow\"],\r\n isAdaptiveDetailRowExpanded(key) {\r\n var dataController = this._dataController;\r\n return dataController.adaptiveExpandedKey() && equalByValue(dataController.adaptiveExpandedKey(), key)\r\n },\r\n expandAdaptiveDetailRow(key) {\r\n if (!this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow(key)\r\n }\r\n },\r\n collapseAdaptiveDetailRow() {\r\n if (this.hasAdaptiveDetailRowExpanded()) {\r\n this.toggleExpandAdaptiveDetailRow()\r\n }\r\n },\r\n updateCommandAdaptiveAriaLabel(key, label) {\r\n var rowIndex = this._dataController.getRowIndexByKey(key);\r\n if (-1 === rowIndex) {\r\n return\r\n }\r\n var $row = $(this.component.getRowElement(rowIndex));\r\n this.setCommandAdaptiveAriaLabel($row, label)\r\n },\r\n setCommandAdaptiveAriaLabel($row, labelName) {\r\n var $adaptiveCommand = $row.find(\".dx-command-adaptive\");\r\n $adaptiveCommand.attr(\"aria-label\", messageLocalization.format(labelName))\r\n }\r\n};\r\nvar AdaptiveColumnsController = modules.ViewController.inherit(adaptiveColumnsControllerMembers);\r\nvar keyboardNavigation = Base => class extends Base {\r\n _isCellValid($cell, isClick) {\r\n return super._isCellValid($cell, isClick) && !$cell.hasClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS)) && !$cell.hasClass(COMMAND_ADAPTIVE_HIDDEN_CLASS)\r\n }\r\n _processNextCellInMasterDetail($nextCell, $cell) {\r\n super._processNextCellInMasterDetail($nextCell, $cell);\r\n var isCellOrBatchMode = this._editingController.isCellOrBatchEditMode();\r\n var isEditing = this._editingController.isEditing();\r\n if (isEditing && $nextCell && isCellOrBatchMode && !this._isInsideEditForm($nextCell)) {\r\n eventsEngine.off($nextCell, \"focus\", focusCellHandler);\r\n eventsEngine.on($nextCell, \"focus\", {\r\n $nextCell: $nextCell\r\n }, focusCellHandler);\r\n eventsEngine.trigger($cell, \"focus\")\r\n }\r\n }\r\n _isCellElement($cell) {\r\n return super._isCellElement($cell) || $cell.hasClass(ADAPTIVE_ITEM_TEXT_CLASS)\r\n }\r\n init() {\r\n super.init();\r\n this._adaptiveController = this.getController(\"adaptiveColumns\")\r\n }\r\n};\r\nexport var adaptivityModule = {\r\n defaultOptions: () => ({\r\n columnHidingEnabled: false,\r\n onAdaptiveDetailRowPreparing: null\r\n }),\r\n controllers: {\r\n adaptiveColumns: AdaptiveColumnsController\r\n },\r\n extenders: {\r\n views: {\r\n rowsView: {\r\n _getCellTemplate(options) {\r\n var that = this;\r\n var {\r\n column: column\r\n } = options;\r\n if (options.rowType === ADAPTIVE_ROW_TYPE && \"detail\" === column.command) {\r\n return function(container, options) {\r\n that._adaptiveColumnsController.createFormByHiddenColumns($(container), options)\r\n }\r\n }\r\n return that.callBase(options)\r\n },\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (row && row.rowType === ADAPTIVE_ROW_TYPE && row.key === this._dataController.adaptiveExpandedKey()) {\r\n $row.addClass(ADAPTIVE_DETAIL_ROW_CLASS)\r\n }\r\n return $row\r\n },\r\n _renderCells($row, options) {\r\n this.callBase($row, options);\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n var hidingColumnsQueueLength = adaptiveColumnsController.getHidingColumnsQueue().length;\r\n var hiddenColumnsLength = adaptiveColumnsController.getHiddenColumns().length;\r\n if (hidingColumnsQueueLength && !hiddenColumnsLength) {\r\n getDataCellElements($row).last().addClass(LAST_DATA_CELL_CLASS)\r\n }\r\n if (\"data\" === options.row.rowType) {\r\n adaptiveColumnsController.setCommandAdaptiveAriaLabel($row, EXPAND_ARIA_NAME)\r\n }\r\n },\r\n _getColumnIndexByElementCore($element) {\r\n var $itemContent = $element.closest(\".\".concat(FORM_ITEM_CONTENT_CLASS));\r\n if ($itemContent.length && $itemContent.closest(this.component.$element()).length) {\r\n var formItem = $itemContent.length ? $itemContent.first().data(\"dx-form-item\") : null;\r\n return formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index)\r\n }\r\n return this.callBase($element)\r\n },\r\n _cellPrepared($cell, options) {\r\n this.callBase.apply(this, arguments);\r\n if (options.row.rowType !== ADAPTIVE_ROW_TYPE && options.column.visibleWidth === HIDDEN_COLUMNS_WIDTH) {\r\n $cell.addClass(this.addWidgetPrefix(HIDDEN_COLUMN_CLASS))\r\n }\r\n },\r\n getCell(cellPosition, rows) {\r\n var item = this._dataController.items()[null === cellPosition || void 0 === cellPosition ? void 0 : cellPosition.rowIndex];\r\n if ((null === item || void 0 === item ? void 0 : item.rowType) === ADAPTIVE_ROW_TYPE) {\r\n var $adaptiveDetailItems = this._adaptiveColumnsController.getAdaptiveDetailItems();\r\n return this.callBase(cellPosition, rows, $adaptiveDetailItems)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCellElement(rowIndex, columnIdentifier) {\r\n var item = this._dataController.items()[rowIndex];\r\n if (item && item.rowType === ADAPTIVE_ROW_TYPE) {\r\n return this._adaptiveColumnsController.getItemContentByColumnIndex(columnIdentifier)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getContextMenuItems(options) {\r\n if (options.row && \"detailAdaptive\" === options.row.rowType) {\r\n var view = this.component.getView(\"columnHeadersView\");\r\n var formItem = $(options.targetElement).closest(\".dx-field-item-label\").next().data(\"dx-form-item\");\r\n options.column = formItem ? formItem.column : options.column;\r\n return view.getContextMenuItems && view.getContextMenuItems(options)\r\n }\r\n return this.callBase && this.callBase(options)\r\n },\r\n isClickableElement($target) {\r\n var isClickable = this.callBase ? this.callBase($target) : false;\r\n return isClickable || !!$target.closest(\".\".concat(ADAPTIVE_COLUMN_NAME_CLASS)).length\r\n },\r\n init() {\r\n this.callBase();\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\")\r\n }\r\n }\r\n },\r\n controllers: {\r\n export: {\r\n _updateColumnWidth(column, width) {\r\n this.callBase(column, column.visibleWidth === HIDDEN_COLUMNS_WIDTH ? column.bestFitWidth : width)\r\n }\r\n },\r\n columnsResizer: {\r\n _pointCreated(point, cellsLength, columns) {\r\n var result = this.callBase(point, cellsLength, columns);\r\n var currentColumn = columns[point.columnIndex] || {};\r\n var nextColumnIndex = this._getNextColumnIndex(point.columnIndex);\r\n var nextColumn = columns[nextColumnIndex] || {};\r\n var hasHiddenColumnsOnly = nextColumnIndex !== point.columnIndex + 1 && nextColumn.command;\r\n var hasAdaptiveHiddenWidth = currentColumn.visibleWidth === HIDDEN_COLUMNS_WIDTH || hasHiddenColumnsOnly;\r\n return result || hasAdaptiveHiddenWidth\r\n },\r\n _getNextColumnIndex(currentColumnIndex) {\r\n var visibleColumns = this._columnsController.getVisibleColumns();\r\n var index = this.callBase(currentColumnIndex);\r\n while (visibleColumns[index] && visibleColumns[index].visibleWidth === HIDDEN_COLUMNS_WIDTH) {\r\n index++\r\n }\r\n return index\r\n }\r\n },\r\n draggingHeader: {\r\n _pointCreated(point, columns, location, sourceColumn) {\r\n var result = this.callBase(point, columns, location, sourceColumn);\r\n var column = columns[point.columnIndex - 1] || {};\r\n var hasAdaptiveHiddenWidth = column.visibleWidth === HIDDEN_COLUMNS_WIDTH;\r\n return result || hasAdaptiveHiddenWidth\r\n }\r\n },\r\n editing: {\r\n _isRowEditMode() {\r\n return this.getEditMode() === EDIT_MODE_ROW\r\n },\r\n _getFormEditItemTemplate(cellOptions, column) {\r\n if (this.getEditMode() !== EDIT_MODE_ROW && \"detailAdaptive\" === cellOptions.rowType) {\r\n cellOptions.columnIndex = this._columnsController.getVisibleIndex(column.index);\r\n return this.getColumnTemplate(cellOptions)\r\n }\r\n return this.callBase(cellOptions, column)\r\n },\r\n _closeEditItem($targetElement) {\r\n var $itemContents = $targetElement.closest(\".\".concat(FORM_ITEM_CONTENT_CLASS));\r\n var rowIndex = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1;\r\n var formItem = $itemContents.length ? $itemContents.first().data(\"dx-form-item\") : null;\r\n var columnIndex = formItem && formItem.column && this._columnsController.getVisibleIndex(formItem.column.index);\r\n if (!this.isEditCell(rowIndex, columnIndex)) {\r\n this.callBase($targetElement)\r\n }\r\n },\r\n _beforeUpdateItems(rowIndices, rowIndex) {\r\n if (!this._adaptiveController.isFormOrPopupEditMode() && this._adaptiveController.hasHiddenColumns()) {\r\n var items = this._dataController.items();\r\n var item = items[rowIndex];\r\n var oldExpandRowIndex = gridCoreUtils.getIndexByKey(this._dataController.adaptiveExpandedKey(), items);\r\n this._isForceRowAdaptiveExpand = !this._adaptiveController.hasAdaptiveDetailRowExpanded();\r\n if (oldExpandRowIndex >= 0) {\r\n rowIndices.push(oldExpandRowIndex + 1)\r\n }\r\n rowIndices.push(rowIndex + 1);\r\n this._dataController.adaptiveExpandedKey(item.key)\r\n }\r\n },\r\n _afterInsertRow(key) {\r\n this.callBase.apply(this, arguments);\r\n if (this._adaptiveController.hasHiddenColumns()) {\r\n this._adaptiveController.toggleExpandAdaptiveDetailRow(key, this.isRowEditMode());\r\n this._isForceRowAdaptiveExpand = true\r\n }\r\n },\r\n _collapseAdaptiveDetailRow() {\r\n if (this._isRowEditMode() && this._isForceRowAdaptiveExpand) {\r\n this._adaptiveController.collapseAdaptiveDetailRow();\r\n this._isForceRowAdaptiveExpand = false\r\n }\r\n },\r\n _cancelEditAdaptiveDetailRow() {\r\n if (this._adaptiveController.hasHiddenColumns()) {\r\n this._collapseAdaptiveDetailRow()\r\n }\r\n },\r\n _afterSaveEditData() {\r\n this.callBase.apply(this, arguments);\r\n var deferred = new Deferred;\r\n if (this._isRowEditMode() && this._adaptiveController.hasHiddenColumns()) {\r\n when(this.getController(\"validating\").validate(true)).done(isValid => {\r\n if (isValid) {\r\n this._cancelEditAdaptiveDetailRow()\r\n }\r\n deferred.resolve()\r\n })\r\n } else {\r\n deferred.resolve()\r\n }\r\n return deferred.promise()\r\n },\r\n _beforeCancelEditData() {\r\n this.callBase();\r\n this._cancelEditAdaptiveDetailRow()\r\n },\r\n _getRowIndicesForCascadeUpdating(row) {\r\n var rowIndices = this.callBase.apply(this, arguments);\r\n if (this._adaptiveController.isAdaptiveDetailRowExpanded(row.key)) {\r\n rowIndices.push(row.rowType === ADAPTIVE_ROW_TYPE ? row.rowIndex - 1 : row.rowIndex + 1)\r\n }\r\n return rowIndices\r\n },\r\n _beforeCloseEditCellInBatchMode(rowIndices) {\r\n var expandedKey = this._dataController._adaptiveExpandedKey;\r\n if (expandedKey) {\r\n var rowIndex = gridCoreUtils.getIndexByKey(expandedKey, this._dataController.items());\r\n if (rowIndex > -1) {\r\n rowIndices.unshift(rowIndex)\r\n }\r\n }\r\n },\r\n editRow(rowIndex) {\r\n if (this._adaptiveController.isFormOrPopupEditMode()) {\r\n this._adaptiveController.collapseAdaptiveDetailRow()\r\n }\r\n this.callBase(rowIndex)\r\n },\r\n deleteRow(rowIndex) {\r\n var rowKey = this._dataController.getKeyByRowIndex(rowIndex);\r\n if (this.getEditMode() === EDIT_MODE_BATCH && this._adaptiveController.isAdaptiveDetailRowExpanded(rowKey)) {\r\n this._adaptiveController.collapseAdaptiveDetailRow()\r\n }\r\n this.callBase(rowIndex)\r\n },\r\n init() {\r\n this.callBase();\r\n this._adaptiveController = this.getController(\"adaptiveColumns\")\r\n }\r\n },\r\n resizing: {\r\n _needBestFit() {\r\n return this.callBase() || !!this._adaptiveColumnsController.getHidingColumnsQueue().length\r\n },\r\n _correctColumnWidths(resultWidths, visibleColumns) {\r\n var adaptiveController = this._adaptiveColumnsController;\r\n var oldHiddenColumns = adaptiveController.getHiddenColumns();\r\n var hidingColumnsQueue = adaptiveController.updateHidingQueue(this._columnsController.getColumns());\r\n adaptiveController.hideRedundantColumns(resultWidths, visibleColumns, hidingColumnsQueue);\r\n var hiddenColumns = adaptiveController.getHiddenColumns();\r\n if (adaptiveController.hasAdaptiveDetailRowExpanded()) {\r\n if (oldHiddenColumns.length !== hiddenColumns.length) {\r\n adaptiveController.updateForm(hiddenColumns)\r\n }\r\n }!hiddenColumns.length && adaptiveController.collapseAdaptiveDetailRow();\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _toggleBestFitMode(isBestFit) {\r\n isBestFit && this._adaptiveColumnsController._showHiddenColumns();\r\n this.callBase(isBestFit)\r\n },\r\n _needStretch() {\r\n var adaptiveColumnsController = this._adaptiveColumnsController;\r\n return this.callBase.apply(this, arguments) || adaptiveColumnsController.getHidingColumnsQueue().length || adaptiveColumnsController.hasHiddenColumns()\r\n },\r\n init() {\r\n this._adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n this.callBase()\r\n },\r\n dispose() {\r\n this.callBase.apply(this, arguments);\r\n clearTimeout(this._updateScrollableTimeoutID)\r\n }\r\n },\r\n data: {\r\n _processItems(items, change) {\r\n var {\r\n changeType: changeType\r\n } = change;\r\n items = this.callBase.apply(this, arguments);\r\n if (\"loadingAll\" === changeType || !isDefined(this._adaptiveExpandedKey)) {\r\n return items\r\n }\r\n var expandRowIndex = gridCoreUtils.getIndexByKey(this._adaptiveExpandedKey, items);\r\n var newMode = false === this.option(LEGACY_SCROLLING_MODE);\r\n if (expandRowIndex >= 0) {\r\n var item = items[expandRowIndex];\r\n items.splice(expandRowIndex + 1, 0, {\r\n visible: true,\r\n rowType: ADAPTIVE_ROW_TYPE,\r\n key: item.key,\r\n data: item.data,\r\n node: item.node,\r\n modifiedValues: item.modifiedValues,\r\n isNewRow: item.isNewRow,\r\n values: item.values\r\n })\r\n } else if (\"refresh\" === changeType && !(newMode && change.repaintChangesOnly)) {\r\n this._adaptiveExpandedKey = void 0\r\n }\r\n return items\r\n },\r\n _getRowIndicesForExpand(key) {\r\n var rowIndices = this.callBase.apply(this, arguments);\r\n if (this.getController(\"adaptiveColumns\").isAdaptiveDetailRowExpanded(key)) {\r\n var lastRowIndex = rowIndices[rowIndices.length - 1];\r\n rowIndices.push(lastRowIndex + 1)\r\n }\r\n return rowIndices\r\n },\r\n adaptiveExpandedKey(value) {\r\n if (isDefined(value)) {\r\n this._adaptiveExpandedKey = value\r\n } else {\r\n return this._adaptiveExpandedKey\r\n }\r\n },\r\n toggleExpandAdaptiveDetailRow(key, alwaysExpanded) {\r\n var oldExpandLoadedRowIndex = gridCoreUtils.getIndexByKey(this._adaptiveExpandedKey, this._items);\r\n var newExpandLoadedRowIndex = gridCoreUtils.getIndexByKey(key, this._items);\r\n if (oldExpandLoadedRowIndex >= 0 && oldExpandLoadedRowIndex === newExpandLoadedRowIndex && !alwaysExpanded) {\r\n key = void 0;\r\n newExpandLoadedRowIndex = -1\r\n }\r\n var oldKey = this._adaptiveExpandedKey;\r\n this._adaptiveExpandedKey = key;\r\n if (oldExpandLoadedRowIndex >= 0) {\r\n oldExpandLoadedRowIndex++\r\n }\r\n if (newExpandLoadedRowIndex >= 0) {\r\n newExpandLoadedRowIndex++\r\n }\r\n var rowIndexDelta = this.getRowIndexDelta();\r\n this.updateItems({\r\n allowInvisibleRowIndices: true,\r\n changeType: \"update\",\r\n rowIndices: [oldExpandLoadedRowIndex - rowIndexDelta, newExpandLoadedRowIndex - rowIndexDelta]\r\n });\r\n var adaptiveColumnsController = this.getController(\"adaptiveColumns\");\r\n adaptiveColumnsController.updateCommandAdaptiveAriaLabel(key, COLLAPSE_ARIA_NAME);\r\n adaptiveColumnsController.updateCommandAdaptiveAriaLabel(oldKey, EXPAND_ARIA_NAME)\r\n },\r\n init() {\r\n this.callBase();\r\n this._adaptiveExpandedKey = void 0\r\n }\r\n },\r\n editorFactory: {\r\n _needHideBorder($element) {\r\n return this.callBase($element) || (null === $element || void 0 === $element ? void 0 : $element.hasClass(\"dx-field-item-content\")) && (null === $element || void 0 === $element ? void 0 : $element.find(\".dx-checkbox\").length)\r\n },\r\n _getFocusCellSelector() {\r\n return \"\".concat(this.callBase(), \", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content\")\r\n },\r\n _getRevertTooltipsSelector() {\r\n return \"\".concat(this.callBase(), \", .dx-field-item-content .\").concat(this.addWidgetPrefix(REVERT_TOOLTIP_CLASS))\r\n }\r\n },\r\n columns: {\r\n _isColumnVisible(column) {\r\n return this.callBase(column) && !column.adaptiveHidden\r\n }\r\n },\r\n keyboardNavigation: keyboardNavigation\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns_core.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nexport function foreachColumnInfo(info, callback, rowIndex, offsets, columnCount, lastProcessedIndexes) {\r\n rowIndex = rowIndex || 0;\r\n offsets = offsets || [];\r\n lastProcessedIndexes = lastProcessedIndexes || [];\r\n offsets[rowIndex] = offsets[rowIndex] || 0;\r\n var row = info[rowIndex];\r\n var startIndex = lastProcessedIndexes[rowIndex] + 1 || 0;\r\n var processedColumnCount = 0;\r\n var colIndex;\r\n if (!row) {\r\n return\r\n }\r\n for (colIndex = startIndex; colIndex < row.length; colIndex++) {\r\n var cell = row[colIndex];\r\n var visibleIndex = colIndex + offsets[rowIndex];\r\n var colspan = cell.colspan || 1;\r\n foreachColumnInfo(info, callback, rowIndex + (cell.rowspan || 1), offsets, colspan, lastProcessedIndexes);\r\n offsets[rowIndex] += colspan - 1;\r\n processedColumnCount += colspan;\r\n if (cell.rowspan) {\r\n for (var i = rowIndex + 1; i < rowIndex + cell.rowspan; i++) {\r\n offsets[i] = offsets[i] || 0;\r\n offsets[i] += cell.colspan || 1\r\n }\r\n }\r\n if (false === callback(cell, visibleIndex, rowIndex, colIndex)) {\r\n break\r\n }\r\n if (void 0 !== columnCount && processedColumnCount >= columnCount) {\r\n break\r\n }\r\n }\r\n lastProcessedIndexes[rowIndex] = colIndex\r\n}\r\nexport function createColumnsInfo(info, startIndex, endIndex) {\r\n var newInfo = [];\r\n foreachColumnInfo(info, (columnInfo, visibleIndex, rowIndex) => {\r\n var cell = columnInfo;\r\n var colspan;\r\n var cellColspan = cell.colspan || 1;\r\n var isVisible = visibleIndex + cellColspan - 1 >= startIndex && visibleIndex < endIndex;\r\n newInfo[rowIndex] = newInfo[rowIndex] || [];\r\n if (isVisible) {\r\n if (visibleIndex < startIndex) {\r\n colspan = cellColspan - (startIndex - visibleIndex);\r\n visibleIndex = startIndex\r\n } else {\r\n colspan = cellColspan\r\n }\r\n if (visibleIndex + colspan > endIndex) {\r\n colspan = endIndex - visibleIndex\r\n }\r\n if (colspan !== cellColspan) {\r\n cell = extend({}, cell, {\r\n colspan: colspan\r\n })\r\n }\r\n newInfo[rowIndex].push(cell)\r\n } else if (visibleIndex > endIndex) {\r\n return false\r\n }\r\n return\r\n });\r\n for (var i = 0; i < newInfo.length; i++) {\r\n newInfo[i] = newInfo[i] || []\r\n }\r\n return newInfo\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/adaptivity.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adaptivityModule\r\n} from \"../../../grids/grid_core/adaptivity/m_adaptivity\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"adaptivity\", adaptivityModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/virtual_columns/m_virtual_columns.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../../../core/utils/size\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n createColumnsInfo\r\n} from \"./m_virtual_columns_core\";\r\nvar DEFAULT_COLUMN_WIDTH = 50;\r\nvar VirtualScrollingRowsViewExtender = {\r\n _resizeCore() {\r\n this.callBase.apply(this, arguments);\r\n this._columnsController.resize()\r\n },\r\n _handleScroll(e) {\r\n var scrollable = this.getScrollable();\r\n var {\r\n left: left\r\n } = e.scrollOffset;\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"rtlEnabled\") && scrollable) {\r\n left = getWidth(scrollable.$content()) - getWidth(scrollable.$element()) - left\r\n }\r\n this._columnsController.setScrollPosition(left)\r\n },\r\n _restoreScrollTop() {\r\n var scrollable = this.getScrollable();\r\n var scrollTop = null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTop();\r\n if (this._scrollTop > 0 && scrollTop !== this._scrollTop) {\r\n scrollable.scrollTo({\r\n y: this._scrollTop\r\n })\r\n }\r\n },\r\n _renderCore(e) {\r\n if (null === e || void 0 === e ? void 0 : e.virtualColumnsScrolling) {\r\n var resizeCompletedHandler = () => {\r\n this.resizeCompleted.remove(resizeCompletedHandler);\r\n this._restoreScrollTop()\r\n };\r\n this.resizeCompleted.add(resizeCompletedHandler)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n }\r\n};\r\nvar HeaderViewExtender = {\r\n _renderCore() {\r\n var deferred = this.callBase.apply(this, arguments);\r\n if (this._columnsController.isVirtualMode()) {\r\n this._updateScrollLeftPosition()\r\n }\r\n return deferred\r\n }\r\n};\r\nvar ColumnsControllerExtender = function() {\r\n var getWidths = function(columns) {\r\n return columns.map(column => column.visibleWidth || parseFloat(column.width) || DEFAULT_COLUMN_WIDTH)\r\n };\r\n var members = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._beginPageIndex = null;\r\n this._endPageIndex = null;\r\n this._position = 0;\r\n this._virtualVisibleColumns = {}\r\n },\r\n resetColumnsCache() {\r\n this.callBase();\r\n this._virtualVisibleColumns = {}\r\n },\r\n getBeginPageIndex(position) {\r\n var visibleColumns = this.getVisibleColumns(void 0, true);\r\n var widths = getWidths(visibleColumns);\r\n var currentPosition = 0;\r\n for (var index = 0; index < widths.length; index++) {\r\n if (currentPosition >= position) {\r\n return Math.floor(index / this.getColumnPageSize())\r\n }\r\n currentPosition += widths[index]\r\n }\r\n return 0\r\n },\r\n getTotalWidth() {\r\n var width = this.option(\"width\");\r\n if (\"number\" === typeof width) {\r\n return width\r\n }\r\n return this.getController(\"resizing\")._lastWidth || getOuterWidth(this.component.$element())\r\n },\r\n getEndPageIndex(position) {\r\n var visibleColumns = this.getVisibleColumns(void 0, true);\r\n var widths = getWidths(visibleColumns);\r\n var currentPosition = 0;\r\n position += this.getTotalWidth();\r\n for (var index = 0; index < widths.length; index++) {\r\n if (currentPosition >= position) {\r\n return Math.ceil(index / this.getColumnPageSize())\r\n }\r\n currentPosition += widths[index]\r\n }\r\n return Math.ceil(widths.length / this.getColumnPageSize())\r\n },\r\n getColumnPageSize() {\r\n return this.option(\"scrolling.columnPageSize\")\r\n },\r\n _fireColumnsChanged() {\r\n var date = new Date;\r\n this.columnsChanged.fire({\r\n optionNames: {\r\n all: true,\r\n length: 1\r\n },\r\n changeTypes: {\r\n columns: true,\r\n virtualColumnsScrolling: true,\r\n length: 2\r\n }\r\n });\r\n this._renderTime = new Date - date\r\n },\r\n getScrollingTimeout() {\r\n var renderingThreshold = this.option(\"scrolling.columnRenderingThreshold\");\r\n var renderAsync = this.option(\"scrolling.renderAsync\");\r\n var scrollingTimeout = 0;\r\n if (!isDefined(renderAsync) && this._renderTime > renderingThreshold || renderAsync) {\r\n scrollingTimeout = this.option(\"scrolling.timeout\")\r\n }\r\n return scrollingTimeout\r\n },\r\n setScrollPosition(position) {\r\n var scrollingTimeout = this.getScrollingTimeout();\r\n if (scrollingTimeout > 0) {\r\n clearTimeout(this._changedTimeout);\r\n this._changedTimeout = setTimeout(() => {\r\n this._setScrollPositionCore(position)\r\n }, scrollingTimeout)\r\n } else {\r\n this._setScrollPositionCore(position)\r\n }\r\n },\r\n isVirtualMode() {\r\n return hasWindow() && \"virtual\" === this.option(\"scrolling.columnRenderingMode\")\r\n },\r\n resize() {\r\n this._setScrollPositionCore(this._position)\r\n },\r\n _setScrollPositionCore(position) {\r\n if (this.isVirtualMode()) {\r\n var beginPageIndex = this.getBeginPageIndex(position);\r\n var endPageIndex = this.getEndPageIndex(position);\r\n var needColumnsChanged = position < this._position ? this._beginPageIndex > beginPageIndex : this._endPageIndex < endPageIndex;\r\n this._position = position;\r\n if (needColumnsChanged) {\r\n this._beginPageIndex = beginPageIndex;\r\n this._endPageIndex = endPageIndex;\r\n this._fireColumnsChanged()\r\n }\r\n }\r\n },\r\n getFixedColumns(rowIndex, isBase) {\r\n var fixedColumns = this.callBase(rowIndex);\r\n if (this.isVirtualMode() && !isBase && fixedColumns.length) {\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n fixedColumns[transparentColumnIndex].colspan = this.getVisibleColumns().length - this.callBase().length + 1;\r\n return fixedColumns\r\n }\r\n return fixedColumns\r\n },\r\n _compileVisibleColumns(rowIndex, isBase) {\r\n var _a;\r\n if (isBase || !this.isVirtualMode() || !this._shouldReturnVisibleColumns()) {\r\n return this.callBase(rowIndex)\r\n }\r\n if ((null === (_a = this._columns) || void 0 === _a ? void 0 : _a.length) && !isDefined(this._beginPageIndex) && !isDefined(this._endPageIndex)) {\r\n this._beginPageIndex = this.getBeginPageIndex(this._position);\r\n this._endPageIndex = this.getEndPageIndex(this._position)\r\n }\r\n var beginPageIndex = this._beginPageIndex;\r\n var endPageIndex = this._endPageIndex;\r\n var visibleColumnsHash = \"\".concat(rowIndex, \"-\").concat(beginPageIndex, \"-\").concat(endPageIndex);\r\n if (this._virtualVisibleColumns[visibleColumnsHash]) {\r\n return this._virtualVisibleColumns[visibleColumnsHash]\r\n }\r\n var visibleColumns = this.callBase();\r\n var rowCount = this.getRowCount();\r\n var pageSize = this.getColumnPageSize();\r\n var startIndex = beginPageIndex * pageSize;\r\n var endIndex = endPageIndex * pageSize;\r\n var fixedColumns = this.getFixedColumns(void 0, true);\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n var beginFixedColumnCount = fixedColumns.length ? transparentColumnIndex : 0;\r\n var beginFixedColumns = visibleColumns.slice(0, beginFixedColumnCount);\r\n var beginColumns = visibleColumns.slice(beginFixedColumnCount, startIndex);\r\n var beginWidth = getWidths(beginColumns).reduce((a, b) => a + b, 0);\r\n if (!beginWidth) {\r\n startIndex = 0\r\n }\r\n var endFixedColumnCount = fixedColumns.length ? fixedColumns.length - transparentColumnIndex - 1 : 0;\r\n var endFixedColumns = visibleColumns.slice(visibleColumns.length - endFixedColumnCount);\r\n var endColumns = visibleColumns.slice(endIndex, visibleColumns.length - endFixedColumnCount);\r\n var endWidth = getWidths(endColumns).reduce((a, b) => a + b, 0);\r\n if (!endWidth) {\r\n endIndex = visibleColumns.length\r\n }\r\n if (rowCount > 1 && \"number\" === typeof rowIndex) {\r\n var columnsInfo = [];\r\n for (var i = 0; i <= rowCount; i++) {\r\n columnsInfo.push(this.callBase(i))\r\n }\r\n beginFixedColumns = createColumnsInfo(columnsInfo, 0, beginFixedColumns.length)[rowIndex] || [];\r\n endFixedColumns = createColumnsInfo(columnsInfo, visibleColumns.length - endFixedColumns.length, visibleColumns.length)[rowIndex] || [];\r\n visibleColumns = createColumnsInfo(columnsInfo, startIndex, endIndex)[rowIndex] || []\r\n } else {\r\n visibleColumns = visibleColumns.slice(startIndex, endIndex)\r\n }\r\n if (beginWidth) {\r\n visibleColumns.unshift({\r\n command: \"virtual\",\r\n width: beginWidth\r\n });\r\n visibleColumns = beginFixedColumns.concat(visibleColumns)\r\n }\r\n if (endWidth) {\r\n visibleColumns.push({\r\n command: \"virtual\",\r\n width: endWidth\r\n });\r\n visibleColumns = visibleColumns.concat(endFixedColumns)\r\n }\r\n this._virtualVisibleColumns[visibleColumnsHash] = visibleColumns;\r\n return visibleColumns\r\n },\r\n getColumnIndexOffset() {\r\n var offset = 0;\r\n if (this._beginPageIndex > 0) {\r\n var fixedColumns = this.getFixedColumns();\r\n var transparentColumnIndex = fixedColumns.map(c => c.command).indexOf(\"transparent\");\r\n var leftFixedColumnCount = transparentColumnIndex >= 0 ? transparentColumnIndex : 0;\r\n offset = this._beginPageIndex * this.getColumnPageSize() - leftFixedColumnCount - 1\r\n }\r\n return offset > 0 ? offset : 0\r\n },\r\n dispose() {\r\n clearTimeout(this._changedTimeout);\r\n this.callBase.apply(this, arguments)\r\n }\r\n };\r\n return members\r\n}();\r\nexport var virtualColumnsModule = {\r\n defaultOptions: () => ({\r\n scrolling: {\r\n columnRenderingMode: \"standard\",\r\n columnPageSize: 5,\r\n columnRenderingThreshold: 300\r\n }\r\n }),\r\n extenders: {\r\n controllers: {\r\n columns: ColumnsControllerExtender\r\n },\r\n views: {\r\n columnHeadersView: HeaderViewExtender,\r\n rowsView: VirtualScrollingRowsViewExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/virtual_columns.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n virtualColumnsModule\r\n} from \"../../../grids/grid_core/virtual_columns/m_virtual_columns\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"virtualColumns\", virtualColumnsModule);\r\n","/**\r\n * DevExtreme (esm/ui/button_group.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport Button from \"./button\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nvar BUTTON_GROUP_CLASS = \"dx-buttongroup\";\r\nvar BUTTON_GROUP_WRAPPER_CLASS = BUTTON_GROUP_CLASS + \"-wrapper\";\r\nvar BUTTON_GROUP_ITEM_CLASS = BUTTON_GROUP_CLASS + \"-item\";\r\nvar BUTTON_GROUP_FIRST_ITEM_CLASS = BUTTON_GROUP_CLASS + \"-first-item\";\r\nvar BUTTON_GROUP_LAST_ITEM_CLASS = BUTTON_GROUP_CLASS + \"-last-item\";\r\nvar BUTTON_GROUP_ITEM_HAS_WIDTH = BUTTON_GROUP_ITEM_CLASS + \"-has-width\";\r\nvar SHAPE_STANDARD_CLASS = \"dx-shape-standard\";\r\nvar ButtonCollection = CollectionWidget.inherit({\r\n _initTemplates() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(($container, data, model) => {\r\n this._prepareItemStyles($container);\r\n var template = this.option(\"buttonTemplate\");\r\n this._createComponent($container, Button, extend({}, model, data, this._getBasicButtonOptions(), {\r\n _templateData: this._hasCustomTemplate(template) ? model : {},\r\n template: model.template || template\r\n }))\r\n }, [\"text\", \"type\", \"icon\", \"disabled\", \"visible\", \"hint\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _getBasicButtonOptions() {\r\n return {\r\n focusStateEnabled: false,\r\n onClick: null,\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\")\r\n }\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n itemTemplateProperty: null\r\n })\r\n },\r\n _hasCustomTemplate(template) {\r\n return isFunction(template) || this.option(\"integrationOptions.templates\")[template]\r\n },\r\n _prepareItemStyles($item) {\r\n var itemIndex = $item.data(\"dxItemIndex\");\r\n 0 === itemIndex && $item.addClass(BUTTON_GROUP_FIRST_ITEM_CLASS);\r\n var items = this.option(\"items\");\r\n items && itemIndex === items.length - 1 && $item.addClass(BUTTON_GROUP_LAST_ITEM_CLASS);\r\n $item.addClass(SHAPE_STANDARD_CLASS)\r\n },\r\n _renderItemContent(args) {\r\n args.container = $(args.container).parent();\r\n return this.callBase(args)\r\n },\r\n _setAriaSelectionAttribute: function($target, value) {\r\n this.setAria(\"pressed\", value, $target)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n args.container = $(args.container.children().first());\r\n return this.callBase(args, $node)\r\n },\r\n _focusTarget() {\r\n return this.$element().parent()\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._focusTarget()\r\n },\r\n _refreshContent() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _itemClass: () => BUTTON_GROUP_ITEM_CLASS,\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n }\r\n});\r\nvar ButtonGroup = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n selectionMode: \"single\",\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n stylingMode: \"contained\",\r\n keyExpr: \"text\",\r\n items: [],\r\n buttonTemplate: \"content\",\r\n onSelectionChanged: null,\r\n onItemClick: null\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._createItemClickAction()\r\n },\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initMarkup() {\r\n this.setAria(\"role\", \"group\");\r\n this.$element().addClass(BUTTON_GROUP_CLASS);\r\n this._renderButtons();\r\n this._syncSelectionOptions();\r\n this.callBase()\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _renderButtons() {\r\n var $buttons = $(\"<div>\").addClass(BUTTON_GROUP_WRAPPER_CLASS).appendTo(this.$element());\r\n var selectedItems = this.option(\"selectedItems\");\r\n var options = {\r\n selectionMode: this.option(\"selectionMode\"),\r\n items: this.option(\"items\"),\r\n keyExpr: this.option(\"keyExpr\"),\r\n buttonTemplate: this.option(\"buttonTemplate\"),\r\n scrollingEnabled: false,\r\n selectedItemKeys: this.option(\"selectedItemKeys\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n activeStateEnabled: this.option(\"activeStateEnabled\"),\r\n stylingMode: this.option(\"stylingMode\"),\r\n accessKey: this.option(\"accessKey\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n noDataText: \"\",\r\n selectionRequired: false,\r\n onItemRendered: e => {\r\n var width = this.option(\"width\");\r\n isDefined(width) && $(e.itemElement).addClass(BUTTON_GROUP_ITEM_HAS_WIDTH)\r\n },\r\n onSelectionChanged: e => {\r\n this._syncSelectionOptions();\r\n this._fireSelectionChangeEvent(e.addedItems, e.removedItems)\r\n },\r\n onItemClick: e => {\r\n this._itemClickAction(e)\r\n }\r\n };\r\n if (isDefined(selectedItems) && selectedItems.length) {\r\n options.selectedItems = selectedItems\r\n }\r\n this._buttonsCollection = this._createComponent($buttons, ButtonCollection, options)\r\n },\r\n _syncSelectionOptions() {\r\n this._setOptionWithoutOptionChange(\"selectedItems\", this._buttonsCollection.option(\"selectedItems\"));\r\n this._setOptionWithoutOptionChange(\"selectedItemKeys\", this._buttonsCollection.option(\"selectedItemKeys\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"stylingMode\":\r\n case \"selectionMode\":\r\n case \"keyExpr\":\r\n case \"buttonTemplate\":\r\n case \"items\":\r\n case \"activeStateEnabled\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n case \"tabIndex\":\r\n this._invalidate();\r\n break;\r\n case \"selectedItemKeys\":\r\n case \"selectedItems\":\r\n this._buttonsCollection.option(args.name, args.value);\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._buttonsCollection.itemElements().toggleClass(BUTTON_GROUP_ITEM_HAS_WIDTH, !!args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxButtonGroup\", ButtonGroup);\r\nexport default ButtonGroup;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../core/renderer\";\r\nimport Widget from \"./widget/ui.widget\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../core/templates/function_template\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport ButtonGroup from \"./button_group\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport List from \"./list_light\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport DataHelperMixin from \"../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../data/data_source/data_source\";\r\nimport ArrayStore from \"../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./drop_down_editor/utils\";\r\nimport messageLocalization from \"../localization/message\";\r\nvar DROP_DOWN_BUTTON_CLASS = \"dx-dropdownbutton\";\r\nvar DROP_DOWN_BUTTON_CONTENT = \"dx-dropdownbutton-content\";\r\nvar DROP_DOWN_BUTTON_ACTION_CLASS = \"dx-dropdownbutton-action\";\r\nvar DROP_DOWN_BUTTON_TOGGLE_CLASS = \"dx-dropdownbutton-toggle\";\r\nvar DROP_DOWN_BUTTON_HAS_ARROW_CLASS = \"dx-dropdownbutton-has-arrow\";\r\nvar DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS = \"dx-dropdownbutton-popup-wrapper\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nvar DX_BUTTON_CLASS = \"dx-button\";\r\nvar DX_BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nvar DX_ICON_RIGHT_CLASS = \"dx-icon-right\";\r\nvar DropDownButton = Widget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n itemTemplate: \"item\",\r\n keyExpr: \"this\",\r\n displayExpr: void 0,\r\n selectedItem: null,\r\n selectedItemKey: null,\r\n stylingMode: \"outlined\",\r\n deferRendering: true,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n useSelectMode: false,\r\n splitButton: false,\r\n showArrowIcon: true,\r\n text: \"\",\r\n icon: void 0,\r\n onButtonClick: null,\r\n onSelectionChanged: null,\r\n onItemClick: null,\r\n opened: false,\r\n items: null,\r\n dataSource: null,\r\n focusStateEnabled: true,\r\n hoverStateEnabled: true,\r\n dropDownOptions: {},\r\n dropDownContentTemplate: \"content\",\r\n wrapItemText: false,\r\n useItemTextAsTitle: true,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n buttonGroupOptions: {}\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._createItemClickAction();\r\n this._createActionClickAction();\r\n this._createSelectionChangedAction();\r\n this._initDataSource();\r\n this._compileKeyGetter();\r\n this._compileDisplayGetter();\r\n this._itemsToDataSource(this.option(\"items\"));\r\n this._options.cache(\"buttonGroupOptions\", this.option(\"buttonGroupOptions\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _initTemplates() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new FunctionTemplate(options => {\r\n var $popupContent = $(options.container);\r\n var $listContainer = $(\"<div>\").appendTo($popupContent);\r\n this._list = this._createComponent($listContainer, List, this._listOptions());\r\n this._list.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"tab\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"leftArrow\", this._escHandler.bind(this));\r\n this._list.registerKeyHandler(\"rightArrow\", this._escHandler.bind(this))\r\n })\r\n });\r\n this.callBase()\r\n },\r\n _itemsToDataSource: function(value) {\r\n if (!this._dataSource) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore({\r\n key: this._getKey(),\r\n data: value\r\n }),\r\n pageSize: 0\r\n })\r\n }\r\n },\r\n _getKey: function() {\r\n var _this$_dataSource;\r\n var keyExpr = this.option(\"keyExpr\");\r\n var storeKey = null === (_this$_dataSource = this._dataSource) || void 0 === _this$_dataSource ? void 0 : _this$_dataSource.key();\r\n return isDefined(storeKey) && (!isDefined(keyExpr) || \"this\" === keyExpr) ? storeKey : keyExpr\r\n },\r\n _compileKeyGetter() {\r\n this._keyGetter = compileGetter(this._getKey())\r\n },\r\n _compileDisplayGetter() {\r\n this._displayGetter = compileGetter(this.option(\"displayExpr\"))\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_BUTTON_CLASS);\r\n this._renderButtonGroup();\r\n this._updateArrowClass();\r\n if (isDefined(this.option(\"selectedItemKey\"))) {\r\n this._loadSelectedItem().done(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _renderFocusTarget: noop,\r\n _render() {\r\n if (!this.option(\"deferRendering\") || this.option(\"opened\")) {\r\n this._renderPopup()\r\n }\r\n this.callBase()\r\n },\r\n _renderContentImpl() {\r\n if (this._popup) {\r\n this._renderPopupContent()\r\n }\r\n return this.callBase()\r\n },\r\n _loadSelectedItem() {\r\n var _this$_loadSingleDefe;\r\n null === (_this$_loadSingleDefe = this._loadSingleDeferred) || void 0 === _this$_loadSingleDefe ? void 0 : _this$_loadSingleDefe.reject();\r\n var d = new Deferred;\r\n if (this._list && void 0 !== this._lastSelectedItemData) {\r\n var cachedResult = this.option(\"useSelectMode\") ? this._list.option(\"selectedItem\") : this._lastSelectedItemData;\r\n return d.resolve(cachedResult)\r\n }\r\n this._lastSelectedItemData = void 0;\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._loadSingle(this._getKey(), selectedItemKey).done(d.resolve).fail(() => {\r\n d.resolve(null)\r\n });\r\n this._loadSingleDeferred = d;\r\n return d.promise()\r\n },\r\n _createActionClickAction() {\r\n this._actionClickAction = this._createActionByOption(\"onButtonClick\")\r\n },\r\n _createSelectionChangedAction() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\")\r\n },\r\n _createItemClickAction() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _fireSelectionChangedAction(_ref) {\r\n var {\r\n previousValue: previousValue,\r\n value: value\r\n } = _ref;\r\n this._selectionChangedAction({\r\n item: value,\r\n previousItem: previousValue\r\n })\r\n },\r\n _fireItemClickAction(_ref2) {\r\n var {\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: itemData\r\n } = _ref2;\r\n return this._itemClickAction({\r\n event: event,\r\n itemElement: itemElement,\r\n itemData: this._actionItem || itemData\r\n })\r\n },\r\n _actionButtonConfig() {\r\n return {\r\n text: this.option(\"text\"),\r\n icon: this.option(\"icon\"),\r\n elementAttr: {\r\n class: DROP_DOWN_BUTTON_ACTION_CLASS\r\n }\r\n }\r\n },\r\n _getButtonGroupItems() {\r\n var items = [];\r\n items.push(this._actionButtonConfig());\r\n if (this.option(\"splitButton\")) {\r\n items.push({\r\n icon: \"spindown\",\r\n elementAttr: {\r\n class: DROP_DOWN_BUTTON_TOGGLE_CLASS\r\n }\r\n })\r\n }\r\n return items\r\n },\r\n _buttonGroupItemClick(_ref3) {\r\n var {\r\n event: event,\r\n itemData: itemData\r\n } = _ref3;\r\n var isActionButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_ACTION_CLASS;\r\n var isToggleButton = itemData.elementAttr.class === DROP_DOWN_BUTTON_TOGGLE_CLASS;\r\n if (isToggleButton) {\r\n this.toggle()\r\n } else if (isActionButton) {\r\n this._actionClickAction({\r\n event: event,\r\n selectedItem: this.option(\"selectedItem\")\r\n });\r\n if (!this.option(\"splitButton\")) {\r\n this.toggle()\r\n }\r\n }\r\n },\r\n _buttonGroupOptions() {\r\n var {\r\n splitButton: splitButton,\r\n showArrowIcon: showArrowIcon,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n stylingMode: stylingMode,\r\n accessKey: accessKey,\r\n tabIndex: tabIndex\r\n } = this.option();\r\n var buttonTemplate = splitButton || !showArrowIcon ? \"content\" : (_ref4, buttonContent) => {\r\n var {\r\n text: text,\r\n icon: icon\r\n } = _ref4;\r\n var $firstIcon = getImageContainer(icon);\r\n var $textContainer = text ? $(\"<span>\").text(text).addClass(DX_BUTTON_TEXT_CLASS) : void 0;\r\n var $secondIcon = getImageContainer(\"spindown\").addClass(DX_ICON_RIGHT_CLASS);\r\n $(buttonContent).append($firstIcon, $textContainer, $secondIcon)\r\n };\r\n return extend({\r\n items: this._getButtonGroupItems(),\r\n onItemClick: this._buttonGroupItemClick.bind(this),\r\n width: \"100%\",\r\n height: \"100%\",\r\n selectionMode: \"none\",\r\n onKeyboardHandled: e => this._keyboardHandler(e),\r\n buttonTemplate: buttonTemplate,\r\n focusStateEnabled: focusStateEnabled,\r\n hoverStateEnabled: hoverStateEnabled,\r\n stylingMode: stylingMode,\r\n accessKey: accessKey,\r\n tabIndex: tabIndex\r\n }, this._options.cache(\"buttonGroupOptions\"))\r\n },\r\n _renderPopupContent() {\r\n var $content = this._popup.$content();\r\n var template = this._getTemplateByOption(\"dropDownContentTemplate\");\r\n $content.empty();\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $content);\r\n return template.render({\r\n container: getPublicElement($content),\r\n model: this.option(\"items\") || this._dataSource\r\n })\r\n },\r\n _popupOptions() {\r\n var horizontalAlignment = this.option(\"rtlEnabled\") ? \"right\" : \"left\";\r\n return extend({\r\n dragEnabled: false,\r\n focusStateEnabled: false,\r\n deferRendering: this.option(\"deferRendering\"),\r\n hideOnOutsideClick: e => {\r\n var $element = this.$element();\r\n var $buttonClicked = $(e.target).closest(\".\".concat(DROP_DOWN_BUTTON_CLASS));\r\n return !$buttonClicked.is($element)\r\n },\r\n showTitle: false,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n position: {\r\n of: this.$element(),\r\n collision: \"flipfit\",\r\n my: horizontalAlignment + \" top\",\r\n at: horizontalAlignment + \" bottom\"\r\n },\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY_CLASS\r\n }, this._options.cache(\"dropDownOptions\"), {\r\n visible: this.option(\"opened\")\r\n })\r\n },\r\n _listOptions() {\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n var useSelectMode = this.option(\"useSelectMode\");\r\n return {\r\n selectionMode: useSelectMode ? \"single\" : \"none\",\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: () => this._fireContentReadyAction(),\r\n selectedItemKeys: isDefined(selectedItemKey) && useSelectMode ? [selectedItemKey] : [],\r\n grouped: this.option(\"grouped\"),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n keyExpr: this._getKey(),\r\n noDataText: this.option(\"noDataText\"),\r\n displayExpr: this.option(\"displayExpr\"),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n items: this.option(\"items\"),\r\n dataSource: this._dataSource,\r\n onItemClick: e => {\r\n if (!this.option(\"useSelectMode\")) {\r\n this._lastSelectedItemData = e.itemData\r\n }\r\n this.option(\"selectedItemKey\", this._keyGetter(e.itemData));\r\n var actionResult = this._fireItemClickAction(e);\r\n if (false !== actionResult) {\r\n this.toggle(false);\r\n this._buttonGroup.focus()\r\n }\r\n }\r\n }\r\n },\r\n _upDownKeyHandler() {\r\n if (this._popup && this._popup.option(\"visible\") && this._list) {\r\n this._list.focus()\r\n } else {\r\n this.open()\r\n }\r\n return true\r\n },\r\n _escHandler() {\r\n this.close();\r\n this._buttonGroup.focus();\r\n return true\r\n },\r\n _tabHandler() {\r\n this.close();\r\n return true\r\n },\r\n _renderPopup() {\r\n var $popup = $(\"<div>\");\r\n this.$element().append($popup);\r\n this._popup = this._createComponent($popup, Popup, this._popupOptions());\r\n this._popup.$content().addClass(DROP_DOWN_BUTTON_CONTENT);\r\n this._popup.$wrapper().addClass(DROP_DOWN_BUTTON_POPUP_WRAPPER_CLASS);\r\n this._popup.on(\"hiding\", this._popupHidingHandler.bind(this));\r\n this._popup.on(\"showing\", this._popupShowingHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _popupHidingHandler() {\r\n this.option(\"opened\", false);\r\n this._updateAriaAttributes(false)\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _popupShowingHandler() {\r\n this.option(\"opened\", true);\r\n this._updateAriaAttributes(true)\r\n },\r\n _setElementAria(value) {\r\n var elementAria = {\r\n owns: value ? this._popupContentId : void 0\r\n };\r\n this.setAria(elementAria, this.$element())\r\n },\r\n _setButtonsAria(value) {\r\n var commonButtonAria = {\r\n expanded: value,\r\n haspopup: \"listbox\"\r\n };\r\n var firstButtonAria = {};\r\n if (!this.option(\"text\")) {\r\n firstButtonAria.label = \"dropdownbutton\"\r\n }\r\n this._getButtons().each((index, $button) => {\r\n if (0 === index) {\r\n this.setAria(_extends({}, firstButtonAria, commonButtonAria), $($button))\r\n } else {\r\n this.setAria(commonButtonAria, $($button))\r\n }\r\n })\r\n },\r\n _updateAriaAttributes(value) {\r\n this._setElementAria(value);\r\n this._setButtonsAria(value)\r\n },\r\n _getButtons() {\r\n return this._buttonGroup.$element().find(\".\".concat(DX_BUTTON_CLASS))\r\n },\r\n _renderButtonGroup() {\r\n var $buttonGroup = this._buttonGroup && this._buttonGroup.$element() || $(\"<div>\");\r\n if (!this._buttonGroup) {\r\n this.$element().append($buttonGroup)\r\n }\r\n this._buttonGroup = this._createComponent($buttonGroup, ButtonGroup, this._buttonGroupOptions());\r\n this._buttonGroup.registerKeyHandler(\"downArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"tab\", this._tabHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"upArrow\", this._upDownKeyHandler.bind(this));\r\n this._buttonGroup.registerKeyHandler(\"escape\", this._escHandler.bind(this));\r\n this._bindInnerWidgetOptions(this._buttonGroup, \"buttonGroupOptions\");\r\n this._updateAriaAttributes(this.option(\"opened\"))\r\n },\r\n _updateArrowClass() {\r\n var hasArrow = this.option(\"splitButton\") || this.option(\"showArrowIcon\");\r\n this.$element().toggleClass(DROP_DOWN_BUTTON_HAS_ARROW_CLASS, hasArrow)\r\n },\r\n toggle(visible) {\r\n if (!this._popup) {\r\n this._renderPopup();\r\n this._renderContent()\r\n }\r\n return this._popup.toggle(visible)\r\n },\r\n open() {\r\n return this.toggle(true)\r\n },\r\n close() {\r\n return this.toggle(false)\r\n },\r\n _setListOption(name, value) {\r\n this._list && this._list.option(name, value)\r\n },\r\n _getDisplayValue(item) {\r\n var isPrimitiveItem = !isPlainObject(item);\r\n var displayValue = isPrimitiveItem ? item : this._displayGetter(item);\r\n return !isPlainObject(displayValue) ? String(ensureDefined(displayValue, \"\")) : \"\"\r\n },\r\n _updateActionButton(selectedItem) {\r\n if (this.option(\"useSelectMode\")) {\r\n this.option({\r\n text: this._getDisplayValue(selectedItem),\r\n icon: isPlainObject(selectedItem) ? selectedItem.icon : void 0\r\n })\r\n }\r\n this._setOptionWithoutOptionChange(\"selectedItem\", selectedItem);\r\n this._setOptionWithoutOptionChange(\"selectedItemKey\", this._keyGetter(selectedItem))\r\n },\r\n _clean() {\r\n this._list && this._list.$element().remove();\r\n this._popup && this._popup.$element().remove()\r\n },\r\n _selectedItemKeyChanged(value) {\r\n this._setListOption(\"selectedItemKeys\", this.option(\"useSelectMode\") && isDefined(value) ? [value] : []);\r\n var previousItem = this.option(\"selectedItem\");\r\n this._loadSelectedItem().done(selectedItem => {\r\n this._updateActionButton(selectedItem);\r\n if (this._displayGetter(previousItem) !== this._displayGetter(selectedItem)) {\r\n this._fireSelectionChangedAction({\r\n previousValue: previousItem,\r\n value: selectedItem\r\n })\r\n }\r\n })\r\n },\r\n _updateButtonGroup(name, value) {\r\n this._buttonGroup.option(name, value);\r\n this._updateAriaAttributes(this.option(\"opened\"))\r\n },\r\n _actionButtonOptionChanged(_ref5) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref5;\r\n var newConfig = {};\r\n newConfig[name] = value;\r\n this._updateButtonGroup(\"items[0]\", extend({}, this._actionButtonConfig(), newConfig));\r\n this._popup && this._popup.repaint()\r\n },\r\n _selectModeChanged(value) {\r\n if (value) {\r\n this._setListOption(\"selectionMode\", \"single\");\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItemKeys\", isDefined(selectedItemKey) ? [selectedItemKey] : []);\r\n this._selectedItemKeyChanged(this.option(\"selectedItemKey\"))\r\n } else {\r\n this._setListOption(\"selectionMode\", \"none\");\r\n this.option({\r\n selectedItemKey: void 0,\r\n selectedItem: void 0\r\n });\r\n this._actionButtonOptionChanged({\r\n text: this.option(\"text\")\r\n })\r\n }\r\n },\r\n _updateItemCollection(optionName) {\r\n var selectedItemKey = this.option(\"selectedItemKey\");\r\n this._setListOption(\"selectedItem\", null);\r\n this._setWidgetOption(\"_list\", [optionName]);\r\n if (isDefined(selectedItemKey)) {\r\n this._loadSelectedItem().done(selectedItem => {\r\n this._setListOption(\"selectedItemKeys\", [selectedItemKey]);\r\n this._setListOption(\"selectedItem\", selectedItem)\r\n }).fail(error => {\r\n this._setListOption(\"selectedItemKeys\", [])\r\n }).always(this._updateActionButton.bind(this))\r\n }\r\n },\r\n _updateDataSource: function() {\r\n var items = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._dataSource.items();\r\n this._dataSource = void 0;\r\n this._itemsToDataSource(items);\r\n this._updateKeyExpr()\r\n },\r\n _updateKeyExpr: function() {\r\n this._compileKeyGetter();\r\n this._setListOption(\"keyExpr\", this._getKey())\r\n },\r\n focus: function() {\r\n this._buttonGroup.focus()\r\n },\r\n _optionChanged(args) {\r\n var _this$_popup;\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"useSelectMode\":\r\n this._selectModeChanged(value);\r\n break;\r\n case \"splitButton\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._setListOption(name, value);\r\n this._updateActionButton(this.option(\"selectedItem\"));\r\n break;\r\n case \"keyExpr\":\r\n this._updateDataSource();\r\n break;\r\n case \"buttonGroupOptions\":\r\n this._innerWidgetOptionChanged(this._buttonGroup, args);\r\n break;\r\n case \"dropDownOptions\":\r\n if (\"dropDownOptions.visible\" === args.fullName) {\r\n break\r\n }\r\n if (void 0 !== args.value.visible) {\r\n delete args.value.visible\r\n }\r\n this._popupOptionChanged(args);\r\n this._innerWidgetOptionChanged(this._popup, args);\r\n break;\r\n case \"opened\":\r\n this.toggle(value);\r\n break;\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setListOption(name, value);\r\n this._updateButtonGroup(name, value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._updateDataSource(this.option(\"items\"));\r\n this._updateItemCollection(name);\r\n break;\r\n case \"dataSource\":\r\n if (Array.isArray(value)) {\r\n this._updateDataSource(this.option(\"dataSource\"))\r\n } else {\r\n this._initDataSource();\r\n this._updateKeyExpr()\r\n }\r\n this._updateItemCollection(name);\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._actionButtonOptionChanged(args);\r\n break;\r\n case \"showArrowIcon\":\r\n this._updateArrowClass();\r\n this._renderButtonGroup();\r\n this._popup && this._popup.repaint();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"stylingMode\":\r\n this._updateButtonGroup(name, value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"grouped\":\r\n case \"noDataText\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(name, value);\r\n break;\r\n case \"dropDownContentTemplate\":\r\n this._renderContent();\r\n break;\r\n case \"selectedItemKey\":\r\n this._selectedItemKeyChanged(value);\r\n break;\r\n case \"selectedItem\":\r\n break;\r\n case \"onItemClick\":\r\n this._createItemClickAction();\r\n break;\r\n case \"onButtonClick\":\r\n this._createActionClickAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._createSelectionChangedAction();\r\n break;\r\n case \"deferRendering\":\r\n this.toggle(this.option(\"opened\"));\r\n break;\r\n case \"tabIndex\":\r\n this._updateButtonGroup(name, value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataHelperMixin);\r\nregisterComponent(\"dxDropDownButton\", DropDownButton);\r\nexport default DropDownButton;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/export/m_export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport \"../../../../ui/button\";\r\nimport \"../../../../ui/drop_down_button\";\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../../../core/utils/position\";\r\nimport {\r\n format\r\n} from \"../../../../core/utils/string\";\r\nimport {\r\n isDefined,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nimport messageLocalization from \"../../../../localization/message\";\r\nimport List from \"../../../../ui/list_light\";\r\nimport {\r\n prepareItems\r\n} from \"../../../grids/grid_core/m_export\";\r\nimport dataGridCore from \"../m_core\";\r\nvar DATAGRID_EXPORT_MENU_CLASS = \"dx-datagrid-export-menu\";\r\nvar DATAGRID_EXPORT_BUTTON_CLASS = \"dx-datagrid-export-button\";\r\nvar DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME = \"exportButton\";\r\nvar DATAGRID_EXPORT_ICON = \"export\";\r\nvar DATAGRID_EXPORT_EXCEL_ICON = \"xlsxfile\";\r\nvar DATAGRID_EXPORT_SELECTED_ICON = \"exportselected\";\r\nvar DATAGRID_PDF_EXPORT_ICON = \"pdffile\";\r\nexport class DataProvider {\r\n constructor(exportController, initialColumnWidthsByColumnIndex, selectedRowsOnly) {\r\n this._exportController = exportController;\r\n this._initialColumnWidthsByColumnIndex = initialColumnWidthsByColumnIndex;\r\n this._selectedRowsOnly = selectedRowsOnly\r\n }\r\n _getGroupValue(item) {\r\n var {\r\n key: key,\r\n data: data,\r\n rowType: rowType,\r\n groupIndex: groupIndex,\r\n summaryCells: summaryCells\r\n } = item;\r\n var groupColumn = this._options.groupColumns[groupIndex];\r\n var value = dataGridCore.getDisplayValue(groupColumn, groupColumn.deserializeValue ? groupColumn.deserializeValue(key[groupIndex]) : key[groupIndex], data, rowType);\r\n var result = \"\".concat(groupColumn.caption, \": \").concat(dataGridCore.formatValue(value, groupColumn));\r\n if (summaryCells && summaryCells[0] && summaryCells[0].length) {\r\n result += \" \".concat(dataGridCore.getGroupRowSummaryText(summaryCells[0], this._options.summaryTexts))\r\n }\r\n return result\r\n }\r\n _correctCellIndex(cellIndex) {\r\n return cellIndex\r\n }\r\n _initOptions() {\r\n var exportController = this._exportController;\r\n var groupColumns = exportController._columnsController.getGroupColumns();\r\n this._options = {\r\n columns: exportController._getColumns(this._initialColumnWidthsByColumnIndex),\r\n groupColumns: groupColumns,\r\n items: this._selectedRowsOnly || exportController._selectionOnly ? exportController._getSelectedItems() : exportController._getAllItems(),\r\n isHeadersVisible: exportController.option(\"showColumnHeaders\"),\r\n summaryTexts: exportController.option(\"summary.texts\"),\r\n rtlEnabled: exportController.option(\"rtlEnabled\")\r\n }\r\n }\r\n getHeaderStyles() {\r\n return [{\r\n bold: true,\r\n alignment: \"center\"\r\n }, {\r\n bold: true,\r\n alignment: \"left\"\r\n }, {\r\n bold: true,\r\n alignment: \"right\"\r\n }]\r\n }\r\n getGroupRowStyle() {\r\n return {\r\n bold: true,\r\n alignment: getDefaultAlignment(this._options.rtlEnabled)\r\n }\r\n }\r\n getColumnStyles() {\r\n var columnStyles = [];\r\n this.getColumns().forEach(column => {\r\n columnStyles.push({\r\n alignment: column.alignment || \"left\",\r\n format: column.format,\r\n dataType: column.dataType\r\n })\r\n });\r\n return columnStyles\r\n }\r\n getStyles() {\r\n return [...this.getHeaderStyles(), ...this.getColumnStyles(), this.getGroupRowStyle()]\r\n }\r\n _getTotalCellStyleId(cellIndex) {\r\n var _a;\r\n var alignment = (null === (_a = this.getColumns()[cellIndex]) || void 0 === _a ? void 0 : _a.alignment) || \"right\";\r\n return this.getHeaderStyles().map(style => style.alignment).indexOf(alignment)\r\n }\r\n getStyleId(rowIndex, cellIndex) {\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n return 0\r\n }\r\n if (this.isTotalCell(rowIndex - this.getHeaderRowCount(), cellIndex)) {\r\n return this._getTotalCellStyleId(cellIndex)\r\n }\r\n if (this.isGroupRow(rowIndex - this.getHeaderRowCount())) {\r\n return this.getHeaderStyles().length + this.getColumns().length\r\n }\r\n return cellIndex + this.getHeaderStyles().length\r\n }\r\n getColumns(getColumnsByAllRows) {\r\n var {\r\n columns: columns\r\n } = this._options;\r\n return getColumnsByAllRows ? columns : columns[columns.length - 1]\r\n }\r\n getColumnsWidths() {\r\n var columns = this.getColumns();\r\n return isDefined(columns) ? columns.map(c => c.width) : void 0\r\n }\r\n getRowsCount() {\r\n return this._options.items.length + this.getHeaderRowCount()\r\n }\r\n getHeaderRowCount() {\r\n if (this.isHeadersVisible()) {\r\n return this._options.columns.length - 1\r\n }\r\n return 0\r\n }\r\n isGroupRow(rowIndex) {\r\n return rowIndex < this._options.items.length && \"group\" === this._options.items[rowIndex].rowType\r\n }\r\n getGroupLevel(rowIndex) {\r\n var item = this._options.items[rowIndex - this.getHeaderRowCount()];\r\n var groupIndex = item && item.groupIndex;\r\n if (item && \"totalFooter\" === item.rowType) {\r\n return 0\r\n }\r\n return isDefined(groupIndex) ? groupIndex : this._options.groupColumns.length\r\n }\r\n getCellType(rowIndex, cellIndex) {\r\n var columns = this.getColumns();\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n return \"string\"\r\n }\r\n rowIndex -= this.getHeaderRowCount();\r\n if (cellIndex < columns.length) {\r\n var item = this._options.items.length && this._options.items[rowIndex];\r\n var column = columns[cellIndex];\r\n if (item && \"data\" === item.rowType) {\r\n if (isFinite(item.values[this._correctCellIndex(cellIndex)]) && !isDefined(column.customizeText)) {\r\n return isDefined(column.lookup) ? column.lookup.dataType : column.dataType\r\n }\r\n }\r\n return \"string\"\r\n }\r\n }\r\n ready() {\r\n this._initOptions();\r\n var options = this._options;\r\n return when(options.items).done(items => {\r\n options.items = items\r\n }).fail(() => {\r\n options.items = []\r\n })\r\n }\r\n _convertFromGridGroupSummaryItems(gridGroupSummaryItems) {\r\n if (isDefined(gridGroupSummaryItems) && gridGroupSummaryItems.length > 0) {\r\n return gridGroupSummaryItems.map(item => ({\r\n value: item.value,\r\n name: item.name\r\n }))\r\n }\r\n }\r\n getCellData(rowIndex, cellIndex, isExcelJS) {\r\n var value;\r\n var column;\r\n var result = {\r\n cellSourceData: {},\r\n value: value\r\n };\r\n var columns = this.getColumns();\r\n var correctedCellIndex = this._correctCellIndex(cellIndex);\r\n if (rowIndex < this.getHeaderRowCount()) {\r\n var columnsRow = this.getColumns(true)[rowIndex];\r\n column = columnsRow[cellIndex];\r\n result.cellSourceData.rowType = \"header\";\r\n result.cellSourceData.column = column && column.gridColumn;\r\n result.value = column && column.caption\r\n } else {\r\n rowIndex -= this.getHeaderRowCount();\r\n var item = this._options.items.length && this._options.items[rowIndex];\r\n if (item) {\r\n var itemValues = item.values;\r\n result.cellSourceData.rowType = item.rowType;\r\n result.cellSourceData.column = columns[cellIndex] && columns[cellIndex].gridColumn;\r\n switch (item.rowType) {\r\n case \"groupFooter\":\r\n case \"totalFooter\":\r\n if (correctedCellIndex < itemValues.length) {\r\n value = itemValues[correctedCellIndex];\r\n if (isDefined(value)) {\r\n result.cellSourceData.value = value.value;\r\n result.cellSourceData.totalSummaryItemName = value.name;\r\n result.value = dataGridCore.getSummaryText(value, this._options.summaryTexts)\r\n } else {\r\n result.cellSourceData.value = void 0\r\n }\r\n }\r\n break;\r\n case \"group\":\r\n result.cellSourceData.groupIndex = item.groupIndex;\r\n if (cellIndex < 1) {\r\n result.cellSourceData.column = this._options.groupColumns[item.groupIndex];\r\n result.cellSourceData.value = item.key[item.groupIndex];\r\n result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(item.summaryCells[0]);\r\n result.value = this._getGroupValue(item)\r\n } else {\r\n var summaryItems = item.values[correctedCellIndex];\r\n if (Array.isArray(summaryItems)) {\r\n result.cellSourceData.groupSummaryItems = this._convertFromGridGroupSummaryItems(summaryItems);\r\n value = \"\";\r\n for (var i = 0; i < summaryItems.length; i++) {\r\n value += (i > 0 ? isExcelJS ? \"\\n\" : \" \\n \" : \"\") + dataGridCore.getSummaryText(summaryItems[i], this._options.summaryTexts)\r\n }\r\n result.value = value\r\n } else {\r\n result.cellSourceData.value = void 0\r\n }\r\n }\r\n break;\r\n default:\r\n column = columns[cellIndex];\r\n if (column) {\r\n var _value = itemValues[correctedCellIndex];\r\n var displayValue = dataGridCore.getDisplayValue(column, _value, item.data, item.rowType);\r\n if (!isFinite(displayValue) || isDefined(column.customizeText)) {\r\n if (isExcelJS && isDefined(column.customizeText) && column.customizeText === this._exportController._columnsController.getCustomizeTextByDataType(\"boolean\")) {\r\n result.value = displayValue\r\n } else {\r\n result.value = dataGridCore.formatValue(displayValue, column)\r\n }\r\n } else {\r\n result.value = displayValue\r\n }\r\n result.cellSourceData.value = _value\r\n }\r\n result.cellSourceData.data = item.data\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n isHeadersVisible() {\r\n return this._options.isHeadersVisible\r\n }\r\n isTotalCell(rowIndex, cellIndex) {\r\n var {\r\n items: items\r\n } = this._options;\r\n var item = items[rowIndex];\r\n var correctCellIndex = this._correctCellIndex(cellIndex);\r\n var isSummaryAlignByColumn = item.summaryCells && item.summaryCells[correctCellIndex] && item.summaryCells[correctCellIndex].length > 0 && item.summaryCells[correctCellIndex][0].alignByColumn;\r\n return item && \"groupFooter\" === item.rowType || \"totalFooter\" === item.rowType || isSummaryAlignByColumn\r\n }\r\n getCellMerging(rowIndex, cellIndex) {\r\n var {\r\n columns: columns\r\n } = this._options;\r\n var column = columns[rowIndex] && columns[rowIndex][cellIndex];\r\n return column ? {\r\n colspan: (column.exportColspan || 1) - 1,\r\n rowspan: (column.rowspan || 1) - 1\r\n } : {\r\n colspan: 0,\r\n rowspan: 0\r\n }\r\n }\r\n getFrozenArea() {\r\n return {\r\n x: 0,\r\n y: this.getHeaderRowCount()\r\n }\r\n }\r\n}\r\nexport class ExportController extends dataGridCore.ViewController {\r\n _getEmptyCell() {\r\n return {\r\n caption: \"\",\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n }\r\n _updateColumnWidth(column, width) {\r\n column.width = width\r\n }\r\n _getColumns(initialColumnWidthsByColumnIndex) {\r\n var result = [];\r\n var i;\r\n var columns;\r\n var columnsController = this._columnsController;\r\n var rowCount = columnsController.getRowCount();\r\n for (i = 0; i <= rowCount; i++) {\r\n var currentHeaderRow = [];\r\n columns = columnsController.getVisibleColumns(i, true);\r\n var columnWidthsByColumnIndex = void 0;\r\n if (i === rowCount) {\r\n if (this._updateLockCount) {\r\n columnWidthsByColumnIndex = initialColumnWidthsByColumnIndex\r\n } else {\r\n var columnWidths = this._getColumnWidths(this._headersView, this._rowsView);\r\n if (columnWidths && columnWidths.length) {\r\n columnWidthsByColumnIndex = {};\r\n for (var _i = 0; _i < columns.length; _i++) {\r\n columnWidthsByColumnIndex[columns[_i].index] = columnWidths[_i]\r\n }\r\n }\r\n }\r\n }\r\n for (var j = 0; j < columns.length; j++) {\r\n var column = extend({}, columns[j], {\r\n dataType: \"datetime\" === columns[j].dataType ? \"date\" : columns[j].dataType,\r\n gridColumn: columns[j]\r\n });\r\n if (this._needColumnExporting(column)) {\r\n var currentColspan = this._calculateExportColspan(column);\r\n if (isDefined(currentColspan)) {\r\n column.exportColspan = currentColspan\r\n }\r\n if (columnWidthsByColumnIndex) {\r\n this._updateColumnWidth(column, columnWidthsByColumnIndex[column.index])\r\n }\r\n currentHeaderRow.push(column)\r\n }\r\n }\r\n result.push(currentHeaderRow)\r\n }\r\n columns = result[rowCount];\r\n result = prepareItems(result.slice(0, -1), this._getEmptyCell());\r\n result.push(columns);\r\n return result\r\n }\r\n _calculateExportColspan(column) {\r\n if (!column.isBand) {\r\n return\r\n }\r\n var childColumns = this._columnsController.getChildrenByBandColumn(column.index, true);\r\n if (!isDefined(childColumns)) {\r\n return\r\n }\r\n return childColumns.reduce((result, childColumn) => {\r\n if (this._needColumnExporting(childColumn)) {\r\n return result + (this._calculateExportColspan(childColumn) || 1)\r\n }\r\n return result\r\n }, 0)\r\n }\r\n _needColumnExporting(column) {\r\n return !column.command && (column.allowExporting || void 0 === column.allowExporting)\r\n }\r\n _getFooterSummaryItems(summaryCells, isTotal) {\r\n var result = [];\r\n var estimatedItemsCount = 1;\r\n var i = 0;\r\n do {\r\n var values = [];\r\n for (var j = 0; j < summaryCells.length; j++) {\r\n var summaryCell = summaryCells[j];\r\n var itemsLength = summaryCell.length;\r\n if (estimatedItemsCount < itemsLength) {\r\n estimatedItemsCount = itemsLength\r\n }\r\n values.push(summaryCell[i])\r\n }\r\n result.push({\r\n values: values,\r\n rowType: isTotal ? \"totalFooter\" : \"groupFooter\"\r\n })\r\n } while (i++ < estimatedItemsCount - 1);\r\n return result\r\n }\r\n _hasSummaryGroupFooters() {\r\n var groupItems = this.option(\"summary.groupItems\");\r\n if (isDefined(groupItems)) {\r\n for (var i = 0; i < groupItems.length; i++) {\r\n if (groupItems[i].showInGroupFooter) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n }\r\n _getItemsWithSummaryGroupFooters(sourceItems) {\r\n var result = [];\r\n var beforeGroupFooterItems = [];\r\n var groupFooterItems = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n if (\"groupFooter\" === item.rowType) {\r\n groupFooterItems = this._getFooterSummaryItems(item.summaryCells);\r\n result = result.concat(beforeGroupFooterItems, groupFooterItems);\r\n beforeGroupFooterItems = []\r\n } else {\r\n beforeGroupFooterItems.push(item)\r\n }\r\n }\r\n return result.length ? result : beforeGroupFooterItems\r\n }\r\n _updateGroupValuesWithSummaryByColumn(sourceItems) {\r\n var summaryValues = [];\r\n for (var i = 0; i < sourceItems.length; i++) {\r\n var item = sourceItems[i];\r\n var {\r\n summaryCells: summaryCells\r\n } = item;\r\n if (\"group\" === item.rowType && summaryCells && summaryCells.length > 1) {\r\n var groupColumnCount = item.values.length;\r\n for (var j = 1; j < summaryCells.length; j++) {\r\n for (var k = 0; k < summaryCells[j].length; k++) {\r\n var summaryItem = summaryCells[j][k];\r\n if (summaryItem && summaryItem.alignByColumn) {\r\n if (!Array.isArray(summaryValues[j - groupColumnCount])) {\r\n summaryValues[j - groupColumnCount] = []\r\n }\r\n summaryValues[j - groupColumnCount].push(summaryItem)\r\n }\r\n }\r\n }\r\n if (summaryValues.length > 0) {\r\n item.values.push(...summaryValues);\r\n summaryValues = []\r\n }\r\n }\r\n }\r\n }\r\n _processUnExportedItems(items) {\r\n var columns = this._columnsController.getVisibleColumns(null, true);\r\n var groupColumns = this._columnsController.getGroupColumns();\r\n var values;\r\n var summaryCells;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var isCommand = false;\r\n values = [];\r\n summaryCells = [];\r\n for (var j = 0; j < columns.length; j++) {\r\n var column = columns[j];\r\n isCommand || (isCommand = [\"detailExpand\", \"buttons\"].includes(column.type));\r\n if (this._needColumnExporting(column)) {\r\n if (item.values) {\r\n if (\"group\" === item.rowType && !values.length) {\r\n values.push(item.key[item.groupIndex])\r\n } else {\r\n values.push(item.values[j])\r\n }\r\n }\r\n if (item.summaryCells) {\r\n if (\"group\" === item.rowType && !summaryCells.length) {\r\n var index = j - groupColumns.length + item.groupIndex;\r\n summaryCells.push(item.summaryCells[isCommand ? index : index + 1])\r\n } else {\r\n summaryCells.push(item.summaryCells[j])\r\n }\r\n }\r\n }\r\n }\r\n if (values.length) {\r\n item.values = values\r\n }\r\n if (summaryCells.length) {\r\n item.summaryCells = summaryCells\r\n }\r\n }\r\n }\r\n _getAllItems(data) {\r\n var skipFilter = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : false;\r\n var that = this;\r\n var d = new Deferred;\r\n var dataController = this.getController(\"data\");\r\n var footerItems = dataController.footerItems();\r\n var totalItem = footerItems.length && footerItems[0];\r\n var summaryTotalItems = that.option(\"summary.totalItems\");\r\n var summaryCells;\r\n when(data).done(data => {\r\n dataController.loadAll(data, skipFilter).done((sourceItems, totalAggregates) => {\r\n that._updateGroupValuesWithSummaryByColumn(sourceItems);\r\n if (that._hasSummaryGroupFooters()) {\r\n sourceItems = that._getItemsWithSummaryGroupFooters(sourceItems)\r\n }\r\n summaryCells = totalItem && totalItem.summaryCells;\r\n if (isDefined(totalAggregates) && summaryTotalItems) {\r\n summaryCells = that._getSummaryCells(summaryTotalItems, totalAggregates)\r\n }\r\n var summaryItems = totalItem && that._getFooterSummaryItems(summaryCells, true);\r\n if (summaryItems) {\r\n sourceItems = sourceItems.concat(summaryItems)\r\n }\r\n that._processUnExportedItems(sourceItems);\r\n d.resolve(sourceItems)\r\n }).fail(d.reject)\r\n }).fail(d.reject);\r\n return d\r\n }\r\n _getSummaryCells(summaryTotalItems, totalAggregates) {\r\n var dataController = this.getController(\"data\");\r\n var columnsController = dataController._columnsController;\r\n return dataController._calculateSummaryCells(summaryTotalItems, totalAggregates, columnsController.getVisibleColumns(null, true), (summaryItem, column) => dataController._isDataColumn(column) ? column.index : -1)\r\n }\r\n _getSelectedItems() {\r\n var selectionController = this.getController(\"selection\");\r\n if (this.needLoadItemsOnExportingSelectedItems()) {\r\n return this._getAllItems(selectionController.loadSelectedItemsWithFilter(), true)\r\n }\r\n return this._getAllItems(selectionController.getSelectedRowsData())\r\n }\r\n _getColumnWidths(headersView, rowsView) {\r\n return headersView && headersView.isVisible() ? headersView.getColumnWidths() : rowsView.getColumnWidths()\r\n }\r\n init() {\r\n this._columnsController = this.getController(\"columns\");\r\n this._rowsView = this.getView(\"rowsView\");\r\n this._headersView = this.getView(\"columnHeadersView\");\r\n this.createAction(\"onExporting\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n }\r\n callbackNames() {\r\n return [\"selectionOnlyChanged\"]\r\n }\r\n getDataProvider(selectedRowsOnly) {\r\n var columnWidths = this._getColumnWidths(this._headersView, this._rowsView);\r\n var initialColumnWidthsByColumnIndex;\r\n if (columnWidths && columnWidths.length) {\r\n initialColumnWidthsByColumnIndex = {};\r\n var columnsLastRowVisibleColumns = this._columnsController.getVisibleColumns(this._columnsController.getRowCount(), true);\r\n for (var i = 0; i < columnsLastRowVisibleColumns.length; i++) {\r\n initialColumnWidthsByColumnIndex[columnsLastRowVisibleColumns[i].index] = columnWidths[i]\r\n }\r\n }\r\n return new DataProvider(this, initialColumnWidthsByColumnIndex, selectedRowsOnly)\r\n }\r\n exportTo(selectedRowsOnly, format) {\r\n this._selectionOnly = selectedRowsOnly;\r\n var onExporting = this.getAction(\"onExporting\");\r\n var eventArgs = {\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n selectedRowsOnly: !!selectedRowsOnly,\r\n format: format,\r\n fileName: \"DataGrid\",\r\n cancel: false\r\n };\r\n isFunction(onExporting) && onExporting(eventArgs)\r\n }\r\n publicMethods() {\r\n return [\"getDataProvider\"]\r\n }\r\n selectionOnly(value) {\r\n if (isDefined(value)) {\r\n this._isSelectedRows = value;\r\n this.selectionOnlyChanged.fire()\r\n } else {\r\n return this._isSelectedRows\r\n }\r\n }\r\n needLoadItemsOnExportingSelectedItems() {\r\n var _a;\r\n return null !== (_a = this.option(\"loadItemsOnExportingSelectedItems\")) && void 0 !== _a ? _a : this.getController(\"data\")._dataSource.remoteOperations().filtering\r\n }\r\n}\r\ndataGridCore.registerModule(\"export\", {\r\n defaultOptions: () => ({\r\n export: {\r\n enabled: false,\r\n fileName: \"DataGrid\",\r\n formats: [\"xlsx\"],\r\n allowExportSelectedData: false,\r\n texts: {\r\n exportTo: messageLocalization.format(\"dxDataGrid-exportTo\"),\r\n exportAll: messageLocalization.format(\"dxDataGrid-exportAll\"),\r\n exportSelectedRows: messageLocalization.format(\"dxDataGrid-exportSelectedRows\")\r\n }\r\n }\r\n }),\r\n controllers: {\r\n export: ExportController\r\n },\r\n extenders: {\r\n controllers: {\r\n editing: {\r\n callbackNames() {\r\n var callbackList = this.callBase();\r\n return isDefined(callbackList) ? callbackList.push(\"editingButtonsUpdated\") : [\"editingButtonsUpdated\"]\r\n },\r\n _updateEditButtons() {\r\n this.callBase();\r\n this.editingButtonsUpdated.fire()\r\n }\r\n }\r\n },\r\n views: {\r\n headerPanel: {\r\n _getToolbarItems() {\r\n var items = this.callBase();\r\n var exportButton = this._getExportToolbarButton();\r\n if (exportButton) {\r\n items.push(exportButton);\r\n this._correctItemsPosition(items)\r\n }\r\n return items\r\n },\r\n _getExportToolbarButton() {\r\n var items = this._getExportToolbarItems();\r\n if (0 === items.length) {\r\n return null\r\n }\r\n var disabled = this._needDisableExportButton();\r\n var toolbarButtonOptions = {\r\n name: DATAGRID_EXPORT_TOOLBAR_BUTTON_NAME,\r\n location: \"after\",\r\n locateInMenu: \"auto\",\r\n sortIndex: 30,\r\n options: {\r\n items: items\r\n },\r\n disabled: disabled\r\n };\r\n if (1 === items.length) {\r\n var widgetOptions = _extends(_extends({}, items[0]), {\r\n hint: items[0].text,\r\n elementAttr: {\r\n class: DATAGRID_EXPORT_BUTTON_CLASS\r\n }\r\n });\r\n toolbarButtonOptions.widget = \"dxButton\";\r\n toolbarButtonOptions.showText = \"inMenu\";\r\n toolbarButtonOptions.options = widgetOptions\r\n } else {\r\n var _widgetOptions = {\r\n icon: DATAGRID_EXPORT_ICON,\r\n displayExpr: \"text\",\r\n items: items,\r\n hint: this.option(\"export.texts.exportTo\"),\r\n elementAttr: {\r\n class: DATAGRID_EXPORT_BUTTON_CLASS\r\n },\r\n dropDownOptions: {\r\n width: \"auto\",\r\n _wrapperClassExternal: DATAGRID_EXPORT_MENU_CLASS\r\n }\r\n };\r\n toolbarButtonOptions.options = _widgetOptions;\r\n toolbarButtonOptions.widget = \"dxDropDownButton\";\r\n toolbarButtonOptions.menuItemTemplate = (_data, _index, container) => {\r\n this._createComponent($(container), List, {\r\n items: items\r\n })\r\n }\r\n }\r\n return toolbarButtonOptions\r\n },\r\n _getExportToolbarItems() {\r\n var _a;\r\n var exportOptions = this.option(\"export\");\r\n var texts = this.option(\"export.texts\");\r\n var formats = null !== (_a = this.option(\"export.formats\")) && void 0 !== _a ? _a : [];\r\n if (!exportOptions.enabled) {\r\n return []\r\n }\r\n var items = [];\r\n formats.forEach(formatType => {\r\n var formatName = formatType.toUpperCase();\r\n var exportAllIcon = DATAGRID_EXPORT_ICON;\r\n var exportSelectedIcon = DATAGRID_EXPORT_SELECTED_ICON;\r\n if (\"xlsx\" === formatType) {\r\n formatName = \"Excel\";\r\n exportAllIcon = DATAGRID_EXPORT_EXCEL_ICON\r\n }\r\n if (\"pdf\" === formatType) {\r\n exportAllIcon = DATAGRID_PDF_EXPORT_ICON\r\n }\r\n items.push({\r\n text: format(texts.exportAll, formatName),\r\n icon: exportAllIcon,\r\n onClick: () => {\r\n this._exportController.exportTo(false, formatType)\r\n }\r\n });\r\n if (exportOptions.allowExportSelectedData) {\r\n items.push({\r\n text: format(texts.exportSelectedRows, formatName),\r\n icon: exportSelectedIcon,\r\n onClick: () => {\r\n this._exportController.exportTo(true, formatType)\r\n }\r\n })\r\n }\r\n });\r\n return items\r\n },\r\n _correctItemsPosition(items) {\r\n items.sort((itemA, itemB) => itemA.sortIndex - itemB.sortIndex)\r\n },\r\n _isExportButtonVisible() {\r\n return this.option(\"export.enabled\")\r\n },\r\n optionChanged(args) {\r\n this.callBase(args);\r\n if (\"export\" === args.name) {\r\n args.handled = true;\r\n this._invalidate()\r\n }\r\n },\r\n _needDisableExportButton() {\r\n var isDataColumnsInvisible = !this._columnsController.hasVisibleDataColumns();\r\n var hasUnsavedChanges = this._editingController.hasChanges();\r\n return isDataColumnsInvisible || hasUnsavedChanges\r\n },\r\n _columnOptionChanged(e) {\r\n this.callBase(e);\r\n var isColumnLocationChanged = dataGridCore.checkChanges(e.optionNames, [\"groupIndex\", \"visible\", \"all\"]);\r\n if (isColumnLocationChanged) {\r\n var disabled = this._needDisableExportButton();\r\n this.setToolbarItemDisabled(\"exportButton\", disabled)\r\n }\r\n },\r\n init() {\r\n this.callBase();\r\n this._exportController = this.getController(\"export\");\r\n this._editingController = this.getController(\"editing\");\r\n this._editingController.editingButtonsUpdated.add(() => {\r\n var disabled = this._needDisableExportButton();\r\n this.setToolbarItemDisabled(\"exportButton\", disabled)\r\n })\r\n },\r\n isVisible() {\r\n return this.callBase() || this._isExportButtonVisible()\r\n }\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/m_export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\n\r\nfunction prepareItems(items, emptyCell) {\r\n var defaultSetter = value => !value ? 1 : value;\r\n var resultItems = [];\r\n var cols = (items[0] || []).reduce((sum, item) => sum + defaultSetter(item.colspan), 0);\r\n var getItem = (items => {\r\n var rowIndex = 0;\r\n var cellIndex = 0;\r\n return () => {\r\n var row = items[rowIndex] || [];\r\n var item = row[cellIndex++];\r\n if (cellIndex >= row.length) {\r\n rowIndex++;\r\n cellIndex = 0\r\n }\r\n if (item) {\r\n item.colspan = defaultSetter(item.colspan);\r\n item.rowspan = defaultSetter(item.rowspan)\r\n }\r\n return item\r\n }\r\n })(items);\r\n var addItem = (rowIndex, cellIndex, item) => {\r\n var row = resultItems[rowIndex] = resultItems[rowIndex] || [];\r\n row[cellIndex] = item;\r\n if (item.colspan > 1 || item.rowspan > 1) {\r\n var clone = (item => extend({}, item, emptyCell))(item);\r\n for (var c = 1; c < item.colspan; c++) {\r\n addItem(rowIndex, cellIndex + c, clone)\r\n }\r\n for (var r = 1; r < item.rowspan; r++) {\r\n for (var _c = 0; _c < item.colspan; _c++) {\r\n addItem(rowIndex + r, cellIndex + _c, clone)\r\n }\r\n }\r\n }\r\n };\r\n var item = getItem();\r\n var rowIndex = 0;\r\n while (item) {\r\n for (var cellIndex = 0; cellIndex < cols; cellIndex++) {\r\n if (!item) {\r\n break\r\n }\r\n if (resultItems[rowIndex] && resultItems[rowIndex][cellIndex]) {\r\n continue\r\n }\r\n addItem(rowIndex, cellIndex, item);\r\n cellIndex += item.colspan - 1;\r\n item = getItem()\r\n }\r\n rowIndex++\r\n }\r\n return resultItems\r\n}\r\nexport {\r\n prepareItems\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/focus/m_focus_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateSerialization from \"../../../../core/utils/date_serialization\";\r\nimport {\r\n isDate,\r\n isFunction\r\n} from \"../../../../core/utils/type\";\r\nvar getSortFilterValue = (sortInfo, rowData, _ref) => {\r\n var {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: getSelector\r\n } = _ref;\r\n var {\r\n selector: selector\r\n } = sortInfo;\r\n var getter = isFunction(selector) ? selector : getSelector(selector);\r\n var rawValue = getter ? getter(rowData) : rowData[selector];\r\n var safeValue = isRemoteFiltering && isDate(rawValue) ? dateSerialization.serializeDate(rawValue, dateSerializationFormat) : rawValue;\r\n return {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n }\r\n};\r\nexport var UiGridCoreFocusUtils = {\r\n getSortFilterValue: getSortFilterValue\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/focus/m_focus.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n each\r\n} from \"../../../../core/utils/iterator\";\r\nimport {\r\n isBoolean,\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport core from \"../m_modules\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n UiGridCoreFocusUtils\r\n} from \"./m_focus_utils\";\r\nvar ROW_FOCUSED_CLASS = \"dx-row-focused\";\r\nvar FOCUSED_ROW_SELECTOR = \".dx-row.\".concat(ROW_FOCUSED_CLASS);\r\nvar TABLE_POSTFIX_CLASS = \"table\";\r\nvar CELL_FOCUS_DISABLED_CLASS = \"dx-cell-focus-disabled\";\r\nvar FocusController = core.ViewController.inherit(function() {\r\n var members = {\r\n init() {\r\n this._dataController = this.getController(\"data\");\r\n this._keyboardController = this.getController(\"keyboardNavigation\");\r\n this.component._optionsByReference.focusedRowKey = true\r\n },\r\n optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"focusedRowIndex\":\r\n this._focusRowByIndex(value);\r\n this._keyboardController._fireFocusedRowChanged();\r\n args.handled = true;\r\n break;\r\n case \"focusedRowKey\":\r\n if (Array.isArray(value) && JSON.stringify(value) === JSON.stringify(previousValue)) {\r\n return\r\n }\r\n this._focusRowByKey(value);\r\n this._keyboardController._fireFocusedRowChanged();\r\n args.handled = true;\r\n break;\r\n case \"focusedColumnIndex\":\r\n case \"focusedRowEnabled\":\r\n case \"autoNavigateToFocusedRow\":\r\n args.handled = true;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n isAutoNavigateToFocusedRow() {\r\n return \"infinite\" !== this.option(\"scrolling.mode\") && this.option(\"autoNavigateToFocusedRow\")\r\n },\r\n _focusRowByIndex(index, operationTypes) {\r\n if (!this.option(\"focusedRowEnabled\")) {\r\n return\r\n }\r\n index = void 0 !== index ? index : this.option(\"focusedRowIndex\");\r\n if (index < 0) {\r\n if (this.isAutoNavigateToFocusedRow()) {\r\n this._resetFocusedRow()\r\n }\r\n } else {\r\n this._focusRowByIndexCore(index, operationTypes)\r\n }\r\n },\r\n _focusRowByIndexCore(index, operationTypes) {\r\n var dataController = this.getController(\"data\");\r\n var pageSize = dataController.pageSize();\r\n var setKeyByIndex = () => {\r\n if (this._isValidFocusedRowIndex(index)) {\r\n var rowIndex = index - dataController.getRowIndexOffset(true);\r\n if (!operationTypes || operationTypes.paging && !operationTypes.filtering) {\r\n var lastItemIndex = dataController._getLastItemIndex();\r\n rowIndex = Math.min(rowIndex, lastItemIndex)\r\n }\r\n var focusedRowKey = dataController.getKeyByRowIndex(rowIndex, true);\r\n if (isDefined(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n };\r\n if (pageSize >= 0) {\r\n if (!this._isLocalRowIndex(index)) {\r\n var pageIndex = Math.floor(index / dataController.pageSize());\r\n when(dataController.pageIndex(pageIndex), dataController.waitReady()).done(() => {\r\n setKeyByIndex()\r\n })\r\n } else {\r\n setKeyByIndex()\r\n }\r\n }\r\n },\r\n _isLocalRowIndex(index) {\r\n var dataController = this.getController(\"data\");\r\n var isVirtualScrolling = this.getController(\"keyboardNavigation\")._isVirtualScrolling();\r\n if (isVirtualScrolling) {\r\n var pageIndex = Math.floor(index / dataController.pageSize());\r\n var virtualItems = dataController.virtualItemsCount();\r\n var virtualItemsBegin = virtualItems ? virtualItems.begin : -1;\r\n var visibleRowsCount = dataController.getVisibleRows().length + dataController.getRowIndexOffset();\r\n var visiblePagesCount = Math.ceil(visibleRowsCount / dataController.pageSize());\r\n return virtualItemsBegin <= index && visiblePagesCount > pageIndex\r\n }\r\n return true\r\n },\r\n _setFocusedRowKeyByIndex(index) {\r\n var dataController = this.getController(\"data\");\r\n if (this._isValidFocusedRowIndex(index)) {\r\n var rowIndex = Math.min(index - dataController.getRowIndexOffset(), dataController.items().length - 1);\r\n var focusedRowKey = dataController.getKeyByRowIndex(rowIndex);\r\n if (isDefined(focusedRowKey) && !this.isRowFocused(focusedRowKey)) {\r\n this.option(\"focusedRowKey\", focusedRowKey)\r\n }\r\n }\r\n },\r\n _focusRowByKey(key) {\r\n if (!isDefined(key)) {\r\n this._resetFocusedRow()\r\n } else {\r\n this._navigateToRow(key, true)\r\n }\r\n },\r\n _resetFocusedRow() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isFocusedRowKeyDefined = isDefined(focusedRowKey);\r\n if (!isFocusedRowKeyDefined && this.option(\"focusedRowIndex\") < 0) {\r\n return\r\n }\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n if (isFocusedRowKeyDefined) {\r\n this.option(\"focusedRowKey\", null)\r\n }\r\n keyboardController.setFocusedRowIndex(-1);\r\n this.option(\"focusedRowIndex\", -1);\r\n this.getController(\"data\").updateItems({\r\n changeType: \"updateFocusedRow\",\r\n focusedRowKey: null\r\n });\r\n keyboardController._fireFocusedRowChanged(void 0, -1)\r\n },\r\n _isValidFocusedRowIndex(rowIndex) {\r\n var dataController = this.getController(\"data\");\r\n var row = dataController.getVisibleRows()[rowIndex];\r\n return !row || \"data\" === row.rowType || \"group\" === row.rowType\r\n },\r\n publicMethods: () => [\"navigateToRow\", \"isRowFocused\"],\r\n navigateToRow(key) {\r\n if (!this.isAutoNavigateToFocusedRow()) {\r\n this.option(\"focusedRowIndex\", -1)\r\n }\r\n return this._navigateToRow(key)\r\n },\r\n _navigateToRow(key, needFocusRow) {\r\n var that = this;\r\n var dataController = that.getController(\"data\");\r\n var isAutoNavigate = that.isAutoNavigateToFocusedRow();\r\n var d = new Deferred;\r\n if (void 0 === key || !dataController.dataSource()) {\r\n return d.reject().promise()\r\n }\r\n var rowIndexByKey = that.getFocusedRowIndexByKey(key);\r\n if (!isAutoNavigate && needFocusRow || rowIndexByKey >= 0) {\r\n that._navigateTo(key, d, needFocusRow)\r\n } else {\r\n dataController.getPageIndexByKey(key).done(pageIndex => {\r\n if (pageIndex < 0) {\r\n d.resolve(-1);\r\n return\r\n }\r\n if (pageIndex === dataController.pageIndex()) {\r\n dataController.reload().done(() => {\r\n if (that.isRowFocused(key) && dataController.getRowIndexByKey(key) >= 0) {\r\n d.resolve(that.getFocusedRowIndexByKey(key))\r\n } else {\r\n that._navigateTo(key, d, needFocusRow)\r\n }\r\n }).fail(d.reject)\r\n } else {\r\n dataController.pageIndex(pageIndex).done(() => {\r\n that._navigateTo(key, d, needFocusRow)\r\n }).fail(d.reject)\r\n }\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n _navigateTo(key, deferred, needFocusRow) {\r\n var visibleRowIndex = this.getController(\"data\").getRowIndexByKey(key);\r\n var isVirtualRowRenderingMode = gridCoreUtils.isVirtualRowRendering(this);\r\n var isAutoNavigate = this.isAutoNavigateToFocusedRow();\r\n if (isAutoNavigate && isVirtualRowRenderingMode && visibleRowIndex < 0) {\r\n this._navigateToVirtualRow(key, deferred, needFocusRow)\r\n } else {\r\n this._navigateToVisibleRow(key, deferred, needFocusRow)\r\n }\r\n },\r\n _navigateToVisibleRow(key, deferred, needFocusRow) {\r\n if (needFocusRow) {\r\n this._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n var focusedRowIndex = this.getFocusedRowIndexByKey(key);\r\n this.getView(\"rowsView\").scrollToRowElement(key, deferred).done(() => {\r\n deferred.resolve(focusedRowIndex)\r\n })\r\n }\r\n },\r\n _navigateToVirtualRow(key, deferred, needFocusRow) {\r\n var dataController = this.getController(\"data\");\r\n var rowsScrollController = dataController._rowsScrollController;\r\n var rowIndex = gridCoreUtils.getIndexByKey(key, dataController.items(true));\r\n var scrollable = this.getView(\"rowsView\").getScrollable();\r\n if (rowsScrollController && scrollable && rowIndex >= 0) {\r\n var focusedRowIndex = rowIndex + dataController.getRowIndexOffset(true);\r\n var offset = rowsScrollController.getItemOffset(focusedRowIndex);\r\n var triggerUpdateFocusedRow = () => {\r\n if (dataController.totalCount() && !dataController.items().length) {\r\n return\r\n }\r\n this.component.off(\"contentReady\", triggerUpdateFocusedRow);\r\n if (needFocusRow) {\r\n this._triggerUpdateFocusedRow(key, deferred)\r\n } else {\r\n deferred.resolve(focusedRowIndex)\r\n }\r\n };\r\n this.component.on(\"contentReady\", triggerUpdateFocusedRow);\r\n this.getView(\"rowsView\").scrollTopPosition(offset)\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n },\r\n _triggerUpdateFocusedRow(key, deferred) {\r\n var dataController = this.getController(\"data\");\r\n var focusedRowIndex = this.getFocusedRowIndexByKey(key);\r\n if (this._isValidFocusedRowIndex(focusedRowIndex)) {\r\n var d;\r\n if (this.option(\"focusedRowEnabled\")) {\r\n dataController.updateItems({\r\n changeType: \"updateFocusedRow\",\r\n focusedRowKey: key\r\n })\r\n } else {\r\n d = this.getView(\"rowsView\").scrollToRowElement(key)\r\n }\r\n when(d).done(() => {\r\n this.getController(\"keyboardNavigation\").setFocusedRowIndex(focusedRowIndex);\r\n deferred && deferred.resolve(focusedRowIndex)\r\n })\r\n } else {\r\n deferred && deferred.resolve(-1)\r\n }\r\n },\r\n getFocusedRowIndexByKey(key) {\r\n var dataController = this.getController(\"data\");\r\n var loadedRowIndex = dataController.getRowIndexByKey(key, true);\r\n return loadedRowIndex >= 0 ? loadedRowIndex + dataController.getRowIndexOffset(true) : -1\r\n },\r\n _focusRowByKeyOrIndex() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var currentFocusedRowIndex = this.option(\"focusedRowIndex\");\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var dataController = this.getController(\"data\");\r\n if (isDefined(focusedRowKey)) {\r\n var visibleRowIndex = dataController.getRowIndexByKey(focusedRowKey);\r\n if (visibleRowIndex >= 0) {\r\n if (keyboardController._isVirtualScrolling()) {\r\n currentFocusedRowIndex = visibleRowIndex + dataController.getRowIndexOffset()\r\n }\r\n keyboardController.setFocusedRowIndex(currentFocusedRowIndex);\r\n this._triggerUpdateFocusedRow(focusedRowKey)\r\n } else {\r\n this._navigateToRow(focusedRowKey, true).done(focusedRowIndex => {\r\n if (currentFocusedRowIndex >= 0 && focusedRowIndex < 0) {\r\n this._focusRowByIndex()\r\n } else if (currentFocusedRowIndex < 0 && focusedRowIndex >= 0) {\r\n keyboardController.setFocusedRowIndex(focusedRowIndex)\r\n }\r\n })\r\n }\r\n } else if (currentFocusedRowIndex >= 0) {\r\n this.getController(\"focus\")._focusRowByIndex(currentFocusedRowIndex)\r\n }\r\n },\r\n isRowFocused(key) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n if (isDefined(focusedRowKey)) {\r\n return equalByValue(key, this.option(\"focusedRowKey\"))\r\n }\r\n return\r\n },\r\n updateFocusedRow(_ref) {\r\n var {\r\n focusedRowKey: focusedRowKey\r\n } = _ref;\r\n var that = this;\r\n var focusedRowIndex = that._dataController.getRowIndexByKey(focusedRowKey);\r\n var rowsView = that.getView(\"rowsView\");\r\n var $tableElement;\r\n var $mainRow;\r\n each(rowsView.getTableElements(), (index, element) => {\r\n var isMainTable = 0 === index;\r\n $tableElement = $(element);\r\n that._clearPreviousFocusedRow($tableElement, focusedRowIndex);\r\n var $row = that._prepareFocusedRow({\r\n changedItem: that._dataController.getVisibleRows()[focusedRowIndex],\r\n $tableElement: $tableElement,\r\n focusedRowIndex: focusedRowIndex\r\n });\r\n if (isMainTable) {\r\n $mainRow = $row\r\n }\r\n });\r\n $mainRow && rowsView.scrollToElementVertically($mainRow)\r\n },\r\n _clearPreviousFocusedRow($tableElement, focusedRowIndex) {\r\n var $prevRowFocusedElement = $tableElement.find(FOCUSED_ROW_SELECTOR).filter((_, focusedRow) => {\r\n var $focusedRowTable = $(focusedRow).closest(\".\".concat(this.addWidgetPrefix(TABLE_POSTFIX_CLASS)));\r\n return $tableElement.is($focusedRowTable)\r\n });\r\n $prevRowFocusedElement.removeClass(ROW_FOCUSED_CLASS).removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabindex\");\r\n $prevRowFocusedElement.children(\"td\").removeAttr(\"tabindex\");\r\n if (0 !== focusedRowIndex) {\r\n var $firstRow = $(this.getView(\"rowsView\").getRowElement(0));\r\n $firstRow.removeClass(CELL_FOCUS_DISABLED_CLASS).removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _prepareFocusedRow(options) {\r\n var $row;\r\n var {\r\n changedItem: changedItem\r\n } = options;\r\n if (changedItem && (\"data\" === changedItem.rowType || \"group\" === changedItem.rowType)) {\r\n var {\r\n focusedRowIndex: focusedRowIndex\r\n } = options;\r\n var {\r\n $tableElement: $tableElement\r\n } = options;\r\n var tabIndex = this.option(\"tabindex\") || 0;\r\n var rowsView = this.getView(\"rowsView\");\r\n $row = $(rowsView._getRowElements($tableElement).eq(focusedRowIndex));\r\n $row.addClass(ROW_FOCUSED_CLASS).attr(\"tabindex\", tabIndex)\r\n }\r\n return $row\r\n }\r\n };\r\n return members\r\n}());\r\nexport var focusModule = {\r\n defaultOptions: () => ({\r\n focusedRowEnabled: false,\r\n autoNavigateToFocusedRow: true,\r\n focusedRowKey: null,\r\n focusedRowIndex: -1,\r\n focusedColumnIndex: -1\r\n }),\r\n controllers: {\r\n focus: FocusController\r\n },\r\n extenders: {\r\n controllers: {\r\n keyboardNavigation: {\r\n init() {\r\n var rowIndex = this.option(\"focusedRowIndex\");\r\n var columnIndex = this.option(\"focusedColumnIndex\");\r\n this.createAction(\"onFocusedRowChanging\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedRowChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedCellChanging\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.createAction(\"onFocusedCellChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this.callBase();\r\n this.setRowFocusType();\r\n this._focusedCellPosition = {};\r\n if (isDefined(rowIndex) && rowIndex >= 0) {\r\n this._focusedCellPosition.rowIndex = rowIndex\r\n }\r\n if (isDefined(columnIndex) && columnIndex >= 0) {\r\n this._focusedCellPosition.columnIndex = columnIndex\r\n }\r\n },\r\n setFocusedRowIndex(rowIndex) {\r\n this.callBase(rowIndex);\r\n this.option(\"focusedRowIndex\", rowIndex)\r\n },\r\n setFocusedColumnIndex(columnIndex) {\r\n this.callBase(columnIndex);\r\n this.option(\"focusedColumnIndex\", columnIndex)\r\n },\r\n _escapeKeyHandler(eventArgs, isEditing) {\r\n if (isEditing || !this.option(\"focusedRowEnabled\")) {\r\n this.callBase(eventArgs, isEditing);\r\n return\r\n }\r\n if (this.isCellFocusType()) {\r\n this.setRowFocusType();\r\n this._focus(this._getCellElementFromTarget(eventArgs.originalEvent.target), true)\r\n }\r\n },\r\n _updateFocusedCellPosition($cell, direction) {\r\n var position = this.callBase($cell, direction);\r\n if (position && position.columnIndex >= 0) {\r\n this._fireFocusedCellChanged($cell)\r\n }\r\n }\r\n },\r\n editorFactory: {\r\n renderFocusOverlay($element, isHideBorder) {\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var focusedRowEnabled = this.option(\"focusedRowEnabled\");\r\n var editingController = this.getController(\"editing\");\r\n var $cell;\r\n if (!focusedRowEnabled || !(null === keyboardController || void 0 === keyboardController ? void 0 : keyboardController.isRowFocusType()) || editingController.isEditing()) {\r\n this.callBase($element, isHideBorder)\r\n } else if (focusedRowEnabled) {\r\n var isRowElement = \"row\" === keyboardController._getElementType($element);\r\n if (isRowElement && !$element.hasClass(ROW_FOCUSED_CLASS)) {\r\n $cell = keyboardController.getFirstValidCellInRow($element);\r\n keyboardController.focus($cell)\r\n }\r\n }\r\n }\r\n },\r\n columns: {\r\n getSortDataSourceParameters(_, sortByKey) {\r\n var result = this.callBase.apply(this, arguments);\r\n var dataController = this.getController(\"data\");\r\n var dataSource = dataController._dataSource;\r\n var store = dataController.store();\r\n var key = store && store.key();\r\n var remoteOperations = dataSource && dataSource.remoteOperations() || {};\r\n var isLocalOperations = Object.keys(remoteOperations).every(operationName => !remoteOperations[operationName]);\r\n if (key && (this.option(\"focusedRowEnabled\") && false !== this.getController(\"focus\").isAutoNavigateToFocusedRow() || sortByKey)) {\r\n key = Array.isArray(key) ? key : [key];\r\n var notSortedKeys = key.filter(key => !this.columnOption(key, \"sortOrder\"));\r\n if (notSortedKeys.length) {\r\n result = result || [];\r\n if (isLocalOperations) {\r\n result.push({\r\n selector: dataSource.getDataIndexGetter(),\r\n desc: false\r\n })\r\n } else {\r\n notSortedKeys.forEach(notSortedKey => result.push({\r\n selector: notSortedKey,\r\n desc: false\r\n }))\r\n }\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n data: {\r\n _applyChange(change) {\r\n if (change && \"updateFocusedRow\" === change.changeType) {\r\n return\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireChanged(e) {\r\n this.callBase(e);\r\n if (this.option(\"focusedRowEnabled\") && this._dataSource) {\r\n var isPartialUpdate = \"update\" === e.changeType && e.repaintChangesOnly;\r\n var isPartialUpdateWithDeleting = isPartialUpdate && e.changeTypes && e.changeTypes.indexOf(\"remove\") >= 0;\r\n if (\"refresh\" === e.changeType && e.items.length || isPartialUpdateWithDeleting) {\r\n this._updatePageIndexes();\r\n this._updateFocusedRow(e)\r\n } else if (\"append\" === e.changeType || \"prepend\" === e.changeType) {\r\n this._updatePageIndexes()\r\n } else if (\"update\" === e.changeType && e.repaintChangesOnly) {\r\n this._updateFocusedRow(e)\r\n }\r\n }\r\n },\r\n _updatePageIndexes() {\r\n var prevRenderingPageIndex = this._lastRenderingPageIndex || 0;\r\n var renderingPageIndex = this._rowsScrollController ? this._rowsScrollController.pageIndex() : 0;\r\n this._lastRenderingPageIndex = renderingPageIndex;\r\n this._isPagingByRendering = renderingPageIndex !== prevRenderingPageIndex\r\n },\r\n isPagingByRendering() {\r\n return this._isPagingByRendering\r\n },\r\n _updateFocusedRow(e) {\r\n var operationTypes = e.operationTypes || {};\r\n var focusController = this.getController(\"focus\");\r\n var {\r\n reload: reload,\r\n fullReload: fullReload,\r\n pageIndex: pageIndex,\r\n paging: paging\r\n } = operationTypes;\r\n var keyboardController = this.getController(\"keyboardNavigation\");\r\n var isVirtualScrolling = keyboardController._isVirtualScrolling();\r\n var pagingWithoutVirtualScrolling = paging && !isVirtualScrolling;\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var isAutoNavigate = focusController.isAutoNavigateToFocusedRow();\r\n var isReload = reload && false === pageIndex;\r\n if (isReload && !fullReload && isDefined(focusedRowKey)) {\r\n focusController._navigateToRow(focusedRowKey, true).done(focusedRowIndex => {\r\n if (focusedRowIndex < 0) {\r\n focusController._focusRowByIndex(void 0, operationTypes)\r\n }\r\n })\r\n } else if (pagingWithoutVirtualScrolling && isAutoNavigate) {\r\n var rowIndexByKey = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRowIndex = this.option(\"focusedRowIndex\");\r\n var isValidRowIndexByKey = rowIndexByKey >= 0;\r\n var isValidFocusedRowIndex = focusedRowIndex >= 0;\r\n var isSameRowIndex = focusedRowIndex === rowIndexByKey;\r\n if (isValidFocusedRowIndex && (isSameRowIndex || !isValidRowIndexByKey)) {\r\n focusController._focusRowByIndex(focusedRowIndex, operationTypes)\r\n }\r\n } else if (pagingWithoutVirtualScrolling && !isAutoNavigate && this.getRowIndexByKey(focusedRowKey) < 0) {\r\n this.option(\"focusedRowIndex\", -1)\r\n } else if (operationTypes.fullReload) {\r\n focusController._focusRowByKeyOrIndex()\r\n }\r\n },\r\n getPageIndexByKey(key) {\r\n var that = this;\r\n var d = new Deferred;\r\n that.getGlobalRowIndexByKey(key).done(globalIndex => {\r\n d.resolve(globalIndex >= 0 ? Math.floor(globalIndex / that.pageSize()) : -1)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n getGlobalRowIndexByKey(key) {\r\n if (this._dataSource.group()) {\r\n return this._calculateGlobalRowIndexByGroupedData(key)\r\n }\r\n return this._calculateGlobalRowIndexByFlatData(key)\r\n },\r\n _calculateGlobalRowIndexByFlatData(key, groupFilter, useGroup) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n var dataSource = that._dataSource;\r\n if (Array.isArray(key)) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n var filter = that._generateFilterByKey(key);\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter),\r\n skip: 0,\r\n take: 1\r\n }).done(data => {\r\n if (data.length > 0) {\r\n filter = that._generateOperationFilterByKey(key, data[0], useGroup);\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter, groupFilter),\r\n skip: 0,\r\n take: 1,\r\n requireTotalCount: true\r\n }).done((_, extra) => {\r\n deferred.resolve(extra.totalCount)\r\n })\r\n } else {\r\n deferred.resolve(-1)\r\n }\r\n });\r\n return deferred.promise()\r\n },\r\n _concatWithCombinedFilter(filter, groupFilter) {\r\n var combinedFilter = this.getCombinedFilter();\r\n return gridCoreUtils.combineFilters([filter, combinedFilter, groupFilter])\r\n },\r\n _generateBooleanFilter(selector, value, sortInfo) {\r\n var {\r\n desc: desc\r\n } = sortInfo;\r\n switch (true) {\r\n case false === value && desc:\r\n return [selector, \"=\", true];\r\n case false === value && !desc:\r\n return [selector, \"=\", null];\r\n case true === value && !desc:\r\n case !isBoolean(value) && desc:\r\n return [selector, \"<>\", value];\r\n default:\r\n return\r\n }\r\n },\r\n _generateOperationFilterByKey(key, rowData, useGroup) {\r\n var that = this;\r\n var dateSerializationFormat = that.option(\"dateSerializationFormat\");\r\n var isRemoteFiltering = that._dataSource.remoteOperations().filtering;\r\n var filter = that._generateFilterByKey(key, \"<\");\r\n var sort = that._columnsController.getSortDataSourceParameters(!isRemoteFiltering, true);\r\n if (useGroup) {\r\n var group = that._columnsController.getGroupDataSourceParameters(!isRemoteFiltering);\r\n if (group) {\r\n sort = sort ? group.concat(sort) : group\r\n }\r\n }\r\n if (sort) {\r\n sort.slice().reverse().forEach(sortInfo => {\r\n var {\r\n selector: selector,\r\n desc: desc,\r\n compare: compare\r\n } = sortInfo;\r\n var {\r\n getter: getter,\r\n rawValue: rawValue,\r\n safeValue: safeValue\r\n } = UiGridCoreFocusUtils.getSortFilterValue(sortInfo, rowData, {\r\n isRemoteFiltering: isRemoteFiltering,\r\n dateSerializationFormat: dateSerializationFormat,\r\n getSelector: selector => that._columnsController.columnOption(selector, \"selector\")\r\n });\r\n filter = [\r\n [selector, \"=\", safeValue], \"and\", filter\r\n ];\r\n if (null === rawValue || isBoolean(rawValue)) {\r\n var booleanFilter = that._generateBooleanFilter(selector, safeValue, desc);\r\n if (booleanFilter) {\r\n filter = [booleanFilter, \"or\", filter]\r\n }\r\n } else {\r\n var filterOperation = desc ? \">\" : \"<\";\r\n var sortFilter;\r\n if (compare) {\r\n sortFilter = data => {\r\n if (\"<\" === filterOperation) {\r\n return compare(rawValue, getter(data)) >= 1\r\n }\r\n return compare(rawValue, getter(data)) <= -1\r\n }\r\n } else {\r\n sortFilter = [selector, filterOperation, safeValue];\r\n if (!desc) {\r\n sortFilter = [sortFilter, \"or\", [selector, \"=\", null]]\r\n }\r\n }\r\n filter = [sortFilter, \"or\", filter]\r\n }\r\n })\r\n }\r\n return filter\r\n },\r\n _generateFilterByKey(key, operation) {\r\n var dataSourceKey = this._dataSource.key();\r\n var filter = [];\r\n if (!operation) {\r\n operation = \"=\"\r\n }\r\n if (Array.isArray(dataSourceKey)) {\r\n for (var i = 0; i < dataSourceKey.length; ++i) {\r\n var keyPart = key[dataSourceKey[i]];\r\n if (keyPart) {\r\n if (filter.length > 0) {\r\n filter.push(\"and\")\r\n }\r\n filter.push([dataSourceKey[i], operation, keyPart])\r\n }\r\n }\r\n } else {\r\n filter = [dataSourceKey, operation, key]\r\n }\r\n return filter\r\n },\r\n _getLastItemIndex() {\r\n return this.items(true).length - 1\r\n }\r\n },\r\n editing: {\r\n _deleteRowCore(rowIndex) {\r\n var deferred = this.callBase.apply(this, arguments);\r\n var dataController = this.getController(\"data\");\r\n var rowKey = dataController.getKeyByRowIndex(rowIndex);\r\n deferred.done(() => {\r\n var rowIndex = dataController.getRowIndexByKey(rowKey);\r\n var visibleRows = dataController.getVisibleRows();\r\n if (-1 === rowIndex && !visibleRows.length) {\r\n this.getController(\"focus\")._resetFocusedRow()\r\n }\r\n })\r\n }\r\n }\r\n },\r\n views: {\r\n rowsView: {\r\n _createRow(row) {\r\n var $row = this.callBase.apply(this, arguments);\r\n if (this.option(\"focusedRowEnabled\") && row) {\r\n if (this.getController(\"focus\").isRowFocused(row.key)) {\r\n $row.addClass(ROW_FOCUSED_CLASS)\r\n }\r\n }\r\n return $row\r\n },\r\n _checkRowKeys(options) {\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"focusedRowEnabled\") && this.option(\"dataSource\")) {\r\n var store = this._dataController.store();\r\n if (store && !store.key()) {\r\n this._dataController.fireError(\"E1042\", \"Row focusing\")\r\n }\r\n }\r\n },\r\n _update(change) {\r\n if (\"updateFocusedRow\" === change.changeType) {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this.getController(\"focus\").updateFocusedRow(change)\r\n }\r\n } else {\r\n this.callBase(change)\r\n }\r\n },\r\n updateFocusElementTabIndex($cellElements, preventScroll) {\r\n if (this.option(\"focusedRowEnabled\")) {\r\n this._setFocusedRowElementTabIndex(preventScroll)\r\n } else {\r\n this.callBase($cellElements)\r\n }\r\n },\r\n _setFocusedRowElementTabIndex(preventScroll) {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var tabIndex = this.option(\"tabIndex\") || 0;\r\n var dataController = this._dataController;\r\n var columnsController = this._columnsController;\r\n var rowIndex = dataController.getRowIndexByKey(focusedRowKey);\r\n var columnIndex = this.option(\"focusedColumnIndex\");\r\n var $row = this._findRowElementForTabIndex();\r\n if (!isDefined(this._scrollToFocusOnResize)) {\r\n this._scrollToFocusOnResize = () => {\r\n this.scrollToElementVertically(this._findRowElementForTabIndex());\r\n this.resizeCompleted.remove(this._scrollToFocusOnResize)\r\n }\r\n }\r\n $row.attr(\"tabIndex\", tabIndex);\r\n if (rowIndex >= 0 && !preventScroll) {\r\n if (columnIndex < 0) {\r\n columnIndex = 0\r\n }\r\n rowIndex += dataController.getRowIndexOffset();\r\n columnIndex += columnsController.getColumnIndexOffset();\r\n this.getController(\"keyboardNavigation\").setFocusedCellPosition(rowIndex, columnIndex);\r\n if (this.getController(\"focus\").isAutoNavigateToFocusedRow()) {\r\n var dataSource = dataController.dataSource();\r\n var operationTypes = dataSource && dataSource.operationTypes();\r\n if (operationTypes && !operationTypes.paging && !dataController.isPagingByRendering()) {\r\n this.resizeCompleted.remove(this._scrollToFocusOnResize);\r\n this.resizeCompleted.add(this._scrollToFocusOnResize)\r\n }\r\n }\r\n }\r\n },\r\n _findRowElementForTabIndex() {\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this._dataController.getRowIndexByKey(focusedRowKey);\r\n return $(this.getRowElement(rowIndex >= 0 ? rowIndex : 0))\r\n },\r\n scrollToRowElement(key) {\r\n var rowIndex = this.getController(\"data\").getRowIndexByKey(key);\r\n var $row = $(this.getRow(rowIndex));\r\n return this.scrollToElementVertically($row)\r\n },\r\n scrollToElementVertically($row) {\r\n var scrollable = this.getScrollable();\r\n if (scrollable && $row.length) {\r\n var position = scrollable.getScrollElementPosition($row, \"vertical\");\r\n return this.scrollTopPosition(position)\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n scrollTopPosition(scrollTop) {\r\n var d = new Deferred;\r\n var scrollable = this.getScrollable();\r\n if (scrollable) {\r\n var currentScrollTop = scrollable.scrollTop();\r\n var scrollHandler = () => {\r\n scrollable.off(\"scroll\", scrollHandler);\r\n d.resolve()\r\n };\r\n if (scrollTop !== currentScrollTop) {\r\n scrollable.on(\"scroll\", scrollHandler);\r\n this._dataController.resetFilterApplying();\r\n scrollable.scrollTo({\r\n top: scrollTop\r\n });\r\n return d.promise()\r\n }\r\n }\r\n return d.resolve()\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/focus/m_focus.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n equalByValue\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n compileGetter\r\n} from \"../../../../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../../../../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../../../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n focusModule\r\n} from \"../../../grids/grid_core/focus/m_focus\";\r\nimport gridCore from \"../m_core\";\r\nimport {\r\n createGroupFilter\r\n} from \"../m_utils\";\r\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\ngridCore.registerModule(\"focus\", extend(true, {}, focusModule, {\r\n extenders: {\r\n controllers: {\r\n data: Base => class extends(Base.inherit(focusModule.extenders.controllers.data)) {\r\n changeRowExpand(path, isRowClick) {\r\n if (this.option(\"focusedRowEnabled\") && Array.isArray(path) && this.isRowExpanded(path)) {\r\n var keyboardNavigation = this.getController(\"keyboardNavigation\");\r\n if ((!isRowClick || !keyboardNavigation.isKeyboardEnabled()) && this._isFocusedRowInsideGroup(path)) {\r\n this.option(\"focusedRowKey\", path)\r\n }\r\n }\r\n return super.changeRowExpand(path, isRowClick)\r\n }\r\n _isFocusedRowInsideGroup(path) {\r\n var columnsController = this.getController(\"columns\");\r\n var focusedRowKey = this.option(\"focusedRowKey\");\r\n var rowIndex = this.getRowIndexByKey(focusedRowKey);\r\n var focusedRow = rowIndex >= 0 && this.getVisibleRows()[rowIndex];\r\n var groups = columnsController.getGroupDataSourceParameters(true);\r\n if (focusedRow) {\r\n for (var i = 0; i < path.length; ++i) {\r\n var getter = compileGetter(groups[i] && groups[i].selector);\r\n if (getter(focusedRow.data) !== path[i]) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _getGroupPath(groupItem, groupCount) {\r\n var groupPath = [];\r\n var items = [groupItem];\r\n while (items && items[0] && groupCount) {\r\n var item = items[0];\r\n if (void 0 !== item.key) {\r\n groupPath.push(item.key)\r\n }\r\n items = item.items;\r\n groupCount--\r\n }\r\n return groupPath\r\n }\r\n _expandGroupByPath(that, groupPath, level) {\r\n var d = new Deferred;\r\n level++;\r\n that.expandRow(groupPath.slice(0, level)).done(() => {\r\n if (level === groupPath.length) {\r\n d.resolve()\r\n } else {\r\n that._expandGroupByPath(that, groupPath, level).done(d.resolve).fail(d.reject)\r\n }\r\n }).fail(d.reject);\r\n return d.promise()\r\n }\r\n _calculateGlobalRowIndexByGroupedData(key) {\r\n var that = this;\r\n var dataSource = that._dataSource;\r\n var filter = that._generateFilterByKey(key);\r\n var deferred = new Deferred;\r\n var isGroupKey = Array.isArray(key);\r\n var group = dataSource.group();\r\n if (isGroupKey) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n if (!dataSource._grouping._updatePagingOptions) {\r\n that._calculateGlobalRowIndexByFlatData(key, null, true).done(deferred.resolve).fail(deferred.reject);\r\n return deferred\r\n }\r\n dataSource.load({\r\n filter: that._concatWithCombinedFilter(filter),\r\n group: group\r\n }).done(data => {\r\n if (!data || 0 === data.length || !isDefined(data[0].key) || -1 === data[0].key) {\r\n return deferred.resolve(-1).promise()\r\n }\r\n var groupPath = that._getGroupPath(data[0], group.length);\r\n that._expandGroupByPath(that, groupPath, 0).done(() => {\r\n that._calculateExpandedRowGlobalIndex(deferred, key, groupPath, group)\r\n }).fail(deferred.reject)\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n }\r\n _calculateExpandedRowGlobalIndex(deferred, key, groupPath, group) {\r\n var groupFilter = createGroupFilter(groupPath, {\r\n group: group\r\n });\r\n var dataSource = this._dataSource;\r\n var scrollingMode = this.option(\"scrolling.mode\");\r\n var isVirtualScrolling = \"virtual\" === scrollingMode || \"infinite\" === scrollingMode;\r\n var pageSize = dataSource.pageSize();\r\n var groupOffset;\r\n dataSource._grouping._updatePagingOptions({\r\n skip: 0,\r\n take: MAX_SAFE_INTEGER\r\n }, (groupInfo, totalOffset) => {\r\n if (equalByValue(groupInfo.path, groupPath)) {\r\n groupOffset = totalOffset\r\n }\r\n });\r\n this._calculateGlobalRowIndexByFlatData(key, groupFilter).done(dataOffset => {\r\n var count;\r\n var groupContinuationCount;\r\n if (dataOffset < 0) {\r\n deferred.resolve(-1);\r\n return\r\n }\r\n var currentPageOffset = groupOffset % pageSize || pageSize;\r\n count = currentPageOffset + dataOffset - groupPath.length;\r\n if (isVirtualScrolling) {\r\n groupContinuationCount = 0\r\n } else {\r\n groupContinuationCount = Math.floor(count / (pageSize - groupPath.length)) * groupPath.length\r\n }\r\n count = groupOffset + dataOffset + groupContinuationCount;\r\n deferred.resolve(count)\r\n }).fail(deferred.reject)\r\n }\r\n }\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/__internal/m_draggable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport positionUtils from \"../animation/position\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../core/templates/empty_template\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../core/utils/common\";\r\nimport {\r\n Deferred,\r\n fromPromise,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n dasherize\r\n} from \"../core/utils/inflector\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport {\r\n quadToObject\r\n} from \"../core/utils/string\";\r\nimport {\r\n isFunction,\r\n isNumeric,\r\n isObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n value as viewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n end as dragEventEnd,\r\n enter as dragEventEnter,\r\n leave as dragEventLeave,\r\n move as dragEventMove,\r\n start as dragEventStart\r\n} from \"../events/drag\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n addNamespace,\r\n needSkipEvent\r\n} from \"../events/utils/index\";\r\nimport Animator from \"../ui/scroll_view/animator\";\r\nvar window = getWindow();\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar DRAGGABLE = \"dxDraggable\";\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventStart, DRAGGABLE);\r\nvar DRAG_EVENT_NAME = addNamespace(dragEventMove, DRAGGABLE);\r\nvar DRAGEND_EVENT_NAME = addNamespace(dragEventEnd, DRAGGABLE);\r\nvar DRAG_ENTER_EVENT_NAME = addNamespace(dragEventEnter, DRAGGABLE);\r\nvar DRAGEND_LEAVE_EVENT_NAME = addNamespace(dragEventLeave, DRAGGABLE);\r\nvar POINTERDOWN_EVENT_NAME = addNamespace(pointerEvents.down, DRAGGABLE);\r\nvar KEYDOWN_EVENT_NAME = addNamespace(KEYDOWN_EVENT, DRAGGABLE);\r\nvar CLONE_CLASS = \"clone\";\r\nvar targetDraggable;\r\nvar sourceDraggable;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar getMousePosition = event => ({\r\n x: event.pageX - $(window).scrollLeft(),\r\n y: event.pageY - $(window).scrollTop()\r\n});\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nclass ScrollHelper {\r\n constructor(orientation, component) {\r\n this._$scrollableAtPointer = null;\r\n this._preventScroll = true;\r\n this._component = component;\r\n if (\"vertical\" === orientation) {\r\n this._scrollValue = \"scrollTop\";\r\n this._overFlowAttr = \"overflowY\";\r\n this._sizeAttr = \"height\";\r\n this._scrollSizeProp = \"scrollHeight\";\r\n this._clientSizeProp = \"clientHeight\";\r\n this._limitProps = {\r\n start: \"top\",\r\n end: \"bottom\"\r\n }\r\n } else {\r\n this._scrollValue = \"scrollLeft\";\r\n this._overFlowAttr = \"overflowX\";\r\n this._sizeAttr = \"width\";\r\n this._scrollSizeProp = \"scrollWidth\";\r\n this._clientSizeProp = \"clientWidth\";\r\n this._limitProps = {\r\n start: \"left\",\r\n end: \"right\"\r\n }\r\n }\r\n }\r\n updateScrollable(elements, mousePosition) {\r\n var isScrollableFound = false;\r\n elements.some(element => {\r\n var $element = $(element);\r\n var isTargetOverOverlayWrapper = $element.hasClass(OVERLAY_WRAPPER_CLASS);\r\n var isTargetOverOverlayContent = $element.hasClass(OVERLAY_CONTENT_CLASS);\r\n if (isTargetOverOverlayWrapper || isTargetOverOverlayContent) {\r\n return true\r\n }\r\n isScrollableFound = this._trySetScrollable(element, mousePosition);\r\n return isScrollableFound\r\n });\r\n if (!isScrollableFound) {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0\r\n }\r\n }\r\n isScrolling() {\r\n return !!this._scrollSpeed\r\n }\r\n isScrollable($element) {\r\n return (\"auto\" === $element.css(this._overFlowAttr) || $element.hasClass(\"dx-scrollable-container\")) && $element.prop(this._scrollSizeProp) > Math.ceil(\"width\" === this._sizeAttr ? getWidth($element) : getHeight($element))\r\n }\r\n _trySetScrollable(element, mousePosition) {\r\n var $element = $(element);\r\n var distanceToBorders;\r\n var sensitivity = this._component.option(\"scrollSensitivity\");\r\n var isScrollable = this.isScrollable($element);\r\n if (isScrollable) {\r\n distanceToBorders = this._calculateDistanceToBorders($element, mousePosition);\r\n if (sensitivity > distanceToBorders[this._limitProps.start]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = -this._calculateScrollSpeed(distanceToBorders[this._limitProps.start]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else if (sensitivity > distanceToBorders[this._limitProps.end]) {\r\n if (!this._preventScroll) {\r\n this._scrollSpeed = this._calculateScrollSpeed(distanceToBorders[this._limitProps.end]);\r\n this._$scrollableAtPointer = $element\r\n }\r\n } else {\r\n isScrollable = false;\r\n this._preventScroll = false\r\n }\r\n }\r\n return isScrollable\r\n }\r\n _calculateDistanceToBorders($area, mousePosition) {\r\n var area = $area.get(0);\r\n var areaBoundingRect;\r\n if (area) {\r\n areaBoundingRect = getBoundingRect(area);\r\n return {\r\n left: mousePosition.x - areaBoundingRect.left,\r\n top: mousePosition.y - areaBoundingRect.top,\r\n right: areaBoundingRect.right - mousePosition.x,\r\n bottom: areaBoundingRect.bottom - mousePosition.y\r\n }\r\n }\r\n return {}\r\n }\r\n _calculateScrollSpeed(distance) {\r\n var component = this._component;\r\n var sensitivity = component.option(\"scrollSensitivity\");\r\n var maxSpeed = component.option(\"scrollSpeed\");\r\n return Math.ceil(Math.pow((sensitivity - distance) / sensitivity, 2) * maxSpeed)\r\n }\r\n scrollByStep() {\r\n if (this._$scrollableAtPointer && this._scrollSpeed) {\r\n if (this._$scrollableAtPointer.hasClass(\"dx-scrollable-container\")) {\r\n var $scrollable = this._$scrollableAtPointer.closest(\".dx-scrollable\");\r\n var scrollableInstance = $scrollable.data(\"dxScrollable\") || $scrollable.data(\"dxScrollView\");\r\n if (scrollableInstance) {\r\n var nextScrollPosition = scrollableInstance.scrollOffset()[this._limitProps.start] + this._scrollSpeed;\r\n scrollableInstance.scrollTo({\r\n [this._limitProps.start]: nextScrollPosition\r\n })\r\n }\r\n } else {\r\n var _nextScrollPosition = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed;\r\n this._$scrollableAtPointer[this._scrollValue](_nextScrollPosition)\r\n }\r\n var dragMoveArgs = this._component._dragMoveArgs;\r\n if (dragMoveArgs) {\r\n this._component._dragMoveHandler(dragMoveArgs)\r\n }\r\n }\r\n }\r\n reset() {\r\n this._$scrollableAtPointer = null;\r\n this._scrollSpeed = 0;\r\n this._preventScroll = true\r\n }\r\n isOutsideScrollable($scrollable, event) {\r\n if (!$scrollable) {\r\n return false\r\n }\r\n var scrollableSize = getBoundingRect($scrollable.get(0));\r\n var start = scrollableSize[this._limitProps.start];\r\n var size = scrollableSize[this._sizeAttr];\r\n var mousePosition = getMousePosition(event);\r\n var location = \"width\" === this._sizeAttr ? mousePosition.x : mousePosition.y;\r\n return location < start || location > start + size\r\n }\r\n}\r\nvar ScrollAnimator = Animator.inherit({\r\n ctor(strategy) {\r\n this.callBase();\r\n this._strategy = strategy\r\n },\r\n _step() {\r\n var horizontalScrollHelper = this._strategy._horizontalScrollHelper;\r\n var verticalScrollHelper = this._strategy._verticalScrollHelper;\r\n horizontalScrollHelper && horizontalScrollHelper.scrollByStep();\r\n verticalScrollHelper && verticalScrollHelper.scrollByStep()\r\n }\r\n});\r\nvar Draggable = DOMComponent.inherit({\r\n reset: noop,\r\n dragMove: noop,\r\n dragEnter: noop,\r\n dragLeave: noop,\r\n dragEnd(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable._fireRemoveEvent(sourceEvent);\r\n return Deferred().resolve()\r\n },\r\n _fireRemoveEvent: noop,\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n onDragStart: null,\r\n onDragMove: null,\r\n onDragEnd: null,\r\n onDragEnter: null,\r\n onDragLeave: null,\r\n onDragCancel: null,\r\n onCancelByEsc: false,\r\n onDrop: null,\r\n immediate: true,\r\n dragDirection: \"both\",\r\n boundary: void 0,\r\n boundOffset: 0,\r\n allowMoveByClick: false,\r\n itemData: null,\r\n container: void 0,\r\n dragTemplate: void 0,\r\n contentTemplate: \"content\",\r\n handle: \"\",\r\n filter: \"\",\r\n clone: false,\r\n autoScroll: true,\r\n scrollSpeed: 30,\r\n scrollSensitivity: 60,\r\n group: void 0,\r\n data: void 0\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase.apply(this, arguments);\r\n extend(this._optionsByReference, {\r\n component: true,\r\n group: true,\r\n itemData: true,\r\n data: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._attachEventHandlers();\r\n this._scrollAnimator = new ScrollAnimator(this);\r\n this._horizontalScrollHelper = new ScrollHelper(\"horizontal\", this);\r\n this._verticalScrollHelper = new ScrollHelper(\"vertical\", this);\r\n this._initScrollTop = 0;\r\n this._initScrollLeft = 0\r\n },\r\n _normalizeCursorOffset(offset) {\r\n if (isObject(offset)) {\r\n offset = {\r\n h: offset.x,\r\n v: offset.y\r\n }\r\n }\r\n offset = splitPair(offset).map(value => parseFloat(value));\r\n return {\r\n left: offset[0],\r\n top: 1 === offset.length ? offset[0] : offset[1]\r\n }\r\n },\r\n _getNormalizedCursorOffset(offset, options) {\r\n if (isFunction(offset)) {\r\n offset = offset.call(this, options)\r\n }\r\n return this._normalizeCursorOffset(offset)\r\n },\r\n _calculateElementOffset(options) {\r\n var elementOffset;\r\n var dragElementOffset;\r\n var {\r\n event: event\r\n } = options;\r\n var $element = $(options.itemElement);\r\n var $dragElement = $(options.dragElement);\r\n var isCloned = this._dragElementIsCloned();\r\n var cursorOffset = this.option(\"cursorOffset\");\r\n var normalizedCursorOffset = {\r\n left: 0,\r\n top: 0\r\n };\r\n var currentLocate = this._initialLocate = locate($dragElement);\r\n if (isCloned || options.initialOffset || cursorOffset) {\r\n elementOffset = options.initialOffset || $element.offset();\r\n if (cursorOffset) {\r\n normalizedCursorOffset = this._getNormalizedCursorOffset(cursorOffset, options);\r\n if (isFinite(normalizedCursorOffset.left)) {\r\n elementOffset.left = event.pageX\r\n }\r\n if (isFinite(normalizedCursorOffset.top)) {\r\n elementOffset.top = event.pageY\r\n }\r\n }\r\n dragElementOffset = $dragElement.offset();\r\n elementOffset.top -= dragElementOffset.top + (normalizedCursorOffset.top || 0) - currentLocate.top;\r\n elementOffset.left -= dragElementOffset.left + (normalizedCursorOffset.left || 0) - currentLocate.left\r\n }\r\n return elementOffset\r\n },\r\n _initPosition(options) {\r\n var $dragElement = $(options.dragElement);\r\n var elementOffset = this._calculateElementOffset(options);\r\n if (elementOffset) {\r\n this._move(elementOffset, $dragElement)\r\n }\r\n this._startPosition = locate($dragElement)\r\n },\r\n _startAnimator() {\r\n if (!this._scrollAnimator.inProgress()) {\r\n this._scrollAnimator.start()\r\n }\r\n },\r\n _stopAnimator() {\r\n this._scrollAnimator.stop()\r\n },\r\n _addWidgetPrefix(className) {\r\n var componentName = this.NAME;\r\n return dasherize(componentName) + (className ? \"-\".concat(className) : \"\")\r\n },\r\n _getItemsSelector() {\r\n return this.option(\"filter\") || \"\"\r\n },\r\n _$content() {\r\n var $element = this.$element();\r\n var $wrapper = $element.children(\".dx-template-wrapper\");\r\n return $wrapper.length ? $wrapper : $element\r\n },\r\n _attachEventHandlers() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var $element = this._$content();\r\n var itemsSelector = this._getItemsSelector();\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n var data = {\r\n direction: this.option(\"dragDirection\"),\r\n immediate: this.option(\"immediate\"),\r\n checkDropTarget: ($target, event) => {\r\n var targetGroup = this.option(\"group\");\r\n var sourceGroup = this._getSourceDraggable().option(\"group\");\r\n var $scrollable = this._getScrollable($target);\r\n if (this._verticalScrollHelper.isOutsideScrollable($scrollable, event) || this._horizontalScrollHelper.isOutsideScrollable($scrollable, event)) {\r\n return false\r\n }\r\n return sourceGroup && sourceGroup === targetGroup\r\n }\r\n };\r\n if (allowMoveByClick) {\r\n $element = this._getArea();\r\n eventsEngine.on($element, POINTERDOWN_EVENT_NAME, data, this._pointerDownHandler.bind(this))\r\n }\r\n if (\">\" === itemsSelector[0]) {\r\n itemsSelector = itemsSelector.slice(1)\r\n }\r\n eventsEngine.on($element, DRAGSTART_EVENT_NAME, itemsSelector, data, this._dragStartHandler.bind(this));\r\n eventsEngine.on($element, DRAG_EVENT_NAME, data, this._dragMoveHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_EVENT_NAME, data, this._dragEndHandler.bind(this));\r\n eventsEngine.on($element, DRAG_ENTER_EVENT_NAME, data, this._dragEnterHandler.bind(this));\r\n eventsEngine.on($element, DRAGEND_LEAVE_EVENT_NAME, data, this._dragLeaveHandler.bind(this));\r\n if (this.option(\"onCancelByEsc\")) {\r\n eventsEngine.on($element, KEYDOWN_EVENT_NAME, this._keydownHandler.bind(this))\r\n }\r\n },\r\n _dragElementIsCloned() {\r\n return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix(CLONE_CLASS))\r\n },\r\n _getDragTemplateArgs($element, $container) {\r\n return {\r\n container: getPublicElement($container),\r\n model: {\r\n itemData: this.option(\"itemData\"),\r\n itemElement: getPublicElement($element)\r\n }\r\n }\r\n },\r\n _createDragElement($element) {\r\n var result = $element;\r\n var clone = this.option(\"clone\");\r\n var $container = this._getContainer();\r\n var template = this.option(\"dragTemplate\");\r\n if (template) {\r\n template = this._getTemplate(template);\r\n result = $(\"<div>\").appendTo($container);\r\n template.render(this._getDragTemplateArgs($element, result))\r\n } else if (clone) {\r\n result = $(\"<div>\").appendTo($container);\r\n $element.clone().css({\r\n width: $element.css(\"width\"),\r\n height: $element.css(\"height\")\r\n }).appendTo(result)\r\n }\r\n return result.toggleClass(this._addWidgetPrefix(CLONE_CLASS), result.get(0) !== $element.get(0)).toggleClass(\"dx-rtl\", this.option(\"rtlEnabled\"))\r\n },\r\n _resetDragElement() {\r\n if (this._dragElementIsCloned()) {\r\n this._$dragElement.remove()\r\n } else {\r\n this._toggleDraggingClass(false)\r\n }\r\n this._$dragElement = null\r\n },\r\n _resetSourceElement() {\r\n this._toggleDragSourceClass(false);\r\n this._$sourceElement = null\r\n },\r\n _detachEventHandlers() {\r\n eventsEngine.off(this._$content(), \".\".concat(DRAGGABLE));\r\n eventsEngine.off(this._getArea(), \".\".concat(DRAGGABLE))\r\n },\r\n _move(position, $element) {\r\n move($element || this._$dragElement, position)\r\n },\r\n _getDraggableElement(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if ($sourceElement) {\r\n return $sourceElement\r\n }\r\n var allowMoveByClick = this.option(\"allowMoveByClick\");\r\n if (allowMoveByClick) {\r\n return this.$element()\r\n }\r\n var $target = $(e && e.target);\r\n var itemsSelector = this._getItemsSelector();\r\n if (\">\" === itemsSelector[0]) {\r\n var $items = this._$content().find(itemsSelector);\r\n if (!$items.is($target)) {\r\n $target = $target.closest($items)\r\n }\r\n }\r\n return $target\r\n },\r\n _getSourceElement() {\r\n var draggable = this._getSourceDraggable();\r\n return draggable._$sourceElement\r\n },\r\n _pointerDownHandler(e) {\r\n if (needSkipEvent(e)) {\r\n return\r\n }\r\n var position = {};\r\n var $element = this.$element();\r\n var dragDirection = this.option(\"dragDirection\");\r\n if (\"horizontal\" === dragDirection || \"both\" === dragDirection) {\r\n position.left = e.pageX - $element.offset().left + locate($element).left - getWidth($element) / 2\r\n }\r\n if (\"vertical\" === dragDirection || \"both\" === dragDirection) {\r\n position.top = e.pageY - $element.offset().top + locate($element).top - getHeight($element) / 2\r\n }\r\n this._move(position, $element);\r\n this._getAction(\"onDragMove\")(this._getEventArgs(e))\r\n },\r\n _isValidElement(event, $element) {\r\n var handle = this.option(\"handle\");\r\n var $target = $(event.originalEvent && event.originalEvent.target);\r\n if (handle && !$target.closest(handle).length) {\r\n return false\r\n }\r\n if (!$element.length) {\r\n return false\r\n }\r\n return !$element.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n },\r\n _dragStartHandler(e) {\r\n var $element = this._getDraggableElement(e);\r\n this.dragInProgress = true;\r\n if (!this._isValidElement(e, $element)) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._$sourceElement) {\r\n return\r\n }\r\n var dragStartArgs = this._getDragStartArgs(e, $element);\r\n this._getAction(\"onDragStart\")(dragStartArgs);\r\n if (dragStartArgs.cancel) {\r\n e.cancel = true;\r\n return\r\n }\r\n this.option(\"itemData\", dragStartArgs.itemData);\r\n this._setSourceDraggable();\r\n this._$sourceElement = $element;\r\n var initialOffset = $element.offset();\r\n if (!this._hasClonedDraggable() && this.option(\"autoScroll\")) {\r\n this._initScrollTop = this._getScrollableScrollTop();\r\n this._initScrollLeft = this._getScrollableScrollLeft();\r\n initialOffset = this._getDraggableElementOffset(initialOffset.left, initialOffset.top)\r\n }\r\n var $dragElement = this._$dragElement = this._createDragElement($element);\r\n this._toggleDraggingClass(true);\r\n this._toggleDragSourceClass(true);\r\n this._setGestureCoverCursor($dragElement.children());\r\n var isFixedPosition = \"fixed\" === $dragElement.css(\"position\");\r\n this._initPosition(extend({}, dragStartArgs, {\r\n dragElement: $dragElement.get(0),\r\n initialOffset: isFixedPosition && initialOffset\r\n }));\r\n this._getAction(\"onDraggableElementShown\")(_extends(_extends({}, dragStartArgs), {\r\n dragElement: $dragElement\r\n }));\r\n var $area = this._getArea();\r\n var areaOffset = this._getAreaOffset($area);\r\n var boundOffset = this._getBoundOffset();\r\n var areaWidth = getOuterWidth($area);\r\n var areaHeight = getOuterHeight($area);\r\n var elementWidth = getWidth($dragElement);\r\n var elementHeight = getHeight($dragElement);\r\n var startOffset_left = $dragElement.offset().left - areaOffset.left,\r\n startOffset_top = $dragElement.offset().top - areaOffset.top;\r\n if ($area.length) {\r\n e.maxLeftOffset = startOffset_left - boundOffset.left;\r\n e.maxRightOffset = areaWidth - startOffset_left - elementWidth - boundOffset.right;\r\n e.maxTopOffset = startOffset_top - boundOffset.top;\r\n e.maxBottomOffset = areaHeight - startOffset_top - elementHeight - boundOffset.bottom\r\n }\r\n if (this.option(\"autoScroll\")) {\r\n this._startAnimator()\r\n }\r\n },\r\n _getAreaOffset($area) {\r\n var offset = $area && positionUtils.offset($area);\r\n return offset || {\r\n left: 0,\r\n top: 0\r\n }\r\n },\r\n _toggleDraggingClass(value) {\r\n this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix(\"dragging\"), value)\r\n },\r\n _toggleDragSourceClass(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source\"), value)\r\n },\r\n _setGestureCoverCursor($element) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", $element.css(\"cursor\"))\r\n },\r\n _getBoundOffset() {\r\n var boundOffset = this.option(\"boundOffset\");\r\n if (isFunction(boundOffset)) {\r\n boundOffset = boundOffset.call(this)\r\n }\r\n return quadToObject(boundOffset)\r\n },\r\n _getArea() {\r\n var area = this.option(\"boundary\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n return $(area)\r\n },\r\n _getContainer() {\r\n var container = this.option(\"container\");\r\n if (void 0 === container) {\r\n container = viewPort()\r\n }\r\n return $(container)\r\n },\r\n _getDraggableElementOffset(initialOffsetX, initialOffsetY) {\r\n var _a, _b, _c, _d;\r\n var initScrollTop = this._initScrollTop;\r\n var initScrollLeft = this._initScrollLeft;\r\n var scrollTop = this._getScrollableScrollTop();\r\n var scrollLeft = this._getScrollableScrollLeft();\r\n var elementPosition = $(this.element()).css(\"position\");\r\n var isFixedPosition = \"fixed\" === elementPosition;\r\n var result = {\r\n left: (null !== (_b = null === (_a = this._startPosition) || void 0 === _a ? void 0 : _a.left) && void 0 !== _b ? _b : 0) + initialOffsetX,\r\n top: (null !== (_d = null === (_c = this._startPosition) || void 0 === _c ? void 0 : _c.top) && void 0 !== _d ? _d : 0) + initialOffsetY\r\n };\r\n if (isFixedPosition || this._hasClonedDraggable()) {\r\n return result\r\n }\r\n return {\r\n left: isNumeric(scrollLeft) ? result.left + scrollLeft - initScrollLeft : result.left,\r\n top: isNumeric(scrollTop) ? result.top + scrollTop - initScrollTop : result.top\r\n }\r\n },\r\n _hasClonedDraggable() {\r\n return this.option(\"clone\") || this.option(\"dragTemplate\")\r\n },\r\n _dragMoveHandler(e) {\r\n this._dragMoveArgs = e;\r\n if (!this._$dragElement) {\r\n e.cancel = true;\r\n return\r\n }\r\n var offset = this._getDraggableElementOffset(e.offset.x, e.offset.y);\r\n this._move(offset);\r\n this._updateScrollable(e);\r\n var eventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragMove\")(eventArgs);\r\n if (true === eventArgs.cancel) {\r\n return\r\n }\r\n var targetDraggable = this._getTargetDraggable();\r\n targetDraggable.dragMove(e, scrollBy)\r\n },\r\n _updateScrollable(e) {\r\n if (this.option(\"autoScroll\")) {\r\n var mousePosition = getMousePosition(e);\r\n var allObjects = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.$element().get(0));\r\n this._verticalScrollHelper.updateScrollable(allObjects, mousePosition);\r\n this._horizontalScrollHelper.updateScrollable(allObjects, mousePosition)\r\n }\r\n },\r\n _getScrollable($element) {\r\n var $scrollable;\r\n $element.parents().toArray().some(parent => {\r\n var $parent = $(parent);\r\n if (this._horizontalScrollHelper.isScrollable($parent) || this._verticalScrollHelper.isScrollable($parent)) {\r\n $scrollable = $parent;\r\n return true\r\n }\r\n return false\r\n });\r\n return $scrollable\r\n },\r\n _getScrollableScrollTop() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable($(this.element()))) || void 0 === _a ? void 0 : _a.scrollTop()) && void 0 !== _b ? _b : 0\r\n },\r\n _getScrollableScrollLeft() {\r\n var _a, _b;\r\n return null !== (_b = null === (_a = this._getScrollable($(this.element()))) || void 0 === _a ? void 0 : _a.scrollLeft()) && void 0 !== _b ? _b : 0\r\n },\r\n _defaultActionArgs() {\r\n var args = this.callBase.apply(this, arguments);\r\n var component = this.option(\"component\");\r\n if (component) {\r\n args.component = component;\r\n args.element = component.element()\r\n }\r\n return args\r\n },\r\n _getEventArgs(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return {\r\n event: e,\r\n itemData: sourceDraggable.option(\"itemData\"),\r\n itemElement: getPublicElement(sourceDraggable._$sourceElement),\r\n fromComponent: sourceDraggable.option(\"component\") || sourceDraggable,\r\n toComponent: targetDraggable.option(\"component\") || targetDraggable,\r\n fromData: sourceDraggable.option(\"data\"),\r\n toData: targetDraggable.option(\"data\")\r\n }\r\n },\r\n _getDragStartArgs(e, $itemElement) {\r\n var args = this._getEventArgs(e);\r\n return {\r\n event: args.event,\r\n itemData: args.itemData,\r\n itemElement: $itemElement,\r\n fromData: args.fromData\r\n }\r\n },\r\n _revertItemToInitialPosition() {\r\n !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement)\r\n },\r\n _dragEndHandler(e) {\r\n var d = Deferred();\r\n var dragEndEventArgs = this._getEventArgs(e);\r\n var dropEventArgs = this._getEventArgs(e);\r\n var targetDraggable = this._getTargetDraggable();\r\n var needRevertPosition = true;\r\n this.dragInProgress = false;\r\n try {\r\n this._getAction(\"onDragEnd\")(dragEndEventArgs)\r\n } finally {\r\n when(fromPromise(dragEndEventArgs.cancel)).done(cancel => {\r\n if (!cancel) {\r\n if (targetDraggable !== this) {\r\n targetDraggable._getAction(\"onDrop\")(dropEventArgs)\r\n }\r\n if (!dropEventArgs.cancel) {\r\n needRevertPosition = false;\r\n when(fromPromise(targetDraggable.dragEnd(dragEndEventArgs))).always(d.resolve);\r\n return\r\n }\r\n }\r\n d.resolve()\r\n }).fail(d.resolve);\r\n d.done(() => {\r\n if (needRevertPosition) {\r\n this._revertItemToInitialPosition()\r\n }\r\n this._resetDragOptions(targetDraggable)\r\n })\r\n }\r\n },\r\n _isTargetOverAnotherDraggable(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (this === sourceDraggable) {\r\n return false\r\n }\r\n var $dragElement = sourceDraggable._$dragElement;\r\n var $sourceDraggableElement = sourceDraggable.$element();\r\n var $targetDraggableElement = this.$element();\r\n var mousePosition = getMousePosition(e);\r\n var elements = domAdapter.elementsFromPoint(mousePosition.x, mousePosition.y, this.element());\r\n var firstWidgetElement = elements.filter(element => {\r\n var $element = $(element);\r\n if ($element.hasClass(this._addWidgetPrefix())) {\r\n return !$element.closest($dragElement).length\r\n }\r\n return false\r\n })[0];\r\n var $sourceElement = this._getSourceElement();\r\n var isTargetOverItself = firstWidgetElement === $sourceDraggableElement.get(0);\r\n var isTargetOverNestedDraggable = $(firstWidgetElement).closest($sourceElement).length;\r\n return !firstWidgetElement || firstWidgetElement === $targetDraggableElement.get(0) && !isTargetOverItself && !isTargetOverNestedDraggable\r\n },\r\n _dragEnterHandler(e) {\r\n this._fireDragEnterEvent(e);\r\n if (this._isTargetOverAnotherDraggable(e)) {\r\n this._setTargetDraggable()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragEnter(e)\r\n },\r\n _dragLeaveHandler(e) {\r\n this._fireDragLeaveEvent(e);\r\n this._resetTargetDraggable();\r\n if (this !== this._getSourceDraggable()) {\r\n this.reset()\r\n }\r\n var sourceDraggable = this._getSourceDraggable();\r\n sourceDraggable.dragLeave(e)\r\n },\r\n _keydownHandler(e) {\r\n if (this.dragInProgress && \"Escape\" === e.key) {\r\n this._keydownEscapeHandler(e)\r\n }\r\n },\r\n _keydownEscapeHandler(e) {\r\n var $sourceElement = this._getSourceElement();\r\n if (!$sourceElement) {\r\n return\r\n }\r\n var dragCancelEventArgs = this._getEventArgs(e);\r\n this._getAction(\"onDragCancel\")(dragCancelEventArgs);\r\n if (dragCancelEventArgs.cancel) {\r\n return\r\n }\r\n this.dragInProgress = false;\r\n null === sourceDraggable || void 0 === sourceDraggable ? void 0 : sourceDraggable._toggleDraggingClass(false);\r\n this._detachEventHandlers();\r\n this._revertItemToInitialPosition();\r\n var targetDraggable = this._getTargetDraggable();\r\n this._resetDragOptions(targetDraggable);\r\n this._attachEventHandlers()\r\n },\r\n _getAction(name) {\r\n return this[\"_\".concat(name, \"Action\")] || this._createActionByOption(name)\r\n },\r\n _getAnonymousTemplateName: () => ANONYMOUS_TEMPLATE_NAME,\r\n _initTemplates() {\r\n if (!this.option(\"contentTemplate\")) {\r\n return\r\n }\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render() {\r\n this.callBase();\r\n this.$element().addClass(this._addWidgetPrefix());\r\n var transclude = this._templateManager.anonymousTemplateName === this.option(\"contentTemplate\");\r\n var template = this._getTemplateByOption(\"contentTemplate\");\r\n if (template) {\r\n $(template.render({\r\n container: this.element(),\r\n transclude: transclude\r\n }))\r\n }\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onDragStart\":\r\n case \"onDragMove\":\r\n case \"onDragEnd\":\r\n case \"onDrop\":\r\n case \"onDragEnter\":\r\n case \"onDragLeave\":\r\n case \"onDragCancel\":\r\n case \"onDraggableElementShown\":\r\n this[\"_\".concat(name, \"Action\")] = this._createActionByOption(name);\r\n break;\r\n case \"dragTemplate\":\r\n case \"contentTemplate\":\r\n case \"container\":\r\n case \"clone\":\r\n break;\r\n case \"allowMoveByClick\":\r\n case \"dragDirection\":\r\n case \"disabled\":\r\n case \"boundary\":\r\n case \"filter\":\r\n case \"immediate\":\r\n this._resetDragElement();\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"onCancelByEsc\":\r\n this._keydownHandler();\r\n break;\r\n case \"autoScroll\":\r\n this._verticalScrollHelper.reset();\r\n this._horizontalScrollHelper.reset();\r\n break;\r\n case \"scrollSensitivity\":\r\n case \"scrollSpeed\":\r\n case \"boundOffset\":\r\n case \"handle\":\r\n case \"group\":\r\n case \"data\":\r\n case \"itemData\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getTargetDraggable() {\r\n return targetDraggable || this\r\n },\r\n _getSourceDraggable() {\r\n return sourceDraggable || this\r\n },\r\n _setTargetDraggable() {\r\n var currentGroup = this.option(\"group\");\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (currentGroup && currentGroup === sourceDraggable.option(\"group\")) {\r\n targetDraggable = this\r\n }\r\n },\r\n _setSourceDraggable() {\r\n sourceDraggable = this\r\n },\r\n _resetSourceDraggable() {\r\n sourceDraggable = null\r\n },\r\n _resetTargetDraggable() {\r\n targetDraggable = null\r\n },\r\n _resetDragOptions(targetDraggable) {\r\n this.reset();\r\n targetDraggable.reset();\r\n this._stopAnimator();\r\n this._horizontalScrollHelper.reset();\r\n this._verticalScrollHelper.reset();\r\n this._resetDragElement();\r\n this._resetSourceElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable()\r\n },\r\n _dispose() {\r\n this.callBase();\r\n this._detachEventHandlers();\r\n this._resetDragElement();\r\n this._resetTargetDraggable();\r\n this._resetSourceDraggable();\r\n this._$sourceElement = null;\r\n this._stopAnimator()\r\n },\r\n _fireDragEnterEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragEnter\")(args)\r\n },\r\n _fireDragLeaveEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onDragLeave\")(args)\r\n }\r\n});\r\nregisterComponent(DRAGGABLE, Draggable);\r\nexport default Draggable;\r\n","/**\r\n * DevExtreme (esm/__internal/m_sortable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../animation/fx\";\r\nimport {\r\n resetPosition\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getBoundingRect\r\n} from \"../core/utils/position\";\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getOuterWidth,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport Draggable from \"./m_draggable\";\r\nvar window = getWindow();\r\nvar SORTABLE = \"dxSortable\";\r\nvar PLACEHOLDER_CLASS = \"placeholder\";\r\nvar CLONE_CLASS = \"clone\";\r\nvar isElementVisible = itemElement => $(itemElement).is(\":visible\");\r\nvar animate = (element, config) => {\r\n var _a, _b;\r\n if (!element) {\r\n return\r\n }\r\n var left = (null === (_a = config.to) || void 0 === _a ? void 0 : _a.left) || 0;\r\n var top = (null === (_b = config.to) || void 0 === _b ? void 0 : _b.top) || 0;\r\n element.style.transform = \"translate(\".concat(left, \"px,\").concat(top, \"px)\");\r\n element.style.transition = fx.off ? \"\" : \"transform \".concat(config.duration, \"ms \").concat(config.easing)\r\n};\r\nvar stopAnimation = element => {\r\n if (!element) {\r\n return\r\n }\r\n element.style.transform = \"\";\r\n element.style.transition = \"\"\r\n};\r\n\r\nfunction getScrollableBoundary($scrollable) {\r\n var offset = $scrollable.offset();\r\n var {\r\n style: style\r\n } = $scrollable[0];\r\n var paddingLeft = parseFloat(style.paddingLeft) || 0;\r\n var paddingRight = parseFloat(style.paddingRight) || 0;\r\n var paddingTop = parseFloat(style.paddingTop) || 0;\r\n var width = $scrollable[0].clientWidth - (paddingLeft + paddingRight);\r\n var height = getHeight($scrollable);\r\n var left = offset.left + paddingLeft;\r\n var top = offset.top + paddingTop;\r\n return {\r\n left: left,\r\n right: left + width,\r\n top: top,\r\n bottom: top + height\r\n }\r\n}\r\nvar Sortable = Draggable.inherit({\r\n _init() {\r\n this.callBase();\r\n this._sourceScrollHandler = this._handleSourceScroll.bind(this);\r\n this._sourceScrollableInfo = null\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n clone: true,\r\n filter: \"> *\",\r\n itemOrientation: \"vertical\",\r\n dropFeedbackMode: \"push\",\r\n allowDropInsideItem: false,\r\n allowReordering: true,\r\n moveItemOnDrop: false,\r\n onDragChange: null,\r\n onAdd: null,\r\n onRemove: null,\r\n onReorder: null,\r\n onPlaceholderPrepared: null,\r\n animation: {\r\n type: \"slide\",\r\n duration: 300,\r\n easing: \"ease\"\r\n },\r\n fromIndex: null,\r\n toIndex: null,\r\n dropInsideItem: false,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n offset: 0,\r\n autoUpdate: false,\r\n draggableElementSize: 0\r\n })\r\n },\r\n reset() {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null,\r\n fromIndex: null,\r\n itemPoints: null,\r\n fromIndexOffset: 0,\r\n draggableElementSize: 0\r\n });\r\n if (this._$placeholderElement) {\r\n this._$placeholderElement.remove()\r\n }\r\n this._$placeholderElement = null;\r\n if (!this._isIndicateMode() && this._$modifiedItem) {\r\n this._$modifiedItem.css(\"marginBottom\", this._modifiedItemMargin);\r\n this._$modifiedItem = null\r\n }\r\n },\r\n _getPrevVisibleItem: (items, index) => items.slice(0, index).reverse().filter(isElementVisible)[0],\r\n _dragStartHandler(e) {\r\n this.callBase.apply(this, arguments);\r\n if (true === e.cancel) {\r\n return\r\n }\r\n var $sourceElement = this._getSourceElement();\r\n this._updateItemPoints();\r\n this._subscribeToSourceScroll(e);\r\n this.option(\"fromIndex\", this._getElementIndex($sourceElement));\r\n this.option(\"fromIndexOffset\", this.option(\"offset\"))\r\n },\r\n _subscribeToSourceScroll(e) {\r\n var $scrollable = this._getScrollable($(e.target));\r\n if ($scrollable) {\r\n this._sourceScrollableInfo = {\r\n element: $scrollable,\r\n scrollLeft: $scrollable.scrollLeft(),\r\n scrollTop: $scrollable.scrollTop()\r\n };\r\n eventsEngine.off($scrollable, \"scroll\", this._sourceScrollHandler);\r\n eventsEngine.on($scrollable, \"scroll\", this._sourceScrollHandler)\r\n }\r\n },\r\n _unsubscribeFromSourceScroll() {\r\n if (this._sourceScrollableInfo) {\r\n eventsEngine.off(this._sourceScrollableInfo.element, \"scroll\", this._sourceScrollHandler);\r\n this._sourceScrollableInfo = null\r\n }\r\n },\r\n _handleSourceScroll(e) {\r\n var sourceScrollableInfo = this._sourceScrollableInfo;\r\n if (sourceScrollableInfo) {\r\n [\"scrollLeft\", \"scrollTop\"].forEach(scrollProp => {\r\n if (e.target[scrollProp] !== sourceScrollableInfo[scrollProp]) {\r\n var scrollBy = e.target[scrollProp] - sourceScrollableInfo[scrollProp];\r\n this._correctItemPoints(scrollBy);\r\n this._movePlaceholder();\r\n sourceScrollableInfo[scrollProp] = e.target[scrollProp]\r\n }\r\n })\r\n }\r\n },\r\n _dragEnterHandler(e) {\r\n this.callBase.apply(this, arguments);\r\n if (this === this._getSourceDraggable()) {\r\n return\r\n }\r\n this._subscribeToSourceScroll(e);\r\n this._updateItemPoints();\r\n this.option(\"fromIndex\", -1);\r\n if (!this._isIndicateMode()) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n var lastItemPoint = itemPoints[itemPoints.length - 1];\r\n if (lastItemPoint) {\r\n var $element = this.$element();\r\n var $sourceElement = this._getSourceElement();\r\n var isVertical = this._isVerticalOrientation();\r\n var sourceElementSize = isVertical ? getOuterHeight($sourceElement, true) : getOuterWidth($sourceElement, true);\r\n var scrollSize = $element.get(0)[isVertical ? \"scrollHeight\" : \"scrollWidth\"];\r\n var scrollPosition = $element.get(0)[isVertical ? \"scrollTop\" : \"scrollLeft\"];\r\n var positionProp = isVertical ? \"top\" : \"left\";\r\n var lastPointPosition = lastItemPoint[positionProp];\r\n var elementPosition = $element.offset()[positionProp];\r\n var freeSize = elementPosition + scrollSize - scrollPosition - lastPointPosition;\r\n if (freeSize < sourceElementSize) {\r\n if (isVertical) {\r\n var items = this._getItems();\r\n var $lastItem = $(this._getPrevVisibleItem(items));\r\n this._$modifiedItem = $lastItem;\r\n this._modifiedItemMargin = $lastItem.get(0).style.marginBottom;\r\n $lastItem.css(\"marginBottom\", sourceElementSize - freeSize);\r\n var $sortable = $lastItem.closest(\".dx-sortable\");\r\n var sortable = $sortable.data(\"dxScrollable\") || $sortable.data(\"dxScrollView\");\r\n sortable && sortable.update()\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _dragLeaveHandler() {\r\n this.callBase.apply(this, arguments);\r\n if (this !== this._getSourceDraggable()) {\r\n this._unsubscribeFromSourceScroll()\r\n }\r\n },\r\n dragEnter() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", -1)\r\n }\r\n },\r\n dragLeave() {\r\n if (this !== this._getTargetDraggable()) {\r\n this.option(\"toIndex\", this.option(\"fromIndex\"))\r\n }\r\n },\r\n _allowDrop(event) {\r\n var targetDraggable = this._getTargetDraggable();\r\n var $targetDraggable = targetDraggable.$element();\r\n var $scrollable = this._getScrollable($targetDraggable);\r\n if ($scrollable) {\r\n var {\r\n left: left,\r\n right: right,\r\n top: top,\r\n bottom: bottom\r\n } = getScrollableBoundary($scrollable);\r\n var toIndex = this.option(\"toIndex\");\r\n var itemPoints = this.option(\"itemPoints\");\r\n var itemPoint = null === itemPoints || void 0 === itemPoints ? void 0 : itemPoints.filter(item => item.index === toIndex)[0];\r\n if (itemPoint && void 0 !== itemPoint.top) {\r\n var isVertical = this._isVerticalOrientation();\r\n if (isVertical) {\r\n return top <= Math.ceil(itemPoint.top) && Math.floor(itemPoint.top) <= bottom\r\n }\r\n return left <= Math.ceil(itemPoint.left) && Math.floor(itemPoint.left) <= right\r\n }\r\n }\r\n return true\r\n },\r\n dragEnd(sourceEvent) {\r\n this._unsubscribeFromSourceScroll();\r\n var $sourceElement = this._getSourceElement();\r\n var sourceDraggable = this._getSourceDraggable();\r\n var isSourceDraggable = sourceDraggable.NAME !== this.NAME;\r\n var toIndex = this.option(\"toIndex\");\r\n var {\r\n event: event\r\n } = sourceEvent;\r\n var allowDrop = this._allowDrop(event);\r\n if (null !== toIndex && toIndex >= 0 && allowDrop) {\r\n var cancelAdd;\r\n var cancelRemove;\r\n if (sourceDraggable !== this) {\r\n cancelAdd = this._fireAddEvent(event);\r\n if (!cancelAdd) {\r\n cancelRemove = this._fireRemoveEvent(event)\r\n }\r\n }\r\n if (isSourceDraggable) {\r\n resetPosition($sourceElement)\r\n }\r\n if (this.option(\"moveItemOnDrop\")) {\r\n !cancelAdd && this._moveItem($sourceElement, toIndex, cancelRemove)\r\n }\r\n if (sourceDraggable === this) {\r\n return this._fireReorderEvent(event)\r\n }\r\n }\r\n return Deferred().resolve()\r\n },\r\n dragMove(e) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (!itemPoints) {\r\n return\r\n }\r\n var isVertical = this._isVerticalOrientation();\r\n var axisName = isVertical ? \"top\" : \"left\";\r\n var cursorPosition = isVertical ? e.pageY : e.pageX;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var itemPoint;\r\n for (var i = itemPoints.length - 1; i >= 0; i--) {\r\n var centerPosition = itemPoints[i + 1] && (itemPoints[i][axisName] + itemPoints[i + 1][axisName]) / 2;\r\n if ((!isVertical && rtlEnabled ? cursorPosition > centerPosition : centerPosition > cursorPosition) || void 0 === centerPosition) {\r\n itemPoint = itemPoints[i]\r\n } else {\r\n break\r\n }\r\n }\r\n if (itemPoint) {\r\n this._updatePlaceholderPosition(e, itemPoint);\r\n if (this._verticalScrollHelper.isScrolling() && this._isIndicateMode()) {\r\n this._movePlaceholder()\r\n }\r\n }\r\n },\r\n _isIndicateMode() {\r\n return \"indicate\" === this.option(\"dropFeedbackMode\") || this.option(\"allowDropInsideItem\")\r\n },\r\n _createPlaceholder() {\r\n var $placeholderContainer;\r\n if (this._isIndicateMode()) {\r\n $placeholderContainer = $(\"<div>\").addClass(this._addWidgetPrefix(PLACEHOLDER_CLASS)).insertBefore(this._getSourceDraggable()._$dragElement)\r\n }\r\n this._$placeholderElement = $placeholderContainer;\r\n return $placeholderContainer\r\n },\r\n _getItems() {\r\n var itemsSelector = this._getItemsSelector();\r\n return this._$content().find(itemsSelector).not(\".\".concat(this._addWidgetPrefix(PLACEHOLDER_CLASS))).not(\".\".concat(this._addWidgetPrefix(CLONE_CLASS))).toArray()\r\n },\r\n _allowReordering() {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n return sourceDraggable !== targetDraggable || this.option(\"allowReordering\")\r\n },\r\n _isValidPoint(visibleIndex, draggableVisibleIndex, dropInsideItem) {\r\n var allowDropInsideItem = this.option(\"allowDropInsideItem\");\r\n var allowReordering = dropInsideItem || this._allowReordering();\r\n if (!allowReordering && (0 !== visibleIndex || !allowDropInsideItem)) {\r\n return false\r\n }\r\n if (!this._isIndicateMode()) {\r\n return true\r\n }\r\n return -1 === draggableVisibleIndex || visibleIndex !== draggableVisibleIndex && (dropInsideItem || visibleIndex !== draggableVisibleIndex + 1)\r\n },\r\n _getItemPoints() {\r\n var result = [];\r\n var $item;\r\n var offset;\r\n var itemWidth;\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isVertical = this._isVerticalOrientation();\r\n var itemElements = this._getItems();\r\n var visibleItemElements = itemElements.filter(isElementVisible);\r\n var visibleItemCount = visibleItemElements.length;\r\n var $draggableItem = this._getDraggableElement();\r\n var draggableVisibleIndex = visibleItemElements.indexOf($draggableItem.get(0));\r\n if (visibleItemCount) {\r\n for (var i = 0; i <= visibleItemCount; i++) {\r\n var needCorrectLeftPosition = !isVertical && rtlEnabled ^ i === visibleItemCount;\r\n var needCorrectTopPosition = isVertical && i === visibleItemCount;\r\n if (i < visibleItemCount) {\r\n $item = $(visibleItemElements[i]);\r\n offset = $item.offset();\r\n itemWidth = getOuterWidth($item)\r\n }\r\n result.push({\r\n dropInsideItem: false,\r\n left: offset.left + (needCorrectLeftPosition ? itemWidth : 0),\r\n top: offset.top + (needCorrectTopPosition ? result[i - 1].height : 0),\r\n index: i === visibleItemCount ? itemElements.length : itemElements.indexOf($item.get(0)),\r\n $item: $item,\r\n width: getOuterWidth($item),\r\n height: getOuterHeight($item),\r\n isValid: this._isValidPoint(i, draggableVisibleIndex)\r\n })\r\n }\r\n if (this.option(\"allowDropInsideItem\")) {\r\n var points = result;\r\n result = [];\r\n for (var _i = 0; _i < points.length; _i++) {\r\n result.push(points[_i]);\r\n if (points[_i + 1]) {\r\n result.push(extend({}, points[_i], {\r\n dropInsideItem: true,\r\n top: Math.floor((points[_i].top + points[_i + 1].top) / 2),\r\n left: Math.floor((points[_i].left + points[_i + 1].left) / 2),\r\n isValid: this._isValidPoint(_i, draggableVisibleIndex, true)\r\n }))\r\n }\r\n }\r\n }\r\n } else {\r\n result.push({\r\n dropInsideItem: false,\r\n index: 0,\r\n isValid: true\r\n })\r\n }\r\n return result\r\n },\r\n _updateItemPoints(forceUpdate) {\r\n if (forceUpdate || this.option(\"autoUpdate\") || !this.option(\"itemPoints\")) {\r\n this.option(\"itemPoints\", this._getItemPoints())\r\n }\r\n },\r\n _correctItemPoints(scrollBy) {\r\n var itemPoints = this.option(\"itemPoints\");\r\n if (scrollBy && itemPoints && !this.option(\"autoUpdate\")) {\r\n var isVertical = this._isVerticalOrientation();\r\n var positionPropName = isVertical ? \"top\" : \"left\";\r\n itemPoints.forEach(itemPoint => {\r\n itemPoint[positionPropName] -= scrollBy\r\n })\r\n }\r\n },\r\n _getElementIndex($itemElement) {\r\n return this._getItems().indexOf($itemElement.get(0))\r\n },\r\n _getDragTemplateArgs($element) {\r\n var args = this.callBase.apply(this, arguments);\r\n args.model.fromIndex = this._getElementIndex($element);\r\n return args\r\n },\r\n _togglePlaceholder(value) {\r\n this._$placeholderElement && this._$placeholderElement.toggle(value)\r\n },\r\n _isVerticalOrientation() {\r\n return \"vertical\" === this.option(\"itemOrientation\")\r\n },\r\n _normalizeToIndex(toIndex, skipOffsetting) {\r\n var isAnotherDraggable = this._getSourceDraggable() !== this._getTargetDraggable();\r\n var fromIndex = this._getActualFromIndex();\r\n if (null === toIndex) {\r\n return fromIndex\r\n }\r\n return Math.max(isAnotherDraggable || fromIndex >= toIndex || skipOffsetting ? toIndex : toIndex - 1, 0)\r\n },\r\n _updatePlaceholderPosition(e, itemPoint) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var toIndex = this._normalizeToIndex(itemPoint.index, itemPoint.dropInsideItem);\r\n var eventArgs = extend(this._getEventArgs(e), {\r\n toIndex: toIndex,\r\n dropInsideItem: itemPoint.dropInsideItem\r\n });\r\n itemPoint.isValid && this._getAction(\"onDragChange\")(eventArgs);\r\n if (eventArgs.cancel || !itemPoint.isValid) {\r\n if (!itemPoint.isValid) {\r\n this.option({\r\n dropInsideItem: false,\r\n toIndex: null\r\n })\r\n }\r\n return\r\n }\r\n this.option({\r\n dropInsideItem: itemPoint.dropInsideItem,\r\n toIndex: itemPoint.index\r\n });\r\n this._getAction(\"onPlaceholderPrepared\")(extend(this._getEventArgs(e), {\r\n placeholderElement: getPublicElement(this._$placeholderElement),\r\n dragElement: getPublicElement(sourceDraggable._$dragElement)\r\n }));\r\n this._updateItemPoints()\r\n },\r\n _makeWidthCorrection($item, width) {\r\n this._$scrollable = this._getScrollable($item);\r\n if (this._$scrollable) {\r\n var scrollableWidth = getWidth(this._$scrollable);\r\n var overflowLeft = this._$scrollable.offset().left - $item.offset().left;\r\n var overflowRight = getOuterWidth($item) - overflowLeft - scrollableWidth;\r\n if (overflowLeft > 0) {\r\n width -= overflowLeft\r\n }\r\n if (overflowRight > 0) {\r\n width -= overflowRight\r\n }\r\n }\r\n return width\r\n },\r\n _updatePlaceholderSizes($placeholderElement, itemElement) {\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var $item = $(itemElement);\r\n var isVertical = this._isVerticalOrientation();\r\n var width = \"\";\r\n var height = \"\";\r\n $placeholderElement.toggleClass(this._addWidgetPrefix(\"placeholder-inside\"), dropInsideItem);\r\n if (isVertical || dropInsideItem) {\r\n width = getOuterWidth($item)\r\n }\r\n if (!isVertical || dropInsideItem) {\r\n height = getOuterHeight($item)\r\n }\r\n width = this._makeWidthCorrection($item, width);\r\n $placeholderElement.css({\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _moveItem($itemElement, index, cancelRemove) {\r\n var $prevTargetItemElement;\r\n var $itemElements = this._getItems();\r\n var $targetItemElement = $itemElements[index];\r\n var sourceDraggable = this._getSourceDraggable();\r\n if (cancelRemove) {\r\n $itemElement = $itemElement.clone();\r\n sourceDraggable._toggleDragSourceClass(false, $itemElement)\r\n }\r\n if (!$targetItemElement) {\r\n $prevTargetItemElement = $itemElements[index - 1]\r\n }\r\n this._moveItemCore($itemElement, $targetItemElement, $prevTargetItemElement)\r\n },\r\n _moveItemCore($targetItem, item, prevItem) {\r\n if (!item && !prevItem) {\r\n $targetItem.appendTo(this.$element())\r\n } else if (prevItem) {\r\n $targetItem.insertAfter($(prevItem))\r\n } else {\r\n $targetItem.insertBefore($(item))\r\n }\r\n },\r\n _getDragStartArgs(e, $itemElement) {\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: this._getElementIndex($itemElement)\r\n })\r\n },\r\n _getEventArgs(e) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var targetDraggable = this._getTargetDraggable();\r\n var dropInsideItem = targetDraggable.option(\"dropInsideItem\");\r\n return extend(this.callBase.apply(this, arguments), {\r\n fromIndex: sourceDraggable.option(\"fromIndex\"),\r\n toIndex: this._normalizeToIndex(targetDraggable.option(\"toIndex\"), dropInsideItem),\r\n dropInsideItem: dropInsideItem\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"onDragChange\":\r\n case \"onPlaceholderPrepared\":\r\n case \"onAdd\":\r\n case \"onRemove\":\r\n case \"onReorder\":\r\n this[\"_\".concat(name, \"Action\")] = this._createActionByOption(name);\r\n break;\r\n case \"itemOrientation\":\r\n case \"allowDropInsideItem\":\r\n case \"moveItemOnDrop\":\r\n case \"dropFeedbackMode\":\r\n case \"itemPoints\":\r\n case \"animation\":\r\n case \"allowReordering\":\r\n case \"fromIndexOffset\":\r\n case \"offset\":\r\n case \"draggableElementSize\":\r\n case \"autoUpdate\":\r\n break;\r\n case \"fromIndex\":\r\n [false, true].forEach(isDragSource => {\r\n var fromIndex = isDragSource ? args.value : args.previousValue;\r\n if (null !== fromIndex) {\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n this._toggleDragSourceClass(isDragSource, $fromElement)\r\n }\r\n });\r\n break;\r\n case \"dropInsideItem\":\r\n this._optionChangedDropInsideItem(args);\r\n break;\r\n case \"toIndex\":\r\n this._optionChangedToIndex(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _optionChangedDropInsideItem() {\r\n if (this._isIndicateMode() && this._$placeholderElement) {\r\n this._movePlaceholder()\r\n }\r\n },\r\n _isPositionVisible(position) {\r\n var $element = this.$element();\r\n var scrollContainer;\r\n if (\"hidden\" !== $element.css(\"overflow\")) {\r\n scrollContainer = $element.get(0)\r\n } else {\r\n $element.parents().each((function() {\r\n if (\"visible\" !== $(this).css(\"overflow\")) {\r\n scrollContainer = this;\r\n return false\r\n }\r\n return\r\n }))\r\n }\r\n if (scrollContainer) {\r\n var clientRect = getBoundingRect(scrollContainer);\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var start = isVerticalOrientation ? \"top\" : \"left\";\r\n var end = isVerticalOrientation ? \"bottom\" : \"right\";\r\n var pageOffset = isVerticalOrientation ? window.pageYOffset : window.pageXOffset;\r\n if (position[start] < clientRect[start] + pageOffset || position[start] > clientRect[end] + pageOffset) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _optionChangedToIndex(args) {\r\n var toIndex = args.value;\r\n if (this._isIndicateMode()) {\r\n var showPlaceholder = null !== toIndex && toIndex >= 0;\r\n this._togglePlaceholder(showPlaceholder);\r\n if (showPlaceholder) {\r\n this._movePlaceholder()\r\n }\r\n } else {\r\n this._moveItems(args.previousValue, args.value, args.fullUpdate)\r\n }\r\n },\r\n update() {\r\n if (null === this.option(\"fromIndex\") && null === this.option(\"toIndex\")) {\r\n return\r\n }\r\n this._updateItemPoints(true);\r\n this._updateDragSourceClass();\r\n var toIndex = this.option(\"toIndex\");\r\n this._optionChangedToIndex({\r\n value: toIndex,\r\n fullUpdate: true\r\n })\r\n },\r\n _updateDragSourceClass() {\r\n var fromIndex = this._getActualFromIndex();\r\n var $fromElement = $(this._getItems()[fromIndex]);\r\n if ($fromElement.length) {\r\n this._$sourceElement = $fromElement;\r\n this._toggleDragSourceClass(true, $fromElement)\r\n }\r\n },\r\n _makeLeftCorrection(left) {\r\n var $scrollable = this._$scrollable;\r\n if ($scrollable && this._isVerticalOrientation()) {\r\n var overflowLeft = $scrollable.offset().left - left;\r\n if (overflowLeft > 0) {\r\n left += overflowLeft\r\n }\r\n }\r\n return left\r\n },\r\n _movePlaceholder() {\r\n var $placeholderElement = this._$placeholderElement || this._createPlaceholder();\r\n if (!$placeholderElement) {\r\n return\r\n }\r\n var items = this._getItems();\r\n var toIndex = this.option(\"toIndex\");\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var dropInsideItem = this.option(\"dropInsideItem\");\r\n var position = null;\r\n var itemElement = items[toIndex];\r\n if (itemElement) {\r\n var $itemElement = $(itemElement);\r\n position = $itemElement.offset();\r\n if (!isVerticalOrientation && rtlEnabled && !dropInsideItem) {\r\n position.left += getOuterWidth($itemElement, true)\r\n }\r\n } else {\r\n var prevVisibleItemElement = itemElement = this._getPrevVisibleItem(items, toIndex);\r\n if (prevVisibleItemElement) {\r\n position = $(prevVisibleItemElement).offset();\r\n if (isVerticalOrientation) {\r\n position.top += getOuterHeight(prevVisibleItemElement, true)\r\n } else if (!rtlEnabled) {\r\n position.left += getOuterWidth(prevVisibleItemElement, true)\r\n }\r\n }\r\n }\r\n this._updatePlaceholderSizes($placeholderElement, itemElement);\r\n if (position && !this._isPositionVisible(position)) {\r\n position = null\r\n }\r\n if (position) {\r\n var isLastVerticalPosition = isVerticalOrientation && toIndex === items.length;\r\n var outerPlaceholderHeight = getOuterHeight($placeholderElement);\r\n position.left = this._makeLeftCorrection(position.left);\r\n position.top = isLastVerticalPosition && position.top >= outerPlaceholderHeight ? position.top - outerPlaceholderHeight : position.top;\r\n this._move(position, $placeholderElement)\r\n }\r\n $placeholderElement.toggle(!!position)\r\n },\r\n _getPositions(items, elementSize, fromIndex, toIndex) {\r\n var positions = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var position = 0;\r\n if (null === toIndex || null === fromIndex) {\r\n positions.push(position);\r\n continue\r\n }\r\n if (-1 === fromIndex) {\r\n if (i >= toIndex) {\r\n position = elementSize\r\n }\r\n } else if (-1 === toIndex) {\r\n if (i > fromIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex < toIndex) {\r\n if (i > fromIndex && i < toIndex) {\r\n position = -elementSize\r\n }\r\n } else if (fromIndex > toIndex) {\r\n if (i >= toIndex && i < fromIndex) {\r\n position = elementSize\r\n }\r\n }\r\n positions.push(position)\r\n }\r\n return positions\r\n },\r\n _getDraggableElementSize(isVerticalOrientation) {\r\n var $draggableItem = this._getDraggableElement();\r\n var size = this.option(\"draggableElementSize\");\r\n if (!size) {\r\n size = isVerticalOrientation ? (getOuterHeight($draggableItem) + getOuterHeight($draggableItem, true)) / 2 : (getOuterWidth($draggableItem) + getOuterWidth($draggableItem, true)) / 2;\r\n if (!this.option(\"autoUpdate\")) {\r\n this.option(\"draggableElementSize\", size)\r\n }\r\n }\r\n return size\r\n },\r\n _getActualFromIndex() {\r\n var {\r\n fromIndex: fromIndex,\r\n fromIndexOffset: fromIndexOffset,\r\n offset: offset\r\n } = this.option();\r\n return null == fromIndex ? null : fromIndex + fromIndexOffset - offset\r\n },\r\n _moveItems(prevToIndex, toIndex, fullUpdate) {\r\n var fromIndex = this._getActualFromIndex();\r\n var isVerticalOrientation = this._isVerticalOrientation();\r\n var positionPropName = isVerticalOrientation ? \"top\" : \"left\";\r\n var elementSize = this._getDraggableElementSize(isVerticalOrientation);\r\n var items = this._getItems();\r\n var prevPositions = this._getPositions(items, elementSize, fromIndex, prevToIndex);\r\n var positions = this._getPositions(items, elementSize, fromIndex, toIndex);\r\n var animationConfig = this.option(\"animation\");\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n for (var i = 0; i < items.length; i++) {\r\n var itemElement = items[i];\r\n var prevPosition = prevPositions[i];\r\n var position = positions[i];\r\n if (null === toIndex || null === fromIndex) {\r\n stopAnimation(itemElement)\r\n } else if (prevPosition !== position || fullUpdate && position) {\r\n animate(itemElement, extend({}, animationConfig, {\r\n to: {\r\n [positionPropName]: !isVerticalOrientation && rtlEnabled ? -position : position\r\n }\r\n }))\r\n }\r\n }\r\n },\r\n _toggleDragSourceClass(value, $element) {\r\n var $sourceElement = $element || this._$sourceElement;\r\n this.callBase.apply(this, arguments);\r\n if (!this._isIndicateMode()) {\r\n $sourceElement && $sourceElement.toggleClass(this._addWidgetPrefix(\"source-hidden\"), value)\r\n }\r\n },\r\n _dispose() {\r\n this.reset();\r\n this.callBase()\r\n },\r\n _fireAddEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onAdd\")(args);\r\n return args.cancel\r\n },\r\n _fireRemoveEvent(sourceEvent) {\r\n var sourceDraggable = this._getSourceDraggable();\r\n var args = this._getEventArgs(sourceEvent);\r\n sourceDraggable._getAction(\"onRemove\")(args);\r\n return args.cancel\r\n },\r\n _fireReorderEvent(sourceEvent) {\r\n var args = this._getEventArgs(sourceEvent);\r\n this._getAction(\"onReorder\")(args);\r\n return args.promise || Deferred().resolve()\r\n }\r\n});\r\nregisterComponent(SORTABLE, Sortable);\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/ui/sortable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Sortable from \"../__internal/m_sortable\";\r\nexport default Sortable;\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/const.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var ATTRIBUTES = {\r\n dragCell: \"dx-drag-cell\"\r\n};\r\nexport var CLASSES = {\r\n cellFocusDisabled: \"dx-cell-focus-disabled\",\r\n handleIcon: \"drag-icon\",\r\n commandDrag: \"dx-command-drag\",\r\n sortableWithoutHandle: \"dx-sortable-without-handle\",\r\n rowsView: \"rowsview\"\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/dom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/renderer\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n ATTRIBUTES,\r\n CLASSES\r\n} from \"./const\";\r\nvar createHandleTemplateFunc = addWidgetPrefix => (container, options) => {\r\n var $container = $(container);\r\n $container.attr(ATTRIBUTES.dragCell, \"\");\r\n if (\"data\" === options.rowType) {\r\n $container.addClass(CLASSES.cellFocusDisabled);\r\n return $(\"<span>\").addClass(addWidgetPrefix(CLASSES.handleIcon))\r\n }\r\n gridCoreUtils.setEmptyText($container);\r\n return\r\n};\r\nexport var GridCoreRowDraggingDom = {\r\n createHandleTemplateFunc: createHandleTemplateFunc\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/grid_core/row_dragging/m_row_dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../../core/../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../../../core/../core/utils/extend\";\r\nimport {\r\n deferUpdate\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n getWidth,\r\n setWidth\r\n} from \"../../../../core/utils/size\";\r\nimport Sortable from \"../../../../ui/sortable\";\r\nimport gridCoreUtils from \"../m_utils\";\r\nimport {\r\n CLASSES\r\n} from \"./const\";\r\nimport {\r\n GridCoreRowDraggingDom\r\n} from \"./dom\";\r\nvar RowDraggingExtender = {\r\n init() {\r\n this.callBase.apply(this, arguments);\r\n this._updateHandleColumn()\r\n },\r\n _allowReordering() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n return !!(rowDragging && (rowDragging.allowReordering || rowDragging.allowDropInsideItem || rowDragging.group))\r\n },\r\n _updateHandleColumn() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n var allowReordering = this._allowReordering();\r\n var columnsController = this._columnsController;\r\n var isHandleColumnVisible = allowReordering && rowDragging.showDragIcons;\r\n columnsController && columnsController.addCommandColumn({\r\n type: \"drag\",\r\n command: \"drag\",\r\n visibleIndex: -2,\r\n alignment: \"center\",\r\n cssClass: CLASSES.commandDrag,\r\n width: \"auto\",\r\n cellTemplate: this._getHandleTemplate(),\r\n visible: isHandleColumnVisible\r\n });\r\n columnsController.columnOption(\"type:drag\", \"visible\", isHandleColumnVisible)\r\n },\r\n _renderContent() {\r\n var rowDragging = this.option(\"rowDragging\");\r\n var allowReordering = this._allowReordering();\r\n var $content = this.callBase.apply(this, arguments);\r\n var isFixedTableRendering = this._isFixedTableRendering;\r\n var currentSortableName = isFixedTableRendering ? \"_sortableFixed\" : \"_sortable\";\r\n var anotherSortableName = isFixedTableRendering ? \"_sortable\" : \"_sortableFixed\";\r\n var togglePointerEventsStyle = toggle => {\r\n var _a;\r\n null === (_a = this._sortableFixed) || void 0 === _a ? void 0 : _a.$element().css(\"pointerEvents\", toggle ? \"auto\" : \"\")\r\n };\r\n var rowSelector = \".dx-row:not(.dx-freespace-row):not(.dx-virtual-row):not(.dx-header-row):not(.dx-footer-row)\";\r\n var filter = this.option(\"dataRowTemplate\") ? \"> table > tbody\".concat(rowSelector) : \"> table > tbody > \".concat(rowSelector);\r\n if ((allowReordering || this[currentSortableName]) && $content.length) {\r\n this[currentSortableName] = this._createComponent($content, Sortable, extend({\r\n component: this.component,\r\n contentTemplate: null,\r\n filter: filter,\r\n cursorOffset: options => {\r\n var {\r\n event: event\r\n } = options;\r\n var rowsViewOffset = $(this.element()).offset();\r\n return {\r\n x: event.pageX - rowsViewOffset.left\r\n }\r\n },\r\n onDraggableElementShown: e => {\r\n if (rowDragging.dragTemplate) {\r\n return\r\n }\r\n var $dragElement = $(e.dragElement);\r\n var gridInstance = $dragElement.children(\".dx-widget\").data(this.component.NAME);\r\n this._synchronizeScrollLeftPosition(gridInstance)\r\n },\r\n dragTemplate: this._getDraggableRowTemplate(),\r\n handle: rowDragging.showDragIcons && \".\".concat(CLASSES.commandDrag),\r\n dropFeedbackMode: \"indicate\"\r\n }, rowDragging, {\r\n onDragStart: e => {\r\n var _a, _b;\r\n null === (_a = this.getController(\"keyboardNavigation\")) || void 0 === _a ? void 0 : _a._resetFocusedCell();\r\n var row = e.component.getVisibleRows()[e.fromIndex];\r\n e.itemData = row && row.data;\r\n var isDataRow = row && \"data\" === row.rowType;\r\n e.cancel = !allowReordering || !isDataRow;\r\n null === (_b = rowDragging.onDragStart) || void 0 === _b ? void 0 : _b.call(rowDragging, e)\r\n },\r\n onDragEnter: () => {\r\n togglePointerEventsStyle(true)\r\n },\r\n onDragLeave: () => {\r\n togglePointerEventsStyle(false)\r\n },\r\n onDragEnd: e => {\r\n var _a;\r\n togglePointerEventsStyle(false);\r\n null === (_a = rowDragging.onDragEnd) || void 0 === _a ? void 0 : _a.call(rowDragging, e)\r\n },\r\n onAdd: e => {\r\n var _a;\r\n togglePointerEventsStyle(false);\r\n null === (_a = rowDragging.onAdd) || void 0 === _a ? void 0 : _a.call(rowDragging, e)\r\n },\r\n dropFeedbackMode: rowDragging.dropFeedbackMode,\r\n onOptionChanged: e => {\r\n var hasFixedSortable = this._sortableFixed;\r\n if (hasFixedSortable) {\r\n if (\"fromIndex\" === e.name || \"toIndex\" === e.name) {\r\n this[anotherSortableName].option(e.name, e.value)\r\n }\r\n }\r\n }\r\n }));\r\n $content.toggleClass(\"dx-scrollable-container\", isFixedTableRendering);\r\n $content.toggleClass(CLASSES.sortableWithoutHandle, allowReordering && !rowDragging.showDragIcons)\r\n }\r\n return $content\r\n },\r\n _renderCore(e) {\r\n this.callBase.apply(this, arguments);\r\n if (e && \"update\" === e.changeType && e.repaintChangesOnly && gridCoreUtils.isVirtualRowRendering(this)) {\r\n deferUpdate(() => {\r\n this._updateSortable()\r\n })\r\n }\r\n },\r\n _updateSortable() {\r\n var offset = this._dataController.getRowIndexOffset();\r\n [this._sortable, this._sortableFixed].forEach(sortable => {\r\n null === sortable || void 0 === sortable ? void 0 : sortable.option(\"offset\", offset);\r\n null === sortable || void 0 === sortable ? void 0 : sortable.update()\r\n })\r\n },\r\n _resizeCore() {\r\n this.callBase.apply(this, arguments);\r\n this._updateSortable()\r\n },\r\n _getDraggableGridOptions(options) {\r\n var gridOptions = this.option();\r\n var columns = this.getColumns();\r\n var $rowElement = $(this.getRowElement(options.rowIndex));\r\n return {\r\n dataSource: [{\r\n id: 1,\r\n parentId: 0\r\n }],\r\n showBorders: true,\r\n showColumnHeaders: false,\r\n scrolling: {\r\n useNative: false,\r\n showScrollbar: \"never\"\r\n },\r\n pager: {\r\n visible: false\r\n },\r\n loadingTimeout: null,\r\n columnFixing: gridOptions.columnFixing,\r\n columnAutoWidth: gridOptions.columnAutoWidth,\r\n showColumnLines: gridOptions.showColumnLines,\r\n columns: columns.map(column => ({\r\n width: column.width || column.visibleWidth,\r\n fixed: column.fixed,\r\n fixedPosition: column.fixedPosition\r\n })),\r\n onRowPrepared: e => {\r\n var rowsView = e.component.getView(\"rowsView\");\r\n $(e.rowElement).replaceWith($rowElement.eq(rowsView._isFixedTableRendering ? 1 : 0).clone())\r\n }\r\n }\r\n },\r\n _synchronizeScrollLeftPosition(gridInstance) {\r\n var scrollable = null === gridInstance || void 0 === gridInstance ? void 0 : gridInstance.getScrollable();\r\n null === scrollable || void 0 === scrollable ? void 0 : scrollable.scrollTo({\r\n x: this._scrollLeft\r\n })\r\n },\r\n _getDraggableRowTemplate() {\r\n return options => {\r\n var $rootElement = this.component.$element();\r\n var $dataGridContainer = $(\"<div>\");\r\n setWidth($dataGridContainer, getWidth($rootElement));\r\n var items = this._dataController.items();\r\n var row = items && items[options.fromIndex];\r\n var gridOptions = this._getDraggableGridOptions(row);\r\n this._createComponent($dataGridContainer, this.component.NAME, gridOptions);\r\n $dataGridContainer.find(\".dx-gridbase-container\").children(\":not(.\".concat(this.addWidgetPrefix(CLASSES.rowsView), \")\")).hide();\r\n return $dataGridContainer\r\n }\r\n },\r\n _getHandleTemplate() {\r\n return GridCoreRowDraggingDom.createHandleTemplateFunc(string => this.addWidgetPrefix(string))\r\n },\r\n optionChanged(args) {\r\n if (\"rowDragging\" === args.name) {\r\n this._updateHandleColumn();\r\n this._invalidate(true, true);\r\n args.handled = true\r\n }\r\n this.callBase.apply(this, arguments)\r\n }\r\n};\r\nexport var rowDraggingModule = {\r\n defaultOptions: () => ({\r\n rowDragging: {\r\n showDragIcons: true,\r\n dropFeedbackMode: \"indicate\",\r\n allowReordering: false,\r\n allowDropInsideItem: false\r\n }\r\n }),\r\n extenders: {\r\n views: {\r\n rowsView: RowDraggingExtender\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/module_not_extended/row_dragging.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rowDraggingModule\r\n} from \"../../../grids/grid_core/row_dragging/m_row_dragging\";\r\nimport gridCore from \"../m_core\";\r\ngridCore.registerModule(\"rowDragging\", rowDraggingModule);\r\n","/**\r\n * DevExtreme (esm/__internal/grids/data_grid/m_widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"./m_widget_base\";\r\nimport \"./module_not_extended/state_storing\";\r\nimport \"./module_not_extended/selection\";\r\nimport \"./module_not_extended/column_chooser\";\r\nimport \"./grouping/m_grouping\";\r\nimport \"./module_not_extended/master_detail\";\r\nimport \"./m_editing\";\r\nimport \"./module_not_extended/editing_row_based\";\r\nimport \"./module_not_extended/editing_form_based\";\r\nimport \"./module_not_extended/editing_cell_based\";\r\nimport \"./module_not_extended/validating\";\r\nimport \"./module_not_extended/virtual_scrolling\";\r\nimport \"./module_not_extended/filter_row\";\r\nimport \"./module_not_extended/header_filter\";\r\nimport \"./module_not_extended/filter_sync\";\r\nimport \"./module_not_extended/filter_builder\";\r\nimport \"./module_not_extended/filter_panel\";\r\nimport \"./module_not_extended/search\";\r\nimport \"./module_not_extended/pager\";\r\nimport \"./module_not_extended/columns_resizing_reordering\";\r\nimport \"./module_not_extended/keyboard_navigation\";\r\nimport \"./summary/m_summary\";\r\nimport \"./module_not_extended/column_fixing\";\r\nimport \"./module_not_extended/adaptivity\";\r\nimport \"./module_not_extended/virtual_columns\";\r\nimport \"./export/m_export\";\r\nimport \"./focus/m_focus\";\r\nimport \"./module_not_extended/row_dragging\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/ui/data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport DataGrid from \"../__internal/grids/data_grid/m_widget\";\r\nexport default DataGrid;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.mask.parts.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getPatternSetters\r\n} from \"../../localization/ldml/date.parser\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar monthGetter = date => date.getMonth() + 1;\r\nvar monthSetter = (date, value) => {\r\n var day = date.getDate();\r\n var monthLimits = getLimits(\"M\", date);\r\n var newValue = fitIntoRange(parseInt(value), monthLimits.min, monthLimits.max);\r\n date.setMonth(newValue - 1, 1);\r\n var {\r\n min: min,\r\n max: max\r\n } = getLimits(\"dM\", date);\r\n var newDay = fitIntoRange(day, min, max);\r\n date.setDate(newDay)\r\n};\r\nvar PATTERN_GETTERS = {\r\n a: date => date.getHours() < 12 ? 0 : 1,\r\n E: \"getDay\",\r\n y: \"getFullYear\",\r\n M: monthGetter,\r\n L: monthGetter,\r\n d: \"getDate\",\r\n H: \"getHours\",\r\n h: \"getHours\",\r\n m: \"getMinutes\",\r\n s: \"getSeconds\",\r\n S: \"getMilliseconds\"\r\n};\r\nvar PATTERN_SETTERS = extend({}, getPatternSetters(), {\r\n a: (date, value) => {\r\n var hours = date.getHours();\r\n var current = hours >= 12;\r\n if (current === !!parseInt(value)) {\r\n return\r\n }\r\n date.setHours((hours + 12) % 24)\r\n },\r\n d: (date, value) => {\r\n var lastDayInMonth = getLimits(\"dM\", date).max;\r\n if (value > lastDayInMonth) {\r\n date.setMonth(date.getMonth() + 1)\r\n }\r\n date.setDate(value)\r\n },\r\n h: (date, value) => {\r\n var isPM = date.getHours() >= 12;\r\n date.setHours(+value % 12 + (isPM ? 12 : 0))\r\n },\r\n M: monthSetter,\r\n L: monthSetter,\r\n E: (date, value) => {\r\n if (value < 0) {\r\n return\r\n }\r\n date.setDate(date.getDate() - date.getDay() + parseInt(value))\r\n },\r\n y: (date, value) => {\r\n var currentYear = date.getFullYear();\r\n var valueLength = String(value).length;\r\n var maxLimitLength = String(getLimits(\"y\", date).max).length;\r\n var newValue = parseInt(String(currentYear).substr(0, maxLimitLength - valueLength) + value);\r\n date.setFullYear(newValue)\r\n }\r\n});\r\nvar getPatternGetter = patternChar => PATTERN_GETTERS[patternChar] || (() => patternChar);\r\nexport var renderDateParts = (text, regExpInfo) => {\r\n var result = regExpInfo.regexp.exec(text);\r\n var start = 0;\r\n var end = 0;\r\n var sections = [];\r\n var _loop = function() {\r\n start = end;\r\n end = start + result[i].length;\r\n var pattern = regExpInfo.patterns[i - 1].replace(/^'|'$/g, \"\");\r\n var getter = getPatternGetter(pattern[0]);\r\n sections.push({\r\n index: i - 1,\r\n isStub: pattern === result[i],\r\n caret: {\r\n start: start,\r\n end: end\r\n },\r\n pattern: pattern,\r\n text: result[i],\r\n limits: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return getLimits(pattern[0], ...args)\r\n },\r\n setter: PATTERN_SETTERS[pattern[0]] || noop,\r\n getter: getter\r\n })\r\n };\r\n for (var i = 1; i < result.length; i++) {\r\n _loop()\r\n }\r\n return sections\r\n};\r\nvar getLimits = (pattern, date, forcedPattern) => {\r\n var limits = {\r\n y: {\r\n min: 0,\r\n max: 9999\r\n },\r\n M: {\r\n min: 1,\r\n max: 12\r\n },\r\n L: {\r\n min: 1,\r\n max: 12\r\n },\r\n d: {\r\n min: 1,\r\n max: 31\r\n },\r\n dM: {\r\n min: 1,\r\n max: new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate()\r\n },\r\n E: {\r\n min: 0,\r\n max: 6\r\n },\r\n H: {\r\n min: 0,\r\n max: 23\r\n },\r\n h: {\r\n min: 0,\r\n max: 12\r\n },\r\n m: {\r\n min: 0,\r\n max: 59\r\n },\r\n s: {\r\n min: 0,\r\n max: 59\r\n },\r\n S: {\r\n min: 0,\r\n max: 999\r\n },\r\n a: {\r\n min: 0,\r\n max: 1\r\n }\r\n };\r\n return limits[forcedPattern || pattern] || limits.getAmPm\r\n};\r\nexport var getDatePartIndexByPosition = (dateParts, position) => {\r\n for (var i = 0; i < dateParts.length; i++) {\r\n var caretInGroup = dateParts[i].caret.end >= position;\r\n if (!dateParts[i].isStub && caretInGroup) {\r\n return i\r\n }\r\n }\r\n return null\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar DATE_COMPONENTS = [\"year\", \"day\", \"month\", \"day\"];\r\nvar TIME_COMPONENTS = [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"];\r\nvar ONE_MINUTE = 6e4;\r\nvar ONE_DAY = 60 * ONE_MINUTE * 24;\r\nvar ONE_YEAR = 365 * ONE_DAY;\r\nvar getStringFormat = function(format) {\r\n var formatType = typeof format;\r\n if (\"string\" === formatType) {\r\n return \"format\"\r\n }\r\n if (\"object\" === formatType && void 0 !== format.type) {\r\n return format.type\r\n }\r\n return null\r\n};\r\nvar dateUtils = {\r\n SUPPORTED_FORMATS: [\"date\", \"time\", \"datetime\"],\r\n ONE_MINUTE: ONE_MINUTE,\r\n ONE_DAY: ONE_DAY,\r\n ONE_YEAR: ONE_YEAR,\r\n MIN_DATEVIEW_DEFAULT_DATE: new Date(1900, 0, 1),\r\n MAX_DATEVIEW_DEFAULT_DATE: function() {\r\n var newDate = new Date;\r\n return new Date(newDate.getFullYear() + 50, newDate.getMonth(), newDate.getDate(), 23, 59, 59)\r\n }(),\r\n FORMATS_INFO: {\r\n date: {\r\n getStandardPattern: function() {\r\n return \"yyyy-MM-dd\"\r\n },\r\n components: DATE_COMPONENTS\r\n },\r\n time: {\r\n getStandardPattern: function() {\r\n return \"HH:mm\"\r\n },\r\n components: TIME_COMPONENTS\r\n },\r\n datetime: {\r\n getStandardPattern: function() {\r\n var standardPattern;\r\n ! function() {\r\n var $input = $(\"<input>\").attr(\"type\", \"datetime\");\r\n $input.val(\"2000-01-01T01:01Z\");\r\n if ($input.val()) {\r\n standardPattern = \"yyyy-MM-ddTHH:mmZ\"\r\n }\r\n }();\r\n if (!standardPattern) {\r\n standardPattern = \"yyyy-MM-ddTHH:mm:ssZ\"\r\n }\r\n dateUtils.FORMATS_INFO.datetime.getStandardPattern = function() {\r\n return standardPattern\r\n };\r\n return standardPattern\r\n },\r\n components: [...DATE_COMPONENTS, ...TIME_COMPONENTS]\r\n },\r\n \"datetime-local\": {\r\n getStandardPattern: function() {\r\n return \"yyyy-MM-ddTHH:mm:ss\"\r\n },\r\n components: [...DATE_COMPONENTS, \"hours\", \"minutes\", \"seconds\"]\r\n }\r\n },\r\n FORMATS_MAP: {\r\n date: \"shortdate\",\r\n time: \"shorttime\",\r\n datetime: \"shortdateshorttime\"\r\n },\r\n SUBMIT_FORMATS_MAP: {\r\n date: \"date\",\r\n time: \"time\",\r\n datetime: \"datetime-local\"\r\n },\r\n toStandardDateFormat: function(date, type) {\r\n var pattern = dateUtils.FORMATS_INFO[type].getStandardPattern();\r\n return dateSerialization.serializeDate(date, pattern)\r\n },\r\n fromStandardDateFormat: function(text) {\r\n var date = dateSerialization.dateParser(text);\r\n return isDate(date) ? date : void 0\r\n },\r\n getMaxMonthDay: function(year, month) {\r\n return new Date(year, month + 1, 0).getDate()\r\n },\r\n mergeDates: function(oldValue, newValue, format) {\r\n if (!newValue) {\r\n return newValue || null\r\n }\r\n if (!oldValue || isNaN(oldValue.getTime())) {\r\n var now = new Date(null);\r\n oldValue = new Date(now.getFullYear(), now.getMonth(), now.getDate())\r\n }\r\n var result = new Date(oldValue.valueOf());\r\n var formatInfo = dateUtils.FORMATS_INFO[format];\r\n each(formatInfo.components, (function() {\r\n var componentInfo = dateUtils.DATE_COMPONENTS_INFO[this];\r\n result[componentInfo.setter](newValue[componentInfo.getter]())\r\n }));\r\n return result\r\n },\r\n getLongestCaptionIndex: function(captionArray) {\r\n var longestIndex = 0;\r\n var longestCaptionLength = 0;\r\n var i;\r\n for (i = 0; i < captionArray.length; ++i) {\r\n if (captionArray[i].length > longestCaptionLength) {\r\n longestIndex = i;\r\n longestCaptionLength = captionArray[i].length\r\n }\r\n }\r\n return longestIndex\r\n },\r\n formatUsesMonthName: function(format) {\r\n return dateLocalization.formatUsesMonthName(format)\r\n },\r\n formatUsesDayName: function(format) {\r\n return dateLocalization.formatUsesDayName(format)\r\n },\r\n getLongestDate: function(format, monthNames, dayNames) {\r\n var stringFormat = getStringFormat(format);\r\n var month = 9;\r\n if (!stringFormat || dateUtils.formatUsesMonthName(stringFormat)) {\r\n month = dateUtils.getLongestCaptionIndex(monthNames)\r\n }\r\n var longestDate = new Date(1888, month, 21, 23, 59, 59, 999);\r\n if (!stringFormat || dateUtils.formatUsesDayName(stringFormat)) {\r\n var date = longestDate.getDate() - longestDate.getDay() + dateUtils.getLongestCaptionIndex(dayNames);\r\n longestDate.setDate(date)\r\n }\r\n return longestDate\r\n },\r\n normalizeTime: function(date) {\r\n date.setSeconds(0);\r\n date.setMilliseconds(0)\r\n }\r\n};\r\ndateUtils.DATE_COMPONENTS_INFO = {\r\n year: {\r\n getter: \"getFullYear\",\r\n setter: \"setFullYear\",\r\n formatter: function(value, date) {\r\n var formatDate = new Date(date.getTime());\r\n formatDate.setFullYear(value);\r\n return dateLocalization.format(formatDate, \"yyyy\")\r\n },\r\n startValue: void 0,\r\n endValue: void 0\r\n },\r\n day: {\r\n getter: \"getDate\",\r\n setter: \"setDate\",\r\n formatter: function(value, date) {\r\n var formatDate = new Date(date.getTime());\r\n formatDate.setDate(value);\r\n return dateLocalization.format(formatDate, \"d\")\r\n },\r\n startValue: 1,\r\n endValue: void 0\r\n },\r\n month: {\r\n getter: \"getMonth\",\r\n setter: \"setMonth\",\r\n formatter: function(value) {\r\n return dateLocalization.getMonthNames()[value]\r\n },\r\n startValue: 0,\r\n endValue: 11\r\n },\r\n hours: {\r\n getter: \"getHours\",\r\n setter: \"setHours\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, value), \"hour\")\r\n },\r\n startValue: 0,\r\n endValue: 23\r\n },\r\n minutes: {\r\n getter: \"getMinutes\",\r\n setter: \"setMinutes\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, value), \"minute\")\r\n },\r\n startValue: 0,\r\n endValue: 59\r\n },\r\n seconds: {\r\n getter: \"getSeconds\",\r\n setter: \"setSeconds\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, 0, value), \"second\")\r\n },\r\n startValue: 0,\r\n endValue: 59\r\n },\r\n milliseconds: {\r\n getter: \"getMilliseconds\",\r\n setter: \"setMilliseconds\",\r\n formatter: function(value) {\r\n return dateLocalization.format(new Date(0, 0, 0, 0, 0, 0, value), \"millisecond\")\r\n },\r\n startValue: 0,\r\n endValue: 999\r\n }\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.navigator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Button from \"../button\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nvar CALENDAR_NAVIGATOR_CLASS = \"dx-calendar-navigator\";\r\nvar CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS = \"dx-calendar-navigator-previous-month\";\r\nvar CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS = \"dx-calendar-navigator-next-month\";\r\nvar CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS = \"dx-calendar-navigator-previous-view\";\r\nvar CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS = \"dx-calendar-navigator-next-view\";\r\nvar CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS = \"dx-calendar-disabled-navigator-link\";\r\nvar CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS = \"dx-calendar-caption-button\";\r\nvar BUTTON_TEXT_CLASS = \"dx-button-text\";\r\nclass Navigator extends Widget {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n onClick: null,\r\n onCaptionClick: null,\r\n type: \"normal\",\r\n stylingMode: \"outlined\",\r\n text: \"\"\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n type: \"default\",\r\n stylingMode: \"text\"\r\n }\r\n }])\r\n }\r\n _init() {\r\n super._init();\r\n this._initActions()\r\n }\r\n _initActions() {\r\n this._clickAction = this._createActionByOption(\"onClick\");\r\n this._captionClickAction = this._createActionByOption(\"onCaptionClick\")\r\n }\r\n _initMarkup() {\r\n super._initMarkup();\r\n this.$element().addClass(CALENDAR_NAVIGATOR_CLASS);\r\n this._renderButtons();\r\n this._renderCaption()\r\n }\r\n _renderButtons() {\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n type: type,\r\n stylingMode: stylingMode\r\n } = this.option();\r\n this._prevButton = this._createComponent($(\"<div>\"), Button, {\r\n focusStateEnabled: false,\r\n icon: rtlEnabled ? \"chevronright\" : \"chevronleft\",\r\n onClick: e => {\r\n this._clickAction({\r\n direction: -1,\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n integrationOptions: {}\r\n });\r\n var $prevButton = this._prevButton.$element().addClass(CALENDAR_NAVIGATOR_PREVIOUS_VIEW_CLASS).addClass(CALENDAR_NAVIGATOR_PREVIOUS_MONTH_CLASS);\r\n this._nextButton = this._createComponent($(\"<div>\"), Button, {\r\n focusStateEnabled: false,\r\n icon: rtlEnabled ? \"chevronleft\" : \"chevronright\",\r\n onClick: e => {\r\n this._clickAction({\r\n direction: 1,\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n integrationOptions: {}\r\n });\r\n var $nextButton = this._nextButton.$element().addClass(CALENDAR_NAVIGATOR_NEXT_VIEW_CLASS).addClass(CALENDAR_NAVIGATOR_NEXT_MONTH_CLASS);\r\n this._caption = this._createComponent($(\"<div>\").addClass(CALENDAR_NAVIGATOR_CAPTION_BUTTON_CLASS), Button, {\r\n focusStateEnabled: false,\r\n onClick: e => {\r\n this._captionClickAction({\r\n event: e\r\n })\r\n },\r\n type: type,\r\n stylingMode: stylingMode,\r\n template: (_, content) => {\r\n var {\r\n text: text\r\n } = this.option();\r\n var viewCaptionTexts = text.split(\" - \");\r\n viewCaptionTexts.forEach(captionText => {\r\n $(content).append($(\"<span>\").addClass(BUTTON_TEXT_CLASS).text(captionText))\r\n })\r\n },\r\n integrationOptions: {}\r\n });\r\n var $caption = this._caption.$element();\r\n this.$element().append($prevButton, $caption, $nextButton)\r\n }\r\n _renderCaption() {\r\n this._caption.option(\"text\", this.option(\"text\"))\r\n }\r\n toggleButton(buttonPrefix, value) {\r\n var buttonName = \"_\" + buttonPrefix + \"Button\";\r\n var button = this[buttonName];\r\n if (button) {\r\n button.option(\"disabled\", value);\r\n button.$element().toggleClass(CALENDAR_NAVIGATOR_DISABLED_LINK_CLASS, value)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"text\":\r\n this._renderCaption();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n}\r\nexport default Navigator;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.base_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport coreDateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n start as hoverStartEventName\r\n} from \"../../events/hover\";\r\nvar {\r\n abstract: abstract\r\n} = Widget;\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_CELL_START_CLASS = \"dx-calendar-cell-start\";\r\nvar CALENDAR_CELL_END_CLASS = \"dx-calendar-cell-end\";\r\nvar CALENDAR_CELL_START_IN_ROW_CLASS = \"dx-calendar-cell-start-in-row\";\r\nvar CALENDAR_CELL_END_IN_ROW_CLASS = \"dx-calendar-cell-end-in-row\";\r\nvar CALENDAR_WEEK_NUMBER_CELL_CLASS = \"dx-calendar-week-number-cell\";\r\nvar CALENDAR_EMPTY_CELL_CLASS = \"dx-calendar-empty-cell\";\r\nvar CALENDAR_TODAY_CLASS = \"dx-calendar-today\";\r\nvar CALENDAR_SELECTED_DATE_CLASS = \"dx-calendar-selected-date\";\r\nvar CALENDAR_CELL_IN_RANGE_CLASS = \"dx-calendar-cell-in-range\";\r\nvar CALENDAR_CELL_RANGE_HOVER_CLASS = \"dx-calendar-cell-range-hover\";\r\nvar CALENDAR_CELL_RANGE_HOVER_START_CLASS = \"dx-calendar-cell-range-hover-start\";\r\nvar CALENDAR_CELL_RANGE_HOVER_END_CLASS = \"dx-calendar-cell-range-hover-end\";\r\nvar CALENDAR_RANGE_START_DATE_CLASS = \"dx-calendar-range-start-date\";\r\nvar CALENDAR_RANGE_END_DATE_CLASS = \"dx-calendar-range-end-date\";\r\nvar CALENDAR_CONTOURED_DATE_CLASS = \"dx-calendar-contoured-date\";\r\nvar NOT_WEEK_CELL_SELECTOR = \"td:not(.\".concat(CALENDAR_WEEK_NUMBER_CELL_CLASS, \")\");\r\nvar CALENDAR_DXCLICK_EVENT_NAME = addNamespace(clickEventName, \"dxCalendar\");\r\nvar CALENDAR_DXHOVERSTART_EVENT_NAME = addNamespace(hoverStartEventName, \"dxCalendar\");\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar BaseView = Widget.inherit({\r\n _getViewName: function() {\r\n return \"base\"\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n date: new Date,\r\n focusStateEnabled: false,\r\n cellTemplate: null,\r\n disabledDates: null,\r\n onCellClick: null,\r\n onCellHover: null,\r\n rowCount: 3,\r\n colCount: 4,\r\n allowValueSelection: true,\r\n _todayDate: () => new Date\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderImpl()\r\n },\r\n _renderImpl: function() {\r\n this.$element().append(this._createTable());\r\n this._createDisabledDatesHandler();\r\n this._renderBody();\r\n this._renderContouredDate();\r\n this._renderValue();\r\n this._renderRange();\r\n this._renderEvents()\r\n },\r\n _createTable: function() {\r\n this._$table = $(\"<table>\");\r\n var localizedWidgetName = messageLocalization.format(\"dxCalendar-ariaWidgetName\");\r\n var localizedHotKeysInfo = messageLocalization.format(\"dxCalendar-ariaHotKeysInfo\");\r\n this.setAria({\r\n label: \"\".concat(localizedWidgetName, \". \").concat(localizedHotKeysInfo),\r\n role: \"grid\"\r\n }, this._$table);\r\n return this._$table\r\n },\r\n _renderBody: function() {\r\n this.$body = $(\"<tbody>\").appendTo(this._$table);\r\n var rowData = {\r\n cellDate: this._getFirstCellData(),\r\n prevCellDate: null\r\n };\r\n for (var rowIndex = 0, rowCount = this.option(\"rowCount\"); rowIndex < rowCount; rowIndex++) {\r\n rowData.row = this._createRow();\r\n for (var colIndex = 0, colCount = this.option(\"colCount\"); colIndex < colCount; colIndex++) {\r\n this._renderCell(rowData, colIndex)\r\n }\r\n this._renderWeekNumberCell(rowData)\r\n }\r\n },\r\n _createRow: function() {\r\n var row = domAdapter.createElement(\"tr\");\r\n this.setAria(\"role\", \"row\", $(row));\r\n this.$body.get(0).appendChild(row);\r\n return row\r\n },\r\n _createCell: function(cellDate, cellIndex) {\r\n var cell = domAdapter.createElement(\"td\");\r\n var $cell = $(cell);\r\n cell.className = this._getClassNameByDate(cellDate, cellIndex);\r\n cell.setAttribute(\"data-value\", dateSerialization.serializeDate(cellDate, coreDateUtils.getShortDateFormat()));\r\n elementData(cell, CALENDAR_DATE_VALUE_KEY, cellDate);\r\n this.setAria({\r\n role: \"gridcell\",\r\n label: this.getCellAriaLabel(cellDate)\r\n }, $cell);\r\n return {\r\n cell: cell,\r\n $cell: $cell\r\n }\r\n },\r\n _renderCell: function(params, cellIndex) {\r\n var {\r\n cellDate: cellDate,\r\n prevCellDate: prevCellDate,\r\n row: row\r\n } = params;\r\n if (prevCellDate) {\r\n coreDateUtils.fixTimezoneGap(prevCellDate, cellDate)\r\n }\r\n params.prevCellDate = cellDate;\r\n var {\r\n cell: cell,\r\n $cell: $cell\r\n } = this._createCell(cellDate, cellIndex);\r\n var cellTemplate = this.option(\"cellTemplate\");\r\n $(row).append(cell);\r\n if (cellTemplate) {\r\n cellTemplate.render(this._prepareCellTemplateData(cellDate, cellIndex, $cell))\r\n } else {\r\n cell.innerHTML = this._getCellText(cellDate)\r\n }\r\n params.cellDate = this._getNextCellData(cellDate)\r\n },\r\n _getClassNameByDate: function(cellDate, cellIndex) {\r\n var className = CALENDAR_CELL_CLASS;\r\n if (this._isTodayCell(cellDate)) {\r\n className += \" \".concat(CALENDAR_TODAY_CLASS)\r\n }\r\n if (this._isDateOutOfRange(cellDate) || this.isDateDisabled(cellDate)) {\r\n className += \" \".concat(CALENDAR_EMPTY_CELL_CLASS)\r\n }\r\n if (this._isOtherView(cellDate)) {\r\n className += \" \".concat(CALENDAR_OTHER_VIEW_CLASS)\r\n }\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n if (0 === cellIndex) {\r\n className += \" \".concat(CALENDAR_CELL_START_IN_ROW_CLASS)\r\n }\r\n if (cellIndex === this.option(\"colCount\") - 1) {\r\n className += \" \".concat(CALENDAR_CELL_END_IN_ROW_CLASS)\r\n }\r\n if (this._isStartDayOfMonth(cellDate)) {\r\n className += \" \".concat(CALENDAR_CELL_START_CLASS)\r\n }\r\n if (this._isEndDayOfMonth(cellDate)) {\r\n className += \" \".concat(CALENDAR_CELL_END_CLASS)\r\n }\r\n }\r\n return className\r\n },\r\n _prepareCellTemplateData: function(cellDate, cellIndex, $cell) {\r\n var isDateCell = cellDate instanceof Date;\r\n var text = isDateCell ? this._getCellText(cellDate) : cellDate;\r\n var date = isDateCell ? cellDate : void 0;\r\n var view = this._getViewName();\r\n return {\r\n model: {\r\n text: text,\r\n date: date,\r\n view: view\r\n },\r\n container: getPublicElement($cell),\r\n index: cellIndex\r\n }\r\n },\r\n _renderEvents: function() {\r\n this._createCellClickAction();\r\n eventsEngine.off(this._$table, CALENDAR_DXCLICK_EVENT_NAME);\r\n eventsEngine.on(this._$table, CALENDAR_DXCLICK_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, e => {\r\n if (!$(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n this._cellClickAction({\r\n event: e,\r\n value: $(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n });\r\n eventsEngine.off(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME);\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n this._createCellHoverAction();\r\n eventsEngine.on(this._$table, CALENDAR_DXHOVERSTART_EVENT_NAME, NOT_WEEK_CELL_SELECTOR, e => {\r\n if (!$(e.currentTarget).hasClass(CALENDAR_EMPTY_CELL_CLASS)) {\r\n this._cellHoverAction({\r\n event: e,\r\n value: $(e.currentTarget).data(CALENDAR_DATE_VALUE_KEY)\r\n })\r\n }\r\n })\r\n }\r\n },\r\n _createCellClickAction: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\")\r\n },\r\n _createCellHoverAction: function() {\r\n this._cellHoverAction = this._createActionByOption(\"onCellHover\")\r\n },\r\n _createDisabledDatesHandler: function() {\r\n var disabledDates = this.option(\"disabledDates\");\r\n this._disabledDatesHandler = Array.isArray(disabledDates) ? this._getDefaultDisabledDatesHandler(disabledDates) : disabledDates || noop\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return noop\r\n },\r\n _isTodayCell: abstract,\r\n _isDateOutOfRange: abstract,\r\n isDateDisabled: function(cellDate) {\r\n var dateParts = {\r\n date: cellDate,\r\n view: this._getViewName()\r\n };\r\n return this._disabledDatesHandler(dateParts)\r\n },\r\n _isOtherView: abstract,\r\n _isStartDayOfMonth: abstract,\r\n _isEndDayOfMonth: abstract,\r\n _getCellText: abstract,\r\n _getFirstCellData: abstract,\r\n _getNextCellData: abstract,\r\n _renderContouredDate: function(contouredDate) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n contouredDate = contouredDate || this.option(\"contouredDate\");\r\n var $oldContouredCell = this._getContouredCell();\r\n var $newContouredCell = this._getCellByDate(contouredDate);\r\n $oldContouredCell.removeClass(CALENDAR_CONTOURED_DATE_CLASS);\r\n if (contouredDate) {\r\n $newContouredCell.addClass(CALENDAR_CONTOURED_DATE_CLASS)\r\n }\r\n },\r\n _getContouredCell: function() {\r\n return this._$table.find(\".\".concat(CALENDAR_CONTOURED_DATE_CLASS))\r\n },\r\n _renderValue: function() {\r\n if (!this.option(\"allowValueSelection\")) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n if (!Array.isArray(value)) {\r\n value = [value]\r\n }\r\n this._updateSelectedClass(value)\r\n },\r\n _updateSelectedClass: function(value) {\r\n var _this$_$selectedCells;\r\n null === (_this$_$selectedCells = this._$selectedCells) || void 0 === _this$_$selectedCells ? void 0 : _this$_$selectedCells.forEach($cell => {\r\n $cell.removeClass(CALENDAR_SELECTED_DATE_CLASS)\r\n });\r\n this._$selectedCells = value.map(value => this._getCellByDate(value));\r\n this._$selectedCells.forEach($cell => {\r\n $cell.addClass(CALENDAR_SELECTED_DATE_CLASS)\r\n })\r\n },\r\n _renderRange: function() {\r\n var _this$_$rangeCells, _this$_$hoveredRangeC, _this$_$rangeStartHov, _this$_$rangeEndHover, _this$_$rangeStartDat, _this$_$rangeEndDateC, _this$_$rangeStartDat2, _this$_$rangeEndDateC2;\r\n var {\r\n allowValueSelection: allowValueSelection,\r\n selectionMode: selectionMode,\r\n value: value,\r\n range: range\r\n } = this.option();\r\n if (!allowValueSelection || \"range\" !== selectionMode) {\r\n return\r\n }\r\n null === (_this$_$rangeCells = this._$rangeCells) || void 0 === _this$_$rangeCells ? void 0 : _this$_$rangeCells.forEach($cell => {\r\n $cell.removeClass(CALENDAR_CELL_IN_RANGE_CLASS)\r\n });\r\n null === (_this$_$hoveredRangeC = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC ? void 0 : _this$_$hoveredRangeC.forEach($cell => {\r\n $cell.removeClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n });\r\n null === (_this$_$rangeStartHov = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov ? void 0 : _this$_$rangeStartHov.removeClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover ? void 0 : _this$_$rangeEndHover.removeClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS);\r\n null === (_this$_$rangeStartDat = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat ? void 0 : _this$_$rangeStartDat.removeClass(CALENDAR_RANGE_START_DATE_CLASS);\r\n null === (_this$_$rangeEndDateC = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC ? void 0 : _this$_$rangeEndDateC.removeClass(CALENDAR_RANGE_END_DATE_CLASS);\r\n this._$rangeCells = range.map(value => this._getCellByDate(value));\r\n this._$rangeStartDateCell = this._getCellByDate(value[0]);\r\n this._$rangeEndDateCell = this._getCellByDate(value[1]);\r\n this._$rangeCells.forEach($cell => {\r\n $cell.addClass(CALENDAR_CELL_IN_RANGE_CLASS)\r\n });\r\n null === (_this$_$rangeStartDat2 = this._$rangeStartDateCell) || void 0 === _this$_$rangeStartDat2 ? void 0 : _this$_$rangeStartDat2.addClass(CALENDAR_RANGE_START_DATE_CLASS);\r\n null === (_this$_$rangeEndDateC2 = this._$rangeEndDateCell) || void 0 === _this$_$rangeEndDateC2 ? void 0 : _this$_$rangeEndDateC2.addClass(CALENDAR_RANGE_END_DATE_CLASS)\r\n },\r\n _renderHoveredRange() {\r\n var _this$_$hoveredRangeC2, _this$_$rangeStartHov2, _this$_$rangeEndHover2, _this$_$rangeStartHov3, _this$_$rangeEndHover3;\r\n var {\r\n allowValueSelection: allowValueSelection,\r\n selectionMode: selectionMode,\r\n hoveredRange: hoveredRange\r\n } = this.option();\r\n if (!allowValueSelection || \"range\" !== selectionMode) {\r\n return\r\n }\r\n null === (_this$_$hoveredRangeC2 = this._$hoveredRangeCells) || void 0 === _this$_$hoveredRangeC2 ? void 0 : _this$_$hoveredRangeC2.forEach($cell => {\r\n $cell.removeClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n });\r\n null === (_this$_$rangeStartHov2 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov2 ? void 0 : _this$_$rangeStartHov2.removeClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover2 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover2 ? void 0 : _this$_$rangeEndHover2.removeClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS);\r\n this._$hoveredRangeCells = hoveredRange.map(value => this._getCellByDate(value));\r\n this._$rangeStartHoverCell = this._getCellByDate(hoveredRange[0]);\r\n this._$rangeEndHoverCell = this._getCellByDate(hoveredRange[hoveredRange.length - 1]);\r\n this._$hoveredRangeCells.forEach($cell => {\r\n $cell.addClass(CALENDAR_CELL_RANGE_HOVER_CLASS)\r\n });\r\n null === (_this$_$rangeStartHov3 = this._$rangeStartHoverCell) || void 0 === _this$_$rangeStartHov3 ? void 0 : _this$_$rangeStartHov3.addClass(CALENDAR_CELL_RANGE_HOVER_START_CLASS);\r\n null === (_this$_$rangeEndHover3 = this._$rangeEndHoverCell) || void 0 === _this$_$rangeEndHover3 ? void 0 : _this$_$rangeEndHover3.addClass(CALENDAR_CELL_RANGE_HOVER_END_CLASS)\r\n },\r\n getCellAriaLabel: function(date) {\r\n return this._getCellText(date)\r\n },\r\n _getFirstAvailableDate: function() {\r\n var date = this.option(\"date\");\r\n var min = this.option(\"min\");\r\n date = coreDateUtils.getViewFirstCellDate(this._getViewName(), date);\r\n return new Date(min && date < min ? min : date)\r\n },\r\n _getCellByDate: abstract,\r\n isBoundary: abstract,\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value\r\n } = args;\r\n switch (name) {\r\n case \"value\":\r\n this._renderValue();\r\n break;\r\n case \"range\":\r\n this._renderRange();\r\n break;\r\n case \"hoveredRange\":\r\n this._renderHoveredRange();\r\n break;\r\n case \"contouredDate\":\r\n this._renderContouredDate(value);\r\n break;\r\n case \"onCellClick\":\r\n this._createCellClickAction();\r\n break;\r\n case \"onCellHover\":\r\n this._createCellHoverAction();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n case \"disabledDates\":\r\n case \"cellTemplate\":\r\n case \"selectionMode\":\r\n this._invalidate();\r\n break;\r\n case \"_todayDate\":\r\n this._renderBody();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default BaseView;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.views.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport BaseView from \"./ui.calendar.base_view\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nvar CALENDAR_OTHER_MONTH_CLASS = \"dx-calendar-other-month\";\r\nvar CALENDAR_OTHER_VIEW_CLASS = \"dx-calendar-other-view\";\r\nvar CALENDAR_WEEK_NUMBER_CELL_CLASS = \"dx-calendar-week-number-cell\";\r\nvar Views = {\r\n month: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"month\"\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n firstDayOfWeek: 0,\r\n rowCount: 6,\r\n colCount: 7\r\n })\r\n },\r\n _renderImpl: function() {\r\n this.callBase();\r\n this._renderHeader()\r\n },\r\n _renderBody: function() {\r\n this.callBase();\r\n this._$table.find(\".\".concat(CALENDAR_OTHER_VIEW_CLASS)).addClass(CALENDAR_OTHER_MONTH_CLASS)\r\n },\r\n _renderFocusTarget: noop,\r\n getCellAriaLabel: function(date) {\r\n return dateLocalization.format(date, \"longdate\")\r\n },\r\n _renderHeader: function() {\r\n var $headerRow = $(\"<tr>\");\r\n var $header = $(\"<thead>\").append($headerRow);\r\n this._$table.prepend($header);\r\n for (var colIndex = 0, colCount = this.option(\"colCount\"); colIndex < colCount; colIndex++) {\r\n this._renderHeaderCell(colIndex, $headerRow)\r\n }\r\n if (this.option(\"showWeekNumbers\")) {\r\n this._renderWeekHeaderCell($headerRow)\r\n }\r\n },\r\n _renderHeaderCell: function(cellIndex, $headerRow) {\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n var {\r\n full: fullCaption,\r\n abbreviated: abbrCaption\r\n } = this._getDayCaption(firstDayOfWeek + cellIndex);\r\n var $cell = $(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: fullCaption\r\n }).text(abbrCaption);\r\n $headerRow.append($cell)\r\n },\r\n _renderWeekHeaderCell: function($headerRow) {\r\n var $weekNumberHeaderCell = $(\"<th>\").attr({\r\n scope: \"col\",\r\n abbr: \"WeekNumber\",\r\n class: \"dx-week-number-header\"\r\n });\r\n $headerRow.prepend($weekNumberHeaderCell)\r\n },\r\n _renderWeekNumberCell: function(rowData) {\r\n var {\r\n showWeekNumbers: showWeekNumbers,\r\n cellTemplate: cellTemplate\r\n } = this.option();\r\n if (!showWeekNumbers) {\r\n return\r\n }\r\n var weekNumber = this._getWeekNumber(rowData.prevCellDate);\r\n var cell = domAdapter.createElement(\"td\");\r\n var $cell = $(cell);\r\n cell.className = CALENDAR_WEEK_NUMBER_CELL_CLASS;\r\n if (cellTemplate) {\r\n cellTemplate.render(this._prepareCellTemplateData(weekNumber, -1, $cell))\r\n } else {\r\n cell.innerHTML = weekNumber\r\n }\r\n rowData.row.prepend(cell);\r\n this.setAria({\r\n role: \"gridcell\",\r\n label: \"Week \".concat(weekNumber)\r\n }, $cell)\r\n },\r\n _getWeekNumber: function(date) {\r\n var {\r\n weekNumberRule: weekNumberRule,\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n if (\"auto\" === weekNumberRule) {\r\n return dateUtils.getWeekNumber(date, firstDayOfWeek, 1 === firstDayOfWeek ? \"firstFourDays\" : \"firstDay\")\r\n }\r\n return dateUtils.getWeekNumber(date, firstDayOfWeek, weekNumberRule)\r\n },\r\n getNavigatorCaption: function() {\r\n return dateLocalization.format(this.option(\"date\"), \"monthandyear\")\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameDate(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var minDate = this.option(\"min\");\r\n var maxDate = this.option(\"max\");\r\n return !dateUtils.dateInRange(cellDate, minDate, maxDate, \"date\")\r\n },\r\n _isOtherView: function(cellDate) {\r\n return cellDate.getMonth() !== this.option(\"date\").getMonth()\r\n },\r\n _isStartDayOfMonth: function(cellDate) {\r\n return dateUtils.sameDate(cellDate, dateUtils.getFirstMonthDate(this.option(\"date\")))\r\n },\r\n _isEndDayOfMonth: function(cellDate) {\r\n return dateUtils.sameDate(cellDate, dateUtils.getLastMonthDate(this.option(\"date\")))\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.format(cellDate, \"d\")\r\n },\r\n _getDayCaption: function(day) {\r\n var daysInWeek = this.option(\"colCount\");\r\n var dayIndex = day % daysInWeek;\r\n return {\r\n full: dateLocalization.getDayNames()[dayIndex],\r\n abbreviated: dateLocalization.getDayNames(\"abbreviated\")[dayIndex]\r\n }\r\n },\r\n _getFirstCellData: function() {\r\n var {\r\n firstDayOfWeek: firstDayOfWeek\r\n } = this.option();\r\n var firstDay = dateUtils.getFirstMonthDate(this.option(\"date\"));\r\n var firstMonthDayOffset = firstDayOfWeek - firstDay.getDay();\r\n var daysInWeek = this.option(\"colCount\");\r\n if (firstMonthDayOffset >= 0) {\r\n firstMonthDayOffset -= daysInWeek\r\n }\r\n firstDay.setDate(firstDay.getDate() + firstMonthDayOffset);\r\n return firstDay\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setDate(date.getDate() + 1);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(date, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameMonthAndYear(date, this.option(\"min\")) || dateUtils.sameMonthAndYear(date, this.option(\"max\"))\r\n },\r\n _getDefaultDisabledDatesHandler: function(disabledDates) {\r\n return function(args) {\r\n var isDisabledDate = disabledDates.some((function(item) {\r\n return dateUtils.sameDate(item, args.date)\r\n }));\r\n if (isDisabledDate) {\r\n return true\r\n }\r\n }\r\n }\r\n }),\r\n year: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"year\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameMonthAndYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n return !dateUtils.dateInRange(cellDate, dateUtils.getFirstMonthDate(this.option(\"min\")), dateUtils.getLastMonthDate(this.option(\"max\")))\r\n },\r\n _isOtherView: function() {\r\n return false\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.getMonthNames(\"abbreviated\")[cellDate.getMonth()]\r\n },\r\n _getFirstCellData: function() {\r\n var currentDate = this.option(\"date\");\r\n var data = new Date(currentDate);\r\n data.setDate(1);\r\n data.setMonth(0);\r\n return data\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setMonth(date.getMonth() + 1);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n getCellAriaLabel: function(date) {\r\n return dateLocalization.format(date, \"monthandyear\")\r\n },\r\n getNavigatorCaption: function() {\r\n return dateLocalization.format(this.option(\"date\"), \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameYear(date, this.option(\"min\")) || dateUtils.sameYear(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n }),\r\n decade: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"decade\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameYear(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n return !dateUtils.dateInRange(cellDate.getFullYear(), min && min.getFullYear(), max && max.getFullYear())\r\n },\r\n _isOtherView: function(cellDate) {\r\n var date = new Date(cellDate);\r\n date.setMonth(1);\r\n return !dateUtils.sameDecade(date, this.option(\"date\"))\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n return dateLocalization.format(cellDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var year = dateUtils.getFirstYearInDecade(this.option(\"date\")) - 1;\r\n return dateUtils.createDateWithFullYear(year, 0, 1)\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setFullYear(date.getFullYear() + 1);\r\n return date\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstYearInDecade = dateUtils.getFirstYearInDecade(currentDate);\r\n var startDate = new Date(currentDate);\r\n var endDate = new Date(currentDate);\r\n startDate.setFullYear(firstYearInDecade);\r\n endDate.setFullYear(firstYearInDecade + 9);\r\n return dateLocalization.format(startDate, \"yyyy\") + \"-\" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n _isValueOnCurrentView: function(currentDate, value) {\r\n return dateUtils.sameDecade(currentDate, value)\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n foundDate.setMonth(0);\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameDecade(date, this.option(\"min\")) || dateUtils.sameDecade(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n }),\r\n century: BaseView.inherit({\r\n _getViewName: function() {\r\n return \"century\"\r\n },\r\n _isTodayCell: function(cellDate) {\r\n var today = this.option(\"_todayDate\")();\r\n return dateUtils.sameDecade(cellDate, today)\r\n },\r\n _isDateOutOfRange: function(cellDate) {\r\n var decade = dateUtils.getFirstYearInDecade(cellDate);\r\n var minDecade = dateUtils.getFirstYearInDecade(this.option(\"min\"));\r\n var maxDecade = dateUtils.getFirstYearInDecade(this.option(\"max\"));\r\n return !dateUtils.dateInRange(decade, minDecade, maxDecade)\r\n },\r\n _isOtherView: function(cellDate) {\r\n var date = new Date(cellDate);\r\n date.setMonth(1);\r\n return !dateUtils.sameCentury(date, this.option(\"date\"))\r\n },\r\n _isStartDayOfMonth: function() {\r\n return false\r\n },\r\n _isEndDayOfMonth: function() {\r\n return false\r\n },\r\n _getCellText: function(cellDate) {\r\n var startDate = dateLocalization.format(cellDate, \"yyyy\");\r\n var endDate = new Date(cellDate);\r\n endDate.setFullYear(endDate.getFullYear() + 9);\r\n return startDate + \" - \" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n _getFirstCellData: function() {\r\n var decade = dateUtils.getFirstDecadeInCentury(this.option(\"date\")) - 10;\r\n return dateUtils.createDateWithFullYear(decade, 0, 1)\r\n },\r\n _getNextCellData: function(date) {\r\n date = new Date(date);\r\n date.setFullYear(date.getFullYear() + 10);\r\n return date\r\n },\r\n _getCellByDate: function(date) {\r\n var foundDate = new Date(date);\r\n foundDate.setDate(1);\r\n foundDate.setMonth(0);\r\n foundDate.setFullYear(dateUtils.getFirstYearInDecade(foundDate));\r\n return this._$table.find(\"td[data-value='\".concat(dateSerialization.serializeDate(foundDate, dateUtils.getShortDateFormat()), \"']\"))\r\n },\r\n getNavigatorCaption: function() {\r\n var currentDate = this.option(\"date\");\r\n var firstDecadeInCentury = dateUtils.getFirstDecadeInCentury(currentDate);\r\n var startDate = new Date(currentDate);\r\n var endDate = new Date(currentDate);\r\n startDate.setFullYear(firstDecadeInCentury);\r\n endDate.setFullYear(firstDecadeInCentury + 99);\r\n return dateLocalization.format(startDate, \"yyyy\") + \"-\" + dateLocalization.format(endDate, \"yyyy\")\r\n },\r\n isBoundary: function(date) {\r\n return dateUtils.sameCentury(date, this.option(\"min\")) || dateUtils.sameCentury(date, this.option(\"max\"))\r\n },\r\n _renderWeekNumberCell: noop\r\n })\r\n};\r\nexport default Views;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass CalendarSelectionStrategy {\r\n constructor(component) {\r\n this.calendar = component\r\n }\r\n dateOption(optionName) {\r\n return this.calendar._dateOption(optionName)\r\n }\r\n dateValue(value, e) {\r\n this.calendar._dateValue(value, e)\r\n }\r\n skipNavigate() {\r\n this.calendar._skipNavigate = true\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n this.calendar._updateAriaSelected(value, previousValue);\r\n if (value[0] && this.calendar.option(\"currentDate\").getTime() === value[0].getTime()) {\r\n this.calendar._updateAriaId(value[0])\r\n }\r\n }\r\n processValueChanged(value, previousValue) {\r\n var _value, _previousValue;\r\n value = (null === (_value = value) || void 0 === _value ? void 0 : _value.map(item => this._convertToDate(item))) || [];\r\n previousValue = (null === (_previousValue = previousValue) || void 0 === _previousValue ? void 0 : _previousValue.map(item => this._convertToDate(item))) || [];\r\n this._updateViewsValue(value);\r\n this.updateAriaSelected(value, previousValue);\r\n if (!this._currentDateChanged) {\r\n this.calendar._initCurrentDate()\r\n }\r\n this._currentDateChanged = false\r\n }\r\n _getLowestDateInArray(dates) {\r\n if (dates.length) {\r\n return new Date(Math.min(...dates))\r\n }\r\n }\r\n _convertToDate(value) {\r\n return this.calendar._convertToDate(value)\r\n }\r\n _isMaxZoomLevel() {\r\n return this.calendar._isMaxZoomLevel()\r\n }\r\n _updateViewsOption(optionName, optionValue) {\r\n this.calendar._updateViewsOption(optionName, optionValue)\r\n }\r\n _updateViewsValue(value) {\r\n this._updateViewsOption(\"value\", value)\r\n }\r\n _updateCurrentDate(value) {\r\n this.calendar.option(\"currentDate\", null !== value && void 0 !== value ? value : new Date)\r\n }\r\n}\r\nexport default CalendarSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.single.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CalendarSelectionStrategy from \"./ui.calendar.selection.strategy\";\r\nclass CalendarSingleSelectionStrategy extends CalendarSelectionStrategy {\r\n constructor(component) {\r\n super(component);\r\n this.NAME = \"SingleSelection\"\r\n }\r\n getViewOptions() {\r\n return {\r\n value: this.dateOption(\"value\"),\r\n range: [],\r\n selectionMode: \"single\"\r\n }\r\n }\r\n selectValue(selectedValue, e) {\r\n this.skipNavigate();\r\n this.dateValue(selectedValue, e)\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = [this.dateOption(\"value\")];\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n super.updateAriaSelected(value, previousValue)\r\n }\r\n getDefaultCurrentDate() {\r\n return this.dateOption(\"value\")\r\n }\r\n _updateViewsValue(value) {\r\n this._updateViewsOption(\"value\", value[0])\r\n }\r\n}\r\nexport default CalendarSingleSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.multi.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CalendarSelectionStrategy from \"./ui.calendar.selection.strategy\";\r\nclass CalendarMultiSelectionStrategy extends CalendarSelectionStrategy {\r\n constructor(component) {\r\n super(component);\r\n this.NAME = \"MultiSelection\"\r\n }\r\n getViewOptions() {\r\n return {\r\n value: this.dateOption(\"values\"),\r\n range: [],\r\n selectionMode: \"multi\"\r\n }\r\n }\r\n selectValue(selectedValue, e) {\r\n var values = [...this.dateOption(\"values\")];\r\n var alreadySelectedIndex = values.findIndex(date => (null === date || void 0 === date ? void 0 : date.toDateString()) === selectedValue.toDateString());\r\n if (alreadySelectedIndex > -1) {\r\n values.splice(alreadySelectedIndex, 1)\r\n } else {\r\n values.push(selectedValue)\r\n }\r\n this.skipNavigate();\r\n this._updateCurrentDate(selectedValue);\r\n this._currentDateChanged = true;\r\n this.dateValue(values, e)\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = this.dateOption(\"values\");\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n super.updateAriaSelected(value, previousValue)\r\n }\r\n getDefaultCurrentDate() {\r\n var dates = this.dateOption(\"values\").filter(value => value);\r\n return this._getLowestDateInArray(dates)\r\n }\r\n}\r\nexport default CalendarMultiSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.range.selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport CalendarSelectionStrategy from \"./ui.calendar.selection.strategy\";\r\nvar DAY_INTERVAL = 864e5;\r\nvar RANGE_OFFSET = 120 * DAY_INTERVAL;\r\nclass CalendarRangeSelectionStrategy extends CalendarSelectionStrategy {\r\n constructor(component) {\r\n super(component);\r\n this.NAME = \"RangeSelection\"\r\n }\r\n getViewOptions() {\r\n var value = this._getValues();\r\n var range = this._getDaysInRange(value[0], value[1]);\r\n return {\r\n value: value,\r\n range: range,\r\n selectionMode: \"range\",\r\n onCellHover: this._cellHoverHandler.bind(this)\r\n }\r\n }\r\n selectValue(selectedValue, e) {\r\n var [startDate, endDate] = this._getValues();\r\n this.skipNavigate();\r\n this._updateCurrentDate(selectedValue);\r\n this._currentDateChanged = true;\r\n if (true === this.calendar.option(\"_allowChangeSelectionOrder\")) {\r\n this.calendar._valueSelected = true;\r\n if (\"startDate\" === this.calendar.option(\"_currentSelection\")) {\r\n if (this.calendar._convertToDate(selectedValue) > this.calendar._convertToDate(endDate)) {\r\n this.dateValue([selectedValue, null], e)\r\n } else {\r\n this.dateValue([selectedValue, endDate], e)\r\n }\r\n } else if (this.calendar._convertToDate(selectedValue) >= this.calendar._convertToDate(startDate)) {\r\n this.dateValue([startDate, selectedValue], e)\r\n } else {\r\n this.dateValue([selectedValue, null], e)\r\n }\r\n } else if (!startDate || endDate) {\r\n this.dateValue([selectedValue, null], e)\r\n } else {\r\n this.dateValue(startDate < selectedValue ? [startDate, selectedValue] : [selectedValue, startDate], e)\r\n }\r\n }\r\n updateAriaSelected(value, previousValue) {\r\n var _value, _previousValue;\r\n null !== (_value = value) && void 0 !== _value ? _value : value = this._getValues();\r\n null !== (_previousValue = previousValue) && void 0 !== _previousValue ? _previousValue : previousValue = [];\r\n super.updateAriaSelected(value, previousValue)\r\n }\r\n processValueChanged(value, previousValue) {\r\n super.processValueChanged(value, previousValue);\r\n var range = this._getRange();\r\n this._updateViewsOption(\"range\", range)\r\n }\r\n getDefaultCurrentDate() {\r\n var {\r\n _allowChangeSelectionOrder: _allowChangeSelectionOrder,\r\n _currentSelection: _currentSelection\r\n } = this.calendar.option();\r\n var values = this.dateOption(\"values\");\r\n if (_allowChangeSelectionOrder) {\r\n if (\"startDate\" === _currentSelection && values[0]) {\r\n return values[0]\r\n }\r\n if (\"endDate\" === _currentSelection && values[1]) {\r\n return values[1]\r\n }\r\n }\r\n var dates = values.filter(value => value);\r\n return this._getLowestDateInArray(dates)\r\n }\r\n _getValues() {\r\n var values = this.dateOption(\"values\");\r\n if (!values.length) {\r\n return values\r\n }\r\n var [startDate, endDate] = values;\r\n if (startDate && endDate && startDate > endDate) {\r\n [startDate, endDate] = [endDate, startDate]\r\n }\r\n return [startDate, endDate]\r\n }\r\n _getRange() {\r\n var [startDate, endDate] = this._getValues();\r\n return this._getDaysInRange(startDate, endDate)\r\n }\r\n _getDaysInRange(startDate, endDate) {\r\n if (!startDate || !endDate) {\r\n return []\r\n }\r\n var currentDate = this.calendar.option(\"currentDate\").getTime();\r\n var rangeStartDate = new Date(Math.max(currentDate - RANGE_OFFSET, startDate));\r\n var rangeEndDate = new Date(Math.min(currentDate + RANGE_OFFSET, endDate));\r\n return [...dateUtils.getDatesOfInterval(rangeStartDate, rangeEndDate, DAY_INTERVAL), rangeEndDate]\r\n }\r\n _cellHoverHandler(e) {\r\n var isMaxZoomLevel = this._isMaxZoomLevel();\r\n var [startDate, endDate] = this._getValues();\r\n var {\r\n _allowChangeSelectionOrder: _allowChangeSelectionOrder,\r\n _currentSelection: _currentSelection\r\n } = this.calendar.option();\r\n if (isMaxZoomLevel) {\r\n var skipHoveredRange = _allowChangeSelectionOrder && \"startDate\" === _currentSelection;\r\n if (startDate && !endDate && !skipHoveredRange) {\r\n if (e.value > startDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(startDate, e.value));\r\n return\r\n }\r\n } else if (!startDate && endDate && !(_allowChangeSelectionOrder && \"endDate\" === _currentSelection)) {\r\n if (e.value < endDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(e.value, endDate));\r\n return\r\n }\r\n } else if (startDate && endDate) {\r\n if (\"startDate\" === _currentSelection && e.value < startDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(e.value, startDate));\r\n return\r\n } else if (\"endDate\" === _currentSelection && e.value > endDate) {\r\n this._updateViewsOption(\"hoveredRange\", this._getDaysInRange(endDate, e.value));\r\n return\r\n }\r\n }\r\n this._updateViewsOption(\"hoveredRange\", [])\r\n }\r\n }\r\n}\r\nexport default CalendarRangeSelectionStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/calendar/ui.calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isNumeric,\r\n isString,\r\n isFunction,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Button from \"../button\";\r\nimport Editor from \"../editor/editor\";\r\nimport Swipeable from \"../../events/gesture/swipeable\";\r\nimport Navigator from \"./ui.calendar.navigator\";\r\nimport Views from \"./ui.calendar.views\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport {\r\n isCommandKeyPressed,\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport CalendarSingleSelectionStrategy from \"./ui.calendar.single.selection.strategy\";\r\nimport CalendarMultiSelectionStrategy from \"./ui.calendar.multi.selection.strategy\";\r\nimport CalendarRangeSelectionStrategy from \"./ui.calendar.range.selection.strategy\";\r\nimport {\r\n end as hoverEndEventName\r\n} from \"../../events/hover\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nvar CALENDAR_CLASS = \"dx-calendar\";\r\nvar CALENDAR_BODY_CLASS = \"dx-calendar-body\";\r\nvar CALENDAR_CELL_CLASS = \"dx-calendar-cell\";\r\nvar CALENDAR_FOOTER_CLASS = \"dx-calendar-footer\";\r\nvar CALENDAR_TODAY_BUTTON_CLASS = \"dx-calendar-today-button\";\r\nvar CALENDAR_HAS_FOOTER_CLASS = \"dx-calendar-with-footer\";\r\nvar CALENDAR_VIEWS_WRAPPER_CLASS = \"dx-calendar-views-wrapper\";\r\nvar CALENDAR_VIEW_CLASS = \"dx-calendar-view\";\r\nvar CALENDAR_MULTIVIEW_CLASS = \"dx-calendar-multiview\";\r\nvar CALENDAR_RANGE_CLASS = \"dx-calendar-range\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\nvar ANIMATION_DURATION_SHOW_VIEW = 250;\r\nvar POP_ANIMATION_FROM = .6;\r\nvar POP_ANIMATION_TO = 1;\r\nvar CALENDAR_INPUT_STANDARD_PATTERN = \"yyyy-MM-dd\";\r\nvar CALENDAR_DATE_VALUE_KEY = \"dxDateValueKey\";\r\nvar CALENDAR_DXHOVEREND_EVENT_NAME = addNamespace(hoverEndEventName, \"dxCalendar\");\r\nvar LEVEL_COMPARE_MAP = {\r\n month: 3,\r\n year: 2,\r\n decade: 1,\r\n century: 0\r\n};\r\nvar ZOOM_LEVEL = {\r\n MONTH: \"month\",\r\n YEAR: \"year\",\r\n DECADE: \"decade\",\r\n CENTURY: \"century\"\r\n};\r\nvar SELECTION_STRATEGIES = {\r\n SingleSelection: CalendarSingleSelectionStrategy,\r\n MultiSelection: CalendarMultiSelectionStrategy,\r\n RangeSelection: CalendarRangeSelectionStrategy\r\n};\r\n\r\nfunction elementHasFocus(element) {\r\n return element.hasClass(FOCUSED_STATE_CLASS)\r\n}\r\nvar Calendar = Editor.inherit({\r\n _activeStateUnit: \".\" + CALENDAR_CELL_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n currentDate: new Date,\r\n value: null,\r\n values: [],\r\n dateSerializationFormat: void 0,\r\n min: new Date(1e3, 0),\r\n max: new Date(3e3, 0),\r\n firstDayOfWeek: void 0,\r\n viewsCount: 1,\r\n zoomLevel: ZOOM_LEVEL.MONTH,\r\n maxZoomLevel: ZOOM_LEVEL.MONTH,\r\n minZoomLevel: ZOOM_LEVEL.CENTURY,\r\n selectionMode: \"single\",\r\n showTodayButton: false,\r\n showWeekNumbers: false,\r\n weekNumberRule: \"auto\",\r\n cellTemplate: \"cell\",\r\n disabledDates: null,\r\n onCellClick: null,\r\n onContouredChanged: null,\r\n skipFocusCheck: false,\r\n _todayDate: () => new Date\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n rightArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._waitRenderView(1)\r\n } else {\r\n this._moveCurrentDateByOffset(1 * this._getRtlCorrection())\r\n }\r\n },\r\n leftArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._waitRenderView(-1)\r\n } else {\r\n this._moveCurrentDateByOffset(-1 * this._getRtlCorrection())\r\n }\r\n },\r\n upArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._navigateUp()\r\n } else {\r\n if (fx.isAnimating(this._view.$element())) {\r\n return\r\n }\r\n this._moveCurrentDateByOffset(-1 * this._view.option(\"colCount\"))\r\n }\r\n },\r\n downArrow: function(e) {\r\n e.preventDefault();\r\n if (isCommandKeyPressed(e)) {\r\n this._navigateDown()\r\n } else {\r\n if (fx.isAnimating(this._view.$element())) {\r\n return\r\n }\r\n this._moveCurrentDateByOffset(1 * this._view.option(\"colCount\"))\r\n }\r\n },\r\n home: function(e) {\r\n e.preventDefault();\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var currentDate = this.option(\"currentDate\");\r\n var min = this._dateOption(\"min\");\r\n if (this._view.isDateDisabled(currentDate)) {\r\n return\r\n }\r\n var date = dateUtils.sameView(zoomLevel, currentDate, min) ? min : dateUtils.getViewFirstCellDate(zoomLevel, currentDate);\r\n this._moveToClosestAvailableDate(date)\r\n },\r\n end: function(e) {\r\n e.preventDefault();\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var currentDate = this.option(\"currentDate\");\r\n var max = this._dateOption(\"max\");\r\n if (this._view.isDateDisabled(currentDate)) {\r\n return\r\n }\r\n var date = dateUtils.sameView(zoomLevel, currentDate, max) ? max : dateUtils.getViewLastCellDate(zoomLevel, currentDate);\r\n this._moveToClosestAvailableDate(date)\r\n },\r\n pageUp: function(e) {\r\n e.preventDefault();\r\n this._waitRenderView(-1 * this._getRtlCorrection())\r\n },\r\n pageDown: function(e) {\r\n e.preventDefault();\r\n this._waitRenderView(1 * this._getRtlCorrection())\r\n },\r\n tab: noop,\r\n enter: this._enterKeyHandler\r\n })\r\n },\r\n _enterKeyHandler: function(e) {\r\n if (!this._isMaxZoomLevel()) {\r\n this._navigateDown()\r\n } else if (!this._view.isDateDisabled(this.option(\"currentDate\"))) {\r\n var value = this._updateTimeComponent(this.option(\"currentDate\"));\r\n this._selectionStrategy.selectValue(value, e)\r\n }\r\n },\r\n _getSerializationFormat: function(optionName) {\r\n var value = this.option(optionName || \"value\");\r\n if (this.option(\"dateSerializationFormat\")) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if (isNumeric(value)) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n },\r\n _convertToDate: function(value) {\r\n return dateSerialization.deserializeDate(value)\r\n },\r\n _dateValue: function(value, event) {\r\n var optionName = Array.isArray(value) ? \"values\" : \"value\";\r\n if (event) {\r\n if (\"keydown\" === event.type) {\r\n var cellElement = this._view._getContouredCell().get(0);\r\n event.target = cellElement\r\n }\r\n this._saveValueChangeEvent(event)\r\n }\r\n this._dateOption(optionName, value)\r\n },\r\n _dateOption: function(optionName, optionValue) {\r\n if (1 === arguments.length) {\r\n var _this$option;\r\n var values = null !== (_this$option = this.option(\"values\")) && void 0 !== _this$option ? _this$option : [];\r\n return \"values\" === optionName ? values.map(value => this._convertToDate(value)) : this._convertToDate(this.option(optionName))\r\n }\r\n var serializationFormat = this._getSerializationFormat(optionName);\r\n var serializedValue = \"values\" === optionName ? (null === optionValue || void 0 === optionValue ? void 0 : optionValue.map(value => dateSerialization.serializeDate(value, serializationFormat))) || [] : dateSerialization.serializeDate(optionValue, serializationFormat);\r\n this.option(optionName, serializedValue)\r\n },\r\n _shiftDate: function(zoomLevel, date, offset, reverse) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n date.setDate(date.getDate() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.YEAR:\r\n date.setMonth(date.getMonth() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.DECADE:\r\n date.setFullYear(date.getFullYear() + offset * reverse);\r\n break;\r\n case ZOOM_LEVEL.CENTURY:\r\n date.setFullYear(date.getFullYear() + 10 * offset * reverse)\r\n }\r\n },\r\n _moveCurrentDateByOffset: function(offset) {\r\n var baseDate = this.option(\"currentDate\");\r\n var currentDate = new Date(baseDate);\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n this._shiftDate(zoomLevel, currentDate, offset, 1);\r\n var maxDate = this._getMaxDate();\r\n var minDate = this._getMinDate();\r\n var isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, currentDate, baseDate);\r\n var isDateForwardInRange = inRange(currentDate, minDate, maxDate) && isDateForwardInNeighborView;\r\n var dateForward = new Date(currentDate);\r\n while (isDateForwardInRange) {\r\n if (!this._view.isDateDisabled(dateForward)) {\r\n currentDate = dateForward;\r\n break\r\n }\r\n this._shiftDate(zoomLevel, dateForward, offset, 1);\r\n isDateForwardInNeighborView = this._areDatesInNeighborView(zoomLevel, dateForward, baseDate);\r\n isDateForwardInRange = inRange(dateForward, minDate, maxDate) && isDateForwardInNeighborView\r\n }\r\n if (this._view.isDateDisabled(baseDate) || this._view.isDateDisabled(currentDate)) {\r\n this._waitRenderView(offset > 0 ? 1 : -1)\r\n } else {\r\n this._skipNavigate = true;\r\n this.option(\"currentDate\", currentDate)\r\n }\r\n },\r\n _areDatesInSameView(zoomLevel, date1, date2) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n return date1.getMonth() === date2.getMonth();\r\n case ZOOM_LEVEL.YEAR:\r\n return date1.getYear() === date2.getYear();\r\n case ZOOM_LEVEL.DECADE:\r\n return parseInt(date1.getYear() / 10) === parseInt(date2.getYear() / 10);\r\n case ZOOM_LEVEL.CENTURY:\r\n return parseInt(date1.getYear() / 100) === parseInt(date2.getYear() / 100)\r\n }\r\n },\r\n _areDatesInNeighborView(zoomLevel, date1, date2) {\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.MONTH:\r\n return (a = date1.getMonth(), b = date2.getMonth(), abs = Math.abs(a - b), Math.min(abs, 12 - abs)) <= 1;\r\n case ZOOM_LEVEL.YEAR:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 1;\r\n case ZOOM_LEVEL.DECADE:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 10;\r\n case ZOOM_LEVEL.CENTURY:\r\n return Math.abs(date1.getYear() - date2.getYear()) <= 100\r\n }\r\n var a, b, abs\r\n },\r\n _moveToClosestAvailableDate: function() {\r\n var baseDate = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option(\"currentDate\");\r\n var currentDate = new Date(baseDate);\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var isCurrentDateAvailable = !this._isDateNotAvailable(currentDate);\r\n var isDateForwardAvailable = isCurrentDateAvailable;\r\n var isDateBackwardAvailable = isCurrentDateAvailable;\r\n var isDateForwardInStartView;\r\n var isDateBackwardInStartView;\r\n var dateForward = new Date(currentDate);\r\n var dateBackward = new Date(currentDate);\r\n do {\r\n if (isDateForwardAvailable) {\r\n currentDate = dateForward;\r\n break\r\n }\r\n if (isDateBackwardAvailable) {\r\n currentDate = dateBackward;\r\n break\r\n }\r\n this._shiftDate(zoomLevel, dateForward, 1, 1);\r\n this._shiftDate(zoomLevel, dateBackward, 1, -1);\r\n isDateForwardInStartView = this._areDatesInSameView(zoomLevel, dateForward, baseDate);\r\n isDateBackwardInStartView = this._areDatesInSameView(zoomLevel, dateBackward, baseDate);\r\n isDateForwardAvailable = isDateForwardInStartView && !this._isDateNotAvailable(dateForward);\r\n isDateBackwardAvailable = isDateBackwardInStartView && !this._isDateNotAvailable(dateBackward)\r\n } while (isDateForwardInStartView || isDateBackwardInStartView);\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _isDateNotAvailable: function(date) {\r\n var maxDate = this._getMaxDate();\r\n var minDate = this._getMinDate();\r\n return !inRange(date, minDate, maxDate) || this._view.isDateDisabled(date)\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initSelectionStrategy();\r\n this._correctZoomLevel();\r\n this._initCurrentDate();\r\n this._initActions()\r\n },\r\n _initSelectionStrategy: function() {\r\n var strategyName = this._getSelectionStrategyName();\r\n var strategy = SELECTION_STRATEGIES[strategyName];\r\n if (!this._selectionStrategy || this._selectionStrategy.NAME !== strategyName) {\r\n this._selectionStrategy = new strategy(this)\r\n }\r\n },\r\n _refreshSelectionStrategy: function() {\r\n this._initSelectionStrategy();\r\n this._refresh()\r\n },\r\n _getSelectionStrategyName: function() {\r\n var selectionMode = this.option(\"selectionMode\");\r\n switch (selectionMode) {\r\n case \"multi\":\r\n return \"MultiSelection\";\r\n case \"range\":\r\n return \"RangeSelection\";\r\n default:\r\n return \"SingleSelection\"\r\n }\r\n },\r\n _correctZoomLevel: function() {\r\n var minZoomLevel = this.option(\"minZoomLevel\");\r\n var maxZoomLevel = this.option(\"maxZoomLevel\");\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (LEVEL_COMPARE_MAP[maxZoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) {\r\n return\r\n }\r\n if (LEVEL_COMPARE_MAP[zoomLevel] > LEVEL_COMPARE_MAP[maxZoomLevel]) {\r\n this.option(\"zoomLevel\", maxZoomLevel)\r\n } else if (LEVEL_COMPARE_MAP[zoomLevel] < LEVEL_COMPARE_MAP[minZoomLevel]) {\r\n this.option(\"zoomLevel\", minZoomLevel)\r\n }\r\n },\r\n _initCurrentDate: function() {\r\n var _this$_getNormalizedD;\r\n var currentDate = null !== (_this$_getNormalizedD = this._getNormalizedDate(this._selectionStrategy.getDefaultCurrentDate())) && void 0 !== _this$_getNormalizedD ? _this$_getNormalizedD : this._getNormalizedDate(this.option(\"currentDate\"));\r\n this.option(\"currentDate\", currentDate)\r\n },\r\n _getNormalizedDate: function(date) {\r\n date = dateUtils.normalizeDate(date, this._getMinDate(), this._getMaxDate());\r\n return isDefined(date) ? this._getDate(date) : date\r\n },\r\n _initActions: function() {\r\n this._cellClickAction = this._createActionByOption(\"onCellClick\");\r\n this._onContouredChanged = this._createActionByOption(\"onContouredChanged\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n cell: new FunctionTemplate((function(options) {\r\n var data = options.model;\r\n $(options.container).append($(\"<span>\").text(data && data.text || String(data)))\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _updateCurrentDate: function(date) {\r\n if (fx.isAnimating(this._$viewsWrapper)) {\r\n fx.stop(this._$viewsWrapper, true)\r\n }\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n if (min > max) {\r\n this.option(\"currentDate\", new Date);\r\n return\r\n }\r\n var normalizedDate = this._getNormalizedDate(date);\r\n if (date.getTime() !== normalizedDate.getTime()) {\r\n this.option(\"currentDate\", new Date(normalizedDate));\r\n return\r\n }\r\n var offset = this._getViewsOffset(this._view.option(\"date\"), normalizedDate);\r\n if (0 !== offset && !this._isMaxZoomLevel() && this._isOtherViewCellClicked) {\r\n offset = 0\r\n }\r\n if (this._view && 0 !== offset && !this._suppressNavigation) {\r\n if (this._additionalView) {\r\n if (offset > 2 || offset < -1) {\r\n this._refreshViews();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate);\r\n this._renderNavigator()\r\n } else if (1 === offset && this._skipNavigate) {\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n } else {\r\n this._navigate(offset, normalizedDate)\r\n }\r\n } else {\r\n this._navigate(offset, normalizedDate)\r\n }\r\n } else {\r\n this._renderNavigator();\r\n this._setViewContoured(normalizedDate);\r\n this._updateAriaId(normalizedDate)\r\n }\r\n this._skipNavigate = false\r\n },\r\n _isAdditionalViewDate(date) {\r\n if (!this._additionalView) {\r\n return false\r\n }\r\n return date >= this._additionalView._getFirstAvailableDate()\r\n },\r\n _getActiveView: function(date) {\r\n return this._isAdditionalViewDate(date) ? this._additionalView : this._view\r\n },\r\n _setViewContoured: function(date) {\r\n if (this.option(\"skipFocusCheck\") || elementHasFocus(this._focusTarget())) {\r\n var _this$_additionalView;\r\n this._view.option(\"contouredDate\", null);\r\n null === (_this$_additionalView = this._additionalView) || void 0 === _this$_additionalView ? void 0 : _this$_additionalView.option(\"contouredDate\", null);\r\n var view = this._isAdditionalViewDate(date) ? this._additionalView : this._view;\r\n view.option(\"contouredDate\", date)\r\n }\r\n },\r\n _getMinDate: function() {\r\n var _rangeMin = this.option(\"_rangeMin\");\r\n if (_rangeMin) {\r\n return _rangeMin\r\n }\r\n if (this.min) {\r\n return this.min\r\n }\r\n this.min = this._dateOption(\"min\") || new Date(1e3, 0);\r\n return this.min\r\n },\r\n _getMaxDate: function() {\r\n var _rangeMax = this.option(\"_rangeMax\");\r\n if (_rangeMax) {\r\n return _rangeMax\r\n }\r\n if (this.max) {\r\n return this.max\r\n }\r\n this.max = this._dateOption(\"max\") || new Date(3e3, 0);\r\n return this.max\r\n },\r\n _getViewsOffset: function(startDate, endDate) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (zoomLevel === ZOOM_LEVEL.MONTH) {\r\n return this._getMonthsOffset(startDate, endDate)\r\n }\r\n var zoomCorrection;\r\n switch (zoomLevel) {\r\n case ZOOM_LEVEL.CENTURY:\r\n zoomCorrection = 100;\r\n break;\r\n case ZOOM_LEVEL.DECADE:\r\n zoomCorrection = 10;\r\n break;\r\n default:\r\n zoomCorrection = 1\r\n }\r\n return parseInt(endDate.getFullYear() / zoomCorrection) - parseInt(startDate.getFullYear() / zoomCorrection)\r\n },\r\n _getMonthsOffset: function(startDate, endDate) {\r\n var yearOffset = endDate.getFullYear() - startDate.getFullYear();\r\n var monthOffset = endDate.getMonth() - startDate.getMonth();\r\n return 12 * yearOffset + monthOffset\r\n },\r\n _waitRenderView: function(offset) {\r\n if (this._alreadyViewRender) {\r\n return\r\n }\r\n this._alreadyViewRender = true;\r\n var date = this._getDateByOffset(offset * this._getRtlCorrection());\r\n this._moveToClosestAvailableDate(date);\r\n this._waitRenderViewTimeout = setTimeout(() => {\r\n this._alreadyViewRender = false\r\n })\r\n },\r\n _getRtlCorrection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _getDateByOffset: function(offset, date) {\r\n var _date;\r\n date = this._getDate(null !== (_date = date) && void 0 !== _date ? _date : this.option(\"currentDate\"));\r\n var currentDay = date.getDate();\r\n var difference = dateUtils.getDifferenceInMonth(this.option(\"zoomLevel\")) * offset;\r\n date.setDate(1);\r\n date.setMonth(date.getMonth() + difference);\r\n var lastDay = dateUtils.getLastMonthDate(date).getDate();\r\n date.setDate(currentDay > lastDay ? lastDay : currentDay);\r\n return date\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n var $element = this.$element();\r\n $element.addClass(CALENDAR_CLASS);\r\n $element.toggleClass(CALENDAR_RANGE_CLASS, \"range\" === this.option(\"selectionMode\"));\r\n this._renderBody();\r\n $element.append(this.$body);\r\n this._renderViews();\r\n this._renderEvents();\r\n this._renderNavigator();\r\n $element.prepend(this._navigator.$element());\r\n this._renderSwipeable();\r\n this._renderFooter();\r\n this._selectionStrategy.updateAriaSelected();\r\n this._updateAriaId();\r\n this.setAria(\"role\", \"application\");\r\n this._moveToClosestAvailableDate()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._setViewContoured(this.option(\"currentDate\"))\r\n },\r\n _renderBody: function() {\r\n if (!this._$viewsWrapper) {\r\n this.$body = $(\"<div>\").addClass(CALENDAR_BODY_CLASS);\r\n this._$viewsWrapper = $(\"<div>\").addClass(CALENDAR_VIEWS_WRAPPER_CLASS);\r\n this.$body.append(this._$viewsWrapper)\r\n }\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._view])\r\n },\r\n _renderViews: function() {\r\n this.$element().addClass(CALENDAR_VIEW_CLASS + \"-\" + this.option(\"zoomLevel\"));\r\n var {\r\n currentDate: currentDate,\r\n viewsCount: viewsCount\r\n } = this.option();\r\n this.$element().toggleClass(CALENDAR_MULTIVIEW_CLASS, viewsCount > 1);\r\n this._view = this._renderSpecificView(currentDate);\r\n if (hasWindow()) {\r\n var beforeDate = this._getDateByOffset(-1, currentDate);\r\n this._beforeView = this._isViewAvailable(beforeDate) ? this._renderSpecificView(beforeDate) : null;\r\n var afterDate = this._getDateByOffset(viewsCount, currentDate);\r\n afterDate.setDate(1);\r\n this._afterView = this._isViewAvailable(afterDate) ? this._renderSpecificView(afterDate) : null\r\n }\r\n if (viewsCount > 1) {\r\n this._additionalView = this._renderSpecificView(this._getDateByOffset(1, currentDate))\r\n }\r\n this._translateViews()\r\n },\r\n _renderSpecificView: function(date) {\r\n var {\r\n zoomLevel: zoomLevel\r\n } = this.option();\r\n var specificView = Views[zoomLevel];\r\n var $view = $(\"<div>\").appendTo(this._$viewsWrapper);\r\n var config = this._viewConfig(date);\r\n var view = this._createComponent($view, specificView, config);\r\n return view\r\n },\r\n _viewConfig: function(date) {\r\n var _this$option2;\r\n var disabledDates = this.option(\"disabledDates\");\r\n disabledDates = isFunction(disabledDates) ? this._injectComponent(disabledDates.bind(this)) : disabledDates;\r\n return _extends({}, this._selectionStrategy.getViewOptions(), {\r\n date: date,\r\n min: this._getMinDate(),\r\n max: this._getMaxDate(),\r\n firstDayOfWeek: null !== (_this$option2 = this.option(\"firstDayOfWeek\")) && void 0 !== _this$option2 ? _this$option2 : dateLocalization.firstDayOfWeekIndex(),\r\n showWeekNumbers: this.option(\"showWeekNumbers\"),\r\n weekNumberRule: this.option(\"weekNumberRule\"),\r\n zoomLevel: this.option(\"zoomLevel\"),\r\n tabIndex: void 0,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n disabledDates: disabledDates,\r\n onCellClick: this._cellClickHandler.bind(this),\r\n cellTemplate: this._getTemplateByOption(\"cellTemplate\"),\r\n allowValueSelection: this._isMaxZoomLevel(),\r\n _todayDate: this.option(\"_todayDate\")\r\n })\r\n },\r\n _renderEvents() {\r\n eventsEngine.off(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME);\r\n if (\"range\" === this.option(\"selectionMode\")) {\r\n eventsEngine.on(this._$viewsWrapper, CALENDAR_DXHOVEREND_EVENT_NAME, null, e => {\r\n this._updateViewsOption(\"hoveredRange\", [])\r\n })\r\n }\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n extend(params, {\r\n component: that\r\n });\r\n return func(params)\r\n }\r\n },\r\n _isViewAvailable: function(date) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var min = dateUtils.getViewMinBoundaryDate(zoomLevel, this._getMinDate());\r\n var max = dateUtils.getViewMaxBoundaryDate(zoomLevel, this._getMaxDate());\r\n return dateUtils.dateInRange(date, min, max)\r\n },\r\n _translateViews: function() {\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n move(this._view.$element(), {\r\n left: 0,\r\n top: 0\r\n });\r\n this._moveViewElement(this._beforeView, -1);\r\n this._moveViewElement(this._afterView, viewsCount);\r\n this._moveViewElement(this._additionalView, 1)\r\n },\r\n _moveViewElement(view, coefficient) {\r\n view && move(view.$element(), {\r\n left: this._getViewPosition(coefficient),\r\n top: 0\r\n })\r\n },\r\n _getViewPosition: function(coefficient) {\r\n var rtlCorrection = this.option(\"rtlEnabled\") ? -1 : 1;\r\n return 100 * coefficient * rtlCorrection + \"%\"\r\n },\r\n _cellClickHandler: function(e) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = dateUtils.getViewDown(zoomLevel);\r\n var isMaxZoomLevel = this._isMaxZoomLevel();\r\n if (nextView && !isMaxZoomLevel) {\r\n this._navigateDown(e.event.currentTarget)\r\n } else {\r\n var newValue = this._updateTimeComponent(e.value);\r\n this._selectionStrategy.selectValue(newValue, e.event);\r\n this._cellClickAction(e)\r\n }\r\n },\r\n _updateTimeComponent: function(date) {\r\n var result = new Date(date);\r\n var currentValue = this._dateOption(\"value\");\r\n if (currentValue) {\r\n result.setHours(currentValue.getHours());\r\n result.setMinutes(currentValue.getMinutes());\r\n result.setSeconds(currentValue.getSeconds());\r\n result.setMilliseconds(currentValue.getMilliseconds())\r\n }\r\n return result\r\n },\r\n _isMaxZoomLevel: function() {\r\n return this.option(\"zoomLevel\") === this.option(\"maxZoomLevel\")\r\n },\r\n _navigateDown: function(cell) {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n if (this._isMaxZoomLevel()) {\r\n return\r\n }\r\n var nextView = dateUtils.getViewDown(zoomLevel);\r\n if (!nextView) {\r\n return\r\n }\r\n var newCurrentDate = this._view.option(\"contouredDate\") || this._view.option(\"date\");\r\n if (cell) {\r\n newCurrentDate = $(cell).data(CALENDAR_DATE_VALUE_KEY)\r\n }\r\n this._isOtherViewCellClicked = true;\r\n this.option(\"currentDate\", newCurrentDate);\r\n this.option(\"zoomLevel\", nextView);\r\n this._isOtherViewCellClicked = false;\r\n this._renderNavigator();\r\n this._animateShowView();\r\n this._moveToClosestAvailableDate();\r\n this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))\r\n },\r\n _renderNavigator: function() {\r\n if (!this._navigator) {\r\n this._navigator = new Navigator($(\"<div>\"), this._navigatorConfig())\r\n }\r\n this._navigator.option(\"text\", this._getViewsCaption(this._view, this._additionalView));\r\n this._updateButtonsVisibility()\r\n },\r\n _navigatorConfig: function() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n return {\r\n text: this._getViewsCaption(this._view, this._additionalView),\r\n onClick: this._navigatorClickHandler.bind(this),\r\n onCaptionClick: this._navigateUp.bind(this),\r\n rtlEnabled: rtlEnabled\r\n }\r\n },\r\n _navigatorClickHandler: function(e) {\r\n var {\r\n currentDate: currentDate,\r\n viewsCount: viewsCount\r\n } = this.option();\r\n var offset = e.direction;\r\n if (viewsCount > 1) {\r\n var additionalViewActive = this._isAdditionalViewDate(currentDate);\r\n var shouldDoubleOffset = additionalViewActive && offset < 0 || !additionalViewActive && offset > 0;\r\n if (shouldDoubleOffset) {\r\n offset *= 2\r\n }\r\n }\r\n var newCurrentDate = this._getDateByOffset(offset, currentDate);\r\n this._moveToClosestAvailableDate(newCurrentDate)\r\n },\r\n _navigateUp: function() {\r\n var zoomLevel = this.option(\"zoomLevel\");\r\n var nextView = dateUtils.getViewUp(zoomLevel);\r\n if (!nextView || this._isMinZoomLevel(zoomLevel)) {\r\n return\r\n }\r\n this.option(\"zoomLevel\", nextView);\r\n this._renderNavigator();\r\n this._animateShowView();\r\n this._moveToClosestAvailableDate();\r\n this._setViewContoured(this._getNormalizedDate(this.option(\"currentDate\")))\r\n },\r\n _isMinZoomLevel: function(zoomLevel) {\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n return dateUtils.sameView(zoomLevel, min, max) || this.option(\"minZoomLevel\") === zoomLevel\r\n },\r\n _updateButtonsVisibility: function() {\r\n this._navigator.toggleButton(\"next\", !isDefined(this._afterView));\r\n this._navigator.toggleButton(\"prev\", !isDefined(this._beforeView))\r\n },\r\n _renderSwipeable: function() {\r\n if (!this._swipeable) {\r\n this._swipeable = this._createComponent(this.$element(), Swipeable, {\r\n onStart: this._swipeStartHandler.bind(this),\r\n onUpdated: this._swipeUpdateHandler.bind(this),\r\n onEnd: this._swipeEndHandler.bind(this),\r\n itemSizeFunc: this._viewWidth.bind(this)\r\n })\r\n }\r\n },\r\n _swipeStartHandler: function(e) {\r\n fx.stop(this._$viewsWrapper, true);\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n this._toggleGestureCoverCursor(\"grabbing\");\r\n e.event.maxLeftOffset = this._getRequiredView(\"next\") ? 1 / viewsCount : 0;\r\n e.event.maxRightOffset = this._getRequiredView(\"prev\") ? 1 / viewsCount : 0\r\n },\r\n _toggleGestureCoverCursor: function(cursor) {\r\n $(\".\".concat(GESTURE_COVER_CLASS)).css(\"cursor\", cursor)\r\n },\r\n _getRequiredView: function(name) {\r\n var view;\r\n var isRtl = this.option(\"rtlEnabled\");\r\n if (\"next\" === name) {\r\n view = isRtl ? this._beforeView : this._afterView\r\n } else if (\"prev\" === name) {\r\n view = isRtl ? this._afterView : this._beforeView\r\n }\r\n return view\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.event.offset;\r\n move(this._$viewsWrapper, {\r\n left: offset * this._viewWidth(),\r\n top: 0\r\n });\r\n this._updateNavigatorCaption(offset)\r\n },\r\n _swipeEndHandler: function(e) {\r\n this._toggleGestureCoverCursor(\"auto\");\r\n var {\r\n currentDate: currentDate,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n var targetOffset = e.event.targetOffset;\r\n var moveOffset = !targetOffset ? 0 : targetOffset / Math.abs(targetOffset);\r\n var isAdditionalViewActive = this._isAdditionalViewDate(currentDate);\r\n var shouldDoubleOffset = isAdditionalViewActive && (rtlEnabled ? -1 === moveOffset : 1 === moveOffset);\r\n if (0 === moveOffset) {\r\n this._animateWrapper(0, ANIMATION_DURATION_SHOW_VIEW);\r\n return\r\n }\r\n var offset = -moveOffset * this._getRtlCorrection() * (shouldDoubleOffset ? 2 : 1);\r\n var date = this._getDateByOffset(offset);\r\n if (this._isDateInInvalidRange(date)) {\r\n if (moveOffset >= 0) {\r\n date = new Date(this._getMinDate())\r\n } else {\r\n date = new Date(this._getMaxDate())\r\n }\r\n }\r\n this.option(\"currentDate\", date)\r\n },\r\n _viewWidth: function() {\r\n if (!this._viewWidthValue) {\r\n this._viewWidthValue = getWidth(this.$element()) / this.option(\"viewsCount\")\r\n }\r\n return this._viewWidthValue\r\n },\r\n _updateNavigatorCaption: function(offset) {\r\n offset *= this._getRtlCorrection();\r\n var isMultiView = this.option(\"viewsCount\") > 1;\r\n var view;\r\n var additionalView;\r\n if (offset > .5 && this._beforeView) {\r\n view = this._beforeView;\r\n additionalView = isMultiView && this._view\r\n } else if (offset < -.5 && this._afterView) {\r\n view = isMultiView ? this._additionalView : this._afterView;\r\n additionalView = isMultiView ? this._afterView : null\r\n } else {\r\n view = this._view;\r\n additionalView = isMultiView ? this._additionalView : null\r\n }\r\n this._navigator.option(\"text\", this._getViewsCaption(view, additionalView))\r\n },\r\n _getViewsCaption: function(view, additionalView) {\r\n var caption = view.getNavigatorCaption();\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n if (viewsCount > 1 && additionalView) {\r\n var additionalViewCaption = additionalView.getNavigatorCaption();\r\n caption = \"\".concat(caption, \" - \").concat(additionalViewCaption)\r\n }\r\n return caption\r\n },\r\n _isDateInInvalidRange: function(date) {\r\n if (this._view.isBoundary(date)) {\r\n return\r\n }\r\n var min = this._getMinDate();\r\n var max = this._getMaxDate();\r\n var normalizedDate = dateUtils.normalizeDate(date, min, max);\r\n return normalizedDate === min || normalizedDate === max\r\n },\r\n _renderFooter: function() {\r\n var showTodayButton = this.option(\"showTodayButton\");\r\n if (showTodayButton) {\r\n var $todayButton = this._createComponent($(\"<div>\"), Button, {\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n text: messageLocalization.format(\"dxCalendar-todayButtonText\"),\r\n onClick: args => {\r\n this._toTodayView(args)\r\n },\r\n type: \"default\",\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n }).$element().addClass(CALENDAR_TODAY_BUTTON_CLASS);\r\n this._$footer = $(\"<div>\").addClass(CALENDAR_FOOTER_CLASS).append($todayButton);\r\n this.$element().append(this._$footer)\r\n }\r\n this.$element().toggleClass(CALENDAR_HAS_FOOTER_CLASS, showTodayButton)\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n var dateValue = this._convertToDate(value);\r\n this._getSubmitElement().val(dateSerialization.serializeDate(dateValue, CALENDAR_INPUT_STANDARD_PATTERN))\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _animateShowView: function() {\r\n fx.stop(this._view.$element(), true);\r\n this._popAnimationView(this._view, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW);\r\n if (this.option(\"viewsCount\") > 1) {\r\n fx.stop(this._additionalView.$element(), true);\r\n this._popAnimationView(this._additionalView, POP_ANIMATION_FROM, POP_ANIMATION_TO, ANIMATION_DURATION_SHOW_VIEW)\r\n }\r\n },\r\n _popAnimationView: function(view, from, to, duration) {\r\n return fx.animate(view.$element(), {\r\n type: \"pop\",\r\n from: {\r\n scale: from,\r\n opacity: from\r\n },\r\n to: {\r\n scale: to,\r\n opacity: to\r\n },\r\n duration: duration\r\n })\r\n },\r\n _navigate: function(offset, value) {\r\n if (0 !== offset && 1 !== Math.abs(offset) && this._isViewAvailable(value)) {\r\n var newView = this._renderSpecificView(value);\r\n if (offset > 0) {\r\n this._afterView && this._afterView.$element().remove();\r\n this._afterView = newView\r\n } else {\r\n this._beforeView && this._beforeView.$element().remove();\r\n this._beforeView = newView\r\n }\r\n this._translateViews()\r\n }\r\n var rtlCorrection = this._getRtlCorrection();\r\n var offsetSign = offset > 0 ? 1 : offset < 0 ? -1 : 0;\r\n var endPosition = -rtlCorrection * offsetSign * this._viewWidth();\r\n var viewsWrapperPosition = this._$viewsWrapper.position().left;\r\n if (viewsWrapperPosition !== endPosition) {\r\n if (this._preventViewChangeAnimation) {\r\n this._wrapperAnimationEndHandler(offset, value)\r\n } else {\r\n this._animateWrapper(endPosition, ANIMATION_DURATION_SHOW_VIEW).done(this._wrapperAnimationEndHandler.bind(this, offset, value))\r\n }\r\n }\r\n },\r\n _animateWrapper: function(to, duration) {\r\n return fx.animate(this._$viewsWrapper, {\r\n type: \"slide\",\r\n from: {\r\n left: this._$viewsWrapper.position().left\r\n },\r\n to: {\r\n left: to\r\n },\r\n duration: duration\r\n })\r\n },\r\n _getDate: value => new Date(value),\r\n _toTodayView: function(args) {\r\n var today = new Date;\r\n if (this._isMaxZoomLevel()) {\r\n this._selectionStrategy.selectValue(today, args.event);\r\n return\r\n }\r\n this._preventViewChangeAnimation = true;\r\n this.option(\"zoomLevel\", this.option(\"maxZoomLevel\"));\r\n this._selectionStrategy.selectValue(today, args.event);\r\n this._animateShowView();\r\n this._preventViewChangeAnimation = false\r\n },\r\n _wrapperAnimationEndHandler: function(offset, newDate) {\r\n this._rearrangeViews(offset);\r\n this._translateViews();\r\n this._resetLocation();\r\n this._renderNavigator();\r\n this._setViewContoured(newDate);\r\n this._updateAriaId(newDate);\r\n this._selectionStrategy.updateAriaSelected()\r\n },\r\n _rearrangeViews: function(offset) {\r\n var _this$viewToRemoveKey;\r\n if (0 === offset) {\r\n return\r\n }\r\n var {\r\n viewsCount: viewsCount\r\n } = this.option();\r\n var viewOffset;\r\n var viewToCreateKey;\r\n var viewToRemoveKey;\r\n var viewBeforeCreateKey;\r\n var viewAfterRemoveKey;\r\n if (offset < 0) {\r\n viewOffset = 1;\r\n viewToCreateKey = \"_beforeView\";\r\n viewToRemoveKey = \"_afterView\";\r\n viewBeforeCreateKey = \"_view\";\r\n viewAfterRemoveKey = 1 === viewsCount ? \"_view\" : \"_additionalView\"\r\n } else {\r\n viewOffset = -1;\r\n viewToCreateKey = \"_afterView\";\r\n viewToRemoveKey = \"_beforeView\";\r\n viewBeforeCreateKey = 1 === viewsCount ? \"_view\" : \"_additionalView\";\r\n viewAfterRemoveKey = \"_view\"\r\n }\r\n if (!this[viewToCreateKey]) {\r\n return\r\n }\r\n var destinationDate = this[viewToCreateKey].option(\"date\");\r\n null === (_this$viewToRemoveKey = this[viewToRemoveKey]) || void 0 === _this$viewToRemoveKey ? void 0 : _this$viewToRemoveKey.$element().remove();\r\n this[viewToRemoveKey] = this._renderSpecificView(this._getDateByOffset(viewOffset * viewsCount, destinationDate));\r\n this[viewAfterRemoveKey].$element().remove();\r\n if (1 === viewsCount) {\r\n this[viewAfterRemoveKey] = this[viewToCreateKey]\r\n } else {\r\n this[viewAfterRemoveKey] = this[viewBeforeCreateKey];\r\n this[viewBeforeCreateKey] = this[viewToCreateKey]\r\n }\r\n var dateByOffset = this._getDateByOffset(-viewOffset, destinationDate);\r\n this[viewToCreateKey] = this._isViewAvailable(dateByOffset) ? this._renderSpecificView(dateByOffset) : null\r\n },\r\n _resetLocation: function() {\r\n move(this._$viewsWrapper, {\r\n left: 0,\r\n top: 0\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._clearViewWidthCache();\r\n delete this._$viewsWrapper;\r\n delete this._navigator;\r\n delete this._$footer\r\n },\r\n _clearViewWidthCache: function() {\r\n delete this._viewWidthValue\r\n },\r\n _disposeViews: function() {\r\n this._view.$element().remove();\r\n this._beforeView && this._beforeView.$element().remove();\r\n this._additionalView && this._additionalView.$element().remove();\r\n this._afterView && this._afterView.$element().remove();\r\n delete this._view;\r\n delete this._additionalView;\r\n delete this._beforeView;\r\n delete this._afterView;\r\n delete this._skipNavigate\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._waitRenderViewTimeout);\r\n this.callBase()\r\n },\r\n _refreshViews: function() {\r\n this._resetActiveState();\r\n this._disposeViews();\r\n this._renderViews()\r\n },\r\n _visibilityChanged: function() {\r\n this._translateViews()\r\n },\r\n _focusInHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n this._setViewContoured(this.option(\"currentDate\"))\r\n },\r\n _focusOutHandler: function() {\r\n var _this$_additionalView2;\r\n this.callBase.apply(this, arguments);\r\n this._view.option(\"contouredDate\", null);\r\n null === (_this$_additionalView2 = this._additionalView) || void 0 === _this$_additionalView2 ? void 0 : _this$_additionalView2.option(\"contouredDate\", null)\r\n },\r\n _updateViewsOption: function(optionName, newValue) {\r\n var _this$_additionalView3, _this$_beforeView, _this$_afterView;\r\n this._view.option(optionName, newValue);\r\n null === (_this$_additionalView3 = this._additionalView) || void 0 === _this$_additionalView3 ? void 0 : _this$_additionalView3.option(optionName, newValue);\r\n null === (_this$_beforeView = this._beforeView) || void 0 === _this$_beforeView ? void 0 : _this$_beforeView.option(optionName, newValue);\r\n null === (_this$_afterView = this._afterView) || void 0 === _this$_afterView ? void 0 : _this$_afterView.option(optionName, newValue)\r\n },\r\n _setViewsMinOption: function(min) {\r\n this._restoreViewsMinMaxOptions();\r\n this.option(\"_rangeMin\", this._convertToDate(min));\r\n this._updateViewsOption(\"min\", this._getMinDate())\r\n },\r\n _setViewsMaxOption: function(max) {\r\n this._restoreViewsMinMaxOptions();\r\n this.option(\"_rangeMax\", this._convertToDate(max));\r\n this._updateViewsOption(\"max\", this._getMaxDate())\r\n },\r\n _restoreViewsMinMaxOptions: function() {\r\n this.option({\r\n _rangeMin: null,\r\n _rangeMax: null\r\n });\r\n this._updateViewsOption(\"min\", this._getMinDate());\r\n this._updateViewsOption(\"max\", this._getMaxDate())\r\n },\r\n _updateAriaSelected: function(value, previousValue) {\r\n previousValue.forEach(item => {\r\n this.setAria(\"selected\", void 0, this._view._getCellByDate(item))\r\n });\r\n value.forEach(item => {\r\n this.setAria(\"selected\", true, this._view._getCellByDate(item))\r\n });\r\n if (this.option(\"viewsCount\") > 1) {\r\n previousValue.forEach(item => {\r\n this.setAria(\"selected\", void 0, this._additionalView._getCellByDate(item))\r\n });\r\n value.forEach(item => {\r\n this.setAria(\"selected\", true, this._additionalView._getCellByDate(item))\r\n })\r\n }\r\n },\r\n _updateAriaId: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"currentDate\");\r\n var ariaId = \"dx-\" + new Guid;\r\n var view = this._getActiveView(value);\r\n var $newCell = view._getCellByDate(value);\r\n this.setAria(\"id\", ariaId, $newCell);\r\n this.setAria(\"activedescendant\", ariaId);\r\n this._onContouredChanged(ariaId)\r\n },\r\n _suppressingNavigation: function(callback, args) {\r\n this._suppressNavigation = true;\r\n callback.apply(this, args);\r\n delete this._suppressNavigation\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (args.name) {\r\n case \"width\":\r\n this.callBase(args);\r\n this._clearViewWidthCache();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this.min = void 0;\r\n this.max = void 0;\r\n this._suppressingNavigation(this._updateCurrentDate, [this.option(\"currentDate\")]);\r\n this._refreshViews();\r\n this._renderNavigator();\r\n break;\r\n case \"selectionMode\":\r\n this._refreshSelectionStrategy();\r\n this._initCurrentDate();\r\n break;\r\n case \"firstDayOfWeek\":\r\n this._refreshViews();\r\n this._updateButtonsVisibility();\r\n break;\r\n case \"currentDate\":\r\n this.setAria(\"id\", void 0, this._view._getCellByDate(previousValue));\r\n this._updateCurrentDate(value);\r\n break;\r\n case \"zoomLevel\":\r\n this.$element().removeClass(CALENDAR_VIEW_CLASS + \"-\" + previousValue);\r\n this._correctZoomLevel();\r\n this._refreshViews();\r\n this._renderNavigator();\r\n this._updateAriaId();\r\n break;\r\n case \"minZoomLevel\":\r\n case \"maxZoomLevel\":\r\n this._correctZoomLevel();\r\n this._updateButtonsVisibility();\r\n break;\r\n case \"value\":\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n this._selectionStrategy.processValueChanged([value], [previousValue])\r\n }\r\n this._setSubmitValue(value);\r\n this.callBase(args);\r\n break;\r\n case \"values\":\r\n if (\"single\" !== this.option(\"selectionMode\")) {\r\n this._selectionStrategy.processValueChanged(value, previousValue)\r\n }\r\n this._raiseValueChangeAction(value, previousValue);\r\n this._saveValueChangeEvent(void 0);\r\n break;\r\n case \"viewsCount\":\r\n this._refreshViews();\r\n this._renderNavigator();\r\n break;\r\n case \"onCellClick\":\r\n this._view.option(\"onCellClick\", value);\r\n break;\r\n case \"onContouredChanged\":\r\n this._onContouredChanged = this._createActionByOption(\"onContouredChanged\");\r\n break;\r\n case \"disabledDates\":\r\n case \"dateSerializationFormat\":\r\n case \"cellTemplate\":\r\n case \"showTodayButton\":\r\n this._invalidate();\r\n break;\r\n case \"skipFocusCheck\":\r\n break;\r\n case \"_todayDate\":\r\n case \"showWeekNumbers\":\r\n case \"weekNumberRule\":\r\n this._refreshViews();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n getContouredDate: function() {\r\n return this._view.option(\"contouredDate\")\r\n }\r\n});\r\nregisterComponent(\"dxCalendar\", Calendar);\r\nexport default Calendar;\r\n","/**\r\n * DevExtreme (esm/ui/calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Calendar from \"./calendar/ui.calendar\";\r\nexport default Calendar;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar abstract = Class.abstract;\r\nvar DateBoxStrategy = Class.inherit({\r\n ctor: function(dateBox) {\r\n this.dateBox = dateBox\r\n },\r\n widgetOption: function() {\r\n return this._widget && this._widget.option.apply(this._widget, arguments)\r\n },\r\n _renderWidget: function(element) {\r\n element = element || $(\"<div>\");\r\n this._widget = this._createWidget(element);\r\n this._widget.$element().appendTo(this._getWidgetContainer())\r\n },\r\n _createWidget: function(element) {\r\n var widgetName = this._getWidgetName();\r\n var widgetOptions = this._getWidgetOptions();\r\n return this.dateBox._createComponent(element, widgetName, widgetOptions)\r\n },\r\n _getWidgetOptions: abstract,\r\n _getWidgetName: abstract,\r\n getDefaultOptions: function() {\r\n return {\r\n mode: \"text\"\r\n }\r\n },\r\n getDisplayFormat: abstract,\r\n supportedKeys: noop,\r\n getKeyboardListener: noop,\r\n customizeButtons: noop,\r\n getParsedText: function(text, format) {\r\n var value = dateLocalization.parse(text, format);\r\n return value ? value : dateLocalization.parse(text)\r\n },\r\n renderInputMinMax: noop,\r\n renderOpenedState: function() {\r\n this._updateValue()\r\n },\r\n popupConfig: abstract,\r\n _dimensionChanged: function() {\r\n var _this$_getPopup;\r\n null === (_this$_getPopup = this._getPopup()) || void 0 === _this$_getPopup ? void 0 : _this$_getPopup.repaint()\r\n },\r\n renderPopupContent: function() {\r\n var popup = this._getPopup();\r\n this._renderWidget();\r\n var $popupContent = popup.$content().parent();\r\n eventsEngine.off($popupContent, \"mousedown\");\r\n eventsEngine.on($popupContent, \"mousedown\", this._preventFocusOnPopup.bind(this))\r\n },\r\n getFirstPopupElement: noop,\r\n getLastPopupElement: noop,\r\n _preventFocusOnPopup: function(e) {\r\n e.preventDefault()\r\n },\r\n _getWidgetContainer: function() {\r\n return this._getPopup().$content()\r\n },\r\n _getPopup: function() {\r\n return this.dateBox._popup\r\n },\r\n popupShowingHandler: noop,\r\n popupHiddenHandler: noop,\r\n _updateValue: function() {\r\n this._widget && this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n useCurrentDateByDefault: noop,\r\n getDefaultDate: function() {\r\n return new Date\r\n },\r\n textChangedHandler: noop,\r\n renderValue: function() {\r\n if (this.dateBox.option(\"opened\")) {\r\n this._updateValue()\r\n }\r\n },\r\n getValue: function() {\r\n return this._widget.option(\"value\")\r\n },\r\n isAdaptivityChanged: function() {\r\n return false\r\n },\r\n dispose: function() {\r\n var popup = this._getPopup();\r\n if (popup) {\r\n popup.$content().empty()\r\n }\r\n },\r\n dateBoxValue: function() {\r\n if (arguments.length) {\r\n return this.dateBox.dateValue.apply(this.dateBox, arguments)\r\n } else {\r\n return this.dateBox.dateOption.apply(this.dateBox, [\"value\"])\r\n }\r\n }\r\n});\r\nexport default DateBoxStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.calendar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Calendar from \"../calendar\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isFunction,\r\n isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar CalendarStrategy = DateBoxStrategy.inherit({\r\n NAME: \"Calendar\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n todayButtonText: messageLocalization.format(\"dxCalendar-todayButtonText\")\r\n })\r\n },\r\n supportedKeys: function() {\r\n var homeEndHandler = function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n return true\r\n }\r\n return false\r\n };\r\n return {\r\n rightArrow: function() {\r\n if (this.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n if (this.option(\"opened\")) {\r\n return true\r\n }\r\n },\r\n enter: function(e) {\r\n if (this.dateBox.option(\"opened\")) {\r\n e.preventDefault();\r\n if (this._widget.option(\"zoomLevel\") === this._widget.option(\"maxZoomLevel\")) {\r\n var viewValue = this._getContouredValue();\r\n var lastActionElement = this._lastActionElement;\r\n var shouldCloseDropDown = this._closeDropDownByEnter();\r\n if (shouldCloseDropDown && viewValue && \"calendar\" === lastActionElement) {\r\n this.dateBoxValue(viewValue, e)\r\n }\r\n shouldCloseDropDown && this.dateBox.close();\r\n this.dateBox._valueChangeEventHandler(e);\r\n return !shouldCloseDropDown\r\n } else {\r\n return true\r\n }\r\n } else {\r\n this.dateBox._valueChangeEventHandler(e)\r\n }\r\n }.bind(this),\r\n home: homeEndHandler,\r\n end: homeEndHandler\r\n }\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shortdate\"\r\n },\r\n _closeDropDownByEnter: () => true,\r\n _getWidgetName: function() {\r\n return Calendar\r\n },\r\n _getContouredValue: function() {\r\n return this._widget._view.option(\"contouredDate\")\r\n },\r\n getKeyboardListener() {\r\n return this._widget\r\n },\r\n _getWidgetOptions: function() {\r\n var disabledDates = this.dateBox.option(\"disabledDates\");\r\n return extend(this.dateBox.option(\"calendarOptions\"), {\r\n value: this.dateBoxValue() || null,\r\n dateSerializationFormat: null,\r\n min: this.dateBox.dateOption(\"min\"),\r\n max: this.dateBox.dateOption(\"max\"),\r\n onValueChanged: this._valueChangedHandler.bind(this),\r\n onCellClick: this._cellClickHandler.bind(this),\r\n tabIndex: null,\r\n disabledDates: isFunction(disabledDates) ? this._injectComponent(disabledDates.bind(this.dateBox)) : disabledDates,\r\n onContouredChanged: this._refreshActiveDescendant.bind(this),\r\n skipFocusCheck: true\r\n })\r\n },\r\n _injectComponent: function(func) {\r\n var that = this;\r\n return function(params) {\r\n extend(params, {\r\n component: that.dateBox\r\n });\r\n return func(params)\r\n }\r\n },\r\n _refreshActiveDescendant: function(e) {\r\n this._lastActionElement = \"calendar\";\r\n this.dateBox.setAria(\"activedescendant\", e.actionValue)\r\n },\r\n _getTodayButtonConfig() {\r\n var buttonsLocation = this.dateBox.option(\"buttonsLocation\");\r\n var isButtonsLocationDefault = \"default\" === buttonsLocation;\r\n var position = isButtonsLocationDefault ? [\"bottom\", \"center\"] : splitPair(buttonsLocation);\r\n return {\r\n widget: \"dxButton\",\r\n toolbar: position[0],\r\n location: \"after\" === position[1] ? \"before\" : position[1],\r\n options: {\r\n onInitialized: function(e) {\r\n e.component.registerKeyHandler(\"escape\", this._escapeHandler.bind(this))\r\n }.bind(this),\r\n onClick: args => {\r\n this._widget._toTodayView(args)\r\n },\r\n text: this.dateBox.option(\"todayButtonText\"),\r\n type: \"today\"\r\n }\r\n }\r\n },\r\n _isCalendarVisible: function() {\r\n var {\r\n calendarOptions: calendarOptions\r\n } = this.dateBox.option();\r\n return isEmptyObject(calendarOptions) || false !== calendarOptions.visible\r\n },\r\n _getPopupToolbarItems(toolbarItems) {\r\n var useButtons = \"useButtons\" === this.dateBox.option(\"applyValueMode\");\r\n var shouldRenderTodayButton = useButtons && this._isCalendarVisible();\r\n if (shouldRenderTodayButton) {\r\n var todayButton = this._getTodayButtonConfig();\r\n return [todayButton, ...toolbarItems]\r\n }\r\n return toolbarItems\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return extend(true, _popupConfig, {\r\n position: {\r\n collision: \"flipfit flip\"\r\n },\r\n width: \"auto\"\r\n })\r\n },\r\n _escapeHandler: function() {\r\n this.dateBox.close();\r\n this.dateBox.focus()\r\n },\r\n _valueChangedHandler: function(e) {\r\n var value = e.value;\r\n var prevValue = e.previousValue;\r\n if (dateUtils.sameDate(value, prevValue) && dateUtils.sameHoursAndMinutes(value, prevValue)) {\r\n return\r\n }\r\n if (\"instantly\" === this.dateBox.option(\"applyValueMode\")) {\r\n this.dateBoxValue(this.getValue(), e.event)\r\n }\r\n },\r\n _updateValue: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._widget.option(\"value\", this.dateBoxValue())\r\n },\r\n textChangedHandler: function() {\r\n this._lastActionElement = \"input\";\r\n if (this.dateBox.option(\"opened\") && this._widget) {\r\n this._updateValue(true)\r\n }\r\n },\r\n _cellClickHandler: function(e) {\r\n var dateBox = this.dateBox;\r\n if (\"instantly\" === dateBox.option(\"applyValueMode\")) {\r\n dateBox.option(\"opened\", false);\r\n this.dateBoxValue(this.getValue(), e.event)\r\n }\r\n }\r\n});\r\nexport default CalendarStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_view_roller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable.old\";\r\nimport devices from \"../../core/devices\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n resetPosition\r\n} from \"../../animation/translator\";\r\nimport {\r\n convertToLocation\r\n} from \"../../renovation/ui/scroll_view/utils/convert_location\";\r\nvar DATEVIEW_ROLLER_CLASS = \"dx-dateviewroller\";\r\nvar DATEVIEW_ROLLER_ACTIVE_CLASS = \"dx-state-active\";\r\nvar DATEVIEW_ROLLER_CURRENT_CLASS = \"dx-dateviewroller-current\";\r\nvar DATEVIEW_ROLLER_ITEM_CLASS = \"dx-dateview-item\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_CLASS = \"dx-dateview-item-selected\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS = \"dx-dateview-item-selected-frame\";\r\nvar DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS = \"dx-dateview-item-selected-border\";\r\nclass DateViewRoller extends Scrollable {\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n showScrollbar: \"never\",\r\n useNative: false,\r\n selectedIndex: 0,\r\n bounceEnabled: false,\r\n items: [],\r\n showOnClick: false,\r\n onClick: null,\r\n onSelectedIndexChanged: null,\r\n scrollByContent: true\r\n })\r\n }\r\n _init() {\r\n super._init();\r\n this.option(\"onVisibilityChange\", this._visibilityChangedHandler.bind(this));\r\n this.option(\"onEnd\", this._endActionHandler.bind(this))\r\n }\r\n _render() {\r\n super._render();\r\n this._renderSelectedItemFrame();\r\n this.$element().addClass(DATEVIEW_ROLLER_CLASS);\r\n this._renderContainerClick();\r\n this._renderItems();\r\n this._renderSelectedValue();\r\n this._renderItemsClick();\r\n this._renderWheelEvent();\r\n this._renderSelectedIndexChanged()\r\n }\r\n _renderSelectedIndexChanged() {\r\n this._selectedIndexChanged = this._createActionByOption(\"onSelectedIndexChanged\")\r\n }\r\n _renderWheelEvent() {\r\n eventsEngine.on($(this.container()), \"dxmousewheel\", e => {\r\n this._isWheelScrolled = true\r\n })\r\n }\r\n _renderContainerClick() {\r\n if (!this.option(\"showOnClick\")) {\r\n return\r\n }\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var clickAction = this._createActionByOption(\"onClick\");\r\n eventsEngine.off($(this.container()), eventName);\r\n eventsEngine.on($(this.container()), eventName, (function(e) {\r\n clickAction({\r\n event: e\r\n })\r\n }))\r\n }\r\n _renderItems() {\r\n var items = this.option(\"items\") || [];\r\n var $items = $();\r\n $(this.content()).empty();\r\n items.forEach((function(item) {\r\n $items = $items.add($(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_CLASS).append(item))\r\n }));\r\n $(this.content()).append($items);\r\n this._$items = $items;\r\n this.update()\r\n }\r\n _renderSelectedItemFrame() {\r\n $(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_FRAME_CLASS).append($(\"<div>\").addClass(DATEVIEW_ROLLER_ITEM_SELECTED_BORDER_CLASS)).appendTo($(this.container()))\r\n }\r\n _renderSelectedValue(selectedIndex) {\r\n var index = this._fitIndex(null !== selectedIndex && void 0 !== selectedIndex ? selectedIndex : this.option(\"selectedIndex\"));\r\n this._moveTo({\r\n top: this._getItemPosition(index)\r\n });\r\n this._renderActiveStateItem()\r\n }\r\n _fitIndex(index) {\r\n var items = this.option(\"items\") || [];\r\n var itemCount = items.length;\r\n if (index >= itemCount) {\r\n return itemCount - 1\r\n }\r\n if (index < 0) {\r\n return 0\r\n }\r\n return index\r\n }\r\n _getItemPosition(index) {\r\n return Math.round(this._itemHeight() * index)\r\n }\r\n _renderItemsClick() {\r\n var itemSelector = this._getItemSelector();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n eventsEngine.off(this.$element(), eventName, itemSelector);\r\n eventsEngine.on(this.$element(), eventName, itemSelector, this._itemClickHandler.bind(this))\r\n }\r\n _getItemSelector() {\r\n return \".\" + DATEVIEW_ROLLER_ITEM_CLASS\r\n }\r\n _itemClickHandler(e) {\r\n this.option(\"selectedIndex\", this._itemElementIndex(e.currentTarget))\r\n }\r\n _itemElementIndex(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n }\r\n _itemElements() {\r\n return this.$element().find(this._getItemSelector())\r\n }\r\n _renderActiveStateItem() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n each(this._$items, (function(index) {\r\n $(this).toggleClass(DATEVIEW_ROLLER_ITEM_SELECTED_CLASS, selectedIndex === index)\r\n }))\r\n }\r\n _shouldScrollToNeighborItem() {\r\n return \"desktop\" === devices.real().deviceType && this._isWheelScrolled\r\n }\r\n _moveTo(targetLocation) {\r\n var {\r\n top: top,\r\n left: left\r\n } = convertToLocation(targetLocation);\r\n var location = this.scrollOffset();\r\n var delta = {\r\n x: location.left - left,\r\n y: location.top - top\r\n };\r\n if (this._isVisible() && (delta.x || delta.y)) {\r\n this._prepareDirections(true);\r\n if (this._animation && !this._shouldScrollToNeighborItem()) {\r\n var that = this;\r\n fx.stop($(this.content()));\r\n fx.animate($(this.content()), {\r\n duration: 200,\r\n type: \"slide\",\r\n to: {\r\n top: Math.floor(delta.y)\r\n },\r\n complete() {\r\n resetPosition($(that.content()));\r\n that.handleMove({\r\n delta: delta\r\n })\r\n }\r\n });\r\n delete this._animation\r\n } else {\r\n this.handleMove({\r\n delta: delta\r\n })\r\n }\r\n }\r\n }\r\n _validate(e) {\r\n return this._moveIsAllowed(e)\r\n }\r\n _fitSelectedIndexInRange(index) {\r\n var itemsCount = this.option(\"items\").length;\r\n return Math.max(Math.min(index, itemsCount - 1), 0)\r\n }\r\n _isInNullNeighborhood(x) {\r\n return -.1 <= x && x <= .1\r\n }\r\n _getSelectedIndexAfterScroll(currentSelectedIndex) {\r\n var locationTop = this.scrollOffset().top;\r\n var currentSelectedIndexPosition = currentSelectedIndex * this._itemHeight();\r\n var dy = locationTop - currentSelectedIndexPosition;\r\n if (this._isInNullNeighborhood(dy)) {\r\n return currentSelectedIndex\r\n }\r\n var direction = dy > 0 ? 1 : -1;\r\n var newSelectedIndex = this._fitSelectedIndexInRange(currentSelectedIndex + direction);\r\n return newSelectedIndex\r\n }\r\n _getNewSelectedIndex(currentSelectedIndex) {\r\n if (this._shouldScrollToNeighborItem()) {\r\n return this._getSelectedIndexAfterScroll(currentSelectedIndex)\r\n }\r\n this._animation = true;\r\n var ratio = this.scrollOffset().top / this._itemHeight();\r\n return Math.round(ratio)\r\n }\r\n _endActionHandler() {\r\n var currentSelectedIndex = this.option(\"selectedIndex\");\r\n var newSelectedIndex = this._getNewSelectedIndex(currentSelectedIndex);\r\n if (newSelectedIndex === currentSelectedIndex) {\r\n this._renderSelectedValue(newSelectedIndex)\r\n } else {\r\n this.option(\"selectedIndex\", newSelectedIndex)\r\n }\r\n this._isWheelScrolled = false\r\n }\r\n _itemHeight() {\r\n var $item = this._$items.first();\r\n return getHeight($item)\r\n }\r\n _toggleActive(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_ACTIVE_CLASS, state)\r\n }\r\n _isVisible() {\r\n return $(this.container()).is(\":visible\")\r\n }\r\n _fireSelectedIndexChanged(value, previousValue) {\r\n this._selectedIndexChanged({\r\n value: value,\r\n previousValue: previousValue,\r\n event: void 0\r\n })\r\n }\r\n _visibilityChanged(visible) {\r\n super._visibilityChanged(visible);\r\n this._visibilityChangedHandler(visible)\r\n }\r\n _visibilityChangedHandler(visible) {\r\n if (visible) {\r\n this._visibilityTimer = setTimeout(() => {\r\n this._renderSelectedValue(this.option(\"selectedIndex\"))\r\n })\r\n }\r\n this.toggleActiveState(false)\r\n }\r\n toggleActiveState(state) {\r\n this.$element().toggleClass(DATEVIEW_ROLLER_CURRENT_CLASS, state)\r\n }\r\n _refreshSelectedIndex() {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var fitIndex = this._fitIndex(selectedIndex);\r\n if (fitIndex === selectedIndex) {\r\n this._renderActiveStateItem()\r\n } else {\r\n this.option(\"selectedIndex\", fitIndex)\r\n }\r\n }\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectedIndex\":\r\n this._fireSelectedIndexChanged(args.value, args.previousValue);\r\n this._renderSelectedValue(args.value);\r\n break;\r\n case \"items\":\r\n this._renderItems();\r\n this._refreshSelectedIndex();\r\n break;\r\n case \"onClick\":\r\n case \"showOnClick\":\r\n this._renderContainerClick();\r\n break;\r\n case \"onSelectedIndexChanged\":\r\n this._renderSelectedIndexChanged();\r\n break;\r\n default:\r\n super._optionChanged(args)\r\n }\r\n }\r\n _dispose() {\r\n clearTimeout(this._visibilityTimer);\r\n super._dispose()\r\n }\r\n}\r\nregisterComponent(\"dxDateViewRoller\", DateViewRoller);\r\nexport default DateViewRoller;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/convert_location.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../../../core/utils/type\";\r\nimport {\r\n ensureDefined\r\n} from \"../../../../core/utils/common\";\r\nimport {\r\n ScrollDirection\r\n} from \"./scroll_direction\";\r\nexport function convertToLocation(location, direction) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? left : void 0,\r\n top: isDefined(top) ? top : void 0\r\n }\r\n }\r\n var {\r\n isHorizontal: isHorizontal,\r\n isVertical: isVertical\r\n } = new ScrollDirection(direction);\r\n return {\r\n left: isHorizontal && isDefined(location) ? location : void 0,\r\n top: isVertical && isDefined(location) ? location : void 0\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Editor from \"../editor/editor\";\r\nimport DateViewRoller from \"./ui.date_view_roller\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nvar DATEVIEW_CLASS = \"dx-dateview\";\r\nvar DATEVIEW_COMPACT_CLASS = \"dx-dateview-compact\";\r\nvar DATEVIEW_WRAPPER_CLASS = \"dx-dateview-wrapper\";\r\nvar DATEVIEW_ROLLER_CONTAINER_CLASS = \"dx-dateview-rollers\";\r\nvar DATEVIEW_ROLLER_CLASS = \"dx-dateviewroller\";\r\nvar TYPE = {\r\n date: \"date\",\r\n datetime: \"datetime\",\r\n time: \"time\"\r\n};\r\nvar ROLLER_TYPE = {\r\n year: \"year\",\r\n month: \"month\",\r\n day: \"day\",\r\n hours: \"hours\"\r\n};\r\nvar DateView = Editor.inherit({\r\n _valueOption: function() {\r\n var value = this.option(\"value\");\r\n var date = new Date(value);\r\n return !value || isNaN(date) ? this._getDefaultDate() : date\r\n },\r\n _getDefaultDate: function() {\r\n var date = new Date;\r\n if (this.option(\"type\") === TYPE.date) {\r\n return new Date(date.getFullYear(), date.getMonth(), date.getDate())\r\n }\r\n return date\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n minDate: uiDateUtils.MIN_DATEVIEW_DEFAULT_DATE,\r\n maxDate: uiDateUtils.MAX_DATEVIEW_DEFAULT_DATE,\r\n type: TYPE.date,\r\n value: new Date,\r\n applyCompactClass: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n return \"desktop\" !== _device.deviceType\r\n },\r\n options: {\r\n applyCompactClass: true\r\n }\r\n }])\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(DATEVIEW_CLASS);\r\n this._toggleFormatClasses(this.option(\"type\"));\r\n this._toggleCompactClass()\r\n },\r\n _toggleFormatClasses: function(currentFormat, previousFormat) {\r\n this.$element().addClass(DATEVIEW_CLASS + \"-\" + currentFormat);\r\n previousFormat && this.$element().removeClass(DATEVIEW_CLASS + \"-\" + previousFormat)\r\n },\r\n _toggleCompactClass: function() {\r\n this.$element().toggleClass(DATEVIEW_COMPACT_CLASS, this.option(\"applyCompactClass\"))\r\n },\r\n _wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _renderContentImpl: function() {\r\n this._$wrapper = $(\"<div>\").addClass(DATEVIEW_WRAPPER_CLASS);\r\n this._renderRollers();\r\n this._$wrapper.appendTo(this.$element())\r\n },\r\n _renderRollers: function() {\r\n if (!this._$rollersContainer) {\r\n this._$rollersContainer = $(\"<div>\").addClass(DATEVIEW_ROLLER_CONTAINER_CLASS)\r\n }\r\n this._$rollersContainer.empty();\r\n this._createRollerConfigs();\r\n this._rollers = {};\r\n var that = this;\r\n each(that._rollerConfigs, (function(name) {\r\n var $roller = $(\"<div>\").appendTo(that._$rollersContainer).addClass(DATEVIEW_ROLLER_CLASS + \"-\" + that._rollerConfigs[name].type);\r\n that._rollers[that._rollerConfigs[name].type] = that._createComponent($roller, DateViewRoller, {\r\n items: that._rollerConfigs[name].displayItems,\r\n selectedIndex: that._rollerConfigs[name].selectedIndex,\r\n showScrollbar: \"never\",\r\n scrollByContent: true,\r\n onStart: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(true);\r\n that._setActiveRoller(that._rollerConfigs[name], roller.option(\"selectedIndex\"))\r\n },\r\n onEnd: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(false)\r\n },\r\n onClick: function(e) {\r\n var roller = e.component;\r\n roller._toggleActive(true);\r\n that._setActiveRoller(that._rollerConfigs[name], roller.option(\"selectedIndex\"));\r\n that._setRollerState(that._rollerConfigs[name], roller.option(\"selectedIndex\"));\r\n roller._toggleActive(false)\r\n },\r\n onSelectedIndexChanged: function(e) {\r\n var roller = e.component;\r\n that._setRollerState(that._rollerConfigs[name], roller.option(\"selectedIndex\"))\r\n }\r\n })\r\n }));\r\n that._$rollersContainer.appendTo(that._wrapper())\r\n },\r\n _createRollerConfigs: function(type) {\r\n var that = this;\r\n type = type || that.option(\"type\");\r\n that._rollerConfigs = {};\r\n dateLocalization.getFormatParts(uiDateUtils.FORMATS_MAP[type]).forEach((function(partName) {\r\n that._createRollerConfig(partName)\r\n }))\r\n },\r\n _createRollerConfig: function(componentName) {\r\n var componentInfo = uiDateUtils.DATE_COMPONENTS_INFO[componentName];\r\n var valueRange = this._calculateRollerConfigValueRange(componentName);\r\n var startValue = valueRange.startValue;\r\n var endValue = valueRange.endValue;\r\n var formatter = componentInfo.formatter;\r\n var curDate = this._getCurrentDate();\r\n var config = {\r\n type: componentName,\r\n setValue: componentInfo.setter,\r\n valueItems: [],\r\n displayItems: [],\r\n getIndex: function(value) {\r\n return value[componentInfo.getter]() - startValue\r\n }\r\n };\r\n for (var i = startValue; i <= endValue; i++) {\r\n config.valueItems.push(i);\r\n config.displayItems.push(formatter(i, curDate))\r\n }\r\n config.selectedIndex = config.getIndex(curDate);\r\n this._rollerConfigs[componentName] = config\r\n },\r\n _setActiveRoller: function(currentRoller) {\r\n var activeRoller = currentRoller && this._rollers[currentRoller.type];\r\n each(this._rollers, (function() {\r\n this.toggleActiveState(this === activeRoller)\r\n }))\r\n },\r\n _updateRollersPosition: function() {\r\n var that = this;\r\n each(this._rollers, (function(type) {\r\n var correctIndex = that._rollerConfigs[type].getIndex(that._getCurrentDate());\r\n this.option(\"selectedIndex\", correctIndex)\r\n }))\r\n },\r\n _setRollerState: function(roller, selectedIndex) {\r\n if (selectedIndex !== roller.selectedIndex) {\r\n var rollerValue = roller.valueItems[selectedIndex];\r\n var setValue = roller.setValue;\r\n var currentValue = new Date(this._getCurrentDate());\r\n var currentDate = currentValue.getDate();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n if (roller.type === ROLLER_TYPE.month) {\r\n currentDate = Math.min(currentDate, uiDateUtils.getMaxMonthDay(currentValue.getFullYear(), rollerValue))\r\n } else if (roller.type === ROLLER_TYPE.year) {\r\n currentDate = Math.min(currentDate, uiDateUtils.getMaxMonthDay(rollerValue, currentValue.getMonth()))\r\n }\r\n currentValue.setDate(currentDate);\r\n currentValue[setValue](rollerValue);\r\n var normalizedDate = dateUtils.normalizeDate(currentValue, minDate, maxDate);\r\n currentValue = uiDateUtils.mergeDates(normalizedDate, currentValue, \"time\");\r\n currentValue = dateUtils.normalizeDate(currentValue, minDate, maxDate);\r\n this.option(\"value\", currentValue);\r\n roller.selectedIndex = selectedIndex\r\n }\r\n if (roller.type === ROLLER_TYPE.year) {\r\n this._refreshRollers()\r\n }\r\n if (roller.type === ROLLER_TYPE.month) {\r\n this._refreshRoller(ROLLER_TYPE.day);\r\n this._refreshRoller(ROLLER_TYPE.hours)\r\n }\r\n },\r\n _refreshRoller: function(rollerType) {\r\n var roller = this._rollers[rollerType];\r\n if (roller) {\r\n this._createRollerConfig(rollerType);\r\n var rollerConfig = this._rollerConfigs[rollerType];\r\n if (rollerType === ROLLER_TYPE.day || rollerConfig.displayItems.toString() !== roller.option(\"items\").toString()) {\r\n roller.option({\r\n items: rollerConfig.displayItems,\r\n selectedIndex: rollerConfig.selectedIndex\r\n })\r\n }\r\n }\r\n },\r\n _getCurrentDate: function() {\r\n var curDate = this._valueOption();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n return dateUtils.normalizeDate(curDate, minDate, maxDate)\r\n },\r\n _calculateRollerConfigValueRange: function(componentName) {\r\n var curDate = this._getCurrentDate();\r\n var minDate = this.option(\"minDate\");\r\n var maxDate = this.option(\"maxDate\");\r\n var minYear = dateUtils.sameYear(curDate, minDate);\r\n var minMonth = minYear && curDate.getMonth() === minDate.getMonth();\r\n var maxYear = dateUtils.sameYear(curDate, maxDate);\r\n var maxMonth = maxYear && curDate.getMonth() === maxDate.getMonth();\r\n var minHour = minMonth && curDate.getDate() === minDate.getDate();\r\n var maxHour = maxMonth && curDate.getDate() === maxDate.getDate();\r\n var componentInfo = uiDateUtils.DATE_COMPONENTS_INFO[componentName];\r\n var startValue = componentInfo.startValue;\r\n var endValue = componentInfo.endValue;\r\n if (componentName === ROLLER_TYPE.year) {\r\n startValue = minDate.getFullYear();\r\n endValue = maxDate.getFullYear()\r\n }\r\n if (componentName === ROLLER_TYPE.month) {\r\n if (minYear) {\r\n startValue = minDate.getMonth()\r\n }\r\n if (maxYear) {\r\n endValue = maxDate.getMonth()\r\n }\r\n }\r\n if (componentName === ROLLER_TYPE.day) {\r\n endValue = uiDateUtils.getMaxMonthDay(curDate.getFullYear(), curDate.getMonth());\r\n if (minYear && minMonth) {\r\n startValue = minDate.getDate()\r\n }\r\n if (maxYear && maxMonth) {\r\n endValue = maxDate.getDate()\r\n }\r\n }\r\n if (componentName === ROLLER_TYPE.hours) {\r\n startValue = minHour ? minDate.getHours() : startValue;\r\n endValue = maxHour ? maxDate.getHours() : endValue\r\n }\r\n return {\r\n startValue: startValue,\r\n endValue: endValue\r\n }\r\n },\r\n _refreshRollers: function() {\r\n this._refreshRoller(ROLLER_TYPE.month);\r\n this._refreshRoller(ROLLER_TYPE.day);\r\n this._refreshRoller(ROLLER_TYPE.hours)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"minDate\":\r\n case \"maxDate\":\r\n case \"type\":\r\n this._renderRollers();\r\n this._toggleFormatClasses(args.value, args.previousValue);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (args.value) {\r\n this._renderRollers()\r\n }\r\n break;\r\n case \"value\":\r\n this.option(\"value\", this._valueOption());\r\n this._refreshRollers();\r\n this._updateRollersPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n delete this._$rollersContainer\r\n }\r\n});\r\nregisterComponent(\"dxDateView\", DateView);\r\nexport default DateView;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.date_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport DateView from \"./ui.date_view\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport messageLocalization from \"../../localization/message\";\r\nvar DateViewStrategy = DateBoxStrategy.inherit({\r\n NAME: \"DateView\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n openOnFieldClick: true,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n \"dropDownOptions.showTitle\": true\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || dateUtils.FORMATS_MAP[this.dateBox.option(\"type\")]\r\n },\r\n popupConfig: function(config) {\r\n return {\r\n toolbarItems: this.dateBox._popupToolbarItemsConfig(),\r\n onInitialized: config.onInitialized,\r\n defaultOptionsRules: [{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n width: 333,\r\n height: 331\r\n }\r\n }, {\r\n device: function(_device) {\r\n var platform = _device.platform;\r\n return \"generic\" === platform || \"ios\" === platform\r\n },\r\n options: {\r\n width: \"auto\",\r\n height: \"auto\"\r\n }\r\n }, {\r\n device: function(_device2) {\r\n var platform = _device2.platform;\r\n var phone = _device2.phone;\r\n return \"generic\" === platform && phone\r\n },\r\n options: {\r\n width: 333,\r\n maxWidth: \"100%\",\r\n maxHeight: \"100%\",\r\n height: \"auto\",\r\n position: {\r\n collision: \"flipfit flip\"\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"ios\",\r\n phone: true\r\n },\r\n options: {\r\n width: \"100%\",\r\n position: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }]\r\n }\r\n },\r\n _renderWidget: function() {\r\n if (inputType(this.dateBox.option(\"mode\")) && this.dateBox._isNativeType() || this.dateBox.option(\"readOnly\")) {\r\n if (this._widget) {\r\n this._widget.$element().remove();\r\n this._widget = null\r\n }\r\n return\r\n }\r\n var popup = this._getPopup();\r\n if (this._widget) {\r\n this._widget.option(this._getWidgetOptions())\r\n } else {\r\n var element = $(\"<div>\").appendTo(popup.$content());\r\n this._widget = this._createWidget(element)\r\n }\r\n this._widget.$element().appendTo(this._getWidgetContainer())\r\n },\r\n _getWidgetName: function() {\r\n return DateView\r\n },\r\n renderOpenedState: function() {\r\n this.callBase();\r\n if (this._widget) {\r\n this._widget.option(\"value\", this._widget._getCurrentDate())\r\n }\r\n },\r\n _getWidgetOptions: function() {\r\n return {\r\n value: this.dateBoxValue() || new Date,\r\n type: this.dateBox.option(\"type\"),\r\n minDate: this.dateBox.dateOption(\"min\") || new Date(1900, 0, 1),\r\n maxDate: this.dateBox.dateOption(\"max\") || new Date(Date.now() + 50 * dateUtils.ONE_YEAR),\r\n onDisposing: function() {\r\n this._widget = null\r\n }.bind(this)\r\n }\r\n }\r\n});\r\nexport default DateViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.native.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nvar NativeStrategy = DateBoxStrategy.inherit({\r\n NAME: \"Native\",\r\n popupConfig: function(_popupConfig) {\r\n return extend({}, _popupConfig, {\r\n width: \"auto\"\r\n })\r\n },\r\n getParsedText: function(text) {\r\n if (!text) {\r\n return null\r\n }\r\n if (\"datetime\" === this.dateBox.option(\"type\")) {\r\n return new Date(text.replace(/-/g, \"/\").replace(\"T\", \" \").split(\".\")[0])\r\n }\r\n return dateUtils.fromStandardDateFormat(text)\r\n },\r\n renderPopupContent: noop,\r\n _getWidgetName: noop,\r\n _getWidgetOptions: noop,\r\n _getDateBoxType: function() {\r\n var type = this.dateBox.option(\"type\");\r\n if (!dateUtils.SUPPORTED_FORMATS.includes(type)) {\r\n type = \"date\"\r\n } else if (\"datetime\" === type && !inputType(type)) {\r\n type = \"datetime-local\"\r\n }\r\n return type\r\n },\r\n customizeButtons: function() {\r\n var dropDownButton = this.dateBox.getButton(\"dropDown\");\r\n if (devices.real().android && dropDownButton) {\r\n dropDownButton.on(\"click\", function() {\r\n this.dateBox._input().get(0).click()\r\n }.bind(this))\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return {\r\n mode: this._getDateBoxType()\r\n }\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n var type = this._getDateBoxType();\r\n return displayFormat || dateUtils.FORMATS_MAP[type]\r\n },\r\n renderInputMinMax: function($input) {\r\n $input.attr({\r\n min: dateSerialization.serializeDate(this.dateBox.dateOption(\"min\"), \"yyyy-MM-dd\"),\r\n max: dateSerialization.serializeDate(this.dateBox.dateOption(\"max\"), \"yyyy-MM-dd\")\r\n })\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.time_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Editor from \"../editor/editor\";\r\nimport NumberBox from \"../number_box\";\r\nimport SelectBox from \"../select_box\";\r\nimport Box from \"../box\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nvar TIMEVIEW_CLASS = \"dx-timeview\";\r\nvar TIMEVIEW_CLOCK_CLASS = \"dx-timeview-clock\";\r\nvar TIMEVIEW_FIELD_CLASS = \"dx-timeview-field\";\r\nvar TIMEVIEW_HOURARROW_CLASS = \"dx-timeview-hourarrow\";\r\nvar TIMEVIEW_TIME_SEPARATOR_CLASS = \"dx-timeview-time-separator\";\r\nvar TIMEVIEW_FORMAT12_CLASS = \"dx-timeview-format12\";\r\nvar TIMEVIEW_FORMAT12_AM = -1;\r\nvar TIMEVIEW_FORMAT12_PM = 1;\r\nvar TIMEVIEW_MINUTEARROW_CLASS = \"dx-timeview-minutearrow\";\r\nvar rotateArrow = function($arrow, angle, offset) {\r\n cssRotate($arrow, angle, offset)\r\n};\r\nvar cssRotate = function($arrow, angle, offset) {\r\n $arrow.css(\"transform\", \"rotate(\" + angle + \"deg) translate(0,\" + offset + \"px)\")\r\n};\r\nvar TimeView = Editor.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: new Date(Date.now()),\r\n use24HourFormat: true,\r\n _showClock: true,\r\n _arrowOffset: 5,\r\n stylingMode: void 0\r\n })\r\n },\r\n _getValue: function() {\r\n return this.option(\"value\") || new Date\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TIMEVIEW_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderBox();\r\n this._updateTime()\r\n },\r\n _renderBox: function() {\r\n var $box = $(\"<div>\").appendTo(this.$element());\r\n var items = [];\r\n if (this.option(\"_showClock\")) {\r\n items.push({\r\n ratio: 1,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: this._renderClock.bind(this)\r\n })\r\n }\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: this._renderField.bind(this)\r\n });\r\n this._createComponent($box, Box, {\r\n height: \"100%\",\r\n width: \"100%\",\r\n direction: \"col\",\r\n items: items\r\n })\r\n },\r\n _renderClock: function(_, __, container) {\r\n this._$hourArrow = $(\"<div>\").addClass(TIMEVIEW_HOURARROW_CLASS);\r\n this._$minuteArrow = $(\"<div>\").addClass(TIMEVIEW_MINUTEARROW_CLASS);\r\n var $container = $(container);\r\n $container.addClass(TIMEVIEW_CLOCK_CLASS).append(this._$hourArrow).append(this._$minuteArrow);\r\n this.setAria(\"role\", \"presentation\", $container)\r\n },\r\n _updateClock: function() {\r\n var time = this._getValue();\r\n var hourArrowAngle = time.getHours() / 12 * 360 + time.getMinutes() / 60 * 30;\r\n var minuteArrowAngle = time.getMinutes() / 60 * 360;\r\n rotateArrow(this._$hourArrow, hourArrowAngle, this.option(\"_arrowOffset\"));\r\n rotateArrow(this._$minuteArrow, minuteArrowAngle, this.option(\"_arrowOffset\"))\r\n },\r\n _getBoxItems: function(is12HourFormat) {\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._hourBox.$element()\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: $(\"<div>\").addClass(TIMEVIEW_TIME_SEPARATOR_CLASS).text(dateLocalization.getTimeSeparator())\r\n }, {\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._minuteBox.$element()\r\n }];\r\n if (is12HourFormat) {\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n template: () => this._format12.$element()\r\n })\r\n }\r\n return items\r\n },\r\n _renderField: function() {\r\n var is12HourFormat = !this.option(\"use24HourFormat\");\r\n this._createHourBox(is12HourFormat);\r\n this._createMinuteBox();\r\n if (is12HourFormat) {\r\n this._createFormat12Box()\r\n }\r\n return this._createComponent($(\"<div>\").addClass(TIMEVIEW_FIELD_CLASS), Box, {\r\n direction: \"row\",\r\n align: \"center\",\r\n crossAlign: \"center\",\r\n items: this._getBoxItems(is12HourFormat)\r\n }).$element()\r\n },\r\n _createHourBox: function(is12HourFormat) {\r\n var editor = this._hourBox = this._createComponent($(\"<div>\"), NumberBox, extend({\r\n min: -1,\r\n max: is12HourFormat ? 13 : 24,\r\n value: this._getValue().getHours(),\r\n onValueChanged: this._onHourBoxValueChanged.bind(this),\r\n onKeyboardHandled: opts => this._keyboardHandler(opts)\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"hours\")\r\n },\r\n _isPM: function() {\r\n return !this.option(\"use24HourFormat\") && 1 === this._format12.option(\"value\")\r\n },\r\n _onHourBoxValueChanged: function(_ref) {\r\n var {\r\n value: value,\r\n component: component\r\n } = _ref;\r\n var currentValue = this._getValue();\r\n var newValue = new Date(currentValue);\r\n var newHours = this._convertMaxHourToMin(value);\r\n component.option(\"value\", newHours);\r\n if (this._isPM()) {\r\n newHours += 12\r\n }\r\n newValue.setHours(newHours);\r\n dateUtils.normalizeTime(newValue);\r\n this.option(\"value\", newValue)\r\n },\r\n _convertMaxHourToMin: function(hours) {\r\n var maxHoursValue = this.option(\"use24HourFormat\") ? 24 : 12;\r\n return (maxHoursValue + hours) % maxHoursValue\r\n },\r\n _createMinuteBox: function() {\r\n var editor = this._minuteBox = this._createComponent($(\"<div>\"), NumberBox, extend({\r\n min: -1,\r\n max: 60,\r\n value: this._getValue().getMinutes(),\r\n onKeyboardHandled: opts => this._keyboardHandler(opts),\r\n onValueChanged: _ref2 => {\r\n var {\r\n value: value,\r\n component: component\r\n } = _ref2;\r\n var newMinutes = (60 + value) % 60;\r\n component.option(\"value\", newMinutes);\r\n var time = new Date(this._getValue());\r\n time.setMinutes(newMinutes);\r\n dateUtils.normalizeTime(time);\r\n this.option(\"value\", time)\r\n }\r\n }, this._getNumberBoxConfig()));\r\n editor.setAria(\"label\", \"minutes\")\r\n },\r\n _createFormat12Box: function() {\r\n var periodNames = dateLocalization.getPeriodNames();\r\n var editor = this._format12 = this._createComponent($(\"<div>\").addClass(TIMEVIEW_FORMAT12_CLASS), SelectBox, {\r\n items: [{\r\n value: TIMEVIEW_FORMAT12_AM,\r\n text: periodNames[0]\r\n }, {\r\n value: TIMEVIEW_FORMAT12_PM,\r\n text: periodNames[1]\r\n }],\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onKeyboardHandled: opts => this._keyboardHandler(opts),\r\n onValueChanged: _ref3 => {\r\n var {\r\n value: value\r\n } = _ref3;\r\n var hours = this._getValue().getHours();\r\n var time = new Date(this._getValue());\r\n var newHours = (hours + 12 * value) % 24;\r\n time.setHours(newHours);\r\n this.option(\"value\", time)\r\n },\r\n value: this._getValue().getHours() >= 12 ? TIMEVIEW_FORMAT12_PM : TIMEVIEW_FORMAT12_AM,\r\n stylingMode: this.option(\"stylingMode\")\r\n });\r\n editor.setAria(\"label\", \"type\")\r\n },\r\n _refreshFormat12: function() {\r\n if (this.option(\"use24HourFormat\")) {\r\n return\r\n }\r\n var value = this._getValue();\r\n var hours = value.getHours();\r\n var isPM = hours >= 12;\r\n var newValue = isPM ? TIMEVIEW_FORMAT12_PM : TIMEVIEW_FORMAT12_AM;\r\n this._silentEditorValueUpdate(this._format12, newValue)\r\n },\r\n _silentEditorValueUpdate: function(editor, value) {\r\n if (editor) {\r\n editor._suppressValueChangeAction();\r\n editor.option(\"value\", value);\r\n editor._resumeValueChangeAction()\r\n }\r\n },\r\n _getNumberBoxConfig: function() {\r\n return {\r\n showSpinButtons: true,\r\n displayValueFormatter: function(value) {\r\n return (value < 10 ? \"0\" : \"\") + value\r\n },\r\n stylingMode: this.option(\"stylingMode\")\r\n }\r\n },\r\n _normalizeHours: function(hours) {\r\n return this.option(\"use24HourFormat\") ? hours : hours % 12 || 12\r\n },\r\n _updateField: function() {\r\n var hours = this._normalizeHours(this._getValue().getHours());\r\n this._silentEditorValueUpdate(this._hourBox, hours);\r\n this._silentEditorValueUpdate(this._minuteBox, this._getValue().getMinutes());\r\n this._refreshFormat12()\r\n },\r\n _updateTime: function() {\r\n if (this.option(\"_showClock\")) {\r\n this._updateClock()\r\n }\r\n this._updateField()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateTime()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._updateTime();\r\n this.callBase(args);\r\n break;\r\n case \"_arrowOffset\":\r\n break;\r\n case \"use24HourFormat\":\r\n case \"_showClock\":\r\n case \"stylingMode\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxTimeView\", TimeView);\r\nexport default TimeView;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.calendar_with_time.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport CalendarStrategy from \"./ui.date_box.strategy.calendar\";\r\nimport TimeView from \"./ui.time_view\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport Box from \"../box\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nvar SHRINK_VIEW_SCREEN_WIDTH = 573;\r\nvar DATEBOX_ADAPTIVITY_MODE_CLASS = \"dx-datebox-adaptivity-mode\";\r\nvar DATEBOX_TIMEVIEW_SIDE_CLASS = \"dx-datebox-datetime-time-side\";\r\nvar CalendarWithTimeStrategy = CalendarStrategy.inherit({\r\n NAME: \"CalendarWithTime\",\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n applyValueMode: \"useButtons\",\r\n buttonsLocation: \"bottom after\",\r\n \"dropDownOptions.showTitle\": false\r\n })\r\n },\r\n _closeDropDownByEnter: function() {\r\n return dateUtils.sameDate(this._getContouredValue(), this.widgetOption(\"value\"))\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shortdateshorttime\"\r\n },\r\n _is24HourFormat: function() {\r\n return dateLocalization.is24HourFormat(this.getDisplayFormat(this.dateBox.option(\"displayFormat\")))\r\n },\r\n _getContouredValue: function() {\r\n var viewDate = this.callBase();\r\n return this._updateDateTime(viewDate)\r\n },\r\n _renderWidget: function() {\r\n this.callBase();\r\n this._timeView = this.dateBox._createComponent($(\"<div>\"), TimeView, {\r\n value: this.dateBoxValue(),\r\n _showClock: !this._isShrinkView(),\r\n use24HourFormat: this._is24HourFormat(),\r\n onValueChanged: this._valueChangedHandler.bind(this),\r\n stylingMode: this.dateBox.option(\"stylingMode\")\r\n });\r\n this._timeView.registerKeyHandler(\"escape\", this._escapeHandler.bind(this))\r\n },\r\n renderOpenedState: function() {\r\n this.callBase();\r\n var popup = this._getPopup();\r\n if (popup) {\r\n popup.$wrapper().toggleClass(DATEBOX_ADAPTIVITY_MODE_CLASS, this._isSmallScreen())\r\n }\r\n clearTimeout(this._repaintTimer);\r\n this._repaintTimer = setTimeout(function() {\r\n this._getPopup() && this._getPopup().repaint()\r\n }.bind(this), 0)\r\n },\r\n isAdaptivityChanged: function() {\r\n var isAdaptiveMode = this._isShrinkView();\r\n var currentAdaptiveMode = this._currentAdaptiveMode;\r\n if (isAdaptiveMode !== currentAdaptiveMode) {\r\n this._currentAdaptiveMode = isAdaptiveMode;\r\n return void 0 !== currentAdaptiveMode\r\n }\r\n return this.callBase()\r\n },\r\n _updateValue: function(preventDefaultValue) {\r\n var date = this.dateBoxValue();\r\n if (!date && !preventDefaultValue) {\r\n date = new Date;\r\n uiDateUtils.normalizeTime(date)\r\n }\r\n this.callBase();\r\n if (this._timeView) {\r\n date && this._timeView.option(\"value\", date);\r\n this._timeView.option(\"use24HourFormat\", this._is24HourFormat())\r\n }\r\n },\r\n _isSmallScreen: function() {\r\n return getWidth(window) <= SHRINK_VIEW_SCREEN_WIDTH\r\n },\r\n _isShrinkView: function() {\r\n return !this.dateBox.option(\"showAnalogClock\") || this.dateBox.option(\"adaptivityEnabled\") && this._isSmallScreen()\r\n },\r\n _getBoxItems: function() {\r\n var items = [{\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n name: \"calendar\"\r\n }];\r\n if (!this._isShrinkView()) {\r\n items.push({\r\n ratio: 0,\r\n shrink: 0,\r\n baseSize: \"auto\",\r\n name: \"time\"\r\n })\r\n }\r\n return items\r\n },\r\n renderPopupContent: function() {\r\n this.callBase();\r\n this._currentAdaptiveMode = this._isShrinkView();\r\n var $popupContent = this._getPopup().$content();\r\n this._box = this.dateBox._createComponent($(\"<div>\").appendTo($popupContent), Box, {\r\n direction: \"row\",\r\n crossAlign: \"stretch\",\r\n items: this._getBoxItems(),\r\n itemTemplate: function(data, i, element) {\r\n var $container = $(\"<div>\");\r\n switch (data.name) {\r\n case \"calendar\":\r\n $container.append(this._widget.$element());\r\n if (this._isShrinkView()) {\r\n this._timeView.$element().addClass(DATEBOX_TIMEVIEW_SIDE_CLASS);\r\n $container.append(this._timeView.$element())\r\n }\r\n break;\r\n case \"time\":\r\n $container.append(this._timeView.$element());\r\n $(element).addClass(DATEBOX_TIMEVIEW_SIDE_CLASS)\r\n }\r\n return $container\r\n }.bind(this)\r\n });\r\n this._attachTabHandler()\r\n },\r\n popupConfig: function(_popupConfig) {\r\n var calendarPopupConfig = this.callBase(_popupConfig);\r\n return extend(calendarPopupConfig, {\r\n width: \"auto\"\r\n })\r\n },\r\n getFirstPopupElement: function() {\r\n return this._timeView._hourBox.$element().find(\"input\")\r\n },\r\n _attachTabHandler: function() {\r\n var dateBox = this.dateBox;\r\n this._timeView._hourBox.registerKeyHandler(\"tab\", (function(e) {\r\n if (e.shiftKey) {\r\n e.preventDefault();\r\n dateBox.focus()\r\n }\r\n }))\r\n },\r\n _preventFocusOnPopup: function(e) {\r\n if (!$(e.target).hasClass(\"dx-texteditor-input\")) {\r\n this.callBase.apply(this, arguments);\r\n if (!this.dateBox._hasFocusClass()) {\r\n this.dateBox.focus()\r\n }\r\n }\r\n },\r\n _updateDateTime: function(date) {\r\n var time = this._timeView.option(\"value\");\r\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds());\r\n return date\r\n },\r\n getValue: function() {\r\n var _this$_widget$option;\r\n var date = null !== (_this$_widget$option = this._widget.option(\"value\")) && void 0 !== _this$_widget$option ? _this$_widget$option : this._widget.getContouredDate();\r\n date = date ? new Date(date) : new Date;\r\n return this._updateDateTime(date)\r\n },\r\n dispose: function() {\r\n clearTimeout(this._removeMinWidthTimer);\r\n clearTimeout(this._repaintTimer);\r\n this.callBase()\r\n }\r\n});\r\nexport default CalendarWithTimeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.strategy.list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport List from \"../list_light\";\r\nimport \"../list/modules/selection\";\r\nimport DateBoxStrategy from \"./ui.date_box.strategy\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDate\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport dateUtils from \"./ui.date_utils\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport {\r\n getSizeValue\r\n} from \"../drop_down_editor/utils\";\r\nvar DATE_FORMAT = \"date\";\r\nvar BOUNDARY_VALUES = {\r\n min: new Date(0, 0, 0, 0, 0),\r\n max: new Date(0, 0, 0, 23, 59)\r\n};\r\nvar ListStrategy = DateBoxStrategy.inherit({\r\n NAME: \"List\",\r\n supportedKeys: function() {\r\n return {\r\n tab: function() {\r\n var {\r\n opened: opened,\r\n applyValueMode: applyValueMode\r\n } = this.option();\r\n if (opened && \"instantly\" === applyValueMode) {\r\n this.close()\r\n }\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n }\r\n },\r\n getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n applyValueMode: \"instantly\"\r\n })\r\n },\r\n getDisplayFormat: function(displayFormat) {\r\n return displayFormat || \"shorttime\"\r\n },\r\n popupConfig: function(_popupConfig) {\r\n return _popupConfig\r\n },\r\n getValue: function() {\r\n var selectedIndex = this._widget.option(\"selectedIndex\");\r\n if (-1 === selectedIndex) {\r\n return this.dateBox.option(\"value\")\r\n }\r\n var itemData = this._widgetItems[selectedIndex];\r\n return this._getDateByItemData(itemData)\r\n },\r\n useCurrentDateByDefault: function() {\r\n return true\r\n },\r\n getDefaultDate: function() {\r\n return new Date(null)\r\n },\r\n popupShowingHandler: function() {\r\n this.dateBox._dimensionChanged()\r\n },\r\n _renderWidget: function() {\r\n this.callBase();\r\n this._refreshItems()\r\n },\r\n _getWidgetName: function() {\r\n return List\r\n },\r\n _getWidgetOptions: function() {\r\n return {\r\n itemTemplate: this._timeListItemTemplate.bind(this),\r\n onItemClick: this._listItemClickHandler.bind(this),\r\n tabIndex: -1,\r\n onFocusedItemChanged: this._refreshActiveDescendant.bind(this),\r\n selectionMode: \"single\"\r\n }\r\n },\r\n _refreshActiveDescendant: function(e) {\r\n this.dateBox.setAria(\"activedescendant\", \"\");\r\n this.dateBox.setAria(\"activedescendant\", e.actionValue)\r\n },\r\n _refreshItems: function() {\r\n this._widgetItems = this._getTimeListItems();\r\n this._widget.option(\"items\", this._widgetItems)\r\n },\r\n renderOpenedState: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._widget.option(\"focusedElement\", null);\r\n this._setSelectedItemsByValue();\r\n if (this._widget.option(\"templatesRenderAsynchronously\")) {\r\n this._asyncScrollTimeout = setTimeout(this._scrollToSelectedItem.bind(this))\r\n } else {\r\n this._scrollToSelectedItem()\r\n }\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._asyncScrollTimeout)\r\n },\r\n _updateValue: function() {\r\n if (!this._widget) {\r\n return\r\n }\r\n this._refreshItems();\r\n this._setSelectedItemsByValue();\r\n this._scrollToSelectedItem()\r\n },\r\n _setSelectedItemsByValue: function() {\r\n var value = this.dateBoxValue();\r\n var dateIndex = this._getDateIndex(value);\r\n if (-1 === dateIndex) {\r\n this._widget.option(\"selectedItems\", [])\r\n } else {\r\n this._widget.option(\"selectedIndex\", dateIndex)\r\n }\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._widget.scrollToItem(this._widget.option(\"selectedIndex\"))\r\n },\r\n _getDateIndex: function(date) {\r\n var result = -1;\r\n for (var i = 0, n = this._widgetItems.length; i < n; i++) {\r\n if (this._areDatesEqual(date, this._widgetItems[i])) {\r\n result = i;\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _areDatesEqual: function(first, second) {\r\n return isDate(first) && isDate(second) && first.getHours() === second.getHours() && first.getMinutes() === second.getMinutes()\r\n },\r\n _getTimeListItems: function() {\r\n var min = this.dateBox.dateOption(\"min\") || this._getBoundaryDate(\"min\");\r\n var max = this.dateBox.dateOption(\"max\") || this._getBoundaryDate(\"max\");\r\n var value = this.dateBox.dateOption(\"value\") || null;\r\n var delta = max - min;\r\n var minutes = min.getMinutes() % this.dateBox.option(\"interval\");\r\n if (delta < 0) {\r\n return []\r\n }\r\n if (delta > dateUtils.ONE_DAY) {\r\n delta = dateUtils.ONE_DAY\r\n }\r\n if (value - min < dateUtils.ONE_DAY) {\r\n return this._getRangeItems(min, new Date(min), delta)\r\n }\r\n min = this._getBoundaryDate(\"min\");\r\n min.setMinutes(minutes);\r\n if (value && Math.abs(value - max) < dateUtils.ONE_DAY) {\r\n delta = (60 * max.getHours() + Math.abs(max.getMinutes() - minutes)) * dateUtils.ONE_MINUTE\r\n }\r\n return this._getRangeItems(min, new Date(min), delta)\r\n },\r\n _getRangeItems: function(startValue, currentValue, rangeDuration) {\r\n var rangeItems = [];\r\n var interval = this.dateBox.option(\"interval\");\r\n while (currentValue - startValue <= rangeDuration) {\r\n rangeItems.push(new Date(currentValue));\r\n currentValue.setMinutes(currentValue.getMinutes() + interval)\r\n }\r\n return rangeItems\r\n },\r\n _getBoundaryDate: function(boundary) {\r\n var boundaryValue = BOUNDARY_VALUES[boundary];\r\n var currentValue = new Date(ensureDefined(this.dateBox.dateOption(\"value\"), 0));\r\n return new Date(currentValue.getFullYear(), currentValue.getMonth(), currentValue.getDate(), boundaryValue.getHours(), boundaryValue.getMinutes())\r\n },\r\n _timeListItemTemplate: function(itemData) {\r\n var displayFormat = this.dateBox.option(\"displayFormat\");\r\n return dateLocalization.format(itemData, this.getDisplayFormat(displayFormat))\r\n },\r\n _listItemClickHandler: function(e) {\r\n if (\"useButtons\" === this.dateBox.option(\"applyValueMode\")) {\r\n return\r\n }\r\n var date = this._getDateByItemData(e.itemData);\r\n this.dateBox.option(\"opened\", false);\r\n this.dateBoxValue(date, e.event)\r\n },\r\n _getDateByItemData: function(itemData) {\r\n var date = this.dateBox.option(\"value\");\r\n var hours = itemData.getHours();\r\n var minutes = itemData.getMinutes();\r\n var seconds = itemData.getSeconds();\r\n var year = itemData.getFullYear();\r\n var month = itemData.getMonth();\r\n var day = itemData.getDate();\r\n if (date) {\r\n if (this.dateBox.option(\"dateSerializationFormat\")) {\r\n date = dateSerialization.deserializeDate(date)\r\n } else {\r\n date = new Date(date)\r\n }\r\n date.setHours(hours);\r\n date.setMinutes(minutes);\r\n date.setSeconds(seconds);\r\n date.setFullYear(year);\r\n date.setMonth(month);\r\n date.setDate(day)\r\n } else {\r\n date = new Date(year, month, day, hours, minutes, 0, 0)\r\n }\r\n return date\r\n },\r\n getKeyboardListener: function() {\r\n return this._widget\r\n },\r\n _updatePopupHeight: function() {\r\n var dropDownOptionsHeight = getSizeValue(this.dateBox.option(\"dropDownOptions.height\"));\r\n if (void 0 === dropDownOptionsHeight || \"auto\" === dropDownOptionsHeight) {\r\n this.dateBox._setPopupOption(\"height\", \"auto\");\r\n var popupHeight = getOuterHeight(this._widget.$element());\r\n var maxHeight = .45 * getHeight(window);\r\n this.dateBox._setPopupOption(\"height\", Math.min(popupHeight, maxHeight))\r\n }\r\n this.dateBox._timeList && this.dateBox._timeList.updateDimensions()\r\n },\r\n getParsedText: function(text, format) {\r\n var value = this.callBase(text, format);\r\n if (value) {\r\n value = dateUtils.mergeDates(value, new Date(null), DATE_FORMAT)\r\n }\r\n return value\r\n }\r\n});\r\nexport default ListStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n isDate as isDateType,\r\n isString,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n createTextElementHiddenCopy\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n inputType\r\n} from \"../../core/utils/support\";\r\nimport devices from \"../../core/devices\";\r\nimport config from \"../../core/config\";\r\nimport dateUtils from \"../../core/utils/date\";\r\nimport uiDateUtils from \"./ui.date_utils\";\r\nimport dateSerialization from \"../../core/utils/date_serialization\";\r\nimport DropDownEditor from \"../drop_down_editor/ui.drop_down_editor\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Calendar from \"./ui.date_box.strategy.calendar\";\r\nimport DateView from \"./ui.date_box.strategy.date_view\";\r\nimport Native from \"./ui.date_box.strategy.native\";\r\nimport CalendarWithTime from \"./ui.date_box.strategy.calendar_with_time\";\r\nimport List from \"./ui.date_box.strategy.list\";\r\nvar DATEBOX_CLASS = \"dx-datebox\";\r\nvar DX_AUTO_WIDTH_CLASS = \"dx-auto-width\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar DX_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar DATEBOX_WRAPPER_CLASS = \"dx-datebox-wrapper\";\r\nvar DROPDOWNEDITOR_OVERLAY_CLASS = \"dx-dropdowneditor-overlay\";\r\nvar PICKER_TYPE = {\r\n calendar: \"calendar\",\r\n rollers: \"rollers\",\r\n list: \"list\",\r\n native: \"native\"\r\n};\r\nvar TYPE = {\r\n date: \"date\",\r\n datetime: \"datetime\",\r\n time: \"time\"\r\n};\r\nvar STRATEGY_NAME = {\r\n calendar: \"Calendar\",\r\n dateView: \"DateView\",\r\n native: \"Native\",\r\n calendarWithTime: \"CalendarWithTime\",\r\n list: \"List\"\r\n};\r\nvar STRATEGY_CLASSES = {\r\n Calendar: Calendar,\r\n DateView: DateView,\r\n Native: Native,\r\n CalendarWithTime: CalendarWithTime,\r\n List: List\r\n};\r\nvar DateBox = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), this._strategy.supportedKeys())\r\n },\r\n _renderButtonContainers: function() {\r\n this.callBase.apply(this, arguments);\r\n this._strategy.customizeButtons()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n type: \"date\",\r\n showAnalogClock: true,\r\n value: null,\r\n dateSerializationFormat: void 0,\r\n min: void 0,\r\n max: void 0,\r\n displayFormat: null,\r\n interval: 30,\r\n disabledDates: null,\r\n pickerType: PICKER_TYPE.calendar,\r\n invalidDateMessage: messageLocalization.format(\"dxDateBox-validation-datetime\"),\r\n dateOutOfRangeMessage: messageLocalization.format(\"validation-range\"),\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n adaptivityEnabled: false,\r\n calendarOptions: {},\r\n useHiddenSubmitElement: true,\r\n _showValidationIcon: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n \"dropDownOptions.showTitle\": true\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom after\"\r\n }\r\n }, {\r\n device: function() {\r\n var realDevice = devices.real();\r\n var platform = realDevice.platform;\r\n return \"ios\" === platform || \"android\" === platform\r\n },\r\n options: {\r\n pickerType: PICKER_TYPE.native\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\",\r\n deviceType: \"desktop\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom after\"\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this._userOptions = extend({}, options);\r\n this.callBase(options);\r\n this._updatePickerOptions()\r\n },\r\n _updatePickerOptions: function() {\r\n var pickerType = this.option(\"pickerType\");\r\n var type = this.option(\"type\");\r\n if (pickerType === PICKER_TYPE.list && (type === TYPE.datetime || type === TYPE.date)) {\r\n pickerType = PICKER_TYPE.calendar\r\n }\r\n if (type === TYPE.time && pickerType === PICKER_TYPE.calendar) {\r\n pickerType = PICKER_TYPE.list\r\n }\r\n this.option(\"showDropDownButton\", \"generic\" !== devices.real().platform || pickerType !== PICKER_TYPE.native);\r\n this._pickerType = pickerType\r\n },\r\n _init: function() {\r\n this._initStrategy();\r\n this.option(extend({}, this._strategy.getDefaultOptions(), this._userOptions));\r\n delete this._userOptions;\r\n this.callBase()\r\n },\r\n _toLowerCaseFirstLetter: function(string) {\r\n return string.charAt(0).toLowerCase() + string.substr(1)\r\n },\r\n _initStrategy: function() {\r\n var strategyName = this._getStrategyName(this._getFormatType());\r\n var strategy = STRATEGY_CLASSES[strategyName];\r\n if (!(this._strategy && this._strategy.NAME === strategyName)) {\r\n this._strategy = new strategy(this)\r\n }\r\n },\r\n _getFormatType: function() {\r\n var currentType = this.option(\"type\");\r\n var isTime = /h|m|s/g.test(currentType);\r\n var isDate = /d|M|Y/g.test(currentType);\r\n var type = \"\";\r\n if (isDate) {\r\n type += TYPE.date\r\n }\r\n if (isTime) {\r\n type += TYPE.time\r\n }\r\n return type\r\n },\r\n _getStrategyName: function(type) {\r\n var pickerType = this._pickerType;\r\n if (pickerType === PICKER_TYPE.rollers) {\r\n return STRATEGY_NAME.dateView\r\n } else if (pickerType === PICKER_TYPE.native) {\r\n return STRATEGY_NAME.native\r\n }\r\n if (type === TYPE.date) {\r\n return STRATEGY_NAME.calendar\r\n }\r\n if (type === TYPE.datetime) {\r\n return STRATEGY_NAME.calendarWithTime\r\n }\r\n return STRATEGY_NAME.list\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(DATEBOX_CLASS);\r\n this.callBase();\r\n this._refreshFormatClass();\r\n this._refreshPickerTypeClass();\r\n this._strategy.renderInputMinMax(this._input())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._formatValidationIcon()\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this.$element().toggleClass(DX_AUTO_WIDTH_CLASS, !this.option(\"width\"));\r\n this._updatePopupWidth();\r\n this._updatePopupHeight()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase();\r\n this._updatePopupHeight()\r\n },\r\n _updatePopupHeight: function() {\r\n if (this._popup) {\r\n var _this$_strategy$_upda, _this$_strategy;\r\n null === (_this$_strategy$_upda = (_this$_strategy = this._strategy)._updatePopupHeight) || void 0 === _this$_strategy$_upda ? void 0 : _this$_strategy$_upda.call(_this$_strategy)\r\n }\r\n },\r\n _refreshFormatClass: function() {\r\n var $element = this.$element();\r\n each(TYPE, (function(_, item) {\r\n $element.removeClass(DATEBOX_CLASS + \"-\" + item)\r\n }));\r\n $element.addClass(DATEBOX_CLASS + \"-\" + this.option(\"type\"))\r\n },\r\n _refreshPickerTypeClass: function() {\r\n var $element = this.$element();\r\n each(PICKER_TYPE, (function(_, item) {\r\n $element.removeClass(DATEBOX_CLASS + \"-\" + item)\r\n }));\r\n $element.addClass(DATEBOX_CLASS + \"-\" + this._pickerType)\r\n },\r\n _formatValidationIcon: function() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var inputElement = this._input().get(0);\r\n var isRtlEnabled = this.option(\"rtlEnabled\");\r\n var clearButtonWidth = this._getClearButtonWidth();\r\n var longestElementDimensions = this._getLongestElementDimensions();\r\n var curWidth = parseFloat(window.getComputedStyle(inputElement).width) - clearButtonWidth;\r\n var shouldHideValidationIcon = longestElementDimensions.width > curWidth;\r\n var style = inputElement.style;\r\n this.$element().toggleClass(DX_INVALID_BADGE_CLASS, !shouldHideValidationIcon && this.option(\"_showValidationIcon\"));\r\n if (shouldHideValidationIcon) {\r\n if (void 0 === this._storedPadding) {\r\n this._storedPadding = isRtlEnabled ? longestElementDimensions.leftPadding : longestElementDimensions.rightPadding\r\n }\r\n isRtlEnabled ? style.paddingLeft = 0 : style.paddingRight = 0\r\n } else {\r\n isRtlEnabled ? style.paddingLeft = this._storedPadding + \"px\" : style.paddingRight = this._storedPadding + \"px\"\r\n }\r\n },\r\n _getClearButtonWidth: function() {\r\n var clearButtonWidth = 0;\r\n if (this._isClearButtonVisible() && \"\" === this._input().val()) {\r\n var clearButtonElement = this.$element().find(\".\" + DX_CLEAR_BUTTON_CLASS).get(0);\r\n clearButtonWidth = parseFloat(window.getComputedStyle(clearButtonElement).width)\r\n }\r\n return clearButtonWidth\r\n },\r\n _getLongestElementDimensions: function() {\r\n var format = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var longestValue = dateLocalization.format(uiDateUtils.getLongestDate(format, dateLocalization.getMonthNames(), dateLocalization.getDayNames()), format);\r\n var $input = this._input();\r\n var inputElement = $input.get(0);\r\n var $longestValueElement = createTextElementHiddenCopy($input, longestValue);\r\n var isPaddingStored = void 0 !== this._storedPadding;\r\n var storedPadding = !isPaddingStored ? 0 : this._storedPadding;\r\n $longestValueElement.appendTo(this.$element());\r\n var elementWidth = parseFloat(window.getComputedStyle($longestValueElement.get(0)).width);\r\n var rightPadding = parseFloat(window.getComputedStyle(inputElement).paddingRight);\r\n var leftPadding = parseFloat(window.getComputedStyle(inputElement).paddingLeft);\r\n var necessaryWidth = elementWidth + leftPadding + rightPadding + storedPadding;\r\n $longestValueElement.remove();\r\n return {\r\n width: necessaryWidth,\r\n leftPadding: leftPadding,\r\n rightPadding: rightPadding\r\n }\r\n },\r\n _getKeyboardListeners() {\r\n return this.callBase().concat([this._strategy && this._strategy.getKeyboardListener()])\r\n },\r\n _renderPopup: function() {\r\n this.callBase();\r\n this._popup.$wrapper().addClass(DATEBOX_WRAPPER_CLASS);\r\n this._renderPopupWrapper()\r\n },\r\n _getPopupToolbarItems() {\r\n var _this$_strategy$_getP, _this$_strategy$_getP2, _this$_strategy2;\r\n var defaultItems = this.callBase();\r\n return null !== (_this$_strategy$_getP = null === (_this$_strategy$_getP2 = (_this$_strategy2 = this._strategy)._getPopupToolbarItems) || void 0 === _this$_strategy$_getP2 ? void 0 : _this$_strategy$_getP2.call(_this$_strategy2, defaultItems)) && void 0 !== _this$_strategy$_getP ? _this$_strategy$_getP : defaultItems\r\n },\r\n _popupConfig: function() {\r\n var popupConfig = this.callBase();\r\n return extend(this._strategy.popupConfig(popupConfig), {\r\n title: this._getPopupTitle(),\r\n dragEnabled: false\r\n })\r\n },\r\n _renderPopupWrapper: function() {\r\n if (!this._popup) {\r\n return\r\n }\r\n var $element = this.$element();\r\n var classPostfixes = extend({}, TYPE, PICKER_TYPE);\r\n each(classPostfixes, function(_, item) {\r\n $element.removeClass(DATEBOX_WRAPPER_CLASS + \"-\" + item)\r\n }.bind(this));\r\n this._popup.$wrapper().addClass(DATEBOX_WRAPPER_CLASS + \"-\" + this.option(\"type\")).addClass(DATEBOX_WRAPPER_CLASS + \"-\" + this._pickerType).addClass(DROPDOWNEDITOR_OVERLAY_CLASS)\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._strategy.renderPopupContent()\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._strategy.getFirstPopupElement() || this.callBase()\r\n },\r\n _getLastPopupElement: function() {\r\n return this._strategy.getLastPopupElement() || this.callBase()\r\n },\r\n _popupShowingHandler: function() {\r\n this.callBase();\r\n this._strategy.popupShowingHandler()\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._strategy.renderOpenedState()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n this._strategy.renderOpenedState();\r\n this._strategy.popupHiddenHandler()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._formatValidationIcon()\r\n }\r\n },\r\n _clearValueHandler: function(e) {\r\n this.option(\"text\", \"\");\r\n this.callBase(e)\r\n },\r\n _readOnlyPropValue: function() {\r\n if (this._pickerType === PICKER_TYPE.rollers) {\r\n return true\r\n }\r\n var platform = devices.real().platform;\r\n var isCustomValueDisabled = this._isNativeType() && (\"ios\" === platform || \"android\" === platform);\r\n if (isCustomValueDisabled) {\r\n return this.option(\"readOnly\")\r\n }\r\n return this.callBase()\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.callBase() && !this._isNativeType()\r\n },\r\n _renderValue: function() {\r\n var value = this.dateOption(\"value\");\r\n this.option(\"text\", this._getDisplayedText(value));\r\n this._strategy.renderValue();\r\n return this.callBase()\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.dateOption(\"value\");\r\n var dateSerializationFormat = this.option(\"dateSerializationFormat\");\r\n var submitFormat = uiDateUtils.SUBMIT_FORMATS_MAP[this.option(\"type\")];\r\n var submitValue = dateSerializationFormat ? dateSerialization.serializeDate(value, dateSerializationFormat) : uiDateUtils.toStandardDateFormat(value, submitFormat);\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _getDisplayedText: function(value) {\r\n var mode = this.option(\"mode\");\r\n var displayedText;\r\n if (\"text\" === mode) {\r\n var displayFormat = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n displayedText = dateLocalization.format(value, displayFormat)\r\n } else {\r\n var format = this._getFormatByMode(mode);\r\n if (format) {\r\n displayedText = dateLocalization.format(value, format)\r\n } else {\r\n displayedText = uiDateUtils.toStandardDateFormat(value, mode)\r\n }\r\n }\r\n return displayedText\r\n },\r\n _getFormatByMode: function(mode) {\r\n return inputType(mode) ? null : uiDateUtils.FORMATS_MAP[mode]\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var {\r\n text: text,\r\n type: type,\r\n validationError: validationError\r\n } = this.option();\r\n var currentValue = this.dateOption(\"value\");\r\n if (text === this._getDisplayedText(currentValue)) {\r\n this._recallInternalValidation(currentValue, validationError);\r\n return\r\n }\r\n var parsedDate = this._getParsedDate(text);\r\n var value = null !== currentValue && void 0 !== currentValue ? currentValue : this._getDateByDefault();\r\n var newValue = uiDateUtils.mergeDates(value, parsedDate, type);\r\n var date = parsedDate && \"time\" === type ? newValue : parsedDate;\r\n if (this._applyInternalValidation(date).isValid) {\r\n var displayedText = this._getDisplayedText(newValue);\r\n if (value && newValue && value.getTime() === newValue.getTime() && displayedText !== text) {\r\n this._renderValue()\r\n } else {\r\n this.dateValue(newValue, e)\r\n }\r\n }\r\n },\r\n _recallInternalValidation(value, validationError) {\r\n if (!validationError || validationError.editorSpecific) {\r\n this._applyInternalValidation(value);\r\n this._applyCustomValidation(value)\r\n }\r\n },\r\n _getDateByDefault: function() {\r\n return this._strategy.useCurrentDateByDefault() && this._strategy.getDefaultDate()\r\n },\r\n _getParsedDate: function(text) {\r\n var displayFormat = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var parsedText = this._strategy.getParsedText(text, displayFormat);\r\n return null !== parsedText && void 0 !== parsedText ? parsedText : void 0\r\n },\r\n _applyInternalValidation(value) {\r\n var text = this.option(\"text\");\r\n var hasText = !!text && null !== value;\r\n var isDate = !!value && isDateType(value) && !isNaN(value.getTime());\r\n var isDateInRange = isDate && dateUtils.dateInRange(value, this.dateOption(\"min\"), this.dateOption(\"max\"), this.option(\"type\"));\r\n var isValid = !hasText && !value || isDateInRange;\r\n var validationMessage = \"\";\r\n if (!isDate) {\r\n validationMessage = this.option(\"invalidDateMessage\")\r\n } else if (!isDateInRange) {\r\n validationMessage = this.option(\"dateOutOfRangeMessage\")\r\n }\r\n this._updateInternalValidationState(isValid, validationMessage);\r\n return {\r\n isValid: isValid,\r\n isDate: isDate\r\n }\r\n },\r\n _updateInternalValidationState(isValid, validationMessage) {\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: validationMessage\r\n }\r\n })\r\n },\r\n _applyCustomValidation: function(value) {\r\n this.validationRequest.fire({\r\n editor: this,\r\n value: this._serializeDate(value)\r\n })\r\n },\r\n _isValueChanged: function(newValue) {\r\n var oldValue = this.dateOption(\"value\");\r\n var oldTime = oldValue && oldValue.getTime();\r\n var newTime = newValue && newValue.getTime();\r\n return oldTime !== newTime\r\n },\r\n _isTextChanged: function(newValue) {\r\n var oldText = this.option(\"text\");\r\n var newText = newValue && this._getDisplayedText(newValue) || \"\";\r\n return oldText !== newText\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._input().attr(\"autocomplete\", \"off\")\r\n },\r\n _renderOpenedState: function() {\r\n if (!this._isNativeType()) {\r\n this.callBase()\r\n }\r\n if (this._strategy.isAdaptivityChanged()) {\r\n this._refreshStrategy()\r\n }\r\n },\r\n _getPopupTitle: function() {\r\n var placeholder = this.option(\"placeholder\");\r\n if (placeholder) {\r\n return placeholder\r\n }\r\n var type = this.option(\"type\");\r\n if (type === TYPE.time) {\r\n return messageLocalization.format(\"dxDateBox-simulatedDataPickerTitleTime\")\r\n }\r\n if (type === TYPE.date || type === TYPE.datetime) {\r\n return messageLocalization.format(\"dxDateBox-simulatedDataPickerTitleDate\")\r\n }\r\n return \"\"\r\n },\r\n _refreshStrategy: function() {\r\n this._strategy.dispose();\r\n this._initStrategy();\r\n this.option(this._strategy.getDefaultOptions());\r\n this._refresh()\r\n },\r\n _applyButtonHandler: function(e) {\r\n var value = this._strategy.getValue();\r\n this.dateValue(value, e.event);\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n var _this$_strategy3;\r\n this.callBase();\r\n null === (_this$_strategy3 = this._strategy) || void 0 === _this$_strategy3 ? void 0 : _this$_strategy3.dispose()\r\n },\r\n _isNativeType: function() {\r\n return this._pickerType === PICKER_TYPE.native\r\n },\r\n _updatePopupTitle: function() {\r\n var _this$_popup;\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.option(\"title\", this._getPopupTitle())\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"showClearButton\":\r\n case \"buttons\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"pickerType\":\r\n this._updatePickerOptions({\r\n pickerType: args.value\r\n });\r\n this._refreshStrategy();\r\n this._refreshPickerTypeClass();\r\n this._invalidate();\r\n break;\r\n case \"type\":\r\n this._updatePickerOptions({\r\n format: args.value\r\n });\r\n this._refreshStrategy();\r\n this._refreshFormatClass();\r\n this._renderPopupWrapper();\r\n this._formatValidationIcon();\r\n this._updateValue();\r\n break;\r\n case \"placeholder\":\r\n this.callBase.apply(this, arguments);\r\n this._updatePopupTitle();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n var isValid = this.option(\"isValid\");\r\n this._applyInternalValidation(this.dateOption(\"value\"));\r\n if (!isValid) {\r\n this._applyCustomValidation(this.dateOption(\"value\"))\r\n }\r\n this._invalidate();\r\n break;\r\n case \"dateSerializationFormat\":\r\n case \"interval\":\r\n case \"disabledDates\":\r\n case \"calendarOptions\":\r\n this._invalidate();\r\n break;\r\n case \"displayFormat\":\r\n this.option(\"text\", this._getDisplayedText(this.dateOption(\"value\")));\r\n this._renderInputValue();\r\n break;\r\n case \"text\":\r\n this._strategy.textChangedHandler(args.value);\r\n this.callBase.apply(this, arguments);\r\n break;\r\n case \"isValid\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"showDropDownButton\":\r\n this._formatValidationIcon();\r\n this.callBase.apply(this, arguments);\r\n break;\r\n case \"readOnly\":\r\n this.callBase.apply(this, arguments);\r\n this._formatValidationIcon();\r\n break;\r\n case \"todayButtonText\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"invalidDateMessage\":\r\n case \"dateOutOfRangeMessage\":\r\n case \"adaptivityEnabled\":\r\n case \"showAnalogClock\":\r\n case \"_showValidationIcon\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _getSerializationFormat: function() {\r\n var value = this.option(\"value\");\r\n if (this.option(\"dateSerializationFormat\") && config().forceIsoDateParsing) {\r\n return this.option(\"dateSerializationFormat\")\r\n }\r\n if (isNumeric(value)) {\r\n return \"number\"\r\n }\r\n if (!isString(value)) {\r\n return\r\n }\r\n return dateSerialization.getDateSerializationFormat(value)\r\n },\r\n _updateValue: function(value) {\r\n this.callBase();\r\n this._applyInternalValidation(null !== value && void 0 !== value ? value : this.dateOption(\"value\"))\r\n },\r\n dateValue: function(value, dxEvent) {\r\n var isValueChanged = this._isValueChanged(value);\r\n if (isValueChanged && dxEvent) {\r\n this._saveValueChangeEvent(dxEvent)\r\n }\r\n if (!isValueChanged) {\r\n if (this._isTextChanged(value)) {\r\n this._updateValue(value)\r\n } else if (\"\" === this.option(\"text\")) {\r\n this._applyCustomValidation(value)\r\n }\r\n }\r\n return this.dateOption(\"value\", value)\r\n },\r\n dateOption: function(optionName, value) {\r\n if (1 === arguments.length) {\r\n return dateSerialization.deserializeDate(this.option(optionName))\r\n }\r\n this.option(optionName, this._serializeDate(value))\r\n },\r\n _serializeDate: function(date) {\r\n var serializationFormat = this._getSerializationFormat();\r\n return dateSerialization.serializeDate(date, serializationFormat)\r\n },\r\n _clearValue: function() {\r\n var value = this.option(\"value\");\r\n this.callBase();\r\n if (null === value) {\r\n this._applyCustomValidation(null)\r\n }\r\n },\r\n reset: function() {\r\n var value = this.option(\"value\");\r\n this.callBase();\r\n if (null === value) {\r\n this._applyInternalValidation(null)\r\n }\r\n }\r\n});\r\nexport default DateBox;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.mask.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n addNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n isFunction,\r\n isString,\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n clipboardText\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n fitIntoRange,\r\n inRange,\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n getDatePartIndexByPosition,\r\n renderDateParts\r\n} from \"./ui.date_box.mask.parts\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n getRegExpInfo\r\n} from \"../../localization/ldml/date.parser\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport DateBoxBase from \"./ui.date_box.base\";\r\nimport numberLocalization from \"../../localization/number\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nvar MASK_EVENT_NAMESPACE = \"dateBoxMask\";\r\nvar FORWARD = 1;\r\nvar BACKWARD = -1;\r\nvar DateBoxMask = DateBoxBase.inherit({\r\n _supportedKeys(e) {\r\n var originalHandlers = this.callBase(e);\r\n var callOriginalHandler = e => {\r\n var originalHandler = originalHandlers[normalizeKeyName(e)];\r\n return originalHandler && originalHandler.apply(this, [e])\r\n };\r\n var applyHandler = (e, maskHandler) => {\r\n if (this._shouldUseOriginalHandler(e)) {\r\n return callOriginalHandler.apply(this, [e])\r\n } else {\r\n return maskHandler.apply(this, [e])\r\n }\r\n };\r\n return extend({}, originalHandlers, {\r\n del: e => applyHandler(e, event => {\r\n this._revertPart(FORWARD);\r\n this._isAllSelected() || event.preventDefault()\r\n }),\r\n backspace: e => applyHandler(e, event => {\r\n this._revertPart(BACKWARD);\r\n this._isAllSelected() || event.preventDefault()\r\n }),\r\n home: e => applyHandler(e, event => {\r\n this._selectFirstPart();\r\n event.preventDefault()\r\n }),\r\n end: e => applyHandler(e, event => {\r\n this._selectLastPart();\r\n event.preventDefault()\r\n }),\r\n escape: e => applyHandler(e, event => {\r\n this._revertChanges(event)\r\n }),\r\n enter: e => applyHandler(e, () => {\r\n this._enterHandler()\r\n }),\r\n leftArrow: e => applyHandler(e, event => {\r\n this._selectNextPart(BACKWARD);\r\n event.preventDefault()\r\n }),\r\n rightArrow: e => applyHandler(e, event => {\r\n this._selectNextPart(FORWARD);\r\n event.preventDefault()\r\n }),\r\n upArrow: e => applyHandler(e, event => {\r\n this._upDownArrowHandler(FORWARD);\r\n event.preventDefault()\r\n }),\r\n downArrow: e => applyHandler(e, event => {\r\n this._upDownArrowHandler(BACKWARD);\r\n event.preventDefault()\r\n })\r\n })\r\n },\r\n _shouldUseOriginalHandler(e) {\r\n var isNotDeletingInCalendar = this.option(\"opened\") && e && -1 === [\"backspace\", \"del\"].indexOf(normalizeKeyName(e));\r\n return !this._useMaskBehavior() || isNotDeletingInCalendar || e && e.altKey\r\n },\r\n _upDownArrowHandler(step) {\r\n this._setNewDateIfEmpty();\r\n var originalValue = this._getActivePartValue(this._initialMaskValue);\r\n var currentValue = this._getActivePartValue();\r\n var delta = currentValue - originalValue;\r\n this._loadMaskValue(this._initialMaskValue);\r\n this._partIncrease(delta + step, true)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n useMaskBehavior: false,\r\n emptyDateValue: new Date(2e3, 0, 1, 0, 0, 0)\r\n })\r\n },\r\n _isSingleCharKey(_ref) {\r\n var {\r\n originalEvent: originalEvent,\r\n alt: alt\r\n } = _ref;\r\n var key = originalEvent.data || originalEvent.key;\r\n return \"string\" === typeof key && 1 === key.length && !alt && !isCommandKeyPressed(originalEvent)\r\n },\r\n _isSingleDigitKey(e) {\r\n var _e$originalEvent;\r\n var data = null === (_e$originalEvent = e.originalEvent) || void 0 === _e$originalEvent ? void 0 : _e$originalEvent.data;\r\n return 1 === (null === data || void 0 === data ? void 0 : data.length) && parseInt(data, 10)\r\n },\r\n _useBeforeInputEvent: function() {\r\n return devices.real().android\r\n },\r\n _keyInputHandler(e, key) {\r\n var oldInputValue = this._input().val();\r\n this._processInputKey(key);\r\n e.preventDefault();\r\n var isValueChanged = oldInputValue !== this._input().val();\r\n isValueChanged && eventsEngine.trigger(this._input(), \"input\")\r\n },\r\n _keyboardHandler(e) {\r\n var key = e.originalEvent.key;\r\n var result = this.callBase(e);\r\n if (!this._useMaskBehavior() || this._useBeforeInputEvent()) {\r\n return result\r\n }\r\n if (browser.chrome && \"Process\" === e.key && 0 === e.code.indexOf(\"Digit\")) {\r\n key = e.code.replace(\"Digit\", \"\");\r\n this._processInputKey(key);\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n } else if (this._isSingleCharKey(e)) {\r\n this._keyInputHandler(e.originalEvent, key)\r\n }\r\n return result\r\n },\r\n _maskBeforeInputHandler(e) {\r\n this._maskInputHandler = null;\r\n var {\r\n inputType: inputType\r\n } = e.originalEvent;\r\n if (\"insertCompositionText\" === inputType) {\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n }\r\n var isBackwardDeletion = \"deleteContentBackward\" === inputType;\r\n var isForwardDeletion = \"deleteContentForward\" === inputType;\r\n if (isBackwardDeletion || isForwardDeletion) {\r\n var direction = isBackwardDeletion ? BACKWARD : FORWARD;\r\n this._maskInputHandler = () => {\r\n this._revertPart();\r\n this._selectNextPart(direction)\r\n }\r\n }\r\n if (!this._useMaskBehavior() || !this._isSingleCharKey(e)) {\r\n return\r\n }\r\n var key = e.originalEvent.data;\r\n this._keyInputHandler(e, key);\r\n return true\r\n },\r\n _keyPressHandler(e) {\r\n var {\r\n originalEvent: event\r\n } = e;\r\n if (\"insertCompositionText\" === (null === event || void 0 === event ? void 0 : event.inputType) && this._isSingleDigitKey(e)) {\r\n this._processInputKey(event.data);\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n }\r\n this.callBase(e);\r\n if (this._maskInputHandler) {\r\n this._maskInputHandler();\r\n this._maskInputHandler = null\r\n }\r\n },\r\n _processInputKey(key) {\r\n if (this._isAllSelected()) {\r\n this._activePartIndex = 0\r\n }\r\n this._setNewDateIfEmpty();\r\n if (isNaN(parseInt(key))) {\r\n this._searchString(key)\r\n } else {\r\n this._searchNumber(key)\r\n }\r\n },\r\n _isAllSelected() {\r\n var caret = this._caret();\r\n return caret.end - caret.start === this.option(\"text\").length\r\n },\r\n _getFormatPattern() {\r\n if (this._formatPattern) {\r\n return this._formatPattern\r\n }\r\n var format = this._strategy.getDisplayFormat(this.option(\"displayFormat\"));\r\n var isLDMLPattern = isString(format) && !dateLocalization._getPatternByFormat(format);\r\n if (isLDMLPattern) {\r\n this._formatPattern = format\r\n } else {\r\n this._formatPattern = getFormat((function(value) {\r\n return dateLocalization.format(value, format)\r\n }))\r\n }\r\n return this._formatPattern\r\n },\r\n _setNewDateIfEmpty() {\r\n if (!this._maskValue) {\r\n var value = \"time\" === this.option(\"type\") ? new Date(null) : new Date;\r\n this._maskValue = value;\r\n this._initialMaskValue = value;\r\n this._renderDateParts()\r\n }\r\n },\r\n _partLimitsReached(max) {\r\n var maxLimitLength = String(max).length;\r\n var formatLength = this._getActivePartProp(\"pattern\").length;\r\n var isShortFormat = 1 === formatLength;\r\n var maxSearchLength = isShortFormat ? maxLimitLength : Math.min(formatLength, maxLimitLength);\r\n var isLengthExceeded = this._searchValue.length === maxSearchLength;\r\n var isValueOverflowed = parseInt(this._searchValue + \"0\") > max;\r\n return isLengthExceeded || isValueOverflowed\r\n },\r\n _searchNumber(char) {\r\n var {\r\n max: max\r\n } = this._getActivePartLimits();\r\n var maxLimitLength = String(max).length;\r\n this._searchValue = (this._searchValue + char).substr(-maxLimitLength);\r\n if (isNaN(this._searchValue)) {\r\n this._searchValue = char\r\n }\r\n this._setActivePartValue(this._searchValue);\r\n if (this._partLimitsReached(max)) {\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _searchString(char) {\r\n if (!isNaN(parseInt(this._getActivePartProp(\"text\")))) {\r\n return\r\n }\r\n var limits = this._getActivePartProp(\"limits\")(this._maskValue);\r\n var startString = this._searchValue + char.toLowerCase();\r\n var endLimit = limits.max - limits.min;\r\n for (var i = 0; i <= endLimit; i++) {\r\n this._loadMaskValue(this._initialMaskValue);\r\n this._partIncrease(i + 1);\r\n if (0 === this._getActivePartProp(\"text\").toLowerCase().indexOf(startString)) {\r\n this._searchValue = startString;\r\n return\r\n }\r\n }\r\n this._setNewDateIfEmpty();\r\n if (this._searchValue) {\r\n this._clearSearchValue();\r\n this._searchString(char)\r\n }\r\n },\r\n _clearSearchValue() {\r\n this._searchValue = \"\"\r\n },\r\n _revertPart: function(direction) {\r\n if (!this._isAllSelected()) {\r\n var actual = this._getActivePartValue(this.option(\"emptyDateValue\"));\r\n this._setActivePartValue(actual);\r\n this._selectNextPart(direction)\r\n }\r\n this._clearSearchValue()\r\n },\r\n _useMaskBehavior() {\r\n return this.option(\"useMaskBehavior\") && \"text\" === this.option(\"mode\")\r\n },\r\n _prepareRegExpInfo() {\r\n this._regExpInfo = getRegExpInfo(this._getFormatPattern(), dateLocalization);\r\n var regexp = this._regExpInfo.regexp;\r\n var source = regexp.source;\r\n var flags = regexp.flags;\r\n var quantifierRegexp = new RegExp(/(\\{[0-9]+,?[0-9]*\\})/);\r\n var convertedSource = source.split(quantifierRegexp).map(sourcePart => quantifierRegexp.test(sourcePart) ? sourcePart : numberLocalization.convertDigits(sourcePart, false)).join(\"\");\r\n this._regExpInfo.regexp = new RegExp(convertedSource, flags)\r\n },\r\n _initMaskState() {\r\n this._activePartIndex = 0;\r\n this._formatPattern = null;\r\n this._prepareRegExpInfo();\r\n this._loadMaskValue()\r\n },\r\n _renderMask() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState();\r\n if (this._useMaskBehavior()) {\r\n this._attachMaskEvents();\r\n this._initMaskState();\r\n this._renderDateParts()\r\n }\r\n },\r\n _renderDateParts() {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var text = this.option(\"text\") || this._getDisplayedText(this._maskValue);\r\n if (text) {\r\n this._dateParts = renderDateParts(text, this._regExpInfo);\r\n if (!this._input().is(\":hidden\")) {\r\n this._selectNextPart()\r\n }\r\n }\r\n },\r\n _detachMaskEvents() {\r\n eventsEngine.off(this._input(), \".\" + MASK_EVENT_NAMESPACE)\r\n },\r\n _attachMaskEvents() {\r\n eventsEngine.on(this._input(), addNamespace(\"dxclick\", MASK_EVENT_NAMESPACE), this._maskClickHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"paste\", MASK_EVENT_NAMESPACE), this._maskPasteHandler.bind(this));\r\n eventsEngine.on(this._input(), addNamespace(\"drop\", MASK_EVENT_NAMESPACE), () => {\r\n this._renderSelectedPart()\r\n });\r\n eventsEngine.on(this._input(), addNamespace(\"compositionend\", MASK_EVENT_NAMESPACE), this._maskCompositionEndHandler.bind(this));\r\n if (this._useBeforeInputEvent()) {\r\n eventsEngine.on(this._input(), addNamespace(\"beforeinput\", MASK_EVENT_NAMESPACE), this._maskBeforeInputHandler.bind(this))\r\n }\r\n },\r\n _renderSelectedPart() {\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart()\r\n },\r\n _selectLastPart() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = this._dateParts.length;\r\n this._selectNextPart(BACKWARD)\r\n }\r\n },\r\n _selectFirstPart() {\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = -1;\r\n this._selectNextPart(FORWARD)\r\n }\r\n },\r\n _onMouseWheel(e) {\r\n if (this._useMaskBehavior()) {\r\n this._partIncrease(e.delta > 0 ? FORWARD : BACKWARD, e)\r\n }\r\n },\r\n _selectNextPart() {\r\n var step = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;\r\n if (!this.option(\"text\") || this._disposed) {\r\n return\r\n }\r\n if (step) {\r\n this._initialMaskValue = new Date(this._maskValue)\r\n }\r\n var index = fitIntoRange(this._activePartIndex + step, 0, this._dateParts.length - 1);\r\n if (this._dateParts[index].isStub) {\r\n var isBoundaryIndex = 0 === index && step < 0 || index === this._dateParts.length - 1 && step > 0;\r\n if (!isBoundaryIndex) {\r\n this._selectNextPart(step >= 0 ? step + 1 : step - 1);\r\n return\r\n } else {\r\n index = this._activePartIndex\r\n }\r\n }\r\n if (this._activePartIndex !== index) {\r\n this._clearSearchValue()\r\n }\r\n this._activePartIndex = index;\r\n this._caret(this._getActivePartProp(\"caret\"))\r\n },\r\n _getRealLimitsPattern() {\r\n if (\"d\" === this._getActivePartProp(\"pattern\")[0]) {\r\n return \"dM\"\r\n }\r\n },\r\n _getActivePartLimits(lockOtherParts) {\r\n var limitFunction = this._getActivePartProp(\"limits\");\r\n return limitFunction(this._maskValue, lockOtherParts && this._getRealLimitsPattern())\r\n },\r\n _getActivePartValue(dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var getter = this._getActivePartProp(\"getter\");\r\n return isFunction(getter) ? getter(dateValue) : dateValue[getter]()\r\n },\r\n _addLeadingZeroes(value) {\r\n var zeroes = this._searchValue.match(/^0+/);\r\n var limits = this._getActivePartLimits();\r\n var maxLimitLength = String(limits.max).length;\r\n return ((zeroes && zeroes[0] || \"\") + String(value)).substr(-maxLimitLength)\r\n },\r\n _setActivePartValue(value, dateValue) {\r\n dateValue = dateValue || this._maskValue;\r\n var setter = this._getActivePartProp(\"setter\");\r\n var limits = this._getActivePartLimits();\r\n value = inRange(value, limits.min, limits.max) ? value : value % 10;\r\n value = this._addLeadingZeroes(fitIntoRange(value, limits.min, limits.max));\r\n isFunction(setter) ? setter(dateValue, value) : dateValue[setter](value);\r\n this._renderDisplayText(this._getDisplayedText(dateValue));\r\n this._renderDateParts()\r\n },\r\n _getActivePartProp(property) {\r\n if (!this._dateParts || !this._dateParts[this._activePartIndex]) {\r\n return\r\n }\r\n return this._dateParts[this._activePartIndex][property]\r\n },\r\n _loadMaskValue() {\r\n var value = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dateOption(\"value\");\r\n this._maskValue = value && new Date(value);\r\n this._initialMaskValue = value && new Date(value)\r\n },\r\n _saveMaskValue() {\r\n var value = this._maskValue && new Date(this._maskValue);\r\n if (value && \"date\" === this.option(\"type\")) {\r\n value.setHours(0, 0, 0, 0)\r\n }\r\n this._initialMaskValue = new Date(value);\r\n this.dateOption(\"value\", value)\r\n },\r\n _revertChanges() {\r\n this._loadMaskValue();\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts()\r\n },\r\n _renderDisplayText(text) {\r\n this.callBase(text);\r\n if (this._useMaskBehavior()) {\r\n this.option(\"text\", text)\r\n }\r\n },\r\n _partIncrease(step, lockOtherParts) {\r\n this._setNewDateIfEmpty();\r\n var {\r\n max: max,\r\n min: min\r\n } = this._getActivePartLimits(lockOtherParts);\r\n var limitDelta = max - min;\r\n if (1 === limitDelta) {\r\n limitDelta++\r\n }\r\n var newValue = step + this._getActivePartValue();\r\n if (newValue > max) {\r\n newValue = this._applyLimits(newValue, {\r\n limitBase: min,\r\n limitClosest: max,\r\n limitDelta: limitDelta\r\n })\r\n } else if (newValue < min) {\r\n newValue = this._applyLimits(newValue, {\r\n limitBase: max,\r\n limitClosest: min,\r\n limitDelta: limitDelta\r\n })\r\n }\r\n this._setActivePartValue(newValue)\r\n },\r\n _applyLimits(newValue, _ref2) {\r\n var {\r\n limitBase: limitBase,\r\n limitClosest: limitClosest,\r\n limitDelta: limitDelta\r\n } = _ref2;\r\n var delta = (newValue - limitClosest) % limitDelta;\r\n return delta ? limitBase + delta - 1 * sign(delta) : limitClosest\r\n },\r\n _maskClickHandler() {\r\n this._loadMaskValue(this._maskValue);\r\n if (this.option(\"text\")) {\r\n this._activePartIndex = getDatePartIndexByPosition(this._dateParts, this._caret().start);\r\n if (!this._isAllSelected()) {\r\n if (isDefined(this._activePartIndex)) {\r\n this._caret(this._getActivePartProp(\"caret\"))\r\n } else {\r\n this._selectLastPart()\r\n }\r\n }\r\n }\r\n },\r\n _maskCompositionEndHandler(e) {\r\n this._input().val(this._getDisplayedText(this._maskValue));\r\n this._selectNextPart();\r\n this._maskInputHandler = () => {\r\n this._renderSelectedPart()\r\n }\r\n },\r\n _maskPasteHandler(e) {\r\n var newText = this._replaceSelectedText(this.option(\"text\"), this._caret(), clipboardText(e));\r\n var date = dateLocalization.parse(newText, this._getFormatPattern());\r\n if (date && this._isDateValid(date)) {\r\n this._maskValue = date;\r\n this._renderDisplayText(this._getDisplayedText(this._maskValue));\r\n this._renderDateParts();\r\n this._selectNextPart()\r\n }\r\n e.preventDefault()\r\n },\r\n _isDateValid: date => isDate(date) && !isNaN(date),\r\n _isValueDirty() {\r\n var value = this.dateOption(\"value\");\r\n return (this._maskValue && this._maskValue.getTime()) !== (value && value.getTime())\r\n },\r\n _fireChangeEvent() {\r\n this._clearSearchValue();\r\n if (this._isValueDirty()) {\r\n eventsEngine.trigger(this._input(), \"change\")\r\n }\r\n },\r\n _enterHandler() {\r\n this._fireChangeEvent();\r\n this._selectNextPart(FORWARD)\r\n },\r\n _focusOutHandler(e) {\r\n var shouldFireChangeEvent = this._useMaskBehavior() && !e.isDefaultPrevented();\r\n if (shouldFireChangeEvent) {\r\n this._fireChangeEvent();\r\n this.callBase(e);\r\n this._selectFirstPart(e)\r\n } else {\r\n this.callBase(e)\r\n }\r\n },\r\n _valueChangeEventHandler(e) {\r\n var text = this.option(\"text\");\r\n if (this._useMaskBehavior()) {\r\n this._saveValueChangeEvent(e);\r\n if (!text) {\r\n this._maskValue = null\r\n } else if (null === this._maskValue) {\r\n this._loadMaskValue(text)\r\n }\r\n this._saveMaskValue()\r\n } else {\r\n this.callBase(e)\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"useMaskBehavior\":\r\n this._renderMask();\r\n break;\r\n case \"displayFormat\":\r\n case \"mode\":\r\n this.callBase(args);\r\n this._renderMask();\r\n break;\r\n case \"value\":\r\n this._loadMaskValue();\r\n this.callBase(args);\r\n this._renderDateParts();\r\n break;\r\n case \"emptyDateValue\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearMaskState() {\r\n this._clearSearchValue();\r\n delete this._dateParts;\r\n delete this._activePartIndex;\r\n delete this._maskValue\r\n },\r\n reset() {\r\n this._clearMaskState();\r\n this._activePartIndex = 0;\r\n this.callBase()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._detachMaskEvents();\r\n this._clearMaskState()\r\n }\r\n});\r\nexport default DateBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/date_box/ui.date_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DateBoxMask from \"./ui.date_box.mask\";\r\nregisterComponent(\"dxDateBox\", DateBoxMask);\r\nexport default DateBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/dialog.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport Action from \"../core/action\";\r\nimport devices from \"../core/devices\";\r\nimport config from \"../core/config\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n value as getViewport\r\n} from \"../core/utils/view_port\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport Popup from \"./popup/ui.popup\";\r\nimport {\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nvar window = getWindow();\r\nvar DEFAULT_BUTTON = {\r\n text: \"OK\",\r\n onClick: function() {\r\n return true\r\n }\r\n};\r\nvar DX_DIALOG_CLASSNAME = \"dx-dialog\";\r\nvar DX_DIALOG_WRAPPER_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-wrapper\");\r\nvar DX_DIALOG_ROOT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-root\");\r\nvar DX_DIALOG_CONTENT_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-content\");\r\nvar DX_DIALOG_MESSAGE_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-message\");\r\nvar DX_DIALOG_BUTTONS_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-buttons\");\r\nvar DX_DIALOG_BUTTON_CLASSNAME = \"\".concat(DX_DIALOG_CLASSNAME, \"-button\");\r\nvar DX_BUTTON_CLASSNAME = \"dx-button\";\r\nexport var custom = function(options) {\r\n var _options$title;\r\n var deferred = new Deferred;\r\n options = options || {};\r\n var $element = $(\"<div>\").addClass(DX_DIALOG_CLASSNAME).appendTo(getViewport());\r\n var isMessageDefined = \"message\" in options;\r\n var isMessageHtmlDefined = \"messageHtml\" in options;\r\n if (isMessageDefined) {\r\n errors.log(\"W1013\")\r\n }\r\n var messageHtml = String(isMessageHtmlDefined ? options.messageHtml : options.message);\r\n var $message = $(\"<div>\").addClass(DX_DIALOG_MESSAGE_CLASSNAME).html(messageHtml);\r\n var popupToolbarItems = [];\r\n each(options.buttons || [DEFAULT_BUTTON], (function() {\r\n var action = new Action(this.onClick, {\r\n context: popupInstance\r\n });\r\n popupToolbarItems.push({\r\n toolbar: \"bottom\",\r\n location: devices.current().android ? \"after\" : \"center\",\r\n widget: \"dxButton\",\r\n options: extend({}, this, {\r\n onClick: function() {\r\n var result = action.execute(...arguments);\r\n hide(result)\r\n }\r\n })\r\n })\r\n }));\r\n var popupInstance = new Popup($element, extend({\r\n title: null !== (_options$title = options.title) && void 0 !== _options$title ? _options$title : \"\",\r\n showTitle: ensureDefined(options.showTitle, true),\r\n dragEnabled: ensureDefined(options.dragEnabled, true),\r\n height: \"auto\",\r\n width: options.width,\r\n showCloseButton: options.showCloseButton || false,\r\n ignoreChildEvents: false,\r\n container: $element,\r\n visualContainer: window,\r\n dragAndResizeArea: window,\r\n onContentReady: function(args) {\r\n args.component.$content().addClass(DX_DIALOG_CONTENT_CLASSNAME).append($message)\r\n },\r\n onShowing: function(e) {\r\n e.component.bottomToolbar().addClass(DX_DIALOG_BUTTONS_CLASSNAME).find(\".\".concat(DX_BUTTON_CLASSNAME)).addClass(DX_DIALOG_BUTTON_CLASSNAME);\r\n resetActiveElement()\r\n },\r\n onShown: function(e) {\r\n var $firstButton = e.component.bottomToolbar().find(\".\".concat(DX_BUTTON_CLASSNAME)).first();\r\n eventsEngine.trigger($firstButton, \"focus\")\r\n },\r\n onHiding: function() {\r\n deferred.reject()\r\n },\r\n onHidden: function(_ref) {\r\n var {\r\n element: element\r\n } = _ref;\r\n $(element).remove()\r\n },\r\n toolbarItems: popupToolbarItems,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 400,\r\n to: {\r\n opacity: 0,\r\n scale: 0\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n rtlEnabled: config().rtlEnabled,\r\n position: {\r\n boundaryOffset: {\r\n h: 10,\r\n v: 0\r\n }\r\n }\r\n }, options.popupOptions));\r\n popupInstance.$wrapper().addClass(DX_DIALOG_WRAPPER_CLASSNAME);\r\n if (options.position) {\r\n popupInstance.option(\"position\", options.position)\r\n }\r\n popupInstance.$wrapper().addClass(DX_DIALOG_ROOT_CLASSNAME);\r\n\r\n function hide(value) {\r\n deferred.resolve(value);\r\n popupInstance.hide()\r\n }\r\n return {\r\n show: function() {\r\n if (\"phone\" === devices.real().deviceType) {\r\n var isPortrait = getHeight(window) > getWidth(window);\r\n var width = isPortrait ? \"90%\" : \"60%\";\r\n popupInstance.option({\r\n width: width\r\n })\r\n }\r\n popupInstance.show();\r\n return deferred.promise()\r\n },\r\n hide: hide\r\n }\r\n};\r\nexport var alert = function(messageHtml) {\r\n var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"\";\r\n var showTitle = arguments.length > 2 ? arguments[2] : void 0;\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\nexport var confirm = function(messageHtml) {\r\n var title = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : \"\";\r\n var showTitle = arguments.length > 2 ? arguments[2] : void 0;\r\n var options = isPlainObject(messageHtml) ? messageHtml : {\r\n title: title,\r\n messageHtml: messageHtml,\r\n showTitle: showTitle,\r\n buttons: [{\r\n text: messageLocalization.format(\"Yes\"),\r\n onClick: function() {\r\n return true\r\n }\r\n }, {\r\n text: messageLocalization.format(\"No\"),\r\n onClick: function() {\r\n return false\r\n }\r\n }],\r\n dragEnabled: showTitle\r\n };\r\n return custom(options).show()\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport Button from \"../button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_CLASS = \"dx-dropdowneditor-button\";\r\nvar DROP_DOWN_EDITOR_BUTTON_VISIBLE = \"dx-dropdowneditor-button-visible\";\r\nvar BUTTON_MESSAGE = \"dxDropDownEditor-selectLabel\";\r\nexport default class DropDownButton extends TextEditorButton {\r\n constructor(name, editor, options) {\r\n super(name, editor, options);\r\n this.currentTemplate = null\r\n }\r\n _attachEvents(instance) {\r\n var {\r\n editor: editor\r\n } = this;\r\n instance.option(\"onClick\", e => {\r\n var _editor$_shouldCallOp;\r\n if (null !== (_editor$_shouldCallOp = editor._shouldCallOpenHandler) && void 0 !== _editor$_shouldCallOp && _editor$_shouldCallOp.call(editor)) {\r\n editor._openHandler(e);\r\n return\r\n }!editor.option(\"openOnFieldClick\") && editor._openHandler(e)\r\n });\r\n eventsEngine.on(instance.$element(), \"mousedown\", e => {\r\n if (editor.$element().is(\".dx-state-focused\")) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"<div>\");\r\n var options = this._getOptions();\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, options, {\r\n elementAttr: {\r\n \"aria-label\": messageLocalization.format(BUTTON_MESSAGE)\r\n }\r\n }));\r\n this._legacyRender(editor.$element(), $element, options.visible);\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var isReadOnly = editor.option(\"readOnly\");\r\n var options = {\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n activeStateEnabled: false,\r\n useInkRipple: false,\r\n disabled: isReadOnly,\r\n visible: visible\r\n };\r\n this._addTemplate(options);\r\n return options\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showDropDownButton\")\r\n }\r\n _legacyRender($editor, $element, isVisible) {\r\n $editor.toggleClass(DROP_DOWN_EDITOR_BUTTON_VISIBLE, isVisible);\r\n if ($element) {\r\n $element.removeClass(\"dx-button\").addClass(DROP_DOWN_EDITOR_BUTTON_CLASS)\r\n }\r\n }\r\n _isSameTemplate() {\r\n return this.editor.option(\"dropDownButtonTemplate\") === this.currentTemplate\r\n }\r\n _addTemplate(options) {\r\n if (!this._isSameTemplate()) {\r\n options.template = this.editor._getTemplateByOption(\"dropDownButtonTemplate\");\r\n this.currentTemplate = this.editor.option(\"dropDownButtonTemplate\")\r\n }\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var options = this._getOptions();\r\n null === instance || void 0 === instance ? void 0 : instance.option(options);\r\n this._legacyRender($editor, null === instance || void 0 === instance ? void 0 : instance.$element(), options.visible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n splitPair\r\n} from \"../../core/utils/common\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport animationPosition from \"../../animation/position\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../../core/utils/position\";\r\nimport DropDownButton from \"./ui.drop_down_button\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport TextBox from \"../text_box\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n FunctionTemplate\r\n} from \"../../core/templates/function_template\";\r\nimport Popup from \"../popup/ui.popup\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n getElementWidth,\r\n getSizeValue\r\n} from \"./utils\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nvar DROP_DOWN_EDITOR_CLASS = \"dx-dropdowneditor\";\r\nvar DROP_DOWN_EDITOR_INPUT_WRAPPER = \"dx-dropdowneditor-input-wrapper\";\r\nvar DROP_DOWN_EDITOR_BUTTON_ICON = \"dx-dropdowneditor-icon\";\r\nvar DROP_DOWN_EDITOR_OVERLAY = \"dx-dropdowneditor-overlay\";\r\nvar DROP_DOWN_EDITOR_OVERLAY_FLIPPED = \"dx-dropdowneditor-overlay-flipped\";\r\nvar DROP_DOWN_EDITOR_ACTIVE = \"dx-dropdowneditor-active\";\r\nvar DROP_DOWN_EDITOR_FIELD_CLICKABLE = \"dx-dropdowneditor-field-clickable\";\r\nvar DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER = \"dx-dropdowneditor-field-template-wrapper\";\r\nvar isIOs = \"ios\" === devices.current().platform;\r\nvar DropDownEditor = TextBox.inherit({\r\n _supportedKeys: function() {\r\n return extend({}, this.callBase(), {\r\n tab: function(e) {\r\n if (!this.option(\"opened\")) {\r\n return\r\n }\r\n if (\"instantly\" === this.option(\"applyValueMode\")) {\r\n this.close();\r\n return\r\n }\r\n var $focusableElement = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement();\r\n if ($focusableElement) {\r\n eventsEngine.trigger($focusableElement, \"focus\");\r\n $focusableElement.select()\r\n }\r\n e.preventDefault()\r\n },\r\n escape: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault()\r\n }\r\n this.close();\r\n return true\r\n },\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this.close();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (e.altKey) {\r\n this._validatedOpening();\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n enter: function(e) {\r\n if (this.option(\"opened\")) {\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e)\r\n }\r\n return true\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"dropDown\",\r\n Ctor: DropDownButton\r\n }])\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n onOpened: null,\r\n onClosed: null,\r\n opened: false,\r\n acceptCustomValue: true,\r\n applyValueMode: \"instantly\",\r\n deferRendering: true,\r\n activeStateEnabled: true,\r\n dropDownButtonTemplate: \"dropDownButton\",\r\n fieldTemplate: null,\r\n openOnFieldClick: false,\r\n showDropDownButton: true,\r\n buttons: void 0,\r\n dropDownOptions: {\r\n showTitle: false\r\n },\r\n popupPosition: this._getDefaultPopupPosition(),\r\n onPopupInitialized: null,\r\n applyButtonText: messageLocalization.format(\"OK\"),\r\n cancelButtonText: messageLocalization.format(\"Cancel\"),\r\n buttonsLocation: \"default\",\r\n useHiddenSubmitElement: false,\r\n validationMessagePosition: \"auto\"\r\n })\r\n },\r\n _useTemplates: function() {\r\n return true\r\n },\r\n _getDefaultPopupPosition: function(isRtlEnabled) {\r\n var position = getDefaultAlignment(isRtlEnabled);\r\n return {\r\n offset: {\r\n h: 0,\r\n v: -1\r\n },\r\n my: position + \" top\",\r\n at: position + \" bottom\",\r\n collision: \"flip flip\"\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function(_device) {\r\n var isGeneric = \"generic\" === _device.platform;\r\n return isGeneric\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: 0\r\n }\r\n }\r\n }\r\n }])\r\n },\r\n _inputWrapper: function() {\r\n return this.$element().find(\".\" + DROP_DOWN_EDITOR_INPUT_WRAPPER).first()\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initVisibilityActions();\r\n this._initPopupInitializedAction();\r\n this._updatePopupPosition(this.option(\"rtlEnabled\"));\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"))\r\n },\r\n _updatePopupPosition: function(isRtlEnabled) {\r\n var {\r\n my: my,\r\n at: at\r\n } = this._getDefaultPopupPosition(isRtlEnabled);\r\n var currentPosition = this.option(\"popupPosition\");\r\n this.option(\"popupPosition\", extend({}, currentPosition, {\r\n my: my,\r\n at: at\r\n }))\r\n },\r\n _initVisibilityActions: function() {\r\n this._openAction = this._createActionByOption(\"onOpened\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._closeAction = this._createActionByOption(\"onClosed\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initPopupInitializedAction: function() {\r\n this._popupInitializedAction = this._createActionByOption(\"onPopupInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.callBase();\r\n this.$element().addClass(DROP_DOWN_EDITOR_CLASS);\r\n this.setAria(\"role\", \"combobox\")\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderOpenHandler();\r\n this._attachFocusOutHandler();\r\n this._renderOpenedState()\r\n },\r\n _renderContentImpl: function() {\r\n if (!this.option(\"deferRendering\")) {\r\n this._createPopup()\r\n }\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._wrapInput();\r\n this._setDefaultAria()\r\n },\r\n _wrapInput: function() {\r\n this._$container = this.$element().wrapInner($(\"<div>\").addClass(DROP_DOWN_EDITOR_INPUT_WRAPPER)).children().eq(0)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"true\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _readOnlyPropValue: function() {\r\n return !this._isEditable() || this.callBase()\r\n },\r\n _cleanFocusState: function() {\r\n this.callBase();\r\n if (this.option(\"fieldTemplate\")) {\r\n this._detachFocusEvents()\r\n }\r\n },\r\n _getFieldTemplate: function() {\r\n return this.option(\"fieldTemplate\") && this._getTemplateByOption(\"fieldTemplate\")\r\n },\r\n _renderMask: function() {\r\n if (this.option(\"fieldTemplate\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _renderField: function() {\r\n var fieldTemplate = this._getFieldTemplate();\r\n fieldTemplate && this._renderTemplatedField(fieldTemplate, this._fieldRenderData())\r\n },\r\n _renderPlaceholder: function() {\r\n var hasFieldTemplate = !!this._getFieldTemplate();\r\n if (!hasFieldTemplate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._setSubmitValue()\r\n }\r\n var promise = this.callBase();\r\n promise.always(this._renderField.bind(this))\r\n },\r\n _renderTemplatedField: function(fieldTemplate, data) {\r\n var _this$_fieldRenderQue;\r\n this._fieldRenderQueueLength = (null !== (_this$_fieldRenderQue = this._fieldRenderQueueLength) && void 0 !== _this$_fieldRenderQue ? _this$_fieldRenderQue : 0) + 1;\r\n var isFocused = focused(this._input());\r\n var $container = this._$container;\r\n this._detachKeyboardEvents();\r\n this._refreshButtonsContainer();\r\n this._detachWrapperContent();\r\n this._detachFocusEvents();\r\n $container.empty();\r\n var $templateWrapper = $(\"<div>\").addClass(DROP_DOWN_EDITOR_FIELD_TEMPLATE_WRAPPER).appendTo($container);\r\n fieldTemplate.render({\r\n model: data,\r\n container: getPublicElement($templateWrapper),\r\n onRendered: () => {\r\n this._fieldRenderQueueLength--;\r\n if (0 !== this._fieldRenderQueueLength) {\r\n return\r\n }\r\n var $input = this._input();\r\n if (!$input.length) {\r\n throw errors.Error(\"E1010\")\r\n }\r\n this._integrateInput();\r\n isFocused && eventsEngine.trigger($input, \"focus\")\r\n }\r\n });\r\n this._attachWrapperContent($container)\r\n },\r\n _detachWrapperContent() {\r\n var _this$_$submitElement, _this$_$beforeButtons, _this$_$afterButtonsC;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n useHiddenSubmitElement && (null === (_this$_$submitElement = this._$submitElement) || void 0 === _this$_$submitElement ? void 0 : _this$_$submitElement.detach());\r\n var beforeButtonsContainerParent = null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons[0].parentNode;\r\n var afterButtonsContainerParent = null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC[0].parentNode;\r\n null === beforeButtonsContainerParent || void 0 === beforeButtonsContainerParent ? void 0 : beforeButtonsContainerParent.removeChild(this._$beforeButtonsContainer[0]);\r\n null === afterButtonsContainerParent || void 0 === afterButtonsContainerParent ? void 0 : afterButtonsContainerParent.removeChild(this._$afterButtonsContainer[0])\r\n },\r\n _attachWrapperContent($container) {\r\n var _this$_$submitElement2;\r\n var useHiddenSubmitElement = this.option(\"useHiddenSubmitElement\");\r\n $container.prepend(this._$beforeButtonsContainer);\r\n useHiddenSubmitElement && (null === (_this$_$submitElement2 = this._$submitElement) || void 0 === _this$_$submitElement2 ? void 0 : _this$_$submitElement2.appendTo($container));\r\n $container.append(this._$afterButtonsContainer)\r\n },\r\n _refreshButtonsContainer() {\r\n this._$buttonsContainer = this.$element().children().eq(0)\r\n },\r\n _integrateInput: function() {\r\n this._renderFocusState();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n this._refreshEmptinessEvent()\r\n },\r\n _refreshEmptinessEvent: function() {\r\n eventsEngine.off(this._input(), \"input blur\", this._toggleEmptinessEventHandler);\r\n this._renderEmptinessEvent()\r\n },\r\n _fieldRenderData: function() {\r\n return this.option(\"value\")\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n dropDownButton: new FunctionTemplate((function(options) {\r\n var $icon = $(\"<div>\").addClass(DROP_DOWN_EDITOR_BUTTON_ICON);\r\n $(options.container).append($icon)\r\n }))\r\n });\r\n this.callBase()\r\n },\r\n _renderOpenHandler: function() {\r\n var $inputWrapper = this._inputWrapper();\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var openOnFieldClick = this.option(\"openOnFieldClick\");\r\n eventsEngine.off($inputWrapper, eventName);\r\n eventsEngine.on($inputWrapper, eventName, this._getInputClickHandler(openOnFieldClick));\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_FIELD_CLICKABLE, openOnFieldClick);\r\n if (openOnFieldClick) {\r\n this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))\r\n }\r\n },\r\n _attachFocusOutHandler: function() {\r\n if (isIOs) {\r\n this._detachFocusOutEvents();\r\n eventsEngine.on(this._inputWrapper(), addNamespace(\"focusout\", this.NAME), event => {\r\n var newTarget = event.relatedTarget;\r\n if (newTarget && this.option(\"opened\")) {\r\n var isNewTargetOutside = this._isTargetOutOfComponent(newTarget);\r\n if (isNewTargetOutside) {\r\n this.close()\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _isTargetOutOfComponent: function(newTarget) {\r\n var popupWrapper = this.content ? $(this.content()).closest(\".\".concat(DROP_DOWN_EDITOR_OVERLAY)) : this._$popup;\r\n var isTargetOutsidePopup = 0 === $(newTarget).closest(\".\".concat(DROP_DOWN_EDITOR_OVERLAY), popupWrapper).length;\r\n return isTargetOutsidePopup\r\n },\r\n _detachFocusOutEvents: function() {\r\n isIOs && eventsEngine.off(this._inputWrapper(), addNamespace(\"focusout\", this.NAME))\r\n },\r\n _getInputClickHandler: function(openOnFieldClick) {\r\n return openOnFieldClick ? e => {\r\n this._executeOpenAction(e)\r\n } : e => {\r\n this._focusInput()\r\n }\r\n },\r\n _openHandler: function() {\r\n this._toggleOpenState()\r\n },\r\n _executeOpenAction: function(e) {\r\n this._openOnFieldClickAction({\r\n event: e\r\n })\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._input()\r\n },\r\n _focusInput: function() {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"focusStateEnabled\") && !focused(this._input())) {\r\n this._resetCaretPosition();\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n }\r\n return true\r\n },\r\n _resetCaretPosition: function() {\r\n var ignoreEditable = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n var inputElement = this._input().get(0);\r\n if (inputElement) {\r\n var {\r\n value: value\r\n } = inputElement;\r\n var caretPosition = isDefined(value) && (ignoreEditable || this._isEditable()) ? value.length : 0;\r\n this._caret({\r\n start: caretPosition,\r\n end: caretPosition\r\n }, true)\r\n }\r\n },\r\n _isEditable: function() {\r\n return this.option(\"acceptCustomValue\")\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (!this._focusInput()) {\r\n return\r\n }\r\n if (!this.option(\"readOnly\")) {\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n this.option(\"opened\", isVisible)\r\n }\r\n },\r\n _getControlsAria() {\r\n return this._popup && this._popupContentId\r\n },\r\n _renderOpenedState: function() {\r\n var opened = this.option(\"opened\");\r\n if (opened) {\r\n this._createPopup()\r\n }\r\n this.$element().toggleClass(DROP_DOWN_EDITOR_ACTIVE, opened);\r\n this._setPopupOption(\"visible\", opened);\r\n var arias = {\r\n expanded: opened,\r\n controls: this._getControlsAria()\r\n };\r\n this.setAria(arias);\r\n this.setAria(\"owns\", opened ? this._popupContentId : void 0, this.$element())\r\n },\r\n _createPopup: function() {\r\n if (this._$popup) {\r\n return\r\n }\r\n this._$popup = $(\"<div>\").addClass(DROP_DOWN_EDITOR_OVERLAY).appendTo(this.$element());\r\n this._renderPopup();\r\n this._renderPopupContent()\r\n },\r\n _renderPopupContent: noop,\r\n _renderPopup: function() {\r\n var popupConfig = extend(this._popupConfig(), this._options.cache(\"dropDownOptions\"));\r\n delete popupConfig.closeOnOutsideClick;\r\n if (popupConfig.elementAttr && !Object.keys(popupConfig.elementAttr).length) {\r\n delete popupConfig.elementAttr\r\n }\r\n this._popup = this._createComponent(this._$popup, Popup, popupConfig);\r\n this._popup.on({\r\n showing: this._popupShowingHandler.bind(this),\r\n shown: this._popupShownHandler.bind(this),\r\n hiding: this._popupHidingHandler.bind(this),\r\n hidden: this._popupHiddenHandler.bind(this),\r\n contentReady: this._contentReadyHandler.bind(this)\r\n });\r\n this._contentReadyHandler();\r\n this._setPopupContentId(this._popup.$content());\r\n this._bindInnerWidgetOptions(this._popup, \"dropDownOptions\")\r\n },\r\n _setPopupContentId($popupContent) {\r\n this._popupContentId = \"dx-\" + new Guid;\r\n this.setAria(\"id\", this._popupContentId, $popupContent)\r\n },\r\n _contentReadyHandler: noop,\r\n _popupConfig: function() {\r\n return {\r\n onInitialized: this._popupInitializedHandler(),\r\n position: extend(this.option(\"popupPosition\"), {\r\n of: this.$element()\r\n }),\r\n showTitle: this.option(\"dropDownOptions.showTitle\"),\r\n _ignoreFunctionValueDeprecation: true,\r\n width: () => getElementWidth(this.$element()),\r\n height: \"auto\",\r\n shading: false,\r\n hideOnParentScroll: true,\r\n hideOnOutsideClick: e => this._closeOutsideDropDownHandler(e),\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 0,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n deferRendering: false,\r\n focusStateEnabled: false,\r\n showCloseButton: false,\r\n dragEnabled: false,\r\n toolbarItems: this._getPopupToolbarItems(),\r\n onPositioned: this._popupPositionedHandler.bind(this),\r\n fullScreen: false,\r\n contentTemplate: null,\r\n _wrapperClassExternal: DROP_DOWN_EDITOR_OVERLAY,\r\n _ignorePreventScrollEventsDeprecation: true\r\n }\r\n },\r\n _popupInitializedHandler: function() {\r\n if (!this.option(\"onPopupInitialized\")) {\r\n return null\r\n }\r\n return e => {\r\n this._popupInitializedAction({\r\n popup: e.component\r\n })\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (hasWindow() && !this.$element().is(\":visible\")) {\r\n this.close();\r\n return\r\n }\r\n this._updatePopupWidth()\r\n },\r\n _updatePopupWidth: function() {\r\n var popupWidth = getSizeValue(this.option(\"dropDownOptions.width\"));\r\n if (void 0 === popupWidth) {\r\n this._setPopupOption(\"width\", () => getElementWidth(this.$element()))\r\n }\r\n },\r\n _popupPositionedHandler: function(e) {\r\n var _e$position, _e$position$v;\r\n var {\r\n labelMode: labelMode,\r\n stylingMode: stylingMode\r\n } = this.option();\r\n if (!this._popup) {\r\n return\r\n }\r\n var $popupOverlayContent = this._popup.$overlayContent();\r\n var isOverlayFlipped = null === (_e$position = e.position) || void 0 === _e$position ? void 0 : null === (_e$position$v = _e$position.v) || void 0 === _e$position$v ? void 0 : _e$position$v.flip;\r\n var shouldIndentForLabel = \"hidden\" !== labelMode && \"outlined\" === stylingMode;\r\n if (e.position) {\r\n $popupOverlayContent.toggleClass(DROP_DOWN_EDITOR_OVERLAY_FLIPPED, isOverlayFlipped)\r\n }\r\n if (isOverlayFlipped && shouldIndentForLabel && this._label.isVisible()) {\r\n var $label = this._label.$element();\r\n move($popupOverlayContent, {\r\n top: locate($popupOverlayContent).top - parseInt($label.css(\"fontSize\"))\r\n })\r\n }\r\n },\r\n _popupShowingHandler: noop,\r\n _popupHidingHandler: function() {\r\n this.option(\"opened\", false)\r\n },\r\n _popupShownHandler: function() {\r\n var _this$_validationMess;\r\n this._openAction();\r\n null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _popupHiddenHandler: function() {\r\n var _this$_validationMess2;\r\n this._closeAction();\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(\"positionSide\", this._getValidationMessagePositionSide())\r\n },\r\n _getValidationMessagePositionSide: function() {\r\n var validationMessagePosition = this.option(\"validationMessagePosition\");\r\n if (\"auto\" !== validationMessagePosition) {\r\n return validationMessagePosition\r\n }\r\n var positionSide = \"bottom\";\r\n if (this._popup && this._popup.option(\"visible\")) {\r\n var {\r\n top: myTop\r\n } = animationPosition.setup(this.$element());\r\n var {\r\n top: popupTop\r\n } = animationPosition.setup(this._popup.$content());\r\n positionSide = myTop + this.option(\"popupPosition\").offset.v > popupTop ? \"bottom\" : \"top\"\r\n }\r\n return positionSide\r\n },\r\n _closeOutsideDropDownHandler: function(_ref) {\r\n var {\r\n target: target\r\n } = _ref;\r\n var $target = $(target);\r\n var dropDownButton = this.getButton(\"dropDown\");\r\n var $dropDownButton = dropDownButton && dropDownButton.$element();\r\n var isInputClicked = !!$target.closest(this.$element()).length;\r\n var isDropDownButtonClicked = !!$target.closest($dropDownButton).length;\r\n var isOutsideClick = !isInputClicked && !isDropDownButtonClicked;\r\n return isOutsideClick\r\n },\r\n _clean: function() {\r\n delete this._openOnFieldClickAction;\r\n if (this._$popup) {\r\n this._$popup.remove();\r\n delete this._$popup;\r\n delete this._popup\r\n }\r\n this.callBase()\r\n },\r\n _setPopupOption: function(optionName, value) {\r\n this._setWidgetOption(\"_popup\", arguments)\r\n },\r\n _validatedOpening: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this._toggleOpenState(true)\r\n }\r\n },\r\n _getPopupToolbarItems: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\") ? this._popupToolbarItemsConfig() : []\r\n },\r\n _getFirstPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-done.dx-button\")\r\n },\r\n _getLastPopupElement: function() {\r\n return this._popup.$wrapper().find(\".dx-popup-cancel.dx-button\")\r\n },\r\n _popupElementTabHandler: function(e) {\r\n var $element = $(e.currentTarget);\r\n if (e.shiftKey && $element.is(this._getFirstPopupElement()) || !e.shiftKey && $element.is(this._getLastPopupElement())) {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n e.preventDefault()\r\n }\r\n },\r\n _popupElementEscHandler: function() {\r\n eventsEngine.trigger(this._input(), \"focus\");\r\n this.close()\r\n },\r\n _popupButtonInitializedHandler: function(e) {\r\n e.component.registerKeyHandler(\"tab\", this._popupElementTabHandler.bind(this));\r\n e.component.registerKeyHandler(\"escape\", this._popupElementEscHandler.bind(this))\r\n },\r\n _popupToolbarItemsConfig: function() {\r\n var buttonsConfig = [{\r\n shortcut: \"done\",\r\n options: {\r\n onClick: this._applyButtonHandler.bind(this),\r\n text: this.option(\"applyButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }, {\r\n shortcut: \"cancel\",\r\n options: {\r\n onClick: this._cancelButtonHandler.bind(this),\r\n text: this.option(\"cancelButtonText\"),\r\n onInitialized: this._popupButtonInitializedHandler.bind(this)\r\n }\r\n }];\r\n return this._applyButtonsLocation(buttonsConfig)\r\n },\r\n _applyButtonsLocation: function(buttonsConfig) {\r\n var buttonsLocation = this.option(\"buttonsLocation\");\r\n var resultConfig = buttonsConfig;\r\n if (\"default\" !== buttonsLocation) {\r\n var position = splitPair(buttonsLocation);\r\n each(resultConfig, (function(_, element) {\r\n extend(element, {\r\n toolbar: position[0],\r\n location: position[1]\r\n })\r\n }))\r\n }\r\n return resultConfig\r\n },\r\n _applyButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _cancelButtonHandler: function() {\r\n this.close();\r\n this.option(\"focusStateEnabled\") && this.focus()\r\n },\r\n _popupOptionChanged: function(args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n this._setPopupOption(options);\r\n var optionsKeys = Object.keys(options);\r\n if (-1 !== optionsKeys.indexOf(\"width\") || -1 !== optionsKeys.indexOf(\"height\")) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n }\r\n },\r\n _setSubmitValue: function() {\r\n this._getSubmitElement().val(this.option(\"value\"))\r\n },\r\n _getSubmitElement: function() {\r\n if (this.option(\"useHiddenSubmitElement\")) {\r\n return this._$submitElement\r\n } else {\r\n return this.callBase()\r\n }\r\n },\r\n _dispose: function() {\r\n this._detachFocusOutEvents();\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_popup;\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup.repaint();\r\n break;\r\n case \"opened\":\r\n this._renderOpenedState();\r\n break;\r\n case \"onOpened\":\r\n case \"onClosed\":\r\n this._initVisibilityActions();\r\n break;\r\n case \"onPopupInitialized\":\r\n this._initPopupInitializedAction();\r\n break;\r\n case \"fieldTemplate\":\r\n if (isDefined(args.value)) {\r\n this._renderField()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"acceptCustomValue\":\r\n case \"openOnFieldClick\":\r\n this._invalidate();\r\n break;\r\n case \"dropDownButtonTemplate\":\r\n case \"showDropDownButton\":\r\n this._updateButtons([\"dropDown\"]);\r\n break;\r\n case \"dropDownOptions\":\r\n this._popupOptionChanged(args);\r\n this._options.cache(\"dropDownOptions\", this.option(\"dropDownOptions\"));\r\n break;\r\n case \"popupPosition\":\r\n break;\r\n case \"deferRendering\":\r\n if (hasWindow()) {\r\n this._createPopup()\r\n }\r\n break;\r\n case \"applyValueMode\":\r\n case \"applyButtonText\":\r\n case \"cancelButtonText\":\r\n case \"buttonsLocation\":\r\n this._setPopupOption(\"toolbarItems\", this._getPopupToolbarItems());\r\n break;\r\n case \"useHiddenSubmitElement\":\r\n if (this._$submitElement) {\r\n this._$submitElement.remove();\r\n this._$submitElement = void 0\r\n }\r\n this._renderSubmitElement();\r\n break;\r\n case \"rtlEnabled\":\r\n this._updatePopupPosition(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n open: function() {\r\n this.option(\"opened\", true)\r\n },\r\n close: function() {\r\n this.option(\"opened\", false)\r\n },\r\n field: function() {\r\n return getPublicElement(this._input())\r\n },\r\n content: function() {\r\n return this._popup ? this._popup.content() : null\r\n }\r\n});\r\nregisterComponent(\"dxDropDownEditor\", DropDownEditor);\r\nexport default DropDownEditor;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar getElementWidth = function($element) {\r\n if (hasWindow()) {\r\n return getOuterWidth($element)\r\n }\r\n};\r\nvar getSizeValue = function(size) {\r\n if (null === size) {\r\n size = void 0\r\n }\r\n if (\"function\" === typeof size) {\r\n size = size()\r\n }\r\n return size\r\n};\r\nexport {\r\n getElementWidth,\r\n getSizeValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/editor/editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport ValidationMessage from \"../validation_message\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar ALLOWED_STYLING_MODES = [\"outlined\", \"filled\", \"underlined\"];\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessagePosition: \"positionSide\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = Widget.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = Callbacks();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n data($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationMessagePosition: \"bottom\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {},\r\n _showValidationMessage: true\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n var _this$option;\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState();\r\n null === (_this$option = this.option(\"_onMarkupRendered\")) || void 0 === _this$option ? void 0 : _this$option()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess.$wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(() => null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO), 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getStylingModePrefix: function() {\r\n return \"dx-editor-\"\r\n },\r\n _renderStylingMode: function() {\r\n var optionValue = this.option(\"stylingMode\");\r\n var prefix = this._getStylingModePrefix();\r\n var allowedStylingClasses = ALLOWED_STYLING_MODES.map(mode => prefix + mode);\r\n allowedStylingClasses.forEach(className => this.$element().removeClass(className));\r\n var stylingModeClass = prefix + optionValue;\r\n if (-1 === allowedStylingClasses.indexOf(stylingModeClass)) {\r\n var defaultOptionValue = this._getDefaultOptions().stylingMode;\r\n var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode;\r\n stylingModeClass = prefix + (platformOptionValue || defaultOptionValue)\r\n }\r\n this.$element().addClass(stylingModeClass)\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = void 0;\r\n this._validationMessage = void 0\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!hasWindow() || false === this.option(\"_showValidationMessage\")) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var {\r\n validationMessageMode: validationMessageMode,\r\n validationMessageOffset: validationMessageOffset,\r\n validationBoundary: validationBoundary,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n this._$validationMessage = $(\"<div>\").appendTo($element);\r\n var validationMessageContentId = \"dx-\".concat(new Guid);\r\n this.setAria(\"describedby\", validationMessageContentId);\r\n this._validationMessage = new ValidationMessage(this._$validationMessage, extend({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n visualContainer: $element,\r\n mode: validationMessageMode,\r\n positionSide: this._getValidationMessagePosition(),\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n contentId: validationMessageContentId\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessagePosition: function() {\r\n return this.option(\"validationMessagePosition\")\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = addNamespace(\"keydown\", READONLY_NAMESPACE);\r\n EventsEngine.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n EventsEngine.on($eventTarget, eventName, e => {\r\n if (\"backspace\" === normalizeKeyName(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n data(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this._disposeValidationMessage();\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _hasActiveElement: noop,\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessagePosition\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n case \"_showValidationMessage\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n blur: function() {\r\n if (this._hasActiveElement()) {\r\n resetActiveElement()\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nEditor.isEditor = instance => instance instanceof Editor;\r\nexport default Editor;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.items_runtime_info.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nexport default class FormItemsRunTimeInfo {\r\n constructor() {\r\n this._map = {}\r\n }\r\n _findWidgetInstance(condition) {\r\n var result;\r\n each(this._map, (function(guid, _ref) {\r\n var {\r\n widgetInstance: widgetInstance,\r\n item: item\r\n } = _ref;\r\n if (condition(item)) {\r\n result = widgetInstance;\r\n return false\r\n }\r\n }));\r\n return result\r\n }\r\n _findFieldByCondition(callback, valueExpr) {\r\n var result;\r\n each(this._map, (function(key, value) {\r\n if (callback(value)) {\r\n result = \"guid\" === valueExpr ? key : value[valueExpr];\r\n return false\r\n }\r\n }));\r\n return result\r\n }\r\n clear() {\r\n this._map = {}\r\n }\r\n removeItemsByItems(itemsRunTimeInfo) {\r\n each(itemsRunTimeInfo.getItems(), guid => this.removeItemByKey(guid))\r\n }\r\n removeItemByKey(key) {\r\n delete this._map[key]\r\n }\r\n add(options) {\r\n var key = options.guid || new Guid;\r\n this._map[key] = options;\r\n return key\r\n }\r\n addItemsOrExtendFrom(itemsRunTimeInfo) {\r\n itemsRunTimeInfo.each((key, itemRunTimeInfo) => {\r\n if (this._map[key]) {\r\n if (itemRunTimeInfo.widgetInstance) {\r\n this._map[key].widgetInstance = itemRunTimeInfo.widgetInstance\r\n }\r\n this._map[key].$itemContainer = itemRunTimeInfo.$itemContainer\r\n } else {\r\n this.add({\r\n item: itemRunTimeInfo.item,\r\n widgetInstance: itemRunTimeInfo.widgetInstance,\r\n guid: key,\r\n $itemContainer: itemRunTimeInfo.$itemContainer\r\n })\r\n }\r\n })\r\n }\r\n extendRunTimeItemInfoByKey(key, options) {\r\n if (this._map[key]) {\r\n this._map[key] = extend(this._map[key], options)\r\n }\r\n }\r\n findWidgetInstanceByItem(item) {\r\n return this._findWidgetInstance(storedItem => storedItem === item)\r\n }\r\n findGroupOrTabLayoutManagerByPath(targetPath) {\r\n return this._findFieldByCondition(_ref2 => {\r\n var {\r\n path: path\r\n } = _ref2;\r\n return path === targetPath\r\n }, \"layoutManager\")\r\n }\r\n findKeyByPath(targetPath) {\r\n return this._findFieldByCondition(_ref3 => {\r\n var {\r\n path: path\r\n } = _ref3;\r\n return path === targetPath\r\n }, \"guid\")\r\n }\r\n findWidgetInstanceByName(name) {\r\n return this._findWidgetInstance(item => name === item.name)\r\n }\r\n findWidgetInstanceByDataField(dataField) {\r\n return this._findWidgetInstance(item => dataField === (isString(item) ? item : item.dataField))\r\n }\r\n findItemContainerByItem(item) {\r\n for (var key in this._map) {\r\n if (this._map[key].item === item) {\r\n return this._map[key].$itemContainer\r\n }\r\n }\r\n return null\r\n }\r\n findItemIndexByItem(targetItem) {\r\n return this._findFieldByCondition(_ref4 => {\r\n var {\r\n item: item\r\n } = _ref4;\r\n return item === targetItem\r\n }, \"itemIndex\")\r\n }\r\n findPreparedItemByItem(item) {\r\n return this._findFieldByCondition(_ref5 => {\r\n var {\r\n item: currentItem\r\n } = _ref5;\r\n return currentItem === item\r\n }, \"preparedItem\")\r\n }\r\n getItems() {\r\n return this._map\r\n }\r\n each(handler) {\r\n each(this._map, (function(key, itemRunTimeInfo) {\r\n handler(key, itemRunTimeInfo)\r\n }))\r\n }\r\n removeItemsByPathStartWith(path) {\r\n var keys = Object.keys(this._map);\r\n var filteredKeys = keys.filter(key => {\r\n if (this._map[key].path) {\r\n return this._map[key].path.indexOf(path, 0) > -1\r\n }\r\n return false\r\n });\r\n filteredKeys.forEach(key => this.removeItemByKey(key))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/multi_view/ui.multi_view.animation.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nexport var _translator = {\r\n move($element, position) {\r\n move($element, {\r\n left: position\r\n })\r\n }\r\n};\r\nexport var animation = {\r\n moveTo($element, position, duration, completeAction) {\r\n fx.animate($element, {\r\n type: \"slide\",\r\n to: {\r\n left: position\r\n },\r\n duration: duration,\r\n complete: completeAction\r\n })\r\n },\r\n complete($element) {\r\n fx.stop($element, true)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/multi_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n locate\r\n} from \"../animation/translator\";\r\nimport {\r\n _translator,\r\n animation\r\n} from \"./multi_view/ui.multi_view.animation\";\r\nimport {\r\n sign\r\n} from \"../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n noop,\r\n deferRender\r\n} from \"../core/utils/common\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.live_update\";\r\nimport Swipeable from \"../events/gesture/swipeable\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar MULTIVIEW_CLASS = \"dx-multiview\";\r\nvar MULTIVIEW_WRAPPER_CLASS = \"dx-multiview-wrapper\";\r\nvar MULTIVIEW_ITEM_CONTAINER_CLASS = \"dx-multiview-item-container\";\r\nvar MULTIVIEW_ITEM_CLASS = \"dx-multiview-item\";\r\nvar MULTIVIEW_ITEM_HIDDEN_CLASS = \"dx-multiview-item-hidden\";\r\nvar MULTIVIEW_ITEM_DATA_KEY = \"dxMultiViewItemData\";\r\nvar MULTIVIEW_ANIMATION_DURATION = 200;\r\nvar toNumber = value => +value;\r\nvar position = $element => locate($element).left;\r\nvar MultiView = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + MULTIVIEW_ITEM_CLASS,\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n pageUp: noop,\r\n pageDown: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n selectedIndex: 0,\r\n swipeEnabled: true,\r\n animationEnabled: true,\r\n loop: false,\r\n deferRendering: true,\r\n _itemAttributes: {\r\n role: \"tabpanel\"\r\n },\r\n loopItemFocus: false,\r\n selectOnFocus: true,\r\n selectionMode: \"single\",\r\n selectionRequired: true,\r\n selectByClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _itemClass: function() {\r\n return MULTIVIEW_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return MULTIVIEW_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$itemContainer\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().children(this._itemSelector())\r\n },\r\n _itemWidth: function() {\r\n if (!this._itemWidthValue) {\r\n this._itemWidthValue = getWidth(this._$wrapper)\r\n }\r\n return this._itemWidthValue\r\n },\r\n _clearItemWidthCache: function() {\r\n delete this._itemWidthValue\r\n },\r\n _itemsCount: function() {\r\n return this.option(\"items\").length\r\n },\r\n _normalizeIndex: function(index) {\r\n var count = this._itemsCount();\r\n if (index < 0) {\r\n index += count\r\n }\r\n if (index >= count) {\r\n index -= count\r\n }\r\n return index\r\n },\r\n _getRTLSignCorrection: function() {\r\n return this.option(\"rtlEnabled\") ? -1 : 1\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var $element = this.$element();\r\n $element.addClass(MULTIVIEW_CLASS);\r\n this._$wrapper = $(\"<div>\").addClass(MULTIVIEW_WRAPPER_CLASS);\r\n this._$wrapper.appendTo($element);\r\n this._$itemContainer = $(\"<div>\").addClass(MULTIVIEW_ITEM_CONTAINER_CLASS);\r\n this._$itemContainer.appendTo(this._$wrapper);\r\n this.option(\"loopItemFocus\", this.option(\"loop\"));\r\n this._findBoundaryIndices();\r\n this._initSwipeable()\r\n },\r\n _initMarkup: function() {\r\n this._deferredItems = [];\r\n this.callBase();\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItemsVisibility(selectedItemIndices[0])\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n if (this._deferredItems) {\r\n this._deferredItems.splice(deletedActionArgs.itemIndex, 1)\r\n }\r\n },\r\n _beforeItemElementInserted: function(change) {\r\n this.callBase.apply(this, arguments);\r\n if (this._deferredItems) {\r\n this._deferredItems.splice(change.index, 0, null)\r\n }\r\n },\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n index = (this.option(\"items\") || []).indexOf(itemData);\r\n this.callBase(index, itemData, itemElement)\r\n },\r\n _renderItemContent: function(args) {\r\n var renderContentDeferred = new Deferred;\r\n var that = this;\r\n var callBase = this.callBase;\r\n var deferred = new Deferred;\r\n deferred.done((function() {\r\n var $itemContent = callBase.call(that, args);\r\n renderContentDeferred.resolve($itemContent)\r\n }));\r\n this._deferredItems[args.index] = deferred;\r\n this.option(\"deferRendering\") || deferred.resolve();\r\n return renderContentDeferred.promise()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n deferRender(() => {\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItems(selectedItemIndices[0])\r\n })\r\n },\r\n _updateItems: function(selectedIndex, newIndex) {\r\n this._updateItemsPosition(selectedIndex, newIndex);\r\n this._updateItemsVisibility(selectedIndex, newIndex)\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectedItemIndices = this._getSelectedItemIndices();\r\n this._updateItemsVisibility(selectedItemIndices[0])\r\n },\r\n _updateItemsPosition: function(selectedIndex, newIndex) {\r\n var $itemElements = this._itemElements();\r\n var positionSign = isDefined(newIndex) ? -this._animationDirection(newIndex, selectedIndex) : void 0;\r\n var $selectedItem = $itemElements.eq(selectedIndex);\r\n _translator.move($selectedItem, 0);\r\n if (isDefined(newIndex)) {\r\n _translator.move($itemElements.eq(newIndex), 100 * positionSign + \"%\")\r\n }\r\n },\r\n _updateItemsVisibility: function(selectedIndex, newIndex) {\r\n var $itemElements = this._itemElements();\r\n $itemElements.each(function(itemIndex, item) {\r\n var $item = $(item);\r\n var isHidden = itemIndex !== selectedIndex && itemIndex !== newIndex;\r\n if (!isHidden) {\r\n this._renderSpecificItem(itemIndex)\r\n }\r\n $item.toggleClass(MULTIVIEW_ITEM_HIDDEN_CLASS, isHidden);\r\n this.setAria(\"hidden\", isHidden || void 0, $item)\r\n }.bind(this))\r\n },\r\n _renderSpecificItem: function(index) {\r\n var $item = this._itemElements().eq(index);\r\n var hasItemContent = $item.find(this._itemContentClass()).length > 0;\r\n if (isDefined(index) && !hasItemContent) {\r\n this._deferredItems[index].resolve();\r\n triggerResizeEvent($item)\r\n }\r\n },\r\n _refreshItem: function($item, item) {\r\n this.callBase($item, item);\r\n this._updateItemsVisibility(this.option(\"selectedIndex\"))\r\n },\r\n _setAriaSelectionAttribute: noop,\r\n _updateSelection: function(addedSelection, removedSelection) {\r\n var newIndex = addedSelection[0];\r\n var prevIndex = removedSelection[0];\r\n animation.complete(this._$itemContainer);\r\n this._updateItems(prevIndex, newIndex);\r\n var animationDirection = this._animationDirection(newIndex, prevIndex);\r\n this._animateItemContainer(animationDirection * this._itemWidth(), function() {\r\n _translator.move(this._$itemContainer, 0);\r\n this._updateItems(newIndex);\r\n getWidth(this._$itemContainer)\r\n }.bind(this))\r\n },\r\n _animateItemContainer: function(position, completeCallback) {\r\n var duration = this.option(\"animationEnabled\") ? MULTIVIEW_ANIMATION_DURATION : 0;\r\n animation.moveTo(this._$itemContainer, position, duration, completeCallback)\r\n },\r\n _animationDirection: function(newIndex, prevIndex) {\r\n var containerPosition = position(this._$itemContainer);\r\n var indexDifference = (prevIndex - newIndex) * this._getRTLSignCorrection() * this._getItemFocusLoopSignCorrection();\r\n var isSwipePresent = 0 !== containerPosition;\r\n var directionSignVariable = isSwipePresent ? containerPosition : indexDifference;\r\n return sign(directionSignVariable)\r\n },\r\n _getSwipeDisabledState() {\r\n return !this.option(\"swipeEnabled\") || this._itemsCount() <= 1\r\n },\r\n _initSwipeable() {\r\n this._createComponent(this.$element(), Swipeable, {\r\n disabled: this._getSwipeDisabledState(),\r\n elastic: false,\r\n itemSizeFunc: this._itemWidth.bind(this),\r\n onStart: args => this._swipeStartHandler(args.event),\r\n onUpdated: args => this._swipeUpdateHandler(args.event),\r\n onEnd: args => this._swipeEndHandler(args.event)\r\n })\r\n },\r\n _findBoundaryIndices() {\r\n var _firstIndex2, _lastIndex;\r\n var items = this.option(\"items\");\r\n var firstIndex;\r\n var lastIndex;\r\n items.forEach((item, index) => {\r\n var isDisabled = Boolean(null === item || void 0 === item ? void 0 : item.disabled);\r\n if (!isDisabled) {\r\n var _firstIndex;\r\n null !== (_firstIndex = firstIndex) && void 0 !== _firstIndex ? _firstIndex : firstIndex = index;\r\n lastIndex = index\r\n }\r\n });\r\n this._boundaryIndices = {\r\n firstAvailableIndex: null !== (_firstIndex2 = firstIndex) && void 0 !== _firstIndex2 ? _firstIndex2 : 0,\r\n lastAvailableIndex: null !== (_lastIndex = lastIndex) && void 0 !== _lastIndex ? _lastIndex : items.length - 1,\r\n firstTrueIndex: 0,\r\n lastTrueIndex: items.length - 1\r\n }\r\n },\r\n _swipeStartHandler: function(e) {\r\n animation.complete(this._$itemContainer);\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var loop = this.option(\"loop\");\r\n var {\r\n firstAvailableIndex: firstAvailableIndex,\r\n lastAvailableIndex: lastAvailableIndex\r\n } = this._boundaryIndices;\r\n var rtl = this.option(\"rtlEnabled\");\r\n e.maxLeftOffset = toNumber(loop || (rtl ? selectedIndex > firstAvailableIndex : selectedIndex < lastAvailableIndex));\r\n e.maxRightOffset = toNumber(loop || (rtl ? selectedIndex < lastAvailableIndex : selectedIndex > firstAvailableIndex));\r\n this._swipeDirection = null\r\n },\r\n _swipeUpdateHandler: function(e) {\r\n var offset = e.offset;\r\n var swipeDirection = sign(offset) * this._getRTLSignCorrection();\r\n _translator.move(this._$itemContainer, offset * this._itemWidth());\r\n if (swipeDirection !== this._swipeDirection) {\r\n this._swipeDirection = swipeDirection;\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var newIndex = this._normalizeIndex(selectedIndex - swipeDirection);\r\n this._updateItems(selectedIndex, newIndex)\r\n }\r\n },\r\n _findNextAvailableIndex(index, offset) {\r\n var {\r\n items: items,\r\n loop: loop\r\n } = this.option();\r\n var {\r\n firstAvailableIndex: firstAvailableIndex,\r\n lastAvailableIndex: lastAvailableIndex,\r\n firstTrueIndex: firstTrueIndex,\r\n lastTrueIndex: lastTrueIndex\r\n } = this._boundaryIndices;\r\n var isFirstActive = [firstTrueIndex, firstAvailableIndex].includes(index);\r\n var isLastActive = [lastTrueIndex, lastAvailableIndex].includes(index);\r\n if (loop) {\r\n if (isFirstActive && offset < 0) {\r\n return lastAvailableIndex\r\n } else if (isLastActive && offset > 0) {\r\n return firstAvailableIndex\r\n }\r\n }\r\n for (var i = index + offset; i >= firstAvailableIndex && i <= lastAvailableIndex; i += offset) {\r\n var isDisabled = Boolean(items[i].disabled);\r\n if (!isDisabled) {\r\n return i\r\n }\r\n }\r\n return index\r\n },\r\n _swipeEndHandler: function(e) {\r\n var targetOffset = e.targetOffset * this._getRTLSignCorrection();\r\n if (targetOffset) {\r\n var newSelectedIndex = this._findNextAvailableIndex(this.option(\"selectedIndex\"), -targetOffset);\r\n this.option(\"selectedIndex\", newSelectedIndex);\r\n var $selectedElement = this.itemElements().filter(\".dx-item-selected\");\r\n this.option(\"focusStateEnabled\") && this.option(\"focusedElement\", getPublicElement($selectedElement))\r\n } else {\r\n this._animateItemContainer(0, noop)\r\n }\r\n },\r\n _getItemFocusLoopSignCorrection: function() {\r\n return this._itemFocusLooped ? -1 : 1\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = false\r\n },\r\n _prevItem: function($items) {\r\n var $result = this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = $result.is($items.last());\r\n return $result\r\n },\r\n _nextItem: function($items) {\r\n var $result = this.callBase.apply(this, arguments);\r\n this._itemFocusLooped = $result.is($items.first());\r\n return $result\r\n },\r\n _dimensionChanged: function() {\r\n this._clearItemWidthCache()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _updateSwipeDisabledState() {\r\n var disabled = this._getSwipeDisabledState();\r\n Swipeable.getInstance(this.$element()).option(\"disabled\", disabled)\r\n },\r\n _dispose: function() {\r\n delete this._boundaryIndices;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n switch (args.name) {\r\n case \"loop\":\r\n this.option(\"loopItemFocus\", value);\r\n break;\r\n case \"animationEnabled\":\r\n break;\r\n case \"swipeEnabled\":\r\n this._updateSwipeDisabledState();\r\n break;\r\n case \"deferRendering\":\r\n this._invalidate();\r\n break;\r\n case \"items\":\r\n this._updateSwipeDisabledState();\r\n this._findBoundaryIndices();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxMultiView\", MultiView);\r\nexport default MultiView;\r\n","/**\r\n * DevExtreme (esm/ui/tabs/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar TABS_ITEM_BADGE_CLASS = \"dx-tabs-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar TabsItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + BADGE_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"<div>\").addClass(TABS_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge);\r\n this._$element.append($badge)\r\n }\r\n});\r\nexport default TabsItem;\r\n","/**\r\n * DevExtreme (esm/ui/tabs/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TABS_EXPANDED_CLASS = \"dx-tabs-expanded\";\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_scroll_left_max.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getScrollLeftMax(element) {\r\n return element.scrollWidth - element.clientWidth\r\n}\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_boundary_props.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getScrollLeftMax\r\n} from \"./get_scroll_left_max\";\r\nimport {\r\n getScrollTopMax\r\n} from \"./get_scroll_top_max\";\r\nimport {\r\n ScrollDirection\r\n} from \"./scroll_direction\";\r\nexport function isReachedLeft(scrollOffsetLeft, epsilon) {\r\n return Math.round(scrollOffsetLeft) <= epsilon\r\n}\r\nexport function isReachedRight(element, scrollOffsetLeft, epsilon) {\r\n return Math.round(getScrollLeftMax(element) - scrollOffsetLeft) <= epsilon\r\n}\r\nexport function isReachedTop(scrollOffsetTop, epsilon) {\r\n return Math.round(scrollOffsetTop) <= epsilon\r\n}\r\nexport function isReachedBottom(element, scrollOffsetTop, pocketHeight, epsilon) {\r\n return Math.round(getScrollTopMax(element) - scrollOffsetTop - pocketHeight) <= epsilon\r\n}\r\nexport function getBoundaryProps(direction, scrollOffset, element) {\r\n var pocketHeight = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0;\r\n var {\r\n left: left,\r\n top: top\r\n } = scrollOffset;\r\n var boundaryProps = {};\r\n var {\r\n isHorizontal: isHorizontal,\r\n isVertical: isVertical\r\n } = new ScrollDirection(direction);\r\n if (isHorizontal) {\r\n boundaryProps.reachedLeft = isReachedLeft(left, 0);\r\n boundaryProps.reachedRight = isReachedRight(element, left, 0)\r\n }\r\n if (isVertical) {\r\n boundaryProps.reachedTop = isReachedTop(top, 0);\r\n boundaryProps.reachedBottom = isReachedBottom(element, top, pocketHeight, 0)\r\n }\r\n return boundaryProps\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tabs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Button from \"./button\";\r\nimport {\r\n render\r\n} from \"./widget/utils.ink_ripple\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport TabsItem from \"./tabs/item\";\r\nimport {\r\n TABS_EXPANDED_CLASS\r\n} from \"./tabs/constants\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"./themes\";\r\nimport holdEvent from \"../events/hold\";\r\nimport Scrollable from \"./scroll_view/ui.scrollable\";\r\nimport {\r\n default as CollectionWidget\r\n} from \"./collection/ui.collection_widget.live_update\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isReachedLeft,\r\n isReachedRight\r\n} from \"../renovation/ui/scroll_view/utils/get_boundary_props\";\r\nimport {\r\n getScrollLeftMax\r\n} from \"../renovation/ui/scroll_view/utils/get_scroll_left_max\";\r\nvar TABS_CLASS = \"dx-tabs\";\r\nvar TABS_WRAPPER_CLASS = \"dx-tabs-wrapper\";\r\nvar TABS_STRETCHED_CLASS = \"dx-tabs-stretched\";\r\nvar TABS_SCROLLABLE_CLASS = \"dx-tabs-scrollable\";\r\nvar TABS_NAV_BUTTONS_CLASS = \"dx-tabs-nav-buttons\";\r\nvar OVERFLOW_HIDDEN_CLASS = \"dx-overflow-hidden\";\r\nvar TABS_ITEM_CLASS = \"dx-tab\";\r\nvar TABS_ITEM_SELECTED_CLASS = \"dx-tab-selected\";\r\nvar TABS_NAV_BUTTON_CLASS = \"dx-tabs-nav-button\";\r\nvar TABS_LEFT_NAV_BUTTON_CLASS = \"dx-tabs-nav-button-left\";\r\nvar TABS_RIGHT_NAV_BUTTON_CLASS = \"dx-tabs-nav-button-right\";\r\nvar TABS_ITEM_TEXT_CLASS = \"dx-tab-text\";\r\nvar FOCUSED_NEXT_TAB_CLASS = \"dx-focused-next-tab\";\r\nvar TABS_ITEM_DATA_KEY = \"dxTabData\";\r\nvar BUTTON_NEXT_ICON = \"chevronnext\";\r\nvar BUTTON_PREV_ICON = \"chevronprev\";\r\nvar FEEDBACK_HIDE_TIMEOUT = 100;\r\nvar FEEDBACK_DURATION_INTERVAL = 5;\r\nvar FEEDBACK_SCROLL_TIMEOUT = 300;\r\nvar TAB_OFFSET = 30;\r\nvar Tabs = CollectionWidget.inherit({\r\n _activeStateUnit: \".\" + TABS_ITEM_CLASS,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n showNavButtons: true,\r\n scrollByContent: true,\r\n scrollingEnabled: true,\r\n selectionMode: \"single\",\r\n activeStateEnabled: true,\r\n selectionRequired: false,\r\n selectOnFocus: true,\r\n loopItemFocus: false,\r\n useInkRipple: false,\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n },\r\n _itemAttributes: {\r\n role: \"tab\"\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" !== devices.real().deviceType\r\n },\r\n options: {\r\n showNavButtons: false\r\n }\r\n }, {\r\n device: {\r\n deviceType: \"desktop\"\r\n },\r\n options: {\r\n scrollByContent: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useInkRipple: true,\r\n selectOnFocus: false\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.setAria(\"role\", \"tablist\");\r\n this.$element().addClass(TABS_CLASS);\r\n this._renderWrapper();\r\n this._renderMultiple();\r\n this._feedbackHideTimeout = FEEDBACK_HIDE_TIMEOUT\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new BindableTemplate(function($container, data) {\r\n if (isPlainObject(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n $container.text(String(data))\r\n }\r\n var $iconElement = getImageContainer(data.icon);\r\n $iconElement && $iconElement.prependTo($container);\r\n $container.wrapInner($(\"<span>\").addClass(TABS_ITEM_TEXT_CLASS))\r\n }.bind(this), [\"text\", \"html\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n var {\r\n itemData: itemData,\r\n container: container,\r\n index: index\r\n } = renderArgs;\r\n this._deferredTemplates[index] = new Deferred;\r\n return itemTemplate.render({\r\n model: itemData,\r\n container: container,\r\n index: index,\r\n onRendered: () => this._deferredTemplates[index].resolve()\r\n })\r\n },\r\n _itemClass: function() {\r\n return TABS_ITEM_CLASS\r\n },\r\n _selectedItemClass: function() {\r\n return TABS_ITEM_SELECTED_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return TABS_ITEM_DATA_KEY\r\n },\r\n _initMarkup: function() {\r\n this._deferredTemplates = [];\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.$element().addClass(OVERFLOW_HIDDEN_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _deferRenderScrolling() {\r\n when.apply(this, this._deferredTemplates).done(() => this._renderScrolling())\r\n },\r\n _renderScrolling: function() {\r\n var removeClasses = [TABS_STRETCHED_CLASS, TABS_EXPANDED_CLASS, OVERFLOW_HIDDEN_CLASS];\r\n this.$element().removeClass(removeClasses.join(\" \"));\r\n if (this.option(\"scrollingEnabled\") && this._isItemsWidthExceeded()) {\r\n if (!this._scrollable) {\r\n this._renderScrollable();\r\n this._renderNavButtons()\r\n }\r\n var scrollable = this.getScrollable();\r\n scrollable.update();\r\n if (this.option(\"rtlEnabled\")) {\r\n var maxLeftOffset = getScrollLeftMax($(this.getScrollable().container()).get(0));\r\n scrollable.scrollTo({\r\n left: maxLeftOffset\r\n })\r\n }\r\n this._updateNavButtonsVisibility();\r\n this._scrollToItem(this.option(\"selectedItem\"))\r\n }\r\n if (!(this.option(\"scrollingEnabled\") && this._isItemsWidthExceeded())) {\r\n this._cleanScrolling();\r\n if (this._needStretchItems() && !this._isItemsWidthExceeded()) {\r\n this.$element().addClass(TABS_STRETCHED_CLASS)\r\n }\r\n this.$element().removeClass(TABS_NAV_BUTTONS_CLASS).addClass(TABS_EXPANDED_CLASS)\r\n }\r\n },\r\n _isItemsWidthExceeded: function() {\r\n var tabItemsWidth = this._getSummaryItemsWidth(this._getVisibleItems(), true);\r\n return tabItemsWidth - 1 > getWidth(this.$element())\r\n },\r\n _needStretchItems: function() {\r\n var $visibleItems = this._getVisibleItems();\r\n var elementWidth = getWidth(this.$element());\r\n var itemsWidth = [];\r\n each($visibleItems, (_, item) => {\r\n itemsWidth.push(getOuterWidth(item, true))\r\n });\r\n var maxTabWidth = Math.max.apply(null, itemsWidth);\r\n return maxTabWidth >= elementWidth / $visibleItems.length\r\n },\r\n _cleanNavButtons: function() {\r\n if (!this._leftButton || !this._rightButton) {\r\n return\r\n }\r\n this._leftButton.$element().remove();\r\n this._rightButton.$element().remove();\r\n this._leftButton = null;\r\n this._rightButton = null\r\n },\r\n _cleanScrolling: function() {\r\n if (!this._scrollable) {\r\n return\r\n }\r\n this._$wrapper.appendTo(this.$element());\r\n this._scrollable.$element().remove();\r\n this._scrollable = null;\r\n this._cleanNavButtons()\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _getPointerEvent: () => pointerEvents.up,\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _renderMultiple: function() {\r\n if (\"multiple\" === this.option(\"selectionMode\")) {\r\n this.option(\"selectOnFocus\", false)\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(TABS_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _itemContainer: function() {\r\n return this._$wrapper\r\n },\r\n _renderScrollable: function() {\r\n var $itemContainer = this.$element().wrapInner($(\"<div>\").addClass(TABS_SCROLLABLE_CLASS)).children();\r\n this._scrollable = this._createComponent($itemContainer, Scrollable, {\r\n direction: \"horizontal\",\r\n showScrollbar: \"never\",\r\n useKeyboard: false,\r\n useNative: false,\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n onScroll: () => {\r\n this._updateNavButtonsVisibility()\r\n }\r\n });\r\n this.$element().append(this._scrollable.$element())\r\n },\r\n _scrollToItem: function(itemData) {\r\n if (!this._scrollable) {\r\n return\r\n }\r\n var $item = this._editStrategy.getItemElement(itemData);\r\n this._scrollable.scrollToElement($item)\r\n },\r\n _renderNavButtons: function() {\r\n this.$element().toggleClass(TABS_NAV_BUTTONS_CLASS, this.option(\"showNavButtons\"));\r\n if (!this.option(\"showNavButtons\")) {\r\n return\r\n }\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n this._leftButton = this._createNavButton(-TAB_OFFSET, rtlEnabled ? BUTTON_NEXT_ICON : BUTTON_PREV_ICON);\r\n var $leftButton = this._leftButton.$element();\r\n $leftButton.addClass(TABS_LEFT_NAV_BUTTON_CLASS);\r\n this.$element().prepend($leftButton);\r\n this._rightButton = this._createNavButton(TAB_OFFSET, rtlEnabled ? BUTTON_PREV_ICON : BUTTON_NEXT_ICON);\r\n var $rightButton = this._rightButton.$element();\r\n $rightButton.addClass(TABS_RIGHT_NAV_BUTTON_CLASS);\r\n this.$element().append($rightButton)\r\n },\r\n _updateNavButtonsVisibility: function() {\r\n var scrollable = this.getScrollable();\r\n this._leftButton && this._leftButton.option(\"disabled\", isReachedLeft(scrollable.scrollLeft(), 1));\r\n this._rightButton && this._rightButton.option(\"disabled\", isReachedRight($(scrollable.container()).get(0), scrollable.scrollLeft(), 1))\r\n },\r\n _updateScrollPosition: function(offset, duration) {\r\n this._scrollable.update();\r\n this._scrollable.scrollBy(offset / duration)\r\n },\r\n _createNavButton: function(offset, icon) {\r\n var that = this;\r\n var holdAction = that._createAction((function() {\r\n that._holdInterval = setInterval((function() {\r\n that._updateScrollPosition(offset, FEEDBACK_DURATION_INTERVAL)\r\n }), FEEDBACK_DURATION_INTERVAL)\r\n }));\r\n var holdEventName = addNamespace(holdEvent.name, \"dxNavButton\");\r\n var pointerUpEventName = addNamespace(pointerEvents.up, \"dxNavButton\");\r\n var pointerOutEventName = addNamespace(pointerEvents.out, \"dxNavButton\");\r\n var navButton = this._createComponent($(\"<div>\").addClass(TABS_NAV_BUTTON_CLASS), Button, {\r\n focusStateEnabled: false,\r\n icon: icon,\r\n onClick: function() {\r\n that._updateScrollPosition(offset, 1)\r\n },\r\n integrationOptions: {}\r\n });\r\n var $navButton = navButton.$element();\r\n eventsEngine.on($navButton, holdEventName, {\r\n timeout: FEEDBACK_SCROLL_TIMEOUT\r\n }, function(e) {\r\n holdAction({\r\n event: e\r\n })\r\n }.bind(this));\r\n eventsEngine.on($navButton, pointerUpEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n eventsEngine.on($navButton, pointerOutEventName, (function() {\r\n that._clearInterval()\r\n }));\r\n return navButton\r\n },\r\n _clearInterval: function() {\r\n if (this._holdInterval) {\r\n clearInterval(this._holdInterval)\r\n }\r\n },\r\n _updateSelection: function(addedSelection) {\r\n this._scrollable && this._scrollable.scrollToElement(this.itemElements().eq(addedSelection[0]), {\r\n left: 1,\r\n right: 1\r\n })\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._dimensionChanged()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderScrolling()\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n this.callBase(e)\r\n },\r\n _clean: function() {\r\n this._deferredTemplates = [];\r\n this._cleanScrolling();\r\n this.callBase()\r\n },\r\n _toggleFocusedNextClass(index, isNextTabFocused) {\r\n this._itemElements().eq(index).toggleClass(FOCUSED_NEXT_TAB_CLASS, isNextTabFocused)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"useInkRipple\":\r\n case \"scrollingEnabled\":\r\n case \"showNavButtons\":\r\n this._invalidate();\r\n break;\r\n case \"scrollByContent\":\r\n this._scrollable && this._scrollable.option(args.name, args.value);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._dimensionChanged();\r\n break;\r\n case \"selectionMode\":\r\n this._renderMultiple();\r\n this.callBase(args);\r\n break;\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"focusedElement\":\r\n var {\r\n selectedIndex: selectedIndex\r\n } = this.option();\r\n var currentIndex = $(args.value).index();\r\n if (currentIndex !== selectedIndex) {\r\n this._toggleFocusedNextClass(selectedIndex, currentIndex === selectedIndex + 1)\r\n }\r\n this.callBase(args);\r\n this._scrollToItem(args.value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _afterItemElementInserted() {\r\n this.callBase();\r\n this._deferRenderScrolling()\r\n },\r\n _afterItemElementDeleted($item, deletedActionArgs) {\r\n this.callBase($item, deletedActionArgs);\r\n this._renderScrolling()\r\n },\r\n getScrollable() {\r\n return this._scrollable\r\n }\r\n});\r\nTabs.ItemClass = TabsItem;\r\nregisterComponent(\"dxTabs\", Tabs);\r\nexport default Tabs;\r\n","/**\r\n * DevExtreme (esm/ui/tab_panel/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nexport default class TabPanelItem extends CollectionWidgetItem {\r\n _renderWatchers() {\r\n this._startWatcher(\"badge\", noop);\r\n return super._renderWatchers()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/tab_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n touch\r\n} from \"../core/utils/support\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport MultiView from \"./multi_view\";\r\nimport Tabs from \"./tabs\";\r\nimport {\r\n default as TabPanelItem\r\n} from \"./tab_panel/item\";\r\nimport {\r\n getImageContainer\r\n} from \"../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nvar TABPANEL_CLASS = \"dx-tabpanel\";\r\nvar TABPANEL_TABS_CLASS = \"dx-tabpanel-tabs\";\r\nvar TABPANEL_CONTAINER_CLASS = \"dx-tabpanel-container\";\r\nvar TABS_ITEM_TEXT_CLASS = \"dx-tab-text\";\r\nvar DISABLED_FOCUSED_TAB_CLASS = \"dx-disabled-focused-tab\";\r\nvar TabPanel = MultiView.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n itemTitleTemplate: \"title\",\r\n hoverStateEnabled: true,\r\n showNavButtons: false,\r\n scrollByContent: true,\r\n scrollingEnabled: true,\r\n onTitleClick: null,\r\n onTitleHold: null,\r\n onTitleRendered: null,\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return !touch\r\n },\r\n options: {\r\n swipeEnabled: false\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n animationEnabled: false\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(TABPANEL_CLASS);\r\n this.setAria(\"role\", \"tabpanel\")\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._createTitleActions();\r\n this._renderLayout()\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n var $iconElement = getImageContainer(data.icon);\r\n if ($iconElement) {\r\n $container.append($iconElement)\r\n }\r\n if (isDefined(data.title) && !isPlainObject(data.title)) {\r\n $container.append(domAdapter.createTextNode(data.title))\r\n }\r\n } else if (isDefined(data)) {\r\n $container.text(String(data))\r\n }\r\n $container.wrapInner($(\"<span>\").addClass(TABS_ITEM_TEXT_CLASS))\r\n }), [\"title\", \"icon\"], this.option(\"integrationOptions.watchMethod\"))\r\n })\r\n },\r\n _createTitleActions: function() {\r\n this._createTitleClickAction();\r\n this._createTitleHoldAction();\r\n this._createTitleRenderedAction()\r\n },\r\n _createTitleClickAction: function() {\r\n this._titleClickAction = this._createActionByOption(\"onTitleClick\")\r\n },\r\n _createTitleHoldAction: function() {\r\n this._titleHoldAction = this._createActionByOption(\"onTitleHold\")\r\n },\r\n _createTitleRenderedAction: function() {\r\n this._titleRenderedAction = this._createActionByOption(\"onTitleRendered\")\r\n },\r\n _renderContent: function() {\r\n var that = this;\r\n this.callBase();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._resizeEventTimer = setTimeout((function() {\r\n that._updateLayout()\r\n }), 0)\r\n }\r\n },\r\n _renderLayout: function() {\r\n if (this._tabs) {\r\n this._updateLayout();\r\n return\r\n }\r\n var $element = this.$element();\r\n this._$tabContainer = $(\"<div>\").addClass(TABPANEL_TABS_CLASS).appendTo($element);\r\n var $tabs = $(\"<div>\").appendTo(this._$tabContainer);\r\n this._tabs = this._createComponent($tabs, Tabs, this._tabConfig());\r\n this._$container = $(\"<div>\").addClass(TABPANEL_CONTAINER_CLASS).appendTo($element);\r\n this._$container.append(this._$wrapper);\r\n this._updateLayout()\r\n },\r\n _updateLayout: function() {\r\n if (hasWindow()) {\r\n var tabsHeight = getOuterHeight(this._$tabContainer);\r\n this._$container.css({\r\n marginTop: -tabsHeight,\r\n paddingTop: tabsHeight\r\n })\r\n }\r\n },\r\n _refreshActiveDescendant: function() {\r\n if (!this._tabs) {\r\n return\r\n }\r\n var tabs = this._tabs;\r\n var tabItems = tabs.itemElements();\r\n var $activeTab = $(tabItems[tabs.option(\"selectedIndex\")]);\r\n var id = this.getFocusedItemId();\r\n this.setAria(\"controls\", void 0, $(tabItems));\r\n this.setAria(\"controls\", id, $activeTab)\r\n },\r\n _tabConfig: function() {\r\n return {\r\n selectOnFocus: true,\r\n focusStateEnabled: this.option(\"focusStateEnabled\"),\r\n hoverStateEnabled: this.option(\"hoverStateEnabled\"),\r\n repaintChangesOnly: this.option(\"repaintChangesOnly\"),\r\n tabIndex: this.option(\"tabIndex\"),\r\n selectedIndex: this.option(\"selectedIndex\"),\r\n badgeExpr: this.option(\"badgeExpr\"),\r\n onItemClick: this._titleClickAction.bind(this),\r\n onItemHold: this._titleHoldAction.bind(this),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onSelectionChanged: function(e) {\r\n this.option(\"selectedIndex\", e.component.option(\"selectedIndex\"));\r\n this._refreshActiveDescendant()\r\n }.bind(this),\r\n onItemRendered: this._titleRenderedAction.bind(this),\r\n itemTemplate: this._getTemplateByOption(\"itemTitleTemplate\"),\r\n items: this.option(\"items\"),\r\n noDataText: null,\r\n scrollingEnabled: this.option(\"scrollingEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n showNavButtons: this.option(\"showNavButtons\"),\r\n itemTemplateProperty: \"tabTemplate\",\r\n loopItemFocus: this.option(\"loop\"),\r\n selectionRequired: true,\r\n onOptionChanged: function(args) {\r\n if (\"focusedElement\" === args.name) {\r\n if (args.value) {\r\n var $value = $(args.value);\r\n var $newItem = this._itemElements().eq($value.index());\r\n this.option(\"focusedElement\", getPublicElement($newItem))\r\n } else {\r\n this.option(\"focusedElement\", args.value)\r\n }\r\n }\r\n }.bind(this),\r\n onFocusIn: function(args) {\r\n this._focusInHandler(args.event)\r\n }.bind(this),\r\n onFocusOut: function(args) {\r\n if (!this._isFocusOutHandlerExecuting) {\r\n this._focusOutHandler(args.event)\r\n }\r\n }.bind(this)\r\n }\r\n },\r\n _renderFocusTarget: function() {\r\n this._focusTarget().attr(\"tabIndex\", -1)\r\n },\r\n _toggleWrapperFocusedClass(isFocused) {\r\n this._toggleFocusClass(isFocused, this._$wrapper)\r\n },\r\n _toggleDisabledFocusedClass(isFocused) {\r\n this._focusTarget().toggleClass(DISABLED_FOCUSED_TAB_CLASS, isFocused)\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n this.callBase(e, isFocused);\r\n var isTabsTarget = e.target === this._tabs._focusTarget().get(0);\r\n var isMultiViewTarget = e.target === this._focusTarget().get(0);\r\n if (isTabsTarget) {\r\n this._toggleFocusClass(isFocused, this._focusTarget())\r\n }\r\n if (isTabsTarget || isMultiViewTarget) {\r\n var isDisabled = this._isDisabled(this.option(\"focusedElement\"));\r\n this._toggleWrapperFocusedClass(isFocused && !isDisabled);\r\n this._toggleDisabledFocusedClass(isFocused && isDisabled)\r\n }\r\n if (isMultiViewTarget) {\r\n this._toggleFocusClass(isFocused, this._tabs.option(\"focusedElement\"))\r\n }\r\n },\r\n _focusOutHandler: function(e) {\r\n this._isFocusOutHandlerExecuting = true;\r\n this.callBase.apply(this, arguments);\r\n this._tabs._focusOutHandler(e);\r\n this._isFocusOutHandlerExecuting = false\r\n },\r\n _setTabsOption: function(name, value) {\r\n if (this._tabs) {\r\n this._tabs.option(name, value)\r\n }\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._tabs._dimensionChanged();\r\n this._updateLayout()\r\n }\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n this.callBase(key, handler);\r\n if (this._tabs) {\r\n this._tabs.registerKeyHandler(key, handler)\r\n }\r\n },\r\n repaint: function() {\r\n this.callBase();\r\n this._tabs.repaint()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n var value = args.value;\r\n var fullName = args.fullName;\r\n switch (name) {\r\n case \"dataSource\":\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n this._setTabsOption(name, this.option(name));\r\n this._updateLayout();\r\n if (!this.option(\"repaintChangesOnly\")) {\r\n this._tabs.repaint()\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._tabs.repaint();\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n this._setTabsOption(fullName, value);\r\n this.callBase(args);\r\n if (true === this.option(\"focusStateEnabled\")) {\r\n var selectedIndex = this.option(\"selectedIndex\");\r\n var selectedTabContent = this._itemElements().eq(selectedIndex);\r\n this.option(\"focusedElement\", getPublicElement(selectedTabContent))\r\n }\r\n break;\r\n case \"itemHoldTimeout\":\r\n case \"focusStateEnabled\":\r\n case \"hoverStateEnabled\":\r\n this._setTabsOption(fullName, value);\r\n this.callBase(args);\r\n break;\r\n case \"scrollingEnabled\":\r\n case \"scrollByContent\":\r\n case \"showNavButtons\":\r\n this._setTabsOption(fullName, value);\r\n break;\r\n case \"focusedElement\":\r\n var id = value ? $(value).index() : value;\r\n var newItem = value ? this._tabs._itemElements().eq(id) : value;\r\n this._setTabsOption(\"focusedElement\", getPublicElement(newItem));\r\n var isDisabled = this._isDisabled(value);\r\n this._toggleWrapperFocusedClass(!isDisabled);\r\n this._toggleDisabledFocusedClass(isDisabled);\r\n this.callBase(args);\r\n break;\r\n case \"itemTitleTemplate\":\r\n this._setTabsOption(\"itemTemplate\", this._getTemplateByOption(\"itemTitleTemplate\"));\r\n break;\r\n case \"onTitleClick\":\r\n this._createTitleClickAction();\r\n this._setTabsOption(\"onItemClick\", this._titleClickAction.bind(this));\r\n break;\r\n case \"onTitleHold\":\r\n this._createTitleHoldAction();\r\n this._setTabsOption(\"onItemHold\", this._titleHoldAction.bind(this));\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderedAction();\r\n this._setTabsOption(\"onItemRendered\", this._titleRenderedAction.bind(this));\r\n break;\r\n case \"loop\":\r\n this._setTabsOption(\"loopItemFocus\", value);\r\n break;\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n clearTimeout(this._resizeEventTimer);\r\n this.callBase()\r\n }\r\n});\r\nTabPanel.ItemClass = TabPanelItem;\r\nregisterComponent(\"dxTabPanel\", TabPanel);\r\nexport default TabPanel;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.item_option_action.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nexport default class ItemOptionAction {\r\n constructor(options) {\r\n this._options = options;\r\n this._itemsRunTimeInfo = this._options.itemsRunTimeInfo\r\n }\r\n findInstance() {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item)\r\n }\r\n findItemContainer() {\r\n return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item)\r\n }\r\n findPreparedItem() {\r\n return this._itemsRunTimeInfo.findPreparedItemByItem(this._options.item)\r\n }\r\n tryExecute() {\r\n Class.abstract()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var createItemPathByIndex = (index, isTabs) => \"\".concat(isTabs ? \"tabs\" : \"items\", \"[\").concat(index, \"]\");\r\nexport var concatPaths = (path1, path2) => {\r\n if (isDefined(path1) && isDefined(path2)) {\r\n return \"\".concat(path1, \".\").concat(path2)\r\n }\r\n return path1 || path2\r\n};\r\nexport var getTextWithoutSpaces = text => text ? text.replace(/\\s/g, \"\") : void 0;\r\nexport var isEqualToDataFieldOrNameOrTitleOrCaption = (item, fieldName) => {\r\n if (item) {\r\n return item.dataField === fieldName || item.name === fieldName || getTextWithoutSpaces(item.title) === fieldName || \"group\" === item.itemType && getTextWithoutSpaces(item.caption) === fieldName\r\n }\r\n return false\r\n};\r\nexport var getFullOptionName = (path, optionName) => \"\".concat(path, \".\").concat(optionName);\r\nexport var getOptionNameFromFullName = fullName => {\r\n var parts = fullName.split(\".\");\r\n return parts[parts.length - 1].replace(/\\[\\d+]/, \"\")\r\n};\r\nexport var tryGetTabPath = fullPath => {\r\n var pathParts = fullPath.split(\".\");\r\n var resultPathParts = [...pathParts];\r\n for (var i = pathParts.length - 1; i >= 0; i--) {\r\n if (isFullPathContainsTabs(pathParts[i])) {\r\n return resultPathParts.join(\".\")\r\n }\r\n resultPathParts.splice(i, 1)\r\n }\r\n return \"\"\r\n};\r\nexport var isFullPathContainsTabs = fullPath => fullPath.indexOf(\"tabs\") > -1;\r\nexport var getItemPath = (items, item, isTabs) => {\r\n var index = items.indexOf(item);\r\n if (index > -1) {\r\n return createItemPathByIndex(index, isTabs)\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var targetItem = items[i];\r\n var tabOrGroupItems = targetItem.tabs || targetItem.items;\r\n if (tabOrGroupItems) {\r\n var itemPath = getItemPath(tabOrGroupItems, item, targetItem.tabs);\r\n if (itemPath) {\r\n return concatPaths(createItemPathByIndex(i, isTabs), itemPath)\r\n }\r\n }\r\n }\r\n};\r\nexport function convertToLayoutManagerOptions(_ref) {\r\n var {\r\n form: form,\r\n $formElement: $formElement,\r\n formOptions: formOptions,\r\n items: items,\r\n validationGroup: validationGroup,\r\n extendedLayoutManagerOptions: extendedLayoutManagerOptions,\r\n onFieldDataChanged: onFieldDataChanged,\r\n onContentReady: onContentReady,\r\n onDisposing: onDisposing,\r\n onFieldItemRendered: onFieldItemRendered\r\n } = _ref;\r\n var baseOptions = {\r\n form: form,\r\n items: items,\r\n $formElement: $formElement,\r\n validationGroup: validationGroup,\r\n onFieldDataChanged: onFieldDataChanged,\r\n onContentReady: onContentReady,\r\n onDisposing: onDisposing,\r\n onFieldItemRendered: onFieldItemRendered,\r\n validationBoundary: formOptions.scrollingEnabled ? $formElement : void 0,\r\n scrollingEnabled: formOptions.scrollingEnabled,\r\n showRequiredMark: formOptions.showRequiredMark,\r\n showOptionalMark: formOptions.showOptionalMark,\r\n requiredMark: formOptions.requiredMark,\r\n optionalMark: formOptions.optionalMark,\r\n requiredMessage: formOptions.requiredMessage,\r\n screenByWidth: formOptions.screenByWidth,\r\n layoutData: formOptions.formData,\r\n labelLocation: formOptions.labelLocation,\r\n customizeItem: formOptions.customizeItem,\r\n minColWidth: formOptions.minColWidth,\r\n showColonAfterLabel: formOptions.showColonAfterLabel,\r\n onEditorEnterKey: formOptions.onEditorEnterKey,\r\n labelMode: formOptions.labelMode\r\n };\r\n var result = extend(baseOptions, {\r\n isRoot: extendedLayoutManagerOptions.isRoot,\r\n colCount: extendedLayoutManagerOptions.colCount,\r\n alignItemLabels: extendedLayoutManagerOptions.alignItemLabels,\r\n cssItemClass: extendedLayoutManagerOptions.cssItemClass,\r\n colCountByScreen: extendedLayoutManagerOptions.colCountByScreen,\r\n onLayoutChanged: extendedLayoutManagerOptions.onLayoutChanged,\r\n width: extendedLayoutManagerOptions.width\r\n });\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.item_options_actions.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ItemOptionAction from \"./ui.form.item_option_action\";\r\nimport {\r\n data\r\n} from \"../../core/element_data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getFullOptionName\r\n} from \"./ui.form.utils\";\r\nclass WidgetOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var {\r\n value: value\r\n } = this._options;\r\n var instance = this.findInstance();\r\n if (instance) {\r\n instance.option(value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass TabOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var {\r\n optionName: optionName,\r\n item: item,\r\n value: value\r\n } = this._options;\r\n var itemIndex = this._itemsRunTimeInfo.findItemIndexByItem(item);\r\n if (itemIndex >= 0) {\r\n tabPanel.option(getFullOptionName(\"items[\".concat(itemIndex, \"]\"), optionName), value);\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\nclass SimpleItemTemplateChangedAction extends ItemOptionAction {\r\n tryExecute() {\r\n return false\r\n }\r\n}\r\nclass GroupItemTemplateChangedAction extends ItemOptionAction {\r\n tryExecute() {\r\n var preparedItem = this.findPreparedItem();\r\n if (null != preparedItem && preparedItem._prepareGroupItemTemplate && preparedItem._renderGroupContentTemplate) {\r\n preparedItem._prepareGroupItemTemplate(this._options.item.template);\r\n preparedItem._renderGroupContentTemplate();\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass TabsOptionItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var tabPanel = this.findInstance();\r\n if (tabPanel) {\r\n var {\r\n value: value\r\n } = this._options;\r\n tabPanel.option(\"dataSource\", value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nclass ValidationRulesItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var {\r\n item: item\r\n } = this._options;\r\n var instance = this.findInstance();\r\n var validator = instance && data(instance.$element()[0], \"dxValidator\");\r\n if (validator && item) {\r\n var filterRequired = item => \"required\" === item.type;\r\n var oldContainsRequired = (validator.option(\"validationRules\") || []).some(filterRequired);\r\n var newContainsRequired = (item.validationRules || []).some(filterRequired);\r\n if (!oldContainsRequired && !newContainsRequired || oldContainsRequired && newContainsRequired) {\r\n validator.option(\"validationRules\", item.validationRules);\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\nclass CssClassItemOptionAction extends ItemOptionAction {\r\n tryExecute() {\r\n var $itemContainer = this.findItemContainer();\r\n var {\r\n previousValue: previousValue,\r\n value: value\r\n } = this._options;\r\n if ($itemContainer) {\r\n $itemContainer.removeClass(previousValue).addClass(value);\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\nvar tryCreateItemOptionAction = (optionName, itemActionOptions) => {\r\n switch (optionName) {\r\n case \"editorOptions\":\r\n case \"buttonOptions\":\r\n return new WidgetOptionItemOptionAction(itemActionOptions);\r\n case \"validationRules\":\r\n return new ValidationRulesItemOptionAction(itemActionOptions);\r\n case \"cssClass\":\r\n return new CssClassItemOptionAction(itemActionOptions);\r\n case \"badge\":\r\n case \"disabled\":\r\n case \"icon\":\r\n case \"tabTemplate\":\r\n case \"title\":\r\n return new TabOptionItemOptionAction(extend(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n case \"tabs\":\r\n return new TabsOptionItemOptionAction(itemActionOptions);\r\n case \"template\":\r\n var _itemActionOptions$it, _itemActionOptions$it2, _itemActionOptions$it3;\r\n var itemType = null !== (_itemActionOptions$it = null === itemActionOptions || void 0 === itemActionOptions ? void 0 : null === (_itemActionOptions$it2 = itemActionOptions.item) || void 0 === _itemActionOptions$it2 ? void 0 : _itemActionOptions$it2.itemType) && void 0 !== _itemActionOptions$it ? _itemActionOptions$it : null === (_itemActionOptions$it3 = itemActionOptions.itemsRunTimeInfo.findPreparedItemByItem(null === itemActionOptions || void 0 === itemActionOptions ? void 0 : itemActionOptions.item)) || void 0 === _itemActionOptions$it3 ? void 0 : _itemActionOptions$it3.itemType;\r\n if (\"simple\" === itemType) {\r\n return new SimpleItemTemplateChangedAction(itemActionOptions)\r\n } else if (\"group\" === itemType) {\r\n return new GroupItemTemplateChangedAction(itemActionOptions)\r\n }\r\n return new TabOptionItemOptionAction(extend(itemActionOptions, {\r\n optionName: optionName\r\n }));\r\n default:\r\n return null\r\n }\r\n};\r\nexport default tryCreateItemOptionAction;\r\n","/**\r\n * DevExtreme (esm/ui/responsive_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject,\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport {\r\n getWindow,\r\n defaultScreenFactorFunc,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Box from \"./box\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar RESPONSIVE_BOX_CLASS = \"dx-responsivebox\";\r\nvar SCREEN_SIZE_CLASS_PREFIX = RESPONSIVE_BOX_CLASS + \"-screen-\";\r\nvar BOX_ITEM_CLASS = \"dx-box-item\";\r\nvar BOX_ITEM_DATA_KEY = \"dxBoxItemData\";\r\nvar HD_SCREEN_WIDTH = 1920;\r\nvar ResponsiveBox = CollectionWidget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n rows: [],\r\n cols: [],\r\n screenByWidth: null,\r\n singleColumnScreen: \"\",\r\n height: \"100%\",\r\n width: \"100%\",\r\n activeStateEnabled: false,\r\n focusStateEnabled: false,\r\n onItemStateChanged: void 0,\r\n onLayoutChanged: null,\r\n currentScreenFactor: void 0\r\n })\r\n },\r\n _init: function() {\r\n if (!this.option(\"screenByWidth\")) {\r\n this._options.silent(\"screenByWidth\", defaultScreenFactorFunc)\r\n }\r\n this.callBase();\r\n this._initLayoutChangedAction()\r\n },\r\n _initLayoutChangedAction: function() {\r\n this._layoutChangedAction = this._createActionByOption(\"onLayoutChanged\", {\r\n excludeValidators: [\"disabled\", \"readonly\"]\r\n })\r\n },\r\n _itemClass: function() {\r\n return BOX_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return BOX_ITEM_DATA_KEY\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(RESPONSIVE_BOX_CLASS)\r\n },\r\n _renderItems: function() {\r\n this._setScreenSize();\r\n this._screenItems = this._itemsByScreen();\r\n this._prepareGrid();\r\n this._spreadItems();\r\n this._layoutItems();\r\n this._linkNodeToItem()\r\n },\r\n _itemOptionChanged: function(item) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n this._refreshItem($item, item);\r\n this._clearItemNodeTemplates();\r\n this._update(true)\r\n },\r\n _setScreenSize: function() {\r\n var currentScreen = this._getCurrentScreen();\r\n this._removeScreenSizeClass();\r\n this.$element().addClass(SCREEN_SIZE_CLASS_PREFIX + currentScreen);\r\n this.option(\"currentScreenFactor\", currentScreen)\r\n },\r\n _removeScreenSizeClass: function() {\r\n var currentScreenFactor = this.option(\"currentScreenFactor\");\r\n currentScreenFactor && this.$element().removeClass(SCREEN_SIZE_CLASS_PREFIX + currentScreenFactor)\r\n },\r\n _prepareGrid: function() {\r\n var grid = this._grid = [];\r\n this._prepareRowsAndCols();\r\n each(this._rows, function() {\r\n var row = [];\r\n grid.push(row);\r\n each(this._cols, function() {\r\n row.push(this._createEmptyCell())\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n getSingleColumnRows: function() {\r\n var rows = this.option(\"rows\");\r\n var screenItemsLength = this._screenItems.length;\r\n if (rows.length) {\r\n var filteredRows = this._filterByScreen(rows);\r\n var result = [];\r\n for (var i = 0; i < screenItemsLength; i++) {\r\n var sizeConfig = this._defaultSizeConfig();\r\n if (i < filteredRows.length && isDefined(filteredRows[i].shrink)) {\r\n sizeConfig.shrink = filteredRows[i].shrink\r\n }\r\n result.push(sizeConfig)\r\n }\r\n return result\r\n } else {\r\n return this._defaultSizeConfig(screenItemsLength)\r\n }\r\n },\r\n _prepareRowsAndCols: function() {\r\n if (this._isSingleColumnScreen()) {\r\n this._prepareSingleColumnScreenItems();\r\n this._rows = this.getSingleColumnRows();\r\n this._cols = this._defaultSizeConfig(1)\r\n } else {\r\n this._rows = this._sizesByScreen(this.option(\"rows\"));\r\n this._cols = this._sizesByScreen(this.option(\"cols\"))\r\n }\r\n },\r\n _isSingleColumnScreen: function() {\r\n return this._screenRegExp().test(this.option(\"singleColumnScreen\")) || !this.option(\"rows\").length || !this.option(\"cols\").length\r\n },\r\n _prepareSingleColumnScreenItems: function() {\r\n this._screenItems.sort((function(item1, item2) {\r\n return item1.location.row - item2.location.row || item1.location.col - item2.location.col\r\n }));\r\n each(this._screenItems, (function(index, item) {\r\n extend(item.location, {\r\n row: index,\r\n col: 0,\r\n rowspan: 1,\r\n colspan: 1\r\n })\r\n }))\r\n },\r\n _sizesByScreen: function(sizeConfigs) {\r\n return map(this._filterByScreen(sizeConfigs), function(sizeConfig) {\r\n return extend(this._defaultSizeConfig(), sizeConfig)\r\n }.bind(this))\r\n },\r\n _createDefaultSizeConfig: function() {\r\n return {\r\n ratio: 1,\r\n baseSize: 0,\r\n minSize: 0,\r\n maxSize: 0\r\n }\r\n },\r\n _defaultSizeConfig: function(size) {\r\n var defaultSizeConfig = this._createDefaultSizeConfig();\r\n if (!arguments.length) {\r\n return defaultSizeConfig\r\n }\r\n var result = [];\r\n for (var i = 0; i < size; i++) {\r\n result.push(defaultSizeConfig)\r\n }\r\n return result\r\n },\r\n _filterByScreen: function(items) {\r\n var screenRegExp = this._screenRegExp();\r\n return grep(items, (function(item) {\r\n return !item.screen || screenRegExp.test(item.screen)\r\n }))\r\n },\r\n _screenRegExp: function() {\r\n var screen = this._getCurrentScreen();\r\n return new RegExp(\"(^|\\\\s)\" + screen + \"($|\\\\s)\", \"i\")\r\n },\r\n _getCurrentScreen: function() {\r\n var width = this._screenWidth();\r\n return this.option(\"screenByWidth\")(width)\r\n },\r\n _screenWidth: function() {\r\n return hasWindow() ? getWidth(getWindow()) : HD_SCREEN_WIDTH\r\n },\r\n _createEmptyCell: function() {\r\n return {\r\n item: {},\r\n location: {\r\n colspan: 1,\r\n rowspan: 1\r\n }\r\n }\r\n },\r\n _spreadItems: function() {\r\n each(this._screenItems, function(_, itemInfo) {\r\n var location = itemInfo.location || {};\r\n var itemCol = location.col;\r\n var itemRow = location.row;\r\n var row = this._grid[itemRow];\r\n var itemCell = row && row[itemCol];\r\n this._occupyCells(itemCell, itemInfo)\r\n }.bind(this))\r\n },\r\n _itemsByScreen: function() {\r\n return this.option(\"items\").reduce((result, item) => {\r\n var locations = item.location || {};\r\n locations = isPlainObject(locations) ? [locations] : locations;\r\n this._filterByScreen(locations).forEach(location => {\r\n result.push({\r\n item: item,\r\n location: extend({\r\n rowspan: 1,\r\n colspan: 1\r\n }, location)\r\n })\r\n });\r\n return result\r\n }, [])\r\n },\r\n _occupyCells: function(itemCell, itemInfo) {\r\n if (!itemCell || this._isItemCellOccupied(itemCell, itemInfo)) {\r\n return\r\n }\r\n extend(itemCell, itemInfo);\r\n this._markSpanningCell(itemCell)\r\n },\r\n _isItemCellOccupied: function(itemCell, itemInfo) {\r\n if (!isEmptyObject(itemCell.item)) {\r\n return true\r\n }\r\n var result = false;\r\n this._loopOverSpanning(itemInfo.location, (function(cell) {\r\n result = result || !isEmptyObject(cell.item)\r\n }));\r\n return result\r\n },\r\n _loopOverSpanning: function(location, callback) {\r\n var rowEnd = location.row + location.rowspan - 1;\r\n var colEnd = location.col + location.colspan - 1;\r\n var boundRowEnd = Math.min(rowEnd, this._rows.length - 1);\r\n var boundColEnd = Math.min(colEnd, this._cols.length - 1);\r\n location.rowspan -= rowEnd - boundRowEnd;\r\n location.colspan -= colEnd - boundColEnd;\r\n for (var rowIndex = location.row; rowIndex <= boundRowEnd; rowIndex++) {\r\n for (var colIndex = location.col; colIndex <= boundColEnd; colIndex++) {\r\n if (rowIndex !== location.row || colIndex !== location.col) {\r\n callback(this._grid[rowIndex][colIndex])\r\n }\r\n }\r\n }\r\n },\r\n _markSpanningCell: function(itemCell) {\r\n this._loopOverSpanning(itemCell.location, (function(cell) {\r\n extend(cell, {\r\n item: itemCell.item,\r\n spanningCell: itemCell\r\n })\r\n }))\r\n },\r\n _linkNodeToItem: function() {\r\n each(this._itemElements(), (function(_, itemNode) {\r\n var $item = $(itemNode);\r\n var item = $item.data(BOX_ITEM_DATA_KEY);\r\n if (!item.box) {\r\n item.node = $item.children()\r\n }\r\n }))\r\n },\r\n _layoutItems: function() {\r\n var rowsCount = this._grid.length;\r\n var colsCount = rowsCount && this._grid[0].length;\r\n if (!rowsCount && !colsCount) {\r\n return\r\n }\r\n var result = this._layoutBlock({\r\n direction: \"col\",\r\n row: {\r\n start: 0,\r\n end: rowsCount - 1\r\n },\r\n col: {\r\n start: 0,\r\n end: colsCount - 1\r\n }\r\n });\r\n var rootBox = this._prepareBoxConfig(result.box || {\r\n direction: \"row\",\r\n items: [extend(result, {\r\n ratio: 1\r\n })]\r\n });\r\n extend(rootBox, this._rootBoxConfig(rootBox.items));\r\n this._$root = $(\"<div>\").appendTo(this._itemContainer());\r\n this._createComponent(this._$root, Box, rootBox)\r\n },\r\n _rootBoxConfig: function(items) {\r\n var rootItems = each(items, function(index, item) {\r\n this._needApplyAutoBaseSize(item) && extend(item, {\r\n baseSize: \"auto\"\r\n })\r\n }.bind(this));\r\n return {\r\n width: \"100%\",\r\n height: \"100%\",\r\n items: rootItems,\r\n itemTemplate: this._getTemplateByOption(\"itemTemplate\"),\r\n itemHoldTimeout: this.option(\"itemHoldTimeout\"),\r\n onItemHold: this._createActionByOption(\"onItemHold\"),\r\n onItemClick: this._createActionByOption(\"onItemClick\"),\r\n onItemContextMenu: this._createActionByOption(\"onItemContextMenu\"),\r\n onItemRendered: this._createActionByOption(\"onItemRendered\")\r\n }\r\n },\r\n _needApplyAutoBaseSize: function(item) {\r\n return !item.baseSize && (!item.minSize || \"auto\" === item.minSize) && (!item.maxSize || \"auto\" === item.maxSize)\r\n },\r\n _prepareBoxConfig: function(config) {\r\n return extend(config || {}, {\r\n crossAlign: \"stretch\",\r\n onItemStateChanged: this.option(\"onItemStateChanged\")\r\n })\r\n },\r\n _layoutBlock: function(options) {\r\n if (this._isSingleItem(options)) {\r\n return this._itemByCell(options.row.start, options.col.start)\r\n }\r\n return this._layoutDirection(options)\r\n },\r\n _isSingleItem: function(options) {\r\n var firstCellLocation = this._grid[options.row.start][options.col.start].location;\r\n var isItemRowSpanned = options.row.end - options.row.start === firstCellLocation.rowspan - 1;\r\n var isItemColSpanned = options.col.end - options.col.start === firstCellLocation.colspan - 1;\r\n return isItemRowSpanned && isItemColSpanned\r\n },\r\n _itemByCell: function(rowIndex, colIndex) {\r\n var itemCell = this._grid[rowIndex][colIndex];\r\n return itemCell.spanningCell ? null : itemCell.item\r\n },\r\n _layoutDirection: function(options) {\r\n var items = [];\r\n var direction = options.direction;\r\n var crossDirection = this._crossDirection(direction);\r\n var block;\r\n while (block = this._nextBlock(options)) {\r\n if (this._isBlockIndivisible(options.prevBlockOptions, block)) {\r\n throw errors.Error(\"E1025\")\r\n }\r\n var item = this._layoutBlock({\r\n direction: crossDirection,\r\n row: block.row,\r\n col: block.col,\r\n prevBlockOptions: options\r\n });\r\n if (item) {\r\n extend(item, this._blockSize(block, crossDirection));\r\n items.push(item)\r\n }\r\n options[crossDirection].start = block[crossDirection].end + 1\r\n }\r\n return {\r\n box: this._prepareBoxConfig({\r\n direction: direction,\r\n items: items\r\n })\r\n }\r\n },\r\n _isBlockIndivisible: function(options, block) {\r\n return options && options.col.start === block.col.start && options.col.end === block.col.end && options.row.start === block.row.start && options.row.end === block.row.end\r\n },\r\n _crossDirection: function(direction) {\r\n return \"col\" === direction ? \"row\" : \"col\"\r\n },\r\n _nextBlock: function(options) {\r\n var direction = options.direction;\r\n var crossDirection = this._crossDirection(direction);\r\n var startIndex = options[direction].start;\r\n var endIndex = options[direction].end;\r\n var crossStartIndex = options[crossDirection].start;\r\n if (crossStartIndex > options[crossDirection].end) {\r\n return null\r\n }\r\n var crossSpan = 1;\r\n for (var crossIndex = crossStartIndex; crossIndex < crossStartIndex + crossSpan; crossIndex++) {\r\n var lineCrossSpan = 1;\r\n for (var index = startIndex; index <= endIndex; index++) {\r\n var cell = this._cellByDirection(direction, index, crossIndex);\r\n lineCrossSpan = Math.max(lineCrossSpan, cell.location[crossDirection + \"span\"])\r\n }\r\n var lineCrossEndIndex = crossIndex + lineCrossSpan;\r\n var crossEndIndex = crossStartIndex + crossSpan;\r\n if (lineCrossEndIndex > crossEndIndex) {\r\n crossSpan += lineCrossEndIndex - crossEndIndex\r\n }\r\n }\r\n var result = {};\r\n result[direction] = {\r\n start: startIndex,\r\n end: endIndex\r\n };\r\n result[crossDirection] = {\r\n start: crossStartIndex,\r\n end: crossStartIndex + crossSpan - 1\r\n };\r\n return result\r\n },\r\n _cellByDirection: function(direction, index, crossIndex) {\r\n return \"col\" === direction ? this._grid[crossIndex][index] : this._grid[index][crossIndex]\r\n },\r\n _blockSize: function(block, direction) {\r\n var defaultMinSize = \"row\" === direction ? \"auto\" : 0;\r\n var sizeConfigs = \"row\" === direction ? this._rows : this._cols;\r\n var result = extend(this._createDefaultSizeConfig(), {\r\n ratio: 0\r\n });\r\n for (var index = block[direction].start; index <= block[direction].end; index++) {\r\n var sizeConfig = sizeConfigs[index];\r\n result.ratio += sizeConfig.ratio;\r\n result.baseSize += sizeConfig.baseSize;\r\n result.minSize += sizeConfig.minSize;\r\n result.maxSize += sizeConfig.maxSize;\r\n if (isDefined(sizeConfig.shrink)) {\r\n result.shrink = sizeConfig.shrink\r\n }\r\n }\r\n result.minSize = result.minSize ? result.minSize : defaultMinSize;\r\n result.maxSize = result.maxSize ? result.maxSize : \"auto\";\r\n this._isSingleColumnScreen() && (result.baseSize = \"auto\");\r\n return result\r\n },\r\n _update: function(forceRemoveRoot) {\r\n var $existingRoot = this._$root;\r\n this._renderItems();\r\n if ($existingRoot) {\r\n if (forceRemoveRoot) {\r\n $existingRoot.remove()\r\n } else {\r\n $existingRoot.detach();\r\n this._saveAssistantRoot($existingRoot)\r\n }\r\n }\r\n this._layoutChangedAction()\r\n },\r\n _saveAssistantRoot: function($root) {\r\n this._assistantRoots = this._assistantRoots || [];\r\n this._assistantRoots.push($root)\r\n },\r\n _dispose: function() {\r\n this._clearItemNodeTemplates();\r\n this._cleanUnusedRoots();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _cleanUnusedRoots: function() {\r\n if (!this._assistantRoots) {\r\n return\r\n }\r\n each(this._assistantRoots, (function(_, item) {\r\n $(item).remove()\r\n }))\r\n },\r\n _clearItemNodeTemplates: function() {\r\n each(this.option(\"items\"), (function() {\r\n delete this.node\r\n }))\r\n },\r\n _attachClickEvent: noop,\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"rows\":\r\n case \"cols\":\r\n case \"screenByWidth\":\r\n case \"singleColumnScreen\":\r\n this._clearItemNodeTemplates();\r\n this._invalidate();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._update();\r\n break;\r\n case \"onLayoutChanged\":\r\n this._initLayoutChangedAction();\r\n break;\r\n case \"itemTemplate\":\r\n this._clearItemNodeTemplates();\r\n this.callBase(args);\r\n break;\r\n case \"currentScreenFactor\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (this._getCurrentScreen() !== this.option(\"currentScreenFactor\")) {\r\n this._update()\r\n }\r\n },\r\n repaint: function() {\r\n this._update()\r\n }\r\n});\r\nregisterComponent(\"dxResponsiveBox\", ResponsiveBox);\r\nexport default ResponsiveBox;\r\n","/**\r\n * DevExtreme (esm/ui/form/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var WIDGET_CLASS = \"dx-widget\";\r\nexport var FORM_CLASS = \"dx-form\";\r\nexport var FORM_GROUP_CLASS = \"dx-form-group\";\r\nexport var FORM_GROUP_CAPTION_CLASS = \"dx-form-group-caption\";\r\nexport var FORM_FIELD_ITEM_COL_CLASS = \"dx-col-\";\r\nexport var FIELD_ITEM_CLASS = \"dx-field-item\";\r\nexport var LAYOUT_MANAGER_ONE_COLUMN = \"dx-layout-manager-one-col\";\r\nexport var FIELD_ITEM_LABEL_CONTENT_CLASS = \"dx-field-item-label-content\";\r\nexport var FORM_LAYOUT_MANAGER_CLASS = \"dx-layout-manager\";\r\nexport var FIELD_ITEM_LABEL_CLASS = \"dx-field-item-label\";\r\nexport var FIELD_ITEM_CONTENT_CLASS = \"dx-field-item-content\";\r\nexport var SINGLE_COLUMN_ITEM_CONTENT = \"dx-single-column-item-content\";\r\nexport var ROOT_SIMPLE_ITEM_CLASS = \"dx-root-simple-item\";\r\nexport var FORM_GROUP_CONTENT_CLASS = \"dx-form-group-content\";\r\nexport var FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = \"dx-field-item-has-group\";\r\nexport var FIELD_ITEM_CONTENT_HAS_TABS_CLASS = \"dx-field-item-has-tabs\";\r\nexport var FORM_GROUP_WITH_CAPTION_CLASS = \"dx-form-group-with-caption\";\r\nexport var FIELD_ITEM_TAB_CLASS = \"dx-field-item-tab\";\r\nexport var GROUP_COL_COUNT_CLASS = \"dx-group-colcount-\";\r\nexport var GROUP_COL_COUNT_ATTR = \"group-col-count\";\r\nexport var FORM_VALIDATION_SUMMARY = \"dx-form-validation-summary\";\r\nexport var FORM_UNDERLINED_CLASS = \"dx-form-styling-mode-underlined\";\r\nexport var SIMPLE_ITEM_TYPE = \"simple\";\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.layout_manager.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n captionize\r\n} from \"../../core/utils/inflector\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n SIMPLE_ITEM_TYPE\r\n} from \"./constants\";\r\nvar EDITORS_WITH_ARRAY_VALUE = [\"dxTagBox\", \"dxRangeSlider\", \"dxDateRangeBox\"];\r\nexport var EDITORS_WITHOUT_LABELS = [\"dxCalendar\", \"dxCheckBox\", \"dxHtmlEditor\", \"dxRadioGroup\", \"dxRangeSlider\", \"dxSlider\", \"dxSwitch\"];\r\nexport function convertToRenderFieldItemOptions(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n item: item,\r\n template: template,\r\n labelTemplate: labelTemplate,\r\n name: name,\r\n formLabelLocation: formLabelLocation,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n showColonAfterLabel: showColonAfterLabel,\r\n managerLabelLocation: managerLabelLocation,\r\n itemId: itemId,\r\n managerMarkOptions: managerMarkOptions,\r\n labelMode: labelMode,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref;\r\n var isRequired = isDefined(item.isRequired) ? item.isRequired : !!_hasRequiredRuleInSet(item.validationRules);\r\n var isSimpleItem = item.itemType === SIMPLE_ITEM_TYPE;\r\n var helpID = item.helpText ? \"dx-\" + new Guid : null;\r\n var labelOptions = _convertToLabelOptions({\r\n item: item,\r\n id: itemId,\r\n isRequired: isRequired,\r\n managerMarkOptions: managerMarkOptions,\r\n showColonAfterLabel: showColonAfterLabel,\r\n labelLocation: managerLabelLocation,\r\n formLabelMode: labelMode,\r\n labelTemplate: labelTemplate,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n });\r\n var needRenderLabel = labelOptions.visible && (labelOptions.text || labelOptions.labelTemplate && isSimpleItem);\r\n var {\r\n location: labelLocation,\r\n labelID: labelID\r\n } = labelOptions;\r\n var labelNeedBaselineAlign = \"top\" !== labelLocation && [\"dxTextArea\", \"dxRadioGroup\", \"dxCalendar\", \"dxHtmlEditor\"].includes(item.editorType);\r\n var editorOptions = _convertToEditorOptions({\r\n editorType: item.editorType,\r\n editorValue: editorValue,\r\n defaultEditorName: item.dataField,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n externalEditorOptions: item.editorOptions,\r\n editorInputId: itemId,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n formLabelMode: labelMode,\r\n labelText: labelOptions.textWithoutColon,\r\n labelMark: labelOptions.markOptions.showRequiredMark ? String.fromCharCode(160) + labelOptions.markOptions.requiredMark : \"\"\r\n });\r\n var needRenderOptionalMarkAsHelpText = labelOptions.markOptions.showOptionalMark && !labelOptions.visible && \"hidden\" !== editorOptions.labelMode && !isDefined(item.helpText);\r\n var helpText = needRenderOptionalMarkAsHelpText ? labelOptions.markOptions.optionalMark : item.helpText;\r\n return {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n labelOptions: labelOptions,\r\n labelNeedBaselineAlign: labelNeedBaselineAlign,\r\n labelLocation: labelLocation,\r\n needRenderLabel: needRenderLabel,\r\n item: item,\r\n isSimpleItem: isSimpleItem,\r\n isRequired: isRequired,\r\n template: template,\r\n helpID: helpID,\r\n labelID: labelID,\r\n name: name,\r\n helpText: helpText,\r\n formLabelLocation: formLabelLocation,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup,\r\n editorOptions: editorOptions\r\n }\r\n}\r\nexport function getLabelMarkText(_ref2) {\r\n var {\r\n showRequiredMark: showRequiredMark,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark,\r\n optionalMark: optionalMark\r\n } = _ref2;\r\n if (!showRequiredMark && !showOptionalMark) {\r\n return \"\"\r\n }\r\n return String.fromCharCode(160) + (showRequiredMark ? requiredMark : optionalMark)\r\n}\r\nexport function convertToLabelMarkOptions(_ref3, isRequired) {\r\n var {\r\n showRequiredMark: showRequiredMark,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark,\r\n optionalMark: optionalMark\r\n } = _ref3;\r\n return {\r\n showRequiredMark: showRequiredMark && isRequired,\r\n requiredMark: requiredMark,\r\n showOptionalMark: showOptionalMark && !isRequired,\r\n optionalMark: optionalMark\r\n }\r\n}\r\n\r\nfunction _convertToEditorOptions(_ref4) {\r\n var {\r\n editorType: editorType,\r\n defaultEditorName: defaultEditorName,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n externalEditorOptions: externalEditorOptions,\r\n editorInputId: editorInputId,\r\n editorValidationBoundary: editorValidationBoundary,\r\n editorStylingMode: editorStylingMode,\r\n formLabelMode: formLabelMode,\r\n labelText: labelText,\r\n labelMark: labelMark\r\n } = _ref4;\r\n var editorOptionsWithValue = {};\r\n if (void 0 !== editorValue || canAssignUndefinedValueToEditor) {\r\n editorOptionsWithValue.value = editorValue\r\n }\r\n if (-1 !== EDITORS_WITH_ARRAY_VALUE.indexOf(editorType)) {\r\n editorOptionsWithValue.value = editorOptionsWithValue.value || []\r\n }\r\n var labelMode = null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.labelMode;\r\n if (!isDefined(labelMode)) {\r\n labelMode = \"outside\" === formLabelMode ? \"hidden\" : formLabelMode\r\n }\r\n var stylingMode = (null === externalEditorOptions || void 0 === externalEditorOptions ? void 0 : externalEditorOptions.stylingMode) || editorStylingMode;\r\n var result = extend(true, editorOptionsWithValue, externalEditorOptions, {\r\n inputAttr: {\r\n id: editorInputId\r\n },\r\n validationBoundary: editorValidationBoundary,\r\n stylingMode: stylingMode,\r\n label: labelText,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n });\r\n if (externalEditorOptions) {\r\n if (result.dataSource) {\r\n result.dataSource = externalEditorOptions.dataSource\r\n }\r\n if (result.items) {\r\n result.items = externalEditorOptions.items\r\n }\r\n }\r\n if (defaultEditorName && !result.name) {\r\n result.name = defaultEditorName\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasRequiredRuleInSet(rules) {\r\n var hasRequiredRule;\r\n if (rules && rules.length) {\r\n each(rules, (function(index, rule) {\r\n if (\"required\" === rule.type) {\r\n hasRequiredRule = true;\r\n return false\r\n }\r\n }))\r\n }\r\n return hasRequiredRule\r\n}\r\n\r\nfunction _convertToLabelOptions(_ref5) {\r\n var {\r\n item: item,\r\n id: id,\r\n isRequired: isRequired,\r\n managerMarkOptions: managerMarkOptions,\r\n showColonAfterLabel: showColonAfterLabel,\r\n labelLocation: labelLocation,\r\n labelTemplate: labelTemplate,\r\n formLabelMode: formLabelMode,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref5;\r\n var isEditorWithoutLabels = EDITORS_WITHOUT_LABELS.includes(item.editorType);\r\n var labelOptions = extend({\r\n showColon: showColonAfterLabel,\r\n location: labelLocation,\r\n id: id,\r\n visible: \"outside\" === formLabelMode || isEditorWithoutLabels && \"hidden\" !== formLabelMode,\r\n isRequired: isRequired\r\n }, item ? item.label : {}, {\r\n markOptions: convertToLabelMarkOptions(managerMarkOptions, isRequired),\r\n labelTemplate: labelTemplate,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n });\r\n if ([\"dxRadioGroup\", \"dxCheckBox\", \"dxLookup\", \"dxSlider\", \"dxRangeSlider\", \"dxSwitch\", \"dxHtmlEditor\", \"dxDateRangeBox\"].includes(item.editorType)) {\r\n labelOptions.labelID = \"dx-label-\".concat(new Guid)\r\n }\r\n if (!labelOptions.text && item.dataField) {\r\n labelOptions.text = captionize(item.dataField)\r\n }\r\n if (labelOptions.text) {\r\n labelOptions.textWithoutColon = labelOptions.text;\r\n labelOptions.text += labelOptions.showColon ? \":\" : \"\"\r\n }\r\n return labelOptions\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n getLabelMarkText\r\n} from \"../ui.form.layout_manager.utils\";\r\nimport {\r\n FIELD_ITEM_LABEL_CONTENT_CLASS,\r\n FIELD_ITEM_LABEL_CLASS\r\n} from \"../constants\";\r\nexport var GET_LABEL_WIDTH_BY_TEXT_CLASS = \"dx-layout-manager-hidden-label\";\r\nexport var FIELD_ITEM_REQUIRED_MARK_CLASS = \"dx-field-item-required-mark\";\r\nexport var FIELD_ITEM_LABEL_LOCATION_CLASS = \"dx-field-item-label-location-\";\r\nexport var FIELD_ITEM_OPTIONAL_MARK_CLASS = \"dx-field-item-optional-mark\";\r\nexport var FIELD_ITEM_LABEL_TEXT_CLASS = \"dx-field-item-label-text\";\r\nexport function renderLabel(_ref) {\r\n var {\r\n text: text,\r\n id: id,\r\n location: location,\r\n alignment: alignment,\r\n labelID: labelID = null,\r\n markOptions: markOptions = {},\r\n labelTemplate: labelTemplate,\r\n labelTemplateData: labelTemplateData,\r\n onLabelTemplateRendered: onLabelTemplateRendered\r\n } = _ref;\r\n if ((!isDefined(text) || text.length <= 0) && !isDefined(labelTemplate)) {\r\n return null\r\n }\r\n var $label = $(\"<label>\").addClass(FIELD_ITEM_LABEL_CLASS + \" \" + FIELD_ITEM_LABEL_LOCATION_CLASS + location).attr(\"for\", id).attr(\"id\", labelID).css(\"textAlign\", alignment);\r\n var $labelContainer = $(\"<span>\").addClass(FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $labelContent = $(\"<span>\").addClass(FIELD_ITEM_LABEL_TEXT_CLASS).text(text);\r\n if (labelTemplate) {\r\n $labelContent = $(\"<div>\").addClass(\"dx-field-item-custom-label-content\");\r\n labelTemplateData.text = text;\r\n labelTemplate.render({\r\n container: getPublicElement($labelContent),\r\n model: labelTemplateData,\r\n onRendered() {\r\n null === onLabelTemplateRendered || void 0 === onLabelTemplateRendered ? void 0 : onLabelTemplateRendered()\r\n }\r\n })\r\n }\r\n return $label.append($labelContainer.append($labelContent, _renderLabelMark(markOptions)))\r\n}\r\n\r\nfunction _renderLabelMark(markOptions) {\r\n var markText = getLabelMarkText(markOptions);\r\n if (\"\" === markText) {\r\n return null\r\n }\r\n return $(\"<span>\").addClass(markOptions.showRequiredMark ? FIELD_ITEM_REQUIRED_MARK_CLASS : FIELD_ITEM_OPTIONAL_MARK_CLASS).text(markText)\r\n}\r\nexport function setLabelWidthByMaxLabelWidth($targetContainer, labelsSelector, labelMarkOptions) {\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Selector = \"\".concat(labelsSelector, \" > .\").concat(FIELD_ITEM_LABEL_CLASS, \":not(.\").concat(FIELD_ITEM_LABEL_LOCATION_CLASS, \"top) > .\").concat(FIELD_ITEM_LABEL_CONTENT_CLASS);\r\n var $FIELD_ITEM_LABEL_CONTENT_CLASS_Items = $targetContainer.find(FIELD_ITEM_LABEL_CONTENT_CLASS_Selector);\r\n var FIELD_ITEM_LABEL_CONTENT_CLASS_Length = $FIELD_ITEM_LABEL_CONTENT_CLASS_Items.length;\r\n var labelWidth;\r\n var i;\r\n var maxWidth = 0;\r\n for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) {\r\n labelWidth = getLabelWidthByHTML($FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i]);\r\n if (labelWidth > maxWidth) {\r\n maxWidth = labelWidth\r\n }\r\n }\r\n for (i = 0; i < FIELD_ITEM_LABEL_CONTENT_CLASS_Length; i++) {\r\n $FIELD_ITEM_LABEL_CONTENT_CLASS_Items[i].style.width = maxWidth + \"px\"\r\n }\r\n}\r\n\r\nfunction getLabelWidthByHTML(labelContent) {\r\n var result = 0;\r\n var itemsCount = labelContent.children.length;\r\n for (var i = 0; i < itemsCount; i++) {\r\n var child = labelContent.children[i];\r\n result += child.offsetWidth\r\n }\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/field_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nimport {\r\n getPublicElement\r\n} from \"../../../core/element\";\r\nimport {\r\n captionize\r\n} from \"../../../core/utils/inflector\";\r\nimport {\r\n format\r\n} from \"../../../core/utils/string\";\r\nimport {\r\n isMaterial\r\n} from \"../../themes\";\r\nimport errors from \"../../widget/ui.errors\";\r\nimport Validator from \"../../validator\";\r\nimport {\r\n FIELD_ITEM_CONTENT_CLASS\r\n} from \"../constants\";\r\nexport var FLEX_LAYOUT_CLASS = \"dx-flex-layout\";\r\nexport var FIELD_ITEM_OPTIONAL_CLASS = \"dx-field-item-optional\";\r\nexport var FIELD_ITEM_REQUIRED_CLASS = \"dx-field-item-required\";\r\nexport var FIELD_ITEM_CONTENT_WRAPPER_CLASS = \"dx-field-item-content-wrapper\";\r\nexport var FIELD_ITEM_CONTENT_LOCATION_CLASS = \"dx-field-item-content-location-\";\r\nexport var FIELD_ITEM_LABEL_ALIGN_CLASS = \"dx-field-item-label-align\";\r\nexport var FIELD_ITEM_HELP_TEXT_CLASS = \"dx-field-item-help-text\";\r\nexport var LABEL_VERTICAL_ALIGNMENT_CLASS = \"dx-label-v-align\";\r\nexport var LABEL_HORIZONTAL_ALIGNMENT_CLASS = \"dx-label-h-align\";\r\nexport var TOGGLE_CONTROLS_PADDING_CLASS = \"dx-toggle-controls-paddings\";\r\nimport {\r\n renderLabel\r\n} from \"./label\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar VALIDATION_TARGET_CLASS = \"dx-validation-target\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nexport function renderFieldItem(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n formOrLayoutManager: formOrLayoutManager,\r\n createComponentCallback: createComponentCallback,\r\n labelOptions: labelOptions,\r\n labelNeedBaselineAlign: labelNeedBaselineAlign,\r\n labelLocation: labelLocation,\r\n needRenderLabel: needRenderLabel,\r\n formLabelLocation: formLabelLocation,\r\n item: item,\r\n editorOptions: editorOptions,\r\n isSimpleItem: isSimpleItem,\r\n isRequired: isRequired,\r\n template: template,\r\n helpID: helpID,\r\n labelID: labelID,\r\n name: name,\r\n helpText: helpText,\r\n requiredMessageTemplate: requiredMessageTemplate,\r\n validationGroup: validationGroup\r\n } = _ref;\r\n var $rootElement = $(\"<div>\").addClass(rootElementCssClassList.join(\" \")).appendTo($parent);\r\n $rootElement.addClass(isRequired ? FIELD_ITEM_REQUIRED_CLASS : FIELD_ITEM_OPTIONAL_CLASS);\r\n if (isSimpleItem) {\r\n $rootElement.addClass(FLEX_LAYOUT_CLASS)\r\n }\r\n if (isSimpleItem && labelNeedBaselineAlign) {\r\n $rootElement.addClass(FIELD_ITEM_LABEL_ALIGN_CLASS)\r\n }\r\n var $fieldEditorContainer = $(\"<div>\");\r\n $fieldEditorContainer.data(\"dx-form-item\", item);\r\n $fieldEditorContainer.addClass(FIELD_ITEM_CONTENT_CLASS).addClass(FIELD_ITEM_CONTENT_LOCATION_CLASS + {\r\n right: \"left\",\r\n left: \"right\",\r\n top: \"bottom\"\r\n } [formLabelLocation]);\r\n var $label = null;\r\n if (needRenderLabel) {\r\n if (labelOptions.labelTemplate) {\r\n labelOptions.labelTemplateData = getTemplateData(item, editorOptions, formOrLayoutManager)\r\n }\r\n $label = renderLabel(labelOptions)\r\n }\r\n if ($label) {\r\n var {\r\n editorType: editorType\r\n } = item;\r\n $rootElement.append($label);\r\n if (\"top\" === labelLocation || \"left\" === labelLocation) {\r\n $rootElement.append($fieldEditorContainer)\r\n }\r\n if (\"right\" === labelLocation) {\r\n $rootElement.prepend($fieldEditorContainer)\r\n }\r\n if (\"top\" === labelLocation) {\r\n $rootElement.addClass(LABEL_VERTICAL_ALIGNMENT_CLASS)\r\n } else {\r\n $rootElement.addClass(LABEL_HORIZONTAL_ALIGNMENT_CLASS)\r\n }\r\n if (\"dxCheckBox\" === editorType || \"dxSwitch\" === editorType) {\r\n eventsEngine.on($label, clickEventName, (function() {\r\n eventsEngine.trigger($fieldEditorContainer.children(), clickEventName)\r\n }))\r\n }\r\n var isToggleControls = [\"dxCheckBox\", \"dxSwitch\", \"dxRadioGroup\"].includes(editorType);\r\n var labelAlignment = labelOptions.alignment;\r\n var isLabelAlignmentLeft = \"left\" === labelAlignment || !labelAlignment;\r\n var hasNotTemplate = !template;\r\n var isLabelOnTop = \"top\" === labelLocation;\r\n if (hasNotTemplate && isToggleControls && isLabelOnTop && isLabelAlignmentLeft) {\r\n $fieldEditorContainer.addClass(TOGGLE_CONTROLS_PADDING_CLASS)\r\n }\r\n } else {\r\n $rootElement.append($fieldEditorContainer)\r\n }\r\n var widgetInstance;\r\n if (template) {\r\n template.render({\r\n container: getPublicElement($fieldEditorContainer),\r\n model: getTemplateData(item, editorOptions, formOrLayoutManager),\r\n onRendered() {\r\n var $validationTarget = getValidationTarget($fieldEditorContainer);\r\n var validationTargetInstance = tryGetValidationTargetInstance($validationTarget);\r\n subscribeWrapperInvalidClassToggle(validationTargetInstance)\r\n }\r\n })\r\n } else {\r\n var $div = $(\"<div>\").appendTo($fieldEditorContainer);\r\n try {\r\n widgetInstance = createComponentCallback($div, item.editorType, editorOptions);\r\n widgetInstance.setAria(\"describedby\", helpID);\r\n if (labelID) {\r\n widgetInstance.setAria(\"labelledby\", labelID)\r\n }\r\n widgetInstance.setAria(\"required\", isRequired)\r\n } catch (e) {\r\n errors.log(\"E1035\", e.message)\r\n }\r\n }\r\n var $validationTarget = getValidationTarget($fieldEditorContainer);\r\n var validationTargetInstance = $validationTarget && $validationTarget.data(VALIDATION_TARGET_CLASS);\r\n if (validationTargetInstance) {\r\n var isItemHaveCustomLabel = item.label && item.label.text;\r\n var itemName = isItemHaveCustomLabel ? null : name;\r\n var fieldName = isItemHaveCustomLabel ? item.label.text : itemName && captionize(itemName);\r\n var validationRules;\r\n if (isSimpleItem) {\r\n if (item.validationRules) {\r\n validationRules = item.validationRules\r\n } else {\r\n var requiredMessage = format(requiredMessageTemplate, fieldName || \"\");\r\n validationRules = item.isRequired ? [{\r\n type: \"required\",\r\n message: requiredMessage\r\n }] : null\r\n }\r\n }\r\n if (Array.isArray(validationRules) && validationRules.length) {\r\n createComponentCallback($validationTarget, Validator, {\r\n validationRules: validationRules,\r\n validationGroup: validationGroup,\r\n dataGetter: function() {\r\n return {\r\n formItem: item\r\n }\r\n }\r\n })\r\n }\r\n subscribeWrapperInvalidClassToggle(validationTargetInstance)\r\n }\r\n if (helpText && isSimpleItem) {\r\n var $editorParent = $fieldEditorContainer.parent();\r\n $editorParent.append($(\"<div>\").addClass(FIELD_ITEM_CONTENT_WRAPPER_CLASS).append($fieldEditorContainer).append($(\"<div>\").addClass(FIELD_ITEM_HELP_TEXT_CLASS).attr(\"id\", helpID).text(helpText)))\r\n }\r\n return {\r\n $fieldEditorContainer: $fieldEditorContainer,\r\n $rootElement: $rootElement,\r\n widgetInstance: widgetInstance\r\n }\r\n}\r\n\r\nfunction getValidationTarget($fieldEditorContainer) {\r\n var $editor = $fieldEditorContainer.children().first();\r\n return $editor.hasClass(TEMPLATE_WRAPPER_CLASS) ? $editor.children().first() : $editor\r\n}\r\n\r\nfunction tryGetValidationTargetInstance($validationTarget) {\r\n var _$validationTarget$pa, _$validationTarget$pa2;\r\n return (null === $validationTarget || void 0 === $validationTarget ? void 0 : $validationTarget.data(VALIDATION_TARGET_CLASS)) || (null === $validationTarget || void 0 === $validationTarget ? void 0 : null === (_$validationTarget$pa = $validationTarget.parent) || void 0 === _$validationTarget$pa ? void 0 : null === (_$validationTarget$pa2 = _$validationTarget$pa.call($validationTarget)) || void 0 === _$validationTarget$pa2 ? void 0 : _$validationTarget$pa2.data(VALIDATION_TARGET_CLASS))\r\n}\r\n\r\nfunction subscribeWrapperInvalidClassToggle(validationTargetInstance) {\r\n if (validationTargetInstance && isMaterial()) {\r\n var wrapperClass = \".\".concat(FIELD_ITEM_CONTENT_WRAPPER_CLASS);\r\n var toggleInvalidClass = _ref2 => {\r\n var {\r\n element: element,\r\n component: component\r\n } = _ref2;\r\n var {\r\n isValid: isValid,\r\n validationMessageMode: validationMessageMode\r\n } = component.option();\r\n $(element).parents(wrapperClass).toggleClass(INVALID_CLASS, false === isValid && (component._isFocused() || \"always\" === validationMessageMode))\r\n };\r\n validationTargetInstance.on(\"optionChanged\", e => {\r\n if (\"isValid\" !== e.name) {\r\n return\r\n }\r\n toggleInvalidClass(e)\r\n });\r\n validationTargetInstance.on(\"focusIn\", toggleInvalidClass).on(\"focusOut\", toggleInvalidClass).on(\"enterKey\", toggleInvalidClass)\r\n }\r\n}\r\n\r\nfunction getTemplateData(item, editorOptions, formOrLayoutManager) {\r\n return {\r\n dataField: item.dataField,\r\n editorType: item.editorType,\r\n editorOptions: editorOptions,\r\n component: formOrLayoutManager,\r\n name: item.name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/button_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nvar FIELD_BUTTON_ITEM_CLASS = \"dx-field-button-item\";\r\nexport function renderButtonItem(_ref) {\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n validationGroup: validationGroup,\r\n createComponentCallback: createComponentCallback\r\n } = _ref;\r\n var $rootElement = $(\"<div>\").appendTo($parent).addClass(rootElementCssClassList.join(\" \")).addClass(FIELD_BUTTON_ITEM_CLASS).css(\"textAlign\", convertAlignmentToTextAlign(item.horizontalAlignment));\r\n $parent.css(\"justifyContent\", convertAlignmentToJustifyContent(item.verticalAlignment));\r\n var $button = $(\"<div>\").appendTo($rootElement);\r\n return {\r\n $rootElement: $rootElement,\r\n buttonInstance: createComponentCallback($button, \"dxButton\", extend({\r\n validationGroup: validationGroup\r\n }, item.buttonOptions))\r\n }\r\n}\r\n\r\nfunction convertAlignmentToTextAlign(horizontalAlignment) {\r\n return isDefined(horizontalAlignment) ? horizontalAlignment : \"right\"\r\n}\r\n\r\nfunction convertAlignmentToJustifyContent(verticalAlignment) {\r\n switch (verticalAlignment) {\r\n case \"center\":\r\n return \"center\";\r\n case \"bottom\":\r\n return \"flex-end\";\r\n default:\r\n return \"flex-start\"\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/components/empty_item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport var FIELD_EMPTY_ITEM_CLASS = \"dx-field-empty-item\";\r\nexport function renderEmptyItem(_ref) {\r\n var {\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref;\r\n return $(\"<div>\").addClass(FIELD_EMPTY_ITEM_CLASS).html(\" \").addClass(rootElementCssClassList.join(\" \")).appendTo($parent)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.layout_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n default as FormItemsRunTimeInfo\r\n} from \"./ui.form.items_runtime_info\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../../core/utils/type\";\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n normalizeIndexes\r\n} from \"../../core/utils/array\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport ResponsiveBox from \"../responsive_box\";\r\nimport {\r\n LAYOUT_MANAGER_ONE_COLUMN,\r\n FORM_LAYOUT_MANAGER_CLASS,\r\n SINGLE_COLUMN_ITEM_CONTENT,\r\n ROOT_SIMPLE_ITEM_CLASS,\r\n SIMPLE_ITEM_TYPE,\r\n FIELD_ITEM_CLASS\r\n} from \"./constants\";\r\nimport \"../text_box\";\r\nimport \"../number_box\";\r\nimport \"../check_box\";\r\nimport \"../date_box\";\r\nimport \"../button\";\r\nimport {\r\n renderFieldItem\r\n} from \"./components/field_item\";\r\nimport {\r\n renderButtonItem\r\n} from \"./components/button_item\";\r\nimport {\r\n renderEmptyItem\r\n} from \"./components/empty_item\";\r\nimport {\r\n convertToRenderFieldItemOptions\r\n} from \"./ui.form.layout_manager.utils\";\r\nvar FORM_EDITOR_BY_DEFAULT = \"dxTextBox\";\r\nvar LAYOUT_MANAGER_FIRST_ROW_CLASS = \"dx-first-row\";\r\nvar LAYOUT_MANAGER_LAST_ROW_CLASS = \"dx-last-row\";\r\nvar LAYOUT_MANAGER_FIRST_COL_CLASS = \"dx-first-col\";\r\nvar LAYOUT_MANAGER_LAST_COL_CLASS = \"dx-last-col\";\r\nvar LayoutManager = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n layoutData: {},\r\n readOnly: false,\r\n colCount: 1,\r\n colCountByScreen: void 0,\r\n labelLocation: \"left\",\r\n onFieldDataChanged: null,\r\n onEditorEnterKey: null,\r\n customizeItem: null,\r\n alignItemLabels: true,\r\n minColWidth: 200,\r\n showRequiredMark: true,\r\n screenByWidth: null,\r\n showOptionalMark: false,\r\n requiredMark: \"*\",\r\n labelMode: \"outside\",\r\n optionalMark: messageLocalization.format(\"dxForm-optionalMark\"),\r\n requiredMessage: messageLocalization.getFormatter(\"dxForm-requiredMessage\")\r\n })\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n layoutData: true,\r\n validationGroup: true\r\n })\r\n },\r\n _init: function() {\r\n var layoutData = this.option(\"layoutData\");\r\n this.callBase();\r\n this._itemWatchers = [];\r\n this._itemsRunTimeInfo = new FormItemsRunTimeInfo;\r\n this._updateReferencedOptions(layoutData);\r\n this._initDataAndItems(layoutData)\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._cleanItemWatchers()\r\n },\r\n _initDataAndItems: function(initialData) {\r\n this._syncDataWithItems();\r\n this._updateItems(initialData)\r\n },\r\n _syncDataWithItems: function() {\r\n var layoutData = this.option(\"layoutData\");\r\n var userItems = this.option(\"items\");\r\n if (isDefined(userItems)) {\r\n userItems.forEach(item => {\r\n if (item.dataField && void 0 === this._getDataByField(item.dataField)) {\r\n var value;\r\n if (item.editorOptions) {\r\n value = item.editorOptions.value\r\n }\r\n if (isDefined(value) || item.dataField in layoutData) {\r\n this._updateFieldValue(item.dataField, value)\r\n }\r\n }\r\n })\r\n }\r\n },\r\n _getDataByField: function(dataField) {\r\n return dataField ? this.option(\"layoutData.\" + dataField) : null\r\n },\r\n _isCheckboxUndefinedStateEnabled: function(_ref) {\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n } = _ref;\r\n if (true === allowIndeterminateState && \"dxCheckBox\" === editorType) {\r\n var nameParts = [\"layoutData\", ...dataField.split(\".\")];\r\n var propertyName = nameParts.pop();\r\n var layoutData = this.option(nameParts.join(\".\"));\r\n return layoutData && propertyName in layoutData\r\n }\r\n return false\r\n },\r\n _updateFieldValue: function(dataField, value) {\r\n var layoutData = this.option(\"layoutData\");\r\n var newValue = value;\r\n if (!variableWrapper.isWrapped(layoutData[dataField]) && isDefined(dataField)) {\r\n this.option(\"layoutData.\" + dataField, newValue)\r\n } else if (variableWrapper.isWritableWrapped(layoutData[dataField])) {\r\n newValue = isFunction(newValue) ? newValue() : newValue;\r\n layoutData[dataField](newValue)\r\n }\r\n this._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: newValue\r\n })\r\n },\r\n _triggerOnFieldDataChanged: function(args) {\r\n this._createActionByOption(\"onFieldDataChanged\")(args)\r\n },\r\n _updateItems: function(layoutData) {\r\n var that = this;\r\n var userItems = this.option(\"items\");\r\n var isUserItemsExist = isDefined(userItems);\r\n var customizeItem = that.option(\"customizeItem\");\r\n var items = isUserItemsExist ? userItems : this._generateItemsByData(layoutData);\r\n if (isDefined(items)) {\r\n var processedItems = [];\r\n each(items, (function(index, item) {\r\n if (that._isAcceptableItem(item)) {\r\n item = that._processItem(item);\r\n customizeItem && customizeItem(item);\r\n if (isObject(item) && false !== variableWrapper.unwrap(item.visible)) {\r\n processedItems.push(item)\r\n }\r\n }\r\n }));\r\n if (!that._itemWatchers.length || !isUserItemsExist) {\r\n that._updateItemWatchers(items)\r\n }\r\n this._setItems(processedItems);\r\n this._sortItems()\r\n }\r\n },\r\n _cleanItemWatchers: function() {\r\n this._itemWatchers.forEach((function(dispose) {\r\n dispose()\r\n }));\r\n this._itemWatchers = []\r\n },\r\n _updateItemWatchers: function(items) {\r\n var that = this;\r\n var watch = that._getWatch();\r\n items.forEach((function(item) {\r\n if (isObject(item) && isDefined(item.visible) && isFunction(watch)) {\r\n that._itemWatchers.push(watch((function() {\r\n return variableWrapper.unwrap(item.visible)\r\n }), (function() {\r\n that._updateItems(that.option(\"layoutData\"));\r\n that.repaint()\r\n }), {\r\n skipImmediate: true\r\n }))\r\n }\r\n }))\r\n },\r\n _generateItemsByData: function(layoutData) {\r\n var result = [];\r\n if (isDefined(layoutData)) {\r\n each(layoutData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n return result\r\n },\r\n _isAcceptableItem: function(item) {\r\n var itemField = item.dataField || item;\r\n var itemData = this._getDataByField(itemField);\r\n return !(isFunction(itemData) && !variableWrapper.isWrapped(itemData))\r\n },\r\n _processItem: function(item) {\r\n if (\"string\" === typeof item) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if (\"object\" === typeof item && !item.itemType) {\r\n item.itemType = SIMPLE_ITEM_TYPE\r\n }\r\n if (!isDefined(item.editorType) && isDefined(item.dataField)) {\r\n var value = this._getDataByField(item.dataField);\r\n item.editorType = isDefined(value) ? this._getEditorTypeByDataType(type(value)) : FORM_EDITOR_BY_DEFAULT\r\n }\r\n if (\"dxCheckBox\" === item.editorType) {\r\n var _item$allowIndetermin;\r\n item.allowIndeterminateState = null !== (_item$allowIndetermin = item.allowIndeterminateState) && void 0 !== _item$allowIndetermin ? _item$allowIndetermin : true\r\n }\r\n return item\r\n },\r\n _getEditorTypeByDataType: function(dataType) {\r\n switch (dataType) {\r\n case \"number\":\r\n return \"dxNumberBox\";\r\n case \"date\":\r\n return \"dxDateBox\";\r\n case \"boolean\":\r\n return \"dxCheckBox\";\r\n default:\r\n return \"dxTextBox\"\r\n }\r\n },\r\n _sortItems: function() {\r\n normalizeIndexes(this._items, \"visibleIndex\");\r\n this._sortIndexes()\r\n },\r\n _sortIndexes: function() {\r\n this._items.sort((function(itemA, itemB) {\r\n var indexA = itemA.visibleIndex;\r\n var indexB = itemB.visibleIndex;\r\n var result;\r\n if (indexA > indexB) {\r\n result = 1\r\n } else if (indexA < indexB) {\r\n result = -1\r\n } else {\r\n result = 0\r\n }\r\n return result\r\n }))\r\n },\r\n _initMarkup: function() {\r\n this._itemsRunTimeInfo.clear();\r\n this.$element().addClass(FORM_LAYOUT_MANAGER_CLASS);\r\n this.callBase();\r\n this._renderResponsiveBox()\r\n },\r\n _renderResponsiveBox: function() {\r\n var templatesInfo = [];\r\n if (this._items && this._items.length) {\r\n var colCount = this._getColCount();\r\n var $container = $(\"<div>\").appendTo(this.$element());\r\n this._prepareItemsWithMerging(colCount);\r\n var layoutItems = this._generateLayoutItems();\r\n this._responsiveBox = this._createComponent($container, ResponsiveBox, this._getResponsiveBoxConfig(layoutItems, colCount, templatesInfo));\r\n if (!hasWindow()) {\r\n this._renderTemplates(templatesInfo)\r\n }\r\n }\r\n },\r\n _itemStateChangedHandler: function(e) {\r\n this._refresh()\r\n },\r\n _renderTemplates: function(templatesInfo) {\r\n var that = this;\r\n var itemsWithLabelTemplateCount = 0;\r\n templatesInfo.forEach(_ref2 => {\r\n var _item$label;\r\n var {\r\n item: item\r\n } = _ref2;\r\n if (null !== item && void 0 !== item && null !== (_item$label = item.label) && void 0 !== _item$label && _item$label.template) {\r\n itemsWithLabelTemplateCount++\r\n }\r\n });\r\n each(templatesInfo, (function(index, info) {\r\n switch (info.itemType) {\r\n case \"empty\":\r\n renderEmptyItem(info);\r\n break;\r\n case \"button\":\r\n that._renderButtonItem(info);\r\n break;\r\n default:\r\n that._renderFieldItem(info, itemsWithLabelTemplateCount)\r\n }\r\n }))\r\n },\r\n _getResponsiveBoxConfig: function(layoutItems, colCount, templatesInfo) {\r\n var that = this;\r\n var colCountByScreen = that.option(\"colCountByScreen\");\r\n var xsColCount = colCountByScreen && colCountByScreen.xs;\r\n return {\r\n onItemStateChanged: this._itemStateChangedHandler.bind(this),\r\n onLayoutChanged: function() {\r\n var onLayoutChanged = that.option(\"onLayoutChanged\");\r\n var isSingleColumnMode = that.isSingleColumnMode();\r\n if (onLayoutChanged) {\r\n that.$element().toggleClass(LAYOUT_MANAGER_ONE_COLUMN, isSingleColumnMode);\r\n onLayoutChanged(isSingleColumnMode)\r\n }\r\n },\r\n onContentReady: function(e) {\r\n if (hasWindow()) {\r\n that._renderTemplates(templatesInfo)\r\n }\r\n if (that.option(\"onLayoutChanged\")) {\r\n that.$element().toggleClass(LAYOUT_MANAGER_ONE_COLUMN, that.isSingleColumnMode(e.component))\r\n }\r\n },\r\n itemTemplate: function(e, itemData, itemElement) {\r\n if (!e.location) {\r\n return\r\n }\r\n var $itemElement = $(itemElement);\r\n var itemRenderedCountInPreviousRows = e.location.row * colCount;\r\n var item = that._items[e.location.col + itemRenderedCountInPreviousRows];\r\n if (!item) {\r\n return\r\n }\r\n var itemCssClassList = [item.cssClass];\r\n $itemElement.toggleClass(SINGLE_COLUMN_ITEM_CONTENT, that.isSingleColumnMode(this));\r\n if (0 === e.location.row) {\r\n itemCssClassList.push(LAYOUT_MANAGER_FIRST_ROW_CLASS)\r\n }\r\n if (0 === e.location.col) {\r\n itemCssClassList.push(LAYOUT_MANAGER_FIRST_COL_CLASS)\r\n }\r\n if (item.itemType === SIMPLE_ITEM_TYPE && that.option(\"isRoot\")) {\r\n $itemElement.addClass(ROOT_SIMPLE_ITEM_CLASS)\r\n }\r\n var isLastColumn = e.location.col === colCount - 1 || e.location.col + e.location.colspan === colCount;\r\n var rowsCount = that._getRowsCount();\r\n var isLastRow = e.location.row === rowsCount - 1;\r\n if (isLastColumn) {\r\n itemCssClassList.push(LAYOUT_MANAGER_LAST_COL_CLASS)\r\n }\r\n if (isLastRow) {\r\n itemCssClassList.push(LAYOUT_MANAGER_LAST_ROW_CLASS)\r\n }\r\n if (\"empty\" !== item.itemType) {\r\n itemCssClassList.push(FIELD_ITEM_CLASS);\r\n itemCssClassList.push(that.option(\"cssItemClass\"));\r\n if (isDefined(item.col)) {\r\n itemCssClassList.push(\"dx-col-\" + item.col)\r\n }\r\n }\r\n templatesInfo.push({\r\n itemType: item.itemType,\r\n item: item,\r\n $parent: $itemElement,\r\n rootElementCssClassList: itemCssClassList\r\n })\r\n },\r\n cols: that._generateRatio(colCount),\r\n rows: that._generateRatio(that._getRowsCount(), true),\r\n dataSource: layoutItems,\r\n screenByWidth: that.option(\"screenByWidth\"),\r\n singleColumnScreen: xsColCount ? false : \"xs\"\r\n }\r\n },\r\n _getColCount: function() {\r\n var colCount = this.option(\"colCount\");\r\n var colCountByScreen = this.option(\"colCountByScreen\");\r\n if (colCountByScreen) {\r\n var screenFactor = this.option(\"form\").getTargetScreenFactor();\r\n if (!screenFactor) {\r\n screenFactor = hasWindow() ? getCurrentScreenFactor(this.option(\"screenByWidth\")) : \"lg\"\r\n }\r\n colCount = colCountByScreen[screenFactor] || colCount\r\n }\r\n if (\"auto\" === colCount) {\r\n if (this._cashedColCount) {\r\n return this._cashedColCount\r\n }\r\n this._cashedColCount = colCount = this._getMaxColCount()\r\n }\r\n return colCount < 1 ? 1 : colCount\r\n },\r\n _getMaxColCount: function() {\r\n if (!hasWindow()) {\r\n return 1\r\n }\r\n var minColWidth = this.option(\"minColWidth\");\r\n var width = getWidth(this.$element());\r\n var itemsCount = this._items.length;\r\n var maxColCount = Math.floor(width / minColWidth) || 1;\r\n return itemsCount < maxColCount ? itemsCount : maxColCount\r\n },\r\n isCachedColCountObsolete: function() {\r\n return this._cashedColCount && this._getMaxColCount() !== this._cashedColCount\r\n },\r\n _prepareItemsWithMerging: function(colCount) {\r\n var items = this._items.slice(0);\r\n var item;\r\n var itemsMergedByCol;\r\n var result = [];\r\n var j;\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n item = items[i];\r\n result.push(item);\r\n if (this.option(\"alignItemLabels\") || item.alignItemLabels || item.colSpan) {\r\n item.col = this._getColByIndex(result.length - 1, colCount)\r\n }\r\n if (item.colSpan > 1 && item.col + item.colSpan <= colCount) {\r\n itemsMergedByCol = [];\r\n for (j = 0; j < item.colSpan - 1; j++) {\r\n itemsMergedByCol.push({\r\n merged: true\r\n })\r\n }\r\n result = result.concat(itemsMergedByCol)\r\n } else {\r\n delete item.colSpan\r\n }\r\n }\r\n this._setItems(result)\r\n },\r\n _getColByIndex: function(index, colCount) {\r\n return index % colCount\r\n },\r\n _setItems: function(items) {\r\n this._items = items;\r\n this._cashedColCount = null\r\n },\r\n _generateLayoutItems: function() {\r\n var items = this._items;\r\n var colCount = this._getColCount();\r\n var result = [];\r\n var item;\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n item = items[i];\r\n if (!item.merged) {\r\n var generatedItem = {\r\n location: {\r\n row: parseInt(i / colCount),\r\n col: this._getColByIndex(i, colCount)\r\n }\r\n };\r\n if (isDefined(item.disabled)) {\r\n generatedItem.disabled = item.disabled\r\n }\r\n if (isDefined(item.visible)) {\r\n generatedItem.visible = item.visible\r\n }\r\n if (isDefined(item.colSpan)) {\r\n generatedItem.location.colspan = item.colSpan\r\n }\r\n if (isDefined(item.rowSpan)) {\r\n generatedItem.location.rowspan = item.rowSpan\r\n }\r\n result.push(generatedItem)\r\n }\r\n }\r\n return result\r\n },\r\n _renderEmptyItem: function($container) {\r\n renderEmptyItem({\r\n $container: $container\r\n })\r\n },\r\n _renderButtonItem: function(_ref3) {\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref3;\r\n var {\r\n $rootElement: $rootElement,\r\n buttonInstance: buttonInstance\r\n } = renderButtonItem({\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n validationGroup: this.option(\"validationGroup\"),\r\n createComponentCallback: this._createComponent.bind(this)\r\n });\r\n this._itemsRunTimeInfo.add({\r\n item: item,\r\n widgetInstance: buttonInstance,\r\n guid: item.guid,\r\n $itemContainer: $rootElement\r\n })\r\n },\r\n _renderFieldItem: function(_ref4, itemsWithLabelTemplateCount) {\r\n var _item$label2, _this$option;\r\n var {\r\n item: item,\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList\r\n } = _ref4;\r\n var editorValue = this._getDataByField(item.dataField);\r\n var canAssignUndefinedValueToEditor = false;\r\n if (void 0 === editorValue) {\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n } = item;\r\n canAssignUndefinedValueToEditor = this._isCheckboxUndefinedStateEnabled({\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n })\r\n }\r\n var name = item.dataField || item.name;\r\n var formOrLayoutManager = this._getFormOrThis();\r\n var {\r\n $fieldEditorContainer: $fieldEditorContainer,\r\n widgetInstance: widgetInstance,\r\n $rootElement: $rootElement\r\n } = renderFieldItem(convertToRenderFieldItemOptions({\r\n $parent: $parent,\r\n rootElementCssClassList: rootElementCssClassList,\r\n item: item,\r\n name: name,\r\n editorValue: editorValue,\r\n canAssignUndefinedValueToEditor: canAssignUndefinedValueToEditor,\r\n formOrLayoutManager: this._getFormOrThis(),\r\n createComponentCallback: this._createComponent.bind(this),\r\n formLabelLocation: this.option(\"labelLocation\"),\r\n requiredMessageTemplate: this.option(\"requiredMessage\"),\r\n validationGroup: this.option(\"validationGroup\"),\r\n editorValidationBoundary: this.option(\"validationBoundary\"),\r\n editorStylingMode: this.option(\"form\") && this.option(\"form\").option(\"stylingMode\"),\r\n showColonAfterLabel: this.option(\"showColonAfterLabel\"),\r\n managerLabelLocation: this.option(\"labelLocation\"),\r\n template: item.template ? this._getTemplate(item.template) : null,\r\n labelTemplate: null !== (_item$label2 = item.label) && void 0 !== _item$label2 && _item$label2.template ? this._getTemplate(item.label.template) : null,\r\n itemId: this.option(\"form\") && this.option(\"form\").getItemID(name),\r\n managerMarkOptions: this._getMarkOptions(),\r\n labelMode: this.option(\"labelMode\"),\r\n onLabelTemplateRendered: () => {\r\n this._incTemplateRenderedCallCount();\r\n if (this._shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, itemsWithLabelTemplateCount)) {\r\n formOrLayoutManager._alignLabels(this, this.isSingleColumnMode(formOrLayoutManager))\r\n }\r\n }\r\n }));\r\n null === (_this$option = this.option(\"onFieldItemRendered\")) || void 0 === _this$option ? void 0 : _this$option();\r\n if (widgetInstance && item.dataField) {\r\n this._bindDataField(widgetInstance, item.dataField, item.editorType, $fieldEditorContainer)\r\n }\r\n this._itemsRunTimeInfo.add({\r\n item: item,\r\n widgetInstance: widgetInstance,\r\n guid: item.guid,\r\n $itemContainer: $rootElement\r\n })\r\n },\r\n _incTemplateRenderedCallCount() {\r\n var _this$_labelTemplateR;\r\n this._labelTemplateRenderedCallCount = (null !== (_this$_labelTemplateR = this._labelTemplateRenderedCallCount) && void 0 !== _this$_labelTemplateR ? _this$_labelTemplateR : 0) + 1\r\n },\r\n _shouldAlignLabelsOnTemplateRendered(formOrLayoutManager, totalItemsWithLabelTemplate) {\r\n return formOrLayoutManager.option(\"templatesRenderAsynchronously\") && this._labelTemplateRenderedCallCount === totalItemsWithLabelTemplate\r\n },\r\n _getMarkOptions: function() {\r\n return {\r\n showRequiredMark: this.option(\"showRequiredMark\"),\r\n requiredMark: this.option(\"requiredMark\"),\r\n showOptionalMark: this.option(\"showOptionalMark\"),\r\n optionalMark: this.option(\"optionalMark\")\r\n }\r\n },\r\n _getFormOrThis: function() {\r\n return this.option(\"form\") || this\r\n },\r\n _bindDataField: function(editorInstance, dataField, editorType, $container) {\r\n var formOrThis = this._getFormOrThis();\r\n editorInstance.on(\"enterKey\", (function(args) {\r\n formOrThis._createActionByOption(\"onEditorEnterKey\")(extend(args, {\r\n dataField: dataField\r\n }))\r\n }));\r\n this._createWatcher(editorInstance, $container, dataField);\r\n this.linkEditorToDataField(editorInstance, dataField, editorType)\r\n },\r\n _createWatcher: function(editorInstance, $container, dataField) {\r\n var that = this;\r\n var watch = that._getWatch();\r\n if (!isFunction(watch)) {\r\n return\r\n }\r\n var dispose = watch((function() {\r\n return that._getDataByField(dataField)\r\n }), (function() {\r\n var fieldValue = that._getDataByField(dataField);\r\n if (\"dxTagBox\" === editorInstance.NAME) {\r\n var editorValue = editorInstance.option(\"value\");\r\n if (fieldValue !== editorValue && function(array1, array2) {\r\n if (!Array.isArray(array1) || !Array.isArray(array2) || array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (array1[i] !== array2[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n }(fieldValue, editorValue)) {\r\n return\r\n }\r\n }\r\n editorInstance.option(\"value\", fieldValue)\r\n }), {\r\n deep: true,\r\n skipImmediate: true\r\n });\r\n eventsEngine.on($container, removeEvent, dispose)\r\n },\r\n _getWatch: function() {\r\n if (!isDefined(this._watch)) {\r\n var formInstance = this.option(\"form\");\r\n this._watch = formInstance && formInstance.option(\"integrationOptions.watchMethod\")\r\n }\r\n return this._watch\r\n },\r\n _createComponent: function($editor, type, editorOptions) {\r\n var readOnlyState = this.option(\"readOnly\");\r\n var hasEditorReadOnly = Object.hasOwn(editorOptions, \"readOnly\");\r\n var instance = this.callBase($editor, type, _extends({}, editorOptions, {\r\n readOnly: !hasEditorReadOnly ? readOnlyState : editorOptions.readOnly\r\n }));\r\n var isChangeByForm = false;\r\n instance.on(\"optionChanged\", args => {\r\n if (\"readOnly\" === args.name && !isChangeByForm) {\r\n hasEditorReadOnly = true\r\n }\r\n });\r\n this.on(\"optionChanged\", (function(args) {\r\n if (\"readOnly\" === args.name && !hasEditorReadOnly) {\r\n isChangeByForm = true;\r\n instance.option(args.name, args.value);\r\n isChangeByForm = false\r\n }\r\n }));\r\n return instance\r\n },\r\n _generateRatio: function(count, isAutoSize) {\r\n var result = [];\r\n var ratio;\r\n var i;\r\n for (i = 0; i < count; i++) {\r\n ratio = {\r\n ratio: 1\r\n };\r\n if (isAutoSize) {\r\n ratio.baseSize = \"auto\"\r\n }\r\n result.push(ratio)\r\n }\r\n return result\r\n },\r\n _getRowsCount: function() {\r\n return Math.ceil(this._items.length / this._getColCount())\r\n },\r\n _updateReferencedOptions: function(newLayoutData) {\r\n var layoutData = this.option(\"layoutData\");\r\n if (isObject(layoutData)) {\r\n Object.getOwnPropertyNames(layoutData).forEach(property => delete this._optionsByReference[\"layoutData.\" + property])\r\n }\r\n if (isObject(newLayoutData)) {\r\n Object.getOwnPropertyNames(newLayoutData).forEach(property => this._optionsByReference[\"layoutData.\" + property] = true)\r\n }\r\n },\r\n _resetWidget(instance) {\r\n this._disableEditorValueChangedHandler = true;\r\n instance.reset();\r\n this._disableEditorValueChangedHandler = false;\r\n instance.option(\"isValid\", true)\r\n },\r\n _optionChanged(args) {\r\n if (0 === args.fullName.search(\"layoutData.\")) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"showRequiredMark\":\r\n case \"showOptionalMark\":\r\n case \"requiredMark\":\r\n case \"optionalMark\":\r\n this._cashedRequiredConfig = null;\r\n this._invalidate();\r\n break;\r\n case \"layoutData\":\r\n this._updateReferencedOptions(args.value);\r\n if (this.option(\"items\")) {\r\n if (!isEmptyObject(args.value)) {\r\n this._itemsRunTimeInfo.each((_, itemRunTimeInfo) => {\r\n if (isDefined(itemRunTimeInfo.item)) {\r\n var dataField = itemRunTimeInfo.item.dataField;\r\n if (dataField && isDefined(itemRunTimeInfo.widgetInstance)) {\r\n var valueGetter = compileGetter(dataField);\r\n var dataValue = valueGetter(args.value);\r\n var {\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType\r\n } = itemRunTimeInfo.item;\r\n if (void 0 !== dataValue || this._isCheckboxUndefinedStateEnabled({\r\n allowIndeterminateState: allowIndeterminateState,\r\n editorType: editorType,\r\n dataField: dataField\r\n })) {\r\n itemRunTimeInfo.widgetInstance.option(\"value\", dataValue)\r\n } else {\r\n this._resetWidget(itemRunTimeInfo.widgetInstance)\r\n }\r\n }\r\n }\r\n })\r\n }\r\n } else {\r\n this._initDataAndItems(args.value);\r\n this._invalidate()\r\n }\r\n break;\r\n case \"items\":\r\n this._cleanItemWatchers();\r\n this._initDataAndItems(args.value);\r\n this._invalidate();\r\n break;\r\n case \"alignItemLabels\":\r\n case \"labelLocation\":\r\n case \"labelMode\":\r\n case \"requiredMessage\":\r\n this._invalidate();\r\n break;\r\n case \"customizeItem\":\r\n this._updateItems(this.option(\"layoutData\"));\r\n this._invalidate();\r\n break;\r\n case \"colCount\":\r\n case \"colCountByScreen\":\r\n this._resetColCount();\r\n break;\r\n case \"minColWidth\":\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._resetColCount()\r\n }\r\n break;\r\n case \"readOnly\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._resetColCount()\r\n }\r\n break;\r\n case \"onFieldDataChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetColCount: function() {\r\n this._cashedColCount = null;\r\n this._invalidate()\r\n },\r\n linkEditorToDataField(editorInstance, dataField) {\r\n this.on(\"optionChanged\", args => {\r\n if (args.fullName === \"layoutData.\".concat(dataField)) {\r\n editorInstance._setOptionWithoutOptionChange(\"value\", args.value)\r\n }\r\n });\r\n editorInstance.on(\"valueChanged\", args => {\r\n var isValueReferenceType = isObject(args.value) || Array.isArray(args.value);\r\n if (!this._disableEditorValueChangedHandler && !(isValueReferenceType && args.value === args.previousValue)) {\r\n this._updateFieldValue(dataField, args.value)\r\n }\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n if (\"auto\" === this.option(\"colCount\") && this.isCachedColCountObsolete()) {\r\n this._eventsStrategy.fireEvent(\"autoColCountChanged\")\r\n }\r\n },\r\n updateData: function(data, value) {\r\n var that = this;\r\n if (isObject(data)) {\r\n each(data, (function(dataField, fieldValue) {\r\n that._updateFieldValue(dataField, fieldValue)\r\n }))\r\n } else if (\"string\" === typeof data) {\r\n that._updateFieldValue(data, value)\r\n }\r\n },\r\n getEditor: function(field) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByDataField(field) || this._itemsRunTimeInfo.findWidgetInstanceByName(field)\r\n },\r\n isSingleColumnMode: function(component) {\r\n var responsiveBox = this._responsiveBox || component;\r\n if (responsiveBox) {\r\n return responsiveBox.option(\"currentScreenFactor\") === responsiveBox.option(\"singleColumnScreen\")\r\n }\r\n },\r\n getItemsRunTimeInfo: function() {\r\n return this._itemsRunTimeInfo\r\n }\r\n});\r\nregisterComponent(\"dxLayoutManager\", LayoutManager);\r\nexport default LayoutManager;\r\n","/**\r\n * DevExtreme (esm/ui/validation_summary.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport CollectionWidget from \"./collection/ui.collection_widget.edit\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nvar ITEM_CLASS = VALIDATION_SUMMARY_CLASS + \"-item\";\r\nvar ITEM_DATA_KEY = VALIDATION_SUMMARY_CLASS + \"-item-data\";\r\nvar ValidationSummary = CollectionWidget.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n focusStateEnabled: false,\r\n noDataText: null\r\n })\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initGroupRegistration()\r\n },\r\n _initGroupRegistration() {\r\n var $element = this.$element();\r\n var group = this.option(\"validationGroup\") || ValidationEngine.findGroup($element, this._modelByElement($element));\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n this._unsubscribeGroup();\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n this.groupSubscription = this._groupValidationHandler.bind(this);\r\n groupConfig.on(\"validated\", this.groupSubscription)\r\n },\r\n _unsubscribeGroup() {\r\n var groupConfig = ValidationEngine.getGroupConfig(this._validationGroup);\r\n groupConfig && groupConfig.off(\"validated\", this.groupSubscription)\r\n },\r\n _getOrderedItems(validators, items) {\r\n var orderedItems = [];\r\n each(validators, (function(_, validator) {\r\n var foundItems = grep(items, (function(item) {\r\n if (item.validator === validator) {\r\n return true\r\n }\r\n }));\r\n if (foundItems.length) {\r\n orderedItems = orderedItems.concat(foundItems)\r\n }\r\n }));\r\n return orderedItems\r\n },\r\n _groupValidationHandler(params) {\r\n var items = this._getOrderedItems(params.validators, map(params.brokenRules, (function(rule) {\r\n return {\r\n text: rule.message,\r\n validator: rule.validator,\r\n index: rule.index\r\n }\r\n })));\r\n this.validators = params.validators;\r\n each(this.validators, (_, validator) => {\r\n if (validator._validationSummary !== this) {\r\n var handler = this._itemValidationHandler.bind(this);\r\n validator.on(\"validated\", handler);\r\n validator.on(\"disposing\", (function() {\r\n validator.off(\"validated\", handler);\r\n validator._validationSummary = null;\r\n handler = null\r\n }));\r\n validator._validationSummary = this\r\n }\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _itemValidationHandler(_ref) {\r\n var {\r\n isValid: isValid,\r\n validator: validator,\r\n brokenRules: brokenRules\r\n } = _ref;\r\n var items = this.option(\"items\");\r\n var itemsChanged = false;\r\n var itemIndex = 0;\r\n var _loop = function() {\r\n var item = items[itemIndex];\r\n if (item.validator === validator) {\r\n var foundRule = grep(brokenRules || [], (function(rule) {\r\n return rule.index === item.index\r\n }))[0];\r\n if (isValid || !foundRule) {\r\n items.splice(itemIndex, 1);\r\n itemsChanged = true;\r\n return \"continue\"\r\n }\r\n if (foundRule.message !== item.text) {\r\n item.text = foundRule.message;\r\n itemsChanged = true\r\n }\r\n }\r\n itemIndex++\r\n };\r\n while (itemIndex < items.length) {\r\n var _ret = _loop();\r\n if (\"continue\" === _ret) {\r\n continue\r\n }\r\n }\r\n each(brokenRules, (function(_, rule) {\r\n var foundItem = grep(items, (function(item) {\r\n return item.validator === validator && item.index === rule.index\r\n }))[0];\r\n if (!foundItem) {\r\n items.push({\r\n text: rule.message,\r\n validator: validator,\r\n index: rule.index\r\n });\r\n itemsChanged = true\r\n }\r\n }));\r\n if (itemsChanged) {\r\n items = this._getOrderedItems(this.validators, items);\r\n this.option(\"items\", items)\r\n }\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(VALIDATION_SUMMARY_CLASS);\r\n this.callBase()\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _itemClass: () => ITEM_CLASS,\r\n _itemDataKey: () => ITEM_DATA_KEY,\r\n _postprocessRenderItem(params) {\r\n eventsEngine.on(params.itemElement, \"click\", (function() {\r\n params.itemData.validator && params.itemData.validator.focus && params.itemData.validator.focus()\r\n }))\r\n },\r\n _dispose() {\r\n this.callBase();\r\n this._unsubscribeGroup()\r\n },\r\n refreshValidationGroup() {\r\n this._initGroupRegistration()\r\n }\r\n});\r\nregisterComponent(\"dxValidationSummary\", ValidationSummary);\r\nexport default ValidationSummary;\r\n","/**\r\n * DevExtreme (esm/ui/validation_group.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport ValidationSummary from \"./validation_summary\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport Validator from \"./validator\";\r\nvar VALIDATION_ENGINE_CLASS = \"dx-validationgroup\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_SUMMARY_CLASS = \"dx-validationsummary\";\r\nclass ValidationGroup extends DOMComponent {\r\n _getDefaultOptions() {\r\n return super._getDefaultOptions()\r\n }\r\n _init() {\r\n super._init();\r\n ValidationEngine.addGroup(this)\r\n }\r\n _initMarkup() {\r\n var $element = this.$element();\r\n $element.addClass(VALIDATION_ENGINE_CLASS);\r\n $element.find(\".\".concat(VALIDATOR_CLASS)).each((function(_, validatorContainer) {\r\n Validator.getInstance($(validatorContainer))._initGroupRegistration()\r\n }));\r\n $element.find(\".\".concat(VALIDATION_SUMMARY_CLASS)).each((function(_, summaryContainer) {\r\n ValidationSummary.getInstance($(summaryContainer)).refreshValidationGroup()\r\n }));\r\n super._initMarkup()\r\n }\r\n validate() {\r\n return ValidationEngine.validateGroup(this)\r\n }\r\n reset() {\r\n return ValidationEngine.resetGroup(this)\r\n }\r\n _dispose() {\r\n ValidationEngine.removeGroup(this);\r\n this.$element().removeClass(VALIDATION_ENGINE_CLASS);\r\n super._dispose()\r\n }\r\n _useTemplates() {\r\n return false\r\n }\r\n}\r\nregisterComponent(\"dxValidationGroup\", ValidationGroup);\r\nexport default ValidationGroup;\r\n","/**\r\n * DevExtreme (esm/ui/form/ui.form.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Guid from \"../../core/guid\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport config from \"../../core/config\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ValidationEngine from \"../validation_engine\";\r\nimport {\r\n default as FormItemsRunTimeInfo\r\n} from \"./ui.form.items_runtime_info\";\r\nimport TabPanel from \"../tab_panel\";\r\nimport Scrollable from \"../scroll_view/ui.scrollable\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nimport tryCreateItemOptionAction from \"./ui.form.item_options_actions\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport \"./ui.form.layout_manager\";\r\nimport {\r\n concatPaths,\r\n createItemPathByIndex,\r\n getFullOptionName,\r\n getOptionNameFromFullName,\r\n tryGetTabPath,\r\n getTextWithoutSpaces,\r\n isEqualToDataFieldOrNameOrTitleOrCaption,\r\n isFullPathContainsTabs,\r\n getItemPath,\r\n convertToLayoutManagerOptions\r\n} from \"./ui.form.utils\";\r\nimport {\r\n convertToLabelMarkOptions\r\n} from \"./ui.form.layout_manager.utils\";\r\nimport {\r\n setLabelWidthByMaxLabelWidth\r\n} from \"./components/label\";\r\nimport \"../validation_summary\";\r\nimport \"../validation_group\";\r\nimport {\r\n FORM_CLASS,\r\n FIELD_ITEM_CLASS,\r\n FORM_GROUP_CLASS,\r\n FORM_GROUP_CONTENT_CLASS,\r\n FIELD_ITEM_CONTENT_HAS_GROUP_CLASS,\r\n FIELD_ITEM_CONTENT_HAS_TABS_CLASS,\r\n FORM_GROUP_WITH_CAPTION_CLASS,\r\n FORM_GROUP_CAPTION_CLASS,\r\n FIELD_ITEM_TAB_CLASS,\r\n FORM_FIELD_ITEM_COL_CLASS,\r\n GROUP_COL_COUNT_CLASS,\r\n GROUP_COL_COUNT_ATTR,\r\n FIELD_ITEM_CONTENT_CLASS,\r\n FORM_VALIDATION_SUMMARY,\r\n ROOT_SIMPLE_ITEM_CLASS,\r\n FORM_UNDERLINED_CLASS\r\n} from \"./constants\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"../toolbar/constants\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar ITEM_OPTIONS_FOR_VALIDATION_UPDATING = [\"items\", \"isRequired\", \"validationRules\", \"visible\"];\r\nvar Form = Widget.inherit({\r\n _init: function() {\r\n this.callBase();\r\n this._cachedColCountOptions = [];\r\n this._itemsRunTimeInfo = new FormItemsRunTimeInfo;\r\n this._groupsColCount = [];\r\n this._attachSyncSubscriptions()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n formID: \"dx-\" + new Guid,\r\n formData: {},\r\n colCount: 1,\r\n screenByWidth: defaultScreenFactorFunc,\r\n colCountByScreen: void 0,\r\n labelLocation: \"left\",\r\n readOnly: false,\r\n onFieldDataChanged: null,\r\n customizeItem: null,\r\n onEditorEnterKey: null,\r\n minColWidth: 200,\r\n alignItemLabels: true,\r\n alignItemLabelsInAllGroups: true,\r\n alignRootItemLabels: true,\r\n showColonAfterLabel: true,\r\n showRequiredMark: true,\r\n showOptionalMark: false,\r\n requiredMark: \"*\",\r\n optionalMark: messageLocalization.format(\"dxForm-optionalMark\"),\r\n requiredMessage: messageLocalization.getFormatter(\"dxForm-requiredMessage\"),\r\n showValidationSummary: false,\r\n items: void 0,\r\n scrollingEnabled: false,\r\n validationGroup: void 0,\r\n stylingMode: config().editorStylingMode,\r\n labelMode: \"outside\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n showColonAfterLabel: false,\r\n labelLocation: \"top\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n formData: true,\r\n validationGroup: true\r\n })\r\n },\r\n _getGroupColCount: function($element) {\r\n return parseInt($element.attr(GROUP_COL_COUNT_ATTR))\r\n },\r\n _applyLabelsWidthByCol: function($container, index) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var labelMarkOptions = arguments.length > 3 ? arguments[3] : void 0;\r\n var fieldItemClass = options.inOneColumn ? FIELD_ITEM_CLASS : FORM_FIELD_ITEM_COL_CLASS + index;\r\n var cssExcludeTabbedSelector = options.excludeTabbed ? \":not(.\".concat(FIELD_ITEM_TAB_CLASS, \")\") : \"\";\r\n setLabelWidthByMaxLabelWidth($container, \".\".concat(fieldItemClass).concat(cssExcludeTabbedSelector), labelMarkOptions);\r\n return\r\n },\r\n _applyLabelsWidth: function($container, excludeTabbed, inOneColumn, colCount, labelMarkOptions) {\r\n colCount = inOneColumn ? 1 : colCount || this._getGroupColCount($container);\r\n var applyLabelsOptions = {\r\n excludeTabbed: excludeTabbed,\r\n inOneColumn: inOneColumn\r\n };\r\n var i;\r\n for (i = 0; i < colCount; i++) {\r\n this._applyLabelsWidthByCol($container, i, applyLabelsOptions, labelMarkOptions)\r\n }\r\n },\r\n _getGroupElementsInColumn: function($container, columnIndex, colCount) {\r\n var cssColCountSelector = isDefined(colCount) ? \".\" + GROUP_COL_COUNT_CLASS + colCount : \"\";\r\n var groupSelector = \".\" + FORM_FIELD_ITEM_COL_CLASS + columnIndex + \" > .\" + FIELD_ITEM_CONTENT_CLASS + \" > .\" + FORM_GROUP_CLASS + cssColCountSelector;\r\n return $container.find(groupSelector)\r\n },\r\n _applyLabelsWidthWithGroups: function($container, colCount, excludeTabbed, labelMarkOptions) {\r\n if (true === this.option(\"alignRootItemLabels\")) {\r\n var $rootSimpleItems = $container.find(\".\".concat(ROOT_SIMPLE_ITEM_CLASS));\r\n for (var colIndex = 0; colIndex < colCount; colIndex++) {\r\n this._applyLabelsWidthByCol($rootSimpleItems, colIndex, excludeTabbed, labelMarkOptions)\r\n }\r\n }\r\n var alignItemLabelsInAllGroups = this.option(\"alignItemLabelsInAllGroups\");\r\n if (alignItemLabelsInAllGroups) {\r\n this._applyLabelsWidthWithNestedGroups($container, colCount, excludeTabbed, labelMarkOptions)\r\n } else {\r\n var $groups = this.$element().find(\".\" + FORM_GROUP_CLASS);\r\n var i;\r\n for (i = 0; i < $groups.length; i++) {\r\n this._applyLabelsWidth($groups.eq(i), excludeTabbed, void 0, void 0, labelMarkOptions)\r\n }\r\n }\r\n },\r\n _applyLabelsWidthWithNestedGroups: function($container, colCount, excludeTabbed, labelMarkOptions) {\r\n var applyLabelsOptions = {\r\n excludeTabbed: excludeTabbed\r\n };\r\n var colIndex;\r\n var groupsColIndex;\r\n var groupColIndex;\r\n var $groupsByCol;\r\n for (colIndex = 0; colIndex < colCount; colIndex++) {\r\n $groupsByCol = this._getGroupElementsInColumn($container, colIndex);\r\n this._applyLabelsWidthByCol($groupsByCol, 0, applyLabelsOptions, labelMarkOptions);\r\n for (groupsColIndex = 0; groupsColIndex < this._groupsColCount.length; groupsColIndex++) {\r\n $groupsByCol = this._getGroupElementsInColumn($container, colIndex, this._groupsColCount[groupsColIndex]);\r\n var groupColCount = this._getGroupColCount($groupsByCol);\r\n for (groupColIndex = 1; groupColIndex < groupColCount; groupColIndex++) {\r\n this._applyLabelsWidthByCol($groupsByCol, groupColIndex, applyLabelsOptions, labelMarkOptions)\r\n }\r\n }\r\n }\r\n },\r\n _labelLocation: function() {\r\n return this.option(\"labelLocation\")\r\n },\r\n _alignLabelsInColumn: function(_ref) {\r\n var {\r\n layoutManager: layoutManager,\r\n inOneColumn: inOneColumn,\r\n $container: $container,\r\n excludeTabbed: excludeTabbed,\r\n items: items\r\n } = _ref;\r\n if (!hasWindow() || \"top\" === this._labelLocation()) {\r\n return\r\n }\r\n var labelMarkOptions = convertToLabelMarkOptions(layoutManager._getMarkOptions());\r\n if (inOneColumn) {\r\n this._applyLabelsWidth($container, excludeTabbed, true, void 0, labelMarkOptions)\r\n } else if (this._checkGrouping(items)) {\r\n this._applyLabelsWidthWithGroups($container, layoutManager._getColCount(), excludeTabbed, labelMarkOptions)\r\n } else {\r\n this._applyLabelsWidth($container, excludeTabbed, false, layoutManager._getColCount(), labelMarkOptions)\r\n }\r\n },\r\n _prepareFormData: function() {\r\n if (!isDefined(this.option(\"formData\"))) {\r\n this.option(\"formData\", {})\r\n }\r\n },\r\n _setStylingModeClass: function() {\r\n if (\"underlined\" === this.option(\"stylingMode\")) {\r\n this.$element().addClass(FORM_UNDERLINED_CLASS)\r\n }\r\n },\r\n _initMarkup: function() {\r\n ValidationEngine.addGroup(this._getValidationGroup());\r\n this._clearCachedInstances();\r\n this._prepareFormData();\r\n this.$element().addClass(FORM_CLASS);\r\n this._setStylingModeClass();\r\n this.callBase();\r\n this.setAria(\"role\", \"form\", this.$element());\r\n if (this.option(\"scrollingEnabled\")) {\r\n this._renderScrollable()\r\n }\r\n this._renderLayout();\r\n this._renderValidationSummary();\r\n this._lastMarkupScreenFactor = this._targetScreenFactor || this._getCurrentScreenFactor();\r\n this._attachResizeObserverSubscription()\r\n },\r\n _attachResizeObserverSubscription: function() {\r\n if (hasWindow()) {\r\n var formRootElement = this.$element().get(0);\r\n resizeObserverSingleton.unobserve(formRootElement);\r\n resizeObserverSingleton.observe(formRootElement, () => {\r\n this._resizeHandler()\r\n })\r\n }\r\n },\r\n _resizeHandler: function() {\r\n if (this._cachedLayoutManagers.length) {\r\n each(this._cachedLayoutManagers, (_, layoutManager) => {\r\n var _layoutManager$option;\r\n null === (_layoutManager$option = layoutManager.option(\"onLayoutChanged\")) || void 0 === _layoutManager$option ? void 0 : _layoutManager$option(layoutManager.isSingleColumnMode())\r\n })\r\n }\r\n },\r\n _getCurrentScreenFactor: function() {\r\n return hasWindow() ? getCurrentScreenFactor(this.option(\"screenByWidth\")) : \"lg\"\r\n },\r\n _clearCachedInstances: function() {\r\n this._itemsRunTimeInfo.clear();\r\n this._cachedLayoutManagers = []\r\n },\r\n _alignLabels: function(layoutManager, inOneColumn) {\r\n this._alignLabelsInColumn({\r\n $container: this.$element(),\r\n layoutManager: layoutManager,\r\n excludeTabbed: true,\r\n items: this.option(\"items\"),\r\n inOneColumn: inOneColumn\r\n });\r\n triggerResizeEvent(this.$element().find(\".\".concat(TOOLBAR_CLASS)))\r\n },\r\n _clean: function() {\r\n this._clearValidationSummary();\r\n this.callBase();\r\n this._groupsColCount = [];\r\n this._cachedColCountOptions = [];\r\n this._lastMarkupScreenFactor = void 0;\r\n resizeObserverSingleton.unobserve(this.$element().get(0))\r\n },\r\n _renderScrollable: function() {\r\n var useNativeScrolling = this.option(\"useNativeScrolling\");\r\n this._scrollable = new Scrollable(this.$element(), {\r\n useNative: !!useNativeScrolling,\r\n useSimulatedScrollbar: !useNativeScrolling,\r\n useKeyboard: false,\r\n direction: \"both\",\r\n bounceEnabled: false\r\n })\r\n },\r\n _getContent: function() {\r\n return this.option(\"scrollingEnabled\") ? $(this._scrollable.content()) : this.$element()\r\n },\r\n _clearValidationSummary: function() {\r\n var _this$_$validationSum;\r\n null === (_this$_$validationSum = this._$validationSummary) || void 0 === _this$_$validationSum ? void 0 : _this$_$validationSum.remove();\r\n this._$validationSummary = void 0;\r\n this._validationSummary = void 0\r\n },\r\n _renderValidationSummary: function() {\r\n this._clearValidationSummary();\r\n if (this.option(\"showValidationSummary\")) {\r\n this._$validationSummary = $(\"<div>\").addClass(FORM_VALIDATION_SUMMARY).appendTo(this._getContent());\r\n this._validationSummary = this._$validationSummary.dxValidationSummary({\r\n validationGroup: this._getValidationGroup()\r\n }).dxValidationSummary(\"instance\")\r\n }\r\n },\r\n _prepareItems(items, parentIsTabbedItem, currentPath, isTabs) {\r\n if (items) {\r\n var result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var path = concatPaths(currentPath, createItemPathByIndex(i, isTabs));\r\n var itemRunTimeInfo = {\r\n item: item,\r\n itemIndex: i,\r\n path: path\r\n };\r\n var guid = this._itemsRunTimeInfo.add(itemRunTimeInfo);\r\n if (isString(item)) {\r\n item = {\r\n dataField: item\r\n }\r\n }\r\n if (isObject(item)) {\r\n var preparedItem = _extends({}, item);\r\n itemRunTimeInfo.preparedItem = preparedItem;\r\n preparedItem.guid = guid;\r\n this._tryPrepareGroupItem(preparedItem);\r\n this._tryPrepareTabbedItem(preparedItem, path);\r\n this._tryPrepareItemTemplate(preparedItem);\r\n if (parentIsTabbedItem) {\r\n preparedItem.cssItemClass = FIELD_ITEM_TAB_CLASS\r\n }\r\n if (preparedItem.items) {\r\n preparedItem.items = this._prepareItems(preparedItem.items, parentIsTabbedItem, path)\r\n }\r\n result.push(preparedItem)\r\n } else {\r\n result.push(item)\r\n }\r\n }\r\n return result\r\n }\r\n },\r\n _tryPrepareGroupItem: function(item) {\r\n if (\"group\" === item.itemType) {\r\n item.alignItemLabels = ensureDefined(item.alignItemLabels, true);\r\n item._prepareGroupItemTemplate = itemTemplate => {\r\n if (item.template) {\r\n item.groupContentTemplate = this._getTemplate(itemTemplate)\r\n }\r\n item.template = this._itemGroupTemplate.bind(this, item)\r\n };\r\n item._prepareGroupItemTemplate(item.template)\r\n }\r\n },\r\n _tryPrepareTabbedItem: function(item, path) {\r\n if (\"tabbed\" === item.itemType) {\r\n item.template = this._itemTabbedTemplate.bind(this, item);\r\n item.tabs = this._prepareItems(item.tabs, true, path, true)\r\n }\r\n },\r\n _tryPrepareItemTemplate: function(item) {\r\n if (item.template) {\r\n item.template = this._getTemplate(item.template)\r\n }\r\n },\r\n _checkGrouping: function(items) {\r\n if (items) {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (\"group\" === item.itemType) {\r\n return true\r\n }\r\n }\r\n }\r\n },\r\n _renderLayout: function() {\r\n var that = this;\r\n var items = that.option(\"items\");\r\n var $content = that._getContent();\r\n items = that._prepareItems(items);\r\n that._rootLayoutManager = that._renderLayoutManager($content, this._createLayoutManagerOptions(items, {\r\n isRoot: true,\r\n colCount: that.option(\"colCount\"),\r\n alignItemLabels: that.option(\"alignItemLabels\"),\r\n screenByWidth: this.option(\"screenByWidth\"),\r\n colCountByScreen: this.option(\"colCountByScreen\"),\r\n onLayoutChanged: function(inOneColumn) {\r\n that._alignLabels.bind(that)(that._rootLayoutManager, inOneColumn)\r\n },\r\n onContentReady: function(e) {\r\n that._alignLabels(e.component, e.component.isSingleColumnMode())\r\n }\r\n }))\r\n },\r\n _tryGetItemsForTemplate: function(item) {\r\n return item.items || []\r\n },\r\n _itemTabbedTemplate: function(item, e, $container) {\r\n var _item$tabs;\r\n var $tabPanel = $(\"<div>\").appendTo($container);\r\n var tabPanelOptions = extend({}, item.tabPanelOptions, {\r\n dataSource: item.tabs,\r\n onItemRendered: args => {\r\n var _item$tabPanelOptions, _item$tabPanelOptions2;\r\n null === (_item$tabPanelOptions = item.tabPanelOptions) || void 0 === _item$tabPanelOptions ? void 0 : null === (_item$tabPanelOptions2 = _item$tabPanelOptions.onItemRendered) || void 0 === _item$tabPanelOptions2 ? void 0 : _item$tabPanelOptions2.call(_item$tabPanelOptions, args);\r\n triggerShownEvent(args.itemElement)\r\n },\r\n itemTemplate: (itemData, e, container) => {\r\n var $container = $(container);\r\n var alignItemLabels = ensureDefined(itemData.alignItemLabels, true);\r\n var layoutManager = this._renderLayoutManager($container, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(itemData), {\r\n colCount: itemData.colCount,\r\n alignItemLabels: alignItemLabels,\r\n screenByWidth: this.option(\"screenByWidth\"),\r\n colCountByScreen: itemData.colCountByScreen,\r\n cssItemClass: itemData.cssItemClass,\r\n onLayoutChanged: inOneColumn => {\r\n this._alignLabelsInColumn({\r\n $container: $container,\r\n layoutManager: layoutManager,\r\n items: itemData.items,\r\n inOneColumn: inOneColumn\r\n })\r\n }\r\n }));\r\n if (this._itemsRunTimeInfo) {\r\n this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(itemData.guid, {\r\n layoutManager: layoutManager\r\n })\r\n }\r\n if (alignItemLabels) {\r\n this._alignLabelsInColumn({\r\n $container: $container,\r\n layoutManager: layoutManager,\r\n items: itemData.items,\r\n inOneColumn: layoutManager.isSingleColumnMode()\r\n })\r\n }\r\n }\r\n });\r\n var tryUpdateTabPanelInstance = (items, instance) => {\r\n if (Array.isArray(items)) {\r\n items.forEach(item => this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n widgetInstance: instance\r\n }))\r\n }\r\n };\r\n var tabPanel = this._createComponent($tabPanel, TabPanel, tabPanelOptions);\r\n $($container).parent().addClass(FIELD_ITEM_CONTENT_HAS_TABS_CLASS);\r\n tabPanel.on(\"optionChanged\", e => {\r\n if (\"dataSource\" === e.fullName) {\r\n tryUpdateTabPanelInstance(e.value, e.component)\r\n }\r\n });\r\n tryUpdateTabPanelInstance([{\r\n guid: item.guid\r\n }, ...null !== (_item$tabs = item.tabs) && void 0 !== _item$tabs ? _item$tabs : []], tabPanel)\r\n },\r\n _itemGroupTemplate: function(item, options, $container) {\r\n var id = options.editorOptions.inputAttr.id;\r\n var $group = $(\"<div>\").toggleClass(FORM_GROUP_WITH_CAPTION_CLASS, isDefined(item.caption) && item.caption.length).addClass(FORM_GROUP_CLASS).appendTo($container);\r\n var groupAria = {\r\n role: \"group\",\r\n labelledby: id\r\n };\r\n this.setAria(groupAria, $group);\r\n $($container).parent().addClass(FIELD_ITEM_CONTENT_HAS_GROUP_CLASS);\r\n if (item.caption) {\r\n $(\"<span>\").addClass(FORM_GROUP_CAPTION_CLASS).text(item.caption).attr(\"id\", id).appendTo($group)\r\n }\r\n var $groupContent = $(\"<div>\").addClass(FORM_GROUP_CONTENT_CLASS).appendTo($group);\r\n if (item.groupContentTemplate) {\r\n item._renderGroupContentTemplate = () => {\r\n $groupContent.empty();\r\n var data = {\r\n formData: this.option(\"formData\"),\r\n component: this\r\n };\r\n item.groupContentTemplate.render({\r\n model: data,\r\n container: getPublicElement($groupContent)\r\n })\r\n };\r\n item._renderGroupContentTemplate()\r\n } else {\r\n var layoutManager = this._renderLayoutManager($groupContent, this._createLayoutManagerOptions(this._tryGetItemsForTemplate(item), {\r\n colCount: item.colCount,\r\n colCountByScreen: item.colCountByScreen,\r\n alignItemLabels: item.alignItemLabels,\r\n cssItemClass: item.cssItemClass\r\n }));\r\n this._itemsRunTimeInfo && this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(item.guid, {\r\n layoutManager: layoutManager\r\n });\r\n var colCount = layoutManager._getColCount();\r\n if (!this._groupsColCount.includes(colCount)) {\r\n this._groupsColCount.push(colCount)\r\n }\r\n $group.addClass(GROUP_COL_COUNT_CLASS + colCount);\r\n $group.attr(GROUP_COL_COUNT_ATTR, colCount)\r\n }\r\n },\r\n _createLayoutManagerOptions: function(items, extendedLayoutManagerOptions) {\r\n return convertToLayoutManagerOptions({\r\n form: this,\r\n formOptions: this.option(),\r\n $formElement: this.$element(),\r\n items: items,\r\n validationGroup: this._getValidationGroup(),\r\n extendedLayoutManagerOptions: extendedLayoutManagerOptions,\r\n onFieldDataChanged: args => {\r\n if (!this._isDataUpdating) {\r\n this._triggerOnFieldDataChanged(args)\r\n }\r\n },\r\n onContentReady: args => {\r\n this._itemsRunTimeInfo.addItemsOrExtendFrom(args.component._itemsRunTimeInfo);\r\n extendedLayoutManagerOptions.onContentReady && extendedLayoutManagerOptions.onContentReady(args)\r\n },\r\n onDisposing: _ref2 => {\r\n var {\r\n component: component\r\n } = _ref2;\r\n var nestedItemsRunTimeInfo = component.getItemsRunTimeInfo();\r\n this._itemsRunTimeInfo.removeItemsByItems(nestedItemsRunTimeInfo)\r\n },\r\n onFieldItemRendered: () => {\r\n var _this$_validationSumm;\r\n null === (_this$_validationSumm = this._validationSummary) || void 0 === _this$_validationSumm ? void 0 : _this$_validationSumm.refreshValidationGroup()\r\n }\r\n })\r\n },\r\n _renderLayoutManager: function($parent, layoutManagerOptions) {\r\n var baseColCountByScreen = {\r\n lg: layoutManagerOptions.colCount,\r\n md: layoutManagerOptions.colCount,\r\n sm: layoutManagerOptions.colCount,\r\n xs: 1\r\n };\r\n this._cachedColCountOptions.push({\r\n colCountByScreen: extend(baseColCountByScreen, layoutManagerOptions.colCountByScreen)\r\n });\r\n var $element = $(\"<div>\");\r\n $element.appendTo($parent);\r\n var instance = this._createComponent($element, \"dxLayoutManager\", layoutManagerOptions);\r\n instance.on(\"autoColCountChanged\", () => {\r\n this._clearAutoColCountChangedTimeout();\r\n this.autoColCountChangedTimeoutId = setTimeout(() => !this._disposed && this._refresh(), 0)\r\n });\r\n this._cachedLayoutManagers.push(instance);\r\n return instance\r\n },\r\n _getValidationGroup: function() {\r\n return this.option(\"validationGroup\") || this\r\n },\r\n _createComponent: function($element, type, config) {\r\n config = config || {};\r\n this._extendConfig(config, {\r\n readOnly: this.option(\"readOnly\")\r\n });\r\n return this.callBase($element, type, config)\r\n },\r\n _attachSyncSubscriptions: function() {\r\n var that = this;\r\n that.on(\"optionChanged\", (function(args) {\r\n var optionFullName = args.fullName;\r\n if (\"formData\" === optionFullName) {\r\n if (!isDefined(args.value)) {\r\n that._options.silent(\"formData\", args.value = {})\r\n }\r\n that._triggerOnFieldDataChangedByDataSet(args.value)\r\n }\r\n if (that._cachedLayoutManagers.length) {\r\n each(that._cachedLayoutManagers, (function(index, layoutManager) {\r\n if (\"formData\" === optionFullName) {\r\n that._isDataUpdating = true;\r\n layoutManager.option(\"layoutData\", args.value);\r\n that._isDataUpdating = false\r\n }\r\n if (\"readOnly\" === args.name || \"disabled\" === args.name) {\r\n layoutManager.option(optionFullName, args.value)\r\n }\r\n }))\r\n }\r\n }))\r\n },\r\n _optionChanged: function(args) {\r\n var splitFullName = args.fullName.split(\".\");\r\n if (splitFullName.length > 1 && -1 !== splitFullName[0].search(\"items\") && this._itemsOptionChangedHandler(args)) {\r\n return\r\n }\r\n if (splitFullName.length > 1 && -1 !== splitFullName[0].search(\"formData\") && this._formDataOptionChangedHandler(args)) {\r\n return\r\n }\r\n this._defaultOptionChangedHandler(args)\r\n },\r\n _defaultOptionChangedHandler: function(args) {\r\n switch (args.name) {\r\n case \"formData\":\r\n if (!this.option(\"items\")) {\r\n this._invalidate()\r\n } else if (isEmptyObject(args.value)) {\r\n this._resetValues()\r\n }\r\n break;\r\n case \"onFieldDataChanged\":\r\n break;\r\n case \"items\":\r\n case \"colCount\":\r\n case \"onEditorEnterKey\":\r\n case \"labelLocation\":\r\n case \"labelMode\":\r\n case \"alignItemLabels\":\r\n case \"showColonAfterLabel\":\r\n case \"customizeItem\":\r\n case \"alignItemLabelsInAllGroups\":\r\n case \"showRequiredMark\":\r\n case \"showOptionalMark\":\r\n case \"requiredMark\":\r\n case \"optionalMark\":\r\n case \"requiredMessage\":\r\n case \"scrollingEnabled\":\r\n case \"formID\":\r\n case \"colCountByScreen\":\r\n case \"screenByWidth\":\r\n case \"stylingMode\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationSummary\":\r\n this._renderValidationSummary();\r\n break;\r\n case \"minColWidth\":\r\n if (\"auto\" === this.option(\"colCount\")) {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"alignRootItemLabels\":\r\n case \"readOnly\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._rootLayoutManager.option(args.name, args.value);\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode());\r\n break;\r\n case \"validationGroup\":\r\n ValidationEngine.removeGroup(args.previousValue || this);\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _itemsOptionChangedHandler: function(args) {\r\n var nameParts = args.fullName.split(\".\");\r\n var value = args.value;\r\n var itemPath = this._getItemPath(nameParts);\r\n var item = this.option(itemPath);\r\n var optionNameWithoutPath = args.fullName.replace(itemPath + \".\", \"\");\r\n var simpleOptionName = optionNameWithoutPath.split(\".\")[0].replace(/\\[\\d+]/, \"\");\r\n var itemAction = this._tryCreateItemOptionAction(simpleOptionName, item, item[simpleOptionName], args.previousValue, itemPath);\r\n var result = this._tryExecuteItemOptionAction(itemAction) || this._tryChangeLayoutManagerItemOption(args.fullName, value);\r\n if (!result && item) {\r\n this._changeItemOption(item, optionNameWithoutPath, value);\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n this.option(\"items\", items);\r\n result = true\r\n }\r\n return result\r\n },\r\n _formDataOptionChangedHandler: function(args) {\r\n var nameParts = args.fullName.split(\".\");\r\n var value = args.value;\r\n var dataField = nameParts.slice(1).join(\".\");\r\n var editor = this.getEditor(dataField);\r\n if (editor) {\r\n editor.option(\"value\", value)\r\n } else {\r\n this._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: value\r\n })\r\n }\r\n return true\r\n },\r\n _tryCreateItemOptionAction: function(optionName, item, value, previousValue, itemPath) {\r\n if (\"tabs\" === optionName) {\r\n this._itemsRunTimeInfo.removeItemsByPathStartWith(\"\".concat(itemPath, \".tabs\"));\r\n value = this._prepareItems(value, true, itemPath, true)\r\n }\r\n return tryCreateItemOptionAction(optionName, {\r\n item: item,\r\n value: value,\r\n previousValue: previousValue,\r\n itemsRunTimeInfo: this._itemsRunTimeInfo\r\n })\r\n },\r\n _tryExecuteItemOptionAction: function(action) {\r\n return action && action.tryExecute()\r\n },\r\n _updateValidationGroupAndSummaryIfNeeded: function(fullName) {\r\n var optionName = getOptionNameFromFullName(fullName);\r\n if (ITEM_OPTIONS_FOR_VALIDATION_UPDATING.indexOf(optionName) > -1) {\r\n ValidationEngine.addGroup(this._getValidationGroup());\r\n if (this.option(\"showValidationSummary\")) {\r\n var _this$_validationSumm2;\r\n null === (_this$_validationSumm2 = this._validationSummary) || void 0 === _this$_validationSumm2 ? void 0 : _this$_validationSumm2.refreshValidationGroup()\r\n }\r\n }\r\n },\r\n _setLayoutManagerItemOption(layoutManager, optionName, value, path) {\r\n if (this._updateLockCount > 0) {\r\n !layoutManager._updateLockCount && layoutManager.beginUpdate();\r\n var key = this._itemsRunTimeInfo.findKeyByPath(path);\r\n this.postponedOperations.add(key, () => {\r\n !layoutManager._disposed && layoutManager.endUpdate();\r\n return (new Deferred).resolve()\r\n })\r\n }\r\n var contentReadyHandler = e => {\r\n e.component.off(\"contentReady\", contentReadyHandler);\r\n if (isFullPathContainsTabs(path)) {\r\n var tabPath = tryGetTabPath(path);\r\n var tabLayoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(tabPath);\r\n if (tabLayoutManager) {\r\n this._alignLabelsInColumn({\r\n items: tabLayoutManager.option(\"items\"),\r\n layoutManager: tabLayoutManager,\r\n $container: tabLayoutManager.$element(),\r\n inOneColumn: tabLayoutManager.isSingleColumnMode()\r\n })\r\n }\r\n } else {\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode())\r\n }\r\n };\r\n layoutManager.on(\"contentReady\", contentReadyHandler);\r\n layoutManager.option(optionName, value);\r\n this._updateValidationGroupAndSummaryIfNeeded(optionName)\r\n },\r\n _tryChangeLayoutManagerItemOption(fullName, value) {\r\n var nameParts = fullName.split(\".\");\r\n var optionName = getOptionNameFromFullName(fullName);\r\n if (\"items\" === optionName && nameParts.length > 1) {\r\n var itemPath = this._getItemPath(nameParts);\r\n var layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(itemPath);\r\n if (layoutManager) {\r\n this._itemsRunTimeInfo.removeItemsByItems(layoutManager.getItemsRunTimeInfo());\r\n var items = this._prepareItems(value, false, itemPath);\r\n this._setLayoutManagerItemOption(layoutManager, optionName, items, itemPath);\r\n return true\r\n }\r\n } else if (nameParts.length > 2) {\r\n var endPartIndex = nameParts.length - 2;\r\n var _itemPath = this._getItemPath(nameParts.slice(0, endPartIndex));\r\n var _layoutManager = this._itemsRunTimeInfo.findGroupOrTabLayoutManagerByPath(_itemPath);\r\n if (_layoutManager) {\r\n var fullOptionName = getFullOptionName(nameParts[endPartIndex], optionName);\r\n if (\"editorType\" === optionName) {\r\n if (_layoutManager.option(fullOptionName) !== value) {\r\n return false\r\n }\r\n }\r\n if (\"visible\" === optionName) {\r\n var formItems = this.option(getFullOptionName(_itemPath, \"items\"));\r\n if (formItems && formItems.length) {\r\n var layoutManagerItems = _layoutManager.option(\"items\");\r\n formItems.forEach((item, index) => {\r\n var layoutItem = layoutManagerItems[index];\r\n layoutItem.visibleIndex = item.visibleIndex\r\n })\r\n }\r\n }\r\n this._setLayoutManagerItemOption(_layoutManager, fullOptionName, value, _itemPath);\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _tryChangeLayoutManagerItemOptions(itemPath, options) {\r\n var result;\r\n this.beginUpdate();\r\n each(options, (optionName, optionValue) => {\r\n result = this._tryChangeLayoutManagerItemOption(getFullOptionName(itemPath, optionName), optionValue);\r\n if (!result) {\r\n return false\r\n }\r\n });\r\n this.endUpdate();\r\n return result\r\n },\r\n _getItemPath: function(nameParts) {\r\n var itemPath = nameParts[0];\r\n var i;\r\n for (i = 1; i < nameParts.length; i++) {\r\n if (-1 !== nameParts[i].search(/items\\[\\d+]|tabs\\[\\d+]/)) {\r\n itemPath += \".\" + nameParts[i]\r\n } else {\r\n break\r\n }\r\n }\r\n return itemPath\r\n },\r\n _triggerOnFieldDataChanged: function(args) {\r\n this._createActionByOption(\"onFieldDataChanged\")(args)\r\n },\r\n _triggerOnFieldDataChangedByDataSet: function(data) {\r\n var that = this;\r\n if (data && isObject(data)) {\r\n each(data, (function(dataField, value) {\r\n that._triggerOnFieldDataChanged({\r\n dataField: dataField,\r\n value: value\r\n })\r\n }))\r\n }\r\n },\r\n _updateFieldValue: function(dataField, value) {\r\n if (isDefined(this.option(\"formData\"))) {\r\n var editor = this.getEditor(dataField);\r\n this.option(\"formData.\" + dataField, value);\r\n if (editor) {\r\n var editorValue = editor.option(\"value\");\r\n if (editorValue !== value) {\r\n editor.option(\"value\", value)\r\n }\r\n }\r\n }\r\n },\r\n _generateItemsFromData: function(items) {\r\n var formData = this.option(\"formData\");\r\n var result = [];\r\n if (!items && isDefined(formData)) {\r\n each(formData, (function(dataField) {\r\n result.push({\r\n dataField: dataField\r\n })\r\n }))\r\n }\r\n if (items) {\r\n each(items, (function(index, item) {\r\n if (isObject(item)) {\r\n result.push(item)\r\n } else {\r\n result.push({\r\n dataField: item\r\n })\r\n }\r\n }))\r\n }\r\n return result\r\n },\r\n _getItemByField: function(field, items) {\r\n var that = this;\r\n var fieldParts = isObject(field) ? field : that._getFieldParts(field);\r\n var fieldName = fieldParts.fieldName;\r\n var fieldPath = fieldParts.fieldPath;\r\n var resultItem;\r\n if (items.length) {\r\n each(items, (function(index, item) {\r\n var itemType = item.itemType;\r\n if (fieldPath.length) {\r\n var path = fieldPath.slice();\r\n item = that._getItemByFieldPath(path, fieldName, item)\r\n } else if (\"group\" === itemType && !(item.caption || item.name) || \"tabbed\" === itemType && !item.name) {\r\n var subItemsField = that._getSubItemField(itemType);\r\n item.items = that._generateItemsFromData(item.items);\r\n item = that._getItemByField({\r\n fieldName: fieldName,\r\n fieldPath: fieldPath\r\n }, item[subItemsField])\r\n }\r\n if (isEqualToDataFieldOrNameOrTitleOrCaption(item, fieldName)) {\r\n resultItem = item;\r\n return false\r\n }\r\n }))\r\n }\r\n return resultItem\r\n },\r\n _getFieldParts: function(field) {\r\n var fieldName = field;\r\n var separatorIndex = fieldName.indexOf(\".\");\r\n var resultPath = [];\r\n while (-1 !== separatorIndex) {\r\n resultPath.push(fieldName.substr(0, separatorIndex));\r\n fieldName = fieldName.substr(separatorIndex + 1);\r\n separatorIndex = fieldName.indexOf(\".\")\r\n }\r\n return {\r\n fieldName: fieldName,\r\n fieldPath: resultPath.reverse()\r\n }\r\n },\r\n _getItemByFieldPath: function(path, fieldName, item) {\r\n var itemType = item.itemType;\r\n var subItemsField = this._getSubItemField(itemType);\r\n var isItemWithSubItems = \"group\" === itemType || \"tabbed\" === itemType || item.title;\r\n var result;\r\n do {\r\n if (isItemWithSubItems) {\r\n var name = item.name || item.caption || item.title;\r\n var isGroupWithName = isDefined(name);\r\n var nameWithoutSpaces = getTextWithoutSpaces(name);\r\n var pathNode = void 0;\r\n item[subItemsField] = this._generateItemsFromData(item[subItemsField]);\r\n if (isGroupWithName) {\r\n pathNode = path.pop()\r\n }\r\n if (!path.length) {\r\n result = this._getItemByField(fieldName, item[subItemsField]);\r\n if (result) {\r\n break\r\n }\r\n }\r\n if (!isGroupWithName || isGroupWithName && nameWithoutSpaces === pathNode) {\r\n if (path.length) {\r\n result = this._searchItemInEverySubItem(path, fieldName, item[subItemsField])\r\n }\r\n }\r\n } else {\r\n break\r\n }\r\n } while (path.length && !isDefined(result));\r\n return result\r\n },\r\n _getSubItemField: function(itemType) {\r\n return \"tabbed\" === itemType ? \"tabs\" : \"items\"\r\n },\r\n _searchItemInEverySubItem: function(path, fieldName, items) {\r\n var that = this;\r\n var result;\r\n each(items, (function(index, groupItem) {\r\n result = that._getItemByFieldPath(path.slice(), fieldName, groupItem);\r\n if (result) {\r\n return false\r\n }\r\n }));\r\n if (!result) {\r\n result = false\r\n }\r\n return result\r\n },\r\n _changeItemOption: function(item, option, value) {\r\n if (isObject(item)) {\r\n item[option] = value\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n var currentScreenFactor = this._getCurrentScreenFactor();\r\n if (this._lastMarkupScreenFactor !== currentScreenFactor) {\r\n if (this._isColCountChanged(this._lastMarkupScreenFactor, currentScreenFactor)) {\r\n this._targetScreenFactor = currentScreenFactor;\r\n this._refresh();\r\n this._targetScreenFactor = void 0\r\n }\r\n this._lastMarkupScreenFactor = currentScreenFactor\r\n }\r\n },\r\n _isColCountChanged: function(oldScreenSize, newScreenSize) {\r\n var isChanged = false;\r\n each(this._cachedColCountOptions, (function(index, item) {\r\n if (item.colCountByScreen[oldScreenSize] !== item.colCountByScreen[newScreenSize]) {\r\n isChanged = true;\r\n return false\r\n }\r\n }));\r\n return isChanged\r\n },\r\n _refresh: function() {\r\n var editorSelector = \".\" + FOCUSED_STATE_CLASS + \" input, .\" + FOCUSED_STATE_CLASS + \" textarea\";\r\n eventsEngine.trigger(this.$element().find(editorSelector), \"change\");\r\n this.callBase()\r\n },\r\n _resetValues: function() {\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if (isDefined(itemRunTimeInfo.widgetInstance) && Editor.isEditor(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.reset();\r\n itemRunTimeInfo.widgetInstance.option(\"isValid\", true)\r\n }\r\n }));\r\n ValidationEngine.resetGroup(this._getValidationGroup())\r\n },\r\n _updateData: function(data, value, isComplexData) {\r\n var that = this;\r\n var _data = isComplexData ? value : data;\r\n if (isObject(_data)) {\r\n each(_data, (function(dataField, fieldValue) {\r\n that._updateData(isComplexData ? data + \".\" + dataField : dataField, fieldValue, isObject(fieldValue))\r\n }))\r\n } else if (isString(data)) {\r\n that._updateFieldValue(data, value)\r\n }\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n this.callBase(key, handler);\r\n this._itemsRunTimeInfo.each((function(_, itemRunTimeInfo) {\r\n if (isDefined(itemRunTimeInfo.widgetInstance)) {\r\n itemRunTimeInfo.widgetInstance.registerKeyHandler(key, handler)\r\n }\r\n }))\r\n },\r\n _focusTarget: function() {\r\n return this.$element().find(\".\" + FIELD_ITEM_CONTENT_CLASS + \" [tabindex]\").first()\r\n },\r\n _visibilityChanged: function() {\r\n this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode())\r\n },\r\n _clearAutoColCountChangedTimeout: function() {\r\n if (this.autoColCountChangedTimeoutId) {\r\n clearTimeout(this.autoColCountChangedTimeoutId);\r\n this.autoColCountChangedTimeoutId = void 0\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearAutoColCountChangedTimeout();\r\n ValidationEngine.removeGroup(this._getValidationGroup());\r\n this.callBase()\r\n },\r\n resetValues: function() {\r\n this._resetValues()\r\n },\r\n updateData: function(data, value) {\r\n this._updateData(data, value)\r\n },\r\n getEditor: function(dataField) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByDataField(dataField) || this._itemsRunTimeInfo.findWidgetInstanceByName(dataField)\r\n },\r\n getButton: function(name) {\r\n return this._itemsRunTimeInfo.findWidgetInstanceByName(name)\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollable) {\r\n that._scrollable.update().done((function() {\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n itemOption: function(id, option, value) {\r\n var items = this._generateItemsFromData(this.option(\"items\"));\r\n var item = this._getItemByField(id, items);\r\n var path = getItemPath(items, item);\r\n if (!item) {\r\n return\r\n }\r\n switch (arguments.length) {\r\n case 1:\r\n return item;\r\n case 3:\r\n var itemAction = this._tryCreateItemOptionAction(option, item, value, item[option], path);\r\n this._changeItemOption(item, option, value);\r\n var fullName = getFullOptionName(path, option);\r\n if (!this._tryExecuteItemOptionAction(itemAction) && !this._tryChangeLayoutManagerItemOption(fullName, value)) {\r\n this.option(\"items\", items)\r\n }\r\n break;\r\n default:\r\n if (isObject(option)) {\r\n if (!this._tryChangeLayoutManagerItemOptions(path, option)) {\r\n var allowUpdateItems;\r\n each(option, (optionName, optionValue) => {\r\n var itemAction = this._tryCreateItemOptionAction(optionName, item, optionValue, item[optionName], path);\r\n this._changeItemOption(item, optionName, optionValue);\r\n if (!allowUpdateItems && !this._tryExecuteItemOptionAction(itemAction)) {\r\n allowUpdateItems = true\r\n }\r\n });\r\n allowUpdateItems && this.option(\"items\", items)\r\n }\r\n }\r\n }\r\n },\r\n validate: function() {\r\n return ValidationEngine.validateGroup(this._getValidationGroup())\r\n },\r\n getItemID: function(name) {\r\n return \"dx_\" + this.option(\"formID\") + \"_\" + (name || new Guid)\r\n },\r\n getTargetScreenFactor: function() {\r\n return this._targetScreenFactor\r\n }\r\n});\r\nregisterComponent(\"dxForm\", Form);\r\nexport default Form;\r\n","/**\r\n * DevExtreme (esm/ui/form.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Form from \"./form/ui.form\";\r\nexport default Form;\r\n","/**\r\n * DevExtreme (esm/ui/radio_group/radio_button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nvar RADIO_BUTTON_CLASS = \"dx-radiobutton\";\r\nvar RADIO_BUTTON_ICON_CLASS = \"dx-radiobutton-icon\";\r\nvar RADIO_BUTTON_ICON_DOT_CLASS = \"dx-radiobutton-icon-dot\";\r\nvar RADIO_BUTTON_CHECKED_CLASS = \"dx-radiobutton-checked\";\r\nvar RADIO_BUTTON_ICON_CHECKED_CLASS = \"dx-radiobutton-icon-checked\";\r\nvar RadioButton = Editor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n space: function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false\r\n })\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RADIO_BUTTON_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderIcon();\r\n this._renderCheckedState(this.option(\"value\"));\r\n this._renderClick();\r\n this.setAria(\"role\", \"radio\")\r\n },\r\n _renderIcon: function() {\r\n this._$icon = $(\"<div>\").addClass(RADIO_BUTTON_ICON_CLASS);\r\n $(\"<div>\").addClass(RADIO_BUTTON_ICON_DOT_CLASS).appendTo(this._$icon);\r\n this.$element().append(this._$icon)\r\n },\r\n _renderCheckedState: function(checked) {\r\n this.$element().toggleClass(RADIO_BUTTON_CHECKED_CLASS, checked).find(\".\" + RADIO_BUTTON_ICON_CLASS).toggleClass(RADIO_BUTTON_ICON_CHECKED_CLASS, checked);\r\n this.setAria(\"checked\", checked)\r\n },\r\n _renderClick: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n this._clickAction = this._createAction(function(args) {\r\n this._clickHandler(args.event)\r\n }.bind(this));\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, function(e) {\r\n this._clickAction({\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _clickHandler: function(e) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._renderCheckedState(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxRadioButton\", RadioButton);\r\nexport default RadioButton;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n start as swipeEventStart,\r\n swipe as swipeEventSwipe,\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar LIST_EDIT_DECORATOR = \"dxListEditDecorator\";\r\nvar SWIPE_START_EVENT_NAME = addNamespace(swipeEventStart, LIST_EDIT_DECORATOR);\r\nvar SWIPE_UPDATE_EVENT_NAME = addNamespace(swipeEventSwipe, LIST_EDIT_DECORATOR);\r\nvar SWIPE_END_EVENT_NAME = addNamespace(swipeEventEnd, LIST_EDIT_DECORATOR);\r\nvar EditDecorator = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._init()\r\n },\r\n _init: noop,\r\n _shouldHandleSwipe: false,\r\n _attachSwipeEvent: function(config) {\r\n var swipeConfig = {\r\n itemSizeFunc: function() {\r\n if (this._clearSwipeCache) {\r\n this._itemWidthCache = getWidth(this._list.$element());\r\n this._clearSwipeCache = false\r\n }\r\n return this._itemWidthCache\r\n }.bind(this)\r\n };\r\n eventsEngine.on(config.$itemElement, SWIPE_START_EVENT_NAME, swipeConfig, this._itemSwipeStartHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_UPDATE_EVENT_NAME, this._itemSwipeUpdateHandler.bind(this));\r\n eventsEngine.on(config.$itemElement, SWIPE_END_EVENT_NAME, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeStartHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n clearTimeout(this._list._inkRippleTimer);\r\n this._swipeStartHandler($itemElement, e)\r\n },\r\n _itemSwipeUpdateHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeUpdateHandler($itemElement, e)\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n var $itemElement = $(e.currentTarget);\r\n this._swipeEndHandler($itemElement, e);\r\n this._clearSwipeCache = true\r\n },\r\n beforeBag: noop,\r\n afterBag: noop,\r\n _commonOptions: function() {\r\n return {\r\n activeStateEnabled: this._list.option(\"activeStateEnabled\"),\r\n hoverStateEnabled: this._list.option(\"hoverStateEnabled\"),\r\n focusStateEnabled: this._list.option(\"focusStateEnabled\")\r\n }\r\n },\r\n modifyElement: function(config) {\r\n if (this._shouldHandleSwipe) {\r\n this._attachSwipeEvent(config);\r\n this._clearSwipeCache = true\r\n }\r\n },\r\n afterRender: noop,\r\n handleClick: noop,\r\n handleKeyboardEvents: noop,\r\n handleEnterPressing: noop,\r\n handleContextMenu: noop,\r\n _swipeStartHandler: noop,\r\n _swipeUpdateHandler: noop,\r\n _swipeEndHandler: noop,\r\n visibilityChange: noop,\r\n getExcludedSelectors: noop,\r\n dispose: noop\r\n});\r\nexport default EditDecorator;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator.selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport CheckBox from \"../check_box\";\r\nimport RadioButton from \"../radio_group/radio_button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n register as registerDecorator\r\n} from \"./ui.list.edit.decorator_registry\";\r\nimport EditDecorator from \"./ui.list.edit.decorator\";\r\nvar SELECT_DECORATOR_ENABLED_CLASS = \"dx-list-select-decorator-enabled\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CLASS = \"dx-list-select-all\";\r\nvar SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS = \"dx-list-select-all-checkbox\";\r\nvar SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS = \"dx-list-select-all-label\";\r\nvar SELECT_CHECKBOX_CONTAINER_CLASS = \"dx-list-select-checkbox-container\";\r\nvar SELECT_CHECKBOX_CLASS = \"dx-list-select-checkbox\";\r\nvar SELECT_RADIO_BUTTON_CONTAINER_CLASS = \"dx-list-select-radiobutton-container\";\r\nvar SELECT_RADIO_BUTTON_CLASS = \"dx-list-select-radiobutton\";\r\nvar FOCUSED_STATE_CLASS = \"dx-state-focused\";\r\nvar CLICK_EVENT_NAME = addNamespace(clickEventName, \"dxListEditDecorator\");\r\nregisterDecorator(\"selection\", \"default\", EditDecorator.inherit({\r\n _init: function() {\r\n this.callBase.apply(this, arguments);\r\n var selectionMode = this._list.option(\"selectionMode\");\r\n this._singleStrategy = \"single\" === selectionMode;\r\n this._containerClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CONTAINER_CLASS : SELECT_CHECKBOX_CONTAINER_CLASS;\r\n this._controlClass = this._singleStrategy ? SELECT_RADIO_BUTTON_CLASS : SELECT_CHECKBOX_CLASS;\r\n this._controlWidget = this._singleStrategy ? RadioButton : CheckBox;\r\n this._list.$element().addClass(SELECT_DECORATOR_ENABLED_CLASS)\r\n },\r\n beforeBag: function(config) {\r\n var $itemElement = config.$itemElement;\r\n var $container = config.$container.addClass(this._containerClass);\r\n var $control = $(\"<div>\").addClass(this._controlClass).appendTo($container);\r\n new this._controlWidget($control, extend(this._commonOptions(), {\r\n value: this._isSelected($itemElement),\r\n elementAttr: {\r\n \"aria-label\": \"Check State\"\r\n },\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false,\r\n onValueChanged: function(e) {\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n this._processCheckedState($itemElement, e.value);\r\n e.event && e.event.stopPropagation()\r\n }.bind(this)\r\n }))\r\n },\r\n modifyElement: function(config) {\r\n this.callBase.apply(this, arguments);\r\n var $itemElement = config.$itemElement;\r\n var control = this._controlWidget.getInstance($itemElement.find(\".\" + this._controlClass));\r\n eventsEngine.on($itemElement, \"stateChanged\", function(e, state) {\r\n control.option(\"value\", state)\r\n }.bind(this))\r\n },\r\n _updateSelectAllState: function() {\r\n if (!this._$selectAll) {\r\n return\r\n }\r\n this._selectAllCheckBox.option(\"value\", this._list.isSelectAll())\r\n },\r\n afterRender: function() {\r\n if (\"all\" !== this._list.option(\"selectionMode\")) {\r\n return\r\n }\r\n if (!this._$selectAll) {\r\n this._renderSelectAll()\r\n } else {\r\n this._updateSelectAllState()\r\n }\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n var moveFocusDown = !moveFocusUp;\r\n var list = this._list;\r\n var $selectAll = this._$selectAll;\r\n var lastItemIndex = list._getLastItemIndex();\r\n var isFocusOutOfList = moveFocusUp && 0 === currentFocusedIndex || moveFocusDown && currentFocusedIndex === lastItemIndex;\r\n var hasSelectAllItem = !!$selectAll;\r\n if (hasSelectAllItem && isFocusOutOfList) {\r\n list.option(\"focusedElement\", $selectAll);\r\n list.scrollToItem(list.option(\"focusedElement\"));\r\n return true\r\n }\r\n return false\r\n },\r\n handleEnterPressing: function(e) {\r\n if (this._$selectAll && this._$selectAll.hasClass(FOCUSED_STATE_CLASS)) {\r\n e.target = this._$selectAll.get(0);\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"));\r\n return true\r\n }\r\n },\r\n _renderSelectAll: function() {\r\n var $selectAll = this._$selectAll = $(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CLASS);\r\n var list = this._list;\r\n var downArrowHandler = list._supportedKeys().downArrow.bind(list);\r\n this._selectAllCheckBox = list._createComponent($(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_CHECKBOX_CLASS).appendTo($selectAll), CheckBox, {\r\n elementAttr: {\r\n \"aria-label\": \"Select All\"\r\n },\r\n focusStateEnabled: false,\r\n hoverStateEnabled: false\r\n });\r\n this._selectAllCheckBox.registerKeyHandler(\"downArrow\", downArrowHandler);\r\n $(\"<div>\").addClass(SELECT_DECORATOR_SELECT_ALL_LABEL_CLASS).text(this._list.option(\"selectAllText\")).appendTo($selectAll);\r\n this._list.itemsContainer().prepend($selectAll);\r\n this._updateSelectAllState();\r\n this._attachSelectAllHandler()\r\n },\r\n _attachSelectAllHandler: function() {\r\n this._selectAllCheckBox.option(\"onValueChanged\", this._selectAllHandler.bind(this));\r\n eventsEngine.off(this._$selectAll, CLICK_EVENT_NAME);\r\n eventsEngine.on(this._$selectAll, CLICK_EVENT_NAME, this._selectAllClickHandler.bind(this))\r\n },\r\n _selectAllHandler: function(e) {\r\n e.event && e.event.stopPropagation();\r\n var isSelectedAll = this._selectAllCheckBox.option(\"value\");\r\n e.event && this._list._saveSelectionChangeEvent(e.event);\r\n if (true === isSelectedAll) {\r\n this._selectAllItems()\r\n } else if (false === isSelectedAll) {\r\n this._unselectAllItems()\r\n }\r\n this._list._createActionByOption(\"onSelectAllValueChanged\")({\r\n value: isSelectedAll\r\n })\r\n },\r\n _checkSelectAllCapability: function() {\r\n var list = this._list;\r\n var dataController = list._dataController;\r\n if (\"allPages\" === list.option(\"selectAllMode\") && list.option(\"grouped\") && !dataController.group()) {\r\n errors.log(\"W1010\");\r\n return false\r\n }\r\n return true\r\n },\r\n _selectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.selectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _unselectAllItems: function() {\r\n if (!this._checkSelectAllCapability()) {\r\n return\r\n }\r\n this._list._selection.deselectAll(\"page\" === this._list.option(\"selectAllMode\"))\r\n },\r\n _selectAllClickHandler: function(e) {\r\n this._list._saveSelectionChangeEvent(e);\r\n this._selectAllCheckBox.option(\"value\", !this._selectAllCheckBox.option(\"value\"))\r\n },\r\n _isSelected: function($itemElement) {\r\n return this._list.isItemSelected($itemElement)\r\n },\r\n _processCheckedState: function($itemElement, checked) {\r\n if (checked) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n },\r\n dispose: function() {\r\n this._disposeSelectAll();\r\n this._list.$element().removeClass(SELECT_DECORATOR_ENABLED_CLASS);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _disposeSelectAll: function() {\r\n if (this._$selectAll) {\r\n this._$selectAll.remove();\r\n this._$selectAll = null\r\n }\r\n }\r\n}));\r\n","/**\r\n * DevExtreme (esm/ui/list/item.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport CollectionWidgetItem from \"../collection/item\";\r\nvar LIST_ITEM_BADGE_CONTAINER_CLASS = \"dx-list-item-badge-container\";\r\nvar LIST_ITEM_BADGE_CLASS = \"dx-list-item-badge\";\r\nvar BADGE_CLASS = \"dx-badge\";\r\nvar LIST_ITEM_CHEVRON_CONTAINER_CLASS = \"dx-list-item-chevron-container\";\r\nvar LIST_ITEM_CHEVRON_CLASS = \"dx-list-item-chevron\";\r\nvar ListItem = CollectionWidgetItem.inherit({\r\n _renderWatchers: function() {\r\n this.callBase();\r\n this._startWatcher(\"badge\", this._renderBadge.bind(this));\r\n this._startWatcher(\"showChevron\", this._renderShowChevron.bind(this))\r\n },\r\n _renderBadge: function(badge) {\r\n this._$element.children(\".\" + LIST_ITEM_BADGE_CONTAINER_CLASS).remove();\r\n if (!badge) {\r\n return\r\n }\r\n var $badge = $(\"<div>\").addClass(LIST_ITEM_BADGE_CONTAINER_CLASS).append($(\"<div>\").addClass(LIST_ITEM_BADGE_CLASS).addClass(BADGE_CLASS).text(badge));\r\n var $chevron = this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).first();\r\n $chevron.length > 0 ? $badge.insertBefore($chevron) : $badge.appendTo(this._$element)\r\n },\r\n _renderShowChevron: function(showChevron) {\r\n this._$element.children(\".\" + LIST_ITEM_CHEVRON_CONTAINER_CLASS).remove();\r\n if (!showChevron) {\r\n return\r\n }\r\n var $chevronContainer = $(\"<div>\").addClass(LIST_ITEM_CHEVRON_CONTAINER_CLASS);\r\n var $chevron = $(\"<div>\").addClass(LIST_ITEM_CHEVRON_CLASS);\r\n $chevronContainer.append($chevron).appendTo(this._$element)\r\n }\r\n});\r\nexport default ListItem;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_style.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../../../core/utils/window\";\r\nimport {\r\n toNumber\r\n} from \"../../../utils/type_conversion\";\r\nexport function getElementStyle(el) {\r\n var _getWindow$getCompute, _getWindow;\r\n return el && hasWindow() ? null === (_getWindow$getCompute = (_getWindow = getWindow()).getComputedStyle) || void 0 === _getWindow$getCompute ? void 0 : _getWindow$getCompute.call(_getWindow, el) : null\r\n}\r\nexport function getElementMargin(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"margin\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementPadding(element, side) {\r\n var style = getElementStyle(element);\r\n return style ? toNumber(style[\"padding\".concat(titleize(side))]) : 0\r\n}\r\nexport function getElementOverflowX(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowX : \"visible\"\r\n}\r\nexport function getElementOverflowY(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.overflowY : \"visible\"\r\n}\r\nexport function getElementTransform(element) {\r\n var style = getElementStyle(element);\r\n return style ? style.transform : \"\"\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n setHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getImageContainer\r\n} from \"../../core/utils/icon\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n compileGetter\r\n} from \"../../core/utils/data\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../events/click\";\r\nimport {\r\n end as swipeEventEnd\r\n} from \"../../events/swipe\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n render\r\n} from \"../widget/utils.ink_ripple\";\r\nimport devices from \"../../core/devices\";\r\nimport ListItem from \"./item\";\r\nimport Button from \"../button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport ScrollView from \"../scroll_view\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"../scroll_view/ui.scrollable.device\";\r\nimport CollectionWidget from \"../collection/ui.collection_widget.live_update\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nimport {\r\n getElementMargin\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_style\";\r\nimport Guid from \"../../core/guid\";\r\nvar LIST_CLASS = \"dx-list\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_ITEM_SELECTOR = \".\" + LIST_ITEM_CLASS;\r\nvar LIST_ITEM_ICON_CONTAINER_CLASS = \"dx-list-item-icon-container\";\r\nvar LIST_ITEM_ICON_CLASS = \"dx-list-item-icon\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar LIST_GROUP_HEADER_CLASS = \"dx-list-group-header\";\r\nvar LIST_GROUP_BODY_CLASS = \"dx-list-group-body\";\r\nvar LIST_COLLAPSIBLE_GROUPS_CLASS = \"dx-list-collapsible-groups\";\r\nvar LIST_GROUP_COLLAPSED_CLASS = \"dx-list-group-collapsed\";\r\nvar LIST_GROUP_HEADER_INDICATOR_CLASS = \"dx-list-group-header-indicator\";\r\nvar LIST_HAS_NEXT_CLASS = \"dx-has-next\";\r\nvar LIST_NEXT_BUTTON_CLASS = \"dx-list-next-button\";\r\nvar WRAP_ITEM_TEXT_CLASS = \"dx-wrap-item-text\";\r\nvar SELECT_ALL_ITEM_SELECTOR = \".dx-list-select-all\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar LIST_FEEDBACK_SHOW_TIMEOUT = 70;\r\nvar groupItemsGetter = compileGetter(\"items\");\r\nvar _scrollView;\r\nexport var ListBase = CollectionWidget.inherit({\r\n _activeStateUnit: [LIST_ITEM_SELECTOR, SELECT_ALL_ITEM_SELECTOR].join(\",\"),\r\n _supportedKeys: function() {\r\n var that = this;\r\n var moveFocusPerPage = function(direction) {\r\n var $item = getEdgeVisibleItem(direction);\r\n var isFocusedItem = $item.is(that.option(\"focusedElement\"));\r\n if (isFocusedItem) {\r\n ! function($item, direction) {\r\n var resultPosition = $item.position().top;\r\n if (\"prev\" === direction) {\r\n resultPosition = $item.position().top - getHeight(that.$element()) + getOuterHeight($item)\r\n }\r\n that.scrollTo(resultPosition)\r\n }($item, direction);\r\n $item = getEdgeVisibleItem(direction)\r\n }\r\n that.option(\"focusedElement\", getPublicElement($item));\r\n that.scrollToItem($item)\r\n };\r\n\r\n function getEdgeVisibleItem(direction) {\r\n var scrollTop = that.scrollTop();\r\n var containerHeight = getHeight(that.$element());\r\n var $item = $(that.option(\"focusedElement\"));\r\n var isItemVisible = true;\r\n if (!$item.length) {\r\n return $()\r\n }\r\n while (isItemVisible) {\r\n var $nextItem = $item[direction]();\r\n if (!$nextItem.length) {\r\n break\r\n }\r\n var nextItemLocation = $nextItem.position().top + getOuterHeight($nextItem) / 2;\r\n isItemVisible = nextItemLocation < containerHeight + scrollTop && nextItemLocation > scrollTop;\r\n if (isItemVisible) {\r\n $item = $nextItem\r\n }\r\n }\r\n return $item\r\n }\r\n return extend(this.callBase(), {\r\n leftArrow: noop,\r\n rightArrow: noop,\r\n pageUp: function() {\r\n moveFocusPerPage(\"prev\");\r\n return false\r\n },\r\n pageDown: function() {\r\n moveFocusPerPage(\"next\");\r\n return false\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n pullRefreshEnabled: false,\r\n scrollingEnabled: true,\r\n selectByClick: true,\r\n showScrollbar: \"onScroll\",\r\n useNativeScrolling: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n pullingDownText: messageLocalization.format(\"dxList-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxList-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxList-refreshingText\"),\r\n pageLoadingText: messageLocalization.format(\"dxList-pageLoadingText\"),\r\n onScroll: null,\r\n onPullRefresh: null,\r\n onPageLoading: null,\r\n pageLoadMode: \"scrollBottom\",\r\n nextButtonText: messageLocalization.format(\"dxList-nextButtonText\"),\r\n onItemSwipe: null,\r\n grouped: false,\r\n onGroupRendered: null,\r\n collapsibleGroups: false,\r\n groupTemplate: \"group\",\r\n indicateLoading: true,\r\n activeStateEnabled: true,\r\n _itemAttributes: {\r\n role: \"option\"\r\n },\r\n useInkRipple: false,\r\n wrapItemText: false,\r\n _swipeEnabled: true,\r\n showChevronExpr: function(data) {\r\n return data ? data.showChevron : void 0\r\n },\r\n badgeExpr: function(data) {\r\n return data ? data.badge : void 0\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNativeScrolling: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !nativeScrolling && !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n showScrollbar: \"onHover\",\r\n pageLoadMode: \"nextButton\"\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n pageLoadingText: \"\",\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateLoadingState(true)\r\n }\r\n },\r\n _itemClass: function() {\r\n return LIST_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return LIST_ITEM_DATA_KEY\r\n },\r\n _itemContainer: function() {\r\n return this._$container\r\n },\r\n _saveSelectionChangeEvent: function(e) {\r\n this._selectionChangeEventInstance = e\r\n },\r\n _getSelectionChangeEvent: function() {\r\n return this._selectionChangeEventInstance\r\n },\r\n _refreshItemElements: function() {\r\n if (!this.option(\"grouped\")) {\r\n this._itemElementsCache = this._itemContainer().children(this._itemSelector())\r\n } else {\r\n this._itemElementsCache = this._itemContainer().children(\".\" + LIST_GROUP_CLASS).children(\".\" + LIST_GROUP_BODY_CLASS).children(this._itemSelector())\r\n }\r\n },\r\n _modifyByChanges: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var promise = this.callBase(itemElement, toItemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n deleteItem: function(itemElement) {\r\n var promise = this.callBase(itemElement);\r\n return promise.done((function() {\r\n this._refreshItemElements()\r\n }))\r\n },\r\n _itemElements: function() {\r\n return this._itemElementsCache\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (\"single\" === this.option(\"selectionMode\") && this.isItemSelected(e.currentTarget)) {\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return true\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._dataController.resetDataSourcePageIndex();\r\n this._$container = this.$element();\r\n this._initScrollView();\r\n this._feedbackShowTimeout = LIST_FEEDBACK_SHOW_TIMEOUT;\r\n this._createGroupRenderAction()\r\n },\r\n _scrollBottomMode: function() {\r\n return \"scrollBottom\" === this.option(\"pageLoadMode\")\r\n },\r\n _nextButtonMode: function() {\r\n return \"nextButton\" === this.option(\"pageLoadMode\")\r\n },\r\n _dataSourceOptions: function() {\r\n var scrollBottom = this._scrollBottomMode();\r\n var nextButton = this._nextButtonMode();\r\n return extend(this.callBase(), {\r\n paginate: ensureDefined(scrollBottom || nextButton, true)\r\n })\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _getGroupContainerByIndex: function(groupIndex) {\r\n return this._itemContainer().find(\".\".concat(LIST_GROUP_CLASS)).eq(groupIndex).find(\".\".concat(LIST_GROUP_BODY_CLASS))\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _initScrollView: function() {\r\n var scrollingEnabled = this.option(\"scrollingEnabled\");\r\n var pullRefreshEnabled = scrollingEnabled && this.option(\"pullRefreshEnabled\");\r\n var autoPagingEnabled = scrollingEnabled && this._scrollBottomMode() && !!this._dataController.getDataSource();\r\n this._scrollView = this._createComponent(this.$element(), getScrollView(), {\r\n height: this.option(\"height\"),\r\n width: this.option(\"width\"),\r\n disabled: this.option(\"disabled\") || !scrollingEnabled,\r\n onScroll: this._scrollHandler.bind(this),\r\n onPullDown: pullRefreshEnabled ? this._pullDownHandler.bind(this) : null,\r\n onReachBottom: autoPagingEnabled ? this._scrollBottomHandler.bind(this) : null,\r\n showScrollbar: this.option(\"showScrollbar\"),\r\n useNative: this.option(\"useNativeScrolling\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n scrollByContent: this.option(\"scrollByContent\"),\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n pullingDownText: this.option(\"pullingDownText\"),\r\n pulledDownText: this.option(\"pulledDownText\"),\r\n refreshingText: this.option(\"refreshingText\"),\r\n reachBottomText: this.option(\"pageLoadingText\"),\r\n useKeyboard: false\r\n });\r\n this._$container = $(this._scrollView.content());\r\n if (this.option(\"wrapItemText\")) {\r\n this._$container.addClass(WRAP_ITEM_TEXT_CLASS)\r\n }\r\n this._createScrollViewActions()\r\n },\r\n _createScrollViewActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._pullRefreshAction = this._createActionByOption(\"onPullRefresh\");\r\n this._pageLoadingAction = this._createActionByOption(\"onPageLoading\")\r\n },\r\n _scrollHandler: function(e) {\r\n this._scrollAction && this._scrollAction(e)\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n group: new BindableTemplate((function($container, data) {\r\n if (isPlainObject(data)) {\r\n if (data.key) {\r\n $container.text(data.key)\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n }), [\"key\"], this.option(\"integrationOptions.watchMethod\"))\r\n });\r\n this.callBase()\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n this.callBase(data, $container);\r\n if (data.icon) {\r\n var $icon = getImageContainer(data.icon).addClass(LIST_ITEM_ICON_CLASS);\r\n var $iconContainer = $(\"<div>\").addClass(LIST_ITEM_ICON_CONTAINER_CLASS);\r\n $iconContainer.append($icon);\r\n $container.prepend($iconContainer)\r\n }\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\", \"icon\"]\r\n },\r\n _updateLoadingState: function(tryLoadMore) {\r\n var dataController = this._dataController;\r\n var shouldLoadNextPage = this._scrollBottomMode() && tryLoadMore && !dataController.isLoading() && !this._isLastPage();\r\n if (this._shouldContinueLoading(shouldLoadNextPage)) {\r\n this._infiniteDataLoading()\r\n } else {\r\n this._scrollView.release(!shouldLoadNextPage && !dataController.isLoading());\r\n this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage());\r\n this._loadIndicationSuppressed(false)\r\n }\r\n },\r\n _shouldRenderNextButton: function() {\r\n return this._nextButtonMode() && this._dataController.isLoaded()\r\n },\r\n _isDataSourceFirstLoadCompleted: function(newValue) {\r\n if (isDefined(newValue)) {\r\n this._isFirstLoadCompleted = newValue\r\n }\r\n return this._isFirstLoadCompleted\r\n },\r\n _dataSourceLoadingChangedHandler: function(isLoading) {\r\n if (this._loadIndicationSuppressed()) {\r\n return\r\n }\r\n if (isLoading && this.option(\"indicateLoading\")) {\r\n this._showLoadingIndicatorTimer = setTimeout(function() {\r\n var isEmpty = !this._itemElements().length;\r\n var shouldIndicateLoading = !isEmpty || this._isDataSourceFirstLoadCompleted();\r\n if (shouldIndicateLoading) {\r\n var _this$_scrollView;\r\n null === (_this$_scrollView = this._scrollView) || void 0 === _this$_scrollView ? void 0 : _this$_scrollView.startLoading()\r\n }\r\n }.bind(this))\r\n } else {\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this._scrollView && this._scrollView.finishLoading()\r\n }\r\n if (!isLoading) {\r\n this._isDataSourceFirstLoadCompleted(false)\r\n }\r\n },\r\n _dataSourceChangedHandler: function() {\r\n if (!this._shouldAppendItems() && hasWindow()) {\r\n this._scrollView && this._scrollView.scrollTo(0)\r\n }\r\n this.callBase.apply(this, arguments);\r\n this._isDataSourceFirstLoadCompleted(true)\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._fireContentReadyAction()\r\n },\r\n _hideLoadingIfLoadIndicationOff: function() {\r\n if (!this.option(\"indicateLoading\")) {\r\n this._dataSourceLoadingChangedHandler(false)\r\n }\r\n },\r\n _loadIndicationSuppressed: function(value) {\r\n if (!arguments.length) {\r\n return this._isLoadIndicationSuppressed\r\n }\r\n this._isLoadIndicationSuppressed = value\r\n },\r\n _scrollViewIsFull: function() {\r\n var scrollView = this._scrollView;\r\n return !scrollView || getHeight(scrollView.content()) > getHeight(scrollView.container())\r\n },\r\n _pullDownHandler: function(e) {\r\n this._pullRefreshAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._clearSelectedItems();\r\n dataController.pageIndex(0);\r\n dataController.reload()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _shouldContinueLoading: function(shouldLoadNextPage) {\r\n var _this$_scrollView$scr, _this$_scrollView$scr2;\r\n var isBottomReached = getHeight(this._scrollView.content()) - getHeight(this._scrollView.container()) < (null !== (_this$_scrollView$scr = null === (_this$_scrollView$scr2 = this._scrollView.scrollOffset()) || void 0 === _this$_scrollView$scr2 ? void 0 : _this$_scrollView$scr2.top) && void 0 !== _this$_scrollView$scr ? _this$_scrollView$scr : 0);\r\n return shouldLoadNextPage && (!this._scrollViewIsFull() || isBottomReached)\r\n },\r\n _infiniteDataLoading: function() {\r\n var isElementVisible = this.$element().is(\":visible\");\r\n if (isElementVisible) {\r\n clearTimeout(this._loadNextPageTimer);\r\n this._loadNextPageTimer = setTimeout(() => {\r\n this._loadNextPage()\r\n })\r\n }\r\n },\r\n _scrollBottomHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (!dataController.isLoading() && !this._isLastPage()) {\r\n this._loadNextPage()\r\n } else {\r\n this._updateLoadingState()\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (this.option(\"grouped\")) {\r\n each(items, this._renderGroup.bind(this));\r\n this._attachGroupCollapseEvent();\r\n this._renderEmptyMessage();\r\n if (isMaterial()) {\r\n this.attachGroupHeaderInkRippleEvents()\r\n }\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n this._refreshItemElements();\r\n this._updateLoadingState(true)\r\n },\r\n _attachGroupCollapseEvent: function() {\r\n var eventName = addNamespace(clickEventName, this.NAME);\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n var collapsibleGroups = this.option(\"collapsibleGroups\");\r\n $element.toggleClass(LIST_COLLAPSIBLE_GROUPS_CLASS, collapsibleGroups);\r\n eventsEngine.off($element, eventName, selector);\r\n if (collapsibleGroups) {\r\n eventsEngine.on($element, eventName, selector, function(e) {\r\n this._createAction(function(e) {\r\n var $group = $(e.event.currentTarget).parent();\r\n this._collapseGroupHandler($group);\r\n if (this.option(\"focusStateEnabled\")) {\r\n this.option(\"focusedElement\", getPublicElement($group.find(\".\" + LIST_ITEM_CLASS).eq(0)))\r\n }\r\n }.bind(this), {\r\n validatingTargetName: \"element\"\r\n })({\r\n event: e\r\n })\r\n }.bind(this))\r\n }\r\n },\r\n _collapseGroupHandler: function($group, toggle) {\r\n var deferred = new Deferred;\r\n if ($group.hasClass(LIST_GROUP_COLLAPSED_CLASS) === toggle) {\r\n return deferred.resolve()\r\n }\r\n var $groupBody = $group.children(\".\" + LIST_GROUP_BODY_CLASS);\r\n var startHeight = getOuterHeight($groupBody);\r\n var endHeight = 0;\r\n if (0 === startHeight) {\r\n setHeight($groupBody, \"auto\");\r\n endHeight = getOuterHeight($groupBody)\r\n }\r\n $group.toggleClass(LIST_GROUP_COLLAPSED_CLASS, toggle);\r\n fx.animate($groupBody, {\r\n type: \"custom\",\r\n from: {\r\n height: startHeight\r\n },\r\n to: {\r\n height: endHeight\r\n },\r\n duration: 200,\r\n complete: function() {\r\n this.updateDimensions();\r\n this._updateLoadingState(true);\r\n deferred.resolve()\r\n }.bind(this)\r\n });\r\n return deferred.promise()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n if (this._initialized) {\r\n this._renderEmptyMessage();\r\n this._updateLoadingState()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._itemElementsCache = $();\r\n this.$element().addClass(LIST_CLASS);\r\n this.callBase();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.setAria({\r\n role: \"group\",\r\n roledescription: \"list\"\r\n }, this.$element());\r\n this._setListAria()\r\n },\r\n _setListAria() {\r\n var {\r\n items: items\r\n } = this.option();\r\n var listArea = null !== items && void 0 !== items && items.length ? {\r\n role: \"listbox\",\r\n label: \"Items\"\r\n } : {\r\n role: void 0,\r\n label: void 0\r\n };\r\n this.setAria(listArea)\r\n },\r\n _focusTarget: function() {\r\n return this._itemContainer()\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = render()\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n var that = this;\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: $element,\r\n event: e\r\n };\r\n if (value) {\r\n if (isMaterial()) {\r\n this._inkRippleTimer = setTimeout((function() {\r\n that._inkRipple.showWave(config)\r\n }), LIST_FEEDBACK_SHOW_TIMEOUT / 2)\r\n } else {\r\n that._inkRipple.showWave(config)\r\n }\r\n } else {\r\n clearTimeout(this._inkRippleTimer);\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _postprocessRenderItem: function(args) {\r\n this._refreshItemElements();\r\n this.callBase.apply(this, arguments);\r\n if (this.option(\"_swipeEnabled\")) {\r\n this._attachSwipeEvent($(args.itemElement))\r\n }\r\n },\r\n _attachSwipeEvent: function($itemElement) {\r\n var endEventName = addNamespace(swipeEventEnd, this.NAME);\r\n eventsEngine.on($itemElement, endEventName, this._itemSwipeEndHandler.bind(this))\r\n },\r\n _itemSwipeEndHandler: function(e) {\r\n this._itemDXEventHandler(e, \"onItemSwipe\", {\r\n direction: e.offset < 0 ? \"left\" : \"right\"\r\n })\r\n },\r\n _nextButtonHandler: function(e) {\r\n this._pageLoadingAction(e);\r\n var dataController = this._dataController;\r\n if (dataController.getDataSource() && !dataController.isLoading()) {\r\n this._scrollView.toggleLoading(true);\r\n this._$nextButton.detach();\r\n this._loadIndicationSuppressed(true);\r\n this._loadNextPage()\r\n }\r\n },\r\n _renderGroup: function(index, group) {\r\n var $groupElement = $(\"<div>\").addClass(LIST_GROUP_CLASS).appendTo(this._itemContainer());\r\n var id = \"dx-\".concat((new Guid).toString());\r\n var groupAria = {\r\n role: \"group\",\r\n labelledby: id\r\n };\r\n this.setAria(groupAria, $groupElement);\r\n var $groupHeaderElement = $(\"<div>\").addClass(LIST_GROUP_HEADER_CLASS).attr(\"id\", id).appendTo($groupElement);\r\n var groupTemplateName = this.option(\"groupTemplate\");\r\n var groupTemplate = this._getTemplate(group.template || groupTemplateName, group, index, $groupHeaderElement);\r\n var renderArgs = {\r\n index: index,\r\n itemData: group,\r\n container: getPublicElement($groupHeaderElement)\r\n };\r\n this._createItemByTemplate(groupTemplate, renderArgs);\r\n if (isMaterial()) {\r\n $(\"<div>\").addClass(LIST_GROUP_HEADER_INDICATOR_CLASS).prependTo($groupHeaderElement)\r\n }\r\n this._renderingGroupIndex = index;\r\n var $groupBody = $(\"<div>\").addClass(LIST_GROUP_BODY_CLASS).appendTo($groupElement);\r\n each(groupItemsGetter(group) || [], function(itemIndex, item) {\r\n this._renderItem({\r\n group: index,\r\n item: itemIndex\r\n }, item, $groupBody)\r\n }.bind(this));\r\n this._groupRenderAction({\r\n groupElement: getPublicElement($groupElement),\r\n groupIndex: index,\r\n groupData: group\r\n })\r\n },\r\n downInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), true, e)\r\n },\r\n upInkRippleHandler: function(e) {\r\n this._toggleActiveState($(e.currentTarget), false)\r\n },\r\n attachGroupHeaderInkRippleEvents: function() {\r\n var selector = \".\" + LIST_GROUP_HEADER_CLASS;\r\n var $element = this.$element();\r\n this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this);\r\n this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this);\r\n var downArguments = [$element, \"dxpointerdown\", selector, this._downInkRippleHandler];\r\n var upArguments = [$element, \"dxpointerup dxpointerout\", selector, this._upInkRippleHandler];\r\n eventsEngine.off(...downArguments);\r\n eventsEngine.on(...downArguments);\r\n eventsEngine.off(...upArguments);\r\n eventsEngine.on(...upArguments)\r\n },\r\n _createGroupRenderAction: function() {\r\n this._groupRenderAction = this._createActionByOption(\"onGroupRendered\")\r\n },\r\n _clean: function() {\r\n clearTimeout(this._inkRippleTimer);\r\n if (this._$nextButton) {\r\n this._$nextButton.remove();\r\n this._$nextButton = null\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _dispose: function() {\r\n this._isDataSourceFirstLoadCompleted(false);\r\n clearTimeout(this._holdTimer);\r\n clearTimeout(this._loadNextPageTimer);\r\n clearTimeout(this._showLoadingIndicatorTimer);\r\n this.callBase()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(value);\r\n this._scrollView.option(\"disabled\", value || !this.option(\"scrollingEnabled\"))\r\n },\r\n _toggleNextButton: function(value) {\r\n var dataController = this._dataController;\r\n var $nextButton = this._getNextButton();\r\n this.$element().toggleClass(LIST_HAS_NEXT_CLASS, value);\r\n if (value && dataController.isLoaded()) {\r\n $nextButton.appendTo(this._itemContainer())\r\n }\r\n if (!value) {\r\n $nextButton.detach()\r\n }\r\n },\r\n _getNextButton: function() {\r\n if (!this._$nextButton) {\r\n this._$nextButton = this._createNextButton()\r\n }\r\n return this._$nextButton\r\n },\r\n _createNextButton: function() {\r\n var $result = $(\"<div>\").addClass(LIST_NEXT_BUTTON_CLASS);\r\n var $button = $(\"<div>\").appendTo($result);\r\n this._createComponent($button, Button, {\r\n text: this.option(\"nextButtonText\"),\r\n onClick: this._nextButtonHandler.bind(this),\r\n type: isMaterial() ? \"default\" : void 0,\r\n integrationOptions: {}\r\n });\r\n return $result\r\n },\r\n _moveFocus: function() {\r\n this.callBase.apply(this, arguments);\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _refresh: function() {\r\n if (!hasWindow()) {\r\n this.callBase()\r\n } else {\r\n var scrollTop = this._scrollView.scrollTop();\r\n this.callBase();\r\n scrollTop && this._scrollView.scrollTo(scrollTop)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"pageLoadMode\":\r\n this._toggleNextButton(args.value);\r\n this._initScrollView();\r\n break;\r\n case \"dataSource\":\r\n this.callBase(args);\r\n this._initScrollView();\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"items\":\r\n this.callBase(args);\r\n this._isDataSourceFirstLoadCompleted(false);\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"pageLoadingText\":\r\n case \"showScrollbar\":\r\n case \"bounceEnabled\":\r\n case \"scrollByContent\":\r\n case \"scrollByThumb\":\r\n case \"useNativeScrolling\":\r\n case \"scrollingEnabled\":\r\n case \"pullRefreshEnabled\":\r\n this._initScrollView();\r\n this._updateLoadingState(true);\r\n break;\r\n case \"nextButtonText\":\r\n case \"onItemSwipe\":\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"onScroll\":\r\n case \"onPullRefresh\":\r\n case \"onPageLoading\":\r\n this._createScrollViewActions();\r\n break;\r\n case \"grouped\":\r\n case \"collapsibleGroups\":\r\n case \"groupTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"wrapItemText\":\r\n this._$container.toggleClass(WRAP_ITEM_TEXT_CLASS, args.value);\r\n break;\r\n case \"onGroupRendered\":\r\n this._createGroupRenderAction();\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._scrollView.option(args.name, args.value);\r\n this._scrollView.update();\r\n break;\r\n case \"indicateLoading\":\r\n this._hideLoadingIfLoadIndicationOff();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n this._scrollView.update();\r\n break;\r\n case \"rtlEnabled\":\r\n this._initScrollView();\r\n this.callBase(args);\r\n break;\r\n case \"showChevronExpr\":\r\n case \"badgeExpr\":\r\n this._invalidate();\r\n break;\r\n case \"_swipeEnabled\":\r\n case \"selectByClick\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n if (!this.option(\"grouped\")) {\r\n return this.callBase($itemElement)\r\n }\r\n var $group = $itemElement.closest(\".\" + LIST_GROUP_CLASS);\r\n var $item = $group.find(\".\" + LIST_ITEM_CLASS);\r\n return extend(this.callBase($itemElement), {\r\n itemIndex: {\r\n group: $group.index(),\r\n item: $item.index($itemElement)\r\n }\r\n })\r\n },\r\n expandGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, false).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n collapseGroup: function(groupIndex) {\r\n var deferred = new Deferred;\r\n var $group = this._itemContainer().find(\".\" + LIST_GROUP_CLASS).eq(groupIndex);\r\n this._collapseGroupHandler($group, true).done(function() {\r\n deferred.resolveWith(this)\r\n }.bind(this));\r\n return deferred\r\n },\r\n updateDimensions: function() {\r\n var that = this;\r\n var deferred = new Deferred;\r\n if (that._scrollView) {\r\n that._scrollView.update().done((function() {\r\n !that._scrollViewIsFull() && that._updateLoadingState(true);\r\n deferred.resolveWith(that)\r\n }))\r\n } else {\r\n deferred.resolveWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reload: function() {\r\n this.callBase();\r\n this.scrollTo(0);\r\n this._pullDownHandler()\r\n },\r\n repaint: function() {\r\n this.scrollTo(0);\r\n this.callBase()\r\n },\r\n scrollTop: function() {\r\n return this._scrollView.scrollOffset().top\r\n },\r\n clientHeight: function() {\r\n return this._scrollView.clientHeight()\r\n },\r\n scrollHeight: function() {\r\n return this._scrollView.scrollHeight()\r\n },\r\n scrollBy: function(distance) {\r\n this._scrollView.scrollBy(distance)\r\n },\r\n scrollTo: function(location) {\r\n this._scrollView.scrollTo(location)\r\n },\r\n scrollToItem: function(itemElement) {\r\n var $item = this._editStrategy.getItemElement(itemElement);\r\n var item = null === $item || void 0 === $item ? void 0 : $item.get(0);\r\n this._scrollView.scrollToElement(item, {\r\n bottom: getElementMargin(item, \"bottom\")\r\n })\r\n },\r\n _dimensionChanged: function() {\r\n this.updateDimensions()\r\n }\r\n}).include(DataConverterMixin);\r\nListBase.ItemClass = ListItem;\r\n\r\nfunction getScrollView() {\r\n return _scrollView || ScrollView\r\n}\r\nexport function setScrollView(value) {\r\n _scrollView = value\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.decorator_registry.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nexport var registry = {};\r\nexport function register(option, type, decoratorClass) {\r\n var decoratorsRegistry = registry;\r\n var decoratorConfig = {};\r\n decoratorConfig[option] = decoratorsRegistry[option] ? decoratorsRegistry[option] : {};\r\n decoratorConfig[option][type] = decoratorClass;\r\n extend(decoratorsRegistry, decoratorConfig)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.strategy.grouped.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport storeHelper from \"../../data/store_helper\";\r\nimport query from \"../../data/query\";\r\nimport EditStrategy from \"../collection/ui.collection_widget.edit.strategy.plain\";\r\nvar LIST_ITEM_CLASS = \"dx-list-item\";\r\nvar LIST_GROUP_CLASS = \"dx-list-group\";\r\nvar SELECTION_SHIFT = 20;\r\nvar SELECTION_MASK = (1 << SELECTION_SHIFT) - 1;\r\nvar combineIndex = function(indices) {\r\n return (indices.group << SELECTION_SHIFT) + indices.item\r\n};\r\nvar splitIndex = function(combinedIndex) {\r\n return {\r\n group: combinedIndex >> SELECTION_SHIFT,\r\n item: combinedIndex & SELECTION_MASK\r\n }\r\n};\r\nvar GroupedEditStrategy = EditStrategy.inherit({\r\n _groupElements: function() {\r\n return this._collectionWidget._itemContainer().find(\".\" + LIST_GROUP_CLASS)\r\n },\r\n _groupItemElements: function($group) {\r\n return $group.find(\".\" + LIST_ITEM_CLASS)\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var groups = this._collectionWidget.option(\"items\");\r\n var index = false;\r\n if (!itemData) {\r\n return false\r\n }\r\n if (itemData.items && itemData.items.length) {\r\n itemData = itemData.items[0]\r\n }\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return false\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n if (item !== itemData) {\r\n return true\r\n }\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }));\r\n if (index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n getItemDataByIndex: function(index) {\r\n var items = this._collectionWidget.option(\"items\");\r\n if (isNumeric(index)) {\r\n return this.itemsGetter()[index]\r\n }\r\n return index && items[index.group] && items[index.group].items[index.item] || null\r\n },\r\n itemsGetter: function() {\r\n var resultItems = [];\r\n var items = this._collectionWidget.option(\"items\");\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n resultItems = resultItems.concat(items[i].items)\r\n } else {\r\n resultItems.push(items[i])\r\n }\r\n }\r\n return resultItems\r\n },\r\n deleteItemAtIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var itemGroup = this._collectionWidget.option(\"items\")[indices.group].items;\r\n itemGroup.splice(indices.item, 1)\r\n },\r\n getKeysByItems: function(items) {\r\n var plainItems = [];\r\n var i;\r\n for (i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n var result = [];\r\n for (i = 0; i < plainItems.length; i++) {\r\n result.push(this._collectionWidget.keyOf(plainItems[i]))\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key, items) {\r\n var groups = items || this._collectionWidget.option(\"items\");\r\n var index = -1;\r\n var that = this;\r\n each(groups, (function(groupIndex, group) {\r\n if (!group.items) {\r\n return\r\n }\r\n each(group.items, (function(itemIndex, item) {\r\n var itemKey = that._collectionWidget.keyOf(item);\r\n if (that._equalKeys(itemKey, key)) {\r\n index = {\r\n group: groupIndex,\r\n item: itemIndex\r\n };\r\n return false\r\n }\r\n }));\r\n if (-1 !== index) {\r\n return false\r\n }\r\n }));\r\n return index\r\n },\r\n _getGroups: function(items) {\r\n var dataController = this._collectionWidget._dataController;\r\n var group = dataController.group();\r\n if (group) {\r\n return storeHelper.queryByOptions(query(items), {\r\n group: group\r\n }).toArray()\r\n }\r\n return this._collectionWidget.option(\"items\")\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n var result = [];\r\n var groups = this._getGroups(items);\r\n var groupItemByKeyMap = {};\r\n var getItemMeta = key => {\r\n var index = this.getIndexByKey(key, groups);\r\n var group = index && groups[index.group];\r\n if (!group) {\r\n return\r\n }\r\n return {\r\n groupKey: group.key,\r\n item: group.items[index.item]\r\n }\r\n };\r\n each(keys, (function(_, key) {\r\n var itemMeta = getItemMeta(key);\r\n if (!itemMeta) {\r\n return\r\n }\r\n var groupKey = itemMeta.groupKey;\r\n var item = itemMeta.item;\r\n var selectedGroup = groupItemByKeyMap[groupKey];\r\n if (!selectedGroup) {\r\n selectedGroup = {\r\n key: groupKey,\r\n items: []\r\n };\r\n groupItemByKeyMap[groupKey] = selectedGroup;\r\n result.push(selectedGroup)\r\n }\r\n selectedGroup.items.push(item)\r\n }));\r\n return result\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._collectionWidget.option(\"items\");\r\n var movingIndices = splitIndex(movingIndex);\r\n var destinationIndices = splitIndex(destinationIndex);\r\n var movingItemGroup = items[movingIndices.group].items;\r\n var destinationItemGroup = items[destinationIndices.group].items;\r\n var movedItemData = movingItemGroup[movingIndices.item];\r\n movingItemGroup.splice(movingIndices.item, 1);\r\n destinationItemGroup.splice(destinationIndices.item, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return index && isNumeric(index.group) && isNumeric(index.item)\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n var $item = $(itemElement);\r\n var $group = $item.closest(\".\" + LIST_GROUP_CLASS);\r\n if (!$group.length) {\r\n return -1\r\n }\r\n return combineIndex({\r\n group: this._groupElements().index($group),\r\n item: this._groupItemElements($group).index($item)\r\n })\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return combineIndex(index)\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return splitIndex(index)\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n var indices = splitIndex(index);\r\n var $group = this._groupElements().eq(indices.group);\r\n return this._groupItemElements($group).eq(indices.item)\r\n },\r\n _itemsFromSameParent: function(firstIndex, secondIndex) {\r\n return splitIndex(firstIndex).group === splitIndex(secondIndex).group\r\n }\r\n});\r\nexport default GroupedEditStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.provider.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n registry\r\n} from \"./ui.list.edit.decorator_registry\";\r\nvar editOptionsRegistry = [];\r\nvar registerOption = function(enabledFunc, decoratorTypeFunc, decoratorSubTypeFunc) {\r\n editOptionsRegistry.push({\r\n enabled: enabledFunc,\r\n decoratorType: decoratorTypeFunc,\r\n decoratorSubType: decoratorSubTypeFunc\r\n })\r\n};\r\nregisterOption((function() {\r\n return this.option(\"menuItems\").length\r\n}), (function() {\r\n return \"menu\"\r\n}), (function() {\r\n return this.option(\"menuMode\")\r\n}));\r\nregisterOption((function() {\r\n return !this.option(\"menuItems\").length && this.option(\"allowItemDeleting\")\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n return \"toggle\" === mode || \"slideButton\" === mode || \"swipe\" === mode || \"static\" === mode ? \"delete\" : \"menu\"\r\n}), (function() {\r\n var mode = this.option(\"itemDeleteMode\");\r\n if (\"slideItem\" === mode) {\r\n mode = \"slide\"\r\n }\r\n return mode\r\n}));\r\nregisterOption((function() {\r\n return \"none\" !== this.option(\"selectionMode\") && this.option(\"showSelectionControls\")\r\n}), (function() {\r\n return \"selection\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nregisterOption((function() {\r\n return this.option(\"itemDragging.allowReordering\") || this.option(\"itemDragging.allowDropInsideItem\") || this.option(\"itemDragging.group\")\r\n}), (function() {\r\n return \"reorder\"\r\n}), (function() {\r\n return \"default\"\r\n}));\r\nvar LIST_ITEM_BEFORE_BAG_CLASS = \"dx-list-item-before-bag\";\r\nvar LIST_ITEM_AFTER_BAG_CLASS = \"dx-list-item-after-bag\";\r\nvar DECORATOR_BEFORE_BAG_CREATE_METHOD = \"beforeBag\";\r\nvar DECORATOR_AFTER_BAG_CREATE_METHOD = \"afterBag\";\r\nvar DECORATOR_MODIFY_ELEMENT_METHOD = \"modifyElement\";\r\nvar DECORATOR_AFTER_RENDER_METHOD = \"afterRender\";\r\nvar DECORATOR_GET_EXCLUDED_SELECTORS_METHOD = \"getExcludedSelectors\";\r\nvar EditProvider = Class.inherit({\r\n ctor: function(list) {\r\n this._list = list;\r\n this._fetchRequiredDecorators()\r\n },\r\n dispose: function() {\r\n if (this._decorators && this._decorators.length) {\r\n each(this._decorators, (function(_, decorator) {\r\n decorator.dispose()\r\n }))\r\n }\r\n },\r\n _fetchRequiredDecorators: function() {\r\n this._decorators = [];\r\n each(editOptionsRegistry, function(_, option) {\r\n var optionEnabled = option.enabled.call(this._list);\r\n if (optionEnabled) {\r\n var decoratorType = option.decoratorType.call(this._list);\r\n var decoratorSubType = option.decoratorSubType.call(this._list);\r\n var decorator = this._createDecorator(decoratorType, decoratorSubType);\r\n this._decorators.push(decorator)\r\n }\r\n }.bind(this))\r\n },\r\n _createDecorator: function(type, subType) {\r\n var decoratorClass = this._findDecorator(type, subType);\r\n return new decoratorClass(this._list)\r\n },\r\n _findDecorator: function(type, subType) {\r\n var _registry$type;\r\n var foundDecorator = null === (_registry$type = registry[type]) || void 0 === _registry$type ? void 0 : _registry$type[subType];\r\n if (!foundDecorator) {\r\n throw errors.Error(\"E1012\", type, subType)\r\n }\r\n return foundDecorator\r\n },\r\n modifyItemElement: function(args) {\r\n var $itemElement = $(args.itemElement);\r\n var config = {\r\n $itemElement: $itemElement\r\n };\r\n this._prependBeforeBags($itemElement, config);\r\n this._appendAfterBags($itemElement, config);\r\n this._applyDecorators(DECORATOR_MODIFY_ELEMENT_METHOD, config)\r\n },\r\n afterItemsRendered: function() {\r\n this._applyDecorators(DECORATOR_AFTER_RENDER_METHOD)\r\n },\r\n _prependBeforeBags: function($itemElement, config) {\r\n var $beforeBags = this._collectDecoratorsMarkup(DECORATOR_BEFORE_BAG_CREATE_METHOD, config, LIST_ITEM_BEFORE_BAG_CLASS);\r\n $itemElement.prepend($beforeBags)\r\n },\r\n _appendAfterBags: function($itemElement, config) {\r\n var $afterBags = this._collectDecoratorsMarkup(DECORATOR_AFTER_BAG_CREATE_METHOD, config, LIST_ITEM_AFTER_BAG_CLASS);\r\n $itemElement.append($afterBags)\r\n },\r\n _collectDecoratorsMarkup: function(method, config, containerClass) {\r\n var $collector = $(\"<div>\");\r\n each(this._decorators, (function() {\r\n var $container = $(\"<div>\").addClass(containerClass);\r\n this[method](extend({\r\n $container: $container\r\n }, config));\r\n if ($container.children().length) {\r\n $collector.append($container)\r\n }\r\n }));\r\n return $collector.children()\r\n },\r\n _applyDecorators: function(method, config) {\r\n each(this._decorators, (function() {\r\n this[method](config)\r\n }))\r\n },\r\n _handlerExists: function(name) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n if (decorators[i][name] !== noop) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _eventHandler: function(name, $itemElement, e) {\r\n if (!this._decorators) {\r\n return false\r\n }\r\n var response = false;\r\n var decorators = this._decorators;\r\n var length = decorators.length;\r\n for (var i = 0; i < length; i++) {\r\n response = decorators[i][name]($itemElement, e);\r\n if (response) {\r\n break\r\n }\r\n }\r\n return response\r\n },\r\n handleClick: function($itemElement, e) {\r\n return this._eventHandler(\"handleClick\", $itemElement, e)\r\n },\r\n handleKeyboardEvents: function(currentFocusedIndex, moveFocusUp) {\r\n return this._eventHandler(\"handleKeyboardEvents\", currentFocusedIndex, moveFocusUp)\r\n },\r\n handleEnterPressing: function(e) {\r\n return this._eventHandler(\"handleEnterPressing\", e)\r\n },\r\n contextMenuHandlerExists: function() {\r\n return this._handlerExists(\"handleContextMenu\")\r\n },\r\n handleContextMenu: function($itemElement, e) {\r\n return this._eventHandler(\"handleContextMenu\", $itemElement, e)\r\n },\r\n getExcludedItemSelectors: function() {\r\n var excludedSelectors = [];\r\n this._applyDecorators(DECORATOR_GET_EXCLUDED_SELECTORS_METHOD, excludedSelectors);\r\n return excludedSelectors.join(\",\")\r\n }\r\n});\r\nexport default EditProvider;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isTouchEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport GroupedEditStrategy from \"./ui.list.edit.strategy.grouped\";\r\nimport localizationMessage from \"../../localization/message\";\r\nimport EditProvider from \"./ui.list.edit.provider\";\r\nimport {\r\n ListBase\r\n} from \"./ui.list.base\";\r\nvar LIST_ITEM_SELECTED_CLASS = \"dx-list-item-selected\";\r\nvar LIST_ITEM_RESPONSE_WAIT_CLASS = \"dx-list-item-response-wait\";\r\nvar ListEdit = ListBase.inherit({\r\n _supportedKeys() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var moveFocusedItem = (e, moveUp) => {\r\n var editStrategy = this._editStrategy;\r\n var focusedElement = this.option(\"focusedElement\");\r\n var focusedItemIndex = editStrategy.getNormalizedIndex(focusedElement);\r\n var isLastIndexFocused = focusedItemIndex === this._getLastItemIndex();\r\n if (isLastIndexFocused && this._dataController.isLoading()) {\r\n return\r\n }\r\n if (e.shiftKey && that.option(\"itemDragging.allowReordering\")) {\r\n var nextItemIndex = focusedItemIndex + (moveUp ? -1 : 1);\r\n var $nextItem = editStrategy.getItemElement(nextItemIndex);\r\n this.reorderItem(focusedElement, $nextItem);\r\n this.scrollToItem(focusedElement);\r\n e.preventDefault()\r\n } else {\r\n var editProvider = this._editProvider;\r\n var isInternalMoving = editProvider.handleKeyboardEvents(focusedItemIndex, moveUp);\r\n if (!isInternalMoving) {\r\n moveUp ? parent.upArrow(e) : parent.downArrow(e)\r\n }\r\n }\r\n };\r\n return extend({}, parent, {\r\n del: e => {\r\n if (that.option(\"allowItemDeleting\")) {\r\n e.preventDefault();\r\n that.deleteItem(that.option(\"focusedElement\"))\r\n }\r\n },\r\n upArrow: e => moveFocusedItem(e, true),\r\n downArrow: e => moveFocusedItem(e),\r\n enter: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.enter.apply(this, arguments)\r\n }\r\n },\r\n space: function(e) {\r\n if (!this._editProvider.handleEnterPressing(e)) {\r\n parent.space.apply(this, arguments)\r\n }\r\n }\r\n })\r\n },\r\n _updateSelection() {\r\n this._editProvider.afterItemsRendered();\r\n this.callBase()\r\n },\r\n _getLastItemIndex() {\r\n return this._itemElements().length - 1\r\n },\r\n _refreshItemElements() {\r\n this.callBase();\r\n var excludedSelectors = this._editProvider.getExcludedItemSelectors();\r\n if (excludedSelectors.length) {\r\n this._itemElementsCache = this._itemElementsCache.not(excludedSelectors)\r\n }\r\n },\r\n _isItemStrictEquals: function(item1, item2) {\r\n var privateKey = item1 && item1.__dx_key__;\r\n if (privateKey && !this.key() && this._selection.isItemSelected(privateKey)) {\r\n return false\r\n }\r\n return this.callBase(item1, item2)\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n showSelectionControls: false,\r\n selectionMode: \"none\",\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n selectAllText: localizationMessage.format(\"dxList-selectAll\"),\r\n menuItems: [],\r\n menuMode: \"context\",\r\n allowItemDeleting: false,\r\n itemDeleteMode: \"static\",\r\n itemDragging: {}\r\n })\r\n },\r\n _defaultOptionsRules() {\r\n return this.callBase().concat([{\r\n device: _device => \"ios\" === _device.platform,\r\n options: {\r\n menuMode: \"slide\",\r\n itemDeleteMode: \"slideItem\"\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n itemDeleteMode: \"swipe\"\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initEditProvider()\r\n },\r\n _initDataSource() {\r\n this.callBase();\r\n if (!this._isPageSelectAll()) {\r\n this._dataSource && this._dataSource.requireTotalCount(true)\r\n }\r\n },\r\n _isPageSelectAll() {\r\n return \"page\" === this.option(\"selectAllMode\")\r\n },\r\n _initEditProvider() {\r\n this._editProvider = new EditProvider(this)\r\n },\r\n _disposeEditProvider() {\r\n if (this._editProvider) {\r\n this._editProvider.dispose()\r\n }\r\n },\r\n _refreshEditProvider() {\r\n this._disposeEditProvider();\r\n this._initEditProvider()\r\n },\r\n _initEditStrategy() {\r\n if (this.option(\"grouped\")) {\r\n this._editStrategy = new GroupedEditStrategy(this)\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _initMarkup() {\r\n this._refreshEditProvider();\r\n this.callBase()\r\n },\r\n _renderItems() {\r\n this.callBase(...arguments);\r\n this._editProvider.afterItemsRendered()\r\n },\r\n _selectedItemClass: () => LIST_ITEM_SELECTED_CLASS,\r\n _itemResponseWaitClass: () => LIST_ITEM_RESPONSE_WAIT_CLASS,\r\n _itemClickHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = this._editProvider.handleClick($itemElement, e);\r\n if (handledByEditProvider) {\r\n return\r\n }\r\n this._saveSelectionChangeEvent(e);\r\n this.callBase(...arguments)\r\n },\r\n _shouldFireContextMenuEvent() {\r\n return this.callBase(...arguments) || this._editProvider.contextMenuHandlerExists()\r\n },\r\n _itemHoldHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = isTouchEvent(e) && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.handledByEditProvider = true;\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _getItemContainer: function(changeData) {\r\n if (this.option(\"grouped\")) {\r\n var _this$_editStrategy$g;\r\n var groupIndex = null === (_this$_editStrategy$g = this._editStrategy.getIndexByItemData(changeData)) || void 0 === _this$_editStrategy$g ? void 0 : _this$_editStrategy$g.group;\r\n return this._getGroupContainerByIndex(groupIndex)\r\n } else {\r\n return this.callBase(changeData)\r\n }\r\n },\r\n _itemContextMenuHandler(e) {\r\n var $itemElement = $(e.currentTarget);\r\n if ($itemElement.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n return\r\n }\r\n var handledByEditProvider = !e.handledByEditProvider && this._editProvider.handleContextMenu($itemElement, e);\r\n if (handledByEditProvider) {\r\n e.preventDefault();\r\n return\r\n }\r\n this.callBase(...arguments)\r\n },\r\n _postprocessRenderItem(args) {\r\n this.callBase(...arguments);\r\n this._editProvider.modifyItemElement(args)\r\n },\r\n _clean() {\r\n this._disposeEditProvider();\r\n this.callBase()\r\n },\r\n focusListItem(index) {\r\n var $item = this._editStrategy.getItemElement(index);\r\n this.option(\"focusedElement\", $item);\r\n this.focus();\r\n this.scrollToItem(this.option(\"focusedElement\"))\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"selectAllMode\":\r\n this._initDataSource();\r\n this._dataController.pageIndex(0);\r\n this._dataController.load();\r\n break;\r\n case \"grouped\":\r\n this._clearSelectedItems();\r\n delete this._renderingGroupIndex;\r\n this._initEditStrategy();\r\n this.callBase(args);\r\n break;\r\n case \"showSelectionControls\":\r\n case \"menuItems\":\r\n case \"menuMode\":\r\n case \"allowItemDeleting\":\r\n case \"itemDeleteMode\":\r\n case \"itemDragging\":\r\n case \"selectAllText\":\r\n this._invalidate();\r\n break;\r\n case \"onSelectAllValueChanged\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n selectAll() {\r\n return this._selection.selectAll(this._isPageSelectAll())\r\n },\r\n unselectAll() {\r\n return this._selection.deselectAll(this._isPageSelectAll())\r\n },\r\n isSelectAll() {\r\n return this._selection.getSelectAllState(this._isPageSelectAll())\r\n },\r\n getFlatIndexByItemElement(itemElement) {\r\n return this._itemElements().index(itemElement)\r\n },\r\n getItemElementByFlatIndex(flatIndex) {\r\n var $itemElements = this._itemElements();\r\n if (flatIndex < 0 || flatIndex >= $itemElements.length) {\r\n return $()\r\n }\r\n return $itemElements.eq(flatIndex)\r\n },\r\n getItemByIndex(index) {\r\n return this._editStrategy.getItemDataByIndex(index)\r\n }\r\n});\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/list/ui.list.edit.search.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./ui.list.edit\";\r\nimport searchBoxMixin from \"../widget/ui.search_box_mixin\";\r\nvar ListSearch = ListEdit.inherit(searchBoxMixin).inherit({\r\n _addWidgetPrefix: function(className) {\r\n return \"dx-list-\" + className\r\n },\r\n _getCombinedFilter: function() {\r\n var dataController = this._dataController;\r\n var storeLoadOptions = {\r\n filter: dataController.filter()\r\n };\r\n dataController.addSearchFilter(storeLoadOptions);\r\n var filter = storeLoadOptions.filter;\r\n return filter\r\n },\r\n _initDataSource: function() {\r\n var value = this.option(\"searchValue\");\r\n var expr = this.option(\"searchExpr\");\r\n var mode = this.option(\"searchMode\");\r\n this.callBase();\r\n var dataController = this._dataController;\r\n value && value.length && dataController.searchValue(value);\r\n mode.length && dataController.searchOperation(searchBoxMixin.getOperationBySearchMode(mode));\r\n expr && dataController.searchExpr(expr)\r\n }\r\n});\r\nexport default ListSearch;\r\n","/**\r\n * DevExtreme (esm/ui/list_light.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ListEdit from \"./list/ui.list.edit.search\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nregisterComponent(\"dxList\", ListEdit);\r\nexport default ListEdit;\r\n","/**\r\n * DevExtreme (esm/ui/load_indicator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getNavigator\r\n} from \"../core/utils/window\";\r\nvar navigator = getNavigator();\r\nimport {\r\n animation\r\n} from \"../core/utils/support\";\r\nimport {\r\n current,\r\n isMaterial,\r\n isGeneric\r\n} from \"./themes\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport devices from \"../core/devices\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Widget from \"./widget/ui.widget\";\r\nvar LOADINDICATOR_CLASS = \"dx-loadindicator\";\r\nvar LOADINDICATOR_WRAPPER_CLASS = \"dx-loadindicator-wrapper\";\r\nvar LOADINDICATOR_CONTENT_CLASS = \"dx-loadindicator-content\";\r\nvar LOADINDICATOR_ICON_CLASS = \"dx-loadindicator-icon\";\r\nvar LOADINDICATOR_SEGMENT_CLASS = \"dx-loadindicator-segment\";\r\nvar LOADINDICATOR_SEGMENT_INNER_CLASS = \"dx-loadindicator-segment-inner\";\r\nvar LOADINDICATOR_IMAGE_CLASS = \"dx-loadindicator-image\";\r\nvar LoadIndicator = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n indicatorSrc: \"\",\r\n activeStateEnabled: false,\r\n hoverStateEnabled: false,\r\n _animatingSegmentCount: 1,\r\n _animatingSegmentInner: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = current();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n var obsoleteAndroid = \"android\" === realDevice.platform && !/chrome/i.test(navigator.userAgent);\r\n return obsoleteAndroid\r\n },\r\n options: {\r\n viaImage: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 2,\r\n _animatingSegmentInner: true\r\n }\r\n }, {\r\n device: function() {\r\n return isGeneric(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 7\r\n }\r\n }])\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADINDICATOR_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderWrapper();\r\n this._renderIndicatorContent();\r\n this._renderMarkup()\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = $(\"<div>\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = $(\"<div>\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if (animation() && !this.option(\"viaImage\") && !this.option(\"indicatorSrc\")) {\r\n this._renderMarkupForAnimation()\r\n } else {\r\n this._renderMarkupForImage()\r\n }\r\n },\r\n _renderMarkupForAnimation: function() {\r\n var animatingSegmentInner = this.option(\"_animatingSegmentInner\");\r\n this._$indicator = $(\"<div>\").addClass(LOADINDICATOR_ICON_CLASS);\r\n this._$content.append(this._$indicator);\r\n for (var i = this.option(\"_animatingSegmentCount\"); i >= 0; --i) {\r\n var $segment = $(\"<div>\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append($(\"<div>\").addClass(LOADINDICATOR_SEGMENT_INNER_CLASS))\r\n }\r\n this._$indicator.append($segment)\r\n }\r\n },\r\n _renderMarkupForImage: function() {\r\n var indicatorSrc = this.option(\"indicatorSrc\");\r\n this._$wrapper.addClass(LOADINDICATOR_IMAGE_CLASS);\r\n if (indicatorSrc) {\r\n this._$wrapper.css(\"backgroundImage\", \"url(\" + indicatorSrc + \")\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updateContentSizeForAnimation()\r\n },\r\n _updateContentSizeForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var width = this.option(\"width\");\r\n var height = this.option(\"height\");\r\n if (width || height) {\r\n width = getWidth(this.$element());\r\n height = getHeight(this.$element());\r\n var minDimension = Math.min(height, width);\r\n this._$wrapper.css({\r\n height: minDimension,\r\n width: minDimension,\r\n fontSize: minDimension\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeMarkupForAnimation();\r\n this._removeMarkupForImage()\r\n },\r\n _removeMarkupForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n this._$indicator.remove();\r\n delete this._$indicator\r\n },\r\n _removeMarkupForImage: function() {\r\n this._$wrapper.css(\"backgroundImage\", \"none\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"_animatingSegmentCount\":\r\n case \"_animatingSegmentInner\":\r\n case \"indicatorSrc\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxLoadIndicator\", LoadIndicator);\r\nexport default LoadIndicator;\r\n","/**\r\n * DevExtreme (esm/ui/load_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport LoadIndicator from \"./load_indicator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n isMaterial\r\n} from \"./themes\";\r\nvar LOADPANEL_CLASS = \"dx-loadpanel\";\r\nvar LOADPANEL_WRAPPER_CLASS = \"dx-loadpanel-wrapper\";\r\nvar LOADPANEL_INDICATOR_CLASS = \"dx-loadpanel-indicator\";\r\nvar LOADPANEL_MESSAGE_CLASS = \"dx-loadpanel-message\";\r\nvar LOADPANEL_CONTENT_CLASS = \"dx-loadpanel-content\";\r\nvar LOADPANEL_CONTENT_WRAPPER_CLASS = \"dx-loadpanel-content-wrapper\";\r\nvar LOADPANEL_PANE_HIDDEN_CLASS = \"dx-loadpanel-pane-hidden\";\r\nvar LoadPanel = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: noop\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: messageLocalization.format(\"Loading\"),\r\n width: 222,\r\n height: 90,\r\n animation: null,\r\n showIndicator: true,\r\n indicatorSrc: \"\",\r\n showPane: true,\r\n delay: 0,\r\n templatesRenderAsynchronously: false,\r\n hideTopOverlayHandler: null,\r\n focusStateEnabled: false,\r\n propagateOutsideClick: true,\r\n preventScrollEvents: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n shadingColor: \"transparent\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n message: \"\",\r\n width: 60,\r\n height: 60,\r\n maxHeight: 60,\r\n maxWidth: 60\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADPANEL_CLASS);\r\n this.$wrapper().addClass(LOADPANEL_WRAPPER_CLASS)\r\n },\r\n _renderContentImpl: function() {\r\n this.callBase();\r\n this.$content().addClass(LOADPANEL_CONTENT_CLASS);\r\n this._$loadPanelContentWrapper = $(\"<div>\").addClass(LOADPANEL_CONTENT_WRAPPER_CLASS);\r\n this._$loadPanelContentWrapper.appendTo(this.$content());\r\n this._togglePaneVisible();\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage()\r\n },\r\n _show: function() {\r\n var delay = this.option(\"delay\");\r\n if (!delay) {\r\n return this.callBase()\r\n }\r\n var deferred = new Deferred;\r\n var callBase = this.callBase.bind(this);\r\n this._clearShowTimeout();\r\n this._showTimeout = setTimeout((function() {\r\n callBase().done((function() {\r\n deferred.resolve()\r\n }))\r\n }), delay);\r\n return deferred.promise()\r\n },\r\n _hide: function() {\r\n this._clearShowTimeout();\r\n return this.callBase()\r\n },\r\n _clearShowTimeout: function() {\r\n clearTimeout(this._showTimeout)\r\n },\r\n _renderMessage: function() {\r\n if (!this._$loadPanelContentWrapper) {\r\n return\r\n }\r\n var message = this.option(\"message\");\r\n if (!message) {\r\n return\r\n }\r\n var $message = $(\"<div>\").addClass(LOADPANEL_MESSAGE_CLASS).text(message);\r\n this._$loadPanelContentWrapper.append($message)\r\n },\r\n _renderLoadIndicator: function() {\r\n if (!this._$loadPanelContentWrapper || !this.option(\"showIndicator\")) {\r\n return\r\n }\r\n if (!this._$indicator) {\r\n this._$indicator = $(\"<div>\").addClass(LOADPANEL_INDICATOR_CLASS).appendTo(this._$loadPanelContentWrapper)\r\n }\r\n this._createComponent(this._$indicator, LoadIndicator, {\r\n indicatorSrc: this.option(\"indicatorSrc\")\r\n })\r\n },\r\n _cleanPreviousContent: function() {\r\n this.$content().find(\".\" + LOADPANEL_MESSAGE_CLASS).remove();\r\n this.$content().find(\".\" + LOADPANEL_INDICATOR_CLASS).remove();\r\n delete this._$indicator\r\n },\r\n _togglePaneVisible: function() {\r\n this.$content().toggleClass(LOADPANEL_PANE_HIDDEN_CLASS, !this.option(\"showPane\"))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"delay\":\r\n break;\r\n case \"message\":\r\n case \"showIndicator\":\r\n this._cleanPreviousContent();\r\n this._renderLoadIndicator();\r\n this._renderMessage();\r\n break;\r\n case \"showPane\":\r\n this._togglePaneVisible();\r\n break;\r\n case \"indicatorSrc\":\r\n this._renderLoadIndicator();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _dispose: function() {\r\n this._clearShowTimeout();\r\n this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxLoadPanel\", LoadPanel);\r\nexport default LoadPanel;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n adjust\r\n} from \"../../core/utils/math\";\r\nvar getRealSeparatorIndex = function(str) {\r\n var quoteBalance = 0;\r\n var separatorCount = 0;\r\n for (var i = 0; i < str.length; ++i) {\r\n if (\"'\" === str[i]) {\r\n quoteBalance++\r\n }\r\n if (\".\" === str[i]) {\r\n ++separatorCount;\r\n if (quoteBalance % 2 === 0) {\r\n return {\r\n occurrence: separatorCount,\r\n index: i\r\n }\r\n }\r\n }\r\n }\r\n return {\r\n occurrence: 1,\r\n index: -1\r\n }\r\n};\r\nvar getNthOccurrence = function(str, c, n) {\r\n var i = -1;\r\n while (n-- && i++ < str.length) {\r\n i = str.indexOf(c, i)\r\n }\r\n return i\r\n};\r\nvar splitByIndex = function(str, index) {\r\n if (-1 === index) {\r\n return [str]\r\n }\r\n return [str.slice(0, index), str.slice(index + 1)]\r\n};\r\nvar adjustPercentValue = function(rawValue, precision) {\r\n return rawValue && adjust(rawValue / 100, precision)\r\n};\r\nexport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex,\r\n adjustPercentValue\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.caret.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport number from \"../../localization/number\";\r\nimport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex\r\n} from \"./utils\";\r\nexport var getCaretBoundaries = function(text, format) {\r\n if (\"string\" === typeof format) {\r\n var signParts = format.split(\";\");\r\n var sign = number.getSign(text, format);\r\n signParts[1] = signParts[1] || \"-\" + signParts[0];\r\n format = signParts[sign < 0 ? 1 : 0];\r\n format = (str = format, str.replace(/'([^']*)'/g, str => str.split(\"\").map(() => \" \").join(\"\").substr(2)));\r\n var prefixStubLength = /^[^#0.,]*/.exec(format)[0].length;\r\n var postfixStubLength = /[^#0.,]*$/.exec(format)[0].length;\r\n return {\r\n start: prefixStubLength,\r\n end: text.length - postfixStubLength\r\n }\r\n } else {\r\n return {\r\n start: 0,\r\n end: text.length\r\n }\r\n }\r\n var str\r\n};\r\nvar _getDigitCountBeforeIndex = function(index, text) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var textBeforePosition = text.slice(0, index);\r\n return textBeforePosition.replace(regExp, \"\").length\r\n};\r\nvar _reverseText = function(text) {\r\n return text.split(\"\").reverse().join(\"\")\r\n};\r\nvar _getDigitPositionByIndex = function(digitIndex, text) {\r\n if (!digitIndex) {\r\n return -1\r\n }\r\n var regExp = /[0-9]/g;\r\n var counter = 1;\r\n var index = null;\r\n var result = regExp.exec(text);\r\n while (result) {\r\n index = result.index;\r\n if (counter >= digitIndex) {\r\n return index\r\n }\r\n counter++;\r\n result = regExp.exec(text)\r\n }\r\n return null === index ? text.length : index\r\n};\r\nvar _trimNonNumericCharsFromEnd = function(text) {\r\n return text.replace(/[^0-9e]+$/, \"\")\r\n};\r\nexport var getCaretWithOffset = function(caret, offset) {\r\n if (void 0 === caret.start) {\r\n caret = {\r\n start: caret,\r\n end: caret\r\n }\r\n }\r\n return {\r\n start: caret.start + offset,\r\n end: caret.end + offset\r\n }\r\n};\r\nexport var getCaretAfterFormat = function(text, formatted, caret, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var point = number.getDecimalSeparator();\r\n var isSeparatorBasedText = isSeparatorBasedString(text);\r\n var realSeparatorOccurrenceIndex = getRealSeparatorIndex(format).occurrence;\r\n var pointPosition = isSeparatorBasedText ? 0 : getNthOccurrence(text, point, realSeparatorOccurrenceIndex);\r\n var newPointPosition = getNthOccurrence(formatted, point, realSeparatorOccurrenceIndex);\r\n var textParts = splitByIndex(text, pointPosition);\r\n var formattedParts = splitByIndex(formatted, newPointPosition);\r\n var isCaretOnFloat = -1 !== pointPosition && caret.start > pointPosition;\r\n if (isCaretOnFloat) {\r\n var relativeIndex = caret.start - pointPosition - 1;\r\n var digitsBefore = _getDigitCountBeforeIndex(relativeIndex, textParts[1]);\r\n var newPosition = formattedParts[1] ? newPointPosition + 1 + _getDigitPositionByIndex(digitsBefore, formattedParts[1]) + 1 : formatted.length;\r\n return getCaretInBoundaries(newPosition, formatted, format)\r\n } else {\r\n var formattedIntPart = _trimNonNumericCharsFromEnd(formattedParts[0]);\r\n var positionFromEnd = textParts[0].length - caret.start;\r\n var digitsFromEnd = _getDigitCountBeforeIndex(positionFromEnd, _reverseText(textParts[0]));\r\n var newPositionFromEnd = _getDigitPositionByIndex(digitsFromEnd, _reverseText(formattedIntPart));\r\n var newPositionFromBegin = formattedIntPart.length - (newPositionFromEnd + 1);\r\n return getCaretInBoundaries(newPositionFromBegin, formatted, format)\r\n }\r\n};\r\n\r\nfunction isSeparatorBasedString(text) {\r\n return 1 === text.length && !!text.match(/^[,.][0-9]*$/g)\r\n}\r\nexport var isCaretInBoundaries = function(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretInBoundaries(caret, text, format);\r\n return caret.start >= boundaries.start && caret.end <= boundaries.end\r\n};\r\nexport function getCaretInBoundaries(caret, text, format) {\r\n caret = getCaretWithOffset(caret, 0);\r\n var boundaries = getCaretBoundaries(text, format);\r\n var adjustedCaret = {\r\n start: fitIntoRange(caret.start, boundaries.start, boundaries.end),\r\n end: fitIntoRange(caret.end, boundaries.start, boundaries.end)\r\n };\r\n return adjustedCaret\r\n}\r\nexport var getCaretOffset = function(previousText, newText, format) {\r\n var previousBoundaries = getCaretBoundaries(previousText, format);\r\n var newBoundaries = getCaretBoundaries(newText, format);\r\n return newBoundaries.start - previousBoundaries.start\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.spin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n lock\r\n} from \"../../events/core/emitter.feedback\";\r\nimport holdEvent from \"../../events/hold\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SPIN_CLASS = \"dx-numberbox-spin\";\r\nvar SPIN_BUTTON_CLASS = \"dx-numberbox-spin-button\";\r\nvar SPIN_HOLD_DELAY = 100;\r\nvar NUMBER_BOX = \"dxNumberBox\";\r\nvar POINTERUP_EVENT_NAME = addNamespace(pointerEvents.up, NUMBER_BOX);\r\nvar POINTERCANCEL_EVENT_NAME = addNamespace(pointerEvents.cancel, NUMBER_BOX);\r\nvar SpinButton = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: \"up\",\r\n onChange: null,\r\n activeStateEnabled: true,\r\n hoverStateEnabled: true\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n var direction = SPIN_CLASS + \"-\" + this.option(\"direction\");\r\n this.$element().addClass(SPIN_BUTTON_CLASS).addClass(direction);\r\n this._spinIcon = $(\"<div>\").addClass(direction + \"-icon\").appendTo(this.$element())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n var eventName = addNamespace(pointerEvents.down, this.NAME);\r\n var $element = this.$element();\r\n eventsEngine.off($element, eventName);\r\n eventsEngine.on($element, eventName, this._spinDownHandler.bind(this));\r\n this._spinChangeHandler = this._createActionByOption(\"onChange\")\r\n },\r\n _spinDownHandler: function(e) {\r\n e.preventDefault();\r\n this._clearTimer();\r\n eventsEngine.on(this.$element(), holdEvent.name, function() {\r\n this._feedBackDeferred = new Deferred;\r\n lock(this._feedBackDeferred);\r\n this._spinChangeHandler({\r\n event: e\r\n });\r\n this._holdTimer = setInterval(this._spinChangeHandler, SPIN_HOLD_DELAY, {\r\n event: e\r\n })\r\n }.bind(this));\r\n var document = domAdapter.getDocument();\r\n eventsEngine.on(document, POINTERUP_EVENT_NAME, this._clearTimer.bind(this));\r\n eventsEngine.on(document, POINTERCANCEL_EVENT_NAME, this._clearTimer.bind(this));\r\n this._spinChangeHandler({\r\n event: e\r\n })\r\n },\r\n _dispose: function() {\r\n this._clearTimer();\r\n this.callBase()\r\n },\r\n _clearTimer: function() {\r\n eventsEngine.off(this.$element(), holdEvent.name);\r\n var document = domAdapter.getDocument();\r\n eventsEngine.off(document, POINTERUP_EVENT_NAME);\r\n eventsEngine.off(document, POINTERCANCEL_EVENT_NAME);\r\n if (this._feedBackDeferred) {\r\n this._feedBackDeferred.resolve()\r\n }\r\n if (this._holdTimer) {\r\n clearInterval(this._holdTimer)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onChange\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default SpinButton;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.spins.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"../text_box/texteditor_button_collection/button\";\r\nimport SpinButton from \"./number_box.spin\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar SPIN_CLASS = \"dx-numberbox-spin\";\r\nvar SPIN_CONTAINER_CLASS = \"dx-numberbox-spin-container\";\r\nvar SPIN_TOUCH_FRIENDLY_CLASS = \"dx-numberbox-spin-touch-friendly\";\r\nexport default class SpinButtons extends TextEditorButton {\r\n _attachEvents(instance, $spinContainer) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var eventName = addNamespace(pointer.down, editor.NAME);\r\n var $spinContainerChildren = $spinContainer.children();\r\n var pointerDownAction = editor._createAction(e => editor._spinButtonsPointerDownHandler(e));\r\n eventsEngine.off($spinContainer, eventName);\r\n eventsEngine.on($spinContainer, eventName, e => pointerDownAction({\r\n event: e\r\n }));\r\n SpinButton.getInstance($spinContainerChildren.eq(0)).option(\"onChange\", e => editor._spinUpChangeHandler(e));\r\n SpinButton.getInstance($spinContainerChildren.eq(1)).option(\"onChange\", e => editor._spinDownChangeHandler(e))\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $spinContainer = $(\"<div>\").addClass(SPIN_CONTAINER_CLASS);\r\n var $spinUp = $(\"<div>\").appendTo($spinContainer);\r\n var $spinDown = $(\"<div>\").appendTo($spinContainer);\r\n var options = this._getOptions();\r\n this._addToContainer($spinContainer);\r\n editor._createComponent($spinUp, SpinButton, extend({\r\n direction: \"up\"\r\n }, options));\r\n editor._createComponent($spinDown, SpinButton, extend({\r\n direction: \"down\"\r\n }, options));\r\n this._legacyRender(editor.$element(), this._isTouchFriendly(), options.visible);\r\n return {\r\n instance: $spinContainer,\r\n $element: $spinContainer\r\n }\r\n }\r\n _getOptions() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var visible = this._isVisible();\r\n var disabled = editor.option(\"disabled\");\r\n return {\r\n visible: visible,\r\n disabled: disabled\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return super._isVisible() && editor.option(\"showSpinButtons\")\r\n }\r\n _isTouchFriendly() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"showSpinButtons\") && editor.option(\"useLargeSpinButtons\")\r\n }\r\n _legacyRender($editor, isTouchFriendly, isVisible) {\r\n $editor.toggleClass(SPIN_TOUCH_FRIENDLY_CLASS, isTouchFriendly);\r\n $editor.toggleClass(SPIN_CLASS, isVisible)\r\n }\r\n update() {\r\n var shouldUpdate = super.update();\r\n if (shouldUpdate) {\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n var isTouchFriendly = this._isTouchFriendly();\r\n var $spinButtons = instance.children();\r\n var spinUp = SpinButton.getInstance($spinButtons.eq(0));\r\n var spinDown = SpinButton.getInstance($spinButtons.eq(1));\r\n var options = this._getOptions();\r\n spinUp.option(options);\r\n spinDown.option(options);\r\n this._legacyRender($editor, isTouchFriendly, isVisible)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n applyServerDecimalSeparator,\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport devices from \"../../core/devices\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport TextEditor from \"../text_box/ui.text_editor\";\r\nimport {\r\n addNamespace,\r\n getChar,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport SpinButtons from \"./number_box.spins\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar math = Math;\r\nvar WIDGET_CLASS = \"dx-numberbox\";\r\nvar FIREFOX_CONTROL_KEYS = [\"tab\", \"del\", \"backspace\", \"leftArrow\", \"rightArrow\", \"home\", \"end\", \"enter\"];\r\nvar FORCE_VALUECHANGE_EVENT_NAMESPACE = \"NumberBoxForceValueChange\";\r\nvar NumberBoxBase = TextEditor.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._spinUpChangeHandler(e)\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (!isCommandKeyPressed(e)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._spinDownChangeHandler(e)\r\n }\r\n },\r\n enter: function() {}\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: 0,\r\n min: void 0,\r\n max: void 0,\r\n step: 1,\r\n showSpinButtons: false,\r\n useLargeSpinButtons: true,\r\n mode: \"text\",\r\n invalidValueMessage: messageLocalization.format(\"dxNumberBox-invalidValueMessage\"),\r\n buttons: void 0\r\n })\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _getDefaultButtons: function() {\r\n return this.callBase().concat([{\r\n name: \"spins\",\r\n Ctor: SpinButtons\r\n }])\r\n },\r\n _isSupportInputMode: function() {\r\n var version = parseFloat(browser.version);\r\n return browser.chrome && version >= 66 || browser.safari && version >= 12\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return devices.real().generic && !devices.isSimulator()\r\n },\r\n options: {\r\n useLargeSpinButtons: false\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" !== devices.real().deviceType && !this._isSupportInputMode()\r\n }.bind(this),\r\n options: {\r\n mode: \"number\"\r\n }\r\n }])\r\n },\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this.$element().addClass(WIDGET_CLASS);\r\n this.callBase()\r\n },\r\n _getDefaultAttributes: function() {\r\n var attributes = this.callBase();\r\n attributes.inputmode = \"decimal\";\r\n return attributes\r\n },\r\n _renderContentImpl: function() {\r\n this.option(\"isValid\") && this._validateValue(this.option(\"value\"));\r\n this.setAria(\"role\", \"spinbutton\")\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this.$element());\r\n this._setSubmitValue(this.option(\"value\"))\r\n },\r\n _setSubmitValue: function(value) {\r\n this._getSubmitElement().val(applyServerDecimalSeparator(value))\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _keyPressHandler: function(e) {\r\n this.callBase(e);\r\n var char = getChar(e);\r\n var isInputCharValid = /[\\d.,eE\\-+]/.test(char);\r\n if (!isInputCharValid) {\r\n var keyName = normalizeKeyName(e);\r\n if (isCommandKeyPressed(e) || keyName && FIREFOX_CONTROL_KEYS.includes(keyName)) {\r\n return\r\n }\r\n e.preventDefault();\r\n return false\r\n }\r\n this._keyPressed = true\r\n },\r\n _onMouseWheel: function(dxEvent) {\r\n dxEvent.delta > 0 ? this._spinValueChange(1, dxEvent) : this._spinValueChange(-1, dxEvent)\r\n },\r\n _renderValue: function() {\r\n var inputValue = this._input().val();\r\n var value = this.option(\"value\");\r\n if (!inputValue.length || Number(inputValue) !== value) {\r\n this._forceValueRender();\r\n this._toggleEmptinessEventHandler()\r\n }\r\n var valueText = isDefined(value) ? null : messageLocalization.format(\"dxNumberBox-noDataText\");\r\n this.setAria({\r\n valuenow: ensureDefined(value, \"\"),\r\n valuetext: valueText\r\n });\r\n this.option(\"text\", this._input().val());\r\n this._updateButtons();\r\n return (new Deferred).resolve()\r\n },\r\n _forceValueRender: function() {\r\n var value = this.option(\"value\");\r\n var number = Number(value);\r\n var formattedValue = isNaN(number) ? \"\" : this._applyDisplayValueFormatter(value);\r\n this._renderDisplayText(formattedValue)\r\n },\r\n _applyDisplayValueFormatter: function(value) {\r\n return this.option(\"displayValueFormatter\")(value)\r\n },\r\n _renderProps: function() {\r\n this._input().prop({\r\n min: this.option(\"min\"),\r\n max: this.option(\"max\"),\r\n step: this.option(\"step\")\r\n });\r\n this.setAria({\r\n valuemin: ensureDefined(this.option(\"min\"), \"\"),\r\n valuemax: ensureDefined(this.option(\"max\"), \"\")\r\n })\r\n },\r\n _spinButtonsPointerDownHandler: function() {\r\n var $input = this._input();\r\n if (!this.option(\"useLargeSpinButtons\") && domAdapter.getActiveElement() !== $input[0]) {\r\n eventsEngine.trigger($input, \"focus\")\r\n }\r\n },\r\n _spinUpChangeHandler: function(e) {\r\n if (!this.option(\"readOnly\")) {\r\n this._spinValueChange(1, e.event || e)\r\n }\r\n },\r\n _spinDownChangeHandler: function(e) {\r\n if (!this.option(\"readOnly\")) {\r\n this._spinValueChange(-1, e.event || e)\r\n }\r\n },\r\n _spinValueChange: function(sign, dxEvent) {\r\n var step = parseFloat(this.option(\"step\"));\r\n if (0 === step) {\r\n return\r\n }\r\n var value = parseFloat(this._normalizeInputValue()) || 0;\r\n value = this._correctRounding(value, step * sign);\r\n var min = this.option(\"min\");\r\n var max = this.option(\"max\");\r\n if (isDefined(min)) {\r\n value = Math.max(min, value)\r\n }\r\n if (isDefined(max)) {\r\n value = Math.min(max, value)\r\n }\r\n this._saveValueChangeEvent(dxEvent);\r\n this.option(\"value\", value)\r\n },\r\n _correctRounding: function(value, step) {\r\n var regex = /[,.](.*)/;\r\n var isFloatValue = regex.test(value);\r\n var isFloatStep = regex.test(step);\r\n if (isFloatValue || isFloatStep) {\r\n var valueAccuracy = isFloatValue ? regex.exec(value)[0].length : 0;\r\n var stepAccuracy = isFloatStep ? regex.exec(step)[0].length : 0;\r\n var accuracy = math.max(valueAccuracy, stepAccuracy);\r\n value = this._round(value + step, accuracy);\r\n return value\r\n }\r\n return value + step\r\n },\r\n _round: function(value, precision) {\r\n precision = precision || 0;\r\n var multiplier = Math.pow(10, precision);\r\n value *= multiplier;\r\n value = Math.round(value) / multiplier;\r\n return value\r\n },\r\n _renderValueChangeEvent: function() {\r\n this.callBase();\r\n var forceValueChangeEvent = addNamespace(\"focusout\", FORCE_VALUECHANGE_EVENT_NAMESPACE);\r\n eventsEngine.off(this.element(), forceValueChangeEvent);\r\n eventsEngine.on(this.element(), forceValueChangeEvent, this._forceRefreshInputValue.bind(this))\r\n },\r\n _forceRefreshInputValue: function() {\r\n if (\"number\" === this.option(\"mode\")) {\r\n return\r\n }\r\n var $input = this._input();\r\n var formattedValue = this._applyDisplayValueFormatter(this.option(\"value\"));\r\n $input.val(null);\r\n $input.val(formattedValue)\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = this._normalizeText();\r\n var value = this._parseValue(inputValue);\r\n var valueHasDigits = \".\" !== inputValue && \"-\" !== inputValue;\r\n if (this._isValueValid() && !this._validateValue(value)) {\r\n $input.val(this._applyDisplayValueFormatter(value));\r\n return\r\n }\r\n if (valueHasDigits) {\r\n this.callBase(e, isNaN(value) ? null : value)\r\n }\r\n this._applyValueBoundaries(inputValue, value);\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n })\r\n },\r\n _applyValueBoundaries: function(inputValue, parsedValue) {\r\n var isValueIncomplete = this._isValueIncomplete(inputValue);\r\n var isValueCorrect = this._isValueInRange(inputValue);\r\n if (!isValueIncomplete && !isValueCorrect && null !== parsedValue) {\r\n if (Number(inputValue) !== parsedValue) {\r\n this._input().val(this._applyDisplayValueFormatter(parsedValue))\r\n }\r\n }\r\n },\r\n _replaceCommaWithPoint: function(value) {\r\n return value.replace(\",\", \".\")\r\n },\r\n _inputIsInvalid: function() {\r\n var isNumberMode = \"number\" === this.option(\"mode\");\r\n var validityState = this._input().get(0).validity;\r\n return isNumberMode && validityState && validityState.badInput\r\n },\r\n _renderDisplayText: function(text) {\r\n if (this._inputIsInvalid()) {\r\n return\r\n }\r\n this.callBase(text)\r\n },\r\n _isValueIncomplete: function(value) {\r\n return /(^-$)|(^-?\\d*\\.$)|(\\d+e-?$)/i.test(value)\r\n },\r\n _isValueInRange: function(value) {\r\n return inRange(value, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _isNumber: function(value) {\r\n return null !== this._parseValue(value)\r\n },\r\n _validateValue: function(value) {\r\n var inputValue = this._normalizeText();\r\n var isValueValid = this._isValueValid();\r\n var isValid = true;\r\n var isNumber = this._isNumber(inputValue);\r\n if (isNaN(Number(value))) {\r\n isValid = false\r\n }\r\n if (!value && isValueValid) {\r\n isValid = true\r\n } else if (!isNumber && !isValueValid) {\r\n isValid = false\r\n }\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"invalidValueMessage\")\r\n }\r\n });\r\n return isValid\r\n },\r\n _normalizeInputValue: function() {\r\n return this._parseValue(this._normalizeText())\r\n },\r\n _normalizeText: function() {\r\n var value = this._input().val().trim();\r\n return this._replaceCommaWithPoint(value)\r\n },\r\n _parseValue: function(value) {\r\n var number = parseFloat(value);\r\n if (isNaN(number)) {\r\n return null\r\n }\r\n return fitIntoRange(number, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _clearValue: function() {\r\n if (this._inputIsInvalid()) {\r\n this._input().val(\"\");\r\n this._validateValue()\r\n }\r\n this.callBase()\r\n },\r\n reset: function() {\r\n if (null === this.option(\"value\")) {\r\n this.option(\"text\", \"\");\r\n if (this._input().length) {\r\n this._renderValue()\r\n }\r\n } else {\r\n this.option(\"value\", null)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"value\":\r\n this._validateValue(args.value);\r\n this._setSubmitValue(args.value);\r\n this.callBase(args);\r\n this._resumeValueChangeAction();\r\n break;\r\n case \"step\":\r\n this._renderProps();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._renderProps();\r\n this.option(\"value\", this._parseValue(this.option(\"value\")));\r\n break;\r\n case \"showSpinButtons\":\r\n case \"useLargeSpinButtons\":\r\n this._updateButtons([\"spins\"]);\r\n break;\r\n case \"invalidValueMessage\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default NumberBoxBase;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.mask.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../../core/utils/math\";\r\nimport number from \"../../localization/number\";\r\nimport {\r\n getCaretWithOffset,\r\n isCaretInBoundaries,\r\n getCaretInBoundaries,\r\n getCaretBoundaries,\r\n getCaretAfterFormat,\r\n getCaretOffset\r\n} from \"./number_box.caret\";\r\nimport {\r\n getFormat as getLDMLFormat\r\n} from \"../../localization/ldml/number\";\r\nimport NumberBoxBase from \"./number_box.base\";\r\nimport {\r\n addNamespace,\r\n getChar,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n ensureDefined,\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n getRealSeparatorIndex,\r\n getNthOccurrence,\r\n splitByIndex,\r\n adjustPercentValue\r\n} from \"./utils\";\r\nvar NUMBER_FORMATTER_NAMESPACE = \"dxNumberFormatter\";\r\nvar MOVE_FORWARD = 1;\r\nvar MOVE_BACKWARD = -1;\r\nvar MINUS = \"-\";\r\nvar MINUS_KEY = \"minus\";\r\nvar INPUT_EVENT = \"input\";\r\nvar CARET_TIMEOUT_DURATION = 0;\r\nvar NumberBoxMask = NumberBoxBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n useMaskBehavior: true,\r\n format: null\r\n })\r\n },\r\n _isDeleteKey: function(key) {\r\n return \"del\" === key\r\n },\r\n _supportedKeys: function() {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase()\r\n }\r\n return extend(this.callBase(), {\r\n minus: this._revertSign.bind(this),\r\n del: this._removeHandler.bind(this),\r\n backspace: this._removeHandler.bind(this),\r\n leftArrow: this._arrowHandler.bind(this, MOVE_BACKWARD),\r\n rightArrow: this._arrowHandler.bind(this, MOVE_FORWARD),\r\n home: this._moveCaretToBoundaryEventHandler.bind(this, MOVE_FORWARD),\r\n enter: this._updateFormattedValue.bind(this),\r\n end: this._moveCaretToBoundaryEventHandler.bind(this, MOVE_BACKWARD)\r\n })\r\n },\r\n _getTextSeparatorIndex: function(text) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var realSeparatorOccurrenceIndex = getRealSeparatorIndex(this.option(\"format\")).occurrence;\r\n return getNthOccurrence(text, decimalSeparator, realSeparatorOccurrenceIndex)\r\n },\r\n _focusInHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this.clearCaretTimeout();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caretTimeout = void 0;\r\n var caret = this._caret();\r\n if (caret.start === caret.end && this._useMaskBehavior()) {\r\n var text = this._getInputVal();\r\n var decimalSeparatorIndex = this._getTextSeparatorIndex(text);\r\n if (decimalSeparatorIndex >= 0) {\r\n this._caret({\r\n start: decimalSeparatorIndex,\r\n end: decimalSeparatorIndex\r\n })\r\n } else {\r\n this._moveCaretToBoundaryEventHandler(MOVE_BACKWARD, e)\r\n }\r\n }\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n this.callBase(e)\r\n },\r\n _focusOutHandler: function(e) {\r\n var shouldHandleEvent = !this._preventNestedFocusEvent(e);\r\n if (shouldHandleEvent) {\r\n this._focusOutOccurs = true;\r\n if (this._useMaskBehavior()) {\r\n this._updateFormattedValue()\r\n }\r\n }\r\n this.callBase(e);\r\n if (shouldHandleEvent) {\r\n this._focusOutOccurs = false\r\n }\r\n },\r\n _hasValueBeenChanged(inputValue) {\r\n var format = this._getFormatPattern();\r\n var value = this.option(\"value\");\r\n var formatted = this._format(value, format) || \"\";\r\n return formatted !== inputValue\r\n },\r\n _updateFormattedValue: function() {\r\n var inputValue = this._getInputVal();\r\n if (this._hasValueBeenChanged(inputValue)) {\r\n this._updateParsedValue();\r\n this._adjustParsedValue();\r\n this._setTextByParsedValue();\r\n if (this._parsedValue !== this.option(\"value\")) {\r\n eventsEngine.trigger(this._input(), \"change\")\r\n }\r\n }\r\n },\r\n _arrowHandler: function(step, e) {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var text = this._getInputVal();\r\n var format = this._getFormatPattern();\r\n var nextCaret = getCaretWithOffset(this._caret(), step);\r\n if (!isCaretInBoundaries(nextCaret, text, format)) {\r\n nextCaret = step === MOVE_FORWARD ? nextCaret.end : nextCaret.start;\r\n e.preventDefault();\r\n this._caret(getCaretInBoundaries(nextCaret, text, format))\r\n }\r\n },\r\n _moveCaretToBoundary: function(direction) {\r\n var boundaries = getCaretBoundaries(this._getInputVal(), this._getFormatPattern());\r\n var newCaret = getCaretWithOffset(direction === MOVE_FORWARD ? boundaries.start : boundaries.end, 0);\r\n this._caret(newCaret)\r\n },\r\n _moveCaretToBoundaryEventHandler: function(direction, e) {\r\n if (!this._useMaskBehavior() || e && e.shiftKey) {\r\n return\r\n }\r\n this._moveCaretToBoundary(direction);\r\n e && e.preventDefault()\r\n },\r\n _shouldMoveCaret: function(text, caret) {\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var isDecimalSeparatorNext = text.charAt(caret.end) === decimalSeparator;\r\n var moveToFloat = (this._lastKey === decimalSeparator || \".\" === this._lastKey || \",\" === this._lastKey) && isDecimalSeparatorNext;\r\n return moveToFloat\r\n },\r\n _getInputVal: function() {\r\n return number.convertDigits(this._input().val(), true)\r\n },\r\n _keyboardHandler: function(e) {\r\n this.clearCaretTimeout();\r\n this._lastKey = number.convertDigits(getChar(e), true);\r\n this._lastKeyName = normalizeKeyName(e);\r\n if (!this._shouldHandleKey(e.originalEvent)) {\r\n return this.callBase(e)\r\n }\r\n var normalizedText = this._getInputVal();\r\n var caret = this._caret();\r\n var enteredChar = this._lastKeyName === MINUS_KEY ? \"\" : this._lastKey;\r\n var newValue = this._tryParse(normalizedText, caret, enteredChar);\r\n if (this._shouldMoveCaret(normalizedText, caret)) {\r\n this._moveCaret(1);\r\n e.originalEvent.preventDefault()\r\n }\r\n if (void 0 === newValue) {\r\n if (this._lastKeyName !== MINUS_KEY) {\r\n e.originalEvent.preventDefault()\r\n }\r\n } else {\r\n this._parsedValue = newValue\r\n }\r\n return this.callBase(e)\r\n },\r\n _keyPressHandler: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n this.callBase(e)\r\n }\r\n },\r\n _removeHandler: function(e) {\r\n var caret = this._caret();\r\n var text = this._getInputVal();\r\n var start = caret.start;\r\n var end = caret.end;\r\n this._lastKey = getChar(e);\r\n this._lastKeyName = normalizeKeyName(e);\r\n var isDeleteKey = this._isDeleteKey(this._lastKeyName);\r\n var isBackspaceKey = !isDeleteKey;\r\n if (start === end) {\r\n var caretPosition = start;\r\n var canDelete = isBackspaceKey && caretPosition > 0 || isDeleteKey && caretPosition < text.length;\r\n if (canDelete) {\r\n isDeleteKey && end++;\r\n isBackspaceKey && start--\r\n } else {\r\n e.preventDefault();\r\n return\r\n }\r\n }\r\n var char = text.slice(start, end);\r\n if (this._isStub(char)) {\r\n this._moveCaret(isDeleteKey ? 1 : -1);\r\n if (this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0) {\r\n this._revertSign(e);\r\n this._setTextByParsedValue();\r\n var shouldTriggerInputEvent = this.option(\"valueChangeEvent\").split(\" \").includes(\"input\");\r\n if (shouldTriggerInputEvent) {\r\n eventsEngine.trigger(this._input(), \"input\")\r\n }\r\n }\r\n e.preventDefault();\r\n return\r\n }\r\n var decimalSeparator = number.getDecimalSeparator();\r\n if (char === decimalSeparator) {\r\n var decimalSeparatorIndex = text.indexOf(decimalSeparator);\r\n if (this._isNonStubAfter(decimalSeparatorIndex + 1)) {\r\n this._moveCaret(isDeleteKey ? 1 : -1);\r\n e.preventDefault()\r\n }\r\n return\r\n }\r\n if (end - start < text.length) {\r\n var editedText = this._replaceSelectedText(text, {\r\n start: start,\r\n end: end\r\n }, \"\");\r\n var noDigits = editedText.search(/[0-9]/) < 0;\r\n if (noDigits && this._isValueInRange(0)) {\r\n this._parsedValue = this._parsedValue < 0 || 1 / this._parsedValue === -1 / 0 ? -0 : 0;\r\n return\r\n }\r\n }\r\n var valueAfterRemoving = this._tryParse(text, {\r\n start: start,\r\n end: end\r\n }, \"\");\r\n if (void 0 === valueAfterRemoving) {\r\n e.preventDefault()\r\n } else {\r\n this._parsedValue = valueAfterRemoving\r\n }\r\n },\r\n _isPercentFormat: function() {\r\n var format = this._getFormatPattern();\r\n var noEscapedFormat = format.replace(/'[^']+'/g, \"\");\r\n return -1 !== noEscapedFormat.indexOf(\"%\")\r\n },\r\n _parse: function(text, format) {\r\n var formatOption = this.option(\"format\");\r\n var isCustomParser = isFunction(formatOption.parser);\r\n var parser = isCustomParser ? formatOption.parser : number.parse;\r\n var integerPartStartIndex = 0;\r\n if (!isCustomParser) {\r\n var formatPointIndex = getRealSeparatorIndex(format).index;\r\n var textPointIndex = this._getTextSeparatorIndex(text);\r\n var formatIntegerPartLength = -1 !== formatPointIndex ? formatPointIndex : format.length;\r\n var textIntegerPartLength = -1 !== textPointIndex ? textPointIndex : text.length;\r\n if (textIntegerPartLength > formatIntegerPartLength && -1 === format.indexOf(\"#\")) {\r\n integerPartStartIndex = textIntegerPartLength - formatIntegerPartLength\r\n }\r\n }\r\n text = text.substr(integerPartStartIndex);\r\n return parser(text, format)\r\n },\r\n _format: function(value, format) {\r\n var formatOption = this.option(\"format\");\r\n var customFormatter = (null === formatOption || void 0 === formatOption ? void 0 : formatOption.formatter) || formatOption;\r\n var formatter = isFunction(customFormatter) ? customFormatter : number.format;\r\n var formattedValue = null === value ? \"\" : formatter(value, format);\r\n return formattedValue\r\n },\r\n _getFormatPattern: function() {\r\n if (!this._currentFormat) {\r\n this._updateFormat()\r\n }\r\n return this._currentFormat\r\n },\r\n _updateFormat: function() {\r\n var format = this.option(\"format\");\r\n var isCustomParser = isFunction(null === format || void 0 === format ? void 0 : format.parser);\r\n var isLDMLPattern = isString(format) && (format.indexOf(\"0\") >= 0 || format.indexOf(\"#\") >= 0);\r\n var isExponentialFormat = \"exponential\" === format || \"exponential\" === (null === format || void 0 === format ? void 0 : format.type);\r\n var shouldUseFormatAsIs = isCustomParser || isLDMLPattern || isExponentialFormat;\r\n this._currentFormat = shouldUseFormatAsIs ? format : getLDMLFormat(value => {\r\n var text = this._format(value, format);\r\n return number.convertDigits(text, true)\r\n })\r\n },\r\n _getFormatForSign: function(text) {\r\n var format = this._getFormatPattern();\r\n if (isString(format)) {\r\n var signParts = format.split(\";\");\r\n var sign = number.getSign(text, format);\r\n signParts[1] = signParts[1] || \"-\" + signParts[0];\r\n return sign < 0 ? signParts[1] : signParts[0]\r\n } else {\r\n var _sign = number.getSign(text);\r\n return _sign < 0 ? \"-\" : \"\"\r\n }\r\n },\r\n _removeStubs: function(text, excludeComma) {\r\n var format = this._getFormatForSign(text);\r\n var thousandsSeparator = number.getThousandsSeparator();\r\n var stubs = this._getStubs(format);\r\n var result = text;\r\n if (stubs.length) {\r\n var prefixStubs = stubs[0];\r\n var postfixRegex = new RegExp(\"(\" + escapeRegExp(stubs[1] || \"\") + \")$\", \"g\");\r\n var decoratorsRegex = new RegExp(\"[-\" + escapeRegExp(excludeComma ? \"\" : thousandsSeparator) + \"]\", \"g\");\r\n result = result.replace(prefixStubs, \"\").replace(postfixRegex, \"\").replace(decoratorsRegex, \"\")\r\n }\r\n return result\r\n },\r\n _getStubs: function(format) {\r\n var regExpResult = /[^']([#0.,]+)/g.exec(format);\r\n var pattern = regExpResult && regExpResult[0].trim();\r\n return format.split(pattern).map((function(stub) {\r\n return stub.replace(/'/g, \"\")\r\n }))\r\n },\r\n _truncateToPrecision: function(value, maxPrecision) {\r\n if (isDefined(value)) {\r\n var strValue = value.toString();\r\n var decimalSeparatorIndex = strValue.indexOf(\".\");\r\n if (strValue && decimalSeparatorIndex > -1) {\r\n var parsedValue = parseFloat(strValue.substr(0, decimalSeparatorIndex + maxPrecision + 1));\r\n return isNaN(parsedValue) ? value : parsedValue\r\n }\r\n }\r\n return value\r\n },\r\n _tryParse: function(text, selection, char) {\r\n var editedText = this._replaceSelectedText(text, selection, char);\r\n var format = this._getFormatPattern();\r\n var isTextSelected = selection.start !== selection.end;\r\n var parsedValue = this._getParsedValue(editedText, format);\r\n var maxPrecision = !format.parser && this._getPrecisionLimits(editedText).max;\r\n var isValueChanged = parsedValue !== this._parsedValue;\r\n var decimalSeparator = number.getDecimalSeparator();\r\n var isDecimalPointRestricted = char === decimalSeparator && 0 === maxPrecision;\r\n var isUselessCharRestricted = !isTextSelected && !isValueChanged && char !== MINUS && !this._isValueIncomplete(editedText) && this._isStub(char);\r\n if (isDecimalPointRestricted || isUselessCharRestricted) {\r\n return\r\n }\r\n if (\"\" === this._removeStubs(editedText)) {\r\n parsedValue = Math.abs(0 * this._parsedValue)\r\n }\r\n if (isNaN(parsedValue)) {\r\n return\r\n }\r\n var value = null === parsedValue ? this._parsedValue : parsedValue;\r\n parsedValue = maxPrecision ? this._truncateToPrecision(value, maxPrecision) : parsedValue;\r\n return !format.parser && this._isPercentFormat() ? adjustPercentValue(parsedValue, maxPrecision) : parsedValue\r\n },\r\n _getParsedValue: function(text, format) {\r\n var sign = number.getSign(text, (null === format || void 0 === format ? void 0 : format.formatter) || format);\r\n var textWithoutStubs = this._removeStubs(text, true);\r\n var parsedValue = this._parse(textWithoutStubs, format);\r\n var parsedValueSign = parsedValue < 0 ? -1 : 1;\r\n var parsedValueWithSign = isNumeric(parsedValue) && sign !== parsedValueSign ? sign * parsedValue : parsedValue;\r\n return parsedValueWithSign\r\n },\r\n _isValueIncomplete: function(text) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(text)\r\n }\r\n var caret = this._caret();\r\n var point = number.getDecimalSeparator();\r\n var pointIndex = this._getTextSeparatorIndex(text);\r\n var isCaretOnFloat = pointIndex >= 0 && pointIndex < caret.start;\r\n var textParts = this._removeStubs(text, true).split(point);\r\n if (!isCaretOnFloat || 2 !== textParts.length) {\r\n return false\r\n }\r\n var floatLength = textParts[1].length;\r\n var format = this._getFormatPattern();\r\n var isCustomParser = !!format.parser;\r\n var precision = !isCustomParser && this._getPrecisionLimits(this._getFormatPattern(), text);\r\n var isPrecisionInRange = isCustomParser ? true : inRange(floatLength, precision.min, precision.max);\r\n var endsWithZero = \"0\" === textParts[1].charAt(floatLength - 1);\r\n return isPrecisionInRange && (endsWithZero || !floatLength)\r\n },\r\n _isValueInRange: function(value) {\r\n var min = ensureDefined(this.option(\"min\"), -1 / 0);\r\n var max = ensureDefined(this.option(\"max\"), 1 / 0);\r\n return inRange(value, min, max)\r\n },\r\n _setInputText: function(text) {\r\n var normalizedText = number.convertDigits(text, true);\r\n var newCaret = getCaretAfterFormat(this._getInputVal(), normalizedText, this._caret(), this._getFormatPattern());\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler();\r\n this._formattedValue = text;\r\n if (!this._focusOutOccurs) {\r\n this._caret(newCaret)\r\n }\r\n },\r\n _useMaskBehavior: function() {\r\n return !!this.option(\"format\") && this.option(\"useMaskBehavior\")\r\n },\r\n _renderInputType: function() {\r\n var isNumberType = \"number\" === this.option(\"mode\");\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (this._useMaskBehavior() && isNumberType) {\r\n this._setInputType(isDesktop || this._isSupportInputMode() ? \"text\" : \"tel\")\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _isChar: function(str) {\r\n return isString(str) && 1 === str.length\r\n },\r\n _moveCaret: function(offset) {\r\n if (!offset) {\r\n return\r\n }\r\n var newCaret = getCaretWithOffset(this._caret(), offset);\r\n var adjustedCaret = getCaretInBoundaries(newCaret, this._getInputVal(), this._getFormatPattern());\r\n this._caret(adjustedCaret)\r\n },\r\n _shouldHandleKey: function(e) {\r\n var keyName = normalizeKeyName(e);\r\n var isSpecialChar = isCommandKeyPressed(e) || e.altKey || e.shiftKey || !this._isChar(keyName);\r\n var isMinusKey = keyName === MINUS_KEY;\r\n var useMaskBehavior = this._useMaskBehavior();\r\n return useMaskBehavior && !isSpecialChar && !isMinusKey\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderFormatter()\r\n },\r\n _renderFormatter: function() {\r\n this._clearCache();\r\n this._detachFormatterEvents();\r\n if (this._useMaskBehavior()) {\r\n this._attachFormatterEvents()\r\n }\r\n },\r\n _detachFormatterEvents: function() {\r\n eventsEngine.off(this._input(), \".\" + NUMBER_FORMATTER_NAMESPACE)\r\n },\r\n _isInputFromPaste: function(e) {\r\n var inputType = e.originalEvent && e.originalEvent.inputType;\r\n if (isDefined(inputType)) {\r\n return \"insertFromPaste\" === inputType\r\n } else {\r\n return this._isValuePasted\r\n }\r\n },\r\n _attachFormatterEvents: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, addNamespace(INPUT_EVENT, NUMBER_FORMATTER_NAMESPACE), function(e) {\r\n this._formatValue(e);\r\n this._isValuePasted = false\r\n }.bind(this));\r\n eventsEngine.on($input, addNamespace(\"dxclick\", NUMBER_FORMATTER_NAMESPACE), function() {\r\n if (!this._caretTimeout) {\r\n this._caretTimeout = setTimeout(function() {\r\n this._caretTimeout = void 0;\r\n this._caret(getCaretInBoundaries(this._caret(), this._getInputVal(), this._getFormatPattern()))\r\n }.bind(this), CARET_TIMEOUT_DURATION)\r\n }\r\n }.bind(this));\r\n eventsEngine.on($input, \"dxdblclick\", function() {\r\n this.clearCaretTimeout()\r\n }.bind(this))\r\n },\r\n clearCaretTimeout: function() {\r\n clearTimeout(this._caretTimeout);\r\n this._caretTimeout = void 0\r\n },\r\n _forceRefreshInputValue: function() {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase()\r\n }\r\n },\r\n _isNonStubAfter: function(index) {\r\n var text = this._getInputVal().slice(index);\r\n return text && !this._isStub(text, true)\r\n },\r\n _isStub: function(str, isString) {\r\n var escapedDecimalSeparator = escapeRegExp(number.getDecimalSeparator());\r\n var regExpString = \"^[^0-9\" + escapedDecimalSeparator + \"]+$\";\r\n var stubRegExp = new RegExp(regExpString, \"g\");\r\n return stubRegExp.test(str) && (isString || this._isChar(str))\r\n },\r\n _parseValue: function(text) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(text)\r\n }\r\n return this._parsedValue\r\n },\r\n _getPrecisionLimits: function(text) {\r\n var currentFormat = this._getFormatForSign(text);\r\n var realSeparatorIndex = getRealSeparatorIndex(currentFormat).index;\r\n var floatPart = (splitByIndex(currentFormat, realSeparatorIndex)[1] || \"\").replace(/[^#0]/g, \"\");\r\n var minPrecision = floatPart.replace(/^(0*)#*/, \"$1\").length;\r\n var maxPrecision = floatPart.length;\r\n return {\r\n min: minPrecision,\r\n max: maxPrecision\r\n }\r\n },\r\n _revertSign: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n if (caret.start !== caret.end) {\r\n if (normalizeKeyName(e) === MINUS_KEY) {\r\n this._applyRevertedSign(e, caret, true);\r\n return\r\n } else {\r\n this._caret(getCaretInBoundaries(0, this._getInputVal(), this._getFormatPattern()))\r\n }\r\n }\r\n this._applyRevertedSign(e, caret)\r\n },\r\n _applyRevertedSign: function(e, caret, preserveSelectedText) {\r\n var newValue = -1 * ensureDefined(this._parsedValue, null);\r\n if (this._isValueInRange(newValue) || 0 === newValue) {\r\n this._parsedValue = newValue;\r\n if (preserveSelectedText) {\r\n var format = this._getFormatPattern();\r\n var previousText = this._getInputVal();\r\n this._setTextByParsedValue();\r\n e.preventDefault();\r\n var currentText = this._getInputVal();\r\n var offset = getCaretOffset(previousText, currentText, format);\r\n caret = getCaretWithOffset(caret, offset);\r\n var caretInBoundaries = getCaretInBoundaries(caret, currentText, format);\r\n this._caret(caretInBoundaries)\r\n }\r\n }\r\n },\r\n _removeMinusFromText: function(text, caret) {\r\n var isMinusPressed = this._lastKeyName === MINUS_KEY && text.charAt(caret.start - 1) === MINUS;\r\n return isMinusPressed ? this._replaceSelectedText(text, {\r\n start: caret.start - 1,\r\n end: caret.start\r\n }, \"\") : text\r\n },\r\n _setTextByParsedValue: function() {\r\n var format = this._getFormatPattern();\r\n var parsed = this._parseValue();\r\n var formatted = this._format(parsed, format) || \"\";\r\n this._setInputText(formatted)\r\n },\r\n _formatValue: function(e) {\r\n var normalizedText = this._getInputVal();\r\n var caret = this._caret();\r\n var textWithoutMinus = this._removeMinusFromText(normalizedText, caret);\r\n var wasMinusRemoved = textWithoutMinus !== normalizedText;\r\n normalizedText = textWithoutMinus;\r\n if (!this._isInputFromPaste(e) && this._isValueIncomplete(textWithoutMinus)) {\r\n this._formattedValue = normalizedText;\r\n if (wasMinusRemoved) {\r\n this._setTextByParsedValue()\r\n }\r\n return\r\n }\r\n var textWasChanged = number.convertDigits(this._formattedValue, true) !== normalizedText;\r\n if (textWasChanged) {\r\n var value = this._tryParse(normalizedText, caret, \"\");\r\n if (isDefined(value)) {\r\n this._parsedValue = value\r\n }\r\n }\r\n this._setTextByParsedValue()\r\n },\r\n _renderDisplayText: function() {\r\n if (this._useMaskBehavior()) {\r\n this._toggleEmptinessEventHandler()\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._useMaskBehavior()) {\r\n this._parsedValue = this.option(\"value\");\r\n this._setTextByParsedValue()\r\n }\r\n return this.callBase()\r\n },\r\n _updateParsedValue: function() {\r\n var inputValue = this._getInputVal();\r\n this._parsedValue = this._tryParse(inputValue, this._caret())\r\n },\r\n _adjustParsedValue: function() {\r\n if (!this._useMaskBehavior()) {\r\n return\r\n }\r\n var clearedText = this._removeStubs(this._getInputVal());\r\n var parsedValue = clearedText ? this._parseValue() : null;\r\n if (!isNumeric(parsedValue)) {\r\n this._parsedValue = parsedValue;\r\n return\r\n }\r\n this._parsedValue = fitIntoRange(parsedValue, this.option(\"min\"), this.option(\"max\"))\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._useMaskBehavior()) {\r\n return this.callBase(e)\r\n }\r\n var caret = this._caret();\r\n this._saveValueChangeEvent(e);\r\n this._lastKey = null;\r\n this._lastKeyName = null;\r\n this._updateParsedValue();\r\n this._adjustParsedValue();\r\n this.option(\"value\", this._parsedValue);\r\n if (caret) {\r\n this._caret(caret)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"format\":\r\n case \"useMaskBehavior\":\r\n this._renderInputType();\r\n this._updateFormat();\r\n this._renderFormatter();\r\n this._renderValue();\r\n this._refreshValueChangeEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"min\":\r\n case \"max\":\r\n this._adjustParsedValue();\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearCache: function() {\r\n delete this._formattedValue;\r\n delete this._lastKey;\r\n delete this._lastKeyName;\r\n delete this._parsedValue;\r\n delete this._focusOutOccurs;\r\n clearTimeout(this._caretTimeout);\r\n delete this._caretTimeout\r\n },\r\n _clean: function() {\r\n this._clearCache();\r\n this.callBase()\r\n }\r\n});\r\nexport default NumberBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/number_box/number_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport NumberBoxMask from \"./number_box.mask\";\r\nregisterComponent(\"dxNumberBox\", NumberBoxMask);\r\nexport default NumberBoxMask;\r\n","/**\r\n * DevExtreme (esm/ui/number_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport NumberBox from \"./number_box/number_box\";\r\nexport default NumberBox;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/overlay_position_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isWindow,\r\n isEvent\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport swatch from \"../widget/swatch_container\";\r\nvar window = getWindow();\r\nvar OVERLAY_POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n};\r\nvar OVERLAY_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nclass OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: $root,\r\n $content: $content,\r\n $wrapper: $wrapper,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n } = _ref;\r\n this._props = {\r\n position: position,\r\n container: container,\r\n visualContainer: visualContainer,\r\n restorePosition: restorePosition,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n };\r\n this._$root = $root;\r\n this._$content = $content;\r\n this._$wrapper = $wrapper;\r\n this._$markupContainer = void 0;\r\n this._$visualContainer = void 0;\r\n this._shouldRenderContentInitialPosition = true;\r\n this._visualPosition = void 0;\r\n this._initialPosition = void 0;\r\n this._previousVisualPosition = void 0;\r\n this.updateContainer(container);\r\n this.updatePosition(position);\r\n this.updateVisualContainer(visualContainer)\r\n }\r\n get $container() {\r\n this.updateContainer();\r\n return this._$markupContainer\r\n }\r\n get $visualContainer() {\r\n return this._$visualContainer\r\n }\r\n get position() {\r\n return this._position\r\n }\r\n set fixWrapperPosition(fixWrapperPosition) {\r\n this._props._fixWrapperPosition = fixWrapperPosition;\r\n this.styleWrapperPosition()\r\n }\r\n set restorePosition(restorePosition) {\r\n this._props.restorePosition = restorePosition\r\n }\r\n restorePositionOnNextRender(value) {\r\n this._shouldRenderContentInitialPosition = value || !this._visualPosition\r\n }\r\n openingHandled() {\r\n var shouldRestorePosition = this._props.restorePosition;\r\n this.restorePositionOnNextRender(shouldRestorePosition)\r\n }\r\n updatePosition(positionProp) {\r\n this._props.position = positionProp;\r\n this._position = this._normalizePosition(positionProp);\r\n this.updateVisualContainer()\r\n }\r\n updateContainer() {\r\n var containerProp = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.container;\r\n this._props.container = containerProp;\r\n this._$markupContainer = containerProp ? $(containerProp) : swatch.getSwatchContainer(this._$root);\r\n this.updateVisualContainer(this._props.visualContainer)\r\n }\r\n updateVisualContainer() {\r\n var visualContainer = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._props.visualContainer;\r\n this._props.visualContainer = visualContainer;\r\n this._$visualContainer = this._getVisualContainer()\r\n }\r\n detectVisualPositionChange(event) {\r\n this._updateVisualPositionValue();\r\n this._raisePositionedEvents(event)\r\n }\r\n positionContent() {\r\n if (this._shouldRenderContentInitialPosition) {\r\n this._renderContentInitialPosition()\r\n } else {\r\n move(this._$content, this._visualPosition);\r\n this.detectVisualPositionChange()\r\n }\r\n }\r\n positionWrapper() {\r\n if (this._$visualContainer) {\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: this._$visualContainer\r\n })\r\n }\r\n }\r\n styleWrapperPosition() {\r\n var useFixed = isWindow(this.$visualContainer.get(0)) || this._props._fixWrapperPosition;\r\n var positionStyle = useFixed ? \"fixed\" : \"absolute\";\r\n this._$wrapper.css(\"position\", positionStyle)\r\n }\r\n _updateVisualPositionValue() {\r\n this._previousVisualPosition = this._visualPosition;\r\n this._visualPosition = locate(this._$content)\r\n }\r\n _renderContentInitialPosition() {\r\n this._renderBoundaryOffset();\r\n resetPosition(this._$content);\r\n var wrapperOverflow = this._$wrapper.css(\"overflow\");\r\n this._$wrapper.css(\"overflow\", \"hidden\");\r\n var resultPosition = positionUtils.setup(this._$content, this._position);\r\n this._$wrapper.css(\"overflow\", wrapperOverflow);\r\n this._initialPosition = resultPosition;\r\n this.detectVisualPositionChange()\r\n }\r\n _raisePositionedEvents(event) {\r\n var previousPosition = this._previousVisualPosition;\r\n var newPosition = this._visualPosition;\r\n var isVisualPositionChanged = (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.top) !== newPosition.top || (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.left) !== newPosition.left;\r\n if (isVisualPositionChanged) {\r\n this._props.onVisualPositionChanged({\r\n previousPosition: previousPosition,\r\n position: newPosition,\r\n event: event\r\n })\r\n }\r\n this._props.onPositioned({\r\n position: this._initialPosition\r\n })\r\n }\r\n _renderBoundaryOffset() {\r\n var _this$_position;\r\n var boundaryOffset = null !== (_this$_position = this._position) && void 0 !== _this$_position ? _this$_position : {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n this._$content.css(\"margin\", \"\".concat(boundaryOffset.v, \"px \").concat(boundaryOffset.h, \"px\"))\r\n }\r\n _getVisualContainer() {\r\n var _this$_props$position, _this$_props$position2;\r\n var containerProp = this._props.container;\r\n var visualContainerProp = this._props.visualContainer;\r\n var positionOf = isEvent(null === (_this$_props$position = this._props.position) || void 0 === _this$_props$position ? void 0 : _this$_props$position.of) ? this._props.position.of.target : null === (_this$_props$position2 = this._props.position) || void 0 === _this$_props$position2 ? void 0 : _this$_props$position2.of;\r\n if (visualContainerProp) {\r\n return $(visualContainerProp)\r\n }\r\n if (containerProp) {\r\n return $(containerProp)\r\n }\r\n if (positionOf) {\r\n return $(positionOf)\r\n }\r\n return $(window)\r\n }\r\n _normalizePosition(positionProp) {\r\n var defaultPositionConfig = {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n if (isDefined(positionProp)) {\r\n return extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n return defaultPositionConfig\r\n }\r\n }\r\n _positionToObject(position) {\r\n if (isString(position)) {\r\n return extend({}, OVERLAY_POSITION_ALIASES[position])\r\n }\r\n return position\r\n }\r\n}\r\nexport {\r\n OVERLAY_POSITION_ALIASES,\r\n OverlayPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/mobile/hide_callback.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n if (!callbacks.includes(callback)) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = callbacks.indexOf(callback);\r\n if (-1 !== indexOfCallback) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop();\r\n var result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/ui/overlay/ui.overlay.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport fx from \"../../animation/fx\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n contains,\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n isPromise,\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport {\r\n changeCallback\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport errors from \"../../core/errors\";\r\nimport uiErrors from \"../widget/ui.errors\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n move as dragEventMove\r\n} from \"../../events/drag\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n triggerHidingEvent,\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n hideCallback as hideTopOverlayCallback\r\n} from \"../../mobile/hide_callback\";\r\nimport {\r\n tabbable\r\n} from \"../widget/selectors\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport * as zIndexPool from \"./z_index\";\r\nimport {\r\n OverlayPositionController,\r\n OVERLAY_POSITION_ALIASES\r\n} from \"./overlay_position_controller\";\r\nvar ready = readyCallbacks.add;\r\nvar window = getWindow();\r\nvar viewPortChanged = changeCallback;\r\nvar OVERLAY_CLASS = \"dx-overlay\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar OVERLAY_SHADER_CLASS = \"dx-overlay-shader\";\r\nvar INNER_OVERLAY_CLASS = \"dx-inner-overlay\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\";\r\nvar OVERLAY_STACK = [];\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nready(() => {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, e => {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n wrapperAttr: {},\r\n position: extend({}, OVERLAY_POSITION_ALIASES.center),\r\n width: \"80vw\",\r\n minWidth: null,\r\n maxWidth: null,\r\n height: \"80vh\",\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n },\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n hideOnOutsideClick: false,\r\n copyRootClassesToWrapper: false,\r\n _ignoreCopyRootClassesToWrapperDeprecation: false,\r\n _ignoreElementAttrDeprecation: false,\r\n _ignorePreventScrollEventsDeprecation: false,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n innerOverlay: false,\r\n restorePosition: true,\r\n container: void 0,\r\n visualContainer: void 0,\r\n hideTopOverlayHandler: () => {\r\n this.hide()\r\n },\r\n hideOnParentScroll: false,\r\n preventScrollEvents: true,\r\n onPositioned: null,\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _fixWrapperPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n $wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n closeOnOutsideClick: {\r\n since: \"22.1\",\r\n alias: \"hideOnOutsideClick\"\r\n }\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this.callBase(element, options);\r\n if (options) {\r\n if (options.copyRootClassesToWrapper && !options._ignoreCopyRootClassesToWrapperDeprecation) {\r\n this._logDeprecatedOptionWarning(\"copyRootClassesToWrapper\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (options.elementAttr && !options._ignoreElementAttrDeprecation) {\r\n this._logDeprecatedOptionWarning(\"elementAttr\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (\"preventScrollEvents\" in options && !options._ignorePreventScrollEventsDeprecation) {\r\n this._logDeprecatedPreventScrollEventsInfo()\r\n }\r\n }\r\n },\r\n _logDeprecatedPreventScrollEventsInfo() {\r\n this._logDeprecatedOptionWarning(\"preventScrollEvents\", {\r\n since: \"23.1\",\r\n message: \"If you enable this option, end-users may experience scrolling issues.\"\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initHideOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._customWrapperClass = null;\r\n this._$wrapper = $(\"<div>\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"<div>\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n if (this.option(\"copyRootClassesToWrapper\")) {\r\n this._$wrapper.addClass($element.attr(\"class\"))\r\n }\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"));\r\n this._parentsScrollSubscriptionInfo = {\r\n handler: e => {\r\n this._hideOnParentsScrollHandler(e)\r\n }\r\n };\r\n this.warnPositionAsFunction()\r\n },\r\n warnPositionAsFunction() {\r\n if (isFunction(this.option(\"position\"))) {\r\n errors.log(\"W0018\")\r\n }\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _getActionsList: function() {\r\n return [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioned\", \"onVisualPositionChanged\"]\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n var actions = this._getActionsList();\r\n each(actions, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n })\r\n },\r\n _initHideOnOutsideClickHandler: function() {\r\n var _this = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return _this._documentDownHandler(...arguments)\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._renderWrapperAttributes();\r\n this._initPositionController()\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var isAttachedTarget = $(window.document).is(e.target) || contains(window.document, e.target);\r\n var isInnerOverlay = $(e.target).closest(\".\".concat(INNER_OVERLAY_CLASS)).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || contains(this._$content.get(0), e.target));\r\n if (outsideClick && this._shouldHideOnOutsideClick(e)) {\r\n this._outsideClickHandler(e)\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _shouldHideOnOutsideClick: function(e) {\r\n var {\r\n hideOnOutsideClick: hideOnOutsideClick\r\n } = this.option();\r\n if (isFunction(hideOnOutsideClick)) {\r\n return hideOnOutsideClick(e)\r\n }\r\n return hideOnOutsideClick\r\n },\r\n _outsideClickHandler(e) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n var _this2 = this;\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = function() {\r\n _this2._viewPortChangeHandler(...arguments)\r\n };\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._positionController.updateContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderWrapperAttributes() {\r\n var {\r\n wrapperAttr: wrapperAttr\r\n } = this.option();\r\n var attributes = extend({}, wrapperAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$wrapper().attr(attributes).removeClass(this._customWrapperClass).addClass(classNames);\r\n this._customWrapperClass = classNames\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _getAnimationConfig: function() {\r\n return this._getOptionValue(\"animation\", this)\r\n },\r\n _toggleBodyScroll: noop,\r\n _animateShowing: function() {\r\n var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this3 = this;\r\n var animation = null !== (_this$_getAnimationCo = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo ? _this$_getAnimationCo : {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = null !== (_showAnimation$start = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.start) && void 0 !== _showAnimation$start ? _showAnimation$start : noop;\r\n var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : noop;\r\n this._animate(showAnimation, (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n if (_this3.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(_this3._focusTarget(), \"focus\")\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n completeShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = false;\r\n _this3._isHidden = false;\r\n _this3._actions.onShown();\r\n _this3._toggleSafariScrolling();\r\n _this3._showingDeferred.resolve()\r\n }), (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n startShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = true\r\n }))\r\n },\r\n _processShowingHidingCancel: function(cancelArg, applyFunction, cancelFunction) {\r\n if (isPromise(cancelArg)) {\r\n cancelArg.then(shouldCancel => {\r\n if (shouldCancel) {\r\n cancelFunction()\r\n } else {\r\n applyFunction()\r\n }\r\n }).catch(() => applyFunction())\r\n } else {\r\n cancelArg ? cancelFunction() : applyFunction()\r\n }\r\n },\r\n _show: function() {\r\n this._showingDeferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n this._showingDeferred.done(() => {\r\n delete this._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return this._showingDeferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n this._showingDeferred.reject()\r\n } else {\r\n var show = () => {\r\n this._toggleBodyScroll(this.option(\"enableBodyScroll\"));\r\n this._stopAnimation();\r\n this._toggleVisibility(true);\r\n this._$content.css(\"visibility\", \"hidden\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, false);\r\n this._updateZIndexStackPosition(true);\r\n this._positionController.openingHandled();\r\n this._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onShowing(showingArgs);\r\n this._processShowingHidingCancel(showingArgs.cancel, () => {\r\n this._$content.css(\"visibility\", \"\");\r\n this._renderVisibility(true);\r\n this._animateShowing()\r\n }, () => {\r\n this._toggleVisibility(false);\r\n this._$content.css(\"visibility\", \"\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._isShowingActionCanceled = true;\r\n this._moveFromContainer();\r\n this.option(\"visible\", false);\r\n this._showingDeferred.resolve()\r\n })\r\n };\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return this._showingDeferred.promise()\r\n },\r\n _normalizeAnimation: function(showHideConfig, direction) {\r\n if (showHideConfig) {\r\n showHideConfig = extend({\r\n type: \"slide\",\r\n skipElementInitialStyles: true\r\n }, showHideConfig);\r\n if (isObject(showHideConfig[direction])) {\r\n extend(showHideConfig[direction], {\r\n position: this._positionController.position\r\n })\r\n }\r\n }\r\n return showHideConfig\r\n },\r\n _animateHiding: function() {\r\n var _this$_getAnimationCo2, _hideAnimation$start, _hideAnimation$comple, _this4 = this;\r\n var animation = null !== (_this$_getAnimationCo2 = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo2 ? _this$_getAnimationCo2 : {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = null !== (_hideAnimation$start = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.start) && void 0 !== _hideAnimation$start ? _hideAnimation$start : noop;\r\n var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : noop;\r\n this._animate(hideAnimation, (function() {\r\n var _this4$_actions;\r\n _this4._$content.css(\"pointerEvents\", \"\");\r\n _this4._renderVisibility(false);\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n completeHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = false;\r\n null === (_this4$_actions = _this4._actions) || void 0 === _this4$_actions ? void 0 : _this4$_actions.onHidden();\r\n _this4._hidingDeferred.resolve()\r\n }), (function() {\r\n _this4._$content.css(\"pointerEvents\", \"none\");\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n startHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = true\r\n }))\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n this._hidingDeferred = new Deferred;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n delete this._isShowingActionCanceled;\r\n this._hidingDeferred.reject()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n this._toggleSafariScrolling();\r\n this._toggleBodyScroll(true);\r\n this._processShowingHidingCancel(hidingArgs.cancel, () => {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animateHiding()\r\n }, () => {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n this._hidingDeferred.resolve()\r\n })\r\n }\r\n return this._hidingDeferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n triggerHidingEvent(this._$content)\r\n }\r\n if (visible) {\r\n this._checkContainerExists();\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n triggerShownEvent(this._$content);\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack();\r\n var index = overlayStack.indexOf(this);\r\n if (pushToStack) {\r\n if (-1 === index) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else if (-1 !== index) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var _this5 = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n _this5._tabKeyHandler(...arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if (normalizeKeyName(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds();\r\n var $firstTabbable = tabbableElements.first;\r\n var $lastTabbable = tabbableElements.last;\r\n var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0);\r\n var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0);\r\n var isEmptyTabList = 0 === tabbableElements.length;\r\n var isOutsideTarget = !contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleHideOnParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe) {\r\n hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleHideOnParentsScrollSubscription: function(needSubscribe) {\r\n var _this$_parentsScrollS;\r\n var scrollEvent = addNamespace(\"scroll\", this.NAME);\r\n var {\r\n prevTargets: prevTargets,\r\n handler: handler\r\n } = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {};\r\n eventsEngine.off(prevTargets, scrollEvent, handler);\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (needSubscribe && closeOnScroll) {\r\n var $parents = this._hideOnParentScrollTarget().parents();\r\n if (\"desktop\" === devices.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n eventsEngine.on($parents, scrollEvent, handler);\r\n this._parentsScrollSubscriptionInfo.prevTargets = $parents\r\n }\r\n },\r\n _hideOnParentsScrollHandler: function(e) {\r\n var closeHandled = false;\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (isFunction(closeOnScroll)) {\r\n closeHandled = closeOnScroll(e)\r\n }\r\n if (!closeHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _hideOnParentScrollTarget: function() {\r\n return this._$wrapper\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each((function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var whenContentRendered = new Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: () => {\r\n whenContentRendered.resolve();\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._dimensionChanged()\r\n }\r\n }\r\n });\r\n this._toggleWrapperScrollEventsSubscription(this.option(\"preventScrollEvents\"));\r\n whenContentRendered.done(() => {\r\n if (this.option(\"visible\")) {\r\n this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n container: container,\r\n visualContainer: visualContainer,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n restorePosition: restorePosition\r\n } = this.option();\r\n return {\r\n container: container,\r\n visualContainer: visualContainer,\r\n $root: this.$element(),\r\n $content: this._$content,\r\n $wrapper: this._$wrapper,\r\n onPositioned: this._actions.onPositioned,\r\n onVisualPositionChanged: this._actions.onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n }\r\n },\r\n _initPositionController() {\r\n this._positionController = new OverlayPositionController(this._getPositionControllerConfig())\r\n },\r\n _toggleWrapperScrollEventsSubscription: function(enabled) {\r\n var eventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off(this._$wrapper, eventName);\r\n if (enabled) {\r\n eventsEngine.on(this._$wrapper, eventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: noop,\r\n isNative: true\r\n }, e => {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var {\r\n type: type\r\n } = originalEvent || {};\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !isCommandKeyPressed(e);\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._$wrapper.detach()\r\n },\r\n _checkContainerExists() {\r\n var $wrapperContainer = this._positionController.$container;\r\n if (void 0 === $wrapperContainer) {\r\n return\r\n }\r\n var containerExists = $wrapperContainer.length > 0;\r\n if (!containerExists) {\r\n uiErrors.log(\"W1021\", this.NAME)\r\n }\r\n },\r\n _moveToContainer: function() {\r\n var $wrapperContainer = this._positionController.$container;\r\n this._$wrapper.appendTo($wrapperContainer);\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n this._stopAnimation();\r\n this._renderGeometryImpl()\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n this._positionController.updatePosition(this._getOptionValue(\"position\"));\r\n this._renderWrapper();\r\n this._renderDimensions();\r\n this._renderPosition()\r\n },\r\n _renderPosition() {\r\n this._positionController.positionContent()\r\n },\r\n _isAllWindowCovered: function() {\r\n return isWindow(this._positionController.$visualContainer.get(0)) && this.option(\"shading\")\r\n },\r\n _toggleSafariScrolling: function() {\r\n var visible = this.option(\"visible\");\r\n var $body = $(domAdapter.getBody());\r\n var isIosSafari = \"ios\" === devices.real().platform && browser.safari;\r\n var isAllWindowCovered = this._isAllWindowCovered();\r\n var isScrollingPrevented = $body.hasClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n var shouldPreventScrolling = !isScrollingPrevented && visible && isAllWindowCovered;\r\n var shouldEnableScrolling = isScrollingPrevented && (!visible || !isAllWindowCovered || this._disposed);\r\n if (isIosSafari) {\r\n if (shouldEnableScrolling) {\r\n $body.removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._cachedBodyScrollTop);\r\n this._cachedBodyScrollTop = void 0\r\n } else if (shouldPreventScrolling) {\r\n this._cachedBodyScrollTop = window.pageYOffset;\r\n $body.addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._positionController.styleWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._positionController.positionWrapper()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var $visualContainer = this._positionController.$visualContainer;\r\n var documentElement = domAdapter.getDocumentElement();\r\n var isVisualContainerWindow = isWindow($visualContainer.get(0));\r\n var wrapperWidth = isVisualContainerWindow ? documentElement.clientWidth : getOuterWidth($visualContainer);\r\n var wrapperHeight = isVisualContainerWindow ? window.innerHeight : getOuterHeight($visualContainer);\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardListenerId = keyboard.on(this._$content, null, opts => this._keyboardHandler(opts))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase(...arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry()\r\n },\r\n _clean: function() {\r\n var options = this.option();\r\n if (!this._contentAlreadyRendered && !options.isRenovated) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._actions = null;\r\n this._parentsScrollSubscriptionInfo = null;\r\n this.callBase();\r\n this._toggleSafariScrolling();\r\n this.option(\"visible\") && zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n value: value,\r\n name: name\r\n } = args;\r\n if (this._getActionsList().includes(name)) {\r\n this._initActions();\r\n return\r\n }\r\n switch (name) {\r\n case \"animation\":\r\n break;\r\n case \"shading\":\r\n this._toggleShading(this.option(\"visible\"));\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this._renderGeometry();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionController.updatePosition(this.option(\"position\"));\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(() => {\r\n var _this$_animateDeferre;\r\n return null === (_this$_animateDeferre = this._animateDeferred) || void 0 === _this$_animateDeferre ? void 0 : _this$_animateDeferre.resolveWith(this)\r\n }).fail(() => {\r\n var _this$_animateDeferre2;\r\n return null === (_this$_animateDeferre2 = this._animateDeferred) || void 0 === _this$_animateDeferre2 ? void 0 : _this$_animateDeferre2.reject()\r\n });\r\n break;\r\n case \"container\":\r\n this._positionController.updateContainer(value);\r\n this._invalidate();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visualContainer\":\r\n this._positionController.updateVisualContainer(value);\r\n this._renderWrapper();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"hideTopOverlayHandler\":\r\n this._toggleHideTopOverlayCallback(false);\r\n this._initHideTopOverlayHandler(value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"hideOnParentScroll\":\r\n this._toggleHideOnParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"hideOnOutsideClick\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixWrapperPosition\":\r\n this._positionController.fixWrapperPosition = value;\r\n break;\r\n case \"wrapperAttr\":\r\n this._renderWrapperAttributes();\r\n break;\r\n case \"restorePosition\":\r\n this._positionController.restorePosition = value;\r\n break;\r\n case \"preventScrollEvents\":\r\n this._logDeprecatedPreventScrollEventsInfo();\r\n this._toggleWrapperScrollEventsSubscription(value);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(() => {\r\n delete this._animateDeferred;\r\n result.resolveWith(this, [this.option(\"visible\")])\r\n }).fail(() => {\r\n delete this._animateDeferred;\r\n result.reject()\r\n });\r\n return result.promise()\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry({\r\n forceStopAnimation: true\r\n });\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = zIndex => zIndexPool.base(zIndex);\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nexport default Overlay;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/z_index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nexport var base = ZIndex => {\r\n baseZIndex = ensureDefined(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexport var create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nexport var remove = zIndex => {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexport var isLastZIndexInStack = zIndex => zIndexStack.length && zIndexStack[zIndexStack.length - 1] === zIndex;\r\nexport var clearStack = () => {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_drag.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getOffset,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n start as dragStartEvent,\r\n move as dragMoveEvent,\r\n end as dragEndEvent\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar KEYBOARD_DRAG_STEP = 5;\r\nclass PopupDrag {\r\n constructor(config) {\r\n this.init(config)\r\n }\r\n init(_ref) {\r\n var {\r\n dragEnabled: dragEnabled,\r\n handle: handle,\r\n draggableElement: draggableElement,\r\n positionController: positionController\r\n } = _ref;\r\n this._positionController = positionController;\r\n this._draggableElement = draggableElement;\r\n this._handle = handle;\r\n this._dragEnabled = dragEnabled;\r\n this.unsubscribe();\r\n if (!dragEnabled) {\r\n return\r\n }\r\n this.subscribe()\r\n }\r\n moveDown(e) {\r\n this._moveTo(KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveUp(e) {\r\n this._moveTo(-KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveLeft(e) {\r\n this._moveTo(0, -KEYBOARD_DRAG_STEP, e)\r\n }\r\n moveRight(e) {\r\n this._moveTo(0, KEYBOARD_DRAG_STEP, e)\r\n }\r\n subscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.on(this._handle, eventNames.startEventName, e => {\r\n this._dragStartHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.updateEventName, e => {\r\n this._dragUpdateHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.endEventName, e => {\r\n this._dragEndHandler(e)\r\n })\r\n }\r\n unsubscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.off(this._handle, eventNames.startEventName);\r\n eventsEngine.off(this._handle, eventNames.updateEventName);\r\n eventsEngine.off(this._handle, eventNames.endEventName)\r\n }\r\n _getEventNames() {\r\n var startEventName = addNamespace(dragStartEvent, \"overlayDrag\");\r\n var updateEventName = addNamespace(dragMoveEvent, \"overlayDrag\");\r\n var endEventName = addNamespace(dragEndEvent, \"overlayDrag\");\r\n return {\r\n startEventName: startEventName,\r\n updateEventName: updateEventName,\r\n endEventName: endEventName\r\n }\r\n }\r\n _dragStartHandler(e) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n e.targetElements = [];\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n }\r\n _dragUpdateHandler(e) {\r\n var targetOffset = {\r\n top: e.offset.y - this._prevOffset.y,\r\n left: e.offset.x - this._prevOffset.x\r\n };\r\n this._moveByOffset(targetOffset);\r\n this._prevOffset = e.offset\r\n }\r\n _dragEndHandler(event) {\r\n this._positionController.dragHandled();\r\n this._positionController.detectVisualPositionChange(event)\r\n }\r\n _moveTo(top, left, e) {\r\n if (!this._dragEnabled) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var offset = this._fitOffsetIntoAllowedRange(top, left);\r\n this._moveByOffset(offset);\r\n this._dragEndHandler(e)\r\n }\r\n _fitOffsetIntoAllowedRange(top, left) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n return {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n }\r\n }\r\n _getContainerDimensions() {\r\n var document = domAdapter.getDocument();\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n var containerWidth = getOuterWidth(container);\r\n var containerHeight = getOuterHeight(container);\r\n if (isWindow(container)) {\r\n containerHeight = Math.max(document.body.clientHeight, containerHeight);\r\n containerWidth = Math.max(document.body.clientWidth, containerWidth)\r\n }\r\n return {\r\n width: containerWidth,\r\n height: containerHeight\r\n }\r\n }\r\n _getContainerPosition() {\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n return isWindow(container) ? {\r\n top: 0,\r\n left: 0\r\n } : getOffset(container)\r\n }\r\n _getElementPosition() {\r\n return getOffset(this._draggableElement)\r\n }\r\n _getInnerDelta() {\r\n var containerDimensions = this._getContainerDimensions();\r\n var elementDimensions = this._getElementDimensions();\r\n return {\r\n x: containerDimensions.width - elementDimensions.width,\r\n y: containerDimensions.height - elementDimensions.height\r\n }\r\n }\r\n _getOuterDelta() {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._getElementDimensions();\r\n var outsideDragFactor = this._positionController.outsideDragFactor;\r\n return {\r\n x: width * outsideDragFactor,\r\n y: height * outsideDragFactor\r\n }\r\n }\r\n _getFullDelta() {\r\n var fullDelta = this._getInnerDelta();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n x: fullDelta.x + outerDelta.x,\r\n y: fullDelta.y + outerDelta.y\r\n }\r\n }\r\n _getElementDimensions() {\r\n return {\r\n width: this._draggableElement.offsetWidth,\r\n height: this._draggableElement.offsetHeight\r\n }\r\n }\r\n _getAllowedOffsets() {\r\n var fullDelta = this._getFullDelta();\r\n var isDragAllowed = fullDelta.y >= 0 && fullDelta.x >= 0;\r\n if (!isDragAllowed) {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n var elementPosition = this._getElementPosition();\r\n var containerPosition = this._getContainerPosition();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n top: elementPosition.top - containerPosition.top + outerDelta.y,\r\n bottom: -elementPosition.top + containerPosition.top + fullDelta.y,\r\n left: elementPosition.left - containerPosition.left + outerDelta.x,\r\n right: -elementPosition.left + containerPosition.left + fullDelta.x\r\n }\r\n }\r\n _moveByOffset(offset) {\r\n var currentPosition = locate(this._draggableElement);\r\n var newPosition = {\r\n left: currentPosition.left + offset.left,\r\n top: currentPosition.top + offset.top\r\n };\r\n move(this._draggableElement, newPosition)\r\n }\r\n}\r\nexport default PopupDrag;\r\n","/**\r\n * DevExtreme (esm/ui/resizable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getInnerWidth,\r\n getInnerHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\r\nvar RESIZABLE = \"dxResizable\";\r\nvar RESIZABLE_CLASS = \"dx-resizable\";\r\nvar RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\";\r\nvar RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\";\r\nvar RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\";\r\nvar RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\";\r\nvar RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\";\r\nvar RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\";\r\nvar RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\";\r\nvar DRAGSTART_START_EVENT_NAME = addNamespace(dragEventStart, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventMove, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = addNamespace(dragEventEnd, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true,\r\n keepAspectRatio: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n this._handles = [];\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles || !handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n var activeHandlesMap = {};\r\n each(directions, (index, handleName) => {\r\n activeHandlesMap[handleName] = true;\r\n this._renderHandle(handleName)\r\n });\r\n activeHandlesMap.bottom && activeHandlesMap.right && this._renderHandle(\"corner-bottom-right\");\r\n activeHandlesMap.bottom && activeHandlesMap.left && this._renderHandle(\"corner-bottom-left\");\r\n activeHandlesMap.top && activeHandlesMap.right && this._renderHandle(\"corner-top-right\");\r\n activeHandlesMap.top && activeHandlesMap.left && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = $(\"<div>\").addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo(this.$element());\r\n this._handles.push($handle)\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.on(handleElement, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n })\r\n },\r\n _detachEventHandlers: function() {\r\n this._handles.forEach(handleElement => {\r\n eventsEngine.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _getElementSize: function() {\r\n var $element = this.$element();\r\n return \"border-box\" === $element.css(\"boxSizing\") ? {\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element)\r\n } : {\r\n width: getWidth($element),\r\n height: getHeight($element)\r\n }\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = locate($element);\r\n this._elementSize = this._getElementSize();\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = getOuterWidth($handle);\r\n var handleHeight = getOuterHeight($handle);\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = this._leftMaxOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = this._rightMaxOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = this._topMaxOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = this._bottomMaxOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (isWindow($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _proportionate: function(direction, value) {\r\n var size = this._elementSize;\r\n var factor = \"x\" === direction ? size.width / size.height : size.height / size.width;\r\n return value * factor\r\n },\r\n _getProportionalDelta: function(_ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var proportionalY = this._proportionate(\"y\", x);\r\n if (proportionalY >= y) {\r\n return {\r\n x: x,\r\n y: proportionalY\r\n }\r\n }\r\n var proportionalX = this._proportionate(\"x\", y);\r\n if (proportionalX >= x) {\r\n return {\r\n x: proportionalX,\r\n y: y\r\n }\r\n }\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _getDirectionName: function(axis) {\r\n var sides = this._movingSides;\r\n if (\"x\" === axis) {\r\n return sides.left ? \"left\" : \"right\"\r\n } else {\r\n return sides.top ? \"top\" : \"bottom\"\r\n }\r\n },\r\n _fitIntoArea: function(axis, value) {\r\n var _this;\r\n var directionName = this._getDirectionName(axis);\r\n return Math.min(value, null !== (_this = this[\"_\".concat(directionName, \"MaxOffset\")]) && void 0 !== _this ? _this : 1 / 0)\r\n },\r\n _fitDeltaProportionally: function(delta) {\r\n var fittedDelta = _extends({}, delta);\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n var getWidth = () => size.width + fittedDelta.x;\r\n var getHeight = () => size.height + fittedDelta.y;\r\n var isInArea = axis => fittedDelta[axis] === this._fitIntoArea(axis, fittedDelta[axis]);\r\n var isFittedX = () => inRange(getWidth(), minWidth, maxWidth) && isInArea(\"x\");\r\n var isFittedY = () => inRange(getHeight(), minHeight, maxHeight) && isInArea(\"y\");\r\n if (!isFittedX()) {\r\n var x = this._fitIntoArea(\"x\", fitIntoRange(getWidth(), minWidth, maxWidth) - size.width);\r\n fittedDelta = {\r\n x: x,\r\n y: this._proportionate(\"y\", x)\r\n }\r\n }\r\n if (!isFittedY()) {\r\n var y = this._fitIntoArea(\"y\", fitIntoRange(getHeight(), minHeight, maxHeight) - size.height);\r\n fittedDelta = {\r\n x: this._proportionate(\"x\", y),\r\n y: y\r\n }\r\n }\r\n return isFittedX() && isFittedY() ? fittedDelta : {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _fitDelta: function(_ref2) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref2;\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n return {\r\n x: fitIntoRange(size.width + x, minWidth, maxWidth) - size.width,\r\n y: fitIntoRange(size.height + y, minHeight, maxHeight) - size.height\r\n }\r\n },\r\n _getDeltaByOffset: function(offset) {\r\n var sides = this._movingSides;\r\n var shouldKeepAspectRatio = this._isCornerHandler(sides) && this.option(\"keepAspectRatio\");\r\n var delta = {\r\n x: offset.x * (sides.left ? -1 : 1),\r\n y: offset.y * (sides.top ? -1 : 1)\r\n };\r\n if (shouldKeepAspectRatio) {\r\n var proportionalDelta = this._getProportionalDelta(delta);\r\n var fittedProportionalDelta = this._fitDeltaProportionally(proportionalDelta);\r\n delta = fittedProportionalDelta\r\n } else {\r\n var fittedDelta = this._fitDelta(delta);\r\n var roundedFittedDelta = this._roundByStep(fittedDelta);\r\n delta = roundedFittedDelta\r\n }\r\n return delta\r\n },\r\n _updatePosition: function(delta, _ref3) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref3;\r\n var location = this._elementLocation;\r\n var sides = this._movingSides;\r\n var $element = this.$element();\r\n var elementRect = this._getElementSize();\r\n var offsetTop = delta.y * (sides.top ? -1 : 1) - ((elementRect.height || height) - height);\r\n var offsetLeft = delta.x * (sides.left ? -1 : 1) - ((elementRect.width || width) - width);\r\n move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n })\r\n },\r\n _dragHandler: function(e) {\r\n var offset = this._getOffset(e);\r\n var delta = this._getDeltaByOffset(offset);\r\n var dimensions = this._updateDimensions(delta);\r\n this._updatePosition(delta, dimensions);\r\n this._triggerResizeAction(e, dimensions)\r\n },\r\n _updateDimensions: function(delta) {\r\n var isAbsoluteSize = size => \"px\" === size.substring(size.length - 2);\r\n var isStepPrecisionStrict = \"strict\" === this.option(\"stepPrecision\");\r\n var size = this._elementSize;\r\n var width = size.width + delta.x;\r\n var height = size.height + delta.y;\r\n var elementStyle = this.$element().get(0).style;\r\n var shouldRenderWidth = delta.x || isStepPrecisionStrict || isAbsoluteSize(elementStyle.width);\r\n var shouldRenderHeight = delta.y || isStepPrecisionStrict || isAbsoluteSize(elementStyle.height);\r\n if (shouldRenderWidth) {\r\n this.option({\r\n width: width\r\n })\r\n }\r\n if (shouldRenderHeight) {\r\n this.option({\r\n height: height\r\n })\r\n }\r\n return {\r\n width: shouldRenderWidth ? width : size.width,\r\n height: shouldRenderHeight ? height : size.height\r\n }\r\n },\r\n _triggerResizeAction: function(e, _ref4) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref4;\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n triggerResizeEvent(this.$element())\r\n },\r\n _isCornerHandler: sides => 0 === Object.values(sides).reduce((xor, value) => xor ^ value, 0),\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var sides = this._movingSides;\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return offset\r\n },\r\n _roundByStep: function(delta) {\r\n return \"strict\" === this.option(\"stepPrecision\") ? this._roundStrict(delta) : this._roundNotStrict(delta)\r\n },\r\n _getSteps: function() {\r\n return pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\"))\r\n },\r\n _roundNotStrict: function(delta) {\r\n var steps = this._getSteps();\r\n return {\r\n x: delta.x - delta.x % steps.h,\r\n y: delta.y - delta.y % steps.v\r\n }\r\n },\r\n _roundStrict: function(delta) {\r\n var sides = this._movingSides;\r\n var offset = {\r\n x: delta.x * (sides.left ? -1 : 1),\r\n y: delta.y * (sides.top ? -1 : 1)\r\n };\r\n var steps = this._getSteps();\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var xPos = sides.left ? location.left : location.left + size.width;\r\n var yPos = sides.top ? location.top : location.top + size.height;\r\n var newXShift = (xPos + offset.x) % steps.h;\r\n var newYShift = (yPos + offset.y) % steps.v;\r\n var sign = Math.sign || (x => {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n });\r\n var separatorOffset = (steps, offset) => (1 + .2 * sign(offset)) % 1 * steps;\r\n var isSmallOffset = (offset, steps) => Math.abs(offset) < .2 * steps;\r\n var newOffsetX = offset.x - newXShift;\r\n var newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n var roundedOffset_x = (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n roundedOffset_y = (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0;\r\n return {\r\n x: roundedOffset_x * (sides.left ? -1 : 1),\r\n y: roundedOffset_y * (sides.top ? -1 : 1)\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(e.target);\r\n var hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\");\r\n var hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\");\r\n var hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\");\r\n var hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (isWindow(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var $area = $(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: getInnerWidth($area),\r\n height: getInnerHeight($area),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, isWindow($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0;\r\n var areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= getOuterWidth(this.$element()) - getInnerWidth(this.$element());\r\n result.height -= getOuterHeight(this.$element()) - getInnerHeight(this.$element())\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleEventHandlers(!args.value);\r\n this.callBase(args);\r\n break;\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n hasWindow() && this._renderWidth(getOuterWidth(this.$element()));\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n hasWindow() && this._renderHeight(getOuterHeight(this.$element()));\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n case \"keepAspectRatio\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(RESIZABLE, Resizable);\r\nexport default Resizable;\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_position_controller.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"fullScreen\", \"forceApplyBindings\", \"dragOutsideBoundary\", \"dragAndResizeArea\", \"outsideDragFactor\"];\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n originalViewPort\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n OverlayPositionController\r\n} from \"../overlay/overlay_position_controller\";\r\nvar window = getWindow();\r\nclass PopupPositionController extends OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = _ref, args = _objectWithoutPropertiesLoose(_ref, _excluded);\r\n super(args);\r\n this._props = _extends({}, this._props, {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n });\r\n this._$dragResizeContainer = void 0;\r\n this._updateDragResizeContainer()\r\n }\r\n set fullScreen(fullScreen) {\r\n this._props.fullScreen = fullScreen;\r\n if (fullScreen) {\r\n this._fullScreenEnabled()\r\n } else {\r\n this._fullScreenDisabled()\r\n }\r\n }\r\n get $dragResizeContainer() {\r\n return this._$dragResizeContainer\r\n }\r\n get outsideDragFactor() {\r\n if (this._props.dragOutsideBoundary) {\r\n return 1\r\n }\r\n return this._props.outsideDragFactor\r\n }\r\n set dragAndResizeArea(dragAndResizeArea) {\r\n this._props.dragAndResizeArea = dragAndResizeArea;\r\n this._updateDragResizeContainer()\r\n }\r\n set dragOutsideBoundary(dragOutsideBoundary) {\r\n this._props.dragOutsideBoundary = dragOutsideBoundary;\r\n this._updateDragResizeContainer()\r\n }\r\n set outsideDragFactor(outsideDragFactor) {\r\n this._props.outsideDragFactor = outsideDragFactor\r\n }\r\n updateContainer(containerProp) {\r\n super.updateContainer(containerProp);\r\n this._updateDragResizeContainer()\r\n }\r\n dragHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n resizeHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n positionContent() {\r\n if (this._props.fullScreen) {\r\n move(this._$content, {\r\n top: 0,\r\n left: 0\r\n });\r\n this.detectVisualPositionChange()\r\n } else {\r\n var _this$_props$forceApp, _this$_props;\r\n null === (_this$_props$forceApp = (_this$_props = this._props).forceApplyBindings) || void 0 === _this$_props$forceApp ? void 0 : _this$_props$forceApp.call(_this$_props);\r\n super.positionContent()\r\n }\r\n }\r\n _updateDragResizeContainer() {\r\n this._$dragResizeContainer = this._getDragResizeContainer()\r\n }\r\n _getDragResizeContainer() {\r\n if (this._props.dragOutsideBoundary) {\r\n return $(window)\r\n }\r\n if (this._props.dragAndResizeArea) {\r\n return $(this._props.dragAndResizeArea)\r\n }\r\n var isContainerDefined = originalViewPort().get(0) || this._props.container;\r\n return isContainerDefined ? this._$markupContainer : $(window)\r\n }\r\n _getVisualContainer() {\r\n if (this._props.fullScreen) {\r\n return $(window)\r\n }\r\n return super._getVisualContainer()\r\n }\r\n _fullScreenEnabled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n _fullScreenDisabled() {\r\n this.restorePositionOnNextRender(true)\r\n }\r\n}\r\nexport {\r\n PopupPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/popup_overflow_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar overflowManagerMock = {\r\n setOverflow: noop,\r\n restoreOverflow: noop\r\n};\r\nexport var createBodyOverflowManager = () => {\r\n if (!hasWindow()) {\r\n return overflowManagerMock\r\n }\r\n var window = getWindow();\r\n var documentElement = domAdapter.getDocument().documentElement;\r\n var body = domAdapter.getBody();\r\n var isIosDevice = \"ios\" === devices.real().platform;\r\n var prevSettings = {\r\n overflow: null,\r\n overflowX: null,\r\n overflowY: null,\r\n paddingRight: null,\r\n position: null,\r\n top: null,\r\n left: null\r\n };\r\n var setBodyPaddingRight = () => {\r\n var scrollBarWidth = window.innerWidth - documentElement.clientWidth;\r\n if (prevSettings.paddingRight || scrollBarWidth <= 0) {\r\n return\r\n }\r\n var paddingRight = window.getComputedStyle(body).getPropertyValue(\"padding-right\");\r\n var computedBodyPaddingRight = parseInt(paddingRight, 10);\r\n prevSettings.paddingRight = computedBodyPaddingRight;\r\n body.style.setProperty(\"padding-right\", \"\".concat(computedBodyPaddingRight + scrollBarWidth, \"px\"))\r\n };\r\n var restoreBodyPaddingRight = () => {\r\n if (!isDefined(prevSettings.paddingRight)) {\r\n return\r\n }\r\n if (prevSettings.paddingRight) {\r\n body.style.setProperty(\"padding-right\", \"\".concat(prevSettings.paddingRight, \"px\"))\r\n } else {\r\n body.style.removeProperty(\"padding-right\")\r\n }\r\n prevSettings.paddingRight = null\r\n };\r\n return {\r\n setOverflow: isIosDevice ? () => {\r\n if (isDefined(prevSettings.position) || \"fixed\" === body.style.position) {\r\n return\r\n }\r\n var {\r\n scrollY: scrollY,\r\n scrollX: scrollX\r\n } = window;\r\n prevSettings.position = body.style.position;\r\n prevSettings.top = body.style.top;\r\n prevSettings.left = body.style.left;\r\n body.style.setProperty(\"position\", \"fixed\");\r\n body.style.setProperty(\"top\", \"\".concat(-scrollY, \"px\"));\r\n body.style.setProperty(\"left\", \"\".concat(-scrollX, \"px\"))\r\n } : () => {\r\n setBodyPaddingRight();\r\n if (prevSettings.overflow || \"hidden\" === body.style.overflow) {\r\n return\r\n }\r\n prevSettings.overflow = body.style.overflow;\r\n prevSettings.overflowX = body.style.overflowX;\r\n prevSettings.overflowY = body.style.overflowY;\r\n body.style.setProperty(\"overflow\", \"hidden\")\r\n },\r\n restoreOverflow: isIosDevice ? () => {\r\n if (!isDefined(prevSettings.position)) {\r\n return\r\n }\r\n var scrollY = -parseInt(body.style.top, 10);\r\n var scrollX = -parseInt(body.style.left, 10);\r\n [\"position\", \"top\", \"left\"].forEach(property => {\r\n if (prevSettings[property]) {\r\n body.style.setProperty(property, prevSettings[property])\r\n } else {\r\n body.style.removeProperty(property)\r\n }\r\n });\r\n window.scrollTo(scrollX, scrollY);\r\n prevSettings.position = null\r\n } : () => {\r\n restoreBodyPaddingRight();\r\n [\"overflow\", \"overflowX\", \"overflowY\"].forEach(property => {\r\n if (!isDefined(prevSettings[property])) {\r\n return\r\n }\r\n var propertyInKebabCase = property.replace(/(X)|(Y)/, symbol => \"-\".concat(symbol.toLowerCase()));\r\n if (prevSettings[property]) {\r\n body.style.setProperty(propertyInKebabCase, prevSettings[property])\r\n } else {\r\n body.style.removeProperty(propertyInKebabCase)\r\n }\r\n prevSettings[property] = null\r\n })\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/popup/ui.popup.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n camelize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getVisibleHeight,\r\n addOffsetToMaxHeight,\r\n addOffsetToMinHeight,\r\n getVerticalOffsets,\r\n getOuterWidth,\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../../events/visibility_change\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport PopupDrag from \"./popup_drag\";\r\nimport Resizable from \"../resizable\";\r\nimport Button from \"../button\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n isMaterial,\r\n current as currentTheme\r\n} from \"../themes\";\r\nimport \"../toolbar/ui.toolbar.base\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport * as zIndexPool from \"../overlay/z_index\";\r\nimport {\r\n PopupPositionController\r\n} from \"./popup_position_controller\";\r\nimport {\r\n createBodyOverflowManager\r\n} from \"./popup_overflow_manager\";\r\nvar window = getWindow();\r\nvar POPUP_CLASS = \"dx-popup\";\r\nvar POPUP_WRAPPER_CLASS = \"dx-popup-wrapper\";\r\nvar POPUP_FULL_SCREEN_CLASS = \"dx-popup-fullscreen\";\r\nvar POPUP_FULL_SCREEN_WIDTH_CLASS = \"dx-popup-fullscreen-width\";\r\nvar POPUP_NORMAL_CLASS = \"dx-popup-normal\";\r\nvar POPUP_CONTENT_CLASS = \"dx-popup-content\";\r\nvar POPUP_CONTENT_SCROLLABLE_CLASS = \"dx-popup-content-scrollable\";\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar POPUP_DRAGGABLE_CLASS = \"dx-popup-draggable\";\r\nvar POPUP_TITLE_CLASS = \"dx-popup-title\";\r\nvar POPUP_TITLE_CLOSEBUTTON_CLASS = \"dx-closebutton\";\r\nvar POPUP_BOTTOM_CLASS = \"dx-popup-bottom\";\r\nvar POPUP_HAS_CLOSE_BUTTON_CLASS = \"dx-has-close-button\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar POPUP_CONTENT_FLEX_HEIGHT_CLASS = \"dx-popup-flex-height\";\r\nvar POPUP_CONTENT_INHERIT_HEIGHT_CLASS = \"dx-popup-inherit-height\";\r\nvar ALLOWED_TOOLBAR_ITEM_ALIASES = [\"cancel\", \"clear\", \"done\"];\r\nvar BUTTON_DEFAULT_TYPE = \"default\";\r\nvar BUTTON_NORMAL_TYPE = \"normal\";\r\nvar BUTTON_TEXT_MODE = \"text\";\r\nvar BUTTON_CONTAINED_MODE = \"contained\";\r\nvar IS_OLD_SAFARI = browser.safari && compareVersions(browser.version, [11]) < 0;\r\nvar HEIGHT_STRATEGIES = {\r\n static: \"\",\r\n inherit: POPUP_CONTENT_INHERIT_HEIGHT_CLASS,\r\n flex: POPUP_CONTENT_FLEX_HEIGHT_CLASS\r\n};\r\nvar getButtonPlace = name => {\r\n var device = devices.current();\r\n var platform = device.platform;\r\n var toolbar = \"bottom\";\r\n var location = \"before\";\r\n if (\"ios\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n toolbar = \"top\";\r\n break;\r\n case \"clear\":\r\n toolbar = \"top\";\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else if (\"android\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n }\r\n return {\r\n toolbar: toolbar,\r\n location: location\r\n }\r\n};\r\nvar Popup = Overlay.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n upArrow: e => {\r\n var _this$_drag;\r\n null === (_this$_drag = this._drag) || void 0 === _this$_drag ? void 0 : _this$_drag.moveUp(e)\r\n },\r\n downArrow: e => {\r\n var _this$_drag2;\r\n null === (_this$_drag2 = this._drag) || void 0 === _this$_drag2 ? void 0 : _this$_drag2.moveDown(e)\r\n },\r\n leftArrow: e => {\r\n var _this$_drag3;\r\n null === (_this$_drag3 = this._drag) || void 0 === _this$_drag3 ? void 0 : _this$_drag3.moveLeft(e)\r\n },\r\n rightArrow: e => {\r\n var _this$_drag4;\r\n null === (_this$_drag4 = this._drag) || void 0 === _this$_drag4 ? void 0 : _this$_drag4.moveRight(e)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n fullScreen: false,\r\n title: \"\",\r\n showTitle: true,\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n dragOutsideBoundary: false,\r\n dragEnabled: false,\r\n dragAndResizeArea: void 0,\r\n enableBodyScroll: true,\r\n outsideDragFactor: 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n resizeEnabled: false,\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n bottomTemplate: \"bottom\",\r\n useDefaultToolbarButtons: false,\r\n useFlatToolbarButtons: false,\r\n autoResizeEnabled: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = currentTheme();\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n animation: this._iosAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n animation: this._androidAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n showCloseButton: true\r\n }\r\n }, {\r\n device: function(_device) {\r\n return \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n dragEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n useDefaultToolbarButtons: true,\r\n useFlatToolbarButtons: true,\r\n showCloseButton: false\r\n }\r\n }])\r\n },\r\n _iosAnimation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n opacity: 1,\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n },\r\n to: {\r\n opacity: 1,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n }\r\n }\r\n },\r\n _androidAnimation: function() {\r\n return this.option(\"fullScreen\") ? {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: \"30%\",\r\n opacity: 0\r\n },\r\n to: {\r\n top: 0,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n top: \"30%\",\r\n opacity: 0\r\n }\r\n }\r\n } : {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n }\r\n },\r\n _init: function() {\r\n var popupWrapperClassExternal = this.option(\"_wrapperClassExternal\");\r\n var popupWrapperClasses = popupWrapperClassExternal ? \"\".concat(POPUP_WRAPPER_CLASS, \" \").concat(popupWrapperClassExternal) : POPUP_WRAPPER_CLASS;\r\n this.callBase();\r\n this._createBodyOverflowManager();\r\n this._updateResizeCallbackSkipCondition();\r\n this.$element().addClass(POPUP_CLASS);\r\n this.$wrapper().addClass(popupWrapperClasses);\r\n this._$popupContent = this._$content.wrapInner($(\"<div>\").addClass(POPUP_CONTENT_CLASS)).children().eq(0);\r\n this._toggleContentScrollClass();\r\n this.$overlayContent().attr(\"role\", \"dialog\")\r\n },\r\n _render: function() {\r\n var isFullscreen = this.option(\"fullScreen\");\r\n this._toggleFullScreenClass(isFullscreen);\r\n this.callBase()\r\n },\r\n _createBodyOverflowManager: function() {\r\n this._bodyOverflowManager = createBodyOverflowManager()\r\n },\r\n _toggleFullScreenClass: function(value) {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_CLASS, value).toggleClass(POPUP_NORMAL_CLASS, !value)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n title: new EmptyTemplate,\r\n bottom: new EmptyTemplate\r\n })\r\n },\r\n _getActionsList: function() {\r\n return this.callBase().concat([\"onResizeStart\", \"onResize\", \"onResizeEnd\"])\r\n },\r\n _contentResizeHandler: function(entry) {\r\n if (!this._shouldSkipContentResize(entry)) {\r\n this._renderGeometry({\r\n shouldOnlyReposition: true\r\n })\r\n }\r\n },\r\n _doesShowAnimationChangeDimensions: function() {\r\n var animation = this.option(\"animation\");\r\n return [\"to\", \"from\"].some(prop => {\r\n var _animation$show;\r\n var config = null === animation || void 0 === animation ? void 0 : null === (_animation$show = animation.show) || void 0 === _animation$show ? void 0 : _animation$show[prop];\r\n return isObject(config) && (\"width\" in config || \"height\" in config)\r\n })\r\n },\r\n _updateResizeCallbackSkipCondition() {\r\n var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions();\r\n this._shouldSkipContentResize = entry => doesShowAnimationChangeDimensions && this._showAnimationProcessing || this._areContentDimensionsRendered(entry)\r\n },\r\n _observeContentResize: function(shouldObserve) {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n var contentElement = this._$content.get(0);\r\n if (shouldObserve) {\r\n resizeObserverSingleton.observe(contentElement, entry => {\r\n this._contentResizeHandler(entry)\r\n })\r\n } else {\r\n resizeObserverSingleton.unobserve(contentElement)\r\n }\r\n },\r\n _areContentDimensionsRendered: function(entry) {\r\n var _entry$contentBoxSize, _this$_renderedDimens3, _this$_renderedDimens4;\r\n var contentBox = null === (_entry$contentBoxSize = entry.contentBoxSize) || void 0 === _entry$contentBoxSize ? void 0 : _entry$contentBoxSize[0];\r\n if (contentBox) {\r\n var _this$_renderedDimens, _this$_renderedDimens2;\r\n return parseInt(contentBox.inlineSize, 10) === (null === (_this$_renderedDimens = this._renderedDimensions) || void 0 === _this$_renderedDimens ? void 0 : _this$_renderedDimens.width) && parseInt(contentBox.blockSize, 10) === (null === (_this$_renderedDimens2 = this._renderedDimensions) || void 0 === _this$_renderedDimens2 ? void 0 : _this$_renderedDimens2.height)\r\n }\r\n var contentRect = entry.contentRect;\r\n return parseInt(contentRect.width, 10) === (null === (_this$_renderedDimens3 = this._renderedDimensions) || void 0 === _this$_renderedDimens3 ? void 0 : _this$_renderedDimens3.width) && parseInt(contentRect.height, 10) === (null === (_this$_renderedDimens4 = this._renderedDimensions) || void 0 === _this$_renderedDimens4 ? void 0 : _this$_renderedDimens4.height)\r\n },\r\n _renderContent() {\r\n this.callBase();\r\n this._observeContentResize(true)\r\n },\r\n _renderContentImpl: function() {\r\n this._renderTitle();\r\n this.callBase();\r\n this._renderResize();\r\n this._renderBottom()\r\n },\r\n _renderTitle: function() {\r\n var items = this._getToolbarItems(\"top\");\r\n var titleText = this.option(\"title\");\r\n var showTitle = this.option(\"showTitle\");\r\n if (showTitle && !!titleText) {\r\n items.unshift({\r\n location: devices.current().ios ? \"center\" : \"before\",\r\n text: titleText\r\n })\r\n }\r\n if (showTitle || items.length > 0) {\r\n this._$title && this._$title.remove();\r\n var $title = $(\"<div>\").addClass(POPUP_TITLE_CLASS).insertBefore(this.$content());\r\n this._$title = this._renderTemplateByType(\"titleTemplate\", items, $title).addClass(POPUP_TITLE_CLASS);\r\n this._renderDrag();\r\n this._executeTitleRenderAction(this._$title);\r\n this._$title.toggleClass(POPUP_HAS_CLOSE_BUTTON_CLASS, this._hasCloseButton())\r\n } else if (this._$title) {\r\n this._$title.detach()\r\n }\r\n },\r\n _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) {\r\n var {\r\n rtlEnabled: rtlEnabled,\r\n useDefaultToolbarButtons: useDefaultToolbarButtons,\r\n useFlatToolbarButtons: useFlatToolbarButtons,\r\n disabled: disabled\r\n } = this.option();\r\n var template = this._getTemplateByOption(optionName);\r\n var toolbarTemplate = template instanceof EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var integrationOptions = extend({}, this.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\", \"title\"]\r\n });\r\n var toolbarOptions = extend(additionalToolbarOptions, {\r\n items: data,\r\n rtlEnabled: rtlEnabled,\r\n useDefaultButtons: useDefaultToolbarButtons,\r\n useFlatButtons: useFlatToolbarButtons,\r\n disabled: disabled,\r\n integrationOptions: integrationOptions\r\n });\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: {\r\n widget: this._getToolbarName(),\r\n options: toolbarOptions\r\n }\r\n });\r\n var $toolbar = $container.children(\"div\");\r\n $container.replaceWith($toolbar);\r\n return $toolbar\r\n } else {\r\n var $result = $(template.render({\r\n container: getPublicElement($container)\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n $container.replaceWith($result);\r\n $container = $result\r\n }\r\n return $container\r\n }\r\n },\r\n _getToolbarName: function() {\r\n return \"dxToolbarBase\"\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n return this.callBase(visible)\r\n },\r\n _hide() {\r\n this._observeContentResize(false);\r\n return this.callBase()\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: getPublicElement($titleElement)\r\n })\r\n },\r\n _getTitleRenderAction: function() {\r\n return this._titleRenderAction || this._createTitleRenderAction()\r\n },\r\n _createTitleRenderAction: function() {\r\n return this._titleRenderAction = this._createActionByOption(\"onTitleRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _getCloseButton: function() {\r\n return {\r\n toolbar: \"top\",\r\n location: \"after\",\r\n template: this._getCloseButtonRenderer()\r\n }\r\n },\r\n _getCloseButtonRenderer: function() {\r\n return (_, __, container) => {\r\n var $button = $(\"<div>\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n this._createComponent($button, Button, {\r\n icon: \"close\",\r\n onClick: this._createToolbarItemAction(void 0),\r\n stylingMode: \"text\",\r\n integrationOptions: {}\r\n });\r\n $(container).append($button)\r\n }\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = devices.current().platform;\r\n var index = 0;\r\n each(toolbarItems, (_, data) => {\r\n var isShortcut = isDefined(data.shortcut);\r\n var item = isShortcut ? getButtonPlace(data.shortcut) : data;\r\n if (isShortcut && \"ios\" === currentPlatform && index < 2) {\r\n item.toolbar = \"top\";\r\n index++\r\n }\r\n item.toolbar = data.toolbar || item.toolbar || \"top\";\r\n if (item && item.toolbar === toolbar) {\r\n if (isShortcut) {\r\n extend(item, {\r\n location: data.location\r\n }, this._getToolbarItemByAlias(data))\r\n }\r\n var isLTROrder = \"generic\" === currentPlatform;\r\n if (\"done\" === data.shortcut && isLTROrder || \"cancel\" === data.shortcut && !isLTROrder) {\r\n toolbarsItems.unshift(item)\r\n } else {\r\n toolbarsItems.push(item)\r\n }\r\n }\r\n });\r\n if (\"top\" === toolbar && this._hasCloseButton()) {\r\n toolbarsItems.push(this._getCloseButton())\r\n }\r\n return toolbarsItems\r\n },\r\n _hasCloseButton() {\r\n return this.option(\"showCloseButton\") && this.option(\"showTitle\")\r\n },\r\n _getLocalizationKey: itemType => \"done\" === itemType.toLowerCase() ? \"OK\" : camelize(itemType, true),\r\n _getToolbarItemByAlias: function(data) {\r\n var that = this;\r\n var itemType = data.shortcut;\r\n if (!ALLOWED_TOOLBAR_ITEM_ALIASES.includes(itemType)) {\r\n return false\r\n }\r\n var itemConfig = extend({\r\n text: messageLocalization.format(this._getLocalizationKey(itemType)),\r\n onClick: this._createToolbarItemAction(data.onClick),\r\n integrationOptions: {},\r\n type: that.option(\"useDefaultToolbarButtons\") ? BUTTON_DEFAULT_TYPE : BUTTON_NORMAL_TYPE,\r\n stylingMode: that.option(\"useFlatToolbarButtons\") ? BUTTON_TEXT_MODE : BUTTON_CONTAINED_MODE\r\n }, data.options || {});\r\n var itemClass = POPUP_CLASS + \"-\" + itemType;\r\n this._toolbarItemClasses.push(itemClass);\r\n return {\r\n template: function(_, __, container) {\r\n var $toolbarItem = $(\"<div>\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, Button, itemConfig)\r\n }\r\n }\r\n },\r\n _createToolbarItemAction: function(clickAction) {\r\n return this._createAction(clickAction, {\r\n afterExecute: function(e) {\r\n e.component.hide()\r\n }\r\n })\r\n },\r\n _renderBottom: function() {\r\n var items = this._getToolbarItems(\"bottom\");\r\n if (items.length) {\r\n this._$bottom && this._$bottom.remove();\r\n var $bottom = $(\"<div>\").addClass(POPUP_BOTTOM_CLASS).insertAfter(this.$content());\r\n this._$bottom = this._renderTemplateByType(\"bottomTemplate\", items, $bottom, {\r\n compactMode: true\r\n }).addClass(POPUP_BOTTOM_CLASS);\r\n this._toggleClasses()\r\n } else {\r\n this._$bottom && this._$bottom.detach()\r\n }\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase(...arguments);\r\n this.$content().toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleClasses: function() {\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n each(aliases, (_, alias) => {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (this._toolbarItemClasses.includes(className)) {\r\n this.$wrapper().addClass(className + \"-visible\");\r\n this._$bottom.addClass(className)\r\n } else {\r\n this.$wrapper().removeClass(className + \"-visible\");\r\n this._$bottom.removeClass(className)\r\n }\r\n })\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n this.callBase(isFocused, $element);\r\n if (isFocused && !zIndexPool.isLastZIndexInStack(this._zIndex)) {\r\n var zIndex = zIndexPool.create(this._zIndexInitValue());\r\n zIndexPool.remove(this._zIndex);\r\n this._zIndex = zIndex;\r\n this._$wrapper.css(\"zIndex\", zIndex);\r\n this._$content.css(\"zIndex\", zIndex)\r\n }\r\n },\r\n _toggleContentScrollClass() {\r\n var isNativeScrollingEnabled = !this.option(\"preventScrollEvents\");\r\n this.$content().toggleClass(POPUP_CONTENT_SCROLLABLE_CLASS, isNativeScrollingEnabled)\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n } = this.option();\r\n return extend({}, this.callBase(), {\r\n fullScreen: fullScreen,\r\n forceApplyBindings: forceApplyBindings,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor\r\n })\r\n },\r\n _initPositionController() {\r\n this._positionController = new PopupPositionController(this._getPositionControllerConfig())\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible,\r\n useResizeObserver: useResizeObserver\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n var isAnimated = this._showAnimationProcessing;\r\n var shouldRepeatAnimation = isAnimated && !(null !== options && void 0 !== options && options.forceStopAnimation) && useResizeObserver;\r\n this._isAnimationPaused = shouldRepeatAnimation || void 0;\r\n this._stopAnimation();\r\n if (null !== options && void 0 !== options && options.shouldOnlyReposition) {\r\n this._renderPosition(false)\r\n } else {\r\n this._renderGeometryImpl(null === options || void 0 === options ? void 0 : options.isDimensionChange)\r\n }\r\n if (shouldRepeatAnimation) {\r\n this._animateShowing();\r\n this._isAnimationPaused = void 0\r\n }\r\n }\r\n },\r\n _cacheDimensions: function() {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n this._renderedDimensions = {\r\n width: parseInt(getWidth(this._$content), 10),\r\n height: parseInt(getHeight(this._$content), 10)\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n var isDimensionChange = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n if (!isDimensionChange) {\r\n this._resetContentHeight()\r\n }\r\n this.callBase();\r\n this._cacheDimensions();\r\n this._setContentHeight()\r\n },\r\n _resetContentHeight: function() {\r\n var height = this._getOptionValue(\"height\");\r\n if (\"auto\" === height) {\r\n this.$content().css({\r\n height: \"auto\",\r\n maxHeight: \"none\"\r\n })\r\n }\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n var dragEnabled = this.option(\"dragEnabled\");\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var config = {\r\n dragEnabled: dragEnabled,\r\n handle: $dragTarget.get(0),\r\n draggableElement: this._$content.get(0),\r\n positionController: this._positionController\r\n };\r\n if (this._drag) {\r\n this._drag.init(config)\r\n } else {\r\n this._drag = new PopupDrag(config)\r\n }\r\n this.$overlayContent().toggleClass(POPUP_DRAGGABLE_CLASS, dragEnabled)\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: e => {\r\n this._resizeEndHandler(e);\r\n this._observeContentResize(true)\r\n },\r\n onResize: e => {\r\n this._setContentHeight();\r\n this._actions.onResize(e)\r\n },\r\n onResizeStart: e => {\r\n this._observeContentResize(false);\r\n this._actions.onResizeStart(e)\r\n },\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._positionController.$dragResizeContainer,\r\n keepAspectRatio: false\r\n })\r\n },\r\n _resizeEndHandler: function(e) {\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this._setOptionWithoutOptionChange(\"width\", width);\r\n height && this._setOptionWithoutOptionChange(\"height\", height);\r\n this._cacheDimensions();\r\n this._positionController.resizeHandled();\r\n this._positionController.detectVisualPositionChange(e.event);\r\n this._actions.onResizeEnd(e)\r\n },\r\n _setContentHeight: function() {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n var overlayContent = this.$overlayContent().get(0);\r\n var currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent);\r\n this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent));\r\n this._setHeightClasses(this.$overlayContent(), currentHeightStrategyClass)\r\n },\r\n _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) {\r\n return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0\r\n },\r\n _chooseHeightStrategy: function(overlayContent) {\r\n var isAutoWidth = \"auto\" === overlayContent.style.width || \"\" === overlayContent.style.width;\r\n var currentHeightStrategyClass = HEIGHT_STRATEGIES.static;\r\n if (this._isAutoHeight() && this.option(\"autoResizeEnabled\")) {\r\n if (isAutoWidth || IS_OLD_SAFARI) {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit\r\n } else {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.flex\r\n }\r\n }\r\n return currentHeightStrategyClass\r\n },\r\n _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) {\r\n var cssStyles = {};\r\n var contentMaxHeight = this._getOptionValue(\"maxHeight\", overlayContent);\r\n var contentMinHeight = this._getOptionValue(\"minHeight\", overlayContent);\r\n var popupHeightParts = this._splitPopupHeight();\r\n var toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings);\r\n if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) {\r\n if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) {\r\n var overlayHeight = this.option(\"fullScreen\") ? Math.min(getBoundingRect(overlayContent).height, getWindow().innerHeight) : getBoundingRect(overlayContent).height;\r\n var contentHeight = overlayHeight - toolbarsAndVerticalOffsetsHeight;\r\n cssStyles = {\r\n height: Math.max(0, contentHeight),\r\n minHeight: \"auto\",\r\n maxHeight: \"auto\"\r\n }\r\n }\r\n } else {\r\n var container = $(this._positionController.$visualContainer).get(0);\r\n var maxHeightValue = addOffsetToMaxHeight(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n var minHeightValue = addOffsetToMinHeight(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n cssStyles = {\r\n height: \"auto\",\r\n minHeight: minHeightValue,\r\n maxHeight: maxHeightValue\r\n }\r\n }\r\n return cssStyles\r\n },\r\n _setHeightClasses: function($container, currentClass) {\r\n var excessClasses = \"\";\r\n for (var name in HEIGHT_STRATEGIES) {\r\n if (HEIGHT_STRATEGIES[name] !== currentClass) {\r\n excessClasses += \" \" + HEIGHT_STRATEGIES[name]\r\n }\r\n }\r\n $container.removeClass(excessClasses).addClass(currentClass)\r\n },\r\n _isAutoHeight: function() {\r\n return \"auto\" === this.$overlayContent().get(0).style.height\r\n },\r\n _splitPopupHeight: function() {\r\n var topToolbar = this.topToolbar();\r\n var bottomToolbar = this.bottomToolbar();\r\n return {\r\n header: getVisibleHeight(topToolbar && topToolbar.get(0)),\r\n footer: getVisibleHeight(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: getVerticalOffsets(this.$overlayContent().get(0), true),\r\n popupVerticalOffsets: getVerticalOffsets(this.$content().get(0), true),\r\n popupVerticalPaddings: getVerticalOffsets(this.$content().get(0), false)\r\n }\r\n },\r\n _isAllWindowCovered: function() {\r\n return this.callBase() || this.option(\"fullScreen\")\r\n },\r\n _renderDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this.$overlayContent().css({\r\n width: \"100%\",\r\n height: \"100%\",\r\n minWidth: \"\",\r\n maxWidth: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n } else {\r\n this.callBase()\r\n }\r\n if (hasWindow()) {\r\n this._renderFullscreenWidthClass()\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry({\r\n isDimensionChange: true\r\n })\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._observeContentResize(false)\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._toggleBodyScroll(true)\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.$overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, getOuterWidth(this.$overlayContent()) === getWidth(window))\r\n },\r\n _toggleSafariScrolling() {\r\n if (!this.option(\"enableBodyScroll\")) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _toggleBodyScroll: function(enabled) {\r\n if (!this._bodyOverflowManager) {\r\n return\r\n }\r\n var {\r\n setOverflow: setOverflow,\r\n restoreOverflow: restoreOverflow\r\n } = this._bodyOverflowManager;\r\n if (enabled) {\r\n restoreOverflow()\r\n } else {\r\n setOverflow()\r\n }\r\n },\r\n refreshPosition: function() {\r\n this._renderPosition()\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_resizable2;\r\n var {\r\n value: value,\r\n name: name\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this.callBase(args);\r\n this._renderTitle();\r\n this._renderBottom();\r\n break;\r\n case \"animation\":\r\n this._updateResizeCallbackSkipCondition();\r\n break;\r\n case \"enableBodyScroll\":\r\n this._toggleBodyScroll(value);\r\n break;\r\n case \"showTitle\":\r\n case \"title\":\r\n case \"titleTemplate\":\r\n this._renderTitle();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"container\":\r\n this.callBase(args);\r\n if (this.option(\"resizeEnabled\")) {\r\n var _this$_resizable;\r\n null === (_this$_resizable = this._resizable) || void 0 === _this$_resizable ? void 0 : _this$_resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this.callBase(args);\r\n null === (_this$_resizable2 = this._resizable) || void 0 === _this$_resizable2 ? void 0 : _this$_resizable2.option(name, value);\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(value);\r\n break;\r\n case \"toolbarItems\":\r\n case \"useDefaultToolbarButtons\":\r\n case \"useFlatToolbarButtons\":\r\n var shouldRenderGeometry = !args.fullName.match(/^toolbarItems((\\[\\d+\\])(\\.(options|visible).*)?)?$/);\r\n this._renderTitle();\r\n this._renderBottom();\r\n if (shouldRenderGeometry) {\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent())\r\n }\r\n break;\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n break;\r\n case \"dragAndResizeArea\":\r\n this._positionController.dragAndResizeArea = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n this._positionController.positionContent();\r\n break;\r\n case \"dragOutsideBoundary\":\r\n this._positionController.dragOutsideBoundary = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"outsideDragFactor\":\r\n this._positionController.outsideDragFactor = value;\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"autoResizeEnabled\":\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"fullScreen\":\r\n this._positionController.fullScreen = value;\r\n this._toggleFullScreenClass(value);\r\n this._toggleSafariScrolling();\r\n this._renderGeometry();\r\n triggerResizeEvent(this.$overlayContent());\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n case \"preventScrollEvents\":\r\n this.callBase(args);\r\n this._toggleContentScrollClass();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n bottomToolbar: function() {\r\n return this._$bottom\r\n },\r\n topToolbar: function() {\r\n return this._$title\r\n },\r\n $content: function() {\r\n return this._$popupContent\r\n },\r\n content: function() {\r\n return getPublicElement(this.$content())\r\n },\r\n $overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\nregisterComponent(\"dxPopup\", Popup);\r\nexport default Popup;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.pull_down.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar PULLDOWN_RELEASE_TIME = 400;\r\nvar PullDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$refreshingText = scrollView._$refreshingText;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$pullDownText = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"<div>\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n update: function() {\r\n this.callBase();\r\n this._setTopPocketOffset()\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n _setTopPocketOffset: function() {\r\n this._$topPocket.css({\r\n top: -this._topPocketSize\r\n })\r\n },\r\n handleEnd: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this.callBase();\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_READY) {\r\n this._setPullDownOffset(this._topPocketSize);\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n this._pullDownRefreshTimeout = setTimeout(function() {\r\n this._pullDownRefreshing()\r\n }.bind(this), 400)\r\n }\r\n },\r\n _setPullDownOffset: function(offset) {\r\n move(this._$topPocket, {\r\n top: offset\r\n });\r\n move(this._$scrollViewContent, {\r\n top: offset\r\n })\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = (this._location || 0) - currentLocation;\r\n this._location = currentLocation;\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= this._topPocketSize\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n pullDownEnable: function(enabled) {\r\n if (enabled) {\r\n this._updateDimensions();\r\n this._setTopPocketOffset()\r\n }\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n if (this._state === STATE_LOADING) {\r\n this._state = STATE_RELEASED\r\n }\r\n this._releaseTimeout = setTimeout(function() {\r\n this._setPullDownOffset(0);\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), PULLDOWN_RELEASE_TIME);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default PullDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.native.swipe_down.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport {\r\n eventData\r\n} from \"../../events/utils/index\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-refreshing\";\r\nvar PULLDOWN_ICON_CLASS = \"dx-icon-pulldown\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_TOUCHED = 4;\r\nvar STATE_PULLED = 5;\r\nvar SwipeDownNativeScrollViewStrategy = NativeStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$scrollViewContent = $(scrollView.content());\r\n this._$container = $(scrollView.container());\r\n this._initCallbacks();\r\n this._location = 0\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this.callBase();\r\n this._renderPullDown();\r\n this._releaseState()\r\n },\r\n _renderPullDown: function() {\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n this._$icon = $(\"<div>\").addClass(PULLDOWN_ICON_CLASS);\r\n this._$pullDown.empty().append(this._$icon).append($loadContainer.append($loadIndicator))\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._releasePullDown();\r\n this._updateDimensions()\r\n },\r\n _releasePullDown: function() {\r\n this._$pullDown.css({\r\n opacity: 0\r\n })\r\n },\r\n _updateDimensions: function() {\r\n this.callBase();\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n var contentEl = this._$scrollViewContent.get(0);\r\n var containerEl = this._$container.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - containerEl.clientHeight, 0)\r\n },\r\n _allowedDirections: function() {\r\n var allowedDirections = this.callBase();\r\n allowedDirections.vertical = allowedDirections.vertical || this._pullDownEnabled;\r\n return allowedDirections\r\n },\r\n handleInit: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_RELEASED && 0 === this._location) {\r\n this._startClientY = eventData(e.originalEvent).y;\r\n this._state = STATE_TOUCHED\r\n }\r\n },\r\n handleMove: function(e) {\r\n this.callBase(e);\r\n this._deltaY = eventData(e.originalEvent).y - this._startClientY;\r\n if (this._state === STATE_TOUCHED) {\r\n if (this._pullDownEnabled && this._deltaY > 0) {\r\n this._state = STATE_PULLED\r\n } else {\r\n this._complete()\r\n }\r\n }\r\n if (this._state === STATE_PULLED) {\r\n e.preventDefault();\r\n this._movePullDown()\r\n }\r\n },\r\n _movePullDown: function() {\r\n var pullDownHeight = this._getPullDownHeight();\r\n var top = Math.min(3 * pullDownHeight, this._deltaY + this._getPullDownStartPosition());\r\n var angle = 180 * top / pullDownHeight / 3;\r\n this._$pullDown.css({\r\n opacity: 1\r\n }).toggleClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS, top < pullDownHeight);\r\n move(this._$pullDown, {\r\n top: top\r\n });\r\n this._$icon.css({\r\n transform: \"rotate(\" + angle + \"deg)\"\r\n })\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._state === STATE_PULLED && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition()\r\n },\r\n _getPullDownHeight: function() {\r\n return Math.round(.05 * getOuterHeight(this._$element))\r\n },\r\n _getPullDownStartPosition: function() {\r\n return -Math.round(1.5 * getOuterHeight(this._$pullDown))\r\n },\r\n handleEnd: function() {\r\n if (this._isPullDown()) {\r\n this._pullDownRefreshing()\r\n }\r\n this._complete()\r\n },\r\n handleStop: function() {\r\n this._complete()\r\n },\r\n _complete: function() {\r\n if (this._state === STATE_TOUCHED || this._state === STATE_PULLED) {\r\n this._releaseState()\r\n }\r\n },\r\n handleScroll: function(e) {\r\n this.callBase(e);\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n var currentLocation = this.location().top;\r\n var scrollDelta = this._location - currentLocation;\r\n this._location = currentLocation;\r\n if (scrollDelta > 0 && this._isReachBottom()) {\r\n this._reachBottom()\r\n } else {\r\n this._stateReleased()\r\n }\r\n },\r\n _isReachBottom: function() {\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary + Math.floor(this._location)) <= 1\r\n },\r\n _reachBottom: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n this._releaseState()\r\n },\r\n _pullDownRefreshing: function() {\r\n this._state = STATE_REFRESHING;\r\n this._pullDownRefreshHandler()\r\n },\r\n _pullDownRefreshHandler: function() {\r\n this._refreshPullDown();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _refreshPullDown: function() {\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS);\r\n move(this._$pullDown, {\r\n top: this._getPullDownHeight()\r\n })\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._$topPocket.toggle(enabled);\r\n this._pullDownEnabled = enabled\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._reachBottomEnabled = enabled\r\n },\r\n pendingRelease: function() {\r\n this._state = STATE_READY\r\n },\r\n release: function() {\r\n var deferred = new Deferred;\r\n this._updateDimensions();\r\n clearTimeout(this._releaseTimeout);\r\n this._releaseTimeout = setTimeout(function() {\r\n this._stateReleased();\r\n this.releaseCallbacks.fire();\r\n this._updateAction();\r\n deferred.resolve()\r\n }.bind(this), 800);\r\n return deferred.promise()\r\n },\r\n dispose: function() {\r\n clearTimeout(this._pullDownRefreshTimeout);\r\n clearTimeout(this._releaseTimeout);\r\n this.callBase()\r\n }\r\n});\r\nexport default SwipeDownNativeScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.simulated.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nvar math = Math;\r\nimport {\r\n Scroller,\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nvar SCROLLVIEW_PULLDOWN_REFRESHING_CLASS = \"dx-scrollview-pull-down-loading\";\r\nvar SCROLLVIEW_PULLDOWN_READY_CLASS = \"dx-scrollview-pull-down-ready\";\r\nvar SCROLLVIEW_PULLDOWN_IMAGE_CLASS = \"dx-scrollview-pull-down-image\";\r\nvar SCROLLVIEW_PULLDOWN_INDICATOR_CLASS = \"dx-scrollview-pull-down-indicator\";\r\nvar SCROLLVIEW_PULLDOWN_TEXT_CLASS = \"dx-scrollview-pull-down-text\";\r\nvar SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS = \"dx-scrollview-pull-down-text-visible\";\r\nvar STATE_RELEASED = 0;\r\nvar STATE_READY = 1;\r\nvar STATE_REFRESHING = 2;\r\nvar STATE_LOADING = 3;\r\nvar ScrollViewScroller = Scroller.inherit({\r\n ctor: function() {\r\n this._topPocketSize = 0;\r\n this._bottomPocketSize = 0;\r\n this.callBase.apply(this, arguments);\r\n this._initCallbacks();\r\n this._releaseState()\r\n },\r\n _releaseState: function() {\r\n this._state = STATE_RELEASED;\r\n this._refreshPullDownText()\r\n },\r\n _refreshPullDownText: function() {\r\n var that = this;\r\n var pullDownTextItems = [{\r\n element: this._$pullingDownText,\r\n visibleState: STATE_RELEASED\r\n }, {\r\n element: this._$pulledDownText,\r\n visibleState: STATE_READY\r\n }, {\r\n element: this._$refreshingText,\r\n visibleState: STATE_REFRESHING\r\n }];\r\n each(pullDownTextItems, (function(_, item) {\r\n var action = that._state === item.visibleState ? \"addClass\" : \"removeClass\";\r\n item.element[action](SCROLLVIEW_PULLDOWN_VISIBLE_TEXT_CLASS)\r\n }))\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n _updateBounds: function() {\r\n var considerPockets = \"horizontal\" !== this._direction;\r\n if (considerPockets) {\r\n this._topPocketSize = this._$topPocket.get(0).clientHeight;\r\n this._bottomPocketSize = this._$bottomPocket.get(0).clientHeight;\r\n var containerEl = this._$container.get(0);\r\n var contentEl = this._$content.get(0);\r\n this._bottomBoundary = Math.max(contentEl.clientHeight - this._bottomPocketSize - containerEl.clientHeight, 0)\r\n }\r\n this.callBase()\r\n },\r\n _updateScrollbar: function() {\r\n this._scrollbar.option({\r\n containerSize: this._containerSize(),\r\n contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n },\r\n _moveContent: function() {\r\n this.callBase();\r\n if (this._isPullDown()) {\r\n this._pullDownReady()\r\n } else if (this._isReachBottom()) {\r\n this._reachBottomReady()\r\n } else if (this._state !== STATE_RELEASED) {\r\n this._stateReleased()\r\n }\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._topPocketSize + this._location)\r\n },\r\n _isPullDown: function() {\r\n return this._pullDownEnabled && this._location >= 0\r\n },\r\n _isReachBottom: function() {\r\n var containerEl = this._$container.get(0);\r\n return this._reachBottomEnabled && Math.round(this._bottomBoundary - Math.ceil(containerEl.scrollTop)) <= 1\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds() && this._state === STATE_READY) {\r\n this._pullDownRefreshing()\r\n } else if (this._inBounds() && this._state === STATE_LOADING) {\r\n this._reachBottomLoading()\r\n } else {\r\n this.callBase()\r\n }\r\n },\r\n _reachBottomReady: function() {\r\n if (this._state === STATE_LOADING) {\r\n return\r\n }\r\n this._state = STATE_LOADING;\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return -this._topPocketSize\r\n },\r\n _getMinOffset: function() {\r\n return math.min(this.callBase(), -this._topPocketSize)\r\n },\r\n _reachBottomLoading: function() {\r\n this.reachBottomCallbacks.fire()\r\n },\r\n _pullDownReady: function() {\r\n if (this._state === STATE_READY) {\r\n return\r\n }\r\n this._state = STATE_READY;\r\n this._maxOffset = 0;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText()\r\n },\r\n _stateReleased: function() {\r\n if (this._state === STATE_RELEASED) {\r\n return\r\n }\r\n this._releaseState();\r\n this._updateBounds();\r\n this._$pullDown.removeClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this.releaseCallbacks.fire()\r\n },\r\n _pullDownRefreshing: function() {\r\n if (this._state === STATE_REFRESHING) {\r\n return\r\n }\r\n this._state = STATE_REFRESHING;\r\n this._$pullDown.addClass(SCROLLVIEW_PULLDOWN_REFRESHING_CLASS).removeClass(SCROLLVIEW_PULLDOWN_READY_CLASS);\r\n this._refreshPullDownText();\r\n this.pullDownCallbacks.fire()\r\n },\r\n _releaseHandler: function() {\r\n if (this._state === STATE_RELEASED) {\r\n this._moveToBounds()\r\n }\r\n this._update();\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this._releaseTask = executeAsync(this._release.bind(this));\r\n return this._releaseTask.promise\r\n },\r\n _release: function() {\r\n this._stateReleased();\r\n this._scrollComplete()\r\n },\r\n _reachBottomEnablingHandler: function(enabled) {\r\n if (this._reachBottomEnabled === enabled) {\r\n return\r\n }\r\n this._reachBottomEnabled = enabled;\r\n this._updateBounds()\r\n },\r\n _pullDownEnablingHandler: function(enabled) {\r\n if (this._pullDownEnabled === enabled) {\r\n return\r\n }\r\n this._pullDownEnabled = enabled;\r\n this._considerTopPocketChange();\r\n this._updateHandler()\r\n },\r\n _considerTopPocketChange: function() {\r\n this._location -= getHeight(this._$topPocket) || -this._topPocketSize;\r\n this._maxOffset = 0;\r\n this._move()\r\n },\r\n _pendingReleaseHandler: function() {\r\n this._state = STATE_READY\r\n },\r\n dispose: function() {\r\n if (this._releaseTask) {\r\n this._releaseTask.abort()\r\n }\r\n this.callBase()\r\n }\r\n});\r\nvar SimulatedScrollViewStrategy = SimulatedStrategy.inherit({\r\n _init: function(scrollView) {\r\n this.callBase(scrollView);\r\n this._$pullDown = scrollView._$pullDown;\r\n this._$topPocket = scrollView._$topPocket;\r\n this._$bottomPocket = scrollView._$bottomPocket;\r\n this._initCallbacks()\r\n },\r\n _initCallbacks: function() {\r\n this.pullDownCallbacks = Callbacks();\r\n this.releaseCallbacks = Callbacks();\r\n this.reachBottomCallbacks = Callbacks()\r\n },\r\n render: function() {\r\n this._renderPullDown();\r\n this.callBase()\r\n },\r\n _renderPullDown: function() {\r\n var $image = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_IMAGE_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$pullDownText = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_TEXT_CLASS);\r\n this._$pullingDownText = $(\"<div>\").text(this.option(\"pullingDownText\")).appendTo($text);\r\n this._$pulledDownText = $(\"<div>\").text(this.option(\"pulledDownText\")).appendTo($text);\r\n this._$refreshingText = $(\"<div>\").text(this.option(\"refreshingText\")).appendTo($text);\r\n this._$pullDown.empty().append($image).append($loadContainer.append($loadIndicator)).append($text)\r\n },\r\n pullDownEnable: function(enabled) {\r\n this._eventHandler(\"pullDownEnabling\", enabled)\r\n },\r\n reachBottomEnable: function(enabled) {\r\n this._eventHandler(\"reachBottomEnabling\", enabled)\r\n },\r\n _createScroller: function(direction) {\r\n var that = this;\r\n var scroller = that._scrollers[direction] = new ScrollViewScroller(that._scrollerOptions(direction));\r\n scroller.pullDownCallbacks.add((function() {\r\n that.pullDownCallbacks.fire()\r\n }));\r\n scroller.releaseCallbacks.add((function() {\r\n that.releaseCallbacks.fire()\r\n }));\r\n scroller.reachBottomCallbacks.add((function() {\r\n that.reachBottomCallbacks.fire()\r\n }))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return extend(this.callBase(direction), {\r\n $topPocket: this._$topPocket,\r\n $bottomPocket: this._$bottomPocket,\r\n $pullDown: this._$pullDown,\r\n $pullDownText: this._$pullDownText,\r\n $pullingDownText: this._$pullingDownText,\r\n $pulledDownText: this._$pulledDownText,\r\n $refreshingText: this._$refreshingText\r\n })\r\n },\r\n pendingRelease: function() {\r\n this._eventHandler(\"pendingRelease\")\r\n },\r\n release: function() {\r\n return this._eventHandler(\"release\").done(this._updateAction)\r\n },\r\n location: function() {\r\n var location = this.callBase();\r\n location.top += getHeight(this._$topPocket);\r\n return location\r\n },\r\n dispose: function() {\r\n each(this._scrollers, (function() {\r\n this.dispose()\r\n }));\r\n this.callBase()\r\n }\r\n});\r\nexport default SimulatedScrollViewStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scroll_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport PullDownStrategy from \"./ui.scroll_view.native.pull_down\";\r\nimport SwipeDownStrategy from \"./ui.scroll_view.native.swipe_down\";\r\nimport SimulatedStrategy from \"./ui.scroll_view.simulated\";\r\nimport Scrollable from \"./ui.scrollable\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n isMaterial\r\n} from \"./../themes\";\r\nimport LoadPanel from \"../load_panel\";\r\nvar SCROLLVIEW_CLASS = \"dx-scrollview\";\r\nvar SCROLLVIEW_CONTENT_CLASS = SCROLLVIEW_CLASS + \"-content\";\r\nvar SCROLLVIEW_TOP_POCKET_CLASS = SCROLLVIEW_CLASS + \"-top-pocket\";\r\nvar SCROLLVIEW_BOTTOM_POCKET_CLASS = SCROLLVIEW_CLASS + \"-bottom-pocket\";\r\nvar SCROLLVIEW_PULLDOWN_CLASS = SCROLLVIEW_CLASS + \"-pull-down\";\r\nvar SCROLLVIEW_REACHBOTTOM_CLASS = SCROLLVIEW_CLASS + \"-scrollbottom\";\r\nvar SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-indicator\";\r\nvar SCROLLVIEW_REACHBOTTOM_TEXT_CLASS = SCROLLVIEW_REACHBOTTOM_CLASS + \"-text\";\r\nvar SCROLLVIEW_LOADPANEL = SCROLLVIEW_CLASS + \"-loadpanel\";\r\nvar refreshStrategies = {\r\n pullDown: PullDownStrategy,\r\n swipeDown: SwipeDownStrategy,\r\n simulated: SimulatedStrategy\r\n};\r\nvar isServerSide = !hasWindow();\r\nvar scrollViewServerConfig = {\r\n finishLoading: noop,\r\n release: noop,\r\n refresh: noop,\r\n scrollOffset: () => ({\r\n top: 0,\r\n left: 0\r\n }),\r\n _optionChanged: function(args) {\r\n if (\"onUpdated\" !== args.name) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n }\r\n};\r\nvar ScrollView = Scrollable.inherit(isServerSide ? scrollViewServerConfig : {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n pullingDownText: messageLocalization.format(\"dxScrollView-pullingDownText\"),\r\n pulledDownText: messageLocalization.format(\"dxScrollView-pulledDownText\"),\r\n refreshingText: messageLocalization.format(\"dxScrollView-refreshingText\"),\r\n reachBottomText: messageLocalization.format(\"dxScrollView-reachBottomText\"),\r\n onPullDown: null,\r\n onReachBottom: null,\r\n refreshStrategy: \"pullDown\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real();\r\n return \"android\" === realDevice.platform\r\n },\r\n options: {\r\n refreshStrategy: \"swipeDown\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n pullingDownText: \"\",\r\n pulledDownText: \"\",\r\n refreshingText: \"\",\r\n reachBottomText: \"\"\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._loadingIndicatorEnabled = true\r\n },\r\n _initScrollableMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(SCROLLVIEW_CLASS);\r\n this._initContent();\r\n this._initTopPocket();\r\n this._initBottomPocket();\r\n this._initLoadPanel()\r\n },\r\n _initContent: function() {\r\n var $content = $(\"<div>\").addClass(SCROLLVIEW_CONTENT_CLASS);\r\n this._$content.wrapInner($content)\r\n },\r\n _initTopPocket: function() {\r\n var $topPocket = this._$topPocket = $(\"<div>\").addClass(SCROLLVIEW_TOP_POCKET_CLASS);\r\n var $pullDown = this._$pullDown = $(\"<div>\").addClass(SCROLLVIEW_PULLDOWN_CLASS);\r\n $topPocket.append($pullDown);\r\n this._$content.prepend($topPocket)\r\n },\r\n _initBottomPocket: function() {\r\n var $bottomPocket = this._$bottomPocket = $(\"<div>\").addClass(SCROLLVIEW_BOTTOM_POCKET_CLASS);\r\n var $reachBottom = this._$reachBottom = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_CLASS);\r\n var $loadContainer = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS);\r\n var $loadIndicator = new LoadIndicator($(\"<div>\")).$element();\r\n var $text = this._$reachBottomText = $(\"<div>\").addClass(SCROLLVIEW_REACHBOTTOM_TEXT_CLASS);\r\n this._updateReachBottomText();\r\n $reachBottom.append($loadContainer.append($loadIndicator)).append($text);\r\n $bottomPocket.append($reachBottom);\r\n this._$content.append($bottomPocket)\r\n },\r\n _initLoadPanel: function() {\r\n var $loadPanelElement = $(\"<div>\").addClass(SCROLLVIEW_LOADPANEL).appendTo(this.$element());\r\n var loadPanelOptions = {\r\n shading: false,\r\n delay: 400,\r\n message: this.option(\"refreshingText\"),\r\n position: {\r\n of: this.$element()\r\n }\r\n };\r\n this._loadPanel = this._createComponent($loadPanelElement, LoadPanel, loadPanelOptions)\r\n },\r\n _updateReachBottomText: function() {\r\n this._$reachBottomText.text(this.option(\"reachBottomText\"))\r\n },\r\n _createStrategy: function() {\r\n var strategyName = this.option(\"useNative\") ? this.option(\"refreshStrategy\") : \"simulated\";\r\n var strategyClass = refreshStrategies[strategyName];\r\n this._strategy = new strategyClass(this);\r\n this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this));\r\n this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this));\r\n this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this))\r\n },\r\n _createActions: function() {\r\n this.callBase();\r\n this._pullDownAction = this._createActionByOption(\"onPullDown\");\r\n this._reachBottomAction = this._createActionByOption(\"onReachBottom\");\r\n this._tryRefreshPocketState()\r\n },\r\n _tryRefreshPocketState: function() {\r\n this._pullDownEnable(this.hasActionSubscription(\"onPullDown\"));\r\n this._reachBottomEnable(this.hasActionSubscription(\"onReachBottom\"))\r\n },\r\n on: function(eventName) {\r\n var result = this.callBase.apply(this, arguments);\r\n if (\"pullDown\" === eventName || \"reachBottom\" === eventName) {\r\n this._tryRefreshPocketState()\r\n }\r\n return result\r\n },\r\n _pullDownEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._pullDownEnabled\r\n }\r\n if (this._$pullDown && this._strategy) {\r\n this._$pullDown.toggle(enabled);\r\n this._strategy.pullDownEnable(enabled);\r\n this._pullDownEnabled = enabled\r\n }\r\n },\r\n _reachBottomEnable: function(enabled) {\r\n if (0 === arguments.length) {\r\n return this._reachBottomEnabled\r\n }\r\n if (this._$reachBottom && this._strategy) {\r\n this._$reachBottom.toggle(enabled);\r\n this._strategy.reachBottomEnable(enabled);\r\n this._reachBottomEnabled = enabled\r\n }\r\n },\r\n _pullDownHandler: function() {\r\n this._loadingIndicator(false);\r\n this._pullDownLoading()\r\n },\r\n _loadingIndicator: function(value) {\r\n if (arguments.length < 1) {\r\n return this._loadingIndicatorEnabled\r\n }\r\n this._loadingIndicatorEnabled = value\r\n },\r\n _pullDownLoading: function() {\r\n this.startLoading();\r\n this._pullDownAction()\r\n },\r\n _reachBottomHandler: function() {\r\n this._loadingIndicator(false);\r\n this._reachBottomLoading()\r\n },\r\n _reachBottomLoading: function() {\r\n this.startLoading();\r\n this._reachBottomAction()\r\n },\r\n _releaseHandler: function() {\r\n this.finishLoading();\r\n this._loadingIndicator(true)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onPullDown\":\r\n case \"onReachBottom\":\r\n this._createActions();\r\n break;\r\n case \"pullingDownText\":\r\n case \"pulledDownText\":\r\n case \"refreshingText\":\r\n case \"refreshStrategy\":\r\n this._invalidate();\r\n break;\r\n case \"reachBottomText\":\r\n this._updateReachBottomText();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content.children().eq(1))\r\n },\r\n release: function(preventReachBottom) {\r\n if (void 0 !== preventReachBottom) {\r\n this.toggleLoading(!preventReachBottom)\r\n }\r\n return this._strategy.release()\r\n },\r\n toggleLoading: function(showOrHide) {\r\n this._reachBottomEnable(showOrHide)\r\n },\r\n refresh: function() {\r\n if (!this.hasActionSubscription(\"onPullDown\")) {\r\n return\r\n }\r\n this._strategy.pendingRelease();\r\n this._pullDownLoading()\r\n },\r\n startLoading: function() {\r\n if (this._loadingIndicator() && this.$element().is(\":visible\")) {\r\n this._loadPanel.show()\r\n }\r\n this._lock()\r\n },\r\n finishLoading: function() {\r\n this._loadPanel.hide();\r\n this._unlock()\r\n },\r\n _dispose: function() {\r\n this._strategy.dispose();\r\n this.callBase();\r\n if (this._loadPanel) {\r\n this._loadPanel.$element().remove()\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxScrollView\", ScrollView);\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport ScrollView from \"./scroll_view/ui.scroll_view\";\r\nexport default ScrollView;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/animator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../../animation/frame\";\r\nvar Animator = Class.inherit({\r\n ctor: function() {\r\n this._finished = true;\r\n this._stopped = false;\r\n this._proxiedStepCore = this._stepCore.bind(this)\r\n },\r\n start: function() {\r\n this._stopped = false;\r\n this._finished = false;\r\n this._stepCore()\r\n },\r\n stop: function() {\r\n this._stopped = true;\r\n cancelAnimationFrame(this._stepAnimationFrame)\r\n },\r\n _stepCore: function() {\r\n if (this._isStopped()) {\r\n this._stop();\r\n return\r\n }\r\n if (this._isFinished()) {\r\n this._finished = true;\r\n this._complete();\r\n return\r\n }\r\n this._step();\r\n this._stepAnimationFrame = requestAnimationFrame(this._proxiedStepCore)\r\n },\r\n _step: abstract,\r\n _isFinished: noop,\r\n _stop: noop,\r\n _complete: noop,\r\n _isStopped: function() {\r\n return this._stopped\r\n },\r\n inProgress: function() {\r\n return !(this._stopped || this._finished)\r\n }\r\n});\r\nexport default Animator;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.device.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n nativeScrolling,\r\n touch\r\n} from \"../../core/utils/support\";\r\nexport var deviceDependentOptions = function() {\r\n return [{\r\n device: function() {\r\n return !nativeScrolling\r\n },\r\n options: {\r\n useNative: false\r\n }\r\n }, {\r\n device: function(_device) {\r\n return !devices.isSimulator() && \"desktop\" === devices.real().deviceType && \"generic\" === _device.platform\r\n },\r\n options: {\r\n bounceEnabled: false,\r\n scrollByThumb: true,\r\n scrollByContent: touch,\r\n showScrollbar: \"onHover\"\r\n }\r\n }]\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Scrollable from \"./ui.scrollable.old\";\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.native.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport devices from \"../../core/devices\";\r\nimport Class from \"../../core/class\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nvar SCROLLABLE_NATIVE = \"dxNativeScrollable\";\r\nvar SCROLLABLE_NATIVE_CLASS = \"dx-scrollable-native\";\r\nvar SCROLLABLE_SCROLLBAR_SIMULATED = \"dx-scrollable-scrollbar-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_HIDDEN = \"dx-scrollable-scrollbars-hidden\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar HIDE_SCROLLBAR_TIMEOUT = 500;\r\nvar NativeStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$content = scrollable.$content();\r\n this._direction = scrollable.option(\"direction\");\r\n this._useSimulatedScrollbar = scrollable.option(\"useSimulatedScrollbar\");\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable);\r\n this._isRtlNativeStrategy = scrollable._isRtlNativeStrategy.bind(scrollable)\r\n },\r\n render: function() {\r\n var device = devices.real();\r\n var deviceType = device.platform;\r\n this._$element.addClass(SCROLLABLE_NATIVE_CLASS).addClass(SCROLLABLE_NATIVE_CLASS + \"-\" + deviceType).toggleClass(SCROLLABLE_SCROLLBARS_HIDDEN, !this._isScrollbarVisible());\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._renderScrollbars()\r\n }\r\n },\r\n updateRtlPosition: function(isFirstRender) {\r\n if (isFirstRender && this.option(\"rtlEnabled\")) {\r\n if (this._isScrollbarVisible() && this._useSimulatedScrollbar) {\r\n this._moveScrollbars()\r\n }\r\n }\r\n },\r\n _renderScrollbars: function() {\r\n this._scrollbars = {};\r\n this._hideScrollbarTimeout = 0;\r\n this._$element.addClass(SCROLLABLE_SCROLLBAR_SIMULATED);\r\n this._renderScrollbar(VERTICAL);\r\n this._renderScrollbar(HORIZONTAL)\r\n },\r\n _renderScrollbar: function(direction) {\r\n if (!this._isDirection(direction)) {\r\n return\r\n }\r\n this._scrollbars[direction] = new Scrollbar($(\"<div>\").appendTo(this._$element), {\r\n direction: direction,\r\n expandable: this._component.option(\"scrollByThumb\")\r\n })\r\n },\r\n handleInit: noop,\r\n handleStart: noop,\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n return\r\n }\r\n if (this._allowedDirection()) {\r\n e.originalEvent.isScrollingEvent = true\r\n }\r\n },\r\n handleEnd: noop,\r\n handleCancel: noop,\r\n handleStop: noop,\r\n _eachScrollbar: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollbars || {}, (function(direction, scrollbar) {\r\n callback(scrollbar, direction)\r\n }))\r\n },\r\n createActions: function() {\r\n this._scrollAction = this._createActionByOption(\"onScroll\");\r\n this._updateAction = this._createActionByOption(\"onUpdated\")\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n left: left,\r\n top: top\r\n } = this.location();\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._getScrollOffset(),\r\n reachedLeft: this._isRtlNativeStrategy() ? this._isReachedRight(-left) : this._isReachedLeft(left),\r\n reachedRight: this._isRtlNativeStrategy() ? this._isReachedLeft(-Math.abs(left)) : this._isReachedRight(left),\r\n reachedTop: this._isDirection(VERTICAL) ? Math.round(top) >= 0 : void 0,\r\n reachedBottom: this._isDirection(VERTICAL) ? Math.round(Math.abs(top) - this._getMaxOffset().top) >= 0 : void 0\r\n }\r\n },\r\n _getScrollOffset: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this.location();\r\n return {\r\n top: -top,\r\n left: this._normalizeOffsetLeft(-left)\r\n }\r\n },\r\n _normalizeOffsetLeft(scrollLeft) {\r\n if (this._isRtlNativeStrategy()) {\r\n return this._getMaxOffset().left + scrollLeft\r\n }\r\n return scrollLeft\r\n },\r\n _isReachedLeft: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(left) >= 0 : void 0\r\n },\r\n _isReachedRight: function(left) {\r\n return this._isDirection(HORIZONTAL) ? Math.round(Math.abs(left) - this._getMaxOffset().left) >= 0 : void 0\r\n },\r\n _isScrollbarVisible: function() {\r\n var {\r\n showScrollbar: showScrollbar\r\n } = this.option();\r\n return \"never\" !== showScrollbar && false !== showScrollbar\r\n },\r\n handleScroll: function(e) {\r\n this._eventForUserAction = e;\r\n this._moveScrollbars();\r\n this._scrollAction(this._createActionArgs())\r\n },\r\n _moveScrollbars: function() {\r\n var {\r\n top: top,\r\n left: left\r\n } = this._getScrollOffset();\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.moveTo({\r\n top: -top,\r\n left: -left\r\n });\r\n scrollbar.option(\"visible\", true)\r\n }));\r\n this._hideScrollbars()\r\n },\r\n _hideScrollbars: function() {\r\n clearTimeout(this._hideScrollbarTimeout);\r\n this._hideScrollbarTimeout = setTimeout(function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.option(\"visible\", false)\r\n }))\r\n }.bind(this), HIDE_SCROLLBAR_TIMEOUT)\r\n },\r\n location: function() {\r\n return {\r\n left: -this._$container.scrollLeft(),\r\n top: -this._$container.scrollTop()\r\n }\r\n },\r\n disabledChanged: noop,\r\n update: function() {\r\n this._update();\r\n this._updateAction(this._createActionArgs())\r\n },\r\n _update: function() {\r\n this._updateDimensions();\r\n this._updateScrollbars()\r\n },\r\n _updateDimensions: function() {\r\n this._containerSize = {\r\n height: getHeight(this._$container),\r\n width: getWidth(this._$container)\r\n };\r\n this._componentContentSize = {\r\n height: getHeight(this._component.$content()),\r\n width: getWidth(this._component.$content())\r\n };\r\n this._contentSize = {\r\n height: getHeight(this._$content),\r\n width: getWidth(this._$content)\r\n }\r\n },\r\n _updateScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar, direction) {\r\n var dimension = direction === VERTICAL ? \"height\" : \"width\";\r\n scrollbar.option({\r\n containerSize: this._containerSize[dimension],\r\n contentSize: this._componentContentSize[dimension]\r\n });\r\n scrollbar.update()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n return {\r\n vertical: this._isDirection(VERTICAL) && this._contentSize.height > this._containerSize.height,\r\n horizontal: this._isDirection(HORIZONTAL) && this._contentSize.width > this._containerSize.width\r\n }\r\n },\r\n dispose: function() {\r\n var className = this._$element.get(0).className;\r\n var scrollableNativeRegexp = new RegExp(SCROLLABLE_NATIVE_CLASS + \"\\\\S*\", \"g\");\r\n if (scrollableNativeRegexp.test(className)) {\r\n this._$element.removeClass(className.match(scrollableNativeRegexp).join(\" \"))\r\n }\r\n eventsEngine.off(this._$element, \".\" + SCROLLABLE_NATIVE);\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE_NATIVE);\r\n this._removeScrollbars();\r\n clearTimeout(this._hideScrollbarTimeout)\r\n },\r\n _removeScrollbars: function() {\r\n this._eachScrollbar((function(scrollbar) {\r\n scrollbar.$element().remove()\r\n }))\r\n },\r\n scrollBy: function(distance) {\r\n var location = this.location();\r\n this._$container.scrollTop(Math.round(-location.top - distance.top));\r\n this._$container.scrollLeft(Math.round(-location.left - distance.left))\r\n },\r\n validate: function(e) {\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (isDxMouseWheelEvent(e) && this._isScrolledInMaxDirection(e)) {\r\n return false\r\n }\r\n return !!this._allowedDirection()\r\n },\r\n _isScrolledInMaxDirection(e) {\r\n var container = this._$container.get(0);\r\n var result;\r\n if (e.delta > 0) {\r\n result = e.shiftKey ? !container.scrollLeft : !container.scrollTop\r\n } else if (e.shiftKey) {\r\n result = container.scrollLeft >= this._getMaxOffset().left\r\n } else {\r\n result = container.scrollTop >= this._getMaxOffset().top\r\n }\r\n return result\r\n },\r\n getDirection: function() {\r\n return this._allowedDirection()\r\n }\r\n});\r\nexport default NativeStrategy;\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.old.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getOuterHeight,\r\n getWidth,\r\n getOuterWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n nativeScrolling\r\n} from \"../../core/utils/support\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport devices from \"../../core/devices\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport scrollEvents from \"../../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n SimulatedStrategy\r\n} from \"./ui.scrollable.simulated\";\r\nimport NativeStrategy from \"./ui.scrollable.native\";\r\nimport {\r\n deviceDependentOptions\r\n} from \"./ui.scrollable.device\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n getElementLocationInternal\r\n} from \"../../renovation/ui/scroll_view/utils/get_element_location_internal\";\r\nvar SCROLLABLE = \"dxScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_CLASS = \"dx-scrollable\";\r\nvar SCROLLABLE_DISABLED_CLASS = \"dx-scrollable-disabled\";\r\nvar SCROLLABLE_CONTAINER_CLASS = \"dx-scrollable-container\";\r\nvar SCROLLABLE_WRAPPER_CLASS = \"dx-scrollable-wrapper\";\r\nvar SCROLLABLE_CONTENT_CLASS = \"dx-scrollable-content\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar BOTH = \"both\";\r\nvar Scrollable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n disabled: false,\r\n onScroll: null,\r\n direction: VERTICAL,\r\n showScrollbar: \"onScroll\",\r\n useNative: true,\r\n bounceEnabled: true,\r\n scrollByContent: true,\r\n scrollByThumb: false,\r\n onUpdated: null,\r\n onStart: null,\r\n onEnd: null,\r\n onBounce: null,\r\n useSimulatedScrollbar: false,\r\n useKeyboard: true,\r\n inertiaEnabled: true,\r\n updateManually: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat(deviceDependentOptions(), [{\r\n device: function() {\r\n return nativeScrolling && \"android\" === devices.real().platform && !browser.mozilla\r\n },\r\n options: {\r\n useSimulatedScrollbar: true\r\n }\r\n }])\r\n },\r\n _initOptions: function(options) {\r\n this.callBase(options);\r\n if (!(\"useSimulatedScrollbar\" in options)) {\r\n this._setUseSimulatedScrollbar()\r\n }\r\n },\r\n _setUseSimulatedScrollbar: function() {\r\n if (!this.initialOption(\"useSimulatedScrollbar\")) {\r\n this.option(\"useSimulatedScrollbar\", !this.option(\"useNative\"))\r\n }\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initScrollableMarkup();\r\n this._locked = false\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this.update();\r\n this._updateRtlPosition();\r\n this._savedScrollOffset && this.scrollTo(this._savedScrollOffset);\r\n delete this._savedScrollOffset\r\n } else {\r\n this._savedScrollOffset = this.scrollOffset()\r\n }\r\n },\r\n _initScrollableMarkup: function() {\r\n var $element = this.$element().addClass(SCROLLABLE_CLASS);\r\n var $container = this._$container = $(\"<div>\").addClass(SCROLLABLE_CONTAINER_CLASS);\r\n var $wrapper = this._$wrapper = $(\"<div>\").addClass(SCROLLABLE_WRAPPER_CLASS);\r\n var $content = this._$content = $(\"<div>\").addClass(SCROLLABLE_CONTENT_CLASS);\r\n $content.append($element.contents()).appendTo($container);\r\n $container.appendTo($wrapper);\r\n $wrapper.appendTo($element)\r\n },\r\n _dimensionChanged: function() {\r\n this.update();\r\n this._updateRtlPosition()\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderDirection()\r\n },\r\n _render: function() {\r\n this._renderStrategy();\r\n this._attachEventHandlers();\r\n this._renderDisabledState();\r\n this._createActions();\r\n this.update();\r\n this.callBase();\r\n this._updateRtlPosition(true)\r\n },\r\n _updateRtlPosition: function(needInitializeRtlConfig) {\r\n this._strategy.updateRtlPosition(needInitializeRtlConfig)\r\n },\r\n _getMaxOffset: function() {\r\n var {\r\n scrollWidth: scrollWidth,\r\n clientWidth: clientWidth,\r\n scrollHeight: scrollHeight,\r\n clientHeight: clientHeight\r\n } = $(this.container()).get(0);\r\n return {\r\n left: scrollWidth - clientWidth,\r\n top: scrollHeight - clientHeight\r\n }\r\n },\r\n _attachEventHandlers: function() {\r\n var strategy = this._strategy;\r\n var initEventData = {\r\n getDirection: strategy.getDirection.bind(strategy),\r\n validate: this._validate.bind(this),\r\n isNative: this.option(\"useNative\"),\r\n scrollTarget: this._$container\r\n };\r\n eventsEngine.off(this._$wrapper, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.init, SCROLLABLE), initEventData, this._initHandler.bind(this));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.start, SCROLLABLE), strategy.handleStart.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.move, SCROLLABLE), strategy.handleMove.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.end, SCROLLABLE), strategy.handleEnd.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.cancel, SCROLLABLE), strategy.handleCancel.bind(strategy));\r\n eventsEngine.on(this._$wrapper, addNamespace(scrollEvents.stop, SCROLLABLE), strategy.handleStop.bind(strategy));\r\n eventsEngine.off(this._$container, \".\" + SCROLLABLE);\r\n eventsEngine.on(this._$container, addNamespace(\"scroll\", SCROLLABLE), strategy.handleScroll.bind(strategy))\r\n },\r\n _validate: function(e) {\r\n if (this._isLocked()) {\r\n return false\r\n }\r\n this._updateIfNeed();\r\n return this._moveIsAllowed(e)\r\n },\r\n _moveIsAllowed(e) {\r\n return this._strategy.validate(e)\r\n },\r\n handleMove(e) {\r\n this._strategy.handleMove(e)\r\n },\r\n _prepareDirections(value) {\r\n this._strategy._prepareDirections(value)\r\n },\r\n _initHandler: function() {\r\n var strategy = this._strategy;\r\n strategy.handleInit.apply(strategy, arguments)\r\n },\r\n _renderDisabledState: function() {\r\n this.$element().toggleClass(SCROLLABLE_DISABLED_CLASS, this.option(\"disabled\"));\r\n if (this.option(\"disabled\")) {\r\n this._lock()\r\n } else {\r\n this._unlock()\r\n }\r\n },\r\n _renderDirection: function() {\r\n this.$element().removeClass(\"dx-scrollable-\" + HORIZONTAL).removeClass(\"dx-scrollable-\" + VERTICAL).removeClass(\"dx-scrollable-\" + BOTH).addClass(\"dx-scrollable-\" + this.option(\"direction\"))\r\n },\r\n _renderStrategy: function() {\r\n this._createStrategy();\r\n this._strategy.render();\r\n this.$element().data(SCROLLABLE_STRATEGY, this._strategy)\r\n },\r\n _createStrategy: function() {\r\n this._strategy = this.option(\"useNative\") ? new NativeStrategy(this) : new SimulatedStrategy(this)\r\n },\r\n _createActions: function() {\r\n this._strategy && this._strategy.createActions()\r\n },\r\n _clean: function() {\r\n this._strategy && this._strategy.dispose()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onStart\":\r\n case \"onEnd\":\r\n case \"onUpdated\":\r\n case \"onScroll\":\r\n case \"onBounce\":\r\n this._createActions();\r\n break;\r\n case \"direction\":\r\n this._resetInactiveDirection();\r\n this._invalidate();\r\n break;\r\n case \"useNative\":\r\n this._setUseSimulatedScrollbar();\r\n this._invalidate();\r\n break;\r\n case \"inertiaEnabled\":\r\n case \"scrollByThumb\":\r\n case \"bounceEnabled\":\r\n case \"useKeyboard\":\r\n case \"showScrollbar\":\r\n case \"useSimulatedScrollbar\":\r\n this._invalidate();\r\n break;\r\n case \"disabled\":\r\n this._renderDisabledState();\r\n this._strategy && this._strategy.disabledChanged();\r\n break;\r\n case \"updateManually\":\r\n case \"scrollByContent\":\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._updateRtlPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _resetInactiveDirection: function() {\r\n var inactiveProp = this._getInactiveProp();\r\n if (!inactiveProp || !hasWindow()) {\r\n return\r\n }\r\n var scrollOffset = this.scrollOffset();\r\n scrollOffset[inactiveProp] = 0;\r\n this.scrollTo(scrollOffset)\r\n },\r\n _getInactiveProp: function() {\r\n var direction = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return \"left\"\r\n }\r\n if (direction === HORIZONTAL) {\r\n return \"top\"\r\n }\r\n },\r\n _location: function() {\r\n return this._strategy.location()\r\n },\r\n _normalizeLocation: function(location) {\r\n if (isPlainObject(location)) {\r\n var left = ensureDefined(location.left, location.x);\r\n var top = ensureDefined(location.top, location.y);\r\n return {\r\n left: isDefined(left) ? -left : void 0,\r\n top: isDefined(top) ? -top : void 0\r\n }\r\n } else {\r\n var direction = this.option(\"direction\");\r\n return {\r\n left: direction !== VERTICAL ? -location : void 0,\r\n top: direction !== HORIZONTAL ? -location : void 0\r\n }\r\n }\r\n },\r\n _isLocked: function() {\r\n return this._locked\r\n },\r\n _lock: function() {\r\n this._locked = true\r\n },\r\n _unlock: function() {\r\n if (!this.option(\"disabled\")) {\r\n this._locked = false\r\n }\r\n },\r\n _isDirection: function(direction) {\r\n var current = this.option(\"direction\");\r\n if (direction === VERTICAL) {\r\n return current !== HORIZONTAL\r\n }\r\n if (direction === HORIZONTAL) {\r\n return current !== VERTICAL\r\n }\r\n return current === direction\r\n },\r\n _updateAllowedDirection: function() {\r\n var allowedDirections = this._strategy._allowedDirections();\r\n if (this._isDirection(BOTH) && allowedDirections.vertical && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = BOTH\r\n } else if (this._isDirection(HORIZONTAL) && allowedDirections.horizontal) {\r\n this._allowedDirectionValue = HORIZONTAL\r\n } else if (this._isDirection(VERTICAL) && allowedDirections.vertical) {\r\n this._allowedDirectionValue = VERTICAL\r\n } else {\r\n this._allowedDirectionValue = null\r\n }\r\n },\r\n _allowedDirection: function() {\r\n return this._allowedDirectionValue\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n container: function() {\r\n return getPublicElement(this._$container)\r\n },\r\n scrollOffset: function() {\r\n return this._strategy._getScrollOffset()\r\n },\r\n _isRtlNativeStrategy: function() {\r\n var {\r\n useNative: useNative,\r\n rtlEnabled: rtlEnabled\r\n } = this.option();\r\n return useNative && rtlEnabled\r\n },\r\n scrollTop: function() {\r\n return this.scrollOffset().top\r\n },\r\n scrollLeft: function() {\r\n return this.scrollOffset().left\r\n },\r\n clientHeight: function() {\r\n return getHeight(this._$container)\r\n },\r\n scrollHeight: function() {\r\n return getOuterHeight(this.$content())\r\n },\r\n clientWidth: function() {\r\n return getWidth(this._$container)\r\n },\r\n scrollWidth: function() {\r\n return getOuterWidth(this.$content())\r\n },\r\n update: function() {\r\n if (!this._strategy) {\r\n return\r\n }\r\n return when(this._strategy.update()).done(function() {\r\n this._updateAllowedDirection()\r\n }.bind(this))\r\n },\r\n scrollBy: function(distance) {\r\n distance = this._normalizeLocation(distance);\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._updateIfNeed();\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollTo: function(targetLocation) {\r\n targetLocation = this._normalizeLocation(targetLocation);\r\n this._updateIfNeed();\r\n var location = this._location();\r\n if (!this.option(\"useNative\")) {\r\n targetLocation = this._strategy._applyScaleRatio(targetLocation);\r\n location = this._strategy._applyScaleRatio(location)\r\n }\r\n if (this._isRtlNativeStrategy()) {\r\n location.left = location.left - this._getMaxOffset().left\r\n }\r\n var distance = this._normalizeLocation({\r\n left: location.left - ensureDefined(targetLocation.left, location.left),\r\n top: location.top - ensureDefined(targetLocation.top, location.top)\r\n });\r\n if (!distance.top && !distance.left) {\r\n return\r\n }\r\n this._strategy.scrollBy(distance)\r\n },\r\n scrollToElement: function(element, offset) {\r\n var $element = $(element);\r\n var elementInsideContent = this.$content().find(element).length;\r\n var elementIsInsideContent = $element.parents(\".\" + SCROLLABLE_CLASS).length - $element.parents(\".\" + SCROLLABLE_CONTENT_CLASS).length === 0;\r\n if (!elementInsideContent || !elementIsInsideContent) {\r\n return\r\n }\r\n var scrollPosition = {\r\n top: 0,\r\n left: 0\r\n };\r\n var direction = this.option(\"direction\");\r\n if (direction !== VERTICAL) {\r\n scrollPosition.left = this.getScrollElementPosition($element, HORIZONTAL, offset)\r\n }\r\n if (direction !== HORIZONTAL) {\r\n scrollPosition.top = this.getScrollElementPosition($element, VERTICAL, offset)\r\n }\r\n this.scrollTo(scrollPosition)\r\n },\r\n getScrollElementPosition: function($element, direction, offset) {\r\n var scrollOffset = this.scrollOffset();\r\n return getElementLocationInternal($element.get(0), direction, $(this.container()).get(0), scrollOffset, offset)\r\n },\r\n _updateIfNeed: function() {\r\n if (!this.option(\"updateManually\")) {\r\n this.update()\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n isRenovated: function() {\r\n return !!Scrollable.IS_RENOVATED_WIDGET\r\n }\r\n});\r\nregisterComponent(SCROLLABLE, Scrollable);\r\nexport default Scrollable;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/scroll_view/utils/get_element_location_internal.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n titleize\r\n} from \"../../../../core/utils/inflector\";\r\nimport {\r\n getRelativeOffset\r\n} from \"./get_relative_offset\";\r\nimport {\r\n DIRECTION_VERTICAL,\r\n SCROLLABLE_CONTENT_CLASS\r\n} from \"../common/consts\";\r\nexport function getElementLocationInternal(targetElement, direction, containerElement, scrollOffset, offset) {\r\n var additionalOffset = _extends({\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n }, offset);\r\n var isVertical = direction === DIRECTION_VERTICAL;\r\n var prop = isVertical ? \"top\" : \"left\";\r\n var inverseProp = isVertical ? \"bottom\" : \"right\";\r\n var dimension = isVertical ? \"height\" : \"width\";\r\n var containerOffsetSize = containerElement[\"offset\".concat(titleize(dimension))];\r\n var containerClientSize = containerElement[\"client\".concat(titleize(dimension))];\r\n var containerSize = containerElement.getBoundingClientRect()[dimension];\r\n var elementSize = targetElement.getBoundingClientRect()[dimension];\r\n var scale = 1;\r\n if (Math.abs(containerSize - containerOffsetSize) > 1) {\r\n scale = containerSize / containerOffsetSize\r\n }\r\n var relativeElementOffset = getRelativeOffset(SCROLLABLE_CONTENT_CLASS, targetElement)[prop] / scale;\r\n var containerScrollOffset = scrollOffset[prop];\r\n var relativeStartOffset = containerScrollOffset - relativeElementOffset + additionalOffset[prop];\r\n var relativeEndOffset = containerScrollOffset - relativeElementOffset - elementSize / scale + containerClientSize - additionalOffset[inverseProp];\r\n if (relativeStartOffset <= 0 && relativeEndOffset >= 0) {\r\n return containerScrollOffset\r\n }\r\n return containerScrollOffset - (Math.abs(relativeStartOffset) > Math.abs(relativeEndOffset) ? relativeEndOffset : relativeStartOffset)\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollable.simulated.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n titleize\r\n} from \"../../core/utils/inflector\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport Class from \"../../core/class\";\r\nimport Animator from \"./animator\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n addNamespace as addEventNamespace,\r\n normalizeKeyName,\r\n isCommandKeyPressed\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferUpdate,\r\n deferUpdater,\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Scrollbar from \"./ui.scrollbar\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar SCROLLABLE_SIMULATED = \"dxSimulatedScrollable\";\r\nvar SCROLLABLE_STRATEGY = \"dxScrollableStrategy\";\r\nvar SCROLLABLE_SIMULATED_CURSOR = SCROLLABLE_SIMULATED + \"Cursor\";\r\nvar SCROLLABLE_SIMULATED_KEYBOARD = SCROLLABLE_SIMULATED + \"Keyboard\";\r\nvar SCROLLABLE_SIMULATED_CLASS = \"dx-scrollable-simulated\";\r\nvar SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE = \"dx-scrollable-scrollbars-alwaysvisible\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar VERTICAL = \"vertical\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar ACCELERATION = .92;\r\nvar OUT_BOUNDS_ACCELERATION = .5;\r\nvar MIN_VELOCITY_LIMIT = 1;\r\nvar FRAME_DURATION = Math.round(1e3 / 60);\r\nvar SCROLL_LINE_HEIGHT = 40;\r\nvar VALIDATE_WHEEL_TIMEOUT = 500;\r\nvar BOUNCE_MIN_VELOCITY_LIMIT = MIN_VELOCITY_LIMIT / 5;\r\nvar BOUNCE_DURATION = 400;\r\nvar BOUNCE_FRAMES = BOUNCE_DURATION / FRAME_DURATION;\r\nvar BOUNCE_ACCELERATION_SUM = (1 - Math.pow(ACCELERATION, BOUNCE_FRAMES)) / (1 - ACCELERATION);\r\nvar KEY_CODES = {\r\n PAGE_UP: \"pageUp\",\r\n PAGE_DOWN: \"pageDown\",\r\n END: \"end\",\r\n HOME: \"home\",\r\n LEFT: \"leftArrow\",\r\n UP: \"upArrow\",\r\n RIGHT: \"rightArrow\",\r\n DOWN: \"downArrow\",\r\n TAB: \"tab\"\r\n};\r\nvar InertiaAnimator = Animator.inherit({\r\n ctor: function(scroller) {\r\n this.callBase();\r\n this.scroller = scroller\r\n },\r\n VELOCITY_LIMIT: MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return Math.abs(this.scroller._velocity) <= this.VELOCITY_LIMIT\r\n },\r\n _step: function() {\r\n this.scroller._scrollStep(this.scroller._velocity);\r\n this.scroller._velocity *= this._acceleration()\r\n },\r\n _acceleration: function() {\r\n return this.scroller._inBounds() ? ACCELERATION : OUT_BOUNDS_ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._scrollComplete()\r\n }\r\n});\r\nvar BounceAnimator = InertiaAnimator.inherit({\r\n VELOCITY_LIMIT: BOUNCE_MIN_VELOCITY_LIMIT,\r\n _isFinished: function() {\r\n return this.scroller._crossBoundOnNextStep() || this.callBase()\r\n },\r\n _acceleration: function() {\r\n return ACCELERATION\r\n },\r\n _complete: function() {\r\n this.scroller._move(this.scroller._bounceLocation);\r\n this.callBase()\r\n }\r\n});\r\nexport var Scroller = Class.inherit({\r\n ctor: function(options) {\r\n this._initOptions(options);\r\n this._initAnimators();\r\n this._initScrollbar()\r\n },\r\n _initOptions: function(options) {\r\n this._location = 0;\r\n this._topReached = false;\r\n this._bottomReached = false;\r\n this._axis = options.direction === HORIZONTAL ? \"x\" : \"y\";\r\n this._prop = options.direction === HORIZONTAL ? \"left\" : \"top\";\r\n this._dimension = options.direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._scrollProp = options.direction === HORIZONTAL ? \"scrollLeft\" : \"scrollTop\";\r\n each(options, (optionName, optionValue) => {\r\n this[\"_\" + optionName] = optionValue\r\n })\r\n },\r\n _initAnimators: function() {\r\n this._inertiaAnimator = new InertiaAnimator(this);\r\n this._bounceAnimator = new BounceAnimator(this)\r\n },\r\n _initScrollbar: function() {\r\n this._scrollbar = new Scrollbar($(\"<div>\").appendTo(this._$container), {\r\n direction: this._direction,\r\n visible: this._scrollByThumb,\r\n visibilityMode: this._visibilityModeNormalize(this._scrollbarVisible),\r\n expandable: this._scrollByThumb\r\n });\r\n this._$scrollbar = this._scrollbar.$element()\r\n },\r\n _visibilityModeNormalize: function(mode) {\r\n return true === mode ? \"onScroll\" : false === mode ? \"never\" : mode\r\n },\r\n _scrollStep: function(delta) {\r\n var prevLocation = this._location;\r\n this._location += delta;\r\n this._suppressBounce();\r\n this._move();\r\n if (Math.abs(prevLocation - this._location) < 1) {\r\n return\r\n }\r\n eventsEngine.triggerHandler(this._$container, {\r\n type: \"scroll\"\r\n })\r\n },\r\n _suppressBounce: function() {\r\n if (this._bounceEnabled || this._inBounds(this._location)) {\r\n return\r\n }\r\n this._velocity = 0;\r\n this._location = this._boundLocation()\r\n },\r\n _boundLocation: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return Math.max(Math.min(location, this._maxOffset), this._minOffset)\r\n },\r\n _move: function(location) {\r\n this._location = void 0 !== location ? location * this._getScaleRatio() : this._location;\r\n this._moveContent();\r\n this._moveScrollbar()\r\n },\r\n _moveContent: function() {\r\n var location = this._location;\r\n this._$container[this._scrollProp](-location / this._getScaleRatio());\r\n this._moveContentByTranslator(location)\r\n },\r\n _getScaleRatio: function() {\r\n if (hasWindow() && !this._scaleRatio) {\r\n var element = this._$element.get(0);\r\n var realDimension = this._getRealDimension(element, this._dimension);\r\n var baseDimension = this._getBaseDimension(element, this._dimension);\r\n this._scaleRatio = Math.round(realDimension / baseDimension * 100) / 100\r\n }\r\n return this._scaleRatio || 1\r\n },\r\n _getRealDimension: function(element, dimension) {\r\n return Math.round(getBoundingRect(element)[dimension])\r\n },\r\n _getBaseDimension: function(element, dimension) {\r\n var dimensionName = \"offset\" + titleize(dimension);\r\n return element[dimensionName]\r\n },\r\n _moveContentByTranslator: function(location) {\r\n var translateOffset;\r\n var minOffset = -this._maxScrollPropValue;\r\n if (location > 0) {\r\n translateOffset = location\r\n } else if (location <= minOffset) {\r\n translateOffset = location - minOffset\r\n } else {\r\n translateOffset = location % 1\r\n }\r\n if (this._translateOffset === translateOffset) {\r\n return\r\n }\r\n var targetLocation = {};\r\n targetLocation[this._prop] = translateOffset;\r\n this._translateOffset = translateOffset;\r\n if (0 === translateOffset) {\r\n resetPosition(this._$content);\r\n return\r\n }\r\n move(this._$content, targetLocation)\r\n },\r\n _moveScrollbar: function() {\r\n this._scrollbar.moveTo(this._location)\r\n },\r\n _scrollComplete: function() {\r\n if (this._inBounds()) {\r\n this._hideScrollbar();\r\n if (this._completeDeferred) {\r\n this._completeDeferred.resolve()\r\n }\r\n }\r\n this._scrollToBounds()\r\n },\r\n _scrollToBounds: function() {\r\n if (this._inBounds()) {\r\n return\r\n }\r\n this._bounceAction();\r\n this._setupBounce();\r\n this._bounceAnimator.start()\r\n },\r\n _setupBounce: function() {\r\n var boundLocation = this._bounceLocation = this._boundLocation();\r\n var bounceDistance = boundLocation - this._location;\r\n this._velocity = bounceDistance / BOUNCE_ACCELERATION_SUM\r\n },\r\n _inBounds: function(location) {\r\n location = void 0 !== location ? location : this._location;\r\n return this._boundLocation(location) === location\r\n },\r\n _crossBoundOnNextStep: function() {\r\n var location = this._location;\r\n var nextLocation = location + this._velocity;\r\n return location < this._minOffset && nextLocation >= this._minOffset || location > this._maxOffset && nextLocation <= this._maxOffset\r\n },\r\n _initHandler: function(e) {\r\n this._stopScrolling();\r\n this._prepareThumbScrolling(e)\r\n },\r\n _stopScrolling: deferRenderer((function() {\r\n this._hideScrollbar();\r\n this._inertiaAnimator.stop();\r\n this._bounceAnimator.stop()\r\n })),\r\n _prepareThumbScrolling: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n return\r\n }\r\n var $target = $(e.originalEvent.target);\r\n var scrollbarClicked = this._isScrollbar($target);\r\n if (scrollbarClicked) {\r\n this._moveToMouseLocation(e)\r\n }\r\n this._thumbScrolling = scrollbarClicked || this._isThumb($target);\r\n this._crossThumbScrolling = !this._thumbScrolling && this._isAnyThumbScrolling($target);\r\n if (this._thumbScrolling) {\r\n this._scrollbar.feedbackOn()\r\n }\r\n },\r\n _isThumbScrollingHandler: function($target) {\r\n return this._isThumb($target)\r\n },\r\n _moveToMouseLocation: function(e) {\r\n var mouseLocation = e[\"page\" + this._axis.toUpperCase()] - this._$element.offset()[this._prop];\r\n var location = this._location + mouseLocation / this._containerToContentRatio() - getHeight(this._$container) / 2;\r\n this._scrollStep(-Math.round(location))\r\n },\r\n _startHandler: function() {\r\n this._showScrollbar()\r\n },\r\n _moveHandler: function(delta) {\r\n if (this._crossThumbScrolling) {\r\n return\r\n }\r\n if (this._thumbScrolling) {\r\n delta[this._axis] = -Math.round(delta[this._axis] / this._containerToContentRatio())\r\n }\r\n this._scrollBy(delta)\r\n },\r\n _scrollBy: function(delta) {\r\n delta = delta[this._axis];\r\n if (!this._inBounds()) {\r\n delta *= OUT_BOUNDS_ACCELERATION\r\n }\r\n this._scrollStep(delta)\r\n },\r\n _scrollByHandler: function(delta) {\r\n this._scrollBy(delta);\r\n this._scrollComplete()\r\n },\r\n _containerToContentRatio: function() {\r\n return this._scrollbar.containerToContentRatio()\r\n },\r\n _endHandler: function(velocity) {\r\n this._completeDeferred = new Deferred;\r\n this._velocity = velocity[this._axis];\r\n this._inertiaHandler();\r\n this._resetThumbScrolling();\r\n return this._completeDeferred.promise()\r\n },\r\n _inertiaHandler: function() {\r\n this._suppressInertia();\r\n this._inertiaAnimator.start()\r\n },\r\n _suppressInertia: function() {\r\n if (!this._inertiaEnabled || this._thumbScrolling) {\r\n this._velocity = 0\r\n }\r\n },\r\n _resetThumbScrolling: function() {\r\n this._thumbScrolling = false;\r\n this._crossThumbScrolling = false\r\n },\r\n _stopHandler: function() {\r\n if (this._thumbScrolling) {\r\n this._scrollComplete()\r\n }\r\n this._resetThumbScrolling();\r\n this._scrollToBounds()\r\n },\r\n _disposeHandler: function() {\r\n this._stopScrolling();\r\n this._$scrollbar.remove()\r\n },\r\n _updateHandler: function() {\r\n this._update();\r\n this._moveToBounds()\r\n },\r\n _update: function() {\r\n this._stopScrolling();\r\n return deferUpdate(() => {\r\n this._resetScaleRatio();\r\n this._updateLocation();\r\n this._updateBounds();\r\n this._updateScrollbar();\r\n deferRender(() => {\r\n this._moveScrollbar();\r\n this._scrollbar.update()\r\n })\r\n })\r\n },\r\n _resetScaleRatio: function() {\r\n this._scaleRatio = null\r\n },\r\n _updateLocation: function() {\r\n this._location = (locate(this._$content)[this._prop] - this._$container[this._scrollProp]()) * this._getScaleRatio()\r\n },\r\n _updateBounds: function() {\r\n this._maxOffset = this._getMaxOffset();\r\n this._minOffset = this._getMinOffset()\r\n },\r\n _getMaxOffset: function() {\r\n return 0\r\n },\r\n _getMinOffset: function() {\r\n this._maxScrollPropValue = Math.max(this._contentSize() - this._containerSize(), 0);\r\n return -this._maxScrollPropValue\r\n },\r\n _updateScrollbar: deferUpdater((function() {\r\n var containerSize = this._containerSize();\r\n var contentSize = this._contentSize();\r\n var baseContainerSize = this._getBaseDimension(this._$container.get(0), this._dimension);\r\n var baseContentSize = this._getBaseDimension(this._$content.get(0), this._dimension);\r\n deferRender(() => {\r\n this._scrollbar.option({\r\n containerSize: containerSize,\r\n contentSize: contentSize,\r\n baseContainerSize: baseContainerSize,\r\n baseContentSize: baseContentSize,\r\n scaleRatio: this._getScaleRatio()\r\n })\r\n })\r\n })),\r\n _moveToBounds: deferRenderer(deferUpdater(deferRenderer((function() {\r\n var location = this._boundLocation();\r\n var locationChanged = location !== this._location;\r\n this._location = location;\r\n this._move();\r\n if (locationChanged) {\r\n this._scrollAction()\r\n }\r\n })))),\r\n _createActionsHandler: function(actions) {\r\n this._scrollAction = actions.scroll;\r\n this._bounceAction = actions.bounce\r\n },\r\n _showScrollbar: function() {\r\n this._scrollbar.option(\"visible\", true)\r\n },\r\n _hideScrollbar: function() {\r\n this._scrollbar.option(\"visible\", false)\r\n },\r\n _containerSize: function() {\r\n return this._getRealDimension(this._$container.get(0), this._dimension)\r\n },\r\n _contentSize: function() {\r\n var isOverflowHidden = \"hidden\" === this._$content.css(\"overflow\" + this._axis.toUpperCase());\r\n var contentSize = this._getRealDimension(this._$content.get(0), this._dimension);\r\n if (!isOverflowHidden) {\r\n var containerScrollSize = this._$content[0][\"scroll\" + titleize(this._dimension)] * this._getScaleRatio();\r\n contentSize = Math.max(containerScrollSize, contentSize)\r\n }\r\n return contentSize\r\n },\r\n _validateEvent: function(e) {\r\n var $target = $(e.originalEvent.target);\r\n return this._isThumb($target) || this._isScrollbar($target)\r\n },\r\n _isThumb: function($element) {\r\n return this._scrollByThumb && this._scrollbar.isThumb($element)\r\n },\r\n _isScrollbar: function($element) {\r\n return this._scrollByThumb && $element && $element.is(this._$scrollbar)\r\n },\r\n _reachedMin: function() {\r\n return Math.round(this._location - this._minOffset) <= 0\r\n },\r\n _reachedMax: function() {\r\n return Math.round(this._location - this._maxOffset) >= 0\r\n },\r\n _cursorEnterHandler: function() {\r\n this._resetScaleRatio();\r\n this._updateScrollbar();\r\n this._scrollbar.cursorEnter()\r\n },\r\n _cursorLeaveHandler: function() {\r\n this._scrollbar.cursorLeave()\r\n },\r\n dispose: noop\r\n});\r\nvar hoveredScrollable;\r\nvar activeScrollable;\r\nexport var SimulatedStrategy = Class.inherit({\r\n ctor: function(scrollable) {\r\n this._init(scrollable)\r\n },\r\n _init: function(scrollable) {\r\n this._component = scrollable;\r\n this._$element = scrollable.$element();\r\n this._$container = $(scrollable.container());\r\n this._$wrapper = scrollable._$wrapper;\r\n this._$content = scrollable.$content();\r\n this.option = scrollable.option.bind(scrollable);\r\n this._createActionByOption = scrollable._createActionByOption.bind(scrollable);\r\n this._isLocked = scrollable._isLocked.bind(scrollable);\r\n this._isDirection = scrollable._isDirection.bind(scrollable);\r\n this._allowedDirection = scrollable._allowedDirection.bind(scrollable);\r\n this._getMaxOffset = scrollable._getMaxOffset.bind(scrollable)\r\n },\r\n render: function() {\r\n this._$element.addClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._createScrollers();\r\n if (this.option(\"useKeyboard\")) {\r\n this._$container.prop(\"tabIndex\", 0)\r\n }\r\n this._attachKeyboardHandler();\r\n this._attachCursorHandlers()\r\n },\r\n _createScrollers: function() {\r\n this._scrollers = {};\r\n if (this._isDirection(HORIZONTAL)) {\r\n this._createScroller(HORIZONTAL)\r\n }\r\n if (this._isDirection(VERTICAL)) {\r\n this._createScroller(VERTICAL)\r\n }\r\n this._$element.toggleClass(SCROLLABLE_SCROLLBARS_ALWAYSVISIBLE, \"always\" === this.option(\"showScrollbar\"))\r\n },\r\n _createScroller: function(direction) {\r\n this._scrollers[direction] = new Scroller(this._scrollerOptions(direction))\r\n },\r\n _scrollerOptions: function(direction) {\r\n return {\r\n direction: direction,\r\n $content: this._$content,\r\n $container: this._$container,\r\n $wrapper: this._$wrapper,\r\n $element: this._$element,\r\n scrollByThumb: this.option(\"scrollByThumb\"),\r\n scrollbarVisible: this.option(\"showScrollbar\"),\r\n bounceEnabled: this.option(\"bounceEnabled\"),\r\n inertiaEnabled: this.option(\"inertiaEnabled\"),\r\n isAnyThumbScrolling: this._isAnyThumbScrolling.bind(this)\r\n }\r\n },\r\n _applyScaleRatio: function(targetLocation) {\r\n for (var direction in this._scrollers) {\r\n var prop = this._getPropByDirection(direction);\r\n if (isDefined(targetLocation[prop])) {\r\n var scroller = this._scrollers[direction];\r\n targetLocation[prop] *= scroller._getScaleRatio()\r\n }\r\n }\r\n return targetLocation\r\n },\r\n _isAnyThumbScrolling: function($target) {\r\n var result = false;\r\n this._eventHandler(\"isThumbScrolling\", $target).done((function(isThumbScrollingVertical, isThumbScrollingHorizontal) {\r\n result = isThumbScrollingVertical || isThumbScrollingHorizontal\r\n }));\r\n return result\r\n },\r\n handleInit: function(e) {\r\n this._suppressDirections(e);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"init\", e)\r\n },\r\n _suppressDirections: function(e) {\r\n if (isDxMouseWheelEvent(e.originalEvent)) {\r\n this._prepareDirections(true);\r\n return\r\n }\r\n this._prepareDirections();\r\n this._eachScroller((function(scroller, direction) {\r\n var $target = $(e.originalEvent.target);\r\n var isValid = scroller._validateEvent(e) || this.option(\"scrollByContent\") && this._isContent($target);\r\n this._validDirections[direction] = isValid\r\n }))\r\n },\r\n _isContent: function($element) {\r\n return !!$element.closest(this._$element).length\r\n },\r\n _prepareDirections: function(value) {\r\n value = value || false;\r\n this._validDirections = {};\r\n this._validDirections[HORIZONTAL] = value;\r\n this._validDirections[VERTICAL] = value\r\n },\r\n _eachScroller: function(callback) {\r\n callback = callback.bind(this);\r\n each(this._scrollers, (function(direction, scroller) {\r\n callback(scroller, direction)\r\n }))\r\n },\r\n handleStart: function(e) {\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"start\").done(this._startAction)\r\n },\r\n _saveActive: function() {\r\n activeScrollable = this\r\n },\r\n _resetActive: function() {\r\n if (activeScrollable === this) {\r\n activeScrollable = null\r\n }\r\n },\r\n handleMove: function(e) {\r\n if (this._isLocked()) {\r\n e.cancel = true;\r\n this._resetActive();\r\n return\r\n }\r\n this._saveActive();\r\n e.preventDefault && e.preventDefault();\r\n this._adjustDistance(e, e.delta);\r\n this._eventForUserAction = e;\r\n this._eventHandler(\"move\", e.delta)\r\n },\r\n _adjustDistance: function(e, distance) {\r\n distance.x *= this._validDirections[HORIZONTAL];\r\n distance.y *= this._validDirections[VERTICAL];\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n if (devicePixelRatio && isDxMouseWheelEvent(e.originalEvent)) {\r\n distance.x = Math.round(distance.x / devicePixelRatio * 100) / 100;\r\n distance.y = Math.round(distance.y / devicePixelRatio * 100) / 100\r\n }\r\n },\r\n _tryGetDevicePixelRatio: function() {\r\n if (hasWindow()) {\r\n return getWindow().devicePixelRatio\r\n }\r\n },\r\n handleEnd: function(e) {\r\n this._resetActive();\r\n this._refreshCursorState(e.originalEvent && e.originalEvent.target);\r\n this._adjustDistance(e, e.velocity);\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", e.velocity).done(this._endAction)\r\n },\r\n handleCancel: function(e) {\r\n this._resetActive();\r\n this._eventForUserAction = e;\r\n return this._eventHandler(\"end\", {\r\n x: 0,\r\n y: 0\r\n })\r\n },\r\n handleStop: function() {\r\n this._resetActive();\r\n this._eventHandler(\"stop\")\r\n },\r\n handleScroll: function() {\r\n this._updateRtlConfig();\r\n this._scrollAction()\r\n },\r\n _attachKeyboardHandler: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD));\r\n if (!this.option(\"disabled\") && this.option(\"useKeyboard\")) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"keydown\", SCROLLABLE_SIMULATED_KEYBOARD), this._keyDownHandler.bind(this))\r\n }\r\n },\r\n _keyDownHandler: function(e) {\r\n clearTimeout(this._updateHandlerTimeout);\r\n this._updateHandlerTimeout = setTimeout(() => {\r\n if (normalizeKeyName(e) === KEY_CODES.TAB) {\r\n this._eachScroller(scroller => {\r\n scroller._updateHandler()\r\n })\r\n }\r\n });\r\n if (!this._$container.is(domAdapter.getActiveElement(this._$container.get(0)))) {\r\n return\r\n }\r\n var handled = true;\r\n switch (normalizeKeyName(e)) {\r\n case KEY_CODES.DOWN:\r\n this._scrollByLine({\r\n y: 1\r\n });\r\n break;\r\n case KEY_CODES.UP:\r\n this._scrollByLine({\r\n y: -1\r\n });\r\n break;\r\n case KEY_CODES.RIGHT:\r\n this._scrollByLine({\r\n x: 1\r\n });\r\n break;\r\n case KEY_CODES.LEFT:\r\n this._scrollByLine({\r\n x: -1\r\n });\r\n break;\r\n case KEY_CODES.PAGE_DOWN:\r\n this._scrollByPage(1);\r\n break;\r\n case KEY_CODES.PAGE_UP:\r\n this._scrollByPage(-1);\r\n break;\r\n case KEY_CODES.HOME:\r\n this._scrollToHome();\r\n break;\r\n case KEY_CODES.END:\r\n this._scrollToEnd();\r\n break;\r\n default:\r\n handled = false\r\n }\r\n if (handled) {\r\n e.stopPropagation();\r\n e.preventDefault()\r\n }\r\n },\r\n _scrollByLine: function(lines) {\r\n var devicePixelRatio = this._tryGetDevicePixelRatio();\r\n var scrollOffset = SCROLL_LINE_HEIGHT;\r\n if (devicePixelRatio) {\r\n scrollOffset = Math.abs(scrollOffset / devicePixelRatio * 100) / 100\r\n }\r\n this.scrollBy({\r\n top: (lines.y || 0) * -scrollOffset,\r\n left: (lines.x || 0) * -scrollOffset\r\n })\r\n },\r\n _scrollByPage: function(page) {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = page * -getter(this._$container);\r\n this.scrollBy(distance)\r\n },\r\n _dimensionByProp: function(prop) {\r\n return \"left\" === prop ? \"width\" : \"height\"\r\n },\r\n _getPropByDirection: function(direction) {\r\n return direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _scrollToHome: function() {\r\n var prop = this._wheelProp();\r\n var distance = {};\r\n distance[prop] = 0;\r\n this._component.scrollTo(distance)\r\n },\r\n _scrollToEnd: function() {\r\n var prop = this._wheelProp();\r\n var dimension = this._dimensionByProp(prop);\r\n var distance = {};\r\n var getter = \"width\" === dimension ? getWidth : getHeight;\r\n distance[prop] = getter(this._$content) - getter(this._$container);\r\n this._component.scrollTo(distance)\r\n },\r\n createActions: function() {\r\n this._startAction = this._createActionHandler(\"onStart\");\r\n this._endAction = this._createActionHandler(\"onEnd\");\r\n this._updateAction = this._createActionHandler(\"onUpdated\");\r\n this._createScrollerActions()\r\n },\r\n _createScrollerActions: function() {\r\n this._scrollAction = this._createActionHandler(\"onScroll\");\r\n this._bounceAction = this._createActionHandler(\"onBounce\");\r\n this._eventHandler(\"createActions\", {\r\n scroll: this._scrollAction,\r\n bounce: this._bounceAction\r\n })\r\n },\r\n _createActionHandler: function(optionName) {\r\n var actionHandler = this._createActionByOption(optionName);\r\n return () => {\r\n actionHandler(extend(this._createActionArgs(), arguments))\r\n }\r\n },\r\n _createActionArgs: function() {\r\n var {\r\n horizontal: scrollerX,\r\n vertical: scrollerY\r\n } = this._scrollers;\r\n var offset = this._getScrollOffset();\r\n this._scrollOffset = {\r\n top: scrollerY && offset.top,\r\n left: scrollerX && offset.left\r\n };\r\n return {\r\n event: this._eventForUserAction,\r\n scrollOffset: this._scrollOffset,\r\n reachedLeft: scrollerX && scrollerX._reachedMax(),\r\n reachedRight: scrollerX && scrollerX._reachedMin(),\r\n reachedTop: scrollerY && scrollerY._reachedMax(),\r\n reachedBottom: scrollerY && scrollerY._reachedMin()\r\n }\r\n },\r\n _getScrollOffset() {\r\n return {\r\n top: -this.location().top,\r\n left: -this.location().left\r\n }\r\n },\r\n _eventHandler: function(eventName) {\r\n var args = [].slice.call(arguments).slice(1);\r\n var deferreds = map(this._scrollers, scroller => scroller[\"_\" + eventName + \"Handler\"].apply(scroller, args));\r\n return when.apply($, deferreds).promise()\r\n },\r\n location: function() {\r\n var location = locate(this._$content);\r\n location.top -= this._$container.scrollTop();\r\n location.left -= this._$container.scrollLeft();\r\n return location\r\n },\r\n disabledChanged: function() {\r\n this._attachCursorHandlers()\r\n },\r\n _attachCursorHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n if (!this.option(\"disabled\") && this._isHoverMode()) {\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseenter\", SCROLLABLE_SIMULATED_CURSOR), this._cursorEnterHandler.bind(this));\r\n eventsEngine.on(this._$element, addEventNamespace(\"mouseleave\", SCROLLABLE_SIMULATED_CURSOR), this._cursorLeaveHandler.bind(this))\r\n }\r\n },\r\n _isHoverMode: function() {\r\n return \"onHover\" === this.option(\"showScrollbar\")\r\n },\r\n _cursorEnterHandler: function(e) {\r\n e = e || {};\r\n e.originalEvent = e.originalEvent || {};\r\n if (activeScrollable || e.originalEvent._hoverHandled) {\r\n return\r\n }\r\n if (hoveredScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n hoveredScrollable = this;\r\n this._eventHandler(\"cursorEnter\");\r\n e.originalEvent._hoverHandled = true\r\n },\r\n _cursorLeaveHandler: function(e) {\r\n if (hoveredScrollable !== this || activeScrollable === hoveredScrollable) {\r\n return\r\n }\r\n this._eventHandler(\"cursorLeave\");\r\n hoveredScrollable = null;\r\n this._refreshCursorState(e && e.relatedTarget)\r\n },\r\n _refreshCursorState: function(target) {\r\n if (!this._isHoverMode() && (!target || activeScrollable)) {\r\n return\r\n }\r\n var $target = $(target);\r\n var $scrollable = $target.closest(\".\".concat(SCROLLABLE_SIMULATED_CLASS, \":not(.dx-state-disabled)\"));\r\n var targetScrollable = $scrollable.length && $scrollable.data(SCROLLABLE_STRATEGY);\r\n if (hoveredScrollable && hoveredScrollable !== targetScrollable) {\r\n hoveredScrollable._cursorLeaveHandler()\r\n }\r\n if (targetScrollable) {\r\n targetScrollable._cursorEnterHandler()\r\n }\r\n },\r\n update: function() {\r\n var result = this._eventHandler(\"update\").done(this._updateAction);\r\n return when(result, deferUpdate(() => {\r\n var allowedDirections = this._allowedDirections();\r\n deferRender(() => {\r\n var touchDirection = allowedDirections.vertical ? \"pan-x\" : \"\";\r\n touchDirection = allowedDirections.horizontal ? \"pan-y\" : touchDirection;\r\n touchDirection = allowedDirections.vertical && allowedDirections.horizontal ? \"none\" : touchDirection;\r\n this._$container.css(\"touchAction\", touchDirection)\r\n });\r\n return when().promise()\r\n }))\r\n },\r\n _allowedDirections: function() {\r\n var bounceEnabled = this.option(\"bounceEnabled\");\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n return {\r\n vertical: verticalScroller && (verticalScroller._minOffset < 0 || bounceEnabled),\r\n horizontal: horizontalScroller && (horizontalScroller._minOffset < 0 || bounceEnabled)\r\n }\r\n },\r\n _updateBounds: function() {\r\n this._scrollers[HORIZONTAL] && this._scrollers[HORIZONTAL]._updateBounds()\r\n },\r\n _isHorizontalAndRtlEnabled: function() {\r\n return this.option(\"rtlEnabled\") && this.option(\"direction\") !== VERTICAL\r\n },\r\n updateRtlPosition: function(needInitializeRtlConfig) {\r\n if (needInitializeRtlConfig) {\r\n this._rtlConfig = {\r\n scrollRight: 0,\r\n clientWidth: this._$container.get(0).clientWidth,\r\n windowPixelRatio: this._getWindowDevicePixelRatio()\r\n }\r\n }\r\n this._updateBounds();\r\n if (this._isHorizontalAndRtlEnabled()) {\r\n var scrollLeft = this._getMaxOffset().left - this._rtlConfig.scrollRight;\r\n if (scrollLeft <= 0) {\r\n scrollLeft = 0;\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left\r\n }\r\n if (this._getScrollOffset().left !== scrollLeft) {\r\n this._rtlConfig.skipUpdating = true;\r\n this._component.scrollTo({\r\n left: scrollLeft\r\n });\r\n this._rtlConfig.skipUpdating = false\r\n }\r\n }\r\n },\r\n _updateRtlConfig: function() {\r\n if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) {\r\n var {\r\n clientWidth: clientWidth,\r\n scrollLeft: scrollLeft\r\n } = this._$container.get(0);\r\n var windowPixelRatio = this._getWindowDevicePixelRatio();\r\n if (this._rtlConfig.windowPixelRatio === windowPixelRatio && this._rtlConfig.clientWidth === clientWidth) {\r\n this._rtlConfig.scrollRight = this._getMaxOffset().left - scrollLeft\r\n }\r\n this._rtlConfig.clientWidth = clientWidth;\r\n this._rtlConfig.windowPixelRatio = windowPixelRatio\r\n }\r\n },\r\n _getWindowDevicePixelRatio: function() {\r\n return hasWindow() ? getWindow().devicePixelRatio : 1\r\n },\r\n scrollBy: function(distance) {\r\n var verticalScroller = this._scrollers[VERTICAL];\r\n var horizontalScroller = this._scrollers[HORIZONTAL];\r\n if (verticalScroller) {\r\n distance.top = verticalScroller._boundLocation(distance.top + verticalScroller._location) - verticalScroller._location\r\n }\r\n if (horizontalScroller) {\r\n distance.left = horizontalScroller._boundLocation(distance.left + horizontalScroller._location) - horizontalScroller._location\r\n }\r\n this._prepareDirections(true);\r\n this._startAction();\r\n this._eventHandler(\"scrollBy\", {\r\n x: distance.left,\r\n y: distance.top\r\n });\r\n this._endAction();\r\n this._updateRtlConfig()\r\n },\r\n validate: function(e) {\r\n if (isDxMouseWheelEvent(e) && isCommandKeyPressed(e)) {\r\n return false\r\n }\r\n if (this.option(\"disabled\")) {\r\n return false\r\n }\r\n if (this.option(\"bounceEnabled\")) {\r\n return true\r\n }\r\n return isDxMouseWheelEvent(e) ? this._validateWheel(e) : this._validateMove(e)\r\n },\r\n _validateWheel: function(e) {\r\n var scroller = this._scrollers[this._wheelDirection(e)];\r\n var reachedMin = scroller._reachedMin();\r\n var reachedMax = scroller._reachedMax();\r\n var contentGreaterThanContainer = !reachedMin || !reachedMax;\r\n var locatedNotAtBound = !reachedMin && !reachedMax;\r\n var scrollFromMin = reachedMin && e.delta > 0;\r\n var scrollFromMax = reachedMax && e.delta < 0;\r\n var validated = contentGreaterThanContainer && (locatedNotAtBound || scrollFromMin || scrollFromMax);\r\n validated = validated || void 0 !== this._validateWheelTimer;\r\n if (validated) {\r\n clearTimeout(this._validateWheelTimer);\r\n this._validateWheelTimer = setTimeout(() => {\r\n this._validateWheelTimer = void 0\r\n }, VALIDATE_WHEEL_TIMEOUT)\r\n }\r\n return validated\r\n },\r\n _validateMove: function(e) {\r\n if (!this.option(\"scrollByContent\") && !$(e.target).closest(\".\".concat(SCROLLABLE_SCROLLBAR_CLASS)).length) {\r\n return false\r\n }\r\n return this._allowedDirection()\r\n },\r\n getDirection: function(e) {\r\n return isDxMouseWheelEvent(e) ? this._wheelDirection(e) : this._allowedDirection()\r\n },\r\n _wheelProp: function() {\r\n return this._wheelDirection() === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _wheelDirection: function(e) {\r\n switch (this.option(\"direction\")) {\r\n case HORIZONTAL:\r\n return HORIZONTAL;\r\n case VERTICAL:\r\n return VERTICAL;\r\n default:\r\n return e && e.shiftKey ? HORIZONTAL : VERTICAL\r\n }\r\n },\r\n dispose: function() {\r\n this._resetActive();\r\n if (hoveredScrollable === this) {\r\n hoveredScrollable = null\r\n }\r\n this._eventHandler(\"dispose\");\r\n this._detachEventHandlers();\r\n this._$element.removeClass(SCROLLABLE_SIMULATED_CLASS);\r\n this._eventForUserAction = null;\r\n clearTimeout(this._validateWheelTimer);\r\n clearTimeout(this._updateHandlerTimeout)\r\n },\r\n _detachEventHandlers: function() {\r\n eventsEngine.off(this._$element, \".\".concat(SCROLLABLE_SIMULATED_CURSOR));\r\n eventsEngine.off(this._$container, \".\".concat(SCROLLABLE_SIMULATED_KEYBOARD))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/scroll_view/ui.scrollbar.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallback from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n move\r\n} from \"../../animation/translator\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport {\r\n deferRenderer\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nvar SCROLLBAR = \"dxScrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_CLASS = \"dx-scrollable-scrollbar\";\r\nvar SCROLLABLE_SCROLLBAR_ACTIVE_CLASS = \"\".concat(SCROLLABLE_SCROLLBAR_CLASS, \"-active\");\r\nvar SCROLLABLE_SCROLL_CLASS = \"dx-scrollable-scroll\";\r\nvar SCROLLABLE_SCROLL_CONTENT_CLASS = \"dx-scrollable-scroll-content\";\r\nvar HOVER_ENABLED_STATE = \"dx-scrollbar-hoverable\";\r\nvar HORIZONTAL = \"horizontal\";\r\nvar THUMB_MIN_SIZE = 15;\r\nvar SCROLLBAR_VISIBLE = {\r\n onScroll: \"onScroll\",\r\n onHover: \"onHover\",\r\n always: \"always\",\r\n never: \"never\"\r\n};\r\nvar activeScrollbar = null;\r\nvar Scrollbar = Widget.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n direction: null,\r\n visible: false,\r\n activeStateEnabled: false,\r\n visibilityMode: SCROLLBAR_VISIBLE.onScroll,\r\n containerSize: 0,\r\n contentSize: 0,\r\n expandable: true,\r\n scaleRatio: 1\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._isHovered = false\r\n },\r\n _initMarkup: function() {\r\n this._renderThumb();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderDirection();\r\n this._update();\r\n this._attachPointerDownHandler();\r\n this.option(\"hoverStateEnabled\", this._isHoverMode());\r\n this.$element().toggleClass(HOVER_ENABLED_STATE, this.option(\"hoverStateEnabled\"))\r\n },\r\n _renderThumb: function() {\r\n this._$thumb = $(\"<div>\").addClass(SCROLLABLE_SCROLL_CLASS);\r\n $(\"<div>\").addClass(SCROLLABLE_SCROLL_CONTENT_CLASS).appendTo(this._$thumb);\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_CLASS).append(this._$thumb)\r\n },\r\n isThumb: function($element) {\r\n return !!this.$element().find($element).length\r\n },\r\n _isHoverMode: function() {\r\n var visibilityMode = this.option(\"visibilityMode\");\r\n return (visibilityMode === SCROLLBAR_VISIBLE.onHover || visibilityMode === SCROLLBAR_VISIBLE.always) && this.option(\"expandable\")\r\n },\r\n _renderDirection: function() {\r\n var direction = this.option(\"direction\");\r\n this.$element().addClass(\"dx-scrollbar-\" + direction);\r\n this._dimension = direction === HORIZONTAL ? \"width\" : \"height\";\r\n this._prop = direction === HORIZONTAL ? \"left\" : \"top\"\r\n },\r\n _attachPointerDownHandler: function() {\r\n eventsEngine.on(this._$thumb, addNamespace(pointerEvents.down, SCROLLBAR), this.feedbackOn.bind(this))\r\n },\r\n feedbackOn: function() {\r\n this.$element().addClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = this\r\n },\r\n feedbackOff: function() {\r\n this.$element().removeClass(SCROLLABLE_SCROLLBAR_ACTIVE_CLASS);\r\n activeScrollbar = null\r\n },\r\n cursorEnter: function() {\r\n this._isHovered = true;\r\n if (this._needScrollbar()) {\r\n this.option(\"visible\", true)\r\n }\r\n },\r\n cursorLeave: function() {\r\n this._isHovered = false;\r\n this.option(\"visible\", false)\r\n },\r\n _renderDimensions: function() {\r\n this._$thumb.css({\r\n width: this.option(\"width\"),\r\n height: this.option(\"height\")\r\n })\r\n },\r\n _toggleVisibility: function(visible) {\r\n if (this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.onScroll) {\r\n this._$thumb.css(\"opacity\")\r\n }\r\n visible = this._adjustVisibility(visible);\r\n this.option().visible = visible;\r\n this._$thumb.toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _adjustVisibility: function(visible) {\r\n if (this._baseContainerToContentRatio && !this._needScrollbar()) {\r\n return false\r\n }\r\n switch (this.option(\"visibilityMode\")) {\r\n case SCROLLBAR_VISIBLE.onScroll:\r\n break;\r\n case SCROLLBAR_VISIBLE.onHover:\r\n visible = visible || !!this._isHovered;\r\n break;\r\n case SCROLLBAR_VISIBLE.never:\r\n visible = false;\r\n break;\r\n case SCROLLBAR_VISIBLE.always:\r\n visible = true\r\n }\r\n return visible\r\n },\r\n moveTo: function(location) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n if (isPlainObject(location)) {\r\n location = location[this._prop] || 0\r\n }\r\n var scrollBarLocation = {};\r\n scrollBarLocation[this._prop] = this._calculateScrollBarPosition(location);\r\n move(this._$thumb, scrollBarLocation)\r\n },\r\n _calculateScrollBarPosition: function(location) {\r\n return -location * this._thumbRatio\r\n },\r\n _update: function() {\r\n var containerSize = Math.round(this.option(\"containerSize\"));\r\n var contentSize = Math.round(this.option(\"contentSize\"));\r\n var baseContainerSize = Math.round(this.option(\"baseContainerSize\"));\r\n var baseContentSize = Math.round(this.option(\"baseContentSize\"));\r\n if (isNaN(baseContainerSize)) {\r\n baseContainerSize = containerSize;\r\n baseContentSize = contentSize\r\n }\r\n this._baseContainerToContentRatio = baseContentSize ? baseContainerSize / baseContentSize : baseContainerSize;\r\n this._realContainerToContentRatio = contentSize ? containerSize / contentSize : containerSize;\r\n var thumbSize = Math.round(Math.max(Math.round(containerSize * this._realContainerToContentRatio), THUMB_MIN_SIZE));\r\n this._thumbRatio = (containerSize - thumbSize) / (this.option(\"scaleRatio\") * (contentSize - containerSize));\r\n this.option(this._dimension, thumbSize / this.option(\"scaleRatio\"));\r\n this.$element().css(\"display\", this._needScrollbar() ? \"\" : \"none\")\r\n },\r\n _isHidden: function() {\r\n return this.option(\"visibilityMode\") === SCROLLBAR_VISIBLE.never\r\n },\r\n _needScrollbar: function() {\r\n return !this._isHidden() && this._baseContainerToContentRatio < 1\r\n },\r\n containerToContentRatio: function() {\r\n return this._realContainerToContentRatio\r\n },\r\n _normalizeSize: function(size) {\r\n return isPlainObject(size) ? size[this._dimension] || 0 : size\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n if (this === activeScrollbar) {\r\n activeScrollbar = null\r\n }\r\n eventsEngine.off(this._$thumb, \".\" + SCROLLBAR)\r\n },\r\n _optionChanged: function(args) {\r\n if (this._isHidden()) {\r\n return\r\n }\r\n switch (args.name) {\r\n case \"containerSize\":\r\n case \"contentSize\":\r\n this.option()[args.name] = this._normalizeSize(args.value);\r\n this._update();\r\n break;\r\n case \"baseContentSize\":\r\n case \"baseContainerSize\":\r\n this._update();\r\n break;\r\n case \"visibilityMode\":\r\n case \"direction\":\r\n this._invalidate();\r\n break;\r\n case \"scaleRatio\":\r\n this._update();\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n update: deferRenderer((function() {\r\n this._adjustVisibility() && this.option(\"visible\", true)\r\n }))\r\n});\r\nreadyCallback.add((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), addNamespace(pointerEvents.up, SCROLLBAR), (function() {\r\n if (activeScrollbar) {\r\n activeScrollbar.feedbackOff()\r\n }\r\n }))\r\n}));\r\nexport default Scrollbar;\r\n","/**\r\n * DevExtreme (esm/ui/editor/ui.data_expression.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport variableWrapper from \"../../core/utils/variable_wrapper\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../../core/utils/data\";\r\nimport {\r\n ensureDefined,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject as isObjectType,\r\n isString,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DataHelperMixin from \"../../data_helper\";\r\nimport {\r\n DataSource\r\n} from \"../../data/data_source/data_source\";\r\nimport ArrayStore from \"../../data/array_store\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nvar DataExpressionMixin = extend({}, DataHelperMixin, {\r\n _dataExpressionDefaultOptions: function() {\r\n return {\r\n items: [],\r\n dataSource: null,\r\n itemTemplate: \"item\",\r\n value: null,\r\n valueExpr: \"this\",\r\n displayExpr: void 0\r\n }\r\n },\r\n _initDataExpressions: function() {\r\n this._compileValueGetter();\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._initDataSource();\r\n this._itemsToDataSource()\r\n },\r\n _itemsToDataSource: function() {\r\n if (!this.option(\"dataSource\")) {\r\n this._dataSource = new DataSource({\r\n store: new ArrayStore(this.option(\"items\")),\r\n pageSize: 0\r\n });\r\n this._initDataController()\r\n }\r\n },\r\n _compileDisplayGetter: function() {\r\n this._displayGetter = compileGetter(this._displayGetterExpr())\r\n },\r\n _displayGetterExpr: function() {\r\n return this.option(\"displayExpr\")\r\n },\r\n _compileValueGetter: function() {\r\n this._valueGetter = compileGetter(this._valueGetterExpr())\r\n },\r\n _valueGetterExpr: function() {\r\n return this.option(\"valueExpr\") || \"this\"\r\n },\r\n _loadValue: function(value) {\r\n var deferred = new Deferred;\r\n value = this._unwrappedValue(value);\r\n if (!isDefined(value)) {\r\n return deferred.reject().promise()\r\n }\r\n this._loadSingle(this._valueGetterExpr(), value).done(function(item) {\r\n this._isValueEquals(this._valueGetter(item), value) ? deferred.resolve(item) : deferred.reject()\r\n }.bind(this)).fail((function() {\r\n deferred.reject()\r\n }));\r\n this._loadValueDeferred = deferred;\r\n return deferred.promise()\r\n },\r\n _rejectValueLoading: function() {\r\n var _this$_loadValueDefer;\r\n null === (_this$_loadValueDefer = this._loadValueDeferred) || void 0 === _this$_loadValueDefer ? void 0 : _this$_loadValueDefer.reject({\r\n shouldSkipCallback: true\r\n })\r\n },\r\n _getCurrentValue: function() {\r\n return this.option(\"value\")\r\n },\r\n _unwrappedValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this._getCurrentValue();\r\n if (value && this._dataSource && \"this\" === this._valueGetterExpr()) {\r\n value = this._getItemKey(value)\r\n }\r\n return variableWrapper.unwrap(value)\r\n },\r\n _getItemKey: function(value) {\r\n var key = this._dataSource.key();\r\n if (Array.isArray(key)) {\r\n var result = {};\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n result[key[i]] = value[key[i]]\r\n }\r\n return result\r\n }\r\n if (key && \"object\" === typeof value) {\r\n value = value[key]\r\n }\r\n return value\r\n },\r\n _isValueEquals: function(value1, value2) {\r\n var dataSourceKey = this._dataSource && this._dataSource.key();\r\n var result = this._compareValues(value1, value2);\r\n if (!result && dataSourceKey && isDefined(value1) && isDefined(value2)) {\r\n if (Array.isArray(dataSourceKey)) {\r\n result = this._compareByCompositeKey(value1, value2, dataSourceKey)\r\n } else {\r\n result = this._compareByKey(value1, value2, dataSourceKey)\r\n }\r\n }\r\n return result\r\n },\r\n _compareByCompositeKey: function(value1, value2, key) {\r\n var isObject = isObjectType;\r\n if (!isObject(value1) || !isObject(value2)) {\r\n return false\r\n }\r\n for (var i = 0, n = key.length; i < n; i++) {\r\n if (value1[key[i]] !== value2[key[i]]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _compareByKey: function(value1, value2, key) {\r\n var unwrapObservable = variableWrapper.unwrap;\r\n var valueKey1 = ensureDefined(unwrapObservable(value1[key]), value1);\r\n var valueKey2 = ensureDefined(unwrapObservable(value2[key]), value2);\r\n return this._compareValues(valueKey1, valueKey2)\r\n },\r\n _compareValues: function(value1, value2) {\r\n return toComparable(value1, true) === toComparable(value2, true)\r\n },\r\n _initDynamicTemplates: noop,\r\n _setCollectionWidgetItemTemplate: function() {\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"itemTemplate\", this.option(\"itemTemplate\"))\r\n },\r\n _getCollectionKeyExpr: function() {\r\n var valueExpr = this.option(\"valueExpr\");\r\n var isValueExprField = isString(valueExpr) && \"this\" !== valueExpr || isFunction(valueExpr);\r\n return isValueExprField ? valueExpr : null\r\n },\r\n _dataExpressionOptionChanged: function(args) {\r\n switch (args.name) {\r\n case \"items\":\r\n this._itemsToDataSource();\r\n this._setCollectionWidgetOption(\"items\");\r\n break;\r\n case \"dataSource\":\r\n this._initDataSource();\r\n break;\r\n case \"itemTemplate\":\r\n this._setCollectionWidgetItemTemplate();\r\n break;\r\n case \"valueExpr\":\r\n this._compileValueGetter();\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDynamicTemplates();\r\n this._setCollectionWidgetOption(\"displayExpr\")\r\n }\r\n }\r\n});\r\nexport default DataExpressionMixin;\r\n","/**\r\n * DevExtreme (esm/ui/drop_down_editor/ui.drop_down_list.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Guid from \"../../core/guid\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n grep\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isWindow,\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport DropDownEditor from \"./ui.drop_down_editor\";\r\nimport List from \"../list_light\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport devices from \"../../core/devices\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport DataExpressionMixin from \"../editor/ui.data_expression\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../../core/templates/child_default_template\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport DataConverterMixin from \"../shared/grouped_data_converter_mixin\";\r\nvar LIST_ITEM_SELECTOR = \".dx-list-item\";\r\nvar LIST_ITEM_DATA_KEY = \"dxListItemData\";\r\nvar DROPDOWNLIST_POPUP_WRAPPER_CLASS = \"dx-dropdownlist-popup-wrapper\";\r\nvar SEARCH_EVENT = \"input\";\r\nvar SEARCH_MODES = [\"startswith\", \"contains\", \"endwith\", \"notcontains\"];\r\nvar useCompositionEvents = \"android\" !== devices.real().platform;\r\nvar DropDownList = DropDownEditor.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n return extend({}, parent, {\r\n tab: function(e) {\r\n if (this._allowSelectItemByTab()) {\r\n this._saveValueChangeEvent(e);\r\n var $focusedItem = $(this._list.option(\"focusedElement\"));\r\n $focusedItem.length && this._setSelectedElement($focusedItem)\r\n }\r\n parent.tab.apply(this, arguments)\r\n },\r\n space: noop,\r\n home: noop,\r\n end: noop\r\n })\r\n },\r\n _allowSelectItemByTab: function() {\r\n return this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")\r\n },\r\n _setSelectedElement: function($element) {\r\n var value = this._valueGetter(this._list._getItemData($element));\r\n this._setValue(value)\r\n },\r\n _setValue: function(value) {\r\n this.option(\"value\", value)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), extend(DataExpressionMixin._dataExpressionDefaultOptions(), {\r\n displayValue: void 0,\r\n searchEnabled: false,\r\n searchMode: \"contains\",\r\n searchTimeout: 500,\r\n minSearchLength: 0,\r\n searchExpr: null,\r\n valueChangeEvent: \"input change keyup\",\r\n selectedItem: null,\r\n noDataText: messageLocalization.format(\"dxCollectionWidget-noDataText\"),\r\n encodeNoDataText: false,\r\n onSelectionChanged: null,\r\n onItemClick: noop,\r\n showDataBeforeSearch: false,\r\n grouped: false,\r\n groupTemplate: \"group\",\r\n popupPosition: {\r\n my: \"left top\",\r\n at: \"left bottom\",\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n collision: \"flip\"\r\n },\r\n wrapItemText: false,\r\n useItemTextAsTitle: false\r\n }))\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n popupPosition: {\r\n offset: {\r\n v: -1\r\n }\r\n }\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n buttonsLocation: \"bottom center\"\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n value: true,\r\n selectedItem: true,\r\n displayValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initDataExpressions();\r\n this._initActions();\r\n this._setListDataSource();\r\n this._validateSearchMode();\r\n this._clearSelectedItem();\r\n this._initItems()\r\n },\r\n _setListFocusedElementOptionChange: function() {\r\n this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this)\r\n },\r\n _initItems: function() {\r\n var items = this.option().items;\r\n if (items && !items.length && this._dataSource) {\r\n this.option().items = this._dataSource.items()\r\n }\r\n },\r\n _initActions: function() {\r\n this._initContentReadyAction();\r\n this._initSelectionChangedAction();\r\n this._initItemClickAction()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initSelectionChangedAction: function() {\r\n this._selectionChangedAction = this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initItemClickAction: function() {\r\n this._itemClickAction = this._createActionByOption(\"onItemClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n item: new ChildDefaultTemplate(\"item\")\r\n })\r\n },\r\n _isEditable: function() {\r\n return this.callBase() || this.option(\"searchEnabled\")\r\n },\r\n _saveFocusOnWidget: function(e) {\r\n if (this._list && this._list.initialOption(\"focusStateEnabled\")) {\r\n this._focusInput()\r\n }\r\n },\r\n _fitIntoRange: function(value, start, end) {\r\n if (value > end) {\r\n return start\r\n }\r\n if (value < start) {\r\n return end\r\n }\r\n return value\r\n },\r\n _items: function() {\r\n var items = this._getPlainItems(!this._list && this._dataSource.items());\r\n var availableItems = new dataQuery(items).filter(\"disabled\", \"<>\", true).toArray();\r\n return availableItems\r\n },\r\n _calcNextItem: function(step) {\r\n var items = this._items();\r\n var nextIndex = this._fitIntoRange(this._getSelectedIndex() + step, 0, items.length - 1);\r\n return items[nextIndex]\r\n },\r\n _getSelectedIndex: function() {\r\n var items = this._items();\r\n var selectedItem = this.option(\"selectedItem\");\r\n var result = -1;\r\n each(items, function(index, item) {\r\n if (this._isValueEquals(item, selectedItem)) {\r\n result = index;\r\n return false\r\n }\r\n }.bind(this));\r\n return result\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._updateCustomBoundaryContainer();\r\n this._popup.$wrapper().addClass(this._popupWrapperClass());\r\n var $popupContent = this._popup.$content();\r\n eventsEngine.off($popupContent, \"mouseup\");\r\n eventsEngine.on($popupContent, \"mouseup\", this._saveFocusOnWidget.bind(this))\r\n },\r\n _updateCustomBoundaryContainer: function() {\r\n var customContainer = this.option(\"dropDownOptions.container\");\r\n var $container = customContainer && $(customContainer);\r\n if ($container && $container.length && !isWindow($container.get(0))) {\r\n var $containerWithParents = [].slice.call($container.parents());\r\n $containerWithParents.unshift($container.get(0));\r\n each($containerWithParents, function(i, parent) {\r\n if (parent === $(\"body\").get(0)) {\r\n return false\r\n } else if (\"hidden\" === window.getComputedStyle(parent).overflowY) {\r\n this._$customBoundaryContainer = $(parent);\r\n return false\r\n }\r\n }.bind(this))\r\n }\r\n },\r\n _popupWrapperClass: function() {\r\n return DROPDOWNLIST_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInputValue: function() {\r\n var value = this._getCurrentValue();\r\n this._rejectValueLoading();\r\n return this._loadInputValue(value, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, value))\r\n },\r\n _loadInputValue: function(value, callback) {\r\n return this._loadItem(value).always(callback)\r\n },\r\n _getItemFromPlain: function(value, cache) {\r\n var plainItems;\r\n var selectedItem;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.itemByValue) {\r\n cache.itemByValue = {};\r\n plainItems = this._getPlainItems();\r\n plainItems.forEach((function(item) {\r\n cache.itemByValue[this._valueGetter(item)] = item\r\n }), this)\r\n }\r\n selectedItem = cache.itemByValue[value]\r\n }\r\n if (!selectedItem) {\r\n plainItems = this._getPlainItems();\r\n selectedItem = grep(plainItems, function(item) {\r\n return this._isValueEquals(this._valueGetter(item), value)\r\n }.bind(this))[0]\r\n }\r\n return selectedItem\r\n },\r\n _loadItem: function(value, cache) {\r\n var selectedItem = this._getItemFromPlain(value, cache);\r\n return void 0 !== selectedItem ? (new Deferred).resolve(selectedItem).promise() : this._loadValue(value)\r\n },\r\n _getPlainItems: function(items) {\r\n var plainItems = [];\r\n items = items || this.option(\"items\") || this._dataSource.items() || [];\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] && items[i].items) {\r\n plainItems = plainItems.concat(items[i].items)\r\n } else {\r\n plainItems.push(items[i])\r\n }\r\n }\r\n return plainItems\r\n },\r\n _updateActiveDescendant() {\r\n var _this$_list;\r\n var opened = this.option(\"opened\");\r\n var listFocusedItemId = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.getFocusedItemId();\r\n var isElementOnDom = $(\"#\".concat(listFocusedItemId)).length > 0;\r\n var activedescendant = opened && isElementOnDom && listFocusedItemId;\r\n this.setAria({\r\n activedescendant: activedescendant || null\r\n })\r\n },\r\n _setSelectedItem: function(item) {\r\n var displayValue = this._displayValue(item);\r\n this.option(\"selectedItem\", ensureDefined(item, null));\r\n this.option(\"displayValue\", displayValue)\r\n },\r\n _displayValue: function(item) {\r\n return this._displayGetter(item)\r\n },\r\n _refreshSelected: function() {\r\n var cache = {};\r\n this._listItemElements().each(function(_, itemElement) {\r\n var $itemElement = $(itemElement);\r\n var itemValue = this._valueGetter($itemElement.data(LIST_ITEM_DATA_KEY));\r\n var isItemSelected = this._isSelectedValue(itemValue, cache);\r\n if (isItemSelected) {\r\n this._list.selectItem($itemElement)\r\n } else {\r\n this._list.unselectItem($itemElement)\r\n }\r\n }.bind(this))\r\n },\r\n _popupShownHandler: function() {\r\n this.callBase();\r\n this._setFocusPolicy()\r\n },\r\n _setFocusPolicy: function() {\r\n if (!this.option(\"focusStateEnabled\") || !this._list) {\r\n return\r\n }\r\n this._list.option(\"focusedElement\", null)\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _validateSearchMode: function() {\r\n var searchMode = this.option(\"searchMode\");\r\n var normalizedSearchMode = searchMode.toLowerCase();\r\n if (!SEARCH_MODES.includes(normalizedSearchMode)) {\r\n throw errors.Error(\"E1019\", searchMode)\r\n }\r\n },\r\n _clearSelectedItem: function() {\r\n this.option(\"selectedItem\", null)\r\n },\r\n _processDataSourceChanging: function() {\r\n this._initDataController();\r\n this._setListOption(\"_dataController\", this._dataController);\r\n this._setListDataSource();\r\n this._renderInputValue().fail(function() {\r\n if (this._isCustomValueAllowed()) {\r\n return\r\n }\r\n this._clearSelectedItem()\r\n }.bind(this))\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"displayCustomValue\")\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this._clearFilter();\r\n this._clearSelectedItem()\r\n },\r\n _listItemElements: function() {\r\n return this._$list ? this._$list.find(LIST_ITEM_SELECTOR) : $()\r\n },\r\n _popupConfig: function() {\r\n return extend(this.callBase(), {\r\n templatesRenderAsynchronously: false,\r\n autoResizeEnabled: false,\r\n maxHeight: this._getMaxHeight.bind(this)\r\n })\r\n },\r\n _renderPopupContent: function() {\r\n this.callBase();\r\n this._renderList()\r\n },\r\n _getKeyboardListeners() {\r\n var canListHaveFocus = this._canListHaveFocus();\r\n return this.callBase().concat([!canListHaveFocus && this._list])\r\n },\r\n _renderList: function() {\r\n this._listId = \"dx-\" + (new Guid)._value;\r\n var $list = $(\"<div>\").attr(\"id\", this._listId).appendTo(this._popup.$content());\r\n this._$list = $list;\r\n this._list = this._createComponent($list, List, this._listConfig());\r\n this._refreshList();\r\n this._renderPreventBlurOnListClick();\r\n this._setListFocusedElementOptionChange()\r\n },\r\n _renderPreventBlurOnListClick: function() {\r\n var eventName = addNamespace(\"mousedown\", \"dxDropDownList\");\r\n eventsEngine.off(this._$list, eventName);\r\n eventsEngine.on(this._$list, eventName, e => e.preventDefault())\r\n },\r\n _getControlsAria() {\r\n return this._list && this._listId\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n this._list && this._updateActiveDescendant();\r\n this.setAria(\"owns\", this._popup && this._popupContentId)\r\n },\r\n _setDefaultAria: function() {\r\n this.setAria({\r\n haspopup: \"listbox\",\r\n autocomplete: \"list\"\r\n })\r\n },\r\n _refreshList: function() {\r\n if (this._list && this._shouldRefreshDataSource()) {\r\n this._setListDataSource()\r\n }\r\n },\r\n _shouldRefreshDataSource: function() {\r\n var dataSourceProvided = !!this._list.option(\"dataSource\");\r\n return dataSourceProvided !== this._needPassDataSourceToList()\r\n },\r\n _isDesktopDevice: function() {\r\n return \"desktop\" === devices.real().deviceType\r\n },\r\n _listConfig: function() {\r\n var options = {\r\n selectionMode: \"single\",\r\n _templates: this.option(\"_templates\"),\r\n templateProvider: this.option(\"templateProvider\"),\r\n noDataText: this.option(\"noDataText\"),\r\n encodeNoDataText: this.option(\"encodeNoDataText\"),\r\n grouped: this.option(\"grouped\"),\r\n wrapItemText: this.option(\"wrapItemText\"),\r\n useItemTextAsTitle: this.option(\"useItemTextAsTitle\"),\r\n onContentReady: this._listContentReadyHandler.bind(this),\r\n itemTemplate: this.option(\"itemTemplate\"),\r\n indicateLoading: false,\r\n keyExpr: this._getCollectionKeyExpr(),\r\n displayExpr: this._displayGetterExpr(),\r\n groupTemplate: this.option(\"groupTemplate\"),\r\n onItemClick: this._listItemClickAction.bind(this),\r\n dataSource: this._getDataSource(),\r\n _dataController: this._dataController,\r\n hoverStateEnabled: this._isDesktopDevice() ? this.option(\"hoverStateEnabled\") : false,\r\n focusStateEnabled: this._isDesktopDevice() ? this.option(\"focusStateEnabled\") : false\r\n };\r\n if (!this._canListHaveFocus()) {\r\n options.tabIndex = null\r\n }\r\n return options\r\n },\r\n _canListHaveFocus: () => false,\r\n _getDataSource: function() {\r\n return this._needPassDataSourceToList() ? this._dataSource : null\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _getGroupedOption: function() {\r\n return this.option(\"grouped\")\r\n },\r\n _dataSourceFromUrlLoadMode: function() {\r\n return \"raw\"\r\n },\r\n _listContentReadyHandler: function() {\r\n this._list = this._list || this._$list.dxList(\"instance\");\r\n if (!this.option(\"deferRendering\")) {\r\n this._refreshSelected()\r\n }\r\n this._updatePopupWidth();\r\n this._updateListDimensions();\r\n this._contentReadyAction()\r\n },\r\n _setListOption: function(optionName, value) {\r\n this._setWidgetOption(\"_list\", arguments)\r\n },\r\n _listItemClickAction: function(e) {\r\n this._listItemClickHandler(e);\r\n this._itemClickAction(e)\r\n },\r\n _listItemClickHandler: noop,\r\n _setListDataSource: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n this._setListOption(\"dataSource\", this._getDataSource());\r\n if (!this._needPassDataSourceToList()) {\r\n this._setListOption(\"items\", [])\r\n }\r\n },\r\n _needPassDataSourceToList: function() {\r\n return this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded()\r\n },\r\n _isMinSearchLengthExceeded: function() {\r\n return this._searchValue().toString().length >= this.option(\"minSearchLength\")\r\n },\r\n _needClearFilter: function() {\r\n return this._canKeepDataSource() ? false : this._needPassDataSourceToList()\r\n },\r\n _canKeepDataSource: function() {\r\n var isMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n return this._dataController.isLoaded() && this.option(\"showDataBeforeSearch\") && this.option(\"minSearchLength\") && !isMinSearchLengthExceeded && !this._isLastMinSearchLengthExceeded\r\n },\r\n _searchValue: function() {\r\n return this._input().val() || \"\"\r\n },\r\n _getSearchEvent: function() {\r\n return addNamespace(SEARCH_EVENT, this.NAME + \"Search\")\r\n },\r\n _getCompositionStartEvent: function() {\r\n return addNamespace(\"compositionstart\", this.NAME + \"CompositionStart\")\r\n },\r\n _getCompositionEndEvent: function() {\r\n return addNamespace(\"compositionend\", this.NAME + \"CompositionEnd\")\r\n },\r\n _getSetFocusPolicyEvent: function() {\r\n return addNamespace(\"input\", this.NAME + \"FocusPolicy\")\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n eventsEngine.on(this._input(), this._getSetFocusPolicyEvent(), () => {\r\n this._setFocusPolicy()\r\n });\r\n if (this._shouldRenderSearchEvent()) {\r\n eventsEngine.on(this._input(), this._getSearchEvent(), e => {\r\n this._searchHandler(e)\r\n });\r\n if (useCompositionEvents) {\r\n eventsEngine.on(this._input(), this._getCompositionStartEvent(), () => {\r\n this._isTextCompositionInProgress(true)\r\n });\r\n eventsEngine.on(this._input(), this._getCompositionEndEvent(), e => {\r\n this._isTextCompositionInProgress(void 0);\r\n this._searchHandler(e, this._searchValue())\r\n })\r\n }\r\n }\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\")\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), this._getSearchEvent());\r\n eventsEngine.off(this._input(), this._getSetFocusPolicyEvent());\r\n if (useCompositionEvents) {\r\n eventsEngine.off(this._input(), this._getCompositionStartEvent());\r\n eventsEngine.off(this._input(), this._getCompositionEndEvent())\r\n }\r\n this.callBase()\r\n },\r\n _isTextCompositionInProgress: function(value) {\r\n if (arguments.length) {\r\n this._isTextComposition = value\r\n } else {\r\n return this._isTextComposition\r\n }\r\n },\r\n _searchHandler: function(e, searchValue) {\r\n if (this._isTextCompositionInProgress()) {\r\n return\r\n }\r\n if (!this._isMinSearchLengthExceeded()) {\r\n this._searchCanceled();\r\n return\r\n }\r\n var searchTimeout = this.option(\"searchTimeout\");\r\n if (searchTimeout) {\r\n this._clearSearchTimer();\r\n this._searchTimer = setTimeout(() => {\r\n this._searchDataSource(searchValue)\r\n }, searchTimeout)\r\n } else {\r\n this._searchDataSource(searchValue)\r\n }\r\n },\r\n _searchCanceled: function() {\r\n this._clearSearchTimer();\r\n if (this._needClearFilter()) {\r\n this._filterDataSource(null)\r\n }\r\n this._refreshList()\r\n },\r\n _searchDataSource: function() {\r\n var searchValue = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._searchValue();\r\n this._filterDataSource(searchValue)\r\n },\r\n _filterDataSource: function(searchValue) {\r\n this._clearSearchTimer();\r\n var dataController = this._dataController;\r\n dataController.searchExpr(this.option(\"searchExpr\") || this._displayGetterExpr());\r\n dataController.searchOperation(this.option(\"searchMode\"));\r\n dataController.searchValue(searchValue);\r\n dataController.load().done(this._dataSourceFiltered.bind(this, searchValue))\r\n },\r\n _clearFilter: function() {\r\n var dataController = this._dataController;\r\n dataController.searchValue() && dataController.searchValue(null)\r\n },\r\n _dataSourceFiltered: function() {\r\n this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded();\r\n this._refreshList();\r\n this._refreshPopupVisibility()\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._hasItemsToShow()\r\n },\r\n _refreshPopupVisibility: function() {\r\n if (this.option(\"readOnly\") || !this._searchValue()) {\r\n return\r\n }\r\n var shouldOpenPopup = this._shouldOpenPopup();\r\n if (shouldOpenPopup && !this._isFocused()) {\r\n return\r\n }\r\n this.option(\"opened\", shouldOpenPopup);\r\n if (shouldOpenPopup) {\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n }\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n if (0 === this._dataController.pageIndex()) {\r\n this.option().items = newItems\r\n } else {\r\n this.option().items = this.option().items.concat(newItems)\r\n }\r\n },\r\n _hasItemsToShow: function() {\r\n var dataController = this._dataController;\r\n var resultItems = dataController.items() || [];\r\n var resultAmount = resultItems.length;\r\n var isMinSearchLengthExceeded = this._needPassDataSourceToList();\r\n return !!(isMinSearchLengthExceeded && resultAmount)\r\n },\r\n _clearSearchTimer: function() {\r\n clearTimeout(this._searchTimer);\r\n delete this._searchTimer\r\n },\r\n _popupShowingHandler: function() {\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _dimensionChanged: function() {\r\n this.callBase();\r\n this._updateListDimensions()\r\n },\r\n _needPopupRepaint: function() {\r\n var dataController = this._dataController;\r\n var currentPageIndex = dataController.pageIndex();\r\n var needRepaint = isDefined(this._pageIndex) && currentPageIndex <= this._pageIndex || dataController.isLastPage() && !this._list._scrollViewIsFull();\r\n this._pageIndex = currentPageIndex;\r\n return needRepaint\r\n },\r\n _updateListDimensions: function() {\r\n if (!this._popup) {\r\n return\r\n }\r\n if (this._needPopupRepaint()) {\r\n this._popup.repaint()\r\n }\r\n this._list && this._list.updateDimensions()\r\n },\r\n _getMaxHeight: function() {\r\n var $element = this.$element();\r\n var $customBoundaryContainer = this._$customBoundaryContainer;\r\n var offsetTop = $element.offset().top - ($customBoundaryContainer ? $customBoundaryContainer.offset().top : 0);\r\n var windowHeight = getOuterHeight(window);\r\n var containerHeight = $customBoundaryContainer ? Math.min(getOuterHeight($customBoundaryContainer), windowHeight) : windowHeight;\r\n var maxHeight = Math.max(offsetTop, containerHeight - offsetTop - getOuterHeight($element));\r\n return Math.min(.5 * containerHeight, maxHeight)\r\n },\r\n _clean: function() {\r\n if (this._list) {\r\n delete this._list\r\n }\r\n delete this._isLastMinSearchLengthExceeded;\r\n this.callBase()\r\n },\r\n _dispose: function() {\r\n this._clearSearchTimer();\r\n this.callBase()\r\n },\r\n _setCollectionWidgetOption: function() {\r\n this._setListOption.apply(this, arguments)\r\n },\r\n _setSubmitValue: function() {\r\n var value = this.option(\"value\");\r\n var submitValue = this._shouldUseDisplayValue(value) ? this._displayGetter(value) : value;\r\n this._getSubmitElement().val(submitValue)\r\n },\r\n _shouldUseDisplayValue: function(value) {\r\n return \"this\" === this.option(\"valueExpr\") && isObject(value)\r\n },\r\n _optionChanged: function(args) {\r\n this._dataExpressionOptionChanged(args);\r\n switch (args.name) {\r\n case \"hoverStateEnabled\":\r\n case \"focusStateEnabled\":\r\n this._isDesktopDevice() && this._setListOption(args.name, args.value);\r\n this.callBase(args);\r\n break;\r\n case \"items\":\r\n if (!this.option(\"dataSource\")) {\r\n this._processDataSourceChanging()\r\n }\r\n break;\r\n case \"dataSource\":\r\n this._processDataSourceChanging();\r\n break;\r\n case \"valueExpr\":\r\n this._renderValue();\r\n this._setListOption(\"keyExpr\", this._getCollectionKeyExpr());\r\n break;\r\n case \"displayExpr\":\r\n this._renderValue();\r\n this._setListOption(\"displayExpr\", this._displayGetterExpr());\r\n break;\r\n case \"searchMode\":\r\n this._validateSearchMode();\r\n break;\r\n case \"minSearchLength\":\r\n this._refreshList();\r\n break;\r\n case \"searchEnabled\":\r\n case \"showDataBeforeSearch\":\r\n case \"searchExpr\":\r\n this._invalidate();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n case \"onSelectionChanged\":\r\n this._initSelectionChangedAction();\r\n break;\r\n case \"onItemClick\":\r\n this._initItemClickAction();\r\n break;\r\n case \"grouped\":\r\n case \"groupTemplate\":\r\n case \"wrapItemText\":\r\n case \"noDataText\":\r\n case \"encodeNoDataText\":\r\n case \"useItemTextAsTitle\":\r\n this._setListOption(args.name);\r\n break;\r\n case \"displayValue\":\r\n this.option(\"text\", args.value);\r\n break;\r\n case \"itemTemplate\":\r\n case \"searchTimeout\":\r\n break;\r\n case \"selectedItem\":\r\n if (args.previousValue !== args.value) {\r\n this._selectionChangedAction({\r\n selectedItem: args.value\r\n })\r\n }\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n}).include(DataExpressionMixin, DataConverterMixin);\r\nregisterComponent(\"dxDropDownList\", DropDownList);\r\nexport default DropDownList;\r\n","/**\r\n * DevExtreme (esm/ui/select_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isPromise\r\n} from \"../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport errors from \"../core/errors\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DropDownList from \"./drop_down_editor/ui.drop_down_list\";\r\nimport \"./list/modules/selection\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nvar DISABLED_STATE_SELECTOR = \".dx-state-disabled\";\r\nvar SELECTBOX_CLASS = \"dx-selectbox\";\r\nvar SELECTBOX_POPUP_CLASS = \"dx-selectbox-popup\";\r\nvar SELECTBOX_CONTAINER_CLASS = \"dx-selectbox-container\";\r\nvar SELECTBOX_POPUP_WRAPPER_CLASS = \"dx-selectbox-popup-wrapper\";\r\nvar SelectBox = DropDownList.inherit({\r\n _supportedKeys: function() {\r\n var that = this;\r\n var parent = this.callBase();\r\n var clearSelectBox = function(e) {\r\n var isEditable = this._isEditable();\r\n if (!isEditable) {\r\n if (this.option(\"showClearButton\")) {\r\n e.preventDefault();\r\n this.reset()\r\n }\r\n } else if (this._valueSubstituted()) {\r\n this._preventFiltering = true\r\n }\r\n this._savedTextRemoveEvent = e;\r\n this._preventSubstitution = true\r\n };\r\n var searchIfNeeded = function() {\r\n if (that.option(\"searchEnabled\") && that._valueSubstituted()) {\r\n that._searchHandler()\r\n }\r\n };\r\n return extend({}, parent, {\r\n tab: function() {\r\n if (this.option(\"opened\") && \"instantly\" === this.option(\"applyValueMode\")) {\r\n this._resetCaretPosition(true)\r\n }\r\n parent.tab && parent.tab.apply(this, arguments);\r\n this._cancelSearchIfNeed()\r\n },\r\n upArrow: function(e) {\r\n if (parent.upArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n downArrow: function(e) {\r\n if (parent.downArrow.apply(this, arguments)) {\r\n if (!this.option(\"opened\")) {\r\n this._setNextValue(e)\r\n }\r\n return true\r\n }\r\n },\r\n leftArrow: function() {\r\n searchIfNeeded();\r\n parent.leftArrow && parent.leftArrow.apply(this, arguments)\r\n },\r\n rightArrow: function() {\r\n searchIfNeeded();\r\n parent.rightArrow && parent.rightArrow.apply(this, arguments)\r\n },\r\n home: function() {\r\n searchIfNeeded();\r\n parent.home && parent.home.apply(this, arguments)\r\n },\r\n end: function() {\r\n searchIfNeeded();\r\n parent.end && parent.end.apply(this, arguments)\r\n },\r\n escape: function() {\r\n var result = parent.escape && parent.escape.apply(this, arguments);\r\n this._cancelEditing();\r\n return null !== result && void 0 !== result ? result : true\r\n },\r\n enter: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var inputText = this._input().val().trim();\r\n var isCustomText = inputText && this._list && !this._list.option(\"focusedElement\");\r\n if (!inputText && isDefined(this.option(\"value\")) && this.option(\"allowClearing\")) {\r\n this._saveValueChangeEvent(e);\r\n this.option({\r\n selectedItem: null,\r\n value: null\r\n });\r\n this.close()\r\n } else {\r\n if (this.option(\"acceptCustomValue\")) {\r\n e.preventDefault();\r\n if (isCustomText) {\r\n if (isOpened) {\r\n this._toggleOpenState()\r\n }\r\n this._valueChangeEventHandler(e)\r\n }\r\n return isOpened\r\n }\r\n if (parent.enter && parent.enter.apply(this, arguments)) {\r\n return isOpened\r\n }\r\n }\r\n },\r\n space: function(e) {\r\n var isOpened = this.option(\"opened\");\r\n var isSearchEnabled = this.option(\"searchEnabled\");\r\n var acceptCustomValue = this.option(\"acceptCustomValue\");\r\n if (!isOpened || isSearchEnabled || acceptCustomValue) {\r\n return\r\n }\r\n e.preventDefault();\r\n this._valueChangeEventHandler(e);\r\n return true\r\n },\r\n backspace: clearSelectBox,\r\n del: clearSelectBox\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n placeholder: messageLocalization.format(\"Select\"),\r\n fieldTemplate: null,\r\n customItemCreateEvent: \"change\",\r\n valueChangeEvent: \"change\",\r\n acceptCustomValue: false,\r\n onCustomItemCreating: function(e) {\r\n if (!isDefined(e.customItem)) {\r\n e.customItem = e.text\r\n }\r\n },\r\n showSelectionControls: false,\r\n allowClearing: true,\r\n tooltipEnabled: false,\r\n openOnFieldClick: true,\r\n showDropDownButton: true,\r\n displayCustomValue: false,\r\n useHiddenSubmitElement: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initCustomItemCreatingAction()\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(SELECTBOX_CLASS);\r\n this._renderTooltip();\r\n this.callBase();\r\n this._$container.addClass(SELECTBOX_CONTAINER_CLASS)\r\n },\r\n _createPopup: function() {\r\n this.callBase();\r\n this._popup.$element().addClass(SELECTBOX_POPUP_CLASS);\r\n this._popup.$overlayContent().attr(\"tabindex\", -1)\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + SELECTBOX_POPUP_WRAPPER_CLASS\r\n },\r\n _setDeprecatedOptions() {\r\n this.callBase();\r\n extend(this._deprecatedOptions, {\r\n valueChangeEvent: {\r\n since: \"22.2\",\r\n alias: \"customItemCreateEvent\"\r\n }\r\n })\r\n },\r\n _cancelEditing: function() {\r\n if (!this.option(\"searchEnabled\") && this._list) {\r\n this._focusListElement(null);\r\n this._updateField(this.option(\"selectedItem\"))\r\n }\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n if (this.option(\"opened\")) {\r\n this._scrollToSelectedItem();\r\n this._focusSelectedElement()\r\n }\r\n },\r\n _focusSelectedElement: function() {\r\n var _items$indexOf;\r\n var searchValue = this._searchValue();\r\n if (!searchValue) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var {\r\n items: items,\r\n selectedItem: selectedItem\r\n } = this.option();\r\n var $listItems = this._list._itemElements();\r\n var index = null !== (_items$indexOf = null === items || void 0 === items ? void 0 : items.indexOf(selectedItem)) && void 0 !== _items$indexOf ? _items$indexOf : -1;\r\n var focusedElement = -1 !== index && !this._isCustomItemSelected() ? $listItems.eq(index) : null;\r\n this._focusListElement(focusedElement)\r\n },\r\n _renderFocusedElement: function() {\r\n if (!this._list) {\r\n return\r\n }\r\n var searchValue = this._searchValue();\r\n if (!searchValue || this.option(\"acceptCustomValue\")) {\r\n this._focusListElement(null);\r\n return\r\n }\r\n var $listItems = this._list._itemElements();\r\n var focusedElement = $listItems.not(DISABLED_STATE_SELECTOR).eq(0);\r\n this._focusListElement(focusedElement)\r\n },\r\n _focusListElement: function(element) {\r\n this._preventInputValueRender = true;\r\n this._list.option(\"focusedElement\", getPublicElement(element));\r\n delete this._preventInputValueRender\r\n },\r\n _scrollToSelectedItem: function() {\r\n this._list && this._list.scrollToItem(this._list.option(\"selectedItem\"))\r\n },\r\n _listContentReadyHandler: function() {\r\n this.callBase();\r\n var isPaginate = this._dataController.paginate();\r\n if (isPaginate && this._needPopupRepaint()) {\r\n return\r\n }\r\n this._scrollToSelectedItem()\r\n },\r\n _renderValue: function() {\r\n this._renderInputValue();\r\n this._setSubmitValue();\r\n return (new Deferred).resolve()\r\n },\r\n _renderInputValue: function() {\r\n return this.callBase().always(function() {\r\n this._renderInputValueAsync()\r\n }.bind(this))\r\n },\r\n _renderInputValueAsync: function() {\r\n this._renderTooltip();\r\n this._renderInputValueImpl().always(function() {\r\n this._refreshSelected()\r\n }.bind(this))\r\n },\r\n _renderInputValueImpl: function() {\r\n this._renderField();\r\n return (new Deferred).resolve()\r\n },\r\n _setNextItem: function(step) {\r\n var item = this._calcNextItem(step);\r\n var value = this._valueGetter(item);\r\n this._setValue(value)\r\n },\r\n _setNextValue: function(e) {\r\n var dataSourceIsLoaded = this._dataController.isLoaded() ? (new Deferred).resolve() : this._dataController.load();\r\n dataSourceIsLoaded.done(function() {\r\n var selectedIndex = this._getSelectedIndex();\r\n var hasPages = this._dataController.pageSize();\r\n var isLastPage = this._dataController.isLastPage();\r\n var isLastItem = selectedIndex === this._items().length - 1;\r\n this._saveValueChangeEvent(e);\r\n var step = \"downArrow\" === normalizeKeyName(e) ? 1 : -1;\r\n if (hasPages && !isLastPage && isLastItem && step > 0) {\r\n if (!this._popup) {\r\n this._createPopup()\r\n }\r\n if (!this._dataController.isLoading()) {\r\n this._list._loadNextPage().done(this._setNextItem.bind(this, step))\r\n }\r\n } else {\r\n this._setNextItem(step)\r\n }\r\n }.bind(this))\r\n },\r\n _setSelectedItem: function(item) {\r\n var isUnknownItem = !this._isCustomValueAllowed() && void 0 === item;\r\n this.callBase(isUnknownItem ? null : item);\r\n if (!isUnknownItem && (!this._isEditable() || this._isCustomItemSelected())) {\r\n this._setListOption(\"selectedItem\", this.option(\"selectedItem\"))\r\n }\r\n },\r\n _isCustomValueAllowed: function() {\r\n return this.option(\"acceptCustomValue\") || this.callBase()\r\n },\r\n _displayValue: function(item) {\r\n item = !isDefined(item) && this._isCustomValueAllowed() ? this.option(\"value\") : item;\r\n return this.callBase(item)\r\n },\r\n _listConfig: function() {\r\n var result = extend(this.callBase(), {\r\n pageLoadMode: \"scrollBottom\",\r\n onSelectionChanged: this._getSelectionChangeHandler(),\r\n selectedItem: this.option(\"selectedItem\"),\r\n onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this)\r\n });\r\n if (this.option(\"showSelectionControls\")) {\r\n extend(result, {\r\n showSelectionControls: true,\r\n selectByClick: true\r\n })\r\n }\r\n return result\r\n },\r\n _listFocusedItemChangeHandler: function(e) {\r\n if (this._preventInputValueRender) {\r\n return\r\n }\r\n var list = e.component;\r\n var focusedElement = $(list.option(\"focusedElement\"));\r\n var focusedItem = list._getItemData(focusedElement);\r\n this._updateField(focusedItem)\r\n },\r\n _updateField: function(item) {\r\n var fieldTemplate = this._getTemplateByOption(\"fieldTemplate\");\r\n if (!(fieldTemplate && this.option(\"fieldTemplate\"))) {\r\n var text = this._displayGetter(item);\r\n this.option(\"text\", text);\r\n this._renderDisplayText(text);\r\n return\r\n }\r\n this._renderField()\r\n },\r\n _getSelectionChangeHandler: function() {\r\n return this.option(\"showSelectionControls\") ? this._selectionChangeHandler.bind(this) : noop\r\n },\r\n _selectionChangeHandler: function(e) {\r\n each(e.addedItems || [], function(_, addedItem) {\r\n this._setValue(this._valueGetter(addedItem))\r\n }.bind(this))\r\n },\r\n _getActualSearchValue: function() {\r\n return this._dataController.searchValue()\r\n },\r\n _toggleOpenState: function(isVisible) {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n isVisible = arguments.length ? isVisible : !this.option(\"opened\");\r\n if (!isVisible && !this._shouldClearFilter()) {\r\n this._restoreInputText(true)\r\n }\r\n if (this._wasSearch() && isVisible) {\r\n this._wasSearch(false);\r\n var showDataImmediately = this.option(\"showDataBeforeSearch\") || this._isMinSearchLengthExceeded();\r\n if (showDataImmediately && this._dataController.getDataSource()) {\r\n if (this._searchTimer) {\r\n return\r\n }\r\n var searchValue = this._getActualSearchValue();\r\n searchValue && this._wasSearch(true);\r\n this._filterDataSource(searchValue || null)\r\n } else {\r\n this._setListOption(\"items\", [])\r\n }\r\n }\r\n if (isVisible) {\r\n this._scrollToSelectedItem()\r\n }\r\n this.callBase(isVisible)\r\n },\r\n _renderTooltip: function() {\r\n if (this.option(\"tooltipEnabled\")) {\r\n this.$element().attr(\"title\", this.option(\"displayValue\"))\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updatePopupWidth();\r\n this._updateListDimensions()\r\n },\r\n _isValueEqualInputText: function() {\r\n var initialSelectedItem = this.option(\"selectedItem\");\r\n if (null === initialSelectedItem) {\r\n return false\r\n }\r\n var value = this._displayGetter(initialSelectedItem);\r\n var displayValue = value ? String(value) : \"\";\r\n var inputText = this._searchValue();\r\n return displayValue === inputText\r\n },\r\n _popupHidingHandler: function() {\r\n if (this._isValueEqualInputText()) {\r\n this._cancelEditing()\r\n }\r\n this.callBase()\r\n },\r\n _popupHiddenHandler: function() {\r\n this.callBase();\r\n if (this._shouldCancelSearch()) {\r\n this._wasSearch(false);\r\n this._searchCanceled();\r\n this._shouldCancelSearch(false)\r\n }\r\n },\r\n _restoreInputText: function(saveEditingValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._loadItemDeferred && this._loadItemDeferred.always(function() {\r\n var {\r\n acceptCustomValue: acceptCustomValue,\r\n text: text,\r\n selectedItem: initialSelectedItem\r\n } = this.option();\r\n if (acceptCustomValue) {\r\n if (!saveEditingValue && !this._isValueChanging) {\r\n this._updateField(null !== initialSelectedItem && void 0 !== initialSelectedItem ? initialSelectedItem : this._createCustomItem(text));\r\n this._clearFilter()\r\n }\r\n return\r\n }\r\n if (this.option(\"searchEnabled\")) {\r\n if (!this._searchValue() && this.option(\"allowClearing\")) {\r\n this._clearTextValue();\r\n return\r\n }\r\n }\r\n if (this._isValueEqualInputText()) {\r\n return\r\n }\r\n this._renderInputValue().always(function(selectedItem) {\r\n var newSelectedItem = ensureDefined(selectedItem, initialSelectedItem);\r\n this._setSelectedItem(newSelectedItem);\r\n this._updateField(newSelectedItem);\r\n this._clearFilter()\r\n }.bind(this))\r\n }.bind(this))\r\n },\r\n _valueChangeEventIncludesBlur: function() {\r\n var valueChangeEvent = this.option(this._getValueChangeEventOptionName());\r\n return valueChangeEvent.includes(\"blur\")\r\n },\r\n _isPreventedFocusOutEvent: function(e) {\r\n return this._preventNestedFocusEvent(e) || this._valueChangeEventIncludesBlur()\r\n },\r\n _focusOutHandler: function(e) {\r\n if (!this._isPreventedFocusOutEvent(e)) {\r\n var isOverlayTarget = this._isOverlayNestedTarget(e.relatedTarget);\r\n if (!isOverlayTarget) {\r\n this._restoreInputText();\r\n this._clearSearchTimer()\r\n }\r\n this._cancelSearchIfNeed(e)\r\n }\r\n e.target = this._input().get(0);\r\n this.callBase(e)\r\n },\r\n _cancelSearchIfNeed: function(e) {\r\n var {\r\n searchEnabled: searchEnabled\r\n } = this.option();\r\n var isOverlayTarget = this._isOverlayNestedTarget(null === e || void 0 === e ? void 0 : e.relatedTarget);\r\n var shouldCancelSearch = this._wasSearch() && searchEnabled && !isOverlayTarget;\r\n if (shouldCancelSearch) {\r\n var _this$_popup;\r\n var isPopupVisible = null === (_this$_popup = this._popup) || void 0 === _this$_popup ? void 0 : _this$_popup._hideAnimationProcessing;\r\n this._clearSearchTimer();\r\n if (isPopupVisible) {\r\n this._shouldCancelSearch(true)\r\n } else {\r\n this._wasSearch(false);\r\n this._searchCanceled()\r\n }\r\n }\r\n },\r\n _shouldCancelSearch: function(value) {\r\n if (!arguments.length) {\r\n return this._shouldCancelSearchValue\r\n }\r\n this._shouldCancelSearchValue = value\r\n },\r\n _isOverlayNestedTarget: function(target) {\r\n return !!$(target).closest(\".\".concat(SELECTBOX_POPUP_WRAPPER_CLASS)).length\r\n },\r\n _clearTextValue: function() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n var shouldRestoreValue = selectedItem && \"\" !== selectedItemText;\r\n if (shouldRestoreValue) {\r\n if (this._savedTextRemoveEvent) {\r\n this._saveValueChangeEvent(this._savedTextRemoveEvent)\r\n }\r\n this.option(\"value\", null)\r\n }\r\n delete this._savedTextRemoveEvent\r\n },\r\n _shouldOpenPopup: function() {\r\n return this._needPassDataSourceToList() && this._wasSearch()\r\n },\r\n _isFocused: function() {\r\n var activeElement = domAdapter.getActiveElement(this.element());\r\n return this.callBase() && $(activeElement).closest(this._input()).length > 0\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"customItemCreateEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n if (this._isEditable()) {\r\n this.callBase()\r\n }\r\n },\r\n _fieldRenderData: function() {\r\n var $listFocused = this._list && this.option(\"opened\") && $(this._list.option(\"focusedElement\"));\r\n if ($listFocused && $listFocused.length) {\r\n return this._list._getItemData($listFocused)\r\n }\r\n return this.option(\"selectedItem\")\r\n },\r\n _isSelectedValue: function(value) {\r\n return this._isValueEquals(value, this.option(\"value\"))\r\n },\r\n _shouldCloseOnItemClick: function() {\r\n return !(this.option(\"showSelectionControls\") && \"single\" !== this.option(\"selectionMode\"))\r\n },\r\n _listItemClickHandler: function(e) {\r\n var previousValue = this._getCurrentValue();\r\n this._focusListElement($(e.itemElement));\r\n this._saveValueChangeEvent(e.event);\r\n this._completeSelection(this._valueGetter(e.itemData));\r\n if (this._shouldCloseOnItemClick()) {\r\n this.option(\"opened\", false)\r\n }\r\n if (this.option(\"searchEnabled\") && previousValue === this._valueGetter(e.itemData)) {\r\n this._updateField(e.itemData)\r\n }\r\n if (this._shouldClearFilter()) {\r\n this._cancelSearchIfNeed()\r\n }\r\n },\r\n _shouldClearFilter: function() {\r\n return this._wasSearch()\r\n },\r\n _completeSelection: function(value) {\r\n this._setValue(value)\r\n },\r\n _loadItem: function(value, cache) {\r\n var that = this;\r\n var deferred = new Deferred;\r\n this.callBase(value, cache).done(function(item) {\r\n deferred.resolve(item)\r\n }.bind(this)).fail(function(args) {\r\n if (null !== args && void 0 !== args && args.shouldSkipCallback) {\r\n return\r\n }\r\n var selectedItem = that.option(\"selectedItem\");\r\n if (that.option(\"acceptCustomValue\") && value === that._valueGetter(selectedItem)) {\r\n deferred.resolve(selectedItem)\r\n } else {\r\n deferred.reject()\r\n }\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _loadInputValue: function(value, callback) {\r\n this._loadItemDeferred = this._loadItem(value).always(callback);\r\n return this._loadItemDeferred\r\n },\r\n _isCustomItemSelected: function() {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var searchValue = this._searchValue();\r\n var selectedItemText = this._displayGetter(selectedItem);\r\n return !selectedItemText || searchValue !== selectedItemText.toString()\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (this.option(\"acceptCustomValue\") && this._isCustomItemSelected() && !this._isValueChanging) {\r\n this._isValueChanging = true;\r\n this._customItemAddedHandler(e)\r\n }\r\n },\r\n _initCustomItemCreatingAction: function() {\r\n this._customItemCreatingAction = this._createActionByOption(\"onCustomItemCreating\")\r\n },\r\n _createCustomItem: function(text) {\r\n var params = {\r\n text: text\r\n };\r\n var actionResult = this._customItemCreatingAction(params);\r\n var item = ensureDefined(actionResult, params.customItem);\r\n if (isDefined(actionResult)) {\r\n errors.log(\"W0015\", \"onCustomItemCreating\", \"customItem\")\r\n }\r\n return item\r\n },\r\n _customItemAddedHandler: function(e) {\r\n var searchValue = this._searchValue();\r\n var item = this._createCustomItem(searchValue);\r\n this._saveValueChangeEvent(e);\r\n if (void 0 === item) {\r\n this._renderValue();\r\n throw errors.Error(\"E0121\")\r\n }\r\n if (isPromise(item)) {\r\n fromPromise(item).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null))\r\n } else {\r\n this._setCustomItem(item)\r\n }\r\n },\r\n _setCustomItem: function(item) {\r\n if (this._disposed) {\r\n return\r\n }\r\n item = item || null;\r\n this.option(\"selectedItem\", item);\r\n this._cancelSearchIfNeed();\r\n this._setValue(this._valueGetter(item));\r\n this._renderDisplayText(this._displayGetter(item));\r\n this._isValueChanging = false\r\n },\r\n _clearValueHandler: function(e) {\r\n this._preventFiltering = true;\r\n this.callBase(e);\r\n this._searchCanceled();\r\n return false\r\n },\r\n _wasSearch: function(value) {\r\n if (!arguments.length) {\r\n return !!this._wasSearchValue\r\n }\r\n this._wasSearchValue = value\r\n },\r\n _searchHandler: function() {\r\n if (this._preventFiltering) {\r\n delete this._preventFiltering;\r\n return\r\n }\r\n if (this._needPassDataSourceToList()) {\r\n this._wasSearch(true)\r\n }\r\n this.callBase(arguments)\r\n },\r\n _dataSourceFiltered: function(searchValue) {\r\n this.callBase();\r\n if (null !== searchValue) {\r\n this._renderInputSubstitution();\r\n this._renderFocusedElement()\r\n }\r\n },\r\n _valueSubstituted: function() {\r\n var input = this._input().get(0);\r\n var currentSearchLength = this._searchValue().length;\r\n var isAllSelected = 0 === input.selectionStart && input.selectionEnd === currentSearchLength;\r\n var inputHasSelection = input.selectionStart !== input.selectionEnd;\r\n var isLastSymbolSelected = currentSearchLength === input.selectionEnd;\r\n return this._wasSearch() && inputHasSelection && !isAllSelected && isLastSymbolSelected && this._shouldSubstitutionBeRendered()\r\n },\r\n _shouldSubstitutionBeRendered: function() {\r\n return !this._preventSubstitution && this.option(\"searchEnabled\") && !this.option(\"acceptCustomValue\") && \"startswith\" === this.option(\"searchMode\")\r\n },\r\n _renderInputSubstitution: function() {\r\n if (!this._shouldSubstitutionBeRendered()) {\r\n delete this._preventSubstitution;\r\n return\r\n }\r\n var item = this._list && this._getPlainItems(this._list.option(\"items\"))[0];\r\n if (!item) {\r\n return\r\n }\r\n var $input = this._input();\r\n var valueLength = $input.val().length;\r\n if (0 === valueLength) {\r\n return\r\n }\r\n var inputElement = $input.get(0);\r\n var displayValue = this._displayGetter(item).toString();\r\n inputElement.value = displayValue;\r\n this._caret({\r\n start: valueLength,\r\n end: displayValue.length\r\n })\r\n },\r\n _dispose: function() {\r\n this._renderInputValueAsync = noop;\r\n delete this._loadItemDeferred;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"customItemCreateEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onCustomItemCreating\":\r\n this._initCustomItemCreatingAction();\r\n break;\r\n case \"tooltipEnabled\":\r\n this._renderTooltip();\r\n break;\r\n case \"displayCustomValue\":\r\n case \"acceptCustomValue\":\r\n case \"showSelectionControls\":\r\n this._invalidate();\r\n break;\r\n case \"allowClearing\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxSelectBox\", SelectBox);\r\nexport default SelectBox;\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n getKeyHash,\r\n noop,\r\n equalByValue\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isPlainObject,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default class SelectionStrategy {\r\n constructor(options) {\r\n this.options = options;\r\n this._setOption(\"disabledItemKeys\", []);\r\n this._clearItemKeys()\r\n }\r\n _clearItemKeys() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n }\r\n validate() {}\r\n _setOption(name, value) {\r\n this.options[name] = value\r\n }\r\n onSelectionChanged() {\r\n var addedItemKeys = this.options.addedItemKeys;\r\n var removedItemKeys = this.options.removedItemKeys;\r\n var addedItems = this.options.addedItems;\r\n var removedItems = this.options.removedItems;\r\n var selectedItems = this.options.selectedItems;\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n var onSelectionChanged = this.options.onSelectionChanged || noop;\r\n this._clearItemKeys();\r\n onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys,\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n }\r\n equalKeys(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if (isObject(key1) && isObject(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return equalByValue(key1, key2)\r\n }\r\n getSelectableItems(items) {\r\n return items.filter((function(item) {\r\n return !(null !== item && void 0 !== item && item.disabled)\r\n }))\r\n }\r\n _clearSelection(keys, preserve, isDeselect, isSelectAll) {\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n }\r\n _removeTemplateProperty(remoteFilter) {\r\n if (Array.isArray(remoteFilter)) {\r\n return remoteFilter.map(f => this._removeTemplateProperty(f))\r\n }\r\n if (isObject(remoteFilter)) {\r\n delete remoteFilter.template\r\n }\r\n return remoteFilter\r\n }\r\n _loadFilteredData(remoteFilter, localFilter, select, isSelectAll) {\r\n var filterLength = encodeURI(JSON.stringify(this._removeTemplateProperty(remoteFilter))).length;\r\n var needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest;\r\n var deferred = new Deferred;\r\n var loadOptions = {\r\n filter: needLoadAllData ? void 0 : remoteFilter,\r\n select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields()\r\n };\r\n if (remoteFilter && 0 === remoteFilter.length) {\r\n deferred.resolve([])\r\n } else {\r\n this.options.load(loadOptions).done((function(items) {\r\n var filteredItems = isPlainObject(items) ? items.data : items;\r\n if (localFilter && !isSelectAll) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else if (needLoadAllData) {\r\n filteredItems = dataQuery(filteredItems).filter(remoteFilter).toArray()\r\n }\r\n deferred.resolve(filteredItems)\r\n })).fail(deferred.reject.bind(deferred))\r\n }\r\n return deferred\r\n }\r\n updateSelectedItemKeyHash(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = getKeyHash(keys[i]);\r\n if (!isObject(keyHash)) {\r\n this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || [];\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n keyIndices.push(i)\r\n }\r\n }\r\n }\r\n _isAnyItemSelected(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (this.options.isItemSelected(items[i])) {\r\n return\r\n }\r\n }\r\n return false\r\n }\r\n _getFullSelectAllState() {\r\n var items = this.options.plainItems();\r\n var dataFilter = this.options.filter();\r\n var selectedItems = this.options.ignoreDisabledItems ? this.options.selectedItems : this.options.selectedItems.filter(item => !(null !== item && void 0 !== item && item.disabled));\r\n if (dataFilter) {\r\n selectedItems = dataQuery(selectedItems).filter(dataFilter).toArray()\r\n }\r\n var selectedItemsLength = selectedItems.length;\r\n var disabledItemsLength = items.length - this.getSelectableItems(items).length;\r\n if (!selectedItemsLength) {\r\n return this._isAnyItemSelected(items)\r\n }\r\n if (selectedItemsLength >= this.options.totalCount() - disabledItemsLength) {\r\n return true\r\n }\r\n return\r\n }\r\n _getVisibleSelectAllState() {\r\n var items = this.getSelectableItems(this.options.plainItems());\r\n var hasSelectedItems = false;\r\n var hasUnselectedItems = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var itemData = this.options.getItemData(item);\r\n var key = this.options.keyOf(itemData);\r\n if (this.options.isSelectableItem(item)) {\r\n if (this.isItemKeySelected(key)) {\r\n hasSelectedItems = true\r\n } else {\r\n hasUnselectedItems = true\r\n }\r\n }\r\n }\r\n if (hasSelectedItems) {\r\n return !hasUnselectedItems ? true : void 0\r\n } else {\r\n return false\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.deferred.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nexport default class DeferredStrategy extends SelectionStrategy {\r\n getSelectedItems() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n }\r\n getSelectedItemKeys() {\r\n var d = new Deferred;\r\n var that = this;\r\n var key = this.options.key();\r\n var select = isString(key) ? [key] : key;\r\n this._loadFilteredData(this.options.selectionFilter, null, select).done((function(items) {\r\n var keys = items.map((function(item) {\r\n return that.options.keyOf(item)\r\n }));\r\n d.resolve(keys)\r\n })).fail(d.reject);\r\n return d.promise()\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll) {\r\n if (isSelectAll) {\r\n var filter = this.options.filter();\r\n var needResetSelectionFilter = !filter || JSON.stringify(filter) === JSON.stringify(this.options.selectionFilter) && isDeselect;\r\n if (needResetSelectionFilter) {\r\n this._setOption(\"selectionFilter\", isDeselect ? [] : null)\r\n } else {\r\n this._addSelectionFilter(isDeselect, filter, isSelectAll)\r\n }\r\n } else {\r\n if (!preserve) {\r\n this._setOption(\"selectionFilter\", [])\r\n }\r\n for (var i = 0; i < keys.length; i++) {\r\n if (isDeselect) {\r\n this.removeSelectedItem(keys[i])\r\n } else {\r\n this.addSelectedItem(keys[i], isSelectAll, !preserve)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n }\r\n setSelectedItems(keys) {\r\n this._setOption(\"selectionFilter\", null);\r\n for (var i = 0; i < keys.length; i++) {\r\n this.addSelectedItem(keys[i])\r\n }\r\n }\r\n isItemDataSelected(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n }\r\n isItemKeySelected(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!dataQuery([itemData]).filter(selectionFilter).toArray().length\r\n }\r\n _getKeyExpr() {\r\n var keyField = this.options.key();\r\n if (Array.isArray(keyField) && 1 === keyField.length) {\r\n return keyField[0]\r\n }\r\n return keyField\r\n }\r\n _normalizeKey(key) {\r\n var keyExpr = this.options.key();\r\n if (Array.isArray(keyExpr) && 1 === keyExpr.length) {\r\n return key[keyExpr[0]]\r\n }\r\n return key\r\n }\r\n _getFilterByKey(key) {\r\n var keyField = this._getKeyExpr();\r\n var filter = [keyField, \"=\", this._normalizeKey(key)];\r\n if (Array.isArray(keyField)) {\r\n filter = [];\r\n for (var i = 0; i < keyField.length; i++) {\r\n filter.push([keyField[i], \"=\", key[keyField[i]]]);\r\n if (i !== keyField.length - 1) {\r\n filter.push(\"and\")\r\n }\r\n }\r\n }\r\n return filter\r\n }\r\n addSelectedItem(key, isSelectAll, skipFilter) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(false, filter, isSelectAll, skipFilter)\r\n }\r\n removeSelectedItem(key) {\r\n var filter = this._getFilterByKey(key);\r\n this._addSelectionFilter(true, filter)\r\n }\r\n validate() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw errors.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n }\r\n _findSubFilter(selectionFilter, filter) {\r\n if (!selectionFilter) {\r\n return -1\r\n }\r\n var filterString = JSON.stringify(filter);\r\n for (var index = 0; index < selectionFilter.length; index++) {\r\n var subFilter = selectionFilter[index];\r\n if (subFilter && JSON.stringify(subFilter) === filterString) {\r\n return index\r\n }\r\n }\r\n return -1\r\n }\r\n _isLastSubFilter(selectionFilter, filter) {\r\n if (selectionFilter && filter) {\r\n return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter)\r\n }\r\n return false\r\n }\r\n _addFilterOperator(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && isString(selectionFilter[1]) && selectionFilter[1] !== filterOperator) {\r\n selectionFilter = [selectionFilter]\r\n }\r\n if (selectionFilter.length) {\r\n selectionFilter.push(filterOperator)\r\n }\r\n return selectionFilter\r\n }\r\n _denormalizeFilter(filter) {\r\n if (filter && isString(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n }\r\n _isOnlyNegativeFiltersLeft(filters) {\r\n return filters.every((filterItem, i) => {\r\n if (i % 2 === 0) {\r\n return Array.isArray(filterItem) && \"!\" === filterItem[0]\r\n } else {\r\n return \"and\" === filterItem\r\n }\r\n })\r\n }\r\n _addSelectionFilter(isDeselect, filter, isSelectAll, skipFilter) {\r\n var _selectionFilter;\r\n var currentFilter = isDeselect ? [\"!\", filter] : filter;\r\n var currentOperation = isDeselect ? \"and\" : \"or\";\r\n var needAddFilter = true;\r\n var selectionFilter = this.options.selectionFilter || [];\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (null !== (_selectionFilter = selectionFilter) && void 0 !== _selectionFilter && _selectionFilter.length && !skipFilter) {\r\n var removedIndex = this._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll);\r\n var filterIndex = this._removeSameFilter(selectionFilter, filter, !isDeselect);\r\n var shouldCleanFilter = isDeselect && (-1 !== removedIndex || -1 !== filterIndex) && this._isOnlyNegativeFiltersLeft(selectionFilter);\r\n if (shouldCleanFilter) {\r\n selectionFilter = []\r\n }\r\n var isKeyOperatorsAfterRemoved = this._isKeyFilter(filter) && this._hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex);\r\n needAddFilter = filter.length && !isKeyOperatorsAfterRemoved\r\n }\r\n if (needAddFilter) {\r\n selectionFilter = this._addFilterOperator(selectionFilter, currentOperation);\r\n selectionFilter.push(currentFilter)\r\n }\r\n selectionFilter = this._normalizeFilter(selectionFilter);\r\n this._setOption(\"selectionFilter\", !isDeselect && !selectionFilter.length ? null : selectionFilter)\r\n }\r\n _normalizeFilter(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n }\r\n _removeFilterByIndex(filter, filterIndex, isSelectAll) {\r\n var operation = filter[1];\r\n if (filterIndex > 0) {\r\n filter.splice(filterIndex - 1, 2)\r\n } else {\r\n filter.splice(filterIndex, 2)\r\n }\r\n if (isSelectAll && \"and\" === operation) {\r\n filter.splice(0, filter.length)\r\n }\r\n }\r\n _isSimpleKeyFilter(filter, key) {\r\n return 3 === filter.length && filter[0] === key && \"=\" === filter[1]\r\n }\r\n _isKeyFilter(filter) {\r\n if (2 === filter.length && \"!\" === filter[0]) {\r\n return this._isKeyFilter(filter[1])\r\n }\r\n var keyField = this._getKeyExpr();\r\n if (Array.isArray(keyField)) {\r\n if (filter.length !== 2 * keyField.length - 1) {\r\n return false\r\n }\r\n for (var i = 0; i < keyField.length; i++) {\r\n if (i > 0 && \"and\" !== filter[2 * i - 1]) {\r\n return false\r\n }\r\n if (!this._isSimpleKeyFilter(filter[2 * i], keyField[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return this._isSimpleKeyFilter(filter, keyField)\r\n }\r\n _hasKeyFiltersOnlyStartingFromIndex(selectionFilter, filterIndex) {\r\n if (filterIndex >= 0) {\r\n for (var i = filterIndex; i < selectionFilter.length; i++) {\r\n if (\"string\" !== typeof selectionFilter[i] && !this._isKeyFilter(selectionFilter[i])) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return false\r\n }\r\n _removeSameFilter(selectionFilter, filter, inverted, isSelectAll) {\r\n filter = inverted ? [\"!\", filter] : filter;\r\n if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) {\r\n selectionFilter.splice(0, selectionFilter.length);\r\n return 0\r\n }\r\n var filterIndex = this._findSubFilter(selectionFilter, filter);\r\n if (filterIndex >= 0) {\r\n this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll);\r\n return filterIndex\r\n } else {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n if (Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2) {\r\n var _filterIndex = this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll);\r\n if (_filterIndex >= 0) {\r\n if (!selectionFilter[i].length) {\r\n this._removeFilterByIndex(selectionFilter, i, isSelectAll)\r\n } else if (1 === selectionFilter[i].length) {\r\n selectionFilter[i] = selectionFilter[i][0]\r\n }\r\n return _filterIndex\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n }\r\n getSelectAllState() {\r\n var filter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (!filter || !filter.length) {\r\n return\r\n }\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (this._isLastSubFilter(selectionFilter, filter)) {\r\n return true\r\n }\r\n if (this._isLastSubFilter(selectionFilter, [\"!\", filter])) {\r\n return false\r\n }\r\n return\r\n }\r\n loadSelectedItemsWithFilter() {\r\n var componentFilter = this.options.filter();\r\n var selectionFilter = this.options.selectionFilter;\r\n var filter = componentFilter ? [componentFilter, \"and\", selectionFilter] : selectionFilter;\r\n return this._loadFilteredData(filter)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.strategy.standard.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getKeyHash\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n removeDuplicates,\r\n getUniqueValues\r\n} from \"../../core/utils/array\";\r\nimport {\r\n isKeysEqual\r\n} from \"../../core/utils/array_compare\";\r\nimport dataQuery from \"../../data/query\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n SelectionFilterCreator\r\n} from \"../../core/utils/selection_filter\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport SelectionStrategy from \"./selection.strategy\";\r\nexport default class StandardStrategy extends SelectionStrategy {\r\n constructor(options) {\r\n super(options);\r\n this._initSelectedItemKeyHash()\r\n }\r\n _initSelectedItemKeyHash() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n }\r\n getSelectedItemKeys() {\r\n return this.options.selectedItemKeys.slice(0)\r\n }\r\n getSelectedItems() {\r\n return this.options.selectedItems.slice(0)\r\n }\r\n _preserveSelectionUpdate(items, isDeselect) {\r\n var keyOf = this.options.keyOf;\r\n var keyIndicesToRemoveMap;\r\n var keyIndex;\r\n var i;\r\n if (!keyOf) {\r\n return\r\n }\r\n var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference;\r\n if (isBatchDeselect) {\r\n keyIndicesToRemoveMap = {}\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n if (isDeselect) {\r\n keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap, null === item || void 0 === item ? void 0 : item.disabled);\r\n if (keyIndicesToRemoveMap && keyIndex >= 0) {\r\n keyIndicesToRemoveMap[keyIndex] = true\r\n }\r\n } else {\r\n this.addSelectedItem(key, item)\r\n }\r\n }\r\n if (isBatchDeselect) {\r\n this._batchRemoveSelectedItems(keyIndicesToRemoveMap)\r\n }\r\n }\r\n _batchRemoveSelectedItems(keyIndicesToRemoveMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys.slice(0);\r\n var selectedItems = this.options.selectedItems.slice(0);\r\n this.options.selectedItemKeys.length = 0;\r\n this.options.selectedItems.length = 0;\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n if (!keyIndicesToRemoveMap[i]) {\r\n this.options.selectedItemKeys.push(selectedItemKeys[i]);\r\n this.options.selectedItems.push(selectedItems[i])\r\n }\r\n }\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n _loadSelectedItemsCore(keys, isDeselect, isSelectAll, filter) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var deferred = new Deferred;\r\n var key = this.options.key();\r\n if (!keys.length && !isSelectAll) {\r\n deferred.resolve([]);\r\n return deferred\r\n }\r\n if (isSelectAll && isDeselect && !filter) {\r\n deferred.resolve(this.getSelectedItems());\r\n return deferred\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys, isSelectAll);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter, forceCombinedFilter);\r\n var deselectedItems = [];\r\n if (isDeselect) {\r\n var selectedItems = this.options.selectedItems;\r\n deselectedItems = combinedFilter && keys.length !== selectedItems.length ? dataQuery(selectedItems).filter(combinedFilter).toArray() : selectedItems.slice(0)\r\n }\r\n var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData);\r\n var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key);\r\n filteredItems = filteredItems.filter(localFilter);\r\n if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) {\r\n deferred.resolve(filteredItems)\r\n } else {\r\n deferred = this._loadFilteredData(combinedFilter, localFilter, null, isSelectAll)\r\n }\r\n return deferred\r\n }\r\n _replaceSelectionUpdate(items) {\r\n var internalKeys = [];\r\n var keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var key = keyOf(item);\r\n internalKeys.push(key)\r\n }\r\n this.setSelectedItems(internalKeys, items)\r\n }\r\n _warnOnIncorrectKeys(keys) {\r\n var allowNullValue = this.options.allowNullValue;\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n if ((!allowNullValue || null !== key) && !this.isItemKeySelected(key)) {\r\n errors.log(\"W1002\", key)\r\n }\r\n }\r\n }\r\n _isMultiSelectEnabled() {\r\n var mode = this.options.mode;\r\n return \"all\" === mode || \"multiple\" === mode\r\n }\r\n _requestInProgress() {\r\n var _this$_lastLoadDeferr;\r\n return \"pending\" === (null === (_this$_lastLoadDeferr = this._lastLoadDeferred) || void 0 === _this$_lastLoadDeferr ? void 0 : _this$_lastLoadDeferr.state())\r\n }\r\n _concatRequestsItems(keys, isDeselect, oldRequestItems, updatedKeys) {\r\n var selectedItems;\r\n var deselectedItems = isDeselect ? keys : [];\r\n if (updatedKeys) {\r\n selectedItems = updatedKeys\r\n } else {\r\n selectedItems = removeDuplicates(keys, this.options.selectedItemKeys)\r\n }\r\n return {\r\n addedItems: oldRequestItems.added.concat(selectedItems),\r\n removedItems: oldRequestItems.removed.concat(deselectedItems),\r\n keys: keys\r\n }\r\n }\r\n _collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var isDeselectAll = isDeselect && isSelectAll;\r\n var oldRequestItems = {\r\n added: [],\r\n removed: []\r\n };\r\n var multiSelectEnabled = this._isMultiSelectEnabled();\r\n var lastRequestData = multiSelectEnabled ? this._lastRequestData : {};\r\n if (multiSelectEnabled) {\r\n if (this._shouldMergeWithLastRequest) {\r\n if (isDeselectAll) {\r\n this._lastLoadDeferred.reject();\r\n lastRequestData = {}\r\n } else if (!isKeysEqual(keys, this.options.selectedItemKeys)) {\r\n oldRequestItems.added = lastRequestData.addedItems;\r\n oldRequestItems.removed = lastRequestData.removedItems;\r\n if (!isDeselect) {\r\n this._lastLoadDeferred.reject()\r\n }\r\n }\r\n }\r\n lastRequestData = this._concatRequestsItems(keys, isDeselect, oldRequestItems, this._shouldMergeWithLastRequest ? void 0 : updatedKeys)\r\n }\r\n return lastRequestData\r\n }\r\n _updateKeysByLastRequestData(keys, isDeselect, isSelectAll) {\r\n var currentKeys = keys;\r\n if (this._isMultiSelectEnabled() && this._shouldMergeWithLastRequest && !isDeselect && !isSelectAll) {\r\n var _this$_lastRequestDat, _this$_lastRequestDat2;\r\n currentKeys = removeDuplicates(keys.concat(null === (_this$_lastRequestDat = this._lastRequestData) || void 0 === _this$_lastRequestDat ? void 0 : _this$_lastRequestDat.addedItems), null === (_this$_lastRequestDat2 = this._lastRequestData) || void 0 === _this$_lastRequestDat2 ? void 0 : _this$_lastRequestDat2.removedItems);\r\n currentKeys = getUniqueValues(currentKeys)\r\n }\r\n return currentKeys\r\n }\r\n _loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys) {\r\n var forceCombinedFilter = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;\r\n var that = this;\r\n var deferred = new Deferred;\r\n var filter = that.options.filter();\r\n this._shouldMergeWithLastRequest = this._requestInProgress();\r\n this._lastRequestData = this._collectLastRequestData(keys, isDeselect, isSelectAll, updatedKeys);\r\n when(that._lastLoadDeferred).always((function() {\r\n var currentKeys = that._updateKeysByLastRequestData(keys, isDeselect, isSelectAll);\r\n that._shouldMergeWithLastRequest = false;\r\n that._loadSelectedItemsCore(currentKeys, isDeselect, isSelectAll, filter, forceCombinedFilter).done(deferred.resolve).fail(deferred.reject)\r\n }));\r\n that._lastLoadDeferred = deferred;\r\n return deferred\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var forceCombinedFilter = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : false;\r\n var that = this;\r\n var deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll, updatedKeys, forceCombinedFilter);\r\n deferred.done((function(items) {\r\n if (preserve) {\r\n that._preserveSelectionUpdate(items, isDeselect)\r\n } else {\r\n that._replaceSelectionUpdate(items)\r\n }\r\n that.onSelectionChanged()\r\n }));\r\n return deferred\r\n }\r\n addSelectedItem(key, itemData) {\r\n if (isDefined(itemData) && !this.options.ignoreDisabledItems && itemData.disabled) {\r\n if (-1 === this.options.disabledItemKeys.indexOf(key)) {\r\n this.options.disabledItemKeys.push(key)\r\n }\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n if (-1 === this._indexOfSelectedItemKey(keyHash)) {\r\n if (!isObject(keyHash) && this.options.keyHashIndices) {\r\n this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length]\r\n }\r\n this.options.selectedItemKeys.push(key);\r\n this.options.addedItemKeys.push(key);\r\n this.options.addedItems.push(itemData);\r\n this.options.selectedItems.push(itemData)\r\n }\r\n }\r\n _getSelectedIndexByKey(key, ignoreIndicesMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n for (var index = 0; index < selectedItemKeys.length; index++) {\r\n if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) {\r\n return index\r\n }\r\n }\r\n return -1\r\n }\r\n _getSelectedIndexByHash(key, ignoreIndicesMap) {\r\n var indices = this.options.keyHashIndices[key];\r\n if (indices && indices.length > 1 && ignoreIndicesMap) {\r\n indices = indices.filter((function(index) {\r\n return !ignoreIndicesMap[index]\r\n }))\r\n }\r\n return indices && indices[0] >= 0 ? indices[0] : -1\r\n }\r\n _indexOfSelectedItemKey(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else if (isObject(key)) {\r\n selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap)\r\n } else {\r\n selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap)\r\n }\r\n return selectedIndex\r\n }\r\n _shiftSelectedKeyIndices(keyIndex) {\r\n for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) {\r\n var currentKey = this.options.selectedItemKeys[currentKeyIndex];\r\n var currentKeyHash = getKeyHash(currentKey);\r\n var currentKeyIndices = this.options.keyHashIndices[currentKeyHash];\r\n if (!currentKeyIndices) {\r\n continue\r\n }\r\n for (var i = 0; i < currentKeyIndices.length; i++) {\r\n if (currentKeyIndices[i] > keyIndex) {\r\n currentKeyIndices[i]--\r\n }\r\n }\r\n }\r\n }\r\n removeSelectedItem(key, keyIndicesToRemoveMap, isDisabled) {\r\n if (!this.options.ignoreDisabledItems && isDisabled) {\r\n return\r\n }\r\n var keyHash = this._getKeyHash(key);\r\n var isBatchDeselect = !!keyIndicesToRemoveMap;\r\n var keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap);\r\n if (keyIndex < 0) {\r\n return keyIndex\r\n }\r\n this.options.removedItemKeys.push(key);\r\n this.options.removedItems.push(this.options.selectedItems[keyIndex]);\r\n if (isBatchDeselect) {\r\n return keyIndex\r\n }\r\n this.options.selectedItemKeys.splice(keyIndex, 1);\r\n this.options.selectedItems.splice(keyIndex, 1);\r\n if (isObject(keyHash) || !this.options.keyHashIndices) {\r\n return keyIndex\r\n }\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n if (!keyIndices) {\r\n return keyIndex\r\n }\r\n keyIndices.shift();\r\n if (!keyIndices.length) {\r\n delete this.options.keyHashIndices[keyHash]\r\n }\r\n this._shiftSelectedKeyIndices(keyIndex);\r\n return keyIndex\r\n }\r\n _updateAddedItemKeys(keys, items) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n this.options.addedItemKeys.push(keys[i]);\r\n this.options.addedItems.push(items[i])\r\n }\r\n }\r\n }\r\n _updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems) {\r\n for (var i = 0; i < oldSelectedKeys.length; i++) {\r\n if (!this.isItemKeySelected(oldSelectedKeys[i])) {\r\n this.options.removedItemKeys.push(oldSelectedKeys[i]);\r\n this.options.removedItems.push(oldSelectedItems[i])\r\n }\r\n }\r\n }\r\n _isItemSelectionInProgress(key, checkPending) {\r\n var shouldCheckPending = checkPending && this._lastRequestData && this._requestInProgress();\r\n if (shouldCheckPending) {\r\n var _this$_lastRequestDat3;\r\n var addedItems = null !== (_this$_lastRequestDat3 = this._lastRequestData.addedItems) && void 0 !== _this$_lastRequestDat3 ? _this$_lastRequestDat3 : [];\r\n return addedItems.includes(key)\r\n } else {\r\n return false\r\n }\r\n }\r\n _getKeyHash(key) {\r\n return this.options.equalByReference ? key : getKeyHash(key)\r\n }\r\n setSelectedItems(keys, items) {\r\n this._updateAddedItemKeys(keys, items);\r\n var oldSelectedKeys = this.options.selectedItemKeys;\r\n var oldSelectedItems = this.options.selectedItems;\r\n if (!this.options.equalByReference) {\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(keys)\r\n }\r\n this._setOption(\"selectedItemKeys\", keys);\r\n this._setOption(\"selectedItems\", items);\r\n this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems)\r\n }\r\n isItemDataSelected(itemData) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var key = this.options.keyOf(itemData);\r\n return this.isItemKeySelected(key, options)\r\n }\r\n isItemKeySelected(key) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n var result = this._isItemSelectionInProgress(key, options.checkPending);\r\n if (!result) {\r\n var keyHash = this._getKeyHash(key);\r\n var index = this._indexOfSelectedItemKey(keyHash);\r\n result = -1 !== index\r\n }\r\n return result\r\n }\r\n getSelectAllState(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n }\r\n loadSelectedItemsWithFilter() {\r\n var keyExpr = this.options.key();\r\n var keys = this.getSelectedItemKeys();\r\n var filter = this.options.filter();\r\n if (!keys.length) {\r\n return Deferred().resolve([])\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys);\r\n var combinedFilter = selectionFilterCreator.getCombinedFilter(keyExpr, filter, true);\r\n return this._loadFilteredData(combinedFilter)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/selection/selection.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport deferredStrategy from \"./selection.strategy.deferred\";\r\nimport standardStrategy from \"./selection.strategy.standard\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nexport default class Selection {\r\n constructor(options) {\r\n this.options = extend(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new deferredStrategy(this.options) : new standardStrategy(this.options);\r\n this._focusedItemIndex = -1;\r\n if (!this.options.equalByReference) {\r\n this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n }\r\n _getDefaultOptions() {\r\n return {\r\n allowNullValue: false,\r\n deferred: false,\r\n equalByReference: false,\r\n mode: \"multiple\",\r\n selectedItems: [],\r\n selectionFilter: [],\r\n maxFilterLengthInRequest: 0,\r\n onSelectionChanged: noop,\r\n key: noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new Deferred).resolve([])\r\n },\r\n totalCount: function() {\r\n return -1\r\n },\r\n isSelectableItem: function() {\r\n return true\r\n },\r\n isItemSelected: function() {\r\n return false\r\n },\r\n getItemData: function(item) {\r\n return item\r\n },\r\n dataFields: noop,\r\n filter: noop\r\n }\r\n }\r\n validate() {\r\n this._selectionStrategy.validate()\r\n }\r\n getSelectedItemKeys() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n }\r\n getSelectedItems() {\r\n return this._selectionStrategy.getSelectedItems()\r\n }\r\n selectionFilter(value) {\r\n if (void 0 === value) {\r\n return this.options.selectionFilter\r\n }\r\n var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value);\r\n this.options.selectionFilter = value;\r\n filterIsChanged && this.onSelectionChanged()\r\n }\r\n setSelection(keys, updatedKeys) {\r\n return this.selectedItemKeys(keys, false, false, false, updatedKeys)\r\n }\r\n select(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n }\r\n deselect(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n }\r\n selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys) {\r\n var _keys;\r\n keys = null !== (_keys = keys) && void 0 !== _keys ? _keys : [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll, updatedKeys)\r\n }\r\n clearSelection() {\r\n return this.selectedItemKeys([])\r\n }\r\n _addSelectedItem(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n }\r\n _removeSelectedItem(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n }\r\n _setSelectedItems(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n }\r\n onSelectionChanged() {\r\n this._selectionStrategy.onSelectionChanged()\r\n }\r\n changeItemSelection(itemIndex, keys, setFocusOnly) {\r\n var _this$options$allowLo, _this$options;\r\n var isSelectedItemsChanged;\r\n var items = this.options.plainItems();\r\n var item = items[itemIndex];\r\n var deferred;\r\n var allowLoadByRange = null === (_this$options$allowLo = (_this$options = this.options).allowLoadByRange) || void 0 === _this$options$allowLo ? void 0 : _this$options$allowLo.call(_this$options);\r\n var indexOffset;\r\n var focusedItemNotInLoadedRange = false;\r\n var shiftFocusedItemNotInLoadedRange = false;\r\n var itemIsNotInLoadedRange = index => index >= 0 && !items.filter(it => it.loadIndex === index).length;\r\n if (allowLoadByRange && isDefined(item)) {\r\n indexOffset = item.loadIndex - itemIndex;\r\n itemIndex = item.loadIndex;\r\n focusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._focusedItemIndex);\r\n if (isDefined(this._shiftFocusedItemIndex)) {\r\n shiftFocusedItemNotInLoadedRange = itemIsNotInLoadedRange(this._shiftFocusedItemIndex)\r\n }\r\n }\r\n if (!this.isSelectable() || !this.isDataItem(item)) {\r\n return false\r\n }\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n keys = keys || {};\r\n if (keys.shift && \"multiple\" === this.options.mode && this._focusedItemIndex >= 0) {\r\n if (focusedItemNotInLoadedRange || shiftFocusedItemNotInLoadedRange) {\r\n isSelectedItemsChanged = itemIndex !== this._shiftFocusedItemIndex || this._focusedItemIndex !== this._shiftFocusedItemIndex;\r\n if (isSelectedItemsChanged) {\r\n deferred = this.changeItemSelectionWhenShiftKeyInVirtualPaging(itemIndex)\r\n }\r\n } else {\r\n isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset)\r\n }\r\n } else if (keys.control) {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n if (!setFocusOnly) {\r\n var isSelected = this._selectionStrategy.isItemDataSelected(itemData);\r\n if (\"single\" === this.options.mode) {\r\n this.clearSelectedItems()\r\n }\r\n if (isSelected) {\r\n this._removeSelectedItem(itemKey)\r\n } else {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n }\r\n isSelectedItemsChanged = true\r\n } else {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey);\r\n if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) {\r\n this._setSelectedItems([itemKey], [itemData]);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n if (isSelectedItemsChanged) {\r\n when(deferred).done(() => {\r\n this._focusedItemIndex = itemIndex;\r\n !setFocusOnly && this.onSelectionChanged()\r\n });\r\n return true\r\n }\r\n }\r\n isDataItem(item) {\r\n return this.options.isSelectableItem(item)\r\n }\r\n isSelectable() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n }\r\n isItemDataSelected(data) {\r\n return this._selectionStrategy.isItemDataSelected(data, {\r\n checkPending: true\r\n })\r\n }\r\n isItemSelected(arg, options) {\r\n return this._selectionStrategy.isItemKeySelected(arg, options)\r\n }\r\n _resetItemSelectionWhenShiftKeyPressed() {\r\n delete this._shiftFocusedItemIndex\r\n }\r\n _resetFocusedItemIndex() {\r\n this._focusedItemIndex = -1\r\n }\r\n changeItemSelectionWhenShiftKeyInVirtualPaging(loadIndex) {\r\n var loadOptions = this.options.getLoadOptions(loadIndex, this._focusedItemIndex, this._shiftFocusedItemIndex);\r\n var deferred = new Deferred;\r\n var indexOffset = loadOptions.skip;\r\n this.options.load(loadOptions).done(items => {\r\n this.changeItemSelectionWhenShiftKeyPressed(loadIndex, items, indexOffset);\r\n deferred.resolve()\r\n });\r\n return deferred.promise()\r\n }\r\n changeItemSelectionWhenShiftKeyPressed(itemIndex, items, indexOffset) {\r\n var isSelectedItemsChanged = false;\r\n var itemIndexStep;\r\n var indexOffsetDefined = isDefined(indexOffset);\r\n var index = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n var keyOf = this.options.keyOf;\r\n var focusedItem = items[index];\r\n var focusedData = this.options.getItemData(focusedItem);\r\n var focusedKey = keyOf(focusedData);\r\n var isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData);\r\n if (!isDefined(this._shiftFocusedItemIndex)) {\r\n this._shiftFocusedItemIndex = this._focusedItemIndex\r\n }\r\n var data;\r\n var itemKey;\r\n var startIndex;\r\n var endIndex;\r\n if (this._shiftFocusedItemIndex !== this._focusedItemIndex) {\r\n itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? this._focusedItemIndex - indexOffset : this._focusedItemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n itemKey = keyOf(this.options.getItemData(items[index]));\r\n this._removeSelectedItem(itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (itemIndex !== this._shiftFocusedItemIndex) {\r\n itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n startIndex = indexOffsetDefined ? itemIndex - indexOffset : itemIndex;\r\n endIndex = indexOffsetDefined ? this._shiftFocusedItemIndex - indexOffset : this._shiftFocusedItemIndex;\r\n for (index = startIndex; index !== endIndex; index += itemIndexStep) {\r\n if (indexOffsetDefined || this.isDataItem(items[index])) {\r\n data = this.options.getItemData(items[index]);\r\n itemKey = keyOf(data);\r\n this._addSelectedItem(data, itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if ((indexOffsetDefined || this.isDataItem(focusedItem)) && !isFocusedItemSelected) {\r\n this._addSelectedItem(focusedData, focusedKey);\r\n isSelectedItemsChanged = true\r\n }\r\n return isSelectedItemsChanged\r\n }\r\n clearSelectedItems() {\r\n this._setSelectedItems([], [])\r\n }\r\n selectAll(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(false)\r\n } else {\r\n return this.selectedItemKeys([], true, false, true)\r\n }\r\n }\r\n deselectAll(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(true)\r\n } else {\r\n return this.selectedItemKeys([], true, true, true)\r\n }\r\n }\r\n _onePageSelectAll(isDeselect) {\r\n var items = this._selectionStrategy.getSelectableItems(this.options.plainItems());\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (this.isDataItem(item)) {\r\n var itemData = this.options.getItemData(item);\r\n var itemKey = this.options.keyOf(itemData);\r\n var isSelected = this.isItemSelected(itemKey);\r\n if (!isSelected && !isDeselect) {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n if (isSelected && isDeselect) {\r\n this._removeSelectedItem(itemKey)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n }\r\n getSelectAllState(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n }\r\n loadSelectedItemsWithFilter() {\r\n return this._selectionStrategy.loadSelectedItemsWithFilter()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/shared/filtering.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDate,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n map\r\n} from \"../../core/utils/iterator\";\r\nvar DEFAULT_DATE_INTERVAL = [\"year\", \"month\", \"day\"];\r\nvar DEFAULT_DATETIME_INTERVAL = [\"year\", \"month\", \"day\", \"hour\", \"minute\"];\r\nvar isDateType = function(dataType) {\r\n return \"date\" === dataType || \"datetime\" === dataType\r\n};\r\nvar getGroupInterval = function(column) {\r\n var index;\r\n var result = [];\r\n var dateIntervals = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\"];\r\n var groupInterval = column.headerFilter && column.headerFilter.groupInterval;\r\n var interval = \"quarter\" === groupInterval ? \"month\" : groupInterval;\r\n if (isDateType(column.dataType) && null !== groupInterval) {\r\n result = \"datetime\" === column.dataType ? DEFAULT_DATETIME_INTERVAL : DEFAULT_DATE_INTERVAL;\r\n index = dateIntervals.indexOf(interval);\r\n if (index >= 0) {\r\n result = dateIntervals.slice(0, index);\r\n result.push(groupInterval);\r\n return result\r\n }\r\n return result\r\n } else if (isDefined(groupInterval)) {\r\n return Array.isArray(groupInterval) ? groupInterval : [groupInterval]\r\n }\r\n};\r\nexport default (function() {\r\n var getFilterSelector = function(column, target) {\r\n var selector = column.dataField || column.selector;\r\n if (\"search\" === target) {\r\n selector = column.displayField || column.calculateDisplayValue || selector\r\n }\r\n return selector\r\n };\r\n var getFilterExpressionByRange = function(filterValue, target) {\r\n var endFilterValue;\r\n var startFilterExpression;\r\n var endFilterExpression;\r\n var selector = getFilterSelector(this, target);\r\n if (Array.isArray(filterValue) && isDefined(filterValue[0]) && isDefined(filterValue[1])) {\r\n startFilterExpression = [selector, \">=\", filterValue[0]];\r\n endFilterExpression = [selector, \"<=\", filterValue[1]];\r\n if (isDateType(this.dataType) && (date = filterValue[1], date.getHours() + date.getMinutes() + date.getSeconds() + date.getMilliseconds() < 1)) {\r\n endFilterValue = new Date(filterValue[1].getTime());\r\n if (\"date\" === this.dataType) {\r\n endFilterValue.setDate(filterValue[1].getDate() + 1)\r\n }\r\n endFilterExpression = [selector, \"<\", endFilterValue]\r\n }\r\n return [startFilterExpression, \"and\", endFilterExpression]\r\n }\r\n var date\r\n };\r\n var getFilterExpressionForDate = function(filterValue, selectedFilterOperation, target) {\r\n var dateStart;\r\n var dateEnd;\r\n var dateInterval;\r\n var values = function(dateValue) {\r\n if (isDate(dateValue)) {\r\n return [dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate(), dateValue.getHours(), dateValue.getMinutes(), dateValue.getSeconds()]\r\n }\r\n return map((\"\" + dateValue).split(\"/\"), (function(value, index) {\r\n return 1 === index ? Number(value) - 1 : Number(value)\r\n }))\r\n }(filterValue);\r\n var selector = getFilterSelector(this, target);\r\n if (\"headerFilter\" === target) {\r\n dateInterval = getGroupInterval(this)[values.length - 1]\r\n } else if (\"datetime\" === this.dataType) {\r\n dateInterval = \"minute\"\r\n }\r\n switch (dateInterval) {\r\n case \"year\":\r\n dateStart = new Date(values[0], 0, 1);\r\n dateEnd = new Date(values[0] + 1, 0, 1);\r\n break;\r\n case \"month\":\r\n dateStart = new Date(values[0], values[1], 1);\r\n dateEnd = new Date(values[0], values[1] + 1, 1);\r\n break;\r\n case \"quarter\":\r\n dateStart = new Date(values[0], 3 * values[1], 1);\r\n dateEnd = new Date(values[0], 3 * values[1] + 3, 1);\r\n break;\r\n case \"hour\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3] + 1);\r\n break;\r\n case \"minute\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3], values[4]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3], values[4] + 1);\r\n break;\r\n case \"second\":\r\n dateStart = new Date(values[0], values[1], values[2], values[3], values[4], values[5]);\r\n dateEnd = new Date(values[0], values[1], values[2], values[3], values[4], values[5] + 1);\r\n break;\r\n default:\r\n dateStart = new Date(values[0], values[1], values[2]);\r\n dateEnd = new Date(values[0], values[1], values[2] + 1)\r\n }\r\n switch (selectedFilterOperation) {\r\n case \"<\":\r\n return [selector, \"<\", dateStart];\r\n case \"<=\":\r\n return [selector, \"<\", dateEnd];\r\n case \">\":\r\n return [selector, \">=\", dateEnd];\r\n case \">=\":\r\n return [selector, \">=\", dateStart];\r\n case \"<>\":\r\n return [\r\n [selector, \"<\", dateStart], \"or\", [selector, \">=\", dateEnd]\r\n ];\r\n default:\r\n return [\r\n [selector, \">=\", dateStart], \"and\", [selector, \"<\", dateEnd]\r\n ]\r\n }\r\n };\r\n var getFilterExpressionForNumber = function(filterValue, selectedFilterOperation, target) {\r\n var selector = getFilterSelector(this, target);\r\n var groupInterval = getGroupInterval(this);\r\n if (\"headerFilter\" === target && groupInterval && isDefined(filterValue)) {\r\n var values = (\"\" + filterValue).split(\"/\");\r\n var value = Number(values[values.length - 1]);\r\n var interval = groupInterval[values.length - 1];\r\n var startFilterValue = [selector, \">=\", value];\r\n var endFilterValue = [selector, \"<\", value + interval];\r\n var condition = [startFilterValue, \"and\", endFilterValue];\r\n return condition\r\n }\r\n return [selector, selectedFilterOperation || \"=\", filterValue]\r\n };\r\n return {\r\n defaultCalculateFilterExpression: function(filterValue, selectedFilterOperation, target) {\r\n var column = this;\r\n var selector = getFilterSelector(column, target);\r\n var isSearchByDisplayValue = column.calculateDisplayValue && \"search\" === target;\r\n var dataType = isSearchByDisplayValue && column.lookup && column.lookup.dataType || column.dataType;\r\n var filter = null;\r\n if ((\"headerFilter\" === target || \"filterBuilder\" === target) && null === filterValue) {\r\n filter = [selector, selectedFilterOperation || \"=\", null];\r\n if (\"string\" === dataType) {\r\n filter = [filter, \"=\" === selectedFilterOperation ? \"or\" : \"and\", [selector, selectedFilterOperation || \"=\", \"\"]]\r\n }\r\n } else if (\"string\" === dataType && (!column.lookup || isSearchByDisplayValue)) {\r\n filter = [selector, selectedFilterOperation || \"contains\", filterValue]\r\n } else if (\"between\" === selectedFilterOperation) {\r\n return getFilterExpressionByRange.apply(column, [filterValue, target])\r\n } else if (isDateType(dataType) && isDefined(filterValue)) {\r\n return getFilterExpressionForDate.apply(column, arguments)\r\n } else if (\"number\" === dataType) {\r\n return getFilterExpressionForNumber.apply(column, arguments)\r\n } else {\r\n filter = [selector, selectedFilterOperation || \"=\", filterValue]\r\n }\r\n return filter\r\n },\r\n getGroupInterval: getGroupInterval\r\n }\r\n}());\r\n","/**\r\n * DevExtreme (esm/ui/shared/grouped_data_converter_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject\r\n} from \"../../core/utils/type\";\r\nvar isCorrectStructure = data => Array.isArray(data) && data.every(item => {\r\n var hasTwoFields = 2 === Object.keys(item).length;\r\n var hasCorrectFields = \"key\" in item && \"items\" in item;\r\n return hasTwoFields && hasCorrectFields && Array.isArray(item.items)\r\n});\r\nexport default {\r\n _getSpecificDataSourceOption: function() {\r\n var dataSource = this.option(\"dataSource\");\r\n var hasSimpleItems = false;\r\n var data = {};\r\n if (this._getGroupedOption() && isCorrectStructure(dataSource)) {\r\n data = dataSource.reduce((accumulator, item) => {\r\n var items = item.items.map(innerItem => {\r\n if (!isObject(innerItem)) {\r\n innerItem = {\r\n text: innerItem\r\n };\r\n hasSimpleItems = true\r\n }\r\n if (!(\"key\" in innerItem)) {\r\n innerItem.key = item.key\r\n }\r\n return innerItem\r\n });\r\n return accumulator.concat(items)\r\n }, []);\r\n dataSource = {\r\n store: {\r\n type: \"array\",\r\n data: data\r\n },\r\n group: {\r\n selector: \"key\",\r\n keepInitialKeyOrder: true\r\n }\r\n };\r\n if (hasSimpleItems) {\r\n dataSource.searchExpr = \"text\"\r\n }\r\n }\r\n return dataSource\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_area.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n noop,\r\n ensureDefined\r\n} from \"../core/utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n isDefined\r\n} from \"../core/utils/type\";\r\nimport {\r\n addNamespace,\r\n eventData\r\n} from \"../events/utils/index\";\r\nimport pointerEvents from \"../events/pointer\";\r\nimport scrollEvents from \"../events/gesture/emitter.gesture.scroll\";\r\nimport {\r\n getVerticalOffsets,\r\n getElementBoxParams,\r\n parseHeight,\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n allowScroll,\r\n prepareScrollData\r\n} from \"./text_box/utils.scroll\";\r\nimport TextBox from \"./text_box\";\r\nvar TEXTAREA_CLASS = \"dx-textarea\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_CLASS_AUTO_RESIZE = \"dx-texteditor-input-auto-resize\";\r\nvar TextArea = TextBox.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n spellcheck: true,\r\n minHeight: void 0,\r\n maxHeight: void 0,\r\n autoResizeEnabled: false\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTAREA_CLASS);\r\n this.callBase();\r\n this.setAria(\"multiline\", \"true\")\r\n },\r\n _renderContentImpl: function() {\r\n this._updateInputHeight();\r\n this.callBase()\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderScrollHandler()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"<textarea>\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n this._updateInputAutoResizeAppearance($input);\r\n return $input\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n $input.attr(customAttributes).addClass(TEXTEDITOR_INPUT_CLASS)\r\n },\r\n _renderScrollHandler: function() {\r\n this._eventY = 0;\r\n var $input = this._input();\r\n var initScrollData = prepareScrollData($input, true);\r\n eventsEngine.on($input, addNamespace(scrollEvents.init, this.NAME), initScrollData, noop);\r\n eventsEngine.on($input, addNamespace(pointerEvents.down, this.NAME), this._pointerDownHandler.bind(this));\r\n eventsEngine.on($input, addNamespace(pointerEvents.move, this.NAME), this._pointerMoveHandler.bind(this))\r\n },\r\n _pointerDownHandler: function(e) {\r\n this._eventY = eventData(e).y\r\n },\r\n _pointerMoveHandler: function(e) {\r\n var currentEventY = eventData(e).y;\r\n var delta = this._eventY - currentEventY;\r\n if (allowScroll(this._input(), delta)) {\r\n e.isScrollingEvent = true;\r\n e.stopPropagation()\r\n }\r\n this._eventY = currentEventY\r\n },\r\n _renderDimensions: function() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n var minHeight = this.option(\"minHeight\");\r\n var maxHeight = this.option(\"maxHeight\");\r\n $element.css({\r\n minHeight: void 0 !== minHeight ? minHeight : \"\",\r\n maxHeight: void 0 !== maxHeight ? maxHeight : \"\",\r\n width: width,\r\n height: height\r\n })\r\n },\r\n _resetDimensions: function() {\r\n this.$element().css({\r\n height: \"\",\r\n minHeight: \"\",\r\n maxHeight: \"\"\r\n })\r\n },\r\n _renderEvents: function() {\r\n if (this.option(\"autoResizeEnabled\")) {\r\n eventsEngine.on(this._input(), addNamespace(\"input paste\", this.NAME), this._updateInputHeight.bind(this))\r\n }\r\n this.callBase()\r\n },\r\n _refreshEvents: function() {\r\n eventsEngine.off(this._input(), addNamespace(\"input paste\", this.NAME));\r\n this.callBase()\r\n },\r\n _getHeightDifference($input) {\r\n return getVerticalOffsets(this._$element.get(0), false) + getVerticalOffsets(this._$textEditorContainer.get(0), false) + getVerticalOffsets(this._$textEditorInputContainer.get(0), false) + getElementBoxParams(\"height\", getWindow().getComputedStyle($input.get(0))).margin\r\n },\r\n _updateInputHeight: function() {\r\n if (!hasWindow()) {\r\n return\r\n }\r\n var $input = this._input();\r\n var height = this.option(\"height\");\r\n var autoHeightResizing = void 0 === height && this.option(\"autoResizeEnabled\");\r\n var shouldCalculateInputHeight = autoHeightResizing || void 0 === height && this.option(\"minHeight\");\r\n if (!shouldCalculateInputHeight) {\r\n $input.css(\"height\", \"\");\r\n return\r\n }\r\n this._resetDimensions();\r\n this._$element.css(\"height\", getOuterHeight(this._$element));\r\n $input.css(\"height\", 0);\r\n var heightDifference = this._getHeightDifference($input);\r\n this._renderDimensions();\r\n var minHeight = this._getBoundaryHeight(\"minHeight\");\r\n var maxHeight = this._getBoundaryHeight(\"maxHeight\");\r\n var inputHeight = $input[0].scrollHeight;\r\n if (void 0 !== minHeight) {\r\n inputHeight = Math.max(inputHeight, minHeight - heightDifference)\r\n }\r\n if (void 0 !== maxHeight) {\r\n var adjustedMaxHeight = maxHeight - heightDifference;\r\n var needScroll = inputHeight > adjustedMaxHeight;\r\n inputHeight = Math.min(inputHeight, adjustedMaxHeight);\r\n this._updateInputAutoResizeAppearance($input, !needScroll)\r\n }\r\n $input.css(\"height\", inputHeight);\r\n if (autoHeightResizing) {\r\n this._$element.css(\"height\", \"auto\")\r\n }\r\n },\r\n _getBoundaryHeight: function(optionName) {\r\n var boundaryValue = this.option(optionName);\r\n if (isDefined(boundaryValue)) {\r\n return \"number\" === typeof boundaryValue ? boundaryValue : parseHeight(boundaryValue, this.$element().get(0).parentElement, this._$element.get(0))\r\n }\r\n },\r\n _renderInputType: noop,\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._updateInputHeight()\r\n }\r\n },\r\n _updateInputAutoResizeAppearance: function($input, isAutoResizeEnabled) {\r\n if ($input) {\r\n var autoResizeEnabled = ensureDefined(isAutoResizeEnabled, this.option(\"autoResizeEnabled\"));\r\n $input.toggleClass(TEXTEDITOR_INPUT_CLASS_AUTO_RESIZE, autoResizeEnabled)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n if (this.option(\"visible\")) {\r\n this._updateInputHeight()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"autoResizeEnabled\":\r\n this._updateInputAutoResizeAppearance(this._input(), args.value);\r\n this._refreshEvents();\r\n this._updateInputHeight();\r\n break;\r\n case \"value\":\r\n case \"height\":\r\n this.callBase(args);\r\n this._updateInputHeight();\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderDimensions();\r\n this._updateInputHeight();\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n args.value && this._updateInputHeight();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxTextArea\", TextArea);\r\nexport default TextArea;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/text_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditor from \"./ui.text_editor\";\r\nimport {\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n getOuterWidth,\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nvar ignoreKeys = [\"backspace\", \"tab\", \"enter\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"rightArrow\", \"downArrow\", \"upArrow\", \"del\"];\r\nvar TEXTBOX_CLASS = \"dx-textbox\";\r\nvar SEARCHBOX_CLASS = \"dx-searchbox\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SEARCH_ICON_CLASS = \"dx-icon-search\";\r\nvar TextBox = TextEditor.inherit({\r\n ctor: function(element, options) {\r\n if (options) {\r\n this._showClearButton = options.showClearButton\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: \"\",\r\n mode: \"text\",\r\n maxLength: null\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTBOX_CLASS);\r\n this.callBase();\r\n this.setAria(\"role\", \"textbox\")\r\n },\r\n _renderInputType: function() {\r\n this.callBase();\r\n this._renderSearchMode()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._toggleMaxLengthProp()\r\n },\r\n _toggleMaxLengthProp: function() {\r\n var maxLength = this._getMaxLength();\r\n if (maxLength && maxLength > 0) {\r\n this._input().attr(\"maxLength\", maxLength)\r\n } else {\r\n this._input().removeAttr(\"maxLength\")\r\n }\r\n },\r\n _renderSearchMode: function() {\r\n var $element = this._$element;\r\n if (\"search\" === this.option(\"mode\")) {\r\n $element.addClass(SEARCHBOX_CLASS);\r\n this._renderSearchIcon();\r\n if (void 0 === this._showClearButton) {\r\n this._showClearButton = this.option(\"showClearButton\");\r\n this.option(\"showClearButton\", true)\r\n }\r\n } else {\r\n $element.removeClass(SEARCHBOX_CLASS);\r\n this._$searchIcon && this._$searchIcon.remove();\r\n this.option(\"showClearButton\", void 0 === this._showClearButton ? this.option(\"showClearButton\") : this._showClearButton);\r\n delete this._showClearButton\r\n }\r\n },\r\n _renderSearchIcon: function() {\r\n var $searchIcon = $(\"<div>\").addClass(ICON_CLASS).addClass(SEARCH_ICON_CLASS);\r\n $searchIcon.prependTo(this._input().parent());\r\n this._$searchIcon = $searchIcon\r\n },\r\n _getLabelContainerWidth: function() {\r\n if (this._$searchIcon) {\r\n var $inputContainer = this._input().parent();\r\n return getWidth($inputContainer) - this._getLabelBeforeWidth()\r\n }\r\n return this.callBase()\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var labelBeforeWidth = this.callBase();\r\n if (this._$searchIcon) {\r\n labelBeforeWidth += getOuterWidth(this._$searchIcon)\r\n }\r\n return labelBeforeWidth\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxLength\":\r\n this._toggleMaxLengthProp();\r\n break;\r\n case \"mode\":\r\n this.callBase(args);\r\n this._updateLabelWidth();\r\n break;\r\n case \"mask\":\r\n this.callBase(args);\r\n this._toggleMaxLengthProp();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _onKeyDownCutOffHandler: function(e) {\r\n var actualMaxLength = this._getMaxLength();\r\n if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) {\r\n var $input = $(e.target);\r\n var key = normalizeKeyName(e);\r\n this._cutOffExtraChar($input);\r\n return $input.val().length < actualMaxLength || ignoreKeys.includes(key) || \"\" !== window.getSelection().toString()\r\n } else {\r\n return true\r\n }\r\n },\r\n _onChangeCutOffHandler: function(e) {\r\n var $input = $(e.target);\r\n if (this.option(\"maxLength\")) {\r\n this._cutOffExtraChar($input)\r\n }\r\n },\r\n _cutOffExtraChar: function($input) {\r\n var actualMaxLength = this._getMaxLength();\r\n var textInput = $input.val();\r\n if (actualMaxLength && textInput.length > actualMaxLength) {\r\n $input.val(textInput.substr(0, actualMaxLength))\r\n }\r\n },\r\n _getMaxLength: function() {\r\n var isMaskSpecified = !!this.option(\"mask\");\r\n return isMaskSpecified ? null : this.option(\"maxLength\")\r\n }\r\n});\r\nregisterComponent(\"dxTextBox\", TextBox);\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport TextBox from \"./text_box/text_box\";\r\nexport default TextBox;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nexport default class TextEditorButton {\r\n constructor(name, editor, options) {\r\n this.instance = null;\r\n this.$container = null;\r\n this.$placeMarker = null;\r\n this.editor = editor;\r\n this.name = name;\r\n this.options = options || {}\r\n }\r\n _addPlaceMarker($container) {\r\n this.$placeMarker = $(\"<div>\").appendTo($container)\r\n }\r\n _addToContainer($element) {\r\n var {\r\n $placeMarker: $placeMarker,\r\n $container: $container\r\n } = this;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n }\r\n _attachEvents() {\r\n throw \"Not implemented\"\r\n }\r\n _create() {\r\n throw \"Not implemented\"\r\n }\r\n _isRendered() {\r\n return !!this.instance\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor,\r\n options: options\r\n } = this;\r\n return options.visible || !editor.option(\"readOnly\")\r\n }\r\n _isDisabled() {\r\n throw \"Not implemented\"\r\n }\r\n _shouldRender() {\r\n return this._isVisible() && !this._isRendered()\r\n }\r\n dispose() {\r\n var {\r\n instance: instance,\r\n $placeMarker: $placeMarker\r\n } = this;\r\n if (instance) {\r\n instance.dispose ? instance.dispose() : instance.remove();\r\n this.instance = null\r\n }\r\n $placeMarker && $placeMarker.remove()\r\n }\r\n render() {\r\n var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container;\r\n this.$container = $container;\r\n if (this._isVisible()) {\r\n var {\r\n instance: instance,\r\n $element: $element\r\n } = this._create();\r\n this.instance = instance;\r\n this._attachEvents(instance, $element)\r\n } else {\r\n this._addPlaceMarker($container)\r\n }\r\n }\r\n update() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskRule = Class.inherit({\r\n ctor: function(config) {\r\n this._value = EMPTY_CHAR;\r\n extend(this, config)\r\n },\r\n next: function(rule) {\r\n if (!arguments.length) {\r\n return this._next\r\n }\r\n this._next = rule\r\n },\r\n text: noop,\r\n value: noop,\r\n rawValue: noop,\r\n handle: noop,\r\n _prepareHandlingArgs: function(args, config) {\r\n var _config$str, _config$start, _config$length;\r\n config = config || {};\r\n var handlingProperty = Object.prototype.hasOwnProperty.call(args, \"value\") ? \"value\" : \"text\";\r\n args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty];\r\n args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start;\r\n args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length;\r\n args.index = args.index + 1;\r\n return args\r\n },\r\n reset: noop,\r\n clear: noop,\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n isAccepted: function() {\r\n return false\r\n },\r\n adjustedCaret: function(caret, isForwardDirection, char) {\r\n return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char)\r\n },\r\n _adjustedForward: noop,\r\n _adjustedBackward: noop,\r\n isValid: noop\r\n});\r\nexport var EmptyMaskRule = BaseMaskRule.inherit({\r\n next: noop,\r\n handle: function() {\r\n return 0\r\n },\r\n text: function() {\r\n return \"\"\r\n },\r\n value: function() {\r\n return \"\"\r\n },\r\n first: function() {\r\n return 0\r\n },\r\n rawValue: function() {\r\n return \"\"\r\n },\r\n adjustedCaret: function() {\r\n return 0\r\n },\r\n isValid: function() {\r\n return true\r\n }\r\n});\r\nexport var MaskRule = BaseMaskRule.inherit({\r\n text: function() {\r\n return (this._value !== EMPTY_CHAR ? this._value : this.maskChar) + this.next().text()\r\n },\r\n value: function() {\r\n return this._value + this.next().value()\r\n },\r\n rawValue: function() {\r\n return this._value + this.next().rawValue()\r\n },\r\n handle: function(args) {\r\n var str = Object.prototype.hasOwnProperty.call(args, \"value\") ? args.value : args.text;\r\n if (!str || !str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char, args);\r\n return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n })) + 1 : this.handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }))\r\n },\r\n clear: function(args) {\r\n this._tryAcceptChar(EMPTY_CHAR, args);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n reset: function() {\r\n this._accepted(false);\r\n this.next().reset()\r\n },\r\n _tryAcceptChar: function(char, args) {\r\n this._accepted(false);\r\n if (!this._isAllowed(char, args)) {\r\n return\r\n }\r\n var acceptedChar = char === EMPTY_CHAR ? this.maskChar : char;\r\n args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1);\r\n this._accepted(true);\r\n this._value = char\r\n },\r\n _accepted: function(value) {\r\n if (!arguments.length) {\r\n return !!this._isAccepted\r\n }\r\n this._isAccepted = !!value\r\n },\r\n first: function(index) {\r\n return this._value === EMPTY_CHAR ? index || 0 : this.callBase(index)\r\n },\r\n _isAllowed: function(char, args) {\r\n if (char === EMPTY_CHAR) {\r\n return true\r\n }\r\n return this._isValid(char, args)\r\n },\r\n _isValid: function(char, args) {\r\n var allowedChars = this.allowedChars;\r\n if (allowedChars instanceof RegExp) {\r\n return allowedChars.test(char)\r\n }\r\n if (isFunction(allowedChars)) {\r\n return allowedChars(char, args.index, args.fullText)\r\n }\r\n if (Array.isArray(allowedChars)) {\r\n return allowedChars.includes(char)\r\n }\r\n return allowedChars === char\r\n },\r\n isAccepted: function(caret) {\r\n return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret) {\r\n return index\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char) || index + 1\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return caret\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1) || index + 1\r\n },\r\n isValid: function(args) {\r\n return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\nexport var StubMaskRule = MaskRule.inherit({\r\n value: function() {\r\n return this.next().value()\r\n },\r\n handle: function(args) {\r\n var hasValueProperty = Object.prototype.hasOwnProperty.call(args, \"value\");\r\n var str = hasValueProperty ? args.value : args.text;\r\n if (!str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start || hasValueProperty) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start && args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char);\r\n var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }) : args;\r\n return this.next().handle(nextArgs) + 1\r\n },\r\n clear: function(args) {\r\n this._accepted(false);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n _tryAcceptChar: function(char) {\r\n this._accepted(this._isValid(char))\r\n },\r\n _isValid: function(char) {\r\n return char === this.maskChar\r\n },\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret && char === this.maskChar) {\r\n return index\r\n }\r\n if (caret === index + 1 && this._accepted()) {\r\n return caret\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char)\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return 0\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1)\r\n },\r\n isValid: function(args) {\r\n return this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.clear.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport TextEditorButton from \"./texteditor_button_collection/button\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport pointer from \"../../events/pointer\";\r\nimport {\r\n name as click\r\n} from \"../../events/click\";\r\nvar pointerDown = pointer.down;\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar TEXTEDITOR_CLEAR_ICON_CLASS = \"dx-icon-clear\";\r\nvar TEXTEDITOR_ICON_CLASS = \"dx-icon\";\r\nvar TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS = \"dx-show-clear-button\";\r\nexport default class ClearButton extends TextEditorButton {\r\n _create() {\r\n var $element = $(\"<span>\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append($(\"<span>\").addClass(TEXTEDITOR_ICON_CLASS).addClass(TEXTEDITOR_CLEAR_ICON_CLASS));\r\n this._addToContainer($element);\r\n this.update(true);\r\n return {\r\n instance: $element,\r\n $element: $element\r\n }\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor._isClearButtonVisible()\r\n }\r\n _attachEvents(instance, $button) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var editorName = editor.NAME;\r\n eventsEngine.on($button, addNamespace(pointerDown, editorName), e => {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n });\r\n eventsEngine.on($button, addNamespace(click, editorName), e => editor._clearValueHandler(e))\r\n }\r\n _legacyRender($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n }\r\n update() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && super.update();\r\n var {\r\n editor: editor,\r\n instance: instance\r\n } = this;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n instance && instance.toggleClass(STATE_INVISIBLE_CLASS, !isVisible);\r\n this._legacyRender($editor, isVisible)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport TextEditorButton from \"./button\";\r\nimport Button from \"../../button\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport eventsEngine from \"../../../events/core/events_engine\";\r\nimport {\r\n start,\r\n end\r\n} from \"../../../events/hover\";\r\nimport {\r\n name as clickEventName\r\n} from \"../../../events/click\";\r\nvar CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nexport default class CustomButton extends TextEditorButton {\r\n _attachEvents(instance, $element) {\r\n var {\r\n editor: editor\r\n } = this;\r\n eventsEngine.on($element, start, () => {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, end, () => {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n eventsEngine.on($element, clickEventName, e => {\r\n e.stopPropagation()\r\n })\r\n }\r\n _create() {\r\n var {\r\n editor: editor\r\n } = this;\r\n var $element = $(\"<div>\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, Button, extend({}, this.options, {\r\n ignoreParentReadOnly: true,\r\n disabled: this._isDisabled(),\r\n integrationOptions: this._prepareIntegrationOptions(editor)\r\n }));\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n }\r\n _prepareIntegrationOptions(editor) {\r\n return extend({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n }\r\n update() {\r\n var isUpdated = super.update();\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n }\r\n _isVisible() {\r\n var {\r\n editor: editor\r\n } = this;\r\n return editor.option(\"visible\")\r\n }\r\n _isDisabled() {\r\n var isDefinedByUser = void 0 !== this.options.disabled;\r\n if (isDefinedByUser) {\r\n return this.instance ? this.instance.option(\"disabled\") : this.options.disabled\r\n } else {\r\n return this.editor.option(\"readOnly\")\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../../core/renderer\";\r\nimport CustomButton from \"./custom\";\r\nimport {\r\n extend\r\n} from \"../../../core/utils/extend\";\r\nimport errors from \"../../widget/ui.errors\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n (() => {\r\n if (!buttonInfo || \"object\" !== typeof buttonInfo || Array.isArray(buttonInfo)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n })();\r\n (() => {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw errors.Error(\"E1054\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n name: name\r\n } = buttonInfo;\r\n if (\"string\" !== typeof name) {\r\n throw errors.Error(\"E1055\")\r\n }\r\n })();\r\n (() => {\r\n var {\r\n location: location\r\n } = buttonInfo;\r\n if (\"location\" in buttonInfo && \"after\" !== location && \"before\" !== location) {\r\n buttonInfo.location = \"after\"\r\n }\r\n })()\r\n}\r\n\r\nfunction checkNamesUniqueness(existingNames, newName) {\r\n if (-1 !== existingNames.indexOf(newName)) {\r\n throw errors.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!predefinedButtonsInfo.find(info => info.name === name)\r\n}\r\nexport default class TextEditorButtonCollection {\r\n constructor(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n _compileButtonInfo(buttons) {\r\n var names = [];\r\n return buttons.map(button => {\r\n var isStringButton = \"string\" === typeof button;\r\n if (!isStringButton) {\r\n checkButtonInfo(button)\r\n }\r\n var isDefaultButton = isStringButton || isPredefinedButtonName(button.name, this.defaultButtonsInfo);\r\n if (isDefaultButton) {\r\n var defaultButtonInfo = this.defaultButtonsInfo.find(_ref => {\r\n var {\r\n name: name\r\n } = _ref;\r\n return name === button || name === button.name\r\n });\r\n if (!defaultButtonInfo) {\r\n throw errors.Error(\"E1056\", this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var {\r\n name: name\r\n } = button;\r\n checkNamesUniqueness(names, name);\r\n return extend(button, {\r\n Ctor: CustomButton\r\n })\r\n }\r\n })\r\n }\r\n _createButton(buttonsInfo) {\r\n var {\r\n Ctor: Ctor,\r\n options: options,\r\n name: name\r\n } = buttonsInfo;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n }\r\n _renderButtons(buttons, $container, targetLocation) {\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n buttonsInfo.forEach(buttonsInfo => {\r\n var {\r\n location: location = \"after\"\r\n } = buttonsInfo;\r\n if (location === targetLocation) {\r\n this._createButton(buttonsInfo).render((() => {\r\n $buttonsContainer = $buttonsContainer || $(\"<div>\").addClass(TEXTEDITOR_BUTTONS_CONTAINER_CLASS);\r\n \"before\" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer);\r\n return $buttonsContainer\r\n })())\r\n }\r\n });\r\n return $buttonsContainer\r\n }\r\n clean() {\r\n this.buttons.forEach(button => button.dispose());\r\n this.buttons = []\r\n }\r\n getButton(buttonName) {\r\n var button = this.buttons.find(_ref2 => {\r\n var {\r\n name: name\r\n } = _ref2;\r\n return name === buttonName\r\n });\r\n return button && button.instance\r\n }\r\n renderAfterButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n }\r\n renderBeforeButtons(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n }\r\n updateButtons(names) {\r\n this.buttons.forEach(button => {\r\n if (!names || -1 !== names.indexOf(button.name)) {\r\n button.update()\r\n }\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.label.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Guid from \"../../core/guid\";\r\nvar TEXTEDITOR_LABEL_CLASS = \"dx-texteditor-label\";\r\nvar TEXTEDITOR_WITH_LABEL_CLASS = \"dx-texteditor-with-label\";\r\nvar TEXTEDITOR_WITH_FLOATING_LABEL_CLASS = \"dx-texteditor-with-floating-label\";\r\nvar TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS = \"dx-texteditor-with-before-buttons\";\r\nvar LABEL_BEFORE_CLASS = \"dx-label-before\";\r\nvar LABEL_CLASS = \"dx-label\";\r\nvar LABEL_AFTER_CLASS = \"dx-label-after\";\r\nclass TextEditorLabel {\r\n constructor(_ref) {\r\n var {\r\n $editor: $editor,\r\n text: text,\r\n mode: mode,\r\n mark: mark,\r\n containsButtonsBefore: containsButtonsBefore,\r\n containerWidth: containerWidth,\r\n beforeWidth: beforeWidth\r\n } = _ref;\r\n this._props = {\r\n $editor: $editor,\r\n text: text,\r\n mode: mode,\r\n mark: mark,\r\n containsButtonsBefore: containsButtonsBefore,\r\n containerWidth: containerWidth,\r\n beforeWidth: beforeWidth\r\n };\r\n this._id = \"\".concat(TEXTEDITOR_LABEL_CLASS, \"-\").concat(new Guid);\r\n this._render();\r\n this._toggleMarkupVisibility()\r\n }\r\n _isVisible() {\r\n return !!this._props.text && \"hidden\" !== this._props.mode\r\n }\r\n _render() {\r\n this._$before = $(\"<div>\").addClass(LABEL_BEFORE_CLASS);\r\n this._$labelSpan = $(\"<span>\");\r\n this._$label = $(\"<div>\").addClass(LABEL_CLASS).append(this._$labelSpan);\r\n this._$after = $(\"<div>\").addClass(LABEL_AFTER_CLASS);\r\n this._$root = $(\"<div>\").addClass(TEXTEDITOR_LABEL_CLASS).attr(\"id\", this._id).append(this._$before).append(this._$label).append(this._$after);\r\n this._updateMark();\r\n this._updateText();\r\n this._updateBeforeWidth();\r\n this._updateMaxWidth()\r\n }\r\n _toggleMarkupVisibility() {\r\n var visible = this._isVisible();\r\n this._updateEditorBeforeButtonsClass(visible);\r\n this._updateEditorLabelClass(visible);\r\n visible ? this._$root.appendTo(this._props.$editor) : this._$root.detach()\r\n }\r\n _updateEditorLabelClass(visible) {\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_FLOATING_LABEL_CLASS).removeClass(TEXTEDITOR_WITH_LABEL_CLASS);\r\n if (visible) {\r\n var labelClass = \"floating\" === this._props.mode ? TEXTEDITOR_WITH_FLOATING_LABEL_CLASS : TEXTEDITOR_WITH_LABEL_CLASS;\r\n this._props.$editor.addClass(labelClass)\r\n }\r\n }\r\n _updateEditorBeforeButtonsClass() {\r\n var visible = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._isVisible();\r\n this._props.$editor.removeClass(TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS);\r\n if (visible) {\r\n var beforeButtonsClass = this._props.containsButtonsBefore ? TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS : \"\";\r\n this._props.$editor.addClass(beforeButtonsClass)\r\n }\r\n }\r\n _updateMark() {\r\n this._$labelSpan.attr(\"data-mark\", this._props.mark)\r\n }\r\n _updateText() {\r\n this._$labelSpan.text(this._props.text)\r\n }\r\n _updateBeforeWidth() {\r\n this._$before.css({\r\n width: this._props.beforeWidth\r\n })\r\n }\r\n _updateMaxWidth() {\r\n this._$label.css({\r\n maxWidth: this._props.containerWidth\r\n })\r\n }\r\n $element() {\r\n return this._$root\r\n }\r\n isVisible() {\r\n return this._isVisible()\r\n }\r\n getId() {\r\n if (this._isVisible()) {\r\n return this._id\r\n }\r\n }\r\n updateMode(mode) {\r\n this._props.mode = mode;\r\n this._toggleMarkupVisibility()\r\n }\r\n updateText(text) {\r\n this._props.text = text;\r\n this._updateText();\r\n this._toggleMarkupVisibility()\r\n }\r\n updateMark(mark) {\r\n this._props.mark = mark;\r\n this._updateMark()\r\n }\r\n updateContainsButtonsBefore(containsButtonsBefore) {\r\n this._props.containsButtonsBefore = containsButtonsBefore;\r\n this._updateEditorBeforeButtonsClass()\r\n }\r\n updateBeforeWidth(beforeWidth) {\r\n this._props.beforeWidth = beforeWidth;\r\n this._updateBeforeWidth()\r\n }\r\n updateMaxWidth(containerWidth) {\r\n this._props.containerWidth = containerWidth;\r\n this._updateMaxWidth()\r\n }\r\n}\r\nexport {\r\n TextEditorLabel\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n current,\r\n isMaterial\r\n} from \"../themes\";\r\nimport devices from \"../../core/devices\";\r\nimport Editor from \"../editor/editor\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport ClearButton from \"./ui.text_editor.clear\";\r\nimport TextEditorButtonCollection from \"./texteditor_button_collection/index\";\r\nimport config from \"../../core/config\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport LoadIndicator from \"../load_indicator\";\r\nimport {\r\n TextEditorLabel\r\n} from \"./ui.text_editor.label\";\r\nimport {\r\n getWidth\r\n} from \"../../core/utils/size\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport Guid from \"../../core/guid\";\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_SELECTOR = \".\" + TEXTEDITOR_INPUT_CLASS;\r\nvar TEXTEDITOR_CONTAINER_CLASS = \"dx-texteditor-container\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\nvar TEXTEDITOR_PLACEHOLDER_CLASS = \"dx-placeholder\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar TEXTEDITOR_VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar TEXTEDITOR_VALID_CLASS = \"dx-valid\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyPress\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\"];\r\nvar CONTROL_KEYS = [\"tab\", \"enter\", \"shift\", \"control\", \"alt\", \"escape\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"upArrow\", \"rightArrow\", \"downArrow\"];\r\nvar TextEditorLabelCreator = TextEditorLabel;\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if (isDefined(buttons) && !Array.isArray(buttons)) {\r\n throw errors.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = Editor.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new TextEditorButtonCollection(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._labelContainerElement = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n buttons: void 0,\r\n value: \"\",\r\n spellcheck: false,\r\n showClearButton: false,\r\n valueChangeEvent: \"change\",\r\n placeholder: \"\",\r\n inputAttr: {},\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyDown: null,\r\n onKeyUp: null,\r\n onChange: null,\r\n onInput: null,\r\n onCut: null,\r\n onCopy: null,\r\n onPaste: null,\r\n onEnterKey: null,\r\n mode: \"text\",\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n text: void 0,\r\n displayValueFormatter: function(value) {\r\n return isDefined(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: config().editorStylingMode || \"outlined\",\r\n showValidationMark: true,\r\n label: \"\",\r\n labelMode: \"static\",\r\n labelMark: \"\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var themeName = current();\r\n return isMaterial(themeName)\r\n },\r\n options: {\r\n stylingMode: config().editorStylingMode || \"filled\",\r\n labelMode: \"floating\"\r\n }\r\n }])\r\n },\r\n _getDefaultButtons: function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: ClearButton\r\n }]\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n },\r\n _input: function() {\r\n return this.$element().find(TEXTEDITOR_INPUT_SELECTOR).first()\r\n },\r\n _isFocused: function() {\r\n return focused(this._input()) || this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element()\r\n },\r\n _buttonsContainer: function() {\r\n return this._inputWrapper().find(\".\" + TEXTEDITOR_BUTTONS_CONTAINER_CLASS).eq(0)\r\n },\r\n _isControlKey: function(key) {\r\n return -1 !== CONTROL_KEYS.indexOf(key)\r\n },\r\n _renderStylingMode: function() {\r\n this.callBase();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTEDITOR_CLASS);\r\n this._renderInput();\r\n this._renderStylingMode();\r\n this._renderInputType();\r\n this._renderPlaceholder();\r\n this._renderProps();\r\n this.callBase();\r\n this._renderValue();\r\n this._renderLabel()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._refreshValueChangeEvent();\r\n this._renderEvents();\r\n this._renderEnterKeyAction();\r\n this._renderEmptinessEvent()\r\n },\r\n _renderInput: function() {\r\n this._$buttonsContainer = this._$textEditorContainer = $(\"<div>\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = $(\"<div>\").addClass(TEXTEDITOR_INPUT_CONTAINER_CLASS).appendTo(this._$textEditorContainer);\r\n this._$textEditorInputContainer.append(this._createInput());\r\n this._renderButtonContainers()\r\n },\r\n _getInputContainer() {\r\n return this._$textEditorInputContainer\r\n },\r\n _renderPendingIndicator: function() {\r\n this.$element().addClass(TEXTEDITOR_VALIDATION_PENDING_CLASS);\r\n var $inputContainer = this._getInputContainer();\r\n var $indicatorElement = $(\"<div>\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, LoadIndicator)\r\n },\r\n _disposePendingIndicator: function() {\r\n if (!this._pendingIndicator) {\r\n return\r\n }\r\n this._pendingIndicator.dispose();\r\n this._pendingIndicator.$element().remove();\r\n this._pendingIndicator = null;\r\n this.$element().removeClass(TEXTEDITOR_VALIDATION_PENDING_CLASS)\r\n },\r\n _renderValidationState: function() {\r\n this.callBase();\r\n var isPending = \"pending\" === this.option(\"validationStatus\");\r\n var $element = this.$element();\r\n if (isPending) {\r\n !this._pendingIndicator && this._renderPendingIndicator();\r\n this._showValidMark = false\r\n } else {\r\n if (\"invalid\" === this.option(\"validationStatus\")) {\r\n this._showValidMark = false\r\n }\r\n if (!this._showValidMark && true === this.option(\"showValidationMark\")) {\r\n this._showValidMark = \"valid\" === this.option(\"validationStatus\") && !!this._pendingIndicator\r\n }\r\n this._disposePendingIndicator()\r\n }\r\n $element.toggleClass(TEXTEDITOR_VALID_CLASS, !!this._showValidMark)\r\n },\r\n _renderButtonContainers: function() {\r\n var buttons = this.option(\"buttons\");\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this._$buttonsContainer);\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this._$buttonsContainer)\r\n },\r\n _cleanButtonContainers: function() {\r\n var _this$_$beforeButtons, _this$_$afterButtonsC;\r\n null === (_this$_$beforeButtons = this._$beforeButtonsContainer) || void 0 === _this$_$beforeButtons ? void 0 : _this$_$beforeButtons.remove();\r\n null === (_this$_$afterButtonsC = this._$afterButtonsContainer) || void 0 === _this$_$afterButtonsC ? void 0 : _this$_$afterButtonsC.remove();\r\n this._buttonCollection.clean()\r\n },\r\n _clean() {\r\n this._buttonCollection.clean();\r\n this._disposePendingIndicator();\r\n this._unobserveLabelContainerResize();\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._$textEditorContainer = null;\r\n this._$buttonsContainer = null;\r\n this.callBase()\r\n },\r\n _createInput: function() {\r\n var $input = $(\"<input>\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n return $input\r\n },\r\n _setSubmitElementName: function(name) {\r\n var inputAttrName = this.option(\"inputAttr.name\");\r\n return this.callBase(name || inputAttrName || \"\")\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n var inputAttributes = extend(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS).css(\"minHeight\", this.option(\"height\") ? \"0\" : \"\")\r\n },\r\n _getDefaultAttributes: function() {\r\n var defaultAttributes = {\r\n autocomplete: \"off\"\r\n };\r\n var {\r\n ios: ios,\r\n mac: mac\r\n } = devices.real();\r\n if (ios || mac) {\r\n defaultAttributes.placeholder = \" \"\r\n }\r\n return defaultAttributes\r\n },\r\n _updateButtons: function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n },\r\n _updateButtonsStyling: function(editorStylingMode) {\r\n each(this.option(\"buttons\"), (_, _ref) => {\r\n var {\r\n options: options,\r\n name: buttonName\r\n } = _ref;\r\n if (options && !options.stylingMode && this.option(\"visible\")) {\r\n var buttonInstance = this.getButton(buttonName);\r\n buttonInstance.option && buttonInstance.option(\"stylingMode\", \"underlined\" === editorStylingMode ? \"text\" : \"contained\")\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n var renderInputPromise = this._renderInputValue();\r\n return renderInputPromise.promise()\r\n },\r\n _renderInputValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var text = this.option(\"text\");\r\n var displayValue = this.option(\"displayValue\");\r\n var displayValueFormatter = this.option(\"displayValueFormatter\");\r\n if (void 0 !== displayValue && null !== value) {\r\n text = displayValueFormatter(displayValue)\r\n } else if (!isDefined(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== (isDefined(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new Deferred).resolve()\r\n },\r\n _renderDisplayText: function(text) {\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _isValueValid: function() {\r\n if (this._input().length) {\r\n var validity = this._input().get(0).validity;\r\n if (validity) {\r\n return validity.valid\r\n }\r\n }\r\n return true\r\n },\r\n _toggleEmptiness: function(isEmpty) {\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty);\r\n this._togglePlaceholder(isEmpty)\r\n },\r\n _togglePlaceholder: function(isEmpty) {\r\n this.$element().find(\".\".concat(TEXTEDITOR_PLACEHOLDER_CLASS)).eq(0).toggleClass(STATE_INVISIBLE_CLASS, !isEmpty)\r\n },\r\n _renderProps: function() {\r\n this._toggleReadOnlyState();\r\n this._toggleSpellcheckState();\r\n this._toggleTabIndex()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n var $input = this._input();\r\n $input.prop(\"disabled\", value)\r\n },\r\n _toggleTabIndex: function() {\r\n var $input = this._input();\r\n var disabled = this.option(\"disabled\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n if (disabled || !focusStateEnabled) {\r\n $input.attr(\"tabIndex\", -1)\r\n } else {\r\n $input.removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _toggleReadOnlyState: function() {\r\n this._input().prop(\"readOnly\", this._readOnlyPropValue());\r\n this.callBase()\r\n },\r\n _readOnlyPropValue: function() {\r\n return this.option(\"readOnly\")\r\n },\r\n _toggleSpellcheckState: function() {\r\n this._input().prop(\"spellcheck\", this.option(\"spellcheck\"))\r\n },\r\n _unobserveLabelContainerResize: function() {\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.unobserve(this._labelContainerElement);\r\n this._labelContainerElement = null\r\n }\r\n },\r\n _getLabelContainer: function() {\r\n return this._input()\r\n },\r\n _getLabelContainerWidth: function() {\r\n return getWidth(this._getLabelContainer())\r\n },\r\n _getLabelBeforeWidth: function() {\r\n var buttonsBeforeWidth = this._$beforeButtonsContainer && getWidth(this._$beforeButtonsContainer);\r\n return null !== buttonsBeforeWidth && void 0 !== buttonsBeforeWidth ? buttonsBeforeWidth : 0\r\n },\r\n _updateLabelWidth: function() {\r\n this._label.updateBeforeWidth(this._getLabelBeforeWidth());\r\n this._label.updateMaxWidth(this._getLabelContainerWidth())\r\n },\r\n _getFieldElement() {\r\n return this._getLabelContainer()\r\n },\r\n _setFieldAria() {\r\n var _this$_$placeholder;\r\n var labelId = this._label.getId();\r\n var placeholderId = null === (_this$_$placeholder = this._$placeholder) || void 0 === _this$_$placeholder ? void 0 : _this$_$placeholder.attr(\"id\");\r\n var value = [labelId, placeholderId].filter(Boolean).join(\" \");\r\n var aria = {\r\n labelledby: value || void 0\r\n };\r\n this.setAria(aria, this._getFieldElement())\r\n },\r\n _renderLabel: function() {\r\n this._unobserveLabelContainerResize();\r\n this._labelContainerElement = $(this._getLabelContainer()).get(0);\r\n var {\r\n label: label,\r\n labelMode: labelMode,\r\n labelMark: labelMark\r\n } = this.option();\r\n var labelConfig = {\r\n $editor: this.$element(),\r\n text: label,\r\n mark: labelMark,\r\n mode: labelMode,\r\n containsButtonsBefore: !!this._$beforeButtonsContainer,\r\n containerWidth: this._getLabelContainerWidth(),\r\n beforeWidth: this._getLabelBeforeWidth()\r\n };\r\n this._label = new TextEditorLabelCreator(labelConfig);\r\n this._setFieldAria();\r\n if (this._labelContainerElement) {\r\n resizeObserverSingleton.observe(this._labelContainerElement, this._updateLabelWidth.bind(this))\r\n }\r\n },\r\n _renderPlaceholder: function() {\r\n this._renderPlaceholderMarkup();\r\n this._attachPlaceholderEvents()\r\n },\r\n _renderPlaceholderMarkup: function() {\r\n if (this._$placeholder) {\r\n this._$placeholder.remove();\r\n this._$placeholder = null\r\n }\r\n var $input = this._input();\r\n var placeholder = this.option(\"placeholder\");\r\n var placeholderAttributes = {\r\n id: placeholder ? \"dx-\".concat(new Guid) : void 0,\r\n \"data-dx_placeholder\": placeholder\r\n };\r\n var $placeholder = this._$placeholder = $(\"<div>\").attr(placeholderAttributes);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var startEvent = addNamespace(pointerEvents.up, this.NAME);\r\n eventsEngine.on(this._$placeholder, startEvent, () => {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n });\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || $()\r\n },\r\n _clearValueHandler: function(e) {\r\n var $input = this._input();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._clearValue();\r\n !this._isFocused() && eventsEngine.trigger($input, \"focus\");\r\n eventsEngine.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n if (this.hasActionSubscription(\"on\" + event)) {\r\n var action = this._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.on($input, addNamespace(event.toLowerCase(), this.NAME), e => {\r\n if (this._disposed) {\r\n return\r\n }\r\n action({\r\n event: e\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _refreshEvents: function() {\r\n var $input = this._input();\r\n each(EVENTS_LIST, (_, event) => {\r\n eventsEngine.off($input, addNamespace(event.toLowerCase(), this.NAME))\r\n });\r\n this._renderEvents()\r\n },\r\n _keyPressHandler: function() {\r\n this.option(\"text\", this._input().val())\r\n },\r\n _keyDownHandler: function(e) {\r\n var $input = this._input();\r\n var isCtrlEnter = e.ctrlKey && \"enter\" === normalizeKeyName(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n eventsEngine.trigger($input, \"change\")\r\n }\r\n },\r\n _getValueChangeEventOptionName: function() {\r\n return \"valueChangeEvent\"\r\n },\r\n _renderValueChangeEvent: function() {\r\n var keyPressEvent = addNamespace(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = addNamespace(this.option(this._getValueChangeEventOptionName()), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = addNamespace(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n eventsEngine.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n eventsEngine.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n eventsEngine.on($input, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _cleanValueChangeEvent: function() {\r\n var valueChangeNamespace = \".\".concat(this.NAME, \"ValueChange\");\r\n var textChangeNamespace = \".\".concat(this.NAME, \"TextChange\");\r\n eventsEngine.off(this._input(), valueChangeNamespace);\r\n eventsEngine.off(this._input(), textChangeNamespace)\r\n },\r\n _refreshValueChangeEvent: function() {\r\n this._cleanValueChangeEvent();\r\n this._renderValueChangeEvent()\r\n },\r\n _renderValueEventName: function() {\r\n return \"input change keypress\"\r\n },\r\n _focusTarget: function() {\r\n return this._input()\r\n },\r\n _focusEventTarget: function() {\r\n return this.element()\r\n },\r\n _isInput: function(element) {\r\n return element === this._input().get(0)\r\n },\r\n _preventNestedFocusEvent: function(event) {\r\n if (event.isDefaultPrevented()) {\r\n return true\r\n }\r\n var shouldPrevent = this._isNestedTarget(event.relatedTarget);\r\n if (\"focusin\" === event.type) {\r\n shouldPrevent = shouldPrevent && this._isNestedTarget(event.target) && !this._isInput(event.target)\r\n } else if (!shouldPrevent) {\r\n this._toggleFocusClass(false, this.$element())\r\n }\r\n shouldPrevent && event.preventDefault();\r\n return shouldPrevent\r\n },\r\n _isNestedTarget: function(target) {\r\n return !!this.$element().find(target).length\r\n },\r\n _focusClassTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, this._focusClassTarget($element))\r\n },\r\n _hasFocusClass: function(element) {\r\n return this.callBase($(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n eventsEngine.on($input, \"input blur\", this._toggleEmptinessEventHandler.bind(this))\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n var text = this._input().val();\r\n var isEmpty = (\"\" === text || null === text) && this._isValueValid();\r\n this._toggleEmptiness(isEmpty)\r\n },\r\n _valueChangeEventHandler: function(e, formattedValue) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", arguments.length > 1 ? formattedValue : this._input().val());\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _renderEnterKeyAction: function() {\r\n this._enterKeyAction = this._createActionByOption(\"onEnterKey\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n eventsEngine.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n eventsEngine.on(this._input(), \"keyup.onEnterKey.dxTextEditor\", this._enterKeyHandlerUp.bind(this))\r\n },\r\n _enterKeyHandlerUp: function(e) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (\"enter\" === normalizeKeyName(e)) {\r\n this._enterKeyAction({\r\n event: e\r\n })\r\n }\r\n },\r\n _updateValue: function() {\r\n this._options.silent(\"text\", null);\r\n this._renderValue()\r\n },\r\n _dispose: function() {\r\n this._enterKeyAction = void 0;\r\n this.callBase()\r\n },\r\n _getSubmitElement: function() {\r\n return this._input()\r\n },\r\n _hasActiveElement: function() {\r\n return this._input().is(domAdapter.getActiveElement(this._input()[0]))\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = args;\r\n var eventName = name.replace(\"on\", \"\");\r\n if (EVENTS_LIST.includes(eventName)) {\r\n this._refreshEvents();\r\n return\r\n }\r\n switch (name) {\r\n case \"valueChangeEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"focusStateEnabled\":\r\n this.callBase(args);\r\n this._toggleTabIndex();\r\n break;\r\n case \"spellcheck\":\r\n this._toggleSpellcheckState();\r\n break;\r\n case \"mode\":\r\n this._renderInputType();\r\n break;\r\n case \"onEnterKey\":\r\n this._renderEnterKeyAction();\r\n break;\r\n case \"placeholder\":\r\n this._renderPlaceholder();\r\n this._setFieldAria();\r\n break;\r\n case \"label\":\r\n this._label.updateText(value);\r\n this._setFieldAria();\r\n break;\r\n case \"labelMark\":\r\n this._label.updateMark(value);\r\n break;\r\n case \"labelMode\":\r\n this._label.updateMode(value);\r\n this._setFieldAria();\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n this._label.updateMaxWidth(this._getLabelContainerWidth());\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n this.callBase(args);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"text\":\r\n break;\r\n case \"value\":\r\n this._updateValue();\r\n this.callBase(args);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this._input(), this.option(name));\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n this._updateLabelWidth();\r\n break;\r\n case \"buttons\":\r\n if (fullName === name) {\r\n checkButtonsOptionType(value)\r\n }\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"));\r\n this._updateLabelWidth();\r\n this._label.updateContainsButtonsBefore(!!this._$beforeButtonsContainer);\r\n break;\r\n case \"visible\":\r\n this.callBase(args);\r\n if (value && this.option(\"buttons\")) {\r\n this._cleanButtonContainers();\r\n this._renderButtonContainers();\r\n this._updateButtonsStyling(this.option(\"stylingMode\"))\r\n }\r\n break;\r\n case \"displayValueFormatter\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationMark\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderInputType: function() {\r\n this._setInputType(this.option(\"mode\"))\r\n },\r\n _setInputType: function(type) {\r\n var input = this._input();\r\n if (\"search\" === type) {\r\n type = \"text\"\r\n }\r\n try {\r\n input.prop(\"type\", type)\r\n } catch (e) {\r\n input.prop(\"type\", \"text\")\r\n }\r\n },\r\n getButton(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n eventsEngine.trigger(this._input(), \"focus\")\r\n },\r\n reset: function() {\r\n if (this._showValidMark) {\r\n this._showValidMark = false;\r\n this._renderValidationState()\r\n }\r\n var defaultOptions = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultOptions.value) {\r\n this._options.silent(\"text\", \"\");\r\n this._renderValue()\r\n } else {\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var result = this.callBase(eventName, eventHandler);\r\n var event = eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (EVENTS_LIST.indexOf(event) >= 0) {\r\n this._refreshEvents()\r\n }\r\n return result\r\n }\r\n});\r\nexport default TextEditorBase;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.strategy.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport EventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport {\r\n clipboardText as getClipboardText\r\n} from \"../../core/utils/dom\";\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nvar DELETE_INPUT_TYPES = [\"deleteContentBackward\", \"deleteSoftLineBackward\", \"deleteContent\", \"deleteHardLineBackward\"];\r\nvar HISTORY_INPUT_TYPES = [\"historyUndo\", \"historyRedo\"];\r\nvar EVENT_NAMES = [\"focusIn\", \"focusOut\", \"input\", \"paste\", \"cut\", \"drop\", \"beforeInput\"];\r\n\r\nfunction getEmptyString(length) {\r\n return EMPTY_CHAR.repeat(length)\r\n}\r\nexport default class MaskStrategy {\r\n constructor(editor) {\r\n this.editor = editor\r\n }\r\n _editorOption() {\r\n return this.editor.option(...arguments)\r\n }\r\n _editorInput() {\r\n return this.editor._input()\r\n }\r\n _editorCaret(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n }\r\n _attachChangeEventHandler() {\r\n if (!this._editorOption(\"valueChangeEvent\").split(\" \").includes(\"change\")) {\r\n return\r\n }\r\n var $input = this._editorInput();\r\n var namespace = addNamespace(BLUR_EVENT, MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, namespace, e => {\r\n this.editor._changeHandler(e)\r\n })\r\n }\r\n _beforeInputHandler() {\r\n this._previousText = this._editorOption(\"text\");\r\n this._prevCaret = this._editorCaret()\r\n }\r\n _inputHandler(event) {\r\n var {\r\n originalEvent: originalEvent\r\n } = event;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var {\r\n inputType: inputType\r\n } = originalEvent;\r\n if (HISTORY_INPUT_TYPES.includes(inputType)) {\r\n this._handleHistoryInputEvent()\r\n } else if (DELETE_INPUT_TYPES.includes(inputType)) {\r\n this._handleBackwardDeleteInputEvent()\r\n } else {\r\n var currentCaret = this._editorCaret();\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._clearSelectedText();\r\n this._autoFillHandler(originalEvent);\r\n this._editorCaret(currentCaret);\r\n this._handleInsertTextInputEvent(originalEvent.data)\r\n }\r\n if (this._editorOption(\"text\") === this._previousText) {\r\n event.stopImmediatePropagation()\r\n }\r\n }\r\n _handleHistoryInputEvent() {\r\n var caret = this._editorCaret();\r\n this._updateEditorMask({\r\n start: caret.start,\r\n length: caret.end - caret.start,\r\n text: \"\"\r\n });\r\n this._editorCaret(this._prevCaret)\r\n }\r\n _handleBackwardDeleteInputEvent() {\r\n this._clearSelectedText();\r\n var caret = this._editorCaret();\r\n this.editor.setForwardDirection();\r\n this.editor._adjustCaret();\r\n var adjustedForwardCaret = this._editorCaret();\r\n if (adjustedForwardCaret.start !== caret.start) {\r\n this.editor.setBackwardDirection();\r\n this.editor._adjustCaret()\r\n }\r\n }\r\n _clearSelectedText() {\r\n var _this$_prevCaret, _this$_prevCaret2;\r\n var length = (null === (_this$_prevCaret = this._prevCaret) || void 0 === _this$_prevCaret ? void 0 : _this$_prevCaret.end) - (null === (_this$_prevCaret2 = this._prevCaret) || void 0 === _this$_prevCaret2 ? void 0 : _this$_prevCaret2.start) || 1;\r\n var caret = this._editorCaret();\r\n if (!this._isAutoFill()) {\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: caret.start,\r\n length: length,\r\n text: getEmptyString(length)\r\n })\r\n }\r\n }\r\n _handleInsertTextInputEvent(data) {\r\n var _this$_prevCaret$star, _this$_prevCaret3;\r\n var text = null !== data && void 0 !== data ? data : \"\";\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: null !== (_this$_prevCaret$star = null === (_this$_prevCaret3 = this._prevCaret) || void 0 === _this$_prevCaret3 ? void 0 : _this$_prevCaret3.start) && void 0 !== _this$_prevCaret$star ? _this$_prevCaret$star : 0,\r\n length: text.length || 1,\r\n text: text\r\n });\r\n if (!hasValidChars) {\r\n this._editorCaret(this._prevCaret)\r\n }\r\n }\r\n _updateEditorMask(args) {\r\n var textLength = args.text.length;\r\n var processedCharsCount = this.editor._handleChain(args);\r\n this.editor._displayMask();\r\n if (this.editor.isForwardDirection()) {\r\n var {\r\n start: start,\r\n end: end\r\n } = this._editorCaret();\r\n var correction = processedCharsCount - textLength;\r\n var hasSkippedStub = processedCharsCount > 1;\r\n if (hasSkippedStub && 1 === textLength) {\r\n this._editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor._adjustCaret()\r\n }\r\n return !!processedCharsCount\r\n }\r\n _focusInHandler() {\r\n this.editor._showMaskPlaceholder();\r\n this.editor.setForwardDirection();\r\n if (!this.editor._isValueEmpty() && this._editorOption(\"isValid\")) {\r\n this.editor._adjustCaret()\r\n } else {\r\n var caret = this.editor._maskRulesChain.first();\r\n this._caretTimeout = setTimeout(() => {\r\n this._editorCaret({\r\n start: caret,\r\n end: caret\r\n })\r\n }, 0)\r\n }\r\n }\r\n _focusOutHandler(event) {\r\n this.editor._changeHandler(event);\r\n if (\"onFocus\" === this._editorOption(\"showMaskMode\") && this.editor._isValueEmpty()) {\r\n this._editorOption(\"text\", \"\");\r\n this.editor._renderDisplayText(\"\")\r\n }\r\n }\r\n _delHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n editor._maskKeyHandler(event, () => {\r\n if (!editor._hasSelection()) {\r\n editor._handleKey(EMPTY_CHAR)\r\n }\r\n })\r\n }\r\n _cutHandler(event) {\r\n var caret = this._editorCaret();\r\n var selectedText = this._editorInput().val().substring(caret.start, caret.end);\r\n this.editor._maskKeyHandler(event, () => getClipboardText(event, selectedText))\r\n }\r\n _dropHandler() {\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout(() => {\r\n var value = this.editor._convertToValue(this._editorInput().val());\r\n this._editorOption(\"value\", value)\r\n })\r\n }\r\n _pasteHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n if (this._editorOption(\"disabled\")) {\r\n return\r\n }\r\n var caret = this._editorCaret();\r\n editor._maskKeyHandler(event, () => {\r\n var pastedText = getClipboardText(event);\r\n var restText = editor._maskRulesChain.text().substring(caret.end);\r\n var accepted = editor._handleChain({\r\n text: pastedText,\r\n start: caret.start,\r\n length: pastedText.length\r\n });\r\n var newCaret = caret.start + accepted;\r\n editor._handleChain({\r\n text: restText,\r\n start: newCaret,\r\n length: restText.length\r\n });\r\n editor._caret({\r\n start: newCaret,\r\n end: newCaret\r\n })\r\n })\r\n }\r\n _autoFillHandler(event) {\r\n var {\r\n editor: editor\r\n } = this;\r\n var inputVal = this._editorInput().val();\r\n this._inputHandlerTimer = setTimeout(() => {\r\n if (this._isAutoFill()) {\r\n editor._maskKeyHandler(event, () => {\r\n editor._handleChain({\r\n text: inputVal,\r\n start: 0,\r\n length: inputVal.length\r\n })\r\n });\r\n editor._validateMask()\r\n }\r\n })\r\n }\r\n _isAutoFill() {\r\n var $input = this._editorInput();\r\n if (browser.webkit) {\r\n var _input$matches;\r\n var input = $input.get(0);\r\n return null !== (_input$matches = null === input || void 0 === input ? void 0 : input.matches(\":-webkit-autofill\")) && void 0 !== _input$matches ? _input$matches : false\r\n }\r\n return false\r\n }\r\n _clearDragTimer() {\r\n clearTimeout(this._dragTimer)\r\n }\r\n getHandler(handlerName) {\r\n return args => {\r\n var _this;\r\n null === (_this = this[\"_\".concat(handlerName, \"Handler\")]) || void 0 === _this ? void 0 : _this.call(this, args)\r\n }\r\n }\r\n attachEvents() {\r\n var $input = this._editorInput();\r\n EVENT_NAMES.forEach(eventName => {\r\n var namespace = addNamespace(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n EventsEngine.on($input, namespace, this.getHandler(eventName))\r\n });\r\n this._attachChangeEventHandler()\r\n }\r\n detachEvents() {\r\n EventsEngine.off(this._editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n }\r\n clean() {\r\n this._clearDragTimer();\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.mask.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport caretUtils from \"./utils.caret\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n addNamespace,\r\n createEvent,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../widget/selectors\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isEmpty\r\n} from \"../../core/utils/string\";\r\nimport {\r\n name as wheelEventName\r\n} from \"../../events/core/wheel\";\r\nimport {\r\n EmptyMaskRule,\r\n StubMaskRule,\r\n MaskRule\r\n} from \"./ui.text_editor.mask.rule\";\r\nimport TextEditorBase from \"./ui.text_editor.base\";\r\nimport MaskStrategy from \"./ui.text_editor.mask.strategy\";\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = caretUtils;\r\nvar EMPTY_CHAR = \" \";\r\nvar ESCAPED_CHAR = \"\\\\\";\r\nvar TEXTEDITOR_MASKED_CLASS = \"dx-texteditor-masked\";\r\nvar FORWARD_DIRECTION = \"forward\";\r\nvar BACKWARD_DIRECTION = \"backward\";\r\nvar buildInMaskRules = {\r\n 0: /[0-9]/,\r\n 9: /[0-9\\s]/,\r\n \"#\": /[-+0-9\\s]/,\r\n L: function(char) {\r\n return isLiteralChar(char)\r\n },\r\n l: function(char) {\r\n return isLiteralChar(char) || isSpaceChar(char)\r\n },\r\n C: /\\S/,\r\n c: /./,\r\n A: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char)\r\n },\r\n a: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char)\r\n }\r\n};\r\n\r\nfunction isNumericChar(char) {\r\n return /[0-9]/.test(char)\r\n}\r\n\r\nfunction isLiteralChar(char) {\r\n var code = char.charCodeAt();\r\n return 64 < code && code < 91 || 96 < code && code < 123 || code > 127\r\n}\r\n\r\nfunction isSpaceChar(char) {\r\n return \" \" === char\r\n}\r\nvar TextEditorMask = TextEditorBase.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: messageLocalization.format(\"validation-mask\"),\r\n useMaskedValue: false,\r\n showMaskMode: \"always\"\r\n })\r\n },\r\n _supportedKeys: function() {\r\n var that = this;\r\n var keyHandlerMap = {\r\n del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n each(keyHandlerMap, (function(key, callback) {\r\n var parentHandler = result[key];\r\n result[key] = function(e) {\r\n that.option(\"mask\") && callback.call(that, e);\r\n parentHandler && parentHandler(e)\r\n }\r\n }));\r\n return result\r\n },\r\n _getSubmitElement: function() {\r\n return !this.option(\"mask\") ? this.callBase() : this._$hiddenElement\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initMaskStrategy()\r\n },\r\n _initMaskStrategy: function() {\r\n this._maskStrategy = new MaskStrategy(this)\r\n },\r\n _initMarkup: function() {\r\n this._renderHiddenElement();\r\n this.callBase()\r\n },\r\n _attachMouseWheelEventHandlers: function() {\r\n var hasMouseWheelHandler = this._onMouseWheel !== noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = addNamespace(wheelEventName, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var {\r\n event: event\r\n } = e;\r\n if (focused(input) && !isCommandKeyPressed(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n eventsEngine.off(input, eventName);\r\n eventsEngine.on(input, eventName, (function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n }))\r\n },\r\n _onMouseWheel: noop,\r\n _render: function() {\r\n this._renderMask();\r\n this.callBase();\r\n this._attachMouseWheelEventHandlers()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = $(\"<input>\").attr(\"type\", \"hidden\").appendTo(this._inputWrapper())\r\n }\r\n },\r\n _removeHiddenElement: function() {\r\n this._$hiddenElement && this._$hiddenElement.remove()\r\n },\r\n _renderMask: function() {\r\n this.$element().removeClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskRulesChain = null;\r\n this._maskStrategy.detachEvents();\r\n if (!this.option(\"mask\")) {\r\n return\r\n }\r\n this.$element().addClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskStrategy.attachEvents();\r\n this._parseMask();\r\n this._renderMaskedValue()\r\n },\r\n _suppressCaretChanging: function(callback, args) {\r\n caret = stubCaret;\r\n try {\r\n callback.apply(this, args)\r\n } finally {\r\n caret = caretUtils\r\n }\r\n },\r\n _changeHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = $input.val();\r\n if (inputValue === this._changedValue) {\r\n return\r\n }\r\n this._changedValue = inputValue;\r\n var changeEvent = createEvent(e, {\r\n type: \"change\"\r\n });\r\n eventsEngine.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = extend({}, buildInMaskRules, this.option(\"maskRules\"));\r\n this._maskRulesChain = this._parseMaskRule(0)\r\n },\r\n _parseMaskRule: function(index) {\r\n var mask = this.option(\"mask\");\r\n if (index >= mask.length) {\r\n return new EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new StubMaskRule({\r\n maskChar: mask[index + 1]\r\n }) : this._getMaskRule(currentMaskChar);\r\n result.next(this._parseMaskRule(index + 1 + isEscapedChar));\r\n return result\r\n },\r\n _getMaskRule: function(pattern) {\r\n var ruleConfig;\r\n each(this._maskRules, (function(rulePattern, allowedChars) {\r\n if (rulePattern === pattern) {\r\n ruleConfig = {\r\n pattern: rulePattern,\r\n allowedChars: allowedChars\r\n };\r\n return false\r\n }\r\n }));\r\n return isDefined(ruleConfig) ? new MaskRule(extend({\r\n maskChar: this.option(\"maskChar\")\r\n }, ruleConfig)) : new StubMaskRule({\r\n maskChar: pattern\r\n })\r\n },\r\n _renderMaskedValue: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var value = this.option(\"value\") || \"\";\r\n this._maskRulesChain.clear(this._normalizeChainArguments());\r\n var chainArgs = {\r\n length: value.length\r\n };\r\n chainArgs[this._isMaskedValueMode() ? \"text\" : \"value\"] = value;\r\n this._handleChain(chainArgs);\r\n this._displayMask()\r\n },\r\n _replaceSelectedText: function(text, selection, char) {\r\n if (void 0 === char) {\r\n return text\r\n }\r\n var textBefore = text.slice(0, selection.start);\r\n var textAfter = text.slice(selection.end);\r\n var edited = textBefore + char + textAfter;\r\n return edited\r\n },\r\n _isMaskedValueMode: function() {\r\n return this.option(\"useMaskedValue\")\r\n },\r\n _displayMask: function(caret) {\r\n caret = caret || this._caret();\r\n this._renderValue();\r\n this._caret(caret)\r\n },\r\n _isValueEmpty: function() {\r\n return isEmpty(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return focused(this._input()) || !this._isValueEmpty()\r\n }\r\n return true\r\n },\r\n _showMaskPlaceholder: function() {\r\n if (this._shouldShowMask()) {\r\n var text = this._maskRulesChain.text();\r\n this.option(\"text\", text);\r\n if (\"onFocus\" === this.option(\"showMaskMode\")) {\r\n this._renderDisplayText(text)\r\n }\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._maskRulesChain) {\r\n this._showMaskPlaceholder();\r\n if (this._$hiddenElement) {\r\n var value = this._maskRulesChain.value();\r\n var submitElementValue = !isEmpty(value) ? this._getPreparedValue() : \"\";\r\n this._$hiddenElement.val(submitElementValue)\r\n }\r\n }\r\n return this.callBase()\r\n },\r\n _getPreparedValue: function() {\r\n return this._convertToValue().replace(/\\s+$/, \"\")\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._maskRulesChain) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this._getPreparedValue())\r\n },\r\n _isControlKeyFired: function(e) {\r\n return this._isControlKey(normalizeKeyName(e)) || isCommandKeyPressed(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._value = this._maskRulesChain.value();\r\n this._textValue = this._maskRulesChain.text();\r\n return handledCount\r\n },\r\n _normalizeChainArguments: function(args) {\r\n args = args || {};\r\n args.index = 0;\r\n args.fullText = this._maskRulesChain.text();\r\n return args\r\n },\r\n _convertToValue: function(text) {\r\n if (this._isMaskedValueMode()) {\r\n text = this._replaceMaskCharWithEmpty(text || this._textValue || \"\")\r\n } else {\r\n text = text || this._value || \"\"\r\n }\r\n return text\r\n },\r\n _replaceMaskCharWithEmpty: function(text) {\r\n return text.replace(new RegExp(this.option(\"maskChar\"), \"g\"), EMPTY_CHAR)\r\n },\r\n _maskKeyHandler: function(e, keyHandler) {\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this.setForwardDirection();\r\n e.preventDefault();\r\n this._handleSelection();\r\n var previousText = this._input().val();\r\n var raiseInputEvent = () => {\r\n if (previousText !== this._input().val()) {\r\n eventsEngine.trigger(this._input(), \"input\")\r\n }\r\n };\r\n var handled = keyHandler();\r\n if (handled) {\r\n handled.then(raiseInputEvent)\r\n } else {\r\n this.setForwardDirection();\r\n this._adjustCaret();\r\n this._displayMask();\r\n this._maskRulesChain.reset();\r\n raiseInputEvent()\r\n }\r\n },\r\n _handleKey: function(key, direction) {\r\n this._direction(direction || FORWARD_DIRECTION);\r\n this._adjustCaret(key);\r\n this._handleKeyChain(key);\r\n this._moveCaret()\r\n },\r\n _handleSelection: function() {\r\n if (!this._hasSelection()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n var emptyChars = new Array(caret.end - caret.start + 1).join(EMPTY_CHAR);\r\n this._handleKeyChain(emptyChars)\r\n },\r\n _handleKeyChain: function(chars) {\r\n var caret = this._caret();\r\n var start = this.isForwardDirection() ? caret.start : caret.start - 1;\r\n var end = this.isForwardDirection() ? caret.end : caret.end - 1;\r\n var length = start === end ? 1 : end - start;\r\n this._handleChain({\r\n text: chars,\r\n start: start,\r\n length: length\r\n })\r\n },\r\n _tryMoveCaretBackward: function() {\r\n this.setBackwardDirection();\r\n var currentCaret = this._caret().start;\r\n this._adjustCaret();\r\n return !currentCaret || currentCaret !== this._caret().start\r\n },\r\n _adjustCaret: function(char) {\r\n var caretStart = this._caret().start;\r\n var isForwardDirection = this.isForwardDirection();\r\n var caret = this._maskRulesChain.adjustedCaret(caretStart, isForwardDirection, char);\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _moveCaret: function() {\r\n var currentCaret = this._caret().start;\r\n var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1);\r\n var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret;\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _caret: function(position, force) {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n return\r\n }\r\n if (!arguments.length) {\r\n return caret($input)\r\n }\r\n caret($input, position, force)\r\n },\r\n _hasSelection: function() {\r\n var caret = this._caret();\r\n return caret.start !== caret.end\r\n },\r\n _direction: function(direction) {\r\n if (!arguments.length) {\r\n return this._typingDirection\r\n }\r\n this._typingDirection = direction\r\n },\r\n setForwardDirection: function() {\r\n this._direction(FORWARD_DIRECTION)\r\n },\r\n setBackwardDirection: function() {\r\n this._direction(BACKWARD_DIRECTION)\r\n },\r\n isForwardDirection: function() {\r\n return this._direction() === FORWARD_DIRECTION\r\n },\r\n _clean: function() {\r\n this._maskStrategy && this._maskStrategy.clean();\r\n this.callBase()\r\n },\r\n _validateMask: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var isValid = isEmpty(this.option(\"value\")) || this._maskRulesChain.isValid(this._normalizeChainArguments());\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"maskInvalidMessage\")\r\n }\r\n })\r\n },\r\n _updateHiddenElement: function() {\r\n this._removeHiddenElement();\r\n if (this.option(\"mask\")) {\r\n this._input().removeAttr(\"name\");\r\n this._renderHiddenElement()\r\n }\r\n this._setSubmitElementName(this.option(\"name\"))\r\n },\r\n _updateMaskOption: function() {\r\n this._updateHiddenElement();\r\n this._renderMask();\r\n this._validateMask()\r\n },\r\n _processEmptyMask: function(mask) {\r\n if (mask) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n this.option({\r\n text: value,\r\n isValid: true\r\n });\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n });\r\n this._renderValue()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"mask\":\r\n this._updateMaskOption();\r\n this._processEmptyMask(args.value);\r\n break;\r\n case \"maskChar\":\r\n case \"maskRules\":\r\n case \"useMaskedValue\":\r\n this._updateMaskOption();\r\n break;\r\n case \"value\":\r\n this._renderMaskedValue();\r\n this._validateMask();\r\n this.callBase(args);\r\n this._changedValue = this._input().val();\r\n break;\r\n case \"maskInvalidMessage\":\r\n break;\r\n case \"showMaskMode\":\r\n this.option(\"text\", \"\");\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/ui.text_editor.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport TextEditorMask from \"./ui.text_editor.mask\";\r\nregisterComponent(\"dxTextEditor\", TextEditorMask);\r\nexport default TextEditorMask;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.caret.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar {\r\n ios: ios,\r\n mac: mac\r\n} = devices.real();\r\nvar isFocusingOnCaretChange = ios || mac;\r\nvar getCaret = function(input) {\r\n var range;\r\n try {\r\n range = {\r\n start: input.selectionStart,\r\n end: input.selectionEnd\r\n }\r\n } catch (e) {\r\n range = {\r\n start: 0,\r\n end: 0\r\n }\r\n }\r\n return range\r\n};\r\nvar setCaret = function(input, position) {\r\n var body = domAdapter.getBody();\r\n if (!body.contains(input) && !body.contains(input.getRootNode().host)) {\r\n return\r\n }\r\n try {\r\n input.selectionStart = position.start;\r\n input.selectionEnd = position.end\r\n } catch (e) {}\r\n};\r\nvar caret = function(input, position) {\r\n var force = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;\r\n input = $(input).get(0);\r\n if (!isDefined(position)) {\r\n return getCaret(input)\r\n }\r\n if (!force && isFocusingOnCaretChange && domAdapter.getActiveElement(input) !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nexport default caret;\r\n","/**\r\n * DevExtreme (esm/ui/text_box/utils.scroll.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDxMouseWheelEvent\r\n} from \"../../events/utils/index\";\r\nvar allowScroll = function(container, delta, shiftKey) {\r\n var $container = $(container);\r\n var scrollTopPos = shiftKey ? $container.scrollLeft() : $container.scrollTop();\r\n var prop = shiftKey ? \"Width\" : \"Height\";\r\n var scrollSize = $container.prop(\"scroll\".concat(prop));\r\n var clientSize = $container.prop(\"client\".concat(prop));\r\n var scrollBottomPos = scrollSize - clientSize - scrollTopPos | 0;\r\n if (0 === scrollTopPos && 0 === scrollBottomPos) {\r\n return false\r\n }\r\n var isScrollFromTop = 0 === scrollTopPos && delta >= 0;\r\n var isScrollFromBottom = 0 === scrollBottomPos && delta <= 0;\r\n var isScrollFromMiddle = scrollTopPos > 0 && scrollBottomPos > 0;\r\n if (isScrollFromTop || isScrollFromBottom || isScrollFromMiddle) {\r\n return true\r\n }\r\n};\r\nvar prepareScrollData = function(container, validateTarget) {\r\n var $container = $(container);\r\n return {\r\n validate: function(e) {\r\n if (isDxMouseWheelEvent(e) && (eventTarget = e.target, validateTarget ? $(eventTarget).is(container) : true)) {\r\n if (allowScroll($container, -e.delta, e.shiftKey)) {\r\n e._needSkipEvent = true;\r\n return true\r\n }\r\n return false\r\n }\r\n var eventTarget\r\n }\r\n }\r\n};\r\nexport {\r\n allowScroll,\r\n prepareScrollData\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n parseHTML\r\n} from \"../core/utils/html_parser\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n value as viewPortValue,\r\n changeCallback,\r\n originalViewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n themeReadyCallback\r\n} from \"./themes_callback\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar window = getWindow();\r\nvar ready = readyCallbacks.add;\r\nvar viewPort = viewPortValue;\r\nvar viewPortChanged = changeCallback;\r\nvar initDeferred = new Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!hasWindow()) {\r\n return null\r\n }\r\n var element = $(\"<div>\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = window.getComputedStyle(element.get(0)).fontFamily;\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\nexport function waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval((function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\nexport function isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(parseHTML(\"<link rel=stylesheet>\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = $(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n }));\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, (function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n }))\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\nexport function init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\nexport function current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if (hasWindow()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done(() => attachCssClasses(originalViewPort(), currentThemeName))\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\nexport function attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"<div>\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === getOuterHeight($tester)) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\nexport function detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\nexport function isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\nexport function isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\nexport function isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\nexport function isCompact(themeName) {\r\n return isTheme(\"compact\", themeName)\r\n}\r\nexport function isWebFontLoaded(text, fontWeight) {\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = \"Arial\";\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = \"Roboto, RobotoFallback, Arial\";\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\nexport function waitWebFont(text, fontWeight) {\r\n return new Promise(resolve => {\r\n var clear = () => {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(() => {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n }, 15);\r\n var timeoutId = setTimeout(clear, 2e3)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n}\r\nif (hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add((function(viewPort, prevViewPort) {\r\n initDeferred.done((function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n }))\r\n}));\r\ndevices.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\nexport {\r\n themeReady as ready\r\n};\r\nexport function resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new Deferred\r\n}\r\nexport function initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\nexport function setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nexport default {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isCompact: isCompact,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes_callback.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nexport var themeReadyCallback = Callbacks();\r\n","/**\r\n * DevExtreme (esm/ui/toast/ui.toast.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isString\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport Overlay from \"../overlay/ui.overlay\";\r\nimport {\r\n isMaterial\r\n} from \"../themes\";\r\nvar ready = readyCallbacks.add;\r\nvar TOAST_CLASS = \"dx-toast\";\r\nvar TOAST_CLASS_PREFIX = TOAST_CLASS + \"-\";\r\nvar TOAST_WRAPPER_CLASS = TOAST_CLASS_PREFIX + \"wrapper\";\r\nvar TOAST_CONTENT_CLASS = TOAST_CLASS_PREFIX + \"content\";\r\nvar TOAST_MESSAGE_CLASS = TOAST_CLASS_PREFIX + \"message\";\r\nvar TOAST_ICON_CLASS = TOAST_CLASS_PREFIX + \"icon\";\r\nvar WIDGET_NAME = \"dxToast\";\r\nvar toastTypes = [\"info\", \"warning\", \"error\", \"success\"];\r\nvar TOAST_STACK = [];\r\nvar FIRST_Z_INDEX_OFFSET = 8e3;\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n bottom: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: null,\r\n offset: \"0 -20\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n right: {\r\n my: \"center right\",\r\n at: \"center right\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n left: {\r\n my: \"center left\",\r\n at: \"center left\",\r\n of: null,\r\n offset: \"0 0\"\r\n }\r\n};\r\nvar DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nready((function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, (function(e) {\r\n for (var i = TOAST_STACK.length - 1; i >= 0; i--) {\r\n if (!TOAST_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n }))\r\n}));\r\nvar Toast = Overlay.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n message: \"\",\r\n type: \"info\",\r\n displayTime: 2e3,\r\n position: \"bottom center\",\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n },\r\n shading: false,\r\n height: \"auto\",\r\n hideTopOverlayHandler: null,\r\n preventScrollEvents: false,\r\n closeOnSwipe: true,\r\n closeOnClick: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n hideOnOutsideClick: true,\r\n width: \"auto\",\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 200,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 200,\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function(_device) {\r\n var isPhone = \"phone\" === _device.deviceType;\r\n var isAndroid = \"android\" === _device.platform;\r\n return isPhone && isAndroid\r\n },\r\n options: {\r\n width: \"100vw\",\r\n position: {\r\n at: \"bottom center\",\r\n my: \"bottom center\",\r\n offset: \"0 0\"\r\n }\r\n }\r\n }, {\r\n device: function(_device2) {\r\n return \"phone\" === _device2.deviceType\r\n },\r\n options: {\r\n width: \"100vw\"\r\n }\r\n }, {\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n minWidth: 344,\r\n maxWidth: 568,\r\n displayTime: 4e3\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._posStringToObject()\r\n },\r\n _renderContentImpl: function() {\r\n this._message = $(\"<div>\").addClass(TOAST_MESSAGE_CLASS).text(this.option(\"message\")).appendTo(this.$content());\r\n this.setAria(\"role\", \"alert\", this._message);\r\n if (toastTypes.includes(this.option(\"type\").toLowerCase())) {\r\n this.$content().prepend($(\"<div>\").addClass(TOAST_ICON_CLASS))\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(TOAST_CLASS);\r\n this.$wrapper().addClass(TOAST_WRAPPER_CLASS);\r\n this.$content().addClass(TOAST_CLASS_PREFIX + String(this.option(\"type\")).toLowerCase());\r\n this.$content().addClass(TOAST_CONTENT_CLASS);\r\n this._toggleCloseEvents(\"Swipe\");\r\n this._toggleCloseEvents(\"Click\")\r\n },\r\n _toggleCloseEvents: function(event) {\r\n var dxEvent = \"dx\" + event.toLowerCase();\r\n eventsEngine.off(this.$content(), dxEvent);\r\n this.option(\"closeOn\" + event) && eventsEngine.on(this.$content(), dxEvent, this.hide.bind(this))\r\n },\r\n _posStringToObject: function() {\r\n if (!isString(this.option(\"position\"))) {\r\n return\r\n }\r\n var verticalPosition = this.option(\"position\").split(\" \")[0];\r\n var horizontalPosition = this.option(\"position\").split(\" \")[1];\r\n this.option(\"position\", extend({\r\n boundaryOffset: DEFAULT_BOUNDARY_OFFSET\r\n }, POSITION_ALIASES[verticalPosition]));\r\n switch (horizontalPosition) {\r\n case \"center\":\r\n case \"left\":\r\n case \"right\":\r\n this.option(\"position\").at += \" \" + horizontalPosition;\r\n this.option(\"position\").my += \" \" + horizontalPosition\r\n }\r\n },\r\n _show: function() {\r\n return this.callBase.apply(this, arguments).always(function() {\r\n clearTimeout(this._hideTimeout);\r\n this._hideTimeout = setTimeout(this.hide.bind(this), this.option(\"displayTime\"))\r\n }.bind(this))\r\n },\r\n _overlayStack: function() {\r\n return TOAST_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return this.callBase() + FIRST_Z_INDEX_OFFSET\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._hideTimeout);\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"type\":\r\n this.$content().removeClass(TOAST_CLASS_PREFIX + args.previousValue);\r\n this.$content().addClass(TOAST_CLASS_PREFIX + String(args.value).toLowerCase());\r\n break;\r\n case \"message\":\r\n if (this._message) {\r\n this._message.text(args.value)\r\n }\r\n break;\r\n case \"closeOnSwipe\":\r\n this._toggleCloseEvents(\"Swipe\");\r\n break;\r\n case \"closeOnClick\":\r\n this._toggleCloseEvents(\"Click\");\r\n break;\r\n case \"displayTime\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(WIDGET_NAME, Toast);\r\nexport default Toast;\r\n","/**\r\n * DevExtreme (esm/ui/toast.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Toast from \"./toast/ui.toast\";\r\nexport default Toast;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/constants.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TOOLBAR_CLASS = \"dx-toolbar\";\r\n","/**\r\n * DevExtreme (esm/ui/collection/ui.collection_widget.async.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport CollectionWidgetEdit from \"./ui.collection_widget.edit\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nvar AsyncCollectionWidget = CollectionWidgetEdit.inherit({\r\n _initMarkup() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent(args) {\r\n var renderContentDeferred = new Deferred;\r\n var itemDeferred = new Deferred;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(this, args);\r\n itemDeferred.done(() => {\r\n renderContentDeferred.resolve($itemContent)\r\n });\r\n return renderContentDeferred.promise()\r\n },\r\n _onItemTemplateRendered: function(itemTemplate, renderArgs) {\r\n return () => {\r\n this._deferredItems[renderArgs.index].resolve()\r\n }\r\n },\r\n _postProcessRenderItems: noop,\r\n _renderItemsAsync() {\r\n var d = new Deferred;\r\n when.apply(this, this._deferredItems).done(() => {\r\n this._postProcessRenderItems();\r\n d.resolve()\r\n });\r\n return d.promise()\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nexport default AsyncCollectionWidget;\r\n","/**\r\n * DevExtreme (esm/ui/toolbar/ui.toolbar.base.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWidth,\r\n getOuterWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isMaterial,\r\n waitWebFont\r\n} from \"../themes\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n getBoundingRect\r\n} from \"../../core/utils/position\";\r\nimport AsyncCollectionWidget from \"../collection/ui.collection_widget.async\";\r\nimport {\r\n BindableTemplate\r\n} from \"../../core/templates/bindable_template\";\r\nimport fx from \"../../animation/fx\";\r\nimport {\r\n TOOLBAR_CLASS\r\n} from \"./constants\";\r\nvar TOOLBAR_BEFORE_CLASS = \"dx-toolbar-before\";\r\nvar TOOLBAR_CENTER_CLASS = \"dx-toolbar-center\";\r\nvar TOOLBAR_AFTER_CLASS = \"dx-toolbar-after\";\r\nvar TOOLBAR_MINI_CLASS = \"dx-toolbar-mini\";\r\nvar TOOLBAR_ITEM_CLASS = \"dx-toolbar-item\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_ITEMS_CONTAINER_CLASS = \"dx-toolbar-items-container\";\r\nvar TOOLBAR_GROUP_CLASS = \"dx-toolbar-group\";\r\nvar TOOLBAR_COMPACT_CLASS = \"dx-toolbar-compact\";\r\nvar TEXT_BUTTON_MODE = \"text\";\r\nvar DEFAULT_BUTTON_TYPE = \"default\";\r\nvar DEFAULT_DROPDOWNBUTTON_STYLING_MODE = \"contained\";\r\nvar TOOLBAR_ITEM_DATA_KEY = \"dxToolbarItemDataKey\";\r\nvar ANIMATION_TIMEOUT = 15;\r\nclass ToolbarBase extends AsyncCollectionWidget {\r\n _getSynchronizableOptionsForCreateComponent() {\r\n return super._getSynchronizableOptionsForCreateComponent().filter(item => \"disabled\" !== item)\r\n }\r\n _initTemplates() {\r\n super._initTemplates();\r\n var template = new BindableTemplate(function($container, data, rawModel) {\r\n if (isPlainObject(data)) {\r\n var {\r\n text: text,\r\n html: html,\r\n widget: widget\r\n } = data;\r\n if (text) {\r\n $container.text(text).wrapInner(\"<div>\")\r\n }\r\n if (html) {\r\n $container.html(html)\r\n }\r\n if (\"dxDropDownButton\" === widget) {\r\n var _data$options;\r\n data.options = null !== (_data$options = data.options) && void 0 !== _data$options ? _data$options : {};\r\n if (!isDefined(data.options.stylingMode)) {\r\n data.options.stylingMode = this.option(\"useFlatButtons\") ? TEXT_BUTTON_MODE : DEFAULT_DROPDOWNBUTTON_STYLING_MODE\r\n }\r\n }\r\n if (\"dxButton\" === widget) {\r\n if (this.option(\"useFlatButtons\")) {\r\n var _data$options2, _data$options$styling;\r\n data.options = null !== (_data$options2 = data.options) && void 0 !== _data$options2 ? _data$options2 : {};\r\n data.options.stylingMode = null !== (_data$options$styling = data.options.stylingMode) && void 0 !== _data$options$styling ? _data$options$styling : TEXT_BUTTON_MODE\r\n }\r\n if (this.option(\"useDefaultButtons\")) {\r\n var _data$options3, _data$options$type;\r\n data.options = null !== (_data$options3 = data.options) && void 0 !== _data$options3 ? _data$options3 : {};\r\n data.options.type = null !== (_data$options$type = data.options.type) && void 0 !== _data$options$type ? _data$options$type : DEFAULT_BUTTON_TYPE\r\n }\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: rawModel,\r\n parent: this\r\n })\r\n }.bind(this), [\"text\", \"html\", \"widget\", \"options\"], this.option(\"integrationOptions.watchMethod\"));\r\n this._templateManager.addDefaultTemplates({\r\n item: template,\r\n menuItem: template\r\n })\r\n }\r\n _getDefaultOptions() {\r\n return extend(super._getDefaultOptions(), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false\r\n })\r\n }\r\n _defaultOptionsRules() {\r\n return super._defaultOptionsRules().concat([{\r\n device: function() {\r\n return isMaterial()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n }\r\n _itemContainer() {\r\n return this._$toolbarItemsContainer.find([\".\".concat(TOOLBAR_BEFORE_CLASS), \".\".concat(TOOLBAR_CENTER_CLASS), \".\".concat(TOOLBAR_AFTER_CLASS)].join(\",\"))\r\n }\r\n _itemClass() {\r\n return TOOLBAR_ITEM_CLASS\r\n }\r\n _itemDataKey() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n }\r\n _dimensionChanged() {\r\n if (this._disposed) {\r\n return\r\n }\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n }\r\n _initMarkup() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n super._initMarkup()\r\n }\r\n _render() {\r\n super._render();\r\n this._renderItemsAsync();\r\n this._updateDimensionsInMaterial()\r\n }\r\n _postProcessRenderItems() {\r\n this._arrangeItems()\r\n }\r\n _renderToolbar() {\r\n this.$element().addClass(TOOLBAR_CLASS);\r\n this._$toolbarItemsContainer = $(\"<div>\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element());\r\n this.setAria(\"role\", \"toolbar\")\r\n }\r\n _renderSections() {\r\n var $container = this._$toolbarItemsContainer;\r\n each([\"before\", \"center\", \"after\"], (_, section) => {\r\n var sectionClass = \"dx-toolbar-\".concat(section);\r\n var $section = $container.find(\".\".concat(sectionClass));\r\n if (!$section.length) {\r\n this[\"_$\".concat(section, \"Section\")] = $(\"<div>\").addClass(sectionClass).appendTo($container)\r\n }\r\n })\r\n }\r\n _arrangeItems(elementWidth) {\r\n var _elementWidth;\r\n elementWidth = null !== (_elementWidth = elementWidth) && void 0 !== _elementWidth ? _elementWidth : getWidth(this.$element());\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n float: \"none\"\r\n });\r\n var beforeRect = getBoundingRect(this._$beforeSection.get(0));\r\n var afterRect = getBoundingRect(this._$afterSection.get(0));\r\n this._alignCenterSection(beforeRect, afterRect, elementWidth);\r\n var $label = this._$toolbarItemsContainer.find(\".\".concat(TOOLBAR_LABEL_CLASS)).eq(0);\r\n var $section = $label.parent();\r\n if (!$label.length) {\r\n return\r\n }\r\n var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left;\r\n var widthBeforeSection = $section.hasClass(TOOLBAR_BEFORE_CLASS) ? 0 : labelOffset;\r\n var widthAfterSection = $section.hasClass(TOOLBAR_AFTER_CLASS) ? 0 : afterRect.width;\r\n var elemsAtSectionWidth = 0;\r\n $section.children().not(\".\".concat(TOOLBAR_LABEL_CLASS)).each((function() {\r\n elemsAtSectionWidth += getOuterWidth(this)\r\n }));\r\n var freeSpace = elementWidth - elemsAtSectionWidth;\r\n var sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0);\r\n if ($section.hasClass(TOOLBAR_BEFORE_CLASS)) {\r\n this._alignSection(this._$beforeSection, sectionMaxWidth)\r\n } else {\r\n var labelPaddings = getOuterWidth($label) - getWidth($label);\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n }\r\n _alignCenterSection(beforeRect, afterRect, elementWidth) {\r\n this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width);\r\n var isRTL = this.option(\"rtlEnabled\");\r\n var leftRect = isRTL ? afterRect : beforeRect;\r\n var rightRect = isRTL ? beforeRect : afterRect;\r\n var centerRect = getBoundingRect(this._$centerSection.get(0));\r\n if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) {\r\n this._$centerSection.css({\r\n marginLeft: leftRect.width,\r\n marginRight: rightRect.width,\r\n float: leftRect.width > rightRect.width ? \"none\" : \"right\"\r\n })\r\n }\r\n }\r\n _alignSection($section, maxWidth) {\r\n var $labels = $section.find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var labels = $labels.toArray();\r\n maxWidth -= this._getCurrentLabelsPaddings(labels);\r\n var currentWidth = this._getCurrentLabelsWidth(labels);\r\n var difference = Math.abs(currentWidth - maxWidth);\r\n if (maxWidth < currentWidth) {\r\n labels = labels.reverse();\r\n this._alignSectionLabels(labels, difference, false)\r\n } else {\r\n this._alignSectionLabels(labels, difference, true)\r\n }\r\n }\r\n _alignSectionLabels(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return getBoundingRect(label).width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var $label = $(labels[i]);\r\n var currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i]));\r\n var labelMaxWidth = void 0;\r\n if (expanding) {\r\n $label.css(\"maxWidth\", \"inherit\")\r\n }\r\n var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth);\r\n if (possibleLabelWidth < difference) {\r\n labelMaxWidth = expanding ? possibleLabelWidth : 0;\r\n difference -= possibleLabelWidth\r\n } else {\r\n labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference;\r\n $label.css(\"maxWidth\", labelMaxWidth);\r\n break\r\n }\r\n $label.css(\"maxWidth\", labelMaxWidth)\r\n }\r\n }\r\n _applyCompactMode() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > getWidth($element)) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n }\r\n _getCurrentLabelsWidth(labels) {\r\n var width = 0;\r\n labels.forEach((function(label, index) {\r\n width += getOuterWidth(label)\r\n }));\r\n return width\r\n }\r\n _getCurrentLabelsPaddings(labels) {\r\n var padding = 0;\r\n labels.forEach((function(label, index) {\r\n padding += getOuterWidth(label) - getWidth(label)\r\n }));\r\n return padding\r\n }\r\n _renderItem(index, item, itemContainer, $after) {\r\n var _item$location, _item$text;\r\n var location = null !== (_item$location = item.location) && void 0 !== _item$location ? _item$location : \"center\";\r\n var container = null !== itemContainer && void 0 !== itemContainer ? itemContainer : this[\"_$\".concat(location, \"Section\")];\r\n var itemHasText = !!(null !== (_item$text = item.text) && void 0 !== _item$text ? _item$text : item.html);\r\n var itemElement = super._renderItem(index, item, container, $after);\r\n itemElement.toggleClass(TOOLBAR_BUTTON_CLASS, !itemHasText).toggleClass(TOOLBAR_LABEL_CLASS, itemHasText).addClass(item.cssClass);\r\n return itemElement\r\n }\r\n _renderGroupedItems() {\r\n each(this.option(\"items\"), (groupIndex, group) => {\r\n var _group$location;\r\n var groupItems = group.items;\r\n var $container = $(\"<div>\").addClass(TOOLBAR_GROUP_CLASS);\r\n var location = null !== (_group$location = group.location) && void 0 !== _group$location ? _group$location : \"center\";\r\n if (!groupItems || !groupItems.length) {\r\n return\r\n }\r\n each(groupItems, (itemIndex, item) => {\r\n this._renderItem(itemIndex, item, $container, null)\r\n });\r\n this._$toolbarItemsContainer.find(\".dx-toolbar-\".concat(location)).append($container)\r\n })\r\n }\r\n _renderItems(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : super._renderItems(items)\r\n }\r\n _getToolbarItems() {\r\n var _this$option;\r\n return null !== (_this$option = this.option(\"items\")) && void 0 !== _this$option ? _this$option : []\r\n }\r\n _renderContentImpl() {\r\n var items = this._getToolbarItems();\r\n this.$element().toggleClass(TOOLBAR_MINI_CLASS, 0 === items.length);\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n this._applyCompactMode()\r\n }\r\n _renderEmptyMessage() {}\r\n _clean() {\r\n this._$toolbarItemsContainer.children().empty();\r\n this.$element().empty();\r\n delete this._$beforeSection;\r\n delete this._$centerSection;\r\n delete this._$afterSection\r\n }\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n }\r\n _isVisible() {\r\n return getWidth(this.$element()) > 0 && getHeight(this.$element()) > 0\r\n }\r\n _getIndexByItem(item) {\r\n return this._getToolbarItems().indexOf(item)\r\n }\r\n _itemOptionChanged(item, property, value) {\r\n super._itemOptionChanged.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n }\r\n _optionChanged(_ref) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n switch (name) {\r\n case \"width\":\r\n super._optionChanged.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"renderAs\":\r\n case \"useFlatButtons\":\r\n case \"useDefaultButtons\":\r\n this._invalidate();\r\n break;\r\n case \"compactMode\":\r\n this._applyCompactMode();\r\n break;\r\n case \"grouped\":\r\n break;\r\n default:\r\n super._optionChanged.apply(this, arguments)\r\n }\r\n }\r\n _dispose() {\r\n super._dispose();\r\n clearTimeout(this._waitParentAnimationTimeout)\r\n }\r\n _updateDimensionsInMaterial() {\r\n if (isMaterial()) {\r\n Promise.all([(() => new Promise(resolve => {\r\n var check = () => {\r\n var readyToResolve = true;\r\n this.$element().parents().each((_, parent) => {\r\n if (fx.isAnimating($(parent))) {\r\n readyToResolve = false;\r\n return false\r\n }\r\n });\r\n if (readyToResolve) {\r\n resolve()\r\n }\r\n return readyToResolve\r\n };\r\n var runCheck = () => {\r\n clearTimeout(this._waitParentAnimationTimeout);\r\n this._waitParentAnimationTimeout = setTimeout(() => check() || runCheck(), ANIMATION_TIMEOUT)\r\n };\r\n runCheck()\r\n }))(), (() => {\r\n var $labels = this.$element().find(\".\".concat(TOOLBAR_LABEL_CLASS));\r\n var promises = [];\r\n $labels.each((_, label) => {\r\n var text = $(label).text();\r\n var fontWeight = $(label).css(\"fontWeight\");\r\n promises.push(waitWebFont(text, fontWeight))\r\n });\r\n return Promise.all(promises)\r\n })()]).then(() => {\r\n this._dimensionChanged()\r\n })\r\n }\r\n }\r\n}\r\nregisterComponent(\"dxToolbarBase\", ToolbarBase);\r\nexport default ToolbarBase;\r\n","/**\r\n * DevExtreme (esm/ui/validation_engine.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isBoolean,\r\n isObject,\r\n isFunction,\r\n isPromise,\r\n isNumeric\r\n} from \"../core/utils/type\";\r\nimport numberLocalization from \"../localization/number\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n fromPromise,\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nvar STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nclass BaseRuleValidator {\r\n constructor() {\r\n this.NAME = \"base\"\r\n }\r\n defaultMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n }\r\n defaultFormattedMessage(value) {\r\n return messageLocalization.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n }\r\n _isValueEmpty(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n }\r\n validate(value, rule) {\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every(itemValue => {\r\n result = this._validate(itemValue, rule);\r\n return result\r\n })\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n }\r\n}\r\nclass RequiredRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"required\"\r\n }\r\n _validate(value, rule) {\r\n if (!isDefined(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n }\r\n}\r\nclass NumericRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"numeric\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && isString(value)) {\r\n return !isNaN(numberLocalization.parse(value))\r\n } else {\r\n return isNumeric(value)\r\n }\r\n }\r\n}\r\nclass RangeRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"range\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule);\r\n var validValue = isDefined(value) && \"\" !== value;\r\n var number = validNumber ? parseFloat(value) : validValue && value.valueOf();\r\n var min = rule.min;\r\n var max = rule.max;\r\n if (!(validNumber || isDate(value)) && !validValue) {\r\n return false\r\n }\r\n if (isDefined(min)) {\r\n if (isDefined(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else if (isDefined(max)) {\r\n return number <= max\r\n } else {\r\n throw errors.Error(\"E0101\")\r\n }\r\n }\r\n}\r\nclass StringLengthRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"stringLength\"\r\n }\r\n _validate(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, extend({}, rule))\r\n }\r\n}\r\nclass CustomRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"custom\"\r\n }\r\n validate(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n }\r\n}\r\nclass AsyncRuleValidator extends CustomRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"async\"\r\n }\r\n validate(value, rule) {\r\n if (!isDefined(rule.reevaluate)) {\r\n extend(rule, {\r\n reevaluate: true\r\n })\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && isFunction(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = isFunction(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n extend(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!isPromise(callbackResult)) {\r\n throw errors.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise(fromPromise(callbackResult).promise())\r\n }\r\n _getWrappedPromise(promise) {\r\n var deferred = new Deferred;\r\n promise.then((function(res) {\r\n deferred.resolve(res)\r\n }), (function(err) {\r\n var res = {\r\n isValid: false\r\n };\r\n if (isDefined(err)) {\r\n if (isString(err)) {\r\n res.message = err\r\n } else if (isObject(err) && isDefined(err.message) && isString(err.message)) {\r\n res.message = err.message\r\n }\r\n }\r\n deferred.resolve(res)\r\n }));\r\n return deferred.promise()\r\n }\r\n}\r\nclass CompareRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"compare\"\r\n }\r\n _validate(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw errors.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n extend(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget();\r\n var type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n }\r\n}\r\nclass PatternRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"pattern\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if (isString(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n }\r\n}\r\nclass EmailRuleValidator extends BaseRuleValidator {\r\n constructor() {\r\n super();\r\n this.NAME = \"email\"\r\n }\r\n _validate(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, extend({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n }\r\n}\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n async: new AsyncRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = Class.inherit({\r\n ctor(group) {\r\n this.group = group;\r\n this.validators = [];\r\n this._pendingValidators = [];\r\n this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this);\r\n this._resetValidationInfo();\r\n this._eventsStrategy = new EventsStrategy(this)\r\n },\r\n validate() {\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: [],\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n this._unsubscribeFromAllChangeEvents();\r\n this._pendingValidators = [];\r\n this._resetValidationInfo();\r\n each(this.validators, (_, validator) => {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRules) {\r\n result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules)\r\n }\r\n result.validators.push(validator);\r\n if (validatorResult.status === STATUS.pending) {\r\n this._addPendingValidator(validator)\r\n }\r\n this._subscribeToChangeEvents(validator)\r\n });\r\n if (this._pendingValidators.length) {\r\n result.status = STATUS.pending\r\n } else {\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n this._unsubscribeFromAllChangeEvents();\r\n this._raiseValidatedEvent(result)\r\n }\r\n this._updateValidationInfo(result);\r\n return extend({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents() {\r\n each(this.validators, (_, validator) => {\r\n this._unsubscribeFromChangeEvents(validator)\r\n })\r\n },\r\n _updateValidationInfo(result) {\r\n this._validationInfo.result = result;\r\n if (result.status !== STATUS.pending) {\r\n return\r\n }\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator(validator) {\r\n var foundValidator = grep(this._pendingValidators, (function(val) {\r\n return val === validator\r\n }))[0];\r\n if (!foundValidator) {\r\n this._pendingValidators.push(validator)\r\n }\r\n },\r\n _removePendingValidator(validator) {\r\n var index = this._pendingValidators.indexOf(validator);\r\n if (index >= 0) {\r\n this._pendingValidators.splice(index, 1)\r\n }\r\n },\r\n _orderBrokenRules(brokenRules) {\r\n var orderedRules = [];\r\n each(this.validators, (function(_, validator) {\r\n var foundRules = grep(brokenRules, (function(rule) {\r\n return rule.validator === validator\r\n }));\r\n if (foundRules.length) {\r\n orderedRules = orderedRules.concat(foundRules)\r\n }\r\n }));\r\n return orderedRules\r\n },\r\n _updateBrokenRules(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = grep(brokenRules, (function(rule) {\r\n return rule.validator !== result.validator\r\n }));\r\n if (result.brokenRules) {\r\n brokenRules = rules.concat(result.brokenRules)\r\n }\r\n this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules)\r\n },\r\n _onValidatorStatusChanged(result) {\r\n if (result.status === STATUS.pending) {\r\n this._addPendingValidator(result.validator);\r\n return\r\n }\r\n this._resolveIfComplete(result)\r\n },\r\n _resolveIfComplete(result) {\r\n this._removePendingValidator(result.validator);\r\n this._updateBrokenRules(result);\r\n if (!this._pendingValidators.length) {\r\n this._unsubscribeFromAllChangeEvents();\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS.valid : STATUS.invalid;\r\n this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS.valid;\r\n var res = extend({}, this._validationInfo.result, {\r\n complete: null\r\n });\r\n var deferred = this._validationInfo.deferred;\r\n this._validationInfo.deferred = null;\r\n this._raiseValidatedEvent(res);\r\n deferred && setTimeout(() => {\r\n deferred.resolve(res)\r\n })\r\n }\r\n },\r\n _raiseValidatedEvent(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator(validator) {\r\n var index = this.validators.indexOf(validator);\r\n if (index > -1) {\r\n this.validators.splice(index, 1);\r\n this._synchronizeValidationInfo();\r\n this._resolveIfComplete({\r\n validator: validator\r\n })\r\n }\r\n },\r\n registerValidator(validator) {\r\n if (!this.validators.includes(validator)) {\r\n this.validators.push(validator);\r\n this._synchronizeValidationInfo()\r\n }\r\n },\r\n reset() {\r\n each(this.validators, (function(_, validator) {\r\n validator.reset()\r\n }));\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig(group) {\r\n var result = grep(this.groups, (function(config) {\r\n return config.group === group\r\n }));\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n findGroup($element, model) {\r\n var _$element$data, _$element$data$dxComp;\r\n var hasValidationGroup = null === (_$element$data = $element.data()) || void 0 === _$element$data ? void 0 : null === (_$element$data$dxComp = _$element$data.dxComponents) || void 0 === _$element$data$dxComp ? void 0 : _$element$data$dxComp.includes(\"dxValidationGroup\");\r\n var validationGroup = hasValidationGroup && $element.dxValidationGroup(\"instance\");\r\n if (validationGroup) {\r\n return validationGroup\r\n }\r\n var $dxGroup = $element.parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n return $dxGroup.dxValidationGroup(\"instance\")\r\n }\r\n return model\r\n },\r\n initGroups() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup(group) {\r\n var config = this.getGroupConfig(group);\r\n var index = this.groups.indexOf(config);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage(info) {\r\n var {\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n } = info;\r\n if (!isDefined(rule.message)) {\r\n if (validator.defaultFormattedMessage && isDefined(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n _addBrokenRule(info) {\r\n var {\r\n result: result,\r\n rule: rule\r\n } = info;\r\n if (!result.brokenRule) {\r\n result.brokenRule = rule\r\n }\r\n if (!result.brokenRules) {\r\n result.brokenRules = []\r\n }\r\n result.brokenRules.push(rule)\r\n },\r\n validate(value, rules, name) {\r\n var _rules$;\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n brokenRules: null,\r\n isValid: true,\r\n validationRules: rules,\r\n pendingRules: null,\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n var validator = null === rules || void 0 === rules ? void 0 : null === (_rules$ = rules[0]) || void 0 === _rules$ ? void 0 : _rules$.validator;\r\n var asyncRuleItems = [];\r\n each(rules || [], (_, rule) => {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if (isDefined(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n });\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n if (\"async\" === rule.type) {\r\n asyncRuleItems.push({\r\n rule: rule,\r\n ruleValidator: ruleValidator\r\n });\r\n return true\r\n }\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw errors.Error(\"E0100\")\r\n }\r\n });\r\n if (result.isValid && !result.brokenRules && asyncRuleItems.length) {\r\n result = this._validateAsyncRules({\r\n value: value,\r\n items: asyncRuleItems,\r\n result: result,\r\n name: name\r\n })\r\n }\r\n this._synchronizeGroupValidationInfo(validator, result);\r\n result.status = result.pendingRules ? STATUS.pending : result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n _synchronizeGroupValidationInfo(validator, result) {\r\n var _result$brokenRules;\r\n if (!validator) {\r\n return\r\n }\r\n var groupConfig = ValidationEngine.getGroupConfig(validator._validationGroup);\r\n groupConfig._updateBrokenRules.call(groupConfig, {\r\n validator: validator,\r\n brokenRules: null !== (_result$brokenRules = result.brokenRules) && void 0 !== _result$brokenRules ? _result$brokenRules : []\r\n })\r\n },\r\n _validateAsyncRules(_ref) {\r\n var {\r\n result: result,\r\n value: value,\r\n items: items,\r\n name: name\r\n } = _ref;\r\n var asyncResults = [];\r\n each(items, (_, item) => {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!isPromise(validateResult)) {\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: this._getPatchedRuleResult(validateResult),\r\n validator: item.ruleValidator,\r\n name: name\r\n })\r\n } else {\r\n if (!result.pendingRules) {\r\n result.pendingRules = []\r\n }\r\n result.pendingRules.push(item.rule);\r\n var asyncResult = validateResult.then(res => {\r\n var ruleResult = this._getPatchedRuleResult(res);\r\n this._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: ruleResult,\r\n validator: item.ruleValidator,\r\n name: name\r\n });\r\n return ruleResult\r\n });\r\n asyncResults.push(asyncResult)\r\n }\r\n });\r\n if (asyncResults.length) {\r\n result.complete = Promise.all(asyncResults).then(values => this._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n }))\r\n }\r\n return result\r\n },\r\n _updateRuleConfig(_ref2) {\r\n var {\r\n rule: rule,\r\n ruleResult: ruleResult,\r\n validator: validator,\r\n name: name\r\n } = _ref2;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if (isDefined(ruleResult.message) && isString(ruleResult.message) && ruleResult.message.length) {\r\n rule.message = ruleResult.message\r\n } else {\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n })\r\n }\r\n }\r\n },\r\n _getPatchedRuleResult(ruleResult) {\r\n var result;\r\n if (isObject(ruleResult)) {\r\n result = extend({}, ruleResult);\r\n if (!isDefined(result.isValid)) {\r\n result.isValid = true\r\n }\r\n } else {\r\n result = {\r\n isValid: isBoolean(ruleResult) ? ruleResult : true\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult(_ref3) {\r\n var {\r\n values: values,\r\n result: result\r\n } = _ref3;\r\n each(values, (index, val) => {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n this._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n });\r\n result.pendingRules = null;\r\n result.complete = null;\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n registerValidatorInGroup(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group;\r\n var isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group);\r\n if (config) {\r\n config.removeRegisteredValidator.call(config, validator);\r\n var validatorsInGroup = config.validators;\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n initValidationOptions(options) {\r\n var initedOptions = {};\r\n if (options) {\r\n [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"].forEach(prop => {\r\n if (prop in options) {\r\n extend(initedOptions, this.synchronizeValidationOptions({\r\n name: prop,\r\n value: options[prop]\r\n }, options))\r\n }\r\n })\r\n }\r\n return initedOptions\r\n },\r\n synchronizeValidationOptions(_ref4, options) {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref4;\r\n switch (name) {\r\n case \"validationStatus\":\r\n var isValid = value === STATUS.valid || value === STATUS.pending;\r\n return options.isValid !== isValid ? {\r\n isValid: isValid\r\n } : {};\r\n case \"isValid\":\r\n var {\r\n validationStatus: validationStatus\r\n } = options;\r\n var newStatus = validationStatus;\r\n if (value && validationStatus === STATUS.invalid) {\r\n newStatus = STATUS.valid\r\n } else if (!value && validationStatus !== STATUS.invalid) {\r\n newStatus = STATUS.invalid\r\n }\r\n return newStatus !== validationStatus ? {\r\n validationStatus: newStatus\r\n } : {};\r\n case \"validationErrors\":\r\n var validationError = !value || !value.length ? null : value[0];\r\n return options.validationError !== validationError ? {\r\n validationError: validationError\r\n } : {};\r\n case \"validationError\":\r\n var {\r\n validationErrors: validationErrors\r\n } = options;\r\n if (!value && validationErrors) {\r\n return {\r\n validationErrors: null\r\n }\r\n } else if (value && !validationErrors) {\r\n return {\r\n validationErrors: [value]\r\n }\r\n } else if (value && validationErrors && value !== validationErrors[0]) {\r\n validationErrors[0] = value;\r\n return {\r\n validationErrors: validationErrors.slice()\r\n }\r\n }\r\n }\r\n return {}\r\n },\r\n validateGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nexport default ValidationEngine;\r\n","/**\r\n * DevExtreme (esm/ui/validation_message.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport Overlay from \"./overlay/ui.overlay\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n encodeHtml\r\n} from \"../core/utils/string\";\r\nimport {\r\n getDefaultAlignment\r\n} from \"../core/utils/position\";\r\nvar INVALID_MESSAGE = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar INVALID_MESSAGE_ALWAYS = \"dx-invalid-message-always\";\r\nvar INVALID_MESSAGE_CONTENT = \"dx-invalid-message-content\";\r\nvar VALIDATION_MESSAGE_MIN_WIDTH = 100;\r\nvar ValidationMessage = Overlay.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n integrationOptions: {},\r\n templatesRenderAsynchronously: false,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n hideOnOutsideClick: false,\r\n animation: null,\r\n visible: true,\r\n propagateOutsideClick: true,\r\n _checkParentVisibility: false,\r\n rtlEnabled: false,\r\n contentTemplate: this._renderInnerHtml,\r\n maxWidth: \"100%\",\r\n container: this.$element(),\r\n target: void 0,\r\n mode: \"auto\",\r\n validationErrors: void 0,\r\n preventScrollEvents: false,\r\n positionSide: \"top\",\r\n boundary: void 0,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n },\r\n contentId: void 0\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._ensureMessageNotEmpty();\r\n this._updatePositionByTarget();\r\n this._toggleModeClass();\r\n this._updateContentId()\r\n },\r\n _updatePositionByTarget: function() {\r\n var {\r\n target: target\r\n } = this.option();\r\n this.option(\"position.of\", target)\r\n },\r\n _ensureMessageNotEmpty: function() {\r\n this._textMarkup = this._getTextMarkup();\r\n var shouldShowMessage = this.option(\"visible\") && this._textMarkup;\r\n this._toggleVisibilityClasses(shouldShowMessage)\r\n },\r\n _toggleVisibilityClasses: function(visible) {\r\n if (visible) {\r\n this.$element().addClass(INVALID_MESSAGE);\r\n this.$wrapper().addClass(INVALID_MESSAGE)\r\n } else {\r\n this.$element().removeClass(INVALID_MESSAGE);\r\n this.$wrapper().removeClass(INVALID_MESSAGE)\r\n }\r\n },\r\n _updateContentId() {\r\n var {\r\n container: container,\r\n contentId: contentId\r\n } = this.option();\r\n var id = null !== contentId && void 0 !== contentId ? contentId : $(container).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", id)\r\n },\r\n _renderInnerHtml(element) {\r\n var $element = element && $(element);\r\n null === $element || void 0 === $element ? void 0 : $element.html(this._textMarkup)\r\n },\r\n _getTextMarkup() {\r\n var _this$option;\r\n var validationErrors = null !== (_this$option = this.option(\"validationErrors\")) && void 0 !== _this$option ? _this$option : [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach(err => {\r\n var _err$message;\r\n var separator = validationErrorMessage ? \"<br />\" : \"\";\r\n validationErrorMessage += separator + encodeHtml(null !== (_err$message = null === err || void 0 === err ? void 0 : err.message) && void 0 !== _err$message ? _err$message : \"\")\r\n });\r\n return validationErrorMessage\r\n },\r\n _toggleModeClass() {\r\n var mode = this.option(\"mode\");\r\n this.$wrapper().toggleClass(INVALID_MESSAGE_AUTO, \"auto\" === mode).toggleClass(INVALID_MESSAGE_ALWAYS, \"always\" === mode)\r\n },\r\n updateMaxWidth() {\r\n var target = this.option(\"target\");\r\n var targetWidth = getOuterWidth(target);\r\n var maxWidth = \"100%\";\r\n if (targetWidth) {\r\n maxWidth = Math.max(targetWidth, VALIDATION_MESSAGE_MIN_WIDTH)\r\n }\r\n this.option({\r\n maxWidth: maxWidth\r\n })\r\n },\r\n _getPositionsArray: function(positionSide, rtlSide) {\r\n switch (positionSide) {\r\n case \"top\":\r\n return [\"\".concat(rtlSide, \" bottom\"), \"\".concat(rtlSide, \" top\")];\r\n case \"left\":\r\n return [\"right\", \"left\"];\r\n case \"right\":\r\n return [\"left\", \"right\"];\r\n default:\r\n return [\"\".concat(rtlSide, \" top\"), \"\".concat(rtlSide, \" bottom\")]\r\n }\r\n },\r\n _updatePosition: function() {\r\n var {\r\n positionSide: positionSide,\r\n rtlEnabled: rtlEnabled,\r\n offset: componentOffset,\r\n boundary: boundary\r\n } = this.option();\r\n var rtlSide = getDefaultAlignment(rtlEnabled);\r\n var positions = this._getPositionsArray(positionSide, rtlSide);\r\n var offset = _extends({}, componentOffset);\r\n this.$element().addClass(\"dx-invalid-message-\".concat(positionSide));\r\n if (rtlEnabled && \"left\" !== positionSide && \"right\" !== positionSide) {\r\n offset.h = -offset.h\r\n }\r\n if (\"top\" === positionSide) {\r\n offset.v = -offset.v\r\n }\r\n if (\"left\" === positionSide) {\r\n offset.h = -offset.h\r\n }\r\n this.option(\"position\", {\r\n offset: offset,\r\n boundary: boundary,\r\n my: positions[0],\r\n at: positions[1],\r\n collision: \"none flip\"\r\n })\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"target\":\r\n this._updatePositionByTarget();\r\n this.updateMaxWidth();\r\n this.callBase(args);\r\n break;\r\n case \"boundary\":\r\n this.option(\"position.boundary\", value);\r\n break;\r\n case \"mode\":\r\n this._toggleModeClass(value);\r\n break;\r\n case \"rtlEnabled\":\r\n case \"offset\":\r\n case \"positionSide\":\r\n this.$element().removeClass(\"dx-invalid-message-\".concat(previousValue));\r\n this._updatePosition();\r\n break;\r\n case \"container\":\r\n this._updateContentId();\r\n this.callBase(args);\r\n break;\r\n case \"contentId\":\r\n this._updateContentId();\r\n break;\r\n case \"validationErrors\":\r\n this._ensureMessageNotEmpty();\r\n this._renderInnerHtml(this.$content());\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nregisterComponent(\"dxValidationMessage\", ValidationMessage);\r\nexport default ValidationMessage;\r\n","/**\r\n * DevExtreme (esm/ui/validation/default_adapter.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../../core/class\";\r\nvar DefaultAdapter = Class.inherit({\r\n ctor(editor, validator) {\r\n this.editor = editor;\r\n this.validator = validator;\r\n this.validationRequestsCallbacks = [];\r\n var handler = args => {\r\n this.validationRequestsCallbacks.forEach(item => item(args))\r\n };\r\n editor.validationRequest.add(handler);\r\n editor.on(\"disposing\", (function() {\r\n editor.validationRequest.remove(handler)\r\n }))\r\n },\r\n getValue() {\r\n return this.editor.option(\"value\")\r\n },\r\n getCurrentValidationError() {\r\n return this.editor.option(\"validationError\")\r\n },\r\n bypass() {\r\n return this.editor.option(\"disabled\")\r\n },\r\n applyValidationResults(params) {\r\n this.editor.option({\r\n validationErrors: params.brokenRules,\r\n validationStatus: params.status\r\n })\r\n },\r\n reset() {\r\n this.editor.reset()\r\n },\r\n focus() {\r\n this.editor.focus()\r\n }\r\n});\r\nexport default DefaultAdapter;\r\n","/**\r\n * DevExtreme (esm/ui/validator.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nimport errors from \"./widget/ui.errors\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport ValidationEngine from \"./validation_engine\";\r\nimport DefaultAdapter from \"./validation/default_adapter\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport Guid from \"../core/guid\";\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar VALIDATION_STATUS_PENDING = \"pending\";\r\nvar Validator = DOMComponent.inherit({\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(ValidationEngine.initValidationOptions(options))\r\n },\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n validationRules: []\r\n })\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initGroupRegistration();\r\n this.focused = Callbacks();\r\n this._initAdapter();\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null,\r\n skipValidation: false\r\n }\r\n },\r\n _initGroupRegistration() {\r\n var group = this._findGroup();\r\n if (!this._groupWasInit) {\r\n this.on(\"disposing\", (function(args) {\r\n ValidationEngine.removeRegisteredValidator(args.component._validationGroup, args.component)\r\n }))\r\n }\r\n if (!this._groupWasInit || this._validationGroup !== group) {\r\n ValidationEngine.removeRegisteredValidator(this._validationGroup, this);\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n ValidationEngine.registerValidatorInGroup(group, this)\r\n }\r\n },\r\n _setOptionsByReference() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _getEditor() {\r\n var element = this.$element()[0];\r\n return elementData(element, \"dx-validation-target\")\r\n },\r\n _initAdapter() {\r\n var dxStandardEditor = this._getEditor();\r\n var adapter = this.option(\"adapter\");\r\n if (!adapter) {\r\n if (dxStandardEditor) {\r\n adapter = new DefaultAdapter(dxStandardEditor, this);\r\n adapter.validationRequestsCallbacks.push(args => {\r\n if (this._validationInfo.skipValidation) {\r\n return\r\n }\r\n this.validate(args)\r\n });\r\n this.option(\"adapter\", adapter);\r\n return\r\n }\r\n throw errors.Error(\"E0120\")\r\n }\r\n var callbacks = adapter.validationRequestsCallbacks;\r\n if (callbacks) {\r\n callbacks.push(args => {\r\n this.validate(args)\r\n })\r\n }\r\n },\r\n _toggleRTLDirection(isRtl) {\r\n var _this$option$editor$o, _this$option, _this$option$editor;\r\n var rtlEnabled = null !== (_this$option$editor$o = null === (_this$option = this.option(\"adapter\")) || void 0 === _this$option ? void 0 : null === (_this$option$editor = _this$option.editor) || void 0 === _this$option$editor ? void 0 : _this$option$editor.option(\"rtlEnabled\")) && void 0 !== _this$option$editor$o ? _this$option$editor$o : isRtl;\r\n this.callBase(rtlEnabled)\r\n },\r\n _initMarkup() {\r\n this.$element().addClass(VALIDATOR_CLASS);\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._toggleAccessibilityAttributes()\r\n },\r\n _toggleAccessibilityAttributes() {\r\n var dxStandardEditor = this._getEditor();\r\n if (dxStandardEditor) {\r\n var rules = this.option(\"validationRules\") || [];\r\n var isRequired = rules.some(_ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n return \"required\" === type\r\n }) || null;\r\n if (dxStandardEditor.isInitialized()) {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n }\r\n dxStandardEditor.option(\"_onMarkupRendered\", () => {\r\n dxStandardEditor.setAria(\"required\", isRequired)\r\n })\r\n }\r\n },\r\n _visibilityChanged(visible) {\r\n if (visible) {\r\n this._initGroupRegistration()\r\n }\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n return;\r\n case \"validationRules\":\r\n this._resetValidationRules();\r\n this._toggleAccessibilityAttributes();\r\n void 0 !== this.option(\"isValid\") && this.validate();\r\n return;\r\n case \"adapter\":\r\n this._initAdapter();\r\n break;\r\n case \"isValid\":\r\n case \"validationStatus\":\r\n this.option(ValidationEngine.synchronizeValidationOptions(args, this.option()));\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getValidationRules() {\r\n if (!this._validationRules) {\r\n this._validationRules = map(this.option(\"validationRules\"), (rule, index) => extend({}, rule, {\r\n validator: this,\r\n index: index\r\n }))\r\n }\r\n return this._validationRules\r\n },\r\n _findGroup() {\r\n var $element = this.$element();\r\n return this.option(\"validationGroup\") || ValidationEngine.findGroup($element, this._modelByElement($element))\r\n },\r\n _resetValidationRules() {\r\n delete this._validationRules\r\n },\r\n validate(args) {\r\n var adapter = this.option(\"adapter\");\r\n var name = this.option(\"name\");\r\n var bypass = adapter.bypass && adapter.bypass();\r\n var value = args && void 0 !== args.value ? args.value : adapter.getValue();\r\n var currentError = adapter.getCurrentValidationError && adapter.getCurrentValidationError();\r\n var rules = this._getValidationRules();\r\n var currentResult = this._validationInfo && this._validationInfo.result;\r\n if (currentResult && currentResult.status === VALIDATION_STATUS_PENDING && currentResult.value === value) {\r\n return extend({}, currentResult)\r\n }\r\n var result;\r\n if (bypass) {\r\n result = {\r\n isValid: true,\r\n status: VALIDATION_STATUS_VALID\r\n }\r\n } else if (currentError && currentError.editorSpecific) {\r\n currentError.validator = this;\r\n result = {\r\n isValid: false,\r\n status: VALIDATION_STATUS_INVALID,\r\n brokenRule: currentError,\r\n brokenRules: [currentError]\r\n }\r\n } else {\r\n result = ValidationEngine.validate(value, rules, name)\r\n }\r\n result.id = (new Guid).toString();\r\n this._applyValidationResult(result, adapter);\r\n result.complete && result.complete.then(res => {\r\n if (res.id === this._validationInfo.result.id) {\r\n this._applyValidationResult(res, adapter)\r\n }\r\n });\r\n return extend({}, this._validationInfo.result)\r\n },\r\n reset() {\r\n var adapter = this.option(\"adapter\");\r\n var result = {\r\n id: null,\r\n isValid: true,\r\n brokenRule: null,\r\n brokenRules: null,\r\n pendingRules: null,\r\n status: VALIDATION_STATUS_VALID,\r\n complete: null\r\n };\r\n this._validationInfo.skipValidation = true;\r\n adapter.reset();\r\n this._validationInfo.skipValidation = false;\r\n this._resetValidationRules();\r\n this._applyValidationResult(result, adapter)\r\n },\r\n _updateValidationResult(result) {\r\n if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) {\r\n var complete = this._validationInfo.deferred && this._validationInfo.result.complete;\r\n this._validationInfo.result = extend({}, result, {\r\n complete: complete\r\n })\r\n } else {\r\n for (var prop in result) {\r\n if (\"id\" !== prop && \"complete\" !== prop) {\r\n this._validationInfo.result[prop] = result[prop]\r\n }\r\n }\r\n }\r\n },\r\n _applyValidationResult(result, adapter) {\r\n var validatedAction = this._createActionByOption(\"onValidated\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n result.validator = this;\r\n this._updateValidationResult(result);\r\n adapter.applyValidationResults && adapter.applyValidationResults(this._validationInfo.result);\r\n this.option({\r\n validationStatus: this._validationInfo.result.status\r\n });\r\n if (this._validationInfo.result.status === VALIDATION_STATUS_PENDING) {\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n this._eventsStrategy.fireEvent(\"validating\", [this._validationInfo.result]);\r\n return\r\n }\r\n if (this._validationInfo.result.status !== VALIDATION_STATUS_PENDING) {\r\n validatedAction(result);\r\n if (this._validationInfo.deferred) {\r\n this._validationInfo.deferred.resolve(result);\r\n this._validationInfo.deferred = null\r\n }\r\n }\r\n },\r\n focus() {\r\n var adapter = this.option(\"adapter\");\r\n adapter && adapter.focus && adapter.focus()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\nregisterComponent(\"dxValidator\", Validator);\r\nexport default Validator;\r\n","/**\r\n * DevExtreme (esm/ui/widget/selectors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nexport var focusable = function(index, element) {\r\n return focusableFn(element, $(element).attr(\"tabIndex\"))\r\n};\r\nexport var tabbable = function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexport var focused = function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement(element) === element\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/widget/swatch_container.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n value\r\n} from \"../../core/utils/view_port\";\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = element => {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = value();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\".concat(SWATCH_CONTAINER_CLASS_PREFIX, \".*?)(\\\\s|$)\"));\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = $(\"<div>\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nexport default {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.errors.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" must be earlier than the \"endDayHour\"',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1015: 'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals',\r\n W1016: \"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",\r\n W1017: \"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",\r\n W1018: \"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",\r\n W1019: \"Filter query string exceeds maximum length limit of {0} characters.\",\r\n W1020: \"hideEvent is ignored when the shading property is true\",\r\n W1021: \"The '{0}' is not rendered because none of the DOM elements match the value of the \\\"container\\\" property.\",\r\n W1022: \"{0} JSON parsing error: '{1}'\",\r\n W1023: \"Appointments require unique keys. Otherwise, the agenda view may not work correctly.\"\r\n});\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.search_box_mixin.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport errors from \"../widget/ui.errors\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n stubComponent\r\n} from \"../../core/utils/stubs\";\r\nvar EditorClass = stubComponent(\"TextBox\");\r\nexport default {\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n searchMode: \"\",\r\n searchExpr: null,\r\n searchValue: \"\",\r\n searchEnabled: false,\r\n searchEditorOptions: {}\r\n })\r\n },\r\n _initMarkup: function() {\r\n this._renderSearch();\r\n this.callBase()\r\n },\r\n _renderSearch: function() {\r\n var $element = this.$element();\r\n var searchEnabled = this.option(\"searchEnabled\");\r\n var searchBoxClassName = this._addWidgetPrefix(\"search\");\r\n var rootElementClassName = this._addWidgetPrefix(\"with-search\");\r\n if (!searchEnabled) {\r\n $element.removeClass(rootElementClassName);\r\n this._removeSearchBox();\r\n return\r\n }\r\n var editorOptions = this._getSearchEditorOptions();\r\n if (this._searchEditor) {\r\n this._searchEditor.option(editorOptions)\r\n } else {\r\n $element.addClass(rootElementClassName);\r\n this._$searchEditorElement = $(\"<div>\").addClass(searchBoxClassName).prependTo($element);\r\n this._searchEditor = this._createComponent(this._$searchEditorElement, EditorClass, editorOptions)\r\n }\r\n },\r\n _removeSearchBox: function() {\r\n this._$searchEditorElement && this._$searchEditorElement.remove();\r\n delete this._$searchEditorElement;\r\n delete this._searchEditor\r\n },\r\n _getSearchEditorOptions: function() {\r\n var that = this;\r\n var userEditorOptions = that.option(\"searchEditorOptions\");\r\n var searchText = messageLocalization.format(\"Search\");\r\n return extend({\r\n mode: \"search\",\r\n placeholder: searchText,\r\n tabIndex: that.option(\"tabIndex\"),\r\n value: that.option(\"searchValue\"),\r\n valueChangeEvent: \"input\",\r\n inputAttr: {\r\n \"aria-label\": searchText\r\n },\r\n onValueChanged: function(e) {\r\n var searchTimeout = that.option(\"searchTimeout\");\r\n that._valueChangeDeferred = new Deferred;\r\n clearTimeout(that._valueChangeTimeout);\r\n that._valueChangeDeferred.done(function() {\r\n this.option(\"searchValue\", e.value)\r\n }.bind(that));\r\n if (e.event && \"input\" === e.event.type && searchTimeout) {\r\n that._valueChangeTimeout = setTimeout((function() {\r\n that._valueChangeDeferred.resolve()\r\n }), searchTimeout)\r\n } else {\r\n that._valueChangeDeferred.resolve()\r\n }\r\n }\r\n }, userEditorOptions)\r\n },\r\n _getAriaTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _focusTarget: function() {\r\n if (this.option(\"searchEnabled\")) {\r\n return this._itemContainer(true)\r\n }\r\n return this.callBase()\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n if (this.option(\"searchEnabled\")) {\r\n this._toggleFocusClass(isFocused, this.$element())\r\n }\r\n this.callBase(e, isFocused)\r\n },\r\n getOperationBySearchMode: function(searchMode) {\r\n return \"equals\" === searchMode ? \"=\" : searchMode\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"searchEnabled\":\r\n case \"searchEditorOptions\":\r\n this._invalidate();\r\n break;\r\n case \"searchExpr\":\r\n case \"searchMode\":\r\n case \"searchValue\":\r\n if (!this._dataSource) {\r\n errors.log(\"W1009\");\r\n return\r\n }\r\n if (\"searchMode\" === args.name) {\r\n this._dataSource.searchOperation(this.getOperationBySearchMode(args.value))\r\n } else {\r\n this._dataSource[args.name](args.value)\r\n }\r\n this._dataSource.load();\r\n break;\r\n case \"searchTimeout\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n focus: function() {\r\n if (!this.option(\"focusedElement\") && this.option(\"searchEnabled\")) {\r\n this._searchEditor && this._searchEditor.focus();\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _cleanAria: function() {\r\n var $element = this.$element();\r\n this.setAria({\r\n role: null,\r\n activedescendant: null\r\n }, $element);\r\n $element.attr(\"tabIndex\", null)\r\n },\r\n _clean() {\r\n this.callBase();\r\n this._cleanAria()\r\n },\r\n _refresh: function() {\r\n if (this._valueChangeDeferred) {\r\n this._valueChangeDeferred.resolve()\r\n }\r\n this.callBase()\r\n },\r\n setEditorClass: function(value) {\r\n EditorClass = value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/stubs.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function stubComponent(componentName) {\r\n return class {\r\n constructor() {\r\n throw new Error(\"Module '\".concat(componentName, \"' not found\"))\r\n }\r\n static getInstance() {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.widget.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport Action from \"../../core/action\";\r\nimport DOMComponent from \"../../core/dom_component\";\r\nimport {\r\n active,\r\n focus,\r\n hover,\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n deferRender,\r\n deferRenderer,\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focusable as focusableSelector\r\n} from \"./selectors\";\r\nimport {\r\n isPlainObject,\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n compare as compareVersions\r\n} from \"../../core/utils/version\";\r\nimport \"../../events/click\";\r\nimport \"../../events/core/emitter.feedback\";\r\nimport \"../../events/hover\";\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = isDefined(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = DOMComponent.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: () => ({}),\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n hoveredElement: null,\r\n isActive: false,\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: void 0,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyboardHandled: null,\r\n ignoreParentReadOnly: false,\r\n useResizeObserver: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var device = devices.real();\r\n var platform = device.platform;\r\n var version = device.version;\r\n return \"ios\" === platform && compareVersions(version, \"13.3\") <= 0\r\n },\r\n options: {\r\n useResizeObserver: false\r\n }\r\n }])\r\n },\r\n _init() {\r\n this.callBase();\r\n this._initContentReadyAction()\r\n },\r\n _innerWidgetOptionChanged: function(innerWidget, args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._options.cache(args.name, options)\r\n },\r\n _bindInnerWidgetOptions(innerWidget, optionsContainer) {\r\n var syncOptions = () => this._options.silent(optionsContainer, extend({}, innerWidget.option()));\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup() {\r\n var {\r\n disabled: disabled,\r\n visible: visible\r\n } = this.option();\r\n this.$element().addClass(\"dx-widget\");\r\n this._toggleDisabledState(disabled);\r\n this._toggleVisibility(visible);\r\n this._renderHint();\r\n this._isFocusable() && this._renderFocusTarget();\r\n this.callBase()\r\n },\r\n _render() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents();\r\n this._toggleIndependentState()\r\n },\r\n _renderHint() {\r\n var {\r\n hint: hint\r\n } = this.option();\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent() {\r\n deferRender(() => !this._disposed ? this._renderContentImpl() : void 0).done(() => !this._disposed ? this._fireContentReadyAction() : void 0)\r\n },\r\n _renderContentImpl: noop,\r\n _fireContentReadyAction: deferRenderer((function() {\r\n return this._contentReadyAction()\r\n })),\r\n _dispose() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible)\r\n },\r\n _renderFocusState() {\r\n this._attachKeyboardEvents();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n }\r\n },\r\n _renderAccessKey() {\r\n var $el = this._focusTarget();\r\n var {\r\n accessKey: accessKey\r\n } = this.option();\r\n $el.attr(\"accesskey\", accessKey)\r\n },\r\n _isFocusable() {\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n disabled: disabled\r\n } = this.option();\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget() {\r\n return this.$element()\r\n },\r\n _focusTarget() {\r\n return this._getActiveElement()\r\n },\r\n _isFocusTarget: function(element) {\r\n var focusTargets = $(this._focusTarget()).toArray();\r\n return focusTargets.includes(element)\r\n },\r\n _findActiveTarget($element) {\r\n return $element.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n },\r\n _getActiveElement() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return this._findActiveTarget(activeElement)\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget() {\r\n var {\r\n tabIndex: tabIndex\r\n } = this.option();\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: () => this._updateFocusState(event, true),\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler(event) {\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: () => this._updateFocusState(event, false),\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState(_ref, isFocused) {\r\n var {\r\n target: target\r\n } = _ref;\r\n if (this._isFocusTarget(target)) {\r\n this._toggleFocusClass(isFocused, $(target))\r\n }\r\n },\r\n _toggleFocusClass(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(\"dx-state-focused\", isFocused)\r\n },\r\n _hasFocusClass(element) {\r\n var $focusTarget = $(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: () => [],\r\n _attachKeyboardEvents() {\r\n this._detachKeyboardEvents();\r\n var {\r\n focusStateEnabled: focusStateEnabled,\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n var hasChildListeners = this._getKeyboardListeners().length;\r\n var hasKeyboardEventHandler = !!onKeyboardHandled;\r\n var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler;\r\n if (shouldAttach) {\r\n this._keyboardListenerId = keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), opts => this._keyboardHandler(opts))\r\n }\r\n },\r\n _keyboardHandler(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var {\r\n originalEvent: originalEvent,\r\n keyName: keyName,\r\n which: which\r\n } = options;\r\n var keys = this._supportedKeys(originalEvent);\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n }\r\n var keyboardListeners = this._getKeyboardListeners();\r\n var {\r\n onKeyboardHandled: onKeyboardHandled\r\n } = this.option();\r\n keyboardListeners.forEach(listener => listener && listener._keyboardHandler(options));\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState() {\r\n var $element = this._focusTarget();\r\n $element.removeAttr(\"tabIndex\");\r\n this._toggleFocusClass(false);\r\n this._detachFocusEvents();\r\n this._detachKeyboardEvents()\r\n },\r\n _detachKeyboardEvents() {\r\n keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents() {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n hover.off($el, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n });\r\n if (hoverStateEnabled) {\r\n hover.on($el, new Action(_ref2 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref2;\r\n this._hoverStartHandler(event);\r\n this.option(\"hoveredElement\", $(element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n }), event => {\r\n this.option(\"hoveredElement\", null);\r\n this._hoverEndHandler(event)\r\n }, {\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents() {\r\n var {\r\n activeStateEnabled: activeStateEnabled\r\n } = this.option();\r\n var selector = this._activeStateUnit;\r\n var $el = this._eventBindingTarget();\r\n active.off($el, {\r\n namespace: \"UIFeedback\",\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n active.on($el, new Action(_ref3 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref3;\r\n return this._toggleActiveState($(element), true, event)\r\n }), new Action(_ref4 => {\r\n var {\r\n event: event,\r\n element: element\r\n } = _ref4;\r\n return this._toggleActiveState($(element), false, event)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: \"UIFeedback\"\r\n })\r\n }\r\n },\r\n _detachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents() {\r\n var $el = this._focusEventTarget();\r\n focus.on($el, e => this._focusInHandler(e), e => this._focusOutHandler(e), {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: (index, el) => $(el).is(focusableSelector)\r\n })\r\n },\r\n _hoverStartHandler: noop,\r\n _hoverEndHandler: noop,\r\n _toggleActiveState($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover($el, $previous) {\r\n var {\r\n hoverStateEnabled: hoverStateEnabled,\r\n disabled: disabled,\r\n isActive: isActive\r\n } = this.option();\r\n $previous = this._findHoverTarget($previous);\r\n $previous && $previous.toggleClass(\"dx-state-hover\", false);\r\n if ($el && hoverStateEnabled && !disabled && !isActive) {\r\n var newHoveredElement = this._findHoverTarget($el);\r\n newHoveredElement && newHoveredElement.toggleClass(\"dx-state-hover\", true)\r\n }\r\n },\r\n _toggleDisabledState(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption(widgetName, args) {\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if (isPlainObject(args[0])) {\r\n each(args[0], (option, value) => this._setWidgetOption(widgetName, [option, value]));\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[\"\".concat(widgetName, \"OptionMap\")];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(value);\r\n this._updatedHover();\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"ignoreParentReadOnly\":\r\n this._toggleIndependentState();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n this._updatedHover();\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n case \"useResizeObserver\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"hoveredElement\":\r\n this._hover(value, previousValue);\r\n break;\r\n case \"isActive\":\r\n this._updatedHover();\r\n break;\r\n case \"visible\":\r\n this._toggleVisibility(value);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onKeyboardHandled\":\r\n this._attachKeyboardEvents();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible() {\r\n var {\r\n visible: visible\r\n } = this.option();\r\n return this.callBase() && visible\r\n },\r\n beginUpdate() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria() {\r\n if (!isPlainObject(arguments.length <= 0 ? void 0 : arguments[0])) {\r\n setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget())\r\n } else {\r\n var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget();\r\n each(arguments.length <= 0 ? void 0 : arguments[0], (name, value) => setAttribute(name, value, target))\r\n }\r\n },\r\n isReady() {\r\n return this._ready()\r\n },\r\n repaint() {\r\n this._refresh()\r\n },\r\n focus() {\r\n focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = () => extend(currentKeys, {\r\n [key]: handler\r\n })\r\n }\r\n});\r\nWidget.getOptionsFromContainer = _ref5 => {\r\n var {\r\n name: name,\r\n fullName: fullName,\r\n value: value\r\n } = _ref5;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n};\r\nexport default Widget;\r\n","/**\r\n * DevExtreme (esm/ui/widget/utils.ink_ripple.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport $ from \"../../core/renderer\";\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\";\r\nvar INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\";\r\nvar INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\";\r\nvar INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2;\r\nvar MAX_WAVE_SIZE = 4e3;\r\nvar ANIMATION_DURATION = 300;\r\nvar HOLD_ANIMATION_DURATION = 1e3;\r\nvar DEFAULT_WAVE_INDEX = 0;\r\nexport var initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n useHoldAnimation: useHoldAnimation,\r\n waveSizeCoefficient: waveSizeCoefficient,\r\n isCentered: isCentered,\r\n wavesNumber: wavesNumber\r\n } = config;\r\n return {\r\n waveSizeCoefficient: waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: isCentered || false,\r\n wavesNumber: wavesNumber || 1,\r\n durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true)\r\n }\r\n};\r\nexport var render = function(args) {\r\n var config = initConfig(args);\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = $(\"<div>\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple($(element));\r\n var result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = $(\"<div>\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return $(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = $(config.element);\r\n var elementWidth = getOuterWidth(element);\r\n var elementHeight = getOuterHeight(element);\r\n var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight));\r\n var waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n var left;\r\n var top;\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event;\r\n var position = element.offset();\r\n var x = event.pageX - position.left;\r\n var y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\nexport function showWave(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n}\r\n\r\nfunction showingWaveHandler(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n}\r\n\r\nfunction getDurations(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n}\r\n\r\nfunction hideSelectedWave($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n}\r\nexport function hideWave(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n var durations = args.durations;\r\n var durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n}\r\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin <self@wyattbaldwin.com>\n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","const fs = require('fs');\r\nconst fastCsv = require('fast-csv');\r\nconst customParseFormat = require('dayjs/plugin/customParseFormat');\r\nconst utc = require('dayjs/plugin/utc');\r\nconst dayjs = require('dayjs').extend(customParseFormat).extend(utc);\r\nconst StreamBuf = require('../utils/stream-buf');\r\n\r\nconst {\r\n fs: {exists},\r\n} = require('../utils/utils');\r\n\r\n/* eslint-disable quote-props */\r\nconst SpecialValues = {\r\n true: true,\r\n false: false,\r\n '#N/A': {error: '#N/A'},\r\n '#REF!': {error: '#REF!'},\r\n '#NAME?': {error: '#NAME?'},\r\n '#DIV/0!': {error: '#DIV/0!'},\r\n '#NULL!': {error: '#NULL!'},\r\n '#VALUE!': {error: '#VALUE!'},\r\n '#NUM!': {error: '#NUM!'},\r\n};\r\n/* eslint-ensable quote-props */\r\n\r\nclass CSV {\r\n constructor(workbook) {\r\n this.workbook = workbook;\r\n this.worksheet = null;\r\n }\r\n\r\n async readFile(filename, options) {\r\n options = options || {};\r\n if (!(await exists(filename))) {\r\n throw new Error(`File not found: ${filename}`);\r\n }\r\n const stream = fs.createReadStream(filename);\r\n const worksheet = await this.read(stream, options);\r\n stream.close();\r\n return worksheet;\r\n }\r\n\r\n read(stream, options) {\r\n options = options || {};\r\n\r\n return new Promise((resolve, reject) => {\r\n const worksheet = this.workbook.addWorksheet(options.sheetName);\r\n\r\n const dateFormats = options.dateFormats || [\r\n 'YYYY-MM-DD[T]HH:mm:ssZ',\r\n 'YYYY-MM-DD[T]HH:mm:ss',\r\n 'MM-DD-YYYY',\r\n 'YYYY-MM-DD',\r\n ];\r\n const map =\r\n options.map ||\r\n function(datum) {\r\n if (datum === '') {\r\n return null;\r\n }\r\n const datumNumber = Number(datum);\r\n if (!Number.isNaN(datumNumber) && datumNumber !== Infinity) {\r\n return datumNumber;\r\n }\r\n const dt = dateFormats.reduce((matchingDate, currentDateFormat) => {\r\n if (matchingDate) {\r\n return matchingDate;\r\n }\r\n const dayjsObj = dayjs(datum, currentDateFormat, true);\r\n if (dayjsObj.isValid()) {\r\n return dayjsObj;\r\n }\r\n return null;\r\n }, null);\r\n if (dt) {\r\n return new Date(dt.valueOf());\r\n }\r\n const special = SpecialValues[datum];\r\n if (special !== undefined) {\r\n return special;\r\n }\r\n return datum;\r\n };\r\n\r\n const csvStream = fastCsv\r\n .parse(options.parserOptions)\r\n .on('data', data => {\r\n worksheet.addRow(data.map(map));\r\n })\r\n .on('end', () => {\r\n csvStream.emit('worksheet', worksheet);\r\n });\r\n\r\n csvStream.on('worksheet', resolve).on('error', reject);\r\n\r\n stream.pipe(csvStream);\r\n });\r\n }\r\n\r\n /**\r\n * @deprecated since version 4.0. You should use `CSV#read` instead. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\r\n */\r\n createInputStream() {\r\n throw new Error(\r\n '`CSV#createInputStream` is deprecated. You should use `CSV#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md'\r\n );\r\n }\r\n\r\n write(stream, options) {\r\n return new Promise((resolve, reject) => {\r\n options = options || {};\r\n // const encoding = options.encoding || 'utf8';\r\n // const separator = options.separator || ',';\r\n // const quoteChar = options.quoteChar || '\\'';\r\n\r\n const worksheet = this.workbook.getWorksheet(options.sheetName || options.sheetId);\r\n\r\n const csvStream = fastCsv.format(options.formatterOptions);\r\n stream.on('finish', () => {\r\n resolve();\r\n });\r\n csvStream.on('error', reject);\r\n csvStream.pipe(stream);\r\n\r\n const {dateFormat, dateUTC} = options;\r\n const map =\r\n options.map ||\r\n (value => {\r\n if (value) {\r\n if (value.text || value.hyperlink) {\r\n return value.hyperlink || value.text || '';\r\n }\r\n if (value.formula || value.result) {\r\n return value.result || '';\r\n }\r\n if (value instanceof Date) {\r\n if (dateFormat) {\r\n return dateUTC\r\n ? dayjs.utc(value).format(dateFormat)\r\n : dayjs(value).format(dateFormat);\r\n }\r\n return dateUTC ? dayjs.utc(value).format() : dayjs(value).format();\r\n }\r\n if (value.error) {\r\n return value.error;\r\n }\r\n if (typeof value === 'object') {\r\n return JSON.stringify(value);\r\n }\r\n }\r\n return value;\r\n });\r\n\r\n const includeEmptyRows = options.includeEmptyRows === undefined || options.includeEmptyRows;\r\n let lastRow = 1;\r\n if (worksheet) {\r\n worksheet.eachRow((row, rowNumber) => {\r\n if (includeEmptyRows) {\r\n while (lastRow++ < rowNumber - 1) {\r\n csvStream.write([]);\r\n }\r\n }\r\n const {values} = row;\r\n values.shift();\r\n csvStream.write(values.map(map));\r\n lastRow = rowNumber;\r\n });\r\n }\r\n csvStream.end();\r\n });\r\n }\r\n\r\n writeFile(filename, options) {\r\n options = options || {};\r\n\r\n const streamOptions = {\r\n encoding: options.encoding || 'utf8',\r\n };\r\n const stream = fs.createWriteStream(filename, streamOptions);\r\n\r\n return this.write(stream, options);\r\n }\r\n\r\n async writeBuffer(options) {\r\n const stream = new StreamBuf();\r\n await this.write(stream, options);\r\n return stream.read();\r\n }\r\n}\r\n\r\nmodule.exports = CSV;\r\n","'use strict';\r\n\r\nconst colCache = require('../utils/col-cache');\r\n\r\nclass Anchor {\r\n constructor(worksheet, address, offset = 0) {\r\n if (!address) {\r\n this.nativeCol = 0;\r\n this.nativeColOff = 0;\r\n this.nativeRow = 0;\r\n this.nativeRowOff = 0;\r\n } else if (typeof address === 'string') {\r\n const decoded = colCache.decodeAddress(address);\r\n this.nativeCol = decoded.col + offset;\r\n this.nativeColOff = 0;\r\n this.nativeRow = decoded.row + offset;\r\n this.nativeRowOff = 0;\r\n } else if (address.nativeCol !== undefined) {\r\n this.nativeCol = address.nativeCol || 0;\r\n this.nativeColOff = address.nativeColOff || 0;\r\n this.nativeRow = address.nativeRow || 0;\r\n this.nativeRowOff = address.nativeRowOff || 0;\r\n } else if (address.col !== undefined) {\r\n this.col = address.col + offset;\r\n this.row = address.row + offset;\r\n } else {\r\n this.nativeCol = 0;\r\n this.nativeColOff = 0;\r\n this.nativeRow = 0;\r\n this.nativeRowOff = 0;\r\n }\r\n\r\n this.worksheet = worksheet;\r\n }\r\n\r\n static asInstance(model) {\r\n return model instanceof Anchor || model == null ? model : new Anchor(model);\r\n }\r\n\r\n get col() {\r\n return this.nativeCol + (Math.min(this.colWidth - 1, this.nativeColOff) / this.colWidth);\r\n }\r\n\r\n set col(v) {\r\n this.nativeCol = Math.floor(v);\r\n this.nativeColOff = Math.floor((v - this.nativeCol) * this.colWidth);\r\n }\r\n\r\n get row() {\r\n return this.nativeRow + (Math.min(this.rowHeight - 1, this.nativeRowOff) / this.rowHeight);\r\n }\r\n\r\n set row(v) {\r\n this.nativeRow = Math.floor(v);\r\n this.nativeRowOff = Math.floor((v - this.nativeRow) * this.rowHeight);\r\n }\r\n\r\n get colWidth() {\r\n return this.worksheet &&\r\n this.worksheet.getColumn(this.nativeCol + 1) &&\r\n this.worksheet.getColumn(this.nativeCol + 1).isCustomWidth\r\n ? Math.floor(this.worksheet.getColumn(this.nativeCol + 1).width * 10000)\r\n : 640000;\r\n }\r\n\r\n get rowHeight() {\r\n return this.worksheet &&\r\n this.worksheet.getRow(this.nativeRow + 1) &&\r\n this.worksheet.getRow(this.nativeRow + 1).height\r\n ? Math.floor(this.worksheet.getRow(this.nativeRow + 1).height * 10000)\r\n : 180000;\r\n }\r\n\r\n get model() {\r\n return {\r\n nativeCol: this.nativeCol,\r\n nativeColOff: this.nativeColOff,\r\n nativeRow: this.nativeRow,\r\n nativeRowOff: this.nativeRowOff,\r\n };\r\n }\r\n\r\n set model(value) {\r\n this.nativeCol = value.nativeCol;\r\n this.nativeColOff = value.nativeColOff;\r\n this.nativeRow = value.nativeRow;\r\n this.nativeRowOff = value.nativeRowOff;\r\n }\r\n}\r\n\r\nmodule.exports = Anchor;\r\n","/* eslint-disable max-classes-per-file */\r\nconst colCache = require('../utils/col-cache');\r\nconst _ = require('../utils/under-dash');\r\nconst Enums = require('./enums');\r\nconst {slideFormula} = require('../utils/shared-formula');\r\nconst Note = require('./note');\r\n// Cell requirements\r\n// Operate inside a worksheet\r\n// Store and retrieve a value with a range of types: text, number, date, hyperlink, reference, formula, etc.\r\n// Manage/use and manipulate cell format either as local to cell or inherited from column or row.\r\n\r\nclass Cell {\r\n constructor(row, column, address) {\r\n if (!row || !column) {\r\n throw new Error('A Cell needs a Row');\r\n }\r\n\r\n this._row = row;\r\n this._column = column;\r\n\r\n colCache.validateAddress(address);\r\n this._address = address;\r\n\r\n // TODO: lazy evaluation of this._value\r\n this._value = Value.create(Cell.Types.Null, this);\r\n\r\n this.style = this._mergeStyle(row.style, column.style, {});\r\n\r\n this._mergeCount = 0;\r\n }\r\n\r\n get worksheet() {\r\n return this._row.worksheet;\r\n }\r\n\r\n get workbook() {\r\n return this._row.worksheet.workbook;\r\n }\r\n\r\n // help GC by removing cyclic (and other) references\r\n destroy() {\r\n delete this.style;\r\n delete this._value;\r\n delete this._row;\r\n delete this._column;\r\n delete this._address;\r\n }\r\n\r\n // =========================================================================\r\n // Styles stuff\r\n get numFmt() {\r\n return this.style.numFmt;\r\n }\r\n\r\n set numFmt(value) {\r\n this.style.numFmt = value;\r\n }\r\n\r\n get font() {\r\n return this.style.font;\r\n }\r\n\r\n set font(value) {\r\n this.style.font = value;\r\n }\r\n\r\n get alignment() {\r\n return this.style.alignment;\r\n }\r\n\r\n set alignment(value) {\r\n this.style.alignment = value;\r\n }\r\n\r\n get border() {\r\n return this.style.border;\r\n }\r\n\r\n set border(value) {\r\n this.style.border = value;\r\n }\r\n\r\n get fill() {\r\n return this.style.fill;\r\n }\r\n\r\n set fill(value) {\r\n this.style.fill = value;\r\n }\r\n\r\n get protection() {\r\n return this.style.protection;\r\n }\r\n\r\n set protection(value) {\r\n this.style.protection = value;\r\n }\r\n\r\n _mergeStyle(rowStyle, colStyle, style) {\r\n const numFmt = (rowStyle && rowStyle.numFmt) || (colStyle && colStyle.numFmt);\r\n if (numFmt) style.numFmt = numFmt;\r\n\r\n const font = (rowStyle && rowStyle.font) || (colStyle && colStyle.font);\r\n if (font) style.font = font;\r\n\r\n const alignment = (rowStyle && rowStyle.alignment) || (colStyle && colStyle.alignment);\r\n if (alignment) style.alignment = alignment;\r\n\r\n const border = (rowStyle && rowStyle.border) || (colStyle && colStyle.border);\r\n if (border) style.border = border;\r\n\r\n const fill = (rowStyle && rowStyle.fill) || (colStyle && colStyle.fill);\r\n if (fill) style.fill = fill;\r\n\r\n const protection = (rowStyle && rowStyle.protection) || (colStyle && colStyle.protection);\r\n if (protection) style.protection = protection;\r\n\r\n return style;\r\n }\r\n\r\n // =========================================================================\r\n // return the address for this cell\r\n get address() {\r\n return this._address;\r\n }\r\n\r\n get row() {\r\n return this._row.number;\r\n }\r\n\r\n get col() {\r\n return this._column.number;\r\n }\r\n\r\n get $col$row() {\r\n return `$${this._column.letter}$${this.row}`;\r\n }\r\n\r\n // =========================================================================\r\n // Value stuff\r\n\r\n get type() {\r\n return this._value.type;\r\n }\r\n\r\n get effectiveType() {\r\n return this._value.effectiveType;\r\n }\r\n\r\n toCsvString() {\r\n return this._value.toCsvString();\r\n }\r\n\r\n // =========================================================================\r\n // Merge stuff\r\n\r\n addMergeRef() {\r\n this._mergeCount++;\r\n }\r\n\r\n releaseMergeRef() {\r\n this._mergeCount--;\r\n }\r\n\r\n get isMerged() {\r\n return this._mergeCount > 0 || this.type === Cell.Types.Merge;\r\n }\r\n\r\n merge(master, ignoreStyle) {\r\n this._value.release();\r\n this._value = Value.create(Cell.Types.Merge, this, master);\r\n if (!ignoreStyle) {\r\n this.style = master.style;\r\n }\r\n }\r\n\r\n unmerge() {\r\n if (this.type === Cell.Types.Merge) {\r\n this._value.release();\r\n this._value = Value.create(Cell.Types.Null, this);\r\n this.style = this._mergeStyle(this._row.style, this._column.style, {});\r\n }\r\n }\r\n\r\n isMergedTo(master) {\r\n if (this._value.type !== Cell.Types.Merge) return false;\r\n return this._value.isMergedTo(master);\r\n }\r\n\r\n get master() {\r\n if (this.type === Cell.Types.Merge) {\r\n return this._value.master;\r\n }\r\n return this; // an unmerged cell is its own master\r\n }\r\n\r\n get isHyperlink() {\r\n return this._value.type === Cell.Types.Hyperlink;\r\n }\r\n\r\n get hyperlink() {\r\n return this._value.hyperlink;\r\n }\r\n\r\n // return the value\r\n get value() {\r\n return this._value.value;\r\n }\r\n\r\n // set the value - can be number, string or raw\r\n set value(v) {\r\n // special case - merge cells set their master's value\r\n if (this.type === Cell.Types.Merge) {\r\n this._value.master.value = v;\r\n return;\r\n }\r\n\r\n this._value.release();\r\n\r\n // assign value\r\n this._value = Value.create(Value.getType(v), this, v);\r\n }\r\n\r\n get note() {\r\n return this._comment && this._comment.note;\r\n }\r\n\r\n set note(note) {\r\n this._comment = new Note(note);\r\n }\r\n\r\n get text() {\r\n return this._value.toString();\r\n }\r\n\r\n get html() {\r\n return _.escapeHtml(this.text);\r\n }\r\n\r\n toString() {\r\n return this.text;\r\n }\r\n\r\n _upgradeToHyperlink(hyperlink) {\r\n // if this cell is a string, turn it into a Hyperlink\r\n if (this.type === Cell.Types.String) {\r\n this._value = Value.create(Cell.Types.Hyperlink, this, {\r\n text: this._value.value,\r\n hyperlink,\r\n });\r\n }\r\n }\r\n\r\n // =========================================================================\r\n // Formula stuff\r\n get formula() {\r\n return this._value.formula;\r\n }\r\n\r\n get result() {\r\n return this._value.result;\r\n }\r\n\r\n get formulaType() {\r\n return this._value.formulaType;\r\n }\r\n\r\n // =========================================================================\r\n // Name stuff\r\n get fullAddress() {\r\n const {worksheet} = this._row;\r\n return {\r\n sheetName: worksheet.name,\r\n address: this.address,\r\n row: this.row,\r\n col: this.col,\r\n };\r\n }\r\n\r\n get name() {\r\n return this.names[0];\r\n }\r\n\r\n set name(value) {\r\n this.names = [value];\r\n }\r\n\r\n get names() {\r\n return this.workbook.definedNames.getNamesEx(this.fullAddress);\r\n }\r\n\r\n set names(value) {\r\n const {definedNames} = this.workbook;\r\n definedNames.removeAllNames(this.fullAddress);\r\n value.forEach(name => {\r\n definedNames.addEx(this.fullAddress, name);\r\n });\r\n }\r\n\r\n addName(name) {\r\n this.workbook.definedNames.addEx(this.fullAddress, name);\r\n }\r\n\r\n removeName(name) {\r\n this.workbook.definedNames.removeEx(this.fullAddress, name);\r\n }\r\n\r\n removeAllNames() {\r\n this.workbook.definedNames.removeAllNames(this.fullAddress);\r\n }\r\n\r\n // =========================================================================\r\n // Data Validation stuff\r\n get _dataValidations() {\r\n return this.worksheet.dataValidations;\r\n }\r\n\r\n get dataValidation() {\r\n return this._dataValidations.find(this.address);\r\n }\r\n\r\n set dataValidation(value) {\r\n this._dataValidations.add(this.address, value);\r\n }\r\n\r\n // =========================================================================\r\n // Model stuff\r\n\r\n get model() {\r\n const {model} = this._value;\r\n model.style = this.style;\r\n if (this._comment) {\r\n model.comment = this._comment.model;\r\n }\r\n return model;\r\n }\r\n\r\n set model(value) {\r\n this._value.release();\r\n this._value = Value.create(value.type, this);\r\n this._value.model = value;\r\n\r\n if (value.comment) {\r\n switch (value.comment.type) {\r\n case 'note':\r\n this._comment = Note.fromModel(value.comment);\r\n break;\r\n }\r\n }\r\n\r\n if (value.style) {\r\n this.style = value.style;\r\n } else {\r\n this.style = {};\r\n }\r\n }\r\n}\r\nCell.Types = Enums.ValueType;\r\n\r\n// =============================================================================\r\n// Internal Value Types\r\n\r\nclass NullValue {\r\n constructor(cell) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Null,\r\n };\r\n }\r\n\r\n get value() {\r\n return null;\r\n }\r\n\r\n set value(value) {\r\n // nothing to do\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Null;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.Null;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return '';\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return '';\r\n }\r\n}\r\n\r\nclass NumberValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Number,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Number;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.Number;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.model.value.toString();\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value.toString();\r\n }\r\n}\r\n\r\nclass StringValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.String,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.String;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.String;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return `\"${this.model.value.replace(/\"/g, '\"\"')}\"`;\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value;\r\n }\r\n}\r\n\r\nclass RichTextValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.String,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n toString() {\r\n return this.model.value.richText.map(t => t.text).join('');\r\n }\r\n\r\n get type() {\r\n return Cell.Types.RichText;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.RichText;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return `\"${this.text.replace(/\"/g, '\"\"')}\"`;\r\n }\r\n\r\n release() {}\r\n}\r\n\r\nclass DateValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Date,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Date;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.Date;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.model.value.toISOString();\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value.toString();\r\n }\r\n}\r\n\r\nclass HyperlinkValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Hyperlink,\r\n text: value ? value.text : undefined,\r\n hyperlink: value ? value.hyperlink : undefined,\r\n };\r\n if (value && value.tooltip) {\r\n this.model.tooltip = value.tooltip;\r\n }\r\n }\r\n\r\n get value() {\r\n const v = {\r\n text: this.model.text,\r\n hyperlink: this.model.hyperlink,\r\n };\r\n if (this.model.tooltip) {\r\n v.tooltip = this.model.tooltip;\r\n }\r\n return v;\r\n }\r\n\r\n set value(value) {\r\n this.model = {\r\n text: value.text,\r\n hyperlink: value.hyperlink,\r\n };\r\n if (value.tooltip) {\r\n this.model.tooltip = value.tooltip;\r\n }\r\n }\r\n\r\n get text() {\r\n return this.model.text;\r\n }\r\n\r\n set text(value) {\r\n this.model.text = value;\r\n }\r\n\r\n /*\r\n get tooltip() {\r\n return this.model.tooltip;\r\n }\r\n\r\n set tooltip(value) {\r\n this.model.tooltip = value;\r\n } */\r\n\r\n get hyperlink() {\r\n return this.model.hyperlink;\r\n }\r\n\r\n set hyperlink(value) {\r\n this.model.hyperlink = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Hyperlink;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.Hyperlink;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.model.hyperlink;\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.text;\r\n }\r\n}\r\n\r\nclass MergeValue {\r\n constructor(cell, master) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Merge,\r\n master: master ? master.address : undefined,\r\n };\r\n this._master = master;\r\n if (master) {\r\n master.addMergeRef();\r\n }\r\n }\r\n\r\n get value() {\r\n return this._master.value;\r\n }\r\n\r\n set value(value) {\r\n if (value instanceof Cell) {\r\n if (this._master) {\r\n this._master.releaseMergeRef();\r\n }\r\n value.addMergeRef();\r\n this._master = value;\r\n } else {\r\n this._master.value = value;\r\n }\r\n }\r\n\r\n isMergedTo(master) {\r\n return master === this._master;\r\n }\r\n\r\n get master() {\r\n return this._master;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Merge;\r\n }\r\n\r\n get effectiveType() {\r\n return this._master.effectiveType;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return '';\r\n }\r\n\r\n release() {\r\n this._master.releaseMergeRef();\r\n }\r\n\r\n toString() {\r\n return this.value.toString();\r\n }\r\n}\r\n\r\nclass FormulaValue {\r\n constructor(cell, value) {\r\n this.cell = cell;\r\n\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Formula,\r\n shareType: value ? value.shareType : undefined,\r\n ref: value ? value.ref : undefined,\r\n formula: value ? value.formula : undefined,\r\n sharedFormula: value ? value.sharedFormula : undefined,\r\n result: value ? value.result : undefined,\r\n };\r\n }\r\n\r\n _copyModel(model) {\r\n const copy = {};\r\n const cp = name => {\r\n const value = model[name];\r\n if (value) {\r\n copy[name] = value;\r\n }\r\n };\r\n cp('formula');\r\n cp('result');\r\n cp('ref');\r\n cp('shareType');\r\n cp('sharedFormula');\r\n return copy;\r\n }\r\n\r\n get value() {\r\n return this._copyModel(this.model);\r\n }\r\n\r\n set value(value) {\r\n this.model = this._copyModel(value);\r\n }\r\n\r\n validate(value) {\r\n switch (Value.getType(value)) {\r\n case Cell.Types.Null:\r\n case Cell.Types.String:\r\n case Cell.Types.Number:\r\n case Cell.Types.Date:\r\n break;\r\n case Cell.Types.Hyperlink:\r\n case Cell.Types.Formula:\r\n default:\r\n throw new Error('Cannot process that type of result value');\r\n }\r\n }\r\n\r\n get dependencies() {\r\n // find all the ranges and cells mentioned in the formula\r\n const ranges = this.formula.match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g);\r\n const cells = this.formula\r\n .replace(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}:[A-Z]{1,3}\\d{1,4}/g, '')\r\n .match(/([a-zA-Z0-9]+!)?[A-Z]{1,3}\\d{1,4}/g);\r\n return {\r\n ranges,\r\n cells,\r\n };\r\n }\r\n\r\n get formula() {\r\n return this.model.formula || this._getTranslatedFormula();\r\n }\r\n\r\n set formula(value) {\r\n this.model.formula = value;\r\n }\r\n\r\n get formulaType() {\r\n if (this.model.formula) {\r\n return Enums.FormulaType.Master;\r\n }\r\n if (this.model.sharedFormula) {\r\n return Enums.FormulaType.Shared;\r\n }\r\n return Enums.FormulaType.None;\r\n }\r\n\r\n get result() {\r\n return this.model.result;\r\n }\r\n\r\n set result(value) {\r\n this.model.result = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Formula;\r\n }\r\n\r\n get effectiveType() {\r\n const v = this.model.result;\r\n if (v === null || v === undefined) {\r\n return Enums.ValueType.Null;\r\n }\r\n if (v instanceof String || typeof v === 'string') {\r\n return Enums.ValueType.String;\r\n }\r\n if (typeof v === 'number') {\r\n return Enums.ValueType.Number;\r\n }\r\n if (v instanceof Date) {\r\n return Enums.ValueType.Date;\r\n }\r\n if (v.text && v.hyperlink) {\r\n return Enums.ValueType.Hyperlink;\r\n }\r\n if (v.formula) {\r\n return Enums.ValueType.Formula;\r\n }\r\n\r\n return Enums.ValueType.Null;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n _getTranslatedFormula() {\r\n if (!this._translatedFormula && this.model.sharedFormula) {\r\n const {worksheet} = this.cell;\r\n const master = worksheet.findCell(this.model.sharedFormula);\r\n this._translatedFormula =\r\n master && slideFormula(master.formula, master.address, this.model.address);\r\n }\r\n return this._translatedFormula;\r\n }\r\n\r\n toCsvString() {\r\n return `${this.model.result || ''}`;\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.result ? this.model.result.toString() : '';\r\n }\r\n}\r\n\r\nclass SharedStringValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.SharedString,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.SharedString;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.SharedString;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.model.value.toString();\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value.toString();\r\n }\r\n}\r\n\r\nclass BooleanValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Boolean,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Boolean;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.Boolean;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.model.value ? 1 : 0;\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value.toString();\r\n }\r\n}\r\n\r\nclass ErrorValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.Error,\r\n value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.value;\r\n }\r\n\r\n set value(value) {\r\n this.model.value = value;\r\n }\r\n\r\n get type() {\r\n return Cell.Types.Error;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.Error;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.toString();\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value.error.toString();\r\n }\r\n}\r\n\r\nclass JSONValue {\r\n constructor(cell, value) {\r\n this.model = {\r\n address: cell.address,\r\n type: Cell.Types.String,\r\n value: JSON.stringify(value),\r\n rawValue: value,\r\n };\r\n }\r\n\r\n get value() {\r\n return this.model.rawValue;\r\n }\r\n\r\n set value(value) {\r\n this.model.rawValue = value;\r\n this.model.value = JSON.stringify(value);\r\n }\r\n\r\n get type() {\r\n return Cell.Types.String;\r\n }\r\n\r\n get effectiveType() {\r\n return Cell.Types.String;\r\n }\r\n\r\n get address() {\r\n return this.model.address;\r\n }\r\n\r\n set address(value) {\r\n this.model.address = value;\r\n }\r\n\r\n toCsvString() {\r\n return this.model.value;\r\n }\r\n\r\n release() {}\r\n\r\n toString() {\r\n return this.model.value;\r\n }\r\n}\r\n\r\n// Value is a place to hold common static Value type functions\r\nconst Value = {\r\n getType(value) {\r\n if (value === null || value === undefined) {\r\n return Cell.Types.Null;\r\n }\r\n if (value instanceof String || typeof value === 'string') {\r\n return Cell.Types.String;\r\n }\r\n if (typeof value === 'number') {\r\n return Cell.Types.Number;\r\n }\r\n if (typeof value === 'boolean') {\r\n return Cell.Types.Boolean;\r\n }\r\n if (value instanceof Date) {\r\n return Cell.Types.Date;\r\n }\r\n if (value.text && value.hyperlink) {\r\n return Cell.Types.Hyperlink;\r\n }\r\n if (value.formula || value.sharedFormula) {\r\n return Cell.Types.Formula;\r\n }\r\n if (value.richText) {\r\n return Cell.Types.RichText;\r\n }\r\n if (value.sharedString) {\r\n return Cell.Types.SharedString;\r\n }\r\n if (value.error) {\r\n return Cell.Types.Error;\r\n }\r\n return Cell.Types.JSON;\r\n },\r\n\r\n // map valueType to constructor\r\n types: [\r\n {t: Cell.Types.Null, f: NullValue},\r\n {t: Cell.Types.Number, f: NumberValue},\r\n {t: Cell.Types.String, f: StringValue},\r\n {t: Cell.Types.Date, f: DateValue},\r\n {t: Cell.Types.Hyperlink, f: HyperlinkValue},\r\n {t: Cell.Types.Formula, f: FormulaValue},\r\n {t: Cell.Types.Merge, f: MergeValue},\r\n {t: Cell.Types.JSON, f: JSONValue},\r\n {t: Cell.Types.SharedString, f: SharedStringValue},\r\n {t: Cell.Types.RichText, f: RichTextValue},\r\n {t: Cell.Types.Boolean, f: BooleanValue},\r\n {t: Cell.Types.Error, f: ErrorValue},\r\n ].reduce((p, t) => {\r\n p[t.t] = t.f;\r\n return p;\r\n }, []),\r\n\r\n create(type, cell, value) {\r\n const T = this.types[type];\r\n if (!T) {\r\n throw new Error(`Could not create Value of type ${type}`);\r\n }\r\n return new T(cell, value);\r\n },\r\n};\r\n\r\nmodule.exports = Cell;\r\n","'use strict';\r\n\r\nconst _ = require('../utils/under-dash');\r\n\r\nconst Enums = require('./enums');\r\nconst colCache = require('../utils/col-cache');\r\n\r\nconst DEFAULT_COLUMN_WIDTH = 9;\r\n\r\n// Column defines the column properties for 1 column.\r\n// This includes header rows, widths, key, (style), etc.\r\n// Worksheet will condense the columns as appropriate during serialization\r\nclass Column {\r\n constructor(worksheet, number, defn) {\r\n this._worksheet = worksheet;\r\n this._number = number;\r\n if (defn !== false) {\r\n // sometimes defn will follow\r\n this.defn = defn;\r\n }\r\n }\r\n\r\n get number() {\r\n return this._number;\r\n }\r\n\r\n get worksheet() {\r\n return this._worksheet;\r\n }\r\n\r\n get letter() {\r\n return colCache.n2l(this._number);\r\n }\r\n\r\n get isCustomWidth() {\r\n return this.width !== undefined && this.width !== DEFAULT_COLUMN_WIDTH;\r\n }\r\n\r\n get defn() {\r\n return {\r\n header: this._header,\r\n key: this.key,\r\n width: this.width,\r\n style: this.style,\r\n hidden: this.hidden,\r\n outlineLevel: this.outlineLevel,\r\n };\r\n }\r\n\r\n set defn(value) {\r\n if (value) {\r\n this.key = value.key;\r\n this.width = value.width !== undefined ? value.width : DEFAULT_COLUMN_WIDTH;\r\n this.outlineLevel = value.outlineLevel;\r\n if (value.style) {\r\n this.style = value.style;\r\n } else {\r\n this.style = {};\r\n }\r\n\r\n // headers must be set after style\r\n this.header = value.header;\r\n this._hidden = !!value.hidden;\r\n } else {\r\n delete this._header;\r\n delete this._key;\r\n delete this.width;\r\n this.style = {};\r\n this.outlineLevel = 0;\r\n }\r\n }\r\n\r\n get headers() {\r\n return this._header && this._header instanceof Array ? this._header : [this._header];\r\n }\r\n\r\n get header() {\r\n return this._header;\r\n }\r\n\r\n set header(value) {\r\n if (value !== undefined) {\r\n this._header = value;\r\n this.headers.forEach((text, index) => {\r\n this._worksheet.getCell(index + 1, this.number).value = text;\r\n });\r\n } else {\r\n this._header = undefined;\r\n }\r\n }\r\n\r\n get key() {\r\n return this._key;\r\n }\r\n\r\n set key(value) {\r\n const column = this._key && this._worksheet.getColumnKey(this._key);\r\n if (column === this) {\r\n this._worksheet.deleteColumnKey(this._key);\r\n }\r\n\r\n this._key = value;\r\n if (value) {\r\n this._worksheet.setColumnKey(this._key, this);\r\n }\r\n }\r\n\r\n get hidden() {\r\n return !!this._hidden;\r\n }\r\n\r\n set hidden(value) {\r\n this._hidden = value;\r\n }\r\n\r\n get outlineLevel() {\r\n return this._outlineLevel || 0;\r\n }\r\n\r\n set outlineLevel(value) {\r\n this._outlineLevel = value;\r\n }\r\n\r\n get collapsed() {\r\n return !!(\r\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelCol\r\n );\r\n }\r\n\r\n toString() {\r\n return JSON.stringify({\r\n key: this.key,\r\n width: this.width,\r\n headers: this.headers.length ? this.headers : undefined,\r\n });\r\n }\r\n\r\n equivalentTo(other) {\r\n return (\r\n this.width === other.width &&\r\n this.hidden === other.hidden &&\r\n this.outlineLevel === other.outlineLevel &&\r\n _.isEqual(this.style, other.style)\r\n );\r\n }\r\n\r\n get isDefault() {\r\n if (this.isCustomWidth) {\r\n return false;\r\n }\r\n if (this.hidden) {\r\n return false;\r\n }\r\n if (this.outlineLevel) {\r\n return false;\r\n }\r\n const s = this.style;\r\n if (s && (s.font || s.numFmt || s.alignment || s.border || s.fill || s.protection)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n get headerCount() {\r\n return this.headers.length;\r\n }\r\n\r\n eachCell(options, iteratee) {\r\n const colNumber = this.number;\r\n if (!iteratee) {\r\n iteratee = options;\r\n options = null;\r\n }\r\n this._worksheet.eachRow(options, (row, rowNumber) => {\r\n iteratee(row.getCell(colNumber), rowNumber);\r\n });\r\n }\r\n\r\n get values() {\r\n const v = [];\r\n this.eachCell((cell, rowNumber) => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n v[rowNumber] = cell.value;\r\n }\r\n });\r\n return v;\r\n }\r\n\r\n set values(v) {\r\n if (!v) {\r\n return;\r\n }\r\n const colNumber = this.number;\r\n let offset = 0;\r\n if (v.hasOwnProperty('0')) {\r\n // assume contiguous array, start at row 1\r\n offset = 1;\r\n }\r\n v.forEach((value, index) => {\r\n this._worksheet.getCell(index + offset, colNumber).value = value;\r\n });\r\n }\r\n\r\n // =========================================================================\r\n // styles\r\n _applyStyle(name, value) {\r\n this.style[name] = value;\r\n this.eachCell(cell => {\r\n cell[name] = value;\r\n });\r\n return value;\r\n }\r\n\r\n get numFmt() {\r\n return this.style.numFmt;\r\n }\r\n\r\n set numFmt(value) {\r\n this._applyStyle('numFmt', value);\r\n }\r\n\r\n get font() {\r\n return this.style.font;\r\n }\r\n\r\n set font(value) {\r\n this._applyStyle('font', value);\r\n }\r\n\r\n get alignment() {\r\n return this.style.alignment;\r\n }\r\n\r\n set alignment(value) {\r\n this._applyStyle('alignment', value);\r\n }\r\n\r\n get protection() {\r\n return this.style.protection;\r\n }\r\n\r\n set protection(value) {\r\n this._applyStyle('protection', value);\r\n }\r\n\r\n get border() {\r\n return this.style.border;\r\n }\r\n\r\n set border(value) {\r\n this._applyStyle('border', value);\r\n }\r\n\r\n get fill() {\r\n return this.style.fill;\r\n }\r\n\r\n set fill(value) {\r\n this._applyStyle('fill', value);\r\n }\r\n\r\n // =============================================================================\r\n // static functions\r\n\r\n static toModel(columns) {\r\n // Convert array of Column into compressed list cols\r\n const cols = [];\r\n let col = null;\r\n if (columns) {\r\n columns.forEach((column, index) => {\r\n if (column.isDefault) {\r\n if (col) {\r\n col = null;\r\n }\r\n } else if (!col || !column.equivalentTo(col)) {\r\n col = {\r\n min: index + 1,\r\n max: index + 1,\r\n width: column.width !== undefined ? column.width : DEFAULT_COLUMN_WIDTH,\r\n style: column.style,\r\n isCustomWidth: column.isCustomWidth,\r\n hidden: column.hidden,\r\n outlineLevel: column.outlineLevel,\r\n collapsed: column.collapsed,\r\n };\r\n cols.push(col);\r\n } else {\r\n col.max = index + 1;\r\n }\r\n });\r\n }\r\n return cols.length ? cols : undefined;\r\n }\r\n\r\n static fromModel(worksheet, cols) {\r\n cols = cols || [];\r\n const columns = [];\r\n let count = 1;\r\n let index = 0;\r\n while (index < cols.length) {\r\n const col = cols[index++];\r\n while (count < col.min) {\r\n columns.push(new Column(worksheet, count++));\r\n }\r\n while (count <= col.max) {\r\n columns.push(new Column(worksheet, count++, col));\r\n }\r\n }\r\n return columns.length ? columns : null;\r\n }\r\n}\r\n\r\nmodule.exports = Column;\r\n","class DataValidations {\r\n constructor(model) {\r\n this.model = model || {};\r\n }\r\n\r\n add(address, validation) {\r\n return (this.model[address] = validation);\r\n }\r\n\r\n find(address) {\r\n return this.model[address];\r\n }\r\n\r\n remove(address) {\r\n this.model[address] = undefined;\r\n }\r\n}\r\n\r\nmodule.exports = DataValidations;\r\n","'use strict';\r\n\r\nconst _ = require('../utils/under-dash');\r\nconst colCache = require('../utils/col-cache');\r\nconst CellMatrix = require('../utils/cell-matrix');\r\nconst Range = require('./range');\r\n\r\nconst rangeRegexp = /[$](\\w+)[$](\\d+)(:[$](\\w+)[$](\\d+))?/;\r\n\r\nclass DefinedNames {\r\n constructor() {\r\n this.matrixMap = {};\r\n }\r\n\r\n getMatrix(name) {\r\n const matrix = this.matrixMap[name] || (this.matrixMap[name] = new CellMatrix());\r\n return matrix;\r\n }\r\n\r\n // add a name to a cell. locStr in the form SheetName!$col$row or SheetName!$c1$r1:$c2:$r2\r\n add(locStr, name) {\r\n const location = colCache.decodeEx(locStr);\r\n this.addEx(location, name);\r\n }\r\n\r\n addEx(location, name) {\r\n const matrix = this.getMatrix(name);\r\n if (location.top) {\r\n for (let col = location.left; col <= location.right; col++) {\r\n for (let row = location.top; row <= location.bottom; row++) {\r\n const address = {\r\n sheetName: location.sheetName,\r\n address: colCache.n2l(col) + row,\r\n row,\r\n col,\r\n };\r\n\r\n matrix.addCellEx(address);\r\n }\r\n }\r\n } else {\r\n matrix.addCellEx(location);\r\n }\r\n }\r\n\r\n remove(locStr, name) {\r\n const location = colCache.decodeEx(locStr);\r\n this.removeEx(location, name);\r\n }\r\n\r\n removeEx(location, name) {\r\n const matrix = this.getMatrix(name);\r\n matrix.removeCellEx(location);\r\n }\r\n\r\n removeAllNames(location) {\r\n _.each(this.matrixMap, matrix => {\r\n matrix.removeCellEx(location);\r\n });\r\n }\r\n\r\n forEach(callback) {\r\n _.each(this.matrixMap, (matrix, name) => {\r\n matrix.forEach(cell => {\r\n callback(name, cell);\r\n });\r\n });\r\n }\r\n\r\n // get all the names of a cell\r\n getNames(addressStr) {\r\n return this.getNamesEx(colCache.decodeEx(addressStr));\r\n }\r\n\r\n getNamesEx(address) {\r\n return _.map(this.matrixMap, (matrix, name) => matrix.findCellEx(address) && name).filter(\r\n Boolean\r\n );\r\n }\r\n\r\n _explore(matrix, cell) {\r\n cell.mark = false;\r\n const {sheetName} = cell;\r\n\r\n const range = new Range(cell.row, cell.col, cell.row, cell.col, sheetName);\r\n let x;\r\n let y;\r\n\r\n // grow vertical - only one col to worry about\r\n function vGrow(yy, edge) {\r\n const c = matrix.findCellAt(sheetName, yy, cell.col);\r\n if (!c || !c.mark) {\r\n return false;\r\n }\r\n range[edge] = yy;\r\n c.mark = false;\r\n return true;\r\n }\r\n for (y = cell.row - 1; vGrow(y, 'top'); y--);\r\n for (y = cell.row + 1; vGrow(y, 'bottom'); y++);\r\n\r\n // grow horizontal - ensure all rows can grow\r\n function hGrow(xx, edge) {\r\n const cells = [];\r\n for (y = range.top; y <= range.bottom; y++) {\r\n const c = matrix.findCellAt(sheetName, y, xx);\r\n if (c && c.mark) {\r\n cells.push(c);\r\n } else {\r\n return false;\r\n }\r\n }\r\n range[edge] = xx;\r\n for (let i = 0; i < cells.length; i++) {\r\n cells[i].mark = false;\r\n }\r\n return true;\r\n }\r\n for (x = cell.col - 1; hGrow(x, 'left'); x--);\r\n for (x = cell.col + 1; hGrow(x, 'right'); x++);\r\n\r\n return range;\r\n }\r\n\r\n getRanges(name, matrix) {\r\n matrix = matrix || this.matrixMap[name];\r\n\r\n if (!matrix) {\r\n return {name, ranges: []};\r\n }\r\n\r\n // mark and sweep!\r\n matrix.forEach(cell => {\r\n cell.mark = true;\r\n });\r\n const ranges = matrix\r\n .map(cell => cell.mark && this._explore(matrix, cell))\r\n .filter(Boolean)\r\n .map(range => range.$shortRange);\r\n\r\n return {\r\n name,\r\n ranges,\r\n };\r\n }\r\n\r\n normaliseMatrix(matrix, sheetName) {\r\n // some of the cells might have shifted on specified sheet\r\n // need to reassign rows, cols\r\n matrix.forEachInSheet(sheetName, (cell, row, col) => {\r\n if (cell) {\r\n if (cell.row !== row || cell.col !== col) {\r\n cell.row = row;\r\n cell.col = col;\r\n cell.address = colCache.n2l(col) + row;\r\n }\r\n }\r\n });\r\n }\r\n\r\n spliceRows(sheetName, start, numDelete, numInsert) {\r\n _.each(this.matrixMap, matrix => {\r\n matrix.spliceRows(sheetName, start, numDelete, numInsert);\r\n this.normaliseMatrix(matrix, sheetName);\r\n });\r\n }\r\n\r\n spliceColumns(sheetName, start, numDelete, numInsert) {\r\n _.each(this.matrixMap, matrix => {\r\n matrix.spliceColumns(sheetName, start, numDelete, numInsert);\r\n this.normaliseMatrix(matrix, sheetName);\r\n });\r\n }\r\n\r\n get model() {\r\n // To get names per cell - just iterate over all names finding cells if they exist\r\n return _.map(this.matrixMap, (matrix, name) => this.getRanges(name, matrix)).filter(\r\n definedName => definedName.ranges.length\r\n );\r\n }\r\n\r\n set model(value) {\r\n // value is [ { name, ranges }, ... ]\r\n const matrixMap = (this.matrixMap = {});\r\n value.forEach(definedName => {\r\n const matrix = (matrixMap[definedName.name] = new CellMatrix());\r\n definedName.ranges.forEach(rangeStr => {\r\n if (rangeRegexp.test(rangeStr.split('!').pop() || '')) {\r\n matrix.addCell(rangeStr);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nmodule.exports = DefinedNames;\r\n","'use strict';\r\n\r\nmodule.exports = {\r\n ValueType: {\r\n Null: 0,\r\n Merge: 1,\r\n Number: 2,\r\n String: 3,\r\n Date: 4,\r\n Hyperlink: 5,\r\n Formula: 6,\r\n SharedString: 7,\r\n RichText: 8,\r\n Boolean: 9,\r\n Error: 10,\r\n },\r\n FormulaType: {\r\n None: 0,\r\n Master: 1,\r\n Shared: 2,\r\n },\r\n RelationshipType: {\r\n None: 0,\r\n OfficeDocument: 1,\r\n Worksheet: 2,\r\n CalcChain: 3,\r\n SharedStrings: 4,\r\n Styles: 5,\r\n Theme: 6,\r\n Hyperlink: 7,\r\n },\r\n DocumentType: {\r\n Xlsx: 1,\r\n },\r\n ReadingOrder: {\r\n LeftToRight: 1,\r\n RightToLeft: 2,\r\n },\r\n ErrorValue: {\r\n NotApplicable: '#N/A',\r\n Ref: '#REF!',\r\n Name: '#NAME?',\r\n DivZero: '#DIV/0!',\r\n Null: '#NULL!',\r\n Value: '#VALUE!',\r\n Num: '#NUM!',\r\n },\r\n};\r\n","const colCache = require('../utils/col-cache');\r\nconst Anchor = require('./anchor');\r\n\r\nclass Image {\r\n constructor(worksheet, model) {\r\n this.worksheet = worksheet;\r\n this.model = model;\r\n }\r\n\r\n get model() {\r\n switch (this.type) {\r\n case 'background':\r\n return {\r\n type: this.type,\r\n imageId: this.imageId,\r\n };\r\n case 'image':\r\n return {\r\n type: this.type,\r\n imageId: this.imageId,\r\n hyperlinks: this.range.hyperlinks,\r\n range: {\r\n tl: this.range.tl.model,\r\n br: this.range.br && this.range.br.model,\r\n ext: this.range.ext,\r\n editAs: this.range.editAs,\r\n },\r\n };\r\n default:\r\n throw new Error('Invalid Image Type');\r\n }\r\n }\r\n\r\n set model({type, imageId, range, hyperlinks}) {\r\n this.type = type;\r\n this.imageId = imageId;\r\n\r\n if (type === 'image') {\r\n if (typeof range === 'string') {\r\n const decoded = colCache.decode(range);\r\n this.range = {\r\n tl: new Anchor(this.worksheet, {col: decoded.left, row: decoded.top}, -1),\r\n br: new Anchor(this.worksheet, {col: decoded.right, row: decoded.bottom}, 0),\r\n editAs: 'oneCell',\r\n };\r\n } else {\r\n this.range = {\r\n tl: new Anchor(this.worksheet, range.tl, 0),\r\n br: range.br && new Anchor(this.worksheet, range.br, 0),\r\n ext: range.ext,\r\n editAs: range.editAs,\r\n hyperlinks: hyperlinks || range.hyperlinks,\r\n };\r\n }\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = Image;\r\n","const _ = require('../utils/under-dash');\r\n\r\nclass Note {\r\n constructor(note) {\r\n this.note = note;\r\n }\r\n\r\n get model() {\r\n let value = null;\r\n switch (typeof this.note) {\r\n case 'string':\r\n value = {\r\n type: 'note',\r\n note: {\r\n texts: [\r\n {\r\n text: this.note,\r\n },\r\n ],\r\n },\r\n };\r\n break;\r\n default:\r\n value = {\r\n type: 'note',\r\n note: this.note,\r\n };\r\n break;\r\n }\r\n // Suitable for all cell comments\r\n return _.deepMerge({}, Note.DEFAULT_CONFIGS, value);\r\n }\r\n\r\n set model(value) {\r\n const {note} = value;\r\n const {texts} = note;\r\n if (texts.length === 1 && Object.keys(texts[0]).length === 1) {\r\n this.note = texts[0].text;\r\n } else {\r\n this.note = note;\r\n }\r\n }\r\n\r\n static fromModel(model) {\r\n const note = new Note();\r\n note.model = model;\r\n return note;\r\n }\r\n}\r\n\r\nNote.DEFAULT_CONFIGS = {\r\n note: {\r\n margins: {\r\n insetmode: 'auto',\r\n inset: [0.13, 0.13, 0.25, 0.25],\r\n },\r\n protection: {\r\n locked: 'True',\r\n lockText: 'True',\r\n },\r\n editAs: 'absolute',\r\n },\r\n};\r\n\r\nmodule.exports = Note;\r\n","const colCache = require('../utils/col-cache');\r\n\r\n// used by worksheet to calculate sheet dimensions\r\nclass Range {\r\n constructor() {\r\n this.decode(arguments);\r\n }\r\n\r\n setTLBR(t, l, b, r, s) {\r\n if (arguments.length < 4) {\r\n // setTLBR(tl, br, s)\r\n const tl = colCache.decodeAddress(t);\r\n const br = colCache.decodeAddress(l);\r\n this.model = {\r\n top: Math.min(tl.row, br.row),\r\n left: Math.min(tl.col, br.col),\r\n bottom: Math.max(tl.row, br.row),\r\n right: Math.max(tl.col, br.col),\r\n sheetName: b,\r\n };\r\n\r\n this.setTLBR(tl.row, tl.col, br.row, br.col, s);\r\n } else {\r\n // setTLBR(t, l, b, r, s)\r\n this.model = {\r\n top: Math.min(t, b),\r\n left: Math.min(l, r),\r\n bottom: Math.max(t, b),\r\n right: Math.max(l, r),\r\n sheetName: s,\r\n };\r\n }\r\n }\r\n\r\n decode(argv) {\r\n switch (argv.length) {\r\n case 5: // [t,l,b,r,s]\r\n this.setTLBR(argv[0], argv[1], argv[2], argv[3], argv[4]);\r\n break;\r\n case 4: // [t,l,b,r]\r\n this.setTLBR(argv[0], argv[1], argv[2], argv[3]);\r\n break;\r\n\r\n case 3: // [tl,br,s]\r\n this.setTLBR(argv[0], argv[1], argv[2]);\r\n break;\r\n case 2: // [tl,br]\r\n this.setTLBR(argv[0], argv[1]);\r\n break;\r\n\r\n case 1: {\r\n const value = argv[0];\r\n if (value instanceof Range) {\r\n // copy constructor\r\n this.model = {\r\n top: value.model.top,\r\n left: value.model.left,\r\n bottom: value.model.bottom,\r\n right: value.model.right,\r\n sheetName: value.sheetName,\r\n };\r\n } else if (value instanceof Array) {\r\n // an arguments array\r\n this.decode(value);\r\n } else if (value.top && value.left && value.bottom && value.right) {\r\n // a model\r\n this.model = {\r\n top: value.top,\r\n left: value.left,\r\n bottom: value.bottom,\r\n right: value.right,\r\n sheetName: value.sheetName,\r\n };\r\n } else {\r\n // [sheetName!]tl:br\r\n const tlbr = colCache.decodeEx(value);\r\n if (tlbr.top) {\r\n this.model = {\r\n top: tlbr.top,\r\n left: tlbr.left,\r\n bottom: tlbr.bottom,\r\n right: tlbr.right,\r\n sheetName: tlbr.sheetName,\r\n };\r\n } else {\r\n this.model = {\r\n top: tlbr.row,\r\n left: tlbr.col,\r\n bottom: tlbr.row,\r\n right: tlbr.col,\r\n sheetName: tlbr.sheetName,\r\n };\r\n }\r\n }\r\n break;\r\n }\r\n\r\n case 0:\r\n this.model = {\r\n top: 0,\r\n left: 0,\r\n bottom: 0,\r\n right: 0,\r\n };\r\n break;\r\n\r\n default:\r\n throw new Error(`Invalid number of arguments to _getDimensions() - ${argv.length}`);\r\n }\r\n }\r\n\r\n get top() {\r\n return this.model.top || 1;\r\n }\r\n\r\n set top(value) {\r\n this.model.top = value;\r\n }\r\n\r\n get left() {\r\n return this.model.left || 1;\r\n }\r\n\r\n set left(value) {\r\n this.model.left = value;\r\n }\r\n\r\n get bottom() {\r\n return this.model.bottom || 1;\r\n }\r\n\r\n set bottom(value) {\r\n this.model.bottom = value;\r\n }\r\n\r\n get right() {\r\n return this.model.right || 1;\r\n }\r\n\r\n set right(value) {\r\n this.model.right = value;\r\n }\r\n\r\n get sheetName() {\r\n return this.model.sheetName;\r\n }\r\n\r\n set sheetName(value) {\r\n this.model.sheetName = value;\r\n }\r\n\r\n get _serialisedSheetName() {\r\n const {sheetName} = this.model;\r\n if (sheetName) {\r\n if (/^[a-zA-Z0-9]*$/.test(sheetName)) {\r\n return `${sheetName}!`;\r\n }\r\n return `'${sheetName}'!`;\r\n }\r\n return '';\r\n }\r\n\r\n expand(top, left, bottom, right) {\r\n if (!this.model.top || top < this.top) this.top = top;\r\n if (!this.model.left || left < this.left) this.left = left;\r\n if (!this.model.bottom || bottom > this.bottom) this.bottom = bottom;\r\n if (!this.model.right || right > this.right) this.right = right;\r\n }\r\n\r\n expandRow(row) {\r\n if (row) {\r\n const {dimensions, number} = row;\r\n if (dimensions) {\r\n this.expand(number, dimensions.min, number, dimensions.max);\r\n }\r\n }\r\n }\r\n\r\n expandToAddress(addressStr) {\r\n const address = colCache.decodeEx(addressStr);\r\n this.expand(address.row, address.col, address.row, address.col);\r\n }\r\n\r\n get tl() {\r\n return colCache.n2l(this.left) + this.top;\r\n }\r\n\r\n get $t$l() {\r\n return `$${colCache.n2l(this.left)}$${this.top}`;\r\n }\r\n\r\n get br() {\r\n return colCache.n2l(this.right) + this.bottom;\r\n }\r\n\r\n get $b$r() {\r\n return `$${colCache.n2l(this.right)}$${this.bottom}`;\r\n }\r\n\r\n get range() {\r\n return `${this._serialisedSheetName + this.tl}:${this.br}`;\r\n }\r\n\r\n get $range() {\r\n return `${this._serialisedSheetName + this.$t$l}:${this.$b$r}`;\r\n }\r\n\r\n get shortRange() {\r\n return this.count > 1 ? this.range : this._serialisedSheetName + this.tl;\r\n }\r\n\r\n get $shortRange() {\r\n return this.count > 1 ? this.$range : this._serialisedSheetName + this.$t$l;\r\n }\r\n\r\n get count() {\r\n return (1 + this.bottom - this.top) * (1 + this.right - this.left);\r\n }\r\n\r\n toString() {\r\n return this.range;\r\n }\r\n\r\n intersects(other) {\r\n if (other.sheetName && this.sheetName && other.sheetName !== this.sheetName) return false;\r\n if (other.bottom < this.top) return false;\r\n if (other.top > this.bottom) return false;\r\n if (other.right < this.left) return false;\r\n if (other.left > this.right) return false;\r\n return true;\r\n }\r\n\r\n contains(addressStr) {\r\n const address = colCache.decodeEx(addressStr);\r\n return this.containsEx(address);\r\n }\r\n\r\n containsEx(address) {\r\n if (address.sheetName && this.sheetName && address.sheetName !== this.sheetName) return false;\r\n return (\r\n address.row >= this.top &&\r\n address.row <= this.bottom &&\r\n address.col >= this.left &&\r\n address.col <= this.right\r\n );\r\n }\r\n\r\n forEachAddress(cb) {\r\n for (let col = this.left; col <= this.right; col++) {\r\n for (let row = this.top; row <= this.bottom; row++) {\r\n cb(colCache.encodeAddress(row, col), row, col);\r\n }\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = Range;\r\n","'use strict';\r\n\r\nconst _ = require('../utils/under-dash');\r\n\r\nconst Enums = require('./enums');\r\nconst colCache = require('../utils/col-cache');\r\nconst Cell = require('./cell');\r\n\r\nclass Row {\r\n constructor(worksheet, number) {\r\n this._worksheet = worksheet;\r\n this._number = number;\r\n this._cells = [];\r\n this.style = {};\r\n this.outlineLevel = 0;\r\n }\r\n\r\n // return the row number\r\n get number() {\r\n return this._number;\r\n }\r\n\r\n get worksheet() {\r\n return this._worksheet;\r\n }\r\n\r\n // Inform Streaming Writer that this row (and all rows before it) are complete\r\n // and ready to write. Has no effect on Worksheet document\r\n commit() {\r\n this._worksheet._commitRow(this); // eslint-disable-line no-underscore-dangle\r\n }\r\n\r\n // helps GC by breaking cyclic references\r\n destroy() {\r\n delete this._worksheet;\r\n delete this._cells;\r\n delete this.style;\r\n }\r\n\r\n findCell(colNumber) {\r\n return this._cells[colNumber - 1];\r\n }\r\n\r\n // given {address, row, col}, find or create new cell\r\n getCellEx(address) {\r\n let cell = this._cells[address.col - 1];\r\n if (!cell) {\r\n const column = this._worksheet.getColumn(address.col);\r\n cell = new Cell(this, column, address.address);\r\n this._cells[address.col - 1] = cell;\r\n }\r\n return cell;\r\n }\r\n\r\n // get cell by key, letter or column number\r\n getCell(col) {\r\n if (typeof col === 'string') {\r\n // is it a key?\r\n const column = this._worksheet.getColumnKey(col);\r\n if (column) {\r\n col = column.number;\r\n } else {\r\n col = colCache.l2n(col);\r\n }\r\n }\r\n return (\r\n this._cells[col - 1] ||\r\n this.getCellEx({\r\n address: colCache.encodeAddress(this._number, col),\r\n row: this._number,\r\n col,\r\n })\r\n );\r\n }\r\n\r\n // remove cell(s) and shift all higher cells down by count\r\n splice(start, count, ...inserts) {\r\n const nKeep = start + count;\r\n const nExpand = inserts.length - count;\r\n const nEnd = this._cells.length;\r\n let i;\r\n let cSrc;\r\n let cDst;\r\n\r\n if (nExpand < 0) {\r\n // remove cells\r\n for (i = start + inserts.length; i <= nEnd; i++) {\r\n cDst = this._cells[i - 1];\r\n cSrc = this._cells[i - nExpand - 1];\r\n if (cSrc) {\r\n cDst = this.getCell(i);\r\n cDst.value = cSrc.value;\r\n cDst.style = cSrc.style;\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = cSrc._comment;\r\n } else if (cDst) {\r\n cDst.value = null;\r\n cDst.style = {};\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = undefined;\r\n }\r\n }\r\n } else if (nExpand > 0) {\r\n // insert new cells\r\n for (i = nEnd; i >= nKeep; i--) {\r\n cSrc = this._cells[i - 1];\r\n if (cSrc) {\r\n cDst = this.getCell(i + nExpand);\r\n cDst.value = cSrc.value;\r\n cDst.style = cSrc.style;\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = cSrc._comment;\r\n } else {\r\n this._cells[i + nExpand - 1] = undefined;\r\n }\r\n }\r\n }\r\n\r\n // now add the new values\r\n for (i = 0; i < inserts.length; i++) {\r\n cDst = this.getCell(start + i);\r\n cDst.value = inserts[i];\r\n cDst.style = {};\r\n // eslint-disable-next-line no-underscore-dangle\r\n cDst._comment = undefined;\r\n }\r\n }\r\n\r\n // Iterate over all non-null cells in this row\r\n eachCell(options, iteratee) {\r\n if (!iteratee) {\r\n iteratee = options;\r\n options = null;\r\n }\r\n if (options && options.includeEmpty) {\r\n const n = this._cells.length;\r\n for (let i = 1; i <= n; i++) {\r\n iteratee(this.getCell(i), i);\r\n }\r\n } else {\r\n this._cells.forEach((cell, index) => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n iteratee(cell, index + 1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Page Breaks\r\n addPageBreak(lft, rght) {\r\n const ws = this._worksheet;\r\n const left = Math.max(0, lft - 1) || 0;\r\n const right = Math.max(0, rght - 1) || 16838;\r\n const pb = {\r\n id: this._number,\r\n max: right,\r\n man: 1,\r\n };\r\n if (left) pb.min = left;\r\n\r\n ws.rowBreaks.push(pb);\r\n }\r\n\r\n // return a sparse array of cell values\r\n get values() {\r\n const values = [];\r\n this._cells.forEach(cell => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n values[cell.col] = cell.value;\r\n }\r\n });\r\n return values;\r\n }\r\n\r\n // set the values by contiguous or sparse array, or by key'd object literal\r\n set values(value) {\r\n // this operation is not additive - any prior cells are removed\r\n this._cells = [];\r\n if (!value) {\r\n // empty row\r\n } else if (value instanceof Array) {\r\n let offset = 0;\r\n if (value.hasOwnProperty('0')) {\r\n // contiguous array - start at column 1\r\n offset = 1;\r\n }\r\n value.forEach((item, index) => {\r\n if (item !== undefined) {\r\n this.getCellEx({\r\n address: colCache.encodeAddress(this._number, index + offset),\r\n row: this._number,\r\n col: index + offset,\r\n }).value = item;\r\n }\r\n });\r\n } else {\r\n // assume object with column keys\r\n this._worksheet.eachColumnKey((column, key) => {\r\n if (value[key] !== undefined) {\r\n this.getCellEx({\r\n address: colCache.encodeAddress(this._number, column.number),\r\n row: this._number,\r\n col: column.number,\r\n }).value = value[key];\r\n }\r\n });\r\n }\r\n }\r\n\r\n // returns true if the row includes at least one cell with a value\r\n get hasValues() {\r\n return _.some(this._cells, cell => cell && cell.type !== Enums.ValueType.Null);\r\n }\r\n\r\n get cellCount() {\r\n return this._cells.length;\r\n }\r\n\r\n get actualCellCount() {\r\n let count = 0;\r\n this.eachCell(() => {\r\n count++;\r\n });\r\n return count;\r\n }\r\n\r\n // get the min and max column number for the non-null cells in this row or null\r\n get dimensions() {\r\n let min = 0;\r\n let max = 0;\r\n this._cells.forEach(cell => {\r\n if (cell && cell.type !== Enums.ValueType.Null) {\r\n if (!min || min > cell.col) {\r\n min = cell.col;\r\n }\r\n if (max < cell.col) {\r\n max = cell.col;\r\n }\r\n }\r\n });\r\n return min > 0\r\n ? {\r\n min,\r\n max,\r\n }\r\n : null;\r\n }\r\n\r\n // =========================================================================\r\n // styles\r\n _applyStyle(name, value) {\r\n this.style[name] = value;\r\n this._cells.forEach(cell => {\r\n if (cell) {\r\n cell[name] = value;\r\n }\r\n });\r\n return value;\r\n }\r\n\r\n get numFmt() {\r\n return this.style.numFmt;\r\n }\r\n\r\n set numFmt(value) {\r\n this._applyStyle('numFmt', value);\r\n }\r\n\r\n get font() {\r\n return this.style.font;\r\n }\r\n\r\n set font(value) {\r\n this._applyStyle('font', value);\r\n }\r\n\r\n get alignment() {\r\n return this.style.alignment;\r\n }\r\n\r\n set alignment(value) {\r\n this._applyStyle('alignment', value);\r\n }\r\n\r\n get protection() {\r\n return this.style.protection;\r\n }\r\n\r\n set protection(value) {\r\n this._applyStyle('protection', value);\r\n }\r\n\r\n get border() {\r\n return this.style.border;\r\n }\r\n\r\n set border(value) {\r\n this._applyStyle('border', value);\r\n }\r\n\r\n get fill() {\r\n return this.style.fill;\r\n }\r\n\r\n set fill(value) {\r\n this._applyStyle('fill', value);\r\n }\r\n\r\n get hidden() {\r\n return !!this._hidden;\r\n }\r\n\r\n set hidden(value) {\r\n this._hidden = value;\r\n }\r\n\r\n get outlineLevel() {\r\n return this._outlineLevel || 0;\r\n }\r\n\r\n set outlineLevel(value) {\r\n this._outlineLevel = value;\r\n }\r\n\r\n get collapsed() {\r\n return !!(\r\n this._outlineLevel && this._outlineLevel >= this._worksheet.properties.outlineLevelRow\r\n );\r\n }\r\n\r\n // =========================================================================\r\n get model() {\r\n const cells = [];\r\n let min = 0;\r\n let max = 0;\r\n this._cells.forEach(cell => {\r\n if (cell) {\r\n const cellModel = cell.model;\r\n if (cellModel) {\r\n if (!min || min > cell.col) {\r\n min = cell.col;\r\n }\r\n if (max < cell.col) {\r\n max = cell.col;\r\n }\r\n cells.push(cellModel);\r\n }\r\n }\r\n });\r\n\r\n return this.height || cells.length\r\n ? {\r\n cells,\r\n number: this.number,\r\n min,\r\n max,\r\n height: this.height,\r\n style: this.style,\r\n hidden: this.hidden,\r\n outlineLevel: this.outlineLevel,\r\n collapsed: this.collapsed,\r\n }\r\n : null;\r\n }\r\n\r\n set model(value) {\r\n if (value.number !== this._number) {\r\n throw new Error('Invalid row number in model');\r\n }\r\n this._cells = [];\r\n let previousAddress;\r\n value.cells.forEach(cellModel => {\r\n switch (cellModel.type) {\r\n case Cell.Types.Merge:\r\n // special case - don't add this types\r\n break;\r\n default: {\r\n let address;\r\n if (cellModel.address) {\r\n address = colCache.decodeAddress(cellModel.address);\r\n } else if (previousAddress) {\r\n // This is a <c> element without an r attribute\r\n // Assume that it's the cell for the next column\r\n const {row} = previousAddress;\r\n const col = previousAddress.col + 1;\r\n address = {\r\n row,\r\n col,\r\n address: colCache.encodeAddress(row, col),\r\n $col$row: `$${colCache.n2l(col)}$${row}`,\r\n };\r\n }\r\n previousAddress = address;\r\n const cell = this.getCellEx(address);\r\n cell.model = cellModel;\r\n break;\r\n }\r\n }\r\n });\r\n\r\n if (value.height) {\r\n this.height = value.height;\r\n } else {\r\n delete this.height;\r\n }\r\n\r\n this.hidden = value.hidden;\r\n this.outlineLevel = value.outlineLevel || 0;\r\n\r\n this.style = (value.style && JSON.parse(JSON.stringify(value.style))) || {};\r\n }\r\n}\r\n\r\nmodule.exports = Row;\r\n","/* eslint-disable max-classes-per-file */\r\nconst colCache = require('../utils/col-cache');\r\n\r\nclass Column {\r\n // wrapper around column model, allowing access and manipulation\r\n constructor(table, column, index) {\r\n this.table = table;\r\n this.column = column;\r\n this.index = index;\r\n }\r\n\r\n _set(name, value) {\r\n this.table.cacheState();\r\n this.column[name] = value;\r\n }\r\n\r\n /* eslint-disable lines-between-class-members */\r\n get name() {\r\n return this.column.name;\r\n }\r\n set name(value) {\r\n this._set('name', value);\r\n }\r\n\r\n get filterButton() {\r\n return this.column.filterButton;\r\n }\r\n set filterButton(value) {\r\n this.column.filterButton = value;\r\n }\r\n\r\n get style() {\r\n return this.column.style;\r\n }\r\n set style(value) {\r\n this.column.style = value;\r\n }\r\n\r\n get totalsRowLabel() {\r\n return this.column.totalsRowLabel;\r\n }\r\n set totalsRowLabel(value) {\r\n this._set('totalsRowLabel', value);\r\n }\r\n\r\n get totalsRowFunction() {\r\n return this.column.totalsRowFunction;\r\n }\r\n set totalsRowFunction(value) {\r\n this._set('totalsRowFunction', value);\r\n }\r\n\r\n get totalsRowResult() {\r\n return this.column.totalsRowResult;\r\n }\r\n set totalsRowResult(value) {\r\n this._set('totalsRowResult', value);\r\n }\r\n\r\n get totalsRowFormula() {\r\n return this.column.totalsRowFormula;\r\n }\r\n set totalsRowFormula(value) {\r\n this._set('totalsRowFormula', value);\r\n }\r\n /* eslint-enable lines-between-class-members */\r\n}\r\n\r\nclass Table {\r\n constructor(worksheet, table) {\r\n this.worksheet = worksheet;\r\n if (table) {\r\n this.table = table;\r\n // check things are ok first\r\n this.validate();\r\n\r\n this.store();\r\n }\r\n }\r\n\r\n getFormula(column) {\r\n // get the correct formula to apply to the totals row\r\n switch (column.totalsRowFunction) {\r\n case 'none':\r\n return null;\r\n case 'average':\r\n return `SUBTOTAL(101,${this.table.name}[${column.name}])`;\r\n case 'countNums':\r\n return `SUBTOTAL(102,${this.table.name}[${column.name}])`;\r\n case 'count':\r\n return `SUBTOTAL(103,${this.table.name}[${column.name}])`;\r\n case 'max':\r\n return `SUBTOTAL(104,${this.table.name}[${column.name}])`;\r\n case 'min':\r\n return `SUBTOTAL(105,${this.table.name}[${column.name}])`;\r\n case 'stdDev':\r\n return `SUBTOTAL(106,${this.table.name}[${column.name}])`;\r\n case 'var':\r\n return `SUBTOTAL(107,${this.table.name}[${column.name}])`;\r\n case 'sum':\r\n return `SUBTOTAL(109,${this.table.name}[${column.name}])`;\r\n case 'custom':\r\n return column.totalsRowFormula;\r\n default:\r\n throw new Error(`Invalid Totals Row Function: ${column.totalsRowFunction}`);\r\n }\r\n }\r\n\r\n get width() {\r\n // width of the table\r\n return this.table.columns.length;\r\n }\r\n\r\n get height() {\r\n // height of the table data\r\n return this.table.rows.length;\r\n }\r\n\r\n get filterHeight() {\r\n // height of the table data plus optional header row\r\n return this.height + (this.table.headerRow ? 1 : 0);\r\n }\r\n\r\n get tableHeight() {\r\n // full height of the table on the sheet\r\n return this.filterHeight + (this.table.totalsRow ? 1 : 0);\r\n }\r\n\r\n validate() {\r\n const {table} = this;\r\n // set defaults and check is valid\r\n const assign = (o, name, dflt) => {\r\n if (o[name] === undefined) {\r\n o[name] = dflt;\r\n }\r\n };\r\n assign(table, 'headerRow', true);\r\n assign(table, 'totalsRow', false);\r\n\r\n assign(table, 'style', {});\r\n assign(table.style, 'theme', 'TableStyleMedium2');\r\n assign(table.style, 'showFirstColumn', false);\r\n assign(table.style, 'showLastColumn', false);\r\n assign(table.style, 'showRowStripes', false);\r\n assign(table.style, 'showColumnStripes', false);\r\n\r\n const assert = (test, message) => {\r\n if (!test) {\r\n throw new Error(message);\r\n }\r\n };\r\n assert(table.ref, 'Table must have ref');\r\n assert(table.columns, 'Table must have column definitions');\r\n assert(table.rows, 'Table must have row definitions');\r\n\r\n table.tl = colCache.decodeAddress(table.ref);\r\n const {row, col} = table.tl;\r\n assert(row > 0, 'Table must be on valid row');\r\n assert(col > 0, 'Table must be on valid col');\r\n\r\n const {width, filterHeight, tableHeight} = this;\r\n\r\n // autoFilterRef is a range that includes optional headers only\r\n table.autoFilterRef = colCache.encode(row, col, row + filterHeight - 1, col + width - 1);\r\n\r\n // tableRef is a range that includes optional headers and totals\r\n table.tableRef = colCache.encode(row, col, row + tableHeight - 1, col + width - 1);\r\n\r\n table.columns.forEach((column, i) => {\r\n assert(column.name, `Column ${i} must have a name`);\r\n if (i === 0) {\r\n assign(column, 'totalsRowLabel', 'Total');\r\n } else {\r\n assign(column, 'totalsRowFunction', 'none');\r\n column.totalsRowFormula = this.getFormula(column);\r\n }\r\n });\r\n }\r\n\r\n store() {\r\n // where the table needs to store table data, headers, footers in\r\n // the sheet...\r\n const assignStyle = (cell, style) => {\r\n if (style) {\r\n Object.keys(style).forEach(key => {\r\n cell[key] = style[key];\r\n });\r\n }\r\n };\r\n\r\n const {worksheet, table} = this;\r\n const {row, col} = table.tl;\r\n let count = 0;\r\n if (table.headerRow) {\r\n const r = worksheet.getRow(row + count++);\r\n table.columns.forEach((column, j) => {\r\n const {style, name} = column;\r\n const cell = r.getCell(col + j);\r\n cell.value = name;\r\n assignStyle(cell, style);\r\n });\r\n }\r\n table.rows.forEach(data => {\r\n const r = worksheet.getRow(row + count++);\r\n data.forEach((value, j) => {\r\n const cell = r.getCell(col + j);\r\n cell.value = value;\r\n\r\n assignStyle(cell, table.columns[j].style);\r\n });\r\n });\r\n\r\n if (table.totalsRow) {\r\n const r = worksheet.getRow(row + count++);\r\n table.columns.forEach((column, j) => {\r\n const cell = r.getCell(col + j);\r\n if (j === 0) {\r\n cell.value = column.totalsRowLabel;\r\n } else {\r\n const formula = this.getFormula(column);\r\n if (formula) {\r\n cell.value = {\r\n formula: column.totalsRowFormula,\r\n result: column.totalsRowResult,\r\n };\r\n } else {\r\n cell.value = null;\r\n }\r\n }\r\n\r\n assignStyle(cell, column.style);\r\n });\r\n }\r\n }\r\n\r\n load(worksheet) {\r\n // where the table will read necessary features from a loaded sheet\r\n const {table} = this;\r\n const {row, col} = table.tl;\r\n let count = 0;\r\n if (table.headerRow) {\r\n const r = worksheet.getRow(row + count++);\r\n table.columns.forEach((column, j) => {\r\n const cell = r.getCell(col + j);\r\n cell.value = column.name;\r\n });\r\n }\r\n table.rows.forEach(data => {\r\n const r = worksheet.getRow(row + count++);\r\n data.forEach((value, j) => {\r\n const cell = r.getCell(col + j);\r\n cell.value = value;\r\n });\r\n });\r\n\r\n if (table.totalsRow) {\r\n const r = worksheet.getRow(row + count++);\r\n table.columns.forEach((column, j) => {\r\n const cell = r.getCell(col + j);\r\n if (j === 0) {\r\n cell.value = column.totalsRowLabel;\r\n } else {\r\n const formula = this.getFormula(column);\r\n if (formula) {\r\n cell.value = {\r\n formula: column.totalsRowFormula,\r\n result: column.totalsRowResult,\r\n };\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n get model() {\r\n return this.table;\r\n }\r\n\r\n set model(value) {\r\n this.table = value;\r\n }\r\n\r\n // ================================================================\r\n // TODO: Mutating methods\r\n cacheState() {\r\n if (!this._cache) {\r\n this._cache = {\r\n ref: this.ref,\r\n width: this.width,\r\n tableHeight: this.tableHeight,\r\n };\r\n }\r\n }\r\n\r\n commit() {\r\n // changes may have been made that might have on-sheet effects\r\n if (!this._cache) {\r\n return;\r\n }\r\n\r\n // check things are ok first\r\n this.validate();\r\n\r\n const ref = colCache.decodeAddress(this._cache.ref);\r\n if (this.ref !== this._cache.ref) {\r\n // wipe out whole table footprint at previous location\r\n for (let i = 0; i < this._cache.tableHeight; i++) {\r\n const row = this.worksheet.getRow(ref.row + i);\r\n for (let j = 0; j < this._cache.width; j++) {\r\n const cell = row.getCell(ref.col + j);\r\n cell.value = null;\r\n }\r\n }\r\n } else {\r\n // clear out below table if it has shrunk\r\n for (let i = this.tableHeight; i < this._cache.tableHeight; i++) {\r\n const row = this.worksheet.getRow(ref.row + i);\r\n for (let j = 0; j < this._cache.width; j++) {\r\n const cell = row.getCell(ref.col + j);\r\n cell.value = null;\r\n }\r\n }\r\n\r\n // clear out to right of table if it has lost columns\r\n for (let i = 0; i < this.tableHeight; i++) {\r\n const row = this.worksheet.getRow(ref.row + i);\r\n for (let j = this.width; j < this._cache.width; j++) {\r\n const cell = row.getCell(ref.col + j);\r\n cell.value = null;\r\n }\r\n }\r\n }\r\n\r\n this.store();\r\n }\r\n\r\n addRow(values, rowNumber) {\r\n // Add a row of data, either insert at rowNumber or append\r\n this.cacheState();\r\n\r\n if (rowNumber === undefined) {\r\n this.table.rows.push(values);\r\n } else {\r\n this.table.rows.splice(rowNumber, 0, values);\r\n }\r\n }\r\n\r\n removeRows(rowIndex, count = 1) {\r\n // Remove a rows of data\r\n this.cacheState();\r\n this.table.rows.splice(rowIndex, count);\r\n }\r\n\r\n getColumn(colIndex) {\r\n const column = this.table.columns[colIndex];\r\n return new Column(this, column, colIndex);\r\n }\r\n\r\n addColumn(column, values, colIndex) {\r\n // Add a new column, including column defn and values\r\n // Inserts at colNumber or adds to the right\r\n this.cacheState();\r\n\r\n if (colIndex === undefined) {\r\n this.table.columns.push(column);\r\n this.table.rows.forEach((row, i) => {\r\n row.push(values[i]);\r\n });\r\n } else {\r\n this.table.columns.splice(colIndex, 0, column);\r\n this.table.rows.forEach((row, i) => {\r\n row.splice(colIndex, 0, values[i]);\r\n });\r\n }\r\n }\r\n\r\n removeColumns(colIndex, count = 1) {\r\n // Remove a column with data\r\n this.cacheState();\r\n\r\n this.table.columns.splice(colIndex, count);\r\n this.table.rows.forEach(row => {\r\n row.splice(colIndex, count);\r\n });\r\n }\r\n\r\n _assign(target, prop, value) {\r\n this.cacheState();\r\n target[prop] = value;\r\n }\r\n\r\n /* eslint-disable lines-between-class-members */\r\n get ref() {\r\n return this.table.ref;\r\n }\r\n set ref(value) {\r\n this._assign(this.table, 'ref', value);\r\n }\r\n\r\n get name() {\r\n return this.table.name;\r\n }\r\n set name(value) {\r\n this.table.name = value;\r\n }\r\n\r\n get displayName() {\r\n return this.table.displyName || this.table.name;\r\n }\r\n set displayNamename(value) {\r\n this.table.displayName = value;\r\n }\r\n\r\n get headerRow() {\r\n return this.table.headerRow;\r\n }\r\n set headerRow(value) {\r\n this._assign(this.table, 'headerRow', value);\r\n }\r\n\r\n get totalsRow() {\r\n return this.table.totalsRow;\r\n }\r\n set totalsRow(value) {\r\n this._assign(this.table, 'totalsRow', value);\r\n }\r\n\r\n get theme() {\r\n return this.table.style.name;\r\n }\r\n set theme(value) {\r\n this.table.style.name = value;\r\n }\r\n\r\n get showFirstColumn() {\r\n return this.table.style.showFirstColumn;\r\n }\r\n set showFirstColumn(value) {\r\n this.table.style.showFirstColumn = value;\r\n }\r\n\r\n get showLastColumn() {\r\n return this.table.style.showLastColumn;\r\n }\r\n set showLastColumn(value) {\r\n this.table.style.showLastColumn = value;\r\n }\r\n\r\n get showRowStripes() {\r\n return this.table.style.showRowStripes;\r\n }\r\n set showRowStripes(value) {\r\n this.table.style.showRowStripes = value;\r\n }\r\n\r\n get showColumnStripes() {\r\n return this.table.style.showColumnStripes;\r\n }\r\n set showColumnStripes(value) {\r\n this.table.style.showColumnStripes = value;\r\n }\r\n /* eslint-enable lines-between-class-members */\r\n}\r\n\r\nmodule.exports = Table;\r\n","'use strict';\r\n\r\nconst Worksheet = require('./worksheet');\r\nconst DefinedNames = require('./defined-names');\r\nconst XLSX = require('../xlsx/xlsx');\r\nconst CSV = require('../csv/csv');\r\n\r\n// Workbook requirements\r\n// Load and Save from file and stream\r\n// Access/Add/Delete individual worksheets\r\n// Manage String table, Hyperlink table, etc.\r\n// Manage scaffolding for contained objects to write to/read from\r\n\r\nclass Workbook {\r\n constructor() {\r\n this.category = '';\r\n this.company = '';\r\n this.created = new Date();\r\n this.description = '';\r\n this.keywords = '';\r\n this.manager = '';\r\n this.modified = this.created;\r\n this.properties = {};\r\n this.calcProperties = {};\r\n this._worksheets = [];\r\n this.subject = '';\r\n this.title = '';\r\n this.views = [];\r\n this.media = [];\r\n this._definedNames = new DefinedNames();\r\n }\r\n\r\n get xlsx() {\r\n if (!this._xlsx) this._xlsx = new XLSX(this);\r\n return this._xlsx;\r\n }\r\n\r\n get csv() {\r\n if (!this._csv) this._csv = new CSV(this);\r\n return this._csv;\r\n }\r\n\r\n get nextId() {\r\n // find the next unique spot to add worksheet\r\n for (let i = 1; i < this._worksheets.length; i++) {\r\n if (!this._worksheets[i]) {\r\n return i;\r\n }\r\n }\r\n return this._worksheets.length || 1;\r\n }\r\n\r\n addWorksheet(name, options) {\r\n const id = this.nextId;\r\n\r\n if (name && name.length > 31) {\r\n // eslint-disable-next-line no-console\r\n console.warn(`Worksheet name ${name} exceeds 31 chars. This will be truncated`);\r\n }\r\n\r\n // Illegal character in worksheet name: asterisk (*), question mark (?),\r\n // colon (:), forward slash (/ \\), or bracket ([])\r\n if (/[*?:/\\\\[\\]]/.test(name)) {\r\n throw new Error(\r\n `Worksheet name ${name} cannot include any of the following characters: * ? : \\\\ / [ ]`\r\n );\r\n }\r\n\r\n if (/(^')|('$)/.test(name)) {\r\n throw new Error(\r\n `The first or last character of worksheet name cannot be a single quotation mark: ${name}`\r\n );\r\n }\r\n\r\n name = (name || `sheet${id}`).substring(0, 31);\r\n if (this._worksheets.find(ws => ws && ws.name.toLowerCase() === name.toLowerCase())) {\r\n throw new Error(`Worksheet name already exists: ${name}`);\r\n }\r\n\r\n // if options is a color, call it tabColor (and signal deprecated message)\r\n if (options) {\r\n if (typeof options === 'string') {\r\n // eslint-disable-next-line no-console\r\n console.trace(\r\n 'tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { argb: \"rbg value\" } }'\r\n );\r\n options = {\r\n properties: {\r\n tabColor: {argb: options},\r\n },\r\n };\r\n } else if (options.argb || options.theme || options.indexed) {\r\n // eslint-disable-next-line no-console\r\n console.trace(\r\n 'tabColor argument is now deprecated. Please use workbook.addWorksheet(name, {properties: { tabColor: { ... } }'\r\n );\r\n options = {\r\n properties: {\r\n tabColor: options,\r\n },\r\n };\r\n }\r\n }\r\n\r\n const lastOrderNo = this._worksheets.reduce(\r\n (acc, ws) => ((ws && ws.orderNo) > acc ? ws.orderNo : acc),\r\n 0\r\n );\r\n const worksheetOptions = Object.assign({}, options, {\r\n id,\r\n name,\r\n orderNo: lastOrderNo + 1,\r\n workbook: this,\r\n });\r\n\r\n const worksheet = new Worksheet(worksheetOptions);\r\n\r\n this._worksheets[id] = worksheet;\r\n return worksheet;\r\n }\r\n\r\n removeWorksheetEx(worksheet) {\r\n delete this._worksheets[worksheet.id];\r\n }\r\n\r\n removeWorksheet(id) {\r\n const worksheet = this.getWorksheet(id);\r\n if (worksheet) {\r\n worksheet.destroy();\r\n }\r\n }\r\n\r\n getWorksheet(id) {\r\n if (id === undefined) {\r\n return this._worksheets.find(Boolean);\r\n }\r\n if (typeof id === 'number') {\r\n return this._worksheets[id];\r\n }\r\n if (typeof id === 'string') {\r\n return this._worksheets.find(worksheet => worksheet && worksheet.name === id);\r\n }\r\n return undefined;\r\n }\r\n\r\n get worksheets() {\r\n // return a clone of _worksheets\r\n return this._worksheets\r\n .slice(1)\r\n .sort((a, b) => a.orderNo - b.orderNo)\r\n .filter(Boolean);\r\n }\r\n\r\n eachSheet(iteratee) {\r\n this.worksheets.forEach(sheet => {\r\n iteratee(sheet, sheet.id);\r\n });\r\n }\r\n\r\n get definedNames() {\r\n return this._definedNames;\r\n }\r\n\r\n clearThemes() {\r\n // Note: themes are not an exposed feature, meddle at your peril!\r\n this._themes = undefined;\r\n }\r\n\r\n addImage(image) {\r\n // TODO: validation?\r\n const id = this.media.length;\r\n this.media.push(Object.assign({}, image, {type: 'image'}));\r\n return id;\r\n }\r\n\r\n getImage(id) {\r\n return this.media[id];\r\n }\r\n\r\n get model() {\r\n return {\r\n creator: this.creator || 'Unknown',\r\n lastModifiedBy: this.lastModifiedBy || 'Unknown',\r\n lastPrinted: this.lastPrinted,\r\n created: this.created,\r\n modified: this.modified,\r\n properties: this.properties,\r\n worksheets: this.worksheets.map(worksheet => worksheet.model),\r\n sheets: this.worksheets.map(ws => ws.model).filter(Boolean),\r\n definedNames: this._definedNames.model,\r\n views: this.views,\r\n company: this.company,\r\n manager: this.manager,\r\n title: this.title,\r\n subject: this.subject,\r\n keywords: this.keywords,\r\n category: this.category,\r\n description: this.description,\r\n language: this.language,\r\n revision: this.revision,\r\n contentStatus: this.contentStatus,\r\n themes: this._themes,\r\n media: this.media,\r\n calcProperties: this.calcProperties,\r\n };\r\n }\r\n\r\n set model(value) {\r\n this.creator = value.creator;\r\n this.lastModifiedBy = value.lastModifiedBy;\r\n this.lastPrinted = value.lastPrinted;\r\n this.created = value.created;\r\n this.modified = value.modified;\r\n this.company = value.company;\r\n this.manager = value.manager;\r\n this.title = value.title;\r\n this.subject = value.subject;\r\n this.keywords = value.keywords;\r\n this.category = value.category;\r\n this.description = value.description;\r\n this.language = value.language;\r\n this.revision = value.revision;\r\n this.contentStatus = value.contentStatus;\r\n\r\n this.properties = value.properties;\r\n this.calcProperties = value.calcProperties;\r\n this._worksheets = [];\r\n value.worksheets.forEach(worksheetModel => {\r\n const {id, name, state} = worksheetModel;\r\n const orderNo = value.sheets && value.sheets.findIndex(ws => ws.id === id);\r\n const worksheet = (this._worksheets[id] = new Worksheet({\r\n id,\r\n name,\r\n orderNo,\r\n state,\r\n workbook: this,\r\n }));\r\n\r\n worksheet.model = worksheetModel;\r\n });\r\n\r\n this._definedNames.model = value.definedNames;\r\n this.views = value.views;\r\n this._themes = value.themes;\r\n this.media = value.media || [];\r\n }\r\n}\r\n\r\nmodule.exports = Workbook;\r\n","const _ = require('../utils/under-dash');\r\n\r\nconst colCache = require('../utils/col-cache');\r\nconst Range = require('./range');\r\nconst Row = require('./row');\r\nconst Column = require('./column');\r\nconst Enums = require('./enums');\r\nconst Image = require('./image');\r\nconst Table = require('./table');\r\nconst DataValidations = require('./data-validations');\r\nconst Encryptor = require('../utils/encryptor');\r\n\r\n// Worksheet requirements\r\n// Operate as sheet inside workbook or standalone\r\n// Load and Save from file and stream\r\n// Access/Add/Delete individual cells\r\n// Manage column widths and row heights\r\n\r\nclass Worksheet {\r\n constructor(options) {\r\n options = options || {};\r\n\r\n // in a workbook, each sheet will have a number\r\n this.id = options.id;\r\n this.orderNo = options.orderNo;\r\n\r\n // and a name\r\n this.name = options.name || `Sheet${this.id}`;\r\n\r\n // add a state\r\n this.state = options.state || 'visible';\r\n\r\n // rows allows access organised by row. Sparse array of arrays indexed by row-1, col\r\n // Note: _rows is zero based. Must subtract 1 to go from cell.row to index\r\n this._rows = [];\r\n\r\n // column definitions\r\n this._columns = null;\r\n\r\n // column keys (addRow convenience): key ==> this._collumns index\r\n this._keys = {};\r\n\r\n // keep record of all merges\r\n this._merges = {};\r\n\r\n // record of all row and column pageBreaks\r\n this.rowBreaks = [];\r\n\r\n this._workbook = options.workbook;\r\n\r\n // for tabColor, default row height, outline levels, etc\r\n this.properties = Object.assign(\r\n {},\r\n {\r\n defaultRowHeight: 15,\r\n dyDescent: 55,\r\n outlineLevelCol: 0,\r\n outlineLevelRow: 0,\r\n },\r\n options.properties\r\n );\r\n\r\n // for all things printing\r\n this.pageSetup = Object.assign(\r\n {},\r\n {\r\n margins: {left: 0.7, right: 0.7, top: 0.75, bottom: 0.75, header: 0.3, footer: 0.3},\r\n orientation: 'portrait',\r\n horizontalDpi: 4294967295,\r\n verticalDpi: 4294967295,\r\n fitToPage: !!(\r\n options.pageSetup &&\r\n (options.pageSetup.fitToWidth || options.pageSetup.fitToHeight) &&\r\n !options.pageSetup.scale\r\n ),\r\n pageOrder: 'downThenOver',\r\n blackAndWhite: false,\r\n draft: false,\r\n cellComments: 'None',\r\n errors: 'displayed',\r\n scale: 100,\r\n fitToWidth: 1,\r\n fitToHeight: 1,\r\n paperSize: undefined,\r\n showRowColHeaders: false,\r\n showGridLines: false,\r\n firstPageNumber: undefined,\r\n horizontalCentered: false,\r\n verticalCentered: false,\r\n rowBreaks: null,\r\n colBreaks: null,\r\n },\r\n options.pageSetup\r\n );\r\n\r\n this.headerFooter = Object.assign(\r\n {},\r\n {\r\n differentFirst: false,\r\n differentOddEven: false,\r\n oddHeader: null,\r\n oddFooter: null,\r\n evenHeader: null,\r\n evenFooter: null,\r\n firstHeader: null,\r\n firstFooter: null,\r\n },\r\n options.headerFooter\r\n );\r\n\r\n this.dataValidations = new DataValidations();\r\n\r\n // for freezepanes, split, zoom, gridlines, etc\r\n this.views = options.views || [];\r\n\r\n this.autoFilter = options.autoFilter || null;\r\n\r\n // for images, etc\r\n this._media = [];\r\n\r\n // worksheet protection\r\n this.sheetProtection = null;\r\n\r\n // for tables\r\n this.tables = {};\r\n\r\n this.conditionalFormattings = [];\r\n }\r\n\r\n get workbook() {\r\n return this._workbook;\r\n }\r\n\r\n // when you're done with this worksheet, call this to remove from workbook\r\n destroy() {\r\n this._workbook.removeWorksheetEx(this);\r\n }\r\n\r\n // Get the bounding range of the cells in this worksheet\r\n get dimensions() {\r\n const dimensions = new Range();\r\n this._rows.forEach(row => {\r\n if (row) {\r\n const rowDims = row.dimensions;\r\n if (rowDims) {\r\n dimensions.expand(row.number, rowDims.min, row.number, rowDims.max);\r\n }\r\n }\r\n });\r\n return dimensions;\r\n }\r\n\r\n // =========================================================================\r\n // Columns\r\n\r\n // get the current columns array.\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n // set the columns from an array of column definitions.\r\n // Note: any headers defined will overwrite existing values.\r\n set columns(value) {\r\n // calculate max header row count\r\n this._headerRowCount = value.reduce((pv, cv) => {\r\n const headerCount = (cv.header && 1) || (cv.headers && cv.headers.length) || 0;\r\n return Math.max(pv, headerCount);\r\n }, 0);\r\n\r\n // construct Column objects\r\n let count = 1;\r\n const columns = (this._columns = []);\r\n value.forEach(defn => {\r\n const column = new Column(this, count++, false);\r\n columns.push(column);\r\n column.defn = defn;\r\n });\r\n }\r\n\r\n getColumnKey(key) {\r\n return this._keys[key];\r\n }\r\n\r\n setColumnKey(key, value) {\r\n this._keys[key] = value;\r\n }\r\n\r\n deleteColumnKey(key) {\r\n delete this._keys[key];\r\n }\r\n\r\n eachColumnKey(f) {\r\n _.each(this._keys, f);\r\n }\r\n\r\n // get a single column by col number. If it doesn't exist, create it and any gaps before it\r\n getColumn(c) {\r\n if (typeof c === 'string') {\r\n // if it matches a key'd column, return that\r\n const col = this._keys[c];\r\n if (col) return col;\r\n\r\n // otherwise, assume letter\r\n c = colCache.l2n(c);\r\n }\r\n if (!this._columns) {\r\n this._columns = [];\r\n }\r\n if (c > this._columns.length) {\r\n let n = this._columns.length + 1;\r\n while (n <= c) {\r\n this._columns.push(new Column(this, n++));\r\n }\r\n }\r\n return this._columns[c - 1];\r\n }\r\n\r\n spliceColumns(start, count, ...inserts) {\r\n const rows = this._rows;\r\n const nRows = rows.length;\r\n if (inserts.length > 0) {\r\n // must iterate over all rows whether they exist yet or not\r\n for (let i = 0; i < nRows; i++) {\r\n const rowArguments = [start, count];\r\n // eslint-disable-next-line no-loop-func\r\n inserts.forEach(insert => {\r\n rowArguments.push(insert[i] || null);\r\n });\r\n const row = this.getRow(i + 1);\r\n // eslint-disable-next-line prefer-spread\r\n row.splice.apply(row, rowArguments);\r\n }\r\n } else {\r\n // nothing to insert, so just splice all rows\r\n this._rows.forEach(r => {\r\n if (r) {\r\n r.splice(start, count);\r\n }\r\n });\r\n }\r\n\r\n // splice column definitions\r\n const nExpand = inserts.length - count;\r\n const nKeep = start + count;\r\n const nEnd = this._columns.length;\r\n if (nExpand < 0) {\r\n for (let i = start + inserts.length; i <= nEnd; i++) {\r\n this.getColumn(i).defn = this.getColumn(i - nExpand).defn;\r\n }\r\n } else if (nExpand > 0) {\r\n for (let i = nEnd; i >= nKeep; i--) {\r\n this.getColumn(i + nExpand).defn = this.getColumn(i).defn;\r\n }\r\n }\r\n for (let i = start; i < start + inserts.length; i++) {\r\n this.getColumn(i).defn = null;\r\n }\r\n\r\n // account for defined names\r\n this.workbook.definedNames.spliceColumns(this.name, start, count, inserts.length);\r\n }\r\n\r\n get lastColumn() {\r\n return this.getColumn(this.columnCount);\r\n }\r\n\r\n get columnCount() {\r\n let maxCount = 0;\r\n this.eachRow(row => {\r\n maxCount = Math.max(maxCount, row.cellCount);\r\n });\r\n return maxCount;\r\n }\r\n\r\n get actualColumnCount() {\r\n // performance nightmare - for each row, counts all the columns used\r\n const counts = [];\r\n let count = 0;\r\n this.eachRow(row => {\r\n row.eachCell(({col}) => {\r\n if (!counts[col]) {\r\n counts[col] = true;\r\n count++;\r\n }\r\n });\r\n });\r\n return count;\r\n }\r\n\r\n // =========================================================================\r\n // Rows\r\n\r\n _commitRow() {\r\n // nop - allows streaming reader to fill a document\r\n }\r\n\r\n get _lastRowNumber() {\r\n // need to cope with results of splice\r\n const rows = this._rows;\r\n let n = rows.length;\r\n while (n > 0 && rows[n - 1] === undefined) {\r\n n--;\r\n }\r\n return n;\r\n }\r\n\r\n get _nextRow() {\r\n return this._lastRowNumber + 1;\r\n }\r\n\r\n get lastRow() {\r\n if (this._rows.length) {\r\n return this._rows[this._rows.length - 1];\r\n }\r\n return undefined;\r\n }\r\n\r\n // find a row (if exists) by row number\r\n findRow(r) {\r\n return this._rows[r - 1];\r\n }\r\n\r\n // find multiple rows (if exists) by row number\r\n findRows(start, length) {\r\n return this._rows.slice(start - 1, start - 1 + length);\r\n }\r\n\r\n get rowCount() {\r\n return this._lastRowNumber;\r\n }\r\n\r\n get actualRowCount() {\r\n // counts actual rows that have actual data\r\n let count = 0;\r\n this.eachRow(() => {\r\n count++;\r\n });\r\n return count;\r\n }\r\n\r\n // get a row by row number.\r\n getRow(r) {\r\n let row = this._rows[r - 1];\r\n if (!row) {\r\n row = this._rows[r - 1] = new Row(this, r);\r\n }\r\n return row;\r\n }\r\n\r\n // get multiple rows by row number.\r\n getRows(start, length) {\r\n if (length < 1) return undefined;\r\n const rows = [];\r\n for (let i = start; i < start + length; i++) {\r\n rows.push(this.getRow(i));\r\n }\r\n return rows;\r\n }\r\n\r\n addRow(value, style = 'n') {\r\n const rowNo = this._nextRow;\r\n const row = this.getRow(rowNo);\r\n row.values = value;\r\n this._setStyleOption(rowNo, style[0] === 'i' ? style : 'n');\r\n return row;\r\n }\r\n\r\n addRows(value, style = 'n') {\r\n const rows = [];\r\n value.forEach(row => {\r\n rows.push(this.addRow(row, style));\r\n });\r\n return rows;\r\n }\r\n\r\n insertRow(pos, value, style = 'n') {\r\n this.spliceRows(pos, 0, value);\r\n this._setStyleOption(pos, style);\r\n return this.getRow(pos);\r\n }\r\n\r\n insertRows(pos, values, style = 'n') {\r\n this.spliceRows(pos, 0, ...values);\r\n if (style !== 'n') {\r\n // copy over the styles\r\n for (let i = 0; i < values.length; i++) {\r\n if (style[0] === 'o' && this.findRow(values.length + pos + i) !== undefined) {\r\n this._copyStyle(values.length + pos + i, pos + i, style[1] === '+');\r\n } else if (style[0] === 'i' && this.findRow(pos - 1) !== undefined) {\r\n this._copyStyle(pos - 1, pos + i, style[1] === '+');\r\n }\r\n }\r\n }\r\n return this.getRows(pos, values.length);\r\n }\r\n\r\n // set row at position to same style as of either pervious row (option 'i') or next row (option 'o')\r\n _setStyleOption(pos, style = 'n') {\r\n if (style[0] === 'o' && this.findRow(pos + 1) !== undefined) {\r\n this._copyStyle(pos + 1, pos, style[1] === '+');\r\n } else if (style[0] === 'i' && this.findRow(pos - 1) !== undefined) {\r\n this._copyStyle(pos - 1, pos, style[1] === '+');\r\n }\r\n }\r\n\r\n _copyStyle(src, dest, styleEmpty = false) {\r\n const rSrc = this.getRow(src);\r\n const rDst = this.getRow(dest);\r\n rDst.style = Object.freeze({...rSrc.style});\r\n // eslint-disable-next-line no-loop-func\r\n rSrc.eachCell({includeEmpty: styleEmpty}, (cell, colNumber) => {\r\n rDst.getCell(colNumber).style = Object.freeze({...cell.style});\r\n });\r\n rDst.height = rSrc.height;\r\n }\r\n\r\n duplicateRow(rowNum, count, insert = false) {\r\n // create count duplicates of rowNum\r\n // either inserting new or overwriting existing rows\r\n\r\n const rSrc = this._rows[rowNum - 1];\r\n const inserts = new Array(count).fill(rSrc.values);\r\n this.spliceRows(rowNum + 1, insert ? 0 : count, ...inserts);\r\n\r\n // now copy styles...\r\n for (let i = 0; i < count; i++) {\r\n const rDst = this._rows[rowNum + i];\r\n rDst.style = rSrc.style;\r\n rDst.height = rSrc.height;\r\n // eslint-disable-next-line no-loop-func\r\n rSrc.eachCell({includeEmpty: true}, (cell, colNumber) => {\r\n rDst.getCell(colNumber).style = cell.style;\r\n });\r\n }\r\n }\r\n\r\n spliceRows(start, count, ...inserts) {\r\n // same problem as row.splice, except worse.\r\n const nKeep = start + count;\r\n const nInserts = inserts.length;\r\n const nExpand = nInserts - count;\r\n const nEnd = this._rows.length;\r\n let i;\r\n let rSrc;\r\n if (nExpand < 0) {\r\n // remove rows\r\n for (i = nKeep; i <= nEnd; i++) {\r\n rSrc = this._rows[i - 1];\r\n if (rSrc) {\r\n const rDst = this.getRow(i + nExpand);\r\n rDst.values = rSrc.values;\r\n rDst.style = rSrc.style;\r\n rDst.height = rSrc.height;\r\n // eslint-disable-next-line no-loop-func\r\n rSrc.eachCell({includeEmpty: true}, (cell, colNumber) => {\r\n rDst.getCell(colNumber).style = cell.style;\r\n });\r\n this._rows[i - 1] = undefined;\r\n } else {\r\n this._rows[i + nExpand - 1] = undefined;\r\n }\r\n }\r\n } else if (nExpand > 0) {\r\n // insert new cells\r\n for (i = nEnd; i >= nKeep; i--) {\r\n rSrc = this._rows[i - 1];\r\n if (rSrc) {\r\n const rDst = this.getRow(i + nExpand);\r\n rDst.values = rSrc.values;\r\n rDst.style = rSrc.style;\r\n rDst.height = rSrc.height;\r\n // eslint-disable-next-line no-loop-func\r\n rSrc.eachCell({includeEmpty: true}, (cell, colNumber) => {\r\n rDst.getCell(colNumber).style = cell.style;\r\n\r\n // remerge cells accounting for insert offset\r\n if (cell._value.constructor.name === 'MergeValue') {\r\n const cellToBeMerged = this.getRow(cell._row._number + nInserts).getCell(colNumber);\r\n const prevMaster = cell._value._master;\r\n const newMaster = this.getRow(prevMaster._row._number + nInserts).getCell(prevMaster._column._number);\r\n cellToBeMerged.merge(newMaster);\r\n }\r\n });\r\n } else {\r\n this._rows[i + nExpand - 1] = undefined;\r\n }\r\n }\r\n }\r\n\r\n // now copy over the new values\r\n for (i = 0; i < nInserts; i++) {\r\n const rDst = this.getRow(start + i);\r\n rDst.style = {};\r\n rDst.values = inserts[i];\r\n }\r\n\r\n // account for defined names\r\n this.workbook.definedNames.spliceRows(this.name, start, count, nInserts);\r\n }\r\n\r\n // iterate over every row in the worksheet, including maybe empty rows\r\n eachRow(options, iteratee) {\r\n if (!iteratee) {\r\n iteratee = options;\r\n options = undefined;\r\n }\r\n if (options && options.includeEmpty) {\r\n const n = this._rows.length;\r\n for (let i = 1; i <= n; i++) {\r\n iteratee(this.getRow(i), i);\r\n }\r\n } else {\r\n this._rows.forEach(row => {\r\n if (row && row.hasValues) {\r\n iteratee(row, row.number);\r\n }\r\n });\r\n }\r\n }\r\n\r\n // return all rows as sparse array\r\n getSheetValues() {\r\n const rows = [];\r\n this._rows.forEach(row => {\r\n if (row) {\r\n rows[row.number] = row.values;\r\n }\r\n });\r\n return rows;\r\n }\r\n\r\n // =========================================================================\r\n // Cells\r\n\r\n // returns the cell at [r,c] or address given by r. If not found, return undefined\r\n findCell(r, c) {\r\n const address = colCache.getAddress(r, c);\r\n const row = this._rows[address.row - 1];\r\n return row ? row.findCell(address.col) : undefined;\r\n }\r\n\r\n // return the cell at [r,c] or address given by r. If not found, create a new one.\r\n getCell(r, c) {\r\n const address = colCache.getAddress(r, c);\r\n const row = this.getRow(address.row);\r\n return row.getCellEx(address);\r\n }\r\n\r\n // =========================================================================\r\n // Merge\r\n\r\n // convert the range defined by ['tl:br'], [tl,br] or [t,l,b,r] into a single 'merged' cell\r\n mergeCells(...cells) {\r\n const dimensions = new Range(cells);\r\n this._mergeCellsInternal(dimensions);\r\n }\r\n\r\n mergeCellsWithoutStyle(...cells) {\r\n const dimensions = new Range(cells);\r\n this._mergeCellsInternal(dimensions, true);\r\n }\r\n\r\n _mergeCellsInternal(dimensions, ignoreStyle) {\r\n // check cells aren't already merged\r\n _.each(this._merges, merge => {\r\n if (merge.intersects(dimensions)) {\r\n throw new Error('Cannot merge already merged cells');\r\n }\r\n });\r\n\r\n // apply merge\r\n const master = this.getCell(dimensions.top, dimensions.left);\r\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\r\n for (let j = dimensions.left; j <= dimensions.right; j++) {\r\n // merge all but the master cell\r\n if (i > dimensions.top || j > dimensions.left) {\r\n this.getCell(i, j).merge(master, ignoreStyle);\r\n }\r\n }\r\n }\r\n\r\n // index merge\r\n this._merges[master.address] = dimensions;\r\n }\r\n\r\n _unMergeMaster(master) {\r\n // master is always top left of a rectangle\r\n const merge = this._merges[master.address];\r\n if (merge) {\r\n for (let i = merge.top; i <= merge.bottom; i++) {\r\n for (let j = merge.left; j <= merge.right; j++) {\r\n this.getCell(i, j).unmerge();\r\n }\r\n }\r\n delete this._merges[master.address];\r\n }\r\n }\r\n\r\n get hasMerges() {\r\n // return true if this._merges has a merge object\r\n return _.some(this._merges, Boolean);\r\n }\r\n\r\n // scan the range defined by ['tl:br'], [tl,br] or [t,l,b,r] and if any cell is part of a merge,\r\n // un-merge the group. Note this function can affect multiple merges and merge-blocks are\r\n // atomic - either they're all merged or all un-merged.\r\n unMergeCells(...cells) {\r\n const dimensions = new Range(cells);\r\n\r\n // find any cells in that range and unmerge them\r\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\r\n for (let j = dimensions.left; j <= dimensions.right; j++) {\r\n const cell = this.findCell(i, j);\r\n if (cell) {\r\n if (cell.type === Enums.ValueType.Merge) {\r\n // this cell merges to another master\r\n this._unMergeMaster(cell.master);\r\n } else if (this._merges[cell.address]) {\r\n // this cell is a master\r\n this._unMergeMaster(cell);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Shared/Array Formula\r\n fillFormula(range, formula, results, shareType = 'shared') {\r\n // Define formula for top-left cell and share to rest\r\n const decoded = colCache.decode(range);\r\n const {top, left, bottom, right} = decoded;\r\n const width = right - left + 1;\r\n const masterAddress = colCache.encodeAddress(top, left);\r\n const isShared = shareType === 'shared';\r\n\r\n // work out result accessor\r\n let getResult;\r\n if (typeof results === 'function') {\r\n getResult = results;\r\n } else if (Array.isArray(results)) {\r\n if (Array.isArray(results[0])) {\r\n getResult = (row, col) => results[row - top][col - left];\r\n } else {\r\n // eslint-disable-next-line no-mixed-operators\r\n getResult = (row, col) => results[(row - top) * width + (col - left)];\r\n }\r\n } else {\r\n getResult = () => undefined;\r\n }\r\n let first = true;\r\n for (let r = top; r <= bottom; r++) {\r\n for (let c = left; c <= right; c++) {\r\n if (first) {\r\n this.getCell(r, c).value = {\r\n shareType,\r\n formula,\r\n ref: range,\r\n result: getResult(r, c),\r\n };\r\n first = false;\r\n } else {\r\n this.getCell(r, c).value = isShared\r\n ? {\r\n sharedFormula: masterAddress,\r\n result: getResult(r, c),\r\n }\r\n : getResult(r, c);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // =========================================================================\r\n // Images\r\n addImage(imageId, range) {\r\n const model = {\r\n type: 'image',\r\n imageId,\r\n range,\r\n };\r\n this._media.push(new Image(this, model));\r\n }\r\n\r\n getImages() {\r\n return this._media.filter(m => m.type === 'image');\r\n }\r\n\r\n addBackgroundImage(imageId) {\r\n const model = {\r\n type: 'background',\r\n imageId,\r\n };\r\n this._media.push(new Image(this, model));\r\n }\r\n\r\n getBackgroundImageId() {\r\n const image = this._media.find(m => m.type === 'background');\r\n return image && image.imageId;\r\n }\r\n\r\n // =========================================================================\r\n // Worksheet Protection\r\n protect(password, options) {\r\n // TODO: make this function truly async\r\n // perhaps marshal to worker thread or something\r\n return new Promise(resolve => {\r\n this.sheetProtection = {\r\n sheet: true,\r\n };\r\n if (options && 'spinCount' in options) {\r\n // force spinCount to be integer >= 0\r\n options.spinCount = Number.isFinite(options.spinCount) ? Math.round(Math.max(0, options.spinCount)) : 100000;\r\n }\r\n if (password) {\r\n this.sheetProtection.algorithmName = 'SHA-512';\r\n this.sheetProtection.saltValue = Encryptor.randomBytes(16).toString('base64');\r\n this.sheetProtection.spinCount = options && 'spinCount' in options ? options.spinCount : 100000; // allow user specified spinCount\r\n this.sheetProtection.hashValue = Encryptor.convertPasswordToHash(\r\n password,\r\n 'SHA512',\r\n this.sheetProtection.saltValue,\r\n this.sheetProtection.spinCount\r\n );\r\n }\r\n if (options) {\r\n this.sheetProtection = Object.assign(this.sheetProtection, options);\r\n if (!password && 'spinCount' in options) {\r\n delete this.sheetProtection.spinCount;\r\n }\r\n }\r\n resolve();\r\n });\r\n }\r\n\r\n unprotect() {\r\n this.sheetProtection = null;\r\n }\r\n\r\n // =========================================================================\r\n // Tables\r\n addTable(model) {\r\n const table = new Table(this, model);\r\n this.tables[model.name] = table;\r\n return table;\r\n }\r\n\r\n getTable(name) {\r\n return this.tables[name];\r\n }\r\n\r\n removeTable(name) {\r\n delete this.tables[name];\r\n }\r\n\r\n getTables() {\r\n return Object.values(this.tables);\r\n }\r\n\r\n // ===========================================================================\r\n // Conditional Formatting\r\n addConditionalFormatting(cf) {\r\n this.conditionalFormattings.push(cf);\r\n }\r\n\r\n removeConditionalFormatting(filter) {\r\n if (typeof filter === 'number') {\r\n this.conditionalFormattings.splice(filter, 1);\r\n } else if (filter instanceof Function) {\r\n this.conditionalFormattings = this.conditionalFormattings.filter(filter);\r\n } else {\r\n this.conditionalFormattings = [];\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Deprecated\r\n get tabColor() {\r\n // eslint-disable-next-line no-console\r\n console.trace('worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor');\r\n return this.properties.tabColor;\r\n }\r\n\r\n set tabColor(value) {\r\n // eslint-disable-next-line no-console\r\n console.trace('worksheet.tabColor property is now deprecated. Please use worksheet.properties.tabColor');\r\n this.properties.tabColor = value;\r\n }\r\n\r\n // ===========================================================================\r\n // Model\r\n\r\n get model() {\r\n const model = {\r\n id: this.id,\r\n name: this.name,\r\n dataValidations: this.dataValidations.model,\r\n properties: this.properties,\r\n state: this.state,\r\n pageSetup: this.pageSetup,\r\n headerFooter: this.headerFooter,\r\n rowBreaks: this.rowBreaks,\r\n views: this.views,\r\n autoFilter: this.autoFilter,\r\n media: this._media.map(medium => medium.model),\r\n sheetProtection: this.sheetProtection,\r\n tables: Object.values(this.tables).map(table => table.model),\r\n conditionalFormattings: this.conditionalFormattings,\r\n };\r\n\r\n // =================================================\r\n // columns\r\n model.cols = Column.toModel(this.columns);\r\n\r\n // ==========================================================\r\n // Rows\r\n const rows = (model.rows = []);\r\n const dimensions = (model.dimensions = new Range());\r\n this._rows.forEach(row => {\r\n const rowModel = row && row.model;\r\n if (rowModel) {\r\n dimensions.expand(rowModel.number, rowModel.min, rowModel.number, rowModel.max);\r\n rows.push(rowModel);\r\n }\r\n });\r\n\r\n // ==========================================================\r\n // Merges\r\n model.merges = [];\r\n _.each(this._merges, merge => {\r\n model.merges.push(merge.range);\r\n });\r\n\r\n return model;\r\n }\r\n\r\n _parseRows(model) {\r\n this._rows = [];\r\n model.rows.forEach(rowModel => {\r\n const row = new Row(this, rowModel.number);\r\n this._rows[row.number - 1] = row;\r\n row.model = rowModel;\r\n });\r\n }\r\n\r\n _parseMergeCells(model) {\r\n _.each(model.mergeCells, merge => {\r\n // Do not merge styles when importing an Excel file\r\n // since each cell may have different styles intentionally.\r\n this.mergeCellsWithoutStyle(merge);\r\n });\r\n }\r\n\r\n set model(value) {\r\n this.name = value.name;\r\n this._columns = Column.fromModel(this, value.cols);\r\n this._parseRows(value);\r\n\r\n this._parseMergeCells(value);\r\n this.dataValidations = new DataValidations(value.dataValidations);\r\n this.properties = value.properties;\r\n this.pageSetup = value.pageSetup;\r\n this.headerFooter = value.headerFooter;\r\n this.views = value.views;\r\n this.autoFilter = value.autoFilter;\r\n this._media = value.media.map(medium => new Image(this, medium));\r\n this.sheetProtection = value.sheetProtection;\r\n this.tables = value.tables.reduce((tables, table) => {\r\n const t = new Table();\r\n t.model = table;\r\n tables[table.name] = t;\r\n return tables;\r\n }, {});\r\n this.conditionalFormattings = value.conditionalFormattings;\r\n }\r\n}\r\n\r\nmodule.exports = Worksheet;\r\n","/* eslint-disable import/no-extraneous-dependencies,node/no-unpublished-require */\r\nrequire('core-js/modules/es.promise');\r\nrequire('core-js/modules/es.object.assign');\r\nrequire('core-js/modules/es.object.keys');\r\nrequire('core-js/modules/es.object.values');\r\nrequire('core-js/modules/es.symbol');\r\nrequire('core-js/modules/es.symbol.async-iterator');\r\n// required by core-js/modules/es.promise Promise.all\r\nrequire('core-js/modules/es.array.iterator');\r\n// required by node_modules/saxes/saxes.js SaxesParser.captureTo\r\nrequire('core-js/modules/es.array.includes');\r\n// required by lib/doc/workbook.js Workbook.model\r\nrequire('core-js/modules/es.array.find-index');\r\n// required by lib/doc/workbook.js Workbook.addWorksheet and Workbook.getWorksheet\r\nrequire('core-js/modules/es.array.find');\r\n// required by node_modules/saxes/saxes.js SaxesParser.getCode10\r\nrequire('core-js/modules/es.string.from-code-point');\r\n// required by lib/xlsx/xform/sheet/data-validations-xform.js DataValidationsXform.parseClose\r\nrequire('core-js/modules/es.string.includes');\r\n// required by lib/utils/utils.js utils.validInt and lib/csv/csv.js CSV.read\r\nrequire('core-js/modules/es.number.is-nan');\r\nrequire('regenerator-runtime/runtime');\r\n\r\nconst ExcelJS = {\r\n Workbook: require('./doc/workbook'),\r\n};\r\n\r\n// Object.assign mono-fill\r\nconst Enums = require('./doc/enums');\r\n\r\nObject.keys(Enums).forEach(key => {\r\n ExcelJS[key] = Enums[key];\r\n});\r\n\r\nmodule.exports = ExcelJS;\r\n","// eslint-disable-next-line node/no-unsupported-features/node-builtins\r\nconst textDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8');\r\n\r\nfunction bufferToString(chunk) {\r\n if (typeof chunk === 'string') {\r\n return chunk;\r\n }\r\n if (textDecoder) {\r\n return textDecoder.decode(chunk);\r\n }\r\n return chunk.toString();\r\n}\r\n\r\nexports.bufferToString = bufferToString;\r\n","// eslint-disable-next-line node/no-unsupported-features/node-builtins\r\nconst textEncoder = typeof TextEncoder === 'undefined' ? null : new TextEncoder('utf-8');\r\nconst {Buffer} = require('buffer');\r\n\r\nfunction stringToBuffer(str) {\r\n if (typeof str !== 'string') {\r\n return str;\r\n }\r\n if (textEncoder) {\r\n return Buffer.from(textEncoder.encode(str).buffer);\r\n }\r\n return Buffer.from(str);\r\n}\r\n\r\nexports.stringToBuffer = stringToBuffer;\r\n","const _ = require('./under-dash');\r\nconst colCache = require('./col-cache');\r\n\r\nclass CellMatrix {\r\n constructor(template) {\r\n this.template = template;\r\n this.sheets = {};\r\n }\r\n\r\n addCell(addressStr) {\r\n this.addCellEx(colCache.decodeEx(addressStr));\r\n }\r\n\r\n getCell(addressStr) {\r\n return this.findCellEx(colCache.decodeEx(addressStr), true);\r\n }\r\n\r\n findCell(addressStr) {\r\n return this.findCellEx(colCache.decodeEx(addressStr), false);\r\n }\r\n\r\n findCellAt(sheetName, rowNumber, colNumber) {\r\n const sheet = this.sheets[sheetName];\r\n const row = sheet && sheet[rowNumber];\r\n return row && row[colNumber];\r\n }\r\n\r\n addCellEx(address) {\r\n if (address.top) {\r\n for (let row = address.top; row <= address.bottom; row++) {\r\n for (let col = address.left; col <= address.right; col++) {\r\n this.getCellAt(address.sheetName, row, col);\r\n }\r\n }\r\n } else {\r\n this.findCellEx(address, true);\r\n }\r\n }\r\n\r\n getCellEx(address) {\r\n return this.findCellEx(address, true);\r\n }\r\n\r\n findCellEx(address, create) {\r\n const sheet = this.findSheet(address, create);\r\n const row = this.findSheetRow(sheet, address, create);\r\n return this.findRowCell(row, address, create);\r\n }\r\n\r\n getCellAt(sheetName, rowNumber, colNumber) {\r\n const sheet = this.sheets[sheetName] || (this.sheets[sheetName] = []);\r\n const row = sheet[rowNumber] || (sheet[rowNumber] = []);\r\n const cell =\r\n row[colNumber] ||\r\n (row[colNumber] = {\r\n sheetName,\r\n address: colCache.n2l(colNumber) + rowNumber,\r\n row: rowNumber,\r\n col: colNumber,\r\n });\r\n return cell;\r\n }\r\n\r\n removeCellEx(address) {\r\n const sheet = this.findSheet(address);\r\n if (!sheet) {\r\n return;\r\n }\r\n const row = this.findSheetRow(sheet, address);\r\n if (!row) {\r\n return;\r\n }\r\n delete row[address.col];\r\n }\r\n\r\n forEachInSheet(sheetName, callback) {\r\n const sheet = this.sheets[sheetName];\r\n if (sheet) {\r\n sheet.forEach((row, rowNumber) => {\r\n if (row) {\r\n row.forEach((cell, colNumber) => {\r\n if (cell) {\r\n callback(cell, rowNumber, colNumber);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n forEach(callback) {\r\n _.each(this.sheets, (sheet, sheetName) => {\r\n this.forEachInSheet(sheetName, callback);\r\n });\r\n }\r\n\r\n map(callback) {\r\n const results = [];\r\n this.forEach(cell => {\r\n results.push(callback(cell));\r\n });\r\n return results;\r\n }\r\n\r\n findSheet(address, create) {\r\n const name = address.sheetName;\r\n if (this.sheets[name]) {\r\n return this.sheets[name];\r\n }\r\n if (create) {\r\n return (this.sheets[name] = []);\r\n }\r\n return undefined;\r\n }\r\n\r\n findSheetRow(sheet, address, create) {\r\n const {row} = address;\r\n if (sheet && sheet[row]) {\r\n return sheet[row];\r\n }\r\n if (create) {\r\n return (sheet[row] = []);\r\n }\r\n return undefined;\r\n }\r\n\r\n findRowCell(row, address, create) {\r\n const {col} = address;\r\n if (row && row[col]) {\r\n return row[col];\r\n }\r\n if (create) {\r\n return (row[col] = this.template\r\n ? Object.assign(address, JSON.parse(JSON.stringify(this.template)))\r\n : address);\r\n }\r\n return undefined;\r\n }\r\n\r\n spliceRows(sheetName, start, numDelete, numInsert) {\r\n const sheet = this.sheets[sheetName];\r\n if (sheet) {\r\n const inserts = [];\r\n for (let i = 0; i < numInsert; i++) {\r\n inserts.push([]);\r\n }\r\n sheet.splice(start, numDelete, ...inserts);\r\n }\r\n }\r\n\r\n spliceColumns(sheetName, start, numDelete, numInsert) {\r\n const sheet = this.sheets[sheetName];\r\n if (sheet) {\r\n const inserts = [];\r\n for (let i = 0; i < numInsert; i++) {\r\n inserts.push(null);\r\n }\r\n _.each(sheet, row => {\r\n row.splice(start, numDelete, ...inserts);\r\n });\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CellMatrix;\r\n","const addressRegex = /^[A-Z]+\\d+$/;\r\n// =========================================================================\r\n// Column Letter to Number conversion\r\nconst colCache = {\r\n _dictionary: [\r\n 'A',\r\n 'B',\r\n 'C',\r\n 'D',\r\n 'E',\r\n 'F',\r\n 'G',\r\n 'H',\r\n 'I',\r\n 'J',\r\n 'K',\r\n 'L',\r\n 'M',\r\n 'N',\r\n 'O',\r\n 'P',\r\n 'Q',\r\n 'R',\r\n 'S',\r\n 'T',\r\n 'U',\r\n 'V',\r\n 'W',\r\n 'X',\r\n 'Y',\r\n 'Z',\r\n ],\r\n _l2nFill: 0,\r\n _l2n: {},\r\n _n2l: [],\r\n _level(n) {\r\n if (n <= 26) {\r\n return 1;\r\n }\r\n if (n <= 26 * 26) {\r\n return 2;\r\n }\r\n return 3;\r\n },\r\n _fill(level) {\r\n let c;\r\n let v;\r\n let l1;\r\n let l2;\r\n let l3;\r\n let n = 1;\r\n if (level >= 4) {\r\n throw new Error('Out of bounds. Excel supports columns from 1 to 16384');\r\n }\r\n if (this._l2nFill < 1 && level >= 1) {\r\n while (n <= 26) {\r\n c = this._dictionary[n - 1];\r\n this._n2l[n] = c;\r\n this._l2n[c] = n;\r\n n++;\r\n }\r\n this._l2nFill = 1;\r\n }\r\n if (this._l2nFill < 2 && level >= 2) {\r\n n = 27;\r\n while (n <= 26 + (26 * 26)) {\r\n v = n - (26 + 1);\r\n l1 = v % 26;\r\n l2 = Math.floor(v / 26);\r\n c = this._dictionary[l2] + this._dictionary[l1];\r\n this._n2l[n] = c;\r\n this._l2n[c] = n;\r\n n++;\r\n }\r\n this._l2nFill = 2;\r\n }\r\n if (this._l2nFill < 3 && level >= 3) {\r\n n = 26 + (26 * 26) + 1;\r\n while (n <= 16384) {\r\n v = n - ((26 * 26) + 26 + 1);\r\n l1 = v % 26;\r\n l2 = Math.floor(v / 26) % 26;\r\n l3 = Math.floor(v / (26 * 26));\r\n c = this._dictionary[l3] + this._dictionary[l2] + this._dictionary[l1];\r\n this._n2l[n] = c;\r\n this._l2n[c] = n;\r\n n++;\r\n }\r\n this._l2nFill = 3;\r\n }\r\n },\r\n l2n(l) {\r\n if (!this._l2n[l]) {\r\n this._fill(l.length);\r\n }\r\n if (!this._l2n[l]) {\r\n throw new Error(`Out of bounds. Invalid column letter: ${l}`);\r\n }\r\n return this._l2n[l];\r\n },\r\n n2l(n) {\r\n if (n < 1 || n > 16384) {\r\n throw new Error(`${n} is out of bounds. Excel supports columns from 1 to 16384`);\r\n }\r\n if (!this._n2l[n]) {\r\n this._fill(this._level(n));\r\n }\r\n return this._n2l[n];\r\n },\r\n\r\n // =========================================================================\r\n // Address processing\r\n _hash: {},\r\n\r\n // check if value looks like an address\r\n validateAddress(value) {\r\n if (!addressRegex.test(value)) {\r\n throw new Error(`Invalid Address: ${value}`);\r\n }\r\n return true;\r\n },\r\n\r\n // convert address string into structure\r\n decodeAddress(value) {\r\n const addr = value.length < 5 && this._hash[value];\r\n if (addr) {\r\n return addr;\r\n }\r\n let hasCol = false;\r\n let col = '';\r\n let colNumber = 0;\r\n let hasRow = false;\r\n let row = '';\r\n let rowNumber = 0;\r\n for (let i = 0, char; i < value.length; i++) {\r\n char = value.charCodeAt(i);\r\n // col should before row\r\n if (!hasRow && char >= 65 && char <= 90) {\r\n // 65 = 'A'.charCodeAt(0)\r\n // 90 = 'Z'.charCodeAt(0)\r\n hasCol = true;\r\n col += value[i];\r\n // colNumber starts from 1\r\n colNumber = (colNumber * 26) + char - 64;\r\n } else if (char >= 48 && char <= 57) {\r\n // 48 = '0'.charCodeAt(0)\r\n // 57 = '9'.charCodeAt(0)\r\n hasRow = true;\r\n row += value[i];\r\n // rowNumber starts from 0\r\n rowNumber = (rowNumber * 10) + char - 48;\r\n } else if (hasRow && hasCol && char !== 36) {\r\n // 36 = '$'.charCodeAt(0)\r\n break;\r\n }\r\n }\r\n if (!hasCol) {\r\n colNumber = undefined;\r\n } else if (colNumber > 16384) {\r\n throw new Error(`Out of bounds. Invalid column letter: ${col}`);\r\n }\r\n if (!hasRow) {\r\n rowNumber = undefined;\r\n }\r\n\r\n // in case $row$col\r\n value = col + row;\r\n\r\n const address = {\r\n address: value,\r\n col: colNumber,\r\n row: rowNumber,\r\n $col$row: `$${col}$${row}`,\r\n };\r\n\r\n // mem fix - cache only the tl 100x100 square\r\n if (colNumber <= 100 && rowNumber <= 100) {\r\n this._hash[value] = address;\r\n this._hash[address.$col$row] = address;\r\n }\r\n\r\n return address;\r\n },\r\n\r\n // convert r,c into structure (if only 1 arg, assume r is address string)\r\n getAddress(r, c) {\r\n if (c) {\r\n const address = this.n2l(c) + r;\r\n return this.decodeAddress(address);\r\n }\r\n return this.decodeAddress(r);\r\n },\r\n\r\n // convert [address], [tl:br] into address structures\r\n decode(value) {\r\n const parts = value.split(':');\r\n if (parts.length === 2) {\r\n const tl = this.decodeAddress(parts[0]);\r\n const br = this.decodeAddress(parts[1]);\r\n const result = {\r\n top: Math.min(tl.row, br.row),\r\n left: Math.min(tl.col, br.col),\r\n bottom: Math.max(tl.row, br.row),\r\n right: Math.max(tl.col, br.col),\r\n };\r\n // reconstruct tl, br and dimensions\r\n result.tl = this.n2l(result.left) + result.top;\r\n result.br = this.n2l(result.right) + result.bottom;\r\n result.dimensions = `${result.tl}:${result.br}`;\r\n return result;\r\n }\r\n return this.decodeAddress(value);\r\n },\r\n\r\n // convert [sheetName!][$]col[$]row[[$]col[$]row] into address or range structures\r\n decodeEx(value) {\r\n const groups = value.match(/(?:(?:(?:'((?:[^']|'')*)')|([^'^ !]*))!)?(.*)/);\r\n\r\n const sheetName = groups[1] || groups[2]; // Qouted and unqouted groups\r\n const reference = groups[3]; // Remaining address\r\n\r\n const parts = reference.split(':');\r\n if (parts.length > 1) {\r\n let tl = this.decodeAddress(parts[0]);\r\n let br = this.decodeAddress(parts[1]);\r\n const top = Math.min(tl.row, br.row);\r\n const left = Math.min(tl.col, br.col);\r\n const bottom = Math.max(tl.row, br.row);\r\n const right = Math.max(tl.col, br.col);\r\n\r\n tl = this.n2l(left) + top;\r\n br = this.n2l(right) + bottom;\r\n\r\n return {\r\n top,\r\n left,\r\n bottom,\r\n right,\r\n sheetName,\r\n tl: {address: tl, col: left, row: top, $col$row: `$${this.n2l(left)}$${top}`, sheetName},\r\n br: {\r\n address: br,\r\n col: right,\r\n row: bottom,\r\n $col$row: `$${this.n2l(right)}$${bottom}`,\r\n sheetName,\r\n },\r\n dimensions: `${tl}:${br}`,\r\n };\r\n }\r\n if (reference.startsWith('#')) {\r\n return sheetName ? {sheetName, error: reference} : {error: reference};\r\n }\r\n\r\n const address = this.decodeAddress(reference);\r\n return sheetName ? {sheetName, ...address} : address;\r\n },\r\n\r\n // convert row,col into address string\r\n encodeAddress(row, col) {\r\n return colCache.n2l(col) + row;\r\n },\r\n\r\n // convert row,col into string address or t,l,b,r into range\r\n encode() {\r\n switch (arguments.length) {\r\n case 2:\r\n return colCache.encodeAddress(arguments[0], arguments[1]);\r\n case 4:\r\n return `${colCache.encodeAddress(arguments[0], arguments[1])}:${colCache.encodeAddress(\r\n arguments[2],\r\n arguments[3]\r\n )}`;\r\n default:\r\n throw new Error('Can only encode with 2 or 4 arguments');\r\n }\r\n },\r\n\r\n // return true if address is contained within range\r\n inRange(range, address) {\r\n const [left, top, , right, bottom] = range;\r\n const [col, row] = address;\r\n return col >= left && col <= right && row >= top && row <= bottom;\r\n },\r\n};\r\n\r\nmodule.exports = colCache;\r\n","'use strict';\r\n\r\nconst crypto = require('crypto');\r\n\r\nconst Encryptor = {\r\n /**\r\n * Calculate a hash of the concatenated buffers with the given algorithm.\r\n * @param {string} algorithm - The hash algorithm.\r\n * @returns {Buffer} The hash\r\n */\r\n hash(algorithm, ...buffers) {\r\n const hash = crypto.createHash(algorithm);\r\n hash.update(Buffer.concat(buffers));\r\n return hash.digest();\r\n },\r\n /**\r\n * Convert a password into an encryption key\r\n * @param {string} password - The password\r\n * @param {string} hashAlgorithm - The hash algoritm\r\n * @param {string} saltValue - The salt value\r\n * @param {number} spinCount - The spin count\r\n * @param {number} keyBits - The length of the key in bits\r\n * @param {Buffer} blockKey - The block key\r\n * @returns {Buffer} The encryption key\r\n */\r\n convertPasswordToHash(password, hashAlgorithm, saltValue, spinCount) {\r\n hashAlgorithm = hashAlgorithm.toLowerCase();\r\n const hashes = crypto.getHashes();\r\n if (hashes.indexOf(hashAlgorithm) < 0) {\r\n throw new Error(`Hash algorithm '${hashAlgorithm}' not supported!`);\r\n }\r\n\r\n // Password must be in unicode buffer\r\n const passwordBuffer = Buffer.from(password, 'utf16le');\r\n // Generate the initial hash\r\n let key = this.hash(hashAlgorithm, Buffer.from(saltValue, 'base64'), passwordBuffer);\r\n // Now regenerate until spin count\r\n for (let i = 0; i < spinCount; i++) {\r\n const iterator = Buffer.alloc(4);\r\n // this is the 'special' element of Excel password hashing\r\n // that stops us from using crypto.pbkdf2()\r\n iterator.writeUInt32LE(i, 0);\r\n key = this.hash(hashAlgorithm, key, iterator);\r\n }\r\n return key.toString('base64');\r\n },\r\n /**\r\n * Generates cryptographically strong pseudo-random data.\r\n * @param size The size argument is a number indicating the number of bytes to generate.\r\n */\r\n randomBytes(size) {\r\n return crypto.randomBytes(size);\r\n },\r\n};\r\nmodule.exports = Encryptor;\r\n","const {SaxesParser} = require('saxes');\r\nconst {PassThrough} = require('readable-stream');\r\nconst {bufferToString} = require('./browser-buffer-decode');\r\n\r\nmodule.exports = async function* (iterable) {\r\n // TODO: Remove once node v8 is deprecated\r\n // Detect and upgrade old streams\r\n if (iterable.pipe && !iterable[Symbol.asyncIterator]) {\r\n iterable = iterable.pipe(new PassThrough());\r\n }\r\n const saxesParser = new SaxesParser();\r\n let error;\r\n saxesParser.on('error', err => {\r\n error = err;\r\n });\r\n let events = [];\r\n saxesParser.on('opentag', value => events.push({eventType: 'opentag', value}));\r\n saxesParser.on('text', value => events.push({eventType: 'text', value}));\r\n saxesParser.on('closetag', value => events.push({eventType: 'closetag', value}));\r\n for await (const chunk of iterable) {\r\n saxesParser.write(bufferToString(chunk));\r\n // saxesParser.write and saxesParser.on() are synchronous,\r\n // so we can only reach the below line once all events have been emitted\r\n if (error) throw error;\r\n // As a performance optimization, we gather all events instead of passing\r\n // them one by one, which would cause each event to go through the event queue\r\n yield events;\r\n events = [];\r\n }\r\n};\r\n","const colCache = require('./col-cache');\r\n\r\n// const cellRefRegex = /(([a-z_\\-0-9]*)!)?[$]?([a-z]+)[$]?([1-9][0-9]*)/i;\r\nconst replacementCandidateRx = /(([a-z_\\-0-9]*)!)?([a-z0-9_$]{2,})([(])?/gi;\r\nconst CRrx = /^([$])?([a-z]+)([$])?([1-9][0-9]*)$/i;\r\n\r\nfunction slideFormula(formula, fromCell, toCell) {\r\n const offset = colCache.decode(fromCell);\r\n const to = colCache.decode(toCell);\r\n return formula.replace(\r\n replacementCandidateRx,\r\n (refMatch, sheet, sheetMaybe, addrPart, trailingParen) => {\r\n if (trailingParen) {\r\n return refMatch;\r\n }\r\n const match = CRrx.exec(addrPart);\r\n if (match) {\r\n const colDollar = match[1];\r\n const colStr = match[2].toUpperCase();\r\n const rowDollar = match[3];\r\n const rowStr = match[4];\r\n if (colStr.length > 3 || (colStr.length === 3 && colStr > 'XFD')) {\r\n // > XFD is the highest col number in excel 2007 and beyond, so this is a named range\r\n return refMatch;\r\n }\r\n let col = colCache.l2n(colStr);\r\n let row = parseInt(rowStr, 10);\r\n if (!colDollar) {\r\n col += to.col - offset.col;\r\n }\r\n if (!rowDollar) {\r\n row += to.row - offset.row;\r\n }\r\n const res = (sheet || '') + (colDollar || '') + colCache.n2l(col) + (rowDollar || '') + row;\r\n return res;\r\n }\r\n return refMatch;\r\n }\r\n );\r\n}\r\n\r\nmodule.exports = {\r\n slideFormula,\r\n};\r\n","/* eslint-disable max-classes-per-file */\r\nconst Stream = require('readable-stream');\r\n\r\nconst utils = require('./utils');\r\nconst StringBuf = require('./string-buf');\r\n\r\n// =============================================================================\r\n// data chunks - encapsulating incoming data\r\nclass StringChunk {\r\n constructor(data, encoding) {\r\n this._data = data;\r\n this._encoding = encoding;\r\n }\r\n\r\n get length() {\r\n return this.toBuffer().length;\r\n }\r\n\r\n // copy to target buffer\r\n copy(target, targetOffset, offset, length) {\r\n return this.toBuffer().copy(target, targetOffset, offset, length);\r\n }\r\n\r\n toBuffer() {\r\n if (!this._buffer) {\r\n this._buffer = Buffer.from(this._data, this._encoding);\r\n }\r\n return this._buffer;\r\n }\r\n}\r\n\r\nclass StringBufChunk {\r\n constructor(data) {\r\n this._data = data;\r\n }\r\n\r\n get length() {\r\n return this._data.length;\r\n }\r\n\r\n // copy to target buffer\r\n copy(target, targetOffset, offset, length) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n return this._data._buf.copy(target, targetOffset, offset, length);\r\n }\r\n\r\n toBuffer() {\r\n return this._data.toBuffer();\r\n }\r\n}\r\n\r\nclass BufferChunk {\r\n constructor(data) {\r\n this._data = data;\r\n }\r\n\r\n get length() {\r\n return this._data.length;\r\n }\r\n\r\n // copy to target buffer\r\n copy(target, targetOffset, offset, length) {\r\n this._data.copy(target, targetOffset, offset, length);\r\n }\r\n\r\n toBuffer() {\r\n return this._data;\r\n }\r\n}\r\n\r\n// =============================================================================\r\n// ReadWriteBuf - a single buffer supporting simple read-write\r\nclass ReadWriteBuf {\r\n constructor(size) {\r\n this.size = size;\r\n // the buffer\r\n this.buffer = Buffer.alloc(size);\r\n // read index\r\n this.iRead = 0;\r\n // write index\r\n this.iWrite = 0;\r\n }\r\n\r\n toBuffer() {\r\n if (this.iRead === 0 && this.iWrite === this.size) {\r\n return this.buffer;\r\n }\r\n\r\n const buf = Buffer.alloc(this.iWrite - this.iRead);\r\n this.buffer.copy(buf, 0, this.iRead, this.iWrite);\r\n return buf;\r\n }\r\n\r\n get length() {\r\n return this.iWrite - this.iRead;\r\n }\r\n\r\n get eod() {\r\n return this.iRead === this.iWrite;\r\n }\r\n\r\n get full() {\r\n return this.iWrite === this.size;\r\n }\r\n\r\n read(size) {\r\n let buf;\r\n // read size bytes from buffer and return buffer\r\n if (size === 0) {\r\n // special case - return null if no data requested\r\n return null;\r\n }\r\n\r\n if (size === undefined || size >= this.length) {\r\n // if no size specified or size is at least what we have then return all of the bytes\r\n buf = this.toBuffer();\r\n this.iRead = this.iWrite;\r\n return buf;\r\n }\r\n\r\n // otherwise return a chunk\r\n buf = Buffer.alloc(size);\r\n this.buffer.copy(buf, 0, this.iRead, size);\r\n this.iRead += size;\r\n return buf;\r\n }\r\n\r\n write(chunk, offset, length) {\r\n // write as many bytes from data from optional source offset\r\n // and return number of bytes written\r\n const size = Math.min(length, this.size - this.iWrite);\r\n chunk.copy(this.buffer, this.iWrite, offset, offset + size);\r\n this.iWrite += size;\r\n return size;\r\n }\r\n}\r\n\r\n// =============================================================================\r\n// StreamBuf - a multi-purpose read-write stream\r\n// As MemBuf - write as much data as you like. Then call toBuffer() to consolidate\r\n// As StreamHub - pipe to multiple writables\r\n// As readable stream - feed data into the writable part and have some other code read from it.\r\n\r\n// Note: Not sure why but StreamBuf does not like JS \"class\" sugar. It fails the\r\n// integration tests\r\nconst StreamBuf = function(options) {\r\n options = options || {};\r\n this.bufSize = options.bufSize || 1024 * 1024;\r\n this.buffers = [];\r\n\r\n // batch mode fills a buffer completely before passing the data on\r\n // to pipes or 'readable' event listeners\r\n this.batch = options.batch || false;\r\n\r\n this.corked = false;\r\n // where in the current writable buffer we're up to\r\n this.inPos = 0;\r\n\r\n // where in the current readable buffer we've read up to\r\n this.outPos = 0;\r\n\r\n // consuming pipe streams go here\r\n this.pipes = [];\r\n\r\n // controls emit('data')\r\n this.paused = false;\r\n\r\n this.encoding = null;\r\n};\r\n\r\nutils.inherits(StreamBuf, Stream.Duplex, {\r\n toBuffer() {\r\n switch (this.buffers.length) {\r\n case 0:\r\n return null;\r\n case 1:\r\n return this.buffers[0].toBuffer();\r\n default:\r\n return Buffer.concat(this.buffers.map(rwBuf => rwBuf.toBuffer()));\r\n }\r\n },\r\n\r\n // writable\r\n // event drain - if write returns false (which it won't), indicates when safe to write again.\r\n // finish - end() has been called\r\n // pipe(src) - pipe() has been called on readable\r\n // unpipe(src) - unpipe() has been called on readable\r\n // error - duh\r\n\r\n _getWritableBuffer() {\r\n if (this.buffers.length) {\r\n const last = this.buffers[this.buffers.length - 1];\r\n if (!last.full) {\r\n return last;\r\n }\r\n }\r\n const buf = new ReadWriteBuf(this.bufSize);\r\n this.buffers.push(buf);\r\n return buf;\r\n },\r\n\r\n async _pipe(chunk) {\r\n const write = function(pipe) {\r\n return new Promise(resolve => {\r\n pipe.write(chunk.toBuffer(), () => {\r\n resolve();\r\n });\r\n });\r\n };\r\n await Promise.all(this.pipes.map(write));\r\n },\r\n _writeToBuffers(chunk) {\r\n let inPos = 0;\r\n const inLen = chunk.length;\r\n while (inPos < inLen) {\r\n // find writable buffer\r\n const buffer = this._getWritableBuffer();\r\n\r\n // write some data\r\n inPos += buffer.write(chunk, inPos, inLen - inPos);\r\n }\r\n },\r\n async write(data, encoding, callback) {\r\n if (encoding instanceof Function) {\r\n callback = encoding;\r\n encoding = 'utf8';\r\n }\r\n callback = callback || utils.nop;\r\n\r\n // encapsulate data into a chunk\r\n let chunk;\r\n if (data instanceof StringBuf) {\r\n chunk = new StringBufChunk(data);\r\n } else if (data instanceof Buffer) {\r\n chunk = new BufferChunk(data);\r\n } else if (typeof data === 'string' || data instanceof String || data instanceof ArrayBuffer) {\r\n chunk = new StringChunk(data, encoding);\r\n } else {\r\n throw new Error('Chunk must be one of type String, Buffer or StringBuf.');\r\n }\r\n\r\n // now, do something with the chunk\r\n if (this.pipes.length) {\r\n if (this.batch) {\r\n this._writeToBuffers(chunk);\r\n while (!this.corked && this.buffers.length > 1) {\r\n this._pipe(this.buffers.shift());\r\n }\r\n } else if (!this.corked) {\r\n await this._pipe(chunk);\r\n callback();\r\n } else {\r\n this._writeToBuffers(chunk);\r\n process.nextTick(callback);\r\n }\r\n } else {\r\n if (!this.paused) {\r\n this.emit('data', chunk.toBuffer());\r\n }\r\n\r\n this._writeToBuffers(chunk);\r\n this.emit('readable');\r\n }\r\n\r\n return true;\r\n },\r\n cork() {\r\n this.corked = true;\r\n },\r\n _flush(/* destination */) {\r\n // if we have comsumers...\r\n if (this.pipes.length) {\r\n // and there's stuff not written\r\n while (this.buffers.length) {\r\n this._pipe(this.buffers.shift());\r\n }\r\n }\r\n },\r\n uncork() {\r\n this.corked = false;\r\n this._flush();\r\n },\r\n end(chunk, encoding, callback) {\r\n const writeComplete = error => {\r\n if (error) {\r\n callback(error);\r\n } else {\r\n this._flush();\r\n this.pipes.forEach(pipe => {\r\n pipe.end();\r\n });\r\n this.emit('finish');\r\n }\r\n };\r\n if (chunk) {\r\n this.write(chunk, encoding, writeComplete);\r\n } else {\r\n writeComplete();\r\n }\r\n },\r\n\r\n // readable\r\n // event readable - some data is now available\r\n // event data - switch to flowing mode - feeds chunks to handler\r\n // event end - no more data\r\n // event close - optional, indicates upstream close\r\n // event error - duh\r\n read(size) {\r\n let buffers;\r\n // read min(buffer, size || infinity)\r\n if (size) {\r\n buffers = [];\r\n while (size && this.buffers.length && !this.buffers[0].eod) {\r\n const first = this.buffers[0];\r\n const buffer = first.read(size);\r\n size -= buffer.length;\r\n buffers.push(buffer);\r\n if (first.eod && first.full) {\r\n this.buffers.shift();\r\n }\r\n }\r\n return Buffer.concat(buffers);\r\n }\r\n\r\n buffers = this.buffers.map(buf => buf.toBuffer()).filter(Boolean);\r\n this.buffers = [];\r\n return Buffer.concat(buffers);\r\n },\r\n setEncoding(encoding) {\r\n // causes stream.read or stream.on('data) to return strings of encoding instead of Buffer objects\r\n this.encoding = encoding;\r\n },\r\n pause() {\r\n this.paused = true;\r\n },\r\n resume() {\r\n this.paused = false;\r\n },\r\n isPaused() {\r\n return !!this.paused;\r\n },\r\n pipe(destination) {\r\n // add destination to pipe list & write current buffer\r\n this.pipes.push(destination);\r\n if (!this.paused && this.buffers.length) {\r\n this.end();\r\n }\r\n },\r\n unpipe(destination) {\r\n // remove destination from pipe list\r\n this.pipes = this.pipes.filter(pipe => pipe !== destination);\r\n },\r\n unshift(/* chunk */) {\r\n // some numpty has read some data that's not for them and they want to put it back!\r\n // Might implement this some day\r\n throw new Error('Not Implemented');\r\n },\r\n wrap(/* stream */) {\r\n // not implemented\r\n throw new Error('Not Implemented');\r\n },\r\n});\r\n\r\nmodule.exports = StreamBuf;\r\n","// StringBuf - a way to keep string memory operations to a minimum\r\n// while building the strings for the xml files\r\nclass StringBuf {\r\n constructor(options) {\r\n this._buf = Buffer.alloc((options && options.size) || 16384);\r\n this._encoding = (options && options.encoding) || 'utf8';\r\n\r\n // where in the buffer we are at\r\n this._inPos = 0;\r\n\r\n // for use by toBuffer()\r\n this._buffer = undefined;\r\n }\r\n\r\n get length() {\r\n return this._inPos;\r\n }\r\n\r\n get capacity() {\r\n return this._buf.length;\r\n }\r\n\r\n get buffer() {\r\n return this._buf;\r\n }\r\n\r\n toBuffer() {\r\n // return the current data as a single enclosing buffer\r\n if (!this._buffer) {\r\n this._buffer = Buffer.alloc(this.length);\r\n this._buf.copy(this._buffer, 0, 0, this.length);\r\n }\r\n return this._buffer;\r\n }\r\n\r\n reset(position) {\r\n position = position || 0;\r\n this._buffer = undefined;\r\n this._inPos = position;\r\n }\r\n\r\n _grow(min) {\r\n let size = this._buf.length * 2;\r\n while (size < min) {\r\n size *= 2;\r\n }\r\n const buf = Buffer.alloc(size);\r\n this._buf.copy(buf, 0);\r\n this._buf = buf;\r\n }\r\n\r\n addText(text) {\r\n this._buffer = undefined;\r\n\r\n let inPos = this._inPos + this._buf.write(text, this._inPos, this._encoding);\r\n\r\n // if we've hit (or nearing capacity), grow the buf\r\n while (inPos >= this._buf.length - 4) {\r\n this._grow(this._inPos + text.length);\r\n\r\n // keep trying to write until we've completely written the text\r\n inPos = this._inPos + this._buf.write(text, this._inPos, this._encoding);\r\n }\r\n\r\n this._inPos = inPos;\r\n }\r\n\r\n addStringBuf(inBuf) {\r\n if (inBuf.length) {\r\n this._buffer = undefined;\r\n\r\n if (this.length + inBuf.length > this.capacity) {\r\n this._grow(this.length + inBuf.length);\r\n }\r\n // eslint-disable-next-line no-underscore-dangle\r\n inBuf._buf.copy(this._buf, this._inPos, 0, inBuf.length);\r\n this._inPos += inBuf.length;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = StringBuf;\r\n","const {toString} = Object.prototype;\r\nconst escapeHtmlRegex = /[\"&<>]/;\r\nconst _ = {\r\n each: function each(obj, cb) {\r\n if (obj) {\r\n if (Array.isArray(obj)) {\r\n obj.forEach(cb);\r\n } else {\r\n Object.keys(obj).forEach(key => {\r\n cb(obj[key], key);\r\n });\r\n }\r\n }\r\n },\r\n\r\n some: function some(obj, cb) {\r\n if (obj) {\r\n if (Array.isArray(obj)) {\r\n return obj.some(cb);\r\n }\r\n return Object.keys(obj).some(key => cb(obj[key], key));\r\n }\r\n return false;\r\n },\r\n\r\n every: function every(obj, cb) {\r\n if (obj) {\r\n if (Array.isArray(obj)) {\r\n return obj.every(cb);\r\n }\r\n return Object.keys(obj).every(key => cb(obj[key], key));\r\n }\r\n return true;\r\n },\r\n\r\n map: function map(obj, cb) {\r\n if (obj) {\r\n if (Array.isArray(obj)) {\r\n return obj.map(cb);\r\n }\r\n return Object.keys(obj).map(key => cb(obj[key], key));\r\n }\r\n return [];\r\n },\r\n\r\n keyBy(a, p) {\r\n return a.reduce((o, v) => {\r\n o[v[p]] = v;\r\n return o;\r\n }, {});\r\n },\r\n\r\n isEqual: function isEqual(a, b) {\r\n const aType = typeof a;\r\n const bType = typeof b;\r\n const aArray = Array.isArray(a);\r\n const bArray = Array.isArray(b);\r\n\r\n if (aType !== bType) {\r\n return false;\r\n }\r\n switch (typeof a) {\r\n case 'object':\r\n if (aArray || bArray) {\r\n if (aArray && bArray) {\r\n return (\r\n a.length === b.length &&\r\n a.every((aValue, index) => {\r\n const bValue = b[index];\r\n return _.isEqual(aValue, bValue);\r\n })\r\n );\r\n }\r\n return false;\r\n }\r\n return _.every(a, (aValue, key) => {\r\n const bValue = b[key];\r\n return _.isEqual(aValue, bValue);\r\n });\r\n\r\n default:\r\n return a === b;\r\n }\r\n },\r\n\r\n escapeHtml(html) {\r\n const regexResult = escapeHtmlRegex.exec(html);\r\n if (!regexResult) return html;\r\n\r\n let result = '';\r\n let escape = '';\r\n let lastIndex = 0;\r\n let i = regexResult.index;\r\n for (; i < html.length; i++) {\r\n switch (html.charAt(i)) {\r\n case '\"':\r\n escape = '"';\r\n break;\r\n case '&':\r\n escape = '&';\r\n break;\r\n case '\\'':\r\n escape = ''';\r\n break;\r\n case '<':\r\n escape = '<';\r\n break;\r\n case '>':\r\n escape = '>';\r\n break;\r\n default:\r\n continue;\r\n }\r\n if (lastIndex !== i) result += html.substring(lastIndex, i);\r\n lastIndex = i + 1;\r\n result += escape;\r\n }\r\n if (lastIndex !== i) return result + html.substring(lastIndex, i);\r\n return result;\r\n },\r\n\r\n strcmp(a, b) {\r\n if (a < b) return -1;\r\n if (a > b) return 1;\r\n return 0;\r\n },\r\n\r\n isUndefined(val) {\r\n return toString.call(val) === '[object Undefined]';\r\n },\r\n\r\n isObject(val) {\r\n return toString.call(val) === '[object Object]';\r\n },\r\n\r\n deepMerge() {\r\n const target = arguments[0] || {};\r\n const {length} = arguments;\r\n // eslint-disable-next-line one-var\r\n let src, clone, copyIsArray;\r\n\r\n function assignValue(val, key) {\r\n src = target[key];\r\n copyIsArray = Array.isArray(val);\r\n if (_.isObject(val) || copyIsArray) {\r\n if (copyIsArray) {\r\n copyIsArray = false;\r\n clone = src && Array.isArray(src) ? src : [];\r\n } else {\r\n clone = src && _.isObject(src) ? src : {};\r\n }\r\n target[key] = _.deepMerge(clone, val);\r\n } else if (!_.isUndefined(val)) {\r\n target[key] = val;\r\n }\r\n }\r\n\r\n for (let i = 0; i < length; i++) {\r\n _.each(arguments[i], assignValue);\r\n }\r\n return target;\r\n },\r\n};\r\n\r\nmodule.exports = _;\r\n","const fs = require('fs');\r\n\r\n// useful stuff\r\nconst inherits = function(cls, superCtor, statics, prototype) {\r\n // eslint-disable-next-line no-underscore-dangle\r\n cls.super_ = superCtor;\r\n\r\n if (!prototype) {\r\n prototype = statics;\r\n statics = null;\r\n }\r\n\r\n if (statics) {\r\n Object.keys(statics).forEach(i => {\r\n Object.defineProperty(cls, i, Object.getOwnPropertyDescriptor(statics, i));\r\n });\r\n }\r\n\r\n const properties = {\r\n constructor: {\r\n value: cls,\r\n enumerable: false,\r\n writable: false,\r\n configurable: true,\r\n },\r\n };\r\n if (prototype) {\r\n Object.keys(prototype).forEach(i => {\r\n properties[i] = Object.getOwnPropertyDescriptor(prototype, i);\r\n });\r\n }\r\n\r\n cls.prototype = Object.create(superCtor.prototype, properties);\r\n};\r\n\r\n// eslint-disable-next-line no-control-regex\r\nconst xmlDecodeRegex = /[<>&'\"\\x7F\\x00-\\x08\\x0B-\\x0C\\x0E-\\x1F]/;\r\nconst utils = {\r\n nop() {},\r\n promiseImmediate(value) {\r\n return new Promise(resolve => {\r\n if (global.setImmediate) {\r\n setImmediate(() => {\r\n resolve(value);\r\n });\r\n } else {\r\n // poorman's setImmediate - must wait at least 1ms\r\n setTimeout(() => {\r\n resolve(value);\r\n }, 1);\r\n }\r\n });\r\n },\r\n inherits,\r\n dateToExcel(d, date1904) {\r\n return 25569 + ( d.getTime() / (24 * 3600 * 1000) ) - (date1904 ? 1462 : 0);\r\n },\r\n excelToDate(v, date1904) {\r\n const millisecondSinceEpoch = Math.round((v - 25569 + (date1904 ? 1462 : 0)) * 24 * 3600 * 1000);\r\n return new Date(millisecondSinceEpoch);\r\n },\r\n parsePath(filepath) {\r\n const last = filepath.lastIndexOf('/');\r\n return {\r\n path: filepath.substring(0, last),\r\n name: filepath.substring(last + 1),\r\n };\r\n },\r\n getRelsPath(filepath) {\r\n const path = utils.parsePath(filepath);\r\n return `${path.path}/_rels/${path.name}.rels`;\r\n },\r\n xmlEncode(text) {\r\n const regexResult = xmlDecodeRegex.exec(text);\r\n if (!regexResult) return text;\r\n\r\n let result = '';\r\n let escape = '';\r\n let lastIndex = 0;\r\n let i = regexResult.index;\r\n for (; i < text.length; i++) {\r\n const charCode = text.charCodeAt(i);\r\n switch (charCode) {\r\n case 34: // \"\r\n escape = '"';\r\n break;\r\n case 38: // &\r\n escape = '&';\r\n break;\r\n case 39: // '\r\n escape = ''';\r\n break;\r\n case 60: // <\r\n escape = '<';\r\n break;\r\n case 62: // >\r\n escape = '>';\r\n break;\r\n case 127:\r\n escape = '';\r\n break;\r\n default: {\r\n if (charCode <= 31 && (charCode <= 8 || (charCode >= 11 && charCode !== 13))) {\r\n escape = '';\r\n break;\r\n }\r\n continue;\r\n }\r\n }\r\n if (lastIndex !== i) result += text.substring(lastIndex, i);\r\n lastIndex = i + 1;\r\n if (escape) result += escape;\r\n }\r\n if (lastIndex !== i) return result + text.substring(lastIndex, i);\r\n return result;\r\n },\r\n xmlDecode(text) {\r\n return text.replace(/&([a-z]*);/g, c => {\r\n switch (c) {\r\n case '<':\r\n return '<';\r\n case '>':\r\n return '>';\r\n case '&':\r\n return '&';\r\n case ''':\r\n return '\\'';\r\n case '"':\r\n return '\"';\r\n default:\r\n return c;\r\n }\r\n });\r\n },\r\n validInt(value) {\r\n const i = parseInt(value, 10);\r\n return !Number.isNaN(i) ? i : 0;\r\n },\r\n\r\n isDateFmt(fmt) {\r\n if (!fmt) {\r\n return false;\r\n }\r\n\r\n // must remove all chars inside quotes and []\r\n fmt = fmt.replace(/\\[[^\\]]*]/g, '');\r\n fmt = fmt.replace(/\"[^\"]*\"/g, '');\r\n // then check for date formatting chars\r\n const result = fmt.match(/[ymdhMsb]+/) !== null;\r\n return result;\r\n },\r\n\r\n fs: {\r\n exists(path) {\r\n return new Promise(resolve => {\r\n fs.access(path, fs.constants.F_OK, err => {\r\n resolve(!err);\r\n });\r\n });\r\n },\r\n },\r\n\r\n toIsoDateString(dt) {\r\n return dt.toIsoString().subsstr(0, 10);\r\n },\r\n};\r\n\r\nmodule.exports = utils;\r\n","const _ = require('./under-dash');\r\n\r\nconst utils = require('./utils');\r\n\r\n// constants\r\nconst OPEN_ANGLE = '<';\r\nconst CLOSE_ANGLE = '>';\r\nconst OPEN_ANGLE_SLASH = '</';\r\nconst CLOSE_SLASH_ANGLE = '/>';\r\nconst EQUALS_QUOTE = '=\"';\r\nconst QUOTE = '\"';\r\nconst SPACE = ' ';\r\n\r\nfunction pushAttribute(xml, name, value) {\r\n xml.push(SPACE);\r\n xml.push(name);\r\n xml.push(EQUALS_QUOTE);\r\n xml.push(utils.xmlEncode(value.toString()));\r\n xml.push(QUOTE);\r\n}\r\nfunction pushAttributes(xml, attributes) {\r\n if (attributes) {\r\n _.each(attributes, (value, name) => {\r\n if (value !== undefined) {\r\n pushAttribute(xml, name, value);\r\n }\r\n });\r\n }\r\n}\r\n\r\nclass XmlStream {\r\n constructor() {\r\n this._xml = [];\r\n this._stack = [];\r\n this._rollbacks = [];\r\n }\r\n\r\n get tos() {\r\n return this._stack.length ? this._stack[this._stack.length - 1] : undefined;\r\n }\r\n\r\n get cursor() {\r\n // handy way to track whether anything has been added\r\n return this._xml.length;\r\n }\r\n\r\n openXml(docAttributes) {\r\n const xml = this._xml;\r\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n xml.push('<?xml');\r\n pushAttributes(xml, docAttributes);\r\n xml.push('?>\\n');\r\n }\r\n\r\n openNode(name, attributes) {\r\n const parent = this.tos;\r\n const xml = this._xml;\r\n if (parent && this.open) {\r\n xml.push(CLOSE_ANGLE);\r\n }\r\n\r\n this._stack.push(name);\r\n\r\n // start streaming node\r\n xml.push(OPEN_ANGLE);\r\n xml.push(name);\r\n pushAttributes(xml, attributes);\r\n this.leaf = true;\r\n this.open = true;\r\n }\r\n\r\n addAttribute(name, value) {\r\n if (!this.open) {\r\n throw new Error('Cannot write attributes to node if it is not open');\r\n }\r\n if (value !== undefined) {\r\n pushAttribute(this._xml, name, value);\r\n }\r\n }\r\n\r\n addAttributes(attrs) {\r\n if (!this.open) {\r\n throw new Error('Cannot write attributes to node if it is not open');\r\n }\r\n pushAttributes(this._xml, attrs);\r\n }\r\n\r\n writeText(text) {\r\n const xml = this._xml;\r\n if (this.open) {\r\n xml.push(CLOSE_ANGLE);\r\n this.open = false;\r\n }\r\n this.leaf = false;\r\n xml.push(utils.xmlEncode(text.toString()));\r\n }\r\n\r\n writeXml(xml) {\r\n if (this.open) {\r\n this._xml.push(CLOSE_ANGLE);\r\n this.open = false;\r\n }\r\n this.leaf = false;\r\n this._xml.push(xml);\r\n }\r\n\r\n closeNode() {\r\n const node = this._stack.pop();\r\n const xml = this._xml;\r\n if (this.leaf) {\r\n xml.push(CLOSE_SLASH_ANGLE);\r\n } else {\r\n xml.push(OPEN_ANGLE_SLASH);\r\n xml.push(node);\r\n xml.push(CLOSE_ANGLE);\r\n }\r\n this.open = false;\r\n this.leaf = false;\r\n }\r\n\r\n leafNode(name, attributes, text) {\r\n this.openNode(name, attributes);\r\n if (text !== undefined) {\r\n // zeros need to be written\r\n this.writeText(text);\r\n }\r\n this.closeNode();\r\n }\r\n\r\n closeAll() {\r\n while (this._stack.length) {\r\n this.closeNode();\r\n }\r\n }\r\n\r\n addRollback() {\r\n this._rollbacks.push({\r\n xml: this._xml.length,\r\n stack: this._stack.length,\r\n leaf: this.leaf,\r\n open: this.open,\r\n });\r\n return this.cursor;\r\n }\r\n\r\n commit() {\r\n this._rollbacks.pop();\r\n }\r\n\r\n rollback() {\r\n const r = this._rollbacks.pop();\r\n if (this._xml.length > r.xml) {\r\n this._xml.splice(r.xml, this._xml.length - r.xml);\r\n }\r\n if (this._stack.length > r.stack) {\r\n this._stack.splice(r.stack, this._stack.length - r.stack);\r\n }\r\n this.leaf = r.leaf;\r\n this.open = r.open;\r\n }\r\n\r\n get xml() {\r\n this.closeAll();\r\n return this._xml.join('');\r\n }\r\n}\r\n\r\nXmlStream.StdDocAttributes = {\r\n version: '1.0',\r\n encoding: 'UTF-8',\r\n standalone: 'yes',\r\n};\r\n\r\nmodule.exports = XmlStream;\r\n","const events = require('events');\r\nconst JSZip = require('jszip');\r\n\r\nconst StreamBuf = require('./stream-buf');\r\nconst {stringToBuffer} = require('./browser-buffer-encode');\r\n\r\n// =============================================================================\r\n// The ZipWriter class\r\n// Packs streamed data into an output zip stream\r\nclass ZipWriter extends events.EventEmitter {\r\n constructor(options) {\r\n super();\r\n this.options = Object.assign(\r\n {\r\n type: 'nodebuffer',\r\n compression: 'DEFLATE',\r\n },\r\n options\r\n );\r\n\r\n this.zip = new JSZip();\r\n this.stream = new StreamBuf();\r\n }\r\n\r\n append(data, options) {\r\n if (options.hasOwnProperty('base64') && options.base64) {\r\n this.zip.file(options.name, data, {base64: true});\r\n } else {\r\n // https://www.npmjs.com/package/process\r\n if (process.browser && typeof data === 'string') {\r\n // use TextEncoder in browser\r\n data = stringToBuffer(data);\r\n }\r\n this.zip.file(options.name, data);\r\n }\r\n }\r\n\r\n async finalize() {\r\n const content = await this.zip.generateAsync(this.options);\r\n this.stream.end(content);\r\n this.emit('finish');\r\n }\r\n\r\n // ==========================================================================\r\n // Stream.Readable interface\r\n read(size) {\r\n return this.stream.read(size);\r\n }\r\n\r\n setEncoding(encoding) {\r\n return this.stream.setEncoding(encoding);\r\n }\r\n\r\n pause() {\r\n return this.stream.pause();\r\n }\r\n\r\n resume() {\r\n return this.stream.resume();\r\n }\r\n\r\n isPaused() {\r\n return this.stream.isPaused();\r\n }\r\n\r\n pipe(destination, options) {\r\n return this.stream.pipe(destination, options);\r\n }\r\n\r\n unpipe(destination) {\r\n return this.stream.unpipe(destination);\r\n }\r\n\r\n unshift(chunk) {\r\n return this.stream.unshift(chunk);\r\n }\r\n\r\n wrap(stream) {\r\n return this.stream.wrap(stream);\r\n }\r\n}\r\n\r\n// =============================================================================\r\n\r\nmodule.exports = {\r\n ZipWriter,\r\n};\r\n","module.exports = {\r\n 0: {f: 'General'},\r\n 1: {f: '0'},\r\n 2: {f: '0.00'},\r\n 3: {f: '#,##0'},\r\n 4: {f: '#,##0.00'},\r\n 9: {f: '0%'},\r\n 10: {f: '0.00%'},\r\n 11: {f: '0.00E+00'},\r\n 12: {f: '# ?/?'},\r\n 13: {f: '# ??/??'},\r\n 14: {f: 'mm-dd-yy'},\r\n 15: {f: 'd-mmm-yy'},\r\n 16: {f: 'd-mmm'},\r\n 17: {f: 'mmm-yy'},\r\n 18: {f: 'h:mm AM/PM'},\r\n 19: {f: 'h:mm:ss AM/PM'},\r\n 20: {f: 'h:mm'},\r\n 21: {f: 'h:mm:ss'},\r\n 22: {f: 'm/d/yy \"h\":mm'},\r\n\r\n 27: {\r\n 'zh-tw': '[$-404]e/m/d',\r\n 'zh-cn': 'yyyy\"年\"m\"月\"',\r\n 'ja-jp': '[$-411]ge.m.d',\r\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\r\n },\r\n 28: {\r\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\r\n 'zh-cn': 'm\"月\"d\"日\"',\r\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\r\n 'ko-kr': 'mm-dd',\r\n },\r\n 29: {\r\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\r\n 'zh-cn': 'm\"月\"d\"日\"',\r\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\r\n 'ko-kr': 'mm-dd',\r\n },\r\n 30: {'zh-tw': 'm/d/yy ', 'zh-cn': 'm-d-yy', 'ja-jp': 'm/d/yy', 'ko-kr': 'mm-dd-yy'},\r\n 31: {\r\n 'zh-tw': 'yyyy\"年\"m\"月\"d\"日\"',\r\n 'zh-cn': 'yyyy\"年\"m\"月\"d\"日\"',\r\n 'ja-jp': 'yyyy\"年\"m\"月\"d\"日\"',\r\n 'ko-kr': 'yyyy\"년\" mm\"월\" dd\"일\"',\r\n },\r\n 32: {\r\n 'zh-tw': 'hh\"時\"mm\"分\"',\r\n 'zh-cn': 'h\"时\"mm\"分\"',\r\n 'ja-jp': 'h\"時\"mm\"分\"',\r\n 'ko-kr': 'h\"시\" mm\"분\"',\r\n },\r\n 33: {\r\n 'zh-tw': 'hh\"時\"mm\"分\"ss\"秒\"',\r\n 'zh-cn': 'h\"时\"mm\"分\"ss\"秒\"',\r\n 'ja-jp': 'h\"時\"mm\"分\"ss\"秒\"',\r\n 'ko-kr': 'h\"시\" mm\"분\" ss\"초\"',\r\n },\r\n 34: {\r\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"',\r\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"',\r\n 'ja-jp': 'yyyy\"年\"m\"月\"',\r\n 'ko-kr': 'yyyy-mm-dd',\r\n },\r\n 35: {\r\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"ss\"秒\"',\r\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"ss\"秒\"',\r\n 'ja-jp': 'm\"月\"d\"日\"',\r\n 'ko-kr': 'yyyy-mm-dd',\r\n },\r\n 36: {\r\n 'zh-tw': '[$-404]e/m/d',\r\n 'zh-cn': 'yyyy\"年\"m\"月\"',\r\n 'ja-jp': '[$-411]ge.m.d',\r\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\r\n },\r\n\r\n 37: {f: '#,##0 ;(#,##0)'},\r\n 38: {f: '#,##0 ;[Red](#,##0)'},\r\n 39: {f: '#,##0.00 ;(#,##0.00)'},\r\n 40: {f: '#,##0.00 ;[Red](#,##0.00)'},\r\n 45: {f: 'mm:ss'},\r\n 46: {f: '[h]:mm:ss'},\r\n 47: {f: 'mmss.0'},\r\n 48: {f: '##0.0E+0'},\r\n 49: {f: '@'},\r\n\r\n 50: {\r\n 'zh-tw': '[$-404]e/m/d',\r\n 'zh-cn': 'yyyy\"年\"m\"月\"',\r\n 'ja-jp': '[$-411]ge.m.d',\r\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\r\n },\r\n 51: {\r\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\r\n 'zh-cn': 'm\"月\"d\"日\"',\r\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\r\n 'ko-kr': 'mm-dd',\r\n },\r\n 52: {\r\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"',\r\n 'zh-cn': 'yyyy\"年\"m\"月\"',\r\n 'ja-jp': 'yyyy\"年\"m\"月\"',\r\n 'ko-kr': 'yyyy-mm-dd',\r\n },\r\n 53: {\r\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"ss\"秒\"',\r\n 'zh-cn': 'm\"月\"d\"日\"',\r\n 'ja-jp': 'm\"月\"d\"日\"',\r\n 'ko-kr': 'yyyy-mm-dd',\r\n },\r\n 54: {\r\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\r\n 'zh-cn': 'm\"月\"d\"日\"',\r\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\r\n 'ko-kr': 'mm-dd',\r\n },\r\n 55: {\r\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"',\r\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"',\r\n 'ja-jp': 'yyyy\"年\"m\"月\"',\r\n 'ko-kr': 'yyyy-mm-dd',\r\n },\r\n 56: {\r\n 'zh-tw': '上午/下午 hh\"時\"mm\"分\"ss\"秒\"',\r\n 'zh-cn': '上午/下午 h\"时\"mm\"分\"ss\"秒\"',\r\n 'ja-jp': 'm\"月\"d\"日\"',\r\n 'ko-kr': 'yyyy-mm-dd',\r\n },\r\n 57: {\r\n 'zh-tw': '[$-404]e/m/d',\r\n 'zh-cn': 'yyyy\"年\"m\"月\"',\r\n 'ja-jp': '[$-411]ge.m.d',\r\n 'ko-kr': 'yyyy\"年\" mm\"月\" dd\"日\"',\r\n },\r\n 58: {\r\n 'zh-tw': '[$-404]e\"年\"m\"月\"d\"日\"',\r\n 'zh-cn': 'm\"月\"d\"日\"',\r\n 'ja-jp': '[$-411]ggge\"年\"m\"月\"d\"日\"',\r\n 'ko-kr': 'mm-dd',\r\n },\r\n\r\n 59: {'th-th': 't0'},\r\n 60: {'th-th': 't0.00'},\r\n 61: {'th-th': 't#,##0'},\r\n 62: {'th-th': 't#,##0.00'},\r\n 67: {'th-th': 't0%'},\r\n 68: {'th-th': 't0.00%'},\r\n 69: {'th-th': 't# ?/?'},\r\n 70: {'th-th': 't# ??/??'},\r\n\r\n 81: {'th-th': 'd/m/bb'},\r\n};\r\n","'use strict';\r\n\r\nmodule.exports = {\r\n OfficeDocument:\r\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument',\r\n Worksheet: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet',\r\n CalcChain: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain',\r\n SharedStrings:\r\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings',\r\n Styles: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles',\r\n Theme: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme',\r\n Hyperlink: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink',\r\n Image: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',\r\n CoreProperties:\r\n 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties',\r\n ExtenderProperties:\r\n 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\r\n Comments: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments',\r\n VmlDrawing: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing',\r\n Table: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/table',\r\n};\r\n","const parseSax = require('../../utils/parse-sax');\r\nconst XmlStream = require('../../utils/xml-stream');\r\n\r\n/* 'virtual' methods used as a form of documentation */\r\n/* eslint-disable class-methods-use-this */\r\n\r\n// Base class for Xforms\r\nclass BaseXform {\r\n // constructor(/* model, name */) {}\r\n\r\n // ============================================================\r\n // Virtual Interface\r\n prepare(/* model, options */) {\r\n // optional preparation (mutation) of model so it is ready for write\r\n }\r\n\r\n render(/* xmlStream, model */) {\r\n // convert model to xml\r\n }\r\n\r\n parseOpen(node) {\r\n // XML node opened\r\n }\r\n\r\n parseText(text) {\r\n // chunk of text encountered for current node\r\n }\r\n\r\n parseClose(name) {\r\n // XML node closed\r\n }\r\n\r\n reconcile(model, options) {\r\n // optional post-parse step (opposite to prepare)\r\n }\r\n\r\n // ============================================================\r\n reset() {\r\n // to make sure parses don't bleed to next iteration\r\n this.model = null;\r\n\r\n // if we have a map - reset them too\r\n if (this.map) {\r\n Object.values(this.map).forEach(xform => {\r\n if (xform instanceof BaseXform) {\r\n xform.reset();\r\n } else if (xform.xform) {\r\n xform.xform.reset();\r\n }\r\n });\r\n }\r\n }\r\n\r\n mergeModel(obj) {\r\n // set obj's props to this.model\r\n this.model = Object.assign(this.model || {}, obj);\r\n }\r\n\r\n async parse(saxParser) {\r\n for await (const events of saxParser) {\r\n for (const {eventType, value} of events) {\r\n if (eventType === 'opentag') {\r\n this.parseOpen(value);\r\n } else if (eventType === 'text') {\r\n this.parseText(value);\r\n } else if (eventType === 'closetag') {\r\n if (!this.parseClose(value.name)) {\r\n return this.model;\r\n }\r\n }\r\n }\r\n }\r\n return this.model;\r\n }\r\n\r\n async parseStream(stream) {\r\n return this.parse(parseSax(stream));\r\n }\r\n\r\n get xml() {\r\n // convenience function to get the xml of this.model\r\n // useful for manager types that are built during the prepare phase\r\n return this.toXml(this.model);\r\n }\r\n\r\n toXml(model) {\r\n const xmlStream = new XmlStream();\r\n this.render(xmlStream, model);\r\n return xmlStream.xml;\r\n }\r\n\r\n // ============================================================\r\n // Useful Utilities\r\n static toAttribute(value, dflt, always = false) {\r\n if (value === undefined) {\r\n if (always) {\r\n return dflt;\r\n }\r\n } else if (always || value !== dflt) {\r\n return value.toString();\r\n }\r\n return undefined;\r\n }\r\n\r\n static toStringAttribute(value, dflt, always = false) {\r\n return BaseXform.toAttribute(value, dflt, always);\r\n }\r\n\r\n static toStringValue(attr, dflt) {\r\n return attr === undefined ? dflt : attr;\r\n }\r\n\r\n static toBoolAttribute(value, dflt, always = false) {\r\n if (value === undefined) {\r\n if (always) {\r\n return dflt;\r\n }\r\n } else if (always || value !== dflt) {\r\n return value ? '1' : '0';\r\n }\r\n return undefined;\r\n }\r\n\r\n static toBoolValue(attr, dflt) {\r\n return attr === undefined ? dflt : attr === '1';\r\n }\r\n\r\n static toIntAttribute(value, dflt, always = false) {\r\n return BaseXform.toAttribute(value, dflt, always);\r\n }\r\n\r\n static toIntValue(attr, dflt) {\r\n return attr === undefined ? dflt : parseInt(attr, 10);\r\n }\r\n\r\n static toFloatAttribute(value, dflt, always = false) {\r\n return BaseXform.toAttribute(value, dflt, always);\r\n }\r\n\r\n static toFloatValue(attr, dflt) {\r\n return attr === undefined ? dflt : parseFloat(attr);\r\n }\r\n}\r\n\r\nmodule.exports = BaseXform;\r\n","const BaseXform = require('../base-xform');\r\nconst colCache = require('../../../utils/col-cache');\r\n\r\nclass DefinedNamesXform extends BaseXform {\r\n render(xmlStream, model) {\r\n // <definedNames>\r\n // <definedName name=\"name\">name.ranges.join(',')</definedName>\r\n // <definedName name=\"_xlnm.Print_Area\" localSheetId=\"0\">name.ranges.join(',')</definedName>\r\n // </definedNames>\r\n xmlStream.openNode('definedName', {\r\n name: model.name,\r\n localSheetId: model.localSheetId,\r\n });\r\n xmlStream.writeText(model.ranges.join(','));\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 'definedName':\r\n this._parsedName = node.attributes.name;\r\n this._parsedLocalSheetId = node.attributes.localSheetId;\r\n this._parsedText = [];\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n this._parsedText.push(text);\r\n }\r\n\r\n parseClose() {\r\n this.model = {\r\n name: this._parsedName,\r\n ranges: extractRanges(this._parsedText.join('')),\r\n };\r\n if (this._parsedLocalSheetId !== undefined) {\r\n this.model.localSheetId = parseInt(this._parsedLocalSheetId, 10);\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nfunction isValidRange(range) {\r\n try {\r\n colCache.decodeEx(range);\r\n return true;\r\n } catch (err) {\r\n return false;\r\n }\r\n}\r\n\r\nfunction extractRanges(parsedText) {\r\n const ranges = [];\r\n let quotesOpened = false;\r\n let last = '';\r\n parsedText.split(',').forEach(item => {\r\n if (!item) {\r\n return;\r\n }\r\n const quotes = (item.match(/'/g) || []).length;\r\n\r\n if (!quotes) {\r\n if (quotesOpened) {\r\n last += `${item},`;\r\n } else if (isValidRange(item)) {\r\n ranges.push(item);\r\n }\r\n return;\r\n }\r\n const quotesEven = quotes % 2 === 0;\r\n\r\n if (!quotesOpened && quotesEven && isValidRange(item)) {\r\n ranges.push(item);\r\n } else if (quotesOpened && !quotesEven) {\r\n quotesOpened = false;\r\n if (isValidRange(last + item)) {\r\n ranges.push(last + item);\r\n }\r\n last = '';\r\n } else {\r\n quotesOpened = true;\r\n last += `${item},`;\r\n }\r\n });\r\n return ranges;\r\n}\r\n\r\nmodule.exports = DefinedNamesXform;\r\n","const utils = require('../../../utils/utils');\r\nconst BaseXform = require('../base-xform');\r\n\r\nclass WorksheetXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('sheet', {\r\n sheetId: model.id,\r\n name: model.name,\r\n state: model.state,\r\n 'r:id': model.rId,\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'sheet') {\r\n this.model = {\r\n name: utils.xmlDecode(node.attributes.name),\r\n id: parseInt(node.attributes.sheetId, 10),\r\n state: node.attributes.state,\r\n rId: node.attributes['r:id'],\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = WorksheetXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass WorkbookCalcPropertiesXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('calcPr', {\r\n calcId: 171027,\r\n fullCalcOnLoad: model.fullCalcOnLoad ? 1 : undefined,\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'calcPr') {\r\n this.model = {};\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = WorkbookCalcPropertiesXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass WorksheetPropertiesXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('workbookPr', {\r\n date1904: model.date1904 ? 1 : undefined,\r\n defaultThemeVersion: 164011,\r\n filterPrivacy: 1,\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'workbookPr') {\r\n this.model = {\r\n date1904: node.attributes.date1904 === '1',\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = WorksheetPropertiesXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass WorkbookViewXform extends BaseXform {\r\n render(xmlStream, model) {\r\n const attributes = {\r\n xWindow: model.x || 0,\r\n yWindow: model.y || 0,\r\n windowWidth: model.width || 12000,\r\n windowHeight: model.height || 24000,\r\n firstSheet: model.firstSheet,\r\n activeTab: model.activeTab,\r\n };\r\n if (model.visibility && model.visibility !== 'visible') {\r\n attributes.visibility = model.visibility;\r\n }\r\n xmlStream.leafNode('workbookView', attributes);\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'workbookView') {\r\n const model = (this.model = {});\r\n const addS = function(name, value, dflt) {\r\n const s = value !== undefined ? (model[name] = value) : dflt;\r\n if (s !== undefined) {\r\n model[name] = s;\r\n }\r\n };\r\n const addN = function(name, value, dflt) {\r\n const n = value !== undefined ? (model[name] = parseInt(value, 10)) : dflt;\r\n if (n !== undefined) {\r\n model[name] = n;\r\n }\r\n };\r\n addN('x', node.attributes.xWindow, 0);\r\n addN('y', node.attributes.yWindow, 0);\r\n addN('width', node.attributes.windowWidth, 25000);\r\n addN('height', node.attributes.windowHeight, 10000);\r\n addS('visibility', node.attributes.visibility, 'visible');\r\n addN('activeTab', node.attributes.activeTab, undefined);\r\n addN('firstSheet', node.attributes.firstSheet, undefined);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = WorkbookViewXform;\r\n","const _ = require('../../../utils/under-dash');\r\n\r\nconst colCache = require('../../../utils/col-cache');\r\nconst XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst BaseXform = require('../base-xform');\r\nconst StaticXform = require('../static-xform');\r\nconst ListXform = require('../list-xform');\r\nconst DefinedNameXform = require('./defined-name-xform');\r\nconst SheetXform = require('./sheet-xform');\r\nconst WorkbookViewXform = require('./workbook-view-xform');\r\nconst WorkbookPropertiesXform = require('./workbook-properties-xform');\r\nconst WorkbookCalcPropertiesXform = require('./workbook-calc-properties-xform');\r\n\r\nclass WorkbookXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n fileVersion: WorkbookXform.STATIC_XFORMS.fileVersion,\r\n workbookPr: new WorkbookPropertiesXform(),\r\n bookViews: new ListXform({\r\n tag: 'bookViews',\r\n count: false,\r\n childXform: new WorkbookViewXform(),\r\n }),\r\n sheets: new ListXform({tag: 'sheets', count: false, childXform: new SheetXform()}),\r\n definedNames: new ListXform({\r\n tag: 'definedNames',\r\n count: false,\r\n childXform: new DefinedNameXform(),\r\n }),\r\n calcPr: new WorkbookCalcPropertiesXform(),\r\n };\r\n }\r\n\r\n prepare(model) {\r\n model.sheets = model.worksheets;\r\n\r\n // collate all the print areas from all of the sheets and add them to the defined names\r\n const printAreas = [];\r\n let index = 0; // sheets is sparse array - calc index manually\r\n model.sheets.forEach(sheet => {\r\n if (sheet.pageSetup && sheet.pageSetup.printArea) {\r\n sheet.pageSetup.printArea.split('&&').forEach(printArea => {\r\n const printAreaComponents = printArea.split(':');\r\n const definedName = {\r\n name: '_xlnm.Print_Area',\r\n ranges: [`'${sheet.name}'!$${printAreaComponents[0]}:$${printAreaComponents[1]}`],\r\n localSheetId: index,\r\n };\r\n printAreas.push(definedName);\r\n });\r\n }\r\n\r\n if (\r\n sheet.pageSetup &&\r\n (sheet.pageSetup.printTitlesRow || sheet.pageSetup.printTitlesColumn)\r\n ) {\r\n const ranges = [];\r\n\r\n if (sheet.pageSetup.printTitlesColumn) {\r\n const titlesColumns = sheet.pageSetup.printTitlesColumn.split(':');\r\n ranges.push(`'${sheet.name}'!$${titlesColumns[0]}:$${titlesColumns[1]}`);\r\n }\r\n\r\n if (sheet.pageSetup.printTitlesRow) {\r\n const titlesRows = sheet.pageSetup.printTitlesRow.split(':');\r\n ranges.push(`'${sheet.name}'!$${titlesRows[0]}:$${titlesRows[1]}`);\r\n }\r\n\r\n const definedName = {\r\n name: '_xlnm.Print_Titles',\r\n ranges,\r\n localSheetId: index,\r\n };\r\n\r\n printAreas.push(definedName);\r\n }\r\n index++;\r\n });\r\n if (printAreas.length) {\r\n model.definedNames = model.definedNames.concat(printAreas);\r\n }\r\n\r\n (model.media || []).forEach((medium, i) => {\r\n // assign name\r\n medium.name = medium.type + (i + 1);\r\n });\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode('workbook', WorkbookXform.WORKBOOK_ATTRIBUTES);\r\n\r\n this.map.fileVersion.render(xmlStream);\r\n this.map.workbookPr.render(xmlStream, model.properties);\r\n this.map.bookViews.render(xmlStream, model.views);\r\n this.map.sheets.render(xmlStream, model.sheets);\r\n this.map.definedNames.render(xmlStream, model.definedNames);\r\n this.map.calcPr.render(xmlStream, model.calcProperties);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'workbook':\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'workbook':\r\n this.model = {\r\n sheets: this.map.sheets.model,\r\n properties: this.map.workbookPr.model || {},\r\n views: this.map.bookViews.model,\r\n calcProperties: {},\r\n };\r\n if (this.map.definedNames.model) {\r\n this.model.definedNames = this.map.definedNames.model;\r\n }\r\n\r\n return false;\r\n default:\r\n // not quite sure how we get here!\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model) {\r\n const rels = (model.workbookRels || []).reduce((map, rel) => {\r\n map[rel.Id] = rel;\r\n return map;\r\n }, {});\r\n\r\n // reconcile sheet ids, rIds and names\r\n const worksheets = [];\r\n let worksheet;\r\n let index = 0;\r\n\r\n (model.sheets || []).forEach(sheet => {\r\n const rel = rels[sheet.rId];\r\n if (!rel) {\r\n return;\r\n }\r\n // if rel.Target start with `[space]/xl/` or `/xl/` , then it will be replaced with `''` and spliced behind `xl/`,\r\n // otherwise it will be spliced directly behind `xl/`. i.g.\r\n worksheet = model.worksheetHash[`xl/${rel.Target.replace(/^(\\s|\\/xl\\/)+/, '')}`];\r\n // If there are \"chartsheets\" in the file, rel.Target will\r\n // come out as chartsheets/sheet1.xml or similar here, and\r\n // that won't be in model.worksheetHash.\r\n // As we don't have the infrastructure to support chartsheets,\r\n // we will ignore them for now:\r\n if (worksheet) {\r\n worksheet.name = sheet.name;\r\n worksheet.id = sheet.id;\r\n worksheet.state = sheet.state;\r\n worksheets[index++] = worksheet;\r\n }\r\n });\r\n\r\n // reconcile print areas\r\n const definedNames = [];\r\n _.each(model.definedNames, definedName => {\r\n if (definedName.name === '_xlnm.Print_Area') {\r\n worksheet = worksheets[definedName.localSheetId];\r\n if (worksheet) {\r\n if (!worksheet.pageSetup) {\r\n worksheet.pageSetup = {};\r\n }\r\n const range = colCache.decodeEx(definedName.ranges[0]);\r\n worksheet.pageSetup.printArea = worksheet.pageSetup.printArea\r\n ? `${worksheet.pageSetup.printArea}&&${range.dimensions}`\r\n : range.dimensions;\r\n }\r\n } else if (definedName.name === '_xlnm.Print_Titles') {\r\n worksheet = worksheets[definedName.localSheetId];\r\n if (worksheet) {\r\n if (!worksheet.pageSetup) {\r\n worksheet.pageSetup = {};\r\n }\r\n\r\n const rangeString = definedName.ranges.join(',');\r\n\r\n const dollarRegex = /\\$/g;\r\n\r\n const rowRangeRegex = /\\$\\d+:\\$\\d+/;\r\n const rowRangeMatches = rangeString.match(rowRangeRegex);\r\n\r\n if (rowRangeMatches && rowRangeMatches.length) {\r\n const range = rowRangeMatches[0];\r\n worksheet.pageSetup.printTitlesRow = range.replace(dollarRegex, '');\r\n }\r\n\r\n const columnRangeRegex = /\\$[A-Z]+:\\$[A-Z]+/;\r\n const columnRangeMatches = rangeString.match(columnRangeRegex);\r\n\r\n if (columnRangeMatches && columnRangeMatches.length) {\r\n const range = columnRangeMatches[0];\r\n worksheet.pageSetup.printTitlesColumn = range.replace(dollarRegex, '');\r\n }\r\n }\r\n } else {\r\n definedNames.push(definedName);\r\n }\r\n });\r\n model.definedNames = definedNames;\r\n\r\n // used by sheets to build their image models\r\n model.media.forEach((media, i) => {\r\n media.index = i;\r\n });\r\n }\r\n}\r\n\r\nWorkbookXform.WORKBOOK_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\r\n 'mc:Ignorable': 'x15',\r\n 'xmlns:x15': 'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main',\r\n};\r\nWorkbookXform.STATIC_XFORMS = {\r\n fileVersion: new StaticXform({\r\n tag: 'fileVersion',\r\n $: {appName: 'xl', lastEdited: 5, lowestEdited: 5, rupBuild: 9303},\r\n }),\r\n};\r\n\r\nmodule.exports = WorkbookXform;\r\n","const RichTextXform = require('../strings/rich-text-xform');\r\nconst utils = require('../../../utils/utils');\r\nconst BaseXform = require('../base-xform');\r\n\r\n/**\r\n <comment ref=\"B1\" authorId=\"0\">\r\n <text>\r\n <r>\r\n <rPr>\r\n <b/>\r\n <sz val=\"9\"/>\r\n <rFont val=\"宋体\"/>\r\n <charset val=\"134\"/>\r\n </rPr>\r\n <t>51422:</t>\r\n </r>\r\n <r>\r\n <rPr>\r\n <sz val=\"9\"/>\r\n <rFont val=\"宋体\"/>\r\n <charset val=\"134\"/>\r\n </rPr>\r\n <t xml:space=\"preserve\"> test</t>\r\n </r>\r\n </text>\r\n </comment>\r\n */\r\n\r\nconst CommentXform = (module.exports = function(model) {\r\n this.model = model;\r\n});\r\n\r\nutils.inherits(CommentXform, BaseXform, {\r\n get tag() {\r\n return 'r';\r\n },\r\n\r\n get richTextXform() {\r\n if (!this._richTextXform) {\r\n this._richTextXform = new RichTextXform();\r\n }\r\n return this._richTextXform;\r\n },\r\n\r\n render(xmlStream, model) {\r\n model = model || this.model;\r\n\r\n xmlStream.openNode('comment', {\r\n ref: model.ref,\r\n authorId: 0,\r\n });\r\n xmlStream.openNode('text');\r\n if (model && model.note && model.note.texts) {\r\n model.note.texts.forEach(text => {\r\n this.richTextXform.render(xmlStream, text);\r\n });\r\n }\r\n xmlStream.closeNode();\r\n xmlStream.closeNode();\r\n },\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'comment':\r\n this.model = {\r\n type: 'note',\r\n note: {\r\n texts: [],\r\n },\r\n ...node.attributes,\r\n };\r\n return true;\r\n case 'r':\r\n this.parser = this.richTextXform;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n return false;\r\n }\r\n },\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n },\r\n parseClose(name) {\r\n switch (name) {\r\n case 'comment':\r\n return false;\r\n case 'r':\r\n this.model.note.texts.push(this.parser.model);\r\n this.parser = undefined;\r\n return true;\r\n default:\r\n if (this.parser) {\r\n this.parser.parseClose(name);\r\n }\r\n return true;\r\n }\r\n },\r\n});\r\n","const XmlStream = require('../../../utils/xml-stream');\r\nconst utils = require('../../../utils/utils');\r\nconst BaseXform = require('../base-xform');\r\n\r\nconst CommentXform = require('./comment-xform');\r\n\r\nconst CommentsXform = (module.exports = function() {\r\n this.map = {\r\n comment: new CommentXform(),\r\n };\r\n});\r\n\r\nutils.inherits(\r\n CommentsXform,\r\n BaseXform,\r\n {\r\n COMMENTS_ATTRIBUTES: {\r\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n },\r\n },\r\n {\r\n render(xmlStream, model) {\r\n model = model || this.model;\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode('comments', CommentsXform.COMMENTS_ATTRIBUTES);\r\n\r\n // authors\r\n // TODO: support authors properly\r\n xmlStream.openNode('authors');\r\n xmlStream.leafNode('author', null, 'Author');\r\n xmlStream.closeNode();\r\n\r\n // comments\r\n xmlStream.openNode('commentList');\r\n model.comments.forEach(comment => {\r\n this.map.comment.render(xmlStream, comment);\r\n });\r\n xmlStream.closeNode();\r\n xmlStream.closeNode();\r\n },\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'commentList':\r\n this.model = {\r\n comments: [],\r\n };\r\n return true;\r\n case 'comment':\r\n this.parser = this.map.comment;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n return false;\r\n }\r\n },\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n },\r\n parseClose(name) {\r\n switch (name) {\r\n case 'commentList':\r\n return false;\r\n case 'comment':\r\n this.model.comments.push(this.parser.model);\r\n this.parser = undefined;\r\n return true;\r\n default:\r\n if (this.parser) {\r\n this.parser.parseClose(name);\r\n }\r\n return true;\r\n }\r\n },\r\n }\r\n);\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass VmlPositionXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n this._model = model;\r\n }\r\n\r\n get tag() {\r\n return this._model && this._model.tag;\r\n }\r\n\r\n render(xmlStream, model, type) {\r\n if (model === type[2]) {\r\n xmlStream.leafNode(this.tag);\r\n } else if (this.tag === 'x:SizeWithCells' && model === type[1]) {\r\n xmlStream.leafNode(this.tag);\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {};\r\n this.model[this.tag] = true;\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = VmlPositionXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass VmlProtectionXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n this._model = model;\r\n }\r\n\r\n get tag() {\r\n return this._model && this._model.tag;\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, null, model);\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.text = '';\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n this.text = text;\r\n }\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = VmlProtectionXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\n// render the triangle in the cell for the comment\r\nclass VmlAnchorXform extends BaseXform {\r\n get tag() {\r\n return 'x:Anchor';\r\n }\r\n\r\n getAnchorRect(anchor) {\r\n const l = Math.floor(anchor.left);\r\n const lf = Math.floor((anchor.left - l) * 68);\r\n const t = Math.floor(anchor.top);\r\n const tf = Math.floor((anchor.top - t) * 18);\r\n const r = Math.floor(anchor.right);\r\n const rf = Math.floor((anchor.right - r) * 68);\r\n const b = Math.floor(anchor.bottom);\r\n const bf = Math.floor((anchor.bottom - b) * 18);\r\n return [l, lf, t, tf, r, rf, b, bf];\r\n }\r\n\r\n getDefaultRect(ref) {\r\n const l = ref.col;\r\n const lf = 6;\r\n const t = Math.max(ref.row - 2, 0);\r\n const tf = 14;\r\n const r = l + 2;\r\n const rf = 2;\r\n const b = t + 4;\r\n const bf = 16;\r\n return [l, lf, t, tf, r, rf, b, bf];\r\n }\r\n\r\n render(xmlStream, model) {\r\n const rect = model.anchor\r\n ? this.getAnchorRect(model.anchor)\r\n : this.getDefaultRect(model.refAddress);\r\n\r\n xmlStream.leafNode('x:Anchor', null, rect.join(', '));\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.text = '';\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n this.text = text;\r\n }\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = VmlAnchorXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst VmlAnchorXform = require('./vml-anchor-xform');\r\nconst VmlProtectionXform = require('./style/vml-protection-xform');\r\nconst VmlPositionXform = require('./style/vml-position-xform');\r\n\r\nconst POSITION_TYPE = ['twoCells', 'oneCells', 'absolute'];\r\n\r\nclass VmlClientDataXform extends BaseXform {\r\n constructor() {\r\n super();\r\n this.map = {\r\n 'x:Anchor': new VmlAnchorXform(),\r\n 'x:Locked': new VmlProtectionXform({tag: 'x:Locked'}),\r\n 'x:LockText': new VmlProtectionXform({tag: 'x:LockText'}),\r\n 'x:SizeWithCells': new VmlPositionXform({tag: 'x:SizeWithCells'}),\r\n 'x:MoveWithCells': new VmlPositionXform({tag: 'x:MoveWithCells'}),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'x:ClientData';\r\n }\r\n\r\n render(xmlStream, model) {\r\n const {protection, editAs} = model.note;\r\n xmlStream.openNode(this.tag, {ObjectType: 'Note'});\r\n this.map['x:MoveWithCells'].render(xmlStream, editAs, POSITION_TYPE);\r\n this.map['x:SizeWithCells'].render(xmlStream, editAs, POSITION_TYPE);\r\n this.map['x:Anchor'].render(xmlStream, model);\r\n this.map['x:Locked'].render(xmlStream, protection.locked);\r\n xmlStream.leafNode('x:AutoFill', null, 'False');\r\n this.map['x:LockText'].render(xmlStream, protection.lockText);\r\n xmlStream.leafNode('x:Row', null, model.refAddress.row - 1);\r\n xmlStream.leafNode('x:Column', null, model.refAddress.col - 1);\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n this.model = {\r\n anchor: [],\r\n protection: {},\r\n editAs: '',\r\n };\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.normalizeModel();\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n normalizeModel() {\r\n const position = Object.assign(\r\n {},\r\n this.map['x:MoveWithCells'].model,\r\n this.map['x:SizeWithCells'].model\r\n );\r\n const len = Object.keys(position).length;\r\n this.model.editAs = POSITION_TYPE[len];\r\n this.model.anchor = this.map['x:Anchor'].text;\r\n this.model.protection.locked = this.map['x:Locked'].text;\r\n this.model.protection.lockText = this.map['x:LockText'].text;\r\n }\r\n}\r\n\r\nmodule.exports = VmlClientDataXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst BaseXform = require('../base-xform');\r\nconst VmlShapeXform = require('./vml-shape-xform');\r\n\r\n// This class is (currently) single purposed to insert the triangle\r\n// drawing icons on commented cells\r\nclass VmlNotesXform extends BaseXform {\r\n constructor() {\r\n super();\r\n this.map = {\r\n 'v:shape': new VmlShapeXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xml';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode(this.tag, VmlNotesXform.DRAWING_ATTRIBUTES);\r\n\r\n xmlStream.openNode('o:shapelayout', {'v:ext': 'edit'});\r\n xmlStream.leafNode('o:idmap', {'v:ext': 'edit', data: 1});\r\n xmlStream.closeNode();\r\n\r\n xmlStream.openNode('v:shapetype', {\r\n id: '_x0000_t202',\r\n coordsize: '21600,21600',\r\n 'o:spt': 202,\r\n path: 'm,l,21600r21600,l21600,xe',\r\n });\r\n xmlStream.leafNode('v:stroke', {joinstyle: 'miter'});\r\n xmlStream.leafNode('v:path', {gradientshapeok: 't', 'o:connecttype': 'rect'});\r\n xmlStream.closeNode();\r\n\r\n model.comments.forEach((item, index) => {\r\n this.map['v:shape'].render(xmlStream, item, index);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n this.model = {\r\n comments: [],\r\n };\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.comments.push(this.parser.model);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n // could be some unrecognised tags\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n model.anchors.forEach(anchor => {\r\n if (anchor.br) {\r\n this.map['xdr:twoCellAnchor'].reconcile(anchor, options);\r\n } else {\r\n this.map['xdr:oneCellAnchor'].reconcile(anchor, options);\r\n }\r\n });\r\n }\r\n}\r\n\r\nVmlNotesXform.DRAWING_ATTRIBUTES = {\r\n 'xmlns:v': 'urn:schemas-microsoft-com:vml',\r\n 'xmlns:o': 'urn:schemas-microsoft-com:office:office',\r\n 'xmlns:x': 'urn:schemas-microsoft-com:office:excel',\r\n};\r\n\r\nmodule.exports = VmlNotesXform;\r\n","const BaseXform = require('../base-xform');\r\nconst VmlTextboxXform = require('./vml-textbox-xform');\r\nconst VmlClientDataXform = require('./vml-client-data-xform');\r\n\r\nclass VmlShapeXform extends BaseXform {\r\n constructor() {\r\n super();\r\n this.map = {\r\n 'v:textbox': new VmlTextboxXform(),\r\n 'x:ClientData': new VmlClientDataXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'v:shape';\r\n }\r\n\r\n render(xmlStream, model, index) {\r\n xmlStream.openNode('v:shape', VmlShapeXform.V_SHAPE_ATTRIBUTES(model, index));\r\n\r\n xmlStream.leafNode('v:fill', {color2: 'infoBackground [80]'});\r\n xmlStream.leafNode('v:shadow', {color: 'none [81]', obscured: 't'});\r\n xmlStream.leafNode('v:path', {'o:connecttype': 'none'});\r\n this.map['v:textbox'].render(xmlStream, model);\r\n this.map['x:ClientData'].render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n this.model = {\r\n margins: {\r\n insetmode: node.attributes['o:insetmode'],\r\n },\r\n anchor: '',\r\n editAs: '',\r\n protection: {},\r\n };\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model.margins.inset = this.map['v:textbox'].model && this.map['v:textbox'].model.inset;\r\n this.model.protection =\r\n this.map['x:ClientData'].model && this.map['x:ClientData'].model.protection;\r\n this.model.anchor = this.map['x:ClientData'].model && this.map['x:ClientData'].model.anchor;\r\n this.model.editAs = this.map['x:ClientData'].model && this.map['x:ClientData'].model.editAs;\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nVmlShapeXform.V_SHAPE_ATTRIBUTES = (model, index) => ({\r\n id: `_x0000_s${1025 + index}`,\r\n type: '#_x0000_t202',\r\n style:\r\n 'position:absolute; margin-left:105.3pt;margin-top:10.5pt;width:97.8pt;height:59.1pt;z-index:1;visibility:hidden',\r\n fillcolor: 'infoBackground [80]',\r\n strokecolor: 'none [81]',\r\n 'o:insetmode': model.note.margins && model.note.margins.insetmode,\r\n});\r\n\r\nmodule.exports = VmlShapeXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass VmlTextboxXform extends BaseXform {\r\n get tag() {\r\n return 'v:textbox';\r\n }\r\n\r\n conversionUnit(value, multiple, unit) {\r\n return `${parseFloat(value) * multiple.toFixed(2)}${unit}`;\r\n }\r\n\r\n reverseConversionUnit(inset) {\r\n return (inset || '').split(',').map(margin => {\r\n return Number(parseFloat(this.conversionUnit(parseFloat(margin), 0.1, '')).toFixed(2));\r\n });\r\n }\r\n\r\n render(xmlStream, model) {\r\n const attributes = {\r\n style: 'mso-direction-alt:auto',\r\n };\r\n if (model && model.note) {\r\n let {inset} = model.note && model.note.margins;\r\n if (Array.isArray(inset)) {\r\n inset = inset\r\n .map(margin => {\r\n return this.conversionUnit(margin, 10, 'mm');\r\n })\r\n .join(',');\r\n }\r\n if (inset) {\r\n attributes.inset = inset;\r\n }\r\n }\r\n xmlStream.openNode('v:textbox', attributes);\r\n xmlStream.leafNode('div', {style: 'text-align:left'});\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n inset: this.reverseConversionUnit(node.attributes.inset),\r\n };\r\n return true;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = VmlTextboxXform;\r\n","const BaseXform = require('./base-xform');\r\n\r\n/* 'virtual' methods used as a form of documentation */\r\n/* eslint-disable class-methods-use-this */\r\n\r\n// base class for xforms that are composed of other xforms\r\n// offers some default implementations\r\nclass CompositeXform extends BaseXform {\r\n createNewModel(node) {\r\n return {};\r\n }\r\n\r\n parseOpen(node) {\r\n // Typical pattern for composite xform\r\n this.parser = this.parser || this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n if (node.name === this.tag) {\r\n this.model = this.createNewModel(node);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n parseText(text) {\r\n // Default implementation. Send text to child parser\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n onParserClose(name, parser) {\r\n // parseClose has seen a child parser close\r\n // now need to incorporate into this.model somehow\r\n this.model[name] = parser.model;\r\n }\r\n\r\n parseClose(name) {\r\n // Default implementation\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.onParserClose(name, this.parser);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nmodule.exports = CompositeXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass AppHeadingPairsXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.openNode('HeadingPairs');\r\n xmlStream.openNode('vt:vector', {size: 2, baseType: 'variant'});\r\n\r\n xmlStream.openNode('vt:variant');\r\n xmlStream.leafNode('vt:lpstr', undefined, 'Worksheets');\r\n xmlStream.closeNode();\r\n\r\n xmlStream.openNode('vt:variant');\r\n xmlStream.leafNode('vt:i4', undefined, model.length);\r\n xmlStream.closeNode();\r\n\r\n xmlStream.closeNode();\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n // no parsing\r\n return node.name === 'HeadingPairs';\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n return name !== 'HeadingPairs';\r\n }\r\n}\r\n\r\nmodule.exports = AppHeadingPairsXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass AppTitlesOfPartsXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.openNode('TitlesOfParts');\r\n xmlStream.openNode('vt:vector', {size: model.length, baseType: 'lpstr'});\r\n\r\n model.forEach(sheet => {\r\n xmlStream.leafNode('vt:lpstr', undefined, sheet.name);\r\n });\r\n\r\n xmlStream.closeNode();\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n // no parsing\r\n return node.name === 'TitlesOfParts';\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n return name !== 'TitlesOfParts';\r\n }\r\n}\r\n\r\nmodule.exports = AppTitlesOfPartsXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\nconst BaseXform = require('../base-xform');\r\nconst StringXform = require('../simple/string-xform');\r\n\r\nconst AppHeadingPairsXform = require('./app-heading-pairs-xform');\r\nconst AppTitleOfPartsXform = require('./app-titles-of-parts-xform');\r\n\r\nclass AppXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n Company: new StringXform({tag: 'Company'}),\r\n Manager: new StringXform({tag: 'Manager'}),\r\n HeadingPairs: new AppHeadingPairsXform(),\r\n TitleOfParts: new AppTitleOfPartsXform(),\r\n };\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n\r\n xmlStream.openNode('Properties', AppXform.PROPERTY_ATTRIBUTES);\r\n\r\n xmlStream.leafNode('Application', undefined, 'Microsoft Excel');\r\n xmlStream.leafNode('DocSecurity', undefined, '0');\r\n xmlStream.leafNode('ScaleCrop', undefined, 'false');\r\n\r\n this.map.HeadingPairs.render(xmlStream, model.worksheets);\r\n this.map.TitleOfParts.render(xmlStream, model.worksheets);\r\n this.map.Company.render(xmlStream, model.company || '');\r\n this.map.Manager.render(xmlStream, model.manager);\r\n\r\n xmlStream.leafNode('LinksUpToDate', undefined, 'false');\r\n xmlStream.leafNode('SharedDoc', undefined, 'false');\r\n xmlStream.leafNode('HyperlinksChanged', undefined, 'false');\r\n xmlStream.leafNode('AppVersion', undefined, '16.0300');\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'Properties':\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n // there's a lot we don't bother to parse\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'Properties':\r\n this.model = {\r\n worksheets: this.map.TitleOfParts.model,\r\n company: this.map.Company.model,\r\n manager: this.map.Manager.model,\r\n };\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nAppXform.DateFormat = function(dt) {\r\n return dt.toISOString().replace(/[.]\\d{3,6}/, '');\r\n};\r\n\r\nAppXform.DateAttrs = {'xsi:type': 'dcterms:W3CDTF'};\r\n\r\nAppXform.PROPERTY_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties',\r\n 'xmlns:vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\r\n};\r\n\r\nmodule.exports = AppXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst BaseXform = require('../base-xform');\r\n\r\n// used for rendering the [Content_Types].xml file\r\n// not used for parsing\r\nclass ContentTypesXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n\r\n xmlStream.openNode('Types', ContentTypesXform.PROPERTY_ATTRIBUTES);\r\n\r\n const mediaHash = {};\r\n (model.media || []).forEach(medium => {\r\n if (medium.type === 'image') {\r\n const imageType = medium.extension;\r\n if (!mediaHash[imageType]) {\r\n mediaHash[imageType] = true;\r\n xmlStream.leafNode('Default', {Extension: imageType, ContentType: `image/${imageType}`});\r\n }\r\n }\r\n });\r\n\r\n xmlStream.leafNode('Default', {\r\n Extension: 'rels',\r\n ContentType: 'application/vnd.openxmlformats-package.relationships+xml',\r\n });\r\n xmlStream.leafNode('Default', {Extension: 'xml', ContentType: 'application/xml'});\r\n\r\n xmlStream.leafNode('Override', {\r\n PartName: '/xl/workbook.xml',\r\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml',\r\n });\r\n\r\n model.worksheets.forEach(worksheet => {\r\n const name = `/xl/worksheets/sheet${worksheet.id}.xml`;\r\n xmlStream.leafNode('Override', {\r\n PartName: name,\r\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml',\r\n });\r\n });\r\n\r\n xmlStream.leafNode('Override', {\r\n PartName: '/xl/theme/theme1.xml',\r\n ContentType: 'application/vnd.openxmlformats-officedocument.theme+xml',\r\n });\r\n xmlStream.leafNode('Override', {\r\n PartName: '/xl/styles.xml',\r\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml',\r\n });\r\n\r\n const hasSharedStrings = model.sharedStrings && model.sharedStrings.count;\r\n if (hasSharedStrings) {\r\n xmlStream.leafNode('Override', {\r\n PartName: '/xl/sharedStrings.xml',\r\n ContentType:\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml',\r\n });\r\n }\r\n\r\n if (model.tables) {\r\n model.tables.forEach(table => {\r\n xmlStream.leafNode('Override', {\r\n PartName: `/xl/tables/${table.target}`,\r\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml',\r\n });\r\n });\r\n }\r\n\r\n if (model.drawings) {\r\n model.drawings.forEach(drawing => {\r\n xmlStream.leafNode('Override', {\r\n PartName: `/xl/drawings/${drawing.name}.xml`,\r\n ContentType: 'application/vnd.openxmlformats-officedocument.drawing+xml',\r\n });\r\n });\r\n }\r\n\r\n if (model.commentRefs) {\r\n xmlStream.leafNode('Default', {\r\n Extension: 'vml',\r\n ContentType: 'application/vnd.openxmlformats-officedocument.vmlDrawing',\r\n });\r\n\r\n model.commentRefs.forEach(({commentName}) => {\r\n xmlStream.leafNode('Override', {\r\n PartName: `/xl/${commentName}.xml`,\r\n ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml',\r\n });\r\n });\r\n }\r\n\r\n xmlStream.leafNode('Override', {\r\n PartName: '/docProps/core.xml',\r\n ContentType: 'application/vnd.openxmlformats-package.core-properties+xml',\r\n });\r\n xmlStream.leafNode('Override', {\r\n PartName: '/docProps/app.xml',\r\n ContentType: 'application/vnd.openxmlformats-officedocument.extended-properties+xml',\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen() {\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nContentTypesXform.PROPERTY_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/package/2006/content-types',\r\n};\r\n\r\nmodule.exports = ContentTypesXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\nconst BaseXform = require('../base-xform');\r\nconst DateXform = require('../simple/date-xform');\r\nconst StringXform = require('../simple/string-xform');\r\nconst IntegerXform = require('../simple/integer-xform');\r\n\r\nclass CoreXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'dc:creator': new StringXform({tag: 'dc:creator'}),\r\n 'dc:title': new StringXform({tag: 'dc:title'}),\r\n 'dc:subject': new StringXform({tag: 'dc:subject'}),\r\n 'dc:description': new StringXform({tag: 'dc:description'}),\r\n 'dc:identifier': new StringXform({tag: 'dc:identifier'}),\r\n 'dc:language': new StringXform({tag: 'dc:language'}),\r\n 'cp:keywords': new StringXform({tag: 'cp:keywords'}),\r\n 'cp:category': new StringXform({tag: 'cp:category'}),\r\n 'cp:lastModifiedBy': new StringXform({tag: 'cp:lastModifiedBy'}),\r\n 'cp:lastPrinted': new DateXform({tag: 'cp:lastPrinted', format: CoreXform.DateFormat}),\r\n 'cp:revision': new IntegerXform({tag: 'cp:revision'}),\r\n 'cp:version': new StringXform({tag: 'cp:version'}),\r\n 'cp:contentStatus': new StringXform({tag: 'cp:contentStatus'}),\r\n 'cp:contentType': new StringXform({tag: 'cp:contentType'}),\r\n 'dcterms:created': new DateXform({\r\n tag: 'dcterms:created',\r\n attrs: CoreXform.DateAttrs,\r\n format: CoreXform.DateFormat,\r\n }),\r\n 'dcterms:modified': new DateXform({\r\n tag: 'dcterms:modified',\r\n attrs: CoreXform.DateAttrs,\r\n format: CoreXform.DateFormat,\r\n }),\r\n };\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n\r\n xmlStream.openNode('cp:coreProperties', CoreXform.CORE_PROPERTY_ATTRIBUTES);\r\n\r\n this.map['dc:creator'].render(xmlStream, model.creator);\r\n this.map['dc:title'].render(xmlStream, model.title);\r\n this.map['dc:subject'].render(xmlStream, model.subject);\r\n this.map['dc:description'].render(xmlStream, model.description);\r\n this.map['dc:identifier'].render(xmlStream, model.identifier);\r\n this.map['dc:language'].render(xmlStream, model.language);\r\n this.map['cp:keywords'].render(xmlStream, model.keywords);\r\n this.map['cp:category'].render(xmlStream, model.category);\r\n this.map['cp:lastModifiedBy'].render(xmlStream, model.lastModifiedBy);\r\n this.map['cp:lastPrinted'].render(xmlStream, model.lastPrinted);\r\n this.map['cp:revision'].render(xmlStream, model.revision);\r\n this.map['cp:version'].render(xmlStream, model.version);\r\n this.map['cp:contentStatus'].render(xmlStream, model.contentStatus);\r\n this.map['cp:contentType'].render(xmlStream, model.contentType);\r\n this.map['dcterms:created'].render(xmlStream, model.created);\r\n this.map['dcterms:modified'].render(xmlStream, model.modified);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'cp:coreProperties':\r\n case 'coreProperties':\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'cp:coreProperties':\r\n case 'coreProperties':\r\n this.model = {\r\n creator: this.map['dc:creator'].model,\r\n title: this.map['dc:title'].model,\r\n subject: this.map['dc:subject'].model,\r\n description: this.map['dc:description'].model,\r\n identifier: this.map['dc:identifier'].model,\r\n language: this.map['dc:language'].model,\r\n keywords: this.map['cp:keywords'].model,\r\n category: this.map['cp:category'].model,\r\n lastModifiedBy: this.map['cp:lastModifiedBy'].model,\r\n lastPrinted: this.map['cp:lastPrinted'].model,\r\n revision: this.map['cp:revision'].model,\r\n contentStatus: this.map['cp:contentStatus'].model,\r\n contentType: this.map['cp:contentType'].model,\r\n created: this.map['dcterms:created'].model,\r\n modified: this.map['dcterms:modified'].model,\r\n };\r\n return false;\r\n default:\r\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\r\n }\r\n }\r\n}\r\n\r\nCoreXform.DateFormat = function(dt) {\r\n return dt.toISOString().replace(/[.]\\d{3}/, '');\r\n};\r\nCoreXform.DateAttrs = {'xsi:type': 'dcterms:W3CDTF'};\r\n\r\nCoreXform.CORE_PROPERTY_ATTRIBUTES = {\r\n 'xmlns:cp': 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\r\n 'xmlns:dc': 'http://purl.org/dc/elements/1.1/',\r\n 'xmlns:dcterms': 'http://purl.org/dc/terms/',\r\n 'xmlns:dcmitype': 'http://purl.org/dc/dcmitype/',\r\n 'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\r\n};\r\n\r\nmodule.exports = CoreXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass RelationshipXform extends BaseXform {\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('Relationship', model);\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 'Relationship':\r\n this.model = node.attributes;\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = RelationshipXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\nconst BaseXform = require('../base-xform');\r\n\r\nconst RelationshipXform = require('./relationship-xform');\r\n\r\nclass RelationshipsXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n Relationship: new RelationshipXform(),\r\n };\r\n }\r\n\r\n render(xmlStream, model) {\r\n model = model || this._values;\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode('Relationships', RelationshipsXform.RELATIONSHIPS_ATTRIBUTES);\r\n\r\n model.forEach(relationship => {\r\n this.map.Relationship.render(xmlStream, relationship);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'Relationships':\r\n this.model = [];\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.push(this.parser.model);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'Relationships':\r\n return false;\r\n default:\r\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\r\n }\r\n }\r\n}\r\n\r\nRelationshipsXform.RELATIONSHIPS_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/package/2006/relationships',\r\n};\r\n\r\nmodule.exports = RelationshipsXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass BaseCellAnchorXform extends BaseXform {\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n this.model = {\r\n range: {\r\n editAs: node.attributes.editAs || 'oneCell',\r\n },\r\n };\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n reconcilePicture(model, options) {\r\n if (model && model.rId) {\r\n const rel = options.rels[model.rId];\r\n const match = rel.Target.match(/.*\\/media\\/(.+[.][a-zA-Z]{3,4})/);\r\n if (match) {\r\n const name = match[1];\r\n const mediaId = options.mediaIndex[name];\r\n return options.media[mediaId];\r\n }\r\n }\r\n return undefined;\r\n }\r\n}\r\n\r\nmodule.exports = BaseCellAnchorXform;\r\n","const BaseXform = require('../base-xform');\r\nconst BlipXform = require('./blip-xform');\r\n\r\nclass BlipFillXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'a:blip': new BlipXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xdr:blipFill';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n this.map['a:blip'].render(xmlStream, model);\r\n\r\n // TODO: options for this + parsing\r\n xmlStream.openNode('a:stretch');\r\n xmlStream.leafNode('a:fillRect');\r\n xmlStream.closeNode();\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n break;\r\n\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model = this.map['a:blip'].model;\r\n return false;\r\n\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = BlipFillXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass BlipXform extends BaseXform {\r\n get tag() {\r\n return 'a:blip';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n 'r:embed': model.rId,\r\n cstate: 'print',\r\n });\r\n // TODO: handle children (e.g. a:extLst=>a:ext=>a14:useLocalDpi\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n rId: node.attributes['r:embed'],\r\n };\r\n return true;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n // unprocessed internal nodes\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = BlipXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass CNvPicPrXform extends BaseXform {\r\n get tag() {\r\n return 'xdr:cNvPicPr';\r\n }\r\n\r\n render(xmlStream) {\r\n xmlStream.openNode(this.tag);\r\n xmlStream.leafNode('a:picLocks', {\r\n noChangeAspect: '1',\r\n });\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n return true;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n // unprocessed internal nodes\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CNvPicPrXform;\r\n","const BaseXform = require('../base-xform');\r\nconst HlickClickXform = require('./hlink-click-xform');\r\nconst ExtLstXform = require('./ext-lst-xform');\r\n\r\nclass CNvPrXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'a:hlinkClick': new HlickClickXform(),\r\n 'a:extLst': new ExtLstXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xdr:cNvPr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n id: model.index,\r\n name: `Picture ${model.index}`,\r\n });\r\n this.map['a:hlinkClick'].render(xmlStream, model);\r\n this.map['a:extLst'].render(xmlStream, model);\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model = this.map['a:hlinkClick'].model;\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CNvPrXform;\r\n","const BaseXform = require('../base-xform');\r\nconst IntegerXform = require('../simple/integer-xform');\r\n\r\nclass CellPositionXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.map = {\r\n 'xdr:col': new IntegerXform({tag: 'xdr:col', zero: true}),\r\n 'xdr:colOff': new IntegerXform({tag: 'xdr:colOff', zero: true}),\r\n 'xdr:row': new IntegerXform({tag: 'xdr:row', zero: true}),\r\n 'xdr:rowOff': new IntegerXform({tag: 'xdr:rowOff', zero: true}),\r\n };\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n this.map['xdr:col'].render(xmlStream, model.nativeCol);\r\n this.map['xdr:colOff'].render(xmlStream, model.nativeColOff);\r\n\r\n this.map['xdr:row'].render(xmlStream, model.nativeRow);\r\n this.map['xdr:rowOff'].render(xmlStream, model.nativeRowOff);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model = {\r\n nativeCol: this.map['xdr:col'].model,\r\n nativeColOff: this.map['xdr:colOff'].model,\r\n nativeRow: this.map['xdr:row'].model,\r\n nativeRowOff: this.map['xdr:rowOff'].model,\r\n };\r\n return false;\r\n default:\r\n // not quite sure how we get here!\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CellPositionXform;\r\n","const colCache = require('../../../utils/col-cache');\r\nconst XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst BaseXform = require('../base-xform');\r\nconst TwoCellAnchorXform = require('./two-cell-anchor-xform');\r\nconst OneCellAnchorXform = require('./one-cell-anchor-xform');\r\n\r\nfunction getAnchorType(model) {\r\n const range = typeof model.range === 'string' ? colCache.decode(model.range) : model.range;\r\n\r\n return range.br ? 'xdr:twoCellAnchor' : 'xdr:oneCellAnchor';\r\n}\r\n\r\nclass DrawingXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xdr:twoCellAnchor': new TwoCellAnchorXform(),\r\n 'xdr:oneCellAnchor': new OneCellAnchorXform(),\r\n };\r\n }\r\n\r\n prepare(model) {\r\n model.anchors.forEach((item, index) => {\r\n item.anchorType = getAnchorType(item);\r\n const anchor = this.map[item.anchorType];\r\n anchor.prepare(item, {index});\r\n });\r\n }\r\n\r\n get tag() {\r\n return 'xdr:wsDr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode(this.tag, DrawingXform.DRAWING_ATTRIBUTES);\r\n\r\n model.anchors.forEach(item => {\r\n const anchor = this.map[item.anchorType];\r\n anchor.render(xmlStream, item);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n this.model = {\r\n anchors: [],\r\n };\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.anchors.push(this.parser.model);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n // could be some unrecognised tags\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n model.anchors.forEach(anchor => {\r\n if (anchor.br) {\r\n this.map['xdr:twoCellAnchor'].reconcile(anchor, options);\r\n } else {\r\n this.map['xdr:oneCellAnchor'].reconcile(anchor, options);\r\n }\r\n });\r\n }\r\n}\r\n\r\nDrawingXform.DRAWING_ATTRIBUTES = {\r\n 'xmlns:xdr': 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing',\r\n 'xmlns:a': 'http://schemas.openxmlformats.org/drawingml/2006/main',\r\n};\r\n\r\nmodule.exports = DrawingXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass ExtLstXform extends BaseXform {\r\n get tag() {\r\n return 'a:extLst';\r\n }\r\n\r\n render(xmlStream) {\r\n xmlStream.openNode(this.tag);\r\n xmlStream.openNode('a:ext', {\r\n uri: '{FF2B5EF4-FFF2-40B4-BE49-F238E27FC236}',\r\n });\r\n xmlStream.leafNode('a16:creationId', {\r\n 'xmlns:a16': 'http://schemas.microsoft.com/office/drawing/2014/main',\r\n id: '{00000000-0008-0000-0000-000002000000}',\r\n });\r\n xmlStream.closeNode();\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n return true;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n // unprocessed internal nodes\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = ExtLstXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\n/** https://en.wikipedia.org/wiki/Office_Open_XML_file_formats#DrawingML */\r\nconst EMU_PER_PIXEL_AT_96_DPI = 9525;\r\n\r\nclass ExtXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.map = {};\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n const width = Math.floor(model.width * EMU_PER_PIXEL_AT_96_DPI);\r\n const height = Math.floor(model.height * EMU_PER_PIXEL_AT_96_DPI);\r\n\r\n xmlStream.addAttribute('cx', width);\r\n xmlStream.addAttribute('cy', height);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n this.model = {\r\n width: parseInt(node.attributes.cx || '0', 10) / EMU_PER_PIXEL_AT_96_DPI,\r\n height: parseInt(node.attributes.cy || '0', 10) / EMU_PER_PIXEL_AT_96_DPI,\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText(/* text */) {}\r\n\r\n parseClose(/* name */) {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = ExtXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass HLinkClickXform extends BaseXform {\r\n get tag() {\r\n return 'a:hlinkClick';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (!(model.hyperlinks && model.hyperlinks.rId)) {\r\n return;\r\n }\r\n xmlStream.leafNode(this.tag, {\r\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n 'r:id': model.hyperlinks.rId,\r\n tooltip: model.hyperlinks.tooltip,\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n hyperlinks: {\r\n rId: node.attributes['r:id'],\r\n tooltip: node.attributes.tooltip,\r\n },\r\n };\r\n return true;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = HLinkClickXform;\r\n","const BaseXform = require('../base-xform');\r\nconst CNvPrXform = require('./c-nv-pr-xform');\r\nconst CNvPicPrXform = require('./c-nv-pic-pr-xform');\r\n\r\nclass NvPicPrXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xdr:cNvPr': new CNvPrXform(),\r\n 'xdr:cNvPicPr': new CNvPicPrXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xdr:nvPicPr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n this.map['xdr:cNvPr'].render(xmlStream, model);\r\n this.map['xdr:cNvPicPr'].render(xmlStream, model);\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model = this.map['xdr:cNvPr'].model;\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = NvPicPrXform;\r\n","const BaseCellAnchorXform = require('./base-cell-anchor-xform');\r\nconst StaticXform = require('../static-xform');\r\n\r\nconst CellPositionXform = require('./cell-position-xform');\r\nconst ExtXform = require('./ext-xform');\r\nconst PicXform = require('./pic-xform');\r\n\r\nclass OneCellAnchorXform extends BaseCellAnchorXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xdr:from': new CellPositionXform({tag: 'xdr:from'}),\r\n 'xdr:ext': new ExtXform({tag: 'xdr:ext'}),\r\n 'xdr:pic': new PicXform(),\r\n 'xdr:clientData': new StaticXform({tag: 'xdr:clientData'}),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xdr:oneCellAnchor';\r\n }\r\n\r\n prepare(model, options) {\r\n this.map['xdr:pic'].prepare(model.picture, options);\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {editAs: model.range.editAs || 'oneCell'});\r\n\r\n this.map['xdr:from'].render(xmlStream, model.range.tl);\r\n this.map['xdr:ext'].render(xmlStream, model.range.ext);\r\n this.map['xdr:pic'].render(xmlStream, model.picture);\r\n this.map['xdr:clientData'].render(xmlStream, {});\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model.range.tl = this.map['xdr:from'].model;\r\n this.model.range.ext = this.map['xdr:ext'].model;\r\n this.model.picture = this.map['xdr:pic'].model;\r\n return false;\r\n default:\r\n // could be some unrecognised tags\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n model.medium = this.reconcilePicture(model.picture, options);\r\n }\r\n}\r\n\r\nmodule.exports = OneCellAnchorXform;\r\n","const BaseXform = require('../base-xform');\r\nconst StaticXform = require('../static-xform');\r\n\r\nconst BlipFillXform = require('./blip-fill-xform');\r\nconst NvPicPrXform = require('./nv-pic-pr-xform');\r\n\r\nconst spPrJSON = require('./sp-pr');\r\n\r\nclass PicXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xdr:nvPicPr': new NvPicPrXform(),\r\n 'xdr:blipFill': new BlipFillXform(),\r\n 'xdr:spPr': new StaticXform(spPrJSON),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xdr:pic';\r\n }\r\n\r\n prepare(model, options) {\r\n model.index = options.index + 1;\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n this.map['xdr:nvPicPr'].render(xmlStream, model);\r\n this.map['xdr:blipFill'].render(xmlStream, model);\r\n this.map['xdr:spPr'].render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.reset();\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.mergeModel(this.parser.model);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n // not quite sure how we get here!\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = PicXform;\r\n","module.exports = {\r\n tag: 'xdr:spPr',\r\n c: [\r\n {\r\n tag: 'a:xfrm',\r\n c: [\r\n {tag: 'a:off', $: {x: '0', y: '0'}},\r\n {tag: 'a:ext', $: {cx: '0', cy: '0'}},\r\n ],\r\n },\r\n {\r\n tag: 'a:prstGeom',\r\n $: {prst: 'rect'},\r\n c: [{tag: 'a:avLst'}],\r\n },\r\n ],\r\n};\r\n","const BaseCellAnchorXform = require('./base-cell-anchor-xform');\r\nconst StaticXform = require('../static-xform');\r\n\r\nconst CellPositionXform = require('./cell-position-xform');\r\nconst PicXform = require('./pic-xform');\r\n\r\nclass TwoCellAnchorXform extends BaseCellAnchorXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xdr:from': new CellPositionXform({tag: 'xdr:from'}),\r\n 'xdr:to': new CellPositionXform({tag: 'xdr:to'}),\r\n 'xdr:pic': new PicXform(),\r\n 'xdr:clientData': new StaticXform({tag: 'xdr:clientData'}),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xdr:twoCellAnchor';\r\n }\r\n\r\n prepare(model, options) {\r\n this.map['xdr:pic'].prepare(model.picture, options);\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {editAs: model.range.editAs || 'oneCell'});\r\n\r\n this.map['xdr:from'].render(xmlStream, model.range.tl);\r\n this.map['xdr:to'].render(xmlStream, model.range.br);\r\n this.map['xdr:pic'].render(xmlStream, model.picture);\r\n this.map['xdr:clientData'].render(xmlStream, {});\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model.range.tl = this.map['xdr:from'].model;\r\n this.model.range.br = this.map['xdr:to'].model;\r\n this.model.picture = this.map['xdr:pic'].model;\r\n return false;\r\n default:\r\n // could be some unrecognised tags\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n model.medium = this.reconcilePicture(model.picture, options);\r\n }\r\n}\r\n\r\nmodule.exports = TwoCellAnchorXform;\r\n","const BaseXform = require('./base-xform');\r\n\r\nclass ListXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.always = !!options.always;\r\n this.count = options.count;\r\n this.empty = options.empty;\r\n this.$count = options.$count || 'count';\r\n this.$ = options.$;\r\n this.childXform = options.childXform;\r\n this.maxItems = options.maxItems;\r\n }\r\n\r\n prepare(model, options) {\r\n const {childXform} = this;\r\n if (model) {\r\n model.forEach((childModel, index) => {\r\n options.index = index;\r\n childXform.prepare(childModel, options);\r\n });\r\n }\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (this.always || (model && model.length)) {\r\n xmlStream.openNode(this.tag, this.$);\r\n if (this.count) {\r\n xmlStream.addAttribute(this.$count, (model && model.length) || 0);\r\n }\r\n\r\n const {childXform} = this;\r\n (model || []).forEach((childModel, index) => {\r\n childXform.render(xmlStream, childModel, index);\r\n });\r\n\r\n xmlStream.closeNode();\r\n } else if (this.empty) {\r\n xmlStream.leafNode(this.tag);\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = [];\r\n return true;\r\n default:\r\n if (this.childXform.parseOpen(node)) {\r\n this.parser = this.childXform;\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.push(this.parser.model);\r\n this.parser = undefined;\r\n\r\n if (this.maxItems && this.model.length > this.maxItems) {\r\n throw new Error(`Max ${this.childXform.tag} count (${this.maxItems}) exceeded`);\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n reconcile(model, options) {\r\n if (model) {\r\n const {childXform} = this;\r\n model.forEach(childModel => {\r\n childXform.reconcile(childModel, options);\r\n });\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = ListXform;\r\n","const colCache = require('../../../utils/col-cache');\r\nconst BaseXform = require('../base-xform');\r\n\r\nclass AutoFilterXform extends BaseXform {\r\n get tag() {\r\n return 'autoFilter';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n if (typeof model === 'string') {\r\n // assume range\r\n xmlStream.leafNode('autoFilter', {ref: model});\r\n } else {\r\n const getAddress = function(addr) {\r\n if (typeof addr === 'string') {\r\n return addr;\r\n }\r\n return colCache.getAddress(addr.row, addr.column).address;\r\n };\r\n\r\n const firstAddress = getAddress(model.from);\r\n const secondAddress = getAddress(model.to);\r\n if (firstAddress && secondAddress) {\r\n xmlStream.leafNode('autoFilter', {ref: `${firstAddress}:${secondAddress}`});\r\n }\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'autoFilter') {\r\n this.model = node.attributes.ref;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = AutoFilterXform;\r\n","const utils = require('../../../utils/utils');\r\nconst BaseXform = require('../base-xform');\r\nconst Range = require('../../../doc/range');\r\nconst Enums = require('../../../doc/enums');\r\n\r\nconst RichTextXform = require('../strings/rich-text-xform');\r\n\r\nfunction getValueType(v) {\r\n if (v === null || v === undefined) {\r\n return Enums.ValueType.Null;\r\n }\r\n if (v instanceof String || typeof v === 'string') {\r\n return Enums.ValueType.String;\r\n }\r\n if (typeof v === 'number') {\r\n return Enums.ValueType.Number;\r\n }\r\n if (typeof v === 'boolean') {\r\n return Enums.ValueType.Boolean;\r\n }\r\n if (v instanceof Date) {\r\n return Enums.ValueType.Date;\r\n }\r\n if (v.text && v.hyperlink) {\r\n return Enums.ValueType.Hyperlink;\r\n }\r\n if (v.formula) {\r\n return Enums.ValueType.Formula;\r\n }\r\n if (v.error) {\r\n return Enums.ValueType.Error;\r\n }\r\n throw new Error('I could not understand type of value');\r\n}\r\n\r\nfunction getEffectiveCellType(cell) {\r\n switch (cell.type) {\r\n case Enums.ValueType.Formula:\r\n return getValueType(cell.result);\r\n default:\r\n return cell.type;\r\n }\r\n}\r\n\r\nclass CellXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.richTextXForm = new RichTextXform();\r\n }\r\n\r\n get tag() {\r\n return 'c';\r\n }\r\n\r\n prepare(model, options) {\r\n const styleId = options.styles.addStyleModel(model.style || {}, getEffectiveCellType(model));\r\n if (styleId) {\r\n model.styleId = styleId;\r\n }\r\n\r\n if (model.comment) {\r\n options.comments.push({...model.comment, ref: model.address});\r\n }\r\n\r\n switch (model.type) {\r\n case Enums.ValueType.String:\r\n case Enums.ValueType.RichText:\r\n if (options.sharedStrings) {\r\n model.ssId = options.sharedStrings.add(model.value);\r\n }\r\n break;\r\n\r\n case Enums.ValueType.Date:\r\n if (options.date1904) {\r\n model.date1904 = true;\r\n }\r\n break;\r\n\r\n case Enums.ValueType.Hyperlink:\r\n if (options.sharedStrings && model.text !== undefined && model.text !== null) {\r\n model.ssId = options.sharedStrings.add(model.text);\r\n }\r\n options.hyperlinks.push({\r\n address: model.address,\r\n target: model.hyperlink,\r\n tooltip: model.tooltip,\r\n });\r\n break;\r\n\r\n case Enums.ValueType.Merge:\r\n options.merges.add(model);\r\n break;\r\n\r\n case Enums.ValueType.Formula:\r\n if (options.date1904) {\r\n // in case valueType is date\r\n model.date1904 = true;\r\n }\r\n\r\n if (model.shareType === 'shared') {\r\n model.si = options.siFormulae++;\r\n }\r\n\r\n if (model.formula) {\r\n options.formulae[model.address] = model;\r\n } else if (model.sharedFormula) {\r\n const master = options.formulae[model.sharedFormula];\r\n if (!master) {\r\n throw new Error(\r\n `Shared Formula master must exist above and or left of clone for cell ${model.address}`\r\n );\r\n }\r\n if (master.si === undefined) {\r\n master.shareType = 'shared';\r\n master.si = options.siFormulae++;\r\n master.range = new Range(master.address, model.address);\r\n } else if (master.range) {\r\n master.range.expandToAddress(model.address);\r\n }\r\n model.si = master.si;\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n renderFormula(xmlStream, model) {\r\n let attrs = null;\r\n switch (model.shareType) {\r\n case 'shared':\r\n attrs = {\r\n t: 'shared',\r\n ref: model.ref || model.range.range,\r\n si: model.si,\r\n };\r\n break;\r\n\r\n case 'array':\r\n attrs = {\r\n t: 'array',\r\n ref: model.ref,\r\n };\r\n break;\r\n\r\n default:\r\n if (model.si !== undefined) {\r\n attrs = {\r\n t: 'shared',\r\n si: model.si,\r\n };\r\n }\r\n break;\r\n }\r\n\r\n switch (getValueType(model.result)) {\r\n case Enums.ValueType.Null: // ?\r\n xmlStream.leafNode('f', attrs, model.formula);\r\n break;\r\n\r\n case Enums.ValueType.String:\r\n // oddly, formula results don't ever use shared strings\r\n xmlStream.addAttribute('t', 'str');\r\n xmlStream.leafNode('f', attrs, model.formula);\r\n xmlStream.leafNode('v', null, model.result);\r\n break;\r\n\r\n case Enums.ValueType.Number:\r\n xmlStream.leafNode('f', attrs, model.formula);\r\n xmlStream.leafNode('v', null, model.result);\r\n break;\r\n\r\n case Enums.ValueType.Boolean:\r\n xmlStream.addAttribute('t', 'b');\r\n xmlStream.leafNode('f', attrs, model.formula);\r\n xmlStream.leafNode('v', null, model.result ? 1 : 0);\r\n break;\r\n\r\n case Enums.ValueType.Error:\r\n xmlStream.addAttribute('t', 'e');\r\n xmlStream.leafNode('f', attrs, model.formula);\r\n xmlStream.leafNode('v', null, model.result.error);\r\n break;\r\n\r\n case Enums.ValueType.Date:\r\n xmlStream.leafNode('f', attrs, model.formula);\r\n xmlStream.leafNode('v', null, utils.dateToExcel(model.result, model.date1904));\r\n break;\r\n\r\n // case Enums.ValueType.Hyperlink: // ??\r\n // case Enums.ValueType.Formula:\r\n default:\r\n throw new Error('I could not understand type of value');\r\n }\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model.type === Enums.ValueType.Null && !model.styleId) {\r\n // if null and no style, exit\r\n return;\r\n }\r\n\r\n xmlStream.openNode('c');\r\n xmlStream.addAttribute('r', model.address);\r\n\r\n if (model.styleId) {\r\n xmlStream.addAttribute('s', model.styleId);\r\n }\r\n\r\n switch (model.type) {\r\n case Enums.ValueType.Null:\r\n break;\r\n\r\n case Enums.ValueType.Number:\r\n xmlStream.leafNode('v', null, model.value);\r\n break;\r\n\r\n case Enums.ValueType.Boolean:\r\n xmlStream.addAttribute('t', 'b');\r\n xmlStream.leafNode('v', null, model.value ? '1' : '0');\r\n break;\r\n\r\n case Enums.ValueType.Error:\r\n xmlStream.addAttribute('t', 'e');\r\n xmlStream.leafNode('v', null, model.value.error);\r\n break;\r\n\r\n case Enums.ValueType.String:\r\n case Enums.ValueType.RichText:\r\n if (model.ssId !== undefined) {\r\n xmlStream.addAttribute('t', 's');\r\n xmlStream.leafNode('v', null, model.ssId);\r\n } else if (model.value && model.value.richText) {\r\n xmlStream.addAttribute('t', 'inlineStr');\r\n xmlStream.openNode('is');\r\n model.value.richText.forEach(text => {\r\n this.richTextXForm.render(xmlStream, text);\r\n });\r\n xmlStream.closeNode('is');\r\n } else {\r\n xmlStream.addAttribute('t', 'str');\r\n xmlStream.leafNode('v', null, model.value);\r\n }\r\n break;\r\n\r\n case Enums.ValueType.Date:\r\n xmlStream.leafNode('v', null, utils.dateToExcel(model.value, model.date1904));\r\n break;\r\n\r\n case Enums.ValueType.Hyperlink:\r\n if (model.ssId !== undefined) {\r\n xmlStream.addAttribute('t', 's');\r\n xmlStream.leafNode('v', null, model.ssId);\r\n } else {\r\n xmlStream.addAttribute('t', 'str');\r\n xmlStream.leafNode('v', null, model.text);\r\n }\r\n break;\r\n\r\n case Enums.ValueType.Formula:\r\n this.renderFormula(xmlStream, model);\r\n break;\r\n\r\n case Enums.ValueType.Merge:\r\n // nothing to add\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n xmlStream.closeNode(); // </c>\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'c':\r\n // const address = colCache.decodeAddress(node.attributes.r);\r\n this.model = {\r\n address: node.attributes.r,\r\n };\r\n this.t = node.attributes.t;\r\n if (node.attributes.s) {\r\n this.model.styleId = parseInt(node.attributes.s, 10);\r\n }\r\n return true;\r\n\r\n case 'f':\r\n this.currentNode = 'f';\r\n this.model.si = node.attributes.si;\r\n this.model.shareType = node.attributes.t;\r\n this.model.ref = node.attributes.ref;\r\n return true;\r\n\r\n case 'v':\r\n this.currentNode = 'v';\r\n return true;\r\n\r\n case 't':\r\n this.currentNode = 't';\r\n return true;\r\n\r\n case 'r':\r\n this.parser = this.richTextXForm;\r\n this.parser.parseOpen(node);\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n return;\r\n }\r\n switch (this.currentNode) {\r\n case 'f':\r\n this.model.formula = this.model.formula ? this.model.formula + text : text;\r\n break;\r\n case 'v':\r\n case 't':\r\n if (this.model.value && this.model.value.richText) {\r\n this.model.value.richText.text = this.model.value.richText.text\r\n ? this.model.value.richText.text + text\r\n : text;\r\n } else {\r\n this.model.value = this.model.value ? this.model.value + text : text;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case 'c': {\r\n const {model} = this;\r\n\r\n // first guess on cell type\r\n if (model.formula || model.shareType) {\r\n model.type = Enums.ValueType.Formula;\r\n if (model.value) {\r\n if (this.t === 'str') {\r\n model.result = utils.xmlDecode(model.value);\r\n } else if (this.t === 'b') {\r\n model.result = parseInt(model.value, 10) !== 0;\r\n } else if (this.t === 'e') {\r\n model.result = {error: model.value};\r\n } else {\r\n model.result = parseFloat(model.value);\r\n }\r\n model.value = undefined;\r\n }\r\n } else if (model.value !== undefined) {\r\n switch (this.t) {\r\n case 's':\r\n model.type = Enums.ValueType.String;\r\n model.value = parseInt(model.value, 10);\r\n break;\r\n case 'str':\r\n model.type = Enums.ValueType.String;\r\n model.value = utils.xmlDecode(model.value);\r\n break;\r\n case 'inlineStr':\r\n model.type = Enums.ValueType.String;\r\n break;\r\n case 'b':\r\n model.type = Enums.ValueType.Boolean;\r\n model.value = parseInt(model.value, 10) !== 0;\r\n break;\r\n case 'e':\r\n model.type = Enums.ValueType.Error;\r\n model.value = {error: model.value};\r\n break;\r\n default:\r\n model.type = Enums.ValueType.Number;\r\n model.value = parseFloat(model.value);\r\n break;\r\n }\r\n } else if (model.styleId) {\r\n model.type = Enums.ValueType.Null;\r\n } else {\r\n model.type = Enums.ValueType.Merge;\r\n }\r\n return false;\r\n }\r\n\r\n case 'f':\r\n case 'v':\r\n case 'is':\r\n this.currentNode = undefined;\r\n return true;\r\n\r\n case 't':\r\n if (this.parser) {\r\n this.parser.parseClose(name);\r\n return true;\r\n }\r\n this.currentNode = undefined;\r\n return true;\r\n\r\n case 'r':\r\n this.model.value = this.model.value || {};\r\n this.model.value.richText = this.model.value.richText || [];\r\n this.model.value.richText.push(this.parser.model);\r\n this.parser = undefined;\r\n this.currentNode = undefined;\r\n return true;\r\n\r\n default:\r\n if (this.parser) {\r\n this.parser.parseClose(name);\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n const style = model.styleId && options.styles && options.styles.getStyleModel(model.styleId);\r\n if (style) {\r\n model.style = style;\r\n }\r\n if (model.styleId !== undefined) {\r\n model.styleId = undefined;\r\n }\r\n\r\n switch (model.type) {\r\n case Enums.ValueType.String:\r\n if (typeof model.value === 'number') {\r\n if (options.sharedStrings) {\r\n model.value = options.sharedStrings.getString(model.value);\r\n }\r\n }\r\n if (model.value.richText) {\r\n model.type = Enums.ValueType.RichText;\r\n }\r\n break;\r\n\r\n case Enums.ValueType.Number:\r\n if (style && utils.isDateFmt(style.numFmt)) {\r\n model.type = Enums.ValueType.Date;\r\n model.value = utils.excelToDate(model.value, options.date1904);\r\n }\r\n break;\r\n\r\n case Enums.ValueType.Formula:\r\n if (model.result !== undefined && style && utils.isDateFmt(style.numFmt)) {\r\n model.result = utils.excelToDate(model.result, options.date1904);\r\n }\r\n if (model.shareType === 'shared') {\r\n if (model.ref) {\r\n // master\r\n options.formulae[model.si] = model.address;\r\n } else {\r\n // slave\r\n model.sharedFormula = options.formulae[model.si];\r\n delete model.shareType;\r\n }\r\n delete model.si;\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n // look for hyperlink\r\n const hyperlink = options.hyperlinkMap[model.address];\r\n if (hyperlink) {\r\n if (model.type === Enums.ValueType.Formula) {\r\n model.text = model.result;\r\n model.result = undefined;\r\n } else {\r\n model.text = model.value;\r\n model.value = undefined;\r\n }\r\n model.type = Enums.ValueType.Hyperlink;\r\n model.hyperlink = hyperlink;\r\n }\r\n\r\n const comment = options.commentsMap && options.commentsMap[model.address];\r\n if (comment) {\r\n model.comment = comment;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CellXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass CfIconExtXform extends BaseXform {\r\n get tag() {\r\n return 'x14:cfIcon';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n iconSet: model.iconSet,\r\n iconId: model.iconId,\r\n });\r\n }\r\n\r\n parseOpen({attributes}) {\r\n this.model = {\r\n iconSet: attributes.iconSet,\r\n iconId: BaseXform.toIntValue(attributes.iconId),\r\n };\r\n }\r\n\r\n parseClose(name) {\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nmodule.exports = CfIconExtXform;\r\n","const {v4: uuidv4} = require('uuid');\r\nconst BaseXform = require('../../base-xform');\r\nconst CompositeXform = require('../../composite-xform');\r\n\r\nconst DatabarExtXform = require('./databar-ext-xform');\r\nconst IconSetExtXform = require('./icon-set-ext-xform');\r\n\r\nconst extIcons = {\r\n '3Triangles': true,\r\n '3Stars': true,\r\n '5Boxes': true,\r\n};\r\n\r\nclass CfRuleExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'x14:dataBar': (this.databarXform = new DatabarExtXform()),\r\n 'x14:iconSet': (this.iconSetXform = new IconSetExtXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'x14:cfRule';\r\n }\r\n\r\n static isExt(rule) {\r\n // is this rule primitive?\r\n if (rule.type === 'dataBar') {\r\n return DatabarExtXform.isExt(rule);\r\n }\r\n if (rule.type === 'iconSet') {\r\n if (rule.custom || extIcons[rule.iconSet]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n prepare(model) {\r\n if (CfRuleExtXform.isExt(model)) {\r\n model.x14Id = `{${uuidv4()}}`.toUpperCase();\r\n }\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (!CfRuleExtXform.isExt(model)) {\r\n return;\r\n }\r\n\r\n switch (model.type) {\r\n case 'dataBar':\r\n this.renderDataBar(xmlStream, model);\r\n break;\r\n case 'iconSet':\r\n this.renderIconSet(xmlStream, model);\r\n break;\r\n }\r\n }\r\n\r\n renderDataBar(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'dataBar',\r\n id: model.x14Id,\r\n });\r\n\r\n this.databarXform.render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderIconSet(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'iconSet',\r\n priority: model.priority,\r\n id: model.x14Id || `{${uuidv4()}}`,\r\n });\r\n\r\n this.iconSetXform.render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel({attributes}) {\r\n return {\r\n type: attributes.type,\r\n x14Id: attributes.id,\r\n priority: BaseXform.toIntValue(attributes.priority),\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n Object.assign(this.model, parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = CfRuleExtXform;\r\n","const CompositeXform = require('../../composite-xform');\r\n\r\nconst FExtXform = require('./f-ext-xform');\r\n\r\nclass CfvoExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xm:f': (this.fExtXform = new FExtXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'x14:cfvo';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: model.type,\r\n });\r\n if (model.value !== undefined) {\r\n this.fExtXform.render(xmlStream, model.value);\r\n }\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel(node) {\r\n return {\r\n type: node.attributes.type,\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n switch (name) {\r\n case 'xm:f':\r\n this.model.value = parser.model ? parseFloat(parser.model) : 0;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CfvoExtXform;\r\n","const CompositeXform = require('../../composite-xform');\r\n\r\nconst SqRefExtXform = require('./sqref-ext-xform');\r\nconst CfRuleExtXform = require('./cf-rule-ext-xform');\r\n\r\nclass ConditionalFormattingExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'xm:sqref': (this.sqRef = new SqRefExtXform()),\r\n 'x14:cfRule': (this.cfRule = new CfRuleExtXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'x14:conditionalFormatting';\r\n }\r\n\r\n prepare(model, options) {\r\n model.rules.forEach(rule => {\r\n this.cfRule.prepare(rule, options);\r\n });\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (!model.rules.some(CfRuleExtXform.isExt)) {\r\n return;\r\n }\r\n\r\n xmlStream.openNode(this.tag, {\r\n 'xmlns:xm': 'http://schemas.microsoft.com/office/excel/2006/main',\r\n });\r\n\r\n model.rules.filter(CfRuleExtXform.isExt).forEach(rule => this.cfRule.render(xmlStream, rule));\r\n\r\n // for some odd reason, Excel needs the <xm:sqref> node to be after the rules\r\n this.sqRef.render(xmlStream, model.ref);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel() {\r\n return {\r\n rules: [],\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n switch (name) {\r\n case 'xm:sqref':\r\n this.model.ref = parser.model;\r\n break;\r\n\r\n case 'x14:cfRule':\r\n this.model.rules.push(parser.model);\r\n break;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = ConditionalFormattingExtXform;\r\n","const CompositeXform = require('../../composite-xform');\r\n\r\nconst CfRuleExtXform = require('./cf-rule-ext-xform');\r\nconst ConditionalFormattingExtXform = require('./conditional-formatting-ext-xform');\r\n\r\nclass ConditionalFormattingsExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'x14:conditionalFormatting': (this.cfXform = new ConditionalFormattingExtXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'x14:conditionalFormattings';\r\n }\r\n\r\n hasContent(model) {\r\n if (model.hasExtContent === undefined) {\r\n model.hasExtContent = model.some(cf => cf.rules.some(CfRuleExtXform.isExt));\r\n }\r\n return model.hasExtContent;\r\n }\r\n\r\n prepare(model, options) {\r\n model.forEach(cf => {\r\n this.cfXform.prepare(cf, options);\r\n });\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (this.hasContent(model)) {\r\n xmlStream.openNode(this.tag);\r\n model.forEach(cf => this.cfXform.render(xmlStream, cf));\r\n xmlStream.closeNode();\r\n }\r\n }\r\n\r\n createNewModel() {\r\n return [];\r\n }\r\n\r\n onParserClose(name, parser) {\r\n // model is array of conditional formatting objects\r\n this.model.push(parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = ConditionalFormattingsExtXform;\r\n","const BaseXform = require('../../base-xform');\r\nconst CompositeXform = require('../../composite-xform');\r\n\r\nconst ColorXform = require('../../style/color-xform');\r\nconst CfvoExtXform = require('./cfvo-ext-xform');\r\n\r\nclass DatabarExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'x14:cfvo': (this.cfvoXform = new CfvoExtXform()),\r\n 'x14:borderColor': (this.borderColorXform = new ColorXform('x14:borderColor')),\r\n 'x14:negativeBorderColor': (this.negativeBorderColorXform = new ColorXform(\r\n 'x14:negativeBorderColor'\r\n )),\r\n 'x14:negativeFillColor': (this.negativeFillColorXform = new ColorXform(\r\n 'x14:negativeFillColor'\r\n )),\r\n 'x14:axisColor': (this.axisColorXform = new ColorXform('x14:axisColor')),\r\n };\r\n }\r\n\r\n static isExt(rule) {\r\n // not all databars need ext\r\n // TODO: refine this\r\n return !rule.gradient;\r\n }\r\n\r\n get tag() {\r\n return 'x14:dataBar';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n minLength: BaseXform.toIntAttribute(model.minLength, 0, true),\r\n maxLength: BaseXform.toIntAttribute(model.maxLength, 100, true),\r\n border: BaseXform.toBoolAttribute(model.border, false),\r\n gradient: BaseXform.toBoolAttribute(model.gradient, true),\r\n negativeBarColorSameAsPositive: BaseXform.toBoolAttribute(\r\n model.negativeBarColorSameAsPositive,\r\n true\r\n ),\r\n negativeBarBorderColorSameAsPositive: BaseXform.toBoolAttribute(\r\n model.negativeBarBorderColorSameAsPositive,\r\n true\r\n ),\r\n axisPosition: BaseXform.toAttribute(model.axisPosition, 'auto'),\r\n direction: BaseXform.toAttribute(model.direction, 'leftToRight'),\r\n });\r\n\r\n model.cfvo.forEach(cfvo => {\r\n this.cfvoXform.render(xmlStream, cfvo);\r\n });\r\n\r\n this.borderColorXform.render(xmlStream, model.borderColor);\r\n this.negativeBorderColorXform.render(xmlStream, model.negativeBorderColor);\r\n this.negativeFillColorXform.render(xmlStream, model.negativeFillColor);\r\n this.axisColorXform.render(xmlStream, model.axisColor);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel({attributes}) {\r\n return {\r\n cfvo: [],\r\n minLength: BaseXform.toIntValue(attributes.minLength, 0),\r\n maxLength: BaseXform.toIntValue(attributes.maxLength, 100),\r\n border: BaseXform.toBoolValue(attributes.border, false),\r\n gradient: BaseXform.toBoolValue(attributes.gradient, true),\r\n negativeBarColorSameAsPositive: BaseXform.toBoolValue(\r\n attributes.negativeBarColorSameAsPositive,\r\n true\r\n ),\r\n negativeBarBorderColorSameAsPositive: BaseXform.toBoolValue(\r\n attributes.negativeBarBorderColorSameAsPositive,\r\n true\r\n ),\r\n axisPosition: BaseXform.toStringValue(attributes.axisPosition, 'auto'),\r\n direction: BaseXform.toStringValue(attributes.direction, 'leftToRight'),\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n const [, prop] = name.split(':');\r\n switch (prop) {\r\n case 'cfvo':\r\n this.model.cfvo.push(parser.model);\r\n break;\r\n\r\n default:\r\n this.model[prop] = parser.model;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = DatabarExtXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass FExtXform extends BaseXform {\r\n get tag() {\r\n return 'xm:f';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, null, model);\r\n }\r\n\r\n parseOpen() {\r\n this.model = '';\r\n }\r\n\r\n parseText(text) {\r\n this.model += text;\r\n }\r\n\r\n parseClose(name) {\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nmodule.exports = FExtXform;\r\n","const BaseXform = require('../../base-xform');\r\nconst CompositeXform = require('../../composite-xform');\r\n\r\nconst CfvoExtXform = require('./cfvo-ext-xform');\r\nconst CfIconExtXform = require('./cf-icon-ext-xform');\r\n\r\nclass IconSetExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'x14:cfvo': (this.cfvoXform = new CfvoExtXform()),\r\n 'x14:cfIcon': (this.cfIconXform = new CfIconExtXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'x14:iconSet';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n iconSet: BaseXform.toStringAttribute(model.iconSet),\r\n reverse: BaseXform.toBoolAttribute(model.reverse, false),\r\n showValue: BaseXform.toBoolAttribute(model.showValue, true),\r\n custom: BaseXform.toBoolAttribute(model.icons, false),\r\n });\r\n\r\n model.cfvo.forEach(cfvo => {\r\n this.cfvoXform.render(xmlStream, cfvo);\r\n });\r\n\r\n if (model.icons) {\r\n model.icons.forEach((icon, i) => {\r\n icon.iconId = i;\r\n this.cfIconXform.render(xmlStream, icon);\r\n });\r\n }\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel({attributes}) {\r\n return {\r\n cfvo: [],\r\n iconSet: BaseXform.toStringValue(attributes.iconSet, '3TrafficLights'),\r\n reverse: BaseXform.toBoolValue(attributes.reverse, false),\r\n showValue: BaseXform.toBoolValue(attributes.showValue, true),\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n const [, prop] = name.split(':');\r\n switch (prop) {\r\n case 'cfvo':\r\n this.model.cfvo.push(parser.model);\r\n break;\r\n\r\n case 'cfIcon':\r\n if (!this.model.icons) {\r\n this.model.icons = [];\r\n }\r\n this.model.icons.push(parser.model);\r\n break;\r\n\r\n default:\r\n this.model[prop] = parser.model;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = IconSetExtXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass SqrefExtXform extends BaseXform {\r\n get tag() {\r\n return 'xm:sqref';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, null, model);\r\n }\r\n\r\n parseOpen() {\r\n this.model = '';\r\n }\r\n\r\n parseText(text) {\r\n this.model += text;\r\n }\r\n\r\n parseClose(name) {\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nmodule.exports = SqrefExtXform;\r\n","const BaseXform = require('../../base-xform');\r\nconst CompositeXform = require('../../composite-xform');\r\n\r\nconst Range = require('../../../../doc/range');\r\n\r\nconst DatabarXform = require('./databar-xform');\r\nconst ExtLstRefXform = require('./ext-lst-ref-xform');\r\nconst FormulaXform = require('./formula-xform');\r\nconst ColorScaleXform = require('./color-scale-xform');\r\nconst IconSetXform = require('./icon-set-xform');\r\n\r\nconst extIcons = {\r\n '3Triangles': true,\r\n '3Stars': true,\r\n '5Boxes': true,\r\n};\r\n\r\nconst getTextFormula = model => {\r\n if (model.formulae && model.formulae[0]) {\r\n return model.formulae[0];\r\n }\r\n\r\n const range = new Range(model.ref);\r\n const {tl} = range;\r\n switch (model.operator) {\r\n case 'containsText':\r\n return `NOT(ISERROR(SEARCH(\"${model.text}\",${tl})))`;\r\n case 'containsBlanks':\r\n return `LEN(TRIM(${tl}))=0`;\r\n case 'notContainsBlanks':\r\n return `LEN(TRIM(${tl}))>0`;\r\n case 'containsErrors':\r\n return `ISERROR(${tl})`;\r\n case 'notContainsErrors':\r\n return `NOT(ISERROR(${tl}))`;\r\n default:\r\n return undefined;\r\n }\r\n};\r\n\r\nconst getTimePeriodFormula = model => {\r\n if (model.formulae && model.formulae[0]) {\r\n return model.formulae[0];\r\n }\r\n\r\n const range = new Range(model.ref);\r\n const {tl} = range;\r\n switch (model.timePeriod) {\r\n case 'thisWeek':\r\n return `AND(TODAY()-ROUNDDOWN(${tl},0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(${tl},0)-TODAY()<=7-WEEKDAY(TODAY()))`;\r\n case 'lastWeek':\r\n return `AND(TODAY()-ROUNDDOWN(${tl},0)>=(WEEKDAY(TODAY())),TODAY()-ROUNDDOWN(${tl},0)<(WEEKDAY(TODAY())+7))`;\r\n case 'nextWeek':\r\n return `AND(ROUNDDOWN(${tl},0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(${tl},0)-TODAY()<(15-WEEKDAY(TODAY())))`;\r\n case 'yesterday':\r\n return `FLOOR(${tl},1)=TODAY()-1`;\r\n case 'today':\r\n return `FLOOR(${tl},1)=TODAY()`;\r\n case 'tomorrow':\r\n return `FLOOR(${tl},1)=TODAY()+1`;\r\n case 'last7Days':\r\n return `AND(TODAY()-FLOOR(${tl},1)<=6,FLOOR(${tl},1)<=TODAY())`;\r\n case 'lastMonth':\r\n return `AND(MONTH(${tl})=MONTH(EDATE(TODAY(),0-1)),YEAR(${tl})=YEAR(EDATE(TODAY(),0-1)))`;\r\n case 'thisMonth':\r\n return `AND(MONTH(${tl})=MONTH(TODAY()),YEAR(${tl})=YEAR(TODAY()))`;\r\n case 'nextMonth':\r\n return `AND(MONTH(${tl})=MONTH(EDATE(TODAY(),0+1)),YEAR(${tl})=YEAR(EDATE(TODAY(),0+1)))`;\r\n default:\r\n return undefined;\r\n }\r\n};\r\n\r\nconst opType = attributes => {\r\n const {type, operator} = attributes;\r\n switch (type) {\r\n case 'containsText':\r\n case 'containsBlanks':\r\n case 'notContainsBlanks':\r\n case 'containsErrors':\r\n case 'notContainsErrors':\r\n return {\r\n type: 'containsText',\r\n operator: type,\r\n };\r\n\r\n default:\r\n return {type, operator};\r\n }\r\n};\r\n\r\nclass CfRuleXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n dataBar: (this.databarXform = new DatabarXform()),\r\n extLst: (this.extLstRefXform = new ExtLstRefXform()),\r\n formula: (this.formulaXform = new FormulaXform()),\r\n colorScale: (this.colorScaleXform = new ColorScaleXform()),\r\n iconSet: (this.iconSetXform = new IconSetXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'cfRule';\r\n }\r\n\r\n static isPrimitive(rule) {\r\n // is this rule primitive?\r\n if (rule.type === 'iconSet') {\r\n if (rule.custom || extIcons[rule.iconSet]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n render(xmlStream, model) {\r\n switch (model.type) {\r\n case 'expression':\r\n this.renderExpression(xmlStream, model);\r\n break;\r\n case 'cellIs':\r\n this.renderCellIs(xmlStream, model);\r\n break;\r\n case 'top10':\r\n this.renderTop10(xmlStream, model);\r\n break;\r\n case 'aboveAverage':\r\n this.renderAboveAverage(xmlStream, model);\r\n break;\r\n case 'dataBar':\r\n this.renderDataBar(xmlStream, model);\r\n break;\r\n case 'colorScale':\r\n this.renderColorScale(xmlStream, model);\r\n break;\r\n case 'iconSet':\r\n this.renderIconSet(xmlStream, model);\r\n break;\r\n case 'containsText':\r\n this.renderText(xmlStream, model);\r\n break;\r\n case 'timePeriod':\r\n this.renderTimePeriod(xmlStream, model);\r\n break;\r\n }\r\n }\r\n\r\n renderExpression(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'expression',\r\n dxfId: model.dxfId,\r\n priority: model.priority,\r\n });\r\n\r\n this.formulaXform.render(xmlStream, model.formulae[0]);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderCellIs(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'cellIs',\r\n dxfId: model.dxfId,\r\n priority: model.priority,\r\n operator: model.operator,\r\n });\r\n\r\n model.formulae.forEach(formula => {\r\n this.formulaXform.render(xmlStream, formula);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderTop10(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n type: 'top10',\r\n dxfId: model.dxfId,\r\n priority: model.priority,\r\n percent: BaseXform.toBoolAttribute(model.percent, false),\r\n bottom: BaseXform.toBoolAttribute(model.bottom, false),\r\n rank: BaseXform.toIntValue(model.rank, 10, true),\r\n });\r\n }\r\n\r\n renderAboveAverage(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n type: 'aboveAverage',\r\n dxfId: model.dxfId,\r\n priority: model.priority,\r\n aboveAverage: BaseXform.toBoolAttribute(model.aboveAverage, true),\r\n });\r\n }\r\n\r\n renderDataBar(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'dataBar',\r\n priority: model.priority,\r\n });\r\n\r\n this.databarXform.render(xmlStream, model);\r\n this.extLstRefXform.render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderColorScale(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'colorScale',\r\n priority: model.priority,\r\n });\r\n\r\n this.colorScaleXform.render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderIconSet(xmlStream, model) {\r\n // iconset is all primitive or all extLst\r\n if (!CfRuleXform.isPrimitive(model)) {\r\n return;\r\n }\r\n\r\n xmlStream.openNode(this.tag, {\r\n type: 'iconSet',\r\n priority: model.priority,\r\n });\r\n\r\n this.iconSetXform.render(xmlStream, model);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderText(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: model.operator,\r\n dxfId: model.dxfId,\r\n priority: model.priority,\r\n operator: BaseXform.toStringAttribute(model.operator, 'containsText'),\r\n });\r\n\r\n const formula = getTextFormula(model);\r\n if (formula) {\r\n this.formulaXform.render(xmlStream, formula);\r\n }\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n renderTimePeriod(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n type: 'timePeriod',\r\n dxfId: model.dxfId,\r\n priority: model.priority,\r\n timePeriod: model.timePeriod,\r\n });\r\n\r\n const formula = getTimePeriodFormula(model);\r\n if (formula) {\r\n this.formulaXform.render(xmlStream, formula);\r\n }\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel({attributes}) {\r\n return {\r\n ...opType(attributes),\r\n dxfId: BaseXform.toIntValue(attributes.dxfId),\r\n priority: BaseXform.toIntValue(attributes.priority),\r\n timePeriod: attributes.timePeriod,\r\n percent: BaseXform.toBoolValue(attributes.percent),\r\n bottom: BaseXform.toBoolValue(attributes.bottom),\r\n rank: BaseXform.toIntValue(attributes.rank),\r\n aboveAverage: BaseXform.toBoolValue(attributes.aboveAverage),\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n switch (name) {\r\n case 'dataBar':\r\n case 'extLst':\r\n case 'colorScale':\r\n case 'iconSet':\r\n // merge parser model with ours\r\n Object.assign(this.model, parser.model);\r\n break;\r\n\r\n case 'formula':\r\n // except - formula is a string and appends to formulae\r\n this.model.formulae = this.model.formulae || [];\r\n this.model.formulae.push(parser.model);\r\n break;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = CfRuleXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass CfvoXform extends BaseXform {\r\n get tag() {\r\n return 'cfvo';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n type: model.type,\r\n val: model.value,\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n this.model = {\r\n type: node.attributes.type,\r\n value: BaseXform.toFloatValue(node.attributes.val),\r\n };\r\n }\r\n\r\n parseClose(name) {\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nmodule.exports = CfvoXform;\r\n","const CompositeXform = require('../../composite-xform');\r\n\r\nconst ColorXform = require('../../style/color-xform');\r\nconst CfvoXform = require('./cfvo-xform');\r\n\r\nclass ColorScaleXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n cfvo: (this.cfvoXform = new CfvoXform()),\r\n color: (this.colorXform = new ColorXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'colorScale';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n model.cfvo.forEach(cfvo => {\r\n this.cfvoXform.render(xmlStream, cfvo);\r\n });\r\n model.color.forEach(color => {\r\n this.colorXform.render(xmlStream, color);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel(node) {\r\n return {\r\n cfvo: [],\r\n color: [],\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n this.model[name].push(parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = ColorScaleXform;\r\n","const CompositeXform = require('../../composite-xform');\r\n\r\nconst CfRuleXform = require('./cf-rule-xform');\r\n\r\nclass ConditionalFormattingXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n cfRule: new CfRuleXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'conditionalFormatting';\r\n }\r\n\r\n render(xmlStream, model) {\r\n // if there are no primitive rules, exit now\r\n if (!model.rules.some(CfRuleXform.isPrimitive)) {\r\n return;\r\n }\r\n\r\n xmlStream.openNode(this.tag, {sqref: model.ref});\r\n\r\n model.rules.forEach(rule => {\r\n if (CfRuleXform.isPrimitive(rule)) {\r\n rule.ref = model.ref;\r\n this.map.cfRule.render(xmlStream, rule);\r\n }\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel({attributes}) {\r\n return {\r\n ref: attributes.sqref,\r\n rules: [],\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n this.model.rules.push(parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = ConditionalFormattingXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nconst ConditionalFormattingXform = require('./conditional-formatting-xform');\r\n\r\nclass ConditionalFormattingsXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.cfXform = new ConditionalFormattingXform();\r\n }\r\n\r\n get tag() {\r\n return 'conditionalFormatting';\r\n }\r\n\r\n reset() {\r\n this.model = [];\r\n }\r\n\r\n prepare(model, options) {\r\n // ensure each rule has a priority value\r\n let nextPriority = model.reduce(\r\n (p, cf) => Math.max(p, ...cf.rules.map(rule => rule.priority || 0)),\r\n 1\r\n );\r\n model.forEach(cf => {\r\n cf.rules.forEach(rule => {\r\n if (!rule.priority) {\r\n rule.priority = nextPriority++;\r\n }\r\n\r\n if (rule.style) {\r\n rule.dxfId = options.styles.addDxfStyle(rule.style);\r\n }\r\n });\r\n });\r\n }\r\n\r\n render(xmlStream, model) {\r\n model.forEach(cf => {\r\n this.cfXform.render(xmlStream, cf);\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n switch (node.name) {\r\n case 'conditionalFormatting':\r\n this.parser = this.cfXform;\r\n this.parser.parseOpen(node);\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.push(this.parser.model);\r\n this.parser = undefined;\r\n return false;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n reconcile(model, options) {\r\n model.forEach(cf => {\r\n cf.rules.forEach(rule => {\r\n if (rule.dxfId !== undefined) {\r\n rule.style = options.styles.getDxfStyle(rule.dxfId);\r\n delete rule.dxfId;\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nmodule.exports = ConditionalFormattingsXform;\r\n","const CompositeXform = require('../../composite-xform');\r\n\r\nconst ColorXform = require('../../style/color-xform');\r\nconst CfvoXform = require('./cfvo-xform');\r\n\r\nclass DatabarXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n cfvo: (this.cfvoXform = new CfvoXform()),\r\n color: (this.colorXform = new ColorXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'dataBar';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n model.cfvo.forEach(cfvo => {\r\n this.cfvoXform.render(xmlStream, cfvo);\r\n });\r\n this.colorXform.render(xmlStream, model.color);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel() {\r\n return {\r\n cfvo: [],\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n switch (name) {\r\n case 'cfvo':\r\n this.model.cfvo.push(parser.model);\r\n break;\r\n case 'color':\r\n this.model.color = parser.model;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = DatabarXform;\r\n","/* eslint-disable max-classes-per-file */\r\nconst BaseXform = require('../../base-xform');\r\nconst CompositeXform = require('../../composite-xform');\r\n\r\nclass X14IdXform extends BaseXform {\r\n get tag() {\r\n return 'x14:id';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, null, model);\r\n }\r\n\r\n parseOpen() {\r\n this.model = '';\r\n }\r\n\r\n parseText(text) {\r\n this.model += text;\r\n }\r\n\r\n parseClose(name) {\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nclass ExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n 'x14:id': (this.idXform = new X14IdXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'ext';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n uri: '{B025F937-C7B1-47D3-B67F-A62EFF666E3E}',\r\n 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main',\r\n });\r\n\r\n this.idXform.render(xmlStream, model.x14Id);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel() {\r\n return {};\r\n }\r\n\r\n onParserClose(name, parser) {\r\n this.model.x14Id = parser.model;\r\n }\r\n}\r\n\r\nclass ExtLstRefXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n this.map = {\r\n ext: new ExtXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'extLst';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n this.map.ext.render(xmlStream, model);\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel() {\r\n return {};\r\n }\r\n\r\n onParserClose(name, parser) {\r\n Object.assign(this.model, parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = ExtLstRefXform;\r\n","const BaseXform = require('../../base-xform');\r\n\r\nclass FormulaXform extends BaseXform {\r\n get tag() {\r\n return 'formula';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, null, model);\r\n }\r\n\r\n parseOpen() {\r\n this.model = '';\r\n }\r\n\r\n parseText(text) {\r\n this.model += text;\r\n }\r\n\r\n parseClose(name) {\r\n return name !== this.tag;\r\n }\r\n}\r\n\r\nmodule.exports = FormulaXform;\r\n","const BaseXform = require('../../base-xform');\r\nconst CompositeXform = require('../../composite-xform');\r\n\r\nconst CfvoXform = require('./cfvo-xform');\r\n\r\nclass IconSetXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n cfvo: (this.cfvoXform = new CfvoXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'iconSet';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n iconSet: BaseXform.toStringAttribute(model.iconSet, '3TrafficLights'),\r\n reverse: BaseXform.toBoolAttribute(model.reverse, false),\r\n showValue: BaseXform.toBoolAttribute(model.showValue, true),\r\n });\r\n\r\n model.cfvo.forEach(cfvo => {\r\n this.cfvoXform.render(xmlStream, cfvo);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel({attributes}) {\r\n return {\r\n iconSet: BaseXform.toStringValue(attributes.iconSet, '3TrafficLights'),\r\n reverse: BaseXform.toBoolValue(attributes.reverse),\r\n showValue: BaseXform.toBoolValue(attributes.showValue),\r\n cfvo: [],\r\n };\r\n }\r\n\r\n onParserClose(name, parser) {\r\n this.model[name].push(parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = IconSetXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass ColXform extends BaseXform {\r\n get tag() {\r\n return 'col';\r\n }\r\n\r\n prepare(model, options) {\r\n const styleId = options.styles.addStyleModel(model.style || {});\r\n if (styleId) {\r\n model.styleId = styleId;\r\n }\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('col');\r\n xmlStream.addAttribute('min', model.min);\r\n xmlStream.addAttribute('max', model.max);\r\n if (model.width) {\r\n xmlStream.addAttribute('width', model.width);\r\n }\r\n if (model.styleId) {\r\n xmlStream.addAttribute('style', model.styleId);\r\n }\r\n if (model.hidden) {\r\n xmlStream.addAttribute('hidden', '1');\r\n }\r\n if (model.bestFit) {\r\n xmlStream.addAttribute('bestFit', '1');\r\n }\r\n if (model.outlineLevel) {\r\n xmlStream.addAttribute('outlineLevel', model.outlineLevel);\r\n }\r\n if (model.collapsed) {\r\n xmlStream.addAttribute('collapsed', '1');\r\n }\r\n xmlStream.addAttribute('customWidth', '1');\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'col') {\r\n const model = (this.model = {\r\n min: parseInt(node.attributes.min || '0', 10),\r\n max: parseInt(node.attributes.max || '0', 10),\r\n width:\r\n node.attributes.width === undefined\r\n ? undefined\r\n : parseFloat(node.attributes.width || '0'),\r\n });\r\n if (node.attributes.style) {\r\n model.styleId = parseInt(node.attributes.style, 10);\r\n }\r\n if (\r\n node.attributes.hidden === true ||\r\n node.attributes.hidden === 'true' ||\r\n node.attributes.hidden === 1 ||\r\n node.attributes.hidden === '1'\r\n ) {\r\n model.hidden = true;\r\n }\r\n if (node.attributes.bestFit) {\r\n model.bestFit = true;\r\n }\r\n if (node.attributes.outlineLevel) {\r\n model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);\r\n }\r\n if (node.attributes.collapsed) {\r\n model.collapsed = true;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n\r\n reconcile(model, options) {\r\n // reconcile column styles\r\n if (model.styleId) {\r\n model.style = options.styles.getStyleModel(model.styleId);\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = ColXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst utils = require('../../../utils/utils');\r\nconst colCache = require('../../../utils/col-cache');\r\nconst BaseXform = require('../base-xform');\r\nconst Range = require('../../../doc/range');\r\n\r\nfunction assign(definedName, attributes, name, defaultValue) {\r\n const value = attributes[name];\r\n if (value !== undefined) {\r\n definedName[name] = value;\r\n } else if (defaultValue !== undefined) {\r\n definedName[name] = defaultValue;\r\n }\r\n}\r\nfunction parseBool(value) {\r\n switch (value) {\r\n case '1':\r\n case 'true':\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\nfunction assignBool(definedName, attributes, name, defaultValue) {\r\n const value = attributes[name];\r\n if (value !== undefined) {\r\n definedName[name] = parseBool(value);\r\n } else if (defaultValue !== undefined) {\r\n definedName[name] = defaultValue;\r\n }\r\n}\r\n\r\nfunction optimiseDataValidations(model) {\r\n // Squeeze alike data validations together into rectangular ranges\r\n // to reduce file size and speed up Excel load time\r\n const dvList = _.map(model, (dataValidation, address) => ({\r\n address,\r\n dataValidation,\r\n marked: false,\r\n })).sort((a, b) => _.strcmp(a.address, b.address));\r\n const dvMap = _.keyBy(dvList, 'address');\r\n const matchCol = (addr, height, col) => {\r\n for (let i = 0; i < height; i++) {\r\n const otherAddress = colCache.encodeAddress(addr.row + i, col);\r\n if (!model[otherAddress] || !_.isEqual(model[addr.address], model[otherAddress])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n return dvList\r\n .map(dv => {\r\n if (!dv.marked) {\r\n const addr = colCache.decodeEx(dv.address);\r\n if (addr.dimensions) {\r\n dvMap[addr.dimensions].marked = true;\r\n return {\r\n ...dv.dataValidation,\r\n sqref: dv.address,\r\n };\r\n }\r\n\r\n // iterate downwards - finding matching cells\r\n let height = 1;\r\n let otherAddress = colCache.encodeAddress(addr.row + height, addr.col);\r\n while (model[otherAddress] && _.isEqual(dv.dataValidation, model[otherAddress])) {\r\n height++;\r\n otherAddress = colCache.encodeAddress(addr.row + height, addr.col);\r\n }\r\n\r\n // iterate rightwards...\r\n\r\n let width = 1;\r\n while (matchCol(addr, height, addr.col + width)) {\r\n width++;\r\n }\r\n\r\n // mark all included addresses\r\n for (let i = 0; i < height; i++) {\r\n for (let j = 0; j < width; j++) {\r\n otherAddress = colCache.encodeAddress(addr.row + i, addr.col + j);\r\n dvMap[otherAddress].marked = true;\r\n }\r\n }\r\n\r\n if (height > 1 || width > 1) {\r\n const bottom = addr.row + (height - 1);\r\n const right = addr.col + (width - 1);\r\n return {\r\n ...dv.dataValidation,\r\n sqref: `${dv.address}:${colCache.encodeAddress(bottom, right)}`,\r\n };\r\n }\r\n return {\r\n ...dv.dataValidation,\r\n sqref: dv.address,\r\n };\r\n }\r\n return null;\r\n })\r\n .filter(Boolean);\r\n}\r\n\r\nclass DataValidationsXform extends BaseXform {\r\n get tag() {\r\n return 'dataValidations';\r\n }\r\n\r\n render(xmlStream, model) {\r\n const optimizedModel = optimiseDataValidations(model);\r\n if (optimizedModel.length) {\r\n xmlStream.openNode('dataValidations', {count: optimizedModel.length});\r\n\r\n optimizedModel.forEach(value => {\r\n xmlStream.openNode('dataValidation');\r\n\r\n if (value.type !== 'any') {\r\n xmlStream.addAttribute('type', value.type);\r\n\r\n if (value.operator && value.type !== 'list' && value.operator !== 'between') {\r\n xmlStream.addAttribute('operator', value.operator);\r\n }\r\n if (value.allowBlank) {\r\n xmlStream.addAttribute('allowBlank', '1');\r\n }\r\n }\r\n if (value.showInputMessage) {\r\n xmlStream.addAttribute('showInputMessage', '1');\r\n }\r\n if (value.promptTitle) {\r\n xmlStream.addAttribute('promptTitle', value.promptTitle);\r\n }\r\n if (value.prompt) {\r\n xmlStream.addAttribute('prompt', value.prompt);\r\n }\r\n if (value.showErrorMessage) {\r\n xmlStream.addAttribute('showErrorMessage', '1');\r\n }\r\n if (value.errorStyle) {\r\n xmlStream.addAttribute('errorStyle', value.errorStyle);\r\n }\r\n if (value.errorTitle) {\r\n xmlStream.addAttribute('errorTitle', value.errorTitle);\r\n }\r\n if (value.error) {\r\n xmlStream.addAttribute('error', value.error);\r\n }\r\n xmlStream.addAttribute('sqref', value.sqref);\r\n (value.formulae || []).forEach((formula, index) => {\r\n xmlStream.openNode(`formula${index + 1}`);\r\n if (value.type === 'date') {\r\n xmlStream.writeText(utils.dateToExcel(new Date(formula)));\r\n } else {\r\n xmlStream.writeText(formula);\r\n }\r\n xmlStream.closeNode();\r\n });\r\n xmlStream.closeNode();\r\n });\r\n xmlStream.closeNode();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 'dataValidations':\r\n this.model = {};\r\n return true;\r\n\r\n case 'dataValidation': {\r\n this._address = node.attributes.sqref;\r\n const dataValidation = {type: node.attributes.type || 'any', formulae: []};\r\n\r\n if (node.attributes.type) {\r\n assignBool(dataValidation, node.attributes, 'allowBlank');\r\n }\r\n assignBool(dataValidation, node.attributes, 'showInputMessage');\r\n assignBool(dataValidation, node.attributes, 'showErrorMessage');\r\n\r\n switch (dataValidation.type) {\r\n case 'any':\r\n case 'list':\r\n case 'custom':\r\n break;\r\n default:\r\n assign(dataValidation, node.attributes, 'operator', 'between');\r\n break;\r\n }\r\n assign(dataValidation, node.attributes, 'promptTitle');\r\n assign(dataValidation, node.attributes, 'prompt');\r\n assign(dataValidation, node.attributes, 'errorStyle');\r\n assign(dataValidation, node.attributes, 'errorTitle');\r\n assign(dataValidation, node.attributes, 'error');\r\n\r\n this._dataValidation = dataValidation;\r\n return true;\r\n }\r\n\r\n case 'formula1':\r\n case 'formula2':\r\n this._formula = [];\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this._formula) {\r\n this._formula.push(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case 'dataValidations':\r\n return false;\r\n case 'dataValidation': {\r\n if (!this._dataValidation.formulae || !this._dataValidation.formulae.length) {\r\n delete this._dataValidation.formulae;\r\n delete this._dataValidation.operator;\r\n }\r\n // The four known cases: 1. E4:L9 N4:U9 2.E4 L9 3. N4:U9 4. E4\r\n const list = this._address.split(/\\s+/g) || [];\r\n list.forEach(addr => {\r\n if (addr.includes(':')) {\r\n const range = new Range(addr);\r\n range.forEachAddress(address => {\r\n this.model[address] = this._dataValidation;\r\n });\r\n } else {\r\n this.model[addr] = this._dataValidation;\r\n }\r\n });\r\n return true;\r\n }\r\n case 'formula1':\r\n case 'formula2': {\r\n let formula = this._formula.join('');\r\n switch (this._dataValidation.type) {\r\n case 'whole':\r\n case 'textLength':\r\n formula = parseInt(formula, 10);\r\n break;\r\n case 'decimal':\r\n formula = parseFloat(formula);\r\n break;\r\n case 'date':\r\n formula = utils.excelToDate(parseFloat(formula));\r\n break;\r\n default:\r\n break;\r\n }\r\n this._dataValidation.formulae.push(formula);\r\n this._formula = undefined;\r\n return true;\r\n }\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = DataValidationsXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass DimensionXform extends BaseXform {\r\n get tag() {\r\n return 'dimension';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.leafNode('dimension', {ref: model});\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'dimension') {\r\n this.model = node.attributes.ref;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = DimensionXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass DrawingXform extends BaseXform {\r\n get tag() {\r\n return 'drawing';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.leafNode(this.tag, {'r:id': model.rId});\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n rId: node.attributes['r:id'],\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = DrawingXform;\r\n","/* eslint-disable max-classes-per-file */\r\nconst CompositeXform = require('../composite-xform');\r\n\r\nconst ConditionalFormattingsExt = require('./cf-ext/conditional-formattings-ext-xform');\r\n\r\nclass ExtXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n this.map = {\r\n 'x14:conditionalFormattings': (this.conditionalFormattings = new ConditionalFormattingsExt()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'ext';\r\n }\r\n\r\n hasContent(model) {\r\n return this.conditionalFormattings.hasContent(model.conditionalFormattings);\r\n }\r\n\r\n prepare(model, options) {\r\n this.conditionalFormattings.prepare(model.conditionalFormattings, options);\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('ext', {\r\n uri: '{78C0D931-6437-407d-A8EE-F0AAD7539E65}',\r\n 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main',\r\n });\r\n\r\n this.conditionalFormattings.render(xmlStream, model.conditionalFormattings);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel() {\r\n return {};\r\n }\r\n\r\n onParserClose(name, parser) {\r\n this.model[name] = parser.model;\r\n }\r\n}\r\n\r\nclass ExtLstXform extends CompositeXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n ext: (this.ext = new ExtXform()),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'extLst';\r\n }\r\n\r\n prepare(model, options) {\r\n this.ext.prepare(model, options);\r\n }\r\n\r\n hasContent(model) {\r\n return this.ext.hasContent(model);\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (!this.hasContent(model)) {\r\n return;\r\n }\r\n\r\n xmlStream.openNode('extLst');\r\n this.ext.render(xmlStream, model);\r\n xmlStream.closeNode();\r\n }\r\n\r\n createNewModel() {\r\n return {};\r\n }\r\n\r\n onParserClose(name, parser) {\r\n Object.assign(this.model, parser.model);\r\n }\r\n}\r\n\r\nmodule.exports = ExtLstXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass HeaderFooterXform extends BaseXform {\r\n get tag() {\r\n return 'headerFooter';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.addRollback();\r\n\r\n let createTag = false;\r\n\r\n xmlStream.openNode('headerFooter');\r\n if (model.differentFirst) {\r\n xmlStream.addAttribute('differentFirst', '1');\r\n createTag = true;\r\n }\r\n if (model.differentOddEven) {\r\n xmlStream.addAttribute('differentOddEven', '1');\r\n createTag = true;\r\n }\r\n if (model.oddHeader && typeof model.oddHeader === 'string') {\r\n xmlStream.leafNode('oddHeader', null, model.oddHeader);\r\n createTag = true;\r\n }\r\n if (model.oddFooter && typeof model.oddFooter === 'string') {\r\n xmlStream.leafNode('oddFooter', null, model.oddFooter);\r\n createTag = true;\r\n }\r\n if (model.evenHeader && typeof model.evenHeader === 'string') {\r\n xmlStream.leafNode('evenHeader', null, model.evenHeader);\r\n createTag = true;\r\n }\r\n if (model.evenFooter && typeof model.evenFooter === 'string') {\r\n xmlStream.leafNode('evenFooter', null, model.evenFooter);\r\n createTag = true;\r\n }\r\n if (model.firstHeader && typeof model.firstHeader === 'string') {\r\n xmlStream.leafNode('firstHeader', null, model.firstHeader);\r\n createTag = true;\r\n }\r\n if (model.firstFooter && typeof model.firstFooter === 'string') {\r\n xmlStream.leafNode('firstFooter', null, model.firstFooter);\r\n createTag = true;\r\n }\r\n\r\n if (createTag) {\r\n xmlStream.closeNode();\r\n xmlStream.commit();\r\n } else {\r\n xmlStream.rollback();\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 'headerFooter':\r\n this.model = {};\r\n if (node.attributes.differentFirst) {\r\n this.model.differentFirst = parseInt(node.attributes.differentFirst, 0) === 1;\r\n }\r\n if (node.attributes.differentOddEven) {\r\n this.model.differentOddEven = parseInt(node.attributes.differentOddEven, 0) === 1;\r\n }\r\n return true;\r\n\r\n case 'oddHeader':\r\n this.currentNode = 'oddHeader';\r\n return true;\r\n\r\n case 'oddFooter':\r\n this.currentNode = 'oddFooter';\r\n return true;\r\n\r\n case 'evenHeader':\r\n this.currentNode = 'evenHeader';\r\n return true;\r\n\r\n case 'evenFooter':\r\n this.currentNode = 'evenFooter';\r\n return true;\r\n\r\n case 'firstHeader':\r\n this.currentNode = 'firstHeader';\r\n return true;\r\n\r\n case 'firstFooter':\r\n this.currentNode = 'firstFooter';\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n switch (this.currentNode) {\r\n case 'oddHeader':\r\n this.model.oddHeader = text;\r\n break;\r\n\r\n case 'oddFooter':\r\n this.model.oddFooter = text;\r\n break;\r\n\r\n case 'evenHeader':\r\n this.model.evenHeader = text;\r\n break;\r\n\r\n case 'evenFooter':\r\n this.model.evenFooter = text;\r\n break;\r\n\r\n case 'firstHeader':\r\n this.model.firstHeader = text;\r\n break;\r\n\r\n case 'firstFooter':\r\n this.model.firstFooter = text;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n parseClose() {\r\n switch (this.currentNode) {\r\n case 'oddHeader':\r\n case 'oddFooter':\r\n case 'evenHeader':\r\n case 'evenFooter':\r\n case 'firstHeader':\r\n case 'firstFooter':\r\n this.currentNode = undefined;\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = HeaderFooterXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass HyperlinkXform extends BaseXform {\r\n get tag() {\r\n return 'hyperlink';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('hyperlink', {\r\n ref: model.address,\r\n 'r:id': model.rId,\r\n tooltip: model.tooltip,\r\n });\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'hyperlink') {\r\n this.model = {\r\n address: node.attributes.ref,\r\n rId: node.attributes['r:id'],\r\n tooltip: node.attributes.tooltip,\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = HyperlinkXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass MergeCellXform extends BaseXform {\r\n get tag() {\r\n return 'mergeCell';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('mergeCell', {ref: model});\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'mergeCell') {\r\n this.model = node.attributes.ref;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = MergeCellXform;\r\n","const _ = require('../../../utils/under-dash');\r\n\r\nconst Range = require('../../../doc/range');\r\nconst colCache = require('../../../utils/col-cache');\r\nconst Enums = require('../../../doc/enums');\r\n\r\nclass Merges {\r\n constructor() {\r\n // optional mergeCells is array of ranges (like the xml)\r\n this.merges = {};\r\n }\r\n\r\n add(merge) {\r\n // merge is {address, master}\r\n if (this.merges[merge.master]) {\r\n this.merges[merge.master].expandToAddress(merge.address);\r\n } else {\r\n const range = `${merge.master}:${merge.address}`;\r\n this.merges[merge.master] = new Range(range);\r\n }\r\n }\r\n\r\n get mergeCells() {\r\n return _.map(this.merges, merge => merge.range);\r\n }\r\n\r\n reconcile(mergeCells, rows) {\r\n // reconcile merge list with merge cells\r\n _.each(mergeCells, merge => {\r\n const dimensions = colCache.decode(merge);\r\n for (let i = dimensions.top; i <= dimensions.bottom; i++) {\r\n const row = rows[i - 1];\r\n for (let j = dimensions.left; j <= dimensions.right; j++) {\r\n const cell = row.cells[j - 1];\r\n if (!cell) {\r\n // nulls are not included in document - so if master cell has no value - add a null one here\r\n row.cells[j] = {\r\n type: Enums.ValueType.Null,\r\n address: colCache.encodeAddress(i, j),\r\n };\r\n } else if (cell.type === Enums.ValueType.Merge) {\r\n cell.master = dimensions.tl;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n getMasterAddress(address) {\r\n // if address has been merged, return its master's address. Assumes reconcile has been called\r\n const range = this.hash[address];\r\n return range && range.tl;\r\n }\r\n}\r\n\r\nmodule.exports = Merges;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst isDefined = attr => typeof attr !== 'undefined';\r\n\r\nclass OutlinePropertiesXform extends BaseXform {\r\n get tag() {\r\n return 'outlinePr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model && (isDefined(model.summaryBelow) || isDefined(model.summaryRight))) {\r\n xmlStream.leafNode(this.tag, {\r\n summaryBelow: isDefined(model.summaryBelow) ? Number(model.summaryBelow) : undefined,\r\n summaryRight: isDefined(model.summaryRight) ? Number(model.summaryRight) : undefined,\r\n });\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n this.model = {\r\n summaryBelow: isDefined(node.attributes.summaryBelow)\r\n ? Boolean(Number(node.attributes.summaryBelow))\r\n : undefined,\r\n summaryRight: isDefined(node.attributes.summaryRight)\r\n ? Boolean(Number(node.attributes.summaryRight))\r\n : undefined,\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = OutlinePropertiesXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass PageBreaksXform extends BaseXform {\r\n get tag() {\r\n return 'brk';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('brk', model);\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'brk') {\r\n this.model = node.attributes.ref;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = PageBreaksXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst BaseXform = require('../base-xform');\r\n\r\nclass PageMarginsXform extends BaseXform {\r\n get tag() {\r\n return 'pageMargins';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n const attributes = {\r\n left: model.left,\r\n right: model.right,\r\n top: model.top,\r\n bottom: model.bottom,\r\n header: model.header,\r\n footer: model.footer,\r\n };\r\n if (_.some(attributes, value => value !== undefined)) {\r\n xmlStream.leafNode(this.tag, attributes);\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n left: parseFloat(node.attributes.left || 0.7),\r\n right: parseFloat(node.attributes.right || 0.7),\r\n top: parseFloat(node.attributes.top || 0.75),\r\n bottom: parseFloat(node.attributes.bottom || 0.75),\r\n header: parseFloat(node.attributes.header || 0.3),\r\n footer: parseFloat(node.attributes.footer || 0.3),\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = PageMarginsXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass PageSetupPropertiesXform extends BaseXform {\r\n get tag() {\r\n return 'pageSetUpPr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model && model.fitToPage) {\r\n xmlStream.leafNode(this.tag, {\r\n fitToPage: model.fitToPage ? '1' : undefined,\r\n });\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n this.model = {\r\n fitToPage: node.attributes.fitToPage === '1',\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = PageSetupPropertiesXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst BaseXform = require('../base-xform');\r\n\r\nfunction booleanToXml(model) {\r\n return model ? '1' : undefined;\r\n}\r\nfunction pageOrderToXml(model) {\r\n switch (model) {\r\n case 'overThenDown':\r\n return model;\r\n default:\r\n return undefined;\r\n }\r\n}\r\nfunction cellCommentsToXml(model) {\r\n switch (model) {\r\n case 'atEnd':\r\n case 'asDisplyed':\r\n return model;\r\n default:\r\n return undefined;\r\n }\r\n}\r\nfunction errorsToXml(model) {\r\n switch (model) {\r\n case 'dash':\r\n case 'blank':\r\n case 'NA':\r\n return model;\r\n default:\r\n return undefined;\r\n }\r\n}\r\nfunction pageSizeToModel(value) {\r\n return value !== undefined ? parseInt(value, 10) : undefined;\r\n}\r\n\r\nclass PageSetupXform extends BaseXform {\r\n get tag() {\r\n return 'pageSetup';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n const attributes = {\r\n paperSize: model.paperSize,\r\n orientation: model.orientation,\r\n horizontalDpi: model.horizontalDpi,\r\n verticalDpi: model.verticalDpi,\r\n pageOrder: pageOrderToXml(model.pageOrder),\r\n blackAndWhite: booleanToXml(model.blackAndWhite),\r\n draft: booleanToXml(model.draft),\r\n cellComments: cellCommentsToXml(model.cellComments),\r\n errors: errorsToXml(model.errors),\r\n scale: model.scale,\r\n fitToWidth: model.fitToWidth,\r\n fitToHeight: model.fitToHeight,\r\n firstPageNumber: model.firstPageNumber,\r\n useFirstPageNumber: booleanToXml(model.firstPageNumber),\r\n usePrinterDefaults: booleanToXml(model.usePrinterDefaults),\r\n copies: model.copies,\r\n };\r\n if (_.some(attributes, value => value !== undefined)) {\r\n xmlStream.leafNode(this.tag, attributes);\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n paperSize: pageSizeToModel(node.attributes.paperSize),\r\n orientation: node.attributes.orientation || 'portrait',\r\n horizontalDpi: parseInt(node.attributes.horizontalDpi || '4294967295', 10),\r\n verticalDpi: parseInt(node.attributes.verticalDpi || '4294967295', 10),\r\n pageOrder: node.attributes.pageOrder || 'downThenOver',\r\n blackAndWhite: node.attributes.blackAndWhite === '1',\r\n draft: node.attributes.draft === '1',\r\n cellComments: node.attributes.cellComments || 'None',\r\n errors: node.attributes.errors || 'displayed',\r\n scale: parseInt(node.attributes.scale || '100', 10),\r\n fitToWidth: parseInt(node.attributes.fitToWidth || '1', 10),\r\n fitToHeight: parseInt(node.attributes.fitToHeight || '1', 10),\r\n firstPageNumber: parseInt(node.attributes.firstPageNumber || '1', 10),\r\n useFirstPageNumber: node.attributes.useFirstPageNumber === '1',\r\n usePrinterDefaults: node.attributes.usePrinterDefaults === '1',\r\n copies: parseInt(node.attributes.copies || '1', 10),\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = PageSetupXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass PictureXform extends BaseXform {\r\n get tag() {\r\n return 'picture';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.leafNode(this.tag, {'r:id': model.rId});\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n rId: node.attributes['r:id'],\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = PictureXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst BaseXform = require('../base-xform');\r\n\r\nfunction booleanToXml(model) {\r\n return model ? '1' : undefined;\r\n}\r\n\r\nclass PrintOptionsXform extends BaseXform {\r\n get tag() {\r\n return 'printOptions';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n const attributes = {\r\n headings: booleanToXml(model.showRowColHeaders),\r\n gridLines: booleanToXml(model.showGridLines),\r\n horizontalCentered: booleanToXml(model.horizontalCentered),\r\n verticalCentered: booleanToXml(model.verticalCentered),\r\n };\r\n if (_.some(attributes, value => value !== undefined)) {\r\n xmlStream.leafNode(this.tag, attributes);\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n showRowColHeaders: node.attributes.headings === '1',\r\n showGridLines: node.attributes.gridLines === '1',\r\n horizontalCentered: node.attributes.horizontalCentered === '1',\r\n verticalCentered: node.attributes.verticalCentered === '1',\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = PrintOptionsXform;\r\n","'use strict';\r\n\r\nconst PageBreaksXform = require('./page-breaks-xform');\r\n\r\nconst ListXform = require('../list-xform');\r\n\r\nclass RowBreaksXform extends ListXform {\r\n constructor() {\r\n const options = {\r\n tag: 'rowBreaks',\r\n count: true,\r\n childXform: new PageBreaksXform(),\r\n };\r\n super(options);\r\n }\r\n\r\n // get tag() { return 'rowBreaks'; }\r\n\r\n render(xmlStream, model) {\r\n if (model && model.length) {\r\n xmlStream.openNode(this.tag, this.$);\r\n if (this.count) {\r\n xmlStream.addAttribute(this.$count, model.length);\r\n xmlStream.addAttribute('manualBreakCount', model.length);\r\n }\r\n\r\n const {childXform} = this;\r\n model.forEach(childModel => {\r\n childXform.render(xmlStream, childModel);\r\n });\r\n\r\n xmlStream.closeNode();\r\n } else if (this.empty) {\r\n xmlStream.leafNode(this.tag);\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = RowBreaksXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst CellXform = require('./cell-xform');\r\n\r\nclass RowXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.maxItems = options && options.maxItems;\r\n this.map = {\r\n c: new CellXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'row';\r\n }\r\n\r\n prepare(model, options) {\r\n const styleId = options.styles.addStyleModel(model.style);\r\n if (styleId) {\r\n model.styleId = styleId;\r\n }\r\n const cellXform = this.map.c;\r\n model.cells.forEach(cellModel => {\r\n cellXform.prepare(cellModel, options);\r\n });\r\n }\r\n\r\n render(xmlStream, model, options) {\r\n xmlStream.openNode('row');\r\n xmlStream.addAttribute('r', model.number);\r\n if (model.height) {\r\n xmlStream.addAttribute('ht', model.height);\r\n xmlStream.addAttribute('customHeight', '1');\r\n }\r\n if (model.hidden) {\r\n xmlStream.addAttribute('hidden', '1');\r\n }\r\n if (model.min > 0 && model.max > 0 && model.min <= model.max) {\r\n xmlStream.addAttribute('spans', `${model.min}:${model.max}`);\r\n }\r\n if (model.styleId) {\r\n xmlStream.addAttribute('s', model.styleId);\r\n xmlStream.addAttribute('customFormat', '1');\r\n }\r\n xmlStream.addAttribute('x14ac:dyDescent', '0.25');\r\n if (model.outlineLevel) {\r\n xmlStream.addAttribute('outlineLevel', model.outlineLevel);\r\n }\r\n if (model.collapsed) {\r\n xmlStream.addAttribute('collapsed', '1');\r\n }\r\n\r\n const cellXform = this.map.c;\r\n model.cells.forEach(cellModel => {\r\n cellXform.render(xmlStream, cellModel, options);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n if (node.name === 'row') {\r\n this.numRowsSeen += 1;\r\n const spans = node.attributes.spans\r\n ? node.attributes.spans.split(':').map(span => parseInt(span, 10))\r\n : [undefined, undefined];\r\n const model = (this.model = {\r\n number: parseInt(node.attributes.r, 10),\r\n min: spans[0],\r\n max: spans[1],\r\n cells: [],\r\n });\r\n if (node.attributes.s) {\r\n model.styleId = parseInt(node.attributes.s, 10);\r\n }\r\n if (\r\n node.attributes.hidden === true ||\r\n node.attributes.hidden === 'true' ||\r\n node.attributes.hidden === 1 ||\r\n node.attributes.hidden === '1'\r\n ) {\r\n model.hidden = true;\r\n }\r\n if (node.attributes.bestFit) {\r\n model.bestFit = true;\r\n }\r\n if (node.attributes.ht) {\r\n model.height = parseFloat(node.attributes.ht);\r\n }\r\n if (node.attributes.outlineLevel) {\r\n model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);\r\n }\r\n if (node.attributes.collapsed) {\r\n model.collapsed = true;\r\n }\r\n return true;\r\n }\r\n\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.cells.push(this.parser.model);\r\n if (this.maxItems && this.model.cells.length > this.maxItems) {\r\n throw new Error(`Max column count (${this.maxItems}) exceeded`);\r\n }\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n reconcile(model, options) {\r\n model.style = model.styleId ? options.styles.getStyleModel(model.styleId) : {};\r\n if (model.styleId !== undefined) {\r\n model.styleId = undefined;\r\n }\r\n\r\n const cellXform = this.map.c;\r\n model.cells.forEach(cellModel => {\r\n cellXform.reconcile(cellModel, options);\r\n });\r\n }\r\n}\r\n\r\nmodule.exports = RowXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst BaseXform = require('../base-xform');\r\n\r\nclass SheetFormatPropertiesXform extends BaseXform {\r\n get tag() {\r\n return 'sheetFormatPr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n const attributes = {\r\n defaultRowHeight: model.defaultRowHeight,\r\n outlineLevelRow: model.outlineLevelRow,\r\n outlineLevelCol: model.outlineLevelCol,\r\n 'x14ac:dyDescent': model.dyDescent,\r\n };\r\n if (model.defaultColWidth) {\r\n attributes.defaultColWidth = model.defaultColWidth;\r\n }\r\n\r\n // default value for 'defaultRowHeight' is 15, this should not be 'custom'\r\n if (!model.defaultRowHeight || model.defaultRowHeight !== 15) {\r\n attributes.customHeight = '1';\r\n }\r\n\r\n if (_.some(attributes, value => value !== undefined)) {\r\n xmlStream.leafNode('sheetFormatPr', attributes);\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'sheetFormatPr') {\r\n this.model = {\r\n defaultRowHeight: parseFloat(node.attributes.defaultRowHeight || '0'),\r\n dyDescent: parseFloat(node.attributes['x14ac:dyDescent'] || '0'),\r\n outlineLevelRow: parseInt(node.attributes.outlineLevelRow || '0', 10),\r\n outlineLevelCol: parseInt(node.attributes.outlineLevelCol || '0', 10),\r\n };\r\n if (node.attributes.defaultColWidth) {\r\n this.model.defaultColWidth = parseFloat(node.attributes.defaultColWidth);\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = SheetFormatPropertiesXform;\r\n","const BaseXform = require('../base-xform');\r\nconst ColorXform = require('../style/color-xform');\r\nconst PageSetupPropertiesXform = require('./page-setup-properties-xform');\r\nconst OutlinePropertiesXform = require('./outline-properties-xform');\r\n\r\nclass SheetPropertiesXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n tabColor: new ColorXform('tabColor'),\r\n pageSetUpPr: new PageSetupPropertiesXform(),\r\n outlinePr: new OutlinePropertiesXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'sheetPr';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.addRollback();\r\n xmlStream.openNode('sheetPr');\r\n\r\n let inner = false;\r\n inner = this.map.tabColor.render(xmlStream, model.tabColor) || inner;\r\n inner = this.map.pageSetUpPr.render(xmlStream, model.pageSetup) || inner;\r\n inner = this.map.outlinePr.render(xmlStream, model.outlineProperties) || inner;\r\n\r\n if (inner) {\r\n xmlStream.closeNode();\r\n xmlStream.commit();\r\n } else {\r\n xmlStream.rollback();\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n if (node.name === this.tag) {\r\n this.reset();\r\n return true;\r\n }\r\n if (this.map[node.name]) {\r\n this.parser = this.map[node.name];\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n if (this.map.tabColor.model || this.map.pageSetUpPr.model || this.map.outlinePr.model) {\r\n this.model = {};\r\n if (this.map.tabColor.model) {\r\n this.model.tabColor = this.map.tabColor.model;\r\n }\r\n if (this.map.pageSetUpPr.model) {\r\n this.model.pageSetup = this.map.pageSetUpPr.model;\r\n }\r\n if (this.map.outlinePr.model) {\r\n this.model.outlineProperties = this.map.outlinePr.model;\r\n }\r\n } else {\r\n this.model = null;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = SheetPropertiesXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst BaseXform = require('../base-xform');\r\n\r\nfunction booleanToXml(model, value) {\r\n return model ? value : undefined;\r\n}\r\n\r\nfunction xmlToBoolean(value, equals) {\r\n return value === equals ? true : undefined;\r\n}\r\n\r\nclass SheetProtectionXform extends BaseXform {\r\n get tag() {\r\n return 'sheetProtection';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n const attributes = {\r\n sheet: booleanToXml(model.sheet, '1'),\r\n selectLockedCells: model.selectLockedCells === false ? '1' : undefined,\r\n selectUnlockedCells: model.selectUnlockedCells === false ? '1' : undefined,\r\n formatCells: booleanToXml(model.formatCells, '0'),\r\n formatColumns: booleanToXml(model.formatColumns, '0'),\r\n formatRows: booleanToXml(model.formatRows, '0'),\r\n insertColumns: booleanToXml(model.insertColumns, '0'),\r\n insertRows: booleanToXml(model.insertRows, '0'),\r\n insertHyperlinks: booleanToXml(model.insertHyperlinks, '0'),\r\n deleteColumns: booleanToXml(model.deleteColumns, '0'),\r\n deleteRows: booleanToXml(model.deleteRows, '0'),\r\n sort: booleanToXml(model.sort, '0'),\r\n autoFilter: booleanToXml(model.autoFilter, '0'),\r\n pivotTables: booleanToXml(model.pivotTables, '0'),\r\n };\r\n if (model.sheet) {\r\n attributes.algorithmName = model.algorithmName;\r\n attributes.hashValue = model.hashValue;\r\n attributes.saltValue = model.saltValue;\r\n attributes.spinCount = model.spinCount;\r\n attributes.objects = booleanToXml(model.objects === false, '1');\r\n attributes.scenarios = booleanToXml(model.scenarios === false, '1');\r\n }\r\n if (_.some(attributes, value => value !== undefined)) {\r\n xmlStream.leafNode(this.tag, attributes);\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n sheet: xmlToBoolean(node.attributes.sheet, '1'),\r\n objects: node.attributes.objects === '1' ? false : undefined,\r\n scenarios: node.attributes.scenarios === '1' ? false : undefined,\r\n selectLockedCells: node.attributes.selectLockedCells === '1' ? false : undefined,\r\n selectUnlockedCells: node.attributes.selectUnlockedCells === '1' ? false : undefined,\r\n formatCells: xmlToBoolean(node.attributes.formatCells, '0'),\r\n formatColumns: xmlToBoolean(node.attributes.formatColumns, '0'),\r\n formatRows: xmlToBoolean(node.attributes.formatRows, '0'),\r\n insertColumns: xmlToBoolean(node.attributes.insertColumns, '0'),\r\n insertRows: xmlToBoolean(node.attributes.insertRows, '0'),\r\n insertHyperlinks: xmlToBoolean(node.attributes.insertHyperlinks, '0'),\r\n deleteColumns: xmlToBoolean(node.attributes.deleteColumns, '0'),\r\n deleteRows: xmlToBoolean(node.attributes.deleteRows, '0'),\r\n sort: xmlToBoolean(node.attributes.sort, '0'),\r\n autoFilter: xmlToBoolean(node.attributes.autoFilter, '0'),\r\n pivotTables: xmlToBoolean(node.attributes.pivotTables, '0'),\r\n };\r\n if (node.attributes.algorithmName) {\r\n this.model.algorithmName = node.attributes.algorithmName;\r\n this.model.hashValue = node.attributes.hashValue;\r\n this.model.saltValue = node.attributes.saltValue;\r\n this.model.spinCount = parseInt(node.attributes.spinCount, 10);\r\n }\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = SheetProtectionXform;\r\n","const colCache = require('../../../utils/col-cache');\r\nconst BaseXform = require('../base-xform');\r\n\r\nconst VIEW_STATES = {\r\n frozen: 'frozen',\r\n frozenSplit: 'frozen',\r\n split: 'split',\r\n};\r\n\r\nclass SheetViewXform extends BaseXform {\r\n get tag() {\r\n return 'sheetView';\r\n }\r\n\r\n prepare(model) {\r\n switch (model.state) {\r\n case 'frozen':\r\n case 'split':\r\n break;\r\n default:\r\n model.state = 'normal';\r\n break;\r\n }\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('sheetView', {\r\n workbookViewId: model.workbookViewId || 0,\r\n });\r\n const add = function(name, value, included) {\r\n if (included) {\r\n xmlStream.addAttribute(name, value);\r\n }\r\n };\r\n add('rightToLeft', '1', model.rightToLeft === true);\r\n add('tabSelected', '1', model.tabSelected);\r\n add('showRuler', '0', model.showRuler === false);\r\n add('showRowColHeaders', '0', model.showRowColHeaders === false);\r\n add('showGridLines', '0', model.showGridLines === false);\r\n add('zoomScale', model.zoomScale, model.zoomScale);\r\n add('zoomScaleNormal', model.zoomScaleNormal, model.zoomScaleNormal);\r\n add('view', model.style, model.style);\r\n\r\n let topLeftCell;\r\n let xSplit;\r\n let ySplit;\r\n let activePane;\r\n switch (model.state) {\r\n case 'frozen':\r\n xSplit = model.xSplit || 0;\r\n ySplit = model.ySplit || 0;\r\n topLeftCell = model.topLeftCell || colCache.getAddress(ySplit + 1, xSplit + 1).address;\r\n activePane =\r\n (model.xSplit && model.ySplit && 'bottomRight') ||\r\n (model.xSplit && 'topRight') ||\r\n 'bottomLeft';\r\n\r\n xmlStream.leafNode('pane', {\r\n xSplit: model.xSplit || undefined,\r\n ySplit: model.ySplit || undefined,\r\n topLeftCell,\r\n activePane,\r\n state: 'frozen',\r\n });\r\n xmlStream.leafNode('selection', {\r\n pane: activePane,\r\n activeCell: model.activeCell,\r\n sqref: model.activeCell,\r\n });\r\n break;\r\n case 'split':\r\n if (model.activePane === 'topLeft') {\r\n model.activePane = undefined;\r\n }\r\n xmlStream.leafNode('pane', {\r\n xSplit: model.xSplit || undefined,\r\n ySplit: model.ySplit || undefined,\r\n topLeftCell: model.topLeftCell,\r\n activePane: model.activePane,\r\n });\r\n xmlStream.leafNode('selection', {\r\n pane: model.activePane,\r\n activeCell: model.activeCell,\r\n sqref: model.activeCell,\r\n });\r\n break;\r\n case 'normal':\r\n if (model.activeCell) {\r\n xmlStream.leafNode('selection', {\r\n activeCell: model.activeCell,\r\n sqref: model.activeCell,\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 'sheetView':\r\n this.sheetView = {\r\n workbookViewId: parseInt(node.attributes.workbookViewId, 10),\r\n rightToLeft: node.attributes.rightToLeft === '1',\r\n tabSelected: node.attributes.tabSelected === '1',\r\n showRuler: !(node.attributes.showRuler === '0'),\r\n showRowColHeaders: !(node.attributes.showRowColHeaders === '0'),\r\n showGridLines: !(node.attributes.showGridLines === '0'),\r\n zoomScale: parseInt(node.attributes.zoomScale || '100', 10),\r\n zoomScaleNormal: parseInt(node.attributes.zoomScaleNormal || '100', 10),\r\n style: node.attributes.view,\r\n };\r\n this.pane = undefined;\r\n this.selections = {};\r\n return true;\r\n\r\n case 'pane':\r\n this.pane = {\r\n xSplit: parseInt(node.attributes.xSplit || '0', 10),\r\n ySplit: parseInt(node.attributes.ySplit || '0', 10),\r\n topLeftCell: node.attributes.topLeftCell,\r\n activePane: node.attributes.activePane || 'topLeft',\r\n state: node.attributes.state,\r\n };\r\n return true;\r\n\r\n case 'selection': {\r\n const name = node.attributes.pane || 'topLeft';\r\n this.selections[name] = {\r\n pane: name,\r\n activeCell: node.attributes.activeCell,\r\n };\r\n return true;\r\n }\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n let model;\r\n let selection;\r\n switch (name) {\r\n case 'sheetView':\r\n if (this.sheetView && this.pane) {\r\n model = this.model = {\r\n workbookViewId: this.sheetView.workbookViewId,\r\n rightToLeft: this.sheetView.rightToLeft,\r\n state: VIEW_STATES[this.pane.state] || 'split', // split is default\r\n xSplit: this.pane.xSplit,\r\n ySplit: this.pane.ySplit,\r\n topLeftCell: this.pane.topLeftCell,\r\n showRuler: this.sheetView.showRuler,\r\n showRowColHeaders: this.sheetView.showRowColHeaders,\r\n showGridLines: this.sheetView.showGridLines,\r\n zoomScale: this.sheetView.zoomScale,\r\n zoomScaleNormal: this.sheetView.zoomScaleNormal,\r\n };\r\n if (this.model.state === 'split') {\r\n model.activePane = this.pane.activePane;\r\n }\r\n selection = this.selections[this.pane.activePane];\r\n if (selection && selection.activeCell) {\r\n model.activeCell = selection.activeCell;\r\n }\r\n if (this.sheetView.style) {\r\n model.style = this.sheetView.style;\r\n }\r\n } else {\r\n model = this.model = {\r\n workbookViewId: this.sheetView.workbookViewId,\r\n rightToLeft: this.sheetView.rightToLeft,\r\n state: 'normal',\r\n showRuler: this.sheetView.showRuler,\r\n showRowColHeaders: this.sheetView.showRowColHeaders,\r\n showGridLines: this.sheetView.showGridLines,\r\n zoomScale: this.sheetView.zoomScale,\r\n zoomScaleNormal: this.sheetView.zoomScaleNormal,\r\n };\r\n selection = this.selections.topLeft;\r\n if (selection && selection.activeCell) {\r\n model.activeCell = selection.activeCell;\r\n }\r\n if (this.sheetView.style) {\r\n model.style = this.sheetView.style;\r\n }\r\n }\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n reconcile() {}\r\n}\r\n\r\nmodule.exports = SheetViewXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass TablePartXform extends BaseXform {\r\n get tag() {\r\n return 'tablePart';\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.leafNode(this.tag, {'r:id': model.rId});\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n rId: node.attributes['r:id'],\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = TablePartXform;\r\n","const _ = require('../../../utils/under-dash');\r\n\r\nconst colCache = require('../../../utils/col-cache');\r\nconst XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst RelType = require('../../rel-type');\r\n\r\nconst Merges = require('./merges');\r\n\r\nconst BaseXform = require('../base-xform');\r\nconst ListXform = require('../list-xform');\r\nconst RowXform = require('./row-xform');\r\nconst ColXform = require('./col-xform');\r\nconst DimensionXform = require('./dimension-xform');\r\nconst HyperlinkXform = require('./hyperlink-xform');\r\nconst MergeCellXform = require('./merge-cell-xform');\r\nconst DataValidationsXform = require('./data-validations-xform');\r\nconst SheetPropertiesXform = require('./sheet-properties-xform');\r\nconst SheetFormatPropertiesXform = require('./sheet-format-properties-xform');\r\nconst SheetViewXform = require('./sheet-view-xform');\r\nconst SheetProtectionXform = require('./sheet-protection-xform');\r\nconst PageMarginsXform = require('./page-margins-xform');\r\nconst PageSetupXform = require('./page-setup-xform');\r\nconst PrintOptionsXform = require('./print-options-xform');\r\nconst AutoFilterXform = require('./auto-filter-xform');\r\nconst PictureXform = require('./picture-xform');\r\nconst DrawingXform = require('./drawing-xform');\r\nconst TablePartXform = require('./table-part-xform');\r\nconst RowBreaksXform = require('./row-breaks-xform');\r\nconst HeaderFooterXform = require('./header-footer-xform');\r\nconst ConditionalFormattingsXform = require('./cf/conditional-formattings-xform');\r\nconst ExtListXform = require('./ext-lst-xform');\r\n\r\nconst mergeRule = (rule, extRule) => {\r\n Object.keys(extRule).forEach(key => {\r\n const value = rule[key];\r\n const extValue = extRule[key];\r\n if (value === undefined && extValue !== undefined) {\r\n rule[key] = extValue;\r\n }\r\n });\r\n};\r\n\r\nconst mergeConditionalFormattings = (model, extModel) => {\r\n // conditional formattings are rendered in worksheet.conditionalFormatting and also in\r\n // worksheet.extLst.ext.x14:conditionalFormattings\r\n // some (e.g. dataBar) are even spread across both!\r\n if (!extModel || !extModel.length) {\r\n return model;\r\n }\r\n if (!model || !model.length) {\r\n return extModel;\r\n }\r\n\r\n // index model rules by x14Id\r\n const cfMap = {};\r\n const ruleMap = {};\r\n model.forEach(cf => {\r\n cfMap[cf.ref] = cf;\r\n cf.rules.forEach(rule => {\r\n const {x14Id} = rule;\r\n if (x14Id) {\r\n ruleMap[x14Id] = rule;\r\n }\r\n });\r\n });\r\n\r\n extModel.forEach(extCf => {\r\n extCf.rules.forEach(extRule => {\r\n const rule = ruleMap[extRule.x14Id];\r\n if (rule) {\r\n // merge with matching rule\r\n mergeRule(rule, extRule);\r\n } else if (cfMap[extCf.ref]) {\r\n // reuse existing cf ref\r\n cfMap[extCf.ref].rules.push(extRule);\r\n } else {\r\n // create new cf\r\n model.push({\r\n ref: extCf.ref,\r\n rules: [extRule],\r\n });\r\n }\r\n });\r\n });\r\n\r\n // need to cope with rules in extModel that don't exist in model\r\n return model;\r\n};\r\n\r\nclass WorkSheetXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n const {maxRows, maxCols} = options || {};\r\n this.map = {\r\n sheetPr: new SheetPropertiesXform(),\r\n dimension: new DimensionXform(),\r\n sheetViews: new ListXform({\r\n tag: 'sheetViews',\r\n count: false,\r\n childXform: new SheetViewXform(),\r\n }),\r\n sheetFormatPr: new SheetFormatPropertiesXform(),\r\n cols: new ListXform({tag: 'cols', count: false, childXform: new ColXform()}),\r\n sheetData: new ListXform({\r\n tag: 'sheetData',\r\n count: false,\r\n empty: true,\r\n childXform: new RowXform({maxItems: maxCols}),\r\n maxItems: maxRows,\r\n }),\r\n autoFilter: new AutoFilterXform(),\r\n mergeCells: new ListXform({tag: 'mergeCells', count: true, childXform: new MergeCellXform()}),\r\n rowBreaks: new RowBreaksXform(),\r\n hyperlinks: new ListXform({\r\n tag: 'hyperlinks',\r\n count: false,\r\n childXform: new HyperlinkXform(),\r\n }),\r\n pageMargins: new PageMarginsXform(),\r\n dataValidations: new DataValidationsXform(),\r\n pageSetup: new PageSetupXform(),\r\n headerFooter: new HeaderFooterXform(),\r\n printOptions: new PrintOptionsXform(),\r\n picture: new PictureXform(),\r\n drawing: new DrawingXform(),\r\n sheetProtection: new SheetProtectionXform(),\r\n tableParts: new ListXform({tag: 'tableParts', count: true, childXform: new TablePartXform()}),\r\n conditionalFormatting: new ConditionalFormattingsXform(),\r\n extLst: new ExtListXform(),\r\n };\r\n }\r\n\r\n prepare(model, options) {\r\n options.merges = new Merges();\r\n model.hyperlinks = options.hyperlinks = [];\r\n model.comments = options.comments = [];\r\n\r\n options.formulae = {};\r\n options.siFormulae = 0;\r\n this.map.cols.prepare(model.cols, options);\r\n this.map.sheetData.prepare(model.rows, options);\r\n this.map.conditionalFormatting.prepare(model.conditionalFormattings, options);\r\n\r\n model.mergeCells = options.merges.mergeCells;\r\n\r\n // prepare relationships\r\n const rels = (model.rels = []);\r\n\r\n function nextRid(r) {\r\n return `rId${r.length + 1}`;\r\n }\r\n\r\n model.hyperlinks.forEach(hyperlink => {\r\n const rId = nextRid(rels);\r\n hyperlink.rId = rId;\r\n rels.push({\r\n Id: rId,\r\n Type: RelType.Hyperlink,\r\n Target: hyperlink.target,\r\n TargetMode: 'External',\r\n });\r\n });\r\n\r\n // prepare comment relationships\r\n if (model.comments.length > 0) {\r\n const comment = {\r\n Id: nextRid(rels),\r\n Type: RelType.Comments,\r\n Target: `../comments${model.id}.xml`,\r\n };\r\n rels.push(comment);\r\n const vmlDrawing = {\r\n Id: nextRid(rels),\r\n Type: RelType.VmlDrawing,\r\n Target: `../drawings/vmlDrawing${model.id}.vml`,\r\n };\r\n rels.push(vmlDrawing);\r\n\r\n model.comments.forEach(item => {\r\n item.refAddress = colCache.decodeAddress(item.ref);\r\n });\r\n\r\n options.commentRefs.push({\r\n commentName: `comments${model.id}`,\r\n vmlDrawing: `vmlDrawing${model.id}`,\r\n });\r\n }\r\n\r\n const drawingRelsHash = [];\r\n let bookImage;\r\n model.media.forEach(medium => {\r\n if (medium.type === 'background') {\r\n const rId = nextRid(rels);\r\n bookImage = options.media[medium.imageId];\r\n rels.push({\r\n Id: rId,\r\n Type: RelType.Image,\r\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\r\n });\r\n model.background = {\r\n rId,\r\n };\r\n model.image = options.media[medium.imageId];\r\n } else if (medium.type === 'image') {\r\n let {drawing} = model;\r\n bookImage = options.media[medium.imageId];\r\n if (!drawing) {\r\n drawing = model.drawing = {\r\n rId: nextRid(rels),\r\n name: `drawing${++options.drawingsCount}`,\r\n anchors: [],\r\n rels: [],\r\n };\r\n options.drawings.push(drawing);\r\n rels.push({\r\n Id: drawing.rId,\r\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing',\r\n Target: `../drawings/${drawing.name}.xml`,\r\n });\r\n }\r\n let rIdImage =\r\n this.preImageId === medium.imageId\r\n ? drawingRelsHash[medium.imageId]\r\n : drawingRelsHash[drawing.rels.length];\r\n if (!rIdImage) {\r\n rIdImage = nextRid(drawing.rels);\r\n drawingRelsHash[drawing.rels.length] = rIdImage;\r\n drawing.rels.push({\r\n Id: rIdImage,\r\n Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',\r\n Target: `../media/${bookImage.name}.${bookImage.extension}`,\r\n });\r\n }\r\n\r\n const anchor = {\r\n picture: {\r\n rId: rIdImage,\r\n },\r\n range: medium.range,\r\n };\r\n if (medium.hyperlinks && medium.hyperlinks.hyperlink) {\r\n const rIdHyperLink = nextRid(drawing.rels);\r\n drawingRelsHash[drawing.rels.length] = rIdHyperLink;\r\n anchor.picture.hyperlinks = {\r\n tooltip: medium.hyperlinks.tooltip,\r\n rId: rIdHyperLink,\r\n };\r\n drawing.rels.push({\r\n Id: rIdHyperLink,\r\n Type: RelType.Hyperlink,\r\n Target: medium.hyperlinks.hyperlink,\r\n TargetMode: 'External',\r\n });\r\n }\r\n this.preImageId = medium.imageId;\r\n drawing.anchors.push(anchor);\r\n }\r\n });\r\n\r\n // prepare tables\r\n model.tables.forEach(table => {\r\n // relationships\r\n const rId = nextRid(rels);\r\n table.rId = rId;\r\n rels.push({\r\n Id: rId,\r\n Type: RelType.Table,\r\n Target: `../tables/${table.target}`,\r\n });\r\n\r\n // dynamic styles\r\n table.columns.forEach(column => {\r\n const {style} = column;\r\n if (style) {\r\n column.dxfId = options.styles.addDxfStyle(style);\r\n }\r\n });\r\n });\r\n\r\n // prepare ext items\r\n this.map.extLst.prepare(model, options);\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode('worksheet', WorkSheetXform.WORKSHEET_ATTRIBUTES);\r\n\r\n const sheetFormatPropertiesModel = model.properties\r\n ? {\r\n defaultRowHeight: model.properties.defaultRowHeight,\r\n dyDescent: model.properties.dyDescent,\r\n outlineLevelCol: model.properties.outlineLevelCol,\r\n outlineLevelRow: model.properties.outlineLevelRow,\r\n }\r\n : undefined;\r\n if (model.properties && model.properties.defaultColWidth) {\r\n sheetFormatPropertiesModel.defaultColWidth = model.properties.defaultColWidth;\r\n }\r\n const sheetPropertiesModel = {\r\n outlineProperties: model.properties && model.properties.outlineProperties,\r\n tabColor: model.properties && model.properties.tabColor,\r\n pageSetup:\r\n model.pageSetup && model.pageSetup.fitToPage\r\n ? {\r\n fitToPage: model.pageSetup.fitToPage,\r\n }\r\n : undefined,\r\n };\r\n const pageMarginsModel = model.pageSetup && model.pageSetup.margins;\r\n const printOptionsModel = {\r\n showRowColHeaders: model.pageSetup && model.pageSetup.showRowColHeaders,\r\n showGridLines: model.pageSetup && model.pageSetup.showGridLines,\r\n horizontalCentered: model.pageSetup && model.pageSetup.horizontalCentered,\r\n verticalCentered: model.pageSetup && model.pageSetup.verticalCentered,\r\n };\r\n const sheetProtectionModel = model.sheetProtection;\r\n\r\n this.map.sheetPr.render(xmlStream, sheetPropertiesModel);\r\n this.map.dimension.render(xmlStream, model.dimensions);\r\n this.map.sheetViews.render(xmlStream, model.views);\r\n this.map.sheetFormatPr.render(xmlStream, sheetFormatPropertiesModel);\r\n this.map.cols.render(xmlStream, model.cols);\r\n this.map.sheetData.render(xmlStream, model.rows);\r\n this.map.sheetProtection.render(xmlStream, sheetProtectionModel); // Note: must be after sheetData and before autoFilter\r\n this.map.autoFilter.render(xmlStream, model.autoFilter);\r\n this.map.mergeCells.render(xmlStream, model.mergeCells);\r\n this.map.conditionalFormatting.render(xmlStream, model.conditionalFormattings); // Note: must be before dataValidations\r\n this.map.dataValidations.render(xmlStream, model.dataValidations);\r\n\r\n // For some reason hyperlinks have to be after the data validations\r\n this.map.hyperlinks.render(xmlStream, model.hyperlinks);\r\n\r\n this.map.printOptions.render(xmlStream, printOptionsModel); // Note: must be before pageMargins\r\n this.map.pageMargins.render(xmlStream, pageMarginsModel);\r\n this.map.pageSetup.render(xmlStream, model.pageSetup);\r\n this.map.headerFooter.render(xmlStream, model.headerFooter);\r\n this.map.rowBreaks.render(xmlStream, model.rowBreaks);\r\n this.map.drawing.render(xmlStream, model.drawing); // Note: must be after rowBreaks\r\n this.map.picture.render(xmlStream, model.background); // Note: must be after drawing\r\n this.map.tableParts.render(xmlStream, model.tables);\r\n\r\n this.map.extLst.render(xmlStream, model);\r\n\r\n if (model.rels) {\r\n // add a <legacyDrawing /> node for each comment\r\n model.rels.forEach(rel => {\r\n if (rel.Type === RelType.VmlDrawing) {\r\n xmlStream.leafNode('legacyDrawing', {'r:id': rel.Id});\r\n }\r\n });\r\n }\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n if (node.name === 'worksheet') {\r\n _.each(this.map, xform => {\r\n xform.reset();\r\n });\r\n return true;\r\n }\r\n\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'worksheet': {\r\n const properties = this.map.sheetFormatPr.model || {};\r\n if (this.map.sheetPr.model && this.map.sheetPr.model.tabColor) {\r\n properties.tabColor = this.map.sheetPr.model.tabColor;\r\n }\r\n if (this.map.sheetPr.model && this.map.sheetPr.model.outlineProperties) {\r\n properties.outlineProperties = this.map.sheetPr.model.outlineProperties;\r\n }\r\n const sheetProperties = {\r\n fitToPage:\r\n (this.map.sheetPr.model &&\r\n this.map.sheetPr.model.pageSetup &&\r\n this.map.sheetPr.model.pageSetup.fitToPage) ||\r\n false,\r\n margins: this.map.pageMargins.model,\r\n };\r\n const pageSetup = Object.assign(\r\n sheetProperties,\r\n this.map.pageSetup.model,\r\n this.map.printOptions.model\r\n );\r\n const conditionalFormattings = mergeConditionalFormattings(\r\n this.map.conditionalFormatting.model,\r\n this.map.extLst.model && this.map.extLst.model['x14:conditionalFormattings']\r\n );\r\n this.model = {\r\n dimensions: this.map.dimension.model,\r\n cols: this.map.cols.model,\r\n rows: this.map.sheetData.model,\r\n mergeCells: this.map.mergeCells.model,\r\n hyperlinks: this.map.hyperlinks.model,\r\n dataValidations: this.map.dataValidations.model,\r\n properties,\r\n views: this.map.sheetViews.model,\r\n pageSetup,\r\n headerFooter: this.map.headerFooter.model,\r\n background: this.map.picture.model,\r\n drawing: this.map.drawing.model,\r\n tables: this.map.tableParts.model,\r\n conditionalFormattings,\r\n };\r\n\r\n if (this.map.autoFilter.model) {\r\n this.model.autoFilter = this.map.autoFilter.model;\r\n }\r\n if (this.map.sheetProtection.model) {\r\n this.model.sheetProtection = this.map.sheetProtection.model;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n default:\r\n // not quite sure how we get here!\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n // options.merges = new Merges();\r\n // options.merges.reconcile(model.mergeCells, model.rows);\r\n const rels = (model.relationships || []).reduce((h, rel) => {\r\n h[rel.Id] = rel;\r\n if (rel.Type === RelType.Comments) {\r\n model.comments = options.comments[rel.Target].comments;\r\n }\r\n if (rel.Type === RelType.VmlDrawing && model.comments && model.comments.length) {\r\n const vmlComment = options.vmlDrawings[rel.Target].comments;\r\n model.comments.forEach((comment, index) => {\r\n comment.note = Object.assign({}, comment.note, vmlComment[index]);\r\n });\r\n }\r\n return h;\r\n }, {});\r\n options.commentsMap = (model.comments || []).reduce((h, comment) => {\r\n if (comment.ref) {\r\n h[comment.ref] = comment;\r\n }\r\n return h;\r\n }, {});\r\n options.hyperlinkMap = (model.hyperlinks || []).reduce((h, hyperlink) => {\r\n if (hyperlink.rId) {\r\n h[hyperlink.address] = rels[hyperlink.rId].Target;\r\n }\r\n return h;\r\n }, {});\r\n options.formulae = {};\r\n\r\n // compact the rows and cells\r\n model.rows = (model.rows && model.rows.filter(Boolean)) || [];\r\n model.rows.forEach(row => {\r\n row.cells = (row.cells && row.cells.filter(Boolean)) || [];\r\n });\r\n\r\n this.map.cols.reconcile(model.cols, options);\r\n this.map.sheetData.reconcile(model.rows, options);\r\n this.map.conditionalFormatting.reconcile(model.conditionalFormattings, options);\r\n\r\n model.media = [];\r\n if (model.drawing) {\r\n const drawingRel = rels[model.drawing.rId];\r\n const match = drawingRel.Target.match(/\\/drawings\\/([a-zA-Z0-9]+)[.][a-zA-Z]{3,4}$/);\r\n if (match) {\r\n const drawingName = match[1];\r\n const drawing = options.drawings[drawingName];\r\n drawing.anchors.forEach(anchor => {\r\n if (anchor.medium) {\r\n const image = {\r\n type: 'image',\r\n imageId: anchor.medium.index,\r\n range: anchor.range,\r\n hyperlinks: anchor.picture.hyperlinks,\r\n };\r\n model.media.push(image);\r\n }\r\n });\r\n }\r\n }\r\n\r\n const backgroundRel = model.background && rels[model.background.rId];\r\n if (backgroundRel) {\r\n const target = backgroundRel.Target.split('/media/')[1];\r\n const imageId = options.mediaIndex && options.mediaIndex[target];\r\n if (imageId !== undefined) {\r\n model.media.push({\r\n type: 'background',\r\n imageId,\r\n });\r\n }\r\n }\r\n\r\n model.tables = (model.tables || []).map(tablePart => {\r\n const rel = rels[tablePart.rId];\r\n return options.tables[rel.Target];\r\n });\r\n\r\n delete model.relationships;\r\n delete model.hyperlinks;\r\n delete model.comments;\r\n }\r\n}\r\n\r\nWorkSheetXform.WORKSHEET_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n 'xmlns:r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\r\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\r\n 'mc:Ignorable': 'x14ac',\r\n 'xmlns:x14ac': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac',\r\n};\r\n\r\nmodule.exports = WorkSheetXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass BooleanXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.attr = options.attr;\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.openNode(this.tag);\r\n xmlStream.closeNode();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n this.model = true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = BooleanXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass DateXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.attr = options.attr;\r\n this.attrs = options.attrs;\r\n this._format =\r\n options.format ||\r\n function(dt) {\r\n try {\r\n if (Number.isNaN(dt.getTime())) return '';\r\n return dt.toISOString();\r\n } catch (e) {\r\n return '';\r\n }\r\n };\r\n this._parse =\r\n options.parse ||\r\n function(str) {\r\n return new Date(str);\r\n };\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.openNode(this.tag);\r\n if (this.attrs) {\r\n xmlStream.addAttributes(this.attrs);\r\n }\r\n if (this.attr) {\r\n xmlStream.addAttribute(this.attr, this._format(model));\r\n } else {\r\n xmlStream.writeText(this._format(model));\r\n }\r\n xmlStream.closeNode();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n if (this.attr) {\r\n this.model = this._parse(node.attributes[this.attr]);\r\n } else {\r\n this.text = [];\r\n }\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (!this.attr) {\r\n this.text.push(text);\r\n }\r\n }\r\n\r\n parseClose() {\r\n if (!this.attr) {\r\n this.model = this._parse(this.text.join(''));\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = DateXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass IntegerXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.attr = options.attr;\r\n this.attrs = options.attrs;\r\n\r\n // option to render zero\r\n this.zero = options.zero;\r\n }\r\n\r\n render(xmlStream, model) {\r\n // int is different to float in that zero is not rendered\r\n if (model || this.zero) {\r\n xmlStream.openNode(this.tag);\r\n if (this.attrs) {\r\n xmlStream.addAttributes(this.attrs);\r\n }\r\n if (this.attr) {\r\n xmlStream.addAttribute(this.attr, model);\r\n } else {\r\n xmlStream.writeText(model);\r\n }\r\n xmlStream.closeNode();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n if (this.attr) {\r\n this.model = parseInt(node.attributes[this.attr], 10);\r\n } else {\r\n this.text = [];\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText(text) {\r\n if (!this.attr) {\r\n this.text.push(text);\r\n }\r\n }\r\n\r\n parseClose() {\r\n if (!this.attr) {\r\n this.model = parseInt(this.text.join('') || 0, 10);\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = IntegerXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass StringXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.tag = options.tag;\r\n this.attr = options.attr;\r\n this.attrs = options.attrs;\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model !== undefined) {\r\n xmlStream.openNode(this.tag);\r\n if (this.attrs) {\r\n xmlStream.addAttributes(this.attrs);\r\n }\r\n if (this.attr) {\r\n xmlStream.addAttribute(this.attr, model);\r\n } else {\r\n xmlStream.writeText(model);\r\n }\r\n xmlStream.closeNode();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n if (this.attr) {\r\n this.model = node.attributes[this.attr];\r\n } else {\r\n this.text = [];\r\n }\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (!this.attr) {\r\n this.text.push(text);\r\n }\r\n }\r\n\r\n parseClose() {\r\n if (!this.attr) {\r\n this.model = this.text.join('');\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = StringXform;\r\n","const BaseXform = require('./base-xform');\r\nconst XmlStream = require('../../utils/xml-stream');\r\n\r\n// const model = {\r\n// tag: 'name',\r\n// $: {attr: 'value'},\r\n// c: [\r\n// { tag: 'child' }\r\n// ],\r\n// t: 'some text'\r\n// };\r\n\r\nfunction build(xmlStream, model) {\r\n xmlStream.openNode(model.tag, model.$);\r\n if (model.c) {\r\n model.c.forEach(child => {\r\n build(xmlStream, child);\r\n });\r\n }\r\n if (model.t) {\r\n xmlStream.writeText(model.t);\r\n }\r\n xmlStream.closeNode();\r\n}\r\n\r\nclass StaticXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n\r\n // This class is an optimisation for static (unimportant and unchanging) xml\r\n // It is stateless - apart from its static model and so can be used as a singleton\r\n // Being stateless - it will only track entry to and exit from it's root xml tag during parsing and nothing else\r\n // Known issues:\r\n // since stateless - parseOpen always returns true. Parent xform must know when to start using this xform\r\n // if the root tag is recursive, the parsing will behave unpredictably\r\n this._model = model;\r\n }\r\n\r\n render(xmlStream) {\r\n if (!this._xml) {\r\n const stream = new XmlStream();\r\n build(stream, this._model);\r\n this._xml = stream.xml;\r\n }\r\n xmlStream.writeXml(this._xml);\r\n }\r\n\r\n parseOpen() {\r\n return true;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case this._model.tag:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = StaticXform;\r\n","const TextXform = require('./text-xform');\r\nconst RichTextXform = require('./rich-text-xform');\r\n\r\nconst BaseXform = require('../base-xform');\r\n\r\n// <rPh sb=\"0\" eb=\"1\">\r\n// <t>(its pronounciation in KATAKANA)</t>\r\n// </rPh>\r\n\r\nclass PhoneticTextXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n r: new RichTextXform(),\r\n t: new TextXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'rPh';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {\r\n sb: model.sb || 0,\r\n eb: model.eb || 0,\r\n });\r\n if (model && model.hasOwnProperty('richText') && model.richText) {\r\n const {r} = this.map;\r\n model.richText.forEach(text => {\r\n r.render(xmlStream, text);\r\n });\r\n } else if (model) {\r\n this.map.t.render(xmlStream, model.text);\r\n }\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n const {name} = node;\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n if (name === this.tag) {\r\n this.model = {\r\n sb: parseInt(node.attributes.sb, 10),\r\n eb: parseInt(node.attributes.eb, 10),\r\n };\r\n return true;\r\n }\r\n this.parser = this.map[name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n switch (name) {\r\n case 'r': {\r\n let rt = this.model.richText;\r\n if (!rt) {\r\n rt = this.model.richText = [];\r\n }\r\n rt.push(this.parser.model);\r\n break;\r\n }\r\n case 't':\r\n this.model.text = this.parser.model;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = PhoneticTextXform;\r\n","const TextXform = require('./text-xform');\r\nconst FontXform = require('../style/font-xform');\r\n\r\nconst BaseXform = require('../base-xform');\r\n\r\n// <r>\r\n// <rPr>\r\n// <sz val=\"11\"/>\r\n// <color theme=\"1\" tint=\"5\"/>\r\n// <rFont val=\"Calibri\"/>\r\n// <family val=\"2\"/>\r\n// <scheme val=\"minor\"/>\r\n// </rPr>\r\n// <t xml:space=\"preserve\"> is </t>\r\n// </r>\r\n\r\nclass RichTextXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n\r\n this.model = model;\r\n }\r\n\r\n get tag() {\r\n return 'r';\r\n }\r\n\r\n get textXform() {\r\n return this._textXform || (this._textXform = new TextXform());\r\n }\r\n\r\n get fontXform() {\r\n return this._fontXform || (this._fontXform = new FontXform(RichTextXform.FONT_OPTIONS));\r\n }\r\n\r\n render(xmlStream, model) {\r\n model = model || this.model;\r\n\r\n xmlStream.openNode('r');\r\n if (model.font) {\r\n this.fontXform.render(xmlStream, model.font);\r\n }\r\n this.textXform.render(xmlStream, model.text);\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'r':\r\n this.model = {};\r\n return true;\r\n case 't':\r\n this.parser = this.textXform;\r\n this.parser.parseOpen(node);\r\n return true;\r\n case 'rPr':\r\n this.parser = this.fontXform;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n switch (name) {\r\n case 'r':\r\n return false;\r\n case 't':\r\n this.model.text = this.parser.model;\r\n this.parser = undefined;\r\n return true;\r\n case 'rPr':\r\n this.model.font = this.parser.model;\r\n this.parser = undefined;\r\n return true;\r\n default:\r\n if (this.parser) {\r\n this.parser.parseClose(name);\r\n }\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nRichTextXform.FONT_OPTIONS = {\r\n tagName: 'rPr',\r\n fontNameTag: 'rFont',\r\n};\r\n\r\nmodule.exports = RichTextXform;\r\n","const TextXform = require('./text-xform');\r\nconst RichTextXform = require('./rich-text-xform');\r\nconst PhoneticTextXform = require('./phonetic-text-xform');\r\n\r\nconst BaseXform = require('../base-xform');\r\n\r\n// <si>\r\n// <r></r><r></r>...\r\n// </si>\r\n// <si>\r\n// <t></t>\r\n// </si>\r\n\r\nclass SharedStringXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n\r\n this.model = model;\r\n\r\n this.map = {\r\n r: new RichTextXform(),\r\n t: new TextXform(),\r\n rPh: new PhoneticTextXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'si';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n if (model && model.hasOwnProperty('richText') && model.richText) {\r\n if (model.richText.length) {\r\n model.richText.forEach(text => {\r\n this.map.r.render(xmlStream, text);\r\n });\r\n } else {\r\n this.map.t.render(xmlStream, '');\r\n }\r\n } else if (model !== undefined && model !== null) {\r\n this.map.t.render(xmlStream, model);\r\n }\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n const {name} = node;\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n if (name === this.tag) {\r\n this.model = {};\r\n return true;\r\n }\r\n this.parser = this.map[name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n switch (name) {\r\n case 'r': {\r\n let rt = this.model.richText;\r\n if (!rt) {\r\n rt = this.model.richText = [];\r\n }\r\n rt.push(this.parser.model);\r\n break;\r\n }\r\n case 't':\r\n this.model = this.parser.model;\r\n break;\r\n default:\r\n break;\r\n }\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = SharedStringXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\nconst BaseXform = require('../base-xform');\r\nconst SharedStringXform = require('./shared-string-xform');\r\n\r\nclass SharedStringsXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n\r\n this.model = model || {\r\n values: [],\r\n count: 0,\r\n };\r\n this.hash = Object.create(null);\r\n this.rich = Object.create(null);\r\n }\r\n\r\n get sharedStringXform() {\r\n return this._sharedStringXform || (this._sharedStringXform = new SharedStringXform());\r\n }\r\n\r\n get values() {\r\n return this.model.values;\r\n }\r\n\r\n get uniqueCount() {\r\n return this.model.values.length;\r\n }\r\n\r\n get count() {\r\n return this.model.count;\r\n }\r\n\r\n getString(index) {\r\n return this.model.values[index];\r\n }\r\n\r\n add(value) {\r\n return value.richText ? this.addRichText(value) : this.addText(value);\r\n }\r\n\r\n addText(value) {\r\n let index = this.hash[value];\r\n if (index === undefined) {\r\n index = this.hash[value] = this.model.values.length;\r\n this.model.values.push(value);\r\n }\r\n this.model.count++;\r\n return index;\r\n }\r\n\r\n addRichText(value) {\r\n // TODO: add WeakMap here\r\n const xml = this.sharedStringXform.toXml(value);\r\n let index = this.rich[xml];\r\n if (index === undefined) {\r\n index = this.rich[xml] = this.model.values.length;\r\n this.model.values.push(value);\r\n }\r\n this.model.count++;\r\n return index;\r\n }\r\n\r\n // <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n // <sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"<%=totalRefs%>\" uniqueCount=\"<%=count%>\">\r\n // <si><t><%=text%></t></si>\r\n // <si><r><rPr></rPr><t></t></r></si>\r\n // </sst>\r\n\r\n render(xmlStream, model) {\r\n model = model || this._values;\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n\r\n xmlStream.openNode('sst', {\r\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n count: model.count,\r\n uniqueCount: model.values.length,\r\n });\r\n\r\n const sx = this.sharedStringXform;\r\n model.values.forEach(sharedString => {\r\n sx.render(xmlStream, sharedString);\r\n });\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'sst':\r\n return true;\r\n case 'si':\r\n this.parser = this.sharedStringXform;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.values.push(this.parser.model);\r\n this.model.count++;\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'sst':\r\n return false;\r\n default:\r\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = SharedStringsXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\n// <t xml:space=\"preserve\"> is </t>\r\n\r\nclass TextXform extends BaseXform {\r\n get tag() {\r\n return 't';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('t');\r\n if (/^\\s|\\n|\\s$/.test(model)) {\r\n xmlStream.addAttribute('xml:space', 'preserve');\r\n }\r\n xmlStream.writeText(model);\r\n xmlStream.closeNode();\r\n }\r\n\r\n get model() {\r\n return this._text\r\n .join('')\r\n .replace(/_x([0-9A-F]{4})_/g, ($0, $1) => String.fromCharCode(parseInt($1, 16)));\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 't':\r\n this._text = [];\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n this._text.push(text);\r\n }\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = TextXform;\r\n","const Enums = require('../../../doc/enums');\r\n\r\nconst utils = require('../../../utils/utils');\r\nconst BaseXform = require('../base-xform');\r\n\r\nconst validation = {\r\n horizontalValues: [\r\n 'left',\r\n 'center',\r\n 'right',\r\n 'fill',\r\n 'centerContinuous',\r\n 'distributed',\r\n 'justify',\r\n ].reduce((p, v) => {\r\n p[v] = true;\r\n return p;\r\n }, {}),\r\n horizontal(value) {\r\n return this.horizontalValues[value] ? value : undefined;\r\n },\r\n\r\n verticalValues: ['top', 'middle', 'bottom', 'distributed', 'justify'].reduce((p, v) => {\r\n p[v] = true;\r\n return p;\r\n }, {}),\r\n vertical(value) {\r\n if (value === 'middle') return 'center';\r\n return this.verticalValues[value] ? value : undefined;\r\n },\r\n wrapText(value) {\r\n return value ? true : undefined;\r\n },\r\n shrinkToFit(value) {\r\n return value ? true : undefined;\r\n },\r\n textRotation(value) {\r\n switch (value) {\r\n case 'vertical':\r\n return value;\r\n default:\r\n value = utils.validInt(value);\r\n return value >= -90 && value <= 90 ? value : undefined;\r\n }\r\n },\r\n indent(value) {\r\n value = utils.validInt(value);\r\n return Math.max(0, value);\r\n },\r\n readingOrder(value) {\r\n switch (value) {\r\n case 'ltr':\r\n return Enums.ReadingOrder.LeftToRight;\r\n case 'rtl':\r\n return Enums.ReadingOrder.RightToLeft;\r\n default:\r\n return undefined;\r\n }\r\n },\r\n};\r\n\r\nconst textRotationXform = {\r\n toXml(textRotation) {\r\n textRotation = validation.textRotation(textRotation);\r\n if (textRotation) {\r\n if (textRotation === 'vertical') {\r\n return 255;\r\n }\r\n\r\n const tr = Math.round(textRotation);\r\n if (tr >= 0 && tr <= 90) {\r\n return tr;\r\n }\r\n\r\n if (tr < 0 && tr >= -90) {\r\n return 90 - tr;\r\n }\r\n }\r\n return undefined;\r\n },\r\n toModel(textRotation) {\r\n const tr = utils.validInt(textRotation);\r\n if (tr !== undefined) {\r\n if (tr === 255) {\r\n return 'vertical';\r\n }\r\n if (tr >= 0 && tr <= 90) {\r\n return tr;\r\n }\r\n if (tr > 90 && tr <= 180) {\r\n return 90 - tr;\r\n }\r\n }\r\n return undefined;\r\n },\r\n};\r\n\r\n// Alignment encapsulates translation from style.alignment model to/from xlsx\r\nclass AlignmentXform extends BaseXform {\r\n get tag() {\r\n return 'alignment';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.addRollback();\r\n xmlStream.openNode('alignment');\r\n\r\n let isValid = false;\r\n function add(name, value) {\r\n if (value) {\r\n xmlStream.addAttribute(name, value);\r\n isValid = true;\r\n }\r\n }\r\n add('horizontal', validation.horizontal(model.horizontal));\r\n add('vertical', validation.vertical(model.vertical));\r\n add('wrapText', validation.wrapText(model.wrapText) ? '1' : false);\r\n add('shrinkToFit', validation.shrinkToFit(model.shrinkToFit) ? '1' : false);\r\n add('indent', validation.indent(model.indent));\r\n add('textRotation', textRotationXform.toXml(model.textRotation));\r\n add('readingOrder', validation.readingOrder(model.readingOrder));\r\n\r\n xmlStream.closeNode();\r\n\r\n if (isValid) {\r\n xmlStream.commit();\r\n } else {\r\n xmlStream.rollback();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n const model = {};\r\n\r\n let valid = false;\r\n function add(truthy, name, value) {\r\n if (truthy) {\r\n model[name] = value;\r\n valid = true;\r\n }\r\n }\r\n add(node.attributes.horizontal, 'horizontal', node.attributes.horizontal);\r\n add(\r\n node.attributes.vertical,\r\n 'vertical',\r\n node.attributes.vertical === 'center' ? 'middle' : node.attributes.vertical\r\n );\r\n add(node.attributes.wrapText, 'wrapText', !!node.attributes.wrapText);\r\n add(node.attributes.shrinkToFit, 'shrinkToFit', !!node.attributes.shrinkToFit);\r\n add(node.attributes.indent, 'indent', parseInt(node.attributes.indent, 10));\r\n add(\r\n node.attributes.textRotation,\r\n 'textRotation',\r\n textRotationXform.toModel(node.attributes.textRotation)\r\n );\r\n add(\r\n node.attributes.readingOrder,\r\n 'readingOrder',\r\n node.attributes.readingOrder === '2' ? 'rtl' : 'ltr'\r\n );\r\n\r\n this.model = valid ? model : null;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = AlignmentXform;\r\n","/* eslint-disable max-classes-per-file */\r\nconst BaseXform = require('../base-xform');\r\n\r\nconst ColorXform = require('./color-xform');\r\n\r\nclass EdgeXform extends BaseXform {\r\n constructor(name) {\r\n super();\r\n\r\n this.name = name;\r\n this.map = {\r\n color: new ColorXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return this.name;\r\n }\r\n\r\n render(xmlStream, model, defaultColor) {\r\n const color = (model && model.color) || defaultColor || this.defaultColor;\r\n xmlStream.openNode(this.name);\r\n if (model && model.style) {\r\n xmlStream.addAttribute('style', model.style);\r\n if (color) {\r\n this.map.color.render(xmlStream, color);\r\n }\r\n }\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.name: {\r\n const {style} = node.attributes;\r\n if (style) {\r\n this.model = {\r\n style,\r\n };\r\n } else {\r\n this.model = undefined;\r\n }\r\n return true;\r\n }\r\n case 'color':\r\n this.parser = this.map.color;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n\r\n if (name === this.name) {\r\n if (this.map.color.model) {\r\n if (!this.model) {\r\n this.model = {};\r\n }\r\n this.model.color = this.map.color.model;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n validStyle(value) {\r\n return EdgeXform.validStyleValues[value];\r\n }\r\n}\r\n\r\nEdgeXform.validStyleValues = [\r\n 'thin',\r\n 'dotted',\r\n 'dashDot',\r\n 'hair',\r\n 'dashDotDot',\r\n 'slantDashDot',\r\n 'mediumDashed',\r\n 'mediumDashDotDot',\r\n 'mediumDashDot',\r\n 'medium',\r\n 'double',\r\n 'thick',\r\n].reduce((p, v) => {\r\n p[v] = true;\r\n return p;\r\n}, {});\r\n\r\n// Border encapsulates translation from border model to/from xlsx\r\nclass BorderXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n top: new EdgeXform('top'),\r\n left: new EdgeXform('left'),\r\n bottom: new EdgeXform('bottom'),\r\n right: new EdgeXform('right'),\r\n diagonal: new EdgeXform('diagonal'),\r\n };\r\n }\r\n\r\n render(xmlStream, model) {\r\n const {color} = model;\r\n xmlStream.openNode('border');\r\n if (model.diagonal && model.diagonal.style) {\r\n if (model.diagonal.up) {\r\n xmlStream.addAttribute('diagonalUp', '1');\r\n }\r\n if (model.diagonal.down) {\r\n xmlStream.addAttribute('diagonalDown', '1');\r\n }\r\n }\r\n function add(edgeModel, edgeXform) {\r\n if (edgeModel && !edgeModel.color && model.color) {\r\n // don't mess with incoming models\r\n edgeModel = {\r\n ...edgeModel,\r\n color: model.color,\r\n };\r\n }\r\n edgeXform.render(xmlStream, edgeModel, color);\r\n }\r\n add(model.left, this.map.left);\r\n add(model.right, this.map.right);\r\n add(model.top, this.map.top);\r\n add(model.bottom, this.map.bottom);\r\n add(model.diagonal, this.map.diagonal);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'border':\r\n this.reset();\r\n this.diagonalUp = !!node.attributes.diagonalUp;\r\n this.diagonalDown = !!node.attributes.diagonalDown;\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n if (name === 'border') {\r\n const model = (this.model = {});\r\n const add = function(key, edgeModel, extensions) {\r\n if (edgeModel) {\r\n if (extensions) {\r\n Object.assign(edgeModel, extensions);\r\n }\r\n model[key] = edgeModel;\r\n }\r\n };\r\n add('left', this.map.left.model);\r\n add('right', this.map.right.model);\r\n add('top', this.map.top.model);\r\n add('bottom', this.map.bottom.model);\r\n add('diagonal', this.map.diagonal.model, {up: this.diagonalUp, down: this.diagonalDown});\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = BorderXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\n// Color encapsulates translation from color model to/from xlsx\r\nclass ColorXform extends BaseXform {\r\n constructor(name) {\r\n super();\r\n\r\n // this.name controls the xm node name\r\n this.name = name || 'color';\r\n }\r\n\r\n get tag() {\r\n return this.name;\r\n }\r\n\r\n render(xmlStream, model) {\r\n if (model) {\r\n xmlStream.openNode(this.name);\r\n if (model.argb) {\r\n xmlStream.addAttribute('rgb', model.argb);\r\n } else if (model.theme !== undefined) {\r\n xmlStream.addAttribute('theme', model.theme);\r\n if (model.tint !== undefined) {\r\n xmlStream.addAttribute('tint', model.tint);\r\n }\r\n } else if (model.indexed !== undefined) {\r\n xmlStream.addAttribute('indexed', model.indexed);\r\n } else {\r\n xmlStream.addAttribute('auto', '1');\r\n }\r\n xmlStream.closeNode();\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.name) {\r\n if (node.attributes.rgb) {\r\n this.model = {argb: node.attributes.rgb};\r\n } else if (node.attributes.theme) {\r\n this.model = {theme: parseInt(node.attributes.theme, 10)};\r\n if (node.attributes.tint) {\r\n this.model.tint = parseFloat(node.attributes.tint);\r\n }\r\n } else if (node.attributes.indexed) {\r\n this.model = {indexed: parseInt(node.attributes.indexed, 10)};\r\n } else {\r\n this.model = undefined;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = ColorXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst AlignmentXform = require('./alignment-xform');\r\nconst BorderXform = require('./border-xform');\r\nconst FillXform = require('./fill-xform');\r\nconst FontXform = require('./font-xform');\r\nconst NumFmtXform = require('./numfmt-xform');\r\nconst ProtectionXform = require('./protection-xform');\r\n\r\n// <xf numFmtId=\"[numFmtId]\" fontId=\"[fontId]\" fillId=\"[fillId]\" borderId=\"[xf.borderId]\" xfId=\"[xfId]\">\r\n// Optional <alignment>\r\n// Optional <protection>\r\n// </xf>\r\n\r\n// Style assists translation from style model to/from xlsx\r\nclass DxfXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n alignment: new AlignmentXform(),\r\n border: new BorderXform(),\r\n fill: new FillXform(),\r\n font: new FontXform(),\r\n numFmt: new NumFmtXform(),\r\n protection: new ProtectionXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'dxf';\r\n }\r\n\r\n // how do we generate dxfid?\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag);\r\n\r\n if (model.font) {\r\n this.map.font.render(xmlStream, model.font);\r\n }\r\n if (model.numFmt) {\r\n this.map.numFmt.render(xmlStream, model.numFmt);\r\n }\r\n if (model.fill) {\r\n this.map.fill.render(xmlStream, model.fill);\r\n }\r\n if (model.alignment) {\r\n this.map.alignment.render(xmlStream, model.alignment);\r\n }\r\n if (model.border) {\r\n this.map.border.render(xmlStream, model.border);\r\n }\r\n if (model.protection) {\r\n this.map.protection.render(xmlStream, model.protection);\r\n }\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n\r\n switch (node.name) {\r\n case this.tag:\r\n // this node is often repeated. Need to reset children\r\n this.reset();\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n if (name === this.tag) {\r\n this.model = {\r\n alignment: this.map.alignment.model,\r\n border: this.map.border.model,\r\n fill: this.map.fill.model,\r\n font: this.map.font.model,\r\n numFmt: this.map.numFmt.model,\r\n protection: this.map.protection.model,\r\n };\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\nmodule.exports = DxfXform;\r\n","/* eslint-disable max-classes-per-file */\r\nconst BaseXform = require('../base-xform');\r\n\r\nconst ColorXform = require('./color-xform');\r\n\r\nclass StopXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n color: new ColorXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'stop';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('stop');\r\n xmlStream.addAttribute('position', model.position);\r\n this.map.color.render(xmlStream, model.color);\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'stop':\r\n this.model = {\r\n position: parseFloat(node.attributes.position),\r\n };\r\n return true;\r\n case 'color':\r\n this.parser = this.map.color;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.color = this.parser.model;\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nclass PatternFillXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n fgColor: new ColorXform('fgColor'),\r\n bgColor: new ColorXform('bgColor'),\r\n };\r\n }\r\n\r\n get name() {\r\n return 'pattern';\r\n }\r\n\r\n get tag() {\r\n return 'patternFill';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('patternFill');\r\n xmlStream.addAttribute('patternType', model.pattern);\r\n if (model.fgColor) {\r\n this.map.fgColor.render(xmlStream, model.fgColor);\r\n }\r\n if (model.bgColor) {\r\n this.map.bgColor.render(xmlStream, model.bgColor);\r\n }\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'patternFill':\r\n this.model = {\r\n type: 'pattern',\r\n pattern: node.attributes.patternType,\r\n };\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n if (this.parser.model) {\r\n this.model[name] = this.parser.model;\r\n }\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nclass GradientFillXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n stop: new StopXform(),\r\n };\r\n // if (model) {\r\n // this.gradient = model.gradient;\r\n // if (model.center) {\r\n // this.center = model.center;\r\n // }\r\n // if (model.degree !== undefined) {\r\n // this.degree = model.degree;\r\n // }\r\n // this.stops = model.stops.map(function(stop) { return new StopXform(stop); });\r\n // } else {\r\n // this.stops = [];\r\n // }\r\n }\r\n\r\n get name() {\r\n return 'gradient';\r\n }\r\n\r\n get tag() {\r\n return 'gradientFill';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('gradientFill');\r\n switch (model.gradient) {\r\n case 'angle':\r\n xmlStream.addAttribute('degree', model.degree);\r\n break;\r\n case 'path':\r\n xmlStream.addAttribute('type', 'path');\r\n if (model.center.left) {\r\n xmlStream.addAttribute('left', model.center.left);\r\n if (model.center.right === undefined) {\r\n xmlStream.addAttribute('right', model.center.left);\r\n }\r\n }\r\n if (model.center.right) {\r\n xmlStream.addAttribute('right', model.center.right);\r\n }\r\n if (model.center.top) {\r\n xmlStream.addAttribute('top', model.center.top);\r\n if (model.center.bottom === undefined) {\r\n xmlStream.addAttribute('bottom', model.center.top);\r\n }\r\n }\r\n if (model.center.bottom) {\r\n xmlStream.addAttribute('bottom', model.center.bottom);\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n const stopXform = this.map.stop;\r\n model.stops.forEach(stopModel => {\r\n stopXform.render(xmlStream, stopModel);\r\n });\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'gradientFill': {\r\n const model = (this.model = {\r\n stops: [],\r\n });\r\n if (node.attributes.degree) {\r\n model.gradient = 'angle';\r\n model.degree = parseInt(node.attributes.degree, 10);\r\n } else if (node.attributes.type === 'path') {\r\n model.gradient = 'path';\r\n model.center = {\r\n left: node.attributes.left ? parseFloat(node.attributes.left) : 0,\r\n top: node.attributes.top ? parseFloat(node.attributes.top) : 0,\r\n };\r\n if (node.attributes.right !== node.attributes.left) {\r\n model.center.right = node.attributes.right ? parseFloat(node.attributes.right) : 0;\r\n }\r\n if (node.attributes.bottom !== node.attributes.top) {\r\n model.center.bottom = node.attributes.bottom ? parseFloat(node.attributes.bottom) : 0;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n case 'stop':\r\n this.parser = this.map.stop;\r\n this.parser.parseOpen(node);\r\n return true;\r\n\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.stops.push(this.parser.model);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n// Fill encapsulates translation from fill model to/from xlsx\r\nclass FillXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n patternFill: new PatternFillXform(),\r\n gradientFill: new GradientFillXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'fill';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.addRollback();\r\n xmlStream.openNode('fill');\r\n switch (model.type) {\r\n case 'pattern':\r\n this.map.patternFill.render(xmlStream, model);\r\n break;\r\n case 'gradient':\r\n this.map.gradientFill.render(xmlStream, model);\r\n break;\r\n default:\r\n xmlStream.rollback();\r\n return;\r\n }\r\n xmlStream.closeNode();\r\n xmlStream.commit();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'fill':\r\n this.model = {};\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model = this.parser.model;\r\n this.model.type = this.parser.name;\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n validStyle(value) {\r\n return FillXform.validPatternValues[value];\r\n }\r\n}\r\n\r\nFillXform.validPatternValues = [\r\n 'none',\r\n 'solid',\r\n 'darkVertical',\r\n 'darkGray',\r\n 'mediumGray',\r\n 'lightGray',\r\n 'gray125',\r\n 'gray0625',\r\n 'darkHorizontal',\r\n 'darkVertical',\r\n 'darkDown',\r\n 'darkUp',\r\n 'darkGrid',\r\n 'darkTrellis',\r\n 'lightHorizontal',\r\n 'lightVertical',\r\n 'lightDown',\r\n 'lightUp',\r\n 'lightGrid',\r\n 'lightTrellis',\r\n 'lightGrid',\r\n].reduce((p, v) => {\r\n p[v] = true;\r\n return p;\r\n}, {});\r\n\r\nFillXform.StopXform = StopXform;\r\nFillXform.PatternFillXform = PatternFillXform;\r\nFillXform.GradientFillXform = GradientFillXform;\r\n\r\nmodule.exports = FillXform;\r\n","'use strict';\r\n\r\nconst ColorXform = require('./color-xform');\r\nconst BooleanXform = require('../simple/boolean-xform');\r\nconst IntegerXform = require('../simple/integer-xform');\r\nconst StringXform = require('../simple/string-xform');\r\nconst UnderlineXform = require('./underline-xform');\r\n\r\nconst _ = require('../../../utils/under-dash');\r\nconst BaseXform = require('../base-xform');\r\n\r\n// Font encapsulates translation from font model to xlsx\r\nclass FontXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.options = options || FontXform.OPTIONS;\r\n\r\n this.map = {\r\n b: {prop: 'bold', xform: new BooleanXform({tag: 'b', attr: 'val'})},\r\n i: {prop: 'italic', xform: new BooleanXform({tag: 'i', attr: 'val'})},\r\n u: {prop: 'underline', xform: new UnderlineXform()},\r\n charset: {prop: 'charset', xform: new IntegerXform({tag: 'charset', attr: 'val'})},\r\n color: {prop: 'color', xform: new ColorXform()},\r\n condense: {prop: 'condense', xform: new BooleanXform({tag: 'condense', attr: 'val'})},\r\n extend: {prop: 'extend', xform: new BooleanXform({tag: 'extend', attr: 'val'})},\r\n family: {prop: 'family', xform: new IntegerXform({tag: 'family', attr: 'val'})},\r\n outline: {prop: 'outline', xform: new BooleanXform({tag: 'outline', attr: 'val'})},\r\n vertAlign: {prop: 'vertAlign', xform: new StringXform({tag: 'vertAlign', attr: 'val'})},\r\n scheme: {prop: 'scheme', xform: new StringXform({tag: 'scheme', attr: 'val'})},\r\n shadow: {prop: 'shadow', xform: new BooleanXform({tag: 'shadow', attr: 'val'})},\r\n strike: {prop: 'strike', xform: new BooleanXform({tag: 'strike', attr: 'val'})},\r\n sz: {prop: 'size', xform: new IntegerXform({tag: 'sz', attr: 'val'})},\r\n };\r\n this.map[this.options.fontNameTag] = {\r\n prop: 'name',\r\n xform: new StringXform({tag: this.options.fontNameTag, attr: 'val'}),\r\n };\r\n }\r\n\r\n get tag() {\r\n return this.options.tagName;\r\n }\r\n\r\n render(xmlStream, model) {\r\n const {map} = this;\r\n\r\n xmlStream.openNode(this.options.tagName);\r\n _.each(this.map, (defn, tag) => {\r\n map[tag].xform.render(xmlStream, model[defn.prop]);\r\n });\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n if (this.map[node.name]) {\r\n this.parser = this.map[node.name].xform;\r\n return this.parser.parseOpen(node);\r\n }\r\n switch (node.name) {\r\n case this.options.tagName:\r\n this.model = {};\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser && !this.parser.parseClose(name)) {\r\n const item = this.map[name];\r\n if (this.parser.model) {\r\n this.model[item.prop] = this.parser.model;\r\n }\r\n this.parser = undefined;\r\n return true;\r\n }\r\n switch (name) {\r\n case this.options.tagName:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nFontXform.OPTIONS = {\r\n tagName: 'font',\r\n fontNameTag: 'name',\r\n};\r\n\r\nmodule.exports = FontXform;\r\n","const _ = require('../../../utils/under-dash');\r\nconst defaultNumFormats = require('../../defaultnumformats');\r\n\r\nconst BaseXform = require('../base-xform');\r\n\r\nfunction hashDefaultFormats() {\r\n const hash = {};\r\n _.each(defaultNumFormats, (dnf, id) => {\r\n if (dnf.f) {\r\n hash[dnf.f] = parseInt(id, 10);\r\n }\r\n // at some point, add the other cultures here...\r\n });\r\n return hash;\r\n}\r\nconst defaultFmtHash = hashDefaultFormats();\r\n\r\n// NumFmt encapsulates translation between number format and xlsx\r\nclass NumFmtXform extends BaseXform {\r\n constructor(id, formatCode) {\r\n super();\r\n\r\n this.id = id;\r\n this.formatCode = formatCode;\r\n }\r\n\r\n get tag() {\r\n return 'numFmt';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode('numFmt', {numFmtId: model.id, formatCode: model.formatCode});\r\n }\r\n\r\n parseOpen(node) {\r\n switch (node.name) {\r\n case 'numFmt':\r\n this.model = {\r\n id: parseInt(node.attributes.numFmtId, 10),\r\n formatCode: node.attributes.formatCode.replace(/[\\\\](.)/g, '$1'),\r\n };\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nNumFmtXform.getDefaultFmtId = function getDefaultFmtId(formatCode) {\r\n return defaultFmtHash[formatCode];\r\n};\r\n\r\nNumFmtXform.getDefaultFmtCode = function getDefaultFmtCode(numFmtId) {\r\n return defaultNumFormats[numFmtId] && defaultNumFormats[numFmtId].f;\r\n};\r\n\r\nmodule.exports = NumFmtXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst validation = {\r\n boolean(value, dflt) {\r\n if (value === undefined) {\r\n return dflt;\r\n }\r\n return value;\r\n },\r\n};\r\n\r\n// Protection encapsulates translation from style.protection model to/from xlsx\r\nclass ProtectionXform extends BaseXform {\r\n get tag() {\r\n return 'protection';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.addRollback();\r\n xmlStream.openNode('protection');\r\n\r\n let isValid = false;\r\n function add(name, value) {\r\n if (value !== undefined) {\r\n xmlStream.addAttribute(name, value);\r\n isValid = true;\r\n }\r\n }\r\n add('locked', validation.boolean(model.locked, true) ? undefined : '0');\r\n add('hidden', validation.boolean(model.hidden, false) ? '1' : undefined);\r\n\r\n xmlStream.closeNode();\r\n\r\n if (isValid) {\r\n xmlStream.commit();\r\n } else {\r\n xmlStream.rollback();\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n const model = {\r\n locked: !(node.attributes.locked === '0'),\r\n hidden: node.attributes.hidden === '1',\r\n };\r\n\r\n // only want to record models that differ from defaults\r\n const isSignificant = !model.locked || model.hidden;\r\n\r\n this.model = isSignificant ? model : null;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = ProtectionXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst AlignmentXform = require('./alignment-xform');\r\nconst ProtectionXform = require('./protection-xform');\r\n\r\n// <xf numFmtId=\"[numFmtId]\" fontId=\"[fontId]\" fillId=\"[fillId]\" borderId=\"[xf.borderId]\" xfId=\"[xfId]\">\r\n// Optional <alignment>\r\n// Optional <protection>\r\n// </xf>\r\n\r\n// Style assists translation from style model to/from xlsx\r\nclass StyleXform extends BaseXform {\r\n constructor(options) {\r\n super();\r\n\r\n this.xfId = !!(options && options.xfId);\r\n this.map = {\r\n alignment: new AlignmentXform(),\r\n protection: new ProtectionXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'xf';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode('xf', {\r\n numFmtId: model.numFmtId || 0,\r\n fontId: model.fontId || 0,\r\n fillId: model.fillId || 0,\r\n borderId: model.borderId || 0,\r\n });\r\n if (this.xfId) {\r\n xmlStream.addAttribute('xfId', model.xfId || 0);\r\n }\r\n\r\n if (model.numFmtId) {\r\n xmlStream.addAttribute('applyNumberFormat', '1');\r\n }\r\n if (model.fontId) {\r\n xmlStream.addAttribute('applyFont', '1');\r\n }\r\n if (model.fillId) {\r\n xmlStream.addAttribute('applyFill', '1');\r\n }\r\n if (model.borderId) {\r\n xmlStream.addAttribute('applyBorder', '1');\r\n }\r\n if (model.alignment) {\r\n xmlStream.addAttribute('applyAlignment', '1');\r\n }\r\n if (model.protection) {\r\n xmlStream.addAttribute('applyProtection', '1');\r\n }\r\n\r\n /**\r\n * Rendering tags causes close of XML stream.\r\n * Therefore adding attributes must be done before rendering tags.\r\n */\r\n\r\n if (model.alignment) {\r\n this.map.alignment.render(xmlStream, model.alignment);\r\n }\r\n if (model.protection) {\r\n this.map.protection.render(xmlStream, model.protection);\r\n }\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n // used during sax parsing of xml to build font object\r\n switch (node.name) {\r\n case 'xf':\r\n this.model = {\r\n numFmtId: parseInt(node.attributes.numFmtId, 10),\r\n fontId: parseInt(node.attributes.fontId, 10),\r\n fillId: parseInt(node.attributes.fillId, 10),\r\n borderId: parseInt(node.attributes.borderId, 10),\r\n };\r\n if (this.xfId) {\r\n this.model.xfId = parseInt(node.attributes.xfId, 10);\r\n }\r\n return true;\r\n case 'alignment':\r\n this.parser = this.map.alignment;\r\n this.parser.parseOpen(node);\r\n return true;\r\n case 'protection':\r\n this.parser = this.map.protection;\r\n this.parser.parseOpen(node);\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n if (this.map.protection === this.parser) {\r\n this.model.protection = this.parser.model;\r\n } else {\r\n this.model.alignment = this.parser.model;\r\n }\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n return name !== 'xf';\r\n }\r\n}\r\n\r\nmodule.exports = StyleXform;\r\n","/* eslint-disable max-classes-per-file */\r\nconst Enums = require('../../../doc/enums');\r\nconst XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst BaseXform = require('../base-xform');\r\nconst StaticXform = require('../static-xform');\r\nconst ListXform = require('../list-xform');\r\nconst FontXform = require('./font-xform');\r\nconst FillXform = require('./fill-xform');\r\nconst BorderXform = require('./border-xform');\r\nconst NumFmtXform = require('./numfmt-xform');\r\nconst StyleXform = require('./style-xform');\r\nconst DxfXform = require('./dxf-xform');\r\n\r\n// custom numfmt ids start here\r\nconst NUMFMT_BASE = 164;\r\n\r\n// =============================================================================\r\n// StylesXform is used to generate and parse the styles.xml file\r\n// it manages the collections of fonts, number formats, alignments, etc\r\nclass StylesXform extends BaseXform {\r\n constructor(initialise) {\r\n super();\r\n\r\n this.map = {\r\n numFmts: new ListXform({tag: 'numFmts', count: true, childXform: new NumFmtXform()}),\r\n fonts: new ListXform({\r\n tag: 'fonts',\r\n count: true,\r\n childXform: new FontXform(),\r\n $: {'x14ac:knownFonts': 1},\r\n }),\r\n fills: new ListXform({tag: 'fills', count: true, childXform: new FillXform()}),\r\n borders: new ListXform({tag: 'borders', count: true, childXform: new BorderXform()}),\r\n cellStyleXfs: new ListXform({tag: 'cellStyleXfs', count: true, childXform: new StyleXform()}),\r\n cellXfs: new ListXform({\r\n tag: 'cellXfs',\r\n count: true,\r\n childXform: new StyleXform({xfId: true}),\r\n }),\r\n dxfs: new ListXform({tag: 'dxfs', always: true, count: true, childXform: new DxfXform()}),\r\n\r\n // for style manager\r\n numFmt: new NumFmtXform(),\r\n font: new FontXform(),\r\n fill: new FillXform(),\r\n border: new BorderXform(),\r\n style: new StyleXform({xfId: true}),\r\n\r\n cellStyles: StylesXform.STATIC_XFORMS.cellStyles,\r\n tableStyles: StylesXform.STATIC_XFORMS.tableStyles,\r\n extLst: StylesXform.STATIC_XFORMS.extLst,\r\n };\r\n\r\n if (initialise) {\r\n // StylesXform also acts as style manager and is used to build up styles-model during worksheet processing\r\n this.init();\r\n }\r\n }\r\n\r\n initIndex() {\r\n this.index = {\r\n style: {},\r\n numFmt: {},\r\n numFmtNextId: 164, // start custom format ids here\r\n font: {},\r\n border: {},\r\n fill: {},\r\n };\r\n }\r\n\r\n init() {\r\n // Prepare for Style Manager role\r\n this.model = {\r\n styles: [],\r\n numFmts: [],\r\n fonts: [],\r\n borders: [],\r\n fills: [],\r\n dxfs: [],\r\n };\r\n\r\n this.initIndex();\r\n\r\n // default (zero) border\r\n this._addBorder({});\r\n\r\n // add default (all zero) style\r\n this._addStyle({numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0});\r\n\r\n // add default fills\r\n this._addFill({type: 'pattern', pattern: 'none'});\r\n this._addFill({type: 'pattern', pattern: 'gray125'});\r\n\r\n this.weakMap = new WeakMap();\r\n }\r\n\r\n render(xmlStream, model) {\r\n model = model || this.model;\r\n //\r\n // <fonts count=\"2\" x14ac:knownFonts=\"1\">\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n\r\n xmlStream.openNode('styleSheet', StylesXform.STYLESHEET_ATTRIBUTES);\r\n\r\n if (this.index) {\r\n // model has been built by style manager role (contains xml)\r\n if (model.numFmts && model.numFmts.length) {\r\n xmlStream.openNode('numFmts', {count: model.numFmts.length});\r\n model.numFmts.forEach(numFmtXml => {\r\n xmlStream.writeXml(numFmtXml);\r\n });\r\n xmlStream.closeNode();\r\n }\r\n\r\n if (!model.fonts.length) {\r\n // default (zero) font\r\n this._addFont({size: 11, color: {theme: 1}, name: 'Calibri', family: 2, scheme: 'minor'});\r\n }\r\n xmlStream.openNode('fonts', {count: model.fonts.length, 'x14ac:knownFonts': 1});\r\n model.fonts.forEach(fontXml => {\r\n xmlStream.writeXml(fontXml);\r\n });\r\n xmlStream.closeNode();\r\n\r\n xmlStream.openNode('fills', {count: model.fills.length});\r\n model.fills.forEach(fillXml => {\r\n xmlStream.writeXml(fillXml);\r\n });\r\n xmlStream.closeNode();\r\n\r\n xmlStream.openNode('borders', {count: model.borders.length});\r\n model.borders.forEach(borderXml => {\r\n xmlStream.writeXml(borderXml);\r\n });\r\n xmlStream.closeNode();\r\n\r\n this.map.cellStyleXfs.render(xmlStream, [\r\n {numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0},\r\n ]);\r\n\r\n xmlStream.openNode('cellXfs', {count: model.styles.length});\r\n model.styles.forEach(styleXml => {\r\n xmlStream.writeXml(styleXml);\r\n });\r\n xmlStream.closeNode();\r\n } else {\r\n // model is plain JSON and needs to be xformed\r\n this.map.numFmts.render(xmlStream, model.numFmts);\r\n this.map.fonts.render(xmlStream, model.fonts);\r\n this.map.fills.render(xmlStream, model.fills);\r\n this.map.borders.render(xmlStream, model.borders);\r\n this.map.cellStyleXfs.render(xmlStream, [\r\n {numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0},\r\n ]);\r\n this.map.cellXfs.render(xmlStream, model.styles);\r\n }\r\n\r\n StylesXform.STATIC_XFORMS.cellStyles.render(xmlStream);\r\n\r\n this.map.dxfs.render(xmlStream, model.dxfs);\r\n\r\n StylesXform.STATIC_XFORMS.tableStyles.render(xmlStream);\r\n StylesXform.STATIC_XFORMS.extLst.render(xmlStream);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case 'styleSheet':\r\n this.initIndex();\r\n return true;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case 'styleSheet': {\r\n this.model = {};\r\n const add = (propName, xform) => {\r\n if (xform.model && xform.model.length) {\r\n this.model[propName] = xform.model;\r\n }\r\n };\r\n add('numFmts', this.map.numFmts);\r\n add('fonts', this.map.fonts);\r\n add('fills', this.map.fills);\r\n add('borders', this.map.borders);\r\n add('styles', this.map.cellXfs);\r\n add('dxfs', this.map.dxfs);\r\n\r\n // index numFmts\r\n this.index = {\r\n model: [],\r\n numFmt: [],\r\n };\r\n if (this.model.numFmts) {\r\n const numFmtIndex = this.index.numFmt;\r\n this.model.numFmts.forEach(numFmt => {\r\n numFmtIndex[numFmt.id] = numFmt.formatCode;\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n default:\r\n // not quite sure how we get here!\r\n return true;\r\n }\r\n }\r\n\r\n // add a cell's style model to the collection\r\n // each style property is processed and cross-referenced, etc.\r\n // the styleId is returned. Note: cellType is used when numFmt not defined\r\n addStyleModel(model, cellType) {\r\n if (!model) {\r\n return 0;\r\n }\r\n\r\n // if we have no default font, add it here now\r\n if (!this.model.fonts.length) {\r\n // default (zero) font\r\n this._addFont({size: 11, color: {theme: 1}, name: 'Calibri', family: 2, scheme: 'minor'});\r\n }\r\n\r\n // if we have seen this style object before, assume it has the same styleId\r\n if (this.weakMap && this.weakMap.has(model)) {\r\n return this.weakMap.get(model);\r\n }\r\n\r\n const style = {};\r\n cellType = cellType || Enums.ValueType.Number;\r\n\r\n if (model.numFmt) {\r\n style.numFmtId = this._addNumFmtStr(model.numFmt);\r\n } else {\r\n switch (cellType) {\r\n case Enums.ValueType.Number:\r\n style.numFmtId = this._addNumFmtStr('General');\r\n break;\r\n case Enums.ValueType.Date:\r\n style.numFmtId = this._addNumFmtStr('mm-dd-yy');\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n if (model.font) {\r\n style.fontId = this._addFont(model.font);\r\n }\r\n\r\n if (model.border) {\r\n style.borderId = this._addBorder(model.border);\r\n }\r\n\r\n if (model.fill) {\r\n style.fillId = this._addFill(model.fill);\r\n }\r\n\r\n if (model.alignment) {\r\n style.alignment = model.alignment;\r\n }\r\n\r\n if (model.protection) {\r\n style.protection = model.protection;\r\n }\r\n\r\n const styleId = this._addStyle(style);\r\n if (this.weakMap) {\r\n this.weakMap.set(model, styleId);\r\n }\r\n return styleId;\r\n }\r\n\r\n // given a styleId (i.e. s=\"n\"), get the cell's style model\r\n // objects are shared where possible.\r\n getStyleModel(id) {\r\n // if the style doesn't exist return null\r\n const style = this.model.styles[id];\r\n if (!style) return null;\r\n\r\n // have we built this model before?\r\n let model = this.index.model[id];\r\n if (model) return model;\r\n\r\n // build a new model\r\n model = this.index.model[id] = {};\r\n\r\n // -------------------------------------------------------\r\n // number format\r\n if (style.numFmtId) {\r\n const numFmt =\r\n this.index.numFmt[style.numFmtId] || NumFmtXform.getDefaultFmtCode(style.numFmtId);\r\n if (numFmt) {\r\n model.numFmt = numFmt;\r\n }\r\n }\r\n\r\n function addStyle(name, group, styleId) {\r\n if (styleId || styleId === 0) {\r\n const part = group[styleId];\r\n if (part) {\r\n model[name] = part;\r\n }\r\n }\r\n }\r\n\r\n addStyle('font', this.model.fonts, style.fontId);\r\n addStyle('border', this.model.borders, style.borderId);\r\n addStyle('fill', this.model.fills, style.fillId);\r\n\r\n // -------------------------------------------------------\r\n // alignment\r\n if (style.alignment) {\r\n model.alignment = style.alignment;\r\n }\r\n\r\n // -------------------------------------------------------\r\n // protection\r\n if (style.protection) {\r\n model.protection = style.protection;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n addDxfStyle(style) {\r\n this.model.dxfs.push(style);\r\n return this.model.dxfs.length - 1;\r\n }\r\n\r\n getDxfStyle(id) {\r\n return this.model.dxfs[id];\r\n }\r\n\r\n // =========================================================================\r\n // Private Interface\r\n _addStyle(style) {\r\n const xml = this.map.style.toXml(style);\r\n let index = this.index.style[xml];\r\n if (index === undefined) {\r\n index = this.index.style[xml] = this.model.styles.length;\r\n this.model.styles.push(xml);\r\n }\r\n return index;\r\n }\r\n\r\n // =========================================================================\r\n // Number Formats\r\n _addNumFmtStr(formatCode) {\r\n // check if default format\r\n let index = NumFmtXform.getDefaultFmtId(formatCode);\r\n if (index !== undefined) return index;\r\n\r\n // check if already in\r\n index = this.index.numFmt[formatCode];\r\n if (index !== undefined) return index;\r\n\r\n index = this.index.numFmt[formatCode] = NUMFMT_BASE + this.model.numFmts.length;\r\n const xml = this.map.numFmt.toXml({id: index, formatCode});\r\n this.model.numFmts.push(xml);\r\n return index;\r\n }\r\n\r\n // =========================================================================\r\n // Fonts\r\n _addFont(font) {\r\n const xml = this.map.font.toXml(font);\r\n let index = this.index.font[xml];\r\n if (index === undefined) {\r\n index = this.index.font[xml] = this.model.fonts.length;\r\n this.model.fonts.push(xml);\r\n }\r\n return index;\r\n }\r\n\r\n // =========================================================================\r\n // Borders\r\n _addBorder(border) {\r\n const xml = this.map.border.toXml(border);\r\n let index = this.index.border[xml];\r\n if (index === undefined) {\r\n index = this.index.border[xml] = this.model.borders.length;\r\n this.model.borders.push(xml);\r\n }\r\n return index;\r\n }\r\n\r\n // =========================================================================\r\n // Fills\r\n _addFill(fill) {\r\n const xml = this.map.fill.toXml(fill);\r\n let index = this.index.fill[xml];\r\n if (index === undefined) {\r\n index = this.index.fill[xml] = this.model.fills.length;\r\n this.model.fills.push(xml);\r\n }\r\n return index;\r\n }\r\n\r\n // =========================================================================\r\n}\r\n\r\nStylesXform.STYLESHEET_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\r\n 'mc:Ignorable': 'x14ac x16r2',\r\n 'xmlns:x14ac': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac',\r\n 'xmlns:x16r2': 'http://schemas.microsoft.com/office/spreadsheetml/2015/02/main',\r\n};\r\nStylesXform.STATIC_XFORMS = {\r\n cellStyles: new StaticXform({\r\n tag: 'cellStyles',\r\n $: {count: 1},\r\n c: [{tag: 'cellStyle', $: {name: 'Normal', xfId: 0, builtinId: 0}}],\r\n }),\r\n dxfs: new StaticXform({tag: 'dxfs', $: {count: 0}}),\r\n tableStyles: new StaticXform({\r\n tag: 'tableStyles',\r\n $: {count: 0, defaultTableStyle: 'TableStyleMedium2', defaultPivotStyle: 'PivotStyleLight16'},\r\n }),\r\n extLst: new StaticXform({\r\n tag: 'extLst',\r\n c: [\r\n {\r\n tag: 'ext',\r\n $: {\r\n uri: '{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}',\r\n 'xmlns:x14': 'http://schemas.microsoft.com/office/spreadsheetml/2009/9/main',\r\n },\r\n c: [{tag: 'x14:slicerStyles', $: {defaultSlicerStyle: 'SlicerStyleLight1'}}],\r\n },\r\n {\r\n tag: 'ext',\r\n $: {\r\n uri: '{9260A510-F301-46a8-8635-F512D64BE5F5}',\r\n 'xmlns:x15': 'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main',\r\n },\r\n c: [{tag: 'x15:timelineStyles', $: {defaultTimelineStyle: 'TimeSlicerStyleLight1'}}],\r\n },\r\n ],\r\n }),\r\n};\r\n\r\n// the stylemanager mock acts like StyleManager except that it always returns 0 or {}\r\nclass StylesXformMock extends StylesXform {\r\n constructor() {\r\n super();\r\n\r\n this.model = {\r\n styles: [{numFmtId: 0, fontId: 0, fillId: 0, borderId: 0, xfId: 0}],\r\n numFmts: [],\r\n fonts: [{size: 11, color: {theme: 1}, name: 'Calibri', family: 2, scheme: 'minor'}],\r\n borders: [{}],\r\n fills: [\r\n {type: 'pattern', pattern: 'none'},\r\n {type: 'pattern', pattern: 'gray125'},\r\n ],\r\n };\r\n }\r\n\r\n // =========================================================================\r\n // Style Manager Interface\r\n\r\n // override normal behaviour - consume and dispose\r\n parseStream(stream) {\r\n stream.autodrain();\r\n return Promise.resolve();\r\n }\r\n\r\n // add a cell's style model to the collection\r\n // each style property is processed and cross-referenced, etc.\r\n // the styleId is returned. Note: cellType is used when numFmt not defined\r\n addStyleModel(model, cellType) {\r\n switch (cellType) {\r\n case Enums.ValueType.Date:\r\n return this.dateStyleId;\r\n default:\r\n return 0;\r\n }\r\n }\r\n\r\n get dateStyleId() {\r\n if (!this._dateStyleId) {\r\n const dateStyle = {\r\n numFmtId: NumFmtXform.getDefaultFmtId('mm-dd-yy'),\r\n };\r\n this._dateStyleId = this.model.styles.length;\r\n this.model.styles.push(dateStyle);\r\n }\r\n return this._dateStyleId;\r\n }\r\n\r\n // given a styleId (i.e. s=\"n\"), get the cell's style model\r\n // objects are shared where possible.\r\n getStyleModel(/* id */) {\r\n return {};\r\n }\r\n}\r\n\r\nStylesXform.Mock = StylesXformMock;\r\n\r\nmodule.exports = StylesXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass UnderlineXform extends BaseXform {\r\n constructor(model) {\r\n super();\r\n\r\n this.model = model;\r\n }\r\n\r\n get tag() {\r\n return 'u';\r\n }\r\n\r\n render(xmlStream, model) {\r\n model = model || this.model;\r\n\r\n if (model === true) {\r\n xmlStream.leafNode('u');\r\n } else {\r\n const attr = UnderlineXform.Attributes[model];\r\n if (attr) {\r\n xmlStream.leafNode('u', attr);\r\n }\r\n }\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === 'u') {\r\n this.model = node.attributes.val || true;\r\n }\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nUnderlineXform.Attributes = {\r\n single: {},\r\n double: {val: 'double'},\r\n singleAccounting: {val: 'singleAccounting'},\r\n doubleAccounting: {val: 'doubleAccounting'},\r\n};\r\n\r\nmodule.exports = UnderlineXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nconst FilterColumnXform = require('./filter-column-xform');\r\n\r\nclass AutoFilterXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n filterColumn: new FilterColumnXform(),\r\n };\r\n }\r\n\r\n get tag() {\r\n return 'autoFilter';\r\n }\r\n\r\n prepare(model) {\r\n model.columns.forEach((column, index) => {\r\n this.map.filterColumn.prepare(column, {index});\r\n });\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openNode(this.tag, {ref: model.autoFilterRef});\r\n\r\n model.columns.forEach(column => {\r\n this.map.filterColumn.render(xmlStream, column);\r\n });\r\n\r\n xmlStream.closeNode();\r\n return true;\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n switch (node.name) {\r\n case this.tag:\r\n this.model = {\r\n autoFilterRef: node.attributes.ref,\r\n columns: [],\r\n };\r\n return true;\r\n\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parseOpen(node);\r\n return true;\r\n }\r\n throw new Error(`Unexpected xml node in parseOpen: ${JSON.stringify(node)}`);\r\n }\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.model.columns.push(this.parser.model);\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n return false;\r\n default:\r\n throw new Error(`Unexpected xml node in parseClose: ${name}`);\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = AutoFilterXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass FilterColumnXform extends BaseXform {\r\n get tag() {\r\n return 'filterColumn';\r\n }\r\n\r\n prepare(model, options) {\r\n model.colId = options.index.toString();\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n colId: model.colId,\r\n hiddenButton: model.filterButton ? '0' : '1',\r\n });\r\n return true;\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n const {attributes} = node;\r\n this.model = {\r\n filterButton: attributes.hiddenButton === '0',\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = FilterColumnXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass TableColumnXform extends BaseXform {\r\n get tag() {\r\n return 'tableColumn';\r\n }\r\n\r\n prepare(model, options) {\r\n model.id = options.index + 1;\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n id: model.id.toString(),\r\n name: model.name,\r\n totalsRowLabel: model.totalsRowLabel,\r\n totalsRowFunction: model.totalsRowFunction,\r\n dxfId: model.dxfId,\r\n });\r\n return true;\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n const {attributes} = node;\r\n this.model = {\r\n name: attributes.name,\r\n totalsRowLabel: attributes.totalsRowLabel,\r\n totalsRowFunction: attributes.totalsRowFunction,\r\n dxfId: attributes.dxfId,\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = TableColumnXform;\r\n","const BaseXform = require('../base-xform');\r\n\r\nclass TableStyleInfoXform extends BaseXform {\r\n get tag() {\r\n return 'tableStyleInfo';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.leafNode(this.tag, {\r\n name: model.theme ? model.theme : undefined,\r\n showFirstColumn: model.showFirstColumn ? '1' : '0',\r\n showLastColumn: model.showLastColumn ? '1' : '0',\r\n showRowStripes: model.showRowStripes ? '1' : '0',\r\n showColumnStripes: model.showColumnStripes ? '1' : '0',\r\n });\r\n return true;\r\n }\r\n\r\n parseOpen(node) {\r\n if (node.name === this.tag) {\r\n const {attributes} = node;\r\n this.model = {\r\n theme: attributes.name ? attributes.name : null,\r\n showFirstColumn: attributes.showFirstColumn === '1',\r\n showLastColumn: attributes.showLastColumn === '1',\r\n showRowStripes: attributes.showRowStripes === '1',\r\n showColumnStripes: attributes.showColumnStripes === '1',\r\n };\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n parseText() {}\r\n\r\n parseClose() {\r\n return false;\r\n }\r\n}\r\n\r\nmodule.exports = TableStyleInfoXform;\r\n","const XmlStream = require('../../../utils/xml-stream');\r\n\r\nconst BaseXform = require('../base-xform');\r\nconst ListXform = require('../list-xform');\r\n\r\nconst AutoFilterXform = require('./auto-filter-xform');\r\nconst TableColumnXform = require('./table-column-xform');\r\nconst TableStyleInfoXform = require('./table-style-info-xform');\r\n\r\nclass TableXform extends BaseXform {\r\n constructor() {\r\n super();\r\n\r\n this.map = {\r\n autoFilter: new AutoFilterXform(),\r\n tableColumns: new ListXform({\r\n tag: 'tableColumns',\r\n count: true,\r\n empty: true,\r\n childXform: new TableColumnXform(),\r\n }),\r\n tableStyleInfo: new TableStyleInfoXform(),\r\n };\r\n }\r\n\r\n prepare(model, options) {\r\n this.map.autoFilter.prepare(model);\r\n this.map.tableColumns.prepare(model.columns, options);\r\n }\r\n\r\n get tag() {\r\n return 'table';\r\n }\r\n\r\n render(xmlStream, model) {\r\n xmlStream.openXml(XmlStream.StdDocAttributes);\r\n xmlStream.openNode(this.tag, {\r\n ...TableXform.TABLE_ATTRIBUTES,\r\n id: model.id,\r\n name: model.name,\r\n displayName: model.displayName || model.name,\r\n ref: model.tableRef,\r\n totalsRowCount: model.totalsRow ? '1' : undefined,\r\n totalsRowShown: model.totalsRow ? undefined : '1',\r\n headerRowCount: model.headerRow ? '1' : '0',\r\n });\r\n\r\n this.map.autoFilter.render(xmlStream, model);\r\n this.map.tableColumns.render(xmlStream, model.columns);\r\n this.map.tableStyleInfo.render(xmlStream, model.style);\r\n\r\n xmlStream.closeNode();\r\n }\r\n\r\n parseOpen(node) {\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n return true;\r\n }\r\n const {name, attributes} = node;\r\n switch (name) {\r\n case this.tag:\r\n this.reset();\r\n this.model = {\r\n name: attributes.name,\r\n displayName: attributes.displayName || attributes.name,\r\n tableRef: attributes.ref,\r\n totalsRow: attributes.totalsRowCount === '1',\r\n headerRow: attributes.headerRowCount === '1',\r\n };\r\n break;\r\n default:\r\n this.parser = this.map[node.name];\r\n if (this.parser) {\r\n this.parser.parseOpen(node);\r\n }\r\n break;\r\n }\r\n return true;\r\n }\r\n\r\n parseText(text) {\r\n if (this.parser) {\r\n this.parser.parseText(text);\r\n }\r\n }\r\n\r\n parseClose(name) {\r\n if (this.parser) {\r\n if (!this.parser.parseClose(name)) {\r\n this.parser = undefined;\r\n }\r\n return true;\r\n }\r\n switch (name) {\r\n case this.tag:\r\n this.model.columns = this.map.tableColumns.model;\r\n if (this.map.autoFilter.model) {\r\n this.model.autoFilterRef = this.map.autoFilter.model.autoFilterRef;\r\n this.map.autoFilter.model.columns.forEach((column, index) => {\r\n this.model.columns[index].filterButton = column.filterButton;\r\n });\r\n }\r\n this.model.style = this.map.tableStyleInfo.model;\r\n return false;\r\n default:\r\n // could be some unrecognised tags\r\n return true;\r\n }\r\n }\r\n\r\n reconcile(model, options) {\r\n // fetch the dfxs from styles\r\n model.columns.forEach(column => {\r\n if (column.dxfId !== undefined) {\r\n column.style = options.styles.getDxfStyle(column.dxfId);\r\n }\r\n });\r\n }\r\n}\r\n\r\nTableXform.TABLE_ATTRIBUTES = {\r\n xmlns: 'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\r\n 'xmlns:mc': 'http://schemas.openxmlformats.org/markup-compatibility/2006',\r\n 'mc:Ignorable': 'xr xr3',\r\n 'xmlns:xr': 'http://schemas.microsoft.com/office/spreadsheetml/2014/revision',\r\n 'xmlns:xr3': 'http://schemas.microsoft.com/office/spreadsheetml/2016/revision3',\r\n // 'xr:uid': '{00000000-000C-0000-FFFF-FFFF00000000}',\r\n};\r\n\r\nmodule.exports = TableXform;\r\n","const fs = require('fs');\r\nconst JSZip = require('jszip');\r\nconst {PassThrough} = require('readable-stream');\r\nconst ZipStream = require('../utils/zip-stream');\r\nconst StreamBuf = require('../utils/stream-buf');\r\n\r\nconst utils = require('../utils/utils');\r\nconst XmlStream = require('../utils/xml-stream');\r\nconst {bufferToString} = require('../utils/browser-buffer-decode');\r\n\r\nconst StylesXform = require('./xform/style/styles-xform');\r\n\r\nconst CoreXform = require('./xform/core/core-xform');\r\nconst SharedStringsXform = require('./xform/strings/shared-strings-xform');\r\nconst RelationshipsXform = require('./xform/core/relationships-xform');\r\nconst ContentTypesXform = require('./xform/core/content-types-xform');\r\nconst AppXform = require('./xform/core/app-xform');\r\nconst WorkbookXform = require('./xform/book/workbook-xform');\r\nconst WorksheetXform = require('./xform/sheet/worksheet-xform');\r\nconst DrawingXform = require('./xform/drawing/drawing-xform');\r\nconst TableXform = require('./xform/table/table-xform');\r\nconst CommentsXform = require('./xform/comment/comments-xform');\r\nconst VmlNotesXform = require('./xform/comment/vml-notes-xform');\r\n\r\nconst theme1Xml = require('./xml/theme1.js');\r\n\r\nfunction fsReadFileAsync(filename, options) {\r\n return new Promise((resolve, reject) => {\r\n fs.readFile(filename, options, (error, data) => {\r\n if (error) {\r\n reject(error);\r\n } else {\r\n resolve(data);\r\n }\r\n });\r\n });\r\n}\r\n\r\nclass XLSX {\r\n constructor(workbook) {\r\n this.workbook = workbook;\r\n }\r\n\r\n // ===============================================================================\r\n // Workbook\r\n // =========================================================================\r\n // Read\r\n\r\n async readFile(filename, options) {\r\n if (!(await utils.fs.exists(filename))) {\r\n throw new Error(`File not found: ${filename}`);\r\n }\r\n const stream = fs.createReadStream(filename);\r\n try {\r\n const workbook = await this.read(stream, options);\r\n stream.close();\r\n return workbook;\r\n } catch (error) {\r\n stream.close();\r\n throw error;\r\n }\r\n }\r\n\r\n parseRels(stream) {\r\n const xform = new RelationshipsXform();\r\n return xform.parseStream(stream);\r\n }\r\n\r\n parseWorkbook(stream) {\r\n const xform = new WorkbookXform();\r\n return xform.parseStream(stream);\r\n }\r\n\r\n parseSharedStrings(stream) {\r\n const xform = new SharedStringsXform();\r\n return xform.parseStream(stream);\r\n }\r\n\r\n reconcile(model, options) {\r\n const workbookXform = new WorkbookXform();\r\n const worksheetXform = new WorksheetXform(options);\r\n const drawingXform = new DrawingXform();\r\n const tableXform = new TableXform();\r\n\r\n workbookXform.reconcile(model);\r\n\r\n // reconcile drawings with their rels\r\n const drawingOptions = {\r\n media: model.media,\r\n mediaIndex: model.mediaIndex,\r\n };\r\n Object.keys(model.drawings).forEach(name => {\r\n const drawing = model.drawings[name];\r\n const drawingRel = model.drawingRels[name];\r\n if (drawingRel) {\r\n drawingOptions.rels = drawingRel.reduce((o, rel) => {\r\n o[rel.Id] = rel;\r\n return o;\r\n }, {});\r\n (drawing.anchors || []).forEach(anchor => {\r\n const hyperlinks = anchor.picture && anchor.picture.hyperlinks;\r\n if (hyperlinks && drawingOptions.rels[hyperlinks.rId]) {\r\n hyperlinks.hyperlink = drawingOptions.rels[hyperlinks.rId].Target;\r\n delete hyperlinks.rId;\r\n }\r\n });\r\n drawingXform.reconcile(drawing, drawingOptions);\r\n }\r\n });\r\n\r\n // reconcile tables with the default styles\r\n const tableOptions = {\r\n styles: model.styles,\r\n };\r\n Object.values(model.tables).forEach(table => {\r\n tableXform.reconcile(table, tableOptions);\r\n });\r\n\r\n const sheetOptions = {\r\n styles: model.styles,\r\n sharedStrings: model.sharedStrings,\r\n media: model.media,\r\n mediaIndex: model.mediaIndex,\r\n date1904: model.properties && model.properties.date1904,\r\n drawings: model.drawings,\r\n comments: model.comments,\r\n tables: model.tables,\r\n vmlDrawings: model.vmlDrawings,\r\n };\r\n model.worksheets.forEach(worksheet => {\r\n worksheet.relationships = model.worksheetRels[worksheet.sheetNo];\r\n worksheetXform.reconcile(worksheet, sheetOptions);\r\n });\r\n\r\n // delete unnecessary parts\r\n delete model.worksheetHash;\r\n delete model.worksheetRels;\r\n delete model.globalRels;\r\n delete model.sharedStrings;\r\n delete model.workbookRels;\r\n delete model.sheetDefs;\r\n delete model.styles;\r\n delete model.mediaIndex;\r\n delete model.drawings;\r\n delete model.drawingRels;\r\n delete model.vmlDrawings;\r\n }\r\n\r\n async _processWorksheetEntry(stream, model, sheetNo, options, path) {\r\n const xform = new WorksheetXform(options);\r\n const worksheet = await xform.parseStream(stream);\r\n worksheet.sheetNo = sheetNo;\r\n model.worksheetHash[path] = worksheet;\r\n model.worksheets.push(worksheet);\r\n }\r\n\r\n async _processCommentEntry(stream, model, name) {\r\n const xform = new CommentsXform();\r\n const comments = await xform.parseStream(stream);\r\n model.comments[`../${name}.xml`] = comments;\r\n }\r\n\r\n async _processTableEntry(stream, model, name) {\r\n const xform = new TableXform();\r\n const table = await xform.parseStream(stream);\r\n model.tables[`../tables/${name}.xml`] = table;\r\n }\r\n\r\n async _processWorksheetRelsEntry(stream, model, sheetNo) {\r\n const xform = new RelationshipsXform();\r\n const relationships = await xform.parseStream(stream);\r\n model.worksheetRels[sheetNo] = relationships;\r\n }\r\n\r\n async _processMediaEntry(entry, model, filename) {\r\n const lastDot = filename.lastIndexOf('.');\r\n // if we can't determine extension, ignore it\r\n if (lastDot >= 1) {\r\n const extension = filename.substr(lastDot + 1);\r\n const name = filename.substr(0, lastDot);\r\n await new Promise((resolve, reject) => {\r\n const streamBuf = new StreamBuf();\r\n streamBuf.on('finish', () => {\r\n model.mediaIndex[filename] = model.media.length;\r\n model.mediaIndex[name] = model.media.length;\r\n const medium = {\r\n type: 'image',\r\n name,\r\n extension,\r\n buffer: streamBuf.toBuffer(),\r\n };\r\n model.media.push(medium);\r\n resolve();\r\n });\r\n entry.on('error', error => {\r\n reject(error);\r\n });\r\n entry.pipe(streamBuf);\r\n });\r\n }\r\n }\r\n\r\n async _processDrawingEntry(entry, model, name) {\r\n const xform = new DrawingXform();\r\n const drawing = await xform.parseStream(entry);\r\n model.drawings[name] = drawing;\r\n }\r\n\r\n async _processDrawingRelsEntry(entry, model, name) {\r\n const xform = new RelationshipsXform();\r\n const relationships = await xform.parseStream(entry);\r\n model.drawingRels[name] = relationships;\r\n }\r\n\r\n async _processVmlDrawingEntry(entry, model, name) {\r\n const xform = new VmlNotesXform();\r\n const vmlDrawing = await xform.parseStream(entry);\r\n model.vmlDrawings[`../drawings/${name}.vml`] = vmlDrawing;\r\n }\r\n\r\n async _processThemeEntry(entry, model, name) {\r\n await new Promise((resolve, reject) => {\r\n // TODO: stream entry into buffer and store the xml in the model.themes[]\r\n const stream = new StreamBuf();\r\n entry.on('error', reject);\r\n stream.on('error', reject);\r\n stream.on('finish', () => {\r\n model.themes[name] = stream.read().toString();\r\n resolve();\r\n });\r\n entry.pipe(stream);\r\n });\r\n }\r\n\r\n /**\r\n * @deprecated since version 4.0. You should use `#read` instead. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md\r\n */\r\n createInputStream() {\r\n throw new Error(\r\n '`XLSX#createInputStream` is deprecated. You should use `XLSX#read` instead. This method will be removed in version 5.0. Please follow upgrade instruction: https://github.com/exceljs/exceljs/blob/master/UPGRADE-4.0.md'\r\n );\r\n }\r\n\r\n async read(stream, options) {\r\n // TODO: Remove once node v8 is deprecated\r\n // Detect and upgrade old streams\r\n if (!stream[Symbol.asyncIterator] && stream.pipe) {\r\n stream = stream.pipe(new PassThrough());\r\n }\r\n const chunks = [];\r\n for await (const chunk of stream) {\r\n chunks.push(chunk);\r\n }\r\n return this.load(Buffer.concat(chunks), options);\r\n }\r\n\r\n async load(data, options) {\r\n let buffer;\r\n if (options && options.base64) {\r\n buffer = Buffer.from(data.toString(), 'base64');\r\n } else {\r\n buffer = data;\r\n }\r\n\r\n const model = {\r\n worksheets: [],\r\n worksheetHash: {},\r\n worksheetRels: [],\r\n themes: {},\r\n media: [],\r\n mediaIndex: {},\r\n drawings: {},\r\n drawingRels: {},\r\n comments: {},\r\n tables: {},\r\n vmlDrawings: {},\r\n };\r\n\r\n const zip = await JSZip.loadAsync(buffer);\r\n for (const entry of Object.values(zip.files)) {\r\n /* eslint-disable no-await-in-loop */\r\n if (!entry.dir) {\r\n let entryName = entry.name;\r\n if (entryName[0] === '/') {\r\n entryName = entryName.substr(1);\r\n }\r\n let stream;\r\n if (entryName.match(/xl\\/media\\//) ||\r\n // themes are not parsed as stream\r\n entryName.match(/xl\\/theme\\/([a-zA-Z0-9]+)[.]xml/)) {\r\n stream = new PassThrough();\r\n stream.write(await entry.async('nodebuffer'));\r\n } else {\r\n // use object mode to avoid buffer-string convention\r\n stream = new PassThrough({\r\n writableObjectMode: true,\r\n readableObjectMode: true,\r\n });\r\n let content;\r\n // https://www.npmjs.com/package/process\r\n if (process.browser) {\r\n // running in browser, use TextDecoder if possible\r\n content = bufferToString(await entry.async('nodebuffer'));\r\n } else {\r\n // running in node.js\r\n content = await entry.async('string');\r\n }\r\n const chunkSize = 16 * 1024;\r\n for (let i = 0; i < content.length; i += chunkSize) {\r\n stream.write(content.substring(i, i + chunkSize));\r\n }\r\n }\r\n stream.end();\r\n switch (entryName) {\r\n case '_rels/.rels':\r\n model.globalRels = await this.parseRels(stream);\r\n break;\r\n\r\n case 'xl/workbook.xml': {\r\n const workbook = await this.parseWorkbook(stream);\r\n model.sheets = workbook.sheets;\r\n model.definedNames = workbook.definedNames;\r\n model.views = workbook.views;\r\n model.properties = workbook.properties;\r\n model.calcProperties = workbook.calcProperties;\r\n break;\r\n }\r\n\r\n case 'xl/_rels/workbook.xml.rels':\r\n model.workbookRels = await this.parseRels(stream);\r\n break;\r\n\r\n case 'xl/sharedStrings.xml':\r\n model.sharedStrings = new SharedStringsXform();\r\n await model.sharedStrings.parseStream(stream);\r\n break;\r\n\r\n case 'xl/styles.xml':\r\n model.styles = new StylesXform();\r\n await model.styles.parseStream(stream);\r\n break;\r\n\r\n case 'docProps/app.xml': {\r\n const appXform = new AppXform();\r\n const appProperties = await appXform.parseStream(stream);\r\n model.company = appProperties.company;\r\n model.manager = appProperties.manager;\r\n break;\r\n }\r\n\r\n case 'docProps/core.xml': {\r\n const coreXform = new CoreXform();\r\n const coreProperties = await coreXform.parseStream(stream);\r\n Object.assign(model, coreProperties);\r\n break;\r\n }\r\n\r\n default: {\r\n let match = entryName.match(/xl\\/worksheets\\/sheet(\\d+)[.]xml/);\r\n if (match) {\r\n await this._processWorksheetEntry(stream, model, match[1], options, entryName);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/worksheets\\/_rels\\/sheet(\\d+)[.]xml.rels/);\r\n if (match) {\r\n await this._processWorksheetRelsEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/theme\\/([a-zA-Z0-9]+)[.]xml/);\r\n if (match) {\r\n await this._processThemeEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/media\\/([a-zA-Z0-9]+[.][a-zA-Z0-9]{3,4})$/);\r\n if (match) {\r\n await this._processMediaEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/drawings\\/([a-zA-Z0-9]+)[.]xml/);\r\n if (match) {\r\n await this._processDrawingEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/(comments\\d+)[.]xml/);\r\n if (match) {\r\n await this._processCommentEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/tables\\/(table\\d+)[.]xml/);\r\n if (match) {\r\n await this._processTableEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/drawings\\/_rels\\/([a-zA-Z0-9]+)[.]xml[.]rels/);\r\n if (match) {\r\n await this._processDrawingRelsEntry(stream, model, match[1]);\r\n break;\r\n }\r\n match = entryName.match(/xl\\/drawings\\/(vmlDrawing\\d+)[.]vml/);\r\n if (match) {\r\n await this._processVmlDrawingEntry(stream, model, match[1]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.reconcile(model, options);\r\n\r\n // apply model\r\n this.workbook.model = model;\r\n return this.workbook;\r\n }\r\n\r\n // =========================================================================\r\n // Write\r\n\r\n async addMedia(zip, model) {\r\n await Promise.all(\r\n model.media.map(async medium => {\r\n if (medium.type === 'image') {\r\n const filename = `xl/media/${medium.name}.${medium.extension}`;\r\n if (medium.filename) {\r\n const data = await fsReadFileAsync(medium.filename);\r\n return zip.append(data, {name: filename});\r\n }\r\n if (medium.buffer) {\r\n return zip.append(medium.buffer, {name: filename});\r\n }\r\n if (medium.base64) {\r\n const dataimg64 = medium.base64;\r\n const content = dataimg64.substring(dataimg64.indexOf(',') + 1);\r\n return zip.append(content, {name: filename, base64: true});\r\n }\r\n }\r\n throw new Error('Unsupported media');\r\n })\r\n );\r\n }\r\n\r\n addDrawings(zip, model) {\r\n const drawingXform = new DrawingXform();\r\n const relsXform = new RelationshipsXform();\r\n\r\n model.worksheets.forEach(worksheet => {\r\n const {drawing} = worksheet;\r\n if (drawing) {\r\n drawingXform.prepare(drawing, {});\r\n let xml = drawingXform.toXml(drawing);\r\n zip.append(xml, {name: `xl/drawings/${drawing.name}.xml`});\r\n\r\n xml = relsXform.toXml(drawing.rels);\r\n zip.append(xml, {name: `xl/drawings/_rels/${drawing.name}.xml.rels`});\r\n }\r\n });\r\n }\r\n\r\n addTables(zip, model) {\r\n const tableXform = new TableXform();\r\n\r\n model.worksheets.forEach(worksheet => {\r\n const {tables} = worksheet;\r\n tables.forEach(table => {\r\n tableXform.prepare(table, {});\r\n const tableXml = tableXform.toXml(table);\r\n zip.append(tableXml, {name: `xl/tables/${table.target}`});\r\n });\r\n });\r\n }\r\n\r\n async addContentTypes(zip, model) {\r\n const xform = new ContentTypesXform();\r\n const xml = xform.toXml(model);\r\n zip.append(xml, {name: '[Content_Types].xml'});\r\n }\r\n\r\n async addApp(zip, model) {\r\n const xform = new AppXform();\r\n const xml = xform.toXml(model);\r\n zip.append(xml, {name: 'docProps/app.xml'});\r\n }\r\n\r\n async addCore(zip, model) {\r\n const coreXform = new CoreXform();\r\n zip.append(coreXform.toXml(model), {name: 'docProps/core.xml'});\r\n }\r\n\r\n async addThemes(zip, model) {\r\n const themes = model.themes || {theme1: theme1Xml};\r\n Object.keys(themes).forEach(name => {\r\n const xml = themes[name];\r\n const path = `xl/theme/${name}.xml`;\r\n zip.append(xml, {name: path});\r\n });\r\n }\r\n\r\n async addOfficeRels(zip) {\r\n const xform = new RelationshipsXform();\r\n const xml = xform.toXml([\r\n {Id: 'rId1', Type: XLSX.RelType.OfficeDocument, Target: 'xl/workbook.xml'},\r\n {Id: 'rId2', Type: XLSX.RelType.CoreProperties, Target: 'docProps/core.xml'},\r\n {Id: 'rId3', Type: XLSX.RelType.ExtenderProperties, Target: 'docProps/app.xml'},\r\n ]);\r\n zip.append(xml, {name: '_rels/.rels'});\r\n }\r\n\r\n async addWorkbookRels(zip, model) {\r\n let count = 1;\r\n const relationships = [\r\n {Id: `rId${count++}`, Type: XLSX.RelType.Styles, Target: 'styles.xml'},\r\n {Id: `rId${count++}`, Type: XLSX.RelType.Theme, Target: 'theme/theme1.xml'},\r\n ];\r\n if (model.sharedStrings.count) {\r\n relationships.push({\r\n Id: `rId${count++}`,\r\n Type: XLSX.RelType.SharedStrings,\r\n Target: 'sharedStrings.xml',\r\n });\r\n }\r\n model.worksheets.forEach(worksheet => {\r\n worksheet.rId = `rId${count++}`;\r\n relationships.push({\r\n Id: worksheet.rId,\r\n Type: XLSX.RelType.Worksheet,\r\n Target: `worksheets/sheet${worksheet.id}.xml`,\r\n });\r\n });\r\n const xform = new RelationshipsXform();\r\n const xml = xform.toXml(relationships);\r\n zip.append(xml, {name: 'xl/_rels/workbook.xml.rels'});\r\n }\r\n\r\n async addSharedStrings(zip, model) {\r\n if (model.sharedStrings && model.sharedStrings.count) {\r\n zip.append(model.sharedStrings.xml, {name: 'xl/sharedStrings.xml'});\r\n }\r\n }\r\n\r\n async addStyles(zip, model) {\r\n const {xml} = model.styles;\r\n if (xml) {\r\n zip.append(xml, {name: 'xl/styles.xml'});\r\n }\r\n }\r\n\r\n async addWorkbook(zip, model) {\r\n const xform = new WorkbookXform();\r\n zip.append(xform.toXml(model), {name: 'xl/workbook.xml'});\r\n }\r\n\r\n async addWorksheets(zip, model) {\r\n // preparation phase\r\n const worksheetXform = new WorksheetXform();\r\n const relationshipsXform = new RelationshipsXform();\r\n const commentsXform = new CommentsXform();\r\n const vmlNotesXform = new VmlNotesXform();\r\n\r\n // write sheets\r\n model.worksheets.forEach(worksheet => {\r\n let xmlStream = new XmlStream();\r\n worksheetXform.render(xmlStream, worksheet);\r\n zip.append(xmlStream.xml, {name: `xl/worksheets/sheet${worksheet.id}.xml`});\r\n\r\n if (worksheet.rels && worksheet.rels.length) {\r\n xmlStream = new XmlStream();\r\n relationshipsXform.render(xmlStream, worksheet.rels);\r\n zip.append(xmlStream.xml, {name: `xl/worksheets/_rels/sheet${worksheet.id}.xml.rels`});\r\n }\r\n\r\n if (worksheet.comments.length > 0) {\r\n xmlStream = new XmlStream();\r\n commentsXform.render(xmlStream, worksheet);\r\n zip.append(xmlStream.xml, {name: `xl/comments${worksheet.id}.xml`});\r\n\r\n xmlStream = new XmlStream();\r\n vmlNotesXform.render(xmlStream, worksheet);\r\n zip.append(xmlStream.xml, {name: `xl/drawings/vmlDrawing${worksheet.id}.vml`});\r\n }\r\n });\r\n }\r\n\r\n _finalize(zip) {\r\n return new Promise((resolve, reject) => {\r\n zip.on('finish', () => {\r\n resolve(this);\r\n });\r\n zip.on('error', reject);\r\n zip.finalize();\r\n });\r\n }\r\n\r\n prepareModel(model, options) {\r\n // ensure following properties have sane values\r\n model.creator = model.creator || 'ExcelJS';\r\n model.lastModifiedBy = model.lastModifiedBy || 'ExcelJS';\r\n model.created = model.created || new Date();\r\n model.modified = model.modified || new Date();\r\n\r\n model.useSharedStrings =\r\n options.useSharedStrings !== undefined ? options.useSharedStrings : true;\r\n model.useStyles = options.useStyles !== undefined ? options.useStyles : true;\r\n\r\n // Manage the shared strings\r\n model.sharedStrings = new SharedStringsXform();\r\n\r\n // add a style manager to handle cell formats, fonts, etc.\r\n model.styles = model.useStyles ? new StylesXform(true) : new StylesXform.Mock();\r\n\r\n // prepare all of the things before the render\r\n const workbookXform = new WorkbookXform();\r\n const worksheetXform = new WorksheetXform();\r\n\r\n workbookXform.prepare(model);\r\n\r\n const worksheetOptions = {\r\n sharedStrings: model.sharedStrings,\r\n styles: model.styles,\r\n date1904: model.properties.date1904,\r\n drawingsCount: 0,\r\n media: model.media,\r\n };\r\n worksheetOptions.drawings = model.drawings = [];\r\n worksheetOptions.commentRefs = model.commentRefs = [];\r\n let tableCount = 0;\r\n model.tables = [];\r\n model.worksheets.forEach(worksheet => {\r\n // assign unique filenames to tables\r\n worksheet.tables.forEach(table => {\r\n tableCount++;\r\n table.target = `table${tableCount}.xml`;\r\n table.id = tableCount;\r\n model.tables.push(table);\r\n });\r\n\r\n worksheetXform.prepare(worksheet, worksheetOptions);\r\n });\r\n\r\n // TODO: workbook drawing list\r\n }\r\n\r\n async write(stream, options) {\r\n options = options || {};\r\n const {model} = this.workbook;\r\n const zip = new ZipStream.ZipWriter(options.zip);\r\n zip.pipe(stream);\r\n\r\n this.prepareModel(model, options);\r\n\r\n // render\r\n await this.addContentTypes(zip, model);\r\n await this.addOfficeRels(zip, model);\r\n await this.addWorkbookRels(zip, model);\r\n await this.addWorksheets(zip, model);\r\n await this.addSharedStrings(zip, model); // always after worksheets\r\n await this.addDrawings(zip, model);\r\n await this.addTables(zip, model);\r\n await Promise.all([this.addThemes(zip, model), this.addStyles(zip, model)]);\r\n await this.addMedia(zip, model);\r\n await Promise.all([this.addApp(zip, model), this.addCore(zip, model)]);\r\n await this.addWorkbook(zip, model);\r\n return this._finalize(zip);\r\n }\r\n\r\n writeFile(filename, options) {\r\n const stream = fs.createWriteStream(filename);\r\n\r\n return new Promise((resolve, reject) => {\r\n stream.on('finish', () => {\r\n resolve();\r\n });\r\n stream.on('error', error => {\r\n reject(error);\r\n });\r\n\r\n this.write(stream, options).then(() => {\r\n stream.end();\r\n });\r\n });\r\n }\r\n\r\n async writeBuffer(options) {\r\n const stream = new StreamBuf();\r\n await this.write(stream, options);\r\n return stream.read();\r\n }\r\n}\r\n\r\nXLSX.RelType = require('./rel-type');\r\n\r\nmodule.exports = XLSX;\r\n","/* eslint-disable */\r\nmodule.exports =\r\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\"> <a:themeElements> <a:clrScheme name=\"Office\"> <a:dk1> <a:sysClr val=\"windowText\" lastClr=\"000000\"/> </a:dk1> <a:lt1> <a:sysClr val=\"window\" lastClr=\"FFFFFF\"/> </a:lt1> <a:dk2> <a:srgbClr val=\"1F497D\"/> </a:dk2> <a:lt2> <a:srgbClr val=\"EEECE1\"/> </a:lt2> <a:accent1> <a:srgbClr val=\"4F81BD\"/> </a:accent1> <a:accent2> <a:srgbClr val=\"C0504D\"/> </a:accent2> <a:accent3> <a:srgbClr val=\"9BBB59\"/> </a:accent3> <a:accent4> <a:srgbClr val=\"8064A2\"/> </a:accent4> <a:accent5> <a:srgbClr val=\"4BACC6\"/> </a:accent5> <a:accent6> <a:srgbClr val=\"F79646\"/> </a:accent6> <a:hlink> <a:srgbClr val=\"0000FF\"/> </a:hlink> <a:folHlink> <a:srgbClr val=\"800080\"/> </a:folHlink> </a:clrScheme> <a:fontScheme name=\"Office\"> <a:majorFont> <a:latin typeface=\"Cambria\"/> <a:ea typeface=\"\"/> <a:cs typeface=\"\"/> <a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/> <a:font script=\"Hang\" typeface=\"맑은 고딕\"/> <a:font script=\"Hans\" typeface=\"宋体\"/> <a:font script=\"Hant\" typeface=\"新細明體\"/> <a:font script=\"Arab\" typeface=\"Times New Roman\"/> <a:font script=\"Hebr\" typeface=\"Times New Roman\"/> <a:font script=\"Thai\" typeface=\"Tahoma\"/> <a:font script=\"Ethi\" typeface=\"Nyala\"/> <a:font script=\"Beng\" typeface=\"Vrinda\"/> <a:font script=\"Gujr\" typeface=\"Shruti\"/> <a:font script=\"Khmr\" typeface=\"MoolBoran\"/> <a:font script=\"Knda\" typeface=\"Tunga\"/> <a:font script=\"Guru\" typeface=\"Raavi\"/> <a:font script=\"Cans\" typeface=\"Euphemia\"/> <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/> <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/> <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/> <a:font script=\"Thaa\" typeface=\"MV Boli\"/> <a:font script=\"Deva\" typeface=\"Mangal\"/> <a:font script=\"Telu\" typeface=\"Gautami\"/> <a:font script=\"Taml\" typeface=\"Latha\"/> <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/> <a:font script=\"Orya\" typeface=\"Kalinga\"/> <a:font script=\"Mlym\" typeface=\"Kartika\"/> <a:font script=\"Laoo\" typeface=\"DokChampa\"/> <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/> <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/> <a:font script=\"Viet\" typeface=\"Times New Roman\"/> <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/> <a:font script=\"Geor\" typeface=\"Sylfaen\"/> </a:majorFont> <a:minorFont> <a:latin typeface=\"Calibri\"/> <a:ea typeface=\"\"/> <a:cs typeface=\"\"/> <a:font script=\"Jpan\" typeface=\"MS Pゴシック\"/> <a:font script=\"Hang\" typeface=\"맑은 고딕\"/> <a:font script=\"Hans\" typeface=\"宋体\"/> <a:font script=\"Hant\" typeface=\"新細明體\"/> <a:font script=\"Arab\" typeface=\"Arial\"/> <a:font script=\"Hebr\" typeface=\"Arial\"/> <a:font script=\"Thai\" typeface=\"Tahoma\"/> <a:font script=\"Ethi\" typeface=\"Nyala\"/> <a:font script=\"Beng\" typeface=\"Vrinda\"/> <a:font script=\"Gujr\" typeface=\"Shruti\"/> <a:font script=\"Khmr\" typeface=\"DaunPenh\"/> <a:font script=\"Knda\" typeface=\"Tunga\"/> <a:font script=\"Guru\" typeface=\"Raavi\"/> <a:font script=\"Cans\" typeface=\"Euphemia\"/> <a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/> <a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/> <a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/> <a:font script=\"Thaa\" typeface=\"MV Boli\"/> <a:font script=\"Deva\" typeface=\"Mangal\"/> <a:font script=\"Telu\" typeface=\"Gautami\"/> <a:font script=\"Taml\" typeface=\"Latha\"/> <a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/> <a:font script=\"Orya\" typeface=\"Kalinga\"/> <a:font script=\"Mlym\" typeface=\"Kartika\"/> <a:font script=\"Laoo\" typeface=\"DokChampa\"/> <a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/> <a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/> <a:font script=\"Viet\" typeface=\"Arial\"/> <a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/> <a:font script=\"Geor\" typeface=\"Sylfaen\"/> </a:minorFont> </a:fontScheme> <a:fmtScheme name=\"Office\"> <a:fillStyleLst> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"50000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"35000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"37000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"15000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang=\"16200000\" scaled=\"1\"/> </a:gradFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"100000\"/> <a:shade val=\"100000\"/> <a:satMod val=\"130000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"50000\"/> <a:shade val=\"100000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:lin ang=\"16200000\" scaled=\"0\"/> </a:gradFill> </a:fillStyleLst> <a:lnStyleLst> <a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"> <a:shade val=\"95000\"/> <a:satMod val=\"105000\"/> </a:schemeClr> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> <a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> <a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:prstDash val=\"solid\"/> </a:ln> </a:lnStyleLst> <a:effectStyleLst> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"38000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> </a:effectStyle> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"35000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> </a:effectStyle> <a:effectStyle> <a:effectLst> <a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"> <a:srgbClr val=\"000000\"> <a:alpha val=\"35000\"/> </a:srgbClr> </a:outerShdw> </a:effectLst> <a:scene3d> <a:camera prst=\"orthographicFront\"> <a:rot lat=\"0\" lon=\"0\" rev=\"0\"/> </a:camera> <a:lightRig rig=\"threePt\" dir=\"t\"> <a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/> </a:lightRig> </a:scene3d> <a:sp3d> <a:bevelT w=\"63500\" h=\"25400\"/> </a:sp3d> </a:effectStyle> </a:effectStyleLst> <a:bgFillStyleLst> <a:solidFill> <a:schemeClr val=\"phClr\"/> </a:solidFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"40000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"40000\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"45000\"/> <a:shade val=\"99000\"/> <a:satMod val=\"350000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:shade val=\"20000\"/> <a:satMod val=\"255000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:path path=\"circle\"> <a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/> </a:path> </a:gradFill> <a:gradFill rotWithShape=\"1\"> <a:gsLst> <a:gs pos=\"0\"> <a:schemeClr val=\"phClr\"> <a:tint val=\"80000\"/> <a:satMod val=\"300000\"/> </a:schemeClr> </a:gs> <a:gs pos=\"100000\"> <a:schemeClr val=\"phClr\"> <a:shade val=\"30000\"/> <a:satMod val=\"200000\"/> </a:schemeClr> </a:gs> </a:gsLst> <a:path path=\"circle\"> <a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/> </a:path> </a:gradFill> </a:bgFillStyleLst> </a:fmtScheme> </a:themeElements> <a:objectDefaults> <a:spDef> <a:spPr/> <a:bodyPr/> <a:lstStyle/> <a:style> <a:lnRef idx=\"1\"> <a:schemeClr val=\"accent1\"/> </a:lnRef> <a:fillRef idx=\"3\"> <a:schemeClr val=\"accent1\"/> </a:fillRef> <a:effectRef idx=\"2\"> <a:schemeClr val=\"accent1\"/> </a:effectRef> <a:fontRef idx=\"minor\"> <a:schemeClr val=\"lt1\"/> </a:fontRef> </a:style> </a:spDef> <a:lnDef> <a:spPr/> <a:bodyPr/> <a:lstStyle/> <a:style> <a:lnRef idx=\"2\"> <a:schemeClr val=\"accent1\"/> </a:lnRef> <a:fillRef idx=\"0\"> <a:schemeClr val=\"accent1\"/> </a:fillRef> <a:effectRef idx=\"1\"> <a:schemeClr val=\"accent1\"/> </a:effectRef> <a:fontRef idx=\"minor\"> <a:schemeClr val=\"tx1\"/> </a:fontRef> </a:style> </a:lnDef> </a:objectDefaults> <a:extraClrSchemeLst/> </a:theme>';\r\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CsvFormatterStream = void 0;\n\nvar stream_1 = require(\"stream\");\n\nvar formatter_1 = require(\"./formatter\");\n\nvar CsvFormatterStream = /*#__PURE__*/function (_stream_1$Transform) {\n _inherits(CsvFormatterStream, _stream_1$Transform);\n\n var _super = _createSuper(CsvFormatterStream);\n\n function CsvFormatterStream(formatterOptions) {\n var _this;\n\n _classCallCheck(this, CsvFormatterStream);\n\n _this = _super.call(this, {\n writableObjectMode: formatterOptions.objectMode\n });\n _this.hasWrittenBOM = false;\n _this.formatterOptions = formatterOptions;\n _this.rowFormatter = new formatter_1.RowFormatter(formatterOptions); // if writeBOM is false then set to true\n // if writeBOM is true then set to false by default so it is written out\n\n _this.hasWrittenBOM = !formatterOptions.writeBOM;\n return _this;\n }\n\n _createClass(CsvFormatterStream, [{\n key: \"transform\",\n value: function transform(transformFunction) {\n this.rowFormatter.rowTransform = transformFunction;\n return this;\n }\n }, {\n key: \"_transform\",\n value: function _transform(row, encoding, cb) {\n var _this2 = this;\n\n var cbCalled = false;\n\n try {\n if (!this.hasWrittenBOM) {\n this.push(this.formatterOptions.BOM);\n this.hasWrittenBOM = true;\n }\n\n this.rowFormatter.format(row, function (err, rows) {\n if (err) {\n cbCalled = true;\n return cb(err);\n }\n\n if (rows) {\n rows.forEach(function (r) {\n _this2.push(Buffer.from(r, 'utf8'));\n });\n }\n\n cbCalled = true;\n return cb();\n });\n } catch (e) {\n if (cbCalled) {\n throw e;\n }\n\n cb(e);\n }\n }\n }, {\n key: \"_flush\",\n value: function _flush(cb) {\n var _this3 = this;\n\n this.rowFormatter.finish(function (err, rows) {\n if (err) {\n return cb(err);\n }\n\n if (rows) {\n rows.forEach(function (r) {\n _this3.push(Buffer.from(r, 'utf8'));\n });\n }\n\n return cb();\n });\n }\n }]);\n\n return CsvFormatterStream;\n}(stream_1.Transform);\n\nexports.CsvFormatterStream = CsvFormatterStream;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Dc3ZGb3JtYXR0ZXJTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBLFFBQUEsR0FBQSxPQUFBLENBQUEsUUFBQSxDQUFBOztBQUdBLElBQUEsV0FBQSxHQUFBLE9BQUEsQ0FBQSxhQUFBLENBQUE7O0lBRWEsa0I7Ozs7O0FBT1QsOEJBQW1CLGdCQUFuQixFQUEyRDtBQUFBOztBQUFBOztBQUN2RCw4QkFBTTtBQUFFLE1BQUEsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUM7QUFBdkMsS0FBTjtBQUhJLFVBQUEsYUFBQSxHQUFnQixLQUFoQjtBQUlKLFVBQUssZ0JBQUwsR0FBd0IsZ0JBQXhCO0FBQ0EsVUFBSyxZQUFMLEdBQW9CLElBQUksV0FBQSxDQUFBLFlBQUosQ0FBaUIsZ0JBQWpCLENBQXBCLENBSHVELENBSXZEO0FBQ0E7O0FBQ0EsVUFBSyxhQUFMLEdBQXFCLENBQUMsZ0JBQWdCLENBQUMsUUFBdkM7QUFOdUQ7QUFPMUQ7Ozs7OEJBRWdCLGlCLEVBQTZDO0FBQzFELFdBQUssWUFBTCxDQUFrQixZQUFsQixHQUFpQyxpQkFBakM7QUFDQSxhQUFPLElBQVA7QUFDSDs7OytCQUVpQixHLEVBQVEsUSxFQUFrQixFLEVBQXFCO0FBQUE7O0FBQzdELFVBQUksUUFBUSxHQUFHLEtBQWY7O0FBQ0EsVUFBSTtBQUNBLFlBQUksQ0FBQyxLQUFLLGFBQVYsRUFBeUI7QUFDckIsZUFBSyxJQUFMLENBQVUsS0FBSyxnQkFBTCxDQUFzQixHQUFoQztBQUNBLGVBQUssYUFBTCxHQUFxQixJQUFyQjtBQUNIOztBQUNELGFBQUssWUFBTCxDQUFrQixNQUFsQixDQUF5QixHQUF6QixFQUE4QixVQUFDLEdBQUQsRUFBTSxJQUFOLEVBQW9CO0FBQzlDLGNBQUksR0FBSixFQUFTO0FBQ0wsWUFBQSxRQUFRLEdBQUcsSUFBWDtBQUNBLG1CQUFPLEVBQUUsQ0FBQyxHQUFELENBQVQ7QUFDSDs7QUFDRCxjQUFJLElBQUosRUFBVTtBQUNOLFlBQUEsSUFBSSxDQUFDLE9BQUwsQ0FBYSxVQUFDLENBQUQsRUFBWTtBQUNyQixjQUFBLE1BQUksQ0FBQyxJQUFMLENBQVUsTUFBTSxDQUFDLElBQVAsQ0FBWSxDQUFaLEVBQWUsTUFBZixDQUFWO0FBQ0gsYUFGRDtBQUdIOztBQUNELFVBQUEsUUFBUSxHQUFHLElBQVg7QUFDQSxpQkFBTyxFQUFFLEVBQVQ7QUFDSCxTQVpEO0FBYUgsT0FsQkQsQ0FrQkUsT0FBTyxDQUFQLEVBQVU7QUFDUixZQUFJLFFBQUosRUFBYztBQUNWLGdCQUFNLENBQU47QUFDSDs7QUFDRCxRQUFBLEVBQUUsQ0FBQyxDQUFELENBQUY7QUFDSDtBQUNKOzs7MkJBRWEsRSxFQUFxQjtBQUFBOztBQUMvQixXQUFLLFlBQUwsQ0FBa0IsTUFBbEIsQ0FBeUIsVUFBQyxHQUFELEVBQU0sSUFBTixFQUFvQjtBQUN6QyxZQUFJLEdBQUosRUFBUztBQUNMLGlCQUFPLEVBQUUsQ0FBQyxHQUFELENBQVQ7QUFDSDs7QUFDRCxZQUFJLElBQUosRUFBVTtBQUNOLFVBQUEsSUFBSSxDQUFDLE9BQUwsQ0FBYSxVQUFDLENBQUQsRUFBWTtBQUNyQixZQUFBLE1BQUksQ0FBQyxJQUFMLENBQVUsTUFBTSxDQUFDLElBQVAsQ0FBWSxDQUFaLEVBQWUsTUFBZixDQUFWO0FBQ0gsV0FGRDtBQUdIOztBQUNELGVBQU8sRUFBRSxFQUFUO0FBQ0gsT0FWRDtBQVdIOzs7O0VBN0RpRSxRQUFBLENBQUEsUzs7QUFBdEUsT0FBQSxDQUFBLGtCQUFBLEdBQUEsa0JBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormatterOptions = void 0;\n\nvar FormatterOptions = function FormatterOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormatterOptions);\n\n var _a;\n\n this.objectMode = true;\n this.delimiter = ',';\n this.rowDelimiter = '\\n';\n this.quote = '\"';\n this.escape = this.quote;\n this.quoteColumns = false;\n this.quoteHeaders = this.quoteColumns;\n this.headers = null;\n this.includeEndRowDelimiter = false;\n this.writeBOM = false;\n this.BOM = \"\\uFEFF\";\n this.alwaysWriteHeaders = false;\n Object.assign(this, opts || {});\n\n if (typeof (opts === null || opts === void 0 ? void 0 : opts.quoteHeaders) === 'undefined') {\n this.quoteHeaders = this.quoteColumns;\n }\n\n if ((opts === null || opts === void 0 ? void 0 : opts.quote) === true) {\n this.quote = '\"';\n } else if ((opts === null || opts === void 0 ? void 0 : opts.quote) === false) {\n this.quote = '';\n }\n\n if (typeof (opts === null || opts === void 0 ? void 0 : opts.escape) !== 'string') {\n this.escape = this.quote;\n }\n\n this.shouldWriteHeaders = !!this.headers && ((_a = opts.writeHeaders) !== null && _a !== void 0 ? _a : true);\n this.headers = Array.isArray(this.headers) ? this.headers : null;\n this.escapedQuote = \"\".concat(this.escape).concat(this.quote);\n};\n\nexports.FormatterOptions = FormatterOptions;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb3JtYXR0ZXJPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQXdCYSxnQixHQStCVCw0QkFBd0Q7QUFBQSxNQUFyQyxJQUFxQyx1RUFBRixFQUFFOztBQUFBOzs7O0FBOUJ4QyxPQUFBLFVBQUEsR0FBc0IsSUFBdEI7QUFFQSxPQUFBLFNBQUEsR0FBb0IsR0FBcEI7QUFFQSxPQUFBLFlBQUEsR0FBdUIsSUFBdkI7QUFFQSxPQUFBLEtBQUEsR0FBZ0IsR0FBaEI7QUFFQSxPQUFBLE1BQUEsR0FBaUIsS0FBSyxLQUF0QjtBQUVBLE9BQUEsWUFBQSxHQUE2QixLQUE3QjtBQUVBLE9BQUEsWUFBQSxHQUE2QixLQUFLLFlBQWxDO0FBRUEsT0FBQSxPQUFBLEdBQTJCLElBQTNCO0FBRUEsT0FBQSxzQkFBQSxHQUFrQyxLQUFsQztBQU1BLE9BQUEsUUFBQSxHQUFvQixLQUFwQjtBQUlBLE9BQUEsR0FBQSxHQUFjLFFBQWQ7QUFFQSxPQUFBLGtCQUFBLEdBQThCLEtBQTlCO0FBR1osRUFBQSxNQUFNLENBQUMsTUFBUCxDQUFjLElBQWQsRUFBb0IsSUFBSSxJQUFJLEVBQTVCOztBQUVBLE1BQUksUUFBTyxJQUFJLEtBQUEsSUFBSixJQUFBLElBQUksS0FBQSxLQUFBLENBQUosR0FBSSxLQUFBLENBQUosR0FBQSxJQUFJLENBQUUsWUFBYixNQUE4QixXQUFsQyxFQUErQztBQUMzQyxTQUFLLFlBQUwsR0FBb0IsS0FBSyxZQUF6QjtBQUNIOztBQUNELE1BQUksQ0FBQSxJQUFJLEtBQUEsSUFBSixJQUFBLElBQUksS0FBQSxLQUFBLENBQUosR0FBSSxLQUFBLENBQUosR0FBQSxJQUFJLENBQUUsS0FBTixNQUFnQixJQUFwQixFQUEwQjtBQUN0QixTQUFLLEtBQUwsR0FBYSxHQUFiO0FBQ0gsR0FGRCxNQUVPLElBQUksQ0FBQSxJQUFJLEtBQUEsSUFBSixJQUFBLElBQUksS0FBQSxLQUFBLENBQUosR0FBSSxLQUFBLENBQUosR0FBQSxJQUFJLENBQUUsS0FBTixNQUFnQixLQUFwQixFQUEyQjtBQUM5QixTQUFLLEtBQUwsR0FBYSxFQUFiO0FBQ0g7O0FBQ0QsTUFBSSxRQUFPLElBQUksS0FBQSxJQUFKLElBQUEsSUFBSSxLQUFBLEtBQUEsQ0FBSixHQUFJLEtBQUEsQ0FBSixHQUFBLElBQUksQ0FBRSxNQUFiLE1BQXdCLFFBQTVCLEVBQXNDO0FBQ2xDLFNBQUssTUFBTCxHQUFjLEtBQUssS0FBbkI7QUFDSDs7QUFDRCxPQUFLLGtCQUFMLEdBQTBCLENBQUMsQ0FBQyxLQUFLLE9BQVAsS0FBa0IsQ0FBQSxFQUFBLEdBQUMsSUFBSSxDQUFDLFlBQU4sTUFBa0IsSUFBbEIsSUFBa0IsRUFBQSxLQUFBLEtBQUEsQ0FBbEIsR0FBa0IsRUFBbEIsR0FBc0IsSUFBeEMsQ0FBMUI7QUFDQSxPQUFLLE9BQUwsR0FBZSxLQUFLLENBQUMsT0FBTixDQUFjLEtBQUssT0FBbkIsSUFBOEIsS0FBSyxPQUFuQyxHQUE2QyxJQUE1RDtBQUNBLE9BQUssWUFBTCxhQUF1QixLQUFLLE1BQTVCLFNBQXFDLEtBQUssS0FBMUM7QUFDSCxDOztBQWhETCxPQUFBLENBQUEsZ0JBQUEsR0FBQSxnQkFBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FieldFormatter = void 0;\n\nvar lodash_isboolean_1 = __importDefault(require(\"lodash.isboolean\"));\n\nvar lodash_isnil_1 = __importDefault(require(\"lodash.isnil\"));\n\nvar lodash_escaperegexp_1 = __importDefault(require(\"lodash.escaperegexp\"));\n\nvar FieldFormatter = /*#__PURE__*/function () {\n function FieldFormatter(formatterOptions) {\n _classCallCheck(this, FieldFormatter);\n\n this._headers = null;\n this.formatterOptions = formatterOptions;\n\n if (formatterOptions.headers !== null) {\n this.headers = formatterOptions.headers;\n }\n\n this.REPLACE_REGEXP = new RegExp(formatterOptions.quote, 'g');\n var escapePattern = \"[\".concat(formatterOptions.delimiter).concat(lodash_escaperegexp_1.default(formatterOptions.rowDelimiter), \"|\\r|\\n']\");\n this.ESCAPE_REGEXP = new RegExp(escapePattern);\n }\n\n _createClass(FieldFormatter, [{\n key: \"shouldQuote\",\n value: function shouldQuote(fieldIndex, isHeader) {\n var quoteConfig = isHeader ? this.formatterOptions.quoteHeaders : this.formatterOptions.quoteColumns;\n\n if (lodash_isboolean_1.default(quoteConfig)) {\n return quoteConfig;\n }\n\n if (Array.isArray(quoteConfig)) {\n return quoteConfig[fieldIndex];\n }\n\n if (this._headers !== null) {\n return quoteConfig[this._headers[fieldIndex]];\n }\n\n return false;\n }\n }, {\n key: \"format\",\n value: function format(field, fieldIndex, isHeader) {\n var preparedField = \"\".concat(lodash_isnil_1.default(field) ? '' : field).replace(/\\0/g, '');\n var formatterOptions = this.formatterOptions;\n\n if (formatterOptions.quote !== '') {\n var shouldEscape = preparedField.indexOf(formatterOptions.quote) !== -1;\n\n if (shouldEscape) {\n return this.quoteField(preparedField.replace(this.REPLACE_REGEXP, formatterOptions.escapedQuote));\n }\n }\n\n var hasEscapeCharacters = preparedField.search(this.ESCAPE_REGEXP) !== -1;\n\n if (hasEscapeCharacters || this.shouldQuote(fieldIndex, isHeader)) {\n return this.quoteField(preparedField);\n }\n\n return preparedField;\n }\n }, {\n key: \"quoteField\",\n value: function quoteField(field) {\n var quote = this.formatterOptions.quote;\n return \"\".concat(quote).concat(field).concat(quote);\n }\n }, {\n key: \"headers\",\n set: function set(headers) {\n this._headers = headers;\n }\n }]);\n\n return FieldFormatter;\n}();\n\nexports.FieldFormatter = FieldFormatter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0ZXIvRmllbGRGb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUEsa0JBQUEsR0FBQSxlQUFBLENBQUEsT0FBQSxDQUFBLGtCQUFBLENBQUEsQ0FBQTs7QUFDQSxJQUFBLGNBQUEsR0FBQSxlQUFBLENBQUEsT0FBQSxDQUFBLGNBQUEsQ0FBQSxDQUFBOztBQUNBLElBQUEscUJBQUEsR0FBQSxlQUFBLENBQUEsT0FBQSxDQUFBLHFCQUFBLENBQUEsQ0FBQTs7SUFJYSxjO0FBU1QsMEJBQW1CLGdCQUFuQixFQUEyRDtBQUFBOztBQU5uRCxTQUFBLFFBQUEsR0FBNEIsSUFBNUI7QUFPSixTQUFLLGdCQUFMLEdBQXdCLGdCQUF4Qjs7QUFDQSxRQUFJLGdCQUFnQixDQUFDLE9BQWpCLEtBQTZCLElBQWpDLEVBQXVDO0FBQ25DLFdBQUssT0FBTCxHQUFlLGdCQUFnQixDQUFDLE9BQWhDO0FBQ0g7O0FBQ0QsU0FBSyxjQUFMLEdBQXNCLElBQUksTUFBSixDQUFXLGdCQUFnQixDQUFDLEtBQTVCLEVBQW1DLEdBQW5DLENBQXRCO0FBQ0EsUUFBTSxhQUFhLGNBQU8sZ0JBQWdCLENBQUMsU0FBeEIsU0FBb0MscUJBQUEsQ0FBQSxPQUFBLENBQWEsZ0JBQWdCLENBQUMsWUFBOUIsQ0FBcEMsYUFBbkI7QUFDQSxTQUFLLGFBQUwsR0FBcUIsSUFBSSxNQUFKLENBQVcsYUFBWCxDQUFyQjtBQUNIOzs7O2dDQU1tQixVLEVBQW9CLFEsRUFBaUI7QUFDckQsVUFBTSxXQUFXLEdBQUcsUUFBUSxHQUFHLEtBQUssZ0JBQUwsQ0FBc0IsWUFBekIsR0FBd0MsS0FBSyxnQkFBTCxDQUFzQixZQUExRjs7QUFDQSxVQUFJLGtCQUFBLENBQUEsT0FBQSxDQUFVLFdBQVYsQ0FBSixFQUE0QjtBQUN4QixlQUFPLFdBQVA7QUFDSDs7QUFDRCxVQUFJLEtBQUssQ0FBQyxPQUFOLENBQWMsV0FBZCxDQUFKLEVBQWdDO0FBQzVCLGVBQU8sV0FBVyxDQUFDLFVBQUQsQ0FBbEI7QUFDSDs7QUFDRCxVQUFJLEtBQUssUUFBTCxLQUFrQixJQUF0QixFQUE0QjtBQUN4QixlQUFPLFdBQVcsQ0FBQyxLQUFLLFFBQUwsQ0FBYyxVQUFkLENBQUQsQ0FBbEI7QUFDSDs7QUFDRCxhQUFPLEtBQVA7QUFDSDs7OzJCQUVhLEssRUFBZSxVLEVBQW9CLFEsRUFBaUI7QUFDOUQsVUFBTSxhQUFhLEdBQUcsVUFBRyxjQUFBLENBQUEsT0FBQSxDQUFNLEtBQU4sSUFBZSxFQUFmLEdBQW9CLEtBQXZCLEVBQStCLE9BQS9CLENBQXVDLEtBQXZDLEVBQThDLEVBQTlDLENBQXRCO0FBRDhELFVBRXRELGdCQUZzRCxHQUVqQyxJQUZpQyxDQUV0RCxnQkFGc0Q7O0FBRzlELFVBQUksZ0JBQWdCLENBQUMsS0FBakIsS0FBMkIsRUFBL0IsRUFBbUM7QUFDL0IsWUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLE9BQWQsQ0FBc0IsZ0JBQWdCLENBQUMsS0FBdkMsTUFBa0QsQ0FBQyxDQUF4RTs7QUFDQSxZQUFJLFlBQUosRUFBa0I7QUFDZCxpQkFBTyxLQUFLLFVBQUwsQ0FBZ0IsYUFBYSxDQUFDLE9BQWQsQ0FBc0IsS0FBSyxjQUEzQixFQUEyQyxnQkFBZ0IsQ0FBQyxZQUE1RCxDQUFoQixDQUFQO0FBQ0g7QUFDSjs7QUFDRCxVQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxNQUFkLENBQXFCLEtBQUssYUFBMUIsTUFBNkMsQ0FBQyxDQUExRTs7QUFDQSxVQUFJLG1CQUFtQixJQUFJLEtBQUssV0FBTCxDQUFpQixVQUFqQixFQUE2QixRQUE3QixDQUEzQixFQUFtRTtBQUMvRCxlQUFPLEtBQUssVUFBTCxDQUFnQixhQUFoQixDQUFQO0FBQ0g7O0FBQ0QsYUFBTyxhQUFQO0FBQ0g7OzsrQkFFa0IsSyxFQUFhO0FBQUEsVUFDcEIsS0FEb0IsR0FDVixLQUFLLGdCQURLLENBQ3BCLEtBRG9CO0FBRTVCLHVCQUFVLEtBQVYsU0FBa0IsS0FBbEIsU0FBMEIsS0FBMUI7QUFDSDs7O3NCQXJDa0IsTyxFQUFpQjtBQUNoQyxXQUFLLFFBQUwsR0FBZ0IsT0FBaEI7QUFDSDs7Ozs7O0FBckJMLE9BQUEsQ0FBQSxjQUFBLEdBQUEsY0FBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RowFormatter = void 0;\n\nvar lodash_isfunction_1 = __importDefault(require(\"lodash.isfunction\"));\n\nvar lodash_isequal_1 = __importDefault(require(\"lodash.isequal\"));\n\nvar FieldFormatter_1 = require(\"./FieldFormatter\");\n\nvar types_1 = require(\"../types\");\n\nvar RowFormatter = /*#__PURE__*/function () {\n function RowFormatter(formatterOptions) {\n _classCallCheck(this, RowFormatter);\n\n this.rowCount = 0;\n this.formatterOptions = formatterOptions;\n this.fieldFormatter = new FieldFormatter_1.FieldFormatter(formatterOptions);\n this.headers = formatterOptions.headers;\n this.shouldWriteHeaders = formatterOptions.shouldWriteHeaders;\n this.hasWrittenHeaders = false;\n\n if (this.headers !== null) {\n this.fieldFormatter.headers = this.headers;\n }\n\n if (formatterOptions.transform) {\n this.rowTransform = formatterOptions.transform;\n }\n }\n\n _createClass(RowFormatter, [{\n key: \"format\",\n value: function format(row, cb) {\n var _this = this;\n\n this.callTransformer(row, function (err, transformedRow) {\n if (err) {\n return cb(err);\n }\n\n if (!row) {\n return cb(null);\n }\n\n var rows = [];\n\n if (transformedRow) {\n var _this$checkHeaders = _this.checkHeaders(transformedRow),\n shouldFormatColumns = _this$checkHeaders.shouldFormatColumns,\n headers = _this$checkHeaders.headers;\n\n if (_this.shouldWriteHeaders && headers && !_this.hasWrittenHeaders) {\n rows.push(_this.formatColumns(headers, true));\n _this.hasWrittenHeaders = true;\n }\n\n if (shouldFormatColumns) {\n var columns = _this.gatherColumns(transformedRow);\n\n rows.push(_this.formatColumns(columns, false));\n }\n }\n\n return cb(null, rows);\n });\n }\n }, {\n key: \"finish\",\n value: function finish(cb) {\n var rows = []; // check if we should write headers and we didnt get any rows\n\n if (this.formatterOptions.alwaysWriteHeaders && this.rowCount === 0) {\n if (!this.headers) {\n return cb(new Error('`alwaysWriteHeaders` option is set to true but `headers` option not provided.'));\n }\n\n rows.push(this.formatColumns(this.headers, true));\n }\n\n if (this.formatterOptions.includeEndRowDelimiter) {\n rows.push(this.formatterOptions.rowDelimiter);\n }\n\n return cb(null, rows);\n } // check if we need to write header return true if we should also write a row\n // could be false if headers is true and the header row(first item) is passed in\n\n }, {\n key: \"checkHeaders\",\n value: function checkHeaders(row) {\n if (this.headers) {\n // either the headers were provided by the user or we have already gathered them.\n return {\n shouldFormatColumns: true,\n headers: this.headers\n };\n }\n\n var headers = RowFormatter.gatherHeaders(row);\n this.headers = headers;\n this.fieldFormatter.headers = headers;\n\n if (!this.shouldWriteHeaders) {\n // if we are not supposed to write the headers then\n // always format the columns\n return {\n shouldFormatColumns: true,\n headers: null\n };\n } // if the row is equal to headers dont format\n\n\n return {\n shouldFormatColumns: !lodash_isequal_1.default(headers, row),\n headers: headers\n };\n } // todo change this method to unknown[]\n\n }, {\n key: \"gatherColumns\",\n value: function gatherColumns(row) {\n if (this.headers === null) {\n throw new Error('Headers is currently null');\n }\n\n if (!Array.isArray(row)) {\n return this.headers.map(function (header) {\n return row[header];\n });\n }\n\n if (RowFormatter.isHashArray(row)) {\n return this.headers.map(function (header, i) {\n var col = row[i];\n\n if (col) {\n return col[1];\n }\n\n return '';\n });\n }\n\n return this.headers.map(function (header, i) {\n return row[i];\n });\n }\n }, {\n key: \"callTransformer\",\n value: function callTransformer(row, cb) {\n if (!this._rowTransform) {\n return cb(null, row);\n }\n\n return this._rowTransform(row, cb);\n }\n }, {\n key: \"formatColumns\",\n value: function formatColumns(columns, isHeadersRow) {\n var _this2 = this;\n\n var formattedCols = columns.map(function (field, i) {\n return _this2.fieldFormatter.format(field, i, isHeadersRow);\n }).join(this.formatterOptions.delimiter);\n var rowCount = this.rowCount;\n this.rowCount += 1;\n\n if (rowCount) {\n return [this.formatterOptions.rowDelimiter, formattedCols].join('');\n }\n\n return formattedCols;\n }\n }, {\n key: \"rowTransform\",\n set: function set(transformFunction) {\n if (!lodash_isfunction_1.default(transformFunction)) {\n throw new TypeError('The transform should be a function');\n }\n\n this._rowTransform = RowFormatter.createTransform(transformFunction);\n }\n }], [{\n key: \"isHashArray\",\n value: function isHashArray(row) {\n if (Array.isArray(row)) {\n return Array.isArray(row[0]) && row[0].length === 2;\n }\n\n return false;\n } // get headers from a row item\n\n }, {\n key: \"gatherHeaders\",\n value: function gatherHeaders(row) {\n if (RowFormatter.isHashArray(row)) {\n // lets assume a multi-dimesional array with item 0 being the header\n return row.map(function (it) {\n return it[0];\n });\n }\n\n if (Array.isArray(row)) {\n return row;\n }\n\n return Object.keys(row);\n }\n }, {\n key: \"createTransform\",\n value: function createTransform(transformFunction) {\n if (types_1.isSyncTransform(transformFunction)) {\n return function (row, cb) {\n var transformedRow = null;\n\n try {\n transformedRow = transformFunction(row);\n } catch (e) {\n return cb(e);\n }\n\n return cb(null, transformedRow);\n };\n }\n\n return function (row, cb) {\n transformFunction(row, cb);\n };\n }\n }]);\n\n return RowFormatter;\n}();\n\nexports.RowFormatter = RowFormatter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0ZXIvUm93Rm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBLG1CQUFBLEdBQUEsZUFBQSxDQUFBLE9BQUEsQ0FBQSxtQkFBQSxDQUFBLENBQUE7O0FBQ0EsSUFBQSxnQkFBQSxHQUFBLGVBQUEsQ0FBQSxPQUFBLENBQUEsZ0JBQUEsQ0FBQSxDQUFBOztBQUVBLElBQUEsZ0JBQUEsR0FBQSxPQUFBLENBQUEsa0JBQUEsQ0FBQTs7QUFDQSxJQUFBLE9BQUEsR0FBQSxPQUFBLENBQUEsVUFBQSxDQUFBOztJQU1hLFk7QUFxRFQsd0JBQW1CLGdCQUFuQixFQUEyRDtBQUFBOztBQUZuRCxTQUFBLFFBQUEsR0FBVyxDQUFYO0FBR0osU0FBSyxnQkFBTCxHQUF3QixnQkFBeEI7QUFDQSxTQUFLLGNBQUwsR0FBc0IsSUFBSSxnQkFBQSxDQUFBLGNBQUosQ0FBbUIsZ0JBQW5CLENBQXRCO0FBRUEsU0FBSyxPQUFMLEdBQWUsZ0JBQWdCLENBQUMsT0FBaEM7QUFDQSxTQUFLLGtCQUFMLEdBQTBCLGdCQUFnQixDQUFDLGtCQUEzQztBQUNBLFNBQUssaUJBQUwsR0FBeUIsS0FBekI7O0FBQ0EsUUFBSSxLQUFLLE9BQUwsS0FBaUIsSUFBckIsRUFBMkI7QUFDdkIsV0FBSyxjQUFMLENBQW9CLE9BQXBCLEdBQThCLEtBQUssT0FBbkM7QUFDSDs7QUFDRCxRQUFJLGdCQUFnQixDQUFDLFNBQXJCLEVBQWdDO0FBQzVCLFdBQUssWUFBTCxHQUFvQixnQkFBZ0IsQ0FBQyxTQUFyQztBQUNIO0FBQ0o7Ozs7MkJBU2EsRyxFQUFRLEUsRUFBd0I7QUFBQTs7QUFDMUMsV0FBSyxlQUFMLENBQXFCLEdBQXJCLEVBQTBCLFVBQUMsR0FBRCxFQUFNLGNBQU4sRUFBb0M7QUFDMUQsWUFBSSxHQUFKLEVBQVM7QUFDTCxpQkFBTyxFQUFFLENBQUMsR0FBRCxDQUFUO0FBQ0g7O0FBQ0QsWUFB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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar RowFormatter_1 = require(\"./RowFormatter\");\n\nObject.defineProperty(exports, \"RowFormatter\", {\n enumerable: true,\n get: function get() {\n return RowFormatter_1.RowFormatter;\n }\n});\n\nvar FieldFormatter_1 = require(\"./FieldFormatter\");\n\nObject.defineProperty(exports, \"FieldFormatter\", {\n enumerable: true,\n get: function get() {\n return FieldFormatter_1.FieldFormatter;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQSxjQUFBLEdBQUEsT0FBQSxDQUFBLGdCQUFBLENBQUE7O0FBQVMsTUFBQSxDQUFBLGNBQUEsQ0FBQSxPQUFBLEVBQUEsY0FBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLGNBQUEsQ0FBQSxZQUFBO0FBQVk7QUFBWixDQUFBOztBQUNULElBQUEsZ0JBQUEsR0FBQSxPQUFBLENBQUEsa0JBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxnQkFBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLGdCQUFBLENBQUEsY0FBQTtBQUFjO0FBQWQsQ0FBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nvar __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = void 0 && (void 0).__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = void 0 && (void 0).__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.writeToPath = exports.writeToString = exports.writeToBuffer = exports.writeToStream = exports.write = exports.format = void 0;\n\nvar util_1 = require(\"util\");\n\nvar stream_1 = require(\"stream\");\n\nvar fs = __importStar(require(\"fs\"));\n\nvar FormatterOptions_1 = require(\"./FormatterOptions\");\n\nvar CsvFormatterStream_1 = require(\"./CsvFormatterStream\");\n\n__exportStar(require(\"./types\"), exports);\n\nvar CsvFormatterStream_2 = require(\"./CsvFormatterStream\");\n\nObject.defineProperty(exports, \"CsvFormatterStream\", {\n enumerable: true,\n get: function get() {\n return CsvFormatterStream_2.CsvFormatterStream;\n }\n});\n\nvar FormatterOptions_2 = require(\"./FormatterOptions\");\n\nObject.defineProperty(exports, \"FormatterOptions\", {\n enumerable: true,\n get: function get() {\n return FormatterOptions_2.FormatterOptions;\n }\n});\n\nexports.format = function (options) {\n return new CsvFormatterStream_1.CsvFormatterStream(new FormatterOptions_1.FormatterOptions(options));\n};\n\nexports.write = function (rows, options) {\n var csvStream = exports.format(options);\n var promiseWrite = util_1.promisify(function (row, cb) {\n csvStream.write(row, undefined, cb);\n });\n rows.reduce(function (prev, row) {\n return prev.then(function () {\n return promiseWrite(row);\n });\n }, Promise.resolve()).then(function () {\n return csvStream.end();\n }).catch(function (err) {\n csvStream.emit('error', err);\n });\n return csvStream;\n};\n\nexports.writeToStream = function (ws, rows, options) {\n return exports.write(rows, options).pipe(ws);\n};\n\nexports.writeToBuffer = function (rows) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var buffers = [];\n var ws = new stream_1.Writable({\n write: function write(data, enc, writeCb) {\n buffers.push(data);\n writeCb();\n }\n });\n return new Promise(function (res, rej) {\n ws.on('error', rej).on('finish', function () {\n return res(Buffer.concat(buffers));\n });\n exports.write(rows, opts).pipe(ws);\n });\n};\n\nexports.writeToString = function (rows, options) {\n return exports.writeToBuffer(rows, options).then(function (buffer) {\n return buffer.toString();\n });\n};\n\nexports.writeToPath = function (path, rows, options) {\n var stream = fs.createWriteStream(path, {\n encoding: 'utf8'\n });\n return exports.write(rows, options).pipe(stream);\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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","\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSyncTransform = void 0;\n\nexports.isSyncTransform = function (transform) {\n return transform.length === 1;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7QUFZYSxPQUFBLENBQUEsZUFBQSxHQUFrQixVQUMzQixTQUQyQjtBQUFBLFNBRVcsU0FBUyxDQUFDLE1BQVYsS0FBcUIsQ0FGaEM7QUFBQSxDQUFsQiIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CsvParserStream = void 0;\n\nvar string_decoder_1 = require(\"string_decoder\");\n\nvar stream_1 = require(\"stream\");\n\nvar transforms_1 = require(\"./transforms\");\n\nvar parser_1 = require(\"./parser\");\n\nvar CsvParserStream = /*#__PURE__*/function (_stream_1$Transform) {\n _inherits(CsvParserStream, _stream_1$Transform);\n\n var _super = _createSuper(CsvParserStream);\n\n function CsvParserStream(parserOptions) {\n var _this;\n\n _classCallCheck(this, CsvParserStream);\n\n _this = _super.call(this, {\n objectMode: parserOptions.objectMode\n });\n _this.lines = '';\n _this.rowCount = 0;\n _this.parsedRowCount = 0;\n _this.parsedLineCount = 0;\n _this.endEmitted = false;\n _this.headersEmitted = false;\n _this.parserOptions = parserOptions;\n _this.parser = new parser_1.Parser(parserOptions);\n _this.headerTransformer = new transforms_1.HeaderTransformer(parserOptions);\n _this.decoder = new string_decoder_1.StringDecoder(parserOptions.encoding);\n _this.rowTransformerValidator = new transforms_1.RowTransformerValidator();\n return _this;\n }\n\n _createClass(CsvParserStream, [{\n key: \"transform\",\n value: function transform(transformFunction) {\n this.rowTransformerValidator.rowTransform = transformFunction;\n return this;\n }\n }, {\n key: \"validate\",\n value: function validate(validateFunction) {\n this.rowTransformerValidator.rowValidator = validateFunction;\n return this;\n } // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n }, {\n key: \"emit\",\n value: function emit(event) {\n var _get2;\n\n if (event === 'end') {\n if (!this.endEmitted) {\n this.endEmitted = true;\n\n _get(_getPrototypeOf(CsvParserStream.prototype), \"emit\", this).call(this, 'end', this.rowCount);\n }\n\n return false;\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n return (_get2 = _get(_getPrototypeOf(CsvParserStream.prototype), \"emit\", this)).call.apply(_get2, [this, event].concat(rest));\n }\n }, {\n key: \"_transform\",\n value: function _transform(data, encoding, done) {\n // if we have hit our maxRows parsing limit then skip parsing\n if (this.hasHitRowLimit) {\n return done();\n }\n\n try {\n var lines = this.lines;\n var newLine = lines + this.decoder.write(data);\n var rows = this.parse(newLine, true);\n return this.processRows(rows, done);\n } catch (e) {\n return done(e);\n }\n }\n }, {\n key: \"_flush\",\n value: function _flush(done) {\n // if we have hit our maxRows parsing limit then skip parsing\n if (this.hasHitRowLimit) {\n return done();\n }\n\n try {\n var newLine = this.lines + this.decoder.end();\n var rows = this.parse(newLine, false);\n return this.processRows(rows, done);\n } catch (e) {\n return done(e);\n }\n }\n }, {\n key: \"parse\",\n value: function parse(data, hasMoreData) {\n if (!data) {\n return [];\n }\n\n var _this$parser$parse = this.parser.parse(data, hasMoreData),\n line = _this$parser$parse.line,\n rows = _this$parser$parse.rows;\n\n this.lines = line;\n return rows;\n }\n }, {\n key: \"processRows\",\n value: function processRows(rows, cb) {\n var _this2 = this;\n\n var rowsLength = rows.length;\n\n var iterate = function iterate(i) {\n var callNext = function callNext(err) {\n if (err) {\n return cb(err);\n }\n\n if (i % 100 === 0) {\n // incase the transform are sync insert a next tick to prevent stack overflow\n setImmediate(function () {\n return iterate(i + 1);\n });\n return undefined;\n }\n\n return iterate(i + 1);\n };\n\n _this2.checkAndEmitHeaders(); // if we have emitted all rows or we have hit the maxRows limit option\n // then end\n\n\n if (i >= rowsLength || _this2.hasHitRowLimit) {\n return cb();\n }\n\n _this2.parsedLineCount += 1;\n\n if (_this2.shouldSkipLine) {\n return callNext();\n }\n\n var row = rows[i];\n _this2.rowCount += 1;\n _this2.parsedRowCount += 1;\n var nextRowCount = _this2.rowCount;\n return _this2.transformRow(row, function (err, transformResult) {\n if (err) {\n _this2.rowCount -= 1;\n return callNext(err);\n }\n\n if (!transformResult) {\n return callNext(new Error('expected transform result'));\n }\n\n if (!transformResult.isValid) {\n _this2.emit('data-invalid', transformResult.row, nextRowCount, transformResult.reason);\n } else if (transformResult.row) {\n return _this2.pushRow(transformResult.row, callNext);\n }\n\n return callNext();\n });\n };\n\n iterate(0);\n }\n }, {\n key: \"transformRow\",\n value: function transformRow(parsedRow, cb) {\n var _this3 = this;\n\n try {\n this.headerTransformer.transform(parsedRow, function (err, withHeaders) {\n if (err) {\n return cb(err);\n }\n\n if (!withHeaders) {\n return cb(new Error('Expected result from header transform'));\n }\n\n if (!withHeaders.isValid) {\n if (_this3.shouldEmitRows) {\n return cb(null, {\n isValid: false,\n row: parsedRow\n });\n } // skipped because of skipRows option remove from total row count\n\n\n return _this3.skipRow(cb);\n }\n\n if (withHeaders.row) {\n if (_this3.shouldEmitRows) {\n return _this3.rowTransformerValidator.transformAndValidate(withHeaders.row, cb);\n } // skipped because of skipRows option remove from total row count\n\n\n return _this3.skipRow(cb);\n } // this is a header row dont include in the rowCount or parsedRowCount\n\n\n _this3.rowCount -= 1;\n _this3.parsedRowCount -= 1;\n return cb(null, {\n row: null,\n isValid: true\n });\n });\n } catch (e) {\n cb(e);\n }\n }\n }, {\n key: \"checkAndEmitHeaders\",\n value: function checkAndEmitHeaders() {\n if (!this.headersEmitted && this.headerTransformer.headers) {\n this.headersEmitted = true;\n this.emit('headers', this.headerTransformer.headers);\n }\n }\n }, {\n key: \"skipRow\",\n value: function skipRow(cb) {\n // skipped because of skipRows option remove from total row count\n this.rowCount -= 1;\n return cb(null, {\n row: null,\n isValid: true\n });\n }\n }, {\n key: \"pushRow\",\n value: function pushRow(row, cb) {\n try {\n if (!this.parserOptions.objectMode) {\n this.push(JSON.stringify(row));\n } else {\n this.push(row);\n }\n\n cb();\n } catch (e) {\n cb(e);\n }\n }\n }, {\n key: \"hasHitRowLimit\",\n get: function get() {\n return this.parserOptions.limitRows && this.rowCount >= this.parserOptions.maxRows;\n }\n }, {\n key: \"shouldEmitRows\",\n get: function get() {\n return this.parsedRowCount > this.parserOptions.skipRows;\n }\n }, {\n key: \"shouldSkipLine\",\n get: function get() {\n return this.parsedLineCount <= this.parserOptions.skipLines;\n }\n }]);\n\n return CsvParserStream;\n}(stream_1.Transform);\n\nexports.CsvParserStream = CsvParserStream;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Dc3ZQYXJzZXJTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQSxnQkFBQSxHQUFBLE9BQUEsQ0FBQSxnQkFBQSxDQUFBOztBQUNBLElBQUEsUUFBQSxHQUFBLE9BQUEsQ0FBQSxRQUFBLENBQUE7O0FBRUEsSUFBQSxZQUFBLEdBQUEsT0FBQSxDQUFBLGNBQUEsQ0FBQTs7QUFDQSxJQUFBLFFBQUEsR0FBQSxPQUFBLENBQUEsVUFBQSxDQUFBOztJQUdhLGU7Ozs7O0FBdUJULDJCQUFtQixhQUFuQixFQUErQztBQUFBOztBQUFBOztBQUMzQyw4QkFBTTtBQUFFLE1BQUEsVUFBVSxFQUFFLGFBQWEsQ0FBQztBQUE1QixLQUFOO0FBYkksVUFBQSxLQUFBLEdBQVEsRUFBUjtBQUVBLFVBQUEsUUFBQSxHQUFXLENBQVg7QUFFQSxVQUFBLGNBQUEsR0FBaUIsQ0FBakI7QUFFQSxVQUFBLGVBQUEsR0FBa0IsQ0FBbEI7QUFFQSxVQUFBLFVBQUEsR0FBYSxLQUFiO0FBRUEsVUFBQSxjQUFBLEdBQWlCLEtBQWpCO0FBSUosVUFBSyxhQUFMLEdBQXFCLGFBQXJCO0FBQ0EsVUFBSyxNQUFMLEdBQWMsSUFBSSxRQUFBLENBQUEsTUFBSixDQUFXLGFBQVgsQ0FBZDtBQUNBLFVBQUssaUJBQUwsR0FBeUIsSUFBSSxZQUFBLENBQUEsaUJBQUosQ0FBc0IsYUFBdEIsQ0FBekI7QUFDQSxVQUFLLE9BQUwsR0FBZSxJQUFJLGdCQUFBLENBQUEsYUFBSixDQUFrQixhQUFhLENBQUMsUUFBaEMsQ0FBZjtBQUNBLFVBQUssdUJBQUwsR0FBK0IsSUFBSSxZQUFBLENBQUEsdUJBQUosRUFBL0I7QUFOMkM7QUFPOUM7Ozs7OEJBY2dCLGlCLEVBQTZDO0FBQzFELFdBQUssdUJBQUwsQ0FBNkIsWUFBN0IsR0FBNEMsaUJBQTVDO0FBQ0EsYUFBTyxJQUFQO0FBQ0g7Ozs2QkFFZSxnQixFQUFnQztBQUM1QyxXQUFLLHVCQUFMLENBQTZCLFlBQTdCLEdBQTRDLGdCQUE1QztBQUNBLGFBQU8sSUFBUDtBQUNILEssQ0FFRDs7Ozt5QkFDWSxLLEVBQXNDO0FBQUE7O0FBQzlDLFVBQUksS0FBSyxLQUFLLEtBQWQsRUFBcUI7QUFDakIsWUFBSSxDQUFDLEtBQUssVUFBVixFQUFzQjtBQUNsQixlQUFLLFVBQUwsR0FBa0IsSUFBbEI7O0FBQ0Esb0ZBQVcsS0FBWCxFQUFrQixLQUFLLFFBQXZCO0FBQ0g7O0FBQ0QsZUFBTyxLQUFQO0FBQ0g7O0FBUDZDLHdDQUFYLElBQVc7QUFBWCxRQUFBLElBQVc7QUFBQTs7QUFROUMsK0dBQWtCLEtBQWxCLFNBQTRCLElBQTVCO0FBQ0g7OzsrQkFFaUIsSSxFQUFjLFEsRUFBa0IsSSxFQUF1QjtBQUNyRTtBQUNBLFVBQUksS0FBSyxjQUFULEVBQXlCO0FBQ3JCLGVBQU8sSUFBSSxFQUFYO0FBQ0g7O0FBQ0QsVUFBSTtBQUFBLFlBQ1EsS0FEUixHQUNrQixJQURsQixDQUNRLEtBRFI7QUFFQSxZQUFNLE9BQU8sR0FBRyxLQUFLLEdBQUcsS0FBSyxPQUFMLENBQWEsS0FBYixDQUFtQixJQUFuQixDQUF4QjtBQUNBLFlBQU0sSUFBSSxHQUFHLEtBQUssS0FBTCxDQUFXLE9BQVgsRUFBb0IsSUFBcEIsQ0FBYjtBQUNBLGVBQU8sS0FBSyxXQUFMLENBQWlCLElBQWpCLEVBQXVCLElBQXZCLENBQVA7QUFDSCxPQUxELENBS0UsT0FBTyxDQUFQLEVBQVU7QUFDUixlQUFPLElBQUksQ0FBQyxDQUFELENBQVg7QUFDSDtBQUNKOzs7MkJBRWEsSSxFQUF1QjtBQUNqQztBQUNBLFVBQUksS0FBSyxjQUFULEVBQXlCO0FBQ3JCLGVBQU8sSUFBSSxFQUFYO0FBQ0g7O0FBQ0QsVUFBSTtBQUNBLFlBQU0sT0FBTyxHQUFHLEtBQUssS0FBTCxHQUFhLEtBQUssT0FBTCxDQUFhLEdBQWIsRUFBN0I7QUFDQSxZQUFNLElBQUksR0FBRyxLQUFLLEtBQUwsQ0FBVyxPQUFYLEVBQW9CLEtBQXBCLENBQWI7QUFDQSxlQUFPLEtBQUssV0FBTCxDQUFpQixJQUFqQixFQUF1QixJQUF2QixDQUFQO0FBQ0gsT0FKRCxDQUlFLE9BQU8sQ0FBUCxFQUFVO0FBQ1IsZUFBTyxJQUFJLENBQUMsQ0FBRCxDQUFYO0FBQ0g7QUFDSjs7OzBCQUVhLEksRUFBYyxXLEVBQW9CO0FBQzVDLFVBQUksQ0FBQyxJQUFMLEVBQVc7QUFDUCxlQUFPLEVBQVA7QUFDSDs7QUFIMkMsK0JBSXJCLEtBQUssTUFBTCxDQUFZLEtBQVosQ0FBa0IsSUFBbEIsRUFBd0IsV0FBeEIsQ0FKcUI7QUFBQSxVQUlwQyxJQUpvQyxzQkFJcEMsSUFKb0M7QUFBQSxVQUk5QixJQUo4QixzQkFJOUIsSUFKOEI7O0FBSzVDLFdBQUssS0FBTCxHQUFhLElBQWI7QUFDQSxhQUFPLElBQVA7QUFDSDs7O2dDQUVtQixJLEVBQWtCLEUsRUFBcUI7QUFBQTs7QUFDdkQsVUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQXhCOztBQUNBLFVBQU0sT0FBTyxHQUFHLFNBQVYsT0FBVSxDQUFDLENBQUQsRUFBb0I7QUFDaEMsWUFBTSxRQUFRLEdBQUcsU0FBWCxRQUFXLENBQUMsR0FBRCxFQUFzQjtBQUNuQyxjQUFJLEdBQUosRUFBUztBQUNMLG1CQUFPLEVBQUUsQ0FBQyxHQUFELENBQVQ7QUFDSDs7QUFDRCxjQUFJLENBQUMsR0FBRyxHQUFKLEtBQVksQ0FBaEIsRUFBbUI7QUFDZjtBQUNBLFlBQUEsWUFBWSxDQUFDO0FBQUEscUJBQVksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFMLENBQW5CO0FBQUEsYUFBRCxDQUFaO0FBQ0EsbUJBQU8sU0FBUDtBQUNIOztBQUNELGlCQUFPLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBTCxDQUFkO0FBQ0gsU0FWRDs7QUFXQSxRQUFBLE1BQUksQ0FBQyxtQkFBTCxHQVpnQyxDQWFoQztBQUNBOzs7QUFDQSxZQUFJLENBQUMsSUFBSSxVQUFMLElBQW1CLE1BQUksQ0FBQyxjQUE1QixFQUE0QztBQUN4QyxpQkFBTyxFQUFFLEVBQVQ7QUFDSDs7QUFDRCxRQUFBLE1BQUksQ0FBQyxlQUFMLElBQXdCLENBQXhCOztBQUNBLFlBQUksTUFBSSxDQUFDLGNBQVQsRUFBeUI7QUFDckIsaUJBQU8sUUFBUSxFQUFmO0FBQ0g7O0FBQ0QsWUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUQsQ0FBaEI7QUFDQSxRQUFBLE1BQUksQ0FBQyxRQUFMLElBQWlCLENBQWpCO0FBQ0EsUUFBQSxNQUFJLENBQUMsY0FBTCxJQUF1QixDQUF2QjtBQUNBLFlBQU0sWUFBWSxHQUFHLE1BQUksQ0FBQyxRQUExQjtBQUNBLGVBQU8sTUFBSSxDQUFDLFlBQUwsQ0FBa0IsR0FBbEIsRUFBdUIsVUFBQyxHQUFELEVBQU0sZUFBTixFQUErQjtBQUN6RCxjQUFJLEdBQUosRUFBUztBQUNMLFlBQUEsTUFBSSxDQUFDLFFBQUwsSUFBaUIsQ0FBakI7QUFDQSxtQkFBTyxRQUFRLENBQUMsR0FBRCxDQUFmO0FBQ0g7O0FBQ0QsY0FBSSxDQUFDLGVBQUwsRUFBc0I7QUFDbEIsbUJBQU8sUUFBUSxDQUFDLElBQUksS0FBSixDQUFVLDJCQUFWLENBQUQsQ0FBZjtBQUNIOztBQUNELGNBQUksQ0FBQyxlQUFlLENBQUMsT0FBckIsRUFBOEI7QUFDMUIsWUFBQSxNQUFJLENBQUMsSUFBTCxDQUFVLGNBQVYsRUFBMEIsZUFBZSxDQUFDLEdBQTFDLEVBQStDLFlBQS9DLEVBQTZELGVBQWUsQ0FBQyxNQUE3RTtBQUNILFdBRkQsTUFFTyxJQUFJLGVBQWUsQ0FBQyxHQUFwQixFQUF5QjtBQUM1QixtQkFBTyxNQUFJLENBQUMsT0FBTCxDQUFhLGVBQWUsQ0FBQyxHQUE3QixFQUFrQyxRQUFsQyxDQUFQO0FBQ0g7O0FBQ0QsaUJBQU8sUUFBUSxFQUFmO0FBQ0gsU0FkTSxDQUFQO0FBZUgsT0F6Q0Q7O0FBMENBLE1BQUEsT0FBTyxDQUFDLENBQUQsQ0FBUDtBQUNIOzs7aUNBRW9CLFMsRUFBcUIsRSxFQUEyQjtBQUFBOztBQUNqRSxVQUFJO0FBQ0EsYUFBSyxpQkFBTCxDQUF1QixTQUF2QixDQUFpQyxTQUFqQyxFQUE0QyxVQUFDLEdBQUQsRUFBTSxXQUFOLEVBQTJCO0FBQ25FLGNBQUksR0FBSixFQUFTO0FBQ0wsbUJBQU8sRUFBRSxDQUFDLEdBQUQsQ0FBVDtBQUNIOztBQUNELGNBQUksQ0FBQyxXQUFMLEVBQWtCO0FBQ2QsbUJBQU8sRUFBRSxDQUFDLElBQUksS0FBSixDQUFVLHVDQUFWLENBQUQsQ0FBVDtBQUNIOztBQUNELGNBQUksQ0FBQyxXQUFXLENBQUMsT0FBakIsRUFBMEI7QUFDdEIsZ0JBQUksTUFBSSxDQUFDLGNBQVQsRUFBeUI7QUFDckIscUJBQU8sRUFBRSxDQUFDLElBQUQsRUFBTztBQUFFLGdCQUFBLE9BQU8sRUFBRSxLQUFYO0FBQWtCLGdCQUFBLEdBQUcsRUFBRztBQUF4QixlQUFQLENBQVQ7QUFDSCxhQUhxQixDQUl0Qjs7O0FBQ0EsbUJBQU8sTUFBSSxDQUFDLE9BQUwsQ0FBYSxFQUFiLENBQVA7QUFDSDs7QUFDRCxjQUFJLFdBQVcsQ0FBQyxHQUFoQixFQUFxQjtBQUNqQixnQkFBSSxNQUFJLENBQUMsY0FBVCxFQUF5QjtBQUNyQixxQkFBTyxNQUFJLENBQUMsdUJBQUwsQ0FBNkIsb0JBQTdCLENBQWtELFdBQVcsQ0FBQyxHQUE5RCxFQUFtRSxFQUFuRSxDQUFQO0FBQ0gsYUFIZ0IsQ0FJakI7OztBQUNBLG1CQUFPLE1BQUksQ0FBQyxPQUFMLENBQWEsRUFBYixDQUFQO0FBQ0gsV0FwQmtFLENBcUJuRTs7O0FBQ0EsVUFBQSxNQUFJLENBQUMsUUFBTCxJQUFpQixDQUFqQjtBQUNBLFVBQUEsTUFBSSxDQUFDLGNBQUwsSUFBdUIsQ0FBdkI7QUFDQSxpQkFBTyxFQUFFLENBQUMsSUFBRCxFQUFPO0FBQUUsWUFBQSxHQUFHLEVBQUUsSUFBUDtBQUFhLFlBQUEsT0FBTyxFQUFFO0FBQXRCLFdBQVAsQ0FBVDtBQUNILFNBekJEO0FBMEJILE9BM0JELENBMkJFLE9BQU8sQ0FBUCxFQUFVO0FBQ1IsUUFBQSxFQUFFLENBQUMsQ0FBRCxDQUFGO0FBQ0g7QUFDSjs7OzBDQUUwQjtBQUN2QixVQUFJLENBQUMsS0FBSyxjQUFOLElBQXdCLEtBQUssaUJBQUwsQ0FBdUIsT0FBbkQsRUFBNEQ7QUFDeEQsYUFBSyxjQUFMLEdBQXNCLElBQXRCO0FBQ0EsYUFBSyxJQUFMLENBQVUsU0FBVixFQUFxQixLQUFLLGlCQUFMLENBQXVCLE9BQTVDO0FBQ0g7QUFDSjs7OzRCQUVlLEUsRUFBMkI7QUFDdkM7QUFDQSxXQUFLLFFBQUwsSUFBaUIsQ0FBakI7QUFDQSxhQUFPLEVBQUUsQ0FBQyxJQUFELEVBQU87QUFBRSxRQUFBLEdBQUcsRUFBRSxJQUFQO0FBQWEsUUFBQSxPQUFPLEVBQUU7QUFBdEIsT0FBUCxDQUFUO0FBQ0g7Ozs0QkFFZSxHLEVBQVUsRSxFQUF5QjtBQUMvQyxVQUFJO0FBQ0EsWUFBSSxDQUFDLEtBQUssYUFBTCxDQUFtQixVQUF4QixFQUFvQztBQUNoQyxlQUFLLElBQUwsQ0FBVSxJQUFJLENBQUMsU0FBTCxDQUFlLEdBQWYsQ0FBVjtBQUNILFNBRkQsTUFFTztBQUNILGVBQUssSUFBTCxDQUFVLEdBQVY7QUFDSDs7QUFDRCxRQUFBLEVBQUU7QUFDTCxPQVBELENBT0UsT0FBTyxDQUFQLEVBQVU7QUFDUixRQUFBLEVBQUUsQ0FBQyxDQUFELENBQUY7QUFDSDtBQUNKOzs7d0JBaEx5QjtBQUN0QixhQUFPLEtBQUssYUFBTCxDQUFtQixTQUFuQixJQUFnQyxLQUFLLFFBQUwsSUFBaUIsS0FBSyxhQUFMLENBQW1CLE9BQTNFO0FBQ0g7Ozt3QkFFeUI7QUFDdEIsYUFBTyxLQUFLLGNBQUwsR0FBc0IsS0FBSyxhQUFMLENBQW1CLFFBQWhEO0FBQ0g7Ozt3QkFFeUI7QUFDdEIsYUFBTyxLQUFLLGVBQUwsSUFBd0IsS0FBSyxhQUFMLENBQW1CLFNBQWxEO0FBQ0g7Ozs7RUExQzhELFFBQUEsQ0FBQSxTOztBQUFuRSxPQUFBLENBQUEsZUFBQSxHQUFBLGVBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ParserOptions = void 0;\n\nvar lodash_escaperegexp_1 = __importDefault(require(\"lodash.escaperegexp\"));\n\nvar lodash_isnil_1 = __importDefault(require(\"lodash.isnil\"));\n\nvar ParserOptions = function ParserOptions(opts) {\n _classCallCheck(this, ParserOptions);\n\n var _a;\n\n this.objectMode = true;\n this.delimiter = ',';\n this.ignoreEmpty = false;\n this.quote = '\"';\n this.escape = null;\n this.escapeChar = this.quote;\n this.comment = null;\n this.supportsComments = false;\n this.ltrim = false;\n this.rtrim = false;\n this.trim = false;\n this.headers = null;\n this.renameHeaders = false;\n this.strictColumnHandling = false;\n this.discardUnmappedColumns = false;\n this.carriageReturn = '\\r';\n this.encoding = 'utf8';\n this.limitRows = false;\n this.maxRows = 0;\n this.skipLines = 0;\n this.skipRows = 0;\n Object.assign(this, opts || {});\n\n if (this.delimiter.length > 1) {\n throw new Error('delimiter option must be one character long');\n }\n\n this.escapedDelimiter = lodash_escaperegexp_1.default(this.delimiter);\n this.escapeChar = (_a = this.escape) !== null && _a !== void 0 ? _a : this.quote;\n this.supportsComments = !lodash_isnil_1.default(this.comment);\n this.NEXT_TOKEN_REGEXP = new RegExp(\"([^\\\\s]|\\\\r\\\\n|\\\\n|\\\\r|\".concat(this.escapedDelimiter, \")\"));\n\n if (this.maxRows > 0) {\n this.limitRows = true;\n }\n};\n\nexports.ParserOptions = ParserOptions;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9QYXJzZXJPcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUEscUJBQUEsR0FBQSxlQUFBLENBQUEsT0FBQSxDQUFBLHFCQUFBLENBQUEsQ0FBQTs7QUFDQSxJQUFBLGNBQUEsR0FBQSxlQUFBLENBQUEsT0FBQSxDQUFBLGNBQUEsQ0FBQSxDQUFBOztJQXVCYSxhLEdBK0NULHVCQUFtQixJQUFuQixFQUEyQztBQUFBOzs7O0FBNUMzQixPQUFBLFVBQUEsR0FBc0IsSUFBdEI7QUFFQSxPQUFBLFNBQUEsR0FBb0IsR0FBcEI7QUFFQSxPQUFBLFdBQUEsR0FBdUIsS0FBdkI7QUFFQSxPQUFBLEtBQUEsR0FBdUIsR0FBdkI7QUFFQSxPQUFBLE1BQUEsR0FBd0IsSUFBeEI7QUFFQSxPQUFBLFVBQUEsR0FBNEIsS0FBSyxLQUFqQztBQUVBLE9BQUEsT0FBQSxHQUF5QixJQUF6QjtBQUVBLE9BQUEsZ0JBQUEsR0FBNEIsS0FBNUI7QUFFQSxPQUFBLEtBQUEsR0FBaUIsS0FBakI7QUFFQSxPQUFBLEtBQUEsR0FBaUIsS0FBakI7QUFFQSxPQUFBLElBQUEsR0FBZ0IsS0FBaEI7QUFFQSxPQUFBLE9BQUEsR0FBa0UsSUFBbEU7QUFFQSxPQUFBLGFBQUEsR0FBeUIsS0FBekI7QUFFQSxPQUFBLG9CQUFBLEdBQWdDLEtBQWhDO0FBRUEsT0FBQSxzQkFBQSxHQUFrQyxLQUFsQztBQUVBLE9BQUEsY0FBQSxHQUF5QixJQUF6QjtBQUlBLE9BQUEsUUFBQSxHQUEyQixNQUEzQjtBQUVBLE9BQUEsU0FBQSxHQUFxQixLQUFyQjtBQUVBLE9BQUEsT0FBQSxHQUFrQixDQUFsQjtBQUVBLE9BQUEsU0FBQSxHQUFvQixDQUFwQjtBQUVBLE9BQUEsUUFBQSxHQUFtQixDQUFuQjtBQUdaLEVBQUEsTUFBTSxDQUFDLE1BQVAsQ0FBYyxJQUFkLEVBQW9CLElBQUksSUFBSSxFQUE1Qjs7QUFDQSxNQUFJLEtBQUssU0FBTCxDQUFlLE1BQWYsR0FBd0IsQ0FBNUIsRUFBK0I7QUFDM0IsVUFBTSxJQUFJLEtBQUosQ0FBVSw2Q0FBVixDQUFOO0FBQ0g7O0FBQ0QsT0FBSyxnQkFBTCxHQUF3QixxQkFBQSxDQUFBLE9BQUEsQ0FBYSxLQUFLLFNBQWxCLENBQXhCO0FBQ0EsT0FBSyxVQUFMLEdBQWUsQ0FBQSxFQUFBLEdBQUcsS0FBSyxNQUFSLE1BQWMsSUFBZCxJQUFjLEVBQUEsS0FBQSxLQUFBLENBQWQsR0FBYyxFQUFkLEdBQWtCLEtBQUssS0FBdEM7QUFDQSxPQUFLLGdCQUFMLEdBQXdCLENBQUMsY0FBQSxDQUFBLE9BQUEsQ0FBTSxLQUFLLE9BQVgsQ0FBekI7QUFDQSxPQUFLLGlCQUFMLEdBQXlCLElBQUksTUFBSixrQ0FBcUMsS0FBSyxnQkFBMUMsT0FBekI7O0FBRUEsTUFBSSxLQUFLLE9BQUwsR0FBZSxDQUFuQixFQUFzQjtBQUNsQixTQUFLLFNBQUwsR0FBaUIsSUFBakI7QUFDSDtBQUNKLEM7O0FBNURMLE9BQUEsQ0FBQSxhQUFBLEdBQUEsYUFBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nvar __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = void 0 && (void 0).__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = void 0 && (void 0).__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseString = exports.parseFile = exports.parseStream = exports.parse = void 0;\n\nvar fs = __importStar(require(\"fs\"));\n\nvar stream_1 = require(\"stream\");\n\nvar ParserOptions_1 = require(\"./ParserOptions\");\n\nvar CsvParserStream_1 = require(\"./CsvParserStream\");\n\n__exportStar(require(\"./types\"), exports);\n\nvar CsvParserStream_2 = require(\"./CsvParserStream\");\n\nObject.defineProperty(exports, \"CsvParserStream\", {\n enumerable: true,\n get: function get() {\n return CsvParserStream_2.CsvParserStream;\n }\n});\n\nvar ParserOptions_2 = require(\"./ParserOptions\");\n\nObject.defineProperty(exports, \"ParserOptions\", {\n enumerable: true,\n get: function get() {\n return ParserOptions_2.ParserOptions;\n }\n});\n\nexports.parse = function (args) {\n return new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(args));\n};\n\nexports.parseStream = function (stream, options) {\n return stream.pipe(new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(options)));\n};\n\nexports.parseFile = function (location) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return fs.createReadStream(location).pipe(new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(options)));\n};\n\nexports.parseString = function (string, options) {\n var rs = new stream_1.Readable();\n rs.push(string);\n rs.push(null);\n return rs.pipe(new CsvParserStream_1.CsvParserStream(new ParserOptions_1.ParserOptions(options)));\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUEsRUFBQSxHQUFBLFlBQUEsQ0FBQSxPQUFBLENBQUEsSUFBQSxDQUFBLENBQUE7O0FBQ0EsSUFBQSxRQUFBLEdBQUEsT0FBQSxDQUFBLFFBQUEsQ0FBQTs7QUFDQSxJQUFBLGVBQUEsR0FBQSxPQUFBLENBQUEsaUJBQUEsQ0FBQTs7QUFDQSxJQUFBLGlCQUFBLEdBQUEsT0FBQSxDQUFBLG1CQUFBLENBQUE7O0FBR0EsWUFBQSxDQUFBLE9BQUEsQ0FBQSxTQUFBLENBQUEsRUFBQSxPQUFBLENBQUE7O0FBQ0EsSUFBQSxpQkFBQSxHQUFBLE9BQUEsQ0FBQSxtQkFBQSxDQUFBOztBQUFTLE1BQUEsQ0FBQSxjQUFBLENBQUEsT0FBQSxFQUFBLGlCQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsaUJBQUEsQ0FBQSxlQUFBO0FBQWU7QUFBZixDQUFBOztBQUNULElBQUEsZUFBQSxHQUFBLE9BQUEsQ0FBQSxpQkFBQSxDQUFBOztBQUFTLE1BQUEsQ0FBQSxjQUFBLENBQUEsT0FBQSxFQUFBLGVBQUEsRUFBQTtBQUFBLEVBQUEsVUFBQSxFQUFBLElBQUE7QUFBQSxFQUFBLEdBQUEsRUFBQSxlQUFBO0FBQUEsV0FBQSxlQUFBLENBQUEsYUFBQTtBQUFhO0FBQWIsQ0FBQTs7QUFFSSxPQUFBLENBQUEsS0FBQSxHQUFRLFVBQStCLElBQS9CO0FBQUEsU0FDakIsSUFBSSxpQkFBQSxDQUFBLGVBQUosQ0FBb0IsSUFBSSxlQUFBLENBQUEsYUFBSixDQUFrQixJQUFsQixDQUFwQixDQURpQjtBQUFBLENBQVI7O0FBR0EsT0FBQSxDQUFBLFdBQUEsR0FBYyxVQUN2QixNQUR1QixFQUV2QixPQUZ1QjtBQUFBLFNBR0MsTUFBTSxDQUFDLElBQVAsQ0FBWSxJQUFJLGlCQUFBLENBQUEsZUFBSixDQUFvQixJQUFJLGVBQUEsQ0FBQSxhQUFKLENBQWtCLE9BQWxCLENBQXBCLENBQVosQ0FIRDtBQUFBLENBQWQ7O0FBS0EsT0FBQSxDQUFBLFNBQUEsR0FBWSxVQUNyQixRQURxQjtBQUFBLE1BRXJCLE9BRnFCLHVFQUVRLEVBRlI7QUFBQSxTQUdHLEVBQUUsQ0FBQyxnQkFBSCxDQUFvQixRQUFwQixFQUE4QixJQUE5QixDQUFtQyxJQUFJLGlCQUFBLENBQUEsZUFBSixDQUFvQixJQUFJLGVBQUEsQ0FBQSxhQUFKLENBQWtCLE9BQWxCLENBQXBCLENBQW5DLENBSEg7QUFBQSxDQUFaOztBQUtBLE9BQUEsQ0FBQSxXQUFBLEdBQWMsVUFDdkIsTUFEdUIsRUFFdkIsT0FGdUIsRUFHQTtBQUN2QixNQUFNLEVBQUUsR0FBRyxJQUFJLFFBQUEsQ0FBQSxRQUFKLEVBQVg7QUFDQSxFQUFBLEVBQUUsQ0FBQyxJQUFILENBQVEsTUFBUjtBQUNBLEVBQUEsRUFBRSxDQUFDLElBQUgsQ0FBUSxJQUFSO0FBQ0EsU0FBTyxFQUFFLENBQUMsSUFBSCxDQUFRLElBQUksaUJBQUEsQ0FBQSxlQUFKLENBQW9CLElBQUksZUFBQSxDQUFBLGFBQUosQ0FBa0IsT0FBbEIsQ0FBcEIsQ0FBUixDQUFQO0FBQ0gsQ0FSWSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = void 0;\n\nvar Scanner_1 = require(\"./Scanner\");\n\nvar RowParser_1 = require(\"./RowParser\");\n\nvar Token_1 = require(\"./Token\");\n\nvar EMPTY_ROW_REGEXP = /^\\s*(?:''|\"\")?\\s*(?:,\\s*(?:''|\"\")?\\s*)*$/;\n\nvar Parser = /*#__PURE__*/function () {\n function Parser(parserOptions) {\n _classCallCheck(this, Parser);\n\n this.parserOptions = parserOptions;\n this.rowParser = new RowParser_1.RowParser(this.parserOptions);\n }\n\n _createClass(Parser, [{\n key: \"parse\",\n value: function parse(line, hasMoreData) {\n var scanner = new Scanner_1.Scanner({\n line: Parser.removeBOM(line),\n parserOptions: this.parserOptions,\n hasMoreData: hasMoreData\n });\n\n if (this.parserOptions.supportsComments) {\n return this.parseWithComments(scanner);\n }\n\n return this.parseWithoutComments(scanner);\n }\n }, {\n key: \"parseWithoutComments\",\n value: function parseWithoutComments(scanner) {\n var rows = [];\n var shouldContinue = true;\n\n while (shouldContinue) {\n shouldContinue = this.parseRow(scanner, rows);\n }\n\n return {\n line: scanner.line,\n rows: rows\n };\n }\n }, {\n key: \"parseWithComments\",\n value: function parseWithComments(scanner) {\n var parserOptions = this.parserOptions;\n var rows = [];\n\n for (var nextToken = scanner.nextCharacterToken; nextToken !== null; nextToken = scanner.nextCharacterToken) {\n if (Token_1.Token.isTokenComment(nextToken, parserOptions)) {\n var cursor = scanner.advancePastLine();\n\n if (cursor === null) {\n return {\n line: scanner.lineFromCursor,\n rows: rows\n };\n }\n\n if (!scanner.hasMoreCharacters) {\n return {\n line: scanner.lineFromCursor,\n rows: rows\n };\n }\n\n scanner.truncateToCursor();\n } else if (!this.parseRow(scanner, rows)) {\n break;\n }\n }\n\n return {\n line: scanner.line,\n rows: rows\n };\n }\n }, {\n key: \"parseRow\",\n value: function parseRow(scanner, rows) {\n var nextToken = scanner.nextNonSpaceToken;\n\n if (!nextToken) {\n return false;\n }\n\n var row = this.rowParser.parse(scanner);\n\n if (row === null) {\n return false;\n }\n\n if (this.parserOptions.ignoreEmpty && EMPTY_ROW_REGEXP.test(row.join(''))) {\n return true;\n }\n\n rows.push(row);\n return true;\n }\n }], [{\n key: \"removeBOM\",\n value: function removeBOM(line) {\n // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n // conversion translates it to FEFF (UTF-16 BOM)\n if (line && line.charCodeAt(0) === 0xfeff) {\n return line.slice(1);\n }\n\n return line;\n }\n }]);\n\n return Parser;\n}();\n\nexports.Parser = Parser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBLFNBQUEsR0FBQSxPQUFBLENBQUEsV0FBQSxDQUFBOztBQUNBLElBQUEsV0FBQSxHQUFBLE9BQUEsQ0FBQSxhQUFBLENBQUE7O0FBR0EsSUFBQSxPQUFBLEdBQUEsT0FBQSxDQUFBLFNBQUEsQ0FBQTs7QUFFQSxJQUFNLGdCQUFnQixHQUFHLDBDQUF6Qjs7SUFNYSxNO0FBY1Qsa0JBQW1CLGFBQW5CLEVBQStDO0FBQUE7O0FBQzNDLFNBQUssYUFBTCxHQUFxQixhQUFyQjtBQUNBLFNBQUssU0FBTCxHQUFpQixJQUFJLFdBQUEsQ0FBQSxTQUFKLENBQWMsS0FBSyxhQUFuQixDQUFqQjtBQUNIOzs7OzBCQUVZLEksRUFBYyxXLEVBQW9CO0FBQzNDLFVBQU0sT0FBTyxHQUFHLElBQUksU0FBQSxDQUFBLE9BQUosQ0FBWTtBQUN4QixRQUFBLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUCxDQUFpQixJQUFqQixDQURrQjtBQUV4QixRQUFBLGFBQWEsRUFBRSxLQUFLLGFBRkk7QUFHeEIsUUFBQSxXQUFXLEVBQVg7QUFId0IsT0FBWixDQUFoQjs7QUFLQSxVQUFJLEtBQUssYUFBTCxDQUFtQixnQkFBdkIsRUFBeUM7QUFDckMsZUFBTyxLQUFLLGlCQUFMLENBQXVCLE9BQXZCLENBQVA7QUFDSDs7QUFDRCxhQUFPLEtBQUssb0JBQUwsQ0FBMEIsT0FBMUIsQ0FBUDtBQUNIOzs7eUNBRTRCLE8sRUFBZ0I7QUFDekMsVUFBTSxJQUFJLEdBQWUsRUFBekI7QUFDQSxVQUFJLGNBQWMsR0FBRyxJQUFyQjs7QUFDQSxhQUFPLGNBQVAsRUFBdUI7QUFDbkIsUUFBQSxjQUFjLEdBQUcsS0FBSyxRQUFMLENBQWMsT0FBZCxFQUF1QixJQUF2QixDQUFqQjtBQUNIOztBQUNELGFBQU87QUFBRSxRQUFBLElBQUksRUFBRSxPQUFPLENBQUMsSUFBaEI7QUFBc0IsUUFBQSxJQUFJLEVBQUo7QUFBdEIsT0FBUDtBQUNIOzs7c0NBRXlCLE8sRUFBZ0I7QUFBQSxVQUM5QixhQUQ4QixHQUNaLElBRFksQ0FDOUIsYUFEOEI7QUFFdEMsVUFBTSxJQUFJLEdBQWUsRUFBekI7O0FBQ0EsV0FBSyxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsa0JBQTdCLEVBQWlELFNBQVMsS0FBSyxJQUEvRCxFQUFxRSxTQUFTLEdBQUcsT0FBTyxDQUFDLGtCQUF6RixFQUE2RztBQUN6RyxZQUFJLE9BQUEsQ0FBQSxLQUFBLENBQU0sY0FBTixDQUFxQixTQUFyQixFQUFnQyxhQUFoQyxDQUFKLEVBQW9EO0FBQ2hELGNBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFSLEVBQWY7O0FBQ0EsY0FBSSxNQUFNLEtBQUssSUFBZixFQUFxQjtBQUNqQixtQkFBTztBQUFFLGNBQUEsSUFBSSxFQUFFLE9BQU8sQ0FBQyxjQUFoQjtBQUFnQyxjQUFBLElBQUksRUFBSjtBQUFoQyxhQUFQO0FBQ0g7O0FBQ0QsY0FBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBYixFQUFnQztBQUM1QixtQkFBTztBQUFFLGNBQUEsSUFBSSxFQUFFLE9BQU8sQ0FBQyxjQUFoQjtBQUFnQyxjQUFBLElBQUksRUFBSjtBQUFoQyxhQUFQO0FBQ0g7O0FBQ0QsVUFBQSxPQUFPLENBQUMsZ0JBQVI7QUFDSCxTQVRELE1BU08sSUFBSSxDQUFDLEtBQUssUUFBTCxDQUFjLE9BQWQsRUFBdUIsSUFBdkIsQ0FBTCxFQUFtQztBQUN0QztBQUNIO0FBQ0o7O0FBQ0QsYUFBTztBQUFFLFFBQUEsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFoQjtBQUFzQixRQUFBLElBQUksRUFBSjtBQUF0QixPQUFQO0FBQ0g7Ozs2QkFFZ0IsTyxFQUFrQixJLEVBQWdCO0FBQy9DLFVBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxpQkFBMUI7O0FBQ0EsVUFBSSxDQUFDLFNBQUwsRUFBZ0I7QUFDWixlQUFPLEtBQVA7QUFDSDs7QUFDRCxVQUFNLEdBQUcsR0FBRyxLQUFLLFNBQUwsQ0FBZSxLQUFmLENBQXFCLE9BQXJCLENBQVo7O0FBQ0EsVUFBSSxHQUFHLEtBQUssSUFBWixFQUFrQjtBQUNkLGVBQU8sS0FBUDtBQUNIOztBQUNELFVBQUksS0FBSyxhQUFMLENBQW1CLFdBQW5CLElBQWtDLGdCQUFnQixDQUFDLElBQWpCLENBQXNCLEdBQUcsQ0FBQyxJQUFKLENBQVMsRUFBVCxDQUF0QixDQUF0QyxFQUEyRTtBQUN2RSxlQUFPLElBQVA7QUFDSDs7QUFDRCxNQUFBLElBQUksQ0FBQyxJQUFMLENBQVUsR0FBVjtBQUNBLGFBQU8sSUFBUDtBQUNIOzs7OEJBekV3QixJLEVBQVk7QUFDakM7QUFDQTtBQUNBLFVBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFMLENBQWdCLENBQWhCLE1BQXVCLE1BQW5DLEVBQTJDO0FBQ3ZDLGVBQU8sSUFBSSxDQUFDLEtBQUwsQ0FBVyxDQUFYLENBQVA7QUFDSDs7QUFDRCxhQUFPLElBQVA7QUFDSDs7Ozs7O0FBUkwsT0FBQSxDQUFBLE1BQUEsR0FBQSxNQUFBIiwic291cmNlUm9vdCI6IiJ9","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RowParser = void 0;\n\nvar column_1 = require(\"./column\");\n\nvar Token_1 = require(\"./Token\");\n\nvar _Token_1$Token = Token_1.Token,\n isTokenRowDelimiter = _Token_1$Token.isTokenRowDelimiter,\n isTokenCarriageReturn = _Token_1$Token.isTokenCarriageReturn,\n isTokenDelimiter = _Token_1$Token.isTokenDelimiter;\n\nvar RowParser = /*#__PURE__*/function () {\n function RowParser(parserOptions) {\n _classCallCheck(this, RowParser);\n\n this.parserOptions = parserOptions;\n this.columnParser = new column_1.ColumnParser(parserOptions);\n }\n\n _createClass(RowParser, [{\n key: \"parse\",\n value: function parse(scanner) {\n var parserOptions = this.parserOptions;\n var hasMoreData = scanner.hasMoreData;\n var currentScanner = scanner;\n var columns = [];\n var currentToken = this.getStartToken(currentScanner, columns);\n\n while (currentToken) {\n if (isTokenRowDelimiter(currentToken)) {\n currentScanner.advancePastToken(currentToken); // if ends with CR and there is more data, keep unparsed due to possible\n // coming LF in CRLF\n\n if (!currentScanner.hasMoreCharacters && isTokenCarriageReturn(currentToken, parserOptions) && hasMoreData) {\n return null;\n }\n\n currentScanner.truncateToCursor();\n return columns;\n }\n\n if (!this.shouldSkipColumnParse(currentScanner, currentToken, columns)) {\n var item = this.columnParser.parse(currentScanner);\n\n if (item === null) {\n return null;\n }\n\n columns.push(item);\n }\n\n currentToken = currentScanner.nextNonSpaceToken;\n }\n\n if (!hasMoreData) {\n currentScanner.truncateToCursor();\n return columns;\n }\n\n return null;\n }\n }, {\n key: \"getStartToken\",\n value: function getStartToken(scanner, columns) {\n var currentToken = scanner.nextNonSpaceToken;\n\n if (currentToken !== null && isTokenDelimiter(currentToken, this.parserOptions)) {\n columns.push('');\n return scanner.nextNonSpaceToken;\n }\n\n return currentToken;\n }\n }, {\n key: \"shouldSkipColumnParse\",\n value: function shouldSkipColumnParse(scanner, currentToken, columns) {\n var parserOptions = this.parserOptions;\n\n if (isTokenDelimiter(currentToken, parserOptions)) {\n scanner.advancePastToken(currentToken); // if the delimiter is at the end of a line\n\n var nextToken = scanner.nextCharacterToken;\n\n if (!scanner.hasMoreCharacters || nextToken !== null && isTokenRowDelimiter(nextToken)) {\n columns.push('');\n return true;\n }\n\n if (nextToken !== null && isTokenDelimiter(nextToken, parserOptions)) {\n columns.push('');\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return RowParser;\n}();\n\nexports.RowParser = RowParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvUm93UGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFBLFFBQUEsR0FBQSxPQUFBLENBQUEsVUFBQSxDQUFBOztBQUdBLElBQUEsT0FBQSxHQUFBLE9BQUEsQ0FBQSxTQUFBLENBQUE7O3FCQUV5RSxPQUFBLENBQUEsSztJQUFqRSxtQixrQkFBQSxtQjtJQUFxQixxQixrQkFBQSxxQjtJQUF1QixnQixrQkFBQSxnQjs7SUFFdkMsUztBQUtULHFCQUFtQixhQUFuQixFQUErQztBQUFBOztBQUMzQyxTQUFLLGFBQUwsR0FBcUIsYUFBckI7QUFDQSxTQUFLLFlBQUwsR0FBb0IsSUFBSSxRQUFBLENBQUEsWUFBSixDQUFpQixhQUFqQixDQUFwQjtBQUNIOzs7OzBCQUVZLE8sRUFBZ0I7QUFBQSxVQUNqQixhQURpQixHQUNDLElBREQsQ0FDakIsYUFEaUI7QUFBQSxVQUVqQixXQUZpQixHQUVELE9BRkMsQ0FFakIsV0FGaUI7QUFHekIsVUFBTSxjQUFjLEdBQUcsT0FBdkI7QUFDQSxVQUFNLE9BQU8sR0FBcUIsRUFBbEM7QUFDQSxVQUFJLFlBQVksR0FBRyxLQUFLLGFBQUwsQ0FBbUIsY0FBbkIsRUFBbUMsT0FBbkMsQ0FBbkI7O0FBQ0EsYUFBTyxZQUFQLEVBQXFCO0FBQ2pCLFlBQUksbUJBQW1CLENBQUMsWUFBRCxDQUF2QixFQUF1QztBQUNuQyxVQUFBLGNBQWMsQ0FBQyxnQkFBZixDQUFnQyxZQUFoQyxFQURtQyxDQUVuQztBQUNBOztBQUNBLGNBQ0ksQ0FBQyxjQUFjLENBQUMsaUJBQWhCLElBQ0EscUJBQXFCLENBQUMsWUFBRCxFQUFlLGFBQWYsQ0FEckIsSUFFQSxXQUhKLEVBSUU7QUFDRSxtQkFBTyxJQUFQO0FBQ0g7O0FBQ0QsVUFBQSxjQUFjLENBQUMsZ0JBQWY7QUFDQSxpQkFBTyxPQUFQO0FBQ0g7O0FBQ0QsWUFBSSxDQUFDLEtBQUsscUJBQUwsQ0FBMkIsY0FBM0IsRUFBMkMsWUFBM0MsRUFBeUQsT0FBekQsQ0FBTCxFQUF3RTtBQUNwRSxjQUFNLElBQUksR0FBRyxLQUFLLFlBQUwsQ0FBa0IsS0FBbEIsQ0FBd0IsY0FBeEIsQ0FBYjs7QUFDQSxjQUFJLElBQUksS0FBSyxJQUFiLEVBQW1CO0FBQ2YsbUJBQU8sSUFBUDtBQUNIOztBQUNELFVBQUEsT0FBTyxDQUFDLElBQVIsQ0FBYSxJQUFiO0FBQ0g7O0FBQ0QsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDLGlCQUE5QjtBQUNIOztBQUNELFVBQUksQ0FBQyxXQUFMLEVBQWtCO0FBQ2QsUUFBQSxjQUFjLENBQUMsZ0JBQWY7QUFDQSxlQUFPLE9BQVA7QUFDSDs7QUFDRCxhQUFPLElBQVA7QUFDSDs7O2tDQUVxQixPLEVBQWtCLE8sRUFBaUI7QUFDckQsVUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGlCQUE3Qjs7QUFDQSxVQUFJLFlBQVksS0FBSyxJQUFqQixJQUF5QixnQkFBZ0IsQ0FBQyxZQUFELEVBQWUsS0FBSyxhQUFwQixDQUE3QyxFQUFpRjtBQUM3RSxRQUFBLE9BQU8sQ0FBQyxJQUFSLENBQWEsRUFBYjtBQUNBLGVBQU8sT0FBTyxDQUFDLGlCQUFmO0FBQ0g7O0FBQ0QsYUFBTyxZQUFQO0FBQ0g7OzswQ0FFNkIsTyxFQUFrQixZLEVBQXFCLE8sRUFBaUI7QUFBQSxVQUMxRSxhQUQwRSxHQUN4RCxJQUR3RCxDQUMxRSxhQUQwRTs7QUFFbEYsVUFBSSxnQkFBZ0IsQ0FBQyxZQUFELEVBQWUsYUFBZixDQUFwQixFQUFtRDtBQUMvQyxRQUFBLE9BQU8sQ0FBQyxnQkFBUixDQUF5QixZQUF6QixFQUQrQyxDQUUvQzs7QUFDQSxZQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsa0JBQTFCOztBQUNBLFlBQUksQ0FBQyxPQUFPLENBQUMsaUJBQVQsSUFBK0IsU0FBUyxLQUFLLElBQWQsSUFBc0IsbUJBQW1CLENBQUMsU0FBRCxDQUE1RSxFQUEwRjtBQUN0RixVQUFBLE9BQU8sQ0FBQyxJQUFSLENBQWEsRUFBYjtBQUNBLGlCQUFPLElBQVA7QUFDSDs7QUFDRCxZQUFJLFNBQVMsS0FBSyxJQUFkLElBQXNCLGdCQUFnQixDQUFDLFNBQUQsRUFBWSxhQUFaLENBQTFDLEVBQXNFO0FBQ2xFLFVBQUEsT0FBTyxDQUFDLElBQVIsQ0FBYSxFQUFiO0FBQ0EsaUJBQU8sSUFBUDtBQUNIO0FBQ0o7O0FBQ0QsYUFBTyxLQUFQO0FBQ0g7Ozs7OztBQXhFTCxPQUFBLENBQUEsU0FBQSxHQUFBLFNBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Scanner = void 0;\n\nvar Token_1 = require(\"./Token\");\n\nvar ROW_DELIMITER = /((?:\\r\\n)|\\n|\\r)/;\n\nvar Scanner = /*#__PURE__*/function () {\n function Scanner(args) {\n _classCallCheck(this, Scanner);\n\n this.cursor = 0;\n this.line = args.line;\n this.lineLength = this.line.length;\n this.parserOptions = args.parserOptions;\n this.hasMoreData = args.hasMoreData;\n this.cursor = args.cursor || 0;\n }\n\n _createClass(Scanner, [{\n key: \"advancePastLine\",\n value: function advancePastLine() {\n var match = ROW_DELIMITER.exec(this.lineFromCursor);\n\n if (!match) {\n if (this.hasMoreData) {\n return null;\n }\n\n this.cursor = this.lineLength;\n return this;\n }\n\n this.cursor += (match.index || 0) + match[0].length;\n return this;\n }\n }, {\n key: \"advanceTo\",\n value: function advanceTo(cursor) {\n this.cursor = cursor;\n return this;\n }\n }, {\n key: \"advanceToToken\",\n value: function advanceToToken(token) {\n this.cursor = token.startCursor;\n return this;\n }\n }, {\n key: \"advancePastToken\",\n value: function advancePastToken(token) {\n this.cursor = token.endCursor + 1;\n return this;\n }\n }, {\n key: \"truncateToCursor\",\n value: function truncateToCursor() {\n this.line = this.lineFromCursor;\n this.lineLength = this.line.length;\n this.cursor = 0;\n return this;\n }\n }, {\n key: \"hasMoreCharacters\",\n get: function get() {\n return this.lineLength > this.cursor;\n }\n }, {\n key: \"nextNonSpaceToken\",\n get: function get() {\n var lineFromCursor = this.lineFromCursor;\n var regex = this.parserOptions.NEXT_TOKEN_REGEXP;\n\n if (lineFromCursor.search(regex) === -1) {\n return null;\n }\n\n var match = regex.exec(lineFromCursor);\n\n if (match == null) {\n return null;\n }\n\n var token = match[1];\n var startCursor = this.cursor + (match.index || 0);\n return new Token_1.Token({\n token: token,\n startCursor: startCursor,\n endCursor: startCursor + token.length - 1\n });\n }\n }, {\n key: \"nextCharacterToken\",\n get: function get() {\n var cursor = this.cursor,\n lineLength = this.lineLength;\n\n if (lineLength <= cursor) {\n return null;\n }\n\n return new Token_1.Token({\n token: this.line[cursor],\n startCursor: cursor,\n endCursor: cursor\n });\n }\n }, {\n key: \"lineFromCursor\",\n get: function get() {\n return this.line.substr(this.cursor);\n }\n }]);\n\n return Scanner;\n}();\n\nexports.Scanner = Scanner;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvU2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQSxPQUFBLEdBQUEsT0FBQSxDQUFBLFNBQUEsQ0FBQTs7QUFFQSxJQUFNLGFBQWEsR0FBRyxrQkFBdEI7O0lBU2EsTztBQVdULG1CQUFtQixJQUFuQixFQUFvQztBQUFBOztBQUY3QixTQUFBLE1BQUEsR0FBUyxDQUFUO0FBR0gsU0FBSyxJQUFMLEdBQVksSUFBSSxDQUFDLElBQWpCO0FBQ0EsU0FBSyxVQUFMLEdBQWtCLEtBQUssSUFBTCxDQUFVLE1BQTVCO0FBQ0EsU0FBSyxhQUFMLEdBQXFCLElBQUksQ0FBQyxhQUExQjtBQUNBLFNBQUssV0FBTCxHQUFtQixJQUFJLENBQUMsV0FBeEI7QUFDQSxTQUFLLE1BQUwsR0FBYyxJQUFJLENBQUMsTUFBTCxJQUFlLENBQTdCO0FBQ0g7Ozs7c0NBeUNxQjtBQUNsQixVQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBZCxDQUFtQixLQUFLLGNBQXhCLENBQWQ7O0FBQ0EsVUFBSSxDQUFDLEtBQUwsRUFBWTtBQUNSLFlBQUksS0FBSyxXQUFULEVBQXNCO0FBQ2xCLGlCQUFPLElBQVA7QUFDSDs7QUFDRCxhQUFLLE1BQUwsR0FBYyxLQUFLLFVBQW5CO0FBQ0EsZUFBTyxJQUFQO0FBQ0g7O0FBQ0QsV0FBSyxNQUFMLElBQWUsQ0FBQyxLQUFLLENBQUMsS0FBTixJQUFlLENBQWhCLElBQXFCLEtBQUssQ0FBQyxDQUFELENBQUwsQ0FBUyxNQUE3QztBQUNBLGFBQU8sSUFBUDtBQUNIOzs7OEJBRWdCLE0sRUFBYztBQUMzQixXQUFLLE1BQUwsR0FBYyxNQUFkO0FBQ0EsYUFBTyxJQUFQO0FBQ0g7OzttQ0FFcUIsSyxFQUFZO0FBQzlCLFdBQUssTUFBTCxHQUFjLEtBQUssQ0FBQyxXQUFwQjtBQUNBLGFBQU8sSUFBUDtBQUNIOzs7cUNBRXVCLEssRUFBWTtBQUNoQyxXQUFLLE1BQUwsR0FBYyxLQUFLLENBQUMsU0FBTixHQUFrQixDQUFoQztBQUNBLGFBQU8sSUFBUDtBQUNIOzs7dUNBRXNCO0FBQ25CLFdBQUssSUFBTCxHQUFZLEtBQUssY0FBakI7QUFDQSxXQUFLLFVBQUwsR0FBa0IsS0FBSyxJQUFMLENBQVUsTUFBNUI7QUFDQSxXQUFLLE1BQUwsR0FBYyxDQUFkO0FBQ0EsYUFBTyxJQUFQO0FBQ0g7Ozt3QkF4RTJCO0FBQ3hCLGFBQU8sS0FBSyxVQUFMLEdBQWtCLEtBQUssTUFBOUI7QUFDSDs7O3dCQUUyQjtBQUFBLFVBQ2hCLGNBRGdCLEdBQ0csSUFESCxDQUNoQixjQURnQjtBQUV4QixVQUFNLEtBQUssR0FBRyxLQUFLLGFBQUwsQ0FBbUIsaUJBQWpDOztBQUNBLFVBQUksY0FBYyxDQUFDLE1BQWYsQ0FBc0IsS0FBdEIsTUFBaUMsQ0FBQyxDQUF0QyxFQUF5QztBQUNyQyxlQUFPLElBQVA7QUFDSDs7QUFDRCxVQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBTixDQUFXLGNBQVgsQ0FBZDs7QUFDQSxVQUFJLEtBQUssSUFBSSxJQUFiLEVBQW1CO0FBQ2YsZUFBTyxJQUFQO0FBQ0g7O0FBQ0QsVUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUQsQ0FBbkI7QUFDQSxVQUFNLFdBQVcsR0FBRyxLQUFLLE1BQUwsSUFBZSxLQUFLLENBQUMsS0FBTixJQUFlLENBQTlCLENBQXBCO0FBQ0EsYUFBTyxJQUFJLE9BQUEsQ0FBQSxLQUFKLENBQVU7QUFDYixRQUFBLEtBQUssRUFBTCxLQURhO0FBRWIsUUFBQSxXQUFXLEVBQVgsV0FGYTtBQUdiLFFBQUEsU0FBUyxFQUFFLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBcEIsR0FBNkI7QUFIM0IsT0FBVixDQUFQO0FBS0g7Ozt3QkFFNEI7QUFBQSxVQUNqQixNQURpQixHQUNNLElBRE4sQ0FDakIsTUFEaUI7QUFBQSxVQUNULFVBRFMsR0FDTSxJQUROLENBQ1QsVUFEUzs7QUFFekIsVUFBSSxVQUFVLElBQUksTUFBbEIsRUFBMEI7QUFDdEIsZUFBTyxJQUFQO0FBQ0g7O0FBQ0QsYUFBTyxJQUFJLE9BQUEsQ0FBQSxLQUFKLENBQVU7QUFDYixRQUFBLEtBQUssRUFBRSxLQUFLLElBQUwsQ0FBVSxNQUFWLENBRE07QUFFYixRQUFBLFdBQVcsRUFBRSxNQUZBO0FBR2IsUUFBQSxTQUFTLEVBQUU7QUFIRSxPQUFWLENBQVA7QUFLSDs7O3dCQUV3QjtBQUNyQixhQUFPLEtBQUssSUFBTCxDQUFVLE1BQVYsQ0FBaUIsS0FBSyxNQUF0QixDQUFQO0FBQ0g7Ozs7OztBQXhETCxPQUFBLENBQUEsT0FBQSxHQUFBLE9BQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Token = void 0;\n\nvar Token = /*#__PURE__*/function () {\n function Token(tokenArgs) {\n _classCallCheck(this, Token);\n\n this.token = tokenArgs.token;\n this.startCursor = tokenArgs.startCursor;\n this.endCursor = tokenArgs.endCursor;\n }\n\n _createClass(Token, null, [{\n key: \"isTokenRowDelimiter\",\n value: function isTokenRowDelimiter(token) {\n var content = token.token;\n return content === '\\r' || content === '\\n' || content === '\\r\\n';\n }\n }, {\n key: \"isTokenCarriageReturn\",\n value: function isTokenCarriageReturn(token, parserOptions) {\n return token.token === parserOptions.carriageReturn;\n }\n }, {\n key: \"isTokenComment\",\n value: function isTokenComment(token, parserOptions) {\n return parserOptions.supportsComments && !!token && token.token === parserOptions.comment;\n }\n }, {\n key: \"isTokenEscapeCharacter\",\n value: function isTokenEscapeCharacter(token, parserOptions) {\n return token.token === parserOptions.escapeChar;\n }\n }, {\n key: \"isTokenQuote\",\n value: function isTokenQuote(token, parserOptions) {\n return token.token === parserOptions.quote;\n }\n }, {\n key: \"isTokenDelimiter\",\n value: function isTokenDelimiter(token, parserOptions) {\n return token.token === parserOptions.delimiter;\n }\n }]);\n\n return Token;\n}();\n\nexports.Token = Token;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQVVhLEs7QUFnQ1QsaUJBQW1CLFNBQW5CLEVBQXVDO0FBQUE7O0FBQ25DLFNBQUssS0FBTCxHQUFhLFNBQVMsQ0FBQyxLQUF2QjtBQUNBLFNBQUssV0FBTCxHQUFtQixTQUFTLENBQUMsV0FBN0I7QUFDQSxTQUFLLFNBQUwsR0FBaUIsU0FBUyxDQUFDLFNBQTNCO0FBQ0g7Ozs7d0NBbkNpQyxLLEVBQVk7QUFDMUMsVUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQXRCO0FBQ0EsYUFBTyxPQUFPLEtBQUssSUFBWixJQUFvQixPQUFPLEtBQUssSUFBaEMsSUFBd0MsT0FBTyxLQUFLLE1BQTNEO0FBQ0g7OzswQ0FFbUMsSyxFQUFjLGEsRUFBNEI7QUFDMUUsYUFBTyxLQUFLLENBQUMsS0FBTixLQUFnQixhQUFhLENBQUMsY0FBckM7QUFDSDs7O21DQUU0QixLLEVBQWMsYSxFQUE0QjtBQUNuRSxhQUFPLGFBQWEsQ0FBQyxnQkFBZCxJQUFrQyxDQUFDLENBQUMsS0FBcEMsSUFBNkMsS0FBSyxDQUFDLEtBQU4sS0FBZ0IsYUFBYSxDQUFDLE9BQWxGO0FBQ0g7OzsyQ0FFb0MsSyxFQUFjLGEsRUFBNEI7QUFDM0UsYUFBTyxLQUFLLENBQUMsS0FBTixLQUFnQixhQUFhLENBQUMsVUFBckM7QUFDSDs7O2lDQUUwQixLLEVBQWMsYSxFQUE0QjtBQUNqRSxhQUFPLEtBQUssQ0FBQyxLQUFOLEtBQWdCLGFBQWEsQ0FBQyxLQUFyQztBQUNIOzs7cUNBRThCLEssRUFBYyxhLEVBQTRCO0FBQ3JFLGFBQU8sS0FBSyxDQUFDLEtBQU4sS0FBZ0IsYUFBYSxDQUFDLFNBQXJDO0FBQ0g7Ozs7OztBQXhCTCxPQUFBLENBQUEsS0FBQSxHQUFBLEtBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColumnFormatter = void 0;\n\nvar ColumnFormatter = function ColumnFormatter(parserOptions) {\n _classCallCheck(this, ColumnFormatter);\n\n if (parserOptions.trim) {\n this.format = function (col) {\n return col.trim();\n };\n } else if (parserOptions.ltrim) {\n this.format = function (col) {\n return col.trimLeft();\n };\n } else if (parserOptions.rtrim) {\n this.format = function (col) {\n return col.trimRight();\n };\n } else {\n this.format = function (col) {\n return col;\n };\n }\n};\n\nexports.ColumnFormatter = ColumnFormatter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL0NvbHVtbkZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFFYSxlLEdBR1QseUJBQW1CLGFBQW5CLEVBQStDO0FBQUE7O0FBQzNDLE1BQUksYUFBYSxDQUFDLElBQWxCLEVBQXdCO0FBQ3BCLFNBQUssTUFBTCxHQUFjLFVBQUMsR0FBRDtBQUFBLGFBQXlCLEdBQUcsQ0FBQyxJQUFKLEVBQXpCO0FBQUEsS0FBZDtBQUNILEdBRkQsTUFFTyxJQUFJLGFBQWEsQ0FBQyxLQUFsQixFQUF5QjtBQUM1QixTQUFLLE1BQUwsR0FBYyxVQUFDLEdBQUQ7QUFBQSxhQUF5QixHQUFHLENBQUMsUUFBSixFQUF6QjtBQUFBLEtBQWQ7QUFDSCxHQUZNLE1BRUEsSUFBSSxhQUFhLENBQUMsS0FBbEIsRUFBeUI7QUFDNUIsU0FBSyxNQUFMLEdBQWMsVUFBQyxHQUFEO0FBQUEsYUFBeUIsR0FBRyxDQUFDLFNBQUosRUFBekI7QUFBQSxLQUFkO0FBQ0gsR0FGTSxNQUVBO0FBQ0gsU0FBSyxNQUFMLEdBQWMsVUFBQyxHQUFEO0FBQUEsYUFBeUIsR0FBekI7QUFBQSxLQUFkO0FBQ0g7QUFDSixDOztBQWJMLE9BQUEsQ0FBQSxlQUFBLEdBQUEsZUFBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColumnParser = void 0;\n\nvar NonQuotedColumnParser_1 = require(\"./NonQuotedColumnParser\");\n\nvar QuotedColumnParser_1 = require(\"./QuotedColumnParser\");\n\nvar Token_1 = require(\"../Token\");\n\nvar ColumnParser = /*#__PURE__*/function () {\n function ColumnParser(parserOptions) {\n _classCallCheck(this, ColumnParser);\n\n this.parserOptions = parserOptions;\n this.quotedColumnParser = new QuotedColumnParser_1.QuotedColumnParser(parserOptions);\n this.nonQuotedColumnParser = new NonQuotedColumnParser_1.NonQuotedColumnParser(parserOptions);\n }\n\n _createClass(ColumnParser, [{\n key: \"parse\",\n value: function parse(scanner) {\n var nextNonSpaceToken = scanner.nextNonSpaceToken;\n\n if (nextNonSpaceToken !== null && Token_1.Token.isTokenQuote(nextNonSpaceToken, this.parserOptions)) {\n scanner.advanceToToken(nextNonSpaceToken);\n return this.quotedColumnParser.parse(scanner);\n }\n\n return this.nonQuotedColumnParser.parse(scanner);\n }\n }]);\n\n return ColumnParser;\n}();\n\nexports.ColumnParser = ColumnParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL0NvbHVtblBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQSx1QkFBQSxHQUFBLE9BQUEsQ0FBQSx5QkFBQSxDQUFBOztBQUNBLElBQUEsb0JBQUEsR0FBQSxPQUFBLENBQUEsc0JBQUEsQ0FBQTs7QUFFQSxJQUFBLE9BQUEsR0FBQSxPQUFBLENBQUEsVUFBQSxDQUFBOztJQUVhLFk7QUFPVCx3QkFBbUIsYUFBbkIsRUFBK0M7QUFBQTs7QUFDM0MsU0FBSyxhQUFMLEdBQXFCLGFBQXJCO0FBQ0EsU0FBSyxrQkFBTCxHQUEwQixJQUFJLG9CQUFBLENBQUEsa0JBQUosQ0FBdUIsYUFBdkIsQ0FBMUI7QUFDQSxTQUFLLHFCQUFMLEdBQTZCLElBQUksdUJBQUEsQ0FBQSxxQkFBSixDQUEwQixhQUExQixDQUE3QjtBQUNIOzs7OzBCQUVZLE8sRUFBZ0I7QUFBQSxVQUNqQixpQkFEaUIsR0FDSyxPQURMLENBQ2pCLGlCQURpQjs7QUFFekIsVUFBSSxpQkFBaUIsS0FBSyxJQUF0QixJQUE4QixPQUFBLENBQUEsS0FBQSxDQUFNLFlBQU4sQ0FBbUIsaUJBQW5CLEVBQXNDLEtBQUssYUFBM0MsQ0FBbEMsRUFBNkY7QUFDekYsUUFBQSxPQUFPLENBQUMsY0FBUixDQUF1QixpQkFBdkI7QUFDQSxlQUFPLEtBQUssa0JBQUwsQ0FBd0IsS0FBeEIsQ0FBOEIsT0FBOUIsQ0FBUDtBQUNIOztBQUNELGFBQU8sS0FBSyxxQkFBTCxDQUEyQixLQUEzQixDQUFpQyxPQUFqQyxDQUFQO0FBQ0g7Ozs7OztBQXBCTCxPQUFBLENBQUEsWUFBQSxHQUFBLFlBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NonQuotedColumnParser = void 0;\n\nvar ColumnFormatter_1 = require(\"./ColumnFormatter\");\n\nvar Token_1 = require(\"../Token\");\n\nvar _Token_1$Token = Token_1.Token,\n isTokenDelimiter = _Token_1$Token.isTokenDelimiter,\n isTokenRowDelimiter = _Token_1$Token.isTokenRowDelimiter;\n\nvar NonQuotedColumnParser = /*#__PURE__*/function () {\n function NonQuotedColumnParser(parserOptions) {\n _classCallCheck(this, NonQuotedColumnParser);\n\n this.parserOptions = parserOptions;\n this.columnFormatter = new ColumnFormatter_1.ColumnFormatter(parserOptions);\n }\n\n _createClass(NonQuotedColumnParser, [{\n key: \"parse\",\n value: function parse(scanner) {\n if (!scanner.hasMoreCharacters) {\n return null;\n }\n\n var parserOptions = this.parserOptions;\n var characters = [];\n var nextToken = scanner.nextCharacterToken;\n\n for (; nextToken; nextToken = scanner.nextCharacterToken) {\n if (isTokenDelimiter(nextToken, parserOptions) || isTokenRowDelimiter(nextToken)) {\n break;\n }\n\n characters.push(nextToken.token);\n scanner.advancePastToken(nextToken);\n }\n\n return this.columnFormatter.format(characters.join(''));\n }\n }]);\n\n return NonQuotedColumnParser;\n}();\n\nexports.NonQuotedColumnParser = NonQuotedColumnParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL05vblF1b3RlZENvbHVtblBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBQSxpQkFBQSxHQUFBLE9BQUEsQ0FBQSxtQkFBQSxDQUFBOztBQUVBLElBQUEsT0FBQSxHQUFBLE9BQUEsQ0FBQSxVQUFBLENBQUE7O3FCQUVrRCxPQUFBLENBQUEsSztJQUExQyxnQixrQkFBQSxnQjtJQUFrQixtQixrQkFBQSxtQjs7SUFFYixxQjtBQUtULGlDQUFtQixhQUFuQixFQUErQztBQUFBOztBQUMzQyxTQUFLLGFBQUwsR0FBcUIsYUFBckI7QUFDQSxTQUFLLGVBQUwsR0FBdUIsSUFBSSxpQkFBQSxDQUFBLGVBQUosQ0FBb0IsYUFBcEIsQ0FBdkI7QUFDSDs7OzswQkFFWSxPLEVBQWdCO0FBQ3pCLFVBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWIsRUFBZ0M7QUFDNUIsZUFBTyxJQUFQO0FBQ0g7O0FBSHdCLFVBSWpCLGFBSmlCLEdBSUMsSUFKRCxDQUlqQixhQUppQjtBQUt6QixVQUFNLFVBQVUsR0FBRyxFQUFuQjtBQUNBLFVBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxrQkFBeEI7O0FBQ0EsYUFBTyxTQUFQLEVBQWtCLFNBQVMsR0FBRyxPQUFPLENBQUMsa0JBQXRDLEVBQTBEO0FBQ3RELFlBQUksZ0JBQWdCLENBQUMsU0FBRCxFQUFZLGFBQVosQ0FBaEIsSUFBOEMsbUJBQW1CLENBQUMsU0FBRCxDQUFyRSxFQUFrRjtBQUM5RTtBQUNIOztBQUNELFFBQUEsVUFBVSxDQUFDLElBQVgsQ0FBZ0IsU0FBUyxDQUFDLEtBQTFCO0FBQ0EsUUFBQSxPQUFPLENBQUMsZ0JBQVIsQ0FBeUIsU0FBekI7QUFDSDs7QUFDRCxhQUFPLEtBQUssZUFBTCxDQUFxQixNQUFyQixDQUE0QixVQUFVLENBQUMsSUFBWCxDQUFnQixFQUFoQixDQUE1QixDQUFQO0FBQ0g7Ozs7OztBQXpCTCxPQUFBLENBQUEscUJBQUEsR0FBQSxxQkFBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QuotedColumnParser = void 0;\n\nvar ColumnFormatter_1 = require(\"./ColumnFormatter\");\n\nvar Token_1 = require(\"../Token\");\n\nvar _Token_1$Token = Token_1.Token,\n isTokenDelimiter = _Token_1$Token.isTokenDelimiter,\n isTokenRowDelimiter = _Token_1$Token.isTokenRowDelimiter,\n isTokenEscapeCharacter = _Token_1$Token.isTokenEscapeCharacter,\n isTokenQuote = _Token_1$Token.isTokenQuote;\n\nvar QuotedColumnParser = /*#__PURE__*/function () {\n function QuotedColumnParser(parserOptions) {\n _classCallCheck(this, QuotedColumnParser);\n\n this.parserOptions = parserOptions;\n this.columnFormatter = new ColumnFormatter_1.ColumnFormatter(parserOptions);\n }\n\n _createClass(QuotedColumnParser, [{\n key: \"parse\",\n value: function parse(scanner) {\n if (!scanner.hasMoreCharacters) {\n return null;\n }\n\n var originalCursor = scanner.cursor;\n\n var _this$gatherDataBetwe = this.gatherDataBetweenQuotes(scanner),\n foundClosingQuote = _this$gatherDataBetwe.foundClosingQuote,\n col = _this$gatherDataBetwe.col;\n\n if (!foundClosingQuote) {\n // reset the cursor to the original\n scanner.advanceTo(originalCursor); // if we didnt find a closing quote but we potentially have more data then skip the parsing\n // and return the original scanner.\n\n if (!scanner.hasMoreData) {\n throw new Error(\"Parse Error: missing closing: '\".concat(this.parserOptions.quote || '', \"' in line: at '\").concat(scanner.lineFromCursor.replace(/[\\r\\n]/g, \"\\\\n'\"), \"'\"));\n }\n\n return null;\n }\n\n this.checkForMalformedColumn(scanner);\n return col;\n }\n }, {\n key: \"gatherDataBetweenQuotes\",\n value: function gatherDataBetweenQuotes(scanner) {\n var parserOptions = this.parserOptions;\n var foundStartingQuote = false;\n var foundClosingQuote = false;\n var characters = [];\n var nextToken = scanner.nextCharacterToken;\n\n for (; !foundClosingQuote && nextToken !== null; nextToken = scanner.nextCharacterToken) {\n var isQuote = isTokenQuote(nextToken, parserOptions); // ignore first quote\n\n if (!foundStartingQuote && isQuote) {\n foundStartingQuote = true;\n } else if (foundStartingQuote) {\n if (isTokenEscapeCharacter(nextToken, parserOptions)) {\n // advance past the escape character so we can get the next one in line\n scanner.advancePastToken(nextToken);\n var tokenFollowingEscape = scanner.nextCharacterToken; // if the character following the escape is a quote character then just add\n // the quote and advance to that character\n\n if (tokenFollowingEscape !== null && (isTokenQuote(tokenFollowingEscape, parserOptions) || isTokenEscapeCharacter(tokenFollowingEscape, parserOptions))) {\n characters.push(tokenFollowingEscape.token);\n nextToken = tokenFollowingEscape;\n } else if (isQuote) {\n // if the escape is also a quote then we found our closing quote and finish early\n foundClosingQuote = true;\n } else {\n // other wise add the escape token to the characters since it wast escaping anything\n characters.push(nextToken.token);\n }\n } else if (isQuote) {\n // we found our closing quote!\n foundClosingQuote = true;\n } else {\n // add the token to the characters\n characters.push(nextToken.token);\n }\n }\n\n scanner.advancePastToken(nextToken);\n }\n\n return {\n col: this.columnFormatter.format(characters.join('')),\n foundClosingQuote: foundClosingQuote\n };\n }\n }, {\n key: \"checkForMalformedColumn\",\n value: function checkForMalformedColumn(scanner) {\n var parserOptions = this.parserOptions;\n var nextNonSpaceToken = scanner.nextNonSpaceToken;\n\n if (nextNonSpaceToken) {\n var isNextTokenADelimiter = isTokenDelimiter(nextNonSpaceToken, parserOptions);\n var isNextTokenARowDelimiter = isTokenRowDelimiter(nextNonSpaceToken);\n\n if (!(isNextTokenADelimiter || isNextTokenARowDelimiter)) {\n // if the final quote was NOT followed by a column (,) or row(\\n) delimiter then its a bad column\n // tldr: only part of the column was quoted\n var linePreview = scanner.lineFromCursor.substr(0, 10).replace(/[\\r\\n]/g, \"\\\\n'\");\n throw new Error(\"Parse Error: expected: '\".concat(parserOptions.escapedDelimiter, \"' OR new line got: '\").concat(nextNonSpaceToken.token, \"'. at '\").concat(linePreview));\n }\n\n scanner.advanceToToken(nextNonSpaceToken);\n } else if (!scanner.hasMoreData) {\n scanner.advancePastLine();\n }\n }\n }]);\n\n return QuotedColumnParser;\n}();\n\nexports.QuotedColumnParser = QuotedColumnParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL1F1b3RlZENvbHVtblBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQSxpQkFBQSxHQUFBLE9BQUEsQ0FBQSxtQkFBQSxDQUFBOztBQUdBLElBQUEsT0FBQSxHQUFBLE9BQUEsQ0FBQSxVQUFBLENBQUE7O3FCQUV3RixPQUFBLENBQUEsSztJQUFoRixnQixrQkFBQSxnQjtJQUFrQixtQixrQkFBQSxtQjtJQUFxQixzQixrQkFBQSxzQjtJQUF3QixZLGtCQUFBLFk7O0lBTzFELGtCO0FBS1QsOEJBQW1CLGFBQW5CLEVBQStDO0FBQUE7O0FBQzNDLFNBQUssYUFBTCxHQUFxQixhQUFyQjtBQUNBLFNBQUssZUFBTCxHQUF1QixJQUFJLGlCQUFBLENBQUEsZUFBSixDQUFvQixhQUFwQixDQUF2QjtBQUNIOzs7OzBCQUVZLE8sRUFBZ0I7QUFDekIsVUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBYixFQUFnQztBQUM1QixlQUFPLElBQVA7QUFDSDs7QUFDRCxVQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBL0I7O0FBSnlCLGtDQUtVLEtBQUssdUJBQUwsQ0FBNkIsT0FBN0IsQ0FMVjtBQUFBLFVBS2pCLGlCQUxpQix5QkFLakIsaUJBTGlCO0FBQUEsVUFLRSxHQUxGLHlCQUtFLEdBTEY7O0FBTXpCLFVBQUksQ0FBQyxpQkFBTCxFQUF3QjtBQUNwQjtBQUNBLFFBQUEsT0FBTyxDQUFDLFNBQVIsQ0FBa0IsY0FBbEIsRUFGb0IsQ0FHcEI7QUFDQTs7QUFDQSxZQUFJLENBQUMsT0FBTyxDQUFDLFdBQWIsRUFBMEI7QUFDdEIsZ0JBQU0sSUFBSSxLQUFKLDBDQUVFLEtBQUssYUFBTCxDQUFtQixLQUFuQixJQUE0QixFQUY5Qiw0QkFHZ0IsT0FBTyxDQUFDLGNBQVIsQ0FBdUIsT0FBdkIsQ0FBK0IsU0FBL0IsRUFBMEMsTUFBMUMsQ0FIaEIsT0FBTjtBQUtIOztBQUNELGVBQU8sSUFBUDtBQUNIOztBQUNELFdBQUssdUJBQUwsQ0FBNkIsT0FBN0I7QUFDQSxhQUFPLEdBQVA7QUFDSDs7OzRDQUUrQixPLEVBQWdCO0FBQUEsVUFDcEMsYUFEb0MsR0FDbEIsSUFEa0IsQ0FDcEMsYUFEb0M7QUFFNUMsVUFBSSxrQkFBa0IsR0FBRyxLQUF6QjtBQUNBLFVBQUksaUJBQWlCLEdBQUcsS0FBeEI7QUFDQSxVQUFNLFVBQVUsR0FBRyxFQUFuQjtBQUNBLFVBQUksU0FBUyxHQUFpQixPQUFPLENBQUMsa0JBQXRDOztBQUNBLGFBQU8sQ0FBQyxpQkFBRCxJQUFzQixTQUFTLEtBQUssSUFBM0MsRUFBaUQsU0FBUyxHQUFHLE9BQU8sQ0FBQyxrQkFBckUsRUFBeUY7QUFDckYsWUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLFNBQUQsRUFBWSxhQUFaLENBQTVCLENBRHFGLENBRXJGOztBQUNBLFlBQUksQ0FBQyxrQkFBRCxJQUF1QixPQUEzQixFQUFvQztBQUNoQyxVQUFBLGtCQUFrQixHQUFHLElBQXJCO0FBQ0gsU0FGRCxNQUVPLElBQUksa0JBQUosRUFBd0I7QUFDM0IsY0FBSSxzQkFBc0IsQ0FBQyxTQUFELEVBQVksYUFBWixDQUExQixFQUFzRDtBQUNsRDtBQUNBLFlBQUEsT0FBTyxDQUFDLGdCQUFSLENBQXlCLFNBQXpCO0FBQ0EsZ0JBQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGtCQUFyQyxDQUhrRCxDQUlsRDtBQUNBOztBQUNBLGdCQUNJLG9CQUFvQixLQUFLLElBQXpCLEtBQ0MsWUFBWSxDQUFDLG9CQUFELEVBQXVCLGFBQXZCLENBQVosSUFDRyxzQkFBc0IsQ0FBQyxvQkFBRCxFQUF1QixhQUF2QixDQUYxQixDQURKLEVBSUU7QUFDRSxjQUFBLFVBQVUsQ0FBQyxJQUFYLENBQWdCLG9CQUFvQixDQUFDLEtBQXJDO0FBQ0EsY0FBQSxTQUFTLEdBQUcsb0JBQVo7QUFDSCxhQVBELE1BT08sSUFBSSxPQUFKLEVBQWE7QUFDaEI7QUFDQSxjQUFBLGlCQUFpQixHQUFHLElBQXBCO0FBQ0gsYUFITSxNQUdBO0FBQ0g7QUFDQSxjQUFBLFVBQVUsQ0FBQyxJQUFYLENBQWdCLFNBQVMsQ0FBQyxLQUExQjtBQUNIO0FBQ0osV0FwQkQsTUFvQk8sSUFBSSxPQUFKLEVBQWE7QUFDaEI7QUFDQSxZQUFBLGlCQUFpQixHQUFHLElBQXBCO0FBQ0gsV0FITSxNQUdBO0FBQ0g7QUFDQSxZQUFBLFVBQVUsQ0FBQyxJQUFYLENBQWdCLFNBQVMsQ0FBQyxLQUExQjtBQUNIO0FBQ0o7O0FBQ0QsUUFBQSxPQUFPLENBQUMsZ0JBQVIsQ0FBeUIsU0FBekI7QUFDSDs7QUFDRCxhQUFPO0FBQUUsUUFBQSxHQUFHLEVBQUUsS0FBSyxlQUFMLENBQXFCLE1BQXJCLENBQTRCLFVBQVUsQ0FBQyxJQUFYLENBQWdCLEVBQWhCLENBQTVCLENBQVA7QUFBeUQsUUFBQSxpQkFBaUIsRUFBakI7QUFBekQsT0FBUDtBQUNIOzs7NENBRStCLE8sRUFBZ0I7QUFBQSxVQUNwQyxhQURvQyxHQUNsQixJQURrQixDQUNwQyxhQURvQztBQUFBLFVBRXBDLGlCQUZvQyxHQUVkLE9BRmMsQ0FFcEMsaUJBRm9DOztBQUc1QyxVQUFJLGlCQUFKLEVBQXVCO0FBQ25CLFlBQU0scUJBQXFCLEdBQUcsZ0JBQWdCLENBQUMsaUJBQUQsRUFBb0IsYUFBcEIsQ0FBOUM7QUFDQSxZQUFNLHdCQUF3QixHQUFHLG1CQUFtQixDQUFDLGlCQUFELENBQXBEOztBQUNBLFlBQUksRUFBRSxxQkFBcUIsSUFBSSx3QkFBM0IsQ0FBSixFQUEwRDtBQUN0RDtBQUNBO0FBQ0EsY0FBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQVIsQ0FBdUIsTUFBdkIsQ0FBOEIsQ0FBOUIsRUFBaUMsRUFBakMsRUFBcUMsT0FBckMsQ0FBNkMsU0FBN0MsRUFBd0QsTUFBeEQsQ0FBcEI7QUFDQSxnQkFBTSxJQUFJLEtBQUosbUNBQ3lCLGFBQWEsQ0FBQyxnQkFEdkMsaUNBQzhFLGlCQUFpQixDQUFDLEtBRGhHLG9CQUMrRyxXQUQvRyxFQUFOO0FBR0g7O0FBQ0QsUUFBQSxPQUFPLENBQUMsY0FBUixDQUF1QixpQkFBdkI7QUFDSCxPQVpELE1BWU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFiLEVBQTBCO0FBQzdCLFFBQUEsT0FBTyxDQUFDLGVBQVI7QUFDSDtBQUNKOzs7Ozs7QUFqR0wsT0FBQSxDQUFBLGtCQUFBLEdBQUEsa0JBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar ColumnParser_1 = require(\"./ColumnParser\");\n\nObject.defineProperty(exports, \"ColumnParser\", {\n enumerable: true,\n get: function get() {\n return ColumnParser_1.ColumnParser;\n }\n});\n\nvar NonQuotedColumnParser_1 = require(\"./NonQuotedColumnParser\");\n\nObject.defineProperty(exports, \"NonQuotedColumnParser\", {\n enumerable: true,\n get: function get() {\n return NonQuotedColumnParser_1.NonQuotedColumnParser;\n }\n});\n\nvar QuotedColumnParser_1 = require(\"./QuotedColumnParser\");\n\nObject.defineProperty(exports, \"QuotedColumnParser\", {\n enumerable: true,\n get: function get() {\n return QuotedColumnParser_1.QuotedColumnParser;\n }\n});\n\nvar ColumnFormatter_1 = require(\"./ColumnFormatter\");\n\nObject.defineProperty(exports, \"ColumnFormatter\", {\n enumerable: true,\n get: function get() {\n return ColumnFormatter_1.ColumnFormatter;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYXJzZXIvY29sdW1uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUEsY0FBQSxHQUFBLE9BQUEsQ0FBQSxnQkFBQSxDQUFBOztBQUFTLE1BQUEsQ0FBQSxjQUFBLENBQUEsT0FBQSxFQUFBLGNBQUEsRUFBQTtBQUFBLEVBQUEsVUFBQSxFQUFBLElBQUE7QUFBQSxFQUFBLEdBQUEsRUFBQSxlQUFBO0FBQUEsV0FBQSxjQUFBLENBQUEsWUFBQTtBQUFZO0FBQVosQ0FBQTs7QUFDVCxJQUFBLHVCQUFBLEdBQUEsT0FBQSxDQUFBLHlCQUFBLENBQUE7O0FBQVMsTUFBQSxDQUFBLGNBQUEsQ0FBQSxPQUFBLEVBQUEsdUJBQUEsRUFBQTtBQUFBLEVBQUEsVUFBQSxFQUFBLElBQUE7QUFBQSxFQUFBLEdBQUEsRUFBQSxlQUFBO0FBQUEsV0FBQSx1QkFBQSxDQUFBLHFCQUFBO0FBQXFCO0FBQXJCLENBQUE7O0FBQ1QsSUFBQSxvQkFBQSxHQUFBLE9BQUEsQ0FBQSxzQkFBQSxDQUFBOztBQUFTLE1BQUEsQ0FBQSxjQUFBLENBQUEsT0FBQSxFQUFBLG9CQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsb0JBQUEsQ0FBQSxrQkFBQTtBQUFrQjtBQUFsQixDQUFBOztBQUNULElBQUEsaUJBQUEsR0FBQSxPQUFBLENBQUEsbUJBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxpQkFBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLGlCQUFBLENBQUEsZUFBQTtBQUFlO0FBQWYsQ0FBQSIsInNvdXJjZVJvb3QiOiIifQ==","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar Parser_1 = require(\"./Parser\");\n\nObject.defineProperty(exports, \"Parser\", {\n enumerable: true,\n get: function get() {\n return Parser_1.Parser;\n }\n});\n\nvar RowParser_1 = require(\"./RowParser\");\n\nObject.defineProperty(exports, \"RowParser\", {\n enumerable: true,\n get: function get() {\n return RowParser_1.RowParser;\n }\n});\n\nvar Scanner_1 = require(\"./Scanner\");\n\nObject.defineProperty(exports, \"Scanner\", {\n enumerable: true,\n get: function get() {\n return Scanner_1.Scanner;\n }\n});\n\nvar Token_1 = require(\"./Token\");\n\nObject.defineProperty(exports, \"Token\", {\n enumerable: true,\n get: function get() {\n return Token_1.Token;\n }\n});\n\nvar column_1 = require(\"./column\");\n\nObject.defineProperty(exports, \"ColumnParser\", {\n enumerable: true,\n get: function get() {\n return column_1.ColumnParser;\n }\n});\nObject.defineProperty(exports, \"NonQuotedColumnParser\", {\n enumerable: true,\n get: function get() {\n return column_1.NonQuotedColumnParser;\n }\n});\nObject.defineProperty(exports, \"QuotedColumnParser\", {\n enumerable: true,\n get: function get() {\n return column_1.QuotedColumnParser;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQSxRQUFBLEdBQUEsT0FBQSxDQUFBLFVBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLE1BQUE7QUFBTTtBQUFOLENBQUE7O0FBQ1QsSUFBQSxXQUFBLEdBQUEsT0FBQSxDQUFBLGFBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxXQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsV0FBQSxDQUFBLFNBQUE7QUFBUztBQUFULENBQUE7O0FBQ1QsSUFBQSxTQUFBLEdBQUEsT0FBQSxDQUFBLFdBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxTQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsU0FBQSxDQUFBLE9BQUE7QUFBTztBQUFQLENBQUE7O0FBQ1QsSUFBQSxPQUFBLEdBQUEsT0FBQSxDQUFBLFNBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxPQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsT0FBQSxDQUFBLEtBQUE7QUFBSztBQUFMLENBQUE7O0FBQ1QsSUFBQSxRQUFBLEdBQUEsT0FBQSxDQUFBLFVBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxjQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLFlBQUE7QUFBWTtBQUFaLENBQUE7QUFBYyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSx1QkFBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLFFBQUEsQ0FBQSxxQkFBQTtBQUFxQjtBQUFyQixDQUFBO0FBQXVCLE1BQUEsQ0FBQSxjQUFBLENBQUEsT0FBQSxFQUFBLG9CQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLGtCQUFBO0FBQWtCO0FBQWxCLENBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.HeaderTransformer = void 0;\n\nvar lodash_isundefined_1 = __importDefault(require(\"lodash.isundefined\"));\n\nvar lodash_isfunction_1 = __importDefault(require(\"lodash.isfunction\"));\n\nvar lodash_uniq_1 = __importDefault(require(\"lodash.uniq\"));\n\nvar lodash_groupby_1 = __importDefault(require(\"lodash.groupby\"));\n\nvar HeaderTransformer = /*#__PURE__*/function () {\n function HeaderTransformer(parserOptions) {\n _classCallCheck(this, HeaderTransformer);\n\n this.headers = null;\n this.receivedHeaders = false;\n this.shouldUseFirstRow = false;\n this.processedFirstRow = false;\n this.headersLength = 0;\n this.parserOptions = parserOptions;\n\n if (parserOptions.headers === true) {\n this.shouldUseFirstRow = true;\n } else if (Array.isArray(parserOptions.headers)) {\n this.setHeaders(parserOptions.headers);\n } else if (lodash_isfunction_1.default(parserOptions.headers)) {\n this.headersTransform = parserOptions.headers;\n }\n }\n\n _createClass(HeaderTransformer, [{\n key: \"transform\",\n value: function transform(row, cb) {\n if (!this.shouldMapRow(row)) {\n return cb(null, {\n row: null,\n isValid: true\n });\n }\n\n return cb(null, this.processRow(row));\n }\n }, {\n key: \"shouldMapRow\",\n value: function shouldMapRow(row) {\n var parserOptions = this.parserOptions;\n\n if (!this.headersTransform && parserOptions.renameHeaders && !this.processedFirstRow) {\n if (!this.receivedHeaders) {\n throw new Error('Error renaming headers: new headers must be provided in an array');\n }\n\n this.processedFirstRow = true;\n return false;\n }\n\n if (!this.receivedHeaders && Array.isArray(row)) {\n if (this.headersTransform) {\n this.setHeaders(this.headersTransform(row));\n } else if (this.shouldUseFirstRow) {\n this.setHeaders(row);\n } else {\n // dont do anything with the headers if we didnt receive a transform or shouldnt use the first row.\n return true;\n }\n\n return false;\n }\n\n return true;\n }\n }, {\n key: \"processRow\",\n value: function processRow(row) {\n if (!this.headers) {\n return {\n row: row,\n isValid: true\n };\n }\n\n var parserOptions = this.parserOptions;\n\n if (!parserOptions.discardUnmappedColumns && row.length > this.headersLength) {\n if (!parserOptions.strictColumnHandling) {\n throw new Error(\"Unexpected Error: column header mismatch expected: \".concat(this.headersLength, \" columns got: \").concat(row.length));\n }\n\n return {\n row: row,\n isValid: false,\n reason: \"Column header mismatch expected: \".concat(this.headersLength, \" columns got: \").concat(row.length)\n };\n }\n\n if (parserOptions.strictColumnHandling && row.length < this.headersLength) {\n return {\n row: row,\n isValid: false,\n reason: \"Column header mismatch expected: \".concat(this.headersLength, \" columns got: \").concat(row.length)\n };\n }\n\n return {\n row: this.mapHeaders(row),\n isValid: true\n };\n }\n }, {\n key: \"mapHeaders\",\n value: function mapHeaders(row) {\n var rowMap = {};\n var headers = this.headers,\n headersLength = this.headersLength;\n\n for (var i = 0; i < headersLength; i += 1) {\n var header = headers[i];\n\n if (!lodash_isundefined_1.default(header)) {\n var val = row[i]; // eslint-disable-next-line no-param-reassign\n\n if (lodash_isundefined_1.default(val)) {\n rowMap[header] = '';\n } else {\n rowMap[header] = val;\n }\n }\n }\n\n return rowMap;\n }\n }, {\n key: \"setHeaders\",\n value: function setHeaders(headers) {\n var _a;\n\n var filteredHeaders = headers.filter(function (h) {\n return !!h;\n });\n\n if (lodash_uniq_1.default(filteredHeaders).length !== filteredHeaders.length) {\n var grouped = lodash_groupby_1.default(filteredHeaders);\n var duplicates = Object.keys(grouped).filter(function (dup) {\n return grouped[dup].length > 1;\n });\n throw new Error(\"Duplicate headers found \".concat(JSON.stringify(duplicates)));\n }\n\n this.headers = headers;\n this.receivedHeaders = true;\n this.headersLength = ((_a = this.headers) === null || _a === void 0 ? void 0 : _a.length) || 0;\n }\n }]);\n\n return HeaderTransformer;\n}();\n\nexports.HeaderTransformer = HeaderTransformer;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1zL0hlYWRlclRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBLG9CQUFBLEdBQUEsZUFBQSxDQUFBLE9BQUEsQ0FBQSxvQkFBQSxDQUFBLENBQUE7O0FBQ0EsSUFBQSxtQkFBQSxHQUFBLGVBQUEsQ0FBQSxPQUFBLENBQUEsbUJBQUEsQ0FBQSxDQUFBOztBQUNBLElBQUEsYUFBQSxHQUFBLGVBQUEsQ0FBQSxPQUFBLENBQUEsYUFBQSxDQUFBLENBQUE7O0FBQ0EsSUFBQSxnQkFBQSxHQUFBLGVBQUEsQ0FBQSxPQUFBLENBQUEsZ0JBQUEsQ0FBQSxDQUFBOztJQVlhLGlCO0FBZVQsNkJBQW1CLGFBQW5CLEVBQStDO0FBQUE7O0FBWi9DLFNBQUEsT0FBQSxHQUE4QixJQUE5QjtBQUVRLFNBQUEsZUFBQSxHQUFrQixLQUFsQjtBQUVTLFNBQUEsaUJBQUEsR0FBNkIsS0FBN0I7QUFFVCxTQUFBLGlCQUFBLEdBQW9CLEtBQXBCO0FBRUEsU0FBQSxhQUFBLEdBQWdCLENBQWhCO0FBS0osU0FBSyxhQUFMLEdBQXFCLGFBQXJCOztBQUNBLFFBQUksYUFBYSxDQUFDLE9BQWQsS0FBMEIsSUFBOUIsRUFBb0M7QUFDaEMsV0FBSyxpQkFBTCxHQUF5QixJQUF6QjtBQUNILEtBRkQsTUFFTyxJQUFJLEtBQUssQ0FBQyxPQUFOLENBQWMsYUFBYSxDQUFDLE9BQTVCLENBQUosRUFBMEM7QUFDN0MsV0FBSyxVQUFMLENBQWdCLGFBQWEsQ0FBQyxPQUE5QjtBQUNILEtBRk0sTUFFQSxJQUFJLG1CQUFBLENBQUEsT0FBQSxDQUFXLGFBQWEsQ0FBQyxPQUF6QixDQUFKLEVBQXVDO0FBQzFDLFdBQUssZ0JBQUwsR0FBd0IsYUFBYSxDQUFDLE9BQXRDO0FBQ0g7QUFDSjs7Ozs4QkFFZ0IsRyxFQUFlLEUsRUFBMkI7QUFDdkQsVUFBSSxDQUFDLEtBQUssWUFBTCxDQUFrQixH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","\"use strict\";\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar __importDefault = void 0 && (void 0).__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RowTransformerValidator = void 0;\n\nvar lodash_isfunction_1 = __importDefault(require(\"lodash.isfunction\"));\n\nvar types_1 = require(\"../types\");\n\nvar RowTransformerValidator = /*#__PURE__*/function () {\n function RowTransformerValidator() {\n _classCallCheck(this, RowTransformerValidator);\n\n this._rowTransform = null;\n this._rowValidator = null;\n }\n\n _createClass(RowTransformerValidator, [{\n key: \"transformAndValidate\",\n value: function transformAndValidate(row, cb) {\n var _this = this;\n\n return this.callTransformer(row, function (transformErr, transformedRow) {\n if (transformErr) {\n return cb(transformErr);\n }\n\n if (!transformedRow) {\n return cb(null, {\n row: null,\n isValid: true\n });\n }\n\n return _this.callValidator(transformedRow, function (validateErr, validationResult) {\n if (validateErr) {\n return cb(validateErr);\n }\n\n if (validationResult && !validationResult.isValid) {\n return cb(null, {\n row: transformedRow,\n isValid: false,\n reason: validationResult.reason\n });\n }\n\n return cb(null, {\n row: transformedRow,\n isValid: true\n });\n });\n });\n }\n }, {\n key: \"callTransformer\",\n value: function callTransformer(row, cb) {\n if (!this._rowTransform) {\n return cb(null, row);\n }\n\n return this._rowTransform(row, cb);\n }\n }, {\n key: \"callValidator\",\n value: function callValidator(row, cb) {\n if (!this._rowValidator) {\n return cb(null, {\n row: row,\n isValid: true\n });\n }\n\n return this._rowValidator(row, cb);\n }\n }, {\n key: \"rowTransform\",\n set: function set(transformFunction) {\n if (!lodash_isfunction_1.default(transformFunction)) {\n throw new TypeError('The transform should be a function');\n }\n\n this._rowTransform = RowTransformerValidator.createTransform(transformFunction);\n }\n }, {\n key: \"rowValidator\",\n set: function set(validateFunction) {\n if (!lodash_isfunction_1.default(validateFunction)) {\n throw new TypeError('The validate should be a function');\n }\n\n this._rowValidator = RowTransformerValidator.createValidator(validateFunction);\n }\n }], [{\n key: \"createTransform\",\n value: function createTransform(transformFunction) {\n if (types_1.isSyncTransform(transformFunction)) {\n return function (row, cb) {\n var transformed = null;\n\n try {\n transformed = transformFunction(row);\n } catch (e) {\n return cb(e);\n }\n\n return cb(null, transformed);\n };\n }\n\n return transformFunction;\n }\n }, {\n key: \"createValidator\",\n value: function createValidator(validateFunction) {\n if (types_1.isSyncValidate(validateFunction)) {\n return function (row, cb) {\n cb(null, {\n row: row,\n isValid: validateFunction(row)\n });\n };\n }\n\n return function (row, cb) {\n validateFunction(row, function (err, isValid, reason) {\n if (err) {\n return cb(err);\n }\n\n if (isValid) {\n return cb(null, {\n row: row,\n isValid: isValid,\n reason: reason\n });\n }\n\n return cb(null, {\n row: row,\n isValid: false,\n reason: reason\n });\n });\n };\n }\n }]);\n\n return RowTransformerValidator;\n}();\n\nexports.RowTransformerValidator = RowTransformerValidator;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1zL1Jvd1RyYW5zZm9ybWVyVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBLG1CQUFBLEdBQUEsZUFBQSxDQUFBLE9BQUEsQ0FBQSxtQkFBQSxDQUFBLENBQUE7O0FBQ0EsSUFBQSxPQUFBLEdBQUEsT0FBQSxDQUFBLFVBQUEsQ0FBQTs7SUFhYSx1QjtBQUFiLHFDQUFBO0FBQUE7O0FBcUNZLFNBQUEsYUFBQSxHQUFnRCxJQUFoRDtBQUVBLFNBQUEsYUFBQSxHQUF3QyxJQUF4QztBQWlEWDs7Ozt5Q0FqQytCLEcsRUFBUSxFLEVBQTJCO0FBQUE7O0FBQzNELGFBQU8sS0FBSyxlQUFMLENBQXFCLEdBQXJCLEVBQTBCLFVBQUMsWUFBRCxFQUFlLGNBQWYsRUFBdUM7QUFDcEUsWUFBSSxZQUFKLEVBQWtCO0FBQ2QsaUJBQU8sRUFBRSxDQUFDLFlBQUQsQ0FBVDtBQUNIOztBQUNELFlBQUksQ0FBQyxjQUFMLEVBQXFCO0FBQ2pCLGlCQUFPLEVBQUUsQ0FBQyxJQUFELEVBQU87QUFBRSxZQUFBLEdBQUcsRUFBRSxJQUFQO0FBQWEsWUFBQSxPQUFPLEVBQUU7QUFBdEIsV0FBUCxDQUFUO0FBQ0g7O0FBQ0QsZUFBTyxLQUFJLENBQUMsYUFBTCxDQUFtQixjQUFuQixFQUFtQyxVQUFDLFdBQUQsRUFBYyxnQkFBZCxFQUF3QztBQUM5RSxjQUFJLFdBQUosRUFBaUI7QUFDYixtQkFBTyxFQUFFLENBQUMsV0FBRCxDQUFUO0FBQ0g7O0FBQ0QsY0FBSSxnQkFBZ0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQTFDLEVBQW1EO0FBQy9DLG1CQUFPLEVBQUUsQ0FBQyxJQUFELEVBQU87QUFBRSxjQUFBLEdBQUcsRUFBRSxjQUFQO0FBQXVCLGNBQUEsT0FBTyxFQUFFLEtBQWhDO0FBQXVDLGNBQUEsTUFBTSxFQUFFLGdCQUFnQixDQUFDO0FBQWhFLGFBQVAsQ0FBVDtB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","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar RowTransformerValidator_1 = require(\"./RowTransformerValidator\");\n\nObject.defineProperty(exports, \"RowTransformerValidator\", {\n enumerable: true,\n get: function get() {\n return RowTransformerValidator_1.RowTransformerValidator;\n }\n});\n\nvar HeaderTransformer_1 = require(\"./HeaderTransformer\");\n\nObject.defineProperty(exports, \"HeaderTransformer\", {\n enumerable: true,\n get: function get() {\n return HeaderTransformer_1.HeaderTransformer;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUEseUJBQUEsR0FBQSxPQUFBLENBQUEsMkJBQUEsQ0FBQTs7QUFBUyxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSx5QkFBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLHlCQUFBLENBQUEsdUJBQUE7QUFBdUI7QUFBdkIsQ0FBQTs7QUFDVCxJQUFBLG1CQUFBLEdBQUEsT0FBQSxDQUFBLHFCQUFBLENBQUE7O0FBQVMsTUFBQSxDQUFBLGNBQUEsQ0FBQSxPQUFBLEVBQUEsbUJBQUEsRUFBQTtBQUFBLEVBQUEsVUFBQSxFQUFBLElBQUE7QUFBQSxFQUFBLEdBQUEsRUFBQSxlQUFBO0FBQUEsV0FBQSxtQkFBQSxDQUFBLGlCQUFBO0FBQWlCO0FBQWpCLENBQUEiLCJzb3VyY2VSb290IjoiIn0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSyncValidate = exports.isSyncTransform = void 0;\n\nexports.isSyncTransform = function (transform) {\n return transform.length === 1;\n};\n\nexports.isSyncValidate = function (validate) {\n return validate.length === 1;\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBb0JhLE9BQUEsQ0FBQSxlQUFBLEdBQWtCLFVBQzNCLFNBRDJCO0FBQUEsU0FFVyxTQUFTLENBQUMsTUFBVixLQUFxQixDQUZoQztBQUFBLENBQWxCOztBQVVBLE9BQUEsQ0FBQSxjQUFBLEdBQWlCLFVBQWdCLFFBQWhCO0FBQUEsU0FDMUIsUUFBUSxDQUFDLE1BQVQsS0FBb0IsQ0FETTtBQUFBLENBQWpCIiwic291cmNlUm9vdCI6IiJ9","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","'use strict';\n\nconst encoders = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","'use strict';\n\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","'use strict';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buffer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this._strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n var z = 0;\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n var b;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n b = c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n\n r |= b;\n z |= b;\n }\n\n assert(!(z & 0xf0), 'Invalid character in ' + str);\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","module.exports={\n \"aes-128-ecb\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 0,\n \"mode\": \"ECB\",\n \"type\": \"block\"\n },\n \"aes-192-ecb\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 0,\n \"mode\": \"ECB\",\n \"type\": \"block\"\n },\n \"aes-256-ecb\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 0,\n \"mode\": \"ECB\",\n \"type\": \"block\"\n },\n \"aes-128-cbc\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes-192-cbc\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes-256-cbc\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes128\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes192\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes256\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CBC\",\n \"type\": \"block\"\n },\n \"aes-128-cfb\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CFB\",\n \"type\": \"stream\"\n },\n \"aes-192-cfb\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CFB\",\n \"type\": \"stream\"\n },\n \"aes-256-cfb\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CFB\",\n \"type\": \"stream\"\n },\n \"aes-128-cfb8\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CFB8\",\n \"type\": \"stream\"\n },\n \"aes-192-cfb8\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CFB8\",\n \"type\": \"stream\"\n },\n \"aes-256-cfb8\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CFB8\",\n \"type\": \"stream\"\n },\n \"aes-128-cfb1\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CFB1\",\n \"type\": \"stream\"\n },\n \"aes-192-cfb1\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CFB1\",\n \"type\": \"stream\"\n },\n \"aes-256-cfb1\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CFB1\",\n \"type\": \"stream\"\n },\n \"aes-128-ofb\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"OFB\",\n \"type\": \"stream\"\n },\n \"aes-192-ofb\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"OFB\",\n \"type\": \"stream\"\n },\n \"aes-256-ofb\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"OFB\",\n \"type\": \"stream\"\n },\n \"aes-128-ctr\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 16,\n \"mode\": \"CTR\",\n \"type\": \"stream\"\n },\n \"aes-192-ctr\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 16,\n \"mode\": \"CTR\",\n \"type\": \"stream\"\n },\n \"aes-256-ctr\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 16,\n \"mode\": \"CTR\",\n \"type\": \"stream\"\n },\n \"aes-128-gcm\": {\n \"cipher\": \"AES\",\n \"key\": 128,\n \"iv\": 12,\n \"mode\": \"GCM\",\n \"type\": \"auth\"\n },\n \"aes-192-gcm\": {\n \"cipher\": \"AES\",\n \"key\": 192,\n \"iv\": 12,\n \"mode\": \"GCM\",\n \"type\": \"auth\"\n },\n \"aes-256-gcm\": {\n \"cipher\": \"AES\",\n \"key\": 256,\n \"iv\": 12,\n \"mode\": \"GCM\",\n \"type\": \"auth\"\n }\n}\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","var bn = require('bn.js');\nvar randomBytes = require('randombytes');\nmodule.exports = crt;\nfunction blind(priv) {\n var r = getr(priv);\n var blinder = r.toRed(bn.mont(priv.modulus))\n .redPow(new bn(priv.publicExponent)).fromRed();\n return {\n blinder: blinder,\n unblinder:r.invm(priv.modulus)\n };\n}\nfunction crt(msg, priv) {\n var blinds = blind(priv);\n var len = priv.modulus.byteLength();\n var mod = bn.mont(priv.modulus);\n var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);\n var c1 = blinded.toRed(bn.mont(priv.prime1));\n var c2 = blinded.toRed(bn.mont(priv.prime2));\n var qinv = priv.coefficient;\n var p = priv.prime1;\n var q = priv.prime2;\n var m1 = c1.redPow(priv.exponent1);\n var m2 = c2.redPow(priv.exponent2);\n m1 = m1.fromRed();\n m2 = m2.fromRed();\n var h = m1.isub(m2).imul(qinv).umod(p);\n h.imul(q);\n m2.iadd(h);\n return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len));\n}\ncrt.getr = getr;\nfunction getr(priv) {\n var len = priv.modulus.byteLength();\n var r = new bn(randomBytes(len));\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) {\n r = new bn(randomBytes(len));\n }\n return r;\n}\n","module.exports = require('./browser/algorithms.json')\n","module.exports={\n \"sha224WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha224\",\n \"id\": \"302d300d06096086480165030402040500041c\"\n },\n \"RSA-SHA224\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha224\",\n \"id\": \"302d300d06096086480165030402040500041c\"\n },\n \"sha256WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha256\",\n \"id\": \"3031300d060960864801650304020105000420\"\n },\n \"RSA-SHA256\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha256\",\n \"id\": \"3031300d060960864801650304020105000420\"\n },\n \"sha384WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha384\",\n \"id\": \"3041300d060960864801650304020205000430\"\n },\n \"RSA-SHA384\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha384\",\n \"id\": \"3041300d060960864801650304020205000430\"\n },\n \"sha512WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha512\",\n \"id\": \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA512\": {\n \"sign\": \"ecdsa/rsa\",\n \"hash\": \"sha512\",\n \"id\": \"3051300d060960864801650304020305000440\"\n },\n \"RSA-SHA1\": {\n \"sign\": \"rsa\",\n \"hash\": \"sha1\",\n \"id\": \"3021300906052b0e03021a05000414\"\n },\n \"ecdsa-with-SHA1\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"sha256\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha256\",\n \"id\": \"\"\n },\n \"sha224\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha224\",\n \"id\": \"\"\n },\n \"sha384\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha384\",\n \"id\": \"\"\n },\n \"sha512\": {\n \"sign\": \"ecdsa\",\n \"hash\": \"sha512\",\n \"id\": \"\"\n },\n \"DSA-SHA\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"DSA-SHA1\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"DSA\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha1\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA224\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha224\",\n \"id\": \"\"\n },\n \"DSA-SHA224\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha224\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA256\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha256\",\n \"id\": \"\"\n },\n \"DSA-SHA256\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha256\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA384\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha384\",\n \"id\": \"\"\n },\n \"DSA-SHA384\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha384\",\n \"id\": \"\"\n },\n \"DSA-WITH-SHA512\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha512\",\n \"id\": \"\"\n },\n \"DSA-SHA512\": {\n \"sign\": \"dsa\",\n \"hash\": \"sha512\",\n \"id\": \"\"\n },\n \"DSA-RIPEMD160\": {\n \"sign\": \"dsa\",\n \"hash\": \"rmd160\",\n \"id\": \"\"\n },\n \"ripemd160WithRSA\": {\n \"sign\": \"rsa\",\n \"hash\": \"rmd160\",\n \"id\": \"3021300906052b2403020105000414\"\n },\n \"RSA-RIPEMD160\": {\n \"sign\": \"rsa\",\n \"hash\": \"rmd160\",\n \"id\": \"3021300906052b2403020105000414\"\n },\n \"md5WithRSAEncryption\": {\n \"sign\": \"rsa\",\n \"hash\": \"md5\",\n \"id\": \"3020300c06082a864886f70d020505000410\"\n },\n \"RSA-MD5\": {\n \"sign\": \"rsa\",\n \"hash\": \"md5\",\n \"id\": \"3020300c06082a864886f70d020505000410\"\n }\n}\n","module.exports={\n \"1.3.132.0.10\": \"secp256k1\",\n \"1.3.132.0.33\": \"p224\",\n \"1.2.840.10045.3.1.1\": \"p192\",\n \"1.2.840.10045.3.1.7\": \"p256\",\n \"1.3.132.0.34\": \"p384\",\n \"1.3.132.0.35\": \"p521\"\n}\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\n// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\nif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n })\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayLike(value)\n }\n\n if (value == null) {\n throw TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nBuffer.prototype.__proto__ = Uint8Array.prototype\nBuffer.__proto__ = Uint8Array\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n buf = Buffer.from(buf)\n }\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (var i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):t.dayjs=e()}(this,function(){\"use strict\";var t=\"millisecond\",e=\"second\",n=\"minute\",r=\"hour\",i=\"day\",s=\"week\",u=\"month\",a=\"quarter\",o=\"year\",f=\"date\",h=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?.?(\\d+)?$/,c=/\\[([^\\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},$={s:d,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+d(r,2,\"0\")+\":\"+d(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.add(r,u),s=n-i<0,a=e.add(r+(s?-1:1),u);return+(-(r+(n-i)/(s?i-a:a-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:o,w:s,d:i,D:f,h:r,m:n,s:e,ms:t,Q:a}[h]||String(h||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},l={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},y=\"en\",M={};M[y]=l;var m=function(t){return t instanceof S},D=function(t,e,n){var r;if(!t)return y;if(\"string\"==typeof t)M[t]&&(r=t),e&&(M[t]=e,r=t);else{var i=t.name;M[i]=t,r=i}return!n&&r&&(y=r),r||!n&&y},v=function(t,e){if(m(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new S(n)},g=$;g.l=D,g.i=m,g.w=function(t,e){return v(t,{locale:e.$L,utc:e.$u,$offset:e.$offset})};var S=function(){function d(t){this.$L=this.$L||D(t.locale,null,!0),this.parse(t)}var $=d.prototype;return $.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(g.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(h);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},$.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},$.$utils=function(){return g},$.isValid=function(){return!(\"Invalid Date\"===this.$d.toString())},$.isSame=function(t,e){var n=v(t);return this.startOf(e)<=n&&n<=this.endOf(e)},$.isAfter=function(t,e){return v(t)<this.startOf(e)},$.isBefore=function(t,e){return this.endOf(e)<v(t)},$.$g=function(t,e,n){return g.u(t)?this[e]:this.set(n,t)},$.unix=function(){return Math.floor(this.valueOf()/1e3)},$.valueOf=function(){return this.$d.getTime()},$.startOf=function(t,a){var h=this,c=!!g.u(a)||a,d=g.p(t),$=function(t,e){var n=g.w(h.$u?Date.UTC(h.$y,e,t):new Date(h.$y,e,t),h);return c?n:n.endOf(i)},l=function(t,e){return g.w(h.toDate()[t].apply(h.toDate(\"s\"),(c?[0,0,0,0]:[23,59,59,999]).slice(e)),h)},y=this.$W,M=this.$M,m=this.$D,D=\"set\"+(this.$u?\"UTC\":\"\");switch(d){case o:return c?$(1,0):$(31,11);case u:return c?$(1,M):$(0,M+1);case s:var v=this.$locale().weekStart||0,S=(y<v?y+7:y)-v;return $(c?m-S:m+(6-S),M);case i:case f:return l(D+\"Hours\",0);case r:return l(D+\"Minutes\",1);case n:return l(D+\"Seconds\",2);case e:return l(D+\"Milliseconds\",3);default:return this.clone()}},$.endOf=function(t){return this.startOf(t,!1)},$.$set=function(s,a){var h,c=g.p(s),d=\"set\"+(this.$u?\"UTC\":\"\"),$=(h={},h[i]=d+\"Date\",h[f]=d+\"Date\",h[u]=d+\"Month\",h[o]=d+\"FullYear\",h[r]=d+\"Hours\",h[n]=d+\"Minutes\",h[e]=d+\"Seconds\",h[t]=d+\"Milliseconds\",h)[c],l=c===i?this.$D+(a-this.$W):a;if(c===u||c===o){var y=this.clone().set(f,1);y.$d[$](l),y.init(),this.$d=y.set(f,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},$.set=function(t,e){return this.clone().$set(t,e)},$.get=function(t){return this[g.p(t)]()},$.add=function(t,a){var f,h=this;t=Number(t);var c=g.p(a),d=function(e){var n=v(h);return g.w(n.date(n.date()+Math.round(e*t)),h)};if(c===u)return this.set(u,this.$M+t);if(c===o)return this.set(o,this.$y+t);if(c===i)return d(1);if(c===s)return d(7);var $=(f={},f[n]=6e4,f[r]=36e5,f[e]=1e3,f)[c]||1,l=this.$d.getTime()+t*$;return g.w(l,this)},$.subtract=function(t,e){return this.add(-1*t,e)},$.format=function(t){var e=this;if(!this.isValid())return\"Invalid Date\";var n=t||\"YYYY-MM-DDTHH:mm:ssZ\",r=g.z(this),i=this.$locale(),s=this.$H,u=this.$m,a=this.$M,o=i.weekdays,f=i.months,h=function(t,r,i,s){return t&&(t[r]||t(e,n))||i[r].substr(0,s)},d=function(t){return g.s(s%12||12,t,\"0\")},$=i.meridiem||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:g.s(a+1,2,\"0\"),MMM:h(i.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:g.s(this.$D,2,\"0\"),d:String(this.$W),dd:h(i.weekdaysMin,this.$W,o,2),ddd:h(i.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:g.s(s,2,\"0\"),h:d(1),hh:d(2),a:$(s,u,!0),A:$(s,u,!1),m:String(u),mm:g.s(u,2,\"0\"),s:String(this.$s),ss:g.s(this.$s,2,\"0\"),SSS:g.s(this.$ms,3,\"0\"),Z:r};return n.replace(c,function(t,e){return e||l[t]||r.replace(\":\",\"\")})},$.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},$.diff=function(t,f,h){var c,d=g.p(f),$=v(t),l=6e4*($.utcOffset()-this.utcOffset()),y=this-$,M=g.m(this,$);return M=(c={},c[o]=M/12,c[u]=M,c[a]=M/3,c[s]=(y-l)/6048e5,c[i]=(y-l)/864e5,c[r]=y/36e5,c[n]=y/6e4,c[e]=y/1e3,c)[d]||y,h?M:g.a(M)},$.daysInMonth=function(){return this.endOf(u).$D},$.$locale=function(){return M[this.$L]},$.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=D(t,e,!0);return r&&(n.$L=r),n},$.clone=function(){return g.w(this.$d,this)},$.toDate=function(){return new Date(this.valueOf())},$.toJSON=function(){return this.isValid()?this.toISOString():null},$.toISOString=function(){return this.$d.toISOString()},$.toString=function(){return this.$d.toUTCString()},d}(),p=S.prototype;return v.prototype=p,[[\"$ms\",t],[\"$s\",e],[\"$m\",n],[\"$H\",r],[\"$W\",i],[\"$M\",u],[\"$y\",o],[\"$D\",f]].forEach(function(t){p[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),v.extend=function(t,e){return t(e,S,v),v},v.locale=D,v.isDayjs=m,v.unix=function(t){return v(1e3*t)},v.en=M[y],v.Ls=M,v});\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):t.dayjs_plugin_customParseFormat=e()}(this,function(){\"use strict\";var t,e=/(\\[[^[]*\\])|([-:/.()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,o=/\\d*[^\\s\\d-:/()]+/;var i=function(t){return function(e){this[t]=+e}},s=[/[+-]\\d\\d:?\\d\\d/,function(t){var e,n;(this.zone||(this.zone={})).offset=(e=t.match(/([+-]|\\d\\d)/g),0===(n=60*e[1]+ +e[2])?0:\"+\"===e[0]?-n:n)}],a=function(e){var n=t[e];return n&&(n.indexOf?n:n.s.concat(n.f))},h={A:[/[AP]M/,function(t){this.afternoon=\"PM\"===t}],a:[/[ap]m/,function(t){this.afternoon=\"pm\"===t}],S:[/\\d/,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\\d{3}/,function(t){this.milliseconds=+t}],s:[r,i(\"seconds\")],ss:[r,i(\"seconds\")],m:[r,i(\"minutes\")],mm:[r,i(\"minutes\")],H:[r,i(\"hours\")],h:[r,i(\"hours\")],HH:[r,i(\"hours\")],hh:[r,i(\"hours\")],D:[r,i(\"day\")],DD:[n,i(\"day\")],Do:[o,function(e){var n=t.ordinal,r=e.match(/\\d+/);if(this.day=r[0],n)for(var o=1;o<=31;o+=1)n(o).replace(/\\[|\\]/g,\"\")===e&&(this.day=o)}],M:[r,i(\"month\")],MM:[n,i(\"month\")],MMM:[o,function(t){var e=a(\"months\"),n=(a(\"monthsShort\")||e.map(function(t){return t.substr(0,3)})).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(t){var e=a(\"months\").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\\d+/,i(\"year\")],YY:[n,function(t){t=+t,this.year=t+(t>68?1900:2e3)}],YYYY:[/\\d{4}/,i(\"year\")],Z:s,ZZ:s};var f=function(t,n,r){try{var o=function(t){for(var n=t.match(e),r=n.length,o=0;o<r;o+=1){var i=n[o],s=h[i],a=s&&s[0],f=s&&s[1];n[o]=f?{regex:a,parser:f}:i.replace(/^\\[|\\]$/g,\"\")}return function(t){for(var e={},o=0,i=0;o<r;o+=1){var s=n[o];if(\"string\"==typeof s)i+=s.length;else{var a=s.regex,h=s.parser,f=t.substr(i),u=a.exec(f)[0];h.call(e,u),t=t.replace(u,\"\")}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon}}(e),e}}(n)(t),i=o.year,s=o.month,a=o.day,f=o.hours,u=o.minutes,d=o.seconds,c=o.milliseconds,l=o.zone,m=new Date,v=a||(i||s?1:m.getDate()),p=i||m.getFullYear(),y=0;i&&!s||(y=s>0?s-1:m.getMonth());var D=f||0,M=u||0,g=d||0,Y=c||0;return l?new Date(Date.UTC(p,y,v,D,M,g,Y+60*l.offset*1e3)):r?new Date(Date.UTC(p,y,v,D,M,g,Y)):new Date(p,y,v,D,M,g,Y)}catch(t){return new Date(\"\")}};return function(e,n,r){var o=n.prototype,i=o.parse;o.parse=function(e){var n=e.date,o=e.utc,s=e.args;this.$u=o;var a=s[1];if(\"string\"==typeof a){var h=!0===s[2],u=!0===s[3],d=h||u,c=s[2];u&&(c=s[2]),h||(t=c?r.Ls[c]:this.$locale()),this.$d=f(n,a,o),this.init(),c&&!0!==c&&(this.$L=this.locale(c).$L),d&&n!==this.format(a)&&(this.$d=new Date(\"\"))}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var v=r.apply(this,s);if(v.isValid()){this.$d=v.$d,this.$L=v.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}});\n","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):t.dayjs_plugin_utc=i()}(this,function(){\"use strict\";return function(t,i,e){var s=(new Date).getTimezoneOffset(),n=i.prototype;e.utc=function(t){return new i({date:t,utc:!0,args:arguments})},n.utc=function(){return e(this.toDate(),{locale:this.$L,utc:!0})},n.local=function(){return e(this.toDate(),{locale:this.$L,utc:!1})};var u=n.parse;n.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),u.call(this,t)};var o=n.init;n.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var f=n.utcOffset;n.utcOffset=function(t,i){var e=this.$utils().u;if(e(t))return this.$u?0:e(this.$offset)?f.call(this):this.$offset;var n=Math.abs(t)<=16?60*t:t,u=this;return i?(u.$offset=n,u.$u=0===t,u):(0!==t?(u=this.local().add(n+s,\"minute\")).$offset=n:u=this.utc(),u)};var r=n.format;n.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return r.call(this,i)},n.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+s;return this.$d.valueOf()-6e4*t},n.isUTC=function(){return!!this.$u},n.toISOString=function(){return this.toDate().toISOString()},n.toString=function(){return this.toDate().toUTCString()};var a=n.toDate;n.toDate=function(t){return\"s\"===t&&this.$offset?e(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():a.call(this)};var c=n.diff;n.diff=function(t,i,s){var n=this.local(),u=e(t).local();return c.call(n,u,i,s)}}});\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","module.exports={\n \"modp1\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"\n },\n \"modp2\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"\n },\n \"modp5\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"\n },\n \"modp14\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"\n },\n \"modp15\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"\n },\n \"modp16\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"\n },\n \"modp17\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"\n },\n \"modp18\": {\n \"gen\": \"02\",\n \"prime\": \"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"\n }\n}","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n for (var j = 0; j < naf.length; j += doubles.step) {\n var nafW = 0;\n for (var k = j + doubles.step - 1; k >= j; k--)\n nafW = (nafW << 1) + naf[k];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (var j = 0; j < repr.length; j++) {\n var nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var k = 0; i >= 0 && naf[i] === 0; i--)\n k++;\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n for (var i = 0; i < len; i++) {\n var p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (var i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b] /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3 /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (var j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (var i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (var j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (var j = 0; j < len; j++) {\n var z = tmp[j];\n var p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (var i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +\n ' y: ' + this.y.fromRed().toString(16, 2) +\n ' z: ' + this.z.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n if (this.curve.twisted) {\n // E = a * C\n var e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n var h = this.z.redSqr();\n // J = F - 2 * H\n var j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n var e = c.redAdd(d);\n // H = (c * Z1)^2\n var h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n var j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +\n ' z: ' + this.z.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 }\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n};\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point))\n }\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +\n ' y: ' + this.y.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (var i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (var i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '<EC JPoint Infinity>';\n return '<EC JPoint x: ' + this.x.toString(16, 2) +\n ' y: ' + this.y.toString(16, 2) +\n ' z: ' + this.z.toString(16, 2) + '>';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'\n ]\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'\n ]\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'\n ]\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'\n ]\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650'\n ]\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9'\n ]\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658'\n ]\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3'\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15'\n }\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre\n ]\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(curves.hasOwnProperty(options), 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray()\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n do {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n } while (true);\n};\n\nEC.prototype._truncateToN = function truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8'\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; true; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n\n if (!this.curve._maxwellTrick) {\n var p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n var p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '<Key priv: ' + (this.priv && this.priv.toString(16, 2)) +\n ' pub: ' + (this.pub && this.pub.inspect()) + ' >';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n var curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array<Byte>} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array<Byte>} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array<Bytes>|Object} sig -\n* @param {Array<Bytes>|Point} [sig.R] - R point as Point or bytes\n* @param {Array<Bytes>|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array<Bytes>} [sig.Rencoded] - R point encoded\n* @param {Array<Bytes>} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821'\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf'\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695'\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9'\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36'\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f'\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999'\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09'\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d'\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088'\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d'\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8'\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a'\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453'\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160'\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0'\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6'\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589'\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17'\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda'\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd'\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2'\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6'\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f'\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01'\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3'\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f'\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7'\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78'\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1'\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150'\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82'\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc'\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b'\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51'\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45'\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120'\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84'\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d'\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d'\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8'\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8'\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac'\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f'\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962'\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907'\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec'\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d'\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414'\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd'\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0'\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811'\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1'\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c'\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73'\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd'\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405'\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589'\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e'\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27'\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1'\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482'\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945'\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573'\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82'\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672'\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6'\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da'\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37'\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b'\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81'\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58'\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77'\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a'\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c'\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67'\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402'\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55'\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482'\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82'\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396'\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49'\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf'\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a'\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7'\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933'\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a'\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6'\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37'\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e'\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6'\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476'\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40'\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61'\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683'\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5'\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b'\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417'\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868'\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a'\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6'\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996'\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e'\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d'\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2'\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e'\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437'\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311'\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4'\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575'\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d'\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d'\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629'\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06'\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374'\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee'\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1'\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b'\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661'\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6'\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e'\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d'\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc'\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4'\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c'\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b'\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913'\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154'\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865'\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc'\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224'\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e'\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6'\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511'\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b'\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2'\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c'\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3'\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d'\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700'\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4'\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196'\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4'\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257'\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13'\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096'\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38'\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f'\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448'\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a'\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4'\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437'\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7'\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d'\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a'\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54'\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77'\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517'\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10'\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125'\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e'\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1'\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2'\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423'\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8'\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758'\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375'\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d'\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec'\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0'\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c'\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4'\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f'\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649'\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826'\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5'\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87'\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b'\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc'\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c'\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f'\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a'\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46'\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f'\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03'\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08'\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8'\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373'\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3'\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8'\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1'\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9'\n ]\n ]\n }\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n []\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n var m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n var m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","module.exports={\n \"_from\": \"elliptic@^6.5.3\",\n \"_id\": \"elliptic@6.5.3\",\n \"_inBundle\": false,\n \"_integrity\": \"sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==\",\n \"_location\": \"/elliptic\",\n \"_phantomChildren\": {},\n \"_requested\": {\n \"type\": \"range\",\n \"registry\": true,\n \"raw\": \"elliptic@^6.5.3\",\n \"name\": \"elliptic\",\n \"escapedName\": \"elliptic\",\n \"rawSpec\": \"^6.5.3\",\n \"saveSpec\": null,\n \"fetchSpec\": \"^6.5.3\"\n },\n \"_requiredBy\": [\n \"/browserify-sign\",\n \"/create-ecdh\"\n ],\n \"_resolved\": \"https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz\",\n \"_shasum\": \"cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6\",\n \"_spec\": \"elliptic@^6.5.3\",\n \"_where\": \"/mnt/d/dev/git/exceljs/node_modules/browserify-sign\",\n \"author\": {\n \"name\": \"Fedor Indutny\",\n \"email\": \"fedor@indutny.com\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/indutny/elliptic/issues\"\n },\n \"bundleDependencies\": false,\n \"dependencies\": {\n \"bn.js\": \"^4.4.0\",\n \"brorand\": \"^1.0.1\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.0\",\n \"inherits\": \"^2.0.1\",\n \"minimalistic-assert\": \"^1.0.0\",\n \"minimalistic-crypto-utils\": \"^1.0.0\"\n },\n \"deprecated\": false,\n \"description\": \"EC cryptography\",\n \"devDependencies\": {\n \"brfs\": \"^1.4.3\",\n \"coveralls\": \"^3.0.8\",\n \"grunt\": \"^1.0.4\",\n \"grunt-browserify\": \"^5.0.0\",\n \"grunt-cli\": \"^1.2.0\",\n \"grunt-contrib-connect\": \"^1.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^1.0.1\",\n \"grunt-mocha-istanbul\": \"^3.0.1\",\n \"grunt-saucelabs\": \"^9.0.1\",\n \"istanbul\": \"^0.4.2\",\n \"jscs\": \"^3.0.7\",\n \"jshint\": \"^2.10.3\",\n \"mocha\": \"^6.2.2\"\n },\n \"files\": [\n \"lib\"\n ],\n \"homepage\": \"https://github.com/indutny/elliptic\",\n \"keywords\": [\n \"EC\",\n \"Elliptic\",\n \"curve\",\n \"Cryptography\"\n ],\n \"license\": \"MIT\",\n \"main\": \"lib/elliptic.js\",\n \"name\": \"elliptic\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+ssh://git@github.com/indutny/elliptic.git\"\n },\n \"scripts\": {\n \"jscs\": \"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",\n \"jshint\": \"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",\n \"lint\": \"npm run jscs && npm run jshint\",\n \"test\": \"npm run lint && npm run unit\",\n \"unit\": \"istanbul test _mocha --reporter=spec test/index.js\",\n \"version\": \"grunt dist && git add dist/\"\n },\n \"version\": \"6.5.3\"\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar objectCreate = Object.create || objectCreatePolyfill\nvar objectKeys = Object.keys || objectKeysPolyfill\nvar bind = Function.prototype.bind || functionBindPolyfill\n\nfunction EventEmitter() {\n if (!this._events || !Object.prototype.hasOwnProperty.call(this, '_events')) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nvar hasDefineProperty;\ntry {\n var o = {};\n if (Object.defineProperty) Object.defineProperty(o, 'x', { value: 0 });\n hasDefineProperty = o.x === 0;\n} catch (err) { hasDefineProperty = false }\nif (hasDefineProperty) {\n Object.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n // check whether the input is a positive number (whose value is zero or\n // greater and not a NaN).\n if (typeof arg !== 'number' || arg < 0 || arg !== arg)\n throw new TypeError('\"defaultMaxListeners\" must be a positive number');\n defaultMaxListeners = arg;\n }\n });\n} else {\n EventEmitter.defaultMaxListeners = defaultMaxListeners;\n}\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || isNaN(n))\n throw new TypeError('\"n\" argument must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nfunction $getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $getMaxListeners(this);\n};\n\n// These standalone emit* functions are used to optimize calling of event\n// handlers for fast cases because emit() itself often has a variable number of\n// arguments and can be deoptimized because of that. These functions always have\n// the same number of arguments and thus do not get deoptimized, so the code\n// inside them can execute faster.\nfunction emitNone(handler, isFn, self) {\n if (isFn)\n handler.call(self);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self);\n }\n}\nfunction emitOne(handler, isFn, self, arg1) {\n if (isFn)\n handler.call(self, arg1);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1);\n }\n}\nfunction emitTwo(handler, isFn, self, arg1, arg2) {\n if (isFn)\n handler.call(self, arg1, arg2);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2);\n }\n}\nfunction emitThree(handler, isFn, self, arg1, arg2, arg3) {\n if (isFn)\n handler.call(self, arg1, arg2, arg3);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].call(self, arg1, arg2, arg3);\n }\n}\n\nfunction emitMany(handler, isFn, self, args) {\n if (isFn)\n handler.apply(self, args);\n else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n listeners[i].apply(self, args);\n }\n}\n\nEventEmitter.prototype.emit = function emit(type) {\n var er, handler, len, args, i, events;\n var doError = (type === 'error');\n\n events = this._events;\n if (events)\n doError = (doError && events.error == null);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n if (arguments.length > 1)\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Unhandled \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n return false;\n }\n\n handler = events[type];\n\n if (!handler)\n return false;\n\n var isFn = typeof handler === 'function';\n len = arguments.length;\n switch (len) {\n // fast cases\n case 1:\n emitNone(handler, isFn, this);\n break;\n case 2:\n emitOne(handler, isFn, this, arguments[1]);\n break;\n case 3:\n emitTwo(handler, isFn, this, arguments[1], arguments[2]);\n break;\n case 4:\n emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);\n break;\n // slower\n default:\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n emitMany(handler, isFn, this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = target._events;\n if (!events) {\n events = target._events = objectCreate(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (!existing) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n } else {\n // If we've already got an array, just append.\n if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n }\n\n // Check for listener leak\n if (!existing.warned) {\n m = $getMaxListeners(target);\n if (m && m > 0 && existing.length > m) {\n existing.warned = true;\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' \"' + String(type) + '\" listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit.');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n if (typeof console === 'object' && console.warn) {\n console.warn('%s: %s', w.name, w.message);\n }\n }\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n switch (arguments.length) {\n case 0:\n return this.listener.call(this.target);\n case 1:\n return this.listener.call(this.target, arguments[0]);\n case 2:\n return this.listener.call(this.target, arguments[0], arguments[1]);\n case 3:\n return this.listener.call(this.target, arguments[0], arguments[1],\n arguments[2]);\n default:\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; ++i)\n args[i] = arguments[i];\n this.listener.apply(this.target, args);\n }\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = bind.call(onceWrapper, state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n if (typeof listener !== 'function')\n throw new TypeError('\"listener\" argument must be a function');\n\n events = this._events;\n if (!events)\n return this;\n\n list = events[type];\n if (!list)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else\n spliceOne(list, position);\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (!events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!events.removeListener) {\n if (arguments.length === 0) {\n this._events = objectCreate(null);\n this._eventsCount = 0;\n } else if (events[type]) {\n if (--this._eventsCount === 0)\n this._events = objectCreate(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = objectKeys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = objectCreate(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (!events)\n return [];\n\n var evlistener = events[type];\n if (!evlistener)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\n\n// About 1.5x faster than the two-arg version of Array#splice().\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)\n list[i] = list[k];\n list.pop();\n}\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction objectCreatePolyfill(proto) {\n var F = function() {};\n F.prototype = proto;\n return new F;\n}\nfunction objectKeysPolyfill(obj) {\n var keys = [];\n for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k)) {\n keys.push(k);\n }\n return k;\n}\nfunction functionBindPolyfill(context) {\n var fn = this;\n return function () {\n return fn.apply(context, arguments);\n };\n}\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar format_1 = require(\"@fast-csv/format\");\n\nObject.defineProperty(exports, \"format\", {\n enumerable: true,\n get: function get() {\n return format_1.format;\n }\n});\nObject.defineProperty(exports, \"write\", {\n enumerable: true,\n get: function get() {\n return format_1.write;\n }\n});\nObject.defineProperty(exports, \"writeToStream\", {\n enumerable: true,\n get: function get() {\n return format_1.writeToStream;\n }\n});\nObject.defineProperty(exports, \"writeToBuffer\", {\n enumerable: true,\n get: function get() {\n return format_1.writeToBuffer;\n }\n});\nObject.defineProperty(exports, \"writeToString\", {\n enumerable: true,\n get: function get() {\n return format_1.writeToString;\n }\n});\nObject.defineProperty(exports, \"writeToPath\", {\n enumerable: true,\n get: function get() {\n return format_1.writeToPath;\n }\n});\nObject.defineProperty(exports, \"CsvFormatterStream\", {\n enumerable: true,\n get: function get() {\n return format_1.CsvFormatterStream;\n }\n});\nObject.defineProperty(exports, \"FormatterOptions\", {\n enumerable: true,\n get: function get() {\n return format_1.FormatterOptions;\n }\n});\n\nvar parse_1 = require(\"@fast-csv/parse\");\n\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function get() {\n return parse_1.parse;\n }\n});\nObject.defineProperty(exports, \"parseString\", {\n enumerable: true,\n get: function get() {\n return parse_1.parseString;\n }\n});\nObject.defineProperty(exports, \"parseStream\", {\n enumerable: true,\n get: function get() {\n return parse_1.parseStream;\n }\n});\nObject.defineProperty(exports, \"parseFile\", {\n enumerable: true,\n get: function get() {\n return parse_1.parseFile;\n }\n});\nObject.defineProperty(exports, \"ParserOptions\", {\n enumerable: true,\n get: function get() {\n return parse_1.ParserOptions;\n }\n});\nObject.defineProperty(exports, \"CsvParserStream\", {\n enumerable: true,\n get: function get() {\n return parse_1.CsvParserStream;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBLFFBQUEsR0FBQSxPQUFBLENBQUEsa0JBQUEsQ0FBQTs7QUFDSSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLE1BQUE7QUFBTTtBQUFOLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxPQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLEtBQUE7QUFBSztBQUFMLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxlQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLGFBQUE7QUFBYTtBQUFiLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxlQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLGFBQUE7QUFBYTtBQUFiLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxlQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLGFBQUE7QUFBYTtBQUFiLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxhQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsUUFBQSxDQUFBLFdBQUE7QUFBVztBQUFYLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxvQkFBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLFFBQUEsQ0FBQSxrQkFBQTtBQUFrQjtBQUFsQixDQUFBO0FBQ0EsTUFBQSxDQUFBLGNBQUEsQ0FBQSxPQUFBLEVBQUEsa0JBQUEsRUFBQTtBQUFBLEVBQUEsVUFBQSxFQUFBLElBQUE7QUFBQSxFQUFBLEdBQUEsRUFBQSxlQUFBO0FBQUEsV0FBQSxRQUFBLENBQUEsZ0JBQUE7QUFBZ0I7QUFBaEIsQ0FBQTs7QUFVSixJQUFBLE9BQUEsR0FBQSxPQUFBLENBQUEsaUJBQUEsQ0FBQTs7QUFDSSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxPQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsT0FBQSxDQUFBLEtBQUE7QUFBSztBQUFMLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxhQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsT0FBQSxDQUFBLFdBQUE7QUFBVztBQUFYLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxhQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsT0FBQSxDQUFBLFdBQUE7QUFBVztBQUFYLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxXQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsT0FBQSxDQUFBLFNBQUE7QUFBUztBQUFULENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxlQUFBLEVBQUE7QUFBQSxFQUFBLFVBQUEsRUFBQSxJQUFBO0FBQUEsRUFBQSxHQUFBLEVBQUEsZUFBQTtBQUFBLFdBQUEsT0FBQSxDQUFBLGFBQUE7QUFBYTtBQUFiLENBQUE7QUFDQSxNQUFBLENBQUEsY0FBQSxDQUFBLE9BQUEsRUFBQSxpQkFBQSxFQUFBO0FBQUEsRUFBQSxVQUFBLEVBQUEsSUFBQTtBQUFBLEVBQUEsR0FBQSxFQUFBLGVBQUE7QUFBQSxXQUFBLE9BQUEsQ0FBQSxlQUFBO0FBQWU7QUFBZixDQUFBIiwic291cmNlUm9vdCI6IiJ9","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","'use strict';\nvar utils = require('./utils');\nvar support = require('./support');\n// private property\nvar _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n\n// public method for encoding\nexports.encode = function(input) {\n var output = [];\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n var i = 0, len = input.length, remainingBytes = len;\n\n var isArray = utils.getTypeOf(input) !== \"string\";\n while (i < input.length) {\n remainingBytes = len - i;\n\n if (!isArray) {\n chr1 = input.charCodeAt(i++);\n chr2 = i < len ? input.charCodeAt(i++) : 0;\n chr3 = i < len ? input.charCodeAt(i++) : 0;\n } else {\n chr1 = input[i++];\n chr2 = i < len ? input[i++] : 0;\n chr3 = i < len ? input[i++] : 0;\n }\n\n enc1 = chr1 >> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = remainingBytes > 1 ? (((chr2 & 15) << 2) | (chr3 >> 6)) : 64;\n enc4 = remainingBytes > 2 ? (chr3 & 63) : 64;\n\n output.push(_keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4));\n\n }\n\n return output.join(\"\");\n};\n\n// public method for decoding\nexports.decode = function(input) {\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0, resultIndex = 0;\n\n var dataUrlPrefix = \"data:\";\n\n if (input.substr(0, dataUrlPrefix.length) === dataUrlPrefix) {\n // This is a common error: people give a data url\n // (data:image/png;base64,iVBOR...) with a {base64: true} and\n // wonders why things don't work.\n // We can detect that the string input looks like a data url but we\n // *can't* be sure it is one: removing everything up to the comma would\n // be too dangerous.\n throw new Error(\"Invalid base64 input, it looks like a data url.\");\n }\n\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n\n var totalLength = input.length * 3 / 4;\n if(input.charAt(input.length - 1) === _keyStr.charAt(64)) {\n totalLength--;\n }\n if(input.charAt(input.length - 2) === _keyStr.charAt(64)) {\n totalLength--;\n }\n if (totalLength % 1 !== 0) {\n // totalLength is not an integer, the length does not match a valid\n // base64 content. That can happen if:\n // - the input is not a base64 content\n // - the input is *almost* a base64 content, with a extra chars at the\n // beginning or at the end\n // - the input uses a base64 variant (base64url for example)\n throw new Error(\"Invalid base64 input, bad content length.\");\n }\n var output;\n if (support.uint8array) {\n output = new Uint8Array(totalLength|0);\n } else {\n output = new Array(totalLength|0);\n }\n\n while (i < input.length) {\n\n enc1 = _keyStr.indexOf(input.charAt(i++));\n enc2 = _keyStr.indexOf(input.charAt(i++));\n enc3 = _keyStr.indexOf(input.charAt(i++));\n enc4 = _keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output[resultIndex++] = chr1;\n\n if (enc3 !== 64) {\n output[resultIndex++] = chr2;\n }\n if (enc4 !== 64) {\n output[resultIndex++] = chr3;\n }\n\n }\n\n return output;\n};\n","'use strict';\n\nvar external = require(\"./external\");\nvar DataWorker = require('./stream/DataWorker');\nvar DataLengthProbe = require('./stream/DataLengthProbe');\nvar Crc32Probe = require('./stream/Crc32Probe');\nvar DataLengthProbe = require('./stream/DataLengthProbe');\n\n/**\n * Represent a compressed object, with everything needed to decompress it.\n * @constructor\n * @param {number} compressedSize the size of the data compressed.\n * @param {number} uncompressedSize the size of the data after decompression.\n * @param {number} crc32 the crc32 of the decompressed file.\n * @param {object} compression the type of compression, see lib/compressions.js.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the compressed data.\n */\nfunction CompressedObject(compressedSize, uncompressedSize, crc32, compression, data) {\n this.compressedSize = compressedSize;\n this.uncompressedSize = uncompressedSize;\n this.crc32 = crc32;\n this.compression = compression;\n this.compressedContent = data;\n}\n\nCompressedObject.prototype = {\n /**\n * Create a worker to get the uncompressed content.\n * @return {GenericWorker} the worker.\n */\n getContentWorker : function () {\n var worker = new DataWorker(external.Promise.resolve(this.compressedContent))\n .pipe(this.compression.uncompressWorker())\n .pipe(new DataLengthProbe(\"data_length\"));\n\n var that = this;\n worker.on(\"end\", function () {\n if(this.streamInfo['data_length'] !== that.uncompressedSize) {\n throw new Error(\"Bug : uncompressed data size mismatch\");\n }\n });\n return worker;\n },\n /**\n * Create a worker to get the compressed content.\n * @return {GenericWorker} the worker.\n */\n getCompressedWorker : function () {\n return new DataWorker(external.Promise.resolve(this.compressedContent))\n .withStreamInfo(\"compressedSize\", this.compressedSize)\n .withStreamInfo(\"uncompressedSize\", this.uncompressedSize)\n .withStreamInfo(\"crc32\", this.crc32)\n .withStreamInfo(\"compression\", this.compression)\n ;\n }\n};\n\n/**\n * Chain the given worker with other workers to compress the content with the\n * given compression.\n * @param {GenericWorker} uncompressedWorker the worker to pipe.\n * @param {Object} compression the compression object.\n * @param {Object} compressionOptions the options to use when compressing.\n * @return {GenericWorker} the new worker compressing the content.\n */\nCompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) {\n return uncompressedWorker\n .pipe(new Crc32Probe())\n .pipe(new DataLengthProbe(\"uncompressedSize\"))\n .pipe(compression.compressWorker(compressionOptions))\n .pipe(new DataLengthProbe(\"compressedSize\"))\n .withStreamInfo(\"compression\", compression);\n};\n\nmodule.exports = CompressedObject;\n","'use strict';\n\nvar GenericWorker = require(\"./stream/GenericWorker\");\n\nexports.STORE = {\n magic: \"\\x00\\x00\",\n compressWorker : function (compressionOptions) {\n return new GenericWorker(\"STORE compression\");\n },\n uncompressWorker : function () {\n return new GenericWorker(\"STORE decompression\");\n }\n};\nexports.DEFLATE = require('./flate');\n","'use strict';\n\nvar utils = require('./utils');\n\n/**\n * The following functions come from pako, from pako/lib/zlib/crc32.js\n * released under the MIT license, see pako https://github.com/nodeca/pako/\n */\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable, end = pos + len;\n\n crc = crc ^ (-1);\n\n for (var i = pos; i < end; i++ ) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n// That's all for the pako functions.\n\n/**\n * Compute the crc32 of a string.\n * This is almost the same as the function crc32, but for strings. Using the\n * same function for the two use cases leads to horrible performances.\n * @param {Number} crc the starting value of the crc.\n * @param {String} str the string to use.\n * @param {Number} len the length of the string.\n * @param {Number} pos the starting position for the crc32 computation.\n * @return {Number} the computed crc32.\n */\nfunction crc32str(crc, str, len, pos) {\n var t = crcTable, end = pos + len;\n\n crc = crc ^ (-1);\n\n for (var i = pos; i < end; i++ ) {\n crc = (crc >>> 8) ^ t[(crc ^ str.charCodeAt(i)) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\nmodule.exports = function crc32wrapper(input, crc) {\n if (typeof input === \"undefined\" || !input.length) {\n return 0;\n }\n\n var isArray = utils.getTypeOf(input) !== \"string\";\n\n if(isArray) {\n return crc32(crc|0, input, input.length, 0);\n } else {\n return crc32str(crc|0, input, input.length, 0);\n }\n};\n","'use strict';\nexports.base64 = false;\nexports.binary = false;\nexports.dir = false;\nexports.createFolders = true;\nexports.date = null;\nexports.compression = null;\nexports.compressionOptions = null;\nexports.comment = null;\nexports.unixPermissions = null;\nexports.dosPermissions = null;\n","/* global Promise */\n'use strict';\n\n// load the global object first:\n// - it should be better integrated in the system (unhandledRejection in node)\n// - the environment may have a custom Promise implementation (see zone.js)\nvar ES6Promise = null;\nif (typeof Promise !== \"undefined\") {\n ES6Promise = Promise;\n} else {\n ES6Promise = require(\"lie\");\n}\n\n/**\n * Let the user use/change some implementations.\n */\nmodule.exports = {\n Promise: ES6Promise\n};\n","'use strict';\nvar USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');\n\nvar pako = require(\"pako\");\nvar utils = require(\"./utils\");\nvar GenericWorker = require(\"./stream/GenericWorker\");\n\nvar ARRAY_TYPE = USE_TYPEDARRAY ? \"uint8array\" : \"array\";\n\nexports.magic = \"\\x08\\x00\";\n\n/**\n * Create a worker that uses pako to inflate/deflate.\n * @constructor\n * @param {String} action the name of the pako function to call : either \"Deflate\" or \"Inflate\".\n * @param {Object} options the options to use when (de)compressing.\n */\nfunction FlateWorker(action, options) {\n GenericWorker.call(this, \"FlateWorker/\" + action);\n\n this._pako = null;\n this._pakoAction = action;\n this._pakoOptions = options;\n // the `meta` object from the last chunk received\n // this allow this worker to pass around metadata\n this.meta = {};\n}\n\nutils.inherits(FlateWorker, GenericWorker);\n\n/**\n * @see GenericWorker.processChunk\n */\nFlateWorker.prototype.processChunk = function (chunk) {\n this.meta = chunk.meta;\n if (this._pako === null) {\n this._createPako();\n }\n this._pako.push(utils.transformTo(ARRAY_TYPE, chunk.data), false);\n};\n\n/**\n * @see GenericWorker.flush\n */\nFlateWorker.prototype.flush = function () {\n GenericWorker.prototype.flush.call(this);\n if (this._pako === null) {\n this._createPako();\n }\n this._pako.push([], true);\n};\n/**\n * @see GenericWorker.cleanUp\n */\nFlateWorker.prototype.cleanUp = function () {\n GenericWorker.prototype.cleanUp.call(this);\n this._pako = null;\n};\n\n/**\n * Create the _pako object.\n * TODO: lazy-loading this object isn't the best solution but it's the\n * quickest. The best solution is to lazy-load the worker list. See also the\n * issue #446.\n */\nFlateWorker.prototype._createPako = function () {\n this._pako = new pako[this._pakoAction]({\n raw: true,\n level: this._pakoOptions.level || -1 // default compression\n });\n var self = this;\n this._pako.onData = function(data) {\n self.push({\n data : data,\n meta : self.meta\n });\n };\n};\n\nexports.compressWorker = function (compressionOptions) {\n return new FlateWorker(\"Deflate\", compressionOptions);\n};\nexports.uncompressWorker = function () {\n return new FlateWorker(\"Inflate\", {});\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar GenericWorker = require('../stream/GenericWorker');\nvar utf8 = require('../utf8');\nvar crc32 = require('../crc32');\nvar signature = require('../signature');\n\n/**\n * Transform an integer into a string in hexadecimal.\n * @private\n * @param {number} dec the number to convert.\n * @param {number} bytes the number of bytes to generate.\n * @returns {string} the result.\n */\nvar decToHex = function(dec, bytes) {\n var hex = \"\", i;\n for (i = 0; i < bytes; i++) {\n hex += String.fromCharCode(dec & 0xff);\n dec = dec >>> 8;\n }\n return hex;\n};\n\n/**\n * Generate the UNIX part of the external file attributes.\n * @param {Object} unixPermissions the unix permissions or null.\n * @param {Boolean} isDir true if the entry is a directory, false otherwise.\n * @return {Number} a 32 bit integer.\n *\n * adapted from http://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute :\n *\n * TTTTsstrwxrwxrwx0000000000ADVSHR\n * ^^^^____________________________ file type, see zipinfo.c (UNX_*)\n * ^^^_________________________ setuid, setgid, sticky\n * ^^^^^^^^^________________ permissions\n * ^^^^^^^^^^______ not used ?\n * ^^^^^^ DOS attribute bits : Archive, Directory, Volume label, System file, Hidden, Read only\n */\nvar generateUnixExternalFileAttr = function (unixPermissions, isDir) {\n\n var result = unixPermissions;\n if (!unixPermissions) {\n // I can't use octal values in strict mode, hence the hexa.\n // 040775 => 0x41fd\n // 0100664 => 0x81b4\n result = isDir ? 0x41fd : 0x81b4;\n }\n return (result & 0xFFFF) << 16;\n};\n\n/**\n * Generate the DOS part of the external file attributes.\n * @param {Object} dosPermissions the dos permissions or null.\n * @param {Boolean} isDir true if the entry is a directory, false otherwise.\n * @return {Number} a 32 bit integer.\n *\n * Bit 0 Read-Only\n * Bit 1 Hidden\n * Bit 2 System\n * Bit 3 Volume Label\n * Bit 4 Directory\n * Bit 5 Archive\n */\nvar generateDosExternalFileAttr = function (dosPermissions, isDir) {\n\n // the dir flag is already set for compatibility\n return (dosPermissions || 0) & 0x3F;\n};\n\n/**\n * Generate the various parts used in the construction of the final zip file.\n * @param {Object} streamInfo the hash with information about the compressed file.\n * @param {Boolean} streamedContent is the content streamed ?\n * @param {Boolean} streamingEnded is the stream finished ?\n * @param {number} offset the current offset from the start of the zip file.\n * @param {String} platform let's pretend we are this platform (change platform dependents fields)\n * @param {Function} encodeFileName the function to encode the file name / comment.\n * @return {Object} the zip parts.\n */\nvar generateZipParts = function(streamInfo, streamedContent, streamingEnded, offset, platform, encodeFileName) {\n var file = streamInfo['file'],\n compression = streamInfo['compression'],\n useCustomEncoding = encodeFileName !== utf8.utf8encode,\n encodedFileName = utils.transformTo(\"string\", encodeFileName(file.name)),\n utfEncodedFileName = utils.transformTo(\"string\", utf8.utf8encode(file.name)),\n comment = file.comment,\n encodedComment = utils.transformTo(\"string\", encodeFileName(comment)),\n utfEncodedComment = utils.transformTo(\"string\", utf8.utf8encode(comment)),\n useUTF8ForFileName = utfEncodedFileName.length !== file.name.length,\n useUTF8ForComment = utfEncodedComment.length !== comment.length,\n dosTime,\n dosDate,\n extraFields = \"\",\n unicodePathExtraField = \"\",\n unicodeCommentExtraField = \"\",\n dir = file.dir,\n date = file.date;\n\n\n var dataInfo = {\n crc32 : 0,\n compressedSize : 0,\n uncompressedSize : 0\n };\n\n // if the content is streamed, the sizes/crc32 are only available AFTER\n // the end of the stream.\n if (!streamedContent || streamingEnded) {\n dataInfo.crc32 = streamInfo['crc32'];\n dataInfo.compressedSize = streamInfo['compressedSize'];\n dataInfo.uncompressedSize = streamInfo['uncompressedSize'];\n }\n\n var bitflag = 0;\n if (streamedContent) {\n // Bit 3: the sizes/crc32 are set to zero in the local header.\n // The correct values are put in the data descriptor immediately\n // following the compressed data.\n bitflag |= 0x0008;\n }\n if (!useCustomEncoding && (useUTF8ForFileName || useUTF8ForComment)) {\n // Bit 11: Language encoding flag (EFS).\n bitflag |= 0x0800;\n }\n\n\n var extFileAttr = 0;\n var versionMadeBy = 0;\n if (dir) {\n // dos or unix, we set the dos dir flag\n extFileAttr |= 0x00010;\n }\n if(platform === \"UNIX\") {\n versionMadeBy = 0x031E; // UNIX, version 3.0\n extFileAttr |= generateUnixExternalFileAttr(file.unixPermissions, dir);\n } else { // DOS or other, fallback to DOS\n versionMadeBy = 0x0014; // DOS, version 2.0\n extFileAttr |= generateDosExternalFileAttr(file.dosPermissions, dir);\n }\n\n // date\n // @see http://www.delorie.com/djgpp/doc/rbinter/it/52/13.html\n // @see http://www.delorie.com/djgpp/doc/rbinter/it/65/16.html\n // @see http://www.delorie.com/djgpp/doc/rbinter/it/66/16.html\n\n dosTime = date.getUTCHours();\n dosTime = dosTime << 6;\n dosTime = dosTime | date.getUTCMinutes();\n dosTime = dosTime << 5;\n dosTime = dosTime | date.getUTCSeconds() / 2;\n\n dosDate = date.getUTCFullYear() - 1980;\n dosDate = dosDate << 4;\n dosDate = dosDate | (date.getUTCMonth() + 1);\n dosDate = dosDate << 5;\n dosDate = dosDate | date.getUTCDate();\n\n if (useUTF8ForFileName) {\n // set the unicode path extra field. unzip needs at least one extra\n // field to correctly handle unicode path, so using the path is as good\n // as any other information. This could improve the situation with\n // other archive managers too.\n // This field is usually used without the utf8 flag, with a non\n // unicode path in the header (winrar, winzip). This helps (a bit)\n // with the messy Windows' default compressed folders feature but\n // breaks on p7zip which doesn't seek the unicode path extra field.\n // So for now, UTF-8 everywhere !\n unicodePathExtraField =\n // Version\n decToHex(1, 1) +\n // NameCRC32\n decToHex(crc32(encodedFileName), 4) +\n // UnicodeName\n utfEncodedFileName;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x70\" +\n // size\n decToHex(unicodePathExtraField.length, 2) +\n // content\n unicodePathExtraField;\n }\n\n if(useUTF8ForComment) {\n\n unicodeCommentExtraField =\n // Version\n decToHex(1, 1) +\n // CommentCRC32\n decToHex(crc32(encodedComment), 4) +\n // UnicodeName\n utfEncodedComment;\n\n extraFields +=\n // Info-ZIP Unicode Path Extra Field\n \"\\x75\\x63\" +\n // size\n decToHex(unicodeCommentExtraField.length, 2) +\n // content\n unicodeCommentExtraField;\n }\n\n var header = \"\";\n\n // version needed to extract\n header += \"\\x0A\\x00\";\n // general purpose bit flag\n header += decToHex(bitflag, 2);\n // compression method\n header += compression.magic;\n // last mod file time\n header += decToHex(dosTime, 2);\n // last mod file date\n header += decToHex(dosDate, 2);\n // crc-32\n header += decToHex(dataInfo.crc32, 4);\n // compressed size\n header += decToHex(dataInfo.compressedSize, 4);\n // uncompressed size\n header += decToHex(dataInfo.uncompressedSize, 4);\n // file name length\n header += decToHex(encodedFileName.length, 2);\n // extra field length\n header += decToHex(extraFields.length, 2);\n\n\n var fileRecord = signature.LOCAL_FILE_HEADER + header + encodedFileName + extraFields;\n\n var dirRecord = signature.CENTRAL_FILE_HEADER +\n // version made by (00: DOS)\n decToHex(versionMadeBy, 2) +\n // file header (common to file and central directory)\n header +\n // file comment length\n decToHex(encodedComment.length, 2) +\n // disk number start\n \"\\x00\\x00\" +\n // internal file attributes TODO\n \"\\x00\\x00\" +\n // external file attributes\n decToHex(extFileAttr, 4) +\n // relative offset of local header\n decToHex(offset, 4) +\n // file name\n encodedFileName +\n // extra field\n extraFields +\n // file comment\n encodedComment;\n\n return {\n fileRecord: fileRecord,\n dirRecord: dirRecord\n };\n};\n\n/**\n * Generate the EOCD record.\n * @param {Number} entriesCount the number of entries in the zip file.\n * @param {Number} centralDirLength the length (in bytes) of the central dir.\n * @param {Number} localDirLength the length (in bytes) of the local dir.\n * @param {String} comment the zip file comment as a binary string.\n * @param {Function} encodeFileName the function to encode the comment.\n * @return {String} the EOCD record.\n */\nvar generateCentralDirectoryEnd = function (entriesCount, centralDirLength, localDirLength, comment, encodeFileName) {\n var dirEnd = \"\";\n var encodedComment = utils.transformTo(\"string\", encodeFileName(comment));\n\n // end of central dir signature\n dirEnd = signature.CENTRAL_DIRECTORY_END +\n // number of this disk\n \"\\x00\\x00\" +\n // number of the disk with the start of the central directory\n \"\\x00\\x00\" +\n // total number of entries in the central directory on this disk\n decToHex(entriesCount, 2) +\n // total number of entries in the central directory\n decToHex(entriesCount, 2) +\n // size of the central directory 4 bytes\n decToHex(centralDirLength, 4) +\n // offset of start of central directory with respect to the starting disk number\n decToHex(localDirLength, 4) +\n // .ZIP file comment length\n decToHex(encodedComment.length, 2) +\n // .ZIP file comment\n encodedComment;\n\n return dirEnd;\n};\n\n/**\n * Generate data descriptors for a file entry.\n * @param {Object} streamInfo the hash generated by a worker, containing information\n * on the file entry.\n * @return {String} the data descriptors.\n */\nvar generateDataDescriptors = function (streamInfo) {\n var descriptor = \"\";\n descriptor = signature.DATA_DESCRIPTOR +\n // crc-32 4 bytes\n decToHex(streamInfo['crc32'], 4) +\n // compressed size 4 bytes\n decToHex(streamInfo['compressedSize'], 4) +\n // uncompressed size 4 bytes\n decToHex(streamInfo['uncompressedSize'], 4);\n\n return descriptor;\n};\n\n\n/**\n * A worker to concatenate other workers to create a zip file.\n * @param {Boolean} streamFiles `true` to stream the content of the files,\n * `false` to accumulate it.\n * @param {String} comment the comment to use.\n * @param {String} platform the platform to use, \"UNIX\" or \"DOS\".\n * @param {Function} encodeFileName the function to encode file names and comments.\n */\nfunction ZipFileWorker(streamFiles, comment, platform, encodeFileName) {\n GenericWorker.call(this, \"ZipFileWorker\");\n // The number of bytes written so far. This doesn't count accumulated chunks.\n this.bytesWritten = 0;\n // The comment of the zip file\n this.zipComment = comment;\n // The platform \"generating\" the zip file.\n this.zipPlatform = platform;\n // the function to encode file names and comments.\n this.encodeFileName = encodeFileName;\n // Should we stream the content of the files ?\n this.streamFiles = streamFiles;\n // If `streamFiles` is false, we will need to accumulate the content of the\n // files to calculate sizes / crc32 (and write them *before* the content).\n // This boolean indicates if we are accumulating chunks (it will change a lot\n // during the lifetime of this worker).\n this.accumulate = false;\n // The buffer receiving chunks when accumulating content.\n this.contentBuffer = [];\n // The list of generated directory records.\n this.dirRecords = [];\n // The offset (in bytes) from the beginning of the zip file for the current source.\n this.currentSourceOffset = 0;\n // The total number of entries in this zip file.\n this.entriesCount = 0;\n // the name of the file currently being added, null when handling the end of the zip file.\n // Used for the emitted metadata.\n this.currentFile = null;\n\n\n\n this._sources = [];\n}\nutils.inherits(ZipFileWorker, GenericWorker);\n\n/**\n * @see GenericWorker.push\n */\nZipFileWorker.prototype.push = function (chunk) {\n\n var currentFilePercent = chunk.meta.percent || 0;\n var entriesCount = this.entriesCount;\n var remainingFiles = this._sources.length;\n\n if(this.accumulate) {\n this.contentBuffer.push(chunk);\n } else {\n this.bytesWritten += chunk.data.length;\n\n GenericWorker.prototype.push.call(this, {\n data : chunk.data,\n meta : {\n currentFile : this.currentFile,\n percent : entriesCount ? (currentFilePercent + 100 * (entriesCount - remainingFiles - 1)) / entriesCount : 100\n }\n });\n }\n};\n\n/**\n * The worker started a new source (an other worker).\n * @param {Object} streamInfo the streamInfo object from the new source.\n */\nZipFileWorker.prototype.openedSource = function (streamInfo) {\n this.currentSourceOffset = this.bytesWritten;\n this.currentFile = streamInfo['file'].name;\n\n var streamedContent = this.streamFiles && !streamInfo['file'].dir;\n\n // don't stream folders (because they don't have any content)\n if(streamedContent) {\n var record = generateZipParts(streamInfo, streamedContent, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);\n this.push({\n data : record.fileRecord,\n meta : {percent:0}\n });\n } else {\n // we need to wait for the whole file before pushing anything\n this.accumulate = true;\n }\n};\n\n/**\n * The worker finished a source (an other worker).\n * @param {Object} streamInfo the streamInfo object from the finished source.\n */\nZipFileWorker.prototype.closedSource = function (streamInfo) {\n this.accumulate = false;\n var streamedContent = this.streamFiles && !streamInfo['file'].dir;\n var record = generateZipParts(streamInfo, streamedContent, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);\n\n this.dirRecords.push(record.dirRecord);\n if(streamedContent) {\n // after the streamed file, we put data descriptors\n this.push({\n data : generateDataDescriptors(streamInfo),\n meta : {percent:100}\n });\n } else {\n // the content wasn't streamed, we need to push everything now\n // first the file record, then the content\n this.push({\n data : record.fileRecord,\n meta : {percent:0}\n });\n while(this.contentBuffer.length) {\n this.push(this.contentBuffer.shift());\n }\n }\n this.currentFile = null;\n};\n\n/**\n * @see GenericWorker.flush\n */\nZipFileWorker.prototype.flush = function () {\n\n var localDirLength = this.bytesWritten;\n for(var i = 0; i < this.dirRecords.length; i++) {\n this.push({\n data : this.dirRecords[i],\n meta : {percent:100}\n });\n }\n var centralDirLength = this.bytesWritten - localDirLength;\n\n var dirEnd = generateCentralDirectoryEnd(this.dirRecords.length, centralDirLength, localDirLength, this.zipComment, this.encodeFileName);\n\n this.push({\n data : dirEnd,\n meta : {percent:100}\n });\n};\n\n/**\n * Prepare the next source to be read.\n */\nZipFileWorker.prototype.prepareNextSource = function () {\n this.previous = this._sources.shift();\n this.openedSource(this.previous.streamInfo);\n if (this.isPaused) {\n this.previous.pause();\n } else {\n this.previous.resume();\n }\n};\n\n/**\n * @see GenericWorker.registerPrevious\n */\nZipFileWorker.prototype.registerPrevious = function (previous) {\n this._sources.push(previous);\n var self = this;\n\n previous.on('data', function (chunk) {\n self.processChunk(chunk);\n });\n previous.on('end', function () {\n self.closedSource(self.previous.streamInfo);\n if(self._sources.length) {\n self.prepareNextSource();\n } else {\n self.end();\n }\n });\n previous.on('error', function (e) {\n self.error(e);\n });\n return this;\n};\n\n/**\n * @see GenericWorker.resume\n */\nZipFileWorker.prototype.resume = function () {\n if(!GenericWorker.prototype.resume.call(this)) {\n return false;\n }\n\n if (!this.previous && this._sources.length) {\n this.prepareNextSource();\n return true;\n }\n if (!this.previous && !this._sources.length && !this.generatedError) {\n this.end();\n return true;\n }\n};\n\n/**\n * @see GenericWorker.error\n */\nZipFileWorker.prototype.error = function (e) {\n var sources = this._sources;\n if(!GenericWorker.prototype.error.call(this, e)) {\n return false;\n }\n for(var i = 0; i < sources.length; i++) {\n try {\n sources[i].error(e);\n } catch(e) {\n // the `error` exploded, nothing to do\n }\n }\n return true;\n};\n\n/**\n * @see GenericWorker.lock\n */\nZipFileWorker.prototype.lock = function () {\n GenericWorker.prototype.lock.call(this);\n var sources = this._sources;\n for(var i = 0; i < sources.length; i++) {\n sources[i].lock();\n }\n};\n\nmodule.exports = ZipFileWorker;\n","'use strict';\n\nvar compressions = require('../compressions');\nvar ZipFileWorker = require('./ZipFileWorker');\n\n/**\n * Find the compression to use.\n * @param {String} fileCompression the compression defined at the file level, if any.\n * @param {String} zipCompression the compression defined at the load() level.\n * @return {Object} the compression object to use.\n */\nvar getCompression = function (fileCompression, zipCompression) {\n\n var compressionName = fileCompression || zipCompression;\n var compression = compressions[compressionName];\n if (!compression) {\n throw new Error(compressionName + \" is not a valid compression method !\");\n }\n return compression;\n};\n\n/**\n * Create a worker to generate a zip file.\n * @param {JSZip} zip the JSZip instance at the right root level.\n * @param {Object} options to generate the zip file.\n * @param {String} comment the comment to use.\n */\nexports.generateWorker = function (zip, options, comment) {\n\n var zipFileWorker = new ZipFileWorker(options.streamFiles, comment, options.platform, options.encodeFileName);\n var entriesCount = 0;\n try {\n\n zip.forEach(function (relativePath, file) {\n entriesCount++;\n var compression = getCompression(file.options.compression, options.compression);\n var compressionOptions = file.options.compressionOptions || options.compressionOptions || {};\n var dir = file.dir, date = file.date;\n\n file._compressWorker(compression, compressionOptions)\n .withStreamInfo(\"file\", {\n name : relativePath,\n dir : dir,\n date : date,\n comment : file.comment || \"\",\n unixPermissions : file.unixPermissions,\n dosPermissions : file.dosPermissions\n })\n .pipe(zipFileWorker);\n });\n zipFileWorker.entriesCount = entriesCount;\n } catch (e) {\n zipFileWorker.error(e);\n }\n\n return zipFileWorker;\n};\n","'use strict';\n\n/**\n * Representation a of zip file in js\n * @constructor\n */\nfunction JSZip() {\n // if this constructor is used without `new`, it adds `new` before itself:\n if(!(this instanceof JSZip)) {\n return new JSZip();\n }\n\n if(arguments.length) {\n throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");\n }\n\n // object containing the files :\n // {\n // \"folder/\" : {...},\n // \"folder/data.txt\" : {...}\n // }\n this.files = {};\n\n this.comment = null;\n\n // Where we are in the hierarchy\n this.root = \"\";\n this.clone = function() {\n var newObj = new JSZip();\n for (var i in this) {\n if (typeof this[i] !== \"function\") {\n newObj[i] = this[i];\n }\n }\n return newObj;\n };\n}\nJSZip.prototype = require('./object');\nJSZip.prototype.loadAsync = require('./load');\nJSZip.support = require('./support');\nJSZip.defaults = require('./defaults');\n\n// TODO find a better way to handle this version,\n// a require('package.json').version doesn't work with webpack, see #327\nJSZip.version = \"3.5.0\";\n\nJSZip.loadAsync = function (content, options) {\n return new JSZip().loadAsync(content, options);\n};\n\nJSZip.external = require(\"./external\");\nmodule.exports = JSZip;\n","'use strict';\nvar utils = require('./utils');\nvar external = require(\"./external\");\nvar utf8 = require('./utf8');\nvar utils = require('./utils');\nvar ZipEntries = require('./zipEntries');\nvar Crc32Probe = require('./stream/Crc32Probe');\nvar nodejsUtils = require(\"./nodejsUtils\");\n\n/**\n * Check the CRC32 of an entry.\n * @param {ZipEntry} zipEntry the zip entry to check.\n * @return {Promise} the result.\n */\nfunction checkEntryCRC32(zipEntry) {\n return new external.Promise(function (resolve, reject) {\n var worker = zipEntry.decompressed.getContentWorker().pipe(new Crc32Probe());\n worker.on(\"error\", function (e) {\n reject(e);\n })\n .on(\"end\", function () {\n if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {\n reject(new Error(\"Corrupted zip : CRC32 mismatch\"));\n } else {\n resolve();\n }\n })\n .resume();\n });\n}\n\nmodule.exports = function(data, options) {\n var zip = this;\n options = utils.extend(options || {}, {\n base64: false,\n checkCRC32: false,\n optimizedBinaryString: false,\n createFolders: false,\n decodeFileName: utf8.utf8decode\n });\n\n if (nodejsUtils.isNode && nodejsUtils.isStream(data)) {\n return external.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\"));\n }\n\n return utils.prepareContent(\"the loaded zip file\", data, true, options.optimizedBinaryString, options.base64)\n .then(function(data) {\n var zipEntries = new ZipEntries(options);\n zipEntries.load(data);\n return zipEntries;\n }).then(function checkCRC32(zipEntries) {\n var promises = [external.Promise.resolve(zipEntries)];\n var files = zipEntries.files;\n if (options.checkCRC32) {\n for (var i = 0; i < files.length; i++) {\n promises.push(checkEntryCRC32(files[i]));\n }\n }\n return external.Promise.all(promises);\n }).then(function addFiles(results) {\n var zipEntries = results.shift();\n var files = zipEntries.files;\n for (var i = 0; i < files.length; i++) {\n var input = files[i];\n zip.file(input.fileNameStr, input.decompressed, {\n binary: true,\n optimizedBinaryString: true,\n date: input.date,\n dir: input.dir,\n comment : input.fileCommentStr.length ? input.fileCommentStr : null,\n unixPermissions : input.unixPermissions,\n dosPermissions : input.dosPermissions,\n createFolders: options.createFolders\n });\n }\n if (zipEntries.zipComment.length) {\n zip.comment = zipEntries.zipComment;\n }\n\n return zip;\n });\n};\n","\"use strict\";\n\nvar utils = require('../utils');\nvar GenericWorker = require('../stream/GenericWorker');\n\n/**\n * A worker that use a nodejs stream as source.\n * @constructor\n * @param {String} filename the name of the file entry for this stream.\n * @param {Readable} stream the nodejs stream.\n */\nfunction NodejsStreamInputAdapter(filename, stream) {\n GenericWorker.call(this, \"Nodejs stream input adapter for \" + filename);\n this._upstreamEnded = false;\n this._bindStream(stream);\n}\n\nutils.inherits(NodejsStreamInputAdapter, GenericWorker);\n\n/**\n * Prepare the stream and bind the callbacks on it.\n * Do this ASAP on node 0.10 ! A lazy binding doesn't always work.\n * @param {Stream} stream the nodejs stream to use.\n */\nNodejsStreamInputAdapter.prototype._bindStream = function (stream) {\n var self = this;\n this._stream = stream;\n stream.pause();\n stream\n .on(\"data\", function (chunk) {\n self.push({\n data: chunk,\n meta : {\n percent : 0\n }\n });\n })\n .on(\"error\", function (e) {\n if(self.isPaused) {\n this.generatedError = e;\n } else {\n self.error(e);\n }\n })\n .on(\"end\", function () {\n if(self.isPaused) {\n self._upstreamEnded = true;\n } else {\n self.end();\n }\n });\n};\nNodejsStreamInputAdapter.prototype.pause = function () {\n if(!GenericWorker.prototype.pause.call(this)) {\n return false;\n }\n this._stream.pause();\n return true;\n};\nNodejsStreamInputAdapter.prototype.resume = function () {\n if(!GenericWorker.prototype.resume.call(this)) {\n return false;\n }\n\n if(this._upstreamEnded) {\n this.end();\n } else {\n this._stream.resume();\n }\n\n return true;\n};\n\nmodule.exports = NodejsStreamInputAdapter;\n","'use strict';\n\nvar Readable = require('readable-stream').Readable;\n\nvar utils = require('../utils');\nutils.inherits(NodejsStreamOutputAdapter, Readable);\n\n/**\n* A nodejs stream using a worker as source.\n* @see the SourceWrapper in http://nodejs.org/api/stream.html\n* @constructor\n* @param {StreamHelper} helper the helper wrapping the worker\n* @param {Object} options the nodejs stream options\n* @param {Function} updateCb the update callback.\n*/\nfunction NodejsStreamOutputAdapter(helper, options, updateCb) {\n Readable.call(this, options);\n this._helper = helper;\n\n var self = this;\n helper.on(\"data\", function (data, meta) {\n if (!self.push(data)) {\n self._helper.pause();\n }\n if(updateCb) {\n updateCb(meta);\n }\n })\n .on(\"error\", function(e) {\n self.emit('error', e);\n })\n .on(\"end\", function () {\n self.push(null);\n });\n}\n\n\nNodejsStreamOutputAdapter.prototype._read = function() {\n this._helper.resume();\n};\n\nmodule.exports = NodejsStreamOutputAdapter;\n","'use strict';\n\nmodule.exports = {\n /**\n * True if this is running in Nodejs, will be undefined in a browser.\n * In a browser, browserify won't include this file and the whole module\n * will be resolved an empty object.\n */\n isNode : typeof Buffer !== \"undefined\",\n /**\n * Create a new nodejs Buffer from an existing content.\n * @param {Object} data the data to pass to the constructor.\n * @param {String} encoding the encoding to use.\n * @return {Buffer} a new Buffer.\n */\n newBufferFrom: function(data, encoding) {\n if (Buffer.from && Buffer.from !== Uint8Array.from) {\n return Buffer.from(data, encoding);\n } else {\n if (typeof data === \"number\") {\n // Safeguard for old Node.js versions. On newer versions,\n // Buffer.from(number) / Buffer(number, encoding) already throw.\n throw new Error(\"The \\\"data\\\" argument must not be a number\");\n }\n return new Buffer(data, encoding);\n }\n },\n /**\n * Create a new nodejs Buffer with the specified size.\n * @param {Integer} size the size of the buffer.\n * @return {Buffer} a new Buffer.\n */\n allocBuffer: function (size) {\n if (Buffer.alloc) {\n return Buffer.alloc(size);\n } else {\n var buf = new Buffer(size);\n buf.fill(0);\n return buf;\n }\n },\n /**\n * Find out if an object is a Buffer.\n * @param {Object} b the object to test.\n * @return {Boolean} true if the object is a Buffer, false otherwise.\n */\n isBuffer : function(b){\n return Buffer.isBuffer(b);\n },\n\n isStream : function (obj) {\n return obj &&\n typeof obj.on === \"function\" &&\n typeof obj.pause === \"function\" &&\n typeof obj.resume === \"function\";\n }\n};\n","'use strict';\nvar utf8 = require('./utf8');\nvar utils = require('./utils');\nvar GenericWorker = require('./stream/GenericWorker');\nvar StreamHelper = require('./stream/StreamHelper');\nvar defaults = require('./defaults');\nvar CompressedObject = require('./compressedObject');\nvar ZipObject = require('./zipObject');\nvar generate = require(\"./generate\");\nvar nodejsUtils = require(\"./nodejsUtils\");\nvar NodejsStreamInputAdapter = require(\"./nodejs/NodejsStreamInputAdapter\");\n\n\n/**\n * Add a file in the current folder.\n * @private\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file\n * @param {Object} originalOptions the options of the file\n * @return {Object} the new file.\n */\nvar fileAdd = function(name, data, originalOptions) {\n // be sure sub folders exist\n var dataType = utils.getTypeOf(data),\n parent;\n\n\n /*\n * Correct options.\n */\n\n var o = utils.extend(originalOptions || {}, defaults);\n o.date = o.date || new Date();\n if (o.compression !== null) {\n o.compression = o.compression.toUpperCase();\n }\n\n if (typeof o.unixPermissions === \"string\") {\n o.unixPermissions = parseInt(o.unixPermissions, 8);\n }\n\n // UNX_IFDIR 0040000 see zipinfo.c\n if (o.unixPermissions && (o.unixPermissions & 0x4000)) {\n o.dir = true;\n }\n // Bit 4 Directory\n if (o.dosPermissions && (o.dosPermissions & 0x0010)) {\n o.dir = true;\n }\n\n if (o.dir) {\n name = forceTrailingSlash(name);\n }\n if (o.createFolders && (parent = parentFolder(name))) {\n folderAdd.call(this, parent, true);\n }\n\n var isUnicodeString = dataType === \"string\" && o.binary === false && o.base64 === false;\n if (!originalOptions || typeof originalOptions.binary === \"undefined\") {\n o.binary = !isUnicodeString;\n }\n\n\n var isCompressedEmpty = (data instanceof CompressedObject) && data.uncompressedSize === 0;\n\n if (isCompressedEmpty || o.dir || !data || data.length === 0) {\n o.base64 = false;\n o.binary = true;\n data = \"\";\n o.compression = \"STORE\";\n dataType = \"string\";\n }\n\n /*\n * Convert content to fit.\n */\n\n var zipObjectContent = null;\n if (data instanceof CompressedObject || data instanceof GenericWorker) {\n zipObjectContent = data;\n } else if (nodejsUtils.isNode && nodejsUtils.isStream(data)) {\n zipObjectContent = new NodejsStreamInputAdapter(name, data);\n } else {\n zipObjectContent = utils.prepareContent(name, data, o.binary, o.optimizedBinaryString, o.base64);\n }\n\n var object = new ZipObject(name, zipObjectContent, o);\n this.files[name] = object;\n /*\n TODO: we can't throw an exception because we have async promises\n (we can have a promise of a Date() for example) but returning a\n promise is useless because file(name, data) returns the JSZip\n object for chaining. Should we break that to allow the user\n to catch the error ?\n\n return external.Promise.resolve(zipObjectContent)\n .then(function () {\n return object;\n });\n */\n};\n\n/**\n * Find the parent folder of the path.\n * @private\n * @param {string} path the path to use\n * @return {string} the parent folder, or \"\"\n */\nvar parentFolder = function (path) {\n if (path.slice(-1) === '/') {\n path = path.substring(0, path.length - 1);\n }\n var lastSlash = path.lastIndexOf('/');\n return (lastSlash > 0) ? path.substring(0, lastSlash) : \"\";\n};\n\n/**\n * Returns the path with a slash at the end.\n * @private\n * @param {String} path the path to check.\n * @return {String} the path with a trailing slash.\n */\nvar forceTrailingSlash = function(path) {\n // Check the name ends with a /\n if (path.slice(-1) !== \"/\") {\n path += \"/\"; // IE doesn't like substr(-1)\n }\n return path;\n};\n\n/**\n * Add a (sub) folder in the current folder.\n * @private\n * @param {string} name the folder's name\n * @param {boolean=} [createFolders] If true, automatically create sub\n * folders. Defaults to false.\n * @return {Object} the new folder.\n */\nvar folderAdd = function(name, createFolders) {\n createFolders = (typeof createFolders !== 'undefined') ? createFolders : defaults.createFolders;\n\n name = forceTrailingSlash(name);\n\n // Does this folder already exist?\n if (!this.files[name]) {\n fileAdd.call(this, name, null, {\n dir: true,\n createFolders: createFolders\n });\n }\n return this.files[name];\n};\n\n/**\n* Cross-window, cross-Node-context regular expression detection\n* @param {Object} object Anything\n* @return {Boolean} true if the object is a regular expression,\n* false otherwise\n*/\nfunction isRegExp(object) {\n return Object.prototype.toString.call(object) === \"[object RegExp]\";\n}\n\n// return the actual prototype of JSZip\nvar out = {\n /**\n * @see loadAsync\n */\n load: function() {\n throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\");\n },\n\n\n /**\n * Call a callback function for each entry at this folder level.\n * @param {Function} cb the callback function:\n * function (relativePath, file) {...}\n * It takes 2 arguments : the relative path and the file.\n */\n forEach: function(cb) {\n var filename, relativePath, file;\n for (filename in this.files) {\n if (!this.files.hasOwnProperty(filename)) {\n continue;\n }\n file = this.files[filename];\n relativePath = filename.slice(this.root.length, filename.length);\n if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root\n cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn...\n }\n }\n },\n\n /**\n * Filter nested files/folders with the specified function.\n * @param {Function} search the predicate to use :\n * function (relativePath, file) {...}\n * It takes 2 arguments : the relative path and the file.\n * @return {Array} An array of matching elements.\n */\n filter: function(search) {\n var result = [];\n this.forEach(function (relativePath, entry) {\n if (search(relativePath, entry)) { // the file matches the function\n result.push(entry);\n }\n\n });\n return result;\n },\n\n /**\n * Add a file to the zip file, or search a file.\n * @param {string|RegExp} name The name of the file to add (if data is defined),\n * the name of the file to find (if no data) or a regex to match files.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded\n * @param {Object} o File options\n * @return {JSZip|Object|Array} this JSZip object (when adding a file),\n * a file (when searching by string) or an array of files (when searching by regex).\n */\n file: function(name, data, o) {\n if (arguments.length === 1) {\n if (isRegExp(name)) {\n var regexp = name;\n return this.filter(function(relativePath, file) {\n return !file.dir && regexp.test(relativePath);\n });\n }\n else { // text\n var obj = this.files[this.root + name];\n if (obj && !obj.dir) {\n return obj;\n } else {\n return null;\n }\n }\n }\n else { // more than one argument : we have data !\n name = this.root + name;\n fileAdd.call(this, name, data, o);\n }\n return this;\n },\n\n /**\n * Add a directory to the zip file, or search.\n * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.\n * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.\n */\n folder: function(arg) {\n if (!arg) {\n return this;\n }\n\n if (isRegExp(arg)) {\n return this.filter(function(relativePath, file) {\n return file.dir && arg.test(relativePath);\n });\n }\n\n // else, name is a new folder\n var name = this.root + arg;\n var newFolder = folderAdd.call(this, name);\n\n // Allow chaining by returning a new object with this folder as the root\n var ret = this.clone();\n ret.root = newFolder.name;\n return ret;\n },\n\n /**\n * Delete a file, or a directory and all sub-files, from the zip\n * @param {string} name the name of the file to delete\n * @return {JSZip} this JSZip object\n */\n remove: function(name) {\n name = this.root + name;\n var file = this.files[name];\n if (!file) {\n // Look for any folders\n if (name.slice(-1) !== \"/\") {\n name += \"/\";\n }\n file = this.files[name];\n }\n\n if (file && !file.dir) {\n // file\n delete this.files[name];\n } else {\n // maybe a folder, delete recursively\n var kids = this.filter(function(relativePath, file) {\n return file.name.slice(0, name.length) === name;\n });\n for (var i = 0; i < kids.length; i++) {\n delete this.files[kids[i].name];\n }\n }\n\n return this;\n },\n\n /**\n * Generate the complete zip file\n * @param {Object} options the options to generate the zip file :\n * - compression, \"STORE\" by default.\n * - type, \"base64\" by default. Values are : string, base64, uint8array, arraybuffer, blob.\n * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file\n */\n generate: function(options) {\n throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\");\n },\n\n /**\n * Generate the complete zip file as an internal stream.\n * @param {Object} options the options to generate the zip file :\n * - compression, \"STORE\" by default.\n * - type, \"base64\" by default. Values are : string, base64, uint8array, arraybuffer, blob.\n * @return {StreamHelper} the streamed zip file.\n */\n generateInternalStream: function(options) {\n var worker, opts = {};\n try {\n opts = utils.extend(options || {}, {\n streamFiles: false,\n compression: \"STORE\",\n compressionOptions : null,\n type: \"\",\n platform: \"DOS\",\n comment: null,\n mimeType: 'application/zip',\n encodeFileName: utf8.utf8encode\n });\n\n opts.type = opts.type.toLowerCase();\n opts.compression = opts.compression.toUpperCase();\n\n // \"binarystring\" is preferred but the internals use \"string\".\n if(opts.type === \"binarystring\") {\n opts.type = \"string\";\n }\n\n if (!opts.type) {\n throw new Error(\"No output type specified.\");\n }\n\n utils.checkSupport(opts.type);\n\n // accept nodejs `process.platform`\n if(\n opts.platform === 'darwin' ||\n opts.platform === 'freebsd' ||\n opts.platform === 'linux' ||\n opts.platform === 'sunos'\n ) {\n opts.platform = \"UNIX\";\n }\n if (opts.platform === 'win32') {\n opts.platform = \"DOS\";\n }\n\n var comment = opts.comment || this.comment || \"\";\n worker = generate.generateWorker(this, opts, comment);\n } catch (e) {\n worker = new GenericWorker(\"error\");\n worker.error(e);\n }\n return new StreamHelper(worker, opts.type || \"string\", opts.mimeType);\n },\n /**\n * Generate the complete zip file asynchronously.\n * @see generateInternalStream\n */\n generateAsync: function(options, onUpdate) {\n return this.generateInternalStream(options).accumulate(onUpdate);\n },\n /**\n * Generate the complete zip file asynchronously.\n * @see generateInternalStream\n */\n generateNodeStream: function(options, onUpdate) {\n options = options || {};\n if (!options.type) {\n options.type = \"nodebuffer\";\n }\n return this.generateInternalStream(options).toNodejsStream(onUpdate);\n }\n};\nmodule.exports = out;\n","/*\n * This file is used by module bundlers (browserify/webpack/etc) when\n * including a stream implementation. We use \"readable-stream\" to get a\n * consistent behavior between nodejs versions but bundlers often have a shim\n * for \"stream\". Using this shim greatly improve the compatibility and greatly\n * reduce the final size of the bundle (only one stream implementation, not\n * two).\n */\nmodule.exports = require(\"stream\");\n","'use strict';\nvar DataReader = require('./DataReader');\nvar utils = require('../utils');\n\nfunction ArrayReader(data) {\n DataReader.call(this, data);\n\tfor(var i = 0; i < this.data.length; i++) {\n\t\tdata[i] = data[i] & 0xFF;\n\t}\n}\nutils.inherits(ArrayReader, DataReader);\n/**\n * @see DataReader.byteAt\n */\nArrayReader.prototype.byteAt = function(i) {\n return this.data[this.zero + i];\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nArrayReader.prototype.lastIndexOfSignature = function(sig) {\n var sig0 = sig.charCodeAt(0),\n sig1 = sig.charCodeAt(1),\n sig2 = sig.charCodeAt(2),\n sig3 = sig.charCodeAt(3);\n for (var i = this.length - 4; i >= 0; --i) {\n if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {\n return i - this.zero;\n }\n }\n\n return -1;\n};\n/**\n * @see DataReader.readAndCheckSignature\n */\nArrayReader.prototype.readAndCheckSignature = function (sig) {\n var sig0 = sig.charCodeAt(0),\n sig1 = sig.charCodeAt(1),\n sig2 = sig.charCodeAt(2),\n sig3 = sig.charCodeAt(3),\n data = this.readData(4);\n return sig0 === data[0] && sig1 === data[1] && sig2 === data[2] && sig3 === data[3];\n};\n/**\n * @see DataReader.readData\n */\nArrayReader.prototype.readData = function(size) {\n this.checkOffset(size);\n if(size === 0) {\n return [];\n }\n var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = ArrayReader;\n","'use strict';\nvar utils = require('../utils');\n\nfunction DataReader(data) {\n this.data = data; // type : see implementation\n this.length = data.length;\n this.index = 0;\n this.zero = 0;\n}\nDataReader.prototype = {\n /**\n * Check that the offset will not go too far.\n * @param {string} offset the additional offset to check.\n * @throws {Error} an Error if the offset is out of bounds.\n */\n checkOffset: function(offset) {\n this.checkIndex(this.index + offset);\n },\n /**\n * Check that the specified index will not be too far.\n * @param {string} newIndex the index to check.\n * @throws {Error} an Error if the index is out of bounds.\n */\n checkIndex: function(newIndex) {\n if (this.length < this.zero + newIndex || newIndex < 0) {\n throw new Error(\"End of data reached (data length = \" + this.length + \", asked index = \" + (newIndex) + \"). Corrupted zip ?\");\n }\n },\n /**\n * Change the index.\n * @param {number} newIndex The new index.\n * @throws {Error} if the new index is out of the data.\n */\n setIndex: function(newIndex) {\n this.checkIndex(newIndex);\n this.index = newIndex;\n },\n /**\n * Skip the next n bytes.\n * @param {number} n the number of bytes to skip.\n * @throws {Error} if the new index is out of the data.\n */\n skip: function(n) {\n this.setIndex(this.index + n);\n },\n /**\n * Get the byte at the specified index.\n * @param {number} i the index to use.\n * @return {number} a byte.\n */\n byteAt: function(i) {\n // see implementations\n },\n /**\n * Get the next number with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {number} the corresponding number.\n */\n readInt: function(size) {\n var result = 0,\n i;\n this.checkOffset(size);\n for (i = this.index + size - 1; i >= this.index; i--) {\n result = (result << 8) + this.byteAt(i);\n }\n this.index += size;\n return result;\n },\n /**\n * Get the next string with a given byte size.\n * @param {number} size the number of bytes to read.\n * @return {string} the corresponding string.\n */\n readString: function(size) {\n return utils.transformTo(\"string\", this.readData(size));\n },\n /**\n * Get raw data without conversion, <size> bytes.\n * @param {number} size the number of bytes to read.\n * @return {Object} the raw data, implementation specific.\n */\n readData: function(size) {\n // see implementations\n },\n /**\n * Find the last occurrence of a zip signature (4 bytes).\n * @param {string} sig the signature to find.\n * @return {number} the index of the last occurrence, -1 if not found.\n */\n lastIndexOfSignature: function(sig) {\n // see implementations\n },\n /**\n * Read the signature (4 bytes) at the current position and compare it with sig.\n * @param {string} sig the expected signature\n * @return {boolean} true if the signature matches, false otherwise.\n */\n readAndCheckSignature: function(sig) {\n // see implementations\n },\n /**\n * Get the next date.\n * @return {Date} the date.\n */\n readDate: function() {\n var dostime = this.readInt(4);\n return new Date(Date.UTC(\n ((dostime >> 25) & 0x7f) + 1980, // year\n ((dostime >> 21) & 0x0f) - 1, // month\n (dostime >> 16) & 0x1f, // day\n (dostime >> 11) & 0x1f, // hour\n (dostime >> 5) & 0x3f, // minute\n (dostime & 0x1f) << 1)); // second\n }\n};\nmodule.exports = DataReader;\n","'use strict';\nvar Uint8ArrayReader = require('./Uint8ArrayReader');\nvar utils = require('../utils');\n\nfunction NodeBufferReader(data) {\n Uint8ArrayReader.call(this, data);\n}\nutils.inherits(NodeBufferReader, Uint8ArrayReader);\n\n/**\n * @see DataReader.readData\n */\nNodeBufferReader.prototype.readData = function(size) {\n this.checkOffset(size);\n var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = NodeBufferReader;\n","'use strict';\nvar DataReader = require('./DataReader');\nvar utils = require('../utils');\n\nfunction StringReader(data) {\n DataReader.call(this, data);\n}\nutils.inherits(StringReader, DataReader);\n/**\n * @see DataReader.byteAt\n */\nStringReader.prototype.byteAt = function(i) {\n return this.data.charCodeAt(this.zero + i);\n};\n/**\n * @see DataReader.lastIndexOfSignature\n */\nStringReader.prototype.lastIndexOfSignature = function(sig) {\n return this.data.lastIndexOf(sig) - this.zero;\n};\n/**\n * @see DataReader.readAndCheckSignature\n */\nStringReader.prototype.readAndCheckSignature = function (sig) {\n var data = this.readData(4);\n return sig === data;\n};\n/**\n * @see DataReader.readData\n */\nStringReader.prototype.readData = function(size) {\n this.checkOffset(size);\n // this will work because the constructor applied the \"& 0xff\" mask.\n var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = StringReader;\n","'use strict';\nvar ArrayReader = require('./ArrayReader');\nvar utils = require('../utils');\n\nfunction Uint8ArrayReader(data) {\n ArrayReader.call(this, data);\n}\nutils.inherits(Uint8ArrayReader, ArrayReader);\n/**\n * @see DataReader.readData\n */\nUint8ArrayReader.prototype.readData = function(size) {\n this.checkOffset(size);\n if(size === 0) {\n // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].\n return new Uint8Array(0);\n }\n var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size);\n this.index += size;\n return result;\n};\nmodule.exports = Uint8ArrayReader;\n","'use strict';\n\nvar utils = require('../utils');\nvar support = require('../support');\nvar ArrayReader = require('./ArrayReader');\nvar StringReader = require('./StringReader');\nvar NodeBufferReader = require('./NodeBufferReader');\nvar Uint8ArrayReader = require('./Uint8ArrayReader');\n\n/**\n * Create a reader adapted to the data.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data to read.\n * @return {DataReader} the data reader.\n */\nmodule.exports = function (data) {\n var type = utils.getTypeOf(data);\n utils.checkSupport(type);\n if (type === \"string\" && !support.uint8array) {\n return new StringReader(data);\n }\n if (type === \"nodebuffer\") {\n return new NodeBufferReader(data);\n }\n if (support.uint8array) {\n return new Uint8ArrayReader(utils.transformTo(\"uint8array\", data));\n }\n return new ArrayReader(utils.transformTo(\"array\", data));\n};\n","'use strict';\nexports.LOCAL_FILE_HEADER = \"PK\\x03\\x04\";\nexports.CENTRAL_FILE_HEADER = \"PK\\x01\\x02\";\nexports.CENTRAL_DIRECTORY_END = \"PK\\x05\\x06\";\nexports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = \"PK\\x06\\x07\";\nexports.ZIP64_CENTRAL_DIRECTORY_END = \"PK\\x06\\x06\";\nexports.DATA_DESCRIPTOR = \"PK\\x07\\x08\";\n","'use strict';\n\nvar GenericWorker = require('./GenericWorker');\nvar utils = require('../utils');\n\n/**\n * A worker which convert chunks to a specified type.\n * @constructor\n * @param {String} destType the destination type.\n */\nfunction ConvertWorker(destType) {\n GenericWorker.call(this, \"ConvertWorker to \" + destType);\n this.destType = destType;\n}\nutils.inherits(ConvertWorker, GenericWorker);\n\n/**\n * @see GenericWorker.processChunk\n */\nConvertWorker.prototype.processChunk = function (chunk) {\n this.push({\n data : utils.transformTo(this.destType, chunk.data),\n meta : chunk.meta\n });\n};\nmodule.exports = ConvertWorker;\n","'use strict';\n\nvar GenericWorker = require('./GenericWorker');\nvar crc32 = require('../crc32');\nvar utils = require('../utils');\n\n/**\n * A worker which calculate the crc32 of the data flowing through.\n * @constructor\n */\nfunction Crc32Probe() {\n GenericWorker.call(this, \"Crc32Probe\");\n this.withStreamInfo(\"crc32\", 0);\n}\nutils.inherits(Crc32Probe, GenericWorker);\n\n/**\n * @see GenericWorker.processChunk\n */\nCrc32Probe.prototype.processChunk = function (chunk) {\n this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0);\n this.push(chunk);\n};\nmodule.exports = Crc32Probe;\n","'use strict';\n\nvar utils = require('../utils');\nvar GenericWorker = require('./GenericWorker');\n\n/**\n * A worker which calculate the total length of the data flowing through.\n * @constructor\n * @param {String} propName the name used to expose the length\n */\nfunction DataLengthProbe(propName) {\n GenericWorker.call(this, \"DataLengthProbe for \" + propName);\n this.propName = propName;\n this.withStreamInfo(propName, 0);\n}\nutils.inherits(DataLengthProbe, GenericWorker);\n\n/**\n * @see GenericWorker.processChunk\n */\nDataLengthProbe.prototype.processChunk = function (chunk) {\n if(chunk) {\n var length = this.streamInfo[this.propName] || 0;\n this.streamInfo[this.propName] = length + chunk.data.length;\n }\n GenericWorker.prototype.processChunk.call(this, chunk);\n};\nmodule.exports = DataLengthProbe;\n\n","'use strict';\n\nvar utils = require('../utils');\nvar GenericWorker = require('./GenericWorker');\n\n// the size of the generated chunks\n// TODO expose this as a public variable\nvar DEFAULT_BLOCK_SIZE = 16 * 1024;\n\n/**\n * A worker that reads a content and emits chunks.\n * @constructor\n * @param {Promise} dataP the promise of the data to split\n */\nfunction DataWorker(dataP) {\n GenericWorker.call(this, \"DataWorker\");\n var self = this;\n this.dataIsReady = false;\n this.index = 0;\n this.max = 0;\n this.data = null;\n this.type = \"\";\n\n this._tickScheduled = false;\n\n dataP.then(function (data) {\n self.dataIsReady = true;\n self.data = data;\n self.max = data && data.length || 0;\n self.type = utils.getTypeOf(data);\n if(!self.isPaused) {\n self._tickAndRepeat();\n }\n }, function (e) {\n self.error(e);\n });\n}\n\nutils.inherits(DataWorker, GenericWorker);\n\n/**\n * @see GenericWorker.cleanUp\n */\nDataWorker.prototype.cleanUp = function () {\n GenericWorker.prototype.cleanUp.call(this);\n this.data = null;\n};\n\n/**\n * @see GenericWorker.resume\n */\nDataWorker.prototype.resume = function () {\n if(!GenericWorker.prototype.resume.call(this)) {\n return false;\n }\n\n if (!this._tickScheduled && this.dataIsReady) {\n this._tickScheduled = true;\n utils.delay(this._tickAndRepeat, [], this);\n }\n return true;\n};\n\n/**\n * Trigger a tick a schedule an other call to this function.\n */\nDataWorker.prototype._tickAndRepeat = function() {\n this._tickScheduled = false;\n if(this.isPaused || this.isFinished) {\n return;\n }\n this._tick();\n if(!this.isFinished) {\n utils.delay(this._tickAndRepeat, [], this);\n this._tickScheduled = true;\n }\n};\n\n/**\n * Read and push a chunk.\n */\nDataWorker.prototype._tick = function() {\n\n if(this.isPaused || this.isFinished) {\n return false;\n }\n\n var size = DEFAULT_BLOCK_SIZE;\n var data = null, nextIndex = Math.min(this.max, this.index + size);\n if (this.index >= this.max) {\n // EOF\n return this.end();\n } else {\n switch(this.type) {\n case \"string\":\n data = this.data.substring(this.index, nextIndex);\n break;\n case \"uint8array\":\n data = this.data.subarray(this.index, nextIndex);\n break;\n case \"array\":\n case \"nodebuffer\":\n data = this.data.slice(this.index, nextIndex);\n break;\n }\n this.index = nextIndex;\n return this.push({\n data : data,\n meta : {\n percent : this.max ? this.index / this.max * 100 : 0\n }\n });\n }\n};\n\nmodule.exports = DataWorker;\n","'use strict';\n\n/**\n * A worker that does nothing but passing chunks to the next one. This is like\n * a nodejs stream but with some differences. On the good side :\n * - it works on IE 6-9 without any issue / polyfill\n * - it weights less than the full dependencies bundled with browserify\n * - it forwards errors (no need to declare an error handler EVERYWHERE)\n *\n * A chunk is an object with 2 attributes : `meta` and `data`. The former is an\n * object containing anything (`percent` for example), see each worker for more\n * details. The latter is the real data (String, Uint8Array, etc).\n *\n * @constructor\n * @param {String} name the name of the stream (mainly used for debugging purposes)\n */\nfunction GenericWorker(name) {\n // the name of the worker\n this.name = name || \"default\";\n // an object containing metadata about the workers chain\n this.streamInfo = {};\n // an error which happened when the worker was paused\n this.generatedError = null;\n // an object containing metadata to be merged by this worker into the general metadata\n this.extraStreamInfo = {};\n // true if the stream is paused (and should not do anything), false otherwise\n this.isPaused = true;\n // true if the stream is finished (and should not do anything), false otherwise\n this.isFinished = false;\n // true if the stream is locked to prevent further structure updates (pipe), false otherwise\n this.isLocked = false;\n // the event listeners\n this._listeners = {\n 'data':[],\n 'end':[],\n 'error':[]\n };\n // the previous worker, if any\n this.previous = null;\n}\n\nGenericWorker.prototype = {\n /**\n * Push a chunk to the next workers.\n * @param {Object} chunk the chunk to push\n */\n push : function (chunk) {\n this.emit(\"data\", chunk);\n },\n /**\n * End the stream.\n * @return {Boolean} true if this call ended the worker, false otherwise.\n */\n end : function () {\n if (this.isFinished) {\n return false;\n }\n\n this.flush();\n try {\n this.emit(\"end\");\n this.cleanUp();\n this.isFinished = true;\n } catch (e) {\n this.emit(\"error\", e);\n }\n return true;\n },\n /**\n * End the stream with an error.\n * @param {Error} e the error which caused the premature end.\n * @return {Boolean} true if this call ended the worker with an error, false otherwise.\n */\n error : function (e) {\n if (this.isFinished) {\n return false;\n }\n\n if(this.isPaused) {\n this.generatedError = e;\n } else {\n this.isFinished = true;\n\n this.emit(\"error\", e);\n\n // in the workers chain exploded in the middle of the chain,\n // the error event will go downward but we also need to notify\n // workers upward that there has been an error.\n if(this.previous) {\n this.previous.error(e);\n }\n\n this.cleanUp();\n }\n return true;\n },\n /**\n * Add a callback on an event.\n * @param {String} name the name of the event (data, end, error)\n * @param {Function} listener the function to call when the event is triggered\n * @return {GenericWorker} the current object for chainability\n */\n on : function (name, listener) {\n this._listeners[name].push(listener);\n return this;\n },\n /**\n * Clean any references when a worker is ending.\n */\n cleanUp : function () {\n this.streamInfo = this.generatedError = this.extraStreamInfo = null;\n this._listeners = [];\n },\n /**\n * Trigger an event. This will call registered callback with the provided arg.\n * @param {String} name the name of the event (data, end, error)\n * @param {Object} arg the argument to call the callback with.\n */\n emit : function (name, arg) {\n if (this._listeners[name]) {\n for(var i = 0; i < this._listeners[name].length; i++) {\n this._listeners[name][i].call(this, arg);\n }\n }\n },\n /**\n * Chain a worker with an other.\n * @param {Worker} next the worker receiving events from the current one.\n * @return {worker} the next worker for chainability\n */\n pipe : function (next) {\n return next.registerPrevious(this);\n },\n /**\n * Same as `pipe` in the other direction.\n * Using an API with `pipe(next)` is very easy.\n * Implementing the API with the point of view of the next one registering\n * a source is easier, see the ZipFileWorker.\n * @param {Worker} previous the previous worker, sending events to this one\n * @return {Worker} the current worker for chainability\n */\n registerPrevious : function (previous) {\n if (this.isLocked) {\n throw new Error(\"The stream '\" + this + \"' has already been used.\");\n }\n\n // sharing the streamInfo...\n this.streamInfo = previous.streamInfo;\n // ... and adding our own bits\n this.mergeStreamInfo();\n this.previous = previous;\n var self = this;\n previous.on('data', function (chunk) {\n self.processChunk(chunk);\n });\n previous.on('end', function () {\n self.end();\n });\n previous.on('error', function (e) {\n self.error(e);\n });\n return this;\n },\n /**\n * Pause the stream so it doesn't send events anymore.\n * @return {Boolean} true if this call paused the worker, false otherwise.\n */\n pause : function () {\n if(this.isPaused || this.isFinished) {\n return false;\n }\n this.isPaused = true;\n\n if(this.previous) {\n this.previous.pause();\n }\n return true;\n },\n /**\n * Resume a paused stream.\n * @return {Boolean} true if this call resumed the worker, false otherwise.\n */\n resume : function () {\n if(!this.isPaused || this.isFinished) {\n return false;\n }\n this.isPaused = false;\n\n // if true, the worker tried to resume but failed\n var withError = false;\n if(this.generatedError) {\n this.error(this.generatedError);\n withError = true;\n }\n if(this.previous) {\n this.previous.resume();\n }\n\n return !withError;\n },\n /**\n * Flush any remaining bytes as the stream is ending.\n */\n flush : function () {},\n /**\n * Process a chunk. This is usually the method overridden.\n * @param {Object} chunk the chunk to process.\n */\n processChunk : function(chunk) {\n this.push(chunk);\n },\n /**\n * Add a key/value to be added in the workers chain streamInfo once activated.\n * @param {String} key the key to use\n * @param {Object} value the associated value\n * @return {Worker} the current worker for chainability\n */\n withStreamInfo : function (key, value) {\n this.extraStreamInfo[key] = value;\n this.mergeStreamInfo();\n return this;\n },\n /**\n * Merge this worker's streamInfo into the chain's streamInfo.\n */\n mergeStreamInfo : function () {\n for(var key in this.extraStreamInfo) {\n if (!this.extraStreamInfo.hasOwnProperty(key)) {\n continue;\n }\n this.streamInfo[key] = this.extraStreamInfo[key];\n }\n },\n\n /**\n * Lock the stream to prevent further updates on the workers chain.\n * After calling this method, all calls to pipe will fail.\n */\n lock: function () {\n if (this.isLocked) {\n throw new Error(\"The stream '\" + this + \"' has already been used.\");\n }\n this.isLocked = true;\n if (this.previous) {\n this.previous.lock();\n }\n },\n\n /**\n *\n * Pretty print the workers chain.\n */\n toString : function () {\n var me = \"Worker \" + this.name;\n if (this.previous) {\n return this.previous + \" -> \" + me;\n } else {\n return me;\n }\n }\n};\n\nmodule.exports = GenericWorker;\n","'use strict';\n\nvar utils = require('../utils');\nvar ConvertWorker = require('./ConvertWorker');\nvar GenericWorker = require('./GenericWorker');\nvar base64 = require('../base64');\nvar support = require(\"../support\");\nvar external = require(\"../external\");\n\nvar NodejsStreamOutputAdapter = null;\nif (support.nodestream) {\n try {\n NodejsStreamOutputAdapter = require('../nodejs/NodejsStreamOutputAdapter');\n } catch(e) {}\n}\n\n/**\n * Apply the final transformation of the data. If the user wants a Blob for\n * example, it's easier to work with an U8intArray and finally do the\n * ArrayBuffer/Blob conversion.\n * @param {String} type the name of the final type\n * @param {String|Uint8Array|Buffer} content the content to transform\n * @param {String} mimeType the mime type of the content, if applicable.\n * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the content in the right format.\n */\nfunction transformZipOutput(type, content, mimeType) {\n switch(type) {\n case \"blob\" :\n return utils.newBlob(utils.transformTo(\"arraybuffer\", content), mimeType);\n case \"base64\" :\n return base64.encode(content);\n default :\n return utils.transformTo(type, content);\n }\n}\n\n/**\n * Concatenate an array of data of the given type.\n * @param {String} type the type of the data in the given array.\n * @param {Array} dataArray the array containing the data chunks to concatenate\n * @return {String|Uint8Array|Buffer} the concatenated data\n * @throws Error if the asked type is unsupported\n */\nfunction concat (type, dataArray) {\n var i, index = 0, res = null, totalLength = 0;\n for(i = 0; i < dataArray.length; i++) {\n totalLength += dataArray[i].length;\n }\n switch(type) {\n case \"string\":\n return dataArray.join(\"\");\n case \"array\":\n return Array.prototype.concat.apply([], dataArray);\n case \"uint8array\":\n res = new Uint8Array(totalLength);\n for(i = 0; i < dataArray.length; i++) {\n res.set(dataArray[i], index);\n index += dataArray[i].length;\n }\n return res;\n case \"nodebuffer\":\n return Buffer.concat(dataArray);\n default:\n throw new Error(\"concat : unsupported type '\" + type + \"'\");\n }\n}\n\n/**\n * Listen a StreamHelper, accumulate its content and concatenate it into a\n * complete block.\n * @param {StreamHelper} helper the helper to use.\n * @param {Function} updateCallback a callback called on each update. Called\n * with one arg :\n * - the metadata linked to the update received.\n * @return Promise the promise for the accumulation.\n */\nfunction accumulate(helper, updateCallback) {\n return new external.Promise(function (resolve, reject){\n var dataArray = [];\n var chunkType = helper._internalType,\n resultType = helper._outputType,\n mimeType = helper._mimeType;\n helper\n .on('data', function (data, meta) {\n dataArray.push(data);\n if(updateCallback) {\n updateCallback(meta);\n }\n })\n .on('error', function(err) {\n dataArray = [];\n reject(err);\n })\n .on('end', function (){\n try {\n var result = transformZipOutput(resultType, concat(chunkType, dataArray), mimeType);\n resolve(result);\n } catch (e) {\n reject(e);\n }\n dataArray = [];\n })\n .resume();\n });\n}\n\n/**\n * An helper to easily use workers outside of JSZip.\n * @constructor\n * @param {Worker} worker the worker to wrap\n * @param {String} outputType the type of data expected by the use\n * @param {String} mimeType the mime type of the content, if applicable.\n */\nfunction StreamHelper(worker, outputType, mimeType) {\n var internalType = outputType;\n switch(outputType) {\n case \"blob\":\n case \"arraybuffer\":\n internalType = \"uint8array\";\n break;\n case \"base64\":\n internalType = \"string\";\n break;\n }\n\n try {\n // the type used internally\n this._internalType = internalType;\n // the type used to output results\n this._outputType = outputType;\n // the mime type\n this._mimeType = mimeType;\n utils.checkSupport(internalType);\n this._worker = worker.pipe(new ConvertWorker(internalType));\n // the last workers can be rewired without issues but we need to\n // prevent any updates on previous workers.\n worker.lock();\n } catch(e) {\n this._worker = new GenericWorker(\"error\");\n this._worker.error(e);\n }\n}\n\nStreamHelper.prototype = {\n /**\n * Listen a StreamHelper, accumulate its content and concatenate it into a\n * complete block.\n * @param {Function} updateCb the update callback.\n * @return Promise the promise for the accumulation.\n */\n accumulate : function (updateCb) {\n return accumulate(this, updateCb);\n },\n /**\n * Add a listener on an event triggered on a stream.\n * @param {String} evt the name of the event\n * @param {Function} fn the listener\n * @return {StreamHelper} the current helper.\n */\n on : function (evt, fn) {\n var self = this;\n\n if(evt === \"data\") {\n this._worker.on(evt, function (chunk) {\n fn.call(self, chunk.data, chunk.meta);\n });\n } else {\n this._worker.on(evt, function () {\n utils.delay(fn, arguments, self);\n });\n }\n return this;\n },\n /**\n * Resume the flow of chunks.\n * @return {StreamHelper} the current helper.\n */\n resume : function () {\n utils.delay(this._worker.resume, [], this._worker);\n return this;\n },\n /**\n * Pause the flow of chunks.\n * @return {StreamHelper} the current helper.\n */\n pause : function () {\n this._worker.pause();\n return this;\n },\n /**\n * Return a nodejs stream for this helper.\n * @param {Function} updateCb the update callback.\n * @return {NodejsStreamOutputAdapter} the nodejs stream.\n */\n toNodejsStream : function (updateCb) {\n utils.checkSupport(\"nodestream\");\n if (this._outputType !== \"nodebuffer\") {\n // an object stream containing blob/arraybuffer/uint8array/string\n // is strange and I don't know if it would be useful.\n // I you find this comment and have a good usecase, please open a\n // bug report !\n throw new Error(this._outputType + \" is not supported by this method\");\n }\n\n return new NodejsStreamOutputAdapter(this, {\n objectMode : this._outputType !== \"nodebuffer\"\n }, updateCb);\n }\n};\n\n\nmodule.exports = StreamHelper;\n","'use strict';\n\nexports.base64 = true;\nexports.array = true;\nexports.string = true;\nexports.arraybuffer = typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\";\nexports.nodebuffer = typeof Buffer !== \"undefined\";\n// contains true if JSZip can read/generate Uint8Array, false otherwise.\nexports.uint8array = typeof Uint8Array !== \"undefined\";\n\nif (typeof ArrayBuffer === \"undefined\") {\n exports.blob = false;\n}\nelse {\n var buffer = new ArrayBuffer(0);\n try {\n exports.blob = new Blob([buffer], {\n type: \"application/zip\"\n }).size === 0;\n }\n catch (e) {\n try {\n var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder;\n var builder = new Builder();\n builder.append(buffer);\n exports.blob = builder.getBlob('application/zip').size === 0;\n }\n catch (e) {\n exports.blob = false;\n }\n }\n}\n\ntry {\n exports.nodestream = !!require('readable-stream').Readable;\n} catch(e) {\n exports.nodestream = false;\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar support = require('./support');\nvar nodejsUtils = require('./nodejsUtils');\nvar GenericWorker = require('./stream/GenericWorker');\n\n/**\n * The following functions come from pako, from pako/lib/utils/strings\n * released under the MIT license, see pako https://github.com/nodeca/pako/\n */\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new Array(256);\nfor (var i=0; i<256; i++) {\n _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);\n}\n_utf8len[254]=_utf8len[254]=1; // Invalid sequence start\n\n// convert string to array (typed, when possible)\nvar string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n if (support.uint8array) {\n buf = new Uint8Array(buf_len);\n } else {\n buf = new Array(buf_len);\n }\n\n // convert\n for (i=0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {\n c2 = str.charCodeAt(m_pos+1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = function(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max-1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Fuckup - very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means vuffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n// convert array to string\nvar buf2string = function (buf) {\n var str, i, out, c, c_len;\n var len = buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len*2);\n\n for (out=0, i=0; i<len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n // shrinkBuf(utf16buf, out)\n if (utf16buf.length !== out) {\n if(utf16buf.subarray) {\n utf16buf = utf16buf.subarray(0, out);\n } else {\n utf16buf.length = out;\n }\n }\n\n // return String.fromCharCode.apply(null, utf16buf);\n return utils.applyFromCharCode(utf16buf);\n};\n\n\n// That's all for the pako functions.\n\n\n/**\n * Transform a javascript string into an array (typed if possible) of bytes,\n * UTF-8 encoded.\n * @param {String} str the string to encode\n * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.\n */\nexports.utf8encode = function utf8encode(str) {\n if (support.nodebuffer) {\n return nodejsUtils.newBufferFrom(str, \"utf-8\");\n }\n\n return string2buf(str);\n};\n\n\n/**\n * Transform a bytes array (or a representation) representing an UTF-8 encoded\n * string into a javascript string.\n * @param {Array|Uint8Array|Buffer} buf the data de decode\n * @return {String} the decoded string.\n */\nexports.utf8decode = function utf8decode(buf) {\n if (support.nodebuffer) {\n return utils.transformTo(\"nodebuffer\", buf).toString(\"utf-8\");\n }\n\n buf = utils.transformTo(support.uint8array ? \"uint8array\" : \"array\", buf);\n\n return buf2string(buf);\n};\n\n/**\n * A worker to decode utf8 encoded binary chunks into string chunks.\n * @constructor\n */\nfunction Utf8DecodeWorker() {\n GenericWorker.call(this, \"utf-8 decode\");\n // the last bytes if a chunk didn't end with a complete codepoint.\n this.leftOver = null;\n}\nutils.inherits(Utf8DecodeWorker, GenericWorker);\n\n/**\n * @see GenericWorker.processChunk\n */\nUtf8DecodeWorker.prototype.processChunk = function (chunk) {\n\n var data = utils.transformTo(support.uint8array ? \"uint8array\" : \"array\", chunk.data);\n\n // 1st step, re-use what's left of the previous chunk\n if (this.leftOver && this.leftOver.length) {\n if(support.uint8array) {\n var previousData = data;\n data = new Uint8Array(previousData.length + this.leftOver.length);\n data.set(this.leftOver, 0);\n data.set(previousData, this.leftOver.length);\n } else {\n data = this.leftOver.concat(data);\n }\n this.leftOver = null;\n }\n\n var nextBoundary = utf8border(data);\n var usableData = data;\n if (nextBoundary !== data.length) {\n if (support.uint8array) {\n usableData = data.subarray(0, nextBoundary);\n this.leftOver = data.subarray(nextBoundary, data.length);\n } else {\n usableData = data.slice(0, nextBoundary);\n this.leftOver = data.slice(nextBoundary, data.length);\n }\n }\n\n this.push({\n data : exports.utf8decode(usableData),\n meta : chunk.meta\n });\n};\n\n/**\n * @see GenericWorker.flush\n */\nUtf8DecodeWorker.prototype.flush = function () {\n if(this.leftOver && this.leftOver.length) {\n this.push({\n data : exports.utf8decode(this.leftOver),\n meta : {}\n });\n this.leftOver = null;\n }\n};\nexports.Utf8DecodeWorker = Utf8DecodeWorker;\n\n/**\n * A worker to endcode string chunks into utf8 encoded binary chunks.\n * @constructor\n */\nfunction Utf8EncodeWorker() {\n GenericWorker.call(this, \"utf-8 encode\");\n}\nutils.inherits(Utf8EncodeWorker, GenericWorker);\n\n/**\n * @see GenericWorker.processChunk\n */\nUtf8EncodeWorker.prototype.processChunk = function (chunk) {\n this.push({\n data : exports.utf8encode(chunk.data),\n meta : chunk.meta\n });\n};\nexports.Utf8EncodeWorker = Utf8EncodeWorker;\n","'use strict';\n\nvar support = require('./support');\nvar base64 = require('./base64');\nvar nodejsUtils = require('./nodejsUtils');\nvar setImmediate = require('set-immediate-shim');\nvar external = require(\"./external\");\n\n\n/**\n * Convert a string that pass as a \"binary string\": it should represent a byte\n * array but may have > 255 char codes. Be sure to take only the first byte\n * and returns the byte array.\n * @param {String} str the string to transform.\n * @return {Array|Uint8Array} the string in a binary format.\n */\nfunction string2binary(str) {\n var result = null;\n if (support.uint8array) {\n result = new Uint8Array(str.length);\n } else {\n result = new Array(str.length);\n }\n return stringToArrayLike(str, result);\n}\n\n/**\n * Create a new blob with the given content and the given type.\n * @param {String|ArrayBuffer} part the content to put in the blob. DO NOT use\n * an Uint8Array because the stock browser of android 4 won't accept it (it\n * will be silently converted to a string, \"[object Uint8Array]\").\n *\n * Use only ONE part to build the blob to avoid a memory leak in IE11 / Edge:\n * when a large amount of Array is used to create the Blob, the amount of\n * memory consumed is nearly 100 times the original data amount.\n *\n * @param {String} type the mime type of the blob.\n * @return {Blob} the created blob.\n */\nexports.newBlob = function(part, type) {\n exports.checkSupport(\"blob\");\n\n try {\n // Blob constructor\n return new Blob([part], {\n type: type\n });\n }\n catch (e) {\n\n try {\n // deprecated, browser only, old way\n var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder;\n var builder = new Builder();\n builder.append(part);\n return builder.getBlob(type);\n }\n catch (e) {\n\n // well, fuck ?!\n throw new Error(\"Bug : can't construct the Blob.\");\n }\n }\n\n\n};\n/**\n * The identity function.\n * @param {Object} input the input.\n * @return {Object} the same input.\n */\nfunction identity(input) {\n return input;\n}\n\n/**\n * Fill in an array with a string.\n * @param {String} str the string to use.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated).\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array.\n */\nfunction stringToArrayLike(str, array) {\n for (var i = 0; i < str.length; ++i) {\n array[i] = str.charCodeAt(i) & 0xFF;\n }\n return array;\n}\n\n/**\n * An helper for the function arrayLikeToString.\n * This contains static information and functions that\n * can be optimized by the browser JIT compiler.\n */\nvar arrayToStringHelper = {\n /**\n * Transform an array of int into a string, chunk by chunk.\n * See the performances notes on arrayLikeToString.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @param {String} type the type of the array.\n * @param {Integer} chunk the chunk size.\n * @return {String} the resulting string.\n * @throws Error if the chunk is too big for the stack.\n */\n stringifyByChunk: function(array, type, chunk) {\n var result = [], k = 0, len = array.length;\n // shortcut\n if (len <= chunk) {\n return String.fromCharCode.apply(null, array);\n }\n while (k < len) {\n if (type === \"array\" || type === \"nodebuffer\") {\n result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));\n }\n else {\n result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));\n }\n k += chunk;\n }\n return result.join(\"\");\n },\n /**\n * Call String.fromCharCode on every item in the array.\n * This is the naive implementation, which generate A LOT of intermediate string.\n * This should be used when everything else fail.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @return {String} the result.\n */\n stringifyByChar: function(array){\n var resultStr = \"\";\n for(var i = 0; i < array.length; i++) {\n resultStr += String.fromCharCode(array[i]);\n }\n return resultStr;\n },\n applyCanBeUsed : {\n /**\n * true if the browser accepts to use String.fromCharCode on Uint8Array\n */\n uint8array : (function () {\n try {\n return support.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1;\n } catch (e) {\n return false;\n }\n })(),\n /**\n * true if the browser accepts to use String.fromCharCode on nodejs Buffer.\n */\n nodebuffer : (function () {\n try {\n return support.nodebuffer && String.fromCharCode.apply(null, nodejsUtils.allocBuffer(1)).length === 1;\n } catch (e) {\n return false;\n }\n })()\n }\n};\n\n/**\n * Transform an array-like object to a string.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.\n * @return {String} the result.\n */\nfunction arrayLikeToString(array) {\n // Performances notes :\n // --------------------\n // String.fromCharCode.apply(null, array) is the fastest, see\n // see http://jsperf.com/converting-a-uint8array-to-a-string/2\n // but the stack is limited (and we can get huge arrays !).\n //\n // result += String.fromCharCode(array[i]); generate too many strings !\n //\n // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2\n // TODO : we now have workers that split the work. Do we still need that ?\n var chunk = 65536,\n type = exports.getTypeOf(array),\n canUseApply = true;\n if (type === \"uint8array\") {\n canUseApply = arrayToStringHelper.applyCanBeUsed.uint8array;\n } else if (type === \"nodebuffer\") {\n canUseApply = arrayToStringHelper.applyCanBeUsed.nodebuffer;\n }\n\n if (canUseApply) {\n while (chunk > 1) {\n try {\n return arrayToStringHelper.stringifyByChunk(array, type, chunk);\n } catch (e) {\n chunk = Math.floor(chunk / 2);\n }\n }\n }\n\n // no apply or chunk error : slow and painful algorithm\n // default browser on android 4.*\n return arrayToStringHelper.stringifyByChar(array);\n}\n\nexports.applyFromCharCode = arrayLikeToString;\n\n\n/**\n * Copy the data from an array-like to an other array-like.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array.\n * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated.\n * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array.\n */\nfunction arrayLikeToArrayLike(arrayFrom, arrayTo) {\n for (var i = 0; i < arrayFrom.length; i++) {\n arrayTo[i] = arrayFrom[i];\n }\n return arrayTo;\n}\n\n// a matrix containing functions to transform everything into everything.\nvar transform = {};\n\n// string to ?\ntransform[\"string\"] = {\n \"string\": identity,\n \"array\": function(input) {\n return stringToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"string\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return stringToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": function(input) {\n return stringToArrayLike(input, nodejsUtils.allocBuffer(input.length));\n }\n};\n\n// array to ?\ntransform[\"array\"] = {\n \"string\": arrayLikeToString,\n \"array\": identity,\n \"arraybuffer\": function(input) {\n return (new Uint8Array(input)).buffer;\n },\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodejsUtils.newBufferFrom(input);\n }\n};\n\n// arraybuffer to ?\ntransform[\"arraybuffer\"] = {\n \"string\": function(input) {\n return arrayLikeToString(new Uint8Array(input));\n },\n \"array\": function(input) {\n return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength));\n },\n \"arraybuffer\": identity,\n \"uint8array\": function(input) {\n return new Uint8Array(input);\n },\n \"nodebuffer\": function(input) {\n return nodejsUtils.newBufferFrom(new Uint8Array(input));\n }\n};\n\n// uint8array to ?\ntransform[\"uint8array\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return input.buffer;\n },\n \"uint8array\": identity,\n \"nodebuffer\": function(input) {\n return nodejsUtils.newBufferFrom(input);\n }\n};\n\n// nodebuffer to ?\ntransform[\"nodebuffer\"] = {\n \"string\": arrayLikeToString,\n \"array\": function(input) {\n return arrayLikeToArrayLike(input, new Array(input.length));\n },\n \"arraybuffer\": function(input) {\n return transform[\"nodebuffer\"][\"uint8array\"](input).buffer;\n },\n \"uint8array\": function(input) {\n return arrayLikeToArrayLike(input, new Uint8Array(input.length));\n },\n \"nodebuffer\": identity\n};\n\n/**\n * Transform an input into any type.\n * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer.\n * If no output type is specified, the unmodified input will be returned.\n * @param {String} outputType the output type.\n * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert.\n * @throws {Error} an Error if the browser doesn't support the requested output type.\n */\nexports.transformTo = function(outputType, input) {\n if (!input) {\n // undefined, null, etc\n // an empty string won't harm.\n input = \"\";\n }\n if (!outputType) {\n return input;\n }\n exports.checkSupport(outputType);\n var inputType = exports.getTypeOf(input);\n var result = transform[inputType][outputType](input);\n return result;\n};\n\n/**\n * Return the type of the input.\n * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer.\n * @param {Object} input the input to identify.\n * @return {String} the (lowercase) type of the input.\n */\nexports.getTypeOf = function(input) {\n if (typeof input === \"string\") {\n return \"string\";\n }\n if (Object.prototype.toString.call(input) === \"[object Array]\") {\n return \"array\";\n }\n if (support.nodebuffer && nodejsUtils.isBuffer(input)) {\n return \"nodebuffer\";\n }\n if (support.uint8array && input instanceof Uint8Array) {\n return \"uint8array\";\n }\n if (support.arraybuffer && input instanceof ArrayBuffer) {\n return \"arraybuffer\";\n }\n};\n\n/**\n * Throw an exception if the type is not supported.\n * @param {String} type the type to check.\n * @throws {Error} an Error if the browser doesn't support the requested type.\n */\nexports.checkSupport = function(type) {\n var supported = support[type.toLowerCase()];\n if (!supported) {\n throw new Error(type + \" is not supported by this platform\");\n }\n};\n\nexports.MAX_VALUE_16BITS = 65535;\nexports.MAX_VALUE_32BITS = -1; // well, \"\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\\xFF\" is parsed as -1\n\n/**\n * Prettify a string read as binary.\n * @param {string} str the string to prettify.\n * @return {string} a pretty string.\n */\nexports.pretty = function(str) {\n var res = '',\n code, i;\n for (i = 0; i < (str || \"\").length; i++) {\n code = str.charCodeAt(i);\n res += '\\\\x' + (code < 16 ? \"0\" : \"\") + code.toString(16).toUpperCase();\n }\n return res;\n};\n\n/**\n * Defer the call of a function.\n * @param {Function} callback the function to call asynchronously.\n * @param {Array} args the arguments to give to the callback.\n */\nexports.delay = function(callback, args, self) {\n setImmediate(function () {\n callback.apply(self || null, args || []);\n });\n};\n\n/**\n * Extends a prototype with an other, without calling a constructor with\n * side effects. Inspired by nodejs' `utils.inherits`\n * @param {Function} ctor the constructor to augment\n * @param {Function} superCtor the parent constructor to use\n */\nexports.inherits = function (ctor, superCtor) {\n var Obj = function() {};\n Obj.prototype = superCtor.prototype;\n ctor.prototype = new Obj();\n};\n\n/**\n * Merge the objects passed as parameters into a new one.\n * @private\n * @param {...Object} var_args All objects to merge.\n * @return {Object} a new object with the data of the others.\n */\nexports.extend = function() {\n var result = {}, i, attr;\n for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers\n for (attr in arguments[i]) {\n if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === \"undefined\") {\n result[attr] = arguments[i][attr];\n }\n }\n }\n return result;\n};\n\n/**\n * Transform arbitrary content into a Promise.\n * @param {String} name a name for the content being processed.\n * @param {Object} inputData the content to process.\n * @param {Boolean} isBinary true if the content is not an unicode string\n * @param {Boolean} isOptimizedBinaryString true if the string content only has one byte per character.\n * @param {Boolean} isBase64 true if the string content is encoded with base64.\n * @return {Promise} a promise in a format usable by JSZip.\n */\nexports.prepareContent = function(name, inputData, isBinary, isOptimizedBinaryString, isBase64) {\n\n // if inputData is already a promise, this flatten it.\n var promise = external.Promise.resolve(inputData).then(function(data) {\n \n \n var isBlob = support.blob && (data instanceof Blob || ['[object File]', '[object Blob]'].indexOf(Object.prototype.toString.call(data)) !== -1);\n\n if (isBlob && typeof FileReader !== \"undefined\") {\n return new external.Promise(function (resolve, reject) {\n var reader = new FileReader();\n\n reader.onload = function(e) {\n resolve(e.target.result);\n };\n reader.onerror = function(e) {\n reject(e.target.error);\n };\n reader.readAsArrayBuffer(data);\n });\n } else {\n return data;\n }\n });\n\n return promise.then(function(data) {\n var dataType = exports.getTypeOf(data);\n\n if (!dataType) {\n return external.Promise.reject(\n new Error(\"Can't read the data of '\" + name + \"'. Is it \" +\n \"in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\")\n );\n }\n // special case : it's way easier to work with Uint8Array than with ArrayBuffer\n if (dataType === \"arraybuffer\") {\n data = exports.transformTo(\"uint8array\", data);\n } else if (dataType === \"string\") {\n if (isBase64) {\n data = base64.decode(data);\n }\n else if (isBinary) {\n // optimizedBinaryString === true means that the file has already been filtered with a 0xFF mask\n if (isOptimizedBinaryString !== true) {\n // this is a string, not in a base64 format.\n // Be sure that this is a correct \"binary string\"\n data = string2binary(data);\n }\n }\n }\n return data;\n });\n};\n","'use strict';\nvar readerFor = require('./reader/readerFor');\nvar utils = require('./utils');\nvar sig = require('./signature');\nvar ZipEntry = require('./zipEntry');\nvar utf8 = require('./utf8');\nvar support = require('./support');\n// class ZipEntries {{{\n/**\n * All the entries in the zip file.\n * @constructor\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntries(loadOptions) {\n this.files = [];\n this.loadOptions = loadOptions;\n}\nZipEntries.prototype = {\n /**\n * Check that the reader is on the specified signature.\n * @param {string} expectedSignature the expected signature.\n * @throws {Error} if it is an other signature.\n */\n checkSignature: function(expectedSignature) {\n if (!this.reader.readAndCheckSignature(expectedSignature)) {\n this.reader.index -= 4;\n var signature = this.reader.readString(4);\n throw new Error(\"Corrupted zip or bug: unexpected signature \" + \"(\" + utils.pretty(signature) + \", expected \" + utils.pretty(expectedSignature) + \")\");\n }\n },\n /**\n * Check if the given signature is at the given index.\n * @param {number} askedIndex the index to check.\n * @param {string} expectedSignature the signature to expect.\n * @return {boolean} true if the signature is here, false otherwise.\n */\n isSignature: function(askedIndex, expectedSignature) {\n var currentIndex = this.reader.index;\n this.reader.setIndex(askedIndex);\n var signature = this.reader.readString(4);\n var result = signature === expectedSignature;\n this.reader.setIndex(currentIndex);\n return result;\n },\n /**\n * Read the end of the central directory.\n */\n readBlockEndOfCentral: function() {\n this.diskNumber = this.reader.readInt(2);\n this.diskWithCentralDirStart = this.reader.readInt(2);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(2);\n this.centralDirRecords = this.reader.readInt(2);\n this.centralDirSize = this.reader.readInt(4);\n this.centralDirOffset = this.reader.readInt(4);\n\n this.zipCommentLength = this.reader.readInt(2);\n // warning : the encoding depends of the system locale\n // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded.\n // On a windows machine, this field is encoded with the localized windows code page.\n var zipComment = this.reader.readData(this.zipCommentLength);\n var decodeParamType = support.uint8array ? \"uint8array\" : \"array\";\n // To get consistent behavior with the generation part, we will assume that\n // this is utf8 encoded unless specified otherwise.\n var decodeContent = utils.transformTo(decodeParamType, zipComment);\n this.zipComment = this.loadOptions.decodeFileName(decodeContent);\n },\n /**\n * Read the end of the Zip 64 central directory.\n * Not merged with the method readEndOfCentral :\n * The end of central can coexist with its Zip64 brother,\n * I don't want to read the wrong number of bytes !\n */\n readBlockZip64EndOfCentral: function() {\n this.zip64EndOfCentralSize = this.reader.readInt(8);\n this.reader.skip(4);\n // this.versionMadeBy = this.reader.readString(2);\n // this.versionNeeded = this.reader.readInt(2);\n this.diskNumber = this.reader.readInt(4);\n this.diskWithCentralDirStart = this.reader.readInt(4);\n this.centralDirRecordsOnThisDisk = this.reader.readInt(8);\n this.centralDirRecords = this.reader.readInt(8);\n this.centralDirSize = this.reader.readInt(8);\n this.centralDirOffset = this.reader.readInt(8);\n\n this.zip64ExtensibleData = {};\n var extraDataSize = this.zip64EndOfCentralSize - 44,\n index = 0,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n while (index < extraDataSize) {\n extraFieldId = this.reader.readInt(2);\n extraFieldLength = this.reader.readInt(4);\n extraFieldValue = this.reader.readData(extraFieldLength);\n this.zip64ExtensibleData[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n },\n /**\n * Read the end of the Zip 64 central directory locator.\n */\n readBlockZip64EndOfCentralLocator: function() {\n this.diskWithZip64CentralDirStart = this.reader.readInt(4);\n this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);\n this.disksCount = this.reader.readInt(4);\n if (this.disksCount > 1) {\n throw new Error(\"Multi-volumes zip are not supported\");\n }\n },\n /**\n * Read the local files, based on the offset read in the central part.\n */\n readLocalFiles: function() {\n var i, file;\n for (i = 0; i < this.files.length; i++) {\n file = this.files[i];\n this.reader.setIndex(file.localHeaderOffset);\n this.checkSignature(sig.LOCAL_FILE_HEADER);\n file.readLocalPart(this.reader);\n file.handleUTF8();\n file.processAttributes();\n }\n },\n /**\n * Read the central directory.\n */\n readCentralDir: function() {\n var file;\n\n this.reader.setIndex(this.centralDirOffset);\n while (this.reader.readAndCheckSignature(sig.CENTRAL_FILE_HEADER)) {\n file = new ZipEntry({\n zip64: this.zip64\n }, this.loadOptions);\n file.readCentralPart(this.reader);\n this.files.push(file);\n }\n\n if (this.centralDirRecords !== this.files.length) {\n if (this.centralDirRecords !== 0 && this.files.length === 0) {\n // We expected some records but couldn't find ANY.\n // This is really suspicious, as if something went wrong.\n throw new Error(\"Corrupted zip or bug: expected \" + this.centralDirRecords + \" records in central dir, got \" + this.files.length);\n } else {\n // We found some records but not all.\n // Something is wrong but we got something for the user: no error here.\n // console.warn(\"expected\", this.centralDirRecords, \"records in central dir, got\", this.files.length);\n }\n }\n },\n /**\n * Read the end of central directory.\n */\n readEndOfCentral: function() {\n var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);\n if (offset < 0) {\n // Check if the content is a truncated zip or complete garbage.\n // A \"LOCAL_FILE_HEADER\" is not required at the beginning (auto\n // extractible zip for example) but it can give a good hint.\n // If an ajax request was used without responseType, we will also\n // get unreadable data.\n var isGarbage = !this.isSignature(0, sig.LOCAL_FILE_HEADER);\n\n if (isGarbage) {\n throw new Error(\"Can't find end of central directory : is this a zip file ? \" +\n \"If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\");\n } else {\n throw new Error(\"Corrupted zip: can't find end of central directory\");\n }\n\n }\n this.reader.setIndex(offset);\n var endOfCentralDirOffset = offset;\n this.checkSignature(sig.CENTRAL_DIRECTORY_END);\n this.readBlockEndOfCentral();\n\n\n /* extract from the zip spec :\n 4) If one of the fields in the end of central directory\n record is too small to hold required data, the field\n should be set to -1 (0xFFFF or 0xFFFFFFFF) and the\n ZIP64 format record should be created.\n 5) The end of central directory record and the\n Zip64 end of central directory locator record must\n reside on the same disk when splitting or spanning\n an archive.\n */\n if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) {\n this.zip64 = true;\n\n /*\n Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from\n the zip file can fit into a 32bits integer. This cannot be solved : JavaScript represents\n all numbers as 64-bit double precision IEEE 754 floating point numbers.\n So, we have 53bits for integers and bitwise operations treat everything as 32bits.\n see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators\n and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5\n */\n\n // should look for a zip64 EOCD locator\n offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n if (offset < 0) {\n throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");\n }\n this.reader.setIndex(offset);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);\n this.readBlockZip64EndOfCentralLocator();\n\n // now the zip64 EOCD record\n if (!this.isSignature(this.relativeOffsetEndOfZip64CentralDir, sig.ZIP64_CENTRAL_DIRECTORY_END)) {\n // console.warn(\"ZIP64 end of central directory not where expected.\");\n this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);\n if (this.relativeOffsetEndOfZip64CentralDir < 0) {\n throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");\n }\n }\n this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);\n this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);\n this.readBlockZip64EndOfCentral();\n }\n\n var expectedEndOfCentralDirOffset = this.centralDirOffset + this.centralDirSize;\n if (this.zip64) {\n expectedEndOfCentralDirOffset += 20; // end of central dir 64 locator\n expectedEndOfCentralDirOffset += 12 /* should not include the leading 12 bytes */ + this.zip64EndOfCentralSize;\n }\n\n var extraBytes = endOfCentralDirOffset - expectedEndOfCentralDirOffset;\n\n if (extraBytes > 0) {\n // console.warn(extraBytes, \"extra bytes at beginning or within zipfile\");\n if (this.isSignature(endOfCentralDirOffset, sig.CENTRAL_FILE_HEADER)) {\n // The offsets seem wrong, but we have something at the specified offset.\n // So… we keep it.\n } else {\n // the offset is wrong, update the \"zero\" of the reader\n // this happens if data has been prepended (crx files for example)\n this.reader.zero = extraBytes;\n }\n } else if (extraBytes < 0) {\n throw new Error(\"Corrupted zip: missing \" + Math.abs(extraBytes) + \" bytes.\");\n }\n },\n prepareReader: function(data) {\n this.reader = readerFor(data);\n },\n /**\n * Read a zip file and create ZipEntries.\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.\n */\n load: function(data) {\n this.prepareReader(data);\n this.readEndOfCentral();\n this.readCentralDir();\n this.readLocalFiles();\n }\n};\n// }}} end of ZipEntries\nmodule.exports = ZipEntries;\n","'use strict';\nvar readerFor = require('./reader/readerFor');\nvar utils = require('./utils');\nvar CompressedObject = require('./compressedObject');\nvar crc32fn = require('./crc32');\nvar utf8 = require('./utf8');\nvar compressions = require('./compressions');\nvar support = require('./support');\n\nvar MADE_BY_DOS = 0x00;\nvar MADE_BY_UNIX = 0x03;\n\n/**\n * Find a compression registered in JSZip.\n * @param {string} compressionMethod the method magic to find.\n * @return {Object|null} the JSZip compression object, null if none found.\n */\nvar findCompression = function(compressionMethod) {\n for (var method in compressions) {\n if (!compressions.hasOwnProperty(method)) {\n continue;\n }\n if (compressions[method].magic === compressionMethod) {\n return compressions[method];\n }\n }\n return null;\n};\n\n// class ZipEntry {{{\n/**\n * An entry in the zip file.\n * @constructor\n * @param {Object} options Options of the current file.\n * @param {Object} loadOptions Options for loading the stream.\n */\nfunction ZipEntry(options, loadOptions) {\n this.options = options;\n this.loadOptions = loadOptions;\n}\nZipEntry.prototype = {\n /**\n * say if the file is encrypted.\n * @return {boolean} true if the file is encrypted, false otherwise.\n */\n isEncrypted: function() {\n // bit 1 is set\n return (this.bitFlag & 0x0001) === 0x0001;\n },\n /**\n * say if the file has utf-8 filename/comment.\n * @return {boolean} true if the filename/comment is in utf-8, false otherwise.\n */\n useUTF8: function() {\n // bit 11 is set\n return (this.bitFlag & 0x0800) === 0x0800;\n },\n /**\n * Read the local part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readLocalPart: function(reader) {\n var compression, localExtraFieldsLength;\n\n // we already know everything from the central dir !\n // If the central dir data are false, we are doomed.\n // On the bright side, the local part is scary : zip64, data descriptors, both, etc.\n // The less data we get here, the more reliable this should be.\n // Let's skip the whole header and dash to the data !\n reader.skip(22);\n // in some zip created on windows, the filename stored in the central dir contains \\ instead of /.\n // Strangely, the filename here is OK.\n // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes\n // or APPNOTE#4.4.17.1, \"All slashes MUST be forward slashes '/'\") but there are a lot of bad zip generators...\n // Search \"unzip mismatching \"local\" filename continuing with \"central\" filename version\" on\n // the internet.\n //\n // I think I see the logic here : the central directory is used to display\n // content and the local directory is used to extract the files. Mixing / and \\\n // may be used to display \\ to windows users and use / when extracting the files.\n // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394\n this.fileNameLength = reader.readInt(2);\n localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir\n // the fileName is stored as binary data, the handleUTF8 method will take care of the encoding.\n this.fileName = reader.readData(this.fileNameLength);\n reader.skip(localExtraFieldsLength);\n\n if (this.compressedSize === -1 || this.uncompressedSize === -1) {\n throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory \" + \"(compressedSize === -1 || uncompressedSize === -1)\");\n }\n\n compression = findCompression(this.compressionMethod);\n if (compression === null) { // no compression found\n throw new Error(\"Corrupted zip : compression \" + utils.pretty(this.compressionMethod) + \" unknown (inner file : \" + utils.transformTo(\"string\", this.fileName) + \")\");\n }\n this.decompressed = new CompressedObject(this.compressedSize, this.uncompressedSize, this.crc32, compression, reader.readData(this.compressedSize));\n },\n\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readCentralPart: function(reader) {\n this.versionMadeBy = reader.readInt(2);\n reader.skip(2);\n // this.versionNeeded = reader.readInt(2);\n this.bitFlag = reader.readInt(2);\n this.compressionMethod = reader.readString(2);\n this.date = reader.readDate();\n this.crc32 = reader.readInt(4);\n this.compressedSize = reader.readInt(4);\n this.uncompressedSize = reader.readInt(4);\n var fileNameLength = reader.readInt(2);\n this.extraFieldsLength = reader.readInt(2);\n this.fileCommentLength = reader.readInt(2);\n this.diskNumberStart = reader.readInt(2);\n this.internalFileAttributes = reader.readInt(2);\n this.externalFileAttributes = reader.readInt(4);\n this.localHeaderOffset = reader.readInt(4);\n\n if (this.isEncrypted()) {\n throw new Error(\"Encrypted zip are not supported\");\n }\n\n // will be read in the local part, see the comments there\n reader.skip(fileNameLength);\n this.readExtraFields(reader);\n this.parseZIP64ExtraField(reader);\n this.fileComment = reader.readData(this.fileCommentLength);\n },\n\n /**\n * Parse the external file attributes and get the unix/dos permissions.\n */\n processAttributes: function () {\n this.unixPermissions = null;\n this.dosPermissions = null;\n var madeBy = this.versionMadeBy >> 8;\n\n // Check if we have the DOS directory flag set.\n // We look for it in the DOS and UNIX permissions\n // but some unknown platform could set it as a compatibility flag.\n this.dir = this.externalFileAttributes & 0x0010 ? true : false;\n\n if(madeBy === MADE_BY_DOS) {\n // first 6 bits (0 to 5)\n this.dosPermissions = this.externalFileAttributes & 0x3F;\n }\n\n if(madeBy === MADE_BY_UNIX) {\n this.unixPermissions = (this.externalFileAttributes >> 16) & 0xFFFF;\n // the octal permissions are in (this.unixPermissions & 0x01FF).toString(8);\n }\n\n // fail safe : if the name ends with a / it probably means a folder\n if (!this.dir && this.fileNameStr.slice(-1) === '/') {\n this.dir = true;\n }\n },\n\n /**\n * Parse the ZIP64 extra field and merge the info in the current ZipEntry.\n * @param {DataReader} reader the reader to use.\n */\n parseZIP64ExtraField: function(reader) {\n\n if (!this.extraFields[0x0001]) {\n return;\n }\n\n // should be something, preparing the extra reader\n var extraReader = readerFor(this.extraFields[0x0001].value);\n\n // I really hope that these 64bits integer can fit in 32 bits integer, because js\n // won't let us have more.\n if (this.uncompressedSize === utils.MAX_VALUE_32BITS) {\n this.uncompressedSize = extraReader.readInt(8);\n }\n if (this.compressedSize === utils.MAX_VALUE_32BITS) {\n this.compressedSize = extraReader.readInt(8);\n }\n if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) {\n this.localHeaderOffset = extraReader.readInt(8);\n }\n if (this.diskNumberStart === utils.MAX_VALUE_32BITS) {\n this.diskNumberStart = extraReader.readInt(4);\n }\n },\n /**\n * Read the central part of a zip file and add the info in this object.\n * @param {DataReader} reader the reader to use.\n */\n readExtraFields: function(reader) {\n var end = reader.index + this.extraFieldsLength,\n extraFieldId,\n extraFieldLength,\n extraFieldValue;\n\n if (!this.extraFields) {\n this.extraFields = {};\n }\n\n while (reader.index + 4 < end) {\n extraFieldId = reader.readInt(2);\n extraFieldLength = reader.readInt(2);\n extraFieldValue = reader.readData(extraFieldLength);\n\n this.extraFields[extraFieldId] = {\n id: extraFieldId,\n length: extraFieldLength,\n value: extraFieldValue\n };\n }\n\n reader.setIndex(end);\n },\n /**\n * Apply an UTF8 transformation if needed.\n */\n handleUTF8: function() {\n var decodeParamType = support.uint8array ? \"uint8array\" : \"array\";\n if (this.useUTF8()) {\n this.fileNameStr = utf8.utf8decode(this.fileName);\n this.fileCommentStr = utf8.utf8decode(this.fileComment);\n } else {\n var upath = this.findExtraFieldUnicodePath();\n if (upath !== null) {\n this.fileNameStr = upath;\n } else {\n // ASCII text or unsupported code page\n var fileNameByteArray = utils.transformTo(decodeParamType, this.fileName);\n this.fileNameStr = this.loadOptions.decodeFileName(fileNameByteArray);\n }\n\n var ucomment = this.findExtraFieldUnicodeComment();\n if (ucomment !== null) {\n this.fileCommentStr = ucomment;\n } else {\n // ASCII text or unsupported code page\n var commentByteArray = utils.transformTo(decodeParamType, this.fileComment);\n this.fileCommentStr = this.loadOptions.decodeFileName(commentByteArray);\n }\n }\n },\n\n /**\n * Find the unicode path declared in the extra field, if any.\n * @return {String} the unicode path, null otherwise.\n */\n findExtraFieldUnicodePath: function() {\n var upathField = this.extraFields[0x7075];\n if (upathField) {\n var extraReader = readerFor(upathField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the filename changed, this field is out of date.\n if (crc32fn(this.fileName) !== extraReader.readInt(4)) {\n return null;\n }\n\n return utf8.utf8decode(extraReader.readData(upathField.length - 5));\n }\n return null;\n },\n\n /**\n * Find the unicode comment declared in the extra field, if any.\n * @return {String} the unicode comment, null otherwise.\n */\n findExtraFieldUnicodeComment: function() {\n var ucommentField = this.extraFields[0x6375];\n if (ucommentField) {\n var extraReader = readerFor(ucommentField.value);\n\n // wrong version\n if (extraReader.readInt(1) !== 1) {\n return null;\n }\n\n // the crc of the comment changed, this field is out of date.\n if (crc32fn(this.fileComment) !== extraReader.readInt(4)) {\n return null;\n }\n\n return utf8.utf8decode(extraReader.readData(ucommentField.length - 5));\n }\n return null;\n }\n};\nmodule.exports = ZipEntry;\n","'use strict';\n\nvar StreamHelper = require('./stream/StreamHelper');\nvar DataWorker = require('./stream/DataWorker');\nvar utf8 = require('./utf8');\nvar CompressedObject = require('./compressedObject');\nvar GenericWorker = require('./stream/GenericWorker');\n\n/**\n * A simple object representing a file in the zip file.\n * @constructor\n * @param {string} name the name of the file\n * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data\n * @param {Object} options the options of the file\n */\nvar ZipObject = function(name, data, options) {\n this.name = name;\n this.dir = options.dir;\n this.date = options.date;\n this.comment = options.comment;\n this.unixPermissions = options.unixPermissions;\n this.dosPermissions = options.dosPermissions;\n\n this._data = data;\n this._dataBinary = options.binary;\n // keep only the compression\n this.options = {\n compression : options.compression,\n compressionOptions : options.compressionOptions\n };\n};\n\nZipObject.prototype = {\n /**\n * Create an internal stream for the content of this object.\n * @param {String} type the type of each chunk.\n * @return StreamHelper the stream.\n */\n internalStream: function (type) {\n var result = null, outputType = \"string\";\n try {\n if (!type) {\n throw new Error(\"No output type specified.\");\n }\n outputType = type.toLowerCase();\n var askUnicodeString = outputType === \"string\" || outputType === \"text\";\n if (outputType === \"binarystring\" || outputType === \"text\") {\n outputType = \"string\";\n }\n result = this._decompressWorker();\n\n var isUnicodeString = !this._dataBinary;\n\n if (isUnicodeString && !askUnicodeString) {\n result = result.pipe(new utf8.Utf8EncodeWorker());\n }\n if (!isUnicodeString && askUnicodeString) {\n result = result.pipe(new utf8.Utf8DecodeWorker());\n }\n } catch (e) {\n result = new GenericWorker(\"error\");\n result.error(e);\n }\n\n return new StreamHelper(result, outputType, \"\");\n },\n\n /**\n * Prepare the content in the asked type.\n * @param {String} type the type of the result.\n * @param {Function} onUpdate a function to call on each internal update.\n * @return Promise the promise of the result.\n */\n async: function (type, onUpdate) {\n return this.internalStream(type).accumulate(onUpdate);\n },\n\n /**\n * Prepare the content as a nodejs stream.\n * @param {String} type the type of each chunk.\n * @param {Function} onUpdate a function to call on each internal update.\n * @return Stream the stream.\n */\n nodeStream: function (type, onUpdate) {\n return this.internalStream(type || \"nodebuffer\").toNodejsStream(onUpdate);\n },\n\n /**\n * Return a worker for the compressed content.\n * @private\n * @param {Object} compression the compression object to use.\n * @param {Object} compressionOptions the options to use when compressing.\n * @return Worker the worker.\n */\n _compressWorker: function (compression, compressionOptions) {\n if (\n this._data instanceof CompressedObject &&\n this._data.compression.magic === compression.magic\n ) {\n return this._data.getCompressedWorker();\n } else {\n var result = this._decompressWorker();\n if(!this._dataBinary) {\n result = result.pipe(new utf8.Utf8EncodeWorker());\n }\n return CompressedObject.createWorkerFrom(result, compression, compressionOptions);\n }\n },\n /**\n * Return a worker for the decompressed content.\n * @private\n * @return Worker the worker.\n */\n _decompressWorker : function () {\n if (this._data instanceof CompressedObject) {\n return this._data.getContentWorker();\n } else if (this._data instanceof GenericWorker) {\n return this._data;\n } else {\n return new DataWorker(this._data);\n }\n }\n};\n\nvar removedMethods = [\"asText\", \"asBinary\", \"asNodeBuffer\", \"asUint8Array\", \"asArrayBuffer\"];\nvar removedFn = function () {\n throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\");\n};\n\nfor(var i = 0; i < removedMethods.length; i++) {\n ZipObject.prototype[removedMethods[i]] = removedFn;\n}\nmodule.exports = ZipObject;\n","'use strict';\nvar immediate = require('immediate');\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"finally\"] = function (callback) {\n if (typeof callback !== 'function') {\n return this;\n }\n var p = this.constructor;\n return this.then(resolve, reject);\n\n function resolve(value) {\n function yes () {\n return value;\n }\n return p.resolve(callback()).then(yes);\n }\n function reject(reason) {\n function no () {\n throw reason;\n }\n return p.resolve(callback()).then(no);\n }\n};\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nmodule.exports = escapeRegExp;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity]\n * The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n result[key] = [value];\n }\n});\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = groupBy;\n","/**\n * lodash 3.0.3 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && objectToString.call(value) == boolTag);\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isBoolean;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n nullTag = '[object Null]',\n proxyTag = '[object Proxy]',\n undefinedTag = '[object Undefined]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isFunction;\n","/**\n * lodash 4.0.0 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","/**\n * lodash 3.0.1 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n Set = getNative(root, 'Set'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each\n * element is kept.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length)\n ? baseUniq(array)\n : [];\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = uniq;\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","// Top level file is just a mixin of submodules & constants\n'use strict';\n\nvar assign = require('./lib/utils/common').assign;\n\nvar deflate = require('./lib/deflate');\nvar inflate = require('./lib/inflate');\nvar constants = require('./lib/zlib/constants');\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n","'use strict';\n\n\nvar zlib_deflate = require('./zlib/deflate');\nvar utils = require('./utils/common');\nvar strings = require('./utils/strings');\nvar msg = require('./zlib/messages');\nvar ZStream = require('./zlib/zstream');\n\nvar toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_SYNC_FLUSH = 2;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n if (!(this instanceof Deflate)) return new Deflate(options);\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n","'use strict';\n\n\nvar zlib_inflate = require('./zlib/inflate');\nvar utils = require('./utils/common');\nvar strings = require('./utils/strings');\nvar c = require('./zlib/constants');\nvar msg = require('./zlib/messages');\nvar ZStream = require('./zlib/zstream');\nvar GZheader = require('./zlib/gzheader');\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n if (!(this instanceof Inflate)) return new Inflate(options);\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status === c.Z_NEED_DICT && dictionary) {\n status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);\n }\n\n if (status === c.Z_BUF_ERROR && allowBufError === true) {\n status = c.Z_OK;\n allowBufError = false;\n }\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === c.Z_SYNC_FLUSH) {\n this.onEnd(c.Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n","'use strict';\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n","// String encode/decode helpers\n'use strict';\n\n\nvar utils = require('./common');\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nvar STR_APPLY_OK = true;\nvar STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new utils.Buf8(256);\nfor (var q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function (buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function (str) {\n var buf = new utils.Buf8(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function (buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\nvar trees = require('./trees');\nvar adler32 = require('./adler32');\nvar crc32 = require('./crc32');\nvar msg = require('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);\n this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = new utils.Buf8(s.w_size);\n utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\nvar adler32 = require('./adler32');\nvar crc32 = require('./crc32');\nvar inflate_fast = require('./inffast');\nvar inflate_table = require('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = require('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\n // \"inconsistent bit counts\");\n //Tracev((stderr,\"\\ngen_codes: max_code %d \", max_code));\n\n for (n = 0; n <= max_code; n++) {\n var len = tree[n * 2 + 1]/*.Len*/;\n if (len === 0) { continue; }\n /* Now reverse the bits */\n tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\n\n //Tracecv(tree != static_ltree, (stderr,\"\\nn %3d %c l %2d c %4x (%x) \",\n // n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));\n }\n}\n\n\n/* ===========================================================================\n * Initialize the various 'constant' tables.\n */\nfunction tr_static_init() {\n var n; /* iterates over tree elements */\n var bits; /* bit counter */\n var length; /* length value */\n var code; /* code value */\n var dist; /* distance index */\n var bl_count = new Array(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n // do check in _tr_init()\n //if (static_init_done) return;\n\n /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n static_l_desc.static_tree = static_ltree;\n static_l_desc.extra_bits = extra_lbits;\n static_d_desc.static_tree = static_dtree;\n static_d_desc.extra_bits = extra_dbits;\n static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n /* Initialize the mapping length (0..255) -> length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n","module.exports={\"2.16.840.1.101.3.4.1.1\": \"aes-128-ecb\",\n\"2.16.840.1.101.3.4.1.2\": \"aes-128-cbc\",\n\"2.16.840.1.101.3.4.1.3\": \"aes-128-ofb\",\n\"2.16.840.1.101.3.4.1.4\": \"aes-128-cfb\",\n\"2.16.840.1.101.3.4.1.21\": \"aes-192-ecb\",\n\"2.16.840.1.101.3.4.1.22\": \"aes-192-cbc\",\n\"2.16.840.1.101.3.4.1.23\": \"aes-192-ofb\",\n\"2.16.840.1.101.3.4.1.24\": \"aes-192-cfb\",\n\"2.16.840.1.101.3.4.1.41\": \"aes-256-ecb\",\n\"2.16.840.1.101.3.4.1.42\": \"aes-256-cbc\",\n\"2.16.840.1.101.3.4.1.43\": \"aes-256-ofb\",\n\"2.16.840.1.101.3.4.1.44\": \"aes-256-cfb\"\n}","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\n\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n process.nextTick(function () {\n callback(null, out)\n })\n }, function (e) {\n process.nextTick(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n return process.nextTick(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (process.browser) {\n defaultEncoding = 'utf-8'\n} else if (process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/*<replacement>*/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/*</replacement>*/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/*<replacement>*/\n\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n/*<replacement>*/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*<replacement>*/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* <replacement> */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\n\n\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n/*<replacement>*/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","\"use strict\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar ed5 = require(\"xmlchars/xml/1.0/ed5\");\n\nvar ed2 = require(\"xmlchars/xml/1.1/ed2\");\n\nvar NSed3 = require(\"xmlchars/xmlns/1.0/ed3\");\n\nvar isS = ed5.isS;\nvar isChar10 = ed5.isChar;\nvar isNameStartChar = ed5.isNameStartChar;\nvar isNameChar = ed5.isNameChar;\nvar S_LIST = ed5.S_LIST;\nvar NAME_RE = ed5.NAME_RE;\nvar isChar11 = ed2.isChar;\nvar isNCNameStartChar = NSed3.isNCNameStartChar;\nvar isNCNameChar = NSed3.isNCNameChar;\nvar NC_NAME_RE = NSed3.NC_NAME_RE;\nvar XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\nvar XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\nvar rootNS = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __proto__: null,\n xml: XML_NAMESPACE,\n xmlns: XMLNS_NAMESPACE\n};\nvar XML_ENTITIES = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __proto__: null,\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: \"\\\"\",\n apos: \"'\"\n}; // EOC: end-of-chunk\n\nvar EOC = -1;\nvar NL_LIKE = -2;\nvar S_BEGIN = 0; // Initial state.\n\nvar S_BEGIN_WHITESPACE = 1; // leading whitespace\n\nvar S_DOCTYPE = 2; // <!DOCTYPE\n\nvar S_DOCTYPE_QUOTE = 3; // <!DOCTYPE \"//blah\n\nvar S_DTD = 4; // <!DOCTYPE \"//blah\" [ ...\n\nvar S_DTD_QUOTED = 5; // <!DOCTYPE \"//blah\" [ \"foo\n\nvar S_DTD_OPEN_WAKA = 6;\nvar S_DTD_OPEN_WAKA_BANG = 7;\nvar S_DTD_COMMENT = 8; // <!--\n\nvar S_DTD_COMMENT_ENDING = 9; // <!-- blah -\n\nvar S_DTD_COMMENT_ENDED = 10; // <!-- blah --\n\nvar S_DTD_PI = 11; // <?\n\nvar S_DTD_PI_ENDING = 12; // <?hi \"there\" ?\n\nvar S_TEXT = 13; // general stuff\n\nvar S_ENTITY = 14; // & and such\n\nvar S_OPEN_WAKA = 15; // <\n\nvar S_OPEN_WAKA_BANG = 16; // <!...\n\nvar S_COMMENT = 17; // <!--\n\nvar S_COMMENT_ENDING = 18; // <!-- blah -\n\nvar S_COMMENT_ENDED = 19; // <!-- blah --\n\nvar S_CDATA = 20; // <![CDATA[ something\n\nvar S_CDATA_ENDING = 21; // ]\n\nvar S_CDATA_ENDING_2 = 22; // ]]\n\nvar S_PI_FIRST_CHAR = 23; // <?hi, first char\n\nvar S_PI_REST = 24; // <?hi, rest of the name\n\nvar S_PI_BODY = 25; // <?hi there\n\nvar S_PI_ENDING = 26; // <?hi \"there\" ?\n\nvar S_XML_DECL_NAME_START = 27; // <?xml\n\nvar S_XML_DECL_NAME = 28; // <?xml foo\n\nvar S_XML_DECL_EQ = 29; // <?xml foo=\n\nvar S_XML_DECL_VALUE_START = 30; // <?xml foo=\n\nvar S_XML_DECL_VALUE = 31; // <?xml foo=\"bar\"\n\nvar S_XML_DECL_SEPARATOR = 32; // <?xml foo=\"bar\"\n\nvar S_XML_DECL_ENDING = 33; // <?xml ... ?\n\nvar S_OPEN_TAG = 34; // <strong\n\nvar S_OPEN_TAG_SLASH = 35; // <strong /\n\nvar S_ATTRIB = 36; // <a\n\nvar S_ATTRIB_NAME = 37; // <a foo\n\nvar S_ATTRIB_NAME_SAW_WHITE = 38; // <a foo _\n\nvar S_ATTRIB_VALUE = 39; // <a foo=\n\nvar S_ATTRIB_VALUE_QUOTED = 40; // <a foo=\"bar\n\nvar S_ATTRIB_VALUE_CLOSED = 41; // <a foo=\"bar\"\n\nvar S_ATTRIB_VALUE_UNQUOTED = 42; // <a foo=bar\n\nvar S_CLOSE_TAG = 43; // </a\n\nvar S_CLOSE_TAG_SAW_WHITE = 44; // </a >\n\nvar TAB = 9;\nvar NL = 0xA;\nvar CR = 0xD;\nvar SPACE = 0x20;\nvar BANG = 0x21;\nvar DQUOTE = 0x22;\nvar AMP = 0x26;\nvar SQUOTE = 0x27;\nvar MINUS = 0x2D;\nvar FORWARD_SLASH = 0x2F;\nvar SEMICOLON = 0x3B;\nvar LESS = 0x3C;\nvar EQUAL = 0x3D;\nvar GREATER = 0x3E;\nvar QUESTION = 0x3F;\nvar OPEN_BRACKET = 0x5B;\nvar CLOSE_BRACKET = 0x5D;\nvar NEL = 0x85;\nvar LS = 0x2028; // Line Separator\n\nvar isQuote = function isQuote(c) {\n return c === DQUOTE || c === SQUOTE;\n};\n\nvar QUOTES = [DQUOTE, SQUOTE];\nvar DOCTYPE_TERMINATOR = [].concat(QUOTES, [OPEN_BRACKET, GREATER]);\nvar DTD_TERMINATOR = [].concat(QUOTES, [LESS, CLOSE_BRACKET]);\nvar XML_DECL_NAME_TERMINATOR = [EQUAL, QUESTION].concat(_toConsumableArray(S_LIST));\nvar ATTRIB_VALUE_UNQUOTED_TERMINATOR = [].concat(_toConsumableArray(S_LIST), [GREATER, AMP, LESS]);\n\nfunction nsPairCheck(parser, prefix, uri) {\n switch (prefix) {\n case \"xml\":\n if (uri !== XML_NAMESPACE) {\n parser.fail(\"xml prefix must be bound to \".concat(XML_NAMESPACE, \".\"));\n }\n\n break;\n\n case \"xmlns\":\n if (uri !== XMLNS_NAMESPACE) {\n parser.fail(\"xmlns prefix must be bound to \".concat(XMLNS_NAMESPACE, \".\"));\n }\n\n break;\n\n default:\n }\n\n switch (uri) {\n case XMLNS_NAMESPACE:\n parser.fail(prefix === \"\" ? \"the default namespace may not be set to \".concat(uri, \".\") : \"may not assign a prefix (even \\\"xmlns\\\") to the URI \".concat(XMLNS_NAMESPACE, \".\"));\n break;\n\n case XML_NAMESPACE:\n switch (prefix) {\n case \"xml\":\n // Assinging the XML namespace to \"xml\" is fine.\n break;\n\n case \"\":\n parser.fail(\"the default namespace may not be set to \".concat(uri, \".\"));\n break;\n\n default:\n parser.fail(\"may not assign the xml namespace to another prefix.\");\n }\n\n break;\n\n default:\n }\n}\n\nfunction nsMappingCheck(parser, mapping) {\n for (var _i = 0, _Object$keys = Object.keys(mapping); _i < _Object$keys.length; _i++) {\n var local = _Object$keys[_i];\n nsPairCheck(parser, local, mapping[local]);\n }\n}\n\nvar isNCName = function isNCName(name) {\n return NC_NAME_RE.test(name);\n};\n\nvar isName = function isName(name) {\n return NAME_RE.test(name);\n};\n\nvar FORBIDDEN_START = 0;\nvar FORBIDDEN_BRACKET = 1;\nvar FORBIDDEN_BRACKET_BRACKET = 2;\n/**\n * The list of supported events.\n */\n\nexports.EVENTS = [\"xmldecl\", \"text\", \"processinginstruction\", \"doctype\", \"comment\", \"opentagstart\", \"attribute\", \"opentag\", \"closetag\", \"cdata\", \"error\", \"end\", \"ready\"];\nvar EVENT_NAME_TO_HANDLER_NAME = {\n xmldecl: \"xmldeclHandler\",\n text: \"textHandler\",\n processinginstruction: \"piHandler\",\n doctype: \"doctypeHandler\",\n comment: \"commentHandler\",\n opentagstart: \"openTagStartHandler\",\n attribute: \"attributeHandler\",\n opentag: \"openTagHandler\",\n closetag: \"closeTagHandler\",\n cdata: \"cdataHandler\",\n error: \"errorHandler\",\n end: \"endHandler\",\n ready: \"readyHandler\"\n};\n\nvar SaxesParser = /*#__PURE__*/function () {\n /**\n * @param opt The parser options.\n */\n function SaxesParser(opt) {\n _classCallCheck(this, SaxesParser);\n\n this.opt = opt !== null && opt !== void 0 ? opt : {};\n this.fragmentOpt = !!this.opt.fragment;\n var xmlnsOpt = this.xmlnsOpt = !!this.opt.xmlns;\n this.trackPosition = this.opt.position !== false;\n this.fileName = this.opt.fileName;\n\n if (xmlnsOpt) {\n // This is the function we use to perform name checks on PIs and entities.\n // When namespaces are used, colons are not allowed in PI target names or\n // entity names. So the check depends on whether namespaces are used. See:\n //\n // https://www.w3.org/XML/xml-names-19990114-errata.html\n // NE08\n //\n this.nameStartCheck = isNCNameStartChar;\n this.nameCheck = isNCNameChar;\n this.isName = isNCName; // eslint-disable-next-line @typescript-eslint/unbound-method\n\n this.processAttribs = this.processAttribsNS; // eslint-disable-next-line @typescript-eslint/unbound-method\n\n this.pushAttrib = this.pushAttribNS; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n this.ns = Object.assign({\n __proto__: null\n }, rootNS);\n var additional = this.opt.additionalNamespaces;\n\n if (additional != null) {\n nsMappingCheck(this, additional);\n Object.assign(this.ns, additional);\n }\n } else {\n this.nameStartCheck = isNameStartChar;\n this.nameCheck = isNameChar;\n this.isName = isName; // eslint-disable-next-line @typescript-eslint/unbound-method\n\n this.processAttribs = this.processAttribsPlain; // eslint-disable-next-line @typescript-eslint/unbound-method\n\n this.pushAttrib = this.pushAttribPlain;\n } //\n // The order of the members in this table needs to correspond to the state\n // numbers given to the states that correspond to the methods being recorded\n // here.\n //\n\n\n this.stateTable = [\n /* eslint-disable @typescript-eslint/unbound-method */\n this.sBegin, this.sBeginWhitespace, this.sDoctype, this.sDoctypeQuote, this.sDTD, this.sDTDQuoted, this.sDTDOpenWaka, this.sDTDOpenWakaBang, this.sDTDComment, this.sDTDCommentEnding, this.sDTDCommentEnded, this.sDTDPI, this.sDTDPIEnding, this.sText, this.sEntity, this.sOpenWaka, this.sOpenWakaBang, this.sComment, this.sCommentEnding, this.sCommentEnded, this.sCData, this.sCDataEnding, this.sCDataEnding2, this.sPIFirstChar, this.sPIRest, this.sPIBody, this.sPIEnding, this.sXMLDeclNameStart, this.sXMLDeclName, this.sXMLDeclEq, this.sXMLDeclValueStart, this.sXMLDeclValue, this.sXMLDeclSeparator, this.sXMLDeclEnding, this.sOpenTag, this.sOpenTagSlash, this.sAttrib, this.sAttribName, this.sAttribNameSawWhite, this.sAttribValue, this.sAttribValueQuoted, this.sAttribValueClosed, this.sAttribValueUnquoted, this.sCloseTag, this.sCloseTagSawWhite];\n\n this._init();\n }\n /**\n * Indicates whether or not the parser is closed. If ``true``, wait for\n * the ``ready`` event to write again.\n */\n\n\n _createClass(SaxesParser, [{\n key: \"_init\",\n value: function _init() {\n var _a;\n\n this.openWakaBang = \"\";\n this.text = \"\";\n this.name = \"\";\n this.piTarget = \"\";\n this.entity = \"\";\n this.q = null;\n this.tags = [];\n this.tag = null;\n this.topNS = null;\n this.chunk = \"\";\n this.chunkPosition = 0;\n this.i = 0;\n this.prevI = 0;\n this.carriedFromPrevious = undefined;\n this.forbiddenState = FORBIDDEN_START;\n this.attribList = []; // The logic is organized so as to minimize the need to check\n // this.opt.fragment while parsing.\n\n var fragmentOpt = this.fragmentOpt;\n this.state = fragmentOpt ? S_TEXT : S_BEGIN; // We want these to be all true if we are dealing with a fragment.\n\n this.reportedTextBeforeRoot = this.reportedTextAfterRoot = this.closedRoot = this.sawRoot = fragmentOpt; // An XML declaration is intially possible only when parsing whole\n // documents.\n\n this.xmlDeclPossible = !fragmentOpt;\n this.xmlDeclExpects = [\"version\"];\n this.entityReturnState = undefined;\n var defaultXMLVersion = this.opt.defaultXMLVersion;\n\n if (defaultXMLVersion === undefined) {\n if (this.opt.forceXMLVersion === true) {\n throw new Error(\"forceXMLVersion set but defaultXMLVersion is not set\");\n }\n\n defaultXMLVersion = \"1.0\";\n }\n\n this.setXMLVersion(defaultXMLVersion);\n this.positionAtNewLine = 0;\n this.doctype = false;\n this._closed = false;\n this.xmlDecl = {\n version: undefined,\n encoding: undefined,\n standalone: undefined\n };\n this.line = 1;\n this.column = 0;\n this.ENTITIES = Object.create(XML_ENTITIES); // eslint-disable-next-line no-unused-expressions\n\n (_a = this.readyHandler) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n /**\n * The stream position the parser is currently looking at. This field is\n * zero-based.\n *\n * This field is not based on counting Unicode characters but is to be\n * interpreted as a plain index into a JavaScript string.\n */\n\n }, {\n key: \"on\",\n\n /**\n * Set an event listener on an event. The parser supports one handler per\n * event type. If you try to set an event handler over an existing handler,\n * the old handler is silently overwritten.\n *\n * @param name The event to listen to.\n *\n * @param handler The handler to set.\n */\n value: function on(name, handler) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this[EVENT_NAME_TO_HANDLER_NAME[name]] = handler;\n }\n /**\n * Unset an event handler.\n *\n * @parma name The event to stop listening to.\n */\n\n }, {\n key: \"off\",\n value: function off(name) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this[EVENT_NAME_TO_HANDLER_NAME[name]] = undefined;\n }\n /**\n * Make an error object. The error object will have a message that contains\n * the ``fileName`` option passed at the creation of the parser. If position\n * tracking was turned on, it will also have line and column number\n * information.\n *\n * @param message The message describing the error to report.\n *\n * @returns An error object with a properly formatted message.\n */\n\n }, {\n key: \"makeError\",\n value: function makeError(message) {\n var _a;\n\n var msg = (_a = this.fileName) !== null && _a !== void 0 ? _a : \"\";\n\n if (this.trackPosition) {\n if (msg.length > 0) {\n msg += \":\";\n }\n\n msg += \"\".concat(this.line, \":\").concat(this.column);\n }\n\n if (msg.length > 0) {\n msg += \": \";\n }\n\n return new Error(msg + message);\n }\n /**\n * Report a parsing error. This method is made public so that client code may\n * check for issues that are outside the scope of this project and can report\n * errors.\n *\n * @param message The error to report.\n *\n * @returns this\n */\n\n }, {\n key: \"fail\",\n value: function fail(message) {\n var err = this.makeError(message);\n var handler = this.errorHandler;\n\n if (handler === undefined) {\n throw err;\n } else {\n handler(err);\n }\n\n return this;\n }\n /**\n * Write a XML data to the parser.\n *\n * @param chunk The XML data to write.\n *\n * @returns this\n */\n\n }, {\n key: \"write\",\n value: function write(chunk) {\n if (this.closed) {\n return this.fail(\"cannot write after close; assign an onready handler.\");\n }\n\n var end = false;\n\n if (chunk === null) {\n // We cannot return immediately because carriedFromPrevious may need\n // processing.\n end = true;\n chunk = \"\";\n } else if (_typeof(chunk) === \"object\") {\n chunk = chunk.toString();\n } // We checked if performing a pre-decomposition of the string into an array\n // of single complete characters (``Array.from(chunk)``) would be faster\n // than the current repeated calls to ``charCodeAt``. As of August 2018, it\n // isn't. (There may be Node-specific code that would perform faster than\n // ``Array.from`` but don't want to be dependent on Node.)\n\n\n if (this.carriedFromPrevious !== undefined) {\n // The previous chunk had char we must carry over.\n chunk = \"\".concat(this.carriedFromPrevious).concat(chunk);\n this.carriedFromPrevious = undefined;\n }\n\n var limit = chunk.length;\n var lastCode = chunk.charCodeAt(limit - 1);\n\n if (!end && ( // A trailing CR or surrogate must be carried over to the next\n // chunk.\n lastCode === CR || lastCode >= 0xD800 && lastCode <= 0xDBFF)) {\n // The chunk ends with a character that must be carried over. We cannot\n // know how to handle it until we get the next chunk or the end of the\n // stream. So save it for later.\n this.carriedFromPrevious = chunk[limit - 1];\n limit--;\n chunk = chunk.slice(0, limit);\n }\n\n var stateTable = this.stateTable;\n this.chunk = chunk;\n this.i = 0;\n\n while (this.i < limit) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n stateTable[this.state].call(this);\n }\n\n this.chunkPosition += limit;\n return end ? this.end() : this;\n }\n /**\n * Close the current stream. Perform final well-formedness checks and reset\n * the parser tstate.\n *\n * @returns this\n */\n\n }, {\n key: \"close\",\n value: function close() {\n return this.write(null);\n }\n /**\n * Get a single code point out of the current chunk. This updates the current\n * position if we do position tracking.\n *\n * This is the algorithm to use for XML 1.0.\n *\n * @returns The character read.\n */\n\n }, {\n key: \"getCode10\",\n value: function getCode10() {\n var chunk = this.chunk,\n i = this.i;\n this.prevI = i; // Yes, we do this instead of doing this.i++. Doing it this way, we do not\n // read this.i again, which is a bit faster.\n\n this.i = i + 1;\n\n if (i >= chunk.length) {\n return EOC;\n } // Using charCodeAt and handling the surrogates ourselves is faster\n // than using codePointAt.\n\n\n var code = chunk.charCodeAt(i);\n this.column++;\n\n if (code < 0xD800) {\n if (code >= SPACE || code === TAB) {\n return code;\n }\n\n switch (code) {\n case NL:\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL;\n\n case CR:\n // We may get NaN if we read past the end of the chunk, which is fine.\n if (chunk.charCodeAt(i + 1) === NL) {\n // A \\r\\n sequence is converted to \\n so we have to skip over the\n // next character. We already know it has a size of 1 so ++ is fine\n // here.\n this.i = i + 2;\n } // Otherwise, a \\r is just converted to \\n, so we don't have to skip\n // ahead.\n // In either case, \\r becomes \\n.\n\n\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL_LIKE;\n\n default:\n // If we get here, then code < SPACE and it is not NL CR or TAB.\n this.fail(\"disallowed character.\");\n return code;\n }\n }\n\n if (code > 0xDBFF) {\n // This is a specialized version of isChar10 that takes into account\n // that in this context code > 0xDBFF and code <= 0xFFFF. So it does not\n // test cases that don't need testing.\n if (!(code >= 0xE000 && code <= 0xFFFD)) {\n this.fail(\"disallowed character.\");\n }\n\n return code;\n }\n\n var final = 0x10000 + (code - 0xD800) * 0x400 + (chunk.charCodeAt(i + 1) - 0xDC00);\n this.i = i + 2; // This is a specialized version of isChar10 that takes into account that in\n // this context necessarily final >= 0x10000.\n\n if (final > 0x10FFFF) {\n this.fail(\"disallowed character.\");\n }\n\n return final;\n }\n /**\n * Get a single code point out of the current chunk. This updates the current\n * position if we do position tracking.\n *\n * This is the algorithm to use for XML 1.1.\n *\n * @returns {number} The character read.\n */\n\n }, {\n key: \"getCode11\",\n value: function getCode11() {\n var chunk = this.chunk,\n i = this.i;\n this.prevI = i; // Yes, we do this instead of doing this.i++. Doing it this way, we do not\n // read this.i again, which is a bit faster.\n\n this.i = i + 1;\n\n if (i >= chunk.length) {\n return EOC;\n } // Using charCodeAt and handling the surrogates ourselves is faster\n // than using codePointAt.\n\n\n var code = chunk.charCodeAt(i);\n this.column++;\n\n if (code < 0xD800) {\n if (code > 0x1F && code < 0x7F || code > 0x9F && code !== LS || code === TAB) {\n return code;\n }\n\n switch (code) {\n case NL:\n // 0xA\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL;\n\n case CR:\n {\n // 0xD\n // We may get NaN if we read past the end of the chunk, which is\n // fine.\n var next = chunk.charCodeAt(i + 1);\n\n if (next === NL || next === NEL) {\n // A CR NL or CR NEL sequence is converted to NL so we have to skip\n // over the next character. We already know it has a size of 1.\n this.i = i + 2;\n } // Otherwise, a CR is just converted to NL, no skip.\n\n }\n\n /* yes, fall through */\n\n case NEL: // 0x85\n\n case LS:\n // Ox2028\n this.line++;\n this.column = 0;\n this.positionAtNewLine = this.position;\n return NL_LIKE;\n\n default:\n this.fail(\"disallowed character.\");\n return code;\n }\n }\n\n if (code > 0xDBFF) {\n // This is a specialized version of isCharAndNotRestricted that takes into\n // account that in this context code > 0xDBFF and code <= 0xFFFF. So it\n // does not test cases that don't need testing.\n if (!(code >= 0xE000 && code <= 0xFFFD)) {\n this.fail(\"disallowed character.\");\n }\n\n return code;\n }\n\n var final = 0x10000 + (code - 0xD800) * 0x400 + (chunk.charCodeAt(i + 1) - 0xDC00);\n this.i = i + 2; // This is a specialized version of isCharAndNotRestricted that takes into\n // account that in this context necessarily final >= 0x10000.\n\n if (final > 0x10FFFF) {\n this.fail(\"disallowed character.\");\n }\n\n return final;\n }\n /**\n * Like ``getCode`` but with the return value normalized so that ``NL`` is\n * returned for ``NL_LIKE``.\n */\n\n }, {\n key: \"getCodeNorm\",\n value: function getCodeNorm() {\n var c = this.getCode();\n return c === NL_LIKE ? NL : c;\n }\n }, {\n key: \"unget\",\n value: function unget() {\n this.i = this.prevI;\n this.column--;\n }\n /**\n * Capture characters into a buffer until encountering one of a set of\n * characters.\n *\n * @param chars An array of codepoints. Encountering a character in the array\n * ends the capture. (``chars`` may safely contain ``NL``.)\n *\n * @return The character code that made the capture end, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n\n }, {\n key: \"captureTo\",\n value: function captureTo(chars) {\n var start = this.i;\n var chunk = this.chunk; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n var c = this.getCode();\n var isNLLike = c === NL_LIKE;\n var final = isNLLike ? NL : c;\n\n if (final === EOC || chars.includes(final)) {\n this.text += chunk.slice(start, this.prevI);\n return final;\n }\n\n if (isNLLike) {\n this.text += \"\".concat(chunk.slice(start, this.prevI), \"\\n\");\n start = this.i;\n }\n }\n }\n /**\n * Capture characters into a buffer until encountering a character.\n *\n * @param char The codepoint that ends the capture. **NOTE ``char`` MAY NOT\n * CONTAIN ``NL``.** Passing ``NL`` will result in buggy behavior.\n *\n * @return ``true`` if we ran into the character. Otherwise, we ran into the\n * end of the current chunk.\n */\n\n }, {\n key: \"captureToChar\",\n value: function captureToChar(char) {\n var start = this.i;\n var chunk = this.chunk; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n var c = this.getCode();\n\n switch (c) {\n case NL_LIKE:\n this.text += \"\".concat(chunk.slice(start, this.prevI), \"\\n\");\n start = this.i;\n c = NL;\n break;\n\n case EOC:\n this.text += chunk.slice(start);\n return false;\n\n default:\n }\n\n if (c === char) {\n this.text += chunk.slice(start, this.prevI);\n return true;\n }\n }\n }\n /**\n * Capture characters that satisfy ``isNameChar`` into the ``name`` field of\n * this parser.\n *\n * @return The character code that made the test fail, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n\n }, {\n key: \"captureNameChars\",\n value: function captureNameChars() {\n var chunk = this.chunk,\n start = this.i; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n var c = this.getCode();\n\n if (c === EOC) {\n this.name += chunk.slice(start);\n return EOC;\n } // NL is not a name char so we don't have to test specifically for it.\n\n\n if (!isNameChar(c)) {\n this.name += chunk.slice(start, this.prevI);\n return c === NL_LIKE ? NL : c;\n }\n }\n }\n /**\n * Skip white spaces.\n *\n * @return The character that ended the skip, or ``EOC`` if we hit\n * the end of the chunk. The return value cannot be NL_LIKE: NL is returned\n * instead.\n */\n\n }, {\n key: \"skipSpaces\",\n value: function skipSpaces() {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var c = this.getCodeNorm();\n\n if (c === EOC || !isS(c)) {\n return c;\n }\n }\n }\n }, {\n key: \"setXMLVersion\",\n value: function setXMLVersion(version) {\n this.currentXMLVersion = version;\n /* eslint-disable @typescript-eslint/unbound-method */\n\n if (version === \"1.0\") {\n this.isChar = isChar10;\n this.getCode = this.getCode10;\n } else {\n this.isChar = isChar11;\n this.getCode = this.getCode11;\n }\n /* eslint-enable @typescript-eslint/unbound-method */\n\n } // STATE ENGINE METHODS\n // This needs to be a state separate from S_BEGIN_WHITESPACE because we want\n // to be sure never to come back to this state later.\n\n }, {\n key: \"sBegin\",\n value: function sBegin() {\n // We are essentially peeking at the first character of the chunk. Since\n // S_BEGIN can be in effect only when we start working on the first chunk,\n // the index at which we must look is necessarily 0. Note also that the\n // following test does not depend on decoding surrogates.\n // If the initial character is 0xFEFF, ignore it.\n if (this.chunk.charCodeAt(0) === 0xFEFF) {\n this.i++;\n this.column++;\n }\n\n this.state = S_BEGIN_WHITESPACE;\n }\n }, {\n key: \"sBeginWhitespace\",\n value: function sBeginWhitespace() {\n // We need to know whether we've encountered spaces or not because as soon\n // as we run into a space, an XML declaration is no longer possible. Rather\n // than slow down skipSpaces even in places where we don't care whether it\n // skipped anything or not, we check whether prevI is equal to the value of\n // i from before we skip spaces.\n var iBefore = this.i;\n var c = this.skipSpaces();\n\n if (this.prevI !== iBefore) {\n this.xmlDeclPossible = false;\n }\n\n switch (c) {\n case LESS:\n this.state = S_OPEN_WAKA; // We could naively call closeText but in this state, it is not normal\n // to have text be filled with any data.\n\n if (this.text.length !== 0) {\n throw new Error(\"no-empty text at start\");\n }\n\n break;\n\n case EOC:\n break;\n\n default:\n this.unget();\n this.state = S_TEXT;\n this.xmlDeclPossible = false;\n }\n }\n }, {\n key: \"sDoctype\",\n value: function sDoctype() {\n var _a;\n\n var c = this.captureTo(DOCTYPE_TERMINATOR);\n\n switch (c) {\n case GREATER:\n {\n // eslint-disable-next-line no-unused-expressions\n (_a = this.doctypeHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n this.state = S_TEXT;\n this.doctype = true; // just remember that we saw it.\n\n break;\n }\n\n case EOC:\n break;\n\n default:\n this.text += String.fromCodePoint(c);\n\n if (c === OPEN_BRACKET) {\n this.state = S_DTD;\n } else if (isQuote(c)) {\n this.state = S_DOCTYPE_QUOTE;\n this.q = c;\n }\n\n }\n }\n }, {\n key: \"sDoctypeQuote\",\n value: function sDoctypeQuote() {\n var q = this.q;\n\n if (this.captureToChar(q)) {\n this.text += String.fromCodePoint(q);\n this.q = null;\n this.state = S_DOCTYPE;\n }\n }\n }, {\n key: \"sDTD\",\n value: function sDTD() {\n var c = this.captureTo(DTD_TERMINATOR);\n\n if (c === EOC) {\n return;\n }\n\n this.text += String.fromCodePoint(c);\n\n if (c === CLOSE_BRACKET) {\n this.state = S_DOCTYPE;\n } else if (c === LESS) {\n this.state = S_DTD_OPEN_WAKA;\n } else if (isQuote(c)) {\n this.state = S_DTD_QUOTED;\n this.q = c;\n }\n }\n }, {\n key: \"sDTDQuoted\",\n value: function sDTDQuoted() {\n var q = this.q;\n\n if (this.captureToChar(q)) {\n this.text += String.fromCodePoint(q);\n this.state = S_DTD;\n this.q = null;\n }\n }\n }, {\n key: \"sDTDOpenWaka\",\n value: function sDTDOpenWaka() {\n var c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n\n switch (c) {\n case BANG:\n this.state = S_DTD_OPEN_WAKA_BANG;\n this.openWakaBang = \"\";\n break;\n\n case QUESTION:\n this.state = S_DTD_PI;\n break;\n\n default:\n this.state = S_DTD;\n }\n }\n }, {\n key: \"sDTDOpenWakaBang\",\n value: function sDTDOpenWakaBang() {\n var char = String.fromCodePoint(this.getCodeNorm());\n var owb = this.openWakaBang += char;\n this.text += char;\n\n if (owb !== \"-\") {\n this.state = owb === \"--\" ? S_DTD_COMMENT : S_DTD;\n this.openWakaBang = \"\";\n }\n }\n }, {\n key: \"sDTDComment\",\n value: function sDTDComment() {\n if (this.captureToChar(MINUS)) {\n this.text += \"-\";\n this.state = S_DTD_COMMENT_ENDING;\n }\n }\n }, {\n key: \"sDTDCommentEnding\",\n value: function sDTDCommentEnding() {\n var c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n this.state = c === MINUS ? S_DTD_COMMENT_ENDED : S_DTD_COMMENT;\n }\n }, {\n key: \"sDTDCommentEnded\",\n value: function sDTDCommentEnded() {\n var c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n\n if (c === GREATER) {\n this.state = S_DTD;\n } else {\n this.fail(\"malformed comment.\"); // <!-- blah -- bloo --> will be recorded as\n // a comment of \" blah -- bloo \"\n\n this.state = S_DTD_COMMENT;\n }\n }\n }, {\n key: \"sDTDPI\",\n value: function sDTDPI() {\n if (this.captureToChar(QUESTION)) {\n this.text += \"?\";\n this.state = S_DTD_PI_ENDING;\n }\n }\n }, {\n key: \"sDTDPIEnding\",\n value: function sDTDPIEnding() {\n var c = this.getCodeNorm();\n this.text += String.fromCodePoint(c);\n\n if (c === GREATER) {\n this.state = S_DTD;\n }\n }\n }, {\n key: \"sText\",\n value: function sText() {\n //\n // We did try a version of saxes where the S_TEXT state was split in two\n // states: one for text inside the root element, and one for text\n // outside. This was avoiding having to test this.tags.length to decide\n // what implementation to actually use.\n //\n // Peformance testing on gigabyte-size files did not show any advantage to\n // using the two states solution instead of the current one. Conversely, it\n // made the code a bit more complicated elsewhere. For instance, a comment\n // can appear before the root element so when a comment ended it was\n // necessary to determine whether to return to the S_TEXT state or to the\n // new text-outside-root state.\n //\n if (this.tags.length !== 0) {\n this.handleTextInRoot();\n } else {\n this.handleTextOutsideRoot();\n }\n }\n }, {\n key: \"sEntity\",\n value: function sEntity() {\n // This is essentially a specialized version of captureToChar(SEMICOLON...)\n var start = this.i;\n var chunk = this.chunk; // eslint-disable-next-line no-labels, no-restricted-syntax\n\n loop: // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case NL_LIKE:\n this.entity += \"\".concat(chunk.slice(start, this.prevI), \"\\n\");\n start = this.i;\n break;\n\n case SEMICOLON:\n {\n var entityReturnState = this.entityReturnState;\n var entity = this.entity + chunk.slice(start, this.prevI);\n this.state = entityReturnState;\n var parsed = void 0;\n\n if (entity === \"\") {\n this.fail(\"empty entity name.\");\n parsed = \"&;\";\n } else {\n parsed = this.parseEntity(entity);\n this.entity = \"\";\n }\n\n if (entityReturnState !== S_TEXT || this.textHandler !== undefined) {\n this.text += parsed;\n } // eslint-disable-next-line no-labels\n\n\n break loop;\n }\n\n case EOC:\n this.entity += chunk.slice(start); // eslint-disable-next-line no-labels\n\n break loop;\n\n default:\n }\n }\n }\n }, {\n key: \"sOpenWaka\",\n value: function sOpenWaka() {\n // Reminder: a state handler is called with at least one character\n // available in the current chunk. So the first call to get code inside of\n // a state handler cannot return ``EOC``. That's why we don't test\n // for it.\n var c = this.getCode(); // either a /, ?, !, or text is coming next.\n\n if (isNameStartChar(c)) {\n this.state = S_OPEN_TAG;\n this.unget();\n this.xmlDeclPossible = false;\n } else {\n switch (c) {\n case FORWARD_SLASH:\n this.state = S_CLOSE_TAG;\n this.xmlDeclPossible = false;\n break;\n\n case BANG:\n this.state = S_OPEN_WAKA_BANG;\n this.openWakaBang = \"\";\n this.xmlDeclPossible = false;\n break;\n\n case QUESTION:\n this.state = S_PI_FIRST_CHAR;\n break;\n\n default:\n this.fail(\"disallowed character in tag name\");\n this.state = S_TEXT;\n this.xmlDeclPossible = false;\n }\n }\n }\n }, {\n key: \"sOpenWakaBang\",\n value: function sOpenWakaBang() {\n this.openWakaBang += String.fromCodePoint(this.getCodeNorm());\n\n switch (this.openWakaBang) {\n case \"[CDATA[\":\n if (!this.sawRoot && !this.reportedTextBeforeRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextBeforeRoot = true;\n }\n\n if (this.closedRoot && !this.reportedTextAfterRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextAfterRoot = true;\n }\n\n this.state = S_CDATA;\n this.openWakaBang = \"\";\n break;\n\n case \"--\":\n this.state = S_COMMENT;\n this.openWakaBang = \"\";\n break;\n\n case \"DOCTYPE\":\n this.state = S_DOCTYPE;\n\n if (this.doctype || this.sawRoot) {\n this.fail(\"inappropriately located doctype declaration.\");\n }\n\n this.openWakaBang = \"\";\n break;\n\n default:\n // 7 happens to be the maximum length of the string that can possibly\n // match one of the cases above.\n if (this.openWakaBang.length >= 7) {\n this.fail(\"incorrect syntax.\");\n }\n\n }\n }\n }, {\n key: \"sComment\",\n value: function sComment() {\n if (this.captureToChar(MINUS)) {\n this.state = S_COMMENT_ENDING;\n }\n }\n }, {\n key: \"sCommentEnding\",\n value: function sCommentEnding() {\n var _a;\n\n var c = this.getCodeNorm();\n\n if (c === MINUS) {\n this.state = S_COMMENT_ENDED; // eslint-disable-next-line no-unused-expressions\n\n (_a = this.commentHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n } else {\n this.text += \"-\".concat(String.fromCodePoint(c));\n this.state = S_COMMENT;\n }\n }\n }, {\n key: \"sCommentEnded\",\n value: function sCommentEnded() {\n var c = this.getCodeNorm();\n\n if (c !== GREATER) {\n this.fail(\"malformed comment.\"); // <!-- blah -- bloo --> will be recorded as\n // a comment of \" blah -- bloo \"\n\n this.text += \"--\".concat(String.fromCodePoint(c));\n this.state = S_COMMENT;\n } else {\n this.state = S_TEXT;\n }\n }\n }, {\n key: \"sCData\",\n value: function sCData() {\n if (this.captureToChar(CLOSE_BRACKET)) {\n this.state = S_CDATA_ENDING;\n }\n }\n }, {\n key: \"sCDataEnding\",\n value: function sCDataEnding() {\n var c = this.getCodeNorm();\n\n if (c === CLOSE_BRACKET) {\n this.state = S_CDATA_ENDING_2;\n } else {\n this.text += \"]\".concat(String.fromCodePoint(c));\n this.state = S_CDATA;\n }\n }\n }, {\n key: \"sCDataEnding2\",\n value: function sCDataEnding2() {\n var _a;\n\n var c = this.getCodeNorm();\n\n switch (c) {\n case GREATER:\n {\n // eslint-disable-next-line no-unused-expressions\n (_a = this.cdataHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.text);\n this.text = \"\";\n this.state = S_TEXT;\n break;\n }\n\n case CLOSE_BRACKET:\n this.text += \"]\";\n break;\n\n default:\n this.text += \"]]\".concat(String.fromCodePoint(c));\n this.state = S_CDATA;\n }\n } // We need this separate state to check the first character fo the pi target\n // with this.nameStartCheck which allows less characters than this.nameCheck.\n\n }, {\n key: \"sPIFirstChar\",\n value: function sPIFirstChar() {\n var c = this.getCodeNorm(); // This is first because in the case where the file is well-formed this is\n // the branch taken. We optimize for well-formedness.\n\n if (this.nameStartCheck(c)) {\n this.piTarget += String.fromCodePoint(c);\n this.state = S_PI_REST;\n } else if (c === QUESTION || isS(c)) {\n this.fail(\"processing instruction without a target.\");\n this.state = c === QUESTION ? S_PI_ENDING : S_PI_BODY;\n } else {\n this.fail(\"disallowed character in processing instruction name.\");\n this.piTarget += String.fromCodePoint(c);\n this.state = S_PI_REST;\n }\n }\n }, {\n key: \"sPIRest\",\n value: function sPIRest() {\n // Capture characters into a piTarget while ``this.nameCheck`` run on the\n // character read returns true.\n var chunk = this.chunk,\n start = this.i; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n var c = this.getCodeNorm();\n\n if (c === EOC) {\n this.piTarget += chunk.slice(start);\n return;\n } // NL cannot satisfy this.nameCheck so we don't have to test specifically\n // for it.\n\n\n if (!this.nameCheck(c)) {\n this.piTarget += chunk.slice(start, this.prevI);\n var isQuestion = c === QUESTION;\n\n if (isQuestion || isS(c)) {\n if (this.piTarget === \"xml\") {\n if (!this.xmlDeclPossible) {\n this.fail(\"an XML declaration must be at the start of the document.\");\n }\n\n this.state = isQuestion ? S_XML_DECL_ENDING : S_XML_DECL_NAME_START;\n } else {\n this.state = isQuestion ? S_PI_ENDING : S_PI_BODY;\n }\n } else {\n this.fail(\"disallowed character in processing instruction name.\");\n this.piTarget += String.fromCodePoint(c);\n }\n\n break;\n }\n }\n }\n }, {\n key: \"sPIBody\",\n value: function sPIBody() {\n if (this.text.length === 0) {\n var c = this.getCodeNorm();\n\n if (c === QUESTION) {\n this.state = S_PI_ENDING;\n } else if (!isS(c)) {\n this.text = String.fromCodePoint(c);\n }\n } // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n else if (this.captureToChar(QUESTION)) {\n this.state = S_PI_ENDING;\n }\n }\n }, {\n key: \"sPIEnding\",\n value: function sPIEnding() {\n var _a;\n\n var c = this.getCodeNorm();\n\n if (c === GREATER) {\n var piTarget = this.piTarget;\n\n if (piTarget.toLowerCase() === \"xml\") {\n this.fail(\"the XML declaration must appear at the start of the document.\");\n } // eslint-disable-next-line no-unused-expressions\n\n\n (_a = this.piHandler) === null || _a === void 0 ? void 0 : _a.call(this, {\n target: piTarget,\n body: this.text\n });\n this.piTarget = this.text = \"\";\n this.state = S_TEXT;\n } else if (c === QUESTION) {\n // We ran into ?? as part of a processing instruction. We initially took\n // the first ? as a sign that the PI was ending, but it is not. So we have\n // to add it to the body but we take the new ? as a sign that the PI is\n // ending.\n this.text += \"?\";\n } else {\n this.text += \"?\".concat(String.fromCodePoint(c));\n this.state = S_PI_BODY;\n }\n\n this.xmlDeclPossible = false;\n }\n }, {\n key: \"sXMLDeclNameStart\",\n value: function sXMLDeclNameStart() {\n var c = this.skipSpaces(); // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n\n if (c === QUESTION) {\n // It is valid to go to S_XML_DECL_ENDING from this state.\n this.state = S_XML_DECL_ENDING;\n return;\n }\n\n if (c !== EOC) {\n this.state = S_XML_DECL_NAME;\n this.name = String.fromCodePoint(c);\n }\n }\n }, {\n key: \"sXMLDeclName\",\n value: function sXMLDeclName() {\n var c = this.captureTo(XML_DECL_NAME_TERMINATOR); // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.name += this.text;\n this.text = \"\";\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n\n if (!(isS(c) || c === EQUAL)) {\n return;\n }\n\n this.name += this.text;\n this.text = \"\";\n\n if (!this.xmlDeclExpects.includes(this.name)) {\n switch (this.name.length) {\n case 0:\n this.fail(\"did not expect any more name/value pairs.\");\n break;\n\n case 1:\n this.fail(\"expected the name \".concat(this.xmlDeclExpects[0], \".\"));\n break;\n\n default:\n this.fail(\"expected one of \".concat(this.xmlDeclExpects.join(\", \")));\n }\n }\n\n this.state = c === EQUAL ? S_XML_DECL_VALUE_START : S_XML_DECL_EQ;\n }\n }, {\n key: \"sXMLDeclEq\",\n value: function sXMLDeclEq() {\n var c = this.getCodeNorm(); // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n\n if (isS(c)) {\n return;\n }\n\n if (c !== EQUAL) {\n this.fail(\"value required.\");\n }\n\n this.state = S_XML_DECL_VALUE_START;\n }\n }, {\n key: \"sXMLDeclValueStart\",\n value: function sXMLDeclValueStart() {\n var c = this.getCodeNorm(); // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n\n if (isS(c)) {\n return;\n }\n\n if (!isQuote(c)) {\n this.fail(\"value must be quoted.\");\n this.q = SPACE;\n } else {\n this.q = c;\n }\n\n this.state = S_XML_DECL_VALUE;\n }\n }, {\n key: \"sXMLDeclValue\",\n value: function sXMLDeclValue() {\n var c = this.captureTo([this.q, QUESTION]); // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n\n if (c === QUESTION) {\n this.state = S_XML_DECL_ENDING;\n this.text = \"\";\n this.fail(\"XML declaration is incomplete.\");\n return;\n }\n\n if (c === EOC) {\n return;\n }\n\n var value = this.text;\n this.text = \"\";\n\n switch (this.name) {\n case \"version\":\n {\n this.xmlDeclExpects = [\"encoding\", \"standalone\"];\n var version = value;\n this.xmlDecl.version = version; // This is the test specified by XML 1.0 but it is fine for XML 1.1.\n\n if (!/^1\\.[0-9]+$/.test(version)) {\n this.fail(\"version number must match /^1\\\\.[0-9]+$/.\");\n } // When forceXMLVersion is set, the XML declaration is ignored.\n else if (!this.opt.forceXMLVersion) {\n this.setXMLVersion(version);\n }\n\n break;\n }\n\n case \"encoding\":\n if (!/^[A-Za-z][A-Za-z0-9._-]*$/.test(value)) {\n this.fail(\"encoding value must match \\\n/^[A-Za-z0-9][A-Za-z0-9._-]*$/.\");\n }\n\n this.xmlDeclExpects = [\"standalone\"];\n this.xmlDecl.encoding = value;\n break;\n\n case \"standalone\":\n if (value !== \"yes\" && value !== \"no\") {\n this.fail(\"standalone value must match \\\"yes\\\" or \\\"no\\\".\");\n }\n\n this.xmlDeclExpects = [];\n this.xmlDecl.standalone = value;\n break;\n\n default: // We don't need to raise an error here since we've already raised one\n // when checking what name was expected.\n\n }\n\n this.name = \"\";\n this.state = S_XML_DECL_SEPARATOR;\n }\n }, {\n key: \"sXMLDeclSeparator\",\n value: function sXMLDeclSeparator() {\n var c = this.getCodeNorm(); // The question mark character is not valid inside any of the XML\n // declaration name/value pairs.\n\n if (c === QUESTION) {\n // It is valid to go to S_XML_DECL_ENDING from this state.\n this.state = S_XML_DECL_ENDING;\n return;\n }\n\n if (!isS(c)) {\n this.fail(\"whitespace required.\");\n this.unget();\n }\n\n this.state = S_XML_DECL_NAME_START;\n }\n }, {\n key: \"sXMLDeclEnding\",\n value: function sXMLDeclEnding() {\n var _a;\n\n var c = this.getCodeNorm();\n\n if (c === GREATER) {\n if (this.piTarget !== \"xml\") {\n this.fail(\"processing instructions are not allowed before root.\");\n } else if (this.name !== \"version\" && this.xmlDeclExpects.includes(\"version\")) {\n this.fail(\"XML declaration must contain a version.\");\n } // eslint-disable-next-line no-unused-expressions\n\n\n (_a = this.xmldeclHandler) === null || _a === void 0 ? void 0 : _a.call(this, this.xmlDecl);\n this.name = \"\";\n this.piTarget = this.text = \"\";\n this.state = S_TEXT;\n } else {\n // We got here because the previous character was a ?, but the question\n // mark character is not valid inside any of the XML declaration\n // name/value pairs.\n this.fail(\"The character ? is disallowed anywhere in XML declarations.\");\n }\n\n this.xmlDeclPossible = false;\n }\n }, {\n key: \"sOpenTag\",\n value: function sOpenTag() {\n var _a;\n\n var c = this.captureNameChars();\n\n if (c === EOC) {\n return;\n }\n\n var tag = this.tag = {\n name: this.name,\n attributes: Object.create(null)\n };\n this.name = \"\";\n\n if (this.xmlnsOpt) {\n this.topNS = tag.ns = Object.create(null);\n } // eslint-disable-next-line no-unused-expressions\n\n\n (_a = this.openTagStartHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n this.sawRoot = true;\n\n if (!this.fragmentOpt && this.closedRoot) {\n this.fail(\"documents may contain only one root.\");\n }\n\n switch (c) {\n case GREATER:\n this.openTag();\n break;\n\n case FORWARD_SLASH:\n this.state = S_OPEN_TAG_SLASH;\n break;\n\n default:\n if (!isS(c)) {\n this.fail(\"disallowed character in tag name.\");\n }\n\n this.state = S_ATTRIB;\n }\n }\n }, {\n key: \"sOpenTagSlash\",\n value: function sOpenTagSlash() {\n if (this.getCode() === GREATER) {\n this.openSelfClosingTag();\n } else {\n this.fail(\"forward-slash in opening tag not followed by >.\");\n this.state = S_ATTRIB;\n }\n }\n }, {\n key: \"sAttrib\",\n value: function sAttrib() {\n var c = this.skipSpaces();\n\n if (c === EOC) {\n return;\n }\n\n if (isNameStartChar(c)) {\n this.unget();\n this.state = S_ATTRIB_NAME;\n } else if (c === GREATER) {\n this.openTag();\n } else if (c === FORWARD_SLASH) {\n this.state = S_OPEN_TAG_SLASH;\n } else {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n }, {\n key: \"sAttribName\",\n value: function sAttribName() {\n var c = this.captureNameChars();\n\n if (c === EQUAL) {\n this.state = S_ATTRIB_VALUE;\n } else if (isS(c)) {\n this.state = S_ATTRIB_NAME_SAW_WHITE;\n } else if (c === GREATER) {\n this.fail(\"attribute without value.\");\n this.pushAttrib(this.name, this.name);\n this.name = this.text = \"\";\n this.openTag();\n } else if (c !== EOC) {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n }, {\n key: \"sAttribNameSawWhite\",\n value: function sAttribNameSawWhite() {\n var c = this.skipSpaces();\n\n switch (c) {\n case EOC:\n return;\n\n case EQUAL:\n this.state = S_ATTRIB_VALUE;\n break;\n\n default:\n this.fail(\"attribute without value.\"); // Should we do this???\n // this.tag.attributes[this.name] = \"\";\n\n this.text = \"\";\n this.name = \"\";\n\n if (c === GREATER) {\n this.openTag();\n } else if (isNameStartChar(c)) {\n this.unget();\n this.state = S_ATTRIB_NAME;\n } else {\n this.fail(\"disallowed character in attribute name.\");\n this.state = S_ATTRIB;\n }\n\n }\n }\n }, {\n key: \"sAttribValue\",\n value: function sAttribValue() {\n var c = this.getCodeNorm();\n\n if (isQuote(c)) {\n this.q = c;\n this.state = S_ATTRIB_VALUE_QUOTED;\n } else if (!isS(c)) {\n this.fail(\"unquoted attribute value.\");\n this.state = S_ATTRIB_VALUE_UNQUOTED;\n this.unget();\n }\n }\n }, {\n key: \"sAttribValueQuoted\",\n value: function sAttribValueQuoted() {\n // We deliberately do not use captureTo here. The specialized code we use\n // here is faster than using captureTo.\n var q = this.q,\n chunk = this.chunk;\n var start = this.i; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n switch (this.getCode()) {\n case q:\n this.pushAttrib(this.name, this.text + chunk.slice(start, this.prevI));\n this.name = this.text = \"\";\n this.q = null;\n this.state = S_ATTRIB_VALUE_CLOSED;\n return;\n\n case AMP:\n this.text += chunk.slice(start, this.prevI);\n this.state = S_ENTITY;\n this.entityReturnState = S_ATTRIB_VALUE_QUOTED;\n return;\n\n case NL:\n case NL_LIKE:\n case TAB:\n this.text += \"\".concat(chunk.slice(start, this.prevI), \" \");\n start = this.i;\n break;\n\n case LESS:\n this.text += chunk.slice(start, this.prevI);\n this.fail(\"disallowed character.\");\n return;\n\n case EOC:\n this.text += chunk.slice(start);\n return;\n\n default:\n }\n }\n }\n }, {\n key: \"sAttribValueClosed\",\n value: function sAttribValueClosed() {\n var c = this.getCodeNorm();\n\n if (isS(c)) {\n this.state = S_ATTRIB;\n } else if (c === GREATER) {\n this.openTag();\n } else if (c === FORWARD_SLASH) {\n this.state = S_OPEN_TAG_SLASH;\n } else if (isNameStartChar(c)) {\n this.fail(\"no whitespace between attributes.\");\n this.unget();\n this.state = S_ATTRIB_NAME;\n } else {\n this.fail(\"disallowed character in attribute name.\");\n }\n }\n }, {\n key: \"sAttribValueUnquoted\",\n value: function sAttribValueUnquoted() {\n // We don't do anything regarding EOL or space handling for unquoted\n // attributes. We already have failed by the time we get here, and the\n // contract that saxes upholds states that upon failure, it is not safe to\n // rely on the data passed to event handlers (other than\n // ``onerror``). Passing \"bad\" data is not a problem.\n var c = this.captureTo(ATTRIB_VALUE_UNQUOTED_TERMINATOR);\n\n switch (c) {\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_ATTRIB_VALUE_UNQUOTED;\n break;\n\n case LESS:\n this.fail(\"disallowed character.\");\n break;\n\n case EOC:\n break;\n\n default:\n if (this.text.includes(\"]]>\")) {\n this.fail(\"the string \\\"]]>\\\" is disallowed in char data.\");\n }\n\n this.pushAttrib(this.name, this.text);\n this.name = this.text = \"\";\n\n if (c === GREATER) {\n this.openTag();\n } else {\n this.state = S_ATTRIB;\n }\n\n }\n }\n }, {\n key: \"sCloseTag\",\n value: function sCloseTag() {\n var c = this.captureNameChars();\n\n if (c === GREATER) {\n this.closeTag();\n } else if (isS(c)) {\n this.state = S_CLOSE_TAG_SAW_WHITE;\n } else if (c !== EOC) {\n this.fail(\"disallowed character in closing tag.\");\n }\n }\n }, {\n key: \"sCloseTagSawWhite\",\n value: function sCloseTagSawWhite() {\n switch (this.skipSpaces()) {\n case GREATER:\n this.closeTag();\n break;\n\n case EOC:\n break;\n\n default:\n this.fail(\"disallowed character in closing tag.\");\n }\n } // END OF STATE ENGINE METHODS\n\n }, {\n key: \"handleTextInRoot\",\n value: function handleTextInRoot() {\n // This is essentially a specialized version of captureTo which is optimized\n // for performing the ]]> check. A previous version of this code, checked\n // ``this.text`` for the presence of ]]>. It simplified the code but was\n // very costly when character data contained a lot of entities to be parsed.\n //\n // Since we are using a specialized loop, we also keep track of the presence\n // of ]]> in text data. The sequence ]]> is forbidden to appear as-is.\n //\n var start = this.i,\n forbiddenState = this.forbiddenState;\n var chunk = this.chunk,\n handler = this.textHandler; // eslint-disable-next-line no-labels, no-restricted-syntax\n\n scanLoop: // eslint-disable-next-line no-constant-condition\n while (true) {\n switch (this.getCode()) {\n case LESS:\n {\n this.state = S_OPEN_WAKA;\n\n if (handler !== undefined) {\n var text = this.text;\n var slice = chunk.slice(start, this.prevI);\n\n if (text.length !== 0) {\n handler(text + slice);\n this.text = \"\";\n } else if (slice.length !== 0) {\n handler(slice);\n }\n }\n\n forbiddenState = FORBIDDEN_START; // eslint-disable-next-line no-labels\n\n break scanLoop;\n }\n\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_TEXT;\n\n if (handler !== undefined) {\n this.text += chunk.slice(start, this.prevI);\n }\n\n forbiddenState = FORBIDDEN_START; // eslint-disable-next-line no-labels\n\n break scanLoop;\n\n case CLOSE_BRACKET:\n switch (forbiddenState) {\n case FORBIDDEN_START:\n forbiddenState = FORBIDDEN_BRACKET;\n break;\n\n case FORBIDDEN_BRACKET:\n forbiddenState = FORBIDDEN_BRACKET_BRACKET;\n break;\n\n case FORBIDDEN_BRACKET_BRACKET:\n break;\n\n default:\n throw new Error(\"impossible state\");\n }\n\n break;\n\n case GREATER:\n if (forbiddenState === FORBIDDEN_BRACKET_BRACKET) {\n this.fail(\"the string \\\"]]>\\\" is disallowed in char data.\");\n }\n\n forbiddenState = FORBIDDEN_START;\n break;\n\n case NL_LIKE:\n if (handler !== undefined) {\n this.text += \"\".concat(chunk.slice(start, this.prevI), \"\\n\");\n }\n\n start = this.i;\n forbiddenState = FORBIDDEN_START;\n break;\n\n case EOC:\n if (handler !== undefined) {\n this.text += chunk.slice(start);\n } // eslint-disable-next-line no-labels\n\n\n break scanLoop;\n\n default:\n forbiddenState = FORBIDDEN_START;\n }\n }\n\n this.forbiddenState = forbiddenState;\n }\n }, {\n key: \"handleTextOutsideRoot\",\n value: function handleTextOutsideRoot() {\n // This is essentially a specialized version of captureTo which is optimized\n // for a specialized task. We keep track of the presence of non-space\n // characters in the text since these are errors when appearing outside the\n // document root element.\n var start = this.i;\n var chunk = this.chunk,\n handler = this.textHandler;\n var nonSpace = false; // eslint-disable-next-line no-labels, no-restricted-syntax\n\n outRootLoop: // eslint-disable-next-line no-constant-condition\n while (true) {\n var code = this.getCode();\n\n switch (code) {\n case LESS:\n {\n this.state = S_OPEN_WAKA;\n\n if (handler !== undefined) {\n var text = this.text;\n var slice = chunk.slice(start, this.prevI);\n\n if (text.length !== 0) {\n handler(text + slice);\n this.text = \"\";\n } else if (slice.length !== 0) {\n handler(slice);\n }\n } // eslint-disable-next-line no-labels\n\n\n break outRootLoop;\n }\n\n case AMP:\n this.state = S_ENTITY;\n this.entityReturnState = S_TEXT;\n\n if (handler !== undefined) {\n this.text += chunk.slice(start, this.prevI);\n }\n\n nonSpace = true; // eslint-disable-next-line no-labels\n\n break outRootLoop;\n\n case NL_LIKE:\n if (handler !== undefined) {\n this.text += \"\".concat(chunk.slice(start, this.prevI), \"\\n\");\n }\n\n start = this.i;\n break;\n\n case EOC:\n if (handler !== undefined) {\n this.text += chunk.slice(start);\n } // eslint-disable-next-line no-labels\n\n\n break outRootLoop;\n\n default:\n if (!isS(code)) {\n nonSpace = true;\n }\n\n }\n }\n\n if (!nonSpace) {\n return;\n } // We use the reportedTextBeforeRoot and reportedTextAfterRoot flags\n // to avoid reporting errors for every single character that is out of\n // place.\n\n\n if (!this.sawRoot && !this.reportedTextBeforeRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextBeforeRoot = true;\n }\n\n if (this.closedRoot && !this.reportedTextAfterRoot) {\n this.fail(\"text data outside of root node.\");\n this.reportedTextAfterRoot = true;\n }\n }\n }, {\n key: \"pushAttribNS\",\n value: function pushAttribNS(name, value) {\n var _a;\n\n var _this$qname = this.qname(name),\n prefix = _this$qname.prefix,\n local = _this$qname.local;\n\n var attr = {\n name: name,\n prefix: prefix,\n local: local,\n value: value\n };\n this.attribList.push(attr); // eslint-disable-next-line no-unused-expressions\n\n (_a = this.attributeHandler) === null || _a === void 0 ? void 0 : _a.call(this, attr);\n\n if (prefix === \"xmlns\") {\n var trimmed = value.trim();\n\n if (this.currentXMLVersion === \"1.0\" && trimmed === \"\") {\n this.fail(\"invalid attempt to undefine prefix in XML 1.0\");\n }\n\n this.topNS[local] = trimmed;\n nsPairCheck(this, local, trimmed);\n } else if (name === \"xmlns\") {\n var _trimmed = value.trim();\n\n this.topNS[\"\"] = _trimmed;\n nsPairCheck(this, \"\", _trimmed);\n }\n }\n }, {\n key: \"pushAttribPlain\",\n value: function pushAttribPlain(name, value) {\n var _a;\n\n var attr = {\n name: name,\n value: value\n };\n this.attribList.push(attr); // eslint-disable-next-line no-unused-expressions\n\n (_a = this.attributeHandler) === null || _a === void 0 ? void 0 : _a.call(this, attr);\n }\n /**\n * End parsing. This performs final well-formedness checks and resets the\n * parser to a clean state.\n *\n * @returns this\n */\n\n }, {\n key: \"end\",\n value: function end() {\n var _a, _b;\n\n if (!this.sawRoot) {\n this.fail(\"document must contain a root element.\");\n }\n\n var tags = this.tags;\n\n while (tags.length > 0) {\n var tag = tags.pop();\n this.fail(\"unclosed tag: \".concat(tag.name));\n }\n\n if (this.state !== S_BEGIN && this.state !== S_TEXT) {\n this.fail(\"unexpected end.\");\n }\n\n var text = this.text;\n\n if (text.length !== 0) {\n // eslint-disable-next-line no-unused-expressions\n (_a = this.textHandler) === null || _a === void 0 ? void 0 : _a.call(this, text);\n this.text = \"\";\n }\n\n this._closed = true; // eslint-disable-next-line no-unused-expressions\n\n (_b = this.endHandler) === null || _b === void 0 ? void 0 : _b.call(this);\n\n this._init();\n\n return this;\n }\n /**\n * Resolve a namespace prefix.\n *\n * @param prefix The prefix to resolve.\n *\n * @returns The namespace URI or ``undefined`` if the prefix is not defined.\n */\n\n }, {\n key: \"resolve\",\n value: function resolve(prefix) {\n var _a, _b;\n\n var uri = this.topNS[prefix];\n\n if (uri !== undefined) {\n return uri;\n }\n\n var tags = this.tags;\n\n for (var index = tags.length - 1; index >= 0; index--) {\n uri = tags[index].ns[prefix];\n\n if (uri !== undefined) {\n return uri;\n }\n }\n\n uri = this.ns[prefix];\n\n if (uri !== undefined) {\n return uri;\n }\n\n return (_b = (_a = this.opt).resolvePrefix) === null || _b === void 0 ? void 0 : _b.call(_a, prefix);\n }\n /**\n * Parse a qname into its prefix and local name parts.\n *\n * @param name The name to parse\n *\n * @returns\n */\n\n }, {\n key: \"qname\",\n value: function qname(name) {\n // This is faster than using name.split(\":\").\n var colon = name.indexOf(\":\");\n\n if (colon === -1) {\n return {\n prefix: \"\",\n local: name\n };\n }\n\n var local = name.slice(colon + 1);\n var prefix = name.slice(0, colon);\n\n if (prefix === \"\" || local === \"\" || local.includes(\":\")) {\n this.fail(\"malformed name: \".concat(name, \".\"));\n }\n\n return {\n prefix: prefix,\n local: local\n };\n }\n }, {\n key: \"processAttribsNS\",\n value: function processAttribsNS() {\n var _a;\n\n var attribList = this.attribList;\n var tag = this.tag;\n {\n // add namespace info to tag\n var _this$qname2 = this.qname(tag.name),\n prefix = _this$qname2.prefix,\n local = _this$qname2.local;\n\n tag.prefix = prefix;\n tag.local = local;\n var uri = tag.uri = (_a = this.resolve(prefix)) !== null && _a !== void 0 ? _a : \"\";\n\n if (prefix !== \"\") {\n if (prefix === \"xmlns\") {\n this.fail(\"tags may not have \\\"xmlns\\\" as prefix.\");\n }\n\n if (uri === \"\") {\n this.fail(\"unbound namespace prefix: \".concat(JSON.stringify(prefix), \".\"));\n tag.uri = prefix;\n }\n }\n }\n\n if (attribList.length === 0) {\n return;\n }\n\n var attributes = tag.attributes;\n var seen = new Set(); // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n\n var _iterator = _createForOfIteratorHelper(attribList),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var attr = _step.value;\n var name = attr.name,\n _prefix = attr.prefix,\n _local = attr.local;\n\n var _uri = void 0;\n\n var eqname = void 0;\n\n if (_prefix === \"\") {\n _uri = name === \"xmlns\" ? XMLNS_NAMESPACE : \"\";\n eqname = name;\n } else {\n _uri = this.resolve(_prefix); // if there's any attributes with an undefined namespace,\n // then fail on them now.\n\n if (_uri === undefined) {\n this.fail(\"unbound namespace prefix: \".concat(JSON.stringify(_prefix), \".\"));\n _uri = _prefix;\n }\n\n eqname = \"{\".concat(_uri, \"}\").concat(_local);\n }\n\n if (seen.has(eqname)) {\n this.fail(\"duplicate attribute: \".concat(eqname, \".\"));\n }\n\n seen.add(eqname);\n attr.uri = _uri;\n attributes[name] = attr;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n this.attribList = [];\n }\n }, {\n key: \"processAttribsPlain\",\n value: function processAttribsPlain() {\n var attribList = this.attribList; // eslint-disable-next-line prefer-destructuring\n\n var attributes = this.tag.attributes;\n\n var _iterator2 = _createForOfIteratorHelper(attribList),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _step2.value,\n name = _step2$value.name,\n value = _step2$value.value;\n\n if (attributes[name] !== undefined) {\n this.fail(\"duplicate attribute: \".concat(name, \".\"));\n }\n\n attributes[name] = value;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n this.attribList = [];\n }\n /**\n * Handle a complete open tag. This parser code calls this once it has seen\n * the whole tag. This method checks for well-formeness and then emits\n * ``onopentag``.\n */\n\n }, {\n key: \"openTag\",\n value: function openTag() {\n var _a;\n\n this.processAttribs();\n var tags = this.tags;\n var tag = this.tag;\n tag.isSelfClosing = false; // There cannot be any pending text here due to the onopentagstart that was\n // necessarily emitted before we get here. So we do not check text.\n // eslint-disable-next-line no-unused-expressions\n\n (_a = this.openTagHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag);\n tags.push(tag);\n this.state = S_TEXT;\n this.name = \"\";\n }\n /**\n * Handle a complete self-closing tag. This parser code calls this once it has\n * seen the whole tag. This method checks for well-formeness and then emits\n * ``onopentag`` and ``onclosetag``.\n */\n\n }, {\n key: \"openSelfClosingTag\",\n value: function openSelfClosingTag() {\n var _a, _b, _c;\n\n this.processAttribs();\n var tags = this.tags;\n var tag = this.tag;\n tag.isSelfClosing = true; // There cannot be any pending text here due to the onopentagstart that was\n // necessarily emitted before we get here. So we do not check text.\n // eslint-disable-next-line no-unused-expressions\n\n (_a = this.openTagHandler) === null || _a === void 0 ? void 0 : _a.call(this, tag); // eslint-disable-next-line no-unused-expressions\n\n (_b = this.closeTagHandler) === null || _b === void 0 ? void 0 : _b.call(this, tag);\n var top = this.tag = (_c = tags[tags.length - 1]) !== null && _c !== void 0 ? _c : null;\n\n if (top === null) {\n this.closedRoot = true;\n }\n\n this.state = S_TEXT;\n this.name = \"\";\n }\n /**\n * Handle a complete close tag. This parser code calls this once it has seen\n * the whole tag. This method checks for well-formeness and then emits\n * ``onclosetag``.\n */\n\n }, {\n key: \"closeTag\",\n value: function closeTag() {\n var tags = this.tags,\n name = this.name; // Our state after this will be S_TEXT, no matter what, and we can clear\n // tagName now.\n\n this.state = S_TEXT;\n this.name = \"\";\n\n if (name === \"\") {\n this.fail(\"weird empty close tag.\");\n this.text += \"</>\";\n return;\n }\n\n var handler = this.closeTagHandler;\n var l = tags.length;\n\n while (l-- > 0) {\n var tag = this.tag = tags.pop();\n this.topNS = tag.ns; // eslint-disable-next-line no-unused-expressions\n\n handler === null || handler === void 0 ? void 0 : handler(tag);\n\n if (tag.name === name) {\n break;\n }\n\n this.fail(\"unexpected close tag.\");\n }\n\n if (l === 0) {\n this.closedRoot = true;\n } else if (l < 0) {\n this.fail(\"unmatched closing tag: \".concat(name, \".\"));\n this.text += \"</\".concat(name, \">\");\n }\n }\n /**\n * Resolves an entity. Makes any necessary well-formedness checks.\n *\n * @param entity The entity to resolve.\n *\n * @returns The parsed entity.\n */\n\n }, {\n key: \"parseEntity\",\n value: function parseEntity(entity) {\n // startsWith would be significantly slower for this test.\n // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with\n if (entity[0] !== \"#\") {\n var defined = this.ENTITIES[entity];\n\n if (defined !== undefined) {\n return defined;\n }\n\n this.fail(this.isName(entity) ? \"undefined entity.\" : \"disallowed character in entity name.\");\n return \"&\".concat(entity, \";\");\n }\n\n var num = NaN;\n\n if (entity[1] === \"x\" && /^#x[0-9a-f]+$/i.test(entity)) {\n num = parseInt(entity.slice(2), 16);\n } else if (/^#[0-9]+$/.test(entity)) {\n num = parseInt(entity.slice(1), 10);\n } // The character reference is required to match the CHAR production.\n\n\n if (!this.isChar(num)) {\n this.fail(\"malformed character entity.\");\n return \"&\".concat(entity, \";\");\n }\n\n return String.fromCodePoint(num);\n }\n }, {\n key: \"closed\",\n get: function get() {\n return this._closed;\n }\n }, {\n key: \"position\",\n get: function get() {\n return this.chunkPosition + this.i;\n }\n /**\n * The column number of the next character to be read by the parser. *\n * This field is zero-based. (The first column in a line is 0.)\n *\n * This field reports the index at which the next character would be in the\n * line if the line were represented as a JavaScript string. Note that this\n * *can* be different to a count based on the number of *Unicode characters*\n * due to how JavaScript handles astral plane characters.\n *\n * See [[column]] for a number that corresponds to a count of Unicode\n * characters.\n */\n\n }, {\n key: \"columnIndex\",\n get: function get() {\n return this.position - this.positionAtNewLine;\n }\n }]);\n\n return SaxesParser;\n}();\n\nexports.SaxesParser = SaxesParser;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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","'use strict';\nmodule.exports = typeof setImmediate === 'function' ? setImmediate :\n\tfunction setImmediate() {\n\t\tvar args = [].slice.apply(arguments);\n\t\targs.splice(1, 0, 0);\n\t\tsetTimeout.apply(null, args);\n\t};\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","module.exports = require('./lib/_stream_duplex.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = require('isarray');\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/*</replacement>*/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /*<replacement>*/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /*</replacement>*/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","'use strict';\n\n/*<replacement>*/\n\nvar pna = require('process-nextick-args');\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","module.exports = require('./readable').PassThrough\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n","module.exports = require('./readable').Transform\n","module.exports = require('./lib/_stream_writable.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","var nextTick = require('process/browser.js').nextTick;\nvar apply = Function.prototype.apply;\nvar slice = Array.prototype.slice;\nvar immediateIds = {};\nvar nextImmediateId = 0;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) { timeout.close(); };\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// That's not how node.js implements it but the exposed api is the same.\nexports.setImmediate = typeof setImmediate === \"function\" ? setImmediate : function(fn) {\n var id = nextImmediateId++;\n var args = arguments.length < 2 ? false : slice.call(arguments, 1);\n\n immediateIds[id] = true;\n\n nextTick(function onNextTick() {\n if (immediateIds[id]) {\n // fn.call() is faster so we optimize for the common use-case\n // @see http://jsperf.com/call-apply-segu\n if (args) {\n fn.apply(null, args);\n } else {\n fn.call(null);\n }\n // Prevent ids from leaking\n exports.clearImmediate(id);\n }\n });\n\n return id;\n};\n\nexports.clearImmediate = typeof clearImmediate === \"function\" ? clearImmediate : function(id) {\n delete immediateIds[id];\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n// find the complete implementation of crypto (msCrypto) on IE11.\nconst getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n\n return getRandomValues(rnds8);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;","\"use strict\";\n/**\n * Character classes and associated utilities for the 5th edition of XML 1.0.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); //\n// Fragments.\n//\n\nexports.CHAR = \"\\t\\n\\r -\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\";\nexports.S = \" \\t\\r\\n\"; // tslint:disable-next-line:max-line-length\n\nexports.NAME_START_CHAR = \":A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\uD800\\uDC00-\\uDB7F\\uDFFF\";\nexports.NAME_CHAR = \"-\" + exports.NAME_START_CHAR + \".0-9\\xB7\\u0300-\\u036F\\u203F-\\u2040\"; //\n// Regular expressions.\n//\n\nexports.CHAR_RE = new RegExp(\"^[\" + exports.CHAR + \"]$\", \"u\");\nexports.S_RE = new RegExp(\"^[\" + exports.S + \"]+$\", \"u\");\nexports.NAME_START_CHAR_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"]$\", \"u\");\nexports.NAME_CHAR_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]$\", \"u\");\nexports.NAME_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"][\" + exports.NAME_CHAR + \"]*$\", \"u\");\nexports.NMTOKEN_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]+$\", \"u\");\nvar TAB = 9;\nvar NL = 0xA;\nvar CR = 0xD;\nvar SPACE = 0x20; //\n// Lists.\n//\n\n/** All characters in the ``S`` production. */\n\nexports.S_LIST = [SPACE, NL, CR, TAB];\n/**\n * Determines whether a codepoint matches the ``CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``CHAR``.\n */\n\nfunction isChar(c) {\n return c >= SPACE && c <= 0xD7FF || c === NL || c === CR || c === TAB || c >= 0xE000 && c <= 0xFFFD || c >= 0x10000 && c <= 0x10FFFF;\n}\n\nexports.isChar = isChar;\n/**\n * Determines whether a codepoint matches the ``S`` (space) production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``S``.\n */\n\nfunction isS(c) {\n return c === SPACE || c === NL || c === CR || c === TAB;\n}\n\nexports.isS = isS;\n/**\n * Determines whether a codepoint matches the ``NAME_START_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_START_CHAR``.\n */\n\nfunction isNameStartChar(c) {\n return c >= 0x41 && c <= 0x5A || c >= 0x61 && c <= 0x7A || c === 0x3A || c === 0x5F || c === 0x200C || c === 0x200D || c >= 0xC0 && c <= 0xD6 || c >= 0xD8 && c <= 0xF6 || c >= 0x00F8 && c <= 0x02FF || c >= 0x0370 && c <= 0x037D || c >= 0x037F && c <= 0x1FFF || c >= 0x2070 && c <= 0x218F || c >= 0x2C00 && c <= 0x2FEF || c >= 0x3001 && c <= 0xD7FF || c >= 0xF900 && c <= 0xFDCF || c >= 0xFDF0 && c <= 0xFFFD || c >= 0x10000 && c <= 0xEFFFF;\n}\n\nexports.isNameStartChar = isNameStartChar;\n/**\n * Determines whether a codepoint matches the ``NAME_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_CHAR``.\n */\n\nfunction isNameChar(c) {\n return isNameStartChar(c) || c >= 0x30 && c <= 0x39 || c === 0x2D || c === 0x2E || c === 0xB7 || c >= 0x0300 && c <= 0x036F || c >= 0x203F && c <= 0x2040;\n}\n\nexports.isNameChar = isNameChar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy94bWwvMS4wL2VkNS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7SUFRQTtBQUNBO0FBQ0E7O0FBQ2EsT0FBQSxDQUFBLElBQUEsR0FBTyxzREFBUDtBQUVBLE9BQUEsQ0FBQSxDQUFBLEdBQUksU0FBSixDLENBRWI7O0FBQ2EsT0FBQSxDQUFBLGVBQUEsR0FBa0IsdUtBQWxCO0FBRUEsT0FBQSxDQUFBLFNBQUEsR0FDWCxNQUFJLE9BQUEsQ0FBQSxlQUFKLEdBQW1CLG9DQURSLEMsQ0FHYjtBQUNBO0FBQ0E7O0FBRWEsT0FBQSxDQUFBLE9BQUEsR0FBVSxJQUFJLE1BQUosQ0FBVyxPQUFLLE9BQUEsQ0FBQSxJQUFMLEdBQVMsSUFBcEIsRUFBMEIsR0FBMUIsQ0FBVjtBQUVBLE9BQUEsQ0FBQSxJQUFBLEdBQU8sSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsQ0FBTCxHQUFNLEtBQWpCLEVBQXdCLEdBQXhCLENBQVA7QUFFQSxPQUFBLENBQUEsa0JBQUEsR0FBcUIsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsZUFBTCxHQUFvQixJQUEvQixFQUFxQyxHQUFyQyxDQUFyQjtBQUVBLE9BQUEsQ0FBQSxZQUFBLEdBQWUsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsU0FBTCxHQUFjLElBQXpCLEVBQStCLEdBQS9CLENBQWY7QUFFQSxPQUFBLENBQUEsT0FBQSxHQUFVLElBQUksTUFBSixDQUFXLE9BQUssT0FBQSxDQUFBLGVBQUwsR0FBb0IsSUFBcEIsR0FBeUIsT0FBQSxDQUFBLFNBQXpCLEdBQWtDLEtBQTdDLEVBQW9ELEdBQXBELENBQVY7QUFFQSxPQUFBLENBQUEsVUFBQSxHQUFhLElBQUksTUFBSixDQUFXLE9BQUssT0FBQSxDQUFBLFNBQUwsR0FBYyxLQUF6QixFQUFnQyxHQUFoQyxDQUFiO0FBRWIsSUFBTSxHQUFHLEdBQUcsQ0FBWjtBQUNBLElBQU0sRUFBRSxHQUFH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","\"use strict\";\n/**\n * Character classes and associated utilities for the 2nd edition of XML 1.1.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); //\n// Fragments.\n//\n\nexports.CHAR = \"\\x01-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\";\nexports.RESTRICTED_CHAR = \"\\x01-\\b\\x0B\\f\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\";\nexports.S = \" \\t\\r\\n\"; // tslint:disable-next-line:max-line-length\n\nexports.NAME_START_CHAR = \":A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\uD800\\uDC00-\\uDB7F\\uDFFF\";\nexports.NAME_CHAR = \"-\" + exports.NAME_START_CHAR + \".0-9\\xB7\\u0300-\\u036F\\u203F-\\u2040\"; //\n// Regular expressions.\n//\n\nexports.CHAR_RE = new RegExp(\"^[\" + exports.CHAR + \"]$\", \"u\");\nexports.RESTRICTED_CHAR_RE = new RegExp(\"^[\" + exports.RESTRICTED_CHAR + \"]$\", \"u\");\nexports.S_RE = new RegExp(\"^[\" + exports.S + \"]+$\", \"u\");\nexports.NAME_START_CHAR_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"]$\", \"u\");\nexports.NAME_CHAR_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]$\", \"u\");\nexports.NAME_RE = new RegExp(\"^[\" + exports.NAME_START_CHAR + \"][\" + exports.NAME_CHAR + \"]*$\", \"u\");\nexports.NMTOKEN_RE = new RegExp(\"^[\" + exports.NAME_CHAR + \"]+$\", \"u\");\nvar TAB = 9;\nvar NL = 0xA;\nvar CR = 0xD;\nvar SPACE = 0x20; //\n// Lists.\n//\n\n/** All characters in the ``S`` production. */\n\nexports.S_LIST = [SPACE, NL, CR, TAB];\n/**\n * Determines whether a codepoint matches the ``CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``CHAR``.\n */\n\nfunction isChar(c) {\n return c >= 0x0001 && c <= 0xD7FF || c >= 0xE000 && c <= 0xFFFD || c >= 0x10000 && c <= 0x10FFFF;\n}\n\nexports.isChar = isChar;\n/**\n * Determines whether a codepoint matches the ``RESTRICTED_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``RESTRICTED_CHAR``.\n */\n\nfunction isRestrictedChar(c) {\n return c >= 0x1 && c <= 0x8 || c === 0xB || c === 0xC || c >= 0xE && c <= 0x1F || c >= 0x7F && c <= 0x84 || c >= 0x86 && c <= 0x9F;\n}\n\nexports.isRestrictedChar = isRestrictedChar;\n/**\n * Determines whether a codepoint matches the ``CHAR`` production and does not\n * match the ``RESTRICTED_CHAR`` production. ``isCharAndNotRestricted(x)`` is\n * equivalent to ``isChar(x) && !isRestrictedChar(x)``. This function is faster\n * than running the two-call equivalent.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``CHAR`` and does not match\n * ``RESTRICTED_CHAR``.\n */\n\nfunction isCharAndNotRestricted(c) {\n return c === 0x9 || c === 0xA || c === 0xD || c > 0x1F && c < 0x7F || c === 0x85 || c > 0x9F && c <= 0xD7FF || c >= 0xE000 && c <= 0xFFFD || c >= 0x10000 && c <= 0x10FFFF;\n}\n\nexports.isCharAndNotRestricted = isCharAndNotRestricted;\n/**\n * Determines whether a codepoint matches the ``S`` (space) production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``S``.\n */\n\nfunction isS(c) {\n return c === SPACE || c === NL || c === CR || c === TAB;\n}\n\nexports.isS = isS;\n/**\n * Determines whether a codepoint matches the ``NAME_START_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_START_CHAR``.\n */\n// tslint:disable-next-line:cyclomatic-complexity\n\nfunction isNameStartChar(c) {\n return c >= 0x41 && c <= 0x5A || c >= 0x61 && c <= 0x7A || c === 0x3A || c === 0x5F || c === 0x200C || c === 0x200D || c >= 0xC0 && c <= 0xD6 || c >= 0xD8 && c <= 0xF6 || c >= 0x00F8 && c <= 0x02FF || c >= 0x0370 && c <= 0x037D || c >= 0x037F && c <= 0x1FFF || c >= 0x2070 && c <= 0x218F || c >= 0x2C00 && c <= 0x2FEF || c >= 0x3001 && c <= 0xD7FF || c >= 0xF900 && c <= 0xFDCF || c >= 0xFDF0 && c <= 0xFFFD || c >= 0x10000 && c <= 0xEFFFF;\n}\n\nexports.isNameStartChar = isNameStartChar;\n/**\n * Determines whether a codepoint matches the ``NAME_CHAR`` production.\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches ``NAME_CHAR``.\n */\n\nfunction isNameChar(c) {\n return isNameStartChar(c) || c >= 0x30 && c <= 0x39 || c === 0x2D || c === 0x2E || c === 0xB7 || c >= 0x0300 && c <= 0x036F || c >= 0x203F && c <= 0x2040;\n}\n\nexports.isNameChar = isNameChar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy94bWwvMS4xL2VkMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7SUFRQTtBQUNBO0FBQ0E7O0FBQ2EsT0FBQSxDQUFBLElBQUEsR0FBTyxtREFBUDtBQUVBLE9BQUEsQ0FBQSxlQUFBLEdBQ1gsMENBRFc7QUFHQSxPQUFBLENBQUEsQ0FBQSxHQUFJLFNBQUosQyxDQUViOztBQUNhLE9BQUEsQ0FBQSxlQUFBLEdBQWtCLHVLQUFsQjtBQUVBLE9BQUEsQ0FBQSxTQUFBLEdBQ1gsTUFBSSxPQUFBLENBQUEsZUFBSixHQUFtQixvQ0FEUixDLENBR2I7QUFDQTtBQUNBOztBQUVhLE9BQUEsQ0FBQSxPQUFBLEdBQVUsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsSUFBTCxHQUFTLElBQXBCLEVBQTBCLEdBQTFCLENBQVY7QUFFQSxPQUFBLENBQUEsa0JBQUEsR0FBcUIsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsZUFBTCxHQUFvQixJQUEvQixFQUFxQyxHQUFyQyxDQUFyQjtBQUVBLE9BQUEsQ0FBQSxJQUFBLEdBQU8sSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsQ0FBTCxHQUFNLEtBQWpCLEVBQXdCLEdBQXhCLENBQVA7QUFFQSxPQUFBLENBQUEsa0JBQUEsR0FBcUIsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsZUFBTCxHQUFvQixJQUEvQixFQUFxQyxHQUFyQyxDQUFyQjtBQUVBLE9BQUEsQ0FBQSxZQUFBLEdBQWUsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsU0FBTCxHQUFjLElBQXpCLEVBQStCLEdBQS9CLENBQWY7QUFFQSxPQUFBLENBQUEsT0FBQSxHQUFVLElBQUksTUFBSixDQUFXLE9BQUssT0FBQSxDQUFBLGVBQUwsR0FBb0IsSUFBcEIsR0FBeUIsT0FBQSxDQUFBLFNBQXpCLEdBQWtDLEtBQTdDLEVBQW9ELEdBQXBELENBQVY7QUFFQSxPQUFB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","\"use strict\";\n/**\n * Character class utilities for XML NS 1.0 edition 3.\n *\n * @author Louis-Dominique Dubeau\n * @license MIT\n * @copyright Louis-Dominique Dubeau\n */\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); //\n// Fragments.\n//\n// tslint:disable-next-line:max-line-length\n\nexports.NC_NAME_START_CHAR = \"A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\uD800\\uDC00-\\uDB7F\\uDFFF\";\nexports.NC_NAME_CHAR = \"-\" + exports.NC_NAME_START_CHAR + \".0-9\\xB7\\u0300-\\u036F\\u203F-\\u2040\"; //\n// Regular expressions.\n//\n\nexports.NC_NAME_START_CHAR_RE = new RegExp(\"^[\" + exports.NC_NAME_START_CHAR + \"]$\", \"u\");\nexports.NC_NAME_CHAR_RE = new RegExp(\"^[\" + exports.NC_NAME_CHAR + \"]$\", \"u\");\nexports.NC_NAME_RE = new RegExp(\"^[\" + exports.NC_NAME_START_CHAR + \"][\" + exports.NC_NAME_CHAR + \"]*$\", \"u\");\n/**\n * Determines whether a codepoint matches [[NC_NAME_START_CHAR]].\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches.\n */\n// tslint:disable-next-line:cyclomatic-complexity\n\nfunction isNCNameStartChar(c) {\n return c >= 0x41 && c <= 0x5A || c === 0x5F || c >= 0x61 && c <= 0x7A || c >= 0xC0 && c <= 0xD6 || c >= 0xD8 && c <= 0xF6 || c >= 0x00F8 && c <= 0x02FF || c >= 0x0370 && c <= 0x037D || c >= 0x037F && c <= 0x1FFF || c >= 0x200C && c <= 0x200D || c >= 0x2070 && c <= 0x218F || c >= 0x2C00 && c <= 0x2FEF || c >= 0x3001 && c <= 0xD7FF || c >= 0xF900 && c <= 0xFDCF || c >= 0xFDF0 && c <= 0xFFFD || c >= 0x10000 && c <= 0xEFFFF;\n}\n\nexports.isNCNameStartChar = isNCNameStartChar;\n/**\n * Determines whether a codepoint matches [[NC_NAME_CHAR]].\n *\n * @param c The code point.\n *\n * @returns ``true`` if the codepoint matches.\n */\n\nfunction isNCNameChar(c) {\n return isNCNameStartChar(c) || c === 0x2D || c === 0x2E || c >= 0x30 && c <= 0x39 || c === 0x00B7 || c >= 0x0300 && c <= 0x036F || c >= 0x203F && c <= 0x2040;\n}\n\nexports.isNCNameChar = isNCNameChar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy94bWxucy8xLjAvZWQzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztJQVFBO0FBQ0E7QUFDQTtBQUVBOztBQUNhLE9BQUEsQ0FBQSxrQkFBQSxHQUFxQix1S0FBckI7QUFFQSxPQUFBLENBQUEsWUFBQSxHQUNYLE1BQUksT0FBQSxDQUFBLGtCQUFKLEdBQXNCLG9DQURYLEMsQ0FHYjtBQUNBO0FBQ0E7O0FBRWEsT0FBQSxDQUFBLHFCQUFBLEdBQ1gsSUFBSSxNQUFKLENBQVcsT0FBSyxPQUFBLENBQUEsa0JBQUwsR0FBdUIsSUFBbEMsRUFBd0MsR0FBeEMsQ0FEVztBQUdBLE9BQUEsQ0FBQSxlQUFBLEdBQWtCLElBQUksTUFBSixDQUFXLE9BQUssT0FBQSxDQUFBLFlBQUwsR0FBaUIsSUFBNUIsRUFBa0MsR0FBbEMsQ0FBbEI7QUFFQSxPQUFBLENBQUEsVUFBQSxHQUNYLElBQUksTUFBSixDQUFXLE9BQUssT0FBQSxDQUFBLGtCQUFMLEdBQXVCLElBQXZCLEdBQTRCLE9BQUEsQ0FBQSxZQUE1QixHQUF3QyxLQUFuRCxFQUEwRCxHQUExRCxDQURXO0FBR2I7Ozs7Ozs7QUFPQTs7QUFDQSxTQUFnQixpQkFBaEIsQ0FBa0MsQ0FBbEMsRUFBMkM7QUFDekMsU0FBUyxDQUFDLElBQUksSUFBTCxJQUFhLENBQUMsSUFBSSxJQUFuQixJQUNBLENBQUMsS0FBSyxJQUROLElBRUMsQ0FBQyxJQUFJLElBQUwsSUFBYSxDQUFDLElBQUksSUFGbkIsSUFHQyxDQUFDLElBQUksSUFBTCxJQUFhLENBQUMsSUFBSSxJQUhuQixJQUlDLENBQUMsSUFBSSxJQUFMLElBQWEsQ0FBQyxJQUFJLElBSm5CLElBS0MsQ0FBQyxJQUFJLE1BQUwsSUFBZSxDQUFDLElBQUksTUFMckIsSUFNQyxDQUFDLElBQUksTUFBTCxJQUFlLENBQUMsSUFBSSxNQU5yQixJQU9DLENBQUMsSUFBSSxNQUFMLElBQWUsQ0FBQyxJQUFJLE1BUHJCLElBUUMsQ0FBQyxJQUFJLE1BQUwsSUFBZSxDQUFDLElBQUksTUFSckIsSUFTQyxDQUFDLElBQUksTUFBTCxJQUFlLENBQUMsSUFBSSxNQVRyQixJQVVDLENBQUMsSUFBSSxNQUFMLElBQWUsQ0FBQyxJQUFJLE1BVnJCLElBV0MsQ0FBQyxJQUFJLE1BQUwsSUFBZSxDQUFDLElBQUksTUFYckIsSUFZQyxDQUFDLElBQUksTUFBTCxJQUFlLENBQUMsSUFBSSxNQVpyQixJQWFDLENBQUMsSUFBSSxNQUFMLElBQWUsQ0FBQyxJQUFJLE1BYnJCLElBY0MsQ0FBQyxJQUFJLE9BQUwsSUFBZ0IsQ0FBQyxJQUFJLE9BZDlCO0FBZUQ7O0FBaEJELE9BQUEsQ0FBQSxpQkFBQSxHQUFBLGlCQUFBO0FBa0JBOzs7Ozs7OztBQU9BLFNBQWdCLFlBQWhCLENBQTZCLENBQTdCLEVBQXNDO0FBQ3BDLFNBQU8saUJBQWlCLENBQUMsQ0FBRCxDQUFqQixJQUNKLENBQUMsS0FBSyxJQUFOLElBQ0EsQ0FBQyxLQUFLLElBRE4sSUFFQyxDQUFDLElBQUksSUFBTCxJQUFhLENBQUMsSUFBSSxJQUZuQixJQUdBLENBQUMsS0FBSyxNQUhOLElBSUMsQ0FBQyxJQUFJLE1BQUwsSUFBZSxDQUFDLElBQUksTUFKckIsSUFLQyxDQUFDLElBQUksTUFBTCxJQUFlLENBQUMsSUFBSSxNQU54QjtBQU9EOztBQVJELE9BQUEsQ0FBQSxZQUFBLEdBQUEsWUFBQSIsInNvdXJjZVJvb3QiOiIifQ==","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import { getFlagsForElementVnode, createComponentVNode, createFragment, createVNode } from 'inferno';\n\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\n\nvar componentHooks = {\n onComponentDidMount: 1,\n onComponentDidUpdate: 1,\n onComponentShouldUpdate: 1,\n onComponentWillMount: 1,\n onComponentWillUnmount: 1,\n onComponentWillUpdate: 1\n};\nfunction createElement(type, props, _children) {\n var arguments$1 = arguments;\n var children;\n var ref = null;\n var key = null;\n var className = null;\n var flags = 0;\n var newProps;\n var childLen = arguments.length - 2;\n if (childLen === 1) {\n children = _children;\n }\n else if (childLen > 1) {\n children = [];\n while (childLen-- > 0) {\n children[childLen] = arguments$1[childLen + 2];\n }\n }\n if (isString(type)) {\n flags = getFlagsForElementVnode(type);\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop in props) {\n if (prop === 'className' || prop === 'class') {\n className = props[prop];\n }\n else if (prop === 'key') {\n key = props.key;\n }\n else if (prop === 'children' && isUndefined(children)) {\n children = props.children; // always favour children args over props\n }\n else if (prop === 'ref') {\n ref = props.ref;\n }\n else {\n if (prop === 'contenteditable') {\n flags |= 4096 /* ContentEditable */;\n }\n newProps[prop] = props[prop];\n }\n }\n }\n }\n else {\n flags = 2 /* ComponentUnknown */;\n if (!isUndefined(children)) {\n if (!props) {\n props = {};\n }\n props.children = children;\n }\n if (!isNullOrUndef(props)) {\n newProps = {};\n for (var prop$1 in props) {\n if (prop$1 === 'key') {\n key = props.key;\n }\n else if (prop$1 === 'ref') {\n ref = props.ref;\n }\n else if (componentHooks[prop$1] === 1) {\n if (!ref) {\n ref = {};\n }\n ref[prop$1] = props[prop$1];\n }\n else {\n newProps[prop$1] = props[prop$1];\n }\n }\n }\n return createComponentVNode(flags, type, newProps, key, ref);\n }\n if (flags & 8192 /* Fragment */) {\n return createFragment(childLen === 1 ? [children] : children, 0 /* UnknownChildren */, key);\n }\n return createVNode(flags, type, className, children, 0 /* UnknownChildren */, newProps, key, ref);\n}\n\nexport { createElement };\n","var isArray = Array.isArray;\nfunction isStringOrNumber(o) {\n var type = typeof o;\n return type === 'string' || type === 'number';\n}\nfunction isNullOrUndef(o) {\n return o === void 0 || o === null;\n}\nfunction isInvalid(o) {\n return o === null || o === false || o === true || o === void 0;\n}\nfunction isFunction(o) {\n return typeof o === 'function';\n}\nfunction isString(o) {\n return typeof o === 'string';\n}\nfunction isNumber(o) {\n return typeof o === 'number';\n}\nfunction isNull(o) {\n return o === null;\n}\nfunction isUndefined(o) {\n return o === void 0;\n}\nfunction combineFrom(first, second) {\n var out = {};\n if (first) {\n for (var key in first) {\n out[key] = first[key];\n }\n }\n if (second) {\n for (var key$1 in second) {\n out[key$1] = second[key$1];\n }\n }\n return out;\n}\n\n/**\n * Links given data to event as first parameter\n * @param {*} data data to be linked, it will be available in function as first parameter\n * @param {Function} event Function to be called when event occurs\n * @returns {{data: *, event: Function}}\n */\nfunction linkEvent(data, event) {\n if (isFunction(event)) {\n return { data: data, event: event };\n }\n return null; // Return null when event is invalid, to avoid creating unnecessary event handlers\n}\n// object.event should always be function, otherwise its badly created object.\nfunction isLinkEventObject(o) {\n return !isNull(o) && typeof o === 'object';\n}\n\n// We need EMPTY_OBJ defined in one place.\n// Its used for comparison so we cant inline it into shared\nvar EMPTY_OBJ = {};\nvar Fragment = '$F';\nfunction normalizeEventName(name) {\n return name.substr(2).toLowerCase();\n}\nfunction appendChild(parentDOM, dom) {\n parentDOM.appendChild(dom);\n}\nfunction insertOrAppend(parentDOM, newNode, nextNode) {\n if (isNull(nextNode)) {\n appendChild(parentDOM, newNode);\n }\n else {\n parentDOM.insertBefore(newNode, nextNode);\n }\n}\nfunction documentCreateElement(tag, isSVG) {\n if (isSVG) {\n return document.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n return document.createElement(tag);\n}\nfunction replaceChild(parentDOM, newDom, lastDom) {\n parentDOM.replaceChild(newDom, lastDom);\n}\nfunction removeChild(parentDOM, childNode) {\n parentDOM.removeChild(childNode);\n}\nfunction callAll(arrayFn) {\n for (var i = 0; i < arrayFn.length; i++) {\n arrayFn[i]();\n }\n}\nfunction findChildVNode(vNode, startEdge, flags) {\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n return children.$LI;\n }\n if (flags & 8192 /* Fragment */) {\n return vNode.childFlags === 2 /* HasVNodeChildren */ ? children : children[startEdge ? 0 : children.length - 1];\n }\n return children;\n}\nfunction findDOMfromVNode(vNode, startEdge) {\n var flags;\n while (vNode) {\n flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n return vNode.dom;\n }\n vNode = findChildVNode(vNode, startEdge, flags);\n }\n return null;\n}\nfunction removeVNodeDOM(vNode, parentDOM) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n removeChild(parentDOM, vNode.dom);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n removeVNodeDOM(children[i], parentDOM);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction moveVNodeDOM(vNode, parentDOM, nextNode) {\n do {\n var flags = vNode.flags;\n if (flags & 2033 /* DOMRef */) {\n insertOrAppend(parentDOM, vNode.dom, nextNode);\n return;\n }\n var children = vNode.children;\n if (flags & 4 /* ComponentClass */) {\n vNode = children.$LI;\n }\n if (flags & 8 /* ComponentFunction */) {\n vNode = children;\n }\n if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n vNode = children;\n }\n else {\n for (var i = 0, len = children.length; i < len; ++i) {\n moveVNodeDOM(children[i], parentDOM, nextNode);\n }\n return;\n }\n }\n } while (vNode);\n}\nfunction createDerivedState(instance, nextProps, state) {\n if (instance.constructor.getDerivedStateFromProps) {\n return combineFrom(state, instance.constructor.getDerivedStateFromProps(nextProps, state));\n }\n return state;\n}\nvar renderCheck = {\n v: false\n};\nvar options = {\n componentComparator: null,\n createVNode: null,\n renderComplete: null\n};\nfunction setTextContent(dom, children) {\n dom.textContent = children;\n}\n// Calling this function assumes, nextValue is linkEvent\nfunction isLastValueSameLinkEvent(lastValue, nextValue) {\n return (isLinkEventObject(lastValue) &&\n lastValue.event === nextValue.event &&\n lastValue.data === nextValue.data);\n}\nfunction mergeUnsetProperties(to, from) {\n for (var propName in from) {\n if (isUndefined(to[propName])) {\n to[propName] = from[propName];\n }\n }\n return to;\n}\nfunction safeCall1(method, arg1) {\n return !!isFunction(method) && (method(arg1), true);\n}\n\nvar keyPrefix = '$';\nfunction V(childFlags, children, className, flags, key, props, ref, type) {\n this.childFlags = childFlags;\n this.children = children;\n this.className = className;\n this.dom = null;\n this.flags = flags;\n this.key = key === void 0 ? null : key;\n this.props = props === void 0 ? null : props;\n this.ref = ref === void 0 ? null : ref;\n this.type = type;\n}\nfunction createVNode(flags, type, className, children, childFlags, props, key, ref) {\n var childFlag = childFlags === void 0 ? 1 /* HasInvalidChildren */ : childFlags;\n var vNode = new V(childFlag, children, className, flags, key, props, ref, type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n if (childFlag === 0 /* UnknownChildren */) {\n normalizeChildren(vNode, vNode.children);\n }\n return vNode;\n}\nfunction mergeDefaultHooks(flags, type, ref) {\n if (flags & 4 /* ComponentClass */) {\n return ref;\n }\n var defaultHooks = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultHooks;\n if (isNullOrUndef(defaultHooks)) {\n return ref;\n }\n if (isNullOrUndef(ref)) {\n return defaultHooks;\n }\n return mergeUnsetProperties(ref, defaultHooks);\n}\nfunction mergeDefaultProps(flags, type, props) {\n // set default props\n var defaultProps = (flags & 32768 /* ForwardRef */ ? type.render : type).defaultProps;\n if (isNullOrUndef(defaultProps)) {\n return props;\n }\n if (isNullOrUndef(props)) {\n return combineFrom(defaultProps, null);\n }\n return mergeUnsetProperties(props, defaultProps);\n}\nfunction resolveComponentFlags(flags, type) {\n if (flags & 12 /* ComponentKnown */) {\n return flags;\n }\n if (type.prototype && type.prototype.render) {\n return 4 /* ComponentClass */;\n }\n if (type.render) {\n return 32776 /* ForwardRefComponent */;\n }\n return 8 /* ComponentFunction */;\n}\nfunction createComponentVNode(flags, type, props, key, ref) {\n flags = resolveComponentFlags(flags, type);\n var vNode = new V(1 /* HasInvalidChildren */, null, null, flags, key, mergeDefaultProps(flags, type, props), mergeDefaultHooks(flags, type, ref), type);\n if (options.createVNode) {\n options.createVNode(vNode);\n }\n return vNode;\n}\nfunction createTextVNode(text, key) {\n return new V(1 /* HasInvalidChildren */, isNullOrUndef(text) || text === true || text === false ? '' : text, null, 16 /* Text */, key, null, null, null);\n}\nfunction createFragment(children, childFlags, key) {\n var fragment = createVNode(8192 /* Fragment */, 8192 /* Fragment */, null, children, childFlags, null, key, null);\n switch (fragment.childFlags) {\n case 1 /* HasInvalidChildren */:\n fragment.children = createVoidVNode();\n fragment.childFlags = 2 /* HasVNodeChildren */;\n break;\n case 16 /* HasTextChildren */:\n fragment.children = [createTextVNode(children)];\n fragment.childFlags = 4 /* HasNonKeyedChildren */;\n break;\n }\n return fragment;\n}\nfunction normalizeProps(vNode) {\n var props = vNode.props;\n if (props) {\n var flags = vNode.flags;\n if (flags & 481 /* Element */) {\n if (props.children !== void 0 && isNullOrUndef(vNode.children)) {\n normalizeChildren(vNode, props.children);\n }\n if (props.className !== void 0) {\n if (isNullOrUndef(vNode.className)) {\n vNode.className = props.className || null;\n }\n props.className = undefined;\n }\n }\n if (props.key !== void 0) {\n vNode.key = props.key;\n props.key = undefined;\n }\n if (props.ref !== void 0) {\n if (flags & 8 /* ComponentFunction */) {\n vNode.ref = combineFrom(vNode.ref, props.ref);\n }\n else {\n vNode.ref = props.ref;\n }\n props.ref = undefined;\n }\n }\n return vNode;\n}\n/*\n * Fragment is different than normal vNode,\n * because when it needs to be cloned we need to clone its children too\n * But not normalize, because otherwise those possibly get KEY and re-mount\n */\nfunction cloneFragment(vNodeToClone) {\n var oldChildren = vNodeToClone.children;\n var childFlags = vNodeToClone.childFlags;\n return createFragment(childFlags === 2 /* HasVNodeChildren */ ? directClone(oldChildren) : oldChildren.map(directClone), childFlags, vNodeToClone.key);\n}\nfunction directClone(vNodeToClone) {\n var flags = vNodeToClone.flags & -16385 /* ClearInUse */;\n var props = vNodeToClone.props;\n if (flags & 14 /* Component */) {\n if (!isNull(props)) {\n var propsToClone = props;\n props = {};\n for (var key in propsToClone) {\n props[key] = propsToClone[key];\n }\n }\n }\n if ((flags & 8192 /* Fragment */) === 0) {\n return new V(vNodeToClone.childFlags, vNodeToClone.children, vNodeToClone.className, flags, vNodeToClone.key, props, vNodeToClone.ref, vNodeToClone.type);\n }\n return cloneFragment(vNodeToClone);\n}\nfunction createVoidVNode() {\n return createTextVNode('', null);\n}\nfunction createPortal(children, container) {\n var normalizedRoot = normalizeRoot(children);\n return createVNode(1024 /* Portal */, 1024 /* Portal */, null, normalizedRoot, 0 /* UnknownChildren */, null, normalizedRoot.key, container);\n}\nfunction _normalizeVNodes(nodes, result, index, currentKey) {\n for (var len = nodes.length; index < len; index++) {\n var n = nodes[index];\n if (!isInvalid(n)) {\n var newKey = currentKey + keyPrefix + index;\n if (isArray(n)) {\n _normalizeVNodes(n, result, 0, newKey);\n }\n else {\n if (isStringOrNumber(n)) {\n n = createTextVNode(n, newKey);\n }\n else {\n var oldKey = n.key;\n var isPrefixedKey = isString(oldKey) && oldKey[0] === keyPrefix;\n if (n.flags & 81920 /* InUseOrNormalized */ || isPrefixedKey) {\n n = directClone(n);\n }\n n.flags |= 65536 /* Normalized */;\n if (!isPrefixedKey) {\n if (isNull(oldKey)) {\n n.key = newKey;\n }\n else {\n n.key = currentKey + oldKey;\n }\n }\n else if (oldKey.substring(0, currentKey.length) !== currentKey) {\n n.key = currentKey + oldKey;\n }\n }\n result.push(n);\n }\n }\n }\n}\nfunction getFlagsForElementVnode(type) {\n switch (type) {\n case 'svg':\n return 32 /* SvgElement */;\n case 'input':\n return 64 /* InputElement */;\n case 'select':\n return 256 /* SelectElement */;\n case 'textarea':\n return 128 /* TextareaElement */;\n case Fragment:\n return 8192 /* Fragment */;\n default:\n return 1 /* HtmlElement */;\n }\n}\nfunction normalizeChildren(vNode, children) {\n var newChildren;\n var newChildFlags = 1 /* HasInvalidChildren */;\n // Don't change children to match strict equal (===) true in patching\n if (isInvalid(children)) {\n newChildren = children;\n }\n else if (isStringOrNumber(children)) {\n newChildFlags = 16 /* HasTextChildren */;\n newChildren = children;\n }\n else if (isArray(children)) {\n var len = children.length;\n for (var i = 0; i < len; ++i) {\n var n = children[i];\n if (isInvalid(n) || isArray(n)) {\n newChildren = newChildren || children.slice(0, i);\n _normalizeVNodes(children, newChildren, i, '');\n break;\n }\n else if (isStringOrNumber(n)) {\n newChildren = newChildren || children.slice(0, i);\n newChildren.push(createTextVNode(n, keyPrefix + i));\n }\n else {\n var key = n.key;\n var needsCloning = (n.flags & 81920 /* InUseOrNormalized */) > 0;\n var isNullKey = isNull(key);\n var isPrefixed = isString(key) && key[0] === keyPrefix;\n if (needsCloning || isNullKey || isPrefixed) {\n newChildren = newChildren || children.slice(0, i);\n if (needsCloning || isPrefixed) {\n n = directClone(n);\n }\n if (isNullKey || isPrefixed) {\n n.key = keyPrefix + i;\n }\n newChildren.push(n);\n }\n else if (newChildren) {\n newChildren.push(n);\n }\n n.flags |= 65536 /* Normalized */;\n }\n }\n newChildren = newChildren || children;\n if (newChildren.length === 0) {\n newChildFlags = 1 /* HasInvalidChildren */;\n }\n else {\n newChildFlags = 8 /* HasKeyedChildren */;\n }\n }\n else {\n newChildren = children;\n newChildren.flags |= 65536 /* Normalized */;\n if (children.flags & 81920 /* InUseOrNormalized */) {\n newChildren = directClone(children);\n }\n newChildFlags = 2 /* HasVNodeChildren */;\n }\n vNode.children = newChildren;\n vNode.childFlags = newChildFlags;\n return vNode;\n}\nfunction normalizeRoot(input) {\n if (isInvalid(input) || isStringOrNumber(input)) {\n return createTextVNode(input, null);\n }\n if (isArray(input)) {\n return createFragment(input, 0 /* UnknownChildren */, null);\n }\n return input.flags & 16384 /* InUse */ ? directClone(input) : input;\n}\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar namespaces = {\n 'xlink:actuate': xlinkNS,\n 'xlink:arcrole': xlinkNS,\n 'xlink:href': xlinkNS,\n 'xlink:role': xlinkNS,\n 'xlink:show': xlinkNS,\n 'xlink:title': xlinkNS,\n 'xlink:type': xlinkNS,\n 'xml:base': xmlNS,\n 'xml:lang': xmlNS,\n 'xml:space': xmlNS\n};\n\nfunction getDelegatedEventObject(v) {\n return {\n onClick: v,\n onDblClick: v,\n onFocusIn: v,\n onFocusOut: v,\n onKeyDown: v,\n onKeyPress: v,\n onKeyUp: v,\n onMouseDown: v,\n onMouseMove: v,\n onMouseUp: v,\n onTouchEnd: v,\n onTouchMove: v,\n onTouchStart: v\n };\n}\nvar attachedEventCounts = getDelegatedEventObject(0);\nvar attachedEvents = getDelegatedEventObject(null);\nvar syntheticEvents = getDelegatedEventObject(true);\nfunction updateOrAddSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (!eventsObject) {\n eventsObject = dom.$EV = getDelegatedEventObject(null);\n }\n if (!eventsObject[name]) {\n if (++attachedEventCounts[name] === 1) {\n attachedEvents[name] = attachEventToDocument(name);\n }\n }\n return eventsObject;\n}\nfunction unmountSyntheticEvent(name, dom) {\n var eventsObject = dom.$EV;\n if (eventsObject && eventsObject[name]) {\n if (--attachedEventCounts[name] === 0) {\n document.removeEventListener(normalizeEventName(name), attachedEvents[name]);\n attachedEvents[name] = null;\n }\n eventsObject[name] = null;\n }\n}\nfunction handleSyntheticEvent(name, lastEvent, nextEvent, dom) {\n if (isFunction(nextEvent)) {\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else if (isLinkEventObject(nextEvent)) {\n if (isLastValueSameLinkEvent(lastEvent, nextEvent)) {\n return;\n }\n updateOrAddSyntheticEvent(name, dom)[name] = nextEvent;\n }\n else {\n unmountSyntheticEvent(name, dom);\n }\n}\n// When browsers fully support event.composedPath we could loop it through instead of using parentNode property\nfunction getTargetNode(event) {\n return isFunction(event.composedPath) ? event.composedPath()[0] : event.target;\n}\nfunction dispatchEvents(event, isClick, name, eventData) {\n var dom = getTargetNode(event);\n do {\n // Html Nodes can be nested fe: span inside button in that scenario browser does not handle disabled attribute on parent,\n // because the event listener is on document.body\n // Don't process clicks on disabled elements\n if (isClick && dom.disabled) {\n return;\n }\n var eventsObject = dom.$EV;\n if (eventsObject) {\n var currentEvent = eventsObject[name];\n if (currentEvent) {\n // linkEvent object\n eventData.dom = dom;\n currentEvent.event ? currentEvent.event(currentEvent.data, event) : currentEvent(event);\n if (event.cancelBubble) {\n return;\n }\n }\n }\n dom = dom.parentNode;\n } while (!isNull(dom));\n}\nfunction stopPropagation() {\n this.cancelBubble = true;\n if (!this.immediatePropagationStopped) {\n this.stopImmediatePropagation();\n }\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction extendEventProperties(event) {\n // Event data needs to be object to save reference to currentTarget getter\n var eventData = {\n dom: document\n };\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n event.stopPropagation = stopPropagation;\n Object.defineProperty(event, 'currentTarget', {\n configurable: true,\n get: function get() {\n return eventData.dom;\n }\n });\n return eventData;\n}\nfunction rootClickEvent(name) {\n return function (event) {\n if (event.button !== 0) {\n // Firefox incorrectly triggers click event for mid/right mouse buttons.\n // This bug has been active for 17 years.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=184051\n event.stopPropagation();\n return;\n }\n dispatchEvents(event, true, name, extendEventProperties(event));\n };\n}\nfunction rootEvent(name) {\n return function (event) {\n dispatchEvents(event, false, name, extendEventProperties(event));\n };\n}\nfunction attachEventToDocument(name) {\n var attachedEvent = name === 'onClick' || name === 'onDblClick' ? rootClickEvent(name) : rootEvent(name);\n document.addEventListener(normalizeEventName(name), attachedEvent);\n return attachedEvent;\n}\n\nfunction isSameInnerHTML(dom, innerHTML) {\n var tempdom = document.createElement('i');\n tempdom.innerHTML = innerHTML;\n return tempdom.innerHTML === dom.innerHTML;\n}\n\nfunction triggerEventListener(props, methodName, e) {\n if (props[methodName]) {\n var listener = props[methodName];\n if (listener.event) {\n listener.event(listener.data, e);\n }\n else {\n listener(e);\n }\n }\n else {\n var nativeListenerName = methodName.toLowerCase();\n if (props[nativeListenerName]) {\n props[nativeListenerName](e);\n }\n }\n}\nfunction createWrappedFunction(methodName, applyValue) {\n var fnMethod = function (e) {\n var vNode = this.$V;\n // If vNode is gone by the time event fires, no-op\n if (!vNode) {\n return;\n }\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n if (isString(methodName)) {\n triggerEventListener(props, methodName, e);\n }\n else {\n for (var i = 0; i < methodName.length; ++i) {\n triggerEventListener(props, methodName[i], e);\n }\n }\n if (isFunction(applyValue)) {\n var newVNode = this.$V;\n var newProps = newVNode.props || EMPTY_OBJ;\n applyValue(newProps, dom, false, newVNode);\n }\n };\n Object.defineProperty(fnMethod, 'wrapped', {\n configurable: false,\n enumerable: false,\n value: true,\n writable: false\n });\n return fnMethod;\n}\n\nfunction attachEvent(dom, eventName, handler) {\n var previousKey = \"$\" + eventName;\n var previousArgs = dom[previousKey];\n if (previousArgs) {\n if (previousArgs[1].wrapped) {\n return;\n }\n dom.removeEventListener(previousArgs[0], previousArgs[1]);\n dom[previousKey] = null;\n }\n if (isFunction(handler)) {\n dom.addEventListener(eventName, handler);\n dom[previousKey] = [eventName, handler];\n }\n}\n\nfunction isCheckedType(type) {\n return type === 'checkbox' || type === 'radio';\n}\nvar onTextInputChange = createWrappedFunction('onInput', applyValueInput);\nvar wrappedOnChange = createWrappedFunction(['onClick', 'onChange'], applyValueInput);\n/* tslint:disable-next-line:no-empty */\nfunction emptywrapper(event) {\n event.stopPropagation();\n}\nemptywrapper.wrapped = true;\nfunction inputEvents(dom, nextPropsOrEmpty) {\n if (isCheckedType(nextPropsOrEmpty.type)) {\n attachEvent(dom, 'change', wrappedOnChange);\n attachEvent(dom, 'click', emptywrapper);\n }\n else {\n attachEvent(dom, 'input', onTextInputChange);\n }\n}\nfunction applyValueInput(nextPropsOrEmpty, dom) {\n var type = nextPropsOrEmpty.type;\n var value = nextPropsOrEmpty.value;\n var checked = nextPropsOrEmpty.checked;\n var multiple = nextPropsOrEmpty.multiple;\n var defaultValue = nextPropsOrEmpty.defaultValue;\n var hasValue = !isNullOrUndef(value);\n if (type && type !== dom.type) {\n dom.setAttribute('type', type);\n }\n if (!isNullOrUndef(multiple) && multiple !== dom.multiple) {\n dom.multiple = multiple;\n }\n if (!isNullOrUndef(defaultValue) && !hasValue) {\n dom.defaultValue = defaultValue + '';\n }\n if (isCheckedType(type)) {\n if (hasValue) {\n dom.value = value;\n }\n if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n else {\n if (hasValue && dom.value !== value) {\n dom.defaultValue = value;\n dom.value = value;\n }\n else if (!isNullOrUndef(checked)) {\n dom.checked = checked;\n }\n }\n}\n\nfunction updateChildOptions(vNode, value) {\n if (vNode.type === 'option') {\n updateChildOption(vNode, value);\n }\n else {\n var children = vNode.children;\n var flags = vNode.flags;\n if (flags & 4 /* ComponentClass */) {\n updateChildOptions(children.$LI, value);\n }\n else if (flags & 8 /* ComponentFunction */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags === 2 /* HasVNodeChildren */) {\n updateChildOptions(children, value);\n }\n else if (vNode.childFlags & 12 /* MultipleChildren */) {\n for (var i = 0, len = children.length; i < len; ++i) {\n updateChildOptions(children[i], value);\n }\n }\n }\n}\nfunction updateChildOption(vNode, value) {\n var props = vNode.props || EMPTY_OBJ;\n var dom = vNode.dom;\n // we do this as multiple may have changed\n dom.value = props.value;\n if (props.value === value || (isArray(value) && value.indexOf(props.value) !== -1)) {\n dom.selected = true;\n }\n else if (!isNullOrUndef(value) || !isNullOrUndef(props.selected)) {\n dom.selected = props.selected || false;\n }\n}\nvar onSelectChange = createWrappedFunction('onChange', applyValueSelect);\nfunction selectEvents(dom) {\n attachEvent(dom, 'change', onSelectChange);\n}\nfunction applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode) {\n var multiplePropInBoolean = Boolean(nextPropsOrEmpty.multiple);\n if (!isNullOrUndef(nextPropsOrEmpty.multiple) && multiplePropInBoolean !== dom.multiple) {\n dom.multiple = multiplePropInBoolean;\n }\n var index = nextPropsOrEmpty.selectedIndex;\n if (index === -1) {\n dom.selectedIndex = -1;\n }\n var childFlags = vNode.childFlags;\n if (childFlags !== 1 /* HasInvalidChildren */) {\n var value = nextPropsOrEmpty.value;\n if (isNumber(index) && index > -1 && dom.options[index]) {\n value = dom.options[index].value;\n }\n if (mounting && isNullOrUndef(value)) {\n value = nextPropsOrEmpty.defaultValue;\n }\n updateChildOptions(vNode, value);\n }\n}\n\nvar onTextareaInputChange = createWrappedFunction('onInput', applyValueTextArea);\nvar wrappedOnChange$1 = createWrappedFunction('onChange');\nfunction textAreaEvents(dom, nextPropsOrEmpty) {\n attachEvent(dom, 'input', onTextareaInputChange);\n if (nextPropsOrEmpty.onChange) {\n attachEvent(dom, 'change', wrappedOnChange$1);\n }\n}\nfunction applyValueTextArea(nextPropsOrEmpty, dom, mounting) {\n var value = nextPropsOrEmpty.value;\n var domValue = dom.value;\n if (isNullOrUndef(value)) {\n if (mounting) {\n var defaultValue = nextPropsOrEmpty.defaultValue;\n if (!isNullOrUndef(defaultValue) && defaultValue !== domValue) {\n dom.defaultValue = defaultValue;\n dom.value = defaultValue;\n }\n }\n }\n else if (domValue !== value) {\n /* There is value so keep it controlled */\n dom.defaultValue = value;\n dom.value = value;\n }\n}\n\nfunction processElement(flags, vNode, dom, nextPropsOrEmpty, mounting, isControlled) {\n if (flags & 64 /* InputElement */) {\n applyValueInput(nextPropsOrEmpty, dom);\n }\n else if (flags & 256 /* SelectElement */) {\n applyValueSelect(nextPropsOrEmpty, dom, mounting, vNode);\n }\n else if (flags & 128 /* TextareaElement */) {\n applyValueTextArea(nextPropsOrEmpty, dom, mounting);\n }\n if (isControlled) {\n dom.$V = vNode;\n }\n}\nfunction addFormElementEventHandlers(flags, dom, nextPropsOrEmpty) {\n if (flags & 64 /* InputElement */) {\n inputEvents(dom, nextPropsOrEmpty);\n }\n else if (flags & 256 /* SelectElement */) {\n selectEvents(dom);\n }\n else if (flags & 128 /* TextareaElement */) {\n textAreaEvents(dom, nextPropsOrEmpty);\n }\n}\nfunction isControlledFormElement(nextPropsOrEmpty) {\n return nextPropsOrEmpty.type && isCheckedType(nextPropsOrEmpty.type) ? !isNullOrUndef(nextPropsOrEmpty.checked) : !isNullOrUndef(nextPropsOrEmpty.value);\n}\n\nfunction createRef() {\n return {\n current: null\n };\n}\nfunction forwardRef(render) {\n // @ts-ignore\n return {\n render: render\n };\n}\nfunction unmountRef(ref) {\n if (ref) {\n if (!safeCall1(ref, null) && ref.current) {\n ref.current = null;\n }\n }\n}\nfunction mountRef(ref, value, lifecycle) {\n if (ref && (isFunction(ref) || ref.current !== void 0)) {\n lifecycle.push(function () {\n if (!safeCall1(ref, value) && ref.current !== void 0) {\n ref.current = value;\n }\n });\n }\n}\n\nfunction remove(vNode, parentDOM) {\n unmount(vNode);\n removeVNodeDOM(vNode, parentDOM);\n}\nfunction unmount(vNode) {\n var flags = vNode.flags;\n var children = vNode.children;\n var ref;\n if (flags & 481 /* Element */) {\n ref = vNode.ref;\n var props = vNode.props;\n unmountRef(ref);\n var childFlags = vNode.childFlags;\n if (!isNull(props)) {\n var keys = Object.keys(props);\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n if (syntheticEvents[key]) {\n unmountSyntheticEvent(key, vNode.dom);\n }\n }\n }\n if (childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n else if (childFlags === 2 /* HasVNodeChildren */) {\n unmount(children);\n }\n }\n else if (children) {\n if (flags & 4 /* ComponentClass */) {\n if (isFunction(children.componentWillUnmount)) {\n children.componentWillUnmount();\n }\n unmountRef(vNode.ref);\n children.$UN = true;\n unmount(children.$LI);\n }\n else if (flags & 8 /* ComponentFunction */) {\n ref = vNode.ref;\n if (!isNullOrUndef(ref) && isFunction(ref.onComponentWillUnmount)) {\n ref.onComponentWillUnmount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n }\n unmount(children);\n }\n else if (flags & 1024 /* Portal */) {\n remove(children, vNode.ref);\n }\n else if (flags & 8192 /* Fragment */) {\n if (vNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(children);\n }\n }\n }\n}\nfunction unmountAllChildren(children) {\n for (var i = 0, len = children.length; i < len; ++i) {\n unmount(children[i]);\n }\n}\nfunction clearDOM(dom) {\n // Optimization for clearing dom\n dom.textContent = '';\n}\nfunction removeAllChildren(dom, vNode, children) {\n unmountAllChildren(children);\n if (vNode.flags & 8192 /* Fragment */) {\n removeVNodeDOM(vNode, dom);\n }\n else {\n clearDOM(dom);\n }\n}\n\nfunction wrapLinkEvent(nextValue) {\n // This variable makes sure there is no \"this\" context in callback\n var ev = nextValue.event;\n return function (e) {\n ev(nextValue.data, e);\n };\n}\nfunction patchEvent(name, lastValue, nextValue, dom) {\n if (isLinkEventObject(nextValue)) {\n if (isLastValueSameLinkEvent(lastValue, nextValue)) {\n return;\n }\n nextValue = wrapLinkEvent(nextValue);\n }\n attachEvent(dom, normalizeEventName(name), nextValue);\n}\n// We are assuming here that we come from patchProp routine\n// -nextAttrValue cannot be null or undefined\nfunction patchStyle(lastAttrValue, nextAttrValue, dom) {\n if (isNullOrUndef(nextAttrValue)) {\n dom.removeAttribute('style');\n return;\n }\n var domStyle = dom.style;\n var style;\n var value;\n if (isString(nextAttrValue)) {\n domStyle.cssText = nextAttrValue;\n return;\n }\n if (!isNullOrUndef(lastAttrValue) && !isString(lastAttrValue)) {\n for (style in nextAttrValue) {\n // do not add a hasOwnProperty check here, it affects performance\n value = nextAttrValue[style];\n if (value !== lastAttrValue[style]) {\n domStyle.setProperty(style, value);\n }\n }\n for (style in lastAttrValue) {\n if (isNullOrUndef(nextAttrValue[style])) {\n domStyle.removeProperty(style);\n }\n }\n }\n else {\n for (style in nextAttrValue) {\n value = nextAttrValue[style];\n domStyle.setProperty(style, value);\n }\n }\n}\nfunction patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom) {\n var lastHtml = (lastValue && lastValue.__html) || '';\n var nextHtml = (nextValue && nextValue.__html) || '';\n if (lastHtml !== nextHtml) {\n if (!isNullOrUndef(nextHtml) && !isSameInnerHTML(dom, nextHtml)) {\n if (!isNull(lastVNode)) {\n if (lastVNode.childFlags & 12 /* MultipleChildren */) {\n unmountAllChildren(lastVNode.children);\n }\n else if (lastVNode.childFlags === 2 /* HasVNodeChildren */) {\n unmount(lastVNode.children);\n }\n lastVNode.children = null;\n lastVNode.childFlags = 1 /* HasInvalidChildren */;\n }\n dom.innerHTML = nextHtml;\n }\n }\n}\nfunction patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode) {\n switch (prop) {\n case 'children':\n case 'childrenType':\n case 'className':\n case 'defaultValue':\n case 'key':\n case 'multiple':\n case 'ref':\n case 'selectedIndex':\n break;\n case 'autoFocus':\n dom.autofocus = !!nextValue;\n break;\n case 'allowfullscreen':\n case 'autoplay':\n case 'capture':\n case 'checked':\n case 'controls':\n case 'default':\n case 'disabled':\n case 'hidden':\n case 'indeterminate':\n case 'loop':\n case 'muted':\n case 'novalidate':\n case 'open':\n case 'readOnly':\n case 'required':\n case 'reversed':\n case 'scoped':\n case 'seamless':\n case 'selected':\n dom[prop] = !!nextValue;\n break;\n case 'defaultChecked':\n case 'value':\n case 'volume':\n if (hasControlledValue && prop === 'value') {\n break;\n }\n var value = isNullOrUndef(nextValue) ? '' : nextValue;\n if (dom[prop] !== value) {\n dom[prop] = value;\n }\n break;\n case 'style':\n patchStyle(lastValue, nextValue, dom);\n break;\n case 'dangerouslySetInnerHTML':\n patchDangerInnerHTML(lastValue, nextValue, lastVNode, dom);\n break;\n default:\n if (syntheticEvents[prop]) {\n handleSyntheticEvent(prop, lastValue, nextValue, dom);\n }\n else if (prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110) {\n patchEvent(prop, lastValue, nextValue, dom);\n }\n else if (isNullOrUndef(nextValue)) {\n dom.removeAttribute(prop);\n }\n else if (isSVG && namespaces[prop]) {\n // We optimize for isSVG being false\n // If we end up in this path we can read property again\n dom.setAttributeNS(namespaces[prop], prop, nextValue);\n }\n else {\n dom.setAttribute(prop, nextValue);\n }\n break;\n }\n}\nfunction mountProps(vNode, flags, props, dom, isSVG) {\n var hasControlledValue = false;\n var isFormElement = (flags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(props);\n if (hasControlledValue) {\n addFormElementEventHandlers(flags, dom, props);\n }\n }\n for (var prop in props) {\n // do not add a hasOwnProperty check here, it affects performance\n patchProp(prop, null, props[prop], dom, isSVG, hasControlledValue, null);\n }\n if (isFormElement) {\n processElement(flags, vNode, dom, props, true, hasControlledValue);\n }\n}\n\nfunction renderNewInput(instance, props, context) {\n var nextInput = normalizeRoot(instance.render(props, instance.state, context));\n var childContext = context;\n if (isFunction(instance.getChildContext)) {\n childContext = combineFrom(context, instance.getChildContext());\n }\n instance.$CX = childContext;\n return nextInput;\n}\nfunction createClassComponentInstance(vNode, Component, props, context, isSVG, lifecycle) {\n var instance = new Component(props, context);\n var usesNewAPI = (instance.$N = Boolean(Component.getDerivedStateFromProps || instance.getSnapshotBeforeUpdate));\n instance.$SVG = isSVG;\n instance.$L = lifecycle;\n vNode.children = instance;\n instance.$BS = false;\n instance.context = context;\n if (instance.props === EMPTY_OBJ) {\n instance.props = props;\n }\n if (!usesNewAPI) {\n if (isFunction(instance.componentWillMount)) {\n instance.$BR = true;\n instance.componentWillMount();\n var pending = instance.$PS;\n if (!isNull(pending)) {\n var state = instance.state;\n if (isNull(state)) {\n instance.state = pending;\n }\n else {\n for (var key in pending) {\n state[key] = pending[key];\n }\n }\n instance.$PS = null;\n }\n instance.$BR = false;\n }\n }\n else {\n instance.state = createDerivedState(instance, props, instance.state);\n }\n instance.$LI = renderNewInput(instance, props, context);\n return instance;\n}\nfunction renderFunctionalComponent(vNode, context) {\n var props = vNode.props || EMPTY_OBJ;\n return vNode.flags & 32768 /* ForwardRef */ ? vNode.type.render(props, vNode.ref, context) : vNode.type(props, context);\n}\n\nfunction mount(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = (vNode.flags |= 16384 /* InUse */);\n if (flags & 481 /* Element */) {\n mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 4 /* ComponentClass */) {\n mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (flags & 8 /* ComponentFunction */) {\n mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle);\n mountFunctionalComponentCallbacks(vNode, lifecycle);\n }\n else if (flags & 512 /* Void */ || flags & 16 /* Text */) {\n mountText(vNode, parentDOM, nextNode);\n }\n else if (flags & 8192 /* Fragment */) {\n mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle);\n }\n else if (flags & 1024 /* Portal */) {\n mountPortal(vNode, context, parentDOM, nextNode, lifecycle);\n }\n else ;\n}\nfunction mountPortal(vNode, context, parentDOM, nextNode, lifecycle) {\n mount(vNode.children, vNode.ref, context, false, null, lifecycle);\n var placeHolderVNode = createVoidVNode();\n mountText(placeHolderVNode, parentDOM, nextNode);\n vNode.dom = placeHolderVNode.dom;\n}\nfunction mountFragment(vNode, context, parentDOM, isSVG, nextNode, lifecycle) {\n var children = vNode.children;\n var childFlags = vNode.childFlags;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (childFlags & 12 /* MultipleChildren */ && children.length === 0) {\n childFlags = vNode.childFlags = 2 /* HasVNodeChildren */;\n children = vNode.children = createVoidVNode();\n }\n if (childFlags === 2 /* HasVNodeChildren */) {\n mount(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else {\n mountArrayChildren(children, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountText(vNode, parentDOM, nextNode) {\n var dom = (vNode.dom = document.createTextNode(vNode.children));\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n}\nfunction mountElement(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var flags = vNode.flags;\n var props = vNode.props;\n var className = vNode.className;\n var childFlags = vNode.childFlags;\n var dom = (vNode.dom = documentCreateElement(vNode.type, (isSVG = isSVG || (flags & 32 /* SvgElement */) > 0)));\n var children = vNode.children;\n if (!isNullOrUndef(className) && className !== '') {\n if (isSVG) {\n dom.setAttribute('class', className);\n }\n else {\n dom.className = className;\n }\n }\n if (childFlags === 16 /* HasTextChildren */) {\n setTextContent(dom, children);\n }\n else if (childFlags !== 1 /* HasInvalidChildren */) {\n var childrenIsSVG = isSVG && vNode.type !== 'foreignObject';\n if (childFlags === 2 /* HasVNodeChildren */) {\n if (children.flags & 16384 /* InUse */) {\n vNode.children = children = directClone(children);\n }\n mount(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n else if (childFlags === 8 /* HasKeyedChildren */ || childFlags === 4 /* HasNonKeyedChildren */) {\n mountArrayChildren(children, dom, context, childrenIsSVG, null, lifecycle);\n }\n }\n if (!isNull(parentDOM)) {\n insertOrAppend(parentDOM, dom, nextNode);\n }\n if (!isNull(props)) {\n mountProps(vNode, flags, props, dom, isSVG);\n }\n mountRef(vNode.ref, dom, lifecycle);\n}\nfunction mountArrayChildren(children, dom, context, isSVG, nextNode, lifecycle) {\n for (var i = 0; i < children.length; ++i) {\n var child = children[i];\n if (child.flags & 16384 /* InUse */) {\n children[i] = child = directClone(child);\n }\n mount(child, dom, context, isSVG, nextNode, lifecycle);\n }\n}\nfunction mountClassComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = createClassComponentInstance(vNode, vNode.type, vNode.props || EMPTY_OBJ, context, isSVG, lifecycle);\n mount(instance.$LI, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n mountClassComponentCallbacks(vNode.ref, instance, lifecycle);\n}\nfunction mountFunctionalComponent(vNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n mount((vNode.children = normalizeRoot(renderFunctionalComponent(vNode, context))), parentDOM, context, isSVG, nextNode, lifecycle);\n}\nfunction createClassMountCallback(instance) {\n return function () {\n instance.componentDidMount();\n };\n}\nfunction mountClassComponentCallbacks(ref, instance, lifecycle) {\n mountRef(ref, instance, lifecycle);\n if (isFunction(instance.componentDidMount)) {\n lifecycle.push(createClassMountCallback(instance));\n }\n}\nfunction createOnMountCallback(ref, vNode) {\n return function () {\n ref.onComponentDidMount(findDOMfromVNode(vNode, true), vNode.props || EMPTY_OBJ);\n };\n}\nfunction mountFunctionalComponentCallbacks(vNode, lifecycle) {\n var ref = vNode.ref;\n if (!isNullOrUndef(ref)) {\n safeCall1(ref.onComponentWillMount, vNode.props || EMPTY_OBJ);\n if (isFunction(ref.onComponentDidMount)) {\n lifecycle.push(createOnMountCallback(ref, vNode));\n }\n }\n}\n\nfunction replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n unmount(lastVNode);\n if ((nextVNode.flags & lastVNode.flags & 2033 /* DOMRef */) !== 0) {\n mount(nextVNode, null, context, isSVG, null, lifecycle);\n // Single DOM operation, when we have dom references available\n replaceChild(parentDOM, nextVNode.dom, lastVNode.dom);\n }\n else {\n mount(nextVNode, parentDOM, context, isSVG, findDOMfromVNode(lastVNode, true), lifecycle);\n removeVNodeDOM(lastVNode, parentDOM);\n }\n}\nfunction patch(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var nextFlags = (nextVNode.flags |= 16384 /* InUse */);\n if (lastVNode.flags !== nextFlags || lastVNode.type !== nextVNode.type || lastVNode.key !== nextVNode.key || nextFlags & 2048 /* ReCreate */) {\n if (lastVNode.flags & 16384 /* InUse */) {\n replaceWithNewNode(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n // Last vNode is not in use, it has crashed at application level. Just mount nextVNode and ignore last one\n mount(nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextFlags & 481 /* Element */) {\n patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle);\n }\n else if (nextFlags & 4 /* ComponentClass */) {\n patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 8 /* ComponentFunction */) {\n patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n else if (nextFlags & 16 /* Text */) {\n patchText(lastVNode, nextVNode);\n }\n else if (nextFlags & 512 /* Void */) {\n nextVNode.dom = lastVNode.dom;\n }\n else if (nextFlags & 8192 /* Fragment */) {\n patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle);\n }\n else {\n patchPortal(lastVNode, nextVNode, context, lifecycle);\n }\n}\nfunction patchSingleTextChild(lastChildren, nextChildren, parentDOM) {\n if (lastChildren !== nextChildren) {\n if (lastChildren !== '') {\n parentDOM.firstChild.nodeValue = nextChildren;\n }\n else {\n setTextContent(parentDOM, nextChildren);\n }\n }\n}\nfunction patchContentEditableChildren(dom, nextChildren) {\n if (dom.textContent !== nextChildren) {\n dom.textContent = nextChildren;\n }\n}\nfunction patchFragment(lastVNode, nextVNode, parentDOM, context, isSVG, lifecycle) {\n var lastChildren = lastVNode.children;\n var nextChildren = nextVNode.children;\n var lastChildFlags = lastVNode.childFlags;\n var nextChildFlags = nextVNode.childFlags;\n var nextNode = null;\n // When fragment is optimized for multiple children, check if there is no children and change flag to invalid\n // This is the only normalization always done, to keep optimization flags API same for fragments and regular elements\n if (nextChildFlags & 12 /* MultipleChildren */ && nextChildren.length === 0) {\n nextChildFlags = nextVNode.childFlags = 2 /* HasVNodeChildren */;\n nextChildren = nextVNode.children = createVoidVNode();\n }\n var nextIsSingle = (nextChildFlags & 2 /* HasVNodeChildren */) !== 0;\n if (lastChildFlags & 12 /* MultipleChildren */) {\n var lastLen = lastChildren.length;\n // We need to know Fragment's edge node when\n if (\n // It uses keyed algorithm\n (lastChildFlags & 8 /* HasKeyedChildren */ && nextChildFlags & 8 /* HasKeyedChildren */) ||\n // It transforms from many to single\n nextIsSingle ||\n // It will append more nodes\n (!nextIsSingle && nextChildren.length > lastLen)) {\n // When fragment has multiple children there is always at least one vNode\n nextNode = findDOMfromVNode(lastChildren[lastLen - 1], false).nextSibling;\n }\n }\n patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lastVNode, lifecycle);\n}\nfunction patchPortal(lastVNode, nextVNode, context, lifecycle) {\n var lastContainer = lastVNode.ref;\n var nextContainer = nextVNode.ref;\n var nextChildren = nextVNode.children;\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, lastContainer, context, false, null, lastVNode, lifecycle);\n nextVNode.dom = lastVNode.dom;\n if (lastContainer !== nextContainer && !isInvalid(nextChildren)) {\n var node = nextChildren.dom;\n removeChild(lastContainer, node);\n appendChild(nextContainer, node);\n }\n}\nfunction patchElement(lastVNode, nextVNode, context, isSVG, nextFlags, lifecycle) {\n var dom = (nextVNode.dom = lastVNode.dom);\n var lastProps = lastVNode.props;\n var nextProps = nextVNode.props;\n var isFormElement = false;\n var hasControlledValue = false;\n var nextPropsOrEmpty;\n isSVG = isSVG || (nextFlags & 32 /* SvgElement */) > 0;\n // inlined patchProps -- starts --\n if (lastProps !== nextProps) {\n var lastPropsOrEmpty = lastProps || EMPTY_OBJ;\n nextPropsOrEmpty = nextProps || EMPTY_OBJ;\n if (nextPropsOrEmpty !== EMPTY_OBJ) {\n isFormElement = (nextFlags & 448 /* FormElement */) > 0;\n if (isFormElement) {\n hasControlledValue = isControlledFormElement(nextPropsOrEmpty);\n }\n for (var prop in nextPropsOrEmpty) {\n var lastValue = lastPropsOrEmpty[prop];\n var nextValue = nextPropsOrEmpty[prop];\n if (lastValue !== nextValue) {\n patchProp(prop, lastValue, nextValue, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n if (lastPropsOrEmpty !== EMPTY_OBJ) {\n for (var prop$1 in lastPropsOrEmpty) {\n if (isNullOrUndef(nextPropsOrEmpty[prop$1]) && !isNullOrUndef(lastPropsOrEmpty[prop$1])) {\n patchProp(prop$1, lastPropsOrEmpty[prop$1], null, dom, isSVG, hasControlledValue, lastVNode);\n }\n }\n }\n }\n var nextChildren = nextVNode.children;\n var nextClassName = nextVNode.className;\n // inlined patchProps -- ends --\n if (lastVNode.className !== nextClassName) {\n if (isNullOrUndef(nextClassName)) {\n dom.removeAttribute('class');\n }\n else if (isSVG) {\n dom.setAttribute('class', nextClassName);\n }\n else {\n dom.className = nextClassName;\n }\n }\n if (nextFlags & 4096 /* ContentEditable */) {\n patchContentEditableChildren(dom, nextChildren);\n }\n else {\n patchChildren(lastVNode.childFlags, nextVNode.childFlags, lastVNode.children, nextChildren, dom, context, isSVG && nextVNode.type !== 'foreignObject', null, lastVNode, lifecycle);\n }\n if (isFormElement) {\n processElement(nextFlags, nextVNode, dom, nextPropsOrEmpty, false, hasControlledValue);\n }\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, dom, lifecycle);\n }\n}\nfunction replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle) {\n unmount(lastChildren);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, findDOMfromVNode(lastChildren, true), lifecycle);\n removeVNodeDOM(lastChildren, parentDOM);\n}\nfunction patchChildren(lastChildFlags, nextChildFlags, lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, parentVNode, lifecycle) {\n switch (lastChildFlags) {\n case 2 /* HasVNodeChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n patch(lastChildren, nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n remove(lastChildren, parentDOM);\n break;\n case 16 /* HasTextChildren */:\n unmount(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n replaceOneVNodeWithMultipleVNodes(lastChildren, nextChildren, parentDOM, context, isSVG, lifecycle);\n break;\n }\n break;\n case 1 /* HasInvalidChildren */:\n switch (nextChildFlags) {\n case 2 /* HasVNodeChildren */:\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n break;\n case 16 /* HasTextChildren */:\n setTextContent(parentDOM, nextChildren);\n break;\n default:\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n case 16 /* HasTextChildren */:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n patchSingleTextChild(lastChildren, nextChildren, parentDOM);\n break;\n case 2 /* HasVNodeChildren */:\n clearDOM(parentDOM);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n clearDOM(parentDOM);\n break;\n default:\n clearDOM(parentDOM);\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n }\n break;\n default:\n switch (nextChildFlags) {\n case 16 /* HasTextChildren */:\n unmountAllChildren(lastChildren);\n setTextContent(parentDOM, nextChildren);\n break;\n case 2 /* HasVNodeChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n mount(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n break;\n case 1 /* HasInvalidChildren */:\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n break;\n default:\n var lastLength = lastChildren.length | 0;\n var nextLength = nextChildren.length | 0;\n // Fast path's for both algorithms\n if (lastLength === 0) {\n if (nextLength > 0) {\n mountArrayChildren(nextChildren, parentDOM, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (nextLength === 0) {\n removeAllChildren(parentDOM, parentVNode, lastChildren);\n }\n else if (nextChildFlags === 8 /* HasKeyedChildren */ && lastChildFlags === 8 /* HasKeyedChildren */) {\n patchKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, parentVNode, lifecycle);\n }\n else {\n patchNonKeyedChildren(lastChildren, nextChildren, parentDOM, context, isSVG, lastLength, nextLength, nextNode, lifecycle);\n }\n break;\n }\n break;\n }\n}\nfunction createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle) {\n lifecycle.push(function () {\n instance.componentDidUpdate(lastProps, lastState, snapshot);\n });\n}\nfunction updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, force, nextNode, lifecycle) {\n var lastState = instance.state;\n var lastProps = instance.props;\n var usesNewAPI = Boolean(instance.$N);\n var hasSCU = isFunction(instance.shouldComponentUpdate);\n if (usesNewAPI) {\n nextState = createDerivedState(instance, nextProps, nextState !== lastState ? combineFrom(lastState, nextState) : nextState);\n }\n if (force || !hasSCU || (hasSCU && instance.shouldComponentUpdate(nextProps, nextState, context))) {\n if (!usesNewAPI && isFunction(instance.componentWillUpdate)) {\n instance.componentWillUpdate(nextProps, nextState, context);\n }\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n var snapshot = null;\n var nextInput = renderNewInput(instance, nextProps, context);\n if (usesNewAPI && isFunction(instance.getSnapshotBeforeUpdate)) {\n snapshot = instance.getSnapshotBeforeUpdate(lastProps, lastState);\n }\n patch(instance.$LI, nextInput, parentDOM, instance.$CX, isSVG, nextNode, lifecycle);\n // Dont update Last input, until patch has been succesfully executed\n instance.$LI = nextInput;\n if (isFunction(instance.componentDidUpdate)) {\n createDidUpdate(instance, lastProps, lastState, snapshot, lifecycle);\n }\n }\n else {\n instance.props = nextProps;\n instance.state = nextState;\n instance.context = context;\n }\n}\nfunction patchClassComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var instance = (nextVNode.children = lastVNode.children);\n // If Component has crashed, ignore it to stay functional\n if (isNull(instance)) {\n return;\n }\n instance.$L = lifecycle;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastRef = lastVNode.ref;\n var nextState = instance.state;\n if (!instance.$N) {\n if (isFunction(instance.componentWillReceiveProps)) {\n instance.$BR = true;\n instance.componentWillReceiveProps(nextProps, context);\n // If instance component was removed during its own update do nothing.\n if (instance.$UN) {\n return;\n }\n instance.$BR = false;\n }\n if (!isNull(instance.$PS)) {\n nextState = combineFrom(nextState, instance.$PS);\n instance.$PS = null;\n }\n }\n updateClassComponent(instance, nextState, nextProps, parentDOM, context, isSVG, false, nextNode, lifecycle);\n if (lastRef !== nextRef) {\n unmountRef(lastRef);\n mountRef(nextRef, instance, lifecycle);\n }\n}\nfunction patchFunctionalComponent(lastVNode, nextVNode, parentDOM, context, isSVG, nextNode, lifecycle) {\n var shouldUpdate = true;\n var nextProps = nextVNode.props || EMPTY_OBJ;\n var nextRef = nextVNode.ref;\n var lastProps = lastVNode.props;\n var nextHooksDefined = !isNullOrUndef(nextRef);\n var lastInput = lastVNode.children;\n if (nextHooksDefined && isFunction(nextRef.onComponentShouldUpdate)) {\n shouldUpdate = nextRef.onComponentShouldUpdate(lastProps, nextProps);\n }\n if (shouldUpdate !== false) {\n if (nextHooksDefined && isFunction(nextRef.onComponentWillUpdate)) {\n nextRef.onComponentWillUpdate(lastProps, nextProps);\n }\n var nextInput = normalizeRoot(renderFunctionalComponent(nextVNode, context));\n patch(lastInput, nextInput, parentDOM, context, isSVG, nextNode, lifecycle);\n nextVNode.children = nextInput;\n if (nextHooksDefined && isFunction(nextRef.onComponentDidUpdate)) {\n nextRef.onComponentDidUpdate(lastProps, nextProps);\n }\n }\n else {\n nextVNode.children = lastInput;\n }\n}\nfunction patchText(lastVNode, nextVNode) {\n var nextText = nextVNode.children;\n var dom = (nextVNode.dom = lastVNode.dom);\n if (nextText !== lastVNode.children) {\n dom.nodeValue = nextText;\n }\n}\nfunction patchNonKeyedChildren(lastChildren, nextChildren, dom, context, isSVG, lastChildrenLength, nextChildrenLength, nextNode, lifecycle) {\n var commonLength = lastChildrenLength > nextChildrenLength ? nextChildrenLength : lastChildrenLength;\n var i = 0;\n var nextChild;\n var lastChild;\n for (; i < commonLength; ++i) {\n nextChild = nextChildren[i];\n lastChild = lastChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n patch(lastChild, nextChild, dom, context, isSVG, nextNode, lifecycle);\n lastChildren[i] = nextChild;\n }\n if (lastChildrenLength < nextChildrenLength) {\n for (i = commonLength; i < nextChildrenLength; ++i) {\n nextChild = nextChildren[i];\n if (nextChild.flags & 16384 /* InUse */) {\n nextChild = nextChildren[i] = directClone(nextChild);\n }\n mount(nextChild, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n else if (lastChildrenLength > nextChildrenLength) {\n for (i = commonLength; i < lastChildrenLength; ++i) {\n remove(lastChildren[i], dom);\n }\n }\n}\nfunction patchKeyedChildren(a, b, dom, context, isSVG, aLength, bLength, outerEdge, parentVNode, lifecycle) {\n var aEnd = aLength - 1;\n var bEnd = bLength - 1;\n var j = 0;\n var aNode = a[j];\n var bNode = b[j];\n var nextPos;\n var nextNode;\n // Step 1\n // tslint:disable-next-line\n outer: {\n // Sync nodes with the same key at the beginning.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[j] = bNode;\n ++j;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[j];\n bNode = b[j];\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n // Sync nodes with the same key at the end.\n while (aNode.key === bNode.key) {\n if (bNode.flags & 16384 /* InUse */) {\n b[bEnd] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n a[aEnd] = bNode;\n aEnd--;\n bEnd--;\n if (j > aEnd || j > bEnd) {\n break outer;\n }\n aNode = a[aEnd];\n bNode = b[bEnd];\n }\n }\n if (j > aEnd) {\n if (j <= bEnd) {\n nextPos = bEnd + 1;\n nextNode = nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge;\n while (j <= bEnd) {\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n ++j;\n mount(bNode, dom, context, isSVG, nextNode, lifecycle);\n }\n }\n }\n else if (j > bEnd) {\n while (j <= aEnd) {\n remove(a[j++], dom);\n }\n }\n else {\n patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle);\n }\n}\nfunction patchKeyedChildrenComplex(a, b, context, aLength, bLength, aEnd, bEnd, j, dom, isSVG, outerEdge, parentVNode, lifecycle) {\n var aNode;\n var bNode;\n var nextPos;\n var i = 0;\n var aStart = j;\n var bStart = j;\n var aLeft = aEnd - j + 1;\n var bLeft = bEnd - j + 1;\n var sources = new Int32Array(bLeft + 1);\n // Keep track if its possible to remove whole DOM using textContent = '';\n var canRemoveWholeContent = aLeft === aLength;\n var moved = false;\n var pos = 0;\n var patched = 0;\n // When sizes are small, just loop them through\n if (bLength < 4 || (aLeft | bLeft) < 32) {\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n for (j = bStart; j <= bEnd; j++) {\n bNode = b[j];\n if (aNode.key === bNode.key) {\n sources[j - bStart] = i + 1;\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (aStart < i) {\n remove(a[aStart++], dom);\n }\n }\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n break;\n }\n }\n if (!canRemoveWholeContent && j > bEnd) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n else {\n var keyIndex = {};\n // Map keys by their index\n for (i = bStart; i <= bEnd; ++i) {\n keyIndex[b[i].key] = i;\n }\n // Try to patch same keys\n for (i = aStart; i <= aEnd; ++i) {\n aNode = a[i];\n if (patched < bLeft) {\n j = keyIndex[aNode.key];\n if (j !== void 0) {\n if (canRemoveWholeContent) {\n canRemoveWholeContent = false;\n while (i > aStart) {\n remove(a[aStart++], dom);\n }\n }\n sources[j - bStart] = i + 1;\n if (pos > j) {\n moved = true;\n }\n else {\n pos = j;\n }\n bNode = b[j];\n if (bNode.flags & 16384 /* InUse */) {\n b[j] = bNode = directClone(bNode);\n }\n patch(aNode, bNode, dom, context, isSVG, outerEdge, lifecycle);\n ++patched;\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n else if (!canRemoveWholeContent) {\n remove(aNode, dom);\n }\n }\n }\n // fast-path: if nothing patched remove all old and add all new\n if (canRemoveWholeContent) {\n removeAllChildren(dom, parentVNode, a);\n mountArrayChildren(b, dom, context, isSVG, outerEdge, lifecycle);\n }\n else if (moved) {\n var seq = lis_algorithm(sources);\n j = seq.length - 1;\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n else if (j < 0 || i !== seq[j]) {\n pos = i + bStart;\n bNode = b[pos];\n nextPos = pos + 1;\n moveVNodeDOM(bNode, dom, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge);\n }\n else {\n j--;\n }\n }\n }\n else if (patched !== bLeft) {\n // when patched count doesn't match b length we need to insert those new ones\n // loop backwards so we can use insertBefore\n for (i = bLeft - 1; i >= 0; i--) {\n if (sources[i] === 0) {\n pos = i + bStart;\n bNode = b[pos];\n if (bNode.flags & 16384 /* InUse */) {\n b[pos] = bNode = directClone(bNode);\n }\n nextPos = pos + 1;\n mount(bNode, dom, context, isSVG, nextPos < bLength ? findDOMfromVNode(b[nextPos], true) : outerEdge, lifecycle);\n }\n }\n }\n}\nvar result;\nvar p;\nvar maxLen = 0;\n// https://en.wikipedia.org/wiki/Longest_increasing_subsequence\nfunction lis_algorithm(arr) {\n var arrI = 0;\n var i = 0;\n var j = 0;\n var k = 0;\n var u = 0;\n var v = 0;\n var c = 0;\n var len = arr.length;\n if (len > maxLen) {\n maxLen = len;\n result = new Int32Array(len);\n p = new Int32Array(len);\n }\n for (; i < len; ++i) {\n arrI = arr[i];\n if (arrI !== 0) {\n j = result[k];\n if (arr[j] < arrI) {\n p[i] = j;\n result[++k] = i;\n continue;\n }\n u = 0;\n v = k;\n while (u < v) {\n c = (u + v) >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n }\n else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = k + 1;\n var seq = new Int32Array(u);\n v = result[u - 1];\n while (u-- > 0) {\n seq[u] = v;\n v = p[v];\n result[u] = 0;\n }\n return seq;\n}\n\nvar hasDocumentAvailable = typeof document !== 'undefined';\nif (hasDocumentAvailable) {\n /*\n * Defining $EV and $V properties on Node.prototype\n * fixes v8 \"wrong map\" de-optimization\n */\n if (window.Node) {\n Node.prototype.$EV = null;\n Node.prototype.$V = null;\n }\n}\nfunction __render(input, parentDOM, callback, context) {\n var lifecycle = [];\n var rootInput = parentDOM.$V;\n renderCheck.v = true;\n if (isNullOrUndef(rootInput)) {\n if (!isNullOrUndef(input)) {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n mount(input, parentDOM, context, false, null, lifecycle);\n parentDOM.$V = input;\n rootInput = input;\n }\n }\n else {\n if (isNullOrUndef(input)) {\n remove(rootInput, parentDOM);\n parentDOM.$V = null;\n }\n else {\n if (input.flags & 16384 /* InUse */) {\n input = directClone(input);\n }\n patch(rootInput, input, parentDOM, context, false, null, lifecycle);\n rootInput = parentDOM.$V = input;\n }\n }\n callAll(lifecycle);\n renderCheck.v = false;\n if (isFunction(callback)) {\n callback();\n }\n if (isFunction(options.renderComplete)) {\n options.renderComplete(rootInput, parentDOM);\n }\n}\nfunction render(input, parentDOM, callback, context) {\n if ( callback === void 0 ) callback = null;\n if ( context === void 0 ) context = EMPTY_OBJ;\n\n __render(input, parentDOM, callback, context);\n}\nfunction createRenderer(parentDOM) {\n return function renderer(lastInput, nextInput, callback, context) {\n if (!parentDOM) {\n parentDOM = lastInput;\n }\n render(nextInput, parentDOM, callback, context);\n };\n}\n\nvar QUEUE = [];\nvar nextTick = typeof Promise !== 'undefined'\n ? Promise.resolve().then.bind(Promise.resolve())\n : function (a) {\n window.setTimeout(a, 0);\n };\nvar microTaskPending = false;\nfunction queueStateChanges(component, newState, callback, force) {\n var pending = component.$PS;\n if (isFunction(newState)) {\n newState = newState(pending ? combineFrom(component.state, pending) : component.state, component.props, component.context);\n }\n if (isNullOrUndef(pending)) {\n component.$PS = newState;\n }\n else {\n for (var stateKey in newState) {\n pending[stateKey] = newState[stateKey];\n }\n }\n if (!component.$BR) {\n if (!renderCheck.v) {\n if (QUEUE.length === 0) {\n applyState(component, force);\n if (isFunction(callback)) {\n callback.call(component);\n }\n return;\n }\n }\n if (QUEUE.indexOf(component) === -1) {\n QUEUE.push(component);\n }\n if (force) {\n component.$F = true;\n }\n if (!microTaskPending) {\n microTaskPending = true;\n nextTick(rerender);\n }\n if (isFunction(callback)) {\n var QU = component.$QU;\n if (!QU) {\n QU = component.$QU = [];\n }\n QU.push(callback);\n }\n }\n else if (isFunction(callback)) {\n component.$L.push(callback.bind(component));\n }\n}\nfunction callSetStateCallbacks(component) {\n var queue = component.$QU;\n for (var i = 0; i < queue.length; ++i) {\n queue[i].call(component);\n }\n component.$QU = null;\n}\nfunction rerender() {\n var component;\n microTaskPending = false;\n while ((component = QUEUE.shift())) {\n if (!component.$UN) {\n var force = component.$F;\n component.$F = false;\n applyState(component, force);\n if (component.$QU) {\n callSetStateCallbacks(component);\n }\n }\n }\n}\nfunction applyState(component, force) {\n if (force || !component.$BR) {\n var pendingState = component.$PS;\n component.$PS = null;\n var lifecycle = [];\n renderCheck.v = true;\n updateClassComponent(component, combineFrom(component.state, pendingState), component.props, findDOMfromVNode(component.$LI, true).parentNode, component.context, component.$SVG, force, null, lifecycle);\n callAll(lifecycle);\n renderCheck.v = false;\n }\n else {\n component.state = component.$PS;\n component.$PS = null;\n }\n}\nvar Component = function Component(props, context) {\n // Public\n this.state = null;\n // Internal properties\n this.$BR = false; // BLOCK RENDER\n this.$BS = true; // BLOCK STATE\n this.$PS = null; // PENDING STATE (PARTIAL or FULL)\n this.$LI = null; // LAST INPUT\n this.$UN = false; // UNMOUNTED\n this.$CX = null; // CHILDCONTEXT\n this.$QU = null; // QUEUE\n this.$N = false; // Uses new lifecycle API Flag\n this.$L = null; // Current lifecycle of this component\n this.$SVG = false; // Flag to keep track if component is inside SVG tree\n this.$F = false; // Force update flag\n this.props = props || EMPTY_OBJ;\n this.context = context || EMPTY_OBJ; // context should not be mutable\n};\nComponent.prototype.forceUpdate = function forceUpdate (callback) {\n if (this.$UN) {\n return;\n }\n // Do not allow double render during force update\n queueStateChanges(this, {}, callback, true);\n};\nComponent.prototype.setState = function setState (newState, callback) {\n if (this.$UN) {\n return;\n }\n if (!this.$BS) {\n queueStateChanges(this, newState, callback, false);\n }\n};\nComponent.prototype.render = function render (_nextProps, _nextState, _nextContext) {\n return null;\n};\n\nvar version = \"7.4.11\";\n\nexport { Component, EMPTY_OBJ, Fragment, createClassComponentInstance as _CI, normalizeRoot as _HI, mount as _M, mountClassComponentCallbacks as _MCCC, mountElement as _ME, mountFunctionalComponentCallbacks as _MFCC, mountProps as _MP, mountRef as _MR, renderFunctionalComponent as _RFC, __render, createComponentVNode, createFragment, createPortal, createRef, createRenderer, createTextVNode, createVNode, directClone, findDOMfromVNode, forwardRef, getFlagsForElementVnode, linkEvent, normalizeProps, options, render, rerender, version };\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = self.fetch || (self.fetch = require('unfetch').default || require('unfetch'));\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/**\n * JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n * \n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/murmurhash-js\n * @author <a href=\"mailto:aappleby@gmail.com\">Austin Appleby</a>\n * @see http://sites.google.com/site/murmurhash/\n * \n * @param {string} key ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash \n */\n\nfunction murmurhash3_32_gc(key, seed) {\n\tvar remainder, bytes, h1, h1b, c1, c1b, c2, c2b, k1, i;\n\t\n\tremainder = key.length & 3; // key.length % 4\n\tbytes = key.length - remainder;\n\th1 = seed;\n\tc1 = 0xcc9e2d51;\n\tc2 = 0x1b873593;\n\ti = 0;\n\t\n\twhile (i < bytes) {\n\t \tk1 = \n\t \t ((key.charCodeAt(i) & 0xff)) |\n\t \t ((key.charCodeAt(++i) & 0xff) << 8) |\n\t \t ((key.charCodeAt(++i) & 0xff) << 16) |\n\t \t ((key.charCodeAt(++i) & 0xff) << 24);\n\t\t++i;\n\t\t\n\t\tk1 = ((((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16))) & 0xffffffff;\n\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\tk1 = ((((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16))) & 0xffffffff;\n\n\t\th1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n\t\th1b = ((((h1 & 0xffff) * 5) + ((((h1 >>> 16) * 5) & 0xffff) << 16))) & 0xffffffff;\n\t\th1 = (((h1b & 0xffff) + 0x6b64) + ((((h1b >>> 16) + 0xe654) & 0xffff) << 16));\n\t}\n\t\n\tk1 = 0;\n\t\n\tswitch (remainder) {\n\t\tcase 3: k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n\t\tcase 2: k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n\t\tcase 1: k1 ^= (key.charCodeAt(i) & 0xff);\n\t\t\n\t\tk1 = (((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;\n\t\tk1 = (k1 << 15) | (k1 >>> 17);\n\t\tk1 = (((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;\n\t\th1 ^= k1;\n\t}\n\t\n\th1 ^= key.length;\n\n\th1 ^= h1 >>> 16;\n\th1 = (((h1 & 0xffff) * 0x85ebca6b) + ((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) & 0xffffffff;\n\th1 ^= h1 >>> 13;\n\th1 = ((((h1 & 0xffff) * 0xc2b2ae35) + ((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16))) & 0xffffffff;\n\th1 ^= h1 >>> 16;\n\n\treturn h1 >>> 0;\n}\n\nif(typeof module !== \"undefined\") {\n module.exports = murmurhash3_32_gc\n}","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n this.data = new Uint8Array(encodeUtf8(data))\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _encUtf = _interopRequireDefault(require(\"crypto-js/enc-utf8\"));\n\nvar _aes = _interopRequireDefault(require(\"crypto-js/aes\"));\n\nvar _fingerprint = _interopRequireDefault(require(\"./fingerprint\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * EncryptionService\n */\nvar EncryptionService = /*#__PURE__*/function () {\n function EncryptionService() {\n _classCallCheck(this, EncryptionService);\n\n _defineProperty(this, \"secureKey\", \"\");\n\n this.secureKey = (0, _fingerprint.default)();\n }\n /**\n * Function to encrypt data\n * @param value\n * @returns\n */\n\n\n _createClass(EncryptionService, [{\n key: \"encrypt\",\n value: function encrypt(value) {\n return _aes.default.encrypt(value, this.secureKey).toString();\n }\n /**\n * Function to decrypt data\n * @param value\n * @returns\n */\n\n }, {\n key: \"decrypt\",\n value: function decrypt(value) {\n try {\n var bytes = _aes.default.decrypt(value, this.secureKey);\n\n return bytes.toString(_encUtf.default) || null;\n } catch (ex) {\n return null;\n }\n }\n }]);\n\n return EncryptionService;\n}();\n\nvar _default = EncryptionService;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar SUPPORTED_PREFIX = [\"\", \"REACT_APP_\", \"NEXT_PUBLIC_\", \"VITE_\"];\n\n/**\n * Function to get SECURE_LOCAL_STORAGE_HASH_KEY\n * @returns\n */\nvar getHashKey = function getHashKey() {\n var value = null;\n\n try {\n if (typeof Cypress != \"undefined\") {\n value = Cypress.env(\"SECURE_LOCAL_STORAGE_HASH_KEY\") || Cypress.env(\"REACT_APP_SECURE_LOCAL_STORAGE_HASH_KEY\") || Cypress.env(\"NEXT_PUBLIC_SECURE_LOCAL_STORAGE_HASH_KEY\") || Cypress.env(\"VITE_SECURE_LOCAL_STORAGE_HASH_KEY\");\n } else if (typeof process.env != \"undefined\") {\n value = process.env.SECURE_LOCAL_STORAGE_HASH_KEY || process.env.REACT_APP_SECURE_LOCAL_STORAGE_HASH_KEY || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_HASH_KEY || process.env.VITE_SECURE_LOCAL_STORAGE_HASH_KEY;\n } else {\n console.warn(\"react-secure-storage : process is not defined! Just a warning!\");\n }\n } catch (ex) {\n return null;\n }\n\n return value;\n};\n/**\n * Function to get SECURE_LOCAL_STORAGE_PREFIX\n * @returns\n */\n\n\nvar getStoragePrefix = function getStoragePrefix() {\n var value = null;\n\n try {\n if (typeof Cypress != \"undefined\") {\n value = Cypress.env(\"SECURE_LOCAL_STORAGE_PREFIX\") || Cypress.env(\"REACT_APP_SECURE_LOCAL_STORAGE_PREFIX\") || Cypress.env(\"NEXT_PUBLIC_SECURE_LOCAL_STORAGE_PREFIX\") || Cypress.env(\"VITE_SECURE_LOCAL_STORAGE_PREFIX\");\n } else if (typeof process.env != \"undefined\") {\n value = process.env.SECURE_LOCAL_STORAGE_PREFIX || process.env.REACT_APP_SECURE_LOCAL_STORAGE_PREFIX || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_PREFIX || process.env.VITE_SECURE_LOCAL_STORAGE_PREFIX;\n } else {\n console.warn(\"react-secure-storage : process is not defined! Just a warning!\");\n }\n } catch (ex) {\n return null;\n }\n\n return value;\n};\n/**\n * Function to get SECURE_LOCAL_STORAGE_DISABLED_KEYS\n * @returns\n */\n\n\nvar getDisabledKeys = function getDisabledKeys() {\n var value = null;\n\n try {\n if (typeof Cypress != \"undefined\") {\n value = Cypress.env(\"SECURE_LOCAL_STORAGE_DISABLED_KEYS\") || Cypress.env(\"REACT_APP_SECURE_LOCAL_STORAGE_DISABLED_KEYS\") || Cypress.env(\"NEXT_PUBLIC_SECURE_LOCAL_STORAGE_DISABLED_KEYS\") || Cypress.env(\"VITE_SECURE_LOCAL_STORAGE_DISABLED_KEYS\");\n } else if (typeof process.env != \"undefined\") {\n value = process.env.SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.REACT_APP_SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.NEXT_PUBLIC_SECURE_LOCAL_STORAGE_DISABLED_KEYS || process.env.VITE_SECURE_LOCAL_STORAGE_DISABLED_KEYS;\n } else {\n console.warn(\"react-secure-storage : process is not defined! Just a warning!\");\n }\n } catch (ex) {\n return null;\n }\n\n return value;\n};\n\nvar envHelper = {\n getHashKey: getHashKey,\n getStoragePrefix: getStoragePrefix,\n getDisabledKeys: getDisabledKeys\n};\nvar _default = envHelper;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _envHelper = _interopRequireDefault(require(\"./envHelper\"));\n\nvar _fingerprint = _interopRequireDefault(require(\"./fingerprint.lib\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable no-undef */\nvar HASH_KEY = \"E86E2612010258B35137\";\n/**\n * Function to get browser finger print\n * @returns\n */\n\nvar getFingerprint = function getFingerprint() {\n var HASH_KEY_CUSTOM = _envHelper.default.getHashKey() || HASH_KEY;\n if (typeof window === \"undefined\") return HASH_KEY_CUSTOM;\n return _fingerprint.default.getFingerprint() + HASH_KEY_CUSTOM;\n};\n\nvar _default = getFingerprint;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _murmurhash3_gc = _interopRequireDefault(require(\"murmurhash-js/murmurhash3_gc\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n// ClientJS prototype which contains all methods.\nvar ClientJS = /*#__PURE__*/function () {\n function ClientJS() {\n _classCallCheck(this, ClientJS);\n }\n\n _createClass(ClientJS, [{\n key: \"getFingerprint\",\n value: //\n // MAIN METHODS\n //\n // Get Fingerprint. Return a 32-bit integer representing the browsers fingerprint.\n function getFingerprint() {\n var bar = \"|\";\n var disabledKeys = (0, _utils.getDisabledKeys)();\n var key = \"\";\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.USERAGENT)) {\n key += navigator.userAgent + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.HOSTNAME)) {\n key += window.location.hostname + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.SCREEN_PRINT)) {\n key += this.getScreenPrint() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.PLUGINS)) {\n key += this.getPlugins() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.FONTS)) {\n key += this.getFonts() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.LOCAL_STORAGE)) {\n key += this.isLocalStorage() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.SESSION_STORAGE)) {\n key += this.isSessionStorage() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.TIMEZONE)) {\n key += this.getTimeZone() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.LANGUAGE)) {\n key += this.getLanguage() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.SYSTEM_LANGUAGE)) {\n key += this.getSystemLanguage() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.COOKIE)) {\n key += this.isCookie() + bar;\n }\n\n if (!disabledKeys.includes(_utils.FINGERPRINT_KEYS.CANVAS)) {\n key += this.getCanvasPrint();\n }\n\n if (key.endsWith(bar)) key = key.substring(0, key.length - 1);\n var seed = 256;\n return (0, _murmurhash3_gc.default)(key, seed);\n } //\n // SCREEN METHODS\n //\n // Get Screen Print. Return a string containing screen information.\n\n }, {\n key: \"getScreenPrint\",\n value: function getScreenPrint() {\n // \"Current Resolution: \" + this.getCurrentResolution() +\", Available Resolution: \" + this.getAvailableResolution() +\n return \"Color Depth: \" + this.getColorDepth() + \", Device XDPI: \" + this.getDeviceXDPI() + \", Device YDPI: \" + this.getDeviceYDPI();\n } // Get Color Depth. Return a string containing the color depth.\n\n }, {\n key: \"getColorDepth\",\n value: function getColorDepth() {\n return window.screen.colorDepth;\n } // Get Current Resolution. Return a string containing the current resolution.\n\n }, {\n key: \"getCurrentResolution\",\n value: function getCurrentResolution() {\n return window.screen.width + \"x\" + window.screen.height;\n } // Get Available Resolution. Return a string containing the available resolution.\n\n }, {\n key: \"getAvailableResolution\",\n value: function getAvailableResolution() {\n return window.screen.availWidth + \"x\" + window.screen.availHeight;\n } // Get Device XPDI. Return a string containing the device XPDI.\n\n }, {\n key: \"getDeviceXDPI\",\n value: function getDeviceXDPI() {\n // return window.screen.deviceXDPI;\n return \"\";\n } // Get Device YDPI. Return a string containing the device YDPI.\n\n }, {\n key: \"getDeviceYDPI\",\n value: function getDeviceYDPI() {\n // return window.screen.deviceYDPI;\n return \"\";\n } //\n // PLUGIN METHODS\n //\n // Get Plugins. Return a string containing a list of installed plugins.\n\n }, {\n key: \"getPlugins\",\n value: function getPlugins() {\n var pluginsList = \"\";\n\n for (var i = 0; i < navigator.plugins.length; i++) {\n if (i === navigator.plugins.length - 1) {\n pluginsList += navigator.plugins[i].name;\n } else {\n pluginsList += navigator.plugins[i].name + \", \";\n }\n }\n\n return pluginsList;\n } //\n // FONT METHODS\n //\n // Get Fonts. Return a string containing a list of installed fonts.\n\n }, {\n key: \"getFonts\",\n value: function getFonts() {\n var fontArray = [\"Abadi MT Condensed Light\", \"Adobe Fangsong Std\", \"Adobe Hebrew\", \"Adobe Ming Std\", \"Agency FB\", \"Aharoni\", \"Andalus\", \"Angsana New\", \"AngsanaUPC\", \"Aparajita\", \"Arab\", \"Arabic Transparent\", \"Arabic Typesetting\", \"Arial Baltic\", \"Arial Black\", \"Arial CE\", \"Arial CYR\", \"Arial Greek\", \"Arial TUR\", \"Arial\", \"Batang\", \"BatangChe\", \"Bauhaus 93\", \"Bell MT\", \"Bitstream Vera Serif\", \"Bodoni MT\", \"Bookman Old Style\", \"Braggadocio\", \"Broadway\", \"Browallia New\", \"BrowalliaUPC\", \"Calibri Light\", \"Calibri\", \"Californian FB\", \"Cambria Math\", \"Cambria\", \"Candara\", \"Castellar\", \"Casual\", \"Centaur\", \"Century Gothic\", \"Chalkduster\", \"Colonna MT\", \"Comic Sans MS\", \"Consolas\", \"Constantia\", \"Copperplate Gothic Light\", \"Corbel\", \"Cordia New\", \"CordiaUPC\", \"Courier New Baltic\", \"Courier New CE\", \"Courier New CYR\", \"Courier New Greek\", \"Courier New TUR\", \"Courier New\", \"DFKai-SB\", \"DaunPenh\", \"David\", \"DejaVu LGC Sans Mono\", \"Desdemona\", \"DilleniaUPC\", \"DokChampa\", \"Dotum\", \"DotumChe\", \"Ebrima\", \"Engravers MT\", \"Eras Bold ITC\", \"Estrangelo Edessa\", \"EucrosiaUPC\", \"Euphemia\", \"Eurostile\", \"FangSong\", \"Forte\", \"FrankRuehl\", \"Franklin Gothic Heavy\", \"Franklin Gothic Medium\", \"FreesiaUPC\", \"French Script MT\", \"Gabriola\", \"Gautami\", \"Georgia\", \"Gigi\", \"Gisha\", \"Goudy Old Style\", \"Gulim\", \"GulimChe\", \"GungSeo\", \"Gungsuh\", \"GungsuhChe\", \"Haettenschweiler\", \"Harrington\", \"Hei S\", \"HeiT\", \"Heisei Kaku Gothic\", \"Hiragino Sans GB\", \"Impact\", \"Informal Roman\", \"IrisUPC\", \"Iskoola Pota\", \"JasmineUPC\", \"KacstOne\", \"KaiTi\", \"Kalinga\", \"Kartika\", \"Khmer UI\", \"Kino MT\", \"KodchiangUPC\", \"Kokila\", \"Kozuka Gothic Pr6N\", \"Lao UI\", \"Latha\", \"Leelawadee\", \"Levenim MT\", \"LilyUPC\", \"Lohit Gujarati\", \"Loma\", \"Lucida Bright\", \"Lucida Console\", \"Lucida Fax\", \"Lucida Sans Unicode\", \"MS Gothic\", \"MS Mincho\", \"MS PGothic\", \"MS PMincho\", \"MS Reference Sans Serif\", \"MS UI Gothic\", \"MV Boli\", \"Magneto\", \"Malgun Gothic\", \"Mangal\", \"Marlett\", \"Matura MT Script Capitals\", \"Meiryo UI\", \"Meiryo\", \"Menlo\", \"Microsoft Himalaya\", \"Microsoft JhengHei\", \"Microsoft New Tai Lue\", \"Microsoft PhagsPa\", \"Microsoft Sans Serif\", \"Microsoft Tai Le\", \"Microsoft Uighur\", \"Microsoft YaHei\", \"Microsoft Yi Baiti\", \"MingLiU\", \"MingLiU-ExtB\", \"MingLiU_HKSCS\", \"MingLiU_HKSCS-ExtB\", \"Miriam Fixed\", \"Miriam\", \"Mongolian Baiti\", \"MoolBoran\", \"NSimSun\", \"Narkisim\", \"News Gothic MT\", \"Niagara Solid\", \"Nyala\", \"PMingLiU\", \"PMingLiU-ExtB\", \"Palace Script MT\", \"Palatino Linotype\", \"Papyrus\", \"Perpetua\", \"Plantagenet Cherokee\", \"Playbill\", \"Prelude Bold\", \"Prelude Condensed Bold\", \"Prelude Condensed Medium\", \"Prelude Medium\", \"PreludeCompressedWGL Black\", \"PreludeCompressedWGL Bold\", \"PreludeCompressedWGL Light\", \"PreludeCompressedWGL Medium\", \"PreludeCondensedWGL Black\", \"PreludeCondensedWGL Bold\", \"PreludeCondensedWGL Light\", \"PreludeCondensedWGL Medium\", \"PreludeWGL Black\", \"PreludeWGL Bold\", \"PreludeWGL Light\", \"PreludeWGL Medium\", \"Raavi\", \"Rachana\", \"Rockwell\", \"Rod\", \"Sakkal Majalla\", \"Sawasdee\", \"Script MT Bold\", \"Segoe Print\", \"Segoe Script\", \"Segoe UI Light\", \"Segoe UI Semibold\", \"Segoe UI Symbol\", \"Segoe UI\", \"Shonar Bangla\", \"Showcard Gothic\", \"Shruti\", \"SimHei\", \"SimSun\", \"SimSun-ExtB\", \"Simplified Arabic Fixed\", \"Simplified Arabic\", \"Snap ITC\", \"Sylfaen\", \"Symbol\", \"Tahoma\", \"Times New Roman Baltic\", \"Times New Roman CE\", \"Times New Roman CYR\", \"Times New Roman Greek\", \"Times New Roman TUR\", \"Times New Roman\", \"TlwgMono\", \"Traditional Arabic\", \"Trebuchet MS\", \"Tunga\", \"Tw Cen MT Condensed Extra Bold\", \"Ubuntu\", \"Umpush\", \"Univers\", \"Utopia\", \"Utsaah\", \"Vani\", \"Verdana\", \"Vijaya\", \"Vladimir Script\", \"Vrinda\", \"Webdings\", \"Wide Latin\", \"Wingdings\"];\n var fontString = \"\"; // TODO: Need to enable this code\n // for (let i = 0; i < fontArray.length; i++) {\n // if (fontDetective.detect(fontArray[i])) {\n // if (i == fontArray.length - 1) {\n // fontString += fontArray[i];\n // } else {\n // fontString += fontArray[i] + \", \";\n // }\n // }\n // }\n\n return fontString;\n } //\n // STORAGE METHODS\n //\n // Is Local Storage. Check if local storage is enabled.\n\n }, {\n key: \"isLocalStorage\",\n value: function isLocalStorage() {\n try {\n return !!localStorage;\n } catch (e) {\n return true; // SecurityError when referencing it means it exists\n }\n } // Is Session Storage. Check if session storage is enabled.\n\n }, {\n key: \"isSessionStorage\",\n value: function isSessionStorage() {\n try {\n return !!sessionStorage;\n } catch (e) {\n return true; // SecurityError when referencing it means it exists\n }\n } // Is Cookie. Check if cookies are enabled.\n\n }, {\n key: \"isCookie\",\n value: function isCookie() {\n return navigator.cookieEnabled;\n } //\n // TIME METHODS\n //\n // Get Time Zone. Return a string containing the time zone.\n\n }, {\n key: \"getTimeZone\",\n value: function getTimeZone() {\n var rightNow, myNumber, formattedNumber, result;\n rightNow = new Date();\n myNumber = String(-(rightNow.getTimezoneOffset() / 60));\n\n if (myNumber < 0) {\n myNumber = myNumber * -1;\n formattedNumber = (\"0\" + myNumber).slice(-2);\n result = \"-\" + formattedNumber;\n } else {\n formattedNumber = (\"0\" + myNumber).slice(-2);\n result = \"+\" + formattedNumber;\n }\n\n return result;\n } //\n // LANGUAGE METHODS\n //\n // Get Language. Return a string containing the user language.\n\n }, {\n key: \"getLanguage\",\n value: function getLanguage() {\n return navigator.language;\n } // Get System Language. Return a string containing the system language.\n\n }, {\n key: \"getSystemLanguage\",\n value: function getSystemLanguage() {\n return navigator.language || window.navigator.language;\n } // Get Canvas Print. Return a string containing the canvas URI data.\n\n }, {\n key: \"getCanvasPrint\",\n value: function getCanvasPrint() {\n // create a canvas element\n var canvas = document.createElement(\"canvas\"); // define a context let that will be used for browsers with canvas support\n\n var ctx; // try/catch for older browsers that don't support the canvas element\n\n try {\n // attempt to give ctx a 2d canvas context value\n ctx = canvas.getContext(\"2d\");\n } catch (e) {\n // return empty string if canvas element not supported\n return \"\";\n } // https://www.browserleaks.com/canvas#how-does-it-work\n // Text with lowercase/uppercase/punctuation symbols\n\n\n var txt = \"ClientJS,org <canvas> 1.0\";\n ctx.textBaseline = \"top\"; // The most common type\n\n ctx.font = \"14px 'Arial'\";\n ctx.textBaseline = \"alphabetic\";\n ctx.fillStyle = \"#f60\";\n ctx.fillRect(125, 1, 62, 20); // Some tricks for color mixing to increase the difference in rendering\n\n ctx.fillStyle = \"#069\";\n ctx.fillText(txt, 2, 15);\n ctx.fillStyle = \"rgba(102, 204, 0, 0.7)\";\n ctx.fillText(txt, 4, 17);\n return canvas.toDataURL();\n }\n }]);\n\n return ClientJS;\n}();\n\nvar clientJS = new ClientJS();\nvar _default = clientJS;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _encryption = _interopRequireDefault(require(\"./encryption\"));\n\nvar _localStorageHelpers = _interopRequireDefault(require(\"./localStorageHelpers\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar KEY_PREFIX = (0, _utils.getSecurePrefix)();\n/**\n * Function to return datatype of the value we stored\n * @param value\n * @returns\n */\n\nvar getDataType = function getDataType(value) {\n return _typeof(value) === \"object\" ? \"j\" : typeof value === \"boolean\" ? \"b\" : typeof value === \"number\" ? \"n\" : \"s\";\n};\n/**\n * Function to create local storage key\n * @param key\n * @param value\n */\n\n\nvar getLocalKey = function getLocalKey(key, value) {\n var keyType = getDataType(value);\n return KEY_PREFIX + \"\".concat(keyType, \".\") + key;\n};\n/**\n * This version of local storage supports the following data types as it is and other data types will be treated as string\n * object, string, number and Boolean\n */\n\n\nvar SecureLocalStorage = /*#__PURE__*/function () {\n function SecureLocalStorage() {\n _classCallCheck(this, SecureLocalStorage);\n\n _defineProperty(this, \"_localStorageItems\", {});\n\n this._localStorageItems = (0, _localStorageHelpers.default)();\n }\n /**\n * Function to set value to secure local storage\n * @param key to be added\n * @param value value to be added\n */\n\n\n _createClass(SecureLocalStorage, [{\n key: \"setItem\",\n value: function setItem(key, value) {\n var parsedValue = _typeof(value) === \"object\" ? JSON.stringify(value) : value + \"\";\n var parsedKeyLocal = getLocalKey(key, value);\n var parsedKey = KEY_PREFIX + key;\n if (key != null) this._localStorageItems[parsedKey] = value;\n var encrypt = new _encryption.default();\n localStorage.setItem(parsedKeyLocal, encrypt.encrypt(parsedValue));\n }\n /**\n * Function to get value from secure local storage\n * @param key to get\n * @returns\n */\n\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n var parsedKey = KEY_PREFIX + key;\n return this._localStorageItems[parsedKey] || null;\n }\n /**\n * Function to remove item from secure local storage\n * @param key to be removed\n */\n\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n var parsedKey = KEY_PREFIX + key;\n var value = this._localStorageItems[parsedKey];\n var parsedKeyLocal = getLocalKey(key, value);\n if (this._localStorageItems[parsedKey] !== undefined) delete this._localStorageItems[parsedKey];\n localStorage.removeItem(parsedKeyLocal);\n }\n /**\n * Function to clear secure local storage\n */\n\n }, {\n key: \"clear\",\n value: function clear() {\n this._localStorageItems = {};\n localStorage.clear();\n }\n }]);\n\n return SecureLocalStorage;\n}();\n\nvar secureLocalStorage = new SecureLocalStorage();\nvar _default = secureLocalStorage;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _encryption = _interopRequireDefault(require(\"./encryption\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar KEY_PREFIX = (0, _utils.getSecurePrefix)();\n/**\n * Function to preload all the local storage data\n * @returns\n */\n\nvar getAllLocalStorageItems = function getAllLocalStorageItems() {\n var localStorageItems = {};\n\n if (typeof window !== \"undefined\") {\n var encrypt = new _encryption.default();\n\n for (var _i = 0, _Object$entries = Object.entries(localStorage); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n if (key.startsWith(KEY_PREFIX)) {\n var keyType = key.replace(KEY_PREFIX, \"\")[0];\n var parsedKey = key.replace(/[.][bjns][.]/, \".\");\n var decryptedValue = encrypt.decrypt(value);\n var parsedValue = null;\n if (decryptedValue != null) switch (keyType) {\n case \"b\":\n parsedValue = decryptedValue === \"true\";\n break;\n\n case \"j\":\n parsedValue = JSON.parse(decryptedValue);\n break;\n\n case \"n\":\n parsedValue = Number(decryptedValue);\n break;\n\n default:\n parsedValue = decryptedValue;\n }\n localStorageItems[parsedKey] = parsedValue;\n }\n }\n }\n\n return localStorageItems;\n};\n\nvar _default = getAllLocalStorageItems;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSecurePrefix = exports.getDisabledKeys = exports.FINGERPRINT_KEYS = void 0;\n\nvar _envHelper = _interopRequireDefault(require(\"./envHelper\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Function which is used to get the secure prefix\n * @returns\n */\nvar getSecurePrefix = function getSecurePrefix() {\n var KEY_PREFIX = _envHelper.default.getStoragePrefix() || \"@secure.\";\n if (!KEY_PREFIX.endsWith(\".\")) return KEY_PREFIX + \".\";\n return KEY_PREFIX;\n};\n\nexports.getSecurePrefix = getSecurePrefix;\nvar FINGERPRINT_KEYS = {\n USERAGENT: \"UserAgent\",\n SCREEN_PRINT: \"ScreenPrint\",\n PLUGINS: \"Plugins\",\n FONTS: \"Fonts\",\n LOCAL_STORAGE: \"LocalStorage\",\n SESSION_STORAGE: \"SessionStorage\",\n TIMEZONE: \"TimeZone\",\n LANGUAGE: \"Language\",\n SYSTEM_LANGUAGE: \"SystemLanguage\",\n COOKIE: \"Cookie\",\n CANVAS: \"Canvas\",\n HOSTNAME: \"Hostname\"\n};\n/**\n * Function which is used to get all the disabled keys\n * @returns\n */\n\nexports.FINGERPRINT_KEYS = FINGERPRINT_KEYS;\n\nvar getDisabledKeys = function getDisabledKeys() {\n var DISABLED_KEYS = _envHelper.default.getDisabledKeys() || \"\";\n if (DISABLED_KEYS === \"\") return [];\n var allOptions = [FINGERPRINT_KEYS.USERAGENT, FINGERPRINT_KEYS.SCREEN_PRINT, FINGERPRINT_KEYS.PLUGINS, FINGERPRINT_KEYS.FONTS, FINGERPRINT_KEYS.LOCAL_STORAGE, FINGERPRINT_KEYS.SESSION_STORAGE, FINGERPRINT_KEYS.TIMEZONE, FINGERPRINT_KEYS.LANGUAGE, FINGERPRINT_KEYS.SYSTEM_LANGUAGE, FINGERPRINT_KEYS.COOKIE, FINGERPRINT_KEYS.CANVAS, FINGERPRINT_KEYS.HOSTNAME];\n var response = [];\n DISABLED_KEYS.split(\"|\").forEach(function (key) {\n if (key === \"\") {} else if (allOptions.includes(key)) response.push(key);else console.warn(\"react-secure-storage : \".concat(key, \" is not present in the available disabled keys options! Please go through the documentation\"));\n });\n return response;\n};\n\nexports.getDisabledKeys = getDisabledKeys;","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/*\n * Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nvar _ = require('./es6_');\n\n/**\n * Performs an deep extend on the objects, from right to left.\n * @private\n * @param {Object[]} objects - An array of JS objects\n * @param {Function} collision - A function to be called when a merge collision happens.\n * @param {string[]} path - (for internal use) An array of strings which is the current path down the object when this is called recursively.\n * @returns {Object}\n */\nfunction deepExtend(objects, collision, path) {\n if (objects == null)\n return {};\n\n var src, copyIsArray, copy, name, options, clone,\n target = objects[0] || {},\n i = 1,\n length = objects.length;\n\n path = path || [];\n\n // Handle case when target is a string or something (possible in deep copy)\n if ( typeof target !== 'object' ) {\n target = {};\n }\n\n for ( ; i < length; i++) {\n // Only deal with non-null/undefined values\n if ( (options = objects[ i ]) != null ) {\n // Extend the base object\n for (name in options) {\n if (!options.hasOwnProperty(name))\n continue;\n if (name === '__proto__')\n continue;\n\n src = target[name];\n copy = options[name];\n\n // Prevent never-ending loop\n if (target === copy) {\n continue;\n }\n\n // Recurse if we're merging plain objects or arrays\n if ( copy && ( _.isPlainObject(copy) || (copyIsArray = _.isArray(copy)) ) ) {\n if ( copyIsArray ) {\n copyIsArray = false;\n clone = src && _.isArray(src) ? src : [];\n } else {\n clone = src && _.isPlainObject(src) ? src : {};\n }\n\n var nextPath = path.slice(0);\n nextPath.push(name);\n\n // Never move original objects, clone them\n target[ name ] = deepExtend( [clone, copy], collision, nextPath );\n\n // Don't bring in undefined values\n } else if ( copy !== undefined ) {\n if (src != null && typeof collision == 'function') {\n collision({target: target, copy: options, path: path, key: name});\n }\n target[ name ] = copy;\n }\n }\n }\n }\n\n return target;\n}\n\nmodule.exports = deepExtend;\n","/*\n * Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nconst ChangeCase = require('change-case')\n\nconst reduce = function(obj, f, accumulator_init) {\n return Object.keys(obj || {}).reduce((accumulator, key) => {\n let value = obj[key]\n return f(accumulator, value, key, obj)\n }, accumulator_init)\n}\n\nconst forEach = function(obj, f) {\n Object.keys(obj || {}).forEach((key) => {\n let value = obj[key]\n f(value, key)\n });\n}\n\n// Note: This is a crappy version to a certain extent... don't use with Strings, for example...\nconst clone = function(object) {\n return Object.assign(new object.constructor(), object)\n}\n\nconst cloneDeep = function(obj) {\n if(obj === null || obj === undefined || typeof obj !== 'object') {\n return obj\n }\n\n if(obj instanceof Array) {\n return obj.reduce((arr, item, i) => {\n arr[i] = cloneDeep(item)\n return arr\n }, [])\n }\n\n if(obj instanceof Object) {\n return Object.keys(obj || {}).reduce((cpObj, key) => {\n cpObj[key] = cloneDeep(obj[key])\n return cpObj\n }, {})\n }\n}\n\nconst isObject = function(value) {\n const type = typeof value\n return value != null && (type === 'object' || type === 'function')\n}\n\nconst isString = function(obj) {\n return typeof obj === 'string' || obj instanceof String\n}\n\nconst isArray = function(obj) {\n return Array.isArray(obj)\n}\n\nconst isEmpty = function(obj) {\n return [Object, Array].includes((obj || {}).constructor) && !Object.entries((obj || {})).length\n}\n\nfunction isPlainObject(value) {\n if (typeof value !== 'object' || value === null || Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n if (Object.getPrototypeOf(value) === null) {\n return true\n }\n let proto = value\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto)\n }\n return Object.getPrototypeOf(value) === proto\n}\n\nconst filter = function (arr, filter) {\n if (typeof(filter) !== 'function') {\n throw(\"filter is not a function\")\n }\n if (typeof arr === 'undefined') {\n return []\n }\n return arr.filter(filter)\n}\n\nconst assign = function () {\n let args = Array.prototype.slice.call(arguments)\n args.unshift({})\n return Object.assign(...args)\n}\n\n/* global Set */\nconst pull = function (arr, ...removeList){\n var removeSet = new Set(removeList)\n for (let i=arr.length-1;i>=0;i--) {\n if (removeSet.has(arr[i])) {\n arr.splice(i, 1)\n }\n }\n}\n\nconst unique = function (arr){\n return [...new Set(arr)]\n}\n\nconst upperFirst = function (str) {\n return str ? str[0].toUpperCase() + str.substr(1) : ''\n}\n\nconst matchFn = function(inputObj, testObj) {\n if (isObject(testObj)) {\n return Object.keys(testObj).every((key) => matchFn(inputObj[key], testObj[key]))\n }\n else {\n return inputObj == testObj\n }\n}\n\nconst matches = function (matchObj) {\n let cloneObj = cloneDeep(matchObj)\n let matchesFn = (inputObj) => matchFn(inputObj, cloneObj)\n return matchesFn\n}\n\nconst DEFAULT_OPTIONS = {\n transform: ChangeCase.camelCaseTransformMerge\n}\nconst changeDefaultCaseTransform = function (caseFunction, default_options) {\n return (caseToChange, options) => caseFunction(caseToChange, Object.assign({}, DEFAULT_OPTIONS, default_options, options))\n}\n\nmodule.exports = {\n each: forEach,\n forEach: forEach,\n forIn: forEach,\n keys: Object.keys,\n clone: clone,\n cloneDeep: cloneDeep,\n extend: Object.assign,\n isString: isString,\n isArray: isArray,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isEmpty: isEmpty,\n filter: filter,\n reduce: reduce,\n assign: assign,\n upperFirst: upperFirst,\n camelCase: changeDefaultCaseTransform(ChangeCase.camelCase),\n snakeCase: ChangeCase.snakeCase,\n kebabCase: ChangeCase.paramCase,\n pull: pull,\n matches: matches,\n unique: unique,\n}\n","/*\n * Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nvar _ = require('./es6_');\n\n/**\n * Takes an plain javascript object and will make a flat array of all the leaf nodes.\n * A leaf node in this context has a 'value' property. Potentially refactor this to\n * be more generic.\n * @private\n * @param {Object} properties - The plain object you want flattened into an array.\n * @param {Array} [to_ret=[]] - Properties array. This function is recursive therefore this is what gets passed along.\n * @return {Array}\n */\nfunction flattenProperties(properties, to_ret) {\n to_ret = to_ret || [];\n\n for(var name in properties) {\n if (properties.hasOwnProperty(name)) {\n // TODO: this is a bit fragile and arbitrary to stop when we get to a 'value' property.\n if (_.isPlainObject(properties[name]) && ('value' in properties[name])) {\n to_ret.push( properties[name] );\n } else if (_.isPlainObject(properties[name])) {\n flattenProperties(properties[name], to_ret);\n }\n }\n }\n\n return to_ret;\n}\n\n\nmodule.exports = flattenProperties;\n","/*\n * Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nconst defaults = require('./defaults');\n\nfunction createReferenceRegex(opts = {}) {\n const options = Object.assign({}, defaults, opts);\n\n return new RegExp(\n '\\\\' +\n options.opening_character +\n '([^' +\n options.closing_character +\n ']+)' +\n '\\\\' +\n options.closing_character, 'g'\n );\n}\n\nmodule.exports = createReferenceRegex;\n","/*\n * Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nconst defaults = {\n opening_character: '{',\n closing_character: '}',\n separator: '.'\n};\n\nmodule.exports = defaults;\n","/*\n * Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\n\nconst createRegex = require('./createReferenceRegex');\n\n/**\n * Checks if the value uses a value reference.\n * @memberof Dictionary\n * @param {string} value\n * @param {Object|RegExp} regexOrOptions\n * @returns {boolean} - True, if the value uses a value reference\n */\nfunction usesReference(value, regexOrOptions = {}) {\n const regex = regexOrOptions instanceof RegExp ? regexOrOptions : createRegex(regexOrOptions);\n\n if (typeof value === 'string') {\n return regex.test(value);\n }\n\n if (typeof value === 'object') {\n let hasReference = false;\n // iterate over each property in the object,\n // if any element passes the regex test,\n // the whole thing should be true\n for (const key in value) {\n if (value.hasOwnProperty(key)) {\n const element = value[key];\n let reference = usesReference(element, regexOrOptions);\n if (reference) {\n hasReference = true;\n break;\n }\n }\n }\n return hasReference;\n }\n\n return false;\n}\n\nmodule.exports = usesReference;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export default function(url, options) {\n\toptions = options || {};\n\treturn new Promise( (resolve, reject) => {\n\t\tconst request = new XMLHttpRequest();\n\t\tconst keys = [];\n\t\tconst all = [];\n\t\tconst headers = {};\n\n\t\tconst response = () => ({\n\t\t\tok: (request.status/100|0) == 2,\t\t// 200-299\n\t\t\tstatusText: request.statusText,\n\t\t\tstatus: request.status,\n\t\t\turl: request.responseURL,\n\t\t\ttext: () => Promise.resolve(request.responseText),\n\t\t\tjson: () => Promise.resolve(request.responseText).then(JSON.parse),\n\t\t\tblob: () => Promise.resolve(new Blob([request.response])),\n\t\t\tclone: response,\n\t\t\theaders: {\n\t\t\t\tkeys: () => keys,\n\t\t\t\tentries: () => all,\n\t\t\t\tget: n => headers[n.toLowerCase()],\n\t\t\t\thas: n => n.toLowerCase() in headers\n\t\t\t}\n\t\t});\n\n\t\trequest.open(options.method || 'get', url, true);\n\n\t\trequest.onload = () => {\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (m, key, value) => {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theaders[key] = headers[key] ? `${headers[key]},${value}` : value;\n\t\t\t});\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\tfor (const i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.send(options.body || null);\n\t});\n}\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nexports.__assign = function() {\r\n exports.__assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return exports.__assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nexports.__read = __read;\nexports.__rest = __rest;\nexports.__spreadArray = __spreadArray;\nexports.__values = __values;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _tslib = require('./_virtual/_tslib.js');\n\nvar defaultWaitForOptions = {\n timeout: 10000 // 10 seconds\n\n};\n/**\r\n * Subscribes to an actor ref and waits for its emitted value to satisfy\r\n * a predicate, and then resolves with that value.\r\n * Will throw if the desired state is not reached after a timeout\r\n * (defaults to 10 seconds).\r\n *\r\n * @example\r\n * ```js\r\n * const state = await waitFor(someService, state => {\r\n * return state.hasTag('loaded');\r\n * });\r\n *\r\n * state.hasTag('loaded'); // true\r\n * ```\r\n *\r\n * @param actorRef The actor ref to subscribe to\r\n * @param predicate Determines if a value matches the condition to wait for\r\n * @param options\r\n * @returns A promise that eventually resolves to the emitted value\r\n * that matches the condition\r\n */\n\nfunction waitFor(actorRef, predicate, options) {\n var resolvedOptions = _tslib.__assign(_tslib.__assign({}, defaultWaitForOptions), options);\n\n return new Promise(function (res, rej) {\n var done = false;\n\n if (process.env.NODE_ENV !== 'production' && resolvedOptions.timeout < 0) {\n console.error('`timeout` passed to `waitFor` is negative and it will reject its internal promise immediately.');\n }\n\n var handle = resolvedOptions.timeout === Infinity ? undefined : setTimeout(function () {\n sub.unsubscribe();\n rej(new Error(\"Timeout of \".concat(resolvedOptions.timeout, \" ms exceeded\")));\n }, resolvedOptions.timeout);\n\n var dispose = function () {\n clearTimeout(handle);\n done = true;\n sub === null || sub === void 0 ? void 0 : sub.unsubscribe();\n };\n\n var sub = actorRef.subscribe({\n next: function (emitted) {\n if (predicate(emitted)) {\n dispose();\n res(emitted);\n }\n },\n error: function (err) {\n dispose();\n rej(err);\n },\n complete: function () {\n dispose();\n rej(new Error(\"Actor terminated without satisfying predicate\"));\n }\n });\n\n if (done) {\n sub.unsubscribe();\n }\n });\n}\n\nexports.waitFor = waitFor;\n","module.exports = require('./lib/Observable.js').Observable;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Observable = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// === Symbol Support ===\nvar hasSymbols = function () {\n return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function (name) {\n return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function (name) {\n return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n if (value == null) return undefined;\n if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n\n if (ctor === null) {\n ctor = undefined;\n }\n }\n\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n if (hostReportError.log) {\n hostReportError.log(e);\n } else {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction enqueue(fn) {\n Promise.resolve().then(function () {\n try {\n fn();\n } catch (e) {\n hostReportError(e);\n }\n });\n}\n\nfunction cleanupSubscription(subscription) {\n var cleanup = subscription._cleanup;\n if (cleanup === undefined) return;\n subscription._cleanup = undefined;\n\n if (!cleanup) {\n return;\n }\n\n try {\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n } catch (e) {\n hostReportError(e);\n }\n}\n\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n var queue = subscription._queue;\n\n if (!queue) {\n return;\n }\n\n subscription._queue = undefined;\n subscription._state = 'ready';\n\n for (var i = 0; i < queue.length; ++i) {\n notifySubscription(subscription, queue[i].type, queue[i].value);\n if (subscription._state === 'closed') break;\n }\n}\n\nfunction notifySubscription(subscription, type, value) {\n subscription._state = 'running';\n var observer = subscription._observer;\n\n try {\n var m = getMethod(observer, type);\n\n switch (type) {\n case 'next':\n if (m) m.call(observer, value);\n break;\n\n case 'error':\n closeSubscription(subscription);\n if (m) m.call(observer, value);else throw value;\n break;\n\n case 'complete':\n closeSubscription(subscription);\n if (m) m.call(observer);\n break;\n }\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n if (subscription._state === 'closed') return;\n\n if (subscription._state === 'buffering') {\n subscription._queue.push({\n type: type,\n value: value\n });\n\n return;\n }\n\n if (subscription._state !== 'ready') {\n subscription._state = 'buffering';\n subscription._queue = [{\n type: type,\n value: value\n }];\n enqueue(function () {\n return flushSubscription(subscription);\n });\n return;\n }\n\n notifySubscription(subscription, type, value);\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(observer, subscriber) {\n _classCallCheck(this, Subscription);\n\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = 'initializing';\n var subscriptionObserver = new SubscriptionObserver(this);\n\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n } catch (e) {\n subscriptionObserver.error(e);\n }\n\n if (this._state === 'initializing') this._state = 'ready';\n }\n\n _createClass(Subscription, [{\n key: \"unsubscribe\",\n value: function unsubscribe() {\n if (this._state !== 'closed') {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._state === 'closed';\n }\n }]);\n\n return Subscription;\n}();\n\nvar SubscriptionObserver =\n/*#__PURE__*/\nfunction () {\n function SubscriptionObserver(subscription) {\n _classCallCheck(this, SubscriptionObserver);\n\n this._subscription = subscription;\n }\n\n _createClass(SubscriptionObserver, [{\n key: \"next\",\n value: function next(value) {\n onNotify(this._subscription, 'next', value);\n }\n }, {\n key: \"error\",\n value: function error(value) {\n onNotify(this._subscription, 'error', value);\n }\n }, {\n key: \"complete\",\n value: function complete() {\n onNotify(this._subscription, 'complete');\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._subscription._state === 'closed';\n }\n }]);\n\n return SubscriptionObserver;\n}();\n\nvar Observable =\n/*#__PURE__*/\nfunction () {\n function Observable(subscriber) {\n _classCallCheck(this, Observable);\n\n if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n this._subscriber = subscriber;\n }\n\n _createClass(Observable, [{\n key: \"subscribe\",\n value: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n observer = {\n next: observer,\n error: arguments[1],\n complete: arguments[2]\n };\n }\n\n return new Subscription(observer, this._subscriber);\n }\n }, {\n key: \"forEach\",\n value: function forEach(fn) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n if (typeof fn !== 'function') {\n reject(new TypeError(fn + ' is not a function'));\n return;\n }\n\n function done() {\n subscription.unsubscribe();\n resolve();\n }\n\n var subscription = _this.subscribe({\n next: function (value) {\n try {\n fn(value, done);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n }, {\n key: \"map\",\n value: function map(fn) {\n var _this2 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this2.subscribe({\n next: function (value) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"filter\",\n value: function filter(fn) {\n var _this3 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this3.subscribe({\n next: function (value) {\n try {\n if (!fn(value)) return;\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"reduce\",\n value: function reduce(fn) {\n var _this4 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n return new C(function (observer) {\n return _this4.subscribe({\n next: function (value) {\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n } catch (e) {\n return observer.error(e);\n }\n } else {\n acc = value;\n }\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n observer.next(acc);\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"concat\",\n value: function concat() {\n var _this5 = this;\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscription;\n var index = 0;\n\n function startNext(next) {\n subscription = next.subscribe({\n next: function (v) {\n observer.next(v);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n } else {\n startNext(C.from(sources[index++]));\n }\n }\n });\n }\n\n startNext(_this5);\n return function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n }\n }, {\n key: \"flatMap\",\n value: function flatMap(fn) {\n var _this6 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscriptions = [];\n\n var outer = _this6.subscribe({\n next: function (value) {\n if (fn) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n }\n\n var inner = C.from(value).subscribe({\n next: function (value) {\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n var i = subscriptions.indexOf(inner);\n if (i >= 0) subscriptions.splice(i, 1);\n completeIfDone();\n }\n });\n subscriptions.push(inner);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n completeIfDone();\n }\n });\n\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) observer.complete();\n }\n\n return function () {\n subscriptions.forEach(function (s) {\n return s.unsubscribe();\n });\n outer.unsubscribe();\n };\n });\n }\n }, {\n key: SymbolObservable,\n value: function () {\n return this;\n }\n }], [{\n key: \"from\",\n value: function from(x) {\n var C = typeof this === 'function' ? this : Observable;\n if (x == null) throw new TypeError(x + ' is not an object');\n var method = getMethod(x, SymbolObservable);\n\n if (method) {\n var observable = method.call(x);\n if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n if (isObservable(observable) && observable.constructor === C) return observable;\n return new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n\n if (hasSymbol('iterator')) {\n method = getMethod(x, SymbolIterator);\n\n if (method) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = method.call(x)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _item = _step.value;\n observer.next(_item);\n if (observer.closed) return;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n observer.complete();\n });\n });\n }\n }\n\n if (Array.isArray(x)) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < x.length; ++i) {\n observer.next(x[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n\n throw new TypeError(x + ' is not observable');\n }\n }, {\n key: \"of\",\n value: function of() {\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n\n var C = typeof this === 'function' ? this : Observable;\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < items.length; ++i) {\n observer.next(items[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n }, {\n key: SymbolSpecies,\n get: function () {\n return this;\n }\n }]);\n\n return Observable;\n}();\n\nexports.Observable = Observable;\n\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol('extensions'), {\n value: {\n symbol: SymbolObservable,\n hostReportError: hostReportError\n },\n configurable: true\n });\n}","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default 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}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default 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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default 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}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"9f20431e\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"portalvinoteca:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkportalvinoteca\"] = self[\"webpackChunkportalvinoteca\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon <StringEpsilon@gmail.com>\n// Copyright (c) 2017-2019 James Kyle <me@thejameskyle.com>\n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nconst MAX_SIGNED_31_BIT_INT = 1073741823;\n\nconst commonjsGlobal =\n typeof globalThis !== \"undefined\" // 'global proper'\n ? // eslint-disable-next-line no-undef\n globalThis\n : typeof window !== \"undefined\"\n ? window // Browser\n : typeof global !== \"undefined\"\n ? global // node.js\n : {};\n\nfunction getUniqueId() {\n let key = \"__global_unique_id__\";\n return (commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1);\n}\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n let handlers = [];\n return {\n on(handler) {\n handlers.push(handler);\n },\n\n off(handler) {\n handlers = handlers.filter(h => h !== handler);\n },\n\n get() {\n return value;\n },\n\n set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(handler => handler(value, changedBits));\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nexport default function createReactContext(defaultValue, calculateChangedBits) {\n const contextProp = \"__create-react-context-\" + getUniqueId() + \"__\";\n\n class Provider extends React.Component {\n emitter = createEventEmitter(this.props.value);\n\n static childContextTypes = {\n [contextProp]: PropTypes.object.isRequired\n };\n\n getChildContext() {\n return {\n [contextProp]: this.emitter\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n let oldValue = this.props.value;\n let newValue = nextProps.value;\n let changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits =\n typeof calculateChangedBits === \"function\"\n ? calculateChangedBits(oldValue, newValue)\n : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== \"production\") {\n warning(\n (changedBits & MAX_SIGNED_31_BIT_INT) === changedBits,\n \"calculateChangedBits: Expected the return value to be a \" +\n \"31-bit integer. Instead received: \" +\n changedBits\n );\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n }\n\n render() {\n return this.props.children;\n }\n }\n\n class Consumer extends React.Component {\n static contextTypes = {\n [contextProp]: PropTypes.object\n };\n\n observedBits;\n\n state = {\n value: this.getValue()\n };\n\n componentWillReceiveProps(nextProps) {\n let { observedBits } = nextProps;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n let { observedBits } = this.props;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n }\n\n getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n }\n\n onUpdate = (newValue, changedBits) => {\n const observedBits = this.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n this.setState({ value: this.getValue() });\n }\n };\n\n render() {\n return onlyChild(this.props.children)(this.state.value);\n }\n }\n\n return {\n Provider,\n Consumer\n };\n}\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon <StringEpsilon@gmail.com>\n// Copyright (c) 2017-2019 James Kyle <me@thejameskyle.com>\n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport createReactContext from \"./miniCreateReactContext\";\n\nexport default React.createContext || createReactContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"./createContext\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n <RouterContext.Provider\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n >\n <HistoryContext.Provider\n children={this.props.children || null}\n value={this.props.history}\n />\n </RouterContext.Provider>\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"sx\"];\nimport { isPlainObject } from '@mui/utils';\nimport defaultSxConfig from './defaultSxConfig';\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null ? void 0 : (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return _extends({}, systemProps, result);\n };\n } else {\n finalSx = _extends({}, systemProps, inSx);\n }\n return _extends({}, otherProps, {\n sx: finalSx\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from './styleFunctionSx';\nimport useTheme from './useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const _extendSxProp = extendSxProp(inProps),\n {\n className,\n component = 'div'\n } = _extendSxProp,\n other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);\n return /*#__PURE__*/_jsx(BoxRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme\n }, other));\n });\n return Box;\n}","import { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';\nimport { createTheme } from '../styles';\nimport THEME_ID from '../styles/identifier';\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: 'MuiBox-root',\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alt\", \"children\", \"className\", \"component\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Person from '../internal/svg-icons/Person';\nimport { getAvatarUtilityClass } from './avatarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none'\n}, ownerState.variant === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n}, ownerState.variant === 'square' && {\n borderRadius: 0\n}, ownerState.colorDefault && _extends({\n color: (theme.vars || theme).palette.background.default\n}, theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n} : {\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]\n})));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded(_extends({}, imgProps, {\n src,\n srcSet\n }));\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n const ownerState = _extends({}, props, {\n colorDefault: !hasImgNotFailing,\n component,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(AvatarImg, _extends({\n alt: alt,\n src: src,\n srcSet: srcSet,\n sizes: sizes,\n ownerState: ownerState,\n className: classes.img\n }, imgProps));\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst ListContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\nexport default ListContext;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListUtilityClass(slot) {\n return generateUtilityClass('MuiList', slot);\n}\nconst listClasses = generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);\nexport default listClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from './ListContext';\nimport { getListUtilityClass } from './listClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePadding,\n dense,\n subheader\n } = ownerState;\n const slots = {\n root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader']\n };\n return composeClasses(slots, getListUtilityClass, classes);\n};\nconst ListRoot = styled('ul', {\n name: 'MuiList',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];\n }\n})(({\n ownerState\n}) => _extends({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n}, !ownerState.disablePadding && {\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.subheader && {\n paddingTop: 0\n}));\nconst List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiList'\n });\n const {\n children,\n className,\n component = 'ul',\n dense = false,\n disablePadding = false,\n subheader\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useMemo(() => ({\n dense\n }), [dense]);\n const ownerState = _extends({}, props, {\n component,\n dense,\n disablePadding\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsxs(ListRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [subheader, children]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default List;","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","import { unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\nexport default getScrollbarSize;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, theme) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes, integerPropType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}","export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n var _style$transitionDura, _style$transitionTimi;\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: (_style$transitionDura = style.transitionDuration) != null ? _style$transitionDura : typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n easing: (_style$transitionTimi = style.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing === 'object' ? easing[options.mode] : easing,\n delay: style.transitionDelay\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { elementAcceptingRef } from '@mui/utils';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { getTransitionProps, reflow } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const timer = React.useRef();\n const autoTimeout = React.useRef();\n const theme = useTheme();\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTimeout.current || 0);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n React.useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Grow.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n * Demos:\n *\n * - [Portal](https://mui.com/base/react-portal/)\n *\n * API:\n *\n * - [Portal API](https://mui.com/base/react-portal/components-api/#portal)\n */\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, forwardedRef);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(forwardedRef, mountNode);\n return () => {\n setRef(forwardedRef, null);\n };\n }\n return undefined;\n }, [forwardedRef, mountNode, disablePortal]);\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n const newProps = {\n ref: handleRef\n };\n return /*#__PURE__*/React.cloneElement(children, newProps);\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit TypeScript types and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\nexport default Portal;","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n // The forbidden HTML tags are the ones from ARIA specification that\n // can be children of body and can't have aria-hidden attribute.\n // cf. https://www.w3.org/TR/html-aria/#docconformance\n const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n [].forEach.call(container.children, element => {\n const isNotExcludedElement = blacklist.indexOf(element) === -1;\n const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n if (isNotExcludedElement && isNotForbiddenElement) {\n ariaHidden(element, show);\n }\n });\n}\nfunction findIndexOf(items, callback) {\n let idx = -1;\n items.some((item, index) => {\n if (callback(item)) {\n idx = index;\n return true;\n }\n return false;\n });\n return idx;\n}\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n const scrollbarSize = getScrollbarSize(ownerDocument(container));\n restoreStyle.push({\n value: container.style.paddingRight,\n property: 'padding-right',\n el: container\n });\n // Use computed style, here to get the real padding to add our scrollbar width.\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n // .mui-fixed is a global helper.\n const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedElements, element => {\n restoreStyle.push({\n value: element.style.paddingRight,\n property: 'padding-right',\n el: element\n });\n element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n });\n }\n let scrollContainer;\n if (container.parentNode instanceof DocumentFragment) {\n scrollContainer = ownerDocument(container).body;\n } else {\n // Improve Gatsby support\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n }\n\n // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n property: 'overflow',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowX,\n property: 'overflow-x',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowY,\n property: 'overflow-y',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n const restore = () => {\n restoreStyle.forEach(({\n value,\n el,\n property\n }) => {\n if (value) {\n el.style.setProperty(property, value);\n } else {\n el.style.removeProperty(property);\n }\n });\n };\n return restore;\n}\nfunction getHiddenSiblings(container) {\n const hiddenSiblings = [];\n [].forEach.call(container.children, element => {\n if (element.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(element);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport default class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n if (modalIndex !== -1) {\n return modalIndex;\n }\n modalIndex = this.modals.length;\n this.modals.push(modal);\n\n // If the modal we are adding is already in the DOM.\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n const hiddenSiblings = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n const containerIndex = findIndexOf(this.containers, item => item.container === container);\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n remove(modal, ariaHiddenState = true) {\n const modalIndex = this.modals.indexOf(modal);\n if (modalIndex === -1) {\n return modalIndex;\n }\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1);\n\n // If that was the last modal in a container, clean up the container.\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, ariaHiddenState);\n }\n ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n return modalIndex;\n }\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n}","/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n return node.tabIndex;\n}\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n if (!node.name) {\n return false;\n }\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n return roving !== node;\n}\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n return true;\n}\nfunction defaultGetTabbable(root) {\n const regularTabNodes = [];\n const orderedTabNodes = [];\n Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {\n const nodeTabIndex = getTabIndex(node);\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n node: node\n });\n }\n });\n return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);\n}\nfunction defaultIsEnabled() {\n return true;\n}\n\n/**\n * Utility component that locks focus inside the component.\n *\n * Demos:\n *\n * - [Focus Trap](https://mui.com/base/react-focus-trap/)\n *\n * API:\n *\n * - [FocusTrap API](https://mui.com/base/react-focus-trap/components-api/#focus-trap)\n */\nfunction FocusTrap(props) {\n const {\n children,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableRestoreFocus = false,\n getTabbable = defaultGetTabbable,\n isEnabled = defaultIsEnabled,\n open\n } = props;\n const ignoreNextEnforceFocus = React.useRef(false);\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null);\n // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef(children.ref, rootRef);\n const lastKeydown = React.useRef(null);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n activated.current = !disableAutoFocus;\n }, [disableAutoFocus, open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n if (!rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n rootRef.current.setAttribute('tabIndex', '-1');\n }\n if (activated.current) {\n rootRef.current.focus();\n }\n }\n return () => {\n // restoreLastFocus()\n if (!disableRestoreFocus) {\n // In IE11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE11 have a focus method.\n // Once IE11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n ignoreNextEnforceFocus.current = true;\n nodeToRestore.current.focus();\n }\n nodeToRestore.current = null;\n }\n };\n // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open FocusTrap\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n const contain = nativeEvent => {\n const {\n current: rootElement\n } = rootRef;\n\n // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n if (rootElement === null) {\n return;\n }\n if (!doc.hasFocus() || disableEnforceFocus || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n if (!rootElement.contains(doc.activeElement)) {\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (nativeEvent && reactFocusEventTarget.current !== nativeEvent.target || doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n if (!activated.current) {\n return;\n }\n let tabbable = [];\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');\n const focusNext = tabbable[0];\n const focusPrevious = tabbable[tabbable.length - 1];\n if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') {\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n }\n } else {\n rootElement.focus();\n }\n }\n };\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n }\n\n // Make sure the next tab starts from the right place.\n // doc.activeElement refers to the origin.\n if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n if (sentinelEnd.current) {\n sentinelEnd.current.focus();\n }\n }\n };\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true);\n\n // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n // Instead, we can look if the active element was restored on the BODY element.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n const interval = setInterval(() => {\n if (doc.activeElement && doc.activeElement.tagName === 'BODY') {\n contain(null);\n }\n }, 50);\n return () => {\n clearInterval(interval);\n doc.removeEventListener('focusin', contain);\n doc.removeEventListener('keydown', loopFocus, true);\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-testid\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-testid\": \"sentinelEnd\"\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? FocusTrap.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit TypeScript types and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n /**\n * If `true`, the focus trap will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not restore focus to previously focused element once\n * focus trap is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.\n * For instance, you can provide the \"tabbable\" npm dependency.\n * @param {HTMLElement} root\n */\n getTabbable: PropTypes.func,\n /**\n * This prop extends the `open` prop.\n * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.\n * This prop should be memoized.\n * It can be used to support multiple focus trap mounted at the same time.\n * @default function defaultIsEnabled(): boolean {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);\n}\nexport default FocusTrap;","import generateUtilityClasses from '../generateUtilityClasses';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalClasses = generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);\nexport default modalClasses;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport default function isHostComponent(element) {\n return typeof element === 'string';\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport default function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport extractEventHandlers from './extractEventHandlers';\nimport omitEventHandlers from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport default function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className, className, additionalProps == null ? void 0 : additionalProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport default function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport default function resolveComponentProps(componentProps, ownerState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState);\n }\n return componentProps;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport appendOwnerState from './appendOwnerState';\nimport mergeSlotProps from './mergeSlotProps';\nimport resolveComponentProps from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport default function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport isHostComponent from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport default function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","import * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultContextValue = {\n disableDefaultClasses: false\n};\nconst ClassNameConfiguratorContext = /*#__PURE__*/React.createContext(defaultContextValue);\n/**\n * @ignore - internal hook.\n *\n * Wraps the `generateUtilityClass` function and controls how the classes are generated.\n * Currently it only affects whether the classes are applied or not.\n *\n * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.\n */\nexport function useClassNamesOverride(generateUtilityClass) {\n const {\n disableDefaultClasses\n } = React.useContext(ClassNameConfiguratorContext);\n return slot => {\n if (disableDefaultClasses) {\n return '';\n }\n return generateUtilityClass(slot);\n };\n}\n\n/**\n * Allows to configure the components within to not apply any built-in classes.\n */\nexport default function ClassNameConfigurator(props) {\n const {\n disableDefaultClasses,\n children\n } = props;\n const contextValue = React.useMemo(() => ({\n disableDefaultClasses: disableDefaultClasses != null ? disableDefaultClasses : false\n }), [disableDefaultClasses]);\n return /*#__PURE__*/_jsx(ClassNameConfiguratorContext.Provider, {\n value: contextValue,\n children: children\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"closeAfterTransition\", \"container\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"manager\", \"onBackdropClick\", \"onClose\", \"onKeyDown\", \"open\", \"onTransitionEnter\", \"onTransitionExited\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { elementAcceptingRef, HTMLElementType, unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_createChainedFunction as createChainedFunction, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport composeClasses from '../composeClasses';\nimport Portal from '../Portal';\nimport ModalManager, { ariaHidden } from './ModalManager';\nimport FocusTrap from '../FocusTrap';\nimport { getModalUtilityClass } from './modalClasses';\nimport { useSlotProps } from '../utils';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden'],\n backdrop: ['backdrop']\n };\n return composeClasses(slots, useClassNamesOverride(getModalUtilityClass));\n};\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\nfunction getHasTransition(children) {\n return children ? children.props.hasOwnProperty('in') : false;\n}\n\n// A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\nconst defaultManager = new ModalManager();\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * * [Dialog](https://mui.com/material-ui/api/dialog/)\n * * [Drawer](https://mui.com/material-ui/api/drawer/)\n * * [Menu](https://mui.com/material-ui/api/menu/)\n * * [Popover](https://mui.com/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](https://mui.com/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n *\n * Demos:\n *\n * - [Modal](https://mui.com/base/react-modal/)\n *\n * API:\n *\n * - [Modal API](https://mui.com/base/react-modal/components-api/#modal)\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(props, forwardedRef) {\n var _props$ariaHidden, _slots$root;\n const {\n children,\n closeAfterTransition = false,\n container,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n // private\n manager: managerProp = defaultManager,\n onBackdropClick,\n onClose,\n onKeyDown,\n open,\n onTransitionEnter,\n onTransitionExited,\n slotProps = {},\n slots = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n // TODO: `modal`` must change its type in this file to match the type of methods\n // provided by `ModalManager`\n const manager = managerProp;\n const [exited, setExited] = React.useState(!open);\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, forwardedRef);\n const hasTransition = getHasTransition(children);\n const ariaHiddenProp = (_props$ariaHidden = props['aria-hidden']) != null ? _props$ariaHidden : true;\n const getDoc = () => ownerDocument(mountNodeRef.current);\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mountNode = mountNodeRef.current;\n return modal.current;\n };\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n });\n\n // Fix a bug on Chrome where the scroll isn't initially 0.\n if (modalRef.current) {\n modalRef.current.scrollTop = 0;\n }\n };\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer);\n\n // The element was already mounted.\n if (modalRef.current) {\n handleMounted();\n }\n });\n const isTopModal = React.useCallback(() => manager.isTopModal(getModal()), [manager]);\n const handlePortalRef = useEventCallback(node => {\n mountNodeRef.current = node;\n if (!node || !modalRef.current) {\n return;\n }\n if (open && isTopModal()) {\n handleMounted();\n } else {\n ariaHidden(modalRef.current, ariaHiddenProp);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal(), ariaHiddenProp);\n }, [manager, ariaHiddenProp]);\n React.useEffect(() => {\n return () => {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(() => {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n const ownerState = _extends({}, props, {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n exited,\n hideBackdrop,\n keepMounted\n });\n const classes = useUtilityClasses(ownerState);\n const handleEnter = () => {\n setExited(false);\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n const handleExited = () => {\n setExited(true);\n if (onTransitionExited) {\n onTransitionExited();\n }\n if (closeAfterTransition) {\n handleClose();\n }\n };\n const handleBackdropClick = event => {\n if (event.target !== event.currentTarget) {\n return;\n }\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const handleKeyDown = event => {\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || !isTopModal()) {\n return;\n }\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n const childProps = {};\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n }\n\n // It's a Transition like component\n if (hasTransition) {\n childProps.onEnter = createChainedFunction(handleEnter, children.props.onEnter);\n childProps.onExited = createChainedFunction(handleExited, children.props.onExited);\n }\n const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';\n const rootProps = useSlotProps({\n elementType: Root,\n externalSlotProps: slotProps.root,\n externalForwardedProps: other,\n additionalProps: {\n ref: handleRef,\n role: 'presentation',\n onKeyDown: handleKeyDown\n },\n className: classes.root,\n ownerState\n });\n const BackdropComponent = slots.backdrop;\n const backdropProps = useSlotProps({\n elementType: BackdropComponent,\n externalSlotProps: slotProps.backdrop,\n additionalProps: {\n 'aria-hidden': true,\n onClick: handleBackdropClick,\n open\n },\n className: classes.backdrop,\n ownerState\n });\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n return /*#__PURE__*/_jsx(Portal\n // @ts-expect-error TODO: include ref to Base UI Portal props\n , {\n ref: handlePortalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropComponent, _extends({}, backdropProps)) : null, /*#__PURE__*/_jsx(FocusTrap, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n isEnabled: isTopModal,\n open: open,\n children: /*#__PURE__*/React.cloneElement(children, childProps)\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit TypeScript types and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n })\n} : void 0;\nexport default Modal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport { elementAcceptingRef } from '@mui/utils';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n opacity: 1\n },\n entered: {\n opacity: 1\n }\n};\n\n/**\n * The Fade transition is used by the [Modal](/material-ui/react-modal/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fade.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Fade;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"invisible\", \"open\", \"slotProps\", \"slots\", \"TransitionComponent\", \"transitionDuration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Fade from '../Fade';\nimport { getBackdropUtilityClass } from './backdropClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n}, ownerState.invisible && {\n backgroundColor: 'transparent'\n}));\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n var _slotProps$root, _ref, _slots$root;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n components = {},\n componentsProps = {},\n invisible = false,\n open,\n slotProps = {},\n slots = {},\n TransitionComponent = Fade,\n transitionDuration\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n const classes = useUtilityClasses(ownerState);\n const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, _extends({\n \"aria-hidden\": true\n }, rootSlotProps, {\n as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,\n className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n classes: classes,\n ref: ref,\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"classes\", \"className\", \"closeAfterTransition\", \"children\", \"container\", \"component\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"open\", \"slotProps\", \"slots\", \"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport ModalUnstyled, { modalClasses as modalUnstyledClasses } from '@mui/base/Modal';\nimport { isHostComponent, resolveComponentProps } from '@mui/base/utils';\nimport { elementAcceptingRef, HTMLElementType } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Backdrop from '../Backdrop';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const modalClasses = modalUnstyledClasses;\nconst ModalRoot = styled('div', {\n name: 'MuiModal',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.open && ownerState.exited && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n}, !ownerState.open && ownerState.exited && {\n visibility: 'hidden'\n}));\nconst ModalBackdrop = styled(Backdrop, {\n name: 'MuiModal',\n slot: 'Backdrop',\n overridesResolver: (props, styles) => {\n return styles.backdrop;\n }\n})({\n zIndex: -1\n});\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/material-ui/api/dialog/)\n * - [Drawer](/material-ui/api/drawer/)\n * - [Menu](/material-ui/api/menu/)\n * - [Popover](/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;\n const props = useThemeProps({\n name: 'MuiModal',\n props: inProps\n });\n const {\n BackdropComponent = ModalBackdrop,\n BackdropProps,\n classes,\n className,\n closeAfterTransition = false,\n children,\n container,\n component,\n components = {},\n componentsProps = {},\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n onBackdropClick,\n onClose,\n open,\n slotProps,\n slots,\n // eslint-disable-next-line react/prop-types\n theme\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [exited, setExited] = React.useState(true);\n const commonProps = {\n container,\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted,\n onBackdropClick,\n onClose,\n open\n };\n const ownerState = _extends({}, props, commonProps, {\n exited\n });\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;\n const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;\n return /*#__PURE__*/_jsx(ModalUnstyled, _extends({\n slots: {\n root: RootSlot,\n backdrop: BackdropSlot\n },\n slotProps: {\n root: () => _extends({}, resolveComponentProps(rootSlotProps, ownerState), !isHostComponent(RootSlot) && {\n as: component,\n theme\n }, {\n className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))\n }),\n backdrop: () => _extends({}, BackdropProps, resolveComponentProps(backdropSlotProps, ownerState), {\n className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, classes == null ? void 0 : classes.backdrop)\n })\n },\n onTransitionEnter: () => setExited(false),\n onTransitionExited: () => setExited(true),\n ref: ref\n }, other, commonProps, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n * @deprecated Use `slotProps.backdrop` instead.\n */\n BackdropProps: PropTypes.object,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Backdrop: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Modal;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { chainPropTypes, integerPropType, elementTypeAcceptingRef, refType, HTMLElementType } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport Paper from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n return offset;\n}\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\nconst PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst PopoverPaper = styled(Paper, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopover'\n });\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps = {},\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, PaperProps.ref);\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n PaperProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n const classes = useUtilityClasses(ownerState);\n\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '<Popover anchorReference=\"anchorPosition\" />.');\n }\n }\n return anchorPosition;\n }\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n\n // If an anchor element wasn't provided, just use the parent body element of this Popover\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]);\n\n // Returns the base transform origin using the element\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n\n // Get the transform origin point on the element itself\n const elemTransformOrigin = getTransformOrigin(elemRect);\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }\n\n // Get the offset of the anchoring element\n const anchorOffset = getAnchorOffset();\n\n // Calculate element positioning\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width;\n\n // Use the parent window of the anchorEl if provided\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl));\n\n // Window thresholds taking required margin into account\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold;\n\n // Check if the vertical axis needs shifting\n if (top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n }\n\n // Check if the horizontal axis needs shifting\n if (left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const [isPositioned, setIsPositioned] = React.useState(open);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n if (!element) {\n return;\n }\n const positioning = getPositioningStyle(element);\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n element.style.transformOrigin = positioning.transformOrigin;\n setIsPositioned(true);\n }, [getPositioningStyle]);\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n setPositioningStyles();\n };\n const handleExited = () => {\n setIsPositioned(false);\n };\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n return /*#__PURE__*/_jsx(PopoverRoot, _extends({\n BackdropProps: {\n invisible: true\n },\n className: clsx(classes.root, className),\n container: container,\n open: open,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n onExited: handleExited,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PopoverPaper, _extends({\n elevation: elevation\n }, PaperProps, {\n ref: handlePaperRef,\n className: clsx(classes.paper, PaperProps.className)\n }, isPositioned ? undefined : {\n style: _extends({}, PaperProps.style, {\n opacity: 0\n })\n }, {\n ownerState: ownerState,\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * @default 16\n */\n marginThreshold: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n component: elementTypeAcceptingRef\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { HTMLElementType } from '@mui/utils';\nimport MenuList from '../MenuList';\nimport Paper from '../Paper';\nimport Popover from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst MenuPaper = styled(Paper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu'\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const theme = useTheme();\n const isRtl = theme.direction === 'rtl';\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, theme);\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n PaperProps: _extends({\n as: MenuPaper\n }, PaperProps, {\n classes: _extends({}, PaperProps.classes, {\n root: classes.paper\n })\n }),\n className: classes.root,\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className),\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The length of the transition in `ms`, or 'auto'\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.0\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = React.useRef(null);\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n React.useEffect(() => {\n return () => {\n clearTimeout(startTimer.current);\n };\n }, []);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n startTimer.current = setTimeout(() => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n clearTimeout(startTimer.current);\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(() => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef, refType } from '@mui/utils';\nimport composeClasses from '@mui/base/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/s/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n rippleRef.current.stop(event, () => {\n rippleRef.current.pulsate(event);\n });\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n let ComponentProp = component;\n if (ComponentProp === 'button' && (other.href || other.to)) {\n ComponentProp = LinkComponent;\n }\n const buttonProps = {};\n if (ComponentProp === 'button') {\n buttonProps.type = type === undefined ? 'button' : type;\n buttonProps.disabled = disabled;\n } else {\n if (!other.href && !other.to) {\n buttonProps.role = 'button';\n }\n if (disabled) {\n buttonProps['aria-disabled'] = disabled;\n }\n }\n const handleRef = useForkRef(ref, focusVisibleRef, buttonRef);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['MUI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n const ownerState = _extends({}, props, {\n centerRipple,\n component,\n disabled,\n disableRipple,\n disableTouchRipple,\n focusRipple,\n tabIndex,\n focusVisible\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(ButtonBaseRoot, _extends({\n as: ComponentProp,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n onBlur: handleBlur,\n onClick: onClick,\n onContextMenu: handleContextMenu,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex,\n type: type\n }, buttonProps, other, {\n children: [children, enableTouchRipple ?\n /*#__PURE__*/\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n _jsx(TouchRipple, _extends({\n ref: handleRippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ButtonBase.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: refType,\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used to render a link when the `href` prop is provided.\n * @default 'a'\n */\n LinkComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onContextMenu: PropTypes.func,\n /**\n * @ignore\n */\n onDragLeave: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * @ignore\n */\n onMouseUp: PropTypes.func,\n /**\n * @ignore\n */\n onTouchEnd: PropTypes.func,\n /**\n * @ignore\n */\n onTouchMove: PropTypes.func,\n /**\n * @ignore\n */\n onTouchStart: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])\n} : void 0;\nexport default ButtonBase;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://m2.material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n disableGutters\n }), [context.dense, dense, disableGutters]);\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n className: clsx(classes.root, className)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * If `true`, the component is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"absolute\", \"children\", \"className\", \"component\", \"flexItem\", \"light\", \"orientation\", \"role\", \"textAlign\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDividerUtilityClass } from './dividerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin'\n}, ownerState.absolute && {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n}, ownerState.light && {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)\n}, ownerState.variant === 'inset' && {\n marginLeft: 72\n}, ownerState.variant === 'middle' && ownerState.orientation === 'horizontal' && {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n}, ownerState.variant === 'middle' && ownerState.orientation === 'vertical' && {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n}, ownerState.orientation === 'vertical' && {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n}, ownerState.flexItem && {\n alignSelf: 'stretch',\n height: 'auto'\n}), ({\n ownerState\n}) => _extends({}, ownerState.children && {\n display: 'flex',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n border: 0,\n '&::before, &::after': {\n content: '\"\"',\n alignSelf: 'center'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation !== 'vertical' && {\n '&::before, &::after': {\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation === 'vertical' && {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`\n }\n}), ({\n ownerState\n}) => _extends({}, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n}, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n}));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`\n}, ownerState.orientation === 'vertical' && {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n}));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n component = children ? 'div' : 'hr',\n flexItem = false,\n light = false,\n orientation = 'horizontal',\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Divider.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getIconButtonUtilityClass(slot) {\n return generateUtilityClass('MuiIconButton', slot);\n}\nconst iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);\nexport default iconButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"edge\", \"children\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport iconButtonClasses, { getIconButtonUtilityClass } from './iconButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n color,\n edge,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize(color)}`, edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getIconButtonUtilityClass, classes);\n};\nconst IconButtonRoot = styled(ButtonBase, {\n name: 'MuiIconButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 8,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE11.\n color: (theme.vars || theme).palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n })\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}), ({\n theme,\n ownerState\n}) => {\n var _palette;\n const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];\n return _extends({}, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends({\n color: palette == null ? void 0 : palette.main\n }, !ownerState.disableRipple && {\n '&:hover': _extends({}, palette && {\n backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(palette.main, theme.palette.action.hoverOpacity)\n }, {\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n })\n }), ownerState.size === 'small' && {\n padding: 5,\n fontSize: theme.typography.pxToRem(18)\n }, ownerState.size === 'large' && {\n padding: 12,\n fontSize: theme.typography.pxToRem(28)\n }, {\n [`&.${iconButtonClasses.disabled}`]: {\n backgroundColor: 'transparent',\n color: (theme.vars || theme).palette.action.disabled\n }\n });\n});\n\n/**\n * Refer to the [Icons](/material-ui/icons/) section of the documentation\n * regarding the available icon options.\n */\nconst IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiIconButton'\n });\n const {\n edge = false,\n children,\n className,\n color = 'default',\n disabled = false,\n disableFocusRipple = false,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n edge,\n color,\n disabled,\n disableFocusRipple,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconButtonRoot, _extends({\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? IconButton.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The icon to display.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const found = React.Children.toArray(props.children).some(child => /*#__PURE__*/React.isValidElement(child) && child.props.onClick);\n if (found) {\n return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole <button> will be responsive to click events.'].join('\\n'));\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default IconButton;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);\nexport default buttonClasses;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"color\", \"component\", \"className\", \"disabled\", \"disableElevation\", \"disableFocusRipple\", \"endIcon\", \"focusVisibleClassName\", \"fullWidth\", \"size\", \"startIcon\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { internal_resolveProps as resolveProps } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport buttonClasses, { getButtonUtilityClass } from './buttonClasses';\nimport ButtonGroupContext from '../ButtonGroup/ButtonGroupContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, color === 'inherit' && 'colorInherit', disableElevation && 'disableElevation', fullWidth && 'fullWidth'],\n label: ['label'],\n startIcon: ['startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['endIcon', `iconSize${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst commonIconStyles = ownerState => _extends({}, ownerState.size === 'small' && {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n}, ownerState.size === 'medium' && {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n}, ownerState.size === 'large' && {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n});\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];\n const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];\n return _extends({}, theme.typography.button, {\n minWidth: 64,\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': _extends({\n textDecoration: 'none',\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n border: `1px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'contained' && {\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2],\n backgroundColor: (theme.vars || theme).palette.grey[300]\n }\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }),\n '&:active': _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[8]\n }),\n [`&.${buttonClasses.focusVisible}`]: _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[6]\n }),\n [`&.${buttonClasses.disabled}`]: _extends({\n color: (theme.vars || theme).palette.action.disabled\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }, ownerState.variant === 'contained' && {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n })\n }, ownerState.variant === 'text' && {\n padding: '6px 8px'\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.variant === 'outlined' && {\n padding: '5px 15px',\n border: '1px solid currentColor'\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: theme.vars ? `1px solid rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : `1px solid ${alpha(theme.palette[ownerState.color].main, 0.5)}`\n }, ownerState.variant === 'contained' && {\n color: theme.vars ?\n // this is safe because grey does not change between default light/dark mode\n theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[2]\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.color === 'inherit' && {\n color: 'inherit',\n borderColor: 'currentColor'\n }, ownerState.size === 'small' && ownerState.variant === 'text' && {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'text' && {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'outlined' && {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'contained' && {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'contained' && {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.fullWidth && {\n width: '100%'\n });\n}, ({\n ownerState\n}) => ownerState.disableElevation && {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n});\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4\n}, ownerState.size === 'small' && {\n marginLeft: -2\n}, commonIconStyles(ownerState)));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8\n}, ownerState.size === 'small' && {\n marginRight: -2\n}, commonIconStyles(ownerState)));\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useThemeProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n size,\n type,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const startIcon = startIconProp && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp\n });\n const endIcon = endIconProp && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp\n });\n return /*#__PURE__*/_jsxs(ButtonRoot, _extends({\n ownerState: ownerState,\n className: clsx(contextProps.className, classes.root, className),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type\n }, other, {\n classes: classes,\n children: [startIcon, children, endIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","import React, { useState, useEffect, useRef } from 'react';\n\nexport default function Home(props) {\n return (\n <div>\n </div>\n );\n};","const e={small:{value:\"1px\"},medium:{value:\"2px\"},large:{value:\"3px\"}};export{e as borderWidths};\n","const l={red:{10:{value:\"hsl(0, 75%, 95%)\"},20:{value:\"hsl(0, 75%, 85%)\"},40:{value:\"hsl(0, 75%, 75%)\"},60:{value:\"hsl(0, 50%, 50%)\"},80:{value:\"hsl(0, 95%, 30%)\"},90:{value:\"hsl(0, 100%, 20%)\"},100:{value:\"hsl(0, 100%, 15%)\"}},orange:{10:{value:\"hsl(30, 75%, 95%)\"},20:{value:\"hsl(30, 75%, 85%)\"},40:{value:\"hsl(30, 75%, 75%)\"},60:{value:\"hsl(30, 50%, 50%)\"},80:{value:\"hsl(30, 95%, 30%)\"},90:{value:\"hsl(30, 100%, 20%)\"},100:{value:\"hsl(30, 100%, 15%)\"}},yellow:{10:{value:\"hsl(60, 75%, 95%)\"},20:{value:\"hsl(60, 75%, 85%)\"},40:{value:\"hsl(60, 75%, 75%)\"},60:{value:\"hsl(60, 50%, 50%)\"},80:{value:\"hsl(60, 95%, 30%)\"},90:{value:\"hsl(60, 100%, 20%)\"},100:{value:\"hsl(60, 100%, 15%)\"}},green:{10:{value:\"hsl(130, 60%, 95%)\"},20:{value:\"hsl(130, 60%, 90%)\"},40:{value:\"hsl(130, 44%, 63%)\"},60:{value:\"hsl(130, 43%, 46%)\"},80:{value:\"hsl(130, 33%, 37%)\"},90:{value:\"hsl(130, 27%, 29%)\"},100:{value:\"hsl(130, 22%, 23%)\"}},teal:{10:{value:\"hsl(190, 75%, 95%)\"},20:{value:\"hsl(190, 75%, 85%)\"},40:{value:\"hsl(190, 70%, 70%)\"},60:{value:\"hsl(190, 50%, 50%)\"},80:{value:\"hsl(190, 95%, 30%)\"},90:{value:\"hsl(190, 100%, 20%)\"},100:{value:\"hsl(190, 100%, 15%)\"}},blue:{10:{value:\"hsl(220, 95%, 95%)\"},20:{value:\"hsl(220, 85%, 85%)\"},40:{value:\"hsl(220, 70%, 70%)\"},60:{value:\"hsl(220, 50%, 50%)\"},80:{value:\"hsl(220, 95%, 30%)\"},90:{value:\"hsl(220, 100%, 20%)\"},100:{value:\"hsl(220, 100%, 15%)\"}},purple:{10:{value:\"hsl(300, 95%, 95%)\"},20:{value:\"hsl(300, 85%, 85%)\"},40:{value:\"hsl(300, 70%, 70%)\"},60:{value:\"hsl(300, 50%, 50%)\"},80:{value:\"hsl(300, 95%, 30%)\"},90:{value:\"hsl(300, 100%, 20%)\"},100:{value:\"hsl(300, 100%, 15%)\"}},pink:{10:{value:\"hsl(340, 95%, 95%)\"},20:{value:\"hsl(340, 90%, 85%)\"},40:{value:\"hsl(340, 70%, 70%)\"},60:{value:\"hsl(340, 50%, 50%)\"},80:{value:\"hsl(340, 95%, 30%)\"},90:{value:\"hsl(340, 100%, 20%)\"},100:{value:\"hsl(340, 100%, 15%)\"}},neutral:{10:{value:\"hsl(210, 5%, 98%)\"},20:{value:\"hsl(210, 5%, 94%)\"},40:{value:\"hsl(210, 5%, 87%)\"},60:{value:\"hsl(210, 10%, 58%)\"},80:{value:\"hsl(210, 10%, 40%)\"},90:{value:\"hsl(210, 25%, 25%)\"},100:{value:\"hsl(210, 50%, 10%)\"}},brand:{primary:{10:{value:\"{colors.teal.10.value}\"},20:{value:\"{colors.teal.20.value}\"},40:{value:\"{colors.teal.40.value}\"},60:{value:\"{colors.teal.60.value}\"},80:{value:\"{colors.teal.80.value}\"},90:{value:\"{colors.teal.90.value}\"},100:{value:\"{colors.teal.100.value}\"}},secondary:{10:{value:\"{colors.purple.10.value}\"},20:{value:\"{colors.purple.20.value}\"},40:{value:\"{colors.purple.40.value}\"},60:{value:\"{colors.purple.60.value}\"},80:{value:\"{colors.purple.80.value}\"},90:{value:\"{colors.purple.90.value}\"},100:{value:\"{colors.purple.100.value}\"}}},font:{primary:{value:\"{colors.neutral.100.value}\"},secondary:{value:\"{colors.neutral.90.value}\"},tertiary:{value:\"{colors.neutral.80.value}\"},disabled:{value:\"{colors.neutral.60.value}\"},inverse:{value:\"{colors.white.value}\"},interactive:{value:\"{colors.brand.primary.80.value}\"},hover:{value:\"{colors.brand.primary.90.value}\"},focus:{value:\"{colors.brand.primary.100.value}\"},active:{value:\"{colors.brand.primary.100.value}\"},info:{value:\"{colors.blue.90.value}\"},warning:{value:\"{colors.orange.90.value}\"},error:{value:\"{colors.red.90.value}\"},success:{value:\"{colors.green.90.value}\"}},background:{primary:{value:\"{colors.white.value}\"},secondary:{value:\"{colors.neutral.10.value}\"},tertiary:{value:\"{colors.neutral.20.value}\"},quaternary:{value:\"{colors.neutral.60.value}\"},disabled:{value:\"{colors.background.tertiary.value}\"},info:{value:\"{colors.blue.20.value}\"},warning:{value:\"{colors.orange.20.value}\"},error:{value:\"{colors.red.20.value}\"},success:{value:\"{colors.green.20.value}\"}},border:{primary:{value:\"{colors.neutral.60.value}\"},secondary:{value:\"{colors.neutral.40.value}\"},tertiary:{value:\"{colors.neutral.20.value}\"},disabled:{value:\"{colors.border.tertiary.value}\"},pressed:{value:\"{colors.brand.primary.100.value}\"},focus:{value:\"{colors.brand.primary.100.value}\"},error:{value:\"{colors.red.80.value}\"}},shadow:{primary:{value:\"hsla(210, 50%, 10%, 0.25)\"},secondary:{value:\"hsla(210, 50%, 10%, 0.15)\"},tertiary:{value:\"hsla(210, 50%, 10%, 0.05)\"}},overlay:{10:{value:\"hsla(0, 0%, 0%, 0.1)\"},20:{value:\"hsla(0, 0%, 0%, 0.2)\"},30:{value:\"hsla(0, 0%, 0%, 0.3)\"},40:{value:\"hsla(0, 0%, 0%, 0.4)\"},50:{value:\"hsla(0, 0%, 0%, 0.5)\"},60:{value:\"hsla(0, 0%, 0%, 0.6)\"},70:{value:\"hsla(0, 0%, 0%, 0.7)\"},80:{value:\"hsla(0, 0%, 0%, 0.8)\"},90:{value:\"hsla(0, 0%, 0%, 0.9)\"}},black:{value:\"hsl(0, 0%, 0%)\"},white:{value:\"hsl(0, 0%, 100%)\"},transparent:{value:\"transparent\"}};export{l as colors};\n","const e={dropzone:{backgroundColor:{value:\"{colors.background.primary}\"},borderRadius:{value:\"{radii.small}\"},borderColor:{value:\"{colors.border.primary}\"},borderStyle:{value:\"dashed\"},borderWidth:{value:\"{borderWidths.small}\"},gap:{value:\"{space.small}\"},paddingBlock:{value:\"{space.xl}\"},paddingInline:{value:\"{space.large}\"},textAlign:{value:\"center\"},_active:{backgroundColor:{value:\"{colors.brand.primary.10}\"},borderRadius:{value:\"{components.fileuploader.dropzone.borderRadius}\"},borderColor:{value:\"{colors.border.pressed}\"},borderStyle:{value:\"{components.fileuploader.dropzone.borderStyle}\"},borderWidth:{value:\"{borderWidths.medium}\"}},icon:{color:{value:\"{colors.border.primary}\"},fontSize:{value:\"{fontSizes.xxl}\"}},text:{color:{value:\"{colors.font.tertiary}\"},fontSize:{value:\"{fontSizes.medium}\"},fontWeight:{value:\"{fontWeights.bold}\"}}},file:{backgroundColor:{value:\"{colors.background.primary}\"},borderRadius:{value:\"{radii.small}\"},borderColor:{value:\"{colors.border.primary}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.small}\"},paddingBlock:{value:\"{space.xs}\"},paddingInline:{value:\"{space.small}\"},gap:{value:\"{space.small}\"},alignItems:{value:\"baseline\"},name:{fontSize:{value:\"{fontSizes.medium}\"},fontWeight:{value:\"{fontWeights.bold}\"},color:{value:\"{colors.font.primary}\"}},size:{fontSize:{value:\"{fontSizes.small}\"},fontWeight:{value:\"{fontWeights.normal}\"},color:{value:\"{colors.font.tertiary}\"}},image:{width:{value:\"{space.xxl}\"},height:{value:\"{space.xxl}\"},backgroundColor:{value:\"{colors.background.secondary}\"},color:{value:\"{colors.font.tertiary}\"},borderRadius:{value:\"{radii.small}\"}}},loader:{strokeLinecap:{value:\"round\"},strokeEmpty:{value:\"{colors.border.secondary}\"},strokeFilled:{value:\"{components.loader.strokeFilled}\"},strokeWidth:{value:\"{borderWidths.large}\"}},previewer:{backgroundColor:{value:\"{colors.background.primary}\"},borderColor:{value:\"{colors.border.primary}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.small}\"},borderRadius:{value:\"{radii.small}\"},paddingBlock:{value:\"{space.zero}\"},paddingInline:{value:\"{space.zero}\"},maxHeight:{value:\"40rem\"},maxWidth:{value:\"auto\"},text:{fontSize:{value:\"{fontSizes.medium}\"},fontWeight:{value:\"{fontWeights.bold}\"},color:{value:\"{colors.font.primary}\"}},body:{paddingBlock:{value:\"{space.medium}\"},paddingInline:{value:\"{space.medium}\"},gap:{value:\"{space.small}\"}},footer:{borderColor:{value:\"{colors.border.secondary}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.small}\"},paddingBlock:{value:\"{space.medium}\"},paddingInline:{value:\"{space.medium}\"},justifyContent:{value:\"space-between\"}}}};export{e as fileuploader};\n","import{fileuploader as e}from\"./fileUploader.mjs\";const s=Object.assign(Object.assign({},e),{filelist:{flexDirection:\"column\",gap:\"{space.small}\"}});export{s as storagemanager};\n","const e={xxxs:{value:\"0.375rem\"},xxs:{value:\"0.5rem\"},xs:{value:\"0.75rem\"},small:{value:\"0.875rem\"},medium:{value:\"1rem\"},large:{value:\"1.25rem\"},xl:{value:\"1.5rem\"},xxl:{value:\"2rem\"},xxxl:{value:\"2.5rem\"},xxxxl:{value:\"3rem\"}};export{e as fontSizes};\n","const l={hairline:{value:100},thin:{value:200},light:{value:300},normal:{value:400},medium:{value:500},semibold:{value:600},bold:{value:700},extrabold:{value:800},black:{value:900}};export{l as fontWeights};\n","const e={0:{value:\"0\"},10:{value:\"0.1\"},20:{value:\"0.2\"},30:{value:\"0.3\"},40:{value:\"0.4\"},50:{value:\"0.5\"},60:{value:\"0.6\"},70:{value:\"0.7\"},80:{value:\"0.8\"},90:{value:\"0.9\"},100:{value:\"1\"}};export{e as opacities};\n","const e={xs:{value:\"0.125rem\"},small:{value:\"0.25rem\"},medium:{value:\"0.5rem\"},large:{value:\"1rem\"},xl:{value:\"2rem\"},xxl:{value:\"4rem\"},xxxl:{value:\"8rem\"}};export{e as radii};\n","const e={zero:{value:\"0\"},xxxs:{value:\"0.25rem\"},xxs:{value:\"0.375rem\"},xs:{value:\"0.5rem\"},small:{value:\"0.75rem\"},medium:{value:\"1rem\"},large:{value:\"1.5rem\"},xl:{value:\"2.0rem\"},xxl:{value:\"3.0rem\"},xxxl:{value:\"4.5rem\"},relative:{xxxs:{value:\"0.25em\"},xxs:{value:\"0.375em\"},xs:{value:\"0.5em\"},small:{value:\"0.75em\"},medium:{value:\"1em\"},large:{value:\"1.5em\"},xl:{value:\"2.0em\"},xxl:{value:\"3.0em\"},xxxl:{value:\"4.5em\"},full:{value:\"100%\"}}};export{e as space};\n","const e={short:{value:\"100ms\"},medium:{value:\"250ms\"},long:{value:\"500ms\"}};export{e as time};\n","import{tokens as e}from\"./tokens/index.mjs\";import{breakpoints as o}from\"./breakpoints.mjs\";const t={tokens:e,breakpoints:o,name:\"default-theme\"};export{t as defaultTheme};\n","import{borderWidths as s}from\"./borderWidths.mjs\";import{colors as m}from\"./colors.mjs\";import{components as o}from\"./components/index.mjs\";import{fonts as i}from\"./fonts.mjs\";import{fontSizes as r}from\"./fontSizes.mjs\";import{fontWeights as t}from\"./fontWeights.mjs\";import{lineHeights as e}from\"./lineHeights.mjs\";import{opacities as x}from\"./opacities.mjs\";import{outlineOffsets as l}from\"./outlineOffsets.mjs\";import{outlineWidths as f}from\"./outlineWidths.mjs\";import{radii as p}from\"./radii.mjs\";import{shadows as n}from\"./shadows.mjs\";import{space as a}from\"./space.mjs\";import{time as d}from\"./time.mjs\";import{transforms as j}from\"./transforms.mjs\";const c={components:o,borderWidths:s,colors:m,fonts:i,fontSizes:r,fontWeights:t,lineHeights:e,opacities:x,outlineOffsets:l,outlineWidths:f,radii:p,shadows:n,space:a,time:d,transforms:j},h={colors:m,borderWidths:s,fontSizes:{xxs:r.xxs,xs:r.xs,small:r.small,medium:r.medium,large:r.large,xl:r.xl,xxl:r.xxl,xxxl:r.xxxl},fontWeights:t,opacities:x,space:{xxs:a.xxxs,xs:a.xs,small:a.small,medium:a.medium,large:a.large,xl:a.xl,xxl:a.xxl,xxxl:a.xxxl},radii:p,time:d};export{h as reactNativeTokens,c as tokens};\n","import{alert as m}from\"./alert.mjs\";import{autocomplete as o}from\"./autocomplete.mjs\";import{authenticator as r}from\"./authenticator.mjs\";import{badge as e}from\"./badge.mjs\";import{button as i}from\"./button.mjs\";import{card as t}from\"./card.mjs\";import{checkbox as s}from\"./checkbox.mjs\";import{checkboxfield as p}from\"./checkboxField.mjs\";import{collection as f}from\"./collection.mjs\";import{copy as l}from\"./copy.mjs\";import{dialcodeselect as a}from\"./dialCodeSelect.mjs\";import{divider as d}from\"./divider.mjs\";import{expander as j}from\"./expander.mjs\";import{field as n}from\"./field.mjs\";import{fieldcontrol as c}from\"./fieldControl.mjs\";import{fieldgroup as g}from\"./fieldGroup.mjs\";import{fieldmessages as h}from\"./fieldMessages.mjs\";import{fileuploader as u}from\"./fileUploader.mjs\";import{flex as b}from\"./flex.mjs\";import{heading as x}from\"./heading.mjs\";import{highlightmatch as F}from\"./highlightMatch.mjs\";import{icon as k}from\"./icon.mjs\";import{image as v}from\"./image.mjs\";import{inappmessaging as w}from\"./inAppMessaging.mjs\";import{link as y}from\"./link.mjs\";import{liveness as G}from\"./liveness.mjs\";import{loader as M}from\"./loader.mjs\";import{menu as A}from\"./menu.mjs\";import{pagination as B}from\"./pagination.mjs\";import{passwordfield as C}from\"./passwordField.mjs\";import{phonenumberfield as N}from\"./phoneNumberField.mjs\";import{placeholder as S}from\"./placeholder.mjs\";import{radio as U}from\"./radio.mjs\";import{radiogroup as q}from\"./radioGroup.mjs\";import{rating as z}from\"./rating.mjs\";import{searchfield as D}from\"./searchField.mjs\";import{select as E}from\"./select.mjs\";import{selectfield as H}from\"./selectField.mjs\";import{sliderfield as I}from\"./sliderField.mjs\";import{stepperfield as J}from\"./stepperField.mjs\";import{storagemanager as K}from\"./storagemanager.mjs\";import{switchfield as L}from\"./switchField.mjs\";import{table as O}from\"./table.mjs\";import{tabs as P}from\"./tabs.mjs\";import{text as Q}from\"./text.mjs\";import{textareafield as R}from\"./textAreaField.mjs\";import{textfield as T}from\"./textField.mjs\";import{togglebutton as V}from\"./toggleButton.mjs\";import{togglebuttongroup as W}from\"./toggleButtonGroup.mjs\";const X={alert:m,authenticator:r,autocomplete:o,badge:e,button:i,card:t,checkbox:s,checkboxfield:p,collection:f,copy:l,countrycodeselect:a,divider:d,expander:j,field:n,fieldcontrol:c,fieldgroup:g,fieldmessages:h,fileuploader:u,flex:b,heading:x,icon:k,highlightmatch:F,image:v,inappmessaging:w,link:y,liveness:G,loader:M,menu:A,pagination:B,passwordfield:C,phonenumberfield:N,placeholder:S,radio:U,radiogroup:q,rating:z,searchfield:D,select:E,selectfield:H,sliderfield:I,stepperfield:J,storagemanager:K,switchfield:L,table:O,tabs:P,text:Q,textareafield:R,textfield:T,togglebutton:V,togglebuttongroup:W};export{X as components};\n","const o={alignItems:{value:\"center\"},justifyContent:{value:\"space-between\"},color:{value:\"{colors.font.primary.value}\"},backgroundColor:{value:\"{colors.background.tertiary.value}\"},paddingBlock:{value:\"{space.small.value}\"},paddingInline:{value:\"{space.medium.value}\"},icon:{size:{value:\"{fontSizes.xl.value}\"}},heading:{fontSize:{value:\"{fontSizes.medium.value}\"},fontWeight:{value:\"{fontWeights.bold.value}\"}},info:{color:{value:\"{colors.font.info.value}\"},backgroundColor:{value:\"{colors.background.info.value}\"}},error:{color:{value:\"{colors.font.error.value}\"},backgroundColor:{value:\"{colors.background.error.value}\"}},warning:{color:{value:\"{colors.font.warning.value}\"},backgroundColor:{value:\"{colors.background.warning.value}\"}},success:{color:{value:\"{colors.font.success.value}\"},backgroundColor:{value:\"{colors.background.success.value}\"}}};export{o as alert};\n","const e={maxWidth:{value:\"60rem\"},modal:{width:{value:\"{space.relative.full}\"},height:{value:\"{space.relative.full}\"},backgroundColor:{value:\"{colors.overlay.50.value}\"},top:{value:\"{space.zero}\"},left:{value:\"{space.zero}\"}},container:{widthMax:{value:\"30rem\"}},router:{borderWidth:{value:\"{borderWidths.small.value}\"},borderStyle:{value:\"solid\"},borderColor:{value:\"{colors.border.primary.value}\"},backgroundColor:{value:\"{colors.background.primary.value}\"},boxShadow:{value:\"{shadows.medium.value}\"}},footer:{paddingBottom:{value:\"{space.medium.value}\"}},form:{padding:{value:\"{space.xl.value}\"}},state:{inactive:{backgroundColor:{value:\"{colors.background.secondary.value}\"}}},orContainer:{color:{value:\"{colors.neutral.80.value}\"},orLine:{backgroundColor:{value:\"{colors.background.primary.value}\"}}}};export{e as authenticator};\n","const a={menu:{width:{value:\"100%\"},marginBlockStart:{value:\"{space.xxxs}\"},backgroundColor:{value:\"{colors.background.primary}\"},borderColor:{value:\"{colors.border.primary}\"},borderWidth:{value:\"{borderWidths.small}\"},borderStyle:{value:\"solid\"},borderRadius:{value:\"{radii.small}\"},options:{display:{value:\"flex\"},flexDirection:{value:\"column\"},maxHeight:{value:\"300px\"}},option:{backgroundColor:{value:\"{colors.background.primary}\"},color:{value:\"currentcolor\"},cursor:{value:\"pointer\"},transitionDuration:{value:\"{time.short}\"},transitionProperty:{value:\"background-color, color\"},transitionTimingFunction:{value:\"ease\"},_active:{backgroundColor:{value:\"{colors.brand.primary.80}\"},color:{value:\"{colors.white}\"}}},_empty:{display:{value:\"flex\"}},_loading:{alignItems:{value:\"center\"},display:{value:\"flex\"},gap:{value:\"{space.xxxs}\"}},spaceShared:{paddingBlock:{value:\"{space.xs}\"},paddingInline:{value:\"{space.small}\"}}}};export{a as autocomplete};\n","const a={color:{value:\"{colors.font.primary.value}\"},lineHeight:{value:1},fontWeight:{value:\"{fontWeights.semibold.value}\"},fontSize:{value:\"{fontSizes.small.value}\"},textAlign:{value:\"center\"},paddingVertical:{value:\"{space.xs.value}\"},paddingHorizontal:{value:\"{space.small.value}\"},backgroundColor:{value:\"{colors.background.tertiary.value}\"},borderRadius:{value:\"{radii.xl.value}\"},info:{color:{value:\"{colors.font.info.value}\"},backgroundColor:{value:\"{colors.background.info.value}\"}},warning:{color:{value:\"{colors.font.warning.value}\"},backgroundColor:{value:\"{colors.background.warning.value}\"}},success:{color:{value:\"{colors.font.success.value}\"},backgroundColor:{value:\"{colors.background.success.value}\"}},error:{color:{value:\"{colors.font.error.value}\"},backgroundColor:{value:\"{colors.background.error.value}\"}},small:{fontSize:{value:\"{fontSizes.xs.value}\"},paddingVertical:{value:\"{space.xxs.value}\"},paddingHorizontal:{value:\"{space.xs.value}\"}},large:{fontSize:{value:\"{fontSizes.medium.value}\"},paddingVertical:{value:\"{space.small.value}\"},paddingHorizontal:{value:\"{space.medium.value}\"}}};export{a as badge};\n","const o={fontWeight:{value:\"{fontWeights.bold.value}\"},transitionDuration:{value:\"{components.fieldcontrol.transitionDuration.value}\"},fontSize:{value:\"{components.fieldcontrol.fontSize.value}\"},lineHeight:{value:\"{components.fieldcontrol.lineHeight.value}\"},paddingBlockStart:{value:\"{components.fieldcontrol.paddingBlockStart.value}\"},paddingBlockEnd:{value:\"{components.fieldcontrol.paddingBlockEnd.value}\"},paddingInlineStart:{value:\"{components.fieldcontrol.paddingInlineStart.value}\"},paddingInlineEnd:{value:\"{components.fieldcontrol.paddingInlineEnd.value}\"},borderColor:{value:\"{components.fieldcontrol.borderColor.value}\"},borderWidth:{value:\"{components.fieldcontrol.borderWidth.value}\"},borderStyle:{value:\"{components.fieldcontrol.borderStyle.value}\"},borderRadius:{value:\"{components.fieldcontrol.borderRadius.value}\"},color:{value:\"{colors.font.primary.value}\"},_hover:{color:{value:\"{colors.font.focus.value}\"},backgroundColor:{value:\"{colors.brand.primary.10.value}\"},borderColor:{value:\"{colors.brand.primary.60.value}\"}},_focus:{color:{value:\"{colors.font.focus.value}\"},backgroundColor:{value:\"{colors.brand.primary.10.value}\"},borderColor:{value:\"{colors.border.focus.value}\"},boxShadow:{value:\"{components.fieldcontrol._focus.boxShadow.value}\"}},_active:{color:{value:\"{colors.font.active.value}\"},backgroundColor:{value:\"{colors.brand.primary.20.value}\"},borderColor:{value:\"{colors.brand.primary.100.value}\"}},_loading:{color:{value:\"{colors.font.disabled.value}\"},backgroundColor:{value:\"transparent\"},borderColor:{value:\"{colors.border.tertiary.value}\"}},_disabled:{color:{value:\"{colors.font.disabled.value}\"},backgroundColor:{value:\"transparent\"},borderColor:{value:\"{colors.border.tertiary.value}\"}},primary:{borderColor:{value:\"transparent\"},borderWidth:{value:\"{borderWidths.small.value}\"},borderStyle:{value:\"solid\"},backgroundColor:{value:\"{colors.brand.primary.80.value}\"},color:{value:\"{colors.font.inverse.value}\"},_disabled:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.background.disabled.value}\"},color:{value:\"{colors.font.disabled.value}\"}},_loading:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.background.disabled.value}\"},color:{value:\"{colors.font.disabled.value}\"}},_hover:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.brand.primary.90.value}\"},color:{value:\"{colors.font.inverse.value}\"}},_focus:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.brand.primary.90.value}\"},color:{value:\"{colors.font.inverse.value}\"},boxShadow:{value:\"{components.fieldcontrol._focus.boxShadow.value}\"}},_active:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.brand.primary.100.value}\"},color:{value:\"{colors.font.inverse.value}\"}}},menu:{borderWidth:{value:\"{space.zero.value}\"},backgroundColor:{value:\"transparent\"},justifyContent:{value:\"start\"},_hover:{color:{value:\"{colors.font.inverse.value}\"},backgroundColor:{value:\"{colors.brand.primary.80.value}\"}},_focus:{color:{value:\"{colors.font.inverse.value}\"},backgroundColor:{value:\"{colors.brand.primary.80.value}\"}},_active:{color:{value:\"{colors.font.inverse.value}\"},backgroundColor:{value:\"{colors.brand.primary.90.value}\"}},_disabled:{color:{value:\"{colors.font.disabled.value}\"}}},link:{backgroundColor:{value:\"transparent\"},borderColor:{value:\"transparent\"},borderWidth:{value:\"{space.zero.value}\"},color:{value:\"{colors.font.interactive.value}\"},_hover:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.brand.primary.10.value}\"},color:{value:\"{colors.font.hover.value}\"}},_focus:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.brand.primary.10.value}\"},color:{value:\"{colors.font.focus.value}\"},boxShadow:{value:\"{components.fieldcontrol._focus.boxShadow.value}\"}},_active:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.brand.primary.20.value}\"},color:{value:\"{colors.font.active.value}\"}},_disabled:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"transparent\"},color:{value:\"{colors.font.disabled.value}\"}},_loading:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"transparent\"},color:{value:\"{colors.font.disabled.value}\"}}},warning:{backgroundColor:{value:\"transparent\"},borderColor:{value:\"{colors.red.60}\"},borderWidth:{value:\"{borderWidths.small}\"},color:{value:\"{colors.red.60}\"},_hover:{borderColor:{value:\"{colors.red.80}\"},backgroundColor:{value:\"{colors.red.10}\"},color:{value:\"{colors.font.error}\"}},_focus:{borderColor:{value:\"{colors.red.80}\"},backgroundColor:{value:\"{colors.red.10}\"},color:{value:\"{colors.red.80}\"},boxShadow:{value:\"{components.fieldcontrol._error._focus.boxShadow}\"}},_active:{borderColor:{value:\"{colors.red.100}\"},backgroundColor:{value:\"{colors.red.20}\"},color:{value:\"{colors.red.100}\"}},_disabled:{borderColor:{value:\"{colors.border.tertiary}\"},backgroundColor:{value:\"transparent\"},color:{value:\"{colors.font.disabled}\"}},_loading:{borderColor:{value:\"{colors.border.tertiary}\"},backgroundColor:{value:\"transparent\"},color:{value:\"{colors.font.disabled}\"}}},destructive:{borderColor:{value:\"transparent\"},borderWidth:{value:\"{borderWidths.small}\"},borderStyle:{value:\"solid\"},backgroundColor:{value:\"{colors.red.60}\"},color:{value:\"{colors.font.inverse}\"},_disabled:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.background.disabled}\"},color:{value:\"{colors.font.disabled}\"}},_loading:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.background.disabled}\"},color:{value:\"{colors.font.disabled}\"}},_hover:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.red.80}\"},color:{value:\"{colors.font.inverse}\"}},_focus:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.red.80}\"},color:{value:\"{colors.font.inverse}\"},boxShadow:{value:\"{components.fieldcontrol._error._focus.boxShadow}\"}},_active:{borderColor:{value:\"transparent\"},backgroundColor:{value:\"{colors.red.100}\"},color:{value:\"{colors.font.inverse}\"}}},small:{fontSize:{value:\"{components.fieldcontrol.small.fontSize.value}\"},paddingBlockStart:{value:\"{components.fieldcontrol.small.paddingBlockStart.value}\"},paddingBlockEnd:{value:\"{components.fieldcontrol.small.paddingBlockEnd.value}\"},paddingInlineStart:{value:\"{components.fieldcontrol.small.paddingInlineStart.value}\"},paddingInlineEnd:{value:\"{components.fieldcontrol.small.paddingInlineEnd.value}\"}},large:{fontSize:{value:\"{components.fieldcontrol.large.fontSize.value}\"},paddingBlockStart:{value:\"{components.fieldcontrol.large.paddingBlockStart.value}\"},paddingBlockEnd:{value:\"{components.fieldcontrol.large.paddingBlockEnd.value}\"},paddingInlineStart:{value:\"{components.fieldcontrol.large.paddingInlineStart.value}\"},paddingInlineEnd:{value:\"{components.fieldcontrol.large.paddingInlineEnd.value}\"}},loaderWrapper:{alignItems:{value:\"center\"},gap:{value:\"{space.xs.value}\"}}};export{o as button};\n","const o={backgroundColor:{value:\"{colors.background.primary.value}\"},borderRadius:{value:\"{radii.xs.value}\"},borderWidth:{value:\"0\"},borderStyle:{value:\"solid\"},borderColor:{value:\"transparent\"},boxShadow:{value:\"none\"},padding:{value:\"{space.medium.value}\"},outlined:{backgroundColor:{value:\"{components.card.backgroundColor.value}\"},borderRadius:{value:\"{radii.xs.value}\"},borderWidth:{value:\"{borderWidths.small.value}\"},borderStyle:{value:\"solid\"},borderColor:{value:\"{colors.border.primary.value}\"},boxShadow:{value:\"{components.card.boxShadow.value}\"}},elevated:{backgroundColor:{value:\"{components.card.backgroundColor.value}\"},borderRadius:{value:\"{radii.xs.value}\"},borderWidth:{value:\"0\"},borderStyle:{value:\"solid\"},borderColor:{value:\"transparent\"},boxShadow:{value:\"{shadows.medium.value}\"}}};export{o as card};\n","const e={cursor:{value:\"pointer\"},alignItems:{value:\"center\"},_disabled:{cursor:{value:\"not-allowed\"}},button:{position:{value:\"relative\"},alignItems:{value:\"center\"},justifyContent:{value:\"center\"},color:{value:\"{colors.font.inverse.value}\"},before:{width:{value:\"100%\"},height:{value:\"100%\"},borderWidth:{value:\"{borderWidths.medium.value}\"},borderRadius:{value:\"20%\"},borderStyle:{value:\"solid\"},borderColor:{value:\"{colors.border.primary.value}\"}},_focus:{outlineColor:{value:\"{colors.transparent.value}\"},outlineStyle:{value:\"solid\"},outlineWidth:{value:\"{outlineWidths.medium.value}\"},outlineOffset:{value:\"{outlineOffsets.medium.value}\"},borderColor:{value:\"{colors.transparent.value}\"},boxShadow:{value:{offsetX:\"0px\",offsetY:\"0px\",blurRadius:\"0px\",spreadRadius:\"2px\",color:\"{colors.border.focus.value}\"}}},_disabled:{borderColor:{value:\"{colors.border.disabled.value}\"}},_error:{borderColor:{value:\"{colors.border.error.value}\"},_focus:{borderColor:{value:\"{colors.transparent.value}\"},boxShadow:{value:{offsetX:\"0px\",offsetY:\"0px\",blurRadius:\"0px\",spreadRadius:\"2px\",color:\"{colors.border.error.value}\"}}}}},icon:{backgroundColor:{value:\"{colors.brand.primary.80.value}\"},borderRadius:{value:\"20%\"},opacity:{value:\"{opacities.0.value}\"},transform:{value:\"scale(0)\"},transitionProperty:{value:\"all\"},transitionDuration:{value:\"{time.short.value}\"},transitionTimingFunction:{value:\"ease-in-out\"},_checked:{opacity:{value:\"{opacities.100.value}\"},transform:{value:\"scale(1)\"},_disabled:{backgroundColor:{value:\"{colors.background.disabled.value}\"}}},_indeterminate:{opacity:{value:\"{opacities.100.value}\"},transform:{value:\"scale(1)\"},_disabled:{backgroundColor:{value:\"{colors.background.disabled.value}\"}}}},label:{_disabled:{color:{value:\"{colors.font.disabled.value}\"}}}};export{e as checkbox};\n","const e={alignItems:{value:\"flex-start\"},alignContent:{value:\"center\"},flexDirection:{value:\"column\"},justifyContent:{value:\"center\"}};export{e as checkboxfield};\n","const o={pagination:{current:{color:{value:\"{components.pagination.current.color}\"},backgroundColor:{value:\"{components.pagination.current.backgroundColor}\"}},button:{color:{value:\"{components.pagination.button.color}\"},_hover:{backgroundColor:{value:\"{components.pagination.button.hover.backgroundColor}\"},color:{value:\"{components.pagination.button.hover.color}\"}},_disabled:{color:{value:\"{components.pagination.button.disabled.color}\"}}}},search:{input:{color:{value:\"{components.searchfield.color}\"}},button:{color:{value:\"{components.searchfield.button.color}\"},_active:{backgroundColor:{value:\"{components.searchfield.button._active.backgroundColor}\"},borderColor:{value:\"{components.searchfield.button._active.borderColor}\"},color:{value:\"{components.searchfield.button._active.color}\"}},_disabled:{backgroundColor:{value:\"{components.searchfield.button._disabled.backgroundColor}\"},borderColor:{value:\"{components.searchfield.button._disabled.borderColor}\"},color:{value:\"{components.searchfield.button._disabled.color}\"}},_focus:{backgroundColor:{value:\"{components.searchfield.button._focus.backgroundColor}\"},borderColor:{value:\"{components.searchfield.button._focus.borderColor}\"},color:{value:\"{components.searchfield.button._focus.color}\"}},_hover:{backgroundColor:{value:\"{components.searchfield.button._hover.backgroundColor}\"},borderColor:{value:\"{components.searchfield.button._hover.borderColor}\"},color:{value:\"{components.searchfield.button._hover.color}\"}}}}};export{o as collection};\n","const e={fontSize:{value:\"{fontSizes.xs}\"},gap:{value:\"{space.relative.medium}\"},svg:{path:{fill:{value:\"{colors.font.primary}\"}}},toolTip:{bottom:{value:\"{space.large}\"},color:{value:\"{colors.teal.100}\"},fontSize:{value:\"{fontSizes.xxs}\"}}};export{e as copy};\n","const e={height:{value:\"{space.relative.full.value}\"}};export{e as dialcodeselect};\n","const e={borderStyle:{value:\"solid\"},borderColor:{value:\"{colors.border.primary.value}\"},borderWidth:{value:\"{borderWidths.medium.value}\"},label:{color:{value:\"{colors.font.tertiary.value}\"},paddingInline:{value:\"{space.medium.value}\"},fontSize:{value:\"{fontSizes.small.value}\"},backgroundColor:{value:\"{colors.background.primary.value}\"}},small:{borderWidth:{value:\"{borderWidths.small.value}\"}},large:{borderWidth:{value:\"{borderWidths.large.value}\"}},opacity:{value:\"{opacities.60.value}\"}};export{e as divider};\n","const a={display:{value:\"block\"},backgroundColor:{value:\"{colors.background.primary.value}\"},borderRadius:{value:\"{radii.medium.value}\"},boxShadow:{value:\"{shadows.large.value}\"},width:{value:\"100%\"},item:{marginTop:{value:\"1px\"},boxShadow:{value:\"{shadows.small.value}\"},borderBottomLeftRadius:{value:\"{radii.medium.value}\"},borderBottomRightRadius:{value:\"{radii.medium.value}\"},borderTopLeftRadius:{value:\"{radii.medium.value}\"},borderTopRightRadius:{value:\"{radii.medium.value}\"},borderStartStartRadius:{value:\"{radii.medium.value}\"},borderStartEndRadius:{value:\"{radii.medium.value}\"},borderEndStartRadius:{value:\"{radii.medium.value}\"},borderEndEndRadius:{value:\"{radii.medium.value}\"},_focus:{boxShadow:{value:{offsetX:\"0\",offsetY:\"0\",blurRadius:\"0\",spreadRadius:\"2px\",color:\"{colors.border.focus.value}\"}}}},header:{boxShadow:{value:{offsetX:\"0\",offsetY:\"1px\",blurRadius:\"0\",color:\"{colors.overlay.20.value}\"}}},trigger:{minHeight:{value:\"3rem\"},paddingInlineStart:{value:\"{space.large.value}\"},paddingInlineEnd:{value:\"{space.large.value}\"},alignItems:{value:\"center\"},justifyContent:{value:\"space-between\"},_hover:{backgroundColor:{value:\"{colors.overlay.10.value}\"}}},content:{paddingInlineStart:{value:\"{space.large.value}\"},paddingInlineEnd:{value:\"{space.large.value}\"},text:{color:{value:\"{colors.font.secondary.value}\"},paddingBlockStart:{value:\"{space.medium.value}\"},paddingBlockEnd:{value:\"{space.medium.value}\"}},_open:{animationDuration:{value:\"{time.medium.value}\"},animationTimingFunction:{value:\"cubic-bezier(0.87, 0, 0.13, 1)\"}},_closed:{animationDuration:{value:\"{time.medium.value}\"},animationTimingFunction:{value:\"cubic-bezier(0.87, 0, 0.13, 1)\"}}},icon:{transitionDuration:{value:\"{time.medium.value}\"},transitionTimingFunction:{value:\"cubic-bezier(0.87, 0, 0.13, 1)\"}}};export{a as expander};\n","const e={gap:{value:\"{space.xs.value}\"},fontSize:{value:\"{fontSizes.medium.value}\"},flexDirection:{value:\"column\"},small:{gap:{value:\"{space.xxxs.value}\"},fontSize:{value:\"{fontSizes.small.value}\"}},large:{gap:{value:\"{space.small.value}\"},fontSize:{value:\"{fontSizes.large.value}\"}},label:{color:{value:\"{colors.font.secondary.value}\"}}};export{e as field};\n","const e={borderStyle:{value:\"solid\"},borderColor:{value:\"{colors.border.primary.value}\"},borderWidth:{value:\"{borderWidths.small.value}\"},borderRadius:{value:\"{radii.small.value}\"},color:{value:\"{colors.font.primary.value}\"},paddingBlockStart:{value:\"{space.xs.value}\"},paddingBlockEnd:{value:\"{space.xs.value}\"},paddingInlineStart:{value:\"{space.medium.value}\"},paddingInlineEnd:{value:\"{space.medium.value}\"},fontSize:{value:\"{components.field.fontSize.value}\"},lineHeight:{value:\"{lineHeights.medium.value}\"},transitionDuration:{value:\"{time.medium.value}\"},outlineColor:{value:\"{colors.transparent.value}\"},outlineStyle:{value:\"solid\"},outlineWidth:{value:\"{outlineWidths.medium.value}\"},outlineOffset:{value:\"{outlineOffsets.medium.value}\"},small:{fontSize:{value:\"{components.field.small.fontSize.value}\"},paddingBlockStart:{value:\"{space.xxs.value}\"},paddingBlockEnd:{value:\"{space.xxs.value}\"},paddingInlineStart:{value:\"{space.small.value}\"},paddingInlineEnd:{value:\"{space.small.value}\"}},large:{fontSize:{value:\"{components.field.large.fontSize.value}\"},paddingBlockStart:{value:\"{space.xs.value}\"},paddingBlockEnd:{value:\"{space.xs.value}\"},paddingInlineStart:{value:\"{space.medium.value}\"},paddingInlineEnd:{value:\"{space.medium.value}\"}},quiet:{borderStyle:{value:\"none\"},borderInlineStart:{value:\"none\"},borderInlineEnd:{value:\"none\"},borderBlockStart:{value:\"none\"},borderRadius:{value:\"0\"},_focus:{borderBlockEndColor:{value:\"{colors.border.focus.value}\"},boxShadow:{value:{offsetX:\"0px\",offsetY:\"1px\",color:\"{colors.border.focus.value}\",blurRadius:\"0px\"}}},_error:{borderBlockEndColor:{value:\"{colors.border.error.value}\"},_focus:{boxShadow:{value:{offsetX:\"0px\",offsetY:\"1px\",color:\"{colors.border.error.value}\",blurRadius:\"0px\"}}}}},_focus:{borderColor:{value:\"{colors.border.focus.value}\"},boxShadow:{value:{offsetX:\"0px\",offsetY:\"0px\",blurRadius:\"0px\",spreadRadius:\"1px\",color:\"{colors.border.focus.value}\"}}},_disabled:{color:{value:\"{colors.font.disabled.value}\"},cursor:{value:\"not-allowed\"},borderColor:{value:\"{colors.transparent.value}\"},backgroundColor:{value:\"{colors.background.disabled.value}\"}},_error:{borderColor:{value:\"{colors.border.error.value}\"},_focus:{boxShadow:{value:{offsetX:\"0px\",offsetY:\"0px\",blurRadius:\"0px\",spreadRadius:\"1px\",color:\"{colors.border.error.value}\"}}}}};export{e as fieldcontrol};\n","const e={gap:{value:\"{space.zero.value}\"},vertical:{alignItems:{value:\"center\"}},outer:{alignItems:{value:\"center\"}}};export{e as fieldgroup};\n","const o={error:{color:{value:\"{colors.font.error.value}\"},fontSize:{value:\"{fontSizes.small.value}\"}},description:{color:{value:\"{colors.font.secondary.value}\"},fontStyle:{value:\"italic\"},fontSize:{value:\"{fontSizes.small.value}\"}}};export{o as fieldmessages};\n","const a={gap:{value:\"{space.medium.value}\"},justifyContent:{value:\"normal\"},alignItems:{value:\"stretch\"},alignContent:{value:\"normal\"},flexWrap:{value:\"nowrap\"}};export{a as flex};\n","const e={color:{value:\"{colors.font.primary.value}\"},lineHeight:{value:\"{lineHeights.small.value}\"},1:{fontSize:{value:\"{fontSizes.xxxxl.value}\"},fontWeight:{value:\"{fontWeights.light.value}\"}},2:{fontSize:{value:\"{fontSizes.xxxl.value}\"},fontWeight:{value:\"{fontWeights.normal.value}\"}},3:{fontSize:{value:\"{fontSizes.xxl.value}\"},fontWeight:{value:\"{fontWeights.medium.value}\"}},4:{fontSize:{value:\"{fontSizes.xl.value}\"},fontWeight:{value:\"{fontWeights.semibold.value}\"}},5:{fontSize:{value:\"{fontSizes.large.value}\"},fontWeight:{value:\"{fontWeights.bold.value}\"}},6:{fontSize:{value:\"{fontSizes.medium.value}\"},fontWeight:{value:\"{fontWeights.extrabold.value}\"}}};export{e as heading};\n","const e={lineHeight:{value:1},height:{value:\"1em\"}};export{e as icon};\n","const t={highlighted:{fontWeight:{value:\"{fontWeights.bold}\"}}};export{t as highlightmatch};\n","const i={maxWidth:{value:\"100%\"},height:{value:\"auto\"},objectFit:{value:\"initial\"},objectPosition:{value:\"initial\"}};export{i as image};\n","const e={banner:{height:{value:\"150px \"},width:{value:\"400px \"}},button:{backgroundColor:{value:\"#e8e8e8\"},borderRadius:{value:\"5px\"},color:{value:\"black\"}},dialog:{height:{value:\"50vh\"},minHeight:{value:\"400px\"},minWidth:{value:\"400px\"},width:{value:\"30vw\"}},header:{fontSize:{value:\"{fontSizes.medium.value}\"},fontWeight:{value:\"{fontWeights.extrabold.value}\"}}};export{e as inappmessaging};\n","const o={active:{color:{value:\"{colors.font.active.value}\"}},color:{value:\"{colors.font.interactive.value}\"},focus:{color:{value:\"{colors.font.focus.value}\"}},hover:{color:{value:\"{colors.font.hover.value}\"}},visited:{color:{value:\"{colors.font.interactive.value}\"}}};export{o as link};\n","const o={cameraModule:{backgroundColor:{value:\"{colors.black}\"}}};export{o as liveness};\n","const e={width:{value:\"{fontSizes.medium.value}\"},height:{value:\"{fontSizes.medium.value}\"},fontSize:{value:\"{fontSizes.xs.value}\"},strokeEmpty:{value:\"{colors.neutral.20.value}\"},strokeFilled:{value:\"{colors.brand.primary.80.value}\"},strokeLinecap:{value:\"round\"},animationDuration:{value:\"1s\"},small:{width:{value:\"{fontSizes.small.value}\"},height:{value:\"{fontSizes.small.value}\"},fontSize:{value:\"{fontSizes.xxs.value}\"}},large:{width:{value:\"{fontSizes.large.value}\"},height:{value:\"{fontSizes.large.value}\"},fontSize:{value:\"{fontSizes.small.value}\"}},linear:{width:{value:\"100%\"},minWidth:{value:\"5rem\"},fontSize:{value:\"{fontSizes.medium.value}\"},strokeWidth:{value:\"{fontSizes.medium.value}\"},strokeFilled:{value:\"{colors.brand.primary.80.value}\"},strokeEmpty:{value:\"{colors.neutral.20.value}\"},strokeLinecap:{value:\"round\"},animationDuration:{value:\"1s\"},small:{strokeWidth:{value:\"{fontSizes.small.value}\"},fontSize:{value:\"{fontSizes.small.value}\"}},large:{strokeWidth:{value:\"{fontSizes.large.value}\"},fontSize:{value:\"{fontSizes.large.value}\"}}},text:{fill:{value:\"{colors.font.primary.value}\"}}};export{e as loader};\n","const e={backgroundColor:{value:\"{colors.background.primary.value}\"},borderRadius:{value:\"{radii.medium.value}\"},borderWidth:{value:\"{borderWidths.small.value}\"},borderStyle:{value:\"solid\"},borderColor:{value:\"{colors.border.primary.value}\"},boxShadow:{value:\"{shadows.large.value}\"},flexDirection:{value:\"column\"},gap:{value:\"{space.zero.value}\"},maxWidth:{value:\"30rem\"},minWidth:{value:\"14rem\"},small:{width:{value:\"{fontSizes.medium.value}\"},height:{value:\"{fontSizes.medium.value}\"}},large:{width:{value:\"{fontSizes.xxxl.value}\"},height:{value:\"{fontSizes.xxxl.value}\"}},item:{minHeight:{value:\"2.5rem\"},paddingInlineStart:{value:\"{space.medium.value}\"},paddingInlineEnd:{value:\"{space.medium.value}\"}}};export{e as menu};\n","const e={current:{alignItems:{value:\"center\"},justifyContent:{value:\"center\"},color:{value:\"{colors.font.inverse.value}\"},fontSize:{value:\"{fontSizes.small.value}\"},backgroundColor:{value:\"{colors.overlay.40.value}\"}},button:{color:{value:\"{colors.font.primary.value}\"},paddingInlineStart:{value:\"{space.xxs.value}\"},paddingInlineEnd:{value:\"{space.xxs.value}\"},transitionProperty:{value:\"background-color\"},transitionDuration:{value:\"{time.medium.value}\"},hover:{backgroundColor:{value:\"{colors.overlay.10.value}\"},color:{value:\"{colors.font.primary.value}\"}},disabled:{color:{value:\"{colors.font.disabled.value}\"}}},ellipsis:{alignItems:{value:\"baseline\"},justifyContent:{value:\"center\"},paddingInlineStart:{value:\"{space.xs.value}\"},paddingInlineEnd:{value:\"{space.xs.value}\"}},itemContainer:{marginLeft:{value:\"{space.xxxs.value}\"},marginRight:{value:\"{space.xxxs.value}\"}},itemShared:{height:{value:\"{fontSizes.xxl.value}\"},minWidth:{value:\"{fontSizes.xxl.value}\"},borderRadius:{value:\"{fontSizes.medium.value}\"}}};export{e as pagination};\n","const o={color:{value:\"{components.fieldcontrol.color.value}\"},button:{color:{value:\"{components.button.color.value}\"},_active:{backgroundColor:{value:\"{components.button._active.backgroundColor.value}\"},borderColor:{value:\"{components.button._active.borderColor.value}\"},color:{value:\"{components.button._active.color.value}\"}},_disabled:{backgroundColor:{value:\"{components.button._disabled.backgroundColor.value}\"},borderColor:{value:\"{components.button._disabled.borderColor.value}\"},color:{value:\"{components.button._disabled.color.value}\"}},_focus:{backgroundColor:{value:\"{components.button._focus.backgroundColor.value}\"},borderColor:{value:\"{components.button._focus.borderColor.value}\"},color:{value:\"{components.button._focus.color.value}\"}},_hover:{backgroundColor:{value:\"{components.button._hover.backgroundColor.value}\"},borderColor:{value:\"{components.button._hover.borderColor.value}\"},color:{value:\"{components.button._hover.color.value}\"}}}};export{o as passwordfield};\n","const o={color:{value:\"{components.fieldcontrol.color}\"},borderColor:{value:\"{components.fieldcontrol.borderColor}\"},fontSize:{value:\"{components.fieldcontrol.fontSize}\"},_focus:{borderColor:{value:\"{components.fieldcontrol._focus.borderColor}\"}}};export{o as phonenumberfield};\n","const a={borderRadius:{value:\"{radii.small.value}\"},transitionDuration:{value:\"{time.long.value}\"},startColor:{value:\"{colors.background.secondary.value}\"},endColor:{value:\"{colors.background.tertiary.value}\"},small:{height:{value:\"{space.small.value}\"}},default:{height:{value:\"{space.medium.value}\"}},large:{height:{value:\"{space.large.value}\"}}};export{a as placeholder};\n","const e={alignItems:{value:\"center\"},justifyContent:{value:\"flex-start\"},gap:{value:\"inherit\"},_disabled:{cursor:{value:\"not-allowed\"}},button:{alignItems:{value:\"center\"},justifyContent:{value:\"center\"},width:{value:\"{fontSizes.medium.value}\"},height:{value:\"{fontSizes.medium.value}\"},boxSizing:{value:\"border-box\"},borderWidth:{value:\"{borderWidths.medium.value}\"},borderStyle:{value:\"solid\"},borderRadius:{value:\"50%\"},borderColor:{value:\"{colors.border.primary.value}\"},color:{value:\"{colors.background.primary.value}\"},backgroundColor:{value:\"{colors.background.primary.value}\"},transitionProperty:{value:\"all\"},transitionDuration:{value:\"{time.medium.value}\"},outlineColor:{value:\"{colors.transparent.value}\"},outlineStyle:{value:\"solid\"},outlineWidth:{value:\"{outlineWidths.medium.value}\"},outlineOffset:{value:\"{outlineOffsets.medium.value}\"},padding:{value:\"{borderWidths.medium.value}\"},small:{width:{value:\"{fontSizes.small.value}\"},height:{value:\"{fontSizes.small.value}\"}},large:{width:{value:\"{fontSizes.large.value}\"},height:{value:\"{fontSizes.large.value}\"}},_checked:{color:{value:\"{colors.brand.primary.80.value}\"},_disabled:{color:{value:\"{colors.background.disabled.value}\"}}},_focus:{borderColor:{value:\"{colors.border.focus.value}\"},boxShadow:{value:\"{components.fieldcontrol._focus.boxShadow.value}\"}},_error:{borderColor:{value:\"{colors.border.error.value}\"},_focus:{boxShadow:{value:\"{components.fieldcontrol._error._focus.boxShadow.value}\"}}},_disabled:{borderColor:{value:\"{colors.border.disabled.value}\"},backgroundColor:{value:\"{colors.background.primary.value}\"}}},label:{color:{value:\"{components.text.color.value}\"},_disabled:{color:{value:\"{colors.font.disabled.value}\"}}}};export{e as radio};\n","const o={radio:{borderWidth:{value:\"{components.radio.button.borderWidth}\"},borderColor:{value:\"{components.radio.button.borderColor}\"},backgroundColor:{value:\"{components.radio.button.backgroundColor}\"},_checked:{color:{value:\"{components.radio.button._checked.color}\"}},label:{color:{value:\"{components.radio.label.color}\"}}},label:{color:{value:\"{components.field.label.color}\"}}};export{o as radiogroup};\n","const l={large:{size:{value:\"{fontSizes.xxxl.value}\"}},default:{size:{value:\"{fontSizes.xl.value}\"}},small:{size:{value:\"{fontSizes.small.value}\"}},filled:{color:{value:\"{colors.brand.secondary.80.value}\"}},empty:{color:{value:\"{colors.background.tertiary.value}\"}}};export{l as rating};\n","const o={color:{value:\"{components.fieldcontrol.color.value}\"},button:{color:{value:\"{components.button.color.value}\"},backgroundColor:{value:\"{colors.background.primary.value}\"},_active:{backgroundColor:{value:\"{components.button._active.backgroundColor.value}\"},borderColor:{value:\"{components.button._active.borderColor.value}\"},color:{value:\"{components.button._active.color.value}\"}},_disabled:{backgroundColor:{value:\"{components.button._disabled.backgroundColor.value}\"},borderColor:{value:\"{components.button._disabled.borderColor.value}\"},color:{value:\"{components.button._disabled.color.value}\"}},_focus:{backgroundColor:{value:\"{components.button._focus.backgroundColor.value}\"},borderColor:{value:\"{components.button._focus.borderColor.value}\"},color:{value:\"{components.button._focus.color.value}\"}},_hover:{backgroundColor:{value:\"{components.button._hover.backgroundColor.value}\"},borderColor:{value:\"{components.button._hover.borderColor.value}\"},color:{value:\"{components.button._hover.color.value}\"}}}};export{o as searchfield};\n","const e={paddingInlineEnd:{value:\"{space.xxl.value}\"},wrapper:{flex:{value:\"1\"},display:{value:\"block\"},position:{value:\"relative\"},cursor:{value:\"pointer\"}},iconWrapper:{alignItems:{value:\"center\"},position:{value:\"absolute\"},top:{value:\"50%\"},right:{value:\"{space.medium.value}\"},transform:{value:\"translateY(-50%)\"},pointerEvents:{value:\"none\"}},option:{backgroundColor:{value:\"{colors.background.primary.value}\"},color:{value:\"{colors.font.primary.value}\"},_disabled:{color:{value:\"{colors.font.disabled.value}\"}}},whiteSpace:{value:\"nowrap\"},minWidth:{value:\"6.5rem\"},small:{minWidth:{value:\"5.5rem\"}},large:{minWidth:{value:\"7.5rem\"}}};export{e as select};\n","const o={borderColor:{value:\"{components.fieldcontrol.borderColor}\"},color:{value:\"{components.fieldcontrol.color}\"},flexDirection:{value:\"column\"},fontSize:{value:\"{components.fieldcontrol.fontSize}\"},_focus:{borderColor:{value:\"{components.fieldcontrol._focus.borderColor}\"}},label:{color:{value:\"{components.field.label.color}\"}}};export{o as selectfield};\n","const r={paddingBlock:{value:\"{space.xs.value}\"},track:{backgroundColor:{value:\"{colors.background.quaternary.value}\"},borderRadius:{value:\"9999px\"},height:{value:\"0.375rem\"},minWidth:{value:\"10rem\"}},range:{backgroundColor:{value:\"{colors.brand.primary.80.value}\"},borderRadius:{value:\"9999px\"},_disabled:{backgroundColor:{value:\"{colors.background.disabled.value}\"}}},thumb:{width:{value:\"1.25rem\"},height:{value:\"1.25rem\"},backgroundColor:{value:\"{colors.background.primary.value}\"},boxShadow:{value:\"{shadows.small.value}\"},borderRadius:{value:\"50%\"},borderWidth:{value:\"{borderWidths.medium.value}\"},borderColor:{value:\"{colors.border.primary.value}\"},borderStyle:{value:\"solid\"},_disabled:{backgroundColor:{value:\"{colors.background.disabled.value}\"},borderColor:{value:\"transparent\"},boxShadow:{value:\"none\"}},_hover:{backgroundColor:{value:\"{colors.background.primary.value}\"},borderColor:{value:\"{colors.border.focus.value}\"}},_focus:{borderColor:{value:\"{colors.border.focus.value}\"},boxShadow:{value:{offsetX:\"0\",offsetY:\"0\",blurRadius:\"0\",spreadRadius:\"2px\",color:\"{colors.border.focus.value}\"}}}},small:{track:{height:{value:\"0.25rem\"}},thumb:{width:{value:\"1rem\"},height:{value:\"1rem\"}}},large:{track:{height:{value:\"0.625rem\"}},thumb:{width:{value:\"1.5rem\"},height:{value:\"1.5rem\"}}}};export{r as sliderfield};\n","const o={borderColor:{value:\"{components.fieldcontrol.borderColor}\"},flexDirection:{value:\"column\"},input:{color:{value:\"{components.fieldcontrol.color}\"},fontSize:{value:\"{components.fieldcontrol.fontSize}\"},textAlign:{value:\"center\"}},button:{color:{value:\"{components.button.color}\"},backgroundColor:{value:\"{colors.transparent}\"},_active:{color:{value:\"{components.button._active.color}\"},backgroundColor:{value:\"{components.button._active.backgroundColor}\"}},_focus:{color:{value:\"{components.button._focus.color}\"},backgroundColor:{value:\"{components.button._focus.backgroundColor}\"}},_disabled:{color:{value:\"{components.button._disabled.color}\"},backgroundColor:{value:\"{components.fieldcontrol._disabled.backgroundColor}\"}},_hover:{color:{value:\"{components.button._hover.color}\"},backgroundColor:{value:\"{components.button._hover.backgroundColor}\"}}}};export{o as stepperfield};\n","const e={_disabled:{opacity:{value:\"{opacities.60.value}\"}},_focused:{shadow:{value:{offsetX:\"0px\",offsetY:\"0px\",blurRadius:\"0px\",spreadRadius:\"2px\",color:\"{colors.border.focus.value}\"}}},fontSize:{value:\"{fontSizes.medium.value}\"},large:{fontSize:{value:\"{fontSizes.large.value}\"}},small:{fontSize:{value:\"{fontSizes.small.value}\"}},label:{padding:{value:\"{space.xs.value}\"}},thumb:{backgroundColor:{value:\"{colors.background.primary.value}\"},borderColor:{value:\"{colors.border.tertiary.value}\"},borderRadius:{value:\"{radii.xxxl.value}\"},checked:{transform:{value:\"{transforms.slideX.medium.value}\"}},transition:{duration:{value:\"{time.medium.value}\"}},width:{value:\"{space.relative.medium.value}\"}},track:{backgroundColor:{value:\"{colors.background.quaternary.value}\"},borderRadius:{value:\"{radii.xxxl.value}\"},checked:{backgroundColor:{value:\"{colors.brand.primary.80.value}\"}},height:{value:\"{space.relative.medium.value}\"},padding:{value:\"{outlineWidths.medium.value}\"},transition:{duration:{value:\"{time.short.value}\"}},width:{value:\"{space.relative.xl.value}\"},_error:{backgroundColor:{value:\"{colors.background.error.value}\"}}}};export{e as switchfield};\n","const e={borderCollapse:{value:\"collapse\"},display:{value:\"table\"},width:{value:\"100%\"},head:{display:{value:\"table-header-group\"},verticalAlign:{value:\"middle\"}},body:{display:{value:\"table-row-group\"},verticalAlign:{value:\"middle\"}},foot:{display:{value:\"table-footer-group\"},verticalAlign:{value:\"middle\"}},row:{display:{value:\"table-row\"},verticalAlign:{value:\"middle\"},hover:{backgroundColor:{value:\"{colors.background.tertiary.value}\"}},striped:{backgroundColor:{value:\"{colors.background.secondary.value}\"}}},header:{borderColor:{value:\"{colors.border.tertiary.value}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.small.value}\"},color:{value:\"{colors.font.primary.value}\"},display:{value:\"table-cell\"},fontSize:{value:\"{fontSizes.medium.value}\"},fontWeight:{value:\"{fontWeights.bold.value}\"},padding:{value:\"{space.medium.value}\"},verticalAlign:{value:\"middle\"},large:{fontSize:{value:\"{fontSizes.large.value}\"},padding:{value:\"{space.large.value}\"}},small:{fontSize:{value:\"{fontSizes.small.value}\"},padding:{value:\"{space.xs.value}\"}}},data:{borderColor:{value:\"{colors.border.tertiary.value}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.small.value}\"},color:{value:\"{colors.font.primary.value}\"},display:{value:\"table-cell\"},fontSize:{value:\"{fontSizes.medium.value}\"},fontWeight:{value:\"{fontWeights.normal.value}\"},padding:{value:\"{space.medium.value}\"},verticalAlign:{value:\"middle\"},large:{fontSize:{value:\"{fontSizes.large.value}\"},padding:{value:\"{space.large.value}\"}},small:{fontSize:{value:\"{fontSizes.small.value}\"},padding:{value:\"{space.xs.value}\"}}},caption:{captionSide:{value:\"bottom\"},color:{value:\"{colors.font.primary.value}\"},display:{value:\"table-caption\"},fontSize:{value:\"{fontSizes.medium.value}\"},textAlign:{value:\"center\"},wordBreak:{value:\"break-all\"},large:{fontSize:{value:\"{fontSizes.large.value}\"}},small:{fontSize:{value:\"{fontSizes.small.value}\"}}}};export{e as table};\n","const e={backgroundColor:{value:\"transparent\"},borderColor:{value:\"{colors.border.secondary.value}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.medium.value}\"},gap:{value:\"0\"},item:{backgroundColor:{value:\"transparent\"},borderColor:{value:\"{colors.border.secondary.value}\"},borderStyle:{value:\"solid\"},borderWidth:{value:\"{borderWidths.medium.value}\"},color:{value:\"{colors.font.secondary.value}\"},fontSize:{value:\"{fontSizes.medium.value}\"},fontWeight:{value:\"{fontWeights.bold.value}\"},paddingVertical:{value:\"{space.small.value}\"},paddingHorizontal:{value:\"{space.medium.value}\"},textAlign:{value:\"center\"},transitionDuration:{value:\"{time.medium.value}\"},_hover:{color:{value:\"{colors.font.hover.value}\"}},_focus:{color:{value:\"{colors.font.focus.value}\"}},_active:{color:{value:\"{colors.font.interactive.value}\"},borderColor:{value:\"{colors.font.interactive.value}\"},backgroundColor:{value:\"transparent\"}},_disabled:{color:{value:\"{colors.font.disabled.value}\"},backgroundColor:{value:\"transparent\"},borderColor:{value:\"{colors.border.tertiary.value}\"}}}};export{e as tabs};\n","const o={color:{value:\"{colors.font.primary.value}\"},primary:{color:{value:\"{colors.font.primary.value}\"}},secondary:{color:{value:\"{colors.font.secondary.value}\"}},tertiary:{color:{value:\"{colors.font.tertiary.value}\"}},error:{color:{value:\"{colors.font.error.value}\"}},warning:{color:{value:\"{colors.font.warning.value}\"}},success:{color:{value:\"{colors.font.success.value}\"}},info:{color:{value:\"{colors.font.info.value}\"}}};export{o as text};\n","const o={color:{value:\"{components.fieldcontrol.color.value}\"},borderColor:{value:\"{components.fieldcontrol.borderColor.value}\"},_focus:{borderColor:{value:\"{components.fieldcontrol._focus.borderColor.value}\"}}};export{o as textareafield};\n","const o={color:{value:\"{components.fieldcontrol.color.value}\"},borderColor:{value:\"{components.fieldcontrol.borderColor.value}\"},fontSize:{value:\"{components.fieldcontrol.fontSize.value}\"},_focus:{borderColor:{value:\"{components.fieldcontrol._focus.borderColor.value}\"}}};export{o as textfield};\n","const o={borderColor:{value:\"{colors.border.primary.value}\"},color:{value:\"{colors.font.primary.value}\"},_hover:{backgroundColor:{value:\"{colors.overlay.10.value}\"}},_focus:{borderColor:{value:\"{colors.border.focus.value}\"},color:{value:\"{colors.font.primary.value}\"}},_active:{backgroundColor:{value:\"{colors.transparent.value}\"}},_disabled:{backgroundColor:{value:\"{colors.transparent.value}\"},borderColor:{value:\"{colors.border.disabled.value}\"},color:{value:\"{colors.font.disabled.value}\"}},_pressed:{borderColor:{value:\"{colors.border.pressed.value}\"},color:{value:\"{colors.font.primary.value}\"},backgroundColor:{value:\"{colors.overlay.20.value}\"},_hover:{backgroundColor:{value:\"{colors.overlay.30.value}\"}}},primary:{backgroundColor:{value:\"{colors.transparent.value}\"},borderWidth:{value:\"{borderWidths.small.value}\"},_focus:{borderColor:{value:\"{colors.border.focus.value}\"},backgroundColor:{value:\"{colors.transparent.value}\"},boxShadow:{value:\"{components.fieldcontrol._focus.boxShadow.value}\"},color:{value:\"{colors.font.primary.value}\"}},_hover:{backgroundColor:{value:\"{colors.overlay.10.value}\"},color:{value:\"{colors.font.primary.value}\"}},_disabled:{borderColor:{value:\"{colors.border.disabled.value}\"},backgroundColor:{value:\"{colors.background.disabled.value}\"},color:{value:\"{colors.font.disabled.value}\"}},_pressed:{backgroundColor:{value:\"{colors.brand.primary.80.value}\"},borderColor:{value:\"{colors.brand.primary.80.value}\"},color:{value:\"{colors.background.primary.value}\"},_focus:{backgroundColor:{value:\"{colors.border.focus.value}\"},borderColor:{value:\"{colors.border.focus.value}\"},color:{value:\"{colors.background.primary.value}\"}},_hover:{borderColor:{value:\"{colors.brand.primary.60.value}\"},backgroundColor:{value:\"{colors.brand.primary.60.value}\"},boxShadow:{value:\"{colors.brand.primary.60.value}\"},color:{value:\"{colors.background.primary.value}\"}}}},link:{backgroundColor:{value:\"{colors.transparent.value}\"},color:{value:\"{colors.overlay.50.value}\"},_hover:{backgroundColor:{value:\"{colors.transparent.value}\"},color:{value:\"{colors.overlay.50.value}\"}},_focus:{backgroundColor:{value:\"{colors.transparent.value}\"},color:{value:\"{colors.overlay.50.value}\"}},_disabled:{backgroundColor:{value:\"{colors.transparent.value}\"},color:{value:\"{colors.font.disabled.value}\"}},_pressed:{backgroundColor:{value:\"{colors.transparent.value}\"},color:{value:\"{colors.overlay.90.value}\"},_focus:{backgroundColor:{value:\"{colors.transparent.value}\"},color:{value:\"{colors.overlay.90.value}\"}},_hover:{color:{value:\"{colors.overlay.90.value}\"},backgroundColor:{value:\"{colors.transparent.value}\"}}}}};export{o as togglebutton};\n","const e={alignItems:{value:\"center\"},alignContent:{value:\"center\"},justifyContent:{value:\"flex-start\"}};export{e as togglebuttongroup};\n","const e={default:{variable:{value:\"'InterVariable', 'Inter var', 'Inter', -apple-system, BlinkMacSystemFont,\\n 'Helvetica Neue', 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Open Sans',\\n sans-serif\"},static:{value:\"'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue',\\n 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif\"}}};export{e as fonts};\n","const e={small:{value:\"1.25\"},medium:{value:\"1.5\"},large:{value:\"2\"}};export{e as lineHeights};\n","const e={small:{value:\"1px\"},medium:{value:\"2px\"},large:{value:\"3px\"}};export{e as outlineOffsets};\n","const e={small:{value:\"1px\"},medium:{value:\"2px\"},large:{value:\"3px\"}};export{e as outlineWidths};\n","const o={small:{value:{offsetX:\"0px\",offsetY:\"2px\",blurRadius:\"4px\",color:\"{colors.shadow.tertiary.value}\"}},medium:{value:{offsetX:\"0px\",offsetY:\"2px\",blurRadius:\"6px\",color:\"{colors.shadow.secondary.value}\"}},large:{value:{offsetX:\"0px\",offsetY:\"4px\",blurRadius:\"12px\",color:\"{colors.shadow.primary.value}\"}}};export{o as shadows};\n","const e={slideX:{small:{value:\"translateX(0.5em)\"},medium:{value:\"translateX(1em)\"},large:{value:\"translateX(2em)\"}}};export{e as transforms};\n","const e={values:{base:0,small:480,medium:768,large:992,xl:1280,xxl:1536},defaultBreakpoint:\"base\"};export{e as breakpoints};\n","const t=t=>{var r;const n=Object.assign({default:void 0},t);return null!==(r=n.default)&&void 0!==r?r:n};function r(t){return null!=t&&!Array.isArray(t)&&\"object\"==typeof t}function n(t){return\"string\"==typeof t||\"object\"==typeof t&&\"[object String]\"===Object.prototype.toString.call(t)}function e(t){return r(t)&&\"[object Map]\"===Object.prototype.toString.call(t)}function o(t){return r(t)&&\"[object Set]\"===Object.prototype.toString.call(t)}function u(t){return void 0===t}function c(t){return null==t}function i(t){if(null==t)return!0;if(r(t)&&(e(t)||o(t)))return!t.size;if(r(t)&&(n(t)||Array.isArray(t)))return!t.length;for(const r in t)if(s(t,r))return!1;return!0}function f(t){return Array.isArray(t)&&i(t)}function l(...t){return t.every(f)}function a(t){return r(t)&&i(t)}function p(...t){return t.every(a)}function y(t){return n(t)?t.charAt(0).toUpperCase()+t.slice(1):\"\"}function s(t,r){return null!=t&&Object.prototype.hasOwnProperty.call(t,r)}function b(t){return\"function\"==typeof t}const j=(t,r)=>r?`${t}--${r}`:\"\",g=(t,r,n)=>n?`${t}--${r}`:\"\";export{l as areEmptyArrays,p as areEmptyObjects,y as capitalize,j as classNameModifier,g as classNameModifierByFlag,s as has,i as isEmpty,b as isFunction,e as isMap,c as isNil,r as isObject,o as isSet,n as isString,u as isUndefined,t as sanitizeNamespaceImport};\n","import e from\"lodash/kebabCase.js\";import t from\"style-dictionary/lib/utils/references/usesReference.js\";import{isObject as n,has as r,isString as o}from\"../utils/index.mjs\";const u=\"amplify\",s=[\"offsetX\",\"offsetY\",\"blurRadius\",\"spreadRadius\",\"color\"];function i(e){if(!e)return\"\";if(t(e)){return`var(--${f({path:e.replace(/\\{|\\}/g,\"\").replace(\".value\",\"\").split(\".\")})})`}return e}function a(e){const{value:t}=e;return o(t)?i(t):p(t)?s.map((n=>i(p(e)?e[n]:t[n]))).join(\" \"):t}function f({path:t=[]}){return`${e([u,...t].join(\" \"))}`}function c(e){return n(e)&&r(e,\"value\")}function p(e){return n(e)&&r(e,\"offsetX\")}function l({tokens:e,path:t=[],setupToken:o}){if(r(e,\"value\"))return o({token:e,path:t});const u={};for(const s in e)if(r(e,s)){const r=e[s],i=n(r)?r:{value:r};u[s]=l({tokens:i,path:t.concat(s),setupToken:o})}return u}export{u as CSS_VARIABLE_PREFIX,f as cssNameTransform,a as cssValue,c as isDesignToken,p as isShadowTokenObject,l as setupTokens};\n","import e from\"style-dictionary/lib/utils/deepExtend.js\";import n from\"style-dictionary/lib/utils/flattenProperties.js\";import{defaultTheme as t}from\"./defaultTheme.mjs\";import{setupTokens as o,cssNameTransform as a,cssValue as i}from\"./utils.mjs\";const r=({token:e,path:n})=>{const t=`--${a({path:n})}`,{value:o}=e,r=i(e);return{name:t,original:o,path:n,value:r,toString:()=>`var(${t})`}};function s(a,i=t){const s=e([{},i,a]),m=o({tokens:s.tokens,setupToken:r}),{breakpoints:l,name:p}=s;let d=`[data-amplify-theme=\"${p}\"] {\\n`+n(m).map((e=>`${e.name}: ${e.value};`)).join(\"\\n\")+\"\\n}\\n\",$=[];return s.overrides&&($=s.overrides.map((e=>{const t=o({tokens:e.tokens,setupToken:r}),a=n(t).map((e=>`${e.name}: ${e.value};`)).join(\"\\n\");if(\"selector\"in e&&(d+=`\\n${e.selector} {\\n${a}\\n}\\n`),\"mediaQuery\"in e&&(d+=`\\n@media (${e.mediaQuery}) {\\n [data-amplify-theme=\"${p}\"] {\\n ${a}\\n }\\n}\\n`),\"breakpoint\"in e){const n=s.breakpoints.values[e.breakpoint];d+=`\\n@media (min-width: ${n}px) {\\n [data-amplify-theme=\"${p}\"] {\\n ${a}\\n }\\n}\\n`}return\"colorMode\"in e&&(d+=`\\n@media (prefers-color-scheme: ${e.colorMode}) {\\n [data-amplify-theme=\"${p}\"][data-amplify-color-mode=\"system\"] {\\n${a}\\n}\\n }\\n`,d+=`\\n[data-amplify-theme=\"${p}\"][data-amplify-color-mode=\"${e.colorMode}\"] {\\n${a}\\n}\\n`),Object.assign(Object.assign({},e),{tokens:t})}))),{tokens:m,breakpoints:l,name:p,cssText:d,overrides:$}}export{s as createTheme};\n","import*as t from\"react\";import{createTheme as e}from\"@aws-amplify/ui\";const o=t.createContext({theme:e()});export{o as AmplifyContext};\n","var e;!function(e){e.Alert=\"amplify-alert\",e.AlertIcon=\"amplify-alert__icon\",e.AlertHeading=\"amplify-alert__heading\",e.AlertBody=\"amplify-alert__body\",e.AlertDismiss=\"amplify-alert__dismiss\",e.Autocomplete=\"amplify-autocomplete\",e.AutocompleteMenu=\"amplify-autocomplete__menu\",e.AutocompleteMenuEmpty=\"amplify-autocomplete__menu--empty\",e.AutocompleteMenuFooter=\"amplify-autocomplete__menu__footer\",e.AutocompleteMenuHeader=\"amplify-autocomplete__menu__header\",e.AutocompleteMenuLoading=\"amplify-autocomplete__menu--loading\",e.AutocompleteMenuOption=\"amplify-autocomplete__menu__option\",e.AutocompleteMenuOptions=\"amplify-autocomplete__menu__options\",e.Badge=\"amplify-badge\",e.Button=\"amplify-button\",e.ButtonGroup=\"amplify-buttongroup\",e.ButtonLoaderWrapper=\"amplify-button__loader-wrapper\",e.Card=\"amplify-card\",e.Checkbox=\"amplify-checkbox\",e.CheckboxButton=\"amplify-checkbox__button\",e.CheckboxIcon=\"amplify-checkbox__icon\",e.CheckboxInput=\"amplify-checkbox__input\",e.CheckboxLabel=\"amplify-checkbox__label\",e.CheckboxField=\"amplify-checkboxfield\",e.Collection=\"amplify-collection\",e.CollectionItems=\"amplify-collection-items\",e.CollectionSearch=\"amplify-collection-search\",e.CollectionPagination=\"amplify-collection-pagination\",e.CountryCodeSelect=\"amplify-countrycodeselect\",e.DialCodeSelect=\"amplify-dialcodeselect\",e.Divider=\"amplify-divider\",e.DividerLabel=\"amplify-divider--label\",e.Expander=\"amplify-expander\",e.ExpanderContent=\"amplify-expander__content\",e.ExpanderContentText=\"amplify-expander__content__text\",e.ExpanderHeader=\"amplify-expander__header\",e.ExpanderIcon=\"amplify-expander__icon\",e.ExpanderItem=\"amplify-expander__item\",e.ExpanderTrigger=\"amplify-expander__trigger\",e.Field=\"amplify-field\",e.FieldDescription=\"amplify-field__description\",e.FieldErrorMessage=\"amplify-field__error-message\",e.FieldGroup=\"amplify-field-group\",e.FieldGroupControl=\"amplify-field-group__control\",e.FieldGroupOuterEnd=\"amplify-field-group__outer-end\",e.FieldGroupOuterStart=\"amplify-field-group__outer-start\",e.FieldGroupInnerEnd=\"amplify-field-group__inner-end\",e.FieldGroupInnerStart=\"amplify-field-group__inner-start\",e.FieldGroupIcon=\"amplify-field-group__icon\",e.FieldGroupIconButton=\"amplify-field-group__icon-button\",e.FieldGroupHasInnerEnd=\"amplify-field-group--has-inner-end\",e.FieldGroupHasInnerStart=\"amplify-field-group--has-inner-start\",e.FieldShowPassword=\"amplify-field__show-password\",e.FieldGroupFieldWrapper=\"amplify-field-group__field-wrapper\",e.FileUploaderDropZone=\"amplify-fileuploader__dropzone\",e.FileUploaderDropZoneIcon=\"amplify-fileuploader__dropzone__icon\",e.FileUploaderDropZoneText=\"amplify-fileuploader__dropzone__text\",e.FileUploaderDropZoneButton=\"amplify-fileuploader__dropzone__button\",e.FileUploaderFile=\"amplify-fileuploader__file\",e.FileUploaderFileWrapper=\"amplify-fileuploader__file__wrapper\",e.FileUploaderFileName=\"amplify-fileuploader__file__name\",e.FileUploaderFileSize=\"amplify-fileuploader__file__size\",e.FileUploaderFileInfo=\"amplify-fileuploader__file__info\",e.FileUploaderFileImage=\"amplify-fileuploader__file__image\",e.FileUploaderFileMain=\"amplify-fileuploader__file__main\",e.FileUploaderFileStatus=\"amplify-fileuploader__file__status\",e.FileUploaderLoader=\"amplify-fileuploader__loader\",e.FileUploaderPreviewer=\"amplify-fileuploader__previewer\",e.FileUploaderPreviewerText=\"amplify-fileuploader__previewer__text\",e.FileUploaderPreviewerBody=\"amplify-fileuploader__previewer__body\",e.FileUploaderPreviewerFooter=\"amplify-fileuploader__previewer__footer\",e.FileUploaderPreviewerFooterActions=\"amplify-fileuploader__previewer__footer__actions\",e.Flex=\"amplify-flex\",e.Grid=\"amplify-grid\",e.Heading=\"amplify-heading\",e.HighlightMatch=\"amplify-highlightmatch\",e.HighlightMatchHighlighted=\"amplify-highlightmatch__highlighted\",e.Icon=\"amplify-icon\",e.Image=\"amplify-image\",e.Input=\"amplify-input\",e.Label=\"amplify-label\",e.Link=\"amplify-link\",e.Loader=\"amplify-loader\",e.LoaderDeterminate=\"amplify-loader--determinate\",e.LoaderPercentageText=\"amplify-loader__percentage-text\",e.MenuContent=\"amplify-menu-content\",e.MenuContentWrapper=\"amplify-menu-content-wrapper\",e.MenuItem=\"amplify-menu-content__item\",e.MenuTrigger=\"amplify-menu-trigger\",e.Pagination=\"amplify-pagination\",e.PaginationItemButton=\"amplify-pagination__item-button\",e.PaginationItemCurrent=\"amplify-pagination__item-current\",e.PaginationItemEllipsis=\"amplify-pagination__item-ellipsis\",e.PasswordField=\"amplify-passwordfield\",e.PhoneNumberField=\"amplify-phonenumberfield\",e.Placeholder=\"amplify-placeholder\",e.Radio=\"amplify-radio\",e.RadioButton=\"amplify-radio__button\",e.RadioInput=\"amplify-radio__input\",e.RadioLabel=\"amplify-radio__label\",e.RadioGroupField=\"amplify-radiogroupfield\",e.RadioGroup=\"amplify-radiogroup\",e.Rating=\"amplify-rating\",e.ScrollView=\"amplify-scrollview\",e.SearchField=\"amplify-searchfield\",e.SearchFieldClear=\"amplify-searchfield__clear\",e.SearchFieldSearch=\"amplify-searchfield__search\",e.Select=\"amplify-select\",e.SelectField=\"amplify-selectfield\",e.SelectWrapper=\"amplify-select__wrapper\",e.SelectIconWrapper=\"amplify-select__icon-wrapper\",e.SliderField=\"amplify-sliderfield\",e.SliderFieldGroup=\"amplify-sliderfield__group\",e.SliderFieldLabel=\"amplify-sliderfield__label\",e.SliderFieldRange=\"amplify-sliderfield__range\",e.SliderFieldRoot=\"amplify-sliderfield__root\",e.SliderFieldThumb=\"amplify-sliderfield__thumb\",e.SliderFieldTrack=\"amplify-sliderfield__track\",e.StepperField=\"amplify-stepperfield\",e.StepperFieldButtonDecrease=\"amplify-stepperfield__button--decrease\",e.StepperFieldButtonIncrease=\"amplify-stepperfield__button--increase\",e.StepperFieldInput=\"amplify-stepperfield__input\",e.StorageManager=\"amplify-storagemanager\",e.StorageManagerDropZone=\"amplify-storagemanager__dropzone\",e.StorageManagerDropZoneIcon=\"amplify-storagemanager__dropzone__icon\",e.StorageManagerDropZoneText=\"amplify-storagemanager__dropzone__text\",e.StorageManagerFilePicker=\"amplify-storagemanager__file__picker\",e.StorageManagerFile=\"amplify-storagemanager__file\",e.StorageManagerFileWrapper=\"amplify-storagemanager__file__wrapper\",e.StorageManagerFileList=\"amplify-storagemanager__file__list\",e.StorageManagerFileName=\"amplify-storagemanager__file__name\",e.StorageManagerFileSize=\"amplify-storagemanager__file__size\",e.StorageManagerFileInfo=\"amplify-storagemanager__file__info\",e.StorageManagerFileImage=\"amplify-storagemanager__file__image\",e.StorageManagerFileMain=\"amplify-storagemanager__file__main\",e.StorageManagerFileStatus=\"amplify-storagemanager__file__status\",e.StorageManagerLoader=\"amplify-storagemanager__loader\",e.StorageManagerPreviewer=\"amplify-storagemanager__previewer\",e.StorageManagerPreviewerText=\"amplify-storagemanager__previewer__text\",e.SwitchField=\"amplify-switchfield\",e.SwitchLabel=\"amplify-switch-label\",e.SwitchThumb=\"amplify-switch-thumb\",e.SwitchTrack=\"amplify-switch-track\",e.SwitchWrapper=\"amplify-switch__wrapper\",e.Table=\"amplify-table\",e.TableCaption=\"amplify-table__caption\",e.TableBody=\"amplify-table__body\",e.TableTd=\"amplify-table__td\",e.TableTh=\"amplify-table__th\",e.TableFoot=\"amplify-table__foot\",e.TableHead=\"amplify-table__head\",e.TableRow=\"amplify-table__row\",e.Tabs=\"amplify-tabs\",e.TabItems=\"amplify-tabs-item\",e.Text=\"amplify-text\",e.Textarea=\"amplify-textarea\",e.TextAreaField=\"amplify-textareafield\",e.TextField=\"amplify-textfield\",e.ToggleButton=\"amplify-togglebutton\",e.ToggleButtonGroup=\"amplify-togglebuttongroup\",e.VisuallyHidden=\"amplify-visually-hidden\"}(e||(e={}));export{e as ComponentClassName};\n","import*as o from\"react\";import{createTheme as t}from\"@aws-amplify/ui\";import{AmplifyContext as e}from\"../components/ThemeProvider/AmplifyContext.mjs\";const m=o=>void 0===o||void 0===o.theme?t():o.theme,r=()=>{const t=o.useContext(e);return m(t)};export{m as getThemeFromContext,r as useTheme};\n","const n={alignContent:\"alignContent\",alignItems:\"alignItems\",alignSelf:\"alignSelf\",area:\"gridArea\",autoColumns:\"gridAutoColumns\",autoFlow:\"gridAutoFlow\",autoRows:\"gridAutoRows\",backgroundColor:\"backgroundColor\",backgroundImage:\"backgroundImage\",basis:\"flexBasis\",border:\"border\",borderRadius:\"borderRadius\",bottom:\"bottom\",boxShadow:\"boxShadow\",color:\"color\",column:\"gridColumn\",columnEnd:\"gridColumnEnd\",columnGap:\"columnGap\",columnSpan:\"gridColumn\",columnStart:\"gridColumnStart\",direction:\"flexDirection\",display:\"display\",flex:\"flex\",fontFamily:\"fontFamily\",fontSize:\"fontSize\",fontStyle:\"fontStyle\",fontWeight:\"fontWeight\",gap:\"gap\",grow:\"flexGrow\",height:\"height\",justifyContent:\"justifyContent\",left:\"left\",letterSpacing:\"letterSpacing\",lineHeight:\"lineHeight\",margin:\"margin\",marginBlock:\"marginBlock\",marginBlockEnd:\"marginBlockEnd\",marginBlockStart:\"marginBlockStart\",marginBottom:\"marginBlockEnd\",marginInline:\"marginInline\",marginInlineEnd:\"marginInlineEnd\",marginInlineStart:\"marginInlineStart\",marginLeft:\"marginInlineStart\",marginRight:\"marginInlineEnd\",marginTop:\"marginBlockStart\",maxHeight:\"maxHeight\",maxWidth:\"maxWidth\",minHeight:\"minHeight\",minWidth:\"minWidth\",objectFit:\"objectFit\",objectPosition:\"objectPosition\",opacity:\"opacity\",order:\"order\",overflow:\"overflow\",padding:\"padding\",paddingBlock:\"paddingBlock\",paddingBlockEnd:\"paddingBlockEnd\",paddingBlockStart:\"paddingBlockStart\",paddingBottom:\"paddingBlockEnd\",paddingInline:\"paddingInline\",paddingInlineEnd:\"paddingInlineEnd\",paddingInlineStart:\"paddingInlineStart\",paddingLeft:\"paddingInlineStart\",paddingRight:\"paddingInlineEnd\",paddingTop:\"paddingBlockStart\",position:\"position\",resize:\"resize\",right:\"right\",row:\"gridRow\",rowEnd:\"gridRowEnd\",rowGap:\"rowGap\",rowSpan:\"gridRow\",rowStart:\"gridRowStart\",shrink:\"flexShrink\",templateAreas:\"gridTemplateAreas\",templateColumns:\"gridTemplateColumns\",templateRows:\"gridTemplateRows\",textAlign:\"textAlign\",textDecoration:\"textDecoration\",textTransform:\"textTransform\",top:\"top\",transform:\"transform\",transformOrigin:\"transformOrigin\",width:\"width\",whiteSpace:\"whiteSpace\",wrap:\"flexWrap\"},i=Object.keys(n);export{n as ComponentPropsToStylePropsMap,i as ComponentPropsToStylePropsMapKeys};\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import{ComponentClassName as e}from\"@aws-amplify/ui\";const a={Alert:{className:e.Alert,components:[\"Alert\"],description:\"Top level element that wraps the Alert primitive\"},AlertIcon:{className:e.AlertIcon,components:[\"Alert\"],description:\"Class applied to Icon component within the Alert primitive\"},AlertHeading:{className:e.AlertHeading,components:[\"Alert\"],description:\"Class applied to the heading View\"},AlertBody:{className:e.AlertBody,components:[\"Alert\"],description:\"Class applied to the body View\"},AlertDismiss:{className:e.AlertDismiss,components:[\"Alert\"],description:\"Class applied to the close Button\"},Autocomplete:{className:e.Autocomplete,components:[\"Autocomplete\"],description:\"Top level element that wraps the Autocomplete primitive\"},AutocompleteMenu:{className:e.AutocompleteMenu,components:[\"Autocomplete\"],description:\"Top level element that wraps the dropdown menu\"},AutocompleteMenuEmpty:{className:e.AutocompleteMenuEmpty,components:[\"Autocomplete\"],description:\"Class applied to the no options slot of menu\"},AutocompleteMenuFooter:{className:e.AutocompleteMenuFooter,components:[\"Autocomplete\"],description:\"Class applied to menu footer\"},AutocompleteMenuHeader:{className:e.AutocompleteMenuHeader,components:[\"Autocomplete\"],description:\"Class applied to menu header\"},AutocompleteMenuLoading:{className:e.AutocompleteMenuLoading,components:[\"Autocomplete\"],description:\"Class applied to the loading slot of menu\"},AutocompleteMenuOption:{className:e.AutocompleteMenuOption,components:[\"Autocomplete\"],description:\"Class applied to each li option\"},AutocompleteMenuOptions:{className:e.AutocompleteMenuOptions,components:[\"Autocomplete\"],description:\"Class applied to ul container element\"},Badge:{className:e.Badge,components:[\"Badge\"],description:\"Top level element that wraps the Badge component\"},Button:{className:e.Button,components:[\"Button\"],description:\"Top level element that wraps the Button primitive\"},ButtonGroup:{className:e.ButtonGroup},ButtonLoaderWrapper:{className:e.ButtonLoaderWrapper,components:[\"Button\"],description:\"Class applied to the Loader component within the Button Loading state\"},Card:{className:e.Card,components:[\"Card\"],description:\"Top level element that wraps the Card primitive\"},Checkbox:{className:e.Checkbox,components:[\"Checkbox\"],description:\"Top level element that wraps the Checkbox primitive\"},CheckboxButton:{className:e.CheckboxButton,components:[\"Checkbox\"],description:\"Wrapper for the checked icon within the Checkbox primitive\"},CheckboxIcon:{className:e.CheckboxIcon,components:[\"Checkbox\"],description:\"Class applied to the checked icon within the Checkbox primitive\"},CheckboxInput:{className:e.CheckboxInput,components:[\"Checkbox\"],description:\"Class applied to the visually hidden checkbox input within the Checkbox primitive\"},CheckboxLabel:{className:e.CheckboxLabel,components:[\"Checkbox\"],description:\"Class applied to the label within the Checkbox primitive\"},CheckboxField:{className:e.CheckboxField,components:[\"CheckboxField\"],description:\"Top level element that wraps the CheckboxField primitive\"},Collection:{className:e.Collection,components:[\"Collection\"],description:\"Top level element that wraps the Collection primitive\"},CollectionItems:{className:e.CollectionItems,components:[\"Collection\"],description:\"Class applied to the element that wraps all the items in a collection\"},CollectionSearch:{className:e.CollectionSearch,components:[\"Collection\"],description:\"Class applied to the element that wraps the collection search box\"},CollectionPagination:{className:e.CollectionPagination,components:[\"Collection\"],description:\"Class applied to the element that wraps the pagination component in a collection\"},CountryCodeSelect:{className:e.CountryCodeSelect,components:[\"PhoneNumberField\"],description:\"Class applied to the Dial Code Select within the PhoneNumberField primitive\"},DialCodeSelect:{className:e.DialCodeSelect,components:[\"PhoneNumberField\"],description:\"Class applied to the Dial Code Select within the PhoneNumberField primitive\"},Divider:{className:e.Divider,components:[\"Divider\"],description:\"Top level element that wraps the Divider primitive\"},DividerLabel:{className:e.DividerLabel,components:[\"Divider\"],description:\"Class applied to the label of the Divider component\"},Expander:{className:e.Expander,components:[\"Expander\"],description:\"Top level element that wraps the Expander primitive\"},ExpanderContent:{className:e.ExpanderContent,components:[\"Expander\"],description:\"Expander content container\"},ExpanderContentText:{className:e.ExpanderContentText,components:[\"Expander\"],description:\"Expander content text\"},ExpanderHeader:{className:e.ExpanderHeader,components:[\"Expander\"],description:\"Expander item header\"},ExpanderIcon:{className:e.ExpanderIcon,components:[\"Expander\"],description:\"Icon to indicate whether an item is expanded or collapsed\"},ExpanderItem:{className:e.ExpanderItem,components:[\"Expander\"],description:\"Expander item(containier for header, trigger, and content)\"},ExpanderTrigger:{className:e.ExpanderTrigger,components:[\"Expander\"],description:\"Expander item trigger(button)\"},Field:{className:e.Field},FieldDescription:{className:e.FieldDescription},FieldErrorMessage:{className:e.FieldErrorMessage},FieldGroup:{className:e.FieldGroup},FieldGroupControl:{className:e.FieldGroupControl},FieldGroupOuterEnd:{className:e.FieldGroupOuterEnd},FieldGroupOuterStart:{className:e.FieldGroupOuterStart},FieldGroupInnerEnd:{className:e.FieldGroupInnerEnd},FieldGroupInnerStart:{className:e.FieldGroupInnerStart},FieldGroupIcon:{className:e.FieldGroupIcon},FieldGroupIconButton:{className:e.FieldGroupIconButton},FieldGroupHasInnerEnd:{className:e.FieldGroupHasInnerEnd},FieldGroupHasInnerStart:{className:e.FieldGroupHasInnerStart},FieldShowPassword:{className:e.FieldShowPassword},FieldGroupFieldWrapper:{className:e.FieldGroupFieldWrapper},FileUploaderDropZone:{className:e.FileUploaderDropZone,components:[\"FileUploader\"]},FileUploaderDropZoneIcon:{className:e.FileUploaderDropZoneIcon,components:[\"FileUploader\"]},FileUploaderDropZoneText:{className:e.FileUploaderDropZoneText,components:[\"FileUploader\"]},FileUploaderDropZoneButton:{className:e.FileUploaderDropZoneButton,components:[\"FileUploader\"]},FileUploaderFile:{className:e.FileUploaderFile,components:[\"FileUploader\"]},FileUploaderFileWrapper:{className:e.FileUploaderFileWrapper,components:[\"FileUploader\"]},FileUploaderFileName:{className:e.FileUploaderFileName,components:[\"FileUploader\"]},FileUploaderLoader:{className:e.FileUploaderLoader,components:[\"FileUploader\"]},FileUploaderFileSize:{className:e.FileUploaderFileSize,components:[\"FileUploader\"]},FileUploaderFileInfo:{className:e.FileUploaderFileInfo,components:[\"FileUploader\"]},FileUploaderFileImage:{className:e.FileUploaderFileImage,components:[\"FileUploader\"]},FileUploaderFileMain:{className:e.FileUploaderFileMain,components:[\"FileUploader\"]},FileUploaderFileStatus:{className:e.FileUploaderFileStatus,components:[\"FileUploader\"]},FileUploaderPreviewer:{className:e.FileUploaderPreviewer,components:[\"FileUploader\"]},FileUploaderPreviewerText:{className:e.FileUploaderPreviewerText,components:[\"FileUploader\"]},FileUploaderPreviewerBody:{className:e.FileUploaderPreviewerBody,components:[\"FileUploader\"]},FileUploaderPreviewerFooter:{className:e.FileUploaderPreviewerFooter,components:[\"FileUploader\"]},FileUploaderPreviewerFooterActions:{className:e.FileUploaderPreviewerFooterActions,components:[\"FileUploader\"]},Flex:{className:e.Flex,components:[\"Flex\"],description:\"Top level element that wraps the Flex primitive\"},Grid:{className:e.Grid,components:[\"Grid\"],description:\"Top level element that wraps the Grid primitive\"},Heading:{className:e.Heading,components:[\"Heading\"],description:\"Top level element that wraps the Heading primitive\"},HighlightMatch:{className:e.HighlightMatch,components:[\"HighlightMatch\"],description:\"Top level element that wraps the HighlightMatch primitive\"},HighlightMatchHighlighted:{className:e.HighlightMatchHighlighted,components:[\"HighlightMatch\"],description:\"Class applied to the highlighted text of the HighlightMatch primitive\"},Icon:{className:e.Icon,components:[\"Icon\"],description:\"Top level element that wraps the Icon primitive\"},Image:{className:e.Image,components:[\"Image\"],description:\"Top level element that wraps the Image primitive\"},Input:{className:e.Input},Label:{className:e.Label},Link:{className:e.Link,components:[\"Link\"],description:\"Top level element that wraps the Link primitive\"},Loader:{className:e.Loader,components:[\"Loader\"],description:\"Top level element that wraps the Loader primitive\"},LoaderDeterminate:{className:e.LoaderDeterminate,components:[\"Loader\"],description:\"Class applied to a determinate loader\"},LoaderPercentageText:{className:e.LoaderPercentageText,components:[\"Loader\"],description:\"Class applied to the percentage text of loader\"},MenuContent:{className:e.MenuContent,components:[\"Menu\"],description:\"Menu content container (Flex)\"},MenuContentWrapper:{className:e.MenuContentWrapper,components:[\"Menu\"],description:\"Menu content wrapper\"},MenuItem:{className:e.MenuItem,components:[\"Menu\"],description:\"Menu item button (MenuButton, wrapped in amplify-menu-content class)\"},MenuTrigger:{className:e.MenuTrigger,components:[\"Menu\"],description:\"Menu trigger button (MenuButton, not wrapped in amplify-menu-content class)\"},Pagination:{className:e.Pagination,components:[\"Pagination\"],description:\"Top level element that wraps the Pagination primitive\"},PaginationItemButton:{className:e.PaginationItemButton,components:[\"Pagination\"],description:\"Class applied to the pagination buttons\"},PaginationItemCurrent:{className:e.PaginationItemCurrent,components:[\"Pagination\"],description:\"Class applied to the currently selected pagination button\"},PaginationItemEllipsis:{className:e.PaginationItemEllipsis,components:[\"Pagination\"],description:\"Class applied to the ellipsis within the Pagination primitive\"},PasswordField:{className:e.PasswordField,components:[\"PasswordField\"],description:\"Top level element that wraps the PasswordField primitive\"},PhoneNumberField:{className:e.PhoneNumberField,components:[\"PhoneNumberField\"],description:\"Top level element that wraps the PhoneNumberField primitive\"},Placeholder:{className:e.Placeholder,components:[\"Placeholder\"],description:\"Top level element that wraps the Placeholder primitive\"},Radio:{className:e.Radio,components:[\"RadioGroupField\",\"Radio\"],description:\"Top level element that wraps the Radio primitive\"},RadioButton:{className:e.RadioButton,components:[\"RadioGroupField\",\"Radio\"],description:\"Class applied to the displayed radio button\"},RadioInput:{className:e.RadioInput,components:[\"RadioGroupField\",\"Radio\"],description:\"Class applied to the visually hidden radio input\"},RadioLabel:{className:e.RadioLabel,components:[\"RadioGroupField\",\"Radio\"],description:\"Class applied to the radio label\"},RadioGroupField:{className:e.RadioGroupField,components:[\"RadioGroupField\"],description:\"Top level element that wraps the RadioGroupField primitive\"},RadioGroup:{className:e.RadioGroup,components:[\"RadioGroupField\"],description:\"Class applied to the radio group wrapper\"},Rating:{className:e.Rating,components:[\"Rating\"],description:\"Top level element that wraps the Rating primitive\"},ScrollView:{className:e.ScrollView,components:[\"ScrollView\"],description:\"Top level element that wraps the ScrollView primitive\"},SearchField:{className:e.SearchField,components:[\"SearchField\"],description:\"Top level element that wraps the SearchField primitive\"},SearchFieldClear:{className:e.SearchFieldClear,components:[\"SearchField\"],description:\"Class applied to the search field clear button\"},SearchFieldSearch:{className:e.SearchFieldSearch,components:[\"SearchField\"],description:\"Class applied to the search button\"},Select:{className:e.Select,components:[\"Select\",\"SelectField\"],description:\"Class applied to the select element\"},SelectField:{className:e.SelectField,components:[\"SelectField\"],description:\"Top level element that wraps the SelectField primitive\"},SelectWrapper:{className:e.SelectWrapper,components:[\"Select\",\"SelectField\"],description:\"Class applied to the select wrapper\"},SelectIconWrapper:{className:e.SelectIconWrapper,components:[\"Select\",\"SelectField\"],description:\"Class applied to the select icon wrapper\"},SliderField:{className:e.SliderField,components:[\"SliderField\"],description:\"Top level element that wraps the SliderField primitive\"},SliderFieldGroup:{className:e.SliderFieldGroup,components:[\"SliderField\"],description:\"Class applied to the element that wraps the slider root\"},SliderFieldLabel:{className:e.SliderFieldLabel,components:[\"SliderField\"],description:\"Class applied to the slider label\"},SliderFieldRange:{className:e.SliderFieldRange,components:[\"SliderField\"],description:\"Class applied to the filled in portion of the slider track\"},SliderFieldRoot:{className:e.SliderFieldRoot,components:[\"SliderField\"],description:\"Class applied to the slider root which wraps the track and thumb\"},SliderFieldThumb:{className:e.SliderFieldThumb,components:[\"SliderField\"],description:\"Class applied to the slider thumb\"},SliderFieldTrack:{className:e.SliderFieldTrack,components:[\"SliderField\"],description:\"Class applied to the slider track\"},StepperField:{className:e.StepperField,components:[\"StepperField\"],description:\"Top level element that wraps the StepperField primitive\"},StepperFieldButtonDecrease:{className:e.StepperFieldButtonDecrease,components:[\"StepperField\"],description:\"Class applied to the decrease button\"},StepperFieldButtonIncrease:{className:e.StepperFieldButtonIncrease,components:[\"StepperField\"],description:\"Class applied to the increase button\"},StepperFieldInput:{className:e.StepperFieldInput,components:[\"StepperField\"],description:\"Class applied to the StepperField input\"},StorageManager:{className:e.StorageManager,components:[\"StorageManager\"]},StorageManagerDropZone:{className:e.StorageManagerDropZone,components:[\"StorageManager\"]},StorageManagerDropZoneIcon:{className:e.StorageManagerDropZoneIcon,components:[\"StorageManager\"]},StorageManagerDropZoneText:{className:e.StorageManagerDropZoneText,components:[\"StorageManager\"]},StorageManagerFilePicker:{className:e.StorageManagerFilePicker,components:[\"StorageManager\"]},StorageManagerFile:{className:e.StorageManagerFile,components:[\"StorageManager\"]},StorageManagerFileWrapper:{className:e.StorageManagerFileWrapper,components:[\"StorageManager\"]},StorageManagerFileList:{className:e.StorageManagerFileList,components:[\"StorageManager\"]},StorageManagerFileName:{className:e.StorageManagerFileName,components:[\"StorageManager\"]},StorageManagerLoader:{className:e.StorageManagerLoader,components:[\"StorageManager\"]},StorageManagerFileSize:{className:e.StorageManagerFileSize,components:[\"StorageManager\"]},StorageManagerFileInfo:{className:e.StorageManagerFileInfo,components:[\"StorageManager\"]},StorageManagerFileImage:{className:e.StorageManagerFileImage,components:[\"StorageManager\"]},StorageManagerFileMain:{className:e.StorageManagerFileMain,components:[\"StorageManager\"]},StorageManagerFileStatus:{className:e.StorageManagerFileStatus,components:[\"StorageManager\"]},StorageManagerPreviewer:{className:e.StorageManagerPreviewer,components:[\"StorageManager\"]},StorageManagerPreviewerText:{className:e.StorageManagerPreviewerText,components:[\"StorageManager\"]},SwitchField:{className:e.SwitchField,components:[\"SwitchField\"],description:\"Top level element that wraps the SwitchField primitive\"},SwitchLabel:{className:e.SwitchLabel,components:[\"SwitchField\"],description:\"Class applied to the SwitchField label text\"},SwitchThumb:{className:e.SwitchThumb,components:[\"SwitchField\"],description:\"Class applied to the SwitchField thumb\"},SwitchTrack:{className:e.SwitchTrack,components:[\"SwitchField\"],description:\"Class applied to the SwitchField track\"},SwitchWrapper:{className:e.SwitchWrapper,components:[\"SwitchField\"],description:\"Class applied to the label element that wraps the SwitchField label and track\"},Table:{className:e.Table,components:[\"Table\"],description:\"Top level element that wraps the Table primitive\"},TableCaption:{className:e.TableCaption,components:[\"Table\"],description:\"Class applied to the content provided as the caption prop\"},TableBody:{className:e.TableBody,components:[\"Table\"],description:\"Class applied to TableBody component\"},TableTd:{className:e.TableTd,components:[\"Table\"],description:'Class applied to TableCell component rendered as a <td> element (<TableCell as=\"td\" />)'},TableTh:{className:e.TableTh,components:[\"Table\"],description:'Class applied to TableCell comopnent rendered as a <th> element (<TableCell as=\"th\" />)'},TableFoot:{className:e.TableFoot,components:[\"Table\"],description:\"Class applied to TableFoot component\"},TableHead:{className:e.TableHead,components:[\"Table\"],description:\"Class applied to TableHead component\"},TableRow:{className:e.TableRow,components:[\"Table\"],description:\"Class applied to TableRow component\"},Tabs:{className:e.Tabs,components:[\"Tabs\"],description:\"Top level element that wraps the Tabs primitive\"},TabItems:{className:e.TabItems,components:[\"Tabs\"],description:\"Top level element that wraps the TabItem primitive\"},Text:{className:e.Text,components:[\"Text\"],description:\"Top level element that wraps the Text primitive\"},Textarea:{className:e.Textarea,components:[\"TextAreaField\"],description:\"Class applied to the text area\"},TextAreaField:{className:e.TextAreaField,components:[\"TextAreaField\"],description:\"Top level element that wraps the TextAreaField primitive\"},TextField:{className:e.TextField,components:[\"TextField\"],description:\"Top level element that wraps the TextField primitive\"},ToggleButton:{className:e.ToggleButton,components:[\"ToggleButton\"],description:\"Top level element that wraps the ToggleButton primitive\"},ToggleButtonGroup:{className:e.ToggleButtonGroup,components:[\"ToggleButton\",\"ToggleButtonGroup\"],description:\"Top level element that wraps the ToggleButtonGroup primitive\"},VisuallyHidden:{className:e.VisuallyHidden,components:[\"VisuallyHidden\"],description:\"Top level element that wraps the VisuallyHidden primitive\"}},t={Alert:a.Alert.className,AlertIcon:a.AlertIcon.className,AlertHeading:a.AlertHeading.className,AlertBody:a.AlertBody.className,AlertDismiss:a.AlertDismiss.className,Autocomplete:a.Autocomplete.className,AutocompleteMenu:a.AutocompleteMenu.className,AutocompleteMenuEmpty:a.AutocompleteMenuEmpty.className,AutocompleteMenuFooter:a.AutocompleteMenuFooter.className,AutocompleteMenuHeader:a.AutocompleteMenuHeader.className,AutocompleteMenuLoading:a.AutocompleteMenuLoading.className,AutocompleteMenuOption:a.AutocompleteMenuOption.className,AutocompleteMenuOptions:a.AutocompleteMenuOptions.className,Badge:a.Badge.className,Button:a.Button.className,ButtonGroup:a.ButtonGroup.className,ButtonLoaderWrapper:a.ButtonLoaderWrapper.className,Card:a.Card.className,Checkbox:a.Checkbox.className,CheckboxButton:a.CheckboxButton.className,CheckboxIcon:a.CheckboxIcon.className,CheckboxInput:a.CheckboxInput.className,CheckboxLabel:a.CheckboxLabel.className,CheckboxField:a.CheckboxField.className,Collection:a.Collection.className,CollectionItems:a.CollectionItems.className,CollectionSearch:a.CollectionSearch.className,CollectionPagination:a.CollectionPagination.className,CountryCodeSelect:a.CountryCodeSelect.className,DialCodeSelect:a.DialCodeSelect.className,Divider:a.Divider.className,DividerLabel:a.DividerLabel.className,Expander:a.Expander.className,ExpanderContent:a.ExpanderContent.className,ExpanderContentText:a.ExpanderContentText.className,ExpanderHeader:a.ExpanderHeader.className,ExpanderIcon:a.ExpanderIcon.className,ExpanderItem:a.ExpanderItem.className,ExpanderTrigger:a.ExpanderTrigger.className,Field:a.Field.className,FieldDescription:a.FieldDescription.className,FieldErrorMessage:a.FieldErrorMessage.className,FieldGroup:a.FieldGroup.className,FieldGroupControl:a.FieldGroupControl.className,FieldGroupOuterEnd:a.FieldGroupOuterEnd.className,FieldGroupOuterStart:a.FieldGroupOuterStart.className,FieldGroupInnerEnd:a.FieldGroupInnerEnd.className,FieldGroupInnerStart:a.FieldGroupInnerStart.className,FieldGroupIcon:a.FieldGroupIcon.className,FieldGroupIconButton:a.FieldGroupIconButton.className,FieldGroupHasInnerEnd:a.FieldGroupHasInnerEnd.className,FieldGroupHasInnerStart:a.FieldGroupHasInnerStart.className,FieldShowPassword:a.FieldShowPassword.className,FieldGroupFieldWrapper:a.FieldGroupFieldWrapper.className,FileUploaderDropZone:a.FileUploaderDropZone.className,FileUploaderDropZoneIcon:a.FileUploaderDropZoneIcon.className,FileUploaderDropZoneText:a.FileUploaderDropZoneText.className,FileUploaderDropZoneButton:a.FileUploaderDropZoneButton.className,FileUploaderFile:a.FileUploaderFile.className,FileUploaderFileWrapper:a.FileUploaderFileWrapper.className,FileUploaderFileName:a.FileUploaderFileName.className,FileUploaderLoader:a.FileUploaderLoader.className,FileUploaderFileSize:a.FileUploaderFileSize.className,FileUploaderFileInfo:a.FileUploaderFileInfo.className,FileUploaderFileImage:a.FileUploaderFileImage.className,FileUploaderFileMain:a.FileUploaderFileMain.className,FileUploaderFileStatus:a.FileUploaderFileStatus.className,FileUploaderPreviewer:a.FileUploaderPreviewer.className,FileUploaderPreviewerText:a.FileUploaderPreviewerText.className,FileUploaderPreviewerBody:a.FileUploaderPreviewerBody.className,FileUploaderPreviewerFooter:a.FileUploaderPreviewerFooter.className,FileUploaderPreviewerFooterActions:a.FileUploaderPreviewerFooterActions.className,Flex:a.Flex.className,Grid:a.Grid.className,Heading:a.Heading.className,HighlightMatch:a.HighlightMatch.className,HighlightMatchHighlighted:a.HighlightMatchHighlighted.className,Icon:a.Icon.className,Image:a.Image.className,Input:a.Input.className,Label:a.Label.className,Link:a.Link.className,Loader:a.Loader.className,LoaderDeterminate:a.LoaderDeterminate.className,LoaderPercentageText:a.LoaderPercentageText.className,MenuContent:a.MenuContent.className,MenuContentWrapper:a.MenuContentWrapper.className,MenuItem:a.MenuItem.className,MenuTrigger:a.MenuTrigger.className,Pagination:a.Pagination.className,PaginationItemButton:a.PaginationItemButton.className,PaginationItemCurrent:a.PaginationItemCurrent.className,PaginationItemEllipsis:a.PaginationItemEllipsis.className,PasswordField:a.PasswordField.className,PhoneNumberField:a.PhoneNumberField.className,Placeholder:a.Placeholder.className,Radio:a.Radio.className,RadioButton:a.RadioButton.className,RadioInput:a.RadioInput.className,RadioLabel:a.RadioLabel.className,RadioGroupField:a.RadioGroupField.className,RadioGroup:a.RadioGroup.className,Rating:a.Rating.className,ScrollView:a.ScrollView.className,SearchField:a.SearchField.className,SearchFieldClear:a.SearchFieldClear.className,SearchFieldSearch:a.SearchFieldSearch.className,Select:a.Select.className,SelectField:a.SelectField.className,SelectWrapper:a.SelectWrapper.className,SelectIconWrapper:a.SelectIconWrapper.className,SliderField:a.SliderField.className,SliderFieldGroup:a.SliderFieldGroup.className,SliderFieldLabel:a.SliderFieldLabel.className,SliderFieldRange:a.SliderFieldRange.className,SliderFieldRoot:a.SliderFieldRoot.className,SliderFieldThumb:a.SliderFieldThumb.className,SliderFieldTrack:a.SliderFieldTrack.className,StepperField:a.StepperField.className,StepperFieldButtonDecrease:a.StepperFieldButtonDecrease.className,StepperFieldButtonIncrease:a.StepperFieldButtonIncrease.className,StepperFieldInput:a.StepperFieldInput.className,StorageManager:a.StorageManager.className,StorageManagerDropZone:a.StorageManagerDropZone.className,StorageManagerDropZoneIcon:a.StorageManagerDropZoneIcon.className,StorageManagerDropZoneText:a.StorageManagerDropZoneText.className,StorageManagerFilePicker:a.StorageManagerFilePicker.className,StorageManagerFile:a.StorageManagerFile.className,StorageManagerFileWrapper:a.StorageManagerFileWrapper.className,StorageManagerFileList:a.StorageManagerFileList.className,StorageManagerFileName:a.StorageManagerFileName.className,StorageManagerLoader:a.StorageManagerLoader.className,StorageManagerFileSize:a.StorageManagerFileSize.className,StorageManagerFileInfo:a.StorageManagerFileInfo.className,StorageManagerFileImage:a.StorageManagerFileImage.className,StorageManagerFileMain:a.StorageManagerFileMain.className,StorageManagerFileStatus:a.StorageManagerFileStatus.className,StorageManagerPreviewer:a.StorageManagerPreviewer.className,StorageManagerPreviewerText:a.StorageManagerPreviewerText.className,SwitchField:a.SwitchField.className,SwitchLabel:a.SwitchLabel.className,SwitchThumb:a.SwitchThumb.className,SwitchTrack:a.SwitchTrack.className,SwitchWrapper:a.SwitchWrapper.className,Table:a.Table.className,TableCaption:a.TableCaption.className,TableBody:a.TableBody.className,TableTd:a.TableTd.className,TableTh:a.TableTh.className,TableFoot:a.TableFoot.className,TableHead:a.TableHead.className,TableRow:a.TableRow.className,Tabs:a.Tabs.className,TabItems:a.TabItems.className,Text:a.Text.className,Textarea:a.Textarea.className,TextAreaField:a.TextAreaField.className,TextField:a.TextField.className,ToggleButton:a.ToggleButton.className,ToggleButtonGroup:a.ToggleButtonGroup.className,VisuallyHidden:a.VisuallyHidden.className},o={Alert:{dismissButtonLabel:\"Dismiss alert\"},Autocomplete:{emptyText:\"No options found\",loadingText:\"Loading options...\"},Collection:{searchButtonLabel:\"Search\",searchNoResultsFound:\"No results found\"},Fields:{clearButtonLabel:\"Clear input\"},PaginationItem:{currentPageLabel:\"Page\",nextLabel:\"Go to next page\",pageLabel:\"Go to page\",previousLabel:\"Go to previous page\"},PhoneNumberField:{countryCodeLabel:\"Country code\"},SearchField:{searchButtonLabel:\"Search\"},PasswordField:{passwordIsHidden:\"Password is hidden\",passwordIsShown:\"Password is shown\",showPassword:\"Show password\"},StepperField:{increaseButtonLabel:\"Increase to\",decreaseButtonLabel:\"Decrease to\"}},l={backgroundColor:\"colors\",color:\"colors\",borderRadius:\"radii\",fontSize:\"fontSizes\",fontWeight:\"fontWeights\",fontFamily:\"fonts\",lineHeight:\"lineHeights\",opacity:\"opacities\",boxShadow:\"shadows\",transform:\"transforms\",left:\"space\",right:\"space\",top:\"space\",bottom:\"space\",height:\"space\",width:\"space\",letterSpacing:\"space\",margin:\"space\",marginBlock:\"space\",marginBlockEnd:\"space\",marginBlockStart:\"space\",marginInline:\"space\",marginInlineEnd:\"space\",marginInlineStart:\"space\",marginLeft:\"space\",marginRight:\"space\",marginTop:\"space\",marginBottom:\"space\",maxHeight:\"space\",maxWidth:\"space\",minHeight:\"space\",minWidth:\"space\",padding:\"space\",paddingBlock:\"space\",paddingBlockEnd:\"space\",paddingBlockStart:\"space\",paddingInline:\"space\",paddingInlineEnd:\"space\",paddingInlineStart:\"space\",paddingLeft:\"space\",paddingRight:\"space\",paddingTop:\"space\",paddingBottom:\"space\",gap:\"space\",columnGap:\"space\",rowGap:\"space\"},i=\"Escape\",s=\"Enter\",n=\"ArrowUp\",r=\"ArrowDown\";export{r as ARROW_DOWN,n as ARROW_UP,t as ComponentClassNames,a as ComponentClassObject,o as ComponentText,s as ENTER_KEY,i as ESCAPE_KEY,l as stylePropsToThemeKeys};\n","import{isDesignToken as t,cssNameTransform as r}from\"@aws-amplify/ui\";export{classNameModifier,classNameModifierByFlag}from\"@aws-amplify/ui\";import{isThemeStylePropKey as e}from\"../types/theme.mjs\";import{stylePropsToThemeKeys as i}from\"./constants.mjs\";const o=t=>\"string\"==typeof t&&t.length>0,s=t=>\"string\"==typeof t&&0===t.length,n=t=>null==t||s(t),f=(t,r)=>{const e=r-t+1;return Array.from({length:e},((r,e)=>e+t))},l=t=>Object.keys(t),m=(o,s,n)=>{if(\"string\"!=typeof s)return s;if(s.includes(\" \"))return s.split(\" \").map((t=>m(o,t,n))).join(\" \");if(e(o)){const e=s.split(\".\"),f=i[o];let l=n[f];for(let t=0;t<e.length&&l;t++)l=l[e[t]];return t(l)?`var(--${r({path:[i[o],...e]})})`:s}return s};export{m as getCSSVariableIfValueIsThemeKey,f as getConsecutiveIntArray,s as isEmptyString,n as isNullOrEmptyString,l as objectKeys,o as strHasLength};\n","import{stylePropsToThemeKeys as o}from\"../shared/constants.mjs\";const s=s=>s in o;export{s as isThemeStylePropKey};\n","import{defaultTheme as r}from\"@aws-amplify/ui\";import{objectKeys as t}from\"../utils.mjs\";const o=({breakpoint:o,breakpoints:e,values:s})=>{let i={};const n=t(e).sort(((r,t)=>e[r]-e[t]));var a;return Array.isArray(s)?s.forEach(((r,t)=>{i[n[t]]=r})):\"object\"==typeof s&&(i=t(a=s).reduce(((t,o)=>o in r.breakpoints.values?Object.assign(Object.assign({},t),{[o]:a[o]}):t),{})),(({breakpoint:r,breakpoints:o,values:e})=>{const s=e[r];if(void 0!==s)return s;const i=t(o).sort(((r,t)=>o[t]-o[r])),n=i.slice(i.indexOf(r));for(const r of n){const t=e[r];if(void 0!==t)return t}return null})({breakpoint:o,breakpoints:e,values:i})};export{o as getValueAtCurrentBreakpoint};\n","import*as e from\"react\";import{getMediaQueries as t}from\"./getMediaQueries.mjs\";const n=\"undefined\"==typeof window?e.useEffect:e.useLayoutEffect,o=({breakpoints:o,defaultBreakpoint:a})=>{const r=\"undefined\"!=typeof window&&void 0!==window.matchMedia?window.matchMedia:null,i=e.useMemo((()=>t({breakpoints:o})),[o]),[s,u]=e.useState(a),c=e.useCallback(((e,t)=>{e&&u(t)}),[u]);return n((()=>{if(!r)return;const e=i.map((({query:e,breakpoint:t})=>{const n=r(e);c(n.matches,t);const o=e=>{e.matches&&u(t)};return n.addEventListener(\"change\",o),()=>n.removeEventListener(\"change\",o)}));return()=>{e.forEach((e=>e()))}}),[o,u,r,i]),e.useDebugValue(s,(e=>e)),s};export{o as useBreakpoint};\n","import{objectKeys as t}from\"../utils.mjs\";const n=({breakpoints:n})=>{const r=t(n).sort(((t,r)=>n[r]-n[t]));return r.map(((t,i)=>{let o=\"\";const m=n[t],e=r[i-1],p=e?n[e]-1:null;return m>=0&&(o=`(min-width: ${m}px)`),null!==p&&(o&&(o+=\" and \"),o+=`(max-width: ${p}px)`),{breakpoint:t,query:o,maxWidth:p,minWidth:m}}))};export{n as getMediaQueries};\n","import{isDesignToken as o,isString as t}from\"@aws-amplify/ui\";import{getCSSVariableIfValueIsThemeKey as r}from\"./utils.mjs\";const i=({value:i,propKey:m,tokens:p})=>o(i)?i.toString():t(i)?t(m)?r(m,i,p):i:null;export{i as getStyleValue};\n","import{__rest as o}from\"tslib\";import*as e from\"react\";import{isDesignToken as t}from\"@aws-amplify/ui\";import{ComponentPropsToStylePropsMap as r}from\"../types/style.mjs\";import{getValueAtCurrentBreakpoint as s}from\"./responsive/utils.mjs\";import{useBreakpoint as n}from\"./responsive/useBreakpoint.mjs\";import\"../../components/ThemeProvider/AmplifyContext.mjs\";import{useTheme as p}from\"../../hooks/useTheme.mjs\";import{getStyleValue as a}from\"./getStyleValue.mjs\";import{isNullOrEmptyString as i,isEmptyString as m,getCSSVariableIfValueIsThemeKey as l}from\"./utils.mjs\";const u=o=>\"auto\"===o||\"number\"==typeof o&&!isNaN(o)||\"string\"==typeof o&&!isNaN(parseFloat(o)),c=o=>\"auto\"===o?\"auto\":`span ${o}`,f=o=>u(o)?c(o):Array.isArray(o)?o.map((o=>c(o))):\"object\"==typeof o&&null!=o?Object.entries(o).reduce(((o,[e,t])=>Object.assign(Object.assign({},o),{[e]:c(t)})),{}):null,b=t=>{const{rowSpan:r,columnSpan:s,row:n,column:p}=t,a=o(t,[\"rowSpan\",\"columnSpan\",\"row\",\"column\"]),{rowFromSpanValue:m,columnFromSpanValue:l}=e.useMemo((()=>({rowFromSpanValue:f(r),columnFromSpanValue:f(s)})),[r,s]);return Object.assign({row:i(n)?m:n,column:i(p)?l:p},a)},y=({props:o={},style:e={},breakpoint:n,breakpoints:p,tokens:i})=>{const u={};return Object.keys(o).filter((e=>null!==o[e])).forEach((c=>{if(c in r){const u=o[c];if(!u||m(u))return;const f=r[c];let b=\"\";t(u)?b=u.toString():\"string\"==typeof u?b=l(c,u,i):\"number\"==typeof u?b=u:\"object\"==typeof u&&(b=a({propKey:c,tokens:i,value:s({values:u,breakpoint:n,breakpoints:p})})),e=Object.assign(Object.assign({},e),{[f]:b})}else void 0!==o[c]&&(u[c]=o[c])})),{propStyles:e,nonStyleProps:u}},k=(o,t)=>{const{breakpoints:{values:r,defaultBreakpoint:s},tokens:a}=p(),i=n({breakpoints:r,defaultBreakpoint:s}),m=b(o);return e.useMemo((()=>y({props:m,style:t,breakpoint:i,breakpoints:r,tokens:a})),[m,t,r,i,a])};export{f as convertGridSpan,y as convertStylePropsToStyleObj,c as getGridSpan,u as isSpanPrimitiveValue,k as useStyles,b as useTransformStyleProps};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import{useStyles as r}from\"../shared/styleUtils.mjs\";const s=t.forwardRef(((s,a)=>{var{as:i=\"div\",children:l,testId:d,ariaLabel:n,isDisabled:o,style:m,inert:b}=s,p=e(s,[\"as\",\"children\",\"testId\",\"ariaLabel\",\"isDisabled\",\"style\",\"inert\"]);const{propStyles:c,nonStyleProps:y}=r(p,m);return t.createElement(i,Object.assign({\"aria-label\":n,\"data-testid\":d,disabled:o,ref:a,inert:b?\"\":null,style:c},y),l)}));s.displayName=\"View\";export{s as View};\n","import{__rest as e}from\"tslib\";import*as a from\"react\";import r from\"classnames\";import{classNameModifier as s,classNameModifierByFlag as i}from\"@aws-amplify/ui\";import{ComponentClassNames as m}from\"../shared/constants.mjs\";import{View as t}from\"../View/View.mjs\";const n={1:\"h1\",2:\"h2\",3:\"h3\",4:\"h4\",5:\"h5\",6:\"h6\"},o=a.forwardRef(((o,c)=>{var{className:l,children:d,isTruncated:f,level:h=6}=o,p=e(o,[\"className\",\"children\",\"isTruncated\",\"level\"]);return a.createElement(t,Object.assign({as:n[h],className:r(m.Heading,s(m.Heading,h),i(m.Heading,\"truncated\",f),l),ref:c},p),d)}));o.displayName=\"Heading\";export{o as Heading};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\n\nexport { __awaiter, __rest };\n","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","import { useRef, useCallback } from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\nimport useConstant from './useConstant';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nexport function isActorWithState(actorRef) {\n return 'state' in actorRef;\n}\nfunction isDeferredActor(actorRef) {\n return 'deferred' in actorRef;\n}\nfunction defaultGetSnapshot(actorRef) {\n return 'getSnapshot' in actorRef\n ? actorRef.getSnapshot()\n : isActorWithState(actorRef)\n ? actorRef.state\n : undefined;\n}\nexport function useActor(actorRef, getSnapshot) {\n if (getSnapshot === void 0) { getSnapshot = defaultGetSnapshot; }\n var actorRefRef = useRef(actorRef);\n var deferredEventsRef = useRef([]);\n var subscribe = useCallback(function (handleStoreChange) {\n var unsubscribe = actorRef.subscribe(handleStoreChange).unsubscribe;\n return unsubscribe;\n }, [actorRef]);\n var boundGetSnapshot = useCallback(function () { return getSnapshot(actorRef); }, [\n actorRef,\n getSnapshot\n ]);\n var storeSnapshot = useSyncExternalStore(subscribe, boundGetSnapshot, boundGetSnapshot);\n var send = useConstant(function () { return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var event = args[0];\n if (process.env.NODE_ENV !== 'production' && args.length > 1) {\n console.warn(\"Unexpected payload: \".concat(JSON.stringify(args[1]), \". Only a single event object can be sent to actor send() functions.\"));\n }\n var currentActorRef = actorRefRef.current;\n // If the previous actor is a deferred actor,\n // queue the events so that they can be replayed\n // on the non-deferred actor.\n if (isDeferredActor(currentActorRef) && currentActorRef.deferred) {\n deferredEventsRef.current.push(event);\n }\n else {\n currentActorRef.send(event);\n }\n }; });\n useIsomorphicLayoutEffect(function () {\n actorRefRef.current = actorRef;\n // Dequeue deferred events from the previous deferred actorRef\n while (deferredEventsRef.current.length > 0) {\n var deferredEvent = deferredEventsRef.current.shift();\n actorRef.send(deferredEvent);\n }\n }, [actorRef]);\n return [storeSnapshot, send];\n}\n","import { useCallback, useRef } from 'react';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { isActorWithState } from './useActor';\nimport { getServiceSnapshot } from './utils';\nfunction isService(actor) {\n return 'state' in actor && 'machine' in actor;\n}\nvar defaultCompare = function (a, b) { return a === b; };\nvar defaultGetSnapshot = function (a, initialStateCacheRef) {\n if (isService(a)) {\n // A status of 0 = interpreter not started\n if (a.status === 0 && initialStateCacheRef.current) {\n return initialStateCacheRef.current;\n }\n var snapshot = getServiceSnapshot(a);\n initialStateCacheRef.current = a.status === 0 ? snapshot : null;\n return snapshot;\n }\n return isActorWithState(a) ? a.state : undefined;\n};\nexport function useSelector(actor, selector, compare, getSnapshot) {\n if (compare === void 0) { compare = defaultCompare; }\n var initialStateCacheRef = useRef(null);\n var subscribe = useCallback(function (handleStoreChange) {\n var unsubscribe = actor.subscribe(handleStoreChange).unsubscribe;\n return unsubscribe;\n }, [actor]);\n var boundGetSnapshot = useCallback(function () {\n if (getSnapshot) {\n return getSnapshot(actor);\n }\n return defaultGetSnapshot(actor, initialStateCacheRef);\n }, [actor, getSnapshot]);\n var selectedSnapshot = useSyncExternalStoreWithSelector(subscribe, boundGetSnapshot, boundGetSnapshot, selector, compare);\n return selectedSnapshot;\n}\n","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nexport function partition(items, predicate) {\n var e_1, _a;\n var _b = __read([[], []], 2), truthy = _b[0], falsy = _b[1];\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n if (predicate(item)) {\n truthy.push(item);\n }\n else {\n falsy.push(item);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return [truthy, falsy];\n}\nexport function getServiceSnapshot(service) {\n return service.status !== 0 ? service.state : service.machine.initialState;\n}\n// From https://github.com/reduxjs/react-redux/blob/master/src/utils/shallowEqual.ts\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n else {\n return x !== x && y !== y;\n }\n}\nexport function shallowEqual(objA, objB) {\n if (is(objA, objB))\n return true;\n if (typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length)\n return false;\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n","const t=t=>{var o;return null===(o=t.context.actorRef)||void 0===o?void 0:o.getSnapshot()},o=o=>{var n;return null===(n=t(o))||void 0===n?void 0:n.context};export{o as getActorContext,t as getActorState};\n","import{getActorContext as e,getActorState as t}from\"./actor.mjs\";const r=e=>{const t=t=>r=>e({type:t,data:r});return{initializeMachine:t(\"INIT\"),resendCode:t(\"RESEND\"),signOut:t(\"SIGN_OUT\"),submitForm:t(\"SUBMIT\"),updateForm:t(\"CHANGE\"),updateBlur:t(\"BLUR\"),toFederatedSignIn:t(\"FEDERATED_SIGN_IN\"),toResetPassword:t(\"RESET_PASSWORD\"),toSignIn:t(\"SIGN_IN\"),toSignUp:t(\"SIGN_UP\"),skipVerification:t(\"SKIP\")}},n=r=>{var n,s,i,a,o;const c=null!==(n=e(r))&&void 0!==n?n:{},{codeDeliveryDetails:u,remoteError:d,unverifiedContactMethods:l,validationError:m,totpSecretCode:h=null}=c,{socialProviders:v}=null!==(i=null===(s=r.context)||void 0===s?void 0:s.config)&&void 0!==i?i:{},g=null!==(a=null==c?void 0:c.user)&&void 0!==a?a:null===(o=r.context)||void 0===o?void 0:o.user,f=m&&Object.keys(m).length>0,p=t(r),S=r.hasTag(\"pending\")||(null==p?void 0:p.hasTag(\"pending\")),I=(()=>{switch(!0){case r.matches(\"idle\"):return\"idle\";case r.matches(\"setup\"):return\"setup\";case r.matches(\"signOut\"):return\"signOut\";case r.matches(\"authenticated\"):return\"authenticated\";case null==p?void 0:p.matches(\"confirmSignUp\"):return\"confirmSignUp\";case null==p?void 0:p.matches(\"confirmSignIn\"):return\"confirmSignIn\";case null==p?void 0:p.matches(\"setupTOTP.edit\"):case null==p?void 0:p.matches(\"setupTOTP.submit\"):return\"setupTOTP\";case null==p?void 0:p.matches(\"signIn\"):return\"signIn\";case null==p?void 0:p.matches(\"signUp\"):return\"signUp\";case null==p?void 0:p.matches(\"forceNewPassword\"):return\"forceNewPassword\";case null==p?void 0:p.matches(\"resetPassword\"):return\"resetPassword\";case null==p?void 0:p.matches(\"confirmResetPassword\"):return\"confirmResetPassword\";case null==p?void 0:p.matches(\"verifyUser\"):return\"verifyUser\";case null==p?void 0:p.matches(\"confirmVerifyUser\"):return\"confirmVerifyUser\";case null==p?void 0:p.matches(\"setupTOTP.getTotpSecretCode\"):case r.matches(\"signIn.runActor\"):return\"transition\";default:return console.debug(\"Cannot infer `route` from Authenticator state:\",r.value),null}})(),P=(e=>{switch(e){case\"idle\":case\"setup\":return\"configuring\";case\"authenticated\":return\"authenticated\";default:return\"unauthenticated\"}})(I);return{authStatus:P,codeDeliveryDetails:u,error:d,hasValidationErrors:f,isPending:S,route:I,socialProviders:v,totpSecretCode:h,unverifiedContactMethods:l,user:g,validationErrors:m}},s=({send:e,state:t})=>{const s=r(e),i=n(t);return Object.assign(Object.assign({},s),i)};export{r as getSendEventAliases,n as getServiceContextFacade,s as getServiceFacade};\n","import React from 'react';\n\n/**\n * AuthenticatorContext serves static reference to the auth machine service.\n *\n * https://xstate.js.org/docs/recipes/react.html#context-provider\n */\nconst AuthenticatorContext = React.createContext(null);\n\nexport { AuthenticatorContext };\n","const USE_AUTHENTICATOR_ERROR = '`useAuthenticator` must be used inside an `Authenticator.Provider`.';\n\nexport { USE_AUTHENTICATOR_ERROR };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n\tICookieStorageData,\n\tICognitoStorage,\n} from 'amazon-cognito-identity-js';\n\n/**\n * Parameters for user sign up\n */\nexport interface SignUpParams {\n\tusername: string;\n\tpassword: string;\n\tattributes?: object;\n\tvalidationData?: { [key: string]: any };\n\tclientMetadata?: { [key: string]: string };\n\tautoSignIn?: AutoSignInOptions;\n}\n\nexport interface AuthCache {\n\tsetItem();\n\tgetItem();\n\tremoveItem();\n}\n\n/**\n * Auth instance options\n */\nexport interface AuthOptions {\n\tuserPoolId?: string;\n\tuserPoolWebClientId?: string;\n\tidentityPoolId?: string;\n\tregion?: string;\n\tmandatorySignIn?: boolean;\n\tcookieStorage?: ICookieStorageData;\n\toauth?: OAuthOpts;\n\trefreshHandlers?: object;\n\tstorage?: ICognitoStorage;\n\tauthenticationFlowType?: string;\n\tidentityPoolRegion?: string;\n\tclientMetadata?: any;\n\tendpoint?: string;\n\tsignUpVerificationMethod?: 'code' | 'link';\n}\n\nexport enum CognitoHostedUIIdentityProvider {\n\tCognito = 'COGNITO',\n\tGoogle = 'Google',\n\tFacebook = 'Facebook',\n\tAmazon = 'LoginWithAmazon',\n\tApple = 'SignInWithApple',\n}\n\nexport type LegacyProvider =\n\t| 'google'\n\t| 'facebook'\n\t| 'amazon'\n\t| 'developer'\n\t| string;\n\nexport type FederatedSignInOptions = {\n\tprovider: CognitoHostedUIIdentityProvider;\n\tcustomState?: string;\n};\n\nexport type FederatedSignInOptionsCustom = {\n\tcustomProvider: string;\n\tcustomState?: string;\n};\n\nexport function isFederatedSignInOptions(\n\tobj: any\n): obj is FederatedSignInOptions {\n\tconst keys: (keyof FederatedSignInOptions)[] = ['provider'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\nexport function isFederatedSignInOptionsCustom(\n\tobj: any\n): obj is FederatedSignInOptionsCustom {\n\tconst keys: (keyof FederatedSignInOptionsCustom)[] = ['customProvider'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\nexport function hasCustomState(obj: any): boolean {\n\tconst keys: (keyof (\n\t\t| FederatedSignInOptions\n\t\t| FederatedSignInOptionsCustom\n\t))[] = ['customState'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\n/**\n * Details for multi-factor authentication\n */\nexport interface MfaRequiredDetails {\n\tchallengeName: any;\n\tchallengeParameters: any;\n}\n\n/**\n * interface for federatedResponse\n */\nexport interface FederatedResponse {\n\t// access token\n\ttoken: string;\n\t// identity id\n\tidentity_id?: string;\n\t// the universal time when token expired\n\texpires_at: number;\n}\n\n/**\n * interface for federatedUser\n */\nexport interface FederatedUser {\n\tname: string;\n\temail?: string;\n\tpicture?: string;\n}\n\nexport interface AwsCognitoOAuthOpts {\n\tdomain: string;\n\tscope: Array<string>;\n\tredirectSignIn: string;\n\tredirectSignOut: string;\n\tresponseType: string;\n\toptions?: object;\n\turlOpener?: (url: string, redirectUrl: string) => Promise<any>;\n}\n\nexport function isCognitoHostedOpts(\n\toauth: OAuthOpts\n): oauth is AwsCognitoOAuthOpts {\n\treturn (<AwsCognitoOAuthOpts>oauth).redirectSignIn !== undefined;\n}\n\nexport interface Auth0OAuthOpts {\n\tdomain: string;\n\tclientID: string;\n\tscope: string;\n\tredirectUri: string;\n\taudience: string;\n\tresponseType: string;\n\treturnTo: string;\n\turlOpener?: (url: string, redirectUrl: string) => Promise<any>;\n}\n\n// Replacing to fix typings\n// export interface OAuth {\n// awsCognito?: awsCognitoOAuthOpts,\n// auth0?: any\n// }\n\nexport type OAuthOpts = AwsCognitoOAuthOpts | Auth0OAuthOpts;\n\nexport interface ConfirmSignUpOptions {\n\tforceAliasCreation?: boolean;\n\tclientMetadata?: ClientMetaData;\n}\n\nexport interface SignOutOpts {\n\tglobal?: boolean;\n}\n\nexport interface CurrentUserOpts {\n\tbypassCache: boolean;\n}\n\nexport interface GetPreferredMFAOpts {\n\tbypassCache: boolean;\n}\n\nexport type UsernamePasswordOpts = {\n\tusername: string;\n\tpassword: string;\n\tvalidationData?: { [key: string]: any };\n};\n\nexport enum AuthErrorTypes {\n\tNoConfig = 'noConfig',\n\tMissingAuthConfig = 'missingAuthConfig',\n\tEmptyUsername = 'emptyUsername',\n\tInvalidUsername = 'invalidUsername',\n\tEmptyPassword = 'emptyPassword',\n\tEmptyCode = 'emptyCode',\n\tSignUpError = 'signUpError',\n\tNoMFA = 'noMFA',\n\tInvalidMFA = 'invalidMFA',\n\tEmptyChallengeResponse = 'emptyChallengeResponse',\n\tNoUserSession = 'noUserSession',\n\tDefault = 'default',\n\tDeviceConfig = 'deviceConfig',\n\tNetworkError = 'networkError',\n\tAutoSignInError = 'autoSignInError',\n}\n\nexport type AuthErrorMessages = { [key in AuthErrorTypes]: AuthErrorMessage };\n\nexport interface AuthErrorMessage {\n\tmessage: string;\n\tlog?: string;\n}\n\n// We can extend this in the future if needed\nexport type SignInOpts = UsernamePasswordOpts;\n\nexport type ClientMetaData =\n\t| {\n\t\t\t[key: string]: string;\n\t }\n\t| undefined;\n\nexport function isUsernamePasswordOpts(obj: any): obj is UsernamePasswordOpts {\n\treturn !!(obj as UsernamePasswordOpts).username;\n}\n\nexport interface IAuthDevice {\n\tid: string;\n\tname: string;\n}\n\nexport interface AutoSignInOptions {\n\tenabled: boolean;\n\tclientMetaData?: ClientMetaData;\n\tvalidationData?: { [key: string]: any };\n}\n\nexport enum GRAPHQL_AUTH_MODE {\n\tAPI_KEY = 'API_KEY',\n\tAWS_IAM = 'AWS_IAM',\n\tOPENID_CONNECT = 'OPENID_CONNECT',\n\tAMAZON_COGNITO_USER_POOLS = 'AMAZON_COGNITO_USER_POOLS',\n\tAWS_LAMBDA = 'AWS_LAMBDA',\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// Logging constants\nconst AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nconst AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nconst AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nconst AWS_CLOUDWATCH_CATEGORY = 'Logging';\nconst AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nconst NO_CREDS_ERROR_STRING = 'No credentials';\nconst RETRY_ERROR_CODES = [\n\t'ResourceNotFoundException',\n\t'InvalidSequenceTokenException',\n];\n\nexport {\n\tAWS_CLOUDWATCH_BASE_BUFFER_SIZE,\n\tAWS_CLOUDWATCH_CATEGORY,\n\tAWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE,\n\tAWS_CLOUDWATCH_MAX_EVENT_SIZE,\n\tAWS_CLOUDWATCH_PROVIDER_NAME,\n\tNO_CREDS_ERROR_STRING,\n\tRETRY_ERROR_CODES,\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InputLogEvent } from '@aws-sdk/client-cloudwatch-logs';\nimport { LoggingProvider } from '../types';\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nimport { Logger } from './logger-interface';\n\nconst LOG_LEVELS = {\n\tVERBOSE: 1,\n\tDEBUG: 2,\n\tINFO: 3,\n\tWARN: 4,\n\tERROR: 5,\n};\n\nexport enum LOG_TYPE {\n\tDEBUG = 'DEBUG',\n\tERROR = 'ERROR',\n\tINFO = 'INFO',\n\tWARN = 'WARN',\n\tVERBOSE = 'VERBOSE',\n}\n\n/**\n * Write logs\n * @class Logger\n */\nexport class ConsoleLogger implements Logger {\n\tname: string;\n\tlevel: LOG_TYPE | string;\n\tprivate _pluggables: LoggingProvider[];\n\tprivate _config: object;\n\n\t/**\n\t * @constructor\n\t * @param {string} name - Name of the logger\n\t */\n\tconstructor(name: string, level: LOG_TYPE | string = LOG_TYPE.WARN) {\n\t\tthis.name = name;\n\t\tthis.level = level;\n\t\tthis._pluggables = [];\n\t}\n\n\tstatic LOG_LEVEL = null;\n\n\t_padding(n) {\n\t\treturn n < 10 ? '0' + n : '' + n;\n\t}\n\n\t_ts() {\n\t\tconst dt = new Date();\n\t\treturn (\n\t\t\t[this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(\n\t\t\t\t':'\n\t\t\t) +\n\t\t\t'.' +\n\t\t\tdt.getMilliseconds()\n\t\t);\n\t}\n\n\tconfigure(config?: object) {\n\t\tif (!config) return this._config;\n\n\t\tthis._config = config;\n\n\t\treturn this._config;\n\t}\n\n\t/**\n\t * Write log\n\t * @method\n\t * @memeberof Logger\n\t * @param {LOG_TYPE|string} type - log type, default INFO\n\t * @param {string|object} msg - Logging message or object\n\t */\n\t_log(type: LOG_TYPE | string, ...msg) {\n\t\tlet logger_level_name = this.level;\n\t\tif (ConsoleLogger.LOG_LEVEL) {\n\t\t\tlogger_level_name = ConsoleLogger.LOG_LEVEL;\n\t\t}\n\t\tif (typeof (<any>window) !== 'undefined' && (<any>window).LOG_LEVEL) {\n\t\t\tlogger_level_name = (<any>window).LOG_LEVEL;\n\t\t}\n\t\tconst logger_level = LOG_LEVELS[logger_level_name];\n\t\tconst type_level = LOG_LEVELS[type];\n\t\tif (!(type_level >= logger_level)) {\n\t\t\t// Do nothing if type is not greater than or equal to logger level (handle undefined)\n\t\t\treturn;\n\t\t}\n\n\t\tlet log = console.log.bind(console);\n\t\tif (type === LOG_TYPE.ERROR && console.error) {\n\t\t\tlog = console.error.bind(console);\n\t\t}\n\t\tif (type === LOG_TYPE.WARN && console.warn) {\n\t\t\tlog = console.warn.bind(console);\n\t\t}\n\n\t\tconst prefix = `[${type}] ${this._ts()} ${this.name}`;\n\t\tlet message = '';\n\n\t\tif (msg.length === 1 && typeof msg[0] === 'string') {\n\t\t\tmessage = `${prefix} - ${msg[0]}`;\n\t\t\tlog(message);\n\t\t} else if (msg.length === 1) {\n\t\t\tmessage = `${prefix} ${msg[0]}`;\n\t\t\tlog(prefix, msg[0]);\n\t\t} else if (typeof msg[0] === 'string') {\n\t\t\tlet obj = msg.slice(1);\n\t\t\tif (obj.length === 1) {\n\t\t\t\tobj = obj[0];\n\t\t\t}\n\t\t\tmessage = `${prefix} - ${msg[0]} ${obj}`;\n\t\t\tlog(`${prefix} - ${msg[0]}`, obj);\n\t\t} else {\n\t\t\tmessage = `${prefix} ${msg}`;\n\t\t\tlog(prefix, msg);\n\t\t}\n\n\t\tfor (const plugin of this._pluggables) {\n\t\t\tconst logEvent: InputLogEvent = { message, timestamp: Date.now() };\n\t\t\tplugin.pushLogs([logEvent]);\n\t\t}\n\t}\n\n\t/**\n\t * Write General log. Default to INFO\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tlog(...msg) {\n\t\tthis._log(LOG_TYPE.INFO, ...msg);\n\t}\n\n\t/**\n\t * Write INFO log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tinfo(...msg) {\n\t\tthis._log(LOG_TYPE.INFO, ...msg);\n\t}\n\n\t/**\n\t * Write WARN log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\twarn(...msg) {\n\t\tthis._log(LOG_TYPE.WARN, ...msg);\n\t}\n\n\t/**\n\t * Write ERROR log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\terror(...msg) {\n\t\tthis._log(LOG_TYPE.ERROR, ...msg);\n\t}\n\n\t/**\n\t * Write DEBUG log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tdebug(...msg) {\n\t\tthis._log(LOG_TYPE.DEBUG, ...msg);\n\t}\n\n\t/**\n\t * Write VERBOSE log\n\t * @method\n\t * @memeberof Logger\n\t * @param {string|object} msg - Logging message or object\n\t */\n\tverbose(...msg) {\n\t\tthis._log(LOG_TYPE.VERBOSE, ...msg);\n\t}\n\n\taddPluggable(pluggable: LoggingProvider) {\n\t\tif (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n\t\t\tthis._pluggables.push(pluggable);\n\t\t\tpluggable.configure(this._config);\n\t\t}\n\t}\n\n\tlistPluggables() {\n\t\treturn this._pluggables;\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ConsoleLogger as Logger } from './Logger';\n\nconst logger = new Logger('Hub');\n\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\ninterface IPattern {\n\tpattern: RegExp;\n\tcallback: HubCallback;\n}\n\ninterface IListener {\n\tname: string;\n\tcallback: HubCallback;\n}\n\nexport type HubCapsule = {\n\tchannel: string;\n\tpayload: HubPayload;\n\tsource: string;\n\tpatternInfo?: string[];\n};\n\nexport type HubPayload = {\n\tevent: string;\n\tdata?: any;\n\tmessage?: string;\n};\n\nexport type HubCallback = (capsule: HubCapsule) => void;\n\nexport type LegacyCallback = { onHubCapsule: HubCallback };\n\nfunction isLegacyCallback(callback: any): callback is LegacyCallback {\n\treturn (<LegacyCallback>callback).onHubCapsule !== undefined;\n}\n\nexport class HubClass {\n\tname: string;\n\tprivate listeners: IListener[] = [];\n\tprivate patterns: IPattern[] = [];\n\n\tprotectedChannels = [\n\t\t'core',\n\t\t'auth',\n\t\t'api',\n\t\t'analytics',\n\t\t'interactions',\n\t\t'pubsub',\n\t\t'storage',\n\t\t'ui',\n\t\t'xr',\n\t];\n\n\tconstructor(name: string) {\n\t\tthis.name = name;\n\t}\n\n\t/**\n\t * Used internally to remove a Hub listener.\n\t *\n\t * @remarks\n\t * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n\t */\n\tprivate _remove(channel: string | RegExp, listener: HubCallback) {\n\t\tif (channel instanceof RegExp) {\n\t\t\tconst pattern = this.patterns.find(\n\t\t\t\t({ pattern }) => pattern.source === channel.source\n\t\t\t);\n\t\t\tif (!pattern) {\n\t\t\t\tlogger.warn(`No listeners for ${channel}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.patterns = [...this.patterns.filter(x => x !== pattern)];\n\t\t} else {\n\t\t\tconst holder = this.listeners[channel];\n\t\t\tif (!holder) {\n\t\t\t\tlogger.warn(`No listeners for ${channel}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.listeners[channel] = [\n\t\t\t\t...holder.filter(({ callback }) => callback !== listener),\n\t\t\t];\n\t\t}\n\t}\n\n\t/**\n\t * @deprecated Instead of calling Hub.remove, call the result of Hub.listen.\n\t */\n\tremove(channel: string | RegExp, listener: HubCallback) {\n\t\tthis._remove(channel, listener);\n\t}\n\n\t/**\n\t * Used to send a Hub event.\n\t *\n\t * @param channel - The channel on which the event will be broadcast\n\t * @param payload - The HubPayload\n\t * @param source - The source of the event; defaults to ''\n\t * @param ampSymbol - Symbol used to determine if the event is dispatched internally on a protected channel\n\t *\n\t */\n\tdispatch(\n\t\tchannel: string,\n\t\tpayload: HubPayload,\n\t\tsource: string = '',\n\t\tampSymbol?: Symbol\n\t) {\n\t\tif (this.protectedChannels.indexOf(channel) > -1) {\n\t\t\tconst hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n\n\t\t\tif (!hasAccess) {\n\t\t\t\tlogger.warn(\n\t\t\t\t\t`WARNING: ${channel} is protected and dispatching on it can have unintended consequences`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst capsule: HubCapsule = {\n\t\t\tchannel,\n\t\t\tpayload: { ...payload },\n\t\t\tsource,\n\t\t\tpatternInfo: [],\n\t\t};\n\n\t\ttry {\n\t\t\tthis._toListeners(capsule);\n\t\t} catch (e) {\n\t\t\tlogger.error(e);\n\t\t}\n\t}\n\n\t/**\n\t * Used to listen for Hub events.\n\t *\n\t * @param channel - The channel on which to listen\n\t * @param callback - The callback to execute when an event is received on the specified channel\n\t * @param listenerName - The name of the listener; defaults to 'noname'\n\t * @returns A function which can be called to cancel the listener.\n\t *\n\t */\n\tlisten(\n\t\tchannel: string | RegExp,\n\t\tcallback?: HubCallback | LegacyCallback,\n\t\tlistenerName = 'noname'\n\t) {\n\t\tlet cb: HubCallback;\n\t\t// Check for legacy onHubCapsule callback for backwards compatability\n\t\tif (isLegacyCallback(callback)) {\n\t\t\tlogger.warn(\n\t\t\t\t`WARNING onHubCapsule is Deprecated. Please pass in a callback.`\n\t\t\t);\n\t\t\tcb = callback.onHubCapsule.bind(callback);\n\t\t} else if (typeof callback !== 'function') {\n\t\t\tthrow new Error('No callback supplied to Hub');\n\t\t} else {\n\t\t\tcb = callback;\n\t\t}\n\n\t\tif (channel instanceof RegExp) {\n\t\t\tthis.patterns.push({\n\t\t\t\tpattern: channel,\n\t\t\t\tcallback: cb,\n\t\t\t});\n\t\t} else {\n\t\t\tlet holder = this.listeners[channel];\n\n\t\t\tif (!holder) {\n\t\t\t\tholder = [];\n\t\t\t\tthis.listeners[channel] = holder;\n\t\t\t}\n\n\t\t\tholder.push({\n\t\t\t\tname: listenerName,\n\t\t\t\tcallback: cb,\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tthis._remove(channel, cb);\n\t\t};\n\t}\n\n\tprivate _toListeners(capsule: HubCapsule) {\n\t\tconst { channel, payload } = capsule;\n\t\tconst holder = this.listeners[channel];\n\n\t\tif (holder) {\n\t\t\tholder.forEach(listener => {\n\t\t\t\tlogger.debug(`Dispatching to ${channel} with `, payload);\n\t\t\t\ttry {\n\t\t\t\t\tlistener.callback(capsule);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.error(e);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (this.patterns.length > 0) {\n\t\t\tif (!payload.message) {\n\t\t\t\tlogger.warn(`Cannot perform pattern matching without a message key`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst payloadStr = payload.message;\n\n\t\t\tthis.patterns.forEach(pattern => {\n\t\t\t\tconst match = payloadStr.match(pattern.pattern);\n\t\t\t\tif (match) {\n\t\t\t\t\tconst [, ...groups] = match;\n\t\t\t\t\tconst dispatchingCapsule: HubCapsule = {\n\t\t\t\t\t\t...capsule,\n\t\t\t\t\t\tpatternInfo: groups,\n\t\t\t\t\t};\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpattern.callback(dispatchingCapsule);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tlogger.error(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\n/*We export a __default__ instance of HubClass to use it as a \npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events.*/\nexport const Hub = new HubClass('__default__');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nlet dataMemory = {};\n\n/** @class */\nexport class MemoryStorage {\n\t/**\n\t * This is used to set a specific item in storage\n\t * @param {string} key - the key for the item\n\t * @param {object} value - the value\n\t * @returns {string} value that was set\n\t */\n\tstatic setItem(key: string, value: any) {\n\t\tdataMemory[key] = value;\n\t\treturn dataMemory[key];\n\t}\n\n\t/**\n\t * This is used to get a specific key from storage\n\t * @param {string} key - the key for the item\n\t * This is used to clear the storage\n\t * @returns {string} the data item\n\t */\n\tstatic getItem(key: string) {\n\t\treturn Object.prototype.hasOwnProperty.call(dataMemory, key)\n\t\t\t? dataMemory[key]\n\t\t\t: undefined;\n\t}\n\n\t/**\n\t * This is used to remove an item from storage\n\t * @param {string} key - the key being set\n\t * @returns {string} value - value that was deleted\n\t */\n\tstatic removeItem(key: string) {\n\t\treturn delete dataMemory[key];\n\t}\n\n\t/**\n\t * This is used to clear the storage\n\t * @returns {string} nothing\n\t */\n\tstatic clear() {\n\t\tdataMemory = {};\n\t\treturn dataMemory;\n\t}\n}\n\nexport class StorageHelper {\n\tprivate storageWindow: any;\n\t/**\n\t * This is used to get a storage object\n\t * @returns {object} the storage\n\t */\n\tconstructor() {\n\t\ttry {\n\t\t\tthis.storageWindow = window.localStorage;\n\t\t\tthis.storageWindow.setItem('aws.amplify.test-ls', 1);\n\t\t\tthis.storageWindow.removeItem('aws.amplify.test-ls');\n\t\t} catch (exception) {\n\t\t\tthis.storageWindow = MemoryStorage;\n\t\t}\n\t}\n\n\t/**\n\t * This is used to return the storage\n\t * @returns {object} the storage\n\t */\n\tgetStorage(): any {\n\t\treturn this.storageWindow;\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nconst MIME_MAP = [\n\t{ type: 'text/plain', ext: 'txt' },\n\t{ type: 'text/html', ext: 'html' },\n\t{ type: 'text/javascript', ext: 'js' },\n\t{ type: 'text/css', ext: 'css' },\n\t{ type: 'text/csv', ext: 'csv' },\n\t{ type: 'text/yaml', ext: 'yml' },\n\t{ type: 'text/yaml', ext: 'yaml' },\n\t{ type: 'text/calendar', ext: 'ics' },\n\t{ type: 'text/calendar', ext: 'ical' },\n\n\t{ type: 'image/apng', ext: 'apng' },\n\t{ type: 'image/bmp', ext: 'bmp' },\n\t{ type: 'image/gif', ext: 'gif' },\n\t{ type: 'image/x-icon', ext: 'ico' },\n\t{ type: 'image/x-icon', ext: 'cur' },\n\t{ type: 'image/jpeg', ext: 'jpg' },\n\t{ type: 'image/jpeg', ext: 'jpeg' },\n\t{ type: 'image/jpeg', ext: 'jfif' },\n\t{ type: 'image/jpeg', ext: 'pjp' },\n\t{ type: 'image/jpeg', ext: 'pjpeg' },\n\t{ type: 'image/png', ext: 'png' },\n\t{ type: 'image/svg+xml', ext: 'svg' },\n\t{ type: 'image/tiff', ext: 'tif' },\n\t{ type: 'image/tiff', ext: 'tiff' },\n\t{ type: 'image/webp', ext: 'webp' },\n\n\t{ type: 'application/json', ext: 'json' },\n\t{ type: 'application/xml', ext: 'xml' },\n\t{ type: 'application/x-sh', ext: 'sh' },\n\t{ type: 'application/zip', ext: 'zip' },\n\t{ type: 'application/x-rar-compressed', ext: 'rar' },\n\t{ type: 'application/x-tar', ext: 'tar' },\n\t{ type: 'application/x-bzip', ext: 'bz' },\n\t{ type: 'application/x-bzip2', ext: 'bz2' },\n\t{ type: 'application/pdf', ext: 'pdf' },\n\t{ type: 'application/java-archive', ext: 'jar' },\n\t{ type: 'application/msword', ext: 'doc' },\n\t{ type: 'application/vnd.ms-excel', ext: 'xls' },\n\t{ type: 'application/vnd.ms-excel', ext: 'xlsx' },\n\n\t{ type: 'message/rfc822', ext: 'eml' },\n];\n\nexport const isEmpty = (obj = {}) => Object.keys(obj).length === 0;\n\nexport const sortByField = (list, field, dir) => {\n\tif (!list || !list.sort) {\n\t\treturn false;\n\t}\n\n\tconst dirX = dir && dir === 'desc' ? -1 : 1;\n\tlist.sort(function(a, b) {\n\t\tconst a_val = a[field];\n\t\tconst b_val = b[field];\n\n\t\tif (typeof b_val === 'undefined') {\n\t\t\treturn typeof a_val === 'undefined' ? 0 : 1 * dirX;\n\t\t}\n\n\t\tif (typeof a_val === 'undefined') {\n\t\t\treturn -1 * dirX;\n\t\t}\n\n\t\tif (a_val < b_val) {\n\t\t\treturn -1 * dirX;\n\t\t}\n\t\tif (a_val > b_val) {\n\t\t\treturn 1 * dirX;\n\t\t}\n\n\t\treturn 0;\n\t});\n\n\treturn true;\n};\n\nexport const objectLessAttributes = (obj, less) => {\n\tconst ret = Object.assign({}, obj);\n\tif (less) {\n\t\tif (typeof less === 'string') {\n\t\t\tdelete ret[less];\n\t\t} else {\n\t\t\tless.forEach(attr => {\n\t\t\t\tdelete ret[attr];\n\t\t\t});\n\t\t}\n\t}\n\n\treturn ret;\n};\n\nexport const filenameToContentType = (\n\tfilename,\n\tdefVal = 'application/octet-stream'\n) => {\n\tconst name = filename.toLowerCase();\n\n\tconst filtered = MIME_MAP.filter(mime => name.endsWith('.' + mime.ext));\n\treturn filtered.length > 0 ? filtered[0].type : defVal;\n};\n\nexport const isTextFile = contentType => {\n\tconst type = contentType.toLowerCase();\n\tif (type.startsWith('text/')) {\n\t\treturn true;\n\t}\n\treturn (\n\t\t'application/json' === type ||\n\t\t'application/xml' === type ||\n\t\t'application/sh' === type\n\t);\n};\n\nexport const generateRandomString = () => {\n\tlet result = '';\n\tconst chars =\n\t\t'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\tfor (let i = 32; i > 0; i -= 1) {\n\t\tresult += chars[Math.floor(Math.random() * chars.length)];\n\t}\n\treturn result;\n};\n\nexport const makeQuerablePromise = promise => {\n\tif (promise.isResolved) return promise;\n\n\tlet isPending = true;\n\tlet isRejected = false;\n\tlet isFullfilled = false;\n\n\tconst result = promise.then(\n\t\tdata => {\n\t\t\tisFullfilled = true;\n\t\t\tisPending = false;\n\t\t\treturn data;\n\t\t},\n\t\te => {\n\t\t\tisRejected = true;\n\t\t\tisPending = false;\n\t\t\tthrow e;\n\t\t}\n\t);\n\n\tresult.isFullfilled = () => isFullfilled;\n\tresult.isPending = () => isPending;\n\tresult.isRejected = () => isRejected;\n\n\treturn result;\n};\n\nexport const isWebWorker = () => {\n\tif (typeof self === 'undefined') {\n\t\treturn false;\n\t}\n\tconst selfContext = self as { WorkerGlobalScope? };\n\treturn (\n\t\ttypeof selfContext.WorkerGlobalScope !== 'undefined' &&\n\t\tself instanceof selfContext.WorkerGlobalScope\n\t);\n};\n\nexport const browserOrNode = () => {\n\tconst isBrowser =\n\t\ttypeof window !== 'undefined' && typeof window.document !== 'undefined';\n\tconst isNode =\n\t\ttypeof process !== 'undefined' &&\n\t\tprocess.versions != null &&\n\t\tprocess.versions.node != null;\n\n\treturn {\n\t\tisBrowser,\n\t\tisNode,\n\t};\n};\n\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport const transferKeyToLowerCase = (\n\tobj,\n\twhiteListForItself = [],\n\twhiteListForChildren = []\n) => {\n\tif (!isStrictObject(obj)) return obj;\n\tconst ret = {};\n\n\tfor (const key in obj) {\n\t\tif (obj.hasOwnProperty(key)) {\n\t\t\tconst transferedKey = whiteListForItself.includes(key)\n\t\t\t\t? key\n\t\t\t\t: key[0].toLowerCase() + key.slice(1);\n\n\t\t\tret[transferedKey] = whiteListForChildren.includes(key)\n\t\t\t\t? obj[key]\n\t\t\t\t: transferKeyToLowerCase(\n\t\t\t\t\t\tobj[key],\n\t\t\t\t\t\twhiteListForItself,\n\t\t\t\t\t\twhiteListForChildren\n\t\t\t\t );\n\t\t}\n\t}\n\n\treturn ret;\n};\n\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport const transferKeyToUpperCase = (\n\tobj,\n\twhiteListForItself = [],\n\twhiteListForChildren = []\n) => {\n\tif (!isStrictObject(obj)) return obj;\n\tconst ret = {};\n\n\tfor (const key in obj) {\n\t\tif (obj.hasOwnProperty(key)) {\n\t\t\tconst transferredKey = whiteListForItself.includes(key)\n\t\t\t\t? key\n\t\t\t\t: key[0].toUpperCase() + key.slice(1);\n\n\t\t\tret[transferredKey] = whiteListForChildren.includes(key)\n\t\t\t\t? obj[key]\n\t\t\t\t: transferKeyToUpperCase(\n\t\t\t\t\t\tobj[key],\n\t\t\t\t\t\twhiteListForItself,\n\t\t\t\t\t\twhiteListForChildren\n\t\t\t\t );\n\t\t}\n\t}\n\treturn ret;\n};\n\n/**\n * Return true if the object is a strict object\n * which means it's not Array, Function, Number, String, Boolean or Null\n * @param obj the Object\n */\nexport const isStrictObject = obj => {\n\treturn (\n\t\tobj instanceof Object &&\n\t\t!(obj instanceof Array) &&\n\t\t!(obj instanceof Function) &&\n\t\t!(obj instanceof Number) &&\n\t\t!(obj instanceof String) &&\n\t\t!(obj instanceof Boolean)\n\t);\n};\n","import { DelayFunction } from '../types';\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nconst logger = new Logger('Util');\n\nexport class NonRetryableError extends Error {\n\tpublic readonly nonRetryable = true;\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t}\n}\n\nexport const isNonRetryableError = (obj: any): obj is NonRetryableError => {\n\tconst key: keyof NonRetryableError = 'nonRetryable';\n\treturn obj && obj[key];\n};\n\n/**\n * @private\n * Internal use of Amplify only\n */\nexport async function retry<T>(\n\tfunctionToRetry: (...args: any[]) => T,\n\targs: any[],\n\tdelayFn: DelayFunction,\n\tonTerminate?: Promise<void>\n): Promise<T> {\n\tif (typeof functionToRetry !== 'function') {\n\t\tthrow Error('functionToRetry must be a function');\n\t}\n\n\treturn new Promise(async (resolve, reject) => {\n\t\tlet attempt = 0;\n\t\tlet terminated = false;\n\t\tlet timeout: any;\n\t\tlet wakeUp: any = () => {}; // will be replaced with a resolver()\n\n\t\t// used after the loop if terminated while waiting for a timer.\n\t\tlet lastError: Error;\n\n\t\tonTerminate &&\n\t\t\tonTerminate.then(() => {\n\t\t\t\t// signal not to try anymore.\n\t\t\t\tterminated = true;\n\n\t\t\t\t// stop sleeping if we're sleeping.\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\twakeUp();\n\t\t\t});\n\n\t\twhile (!terminated) {\n\t\t\tattempt++;\n\n\t\t\tlogger.debug(\n\t\t\t\t`${\n\t\t\t\t\tfunctionToRetry.name\n\t\t\t\t} attempt #${attempt} with this vars: ${JSON.stringify(args)}`\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\treturn resolve(await functionToRetry(...args));\n\t\t\t} catch (err) {\n\t\t\t\tlastError = err;\n\t\t\t\tlogger.debug(`error on ${functionToRetry.name}`, err);\n\n\t\t\t\tif (isNonRetryableError(err)) {\n\t\t\t\t\tlogger.debug(`${functionToRetry.name} non retryable error`, err);\n\t\t\t\t\treturn reject(err);\n\t\t\t\t}\n\n\t\t\t\tconst retryIn = delayFn(attempt, args, err);\n\t\t\t\tlogger.debug(`${functionToRetry.name} retrying in ${retryIn} ms`);\n\n\t\t\t\t// we check `terminated` again here because it could have flipped\n\t\t\t\t// in the time it took `functionToRetry` to return.\n\t\t\t\tif (retryIn === false || terminated) {\n\t\t\t\t\treturn reject(err);\n\t\t\t\t} else {\n\t\t\t\t\tawait new Promise(r => {\n\t\t\t\t\t\twakeUp = r; // export wakeUp for onTerminate handling\n\t\t\t\t\t\ttimeout = setTimeout(wakeUp, retryIn);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// reached if terminated while waiting for a timer.\n\t\treject(lastError);\n\t});\n}\n\nconst MAX_DELAY_MS = 5 * 60 * 1000;\n\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(\n\tmaxDelayMs: number = MAX_DELAY_MS\n): DelayFunction {\n\tconst BASE_TIME_MS = 100;\n\tconst JITTER_FACTOR = 100;\n\n\treturn attempt => {\n\t\tconst delay = 2 ** attempt * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n\t\treturn delay > maxDelayMs ? false : delay;\n\t};\n}\n\n/**\n * @private\n * Internal use of Amplify only\n */\nexport const jitteredExponentialRetry = <T>(\n\tfunctionToRetry: (...args: any[]) => T,\n\targs: any[],\n\tmaxDelayMs: number = MAX_DELAY_MS,\n\tonTerminate?: Promise<void>\n): Promise<T> =>\n\tretry(functionToRetry, args, jitteredBackoff(maxDelayMs), onTerminate);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\n\nconst logger = new Logger('CognitoCredentials');\n\nconst waitForInit = new Promise((res, rej) => {\n\tif (!browserOrNode().isBrowser) {\n\t\tlogger.debug('not in the browser, directly resolved');\n\t\treturn res();\n\t}\n\tconst ga =\n\t\twindow['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n\tif (ga) {\n\t\tlogger.debug('google api already loaded');\n\t\treturn res();\n\t} else {\n\t\tsetTimeout(() => {\n\t\t\treturn res();\n\t\t}, 2000);\n\t}\n});\n\nexport class GoogleOAuth {\n\tpublic initialized = false;\n\n\tconstructor() {\n\t\tthis.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n\t\tthis._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n\t}\n\n\tpublic async refreshGoogleToken() {\n\t\tif (!this.initialized) {\n\t\t\tlogger.debug('need to wait for the Google SDK loaded');\n\t\t\tawait waitForInit;\n\t\t\tthis.initialized = true;\n\t\t\tlogger.debug('finish waiting');\n\t\t}\n\n\t\treturn this._refreshGoogleTokenImpl();\n\t}\n\n\tprivate _refreshGoogleTokenImpl() {\n\t\tlet ga = null;\n\t\tif (browserOrNode().isBrowser)\n\t\t\tga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n\t\tif (!ga) {\n\t\t\tlogger.debug('no gapi auth2 available');\n\t\t\treturn Promise.reject('no gapi auth2 available');\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tga.getAuthInstance()\n\t\t\t\t.then(googleAuth => {\n\t\t\t\t\tif (!googleAuth) {\n\t\t\t\t\t\tlogger.debug('google Auth undefined');\n\t\t\t\t\t\trej(new NonRetryableError('google Auth undefined'));\n\t\t\t\t\t}\n\n\t\t\t\t\tconst googleUser = googleAuth.currentUser.get();\n\t\t\t\t\t// refresh the token\n\t\t\t\t\tif (googleUser.isSignedIn()) {\n\t\t\t\t\t\tlogger.debug('refreshing the google access token');\n\t\t\t\t\t\tgoogleUser\n\t\t\t\t\t\t\t.reloadAuthResponse()\n\t\t\t\t\t\t\t.then(authResponse => {\n\t\t\t\t\t\t\t\tconst { id_token, expires_at } = authResponse;\n\t\t\t\t\t\t\t\tres({ token: id_token, expires_at });\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(err => {\n\t\t\t\t\t\t\t\tif (err && err.error === 'network_error') {\n\t\t\t\t\t\t\t\t\t// Not using NonRetryableError so handler will be retried\n\t\t\t\t\t\t\t\t\trej('Network error reloading google auth response');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew NonRetryableError(\n\t\t\t\t\t\t\t\t\t\t\t'Failed to reload google auth response'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(new NonRetryableError('User is not signed in with Google'));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tlogger.debug('Failed to refresh google token', err);\n\t\t\t\t\trej(new NonRetryableError('Failed to refresh google token'));\n\t\t\t\t});\n\t\t});\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\n\nconst logger = new Logger('CognitoCredentials');\n\nconst waitForInit = new Promise((res, rej) => {\n\tif (!browserOrNode().isBrowser) {\n\t\tlogger.debug('not in the browser, directly resolved');\n\t\treturn res();\n\t}\n\tconst fb = window['FB'];\n\tif (fb) {\n\t\tlogger.debug('FB SDK already loaded');\n\t\treturn res();\n\t} else {\n\t\tsetTimeout(() => {\n\t\t\treturn res();\n\t\t}, 2000);\n\t}\n});\n\nexport class FacebookOAuth {\n\tpublic initialized = false;\n\n\tconstructor() {\n\t\tthis.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n\t\tthis._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n\t}\n\n\tpublic async refreshFacebookToken() {\n\t\tif (!this.initialized) {\n\t\t\tlogger.debug('need to wait for the Facebook SDK loaded');\n\t\t\tawait waitForInit;\n\t\t\tthis.initialized = true;\n\t\t\tlogger.debug('finish waiting');\n\t\t}\n\n\t\treturn this._refreshFacebookTokenImpl();\n\t}\n\n\tprivate _refreshFacebookTokenImpl() {\n\t\tlet fb = null;\n\t\tif (browserOrNode().isBrowser) fb = window['FB'];\n\t\tif (!fb) {\n\t\t\tconst errorMessage = 'no fb sdk available';\n\t\t\tlogger.debug(errorMessage);\n\t\t\treturn Promise.reject(new NonRetryableError(errorMessage));\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tfb.getLoginStatus(\n\t\t\t\tfbResponse => {\n\t\t\t\t\tif (!fbResponse || !fbResponse.authResponse) {\n\t\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\t\t'no response from facebook when refreshing the jwt token';\n\t\t\t\t\t\tlogger.debug(errorMessage);\n\t\t\t\t\t\t// There is no definitive indication for a network error in\n\t\t\t\t\t\t// fbResponse, so we are treating it as an invalid token.\n\t\t\t\t\t\trej(new NonRetryableError(errorMessage));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst response = fbResponse.authResponse;\n\t\t\t\t\t\tconst { accessToken, expiresIn } = response;\n\t\t\t\t\t\tconst date = new Date();\n\t\t\t\t\t\tconst expires_at = expiresIn * 1000 + date.getTime();\n\t\t\t\t\t\tif (!accessToken) {\n\t\t\t\t\t\t\tconst errorMessage = 'the jwtToken is undefined';\n\t\t\t\t\t\t\tlogger.debug(errorMessage);\n\t\t\t\t\t\t\trej(new NonRetryableError(errorMessage));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tres({\n\t\t\t\t\t\t\ttoken: accessToken,\n\t\t\t\t\t\t\texpires_at,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ scope: 'public_profile,email' }\n\t\t\t);\n\t\t});\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\n\nexport const GoogleOAuth = new GoogleOAuthClass();\nexport const FacebookOAuth = new FacebookOAuthClass();\n","import { ConsoleLogger as LoggerClass } from './Logger';\n\nconst logger = new LoggerClass('Amplify');\n\nexport class AmplifyClass {\n\t// Everything that is `register`ed is tracked here\n\tprivate _components = [];\n\tprivate _config = {};\n\n\t// All modules (with `getModuleName()`) are stored here for dependency injection\n\tprivate _modules = {};\n\n\t// for backward compatibility to avoid breaking change\n\t// if someone is using like Amplify.Auth\n\tAuth = null;\n\tAnalytics = null;\n\tAPI = null;\n\tCredentials = null;\n\tStorage = null;\n\tI18n = null;\n\tCache = null;\n\tPubSub = null;\n\tInteractions = null;\n\tPushnotification = null;\n\tUI = null;\n\tXR = null;\n\tPredictions = null;\n\tDataStore = null;\n\tGeo = null;\n\tNotifications = null;\n\n\tLogger = LoggerClass;\n\tServiceWorker = null;\n\n\tregister(comp) {\n\t\tlogger.debug('component registered in amplify', comp);\n\t\tthis._components.push(comp);\n\t\tif (typeof comp.getModuleName === 'function') {\n\t\t\tthis._modules[comp.getModuleName()] = comp;\n\t\t\tthis[comp.getModuleName()] = comp;\n\t\t} else {\n\t\t\tlogger.debug('no getModuleName method for component', comp);\n\t\t}\n\n\t\t// Finally configure this new component(category) loaded\n\t\t// With the new modularization changes in Amplify V3, all the Amplify\n\t\t// component are not loaded/registered right away but when they are\n\t\t// imported (and hence instantiated) in the client's app. This ensures\n\t\t// that all new components imported get correctly configured with the\n\t\t// configuration that Amplify.configure() was called with.\n\t\tcomp.configure(this._config);\n\t}\n\n\tconfigure(config?) {\n\t\tif (!config) return this._config;\n\n\t\tthis._config = Object.assign(this._config, config);\n\t\tlogger.debug('amplify config', this._config);\n\n\t\t// Dependency Injection via property-setting.\n\t\t// This avoids introducing a public method/interface/setter that's difficult to remove later.\n\t\t// Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n\t\tObject.entries(this._modules).forEach(([Name, comp]) => {\n\t\t\t// e.g. Auth.*\n\t\t\tObject.keys(comp).forEach(property => {\n\t\t\t\t// e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n\t\t\t\tif (this._modules[property]) {\n\t\t\t\t\tcomp[property] = this._modules[property];\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis._components.map(comp => {\n\t\t\tcomp.configure(this._config);\n\t\t});\n\n\t\treturn this._config;\n\t}\n\n\taddPluggable(pluggable) {\n\t\tif (\n\t\t\tpluggable &&\n\t\t\tpluggable['getCategory'] &&\n\t\t\ttypeof pluggable['getCategory'] === 'function'\n\t\t) {\n\t\t\tthis._components.map(comp => {\n\t\t\t\tif (\n\t\t\t\t\tcomp['addPluggable'] &&\n\t\t\t\t\ttypeof comp['addPluggable'] === 'function'\n\t\t\t\t) {\n\t\t\t\t\tcomp.addPluggable(pluggable);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport const Amplify = new AmplifyClass();\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { SmithyException as __SmithyException } from \"@aws-sdk/smithy-client\";\nimport { MetadataBearer as $MetadataBearer } from \"@aws-sdk/types\";\n\nexport enum AmbiguousRoleResolutionType {\n AUTHENTICATED_ROLE = \"AuthenticatedRole\",\n DENY = \"Deny\",\n}\n\n/**\n * <p>A provider representing an Amazon Cognito user pool and its client ID.</p>\n */\nexport interface CognitoIdentityProvider {\n /**\n * <p>The provider name for an Amazon Cognito user pool. For example,\n * <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.</p>\n */\n ProviderName?: string;\n\n /**\n * <p>The client ID for the Amazon Cognito user pool.</p>\n */\n ClientId?: string;\n\n /**\n * <p>TRUE if server-side token validation is enabled for the identity provider’s\n * token.</p>\n * <p>Once you set <code>ServerSideTokenCheck</code> to TRUE for an identity pool, that\n * identity pool will check with the integrated user pools to make sure that the user has not\n * been globally signed out or deleted before the identity pool provides an OIDC token or AWS\n * credentials for the user.</p>\n * <p>If the user is signed out or deleted, the identity pool will return a 400 Not\n * Authorized error.</p>\n */\n ServerSideTokenCheck?: boolean;\n}\n\nexport namespace CognitoIdentityProvider {\n export const filterSensitiveLog = (obj: CognitoIdentityProvider): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the CreateIdentityPool action.</p>\n */\nexport interface CreateIdentityPoolInput {\n /**\n * <p>A string that you provide.</p>\n */\n IdentityPoolName: string | undefined;\n\n /**\n * <p>TRUE if the identity pool supports unauthenticated logins.</p>\n */\n AllowUnauthenticatedIdentities: boolean | undefined;\n\n /**\n * <p>Enables or disables the Basic (Classic) authentication flow. For more information, see\n * <a href=\"https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html\">Identity Pools (Federated Identities) Authentication Flow</a> in the <i>Amazon Cognito Developer Guide</i>.</p>\n */\n AllowClassicFlow?: boolean;\n\n /**\n * <p>Optional key:value pairs mapping provider names to provider app IDs.</p>\n */\n SupportedLoginProviders?: { [key: string]: string };\n\n /**\n * <p>The \"domain\" by which Cognito will refer to your users. This name acts as a\n * placeholder that allows your backend and the Cognito service to communicate about the\n * developer provider. For the <code>DeveloperProviderName</code>, you can use letters as well\n * as period (<code>.</code>), underscore (<code>_</code>), and dash\n * (<code>-</code>).</p>\n * <p>Once you have set a developer provider name, you cannot change it. Please take care\n * in setting this parameter.</p>\n */\n DeveloperProviderName?: string;\n\n /**\n * <p>A list of OpendID Connect provider ARNs.</p>\n */\n OpenIdConnectProviderARNs?: string[];\n\n /**\n * <p>An array of Amazon Cognito user pools and their client IDs.</p>\n */\n CognitoIdentityProviders?: CognitoIdentityProvider[];\n\n /**\n * <p>An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n * pool.</p>\n */\n SamlProviderARNs?: string[];\n\n /**\n * <p>Tags to assign to the identity pool. A tag is a label that you can apply to identity\n * pools to categorize and manage them in different ways, such as by purpose, owner,\n * environment, or other criteria.</p>\n */\n IdentityPoolTags?: { [key: string]: string };\n}\n\nexport namespace CreateIdentityPoolInput {\n export const filterSensitiveLog = (obj: CreateIdentityPoolInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>An object representing an Amazon Cognito identity pool.</p>\n */\nexport interface IdentityPool {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>A string that you provide.</p>\n */\n IdentityPoolName: string | undefined;\n\n /**\n * <p>TRUE if the identity pool supports unauthenticated logins.</p>\n */\n AllowUnauthenticatedIdentities: boolean | undefined;\n\n /**\n * <p>Enables or disables the Basic (Classic) authentication flow. For more information, see\n * <a href=\"https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html\">Identity Pools (Federated Identities) Authentication Flow</a> in the <i>Amazon Cognito Developer Guide</i>.</p>\n */\n AllowClassicFlow?: boolean;\n\n /**\n * <p>Optional key:value pairs mapping provider names to provider app IDs.</p>\n */\n SupportedLoginProviders?: { [key: string]: string };\n\n /**\n * <p>The \"domain\" by which Cognito will refer to your users.</p>\n */\n DeveloperProviderName?: string;\n\n /**\n * <p>A list of OpendID Connect provider ARNs.</p>\n */\n OpenIdConnectProviderARNs?: string[];\n\n /**\n * <p>A list representing an Amazon Cognito user pool and its client ID.</p>\n */\n CognitoIdentityProviders?: CognitoIdentityProvider[];\n\n /**\n * <p>An array of Amazon Resource Names (ARNs) of the SAML provider for your identity\n * pool.</p>\n */\n SamlProviderARNs?: string[];\n\n /**\n * <p>The tags that are assigned to the identity pool. A tag is a label that you can apply to\n * identity pools to categorize and manage them in different ways, such as by purpose, owner,\n * environment, or other criteria.</p>\n */\n IdentityPoolTags?: { [key: string]: string };\n}\n\nexport namespace IdentityPool {\n export const filterSensitiveLog = (obj: IdentityPool): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown when the service encounters an error during processing the request.</p>\n */\nexport interface InternalErrorException extends __SmithyException, $MetadataBearer {\n name: \"InternalErrorException\";\n $fault: \"server\";\n /**\n * <p>The message returned by an InternalErrorException.</p>\n */\n message?: string;\n}\n\nexport namespace InternalErrorException {\n export const filterSensitiveLog = (obj: InternalErrorException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown for missing or bad input parameter(s).</p>\n */\nexport interface InvalidParameterException extends __SmithyException, $MetadataBearer {\n name: \"InvalidParameterException\";\n $fault: \"client\";\n /**\n * <p>The message returned by an InvalidParameterException.</p>\n */\n message?: string;\n}\n\nexport namespace InvalidParameterException {\n export const filterSensitiveLog = (obj: InvalidParameterException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown when the total number of user pools has exceeded a preset limit.</p>\n */\nexport interface LimitExceededException extends __SmithyException, $MetadataBearer {\n name: \"LimitExceededException\";\n $fault: \"client\";\n /**\n * <p>The message returned by a LimitExceededException.</p>\n */\n message?: string;\n}\n\nexport namespace LimitExceededException {\n export const filterSensitiveLog = (obj: LimitExceededException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown when a user is not authorized to access the requested resource.</p>\n */\nexport interface NotAuthorizedException extends __SmithyException, $MetadataBearer {\n name: \"NotAuthorizedException\";\n $fault: \"client\";\n /**\n * <p>The message returned by a NotAuthorizedException</p>\n */\n message?: string;\n}\n\nexport namespace NotAuthorizedException {\n export const filterSensitiveLog = (obj: NotAuthorizedException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown when a user tries to use a login which is already linked to another\n * account.</p>\n */\nexport interface ResourceConflictException extends __SmithyException, $MetadataBearer {\n name: \"ResourceConflictException\";\n $fault: \"client\";\n /**\n * <p>The message returned by a ResourceConflictException.</p>\n */\n message?: string;\n}\n\nexport namespace ResourceConflictException {\n export const filterSensitiveLog = (obj: ResourceConflictException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown when a request is throttled.</p>\n */\nexport interface TooManyRequestsException extends __SmithyException, $MetadataBearer {\n name: \"TooManyRequestsException\";\n $fault: \"client\";\n /**\n * <p>Message returned by a TooManyRequestsException</p>\n */\n message?: string;\n}\n\nexport namespace TooManyRequestsException {\n export const filterSensitiveLog = (obj: TooManyRequestsException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>DeleteIdentities</code> action.</p>\n */\nexport interface DeleteIdentitiesInput {\n /**\n * <p>A list of 1-60 identities that you want to delete.</p>\n */\n IdentityIdsToDelete: string[] | undefined;\n}\n\nexport namespace DeleteIdentitiesInput {\n export const filterSensitiveLog = (obj: DeleteIdentitiesInput): any => ({\n ...obj,\n });\n}\n\nexport enum ErrorCode {\n ACCESS_DENIED = \"AccessDenied\",\n INTERNAL_SERVER_ERROR = \"InternalServerError\",\n}\n\n/**\n * <p>An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and\n * IdentityId.</p>\n */\nexport interface UnprocessedIdentityId {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>The error code indicating the type of error that occurred.</p>\n */\n ErrorCode?: ErrorCode | string;\n}\n\nexport namespace UnprocessedIdentityId {\n export const filterSensitiveLog = (obj: UnprocessedIdentityId): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful <code>DeleteIdentities</code>\n * operation.</p>\n */\nexport interface DeleteIdentitiesResponse {\n /**\n * <p>An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and\n * IdentityId.</p>\n */\n UnprocessedIdentityIds?: UnprocessedIdentityId[];\n}\n\nexport namespace DeleteIdentitiesResponse {\n export const filterSensitiveLog = (obj: DeleteIdentitiesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the DeleteIdentityPool action.</p>\n */\nexport interface DeleteIdentityPoolInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace DeleteIdentityPoolInput {\n export const filterSensitiveLog = (obj: DeleteIdentityPoolInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown when the requested resource (for example, a dataset or record) does not\n * exist.</p>\n */\nexport interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {\n name: \"ResourceNotFoundException\";\n $fault: \"client\";\n /**\n * <p>The message returned by a ResourceNotFoundException.</p>\n */\n message?: string;\n}\n\nexport namespace ResourceNotFoundException {\n export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>DescribeIdentity</code> action.</p>\n */\nexport interface DescribeIdentityInput {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId: string | undefined;\n}\n\nexport namespace DescribeIdentityInput {\n export const filterSensitiveLog = (obj: DescribeIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>A description of the identity.</p>\n */\nexport interface IdentityDescription {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>The provider names.</p>\n */\n Logins?: string[];\n\n /**\n * <p>Date on which the identity was created.</p>\n */\n CreationDate?: Date;\n\n /**\n * <p>Date on which the identity was last modified.</p>\n */\n LastModifiedDate?: Date;\n}\n\nexport namespace IdentityDescription {\n export const filterSensitiveLog = (obj: IdentityDescription): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the DescribeIdentityPool action.</p>\n */\nexport interface DescribeIdentityPoolInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace DescribeIdentityPoolInput {\n export const filterSensitiveLog = (obj: DescribeIdentityPoolInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>An exception thrown when a dependent service such as Facebook or Twitter is not\n * responding</p>\n */\nexport interface ExternalServiceException extends __SmithyException, $MetadataBearer {\n name: \"ExternalServiceException\";\n $fault: \"client\";\n /**\n * <p>The message returned by an ExternalServiceException</p>\n */\n message?: string;\n}\n\nexport namespace ExternalServiceException {\n export const filterSensitiveLog = (obj: ExternalServiceException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>GetCredentialsForIdentity</code> action.</p>\n */\nexport interface GetCredentialsForIdentityInput {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId: string | undefined;\n\n /**\n * <p>A set of optional name-value pairs that map provider names to provider tokens. The\n * name-value pair will follow the syntax \"provider_name\":\n * \"provider_user_identifier\".</p>\n * <p>Logins should not be specified when trying to get credentials for an unauthenticated\n * identity.</p>\n * <p>The Logins parameter is required when using identities associated with external\n * identity providers such as FaceBook. For examples of <code>Logins</code> maps, see the code\n * examples in the <a href=\"http://docs.aws.amazon.com/cognito/latest/developerguide/external-identity-providers.html\">External Identity Providers</a> section of the Amazon Cognito Developer\n * Guide.</p>\n */\n Logins?: { [key: string]: string };\n\n /**\n * <p>The Amazon Resource Name (ARN) of the role to be assumed when multiple roles were\n * received in the token from the identity provider. For example, a SAML-based identity\n * provider. This parameter is optional for identity providers that do not support role\n * customization.</p>\n */\n CustomRoleArn?: string;\n}\n\nexport namespace GetCredentialsForIdentityInput {\n export const filterSensitiveLog = (obj: GetCredentialsForIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Credentials for the provided identity ID.</p>\n */\nexport interface Credentials {\n /**\n * <p>The Access Key portion of the credentials.</p>\n */\n AccessKeyId?: string;\n\n /**\n * <p>The Secret Access Key portion of the credentials</p>\n */\n SecretKey?: string;\n\n /**\n * <p>The Session Token portion of the credentials</p>\n */\n SessionToken?: string;\n\n /**\n * <p>The date at which these credentials will expire.</p>\n */\n Expiration?: Date;\n}\n\nexport namespace Credentials {\n export const filterSensitiveLog = (obj: Credentials): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful <code>GetCredentialsForIdentity</code>\n * operation.</p>\n */\nexport interface GetCredentialsForIdentityResponse {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>Credentials for the provided identity ID.</p>\n */\n Credentials?: Credentials;\n}\n\nexport namespace GetCredentialsForIdentityResponse {\n export const filterSensitiveLog = (obj: GetCredentialsForIdentityResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown if the identity pool has no role associated for the given auth type\n * (auth/unauth) or if the AssumeRole fails.</p>\n */\nexport interface InvalidIdentityPoolConfigurationException extends __SmithyException, $MetadataBearer {\n name: \"InvalidIdentityPoolConfigurationException\";\n $fault: \"client\";\n /**\n * <p>The message returned for an <code>InvalidIdentityPoolConfigurationException</code>\n * </p>\n */\n message?: string;\n}\n\nexport namespace InvalidIdentityPoolConfigurationException {\n export const filterSensitiveLog = (obj: InvalidIdentityPoolConfigurationException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the GetId action.</p>\n */\nexport interface GetIdInput {\n /**\n * <p>A standard AWS account ID (9+ digits).</p>\n */\n AccountId?: string;\n\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>A set of optional name-value pairs that map provider names to provider tokens. The\n * available provider names for <code>Logins</code> are as follows:</p>\n * <ul>\n * <li>\n * <p>Facebook: <code>graph.facebook.com</code>\n * </p>\n * </li>\n * <li>\n * <p>Amazon Cognito user pool:\n * <code>cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID></code>,\n * for example, <code>cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789</code>.\n * </p>\n * </li>\n * <li>\n * <p>Google: <code>accounts.google.com</code>\n * </p>\n * </li>\n * <li>\n * <p>Amazon: <code>www.amazon.com</code>\n * </p>\n * </li>\n * <li>\n * <p>Twitter: <code>api.twitter.com</code>\n * </p>\n * </li>\n * <li>\n * <p>Digits: <code>www.digits.com</code>\n * </p>\n * </li>\n * </ul>\n */\n Logins?: { [key: string]: string };\n}\n\nexport namespace GetIdInput {\n export const filterSensitiveLog = (obj: GetIdInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a GetId request.</p>\n */\nexport interface GetIdResponse {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n}\n\nexport namespace GetIdResponse {\n export const filterSensitiveLog = (obj: GetIdResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>GetIdentityPoolRoles</code> action.</p>\n */\nexport interface GetIdentityPoolRolesInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace GetIdentityPoolRolesInput {\n export const filterSensitiveLog = (obj: GetIdentityPoolRolesInput): any => ({\n ...obj,\n });\n}\n\nexport enum MappingRuleMatchType {\n CONTAINS = \"Contains\",\n EQUALS = \"Equals\",\n NOT_EQUAL = \"NotEqual\",\n STARTS_WITH = \"StartsWith\",\n}\n\n/**\n * <p>A rule that maps a claim name, a claim value, and a match type to a role\n * ARN.</p>\n */\nexport interface MappingRule {\n /**\n * <p>The claim name that must be present in the token, for example, \"isAdmin\" or\n * \"paid\".</p>\n */\n Claim: string | undefined;\n\n /**\n * <p>The match condition that specifies how closely the claim value in the IdP token must\n * match <code>Value</code>.</p>\n */\n MatchType: MappingRuleMatchType | string | undefined;\n\n /**\n * <p>A brief string that the claim must match, for example, \"paid\" or \"yes\".</p>\n */\n Value: string | undefined;\n\n /**\n * <p>The role ARN.</p>\n */\n RoleARN: string | undefined;\n}\n\nexport namespace MappingRule {\n export const filterSensitiveLog = (obj: MappingRule): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>A container for rules.</p>\n */\nexport interface RulesConfigurationType {\n /**\n * <p>An array of rules. You can specify up to 25 rules per identity provider.</p>\n * <p>Rules are evaluated in order. The first one to match specifies the role.</p>\n */\n Rules: MappingRule[] | undefined;\n}\n\nexport namespace RulesConfigurationType {\n export const filterSensitiveLog = (obj: RulesConfigurationType): any => ({\n ...obj,\n });\n}\n\nexport enum RoleMappingType {\n RULES = \"Rules\",\n TOKEN = \"Token\",\n}\n\n/**\n * <p>A role mapping.</p>\n */\nexport interface RoleMapping {\n /**\n * <p>The role mapping type. Token will use <code>cognito:roles</code> and\n * <code>cognito:preferred_role</code> claims from the Cognito identity provider token to\n * map groups to roles. Rules will attempt to match claims from the token to map to a\n * role.</p>\n */\n Type: RoleMappingType | string | undefined;\n\n /**\n * <p>If you specify Token or Rules as the <code>Type</code>,\n * <code>AmbiguousRoleResolution</code> is required.</p>\n * <p>Specifies the action to be taken if either no rules match the claim value for the\n * <code>Rules</code> type, or there is no <code>cognito:preferred_role</code> claim and\n * there are multiple <code>cognito:roles</code> matches for the <code>Token</code>\n * type.</p>\n */\n AmbiguousRoleResolution?: AmbiguousRoleResolutionType | string;\n\n /**\n * <p>The rules to be used for mapping users to roles.</p>\n * <p>If you specify Rules as the role mapping type, <code>RulesConfiguration</code> is\n * required.</p>\n */\n RulesConfiguration?: RulesConfigurationType;\n}\n\nexport namespace RoleMapping {\n export const filterSensitiveLog = (obj: RoleMapping): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful <code>GetIdentityPoolRoles</code>\n * operation.</p>\n */\nexport interface GetIdentityPoolRolesResponse {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId?: string;\n\n /**\n * <p>The map of roles associated with this pool. Currently only authenticated and\n * unauthenticated roles are supported.</p>\n */\n Roles?: { [key: string]: string };\n\n /**\n * <p>How users for a specific identity provider are to mapped to roles. This is a\n * String-to-<a>RoleMapping</a> object map. The string identifies the identity\n * provider, for example, \"graph.facebook.com\" or\n * \"cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".</p>\n */\n RoleMappings?: { [key: string]: RoleMapping };\n}\n\nexport namespace GetIdentityPoolRolesResponse {\n export const filterSensitiveLog = (obj: GetIdentityPoolRolesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the GetOpenIdToken action.</p>\n */\nexport interface GetOpenIdTokenInput {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId: string | undefined;\n\n /**\n * <p>A set of optional name-value pairs that map provider names to provider tokens. When\n * using graph.facebook.com and www.amazon.com, supply the access_token returned from the\n * provider's authflow. For accounts.google.com, an Amazon Cognito user pool provider, or any\n * other OpenId Connect provider, always include the <code>id_token</code>.</p>\n */\n Logins?: { [key: string]: string };\n}\n\nexport namespace GetOpenIdTokenInput {\n export const filterSensitiveLog = (obj: GetOpenIdTokenInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful GetOpenIdToken request.</p>\n */\nexport interface GetOpenIdTokenResponse {\n /**\n * <p>A unique identifier in the format REGION:GUID. Note that the IdentityId returned may\n * not match the one passed on input.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>An OpenID token, valid for 10 minutes.</p>\n */\n Token?: string;\n}\n\nexport namespace GetOpenIdTokenResponse {\n export const filterSensitiveLog = (obj: GetOpenIdTokenResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>The provided developer user identifier is already registered with Cognito under a\n * different identity ID.</p>\n */\nexport interface DeveloperUserAlreadyRegisteredException extends __SmithyException, $MetadataBearer {\n name: \"DeveloperUserAlreadyRegisteredException\";\n $fault: \"client\";\n /**\n * <p>This developer user identifier is already registered with Cognito.</p>\n */\n message?: string;\n}\n\nexport namespace DeveloperUserAlreadyRegisteredException {\n export const filterSensitiveLog = (obj: DeveloperUserAlreadyRegisteredException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>GetOpenIdTokenForDeveloperIdentity</code> action.</p>\n */\nexport interface GetOpenIdTokenForDeveloperIdentityInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>A set of optional name-value pairs that map provider names to provider tokens. Each\n * name-value pair represents a user from a public provider or developer provider. If the user\n * is from a developer provider, the name-value pair will follow the syntax\n * <code>\"developer_provider_name\": \"developer_user_identifier\"</code>. The developer\n * provider is the \"domain\" by which Cognito will refer to your users; you provided this\n * domain while creating/updating the identity pool. The developer user identifier is an\n * identifier from your backend that uniquely identifies a user. When you create an identity\n * pool, you can specify the supported logins.</p>\n */\n Logins: { [key: string]: string } | undefined;\n\n /**\n * <p>The expiration time of the token, in seconds. You can specify a custom expiration\n * time for the token so that you can cache it. If you don't provide an expiration time, the\n * token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS\n * credentials, which are valid for a maximum of one hour. The maximum token duration you can\n * set is 24 hours. You should take care in setting the expiration time for a token, as there\n * are significant security implications: an attacker could use a leaked token to access your\n * AWS resources for the token's duration.</p>\n * <note>\n * <p>Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew.</p>\n * </note>\n */\n TokenDuration?: number;\n}\n\nexport namespace GetOpenIdTokenForDeveloperIdentityInput {\n export const filterSensitiveLog = (obj: GetOpenIdTokenForDeveloperIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful <code>GetOpenIdTokenForDeveloperIdentity</code>\n * request.</p>\n */\nexport interface GetOpenIdTokenForDeveloperIdentityResponse {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>An OpenID token.</p>\n */\n Token?: string;\n}\n\nexport namespace GetOpenIdTokenForDeveloperIdentityResponse {\n export const filterSensitiveLog = (obj: GetOpenIdTokenForDeveloperIdentityResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the ListIdentities action.</p>\n */\nexport interface ListIdentitiesInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>The maximum number of identities to return.</p>\n */\n MaxResults: number | undefined;\n\n /**\n * <p>A pagination token.</p>\n */\n NextToken?: string;\n\n /**\n * <p>An optional boolean parameter that allows you to hide disabled identities. If\n * omitted, the ListIdentities API will include disabled identities in the response.</p>\n */\n HideDisabled?: boolean;\n}\n\nexport namespace ListIdentitiesInput {\n export const filterSensitiveLog = (obj: ListIdentitiesInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>The response to a ListIdentities request.</p>\n */\nexport interface ListIdentitiesResponse {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId?: string;\n\n /**\n * <p>An object containing a set of identities and associated mappings.</p>\n */\n Identities?: IdentityDescription[];\n\n /**\n * <p>A pagination token.</p>\n */\n NextToken?: string;\n}\n\nexport namespace ListIdentitiesResponse {\n export const filterSensitiveLog = (obj: ListIdentitiesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the ListIdentityPools action.</p>\n */\nexport interface ListIdentityPoolsInput {\n /**\n * <p>The maximum number of identities to return.</p>\n */\n MaxResults: number | undefined;\n\n /**\n * <p>A pagination token.</p>\n */\n NextToken?: string;\n}\n\nexport namespace ListIdentityPoolsInput {\n export const filterSensitiveLog = (obj: ListIdentityPoolsInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>A description of the identity pool.</p>\n */\nexport interface IdentityPoolShortDescription {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId?: string;\n\n /**\n * <p>A string that you provide.</p>\n */\n IdentityPoolName?: string;\n}\n\nexport namespace IdentityPoolShortDescription {\n export const filterSensitiveLog = (obj: IdentityPoolShortDescription): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>The result of a successful ListIdentityPools action.</p>\n */\nexport interface ListIdentityPoolsResponse {\n /**\n * <p>The identity pools returned by the ListIdentityPools action.</p>\n */\n IdentityPools?: IdentityPoolShortDescription[];\n\n /**\n * <p>A pagination token.</p>\n */\n NextToken?: string;\n}\n\nexport namespace ListIdentityPoolsResponse {\n export const filterSensitiveLog = (obj: ListIdentityPoolsResponse): any => ({\n ...obj,\n });\n}\n\nexport interface ListTagsForResourceInput {\n /**\n * <p>The Amazon Resource Name (ARN) of the identity pool that the tags are assigned\n * to.</p>\n */\n ResourceArn: string | undefined;\n}\n\nexport namespace ListTagsForResourceInput {\n export const filterSensitiveLog = (obj: ListTagsForResourceInput): any => ({\n ...obj,\n });\n}\n\nexport interface ListTagsForResourceResponse {\n /**\n * <p>The tags that are assigned to the identity pool.</p>\n */\n Tags?: { [key: string]: string };\n}\n\nexport namespace ListTagsForResourceResponse {\n export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>LookupDeveloperIdentityInput</code> action.</p>\n */\nexport interface LookupDeveloperIdentityInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>A unique ID used by your backend authentication process to identify a user.\n * Typically, a developer identity provider would issue many developer user identifiers, in\n * keeping with the number of users.</p>\n */\n DeveloperUserIdentifier?: string;\n\n /**\n * <p>The maximum number of identities to return.</p>\n */\n MaxResults?: number;\n\n /**\n * <p>A pagination token. The first call you make will have <code>NextToken</code> set to\n * null. After that the service will return <code>NextToken</code> values as needed. For\n * example, let's say you make a request with <code>MaxResults</code> set to 10, and there are\n * 20 matches in the database. The service will return a pagination token as a part of the\n * response. This token can be used to call the API again and get results starting from the\n * 11th match.</p>\n */\n NextToken?: string;\n}\n\nexport namespace LookupDeveloperIdentityInput {\n export const filterSensitiveLog = (obj: LookupDeveloperIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful <code>LookupDeveloperIdentity</code>\n * action.</p>\n */\nexport interface LookupDeveloperIdentityResponse {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n\n /**\n * <p>This is the list of developer user identifiers associated with an identity ID.\n * Cognito supports the association of multiple developer user identifiers with an identity\n * ID.</p>\n */\n DeveloperUserIdentifierList?: string[];\n\n /**\n * <p>A pagination token. The first call you make will have <code>NextToken</code> set to\n * null. After that the service will return <code>NextToken</code> values as needed. For\n * example, let's say you make a request with <code>MaxResults</code> set to 10, and there are\n * 20 matches in the database. The service will return a pagination token as a part of the\n * response. This token can be used to call the API again and get results starting from the\n * 11th match.</p>\n */\n NextToken?: string;\n}\n\nexport namespace LookupDeveloperIdentityResponse {\n export const filterSensitiveLog = (obj: LookupDeveloperIdentityResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>MergeDeveloperIdentities</code> action.</p>\n */\nexport interface MergeDeveloperIdentitiesInput {\n /**\n * <p>User identifier for the source user. The value should be a\n * <code>DeveloperUserIdentifier</code>.</p>\n */\n SourceUserIdentifier: string | undefined;\n\n /**\n * <p>User identifier for the destination user. The value should be a\n * <code>DeveloperUserIdentifier</code>.</p>\n */\n DestinationUserIdentifier: string | undefined;\n\n /**\n * <p>The \"domain\" by which Cognito will refer to your users. This is a (pseudo) domain\n * name that you provide while creating an identity pool. This name acts as a placeholder that\n * allows your backend and the Cognito service to communicate about the developer provider.\n * For the <code>DeveloperProviderName</code>, you can use letters as well as period (.),\n * underscore (_), and dash (-).</p>\n */\n DeveloperProviderName: string | undefined;\n\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n}\n\nexport namespace MergeDeveloperIdentitiesInput {\n export const filterSensitiveLog = (obj: MergeDeveloperIdentitiesInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Returned in response to a successful <code>MergeDeveloperIdentities</code>\n * action.</p>\n */\nexport interface MergeDeveloperIdentitiesResponse {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId?: string;\n}\n\nexport namespace MergeDeveloperIdentitiesResponse {\n export const filterSensitiveLog = (obj: MergeDeveloperIdentitiesResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Thrown if there are parallel requests to modify a resource.</p>\n */\nexport interface ConcurrentModificationException extends __SmithyException, $MetadataBearer {\n name: \"ConcurrentModificationException\";\n $fault: \"client\";\n /**\n * <p>The message returned by a ConcurrentModificationException.</p>\n */\n message?: string;\n}\n\nexport namespace ConcurrentModificationException {\n export const filterSensitiveLog = (obj: ConcurrentModificationException): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>SetIdentityPoolRoles</code> action.</p>\n */\nexport interface SetIdentityPoolRolesInput {\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>The map of roles associated with this pool. For a given role, the key will be either\n * \"authenticated\" or \"unauthenticated\" and the value will be the Role ARN.</p>\n */\n Roles: { [key: string]: string } | undefined;\n\n /**\n * <p>How users for a specific identity provider are to mapped to roles. This is a string\n * to <a>RoleMapping</a> object map. The string identifies the identity provider,\n * for example, \"graph.facebook.com\" or\n * \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".</p>\n * <p>Up to 25 rules can be specified per identity provider.</p>\n */\n RoleMappings?: { [key: string]: RoleMapping };\n}\n\nexport namespace SetIdentityPoolRolesInput {\n export const filterSensitiveLog = (obj: SetIdentityPoolRolesInput): any => ({\n ...obj,\n });\n}\n\nexport interface TagResourceInput {\n /**\n * <p>The Amazon Resource Name (ARN) of the identity pool to assign the tags to.</p>\n */\n ResourceArn: string | undefined;\n\n /**\n * <p>The tags to assign to the identity pool.</p>\n */\n Tags: { [key: string]: string } | undefined;\n}\n\nexport namespace TagResourceInput {\n export const filterSensitiveLog = (obj: TagResourceInput): any => ({\n ...obj,\n });\n}\n\nexport interface TagResourceResponse {}\n\nexport namespace TagResourceResponse {\n export const filterSensitiveLog = (obj: TagResourceResponse): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the <code>UnlinkDeveloperIdentity</code> action.</p>\n */\nexport interface UnlinkDeveloperIdentityInput {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId: string | undefined;\n\n /**\n * <p>An identity pool ID in the format REGION:GUID.</p>\n */\n IdentityPoolId: string | undefined;\n\n /**\n * <p>The \"domain\" by which Cognito will refer to your users.</p>\n */\n DeveloperProviderName: string | undefined;\n\n /**\n * <p>A unique ID used by your backend authentication process to identify a user.</p>\n */\n DeveloperUserIdentifier: string | undefined;\n}\n\nexport namespace UnlinkDeveloperIdentityInput {\n export const filterSensitiveLog = (obj: UnlinkDeveloperIdentityInput): any => ({\n ...obj,\n });\n}\n\n/**\n * <p>Input to the UnlinkIdentity action.</p>\n */\nexport interface UnlinkIdentityInput {\n /**\n * <p>A unique identifier in the format REGION:GUID.</p>\n */\n IdentityId: string | undefined;\n\n /**\n * <p>A set of optional name-value pairs that map provider names to provider\n * tokens.</p>\n */\n Logins: { [key: string]: string } | undefined;\n\n /**\n * <p>Provider names to unlink from this identity.</p>\n */\n LoginsToRemove: string[] | undefined;\n}\n\nexport namespace UnlinkIdentityInput {\n export const filterSensitiveLog = (obj: UnlinkIdentityInput): any => ({\n ...obj,\n });\n}\n\nexport interface UntagResourceInput {\n /**\n * <p>The Amazon Resource Name (ARN) of the identity pool that the tags are assigned\n * to.</p>\n */\n ResourceArn: string | undefined;\n\n /**\n * <p>The keys of the tags to remove from the user pool.</p>\n */\n TagKeys: string[] | undefined;\n}\n\nexport namespace UntagResourceInput {\n export const filterSensitiveLog = (obj: UntagResourceInput): any => ({\n ...obj,\n });\n}\n\nexport interface UntagResourceResponse {}\n\nexport namespace UntagResourceResponse {\n export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({\n ...obj,\n });\n}\n","import { HeaderBag, HttpMessage, HttpResponse as IHttpResponse } from \"@aws-sdk/types\";\n\ntype HttpResponseOptions = Partial<HttpMessage> & {\n statusCode: number;\n};\n\nexport interface HttpResponse extends IHttpResponse {}\n\nexport class HttpResponse {\n public statusCode: number;\n public headers: HeaderBag;\n public body?: any;\n\n constructor(options: HttpResponseOptions) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n\n static isInstance(response: unknown): response is HttpResponse {\n //determine if response is a valid HttpResponse\n if (!response) return false;\n const resp = response as any;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Endpoint, HeaderBag, HttpMessage, HttpRequest as IHttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\ntype HttpRequestOptions = Partial<HttpMessage> & Partial<Endpoint> & { method?: string };\n\nexport interface HttpRequest extends IHttpRequest {}\n\nexport class HttpRequest implements HttpMessage, Endpoint {\n public method: string;\n public protocol: string;\n public hostname: string;\n public port?: number;\n public path: string;\n public query: QueryParameterBag;\n public headers: HeaderBag;\n public body?: any;\n\n constructor(options: HttpRequestOptions) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.substr(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n }\n\n static isInstance(request: unknown): request is HttpRequest {\n //determine if request is a valid httpRequest\n if (!request) return false;\n const req: any = request;\n return (\n \"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\"\n );\n }\n\n clone(): HttpRequest {\n const cloned = new HttpRequest({\n ...this,\n headers: { ...this.headers },\n });\n if (cloned.query) cloned.query = cloneQuery(cloned.query);\n return cloned;\n }\n}\n\nfunction cloneQuery(query: QueryParameterBag): QueryParameterBag {\n return Object.keys(query).reduce((carry: QueryParameterBag, paramName: string) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","import { CreateIdentityPoolCommandInput, CreateIdentityPoolCommandOutput } from \"../commands/CreateIdentityPoolCommand\";\nimport { DeleteIdentitiesCommandInput, DeleteIdentitiesCommandOutput } from \"../commands/DeleteIdentitiesCommand\";\nimport { DeleteIdentityPoolCommandInput, DeleteIdentityPoolCommandOutput } from \"../commands/DeleteIdentityPoolCommand\";\nimport { DescribeIdentityCommandInput, DescribeIdentityCommandOutput } from \"../commands/DescribeIdentityCommand\";\nimport {\n DescribeIdentityPoolCommandInput,\n DescribeIdentityPoolCommandOutput,\n} from \"../commands/DescribeIdentityPoolCommand\";\nimport {\n GetCredentialsForIdentityCommandInput,\n GetCredentialsForIdentityCommandOutput,\n} from \"../commands/GetCredentialsForIdentityCommand\";\nimport { GetIdCommandInput, GetIdCommandOutput } from \"../commands/GetIdCommand\";\nimport {\n GetIdentityPoolRolesCommandInput,\n GetIdentityPoolRolesCommandOutput,\n} from \"../commands/GetIdentityPoolRolesCommand\";\nimport { GetOpenIdTokenCommandInput, GetOpenIdTokenCommandOutput } from \"../commands/GetOpenIdTokenCommand\";\nimport {\n GetOpenIdTokenForDeveloperIdentityCommandInput,\n GetOpenIdTokenForDeveloperIdentityCommandOutput,\n} from \"../commands/GetOpenIdTokenForDeveloperIdentityCommand\";\nimport { ListIdentitiesCommandInput, ListIdentitiesCommandOutput } from \"../commands/ListIdentitiesCommand\";\nimport { ListIdentityPoolsCommandInput, ListIdentityPoolsCommandOutput } from \"../commands/ListIdentityPoolsCommand\";\nimport {\n ListTagsForResourceCommandInput,\n ListTagsForResourceCommandOutput,\n} from \"../commands/ListTagsForResourceCommand\";\nimport {\n LookupDeveloperIdentityCommandInput,\n LookupDeveloperIdentityCommandOutput,\n} from \"../commands/LookupDeveloperIdentityCommand\";\nimport {\n MergeDeveloperIdentitiesCommandInput,\n MergeDeveloperIdentitiesCommandOutput,\n} from \"../commands/MergeDeveloperIdentitiesCommand\";\nimport {\n SetIdentityPoolRolesCommandInput,\n SetIdentityPoolRolesCommandOutput,\n} from \"../commands/SetIdentityPoolRolesCommand\";\nimport { TagResourceCommandInput, TagResourceCommandOutput } from \"../commands/TagResourceCommand\";\nimport {\n UnlinkDeveloperIdentityCommandInput,\n UnlinkDeveloperIdentityCommandOutput,\n} from \"../commands/UnlinkDeveloperIdentityCommand\";\nimport { UnlinkIdentityCommandInput, UnlinkIdentityCommandOutput } from \"../commands/UnlinkIdentityCommand\";\nimport { UntagResourceCommandInput, UntagResourceCommandOutput } from \"../commands/UntagResourceCommand\";\nimport { UpdateIdentityPoolCommandInput, UpdateIdentityPoolCommandOutput } from \"../commands/UpdateIdentityPoolCommand\";\nimport {\n CognitoIdentityProvider,\n ConcurrentModificationException,\n CreateIdentityPoolInput,\n Credentials,\n DeleteIdentitiesInput,\n DeleteIdentitiesResponse,\n DeleteIdentityPoolInput,\n DescribeIdentityInput,\n DescribeIdentityPoolInput,\n DeveloperUserAlreadyRegisteredException,\n ExternalServiceException,\n GetCredentialsForIdentityInput,\n GetCredentialsForIdentityResponse,\n GetIdInput,\n GetIdResponse,\n GetIdentityPoolRolesInput,\n GetIdentityPoolRolesResponse,\n GetOpenIdTokenForDeveloperIdentityInput,\n GetOpenIdTokenForDeveloperIdentityResponse,\n GetOpenIdTokenInput,\n GetOpenIdTokenResponse,\n IdentityDescription,\n IdentityPool,\n IdentityPoolShortDescription,\n InternalErrorException,\n InvalidIdentityPoolConfigurationException,\n InvalidParameterException,\n LimitExceededException,\n ListIdentitiesInput,\n ListIdentitiesResponse,\n ListIdentityPoolsInput,\n ListIdentityPoolsResponse,\n ListTagsForResourceInput,\n ListTagsForResourceResponse,\n LookupDeveloperIdentityInput,\n LookupDeveloperIdentityResponse,\n MappingRule,\n MergeDeveloperIdentitiesInput,\n MergeDeveloperIdentitiesResponse,\n NotAuthorizedException,\n ResourceConflictException,\n ResourceNotFoundException,\n RoleMapping,\n RulesConfigurationType,\n SetIdentityPoolRolesInput,\n TagResourceInput,\n TagResourceResponse,\n TooManyRequestsException,\n UnlinkDeveloperIdentityInput,\n UnlinkIdentityInput,\n UnprocessedIdentityId,\n UntagResourceInput,\n UntagResourceResponse,\n} from \"../models/models_0\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { SmithyException as __SmithyException } from \"@aws-sdk/smithy-client\";\nimport {\n Endpoint as __Endpoint,\n HeaderBag as __HeaderBag,\n MetadataBearer as __MetadataBearer,\n ResponseMetadata as __ResponseMetadata,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport const serializeAws_json1_1CreateIdentityPoolCommand = async (\n input: CreateIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.CreateIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1CreateIdentityPoolInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DeleteIdentitiesCommand = async (\n input: DeleteIdentitiesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentities\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DeleteIdentitiesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DeleteIdentityPoolCommand = async (\n input: DeleteIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DeleteIdentityPoolInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DescribeIdentityCommand = async (\n input: DescribeIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1DescribeIdentityPoolCommand = async (\n input: DescribeIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityPoolInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetCredentialsForIdentityCommand = async (\n input: GetCredentialsForIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetCredentialsForIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetCredentialsForIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetIdCommand = async (\n input: GetIdCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetId\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetIdInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetIdentityPoolRolesCommand = async (\n input: GetIdentityPoolRolesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetIdentityPoolRoles\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetIdentityPoolRolesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetOpenIdTokenCommand = async (\n input: GetOpenIdTokenCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdToken\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = async (\n input: GetOpenIdTokenForDeveloperIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdTokenForDeveloperIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1ListIdentitiesCommand = async (\n input: ListIdentitiesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentities\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1ListIdentitiesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1ListIdentityPoolsCommand = async (\n input: ListIdentityPoolsCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentityPools\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1ListIdentityPoolsInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1ListTagsForResourceCommand = async (\n input: ListTagsForResourceCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListTagsForResource\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1ListTagsForResourceInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1LookupDeveloperIdentityCommand = async (\n input: LookupDeveloperIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.LookupDeveloperIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1LookupDeveloperIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1MergeDeveloperIdentitiesCommand = async (\n input: MergeDeveloperIdentitiesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.MergeDeveloperIdentities\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1MergeDeveloperIdentitiesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1SetIdentityPoolRolesCommand = async (\n input: SetIdentityPoolRolesCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.SetIdentityPoolRoles\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1SetIdentityPoolRolesInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1TagResourceCommand = async (\n input: TagResourceCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.TagResource\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1TagResourceInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UnlinkDeveloperIdentityCommand = async (\n input: UnlinkDeveloperIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkDeveloperIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1UnlinkDeveloperIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UnlinkIdentityCommand = async (\n input: UnlinkIdentityCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkIdentity\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1UnlinkIdentityInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UntagResourceCommand = async (\n input: UntagResourceCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UntagResource\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1UntagResourceInput(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const serializeAws_json1_1UpdateIdentityPoolCommand = async (\n input: UpdateIdentityPoolCommandInput,\n context: __SerdeContext\n): Promise<__HttpRequest> => {\n const headers: __HeaderBag = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UpdateIdentityPool\",\n };\n let body: any;\n body = JSON.stringify(serializeAws_json1_1IdentityPool(input, context));\n return buildHttpRpcRequest(context, headers, \"/\", undefined, body);\n};\n\nexport const deserializeAws_json1_1CreateIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<CreateIdentityPoolCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1CreateIdentityPoolCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n const response: CreateIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1CreateIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<CreateIdentityPoolCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"LimitExceededException\":\n case \"com.amazonaws.cognitoidentity#LimitExceededException\":\n response = {\n ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DeleteIdentitiesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DeleteIdentitiesCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DeleteIdentitiesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1DeleteIdentitiesResponse(data, context);\n const response: DeleteIdentitiesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DeleteIdentitiesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DeleteIdentitiesCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DeleteIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DeleteIdentityPoolCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DeleteIdentityPoolCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: DeleteIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DeleteIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DeleteIdentityPoolCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DescribeIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DescribeIdentityCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DescribeIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityDescription(data, context);\n const response: DescribeIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DescribeIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DescribeIdentityCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1DescribeIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DescribeIdentityPoolCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1DescribeIdentityPoolCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n const response: DescribeIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1DescribeIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<DescribeIdentityPoolCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetCredentialsForIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetCredentialsForIdentityCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetCredentialsForIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetCredentialsForIdentityResponse(data, context);\n const response: GetCredentialsForIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetCredentialsForIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetCredentialsForIdentityCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidIdentityPoolConfigurationException\":\n case \"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException\":\n response = {\n ...(await deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetIdCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetIdCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetIdCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetIdResponse(data, context);\n const response: GetIdCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetIdCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetIdCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"LimitExceededException\":\n case \"com.amazonaws.cognitoidentity#LimitExceededException\":\n response = {\n ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetIdentityPoolRolesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetIdentityPoolRolesCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetIdentityPoolRolesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetIdentityPoolRolesResponse(data, context);\n const response: GetIdentityPoolRolesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetIdentityPoolRolesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetIdentityPoolRolesCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetOpenIdTokenCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetOpenIdTokenCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetOpenIdTokenCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetOpenIdTokenResponse(data, context);\n const response: GetOpenIdTokenCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetOpenIdTokenCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetOpenIdTokenForDeveloperIdentityCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse(data, context);\n const response: GetOpenIdTokenForDeveloperIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<GetOpenIdTokenForDeveloperIdentityCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"DeveloperUserAlreadyRegisteredException\":\n case \"com.amazonaws.cognitoidentity#DeveloperUserAlreadyRegisteredException\":\n response = {\n ...(await deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1ListIdentitiesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<ListIdentitiesCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1ListIdentitiesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1ListIdentitiesResponse(data, context);\n const response: ListIdentitiesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1ListIdentitiesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<ListIdentitiesCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1ListIdentityPoolsCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<ListIdentityPoolsCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1ListIdentityPoolsCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1ListIdentityPoolsResponse(data, context);\n const response: ListIdentityPoolsCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1ListIdentityPoolsCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<ListIdentityPoolsCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1ListTagsForResourceCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<ListTagsForResourceCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1ListTagsForResourceCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context);\n const response: ListTagsForResourceCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1ListTagsForResourceCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<ListTagsForResourceCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1LookupDeveloperIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<LookupDeveloperIdentityCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1LookupDeveloperIdentityCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1LookupDeveloperIdentityResponse(data, context);\n const response: LookupDeveloperIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1LookupDeveloperIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<LookupDeveloperIdentityCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1MergeDeveloperIdentitiesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<MergeDeveloperIdentitiesCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1MergeDeveloperIdentitiesCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1MergeDeveloperIdentitiesResponse(data, context);\n const response: MergeDeveloperIdentitiesCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1MergeDeveloperIdentitiesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<MergeDeveloperIdentitiesCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1SetIdentityPoolRolesCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<SetIdentityPoolRolesCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1SetIdentityPoolRolesCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: SetIdentityPoolRolesCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1SetIdentityPoolRolesCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<SetIdentityPoolRolesCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ConcurrentModificationException\":\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\":\n response = {\n ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1TagResourceCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<TagResourceCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1TagResourceCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1TagResourceResponse(data, context);\n const response: TagResourceCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1TagResourceCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<TagResourceCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UnlinkDeveloperIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UnlinkDeveloperIdentityCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UnlinkDeveloperIdentityCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: UnlinkDeveloperIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UnlinkDeveloperIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UnlinkDeveloperIdentityCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UnlinkIdentityCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UnlinkIdentityCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UnlinkIdentityCommandError(output, context);\n }\n await collectBody(output.body, context);\n const response: UnlinkIdentityCommandOutput = {\n $metadata: deserializeMetadata(output),\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UnlinkIdentityCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UnlinkIdentityCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ExternalServiceException\":\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\":\n response = {\n ...(await deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UntagResourceCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UntagResourceCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UntagResourceCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1UntagResourceResponse(data, context);\n const response: UntagResourceCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UntagResourceCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UntagResourceCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nexport const deserializeAws_json1_1UpdateIdentityPoolCommand = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UpdateIdentityPoolCommandOutput> => {\n if (output.statusCode >= 300) {\n return deserializeAws_json1_1UpdateIdentityPoolCommandError(output, context);\n }\n const data: any = await parseBody(output.body, context);\n let contents: any = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n const response: UpdateIdentityPoolCommandOutput = {\n $metadata: deserializeMetadata(output),\n ...contents,\n };\n return Promise.resolve(response);\n};\n\nconst deserializeAws_json1_1UpdateIdentityPoolCommandError = async (\n output: __HttpResponse,\n context: __SerdeContext\n): Promise<UpdateIdentityPoolCommandOutput> => {\n const parsedOutput: any = {\n ...output,\n body: await parseBody(output.body, context),\n };\n let response: __SmithyException & __MetadataBearer & { [key: string]: any };\n let errorCode: string = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"ConcurrentModificationException\":\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\":\n response = {\n ...(await deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InternalErrorException\":\n case \"com.amazonaws.cognitoidentity#InternalErrorException\":\n response = {\n ...(await deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"InvalidParameterException\":\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\":\n response = {\n ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"LimitExceededException\":\n case \"com.amazonaws.cognitoidentity#LimitExceededException\":\n response = {\n ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"NotAuthorizedException\":\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\":\n response = {\n ...(await deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceConflictException\":\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\":\n response = {\n ...(await deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\":\n response = {\n ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n case \"TooManyRequestsException\":\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\":\n response = {\n ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),\n name: errorCode,\n $metadata: deserializeMetadata(output),\n };\n break;\n default:\n const parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = {\n ...parsedBody,\n name: `${errorCode}`,\n message: parsedBody.message || parsedBody.Message || errorCode,\n $fault: \"client\",\n $metadata: deserializeMetadata(output),\n } as any;\n }\n const message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return Promise.reject(Object.assign(new Error(message), response));\n};\n\nconst deserializeAws_json1_1ConcurrentModificationExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<ConcurrentModificationException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ConcurrentModificationException(body, context);\n const contents: ConcurrentModificationException = {\n name: \"ConcurrentModificationException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<DeveloperUserAlreadyRegisteredException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1DeveloperUserAlreadyRegisteredException(body, context);\n const contents: DeveloperUserAlreadyRegisteredException = {\n name: \"DeveloperUserAlreadyRegisteredException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1ExternalServiceExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<ExternalServiceException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ExternalServiceException(body, context);\n const contents: ExternalServiceException = {\n name: \"ExternalServiceException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1InternalErrorExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<InternalErrorException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1InternalErrorException(body, context);\n const contents: InternalErrorException = {\n name: \"InternalErrorException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<InvalidIdentityPoolConfigurationException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1InvalidIdentityPoolConfigurationException(body, context);\n const contents: InvalidIdentityPoolConfigurationException = {\n name: \"InvalidIdentityPoolConfigurationException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1InvalidParameterExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<InvalidParameterException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1InvalidParameterException(body, context);\n const contents: InvalidParameterException = {\n name: \"InvalidParameterException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1LimitExceededExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<LimitExceededException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1LimitExceededException(body, context);\n const contents: LimitExceededException = {\n name: \"LimitExceededException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1NotAuthorizedExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<NotAuthorizedException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1NotAuthorizedException(body, context);\n const contents: NotAuthorizedException = {\n name: \"NotAuthorizedException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1ResourceConflictExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<ResourceConflictException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ResourceConflictException(body, context);\n const contents: ResourceConflictException = {\n name: \"ResourceConflictException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1ResourceNotFoundExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<ResourceNotFoundException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1ResourceNotFoundException(body, context);\n const contents: ResourceNotFoundException = {\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst deserializeAws_json1_1TooManyRequestsExceptionResponse = async (\n parsedOutput: any,\n context: __SerdeContext\n): Promise<TooManyRequestsException> => {\n const body = parsedOutput.body;\n const deserialized: any = deserializeAws_json1_1TooManyRequestsException(body, context);\n const contents: TooManyRequestsException = {\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n ...deserialized,\n };\n return contents;\n};\n\nconst serializeAws_json1_1CognitoIdentityProvider = (input: CognitoIdentityProvider, context: __SerdeContext): any => {\n return {\n ...(input.ClientId !== undefined && input.ClientId !== null && { ClientId: input.ClientId }),\n ...(input.ProviderName !== undefined && input.ProviderName !== null && { ProviderName: input.ProviderName }),\n ...(input.ServerSideTokenCheck !== undefined &&\n input.ServerSideTokenCheck !== null && { ServerSideTokenCheck: input.ServerSideTokenCheck }),\n };\n};\n\nconst serializeAws_json1_1CognitoIdentityProviderList = (\n input: CognitoIdentityProvider[],\n context: __SerdeContext\n): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return serializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\n\nconst serializeAws_json1_1CreateIdentityPoolInput = (input: CreateIdentityPoolInput, context: __SerdeContext): any => {\n return {\n ...(input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow }),\n ...(input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n }),\n ...(input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(\n input.CognitoIdentityProviders,\n context\n ),\n }),\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName }),\n ...(input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n }),\n ...(input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n }),\n ...(input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n }),\n ...(input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }),\n };\n};\n\nconst serializeAws_json1_1DeleteIdentitiesInput = (input: DeleteIdentitiesInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityIdsToDelete !== undefined &&\n input.IdentityIdsToDelete !== null && {\n IdentityIdsToDelete: serializeAws_json1_1IdentityIdList(input.IdentityIdsToDelete, context),\n }),\n };\n};\n\nconst serializeAws_json1_1DeleteIdentityPoolInput = (input: DeleteIdentityPoolInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1DescribeIdentityInput = (input: DescribeIdentityInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n };\n};\n\nconst serializeAws_json1_1DescribeIdentityPoolInput = (\n input: DescribeIdentityPoolInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1GetCredentialsForIdentityInput = (\n input: GetCredentialsForIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.CustomRoleArn !== undefined && input.CustomRoleArn !== null && { CustomRoleArn: input.CustomRoleArn }),\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n };\n};\n\nconst serializeAws_json1_1GetIdentityPoolRolesInput = (\n input: GetIdentityPoolRolesInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1GetIdInput = (input: GetIdInput, context: __SerdeContext): any => {\n return {\n ...(input.AccountId !== undefined && input.AccountId !== null && { AccountId: input.AccountId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n };\n};\n\nconst serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput = (\n input: GetOpenIdTokenForDeveloperIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n ...(input.TokenDuration !== undefined && input.TokenDuration !== null && { TokenDuration: input.TokenDuration }),\n };\n};\n\nconst serializeAws_json1_1GetOpenIdTokenInput = (input: GetOpenIdTokenInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n };\n};\n\nconst serializeAws_json1_1IdentityIdList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1IdentityPool = (input: IdentityPool, context: __SerdeContext): any => {\n return {\n ...(input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow }),\n ...(input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n }),\n ...(input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(\n input.CognitoIdentityProviders,\n context\n ),\n }),\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName }),\n ...(input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n }),\n ...(input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n }),\n ...(input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n }),\n ...(input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }),\n };\n};\n\nconst serializeAws_json1_1IdentityPoolTagsListType = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1IdentityPoolTagsType = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1IdentityProviders = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1ListIdentitiesInput = (input: ListIdentitiesInput, context: __SerdeContext): any => {\n return {\n ...(input.HideDisabled !== undefined && input.HideDisabled !== null && { HideDisabled: input.HideDisabled }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),\n ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),\n };\n};\n\nconst serializeAws_json1_1ListIdentityPoolsInput = (input: ListIdentityPoolsInput, context: __SerdeContext): any => {\n return {\n ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),\n ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),\n };\n};\n\nconst serializeAws_json1_1ListTagsForResourceInput = (\n input: ListTagsForResourceInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),\n };\n};\n\nconst serializeAws_json1_1LoginsList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1LoginsMap = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1LookupDeveloperIdentityInput = (\n input: LookupDeveloperIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier }),\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),\n ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),\n };\n};\n\nconst serializeAws_json1_1MappingRule = (input: MappingRule, context: __SerdeContext): any => {\n return {\n ...(input.Claim !== undefined && input.Claim !== null && { Claim: input.Claim }),\n ...(input.MatchType !== undefined && input.MatchType !== null && { MatchType: input.MatchType }),\n ...(input.RoleARN !== undefined && input.RoleARN !== null && { RoleARN: input.RoleARN }),\n ...(input.Value !== undefined && input.Value !== null && { Value: input.Value }),\n };\n};\n\nconst serializeAws_json1_1MappingRulesList = (input: MappingRule[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return serializeAws_json1_1MappingRule(entry, context);\n });\n};\n\nconst serializeAws_json1_1MergeDeveloperIdentitiesInput = (\n input: MergeDeveloperIdentitiesInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.DestinationUserIdentifier !== undefined &&\n input.DestinationUserIdentifier !== null && { DestinationUserIdentifier: input.DestinationUserIdentifier }),\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.SourceUserIdentifier !== undefined &&\n input.SourceUserIdentifier !== null && { SourceUserIdentifier: input.SourceUserIdentifier }),\n };\n};\n\nconst serializeAws_json1_1OIDCProviderList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1RoleMapping = (input: RoleMapping, context: __SerdeContext): any => {\n return {\n ...(input.AmbiguousRoleResolution !== undefined &&\n input.AmbiguousRoleResolution !== null && { AmbiguousRoleResolution: input.AmbiguousRoleResolution }),\n ...(input.RulesConfiguration !== undefined &&\n input.RulesConfiguration !== null && {\n RulesConfiguration: serializeAws_json1_1RulesConfigurationType(input.RulesConfiguration, context),\n }),\n ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }),\n };\n};\n\nconst serializeAws_json1_1RoleMappingMap = (input: { [key: string]: RoleMapping }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: RoleMapping }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: serializeAws_json1_1RoleMapping(value, context),\n };\n }, {});\n};\n\nconst serializeAws_json1_1RolesMap = (input: { [key: string]: string }, context: __SerdeContext): any => {\n return Object.entries(input).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst serializeAws_json1_1RulesConfigurationType = (input: RulesConfigurationType, context: __SerdeContext): any => {\n return {\n ...(input.Rules !== undefined &&\n input.Rules !== null && { Rules: serializeAws_json1_1MappingRulesList(input.Rules, context) }),\n };\n};\n\nconst serializeAws_json1_1SAMLProviderList = (input: string[], context: __SerdeContext): any => {\n return input\n .filter((e: any) => e != null)\n .map((entry) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst serializeAws_json1_1SetIdentityPoolRolesInput = (\n input: SetIdentityPoolRolesInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n ...(input.RoleMappings !== undefined &&\n input.RoleMappings !== null && { RoleMappings: serializeAws_json1_1RoleMappingMap(input.RoleMappings, context) }),\n ...(input.Roles !== undefined &&\n input.Roles !== null && { Roles: serializeAws_json1_1RolesMap(input.Roles, context) }),\n };\n};\n\nconst serializeAws_json1_1TagResourceInput = (input: TagResourceInput, context: __SerdeContext): any => {\n return {\n ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),\n ...(input.Tags !== undefined &&\n input.Tags !== null && { Tags: serializeAws_json1_1IdentityPoolTagsType(input.Tags, context) }),\n };\n};\n\nconst serializeAws_json1_1UnlinkDeveloperIdentityInput = (\n input: UnlinkDeveloperIdentityInput,\n context: __SerdeContext\n): any => {\n return {\n ...(input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName }),\n ...(input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier }),\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }),\n };\n};\n\nconst serializeAws_json1_1UnlinkIdentityInput = (input: UnlinkIdentityInput, context: __SerdeContext): any => {\n return {\n ...(input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }),\n ...(input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }),\n ...(input.LoginsToRemove !== undefined &&\n input.LoginsToRemove !== null && {\n LoginsToRemove: serializeAws_json1_1LoginsList(input.LoginsToRemove, context),\n }),\n };\n};\n\nconst serializeAws_json1_1UntagResourceInput = (input: UntagResourceInput, context: __SerdeContext): any => {\n return {\n ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),\n ...(input.TagKeys !== undefined &&\n input.TagKeys !== null && { TagKeys: serializeAws_json1_1IdentityPoolTagsListType(input.TagKeys, context) }),\n };\n};\n\nconst deserializeAws_json1_1CognitoIdentityProvider = (\n output: any,\n context: __SerdeContext\n): CognitoIdentityProvider => {\n return {\n ClientId: output.ClientId !== undefined && output.ClientId !== null ? output.ClientId : undefined,\n ProviderName: output.ProviderName !== undefined && output.ProviderName !== null ? output.ProviderName : undefined,\n ServerSideTokenCheck:\n output.ServerSideTokenCheck !== undefined && output.ServerSideTokenCheck !== null\n ? output.ServerSideTokenCheck\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1CognitoIdentityProviderList = (\n output: any,\n context: __SerdeContext\n): CognitoIdentityProvider[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\n\nconst deserializeAws_json1_1ConcurrentModificationException = (\n output: any,\n context: __SerdeContext\n): ConcurrentModificationException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1Credentials = (output: any, context: __SerdeContext): Credentials => {\n return {\n AccessKeyId: output.AccessKeyId !== undefined && output.AccessKeyId !== null ? output.AccessKeyId : undefined,\n Expiration:\n output.Expiration !== undefined && output.Expiration !== null\n ? new Date(Math.round(output.Expiration * 1000))\n : undefined,\n SecretKey: output.SecretKey !== undefined && output.SecretKey !== null ? output.SecretKey : undefined,\n SessionToken: output.SessionToken !== undefined && output.SessionToken !== null ? output.SessionToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1DeleteIdentitiesResponse = (\n output: any,\n context: __SerdeContext\n): DeleteIdentitiesResponse => {\n return {\n UnprocessedIdentityIds:\n output.UnprocessedIdentityIds !== undefined && output.UnprocessedIdentityIds !== null\n ? deserializeAws_json1_1UnprocessedIdentityIdList(output.UnprocessedIdentityIds, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1DeveloperUserAlreadyRegisteredException = (\n output: any,\n context: __SerdeContext\n): DeveloperUserAlreadyRegisteredException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1DeveloperUserIdentifierList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1ExternalServiceException = (\n output: any,\n context: __SerdeContext\n): ExternalServiceException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetCredentialsForIdentityResponse = (\n output: any,\n context: __SerdeContext\n): GetCredentialsForIdentityResponse => {\n return {\n Credentials:\n output.Credentials !== undefined && output.Credentials !== null\n ? deserializeAws_json1_1Credentials(output.Credentials, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetIdentityPoolRolesResponse = (\n output: any,\n context: __SerdeContext\n): GetIdentityPoolRolesResponse => {\n return {\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n RoleMappings:\n output.RoleMappings !== undefined && output.RoleMappings !== null\n ? deserializeAws_json1_1RoleMappingMap(output.RoleMappings, context)\n : undefined,\n Roles:\n output.Roles !== undefined && output.Roles !== null\n ? deserializeAws_json1_1RolesMap(output.Roles, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetIdResponse = (output: any, context: __SerdeContext): GetIdResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse = (\n output: any,\n context: __SerdeContext\n): GetOpenIdTokenForDeveloperIdentityResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1GetOpenIdTokenResponse = (output: any, context: __SerdeContext): GetOpenIdTokenResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentitiesList = (output: any, context: __SerdeContext): IdentityDescription[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1IdentityDescription(entry, context);\n });\n};\n\nconst deserializeAws_json1_1IdentityDescription = (output: any, context: __SerdeContext): IdentityDescription => {\n return {\n CreationDate:\n output.CreationDate !== undefined && output.CreationDate !== null\n ? new Date(Math.round(output.CreationDate * 1000))\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n LastModifiedDate:\n output.LastModifiedDate !== undefined && output.LastModifiedDate !== null\n ? new Date(Math.round(output.LastModifiedDate * 1000))\n : undefined,\n Logins:\n output.Logins !== undefined && output.Logins !== null\n ? deserializeAws_json1_1LoginsList(output.Logins, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentityPool = (output: any, context: __SerdeContext): IdentityPool => {\n return {\n AllowClassicFlow:\n output.AllowClassicFlow !== undefined && output.AllowClassicFlow !== null ? output.AllowClassicFlow : undefined,\n AllowUnauthenticatedIdentities:\n output.AllowUnauthenticatedIdentities !== undefined && output.AllowUnauthenticatedIdentities !== null\n ? output.AllowUnauthenticatedIdentities\n : undefined,\n CognitoIdentityProviders:\n output.CognitoIdentityProviders !== undefined && output.CognitoIdentityProviders !== null\n ? deserializeAws_json1_1CognitoIdentityProviderList(output.CognitoIdentityProviders, context)\n : undefined,\n DeveloperProviderName:\n output.DeveloperProviderName !== undefined && output.DeveloperProviderName !== null\n ? output.DeveloperProviderName\n : undefined,\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName:\n output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n IdentityPoolTags:\n output.IdentityPoolTags !== undefined && output.IdentityPoolTags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.IdentityPoolTags, context)\n : undefined,\n OpenIdConnectProviderARNs:\n output.OpenIdConnectProviderARNs !== undefined && output.OpenIdConnectProviderARNs !== null\n ? deserializeAws_json1_1OIDCProviderList(output.OpenIdConnectProviderARNs, context)\n : undefined,\n SamlProviderARNs:\n output.SamlProviderARNs !== undefined && output.SamlProviderARNs !== null\n ? deserializeAws_json1_1SAMLProviderList(output.SamlProviderARNs, context)\n : undefined,\n SupportedLoginProviders:\n output.SupportedLoginProviders !== undefined && output.SupportedLoginProviders !== null\n ? deserializeAws_json1_1IdentityProviders(output.SupportedLoginProviders, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentityPoolShortDescription = (\n output: any,\n context: __SerdeContext\n): IdentityPoolShortDescription => {\n return {\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName:\n output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1IdentityPoolsList = (\n output: any,\n context: __SerdeContext\n): IdentityPoolShortDescription[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1IdentityPoolShortDescription(entry, context);\n });\n};\n\nconst deserializeAws_json1_1IdentityPoolTagsType = (\n output: any,\n context: __SerdeContext\n): { [key: string]: string } => {\n return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst deserializeAws_json1_1IdentityProviders = (output: any, context: __SerdeContext): { [key: string]: string } => {\n return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst deserializeAws_json1_1InternalErrorException = (output: any, context: __SerdeContext): InternalErrorException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1InvalidIdentityPoolConfigurationException = (\n output: any,\n context: __SerdeContext\n): InvalidIdentityPoolConfigurationException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1InvalidParameterException = (\n output: any,\n context: __SerdeContext\n): InvalidParameterException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1LimitExceededException = (output: any, context: __SerdeContext): LimitExceededException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ListIdentitiesResponse = (output: any, context: __SerdeContext): ListIdentitiesResponse => {\n return {\n Identities:\n output.Identities !== undefined && output.Identities !== null\n ? deserializeAws_json1_1IdentitiesList(output.Identities, context)\n : undefined,\n IdentityPoolId:\n output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ListIdentityPoolsResponse = (\n output: any,\n context: __SerdeContext\n): ListIdentityPoolsResponse => {\n return {\n IdentityPools:\n output.IdentityPools !== undefined && output.IdentityPools !== null\n ? deserializeAws_json1_1IdentityPoolsList(output.IdentityPools, context)\n : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ListTagsForResourceResponse = (\n output: any,\n context: __SerdeContext\n): ListTagsForResourceResponse => {\n return {\n Tags:\n output.Tags !== undefined && output.Tags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.Tags, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1LoginsList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1LookupDeveloperIdentityResponse = (\n output: any,\n context: __SerdeContext\n): LookupDeveloperIdentityResponse => {\n return {\n DeveloperUserIdentifierList:\n output.DeveloperUserIdentifierList !== undefined && output.DeveloperUserIdentifierList !== null\n ? deserializeAws_json1_1DeveloperUserIdentifierList(output.DeveloperUserIdentifierList, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1MappingRule = (output: any, context: __SerdeContext): MappingRule => {\n return {\n Claim: output.Claim !== undefined && output.Claim !== null ? output.Claim : undefined,\n MatchType: output.MatchType !== undefined && output.MatchType !== null ? output.MatchType : undefined,\n RoleARN: output.RoleARN !== undefined && output.RoleARN !== null ? output.RoleARN : undefined,\n Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1MappingRulesList = (output: any, context: __SerdeContext): MappingRule[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1MappingRule(entry, context);\n });\n};\n\nconst deserializeAws_json1_1MergeDeveloperIdentitiesResponse = (\n output: any,\n context: __SerdeContext\n): MergeDeveloperIdentitiesResponse => {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1NotAuthorizedException = (output: any, context: __SerdeContext): NotAuthorizedException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1OIDCProviderList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1ResourceConflictException = (\n output: any,\n context: __SerdeContext\n): ResourceConflictException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1ResourceNotFoundException = (\n output: any,\n context: __SerdeContext\n): ResourceNotFoundException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1RoleMapping = (output: any, context: __SerdeContext): RoleMapping => {\n return {\n AmbiguousRoleResolution:\n output.AmbiguousRoleResolution !== undefined && output.AmbiguousRoleResolution !== null\n ? output.AmbiguousRoleResolution\n : undefined,\n RulesConfiguration:\n output.RulesConfiguration !== undefined && output.RulesConfiguration !== null\n ? deserializeAws_json1_1RulesConfigurationType(output.RulesConfiguration, context)\n : undefined,\n Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1RoleMappingMap = (output: any, context: __SerdeContext): { [key: string]: RoleMapping } => {\n return Object.entries(output).reduce((acc: { [key: string]: RoleMapping }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: deserializeAws_json1_1RoleMapping(value, context),\n };\n }, {});\n};\n\nconst deserializeAws_json1_1RolesMap = (output: any, context: __SerdeContext): { [key: string]: string } => {\n return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => {\n if (value === null) {\n return acc;\n }\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n};\n\nconst deserializeAws_json1_1RulesConfigurationType = (output: any, context: __SerdeContext): RulesConfigurationType => {\n return {\n Rules:\n output.Rules !== undefined && output.Rules !== null\n ? deserializeAws_json1_1MappingRulesList(output.Rules, context)\n : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1SAMLProviderList = (output: any, context: __SerdeContext): string[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return entry;\n });\n};\n\nconst deserializeAws_json1_1TagResourceResponse = (output: any, context: __SerdeContext): TagResourceResponse => {\n return {} as any;\n};\n\nconst deserializeAws_json1_1TooManyRequestsException = (\n output: any,\n context: __SerdeContext\n): TooManyRequestsException => {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1UnprocessedIdentityId = (output: any, context: __SerdeContext): UnprocessedIdentityId => {\n return {\n ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n } as any;\n};\n\nconst deserializeAws_json1_1UnprocessedIdentityIdList = (\n output: any,\n context: __SerdeContext\n): UnprocessedIdentityId[] => {\n return (output || [])\n .filter((e: any) => e != null)\n .map((entry: any) => {\n if (entry === null) {\n return null as any;\n }\n return deserializeAws_json1_1UnprocessedIdentityId(entry, context);\n });\n};\n\nconst deserializeAws_json1_1UntagResourceResponse = (output: any, context: __SerdeContext): UntagResourceResponse => {\n return {} as any;\n};\n\nconst deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\n// Collect low-level response body stream to Uint8Array.\nconst collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise<Uint8Array> => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n\n// Encode Uint8Array data into string with utf-8.\nconst collectBodyString = (streamBody: any, context: __SerdeContext): Promise<string> =>\n collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\n\nconst buildHttpRpcRequest = async (\n context: __SerdeContext,\n headers: __HeaderBag,\n path: string,\n resolvedHostname: string | undefined,\n body: any\n): Promise<__HttpRequest> => {\n const { hostname, protocol = \"https\", port } = await context.endpoint();\n const contents: any = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path,\n headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return new __HttpRequest(contents);\n};\n\nconst parseBody = (streamBody: any, context: __SerdeContext): any =>\n collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n });\n\n/**\n * Load an error code for the aws.rest-json-1.1 protocol.\n */\nconst loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => {\n const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n\n const sanitizeErrorCode = (rawValue: string): string => {\n let cleanValue = rawValue;\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n\n return \"\";\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n DeserializeHandler,\n DeserializeHandlerArguments,\n DeserializeHandlerOutput,\n DeserializeMiddleware,\n HandlerExecutionContext,\n ResponseDeserializer,\n} from \"@aws-sdk/types\";\n\nexport const deserializerMiddleware = <Input extends object, Output extends object, RuntimeUtils = any>(\n options: RuntimeUtils,\n deserializer: ResponseDeserializer<any, any, RuntimeUtils>\n): DeserializeMiddleware<Input, Output> => (\n next: DeserializeHandler<Input, Output>,\n context: HandlerExecutionContext\n): DeserializeHandler<Input, Output> => async (\n args: DeserializeHandlerArguments<Input>\n): Promise<DeserializeHandlerOutput<Output>> => {\n const { response } = await next(args);\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed as Output,\n };\n};\n","import {\n DeserializeHandlerOptions,\n EndpointBearer,\n MetadataBearer,\n MiddlewareStack,\n Pluggable,\n RequestSerializer,\n ResponseDeserializer,\n SerializeHandlerOptions,\n} from \"@aws-sdk/types\";\n\nimport { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\n\nexport const deserializerMiddlewareOption: DeserializeHandlerOptions = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\n\nexport const serializerMiddlewareOption: SerializeHandlerOptions = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\n\nexport function getSerdePlugin<\n InputType extends object,\n SerDeContext extends EndpointBearer,\n OutputType extends MetadataBearer\n>(\n config: SerDeContext,\n serializer: RequestSerializer<any, SerDeContext>,\n deserializer: ResponseDeserializer<OutputType, any, SerDeContext>\n): Pluggable<InputType, OutputType> {\n return {\n applyToStack: (commandStack: MiddlewareStack<InputType, OutputType>) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n","import {\n EndpointBearer,\n HandlerExecutionContext,\n RequestSerializer,\n SerializeHandler,\n SerializeHandlerArguments,\n SerializeHandlerOutput,\n SerializeMiddleware,\n} from \"@aws-sdk/types\";\n\nexport const serializerMiddleware = <Input extends object, Output extends object, RuntimeUtils extends EndpointBearer>(\n options: RuntimeUtils,\n serializer: RequestSerializer<any, RuntimeUtils>\n): SerializeMiddleware<Input, Output> => (\n next: SerializeHandler<Input, Output>,\n context: HandlerExecutionContext\n): SerializeHandler<Input, Output> => async (\n args: SerializeHandlerArguments<Input>\n): Promise<SerializeHandlerOutput<Output>> => {\n const request = await serializer(args.input, options);\n return next({\n ...args,\n request,\n });\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n AbsoluteLocation,\n DeserializeHandler,\n Handler,\n HandlerExecutionContext,\n HandlerOptions,\n MiddlewareStack,\n MiddlewareType,\n Pluggable,\n Priority,\n RelativeLocation,\n Step,\n} from \"@aws-sdk/types\";\n\nimport { AbsoluteMiddlewareEntry, MiddlewareEntry, Normalized, RelativeMiddlewareEntry } from \"./types\";\n\nexport const constructStack = <Input extends object, Output extends object>(): MiddlewareStack<Input, Output> => {\n let absoluteEntries: AbsoluteMiddlewareEntry<Input, Output>[] = [];\n let relativeEntries: RelativeMiddlewareEntry<Input, Output>[] = [];\n const entriesNameSet: Set<string> = new Set();\n\n const sort = <T extends AbsoluteMiddlewareEntry<Input, Output>>(entries: T[]): T[] =>\n entries.sort(\n (a, b) =>\n stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]\n );\n\n const removeByName = (toRemove: string): boolean => {\n let isRemoved = false;\n const filterCb = (entry: MiddlewareEntry<Input, Output>): boolean => {\n if (entry.name && entry.name === toRemove) {\n isRemoved = true;\n entriesNameSet.delete(toRemove);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n\n const removeByReference = (toRemove: MiddlewareType<Input, Output>): boolean => {\n let isRemoved = false;\n const filterCb = (entry: MiddlewareEntry<Input, Output>): boolean => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n if (entry.name) entriesNameSet.delete(entry.name);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n\n const cloneTo = <InputType extends Input, OutputType extends Output>(\n toStack: MiddlewareStack<InputType, OutputType>\n ): MiddlewareStack<InputType, OutputType> => {\n absoluteEntries.forEach((entry) => {\n //@ts-ignore\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n //@ts-ignore\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n return toStack;\n };\n\n const expandRelativeMiddlewareList = (\n from: Normalized<MiddlewareEntry<Input, Output>, Input, Output>\n ): MiddlewareEntry<Input, Output>[] => {\n const expandedMiddlewareList: MiddlewareEntry<Input, Output>[] = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n\n /**\n * Get a final list of middleware in the order of being executed in the resolved handler.\n */\n const getMiddlewareList = (): Array<MiddlewareType<Input, Output>> => {\n const normalizedAbsoluteEntries: Normalized<AbsoluteMiddlewareEntry<Input, Output>, Input, Output>[] = [];\n const normalizedRelativeEntries: Normalized<RelativeMiddlewareEntry<Input, Output>, Input, Output>[] = [];\n const normalizedEntriesNameMap: {\n [middlewareName: string]: Normalized<MiddlewareEntry<Input, Output>, Input, Output>;\n } = {};\n\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name) normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n if (normalizedEntry.name) normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedRelativeEntries.push(normalizedEntry);\n });\n\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n throw new Error(\n `${entry.toMiddleware} is not found when adding ${entry.name || \"anonymous\"} middleware ${entry.relation} ${\n entry.toMiddleware\n }`\n );\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expendedMiddlewareList) => {\n // TODO: Replace it with Array.flat();\n wholeList.push(...expendedMiddlewareList);\n return wholeList;\n }, [] as MiddlewareEntry<Input, Output>[]);\n return mainChain.map((entry) => entry.middleware);\n };\n\n const stack = {\n add: (middleware: MiddlewareType<Input, Output>, options: HandlerOptions & AbsoluteLocation = {}) => {\n const { name, override } = options;\n const entry: AbsoluteMiddlewareEntry<Input, Output> = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override) throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === name);\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\n throw new Error(\n `\"${name}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be ` +\n `overridden by same-name middleware with ${entry.priority} priority in ${entry.step} step.`\n );\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n absoluteEntries.push(entry);\n },\n\n addRelativeTo: (middleware: MiddlewareType<Input, Output>, options: HandlerOptions & RelativeLocation) => {\n const { name, override } = options;\n const entry: RelativeMiddlewareEntry<Input, Output> = {\n middleware,\n ...options,\n };\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override) throw new Error(`Duplicate middleware name '${name}'`);\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === name);\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\n `\"${name}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by same-name middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`\n );\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n relativeEntries.push(entry);\n },\n\n clone: () => cloneTo(constructStack<Input, Output>()),\n\n use: (plugin: Pluggable<Input, Output>) => {\n plugin.applyToStack(stack);\n },\n\n remove: (toRemove: MiddlewareType<Input, Output> | string): boolean => {\n if (typeof toRemove === \"string\") return removeByName(toRemove);\n else return removeByReference(toRemove);\n },\n\n removeByTag: (toRemove: string): boolean => {\n let isRemoved = false;\n const filterCb = (entry: MiddlewareEntry<Input, Output>): boolean => {\n const { tags, name } = entry;\n if (tags && tags.includes(toRemove)) {\n if (name) entriesNameSet.delete(name);\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n\n concat: <InputType extends Input, OutputType extends Output>(\n from: MiddlewareStack<InputType, OutputType>\n ): MiddlewareStack<InputType, OutputType> => {\n const cloned = cloneTo(constructStack<InputType, OutputType>());\n cloned.use(from);\n return cloned;\n },\n\n applyToStack: cloneTo,\n\n resolve: <InputType extends Input, OutputType extends Output>(\n handler: DeserializeHandler<InputType, OutputType>,\n context: HandlerExecutionContext\n ): Handler<InputType, OutputType> => {\n for (const middleware of getMiddlewareList().reverse()) {\n handler = middleware(handler as Handler<Input, OutputType>, context) as any;\n }\n return handler as Handler<InputType, OutputType>;\n },\n };\n return stack;\n};\n\nconst stepWeights: { [key in Step]: number } = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\n\nconst priorityWeights: { [key in Priority]: number } = {\n high: 3,\n normal: 2,\n low: 1,\n};\n","import { constructStack } from \"@aws-sdk/middleware-stack\";\nimport { Client as IClient, Command, MetadataBearer, RequestHandler } from \"@aws-sdk/types\";\n\nexport interface SmithyConfiguration<HandlerOptions> {\n requestHandler: RequestHandler<any, any, HandlerOptions>;\n /**\n * The API version set internally by the SDK, and is\n * not planned to be used by customer code.\n * @internal\n */\n readonly apiVersion: string;\n}\n\nexport type SmithyResolvedConfiguration<HandlerOptions> = SmithyConfiguration<HandlerOptions>;\n\nexport class Client<\n HandlerOptions,\n ClientInput extends object,\n ClientOutput extends MetadataBearer,\n ResolvedClientConfiguration extends SmithyResolvedConfiguration<HandlerOptions>\n> implements IClient<ClientInput, ClientOutput, ResolvedClientConfiguration> {\n public middlewareStack = constructStack<ClientInput, ClientOutput>();\n readonly config: ResolvedClientConfiguration;\n constructor(config: ResolvedClientConfiguration) {\n this.config = config;\n }\n send<InputType extends ClientInput, OutputType extends ClientOutput>(\n command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>,\n options?: HandlerOptions\n ): Promise<OutputType>;\n send<InputType extends ClientInput, OutputType extends ClientOutput>(\n command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>,\n cb: (err: any, data?: OutputType) => void\n ): void;\n send<InputType extends ClientInput, OutputType extends ClientOutput>(\n command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>,\n options: HandlerOptions,\n cb: (err: any, data?: OutputType) => void\n ): void;\n send<InputType extends ClientInput, OutputType extends ClientOutput>(\n command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>,\n optionsOrCb?: HandlerOptions | ((err: any, data?: OutputType) => void),\n cb?: (err: any, data?: OutputType) => void\n ): Promise<OutputType> | void {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? (optionsOrCb as (err: any, data?: OutputType) => void) : cb;\n const handler = command.resolveMiddleware(this.middlewareStack as any, this.config, options);\n if (callback) {\n handler(command)\n .then(\n (result) => callback(null, result.output),\n (err: any) => callback(err)\n )\n .catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n () => {}\n );\n } else {\n return handler(command).then((result) => result.output);\n }\n }\n\n destroy() {\n if (this.config.requestHandler.destroy) this.config.requestHandler.destroy();\n }\n}\n","import { constructStack } from \"@aws-sdk/middleware-stack\";\nimport { Command as ICommand, Handler, MetadataBearer, MiddlewareStack as IMiddlewareStack } from \"@aws-sdk/types\";\n\nexport abstract class Command<\n Input extends ClientInput,\n Output extends ClientOutput,\n ResolvedClientConfiguration,\n ClientInput extends object = any,\n ClientOutput extends MetadataBearer = any\n> implements ICommand<ClientInput, Input, ClientOutput, Output, ResolvedClientConfiguration> {\n abstract input: Input;\n readonly middlewareStack: IMiddlewareStack<Input, Output> = constructStack<Input, Output>();\n abstract resolveMiddleware(\n stack: IMiddlewareStack<ClientInput, ClientOutput>,\n configuration: ResolvedClientConfiguration,\n options: any\n ): Handler<Input, Output>;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * Lazy String holder for JSON typed contents.\n */\n\ninterface StringWrapper {\n new (arg: any): String;\n}\n\n/**\n * Because of https://github.com/microsoft/tslib/issues/95,\n * TS 'extends' shim doesn't support extending native types like String.\n * So here we create StringWrapper that duplicate everything from String\n * class including its prototype chain. So we can extend from here.\n */\n// @ts-ignore StringWrapper implementation is not a simple constructor\nexport const StringWrapper: StringWrapper = function () {\n //@ts-ignore 'this' cannot be assigned to any, but Object.getPrototypeOf accepts any\n const Class = Object.getPrototypeOf(this).constructor;\n const Constructor = Function.bind.apply(String, [null as any, ...arguments]);\n //@ts-ignore Call wrapped String constructor directly, don't bother typing it.\n const instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance as String;\n};\nStringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(StringWrapper, String);\n\nexport class LazyJsonString extends StringWrapper {\n deserializeJSON(): any {\n return JSON.parse(super.toString());\n }\n\n toJSON(): string {\n return super.toString();\n }\n\n static fromObject(object: any): LazyJsonString {\n if (object instanceof LazyJsonString) {\n return object;\n } else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n }\n}\n","import { CognitoIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../CognitoIdentityClient\";\nimport { GetCredentialsForIdentityInput, GetCredentialsForIdentityResponse } from \"../models/models_0\";\nimport {\n deserializeAws_json1_1GetCredentialsForIdentityCommand,\n serializeAws_json1_1GetCredentialsForIdentityCommand,\n} from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type GetCredentialsForIdentityCommandInput = GetCredentialsForIdentityInput;\nexport type GetCredentialsForIdentityCommandOutput = GetCredentialsForIdentityResponse & __MetadataBearer;\n\n/**\n * <p>Returns credentials for the provided identity ID. Any provided logins will be\n * validated against supported login providers. If the token is for\n * cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service\n * with the appropriate role for the token.</p>\n * <p>This is a public API. You do not need any credentials to call this API.</p>\n */\nexport class GetCredentialsForIdentityCommand extends $Command<\n GetCredentialsForIdentityCommandInput,\n GetCredentialsForIdentityCommandOutput,\n CognitoIdentityClientResolvedConfig\n> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: GetCredentialsForIdentityCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,\n configuration: CognitoIdentityClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler<GetCredentialsForIdentityCommandInput, GetCredentialsForIdentityCommandOutput> {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"CognitoIdentityClient\";\n const commandName = \"GetCredentialsForIdentityCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: GetCredentialsForIdentityInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetCredentialsForIdentityResponse.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments<any>) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: GetCredentialsForIdentityCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_json1_1GetCredentialsForIdentityCommand(input, context);\n }\n\n private deserialize(\n output: __HttpResponse,\n context: __SerdeContext\n ): Promise<GetCredentialsForIdentityCommandOutput> {\n return deserializeAws_json1_1GetCredentialsForIdentityCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * An error representing a failure of an individual credential provider.\n *\n * This error class has special meaning to the {@link chain} method. If a\n * provider in the chain is rejected with an error, the chain will only proceed\n * to the next provider if the value of the `tryNextLink` property on the error\n * is truthy. This allows individual providers to halt the chain and also\n * ensures the chain will stop if an entirely unexpected error is encountered.\n */\nexport class ProviderError extends Error {\n constructor(message: string, public readonly tryNextLink: boolean = true) {\n super(message);\n }\n}\n","import { Logins, ResolvedLogins } from \"./Logins\";\n\n/**\n * @internal\n */\nexport function resolveLogins(logins: Logins): Promise<ResolvedLogins> {\n return Promise.all(\n Object.keys(logins).reduce((arr: Array<[string, string] | Promise<[string, string]>>, name: string) => {\n const tokenOrProvider = logins[name];\n if (typeof tokenOrProvider === \"string\") {\n arr.push([name, tokenOrProvider] as [string, string]);\n } else {\n arr.push(tokenOrProvider().then((token) => [name, token] as [string, string]));\n }\n return arr;\n }, [] as Array<Promise<[string, string]>>)\n ).then((resolvedPairs) =>\n resolvedPairs.reduce((logins: ResolvedLogins, [key, value]) => {\n logins[key] = value;\n return logins;\n }, {} as ResolvedLogins)\n );\n}\n","import { GetCredentialsForIdentityCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { CredentialProvider, Credentials } from \"@aws-sdk/types\";\n\nimport { CognitoProviderParameters } from \"./CognitoProviderParameters\";\nimport { resolveLogins } from \"./resolveLogins\";\n\nexport interface CognitoIdentityCredentials extends Credentials {\n /**\n * The Cognito ID returned by the last call to AWS.CognitoIdentity.getOpenIdToken().\n */\n identityId: string;\n}\n\n/**\n * Retrieves temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from this function call are not cached internally.\n */\nexport function fromCognitoIdentity(parameters: FromCognitoIdentityParameters): CredentialProvider {\n return async (): Promise<CognitoIdentityCredentials> => {\n const {\n Credentials: {\n AccessKeyId = throwOnMissingAccessKeyId(),\n Expiration,\n SecretKey = throwOnMissingSecretKey(),\n SessionToken,\n } = throwOnMissingCredentials(),\n } = await parameters.client.send(\n new GetCredentialsForIdentityCommand({\n CustomRoleArn: parameters.customRoleArn,\n IdentityId: parameters.identityId,\n Logins: parameters.logins ? await resolveLogins(parameters.logins) : undefined,\n })\n );\n\n return {\n identityId: parameters.identityId,\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n };\n };\n}\n\nexport interface FromCognitoIdentityParameters extends CognitoProviderParameters {\n /**\n * The unique identifier for the identity against which credentials will be\n * issued.\n */\n identityId: string;\n}\n\nfunction throwOnMissingAccessKeyId(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no access key ID\");\n}\n\nfunction throwOnMissingCredentials(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no credentials\");\n}\n\nfunction throwOnMissingSecretKey(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no secret key\");\n}\n","import { CognitoIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from \"../CognitoIdentityClient\";\nimport { GetIdInput, GetIdResponse } from \"../models/models_0\";\nimport { deserializeAws_json1_1GetIdCommand, serializeAws_json1_1GetIdCommand } from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\nimport {\n FinalizeHandlerArguments,\n Handler,\n HandlerExecutionContext,\n MiddlewareStack,\n HttpHandlerOptions as __HttpHandlerOptions,\n MetadataBearer as __MetadataBearer,\n SerdeContext as __SerdeContext,\n} from \"@aws-sdk/types\";\n\nexport type GetIdCommandInput = GetIdInput;\nexport type GetIdCommandOutput = GetIdResponse & __MetadataBearer;\n\n/**\n * <p>Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an\n * implicit linked account.</p>\n * <p>This is a public API. You do not need any credentials to call this API.</p>\n */\nexport class GetIdCommand extends $Command<GetIdCommandInput, GetIdCommandOutput, CognitoIdentityClientResolvedConfig> {\n // Start section: command_properties\n // End section: command_properties\n\n constructor(readonly input: GetIdCommandInput) {\n // Start section: command_constructor\n super();\n // End section: command_constructor\n }\n\n /**\n * @internal\n */\n resolveMiddleware(\n clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,\n configuration: CognitoIdentityClientResolvedConfig,\n options?: __HttpHandlerOptions\n ): Handler<GetIdCommandInput, GetIdCommandOutput> {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n\n const stack = clientStack.concat(this.middlewareStack);\n\n const { logger } = configuration;\n const clientName = \"CognitoIdentityClient\";\n const commandName = \"GetIdCommand\";\n const handlerExecutionContext: HandlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog: GetIdInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetIdResponse.filterSensitiveLog,\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request: FinalizeHandlerArguments<any>) =>\n requestHandler.handle(request.request as __HttpRequest, options || {}),\n handlerExecutionContext\n );\n }\n\n private serialize(input: GetIdCommandInput, context: __SerdeContext): Promise<__HttpRequest> {\n return serializeAws_json1_1GetIdCommand(input, context);\n }\n\n private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<GetIdCommandOutput> {\n return deserializeAws_json1_1GetIdCommand(output, context);\n }\n\n // Start section: command_body_extra\n // End section: command_body_extra\n}\n","import { Storage } from \"./Storage\";\n\nconst STORE_NAME = \"IdentityIds\";\n\nexport class IndexedDbStorage implements Storage {\n constructor(private readonly dbName: string = \"aws:cognito-identity-ids\") {}\n\n getItem(key: string): Promise<string | null> {\n return this.withObjectStore(\"readonly\", (store) => {\n const req = store.get(key);\n\n return new Promise<string | null>((resolve) => {\n req.onerror = () => resolve(null);\n\n req.onsuccess = () => resolve(req.result ? req.result.value : null);\n });\n }).catch(() => null);\n }\n\n removeItem(key: string): Promise<void> {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.delete(key);\n\n return new Promise<void>((resolve, reject) => {\n req.onerror = () => reject(req.error);\n\n req.onsuccess = () => resolve();\n });\n });\n }\n\n setItem(id: string, value: string): Promise<void> {\n return this.withObjectStore(\"readwrite\", (store) => {\n const req = store.put({ id, value });\n\n return new Promise<void>((resolve, reject) => {\n req.onerror = () => reject(req.error);\n\n req.onsuccess = () => resolve();\n });\n });\n }\n\n private getDb(): Promise<IDBDatabase> {\n const openDbRequest = self.indexedDB.open(this.dbName, 1);\n return new Promise((resolve, reject) => {\n openDbRequest.onsuccess = () => {\n resolve(openDbRequest.result);\n };\n\n openDbRequest.onerror = () => {\n reject(openDbRequest.error);\n };\n\n openDbRequest.onblocked = () => {\n reject(new Error(\"Unable to access DB\"));\n };\n\n openDbRequest.onupgradeneeded = () => {\n const db = openDbRequest.result;\n db.onerror = () => {\n reject(new Error(\"Failed to create object store\"));\n };\n\n db.createObjectStore(STORE_NAME, { keyPath: \"id\" });\n };\n });\n }\n\n private withObjectStore<R>(mode: IDBTransactionMode, action: (store: IDBObjectStore) => Promise<R>): Promise<R> {\n return this.getDb().then((db) => {\n const tx = db.transaction(STORE_NAME, mode);\n tx.oncomplete = () => db.close();\n\n return new Promise<R>((resolve, reject) => {\n tx.onerror = () => reject(tx.error);\n\n resolve(action(tx.objectStore(STORE_NAME)));\n }).catch((err) => {\n db.close();\n throw err;\n });\n });\n }\n}\n","import { Storage } from \"./Storage\";\n\nexport class InMemoryStorage implements Storage {\n constructor(private store: { [key: string]: string } = {}) {}\n\n getItem(key: string): string | null {\n if (key in this.store) {\n return this.store[key];\n }\n\n return null;\n }\n\n removeItem(key: string): void {\n delete this.store[key];\n }\n\n setItem(key: string, value: string): void {\n this.store[key] = value;\n }\n}\n","import { IndexedDbStorage } from \"./IndexedDbStorage\";\nimport { InMemoryStorage } from \"./InMemoryStorage\";\nimport { Storage } from \"./Storage\";\n\nconst inMemoryStorage = new InMemoryStorage();\n\nexport function localStorage(): Storage {\n if (typeof self === \"object\" && self.indexedDB) {\n return new IndexedDbStorage();\n }\n\n if (typeof window === \"object\" && window.localStorage) {\n return window.localStorage;\n }\n\n return inMemoryStorage;\n}\n","import { GetIdCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { CredentialProvider } from \"@aws-sdk/types\";\n\nimport { CognitoProviderParameters } from \"./CognitoProviderParameters\";\nimport { fromCognitoIdentity } from \"./fromCognitoIdentity\";\nimport { localStorage } from \"./localStorage\";\nimport { resolveLogins } from \"./resolveLogins\";\nimport { Storage } from \"./Storage\";\n\n/**\n * Retrieves or generates a unique identifier using Amazon Cognito's `GetId`\n * operation, then generates temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from `GetId` are cached internally, but results from\n * `GetCredentialsForIdentity` are not.\n */\nexport function fromCognitoIdentityPool({\n accountId,\n cache = localStorage(),\n client,\n customRoleArn,\n identityPoolId,\n logins,\n userIdentifier = !logins || Object.keys(logins).length === 0 ? \"ANONYMOUS\" : undefined,\n}: FromCognitoIdentityPoolParameters): CredentialProvider {\n const cacheKey = userIdentifier ? `aws:cognito-identity-credentials:${identityPoolId}:${userIdentifier}` : undefined;\n\n let provider: CredentialProvider = async () => {\n let identityId = cacheKey && (await cache.getItem(cacheKey));\n if (!identityId) {\n const { IdentityId = throwOnMissingId() } = await client.send(\n new GetIdCommand({\n AccountId: accountId,\n IdentityPoolId: identityPoolId,\n Logins: logins ? await resolveLogins(logins) : undefined,\n })\n );\n identityId = IdentityId;\n if (cacheKey) {\n Promise.resolve(cache.setItem(cacheKey, identityId)).catch(() => {});\n }\n }\n\n provider = fromCognitoIdentity({\n client,\n customRoleArn,\n logins,\n identityId,\n });\n\n return provider();\n };\n\n return () =>\n provider().catch(async (err) => {\n if (cacheKey) {\n Promise.resolve(cache.removeItem(cacheKey)).catch(() => {});\n }\n\n throw err;\n });\n}\n\nexport interface FromCognitoIdentityPoolParameters extends CognitoProviderParameters {\n /**\n * A standard AWS account ID (9+ digits).\n */\n accountId?: string;\n\n /**\n * A cache in which to store resolved Cognito IdentityIds. If not supplied,\n * the credential provider will attempt to store IdentityIds in one of the\n * following (in order of preference):\n * 1. IndexedDB\n * 2. LocalStorage\n * 3. An in-memory cache object that will not persist between pages.\n *\n * IndexedDB is preferred to maximize data sharing between top-level\n * browsing contexts and web workers.\n *\n * The provider will not cache IdentityIds of authenticated users unless a\n * separate `userIdentitifer` parameter is supplied.\n */\n cache?: Storage;\n\n /**\n * The unique identifier for the identity pool from which an identity should\n * be retrieved or generated.\n */\n identityPoolId: string;\n\n /**\n * A unique identifier for the user. This is distinct from a Cognito\n * IdentityId and should instead be an identifier meaningful to your\n * application. Used to cache Cognito IdentityIds on a per-user basis.\n */\n userIdentifier?: string;\n}\n\nfunction throwOnMissingId(): never {\n throw new ProviderError(\"Response from Amazon Cognito contained no identity ID\");\n}\n","import { AmplifyConfig } from './types';\nimport { ConsoleLogger as Logger } from './Logger';\n\nconst logger = new Logger('Parser');\n\nexport const parseAWSExports = (config): AmplifyConfig => {\n\tconst amplifyConfig: AmplifyConfig = {};\n\t// Analytics\n\tif (config['aws_mobile_analytics_app_id']) {\n\t\tconst Analytics = {\n\t\t\tAWSPinpoint: {\n\t\t\t\tappId: config['aws_mobile_analytics_app_id'],\n\t\t\t\tregion: config['aws_mobile_analytics_app_region'],\n\t\t\t},\n\t\t};\n\t\tamplifyConfig.Analytics = Analytics;\n\t}\n\n\t// Auth\n\tif (config['aws_cognito_identity_pool_id'] || config['aws_user_pools_id']) {\n\t\tamplifyConfig.Auth = {\n\t\t\tuserPoolId: config['aws_user_pools_id'],\n\t\t\tuserPoolWebClientId: config['aws_user_pools_web_client_id'],\n\t\t\tregion: config['aws_cognito_region'],\n\t\t\tidentityPoolId: config['aws_cognito_identity_pool_id'],\n\t\t\tidentityPoolRegion: config['aws_cognito_region'],\n\t\t\tmandatorySignIn: config['aws_mandatory_sign_in'] === 'enable',\n\t\t\tsignUpVerificationMethod:\n\t\t\t\tconfig['aws_cognito_sign_up_verification_method'] || 'code',\n\t\t};\n\t}\n\n\t// Storage\n\tlet storageConfig;\n\tif (config['aws_user_files_s3_bucket']) {\n\t\tstorageConfig = {\n\t\t\tAWSS3: {\n\t\t\t\tbucket: config['aws_user_files_s3_bucket'],\n\t\t\t\tregion: config['aws_user_files_s3_bucket_region'],\n\t\t\t\tdangerouslyConnectToHttpEndpointForTesting:\n\t\t\t\t\tconfig[\n\t\t\t\t\t\t'aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing'\n\t\t\t\t\t],\n\t\t\t},\n\t\t};\n\t} else {\n\t\tstorageConfig = config ? config.Storage || config : {};\n\t}\n\n\t// Logging\n\tif (config['Logging']) {\n\t\tamplifyConfig.Logging = {\n\t\t\t...config['Logging'],\n\t\t\tregion: config['aws_project_region'],\n\t\t};\n\t}\n\n\t// Geo\n\tif (config['geo']) {\n\t\tamplifyConfig.Geo = Object.assign({}, config.geo);\n\t\tif (config.geo['amazon_location_service']) {\n\t\t\tamplifyConfig.Geo = {\n\t\t\t\tAmazonLocationService: config.geo['amazon_location_service'],\n\t\t\t};\n\t\t}\n\t}\n\n\tamplifyConfig.Analytics = Object.assign(\n\t\t{},\n\t\tamplifyConfig.Analytics,\n\t\tconfig.Analytics\n\t);\n\tamplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth);\n\tamplifyConfig.Storage = Object.assign({}, storageConfig);\n\tamplifyConfig.Logging = Object.assign(\n\t\t{},\n\t\tamplifyConfig.Logging,\n\t\tconfig.Logging\n\t);\n\tlogger.debug('parse config', config, 'to amplifyconfig', amplifyConfig);\n\treturn amplifyConfig;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const escapeUri = (uri: string): string =>\n // AWS percent-encodes some extra non-standard characters in a URI\n encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n\nconst hexEncode = (c: string) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","const alphabetByEncoding: { [key: string]: number } = {};\nconst alphabetByValue: Array<string> = new Array(64);\n\nfor (let i = 0, start = \"A\".charCodeAt(0), limit = \"Z\".charCodeAt(0); i + start <= limit; i++) {\n const char = String.fromCharCode(i + start);\n alphabetByEncoding[char] = i;\n alphabetByValue[i] = char;\n}\n\nfor (let i = 0, start = \"a\".charCodeAt(0), limit = \"z\".charCodeAt(0); i + start <= limit; i++) {\n const char = String.fromCharCode(i + start);\n const index = i + 26;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\n\nfor (let i = 0; i < 10; i++) {\n alphabetByEncoding[i.toString(10)] = i + 52;\n const char = i.toString(10);\n const index = i + 52;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\n\nalphabetByEncoding[\"+\"] = 62;\nalphabetByValue[62] = \"+\";\nalphabetByEncoding[\"/\"] = 63;\nalphabetByValue[63] = \"/\";\n\nconst bitsPerLetter = 6;\nconst bitsPerByte = 8;\nconst maxLetterValue = 0b111111;\n\n/**\n * Converts a base-64 encoded string to a Uint8Array of bytes.\n *\n * @param input The base-64 encoded string\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function fromBase64(input: string): Uint8Array {\n let totalByteLength = (input.length / 4) * 3;\n if (input.substr(-2) === \"==\") {\n totalByteLength -= 2;\n } else if (input.substr(-1) === \"=\") {\n totalByteLength--;\n }\n const out = new ArrayBuffer(totalByteLength);\n const dataView = new DataView(out);\n for (let i = 0; i < input.length; i += 4) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n } else {\n bits >>= bitsPerLetter;\n }\n }\n\n const chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n const byteLength = Math.floor(bitLength / bitsPerByte);\n for (let k = 0; k < byteLength; k++) {\n const offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n\n return new Uint8Array(out);\n}\n\n/**\n * Converts a Uint8Array of binary data to a base-64 encoded string.\n *\n * @param input The binary data to encode\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function toBase64(input: Uint8Array): string {\n let str = \"\";\n for (let i = 0; i < input.length; i += 3) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n\n const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (let k = 1; k <= bitClusterCount; k++) {\n const offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n\n return str;\n}\n","import { HttpHandler, HttpRequest, HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { buildQueryString } from \"@aws-sdk/querystring-builder\";\nimport { HeaderBag, HttpHandlerOptions } from \"@aws-sdk/types\";\n\nimport { requestTimeout } from \"./request-timeout\";\n\ndeclare let AbortController: any;\n\n/**\n * Represents the http options that can be passed to a browser http client.\n */\nexport interface FetchHttpHandlerOptions {\n /**\n * The number of milliseconds a request can take before being automatically\n * terminated.\n */\n requestTimeout?: number;\n}\n\nexport class FetchHttpHandler implements HttpHandler {\n private readonly requestTimeout?: number;\n\n constructor({ requestTimeout }: FetchHttpHandlerOptions = {}) {\n this.requestTimeout = requestTimeout;\n }\n\n destroy(): void {\n // Do nothing. TLS and HTTP/2 connection pooling is handled by the browser.\n }\n\n handle(request: HttpRequest, { abortSignal }: HttpHandlerOptions = {}): Promise<{ response: HttpResponse }> {\n const requestTimeoutInMs = this.requestTimeout;\n\n // if the request was already aborted, prevent doing extra work\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n\n let path = request.path;\n if (request.query) {\n const queryString = buildQueryString(request.query);\n if (queryString) {\n path += `?${queryString}`;\n }\n }\n\n const { port, method } = request;\n const url = `${request.protocol}//${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n // Request constructor doesn't allow GET/HEAD request with body\n // ref: https://github.com/whatwg/fetch/issues/551\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions: RequestInit = {\n body,\n headers: new Headers(request.headers),\n method: method,\n };\n\n // some browsers support abort signal\n if (typeof AbortController !== \"undefined\") {\n (requestOptions as any)[\"signal\"] = abortSignal;\n }\n\n const fetchRequest = new Request(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders: any = response.headers;\n const transformedHeaders: HeaderBag = {};\n\n for (const pair of <Array<string[]>>fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n\n const hasReadableStream = response.body !== undefined;\n\n // Return the response with buffered body\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body,\n }),\n }));\n }\n // Return the response with streaming body\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(\n new Promise<never>((resolve, reject) => {\n abortSignal.onabort = () => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n })\n );\n }\n return Promise.race(raceOfPromises);\n }\n}\n","import { QueryParameterBag } from \"@aws-sdk/types\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\n\nexport function buildQueryString(query: QueryParameterBag): string {\n const parts: string[] = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n } else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n\n return parts.join(\"&\");\n}\n","export function requestTimeout(timeoutInMs = 0): Promise<never> {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n","import { StreamCollector } from \"@aws-sdk/types\";\nimport { fromBase64 } from \"@aws-sdk/util-base64-browser\";\n\n//reference: https://snack.expo.io/r1JCSWRGU\nexport const streamCollector: StreamCollector = (stream: Blob | ReadableStream): Promise<Uint8Array> => {\n if (typeof Blob === \"function\" && stream instanceof Blob) {\n return collectBlob(stream);\n }\n\n return collectStream(stream as ReadableStream);\n};\n\nasync function collectBlob(blob: Blob): Promise<Uint8Array> {\n const base64 = await readToBase64(blob);\n const arrayBuffer = fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\n\nasync function collectStream(stream: ReadableStream): Promise<Uint8Array> {\n let res = new Uint8Array(0);\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n const prior = res;\n res = new Uint8Array(prior.length + value.length);\n res.set(prior);\n res.set(value, prior.length);\n }\n isDone = done;\n }\n return res;\n}\n\nfunction readToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\") as string;\n // Response can include only 'data:' for empty blob, return empty string in this case.\n // Otherwise, return the string after ','\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n // reader.readAsArrayBuffer is not always available\n reader.readAsDataURL(blob);\n });\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n AbsoluteLocation,\n FinalizeHandler,\n FinalizeHandlerArguments,\n FinalizeHandlerOutput,\n FinalizeRequestHandlerOptions,\n HandlerExecutionContext,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\nimport { RetryResolvedConfig } from \"./configurations\";\n\nexport const retryMiddleware = (options: RetryResolvedConfig) => <Output extends MetadataBearer = MetadataBearer>(\n next: FinalizeHandler<any, Output>,\n context: HandlerExecutionContext\n): FinalizeHandler<any, Output> => async (\n args: FinalizeHandlerArguments<any>\n): Promise<FinalizeHandlerOutput<Output>> => {\n if (options?.retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", options.retryStrategy.mode]];\n return options.retryStrategy.retry(next, args);\n};\n\nexport const retryMiddlewareOptions: FinalizeRequestHandlerOptions & AbsoluteLocation = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\n\nexport const getRetryPlugin = (options: RetryResolvedConfig): Pluggable<any, any> => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\n","/**\n * Errors encountered when the client clock and server clock cannot agree on the\n * current time.\n *\n * These errors are retryable, assuming the SDK has enabled clock skew\n * correction.\n */\nexport const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\n\n/**\n * Errors that indicate the SDK is being throttled.\n *\n * These errors are always retryable.\n */\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\", // DynamoDB\n];\n\n/**\n * Error codes that indicate transient issues\n */\nexport const TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\n\n/**\n * Error codes that indicate transient issues\n */\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\n","import { SdkError } from \"@aws-sdk/smithy-client\";\n\nimport {\n CLOCK_SKEW_ERROR_CODES,\n THROTTLING_ERROR_CODES,\n TRANSIENT_ERROR_CODES,\n TRANSIENT_ERROR_STATUS_CODES,\n} from \"./constants\";\n\nexport const isRetryableByTrait = (error: SdkError) => error.$retryable !== undefined;\n\nexport const isClockSkewError = (error: SdkError) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\n\nexport const isThrottlingError = (error: SdkError) =>\n error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\n\nexport const isTransientError = (error: SdkError) =>\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0);\n","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\n\n/**\n * Calculate a capped, fully-jittered exponential backoff time.\n */\nexport const defaultDelayDecider = (delayBase: number, attempts: number) =>\n Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n","/**\n * The base number of milliseconds to use in calculating a suitable cool-down\n * time when a retryable error is encountered.\n */\nexport const DEFAULT_RETRY_DELAY_BASE = 100;\n\n/**\n * The maximum amount of time (in milliseconds) that will be used as a delay\n * between retry attempts.\n */\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\n\n/**\n * The retry delay base (in milliseconds) to use when a throttling error is\n * encountered.\n */\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\n\n/**\n * Initial number of retry tokens in Retry Quota\n */\nexport const INITIAL_RETRY_TOKENS = 500;\n\n/**\n * The total amount of retry tokens to be decremented from retry token balance.\n */\nexport const RETRY_COST = 5;\n\n/**\n * The total amount of retry tokens to be decremented from retry token balance\n * when a throttling error is encountered.\n */\nexport const TIMEOUT_RETRY_COST = 10;\n\n/**\n * The total amount of retry token to be incremented from retry token balance\n * if an SDK operation invocation succeeds without requiring a retry request.\n */\nexport const NO_RETRY_INCREMENT = 1;\n\n/**\n * Header name for SDK invocation ID\n */\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\n\n/**\n * Header name for request retry information.\n */\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n","import {\n isClockSkewError,\n isRetryableByTrait,\n isThrottlingError,\n isTransientError,\n} from \"@aws-sdk/service-error-classification\";\nimport { SdkError } from \"@aws-sdk/smithy-client\";\n\nexport const defaultRetryDecider = (error: SdkError) => {\n if (!error) {\n return false;\n }\n\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { isThrottlingError } from \"@aws-sdk/service-error-classification\";\nimport { SdkError } from \"@aws-sdk/smithy-client\";\nimport { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, RetryStrategy } from \"@aws-sdk/types\";\nimport { v4 } from \"uuid\";\n\nimport {\n DEFAULT_RETRY_DELAY_BASE,\n INITIAL_RETRY_TOKENS,\n INVOCATION_ID_HEADER,\n REQUEST_HEADER,\n THROTTLING_RETRY_DELAY_BASE,\n} from \"./constants\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\n\n/**\n * The default value for how many HTTP requests an SDK should make for a\n * single SDK operation invocation before giving up\n */\nexport const DEFAULT_MAX_ATTEMPTS = 3;\n\n/**\n * The default retry algorithm to use.\n */\nexport const DEFAULT_RETRY_MODE = \"standard\";\n\n/**\n * Determines whether an error is retryable based on the number of retries\n * already attempted, the HTTP status code, and the error received (if any).\n *\n * @param error The error encountered.\n */\nexport interface RetryDecider {\n (error: SdkError): boolean;\n}\n\n/**\n * Determines the number of milliseconds to wait before retrying an action.\n *\n * @param delayBase The base delay (in milliseconds).\n * @param attempts The number of times the action has already been tried.\n */\nexport interface DelayDecider {\n (delayBase: number, attempts: number): number;\n}\n\n/**\n * Interface that specifies the retry quota behavior.\n */\nexport interface RetryQuota {\n /**\n * returns true if retry tokens are available from the retry quota bucket.\n */\n hasRetryTokens: (error: SdkError) => boolean;\n\n /**\n * returns token amount from the retry quota bucket.\n * throws error is retry tokens are not available.\n */\n retrieveRetryTokens: (error: SdkError) => number;\n\n /**\n * releases tokens back to the retry quota.\n */\n releaseRetryTokens: (releaseCapacityAmount?: number) => void;\n}\n\n/**\n * Strategy options to be passed to StandardRetryStrategy\n */\nexport interface StandardRetryStrategyOptions {\n retryDecider?: RetryDecider;\n delayDecider?: DelayDecider;\n retryQuota?: RetryQuota;\n}\n\nexport class StandardRetryStrategy implements RetryStrategy {\n private retryDecider: RetryDecider;\n private delayDecider: DelayDecider;\n private retryQuota: RetryQuota;\n public readonly mode = DEFAULT_RETRY_MODE;\n\n constructor(private readonly maxAttemptsProvider: Provider<number>, options?: StandardRetryStrategyOptions) {\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n\n private shouldRetry(error: SdkError, attempts: number, maxAttempts: number) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n\n private async getMaxAttempts() {\n let maxAttempts: number;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n } catch (error) {\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n\n async retry<Input extends object, Ouput extends MetadataBearer>(\n next: FinalizeHandler<Input, Ouput>,\n args: FinalizeHandlerArguments<Input>\n ) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n\n const maxAttempts = await this.getMaxAttempts();\n\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n\n while (true) {\n try {\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n\n return { response, output };\n } catch (err) {\n attempts++;\n if (this.shouldRetry(err as SdkError, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delay = this.delayDecider(\n isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE,\n attempts\n );\n totalDelay += delay;\n\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n\n if (!err.$metadata) {\n err.$metadata = {};\n }\n\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\n","import { SdkError } from \"@aws-sdk/smithy-client\";\n\nimport { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"./constants\";\nimport { RetryQuota } from \"./defaultStrategy\";\n\nexport const getDefaultRetryQuota = (initialRetryTokens: number): RetryQuota => {\n const MAX_CAPACITY = initialRetryTokens;\n let availableCapacity = initialRetryTokens;\n\n const getCapacityAmount = (error: SdkError) => (error.name === \"TimeoutError\" ? TIMEOUT_RETRY_COST : RETRY_COST);\n\n const hasRetryTokens = (error: SdkError) => getCapacityAmount(error) <= availableCapacity;\n\n const retrieveRetryTokens = (error: SdkError) => {\n if (!hasRetryTokens(error)) {\n // retryStrategy should stop retrying, and return last error\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n\n const releaseRetryTokens = (capacityReleaseAmount?: number) => {\n availableCapacity += capacityReleaseAmount ?? NO_RETRY_INCREMENT;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\n","import { LoadedConfigSelectors } from \"@aws-sdk/node-config-provider\";\nimport { Provider, RetryStrategy } from \"@aws-sdk/types\";\n\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, StandardRetryStrategy } from \"./defaultStrategy\";\n\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\n\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS: LoadedConfigSelectors<number> = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value) return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value) return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\n\nexport interface RetryInputConfig {\n /**\n * The maximum number of times requests that encounter retryable failures should be attempted.\n */\n maxAttempts?: number | Provider<number>;\n /**\n * The strategy to retry the request. Using built-in exponential backoff strategy by default.\n */\n retryStrategy?: RetryStrategy;\n}\n\ninterface PreviouslyResolved {}\nexport interface RetryResolvedConfig {\n maxAttempts: Provider<number>;\n retryStrategy: RetryStrategy;\n}\n\nexport const resolveRetryConfig = <T>(input: T & PreviouslyResolved & RetryInputConfig): T & RetryResolvedConfig => {\n const maxAttempts = normalizeMaxAttempts(input.maxAttempts);\n return {\n ...input,\n maxAttempts,\n retryStrategy: input.retryStrategy || new StandardRetryStrategy(maxAttempts),\n };\n};\n\nconst normalizeMaxAttempts = (maxAttempts: number | Provider<number> = DEFAULT_MAX_ATTEMPTS): Provider<number> => {\n if (typeof maxAttempts === \"number\") {\n const promisified = Promise.resolve(maxAttempts);\n return () => promisified;\n }\n return maxAttempts;\n};\n\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\n\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS: LoadedConfigSelectors<string> = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { RegionInfo, RegionInfoProvider } from \"@aws-sdk/types\";\n\n// Partition default templates\nconst AWS_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\nconst AWS_CN_TEMPLATE = \"cognito-identity.{region}.amazonaws.com.cn\";\nconst AWS_ISO_TEMPLATE = \"cognito-identity.{region}.c2s.ic.gov\";\nconst AWS_ISO_B_TEMPLATE = \"cognito-identity.{region}.sc2s.sgov.gov\";\nconst AWS_US_GOV_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\n\n// Partition regions\nconst AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nconst AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nconst AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nconst AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nconst AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\n\nexport const defaultRegionInfoProvider: RegionInfoProvider = (region: string, options?: any) => {\n let regionInfo: RegionInfo | undefined = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-south-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ca-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.ca-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"cn-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.cn-north-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-north-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-3\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-3.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"fips-us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-1.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"fips-us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-2\",\n };\n break;\n case \"fips-us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n signingRegion: \"us-gov-west-1\",\n };\n break;\n case \"fips-us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-west-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-west-2\",\n };\n break;\n case \"sa-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.sa-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n }\n return Promise.resolve({ signingService: \"cognito-identity\", ...regionInfo });\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { parseQueryString } from \"@aws-sdk/querystring-parser\";\nimport { Endpoint, QueryParameterBag, UrlParser } from \"@aws-sdk/types\";\n\nexport const parseUrl: UrlParser = (url: string): Endpoint => {\n const { hostname, pathname, port, protocol, search } = new URL(url);\n\n let query: QueryParameterBag | undefined;\n if (search) {\n query = parseQueryString(search);\n }\n\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { Logger as __Logger } from \"@aws-sdk/types\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n\n/**\n * @internal\n */\nexport const ClientSharedValues = {\n apiVersion: \"2014-06-30\",\n disableHostPrefix: false,\n logger: {} as __Logger,\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"Cognito Identity\",\n urlParser: parseUrl,\n};\n","import { QueryParameterBag } from \"@aws-sdk/types\";\n\nexport function parseQueryString(querystring: string): QueryParameterBag {\n const query: QueryParameterBag = {};\n querystring = querystring.replace(/^\\?/, \"\");\n\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n (query[key] as Array<string>).push(value as string);\n } else {\n query[key] = [query[key] as string, value as string];\n }\n }\n }\n\n return query;\n}\n","import packageInfo from \"./package.json\";\n\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientDefaults } from \"./CognitoIdentityClient\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n\n/**\n * @internal\n */\nexport const ClientDefaultValues: Required<ClientDefaults> = {\n ...ClientSharedValues,\n runtime: \"browser\",\n base64Decoder: fromBase64,\n base64Encoder: toBase64,\n bodyLengthChecker: calculateBodyLength,\n credentialDefaultProvider: (_: unknown) => () => Promise.reject(new Error(\"Credential is missing\")),\n defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }),\n maxAttempts: DEFAULT_MAX_ATTEMPTS,\n region: invalidProvider(\"Region is missing\"),\n requestHandler: new FetchHttpHandler(),\n sha256: Sha256,\n streamCollector,\n utf8Decoder: fromUtf8,\n utf8Encoder: toUtf8,\n};\n","export function calculateBodyLength(body: any): number | undefined {\n if (typeof body === \"string\") {\n let len = body.length;\n\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff) len++;\n else if (code > 0x7ff && code <= 0xffff) len += 2;\n }\n\n return len;\n } else if (typeof body.byteLength === \"number\") {\n // handles Uint8Array, ArrayBuffer, Buffer, and ArrayBufferView\n return body.byteLength;\n } else if (typeof body.size === \"number\") {\n // handles browser File object\n return body.size;\n }\n}\n","import { Provider, UserAgent } from \"@aws-sdk/types\";\nimport bowser from \"bowser\";\n\nimport { DefaultUserAgentOptions } from \"./configurations\";\n\n/**\n * Default provider to the user agent in browsers. It's a best effort to infer\n * the device information. It uses bowser library to detect the browser and virsion\n */\nexport const defaultUserAgent = ({\n serviceId,\n clientVersion,\n}: DefaultUserAgentOptions): Provider<UserAgent> => async () => {\n const parsedUA = window?.navigator?.userAgent ? bowser.parse(window.navigator.userAgent) : undefined;\n const sections: UserAgent = [\n // sdk-metadata\n [\"aws-sdk-js\", clientVersion],\n // os-metadata\n [`os/${parsedUA?.os?.name || \"other\"}`, parsedUA?.os?.version],\n // language-metadata\n // ECMAScript edition doesn't matter in JS.\n [\"lang/js\"],\n // browser vendor and version.\n [\"md/browser\", `${parsedUA?.browser?.name ?? \"unknown\"}_${parsedUA?.browser?.version ?? \"unknown\"}`],\n ];\n\n if (serviceId) {\n // api-metadata\n // service Id may not appear in non-AWS clients\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n\n return sections;\n};\n","import { Provider } from \"@aws-sdk/types\";\nexport const invalidProvider: (message: string) => Provider<any> = (message: string) => () => Promise.reject(message);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Endpoint, Provider, RegionInfoProvider, UrlParser } from \"@aws-sdk/types\";\n\nexport interface EndpointsInputConfig {\n /**\n * The fully qualified endpoint of the webservice. This is only required when using a custom endpoint (for example, when using a local version of S3).\n */\n endpoint?: string | Endpoint | Provider<Endpoint>;\n\n /**\n * Whether TLS is enabled for requests.\n */\n tls?: boolean;\n}\n\ninterface PreviouslyResolved {\n regionInfoProvider: RegionInfoProvider;\n urlParser: UrlParser;\n region: Provider<string>;\n}\n\nexport interface EndpointsResolvedConfig extends Required<EndpointsInputConfig> {\n endpoint: Provider<Endpoint>;\n isCustomEndpoint: boolean;\n}\n\nexport const resolveEndpointsConfig = <T>(\n input: T & EndpointsInputConfig & PreviouslyResolved\n): T & EndpointsResolvedConfig => ({\n ...input,\n tls: input.tls ?? true,\n endpoint: input.endpoint ? normalizeEndpoint(input) : () => getEndPointFromRegion(input),\n isCustomEndpoint: input.endpoint ? true : false,\n});\n\nconst normalizeEndpoint = (input: EndpointsInputConfig & PreviouslyResolved): Provider<Endpoint> => {\n const { endpoint, urlParser } = input;\n if (typeof endpoint === \"string\") {\n const promisified = Promise.resolve(urlParser(endpoint));\n return () => promisified;\n } else if (typeof endpoint === \"object\") {\n const promisified = Promise.resolve(endpoint);\n return () => promisified;\n }\n return endpoint!;\n};\n\nconst getEndPointFromRegion = async (input: EndpointsInputConfig & PreviouslyResolved) => {\n const { tls = true } = input;\n const region = await input.region();\n\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n\n const { hostname } = (await input.regionInfoProvider(region)) ?? {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\n","import { LoadedConfigSelectors, LocalConfigOptions } from \"@aws-sdk/node-config-provider\";\nimport { Provider } from \"@aws-sdk/types\";\n\nexport const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\n\nexport const NODE_REGION_CONFIG_OPTIONS: LoadedConfigSelectors<string> = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n },\n};\n\nexport const NODE_REGION_CONFIG_FILE_OPTIONS: LocalConfigOptions = {\n preferredFile: \"credentials\",\n};\n\nexport interface RegionInputConfig {\n /**\n * The AWS region to which this client will send requests\n */\n region?: string | Provider<string>;\n}\n\ninterface PreviouslyResolved {}\n\nexport interface RegionResolvedConfig {\n region: Provider<string>;\n}\n\nexport const resolveRegionConfig = <T>(input: T & RegionInputConfig & PreviouslyResolved): T & RegionResolvedConfig => {\n if (!input.region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: normalizeRegion(input.region!),\n };\n};\n\nconst normalizeRegion = (region: string | Provider<string>): Provider<string> => {\n if (typeof region === \"string\") {\n const promisified = Promise.resolve(region);\n return () => promisified;\n }\n return region as Provider<string>;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n BodyLengthCalculator,\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOptions,\n BuildHandlerOutput,\n BuildMiddleware,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\nconst CONTENT_LENGTH_HEADER = \"content-length\";\n\nexport function contentLengthMiddleware(bodyLengthChecker: BodyLengthCalculator): BuildMiddleware<any, any> {\n return <Output extends MetadataBearer>(next: BuildHandler<any, Output>): BuildHandler<any, Output> => async (\n args: BuildHandlerArguments<any>\n ): Promise<BuildHandlerOutput<Output>> => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (\n body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1\n ) {\n const length = bodyLengthChecker(body);\n if (length !== undefined) {\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n }\n }\n\n return next({\n ...args,\n request,\n });\n };\n}\n\nexport const contentLengthMiddlewareOptions: BuildHandlerOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\n\nexport const getContentLengthPlugin = (options: { bodyLengthChecker: BodyLengthCalculator }): Pluggable<any, any> => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { AbsoluteLocation, BuildHandlerOptions, BuildMiddleware, Pluggable, RequestHandler } from \"@aws-sdk/types\";\n\nexport interface HostHeaderInputConfig {}\ninterface PreviouslyResolved {\n requestHandler: RequestHandler<any, any>;\n}\nexport interface HostHeaderResolvedConfig {\n requestHandler: RequestHandler<any, any>;\n}\nexport function resolveHostHeaderConfig<T>(\n input: T & PreviouslyResolved & HostHeaderInputConfig\n): T & HostHeaderResolvedConfig {\n return input;\n}\n\nexport const hostHeaderMiddleware = <Input extends object, Output extends object>(\n options: HostHeaderResolvedConfig\n): BuildMiddleware<Input, Output> => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n //For H2 request, remove 'host' header and use ':authority' header instead\n //reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n //non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.\n } else if (!request.headers[\"host\"]) {\n request.headers[\"host\"] = request.hostname;\n }\n return next(args);\n};\n\nexport const hostHeaderMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\n\nexport const getHostHeaderPlugin = (options: HostHeaderResolvedConfig): Pluggable<any, any> => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpResponse } from \"@aws-sdk/protocol-http\";\nimport {\n AbsoluteLocation,\n HandlerExecutionContext,\n InitializeHandler,\n InitializeHandlerArguments,\n InitializeHandlerOptions,\n InitializeHandlerOutput,\n MetadataBearer,\n Pluggable,\n} from \"@aws-sdk/types\";\n\nexport const loggerMiddleware = () => <Output extends MetadataBearer = MetadataBearer>(\n next: InitializeHandler<any, Output>,\n context: HandlerExecutionContext\n): InitializeHandler<any, Output> => async (\n args: InitializeHandlerArguments<any>\n): Promise<InitializeHandlerOutput<Output>> => {\n const { clientName, commandName, inputFilterSensitiveLog, logger, outputFilterSensitiveLog } = context;\n\n const response = await next(args);\n\n if (!logger) {\n return response;\n }\n\n if (typeof logger.info === \"function\") {\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger.info({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n }\n\n return response;\n};\n\nexport const loggerMiddlewareOptions: InitializeHandlerOptions & AbsoluteLocation = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const getLoggerPlugin = (options: any): Pluggable<any, any> => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","const SHORT_TO_HEX: { [key: number]: string } = {};\nconst HEX_TO_SHORT: { [key: string]: number } = {};\n\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nexport function fromHex(encoded: string): Uint8Array {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.substr(i, 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n } else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n\n return out;\n}\n\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nexport function toHex(bytes: Uint8Array): string {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n\n return out;\n}\n","export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\n\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\n\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\n\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\n\nexport const SEC_HEADER_PATTERN = /^sec-/;\n\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\n\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\n\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\n\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\n\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\n\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","import { Credentials, HashConstructor, SourceData } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\n\nconst signingKeyCache: { [key: string]: Uint8Array } = {};\nconst cacheQueue: Array<string> = [];\n\n/**\n * Create a string describing the scope of credentials used to sign a request.\n *\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being sent.\n */\nexport function createScope(shortDate: string, region: string, service: string): string {\n return `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\n}\n\n/**\n * Derive a signing key from its composite parts\n *\n * @param sha256Constructor A constructor function that can instantiate SHA-256\n * hash objects.\n * @param credentials The credentials with which the request will be\n * signed.\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being\n * sent.\n */\nexport const getSigningKey = async (\n sha256Constructor: HashConstructor,\n credentials: Credentials,\n shortDate: string,\n region: string,\n service: string\n): Promise<Uint8Array> => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift() as string];\n }\n\n let key: SourceData = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key as Uint8Array);\n};\n\n/**\n * @internal\n */\nexport function clearCredentialCache(): void {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n}\n\nfunction hmac(ctor: HashConstructor, secret: SourceData, data: SourceData): Promise<Uint8Array> {\n const hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n}\n","import { HeaderBag, HttpRequest } from \"@aws-sdk/types\";\n\nimport { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\n\n/**\n * @internal\n */\nexport function getCanonicalHeaders(\n { headers }: HttpRequest,\n unsignableHeaders?: Set<string>,\n signableHeaders?: Set<string>\n): HeaderBag {\n const canonical: HeaderBag = {};\n for (const headerName of Object.keys(headers).sort()) {\n const canonicalHeaderName = headerName.toLowerCase();\n if (\n canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)\n ) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n\n return canonical;\n}\n","import { isArrayBuffer } from \"@aws-sdk/is-array-buffer\";\nimport { HashConstructor, HttpRequest } from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\n\n/**\n * @internal\n */\nexport async function getPayloadHash(\n { headers, body }: HttpRequest,\n hashConstructor: HashConstructor\n): Promise<string> {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n } else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(body);\n return toHex(await hashCtor.digest());\n }\n\n // As any defined body that is not a string or binary data is a stream, this\n // body is unsignable. Attempt to send the request with an unsigned payload,\n // which may or may not be accepted by the service.\n return UNSIGNED_PAYLOAD;\n}\n","export const isArrayBuffer = (arg: any): arg is ArrayBuffer =>\n (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n","import { HttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\n/**\n * @internal\n */\nexport function cloneRequest({ headers, query, ...rest }: HttpRequest): HttpRequest {\n return {\n ...rest,\n headers: { ...headers },\n query: query ? cloneQuery(query) : undefined,\n };\n}\n\nfunction cloneQuery(query: QueryParameterBag): QueryParameterBag {\n return Object.keys(query).reduce((carry: QueryParameterBag, paramName: string) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n","import { HttpRequest } from \"@aws-sdk/types\";\n\nimport { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\n\n/**\n * @internal\n */\nexport function prepareRequest(request: HttpRequest): HttpRequest {\n // Create a clone of the request object that does not clone the body\n request = typeof (request as any).clone === \"function\" ? (request as any).clone() : cloneRequest(request);\n\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n\n return request;\n}\n","export function iso8601(time: number | string | Date): string {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n}\n\nexport function toDate(time: number | string | Date): Date {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n\n return time;\n}\n","import {\n Credentials,\n DateInput,\n EventSigner,\n EventSigningArguments,\n FormattedEvent,\n HashConstructor,\n HeaderBag,\n HttpRequest,\n Provider,\n RequestPresigner,\n RequestPresigningArguments,\n RequestSigner,\n RequestSigningArguments,\n SigningArguments,\n StringSigner,\n} from \"@aws-sdk/types\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\n\nimport {\n ALGORITHM_IDENTIFIER,\n ALGORITHM_QUERY_PARAM,\n AMZ_DATE_HEADER,\n AMZ_DATE_QUERY_PARAM,\n AUTH_HEADER,\n CREDENTIAL_QUERY_PARAM,\n EVENT_ALGORITHM_IDENTIFIER,\n EXPIRES_QUERY_PARAM,\n MAX_PRESIGNED_TTL,\n SHA256_HEADER,\n SIGNATURE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM,\n TOKEN_HEADER,\n TOKEN_QUERY_PARAM,\n} from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { hasHeader } from \"./hasHeader\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\n\nexport interface SignatureV4Init {\n /**\n * The service signing name.\n */\n service: string;\n\n /**\n * The region name or a function that returns a promise that will be\n * resolved with the region name.\n */\n region: string | Provider<string>;\n\n /**\n * The credentials with which the request should be signed or a function\n * that returns a promise that will be resolved with credentials.\n */\n credentials: Credentials | Provider<Credentials>;\n\n /**\n * A constructor function for a hash object that will calculate SHA-256 HMAC\n * checksums.\n */\n sha256?: HashConstructor;\n\n /**\n * Whether to uri-escape the request URI path as part of computing the\n * canonical request string. This is required for every AWS service, except\n * Amazon S3, as of late 2017.\n *\n * @default [true]\n */\n uriEscapePath?: boolean;\n\n /**\n * Whether to calculate a checksum of the request body and include it as\n * either a request header (when signing) or as a query string parameter\n * (when presigning). This is required for AWS Glacier and Amazon S3 and optional for\n * every other AWS service as of late 2017.\n *\n * @default [true]\n */\n applyChecksum?: boolean;\n}\n\nexport interface SignatureV4CryptoInit {\n sha256: HashConstructor;\n}\n\nexport class SignatureV4 implements RequestPresigner, RequestSigner, StringSigner, EventSigner {\n private readonly service: string;\n private readonly regionProvider: Provider<string>;\n private readonly credentialProvider: Provider<Credentials>;\n private readonly sha256: HashConstructor;\n private readonly uriEscapePath: boolean;\n private readonly applyChecksum: boolean;\n\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true,\n }: SignatureV4Init & SignatureV4CryptoInit) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n // default to true if applyChecksum isn't set\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeRegionProvider(region);\n this.credentialProvider = normalizeCredentialsProvider(credentials);\n }\n\n public async presign(originalRequest: HttpRequest, options: RequestPresigningArguments = {}): Promise<HttpRequest> {\n const {\n signingDate = new Date(),\n expiresIn = 3600,\n unsignableHeaders,\n unhoistableHeaders,\n signableHeaders,\n signingRegion,\n signingService,\n } = options;\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n\n const { longDate, shortDate } = formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\n \"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\"\n );\n }\n\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders });\n\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))\n );\n\n return request;\n }\n\n public async sign(stringToSign: string, options?: SigningArguments): Promise<string>;\n public async sign(event: FormattedEvent, options: EventSigningArguments): Promise<string>;\n public async sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise<HttpRequest>;\n public async sign(toSign: any, options: any): Promise<any> {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n } else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n } else {\n return this.signRequest(toSign, options);\n }\n }\n\n private async signEvent(\n { headers, payload }: FormattedEvent,\n { signingDate = new Date(), priorSignature, signingRegion, signingService }: EventSigningArguments\n ): Promise<string> {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload } as any, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n\n private async signString(\n stringToSign: string,\n { signingDate = new Date(), signingRegion, signingService }: SigningArguments = {}\n ): Promise<string> {\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(stringToSign);\n return toHex(await hash.digest());\n }\n\n private async signRequest(\n requestToSign: HttpRequest,\n {\n signingDate = new Date(),\n signableHeaders,\n unsignableHeaders,\n signingRegion,\n signingService,\n }: RequestSigningArguments = {}\n ): Promise<HttpRequest> {\n const credentials = await this.credentialProvider();\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, payloadHash)\n );\n\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n\n return request;\n }\n\n private createCanonicalRequest(request: HttpRequest, canonicalHeaders: HeaderBag, payloadHash: string): string {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n\n private async createStringToSign(\n longDate: string,\n credentialScope: string,\n canonicalRequest: string\n ): Promise<string> {\n const hash = new this.sha256();\n hash.update(canonicalRequest);\n const hashedRequest = await hash.digest();\n\n return `${ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n\n private getCanonicalPath({ path }: HttpRequest): string {\n if (this.uriEscapePath) {\n const doubleEncoded = encodeURIComponent(path.replace(/^\\//, \"\"));\n return `/${doubleEncoded.replace(/%2F/g, \"/\")}`;\n }\n\n return path;\n }\n\n private async getSignature(\n longDate: string,\n credentialScope: string,\n keyPromise: Promise<Uint8Array>,\n canonicalRequest: string\n ): Promise<string> {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n\n const hash = new this.sha256(await keyPromise);\n hash.update(stringToSign);\n return toHex(await hash.digest());\n }\n\n private getSigningKey(\n credentials: Credentials,\n region: string,\n shortDate: string,\n service?: string\n ): Promise<Uint8Array> {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n\nconst formatDate = (now: DateInput): { longDate: string; shortDate: string } => {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.substr(0, 8),\n };\n};\n\nconst getCanonicalHeaderList = (headers: object): string => Object.keys(headers).sort().join(\";\");\n\nconst normalizeRegionProvider = (region: string | Provider<string>): Provider<string> => {\n if (typeof region === \"string\") {\n const promisified = Promise.resolve(region);\n return () => promisified;\n } else {\n return region;\n }\n};\n\nconst normalizeCredentialsProvider = (credentials: Credentials | Provider<Credentials>): Provider<Credentials> => {\n if (typeof credentials === \"object\") {\n const promisified = Promise.resolve(credentials);\n return () => promisified;\n } else {\n return credentials;\n }\n};\n","import { HttpRequest, QueryParameterBag } from \"@aws-sdk/types\";\n\nimport { cloneRequest } from \"./cloneRequest\";\n\n/**\n * @internal\n */\nexport function moveHeadersToQuery(\n request: HttpRequest,\n options: { unhoistableHeaders?: Set<string> } = {}\n): HttpRequest & { query: QueryParameterBag } {\n const { headers, query = {} as QueryParameterBag } =\n typeof (request as any).clone === \"function\" ? (request as any).clone() : cloneRequest(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.substr(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n\n return {\n ...request,\n headers,\n query,\n };\n}\n","import { HeaderBag } from \"@aws-sdk/types\";\n\nexport function hasHeader(soughtHeader: string, headers: HeaderBag): boolean {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n}\n","import { HttpRequest } from \"@aws-sdk/types\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\n\nimport { SIGNATURE_HEADER } from \"./constants\";\n\n/**\n * @internal\n */\nexport function getCanonicalQuery({ query = {} }: HttpRequest): string {\n const keys: Array<string> = [];\n const serialized: { [key: string]: string } = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${escapeUri(key)}=${escapeUri(value)}`;\n } else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce(\n (encoded: Array<string>, value: string) => encoded.concat([`${escapeUri(key)}=${escapeUri(value)}`]),\n []\n )\n .join(\"&\");\n }\n }\n\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized) // omit any falsy values\n .join(\"&\");\n}\n","import { SignatureV4 } from \"@aws-sdk/signature-v4\";\nimport { Credentials, HashConstructor, Provider, RegionInfo, RegionInfoProvider, RequestSigner } from \"@aws-sdk/types\";\n\nexport interface AwsAuthInputConfig {\n /**\n * The credentials used to sign requests.\n */\n credentials?: Credentials | Provider<Credentials>;\n\n /**\n * The signer to use when signing requests.\n */\n signer?: RequestSigner | Provider<RequestSigner>;\n\n /**\n * Whether to escape request path when signing the request.\n */\n signingEscapePath?: boolean;\n\n /**\n * An offset value in milliseconds to apply to all signing times.\n */\n systemClockOffset?: number;\n\n /**\n * The region where you want to sign your request against. This\n * can be different to the region in the endpoint.\n */\n signingRegion?: string;\n}\ninterface PreviouslyResolved {\n credentialDefaultProvider: (input: any) => Provider<Credentials>;\n region: string | Provider<string>;\n regionInfoProvider: RegionInfoProvider;\n signingName?: string;\n serviceId: string;\n sha256: HashConstructor;\n}\nexport interface AwsAuthResolvedConfig {\n credentials: Provider<Credentials>;\n signer: Provider<RequestSigner>;\n signingEscapePath: boolean;\n systemClockOffset: number;\n}\nexport function resolveAwsAuthConfig<T>(input: T & AwsAuthInputConfig & PreviouslyResolved): T & AwsAuthResolvedConfig {\n const credentials = input.credentials || input.credentialDefaultProvider(input as any);\n const normalizedCreds = normalizeProvider(credentials);\n const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;\n let signer: Provider<RequestSigner>;\n if (input.signer) {\n //if signer is supplied by user, normalize it to a function returning a promise for signer.\n signer = normalizeProvider(input.signer);\n } else {\n //construct a provider inferring signing from region.\n signer = () =>\n normalizeProvider(input.region)()\n .then(async (region) => [(await input.regionInfoProvider(region)) || {}, region] as [RegionInfo, string])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n //update client's singing region and signing service config if they are resolved.\n //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region\n input.signingRegion = input.signingRegion || signingRegion || region;\n //signing name resolving order:\n //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id\n input.signingName = input.signingName || signingService || input.serviceId;\n\n return new SignatureV4({\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n });\n });\n }\n\n return {\n ...input,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n}\n\nfunction normalizeProvider<T>(input: T | Provider<T>): Provider<T> {\n if (typeof input === \"object\") {\n const promisified = Promise.resolve(input);\n return () => promisified;\n }\n return input as Provider<T>;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export const USER_AGENT = \"user-agent\";\n\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\n\nexport const SPACE = \" \";\n\nexport const UA_ESCAPE_REGEX = /[^\\!\\#\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\n","import { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport {\n AbsoluteLocation,\n BuildHandler,\n BuildHandlerArguments,\n BuildHandlerOptions,\n BuildHandlerOutput,\n HandlerExecutionContext,\n MetadataBearer,\n Pluggable,\n UserAgentPair,\n} from \"@aws-sdk/types\";\n\nimport { UserAgentResolvedConfig } from \"./configurations\";\nimport { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from \"./constants\";\n\n/**\n * Build user agent header sections from:\n * 1. runtime-specific default user agent provider;\n * 2. custom user agent from `customUserAgent` client config;\n * 3. handler execution context set by internal SDK components;\n * The built user agent will be set to `x-amz-user-agent` header for ALL the\n * runtimes.\n * Please note that any override to the `user-agent` or `x-amz-user-agent` header\n * in the HTTP request is discouraged. Please use `customUserAgent` client\n * config or middleware setting the `userAgent` context to generate desired user\n * agent.\n */\nexport const userAgentMiddleware = (options: UserAgentResolvedConfig) => <Output extends MetadataBearer>(\n next: BuildHandler<any, any>,\n context: HandlerExecutionContext\n): BuildHandler<any, any> => async (args: BuildHandlerArguments<any>): Promise<BuildHandlerOutput<Output>> => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) return next(args);\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n // Set value to AWS-specific user agent header\n headers[X_AMZ_USER_AGENT] = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(SPACE);\n // Get value to be sent with non-AWS-specific user agent header.\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\" && normalUAValue) {\n headers[USER_AGENT] = headers[USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue;\n }\n\n return next({\n ...args,\n request,\n });\n};\n\n/**\n * Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.\n * User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.\n * @private\n */\nconst escapeUserAgent = ([name, version]: UserAgentPair): string => {\n const prefixSeparatorIndex = name.indexOf(\"/\");\n const prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just \"\"\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .map((item) => item?.replace(UA_ESCAPE_REGEX, \"_\"))\n .join(\"/\");\n};\n\nexport const getUserAgentMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\n\nexport const getUserAgentPlugin = (config: UserAgentResolvedConfig): Pluggable<any, any> => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n","import { CreateIdentityPoolCommandInput, CreateIdentityPoolCommandOutput } from \"./commands/CreateIdentityPoolCommand\";\nimport { DeleteIdentitiesCommandInput, DeleteIdentitiesCommandOutput } from \"./commands/DeleteIdentitiesCommand\";\nimport { DeleteIdentityPoolCommandInput, DeleteIdentityPoolCommandOutput } from \"./commands/DeleteIdentityPoolCommand\";\nimport { DescribeIdentityCommandInput, DescribeIdentityCommandOutput } from \"./commands/DescribeIdentityCommand\";\nimport {\n DescribeIdentityPoolCommandInput,\n DescribeIdentityPoolCommandOutput,\n} from \"./commands/DescribeIdentityPoolCommand\";\nimport {\n GetCredentialsForIdentityCommandInput,\n GetCredentialsForIdentityCommandOutput,\n} from \"./commands/GetCredentialsForIdentityCommand\";\nimport { GetIdCommandInput, GetIdCommandOutput } from \"./commands/GetIdCommand\";\nimport {\n GetIdentityPoolRolesCommandInput,\n GetIdentityPoolRolesCommandOutput,\n} from \"./commands/GetIdentityPoolRolesCommand\";\nimport { GetOpenIdTokenCommandInput, GetOpenIdTokenCommandOutput } from \"./commands/GetOpenIdTokenCommand\";\nimport {\n GetOpenIdTokenForDeveloperIdentityCommandInput,\n GetOpenIdTokenForDeveloperIdentityCommandOutput,\n} from \"./commands/GetOpenIdTokenForDeveloperIdentityCommand\";\nimport { ListIdentitiesCommandInput, ListIdentitiesCommandOutput } from \"./commands/ListIdentitiesCommand\";\nimport { ListIdentityPoolsCommandInput, ListIdentityPoolsCommandOutput } from \"./commands/ListIdentityPoolsCommand\";\nimport {\n ListTagsForResourceCommandInput,\n ListTagsForResourceCommandOutput,\n} from \"./commands/ListTagsForResourceCommand\";\nimport {\n LookupDeveloperIdentityCommandInput,\n LookupDeveloperIdentityCommandOutput,\n} from \"./commands/LookupDeveloperIdentityCommand\";\nimport {\n MergeDeveloperIdentitiesCommandInput,\n MergeDeveloperIdentitiesCommandOutput,\n} from \"./commands/MergeDeveloperIdentitiesCommand\";\nimport {\n SetIdentityPoolRolesCommandInput,\n SetIdentityPoolRolesCommandOutput,\n} from \"./commands/SetIdentityPoolRolesCommand\";\nimport { TagResourceCommandInput, TagResourceCommandOutput } from \"./commands/TagResourceCommand\";\nimport {\n UnlinkDeveloperIdentityCommandInput,\n UnlinkDeveloperIdentityCommandOutput,\n} from \"./commands/UnlinkDeveloperIdentityCommand\";\nimport { UnlinkIdentityCommandInput, UnlinkIdentityCommandOutput } from \"./commands/UnlinkIdentityCommand\";\nimport { UntagResourceCommandInput, UntagResourceCommandOutput } from \"./commands/UntagResourceCommand\";\nimport { UpdateIdentityPoolCommandInput, UpdateIdentityPoolCommandOutput } from \"./commands/UpdateIdentityPoolCommand\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport {\n EndpointsInputConfig,\n EndpointsResolvedConfig,\n RegionInputConfig,\n RegionResolvedConfig,\n resolveEndpointsConfig,\n resolveRegionConfig,\n} from \"@aws-sdk/config-resolver\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport {\n HostHeaderInputConfig,\n HostHeaderResolvedConfig,\n getHostHeaderPlugin,\n resolveHostHeaderConfig,\n} from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { AwsAuthInputConfig, AwsAuthResolvedConfig, resolveAwsAuthConfig } from \"@aws-sdk/middleware-signing\";\nimport {\n UserAgentInputConfig,\n UserAgentResolvedConfig,\n getUserAgentPlugin,\n resolveUserAgentConfig,\n} from \"@aws-sdk/middleware-user-agent\";\nimport { HttpHandler as __HttpHandler } from \"@aws-sdk/protocol-http\";\nimport {\n Client as __Client,\n SmithyConfiguration as __SmithyConfiguration,\n SmithyResolvedConfiguration as __SmithyResolvedConfiguration,\n} from \"@aws-sdk/smithy-client\";\nimport {\n Provider,\n RegionInfoProvider,\n Credentials as __Credentials,\n Decoder as __Decoder,\n Encoder as __Encoder,\n HashConstructor as __HashConstructor,\n HttpHandlerOptions as __HttpHandlerOptions,\n Logger as __Logger,\n Provider as __Provider,\n StreamCollector as __StreamCollector,\n UrlParser as __UrlParser,\n UserAgent as __UserAgent,\n} from \"@aws-sdk/types\";\n\nexport type ServiceInputTypes =\n | CreateIdentityPoolCommandInput\n | DeleteIdentitiesCommandInput\n | DeleteIdentityPoolCommandInput\n | DescribeIdentityCommandInput\n | DescribeIdentityPoolCommandInput\n | GetCredentialsForIdentityCommandInput\n | GetIdCommandInput\n | GetIdentityPoolRolesCommandInput\n | GetOpenIdTokenCommandInput\n | GetOpenIdTokenForDeveloperIdentityCommandInput\n | ListIdentitiesCommandInput\n | ListIdentityPoolsCommandInput\n | ListTagsForResourceCommandInput\n | LookupDeveloperIdentityCommandInput\n | MergeDeveloperIdentitiesCommandInput\n | SetIdentityPoolRolesCommandInput\n | TagResourceCommandInput\n | UnlinkDeveloperIdentityCommandInput\n | UnlinkIdentityCommandInput\n | UntagResourceCommandInput\n | UpdateIdentityPoolCommandInput;\n\nexport type ServiceOutputTypes =\n | CreateIdentityPoolCommandOutput\n | DeleteIdentitiesCommandOutput\n | DeleteIdentityPoolCommandOutput\n | DescribeIdentityCommandOutput\n | DescribeIdentityPoolCommandOutput\n | GetCredentialsForIdentityCommandOutput\n | GetIdCommandOutput\n | GetIdentityPoolRolesCommandOutput\n | GetOpenIdTokenCommandOutput\n | GetOpenIdTokenForDeveloperIdentityCommandOutput\n | ListIdentitiesCommandOutput\n | ListIdentityPoolsCommandOutput\n | ListTagsForResourceCommandOutput\n | LookupDeveloperIdentityCommandOutput\n | MergeDeveloperIdentitiesCommandOutput\n | SetIdentityPoolRolesCommandOutput\n | TagResourceCommandOutput\n | UnlinkDeveloperIdentityCommandOutput\n | UnlinkIdentityCommandOutput\n | UntagResourceCommandOutput\n | UpdateIdentityPoolCommandOutput;\n\nexport interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {\n /**\n * The HTTP handler to use. Fetch in browser and Https in Nodejs.\n */\n requestHandler?: __HttpHandler;\n\n /**\n * A constructor for a class implementing the @aws-sdk/types.Hash interface\n * that computes the SHA-256 HMAC or checksum of a string or binary buffer.\n */\n sha256?: __HashConstructor;\n\n /**\n * The function that will be used to convert strings into HTTP endpoints.\n */\n urlParser?: __UrlParser;\n\n /**\n * A function that can calculate the length of a request body.\n */\n bodyLengthChecker?: (body: any) => number | undefined;\n\n /**\n * A function that converts a stream into an array of bytes.\n */\n streamCollector?: __StreamCollector;\n\n /**\n * The function that will be used to convert a base64-encoded string to a byte array\n */\n base64Decoder?: __Decoder;\n\n /**\n * The function that will be used to convert binary data to a base64-encoded string\n */\n base64Encoder?: __Encoder;\n\n /**\n * The function that will be used to convert a UTF8-encoded string to a byte array\n */\n utf8Decoder?: __Decoder;\n\n /**\n * The function that will be used to convert binary data to a UTF-8 encoded string\n */\n utf8Encoder?: __Encoder;\n\n /**\n * The runtime environment\n */\n runtime?: string;\n\n /**\n * Disable dyanamically changing the endpoint of the client based on the hostPrefix\n * trait of an operation.\n */\n disableHostPrefix?: boolean;\n\n /**\n * Unique service identifier.\n * @internal\n */\n serviceId?: string;\n\n /**\n * Default credentials provider; Not available in browser runtime\n */\n credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;\n\n /**\n * The AWS region to which this client will send requests\n */\n region?: string | __Provider<string>;\n\n /**\n * Value for how many times a request will be made at most in case of retry.\n */\n maxAttempts?: number | __Provider<number>;\n\n /**\n * Optional logger for logging debug/info/warn/error.\n */\n logger?: __Logger;\n\n /**\n * Fetch related hostname, signing name or signing region with given region.\n */\n regionInfoProvider?: RegionInfoProvider;\n\n /**\n * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header\n * @internal\n */\n defaultUserAgentProvider?: Provider<__UserAgent>;\n}\n\nexport type CognitoIdentityClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &\n ClientDefaults &\n RegionInputConfig &\n EndpointsInputConfig &\n AwsAuthInputConfig &\n RetryInputConfig &\n HostHeaderInputConfig &\n UserAgentInputConfig;\n\nexport type CognitoIdentityClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandlerOptions> &\n Required<ClientDefaults> &\n RegionResolvedConfig &\n EndpointsResolvedConfig &\n AwsAuthResolvedConfig &\n RetryResolvedConfig &\n HostHeaderResolvedConfig &\n UserAgentResolvedConfig;\n\n/**\n * <fullname>Amazon Cognito Federated Identities</fullname>\n * <p>Amazon Cognito Federated Identities is a web service that delivers scoped temporary\n * credentials to mobile devices and other untrusted environments. It uniquely identifies a\n * device and supplies the user with a consistent identity over the lifetime of an\n * application.</p>\n * <p>Using Amazon Cognito Federated Identities, you can enable authentication with one or\n * more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon\n * Cognito user pool, and you can also choose to support unauthenticated access from your app.\n * Cognito delivers a unique identifier for each user and acts as an OpenID token provider\n * trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS\n * credentials.</p>\n * <p>For a description of the authentication flow from the Amazon Cognito Developer Guide\n * see <a href=\"https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html\">Authentication Flow</a>.</p>\n * <p>For more information see <a href=\"https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html\">Amazon Cognito Federated Identities</a>.</p>\n */\nexport class CognitoIdentityClient extends __Client<\n __HttpHandlerOptions,\n ServiceInputTypes,\n ServiceOutputTypes,\n CognitoIdentityClientResolvedConfig\n> {\n readonly config: CognitoIdentityClientResolvedConfig;\n\n constructor(configuration: CognitoIdentityClientConfig) {\n let _config_0 = {\n ...__ClientDefaultValues,\n ...configuration,\n };\n let _config_1 = resolveRegionConfig(_config_0);\n let _config_2 = resolveEndpointsConfig(_config_1);\n let _config_3 = resolveAwsAuthConfig(_config_2);\n let _config_4 = resolveRetryConfig(_config_3);\n let _config_5 = resolveHostHeaderConfig(_config_4);\n let _config_6 = resolveUserAgentConfig(_config_5);\n super(_config_6);\n this.config = _config_6;\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n }\n\n destroy(): void {\n super.destroy();\n }\n}\n","import { Provider, UserAgent } from \"@aws-sdk/types\";\nexport interface UserAgentInputConfig {\n /**\n * The custom user agent header that would be appended to default one\n */\n customUserAgent?: string | UserAgent;\n}\ninterface PreviouslyResolved {\n defaultUserAgentProvider: Provider<UserAgent>;\n runtime: string;\n}\nexport interface UserAgentResolvedConfig {\n defaultUserAgentProvider: Provider<UserAgent>;\n customUserAgent?: UserAgent;\n runtime: string;\n}\nexport function resolveUserAgentConfig<T>(\n input: T & PreviouslyResolved & UserAgentInputConfig\n): T & UserAgentResolvedConfig {\n return {\n ...input,\n customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent,\n };\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { version } from './version';\n\nconst BASE_USER_AGENT = `aws-amplify/${version}`;\n\nexport const Platform = {\n\tuserAgent: `${BASE_USER_AGENT} js`,\n\tproduct: '',\n\tnavigator: null,\n\tisReactNative: false,\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n\tPlatform.product = navigator.product || '';\n\tPlatform.navigator = navigator || null;\n\tswitch (navigator.product) {\n\t\tcase 'ReactNative':\n\t\t\tPlatform.userAgent = `${BASE_USER_AGENT} react-native`;\n\t\t\tPlatform.isReactNative = true;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tPlatform.userAgent = `${BASE_USER_AGENT} js`;\n\t\t\tPlatform.isReactNative = false;\n\t\t\tbreak;\n\t}\n}\n\nexport const getAmplifyUserAgent = (content?: string) => {\n\treturn `${Platform.userAgent}${content ? content : ''}`;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n\tCognitoIdentityClient,\n\tCognitoIdentityClientConfig,\n} from '@aws-sdk/client-cognito-identity';\nimport { Provider } from '@aws-sdk/types';\nimport { getAmplifyUserAgent } from '../Platform';\n\n/**\n * Returns a CognitoIdentityClient with middleware\n * @param {CognitoIdentityClientConfig} config\n * @return {CognitoIdentityClient}\n */\nexport function createCognitoIdentityClient(\n\tconfig: CognitoIdentityClientConfig\n): CognitoIdentityClient {\n\tconst client = new CognitoIdentityClient({\n\t\tregion: config.region,\n\t\tcustomUserAgent: getAmplifyUserAgent(),\n\t});\n\n\tclient.middlewareStack.add(\n\t\t(next, _) => (args: any) => {\n\t\t\treturn next(middlewareArgs(args));\n\t\t},\n\t\t{\n\t\t\tstep: 'build',\n\t\t\tname: 'cacheControlMiddleWare',\n\t\t}\n\t);\n\n\treturn client;\n}\n\nexport function middlewareArgs(args: { request: any; input: any }) {\n\treturn {\n\t\t...args,\n\t\trequest: {\n\t\t\t...args.request,\n\t\t\theaders: {\n\t\t\t\t...args.request.headers,\n\t\t\t\t'cache-control': 'no-store',\n\t\t\t},\n\t\t},\n\t};\n}\n","import { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { ICredentials } from './types';\nimport { Amplify } from './Amplify';\nimport {\n\tfromCognitoIdentity,\n\tFromCognitoIdentityParameters,\n\tfromCognitoIdentityPool,\n\tFromCognitoIdentityPoolParameters,\n} from '@aws-sdk/credential-provider-cognito-identity';\nimport {\n\tGetIdCommand,\n\tGetCredentialsForIdentityCommand,\n} from '@aws-sdk/client-cognito-identity';\nimport { CredentialProvider } from '@aws-sdk/types';\nimport { parseAWSExports } from './parseAWSExports';\nimport { Hub } from './Hub';\nimport { createCognitoIdentityClient } from './Util/CognitoIdentityClient';\n\nconst logger = new Logger('Credentials');\n\nconst CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\n\nconst COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\n\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nconst dispatchCredentialsEvent = (\n\tevent: string,\n\tdata: any,\n\tmessage: string\n) => {\n\tHub.dispatch('core', { event, data, message }, 'Credentials', AMPLIFY_SYMBOL);\n};\n\nexport class CredentialsClass {\n\tprivate _config;\n\tprivate _credentials;\n\tprivate _credentials_source;\n\tprivate _gettingCredPromise = null;\n\tprivate _refreshHandlers = {};\n\tprivate _storage;\n\tprivate _storageSync;\n\tprivate _identityId;\n\tprivate _nextCredentialsRefresh: Number;\n\n\t// Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n\tAuth = undefined;\n\n\tconstructor(config) {\n\t\tthis.configure(config);\n\t\tthis._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n\t\tthis._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'Credentials';\n\t}\n\n\tpublic getCredSource() {\n\t\treturn this._credentials_source;\n\t}\n\n\tpublic configure(config) {\n\t\tif (!config) return this._config || {};\n\n\t\tthis._config = Object.assign({}, this._config, config);\n\t\tconst { refreshHandlers } = this._config;\n\t\t// If the developer has provided an object of refresh handlers,\n\t\t// then we can merge the provided handlers with the current handlers.\n\t\tif (refreshHandlers) {\n\t\t\tthis._refreshHandlers = {\n\t\t\t\t...this._refreshHandlers,\n\t\t\t\t...refreshHandlers,\n\t\t\t};\n\t\t}\n\n\t\tthis._storage = this._config.storage;\n\n\t\tif (!this._storage) {\n\t\t\tthis._storage = new StorageHelper().getStorage();\n\t\t}\n\n\t\tthis._storageSync = Promise.resolve();\n\t\tif (typeof this._storage['sync'] === 'function') {\n\t\t\tthis._storageSync = this._storage['sync']();\n\t\t}\n\n\t\tdispatchCredentialsEvent(\n\t\t\t'credentials_configured',\n\t\t\tnull,\n\t\t\t`Credentials has been configured successfully`\n\t\t);\n\n\t\treturn this._config;\n\t}\n\n\tpublic get() {\n\t\tlogger.debug('getting credentials');\n\t\treturn this._pickupCredentials();\n\t}\n\n\t// currently we only store the guest identity in local storage\n\tprivate _getCognitoIdentityIdStorageKey(identityPoolId: string) {\n\t\treturn `${COGNITO_IDENTITY_KEY_PREFIX}${identityPoolId}`;\n\t}\n\n\tprivate _pickupCredentials() {\n\t\tlogger.debug('picking up credentials');\n\t\tif (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n\t\t\tlogger.debug('getting new cred promise');\n\t\t\tthis._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n\t\t} else {\n\t\t\tlogger.debug('getting old cred promise');\n\t\t}\n\t\treturn this._gettingCredPromise;\n\t}\n\n\tprivate async _keepAlive() {\n\t\tlogger.debug('checking if credentials exists and not expired');\n\t\tconst cred = this._credentials;\n\t\tif (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n\t\t\tlogger.debug('credentials not changed and not expired, directly return');\n\t\t\treturn Promise.resolve(cred);\n\t\t}\n\n\t\tlogger.debug('need to get a new credential or refresh the existing one');\n\n\t\t// Some use-cases don't require Auth for signing in, but use Credentials for guest users (e.g. Analytics)\n\t\t// Prefer locally scoped `Auth`, but fallback to registered `Amplify.Auth` global otherwise.\n\t\tconst { Auth = Amplify.Auth } = this;\n\n\t\tif (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n\t\t\t// If Auth module is not imported, do a best effort to get guest credentials\n\t\t\treturn this._setCredentialsForGuest();\n\t\t}\n\n\t\tif (!this._isExpired(cred) && this._isPastTTL()) {\n\t\t\tlogger.debug('ttl has passed but token is not yet expired');\n\t\t\ttry {\n\t\t\t\tconst user = await Auth.currentUserPoolUser();\n\t\t\t\tconst session = await Auth.currentSession();\n\t\t\t\tconst refreshToken = session.refreshToken;\n\t\t\t\tconst refreshRequest = new Promise((res, rej) => {\n\t\t\t\t\tuser.refreshSession(refreshToken, (err, data) => {\n\t\t\t\t\t\treturn err ? rej(err) : res(data);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tawait refreshRequest; // note that rejections will be caught and handled in the catch block.\n\t\t\t} catch (err) {\n\t\t\t\t// should not throw because user might just be on guest access or is authenticated through federation\n\t\t\t\tlogger.debug('Error attempting to refreshing the session', err);\n\t\t\t}\n\t\t}\n\t\treturn Auth.currentUserCredentials();\n\t}\n\n\tpublic refreshFederatedToken(federatedInfo) {\n\t\tlogger.debug('Getting federated credentials');\n\t\tconst { provider, user, token, identity_id } = federatedInfo;\n\t\tlet { expires_at } = federatedInfo;\n\n\t\t// Make sure expires_at is in millis\n\t\texpires_at =\n\t\t\tnew Date(expires_at).getFullYear() === 1970\n\t\t\t\t? expires_at * 1000\n\t\t\t\t: expires_at;\n\n\t\tconst that = this;\n\t\tlogger.debug('checking if federated jwt token expired');\n\t\tif (expires_at > new Date().getTime()) {\n\t\t\t// if not expired\n\t\t\tlogger.debug('token not expired');\n\t\t\treturn this._setCredentialsFromFederation({\n\t\t\t\tprovider,\n\t\t\t\ttoken,\n\t\t\t\tuser,\n\t\t\t\tidentity_id,\n\t\t\t\texpires_at,\n\t\t\t});\n\t\t} else {\n\t\t\t// if refresh handler exists\n\t\t\tif (\n\t\t\t\tthat._refreshHandlers[provider] &&\n\t\t\t\ttypeof that._refreshHandlers[provider] === 'function'\n\t\t\t) {\n\t\t\t\tlogger.debug('getting refreshed jwt token from federation provider');\n\t\t\t\treturn this._providerRefreshWithRetry({\n\t\t\t\t\trefreshHandler: that._refreshHandlers[provider],\n\t\t\t\t\tprovider,\n\t\t\t\t\tuser,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlogger.debug('no refresh handler for provider:', provider);\n\t\t\t\tthis.clear();\n\t\t\t\treturn Promise.reject('no refresh handler for provider');\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _providerRefreshWithRetry({ refreshHandler, provider, user }) {\n\t\tconst MAX_DELAY_MS = 10 * 1000;\n\t\t// refreshHandler will retry network errors, otherwise it will\n\t\t// return NonRetryableError to break out of jitteredExponentialRetry\n\t\treturn jitteredExponentialRetry<any>(refreshHandler, [], MAX_DELAY_MS)\n\t\t\t.then(data => {\n\t\t\t\tlogger.debug('refresh federated token sucessfully', data);\n\t\t\t\treturn this._setCredentialsFromFederation({\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: data.token,\n\t\t\t\t\tuser,\n\t\t\t\t\tidentity_id: data.identity_id,\n\t\t\t\t\texpires_at: data.expires_at,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(e => {\n\t\t\t\tconst isNetworkError =\n\t\t\t\t\ttypeof e === 'string' &&\n\t\t\t\t\te.toLowerCase().lastIndexOf('network error', e.length) === 0;\n\n\t\t\t\tif (!isNetworkError) {\n\t\t\t\t\tthis.clear();\n\t\t\t\t}\n\n\t\t\t\tlogger.debug('refresh federated token failed', e);\n\t\t\t\treturn Promise.reject('refreshing federation token failed: ' + e);\n\t\t\t});\n\t}\n\n\tprivate _isExpired(credentials): boolean {\n\t\tif (!credentials) {\n\t\t\tlogger.debug('no credentials for expiration check');\n\t\t\treturn true;\n\t\t}\n\t\tlogger.debug('are these credentials expired?', credentials);\n\t\tconst ts = Date.now();\n\n\t\t/* returns date object.\n\t\t\thttps://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n\t\t*/\n\t\tconst { expiration } = credentials;\n\t\treturn expiration.getTime() <= ts;\n\t}\n\n\tprivate _isPastTTL(): boolean {\n\t\treturn this._nextCredentialsRefresh <= Date.now();\n\t}\n\n\tprivate async _setCredentialsForGuest() {\n\t\tlogger.debug('setting credentials for guest');\n\t\tif (!this._config?.identityPoolId) {\n\t\t\t// If Credentials are not configured thru Auth module,\n\t\t\t// doing best effort to check if the library was configured\n\t\t\tthis._config = Object.assign(\n\t\t\t\t{},\n\t\t\t\tthis._config,\n\t\t\t\tparseAWSExports(this._config || {}).Auth\n\t\t\t);\n\t\t}\n\t\tconst { identityPoolId, region, mandatorySignIn, identityPoolRegion } =\n\t\t\tthis._config;\n\n\t\tif (mandatorySignIn) {\n\t\t\treturn Promise.reject(\n\t\t\t\t'cannot get guest credentials when mandatory signin enabled'\n\t\t\t);\n\t\t}\n\n\t\tif (!identityPoolId) {\n\t\t\tlogger.debug(\n\t\t\t\t'No Cognito Identity pool provided for unauthenticated access'\n\t\t\t);\n\t\t\treturn Promise.reject(\n\t\t\t\t'No Cognito Identity pool provided for unauthenticated access'\n\t\t\t);\n\t\t}\n\n\t\tif (!identityPoolRegion && !region) {\n\t\t\tlogger.debug('region is not configured for getting the credentials');\n\t\t\treturn Promise.reject(\n\t\t\t\t'region is not configured for getting the credentials'\n\t\t\t);\n\t\t}\n\n\t\tconst identityId = (this._identityId = await this._getGuestIdentityId());\n\n\t\tconst cognitoClient = createCognitoIdentityClient({\n\t\t\tregion: identityPoolRegion || region,\n\t\t});\n\n\t\tlet credentials = undefined;\n\t\tif (identityId) {\n\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\tidentityId,\n\t\t\t\tclient: cognitoClient,\n\t\t\t};\n\t\t\tcredentials = fromCognitoIdentity(cognitoIdentityParams)();\n\t\t} else {\n\t\t\t/*\n\t\t\tRetreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n\t\t\thttps://git.io/JeDxU\n\n\t\t\tNote: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n\t\t\t*/\n\t\t\tconst credentialsProvider: CredentialProvider = async () => {\n\t\t\t\tconst { IdentityId } = await cognitoClient.send(\n\t\t\t\t\tnew GetIdCommand({\n\t\t\t\t\t\tIdentityPoolId: identityPoolId,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tthis._identityId = IdentityId;\n\t\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\t\tclient: cognitoClient,\n\t\t\t\t\tidentityId: IdentityId,\n\t\t\t\t};\n\n\t\t\t\tconst credentialsFromCognitoIdentity = fromCognitoIdentity(\n\t\t\t\t\tcognitoIdentityParams\n\t\t\t\t);\n\n\t\t\t\treturn credentialsFromCognitoIdentity();\n\t\t\t};\n\n\t\t\tcredentials = credentialsProvider().catch(async err => {\n\t\t\t\tthrow err;\n\t\t\t});\n\t\t}\n\n\t\treturn this._loadCredentials(credentials, 'guest', false, null)\n\t\t\t.then(res => {\n\t\t\t\treturn res;\n\t\t\t})\n\t\t\t.catch(async e => {\n\t\t\t\t// If identity id is deleted in the console, we make one attempt to recreate it\n\t\t\t\t// and remove existing id from cache.\n\t\t\t\tif (\n\t\t\t\t\te.name === 'ResourceNotFoundException' &&\n\t\t\t\t\te.message === `Identity '${identityId}' not found.`\n\t\t\t\t) {\n\t\t\t\t\tlogger.debug('Failed to load guest credentials');\n\t\t\t\t\tawait this._removeGuestIdentityId();\n\n\t\t\t\t\tconst credentialsProvider: CredentialProvider = async () => {\n\t\t\t\t\t\tconst { IdentityId } = await cognitoClient.send(\n\t\t\t\t\t\t\tnew GetIdCommand({\n\t\t\t\t\t\t\t\tIdentityPoolId: identityPoolId,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis._identityId = IdentityId;\n\t\t\t\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\t\t\t\tclient: cognitoClient,\n\t\t\t\t\t\t\tidentityId: IdentityId,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst credentialsFromCognitoIdentity = fromCognitoIdentity(\n\t\t\t\t\t\t\tcognitoIdentityParams\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn credentialsFromCognitoIdentity();\n\t\t\t\t\t};\n\n\t\t\t\t\tcredentials = credentialsProvider().catch(async err => {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t});\n\n\t\t\t\t\treturn this._loadCredentials(credentials, 'guest', false, null);\n\t\t\t\t} else {\n\t\t\t\t\treturn e;\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tprivate _setCredentialsFromFederation(params) {\n\t\tconst { provider, token, identity_id } = params;\n\t\tconst domains = {\n\t\t\tgoogle: 'accounts.google.com',\n\t\t\tfacebook: 'graph.facebook.com',\n\t\t\tamazon: 'www.amazon.com',\n\t\t\tdeveloper: 'cognito-identity.amazonaws.com',\n\t\t};\n\n\t\t// Use custom provider url instead of the predefined ones\n\t\tconst domain = domains[provider] || provider;\n\t\tif (!domain) {\n\t\t\treturn Promise.reject('You must specify a federated provider');\n\t\t}\n\n\t\tconst logins = {};\n\t\tlogins[domain] = token;\n\n\t\tconst { identityPoolId, region, identityPoolRegion } = this._config;\n\t\tif (!identityPoolId) {\n\t\t\tlogger.debug('No Cognito Federated Identity pool provided');\n\t\t\treturn Promise.reject('No Cognito Federated Identity pool provided');\n\t\t}\n\t\tif (!identityPoolRegion && !region) {\n\t\t\tlogger.debug('region is not configured for getting the credentials');\n\t\t\treturn Promise.reject(\n\t\t\t\t'region is not configured for getting the credentials'\n\t\t\t);\n\t\t}\n\n\t\tconst cognitoClient = createCognitoIdentityClient({\n\t\t\tregion: identityPoolRegion || region,\n\t\t});\n\n\t\tlet credentials = undefined;\n\t\tif (identity_id) {\n\t\t\tconst cognitoIdentityParams: FromCognitoIdentityParameters = {\n\t\t\t\tidentityId: identity_id,\n\t\t\t\tlogins,\n\t\t\t\tclient: cognitoClient,\n\t\t\t};\n\t\t\tcredentials = fromCognitoIdentity(cognitoIdentityParams)();\n\t\t} else {\n\t\t\tconst cognitoIdentityParams: FromCognitoIdentityPoolParameters = {\n\t\t\t\tlogins,\n\t\t\t\tidentityPoolId,\n\t\t\t\tclient: cognitoClient,\n\t\t\t};\n\t\t\tcredentials = fromCognitoIdentityPool(cognitoIdentityParams)();\n\t\t}\n\t\treturn this._loadCredentials(credentials, 'federated', true, params);\n\t}\n\n\tprivate _setCredentialsFromSession(session): Promise<ICredentials> {\n\t\tlogger.debug('set credentials from session');\n\t\tconst idToken = session.getIdToken().getJwtToken();\n\t\tconst { region, userPoolId, identityPoolId, identityPoolRegion } =\n\t\t\tthis._config;\n\t\tif (!identityPoolId) {\n\t\t\tlogger.debug('No Cognito Federated Identity pool provided');\n\t\t\treturn Promise.reject('No Cognito Federated Identity pool provided');\n\t\t}\n\t\tif (!identityPoolRegion && !region) {\n\t\t\tlogger.debug('region is not configured for getting the credentials');\n\t\t\treturn Promise.reject(\n\t\t\t\t'region is not configured for getting the credentials'\n\t\t\t);\n\t\t}\n\t\tconst key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n\t\tconst logins = {};\n\t\tlogins[key] = idToken;\n\n\t\tconst cognitoClient = createCognitoIdentityClient({\n\t\t\tregion: identityPoolRegion || region,\n\t\t});\n\n\t\t/* \n\t\t\tRetreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n\t\t\thttps://git.io/JeDxU\n\n\t\t\tNote: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n\t\t*/\n\t\tconst credentialsProvider: CredentialProvider = async () => {\n\t\t\t// try to fetch the local stored guest identity, if found, we will associate it with the logins\n\t\t\tconst guestIdentityId = await this._getGuestIdentityId();\n\n\t\t\tlet generatedOrRetrievedIdentityId;\n\t\t\tif (!guestIdentityId) {\n\t\t\t\t// for a first-time user, this will return a brand new identity\n\t\t\t\t// for a returning user, this will retrieve the previous identity assocaited with the logins\n\t\t\t\tconst { IdentityId } = await cognitoClient.send(\n\t\t\t\t\tnew GetIdCommand({\n\t\t\t\t\t\tIdentityPoolId: identityPoolId,\n\t\t\t\t\t\tLogins: logins,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\tgeneratedOrRetrievedIdentityId = IdentityId;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tCredentials: { AccessKeyId, Expiration, SecretKey, SessionToken },\n\t\t\t\t// single source of truth for the primary identity associated with the logins\n\t\t\t\t// only if a guest identity is used for a first-time user, that guest identity will become its primary identity\n\t\t\t\tIdentityId: primaryIdentityId,\n\t\t\t} = await cognitoClient.send(\n\t\t\t\tnew GetCredentialsForIdentityCommand({\n\t\t\t\t\tIdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n\t\t\t\t\tLogins: logins,\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis._identityId = primaryIdentityId;\n\t\t\tif (guestIdentityId) {\n\t\t\t\t// if guestIdentity is found and used by GetCredentialsForIdentity\n\t\t\t\t// it will be linked to the logins provided, and disqualified as an unauth identity\n\t\t\t\tlogger.debug(\n\t\t\t\t\t`The guest identity ${guestIdentityId} has been successfully linked to the logins`\n\t\t\t\t);\n\t\t\t\tif (guestIdentityId === primaryIdentityId) {\n\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t`The guest identity ${guestIdentityId} has become the primary identity`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n\t\t\t\tawait this._removeGuestIdentityId();\n\t\t\t}\n\n\t\t\t// https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n\t\t\treturn {\n\t\t\t\taccessKeyId: AccessKeyId,\n\t\t\t\tsecretAccessKey: SecretKey,\n\t\t\t\tsessionToken: SessionToken,\n\t\t\t\texpiration: Expiration,\n\t\t\t\tidentityId: primaryIdentityId,\n\t\t\t};\n\t\t};\n\n\t\tconst credentials = credentialsProvider().catch(async err => {\n\t\t\tthrow err;\n\t\t});\n\n\t\treturn this._loadCredentials(credentials, 'userPool', true, null);\n\t}\n\n\tprivate _loadCredentials(\n\t\tcredentials,\n\t\tsource,\n\t\tauthenticated,\n\t\tinfo\n\t): Promise<ICredentials> {\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tcredentials\n\t\t\t\t.then(async credentials => {\n\t\t\t\t\tlogger.debug('Load credentials successfully', credentials);\n\t\t\t\t\tif (this._identityId && !credentials.identityId) {\n\t\t\t\t\t\tcredentials['identityId'] = this._identityId;\n\t\t\t\t\t}\n\n\t\t\t\t\tthat._credentials = credentials;\n\t\t\t\t\tthat._credentials.authenticated = authenticated;\n\t\t\t\t\tthat._credentials_source = source;\n\t\t\t\t\tthat._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n\t\t\t\t\tif (source === 'federated') {\n\t\t\t\t\t\tconst user = Object.assign(\n\t\t\t\t\t\t\t{ id: this._credentials.identityId },\n\t\t\t\t\t\t\tinfo.user\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst { provider, token, expires_at, identity_id } = info;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tthis._storage.setItem(\n\t\t\t\t\t\t\t\t'aws-amplify-federatedInfo',\n\t\t\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\t\t\tprovider,\n\t\t\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t\texpires_at,\n\t\t\t\t\t\t\t\t\tidentity_id,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('Failed to put federated info into auth storage', e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (source === 'guest') {\n\t\t\t\t\t\tawait this._setGuestIdentityId(credentials.identityId);\n\t\t\t\t\t}\n\t\t\t\t\tres(that._credentials);\n\t\t\t\t\treturn;\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('Failed to load credentials', credentials);\n\t\t\t\t\t\tlogger.debug('Error loading credentials', err);\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t});\n\t}\n\n\tpublic set(params, source): Promise<ICredentials> {\n\t\tif (source === 'session') {\n\t\t\treturn this._setCredentialsFromSession(params);\n\t\t} else if (source === 'federation') {\n\t\t\treturn this._setCredentialsFromFederation(params);\n\t\t} else if (source === 'guest') {\n\t\t\treturn this._setCredentialsForGuest();\n\t\t} else {\n\t\t\tlogger.debug('no source specified for setting credentials');\n\t\t\treturn Promise.reject('invalid source');\n\t\t}\n\t}\n\n\tpublic async clear() {\n\t\tthis._credentials = null;\n\t\tthis._credentials_source = null;\n\t\tlogger.debug('removing aws-amplify-federatedInfo from storage');\n\t\tthis._storage.removeItem('aws-amplify-federatedInfo');\n\t}\n\n\t/* operations on local stored guest identity */\n\tprivate async _getGuestIdentityId(): Promise<string> {\n\t\tconst { identityPoolId } = this._config;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t\treturn this._storage.getItem(\n\t\t\t\tthis._getCognitoIdentityIdStorageKey(identityPoolId)\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to get the cached guest identityId', e);\n\t\t}\n\t}\n\n\tprivate async _setGuestIdentityId(identityId: string) {\n\t\tconst { identityPoolId } = this._config;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t\tthis._storage.setItem(\n\t\t\t\tthis._getCognitoIdentityIdStorageKey(identityPoolId),\n\t\t\t\tidentityId\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to cache guest identityId', e);\n\t\t}\n\t}\n\n\tprivate async _removeGuestIdentityId() {\n\t\tconst { identityPoolId } = this._config;\n\t\tlogger.debug(\n\t\t\t`removing ${this._getCognitoIdentityIdStorageKey(\n\t\t\t\tidentityPoolId\n\t\t\t)} from storage`\n\t\t);\n\t\tthis._storage.removeItem(\n\t\t\tthis._getCognitoIdentityIdStorageKey(identityPoolId)\n\t\t);\n\t}\n\n\t/**\n\t * Compact version of credentials\n\t * @param {Object} credentials\n\t * @return {Object} - Credentials\n\t */\n\tpublic shear(credentials) {\n\t\treturn {\n\t\t\taccessKeyId: credentials.accessKeyId,\n\t\t\tsessionToken: credentials.sessionToken,\n\t\t\tsecretAccessKey: credentials.secretAccessKey,\n\t\t\tidentityId: credentials.identityId,\n\t\t\tauthenticated: credentials.authenticated,\n\t\t};\n\t}\n}\n\nexport const Credentials = new CredentialsClass(null);\n\nAmplify.register(Credentials);\n","import * as cookie from 'cookie';\r\nexport function hasDocumentCookie() {\r\n // Can we get/set cookies on document.cookie?\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\nexport function cleanCookies() {\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\r\n });\r\n}\r\nexport function parseCookies(cookies, options) {\r\n if (typeof cookies === 'string') {\r\n return cookie.parse(cookies, options);\r\n }\r\n else if (typeof cookies === 'object' && cookies !== null) {\r\n return cookies;\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\nexport function isParsingCookie(value, doNotParse) {\r\n if (typeof doNotParse === 'undefined') {\r\n // We guess if the cookie start with { or [, it has been serialized\r\n doNotParse =\r\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\r\n }\r\n return !doNotParse;\r\n}\r\nexport function readCookie(value, options) {\r\n if (options === void 0) { options = {}; }\r\n var cleanValue = cleanupCookieValue(value);\r\n if (isParsingCookie(cleanValue, options.doNotParse)) {\r\n try {\r\n return JSON.parse(cleanValue);\r\n }\r\n catch (e) {\r\n // At least we tried\r\n }\r\n }\r\n // Ignore clean value if we failed the deserialization\r\n // It is not relevant anymore to trim those values\r\n return value;\r\n}\r\nfunction cleanupCookieValue(value) {\r\n // express prepend j: before serializing a cookie\r\n if (value && value[0] === 'j' && value[1] === ':') {\r\n return value.substr(2);\r\n }\r\n return value;\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport * as cookie from 'cookie';\r\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\r\nvar Cookies = /** @class */ (function () {\r\n function Cookies(cookies, options) {\r\n var _this = this;\r\n this.changeListeners = [];\r\n this.HAS_DOCUMENT_COOKIE = false;\r\n this.cookies = parseCookies(cookies, options);\r\n new Promise(function () {\r\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\r\n }).catch(function () { });\r\n }\r\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\r\n if (!this.HAS_DOCUMENT_COOKIE) {\r\n return;\r\n }\r\n this.cookies = cookie.parse(document.cookie, parseOptions);\r\n };\r\n Cookies.prototype._emitChange = function (params) {\r\n for (var i = 0; i < this.changeListeners.length; ++i) {\r\n this.changeListeners[i](params);\r\n }\r\n };\r\n Cookies.prototype.get = function (name, options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n return readCookie(this.cookies[name], options);\r\n };\r\n Cookies.prototype.getAll = function (options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n var result = {};\r\n for (var name_1 in this.cookies) {\r\n result[name_1] = readCookie(this.cookies[name_1], options);\r\n }\r\n return result;\r\n };\r\n Cookies.prototype.set = function (name, value, options) {\r\n var _a;\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, value, options);\r\n }\r\n this._emitChange({ name: name, value: value, options: options });\r\n };\r\n Cookies.prototype.remove = function (name, options) {\r\n var finalOptions = (options = __assign(__assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\r\n this.cookies = __assign({}, this.cookies);\r\n delete this.cookies[name];\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, '', finalOptions);\r\n }\r\n this._emitChange({ name: name, value: undefined, options: options });\r\n };\r\n Cookies.prototype.addChangeListener = function (callback) {\r\n this.changeListeners.push(callback);\r\n };\r\n Cookies.prototype.removeChangeListener = function (callback) {\r\n var idx = this.changeListeners.indexOf(callback);\r\n if (idx >= 0) {\r\n this.changeListeners.splice(idx, 1);\r\n }\r\n };\r\n return Cookies;\r\n}());\r\nexport default Cookies;\r\n","import Cookies from './Cookies';\r\nexport default Cookies;\r\n","import Cookies, { CookieSetOptions } from 'universal-cookie';\nimport { browserOrNode } from '../JS';\n\ntype Store = Record<string, string>;\n\nconst { isBrowser } = browserOrNode();\n\n// Avoid using @types/next because @aws-amplify/ui-angular's version of TypeScript is too old to support it\ntype Context = { req?: any };\n\nconst ONE_YEAR_IN_MS = 365 * 24 * 60 * 60 * 1000;\n\nexport class UniversalStorage implements Storage {\n\tcookies = new Cookies();\n\tstore: Store = isBrowser ? window.localStorage : Object.create(null);\n\n\tconstructor(context: Context = {}) {\n\t\tthis.cookies = context.req\n\t\t\t? new Cookies(context.req.headers.cookie)\n\t\t\t: new Cookies();\n\n\t\tObject.assign(this.store, this.cookies.getAll());\n\t}\n\n\tget length() {\n\t\treturn Object.entries(this.store).length;\n\t}\n\n\tclear() {\n\t\tArray.from(new Array(this.length))\n\t\t\t.map((_, i) => this.key(i))\n\t\t\t.forEach(key => this.removeItem(key));\n\t}\n\n\tgetItem(key: keyof Store) {\n\t\treturn this.getLocalItem(key);\n\t}\n\n\tprotected getLocalItem(key: keyof Store) {\n\t\treturn Object.prototype.hasOwnProperty.call(this.store, key)\n\t\t\t? this.store[key]\n\t\t\t: null;\n\t}\n\n\tprotected getUniversalItem(key: keyof Store) {\n\t\treturn this.cookies.get(key);\n\t}\n\n\tkey(index: number) {\n\t\treturn Object.keys(this.store)[index];\n\t}\n\n\tremoveItem(key: string) {\n\t\tthis.removeLocalItem(key);\n\t\tthis.removeUniversalItem(key);\n\t}\n\n\tprotected removeLocalItem(key: keyof Store) {\n\t\tdelete this.store[key];\n\t}\n\n\tprotected removeUniversalItem(key: keyof Store) {\n\t\tthis.cookies.remove(key, {\n\t\t\tpath: '/',\n\t\t});\n\t}\n\n\tsetItem(key: keyof Store, value: string) {\n\t\tthis.setLocalItem(key, value);\n\n\t\t// keys take the shape:\n\t\t// 1. `${ProviderPrefix}.${userPoolClientId}.${username}.${tokenType}\n\t\t// 2. `${ProviderPrefix}.${userPoolClientId}.LastAuthUser\n\t\tconst tokenType = key.split('.').pop();\n\n\t\tconst sessionTokenTypes = [\n\t\t\t'LastAuthUser',\n\t\t\t'accessToken',\n\t\t\t// refreshToken originates on the client, but SSR pages won't fail when this expires\n\t\t\t// Note: the new `accessToken` will also be refreshed on the client (since Amplify doesn't set server-side cookies)\n\t\t\t'refreshToken',\n\t\t\t// Required for CognitoUserSession\n\t\t\t'idToken',\n\t\t\t// userData is used when `Auth.currentAuthenticatedUser({ bypassCache: false })`.\n\t\t\t// Can be persisted to speed up calls to `Auth.currentAuthenticatedUser()`\n\t\t\t// 'userData',\n\n\t\t\t// Ignoring clockDrift on the server for now, but needs testing\n\t\t\t// 'clockDrift',\n\t\t];\n\t\tif (sessionTokenTypes.includes(tokenType ?? '')) {\n\t\t\tthis.setUniversalItem(key, value, {\n\t\t\t\texpires: new Date(Date.now() + ONE_YEAR_IN_MS),\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected setLocalItem(key: keyof Store, value: string) {\n\t\tthis.store[key] = value;\n\t}\n\n\tprotected setUniversalItem(\n\t\tkey: keyof Store,\n\t\tvalue: string,\n\t\toptions: CookieSetOptions = {}\n\t) {\n\t\tthis.cookies.set(key, value, {\n\t\t\t...options,\n\t\t\tpath: '/',\n\t\t\t// `httpOnly` cannot be set via JavaScript: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#JavaScript_access_using_Document.cookie\n\t\t\tsameSite: true,\n\t\t\t// Allow unsecure requests to http://localhost:3000/ when in development.\n\t\t\tsecure:\n\t\t\t\tisBrowser && window.location.hostname === 'localhost' ? false : true,\n\t\t});\n\t}\n}\n","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar AuthenticationDetails = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationDetails object\n * @param {object=} data Creation options.\n * @param {string} data.Username User being authenticated.\n * @param {string} data.Password Plain-text password to authenticate with.\n * @param {(AttributeArg[])?} data.ValidationData Application extra metadata.\n * @param {(AttributeArg[])?} data.AuthParamaters Authentication paramaters for custom auth.\n */\n function AuthenticationDetails(data) {\n var _ref = data || {},\n ValidationData = _ref.ValidationData,\n Username = _ref.Username,\n Password = _ref.Password,\n AuthParameters = _ref.AuthParameters,\n ClientMetadata = _ref.ClientMetadata;\n this.validationData = ValidationData || {};\n this.authParameters = AuthParameters || {};\n this.clientMetadata = ClientMetadata || {};\n this.username = Username;\n this.password = Password;\n }\n\n /**\n * @returns {string} the record's username\n */\n var _proto = AuthenticationDetails.prototype;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {string} the record's password\n */;\n _proto.getPassword = function getPassword() {\n return this.password;\n }\n\n /**\n * @returns {Array} the record's validationData\n */;\n _proto.getValidationData = function getValidationData() {\n return this.validationData;\n }\n\n /**\n * @returns {Array} the record's authParameters\n */;\n _proto.getAuthParameters = function getAuthParameters() {\n return this.authParameters;\n }\n\n /**\n * @returns {ClientMetadata} the clientMetadata for a Lambda trigger\n */;\n _proto.getClientMetadata = function getClientMetadata() {\n return this.clientMetadata;\n };\n return AuthenticationDetails;\n}();\nexport { AuthenticationDetails as default };","var crypto;\n\n// Native crypto from window (Browser)\nif (typeof window !== 'undefined' && window.crypto) {\n crypto = window.crypto;\n}\n\n// Native (experimental IE 11) crypto from window (Browser)\nif (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n}\n\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\nexport default function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n }\n\n // Use randomBytes method (NodeJS)\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n throw new Error('Native crypto module could not be used to get secure random number.');\n}","import cryptoSecureRandomInt from './cryptoSecureRandomInt';\n\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\nfunction hexStringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var hexChars = [];\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n return hexChars.join('');\n}\nvar WordArray = /*#__PURE__*/function () {\n function WordArray(words, sigBytes) {\n words = this.words = words || [];\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n }\n var _proto = WordArray.prototype;\n _proto.random = function random(nBytes) {\n var words = [];\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n return new WordArray(words, nBytes);\n };\n _proto.toString = function toString() {\n return hexStringify(this);\n };\n return WordArray;\n}();\nexport { WordArray as default };","// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\n\nexport default BigInteger;\n\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n\n// (public) Constructor\nfunction BigInteger(a, b) {\n if (a != null) this.fromString(a, b);\n}\n\n// return new, unset BigInteger\nfunction nbi() {\n return new BigInteger(null);\n}\n\n// Bits per digit\nvar dbits;\n\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe;\n\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n}\nvar inBrowser = typeof navigator !== 'undefined';\nif (inBrowser && j_lm && navigator.appName == 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n} else if (inBrowser && j_lm && navigator.appName != 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n} else {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n\n// Digit conversions\nvar BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nvar BI_RC = new Array();\nvar rr, vv;\nrr = '0'.charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;\nrr = 'a'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;\nrr = 'A'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n}\n\n// (protected) copy this to r\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) r[i] = this[i];\n r.t = this.t;\n r.s = this.s;\n}\n\n// (protected) set from integer value x, -DV <= x < DV\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0;\n}\n\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n\n// (protected) set from string and radix\nfunction bnpFromString(s, b) {\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n var i = s.length,\n mi = false,\n sh = 0;\n while (--i >= 0) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == '-') mi = true;\n continue;\n }\n mi = false;\n if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;\n this[this.t++] = x >> this.DB - sh;\n } else this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB) sh -= this.DB;\n }\n this.clamp();\n if (mi) BigInteger.ZERO.subTo(this, this);\n}\n\n// (protected) clamp off excess high words\nfunction bnpClamp() {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) --this.t;\n}\n\n// (public) return string representation in given radix\nfunction bnToString(b) {\n if (this.s < 0) return '-' + this.negate().toString(b);\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n var km = (1 << k) - 1,\n d,\n m = false,\n r = '',\n i = this.t;\n var p = this.DB - i * this.DB % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & (1 << p) - 1) << k - p;\n d |= this[--i] >> (p += this.DB - k);\n } else {\n d = this[i] >> (p -= k) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) m = true;\n if (m) r += int2char(d);\n }\n }\n return m ? r : '0';\n}\n\n// (public) -this\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n}\n\n// (public) |this|\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n}\n\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0) return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0) return this.s < 0 ? -r : r;\n while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r;\n return 0;\n}\n\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1,\n t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0) return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n}\n\n// (protected) r = this << n*DB\nfunction bnpDLShiftTo(n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i];\n for (i = n - 1; i >= 0; --i) r[i] = 0;\n r.t = this.t + n;\n r.s = this.s;\n}\n\n// (protected) r = this >> n*DB\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) r[i - n] = this[i];\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n}\n\n// (protected) r = this << n\nfunction bnpLShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB),\n c = this.s << bs & this.DM,\n i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = this[i] >> cbs | c;\n c = (this[i] & bm) << bs;\n }\n for (i = ds - 1; i >= 0; --i) r[i] = 0;\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n}\n\n// (protected) r = this >> n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n}\n\n// (protected) r = this - a\nfunction bnpSubTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n}\n\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) r[i] = 0;\n for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n r.s = 0;\n r.clamp();\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n}\n\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) r[i] = 0;\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n}\n\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction bnpDivRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) return;\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0);\n if (r != null) this.copyTo(r);\n return;\n }\n if (r == null) r = nbi();\n var y = nbi(),\n ts = this.s,\n ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]);\n // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n } else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt,\n d2 = (1 << this.F1) / yt,\n e = 1 << this.F2;\n var i = r.t,\n j = i - ys,\n t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y);\n // \"negative\" y so we can replace sub with am later\n while (y.t < ys) y[y.t++] = 0;\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) r.subTo(t, r);\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) r.rShiftTo(nsh, r);\n // Denormalize remainder\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\n}\n\n// (public) this mod a\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n return r;\n}\n\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction bnpInvDigit() {\n if (this.t < 1) return 0;\n var x = this[0];\n if ((x & 1) == 0) return 0;\n var y = x & 3;\n // y == 1/x mod 2^2\n y = y * (2 - (x & 0xf) * y) & 0xf;\n // y == 1/x mod 2^4\n y = y * (2 - (x & 0xff) * y) & 0xff;\n // y == 1/x mod 2^8\n y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff;\n // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = y * (2 - x * y % this.DV) % this.DV;\n // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return y > 0 ? this.DV - y : -y;\n}\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n}\n\n// (protected) r = this + a\nfunction bnpAddTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n}\n\n// (public) this + a\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n}\n\n// (public) this - a\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n}\n\n// (public) this * a\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n}\n\n// (public) this / a\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n}\n\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << m.DB - 15) - 1;\n this.mt2 = 2 * m.t;\n}\n\n// xR mod m\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n return r;\n}\n\n// x/R mod m\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n}\n\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2)\n // pad x so am has enough room later\n x[x.t++] = 0;\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n}\n\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n}\n\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo;\n\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(),\n k,\n r = nbv(1),\n z = new Montgomery(m);\n if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6;\n\n // precomputation\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1;\n g[1] = z.convert(this);\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1,\n w,\n is1 = true,\n r2 = nbi(),\n t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) w = e[j] >> i - k1 & km;else {\n w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n } else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) z.sqrTo(r, r2);else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & 1 << i) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n var result = z.revert(r);\n callback(null, result);\n return result;\n}\n\n// protected\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo;\n\n// public\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow;\n\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport WordArray from './utils/WordArray';\nimport { Sha256 } from '@aws-crypto/sha256-js';\n\n/**\n * Returns a Buffer with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Buffer} fixed-length sequence of random bytes\n */\n\nfunction randomBytes(nBytes) {\n return Buffer.from(new WordArray().random(nBytes).toString(), 'hex');\n}\nimport BigInteger from './BigInteger';\n\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\nvar HEX_MSB_REGEX = /^[89a-f]/i;\nvar initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' + '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' + 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' + 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' + 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' + '83655D23DCA3AD961C62F356208552BB9ED529077096966D' + '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' + 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' + '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' + 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' + 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' + 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' + 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' + '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nvar newPasswordRequiredChallengeUserAttributePrefix = 'userAttributes.';\n\n/** @class */\nvar AuthenticationHelper = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationHelper object\n * @param {string} PoolName Cognito user pool name.\n */\n function AuthenticationHelper(PoolName) {\n this.N = new BigInteger(initN, 16);\n this.g = new BigInteger('2', 16);\n this.k = new BigInteger(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16);\n this.smallAValue = this.generateRandomSmallA();\n this.getLargeAValue(function () {});\n this.infoBits = Buffer.from('Caldera Derived Key', 'utf8');\n this.poolName = PoolName;\n }\n\n /**\n * @returns {BigInteger} small A, a random number\n */\n var _proto = AuthenticationHelper.prototype;\n _proto.getSmallAValue = function getSmallAValue() {\n return this.smallAValue;\n }\n\n /**\n * @param {nodeCallback<BigInteger>} callback Called with (err, largeAValue)\n * @returns {void}\n */;\n _proto.getLargeAValue = function getLargeAValue(callback) {\n var _this = this;\n if (this.largeAValue) {\n callback(null, this.largeAValue);\n } else {\n this.calculateA(this.smallAValue, function (err, largeAValue) {\n if (err) {\n callback(err, null);\n }\n _this.largeAValue = largeAValue;\n callback(null, _this.largeAValue);\n });\n }\n }\n\n /**\n * helper function to generate a random big integer\n * @returns {BigInteger} a random value.\n * @private\n */;\n _proto.generateRandomSmallA = function generateRandomSmallA() {\n // This will be interpreted as a postive 128-bit integer\n var hexRandom = randomBytes(128).toString('hex');\n var randomBigInt = new BigInteger(hexRandom, 16);\n\n // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n\n return randomBigInt;\n }\n\n /**\n * helper function to generate a random string\n * @returns {string} a random value.\n * @private\n */;\n _proto.generateRandomString = function generateRandomString() {\n return randomBytes(40).toString('base64');\n }\n\n /**\n * @returns {string} Generated random value included in password hash.\n */;\n _proto.getRandomPassword = function getRandomPassword() {\n return this.randomPassword;\n }\n\n /**\n * @returns {string} Generated random value included in devices hash.\n */;\n _proto.getSaltDevices = function getSaltDevices() {\n return this.SaltToHashDevices;\n }\n\n /**\n * @returns {string} Value used to verify devices.\n */;\n _proto.getVerifierDevices = function getVerifierDevices() {\n return this.verifierDevices;\n }\n\n /**\n * Generate salts and compute verifier.\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n * @param {nodeCallback<null>} callback Called with (err, null)\n * @returns {void}\n */;\n _proto.generateHashDevice = function generateHashDevice(deviceGroupKey, username, callback) {\n var _this2 = this;\n this.randomPassword = this.generateRandomString();\n var combinedString = \"\" + deviceGroupKey + username + \":\" + this.randomPassword;\n var hashedString = this.hash(combinedString);\n var hexRandom = randomBytes(16).toString('hex');\n\n // The random hex will be unambiguously represented as a postive integer\n this.SaltToHashDevices = this.padHex(new BigInteger(hexRandom, 16));\n this.g.modPow(new BigInteger(this.hexHash(this.SaltToHashDevices + hashedString), 16), this.N, function (err, verifierDevicesNotPadded) {\n if (err) {\n callback(err, null);\n }\n _this2.verifierDevices = _this2.padHex(verifierDevicesNotPadded);\n callback(null, null);\n });\n }\n\n /**\n * Calculate the client's public value A = g^a%N\n * with the generated random number a\n * @param {BigInteger} a Randomly generated small A.\n * @param {nodeCallback<BigInteger>} callback Called with (err, largeAValue)\n * @returns {void}\n * @private\n */;\n _proto.calculateA = function calculateA(a, callback) {\n var _this3 = this;\n this.g.modPow(a, this.N, function (err, A) {\n if (err) {\n callback(err, null);\n }\n if (A.mod(_this3.N).equals(BigInteger.ZERO)) {\n callback(new Error('Illegal paramater. A mod N cannot be 0.'), null);\n }\n callback(null, A);\n });\n }\n\n /**\n * Calculate the client's value U which is the hash of A and B\n * @param {BigInteger} A Large A value.\n * @param {BigInteger} B Server B value.\n * @returns {BigInteger} Computed U value.\n * @private\n */;\n _proto.calculateU = function calculateU(A, B) {\n this.UHexHash = this.hexHash(this.padHex(A) + this.padHex(B));\n var finalU = new BigInteger(this.UHexHash, 16);\n return finalU;\n }\n\n /**\n * Calculate a hash from a bitArray\n * @param {Buffer} buf Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hash = function hash(buf) {\n var awsCryptoHash = new Sha256();\n awsCryptoHash.update(buf);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var hashHex = Buffer.from(resultFromAWSCrypto).toString('hex');\n return new Array(64 - hashHex.length).join('0') + hashHex;\n }\n\n /**\n * Calculate a hash from a hex string\n * @param {String} hexStr Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hexHash = function hexHash(hexStr) {\n return this.hash(Buffer.from(hexStr, 'hex'));\n }\n\n /**\n * Standard hkdf algorithm\n * @param {Buffer} ikm Input key material.\n * @param {Buffer} salt Salt value.\n * @returns {Buffer} Strong key material.\n * @private\n */;\n _proto.computehkdf = function computehkdf(ikm, salt) {\n var infoBitsBuffer = Buffer.concat([this.infoBits, Buffer.from(String.fromCharCode(1), 'utf8')]);\n var awsCryptoHash = new Sha256(salt);\n awsCryptoHash.update(ikm);\n var resultFromAWSCryptoPrk = awsCryptoHash.digestSync();\n var awsCryptoHashHmac = new Sha256(resultFromAWSCryptoPrk);\n awsCryptoHashHmac.update(infoBitsBuffer);\n var resultFromAWSCryptoHmac = awsCryptoHashHmac.digestSync();\n var hashHexFromAWSCrypto = resultFromAWSCryptoHmac;\n var currentHex = hashHexFromAWSCrypto.slice(0, 16);\n return currentHex;\n }\n\n /**\n * Calculates the final hkdf based on computed S value, and computed U value and the key\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {BigInteger} serverBValue Server B value.\n * @param {BigInteger} salt Generated salt.\n * @param {nodeCallback<Buffer>} callback Called with (err, hkdfValue)\n * @returns {void}\n */;\n _proto.getPasswordAuthenticationKey = function getPasswordAuthenticationKey(username, password, serverBValue, salt, callback) {\n var _this4 = this;\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n this.UValue = this.calculateU(this.largeAValue, serverBValue);\n if (this.UValue.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n var usernamePassword = \"\" + this.poolName + username + \":\" + password;\n var usernamePasswordHash = this.hash(usernamePassword);\n var xValue = new BigInteger(this.hexHash(this.padHex(salt) + usernamePasswordHash), 16);\n this.calculateS(xValue, serverBValue, function (err, sValue) {\n if (err) {\n callback(err, null);\n }\n var hkdf = _this4.computehkdf(Buffer.from(_this4.padHex(sValue), 'hex'), Buffer.from(_this4.padHex(_this4.UValue), 'hex'));\n callback(null, hkdf);\n });\n }\n\n /**\n * Calculates the S value used in getPasswordAuthenticationKey\n * @param {BigInteger} xValue Salted password hash value.\n * @param {BigInteger} serverBValue Server B value.\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.calculateS = function calculateS(xValue, serverBValue, callback) {\n var _this5 = this;\n this.g.modPow(xValue, this.N, function (err, gModPowXN) {\n if (err) {\n callback(err, null);\n }\n var intValue2 = serverBValue.subtract(_this5.k.multiply(gModPowXN));\n intValue2.modPow(_this5.smallAValue.add(_this5.UValue.multiply(xValue)), _this5.N, function (err2, result) {\n if (err2) {\n callback(err2, null);\n }\n callback(null, result.mod(_this5.N));\n });\n });\n }\n\n /**\n * Return constant newPasswordRequiredChallengeUserAttributePrefix\n * @return {newPasswordRequiredChallengeUserAttributePrefix} constant prefix value\n */;\n _proto.getNewPasswordRequiredChallengeUserAttributePrefix = function getNewPasswordRequiredChallengeUserAttributePrefix() {\n return newPasswordRequiredChallengeUserAttributePrefix;\n }\n\n /**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {BigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */;\n _proto.padHex = function padHex(bigInt) {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n var isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n\n /* Get a hex string for abs(bigInt) */\n var hexStr = bigInt.abs().toString(16);\n\n /* Pad hex to even length if needed */\n hexStr = hexStr.length % 2 !== 0 ? \"0\" + hexStr : hexStr;\n\n /* Prepend \"00\" if the most significant bit is set */\n hexStr = HEX_MSB_REGEX.test(hexStr) ? \"00\" + hexStr : hexStr;\n if (isNegative) {\n /* Flip the bits of the representation */\n var invertedNibbles = hexStr.split('').map(function (x) {\n var invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n }).join('');\n\n /* After flipping the bits, add one to get the 2's complement representation */\n var flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n \t\tAny sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n \t\tThis only happens in the case when the input is 80...00\n */\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n return hexStr;\n };\n return AuthenticationHelper;\n}();\nexport { AuthenticationHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\n\n/** @class */\nvar CognitoJwtToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoJwtToken object\n * @param {string=} token The JWT token.\n */\n function CognitoJwtToken(token) {\n // Assign object\n this.jwtToken = token || '';\n this.payload = this.decodePayload();\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoJwtToken.prototype;\n _proto.getJwtToken = function getJwtToken() {\n return this.jwtToken;\n }\n\n /**\n * @returns {int} the token's expiration (exp member).\n */;\n _proto.getExpiration = function getExpiration() {\n return this.payload.exp;\n }\n\n /**\n * @returns {int} the token's \"issued at\" (iat member).\n */;\n _proto.getIssuedAt = function getIssuedAt() {\n return this.payload.iat;\n }\n\n /**\n * @returns {object} the token's payload.\n */;\n _proto.decodePayload = function decodePayload() {\n var payload = this.jwtToken.split('.')[1];\n try {\n return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));\n } catch (err) {\n return {};\n }\n };\n return CognitoJwtToken;\n}();\nexport { CognitoJwtToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoAccessToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoAccessToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoAccessToken object\n * @param {string=} AccessToken The JWT access token.\n */\n function CognitoAccessToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n AccessToken = _ref.AccessToken;\n return _CognitoJwtToken.call(this, AccessToken || '') || this;\n }\n return CognitoAccessToken;\n}(CognitoJwtToken);\nexport { CognitoAccessToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoIdToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoIdToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoIdToken object\n * @param {string=} IdToken The JWT Id token\n */\n function CognitoIdToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken;\n return _CognitoJwtToken.call(this, IdToken || '') || this;\n }\n return CognitoIdToken;\n}(CognitoJwtToken);\nexport { CognitoIdToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoRefreshToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoRefreshToken object\n * @param {string=} RefreshToken The JWT refresh token.\n */\n function CognitoRefreshToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n RefreshToken = _ref.RefreshToken;\n // Assign object\n this.token = RefreshToken || '';\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoRefreshToken.prototype;\n _proto.getToken = function getToken() {\n return this.token;\n };\n return CognitoRefreshToken;\n}();\nexport { CognitoRefreshToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getUserAgent = function getUserAgent() {\n return Platform.userAgent;\n};\n\n/**\n * @deprecated use named import\n */\nexport default Platform;","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserSession = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserSession object\n * @param {CognitoIdToken} IdToken The session's Id token.\n * @param {CognitoRefreshToken=} RefreshToken The session's refresh token.\n * @param {CognitoAccessToken} AccessToken The session's access token.\n * @param {int} ClockDrift The saved computer's clock drift or undefined to force calculation.\n */\n function CognitoUserSession(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken,\n RefreshToken = _ref.RefreshToken,\n AccessToken = _ref.AccessToken,\n ClockDrift = _ref.ClockDrift;\n if (AccessToken == null || IdToken == null) {\n throw new Error('Id token and Access Token must be present.');\n }\n this.idToken = IdToken;\n this.refreshToken = RefreshToken;\n this.accessToken = AccessToken;\n this.clockDrift = ClockDrift === undefined ? this.calculateClockDrift() : ClockDrift;\n }\n\n /**\n * @returns {CognitoIdToken} the session's Id token\n */\n var _proto = CognitoUserSession.prototype;\n _proto.getIdToken = function getIdToken() {\n return this.idToken;\n }\n\n /**\n * @returns {CognitoRefreshToken} the session's refresh token\n */;\n _proto.getRefreshToken = function getRefreshToken() {\n return this.refreshToken;\n }\n\n /**\n * @returns {CognitoAccessToken} the session's access token\n */;\n _proto.getAccessToken = function getAccessToken() {\n return this.accessToken;\n }\n\n /**\n * @returns {int} the session's clock drift\n */;\n _proto.getClockDrift = function getClockDrift() {\n return this.clockDrift;\n }\n\n /**\n * @returns {int} the computer's clock drift\n */;\n _proto.calculateClockDrift = function calculateClockDrift() {\n var now = Math.floor(new Date() / 1000);\n var iat = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return now - iat;\n }\n\n /**\n * Checks to see if the session is still valid based on session expiry information found\n * in tokens and the current time (adjusted with clock drift)\n * @returns {boolean} if the session is still valid\n */;\n _proto.isValid = function isValid() {\n var now = Math.floor(new Date() / 1000);\n var adjusted = now - this.clockDrift;\n return adjusted < this.accessToken.getExpiration() && adjusted < this.idToken.getExpiration();\n };\n return CognitoUserSession;\n}();\nexport { CognitoUserSession as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar weekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\n/** @class */\nvar DateHelper = /*#__PURE__*/function () {\n function DateHelper() {}\n var _proto = DateHelper.prototype;\n /**\n * @returns {string} The current time in \"ddd MMM D HH:mm:ss UTC YYYY\" format.\n */\n _proto.getNowString = function getNowString() {\n var now = new Date();\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n var minutes = now.getUTCMinutes();\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n var seconds = now.getUTCSeconds();\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n var year = now.getUTCFullYear();\n\n // ddd MMM D HH:mm:ss UTC YYYY\n var dateNow = weekDay + \" \" + month + \" \" + day + \" \" + hours + \":\" + minutes + \":\" + seconds + \" UTC \" + year;\n return dateNow;\n };\n return DateHelper;\n}();\nexport { DateHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserAttribute = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserAttribute object\n * @param {string=} Name The record's name\n * @param {string=} Value The record's value\n */\n function CognitoUserAttribute(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n Name = _ref.Name,\n Value = _ref.Value;\n this.Name = Name || '';\n this.Value = Value || '';\n }\n\n /**\n * @returns {string} the record's value.\n */\n var _proto = CognitoUserAttribute.prototype;\n _proto.getValue = function getValue() {\n return this.Value;\n }\n\n /**\n * Sets the record's value.\n * @param {string} value The new value.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setValue = function setValue(value) {\n this.Value = value;\n return this;\n }\n\n /**\n * @returns {string} the record's name.\n */;\n _proto.getName = function getName() {\n return this.Name;\n }\n\n /**\n * Sets the record's name\n * @param {string} name The new name.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setName = function setName(name) {\n this.Name = name;\n return this;\n }\n\n /**\n * @returns {string} a string representation of the record.\n */;\n _proto.toString = function toString() {\n return JSON.stringify(this);\n }\n\n /**\n * @returns {object} a flat object representing the record.\n */;\n _proto.toJSON = function toJSON() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n };\n return CognitoUserAttribute;\n}();\nexport { CognitoUserAttribute as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar dataMemory = {};\n\n/** @class */\nexport var MemoryStorage = /*#__PURE__*/function () {\n function MemoryStorage() {}\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function setItem(key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n MemoryStorage.getItem = function getItem(key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {boolean} return true\n */;\n MemoryStorage.removeItem = function removeItem(key) {\n return delete dataMemory[key];\n }\n\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */;\n MemoryStorage.clear = function clear() {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}();\n\n/** @class */\nvar StorageHelper = /*#__PURE__*/function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.cognito.test-ls', 1);\n this.storageWindow.removeItem('aws.cognito.test-ls');\n } catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n var _proto = StorageHelper.prototype;\n _proto.getStorage = function getStorage() {\n return this.storageWindow;\n };\n return StorageHelper;\n}();\nexport { StorageHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport { Sha256 } from '@aws-crypto/sha256-js';\nimport { Platform } from './Platform';\nimport BigInteger from './BigInteger';\nimport AuthenticationHelper from './AuthenticationHelper';\nimport CognitoAccessToken from './CognitoAccessToken';\nimport CognitoIdToken from './CognitoIdToken';\nimport CognitoRefreshToken from './CognitoRefreshToken';\nimport CognitoUserSession from './CognitoUserSession';\nimport DateHelper from './DateHelper';\nimport CognitoUserAttribute from './CognitoUserAttribute';\nimport StorageHelper from './StorageHelper';\n\n/**\n * @callback nodeCallback\n * @template T result\n * @param {*} err The operation failure reason, or null.\n * @param {T} result The operation result.\n */\n\n/**\n * @callback onFailure\n * @param {*} err Failure reason.\n */\n\n/**\n * @callback onSuccess\n * @template T result\n * @param {T} result The operation result.\n */\n\n/**\n * @callback mfaRequired\n * @param {*} details MFA challenge details.\n */\n\n/**\n * @callback customChallenge\n * @param {*} details Custom challenge details.\n */\n\n/**\n * @callback inputVerificationCode\n * @param {*} data Server response.\n */\n\n/**\n * @callback authSuccess\n * @param {CognitoUserSession} session The new session.\n * @param {bool=} userConfirmationNecessary User must be confirmed.\n */\n\nvar isNavigatorAvailable = typeof navigator !== 'undefined';\nvar userAgent = isNavigatorAvailable ? Platform.isReactNative ? 'react-native' : navigator.userAgent : 'nodejs';\n\n/** @class */\nvar CognitoUser = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUser object\n * @param {object} data Creation options\n * @param {string} data.Username The user's username.\n * @param {CognitoUserPool} data.Pool Pool containing the user.\n * @param {object} data.Storage Optional storage object.\n */\n function CognitoUser(data) {\n if (data == null || data.Username == null || data.Pool == null) {\n throw new Error('Username and Pool information are required.');\n }\n this.username = data.Username || '';\n this.pool = data.Pool;\n this.Session = null;\n this.client = data.Pool.client;\n this.signInUserSession = null;\n this.authenticationFlowType = 'USER_SRP_AUTH';\n this.storage = data.Storage || new StorageHelper().getStorage();\n this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n\n /**\n * Sets the session for this user\n * @param {CognitoUserSession} signInUserSession the session\n * @returns {void}\n */\n var _proto = CognitoUser.prototype;\n _proto.setSignInUserSession = function setSignInUserSession(signInUserSession) {\n this.clearCachedUserData();\n this.signInUserSession = signInUserSession;\n this.cacheTokens();\n }\n\n /**\n * @returns {CognitoUserSession} the current session for this user\n */;\n _proto.getSignInUserSession = function getSignInUserSession() {\n return this.signInUserSession;\n }\n\n /**\n * @returns {string} the user's username\n */;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {String} the authentication flow type\n */;\n _proto.getAuthenticationFlowType = function getAuthenticationFlowType() {\n return this.authenticationFlowType;\n }\n\n /**\n * sets authentication flow type\n * @param {string} authenticationFlowType New value.\n * @returns {void}\n */;\n _proto.setAuthenticationFlowType = function setAuthenticationFlowType(authenticationFlowType) {\n this.authenticationFlowType = authenticationFlowType;\n }\n\n /**\n * This is used for authenticating the user through the custom authentication flow.\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.initiateAuth = function initiateAuth(authDetails, callback) {\n var _this = this;\n var authParameters = authDetails.getAuthParameters();\n authParameters.USERNAME = this.username;\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = data.ChallengeName;\n var challengeParameters = data.ChallengeParameters;\n if (challengeName === 'CUSTOM_CHALLENGE') {\n _this.Session = data.Session;\n return callback.customChallenge(challengeParameters);\n }\n _this.signInUserSession = _this.getCognitoUserSession(data.AuthenticationResult);\n _this.cacheTokens();\n return callback.onSuccess(_this.signInUserSession);\n });\n }\n\n /**\n * This is used for authenticating the user.\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUser = function authenticateUser(authDetails, callback) {\n if (this.authenticationFlowType === 'USER_PASSWORD_AUTH') {\n return this.authenticateUserPlainUsernamePassword(authDetails, callback);\n } else if (this.authenticationFlowType === 'USER_SRP_AUTH' || this.authenticationFlowType === 'CUSTOM_AUTH') {\n return this.authenticateUserDefaultAuth(authDetails, callback);\n }\n return callback.onFailure(new Error('Authentication flow type is invalid.'));\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * It calls the AuthenticationHelper for SRP related\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserDefaultAuth = function authenticateUserDefaultAuth(authDetails, callback) {\n var _this2 = this;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var dateHelper = new DateHelper();\n var serverBValue;\n var salt;\n var authParameters = {};\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n authParameters.USERNAME = this.username;\n authenticationHelper.getLargeAValue(function (errOnAValue, aValue) {\n // getLargeAValue callback start\n if (errOnAValue) {\n callback.onFailure(errOnAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n if (_this2.authenticationFlowType === 'CUSTOM_AUTH') {\n authParameters.CHALLENGE_NAME = 'SRP_A';\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: _this2.authenticationFlowType,\n ClientId: _this2.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData(_this2.username)) {\n jsonReq.UserContextData = _this2.getUserContextData(_this2.username);\n }\n _this2.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n _this2.username = challengeParameters.USER_ID_FOR_SRP;\n _this2.userDataKey = _this2.keyPrefix + \".\" + _this2.username + \".userData\";\n serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n salt = new BigInteger(challengeParameters.SALT, 16);\n _this2.getCachedDeviceKeyAndPassword();\n authenticationHelper.getPasswordAuthenticationKey(_this2.username, authDetails.getPassword(), serverBValue, salt, function (errOnHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errOnHkdf) {\n callback.onFailure(errOnHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this2.pool.getUserPoolName(), 'utf8'), Buffer.from(_this2.username, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this2.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n if (_this2.deviceKey != null) {\n challengeResponses.DEVICE_KEY = _this2.deviceKey;\n }\n var respondToAuthChallenge = function respondToAuthChallenge(challenge, challengeCallback) {\n return _this2.client.request('RespondToAuthChallenge', challenge, function (errChallenge, dataChallenge) {\n if (errChallenge && errChallenge.code === 'ResourceNotFoundException' && errChallenge.message.toLowerCase().indexOf('device') !== -1) {\n challengeResponses.DEVICE_KEY = null;\n _this2.deviceKey = null;\n _this2.randomPassword = null;\n _this2.deviceGroupKey = null;\n _this2.clearCachedDeviceKeyAndPassword();\n return respondToAuthChallenge(challenge, challengeCallback);\n }\n return challengeCallback(errChallenge, dataChallenge);\n });\n };\n var jsonReqResp = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: _this2.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData()) {\n jsonReqResp.UserContextData = _this2.getUserContextData();\n }\n respondToAuthChallenge(jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this2.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {AuthenticationDetails} authDetails Contains the authentication data.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserPlainUsernamePassword = function authenticateUserPlainUsernamePassword(authDetails, callback) {\n var _this3 = this;\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.PASSWORD = authDetails.getPassword();\n if (!authParameters.PASSWORD) {\n callback.onFailure(new Error('PASSWORD parameter is required'));\n return;\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData(this.username)) {\n jsonReq.UserContextData = this.getUserContextData(this.username);\n }\n // USER_PASSWORD_AUTH happens in a single round-trip: client sends userName and password,\n // Cognito UserPools verifies password and returns tokens.\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this3.authenticateUserInternal(authResult, authenticationHelper, callback);\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {object} dataAuthenticate authentication data\n * @param {object} authenticationHelper helper created\n * @param {callback} callback passed on from caller\n * @returns {void}\n */;\n _proto.authenticateUserInternal = function authenticateUserInternal(dataAuthenticate, authenticationHelper, callback) {\n var _this4 = this;\n var challengeName = dataAuthenticate.ChallengeName;\n var challengeParameters = dataAuthenticate.ChallengeParameters;\n if (challengeName === 'SMS_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'SELECT_MFA_TYPE') {\n this.Session = dataAuthenticate.Session;\n return callback.selectMFAType(challengeName, challengeParameters);\n }\n if (challengeName === 'MFA_SETUP') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaSetup(challengeName, challengeParameters);\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.totpRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'CUSTOM_CHALLENGE') {\n this.Session = dataAuthenticate.Session;\n return callback.customChallenge(challengeParameters);\n }\n if (challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.Session = dataAuthenticate.Session;\n var userAttributes = null;\n var rawRequiredAttributes = null;\n var requiredAttributes = [];\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n if (challengeParameters) {\n userAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.userAttributes);\n rawRequiredAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.requiredAttributes);\n }\n if (rawRequiredAttributes) {\n for (var i = 0; i < rawRequiredAttributes.length; i++) {\n requiredAttributes[i] = rawRequiredAttributes[i].substr(userAttributesPrefix.length);\n }\n }\n return callback.newPasswordRequired(userAttributes, requiredAttributes);\n }\n if (challengeName === 'DEVICE_SRP_AUTH') {\n this.Session = dataAuthenticate.Session;\n this.getDeviceResponse(callback);\n return undefined;\n }\n this.signInUserSession = this.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n this.challengeName = challengeName;\n this.cacheTokens();\n var newDeviceMetadata = dataAuthenticate.AuthenticationResult.NewDeviceMetadata;\n if (newDeviceMetadata == null) {\n return callback.onSuccess(this.signInUserSession);\n }\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this4.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this4.deviceGroupKey = newDeviceMetadata.DeviceGroupKey;\n _this4.randomPassword = authenticationHelper.getRandomPassword();\n _this4.client.request('ConfirmDevice', {\n DeviceKey: newDeviceMetadata.DeviceKey,\n AccessToken: _this4.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this4.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this4.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this4.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this4.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n }\n\n /**\n * This method is user to complete the NEW_PASSWORD_REQUIRED challenge.\n * Pass the new password with any new user attributes to be updated.\n * User attribute keys must be of format userAttributes.<attribute_name>.\n * @param {string} newPassword new password for this user\n * @param {object} requiredAttributeData map with values for all required attributes\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.completeNewPasswordChallenge = function completeNewPasswordChallenge(newPassword, requiredAttributeData, callback, clientMetadata) {\n var _this5 = this;\n if (!newPassword) {\n return callback.onFailure(new Error('New password is required.'));\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n var finalUserAttributes = {};\n if (requiredAttributeData) {\n Object.keys(requiredAttributeData).forEach(function (key) {\n finalUserAttributes[userAttributesPrefix + key] = requiredAttributeData[key];\n });\n }\n finalUserAttributes.NEW_PASSWORD = newPassword;\n finalUserAttributes.USERNAME = this.username;\n var jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ClientId: this.pool.getClientId(),\n ChallengeResponses: finalUserAttributes,\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this5.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n }\n\n /**\n * This is used to get a session using device authentication. It is called at the end of user\n * authentication\n *\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n * @private\n */;\n _proto.getDeviceResponse = function getDeviceResponse(callback, clientMetadata) {\n var _this6 = this;\n var authenticationHelper = new AuthenticationHelper(this.deviceGroupKey);\n var dateHelper = new DateHelper();\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.DEVICE_KEY = this.deviceKey;\n authenticationHelper.getLargeAValue(function (errAValue, aValue) {\n // getLargeAValue callback start\n if (errAValue) {\n callback.onFailure(errAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n var jsonReq = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: authParameters,\n ClientMetadata: clientMetadata,\n Session: _this6.Session\n };\n if (_this6.getUserContextData()) {\n jsonReq.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n var serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n var salt = new BigInteger(challengeParameters.SALT, 16);\n authenticationHelper.getPasswordAuthenticationKey(_this6.deviceKey, _this6.randomPassword, serverBValue, salt, function (errHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errHkdf) {\n return callback.onFailure(errHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this6.deviceGroupKey, 'utf8'), Buffer.from(_this6.deviceKey, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this6.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n challengeResponses.DEVICE_KEY = _this6.deviceKey;\n var jsonReqResp = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session\n };\n if (_this6.getUserContextData()) {\n jsonReqResp.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n _this6.signInUserSession = _this6.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this6.cacheTokens();\n return callback.onSuccess(_this6.signInUserSession);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * This is used for a certain user to confirm the registration by using a confirmation code\n * @param {string} confirmationCode Code entered by user.\n * @param {bool} forceAliasCreation Allow migrating from an existing email / phone number.\n * @param {nodeCallback<string>} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmRegistration = function confirmRegistration(confirmationCode, forceAliasCreation, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: confirmationCode,\n Username: this.username,\n ForceAliasCreation: forceAliasCreation,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmSignUp', jsonReq, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n }\n\n /**\n * This is used by the user once he has the responses to a custom challenge\n * @param {string} answerChallenge The custom challenge answer.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge\n * Custom challenge response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendCustomChallengeAnswer = function sendCustomChallengeAnswer(answerChallenge, callback, clientMetadata) {\n var _this7 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this7.authenticateUserInternal(data, authenticationHelper, callback);\n });\n }\n\n /**\n * This is used by the user once he has an MFA code\n * @param {string} confirmationCode The MFA code entered by the user.\n * @param {object} callback Result callback map.\n * @param {string} mfaType The mfa we are replying to.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendMFACode = function sendMFACode(confirmationCode, callback, mfaType, clientMetadata) {\n var _this8 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.SMS_MFA_CODE = confirmationCode;\n var mfaTypeSelection = mfaType || 'SMS_MFA';\n if (mfaTypeSelection === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = confirmationCode;\n }\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: mfaTypeSelection,\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, dataAuthenticate) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = dataAuthenticate.ChallengeName;\n if (challengeName === 'DEVICE_SRP_AUTH') {\n _this8.getDeviceResponse(callback);\n return undefined;\n }\n _this8.signInUserSession = _this8.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this8.cacheTokens();\n if (dataAuthenticate.AuthenticationResult.NewDeviceMetadata == null) {\n return callback.onSuccess(_this8.signInUserSession);\n }\n var authenticationHelper = new AuthenticationHelper(_this8.pool.getUserPoolName());\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this8.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this8.deviceGroupKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey;\n _this8.randomPassword = authenticationHelper.getRandomPassword();\n _this8.client.request('ConfirmDevice', {\n DeviceKey: dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: _this8.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this8.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this8.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this8.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this8.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n });\n }\n\n /**\n * This is used by an authenticated user to change the current password\n * @param {string} oldUserPassword The current password.\n * @param {string} newUserPassword The requested new password.\n * @param {nodeCallback<string>} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.changePassword = function changePassword(oldUserPassword, newUserPassword, callback, clientMetadata) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('ChangePassword', {\n PreviousPassword: oldUserPassword,\n ProposedPassword: newUserPassword,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @deprecated\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.enableMFA = function enableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n var mfaEnabled = {\n DeliveryMedium: 'SMS',\n AttributeName: 'phone_number'\n };\n mfaOptions.push(mfaEnabled);\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @param {IMfaSettings} smsMfaSettings the sms mfa settings\n * @param {IMFASettings} softwareTokenMfaSettings the software token mfa settings\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.setUserMfaPreference = function setUserMfaPreference(smsMfaSettings, softwareTokenMfaSettings, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('SetUserMFAPreference', {\n SMSMfaSettings: smsMfaSettings,\n SoftwareTokenMfaSettings: softwareTokenMfaSettings,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to disable MFA for itself\n * @deprecated\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.disableMFA = function disableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to delete itself\n * @param {nodeCallback<string>} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.deleteUser = function deleteUser(callback, clientMetadata) {\n var _this9 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n _this9.clearCachedUser();\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * @typedef {CognitoUserAttribute | { Name:string, Value:string }} AttributeArg\n */\n /**\n * This is used by an authenticated user to change a list of attributes\n * @param {AttributeArg[]} attributes A list of the new user attributes.\n * @param {nodeCallback<string>} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.updateAttributes = function updateAttributes(attributes, callback, clientMetadata) {\n var _this10 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('UpdateUserAttributes', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: attributes,\n ClientMetadata: clientMetadata\n }, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this10.getUserData(function () {\n return callback(null, 'SUCCESS', result);\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to get a list of attributes\n * @param {nodeCallback<CognitoUserAttribute[]>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getUserAttributes = function getUserAttributes(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n var attributeList = [];\n for (var i = 0; i < userData.UserAttributes.length; i++) {\n var attribute = {\n Name: userData.UserAttributes[i].Name,\n Value: userData.UserAttributes[i].Value\n };\n var userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n return callback(null, attributeList);\n });\n return undefined;\n }\n\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {nodeCallback<MFAOptions>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getMFAOptions = function getMFAOptions(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, userData.MFAOptions);\n });\n return undefined;\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.createGetUserRequest = function createGetUserRequest() {\n return this.client.promisifyRequest('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.refreshSessionIfPossible = function refreshSessionIfPossible(options) {\n var _this11 = this;\n if (options === void 0) {\n options = {};\n }\n // best effort, if not possible\n return new Promise(function (resolve) {\n var refresh = _this11.signInUserSession.getRefreshToken();\n if (refresh && refresh.getToken()) {\n _this11.refreshSession(refresh, resolve, options.clientMetadata);\n } else {\n resolve();\n }\n });\n }\n\n /**\n * @typedef {Object} GetUserDataOptions\n * @property {boolean} bypassCache - force getting data from Cognito service\n * @property {Record<string, string>} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used by an authenticated users to get the userData\n * @param {nodeCallback<UserData>} callback Called on success or error.\n * @param {GetUserDataOptions} params\n * @returns {void}\n */;\n _proto.getUserData = function getUserData(callback, params) {\n var _this12 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.clearCachedUserData();\n return callback(new Error('User is not authenticated'), null);\n }\n var userData = this.getUserDataFromCache();\n if (!userData) {\n this.fetchUserData().then(function (data) {\n callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n if (this.isFetchUserDataAndTokenRequired(params)) {\n this.fetchUserData().then(function (data) {\n return _this12.refreshSessionIfPossible(params).then(function () {\n return data;\n });\n }).then(function (data) {\n return callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n try {\n callback(null, JSON.parse(userData));\n return;\n } catch (err) {\n this.clearCachedUserData();\n callback(err, null);\n return;\n }\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.getUserDataFromCache = function getUserDataFromCache() {\n var userData = this.storage.getItem(this.userDataKey);\n return userData;\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.isFetchUserDataAndTokenRequired = function isFetchUserDataAndTokenRequired(params) {\n var _ref = params || {},\n _ref$bypassCache = _ref.bypassCache,\n bypassCache = _ref$bypassCache === void 0 ? false : _ref$bypassCache;\n return bypassCache;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.fetchUserData = function fetchUserData() {\n var _this13 = this;\n return this.createGetUserRequest().then(function (data) {\n _this13.cacheUserData(data);\n return data;\n });\n }\n\n /**\n * This is used by an authenticated user to delete a list of attributes\n * @param {string[]} attributeList Names of the attributes to delete.\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.deleteAttributes = function deleteAttributes(attributeList, callback) {\n var _this14 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUserAttributes', {\n UserAttributeNames: attributeList,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this14.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by a user to resend a confirmation code\n * @param {nodeCallback<string>} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.resendConfirmationCode = function resendConfirmationCode(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n this.client.request('ResendConfirmationCode', jsonReq, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, result);\n });\n }\n\n /**\n * @typedef {Object} GetSessionOptions\n * @property {Record<string, string>} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used to get a session, either from the session object\n * or from the local storage, or by using a refresh token\n *\n * @param {nodeCallback<CognitoUserSession>} callback Called on success or error.\n * @param {GetSessionOptions} options\n * @returns {void}\n */;\n _proto.getSession = function getSession(callback, options) {\n if (options === void 0) {\n options = {};\n }\n if (this.username == null) {\n return callback(new Error('Username is null. Cannot retrieve a new session'), null);\n }\n if (this.signInUserSession != null && this.signInUserSession.isValid()) {\n return callback(null, this.signInUserSession);\n }\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var idTokenKey = keyPrefix + \".idToken\";\n var accessTokenKey = keyPrefix + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".clockDrift\";\n if (this.storage.getItem(idTokenKey)) {\n var idToken = new CognitoIdToken({\n IdToken: this.storage.getItem(idTokenKey)\n });\n var accessToken = new CognitoAccessToken({\n AccessToken: this.storage.getItem(accessTokenKey)\n });\n var refreshToken = new CognitoRefreshToken({\n RefreshToken: this.storage.getItem(refreshTokenKey)\n });\n var clockDrift = parseInt(this.storage.getItem(clockDriftKey), 0) || 0;\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken,\n ClockDrift: clockDrift\n };\n var cachedSession = new CognitoUserSession(sessionData);\n if (cachedSession.isValid()) {\n this.signInUserSession = cachedSession;\n return callback(null, this.signInUserSession);\n }\n if (!refreshToken.getToken()) {\n return callback(new Error('Cannot retrieve a new session. Please authenticate.'), null);\n }\n this.refreshSession(refreshToken, callback, options.clientMetadata);\n } else {\n callback(new Error('Local storage is missing an ID Token, Please authenticate'), null);\n }\n return undefined;\n }\n\n /**\n * This uses the refreshToken to retrieve a new session\n * @param {CognitoRefreshToken} refreshToken A previous session's refresh token.\n * @param {nodeCallback<CognitoUserSession>} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.refreshSession = function refreshSession(refreshToken, callback, clientMetadata) {\n var _this15 = this;\n var wrappedCallback = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(callback) : callback;\n var authParameters = {};\n authParameters.REFRESH_TOKEN = refreshToken.getToken();\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n if (this.storage.getItem(lastUserKey)) {\n this.username = this.storage.getItem(lastUserKey);\n var deviceKeyKey = keyPrefix + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n if (err.code === 'NotAuthorizedException') {\n _this15.clearCachedUser();\n }\n return wrappedCallback(err, null);\n }\n if (authResult) {\n var authenticationResult = authResult.AuthenticationResult;\n if (!Object.prototype.hasOwnProperty.call(authenticationResult, 'RefreshToken')) {\n authenticationResult.RefreshToken = refreshToken.getToken();\n }\n _this15.signInUserSession = _this15.getCognitoUserSession(authenticationResult);\n _this15.cacheTokens();\n return wrappedCallback(null, _this15.signInUserSession);\n }\n return undefined;\n });\n }\n\n /**\n * This is used to save the session tokens to local storage\n * @returns {void}\n */;\n _proto.cacheTokens = function cacheTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n this.storage.setItem(idTokenKey, this.signInUserSession.getIdToken().getJwtToken());\n this.storage.setItem(accessTokenKey, this.signInUserSession.getAccessToken().getJwtToken());\n this.storage.setItem(refreshTokenKey, this.signInUserSession.getRefreshToken().getToken());\n this.storage.setItem(clockDriftKey, \"\" + this.signInUserSession.getClockDrift());\n this.storage.setItem(lastUserKey, this.username);\n }\n\n /**\n * This is to cache user data\n */;\n _proto.cacheUserData = function cacheUserData(userData) {\n this.storage.setItem(this.userDataKey, JSON.stringify(userData));\n }\n\n /**\n * This is to remove cached user data\n */;\n _proto.clearCachedUserData = function clearCachedUserData() {\n this.storage.removeItem(this.userDataKey);\n };\n _proto.clearCachedUser = function clearCachedUser() {\n this.clearCachedTokens();\n this.clearCachedUserData();\n }\n\n /**\n * This is used to cache the device key and device group and device password\n * @returns {void}\n */;\n _proto.cacheDeviceKeyAndPassword = function cacheDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.setItem(deviceKeyKey, this.deviceKey);\n this.storage.setItem(randomPasswordKey, this.randomPassword);\n this.storage.setItem(deviceGroupKeyKey, this.deviceGroupKey);\n }\n\n /**\n * This is used to get current device key and device group and device password\n * @returns {void}\n */;\n _proto.getCachedDeviceKeyAndPassword = function getCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n if (this.storage.getItem(deviceKeyKey)) {\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n this.randomPassword = this.storage.getItem(randomPasswordKey);\n this.deviceGroupKey = this.storage.getItem(deviceGroupKeyKey);\n }\n }\n\n /**\n * This is used to clear the device key info from local storage\n * @returns {void}\n */;\n _proto.clearCachedDeviceKeyAndPassword = function clearCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.removeItem(deviceKeyKey);\n this.storage.removeItem(randomPasswordKey);\n this.storage.removeItem(deviceGroupKeyKey);\n }\n\n /**\n * This is used to clear the session tokens from local storage\n * @returns {void}\n */;\n _proto.clearCachedTokens = function clearCachedTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(idTokenKey);\n this.storage.removeItem(accessTokenKey);\n this.storage.removeItem(refreshTokenKey);\n this.storage.removeItem(lastUserKey);\n this.storage.removeItem(clockDriftKey);\n }\n\n /**\n * This is used to build a user session from tokens retrieved in the authentication result\n * @param {object} authResult Successful auth response from server.\n * @returns {CognitoUserSession} The new user session.\n * @private\n */;\n _proto.getCognitoUserSession = function getCognitoUserSession(authResult) {\n var idToken = new CognitoIdToken(authResult);\n var accessToken = new CognitoAccessToken(authResult);\n var refreshToken = new CognitoRefreshToken(authResult);\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken\n };\n return new CognitoUserSession(sessionData);\n }\n\n /**\n * This is used to initiate a forgot password request\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode?} callback.inputVerificationCode\n * Optional callback raised instead of onSuccess with response data.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.forgotPassword = function forgotPassword(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ForgotPassword', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess(data);\n });\n }\n\n /**\n * This is used to confirm a new password using a confirmationCode\n * @param {string} confirmationCode Code entered by user.\n * @param {string} newPassword Confirm new password.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<void>} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmPassword = function confirmPassword(confirmationCode, newPassword, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: confirmationCode,\n Password: newPassword,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmForgotPassword', jsonReq, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n }\n\n /**\n * This is used to initiate an attribute confirmation request\n * @param {string} attributeName User attribute that needs confirmation.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode} callback.inputVerificationCode Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.getAttributeVerificationCode = function getAttributeVerificationCode(attributeName, callback, clientMetadata) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetUserAttributeVerificationCode', {\n AttributeName: attributeName,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to confirm an attribute using a confirmation code\n * @param {string} attributeName Attribute being confirmed.\n * @param {string} confirmationCode Code entered by user.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<string>} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.verifyAttribute = function verifyAttribute(attributeName, confirmationCode, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('VerifyUserAttribute', {\n AttributeName: attributeName,\n Code: confirmationCode,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to get the device information using the current device key\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device data.\n * @returns {void}\n */;\n _proto.getDevice = function getDevice(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to forget a specific device\n * @param {string} deviceKey Device key.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<string>} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetSpecificDevice = function forgetSpecificDevice(deviceKey, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('ForgetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: deviceKey\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to forget the current device\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<string>} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetDevice = function forgetDevice(callback) {\n var _this16 = this;\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: callback.onFailure,\n onSuccess: function onSuccess(result) {\n _this16.deviceKey = null;\n _this16.deviceGroupKey = null;\n _this16.randomPassword = null;\n _this16.clearCachedDeviceKeyAndPassword();\n return callback.onSuccess(result);\n }\n });\n }\n\n /**\n * This is used to set the device status as remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<string>} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusRemembered = function setDeviceStatusRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to set the device status as not remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<string>} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusNotRemembered = function setDeviceStatusNotRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'not_remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to list all devices for a user\n *\n * @param {int} limit the number of devices returned in a call\n * @param {string | null} paginationToken the pagination token in case any was returned before\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device list.\n * @returns {void}\n */;\n _proto.listDevices = function listDevices(limit, paginationToken, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n var requestParams = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: limit\n };\n if (paginationToken) {\n requestParams.PaginationToken = paginationToken;\n }\n this.client.request('ListDevices', requestParams, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to globally revoke all tokens issued to a user\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<string>} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.globalSignOut = function globalSignOut(callback) {\n var _this17 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GlobalSignOut', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n _this17.clearCachedUser();\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used for the user to signOut of the application and clear the cached tokens.\n * @returns {void}\n */;\n _proto.signOut = function signOut(revokeTokenCallback) {\n var _this18 = this;\n // If tokens won't be revoked, we just clean the client data.\n if (!revokeTokenCallback || typeof revokeTokenCallback !== 'function') {\n this.cleanClientData();\n return;\n }\n this.getSession(function (error, _session) {\n if (error) {\n return revokeTokenCallback(error);\n }\n _this18.revokeTokens(function (err) {\n _this18.cleanClientData();\n revokeTokenCallback(err);\n });\n });\n };\n _proto.revokeTokens = function revokeTokens(revokeTokenCallback) {\n if (revokeTokenCallback === void 0) {\n revokeTokenCallback = function revokeTokenCallback() {};\n }\n if (typeof revokeTokenCallback !== 'function') {\n throw new Error('Invalid revokeTokenCallback. It should be a function.');\n }\n var tokensToBeRevoked = [];\n if (!this.signInUserSession) {\n var error = new Error('User is not authenticated');\n return revokeTokenCallback(error);\n }\n if (!this.signInUserSession.getAccessToken()) {\n var _error = new Error('No Access token available');\n return revokeTokenCallback(_error);\n }\n var refreshToken = this.signInUserSession.getRefreshToken().getToken();\n var accessToken = this.signInUserSession.getAccessToken();\n if (this.isSessionRevocable(accessToken)) {\n if (refreshToken) {\n return this.revokeToken({\n token: refreshToken,\n callback: revokeTokenCallback\n });\n }\n }\n revokeTokenCallback();\n };\n _proto.isSessionRevocable = function isSessionRevocable(token) {\n if (token && typeof token.decodePayload === 'function') {\n try {\n var _token$decodePayload = token.decodePayload(),\n origin_jti = _token$decodePayload.origin_jti;\n return !!origin_jti;\n } catch (err) {\n // Nothing to do, token doesnt have origin_jti claim\n }\n }\n return false;\n };\n _proto.cleanClientData = function cleanClientData() {\n this.signInUserSession = null;\n this.clearCachedUser();\n };\n _proto.revokeToken = function revokeToken(_ref2) {\n var token = _ref2.token,\n callback = _ref2.callback;\n this.client.requestWithRetry('RevokeToken', {\n Token: token,\n ClientId: this.pool.getClientId()\n }, function (err) {\n if (err) {\n return callback(err);\n }\n callback();\n });\n }\n\n /**\n * This is used by a user trying to select a given MFA\n * @param {string} answerChallenge the mfa the user wants\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.sendMFASelectionAnswer = function sendMFASelectionAnswer(answerChallenge, callback) {\n var _this19 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this19.Session = data.Session;\n if (answerChallenge === 'SMS_MFA') {\n return callback.mfaRequired(data.ChallengeName, data.ChallengeParameters);\n }\n if (answerChallenge === 'SOFTWARE_TOKEN_MFA') {\n return callback.totpRequired(data.ChallengeName, data.ChallengeParameters);\n }\n return undefined;\n });\n }\n\n /**\n * This returns the user context data for advanced security feature.\n * @returns {string} the user context data from CognitoUserPool\n */;\n _proto.getUserContextData = function getUserContextData() {\n var pool = this.pool;\n return pool.getUserContextData(this.username);\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to associate a TOTP MFA\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.associateSoftwareToken = function associateSoftwareToken(callback) {\n var _this20 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('AssociateSoftwareToken', {\n Session: this.Session\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this20.Session = data.Session;\n return callback.associateSecretCode(data.SecretCode);\n });\n } else {\n this.client.request('AssociateSoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.associateSecretCode(data.SecretCode);\n });\n }\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to verify a TOTP MFA\n * @param {string} totpCode The MFA code entered by the user.\n * @param {string} friendlyDeviceName The device name we are assigning to the device.\n * @param {nodeCallback<string>} callback Called on success or error.\n * @returns {void}\n */;\n _proto.verifySoftwareToken = function verifySoftwareToken(totpCode, friendlyDeviceName, callback) {\n var _this21 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('VerifySoftwareToken', {\n Session: this.Session,\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this21.Session = data.Session;\n var challengeResponses = {};\n challengeResponses.USERNAME = _this21.username;\n var jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ClientId: _this21.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: _this21.Session\n };\n if (_this21.getUserContextData()) {\n jsonReq.UserContextData = _this21.getUserContextData();\n }\n _this21.client.request('RespondToAuthChallenge', jsonReq, function (errRespond, dataRespond) {\n if (errRespond) {\n return callback.onFailure(errRespond);\n }\n _this21.signInUserSession = _this21.getCognitoUserSession(dataRespond.AuthenticationResult);\n _this21.cacheTokens();\n return callback.onSuccess(_this21.signInUserSession);\n });\n return undefined;\n });\n } else {\n this.client.request('VerifySoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n }\n };\n return CognitoUser;\n}();\nexport { CognitoUser as default };","import { getUserAgent } from \"./Platform\";\n// constructor\nfunction UserAgent() {}\n// public\nUserAgent.prototype.userAgent = getUserAgent();\nexport var appendToCognitoUserAgent = function appendToCognitoUserAgent(content) {\n if (!content) {\n return;\n }\n if (UserAgent.prototype.userAgent && !UserAgent.prototype.userAgent.includes(content)) {\n UserAgent.prototype.userAgent = UserAgent.prototype.userAgent.concat(' ', content);\n }\n if (!UserAgent.prototype.userAgent || UserAgent.prototype.userAgent === '') {\n UserAgent.prototype.userAgent = content;\n }\n};\n\n// class for defining the amzn user-agent\nexport default UserAgent;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nimport 'isomorphic-unfetch';\nimport UserAgent from './UserAgent';\nvar CognitoError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(CognitoError, _Error);\n function CognitoError(message, code, name, statusCode) {\n var _this;\n _this = _Error.call(this, message) || this;\n _this.code = code;\n _this.name = name;\n _this.statusCode = statusCode;\n return _this;\n }\n return CognitoError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/** @class */\nvar Client = /*#__PURE__*/function () {\n /**\n * Constructs a new AWS Cognito Identity Provider client object\n * @param {string} region AWS region\n * @param {string} endpoint endpoint\n * @param {object} fetchOptions options for fetch API (only credentials is supported)\n */\n function Client(region, endpoint, fetchOptions) {\n this.endpoint = endpoint || \"https://cognito-idp.\" + region + \".amazonaws.com/\";\n var _ref = fetchOptions || {},\n credentials = _ref.credentials;\n this.fetchOptions = credentials ? {\n credentials: credentials\n } : {};\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @returns Promise<object>\n */\n var _proto = Client.prototype;\n _proto.promisifyRequest = function promisifyRequest(operation, params) {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.request(operation, params, function (err, data) {\n if (err) {\n reject(new CognitoError(err.message, err.code, err.name, err.statusCode));\n } else {\n resolve(data);\n }\n });\n });\n };\n _proto.requestWithRetry = function requestWithRetry(operation, params, callback) {\n var _this3 = this;\n var MAX_DELAY_IN_MILLIS = 5 * 1000;\n jitteredExponentialRetry(function (p) {\n return new Promise(function (res, rej) {\n _this3.request(operation, p, function (error, result) {\n if (error) {\n rej(error);\n } else {\n res(result);\n }\n });\n });\n }, [params], MAX_DELAY_IN_MILLIS).then(function (result) {\n return callback(null, result);\n })[\"catch\"](function (error) {\n return callback(error);\n });\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @param {function} callback Callback called when a response is returned\n * @returns {void}\n */;\n _proto.request = function request(operation, params, callback) {\n var headers = {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': \"AWSCognitoIdentityProviderService.\" + operation,\n 'X-Amz-User-Agent': UserAgent.prototype.userAgent,\n 'Cache-Control': 'no-store'\n };\n var options = Object.assign({}, this.fetchOptions, {\n headers: headers,\n method: 'POST',\n mode: 'cors',\n body: JSON.stringify(params)\n });\n var response;\n var responseJsonData;\n fetch(this.endpoint, options).then(function (resp) {\n response = resp;\n return resp;\n }, function (err) {\n // If error happens here, the request failed\n // if it is TypeError throw network error\n if (err instanceof TypeError) {\n throw new Error('Network error');\n }\n throw err;\n }).then(function (resp) {\n return resp.json()[\"catch\"](function () {\n return {};\n });\n }).then(function (data) {\n // return parsed body stream\n if (response.ok) return callback(null, data);\n responseJsonData = data;\n\n // Taken from aws-sdk-js/lib/protocol/json.js\n // eslint-disable-next-line no-underscore-dangle\n var code = (data.__type || data.code).split('#').pop();\n var error = new Error(data.message || data.Message || null);\n error.name = code;\n error.code = code;\n return callback(error);\n })[\"catch\"](function (err) {\n // first check if we have a service error\n if (response && response.headers && response.headers.get('x-amzn-errortype')) {\n try {\n var code = response.headers.get('x-amzn-errortype').split(':')[0];\n var error = new Error(response.status ? response.status.toString() : null);\n error.code = code;\n error.name = code;\n error.statusCode = response.status;\n return callback(error);\n } catch (ex) {\n return callback(err);\n }\n // otherwise check if error is Network error\n } else if (err instanceof Error && err.message === 'Network error') {\n err.code = 'NetworkError';\n }\n return callback(err);\n });\n };\n return Client;\n}();\nexport { Client as default };\nvar logger = {\n debug: function debug() {\n // Intentionally blank. This package doesn't have logging\n }\n};\n\n/**\n * For now, all errors are retryable.\n */\nvar NonRetryableError = /*#__PURE__*/function (_Error2) {\n _inheritsLoose(NonRetryableError, _Error2);\n function NonRetryableError(message) {\n var _this4;\n _this4 = _Error2.call(this, message) || this;\n _this4.nonRetryable = true;\n return _this4;\n }\n return NonRetryableError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nvar isNonRetryableError = function isNonRetryableError(obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\nfunction retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) {\n attempt = 1;\n }\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with args: \" + JSON.stringify(args));\n return functionToRetry.apply(void 0, args)[\"catch\"](function (err) {\n logger.debug(\"error on \" + functionToRetry.name, err);\n if (isNonRetryableError(err)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err);\n throw err;\n }\n var retryIn = delayFn(attempt, args, err);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn + \" ms\");\n if (retryIn !== false) {\n return new Promise(function (res) {\n return setTimeout(res, retryIn);\n }).then(function () {\n return retry(functionToRetry, args, delayFn, attempt + 1);\n });\n } else {\n throw err;\n }\n });\n}\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\nfunction jitteredExponentialRetry(functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) {\n maxDelayMs = MAX_DELAY_MS;\n }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n}","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Client from './Client';\nimport CognitoUser from './CognitoUser';\nimport StorageHelper from './StorageHelper';\nvar USER_POOL_ID_MAX_LENGTH = 55;\n\n/** @class */\nvar CognitoUserPool = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserPool object\n * @param {object} data Creation options.\n * @param {string} data.UserPoolId Cognito user pool id.\n * @param {string} data.ClientId User pool application client id.\n * @param {string} data.endpoint Optional custom service endpoint.\n * @param {object} data.fetchOptions Optional options for fetch API.\n * (only credentials option is supported)\n * @param {object} data.Storage Optional storage object.\n * @param {boolean} data.AdvancedSecurityDataCollectionFlag Optional:\n * boolean flag indicating if the data collection is enabled\n * to support cognito advanced security features. By default, this\n * flag is set to true.\n */\n function CognitoUserPool(data, wrapRefreshSessionCallback) {\n var _ref = data || {},\n UserPoolId = _ref.UserPoolId,\n ClientId = _ref.ClientId,\n endpoint = _ref.endpoint,\n fetchOptions = _ref.fetchOptions,\n AdvancedSecurityDataCollectionFlag = _ref.AdvancedSecurityDataCollectionFlag;\n if (!UserPoolId || !ClientId) {\n throw new Error('Both UserPoolId and ClientId are required.');\n }\n if (UserPoolId.length > USER_POOL_ID_MAX_LENGTH || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(UserPoolId)) {\n throw new Error('Invalid UserPoolId format.');\n }\n var region = UserPoolId.split('_')[0];\n this.userPoolId = UserPoolId;\n this.clientId = ClientId;\n this.client = new Client(region, endpoint, fetchOptions);\n\n /**\n * By default, AdvancedSecurityDataCollectionFlag is set to true,\n * if no input value is provided.\n */\n this.advancedSecurityDataCollectionFlag = AdvancedSecurityDataCollectionFlag !== false;\n this.storage = data.Storage || new StorageHelper().getStorage();\n if (wrapRefreshSessionCallback) {\n this.wrapRefreshSessionCallback = wrapRefreshSessionCallback;\n }\n }\n\n /**\n * @returns {string} the user pool id\n */\n var _proto = CognitoUserPool.prototype;\n _proto.getUserPoolId = function getUserPoolId() {\n return this.userPoolId;\n }\n\n /**\n * @returns {string} the user pool name\n */;\n _proto.getUserPoolName = function getUserPoolName() {\n return this.getUserPoolId().split('_')[1];\n }\n\n /**\n * @returns {string} the client id\n */;\n _proto.getClientId = function getClientId() {\n return this.clientId;\n }\n\n /**\n * @typedef {object} SignUpResult\n * @property {CognitoUser} user New user.\n * @property {bool} userConfirmed If the user is already confirmed.\n */\n /**\n * method for signing up a user\n * @param {string} username User's username.\n * @param {string} password Plain-text initial password entered by user.\n * @param {(AttributeArg[])=} userAttributes New user attributes.\n * @param {(AttributeArg[])=} validationData Application metadata.\n * @param {(AttributeArg[])=} clientMetadata Client metadata.\n * @param {nodeCallback<SignUpResult>} callback Called on error or with the new user.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.signUp = function signUp(username, password, userAttributes, validationData, callback, clientMetadata) {\n var _this = this;\n var jsonReq = {\n ClientId: this.clientId,\n Username: username,\n Password: password,\n UserAttributes: userAttributes,\n ValidationData: validationData,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData(username)) {\n jsonReq.UserContextData = this.getUserContextData(username);\n }\n this.client.request('SignUp', jsonReq, function (err, data) {\n if (err) {\n return callback(err, null);\n }\n var cognitoUser = {\n Username: username,\n Pool: _this,\n Storage: _this.storage\n };\n var returnData = {\n user: new CognitoUser(cognitoUser),\n userConfirmed: data.UserConfirmed,\n userSub: data.UserSub,\n codeDeliveryDetails: data.CodeDeliveryDetails\n };\n return callback(null, returnData);\n });\n }\n\n /**\n * method for getting the current user of the application from the local storage\n *\n * @returns {CognitoUser} the user retrieved from storage\n */;\n _proto.getCurrentUser = function getCurrentUser() {\n var lastUserKey = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\";\n var lastAuthUser = this.storage.getItem(lastUserKey);\n if (lastAuthUser) {\n var cognitoUser = {\n Username: lastAuthUser,\n Pool: this,\n Storage: this.storage\n };\n return new CognitoUser(cognitoUser);\n }\n return null;\n }\n\n /**\n * This method returns the encoded data string used for cognito advanced security feature.\n * This would be generated only when developer has included the JS used for collecting the\n * data on their client. Please refer to documentation to know more about using AdvancedSecurity\n * features\n * @param {string} username the username for the context data\n * @returns {string} the user context data\n **/;\n _proto.getUserContextData = function getUserContextData(username) {\n if (typeof AmazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n /* eslint-disable */\n var amazonCognitoAdvancedSecurityDataConst = AmazonCognitoAdvancedSecurityData;\n /* eslint-enable */\n\n if (this.advancedSecurityDataCollectionFlag) {\n var advancedSecurityData = amazonCognitoAdvancedSecurityDataConst.getData(username, this.userPoolId, this.clientId);\n if (advancedSecurityData) {\n var userContextData = {\n EncodedData: advancedSecurityData\n };\n return userContextData;\n }\n }\n return {};\n };\n return CognitoUserPool;\n}();\nexport { CognitoUserPool as default };","export enum AuthErrorStrings {\n\tDEFAULT_MSG = 'Authentication Error',\n\tEMPTY_EMAIL = 'Email cannot be empty',\n\tEMPTY_PHONE = 'Phone number cannot be empty',\n\tEMPTY_USERNAME = 'Username cannot be empty',\n\tINVALID_USERNAME = 'The username should either be a string or one of the sign in types',\n\tEMPTY_PASSWORD = 'Password cannot be empty',\n\tEMPTY_CODE = 'Confirmation code cannot be empty',\n\tSIGN_UP_ERROR = 'Error creating account',\n\tNO_MFA = 'No valid MFA method provided',\n\tINVALID_MFA = 'Invalid MFA type',\n\tEMPTY_CHALLENGE = 'Challenge response cannot be empty',\n\tNO_USER_SESSION = 'Failed to get the session because the user is empty',\n\tNETWORK_ERROR = 'Network Error',\n\tDEVICE_CONFIG = 'Device tracking has not been configured in this User Pool',\n\tAUTOSIGNIN_ERROR = 'Please use your credentials to sign in',\n}\n","import * as Cookies from 'js-cookie';\n\n/** @class */\nvar CookieStorage = /*#__PURE__*/function () {\n /**\n * Constructs a new CookieStorage object\n * @param {object} data Creation options.\n * @param {string} data.domain Cookies domain (default: domain of the page\n * \t\t\t\twhere the cookie was created, excluding subdomains)\n * @param {string} data.path Cookies path (default: '/')\n * @param {integer} data.expires Cookie expiration (in days, default: 365)\n * @param {boolean} data.secure Cookie secure flag (default: true)\n * @param {string} data.sameSite Cookie request behavior (default: null)\n */\n function CookieStorage(data) {\n if (data === void 0) {\n data = {};\n }\n if (data.domain) {\n this.domain = data.domain;\n }\n if (data.path) {\n this.path = data.path;\n } else {\n this.path = '/';\n }\n if (Object.prototype.hasOwnProperty.call(data, 'expires')) {\n this.expires = data.expires;\n } else {\n this.expires = 365;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'secure')) {\n this.secure = data.secure;\n } else {\n this.secure = true;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!['strict', 'lax', 'none'].includes(data.sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n if (data.sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n this.sameSite = data.sameSite;\n } else {\n this.sameSite = null;\n }\n }\n\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n var _proto = CookieStorage.prototype;\n _proto.setItem = function setItem(key, value) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n Cookies.set(key, value, options);\n return Cookies.get(key);\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n _proto.getItem = function getItem(key) {\n return Cookies.get(key);\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */;\n _proto.removeItem = function removeItem(key) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n return Cookies.remove(key, options);\n }\n\n /**\n * This is used to clear the storage of optional\n * items that were previously set\n * @returns {} an empty object\n */;\n _proto.clear = function clear() {\n var cookies = Cookies.get();\n var numKeys = Object.keys(cookies).length;\n for (var index = 0; index < numKeys; ++index) {\n this.removeItem(Object.keys(cookies)[index]);\n }\n return {};\n };\n return CookieStorage;\n}();\nexport { CookieStorage as default };","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nconst SELF = '_self';\n\nexport const launchUri = (url: string) => {\n\tconst windowProxy = window.open(url, SELF);\n\tif (windowProxy) {\n\t\treturn Promise.resolve(windowProxy);\n\t} else {\n\t\treturn Promise.reject();\n\t}\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'url'; // Used for OAuth parsing of Cognito Hosted UI\nimport { launchUri } from './urlOpener';\nimport * as oAuthStorage from './oauthStorage';\nimport { Buffer } from 'buffer';\n\nimport {\n\tOAuthOpts,\n\tisCognitoHostedOpts,\n\tCognitoHostedUIIdentityProvider,\n} from '../types/Auth';\n\nimport { ConsoleLogger as Logger, Hub, urlSafeEncode } from '@aws-amplify/core';\n\nimport { Sha256 } from '@aws-crypto/sha256-js';\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nconst dispatchAuthEvent = (event: string, data: any, message: string) => {\n\tHub.dispatch('auth', { event, data, message }, 'Auth', AMPLIFY_SYMBOL);\n};\n\nconst logger = new Logger('OAuth');\n\nexport default class OAuth {\n\tprivate _urlOpener;\n\tprivate _config;\n\tprivate _cognitoClientId;\n\tprivate _scopes;\n\n\tconstructor({\n\t\tconfig,\n\t\tcognitoClientId,\n\t\tscopes = [],\n\t}: {\n\t\tscopes: string[];\n\t\tconfig: OAuthOpts;\n\t\tcognitoClientId: string;\n\t}) {\n\t\tthis._urlOpener = config.urlOpener || launchUri;\n\t\tthis._config = config;\n\t\tthis._cognitoClientId = cognitoClientId;\n\n\t\tif (!this.isValidScopes(scopes))\n\t\t\tthrow Error('scopes must be a String Array');\n\t\tthis._scopes = scopes;\n\t}\n\n\tprivate isValidScopes(scopes: string[]) {\n\t\treturn (\n\t\t\tArray.isArray(scopes) && scopes.every(scope => typeof scope === 'string')\n\t\t);\n\t}\n\n\tpublic oauthSignIn(\n\t\tresponseType = 'code',\n\t\tdomain: string,\n\t\tredirectSignIn: string,\n\t\tclientId: string,\n\t\tprovider:\n\t\t\t| CognitoHostedUIIdentityProvider\n\t\t\t| string = CognitoHostedUIIdentityProvider.Cognito,\n\t\tcustomState?: string\n\t) {\n\t\tconst generatedState = this._generateState(32);\n\n\t\t/* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito \n\t\tsingle-encodes/decodes url on first sign in and double-encodes/decodes url\n\t\twhen user already signed in. Using encodeURIComponent, Base32, Base64 add \n\t\tcharacters % or = which on further encoding becomes unsafe. '=' create issue \n\t\tfor parsing query params. \n\t\tRefer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n\t\tconst state = customState\n\t\t\t? `${generatedState}-${urlSafeEncode(customState)}`\n\t\t\t: generatedState;\n\n\t\toAuthStorage.setState(state);\n\n\t\tconst pkce_key = this._generateRandom(128);\n\t\toAuthStorage.setPKCE(pkce_key);\n\n\t\tconst code_challenge = this._generateChallenge(pkce_key);\n\t\tconst code_challenge_method = 'S256';\n\n\t\tconst scopesString = this._scopes.join(' ');\n\n\t\tconst queryString = Object.entries({\n\t\t\tredirect_uri: redirectSignIn,\n\t\t\tresponse_type: responseType,\n\t\t\tclient_id: clientId,\n\t\t\tidentity_provider: provider,\n\t\t\tscope: scopesString,\n\t\t\tstate,\n\t\t\t...(responseType === 'code' ? { code_challenge } : {}),\n\t\t\t...(responseType === 'code' ? { code_challenge_method } : {}),\n\t\t})\n\t\t\t.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n\t\t\t.join('&');\n\n\t\tconst URL = `https://${domain}/oauth2/authorize?${queryString}`;\n\t\tlogger.debug(`Redirecting to ${URL}`);\n\t\tthis._urlOpener(URL, redirectSignIn);\n\t}\n\n\tprivate async _handleCodeFlow(currentUrl: string) {\n\t\t/* Convert URL into an object with parameters as keys\n { redirect_uri: 'http://localhost:3000/', response_type: 'code', ...} */\n\t\tconst { code } = (parse(currentUrl).query || '')\n\t\t\t.split('&')\n\t\t\t.map(pairings => pairings.split('='))\n\t\t\t.reduce((accum, [k, v]) => ({ ...accum, [k]: v }), { code: undefined });\n\n\t\tconst currentUrlPathname = parse(currentUrl).pathname || '/';\n\t\tconst redirectSignInPathname =\n\t\t\tparse(this._config.redirectSignIn).pathname || '/';\n\n\t\tif (!code || currentUrlPathname !== redirectSignInPathname) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst oAuthTokenEndpoint =\n\t\t\t'https://' + this._config.domain + '/oauth2/token';\n\n\t\tdispatchAuthEvent(\n\t\t\t'codeFlow',\n\t\t\t{},\n\t\t\t`Retrieving tokens from ${oAuthTokenEndpoint}`\n\t\t);\n\n\t\tconst client_id = isCognitoHostedOpts(this._config)\n\t\t\t? this._cognitoClientId\n\t\t\t: this._config.clientID;\n\n\t\tconst redirect_uri = isCognitoHostedOpts(this._config)\n\t\t\t? this._config.redirectSignIn\n\t\t\t: this._config.redirectUri;\n\n\t\tconst code_verifier = oAuthStorage.getPKCE();\n\n\t\tconst oAuthTokenBody = {\n\t\t\tgrant_type: 'authorization_code',\n\t\t\tcode,\n\t\t\tclient_id,\n\t\t\tredirect_uri,\n\t\t\t...(code_verifier ? { code_verifier } : {}),\n\t\t};\n\n\t\tlogger.debug(\n\t\t\t`Calling token endpoint: ${oAuthTokenEndpoint} with`,\n\t\t\toAuthTokenBody\n\t\t);\n\n\t\tconst body = Object.entries(oAuthTokenBody)\n\t\t\t.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n\t\t\t.join('&');\n\n\t\tconst { access_token, refresh_token, id_token, error } = await (\n\t\t\t(await fetch(oAuthTokenEndpoint, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t},\n\t\t\t\tbody,\n\t\t\t})) as any\n\t\t).json();\n\n\t\tif (error) {\n\t\t\tthrow new Error(error);\n\t\t}\n\n\t\treturn {\n\t\t\taccessToken: access_token,\n\t\t\trefreshToken: refresh_token,\n\t\t\tidToken: id_token,\n\t\t};\n\t}\n\n\tprivate async _handleImplicitFlow(currentUrl: string) {\n\t\t// hash is `null` if `#` doesn't exist on URL\n\t\tconst { id_token, access_token } = (parse(currentUrl).hash || '#')\n\t\t\t.substr(1) // Remove # from returned code\n\t\t\t.split('&')\n\t\t\t.map(pairings => pairings.split('='))\n\t\t\t.reduce((accum, [k, v]) => ({ ...accum, [k]: v }), {\n\t\t\t\tid_token: undefined,\n\t\t\t\taccess_token: undefined,\n\t\t\t});\n\n\t\tdispatchAuthEvent('implicitFlow', {}, `Got tokens from ${currentUrl}`);\n\t\tlogger.debug(`Retrieving implicit tokens from ${currentUrl} with`);\n\n\t\treturn {\n\t\t\taccessToken: access_token,\n\t\t\tidToken: id_token,\n\t\t\trefreshToken: null,\n\t\t};\n\t}\n\n\tpublic async handleAuthResponse(currentUrl?: string) {\n\t\ttry {\n\t\t\tconst urlParams = currentUrl\n\t\t\t\t? ({\n\t\t\t\t\t\t...(parse(currentUrl).hash || '#')\n\t\t\t\t\t\t\t.substr(1)\n\t\t\t\t\t\t\t.split('&')\n\t\t\t\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ((acc[k] = v), acc), {}),\n\t\t\t\t\t\t...(parse(currentUrl).query || '')\n\t\t\t\t\t\t\t.split('&')\n\t\t\t\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ((acc[k] = v), acc), {}),\n\t\t\t\t } as any)\n\t\t\t\t: {};\n\t\t\tconst { error, error_description } = urlParams;\n\n\t\t\tif (error) {\n\t\t\t\tthrow new Error(error_description);\n\t\t\t}\n\n\t\t\tconst state: string = this._validateState(urlParams);\n\n\t\t\tlogger.debug(\n\t\t\t\t`Starting ${this._config.responseType} flow with ${currentUrl}`\n\t\t\t);\n\t\t\tif (this._config.responseType === 'code') {\n\t\t\t\treturn { ...(await this._handleCodeFlow(currentUrl)), state };\n\t\t\t} else {\n\t\t\t\treturn { ...(await this._handleImplicitFlow(currentUrl)), state };\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tlogger.debug(`Error handling auth response.`, e);\n\t\t\tthrow e;\n\t\t}\n\t}\n\n\tprivate _validateState(urlParams: any): string {\n\t\tif (!urlParams) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst savedState = oAuthStorage.getState();\n\t\tconst { state: returnedState } = urlParams;\n\n\t\t// This is because savedState only exists if the flow was initiated by Amplify\n\t\tif (savedState && savedState !== returnedState) {\n\t\t\tthrow new Error('Invalid state in OAuth flow');\n\t\t}\n\t\treturn returnedState;\n\t}\n\n\tpublic async signOut() {\n\t\tlet oAuthLogoutEndpoint = 'https://' + this._config.domain + '/logout?';\n\n\t\tconst client_id = isCognitoHostedOpts(this._config)\n\t\t\t? this._cognitoClientId\n\t\t\t: this._config.oauth.clientID;\n\n\t\tconst signout_uri = isCognitoHostedOpts(this._config)\n\t\t\t? this._config.redirectSignOut\n\t\t\t: this._config.returnTo;\n\n\t\toAuthLogoutEndpoint += Object.entries({\n\t\t\tclient_id,\n\t\t\tlogout_uri: encodeURIComponent(signout_uri),\n\t\t})\n\t\t\t.map(([k, v]) => `${k}=${v}`)\n\t\t\t.join('&');\n\n\t\tdispatchAuthEvent(\n\t\t\t'oAuthSignOut',\n\t\t\t{ oAuth: 'signOut' },\n\t\t\t`Signing out from ${oAuthLogoutEndpoint}`\n\t\t);\n\t\tlogger.debug(`Signing out from ${oAuthLogoutEndpoint}`);\n\n\t\treturn this._urlOpener(oAuthLogoutEndpoint, signout_uri);\n\t}\n\n\tprivate _generateState(length: number) {\n\t\tlet result = '';\n\t\tlet i = length;\n\t\tconst chars =\n\t\t\t'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\t\tfor (; i > 0; --i)\n\t\t\tresult += chars[Math.round(Math.random() * (chars.length - 1))];\n\t\treturn result;\n\t}\n\n\tprivate _generateChallenge(code: string) {\n\t\tconst awsCryptoHash = new Sha256();\n\t\tawsCryptoHash.update(code);\n\n\t\tconst resultFromAWSCrypto = awsCryptoHash.digestSync();\n\t\tconst b64 = Buffer.from(resultFromAWSCrypto).toString('base64');\n\t\tconst base64URLFromAWSCrypto = this._base64URL(b64);\n\n\t\treturn base64URLFromAWSCrypto;\n\t}\n\n\tprivate _base64URL(string) {\n\t\treturn string.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n\t}\n\n\tprivate _generateRandom(size: number) {\n\t\tconst CHARSET =\n\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n\t\tconst buffer = new Uint8Array(size);\n\t\tif (typeof window !== 'undefined' && !!window.crypto) {\n\t\t\twindow.crypto.getRandomValues(buffer);\n\t\t} else {\n\t\t\tfor (let i = 0; i < size; i += 1) {\n\t\t\t\tbuffer[i] = (Math.random() * CHARSET.length) | 0;\n\t\t\t}\n\t\t}\n\t\treturn this._bufferToString(buffer);\n\t}\n\n\tprivate _bufferToString(buffer: Uint8Array) {\n\t\tconst CHARSET =\n\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\t\tconst state = [];\n\t\tfor (let i = 0; i < buffer.byteLength; i += 1) {\n\t\t\tconst index = buffer[i] % CHARSET.length;\n\t\t\tstate.push(CHARSET[index]);\n\t\t}\n\t\treturn state.join('');\n\t}\n}\n","export function urlSafeEncode(str: string) {\n\treturn str\n\t\t.split('')\n\t\t.map(char =>\n\t\t\tchar\n\t\t\t\t.charCodeAt(0)\n\t\t\t\t.toString(16)\n\t\t\t\t.padStart(2, '0')\n\t\t)\n\t\t.join('');\n}\n\nexport function urlSafeDecode(hex: string) {\n\treturn hex\n\t\t.match(/.{2}/g)\n\t\t.map(char => String.fromCharCode(parseInt(char, 16)))\n\t\t.join('');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const setState = (state: string) => {\n\twindow.sessionStorage.setItem('oauth_state', state);\n};\n\nexport const getState = () => {\n\tconst oauth_state = window.sessionStorage.getItem('oauth_state');\n\twindow.sessionStorage.removeItem('oauth_state');\n\treturn oauth_state;\n};\n\nexport const setPKCE = (private_key: string) => {\n\twindow.sessionStorage.setItem('ouath_pkce_key', private_key);\n};\n\nexport const getPKCE = () => {\n\tconst ouath_pkce_key = window.sessionStorage.getItem('ouath_pkce_key');\n\twindow.sessionStorage.removeItem('ouath_pkce_key');\n\treturn ouath_pkce_key;\n};\n\nexport const clearAll = () => {\n\twindow.sessionStorage.removeItem('ouath_pkce_key');\n\twindow.sessionStorage.removeItem('oauth_state');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AuthErrorMessages, AuthErrorTypes } from './types';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\n\nconst logger = new Logger('AuthError');\n\nexport class AuthError extends Error {\n\tpublic log: string;\n\tconstructor(type: AuthErrorTypes) {\n\t\tconst { message, log } = authErrorMessages[type];\n\t\tsuper(message);\n\n\t\t// Hack for making the custom error class work when transpiled to es5\n\t\t// TODO: Delete the following 2 lines after we change the build target to >= es2015\n\t\tthis.constructor = AuthError;\n\t\tObject.setPrototypeOf(this, AuthError.prototype);\n\n\t\tthis.name = 'AuthError';\n\t\tthis.log = log || message;\n\n\t\tlogger.error(this.log);\n\t}\n}\n\nexport class NoUserPoolError extends AuthError {\n\tconstructor(type: AuthErrorTypes) {\n\t\tsuper(type);\n\n\t\t// Hack for making the custom error class work when transpiled to es5\n\t\t// TODO: Delete the following 2 lines after we change the build target to >= es2015\n\t\tthis.constructor = NoUserPoolError;\n\t\tObject.setPrototypeOf(this, NoUserPoolError.prototype);\n\n\t\tthis.name = 'NoUserPoolError';\n\t}\n}\n\nexport const authErrorMessages: AuthErrorMessages = {\n\tnoConfig: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t\tlog: `\n Error: Amplify has not been configured correctly.\n This error is typically caused by one of the following scenarios:\n\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\n \n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\n\t\t\t\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\n `,\n\t},\n\tmissingAuthConfig: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t\tlog: `\n Error: Amplify has not been configured correctly. \n The configuration object is missing required auth properties.\n This error is typically caused by one of the following scenarios:\n\n 1. Did you run \\`amplify push\\` after adding auth via \\`amplify add auth\\`?\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\n\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\n `,\n\t},\n\temptyUsername: {\n\t\tmessage: AuthErrorStrings.EMPTY_USERNAME,\n\t},\n\t// TODO: should include a list of valid sign-in types\n\tinvalidUsername: {\n\t\tmessage: AuthErrorStrings.INVALID_USERNAME,\n\t},\n\temptyPassword: {\n\t\tmessage: AuthErrorStrings.EMPTY_PASSWORD,\n\t},\n\temptyCode: {\n\t\tmessage: AuthErrorStrings.EMPTY_CODE,\n\t},\n\tsignUpError: {\n\t\tmessage: AuthErrorStrings.SIGN_UP_ERROR,\n\t\tlog: 'The first parameter should either be non-null string or object',\n\t},\n\tnoMFA: {\n\t\tmessage: AuthErrorStrings.NO_MFA,\n\t},\n\tinvalidMFA: {\n\t\tmessage: AuthErrorStrings.INVALID_MFA,\n\t},\n\temptyChallengeResponse: {\n\t\tmessage: AuthErrorStrings.EMPTY_CHALLENGE,\n\t},\n\tnoUserSession: {\n\t\tmessage: AuthErrorStrings.NO_USER_SESSION,\n\t},\n\tdeviceConfig: {\n\t\tmessage: AuthErrorStrings.DEVICE_CONFIG,\n\t},\n\tnetworkError: {\n\t\tmessage: AuthErrorStrings.NETWORK_ERROR,\n\t},\n\tautoSignInError: {\n\t\tmessage: AuthErrorStrings.AUTOSIGNIN_ERROR,\n\t},\n\tdefault: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t},\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n\tAuthOptions,\n\tFederatedResponse,\n\tSignUpParams,\n\tFederatedUser,\n\tConfirmSignUpOptions,\n\tSignOutOpts,\n\tCurrentUserOpts,\n\tGetPreferredMFAOpts,\n\tSignInOpts,\n\tisUsernamePasswordOpts,\n\tisCognitoHostedOpts,\n\tisFederatedSignInOptions,\n\tisFederatedSignInOptionsCustom,\n\thasCustomState,\n\tFederatedSignInOptionsCustom,\n\tLegacyProvider,\n\tFederatedSignInOptions,\n\tAwsCognitoOAuthOpts,\n\tClientMetaData,\n} from './types';\n\nimport {\n\tAmplify,\n\tConsoleLogger as Logger,\n\tCredentials,\n\tHub,\n\tStorageHelper,\n\tICredentials,\n\tbrowserOrNode,\n\tparseAWSExports,\n\tUniversalStorage,\n\turlSafeDecode,\n\tHubCallback,\n} from '@aws-amplify/core';\nimport {\n\tCookieStorage,\n\tCognitoUserPool,\n\tAuthenticationDetails,\n\tICognitoUserPoolData,\n\tICognitoUserData,\n\tISignUpResult,\n\tCognitoUser,\n\tMFAOption,\n\tCognitoUserSession,\n\tIAuthenticationCallback,\n\tICognitoUserAttributeData,\n\tCognitoUserAttribute,\n\tCognitoIdToken,\n\tCognitoRefreshToken,\n\tCognitoAccessToken,\n\tNodeCallback,\n\tCodeDeliveryDetails,\n} from 'amazon-cognito-identity-js';\n\nimport { parse } from 'url';\nimport OAuth from './OAuth/OAuth';\nimport { default as urlListener } from './urlListener';\nimport { AuthError, NoUserPoolError } from './Errors';\nimport {\n\tAuthErrorTypes,\n\tAutoSignInOptions,\n\tCognitoHostedUIIdentityProvider,\n\tIAuthDevice,\n} from './types/Auth';\n\nconst logger = new Logger('AuthClass');\nconst USER_ADMIN_SCOPE = 'aws.cognito.signin.user.admin';\n\n// 10 sec, following this guide https://www.nngroup.com/articles/response-times-3-important-limits/\nconst OAUTH_FLOW_MS_TIMEOUT = 10 * 1000;\n\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nconst dispatchAuthEvent = (event: string, data: any, message: string) => {\n\tHub.dispatch('auth', { event, data, message }, 'Auth', AMPLIFY_SYMBOL);\n};\n\n// Cognito Documentation for max device\n// tslint:disable-next-line:max-line-length\n// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListDevices.html#API_ListDevices_RequestSyntax\nconst MAX_DEVICES = 60;\n\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\n\n/**\n * Provide authentication steps\n */\nexport class AuthClass {\n\tprivate _config: AuthOptions;\n\tprivate userPool: CognitoUserPool = null;\n\tprivate user: any = null;\n\tprivate _oAuthHandler: OAuth;\n\tprivate _storage;\n\tprivate _storageSync;\n\tprivate oAuthFlowInProgress: boolean = false;\n\tprivate pendingSignIn: ReturnType<AuthClass['signInWithPassword']> | null;\n\tprivate autoSignInInitiated: boolean = false;\n\tprivate inflightSessionPromise: Promise<CognitoUserSession> | null = null;\n\tprivate inflightSessionPromiseCounter: number = 0;\n\tCredentials = Credentials;\n\n\t/**\n\t * Initialize Auth with AWS configurations\n\t * @param {Object} config - Configuration of the Auth\n\t */\n\tconstructor(config: AuthOptions) {\n\t\tthis.configure(config);\n\t\tthis.currentCredentials = this.currentCredentials.bind(this);\n\t\tthis.currentUserCredentials = this.currentUserCredentials.bind(this);\n\n\t\tHub.listen('auth', ({ payload }) => {\n\t\t\tconst { event } = payload;\n\t\t\tswitch (event) {\n\t\t\t\tcase 'verify':\n\t\t\t\tcase 'signIn':\n\t\t\t\t\tthis._storage.setItem('amplify-signin-with-hostedUI', 'false');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signOut':\n\t\t\t\t\tthis._storage.removeItem('amplify-signin-with-hostedUI');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'cognitoHostedUI':\n\t\t\t\t\tthis._storage.setItem('amplify-signin-with-hostedUI', 'true');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'Auth';\n\t}\n\n\tconfigure(config?) {\n\t\tif (!config) return this._config || {};\n\t\tlogger.debug('configure Auth');\n\t\tconst conf = Object.assign(\n\t\t\t{},\n\t\t\tthis._config,\n\t\t\tparseAWSExports(config).Auth,\n\t\t\tconfig\n\t\t);\n\t\tthis._config = conf;\n\t\tconst {\n\t\t\tuserPoolId,\n\t\t\tuserPoolWebClientId,\n\t\t\tcookieStorage,\n\t\t\toauth,\n\t\t\tregion,\n\t\t\tidentityPoolId,\n\t\t\tmandatorySignIn,\n\t\t\trefreshHandlers,\n\t\t\tidentityPoolRegion,\n\t\t\tclientMetadata,\n\t\t\tendpoint,\n\t\t\tstorage,\n\t\t} = this._config;\n\n\t\tif (!storage) {\n\t\t\t// backward compatability\n\t\t\tif (cookieStorage) this._storage = new CookieStorage(cookieStorage);\n\t\t\telse {\n\t\t\t\tthis._storage = config.ssr\n\t\t\t\t\t? new UniversalStorage()\n\t\t\t\t\t: new StorageHelper().getStorage();\n\t\t\t}\n\t\t} else {\n\t\t\tif (!this._isValidAuthStorage(storage)) {\n\t\t\t\tlogger.error('The storage in the Auth config is not valid!');\n\t\t\t\tthrow new Error('Empty storage object');\n\t\t\t}\n\t\t\tthis._storage = storage;\n\t\t}\n\n\t\tthis._storageSync = Promise.resolve();\n\t\tif (typeof this._storage['sync'] === 'function') {\n\t\t\tthis._storageSync = this._storage['sync']();\n\t\t}\n\n\t\tif (userPoolId) {\n\t\t\tconst userPoolData: ICognitoUserPoolData = {\n\t\t\t\tUserPoolId: userPoolId,\n\t\t\t\tClientId: userPoolWebClientId,\n\t\t\t\tendpoint,\n\t\t\t};\n\t\t\tuserPoolData.Storage = this._storage;\n\n\t\t\tthis.userPool = new CognitoUserPool(\n\t\t\t\tuserPoolData,\n\t\t\t\tthis.wrapRefreshSessionCallback\n\t\t\t);\n\t\t}\n\n\t\tthis.Credentials.configure({\n\t\t\tmandatorySignIn,\n\t\t\tregion,\n\t\t\tuserPoolId,\n\t\t\tidentityPoolId,\n\t\t\trefreshHandlers,\n\t\t\tstorage: this._storage,\n\t\t\tidentityPoolRegion,\n\t\t});\n\n\t\t// initialize cognitoauth client if hosted ui options provided\n\t\t// to keep backward compatibility:\n\t\tconst cognitoHostedUIConfig = oauth\n\t\t\t? isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t? oauth\n\t\t\t\t: (<any>oauth).awsCognito\n\t\t\t: undefined;\n\n\t\tif (cognitoHostedUIConfig) {\n\t\t\tconst cognitoAuthParams = Object.assign(\n\t\t\t\t{\n\t\t\t\t\tcognitoClientId: userPoolWebClientId,\n\t\t\t\t\tUserPoolId: userPoolId,\n\t\t\t\t\tdomain: cognitoHostedUIConfig['domain'],\n\t\t\t\t\tscopes: cognitoHostedUIConfig['scope'],\n\t\t\t\t\tredirectSignIn: cognitoHostedUIConfig['redirectSignIn'],\n\t\t\t\t\tredirectSignOut: cognitoHostedUIConfig['redirectSignOut'],\n\t\t\t\t\tresponseType: cognitoHostedUIConfig['responseType'],\n\t\t\t\t\tStorage: this._storage,\n\t\t\t\t\turlOpener: cognitoHostedUIConfig['urlOpener'],\n\t\t\t\t\tclientMetadata,\n\t\t\t\t},\n\t\t\t\tcognitoHostedUIConfig['options']\n\t\t\t);\n\n\t\t\tthis._oAuthHandler = new OAuth({\n\t\t\t\tscopes: cognitoAuthParams.scopes,\n\t\t\t\tconfig: cognitoAuthParams,\n\t\t\t\tcognitoClientId: cognitoAuthParams.cognitoClientId,\n\t\t\t});\n\n\t\t\t// **NOTE** - Remove this in a future major release as it is a breaking change\n\t\t\t// Prevents _handleAuthResponse from being called multiple times in Expo\n\t\t\t// See https://github.com/aws-amplify/amplify-js/issues/4388\n\t\t\tconst usedResponseUrls = {};\n\t\t\turlListener(({ url }) => {\n\t\t\t\tif (usedResponseUrls[url]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tusedResponseUrls[url] = true;\n\t\t\t\tthis._handleAuthResponse(url);\n\t\t\t});\n\t\t}\n\n\t\tdispatchAuthEvent(\n\t\t\t'configured',\n\t\t\tnull,\n\t\t\t`The Auth category has been configured successfully`\n\t\t);\n\n\t\tif (\n\t\t\t!this.autoSignInInitiated &&\n\t\t\ttypeof this._storage['getItem'] === 'function'\n\t\t) {\n\t\t\tconst pollingInitiated = this.isTrueStorageValue(\n\t\t\t\t'amplify-polling-started'\n\t\t\t);\n\t\t\tif (pollingInitiated) {\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\tnull,\n\t\t\t\t\tAuthErrorTypes.AutoSignInError\n\t\t\t\t);\n\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t}\n\t\t\tthis._storage.removeItem('amplify-polling-started');\n\t\t}\n\t\treturn this._config;\n\t}\n\n\twrapRefreshSessionCallback = (callback: NodeCallback.Any) => {\n\t\tconst wrapped: NodeCallback.Any = (error, data) => {\n\t\t\tif (data) {\n\t\t\t\tdispatchAuthEvent('tokenRefresh', undefined, `New token retrieved`);\n\t\t\t} else {\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'tokenRefresh_failure',\n\t\t\t\t\terror,\n\t\t\t\t\t`Failed to retrieve new token`\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn callback(error, data);\n\t\t};\n\t\treturn wrapped;\n\t} // prettier-ignore\n\n\t/**\n\t * Sign up with username, password and other attributes like phone, email\n\t * @param {String | object} params - The user attributes used for signin\n\t * @param {String[]} restOfAttrs - for the backward compatability\n\t * @return - A promise resolves callback data if success\n\t */\n\tpublic signUp(\n\t\tparams: string | SignUpParams,\n\t\t...restOfAttrs: string[]\n\t): Promise<ISignUpResult> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\tlet username: string = null;\n\t\tlet password: string = null;\n\t\tconst attributes: CognitoUserAttribute[] = [];\n\t\tlet validationData: CognitoUserAttribute[] = null;\n\t\tlet clientMetadata;\n\t\tlet autoSignIn: AutoSignInOptions = { enabled: false };\n\t\tlet autoSignInValidationData = {};\n\t\tlet autoSignInClientMetaData: ClientMetaData = {};\n\n\t\tif (params && typeof params === 'string') {\n\t\t\tusername = params;\n\t\t\tpassword = restOfAttrs ? restOfAttrs[0] : null;\n\t\t\tconst email: string = restOfAttrs ? restOfAttrs[1] : null;\n\t\t\tconst phone_number: string = restOfAttrs ? restOfAttrs[2] : null;\n\n\t\t\tif (email)\n\t\t\t\tattributes.push(\n\t\t\t\t\tnew CognitoUserAttribute({ Name: 'email', Value: email })\n\t\t\t\t);\n\n\t\t\tif (phone_number)\n\t\t\t\tattributes.push(\n\t\t\t\t\tnew CognitoUserAttribute({\n\t\t\t\t\t\tName: 'phone_number',\n\t\t\t\t\t\tValue: phone_number,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t} else if (params && typeof params === 'object') {\n\t\t\tusername = params['username'];\n\t\t\tpassword = params['password'];\n\n\t\t\tif (params && params.clientMetadata) {\n\t\t\t\tclientMetadata = params.clientMetadata;\n\t\t\t} else if (this._config.clientMetadata) {\n\t\t\t\tclientMetadata = this._config.clientMetadata;\n\t\t\t}\n\n\t\t\tconst attrs = params['attributes'];\n\t\t\tif (attrs) {\n\t\t\t\tObject.keys(attrs).map(key => {\n\t\t\t\t\tattributes.push(\n\t\t\t\t\t\tnew CognitoUserAttribute({ Name: key, Value: attrs[key] })\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst validationDataObject = params['validationData'];\n\t\t\tif (validationDataObject) {\n\t\t\t\tvalidationData = [];\n\t\t\t\tObject.keys(validationDataObject).map(key => {\n\t\t\t\t\tvalidationData.push(\n\t\t\t\t\t\tnew CognitoUserAttribute({\n\t\t\t\t\t\t\tName: key,\n\t\t\t\t\t\t\tValue: validationDataObject[key],\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tautoSignIn = params.autoSignIn ?? { enabled: false };\n\t\t\tif (autoSignIn.enabled) {\n\t\t\t\tthis._storage.setItem('amplify-auto-sign-in', 'true');\n\t\t\t\tautoSignInValidationData = autoSignIn.validationData ?? {};\n\t\t\t\tautoSignInClientMetaData = autoSignIn.clientMetaData ?? {};\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.SignUpError);\n\t\t}\n\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tlogger.debug('signUp attrs:', attributes);\n\t\tlogger.debug('signUp validation data:', validationData);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userPool.signUp(\n\t\t\t\tusername,\n\t\t\t\tpassword,\n\t\t\t\tattributes,\n\t\t\t\tvalidationData,\n\t\t\t\t(err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signUp_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} failed to signup`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signUp',\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t`${username} has signed up successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (autoSignIn.enabled) {\n\t\t\t\t\t\t\tthis.handleAutoSignIn(\n\t\t\t\t\t\t\t\tusername,\n\t\t\t\t\t\t\t\tpassword,\n\t\t\t\t\t\t\t\tautoSignInValidationData,\n\t\t\t\t\t\t\t\tautoSignInClientMetaData,\n\t\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate handleAutoSignIn(\n\t\tusername: string,\n\t\tpassword: string,\n\t\tvalidationData: {},\n\t\tclientMetadata: any,\n\t\tdata: any\n\t) {\n\t\tthis.autoSignInInitiated = true;\n\t\tconst authDetails = new AuthenticationDetails({\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t\tValidationData: validationData,\n\t\t\tClientMetadata: clientMetadata,\n\t\t});\n\t\tif (data.userConfirmed) {\n\t\t\tthis.signInAfterUserConfirmed(authDetails);\n\t\t} else if (this._config.signUpVerificationMethod === 'link') {\n\t\t\tthis.handleLinkAutoSignIn(authDetails);\n\t\t} else {\n\t\t\tthis.handleCodeAutoSignIn(authDetails);\n\t\t}\n\t}\n\n\tprivate handleCodeAutoSignIn(authDetails: AuthenticationDetails) {\n\t\tconst listenEvent = ({ payload }) => {\n\t\t\tif (payload.event === 'confirmSignUp') {\n\t\t\t\tthis.signInAfterUserConfirmed(authDetails, listenEvent);\n\t\t\t}\n\t\t};\n\t\tHub.listen('auth', listenEvent);\n\t}\n\n\tprivate handleLinkAutoSignIn(authDetails: AuthenticationDetails) {\n\t\tthis._storage.setItem('amplify-polling-started', 'true');\n\t\tconst start = Date.now();\n\t\tconst autoSignInPollingIntervalId = setInterval(() => {\n\t\t\tif (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {\n\t\t\t\tclearInterval(autoSignInPollingIntervalId);\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\tnull,\n\t\t\t\t\t'Please confirm your account and use your credentials to sign in.'\n\t\t\t\t);\n\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t} else {\n\t\t\t\tthis.signInAfterUserConfirmed(\n\t\t\t\t\tauthDetails,\n\t\t\t\t\tnull,\n\t\t\t\t\tautoSignInPollingIntervalId\n\t\t\t\t);\n\t\t\t}\n\t\t}, 5000);\n\t}\n\n\tprivate async signInAfterUserConfirmed(\n\t\tauthDetails: AuthenticationDetails,\n\t\tlistenEvent?: HubCallback,\n\t\tautoSignInPollingIntervalId?: ReturnType<typeof setInterval>\n\t) {\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\t\ttry {\n\t\t\tawait user.authenticateUser(\n\t\t\t\tauthDetails,\n\t\t\t\tthis.authCallbacks(\n\t\t\t\t\tuser,\n\t\t\t\t\tvalue => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'autoSignIn',\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t`${authDetails.getUsername()} has signed in successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (listenEvent) {\n\t\t\t\t\t\t\tHub.remove('auth', listenEvent);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (autoSignInPollingIntervalId) {\n\t\t\t\t\t\t\tclearInterval(autoSignInPollingIntervalId);\n\t\t\t\t\t\t\tthis._storage.removeItem('amplify-polling-started');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\tlogger.error(error);\n\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlogger.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * Send the verification code to confirm sign up\n\t * @param {String} username - The username to be confirmed\n\t * @param {String} code - The verification code\n\t * @param {ConfirmSignUpOptions} options - other options for confirm signup\n\t * @return - A promise resolves callback data if success\n\t */\n\tpublic confirmSignUp(\n\t\tusername: string,\n\t\tcode: string,\n\t\toptions?: ConfirmSignUpOptions\n\t): Promise<any> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\tconst forceAliasCreation =\n\t\t\toptions && typeof options.forceAliasCreation === 'boolean'\n\t\t\t\t? options.forceAliasCreation\n\t\t\t\t: true;\n\n\t\tlet clientMetadata;\n\t\tif (options && options.clientMetadata) {\n\t\t\tclientMetadata = options.clientMetadata;\n\t\t} else if (this._config.clientMetadata) {\n\t\t\tclientMetadata = this._config.clientMetadata;\n\t\t}\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.confirmRegistration(\n\t\t\t\tcode,\n\t\t\t\tforceAliasCreation,\n\t\t\t\t(err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'confirmSignUp',\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t`${username} has been confirmed successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst autoSignIn = this.isTrueStorageValue('amplify-auto-sign-in');\n\t\t\t\t\t\tif (autoSignIn && !this.autoSignInInitiated) {\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tAuthErrorTypes.AutoSignInError\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate isTrueStorageValue(value: string) {\n\t\tconst item = this._storage.getItem(value);\n\t\treturn item ? item === 'true' : false;\n\t}\n\n\t/**\n\t * Resend the verification code\n\t * @param {String} username - The username to be confirmed\n\t * @param {ClientMetadata} clientMetadata - Metadata to be passed to Cognito Lambda triggers\n\t * @return - A promise resolves code delivery details if successful\n\t */\n\tpublic resendSignUp(\n\t\tusername: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<any> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.resendConfirmationCode((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t}, clientMetadata);\n\t\t});\n\t}\n\n\t/**\n\t * Sign in\n\t * @param {String | SignInOpts} usernameOrSignInOpts - The username to be signed in or the sign in options\n\t * @param {String} pw - The password of the username\n\t * @param {ClientMetaData} clientMetadata - Client metadata for custom workflows\n\t * @return - A promise resolves the CognitoUser\n\t */\n\tpublic signIn(\n\t\tusernameOrSignInOpts: string | SignInOpts,\n\t\tpw?: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<CognitoUser | any> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\tlet username = null;\n\t\tlet password = null;\n\t\tlet validationData = {};\n\n\t\t// for backward compatibility\n\t\tif (typeof usernameOrSignInOpts === 'string') {\n\t\t\tusername = usernameOrSignInOpts;\n\t\t\tpassword = pw;\n\t\t} else if (isUsernamePasswordOpts(usernameOrSignInOpts)) {\n\t\t\tif (typeof pw !== 'undefined') {\n\t\t\t\tlogger.warn(\n\t\t\t\t\t'The password should be defined under the first parameter object!'\n\t\t\t\t);\n\t\t\t}\n\t\t\tusername = usernameOrSignInOpts.username;\n\t\t\tpassword = usernameOrSignInOpts.password;\n\t\t\tvalidationData = usernameOrSignInOpts.validationData;\n\t\t} else {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.InvalidUsername);\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tconst authDetails = new AuthenticationDetails({\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t\tValidationData: validationData,\n\t\t\tClientMetadata: clientMetadata,\n\t\t});\n\t\tif (password) {\n\t\t\treturn this.signInWithPassword(authDetails);\n\t\t} else {\n\t\t\treturn this.signInWithoutPassword(authDetails);\n\t\t}\n\t}\n\n\t/**\n\t * Return an object with the authentication callbacks\n\t * @param {CognitoUser} user - the cognito user object\n\t * @param {} resolve - function called when resolving the current step\n\t * @param {} reject - function called when rejecting the current step\n\t * @return - an object with the callback methods for user authentication\n\t */\n\tprivate authCallbacks(\n\t\tuser: CognitoUser,\n\t\tresolve: (value?: CognitoUser | any) => void,\n\t\treject: (value?: any) => void\n\t): IAuthenticationCallback {\n\t\tconst that = this;\n\t\treturn {\n\t\t\tonSuccess: async session => {\n\t\t\t\tlogger.debug(session);\n\t\t\t\tdelete user['challengeName'];\n\t\t\t\tdelete user['challengeParam'];\n\t\t\t\ttry {\n\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// In order to get user attributes and MFA methods\n\t\t\t\t\t\t// We need to trigger currentUserPoolUser again\n\t\t\t\t\t\tconst currentUser = await this.currentUserPoolUser();\n\t\t\t\t\t\tthat.user = currentUser;\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(currentUser);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tlogger.error('Failed to get the signed in user', e);\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonFailure: err => {\n\t\t\t\tlogger.debug('signIn failure', err);\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'signIn_failure',\n\t\t\t\t\terr,\n\t\t\t\t\t`${user.getUsername()} failed to signin`\n\t\t\t\t);\n\t\t\t\treject(err);\n\t\t\t},\n\t\t\tcustomChallenge: challengeParam => {\n\t\t\t\tlogger.debug('signIn custom challenge answer required');\n\t\t\t\tuser['challengeName'] = 'CUSTOM_CHALLENGE';\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tmfaRequired: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn MFA required');\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tmfaSetup: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tnewPasswordRequired: (userAttributes, requiredAttributes) => {\n\t\t\t\tlogger.debug('signIn new password');\n\t\t\t\tuser['challengeName'] = 'NEW_PASSWORD_REQUIRED';\n\t\t\t\tuser['challengeParam'] = {\n\t\t\t\t\tuserAttributes,\n\t\t\t\t\trequiredAttributes,\n\t\t\t\t};\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\ttotpRequired: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn totpRequired');\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tselectMFAType: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn selectMFAType', challengeName);\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Sign in with a password\n\t * @private\n\t * @param {AuthenticationDetails} authDetails - the user sign in data\n\t * @return - A promise resolves the CognitoUser object if success or mfa required\n\t */\n\tprivate signInWithPassword(\n\t\tauthDetails: AuthenticationDetails\n\t): Promise<CognitoUser | any> {\n\t\tif (this.pendingSignIn) {\n\t\t\tthrow new Error('Pending sign-in attempt already in progress');\n\t\t}\n\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\n\t\tthis.pendingSignIn = new Promise((resolve, reject) => {\n\t\t\tuser.authenticateUser(\n\t\t\t\tauthDetails,\n\t\t\t\tthis.authCallbacks(\n\t\t\t\t\tuser,\n\t\t\t\t\tvalue => {\n\t\t\t\t\t\tthis.pendingSignIn = null;\n\t\t\t\t\t\tresolve(value);\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\tthis.pendingSignIn = null;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\treturn this.pendingSignIn;\n\t}\n\n\t/**\n\t * Sign in without a password\n\t * @private\n\t * @param {AuthenticationDetails} authDetails - the user sign in data\n\t * @return - A promise resolves the CognitoUser object if success or mfa required\n\t */\n\tprivate signInWithoutPassword(\n\t\tauthDetails: AuthenticationDetails\n\t): Promise<CognitoUser | any> {\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\t\tuser.setAuthenticationFlowType('CUSTOM_AUTH');\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.initiateAuth(authDetails, this.authCallbacks(user, resolve, reject));\n\t\t});\n\t}\n\n\t/**\n\t * This was previously used by an authenticated user to get MFAOptions,\n\t * but no longer returns a meaningful response. Refer to the documentation for\n\t * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves the current preferred mfa option if success\n\t */\n\tpublic getMFAOptions(user: CognitoUser | any): Promise<MFAOption[]> {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.getMFAOptions((err, mfaOptions) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('get MFA Options failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('get MFA options success', mfaOptions);\n\t\t\t\tres(mfaOptions);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * get preferred mfa method\n\t * @param {CognitoUser} user - the current cognito user\n\t * @param {GetPreferredMFAOpts} params - options for getting the current user preferred MFA\n\t */\n\tpublic getPreferredMFA(\n\t\tuser: CognitoUser | any,\n\t\tparams?: GetPreferredMFAOpts\n\t): Promise<string> {\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\tconst bypassCache = params ? params.bypassCache : false;\n\t\t\tuser.getUserData(\n\t\t\t\tasync (err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('getting preferred mfa failed', err);\n\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst mfaType = that._getMfaTypeFromUserData(data);\n\t\t\t\t\tif (!mfaType) {\n\t\t\t\t\t\trej('invalid MFA Type');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres(mfaType);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ bypassCache, clientMetadata }\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getMfaTypeFromUserData(data) {\n\t\tlet ret = null;\n\t\tconst preferredMFA = data.PreferredMfaSetting;\n\t\t// if the user has used Auth.setPreferredMFA() to setup the mfa type\n\t\t// then the \"PreferredMfaSetting\" would exist in the response\n\t\tif (preferredMFA) {\n\t\t\tret = preferredMFA;\n\t\t} else {\n\t\t\t// if mfaList exists but empty, then its noMFA\n\t\t\tconst mfaList = data.UserMFASettingList;\n\t\t\tif (!mfaList) {\n\t\t\t\t// if SMS was enabled by using Auth.enableSMS(),\n\t\t\t\t// the response would contain MFAOptions\n\t\t\t\t// as for now Cognito only supports for SMS, so we will say it is 'SMS_MFA'\n\t\t\t\t// if it does not exist, then it should be NOMFA\n\t\t\t\tconst MFAOptions = data.MFAOptions;\n\t\t\t\tif (MFAOptions) {\n\t\t\t\t\tret = 'SMS_MFA';\n\t\t\t\t} else {\n\t\t\t\t\tret = 'NOMFA';\n\t\t\t\t}\n\t\t\t} else if (mfaList.length === 0) {\n\t\t\t\tret = 'NOMFA';\n\t\t\t} else {\n\t\t\t\tlogger.debug('invalid case for getPreferredMFA', data);\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _getUserData(user, params) {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.getUserData(async (err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tres(data);\n\t\t\t\t}\n\t\t\t}, params);\n\t\t});\n\t}\n\n\t/**\n\t * set preferred MFA method\n\t * @param {CognitoUser} user - the current Cognito user\n\t * @param {string} mfaMethod - preferred mfa method\n\t * @return - A promise resolve if success\n\t */\n\tpublic async setPreferredMFA(\n\t\tuser: CognitoUser | any,\n\t\tmfaMethod: 'TOTP' | 'SMS' | 'NOMFA' | 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA'\n\t): Promise<string> {\n\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\tconst userData = await this._getUserData(user, {\n\t\t\tbypassCache: true,\n\t\t\tclientMetadata,\n\t\t});\n\t\tlet smsMfaSettings = null;\n\t\tlet totpMfaSettings = null;\n\n\t\tswitch (mfaMethod) {\n\t\t\tcase 'TOTP':\n\t\t\tcase 'SOFTWARE_TOKEN_MFA':\n\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\tPreferredMfa: true,\n\t\t\t\t\tEnabled: true,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'SMS':\n\t\t\tcase 'SMS_MFA':\n\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\tPreferredMfa: true,\n\t\t\t\t\tEnabled: true,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'NOMFA':\n\t\t\t\tconst mfaList = userData['UserMFASettingList'];\n\t\t\t\tconst currentMFAType = await this._getMfaTypeFromUserData(userData);\n\t\t\t\tif (currentMFAType === 'NOMFA') {\n\t\t\t\t\treturn Promise.resolve('No change for mfa type');\n\t\t\t\t} else if (currentMFAType === 'SMS_MFA') {\n\t\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t};\n\t\t\t\t} else if (currentMFAType === 'SOFTWARE_TOKEN_MFA') {\n\t\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn this.rejectAuthError(AuthErrorTypes.InvalidMFA);\n\t\t\t\t}\n\t\t\t\t// if there is a UserMFASettingList in the response\n\t\t\t\t// we need to disable every mfa type in that list\n\t\t\t\tif (mfaList && mfaList.length !== 0) {\n\t\t\t\t\t// to disable SMS or TOTP if exists in that list\n\t\t\t\t\tmfaList.forEach(mfaType => {\n\t\t\t\t\t\tif (mfaType === 'SMS_MFA') {\n\t\t\t\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (mfaType === 'SOFTWARE_TOKEN_MFA') {\n\t\t\t\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlogger.debug('no validmfa method provided');\n\t\t\t\treturn this.rejectAuthError(AuthErrorTypes.NoMFA);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise<string>((res, rej) => {\n\t\t\tuser.setUserMfaPreference(\n\t\t\t\tsmsMfaSettings,\n\t\t\t\ttotpMfaSettings,\n\t\t\t\t(err, result) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('Set user mfa preference error', err);\n\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t}\n\t\t\t\t\tlogger.debug('Set user mfa success', result);\n\t\t\t\t\tlogger.debug('Caching the latest user data into local');\n\t\t\t\t\t// cache the latest result into user data\n\t\t\t\t\tuser.getUserData(\n\t\t\t\t\t\tasync (err, data) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn res(result);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbypassCache: true,\n\t\t\t\t\t\t\tclientMetadata,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * disable SMS\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves is success\n\t */\n\tpublic disableSMS(user: CognitoUser): Promise<string> {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.disableMFA((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('disable mfa failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('disable mfa succeed', data);\n\t\t\t\tres(data);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * enable SMS\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves is success\n\t */\n\tpublic enableSMS(user: CognitoUser): Promise<string> {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.enableMFA((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('enable mfa failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('enable mfa succeed', data);\n\t\t\t\tres(data);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Setup TOTP\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves with the secret code if success\n\t */\n\tpublic setupTOTP(user: CognitoUser | any): Promise<string> {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.associateSoftwareToken({\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tlogger.debug('associateSoftwareToken failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tassociateSecretCode: secretCode => {\n\t\t\t\t\tlogger.debug('associateSoftwareToken success', secretCode);\n\t\t\t\t\tres(secretCode);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * verify TOTP setup\n\t * @param {CognitoUser} user - the current user\n\t * @param {string} challengeAnswer - challenge answer\n\t * @return - A promise resolves is success\n\t */\n\tpublic verifyTotpToken(\n\t\tuser: CognitoUser | any,\n\t\tchallengeAnswer: string\n\t): Promise<CognitoUserSession> {\n\t\tlogger.debug('verification totp token', user, challengeAnswer);\n\n\t\tlet signInUserSession;\n\t\tif (user && typeof user.getSignInUserSession === 'function') {\n\t\t\tsignInUserSession = (user as CognitoUser).getSignInUserSession();\n\t\t}\n\t\tconst isLoggedIn = signInUserSession?.isValid();\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.verifySoftwareToken(challengeAnswer, 'My TOTP device', {\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tlogger.debug('verifyTotpToken failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tif (!isLoggedIn) {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'verify',\n\t\t\t\t\t\tuser,\n\t\t\t\t\t\t`A user ${user.getUsername()} has been verified`\n\t\t\t\t\t);\n\t\t\t\t\tlogger.debug('verifyTotpToken success', data);\n\t\t\t\t\tres(data);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Send MFA code to confirm sign in\n\t * @param {Object} user - The CognitoUser object\n\t * @param {String} code - The confirmation code\n\t */\n\tpublic confirmSignIn(\n\t\tuser: CognitoUser | any,\n\t\tcode: string,\n\t\tmfaType?: 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA' | null,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<CognitoUser | any> {\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.sendMFACode(\n\t\t\t\tcode,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: async session => {\n\t\t\t\t\t\tlogger.debug(session);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthat.user = user;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst currentUser = await this.currentUserPoolUser();\n\t\t\t\t\t\t\t\tuser.attributes = currentUser.attributes;\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\tlogger.debug('cannot get updated Cognito User', e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('confirm signIn failure', err);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmfaType,\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic completeNewPassword(\n\t\tuser: CognitoUser | any,\n\t\tpassword: string,\n\t\trequiredAttributes: any = {},\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<CognitoUser | any> {\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.completeNewPasswordChallenge(\n\t\t\t\tpassword,\n\t\t\t\trequiredAttributes,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: async session => {\n\t\t\t\t\t\tlogger.debug(session);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthat.user = user;\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('completeNewPassword failure', err);\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'completeNewPassword_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${this.user} failed to complete the new password flow`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t},\n\t\t\t\t\tmfaRequired: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn MFA required');\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t\tmfaSetup: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t\ttotpRequired: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Send the answer to a custom challenge\n\t * @param {CognitoUser} user - The CognitoUser object\n\t * @param {String} challengeResponses - The confirmation code\n\t */\n\tpublic sendCustomChallengeAnswer(\n\t\tuser: CognitoUser | any,\n\t\tchallengeResponses: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<CognitoUser | any> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!challengeResponses) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyChallengeResponse);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.sendCustomChallengeAnswer(\n\t\t\t\tchallengeResponses,\n\t\t\t\tthis.authCallbacks(user, resolve, reject),\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Delete an authenticated users' attributes\n\t * @param {CognitoUser} - The currently logged in user object\n\t * @return {Promise}\n\t **/\n\tpublic deleteUserAttributes(\n\t\tuser: CognitoUser | any,\n\t\tattributeNames: string[]\n\t) {\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthat.userSession(user).then(session => {\n\t\t\t\tuser.deleteAttributes(attributeNames, (err, result) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn resolve(result);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Delete the current authenticated user\n\t * @return {Promise}\n\t **/\n\t// TODO: Check return type void\n\tpublic async deleteUser(): Promise<string | void> {\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow new Error(e);\n\t\t}\n\n\t\tconst isSignedInHostedUI =\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n\n\t\treturn new Promise(async (res, rej) => {\n\t\t\tif (this.userPool) {\n\t\t\t\tconst user = this.userPool.getCurrentUser();\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tlogger.debug('Failed to get user from user pool');\n\t\t\t\t\treturn rej(new Error('No current user.'));\n\t\t\t\t} else {\n\t\t\t\t\tuser.getSession(async (err, session) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('Failed to get the user session', err);\n\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuser.deleteUser((err, result: string) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t\t\t'userDeleted',\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\t'The authenticated user has been deleted.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tuser.signOut();\n\t\t\t\t\t\t\t\t\tthis.user = null;\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tthis.cleanCachedItems(); // clean aws credentials\n\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t// TODO: change to rejects in refactor\n\t\t\t\t\t\t\t\t\t\tlogger.debug('failed to clear cached items');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t\t\t\t'signOut',\n\t\t\t\t\t\t\t\t\t\t\tthis.user,\n\t\t\t\t\t\t\t\t\t\t\t`A user has been signed out`\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tres(result);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlogger.debug('no Congito User pool');\n\t\t\t\trej(new Error('Cognito User pool does not exist'));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Update an authenticated users' attributes\n\t * @param {CognitoUser} - The currently logged in user object\n\t * @return {Promise}\n\t **/\n\tpublic updateUserAttributes(\n\t\tuser: CognitoUser | any,\n\t\tattributes: object,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<string> {\n\t\tconst attributeList: ICognitoUserAttributeData[] = [];\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthat.userSession(user).then(session => {\n\t\t\t\tfor (const key in attributes) {\n\t\t\t\t\tif (key !== 'sub' && key.indexOf('_verified') < 0) {\n\t\t\t\t\t\tconst attr: ICognitoUserAttributeData = {\n\t\t\t\t\t\t\tName: key,\n\t\t\t\t\t\t\tValue: attributes[key],\n\t\t\t\t\t\t};\n\t\t\t\t\t\tattributeList.push(attr);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tuser.updateAttributes(\n\t\t\t\t\tattributeList,\n\t\t\t\t\t(err, result, details) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'updateUserAttributes_failure',\n\t\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t\t'Failed to update attributes'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst attrs = this.createUpdateAttributesResultList(\n\t\t\t\t\t\t\t\tattributes as Record<string, string>,\n\t\t\t\t\t\t\t\tdetails?.CodeDeliveryDetailsList\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'updateUserAttributes',\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\t'Attributes successfully updated'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn resolve(result);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclientMetadata\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate createUpdateAttributesResultList(\n\t\tattributes: Record<string, string>,\n\t\tcodeDeliveryDetailsList?: CodeDeliveryDetails[]\n\t): Record<string, string> {\n\t\tconst attrs = {};\n\t\tObject.keys(attributes).forEach(key => {\n\t\t\tattrs[key] = {\n\t\t\t\tisUpdated: true,\n\t\t\t};\n\t\t\tconst codeDeliveryDetails = codeDeliveryDetailsList?.find(\n\t\t\t\tvalue => value.AttributeName === key\n\t\t\t);\n\t\t\tif (codeDeliveryDetails) {\n\t\t\t\tattrs[key].isUpdated = false;\n\t\t\t\tattrs[key].codeDeliveryDetails = codeDeliveryDetails;\n\t\t\t}\n\t\t});\n\t\treturn attrs;\n\t}\n\n\t/**\n\t * Return user attributes\n\t * @param {Object} user - The CognitoUser object\n\t * @return - A promise resolves to user attributes if success\n\t */\n\tpublic userAttributes(\n\t\tuser: CognitoUser | any\n\t): Promise<CognitoUserAttribute[]> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userSession(user).then(session => {\n\t\t\t\tuser.getUserAttributes((err, attributes) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(attributes);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic verifiedContact(user: CognitoUser | any) {\n\t\tconst that = this;\n\t\treturn this.userAttributes(user).then(attributes => {\n\t\t\tconst attrs = that.attributesToObject(attributes);\n\t\t\tconst unverified = {};\n\t\t\tconst verified = {};\n\t\t\tif (attrs['email']) {\n\t\t\t\tif (attrs['email_verified']) {\n\t\t\t\t\tverified['email'] = attrs['email'];\n\t\t\t\t} else {\n\t\t\t\t\tunverified['email'] = attrs['email'];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (attrs['phone_number']) {\n\t\t\t\tif (attrs['phone_number_verified']) {\n\t\t\t\t\tverified['phone_number'] = attrs['phone_number'];\n\t\t\t\t} else {\n\t\t\t\t\tunverified['phone_number'] = attrs['phone_number'];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tverified,\n\t\t\t\tunverified,\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate isErrorWithMessage(err: any): err is { message: string } {\n\t\treturn (\n\t\t\ttypeof err === 'object' &&\n\t\t\tObject.prototype.hasOwnProperty.call(err, 'message')\n\t\t);\n\t}\n\n\t// Session revoked by another app\n\tprivate isTokenRevokedError(\n\t\terr: any\n\t): err is { message: 'Access Token has been revoked' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Access Token has been revoked'\n\t\t);\n\t}\n\n\tprivate isRefreshTokenRevokedError(\n\t\terr: any\n\t): err is { message: 'Refresh Token has been revoked' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Refresh Token has been revoked'\n\t\t);\n\t}\n\n\tprivate isUserDisabledError(\n\t\terr: any\n\t): err is { message: 'User is disabled.' } {\n\t\treturn this.isErrorWithMessage(err) && err.message === 'User is disabled.';\n\t}\n\n\tprivate isUserDoesNotExistError(\n\t\terr: any\n\t): err is { message: 'User does not exist.' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) && err.message === 'User does not exist.'\n\t\t);\n\t}\n\n\tprivate isRefreshTokenExpiredError(\n\t\terr: any\n\t): err is { message: 'Refresh Token has expired' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Refresh Token has expired'\n\t\t);\n\t}\n\n\tprivate isSignedInHostedUI() {\n\t\treturn (\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true'\n\t\t);\n\t}\n\n\tprivate isSessionInvalid(err: any) {\n\t\treturn (\n\t\t\tthis.isUserDisabledError(err) ||\n\t\t\tthis.isUserDoesNotExistError(err) ||\n\t\t\tthis.isTokenRevokedError(err) ||\n\t\t\tthis.isRefreshTokenRevokedError(err) ||\n\t\t\tthis.isRefreshTokenExpiredError(err)\n\t\t);\n\t}\n\n\tprivate async cleanUpInvalidSession(user: CognitoUser) {\n\t\tuser.signOut();\n\t\tthis.user = null;\n\t\ttry {\n\t\t\tawait this.cleanCachedItems(); // clean aws credentials\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to clear cached items');\n\t\t}\n\t\tif (this.isSignedInHostedUI()) {\n\t\t\treturn new Promise((res, rej) => {\n\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t});\n\t\t} else {\n\t\t\tdispatchAuthEvent('signOut', this.user, `A user has been signed out`);\n\t\t}\n\t}\n\n\t/**\n\t * Get current authenticated user\n\t * @return - A promise resolves to current authenticated CognitoUser if success\n\t */\n\tpublic currentUserPoolUser(\n\t\tparams?: CurrentUserOpts\n\t): Promise<CognitoUser | any> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tthis._storageSync\n\t\t\t\t.then(async () => {\n\t\t\t\t\tif (this.isOAuthInProgress()) {\n\t\t\t\t\t\tlogger.debug('OAuth signIn in progress, waiting for resolution...');\n\n\t\t\t\t\t\tawait new Promise(res => {\n\t\t\t\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\t\t\t\tlogger.debug('OAuth signIn in progress timeout');\n\n\t\t\t\t\t\t\t\tHub.remove('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}, OAUTH_FLOW_MS_TIMEOUT);\n\n\t\t\t\t\t\t\tHub.listen('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\tfunction hostedUISignCallback({ payload }) {\n\t\t\t\t\t\t\t\tconst { event } = payload;\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tevent === 'cognitoHostedUI' ||\n\t\t\t\t\t\t\t\t\tevent === 'cognitoHostedUI_failure'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tlogger.debug(`OAuth signIn resolved: ${event}`);\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutId);\n\n\t\t\t\t\t\t\t\t\tHub.remove('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tconst user = this.userPool.getCurrentUser();\n\n\t\t\t\t\tif (!user) {\n\t\t\t\t\t\tlogger.debug('Failed to get user from user pool');\n\t\t\t\t\t\trej('No current user');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// refresh the session if the session expired.\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst session = await this._userSession(user);\n\n\t\t\t\t\t\t// get user data from Cognito\n\t\t\t\t\t\tconst bypassCache = params ? params.bypassCache : false;\n\n\t\t\t\t\t\tif (bypassCache) {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst clientMetadata = this._config.clientMetadata;\n\n\t\t\t\t\t\t// validate the token's scope first before calling this function\n\t\t\t\t\t\tconst { scope = '' } = session.getAccessToken().decodePayload();\n\t\t\t\t\t\tif (scope.split(' ').includes(USER_ADMIN_SCOPE)) {\n\t\t\t\t\t\t\tuser.getUserData(\n\t\t\t\t\t\t\t\tasync (err, data) => {\n\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tres(user);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst preferredMFA = data.PreferredMfaSetting || 'NOMFA';\n\t\t\t\t\t\t\t\t\tconst attributeList = [];\n\n\t\t\t\t\t\t\t\t\tfor (let i = 0; i < data.UserAttributes.length; i++) {\n\t\t\t\t\t\t\t\t\t\tconst attribute = {\n\t\t\t\t\t\t\t\t\t\t\tName: data.UserAttributes[i].Name,\n\t\t\t\t\t\t\t\t\t\t\tValue: data.UserAttributes[i].Value,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tconst userAttribute = new CognitoUserAttribute(attribute);\n\t\t\t\t\t\t\t\t\t\tattributeList.push(userAttribute);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst attributes = this.attributesToObject(attributeList);\n\t\t\t\t\t\t\t\t\tObject.assign(user, { attributes, preferredMFA });\n\t\t\t\t\t\t\t\t\treturn res(user);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{ bypassCache, clientMetadata }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t`Unable to get the user data because the ${USER_ADMIN_SCOPE} ` +\n\t\t\t\t\t\t\t\t\t`is not in the scopes of the access token`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn res(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\t\t\treturn rej(e);\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate isOAuthInProgress(): boolean {\n\t\treturn this.oAuthFlowInProgress;\n\t}\n\n\t/**\n\t * Get current authenticated user\n\t * @param {CurrentUserOpts} - options for getting the current user\n\t * @return - A promise resolves to current authenticated CognitoUser if success\n\t */\n\tpublic async currentAuthenticatedUser(\n\t\tparams?: CurrentUserOpts\n\t): Promise<CognitoUser | any> {\n\t\tlogger.debug('getting current authenticated user');\n\t\tlet federatedUser = null;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\ttry {\n\t\t\tconst federatedInfo = JSON.parse(\n\t\t\t\tthis._storage.getItem('aws-amplify-federatedInfo')\n\t\t\t);\n\t\t\tif (federatedInfo) {\n\t\t\t\tfederatedUser = {\n\t\t\t\t\t...federatedInfo.user,\n\t\t\t\t\ttoken: federatedInfo.token,\n\t\t\t\t};\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tlogger.debug('cannot load federated user from auth storage');\n\t\t}\n\n\t\tif (federatedUser) {\n\t\t\tthis.user = federatedUser;\n\t\t\tlogger.debug('get current authenticated federated user', this.user);\n\t\t\treturn this.user;\n\t\t} else {\n\t\t\tlogger.debug('get current authenticated userpool user');\n\t\t\tlet user = null;\n\t\t\ttry {\n\t\t\t\tuser = await this.currentUserPoolUser(params);\n\t\t\t} catch (e) {\n\t\t\t\tif (e === 'No userPool') {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Cannot get the current user because the user pool is missing. ' +\n\t\t\t\t\t\t\t'Please make sure the Auth module is configured with a valid Cognito User Pool ID'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlogger.debug('The user is not authenticated by the error', e);\n\t\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t\t}\n\t\t\tthis.user = user;\n\t\t\treturn this.user;\n\t\t}\n\t}\n\n\t/**\n\t * Get current user's session\n\t * @return - A promise resolves to session object if success\n\t */\n\tpublic currentSession(): Promise<CognitoUserSession> {\n\t\tconst that = this;\n\t\tlogger.debug('Getting current session');\n\t\t// Purposely not calling the reject method here because we don't need a console error\n\t\tif (!this.userPool) {\n\t\t\treturn Promise.reject(new Error('No User Pool in the configuration.'));\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tthat\n\t\t\t\t.currentUserPoolUser()\n\t\t\t\t.then(user => {\n\t\t\t\t\tthat\n\t\t\t\t\t\t.userSession(user)\n\t\t\t\t\t\t.then(session => {\n\t\t\t\t\t\t\tres(session);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(e => {\n\t\t\t\t\t\t\tlogger.debug('Failed to get the current session', e);\n\t\t\t\t\t\t\trej(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tlogger.debug('Failed to get the current user', e);\n\t\t\t\t\trej(e);\n\t\t\t\t\treturn;\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate async _userSession(user?: CognitoUser): Promise<CognitoUserSession> {\n\t\tif (!user) {\n\t\t\tlogger.debug('the user is null');\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.NoUserSession);\n\t\t}\n\t\tconst clientMetadata = this._config.clientMetadata;\n\t\t// Debouncing the concurrent userSession calls by caching the promise.\n\t\t// This solution assumes users will always call this function with the same CognitoUser instance.\n\t\tif (this.inflightSessionPromiseCounter === 0) {\n\t\t\tthis.inflightSessionPromise = new Promise<CognitoUserSession>(\n\t\t\t\t(res, rej) => {\n\t\t\t\t\tuser.getSession(\n\t\t\t\t\t\tasync (err, session) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\tlogger.debug('Failed to get the session from user', user);\n\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlogger.debug('Succeed to get the user session', session);\n\t\t\t\t\t\t\t\tres(session);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ clientMetadata }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tthis.inflightSessionPromiseCounter++;\n\n\t\ttry {\n\t\t\tconst userSession = await this.inflightSessionPromise;\n\t\t\t// Set private member. Avoid user.setSignInUserSession() to prevent excessive localstorage refresh.\n\t\t\t// @ts-ignore\n\t\t\tuser.signInUserSession = userSession;\n\t\t\treturn userSession!;\n\t\t} finally {\n\t\t\tthis.inflightSessionPromiseCounter--;\n\t\t}\n\t}\n\n\t/**\n\t * Get the corresponding user session\n\t * @param {Object} user - The CognitoUser object\n\t * @return - A promise resolves to the session\n\t */\n\tpublic userSession(user): Promise<CognitoUserSession> {\n\t\treturn this._userSession(user);\n\t}\n\n\t/**\n\t * Get authenticated credentials of current user.\n\t * @return - A promise resolves to be current user's credentials\n\t */\n\tpublic async currentUserCredentials(): Promise<ICredentials> {\n\t\tlogger.debug('Getting current user credentials');\n\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\t// first to check whether there is federation info in the auth storage\n\t\tlet federatedInfo = null;\n\t\ttry {\n\t\t\tfederatedInfo = JSON.parse(\n\t\t\t\tthis._storage.getItem('aws-amplify-federatedInfo')\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to get or parse item aws-amplify-federatedInfo', e);\n\t\t}\n\n\t\tif (federatedInfo) {\n\t\t\t// refresh the jwt token here if necessary\n\t\t\treturn this.Credentials.refreshFederatedToken(federatedInfo);\n\t\t} else {\n\t\t\treturn this.currentSession()\n\t\t\t\t.then(session => {\n\t\t\t\t\tlogger.debug('getting session success', session);\n\t\t\t\t\treturn this.Credentials.set(session, 'session');\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tlogger.debug('getting guest credentials');\n\t\t\t\t\treturn this.Credentials.set(null, 'guest');\n\t\t\t\t});\n\t\t}\n\t}\n\n\tpublic currentCredentials(): Promise<ICredentials> {\n\t\tlogger.debug('getting current credentials');\n\t\treturn this.Credentials.get();\n\t}\n\n\t/**\n\t * Initiate an attribute confirmation request\n\t * @param {Object} user - The CognitoUser\n\t * @param {Object} attr - The attributes to be verified\n\t * @return - A promise resolves to callback data if success\n\t */\n\tpublic verifyUserAttribute(\n\t\tuser: CognitoUser | any,\n\t\tattr: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<void> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.getAttributeVerificationCode(\n\t\t\t\tattr,\n\t\t\t\t{\n\t\t\t\t\tonSuccess(success) {\n\t\t\t\t\t\treturn resolve(success);\n\t\t\t\t\t},\n\t\t\t\t\tonFailure(err) {\n\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Confirm an attribute using a confirmation code\n\t * @param {Object} user - The CognitoUser\n\t * @param {Object} attr - The attribute to be verified\n\t * @param {String} code - The confirmation code\n\t * @return - A promise resolves to callback data if success\n\t */\n\tpublic verifyUserAttributeSubmit(\n\t\tuser: CognitoUser | any,\n\t\tattr: string,\n\t\tcode: string\n\t): Promise<string> {\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.verifyAttribute(attr, code, {\n\t\t\t\tonSuccess(data) {\n\t\t\t\t\tresolve(data);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tonFailure(err) {\n\t\t\t\t\treject(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic verifyCurrentUserAttribute(attr: string): Promise<void> {\n\t\tconst that = this;\n\t\treturn that\n\t\t\t.currentUserPoolUser()\n\t\t\t.then(user => that.verifyUserAttribute(user, attr));\n\t}\n\n\t/**\n\t * Confirm current user's attribute using a confirmation code\n\t * @param {Object} attr - The attribute to be verified\n\t * @param {String} code - The confirmation code\n\t * @return - A promise resolves to callback data if success\n\t */\n\tverifyCurrentUserAttributeSubmit(\n\t\tattr: string,\n\t\tcode: string\n\t): Promise<string> {\n\t\tconst that = this;\n\t\treturn that\n\t\t\t.currentUserPoolUser()\n\t\t\t.then(user => that.verifyUserAttributeSubmit(user, attr, code));\n\t}\n\n\tprivate async cognitoIdentitySignOut(\n\t\topts: SignOutOpts,\n\t\tuser: CognitoUser | any\n\t) {\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\tconst isSignedInHostedUI =\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tif (opts && opts.global) {\n\t\t\t\tlogger.debug('user global sign out', user);\n\t\t\t\t// in order to use global signout\n\t\t\t\t// we must validate the user as an authenticated user by using getSession\n\t\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\t\tuser.getSession(\n\t\t\t\t\tasync (err, result) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('failed to get the user session', err);\n\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuser.globalSignOut({\n\t\t\t\t\t\t\tonSuccess: data => {\n\t\t\t\t\t\t\t\tlogger.debug('global sign out success');\n\t\t\t\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn res();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\t\t\tlogger.debug('global sign out failed', err);\n\t\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t{ clientMetadata }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlogger.debug('user sign out', user);\n\t\t\t\tuser.signOut(() => {\n\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn res();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate oAuthSignOutRedirect(\n\t\tresolve: () => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tconst { isBrowser } = browserOrNode();\n\n\t\tif (isBrowser) {\n\t\t\tthis.oAuthSignOutRedirectOrReject(reject);\n\t\t} else {\n\t\t\tthis.oAuthSignOutAndResolve(resolve);\n\t\t}\n\t}\n\n\tprivate oAuthSignOutAndResolve(resolve: () => void) {\n\t\tthis._oAuthHandler.signOut();\n\t\tresolve();\n\t}\n\n\tprivate oAuthSignOutRedirectOrReject(reject: (reason?: any) => void) {\n\t\tthis._oAuthHandler.signOut(); // this method redirects url\n\n\t\t// App should be redirected to another url otherwise it will reject\n\t\tsetTimeout(() => reject(Error('Signout timeout fail')), 3000);\n\t}\n\n\t/**\n\t * Sign out method\n\t * @\n\t * @return - A promise resolved if success\n\t */\n\tpublic async signOut(opts?: SignOutOpts): Promise<any> {\n\t\ttry {\n\t\t\tawait this.cleanCachedItems();\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to clear cached items');\n\t\t}\n\n\t\tif (this.userPool) {\n\t\t\tconst user = this.userPool.getCurrentUser();\n\t\t\tif (user) {\n\t\t\t\tawait this.cognitoIdentitySignOut(opts, user);\n\t\t\t} else {\n\t\t\t\tlogger.debug('no current Cognito user');\n\t\t\t}\n\t\t} else {\n\t\t\tlogger.debug('no Cognito User pool');\n\t\t}\n\n\t\t/**\n\t\t * Note for future refactor - no reliable way to get username with\n\t\t * Cognito User Pools vs Identity when federating with Social Providers\n\t\t * This is why we need a well structured session object that can be inspected\n\t\t * and information passed back in the message below for Hub dispatch\n\t\t */\n\t\tdispatchAuthEvent('signOut', this.user, `A user has been signed out`);\n\t\tthis.user = null;\n\t}\n\n\tprivate async cleanCachedItems() {\n\t\t// clear cognito cached item\n\t\tawait this.Credentials.clear();\n\t}\n\n\t/**\n\t * Change a password for an authenticated user\n\t * @param {Object} user - The CognitoUser object\n\t * @param {String} oldPassword - the current password\n\t * @param {String} newPassword - the requested new password\n\t * @return - A promise resolves if success\n\t */\n\tpublic changePassword(\n\t\tuser: CognitoUser | any,\n\t\toldPassword: string,\n\t\tnewPassword: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<'SUCCESS'> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userSession(user).then(session => {\n\t\t\t\tuser.changePassword(\n\t\t\t\t\toldPassword,\n\t\t\t\t\tnewPassword,\n\t\t\t\t\t(err, data) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('change password failure', err);\n\t\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn resolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclientMetadata\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Initiate a forgot password request\n\t * @param {String} username - the username to change password\n\t * @return - A promise resolves if success\n\t */\n\tpublic forgotPassword(\n\t\tusername: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<any> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.forgotPassword(\n\t\t\t\t{\n\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('forgot password failure', err);\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPassword_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} forgotPassword failed`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tinputVerificationCode: data => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPassword',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`${username} has initiated forgot password flow`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Confirm a new password using a confirmation Code\n\t * @param {String} username - The username\n\t * @param {String} code - The confirmation code\n\t * @param {String} password - The new password\n\t * @return - A promise that resolves if success\n\t */\n\tpublic forgotPasswordSubmit(\n\t\tusername: string,\n\t\tcode: string,\n\t\tpassword: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<string> {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.confirmPassword(\n\t\t\t\tcode,\n\t\t\t\tpassword,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: success => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPasswordSubmit',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`${username} forgotPasswordSubmit successful`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(success);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPasswordSubmit_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} forgotPasswordSubmit failed`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Get user information\n\t * @async\n\t * @return {Object }- current User's information\n\t */\n\tpublic async currentUserInfo() {\n\t\tconst source = this.Credentials.getCredSource();\n\n\t\tif (!source || source === 'aws' || source === 'userPool') {\n\t\t\tconst user = await this.currentUserPoolUser().catch(err =>\n\t\t\t\tlogger.error(err)\n\t\t\t);\n\t\t\tif (!user) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst attributes = await this.userAttributes(user);\n\t\t\t\tconst userAttrs: object = this.attributesToObject(attributes);\n\t\t\t\tlet credentials = null;\n\t\t\t\ttry {\n\t\t\t\t\tcredentials = await this.currentCredentials();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t'Failed to retrieve credentials while getting current user info',\n\t\t\t\t\t\te\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst info = {\n\t\t\t\t\tid: credentials ? credentials.identityId : undefined,\n\t\t\t\t\tusername: user.getUsername(),\n\t\t\t\t\tattributes: userAttrs,\n\t\t\t\t};\n\t\t\t\treturn info;\n\t\t\t} catch (err) {\n\t\t\t\tlogger.error('currentUserInfo error', err);\n\t\t\t\treturn {};\n\t\t\t}\n\t\t}\n\n\t\tif (source === 'federated') {\n\t\t\tconst user = this.user;\n\t\t\treturn user ? user : {};\n\t\t}\n\t}\n\n\tpublic async federatedSignIn(\n\t\toptions?: FederatedSignInOptions\n\t): Promise<ICredentials>;\n\tpublic async federatedSignIn(\n\t\tprovider: LegacyProvider,\n\t\tresponse: FederatedResponse,\n\t\tuser: FederatedUser\n\t): Promise<ICredentials>;\n\tpublic async federatedSignIn(\n\t\toptions?: FederatedSignInOptionsCustom\n\t): Promise<ICredentials>;\n\tpublic async federatedSignIn(\n\t\tproviderOrOptions:\n\t\t\t| LegacyProvider\n\t\t\t| FederatedSignInOptions\n\t\t\t| FederatedSignInOptionsCustom,\n\t\tresponse?: FederatedResponse,\n\t\tuser?: FederatedUser\n\t): Promise<ICredentials> {\n\t\tif (!this._config.identityPoolId && !this._config.userPoolId) {\n\t\t\tthrow new Error(\n\t\t\t\t`Federation requires either a User Pool or Identity Pool in config`\n\t\t\t);\n\t\t}\n\n\t\t// Ensure backwards compatability\n\t\tif (typeof providerOrOptions === 'undefined') {\n\t\t\tif (this._config.identityPoolId && !this._config.userPoolId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Federation with Identity Pools requires tokens passed as arguments`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tisFederatedSignInOptions(providerOrOptions) ||\n\t\t\tisFederatedSignInOptionsCustom(providerOrOptions) ||\n\t\t\thasCustomState(providerOrOptions) ||\n\t\t\ttypeof providerOrOptions === 'undefined'\n\t\t) {\n\t\t\tconst options = providerOrOptions || {\n\t\t\t\tprovider: CognitoHostedUIIdentityProvider.Cognito,\n\t\t\t};\n\t\t\tconst provider = isFederatedSignInOptions(options)\n\t\t\t\t? options.provider\n\t\t\t\t: (options as FederatedSignInOptionsCustom).customProvider;\n\n\t\t\tconst customState = isFederatedSignInOptions(options)\n\t\t\t\t? options.customState\n\t\t\t\t: (options as FederatedSignInOptionsCustom).customState;\n\n\t\t\tif (this._config.userPoolId) {\n\t\t\t\tconst client_id = isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t\t? this._config.userPoolWebClientId\n\t\t\t\t\t: this._config.oauth.clientID;\n\t\t\t\t/*Note: Invenstigate automatically adding trailing slash */\n\t\t\t\tconst redirect_uri = isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t\t? this._config.oauth.redirectSignIn\n\t\t\t\t\t: this._config.oauth.redirectUri;\n\n\t\t\t\tthis._oAuthHandler.oauthSignIn(\n\t\t\t\t\tthis._config.oauth.responseType,\n\t\t\t\t\tthis._config.oauth.domain,\n\t\t\t\t\tredirect_uri,\n\t\t\t\t\tclient_id,\n\t\t\t\t\tprovider,\n\t\t\t\t\tcustomState\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst provider = providerOrOptions;\n\t\t\t// To check if the user is already logged in\n\t\t\ttry {\n\t\t\t\tconst loggedInUser = JSON.stringify(\n\t\t\t\t\tJSON.parse(this._storage.getItem('aws-amplify-federatedInfo')).user\n\t\t\t\t);\n\t\t\t\tif (loggedInUser) {\n\t\t\t\t\tlogger.warn(`There is already a signed in user: ${loggedInUser} in your app.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou should not call Auth.federatedSignIn method again as it may cause unexpected behavior.`);\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tconst { token, identity_id, expires_at } = response;\n\t\t\t// Because this.Credentials.set would update the user info with identity id\n\t\t\t// So we need to retrieve the user again.\n\t\t\tconst credentials = await this.Credentials.set(\n\t\t\t\t{ provider, token, identity_id, user, expires_at },\n\t\t\t\t'federation'\n\t\t\t);\n\t\t\tconst currentUser = await this.currentAuthenticatedUser();\n\t\t\tdispatchAuthEvent(\n\t\t\t\t'signIn',\n\t\t\t\tcurrentUser,\n\t\t\t\t`A user ${currentUser.username} has been signed in`\n\t\t\t);\n\t\t\tlogger.debug('federated sign in credentials', credentials);\n\t\t\treturn credentials;\n\t\t}\n\t}\n\n\t/**\n\t * Used to complete the OAuth flow with or without the Cognito Hosted UI\n\t * @param {String} URL - optional parameter for customers to pass in the response URL\n\t */\n\tprivate async _handleAuthResponse(URL?: string) {\n\t\tif (this.oAuthFlowInProgress) {\n\t\t\tlogger.debug(`Skipping URL ${URL} current flow in progress`);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tthis.oAuthFlowInProgress = true;\n\t\t\tif (!this._config.userPoolId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`OAuth responses require a User Pool defined in config`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatchAuthEvent(\n\t\t\t\t'parsingCallbackUrl',\n\t\t\t\t{ url: URL },\n\t\t\t\t`The callback url is being parsed`\n\t\t\t);\n\n\t\t\tconst currentUrl =\n\t\t\t\tURL || (browserOrNode().isBrowser ? window.location.href : '');\n\n\t\t\tconst hasCodeOrError = !!(parse(currentUrl).query || '')\n\t\t\t\t.split('&')\n\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t.find(([k]) => k === 'code' || k === 'error');\n\n\t\t\tconst hasTokenOrError = !!(parse(currentUrl).hash || '#')\n\t\t\t\t.substr(1)\n\t\t\t\t.split('&')\n\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t.find(([k]) => k === 'access_token' || k === 'error');\n\n\t\t\tif (hasCodeOrError || hasTokenOrError) {\n\t\t\t\tthis._storage.setItem('amplify-redirected-from-hosted-ui', 'true');\n\t\t\t\ttry {\n\t\t\t\t\tconst { accessToken, idToken, refreshToken, state } =\n\t\t\t\t\t\tawait this._oAuthHandler.handleAuthResponse(currentUrl);\n\t\t\t\t\tconst session = new CognitoUserSession({\n\t\t\t\t\t\tIdToken: new CognitoIdToken({ IdToken: idToken }),\n\t\t\t\t\t\tRefreshToken: new CognitoRefreshToken({\n\t\t\t\t\t\t\tRefreshToken: refreshToken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tAccessToken: new CognitoAccessToken({\n\t\t\t\t\t\t\tAccessToken: accessToken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tlet credentials;\n\t\t\t\t\t// Get AWS Credentials & store if Identity Pool is defined\n\t\t\t\t\tif (this._config.identityPoolId) {\n\t\t\t\t\t\tcredentials = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\tlogger.debug('AWS credentials', credentials);\n\t\t\t\t\t}\n\n\t\t\t\t\t/*\n\t\t\t\tPrior to the request we do sign the custom state along with the state we set. This check will verify\n\t\t\t\tif there is a dash indicated when setting custom state from the request. If a dash is contained\n\t\t\t\tthen there is custom state present on the state string.\n\t\t\t\t*/\n\t\t\t\t\tconst isCustomStateIncluded = /-/.test(state);\n\n\t\t\t\t\t/*\n\t\t\t\tThe following is to create a user for the Cognito Identity SDK to store the tokens\n\t\t\t\tWhen we remove this SDK later that logic will have to be centralized in our new version\n\t\t\t\t*/\n\t\t\t\t\t//#region\n\t\t\t\t\tconst currentUser = this.createCognitoUser(\n\t\t\t\t\t\tsession.getIdToken().decodePayload()['cognito:username']\n\t\t\t\t\t);\n\n\t\t\t\t\t// This calls cacheTokens() in Cognito SDK\n\t\t\t\t\tcurrentUser.setSignInUserSession(session);\n\n\t\t\t\t\tif (window && typeof window.history !== 'undefined') {\n\t\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t(this._config.oauth as AwsCognitoOAuthOpts).redirectSignIn\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t`A user ${currentUser.getUsername()} has been signed in`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'cognitoHostedUI',\n\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t`A user ${currentUser.getUsername()} has been signed in via Cognito Hosted UI`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (isCustomStateIncluded) {\n\t\t\t\t\t\tconst customState = state.split('-').splice(1).join('-');\n\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'customOAuthState',\n\t\t\t\t\t\t\turlSafeDecode(customState),\n\t\t\t\t\t\t\t`State for user ${currentUser.getUsername()}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t//#endregion\n\n\t\t\t\t\treturn credentials;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger.debug('Error in cognito hosted auth response', err);\n\n\t\t\t\t\t// Just like a successful handling of `?code`, replace the window history to \"dispose\" of the `code`.\n\t\t\t\t\t// Otherwise, reloading the page will throw errors as the `code` has already been spent.\n\t\t\t\t\tif (window && typeof window.history !== 'undefined') {\n\t\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t(this._config.oauth as AwsCognitoOAuthOpts).redirectSignIn\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`The OAuth response flow failed`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'cognitoHostedUI_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`A failure occurred when returning to the Cognito Hosted UI`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'customState_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`A failure occurred when returning state`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.oAuthFlowInProgress = false;\n\t\t}\n\t}\n\n\t/**\n\t * Compact version of credentials\n\t * @param {Object} credentials\n\t * @return {Object} - Credentials\n\t */\n\tpublic essentialCredentials(credentials): ICredentials {\n\t\treturn {\n\t\t\taccessKeyId: credentials.accessKeyId,\n\t\t\tsessionToken: credentials.sessionToken,\n\t\t\tsecretAccessKey: credentials.secretAccessKey,\n\t\t\tidentityId: credentials.identityId,\n\t\t\tauthenticated: credentials.authenticated,\n\t\t};\n\t}\n\n\tprivate attributesToObject(attributes) {\n\t\tconst obj = {};\n\t\tif (attributes) {\n\t\t\tattributes.map(attribute => {\n\t\t\t\tif (\n\t\t\t\t\tattribute.Name === 'email_verified' ||\n\t\t\t\t\tattribute.Name === 'phone_number_verified'\n\t\t\t\t) {\n\t\t\t\t\tobj[attribute.Name] =\n\t\t\t\t\t\tthis.isTruthyString(attribute.Value) || attribute.Value === true;\n\t\t\t\t} else {\n\t\t\t\t\tobj[attribute.Name] = attribute.Value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn obj;\n\t}\n\n\tprivate isTruthyString(value: any): boolean {\n\t\treturn (\n\t\t\ttypeof value.toLowerCase === 'function' && value.toLowerCase() === 'true'\n\t\t);\n\t}\n\n\tprivate createCognitoUser(username: string): CognitoUser {\n\t\tconst userData: ICognitoUserData = {\n\t\t\tUsername: username,\n\t\t\tPool: this.userPool,\n\t\t};\n\t\tuserData.Storage = this._storage;\n\n\t\tconst { authenticationFlowType } = this._config;\n\n\t\tconst user = new CognitoUser(userData);\n\t\tif (authenticationFlowType) {\n\t\t\tuser.setAuthenticationFlowType(authenticationFlowType);\n\t\t}\n\t\treturn user;\n\t}\n\n\tprivate _isValidAuthStorage(obj) {\n\t\t// We need to check if the obj has the functions of Storage\n\t\treturn (\n\t\t\t!!obj &&\n\t\t\ttypeof obj.getItem === 'function' &&\n\t\t\ttypeof obj.setItem === 'function' &&\n\t\t\ttypeof obj.removeItem === 'function' &&\n\t\t\ttypeof obj.clear === 'function'\n\t\t);\n\t}\n\n\tprivate noUserPoolErrorHandler(config: AuthOptions): AuthErrorTypes {\n\t\tif (config) {\n\t\t\tif (!config.userPoolId || !config.identityPoolId) {\n\t\t\t\treturn AuthErrorTypes.MissingAuthConfig;\n\t\t\t}\n\t\t}\n\t\treturn AuthErrorTypes.NoConfig;\n\t}\n\n\tprivate rejectAuthError(type: AuthErrorTypes): Promise<never> {\n\t\treturn Promise.reject(new AuthError(type));\n\t}\n\n\tprivate rejectNoUserPool(): Promise<never> {\n\t\tconst type = this.noUserPoolErrorHandler(this._config);\n\t\treturn Promise.reject(new NoUserPoolError(type));\n\t}\n\n\tpublic async rememberDevice(): Promise<string | AuthError> {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tcurrUser.setDeviceStatusRemembered({\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tres(data);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic async forgetDevice(): Promise<void> {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tcurrUser.forgetDevice({\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tres(data);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic async fetchDevices(): Promise<IAuthDevice[]> {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\tthrow new Error('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tconst cb = {\n\t\t\t\tonSuccess(data) {\n\t\t\t\t\tconst deviceList: IAuthDevice[] = data.Devices.map(device => {\n\t\t\t\t\t\tconst deviceName =\n\t\t\t\t\t\t\tdevice.DeviceAttributes.find(\n\t\t\t\t\t\t\t\t({ Name }) => Name === 'device_name'\n\t\t\t\t\t\t\t) || {};\n\n\t\t\t\t\t\tconst deviceInfo: IAuthDevice = {\n\t\t\t\t\t\t\tid: device.DeviceKey,\n\t\t\t\t\t\t\tname: deviceName.Value,\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn deviceInfo;\n\t\t\t\t\t});\n\t\t\t\t\tres(deviceList);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t\tcurrUser.listDevices(MAX_DEVICES, null, cb);\n\t\t});\n\t}\n}\n\nexport const Auth = new AuthClass(null);\n\nAmplify.register(Auth);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { browserOrNode } from '@aws-amplify/core';\n\nexport default callback => {\n\tif (browserOrNode().isBrowser && window.location) {\n\t\tconst url = window.location.href;\n\n\t\tcallback({ url });\n\t} else if (browserOrNode().isNode) {\n\t\t// continue building on ssr\n\t\t() => {}; // noop\n\t} else {\n\t\tthrow new Error('Not supported');\n\t}\n};\n","const e=[\"birthdate\",\"email\",\"family_name\",\"given_name\",\"middle_name\",\"name\",\"nickname\",\"phone_number\",\"preferred_username\",\"profile\",\"website\"],n=[\"address\",\"gender\",\"locale\",\"picture\",\"updated_at\",\"zoneinfo\"],a=[\"username\",\"email\",\"phone_number\"],r=[...a,...e,\"confirmation_code\",\"password\",\"confirm_password\"],i=e=>r.includes(e);export{a as LoginMechanismArray,r as authFieldsWithDefaults,i as isAuthFieldsWithDefaults,e as signUpFieldsWithDefault,n as signUpFieldsWithoutDefault};\n","const o=[\"+1\",\"+7\",\"+20\",\"+27\",\"+30\",\"+31\",\"+32\",\"+33\",\"+34\",\"+36\",\"+39\",\"+40\",\"+41\",\"+43\",\"+44\",\"+45\",\"+46\",\"+47\",\"+48\",\"+49\",\"+51\",\"+52\",\"+53\",\"+54\",\"+55\",\"+56\",\"+57\",\"+58\",\"+60\",\"+61\",\"+62\",\"+63\",\"+64\",\"+65\",\"+66\",\"+81\",\"+82\",\"+84\",\"+86\",\"+90\",\"+91\",\"+92\",\"+93\",\"+94\",\"+95\",\"+98\",\"+212\",\"+213\",\"+216\",\"+218\",\"+220\",\"+221\",\"+222\",\"+223\",\"+224\",\"+225\",\"+226\",\"+227\",\"+228\",\"+229\",\"+230\",\"+231\",\"+232\",\"+233\",\"+234\",\"+235\",\"+236\",\"+237\",\"+238\",\"+239\",\"+240\",\"+241\",\"+242\",\"+243\",\"+244\",\"+245\",\"+246\",\"+248\",\"+249\",\"+250\",\"+251\",\"+252\",\"+253\",\"+254\",\"+255\",\"+256\",\"+257\",\"+258\",\"+260\",\"+261\",\"+262\",\"+263\",\"+264\",\"+265\",\"+266\",\"+267\",\"+268\",\"+269\",\"+290\",\"+291\",\"+297\",\"+298\",\"+299\",\"+345\",\"+350\",\"+351\",\"+352\",\"+353\",\"+354\",\"+355\",\"+356\",\"+357\",\"+358\",\"+359\",\"+370\",\"+371\",\"+372\",\"+373\",\"+374\",\"+375\",\"+376\",\"+377\",\"+378\",\"+379\",\"+380\",\"+381\",\"+382\",\"+385\",\"+386\",\"+387\",\"+389\",\"+420\",\"+421\",\"+423\",\"+500\",\"+501\",\"+502\",\"+503\",\"+504\",\"+505\",\"+506\",\"+507\",\"+508\",\"+509\",\"+537\",\"+590\",\"+591\",\"+593\",\"+594\",\"+595\",\"+596\",\"+597\",\"+598\",\"+599\",\"+670\",\"+672\",\"+673\",\"+674\",\"+675\",\"+676\",\"+677\",\"+678\",\"+679\",\"+680\",\"+681\",\"+682\",\"+683\",\"+685\",\"+686\",\"+687\",\"+688\",\"+689\",\"+690\",\"+691\",\"+692\",\"+850\",\"+852\",\"+853\",\"+855\",\"+856\",\"+872\",\"+880\",\"+886\",\"+960\",\"+961\",\"+962\",\"+963\",\"+964\",\"+965\",\"+966\",\"+967\",\"+968\",\"+970\",\"+971\",\"+972\",\"+973\",\"+974\",\"+975\",\"+976\",\"+977\",\"+992\",\"+993\",\"+994\",\"+995\",\"+996\",\"+998\"];export{o as countryDialCodes};\n","import{countryDialCodes as e}from\"../../i18n/country-dial-codes.mjs\";import\"../../i18n/translations.mjs\";const r={birthdate:{label:\"Birthdate\",placeholder:\"Enter your Birthdate\",type:\"date\",autocomplete:\"bday\",isRequired:!0},confirmation_code:{label:\"Confirmation Code\",placeholder:\"Enter your Confirmation Code\",type:\"number\",autocomplete:\"one-time-code\",isRequired:!0},confirm_password:{label:\"Confirm Password\",placeholder:\"Please confirm your Password\",type:\"password\",autocomplete:\"new-password\",isRequired:!0},email:{label:\"Email\",placeholder:\"Enter your Email\",type:\"email\",autocomplete:\"username\",isRequired:!0},family_name:{label:\"Family Name\",placeholder:\"Enter your Family Name\",type:\"text\",autocomplete:\"family-name\",isRequired:!0},given_name:{label:\"Given Name\",placeholder:\"Enter your Given Name\",type:\"text\",autocomplete:\"given-name\",isRequired:!0},middle_name:{label:\"Middle Name\",placeholder:\"Enter your Middle Name\",type:\"text\",autocomplete:\"additional-name\",isRequired:!0},name:{label:\"Name\",placeholder:\"Enter your Name\",type:\"text\",autocomplete:\"name\",isRequired:!0},nickname:{label:\"Nickname\",placeholder:\"Enter your Nickname\",type:\"text\",autocomplete:\"tel\",isRequired:!0},password:{label:\"Password\",placeholder:\"Enter your Password\",type:\"password\",autocomplete:\"new-password\",isRequired:!0},phone_number:{label:\"Phone Number\",placeholder:\"Enter your Phone Number\",type:\"tel\",autocomplete:\"tel\",dialCode:\"+1\",dialCodeList:e,isRequired:!0},preferred_username:{label:\"Preferred Username\",placeholder:\"Enter your Preferred Username\",type:\"text\",isRequired:!0},profile:{label:\"Profile\",placeholder:\"Add your Profile\",type:\"url\",autocomplete:\"url\",isRequired:!0},website:{label:\"Website\",placeholder:\"Add your Website\",type:\"url\",autocomplete:\"url\",isRequired:!0},username:{label:\"Username\",placeholder:\"Enter your Username\",type:\"text\",autocomplete:\"username\",isRequired:!0}},a=[\"^\",\"$\",\"*\",\".\",\"[\",\"]\",\"{\",\"}\",\"(\",\")\",\"?\",'\"',\"!\",\"@\",\"#\",\"%\",\"&\",\"/\",\"\\\\\",\",\",\">\",\"<\",\"'\",\":\",\";\",\"|\",\"_\",\"~\",\"`\",\"=\",\"+\",\"-\",\" \"];export{a as ALLOWED_SPECIAL_CHARACTERS,r as defaultFormFieldOptions};\n","import\"../../types/authenticator/user.mjs\";import{LoginMechanismArray as t}from\"../../types/authenticator/attributes.mjs\";import\"../../types/primitives/componentClassName.mjs\";const i=t=>{var i;const s=null===(i=null==t?void 0:t.context.config)||void 0===i?void 0:i.loginMechanisms,[n]=null!=s?s:[\"username\"];return n},s=i=>{var s;const n=(null===(s=i.config)||void 0===s?void 0:s.loginMechanisms).filter((i=>t.includes(i))),[o,...e]=n;return{primaryAlias:o,secondaryAliases:e}};export{s as getConfiguredAliases,i as getPrimaryAlias};\n","import\"../../types/authenticator/user.mjs\";import{authFieldsWithDefaults as r}from\"../../types/authenticator/attributes.mjs\";import\"../../types/primitives/componentClassName.mjs\";const t=r=>{const t=new FormData(r.target);return Object.fromEntries(t)},e=(r,t)=>{let e=[];return r&&(e=Object.keys(r).reduce(((t,e)=>{var o;return t.push([e,null===(o=r[e])||void 0===o?void 0:o.order]),t}),[]).sort(((r,t)=>r[1]-t[1])).filter((r=>void 0!==r[1])).map((r=>r[0]))),Array.from(new Set([...e,...t]))},o=t=>r.includes(t),s=r=>{return r?(t=r,Array.isArray(t)?r:[r]):null;var t};export{s as getErrors,t as getFormDataFromEvent,o as isAuthFieldWithDefaults,e as setFormOrder};\n","import{getActorContext as o,getActorState as s}from\"../actor.mjs\";import{defaultFormFieldOptions as e}from\"../constants.mjs\";import{getPrimaryAlias as r}from\"../context.mjs\";import{isAuthFieldWithDefaults as t}from\"../form.mjs\";const n=(s,r)=>{const{country_code:t}=o(s);let n=e[r];const{type:a}=n;return\"tel\"===a&&(n=Object.assign(Object.assign({},n),{dialCode:t})),n},a=o=>{const s=r(o);return Object.assign(Object.assign({},n(o,s)),{autocomplete:\"username\"})},c=o=>({confirmation_code:Object.assign(Object.assign({},n(o,\"confirmation_code\")),{label:\"Code *\",placeholder:\"Code\"})}),i={signIn:o=>({username:Object.assign({},a(o)),password:Object.assign(Object.assign({},n(o,\"password\")),{autocomplete:\"current-password\"})}),signUp:o=>{const{loginMechanisms:s,signUpAttributes:e}=o.context.config,c=r(o),i=Array.from(new Set([...s,\"password\",\"confirm_password\",...e])),d={};for(const s of i)if(t(s)){const e=s===c?a(o):n(o,s);d[s]=Object.assign({},e)}else console.debug(`Authenticator does not have a default implementation for ${s}. Customize SignUp FormFields to add your own.`);return d},confirmSignUp:o=>({confirmation_code:Object.assign(Object.assign({},n(o,\"confirmation_code\")),{placeholder:\"Enter your code\"})}),confirmSignIn:c,forceNewPassword:o=>{const e=s(o),{requiredAttributes:r}=e.context,a=Array.from(new Set([\"password\",\"confirm_password\",...r])),c={};for(const s of a)t(s)?c[s]=Object.assign({},n(o,s)):console.debug(`Authenticator does not have a default implementation for ${s}. Customize ForceNewPassword FormFields to add your own.`);return c},resetPassword:o=>{const s=r(o),{label:t}=e[s];return{username:Object.assign(Object.assign({},a(o)),{label:`Enter your ${t.toLowerCase()}`,placeholder:`Enter your ${t.toLowerCase()}`})}},confirmResetPassword:o=>Object.assign(Object.assign({},c(o)),{password:Object.assign(Object.assign({},n(o,\"password\")),{label:\"New Password\",placeholder:\"New Password\"}),confirm_password:Object.assign(Object.assign({},n(o,\"confirm_password\")),{label:\"Confirm Password\",placeholder:\"Confirm Password\"})}),confirmVerifyUser:c,setupTOTP:c};export{i as defaultFormFieldsGetters,a as getAliasDefaultFormField};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { I18nOptions } from './types';\nimport { ConsoleLogger as Logger } from '../Logger';\n\nconst logger = new Logger('I18n');\n\n/**\n * Language transition class\n */\nexport class I18n {\n\t/**\n\t * @private\n\t */\n\t_options: I18nOptions = null;\n\n\t/**\n\t * @private\n\t */\n\t_lang = null;\n\n\t/**\n\t * @private\n\t */\n\t_dict = {};\n\n\t/**\n\t * @constructor\n\t * Initialize with configurations\n\t * @param {Object} options\n\t */\n\tconstructor(options: I18nOptions) {\n\t\tthis._options = Object.assign({}, options);\n\t\tthis._lang = this._options.language;\n\n\t\tif (\n\t\t\t!this._lang &&\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\twindow &&\n\t\t\twindow.navigator\n\t\t) {\n\t\t\tthis._lang = window.navigator.language;\n\t\t}\n\n\t\tlogger.debug(this._lang);\n\t}\n\n\t/**\n\t * @method\n\t * Explicitly setting language\n\t * @param {String} lang\n\t */\n\tsetLanguage(lang: string) {\n\t\tthis._lang = lang;\n\t}\n\n\t/**\n\t * @method\n\t * Get value\n\t * @param {String} key\n\t * @param {String} defVal - Default value\n\t */\n\tget(key, defVal = undefined) {\n\t\tif (!this._lang) {\n\t\t\treturn typeof defVal !== 'undefined' ? defVal : key;\n\t\t}\n\n\t\tconst lang = this._lang;\n\t\tlet val = this.getByLanguage(key, lang);\n\t\tif (val) {\n\t\t\treturn val;\n\t\t}\n\n\t\tif (lang.indexOf('-') > 0) {\n\t\t\tval = this.getByLanguage(key, lang.split('-')[0]);\n\t\t}\n\t\tif (val) {\n\t\t\treturn val;\n\t\t}\n\n\t\treturn typeof defVal !== 'undefined' ? defVal : key;\n\t}\n\n\t/**\n\t * @method\n\t * Get value according to specified language\n\t * @param {String} key\n\t * @param {String} language - Specified langurage to be used\n\t * @param {String} defVal - Default value\n\t */\n\tgetByLanguage(key, language, defVal = null) {\n\t\tif (!language) {\n\t\t\treturn defVal;\n\t\t}\n\n\t\tconst lang_dict = this._dict[language];\n\t\tif (!lang_dict) {\n\t\t\treturn defVal;\n\t\t}\n\n\t\treturn lang_dict[key];\n\t}\n\n\t/**\n\t * @method\n\t * Add vocabularies for one language\n\t * @param {String} language - Language of the dictionary\n\t * @param {Object} vocabularies - Object that has key-value as dictionary entry\n\t */\n\tputVocabulariesForLanguage(language, vocabularies) {\n\t\tlet lang_dict = this._dict[language];\n\t\tif (!lang_dict) {\n\t\t\tlang_dict = this._dict[language] = {};\n\t\t}\n\t\tthis._dict[language] = { ...lang_dict, ...vocabularies };\n\t}\n\n\t/**\n\t * @method\n\t * Add vocabularies for one language\n\t * @param {Object} vocabularies - Object that has language as key,\n\t * vocabularies of each language as value\n\t */\n\tputVocabularies(vocabularies) {\n\t\tObject.keys(vocabularies).map(key => {\n\t\t\tthis.putVocabulariesForLanguage(key, vocabularies[key]);\n\t\t});\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { I18n as I18nClass } from './I18n';\n\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { Amplify } from '../Amplify';\n\nconst logger = new Logger('I18n');\n\nlet _config = null;\nlet _i18n = null;\n\n/**\n * Export I18n APIs\n */\nexport class I18n {\n\t/**\n\t * @static\n\t * @method\n\t * Configure I18n part\n\t * @param {Object} config - Configuration of the I18n\n\t */\n\tstatic configure(config) {\n\t\tlogger.debug('configure I18n');\n\t\tif (!config) {\n\t\t\treturn _config;\n\t\t}\n\n\t\t_config = Object.assign({}, _config, config.I18n || config);\n\n\t\tI18n.createInstance();\n\n\t\treturn _config;\n\t}\n\n\tstatic getModuleName() {\n\t\treturn 'I18n';\n\t}\n\n\t/**\n\t * @static\n\t * @method\n\t * Create an instance of I18n for the library\n\t */\n\tstatic createInstance() {\n\t\tlogger.debug('create I18n instance');\n\t\tif (_i18n) {\n\t\t\treturn;\n\t\t}\n\t\t_i18n = new I18nClass(_config);\n\t}\n\n\t/**\n\t * @static @method\n\t * Explicitly setting language\n\t * @param {String} lang\n\t */\n\tstatic setLanguage(lang) {\n\t\tI18n.checkConfig();\n\n\t\treturn _i18n.setLanguage(lang);\n\t}\n\n\t/**\n\t * @static @method\n\t * Get value\n\t * @param {String} key\n\t * @param {String} defVal - Default value\n\t */\n\tstatic get(key, defVal?) {\n\t\tif (!I18n.checkConfig()) {\n\t\t\treturn typeof defVal === 'undefined' ? key : defVal;\n\t\t}\n\n\t\treturn _i18n.get(key, defVal);\n\t}\n\n\t/**\n\t * @static\n\t * @method\n\t * Add vocabularies for one language\n\t * @param {String} langurage - Language of the dictionary\n\t * @param {Object} vocabularies - Object that has key-value as dictionary entry\n\t */\n\tstatic putVocabulariesForLanguage(language, vocabularies) {\n\t\tI18n.checkConfig();\n\n\t\treturn _i18n.putVocabulariesForLanguage(language, vocabularies);\n\t}\n\n\t/**\n\t * @static\n\t * @method\n\t * Add vocabularies for one language\n\t * @param {Object} vocabularies - Object that has language as key,\n\t * vocabularies of each language as value\n\t */\n\tstatic putVocabularies(vocabularies) {\n\t\tI18n.checkConfig();\n\n\t\treturn _i18n.putVocabularies(vocabularies);\n\t}\n\n\tpublic static checkConfig() {\n\t\tif (!_i18n) {\n\t\t\t_i18n = new I18nClass(_config);\n\t\t}\n\n\t\treturn true;\n\t}\n}\n\nAmplify.register(I18n);\n","const e={\"Account recovery requires verified contact information\":\"Zurücksetzen des Account benötigt einen verifizierten Account\",\"Back to Sign In\":\"Zurück zur Anmeldung\",\"Change Password\":\"Passwort ändern\",Changing:\"Ändern von\",Code:\"Code\",\"Confirm Password\":\"Passwort bestätigen\",\"Confirm Sign Up\":\"Registrierung bestätigen\",\"Confirm SMS Code\":\"SMS-Code bestätigen\",\"Confirm TOTP Code\":\"TOTP-Code bestätigen\",Confirm:\"Bestätigen\",\"Confirmation Code\":\"Bestätigungs-Code\",Confirming:\"Wird bestätigt\",\"Create a new account\":\"Einen neuen Account erstellen\",\"Create Account\":\"Account erstellen\",\"Creating Account\":\"Account wird erstellt\",\"Dismiss alert\":\"Warnung verwerfen\",Email:\"Email\",\"Enter your code\":\"Geben Sie Ihren Code ein\",\"Enter your email\":\"Geben Sie Ihre Email ein\",\"Enter your phone number\":\"Geben Sie Ihre Telefonnummer ein\",\"Enter your username\":\"Geben Sie Ihren Benutzernamen ein\",\"Forgot your password?\":\"Passwort vergessen? \",\"Hide password\":\"Passwort verbergen\",\"It may take a minute to arrive\":\"Es kann eine Minute dauern, bis er ankommt\",Loading:\"Wird geladen\",\"New password\":\"Neues Passwort\",or:\"oder\",Password:\"Passwort\",\"Phone Number\":\"Telefonnummer\",\"Resend Code\":\"Code erneut senden\",\"Reset your Password\":\"Zurücksetzen des Passwort\",\"Reset your password\":\"Zurücksetzen des passwort\",\"Send code\":\"Code senden\",\"Send Code\":\"Code senden\",Sending:\"Wird gesendet\",\"Setup TOTP\":\"TOTP einrichten\",\"Show password\":\"Passwort anzeigen\",\"Sign in to your account\":\"Melden Sie sich mit Ihrem Account an\",\"Sign In with Amazon\":\"Mit Amazon anmelden\",\"Sign In with Apple\":\"Mit Apple anmelden\",\"Sign In with Facebook\":\"Mit Facebook anmelden\",\"Sign In with Google\":\"Mit Google anmelden\",\"Sign in\":\"Anmelden\",\"Sign In\":\"Anmelden\",\"Signing in\":\"Wird angemeldet\",Skip:\"Überspringen\",Submit:\"Abschicken\",Submitting:\"Wird gesendet\",Username:\"Benutzername\",\"Verify Contact\":\"Kontakt verifizieren\",Verify:\"Verifizieren\",\"We Sent A Code\":\"Wir haben einen Code gesendet\",\"We Texted You\":\"Wir haben Ihnen eine SMS-Textur\",\"Your code is on the way. To log in, enter the code we sent you\":\"Ihr Code ist unterwegs. Um sich anzumelden, geben Sie den Code ein, den wir Ihnen gesendet haben\",\"An account with the given email already exists.\":\"Ein Account mit dieser Email existiert bereits.\",\"Confirm a Code\":\"Code bestätigen\",\"Confirm Sign In\":\"Anmeldung bestätigen\",\"Create account\":\"Hier registrieren\",\"Enter your password\":\"Geben Sie Ihr Passwort ein\",\"Enter your Password\":\"Geben Sie Ihre Passwort ein\",\"Enter your Email\":\"Geben Sie Ihre E-Mail\",\"Sign Up with Facebook\":\"Mit Facebook registrieren\",\"Sign Up with Google\":\"Mit Google registrieren\",\"Forgot Password\":\"Passwort vergessen\",\"Have an account? \":\"Schon registriert? \",\"Incorrect username or password\":\"Falscher Benutzername oder falsches Passwort\",\"Invalid password format\":\"Ungültiges Passwort-Format\",\"Invalid phone number format\":\"Ungültiges Telefonummern-Format. Benutze eine Nummer im Format: +12345678900\",\"It may take a minute to arrive.\":\"Es könnte eine Minute dauern, bis der Code eintrifft.\",\"Lost your code? \":\"Code verloren? \",\"New Password\":\"Neues Passwort\",\"No account? \":\"Kein Account? \",\"Password attempts exceeded\":\"Die maximale Anzahl der fehlerhaften Anmeldeversuche wurde erreicht\",\"Reset password\":\"Passwort zurücksetzen\",\"Sign Out\":\"Abmelden\",\"Sign Up\":\"Registrieren\",\"User already exists\":\"Dieser Benutzer existiert bereits\",\"User does not exist\":\"Dieser Benutzer existiert nicht\",\"Username cannot be empty\":\"Benutzername darf nicht leer sein\",\"We Emailed You\":\"Email wurde versendet\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Ihr Bestätigungscode ist unterwegs. Um sich einzuloggen geben Sie den Code ein, den wir verschickt haben an\",\"Your code is on the way. To log in, enter the code we texted to\":\"Ihr Bestätigungscode ist unterwegs. Um sich einzuloggen geben Sie den Code ein, den wir verschickt haben an\"};export{e as deDict};\n","import{deDict as t}from\"./authenticator/de.mjs\";import{enDict as s}from\"./authenticator/en.mjs\";import{esDict as a}from\"./authenticator/es.mjs\";import{frDict as i}from\"./authenticator/fr.mjs\";import{itDict as r}from\"./authenticator/it.mjs\";import{jaDict as o}from\"./authenticator/ja.mjs\";import{krDict as c}from\"./authenticator/kr.mjs\";import{nlDict as m}from\"./authenticator/nl.mjs\";import{plDict as e}from\"./authenticator/pl.mjs\";import{ptDict as n}from\"./authenticator/pt.mjs\";import{zhDict as j}from\"./authenticator/zh.mjs\";import{svDict as u}from\"./authenticator/sv.mjs\";import{idDict as p}from\"./authenticator/id.mjs\";import{trDict as f}from\"./authenticator/tr.mjs\";import{ruDict as h}from\"./authenticator/ru.mjs\";import{heDict as b}from\"./authenticator/he.mjs\";import{uaDict as g}from\"./authenticator/ua.mjs\";import{defaultTexts as O}from\"./authenticator/defaultTexts.mjs\";const D=Object.assign({},t),d=Object.assign({},s),l=Object.assign({},a),x=Object.assign({},i),k=Object.assign({},r),v=Object.assign({},o),z=Object.assign({},c),T=Object.assign({},m),q=Object.assign({},e),w=Object.assign({},n),y=Object.assign({},j),A=Object.assign({},u),B=Object.assign({},p),C=Object.assign({},f),E=Object.assign({},h),F=Object.assign({},b),G=Object.assign({},g),H=Object.assign({},O);export{D as deDict,H as defaultTexts,d as enDict,l as esDict,x as frDict,F as heDict,B as idDict,k as itDict,v as jaDict,z as krDict,T as nlDict,q as plDict,w as ptDict,E as ruDict,A as svDict,C as trDict,G as uaDict,y as zhDict};\n","const e={\"Account recovery requires verified contact information\":\"Account recovery requires verified contact information\",\"Add your Profile\":\"Add your Profile\",\"Add your Website\":\"Add your Website\",\"Back to Sign In\":\"Back to Sign In\",\"Change Password\":\"Change Password\",Changing:\"Changing\",Code:\"Code\",\"Confirm Password\":\"Confirm Password\",\"Confirm Sign Up\":\"Confirm Sign Up\",\"Confirm SMS Code\":\"Confirm SMS Code\",\"Confirm TOTP Code\":\"Confirm TOTP Code\",Confirm:\"Confirm\",\"Confirmation Code\":\"Confirmation Code\",Confirming:\"Confirming\",\"Create a new account\":\"Create a new account\",\"Create Account\":\"Create Account\",\"Creating Account\":\"Creating Account\",\"Dismiss alert\":\"Dismiss alert\",Email:\"Email\",\"Enter your Birthdate\":\"Enter your Birthdate\",\"Enter your code\":\"Enter your code\",\"Enter your Confirmation Code\":\"Enter your Confirmation Code\",\"Enter your email\":\"Enter your email\",\"Enter your Family Name\":\"Enter your Family Name\",\"Enter your Given Name\":\"Enter your Given Name\",\"Enter your Middle Name\":\"Enter your Middle Name\",\"Enter your Name\":\"Enter your Name\",\"Enter your Nickname\":\"Enter your Nickname\",\"Enter your Password\":\"Enter your Password\",\"Enter your phone number\":\"Enter your phone number\",\"Enter your Preferred Username\":\"Enter your Preferred Username\",\"Enter your username\":\"Enter your username\",\"Forgot password?\":\"Forgot password?\",\"Forgot your password?\":\"Forgot your password?\",\"Hide password\":\"Hide password\",\"It may take a minute to arrive\":\"It may take a minute to arrive\",Loading:\"Loading\",\"New password\":\"New password\",or:\"or\",Password:\"Password\",\"Phone Number\":\"Phone Number\",\"Please confirm your Password\":\"Please confirm your Password\",\"Resend Code\":\"Resend Code\",\"Reset your password\":\"Reset your password\",\"Reset your Password\":\"Reset your Password\",\"Send code\":\"Send code\",\"Send Code\":\"Send Code\",Sending:\"Sending\",\"Setup TOTP\":\"Setup TOTP\",\"Show password\":\"Show password\",\"Sign in to your account\":\"Sign in to your account\",\"Sign In with Amazon\":\"Sign In with Amazon\",\"Sign In with Apple\":\"Sign In with Apple\",\"Sign In with Facebook\":\"Sign In with Facebook\",\"Sign In with Google\":\"Sign In with Google\",\"Sign in\":\"Sign in\",\"Sign In\":\"Sign In\",\"Signing in\":\"Signing in\",Skip:\"Skip\",Submit:\"Submit\",Submitting:\"Submitting\",Username:\"Username\",\"Verify Contact\":\"Verify Contact\",Verify:\"Verify\",\"We Emailed You\":\"We Emailed You\",\"We Sent A Code\":\"We Sent A Code\",\"We Texted You\":\"We Texted You\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Your code is on the way. To log in, enter the code we emailed to\",\"Your code is on the way. To log in, enter the code we sent you\":\"Your code is on the way. To log in, enter the code we sent you\",\"Your code is on the way. To log in, enter the code we texted to\":\"Your code is on the way. To log in, enter the code we texted to\"};export{e as enDict};\n","const e={\"Account recovery requires verified contact information\":\"La recuperación de la cuenta requiere información de contacto verificada\",\"Back to Sign In\":\"Volver a inicio de sesión\",\"Change Password\":\"Cambiar contraseña\",Changing:\"Cambiando\",Code:\"Código\",\"Confirm Password\":\"Confirmar contraseña\",\"Confirm Sign Up\":\"Confirmar registro\",\"Confirm SMS Code\":\"Confirmar el código de SMS\",\"Confirm TOTP Code\":\"Confirmar código TOTP\",Confirm:\"Confirmar\",\"Confirmation Code\":\"Código de confirmación\",Confirming:\"Confirmando\",\"Create a new account\":\"Crear una cuenta nueva\",\"Create Account\":\"Crear cuenta\",\"Creating Account\":\"Creando cuenta\",\"Dismiss alert\":\"Descartar alerta\",Email:\"Email\",\"Enter your code\":\"Ingrese el código\",\"Enter your email\":\"Escriba su Email\",\"Enter your phone number\":\"Ingrese el número de teléfono\",\"Enter your username\":\"Ingrese el nombre de usuario\",\"Forgot your password?\":\"¿Olvidó su contraseña?\",\"Hide password\":\"Ocultar contraseña\",\"It may take a minute to arrive\":\"Es posible que tarde un minuto en llegar\",Loading:\"Cargando\",\"New password\":\"Nueva contraseña\",or:\"o\",Password:\"Contraseña\",\"Phone Number\":\"Número de teléfono\",\"Resend Code\":\"Reenviar código\",\"Reset your password\":\"Restablecer su contraseña\",\"Reset your Password\":\"Restablecer su Contraseña\",\"Send code\":\"Enviar código\",\"Send Code\":\"Enviar código\",Sending:\"Enviando\",\"Setup TOTP\":\"Configurar TOTP\",\"Show password\":\"Mostrar contraseña\",\"Sign in to your account\":\"Iniciar sesión en tu cuenta\",\"Sign In with Amazon\":\"Iniciar Sesión con Amazon\",\"Sign In with Apple\":\"Iniciar Sesión con Apple\",\"Sign In with Facebook\":\"Iniciar Sesión con Facebook\",\"Sign In with Google\":\"Iniciar Sesión con Google\",\"Sign in\":\"Iniciar sesión\",\"Sign In\":\"Iniciar Sesión\",\"Signing in\":\"Iniciando sesión\",Skip:\"Omitir\",Submit:\"Enviar\",Submitting:\"Enviando\",Username:\"Nombre de usuario\",\"Verify Contact\":\"Verificar contacto\",Verify:\"Verificar\",\"We Emailed You\":\"Le hemos enviado un correo electrónico\",\"We Sent A Code\":\"Hemos enviado un código\",\"We Texted You\":\"Le hemos enviado un mensaje de texto\",\"Your code is on the way. To log in, enter the code we emailed to\":\"El código está en camino. Para iniciar sesión, escriba el código que hemos enviado por correo electrónico a\",\"Your code is on the way. To log in, enter the code we sent you\":\"El código está en camino. Para iniciar sesión, escriba el código que le hemos enviado\",\"Your code is on the way. To log in, enter the code we texted to\":\"El código está en camino. Para iniciar sesión, escriba el código que hemos enviado por mensaje de texto a\",\"An account with the given email already exists.\":\"Ya existe una cuenta con el correo ingresado.\",\"Confirm a Code\":\"Confirmar un código\",\"Confirm Sign In\":\"Confirmar inicio de sesión\",\"Forgot Password\":\"Olvidé mi contraseña\",\"Incorrect username or password.\":\"Nombre de usuario o contraseña incorrecta\",\"Invalid password format\":\"Formato de contraseña inválido\",\"Invalid phone number format\":\"Formato de número de teléfono inválido\",\"Loading...\":\"Cargando...\",\"New Password\":\"Nueva contraseña\",\"Resend a Code\":\"Reenviar un código\",\"Sign Out\":\"Cerrar sesión\",\"Sign Up with Amazon\":\"Crear cuenta con Amazon\",\"Sign Up with Apple\":\"Crear cuenta con Apple\",\"Sign Up with Facebook\":\"Crear cuenta con Facebook\",\"Sign Up with Google\":\"Crear cuenta con Google\",\"Sign Up\":\"Crear cuenta\",\"User already exists\":\"El usuario ya existe\",\"User does not exist\":\"El usuario no existe\",\"Username cannot be empty\":\"El nombre de usuario no puede estar vacío\",\"Your passwords must match\":\"Las contraseñas deben coincidir\"};export{e as esDict};\n","const e={\"Account recovery requires verified contact information\":\"La récupération du compte nécessite des informations de contact vérifiées\",\"Back to Sign In\":\"Retour à la connexion\",\"Change Password\":\"Modifier le mot de passe\",Changing:\"Modification en cours\",Code:\"Code\",\"Confirm Password\":\"Confirmez le mot de passe\",\"Confirm Sign Up\":\"Confirmer l'inscription\",\"Confirm SMS Code\":\"Confirmer le code SMS\",\"Confirm TOTP Code\":\"Confirmer le code TOTP\",Confirm:\"Confirmer\",\"Confirmation Code\":\"Code de confirmation\",Confirming:\"Confirmation\",\"Create a new account\":\"Créer un nouveau compte\",\"Create Account\":\"Créer un compte\",\"Creating Account\":\"Création d'un compte\",\"Dismiss alert\":\"Supprimer l'alerte\",Email:\"Email\",\"Enter your code\":\"Saisissez cotre code de confirmation\",\"Enter your email\":\"Saisissez votre adresse email\",\"Enter your phone number\":\"Saisissez votre numéro de téléphone\",\"Enter your username\":\"Saisissez votre nom d'utilisateur\",\"Forgot your password?\":\"Mot de passe oublié ? \",\"Hide password\":\"Masquer le mot de passe\",\"It may take a minute to arrive\":\"Cela peut prendre une minute\",Loading:\"Chargement en cours\",\"New password\":\"Nouveau mot de passe\",or:\"ou\",Password:\"Mot de passe\",\"Phone Number\":\"Numéro de téléphone\",\"Resend Code\":\"Renvoyer le code\",\"Reset your Password\":\"Réinitialiser votre mot de passe\",\"Reset your password\":\"Réinitialisez votre mot de passe\",\"Send code\":\"Envoyer le code\",\"Send Code\":\"M'envoyer un code\",Sending:\"Envoi en cours\",\"Setup TOTP\":\"Configuration de TOTP\",\"Show password\":\"Afficher le mot de passe\",\"Sign in to your account\":\"Connexion à votre compte\",\"Sign In with Amazon\":\"Se connecter avec Amazon\",\"Sign In with Apple\":\"Se connecter avec Apple\",\"Sign In with Facebook\":\"Se connecter avec Facebook\",\"Sign In with Google\":\"Se connecter avec Google\",\"Sign in\":\"Se connecter\",\"Sign In\":\"Se connecter\",\"Signing in\":\"Connexion en cours\",Skip:\"Passer\",Submit:\"Soumettre\",Submitting:\"Envoi en cours\",Username:\"Nom d'utilisateur\",\"Verify Contact\":\"Vérifier le contact\",Verify:\"Vérifier\",\"We Sent A Code\":\"Nous avons envoyé un code\",\"We Texted You\":\"Nous vous avons envoyé un SMS\",\"Your code is on the way. To log in, enter the code we sent you\":\"Votre code est en cours d'envoi. Pour vous connecter, saisissez le code que nous vous avons envoyé\",\"An account with the given email already exists.\":\"Un utilisateur avec cette adresse email existe déjà.\",Change:\"Modifier\",\"Confirm a Code\":\"Confirmer un code\",\"Confirm Sign In\":\"Confirmer la connexion\",\"Create account\":\"Créer un compte\",\"Enter your password\":\"Saisissez votre mot de passe\",\"Forgot Password\":\"Mot de passe oublié\",\"Have an account? \":\"Déjà un compte ? \",Hello:\"Bonjour\",\"Incorrect username or password\":\"Identifiant ou mot de passe incorrect\",\"Invalid password format\":\"Format de mot de passe invalide\",\"Invalid phone number format\":\"Format de numéro de téléphone invalide. Veuillez utiliser un format +12345678900\",\"Loading...\":\"Chargement...\",\"Lost your code? \":\"Vous avez perdu votre code ? \",\"Network error\":\"Erreur réseau\",\"New Password\":\"Nouveau mot de passe\",\"No account? \":\"Pas de compte ? \",\"Resend a Code\":\"Renvoyer un code\",\"Reset password\":\"Réinitialisez votre mot de passe\",Send:\"Envoyer\",\"Sign In with AWS\":\"Se connecter avec AWS\",\"Sign Out\":\"Déconnexion\",\"Sign Up\":\"S'inscrire\",SMS:\"SMS\",\"User already exists\":\"L'utilisateur existe déjà\",\"User does not exist\":\"L'utilisateur n'existe pas\",\"Username cannot be empty\":\"Le nom d'utilisateur doit être renseigné\",\"Username/client id combination not found.\":\"L'utilisateur n'existe pas\",\"We Emailed You\":\"Nous vous avons envoyé un code\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Votre code est en route. Pour vous connecter entrez le code reçu sur cette adresse email\",\"Your code is on the way. To log in, enter the code we texted to\":\"Votre code est en route. Pour vous connecter entrez le code reçu sur ce numéro de téléphone\",\"It may take a minute to arrive.\":\"Cela peut prendre quelques minutes.\"};export{e as frDict};\n","const o={\"Account recovery requires verified contact information\":\"Il ripristino dell'account richiede informazioni di contatto verificate\",\"Back to Sign In\":\"Torna alla schermata di accesso\",\"Change Password\":\"Cambia la password\",Changing:\"Modifica in corso\",Code:\"Codice\",\"Confirm Password\":\"Conferma la password\",\"Confirm Sign Up\":\"Conferma registrazione\",\"Confirm SMS Code\":\"Conferma codice SMS\",\"Confirm TOTP Code\":\"Conferma codice TOTP\",Confirm:\"Conferma\",\"Confirmation Code\":\"Codice di verifica\",Confirming:\"Conferma in corso\",\"Create a new account\":\"Crea un nuovo account\",\"Create Account\":\"Crea Account\",\"Creating Account\":\"Creazione account in corso\",\"Dismiss alert\":\"Ignora l'avviso\",Email:\"Email\",\"Enter your code\":\"Inserisci il tuo codice\",\"Enter your email\":\"Inserisci la tua e-mail\",\"Enter your phone number\":'Inserisci il tuo numero di telefono\"',\"Enter your username\":\"Inserisci il tuo nome utente\",\"Forgot your password?\":\"Password dimenticata?\",\"Hide password\":\"Nascondi password\",\"It may take a minute to arrive\":\"L'arrivo potrebbe richiedere qualche minuto\",Loading:\"Caricamento in corso\",\"New password\":\"Nuova password\",or:\"oppure\",Password:\"Password\",\"Phone Number\":\"Numero di telefono\",\"Resend Code\":\"Invia nuovamente il codice\",\"Reset your Password\":\"Reimposta la tua Password\",\"Reset your password\":\"Reimposta la tua password\",\"Send code\":\"Invia codice\",\"Send Code\":\"Invia codice\",Sending:\"Invio in corso\",\"Setup TOTP\":\"Configura TOTP\",\"Show password\":\"Mostra password\",\"Sign in to your account\":\"Accedi al tuo account\",\"Sign In with Amazon\":\"Accedi con Amazon\",\"Sign In with Apple\":\"Accedi con Apple\",\"Sign In with Facebook\":\"Accedi con Facebook\",\"Sign In with Google\":\"Accedi con Google\",\"Sign in\":\"Accedi\",\"Sign In\":\"Accedi\",\"Signing in\":\"Accesso in corso\",Skip:\"Salta\",Submit:\"Invia\",Submitting:\"Invio in corso\",Username:\"Nome utente\",\"Verify Contact\":\"Verifica contatto\",Verify:\"Verifica\",\"We Emailed You\":\"Ti abbiamo inviato un'e-mail\",\"We Sent A Code\":\"Ti abbiamo inviato un codice\",\"We Texted You\":\"Ti abbiamo inviato un SMS\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Il codice è in arrivo. Per effettuare l'accesso, immetti il codice che ti abbiamo inviato via e-mail\",\"Your code is on the way. To log in, enter the code we sent you\":\"Il codice è in arrivo. Per accedere, immetti il codice che ti abbiamo inviato\",\"Your code is on the way. To log in, enter the code we texted to\":\"Il codice è in arrivo. Per accedere, immetti il codice che abbiamo inviato tramite SMS\",\"An account with the given email already exists.\":\"Questa email è già utilizzata da un altro account.\",\"Confirm a Code\":\"Conferma un codice\",\"Confirm Sign In\":\"Conferma l'accesso\",\"Create account\":\"Crea account\",\"Enter your password\":\"Inserisci la tua password\",\"Forgot Password?\":\"Password dimenticata?\",\"Have an account? \":\"Già registrato?\",\"Incorrect username or password\":\"Nome utente o password errati\",\"Invalid password format\":\"Formato della password non valido\",\"Invalid phone number format\":\"Formato del numero di telefono non valido\",\"Lost your code?\":\"Codice smarrito?\",\"New Password\":\"Nuova password\",\"No account? \":\"Non hai un account?\",\"Password attempts exceeded\":\"Il numero massimo di tentativi di accesso falliti è stato raggiunto\",\"Reset password\":\"Reimposta password\",\"Sign Out\":\"Esci\",\"Sign Up\":\"Registrati\",\"User already exists\":\"Utente già esistente\",\"User does not exist\":\"Utente inesistente\",\"Username cannot be empty\":\"Il nome utente non può essere vuoto\"};export{o as itDict};\n","const e={\"Account recovery requires verified contact information\":\"アカウントの復旧には確認済みの連絡先が必要です\",\"Back to Sign In\":\"サインインに戻る\",\"Change Password\":\"パスワードを変える \",Changing:\"変更中\",Code:\"コード\",\"Confirm Password\":\"パスワードの確認\",\"Confirm Sign Up\":\"登録する\",\"Confirm SMS Code\":\"SMS コードを確認\",\"Confirm TOTP Code\":\"TOTP コードを確認\",Confirm:\"確定\",\"Confirmation Code\":\"確認コード\",Confirming:\"確認中\",\"Create a new account\":\"新しいアカウントを作る\",\"Create Account\":\"アカウントを作る\",\"Creating Account\":\"アカウントの作成中\",\"Dismiss alert\":\"アラートを閉じる\",Email:\"メールアドレス\",\"Enter your code\":\"コードを入力\",\"Enter your email\":\"メールアドレスを入力\",\"Enter your phone number\":\"電話番号を入力\",\"Enter your username\":\"ユーザー名を入力 \",\"Forgot your password?\":\"パスワードを忘れましたか? \",\"Hide password\":\"パスワードを非表示\",\"It may take a minute to arrive\":\"到着するまでに 1 分かかることがあります。\",Loading:\"ロード中\",\"New password\":\"新しいパスワード\",or:\"又は\",Password:\"パスワード \",\"Phone Number\":\"電話番号\",\"Resend Code\":\"コードを再送信\",\"Reset your Password\":\"パスワードをリセット\",\"Reset your password\":\"パスワードをリセットする\",\"Send code\":\"コードを送信\",\"Send Code\":\"コードを送信\",Sending:\"送信中\",\"Setup TOTP\":\"TOTP をセットアップ\",\"Show password\":\"パスワードを表示\",\"Sign in to your account\":\"アカウントにサインイン \",\"Sign In with Amazon\":\"Amazonでサインイン\",\"Sign In with Apple\":\"Apple でサインイン\",\"Sign In with Facebook\":\"Facebookでサインイン\",\"Sign In with Google\":\"Googleでサインイン\",\"Sign In\":\"サインイン \",\"Sign in\":\"サインイン\",\"Signing in\":\"サインイン中\",Skip:\"スキップ\",Submit:\"送信\",Submitting:\"送信中\",Username:\"ユーザー名 \",\"Verify Contact\":\"連絡先を確認\",Verify:\"確認\",\"We Sent A Code\":\"コードが送信されました\",\"We Texted You\":\"テキストが送信されました\",\"Your code is on the way. To log in, enter the code we sent you\":\"コードが途中です。ログインするには、送信したコードを入力してください。\",\"An account with the given email already exists.\":\"入力されたメールアドレスのアカウントが既に存在します\",\"Confirm a Code\":\"コードを確認\",\"Confirm Sign In\":\"サインインする\",\"Create account\":\"アカウントを作る \",\"Enter your Email\":\"メールアドレスを入力\",\"Enter your password\":\"パスワードを入力 \",\"Enter your Password\":\"パスワードを入力\",\"Please confirm your Password\":\"パスワードを入力\",\"Forgot Password\":\"パスワードを忘れた \",\"Have an account? \":\"アカウントを持っていますか?\",\"Incorrect username or password\":\"ユーザー名かパスワードが異なります \",\"Invalid password format\":\"パスワードの形式が無効です \",\"Invalid phone number format\":\"不正な電話番号の形式です。\\n+12345678900 の形式で入力してください\",\"It may take a minute to arrive.\":\"コードを受信するまで数分かかる場合があります。\",\"Lost your code? \":\"コードを失くしましたか?\",\"New Password\":\"新しいパスワード\",\"No account? \":\"アカウントが無いとき \",\"Password attempts exceeded\":\"サインインの試行回数が上限に達しました\",\"Reset password\":\"パスワードをリセット \",\"Reset Password\":\"パスワードをリセット\",\"Sign Out\":\"サインアウト \",\"Sign Up\":\"登録 \",\"User already exists\":\"既にユーザーが存在しています \",\"User does not exist\":\"ユーザーが存在しません \",\"Username cannot be empty\":\"ユーザー名は入力必須です\",\"We Emailed You\":\"コードを送信しました\",\"Your code is on the way. To log in, enter the code we emailed to\":\"ログインするには、メールに記載されたコードを入力してください。送信先:\",\"Your code is on the way. To log in, enter the code we texted to\":\"ログインするには、テキストメッセージに記載されたコードを入力してください。送信先:\"};export{e as jaDict};\n","const e={\"Account recovery requires verified contact information\":\"계정 복구를 위해 연락처 확인이 필요합니다\",\"Back to Sign In\":\"로그인으로 돌아가기\",\"Change Password\":\"비밀번호 변경하기\",Changing:\"변경중\",Code:\"코드\",\"Confirm Password\":\"비밀번호 재확인\",\"Confirm Sign Up\":\"회원가입 확인\",\"Confirm SMS Code\":\"휴대폰 본인 확인\",\"Confirm TOTP Code\":\"TOTP 인증번호 확인\",Confirm:\"확인\",\"Confirmation Code\":\"인증번호\",Confirming:\"확인중\",\"Create a new account\":\"회원가입\",\"Create Account\":\"회원가입\",\"Creating Account\":\"회원가입중\",\"Dismiss alert\":\"알림 무시\",Email:\"이메일\",\"Enter your code\":\"인증번호를 입력해주세요\",\"Enter your email\":\"이메일 입력\",\"Enter your phone number\":\"전화번호 입력\",\"Enter your username\":\"아이디를 입력해주세요\",\"Hide password\":\"비밀번호 숨기기\",\"It may take a minute to arrive\":\"도착하는 데 1분 정도 걸릴 수 있습니다\",Loading:\"로딩중\",\"New password\":\"새 비밀번호\",or:\"또는\",Password:\"비밀번호\",\"Phone Number\":\"전화번호\",\"Resend Code\":\"인증번호 재전송\",\"Reset your password\":\"비밀번호 재설정\",\"Reset your Password\":\"비밀번호 재설정\",\"Send code\":\"인증코드 보내기\",\"Send Code\":\"코드 전송\",Sending:\"전송중\",\"Setup TOTP\":\"TOTP 설정하기\",\"Show password\":\"비밀번호 보이기\",\"Sign in to your account\":\"로그인\",\"Sign In with Amazon\":\"Amazon 로그인\",\"Sign In with Apple\":\"Apple 로그인\",\"Sign In with Facebook\":\"Facebook 로그인\",\"Sign In with Google\":\"Google 로그인\",\"Sign in\":\"로그인\",\"Sign In\":\"로그인\",\"Signing in\":\"로그인중\",Skip:\"다음에 하기\",Submit:\"확인\",Submitting:\"확인중\",Username:\"아이디\",\"Verify Contact\":\"연락처 확인\",Verify:\"인증\",\"We Emailed You\":\"이메일을 보냄\",\"We Sent A Code\":\"코드를 보냄\",\"We Texted You\":\"문자 메시지를 보냄\",\"Your code is on the way. To log in, enter the code we emailed to\":\"코드가 전송 중입니다. 로그인하려면 이메일로 전송한 코드를 입력하세요\",\"Your code is on the way. To log in, enter the code we sent you\":\"코드가 전송 중입니다. 로그인하려면 전송한 코드를 입력하세요\",\"Your code is on the way. To log in, enter the code we texted to\":\"코드가 전송 중입니다. 로그인하려면 문자 메시지로 전송한 코드를 입력하세요\",Birthdate:\"생년월일\",\"Family Name\":\"성\",\"Forgot your password?\":\"비밀번호를 잊으셨나요?\",\"Given Name\":\"이름\",Name:\"성함\",Nickname:\"닉네임\",\"Preferred Username\":\"닉네임\",Profile:\"프로필\",\"Reset Password\":\"비밀번호 재설정\",Website:\"웹사이트\"};export{e as krDict};\n","const e={\"Account recovery requires verified contact information\":\"Accountherstel vereist geverifieerde contactgegevens\",\"Back to Sign In\":\"Terug naar inloggen\",\"Change Password\":\"Wachtwoord wijzigen\",Changing:\"Wordt aangepast\",Code:\"Code\",\"Confirm Password\":\"Bevestig Wachtwoord\",\"Confirm Sign Up\":\"Bevestig inschrijving\",\"Confirm SMS Code\":\"Bevestig SMS Code\",\"Confirm TOTP Code\":\"Bevestig TOTP Code\",Confirm:\"Bevestig\",\"Confirmation Code\":\"Bevestigingscode\",Confirming:\"Bevestigen\",\"Create a new account\":\"Nieuw account aanmaken\",\"Create Account\":\"Account aanmaken\",\"Creating Account\":\"Account wordt aangemaakt\",\"Dismiss alert\":\"Waarschuwing sluiten\",Email:\"E-mail\",\"Enter your code\":\"Vul je code in\",\"Enter your email\":\"Vul je e-mail in\",\"Enter your Password\":\"Vul je wachtwoord in\",\"Enter your phone number\":\"Vul je telefoonnummer in\",\"Enter your username\":\"Vul je gebruikersnaam in\",\"Enter your Username\":\"Vul je gebruikersnaam in\",\"Forgot your password?\":\"Wachtwoord vergeten? \",\"Hide password\":\"Verberg wachtwoord\",\"It may take a minute to arrive\":\"Het kan even duren voordat deze aankomt\",Loading:\"Laden\",\"New password\":\"Nieuw wachtwoord\",\"New Password\":\"Nieuw Wachtwoord\",or:\"of\",Password:\"Wachtwoord\",\"Phone Number\":\"Telefoonnummer\",\"Please confirm your Password\":\"Bevestig je wachtwoord\",\"Resend Code\":\"Verstuur code nogmaals\",\"Reset Password\":\"Wachtwoord resetten\",\"Reset your password\":\"Reset je wachtwoord\",\"Reset your Password\":\"Wachtwoord resetten\",\"Send code\":\"Verstuur code\",\"Send Code\":\"Verstuur Code\",Sending:\"Versturen\",\"Setup TOTP\":\"TOTP Instellingen\",\"Show password\":\"Toon wachtwoord\",\"Sign in to your account\":\"Inloggen op je account\",\"Sign In with Amazon\":\"Inloggen met Amazon\",\"Sign In with Apple\":\"Inloggen met Apple\",\"Sign In with Facebook\":\"Inloggen met Facebook\",\"Sign In with Google\":\"Inloggen met Google\",\"Sign in\":\"Inloggen\",\"Sign In\":\"Inloggen\",\"Signing in\":\"Inloggen\",Skip:\"Overslaan\",Submit:\"Versturen\",Submitting:\"Wordt verstuurd\",Username:\"Gebruikersnaam\",\"Verify Contact\":\"Verifieer Contact\",Verify:\"Verifieer\",\"We Emailed You\":\"We hebben u een e-mail gestuurd\",\"We Sent A Code\":\"We hebben een code gestuurd\",\"We Texted You\":\"We hebben u een sms gestuurd\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Uw code is onderweg. Om in te loggen, voer de code in die we gemaild hebben naar\",\"Your code is on the way. To log in, enter the code we sent you\":\"Uw code is onderweg. Om in te loggen, voer de code in die we u hebben gestuurd\",\"Your code is on the way. To log in, enter the code we texted to\":\"Uw code is onderweg. Om in te loggen, voer de code in die we hebben gestuurd naar\",\"Your passwords must match\":\"Je wachtwoorden moeten overeenkomen\"};export{e as nlDict};\n","const o={\"Account recovery requires verified contact information\":\"Odzyskanie konta wymaga zweryfikowanych danych kontaktowych\",\"Back to Sign In\":\"Powrót do logowania\",\"Change Password\":\"Zmień hasło\",Changing:\"Zmienianie\",Code:\"Kod\",\"Confirm Password\":\"Potwierdź Hasło\",\"Confirm Sign Up\":\"Potwierdź rejestrację\",\"Confirm SMS Code\":\"Potwierdź kod SMS\",\"Confirm TOTP Code\":\"Potwierdź hasło jednorazowe\",Confirm:\"Potwierdź\",\"Confirmation Code\":\"Kod potwierdzenia\",Confirming:\"Potwierdzanie\",\"Create a new account\":\"Utwórz nowe konto\",\"Create Account\":\"Utwórz konto\",\"Creating Account\":\"Tworzenie konta\",\"Dismiss alert\":\"Odrzuć alert\",Email:\"E-mail\",\"Enter your code\":\"Wprowadź swój kod\",\"Enter your email\":\"Wpisz swój adres e-mail\",\"Enter your phone number\":\"Wpisz swój numer telefonu\",\"Enter your username\":\"Wprowadź swoją nazwę użytkownika\",\"Forgot your password?\":\"Zapomniałeś hasła? \",\"Hide password\":\"Ukryj hasło\",\"It may take a minute to arrive\":\"Może to chwilę potrwać\",Loading:\"Ładowanie\",\"New password\":\"Nowe hasło\",or:\"albo\",Password:\"Hasło\",\"Phone Number\":\"Numer telefonu\",\"Resend Code\":\"Wyślij kod ponownie\",\"Reset your password\":\"Zresetuj swoje hasło\",\"Reset your Password\":\"Zresetuj swoje hasło\",\"Send code\":\"Wyślij kod\",\"Send Code\":\"Zresetuj hasło\",Sending:\"Wysyłanie\",\"Setup TOTP\":\"Konfiguruj TOTP\",\"Show password\":\"Pokaż hasło\",\"Sign in to your account\":\"Zaloguj się na swoje konto\",\"Sign In with Amazon\":\"Zaloguj z Amazon\",\"Sign In with Apple\":\"Zaloguj z Apple\",\"Sign In with Facebook\":\"Zaloguj z Facebook\",\"Sign In with Google\":\"Zaloguj z Google\",\"Sign In\":\"Logowanie\",\"Sign in\":\"Zaloguj\",\"Signing in\":\"Logowanie\",Skip:\"Pomiń\",Submit:\"Wyślij\",Submitting:\"Wysyłanie\",Username:\"Nazwa użytkownika\",\"Verify Contact\":\"Weryfikacja danych kontaktowych\",Verify:\"Zweryfikuj\",Birthdate:\"Data urodzenia\",\"Family Name\":\"Nazwisko\",\"Given Name\":\"Pierwsze imię\",\"Middle Name\":\"Drugie imię\",Name:\"Imię i nazwisko\",Nickname:\"Pseudonim\",\"Preferred Username\":\"Preferowana nazwa użytkownika\",Profile:\"Profil\",Website:\"Strona internetowa\",\"We Emailed You\":\"Wysłaliśmy Ci wiadomość e-mail\",\"We Sent A Code\":\"Wysłaliśmy kod\",\"We Texted You\":\"Wysłaliśmy Ci wiadomość SMS\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Twój kod został wysłany. Aby się zalogować, wprowadź kod wysłany na adres e-mail\",\"Your code is on the way. To log in, enter the code we sent you\":\"Twój kod został wysłany. Aby się zalogować, wprowadź wysłany do Ciebie kod\",\"Your code is on the way. To log in, enter the code we texted to\":\"Twój kod został wysłany. Aby się zalogować, wprowadź kod wysłany do Ciebie w wiadomości SMS pod numer\"};export{o as plDict};\n","const o={\"Account recovery requires verified contact information\":\"A recuperação da conta requer informações de contato verificadas\",\"Back to Sign In\":\"Voltar para Entrar\",\"Change Password\":\"Mudar senha\",Changing:\"Mudando\",Code:\"Código\",\"Confirm Password\":\"Confirme a Senha\",\"Confirm Sign Up\":\"Confirmar inscrição\",\"Confirm SMS Code\":\"Confirme o código SMS\",\"Confirm TOTP Code\":\"Confirme o código TOTP\",Confirm:\"confirme\",\"Confirmation Code\":\"Código de confirmação\",Confirming:\"Confirmando\",\"Create a new account\":\"Criar uma nova conta\",\"Create Account\":\"Criar Conta\",\"Creating Account\":\"Criando conta\",\"Dismiss alert\":\"Descartar alerta\",Email:\"O email\",\"Enter your code\":\"Insira seu código\",\"Enter your email\":\"Digite seu e-mail\",\"Enter your phone number\":\"Digite seu número de telefone\",\"Enter your username\":\"entre com seu nome de usuário\",\"Forgot your password?\":\"Esqueceu sua senha? \",\"Hide password\":\"Esconder a senha\",\"It may take a minute to arrive\":\"Pode levar um minuto para chegar\",Loading:\"Carregando\",\"New password\":\"Nova Senha\",or:\"ou\",Password:\"Senha\",\"Phone Number\":\"Número de telefone\",\"Resend Code\":\"Reenviar código\",\"Reset your password\":\"Redefina sua senha\",\"Reset your Password\":\"Redefina sua senha\",\"Send code\":\"Enviar código\",\"Send Code\":\"Enviar código\",Sending:\"Enviando\",\"Setup TOTP\":\"Configurar TOTP\",\"Show password\":\"Mostrar senha\",\"Sign in to your account\":\"Faça login em sua conta\",\"Sign In with Amazon\":\"Entrar com a Amazon\",\"Sign In with Apple\":\"Entrar com a Apple\",\"Sign In with Facebook\":\"Entrar com o Facebook\",\"Sign In with Google\":\"Faça login no Google\",\"Sign in\":\"Entrar\",\"Sign In\":\"Entrar\",\"Signing in\":\"Entrando\",Skip:\"Pular\",Submit:\"Enviar\",Submitting:\"Enviando\",Username:\"Nome do usuário\",\"Verify Contact\":\"Verificar contato\",Verify:\"Verificar\",\"We Emailed You\":\"Enviamos um e-mail para você\",\"We Sent A Code\":\"Enviamos um código\",\"We Texted You\":\"Enviamos um SMS para você\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Seu código está a caminho. Para fazer login, insira o código para o qual enviamos um e-mail\",\"Your code is on the way. To log in, enter the code we sent you\":\"Seu código está a caminho. Para fazer login, insira o código que enviamos para você\",\"Your code is on the way. To log in, enter the code we texted to\":\"Seu código está a caminho. Para fazer login, insira o código para o qual enviamos uma mensagem de texto\"};export{o as ptDict};\n","const e={\"Account recovery requires verified contact information\":\"账户恢复需要验证过的联系方式\",\"Back to Sign In\":\"回到登录\",\"Change Password\":\"更改密码\",Changing:\"正在修改\",Code:\"确认码\",\"Confirm Password\":\"确认密码\",\"Confirm Sign Up\":\"确认注册\",\"Confirm SMS Code\":\"确认短信验证码\",\"Confirm TOTP Code\":\"确认 TOTP 代码\",Confirm:\"确认\",\"Confirmation Code\":\"确认码\",Confirming:\"正在确认\",\"Create a new account\":\"创建新账户\",\"Create Account\":\"创建账户\",\"Creating Account\":\"正在创建账户\",\"Dismiss alert\":\"关闭警报\",Email:\"邮箱\",\"Enter your code\":\"输入验证码\",\"Enter your email\":\"输入电子邮件\",\"Enter your phone number\":\"输入电话号码\",\"Enter your username\":\"输入用户名\",\"Forgot your password?\":\"忘记密码了?\",\"Hide password\":\"隐藏密码\",\"It may take a minute to arrive\":\"可能需要一分钟才能到达\",Loading:\"正在加载\",\"New password\":\"新密码\",or:\"或者\",Password:\"密码\",\"Phone Number\":\"电话\",\"Resend Code\":\"重发验证码\",\"Reset your password\":\"重置密码\",\"Reset your Password\":\"重置密码\",\"Send Code\":\"发送确认码\",\"Send code\":\"发送验证码\",Sending:\"正在发送\",\"Setup TOTP\":\"设置 TOTP\",\"Show password\":\"显示密码\",\"Sign in to your account\":\"登录账户\",\"Sign In with Amazon\":\"通过 Amazon 登录\",\"Sign In with Apple\":\"通过 Apple 登录\",\"Sign In with Facebook\":\"通过 Facebook 登录\",\"Sign In with Google\":\"通过 Google 登录\",\"Sign in\":\"登录\",\"Sign In\":\"登录\",\"Signing in\":\"正在登录\",Skip:\"跳过\",Submit:\"提交\",Submitting:\"正在提交\",Username:\"用户名\",\"Verify Contact\":\"验证联系方式\",Verify:\"验证\",\"We Emailed You\":\"我们给您发送了电子邮件\",\"We Sent A Code\":\"我们发送了代码\",\"We Texted You\":\"我们给您发送了短信\",\"Your code is on the way. To log in, enter the code we emailed to\":\"您的代码正在发送中。要登录,请输入我们通过电子邮件发送给以下人员的代码:\",\"Your code is on the way. To log in, enter the code we sent you\":\"您的代码正在发送中。要登录,请输入我们发送给您的代码\",\"Your code is on the way. To log in, enter the code we texted to\":\"您的代码正在发送中。要登录,请输入我们通过短信发送给以下人员的代码:\",\"Confirm a Code\":\"确认码\",\"Confirm Sign In\":\"确认登录\",\"Forgot Password\":\"忘记密码\",\"Incorrect username or password\":\"用户名或密码错误\",\"Invalid password format\":\"密码格式错误\",\"Invalid phone number format\":\"电话格式错误,请使用格式 +12345678900\",\"New Password\":\"新密码\",\"Resend a Code\":\"重发确认码\",\"Sign Out\":\"退出\",\"Sign Up\":\"注册\",\"User already exists\":\"用户已经存在\",\"User does not exist\":\"用户不存在\"};export{e as zhDict};\n","const e={\"Account recovery requires verified contact information\":\"För att återställa kontot behöver du ett verifierat konto\",\"Back to Sign In\":\"Tillbaka till inloggningen\",\"Change Password\":\"Byt lösenord\",Changing:\"Ändra\",Code:\"Kod\",\"Confirm Password\":\"Bekräfta lösenord\",\"Confirm Sign Up\":\"Bekräfta registrering\",\"Confirm SMS Code\":\"Bekräfta SMS-kod\",\"Confirm TOTP Code\":\"Bekräfta TOTP-kod\",Confirm:\"Bekräfta\",\"Confirmation Code\":\"Verifikationskod\",Confirming:\"Bekräftar\",\"Create a new account\":\"Skapa ett nytt konto\",\"Create Account\":\"Skapa konto\",\"Creating Account\":\"Skapar konto\",\"Dismiss alert\":\"Avvisa varning\",Email:\"E-post\",\"Enter your code\":\"Skriv din kod\",\"Enter your email\":\"Fyll i din e-post\",\"Enter your phone number\":\"Ange ditt telefonnummer\",\"Enter your username\":\"Ange ditt användarnamn\",\"Forgot your password?\":\"Glömt ditt lösenord? \",\"Hide password\":\"Dölj lösenord\",\"It may take a minute to arrive\":\"Det kan ta en minut att komma fram\",Loading:\"Laddar\",\"New password\":\"Nytt lösenord\",or:\"eller\",Password:\"Lösenord\",\"Phone Number\":\"Telefonnummer\",\"Resend Code\":\"Skicka koden igen\",\"Reset your password\":\"Återställ ditt lösenord\",\"Reset your Password\":\"Återställ ditt lösenord\",\"Send code\":\"Skicka kod\",\"Send Code\":\"Skicka kod\",Sending:\"Skickar\",\"Setup TOTP\":\"Konfigurera TOTP\",\"Show password\":\"Visa lösenord\",\"Sign in to your account\":\"Logga in till ditt konto\",\"Sign In with Amazon\":\"Logga in med Amazon\",\"Sign In with Apple\":\"Logga in med Apple\",\"Sign In with Facebook\":\"Logga in med Facebook\",\"Sign In with Google\":\"Logga in med Google\",\"Sign in\":\"Logga in\",\"Sign In\":\"Logga in\",\"Signing in\":\"Loggar in\",Skip:\"Hoppa över\",Submit:\"Skicka\",Submitting:\"Skickar in\",Username:\"Användarnamn\",\"Verify Contact\":\"Verifiera kontakt\",Verify:\"Verifiera\",\"We Sent A Code\":\"Vi skickade en kod\",\"We Texted You\":\"Vi sms:ade dig\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Din kod är på väg. För att logga in, ange koden vi mejlade till\",\"Your code is on the way. To log in, enter the code we sent you\":\"Din kod är på väg. För att logga in, ange koden vi skickade till dig\",\"Your code is on the way. To log in, enter the code we texted to\":\"Din kod är på väg. För att logga in, ange koden vi sms:ade till\",\"An account with the given email already exists.\":\"Det finns redan ett konto med denna e-postadress\",\"Confirm a Code\":\"Bekräfta koden\",\"Confirm Sign In\":\"Bekräfta inloggning\",\"Create account\":\"Skapa konto\",\"Enter your password\":\"Ange ditt lösenord\",\"Forgot Password\":\"Glömt lösenordet\",\"Have an account? \":\"Redan registrerad? \",\"Incorrect username or password\":\"Felaktigt användarnamn eller lösenord\",\"Invalid password format\":\"Ogiltigt lösenordsformat\",\"Invalid phone number format\":\"Ogiltigt format för telefonnummer\",\"Lost your code? \":\"Förlorat koden? \",\"New Password\":\"Nytt lösenord\",\"No account? \":\"Inget konto? \",\"Password attempts exceeded\":\"Maximalt antal felaktiga inloggningsförsök har uppnåtts\",\"Reset password\":\"Återställ lösenord\",\"Sign Out\":\"Logga ut\",\"Sign Up\":\"Registrering\",\"User already exists\":\"Användaren finns redan\",\"User does not exist\":\"Användaren finns inte\",\"Username cannot be empty\":\"Användarnamnet kan inte vara tomt\",\"We Emailed You\":\"Vi har skickat e-post till dig\"};export{e as svDict};\n","const a={\"Account recovery requires verified contact information\":\"Pemulihan akun memerlukan informasi kontak terverifikasi\",\"Back to Sign In\":\"Kembali ke Masuk\",\"Change Password\":\"Ubah kata sandi\",Changing:\"Mengubah\",Code:\"Kode\",\"Confirm Password\":\"Konfirmasi kata sandi\",\"Confirm Sign Up\":\"Konfirmasi Pendaftaran\",\"Confirm SMS Code\":\"Konfirmasi Kode SMS\",\"Confirm TOTP Code\":\"Konfirmasi Kode TOTP\",Confirm:\"Konfirmasi\",\"Confirmation Code\":\"Kode Konfirmasi\",Confirming:\"Mengkonfirmasi\",\"Create a new account\":\"Buat akun baru\",\"Create Account\":\"Buat Akun\",\"Creating Account\":\"Membuat Akun\",\"Dismiss alert\":\"Hentikan pemberitahuan\",Email:\"Email\",\"Enter your code\":\"Masukkan kode anda\",\"Enter your email\":\"Masukkan email anda\",\"Enter your phone number\":\"Masukkan nomor telepon anda\",\"Enter your username\":\"Masukkan nama akun anda\",\"Forgot your password?\":\"Lupa kata sandi? \",\"Hide password\":\"Sembunyikan kata sandi\",\"It may take a minute to arrive\":\"Mungkin perlu waktu satu menit untuk tiba\",Loading:\"Memuat\",\"New password\":\"Kata sandi baru\",or:\"atau\",Password:\"Kata sandi\",\"Phone Number\":\"Nomor telepon\",\"Resend Code\":\"Kirim ulang kodenya\",\"Reset your Password\":\"Reset Kata Sandi\",\"Reset your password\":\"Ubah kata sandi anda\",\"Send code\":\"Kirim kode\",\"Send Code\":\"Kirim Kode\",Sending:\"Mengirim\",\"Setup TOTP\":\"Siapkan TOTP\",\"Show password\":\"Tampilkan kata sandi\",\"Sign in to your account\":\"Masuk akun anda\",\"Sign In with Amazon\":\"Masuk dengan Amazon\",\"Sign In with Apple\":\"Masuk dengan Apple\",\"Sign In with Facebook\":\"Masuk dengan Facebook\",\"Sign In with Google\":\"Masuk dengan Google\",\"Sign in\":\"Masuk\",\"Sign In\":\"Masuk\",\"Signing in\":\"Memasuki\",Skip:\"Lewati\",Submit:\"Ajukan\",Submitting:\"Mengajukan\",Username:\"Nama akun\",\"Verify Contact\":\"Verifikasi Kontak\",Verify:\"Verifikasi\",\"We Sent A Code\":\"Kami Mengirim Kode\",\"We Texted You\":\"Kami mengirim SMS kepada Anda\",\"Your code is on the way. To log in, enter the code we sent you\":\"Kode Anda segera hadir. Untuk masuk, masukkan kode yang kami kirimkan kepada Anda\",\"An account with the given email already exists.\":\"Akun dengan email tersebut sudah terdaftar.\",\"Attempt limit exceeded, please try after some time.\":\"Batas percobaan terlampaui, mohon coba lagi setelah beberapa waktu.\",\"Cannot reset password for the user as there is no registered/verified email or phone_number\":\"Tidak dapat mengatur ulang kata sandi karena tidak ada email terdaftar / terverifikasi atau nomor telepon\",Change:\"Ubah\",\"Confirm a Code\":\"Konfirmasi kode\",\"Create account\":\"Buat akun\",\"Enter your password\":\"Masukkan kata sandi anda\",\"Forgot Password\":\"Lupa kata sandi\",\"Have an account? \":\"Sudah punya akun? \",Hello:\"Halo\",\"Incorrect username or password.\":\"Nama akun atau kata sandi salah.\",\"Invalid phone number format\":\"Nomor telepon tidak sesuai dengan format.\",\"Invalid verification code provided, please try again.\":\"Kode verifikasi tidak sesuai, mohon coba lagi.\",\"It may take a minute to arrive.\":\"Mungkin perlu beberapa waktu untuk tiba.\",\"Lost your code? \":\"Kode anda hilang?\",Name:\"Nama\",\"Network error\":\"Galat jaringan\",\"No account? \":\"Tidak ada akun?\",\"Password did not conform with policy: Password not long enough\":\"Kata sandi tidak sesuai dengan aturan: Kata sandi kurang panjang\",\"Resend a Code\":\"Renvoyer un code\",\"Reset password\":\"Ubah kata sandi anda\",Send:\"Kirim\",\"Sign In with AWS\":\"Masuk dengan AWS\",\"Sign Up with Amazon\":\"Daftar dengan Amazon\",\"Sign Up with AWS\":\"Daftar dengan AWS\",\"Sign Up with Facebook\":\"Daftar dengan Facebook\",\"Sign Up with Google\":\"Daftar dengan Google\",SMS:\"SMS\",\"User already exists\":\"Akun sudah terdaftar\",\"User does not exist.\":\"Akun tidak terdaftar.\",\"User is disabled.\":\"Akun dinonaktifkan.\",\"Username cannot be empty\":\"Nama akun tidak boleh kosong\",\"Username/client id combination not found.\":\"Nama akun atau id tidak ditemukan.\",\"We Emailed You\":\"Kami mengirimkanmu email\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Kode anda dalam pengiriman. Untuk masuk, masukkan kode yang kami emailkan ke\",\"Your code is on the way. To log in, enter the code we texted to\":\"Kode anda dalam pengiriman. Untuk masuk, masukkan kode yang kami tuliskan ke\",\"Your passwords must match\":\"Kata sandi harus sama\"};export{a as idDict};\n","const e={\"Account recovery requires verified contact information\":\"Hesap kurtarma, doğrulanmış iletişim bilgilerini gerektirir\",\"Back to Sign In\":\"Oturum Açmaya Geri Dön\",\"Change Password\":\"Şifreyi Değiştir\",Changing:\"Değiştiriliyor\",Code:\"Kod\",\"Confirm Password\":\"Şifreyi Doğrula\",\"Confirm Sign Up\":\"Kayıt İşlemini Doğrula\",\"Confirm SMS Code\":\"SMS Kodunu Doğrula\",\"Confirm TOTP Code\":\"Tek Kullanımlık Şifreyi Doğrula\",Confirm:\"Doğrula\",\"Confirmation Code\":\"Doğrulama Kodu\",Confirming:\"Doğrulanıyor\",\"Create a new account\":\"Yeni bir hesap oluştur\",\"Create Account\":\"Hesap Oluştur\",\"Creating Account\":\"Hesap Oluşturuluyor\",\"Dismiss alert\":\"Uyarıyı reddet\",Email:\"E-posta\",\"Enter your code\":\"Kodu girin\",\"Enter your email\":\"E-posta adresinizi girin\",\"Enter your phone number\":\"Telefon numaranızı girin\",\"Enter your username\":\"Kullanıcı adınızı girin\",\"Forgot your password?\":\"Şifrenizi mi unuttunuz?\",\"Hide password\":\"Şifreyi gizle\",\"It may take a minute to arrive\":\"Kodun gelmesi bir dakika sürebilir\",Loading:\"Yükleniyor\",\"New password\":\"Yeni şifre\",or:\"veya\",Password:\"Şifre\",\"Phone Number\":\"Telefon Numarası\",\"Resend Code\":\"Kodu Yeniden Gönder\",\"Reset your password\":\"Şifrenizi sıfırlayın\",\"Reset your Password\":\"Şifrenizi Sıfırlayın\",\"Send code\":\"Kod gönder\",\"Send Code\":\"Kod Gönder\",Sending:\"Gönderiliyor\",\"Setup TOTP\":\"Tek kullanımlık şifre kurulumu yap\",\"Show password\":\"Şifreyi göster\",\"Sign in to your account\":\"Hesabınızda oturum açın\",\"Sign In with Amazon\":\"Amazon ile Oturum Aç\",\"Sign In with Apple\":\"Apple ile Oturum Aç\",\"Sign In with Facebook\":\"Facebook ile Oturum Aç\",\"Sign In with Google\":\"Google ile Oturum Aç\",\"Sign in\":\"Oturum aç\",\"Sign In\":\"Oturum Aç\",\"Signing in\":\"Oturum açılıyor\",Skip:\"Atla\",Submit:\"Gönder\",Submitting:\"Gönderiliyor\",Username:\"Kullanıcı adı\",\"Verify Contact\":\"Kişiyi Doğrula\",Verify:\"Doğrula\",\"We Emailed You\":\"Size E-posta Gönderdik\",\"We Sent A Code\":\"Bir Kod Gönderdik\",\"We Texted You\":\"Size Mesaj Gönderdik\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Kodunuz yolda. Oturum açmak için, gönderdiğimiz e-postadaki kodu girin\",\"Your code is on the way. To log in, enter the code we sent you\":\"Kodunuz yolda. Oturum açmak için, size gönderdiğimiz kodu girin\",\"Your code is on the way. To log in, enter the code we texted to\":\"Kodunuz yolda. Oturum açmak için, gönderdiğimiz mesajdaki kodu girin\",\"An account with the given email already exists.\":\"Bu e-postaya ait zaten bir hesap var.\",\"Confirm Sign In\":\"Oturum Açmayı Doğrula\",\"Have an account? \":\"Hesabınız var mı? \",\"Incorrect username or password\":\"Yanlış kullanıcı adı ya da şifre\",\"Invalid password format\":\"Geçersiz parola formatı\",\"Invalid phone number format\":\"Geçersiz telefon numarası formatı\",\"Lost your code? \":\"Kodu mu kaybettiniz? \",\"No account? \":\"Hesabınız yok mu? \",\"Password attempts exceeded\":\"Maksimum oturum açma girişimi aşıldı\",\"Sign Out\":\"Çıkış yap\",\"Sign Up\":\"Kayıt Ol\",\"User already exists\":\"Bu kullanıcı zaten var\",\"User does not exist\":\"Böyle bir kullanıcı mevcut değil\",\"Username cannot be empty\":\"Kullanıcı adı boş olamaz\"};export{e as trDict};\n","const e={\"Account recovery requires verified contact information\":\"Восстановление учетной записи требует проверки контактной информации\",\"Back to Sign In\":\"Назад, чтобы войти\",\"Change Password\":\"изменять пароль\",Changing:\"Изменение\",Code:\"Код\",\"Confirm Password\":\"Подтверждение пароля\",\"Confirm Sign Up\":\"Подтверждение зарегистрироваться\",\"Confirm SMS Code\":\"Подтверждение CMC-Код\",\"Confirm TOTP Code\":\"Подтверждение TOTP-Код\",Confirm:\"Подтверждать\",\"Confirmation Code\":\"код подтверждения\",Confirming:\"подтверждение\",\"Create a new account\":\"Создавать новую учетную запись\",\"Create Account\":\"Создать учетную запись\",\"Creating Account\":\"создание учетная запись\",\"Dismiss alert\":\"Закрыть оповещение\",Email:\"электронная почта\",\"Enter your code\":\"ввести ваш Код\",\"Enter your email\":\"ввести ваш электронная почта\",\"Enter your phone number\":\"ввести ваш номер телефона\",\"Enter your username\":\"ввести ваш имя пользователя\",\"Forgot your password?\":\"Забыли ваш пароль?\",\"Hide password\":\"Скрывать пароль\",\"It may take a minute to arrive\":\"Доставка может занять некоторое время\",Loading:\"Загрузка\",\"New password\":\"Новый пароль\",or:\"или\",Password:\"Пароль\",\"Phone Number\":\"Номер телефона\",\"Resend Code\":\"Отправь еще раз Код\",\"Reset your password\":\"сброс ваш пароль\",\"Reset your Password\":\"сброс ваш Пароль\",\"Send code\":\"Отправлять Код\",\"Send Code\":\"Отправлять Код\",Sending:\"отправка\",\"Setup TOTP\":\"Настраивать TOTP\",\"Show password\":\"Показывать пароль\",\"Sign in to your account\":\"знак в свой аккаунт\",\"Sign In with Amazon\":\"знак в с Amazon\",\"Sign In with Apple\":\"знак в с Apple\",\"Sign In with Facebook\":\"знак в с Facebook\",\"Sign In with Google\":\"знак в с Google\",\"Sign in\":\"знак в\",\"Sign In\":\"знак в\",\"Signing in\":\"подписание в\",Skip:\"Пропускать\",Submit:\"Представлять на рассмотрение\",Submitting:\"Представив\",Username:\"Имя пользователя\",\"Verify Contact\":\"Проверить контакт\",Verify:\"Проверить\",\"We Emailed You\":\"Мы отправили вам электронное письмо\",\"We Sent A Code\":\"Мы отправили код\",\"We Texted You\":\"Мы отправили вам текстовое сообщение\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Ваш код отправлен. Чтобы войти в систему, введите код, который мы отправили по электронной почте\",\"Your code is on the way. To log in, enter the code we sent you\":\"Ваш код отправлен. Чтобы войти в систему, введите код, который мы послали вам\",\"Your code is on the way. To log in, enter the code we texted to\":\"Ваш код отправлен. Чтобы войти в систему, введите код, который мы отправили текстовым сообщением\"};export{e as ruDict};\n","const n={\"Account recovery requires verified contact information\":\"שחזור לקוח דורש עוד מידע\",\"Back to Sign In\":\"חזור להרשמה\",\"Change Password\":\"עדכון סיסמא\",Changing:\"מעדכן\",Code:\"קוד\",\"Confirm Password\":\"אשר סיסמא\",\"Confirm Sign Up\":\"אשר הרשמה\",\"Confirm SMS Code\":\"אשר sms קוד\",\"Confirm TOTP Code\":\"אשר totp קוד\",Confirm:\"אישור\",\"Confirmation Code\":\"אישור קוד\",Confirming:\"מאשר\",\"Create a new account\":\"צור משתמש חדש\",\"Create Account\":\"צור משתמש\",\"Creating Account\":\"יצירת משתמש\",\"Dismiss alert\":\"הסר התראה\",Email:\"אימייל\",\"Enter your code\":\"הכנס את הקוד\",\"Enter your email\":\"הכנס את המייל שלך\",\"Enter your phone number\":\"הכנס את מספר הטלפון שלך\",\"Enter your username\":\"הכנס את שם המתמש שלך\",\"Forgot your password?\":\"שחכת סיסמא ?\",\"Hide password\":\"הסתר סיסמא\",Loading:\"טוען\",\"New password\":\"סיסמא חדשה\",or:\"אוֹ\",Password:\"סיסמא\",\"Phone Number\":\"מספר טלפון\",\"Resend Code\":\"שלח קוד שוב\",\"Reset your password\":\"אפס סיסמא\",\"Reset your Password\":\"אפס סיסמא\",\"Send code\":\"שלח קוד\",\"Send Code\":\"שלח קוד\",Sending:\"שולח\",\"Setup TOTP\":\"Setup TOTP\",\"Show password\":\"הצג סיסמא\",\"Sign in to your account\":\"התחבר לחשבון שלך\",\"Sign In with Amazon\":\"Sign In with Amazon\",\"Sign In with Apple\":\"Sign In with Apple\",\"Sign In with Facebook\":\"Sign In with Facebook\",\"Sign In with Google\":\"Sign In with Google\",\"Sign in\":\"התחבר\",\"Sign In\":\"התחבר\",\"Signing in\":\"מתחבר\",Skip:\"דלג\",Submit:\"שלח\",Submitting:\"שולח\",Username:\"שם משתמש\",\"Verify Contact\":\"אמת איש קשר\",Verify:\"אמת\"};export{n as heDict};\n","const e={\"Account recovery requires verified contact information\":\"Відновлення облікового запису потребує контактної інформації\",\"Back to Sign In\":\"Назад на сторінку входу\",\"Change Password\":\"Змінити пароль\",Changing:\"Змінюємо\",Code:\"Код\",\"Confirm Password\":\"Підтвердіть пароль\",\"Confirm Sign Up\":\"Підтвердіть реєстрацію\",\"Confirm SMS Code\":\"Підтвердіть SMS код\",\"Confirm TOTP Code\":\"Підтвердіть TOTP код\",Confirm:\"Підтвердити\",\"Confirmation Code\":\"Код підтвердження\",Confirming:\"Підтверджуємо\",\"Create a new account\":\"Зареєструватися\",\"Create Account\":\"Зареєструватися\",\"Creating Account\":\"Реєструємо\",\"Dismiss alert\":\"Відхилити сповіщення\",Email:\"Email\",\"Enter your code\":\"Введіть код\",\"Enter your email\":\"Введіть ваш email\",\"Enter your phone number\":\"Введіть ваш номер телефону\",\"Enter your username\":\"Введіть ваше імʼя користувача\",\"Forgot password?\":\"Забули пароль?\",\"Forgot your password?\":\"Забули ваш пароль?\",\"Hide password\":\"Сховати пароль\",\"It may take a minute to arrive\":\"Доставка може тривати хвилину\",Loading:\"Загружаємо\",\"New password\":\"Новий пароль\",or:\"або\",Password:\"Пароль\",\"Phone Number\":\"Номер Телефону\",\"Resend Code\":\"Відправити код повторно\",\"Reset your password\":\"Скинути пароль\",\"Reset your Password\":\"Скинути пароль\",\"Send code\":\"Відправити код\",\"Send Code\":\"Відправити код\",Sending:\"Відправляємо\",\"Setup TOTP\":\"Налаштувати TOTP\",\"Show password\":\"Показати пароль\",\"Sign in to your account\":\"Увійти у ваш обліковий запис\",\"Sign In with Amazon\":\"Увійти з Amazon\",\"Sign In with Apple\":\"Увійти з Apple\",\"Sign In with Facebook\":\"Увійти з Facebook\",\"Sign In with Google\":\"Увійти з Google\",\"Sign in\":\"Увійти\",\"Sign In\":\"Увійти\",\"Signing in\":\"Входимо\",Skip:\"Пропустити\",Submit:\"Відправити\",Submitting:\"Відправляємо\",Username:\"Імʼя користувача\",\"Verify Contact\":\"Підтвердити Контакт\",Verify:\"Підтвердити\",\"We Emailed You\":\"Ми відправили вам Email\",\"We Sent A Code\":\"Ми відправили код\",\"We Texted You\":\"Ми відправили вам текстове повідомлення\",\"Your code is on the way. To log in, enter the code we emailed to\":\"Ваш код вже в дорозі. Щоб увійти, введіть код, що ми відправили вам на Email\",\"Your code is on the way. To log in, enter the code we sent you\":\"Ваш код вже в дорозі. Щоб увійти, введіть код, що ми вам відправили\",\"Your code is on the way. To log in, enter the code we texted to\":\"Ваш код вже в дорозі. Щоб увійти, введіть код, що ми відправили вам текстовим повідомленням\",\"An account with the given email already exists.\":\"Обліковий запис з цим Email вже існує.\",\"Confirm a Code\":\"Підтвердіть код\",\"Confirm Sign In\":\"Підтвердіть вхід\",\"Forgot Password\":\"Забули пароль\",\"Incorrect username or password.\":\"Невірне імʼя користувача або пароль\",\"Invalid password format\":\"Невірний формат паролю\",\"Invalid phone number format\":\"Невірний формат номеру телефону\",\"Loading...\":\"Загружаємо...\",\"New Password\":\"Новий пароль\",\"Resend a Code\":\"Відправити код повторно\",\"Reset Password\":\"Скинути пароль\",\"Sign Out\":\"Вийти\",\"Sign Up with Amazon\":\"Зареєструватися з Amazon\",\"Sign Up with Apple\":\"Зареєструватися з Apple\",\"Sign Up with Facebook\":\"Зареєструватися з Facebook\",\"Sign Up with Google\":\"Зареєструватися з Google\",\"Sign Up\":\"Зареєструватися\",\"User already exists\":\"Користувач вже існує\",\"User does not exist\":\"Такий користувач не існує\",\"Username cannot be empty\":\"Імʼя користувача не може бути пустим\",\"Your passwords must match\":\"Паролі мають збігатися\"};export{e as uaDict};\n","const E={ADD_PROFILE:\"Add your Profile\",ADD_WEBSITE:\"Add your Website\",BACK_SIGN_IN:\"Back to Sign In\",BIRTHDATE:\"Birthdate\",CHANGE_PASSWORD:\"Change Password\",CHANGING_PASSWORD:\"Changing\",CODE:\"Code\",CODE_ARRIVAL:\"It may take a minute to arrive\",CODE_EMAILED:\"Your code is on the way. To log in, enter the code we emailed to\",CODE_SENT:\"Your code is on the way. To log in, enter the code we sent you\",CODE_TEXTED:\"Your code is on the way. To log in, enter the code we texted to\",CONFIRM_PASSWORD:\"Confirm Password\",CONFIRM_PASSWORD_PLACEHOLDER:\"Please confirm your Password\",CONFIRM_RESET_PASSWORD_HEADING:\"Reset your Password\",CONFIRM_SIGNUP_HEADING:\"Confirm Sign Up\",CONFIRM_SMS:\"Confirm SMS Code\",CONFIRM_TOTP:\"Confirm TOTP Code\",CONFIRM:\"Confirm\",CONFIRMATION_CODE:\"Confirmation Code\",CONFIRMING:\"Confirming\",CREATE_ACCOUNT:\"Create Account\",CREATING_ACCOUNT:\"Creating Account\",EMAIL_ADDRESS:\"Email\",ENTER_BIRTHDATE:\"Enter your Birthdate\",ENTER_CODE:\"Enter your code\",ENTER_CONFIRMATION_CODE:\"Enter your Confirmation Code\",ENTER_EMAIL:\"Enter your Email\",ENTER_FAMILY_NAME:\"Enter your Family Name\",ENTER_GIVEN_NAME:\"Enter your Given Name\",ENTER_MIDDLE_NAME:\"Enter your Middle Name\",ENTER_NAME:\"Enter your Name\",ENTER_NICK_NAME:\"Enter your Nickname\",ENTER_PASSWORD:\"Enter your Password\",ENTER_PHONE_NUMBER:\"Enter your Phone Number\",ENTER_PREFERRED_USERNAME:\"Enter your Preferred Username\",ENTER_USERNAME:\"Enter your username\",FAMILY_NAME:\"Family Name\",GIVEN_NAME:\"Given Name\",FORGOT_PASSWORD:\"Forgot Password?\",FORGOT_YOUR_PASSWORD:\"Forgot your password?\",HIDE_PASSWORD:\"Hide password\",LOADING:\"Loading\",LOGIN_NAME:\"Username\",MIDDLE_NAME:\"Middle Name\",NAME:\"Name\",NICKNAME:\"Nickname\",NEW_PASSWORD:\"New password\",OR:\"or\",PASSWORD:\"Password\",PHONE_NUMBER:\"Phone Number\",PREFERRED_USERNAME:\"Preferred Username\",PROFILE:\"Profile\",RESEND_CODE:\"Resend Code\",RESET_PASSWORD_HEADING:\"Reset your password\",RESET_PASSWORD:\"Reset Password\",SEND_CODE:\"Send code\",SENDING:\"Sending\",SETUP_TOTP:\"Setup TOTP\",SHOW_PASSWORD:\"Show password\",SIGN_IN_BUTTON:\"Sign in\",SIGN_IN_TAB:\"Sign In\",SIGN_IN_WITH_AMAZON:\"Sign In with Amazon\",SIGN_IN_WITH_APPLE:\"Sign In with Apple\",SIGN_IN_WITH_FACEBOOK:\"Sign In with Facebook\",SIGN_IN_WITH_GOOGLE:\"Sign In with Google\",SIGN_IN:\"Sign in to your account\",SIGN_UP_BUTTON:\"Create a new account\",SIGNING_IN_BUTTON:\"Signing in\",SKIP:\"Skip\",SUBMIT:\"Submit\",SUBMITTING:\"Submitting\",UPPERCASE_COPY:\"COPY\",VERIFY_CONTACT:\"Verify Contact\",VERIFY_HEADING:\"Account recovery requires verified contact information\",VERIFY:\"Verify\",WE_EMAILED:\"We Emailed You\",WE_SENT_CODE:\"We Sent A Code\",WE_TEXTED:\"We Texted You\",WEBSITE:\"Website\"};export{E as defaultTexts};\n","import{I18n as t}from\"aws-amplify\";import{defaultTexts as r,deDict as n,enDict as e,esDict as i,frDict as o,idDict as s,itDict as a,jaDict as c,krDict as f,nlDict as m,plDict as p,ptDict as u,zhDict as d,svDict as g,trDict as j,ruDict as l,heDict as h,uaDict as k}from\"./dictionaries/index.mjs\";const x=Object.assign({},r);function b(r){return t.get(r)}function v(r){return t.get(r)!==r}const w={de:n,en:e,es:i,fr:o,id:s,it:a,ja:c,kr:f,ko:f,nl:m,pl:p,pt:u,zh:d,sv:g,tr:j,ru:l,he:h,ua:k};export{x as DefaultTexts,v as hasTranslation,b as translate,w as translations};\n","import\"../../../types/authenticator/user.mjs\";import{isAuthFieldsWithDefaults as s}from\"../../../types/authenticator/attributes.mjs\";import\"../../../types/primitives/componentClassName.mjs\";import{getActorContext as t}from\"../actor.mjs\";import{defaultFormFieldOptions as e}from\"../constants.mjs\";import{defaultFormFieldsGetters as r,getAliasDefaultFormField as n}from\"./defaults.mjs\";import{applyTranslation as i,sortFormFields as o}from\"./util.mjs\";const a=(s,t)=>(0,r[s])(t),c=(r,i)=>{var o,a;const c=null===(a=null===(o=t(i))||void 0===o?void 0:o.formFields)||void 0===a?void 0:a[r];return c&&0!==Object.keys(c).length?Object.entries(c).reduce(((t,[o,a])=>{if(\"signIn\"!==r&&\"resetPassword\"!==r||\"username\"!==o){if(s(o)){const s=e[o],r=Object.assign(Object.assign({},s),a);return Object.assign(Object.assign({},t),{[o]:r})}return Object.assign(Object.assign({},t),{[o]:a})}{const s=n(i),e=Object.assign(Object.assign({},s),a);return Object.assign(Object.assign({},t),{[o]:e})}}),{}):{}},m=(s,t)=>{const e=a(s,t),r=c(s,t),n=Object.assign(Object.assign({},e),r);return delete n.QR,i(n)},j=s=>s.map((s=>[s[0],Object.assign(Object.assign({},s[1]),{order:void 0})])),b=(s,t)=>{const e=m(s,t);return j(o(e))};export{c as getCustomFormFields,a as getDefaultFormFields,m as getFormFields,b as getSortedFormFields,j as removeOrderKeys};\n","import{translate as e}from\"../../../i18n/translations.mjs\";const r=r=>{const o=Object.assign({},r);for(const[t,s]of Object.entries(r)){const{label:r,placeholder:n}=s;o[t]=Object.assign(Object.assign({},s),{label:r?e(r):void 0,placeholder:n?e(n):void 0})}return o},o=e=>Object.entries(e).sort(((e,r)=>(e[1].order||Number.MAX_VALUE)-(r[1].order||Number.MAX_VALUE))).filter((e=>void 0!==e[1]));export{r as applyTranslation,o as sortFormFields};\n","const COMPONENT_ROUTE_KEYS = [\n 'confirmResetPassword',\n 'confirmSignIn',\n 'confirmSignUp',\n 'confirmVerifyUser',\n 'forceNewPassword',\n 'resetPassword',\n 'setupTOTP',\n 'signIn',\n 'signUp',\n 'verifyUser',\n];\nconst COMPONENT_ROUTE_NAMES = [\n 'ConfirmResetPassword',\n 'ConfirmSignIn',\n 'ConfirmSignUp',\n 'ConfirmVerifyUser',\n 'ForceNewPassword',\n 'ResetPassword',\n 'SetupTOTP',\n 'SignIn',\n 'SignUp',\n 'VerifyUser',\n];\n\nexport { COMPONENT_ROUTE_KEYS, COMPONENT_ROUTE_NAMES };\n","import { __awaiter } from '../../../node_modules/tslib/tslib.es6.mjs';\nimport { Auth } from 'aws-amplify';\nimport { getActorContext, getSortedFormFields, isString, areEmptyArrays, areEmptyObjects } from '@aws-amplify/ui';\nimport { isComponentRouteKey } from '../utils.mjs';\n\nconst defaultComparator = () => false;\n/**\n * Does an ordering and shallow comparison of each array value,\n * plus a value equality check for empty objects and arrays.\n */\nfunction areSelectorDepsEqual(currentDeps, nextDeps) {\n if (currentDeps.length !== nextDeps.length) {\n return false;\n }\n return currentDeps.every((currentDep, index) => {\n const nextDep = nextDeps[index];\n if (areEmptyArrays(currentDep, nextDep) ||\n areEmptyObjects(currentDep, nextDep)) {\n return true;\n }\n return currentDep === nextDep;\n });\n}\nconst getComparator = (selector) => (currentFacade, nextFacade) => {\n const currentSelectorDeps = selector(currentFacade);\n const nextSelectorDeps = selector(nextFacade);\n // Shallow compare the array values\n return areSelectorDepsEqual(currentSelectorDeps, nextSelectorDeps);\n};\nconst getQRFields = (state) => {\n var _a, _b, _c;\n return (Object.assign({}, (_c = (_b = (_a = getActorContext(state)) === null || _a === void 0 ? void 0 : _a.formFields) === null || _b === void 0 ? void 0 : _b.setupTOTP) === null || _c === void 0 ? void 0 : _c.QR));\n};\nconst getTotpSecretCodeCallback = (user) => function getTotpSecretCode() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Auth.setupTOTP(user);\n });\n};\nconst flattenFormFields = (fields) => fields.flatMap(([name, options]) => (Object.assign({ name }, options)));\nconst convertContactMethodsToFields = (unverifiedContactMethods) => {\n return (unverifiedContactMethods &&\n Object.entries(unverifiedContactMethods).map(([name, value]) => {\n const valueIsString = isString(value);\n if (!valueIsString || !name) {\n return {};\n }\n return { name, label: value, type: 'radio', value };\n }));\n};\n/**\n * Retrieves default and custom (RWA only, to be updated) form field values from state machine\n * for subcomponent routes that render fields\n */\nconst getMachineFields = (route, state, unverifiedContactMethods) => {\n if (isComponentRouteKey(route)) {\n return route === 'verifyUser'\n ? convertContactMethodsToFields(unverifiedContactMethods)\n : flattenFormFields(getSortedFormFields(route, state));\n }\n return [];\n};\n\nexport { areSelectorDepsEqual, defaultComparator, getComparator, getMachineFields, getQRFields, getTotpSecretCodeCallback };\n","import { COMPONENT_ROUTE_KEYS, COMPONENT_ROUTE_NAMES } from './constants.mjs';\n\nconst isComponentRouteKey = (route) => COMPONENT_ROUTE_KEYS.some((componentRoute) => componentRoute === route);\nfunction resolveAuthenticatorComponents(defaults, overrides) {\n if (!overrides) {\n return defaults;\n }\n return COMPONENT_ROUTE_NAMES.reduce((components, route) => {\n const Default = defaults[route];\n const Override = overrides[route];\n if (typeof Override !== 'function') {\n return Object.assign(Object.assign({}, components), { [route]: Default });\n }\n const { Footer, FormFields, Header } = Default;\n // cast to allow assigning of component slots\n const Component = Override;\n Component.Footer = Footer;\n Component.FormFields = FormFields;\n Component.Header = Header;\n return Object.assign(Object.assign({}, components), { [route]: Component });\n }, {});\n}\n\nexport { isComponentRouteKey, resolveAuthenticatorComponents };\n","import { __rest } from '../../../node_modules/tslib/tslib.es6.mjs';\nimport React, { useCallback } from 'react';\nimport { useSelector } from '@xstate/react';\nimport { getServiceFacade } from '@aws-amplify/ui';\nimport { AuthenticatorContext } from '../../context/AuthenticatorContext.mjs';\nimport { USE_AUTHENTICATOR_ERROR } from './constants.mjs';\nimport { getQRFields, getMachineFields, getTotpSecretCodeCallback, getComparator, defaultComparator } from './utils.mjs';\n\n/**\n * [📖 Docs](https://ui.docs.amplify.aws/react/connected-components/authenticator/headless#useauthenticator-hook)\n */\nfunction useAuthenticator(selector) {\n const context = React.useContext(AuthenticatorContext);\n if (!context) {\n throw new Error(USE_AUTHENTICATOR_ERROR);\n }\n const { service } = context;\n const { send } = service;\n const xstateSelector = useCallback((state) => (Object.assign({}, getServiceFacade({ send, state }))), [send]);\n const comparator = selector ? getComparator(selector) : defaultComparator;\n const facade = useSelector(service, xstateSelector, comparator);\n const { route, totpSecretCode, unverifiedContactMethods, user } = facade, rest = __rest(facade, [\"route\", \"totpSecretCode\", \"unverifiedContactMethods\", \"user\"]);\n // do not memoize output. `service.getSnapshot` reference remains stable preventing\n // `fields` from updating with current form state on value changes\n const serviceSnapshot = service.getSnapshot();\n // legacy `QRFields` values only used for SetupTOTP page to retrieve issuer information, will be removed in future\n const QRFields = route === 'setupTOTP' ? getQRFields(serviceSnapshot) : null;\n // legacy `formFields` values required until form state is removed from state machine\n const fields = getMachineFields(route, serviceSnapshot, unverifiedContactMethods);\n return Object.assign(Object.assign({}, rest), { route,\n totpSecretCode,\n unverifiedContactMethods,\n user,\n /** @deprecated For internal use only */\n fields, getTotpSecretCode: getTotpSecretCodeCallback(user), QRFields });\n}\n\nexport { useAuthenticator as default };\n","import{__awaiter as t}from\"tslib\";import{Hub as e}from\"aws-amplify\";import{appendToCognitoUserAgent as a}from\"@aws-amplify/auth\";import{waitFor as n}from\"xstate/lib/waitFor.js\";import{ALLOWED_SPECIAL_CHARACTERS as i}from\"./constants.mjs\";import{getActorState as o}from\"./actor.mjs\";const s=({packageName:t,version:e})=>{a(`${t}/${e}`)},r=t=>{const e=t.trim().split(\"\");for(let t=0;t<e.length;t++)t>0&&t<e.length-1&&(e[t]=\"*\");return e.join(\"\")},c=t=>{if(t.length<4)return t;const e=t.split(\"\");for(let t=0;t<e.length-4;t++)e[t]=\"*\";return e.join(\"\")},l=e=>t(void 0,void 0,void 0,(function*(){try{yield n(e,(t=>o(t).matches(\"autoSignIn\")))}catch(t){}})),d=(e,a)=>t(void 0,void 0,void 0,(function*(){const{send:t}=a,n=a.getSnapshot();switch(e.payload.event){case\"tokenRefresh\":n.matches(\"authenticated.idle\")&&t(\"TOKEN_REFRESH\");break;case\"autoSignIn\":if(!n.matches(\"authenticated\")){yield l(a);const n=o(a.getSnapshot());(null==n?void 0:n.matches(\"autoSignIn\"))&&t({type:\"AUTO_SIGN_IN\",data:e.payload.data})}break;case\"autoSignIn_failure\":{yield l(a);const n=o(a.getSnapshot());(null==n?void 0:n.matches(\"autoSignIn\"))&&t({type:\"AUTO_SIGN_IN_FAILURE\",data:e.payload.data});break}case\"signOut\":case\"tokenRefresh_failure\":n.matches(\"authenticated.idle\")&&t(\"SIGN_OUT\")}})),u=(t,a=d)=>e.listen(\"auth\",((t,e)=>a=>{e(a,t)})(t,a),\"authenticator-hub-handler\"),h=t=>i.some((e=>t.includes(e))),m=(t,e,a)=>encodeURI(`otpauth://totp/${t}:${e}?secret=${a}&issuer=${t}`);function p(t,...e){return Object.entries(t).reduce(((t,[a,n])=>Object.assign(Object.assign({},t),{[a]:e.includes(a)?n:null==n?void 0:n.trim()})),{})}export{r as censorAllButFirstAndLast,c as censorPhoneNumber,s as configureComponent,d as defaultAuthHubHandler,m as getTotpCodeURL,h as hasSpecialChars,u as listenToAuthHub,p as trimValues};\n","import React from 'react';\nimport useAuthenticator from '../useAuthenticator/useAuthenticator.mjs';\n\n// only select `route` from machine context\nconst routeSelector = ({ route }) => [route];\nfunction useAuthenticatorInitMachine(data) {\n const { route, initializeMachine } = useAuthenticator(routeSelector);\n const hasInitialized = React.useRef(false);\n React.useEffect(() => {\n if (!hasInitialized.current && route === 'setup') {\n initializeMachine(data);\n hasInitialized.current = true;\n }\n }, [initializeMachine, route, data]);\n}\n\nexport { useAuthenticatorInitMachine as default, routeSelector };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nexport { __assign, __read, __rest, __spreadArray, __values };\n","var ActionTypes;\n\n(function (ActionTypes) {\n ActionTypes[\"Start\"] = \"xstate.start\";\n ActionTypes[\"Stop\"] = \"xstate.stop\";\n ActionTypes[\"Raise\"] = \"xstate.raise\";\n ActionTypes[\"Send\"] = \"xstate.send\";\n ActionTypes[\"Cancel\"] = \"xstate.cancel\";\n ActionTypes[\"NullEvent\"] = \"\";\n ActionTypes[\"Assign\"] = \"xstate.assign\";\n ActionTypes[\"After\"] = \"xstate.after\";\n ActionTypes[\"DoneState\"] = \"done.state\";\n ActionTypes[\"DoneInvoke\"] = \"done.invoke\";\n ActionTypes[\"Log\"] = \"xstate.log\";\n ActionTypes[\"Init\"] = \"xstate.init\";\n ActionTypes[\"Invoke\"] = \"xstate.invoke\";\n ActionTypes[\"ErrorExecution\"] = \"error.execution\";\n ActionTypes[\"ErrorCommunication\"] = \"error.communication\";\n ActionTypes[\"ErrorPlatform\"] = \"error.platform\";\n ActionTypes[\"ErrorCustom\"] = \"xstate.error\";\n ActionTypes[\"Update\"] = \"xstate.update\";\n ActionTypes[\"Pure\"] = \"xstate.pure\";\n ActionTypes[\"Choose\"] = \"xstate.choose\";\n})(ActionTypes || (ActionTypes = {}));\n\nvar SpecialTargets;\n\n(function (SpecialTargets) {\n SpecialTargets[\"Parent\"] = \"#_parent\";\n SpecialTargets[\"Internal\"] = \"#_internal\";\n})(SpecialTargets || (SpecialTargets = {}));\n\nexport { ActionTypes, SpecialTargets };\n","var STATE_DELIMITER = '.';\nvar EMPTY_ACTIVITY_MAP = {};\nvar DEFAULT_GUARD_TYPE = 'xstate.guard';\nvar TARGETLESS_KEY = '';\n\nexport { DEFAULT_GUARD_TYPE, EMPTY_ACTIVITY_MAP, STATE_DELIMITER, TARGETLESS_KEY };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets } from './types.js';\nimport { raise, send } from './actionTypes.js';\nimport { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar _a;\nfunction keys(value) {\n return Object.keys(value);\n}\nfunction matchesState(parentStateId, childStateId, delimiter) {\n if (delimiter === void 0) {\n delimiter = STATE_DELIMITER;\n }\n\n var parentStateValue = toStateValue(parentStateId, delimiter);\n var childStateValue = toStateValue(childStateId, delimiter);\n\n if (isString(childStateValue)) {\n if (isString(parentStateValue)) {\n return childStateValue === parentStateValue;\n } // Parent more specific than child\n\n\n return false;\n }\n\n if (isString(parentStateValue)) {\n return parentStateValue in childStateValue;\n }\n\n return Object.keys(parentStateValue).every(function (key) {\n if (!(key in childStateValue)) {\n return false;\n }\n\n return matchesState(parentStateValue[key], childStateValue[key]);\n });\n}\nfunction getEventType(event) {\n try {\n return isString(event) || typeof event === 'number' ? \"\".concat(event) : event.type;\n } catch (e) {\n throw new Error('Events must be strings or objects with a string event.type property.');\n }\n}\nfunction getActionType(action) {\n try {\n return isString(action) || typeof action === 'number' ? \"\".concat(action) : isFunction(action) ? action.name : action.type;\n } catch (e) {\n throw new Error('Actions must be strings or objects with a string action.type property.');\n }\n}\nfunction toStatePath(stateId, delimiter) {\n try {\n if (isArray(stateId)) {\n return stateId;\n }\n\n return stateId.toString().split(delimiter);\n } catch (e) {\n throw new Error(\"'\".concat(stateId, \"' is not a valid state path.\"));\n }\n}\nfunction isStateLike(state) {\n return typeof state === 'object' && 'value' in state && 'context' in state && 'event' in state && '_event' in state;\n}\nfunction toStateValue(stateValue, delimiter) {\n if (isStateLike(stateValue)) {\n return stateValue.value;\n }\n\n if (isArray(stateValue)) {\n return pathToStateValue(stateValue);\n }\n\n if (typeof stateValue !== 'string') {\n return stateValue;\n }\n\n var statePath = toStatePath(stateValue, delimiter);\n return pathToStateValue(statePath);\n}\nfunction pathToStateValue(statePath) {\n if (statePath.length === 1) {\n return statePath[0];\n }\n\n var value = {};\n var marker = value;\n\n for (var i = 0; i < statePath.length - 1; i++) {\n if (i === statePath.length - 2) {\n marker[statePath[i]] = statePath[i + 1];\n } else {\n marker[statePath[i]] = {};\n marker = marker[statePath[i]];\n }\n }\n\n return value;\n}\nfunction mapValues(collection, iteratee) {\n var result = {};\n var collectionKeys = Object.keys(collection);\n\n for (var i = 0; i < collectionKeys.length; i++) {\n var key = collectionKeys[i];\n result[key] = iteratee(collection[key], key, collection, i);\n }\n\n return result;\n}\nfunction mapFilterValues(collection, iteratee, predicate) {\n var e_1, _a;\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var item = collection[key];\n\n if (!predicate(item)) {\n continue;\n }\n\n result[key] = iteratee(item, key, collection);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return result;\n}\n/**\r\n * Retrieves a value at the given path.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nvar path = function (props) {\n return function (object) {\n var e_2, _a;\n\n var result = object;\n\n try {\n for (var props_1 = __values(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {\n var prop = props_1_1.value;\n result = result[prop];\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n return result;\n };\n};\n/**\r\n * Retrieves a value at the given path via the nested accessor prop.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nfunction nestedPath(props, accessorProp) {\n return function (object) {\n var e_3, _a;\n\n var result = object;\n\n try {\n for (var props_2 = __values(props), props_2_1 = props_2.next(); !props_2_1.done; props_2_1 = props_2.next()) {\n var prop = props_2_1.value;\n result = result[accessorProp][prop];\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (props_2_1 && !props_2_1.done && (_a = props_2.return)) _a.call(props_2);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n return result;\n };\n}\nfunction toStatePaths(stateValue) {\n if (!stateValue) {\n return [[]];\n }\n\n if (isString(stateValue)) {\n return [[stateValue]];\n }\n\n var result = flatten(Object.keys(stateValue).map(function (key) {\n var subStateValue = stateValue[key];\n\n if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {\n return [[key]];\n }\n\n return toStatePaths(stateValue[key]).map(function (subPath) {\n return [key].concat(subPath);\n });\n }));\n return result;\n}\nfunction pathsToStateValue(paths) {\n var e_4, _a;\n\n var result = {};\n\n if (paths && paths.length === 1 && paths[0].length === 1) {\n return paths[0][0];\n }\n\n try {\n for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {\n var currentPath = paths_1_1.value;\n var marker = result; // tslint:disable-next-line:prefer-for-of\n\n for (var i = 0; i < currentPath.length; i++) {\n var subPath = currentPath[i];\n\n if (i === currentPath.length - 2) {\n marker[subPath] = currentPath[i + 1];\n break;\n }\n\n marker[subPath] = marker[subPath] || {};\n marker = marker[subPath];\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return result;\n}\nfunction flatten(array) {\n var _a;\n\n return (_a = []).concat.apply(_a, __spreadArray([], __read(array), false));\n}\nfunction toArrayStrict(value) {\n if (isArray(value)) {\n return value;\n }\n\n return [value];\n}\nfunction toArray(value) {\n if (value === undefined) {\n return [];\n }\n\n return toArrayStrict(value);\n}\nfunction mapContext(mapper, context, _event) {\n var e_5, _a;\n\n if (isFunction(mapper)) {\n return mapper(context, _event.data);\n }\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(mapper)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var subMapper = mapper[key];\n\n if (isFunction(subMapper)) {\n result[key] = subMapper(context, _event.data);\n } else {\n result[key] = subMapper;\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return result;\n}\nfunction isBuiltInEvent(eventType) {\n return /^(done|error)\\./.test(eventType);\n}\nfunction isPromiseLike(value) {\n if (value instanceof Promise) {\n return true;\n } // Check if shape matches the Promise/A+ specification for a \"thenable\".\n\n\n if (value !== null && (isFunction(value) || typeof value === 'object') && isFunction(value.then)) {\n return true;\n }\n\n return false;\n}\nfunction isBehavior(value) {\n return value !== null && typeof value === 'object' && 'transition' in value && typeof value.transition === 'function';\n}\nfunction partition(items, predicate) {\n var e_6, _a;\n\n var _b = __read([[], []], 2),\n truthy = _b[0],\n falsy = _b[1];\n\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n\n if (predicate(item)) {\n truthy.push(item);\n } else {\n falsy.push(item);\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n return [truthy, falsy];\n}\nfunction updateHistoryStates(hist, stateValue) {\n return mapValues(hist.states, function (subHist, key) {\n if (!subHist) {\n return undefined;\n }\n\n var subStateValue = (isString(stateValue) ? undefined : stateValue[key]) || (subHist ? subHist.current : undefined);\n\n if (!subStateValue) {\n return undefined;\n }\n\n return {\n current: subStateValue,\n states: updateHistoryStates(subHist, subStateValue)\n };\n });\n}\nfunction updateHistoryValue(hist, stateValue) {\n return {\n current: stateValue,\n states: updateHistoryStates(hist, stateValue)\n };\n}\nfunction updateContext(context, _event, assignActions, state) {\n if (!IS_PRODUCTION) {\n warn(!!context, 'Attempting to update undefined context');\n }\n\n var updatedContext = context ? assignActions.reduce(function (acc, assignAction) {\n var e_7, _a;\n\n var assignment = assignAction.assignment;\n var meta = {\n state: state,\n action: assignAction,\n _event: _event\n };\n var partialUpdate = {};\n\n if (isFunction(assignment)) {\n partialUpdate = assignment(acc, _event.data, meta);\n } else {\n try {\n for (var _b = __values(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var propAssignment = assignment[key];\n partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n\n return Object.assign({}, acc, partialUpdate);\n }, context) : context;\n return updatedContext;\n} // tslint:disable-next-line:no-empty\n\nvar warn = function () {};\n\nif (!IS_PRODUCTION) {\n warn = function (condition, message) {\n var error = condition instanceof Error ? condition : undefined;\n\n if (!error && condition) {\n return;\n }\n\n if (console !== undefined) {\n var args = [\"Warning: \".concat(message)];\n\n if (error) {\n args.push(error);\n } // tslint:disable-next-line:no-console\n\n\n console.warn.apply(console, args);\n }\n };\n}\nfunction isArray(value) {\n return Array.isArray(value);\n} // tslint:disable-next-line:ban-types\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction toGuard(condition, guardMap) {\n if (!condition) {\n return undefined;\n }\n\n if (isString(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition,\n predicate: guardMap ? guardMap[condition] : undefined\n };\n }\n\n if (isFunction(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition.name,\n predicate: condition\n };\n }\n\n return condition;\n}\nfunction isObservable(value) {\n try {\n return 'subscribe' in value && isFunction(value.subscribe);\n } catch (e) {\n return false;\n }\n}\nvar symbolObservable = /*#__PURE__*/function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages\n\nvar interopSymbols = (_a = {}, _a[symbolObservable] = function () {\n return this;\n}, _a[Symbol.observable] = function () {\n return this;\n}, _a);\nfunction isMachine(value) {\n return !!value && '__xstatenode' in value;\n}\nfunction isActor(value) {\n return !!value && typeof value.send === 'function';\n}\nvar uniqueId = /*#__PURE__*/function () {\n var currentId = 0;\n return function () {\n currentId++;\n return currentId.toString(16);\n };\n}();\nfunction toEventObject(event, payload // id?: TEvent['type']\n) {\n if (isString(event) || typeof event === 'number') {\n return __assign({\n type: event\n }, payload);\n }\n\n return event;\n}\nfunction toSCXMLEvent(event, scxmlEvent) {\n if (!isString(event) && '$$type' in event && event.$$type === 'scxml') {\n return event;\n }\n\n var eventObject = toEventObject(event);\n return __assign({\n name: eventObject.type,\n data: eventObject,\n $$type: 'scxml',\n type: 'external'\n }, scxmlEvent);\n}\nfunction toTransitionConfigArray(event, configLike) {\n var transitions = toArrayStrict(configLike).map(function (transitionLike) {\n if (typeof transitionLike === 'undefined' || typeof transitionLike === 'string' || isMachine(transitionLike)) {\n return {\n target: transitionLike,\n event: event\n };\n }\n\n return __assign(__assign({}, transitionLike), {\n event: event\n });\n });\n return transitions;\n}\nfunction normalizeTarget(target) {\n if (target === undefined || target === TARGETLESS_KEY) {\n return undefined;\n }\n\n return toArray(target);\n}\nfunction reportUnhandledExceptionOnInvocation(originalError, currentError, id) {\n if (!IS_PRODUCTION) {\n var originalStackTrace = originalError.stack ? \" Stacktrace was '\".concat(originalError.stack, \"'\") : '';\n\n if (originalError === currentError) {\n // tslint:disable-next-line:no-console\n console.error(\"Missing onError handler for invocation '\".concat(id, \"', error was '\").concat(originalError, \"'.\").concat(originalStackTrace));\n } else {\n var stackTrace = currentError.stack ? \" Stacktrace was '\".concat(currentError.stack, \"'\") : ''; // tslint:disable-next-line:no-console\n\n console.error(\"Missing onError handler and/or unhandled exception/promise rejection for invocation '\".concat(id, \"'. \") + \"Original error: '\".concat(originalError, \"'. \").concat(originalStackTrace, \" Current error is '\").concat(currentError, \"'.\").concat(stackTrace));\n }\n }\n}\nfunction evaluateGuard(machine, guard, context, _event, state) {\n var guards = machine.options.guards;\n var guardMeta = {\n state: state,\n cond: guard,\n _event: _event\n }; // TODO: do not hardcode!\n\n if (guard.type === DEFAULT_GUARD_TYPE) {\n return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);\n }\n\n var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];\n\n if (!condFn) {\n throw new Error(\"Guard '\".concat(guard.type, \"' is not implemented on machine '\").concat(machine.id, \"'.\"));\n }\n\n return condFn(context, _event.data, guardMeta);\n}\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n return {\n type: src\n };\n }\n\n return src;\n}\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n var noop = function () {};\n\n var isObserver = typeof nextHandler === 'object';\n var self = isObserver ? nextHandler : null;\n return {\n next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),\n error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),\n complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)\n };\n}\nfunction createInvokeId(stateNodeId, index) {\n return \"\".concat(stateNodeId, \":invocation[\").concat(index, \"]\");\n}\nfunction isRaisableAction(action) {\n return (action.type === raise || action.type === send && action.to === SpecialTargets.Internal) && typeof action.delay !== 'number';\n}\n\nexport { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isRaisableAction, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };\n","import { ActionTypes } from './types.js';\n\nvar start = ActionTypes.Start;\nvar stop = ActionTypes.Stop;\nvar raise = ActionTypes.Raise;\nvar send = ActionTypes.Send;\nvar cancel = ActionTypes.Cancel;\nvar nullEvent = ActionTypes.NullEvent;\nvar assign = ActionTypes.Assign;\nvar after = ActionTypes.After;\nvar doneState = ActionTypes.DoneState;\nvar log = ActionTypes.Log;\nvar init = ActionTypes.Init;\nvar invoke = ActionTypes.Invoke;\nvar errorExecution = ActionTypes.ErrorExecution;\nvar errorPlatform = ActionTypes.ErrorPlatform;\nvar error = ActionTypes.ErrorCustom;\nvar update = ActionTypes.Update;\nvar choose = ActionTypes.Choose;\nvar pure = ActionTypes.Pure;\n\nexport { after, assign, cancel, choose, doneState, error, errorExecution, errorPlatform, init, invoke, log, nullEvent, pure, raise, send, start, stop, update };\n","var IS_PRODUCTION = process.env.NODE_ENV === 'production';\n\nexport { IS_PRODUCTION };\n","import { __values, __spreadArray, __read } from './_virtual/_tslib.js';\nimport { flatten } from './utils.js';\n\nvar isLeafNode = function (stateNode) {\n return stateNode.type === 'atomic' || stateNode.type === 'final';\n};\nfunction getAllChildren(stateNode) {\n return Object.keys(stateNode.states).map(function (key) {\n return stateNode.states[key];\n });\n}\nfunction getChildren(stateNode) {\n return getAllChildren(stateNode).filter(function (sn) {\n return sn.type !== 'history';\n });\n}\nfunction getAllStateNodes(stateNode) {\n var stateNodes = [stateNode];\n\n if (isLeafNode(stateNode)) {\n return stateNodes;\n }\n\n return stateNodes.concat(flatten(getChildren(stateNode).map(getAllStateNodes)));\n}\nfunction getConfiguration(prevStateNodes, stateNodes) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n\n var prevConfiguration = new Set(prevStateNodes);\n var prevAdjList = getAdjList(prevConfiguration);\n var configuration = new Set(stateNodes);\n\n try {\n // add all ancestors\n for (var configuration_1 = __values(configuration), configuration_1_1 = configuration_1.next(); !configuration_1_1.done; configuration_1_1 = configuration_1.next()) {\n var s = configuration_1_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (configuration_1_1 && !configuration_1_1.done && (_a = configuration_1.return)) _a.call(configuration_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n var adjList = getAdjList(configuration);\n\n try {\n // add descendants\n for (var configuration_2 = __values(configuration), configuration_2_1 = configuration_2.next(); !configuration_2_1.done; configuration_2_1 = configuration_2.next()) {\n var s = configuration_2_1.value; // if previously active, add existing child nodes\n\n if (s.type === 'compound' && (!adjList.get(s) || !adjList.get(s).length)) {\n if (prevAdjList.get(s)) {\n prevAdjList.get(s).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n s.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n } else {\n if (s.type === 'parallel') {\n try {\n for (var _e = (e_3 = void 0, __values(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var child = _f.value;\n\n if (!configuration.has(child)) {\n configuration.add(child);\n\n if (prevAdjList.get(child)) {\n prevAdjList.get(child).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n child.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_c = _e.return)) _c.call(_e);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n }\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (configuration_2_1 && !configuration_2_1.done && (_b = configuration_2.return)) _b.call(configuration_2);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n try {\n // add all ancestors\n for (var configuration_3 = __values(configuration), configuration_3_1 = configuration_3.next(); !configuration_3_1.done; configuration_3_1 = configuration_3.next()) {\n var s = configuration_3_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (configuration_3_1 && !configuration_3_1.done && (_d = configuration_3.return)) _d.call(configuration_3);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return configuration;\n}\n\nfunction getValueFromAdj(baseNode, adjList) {\n var childStateNodes = adjList.get(baseNode);\n\n if (!childStateNodes) {\n return {}; // todo: fix?\n }\n\n if (baseNode.type === 'compound') {\n var childStateNode = childStateNodes[0];\n\n if (childStateNode) {\n if (isLeafNode(childStateNode)) {\n return childStateNode.key;\n }\n } else {\n return {};\n }\n }\n\n var stateValue = {};\n childStateNodes.forEach(function (csn) {\n stateValue[csn.key] = getValueFromAdj(csn, adjList);\n });\n return stateValue;\n}\n\nfunction getAdjList(configuration) {\n var e_5, _a;\n\n var adjList = new Map();\n\n try {\n for (var configuration_4 = __values(configuration), configuration_4_1 = configuration_4.next(); !configuration_4_1.done; configuration_4_1 = configuration_4.next()) {\n var s = configuration_4_1.value;\n\n if (!adjList.has(s)) {\n adjList.set(s, []);\n }\n\n if (s.parent) {\n if (!adjList.has(s.parent)) {\n adjList.set(s.parent, []);\n }\n\n adjList.get(s.parent).push(s);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (configuration_4_1 && !configuration_4_1.done && (_a = configuration_4.return)) _a.call(configuration_4);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return adjList;\n}\nfunction getValue(rootNode, configuration) {\n var config = getConfiguration([rootNode], configuration);\n return getValueFromAdj(rootNode, getAdjList(config));\n}\nfunction has(iterable, item) {\n if (Array.isArray(iterable)) {\n return iterable.some(function (member) {\n return member === item;\n });\n }\n\n if (iterable instanceof Set) {\n return iterable.has(item);\n }\n\n return false; // TODO: fix\n}\nfunction nextEvents(configuration) {\n return __spreadArray([], __read(new Set(flatten(__spreadArray([], __read(configuration.map(function (sn) {\n return sn.ownEvents;\n })), false)))), false);\n}\nfunction isInFinalState(configuration, stateNode) {\n if (stateNode.type === 'compound') {\n return getChildren(stateNode).some(function (s) {\n return s.type === 'final' && has(configuration, s);\n });\n }\n\n if (stateNode.type === 'parallel') {\n return getChildren(stateNode).every(function (sn) {\n return isInFinalState(configuration, sn);\n });\n }\n\n return false;\n}\nfunction getMeta(configuration) {\n if (configuration === void 0) {\n configuration = [];\n }\n\n return configuration.reduce(function (acc, stateNode) {\n if (stateNode.meta !== undefined) {\n acc[stateNode.id] = stateNode.meta;\n }\n\n return acc;\n }, {});\n}\nfunction getTagsFromConfiguration(configuration) {\n return new Set(flatten(configuration.map(function (sn) {\n return sn.tags;\n })));\n}\n\nexport { getAdjList, getAllChildren, getAllStateNodes, getChildren, getConfiguration, getMeta, getTagsFromConfiguration, getValue, has, isInFinalState, isLeafNode, nextEvents };\n","import { __assign, __spreadArray, __read, __values } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { init, raise as raise$1, send as send$1, update, log as log$1, cancel as cancel$1, assign as assign$1, error as error$1, stop as stop$1, pure as pure$1, choose as choose$1 } from './actionTypes.js';\nimport * as actionTypes from './actionTypes.js';\nexport { actionTypes };\nimport { toSCXMLEvent, isString, isFunction, toEventObject, getEventType, updateContext, flatten, isArray, toArray, toGuard, evaluateGuard, warn } from './utils.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar initEvent = /*#__PURE__*/toSCXMLEvent({\n type: init\n});\nfunction getActionFunction(actionType, actionFunctionMap) {\n return actionFunctionMap ? actionFunctionMap[actionType] || undefined : undefined;\n}\nfunction toActionObject(action, actionFunctionMap) {\n var actionObject;\n\n if (isString(action) || typeof action === 'number') {\n var exec = getActionFunction(action, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = {\n type: action,\n exec: exec\n };\n } else if (exec) {\n actionObject = exec;\n } else {\n actionObject = {\n type: action,\n exec: undefined\n };\n }\n } else if (isFunction(action)) {\n actionObject = {\n // Convert action to string if unnamed\n type: action.name || action.toString(),\n exec: action\n };\n } else {\n var exec = getActionFunction(action.type, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = __assign(__assign({}, action), {\n exec: exec\n });\n } else if (exec) {\n var actionType = exec.type || action.type;\n actionObject = __assign(__assign(__assign({}, exec), action), {\n type: actionType\n });\n } else {\n actionObject = action;\n }\n }\n\n return actionObject;\n}\nvar toActionObjects = function (action, actionFunctionMap) {\n if (!action) {\n return [];\n }\n\n var actions = isArray(action) ? action : [action];\n return actions.map(function (subAction) {\n return toActionObject(subAction, actionFunctionMap);\n });\n};\nfunction toActivityDefinition(action) {\n var actionObject = toActionObject(action);\n return __assign(__assign({\n id: isString(action) ? action : actionObject.id\n }, actionObject), {\n type: actionObject.type\n });\n}\n/**\r\n * Raises an event. This places the event in the internal event queue, so that\r\n * the event is immediately consumed by the machine in the current step.\r\n *\r\n * @param eventType The event to raise.\r\n */\n\nfunction raise(event, options) {\n return {\n type: raise$1,\n event: typeof event === 'function' ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n id: options === null || options === void 0 ? void 0 : options.id\n };\n}\nfunction resolveRaise(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n };\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n return __assign(__assign({}, action), {\n type: raise$1,\n _event: resolvedEvent,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event. This returns an action that will be read by an interpreter to\r\n * send the event in the next step, after the current step is finished executing.\r\n *\r\n * @deprecated Use the `sendTo(...)` action creator instead.\r\n *\r\n * @param event The event to send.\r\n * @param options Options to pass into the send event:\r\n * - `id` - The unique send event identifier (used with `cancel()`).\r\n * - `delay` - The number of milliseconds to delay the sending of the event.\r\n * - `to` - The target of this event (by default, the machine the event was sent from).\r\n */\n\nfunction send(event, options) {\n return {\n to: options ? options.to : undefined,\n type: send$1,\n event: isFunction(event) ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n // TODO: don't auto-generate IDs here like that\n // there is too big chance of the ID collision\n id: options && options.id !== undefined ? options.id : isFunction(event) ? event.name : getEventType(event)\n };\n}\nfunction resolveSend(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n }; // TODO: helper function for resolving Expr\n\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n var resolvedTarget = isFunction(action.to) ? action.to(ctx, _event.data, meta) : action.to;\n return __assign(__assign({}, action), {\n to: resolvedTarget,\n _event: resolvedEvent,\n event: resolvedEvent.data,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event to this machine's parent.\r\n *\r\n * @param event The event to send to the parent machine.\r\n * @param options Options to pass into the send event.\r\n */\n\nfunction sendParent(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\n/**\r\n * Sends an event to an actor.\r\n *\r\n * @param actor The `ActorRef` to send the event to.\r\n * @param event The event to send, or an expression that evaluates to the event to send\r\n * @param options Send action options\r\n * @returns An XState send action object\r\n */\n\nfunction sendTo(actor, event, options) {\n return send(event, __assign(__assign({}, options), {\n to: actor\n }));\n}\n/**\r\n * Sends an update event to this machine's parent.\r\n */\n\nfunction sendUpdate() {\n return sendParent(update);\n}\n/**\r\n * Sends an event back to the sender of the original event.\r\n *\r\n * @param event The event to send back to the sender\r\n * @param options Options to pass into the send event\r\n */\n\nfunction respond(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: function (_, __, _a) {\n var _event = _a._event;\n return _event.origin; // TODO: handle when _event.origin is undefined\n }\n }));\n}\n\nvar defaultLogExpr = function (context, event) {\n return {\n context: context,\n event: event\n };\n};\n/**\r\n *\r\n * @param expr The expression function to evaluate which will be logged.\r\n * Takes in 2 arguments:\r\n * - `ctx` - the current state context\r\n * - `event` - the event that caused this action to be executed.\r\n * @param label The label to give to the logged expression.\r\n */\n\n\nfunction log(expr, label) {\n if (expr === void 0) {\n expr = defaultLogExpr;\n }\n\n return {\n type: log$1,\n label: label,\n expr: expr\n };\n}\nvar resolveLog = function (action, ctx, _event) {\n return __assign(__assign({}, action), {\n value: isString(action.expr) ? action.expr : action.expr(ctx, _event.data, {\n _event: _event\n })\n });\n};\n/**\r\n * Cancels an in-flight `send(...)` action. A canceled sent action will not\r\n * be executed, nor will its event be sent, unless it has already been sent\r\n * (e.g., if `cancel(...)` is called after the `send(...)` action's `delay`).\r\n *\r\n * @param sendId The `id` of the `send(...)` action to cancel.\r\n */\n\nvar cancel = function (sendId) {\n return {\n type: cancel$1,\n sendId: sendId\n };\n};\n/**\r\n * Starts an activity.\r\n *\r\n * @param activity The activity to start.\r\n */\n\nfunction start(activity) {\n var activityDef = toActivityDefinition(activity);\n return {\n type: ActionTypes.Start,\n activity: activityDef,\n exec: undefined\n };\n}\n/**\r\n * Stops an activity.\r\n *\r\n * @param actorRef The activity to stop.\r\n */\n\nfunction stop(actorRef) {\n var activity = isFunction(actorRef) ? actorRef : toActivityDefinition(actorRef);\n return {\n type: ActionTypes.Stop,\n activity: activity,\n exec: undefined\n };\n}\nfunction resolveStop(action, context, _event) {\n var actorRefOrString = isFunction(action.activity) ? action.activity(context, _event.data) : action.activity;\n var resolvedActorRef = typeof actorRefOrString === 'string' ? {\n id: actorRefOrString\n } : actorRefOrString;\n var actionObject = {\n type: ActionTypes.Stop,\n activity: resolvedActorRef\n };\n return actionObject;\n}\n/**\r\n * Updates the current context of the machine.\r\n *\r\n * @param assignment An object that represents the partial context to update.\r\n */\n\nvar assign = function (assignment) {\n return {\n type: assign$1,\n assignment: assignment\n };\n};\nfunction isActionObject(action) {\n return typeof action === 'object' && 'type' in action;\n}\n/**\r\n * Returns an event type that represents an implicit event that\r\n * is sent after the specified `delay`.\r\n *\r\n * @param delayRef The delay in milliseconds\r\n * @param id The state node ID where this event is handled\r\n */\n\nfunction after(delayRef, id) {\n var idSuffix = id ? \"#\".concat(id) : '';\n return \"\".concat(ActionTypes.After, \"(\").concat(delayRef, \")\").concat(idSuffix);\n}\n/**\r\n * Returns an event that represents that a final state node\r\n * has been reached in the parent state node.\r\n *\r\n * @param id The final state node's parent state node `id`\r\n * @param data The data to pass into the event\r\n */\n\nfunction done(id, data) {\n var type = \"\".concat(ActionTypes.DoneState, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\n/**\r\n * Returns an event that represents that an invoked service has terminated.\r\n *\r\n * An invoked service is terminated when it has reached a top-level final state node,\r\n * but not when it is canceled.\r\n *\r\n * @param id The final state node ID\r\n * @param data The data to pass into the event\r\n */\n\nfunction doneInvoke(id, data) {\n var type = \"\".concat(ActionTypes.DoneInvoke, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction error(id, data) {\n var type = \"\".concat(ActionTypes.ErrorPlatform, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction pure(getActions) {\n return {\n type: ActionTypes.Pure,\n get: getActions\n };\n}\n/**\r\n * Forwards (sends) an event to a specified service.\r\n *\r\n * @param target The target service to forward the event to.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction forwardTo(target, options) {\n if (!IS_PRODUCTION && (!target || typeof target === 'function')) {\n var originalTarget_1 = target;\n\n target = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var resolvedTarget = typeof originalTarget_1 === 'function' ? originalTarget_1.apply(void 0, __spreadArray([], __read(args), false)) : originalTarget_1;\n\n if (!resolvedTarget) {\n throw new Error(\"Attempted to forward event to undefined actor. This risks an infinite loop in the sender.\");\n }\n\n return resolvedTarget;\n };\n }\n\n return send(function (_, event) {\n return event;\n }, __assign(__assign({}, options), {\n to: target\n }));\n}\n/**\r\n * Escalates an error by sending it as an event to this machine's parent.\r\n *\r\n * @param errorData The error data to send, or the expression function that\r\n * takes in the `context`, `event`, and `meta`, and returns the error data to send.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction escalate(errorData, options) {\n return sendParent(function (context, event, meta) {\n return {\n type: error$1,\n data: isFunction(errorData) ? errorData(context, event, meta) : errorData\n };\n }, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\nfunction choose(conds) {\n return {\n type: ActionTypes.Choose,\n conds: conds\n };\n}\n\nvar pluckAssigns = function (actionBlocks) {\n var e_1, _a;\n\n var assignActions = [];\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n var i = 0;\n\n while (i < block.actions.length) {\n if (block.actions[i].type === assign$1) {\n assignActions.push(block.actions[i]);\n block.actions.splice(i, 1);\n continue;\n }\n\n i++;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return assignActions;\n};\n\nfunction resolveActions(machine, currentState, currentContext, _event, actionBlocks, predictableExec, preserveActionOrder) {\n if (preserveActionOrder === void 0) {\n preserveActionOrder = false;\n }\n\n var assignActions = preserveActionOrder ? [] : pluckAssigns(actionBlocks);\n var updatedContext = assignActions.length ? updateContext(currentContext, _event, assignActions, currentState) : currentContext;\n var preservedContexts = preserveActionOrder ? [currentContext] : undefined;\n var deferredToBlockEnd = [];\n\n function handleAction(blockType, actionObject) {\n var _a;\n\n switch (actionObject.type) {\n case raise$1:\n {\n var raisedAction = resolveRaise(actionObject, updatedContext, _event, machine.options.delays);\n\n if (predictableExec && typeof raisedAction.delay === 'number') {\n predictableExec(raisedAction, updatedContext, _event);\n }\n\n return raisedAction;\n }\n\n case send$1:\n var sendAction = resolveSend(actionObject, updatedContext, _event, machine.options.delays); // TODO: fix ActionTypes.Init\n\n if (!IS_PRODUCTION) {\n var configuredDelay = actionObject.delay; // warn after resolving as we can create better contextual message here\n\n warn(!isString(configuredDelay) || typeof sendAction.delay === 'number', // tslint:disable-next-line:max-line-length\n \"No delay reference for delay expression '\".concat(configuredDelay, \"' was found on machine '\").concat(machine.id, \"'\"));\n }\n\n if (predictableExec && sendAction.to !== SpecialTargets.Internal) {\n if (blockType === 'entry') {\n deferredToBlockEnd.push(sendAction);\n } else {\n predictableExec(sendAction, updatedContext, _event);\n }\n }\n\n return sendAction;\n\n case log$1:\n {\n var resolved = resolveLog(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, updatedContext, _event);\n return resolved;\n }\n\n case choose$1:\n {\n var chooseAction = actionObject;\n var matchedActions = (_a = chooseAction.conds.find(function (condition) {\n var guard = toGuard(condition.cond, machine.options.guards);\n return !guard || evaluateGuard(machine, guard, updatedContext, _event, !predictableExec ? currentState : undefined);\n })) === null || _a === void 0 ? void 0 : _a.actions;\n\n if (!matchedActions) {\n return [];\n }\n\n var _b = __read(resolveActions(machine, currentState, updatedContext, _event, [{\n type: blockType,\n actions: toActionObjects(toArray(matchedActions), machine.options.actions)\n }], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromChoose = _b[0],\n resolvedContextFromChoose = _b[1];\n\n updatedContext = resolvedContextFromChoose;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromChoose;\n }\n\n case pure$1:\n {\n var matchedActions = actionObject.get(updatedContext, _event.data);\n\n if (!matchedActions) {\n return [];\n }\n\n var _c = __read(resolveActions(machine, currentState, updatedContext, _event, [{\n type: blockType,\n actions: toActionObjects(toArray(matchedActions), machine.options.actions)\n }], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromPure = _c[0],\n resolvedContext = _c[1];\n\n updatedContext = resolvedContext;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromPure;\n }\n\n case stop$1:\n {\n var resolved = resolveStop(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, currentContext, _event);\n return resolved;\n }\n\n case assign$1:\n {\n updatedContext = updateContext(updatedContext, _event, [actionObject], !predictableExec ? currentState : undefined);\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n break;\n }\n\n default:\n var resolvedActionObject = toActionObject(actionObject, machine.options.actions);\n var exec_1 = resolvedActionObject.exec;\n\n if (predictableExec) {\n predictableExec(resolvedActionObject, updatedContext, _event);\n } else if (exec_1 && preservedContexts) {\n var contextIndex_1 = preservedContexts.length - 1;\n\n var wrapped = __assign(__assign({}, resolvedActionObject), {\n exec: function (_ctx) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n exec_1.apply(void 0, __spreadArray([preservedContexts[contextIndex_1]], __read(args), false));\n }\n });\n\n resolvedActionObject = wrapped;\n }\n\n return resolvedActionObject;\n }\n }\n\n function processBlock(block) {\n var e_2, _a;\n\n var resolvedActions = [];\n\n try {\n for (var _b = __values(block.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n var resolved = handleAction(block.type, action);\n\n if (resolved) {\n resolvedActions = resolvedActions.concat(resolved);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n deferredToBlockEnd.forEach(function (action) {\n predictableExec(action, updatedContext, _event);\n });\n deferredToBlockEnd.length = 0;\n return resolvedActions;\n }\n\n var resolvedActions = flatten(actionBlocks.map(processBlock));\n return [resolvedActions, updatedContext];\n}\n\nexport { after, assign, cancel, choose, done, doneInvoke, error, escalate, forwardTo, getActionFunction, initEvent, isActionObject, log, pure, raise, resolveActions, resolveLog, resolveRaise, resolveSend, resolveStop, respond, send, sendParent, sendTo, sendUpdate, start, stop, toActionObject, toActionObjects, toActivityDefinition };\n","import { __assign, __spreadArray, __read, __rest } from './_virtual/_tslib.js';\nimport { EMPTY_ACTIVITY_MAP } from './constants.js';\nimport { isString, matchesState, warn } from './utils.js';\nimport { getMeta, nextEvents } from './stateUtils.js';\nimport { initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nfunction stateValuesEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined) {\n return false;\n }\n\n if (isString(a) || isString(b)) {\n return a === b;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n return aKeys.length === bKeys.length && aKeys.every(function (key) {\n return stateValuesEqual(a[key], b[key]);\n });\n}\nfunction isStateConfig(state) {\n if (typeof state !== 'object' || state === null) {\n return false;\n }\n\n return 'value' in state && '_event' in state;\n}\n/**\r\n * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.\r\n */\n\nvar isState = isStateConfig;\nfunction bindActionToState(action, state) {\n var exec = action.exec;\n\n var boundAction = __assign(__assign({}, action), {\n exec: exec !== undefined ? function () {\n return exec(state.context, state.event, {\n action: action,\n state: state,\n _event: state._event\n });\n } : undefined\n });\n\n return boundAction;\n}\n\nvar State =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new State instance.\r\n * @param value The state value\r\n * @param context The extended state\r\n * @param historyValue The tree representing historical values of the state nodes\r\n * @param history The previous state\r\n * @param actions An array of action objects to execute as side-effects\r\n * @param activities A mapping of activities and whether they are started (`true`) or stopped (`false`).\r\n * @param meta\r\n * @param events Internal event queue. Should be empty with run-to-completion semantics.\r\n * @param configuration\r\n */\n function State(config) {\n var _this = this;\n\n var _a;\n\n this.actions = [];\n this.activities = EMPTY_ACTIVITY_MAP;\n this.meta = {};\n this.events = [];\n this.value = config.value;\n this.context = config.context;\n this._event = config._event;\n this._sessionid = config._sessionid;\n this.event = this._event.data;\n this.historyValue = config.historyValue;\n this.history = config.history;\n this.actions = config.actions || [];\n this.activities = config.activities || EMPTY_ACTIVITY_MAP;\n this.meta = getMeta(config.configuration);\n this.events = config.events || [];\n this.matches = this.matches.bind(this);\n this.toStrings = this.toStrings.bind(this);\n this.configuration = config.configuration;\n this.transitions = config.transitions;\n this.children = config.children;\n this.done = !!config.done;\n this.tags = (_a = Array.isArray(config.tags) ? new Set(config.tags) : config.tags) !== null && _a !== void 0 ? _a : new Set();\n this.machine = config.machine;\n Object.defineProperty(this, 'nextEvents', {\n get: function () {\n return nextEvents(_this.configuration);\n }\n });\n }\n /**\r\n * Creates a new State instance for the given `stateValue` and `context`.\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.from = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (stateValue.context !== context) {\n return new State({\n value: stateValue.value,\n context: context,\n _event: stateValue._event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n actions: [],\n activities: stateValue.activities,\n meta: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n }\n\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: undefined,\n history: undefined,\n actions: [],\n activities: undefined,\n meta: undefined,\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n };\n /**\r\n * Creates a new State instance for the given `config`.\r\n * @param config The state config\r\n */\n\n\n State.create = function (config) {\n return new State(config);\n };\n /**\r\n * Creates a new `State` instance for the given `stateValue` and `context` with no actions (side-effects).\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.inert = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (!stateValue.actions.length) {\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue.value,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n activities: stateValue.activities,\n configuration: stateValue.configuration,\n transitions: [],\n children: {}\n });\n }\n\n return State.from(stateValue, context);\n };\n /**\r\n * Returns an array of all the string leaf state node paths.\r\n * @param stateValue\r\n * @param delimiter The character(s) that separate each subpath in the string state node path.\r\n */\n\n\n State.prototype.toStrings = function (stateValue, delimiter) {\n var _this = this;\n\n if (stateValue === void 0) {\n stateValue = this.value;\n }\n\n if (delimiter === void 0) {\n delimiter = '.';\n }\n\n if (isString(stateValue)) {\n return [stateValue];\n }\n\n var valueKeys = Object.keys(stateValue);\n return valueKeys.concat.apply(valueKeys, __spreadArray([], __read(valueKeys.map(function (key) {\n return _this.toStrings(stateValue[key], delimiter).map(function (s) {\n return key + delimiter + s;\n });\n })), false));\n };\n\n State.prototype.toJSON = function () {\n var _a = this;\n _a.configuration;\n _a.transitions;\n var tags = _a.tags;\n _a.machine;\n var jsonValues = __rest(_a, [\"configuration\", \"transitions\", \"tags\", \"machine\"]);\n\n return __assign(__assign({}, jsonValues), {\n tags: Array.from(tags)\n });\n };\n\n State.prototype.matches = function (parentStateValue) {\n return matchesState(parentStateValue, this.value);\n };\n /**\r\n * Whether the current state configuration has a state node with the specified `tag`.\r\n * @param tag\r\n */\n\n\n State.prototype.hasTag = function (tag) {\n return this.tags.has(tag);\n };\n /**\r\n * Determines whether sending the `event` will cause a non-forbidden transition\r\n * to be selected, even if the transitions have no actions nor\r\n * change the state value.\r\n *\r\n * @param event The event to test\r\n * @returns Whether the event will cause a transition\r\n */\n\n\n State.prototype.can = function (event) {\n var _a;\n\n if (IS_PRODUCTION) {\n warn(!!this.machine, \"state.can(...) used outside of a machine-created State object; this will always return false.\");\n }\n\n var transitionData = (_a = this.machine) === null || _a === void 0 ? void 0 : _a.getTransitionData(this, event);\n return !!(transitionData === null || transitionData === void 0 ? void 0 : transitionData.transitions.length) && // Check that at least one transition is not forbidden\n transitionData.transitions.some(function (t) {\n return t.target !== undefined || t.actions.length;\n });\n };\n\n return State;\n}();\n\nexport { State, bindActionToState, isState, isStateConfig, stateValuesEqual };\n","import { __assign } from './_virtual/_tslib.js';\n\nvar defaultOptions = {\n deferEvents: false\n};\n\nvar Scheduler =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function Scheduler(options) {\n this.processingEvent = false;\n this.queue = [];\n this.initialized = false;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n\n Scheduler.prototype.initialize = function (callback) {\n this.initialized = true;\n\n if (callback) {\n if (!this.options.deferEvents) {\n this.schedule(callback);\n return;\n }\n\n this.process(callback);\n }\n\n this.flushEvents();\n };\n\n Scheduler.prototype.schedule = function (task) {\n if (!this.initialized || this.processingEvent) {\n this.queue.push(task);\n return;\n }\n\n if (this.queue.length !== 0) {\n throw new Error('Event queue should be empty when it is not processing events');\n }\n\n this.process(task);\n this.flushEvents();\n };\n\n Scheduler.prototype.clear = function () {\n this.queue = [];\n };\n\n Scheduler.prototype.flushEvents = function () {\n var nextCallback = this.queue.shift();\n\n while (nextCallback) {\n this.process(nextCallback);\n nextCallback = this.queue.shift();\n }\n };\n\n Scheduler.prototype.process = function (callback) {\n this.processingEvent = true;\n\n try {\n callback();\n } catch (e) {\n // there is no use to keep the future events\n // as the situation is not anymore the same\n this.clear();\n throw e;\n } finally {\n this.processingEvent = false;\n }\n };\n\n return Scheduler;\n}();\n\nexport { Scheduler };\n","/**\r\n * Maintains a stack of the current service in scope.\r\n * This is used to provide the correct service to spawn().\r\n */\nvar serviceStack = [];\nvar provide = function (service, fn) {\n serviceStack.push(service);\n var result = fn(service);\n serviceStack.pop();\n return result;\n};\nvar consume = function (fn) {\n return fn(serviceStack[serviceStack.length - 1]);\n};\n\nexport { consume, provide };\n","import { __assign } from './_virtual/_tslib.js';\nimport { symbolObservable, toInvokeSource, mapContext, isMachine } from './utils.js';\nimport { provide } from './serviceScope.js';\n\nfunction createNullActor(id) {\n var _a;\n\n return _a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a;\n}\n/**\r\n * Creates a deferred actor that is able to be invoked given the provided\r\n * invocation information in its `.meta` value.\r\n *\r\n * @param invokeDefinition The meta information needed to invoke the actor.\r\n */\n\nfunction createInvocableActor(invokeDefinition, machine, context, _event) {\n var _a;\n\n var invokeSrc = toInvokeSource(invokeDefinition.src);\n var serviceCreator = (_a = machine === null || machine === void 0 ? void 0 : machine.options.services) === null || _a === void 0 ? void 0 : _a[invokeSrc.type];\n var resolvedData = invokeDefinition.data ? mapContext(invokeDefinition.data, context, _event) : undefined;\n var tempActor = serviceCreator ? createDeferredActor(serviceCreator, invokeDefinition.id, resolvedData) : createNullActor(invokeDefinition.id); // @ts-ignore\n\n tempActor.meta = invokeDefinition;\n return tempActor;\n}\nfunction createDeferredActor(entity, id, data) {\n var tempActor = createNullActor(id); // @ts-ignore\n\n tempActor.deferred = true;\n\n if (isMachine(entity)) {\n // \"mute\" the existing service scope so potential spawned actors within the `.initialState` stay deferred here\n var initialState_1 = tempActor.state = provide(undefined, function () {\n return (data ? entity.withContext(data) : entity).initialState;\n });\n\n tempActor.getSnapshot = function () {\n return initialState_1;\n };\n }\n\n return tempActor;\n}\nfunction isActor(item) {\n try {\n return typeof item.send === 'function';\n } catch (e) {\n return false;\n }\n}\nfunction isSpawnedActor(item) {\n return isActor(item) && 'id' in item;\n} // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now\n\nfunction toActorRef(actorRefLike) {\n var _a;\n\n return __assign((_a = {\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n id: 'anonymous',\n getSnapshot: function () {\n return undefined;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a), actorRefLike);\n}\n\nexport { createDeferredActor, createInvocableActor, createNullActor, isActor, isSpawnedActor, toActorRef };\n","var children = /*#__PURE__*/new Map();\nvar sessionIdIndex = 0;\nvar registry = {\n bookId: function () {\n return \"x:\".concat(sessionIdIndex++);\n },\n register: function (id, actor) {\n children.set(id, actor);\n return id;\n },\n get: function (id) {\n return children.get(id);\n },\n free: function (id) {\n children.delete(id);\n }\n};\n\nexport { registry };\n","import { IS_PRODUCTION } from './environment.js';\n\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n if (!IS_PRODUCTION) {\n console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');\n }\n}\n\nfunction getDevTools() {\n var global = getGlobal();\n\n if (global && '__xstate__' in global) {\n return global.__xstate__;\n }\n\n return undefined;\n}\n\nfunction registerService(service) {\n if (!getGlobal()) {\n return;\n }\n\n var devTools = getDevTools();\n\n if (devTools) {\n devTools.register(service);\n }\n}\n\nexport { getGlobal, registerService };\n","import { error, doneInvoke } from './actions.js';\nimport { toActorRef } from './Actor.js';\nimport { toObserver } from './utils.js';\n\n/**\r\n * Returns an actor behavior from a reducer and its initial state.\r\n *\r\n * @param transition The pure reducer that returns the next state given the current state and event.\r\n * @param initialState The initial state of the reducer.\r\n * @returns An actor behavior\r\n */\n\nfunction fromReducer(transition, initialState) {\n return {\n transition: transition,\n initialState: initialState\n };\n}\nfunction fromPromise(promiseFn) {\n var initialState = {\n error: undefined,\n data: undefined,\n status: 'pending'\n };\n return {\n transition: function (state, event, _a) {\n var parent = _a.parent,\n id = _a.id,\n observers = _a.observers;\n\n switch (event.type) {\n case 'fulfill':\n parent === null || parent === void 0 ? void 0 : parent.send(doneInvoke(id, event.data));\n return {\n error: undefined,\n data: event.data,\n status: 'fulfilled'\n };\n\n case 'reject':\n parent === null || parent === void 0 ? void 0 : parent.send(error(id, event.error));\n observers.forEach(function (observer) {\n observer.error(event.error);\n });\n return {\n error: event.error,\n data: undefined,\n status: 'rejected'\n };\n\n default:\n return state;\n }\n },\n initialState: initialState,\n start: function (_a) {\n var self = _a.self;\n promiseFn().then(function (data) {\n self.send({\n type: 'fulfill',\n data: data\n });\n }, function (reason) {\n self.send({\n type: 'reject',\n error: reason\n });\n });\n return initialState;\n }\n };\n}\nfunction spawnBehavior(behavior, options) {\n if (options === void 0) {\n options = {};\n }\n\n var state = behavior.initialState;\n var observers = new Set();\n var mailbox = [];\n var flushing = false;\n\n var flush = function () {\n if (flushing) {\n return;\n }\n\n flushing = true;\n\n while (mailbox.length > 0) {\n var event_1 = mailbox.shift();\n state = behavior.transition(state, event_1, actorCtx);\n observers.forEach(function (observer) {\n return observer.next(state);\n });\n }\n\n flushing = false;\n };\n\n var actor = toActorRef({\n id: options.id,\n send: function (event) {\n mailbox.push(event);\n flush();\n },\n getSnapshot: function () {\n return state;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n observers.add(observer);\n observer.next(state);\n return {\n unsubscribe: function () {\n observers.delete(observer);\n }\n };\n }\n });\n var actorCtx = {\n parent: options.parent,\n self: actor,\n id: options.id || 'anonymous',\n observers: observers\n };\n state = behavior.start ? behavior.start(actorCtx) : state;\n return actor;\n}\n\nexport { fromPromise, fromReducer, spawnBehavior };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { isStateConfig, State, bindActionToState } from './State.js';\nimport { errorPlatform, update, error as error$1, log, stop, start, cancel, send, raise } from './actionTypes.js';\nimport { initEvent, doneInvoke, toActionObjects, resolveActions, error, getActionFunction } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isRaisableAction, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';\nimport { Scheduler } from './scheduler.js';\nimport { createDeferredActor, isSpawnedActor } from './Actor.js';\nimport { registry } from './registry.js';\nimport { getGlobal, registerService } from './devTools.js';\nimport { provide, consume } from './serviceScope.js';\nimport { spawnBehavior } from './behaviors.js';\n\nvar DEFAULT_SPAWN_OPTIONS = {\n sync: false,\n autoForward: false\n};\nvar InterpreterStatus;\n\n(function (InterpreterStatus) {\n InterpreterStatus[InterpreterStatus[\"NotStarted\"] = 0] = \"NotStarted\";\n InterpreterStatus[InterpreterStatus[\"Running\"] = 1] = \"Running\";\n InterpreterStatus[InterpreterStatus[\"Stopped\"] = 2] = \"Stopped\";\n})(InterpreterStatus || (InterpreterStatus = {}));\n\nvar Interpreter =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new Interpreter instance (i.e., service) for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to be interpreted\r\n * @param options Interpreter options\r\n */\n function Interpreter(machine, options) {\n if (options === void 0) {\n options = Interpreter.defaultOptions;\n }\n\n var _this = this;\n\n this.machine = machine;\n this.delayedEventsMap = {};\n this.listeners = new Set();\n this.contextListeners = new Set();\n this.stopListeners = new Set();\n this.doneListeners = new Set();\n this.eventListeners = new Set();\n this.sendListeners = new Set();\n /**\r\n * Whether the service is started.\r\n */\n\n this.initialized = false;\n this.status = InterpreterStatus.NotStarted;\n this.children = new Map();\n this.forwardTo = new Set();\n this._outgoingQueue = [];\n /**\r\n * Alias for Interpreter.prototype.start\r\n */\n\n this.init = this.start;\n /**\r\n * Sends an event to the running interpreter to trigger a transition.\r\n *\r\n * An array of events (batched) can be sent as well, which will send all\r\n * batched events to the running interpreter. The listeners will be\r\n * notified only **once** when all events are processed.\r\n *\r\n * @param event The event(s) to send\r\n */\n\n this.send = function (event, payload) {\n if (isArray(event)) {\n _this.batch(event);\n\n return _this.state;\n }\n\n var _event = toSCXMLEvent(toEventObject(event, payload));\n\n if (_this.status === InterpreterStatus.Stopped) {\n // do nothing\n if (!IS_PRODUCTION) {\n warn(false, \"Event \\\"\".concat(_event.name, \"\\\" was sent to stopped service \\\"\").concat(_this.machine.id, \"\\\". This service has already reached its final state, and will not transition.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n return _this.state;\n }\n\n if (_this.status !== InterpreterStatus.Running && !_this.options.deferEvents) {\n throw new Error(\"Event \\\"\".concat(_event.name, \"\\\" was sent to uninitialized service \\\"\").concat(_this.machine.id // tslint:disable-next-line:max-line-length\n , \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n _this.scheduler.schedule(function () {\n // Forward copy of event to child actors\n _this.forward(_event);\n\n var nextState = _this._nextState(_event);\n\n _this.update(nextState, _event);\n });\n\n return _this._state; // TODO: deprecate (should return void)\n // tslint:disable-next-line:semicolon\n };\n\n this.sendTo = function (event, to, immediate) {\n var isParent = _this.parent && (to === SpecialTargets.Parent || _this.parent.id === to);\n var target = isParent ? _this.parent : isString(to) ? to === SpecialTargets.Internal ? _this : _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;\n\n if (!target) {\n if (!isParent) {\n throw new Error(\"Unable to send event to child '\".concat(to, \"' from service '\").concat(_this.id, \"'.\"));\n } // tslint:disable-next-line:no-console\n\n\n if (!IS_PRODUCTION) {\n warn(false, \"Service '\".concat(_this.id, \"' has no parent: unable to send event \").concat(event.type));\n }\n\n return;\n }\n\n if ('machine' in target) {\n // perhaps those events should be rejected in the parent\n // but atm it doesn't have easy access to all of the information that is required to do it reliably\n if (_this.status !== InterpreterStatus.Stopped || _this.parent !== target || // we need to send events to the parent from exit handlers of a machine that reached its final state\n _this.state.done) {\n // Send SCXML events to machines\n var scxmlEvent = __assign(__assign({}, event), {\n name: event.name === error$1 ? \"\".concat(error(_this.id)) : event.name,\n origin: _this.sessionId\n });\n\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, scxmlEvent]);\n } else {\n target.send(scxmlEvent);\n }\n }\n } else {\n // Send normal events to other targets\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, event.data]);\n } else {\n target.send(event.data);\n }\n }\n };\n\n this._exec = function (action, context, _event, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = _this.machine.options.actions;\n }\n\n var actionOrExec = action.exec || getActionFunction(action.type, actionFunctionMap);\n var exec = isFunction(actionOrExec) ? actionOrExec : actionOrExec ? actionOrExec.exec : action.exec;\n\n if (exec) {\n try {\n return exec(context, _event.data, !_this.machine.config.predictableActionArguments ? {\n action: action,\n state: _this.state,\n _event: _event\n } : {\n action: action,\n _event: _event\n });\n } catch (err) {\n if (_this.parent) {\n _this.parent.send({\n type: 'xstate.error',\n data: err\n });\n }\n\n throw err;\n }\n }\n\n switch (action.type) {\n case raise:\n {\n // if raise action reached the interpreter then it's a delayed one\n var sendAction_1 = action;\n\n _this.defer(sendAction_1);\n\n break;\n }\n\n case send:\n var sendAction = action;\n\n if (typeof sendAction.delay === 'number') {\n _this.defer(sendAction);\n\n return;\n } else {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, _event === initEvent);\n } else {\n _this.send(sendAction._event);\n }\n }\n\n break;\n\n case cancel:\n _this.cancel(action.sendId);\n\n break;\n\n case start:\n {\n if (_this.status !== InterpreterStatus.Running) {\n return;\n }\n\n var activity = action.activity; // If the activity will be stopped right after it's started\n // (such as in transient states)\n // don't bother starting the activity.\n\n if ( // in v4 with `predictableActionArguments` invokes are called eagerly when the `this.state` still points to the previous state\n !_this.machine.config.predictableActionArguments && !_this.state.activities[activity.id || activity.type]) {\n break;\n } // Invoked services\n\n\n if (activity.type === ActionTypes.Invoke) {\n var invokeSource = toInvokeSource(activity.src);\n var serviceCreator = _this.machine.options.services ? _this.machine.options.services[invokeSource.type] : undefined;\n var id = activity.id,\n data = activity.data;\n\n if (!IS_PRODUCTION) {\n warn(!('forward' in activity), // tslint:disable-next-line:max-line-length\n \"`forward` property is deprecated (found in invocation of '\".concat(activity.src, \"' in in machine '\").concat(_this.machine.id, \"'). \") + \"Please use `autoForward` instead.\");\n }\n\n var autoForward = 'autoForward' in activity ? activity.autoForward : !!activity.forward;\n\n if (!serviceCreator) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"No service found for invocation '\".concat(activity.src, \"' in machine '\").concat(_this.machine.id, \"'.\"));\n }\n\n return;\n }\n\n var resolvedData = data ? mapContext(data, context, _event) : undefined;\n\n if (typeof serviceCreator === 'string') {\n // TODO: warn\n return;\n }\n\n var source = isFunction(serviceCreator) ? serviceCreator(context, _event.data, {\n data: resolvedData,\n src: invokeSource,\n meta: activity.meta\n }) : serviceCreator;\n\n if (!source) {\n // TODO: warn?\n return;\n }\n\n var options = void 0;\n\n if (isMachine(source)) {\n source = resolvedData ? source.withContext(resolvedData) : source;\n options = {\n autoForward: autoForward\n };\n }\n\n _this.spawn(source, id, options);\n } else {\n _this.spawnActivity(activity);\n }\n\n break;\n }\n\n case stop:\n {\n _this.stopChild(action.activity.id);\n\n break;\n }\n\n case log:\n var _a = action,\n label = _a.label,\n value = _a.value;\n\n if (label) {\n _this.logger(label, value);\n } else {\n _this.logger(value);\n }\n\n break;\n\n default:\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for action type '\".concat(action.type, \"'\"));\n }\n\n break;\n }\n };\n\n var resolvedOptions = __assign(__assign({}, Interpreter.defaultOptions), options);\n\n var clock = resolvedOptions.clock,\n logger = resolvedOptions.logger,\n parent = resolvedOptions.parent,\n id = resolvedOptions.id;\n var resolvedId = id !== undefined ? id : machine.id;\n this.id = resolvedId;\n this.logger = logger;\n this.clock = clock;\n this.parent = parent;\n this.options = resolvedOptions;\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n this.sessionId = registry.bookId();\n }\n\n Object.defineProperty(Interpreter.prototype, \"initialState\", {\n get: function () {\n var _this = this;\n\n if (this._initialState) {\n return this._initialState;\n }\n\n return provide(this, function () {\n _this._initialState = _this.machine.initialState;\n return _this._initialState;\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Interpreter.prototype, \"state\", {\n /**\r\n * @deprecated Use `.getSnapshot()` instead.\r\n */\n get: function () {\n if (!IS_PRODUCTION) {\n warn(this.status !== InterpreterStatus.NotStarted, \"Attempted to read state from uninitialized service '\".concat(this.id, \"'. Make sure the service is started first.\"));\n }\n\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Executes the actions of the given state, with that state's `context` and `event`.\r\n *\r\n * @param state The state whose actions will be executed\r\n * @param actionsConfig The action implementations to use\r\n */\n\n Interpreter.prototype.execute = function (state, actionsConfig) {\n var e_1, _a;\n\n try {\n for (var _b = __values(state.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n this.exec(action, state, actionsConfig);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n };\n\n Interpreter.prototype.update = function (state, _event) {\n var e_2, _a, e_3, _b, e_4, _c, e_5, _d;\n\n var _this = this; // Attach session ID to state\n\n\n state._sessionid = this.sessionId; // Update state\n\n this._state = state; // Execute actions\n\n if ((!this.machine.config.predictableActionArguments || // this is currently required to execute initial actions as the `initialState` gets cached\n // we can't just recompute it (and execute actions while doing so) because we try to preserve identity of actors created within initial assigns\n _event === initEvent) && this.options.execute) {\n this.execute(this.state);\n } else {\n var item = void 0;\n\n while (item = this._outgoingQueue.shift()) {\n item[0].send(item[1]);\n }\n } // Update children\n\n\n this.children.forEach(function (child) {\n _this.state.children[child.id] = child;\n }); // Dev tools\n\n if (this.devTools) {\n this.devTools.send(_event.data, state);\n } // Execute listeners\n\n\n if (state.event) {\n try {\n for (var _e = __values(this.eventListeners), _f = _e.next(); !_f.done; _f = _e.next()) {\n var listener = _f.value;\n listener(state.event);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n\n try {\n for (var _g = __values(this.listeners), _h = _g.next(); !_h.done; _h = _g.next()) {\n var listener = _h.value;\n listener(state, state.event);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n try {\n for (var _j = __values(this.contextListeners), _k = _j.next(); !_k.done; _k = _j.next()) {\n var contextListener = _k.value;\n contextListener(this.state.context, this.state.history ? this.state.history.context : undefined);\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n if (this.state.done) {\n // get final child state node\n var finalChildStateNode = state.configuration.find(function (sn) {\n return sn.type === 'final' && sn.parent === _this.machine;\n });\n var doneData = finalChildStateNode && finalChildStateNode.doneData ? mapContext(finalChildStateNode.doneData, state.context, _event) : undefined;\n this._doneEvent = doneInvoke(this.id, doneData);\n\n try {\n for (var _l = __values(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {\n var listener = _m.value;\n listener(this._doneEvent);\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n this._stop();\n\n this._stopChildren();\n\n registry.free(this.sessionId);\n }\n };\n /*\r\n * Adds a listener that is notified whenever a state transition happens. The listener is called with\r\n * the next state and the event object that caused the state transition.\r\n *\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onTransition = function (listener) {\n this.listeners.add(listener); // Send current state to listener\n\n if (this.status === InterpreterStatus.Running) {\n listener(this.state, this.state.event);\n }\n\n return this;\n };\n\n Interpreter.prototype.subscribe = function (nextListenerOrObserver, _, // TODO: error listener\n completeListener) {\n var _this = this;\n\n var observer = toObserver(nextListenerOrObserver, _, completeListener);\n this.listeners.add(observer.next); // Send current state to listener\n\n if (this.status !== InterpreterStatus.NotStarted) {\n observer.next(this.state);\n }\n\n var completeOnce = function () {\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n\n observer.complete();\n };\n\n if (this.status === InterpreterStatus.Stopped) {\n observer.complete();\n } else {\n this.onDone(completeOnce);\n this.onStop(completeOnce);\n }\n\n return {\n unsubscribe: function () {\n _this.listeners.delete(observer.next);\n\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n }\n };\n };\n /**\r\n * Adds an event listener that is notified whenever an event is sent to the running interpreter.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onEvent = function (listener) {\n this.eventListeners.add(listener);\n return this;\n };\n /**\r\n * Adds an event listener that is notified whenever a `send` event occurs.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onSend = function (listener) {\n this.sendListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a context listener that is notified whenever the state context changes.\r\n * @param listener The context listener\r\n */\n\n\n Interpreter.prototype.onChange = function (listener) {\n this.contextListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a listener that is notified when the machine is stopped.\r\n * @param listener The listener\r\n */\n\n\n Interpreter.prototype.onStop = function (listener) {\n this.stopListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a state listener that is notified when the statechart has reached its final state.\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onDone = function (listener) {\n if (this.status === InterpreterStatus.Stopped && this._doneEvent) {\n listener(this._doneEvent);\n } else {\n this.doneListeners.add(listener);\n }\n\n return this;\n };\n /**\r\n * Removes a listener.\r\n * @param listener The listener to remove\r\n */\n\n\n Interpreter.prototype.off = function (listener) {\n this.listeners.delete(listener);\n this.eventListeners.delete(listener);\n this.sendListeners.delete(listener);\n this.stopListeners.delete(listener);\n this.doneListeners.delete(listener);\n this.contextListeners.delete(listener);\n return this;\n };\n /**\r\n * Starts the interpreter from the given state, or the initial state.\r\n * @param initialState The state to start the statechart from\r\n */\n\n\n Interpreter.prototype.start = function (initialState) {\n var _this = this;\n\n if (this.status === InterpreterStatus.Running) {\n // Do not restart the service if it is already started\n return this;\n } // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)\n // this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call\n // we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions\n // and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)\n\n\n this.machine._init();\n\n registry.register(this.sessionId, this);\n this.initialized = true;\n this.status = InterpreterStatus.Running;\n var resolvedState = initialState === undefined ? this.initialState : provide(this, function () {\n return isStateConfig(initialState) ? _this.machine.resolveState(initialState) : _this.machine.resolveState(State.from(initialState, _this.machine.context));\n });\n\n if (this.options.devTools) {\n this.attachDev();\n }\n\n this.scheduler.initialize(function () {\n _this.update(resolvedState, initEvent);\n });\n return this;\n };\n\n Interpreter.prototype._stopChildren = function () {\n // TODO: think about converting those to actions\n this.children.forEach(function (child) {\n if (isFunction(child.stop)) {\n child.stop();\n }\n });\n this.children.clear();\n };\n\n Interpreter.prototype._stop = function () {\n var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e;\n\n try {\n for (var _f = __values(this.listeners), _g = _f.next(); !_g.done; _g = _f.next()) {\n var listener = _g.value;\n this.listeners.delete(listener);\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n try {\n for (var _h = __values(this.stopListeners), _j = _h.next(); !_j.done; _j = _h.next()) {\n var listener = _j.value; // call listener, then remove\n\n listener();\n this.stopListeners.delete(listener);\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_j && !_j.done && (_b = _h.return)) _b.call(_h);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n\n try {\n for (var _k = __values(this.contextListeners), _l = _k.next(); !_l.done; _l = _k.next()) {\n var listener = _l.value;\n this.contextListeners.delete(listener);\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_l && !_l.done && (_c = _k.return)) _c.call(_k);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n\n try {\n for (var _m = __values(this.doneListeners), _o = _m.next(); !_o.done; _o = _m.next()) {\n var listener = _o.value;\n this.doneListeners.delete(listener);\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_o && !_o.done && (_d = _m.return)) _d.call(_m);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n\n if (!this.initialized) {\n // Interpreter already stopped; do nothing\n return this;\n }\n\n this.initialized = false;\n this.status = InterpreterStatus.Stopped;\n this._initialState = undefined;\n\n try {\n // we are going to stop within the current sync frame\n // so we can safely just cancel this here as nothing async should be fired anyway\n for (var _p = __values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n this.clock.clearTimeout(this.delayedEventsMap[key]);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (_q && !_q.done && (_e = _p.return)) _e.call(_p);\n } finally {\n if (e_10) throw e_10.error;\n }\n } // clear everything that might be enqueued\n\n\n this.scheduler.clear();\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n };\n /**\r\n * Stops the interpreter and unsubscribe all listeners.\r\n *\r\n * This will also notify the `onStop` listeners.\r\n */\n\n\n Interpreter.prototype.stop = function () {\n // TODO: add warning for stopping non-root interpreters\n var _this = this; // grab the current scheduler as it will be replaced in _stop\n\n\n var scheduler = this.scheduler;\n\n this._stop(); // let what is currently processed to be finished\n\n\n scheduler.schedule(function () {\n // it feels weird to handle this here but we need to handle this even slightly \"out of band\"\n var _event = toSCXMLEvent({\n type: 'xstate.stop'\n });\n\n var nextState = provide(_this, function () {\n var exitActions = flatten(__spreadArray([], __read(_this.state.configuration), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return toActionObjects(stateNode.onExit, _this.machine.options.actions);\n }));\n\n var _a = __read(resolveActions(_this.machine, _this.state, _this.state.context, _event, [{\n type: 'exit',\n actions: exitActions\n }], _this.machine.config.predictableActionArguments ? _this._exec : undefined, _this.machine.config.predictableActionArguments || _this.machine.config.preserveActionOrder), 2),\n resolvedActions = _a[0],\n updatedContext = _a[1];\n\n var newState = new State({\n value: _this.state.value,\n context: updatedContext,\n _event: _event,\n _sessionid: _this.sessionId,\n historyValue: undefined,\n history: _this.state,\n actions: resolvedActions.filter(function (action) {\n return !isRaisableAction(action);\n }),\n activities: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {},\n done: _this.state.done,\n tags: _this.state.tags,\n machine: _this.machine\n });\n newState.changed = true;\n return newState;\n });\n\n _this.update(nextState, _event);\n\n _this._stopChildren();\n\n registry.free(_this.sessionId);\n });\n return this;\n };\n\n Interpreter.prototype.batch = function (events) {\n var _this = this;\n\n if (this.status === InterpreterStatus.NotStarted && this.options.deferEvents) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\" and are deferred. Make sure .start() is called for this service.\\nEvent: \").concat(JSON.stringify(event)));\n }\n } else if (this.status !== InterpreterStatus.Running) {\n throw new Error( // tslint:disable-next-line:max-line-length\n \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\"));\n }\n\n if (!events.length) {\n return;\n }\n\n var exec = !!this.machine.config.predictableActionArguments && this._exec;\n this.scheduler.schedule(function () {\n var e_11, _a;\n\n var nextState = _this.state;\n var batchChanged = false;\n var batchedActions = [];\n\n var _loop_1 = function (event_1) {\n var _event = toSCXMLEvent(event_1);\n\n _this.forward(_event);\n\n nextState = provide(_this, function () {\n return _this.machine.transition(nextState, _event, undefined, exec || undefined);\n });\n batchedActions.push.apply(batchedActions, __spreadArray([], __read(_this.machine.config.predictableActionArguments ? nextState.actions : nextState.actions.map(function (a) {\n return bindActionToState(a, nextState);\n })), false));\n batchChanged = batchChanged || !!nextState.changed;\n };\n\n try {\n for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {\n var event_1 = events_1_1.value;\n\n _loop_1(event_1);\n }\n } catch (e_11_1) {\n e_11 = {\n error: e_11_1\n };\n } finally {\n try {\n if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);\n } finally {\n if (e_11) throw e_11.error;\n }\n }\n\n nextState.changed = batchChanged;\n nextState.actions = batchedActions;\n\n _this.update(nextState, toSCXMLEvent(events[events.length - 1]));\n });\n };\n /**\r\n * Returns a send function bound to this interpreter instance.\r\n *\r\n * @param event The event to be sent by the sender.\r\n */\n\n\n Interpreter.prototype.sender = function (event) {\n return this.send.bind(this, event);\n };\n\n Interpreter.prototype._nextState = function (event, exec) {\n var _this = this;\n\n if (exec === void 0) {\n exec = !!this.machine.config.predictableActionArguments && this._exec;\n }\n\n var _event = toSCXMLEvent(event);\n\n if (_event.name.indexOf(errorPlatform) === 0 && !this.state.nextEvents.some(function (nextEvent) {\n return nextEvent.indexOf(errorPlatform) === 0;\n })) {\n throw _event.data.data;\n }\n\n var nextState = provide(this, function () {\n return _this.machine.transition(_this.state, _event, undefined, exec || undefined);\n });\n return nextState;\n };\n /**\r\n * Returns the next state given the interpreter's current state and the event.\r\n *\r\n * This is a pure method that does _not_ update the interpreter's state.\r\n *\r\n * @param event The event to determine the next state\r\n */\n\n\n Interpreter.prototype.nextState = function (event) {\n return this._nextState(event, false);\n };\n\n Interpreter.prototype.forward = function (event) {\n var e_12, _a;\n\n try {\n for (var _b = __values(this.forwardTo), _c = _b.next(); !_c.done; _c = _b.next()) {\n var id = _c.value;\n var child = this.children.get(id);\n\n if (!child) {\n throw new Error(\"Unable to forward event '\".concat(event, \"' from interpreter '\").concat(this.id, \"' to nonexistant child '\").concat(id, \"'.\"));\n }\n\n child.send(event);\n }\n } catch (e_12_1) {\n e_12 = {\n error: e_12_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_12) throw e_12.error;\n }\n }\n };\n\n Interpreter.prototype.defer = function (sendAction) {\n var _this = this;\n\n var timerId = this.clock.setTimeout(function () {\n if ('to' in sendAction && sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, true);\n } else {\n _this.send(sendAction._event);\n }\n }, sendAction.delay);\n\n if (sendAction.id) {\n this.delayedEventsMap[sendAction.id] = timerId;\n }\n };\n\n Interpreter.prototype.cancel = function (sendId) {\n this.clock.clearTimeout(this.delayedEventsMap[sendId]);\n delete this.delayedEventsMap[sendId];\n };\n\n Interpreter.prototype.exec = function (action, state, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = this.machine.options.actions;\n }\n\n this._exec(action, state.context, state._event, actionFunctionMap);\n };\n\n Interpreter.prototype.removeChild = function (childId) {\n var _a;\n\n this.children.delete(childId);\n this.forwardTo.delete(childId); // this.state might not exist at the time this is called,\n // such as when a child is added then removed while initializing the state\n\n (_a = this.state) === null || _a === void 0 ? true : delete _a.children[childId];\n };\n\n Interpreter.prototype.stopChild = function (childId) {\n var child = this.children.get(childId);\n\n if (!child) {\n return;\n }\n\n this.removeChild(childId);\n\n if (isFunction(child.stop)) {\n child.stop();\n }\n };\n\n Interpreter.prototype.spawn = function (entity, name, options) {\n if (this.status !== InterpreterStatus.Running) {\n return createDeferredActor(entity, name);\n }\n\n if (isPromiseLike(entity)) {\n return this.spawnPromise(Promise.resolve(entity), name);\n } else if (isFunction(entity)) {\n return this.spawnCallback(entity, name);\n } else if (isSpawnedActor(entity)) {\n return this.spawnActor(entity, name);\n } else if (isObservable(entity)) {\n return this.spawnObservable(entity, name);\n } else if (isMachine(entity)) {\n return this.spawnMachine(entity, __assign(__assign({}, options), {\n id: name\n }));\n } else if (isBehavior(entity)) {\n return this.spawnBehavior(entity, name);\n } else {\n throw new Error(\"Unable to spawn entity \\\"\".concat(name, \"\\\" of type \\\"\").concat(typeof entity, \"\\\".\"));\n }\n };\n\n Interpreter.prototype.spawnMachine = function (machine, options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var childService = new Interpreter(machine, __assign(__assign({}, this.options), {\n parent: this,\n id: options.id || machine.id\n }));\n\n var resolvedOptions = __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), options);\n\n if (resolvedOptions.sync) {\n childService.onTransition(function (state) {\n _this.send(update, {\n state: state,\n id: childService.id\n });\n });\n }\n\n var actor = childService;\n this.children.set(childService.id, actor);\n\n if (resolvedOptions.autoForward) {\n this.forwardTo.add(childService.id);\n }\n\n childService.onDone(function (doneEvent) {\n _this.removeChild(childService.id);\n\n _this.send(toSCXMLEvent(doneEvent, {\n origin: childService.id\n }));\n }).start();\n return actor;\n };\n\n Interpreter.prototype.spawnBehavior = function (behavior, id) {\n var actorRef = spawnBehavior(behavior, {\n id: id,\n parent: this\n });\n this.children.set(id, actorRef);\n return actorRef;\n };\n\n Interpreter.prototype.spawnPromise = function (promise, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var resolvedData;\n promise.then(function (response) {\n if (!canceled) {\n resolvedData = response;\n\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id, response), {\n origin: id\n }));\n }\n }, function (errorData) {\n if (!canceled) {\n _this.removeChild(id);\n\n var errorEvent = error(id, errorData);\n\n try {\n // Send \"error.platform.id\" to this (parent).\n _this.send(toSCXMLEvent(errorEvent, {\n origin: id\n }));\n } catch (error) {\n reportUnhandledExceptionOnInvocation(errorData, error, id);\n\n if (_this.devTools) {\n _this.devTools.send(errorEvent, _this.state);\n }\n\n if (_this.machine.strict) {\n // it would be better to always stop the state machine if unhandled\n // exception/promise rejection happens but because we don't want to\n // break existing code so enforce it on strict mode only especially so\n // because documentation says that onError is optional\n _this.stop();\n }\n }\n }\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n var unsubscribed = false;\n promise.then(function (response) {\n if (unsubscribed) {\n return;\n }\n\n observer.next(response);\n\n if (unsubscribed) {\n return;\n }\n\n observer.complete();\n }, function (err) {\n if (unsubscribed) {\n return;\n }\n\n observer.error(err);\n });\n return {\n unsubscribe: function () {\n return unsubscribed = true;\n }\n };\n },\n stop: function () {\n canceled = true;\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return resolvedData;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnCallback = function (callback, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var receivers = new Set();\n var listeners = new Set();\n var emitted;\n\n var receive = function (e) {\n emitted = e;\n listeners.forEach(function (listener) {\n return listener(e);\n });\n\n if (canceled) {\n return;\n }\n\n _this.send(toSCXMLEvent(e, {\n origin: id\n }));\n };\n\n var callbackStop;\n\n try {\n callbackStop = callback(receive, function (newListener) {\n receivers.add(newListener);\n });\n } catch (err) {\n this.send(error(id, err));\n }\n\n if (isPromiseLike(callbackStop)) {\n // it turned out to be an async function, can't reliably check this before calling `callback`\n // because transpiled async functions are not recognizable\n return this.spawnPromise(callbackStop, id);\n }\n\n var actor = (_a = {\n id: id,\n send: function (event) {\n return receivers.forEach(function (receiver) {\n return receiver(event);\n });\n },\n subscribe: function (next) {\n var observer = toObserver(next);\n listeners.add(observer.next);\n return {\n unsubscribe: function () {\n listeners.delete(observer.next);\n }\n };\n },\n stop: function () {\n canceled = true;\n\n if (isFunction(callbackStop)) {\n callbackStop();\n }\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return emitted;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnObservable = function (source, id) {\n var _a;\n\n var _this = this;\n\n var emitted;\n var subscription = source.subscribe(function (value) {\n emitted = value;\n\n _this.send(toSCXMLEvent(value, {\n origin: id\n }));\n }, function (err) {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(error(id, err), {\n origin: id\n }));\n }, function () {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id), {\n origin: id\n }));\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n return source.subscribe(next, handleError, complete);\n },\n stop: function () {\n return subscription.unsubscribe();\n },\n getSnapshot: function () {\n return emitted;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActor = function (actor, name) {\n this.children.set(name, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActivity = function (activity) {\n var implementation = this.machine.options && this.machine.options.activities ? this.machine.options.activities[activity.type] : undefined;\n\n if (!implementation) {\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for activity '\".concat(activity.type, \"'\"));\n } // tslint:disable-next-line:no-console\n\n\n return;\n } // Start implementation\n\n\n var dispose = implementation(this.state.context, activity);\n this.spawnEffect(activity.id, dispose);\n };\n\n Interpreter.prototype.spawnEffect = function (id, dispose) {\n var _a;\n\n this.children.set(id, (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n stop: dispose || undefined,\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a));\n };\n\n Interpreter.prototype.attachDev = function () {\n var global = getGlobal();\n\n if (this.options.devTools && global) {\n if (global.__REDUX_DEVTOOLS_EXTENSION__) {\n var devToolsOptions = typeof this.options.devTools === 'object' ? this.options.devTools : undefined;\n this.devTools = global.__REDUX_DEVTOOLS_EXTENSION__.connect(__assign(__assign({\n name: this.id,\n autoPause: true,\n stateSanitizer: function (state) {\n return {\n value: state.value,\n context: state.context,\n actions: state.actions\n };\n }\n }, devToolsOptions), {\n features: __assign({\n jump: false,\n skip: false\n }, devToolsOptions ? devToolsOptions.features : undefined)\n }), this.machine);\n this.devTools.init(this.state);\n } // add XState-specific dev tooling hook\n\n\n registerService(this);\n }\n };\n\n Interpreter.prototype.toJSON = function () {\n return {\n id: this.id\n };\n };\n\n Interpreter.prototype[symbolObservable] = function () {\n return this;\n };\n\n Interpreter.prototype.getSnapshot = function () {\n if (this.status === InterpreterStatus.NotStarted) {\n return this.initialState;\n }\n\n return this._state;\n };\n /**\r\n * The default interpreter options:\r\n *\r\n * - `clock` uses the global `setTimeout` and `clearTimeout` functions\r\n * - `logger` uses the global `console.log()` method\r\n */\n\n\n Interpreter.defaultOptions = {\n execute: true,\n deferEvents: true,\n clock: {\n setTimeout: function (fn, ms) {\n return setTimeout(fn, ms);\n },\n clearTimeout: function (id) {\n return clearTimeout(id);\n }\n },\n logger: /*#__PURE__*/console.log.bind(console),\n devTools: false\n };\n Interpreter.interpret = interpret;\n return Interpreter;\n}();\n\nvar resolveSpawnOptions = function (nameOrOptions) {\n if (isString(nameOrOptions)) {\n return __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: nameOrOptions\n });\n }\n\n return __assign(__assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: uniqueId()\n }), nameOrOptions);\n};\n\nfunction spawn(entity, nameOrOptions) {\n var resolvedOptions = resolveSpawnOptions(nameOrOptions);\n return consume(function (service) {\n if (!IS_PRODUCTION) {\n var isLazyEntity = isMachine(entity) || isFunction(entity);\n warn(!!service || isLazyEntity, \"Attempted to spawn an Actor (ID: \\\"\".concat(isMachine(entity) ? entity.id : 'undefined', \"\\\") outside of a service. This will have no effect.\"));\n }\n\n if (service) {\n return service.spawn(entity, resolvedOptions.name, resolvedOptions);\n } else {\n return createDeferredActor(entity, resolvedOptions.name);\n }\n });\n}\n/**\r\n * Creates a new Interpreter instance for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to interpret\r\n * @param options Interpreter options\r\n */\n\nfunction interpret(machine, options) {\n var interpreter = new Interpreter(machine, options);\n return interpreter;\n}\n\nexport { Interpreter, InterpreterStatus, interpret, spawn };\n","import * as React from 'react';\nexport default function useConstant(fn) {\n var ref = React.useRef();\n if (!ref.current) {\n ref.current = { v: fn() };\n }\n return ref.current.v;\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { useEffect, useState } from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\nimport { interpret, InterpreterStatus, State, toObserver } from 'xstate';\nimport useConstant from './useConstant';\nexport function useIdleInterpreter(getMachine, options) {\n var machine = useConstant(function () {\n return typeof getMachine === 'function' ? getMachine() : getMachine;\n });\n if (process.env.NODE_ENV !== 'production' &&\n typeof getMachine !== 'function') {\n var _a = __read(useState(machine), 1), initialMachine = _a[0];\n if (getMachine !== initialMachine) {\n console.warn('Machine given to `useMachine` has changed between renders. This is not supported and might lead to unexpected results.\\n' +\n 'Please make sure that you pass the same Machine as argument each time.');\n }\n }\n var context = options.context, guards = options.guards, actions = options.actions, activities = options.activities, services = options.services, delays = options.delays, rehydratedState = options.state, interpreterOptions = __rest(options, [\"context\", \"guards\", \"actions\", \"activities\", \"services\", \"delays\", \"state\"]);\n var service = useConstant(function () {\n var machineConfig = {\n context: context,\n guards: guards,\n actions: actions,\n activities: activities,\n services: services,\n delays: delays\n };\n var machineWithConfig = machine.withConfig(machineConfig, function () { return (__assign(__assign({}, machine.context), context)); });\n return interpret(machineWithConfig, interpreterOptions);\n });\n // Make sure options are kept updated when they change.\n // This mutation assignment is safe because the service instance is only used\n // in one place -- this hook's caller.\n useIsomorphicLayoutEffect(function () {\n Object.assign(service.machine.options.actions, actions);\n Object.assign(service.machine.options.guards, guards);\n Object.assign(service.machine.options.activities, activities);\n Object.assign(service.machine.options.services, services);\n Object.assign(service.machine.options.delays, delays);\n }, [actions, guards, activities, services, delays]);\n return service;\n}\nexport function useInterpret(getMachine) {\n var _a = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n _a[_i - 1] = arguments[_i];\n }\n var _b = __read(_a, 2), _c = _b[0], options = _c === void 0 ? {} : _c, observerOrListener = _b[1];\n var service = useIdleInterpreter(getMachine, options);\n useEffect(function () {\n if (!observerOrListener) {\n return;\n }\n var sub = service.subscribe(toObserver(observerOrListener));\n return function () {\n sub.unsubscribe();\n };\n }, [observerOrListener]);\n useEffect(function () {\n var rehydratedState = options.state;\n service.start(rehydratedState ? State.create(rehydratedState) : undefined);\n return function () {\n service.stop();\n service.status = InterpreterStatus.NotStarted;\n };\n }, []);\n return service;\n}\n","import { __assign, __rest } from './_virtual/_tslib.js';\nimport './types.js';\nimport { invoke } from './actionTypes.js';\nimport './utils.js';\nimport './environment.js';\n\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n var simpleSrc = {\n type: src\n };\n\n simpleSrc.toString = function () {\n return src;\n }; // v4 compat - TODO: remove in v5\n\n\n return simpleSrc;\n }\n\n return src;\n}\nfunction toInvokeDefinition(invokeConfig) {\n return __assign(__assign({\n type: invoke\n }, invokeConfig), {\n toJSON: function () {\n invokeConfig.onDone;\n invokeConfig.onError;\n var invokeDef = __rest(invokeConfig, [\"onDone\", \"onError\"]);\n\n return __assign(__assign({}, invokeDef), {\n type: invoke,\n src: toInvokeSource(invokeConfig.src)\n });\n }\n });\n}\n\nexport { toInvokeDefinition, toInvokeSource };\n","import { __assign, __spreadArray, __read, __values, __rest } from './_virtual/_tslib.js';\nimport { isFunction, mapValues, isArray, flatten, toArray, toStateValue, isString, getEventType, toSCXMLEvent, matchesState, path, evaluateGuard, mapContext, isRaisableAction, pathToStateValue, isBuiltInEvent, partition, updateHistoryValue, toStatePath, mapFilterValues, warn, toStatePaths, nestedPath, normalizeTarget, toGuard, toTransitionConfigArray, isMachine, createInvokeId } from './utils.js';\nimport { State, stateValuesEqual } from './State.js';\nimport { start as start$1, stop as stop$1, invoke, update, nullEvent } from './actionTypes.js';\nimport { done, start, toActionObjects, raise, stop, resolveActions, doneInvoke, error, toActionObject, toActivityDefinition, after, send, cancel, initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { STATE_DELIMITER } from './constants.js';\nimport { getAllStateNodes, getConfiguration, isInFinalState, getTagsFromConfiguration, has, getChildren, getValue, isLeafNode, getAllChildren } from './stateUtils.js';\nimport { createInvocableActor } from './Actor.js';\nimport { toInvokeDefinition } from './invokeUtils.js';\n\nvar NULL_EVENT = '';\nvar STATE_IDENTIFIER = '#';\nvar WILDCARD = '*';\nvar EMPTY_OBJECT = {};\n\nvar isStateId = function (str) {\n return str[0] === STATE_IDENTIFIER;\n};\n\nvar createDefaultOptions = function () {\n return {\n actions: {},\n guards: {},\n services: {},\n activities: {},\n delays: {}\n };\n};\n\nvar validateArrayifiedTransitions = function (stateNode, event, transitions) {\n var hasNonLastUnguardedTarget = transitions.slice(0, -1).some(function (transition) {\n return !('cond' in transition) && !('in' in transition) && (isString(transition.target) || isMachine(transition.target));\n });\n var eventText = event === NULL_EVENT ? 'the transient event' : \"event '\".concat(event, \"'\");\n warn(!hasNonLastUnguardedTarget, \"One or more transitions for \".concat(eventText, \" on state '\").concat(stateNode.id, \"' are unreachable. \") + \"Make sure that the default transition is the last one defined.\");\n};\n\nvar StateNode =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function StateNode(\n /**\r\n * The raw config used to create the machine.\r\n */\n config, options,\n /**\r\n * The initial extended state\r\n */\n _context, // TODO: this is unsafe, but we're removing it in v5 anyway\n _stateInfo) {\n if (_context === void 0) {\n _context = 'context' in config ? config.context : undefined;\n }\n\n var _this = this;\n\n var _a;\n\n this.config = config;\n this._context = _context;\n /**\r\n * The order this state node appears. Corresponds to the implicit SCXML document order.\r\n */\n\n this.order = -1;\n this.__xstatenode = true;\n this.__cache = {\n events: undefined,\n relativeValue: new Map(),\n initialStateValue: undefined,\n initialState: undefined,\n on: undefined,\n transitions: undefined,\n candidates: {},\n delayedTransitions: undefined\n };\n this.idMap = {};\n this.tags = [];\n this.options = Object.assign(createDefaultOptions(), options);\n this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;\n this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';\n this.machine = this.parent ? this.parent.machine : this;\n this.path = this.parent ? this.parent.path.concat(this.key) : [];\n this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : STATE_DELIMITER);\n this.id = this.config.id || __spreadArray([this.machine.key], __read(this.path), false).join(this.delimiter);\n this.version = this.parent ? this.parent.version : this.config.version;\n this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');\n this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};\n this.description = this.config.description;\n\n if (!IS_PRODUCTION) {\n warn(!('parallel' in this.config), \"The \\\"parallel\\\" property is deprecated and will be removed in version 4.1. \".concat(this.config.parallel ? \"Replace with `type: 'parallel'`\" : \"Use `type: '\".concat(this.type, \"'`\"), \" in the config for state node '\").concat(this.id, \"' instead.\"));\n }\n\n this.initial = this.config.initial;\n this.states = this.config.states ? mapValues(this.config.states, function (stateConfig, key) {\n var _a;\n\n var stateNode = new StateNode(stateConfig, {}, undefined, {\n parent: _this,\n key: key\n });\n Object.assign(_this.idMap, __assign((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));\n return stateNode;\n }) : EMPTY_OBJECT; // Document order\n\n var order = 0;\n\n function dfs(stateNode) {\n var e_1, _a;\n\n stateNode.order = order++;\n\n try {\n for (var _b = __values(getAllChildren(stateNode)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n dfs(child);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n\n dfs(this); // History config\n\n this.history = this.config.history === true ? 'shallow' : this.config.history || false;\n this._transient = !!this.config.always || (!this.config.on ? false : Array.isArray(this.config.on) ? this.config.on.some(function (_a) {\n var event = _a.event;\n return event === NULL_EVENT;\n }) : NULL_EVENT in this.config.on);\n this.strict = !!this.config.strict; // TODO: deprecate (entry)\n\n this.onEntry = toArray(this.config.entry || this.config.onEntry).map(function (action) {\n return toActionObject(action);\n }); // TODO: deprecate (exit)\n\n this.onExit = toArray(this.config.exit || this.config.onExit).map(function (action) {\n return toActionObject(action);\n });\n this.meta = this.config.meta;\n this.doneData = this.type === 'final' ? this.config.data : undefined;\n this.invoke = toArray(this.config.invoke).map(function (invokeConfig, i) {\n var _a, _b;\n\n if (isMachine(invokeConfig)) {\n var invokeId = createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_a = {}, _a[invokeId] = invokeConfig, _a), _this.machine.options.services);\n return toInvokeDefinition({\n src: invokeId,\n id: invokeId\n });\n } else if (isString(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n return toInvokeDefinition(__assign(__assign({}, invokeConfig), {\n id: invokeId,\n src: invokeConfig.src\n }));\n } else if (isMachine(invokeConfig.src) || isFunction(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_b = {}, _b[invokeId] = invokeConfig.src, _b), _this.machine.options.services);\n return toInvokeDefinition(__assign(__assign({\n id: invokeId\n }, invokeConfig), {\n src: invokeId\n }));\n } else {\n var invokeSource = invokeConfig.src;\n return toInvokeDefinition(__assign(__assign({\n id: createInvokeId(_this.id, i)\n }, invokeConfig), {\n src: invokeSource\n }));\n }\n });\n this.activities = toArray(this.config.activities).concat(this.invoke).map(function (activity) {\n return toActivityDefinition(activity);\n });\n this.transition = this.transition.bind(this);\n this.tags = toArray(this.config.tags); // TODO: this is the real fix for initialization once\n // state node getters are deprecated\n // if (!this.parent) {\n // this._init();\n // }\n }\n\n StateNode.prototype._init = function () {\n if (this.__cache.transitions) {\n return;\n }\n\n getAllStateNodes(this).forEach(function (stateNode) {\n return stateNode.on;\n });\n };\n /**\r\n * Clones this state machine with custom options and context.\r\n *\r\n * @param options Options (actions, guards, activities, services) to recursively merge with the existing options.\r\n * @param context Custom context (will override predefined context)\r\n */\n\n\n StateNode.prototype.withConfig = function (options, context) {\n var _a = this.options,\n actions = _a.actions,\n activities = _a.activities,\n guards = _a.guards,\n services = _a.services,\n delays = _a.delays;\n return new StateNode(this.config, {\n actions: __assign(__assign({}, actions), options.actions),\n activities: __assign(__assign({}, activities), options.activities),\n guards: __assign(__assign({}, guards), options.guards),\n services: __assign(__assign({}, services), options.services),\n delays: __assign(__assign({}, delays), options.delays)\n }, context !== null && context !== void 0 ? context : this.context);\n };\n /**\r\n * Clones this state machine with custom context.\r\n *\r\n * @param context Custom context (will override predefined context, not recursive)\r\n */\n\n\n StateNode.prototype.withContext = function (context) {\n return new StateNode(this.config, this.options, context);\n };\n\n Object.defineProperty(StateNode.prototype, \"context\", {\n get: function () {\n return isFunction(this._context) ? this._context() : this._context;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"definition\", {\n /**\r\n * The well-structured state node definition.\r\n */\n get: function () {\n return {\n id: this.id,\n key: this.key,\n version: this.version,\n context: this.context,\n type: this.type,\n initial: this.initial,\n history: this.history,\n states: mapValues(this.states, function (state) {\n return state.definition;\n }),\n on: this.on,\n transitions: this.transitions,\n entry: this.onEntry,\n exit: this.onExit,\n activities: this.activities || [],\n meta: this.meta,\n order: this.order || -1,\n data: this.doneData,\n invoke: this.invoke,\n description: this.description,\n tags: this.tags\n };\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.toJSON = function () {\n return this.definition;\n };\n\n Object.defineProperty(StateNode.prototype, \"on\", {\n /**\r\n * The mapping of events to transitions.\r\n */\n get: function () {\n if (this.__cache.on) {\n return this.__cache.on;\n }\n\n var transitions = this.transitions;\n return this.__cache.on = transitions.reduce(function (map, transition) {\n map[transition.eventType] = map[transition.eventType] || [];\n map[transition.eventType].push(transition);\n return map;\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"after\", {\n get: function () {\n return this.__cache.delayedTransitions || (this.__cache.delayedTransitions = this.getDelayedTransitions(), this.__cache.delayedTransitions);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"transitions\", {\n /**\r\n * All the transitions that can be taken from this state node.\r\n */\n get: function () {\n return this.__cache.transitions || (this.__cache.transitions = this.formatTransitions(), this.__cache.transitions);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getCandidates = function (eventName) {\n if (this.__cache.candidates[eventName]) {\n return this.__cache.candidates[eventName];\n }\n\n var transient = eventName === NULL_EVENT;\n var candidates = this.transitions.filter(function (transition) {\n var sameEventType = transition.eventType === eventName; // null events should only match against eventless transitions\n\n return transient ? sameEventType : sameEventType || transition.eventType === WILDCARD;\n });\n this.__cache.candidates[eventName] = candidates;\n return candidates;\n };\n /**\r\n * All delayed transitions from the config.\r\n */\n\n\n StateNode.prototype.getDelayedTransitions = function () {\n var _this = this;\n\n var afterConfig = this.config.after;\n\n if (!afterConfig) {\n return [];\n }\n\n var mutateEntryExit = function (delay, i) {\n var delayRef = isFunction(delay) ? \"\".concat(_this.id, \":delay[\").concat(i, \"]\") : delay;\n var eventType = after(delayRef, _this.id);\n\n _this.onEntry.push(send(eventType, {\n delay: delay\n }));\n\n _this.onExit.push(cancel(eventType));\n\n return eventType;\n };\n\n var delayedTransitions = isArray(afterConfig) ? afterConfig.map(function (transition, i) {\n var eventType = mutateEntryExit(transition.delay, i);\n return __assign(__assign({}, transition), {\n event: eventType\n });\n }) : flatten(Object.keys(afterConfig).map(function (delay, i) {\n var configTransition = afterConfig[delay];\n var resolvedTransition = isString(configTransition) ? {\n target: configTransition\n } : configTransition;\n var resolvedDelay = !isNaN(+delay) ? +delay : delay;\n var eventType = mutateEntryExit(resolvedDelay, i);\n return toArray(resolvedTransition).map(function (transition) {\n return __assign(__assign({}, transition), {\n event: eventType,\n delay: resolvedDelay\n });\n });\n }));\n return delayedTransitions.map(function (delayedTransition) {\n var delay = delayedTransition.delay;\n return __assign(__assign({}, _this.formatTransition(delayedTransition)), {\n delay: delay\n });\n });\n };\n /**\r\n * Returns the state nodes represented by the current state value.\r\n *\r\n * @param state The state value or State instance\r\n */\n\n\n StateNode.prototype.getStateNodes = function (state) {\n var _a;\n\n var _this = this;\n\n if (!state) {\n return [];\n }\n\n var stateValue = state instanceof State ? state.value : toStateValue(state, this.delimiter);\n\n if (isString(stateValue)) {\n var initialStateValue = this.getStateNode(stateValue).initial;\n return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];\n }\n\n var subStateKeys = Object.keys(stateValue);\n var subStateNodes = [this];\n subStateNodes.push.apply(subStateNodes, __spreadArray([], __read(flatten(subStateKeys.map(function (subStateKey) {\n return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);\n }))), false));\n return subStateNodes;\n };\n /**\r\n * Returns `true` if this state node explicitly handles the given event.\r\n *\r\n * @param event The event in question\r\n */\n\n\n StateNode.prototype.handles = function (event) {\n var eventType = getEventType(event);\n return this.events.includes(eventType);\n };\n /**\r\n * Resolves the given `state` to a new `State` instance relative to this machine.\r\n *\r\n * This ensures that `.events` and `.nextEvents` represent the correct values.\r\n *\r\n * @param state The state to resolve\r\n */\n\n\n StateNode.prototype.resolveState = function (state) {\n var stateFromConfig = state instanceof State ? state : State.create(state);\n var configuration = Array.from(getConfiguration([], this.getStateNodes(stateFromConfig.value)));\n return new State(__assign(__assign({}, stateFromConfig), {\n value: this.resolve(stateFromConfig.value),\n configuration: configuration,\n done: isInFinalState(configuration, this),\n tags: getTagsFromConfiguration(configuration),\n machine: this.machine\n }));\n };\n\n StateNode.prototype.transitionLeafNode = function (stateValue, state, _event) {\n var stateNode = this.getStateNode(stateValue);\n var next = stateNode.next(state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {\n var subStateKeys = Object.keys(stateValue);\n var stateNode = this.getStateNode(subStateKeys[0]);\n\n var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionParallelNode = function (stateValue, state, _event) {\n var e_2, _a;\n\n var transitionMap = {};\n\n try {\n for (var _b = __values(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var subStateKey = _c.value;\n var subStateValue = stateValue[subStateKey];\n\n if (!subStateValue) {\n continue;\n }\n\n var subStateNode = this.getStateNode(subStateKey);\n\n var next = subStateNode._transition(subStateValue, state, _event);\n\n if (next) {\n transitionMap[subStateKey] = next;\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n var stateTransitions = Object.keys(transitionMap).map(function (key) {\n return transitionMap[key];\n });\n var enabledTransitions = flatten(stateTransitions.map(function (st) {\n return st.transitions;\n }));\n var willTransition = stateTransitions.some(function (st) {\n return st.transitions.length > 0;\n });\n\n if (!willTransition) {\n return this.next(state, _event);\n }\n\n var configuration = flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].configuration;\n }));\n return {\n transitions: enabledTransitions,\n exitSet: flatten(stateTransitions.map(function (t) {\n return t.exitSet;\n })),\n configuration: configuration,\n source: state,\n actions: flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].actions;\n }))\n };\n };\n\n StateNode.prototype._transition = function (stateValue, state, _event) {\n // leaf node\n if (isString(stateValue)) {\n return this.transitionLeafNode(stateValue, state, _event);\n } // hierarchical node\n\n\n if (Object.keys(stateValue).length === 1) {\n return this.transitionCompoundNode(stateValue, state, _event);\n } // orthogonal node\n\n\n return this.transitionParallelNode(stateValue, state, _event);\n };\n\n StateNode.prototype.getTransitionData = function (state, event) {\n return this._transition(state.value, state, toSCXMLEvent(event));\n };\n\n StateNode.prototype.next = function (state, _event) {\n var e_3, _a;\n\n var _this = this;\n\n var eventName = _event.name;\n var actions = [];\n var nextStateNodes = [];\n var selectedTransition;\n\n try {\n for (var _b = __values(this.getCandidates(eventName)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var candidate = _c.value;\n var cond = candidate.cond,\n stateIn = candidate.in;\n var resolvedContext = state.context;\n var isInState = stateIn ? isString(stateIn) && isStateId(stateIn) ? // Check if in state by ID\n state.matches(toStateValue(this.getStateNodeById(stateIn).path, this.delimiter)) : // Check if in state by relative grandparent\n matchesState(toStateValue(stateIn, this.delimiter), path(this.path.slice(0, -2))(state.value)) : true;\n var guardPassed = false;\n\n try {\n guardPassed = !cond || evaluateGuard(this.machine, cond, resolvedContext, _event, state);\n } catch (err) {\n throw new Error(\"Unable to evaluate guard '\".concat(cond.name || cond.type, \"' in transition for event '\").concat(eventName, \"' in state node '\").concat(this.id, \"':\\n\").concat(err.message));\n }\n\n if (guardPassed && isInState) {\n if (candidate.target !== undefined) {\n nextStateNodes = candidate.target;\n }\n\n actions.push.apply(actions, __spreadArray([], __read(candidate.actions), false));\n selectedTransition = candidate;\n break;\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n if (!selectedTransition) {\n return undefined;\n }\n\n if (!nextStateNodes.length) {\n return {\n transitions: [selectedTransition],\n exitSet: [],\n configuration: state.value ? [this] : [],\n source: state,\n actions: actions\n };\n }\n\n var allNextStateNodes = flatten(nextStateNodes.map(function (stateNode) {\n return _this.getRelativeStateNodes(stateNode, state.historyValue);\n }));\n var isInternal = !!selectedTransition.internal;\n return {\n transitions: [selectedTransition],\n exitSet: isInternal ? [] : flatten(nextStateNodes.map(function (targetNode) {\n return _this.getPotentiallyReenteringNodes(targetNode);\n })),\n configuration: allNextStateNodes,\n source: state,\n actions: actions\n };\n }; // even though the name of this function mentions reentry nodes\n // we are pushing its result into `exitSet`\n // that's because what we exit might be reentered (it's an invariant of reentrancy)\n\n\n StateNode.prototype.getPotentiallyReenteringNodes = function (targetNode) {\n if (this.order < targetNode.order) {\n return [this];\n }\n\n var nodes = [];\n var marker = this;\n var possibleAncestor = targetNode;\n\n while (marker && marker !== possibleAncestor) {\n nodes.push(marker);\n marker = marker.parent;\n }\n\n if (marker !== possibleAncestor) {\n // we never got to `possibleAncestor`, therefore the initial `marker` \"escapes\" it\n // it's in a different part of the tree so no states will be reentered for such an external transition\n return [];\n }\n\n nodes.push(possibleAncestor);\n return nodes;\n };\n\n StateNode.prototype.getActions = function (resolvedConfig, isDone, transition, currentContext, _event, prevState, predictableExec) {\n var e_4, _a, e_5, _b;\n\n var _this = this;\n\n var prevConfig = prevState ? getConfiguration([], this.getStateNodes(prevState.value)) : [];\n var entrySet = new Set();\n\n try {\n for (var _c = __values(Array.from(resolvedConfig).sort(function (a, b) {\n return a.order - b.order;\n })), _d = _c.next(); !_d.done; _d = _c.next()) {\n var sn = _d.value;\n\n if (!has(prevConfig, sn) || has(transition.exitSet, sn) || sn.parent && entrySet.has(sn.parent)) {\n entrySet.add(sn);\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n try {\n for (var prevConfig_1 = __values(prevConfig), prevConfig_1_1 = prevConfig_1.next(); !prevConfig_1_1.done; prevConfig_1_1 = prevConfig_1.next()) {\n var sn = prevConfig_1_1.value;\n\n if (!has(resolvedConfig, sn) || has(transition.exitSet, sn.parent)) {\n transition.exitSet.push(sn);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (prevConfig_1_1 && !prevConfig_1_1.done && (_b = prevConfig_1.return)) _b.call(prevConfig_1);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n transition.exitSet.sort(function (a, b) {\n return b.order - a.order;\n });\n var entryStates = Array.from(entrySet).sort(function (a, b) {\n return a.order - b.order;\n });\n var exitStates = new Set(transition.exitSet);\n var doneEvents = flatten(entryStates.map(function (sn) {\n var events = [];\n\n if (sn.type !== 'final') {\n return events;\n }\n\n var parent = sn.parent;\n\n if (!parent.parent) {\n return events;\n }\n\n events.push(done(sn.id, sn.doneData), // TODO: deprecate - final states should not emit done events for their own state.\n done(parent.id, sn.doneData ? mapContext(sn.doneData, currentContext, _event) : undefined));\n var grandparent = parent.parent;\n\n if (grandparent.type === 'parallel') {\n if (getChildren(grandparent).every(function (parentNode) {\n return isInFinalState(transition.configuration, parentNode);\n })) {\n events.push(done(grandparent.id));\n }\n }\n\n return events;\n }));\n var entryActions = entryStates.map(function (stateNode) {\n var entryActions = stateNode.onEntry;\n var invokeActions = stateNode.activities.map(function (activity) {\n return start(activity);\n });\n return {\n type: 'entry',\n actions: toActionObjects(predictableExec ? __spreadArray(__spreadArray([], __read(entryActions), false), __read(invokeActions), false) : __spreadArray(__spreadArray([], __read(invokeActions), false), __read(entryActions), false), _this.machine.options.actions)\n };\n }).concat({\n type: 'state_done',\n actions: doneEvents.map(function (event) {\n return raise(event);\n })\n });\n var exitActions = Array.from(exitStates).map(function (stateNode) {\n return {\n type: 'exit',\n actions: toActionObjects(__spreadArray(__spreadArray([], __read(stateNode.onExit), false), __read(stateNode.activities.map(function (activity) {\n return stop(activity);\n })), false), _this.machine.options.actions)\n };\n });\n var actions = exitActions.concat({\n type: 'transition',\n actions: toActionObjects(transition.actions, this.machine.options.actions)\n }).concat(entryActions);\n\n if (isDone) {\n var stopActions = toActionObjects(flatten(__spreadArray([], __read(resolvedConfig), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return stateNode.onExit;\n })), this.machine.options.actions).filter(function (action) {\n return !isRaisableAction(action);\n });\n return actions.concat({\n type: 'stop',\n actions: stopActions\n });\n }\n\n return actions;\n };\n /**\r\n * Determines the next state given the current `state` and sent `event`.\r\n *\r\n * @param state The current State instance or state value\r\n * @param event The event that was sent at the current state\r\n * @param context The current context (extended state) of the current state\r\n */\n\n\n StateNode.prototype.transition = function (state, event, context, exec) {\n if (state === void 0) {\n state = this.initialState;\n }\n\n var _event = toSCXMLEvent(event);\n\n var currentState;\n\n if (state instanceof State) {\n currentState = context === undefined ? state : this.resolveState(State.from(state, context));\n } else {\n var resolvedStateValue = isString(state) ? this.resolve(pathToStateValue(this.getResolvedPath(state))) : this.resolve(state);\n var resolvedContext = context !== null && context !== void 0 ? context : this.machine.context;\n currentState = this.resolveState(State.from(resolvedStateValue, resolvedContext));\n }\n\n if (!IS_PRODUCTION && _event.name === WILDCARD) {\n throw new Error(\"An event cannot have the wildcard type ('\".concat(WILDCARD, \"')\"));\n }\n\n if (this.strict) {\n if (!this.events.includes(_event.name) && !isBuiltInEvent(_event.name)) {\n throw new Error(\"Machine '\".concat(this.id, \"' does not accept event '\").concat(_event.name, \"'\"));\n }\n }\n\n var stateTransition = this._transition(currentState.value, currentState, _event) || {\n transitions: [],\n configuration: [],\n exitSet: [],\n source: currentState,\n actions: []\n };\n var prevConfig = getConfiguration([], this.getStateNodes(currentState.value));\n var resolvedConfig = stateTransition.configuration.length ? getConfiguration(prevConfig, stateTransition.configuration) : prevConfig;\n stateTransition.configuration = __spreadArray([], __read(resolvedConfig), false);\n return this.resolveTransition(stateTransition, currentState, currentState.context, exec, _event);\n };\n\n StateNode.prototype.resolveRaisedTransition = function (state, _event, originalEvent, predictableExec) {\n var _a;\n\n var currentActions = state.actions;\n state = this.transition(state, _event, undefined, predictableExec); // Save original event to state\n // TODO: this should be the raised event! Delete in V5 (breaking)\n\n state._event = originalEvent;\n state.event = originalEvent.data;\n\n (_a = state.actions).unshift.apply(_a, __spreadArray([], __read(currentActions), false));\n\n return state;\n };\n\n StateNode.prototype.resolveTransition = function (stateTransition, currentState, context, predictableExec, _event) {\n var e_6, _a, e_7, _b;\n\n var _this = this;\n\n if (_event === void 0) {\n _event = initEvent;\n }\n\n var configuration = stateTransition.configuration; // Transition will \"apply\" if:\n // - this is the initial state (there is no current state)\n // - OR there are transitions\n\n var willTransition = !currentState || stateTransition.transitions.length > 0;\n var resolvedConfiguration = willTransition ? stateTransition.configuration : currentState ? currentState.configuration : [];\n var isDone = isInFinalState(resolvedConfiguration, this);\n var resolvedStateValue = willTransition ? getValue(this.machine, configuration) : undefined;\n var historyValue = currentState ? currentState.historyValue ? currentState.historyValue : stateTransition.source ? this.machine.historyValue(currentState.value) : undefined : undefined;\n var actionBlocks = this.getActions(new Set(resolvedConfiguration), isDone, stateTransition, context, _event, currentState, predictableExec);\n var activities = currentState ? __assign({}, currentState.activities) : {};\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n\n try {\n for (var _c = (e_7 = void 0, __values(block.actions)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var action = _d.value;\n\n if (action.type === start$1) {\n activities[action.activity.id || action.activity.type] = action;\n } else if (action.type === stop$1) {\n activities[action.activity.id || action.activity.type] = false;\n }\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n var _e = __read(resolveActions(this, currentState, context, _event, actionBlocks, predictableExec, this.machine.config.predictableActionArguments || this.machine.config.preserveActionOrder), 2),\n resolvedActions = _e[0],\n updatedContext = _e[1];\n\n var _f = __read(partition(resolvedActions, isRaisableAction), 2),\n raisedEvents = _f[0],\n nonRaisedActions = _f[1];\n\n var invokeActions = resolvedActions.filter(function (action) {\n var _a;\n\n return action.type === start$1 && ((_a = action.activity) === null || _a === void 0 ? void 0 : _a.type) === invoke;\n });\n var children = invokeActions.reduce(function (acc, action) {\n acc[action.activity.id] = createInvocableActor(action.activity, _this.machine, updatedContext, _event);\n return acc;\n }, currentState ? __assign({}, currentState.children) : {});\n var nextState = new State({\n value: resolvedStateValue || currentState.value,\n context: updatedContext,\n _event: _event,\n // Persist _sessionid between states\n _sessionid: currentState ? currentState._sessionid : null,\n historyValue: resolvedStateValue ? historyValue ? updateHistoryValue(historyValue, resolvedStateValue) : undefined : currentState ? currentState.historyValue : undefined,\n history: !resolvedStateValue || stateTransition.source ? currentState : undefined,\n actions: resolvedStateValue ? nonRaisedActions : [],\n activities: resolvedStateValue ? activities : currentState ? currentState.activities : {},\n events: [],\n configuration: resolvedConfiguration,\n transitions: stateTransition.transitions,\n children: children,\n done: isDone,\n tags: getTagsFromConfiguration(resolvedConfiguration),\n machine: this\n });\n var didUpdateContext = context !== updatedContext;\n nextState.changed = _event.name === update || didUpdateContext; // Dispose of penultimate histories to prevent memory leaks\n\n var history = nextState.history;\n\n if (history) {\n delete history.history;\n } // There are transient transitions if the machine is not in a final state\n // and if some of the state nodes have transient (\"always\") transitions.\n\n\n var hasAlwaysTransitions = !isDone && (this._transient || configuration.some(function (stateNode) {\n return stateNode._transient;\n })); // If there are no enabled transitions, check if there are transient transitions.\n // If there are transient transitions, continue checking for more transitions\n // because an transient transition should be triggered even if there are no\n // enabled transitions.\n //\n // If we're already working on an transient transition then stop to prevent an infinite loop.\n //\n // Otherwise, if there are no enabled nor transient transitions, we are done.\n\n if (!willTransition && (!hasAlwaysTransitions || _event.name === NULL_EVENT)) {\n return nextState;\n }\n\n var maybeNextState = nextState;\n\n if (!isDone) {\n if (hasAlwaysTransitions) {\n maybeNextState = this.resolveRaisedTransition(maybeNextState, {\n type: nullEvent\n }, _event, predictableExec);\n }\n\n while (raisedEvents.length) {\n var raisedEvent = raisedEvents.shift();\n maybeNextState = this.resolveRaisedTransition(maybeNextState, raisedEvent._event, _event, predictableExec);\n }\n } // Detect if state changed\n\n\n var changed = maybeNextState.changed || (history ? !!maybeNextState.actions.length || didUpdateContext || typeof history.value !== typeof maybeNextState.value || !stateValuesEqual(maybeNextState.value, history.value) : undefined);\n maybeNextState.changed = changed; // Preserve original history after raised events\n\n maybeNextState.history = history;\n return maybeNextState;\n };\n /**\r\n * Returns the child state node from its relative `stateKey`, or throws.\r\n */\n\n\n StateNode.prototype.getStateNode = function (stateKey) {\n if (isStateId(stateKey)) {\n return this.machine.getStateNodeById(stateKey);\n }\n\n if (!this.states) {\n throw new Error(\"Unable to retrieve child state '\".concat(stateKey, \"' from '\").concat(this.id, \"'; no child states exist.\"));\n }\n\n var result = this.states[stateKey];\n\n if (!result) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return result;\n };\n /**\r\n * Returns the state node with the given `stateId`, or throws.\r\n *\r\n * @param stateId The state ID. The prefix \"#\" is removed.\r\n */\n\n\n StateNode.prototype.getStateNodeById = function (stateId) {\n var resolvedStateId = isStateId(stateId) ? stateId.slice(STATE_IDENTIFIER.length) : stateId;\n\n if (resolvedStateId === this.id) {\n return this;\n }\n\n var stateNode = this.machine.idMap[resolvedStateId];\n\n if (!stateNode) {\n throw new Error(\"Child state node '#\".concat(resolvedStateId, \"' does not exist on machine '\").concat(this.id, \"'\"));\n }\n\n return stateNode;\n };\n /**\r\n * Returns the relative state node from the given `statePath`, or throws.\r\n *\r\n * @param statePath The string or string array relative path to the state node.\r\n */\n\n\n StateNode.prototype.getStateNodeByPath = function (statePath) {\n if (typeof statePath === 'string' && isStateId(statePath)) {\n try {\n return this.getStateNodeById(statePath.slice(1));\n } catch (e) {// try individual paths\n // throw e;\n }\n }\n\n var arrayStatePath = toStatePath(statePath, this.delimiter).slice();\n var currentStateNode = this;\n\n while (arrayStatePath.length) {\n var key = arrayStatePath.shift();\n\n if (!key.length) {\n break;\n }\n\n currentStateNode = currentStateNode.getStateNode(key);\n }\n\n return currentStateNode;\n };\n /**\r\n * Resolves a partial state value with its full representation in this machine.\r\n *\r\n * @param stateValue The partial state value to resolve.\r\n */\n\n\n StateNode.prototype.resolve = function (stateValue) {\n var _a;\n\n var _this = this;\n\n if (!stateValue) {\n return this.initialStateValue || EMPTY_OBJECT; // TODO: type-specific properties\n }\n\n switch (this.type) {\n case 'parallel':\n return mapValues(this.initialStateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(stateValue[subStateKey] || subStateValue) : EMPTY_OBJECT;\n });\n\n case 'compound':\n if (isString(stateValue)) {\n var subStateNode = this.getStateNode(stateValue);\n\n if (subStateNode.type === 'parallel' || subStateNode.type === 'compound') {\n return _a = {}, _a[stateValue] = subStateNode.initialStateValue, _a;\n }\n\n return stateValue;\n }\n\n if (!Object.keys(stateValue).length) {\n return this.initialStateValue || {};\n }\n\n return mapValues(stateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(subStateValue) : EMPTY_OBJECT;\n });\n\n default:\n return stateValue || EMPTY_OBJECT;\n }\n };\n\n StateNode.prototype.getResolvedPath = function (stateIdentifier) {\n if (isStateId(stateIdentifier)) {\n var stateNode = this.machine.idMap[stateIdentifier.slice(STATE_IDENTIFIER.length)];\n\n if (!stateNode) {\n throw new Error(\"Unable to find state node '\".concat(stateIdentifier, \"'\"));\n }\n\n return stateNode.path;\n }\n\n return toStatePath(stateIdentifier, this.delimiter);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateValue\", {\n get: function () {\n var _a;\n\n if (this.__cache.initialStateValue) {\n return this.__cache.initialStateValue;\n }\n\n var initialStateValue;\n\n if (this.type === 'parallel') {\n initialStateValue = mapFilterValues(this.states, function (state) {\n return state.initialStateValue || EMPTY_OBJECT;\n }, function (stateNode) {\n return !(stateNode.type === 'history');\n });\n } else if (this.initial !== undefined) {\n if (!this.states[this.initial]) {\n throw new Error(\"Initial state '\".concat(this.initial, \"' not found on '\").concat(this.key, \"'\"));\n }\n\n initialStateValue = isLeafNode(this.states[this.initial]) ? this.initial : (_a = {}, _a[this.initial] = this.states[this.initial].initialStateValue, _a);\n } else {\n // The finite state value of a machine without child states is just an empty object\n initialStateValue = {};\n }\n\n this.__cache.initialStateValue = initialStateValue;\n return this.__cache.initialStateValue;\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getInitialState = function (stateValue, context) {\n this._init(); // TODO: this should be in the constructor (see note in constructor)\n\n\n var configuration = this.getStateNodes(stateValue);\n return this.resolveTransition({\n configuration: configuration,\n exitSet: [],\n transitions: [],\n source: undefined,\n actions: []\n }, undefined, context !== null && context !== void 0 ? context : this.machine.context, undefined);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialState\", {\n /**\r\n * The initial State instance, which includes all actions to be executed from\r\n * entering the initial state.\r\n */\n get: function () {\n var initialStateValue = this.initialStateValue;\n\n if (!initialStateValue) {\n throw new Error(\"Cannot retrieve initial state from simple state '\".concat(this.id, \"'.\"));\n }\n\n return this.getInitialState(initialStateValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"target\", {\n /**\r\n * The target state value of the history state node, if it exists. This represents the\r\n * default state value to transition to if no history value exists yet.\r\n */\n get: function () {\n var target;\n\n if (this.type === 'history') {\n var historyConfig = this.config;\n\n if (isString(historyConfig.target)) {\n target = isStateId(historyConfig.target) ? pathToStateValue(this.machine.getStateNodeById(historyConfig.target).path.slice(this.path.length - 1)) : historyConfig.target;\n } else {\n target = historyConfig.target;\n }\n }\n\n return target;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Returns the leaf nodes from a state path relative to this state node.\r\n *\r\n * @param relativeStateId The relative state path to retrieve the state nodes\r\n * @param history The previous state to retrieve history\r\n * @param resolve Whether state nodes should resolve to initial child state nodes\r\n */\n\n StateNode.prototype.getRelativeStateNodes = function (relativeStateId, historyValue, resolve) {\n if (resolve === void 0) {\n resolve = true;\n }\n\n return resolve ? relativeStateId.type === 'history' ? relativeStateId.resolveHistory(historyValue) : relativeStateId.initialStateNodes : [relativeStateId];\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateNodes\", {\n get: function () {\n var _this = this;\n\n if (isLeafNode(this)) {\n return [this];\n } // Case when state node is compound but no initial state is defined\n\n\n if (this.type === 'compound' && !this.initial) {\n if (!IS_PRODUCTION) {\n warn(false, \"Compound state node '\".concat(this.id, \"' has no initial state.\"));\n }\n\n return [this];\n }\n\n var initialStateNodePaths = toStatePaths(this.initialStateValue);\n return flatten(initialStateNodePaths.map(function (initialPath) {\n return _this.getFromRelativePath(initialPath);\n }));\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Retrieves state nodes from a relative path to this state node.\r\n *\r\n * @param relativePath The relative path from this state node\r\n * @param historyValue\r\n */\n\n StateNode.prototype.getFromRelativePath = function (relativePath) {\n if (!relativePath.length) {\n return [this];\n }\n\n var _a = __read(relativePath),\n stateKey = _a[0],\n childStatePath = _a.slice(1);\n\n if (!this.states) {\n throw new Error(\"Cannot retrieve subPath '\".concat(stateKey, \"' from node with no states\"));\n }\n\n var childStateNode = this.getStateNode(stateKey);\n\n if (childStateNode.type === 'history') {\n return childStateNode.resolveHistory();\n }\n\n if (!this.states[stateKey]) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return this.states[stateKey].getFromRelativePath(childStatePath);\n };\n\n StateNode.prototype.historyValue = function (relativeStateValue) {\n if (!Object.keys(this.states).length) {\n return undefined;\n }\n\n return {\n current: relativeStateValue || this.initialStateValue,\n states: mapFilterValues(this.states, function (stateNode, key) {\n if (!relativeStateValue) {\n return stateNode.historyValue();\n }\n\n var subStateValue = isString(relativeStateValue) ? undefined : relativeStateValue[key];\n return stateNode.historyValue(subStateValue || stateNode.initialStateValue);\n }, function (stateNode) {\n return !stateNode.history;\n })\n };\n };\n /**\r\n * Resolves to the historical value(s) of the parent state node,\r\n * represented by state nodes.\r\n *\r\n * @param historyValue\r\n */\n\n\n StateNode.prototype.resolveHistory = function (historyValue) {\n var _this = this;\n\n if (this.type !== 'history') {\n return [this];\n }\n\n var parent = this.parent;\n\n if (!historyValue) {\n var historyTarget = this.target;\n return historyTarget ? flatten(toStatePaths(historyTarget).map(function (relativeChildPath) {\n return parent.getFromRelativePath(relativeChildPath);\n })) : parent.initialStateNodes;\n }\n\n var subHistoryValue = nestedPath(parent.path, 'states')(historyValue).current;\n\n if (isString(subHistoryValue)) {\n return [parent.getStateNode(subHistoryValue)];\n }\n\n return flatten(toStatePaths(subHistoryValue).map(function (subStatePath) {\n return _this.history === 'deep' ? parent.getFromRelativePath(subStatePath) : [parent.states[subStatePath[0]]];\n }));\n };\n\n Object.defineProperty(StateNode.prototype, \"stateIds\", {\n /**\r\n * All the state node IDs of this state node and its descendant state nodes.\r\n */\n get: function () {\n var _this = this;\n\n var childStateIds = flatten(Object.keys(this.states).map(function (stateKey) {\n return _this.states[stateKey].stateIds;\n }));\n return [this.id].concat(childStateIds);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"events\", {\n /**\r\n * All the event types accepted by this state node and its descendants.\r\n */\n get: function () {\n var e_8, _a, e_9, _b;\n\n if (this.__cache.events) {\n return this.__cache.events;\n }\n\n var states = this.states;\n var events = new Set(this.ownEvents);\n\n if (states) {\n try {\n for (var _c = __values(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var stateId = _d.value;\n var state = states[stateId];\n\n if (state.states) {\n try {\n for (var _e = (e_9 = void 0, __values(state.events)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var event_1 = _f.value;\n events.add(\"\".concat(event_1));\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n }\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n }\n\n return this.__cache.events = Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"ownEvents\", {\n /**\r\n * All the events that have transitions directly from this state node.\r\n *\r\n * Excludes any inert events.\r\n */\n get: function () {\n var events = new Set(this.transitions.filter(function (transition) {\n return !(!transition.target && !transition.actions.length && transition.internal);\n }).map(function (transition) {\n return transition.eventType;\n }));\n return Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.resolveTarget = function (_target) {\n var _this = this;\n\n if (_target === undefined) {\n // an undefined target signals that the state node should not transition from that state when receiving that event\n return undefined;\n }\n\n return _target.map(function (target) {\n if (!isString(target)) {\n return target;\n }\n\n var isInternalTarget = target[0] === _this.delimiter; // If internal target is defined on machine,\n // do not include machine key on target\n\n if (isInternalTarget && !_this.parent) {\n return _this.getStateNodeByPath(target.slice(1));\n }\n\n var resolvedTarget = isInternalTarget ? _this.key + target : target;\n\n if (_this.parent) {\n try {\n var targetStateNode = _this.parent.getStateNodeByPath(resolvedTarget);\n\n return targetStateNode;\n } catch (err) {\n throw new Error(\"Invalid transition definition for state node '\".concat(_this.id, \"':\\n\").concat(err.message));\n }\n } else {\n return _this.getStateNodeByPath(resolvedTarget);\n }\n });\n };\n\n StateNode.prototype.formatTransition = function (transitionConfig) {\n var _this = this;\n\n var normalizedTarget = normalizeTarget(transitionConfig.target);\n var internal = 'internal' in transitionConfig ? transitionConfig.internal : normalizedTarget ? normalizedTarget.some(function (_target) {\n return isString(_target) && _target[0] === _this.delimiter;\n }) : true;\n var guards = this.machine.options.guards;\n var target = this.resolveTarget(normalizedTarget);\n\n var transition = __assign(__assign({}, transitionConfig), {\n actions: toActionObjects(toArray(transitionConfig.actions)),\n cond: toGuard(transitionConfig.cond, guards),\n target: target,\n source: this,\n internal: internal,\n eventType: transitionConfig.event,\n toJSON: function () {\n return __assign(__assign({}, transition), {\n target: transition.target ? transition.target.map(function (t) {\n return \"#\".concat(t.id);\n }) : undefined,\n source: \"#\".concat(_this.id)\n });\n }\n });\n\n return transition;\n };\n\n StateNode.prototype.formatTransitions = function () {\n var e_10, _a;\n\n var _this = this;\n\n var onConfig;\n\n if (!this.config.on) {\n onConfig = [];\n } else if (Array.isArray(this.config.on)) {\n onConfig = this.config.on;\n } else {\n var _b = this.config.on,\n _c = WILDCARD,\n _d = _b[_c],\n wildcardConfigs = _d === void 0 ? [] : _d,\n strictTransitionConfigs_1 = __rest(_b, [typeof _c === \"symbol\" ? _c : _c + \"\"]);\n\n onConfig = flatten(Object.keys(strictTransitionConfigs_1).map(function (key) {\n if (!IS_PRODUCTION && key === NULL_EVENT) {\n warn(false, \"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. \" + \"Please check the `on` configuration for \\\"#\".concat(_this.id, \"\\\".\"));\n }\n\n var transitionConfigArray = toTransitionConfigArray(key, strictTransitionConfigs_1[key]);\n\n if (!IS_PRODUCTION) {\n validateArrayifiedTransitions(_this, key, transitionConfigArray);\n }\n\n return transitionConfigArray;\n }).concat(toTransitionConfigArray(WILDCARD, wildcardConfigs)));\n }\n\n var eventlessConfig = this.config.always ? toTransitionConfigArray('', this.config.always) : [];\n var doneConfig = this.config.onDone ? toTransitionConfigArray(String(done(this.id)), this.config.onDone) : [];\n\n if (!IS_PRODUCTION) {\n warn(!(this.config.onDone && !this.parent), \"Root nodes cannot have an \\\".onDone\\\" transition. Please check the config of \\\"\".concat(this.id, \"\\\".\"));\n }\n\n var invokeConfig = flatten(this.invoke.map(function (invokeDef) {\n var settleTransitions = [];\n\n if (invokeDef.onDone) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(doneInvoke(invokeDef.id)), invokeDef.onDone)), false));\n }\n\n if (invokeDef.onError) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(error(invokeDef.id)), invokeDef.onError)), false));\n }\n\n return settleTransitions;\n }));\n var delayedTransitions = this.after;\n var formattedTransitions = flatten(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(doneConfig), false), __read(invokeConfig), false), __read(onConfig), false), __read(eventlessConfig), false).map(function (transitionConfig) {\n return toArray(transitionConfig).map(function (transition) {\n return _this.formatTransition(transition);\n });\n }));\n\n try {\n for (var delayedTransitions_1 = __values(delayedTransitions), delayedTransitions_1_1 = delayedTransitions_1.next(); !delayedTransitions_1_1.done; delayedTransitions_1_1 = delayedTransitions_1.next()) {\n var delayedTransition = delayedTransitions_1_1.value;\n formattedTransitions.push(delayedTransition);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (delayedTransitions_1_1 && !delayedTransitions_1_1.done && (_a = delayedTransitions_1.return)) _a.call(delayedTransitions_1);\n } finally {\n if (e_10) throw e_10.error;\n }\n }\n\n return formattedTransitions;\n };\n\n return StateNode;\n}();\n\nexport { StateNode };\n","import { StateNode } from './StateNode.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar warned = false;\nfunction Machine(config, options, initialContext) {\n if (initialContext === void 0) {\n initialContext = config.context;\n }\n\n return new StateNode(config, options, initialContext);\n}\nfunction createMachine(config, options) {\n if (!IS_PRODUCTION && !('predictableActionArguments' in config) && !warned) {\n warned = true;\n console.warn('It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html');\n }\n\n return new StateNode(config, options);\n}\n\nexport { Machine, createMachine };\n","import { assign as assign$1, send as send$1, sendTo as sendTo$1, sendParent as sendParent$1, sendUpdate as sendUpdate$1, forwardTo as forwardTo$1, doneInvoke as doneInvoke$1, raise as raise$1 } from './actions.js';\nimport * as actions from './actions.js';\nexport { actions };\nexport { toActorRef } from './Actor.js';\nexport { Interpreter, InterpreterStatus, interpret, spawn } from './interpreter.js';\nexport { Machine, createMachine } from './Machine.js';\nexport { mapState } from './mapState.js';\nexport { matchState } from './match.js';\nexport { createSchema, t } from './schema.js';\nexport { State } from './State.js';\nexport { StateNode } from './StateNode.js';\nexport { spawnBehavior } from './behaviors.js';\nexport { ActionTypes, SpecialTargets } from './types.js';\nexport { matchesState, toEventObject, toObserver, toSCXMLEvent } from './utils.js';\n\nvar assign = assign$1,\n send = send$1,\n sendTo = sendTo$1,\n sendParent = sendParent$1,\n sendUpdate = sendUpdate$1,\n forwardTo = forwardTo$1,\n doneInvoke = doneInvoke$1,\n raise = raise$1;\n\nexport { assign, doneInvoke, forwardTo, raise, send, sendParent, sendTo, sendUpdate };\n","import{__awaiter as e}from\"tslib\";import{Auth as r}from\"aws-amplify\";import{actions as t}from\"xstate\";import\"../../types/authenticator/user.mjs\";import\"../../types/authenticator/attributes.mjs\";import\"../../types/primitives/componentClassName.mjs\";import\"../../i18n/translations.mjs\";import{trimValues as a}from\"../../helpers/authenticator/utils.mjs\";import\"../../helpers/accountSettings/utils.mjs\";const{assign:o,stop:s}=t,n=e=>s(e),i=o({attributeToVerify:e=>{}}),u=o({challengeName:e=>{}}),m=o({requiredAttributes:e=>{}}),l=o({remoteError:e=>\"\"}),d=o({formValues:e=>({})}),c=o({touched:e=>({})}),p=o({unverifiedContactMethods:e=>{}}),f=o({username:e=>{}}),v=o({validationError:e=>({})}),h=o({totpSecretCode:(e,r)=>r.data}),g=o({challengeName:(e,r)=>{var t;return null===(t=r.data)||void 0===t?void 0:t.challengeName}}),b=o({requiredAttributes:(e,r)=>{var t,a;return null===(a=null===(t=r.data)||void 0===t?void 0:t.challengeParam)||void 0===a?void 0:a.requiredAttributes}}),V=o({redirectIntent:e=>\"confirmPasswordReset\"}),j=o({redirectIntent:e=>\"confirmSignUp\"}),y=o({authAttributes:(e,r)=>{var t,a;const[o]=e.loginMechanisms;return{username:null!==(t=e.formValues[o])&&void 0!==t?t:e.formValues.username,password:null===(a=e.formValues)||void 0===a?void 0:a.password}}}),O=o({validationError:(e,r)=>r.data}),_=o({remoteError:(e,r)=>{var t;return\"NoUserPoolError\"===r.data.name?\"Configuration error (see console) – please contact the administrator\":(null===(t=r.data)||void 0===t?void 0:t.message)||r.data}}),w=o({unverifiedContactMethods:(e,r)=>r.data.unverified}),A=o({user:(e,r)=>r.data.user||r.data}),C=o({username:(e,r)=>{let{formValues:{username:t,country_code:a}}=e;return a&&(t=`${a}${t}`),t}}),E=o({codeDeliveryDetails:(e,r)=>r.data.codeDeliveryDetails}),N=o({authAttributes:(e,r)=>({username:e.formValues.username})}),$=o({formValues:(e,r)=>{const{name:t,value:a}=r.data;return Object.assign(Object.assign({},e.formValues),{[t]:a})}}),D=o({formValues:(e,r)=>{const t=Object.assign(Object.assign({},e.formValues),r.data);return a(t,\"password\")}}),M=o({touched:(e,r)=>{const{name:t}=r.data;return Object.assign(Object.assign({},e.touched),{[`${t}`]:!0})}}),P=t=>e(void 0,void 0,void 0,(function*(){const{username:e}=t;return yield r.forgotPassword(e)})),q=o({formValues:(e,r)=>{var t;const[a=\"username\"]=e.loginMechanisms;if(!e.formValues.phone_number&&\"phone_number\"!==a)return e.formValues;const{formValues:o,country_code:s}=e,n=o.phone_number?\"phone_number\":\"username\",i=`${null!==(t=o.country_code)&&void 0!==t?t:s}${o[n]}`.replace(/[^A-Z0-9+]/gi,\"\"),u=Object.assign(Object.assign({},o),{[n]:i});return delete u.country_code,u}});export{i as clearAttributeToVerify,u as clearChallengeName,l as clearError,d as clearFormValues,m as clearRequiredAttributes,c as clearTouched,p as clearUnverifiedContactMethods,f as clearUsername,v as clearValidationError,M as handleBlur,$ as handleInput,D as handleSubmit,q as parsePhoneNumber,P as resendCode,g as setChallengeName,E as setCodeDeliveryDetails,V as setConfirmResetPasswordIntent,j as setConfirmSignUpIntent,y as setCredentials,O as setFieldErrors,_ as setRemoteError,b as setRequiredAttributes,h as setTotpSecretCode,w as setUnverifiedContactMethods,A as setUser,C as setUsername,N as setUsernameAuthAttributes,n as stopActor};\n","import{__awaiter as o}from\"tslib\";import r from\"lodash/merge.js\";import{isEmpty as i}from\"../utils/index.mjs\";const e=(e,m,s,t)=>o(void 0,void 0,void 0,(function*(){const o=yield Promise.all(t.map((o=>o(e,m,s)))),l=r({},...o);return i(l)?Promise.resolve():Promise.reject(l)}));export{e as runValidators};\n","import{__awaiter as r}from\"tslib\";import{Amplify as t,Auth as s}from\"aws-amplify\";import\"../../types/authenticator/user.mjs\";import\"../../types/authenticator/attributes.mjs\";import\"../../types/primitives/componentClassName.mjs\";import\"../../i18n/translations.mjs\";import{hasSpecialChars as n}from\"../../helpers/authenticator/utils.mjs\";import\"../../helpers/accountSettings/utils.mjs\";const o={getAmplifyConfig(){return r(this,void 0,void 0,(function*(){return t.configure()}))},getCurrentUser(){return r(this,void 0,void 0,(function*(){return s.currentAuthenticatedUser()}))},handleSignUp(t){return r(this,void 0,void 0,(function*(){return s.signUp(Object.assign(Object.assign({},t),{autoSignIn:{enabled:!0}}))}))},handleSignIn({username:t,password:n}){return r(this,void 0,void 0,(function*(){return s.signIn(t,n)}))},handleConfirmSignIn({user:t,code:n,mfaType:o}){return r(this,void 0,void 0,(function*(){return s.confirmSignIn(t,n,o)}))},handleConfirmSignUp({username:t,code:n}){return r(this,void 0,void 0,(function*(){return yield s.confirmSignUp(t,n)}))},handleForgotPasswordSubmit({username:t,code:n,password:o}){return r(this,void 0,void 0,(function*(){return s.forgotPasswordSubmit(t,n,o)}))},handleForgotPassword(t){return r(this,void 0,void 0,(function*(){return s.forgotPassword(t)}))},validateCustomSignUp(t,s){return r(this,void 0,void 0,(function*(){}))},validateFormPassword(t,s,o){return r(this,void 0,void 0,(function*(){const{password:r}=t,{password:e}=s;if(!e||!o)return null;const i=[],a=+(null==o?void 0:o.passwordPolicyMinLength);r.length<a&&i.push(`Password must have at least ${a} characters`);const u=null==o?void 0:o.passwordPolicyCharacters;return null==u||u.forEach((t=>{switch(t){case\"REQUIRES_LOWERCASE\":/[a-z]/.test(r)||i.push(\"Password must have lower case letters\");break;case\"REQUIRES_UPPERCASE\":/[A-Z]/.test(r)||i.push(\"Password must have upper case letters\");break;case\"REQUIRES_NUMBERS\":/[0-9]/.test(r)||i.push(\"Password must have numbers\");break;case\"REQUIRES_SYMBOLS\":n(r)||i.push(\"Password must have special characters\")}})),0!==i.length?{password:i}:null}))},validateConfirmPassword(t,s){return r(this,void 0,void 0,(function*(){const{password:r,confirm_password:n}=t,{confirm_password:o,password:e}=s;return r||n?(r||n)&&r!==n&&(o&&e||(null==r?void 0:r.length)>=6&&(null==n?void 0:n.length)>=6)?{confirm_password:\"Your passwords must match\"}:void 0:null}))},validatePreferredUsername(t,s){return r(this,void 0,void 0,(function*(){}))}};export{o as defaultServices};\n","import{__awaiter as e,__rest as t}from\"tslib\";import{Auth as r}from\"aws-amplify\";import n from\"lodash/get.js\";import{createMachine as o,sendUpdate as i}from\"xstate\";import{runValidators as s}from\"../../../validators/index.mjs\";import{clearAttributeToVerify as a,clearChallengeName as d,clearRequiredAttributes as c,clearError as l,clearFormValues as u,clearTouched as g,clearUnverifiedContactMethods as m,clearValidationError as f,handleInput as p,handleSubmit as h,handleBlur as I,parsePhoneNumber as v,setChallengeName as S,setConfirmResetPasswordIntent as A,setConfirmSignUpIntent as U,setRequiredAttributes as E,setCredentials as y,setFieldErrors as T,setRemoteError as C,setTotpSecretCode as b,setUnverifiedContactMethods as N,setUser as w,setUsernameAuthAttributes as R}from\"../actions.mjs\";import{defaultServices as P}from\"../defaultServices.mjs\";import{isEmpty as V}from\"../../../utils/index.mjs\";const _=[\"SMS_MFA\",\"SOFTWARE_TOKEN_MFA\"],F=e=>n(e,\"data.challengeName\"),O=(e,t)=>e===t,j=e=>_.includes(e);function k({services:n}){return o({initial:\"init\",id:\"signInActor\",predictableActionArguments:!0,states:{init:{always:[{target:\"autoSignIn.submit\",cond:\"shouldAutoSubmit\"},{target:\"autoSignIn\",cond:\"shouldAutoSignIn\"},{target:\"signIn\"}]},signIn:{initial:\"edit\",exit:[\"clearFormValues\",\"clearTouched\"],states:{edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},CHANGE:{actions:\"handleInput\"},FEDERATED_SIGN_IN:\"federatedSignIn\"}},federatedSignIn:{tags:[\"pending\"],entry:[\"sendUpdate\",\"clearError\"],invoke:{src:\"federatedSignIn\",onError:{actions:\"setRemoteError\"}}},submit:{tags:[\"pending\"],entry:[\"parsePhoneNumber\",\"clearError\",\"sendUpdate\"],invoke:{src:\"signIn\",onDone:[{cond:\"shouldSetupTOTP\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.setupTOTP\"},{cond:\"shouldConfirmSignIn\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.confirmSignIn\"},{cond:\"shouldForceChangePassword\",actions:[\"setUser\",\"setChallengeName\",\"setRequiredAttributes\"],target:\"#signInActor.forceNewPassword\"},{actions:\"setUser\",target:\"verifying\"}],onError:[{cond:\"shouldRedirectToConfirmSignUp\",actions:[\"setCredentials\",\"setConfirmSignUpIntent\"],target:\"rejected\"},{cond:\"shouldRedirectToConfirmResetPassword\",actions:[\"setUsernameAuthAttributes\",\"setConfirmResetPasswordIntent\"],target:\"rejected\"},{actions:\"setRemoteError\",target:\"edit\"}]}},verifying:{tags:[\"pending\"],entry:[\"clearError\",\"sendUpdate\"],invoke:{src:\"checkVerifiedContact\",onDone:[{cond:\"shouldRequestVerification\",target:\"#signInActor.verifyUser\",actions:\"setUnverifiedContactMethods\"},{target:\"resolved\"}],onError:{actions:\"setRemoteError\",target:\"edit\"}}},resolved:{always:\"#signInActor.resolved\"},rejected:{always:\"#signInActor.rejected\"}}},autoSignIn:{initial:\"pending\",states:{pending:{tags:[\"pending\"],entry:[\"clearError\",\"sendUpdate\"],on:{AUTO_SIGN_IN:[{cond:\"shouldSetupTOTP\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.setupTOTP\"},{cond:\"shouldConfirmSignIn\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.confirmSignIn\"},{cond:\"shouldForceChangePassword\",actions:[\"setUser\",\"setChallengeName\",\"setRequiredAttributes\"],target:\"#signInActor.forceNewPassword\"},{actions:\"setUser\",target:\"#signInActor.resolved\"}],AUTO_SIGN_IN_FAILURE:{actions:\"setRemoteError\",target:\"pending\"}}},submit:{tags:[\"pending\"],entry:[\"clearError\",\"sendUpdate\"],invoke:{src:\"signIn\",onDone:[{cond:\"shouldSetupTOTP\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.setupTOTP\"},{cond:\"shouldConfirmSignIn\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.confirmSignIn\"},{cond:\"shouldForceChangePassword\",actions:[\"setUser\",\"setChallengeName\",\"setRequiredAttributes\"],target:\"#signInActor.forceNewPassword\"},{actions:\"setUser\",target:\"#signInActor.resolved\"}],onError:{actions:\"setRemoteError\",target:\"#signInActor.signIn\"}}},resolved:{always:\"#signInActor.resolved\"},rejected:{always:\"#signInActor.rejected\"}}},confirmSignIn:{initial:\"edit\",exit:[\"clearFormValues\",\"clearError\",\"clearTouched\"],states:{edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},SIGN_IN:\"#signInActor.signIn\",CHANGE:{actions:\"handleInput\"}}},submit:{tags:[\"pending\"],entry:[\"clearError\",\"sendUpdate\"],invoke:{src:\"confirmSignIn\",onDone:{target:\"#signInActor.resolved\",actions:[\"setUser\",\"clearChallengeName\",\"clearRequiredAttributes\"]},onError:{target:\"edit\",actions:\"setRemoteError\"}}}}},forceNewPassword:{type:\"parallel\",exit:[\"clearFormValues\",\"clearError\",\"clearTouched\"],states:{validation:{initial:\"pending\",states:{pending:{invoke:{src:\"validateFields\",onDone:{target:\"valid\",actions:\"clearValidationError\"},onError:{target:\"invalid\",actions:\"setFieldErrors\"}}},valid:{entry:\"sendUpdate\"},invalid:{entry:\"sendUpdate\"}},on:{SIGN_IN:\"#signInActor.signIn\",CHANGE:{actions:\"handleInput\",target:\".pending\"},BLUR:{actions:\"handleBlur\",target:\".pending\"}}},submit:{initial:\"idle\",entry:\"clearError\",states:{idle:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"validate\"}}},validate:{entry:\"sendUpdate\",invoke:{src:\"validateFields\",onDone:{target:\"pending\",actions:\"clearValidationError\"},onError:{target:\"idle\",actions:\"setFieldErrors\"}}},pending:{tags:[\"pending\"],entry:[\"sendUpdate\",\"clearError\"],invoke:{src:\"forceNewPassword\",onDone:[{cond:\"shouldConfirmSignIn\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.confirmSignIn\"},{cond:\"shouldSetupTOTP\",actions:[\"setUser\",\"setChallengeName\"],target:\"#signInActor.setupTOTP\"},{target:\"resolved\",actions:[\"setUser\",\"setCredentials\"]}],onError:{target:\"idle\",actions:\"setRemoteError\"}}},resolved:{type:\"final\",always:\"#signInActor.resolved\"}}}}},setupTOTP:{initial:\"getTotpSecretCode\",exit:[\"clearFormValues\",\"clearError\",\"clearTouched\"],states:{getTotpSecretCode:{invoke:{src:\"getTotpSecretCode\",onDone:{target:\"edit\",actions:\"setTotpSecretCode\"},onError:{target:\"edit\",actions:\"setRemoteError\"}}},edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},SIGN_IN:\"#signInActor.signIn\",CHANGE:{actions:\"handleInput\"}}},submit:{tags:[\"pending\"],entry:[\"sendUpdate\",\"clearError\"],invoke:{src:\"verifyTotpToken\",onDone:{actions:[\"clearChallengeName\",\"clearRequiredAttributes\"],target:\"#signInActor.resolved\"},onError:{actions:\"setRemoteError\",target:\"edit\"}}}}},verifyUser:{initial:\"edit\",exit:[\"clearFormValues\",\"clearError\",\"clearTouched\"],states:{edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},SKIP:\"#signInActor.resolved\",CHANGE:{actions:\"handleInput\"}}},submit:{tags:[\"pending\"],entry:\"clearError\",invoke:{src:\"verifyUser\",onDone:{target:\"#signInActor.confirmVerifyUser\"},onError:{actions:\"setRemoteError\",target:\"edit\"}}}}},confirmVerifyUser:{initial:\"edit\",exit:[\"clearFormValues\",\"clearError\",\"clearUnverifiedContactMethods\",\"clearAttributeToVerify\",\"clearTouched\"],states:{edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},SKIP:\"#signInActor.resolved\",CHANGE:{actions:\"handleInput\"}}},submit:{tags:[\"pending\"],entry:\"clearError\",invoke:{src:\"confirmVerifyUser\",onDone:{target:\"#signInActor.resolved\"},onError:{actions:\"setRemoteError\",target:\"edit\"}}}}},resolved:{type:\"final\",data:e=>({user:e.user})},rejected:{type:\"final\",data:(e,t)=>({intent:e.redirectIntent,authAttributes:e.authAttributes})}}},{actions:{clearAttributeToVerify:a,clearChallengeName:d,clearRequiredAttributes:c,clearError:l,clearFormValues:u,clearTouched:g,clearUnverifiedContactMethods:m,clearValidationError:f,handleInput:p,handleSubmit:h,handleBlur:I,parsePhoneNumber:v,setChallengeName:S,setConfirmResetPasswordIntent:A,setConfirmSignUpIntent:U,setRequiredAttributes:E,setCredentials:y,setFieldErrors:T,setRemoteError:C,setTotpSecretCode:b,setUnverifiedContactMethods:N,setUser:w,setUsernameAuthAttributes:R,sendUpdate:i()},guards:{shouldAutoSignIn:e=>\"autoSignIn\"===(null==e?void 0:e.intent),shouldAutoSubmit:e=>\"autoSignInSubmit\"===(null==e?void 0:e.intent),shouldConfirmSignIn:(e,t)=>j(F(t)),shouldForceChangePassword:(e,t)=>O(F(t),\"NEW_PASSWORD_REQUIRED\"),shouldRedirectToConfirmResetPassword:(e,t)=>\"PasswordResetRequiredException\"===t.data.code,shouldRedirectToConfirmSignUp:(e,t)=>\"UserNotConfirmedException\"===t.data.code,shouldRequestVerification:(e,t)=>{const{unverified:r,verified:n}=t.data;return V(n)&&!V(r)},shouldSetupTOTP:(e,t)=>O(F(t),\"MFA_SETUP\")},services:{signIn(t){return e(this,void 0,void 0,(function*(){const{authAttributes:e={},formValues:r={}}=t,o=Object.assign(Object.assign({},e),r),{username:i,password:s}=o;return yield n.handleSignIn({username:i,password:s})}))},confirmSignIn(t){return e(this,void 0,void 0,(function*(){const{challengeName:e,user:o}=t,{confirmation_code:i}=t.formValues,s=j(e)?e:void 0;return yield n.handleConfirmSignIn({user:o,code:i,mfaType:s}),yield r.currentAuthenticatedUser()}))},forceNewPassword(n){return e(this,void 0,void 0,(function*(){const{user:e,formValues:o}=n;let i,{password:s,confirm_password:a,phone_number:d,country_code:c}=o,l=t(o,[\"password\",\"confirm_password\",\"phone_number\",\"country_code\"]);d&&(i=`${c}${d}`.replace(/[^A-Z0-9+]/gi,\"\"),l=Object.assign(Object.assign({},l),{phone_number:i}));try{const t=yield r.completeNewPassword(e,s,l);return t.challengeName?t:r.currentAuthenticatedUser()}catch(e){return Promise.reject(e)}}))},getTotpSecretCode(t){return e(this,void 0,void 0,(function*(){const{user:e}=t;return r.setupTOTP(e)}))},verifyTotpToken(t){return e(this,void 0,void 0,(function*(){const{formValues:e,user:n}=t,{confirmation_code:o}=e;return r.verifyTotpToken(n,o)}))},federatedSignIn(t,n){return e(this,void 0,void 0,(function*(){const{provider:e}=n.data;return yield r.federatedSignIn({provider:e})}))},checkVerifiedContact(t){return e(this,void 0,void 0,(function*(){const{user:e}=t;return yield r.verifiedContact(e)}))},verifyUser(t){return e(this,void 0,void 0,(function*(){const{unverifiedAttr:e}=t.formValues,n=yield r.verifyCurrentUserAttribute(e);return t.attributeToVerify=e,n}))},confirmVerifyUser(t){return e(this,void 0,void 0,(function*(){const{attributeToVerify:e}=t,{confirmation_code:n}=t.formValues;return yield r.verifyCurrentUserAttributeSubmit(e,n)}))},validateFields(t){return e(this,void 0,void 0,(function*(){return s(t.formValues,t.touched,t.passwordSettings,[P.validateFormPassword,P.validateConfirmPassword])}))}}})}export{k as signInActor};\n","import{createMachine as e}from\"xstate\";import{Auth as t}from\"aws-amplify\";const i=e({initial:\"pending\",id:\"signOutActor\",predictableActionArguments:!0,states:{pending:{tags:[\"pending\"],invoke:{src:\"signOut\",onDone:\"resolved\",onError:\"rejected\"}},resolved:{type:\"final\"},rejected:{type:\"final\"}}},{services:{signOut:()=>t.signOut()}});export{i as signOutActor};\n","import{__rest as t}from\"tslib\";import{createMachine as o,forwardTo as i,assign as n,spawn as e,actions as r}from\"xstate\";import{stopActor as s}from\"./actions.mjs\";import{signInActor as a}from\"./actors/signIn.mjs\";import{signOutActor as c}from\"./actors/signOut.mjs\";import{resetPasswordActor as d}from\"./actors/resetPassword.mjs\";import{defaultServices as u}from\"./defaultServices.mjs\";import{createSignUpMachine as l}from\"./signUp.mjs\";const{choose:g}=r;function v(){return o({id:\"authenticator\",initial:\"idle\",context:{user:void 0,config:{},services:u,actorRef:void 0,hasSetup:!1},predictableActionArguments:!0,states:{idle:{invoke:{src:\"getCurrentUser\",onDone:{actions:\"setUser\",target:\"authenticated\"},onError:{target:\"setup\"}}},setup:{initial:\"waitConfig\",states:{waitConfig:{on:{INIT:{actions:[\"configure\",\"setHasSetup\"],target:\"applyConfig\"}}},applyConfig:{invoke:{src:\"getAmplifyConfig\",onDone:{actions:\"applyAmplifyConfig\",target:\"goToInitialState\"}}},goToInitialState:{always:[{target:\"#authenticator.signUp\",cond:\"isInitialStateSignUp\"},{target:\"#authenticator.resetPassword\",cond:\"isInitialStateResetPassword\"},{target:\"#authenticator.signIn\"}]}}},signIn:{initial:\"spawnActor\",states:{spawnActor:{always:{actions:\"spawnSignInActor\",target:\"runActor\"}},runActor:{entry:\"clearActorDoneData\",exit:\"stopSignInActor\"}},on:{SIGN_UP:\"signUp\",RESET_PASSWORD:\"resetPassword\",\"done.invoke.signInActor\":[{target:\"signUp\",actions:\"setActorDoneData\",cond:\"shouldRedirectToSignUp\"},{target:\"resetPassword\",actions:\"setActorDoneData\",cond:\"shouldRedirectToResetPassword\"},{target:\"authenticated\",actions:\"setActorDoneData\"}]}},signUp:{initial:\"spawnActor\",states:{spawnActor:{always:{actions:\"spawnSignUpActor\",target:\"runActor\"}},runActor:{entry:\"clearActorDoneData\",exit:\"stopSignUpActor\"},autoSignIn:{invoke:{src:\"getCurrentUser\",onDone:\"#authenticator.authenticated\",onError:\"#authenticator.setup.goToInitialState\"}}},on:{SIGN_IN:\"signIn\",\"done.invoke.signUpActor\":{target:\"#authenticator.signIn\",actions:\"setActorDoneData\",cond:\"shouldAutoSignIn\"}}},resetPassword:{initial:\"spawnActor\",states:{spawnActor:{always:{actions:\"spawnResetPasswordActor\",target:\"runActor\"}},runActor:{entry:\"clearActorDoneData\",exit:\"stopResetPasswordActor\"}},on:{SIGN_IN:\"signIn\",\"done.invoke.resetPasswordActor\":{target:\"signIn\",actions:\"setActorDoneData\"}}},signOut:{initial:\"spawnActor\",states:{spawnActor:{always:{actions:\"spawnSignOutActor\",target:\"runActor\"}},runActor:{entry:\"clearActorDoneData\",exit:[\"stopSignOutActor\",\"clearUser\"]}},on:{\"done.invoke.signOutActor\":[{target:\"setup\",cond:\"shouldSetup\"},{target:\"setup.goToInitialState\"}]}},authenticated:{initial:\"idle\",states:{idle:{on:{TOKEN_REFRESH:\"refreshUser\"}},refreshUser:{invoke:{src:\"getCurrentUser\",onDone:{actions:\"setUser\",target:\"idle\"},onError:{target:\"#authenticator.signOut\"}}}},on:{SIGN_OUT:\"signOut\"}}},on:{CHANGE:{actions:\"forwardToActor\"},BLUR:{actions:\"forwardToActor\"},SUBMIT:{actions:\"forwardToActor\"},FEDERATED_SIGN_IN:{actions:\"forwardToActor\"},AUTO_SIGN_IN:{actions:\"forwardToActor\"},RESEND:{actions:\"forwardToActor\"},SIGN_IN:{actions:\"forwardToActor\"},SKIP:{actions:\"forwardToActor\"}}},{actions:{forwardToActor:g([{cond:\"hasActor\",actions:i((t=>t.actorRef))}]),setUser:n({user:(t,o)=>o.data}),setActorDoneData:n({actorDoneData:(t,o)=>{var i,n;return{authAttributes:Object.assign({},null===(i=o.data)||void 0===i?void 0:i.authAttributes),intent:null===(n=o.data)||void 0===n?void 0:n.intent}},user:(t,o)=>{var i;return null===(i=o.data)||void 0===i?void 0:i.user}}),clearUser:n({user:void 0}),clearActorDoneData:n({actorDoneData:void 0}),applyAmplifyConfig:n({config(t,o){var i,n,e,r,s,a,c,d,u;const l=null!==(n=null===(i=o.data.aws_cognito_username_attributes)||void 0===i?void 0:i.map((t=>t.toLowerCase())))&&void 0!==n?n:[],g=null!==(r=null===(e=o.data.aws_cognito_verification_mechanisms)||void 0===e?void 0:e.map((t=>t.toLowerCase())))&&void 0!==r?r:[],v=null!==(a=null===(s=o.data.aws_cognito_signup_attributes)||void 0===s?void 0:s.map((t=>t.toLowerCase())))&&void 0!==a?a:[],A=null!==(d=null===(c=o.data.aws_cognito_social_providers)||void 0===c?void 0:c.map((t=>t.toLowerCase())))&&void 0!==d?d:[],f=o.data.aws_cognito_password_protection_settings||{};0===l.length&&l.push(\"username\");const{loginMechanisms:w,signUpAttributes:S,socialProviders:m,initialState:h,formFields:D}=t.config;return{loginMechanisms:null!=w?w:l,formFields:null!==(u=p(D))&&void 0!==u?u:{},passwordSettings:f,signUpAttributes:null!=S?S:Array.from(new Set([...g,...v])),socialProviders:null!=m?m:A.sort(),initialState:h}}}),spawnSignInActor:n({actorRef:(t,o)=>{var i,n,r,s,c,d,u;const{services:l}=t,g=a({services:l}).withContext({authAttributes:null!==(n=null===(i=t.actorDoneData)||void 0===i?void 0:i.authAttributes)&&void 0!==n?n:{},user:t.user,intent:null===(r=t.actorDoneData)||void 0===r?void 0:r.intent,country_code:\"+1\",formValues:{},touched:{},validationError:{},passwordSettings:null===(s=t.config)||void 0===s?void 0:s.passwordSettings,loginMechanisms:null===(c=t.config)||void 0===c?void 0:c.loginMechanisms,socialProviders:null===(d=t.config)||void 0===d?void 0:d.socialProviders,formFields:null===(u=t.config)||void 0===u?void 0:u.formFields});return e(g,{name:\"signInActor\"})}}),spawnSignUpActor:n({actorRef:(t,o)=>{var i,n,r,s,a,c,d;const{services:u}=t,g=l({services:u}).withContext({authAttributes:null!==(n=null===(i=t.actorDoneData)||void 0===i?void 0:i.authAttributes)&&void 0!==n?n:{},country_code:\"+1\",intent:null===(r=t.actorDoneData)||void 0===r?void 0:r.intent,formValues:{},touched:{},validationError:{},loginMechanisms:null===(s=t.config)||void 0===s?void 0:s.loginMechanisms,socialProviders:null===(a=t.config)||void 0===a?void 0:a.socialProviders,formFields:null===(c=t.config)||void 0===c?void 0:c.formFields,passwordSettings:null===(d=t.config)||void 0===d?void 0:d.passwordSettings});return e(g,{name:\"signUpActor\"})}}),spawnResetPasswordActor:n({actorRef:(t,o)=>{var i,n,r,s,a;const{services:c}=t,u=d({services:c}).withContext({formValues:{},touched:{},intent:null===(i=t.actorDoneData)||void 0===i?void 0:i.intent,username:null===(r=null===(n=t.actorDoneData)||void 0===n?void 0:n.authAttributes)||void 0===r?void 0:r.username,formFields:null===(s=t.config)||void 0===s?void 0:s.formFields,validationError:{},passwordSettings:null===(a=t.config)||void 0===a?void 0:a.passwordSettings});return e(u,{name:\"resetPasswordActor\"})}}),spawnSignOutActor:n({actorRef:t=>{const o=c.withContext({user:t.user});return e(o,{name:\"signOutActor\"})}}),stopSignInActor:s(\"signInActor\"),stopSignUpActor:s(\"signUpActor\"),stopResetPasswordActor:s(\"resetPasswordActor\"),stopSignOutActor:s(\"signOutActor\"),configure:n(((o,i)=>{const n=i.data,{services:e}=n,r=t(n,[\"services\"]);return{services:Object.assign(Object.assign({},u),e),config:r}})),setHasSetup:n({hasSetup:!0})},guards:{isInitialStateSignUp:t=>\"signUp\"===t.config.initialState,isInitialStateResetPassword:t=>\"resetPassword\"===t.config.initialState,shouldRedirectToSignUp:(t,o)=>{var i;return\"confirmSignUp\"===(null===(i=o.data)||void 0===i?void 0:i.intent)},shouldRedirectToResetPassword:(t,o)=>{var i;return\"confirmPasswordReset\"===(null===(i=o.data)||void 0===i?void 0:i.intent)},shouldAutoSignIn:(t,o)=>{var i,n;return\"autoSignIn\"===(null===(i=o.data)||void 0===i?void 0:i.intent)||\"autoSignInSubmit\"===(null===(n=o.data)||void 0===n?void 0:n.intent)},shouldSetup:t=>!1===t.hasSetup,hasActor:t=>!!t.actorRef},services:{getCurrentUser:(t,o)=>t.services.getCurrentUser(),getAmplifyConfig:(t,o)=>t.services.getAmplifyConfig()}})}function p(t){return t&&Object.keys(t).forEach((o=>{Object.keys(t[o]).forEach((i=>{let n=t[o][i];n.required=n.isRequired}))})),t}export{v as createAuthenticatorMachine};\n","import{__awaiter as e}from\"tslib\";import{Auth as t}from\"aws-amplify\";import n from\"lodash/get.js\";import r from\"lodash/pickBy.js\";import{createMachine as i,sendUpdate as a,assign as s}from\"xstate\";import{runValidators as o}from\"../../validators/index.mjs\";import{clearError as d,clearFormValues as l,clearTouched as c,clearValidationError as u,handleInput as m,handleSubmit as p,handleBlur as g,parsePhoneNumber as f,setCredentials as U,setFieldErrors as v,setRemoteError as S,setCodeDeliveryDetails as h,setUser as E}from\"./actions.mjs\";function y({services:y}){return i({id:\"signUpActor\",initial:\"init\",predictableActionArguments:!0,states:{init:{always:[{target:\"confirmSignUp\",cond:\"shouldInitConfirmSignUp\"},{target:\"signUp\"}]},signUp:{type:\"parallel\",exit:[\"clearError\",\"clearFormValues\",\"clearTouched\"],states:{validation:{initial:\"pending\",states:{pending:{invoke:{src:\"validateSignUp\",onDone:{target:\"valid\",actions:\"clearValidationError\"},onError:{target:\"invalid\",actions:\"setFieldErrors\"}}},valid:{entry:\"sendUpdate\"},invalid:{entry:\"sendUpdate\"}},on:{CHANGE:{actions:\"handleInput\",target:\".pending\"},BLUR:{actions:\"handleBlur\",target:\".pending\"}}},submission:{initial:\"idle\",states:{idle:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"validate\"},FEDERATED_SIGN_IN:\"federatedSignIn\"}},federatedSignIn:{tags:[\"pending\"],entry:[\"sendUpdate\",\"clearError\"],invoke:{src:\"federatedSignIn\",onDone:\"#signUpActor.resolved\",onError:{actions:\"setRemoteError\"}}},validate:{entry:\"sendUpdate\",invoke:{src:\"validateSignUp\",onDone:{target:\"pending\",actions:\"clearValidationError\"},onError:{target:\"idle\",actions:\"setFieldErrors\"}}},pending:{tags:[\"pending\"],entry:[\"parsePhoneNumber\",\"sendUpdate\",\"clearError\"],invoke:{src:\"signUp\",onDone:[{cond:\"shouldSkipConfirm\",target:\"skipConfirm\",actions:[\"setUser\",\"setCredentials\"]},{target:\"resolved\",actions:[\"setUser\",\"setCredentials\",\"setCodeDeliveryDetails\"]}],onError:{target:\"idle\",actions:\"setRemoteError\"}}},skipConfirm:{always:{target:\"#signUpActor.resolved\",actions:\"setAutoSignInIntent\"}},resolved:{type:\"final\",always:\"#signUpActor.confirmSignUp\"}}}}},confirmSignUp:{initial:\"edit\",states:{edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},CHANGE:{actions:\"handleInput\"},BLUR:{actions:\"handleBlur\"},RESEND:\"resend\"}},resend:{tags:[\"pending\"],entry:\"sendUpdate\",invoke:{src:\"resendConfirmationCode\",onDone:{target:\"edit\"},onError:[{target:\"#signUpActor.resolved\",actions:\"setAutoSignInIntent\",cond:\"isUserAlreadyConfirmed\"},{target:\"edit\",actions:\"setRemoteError\"}]}},submit:{tags:[\"pending\"],entry:[\"sendUpdate\",\"clearError\"],invoke:{src:\"confirmSignUp\",onDone:{target:\"#signUpActor.resolved\",actions:\"setAutoSignInIntent\"},onError:{target:\"edit\",actions:\"setRemoteError\"}}}}},resolved:{type:\"final\",data:(e,t)=>{const{username:r,password:i}=e.authAttributes;return{user:n(t,\"data.user\")||e.user,authAttributes:{username:r,password:i},intent:e.intent}}}}},{guards:{isUserAlreadyConfirmed:(e,t)=>\"User is already confirmed.\"===t.data.message,shouldInitConfirmSignUp:e=>e.intent&&\"confirmSignUp\"===e.intent,shouldSkipConfirm:(e,t)=>t.data.userConfirmed},actions:{clearError:d,clearFormValues:l,clearTouched:c,clearValidationError:u,handleInput:m,handleSubmit:p,handleBlur:g,parsePhoneNumber:f,setCredentials:U,setFieldErrors:v,setRemoteError:S,setCodeDeliveryDetails:h,setUser:E,sendUpdate:a(),setAutoSignInIntent:s({intent:e=>\"confirmSignUp\"===(null==e?void 0:e.intent)?\"autoSignInSubmit\":\"autoSignIn\"})},services:{confirmSignUp(t,r){return e(this,void 0,void 0,(function*(){const{user:e,authAttributes:r,formValues:i}=t,{confirmation_code:a}=i,s=n(e,\"username\")||n(r,\"username\");return yield y.handleConfirmSignUp({username:s,code:a})}))},resendConfirmationCode(r,i){return e(this,void 0,void 0,(function*(){const{user:e,authAttributes:i}=r,a=n(e,\"username\")||n(i,\"username\");return t.resendSignUp(a)}))},federatedSignIn(n,r){return e(this,void 0,void 0,(function*(){const{provider:e}=r.data;return yield t.federatedSignIn({provider:e})}))},signUp(t,n){return e(this,void 0,void 0,(function*(){const{formValues:e,loginMechanisms:n}=t,[i=\"username\"]=n,{[i]:a,password:s}=e,o=r(e,((e,t)=>{switch(t){case\"address\":case\"birthdate\":case\"email\":case\"family_name\":case\"gender\":case\"given_name\":case\"locale\":case\"middle_name\":case\"name\":case\"nickname\":case\"phone_number\":case\"picture\":case\"preferred_username\":case\"profile\":case\"updated_at\":case\"website\":case\"zoneinfo\":return!0;default:return t.startsWith(\"custom:\")}}));return yield y.handleSignUp({username:a,password:s,attributes:o})}))},validateSignUp(t,n){return e(this,void 0,void 0,(function*(){return o(t.formValues,t.touched,t.passwordSettings,[y.validateFormPassword,y.validateConfirmPassword,y.validatePreferredUsername,y.validateCustomSignUp])}))}}})}export{y as createSignUpMachine};\n","import{__awaiter as e}from\"tslib\";import{createMachine as r,sendUpdate as t}from\"xstate\";import{runValidators as s}from\"../../../validators/index.mjs\";import{clearError as a,clearFormValues as o,clearTouched as n,clearUsername as i,clearValidationError as d,handleInput as l,handleSubmit as c,handleBlur as m,resendCode as u,setFieldErrors as p,setRemoteError as g,setUsername as v}from\"../actions.mjs\";import{defaultServices as E}from\"../defaultServices.mjs\";function f({services:f}){return r({id:\"resetPasswordActor\",initial:\"init\",predictableActionArguments:!0,states:{init:{always:[{target:\"confirmResetPassword\",cond:\"shouldAutoConfirmReset\",actions:\"resendCode\"},{target:\"resetPassword\"}]},resetPassword:{initial:\"edit\",exit:[\"clearFormValues\",\"clearError\",\"clearTouched\"],states:{edit:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"submit\"},CHANGE:{actions:\"handleInput\"},BLUR:{actions:\"handleBlur\"}}},submit:{tags:[\"pending\"],entry:[\"sendUpdate\",\"setUsername\",\"clearError\"],invoke:{src:\"resetPassword\",onDone:{target:\"#resetPasswordActor.confirmResetPassword\"},onError:{actions:[\"setRemoteError\"],target:\"edit\"}}}}},confirmResetPassword:{type:\"parallel\",exit:[\"clearFormValues\",\"clearError\",\"clearUsername\",\"clearTouched\"],states:{validation:{initial:\"pending\",states:{pending:{invoke:{src:\"validateFields\",onDone:{target:\"valid\",actions:\"clearValidationError\"},onError:{target:\"invalid\",actions:\"setFieldErrors\"}}},valid:{entry:\"sendUpdate\"},invalid:{entry:\"sendUpdate\"}},on:{CHANGE:{actions:\"handleInput\",target:\".pending\"},BLUR:{actions:\"handleBlur\",target:\".pending\"}}},submission:{initial:\"idle\",states:{idle:{entry:\"sendUpdate\",on:{SUBMIT:{actions:\"handleSubmit\",target:\"validate\"},RESEND:\"resendCode\",CHANGE:{actions:\"handleInput\"},BLUR:{actions:\"handleBlur\"}}},validate:{entry:\"sendUpdate\",invoke:{src:\"validateFields\",onDone:{target:\"pending\",actions:\"clearValidationError\"},onError:{target:\"idle\",actions:\"setFieldErrors\"}}},resendCode:{tags:[\"pending\"],entry:[\"clearError\",\"sendUpdate\"],invoke:{src:\"resetPassword\",onDone:{target:\"idle\"},onError:{actions:\"setRemoteError\",target:\"idle\"}}},pending:{tags:[\"pending\"],entry:[\"clearError\",\"sendUpdate\"],invoke:{src:\"confirmResetPassword\",onDone:{actions:\"clearUsername\",target:\"#resetPasswordActor.resolved\"},onError:{actions:\"setRemoteError\",target:\"idle\"}}}}}}},resolved:{type:\"final\"}}},{actions:{clearError:a,clearFormValues:o,clearTouched:n,clearUsername:i,clearValidationError:d,handleInput:l,handleSubmit:c,handleBlur:m,resendCode:u,setFieldErrors:p,setRemoteError:g,setUsername:v,sendUpdate:t()},guards:{shouldAutoConfirmReset:(e,r)=>!(!e.intent||\"confirmPasswordReset\"!==e.intent)},services:{resetPassword(r){return e(this,void 0,void 0,(function*(){const{username:e}=r;return f.handleForgotPassword(e)}))},confirmResetPassword(r){return e(this,void 0,void 0,(function*(){const{username:e}=r,{confirmation_code:t,password:s}=r.formValues;return f.handleForgotPasswordSubmit({username:e,code:t,password:s})}))},validateFields(r,t){return e(this,void 0,void 0,(function*(){return s(r.formValues,r.touched,r.passwordSettings,[E.validateFormPassword,E.validateConfirmPassword])}))}}})}export{f as resetPasswordActor};\n","import React, { useContext, useMemo, useEffect } from 'react';\nimport { useInterpret } from '@xstate/react';\nimport { createAuthenticatorMachine, listenToAuthHub } from '@aws-amplify/ui';\nimport { AuthenticatorContext } from './AuthenticatorContext.mjs';\n\nfunction AuthenticatorProvider({ children, }) {\n /**\n * Based on use cases, developer might already have added another Provider\n * outside Authenticator. In that case, we sync the two providers by just\n * passing the parent value.\n *\n * TODO(BREAKING): enforce only one provider in App tree\n */\n const parentProviderVal = useContext(AuthenticatorContext);\n const service = useInterpret(createAuthenticatorMachine);\n const value = useMemo(() => (!parentProviderVal ? { service } : parentProviderVal), [parentProviderVal, service]);\n const { service: activeService } = value;\n useEffect(() => {\n const unsubscribe = listenToAuthHub(activeService);\n return unsubscribe;\n }, [activeService]);\n return (React.createElement(AuthenticatorContext.Provider, { value: value }, children));\n}\n\nexport { AuthenticatorProvider as default };\n","import*as o from\"react\";const t=o.createContext(null),e=()=>{const e=o.useContext(t);if(!e)throw new Error(\"`useCustomComponents` cannot be used outside of a `CustomComponentsContext.Provider`\");return e};export{t as CustomComponentsContext,e as useCustomComponents};\n","import{translate as e,DefaultTexts as t}from\"../../i18n/translations.mjs\";const T={amazon:\"Amazon\",apple:\"Apple\",facebook:\"Facebook\",google:\"Google\"},n={getBackToSignInText:()=>e(t.BACK_SIGN_IN),getChangePasswordText:()=>e(t.CHANGE_PASSWORD),getChangingText:()=>e(t.CHANGING_PASSWORD),getConfirmText:()=>e(t.CONFIRM),getConfirmingText:()=>e(t.CONFIRMING),getCopyText:()=>e(t.UPPERCASE_COPY),getHidePasswordText:()=>e(t.HIDE_PASSWORD),getLoadingText:()=>e(t.LOADING),getOrText:()=>e(t.OR),getResendCodeText:()=>e(t.RESEND_CODE),getSendCodeText:()=>e(t.SEND_CODE),getSendingText:()=>e(t.SENDING),getShowPasswordText:()=>e(t.SHOW_PASSWORD),getSubmitText:()=>e(t.SUBMIT),getSubmittingText:()=>e(t.SUBMITTING),getSignInTabText:()=>e(t.SIGN_IN_TAB),getSignUpTabText:()=>e(t.CREATE_ACCOUNT),getForgotPasswordText:T=>e(T?t.FORGOT_PASSWORD:t.FORGOT_YOUR_PASSWORD),getSigningInText:()=>e(t.SIGNING_IN_BUTTON),getSignInText:()=>e(t.SIGN_IN_BUTTON),getCreatingAccountText:()=>e(t.CREATING_ACCOUNT),getCreateAccountText:()=>e(t.CREATE_ACCOUNT),getDeliveryMessageText:T=>{const{DeliveryMedium:n,Destination:g}=null!=T?T:{},S=\"EMAIL\"===n,o=\"SMS\"===n,i=e(t.CODE_ARRIVAL);if(!S&&!o)return`${e(t.CODE_SENT)}. ${i}.`;return`${e(S?t.CODE_EMAILED:t.CODE_TEXTED)} ${g}. ${i}.`},getDeliveryMethodText:T=>{const{DeliveryMedium:n}=null!=T?T:{},g=\"EMAIL\"===n;return e(g||\"SMS\"!==n?g?t.WE_EMAILED:t.WE_TEXTED:t.WE_SENT_CODE)},getChallengeText:T=>{switch(T){case\"SMS_MFA\":return e(t.CONFIRM_SMS);case\"SOFTWARE_TOKEN_MFA\":return e(t.CONFIRM_TOTP);default:throw new Error(`${e(\"Unexpected challengeName encountered in ConfirmSignIn:\")} ${T}`)}},getResetYourPasswordText:()=>e(t.RESET_PASSWORD),getSetupTOTPText:()=>e(t.SETUP_TOTP),getSetupTOTPInstructionsText:()=>e(\"Copy and paste the secret key below into an authenticator app and then enter the code in the text field below.\"),getCopiedText:()=>e(\"COPIED\"),getSignInWithFederationText:(t,n)=>e(`Sign ${\"signIn\"===t?\"In\":\"Up\"} with ${T[n]}`),getSkipText:()=>e(t.SKIP),getVerifyText:()=>e(t.VERIFY),getVerifyContactText:()=>e(t.VERIFY_CONTACT),getAccountRecoveryInfoText:()=>e(t.VERIFY_HEADING)};export{n as authenticatorTextUtil};\n","import{__rest as e}from\"tslib\";import*as r from\"react\";import s from\"classnames\";import{ComponentClassNames as a}from\"../shared/constants.mjs\";import{View as m}from\"../View/View.mjs\";const t=r.forwardRef(((t,o)=>{var{className:i,children:c}=t,l=e(t,[\"className\",\"children\"]);return r.createElement(m,Object.assign({className:s(a.Flex,i),ref:o},l),c)}));t.displayName=\"Flex\";export{t as Flex};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import a from\"classnames\";import{classNameModifier as r}from\"@aws-amplify/ui\";import{ComponentClassNames as i}from\"../shared/constants.mjs\";import{View as l}from\"../View/View.mjs\";const s=\"linear-empty\",n=\"linear-filled\",o=\"circular-empty\",m=\"circular-filled\",c=8,d=42,y=84*Math.PI,p=t.forwardRef(((c,d)=>{var{className:p,filledColor:f,emptyColor:x,size:g,variation:u,isDeterminate:v=!1,isPercentageTextHidden:E=!1,percentage:h=0}=c,k=e(c,[\"className\",\"filledColor\",\"emptyColor\",\"size\",\"variation\",\"isDeterminate\",\"isPercentageTextHidden\",\"percentage\"]);h=Math.min(h,100);const L=`${h=Math.max(h,0)}%`,N=a(i.Loader,r(i.Loader,g),r(i.Loader,u),v?i.LoaderDeterminate:null,p),D=t.createElement(\"g\",null,t.createElement(\"line\",{x1:\"0\",x2:\"100%\",y1:\"50%\",y2:\"50%\",style:{stroke:String(x)},\"data-testid\":s}),t.createElement(\"line\",{x1:\"0\",x2:v?L:\"100%\",y1:\"50%\",y2:\"50%\",style:{stroke:v&&0===h?\"none\":f?String(f):void 0},\"data-testid\":n}),v?t.createElement(\"text\",{\"aria-live\":\"polite\",className:a(i.LoaderPercentageText,E?i.VisuallyHidden:null),x:`${-1+h}%`,y:\"200%\"},L):null),P=t.createElement(\"g\",null,t.createElement(\"circle\",{cx:\"50%\",cy:\"50%\",r:\"42%\",strokeWidth:\"8%\",style:{stroke:String(x)},\"data-testid\":o}),t.createElement(\"circle\",{cx:\"50%\",cy:\"50%\",r:\"42%\",strokeWidth:\"8%\",style:{stroke:String(f),strokeDasharray:v?`${y}% ${y}%`:void 0,strokeDashoffset:v?y-y*h/100+\"%\":void 0},\"data-testid\":m}),v?t.createElement(\"text\",{\"aria-live\":\"polite\",className:a(i.LoaderPercentageText,E?i.VisuallyHidden:null),x:\"130%\",y:\"80%\"},L):null);return t.createElement(l,Object.assign({as:\"svg\",className:N,\"data-size\":g,\"data-variation\":u,ref:d,role:\"img\"},k),\"linear\"===u?D:P)}));p.displayName=\"Loader\";export{o as CIRCULAR_EMPTY,m as CIRCULAR_FILLED,c as CIRCULAR_STROKE_WIDTH,y as CIRCUMFERENCE,s as LINEAR_EMPTY,n as LINEAR_FILLED,p as Loader,d as RADIUS};\n","import{__rest as t}from\"tslib\";import a from\"classnames\";import*as i from\"react\";import{classNameModifier as e,classNameModifierByFlag as o}from\"@aws-amplify/ui\";import{ComponentClassNames as s}from\"../shared/constants.mjs\";import{Flex as l}from\"../Flex/Flex.mjs\";import{Loader as r}from\"../Loader/Loader.mjs\";import{View as n}from\"../View/View.mjs\";const d=i.forwardRef(((d,m)=>{var u,{className:p,children:c,isFullWidth:f=!1,isDisabled:b,isLoading:B,loadingText:g=\"\",size:h,type:w=\"button\",variation:j}=d,v=t(d,[\"className\",\"children\",\"isFullWidth\",\"isDisabled\",\"isLoading\",\"loadingText\",\"size\",\"type\",\"variation\"]);const x=a(s.Button,s.FieldGroupControl,e(s.Button,j),e(s.Button,h),o(s.Button,\"disabled\",null!==(u=null!=b?b:B)&&void 0!==u?u:v.disabled),o(s.Button,\"loading\",B),o(s.Button,\"fullwidth\",f),p);return i.createElement(n,Object.assign({ref:m,as:\"button\",className:x,\"data-fullwidth\":f,\"data-loading\":B,\"data-size\":h,\"data-variation\":j,isDisabled:null!=b?b:B,type:w},v),B?i.createElement(l,{as:\"span\",className:s.ButtonLoaderWrapper},i.createElement(r,{size:h}),g||null):c)}));d.displayName=\"Button\";export{d as Button};\n","import{__rest as a}from\"tslib\";import*as t from\"react\";import r from\"classnames\";import{classNameModifier as e,classNameModifierByFlag as s}from\"@aws-amplify/ui\";import{ComponentClassNames as i}from\"../shared/constants.mjs\";import{View as m}from\"../View/View.mjs\";const o=t.forwardRef(((o,n)=>{var{as:c=\"p\",className:d,children:f,isTruncated:l,variation:p}=o,u=a(o,[\"as\",\"className\",\"children\",\"isTruncated\",\"variation\"]);const T=r(i.Text,e(i.Text,p),s(i.Text,\"truncated\",l),d);return t.createElement(m,Object.assign({as:c,className:T,\"data-truncate\":l,\"data-variation\":p,ref:n},u),f)}));o.displayName=\"Text\";export{o as Text};\n","const r=r=>\"object\"==typeof r&&null!==r&&\"message\"in r&&\"string\"==typeof r.message,e=e=>{if(r(e))return e;try{return new Error(JSON.stringify(e))}catch(r){return new Error(String(e))}},t=r=>e(r).message,n=r=>{const e=new FormData(r.target);return Object.fromEntries(e)};export{t as getErrorMessage,n as getFormDataFromEvent,r as isErrorWithMessage,e as toErrorWithMessage};\n","import{useCallback as e}from\"react\";import{getFormDataFromEvent as t}from\"../../../../helpers/utils.mjs\";import{useAuthenticator as r}from\"@aws-amplify/ui-react-core\";function a(){const{submitForm:a,updateBlur:m,updateForm:u}=r((e=>[e.submitForm,e.updateBlur,e.updateForm]));return{handleBlur:e((({target:{name:e}})=>{m({name:e})}),[m]),handleChange:e((({target:{checked:e,name:t,type:r,value:a}})=>{u({name:t,value:\"checkbox\"===r&&!e?void 0:a})}),[u]),handleSubmit:e((e=>{e.preventDefault(),a(t(e))}),[a])}}export{a as useFormHandlers};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import s from\"classnames\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const o=o=>{const{className:a}=o,i=e(o,[\"className\"]);return t.createElement(r,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:s(m.Icon,a)},i),t.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},t.createElement(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM16.59 7.58L10 14.17L7.41 11.59L6 13L10 17L18 9L16.59 7.58Z\",fill:\"currentColor\"})))};export{o as IconCheckCircle};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const o=o=>{const{className:a}=o,i=e(o,[\"className\"]);return s.createElement(r,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:t(m.Icon,a)},i),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},s.createElement(\"path\",{d:\"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM13 17H11V15H13V17ZM13 13H11V7H13V13Z\",fill:\"currentColor\"})))};export{o as IconError};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const o=o=>{const{className:a}=o,i=e(o,[\"className\"]);return s.createElement(r,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:t(m.Icon,a)},i),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},s.createElement(\"path\",{d:\"M11 7H13V9H11V7ZM11 11H13V17H11V11ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20Z\",fill:\"currentColor\"})))};export{o as IconInfo};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const o=o=>{const{className:a}=o,i=e(o,[\"className\"]);return s.createElement(r,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:t(m.Icon,a)},i),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},s.createElement(\"path\",{d:\"M1 21H23L12 2L1 21ZM13 18H11V16H13V18ZM13 14H11V10H13V14Z\",fill:\"currentColor\"})))};export{o as IconWarning};\n","import*as r from\"react\";import{ComponentClassNames as e}from\"../shared/constants.mjs\";import\"tslib\";import\"classnames\";import\"../View/View.mjs\";import{IconCheckCircle as n}from\"../Icon/icons/IconCheckCircle.mjs\";import{IconError as o}from\"../Icon/icons/IconError.mjs\";import{IconInfo as a}from\"../Icon/icons/IconInfo.mjs\";import{IconWarning as c}from\"../Icon/icons/IconWarning.mjs\";const s=({variation:s,ariaHidden:t})=>{switch(s){case\"info\":return r.createElement(a,{\"aria-hidden\":t,className:e.AlertIcon});case\"error\":return r.createElement(o,{\"aria-hidden\":t,className:e.AlertIcon});case\"warning\":return r.createElement(c,{\"aria-hidden\":t,className:e.AlertIcon});case\"success\":return r.createElement(n,{\"aria-hidden\":t,className:e.AlertIcon});default:return null}};s.displayName=\"AlertIcon\";export{s as AlertIcon};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const i=i=>{const{className:o,size:a}=i,l=e(i,[\"className\",\"size\"]);return s.createElement(r,Object.assign({as:\"span\",width:null!=a?a:\"1em\",height:null!=a?a:\"1em\",className:t(m.Icon,o)},l),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:a?{width:a,height:a}:void 0},s.createElement(\"path\",{d:\"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\",fill:\"currentColor\"})))};export{i as IconClose};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import s from\"classnames\";import{isFunction as a,classNameModifier as i}from\"@aws-amplify/ui\";import{ComponentClassNames as r,ComponentText as m}from\"../shared/constants.mjs\";import{View as o}from\"../View/View.mjs\";import{Flex as l}from\"../Flex/Flex.mjs\";import{Button as n}from\"../Button/Button.mjs\";import{AlertIcon as c}from\"./AlertIcon.mjs\";import{IconClose as f}from\"../Icon/icons/IconClose.mjs\";const d=t.forwardRef(((d,p)=>{var{buttonRef:u,children:b,className:h,dismissButtonLabel:A=m.Alert.dismissButtonLabel,hasIcon:j=!0,heading:E,isDismissible:N=!1,onDismiss:v,variation:B}=d,D=e(d,[\"buttonRef\",\"children\",\"className\",\"dismissButtonLabel\",\"hasIcon\",\"heading\",\"isDismissible\",\"onDismiss\",\"variation\"]);const[I,g]=t.useState(!1),w=t.useCallback((()=>{g(!I),a(v)&&v()}),[g,v,I]);return I?null:t.createElement(l,Object.assign({className:s(r.Alert,h,i(r.Alert,B)),\"data-variation\":B,ref:p,role:\"alert\"},D),j&&t.createElement(c,{variation:B,ariaHidden:!0}),t.createElement(o,{flex:\"1\"},E&&t.createElement(o,{className:r.AlertHeading},E),t.createElement(o,{className:r.AlertBody},b)),N&&t.createElement(n,{ariaLabel:A,variation:\"link\",className:r.AlertDismiss,onClick:w,ref:u},t.createElement(f,{\"aria-hidden\":\"true\"})))}));d.displayName=\"Alert\";export{d as Alert};\n","import r from\"react\";import{translate as e}from\"@aws-amplify/ui\";import{useAuthenticator as t}from\"@aws-amplify/ui-react-core\";import{Alert as i}from\"../../../primitives/Alert/Alert.mjs\";const m=()=>{const{error:m}=t((r=>[r.error]));return r.createElement(r.Fragment,null,m?r.createElement(i,{variation:\"error\",isDismissible:!0},e(m)):null)};export{m as RemoteErrorMessage};\n","import{__rest as s}from\"tslib\";import*as a from\"react\";import e from\"classnames\";import{ComponentClassNames as r}from\"../shared/constants.mjs\";import{View as m}from\"../View/View.mjs\";const i=a.forwardRef(((i,t)=>{var{as:o=\"span\",children:l,className:n}=i,c=s(i,[\"as\",\"children\",\"className\"]);return a.createElement(m,Object.assign({as:o,className:e(r.VisuallyHidden,n),ref:t},c),l)}));i.displayName=\"VisuallyHidden\";export{i as VisuallyHidden};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as C}from\"../../shared/constants.mjs\";import{View as m}from\"../../View/View.mjs\";const r=r=>{const{className:o}=r,a=e(r,[\"className\"]);return s.createElement(m,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:t(C.Icon,o)},a),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},s.createElement(\"path\",{d:\"M12 6.0002C15.79 6.0002 19.17 8.1302 20.82 11.5002C20.23 12.7202 19.4 13.7702 18.41 14.6202L19.82 16.0302C21.21 14.8002 22.31 13.2602 23 11.5002C21.27 7.1102 17 4.0002 12 4.0002C10.73 4.0002 9.51 4.2002 8.36 4.5702L10.01 6.2202C10.66 6.0902 11.32 6.0002 12 6.0002ZM10.93 7.14019L13 9.2102C13.57 9.4602 14.03 9.9202 14.28 10.4902L16.35 12.5602C16.43 12.2202 16.49 11.8602 16.49 11.4902C16.5 9.0102 14.48 7.0002 12 7.0002C11.63 7.0002 11.28 7.05019 10.93 7.14019ZM2.01 3.8702L4.69 6.5502C3.06 7.8302 1.77 9.5302 1 11.5002C2.73 15.8902 7 19.0002 12 19.0002C13.52 19.0002 14.98 18.7102 16.32 18.1802L19.74 21.6002L21.15 20.1902L3.42 2.4502L2.01 3.8702ZM9.51 11.3702L12.12 13.9802C12.08 13.9902 12.04 14.0002 12 14.0002C10.62 14.0002 9.5 12.8802 9.5 11.5002C9.5 11.4502 9.51 11.4202 9.51 11.3702V11.3702ZM6.11 7.97019L7.86 9.7202C7.63 10.2702 7.5 10.8702 7.5 11.5002C7.5 13.9802 9.52 16.0002 12 16.0002C12.63 16.0002 13.23 15.8702 13.77 15.6402L14.75 16.6202C13.87 16.8602 12.95 17.0002 12 17.0002C8.21 17.0002 4.83 14.8702 3.18 11.5002C3.88 10.0702 4.9 8.89019 6.11 7.97019Z\",fill:\"currentColor\"})))};export{r as IconVisibilityOff};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const o=o=>{const{className:a}=o,C=e(o,[\"className\"]);return s.createElement(r,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:t(m.Icon,a)},C),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},s.createElement(\"path\",{d:\"M12 6C15.79 6 19.17 8.13 20.82 11.5C19.17 14.87 15.79 17 12 17C8.21 17 4.83 14.87 3.18 11.5C4.83 8.13 8.21 6 12 6ZM12 4C7 4 2.73 7.11 1 11.5C2.73 15.89 7 19 12 19C17 19 21.27 15.89 23 11.5C21.27 7.11 17 4 12 4ZM12 9C13.38 9 14.5 10.12 14.5 11.5C14.5 12.88 13.38 14 12 14C10.62 14 9.5 12.88 9.5 11.5C9.5 10.12 10.62 9 12 9ZM12 7C9.52 7 7.5 9.02 7.5 11.5C7.5 13.98 9.52 16 12 16C14.48 16 16.5 13.98 16.5 11.5C16.5 9.02 14.48 7 12 7Z\",fill:\"currentColor\"})))};export{o as IconVisibility};\n","import{__rest as s}from\"tslib\";import*as e from\"react\";import{Button as o}from\"../Button/Button.mjs\";import{VisuallyHidden as r}from\"../VisuallyHidden/VisuallyHidden.mjs\";import{ComponentClassNames as a,ComponentText as i}from\"../shared/constants.mjs\";import\"classnames\";import\"../View/View.mjs\";import{IconVisibilityOff as t}from\"../Icon/icons/IconVisibilityOff.mjs\";import{IconVisibility as d}from\"../Icon/icons/IconVisibility.mjs\";const{passwordIsHidden:m,passwordIsShown:n,showPassword:l}=i.PasswordField,w=e.forwardRef(((i,w)=>{var{fieldType:p,passwordIsHiddenLabel:c=m,passwordIsShownLabel:f=n,showPasswordButtonLabel:b=l,size:h}=i,I=s(i,[\"fieldType\",\"passwordIsHiddenLabel\",\"passwordIsShownLabel\",\"showPasswordButtonLabel\",\"size\"]);return e.createElement(o,Object.assign({\"aria-checked\":\"password\"!==p,ariaLabel:b,className:a.FieldShowPassword,ref:w,role:\"switch\",size:h},I),e.createElement(r,{\"aria-live\":\"polite\"},\"password\"===p?c:f),\"password\"===p?e.createElement(d,{size:h}):e.createElement(t,{size:h}))}));w.displayName=\"ShowPasswordButton\";export{w as ShowPasswordButton};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import i from\"classnames\";import{Text as s}from\"../Text/Text.mjs\";import{ComponentClassNames as r}from\"../shared/constants.mjs\";const a=\"qa-field-description\",d=d=>{var{descriptiveText:l,labelHidden:m}=d,o=e(d,[\"descriptiveText\",\"labelHidden\"]);return l?t.createElement(s,Object.assign({\"data-testid\":a,className:i(r.FieldDescription,{[r.VisuallyHidden]:m})},o),l):null};d.displayName=\"FieldDescription\";export{d as FieldDescription,a as QA_FIELD_DESCRIPTION};\n","import{__rest as r}from\"tslib\";import*as e from\"react\";import{Text as s}from\"../Text/Text.mjs\";import{ComponentClassNames as a}from\"../shared/constants.mjs\";const o=o=>{var{errorMessage:t,hasError:m}=o,i=r(o,[\"errorMessage\",\"hasError\"]);return m&&t?e.createElement(s,Object.assign({className:a.FieldErrorMessage},i),t):null};o.displayName=\"FieldErrorMessage\";export{o as FieldErrorMessage};\n","import{__rest as e}from\"tslib\";import*as r from\"react\";import t from\"classnames\";import{classNameModifier as n}from\"@aws-amplify/ui\";import{ComponentClassNames as o}from\"../shared/constants.mjs\";import{Flex as a}from\"../Flex/Flex.mjs\";import{View as i}from\"../View/View.mjs\";const l=r.forwardRef(((l,m)=>{var{children:p,className:s,innerEndComponent:d,innerStartComponent:u,orientation:c=\"horizontal\",outerEndComponent:F,outerStartComponent:E,variation:G}=l,f=e(l,[\"children\",\"className\",\"innerEndComponent\",\"innerStartComponent\",\"orientation\",\"outerEndComponent\",\"outerStartComponent\",\"variation\"]);const N=null!=d,C=null!=u?o.FieldGroupHasInnerStart:null,S=N?o.FieldGroupHasInnerEnd:null,O=t(o.FieldGroup,C,S,n(o.FieldGroup,c),s);return r.createElement(a,Object.assign({className:O,\"data-orientation\":c,ref:m},f),E&&r.createElement(i,{className:t(o.FieldGroupOuterStart,n(o.FieldGroupOuterStart,G))},E),r.createElement(i,{className:t(o.FieldGroupFieldWrapper,n(o.FieldGroupFieldWrapper,c)),\"data-orientation\":c},u&&r.createElement(i,{className:o.FieldGroupInnerStart},u),p,d&&r.createElement(i,{className:o.FieldGroupInnerEnd},d)),F&&r.createElement(i,{className:t(o.FieldGroupOuterEnd,n(o.FieldGroupOuterEnd,G))},F))}));l.displayName=\"FieldGroup\";export{l as FieldGroup};\n","import{__rest as e}from\"tslib\";import*as o from\"react\";import a from\"classnames\";import{classNameModifier as t,classNameModifierByFlag as n}from\"@aws-amplify/ui\";import{ComponentClassNames as r}from\"../shared/constants.mjs\";import{View as s}from\"../View/View.mjs\";const i=o.forwardRef(((i,l)=>{var{autoComplete:u,checked:d,className:p,defaultChecked:c,defaultValue:m,id:f,isDisabled:C,isReadOnly:h,isRequired:y,size:v,type:I=\"text\",hasError:k=!1,value:b,variation:R,onBlur:V,onChange:g,onCopy:w,onCut:F,onFocus:N,onInput:O,onPaste:j,onSelect:q,onWheel:z}=i,B=e(i,[\"autoComplete\",\"checked\",\"className\",\"defaultChecked\",\"defaultValue\",\"id\",\"isDisabled\",\"isReadOnly\",\"isRequired\",\"size\",\"type\",\"hasError\",\"value\",\"variation\",\"onBlur\",\"onChange\",\"onCopy\",\"onCut\",\"onFocus\",\"onInput\",\"onPaste\",\"onSelect\",\"onWheel\"]);const D=a(r.Input,r.FieldGroupControl,t(r.Input,R),n(r.Input,\"error\",k),t(r.Input,v),p);return o.createElement(s,Object.assign({\"aria-invalid\":k,as:\"input\",autoComplete:u,checked:d,className:D,\"data-size\":v,\"data-variation\":R,defaultChecked:c,defaultValue:m,isDisabled:C,id:f,onBlur:V,onChange:g,onCopy:w,onCut:F,onFocus:N,onInput:O,onPaste:j,onSelect:q,onWheel:z,readOnly:h,ref:l,required:y,type:I,value:b},B))}));i.displayName=\"Input\";export{i as Input};\n","import{__rest as e}from\"tslib\";import*as a from\"react\";import s from\"classnames\";import{ComponentClassNames as r}from\"../shared/constants.mjs\";import{View as l}from\"../View/View.mjs\";const i=a.forwardRef(((i,m)=>{var{children:t,className:o,visuallyHidden:n}=i,c=e(i,[\"children\",\"className\",\"visuallyHidden\"]);return a.createElement(l,Object.assign({as:\"label\",className:s(r.Label,o,{[r.VisuallyHidden]:n}),ref:m},c),t)}));i.displayName=\"Label\";export{i as Label};\n","import{ComponentPropsToStylePropsMap as s}from\"../types/style.mjs\";const t=t=>{const e={styleProps:{},rest:{}};return Object.keys(t).forEach((r=>{(t=>t in s)(r)?e.styleProps=Object.assign(Object.assign({},e.styleProps),{[r]:t[r]}):e.rest=Object.assign(Object.assign({},e.rest),{[r]:t[r]})})),e};export{t as splitPrimitiveProps};\n","import*as o from\"react\";const l=(null===globalThis||void 0===globalThis?void 0:globalThis.document)?o.useLayoutEffect:()=>{};export{l as useLayoutEffect};\n","import*as t from\"react\";import{useLayoutEffect as o}from\"./useLayoutEffect.mjs\";const r=\"amplify-id\",e=t[\"useId\".toString()]||(()=>{});let n=0;const s=s=>{const[u,i]=t.useState(e());return o((()=>{s||i((t=>null!=t?t:String(n++)))}),[s]),null!=s?s:u?`${r}-${u}`:\"\"};export{r as AUTO_GENERATED_ID_PREFIX,s as useStableId};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import r from\"classnames\";import{classNameModifier as o}from\"@aws-amplify/ui\";import{ComponentClassNames as i}from\"../shared/constants.mjs\";import\"../Field/FieldClearButton.mjs\";import{FieldDescription as n}from\"../Field/FieldDescription.mjs\";import{FieldErrorMessage as s}from\"../Field/FieldErrorMessage.mjs\";import\"../Field/Field.mjs\";import{FieldGroup as m}from\"../FieldGroup/FieldGroup.mjs\";import{Flex as a}from\"../Flex/Flex.mjs\";import{Input as l}from\"../Input/Input.mjs\";import{Label as d}from\"../Label/Label.mjs\";import{splitPrimitiveProps as p}from\"../utils/splitPrimitiveProps.mjs\";import{useStableId as c}from\"../utils/useStableId.mjs\";const u=t.forwardRef(((u,f)=>{const{className:E,descriptiveText:F,errorMessage:b,hasError:j=!1,id:C,innerEndComponent:v,innerStartComponent:S,label:x,labelHidden:y=!1,outerEndComponent:g,outerStartComponent:h,size:I,testId:T,variation:z,inputStyles:H}=u,M=e(u,[\"className\",\"descriptiveText\",\"errorMessage\",\"hasError\",\"id\",\"innerEndComponent\",\"innerStartComponent\",\"label\",\"labelHidden\",\"outerEndComponent\",\"outerStartComponent\",\"size\",\"testId\",\"variation\",\"inputStyles\"]),N=c(C),P=c(),w=F?P:void 0,{styleProps:G,rest:L}=p(M);return t.createElement(a,Object.assign({className:r(i.Field,o(i.Field,I),i.TextField,E),\"data-size\":I,testId:T},G),t.createElement(d,{htmlFor:N,visuallyHidden:y},x),t.createElement(n,{id:P,labelHidden:y,descriptiveText:F}),t.createElement(m,{outerStartComponent:h,outerEndComponent:g,innerStartComponent:S,innerEndComponent:v,variation:z},t.createElement(l,Object.assign({\"aria-describedby\":w,hasError:j,id:N,ref:f,size:I,variation:z},H,L))),t.createElement(s,{hasError:j,errorMessage:b}))}));u.displayName=\"TextField\";export{u as TextField};\n","import{__rest as s}from\"tslib\";import e from\"classnames\";import*as o from\"react\";import{ComponentClassNames as a}from\"../shared/constants.mjs\";import{ShowPasswordButton as r}from\"./ShowPasswordButton.mjs\";import{TextField as t}from\"../TextField/TextField.mjs\";const d=o.forwardRef(((d,l)=>{var{autoComplete:w=\"current-password\",label:n,className:m,hideShowPassword:i=!1,passwordIsHiddenLabel:p,passwordIsShownLabel:b,showPasswordButtonLabel:u,showPasswordButtonRef:c,size:h}=d,f=s(d,[\"autoComplete\",\"label\",\"className\",\"hideShowPassword\",\"passwordIsHiddenLabel\",\"passwordIsShownLabel\",\"showPasswordButtonLabel\",\"showPasswordButtonRef\",\"size\"]);const[P,L]=o.useState(\"password\"),S=o.useCallback((()=>{L(\"password\"===P?\"text\":\"password\")}),[L,P]);return o.createElement(t,Object.assign({autoComplete:w,outerEndComponent:i?null:o.createElement(r,{fieldType:P,onClick:S,passwordIsHiddenLabel:p,passwordIsShownLabel:b,ref:c,size:h,showPasswordButtonLabel:u}),size:h,type:P,label:n,className:e(a.PasswordField,m),ref:l},f))}));d.displayName=\"PasswordField\";export{d as PasswordField};\n","import{__rest as e}from\"tslib\";import t from\"classnames\";import*as s from\"react\";import{ComponentClassNames as m}from\"../../shared/constants.mjs\";import{View as r}from\"../../View/View.mjs\";const o=o=>{const{className:a}=o,i=e(o,[\"className\"]);return s.createElement(r,Object.assign({as:\"span\",width:\"1em\",height:\"1em\",className:t(m.Icon,a)},i),s.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},s.createElement(\"path\",{d:\"M16.59 8.58984L12 13.1698L7.41 8.58984L6 9.99984L12 15.9998L18 9.99984L16.59 8.58984Z\",fill:\"currentColor\"})))};export{o as IconExpandMore};\n","import{__rest as e}from\"tslib\";import*as a from\"react\";import r from\"classnames\";import{classNameModifier as o,classNameModifierByFlag as l}from\"@aws-amplify/ui\";import{ComponentClassNames as t}from\"../shared/constants.mjs\";import{Flex as i}from\"../Flex/Flex.mjs\";import{View as s}from\"../View/View.mjs\";import{IconExpandMore as c}from\"../Icon/icons/IconExpandMore.mjs\";const m=a.forwardRef(((m,n)=>{var{autoComplete:d,className:p,size:u,variation:f,value:v,defaultValue:E,hasError:h,icon:S=a.createElement(c,null),iconColor:C,children:N,placeholder:b,isDisabled:j,isRequired:V}=m,w=e(m,[\"autoComplete\",\"className\",\"size\",\"variation\",\"value\",\"defaultValue\",\"hasError\",\"icon\",\"iconColor\",\"children\",\"placeholder\",\"isDisabled\",\"isRequired\"]);const x=void 0===v&&void 0===E&&b,q=r(t.Select,t.FieldGroupControl,o(t.Select,u),o(t.Select,f),l(t.Select,\"error\",h),p);return a.createElement(s,{className:t.SelectWrapper},a.createElement(s,Object.assign({\"aria-invalid\":h,as:\"select\",autoComplete:d,value:v,defaultValue:x?\"\":E,isDisabled:j,required:V,\"data-size\":u,\"data-variation\":f,className:q,ref:n},w),b&&a.createElement(\"option\",{value:\"\"},b),N),a.createElement(i,{className:t.SelectIconWrapper,color:C},S))}));m.displayName=\"Select\";export{m as Select};\n","import{__rest as e}from\"tslib\";import*as r from\"react\";import i from\"classnames\";import{classNameModifier as t}from\"@aws-amplify/ui\";import{ComponentClassNames as s}from\"../shared/constants.mjs\";import\"../Field/FieldClearButton.mjs\";import{FieldDescription as l}from\"../Field/FieldDescription.mjs\";import{FieldErrorMessage as o}from\"../Field/FieldErrorMessage.mjs\";import\"../Field/Field.mjs\";import{Flex as m}from\"../Flex/Flex.mjs\";import{Label as a}from\"../Label/Label.mjs\";import{Select as d}from\"../Select/Select.mjs\";import{splitPrimitiveProps as n}from\"../utils/splitPrimitiveProps.mjs\";import{useStableId as p}from\"../utils/useStableId.mjs\";const c=r.forwardRef(((c,f)=>{const{children:F,className:h,descriptiveText:b,errorMessage:u,hasError:j=!1,id:E,label:v,labelHidden:g=!1,options:y,size:S,testId:x,inputStyles:I}=c,z=e(c,[\"children\",\"className\",\"descriptiveText\",\"errorMessage\",\"hasError\",\"id\",\"label\",\"labelHidden\",\"options\",\"size\",\"testId\",\"inputStyles\"]),H=p(E),M=p(),N=b?M:void 0,{styleProps:w,rest:P}=n(z);return r.createElement(m,Object.assign({className:i(s.Field,t(s.Field,S),s.SelectField,h),\"data-size\":S,testId:x},w),r.createElement(a,{htmlFor:H,visuallyHidden:g},v),r.createElement(l,{id:M,labelHidden:g,descriptiveText:b}),r.createElement(d,Object.assign({\"aria-describedby\":N,hasError:j,id:H,ref:f,size:S},P,I),(({children:e,options:i})=>e?((null==i?void 0:i.length)&&console.warn(\"Amplify UI: <SelectField> component defaults to rendering children over `options`. When using the `options` prop, omit children.\"),e):null==i?void 0:i.map(((e,i)=>r.createElement(\"option\",{label:e,value:e,key:`${e}-${i}`},e))))({children:F,options:y})),r.createElement(o,{hasError:j,errorMessage:u}))}));c.displayName=\"SelectField\";export{c as SelectField};\n","import{__rest as e}from\"tslib\";import*as a from\"react\";import t from\"classnames\";import{countryDialCodes as o}from\"@aws-amplify/ui\";import{ComponentClassNames as l}from\"../shared/constants.mjs\";import{SelectField as s}from\"../SelectField/SelectField.mjs\";const r=a.forwardRef(((r,i)=>{var{className:m,dialCodeList:d,isReadOnly:c}=r,n=e(r,[\"className\",\"dialCodeList\",\"isReadOnly\"]);const p=null!=d?d:o,f=a.useMemo((()=>p.map((e=>a.createElement(\"option\",{key:e,value:e,disabled:c},e)))),[p,c]);return a.createElement(s,Object.assign({\"aria-disabled\":c,autoComplete:\"tel-country-code\",className:t(l.CountryCodeSelect,l.DialCodeSelect,m),labelHidden:!0,ref:i},n),f)}));r.displayName=\"CountryCodeSelect\";export{r as CountryCodeSelect};\n","import{__rest as e}from\"tslib\";import*as o from\"react\";import a from\"classnames\";import{ComponentClassNames as l,ComponentText as t}from\"../shared/constants.mjs\";import{CountryCodeSelect as n}from\"./CountryCodeSelect.mjs\";import{TextField as r}from\"../TextField/TextField.mjs\";const d=o.forwardRef(((d,i)=>{var{autoComplete:s=\"tel-national\",className:C,countryCodeName:m,countryCodeLabel:u=t.PhoneNumberField.countryCodeLabel,countryCodeRef:c,defaultCountryCode:f,defaultDialCode:y,dialCodeLabel:b=t.PhoneNumberField.countryCodeLabel,dialCodeList:p,dialCodeName:h,dialCodeRef:N,hasError:L,isDisabled:R,isReadOnly:D,onCountryCodeChange:g,onDialCodeChange:E,onInput:F,size:v,variation:O}=d,j=e(d,[\"autoComplete\",\"className\",\"countryCodeName\",\"countryCodeLabel\",\"countryCodeRef\",\"defaultCountryCode\",\"defaultDialCode\",\"dialCodeLabel\",\"dialCodeList\",\"dialCodeName\",\"dialCodeRef\",\"hasError\",\"isDisabled\",\"isReadOnly\",\"onCountryCodeChange\",\"onDialCodeChange\",\"onInput\",\"size\",\"variation\"]);const z=null!=h?h:m,P=null!=b?b:u,x=null!=y?y:f,I=null!=E?E:g,S=null!=N?N:c;return o.createElement(r,Object.assign({outerStartComponent:o.createElement(n,{defaultValue:x,dialCodeList:p,className:C,hasError:L,isDisabled:R,isReadOnly:D,label:P,name:z,onChange:I,ref:S,size:v,variation:O}),autoComplete:s,className:a(l.PhoneNumberField,C),hasError:L,isDisabled:R,isReadOnly:D,onInput:F,ref:i,size:v,type:\"tel\",variation:O},j))}));d.displayName=\"PhoneNumberField\";export{d as PhoneNumberField};\n","import r from\"react\";import{translate as e}from\"@aws-amplify/ui\";import{View as t}from\"../../primitives/View/View.mjs\";import{Text as i}from\"../../primitives/Text/Text.mjs\";const m=({errors:m,id:o,dataAttr:a})=>{if(!((null==m?void 0:m.length)>0))return null;const n=a?{[a]:!0}:{};return r.createElement(t,Object.assign({},n,{id:o}),m.map((t=>r.createElement(i,{key:t,role:\"alert\",variation:\"error\"},e(t)))))};export{m as ValidationErrors};\n","import{__rest as e}from\"tslib\";import*as r from\"react\";import{getErrors as t}from\"@aws-amplify/ui\";import{PasswordField as a}from\"../../../primitives/PasswordField/PasswordField.mjs\";import{PhoneNumberField as i}from\"../../../primitives/PhoneNumberField/PhoneNumberField.mjs\";import{TextField as o}from\"../../../primitives/TextField/TextField.mjs\";import{useAuthenticator as m}from\"@aws-amplify/ui-react-core\";import{useStableId as s}from\"../../../primitives/utils/useStableId.mjs\";import{ValidationErrors as l}from\"../../shared/ValidationErrors.mjs\";function d(d){var{autocomplete:n,dialCode:p,name:c,type:u}=d,f=e(d,[\"autocomplete\",\"dialCode\",\"name\",\"type\"]);const{validationErrors:E}=m((({validationErrors:e})=>[e])),b=r.useMemo((()=>t(E[c])),[c,E]),y=(null==b?void 0:b.length)>0,g=s(),v=y?g:void 0;return\"tel\"===u?r.createElement(r.Fragment,null,r.createElement(i,Object.assign({},f,{name:c,defaultDialCode:p,dialCodeName:\"country_code\",autoComplete:n,hasError:y,\"aria-describedby\":v})),r.createElement(l,{dataAttr:\"data-amplify-sign-up-errors\",errors:b,id:g})):\"password\"===u?r.createElement(r.Fragment,null,r.createElement(a,Object.assign({},f,{name:c,autoComplete:n,hasError:y,\"aria-describedby\":v})),r.createElement(l,{dataAttr:\"data-amplify-sign-up-errors\",errors:b,id:g})):r.createElement(r.Fragment,null,r.createElement(o,Object.assign({},f,{name:c,autoComplete:n,hasError:y,type:u,\"aria-describedby\":v})),r.createElement(l,{dataAttr:\"data-amplify-sign-up-errors\",errors:b,id:g}))}export{d as FormField};\n","import*as e from\"react\";import{FormField as r}from\"./FormField.mjs\";import{useAuthenticator as t}from\"@aws-amplify/ui-react-core\";function m(){const{fields:m}=t((({route:e})=>[e])),o=e.useRef(m.map(((t,m)=>e.createElement(r,Object.assign({key:m},t))))).current;return e.createElement(e.Fragment,null,o)}export{m as FormFields};\n","import e from\"react\";import{View as t}from\"../../../primitives/View/View.mjs\";import{useAuthenticator as a}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as r}from\"../hooks/useCustomComponents/index.mjs\";const o=e=>\"signIn\"===e||\"signUp\";function n({children:n,className:i,variation:m=\"default\"}){const{route:c}=a((({route:e})=>[e])),{components:{Header:l,Footer:s}}=r();return e.createElement(t,{className:i,\"data-amplify-authenticator\":\"\",\"data-variation\":m},e.createElement(t,{\"data-amplify-container\":\"\"},e.createElement(l,null),e.createElement(t,{\"data-amplify-router\":\"\",\"data-amplify-router-content\":o(c)?void 0:\"\"},n),e.createElement(s,null)))}export{n as RouteContainer};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Button as r}from\"../../../primitives/Button/Button.mjs\";import{Flex as o}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as i}from\"../../../primitives/Heading/Heading.mjs\";import{Text as m}from\"../../../primitives/Text/Text.mjs\";import{useAuthenticator as n}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as a}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as s}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as l}from\"../shared/RemoteErrorMessage.mjs\";import{FormFields as c}from\"../shared/FormFields.mjs\";import{RouteContainer as d}from\"../RouteContainer/RouteContainer.mjs\";const{getDeliveryMessageText:p,getDeliveryMethodText:u,getConfirmingText:f,getConfirmText:g,getResendCodeText:h}=t;function v({className:t,variation:i}){const{isPending:u,resendCode:y,codeDeliveryDetails:C}=n((e=>[e.isPending,e.resendCode,e.codeDeliveryDetails])),{handleChange:E,handleSubmit:x}=s(),{components:{ConfirmSignUp:{Header:D=v.Header,Footer:j=v.Footer}}}=a();return e.createElement(d,{className:t,variation:i},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-confirmsignup\":\"\",method:\"post\",onChange:E,onSubmit:x},e.createElement(o,{as:\"fieldset\",direction:\"column\",isDisabled:u},e.createElement(D,null),e.createElement(o,{direction:\"column\"},e.createElement(m,{className:\"amplify-authenticator__subtitle\"},p(C)),e.createElement(c,null),e.createElement(l,null),e.createElement(r,{variation:\"primary\",isDisabled:u,type:\"submit\",loadingText:f(),isLoading:u,fontWeight:\"normal\"},g()),e.createElement(r,{onClick:y,type:\"button\",fontWeight:\"normal\"},h())),e.createElement(j,null))))}v.Header=()=>{const{codeDeliveryDetails:t}=n((e=>[e.codeDeliveryDetails]));return e.createElement(i,{level:4},u(t))},v.Footer=function(){return null};export{v as ConfirmSignUp};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Button as o}from\"../../../primitives/Button/Button.mjs\";import{Flex as r}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as i}from\"../../../primitives/Heading/Heading.mjs\";import{RemoteErrorMessage as n}from\"../shared/RemoteErrorMessage.mjs\";import{useAuthenticator as m}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as a}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as s}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{FormFields as l}from\"../shared/FormFields.mjs\";import{RouteContainer as d}from\"../RouteContainer/RouteContainer.mjs\";const{getChangePasswordText:p,getChangingText:c,getBackToSignInText:u}=t,f=({className:t,variation:l})=>{const{isPending:g,toSignIn:h}=m((e=>[e.isPending,e.toSignIn])),{handleBlur:F,handleChange:E,handleSubmit:C}=s(),{components:{ForceNewPassword:{FormFields:j=f.FormFields}}}=a();return e.createElement(d,{className:t,variation:l},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-forcenewpassword\":\"\",method:\"post\",onChange:E,onSubmit:C,onBlur:F},e.createElement(r,{as:\"fieldset\",direction:\"column\",isDisabled:g},e.createElement(i,{level:3},p()),e.createElement(j,null),e.createElement(n,null),e.createElement(o,{isDisabled:g,type:\"submit\",variation:\"primary\",isLoading:g,loadingText:c(),fontWeight:\"normal\"},p()),e.createElement(o,{onClick:h,type:\"button\",fontWeight:\"normal\",variation:\"link\",size:\"small\"},u()))))};f.FormFields=function(){return e.createElement(l,null)};export{f as ForceNewPassword};\n","import t from\"react\";import{authenticatorTextUtil as i}from\"@aws-amplify/ui\";import{useAuthenticator as e}from\"@aws-amplify/ui-react-core\";import{Button as n}from\"../../../primitives/Button/Button.mjs\";import{Flex as o}from\"../../../primitives/Flex/Flex.mjs\";const{getConfirmText:r,getConfirmingText:m,getBackToSignInText:a}=i,l=()=>{const{isPending:i,toSignIn:l}=e((t=>[t.isPending,t.toSignIn]));return t.createElement(o,{direction:\"column\"},t.createElement(n,{isDisabled:i,type:\"submit\",variation:\"primary\",fontWeight:\"normal\",isLoading:i,loadingText:m()},r()),t.createElement(n,{onClick:l,type:\"button\",variation:\"link\",fontWeight:\"normal\",size:\"small\"},a()))};export{l as ConfirmSignInFooter};\n","import{__awaiter as e}from\"tslib\";import t from\"qrcode\";import*as o from\"react\";import{Logger as r}from\"aws-amplify\";import{authenticatorTextUtil as a,getTotpCodeURL as m}from\"@aws-amplify/ui\";import{Flex as i}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as n}from\"../../../primitives/Heading/Heading.mjs\";import{useAuthenticator as l}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as s}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as c}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{ConfirmSignInFooter as d}from\"../shared/ConfirmSignInFooter.mjs\";import{RemoteErrorMessage as p}from\"../shared/RemoteErrorMessage.mjs\";import{FormFields as u}from\"../shared/FormFields.mjs\";import{RouteContainer as f}from\"../RouteContainer/RouteContainer.mjs\";const g=new r(\"SetupTOTP-logger\"),{getSetupTOTPText:h,getCopiedText:E,getLoadingText:v}=a,C=({className:r,variation:a})=>{var n;const{totpSecretCode:h,isPending:y,user:H,QRFields:w}=l((e=>[e.isPending,e.totpSecretCode])),{handleChange:S,handleSubmit:F}=c(),{components:{SetupTOTP:{Header:x=C.Header,Footer:T=C.Footer}}}=s(),[j,V]=o.useState(!0),[b,P]=o.useState(),[R,k]=o.useState(\"COPY\"),{totpIssuer:L=\"AWSCognito\",totpUsername:M=(null==H?void 0:H.username)}=null!==(n=w)&&void 0!==n?n:{},O=o.useCallback((()=>e(void 0,void 0,void 0,(function*(){try{const e=m(L,M,h),o=yield t.toDataURL(e);P(o)}catch(e){g.error(e)}finally{V(!1)}}))),[L,M,h]);o.useEffect((()=>{b||O()}),[O,b]);return o.createElement(f,{className:r,variation:a},o.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-setup-totp\":\"\",method:\"post\",onChange:S,onSubmit:F},o.createElement(i,{as:\"fieldset\",direction:\"column\",isDisabled:y},o.createElement(x,null),o.createElement(i,{direction:\"column\"},j?o.createElement(\"p\",null,v(),\"…\"):o.createElement(\"img\",{\"data-amplify-qrcode\":!0,src:b,alt:\"qr code\",width:\"228\",height:\"228\"}),o.createElement(i,{\"data-amplify-copy\":!0},o.createElement(\"div\",null,h),o.createElement(i,{\"data-amplify-copy-svg\":!0,onClick:()=>{navigator.clipboard.writeText(h),k(E())}},o.createElement(\"div\",{\"data-amplify-copy-tooltip\":!0},R),o.createElement(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",xmlns:\"http://www.w3.org/2000/svg\"},o.createElement(\"path\",{d:\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM15 5H8C6.9 5 6.01 5.9 6.01 7L6 21C6 22.1 6.89 23 7.99 23H19C20.1 23 21 22.1 21 21V11L15 5ZM8 21V7H14V12H19V21H8Z\"})))),o.createElement(u,null),o.createElement(p,null)),o.createElement(d,null),o.createElement(T,null))))};C.Header=function(){return o.createElement(n,{level:3},h())},C.Footer=function(){return null};export{C as SetupTOTP};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","function composeEventHandlers<E>(\n originalEventHandler?: (event: E) => void,\n ourEventHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) {\n return function handleEvent(event: E) {\n originalEventHandler?.(event);\n\n if (checkForDefaultPrevented === false || !((event as unknown) as Event).defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import * as React from 'react';\n\nfunction createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n) {\n const Context = React.createContext<ContextValueType | undefined>(defaultContext);\n\n function Provider(props: ContextValueType & { children: React.ReactNode }) {\n const { children, ...context } = props;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n }\n\n function useContext(consumerName: string) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext;\n // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n\n Provider.displayName = rootComponentName + 'Provider';\n return [Provider, useContext] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/\n\ntype Scope<C = any> = { [scopeName: string]: React.Context<C>[] } | undefined;\ntype ScopeHook = (scope: Scope) => { [__scopeProp: string]: Scope };\ninterface CreateScope {\n scopeName: string;\n (): ScopeHook;\n}\n\nfunction createContextScope(scopeName: string, createContextScopeDeps: CreateScope[] = []) {\n let defaultContexts: any[] = [];\n\n /* -----------------------------------------------------------------------------------------------\n * createContext\n * ---------------------------------------------------------------------------------------------*/\n\n function createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n ) {\n const BaseContext = React.createContext<ContextValueType | undefined>(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n\n function Provider(\n props: ContextValueType & { scope: Scope<ContextValueType>; children: React.ReactNode }\n ) {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName][index] || BaseContext;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n }\n\n function useContext(consumerName: string, scope: Scope<ContextValueType | undefined>) {\n const Context = scope?.[scopeName][index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext;\n // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n\n Provider.displayName = rootComponentName + 'Provider';\n return [Provider, useContext] as const;\n }\n\n /* -----------------------------------------------------------------------------------------------\n * createScope\n * ---------------------------------------------------------------------------------------------*/\n\n const createScope: CreateScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope: Scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n\n createScope.scopeName = scopeName;\n return [createContext, composeContextScopes(createScope, ...createContextScopeDeps)] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/\n\nfunction composeContextScopes(...scopes: CreateScope[]) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n\n const createScope: CreateScope = () => {\n const scopeHooks = scopes.map((createScope) => ({\n useScope: createScope(),\n scopeName: createScope.scopeName,\n }));\n\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes, { useScope, scopeName }) => {\n // We are calling a hook inside a callback which React warns against to avoid inconsistent\n // renders, however, scoping doesn't have render side effects so we ignore the rule.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes, ...currentScope };\n }, {});\n\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nexport { createContext, createContextScope };\nexport type { CreateScope, Scope };\n","import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n (ref as React.MutableRefObject<T>).current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]) {\n return (node: T) => refs.forEach((ref) => setRef(ref, node));\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import * as React from 'react';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotProps extends React.HTMLAttributes<HTMLElement> {\n children?: React.ReactNode;\n}\n\nconst Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children as React.ReactNode;\n\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement)\n ? (newElement.props.children as React.ReactNode)\n : null;\n } else {\n return child;\n }\n });\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {React.isValidElement(newElement)\n ? React.cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n );\n }\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {children}\n </SlotClone>\n );\n});\n\nSlot.displayName = 'Slot';\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotCloneProps {\n children: React.ReactNode;\n}\n\nconst SlotClone = React.forwardRef<any, SlotCloneProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n\n if (React.isValidElement(children)) {\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n ref: composeRefs(forwardedRef, (children as any).ref),\n });\n }\n\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\n\nSlotClone.displayName = 'SlotClone';\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst Slottable = ({ children }: { children: React.ReactNode }) => {\n return <>{children}</>;\n};\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype AnyProps = Record<string, any>;\n\nfunction isSlottable(child: React.ReactNode): child is React.ReactElement {\n return React.isValidElement(child) && child.type === Slottable;\n}\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps) {\n // all child props should override\n const overrideProps = { ...childProps };\n\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n\n const isHandler = /^on[A-Z]/.test(propName);\n // if it's a handler, modify the override by composing the base handler\n if (isHandler) {\n overrideProps[propName] = (...args: unknown[]) => {\n childPropValue?.(...args);\n slotPropValue?.(...args);\n };\n }\n // if it's `style`, we merge them\n else if (propName === 'style') {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === 'className') {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ');\n }\n }\n\n return { ...slotProps, ...overrideProps };\n}\n\nconst Root = Slot;\n\nexport {\n Slot,\n Slottable,\n //\n Root,\n};\nexport type { SlotProps };\n","import * as React from 'react';\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nconst useLayoutEffect = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {};\n\nexport { useLayoutEffect };\n","import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n// We `toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as any)['useId'.toString()] || (() => undefined);\nlet count = 0;\n\nfunction useId(deterministicId?: string): string {\n const [id, setId] = React.useState<string | undefined>(useReactId());\n // React versions older than 18 will have client-side ids only.\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\nexport { useId };\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Slot } from '@radix-ui/react-slot';\n\nconst NODES = [\n 'a',\n 'button',\n 'div',\n 'h2',\n 'h3',\n 'img',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'span',\n 'svg',\n 'ul',\n] as const;\n\n// Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\ntype PropsWithoutRef<P> = P extends any ? ('ref' extends keyof P ? Pick<P, Exclude<keyof P, 'ref'>> : P) : P;\ntype ComponentPropsWithoutRef<T extends React.ElementType> = PropsWithoutRef<\n React.ComponentProps<T>\n>;\n\ntype Primitives = { [E in typeof NODES[number]]: PrimitiveForwardRefComponent<E> };\ntype PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {\n asChild?: boolean;\n};\n\ninterface PrimitiveForwardRefComponent<E extends React.ElementType>\n extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {}\n\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/\n\nconst Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props: PrimitivePropsWithRef<typeof node>, forwardedRef: any) => {\n const { asChild, ...primitiveProps } = props;\n const Comp: any = asChild ? Slot : node;\n\n React.useEffect(() => {\n (window as any)[Symbol.for('radix-ui')] = true;\n }, []);\n\n return <Comp {...primitiveProps} ref={forwardedRef} />;\n });\n\n Node.displayName = `Primitive.${node}`;\n\n return { ...primitive, [node]: Node };\n}, {} as Primitives);\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Primitive;\n\nexport {\n Primitive,\n //\n Root,\n //\n dispatchDiscreteCustomEvent,\n};\nexport type { ComponentPropsWithoutRef, PrimitivePropsWithRef };\n","import * as React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nfunction useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T {\n const callbackRef = React.useRef(callback);\n\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n\n // https://github.com/facebook/react/issues/19240\n return React.useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, []);\n}\n\nexport { useCallbackRef };\n","import * as React from 'react';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\ntype UseControllableStateParams<T> = {\n prop?: T | undefined;\n defaultProp?: T | undefined;\n onChange?: (state: T) => void;\n};\n\ntype SetStateFn<T> = (prevState?: T) => T;\n\nfunction useControllableState<T>({\n prop,\n defaultProp,\n onChange = () => {},\n}: UseControllableStateParams<T>) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== undefined;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n\n const setValue: React.Dispatch<React.SetStateAction<T | undefined>> = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue as SetStateFn<T>;\n const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n if (value !== prop) handleChange(value as T);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n\n return [value, setValue] as const;\n}\n\nfunction useUncontrolledState<T>({\n defaultProp,\n onChange,\n}: Omit<UseControllableStateParams<T>, 'prop'>) {\n const uncontrolledState = React.useState<T | undefined>(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value as T);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n\n return uncontrolledState;\n}\n\nexport { useControllableState };\n","import * as React from 'react';\n\ntype Direction = 'ltr' | 'rtl';\nconst DirectionContext = React.createContext<Direction | undefined>(undefined);\n\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DirectionProviderProps {\n children?: React.ReactNode;\n dir: Direction;\n}\nconst DirectionProvider: React.FC<DirectionProviderProps> = (props) => {\n const { dir, children } = props;\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useDirection(localDir?: Direction) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || 'ltr';\n}\n\nconst Provider = DirectionProvider;\n\nexport {\n useDirection,\n //\n Provider,\n //\n DirectionProvider,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst EVENT_OPTIONS = { bubbles: false, cancelable: true };\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'RovingFocusGroup';\n\ntype ItemData = { id: string; focusable: boolean; active: boolean };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n HTMLSpanElement,\n ItemData\n>(GROUP_NAME);\n\ntype ScopedProps<P> = P & { __scopeRovingFocusGroup?: Scope };\nconst [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\n\ntype Orientation = React.AriaAttributes['aria-orientation'];\ntype Direction = 'ltr' | 'rtl';\n\ninterface RovingFocusGroupOptions {\n /**\n * The orientation of the group.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n */\n orientation?: Orientation;\n /**\n * The direction of navigation between items.\n */\n dir?: Direction;\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: boolean;\n}\n\ntype RovingContextValue = RovingFocusGroupOptions & {\n currentTabStopId: string | null;\n onItemFocus(tabStopId: string): void;\n onItemShiftTab(): void;\n};\n\nconst [RovingFocusProvider, useRovingFocusContext] =\n createRovingFocusGroupContext<RovingContextValue>(GROUP_NAME);\n\ntype RovingFocusGroupElement = RovingFocusGroupImplElement;\ninterface RovingFocusGroupProps extends RovingFocusGroupImplProps {}\n\nconst RovingFocusGroup = React.forwardRef<RovingFocusGroupElement, RovingFocusGroupProps>(\n (props: ScopedProps<RovingFocusGroupProps>, forwardedRef) => {\n return (\n <Collection.Provider scope={props.__scopeRovingFocusGroup}>\n <Collection.Slot scope={props.__scopeRovingFocusGroup}>\n <RovingFocusGroupImpl {...props} ref={forwardedRef} />\n </Collection.Slot>\n </Collection.Provider>\n );\n }\n);\n\nRovingFocusGroup.displayName = GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype RovingFocusGroupImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RovingFocusGroupImplProps\n extends Omit<PrimitiveDivProps, 'dir'>,\n RovingFocusGroupOptions {\n currentTabStopId?: string | null;\n defaultCurrentTabStopId?: string;\n onCurrentTabStopIdChange?: (tabStopId: string | null) => void;\n onEntryFocus?: (event: Event) => void;\n}\n\nconst RovingFocusGroupImpl = React.forwardRef<\n RovingFocusGroupImplElement,\n RovingFocusGroupImplProps\n>((props: ScopedProps<RovingFocusGroupImplProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n ...groupProps\n } = props;\n const ref = React.useRef<RovingFocusGroupImplElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange,\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n\n return (\n <RovingFocusProvider\n scope={__scopeRovingFocusGroup}\n orientation={orientation}\n dir={direction}\n loop={loop}\n currentTabStopId={currentTabStopId}\n onItemFocus={React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n )}\n onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}\n >\n <Primitive.div\n tabIndex={isTabbingBackOut ? -1 : 0}\n data-orientation={orientation}\n {...groupProps}\n ref={composedRefs}\n style={{ outline: 'none', ...props.style }}\n onMouseDown={composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n })}\n onFocus={composeEventHandlers(props.onFocus, (event) => {\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n ) as typeof items;\n const candidateNodes = candidateItems.map((item) => item.ref.current!);\n focusFirst(candidateNodes);\n }\n }\n\n isClickFocusRef.current = false;\n })}\n onBlur={composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))}\n />\n </RovingFocusProvider>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RovingFocusGroupItem';\n\ntype RovingFocusItemElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface RovingFocusItemProps extends PrimitiveSpanProps {\n focusable?: boolean;\n active?: boolean;\n}\n\nconst RovingFocusGroupItem = React.forwardRef<RovingFocusItemElement, RovingFocusItemProps>(\n (props: ScopedProps<RovingFocusItemProps>, forwardedRef) => {\n const { __scopeRovingFocusGroup, focusable = true, active = false, ...itemProps } = props;\n const id = useId();\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n\n return (\n <Collection.ItemSlot\n scope={__scopeRovingFocusGroup}\n id={id}\n focusable={focusable}\n active={active}\n >\n <Primitive.span\n tabIndex={isCurrentTabStop ? 0 : -1}\n data-orientation={context.orientation}\n {...itemProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault();\n // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n\n if (event.target !== event.currentTarget) return;\n\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n\n if (focusIntent !== undefined) {\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop\n ? wrapArray(candidateNodes, currentIndex + 1)\n : candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n }\n })}\n />\n </Collection.ItemSlot>\n );\n }\n);\n\nRovingFocusGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\n// prettier-ignore\nconst MAP_KEY_TO_FOCUS_INTENT: Record<string, FocusIntent> = {\n ArrowLeft: 'prev', ArrowUp: 'prev',\n ArrowRight: 'next', ArrowDown: 'next',\n PageUp: 'first', Home: 'first',\n PageDown: 'last', End: 'last',\n};\n\nfunction getDirectionAwareKey(key: string, dir?: Direction) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\n\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next';\n\nfunction getFocusIntent(event: React.KeyboardEvent, orientation?: Orientation, dir?: Direction) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && ['ArrowLeft', 'ArrowRight'].includes(key)) return undefined;\n if (orientation === 'horizontal' && ['ArrowUp', 'ArrowDown'].includes(key)) return undefined;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n\nfunction focusFirst(candidates: HTMLElement[]) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n\nconst Root = RovingFocusGroup;\nconst Item = RovingFocusGroupItem;\n\nexport {\n createRovingFocusGroupScope,\n //\n RovingFocusGroup,\n RovingFocusGroupItem,\n //\n Root,\n Item,\n};\nexport type { RovingFocusGroupProps, RovingFocusItemProps };\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type * as Radix from '@radix-ui/react-primitive';\n\ntype SlotProps = Radix.ComponentPropsWithoutRef<typeof Slot>;\ntype CollectionElement = HTMLElement;\ninterface CollectionProps extends SlotProps {\n scope: any;\n}\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like `<CollectionItem as={Slot}>…</CollectionItem>`.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\n\nfunction createCollection<ItemElement extends HTMLElement, ItemData = {}>(name: string) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/\n\n const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n\n type ContextValue = {\n collectionRef: React.RefObject<CollectionElement>;\n itemMap: Map<React.RefObject<ItemElement>, { ref: React.RefObject<ItemElement> } & ItemData>;\n };\n\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext<ContextValue>(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: new Map() }\n );\n\n const CollectionProvider: React.FC<{ children?: React.ReactNode; scope: any }> = (props) => {\n const { scope, children } = props;\n const ref = React.useRef<CollectionElement>(null);\n const itemMap = React.useRef<ContextValue['itemMap']>(new Map()).current;\n return (\n <CollectionProviderImpl scope={scope} itemMap={itemMap} collectionRef={ref}>\n {children}\n </CollectionProviderImpl>\n );\n };\n\n CollectionProvider.displayName = PROVIDER_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/\n\n const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n\n const CollectionSlot = React.forwardRef<CollectionElement, CollectionProps>(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return <Slot ref={composedRefs}>{children}</Slot>;\n }\n );\n\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/\n\n const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n\n type CollectionItemSlotProps = ItemData & {\n children: React.ReactNode;\n scope: any;\n };\n\n const CollectionItemSlot = React.forwardRef<ItemElement, CollectionItemSlotProps>(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef<ItemElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...(itemData as unknown as ItemData) });\n return () => void context.itemMap.delete(ref);\n });\n\n return (\n <Slot {...{ [ITEM_DATA_ATTR]: '' }} ref={composedRefs}>\n {children}\n </Slot>\n );\n }\n );\n\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/\n\n function useCollection(scope: any) {\n const context = useCollectionContext(name + 'CollectionConsumer', scope);\n\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current!) - orderedNodes.indexOf(b.ref.current!)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n\n return getItems;\n }\n\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope,\n ] as const;\n}\n\nexport { createCollection };\nexport type { CollectionProps };\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './useStateMachine';\n\ninterface PresenceProps {\n children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n\n const child = (\n typeof children === 'function'\n ? children({ present: presence.isPresent })\n : React.Children.only(children)\n ) as React.ReactElement;\n\n const ref = useComposedRefs(presence.ref, (child as any).ref);\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\nPresence.displayName = 'Presence';\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n const [node, setNode] = React.useState<HTMLElement>();\n const stylesRef = React.useRef<CSSStyleDeclaration>({} as any);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef<string>('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended',\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted',\n },\n unmounted: {\n MOUNT: 'mounted',\n },\n });\n\n React.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [state]);\n\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n\n if (present) {\n send('MOUNT');\n } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n } else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */\n const isAnimating = prevAnimationName !== currentAnimationName;\n\n if (wasPresent && isAnimating) {\n send('ANIMATION_OUT');\n } else {\n send('UNMOUNT');\n }\n }\n\n prevPresentRef.current = present;\n }\n }, [present, send]);\n\n useLayoutEffect(() => {\n if (node) {\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n const handleAnimationEnd = (event: AnimationEvent) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n // With React 18 concurrency this update is applied\n // a frame after the animation ends, creating a flash of visible content.\n // By manually flushing we ensure they sync within a frame, removing the flash.\n ReactDOM.flushSync(() => send('ANIMATION_END'));\n }\n };\n const handleAnimationStart = (event: AnimationEvent) => {\n if (event.target === node) {\n // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener('animationstart', handleAnimationStart);\n node.addEventListener('animationcancel', handleAnimationEnd);\n node.addEventListener('animationend', handleAnimationEnd);\n return () => {\n node.removeEventListener('animationstart', handleAnimationStart);\n node.removeEventListener('animationcancel', handleAnimationEnd);\n node.removeEventListener('animationend', handleAnimationEnd);\n };\n } else {\n // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }\n }, [node, send]);\n\n return {\n isPresent: ['mounted', 'unmountSuspended'].includes(state),\n ref: React.useCallback((node: HTMLElement) => {\n if (node) stylesRef.current = getComputedStyle(node);\n setNode(node);\n }, []),\n };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getAnimationName(styles?: CSSStyleDeclaration) {\n return styles?.animationName || 'none';\n}\n\nexport { Presence };\nexport type { PresenceProps };\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useId } from '@radix-ui/react-id';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Tabs\n * -----------------------------------------------------------------------------------------------*/\n\nconst TABS_NAME = 'Tabs';\n\ntype ScopedProps<P> = P & { __scopeTabs?: Scope };\nconst [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype TabsContextValue = {\n baseId: string;\n value?: string;\n onValueChange: (value: string) => void;\n orientation?: TabsProps['orientation'];\n dir?: TabsProps['dir'];\n activationMode?: TabsProps['activationMode'];\n};\n\nconst [TabsProvider, useTabsContext] = createTabsContext<TabsContextValue>(TABS_NAME);\n\ntype TabsElement = React.ElementRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface TabsProps extends PrimitiveDivProps {\n /** The value for the selected tab, if controlled */\n value?: string;\n /** The value of the tab to select by default, if uncontrolled */\n defaultValue?: string;\n /** A function called when a new tab is selected */\n onValueChange?: (value: string) => void;\n /**\n * The orientation the tabs are layed out.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n * @defaultValue horizontal\n */\n orientation?: RovingFocusGroupProps['orientation'];\n /**\n * The direction of navigation between toolbar items.\n */\n dir?: RovingFocusGroupProps['dir'];\n /**\n * Whether a tab is activated automatically or manually.\n * @defaultValue automatic\n * */\n activationMode?: 'automatic' | 'manual';\n}\n\nconst Tabs = React.forwardRef<TabsElement, TabsProps>(\n (props: ScopedProps<TabsProps>, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = 'horizontal',\n dir,\n activationMode = 'automatic',\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue,\n });\n\n return (\n <TabsProvider\n scope={__scopeTabs}\n baseId={useId()}\n value={value}\n onValueChange={setValue}\n orientation={orientation}\n dir={direction}\n activationMode={activationMode}\n >\n <Primitive.div\n dir={direction}\n data-orientation={orientation}\n {...tabsProps}\n ref={forwardedRef}\n />\n </TabsProvider>\n );\n }\n);\n\nTabs.displayName = TABS_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst TAB_LIST_NAME = 'TabsList';\n\ntype TabsListElement = React.ElementRef<typeof Primitive.div>;\ninterface TabsListProps extends PrimitiveDivProps {\n loop?: RovingFocusGroupProps['loop'];\n}\n\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>(\n (props: ScopedProps<TabsListProps>, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return (\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={context.orientation}\n dir={context.dir}\n loop={loop}\n >\n <Primitive.div\n role=\"tablist\"\n aria-orientation={context.orientation}\n {...listProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n );\n }\n);\n\nTabsList.displayName = TAB_LIST_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'TabsTrigger';\n\ntype TabsTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface TabsTriggerProps extends PrimitiveButtonProps {\n value: string;\n}\n\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props: ScopedProps<TabsTriggerProps>, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!disabled}\n active={isSelected}\n >\n <Primitive.button\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={contentId}\n data-state={isSelected ? 'active' : 'inactive'}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n id={triggerId}\n {...triggerProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n // prevent focus to avoid accidental activation\n event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if ([' ', 'Enter'].includes(event.key)) context.onValueChange(value);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => {\n // handle \"automatic\" activation if necessary\n // ie. activate tab following focus\n const isAutomaticActivation = context.activationMode !== 'manual';\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nTabsTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TabsContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'TabsContent';\n\ntype TabsContentElement = React.ElementRef<typeof Primitive.div>;\ninterface TabsContentProps extends PrimitiveDivProps {\n value: string;\n\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props: ScopedProps<TabsContentProps>, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n return (\n <Presence present={forceMount || isSelected}>\n {({ present }) => (\n <Primitive.div\n data-state={isSelected ? 'active' : 'inactive'}\n data-orientation={context.orientation}\n role=\"tabpanel\"\n aria-labelledby={triggerId}\n hidden={!present}\n id={contentId}\n tabIndex={0}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? '0s' : undefined,\n }}\n >\n {present && children}\n </Primitive.div>\n )}\n </Presence>\n );\n }\n);\n\nTabsContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nfunction makeTriggerId(baseId: string, value: string) {\n return `${baseId}-trigger-${value}`;\n}\n\nfunction makeContentId(baseId: string, value: string) {\n return `${baseId}-content-${value}`;\n}\n\nconst Root = Tabs;\nconst List = TabsList;\nconst Trigger = TabsTrigger;\nconst Content = TabsContent;\n\nexport {\n createTabsScope,\n //\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n //\n Root,\n List,\n Trigger,\n Content,\n};\nexport type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };\n","var o,e;!function(o){o.Apple=\"SignInWithApple\",o.Amazon=\"LoginWithAmazon\",o.Facebook=\"Facebook\",o.Google=\"Google\"}(o||(o={})),function(o){o.Email=\"email\",o.PhoneNumber=\"phone_number\"}(e||(e={}));export{o as FederatedIdentityProviders,e as UnverifiedContactMethodType};\n","import{__rest as e}from\"tslib\";import a from\"classnames\";import*as r from\"@radix-ui/react-tabs\";import*as t from\"react\";import{sanitizeNamespaceImport as i}from\"@aws-amplify/ui\";import{ComponentClassNames as n}from\"../shared/constants.mjs\";import{Flex as s}from\"../Flex/Flex.mjs\";import{View as l}from\"../View/View.mjs\";const{Root:o,List:m,Trigger:c,Content:d}=i(r),f=e=>t.isValidElement(e),p=t.forwardRef(((r,i)=>{var{ariaLabel:l,children:c,className:p,defaultIndex:u=0,currentIndex:g,onChange:b,indicatorPosition:h,spacing:x}=r,N=e(r,[\"ariaLabel\",\"children\",\"className\",\"defaultIndex\",\"currentIndex\",\"onChange\",\"indicatorPosition\",\"spacing\"]);const C={defaultValue:u.toString(),value:null!=g?g.toString():void 0,onValueChange:b},E=t.Children.toArray(c).filter((e=>!!e));return t.createElement(o,Object.assign({},C),t.createElement(m,{\"aria-label\":l},t.createElement(s,Object.assign({className:a(n.Tabs,p),\"data-indicator-position\":h,ref:i},N),t.Children.map(E,((e,a)=>{if(f(e))return t.cloneElement(e,{\"data-spacing\":x,key:a,value:`${a}`})})))),t.Children.map(E,((e,a)=>{if(f(e))return t.createElement(d,{key:a,value:`${a}`},e.props.children)})))})),u=t.forwardRef(((r,i)=>{var{className:s,title:o}=r,m=e(r,[\"className\",\"title\"]);return t.createElement(l,Object.assign({as:c,className:a(n.TabItems,s),ref:i},m),o)}));p.displayName=\"Tabs\",u.displayName=\"TabItem\";export{u as TabItem,p as Tabs};\n","import{__rest as a}from\"tslib\";import i from\"classnames\";import*as e from\"react\";import{classNameModifier as r}from\"@aws-amplify/ui\";import{ComponentClassNames as s}from\"../shared/constants.mjs\";import{View as t}from\"../View/View.mjs\";const o=e.forwardRef(((o,m)=>{var{className:l,orientation:n=\"horizontal\",size:c,label:d}=o,f=a(o,[\"className\",\"orientation\",\"size\",\"label\"]);const p=i(s.Divider,r(s.Divider,n),r(s.Divider,c),d?s.DividerLabel:null,l);return e.createElement(t,Object.assign({\"aria-orientation\":n,as:\"hr\",className:p,\"data-size\":c,\"data-label\":d,ref:m},f))}));o.displayName=\"Divider\";export{o as Divider};\n","import{__rest as e}from\"tslib\";import*as t from\"react\";import a from\"classnames\";import{ComponentClassNames as i}from\"../shared/constants.mjs\";import{View as m}from\"../View/View.mjs\";const s={minX:0,minY:0,width:24,height:24},r=t.forwardRef(((r,n)=>{var{className:o,as:h=\"svg\",fill:l=\"currentColor\",pathData:c,viewBox:p=s,children:f,paths:d}=r,w=e(r,[\"className\",\"as\",\"fill\",\"pathData\",\"viewBox\",\"children\",\"paths\"]);const g=p.minX?p.minX:s.minX,v=p.minY?p.minY:s.minY,j=p.width?p.width:s.width,x=p.height?p.height:s.height;let N;return f&&(N=f),d&&(N=d.map(((e,a)=>t.createElement(\"path\",Object.assign({},e,{key:a}))))),c&&(N=t.createElement(\"path\",{d:c,fill:l})),t.createElement(m,Object.assign({as:h,className:a(i.Icon,o),ref:n,viewBox:`${g} ${v} ${j} ${x}`},w),N)}));r.displayName=\"Icon\";export{r as Icon};\n","import e from\"react\";import{useAuthenticator as t}from\"@aws-amplify/ui-react-core\";import{Button as l}from\"../../../../primitives/Button/Button.mjs\";import{Icon as i}from\"../../../../primitives/Icon/Icon.mjs\";import{Text as a}from\"../../../../primitives/Text/Text.mjs\";const n=()=>e.createElement(\"svg\",{\"aria-label\":\"Apple icon\",className:\"amplify-icon federated-sign-in-icon\",fill:\"#000\",preserveAspectRatio:\"xMidYMid\",stroke:\"#000\",strokeWidth:\"0\",viewBox:\"0 0 1024 1024\",xmlns:\"http://www.w3.org/2000/svg\"},e.createElement(\"path\",{d:\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"})),r=()=>e.createElement(\"svg\",{\"aria-label\":\"Google icon\",className:\"amplify-icon federated-sign-in-icon\",viewBox:\"0 0 256 262\",xmlns:\"http://www.w3.org/2000/svg\",preserveAspectRatio:\"xMidYMid\"},e.createElement(\"path\",{d:\"M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027\",fill:\"#4285F4\"}),e.createElement(\"path\",{d:\"M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1\",fill:\"#34A853\"}),e.createElement(\"path\",{d:\"M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782\",fill:\"#FBBC05\"}),e.createElement(\"path\",{d:\"M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251\",fill:\"#EB4335\"})),o=()=>e.createElement(i,{className:\"federated-sign-in-icon\",ariaLabel:\"Facebook icon\",viewBox:{minX:0,minY:0,width:279,height:538},pathData:\"M82.3409742,538 L82.3409742,292.936652 L0,292.936652 L0,196.990154 L82.2410458,196.990154 L82.2410458,126.4295 C82.2410458,44.575144 132.205229,0 205.252865,0 C240.227794,0 270.306232,2.59855099 279,3.79788222 L279,89.2502322 L228.536175,89.2502322 C188.964542,89.2502322 181.270057,108.139699 181.270057,135.824262 L181.270057,196.89021 L276.202006,196.89021 L263.810888,292.836708 L181.16913,292.836708 L181.16913,538 L82.3409742,538 Z\",fill:\"#1877F2\"}),c=()=>e.createElement(\"svg\",{\"aria-label\":\"Amazon icon\",className:\"amplify-icon federated-sign-in-icon\",viewBox:\"0 0 243 264\",xmlns:\"http://www.w3.org/2000/svg\",preserveAspectRatio:\"xMidYMid\"},e.createElement(\"path\",{d:\"M230.826 208.039C227.468 203.683 208.551 205.982 200.056 206.998C197.471 207.321 197.076 205.042 199.407 203.405C214.475 192.665 239.201 195.766 242.082 199.364C244.966 202.982 241.337 228.071 227.173 240.049C225.001 241.888 222.93 240.904 223.898 238.468C227.077 230.431 234.205 212.419 230.826 208.039ZM123.769 264C71.0234 264 39.0764 241.955 14.7853 217.542C9.97339 212.706 3.71799 206.296 0.311513 200.691C-1.09773 198.372 2.59096 195.022 5.04421 196.844C35.239 219.268 79.1012 239.538 122.53 239.538C151.82 239.538 188.046 227.47 217.669 214.868C222.147 212.966 222.147 219.18 221.512 221.061C221.183 222.032 206.515 236.221 186.247 247.047C167.304 257.166 143.397 264 123.769 264Z\",fill:\"#F2541B\"}),e.createElement(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M142.943 111.185C142.943 124.756 143.268 136.054 136.406 148.123C130.856 157.913 122.027 163.95 112.222 163.95C98.8288 163.95 90.9806 153.772 90.9806 138.693C90.9806 109.036 117.677 103.647 142.943 103.647V111.185ZM178.166 196.081C175.858 198.15 171.635 198.22 169.914 196.894C157.974 187.684 149.89 173.688 149.89 173.688C130.706 193.156 117.127 199 92.2879 199C62.8772 199 40 180.905 40 144.729C40 116.461 55.3552 97.2408 77.2563 87.823C96.2094 79.5256 122.684 78.0173 142.943 75.7517C142.943 75.7517 144.633 53.933 138.699 45.9806C134.098 39.8163 126.272 36.9329 119.089 36.9329C106.127 36.8829 93.61 43.9051 91.1262 57.4188C90.4136 61.2829 87.5533 64.5261 84.54 64.206L51.0823 60.5922C48.5156 60.2951 45.0381 57.6639 45.8636 53.3081C53.644 12.3684 90.7373 0 123.989 0C140.983 0 163.21 4.51651 176.608 17.3349C193.597 33.1648 191.969 54.2755 191.969 77.2722V131.51C191.969 147.835 198.768 154.987 205.151 163.775C207.376 166.953 207.886 170.714 205.04 173.032C197.902 178.999 178.166 196.081 178.166 196.081Z\",fill:\"#F2541B\"})),m=i=>{const{icon:m,provider:s,text:C}=i,{toFederatedSignIn:p}=t();let d;return\"facebook\"===m?d=e.createElement(o,null):\"google\"===m?d=e.createElement(r,null):\"amazon\"===m?d=e.createElement(c,null):\"apple\"===m&&(d=e.createElement(n,null)),e.createElement(l,{onClick:e=>{e.preventDefault(),p({provider:s})},className:\"federated-sign-in-button\",fontWeight:\"normal\",gap:\"1rem\"},d,e.createElement(a,{as:\"span\"},C))};export{m as FederatedSignInButton};\n","import e from\"react\";import{FederatedIdentityProviders as t,authenticatorTextUtil as o}from\"@aws-amplify/ui\";import{Divider as r}from\"../../../primitives/Divider/Divider.mjs\";import{Flex as i}from\"../../../primitives/Flex/Flex.mjs\";import{useAuthenticator as a}from\"@aws-amplify/ui-react-core\";import{FederatedSignInButton as n}from\"./FederatedSignInButtons/FederatedSignInButton.mjs\";const{getSignInWithFederationText:m,getOrText:s}=o;function c(){const{route:o,socialProviders:c}=a((({route:e,socialProviders:t})=>[e,t]));return 0===c.length?null:e.createElement(i,{direction:\"column\",padding:\"0 0 1rem 0\",className:\"federated-sign-in-container\"},c.map((r=>{switch(r){case\"amazon\":return e.createElement(n,{icon:\"amazon\",key:r,provider:t.Amazon,text:m(o,r)});case\"apple\":return e.createElement(n,{icon:\"apple\",key:r,provider:t.Apple,text:m(o,r)});case\"facebook\":return e.createElement(n,{icon:\"facebook\",key:r,provider:t.Facebook,text:m(o,r)});case\"google\":return e.createElement(n,{icon:\"google\",key:r,provider:t.Google,text:m(o,r)});default:console.error(`Authenticator does not support ${r}. Please open an issue: https://github.com/aws-amplify/amplify-ui/issues/choose`)}})),e.createElement(r,{size:\"small\",label:s()}))}export{c as FederatedSignIn};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Button as r}from\"../../../primitives/Button/Button.mjs\";import{Flex as n}from\"../../../primitives/Flex/Flex.mjs\";import{View as i}from\"../../../primitives/View/View.mjs\";import{VisuallyHidden as o}from\"../../../primitives/VisuallyHidden/VisuallyHidden.mjs\";import{FederatedSignIn as m}from\"../FederatedSignIn/FederatedSignIn.mjs\";import{useAuthenticator as a}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as l}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as s}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as d}from\"../shared/RemoteErrorMessage.mjs\";import{FormFields as u}from\"../shared/FormFields.mjs\";const{getSignInText:c,getSigningInText:p,getForgotPasswordText:f}=t;function g(){const{isPending:t}=a((e=>[e.isPending])),{handleChange:f,handleSubmit:E}=s(),{components:{SignIn:{Header:F=g.Header,Footer:h=g.Footer}}}=l();return e.createElement(i,null,e.createElement(F,null),e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-signin\":\"\",method:\"post\",onSubmit:E,onChange:f},e.createElement(m,null),e.createElement(n,{direction:\"column\"},e.createElement(n,{as:\"fieldset\",direction:\"column\",isDisabled:t},e.createElement(o,null,e.createElement(\"legend\",null,c())),e.createElement(u,null)),e.createElement(d,null),e.createElement(r,{isDisabled:t,isFullWidth:!0,type:\"submit\",variation:\"primary\",isLoading:t,loadingText:p()},c()))),e.createElement(h,null))}g.Footer=()=>{const{toResetPassword:t}=a((e=>[e.toResetPassword]));return e.createElement(i,{\"data-amplify-footer\":\"\"},e.createElement(r,{fontWeight:\"normal\",onClick:t,size:\"small\",variation:\"link\"},f()))},g.Header=function(){return null};export{g as SignIn};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Button as r}from\"../../../primitives/Button/Button.mjs\";import{Flex as o}from\"../../../primitives/Flex/Flex.mjs\";import{View as n}from\"../../../primitives/View/View.mjs\";import{FederatedSignIn as i}from\"../FederatedSignIn/FederatedSignIn.mjs\";import{useAuthenticator as m}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as a}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as l}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as s}from\"../shared/RemoteErrorMessage.mjs\";import{FormFields as u}from\"../shared/FormFields.mjs\";const{getCreateAccountText:d,getCreatingAccountText:c}=t;function p(){const{hasValidationErrors:t,isPending:u}=m((e=>[e.hasValidationErrors,e.isPending])),{handleChange:f,handleBlur:F,handleSubmit:g}=l(),{components:{SignUp:{Header:h=p.Header,FormFields:E=p.FormFields,Footer:j=p.Footer}}}=a();return e.createElement(n,null,e.createElement(h,null),e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-signup\":\"\",method:\"post\",onChange:f,onSubmit:g,onBlur:F},e.createElement(i,null),e.createElement(o,{as:\"fieldset\",direction:\"column\",isDisabled:u},e.createElement(o,{direction:\"column\"},e.createElement(E,null),e.createElement(s,null)),e.createElement(r,{isDisabled:t||u,isFullWidth:!0,type:\"submit\",variation:\"primary\",isLoading:u,loadingText:c()},d()))),e.createElement(j,null))}p.Header=function(){return null},p.FormFields=function(){return e.createElement(u,null)},p.Footer=function(){return null};export{p as SignUp};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{useAuthenticator as n}from\"@aws-amplify/ui-react-core\";import{Tabs as i,TabItem as r}from\"../../../primitives/Tabs/Tabs.mjs\";import{View as o}from\"../../../primitives/View/View.mjs\";import{SignIn as a}from\"../SignIn/SignIn.mjs\";import{SignUp as m}from\"../SignUp/SignUp.mjs\";import{RouteContainer as l}from\"../RouteContainer/RouteContainer.mjs\";const{getSignInTabText:p,getSignUpTabText:s}=t,c=({className:t,hideSignUp:c,variation:g})=>{const{route:u,toSignIn:f,toSignUp:S}=n((e=>[e.route,e.toSignIn,e.toSignUp]));return e.createElement(l,{className:t,variation:g},c?e.createElement(o,{\"data-amplify-router-content\":\"\"},\"signIn\"===u&&e.createElement(a,null)):e.createElement(i,{indicatorPosition:\"top\",currentIndex:\"signIn\"===u?0:1,spacing:\"equal\",justifyContent:\"center\",onChange:()=>\"signIn\"===u?S():f()},e.createElement(r,{title:p()},e.createElement(o,{\"data-amplify-router-content\":\"\"},\"signIn\"===u&&e.createElement(a,null))),e.createElement(r,{title:s()},e.createElement(o,{\"data-amplify-router-content\":\"\"},\"signUp\"===u&&e.createElement(m,null)))))};export{c as SignInSignUpTabs};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{useAuthenticator as i}from\"@aws-amplify/ui-react-core\";import{Button as n}from\"../../../primitives/Button/Button.mjs\";import{Flex as r}from\"../../../primitives/Flex/Flex.mjs\";const{getSubmitText:a,getSubmittingText:m}=t,o=t=>{const{cancelButtonSendType:o,cancelButtonText:l,submitButtonText:c}=t,{isPending:s,resendCode:u,skipVerification:p,toSignIn:f}=i((e=>[e.isPending])),g=s?e.createElement(e.Fragment,null,m(),\"…\"):e.createElement(e.Fragment,null,a()),b=null!=c?c:g;return e.createElement(r,{direction:\"column\"},e.createElement(n,{fontWeight:\"normal\",variation:\"primary\",isDisabled:s,type:\"submit\"},b),e.createElement(n,{onClick:()=>{switch(o){case\"SKIP\":p();break;case\"RESEND\":u();break;case\"SIGN_IN\":f();break;default:return}},type:\"button\",variation:\"link\",fontWeight:\"normal\",size:\"small\"},l))};export{o as TwoButtonSubmitFooter};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Flex as r}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as o}from\"../../../primitives/Heading/Heading.mjs\";import{useAuthenticator as m}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as n}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as i}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as a}from\"../shared/RemoteErrorMessage.mjs\";import{TwoButtonSubmitFooter as s}from\"../shared/TwoButtonSubmitFooter.mjs\";import{FormFields as l}from\"../shared/FormFields.mjs\";import{RouteContainer as c}from\"../RouteContainer/RouteContainer.mjs\";const{getAccountRecoveryInfoText:u,getSkipText:f}=t,d=({className:t,variation:o})=>{const{isPending:u}=m((e=>[e.isPending])),{handleChange:p,handleSubmit:h}=i(),{components:{ConfirmVerifyUser:{Header:E=d.Header,Footer:F=d.Footer}}}=n();return e.createElement(c,{className:t,variation:o},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-confirmverifyuser\":\"\",method:\"post\",onChange:p,onSubmit:h},e.createElement(r,{as:\"fieldset\",direction:\"column\",isDisabled:u},e.createElement(E,null),e.createElement(r,{direction:\"column\"},e.createElement(l,null)),e.createElement(a,null),e.createElement(s,{cancelButtonText:f(),cancelButtonSendType:\"SKIP\"}),e.createElement(F,null))))};d.Header=function(){return e.createElement(o,{level:3},u())},d.Footer=function(){return null};export{d as ConfirmVerifyUser};\n","import t,{useContext as e}from\"react\";const o=t.createContext({name:\"default\"}),r=()=>e(o);export{o as RadioGroupContext,r as useRadioGroupContext};\n","import{__rest as e}from\"tslib\";import*as a from\"react\";import i from\"classnames\";import{classNameModifierByFlag as t,classNameModifier as o}from\"@aws-amplify/ui\";import{ComponentClassNames as s}from\"../shared/constants.mjs\";import{Flex as d}from\"../Flex/Flex.mjs\";import{Input as l}from\"../Input/Input.mjs\";import{Text as r}from\"../Text/Text.mjs\";import{useRadioGroupContext as n}from\"../RadioGroupField/context.mjs\";const m=(m,p)=>{var{children:c,className:h,id:u,isDisabled:b,testId:f,value:R,labelPosition:g,height:v,width:N,bottom:j,left:x,position:y,padding:E,right:I,top:w}=m,D=e(m,[\"children\",\"className\",\"id\",\"isDisabled\",\"testId\",\"value\",\"labelPosition\",\"height\",\"width\",\"bottom\",\"left\",\"position\",\"padding\",\"right\",\"top\"]);const{currentValue:C,defaultValue:F,name:O,hasError:P,isGroupDisabled:V,isRequired:k,isReadOnly:q,onChange:z,size:B,labelPosition:G}=n(),T=V||b||q&&F!==R,H=void 0!==C?R===C:void 0,L=void 0!==F?R===F:void 0,A=g||G;return a.createElement(d,{as:\"label\",className:i(s.Radio,t(s.Radio,\"disabled\",T),h),\"data-disabled\":T,\"data-label-position\":A,height:v,width:N,bottom:j,top:w,right:I,left:x,position:y,padding:E},c&&a.createElement(r,{as:\"span\",className:s.RadioLabel,\"data-disabled\":T},c),a.createElement(l,Object.assign({checked:H,className:i(s.VisuallyHidden,s.RadioInput),defaultChecked:L,hasError:P,id:u,isDisabled:T,isReadOnly:q,isRequired:k,onChange:z,ref:p,type:\"radio\",name:O,value:R},D)),a.createElement(d,{\"aria-hidden\":\"true\",as:\"span\",className:i(s.RadioButton,o(s.RadioButton,B)),\"data-size\":B,testId:f}))},p=a.forwardRef(m);p.displayName=\"Radio\";export{p as Radio,m as RadioPrimitive};\n","const o=(o,t)=>o&&t?`${o}-${t}`:void 0;export{o as getTestId};\n","import{__rest as e}from\"tslib\";import*as i from\"react\";import r from\"classnames\";import{classNameModifier as a}from\"@aws-amplify/ui\";import{ComponentClassNames as s}from\"../shared/constants.mjs\";import\"../Field/FieldClearButton.mjs\";import{FieldDescription as l}from\"../Field/FieldDescription.mjs\";import{FieldErrorMessage as t}from\"../Field/FieldErrorMessage.mjs\";import\"../Field/Field.mjs\";import{Flex as d}from\"../Flex/Flex.mjs\";import{Label as o}from\"../Label/Label.mjs\";import{VisuallyHidden as m}from\"../VisuallyHidden/VisuallyHidden.mjs\";import{RadioGroupContext as n}from\"./context.mjs\";import{getTestId as u}from\"../utils/getTestId.mjs\";import{useStableId as p}from\"../utils/useStableId.mjs\";const c=i.forwardRef(((c,f)=>{var{children:b,className:F,defaultValue:j,descriptiveText:E,errorMessage:g,hasError:h=!1,id:R,isDisabled:v,isRequired:y,isReadOnly:x,label:H,labelHidden:I=!1,labelPosition:V,onChange:G,name:M,size:N,testId:z,value:C}=c,D=e(c,[\"children\",\"className\",\"defaultValue\",\"descriptiveText\",\"errorMessage\",\"hasError\",\"id\",\"isDisabled\",\"isRequired\",\"isReadOnly\",\"label\",\"labelHidden\",\"labelPosition\",\"onChange\",\"name\",\"size\",\"testId\",\"value\"]);const O=p(R),P=p(),T=E?P:void 0,q=u(z,s.RadioGroup),w=i.useMemo((()=>({currentValue:C,defaultValue:j,hasError:h,isRequired:y,isReadOnly:x,isGroupDisabled:v,onChange:G,size:N,name:M,labelPosition:V})),[j,h,v,y,x,G,N,M,C,V]);return i.createElement(d,Object.assign({as:\"fieldset\",className:r(s.Field,a(s.Field,N),s.RadioGroupField,F),\"data-size\":N,ref:f,role:\"radiogroup\",testId:z},D),i.createElement(m,{as:\"legend\"},H),i.createElement(o,{\"aria-hidden\":!0,visuallyHidden:I},H),i.createElement(l,{id:P,labelHidden:I,descriptiveText:E}),i.createElement(d,{\"aria-describedby\":T,className:s.RadioGroup,id:O,testId:q},i.createElement(n.Provider,{value:w},b)),i.createElement(t,{hasError:h,errorMessage:g}))}));c.displayName=\"RadioGroupField\";export{c as RadioGroupField};\n","import e from\"react\";import{authenticatorTextUtil as t,defaultFormFieldOptions as r,translate as o,censorPhoneNumber as i,censorAllButFirstAndLast as n}from\"@aws-amplify/ui\";import{Flex as m}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as a}from\"../../../primitives/Heading/Heading.mjs\";import{Radio as l}from\"../../../primitives/Radio/Radio.mjs\";import{RadioGroupField as s}from\"../../../primitives/RadioGroupField/RadioGroupField.mjs\";import{useAuthenticator as c}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as u}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as d}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as f}from\"../shared/RemoteErrorMessage.mjs\";import{TwoButtonSubmitFooter as p}from\"../shared/TwoButtonSubmitFooter.mjs\";import{RouteContainer as g}from\"../RouteContainer/RouteContainer.mjs\";const{getSkipText:v,getVerifyText:E,getVerifyContactText:h,getAccountRecoveryInfoText:y}=t,F=t=>Object.entries(t).map((([t,m])=>e.createElement(l,{name:\"unverifiedAttr\",value:t,key:t},((e,t)=>{const r=o(e);let m=t;if(\"Phone Number\"===e)m=i(t);else if(\"Email\"===e){const e=t.split(\"@\");m=`${n(e[0])}@${e[1]}`}return`${r}: ${m}`})(r[t].label,m)))),b=({className:t,variation:r})=>{const{components:{VerifyUser:{Header:o=b.Header,Footer:i=b.Footer}}}=u(),{isPending:n,unverifiedContactMethods:a}=c((({isPending:e,unverifiedContactMethods:t})=>[e,t])),{handleChange:l,handleSubmit:y}=d(),x=n?e.createElement(e.Fragment,null,\"Verifying…\"):e.createElement(e.Fragment,null,E()),j=e.createElement(s,{label:h(),labelHidden:!0,name:\"verify_context\",isDisabled:n},F(a));return e.createElement(g,{className:t,variation:r},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-verifyuser\":\"\",method:\"post\",onChange:l,onSubmit:y},e.createElement(m,{as:\"fieldset\",direction:\"column\",isDisabled:n},e.createElement(o,null),j,e.createElement(f,null),e.createElement(p,{cancelButtonText:v(),cancelButtonSendType:\"SKIP\",submitButtonText:x}),e.createElement(i,null))))};b.Header=function(){return e.createElement(a,{level:3},y())},b.Footer=function(){return null};export{b as VerifyUser};\n","import e from\"react\";import{authenticatorTextUtil as r}from\"@aws-amplify/ui\";import{Flex as t}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as o}from\"../../../primitives/Heading/Heading.mjs\";import{useAuthenticator as n}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as m}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as i}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{FormFields as a}from\"../shared/FormFields.mjs\";import{ConfirmSignInFooter as l}from\"../shared/ConfirmSignInFooter.mjs\";import{RemoteErrorMessage as s}from\"../shared/RemoteErrorMessage.mjs\";import{RouteContainer as c}from\"../RouteContainer/RouteContainer.mjs\";const{getChallengeText:u}=r,d=({className:r,variation:o})=>{const{isPending:u}=n((e=>[e.isPending])),{handleChange:f,handleSubmit:p}=i(),{components:{ConfirmSignIn:{Header:g=d.Header,Footer:h=d.Footer}}}=m();return e.createElement(c,{className:r,variation:o},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-confirmsignin\":\"\",method:\"post\",onChange:f,onSubmit:p},e.createElement(t,{as:\"fieldset\",direction:\"column\",isDisabled:u},e.createElement(g,null),e.createElement(t,{direction:\"column\"},e.createElement(a,null),e.createElement(s,null)),e.createElement(l,null),e.createElement(h,null))))};d.Header=function(){const{user:{challengeName:r}}=n((({user:e})=>[e]));return e.createElement(o,{level:3},u(r))},d.Footer=function(){return null};export{d as ConfirmSignIn};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Flex as o}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as r}from\"../../../primitives/Heading/Heading.mjs\";import{useAuthenticator as n}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as m}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as a}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as i}from\"../shared/RemoteErrorMessage.mjs\";import{TwoButtonSubmitFooter as s}from\"../shared/TwoButtonSubmitFooter.mjs\";import{FormFields as l}from\"../shared/FormFields.mjs\";import{RouteContainer as c}from\"../RouteContainer/RouteContainer.mjs\";const{getResendCodeText:d,getResetYourPasswordText:u}=t,p=({className:t,variation:r})=>{const{isPending:u}=n((e=>[e.isPending])),{handleBlur:f,handleChange:E,handleSubmit:h}=a(),{components:{ConfirmResetPassword:{Header:F=p.Header,Footer:g=p.Footer}}}=m();return e.createElement(c,{className:t,variation:r},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-confirmresetpassword\":\"\",method:\"post\",onSubmit:h,onChange:E,onBlur:f},e.createElement(o,{as:\"fieldset\",direction:\"column\",isDisabled:u},e.createElement(F,null),e.createElement(o,{direction:\"column\"},e.createElement(l,null)),e.createElement(i,null),e.createElement(s,{cancelButtonSendType:\"RESEND\",cancelButtonText:d()}),e.createElement(g,null))))};p.Header=function(){const t=u();return e.createElement(r,{level:3},t)},p.Footer=function(){return null};export{p as ConfirmResetPassword};\n","import e from\"react\";import{authenticatorTextUtil as t}from\"@aws-amplify/ui\";import{Flex as r}from\"../../../primitives/Flex/Flex.mjs\";import{Heading as o}from\"../../../primitives/Heading/Heading.mjs\";import{useAuthenticator as n}from\"@aws-amplify/ui-react-core\";import{useCustomComponents as m}from\"../hooks/useCustomComponents/index.mjs\";import{useFormHandlers as a}from\"../hooks/useFormHandlers/useFormHandlers.mjs\";import{RemoteErrorMessage as i}from\"../shared/RemoteErrorMessage.mjs\";import{TwoButtonSubmitFooter as s}from\"../shared/TwoButtonSubmitFooter.mjs\";import{FormFields as l}from\"../shared/FormFields.mjs\";import{RouteContainer as c}from\"../RouteContainer/RouteContainer.mjs\";const{getBackToSignInText:u,getSendingText:d,getSendCodeText:p,getResetYourPasswordText:f}=t,g=({className:t,variation:o})=>{const{isPending:f}=n((e=>[e.isPending])),{handleChange:E,handleSubmit:F}=a(),{components:{ResetPassword:{Header:h=g.Header,Footer:x=g.Footer}}}=m();return e.createElement(c,{className:t,variation:o},e.createElement(\"form\",{\"data-amplify-form\":\"\",\"data-amplify-authenticator-resetpassword\":\"\",method:\"post\",onChange:E,onSubmit:F},e.createElement(r,{as:\"fieldset\",direction:\"column\",isDisabled:f},e.createElement(h,null),e.createElement(r,{direction:\"column\"},e.createElement(l,null)),e.createElement(i,null),e.createElement(s,{cancelButtonText:u(),cancelButtonSendType:\"SIGN_IN\",submitButtonText:f?e.createElement(e.Fragment,null,d(),\"…\"):e.createElement(e.Fragment,null,p())}),e.createElement(x,null))))};g.Header=function(){return e.createElement(o,{level:3},f())},g.Footer=function(){return null};export{g as ResetPassword};\n","const n=n=>\"signIn\"===n||\"signUp\"===n;export{n as isSignInOrSignUpRoute};\n","import r,{useMemo as e}from\"react\";import{useAuthenticator as s}from\"@aws-amplify/ui-react-core\";import{ConfirmSignUp as i}from\"../ConfirmSignUp/ConfirmSignUp.mjs\";import{ForceNewPassword as t}from\"../ForceNewPassword/ForceNewPassword.mjs\";import{SetupTOTP as o}from\"../SetupTOTP/SetupTOTP.mjs\";import\"@aws-amplify/ui\";import\"../../../primitives/TextField/TextField.mjs\";import\"../../../primitives/Button/Button.mjs\";import\"../../../primitives/Flex/Flex.mjs\";import\"../../../primitives/Alert/Alert.mjs\";import{SignInSignUpTabs as m}from\"../shared/SignInSignUpTabs.mjs\";import{ConfirmVerifyUser as n}from\"../VerifyUser/ConfirmVerifyUser.mjs\";import{VerifyUser as a}from\"../VerifyUser/VerifyUser.mjs\";import{ConfirmSignIn as p}from\"../ConfirmSignIn/ConfirmSignIn.mjs\";import{ConfirmResetPassword as c}from\"../ResetPassword/ConfirmResetPassword.mjs\";import{ResetPassword as f}from\"../ResetPassword/ResetPassword.mjs\";import{isSignInOrSignUpRoute as u}from\"../utils.mjs\";function d(){return null}function l({className:l,hideSignUp:w,variation:j}){const{route:U}=s((({route:r})=>[r])),g=e((()=>(r=>{switch(r){case\"authenticated\":case\"idle\":case\"setup\":case\"transition\":return d;case\"confirmSignUp\":return i;case\"confirmSignIn\":return p;case\"setupTOTP\":return o;case\"signIn\":case\"signUp\":return m;case\"forceNewPassword\":return t;case\"resetPassword\":return f;case\"confirmResetPassword\":return c;case\"verifyUser\":return a;case\"confirmVerifyUser\":return n;default:return console.warn(`Unhandled Authenticator route - please open an issue: ${r}`),d}})(U)),[U]);return r.createElement(g,{className:l,hideSignUp:u(U)?w:void 0,variation:j})}export{l as Router};\n","import{SignIn as r}from\"../../SignIn/SignIn.mjs\";import{SignUp as e}from\"../../SignUp/SignUp.mjs\";import{ConfirmSignUp as o}from\"../../ConfirmSignUp/ConfirmSignUp.mjs\";import{ForceNewPassword as s}from\"../../ForceNewPassword/ForceNewPassword.mjs\";import{SetupTOTP as m}from\"../../SetupTOTP/SetupTOTP.mjs\";import{ConfirmSignIn as i}from\"../../ConfirmSignIn/ConfirmSignIn.mjs\";import{ConfirmVerifyUser as t}from\"../../VerifyUser/ConfirmVerifyUser.mjs\";import{VerifyUser as d}from\"../../VerifyUser/VerifyUser.mjs\";import{ConfirmResetPassword as n}from\"../../ResetPassword/ConfirmResetPassword.mjs\";import{ResetPassword as F}from\"../../ResetPassword/ResetPassword.mjs\";const a={Header:()=>null,SignIn:{Header:r.Header,Footer:r.Footer},SignUp:{Header:e.Header,FormFields:e.FormFields,Footer:e.Footer},ConfirmSignUp:{Header:o.Header,Footer:o.Footer},SetupTOTP:{Header:m.Header,Footer:m.Footer},ConfirmResetPassword:{Header:n.Header,Footer:n.Footer},ConfirmSignIn:{Header:i.Header,Footer:i.Footer},VerifyUser:{Header:d.Header,Footer:d.Footer},ConfirmVerifyUser:{Header:t.Header,Footer:t.Footer},ForceNewPassword:{FormFields:s.FormFields},ResetPassword:{Header:F.Header,Footer:F.Footer},Footer:()=>null};export{a as defaultComponents};\n","import*as e from\"react\";import{configureComponent as s,isFunction as t}from\"@aws-amplify/ui\";import{AuthenticatorProvider as r,useAuthenticator as o,useAuthenticatorInitMachine as i}from\"@aws-amplify/ui-react-core\";import{CustomComponentsContext as m}from\"./hooks/useCustomComponents/index.mjs\";import\"../../primitives/View/View.mjs\";import{Router as n}from\"./Router/Router.mjs\";import{SetupTOTP as a}from\"./SetupTOTP/SetupTOTP.mjs\";import{SignIn as p}from\"./SignIn/SignIn.mjs\";import{SignUp as u}from\"./SignUp/SignUp.mjs\";import{ForceNewPassword as c}from\"./ForceNewPassword/ForceNewPassword.mjs\";import\"./ResetPassword/ConfirmResetPassword.mjs\";import{ResetPassword as l}from\"./ResetPassword/ResetPassword.mjs\";import{defaultComponents as f}from\"./hooks/useCustomComponents/defaultComponents.mjs\";import{VERSION as g}from\"../../version.mjs\";function d({children:s,className:r,components:a,formFields:p,hideSignUp:u,initialState:c,loginMechanisms:l,signUpAttributes:g,services:d,socialProviders:w,variation:P}){const{route:j,signOut:S,user:v}=o((({route:e,signOut:s,user:t})=>[e,s,t]));i({initialState:c,loginMechanisms:l,services:d,signUpAttributes:g,socialProviders:w,formFields:p});const O=e.useMemo((()=>({components:Object.assign(Object.assign({},f),a)})),[a]);return\"authenticated\"===j||\"signOut\"===j?s?e.createElement(e.Fragment,null,t(s)?s({signOut:S,user:v}):s):null:e.createElement(m.Provider,{value:O},e.createElement(n,{className:r,hideSignUp:u,variation:P}))}function w(t){return e.useEffect((()=>{s({packageName:\"@aws-amplify/ui-react\",version:g})}),[]),e.createElement(r,null,e.createElement(d,Object.assign({},t)))}w.Provider=r,w.ResetPassword=l,w.SetupTOTP=a,w.SignIn=p,w.SignUp=u,w.ForceNewPassword=c;export{w as Authenticator,d as AuthenticatorInternal};\n","const o=\"4.6.1\";export{o as VERSION};\n","import \"@aws-amplify/ui-react/styles.css\";\n\nimport {\n Authenticator,\n ThemeProvider,\n Theme,\n useTheme,\n View,\n Image,\n Text,\n Heading,\n Button,\n useAuthenticator\n\n} from '@aws-amplify/ui-react';\n\nimport { Auth } from 'aws-amplify';\n\nimport { I18n } from 'aws-amplify';\n\nimport { translations } from '@aws-amplify/ui-react';\n\nimport '@aws-amplify/ui-react/styles.css';\n\nimport './Signin.css';\n\nI18n.putVocabularies(translations);\n\nI18n.setLanguage('es');\n\nI18n.putVocabularies({\n es: {\n 'Sign In': 'Iniciar sesión',\n 'Please fill out this field.': 'Favor de introducir este campo'\n }\n});\n\nconst Signin =(props) => {\n const formFields = {\n signIn: {\n username: {\n labelHidden: false,\n label: 'Usuario:',\n placeholder: 'Introduzca su usuario',\n isRequired: true,\n order: 1\n },\n password: {\n labelHidden: false,\n label: 'Contraseña:',\n placeholder: 'Introduzca su contraseña:',\n isRequired: true,\n order: 2,\n }\n }\n };\n\n const components = {\n Header() {\n const { tokens } = useTheme();\n\n return (\n <View textAlign=\"center\" padding={tokens.space.large}>\n </View>\n );\n },\n Footer() {\n const { tokens } = useTheme();\n\n return (\n <View textAlign=\"center\" padding={tokens.space.large}>\n </View>\n );\n },\n\n SignIn: {\n Header() {\n const { tokens } = useTheme();\n\n return (\n <Heading\n padding={`${tokens.space.xl} 0 0 ${tokens.space.xl}`}\n level={4}\n >\n Inicio de sesión\n </Heading>\n );\n },\n Footer() {\n const { toResetPassword } = useAuthenticator();\n\n return (\n <View textAlign=\"center\">\n </View>\n );\n },\n }\n };\n\n const services = {\n async handleSignIn(formData) { \n let { username, password } = formData;\n\n return Auth.signIn(username, password)\n .then((user) => {\n props.handleAuthStateChange('signedin');\n })\n }\n };\n\n return(\n <div>\n { props.status === 'signedout' ?\n <Authenticator \n formFields={formFields} \n components={components} \n loginMechanisms={['username']} \n hideSignUp\n >\n </Authenticator>\n :\n <div>\n </div>\n } \n </div>\n )\n}\n\nexport default Signin;","\nfunction Signout() { \n return (\n <div>\n </div>\n );\n}\nexport default Signout;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _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\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_CSS_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar FAMILY_CLASSIC = 'classic';\nvar FAMILY_SHARP = 'sharp';\nvar FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get: function get(target, prop) {\n return prop in target ? target[prop] : target[FAMILY_CLASSIC];\n }\n });\n}\nvar PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_CLASSIC, {\n 'fa': 'solid',\n 'fas': 'solid',\n 'fa-solid': 'solid',\n 'far': 'regular',\n 'fa-regular': 'regular',\n 'fal': 'light',\n 'fa-light': 'light',\n 'fat': 'thin',\n 'fa-thin': 'thin',\n 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n}), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid',\n 'fasr': 'regular',\n 'fa-regular': 'regular',\n 'fasl': 'light',\n 'fa-light': 'light'\n}), _familyProxy));\nvar STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n}), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass',\n 'regular': 'fasr',\n 'light': 'fasl'\n}), _familyProxy2));\nvar PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n}), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid',\n 'fasr': 'fa-regular',\n 'fasl': 'fa-light'\n}), _familyProxy3));\nvar LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n}), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass',\n 'fa-regular': 'fasr',\n 'fa-light': 'fasl'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;\nvar FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n}), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass',\n '400': 'fasr',\n '300': 'fasl'\n}), _familyProxy5));\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\nvar RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}; // familyPrefix is deprecated but we must still support it if present\n\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\n\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = {};\nObject.keys(_default).forEach(function (key) {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function set(val) {\n _config[key] = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config[key];\n }\n });\n}); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function set(val) {\n _config.cssPrefix = val;\n\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nvar _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Solid\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Light\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\\n transform: scale(var(--fa-counter-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(var(--fa-li-width, 2em) * -1);\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n -webkit-animation-name: fa-beat;\\n animation-name: fa-beat;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n -webkit-animation-name: fa-bounce;\\n animation-name: fa-bounce;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n -webkit-animation-name: fa-fade;\\n animation-name: fa-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n -webkit-animation-name: fa-beat-fade;\\n animation-name: fa-beat-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n -webkit-animation-name: fa-flip;\\n animation-name: fa-flip;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n -webkit-animation-name: fa-shake;\\n animation-name: fa-shake;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\\n animation-duration: var(--fa-animation-duration, 2s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n -webkit-animation-delay: -1ms;\\n animation-delay: -1ms;\\n -webkit-animation-duration: 1ms;\\n animation-duration: 1ms;\\n -webkit-animation-iteration-count: 1;\\n animation-iteration-count: 1;\\n -webkit-transition-delay: 0s;\\n transition-delay: 0s;\\n -webkit-transition-duration: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@-webkit-keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@-webkit-keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@-webkit-keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@-webkit-keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@-webkit-keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@-webkit-keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\\n transform: rotate(var(--fa-rotate-angle, none));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse,\\n.fa-duotone.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\";\n\nfunction css() {\n var dcp = DEFAULT_CSS_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.cssPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dcp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nvar InjectCSS = {\n mixout: function mixout() {\n return {\n dom: {\n css: css,\n insertCss: ensureCss\n }\n };\n },\n hooks: function hooks() {\n return {\n beforeDOMElementCreation: function beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg: function beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n}\n\nfunction toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = normalizeIcons(icons);\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nvar _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nvar PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n }\n\n return acc;\n });\n _byAlias = lookup(function (acc, icon, iconName) {\n var aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\n return acc;\n }); // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n\n var hasRegular = 'far' in styles || config.autoFetchSvg;\n var shimLookups = reduce(shims, function (acc, shim) {\n var maybeNameMaybeUnicode = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n var oldUnicode = _byOldUnicode[unicode];\n var newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalPrefix(styleOrPrefix) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$family = params.family,\n family = _params$family === void 0 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n}\nvar PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\nfunction getCanonicalIcon(values) {\n var _famProps;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$skipLookups = params.skipLookups,\n skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n var famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\n if (acc.prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n acc.prefix = 'fas';\n }\n }\n\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n\n if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n\n return canonical;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n var aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nvar _plugins = [];\nvar _hooks = {};\nvar providers = {};\nvar defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n var obj = _ref.mixoutsTo;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(function (k) {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n\n _plugins.forEach(function (plugin) {\n var mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(function (tk) {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n\n if (plugin.hooks) {\n var hooks = plugin.hooks();\n Object.keys(hooks).forEach(function (hook) {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n var hook = arguments[0];\n var args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n\n var iconName = iconLookup.iconName;\n var prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject('Operation requires a DOM of some kind.');\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nvar parse = {\n icon: function icon(_icon) {\n if (_icon === null) {\n return null;\n }\n\n if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {\n return {\n prefix: _icon.prefix,\n iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName\n };\n }\n\n if (Array.isArray(_icon) && _icon.length === 2) {\n var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n var prefix = getCanonicalPrefix(_icon[0]);\n return {\n prefix: prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n\n if (typeof _icon === 'string' && (_icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n var canonicalIcon = getCanonicalIcon(_icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n\n return {\n prefix: _prefix,\n iconName: byAlias(_prefix, _icon) || _icon\n };\n }\n }\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n\n var args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n },\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread2({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar styles$1 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nvar missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\n\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\n\nfunction findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n var icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"6.4.0\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction hasPrefixAndIcon(node) {\n var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\n\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\n\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\n\nfunction convertSVG(abstractObj) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$ceFn = params.ceFn,\n ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n\n var tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n var children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn: ceFn\n }));\n });\n return tag;\n}\n\nfunction nodeAsComment(node) {\n var comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (_abstract) {\n node.parentNode.insertBefore(convertSVG(_abstract), node);\n });\n\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n var comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var _abstract2 = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete _abstract2[0].attributes.id;\n\n if (_abstract2[0].attributes.class) {\n var splitClasses = _abstract2[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n\n _abstract2[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n\n var newInnerHTML = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var _options$treeCallback = options.treeCallback,\n treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n _options$nodeCallback = options.nodeCallback,\n nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n _options$pseudoElemen = options.pseudoElementsCallback,\n pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n var defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n\n return val;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraAttributes = attributesParser(node);\n var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n var extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nvar styles$2 = namespace.styles;\n\nfunction generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\n\nvar knownPrefixes = new Set();\nFAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = _toConsumableArray(knownPrefixes);\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new Promise(function (resolve, reject) {\n Promise.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function (e) {\n mark();\n reject(e);\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\n };\n}\n\nvar render = function render(iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), function () {\n callHooks('beforeDOMElementCreation', {\n iconDefinition: iconDefinition,\n params: params\n });\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout: function mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n return onTree(node, callback);\n };\n\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new Promise(function (resolve, reject) {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n\n providers$$1.generateAbstractIcon = function (_ref3) {\n var children = _ref3.children,\n attributes = _ref3.attributes,\n main = _ref3.main,\n transform = _ref3.transform,\n styles = _ref3.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main: main,\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n\n children.push(nextChild || main.icon);\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout: function mixout() {\n return {\n layer: function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes;\n return domVariants({\n type: 'layer'\n }, function () {\n callHooks('beforeDOMElementCreation', {\n assembler: assembler,\n params: params\n });\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout: function mixout() {\n return {\n counter: function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'counter',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout: function mixout() {\n return {\n text: function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n return domVariants({\n type: 'text',\n content: content\n }, function () {\n callHooks('beforeDOMElementCreation', {\n content: content,\n params: params\n });\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n };\n }\n};\n\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nfunction hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 0);\n var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n } // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var _abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n\n var element = DOCUMENT.createElement('svg');\n\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = _abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar PseudoElements = {\n hooks: function hooks() {\n return {\n mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides: function provides(providers$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nvar _unwatched = false;\nvar MutationObserver$1 = {\n mixout: function mixout() {\n return {\n dom: {\n unwatch: function unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n bootstrap: function bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto: function noAuto() {\n disconnect();\n },\n watch: function watch(params) {\n var observeMutationsRoot = params.observeMutationsRoot;\n\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot: observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout: function mixout() {\n return {\n parse: {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var transformString = node.getAttribute('data-fa-transform');\n\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n var main = _ref.main,\n transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n var operations = {\n outer: outer,\n inner: inner,\n path: path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(_abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (_abstract.attributes && (_abstract.attributes.fill || force)) {\n _abstract.attributes.fill = 'black';\n }\n\n return _abstract;\n}\n\nfunction deGroup(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\n}\n\nvar Masks = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var maskData = node.getAttribute('data-fa-mask');\n var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n return i.trim();\n }));\n\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides: function provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides: function provides(providers) {\n var reduceMotion = false;\n\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n\n providers.missingIconAbstract = function () {\n var gChildren = [];\n var FILL = {\n fill: 'currentColor'\n };\n var ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n }; // Ring\n\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n\n var dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks: function hooks() {\n return {\n parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n var symbolData = node.getAttribute('data-fa-symbol');\n var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nvar noAuto$1 = api.noAuto;\nvar config$1 = api.config;\nvar library$1 = api.library;\nvar dom$1 = api.dom;\nvar parse$1 = api.parse;\nvar findIconDefinition$1 = api.findIconDefinition;\nvar toHtml$1 = api.toHtml;\nvar icon = api.icon;\nvar layer = api.layer;\nvar text = api.text;\nvar counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","var prefix = \"fas\";\nvar fa0 = {\n prefix: 'fas',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 96c-53 0-96 43-96 96V320c0 53 43 96 96 96s96-43 96-96V192c0-53-43-96-96-96z\"]\n};\nvar fa1 = {\n prefix: 'fas',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V64z\"]\n};\nvar fa2 = {\n prefix: 'fas',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z\"]\n};\nvar fa3 = {\n prefix: 'fas',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 64C0 46.3 14.3 32 32 32H272c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H105.4C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H80c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar fa4 = {\n prefix: 'fas',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368H256v80c0 17.7 14.3 32 32 32s32-14.3 32-32V368h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V304H82.4L189 77.6z\"]\n};\nvar fa5 = {\n prefix: 'fas',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M32.5 58.3C35.3 43.1 48.5 32 64 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H90.7L70.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H100.5c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H32c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z\"]\n};\nvar fa6 = {\n prefix: 'fas',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3c0 .2 0 .3 0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z\"]\n};\nvar fa7 = {\n prefix: 'fas',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 64C0 46.3 14.3 32 32 32H288c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar fa8 = {\n prefix: 'fas',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h15.9c0 0 .1 0 .1 0h32c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0H144c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z\"]\n};\nvar fa9 = {\n prefix: 'fas',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4L168 90.7l53.1-53.1c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L122.7 136 41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm176 221.3L168 181.3 75.9 273.4c-4.2 4.2-7 9.3-8.4 14.6H386.7l42.3-42.3c3.1-3.1 3.1-8.2 0-11.3L277.7 82.9c-3.1-3.1-8.2-3.1-11.3 0L213.3 136l49.4 49.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"]\n};\nvar faArrowsToCircle = {\n prefix: 'fas',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V96c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h18.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM114.7 352H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32v18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1v0V96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 397.3V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V320v0c0 0 0-.1 0-.1c0-4.3 .9-8.4 2.4-12.2c1.6-3.8 3.9-7.3 6.9-10.4c5.8-5.8 13.7-9.3 22.5-9.4c0 0 .1 0 .1 0h0 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H525.3z\"]\n};\nvar faCircleChevronRight = {\n prefix: 'fas',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z\"]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faWagonCovered = {\n prefix: 'fas',\n iconName: 'wagon-covered',\n icon: [640, 512, [], \"f8ee\", \"M4.5 57.4C-5.2 30.3 16.1 2.1 44.8 4.1L194.1 14C210.9 15.1 224 29.1 224 45.9V224H64L4.5 57.4zM288 16h64c17.7 0 32 14.3 32 32V224H256V48c0-17.7 14.3-32 32-32zM64 288c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32h-1.6c20.7 20.3 33.6 48.7 33.6 80c0 61.9-50.1 112-112 112c-56.4 0-103.1-41.7-110.9-96H286.9c-7.8 54.3-54.4 96-110.9 96c-61.9 0-112-50.1-112-112c0-31.3 12.9-59.7 33.6-80H96c-17.7 0-32-14.3-32-32zm96 128H114c5.8 22.5 23.5 40.2 46 46V416zm0-32V338c-22.5 5.8-40.2 23.5-46 46h46zm32 78c22.5-5.8 40.2-23.5 46-46H192v46zm0-124v46h46c-5.8-22.5-23.5-40.2-46-46zM448 462V416H402c5.8 22.5 23.5 40.2 46 46zm-46-78h46V338c-22.5 5.8-40.2 23.5-46 46zm124 32H480v46c22.5-5.8 40.2-23.5 46-46zm0-32c-5.8-22.5-23.5-40.2-46-46v46h46zM595.2 4.1c28.7-1.9 50 26.2 40.3 53.4L576 224H416V45.9c0-16.8 13.1-30.8 29.9-31.9l149.3-10z\"]\n};\nvar faLineHeight = {\n prefix: 'fas',\n iconName: 'line-height',\n icon: [576, 512, [], \"f871\", \"M118.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V370.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V141.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64zM288 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM256 416c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBagel = {\n prefix: 'fas',\n iconName: 'bagel',\n icon: [640, 512, [129391], \"e3d7\", \"M640 208c0 114.9-93.1 208-208 208c-3.9 0-7.7-.1-11.5-.3c6.5-12.3 12-25.3 16.3-38.8c4.7-.7 9.3-2.5 13.3-5.3L471 357.3c5.1-3.5 11-5.4 17.2-5.6l25.3-.7c13.2-.4 24.8-8.8 29.3-21.3l8.5-23.9c2.1-5.8 5.8-10.9 10.6-14.6L582 275.8c10.5-8.1 14.9-21.7 11.2-34.4L586 217c-1.7-5.9-1.7-12.2 0-18.1l7.2-24.3c3.7-12.7-.7-26.3-11.2-34.4l-20.1-15.5c-4.9-3.8-8.6-8.8-10.6-14.6l-8.5-23.9c-4.4-12.5-16.1-20.9-29.3-21.3l-25.3-.7c-6.2-.2-12.1-2.1-17.2-5.6L450.1 44.4c-10.9-7.5-25.3-7.5-36.2 0L393 58.7c-5.1 3.5-11 5.4-17.2 5.6L350.5 65c-13.2 .4-24.8 8.8-29.3 21.3l-1.8 5.1c-14.4-7.6-29.7-13.7-45.7-18.3C311.8 28.4 368.6 0 432 0C546.9 0 640 93.1 640 208zM396.1 155c10.2-6.9 22.6-11 35.9-11c35.3 0 64 28.7 64 64c0 30.6-21.5 56.3-50.3 62.5c-6-43.3-23.6-82.9-49.5-115.6zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zm256 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM112 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm144 16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16-176a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM144 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 272a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faTransporter7 = {\n prefix: 'fas',\n iconName: 'transporter-7',\n icon: [512, 512, [], \"e2a8\", \"M472.7 38.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 64l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 96l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 96l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 64l-7.3-25.4zM64 288l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 288 6.6 295.3C2.7 296.4 0 299.9 0 304s2.7 7.6 6.6 8.7L32 320l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 320l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 288zM296 512h88c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h88 80z\"]\n};\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v32c0 53-43 96-96 96c-29.3 0-55.6-13.2-73.2-33.9C320 371.1 289.5 384 256 384c-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1c5.7-5 13.1-8.1 21.3-8.1c17.7 0 32 14.3 32 32v80 32c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-106-86-192-192-192zm64 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faRectanglesMixed = {\n prefix: 'fas',\n iconName: 'rectangles-mixed',\n icon: [576, 512, [], \"e323\", \"M0 80C0 53.5 21.5 32 48 32H272c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zm384 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V80zM112 304H288c26.5 0 48 21.5 48 48v80c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V352c0-26.5 21.5-48 48-48z\"]\n};\nvar faPhoneArrowUpRight = {\n prefix: 'fas',\n iconName: 'phone-arrow-up-right',\n icon: [512, 512, [\"phone-arrow-up\", \"phone-outgoing\"], \"e224\", \"M295 183l135-135H384c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24V128c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9L329 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"]\n};\nvar faPhoneArrowUp = faPhoneArrowUpRight;\nvar faPhoneOutgoing = faPhoneArrowUpRight;\nvar faTrashCan = {\n prefix: 'fas',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faCircleL = {\n prefix: 'fas',\n iconName: 'circle-l',\n icon: [512, 512, [], \"e114\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 152V336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHeadSideGoggles = {\n prefix: 'fas',\n iconName: 'head-side-goggles',\n icon: [512, 512, [\"head-vr\"], \"f6ea\", \"M45.9 128C75.3 53.1 148.3 0 233.7 0H256c39.3 0 75.8 11.8 106.2 32H304c-61.9 0-112 50.1-112 112c0 17.2 3.9 33.5 10.8 48H32.2 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H45.9zM304 256H507.1c3.2 6.2 4.9 13.1 4.9 20.2c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V375.8c0-17-7.1-33-17.5-46.4C55 299.1 38.3 261.6 33.5 224H225.6c20.2 19.8 47.9 32 78.4 32zm0-192H416V224H304c-44.2 0-80-35.8-80-80s35.8-80 80-80zM480 224H448V64h32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32z\"]\n};\nvar faHeadVr = faHeadSideGoggles;\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M64 128V96h64l0 320H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H192l0-320h64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H160 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM502.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V352H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H512V160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nvar faUserXmark = {\n prefix: 'fas',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faUserTimes = faUserXmark;\nvar faFaceHandYawn = {\n prefix: 'fas',\n iconName: 'face-hand-yawn',\n icon: [512, 512, [], \"e379\", \"M336.9 498.9C438.7 465.1 512 369.1 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 94.5 51.2 177 127.3 221.4c-9.8-18-15.3-38.6-15.3-60.5V384 330.4c0-28.7 23.3-52 52-52c1.8 0 3.6 .1 5.3 .3C184.8 246.3 217.8 224 256 224c28.7 0 54.5 12.6 72.1 32.6c14.8-2.4 30.4 2 41.8 13.4c12.2 12.2 16.5 29.4 12.8 45c1.1 .9 2.2 1.9 3.2 3c18.1 18.1 18.7 47.1 1.8 65.9c16.9 18.8 16.3 47.8-1.8 65.9l-49 49zM204.5 102c5.5 6.9 4.4 17-2.5 22.5l-80 64c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5l80-64c6.9-5.5 17-4.4 22.5 2.5zM310 124.5c-6.9-5.5-8-15.6-2.5-22.5s15.6-8 22.5-2.5l80 64c6.9 5.5 8 15.6 2.5 22.5s-15.6 8-22.5 2.5l-80-64zM299.3 276.7c-6.2-6.2-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L257.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGaugeSimpleMin = {\n prefix: 'fas',\n iconName: 'gauge-simple-min',\n icon: [512, 512, [\"tachometer-slowest\"], \"f62d\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-35.3-28.7-64-64-64c-14.1 0-27.2 4.6-37.8 12.4L100.6 227.6c-11.3-7-26.1-3.5-33 7.8s-3.5 26.1 7.8 33l117.5 72.8c-.6 3.5-.9 7.1-.9 10.8c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTachometerSlowest = faGaugeSimpleMin;\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M142.4 21.9c5.6 16.8-3.5 34.9-20.2 40.5L96 71.1V192c0 53 43 96 96 96s96-43 96-96V71.1l-26.1-8.7c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l26.1 8.7C334.4 19.1 352 43.5 352 71.1V192c0 77.2-54.6 141.6-127.3 156.7C231 404.6 278.4 448 336 448c61.9 0 112-50.1 112-112V265.3c-28.3-12.3-48-40.5-48-73.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V336c0 97.2-78.8 176-176 176c-92.9 0-168.9-71.9-175.5-163.1C87.2 334.2 32 269.6 32 192V71.1c0-27.5 17.6-52 43.8-60.7l26.1-8.7c16.8-5.6 34.9 3.5 40.5 20.2zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCoffin = {\n prefix: 'fas',\n iconName: 'coffin',\n icon: [384, 512, [9904], \"f6c6\", \"M11.5 114.9l91-104C108.5 4 117.3 0 126.5 0h131c9.2 0 18 4 24.1 10.9l91 104c7.4 8.5 11.5 19.3 11.5 30.6c0 4.4-.6 8.7-1.8 12.9L286.7 488.9c-4 13.7-16.5 23.1-30.7 23.1H128.1c-14.3 0-26.8-9.4-30.7-23.1L1.8 158.3C.6 154.1 0 149.8 0 145.4c0-11.2 4.1-22.1 11.5-30.6z\"]\n};\nvar faMessage = {\n prefix: 'fas',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCommentAlt = faMessage;\nvar faSalad = {\n prefix: 'fas',\n iconName: 'salad',\n icon: [512, 512, [129367, \"bowl-salad\"], \"f81e\", \"M416 96c2.6 0 5.2 .1 7.8 .2C406.2 76.5 380.5 64 352 64c-8.7 0-17.2 1.2-25.3 3.4C309.5 27.7 270 0 224 0s-85.5 27.7-102.7 67.4c-8-2.2-16.5-3.4-25.3-3.4C43 64 0 107 0 160s43 96 96 96h73.4L84.7 171.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 249.4V112c0-8.8 7.2-16 16-16s16 7.2 16 16V256h52c-2.6-10.2-4-21-4-32c0-70.7 57.3-128 128-128zM27.4 288C12.3 288 0 300.3 0 315.4c0 70.5 44.4 130.7 106.7 154.1l1.8 14.4c2 16 15.6 28 31.8 28H371.8c16.1 0 29.8-12 31.8-28l1.8-14.4C467.6 446.1 512 385.9 512 315.4c0-15.1-12.3-27.4-27.4-27.4H27.4zM512 224c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H506.5c3.5-10 5.5-20.8 5.5-32z\"]\n};\nvar faBowlSalad = faSalad;\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80zM0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V256H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faRobotAstromech = {\n prefix: 'fas',\n iconName: 'robot-astromech',\n icon: [512, 512, [], \"e2d2\", \"M256 0c70.7 0 128 57.3 128 128v32H128V128C128 57.3 185.3 0 256 0zm0 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm48 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM48 240c0-26.5 21.5-48 48-48H416c26.5 0 48 21.5 48 48V398.3c0 8.7 2.4 17.2 6.8 24.7l38.9 64.8c3 4.9 3 11.1 .2 16.1s-8.2 8.1-13.9 8.1H400c-8.8 0-16-7.2-16-16V384l-45.3 45.3c-12 12-28.3 18.7-45.3 18.7h-75c-17 0-33.3-6.7-45.3-18.7L128 384V496c0 8.8-7.2 16-16 16H16c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1L41.2 423c4.5-7.5 6.8-16 6.8-24.7V240zm160 16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faRingDiamond = {\n prefix: 'fas',\n iconName: 'ring-diamond',\n icon: [384, 512, [], \"e5ab\", \"M122.5 13.3C126.6 5.1 134.9 0 144 0h96c9.1 0 17.4 5.1 21.5 13.3l24 48c3.5 7.1 3.4 15.5-.5 22.4l-30.4 54.8C329.9 164.4 384 235.9 384 320c0 106-86 192-192 192S0 426 0 320c0-84.1 54.1-155.6 129.4-181.6L99 83.7c-3.8-6.9-4-15.3-.5-22.4l24-48zM192 192a128 128 0 1 0 0 256 128 128 0 1 0 0-256z\"]\n};\nvar faFonduePot = {\n prefix: 'fas',\n iconName: 'fondue-pot',\n icon: [512, 512, [129749], \"e40d\", \"M319 39.8l-24 96c-2.9 11.5-11.6 20-22.2 23L264.5 192h-33l10.2-41c-7.9-7.7-11.7-19.3-8.8-30.8l24-96C261.2 7.1 278.6-3.3 295.8 1s27.6 21.7 23.3 38.8zm62.9 120.2L360.6 192H322.1l33.2-49.8c-4.9-9.9-4.5-22.1 2.1-31.9l64-96C431.2-.5 451-4.4 465.8 5.4s18.7 29.7 8.9 44.4l-64 96c-6.6 9.9-17.7 14.9-28.7 14.2zM32 224H64v16 64c0 8.8 7.2 16 16 16s16-7.2 16-16V272c0-8.8 7.2-16 16-16s16 7.2 16 16s7.2 16 16 16s16-7.2 16-16V240 224H384h64 32c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v32c0 52.3-25.1 98.8-64 128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-3.2c-10.3 2.1-21 3.2-32 3.2H160c-11 0-21.7-1.1-32-3.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V448C25.1 418.8 0 372.3 0 320V256c0-17.7 14.3-32 32-32z\"]\n};\nvar faTheta = {\n prefix: 'fas',\n iconName: 'theta',\n icon: [384, 512, [], \"f69e\", \"M64 256c0-51 15.9-96 40.2-127.6C128.5 96.9 159.8 80 192 80s63.5 16.9 87.8 48.4C304.1 160 320 205 320 256s-15.9 96-40.2 127.6C255.5 415.1 224.2 432 192 432s-63.5-16.9-87.8-48.4C79.9 352 64 307 64 256zM192 16C135.8 16 87.1 45.7 53.5 89.4C19.9 133.1 0 192.1 0 256s19.9 122.9 53.5 166.6C87.1 466.3 135.8 496 192 496s104.9-29.7 138.5-73.4C364.1 378.9 384 319.9 384 256s-19.9-122.9-53.5-166.6C296.9 45.7 248.2 16 192 16zM128 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H128z\"]\n};\nvar faFaceHandPeeking = {\n prefix: 'fas',\n iconName: 'face-hand-peeking',\n icon: [640, 512, [129763], \"e481\", \"M497.8 144.3c12.9-12.9 31.8-16.1 47.7-9.6C502.2 54.5 417.5 0 320 0C248.5 0 183.8 29.3 137.3 76.6c7.7 1.8 14.9 5.7 20.9 11.7c17.2 17.2 17.2 45 0 62.2l-1.5 1.5H232c22.1 0 40 17.9 40 40c0 2.6-.2 5.1-.7 7.5c10.1 7.3 16.7 19.1 16.7 32.5s-6.6 25.3-16.7 32.5c.5 2.4 .7 4.9 .7 7.5c0 22.1-17.9 40-40 40h-8c0 .3 0 .6 0 .9c0 22.1-17.9 40-40 40l-64.8 0c-13.3 0-26.4-2.2-38.8-6.5C117 443.2 210.4 512 320 512c91.5 0 171.8-48 217.1-120.2c-5.4 .7-10.8 1.1-16.3 1.1H456c-22.1 0-40-17.9-40-40c0-.1 0-.2 0-.3c0-.2 0-.4 0-.6h-8c-22.1 0-40-17.9-40-40c0-1.1 0-2.2 .1-3.3c-37-10.4-64.1-44.4-64.1-84.7c0-48.6 39.4-88 88-88c6.6 0 13 .7 19.2 2.1c11.8-4 25.2-2.4 36.1 5.4l37.9 27.1c1.1-9.6 5.3-18.9 12.6-26.2zM320 448c-35.3 0-64-21.5-64-48s28.7-48 64-48s64 21.5 64 48s-28.7 48-64 48zm90.3-208c3.8-4.2 6.1-9.9 6.1-16c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 6.1 2.3 11.8 6.1 16h35.8zM248 192c0-8.8-7.2-16-16-16H118.2c-7.1 0-10.7-8.6-5.7-13.7l28.8-28.8c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L51.9 166.4l-.8 .8C14.7 204.4 15 264.1 51.9 301c17.9 17.9 42.1 27.9 67.3 27.9H184c8.8 0 16-7.2 16-16s-7.2-16-16-16H170c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5h62c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l78.4 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l62.4 0c8.8 0 16-7.2 16-16zm163-25.3c-5.1 7.2-3.5 17.2 3.7 22.3l59.7 42.6c3.5 2.5 5.6 6.6 5.6 10.9c0 7.4-6 13.4-13.4 13.4L392 256c-8.8 0-16 7.2-16 16s7.2 16 16 16h84c2.2 0 4 1.8 4 4s-1.8 4-4 4H408c-8.8 0-16 7.2-16 16s7.2 16 16 16l67.5 0c2.5 0 4.5 2 4.5 4.5s-2 4.5-4.5 4.5H456c-8.8 0-16 7.2-16 16s7.2 16 16 16h64.8c25.2 0 49.5-10 67.3-27.9c36.9-36.9 37.2-96.6 .8-133.8l-.8-.8L543 161.3c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3l14.8 14.8c6.6 6.6 2.7 18-6.6 19c-2.8 .3-5.6-.4-7.8-2L433.3 163c-7.2-5.1-17.2-3.5-22.3 3.7z\"]\n};\nvar faSquareUser = {\n prefix: 'fas',\n iconName: 'square-user',\n icon: [448, 512, [], \"e283\", \"M81.1 416H366.9c-7.8-54.3-54.4-96-110.9-96H192c-56.4 0-103.1 41.7-110.9 96zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 272a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'fas',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H296c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272H216c13.3 0 24 10.7 24 24V440c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z\"]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'fas',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M499.6 11.3c6.7-10.7 20.5-14.5 31.7-8.5s15.8 19.5 10.6 31L404.8 338.6c2.2 2.3 4.3 4.7 6.3 7.1l97.2-54.7c10.5-5.9 23.6-3.1 30.9 6.4s6.3 23-2.2 31.5l-87 87H378.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H117.8L42.3 363.7c-9.7-6.7-13.1-19.6-7.9-30.3s17.4-15.9 28.7-12.4l97.2 30.4c3-3.9 6.1-7.7 9.4-11.3L107.4 236.3c-6.1-10.1-3.9-23.1 5.1-30.7s22.2-7.5 31.1 .1L246 293.6c1.5-.4 3-.8 4.5-1.1l13.6-142.7c1.2-12.3 11.5-21.7 23.9-21.7s22.7 9.4 23.9 21.7l13.5 141.9L499.6 11.3zM64 448v0H512v0h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64zM288 0c13.3 0 24 10.7 24 24V72c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faFileLines = {\n prefix: 'fas',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M128 64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32V416h96V256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V96H192V256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V64z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M64 208c0 7.8 4.4 18.7 17.1 30.3C126.5 214.1 188.9 200 256 200s129.5 14.1 174.9 38.3C443.6 226.7 448 215.8 448 208c0-12.3-10.8-32-47.9-50.6C364.9 139.8 314 128 256 128s-108.9 11.8-144.1 29.4C74.8 176 64 195.7 64 208zm192 40c-47 0-89.3 7.6-122.9 19.7C166.3 280.2 208.8 288 256 288s89.7-7.8 122.9-20.3C345.3 255.6 303 248 256 248zM0 208c0-49.6 39.4-85.8 83.3-107.8C129.1 77.3 190.3 64 256 64s126.9 13.3 172.7 36.2c43.9 22 83.3 58.2 83.3 107.8v96c0 49.6-39.4 85.8-83.3 107.8C382.9 434.7 321.7 448 256 448s-126.9-13.3-172.7-36.2C39.4 389.8 0 353.6 0 304V208z\"]\n};\nvar faBuildingUn = {\n prefix: 'fas',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM237.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTirePressureWarning = {\n prefix: 'fas',\n iconName: 'tire-pressure-warning',\n icon: [512, 512, [], \"f633\", \"M384 32c0-17.7 14.3-32 32-32s32 14.3 32 32V54.5c0 24.1 3.9 48 11.5 70.8l2.5 7.4c4.8 14.4 11.5 28.6 19.3 44.4c17.5 35.6 33.4 82.6 27.5 136.2c-5.3 48.6-28.1 99-76.8 148.7v34c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16v-8H336v8c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16v-8H240v8c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16v-8H144v8c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V462C31.3 412.3 8.6 361.9 3.2 313.3c-5.9-53.6 9.9-100.6 27.5-136.2c7.8-15.8 14.5-30 19.3-44.4l2.5-7.4C60.1 102.5 64 78.5 64 54.5V32C64 14.3 78.3 0 96 0s32 14.3 32 32V54.5c0 31-5 61.7-14.8 91.1l-2.5 7.4c-6.3 19-14.8 36.6-22.6 52.5c-14.7 29.7-25.3 64-21.3 100.9c3.7 34 20.4 74.1 65.7 117.7H379.4c45.3-43.6 62-83.7 65.7-117.7c4.1-36.9-6.6-71.1-21.3-100.9c-7.8-15.8-16.3-33.5-22.6-52.5l-2.5-7.4C389 116.2 384 85.4 384 54.5V32zM280 120V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zM256 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faWifiFair = {\n prefix: 'fas',\n iconName: 'wifi-fair',\n icon: [640, 512, [\"wifi-2\"], \"f6ab\", \"M320 352a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0-160c-70.2 0-137.9 25.6-190.5 72c-13.2 11.7-14.5 31.9-2.8 45.2c11.8 13.3 32 14.5 45.2 2.8c40.9-36.1 93.5-56 148.1-56s107.3 19.9 148.1 56c6.1 5.4 13.7 8 21.2 8c8.8 0 17.7-3.7 24-10.8c11.7-13.2 10.4-33.5-2.8-45.2c-52.6-46.4-120.2-72-190.5-72zM171.8 312c39.5-34.9 91.3-56 148.2-56s108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8zM320 480a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faWifi2 = faWifiFair;\nvar faCalendarDays = {\n prefix: 'fas',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faMp3Player = {\n prefix: 'fas',\n iconName: 'mp3-player',\n icon: [384, 512, [], \"f8ce\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM96 64C78.3 64 64 78.3 64 96v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96z\"]\n};\nvar faAnchorCircleCheck = {\n prefix: 'fas',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faTally4 = {\n prefix: 'fas',\n iconName: 'tally-4',\n icon: [640, 512, [], \"e297\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm96-32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32zM544 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faRectangleHistory = {\n prefix: 'fas',\n iconName: 'rectangle-history',\n icon: [512, 512, [], \"e4a2\", \"M512 224c0-35.3-28.7-64-64-64L64 160c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224zM440 80L72 80c-13.3 0-24 10.7-24 24s10.7 24 24 24l368 0c13.3 0 24-10.7 24-24s-10.7-24-24-24zM392 0L120 0C106.7 0 96 10.7 96 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'fas',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm96 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm140.7-67.3c-6.2 6.2-6.2 16.4 0 22.6L521.4 352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faVolleyball = {\n prefix: 'fas',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M511.8 267.4c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.5-204.2-103.2-272.4C434.1 41.1 512 139.5 512 256c0 3.8-.1 7.6-.2 11.4zm-3.9 34.7c-5.8 32-17.6 62-34.2 88.7c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.7 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6zm-236-55.5c-2.5-90.9-41.1-172.7-101.9-231.7C196.8 5.2 225.8 0 256 0c2.7 0 5.3 0 7.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.1-2.4-86.4-14.1-126.8-35.9zM138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9C2.5 297.4 0 277 0 256C0 157.2 56 71.5 138 28.8zm69.6 90.5c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451C66 430.4 45.6 405.4 30.4 377.2c6.7-108.7 71.9-209.9 177.1-257.9zM256 512c-50.7 0-98-14.7-137.8-40.2c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c-46 44-108.3 71-177 71z\"]\n};\nvar faVolleyballBall = faVolleyball;\nvar faSunHaze = {\n prefix: 'fas',\n iconName: 'sun-haze',\n icon: [640, 512, [], \"f765\", \"M425.5 1.2c5 2.1 8.6 6.6 9.6 11.9L455 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L510.9 256 448 256c0-70.7-57.3-128-128-128s-128 57.3-128 128l-62.9 0L66.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L185 121 204.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L320 65.1 410.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM320 160c53 0 96 43 96 96H224c0-53 43-96 96-96zM616 288c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H616zm-208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H408zm144 88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H552zM64 488c0-13.3 10.7-24 24-24H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zm208 0c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24z\"]\n};\nvar faTextSize = {\n prefix: 'fas',\n iconName: 'text-size',\n icon: [640, 512, [], \"f894\", \"M64 128V96h96l0 320H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H224l0-320h96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H192 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM384 304V288h64l0 128H432c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H512l0-128h64v16c0 17.7 14.3 32 32 32s32-14.3 32-32V272c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v32c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faUfo = {\n prefix: 'fas',\n iconName: 'ufo',\n icon: [640, 512, [128760], \"e047\", \"M320 112c59.2 0 109.6 37.9 128.3 90.7c5 14.2 7.7 29.4 7.7 45.3c0 0-40 40-136 40s-136-40-136-40c0-15.9 2.7-31.1 7.7-45.3c18.7-52.8 69-90.7 128.3-90.7zm0-48c-90.1 0-165.2 64.8-180.9 150.4C55.1 237.5 0 276.2 0 320c0 70.7 143.3 128 320 128s320-57.3 320-128c0-43.8-55.1-82.5-139.1-105.6C485.2 128.8 410.2 64 320 64zm0 288a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM104 328a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm408-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFork = {\n prefix: 'fas',\n iconName: 'fork',\n icon: [512, 512, [\"utensil-fork\"], \"f2e3\", \"M412.4 5.9c5.2 6.4 4.8 15.6-1.1 21.5L320 118.6c-5.2 5.2-5.2 13.6 0 18.8c4.9 4.9 12.8 5.2 18.1 .6l99.4-86.1c6.3-5.5 15.9-5.2 21.8 .8s6.3 15.4 .8 21.8L374 173.9c-4.6 5.3-4.3 13.2 .6 18.1c5.2 5.2 13.6 5.2 18.8 0l91.3-91.3c5.8-5.8 15.1-6.3 21.5-1.1s7.7 14.4 3.2 21.2l-71 106.5c-18.6 27.9-49.9 44.6-83.4 44.6c-19.3 0-37.9-5.5-53.9-15.7L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L255.7 211c-10.2-16-15.7-34.7-15.7-53.9c0-33.5 16.8-64.8 44.6-83.4l106.5-71c6.8-4.6 16-3.2 21.2 3.2z\"]\n};\nvar faUtensilFork = faFork;\nvar faArrowsUpToLine = {\n prefix: 'fas',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M32 96l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96zM9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L96 237.3 96 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96zm320 45.3c12.5 12.5 32.8 12.5 45.3 0L416 237.3 416 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3z\"]\n};\nvar faMobileSignal = {\n prefix: 'fas',\n iconName: 'mobile-signal',\n icon: [512, 512, [], \"e1ef\", \"M64 64H288V315.7c18.3-21.2 39.9-39.5 64-54V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H224V488c0-13.6 1-27 3-40H64V64zm80 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM488 256c-128.1 0-232 103.9-232 232c0 13.3 10.7 24 24 24s24-10.7 24-24c0-101.6 82.4-184 184-184c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-136c0-13.3-10.7-24-24-24c-75.1 0-136 60.9-136 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-48.6 39.4-88 88-88c13.3 0 24-10.7 24-24z\"]\n};\nvar faBarcodeScan = {\n prefix: 'fas',\n iconName: 'barcode-scan',\n icon: [640, 512, [], \"f465\", \"M88 32C74.7 32 64 42.7 64 56V192h64V56c0-13.3-10.7-24-24-24H88zM64 456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V320H64V456zm96 8c0 8.8 7.2 16 16 16s16-7.2 16-16V320H160V464zm64-8c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V320H224V456zm0-264h64V56c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24V192zm96 264c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V320H320V456zm0-264h64V56c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24V192zM448 464c0 8.8 7.2 16 16 16s16-7.2 16-16V320H448V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64 408c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V320H512V456zm0-264h64V56c0-13.3-10.7-24-24-24H536c-13.3 0-24 10.7-24 24V192zm-352 0h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V192zM24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faSortDesc = faSortDown;\nvar faFolderArrowDown = {\n prefix: 'fas',\n iconName: 'folder-arrow-down',\n icon: [512, 512, [\"folder-download\"], \"e053\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM280 200c0-13.3-10.7-24-24-24s-24 10.7-24 24V302.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V200z\"]\n};\nvar faFolderDownload = faFolderArrowDown;\nvar faCircleMinus = {\n prefix: 'fas',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusCircle = faCircleMinus;\nvar faFaceIcicles = {\n prefix: 'fas',\n iconName: 'face-icicles',\n icon: [512, 512, [], \"e37c\", \"M512 256c0 8.3-.4 16.6-1.2 24.7c0 .5-.1 1.1-.1 1.6l-14.8 200C494.7 499.1 480.8 512 464 512s-30.7-12.9-31.9-29.6l-2.8-37.9c-5 4.6-10.2 9-15.6 13.2l-11.5 32.9C397.7 503.4 385.6 512 372 512c-11.5 0-21.9-6.1-27.5-15.7C316.9 506.5 287.1 512 256 512c-69.4 0-132.3-27.6-178.4-72.4C71.9 444.9 64.3 448 56 448c-15.6 0-29-11.3-31.6-26.7L6.5 313.4C2.2 294.9 0 275.7 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM56 415.8l0 .2 0-.2 20-120.2C78.1 283.3 68.6 272 56 272s-22.1 11.3-20.1 23.7L56 415.8zM344 400l28 80 28-80V360l-56 0v40zm55.3-56c-3.8-22.7-23.6-40-47.3-40h-8v40l55.3 0zM328 344V304H264v40h64zm0 56V360H264v40l32 48 32-48zm-80-96H184v40l64 0V304zm0 56l-64 0v40h64V360zm-80-16V304h-8c-23.8 0-43.5 17.3-47.3 40H168zm0 56V360H112.7c3.8 22.7 23.6 40 47.3 40h8zm40.4-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM464 480l21.8-232.1C487 235.1 476.9 224 464 224s-23 11.1-21.8 23.9L464 480z\"]\n};\nvar faShovel = {\n prefix: 'fas',\n iconName: 'shovel',\n icon: [512, 512, [], \"f713\", \"M361.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-44.1 44.1c-18.7 18.7-44.1 29.3-70.6 29.3c-15.9 0-30.9-3.7-44.3-10.3l-97 97 50.7 50.7c12.5 12.5 12.5 32.8 0 45.3l-58.5 58.5c-30 30-70.7 46.9-113.1 46.9H32c-17.7 0-32-14.3-32-32V386.3c0-42.4 16.9-83.1 46.9-113.1l58.5-58.5c12.5-12.5 32.8-12.5 45.3 0l50.7 50.7 97-97C291.7 155.1 288 140 288 124.1c0-26.5 10.5-51.9 29.3-70.6L361.4 9.4zM384 77.3L362.5 98.7c-6.7 6.7-10.5 15.9-10.5 25.4c0 19.8 16.1 35.9 35.9 35.9c9.5 0 18.6-3.8 25.4-10.5L434.7 128 384 77.3z\"]\n};\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1l-179.9 45C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 288h32V480 32zM256 256c0 17.7-10.7 32-24 32s-24-14.3-24-32s10.7-32 24-32s24 14.3 24 32zm96-128h96V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H352v64z\"]\n};\nvar faFilms = {\n prefix: 'fas',\n iconName: 'films',\n icon: [576, 512, [], \"e17a\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zm8 48h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H168c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM472 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H488c-8.8 0-16-7.2-16-16V96zM168 184h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H168c-8.8 0-16-7.2-16-16V200c0-8.8 7.2-16 16-16zm304 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H488c-8.8 0-16-7.2-16-16V200zM168 288h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H168c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm304 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H488c-8.8 0-16-7.2-16-16V304zM288 80h96c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V112c0-17.7 14.3-32 32-32zM256 256c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V256zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faRightFromBracket = {\n prefix: 'fas',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M377.9 105.9L500.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L377.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM160 96L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faFaceGlasses = {\n prefix: 'fas',\n iconName: 'face-glasses',\n icon: [512, 512, [], \"e377\", \"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256c0-22.1 2.8-43.5 8.1-64H48v56c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V192h32v56c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V192h39.9c5.3 20.5 8.1 41.9 8.1 64zM256 0C363.4 0 455.4 66.2 493.4 160H458.6c-9-18.9-28.3-32-50.6-32H328c-22.3 0-41.6 13.1-50.6 32H234.6c-9-18.9-28.3-32-50.6-32H104c-22.3 0-41.6 13.1-50.6 32H18.6C56.6 66.2 148.6 0 256 0zM80 192v-8c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v64c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V192zm61.5 147.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 362.2 299.4 384 256 384s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM304 184c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v8 56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V184zM184.4 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faNfc = {\n prefix: 'fas',\n iconName: 'nfc',\n icon: [448, 512, [], \"e1f7\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 48V368c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v66.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V144c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-26.5 0-48 21.5-48 48z\"]\n};\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M256 398.8c-11.8 5.1-23.4 9.7-34.9 13.5c16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM446 256c33 45.2 44.3 90.9 23.6 128c-20.2 36.3-62.5 49.3-115.2 43.2c-22 52.1-55.6 84.8-98.4 84.8s-76.4-32.7-98.4-84.8c-52.7 6.1-95-6.8-115.2-43.2C21.7 346.9 33 301.2 66 256c-33-45.2-44.3-90.9-23.6-128c20.2-36.3 62.5-49.3 115.2-43.2C179.6 32.7 213.2 0 256 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2c20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2c31.8 1.4 38.6-8.7 40.2-11.7c2.3-4.2 7-17.9-11.9-48.1c-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2c7.6 6.1 14.8 12.3 21.6 18.6c18.9-30.2 14.2-44 11.9-48.1c-1.6-2.9-8.4-13-40.2-11.7zM290.9 99.7C274.1 65.9 259.9 64 256 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5c11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2c-31.8-1.4-38.6 8.7-40.2 11.7c-2.3 4.2-7 17.9 11.9 48.1c6.8-6.3 14-12.5 21.6-18.6zM110.2 304.8C91.4 335 96 348.7 98.3 352.9c1.6 2.9 8.4 13 40.2 11.7c-2.8-13.1-5-26.9-6.7-41.2c-7.6-6.1-14.8-12.3-21.6-18.6zM336 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM416 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 160c0 27.6-11.7 52.5-30.4 70.1C422.1 275.7 448 310.8 448 352c0 53-43 96-96 96H160c-53 0-96-43-96-96s43-96 96-96h88.4c-15.2-17-24.4-39.4-24.4-64H96c-53 0-96 43-96 96V416c0 53 43 96 96 96H416c53 0 96-43 96-96V288c0-53-43-96-96-96zM160 288c-35.3 0-64 28.7-64 64s28.7 64 64 64H352c35.3 0 64-28.7 64-64s-28.7-64-64-64H320 160z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L352 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM74.7 304l11.8-17.8c5.9-8.9 15.9-14.2 26.6-14.2h61.7c10.7 0 20.7 5.3 26.6 14.2L213.3 304H240c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V352c0-26.5 21.5-48 48-48H74.7zM192 408a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM478.7 278.3L440.3 368H496c6.7 0 12.6 4.1 15 10.4s.6 13.3-4.4 17.7l-128 112c-5.6 4.9-13.9 5.3-19.9 .9s-8.2-12.4-5.3-19.2L391.7 400H336c-6.7 0-12.6-4.1-15-10.4s-.6-13.3 4.4-17.7l128-112c5.6-4.9 13.9-5.3 19.9-.9s8.2 12.4 5.3 19.2zm-339-59.2c-6.5 6.5-17 6.5-23 0L19.9 119.2c-28-29-26.5-76.9 5-103.9c27-23.5 68.4-19 93.4 6.5l10 10.5 9.5-10.5c25-25.5 65.9-30 93.9-6.5c31 27 32.5 74.9 4.5 103.9l-96.4 99.9z\"]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'fas',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7L416 300.8V256H358.9l-34.5-27c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zm362.5 407l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2z\"]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faClosedCaptioningSlash = {\n prefix: 'fas',\n iconName: 'closed-captioning-slash',\n icon: [640, 512, [], \"e135\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zm197.8 155c26.6 1.2 50.4 13.3 67 31.9c6.1 6.8 7.6 16.2 4.7 24.3l-71.6-56.2zm94 73.7c10-42.3 48-73.8 93.4-73.8c28.4 0 54 12.4 71.5 32c8.8 9.9 8 25-1.9 33.9s-25 8-33.9-1.9c-8.8-9.9-21.6-16-35.8-16c-26.5 0-48 21.5-48 48c0 5.4 .9 10.5 2.5 15.4l-47.9-37.6zm89.4 70c1.3 .1 2.7 .2 4.1 .2c14.2 0 27-6.1 35.8-16c8.8-9.9 24-10.7 33.9-1.9s10.7 24 1.9 33.9c-7.8 8.7-17.2 16-27.7 21.4l-47.9-37.6zM32 121.2V416c0 35.3 28.7 64 64 64H487.4L295 328.4c-16.8 14.7-38.9 23.6-63 23.6c-53 0-96-43-96-96c0-16 3.9-31.1 10.8-44.3L32 121.2zM232 304c8.7 0 16.9-2.3 23.9-6.4l-70-55.1c-1.3 4.3-1.9 8.8-1.9 13.5c0 26.5 21.5 48 48 48z\"]\n};\nvar faCalculatorSimple = {\n prefix: 'fas',\n iconName: 'calculator-simple',\n icon: [512, 512, [\"calculator-alt\"], \"f64c\", \"M0 48C0 21.5 21.5 0 48 0H176c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48zm288 0c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V48zm48 240H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48zM0 336c0-26.5 21.5-48 48-48H176c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336zM416 64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V128h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V64zM64 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zM83.3 348.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L89.4 400 60.7 428.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L112 422.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L134.6 400l28.7-28.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 377.4 83.3 348.7zM352 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H352zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H352z\"]\n};\nvar faCalculatorAlt = faCalculatorSimple;\nvar faBridgeCircleCheck = {\n prefix: 'fas',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faSlidersUp = {\n prefix: 'fas',\n iconName: 'sliders-up',\n icon: [512, 512, [\"sliders-v\"], \"f3f1\", \"M96 0c17.7 0 32 14.3 32 32V86.7c28.3 12.3 48 40.5 48 73.3s-19.7 61-48 73.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V233.3C35.7 221 16 192.8 16 160s19.7-61 48-73.3V32C64 14.3 78.3 0 96 0zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 32.8-19.7 61-48 73.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V425.3c-28.3-12.3-48-40.5-48-73.3s19.7-61 48-73.3V32c0-17.7 14.3-32 32-32s32 14.3 32 32V278.7c28.3 12.3 48 40.5 48 73.3zM448 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 73.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V265.3c-28.3-12.3-48-40.5-48-73.3s19.7-61 48-73.3V32c0-17.7 14.3-32 32-32s32 14.3 32 32v86.7c28.3 12.3 48 40.5 48 73.3s-19.7 61-48 73.3z\"]\n};\nvar faSlidersV = faSlidersUp;\nvar faLocationMinus = {\n prefix: 'fas',\n iconName: 'location-minus',\n icon: [384, 512, [\"map-marker-minus\"], \"f609\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM120 168H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMapMarkerMinus = faLocationMinus;\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM216 280v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7V256c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9V256z\"]\n};\nvar faSkiBoot = {\n prefix: 'fas',\n iconName: 'ski-boot',\n icon: [512, 512, [], \"e3cc\", \"M383.4 38c3.3-17.4-8-34.1-25.4-37.5s-34.1 8-37.5 25.4l-1.2 6H245.7c-22.1 130.8-76 201.3-127.2 238.9c-26.2 19.3-51.2 29.5-69.9 35c-6.3 1.8-11.8 3.1-16.5 4L.6 474c-1.8 9.4 .7 19.1 6.8 26.4S22.5 512 32 512H448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V376c0-12.3-7-23.4-18-28.8L340 288H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h69.5l12.3-64H288c-8.8 0-16-7.2-16-16s7.2-16 16-16h72l17.3-90 6.2-32zM38.8 275.4c.3-.1 .6-.2 .9-.3c15.6-4.6 37.1-13.3 59.9-30c43-31.6 92.3-92.9 113.7-213.1H112C96.7 32 83.5 42.9 80.6 58L38.8 275.4z\"]\n};\nvar faStandardDefinition = {\n prefix: 'fas',\n iconName: 'standard-definition',\n icon: [576, 512, [\"rectangle-sd\"], \"e28a\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm304 88V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328c-13.3 0-24 10.7-24 24zm48 24h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H352V208zm-184.9 .1c7.4-2.4 19.5-2.9 36.2-.7l3-22.2-3 22.2c5.1 .7 21.1 3.4 25.7 4.4c12.1 2.8 24.1-4.8 26.8-16.9s-4.8-24.1-16.9-26.8c-6.5-1.5-23.9-4.4-29.7-5.1c-18.9-2.5-38.9-3.1-56 2.5c-18.8 6.1-33.9 19.7-38.5 42.3c-.1 .4-.1 .8-.2 1.2c-1.7 11.4-.2 22.4 5 32.3c5.1 9.6 12.9 16.1 20.5 20.7c13.7 8.2 31.5 12.3 45.1 15.5l0 0 1.7 .4c16 3.7 27.1 6.5 34.1 10.7c3 1.8 3.8 3 3.9 3.3l0 0c.1 .1 .7 1.2 .2 4.7c-.4 2.7-1.2 3.8-1.7 4.3c-.7 .7-2.3 2-5.8 3.1c-7.7 2.4-20.1 2.9-36.9 .6c-7.4-1-20.3-4.8-31.4-8c-2.5-.7-5-1.4-7.2-2.1c-11.9-3.4-24.3 3.5-27.7 15.4s3.5 24.3 15.4 27.7c1.5 .4 3.3 .9 5.3 1.5l0 0c10.8 3.2 28.4 8.3 39.4 9.9l.1 0c18.9 2.5 39.2 3.1 56.4-2.3c8.9-2.8 17.8-7.5 24.9-15.2c7.3-7.8 11.8-17.6 13.4-28.5c1.7-11.4 .2-22.4-5-32.3c-5.1-9.6-12.9-16.1-20.5-20.7c-13.7-8.2-31.5-12.3-45.1-15.5l0 0-1.7-.4c-16-3.7-27.1-6.5-34.1-10.7c-3-1.8-3.8-3-3.9-3.3l0 0c-.1-.1-.6-1.1-.3-4.1c.9-4 2.8-6.2 8.3-8z\"]\n};\nvar faRectangleSd = faStandardDefinition;\nvar faH1 = {\n prefix: 'fas',\n iconName: 'h1',\n icon: [576, 512, [], \"f313\", \"M64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V256 416c0 17.7 14.3 32 32 32s32-14.3 32-32V288H256V416c0 17.7 14.3 32 32 32s32-14.3 32-32V256 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H64V96zm448 0c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-64 32c-15.8 7.9-22.2 27.1-14.3 42.9s27.1 22.2 42.9 14.3l17.7-8.8V384H416c-17.7 0-32 14.3-32 32s14.3 32 32 32h64 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V96z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M480 96c17.7 0 32 14.3 32 32s-14.3 32-32 32l-208 0 0-64 208 0zM320 288c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zm64-64c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h48c17.7 0 32 14.3 32 32zM288 384c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zm-88-96l.6 0c-5.4 9.4-8.6 20.3-8.6 32c0 13.2 4 25.4 10.8 35.6C177.9 364.3 160 388.1 160 416c0 11.7 3.1 22.6 8.6 32H160C71.6 448 0 376.4 0 288l0-61.7c0-42.4 16.9-83.1 46.9-113.1l11.6-11.6C82.5 77.5 115.1 64 149 64l27 0c35.3 0 64 28.7 64 64v88c0 22.1-17.9 40-40 40s-40-17.9-40-40V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v56c0 39.8 32.2 72 72 72z\"]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'fas',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM288 176c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-112 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faMessageBot = {\n prefix: 'fas',\n iconName: 'message-bot',\n icon: [640, 512, [], \"e3b8\", \"M160 0C124.7 0 96 28.7 96 64V176H59.7c-5.5-9.6-15.9-16-27.7-16c-17.7 0-32 14.3-32 32s14.3 32 32 32c11.8 0 22.2-6.4 27.7-16H96V352c0 35.3 28.7 64 64 64h64v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L373.3 416H480c35.3 0 64-28.7 64-64V208h36.3c5.5 9.6 15.9 16 27.7 16c17.7 0 32-14.3 32-32s-14.3-32-32-32c-11.8 0-22.2 6.4-27.7 16H544V64c0-35.3-28.7-64-64-64H160zm0 128c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V128zm64 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faForwardStep = {\n prefix: 'fas',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V271l-11.5 9.6-192 160z\"]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'fas',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faLightCeiling = {\n prefix: 'fas',\n iconName: 'light-ceiling',\n icon: [512, 512, [], \"e016\", \"M256 0c17.7 0 32 14.3 32 32V162c115.8 14.4 207.6 106.3 222 222.1c2.2 17.5-12.4 31.9-30 31.9H32C14.3 416-.2 401.6 2 384.1C16.4 268.2 108.2 176.4 224 162V32c0-17.7 14.3-32 32-32zm0 512c-35.3 0-64-28.7-64-64H320c0 35.3-28.7 64-64 64z\"]\n};\nvar faMessageExclamation = {\n prefix: 'fas',\n iconName: 'message-exclamation',\n icon: [512, 512, [\"comment-alt-exclamation\"], \"f4a5\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM256 80c-13.3 0-24 10.7-24 24V216c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCommentAltExclamation = faMessageExclamation;\nvar faBowlScoop = {\n prefix: 'fas',\n iconName: 'bowl-scoop',\n icon: [448, 512, [127847, \"bowl-shaved-ice\"], \"e3de\", \"M32 224H416c0-106-86-192-192-192S32 118 32 224zM16 256c-4.6 0-9 2-12 5.4s-4.5 8-3.9 12.6l2 15.9C11.1 361.9 72.4 416 145 416h40.4l-68.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H320c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4L262.6 416H303c72.6 0 133.9-54.1 142.9-126.1l2-15.9c.6-4.6-.8-9.1-3.9-12.6s-7.4-5.4-12-5.4H16z\"]\n};\nvar faBowlShavedIce = faBowlScoop;\nvar faSquareX = {\n prefix: 'fas',\n iconName: 'square-x',\n icon: [448, 512, [], \"e286\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.3 104.5L224 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L255.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L224 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L192.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8z\"]\n};\nvar faUtilityPoleDouble = {\n prefix: 'fas',\n iconName: 'utility-pole-double',\n icon: [512, 512, [], \"e2c4\", \"M256 0c17.7 0 32 14.3 32 32V64h96V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8h32V56c0-13.3 10.7-24 24-24s24 10.7 24 24V96c0 17.7-14.3 32-32 32H428.8L288 221.9V256h96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8h32v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v40c0 17.7-14.3 32-32 32H428.8L288 413.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V413.9L83.2 320H32c-17.7 0-32-14.3-32-32V248c0-13.3 10.7-24 24-24s24 10.7 24 24v8H80v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8h96V221.9L83.2 128H32C14.3 128 0 113.7 0 96V56C0 42.7 10.7 32 24 32s24 10.7 24 24v8H80V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8h96V32c0-17.7 14.3-32 32-32zM140.8 128L224 183.4V128H140.8zM288 183.4L371.2 128H288v55.4zM140.8 320L224 375.4V320H140.8zM288 375.4L371.2 320H288v55.4z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1V345.8c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V400 334 64 32C0 14.3 14.3 0 32 0zM64 187.1l64-13.9v65.5L64 252.6V318l48.8-12.2c5.1-1.3 10.1-2.4 15.2-3.3V238.7l38.9-8.4c8.3-1.8 16.7-2.5 25.1-2.1l0-64c13.6 .4 27.2 2.6 40.4 6.4l23.6 6.9v66.7l-41.7-12.3c-7.3-2.1-14.8-3.4-22.3-3.8v71.4c21.8 1.9 43.3 6.7 64 14.4V244.2l22.7 6.7c13.5 4 27.3 6.4 41.3 7.4V194c-7.8-.8-15.6-2.3-23.2-4.5l-40.8-12v-62c-13-3.8-25.8-8.8-38.2-15c-8.2-4.1-16.9-7-25.8-8.8v72.4c-13-.4-26 .8-38.7 3.6L128 173.2V98L64 114v73.1zM320 335.7c16.8 1.5 33.9-.7 50-6.8l14-5.2V251.9l-7.9 1.8c-18.4 4.3-37.3 5.7-56.1 4.5v77.4zm64-149.4V115.4c-20.9 6.1-42.4 9.1-64 9.1V194c13.9 1.4 28 .5 41.7-2.6l22.3-5.2z\"]\n};\nvar faChevronsUp = {\n prefix: 'fas',\n iconName: 'chevrons-up',\n icon: [512, 512, [\"chevron-double-up\"], \"f325\", \"M278.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-192 192c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3 425.4 278.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-192-192zm192 384l-192-192c-12.5-12.5-32.8-12.5-45.3 0l-192 192c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 301.3 425.4 470.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faChevronDoubleUp = faChevronsUp;\nvar faFootball = {\n prefix: 'fas',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M247.5 25.4c-13.5 3.3-26.4 7.2-38.6 11.7C142.9 61.6 96.7 103.6 66 153.6c-18.3 29.8-30.9 62.3-39.2 95.4L264.5 486.6c13.5-3.3 26.4-7.2 38.6-11.7c66-24.5 112.2-66.5 142.9-116.5c18.3-29.8 30.9-62.3 39.1-95.3L247.5 25.4zM495.2 205.3c6.1-56.8 1.4-112.2-7.7-156.4c-2.7-12.9-13-22.9-26.1-25.1c-58.2-9.7-109.9-12-155.6-7.9L495.2 205.3zM206.1 496L16.8 306.7c-6.1 56.8-1.4 112.2 7.7 156.4c2.7 12.9 13 22.9 26.1 25.1c58.2 9.7 109.9 12 155.6 7.9zm54.6-331.3c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faFootballBall = faFootball;\nvar faUserVneck = {\n prefix: 'fas',\n iconName: 'user-vneck',\n icon: [448, 512, [], \"e461\", \"M224 0a128 128 0 1 0 0 256A128 128 0 1 0 224 0zM157.3 327.1c-3.2-4.3-8.4-6.7-13.7-6.2C62.9 329.7 0 398.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-83.1-62.9-151.5-143.7-160.3c-5.3-.6-10.5 1.9-13.7 6.2l-53.9 71.8c-6.4 8.5-19.2 8.5-25.6 0l-53.9-71.8z\"]\n};\nvar faSchoolCircleExclamation = {\n prefix: 'fas',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M448 109.3l54.6-54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L402.7 64 160 64v64l178.7 0L128 338.7V32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H173.3L384 173.3 384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-274.7z\"]\n};\nvar faAnglesDown = {\n prefix: 'fas',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'fas',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H544c53 0 96-43 96-96V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zm159.8 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3C119.9 256 96 279.9 96 309.3zM461.2 336h56.1c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6zM372 289c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-8.6-24.3-29.9-42.6-55.9-47zM512 176a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faPeopleRoof = {\n prefix: 'fas',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M335.5 4l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4c9.7-5.4 21.4-5.4 31.1 0zM320 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm312 40a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM226.9 491.4L200 441.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V441.5L61.1 491.4c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8L552 441.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V441.5l-26.9 49.9c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8L376 345.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V345.5l-26.9 49.9c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8z\"]\n};\nvar faSquareArrowRight = {\n prefix: 'fas',\n iconName: 'square-arrow-right',\n icon: [448, 512, [\"arrow-square-right\"], \"f33b\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM361 273L249 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L104 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L361 239c9.4 9.4 9.4 24.6 0 33.9z\"]\n};\nvar faArrowSquareRight = faSquareArrowRight;\nvar faLocationPlus = {\n prefix: 'fas',\n iconName: 'location-plus',\n icon: [384, 512, [\"map-marker-plus\"], \"f60a\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM168 280V216H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V104c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faMapMarkerPlus = faLocationPlus;\nvar faLightbulbExclamationOn = {\n prefix: 'fas',\n iconName: 'lightbulb-exclamation-on',\n icon: [640, 512, [], \"e1ca\", \"M69.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S58.3-3.3 69.3 4zM597.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM117.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm432-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zm-100.1 5.7c-19.8 27.1-39.7 54.4-49.2 86.2H240c-9.6-31.9-29.5-59.1-49.2-86.2l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0zM400 432c0 44.2-35.8 80-80 80s-80-35.8-80-80V416H400v16zM344 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V200c0 13.3 10.7 24 24 24s24-10.7 24-24V88zM320 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faPeopleLine = {\n prefix: 'fas',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM144 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM496 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 217.5V272c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V217.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5z\"]\n};\nvar faBeerMugEmpty = {\n prefix: 'fas',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M32 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h51.2c42.4 0 76.8 34.4 76.8 76.8V274.9c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM384 311.6l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7V172.8c0-7.1-5.7-12.8-12.8-12.8H384V311.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faBeer = faBeerMugEmpty;\nvar faCrateEmpty = {\n prefix: 'fas',\n iconName: 'crate-empty',\n icon: [512, 512, [], \"e151\", \"M48 224c-26.5 0-48 21.5-48 48v80H512V272c0-26.5-21.5-48-48-48H48zM512 384H0v80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V384zM64 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM48 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faDiagramPredecessor = {\n prefix: 'fas',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M448 416l0-64L64 352l0 64 384 0zm0 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c44.2 0 80 35.8 80 80l0 16 38.1 0c21.4 0 32.1 25.9 17 41L433 239c-9.4 9.4-24.6 9.4-33.9 0L329 169c-15.1-15.1-4.4-41 17-41l38.1 0 0-16c0-8.8-7.2-16-16-16l-80 0 0 64z\"]\n};\nvar faTransporter = {\n prefix: 'fas',\n iconName: 'transporter',\n icon: [512, 512, [], \"e042\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 272v96H184V237.3L153 276c-11.1 13.8-31.2 16-45 5s-16-31.2-5-45l57.7-72c18.2-22.7 45.8-36 74.9-36h40.7c29.1 0 56.7 13.2 74.9 36L409 236c11 13.8 8.8 33.9-5 45s-33.9 8.8-45-5l-31-38.7V416H264V320H248zM216 512H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H296 216zM64 96l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 128l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 128 6.6 120.7C2.7 119.6 0 116.1 0 112s2.7-7.6 6.6-8.7L32 96l7.3-25.4C40.4 66.7 43.9 64 48 64s7.6 2.7 8.7 6.6L64 96zM472.7 6.6L480 32l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 64l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 64l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 32l7.3-25.4C456.4 2.7 459.9 0 464 0s7.6 2.7 8.7 6.6z\"]\n};\nvar faCalendarCircleUser = {\n prefix: 'fas',\n iconName: 'calendar-circle-user',\n icon: [576, 512, [], \"e471\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM256 368c0-91.8 70.3-167.2 160-175.3V192H0V464c0 26.5 21.5 48 48 48H330.8C285.6 480.1 256 427.5 256 368zm320 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-66.3 80.7C489.5 468.1 462.2 480 432 480s-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7zM384 336a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faArrowUpLong = {\n prefix: 'fas',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128z\"]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faPersonCarryBox = {\n prefix: 'fas',\n iconName: 'person-carry-box',\n icon: [384, 512, [\"person-carry\"], \"f4cf\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM96 306.7V241.7l16.6 24.9c8.9 13.4 23.9 21.4 39.9 21.4H224 352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32v96H161.1l-42.6-64c-13.3-20-35.8-32-59.9-32C26.2 128 0 154.2 0 186.6v88.1c0 17 6.7 33.3 18.7 45.3l79.4 79.4 14.3 85.9c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8l-15.2-90.9c-1.6-9.9-6.3-19-13.4-26.1l-51-51zM0 346.5L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32v0V410.5l-64-64z\"]\n};\nvar faPersonCarry = faPersonCarryBox;\nvar faFireFlameSimple = {\n prefix: 'fas',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zm-90.8 49.5c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'fas',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152z\"]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1L20.8 7.4zm96 0C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L116.8 7.4zm77.8 42.4L212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L308.8 7.4zm77.8 42.4L404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L500.8 7.4zm77.8 42.4L596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM32 128c17.7 0 32 14.3 32 32V288c0 17.7 14.3 32 32 32H288V160c0-17.7 14.3-32 32-32s32 14.3 32 32V320H544c17.7 0 32-14.3 32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 53-43 96-96 96H352v64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V384H96c-53 0-96-43-96-96V160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H96V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H192V256 160c0-17.7 14.3-32 32-32zm192 0c17.7 0 32 14.3 32 32v96 32H384V256 160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96 32H480V256 160c0-17.7 14.3-32 32-32z\"]\n};\nvar faUnion = {\n prefix: 'fas',\n iconName: 'union',\n icon: [384, 512, [8899], \"f6a2\", \"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\"]\n};\nvar faChevronsLeft = {\n prefix: 'fas',\n iconName: 'chevrons-left',\n icon: [512, 512, [\"chevron-double-left\"], \"f323\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 278.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192zm384-192l-192 192c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 470.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\"]\n};\nvar faChevronDoubleLeft = faChevronsLeft;\nvar faCircleHeart = {\n prefix: 'fas',\n iconName: 'circle-heart',\n icon: [512, 512, [\"heart-circle\"], \"f4c7\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM131.9 280.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L278.5 384.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L131.9 280.9z\"]\n};\nvar faHeartCircle = faCircleHeart;\nvar faTruckPlane = {\n prefix: 'fas',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M200 0c-30.6 0-56 54.7-56 86.1V192.5L7.8 274.3C2.9 277.2 0 282.4 0 288v64c0 5.1 2.4 9.8 6.4 12.8s9.3 3.9 14.1 2.5l123.4-37v81.2l-50 40c-3.8 3-6 7.6-6 12.5v32c0 5.1 2.5 10 6.6 13s9.5 3.8 14.4 2.2L200 480.9 290.4 511c-1.6-4.7-2.4-9.8-2.4-15V463.4c-18.2-10.5-30.7-29.7-31.9-51.8l-.1-.1V408 325.5 184l0-1.1 0 0V86.1C256 54.7 231.5 0 200 0zm88 176V400c0 20.9 13.4 38.7 32 45.3V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V448H544v40c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V445.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48zm79.8 78.7c3.3-8.7 11.2-14.7 20.5-14.7H539.7c9.2 0 17.2 6 20.5 14.7L576 304H352l15.8-49.3zM568 352a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM336 376a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBringForward = {\n prefix: 'fas',\n iconName: 'bring-forward',\n icon: [512, 512, [], \"f856\", \"M224 448H448V224H384V160h64c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384h64v64zm64-96H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64z\"]\n};\nvar faSquareP = {\n prefix: 'fas',\n iconName: 'square-p',\n icon: [448, 512, [], \"e279\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H176v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152c0-13.3 10.7-24 24-24zm92 136c24.3 0 44-19.7 44-44s-19.7-44-44-44H176v88h68z\"]\n};\nvar faFaceGrinStars = {\n prefix: 'fas',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm407.4 75.5c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM160 120c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6zm192 0c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faSigma = {\n prefix: 'fas',\n iconName: 'sigma',\n icon: [384, 512, [8721], \"f68b\", \"M2.4 51.8C7.4 39.8 19.1 32 32 32H320c35.3 0 64 28.7 64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H109.3L246.6 233.4c12.5 12.5 12.5 32.8 0 45.3L109.3 416H320V384c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 35.3-28.7 64-64 64H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L178.7 256 9.4 86.6C.2 77.5-2.5 63.7 2.4 51.8z\"]\n};\nvar faCameraMovie = {\n prefix: 'fas',\n iconName: 'camera-movie',\n icon: [576, 512, [127909, 127910], \"f8a9\", \"M128 64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM352 256H128C57.3 256 0 198.7 0 128S57.3 0 128 0c48.2 0 90.2 26.6 112 66C261.8 26.6 303.8 0 352 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zm0-192a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM558.3 259.4c10.8 5.4 17.7 16.5 17.7 28.6V480c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48L448 448V432 336 320l12.8-9.6 64-48c9.7-7.3 22.7-8.4 33.5-3zM64 288h64H352c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V352H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64z\"]\n};\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M160 208.5c0 29.1-15.6 53.9-37.2 67.8c-17.2 11.1-31.5 26.1-41.7 43.7H302.9c-10.2-17.6-24.5-32.6-41.7-43.7c-21.6-13.9-37.2-38.7-37.2-67.8V64H160V208.5zM288 64V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V64C78.3 64 64 49.7 64 32S78.3 0 96 0h16H272h16c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faClarinet = {\n prefix: 'fas',\n iconName: 'clarinet',\n icon: [640, 512, [], \"f8ad\", \"M224 144c0-8.8 7.2-16 16-16h32 96 96 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v32h76.6c9.5 0 18.7-2.8 26.6-8.1l31.9-21.3c4.9-3.3 11.2-3.6 16.4-.8s8.5 8.2 8.5 14.1V368c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8l-31.9-21.3c-7.9-5.3-17.1-8.1-26.6-8.1H108.3c-10.2 0-20.3-1.9-29.7-5.7L10.1 318.9C4 316.4 0 310.5 0 304V240c0-6.5 4-12.4 10.1-14.9l68.6-27.4c9.4-3.8 19.5-5.7 29.7-5.7H256V160H240c-8.8 0-16-7.2-16-16zm224 16H384v32h64V160zm-96 0H288v32h64V160zM272 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTruckFlatbed = {\n prefix: 'fas',\n iconName: 'truck-flatbed',\n icon: [640, 512, [], \"e2b6\", \"M608 416H576c0 53-43 96-96 96s-96-43-96-96H352 256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H88.4c17.6-19.6 43.1-32 71.6-32s54 12.4 71.6 32H352V128c0-17.7 14.3-32 32-32h16 16 50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32zM416 160v96H544V237.3L466.7 160H416zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'fas',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M208 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 0c0 16.2-6 31.1-16 42.3l15.6 31.2c18.7-6 39.9-9.5 64.4-9.5s45.8 3.5 64.4 9.5L400 106.3C390 95.1 384 80.2 384 64c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-1.7 0-3.4-.1-5.1-.2L427.8 158c21.1 13.6 37.7 30.2 51.4 46.4c7.1 8.3 13.5 16.6 19.3 24l1.4 1.8c6.3 8.1 11.6 14.8 16.7 20.4C527.3 262.3 532.7 264 536 264c2.5 0 4.3-.6 7.1-3.3c3.7-3.5 7.1-8.8 12.5-17.4l.6-.9c4.6-7.4 11-17.6 19.4-25.7c9.7-9.3 22.9-16.7 40.4-16.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-2.5 0-4.3 .6-7.1 3.3c-3.7 3.5-7.1 8.8-12.5 17.4l-.6 .9c-4.6 7.4-11 17.6-19.4 25.7c-9.7 9.3-22.9 16.7-40.4 16.7c-18.5 0-32.9-8.5-44.3-18.6c-3.1 4-6.6 8.3-10.5 12.7c1.4 4.3 2.8 8.5 4 12.5c.9 3 1.8 5.8 2.6 8.6c3 9.8 5.5 18.2 8.6 25.9c3.9 9.8 7.4 15.4 10.8 18.5c2.6 2.4 5.9 4.3 12.8 4.3c8.7 0 16.9-4.2 33.7-13.2c15-8 35.7-18.8 62.3-18.8c13.3 0 24 10.7 24 24s-10.7 24-24 24c-13.4 0-24.7 5.2-39.7 13.2c-1 .6-2.1 1.1-3.2 1.7C559.9 414 541.4 424 520 424c-18.4 0-33.6-6.1-45.5-17.2c-11.1-10.3-17.9-23.7-22.7-36c-3.6-9-6.7-19.1-9.5-28.5c-16.4 12.3-36.1 23.6-58.9 31.3c3.6 10.8 8.4 23.5 14.4 36.2c7.5 15.9 16.2 30.4 25.8 40.5C433 460.5 441.2 464 448 464c13.3 0 24 10.7 24 24s-10.7 24-24 24c-25.2 0-45-13.5-59.5-28.8c-14.5-15.4-25.7-34.9-34.2-53c-8-17-14.1-33.8-18.3-46.9c-5.2 .4-10.6 .6-16 .6s-10.8-.2-16-.6c-4.2 13-10.3 29.9-18.3 46.9c-8.5 18.1-19.8 37.6-34.2 53C237 498.5 217.2 512 192 512c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.8 0 15-3.5 24.5-13.7c9.5-10.1 18.3-24.6 25.8-40.5c5.9-12.6 10.7-25.4 14.4-36.2c-22.8-7.7-42.5-19-58.9-31.3c-2.9 9.4-6 19.5-9.5 28.5c-4.8 12.2-11.6 25.6-22.7 36C153.6 417.9 138.4 424 120 424c-21.4 0-39.9-10-53.1-17.1l0 0c-1.1-.6-2.2-1.2-3.2-1.7c-15-8-26.3-13.2-39.7-13.2c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.6 0 47.3 10.8 62.3 18.8c16.8 9 25 13.2 33.7 13.2c6.8 0 10.2-1.9 12.8-4.3c3.4-3.2 7-8.8 10.8-18.5c3-7.7 5.6-16.1 8.6-25.9c.8-2.7 1.7-5.6 2.6-8.6c1.2-4 2.6-8.2 4-12.5c-3.9-4.5-7.4-8.8-10.5-12.7C136.9 303.5 122.5 312 104 312c-17.5 0-30.7-7.4-40.4-16.7c-8.4-8.1-14.8-18.3-19.4-25.7l-.6-.9c-5.4-8.6-8.8-13.9-12.5-17.4c-2.8-2.7-4.6-3.3-7.1-3.3c-13.3 0-24-10.7-24-24s10.7-24 24-24c17.5 0 30.7 7.4 40.4 16.7c8.4 8.1 14.8 18.3 19.4 25.7l.6 .9c5.4 8.6 8.8 13.9 12.5 17.4c2.8 2.7 4.6 3.3 7.1 3.3c3.3 0 8.7-1.7 19.4-13.4c5.1-5.6 10.4-12.3 16.7-20.4l1.4-1.8c5.8-7.4 12.2-15.7 19.3-24c13.8-16.2 30.3-32.8 51.4-46.4l-15.1-30.2c-1.7 .1-3.4 .2-5.1 .2c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm208 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'fas',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M137.4 502.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V288H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H448V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 109.3V224H192 128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96zM128 192h64V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192zM448 320H384V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\"]\n};\nvar faLeafHeart = {\n prefix: 'fas',\n iconName: 'leaf-heart',\n icon: [512, 512, [], \"f4cb\", \"M272 96l0 0H376c42.7 0 79.9-23.9 98.8-59.1c3.5-6.5 13.6-6.8 16.2 .1c13.5 36.5 21.1 77 21.1 119.6C512 317.1 405.1 447.3 273 448l-1 0c-81.7 0-150.4-55.7-170.2-131.2C68.7 347.5 48 391.4 48 440v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-75.1 38.3-141.2 96.4-179.9C102.5 168.5 178.8 96 272 96l0 0zM189.7 242.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faHouseBuilding = {\n prefix: 'fas',\n iconName: 'house-building',\n icon: [640, 512, [], \"e1b1\", \"M368 0c-26.5 0-48 21.5-48 48V153.9l64 58.7V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H413.2c1.9 6.8 2.8 13.9 2.8 21.1V288h16c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H416V464c0 18-6 34.6-16 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368zM512 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V208zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zM400 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V112zM0 277.1V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V277.1c0-13.5-5.6-26.3-15.6-35.4l-144-132c-18.4-16.8-46.5-16.8-64.9 0l-144 132C5.6 250.8 0 263.7 0 277.1zM144 296c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H168c-13.3 0-24-10.7-24-24V296z\"]\n};\nvar faCheeseSwiss = {\n prefix: 'fas',\n iconName: 'cheese-swiss',\n icon: [512, 512, [129472], \"f7f0\", \"M451 93c37.7 37.7 61 89.7 61 147.2V256H496.2 448 96 16 0c0-5.4 .7-10.7 2.1-15.8c3.8-13.7 12.4-25.8 24.5-33.9L96 160l23.2-15.4c7.8-5.2 18.4-2.3 25.5 3.8C153.1 155.6 164 160 176 160c26.5 0 48-21.5 48-48c0-5.2-.8-10.2-2.3-14.9c-2.9-9-1.6-19.9 6.3-25.1l47-31.3c8.6-5.7 18.6-8.7 28.9-8.7c56 0 106.8 22.1 144.2 58c1 1 2 2 3 2.9zM432 288h16 48 16v16V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V304 288H16 96 304c8.8 0 15.7 7.4 18.6 15.7C329.1 322.5 347 336 368 336s38.9-13.5 45.4-32.3c2.9-8.4 9.8-15.7 18.6-15.7zM224 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faSpoon = {\n prefix: 'fas',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M245.8 220.9c-14.5-17.6-21.8-39.2-21.8-60.8C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-21.6 0-43.2-7.3-60.8-21.8L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L245.8 220.9z\"]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'fas',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm112 0H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7zm48 117.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7zM112 352H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416H144v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7z\"]\n};\nvar faEnvelopesBulk = {\n prefix: 'fas',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M128 0C110.3 0 96 14.3 96 32V224h96V192c0-35.3 28.7-64 64-64H480V32c0-17.7-14.3-32-32-32H128zM256 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64V416H576c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM64 256c-17.7 0-32 14.3-32 32v13L187.1 415.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L352 301V288c0-17.7-14.3-32-32-32H64zm288 84.8L216 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L32 340.8V480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V340.8z\"]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'fas',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faBowArrow = {\n prefix: 'fas',\n iconName: 'bow-arrow',\n icon: [512, 512, [127993], \"f6b9\", \"M511.7 18.9c1-5.2-.7-10.5-4.4-14.3S498.2-.7 493.1 .3l-128 24c-5.8 1.1-10.6 5.3-12.3 11s-.2 11.8 4 16l35 35L144.6 333.4 93.8 320.7c-8.2-2-16.8 .4-22.8 6.3L7 391c-6.1 6.1-8.5 15-6.2 23.4s8.9 14.8 17.3 16.9l50 12.5 12.5 50c2.1 8.4 8.5 15 16.9 17.3s17.3 0 23.4-6.2l64-64c6-6 8.4-14.6 6.3-22.8l-12.7-50.8L425.7 120.3l35 35c4.2 4.2 10.4 5.7 16 4s9.9-6.5 11-12.3l24-128zm-458 85.5c-12.6-11.6-32.1-11.3-44.3 .9c-12.5 12.5-12.5 32.8 0 45.3L145.8 287 191 241.8l-90.6-90.6c56.5-30.7 125.2-30.9 181.9-.7l46.8-46.8c-83.8-53.2-191.8-53-275.4 .8zM361.5 229.7c30.2 56.7 30 125.4-.7 181.9L270.2 321 225 366.2 361.4 502.6c12.5 12.5 32.8 12.5 45.3 0c12.2-12.2 12.5-31.8 .9-44.3c53.7-83.6 54-191.6 .8-275.4l-46.8 46.8z\"]\n};\nvar faCartXmark = {\n prefix: 'fas',\n iconName: 'cart-xmark',\n icon: [576, 512, [], \"e0dd\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM395.4 128.9L364.3 160l31.1 31.1c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L336 188.3l-31.1 31.1c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L307.7 160l-31.1-31.1c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0L336 131.7l31.1-31.1c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]\n};\nvar faHexagonXmark = {\n prefix: 'fas',\n iconName: 'hexagon-xmark',\n icon: [512, 512, [\"times-hexagon\", \"xmark-hexagon\"], \"f2ee\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faTimesHexagon = faHexagonXmark;\nvar faXmarkHexagon = faHexagonXmark;\nvar faCircleH = {\n prefix: 'fas',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H192l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H320V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHospitalSymbol = faCircleH;\nvar faMerge = {\n prefix: 'fas',\n iconName: 'merge',\n icon: [512, 512, [], \"e526\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32h97.2c9.7 0 18.9 4.4 25 12L247 256 154.2 372c-6.1 7.6-15.3 12-25 12H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h97.2c29.2 0 56.7-13.3 75-36l99.2-124H384v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c6-6 9.4-14.1 9.4-22.6s-3.4-16.6-9.4-22.6l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H303.4L204.2 100c-18.2-22.8-45.8-36-75-36H32z\"]\n};\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm64 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faCartMinus = {\n prefix: 'fas',\n iconName: 'cart-minus',\n icon: [576, 512, [], \"e0db\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM280 132H392c11 0 20 9 20 20s-9 20-20 20H280c-11 0-20-9-20-20s9-20 20-20z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM208 288h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]\n};\nvar faContactBook = faAddressBook;\nvar faPanFrying = {\n prefix: 'fas',\n iconName: 'pan-frying',\n icon: [576, 512, [127859], \"e42c\", \"M448 224c0 33.4-7.3 65.1-20.4 93.6l123.7 79.9C566.7 409.2 576 427.1 576 448c0 35.3-28.7 64-64 64c-15.2 0-28.3-4.6-39.3-13.5L364.8 398.3C326.3 429.4 277.3 448 224 448C100.3 448 0 347.7 0 224S100.3 0 224 0S448 100.3 448 224zM319.9 154c-21.2-5.4-50.6-22.6-65.8-38.4c-24.5-25.5-65-26.3-90.5-1.8c-11.6 11.2-18.1 25.6-19.4 40.5c-2.2 24.7-9.2 56.2-21.5 77.6c-22.1 38.3-9 87.2 29.3 109.3s87.2 9 109.3-29.3c9.4-16.3 33-30 51.6-32.6c10.2-1.4 20.3-5.4 29.2-12c28.4-21.1 34.3-61.1 13.3-89.5c-9.1-12.3-21.8-20.4-35.5-23.9zM528 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faGrid = {\n prefix: 'fas',\n iconName: 'grid',\n icon: [448, 512, [\"grid-3\"], \"e195\", \"M0 72C0 49.9 17.9 32 40 32H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V72zM0 232c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V232zM128 392v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40zM160 72c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V72zM288 232v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V232c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40zM160 392c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392zM448 72v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V72c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40zM320 232c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V232zM448 392v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40z\"]\n};\nvar faGrid3 = faGrid;\nvar faFootballHelmet = {\n prefix: 'fas',\n iconName: 'football-helmet',\n icon: [512, 512, [], \"f44f\", \"M488.1 194.9c4.5 17.1-8.2 33.1-25.7 35.3L340.3 245.5l14 74.5H464c26.5 0 48 21.5 48 48v32 50.4c0 25.2-20.4 45.6-45.6 45.6h-17c-54.9 0-102-39.1-112.1-93.1L327.7 352H288l9.2 18.3c4.5 9 6.8 18.9 6.8 28.9c0 35.7-29 64.7-64.7 64.7h-1.7c-9 0-17.9-1.8-26.1-5.4l-93.4-40c-4-1.7-8.3-2.6-12.6-2.6h-14c-9.1 0-17.9-3.8-23.5-10.9C35.4 364.1 16 312.3 16 256C16 123.5 123.5 16 256 16c111.4 0 205.1 75.9 232.1 178.9zm-207.1 58c-14.3 1.8-25.1 14-25.1 28.4c0 4.4 1 8.8 3 12.8l13 26h49.7l-13.2-70.6-27.4 3.4zM360.3 352l6 32H480V368c0-8.8-7.2-16-16-16H360.3zM480 416H374.7c13.1 28.7 42 48 74.7 48h17c7.5 0 13.6-6.1 13.6-13.6V416zM176 360a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHandLove = {\n prefix: 'fas',\n iconName: 'hand-love',\n icon: [512, 512, [], \"e1a5\", \"M160 0c17.7 0 32 14.3 32 32V191.9l0 .1v96c0 35.3 28.7 64 64 64c19.1 0 36.3-8.4 48-21.7c11.7 13.3 28.9 21.7 48 21.7c35.3 0 64-28.7 64-64V224.1l0-.1V96c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176H284.8c-59.6 0-116.9-22.9-160-64L12.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V32c0-17.7 14.3-32 32-32zm64 192c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm128 0c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faTrees = {\n prefix: 'fas',\n iconName: 'trees',\n icon: [640, 512, [], \"f724\", \"M70.2 121.4L178.5 5.8C182 2.1 186.9 0 192 0s10 2.1 13.5 5.8L313.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H272l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H304l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H224v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H23.5C10.5 416 0 405.5 0 392.5c0-5.5 1.9-10.8 5.4-15L80 288H55.5c-13 0-23.5-10.5-23.5-23.5c0-5.5 1.9-10.8 5.4-15L112 160H86.9C74.3 160 64 149.7 64 137.1c0-5.8 2.2-11.4 6.2-15.7zm271.4-16.4L434.5 5.8C438 2.1 442.9 0 448 0s10 2.1 13.5 5.8L569.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H528l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H560l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H480v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416l0-23.4 0-.1 0-.1V392h0c-.1-12.8-4.7-25.2-12.9-35l-40.6-48.7c13-10.2 21.4-26 21.4-43.8c0-13-4.6-25.6-12.9-35.5l-40.4-48.5c12.9-10 21.3-25.8 21.3-43.4c0-11.6-3.7-22.8-10.4-32.1z\"]\n};\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H270.1c-.1 0-.3-.1-.4-.1l-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3l0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6l0 0 .2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1H335.1c7 5.6 11.4 11.2 13.9 17.2z\"]\n};\nvar faPage = {\n prefix: 'fas',\n iconName: 'page',\n icon: [384, 512, [], \"e428\", \"M64 512H320c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64z\"]\n};\nvar faK = {\n prefix: 'fas',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M311 86.3c12.3-12.7 12-32.9-.7-45.2s-32.9-12-45.2 .7l-155.2 160L64 249V64c0-17.7-14.3-32-32-32S0 46.3 0 64V328 448c0 17.7 14.3 32 32 32s32-14.3 32-32V341l64.7-66.7 133 192c10.1 14.5 30 18.1 44.5 8.1s18.1-30 8.1-44.5L174.1 227.4 311 86.3z\"]\n};\nvar faDiagramPrevious = {\n prefix: 'fas',\n iconName: 'diagram-previous',\n icon: [512, 512, [], \"e478\", \"M448 352L64 352v64l384 0V352zm0-64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64H232V224l-46.1 0c-21.4 0-32.1-25.9-17-41L239 113c9.4-9.4 24.6-9.4 33.9 0L343 183c15.1 15.1 4.4 41-17 41L280 224v64H448zM365.7 160.4L295.6 90.3c-21.9-21.9-57.3-21.9-79.2 0l-70.1 70.1c-18.4 18.4-20.4 43.7-11 63.6L64 224c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H376.7c9.4-19.9 7.4-45.2-11-63.6z\"]\n};\nvar faGaugeMin = {\n prefix: 'fas',\n iconName: 'gauge-min',\n icon: [512, 512, [\"tachometer-alt-slowest\"], \"f628\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64s-28.7-64-64-64c-14.1 0-27.2 4.6-37.8 12.4L100.6 227.6c-11.3-7-26.1-3.5-33 7.8s-3.5 26.1 7.8 33l117.5 72.8c-.6 3.5-.9 7.1-.9 10.8c0 35.3 28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAltSlowest = faGaugeMin;\nvar faFolderGrid = {\n prefix: 'fas',\n iconName: 'folder-grid',\n icon: [512, 512, [], \"e188\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM104 240c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H104zm128 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H232zm104 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H360c-13.3 0-24 10.7-24 24z\"]\n};\nvar faEggplant = {\n prefix: 'fas',\n iconName: 'eggplant',\n icon: [512, 512, [], \"e16c\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9l-9 9V192c0 8.8-7.2 16-16 16c-26.5 0-48-21.5-48-48c0-5.8-4-10.7-9.4-12.6c-13.3-4.8-25.4-13-35.1-22.8s-18-21.9-22.8-35.1c-2-5.4-6.9-9.4-12.6-9.4c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16H462.1l9-9c9.4-9.4 24.6-9.4 33.9 0zM169.9 139.3c40.3-19.6 81-39.3 113.4-66.6c11.8 20 32.1 34.4 55.9 38.3c6.7 14 15.8 26.3 25.8 36.2s22.2 19.1 36.2 25.8c5 30.4 27.1 55.1 56.2 63.8C410.6 362.7 311.1 512.2 176.4 512C79.9 511.9 1.4 431.3 0 336C-1.6 222.5 83.4 181.3 169.9 139.3z\"]\n};\nvar faRam = {\n prefix: 'fas',\n iconName: 'ram',\n icon: [640, 512, [128015], \"f70a\", \"M336 64v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-8.8 7.2-16 16-16s16 7.2 16 16V88.4c-6.8 6.1-12.8 13.2-17.6 21l-47.8 20.5c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2V240c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V167.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-47.8-20.5c-4.9-7.8-10.8-14.9-17.6-21V64c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-35.3-28.7-64-64-64s-64 28.7-64 64v1.3c-5.2-.9-10.5-1.3-16-1.3s-10.8 .5-16 1.3V64c0-35.3-28.7-64-64-64s-64 28.7-64 64zM308.5 174.1c-8.9-20.8-4.3-44 10-59.7C312.3 85.6 286.7 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c.5 0 1 0 1.5 0l17.6 93.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7V480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c.5 0 1 0 1.5 0c26.9 0 49.9-16.5 59.3-40H464c-61.9 0-112-50.1-112-112V207.4c-18.7-2.7-35.5-14.8-43.5-33.4zM464 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faLandmarkFlag = {\n prefix: 'fas',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 0h80c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H272v32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H240V16c0-8.8 7.2-16 16-16h16zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"]\n};\nvar faLips = {\n prefix: 'fas',\n iconName: 'lips',\n icon: [576, 512, [128068, 128482], \"f600\", \"M288 101.3c3-2.4 6.2-4.8 9.7-7.3c17.8-12.7 46.8-30 78.3-30c20.3 0 42.8 9.3 61.4 19.2c20 10.6 41.1 24.7 60.2 39.5c19.1 14.8 37.1 31.2 50.8 46.5c6.8 7.6 13.1 15.7 17.9 23.7c4.3 7.2 9.7 18.3 9.7 31c0 9.2-2.6 19.1-5.3 27.5c-3 9.1-7.4 19.4-12.8 30.3c-10.8 21.7-26.8 46.9-47.7 71.1C468.8 400.9 404.7 448 320 448H256c-84.7 0-148.8-47.1-190.2-95.1C44.9 328.8 29 303.5 18.1 281.8C12.7 271 8.4 260.7 5.3 251.5C2.6 243.1 0 233.2 0 224c0-12.8 5.5-23.8 9.7-31c4.8-8.1 11.1-16.1 17.9-23.7c13.6-15.3 31.7-31.7 50.8-46.5c19.1-14.9 40.2-29 60.2-39.5C157.2 73.3 179.7 64 200 64c31.5 0 60.6 17.2 78.3 30c3.4 2.5 6.7 4.9 9.7 7.3zM64 224c0 7.9 80 96 224 96s224-88.1 224-96c0-7.7-46.3-31.1-138.8-32c-3.4 0-6.9 .5-10.1 1.5C350 197.6 313.7 208 288 208s-62-10.4-75.1-14.4c-3.3-1-6.7-1.6-10.1-1.5C110.3 192.9 64 216.3 64 224z\"]\n};\nvar faPencil = {\n prefix: 'fas',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V256v41.7L459.5 440.6zM256 352V256 128 96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V352z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.3-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M160 0c-23.7 0-44.4 12.9-55.4 32H48C21.5 32 0 53.5 0 80V400c0 26.5 21.5 48 48 48H192V176c0-44.2 35.8-80 80-80h48V80c0-26.5-21.5-48-48-48H215.4C204.4 12.9 183.7 0 160 0zM272 128c-26.5 0-48 21.5-48 48V448v16c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V243.9c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1H320 272zM160 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFileClipboard = faPaste;\nvar faDesktopArrowDown = {\n prefix: 'fas',\n iconName: 'desktop-arrow-down',\n icon: [576, 512, [], \"e155\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H352V64H512V288H64V64H224V0H64zM312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V174.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V24z\"]\n};\nvar faCodePullRequest = {\n prefix: 'fas',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24V64h16c70.7 0 128 57.3 128 128V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-35.3-28.7-64-64-64H320v40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80A24 24 0 1 0 56 80a24 24 0 1 0 48 0zm8 73.3V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm328 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPumpkin = {\n prefix: 'fas',\n iconName: 'pumpkin',\n icon: [576, 512, [], \"f707\", \"M234.6 103.9C251.5 98.8 269.4 96 288 96c22.8 0 44.7 4.2 64.8 11.7c-.6-2-.8-4.1-.8-6.3V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4l-40.9 93.5zm161.6 27.3c12.1 8.8 23.1 19.1 32.7 30.5c5.6 6.7-2.9 14.6-10.4 10.1C380.3 149 335.7 136 288 136s-92.3 13-130.5 35.7c-7.5 4.5-16-3.4-10.4-10.1c9.6-11.4 20.6-21.7 32.7-30.5c-.6-.1-1.2-.2-1.8-.3c-8.5-1.8-17.2-2.8-26-2.8C68.1 128 0 214 0 320S68.1 512 152 512c19.3 0 37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8s37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8c83.9 0 152-86 152-192s-68.1-192-152-192c-8.9 0-17.6 1-26 2.8c-.6 .1-1.2 .2-1.8 .3z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"]\n};\nvar faPenField = {\n prefix: 'fas',\n iconName: 'pen-field',\n icon: [640, 512, [], \"e211\", \"M601.9 16c-18.8-18.8-49.2-18.7-67.9 0L494.4 55.7l89.3 89.3 39.8-38.9c19.1-18.7 19.2-49.4 .4-68.2L601.9 16zM328.5 221.8c-7 7-12.3 15.6-15.4 25l-23.8 71.3c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l71.5-23.9c9.2-3.1 17.6-8.2 24.5-15L560.8 167.5 471.7 78.4 328.5 221.8zM80 128c-44.2 0-80 35.8-80 80V432c0 44.2 35.8 80 80 80H496c44.2 0 80-35.8 80-80V304c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16H272c17.7 0 32-14.3 32-32s-14.3-32-32-32H80zm80 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBlueberries = {\n prefix: 'fas',\n iconName: 'blueberries',\n icon: [512, 512, [], \"e2e8\", \"M512 176C512 78.8 433.2 0 336 0C255.4 0 187.4 54.2 166.6 128.2c3.1-.1 6.3-.2 9.4-.2c114.9 0 208 93.1 208 208c0 3.2-.1 6.3-.2 9.4C457.8 324.6 512 256.6 512 176zM176 512a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm0-304c8.8 0 16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V224c0-8.8 7.2-16 16-16zM384 64V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTruckRampBox = {\n prefix: 'fas',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M640 0V400c0 61.9-50.1 112-112 112c-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64H640zM576 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faNote = {\n prefix: 'fas',\n iconName: 'note',\n icon: [448, 512, [], \"e1ff\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320H336c-26.5 0-48 21.5-48 48V480H64c-35.3 0-64-28.7-64-64V96zM402.7 352H448l-32 32-64 64-32 32V434.7 368c0-8.8 7.2-16 16-16h66.7zM112 376a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM88 112a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faArrowDownToSquare = {\n prefix: 'fas',\n iconName: 'arrow-down-to-square',\n icon: [512, 512, [], \"e096\", \"M374.6 246.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 242.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V242.7l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V112c0-44.2-35.8-80-80-80H400c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCloudXmark = {\n prefix: 'fas',\n iconName: 'cloud-xmark',\n icon: [640, 512, [], \"e35f\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm95-273c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faVialVirus = {\n prefix: 'fas',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V384c0 53 43 96 96 96c28.6 0 54.2-12.5 71.8-32.3c.1-14.2 5.6-28.3 16.4-39.1c.2-.2 .1-.6-.2-.6c-30.9 0-56-25.1-56-56s25.1-56 56-56c.3 0 .4-.4 .2-.6c-21.9-21.9-21.9-57.3 0-79.2c2.4-2.4 5-4.6 7.8-6.5V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 96 32zM96 192V96h64v96H96zM216 376c28.8 0 43.2 34.8 22.9 55.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.4-20.4 55.2-5.9 55.2 22.9c0 13.3 10.7 24 24 24s24-10.7 24-24c0-28.8 34.8-43.2 55.2-22.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9C444.8 410.8 459.2 376 488 376c13.3 0 24-10.7 24-24s-10.7-24-24-24c-28.8 0-43.2-34.8-22.9-55.2c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0C410.8 259.2 376 244.8 376 216c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 28.8-34.8 43.2-55.2 22.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.4 20.4 5.9 55.2-22.9 55.2c-13.3 0-24 10.7-24 24s10.7 24 24 24zm104-88a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm40 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBookBlank = {\n prefix: 'fas',\n iconName: 'book-blank',\n icon: [448, 512, [128213, 128215, 128216, 128217, \"book-alt\"], \"f5d9\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faBookAlt = faBookBlank;\nvar faGolfFlagHole = {\n prefix: 'fas',\n iconName: 'golf-flag-hole',\n icon: [512, 512, [], \"e3ac\", \"M162.7 2.5c-7.4-3.7-16.3-3.3-23.4 1.1S128 15.7 128 24V232c0 1.3 .1 2.7 .3 4c-.2 1.3-.3 2.6-.3 4v92.8C51.5 349.4 0 380.5 0 416c0 53 114.6 96 256 96s256-43 256-96s-114.6-96-256-96c-27.9 0-54.8 1.7-80 4.8V246.8l194.7-97.4c8.1-4.1 13.3-12.4 13.3-21.5s-5.1-17.4-13.3-21.5l-208-104zM288 416c0 17.7-28.7 32-64 32s-64-14.3-64-32s28.7-32 64-32s64 14.3 64 32z\"]\n};\nvar faMessageArrowDown = {\n prefix: 'fas',\n iconName: 'message-arrow-down',\n icon: [512, 512, [\"comment-alt-arrow-down\"], \"e1db\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm280 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V238.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V120z\"]\n};\nvar faCommentAltArrowDown = faMessageArrowDown;\nvar faFaceUnamused = {\n prefix: 'fas',\n iconName: 'face-unamused',\n icon: [512, 512, [], \"e39f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm60.1-117.3c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 355.4 216.3 336 256 336s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSheetPlastic = {\n prefix: 'fas',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M0 448c0 35.3 28.7 64 64 64H224V384c0-17.7 14.3-32 32-32H384V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM171.3 75.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm96 32l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM384 384H256V512L384 384z\"]\n};\nvar faCircle9 = {\n prefix: 'fas',\n iconName: 'circle-9',\n icon: [512, 512, [], \"e0f6\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-26 44.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C337.8 287.2 352 256.4 352 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M192 32c0 17.7 14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0c-17.7 0-32 14.3-32 32zm0 96c0 17.7 14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192c-17.7 0-32 14.3-32 32zM96 144c0-26.5-21.5-48-48-48S0 117.5 0 144V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144H128v96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48V144z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M224 256c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zM0 482.3C0 399.5 56.4 330 132.8 309.9c6-1.6 12.2 .9 15.9 5.8l62.5 83.3c6.4 8.5 19.2 8.5 25.6 0l62.5-83.3c3.7-4.9 9.9-7.4 15.9-5.8C391.6 330 448 399.5 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faPencilSlash = {\n prefix: 'fas',\n iconName: 'pencil-slash',\n icon: [640, 512, [], \"e215\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.6 295.8l42.1-42.1L474.3 231l11.3-11.3-33.9-33.9-62.1-62.1L355.7 89.8l-11.3 11.3-22.6 22.6-57.8 57.8L38.8 5.1zM306.2 214.7l50.5-50.5c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-47.8 47.8-25.4-19.9zM195.5 250l-72.9 72.9c-10.4 10.4-18 23.3-22.2 37.4L65 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2l88.3-88.3-77.9-61.4-27.6 27.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24.9-24.9L195.5 250zM224 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9l-78.1 23 23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM426.7 18.7L412.3 33.2 389.7 55.8 378.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L517.3 18.7c-25-25-65.5-25-90.5 0z\"]\n};\nvar faBowlingPins = {\n prefix: 'fas',\n iconName: 'bowling-pins',\n icon: [512, 512, [], \"f437\", \"M128 0c35.3 0 64 28.7 64 64v1.1c0 7.4-1 14.8-2.9 22l-17.7 64.8c-.7 2.7-1.3 5.4-1.8 8.1H86.5c-.5-2.7-1.1-5.4-1.8-8.1L66.9 87.1c-2-7.2-2.9-14.6-2.9-22V64C64 28.7 92.7 0 128 0zM82.1 210.4c2.2-6 3.8-12.1 4.8-18.4h82.3c1 6.3 2.6 12.4 4.8 18.4l38.6 104.7c7.6 20.6 11.5 42.5 11.5 64.4c0 28.9-6.7 57.5-19.7 83.4l-15.7 31.4C183.2 505.2 172.1 512 160 512H96c-12.1 0-23.2-6.8-28.6-17.7L51.7 462.9C38.7 437 32 408.5 32 379.5c0-22 3.9-43.8 11.5-64.4L82.1 210.4zM384 0c35.3 0 64 28.7 64 64v1.1c0 7.4-1 14.8-2.9 22l-17.7 64.8c-.7 2.7-1.3 5.4-1.8 8.1H342.5c-.5-2.7-1.1-5.4-1.8-8.1L322.9 87.1c-2-7.2-2.9-14.6-2.9-22V64c0-35.3 28.7-64 64-64zM338.1 210.4c2.2-6 3.8-12.1 4.8-18.4h82.3c1 6.3 2.6 12.4 4.8 18.4L470 319.3c6.6 17.9 10 36.8 10 55.8c0 20.5-3.9 40.9-11.5 59.9l-22.7 56.9C440.9 504 429.1 512 416 512H352c-13.1 0-24.9-8-29.7-20.1L299.5 435C291.9 416 288 395.6 288 375.1c0-19 3.4-37.9 10-55.8l40.1-108.9z\"]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'fas',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM598.6 121.4l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L464 141.3 464 384c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faDownRight = {\n prefix: 'fas',\n iconName: 'down-right',\n icon: [384, 512, [], \"e16b\", \"M336 432H96c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l72-72L11.3 171.3C4.1 164.1 0 154.2 0 144s4.1-20.1 11.3-27.3L52.7 75.3C59.9 68.1 69.8 64 80 64s20.1 4.1 27.3 11.3L241.4 209.4l72-72c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6V400c0 17.7-14.3 32-32 32z\"]\n};\nvar faScrollTorah = {\n prefix: 'fas',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M96 480V32C96 14.3 74.5 0 48 0S0 14.3 0 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32zM512 32H128V480H512V32zM592 0c-26.5 0-48 14.3-48 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32V32c0-17.7-21.5-32-48-32zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\"]\n};\nvar faTorah = faScrollTorah;\nvar faWebhook = {\n prefix: 'fas',\n iconName: 'webhook',\n icon: [576, 512, [], \"e5d5\", \"M306 50c-43.1-9.9-86 16.9-95.9 60c-7.9 34.1 7.4 68.2 35.5 85.9c5.4 3.4 9.2 8.8 10.7 15s.3 12.7-3 18.1L170.4 361.5c3.6 6.7 5.6 14.4 5.6 22.5c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c.6 0 1.1 0 1.7 0L201 221.9c-32.5-30.2-48.4-76.4-37.7-122.7C179.2 30.3 247.9-12.6 316.8 3.3c65.9 15.2 108 78.7 97.7 144.4c-2.1 13.1-14.3 22-27.4 20s-22-14.3-20-27.4C373.5 99.2 347.1 59.5 306 50zM289.7 176c-.6 0-1.1 0-1.7 0c-26.5 0-48-21.5-48-48s21.5-48 48-48s48 21.5 48 48c0 8.1-2 15.8-5.6 22.5l71.3 114.1c45.8-17.7 99.8-8.2 136.8 28.9c50 50 50 131 0 181c-43 43-109 49-158.4 18c-11.2-7-14.6-21.8-7.6-33.1s21.8-14.6 33.1-7.6c30.9 19.3 72.1 15.5 99-11.3c31.2-31.2 31.2-81.9 0-113.1c-26.8-26.8-68.1-30.6-99-11.3c-5.4 3.4-11.9 4.5-18.1 3s-11.6-5.3-15-10.7L289.7 176zM448 432c-17.8 0-33.3-9.7-41.6-24H253.8c-9.2 48.3-46 88.9-97 100.7c-68.9 15.9-137.6-27-153.5-95.9C-11 351 22.1 289.4 78.7 265.8c12.2-5.1 26.3 .7 31.4 12.9s-.7 26.3-12.9 31.4c-35.4 14.7-56 53.3-47.1 91.8c9.9 43.1 52.9 69.9 95.9 60c37-8.5 62.1-41.5 62-77.9c0-6.4 2.5-12.5 7-17s10.6-7 17-7H406.4c8.3-14.3 23.8-24 41.6-24c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faBlindsOpen = {\n prefix: 'fas',\n iconName: 'blinds-open',\n icon: [512, 512, [], \"f8fc\", \"M0 32C0 14.3 14.3 0 32 0H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64 64 66.7c13.6 4.8 24.4 15.6 29.3 29.3c.1 .3 .2 .7 .4 1c1.5 4.7 2.4 9.7 2.4 15c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16c4.8-13.6 15.6-24.4 29.3-29.3V192 128 64H32C14.3 64 0 49.7 0 32zm47.4 96H96v64H17.8C8 192 0 184 0 174.2c0-4 1.4-7.9 3.9-11.1L22.4 140c6.1-7.6 15.3-12 25-12zm0 160H65.6c-1 5.2-1.6 10.5-1.6 16c0 18 6 34.6 16 48H17.8C8 352 0 344 0 334.2c0-4 1.4-7.9 3.9-11.1L22.4 300c6.1-7.6 15.3-12 25-12zm446.9 64H208c10-13.4 16-30 16-48c0-5.5-.6-10.8-1.6-16H464.6c9.7 0 18.9 4.4 25 12l18.5 23.1c2.5 3.2 3.9 7.1 3.9 11.1c0 9.8-8 17.8-17.8 17.8zm0-160H192V128H464.6c9.7 0 18.9 4.4 25 12l18.5 23.1c2.5 3.2 3.9 7.1 3.9 11.1c0 9.8-8 17.8-17.8 17.8zM17.8 512C8 512 0 504 0 494.2c0-4 1.4-7.9 3.9-11.1L22.4 460c6.1-7.6 15.3-12 25-12H464.6c9.7 0 18.9 4.4 25 12l18.5 23.1c2.5 3.2 3.9 7.1 3.9 11.1c0 9.8-8 17.8-17.8 17.8H17.8z\"]\n};\nvar faFence = {\n prefix: 'fas',\n iconName: 'fence',\n icon: [512, 512, [], \"e303\", \"M76.8 38.4C73.8 34.4 69 32 64 32s-9.8 2.4-12.8 6.4L6.4 98.1C2.2 103.7 0 110.4 0 117.3V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V416h32V352H128V224h32V160H128V117.3c0-6.9-2.2-13.7-6.4-19.2L76.8 38.4zm192 0c-3-4-7.8-6.4-12.8-6.4s-9.8 2.4-12.8 6.4L198.4 98.1c-4.2 5.5-6.4 12.3-6.4 19.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V416h32V352H320V224h32V160H320V117.3c0-6.9-2.2-13.7-6.4-19.2L268.8 38.4zM448 32c-5 0-9.8 2.4-12.8 6.4L390.4 98.1c-4.2 5.5-6.4 12.3-6.4 19.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V117.3c0-6.9-2.2-13.7-6.4-19.2L460.8 38.4c-3-4-7.8-6.4-12.8-6.4z\"]\n};\nvar faUp = {\n prefix: 'fas',\n iconName: 'up',\n icon: [384, 512, [\"arrow-alt-up\"], \"f357\", \"M169.4 41.4c12.5-12.5 32.8-12.5 45.3 0l160 160c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H256V440c0 22.1-17.9 40-40 40H168c-22.1 0-40-17.9-40-40V256H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l160-160z\"]\n};\nvar faArrowAltUp = faUp;\nvar faBroomBall = {\n prefix: 'fas',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M566.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-192 192 34.7 34.7c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H364.3L256 211.7V182.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6l34.7 34.7 192-192c12.5-12.5 32.8-12.5 45.3 0zm-344 225.5L341.1 353.4c3.7 42.7-11.7 85.2-42.3 115.8C271.4 496.6 234.2 512 195.5 512L22.1 512C9.9 512 0 502.1 0 489.9c0-6.3 2.7-12.3 7.3-16.5L133.7 359.7c4.2-3.7-.4-10.4-5.4-7.9L77.2 377.4c-6.1 3-13.2-1.4-13.2-8.2c0-31.5 12.5-61.7 34.8-84l8-8c30.6-30.6 73.1-45.9 115.8-42.3zM464 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faDrumstick = {\n prefix: 'fas',\n iconName: 'drumstick',\n icon: [512, 512, [127831], \"f6d6\", \"M150.6 287.8c6-6 9.4-14.1 9.4-22.6V176C160 78.8 238.8 0 336 0s176 78.8 176 176s-78.8 176-176 176H246.8c-8.5 0-16.6 3.4-22.6 9.4l-26.8 26.8c-12.3 12.3-11.4 32.5-7.2 49.4c1.1 4.6 1.8 9.5 1.8 14.5c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c5 0 9.8 .6 14.5 1.8c16.9 4.2 37.1 5.2 49.4-7.2l26.8-26.8z\"]\n};\nvar faSquareV = {\n prefix: 'fas',\n iconName: 'square-v',\n icon: [448, 512, [], \"e284\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm77.5 125.3L224 322.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7z\"]\n};\nvar faFaceAwesome = {\n prefix: 'fas',\n iconName: 'face-awesome',\n icon: [512, 512, [\"gave-dandy\"], \"e409\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm203.5-95.6c-5.6 9.4-15.8 15.6-27.5 15.6c-17.7 0-32-14.3-32-32c0-9.1 3.8-17.4 10-23.2c-3.3-.5-6.6-.8-10-.8c-35.3 0-64 28.7-64 64v10.3c0 16.4 13.3 29.7 29.7 29.7h68.6c16.4 0 29.7-13.3 29.7-29.7V184c0-8.3-1.6-16.3-4.5-23.6zM384 176c-17.7 0-32-14.3-32-32c0-8.5 3.3-16.3 8.8-22c-5.4-1.3-11-2-16.8-2c-39.8 0-72 32.2-72 72v7.5c0 13.5 11 24.5 24.5 24.5h95.1c13.5 0 24.5-11 24.5-24.5V192c0-10.4-2.2-20.2-6.1-29.1c-5.8 8-15.2 13.1-25.9 13.1zM245.5 447.8c2.7 .1 5.4 .2 8.1 .2h4.9c55.1 0 105.1-26.1 137-67.5c0 0 0 0 0 0c15.7-20.5 27-44.6 32.4-71.3c2.2-11-6.2-21.2-17.4-21.2h0H101.6h0c-11.2 0-19.6 10.2-17.4 21.2c15.6 78.1 82.4 135 161.2 138.6zm-5.4-32.5c1.5-44.1 37.8-79.4 82.2-79.4c19.9 0 38.1 7 52.3 18.7C349 392.1 306.1 416 258.4 416h-4.9c-4.6 0-9.1-.2-13.5-.6z\"]\n};\nvar faGaveDandy = faFaceAwesome;\nvar faDialOff = {\n prefix: 'fas',\n iconName: 'dial-off',\n icon: [576, 512, [], \"e162\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 288c0 80.2-59 146.6-136 158.2V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V446.2c-77-11.6-136-78-136-158.2c0-88.4 71.6-160 160-160s160 71.6 160 160zm64 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 128c70.7 0 128 57.3 128 128s-57.3 128-128 128H192c-70.7 0-128-57.3-128-128s57.3-128 128-128H384zM576 256c0-106-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192zM192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faFaceSmileHorns = {\n prefix: 'fas',\n iconName: 'face-smile-horns',\n icon: [640, 512, [], \"e391\", \"M320 512c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zM228.1 349.5C246 370.2 276.6 392 320 392s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C413.8 396.1 375.1 424 320 424s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM272.4 272c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-8.8 3.6-16.8 9.3-22.6l-30.7-10.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l96 32c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-10.9-3.6c.2 1.5 .3 2.9 .3 4.4zm128 32c-17.7 0-32-14.3-32-32c0-1.6 .1-3.2 .3-4.7l-11.7 3.9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l96-32c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2l-30.2 10.1c5.9 5.8 9.5 13.9 9.5 22.8c0 17.7-14.3 32-32 32z\"]\n};\nvar faBoxArchive = {\n prefix: 'fas',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64C0 46.3 14.3 32 32 32zm0 128H480V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArchive = faBoxArchive;\nvar faGrapes = {\n prefix: 'fas',\n iconName: 'grapes',\n icon: [512, 512, [], \"e306\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM304 152a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zM112 232a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm32 80A56 56 0 1 0 32 312a56 56 0 1 0 112 0zM112 456A56 56 0 1 0 0 456a56 56 0 1 0 112 0zm144-32a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm80 32a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM280 288a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm80 32a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faPersonDrowning = {\n prefix: 'fas',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M192 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V96.2c0 54.1 23.5 104 62.2 138.3l-21 146.7c7.8 2.1 15.5 3.3 22.8 3.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c12.4 8.5 26.1 14.8 39.7 18l17.7-97.6c10.7-1.2 21.3-3.1 31.9-5.5l105-23.9c17.2-3.9 28-21.1 24.1-38.3s-21.1-28-38.3-24.1L400 216.6c-41 9.3-83.7 7.5-123.7-5.2c-50.2-16-84.3-62.6-84.3-115.3V64zM320 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM306.5 389.9c-11.1-7.9-25.9-7.9-37 0C247 405.4 219.5 416 192 416c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 469.7 159 480 192 480c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 405.2 410.9 416 384 416c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faDialMax = {\n prefix: 'fas',\n iconName: 'dial-max',\n icon: [576, 512, [], \"e15e\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM401.4 174.7c56.7 56.7 61.9 145.4 15.7 208L305.2 270.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L383.2 416.7c-62.6 46.2-151.3 41-208-15.7c-62.5-62.5-62.5-163.8 0-226.3s163.8-62.5 226.3 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleM = {\n prefix: 'fas',\n iconName: 'circle-m',\n icon: [512, 512, [], \"e115\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM171.5 137.9L256 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L176 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8s20.7 .3 26.8 8.8z\"]\n};\nvar faCalendarImage = {\n prefix: 'fas',\n iconName: 'calendar-image',\n icon: [448, 512, [], \"e0d4\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM147.2 360.7c6.5-8.4 19.1-8.3 25.5 .2L184 376l58.3-84.2c6.5-9.4 20.5-9.1 26.7 .5l83.4 131.1c6.8 10.6-.9 24.6-13.5 24.6H112.5c-13.3 0-20.8-15.2-12.7-25.8l47.3-61.5zM128 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleCaretDown = {\n prefix: 'fas',\n iconName: 'circle-caret-down',\n icon: [512, 512, [\"caret-circle-down\"], \"f32d\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm0 368c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretCircleDown = faCircleCaretDown;\nvar faArrowDown91 = {\n prefix: 'fas',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM450.7 294c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V416H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V320c0-10.3-4.9-19.9-13.3-26zM418.3 91a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 91zM405.1 203.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faShishKebab = {\n prefix: 'fas',\n iconName: 'shish-kebab',\n icon: [512, 512, [], \"f821\", \"M438.6 73.4c-12.5-12.5-32.8-12.5-45.3 0c-8.5 8.5-11.3 20.7-8.1 31.7c3.2 10.9 5.6 24.2 4.5 38c-1.1 14-5.9 30.3-19.1 43.4L346.2 211 301 165.8l24.4-24.4c.2-.3 .5-1.3 .6-3.2c.3-3.8-.3-9.1-2.1-15.2c-9.5-32.5-1.5-69.2 24.3-94.9c37.5-37.5 98.3-37.5 135.8 0c31.4 31.4 36.5 79.2 15.3 115.9c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c7.1-12.2 5.3-28.2-5.1-38.6zM61.8 405L107 450.2 54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L61.8 405zM325.3 141.5a.1 .1 0 1 0 -.1-.2 .1 .1 0 1 0 .1 .2zM233 143L369 279c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0L151 225c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0zM87 255c9.4-9.4 24.6-9.4 33.9 0L257 391c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0L39 337c-9.4-9.4-9.4-24.6 0-33.9l48-48z\"]\n};\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256zm240 80A80 80 0 1 0 80 336a80 80 0 1 0 160 0zM256 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faAlarmSnooze = {\n prefix: 'fas',\n iconName: 'alarm-snooze',\n icon: [512, 512, [], \"f845\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 512c50.3 0 96.8-16.6 134.2-44.6l35.2 35.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-35.2-35.2c28-37.4 44.6-83.8 44.6-134.2C480 164.3 379.7 64 256 64S32 164.3 32 288c0 50.3 16.6 96.8 44.6 134.2L41.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l35.2-35.2c37.4 28 83.8 44.6 134.1 44.6zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM200 192H312c9.2 0 17.5 5.2 21.6 13.5s3 18-2.6 25.3L249.1 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-9.2 0-17.5-5.2-21.6-13.5s-3-18 2.6-25.3L262.9 240H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faScarecrow = {\n prefix: 'fas',\n iconName: 'scarecrow',\n icon: [448, 512, [], \"f70d\", \"M320 96c0 11.2-1.9 22-5.5 32H416c5.9 0 11.3 3.2 14.1 8.5s2.5 11.5-.8 16.4l-7.6 11.4 19.9 14.9c4 3 6.4 7.8 6.4 12.8s-2.4 9.8-6.4 12.8l-19.9 14.9 7.6 11.4c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H343c-10.1 0-17.7 9.2-15.7 19.1l24.3 121.7c1.2 6.2-1.2 12.5-6.3 16.1s-11.8 4-17.3 .9L287.9 391c-4.9-2.8-11-2.8-15.9 0l-40.1 22.9c-4.9 2.8-11 2.8-15.9 0L175.9 391c-4.9-2.8-11-2.8-15.9 0l-40.1 22.9c-5.4 3.1-12.2 2.8-17.3-.9s-7.6-10-6.3-16.1l24.3-121.7c2-9.9-5.6-19.1-15.7-19.1H32c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l7.6-11.4L6.4 204.8C2.4 201.8 0 197 0 192s2.4-9.8 6.4-12.8l19.9-14.9-7.6-11.4c-3.3-4.9-3.6-11.2-.8-16.4s8.2-8.5 14.1-8.5H133.5c-3.5-10-5.5-20.8-5.5-32c0-53 43-96 96-96s96 43 96 96zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM192 480V427.8l12.2 6.9c12.3 7 27.4 7 39.7 0l12.2-6.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M288 64v64H416L368 64H288zM419.2 25.6L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64H288c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H224V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6zM152 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C190.1 503.1 180.1 512 168 512H152c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L63.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9c1.7-11.6 11.7-20.6 23.8-20.6zm8 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM448.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C510.1 503.1 500.1 512 488 512H472c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C360.9 414.1 352 404.1 352 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faGiftCard = {\n prefix: 'fas',\n iconName: 'gift-card',\n icon: [576, 512, [], \"f663\", \"M353.5 68.8C361.1 55.9 374.9 48 389.8 48H392c22.1 0 40 17.9 40 40s-17.9 40-40 40H320h-1.3l34.8-59.2zm-131 0L257.3 128H256 184c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zm89.6-24.3L288 85.5l-24.1-41C247.7 16.9 218.1 0 186.2 0H184C135.4 0 96 39.4 96 88c0 14.4 3.5 28 9.6 40H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H470.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4zM512 384v64H64V384H512zm0-64H64V192H230.1l-40.5 48.6c-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.1 33.8-3.1L288 197.5l61.6 73.9c8.5 10.2 23.6 11.6 33.8 3.1s11.6-23.6 3.1-33.8L345.9 192H512V320z\"]\n};\nvar faW = {\n prefix: 'fas',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M20.8 34c16.5-6.2 35 2.2 41.2 18.7l110.2 294L257.3 55c4-13.7 16.5-23 30.7-23s26.7 9.4 30.7 23l85.1 291.7L514 52.8c6.2-16.5 24.6-24.9 41.2-18.7s24.9 24.7 18.7 41.2l-144 384c-4.8 12.9-17.4 21.3-31.2 20.7s-25.7-9.8-29.5-23L288 178.3 206.7 457c-3.9 13.2-15.8 22.5-29.5 23s-26.3-7.8-31.2-20.7L2 75.2C-4.2 58.7 4.2 40.2 20.8 34z\"]\n};\nvar faCodePullRequestDraft = {\n prefix: 'fas',\n iconName: 'code-pull-request-draft',\n icon: [448, 512, [], \"e3fa\", \"M56 80a24 24 0 1 1 48 0A24 24 0 1 1 56 80zm56 73.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3V358.7C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V153.3zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm312-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM416 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM368 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSquareB = {\n prefix: 'fas',\n iconName: 'square-b',\n icon: [448, 512, [], \"e264\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 120c0-13.3 10.7-24 24-24h92c42 0 76 34 76 76c0 16.2-5.1 31.3-13.8 43.7C324.3 261.6 336 283.4 336 308c0 42-34 76-76 76H152c-13.3 0-24-10.7-24-24V256 152zm144 52c0-15.5-12.5-28-28-28H176v56h68c15.5 0 28-12.5 28-28zM176 336h84c15.5 0 28-12.5 28-28s-12.5-28-28-28H244 176v56z\"]\n};\nvar faElephant = {\n prefix: 'fas',\n iconName: 'elephant',\n icon: [640, 512, [128024], \"f6da\", \"M304 0C242.1 0 192 50.1 192 112s50.1 112 112 112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-79.5 0-144-64.5-144-144c0-25.3 6.5-49.1 18-69.8c-20.5 7-39.4 17.3-56.1 30.4C67.4 111.9 32 175.8 32 248v19c0 12.4-1.2 24.7-3.7 36.9c-1.9 9.3-5.8 18-11.4 25.6L4.8 345.6c-8 10.6-5.8 25.6 4.8 33.6s25.6 5.8 33.6-4.8l12.1-16.2c3.2-4.3 6.1-8.8 8.7-13.5V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V410c15.3 3.9 31.4 6 48 6s32.7-2.1 48-6v70c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V340.7c16.7 18.9 38.8 32.8 64 39.3v18.6c0 45 36.5 81.4 81.4 81.4c30.8 0 59-17.4 72.8-45l2.3-4.7c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3l-2.3 4.7c-3 5.9-9 9.6-15.6 9.6c-9.6 0-17.4-7.8-17.4-17.4V380c22.9-5.9 43.4-18 59.4-34.4c6.2-6.3 6.1-16.4-.2-22.6c-6.3-6.2-16.3-6.1-22.5 .1c-1.3 1.3-2.6 2.6-4 3.9c-1.5 1.4-3.1 2.7-4.6 4c-8.3 6.7-17.8 12-28 15.6v0c-10 3.5-20.8 5.5-32 5.5s-22-1.9-32-5.5v0c-7.5-2.6-14.6-6.2-21.1-10.5h0c-9.1-6.1-17.2-13.7-23.7-22.4c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2C472.5 310 491.1 320 512 320c11.7 0 22.6-3.1 32-8.6V192c0-88.4-71.6-160-160-160h-1.6C362.2 12.2 334.5 0 304 0zM464 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faEarthAfrica = {\n prefix: 'fas',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M177.8 63.2l10 17.4c2.8 4.8 4.2 10.3 4.2 15.9v41.4c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32v28c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16v48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4V318.6c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l14.1 4.7c12.3 4.1 25.7-1.5 31.5-13c3.5-7 11.2-10.8 18.9-9.2l27.4 5.5C432 112.4 351.5 48 256 48c-27.7 0-54 5.4-78.2 15.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 96C178.6 96 64 210.6 64 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C0 175.3 143.3 32 320 32s320 143.3 320 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352C576 210.6 461.4 96 320 96zm0 192c-35.3 0-64 28.7-64 64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-70.7 57.3-128 128-128s128 57.3 128 128v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-35.3-28.7-64-64-64zM160 352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-123.7 100.3-224 224-224s224 100.3 224 224v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z\"]\n};\nvar faTabletScreenButton = {\n prefix: 'fas',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM256 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 64H64V384H384V64z\"]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM100.4 198.6c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3v-1.6c0-10.4 1.6-20.8 5.2-30.5zM421.8 282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z\"]\n};\nvar faMessageQuestion = {\n prefix: 'fas',\n iconName: 'message-question',\n icon: [512, 512, [], \"e1e3\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm169.8 53.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V216c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z\"]\n};\nvar faTrowelBricks = {\n prefix: 'fas',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M240.8 4.8C250.3 10.6 256 20.9 256 32v72h89c3.6-13.8 16.1-24 31-24h88c26.5 0 48 21.5 48 48s-21.5 48-48 48H376c-14.9 0-27.4-10.2-31-24H256v72c0 11.1-5.7 21.4-15.2 27.2s-21.2 6.4-31.1 1.4l-192-96C6.8 151.2 0 140.1 0 128s6.8-23.2 17.7-28.6l192-96c9.9-5 21.7-4.4 31.1 1.4zM288 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256zM32 384h96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm192 0H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"]\n};\nvar faSquare3 = {\n prefix: 'fas',\n iconName: 'square-3',\n icon: [448, 512, [], \"e258\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H280c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H208c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L218.3 176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceFlushed = {\n prefix: 'fas',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm-16-88a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm264-72a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-288 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm192 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M48 0C21.5 0 0 21.5 0 48V256H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v80c0 26.5 21.5 48 48 48H265.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM152 64h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184v24c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V152H112c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16h24V80c0-8.8 7.2-16 16-16zM512 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM288 477.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faMicrowave = {\n prefix: 'fas',\n iconName: 'microwave',\n icon: [576, 512, [], \"e01b\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64c0 17.7-14.3 32-32 32s-32-14.3-32-32H128c0 17.7-14.3 32-32 32s-32-14.3-32-32c-35.3 0-64-28.7-64-64V96zm96 56V328c0 13.3 10.7 24 24 24H392c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm400-40c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16z\"]\n};\nvar faChfSign = {\n prefix: 'fas',\n iconName: 'chf-sign',\n icon: [640, 512, [], \"e602\", \"M0 113.4C0 68.5 36.5 32 81.4 32c30.8 0 59 17.4 72.8 45l2.3 4.7c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L97 105.6c-3-5.9-9-9.6-15.6-9.6C71.8 96 64 103.8 64 113.4V398.6c0 9.6 7.8 17.4 17.4 17.4c6.6 0 12.6-3.7 15.6-9.6l2.3-4.7c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.3 4.7c-13.8 27.6-42 45-72.8 45C36.5 480 0 443.5 0 398.6V113.4zM224 32c17.7 0 32 14.3 32 32V224h96V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H256V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM448 64c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V224h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64z\"]\n};\nvar faTentArrowLeftRight = {\n prefix: 'fas',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M488.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L489.5 72 86.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faCartCircleArrowUp = {\n prefix: 'fas',\n iconName: 'cart-circle-arrow-up',\n icon: [640, 512, [], \"e3f0\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c29.1-57 88.4-96 156.8-96c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM496 224a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM428.7 371.3c-6.2-6.2-6.2-16.4 0-22.6l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faTrashClock = {\n prefix: 'fas',\n iconName: 'trash-clock',\n icon: [576, 512, [], \"e2b0\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H330.8C285.6 480.1 256 427.5 256 368c0-90.4 68.2-164.9 155.9-174.9L416 128zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4L325.4 293.4l-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4L272 285.3 226.7 240 168 298.7l-1.4-1.4z\"]\n};\nvar faLegal = faGavel;\nvar faSprinklerCeiling = {\n prefix: 'fas',\n iconName: 'sprinkler-ceiling',\n icon: [384, 512, [], \"e44c\", \"M0 0V96c0 15.3 10.8 28.4 25.7 31.4L128 147.8V82.6L64 69.8V0H0zM256 82.6v65.3l102.3-20.5c15-3 25.7-16.1 25.7-31.4V0H320V69.8L256 82.6zM160 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-48 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM24 496a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM272 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V64z\"]\n};\nvar faBrowsers = {\n prefix: 'fas',\n iconName: 'browsers',\n icon: [576, 512, [], \"e0cb\", \"M160 0C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H160zM280 72H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24zM224 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faTrillium = {\n prefix: 'fas',\n iconName: 'trillium',\n icon: [448, 512, [], \"e588\", \"M128 160c0-64.1 61.6-128.2 86.1-151.1c5.6-5.3 14.1-5.3 19.8 0c24.5 23 86.1 87 86.1 151.1c0 15.7-3.7 30.4-10.4 43.5c16.2 0 32.6 4.2 47.7 12.9c55.5 32 80.2 117.4 87.8 150.2c1.8 7.5-2.5 14.9-9.9 17.1c-32.1 9.7-118.4 31.1-173.9-1c-16.6-9.6-29.2-23.3-37.4-39.2c-8.1 15.9-20.8 29.6-37.4 39.2c-55.5 32-141.8 10.7-173.9 1c-7.4-2.2-11.6-9.6-9.9-17.1c7.6-32.7 32.3-118.1 87.8-150.2c15.1-8.7 31.6-12.9 47.8-12.9C131.7 190.4 128 175.7 128 160zm136 80a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm88-80v0c0-12.5-1.8-24.8-4.8-36.6c38.6-12.8 68.2-11.9 83-10c14.9 1.9 23.7 17.1 17.9 31c-5.6 13.3-19 38.4-47.7 64.6c-8.1-7.7-17.1-14.6-27-20.3l0 0c-7.3-4.2-14.9-7.6-22.6-10.3c.9-6 1.3-12.1 1.3-18.4zM100.8 123.4c-3 11.8-4.8 24.1-4.8 36.6c0 6.2 .4 12.3 1.3 18.3c-7.8 2.7-15.4 6.1-22.7 10.3l0 0c-9.9 5.7-18.8 12.6-26.9 20.2C19 182.7 5.6 157.6 0 144.3c-5.8-13.8 3-29.1 17.9-31c14.7-1.9 44.4-2.8 83 10zm73.3 299.4c9.8-3.1 19.4-7.2 28.5-12.5c7.8-4.5 14.9-9.7 21.4-15.4c6.5 5.8 13.6 11 21.4 15.4c9.2 5.3 18.8 9.4 28.6 12.5c-8.2 36.1-22.6 61.6-31 74.2c-9.1 13.7-28.8 13.7-37.9 0c-8.3-12.6-22.8-38.2-31-74.3z\"]\n};\nvar faMusicSlash = {\n prefix: 'fas',\n iconName: 'music-slash',\n icon: [640, 512, [], \"f8d1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-71.5-56C569.8 400.2 576 384.7 576 368V104 32c0-10.1-4.8-19.6-12.9-25.7s-18.6-7.9-28.3-5l-320 96c-12.7 3.8-21.6 14.9-22.7 27.9L38.8 5.1zM300.7 210.4L512 147V292.6c-10-2.9-20.8-4.6-32-4.6c-22.2 0-42.6 6.3-58.8 16.8L300.7 210.4zM192 247.3V356.6c-10-3-20.8-4.6-32-4.6c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V297.7l-64-50.4z\"]\n};\nvar faTruckRamp = {\n prefix: 'fas',\n iconName: 'truck-ramp',\n icon: [640, 512, [], \"f4e0\", \"M640 400V0H416c-35.3 0-64 28.7-64 64V353.8L31.6 441.1c-17.1 4.6-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5L416 402.7C417.5 463.3 467 512 528 512c61.9 0 112-50.1 112-112zM528 352a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M128 32h32c17.7 0 32 14.3 32 32V96H96V64c0-17.7 14.3-32 32-32zm64 96V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V388.9c0-34.6 9.4-68.6 27.2-98.3C40.9 267.8 49.7 242.4 53 216L60.5 156c2-16 15.6-28 31.8-28H192zm227.8 0c16.1 0 29.8 12 31.8 28L459 216c3.3 26.4 12.1 51.8 25.8 74.6c17.8 29.7 27.2 63.7 27.2 98.3V448c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V128h99.8zM320 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V96H320V64zm-32 64V288H224V128h64z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L416 300.8V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM344 430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M92.5 0H208c40 0 52 24 64 48s24 48 64 48h85.2C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L409.6 224 384 288H128l-16-64L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0zM79 224l16 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H418.5l25.6-64H464c26.5 0 48 21.5 48 48V384H0V272c0-26.5 21.5-48 48-48H79zM0 416H512v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V416z\"]\n};\nvar faCircleC = {\n prefix: 'fas',\n iconName: 'circle-c',\n icon: [512, 512, [], \"e101\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\"]\n};\nvar faStarChristmas = {\n prefix: 'fas',\n iconName: 'star-christmas',\n icon: [512, 512, [], \"f7d4\", \"M15.5 275.9L192 320l44.1 176.5c2.3 9.1 10.5 15.5 19.9 15.5s17.6-6.4 19.9-15.5L320 320l176.5-44.1c9.1-2.3 15.5-10.5 15.5-19.9s-6.4-17.6-15.5-19.9L320 192 275.9 15.5C273.6 6.4 265.4 0 256 0s-17.6 6.4-19.9 15.5L192 192 15.5 236.1C6.4 238.4 0 246.6 0 256s6.4 17.6 15.5 19.9zM71 71c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L105 71c-9.4-9.4-24.6-9.4-33.9 0zM441 71c-9.4-9.4-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9zm0 336l-48-48c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM71 441c9.4 9.4 24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 407c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faChartBullet = {\n prefix: 'fas',\n iconName: 'chart-bullet',\n icon: [512, 512, [], \"e0e1\", \"M264 32c13.3 0 24 10.7 24 24v8H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H288v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48c-26.5 0-48-21.5-48-48V112C0 85.5 21.5 64 48 64H240V56c0-13.3 10.7-24 24-24zM160 128v32h80V128H160zm128 0v32H448V128H288zm48 256V352H256v32h80zm0 64H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H336v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8h80c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H384v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8zm48-96v32h64V352H384z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160c0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32c0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L418.2 128H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H459.6c-7.5 0-14.7 2.6-20.5 7.4L391.7 78.9l-14-26c-7-12.9-20.5-21-35.2-21H280zM462.7 311.2l28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40h66.4C242.5 268.8 190.5 224 128 224C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104H187.3zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTreeChristmas = {\n prefix: 'fas',\n iconName: 'tree-christmas',\n icon: [448, 512, [127876], \"f7db\", \"M150.2 71l47.1-17.7L215 6.2c1.4-3.8 5-6.2 9-6.2s7.6 2.5 9 6.2l17.7 47.1L297.8 71c3.8 1.4 6.2 5 6.2 9s-2.5 7.6-6.2 9l-47.1 17.7L233 153.8c-1.4 3.8-5 6.2-9 6.2s-7.6-2.5-9-6.2l-17.7-47.1L150.2 89c-3.8-1.4-6.2-5-6.2-9s2.5-7.6 6.2-9zM263 165l11.8-31.5 144 180c3.4 4.2 5.2 9.4 5.2 14.8c0 13.1-10.6 23.7-23.7 23.7H368l76.2 122c2.5 4 3.8 8.5 3.8 13.2c0 13.7-11.1 24.9-24.9 24.9H24.9C11.1 512 0 500.9 0 487.1c0-4.7 1.3-9.2 3.8-13.2L80 352H47.7C34.6 352 24 341.4 24 328.3c0-5.4 1.8-10.6 5.2-14.8l144-180L185 165c6.1 16.2 21.6 27 39 27s32.9-10.8 39-27zM184 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM288 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTireFlat = {\n prefix: 'fas',\n iconName: 'tire-flat',\n icon: [512, 512, [], \"f632\", \"M256 32C114.6 32 0 146.6 0 288c0 47.3 12.8 91.7 35.2 129.7C14.9 423.3 0 441.9 0 464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48c0-22.1-14.9-40.7-35.2-46.3c22.4-38 35.2-82.4 35.2-129.7C512 146.6 397.4 32 256 32zm96 384c-2.1 1.6-4.3 3.2-6.6 4.7C319.9 437.9 289.1 448 256 448c-36 0-69.3-11.9-96-32c-38.9-29.2-64-75.7-64-128c0-88.4 71.6-160 160-160s160 71.6 160 160c0 52.3-25.1 98.8-64 128zm-96-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm16 95c44.3-5.5 81.5-33.6 99.8-72.4l-61.9-20.1c-8.6 13.5-22.1 23.5-38 27.6l0 65zM381.7 312.2c1.5-7.8 2.3-15.9 2.3-24.2c0-36.8-15.5-69.9-40.3-93.3l-38.2 52.6c9.1 11 14.5 25.2 14.5 40.6c0 1.4 0 2.7-.1 4l61.8 20.1zM256 224c8.3 0 16.3 1.6 23.6 4.5l38.2-52.6C299.5 165.8 278.4 160 256 160s-43.5 5.8-61.8 15.9l28.1 38.8 10 13.8c7.3-2.9 15.3-4.5 23.6-4.5zM128 288c0 8.3 .8 16.3 2.3 24.2L192.1 292c-.1-1.3-.1-2.7-.1-4c0-15.4 5.5-29.6 14.5-40.6l-10.1-13.9-28.1-38.7C143.5 218.1 128 251.2 128 288zm12.2 54.6c18.3 38.8 55.5 66.9 99.8 72.4l0-65c-15.8-4.1-29.3-14.1-37.9-27.5l-61.9 20.1z\"]\n};\nvar faSunglasses = {\n prefix: 'fas',\n iconName: 'sunglasses',\n icon: [576, 512, [128374], \"f892\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57 260.3c20.5-6.2 48.3-12.3 78.7-12.3c32.3 0 61.8 6.9 82.8 13.5c10.6 3.3 19.3 6.7 25.4 9.2c3.1 1.3 5.5 2.4 7.3 3.2c.9 .4 1.6 .7 2.1 1l.6 .3 .2 .1 .1 0 0 0 0 0s0 0-6.3 12.7h0l6.3-12.7c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.3 7.7-9.8 13.5-12.7l6.3 12.7h0c-6.3-12.7-6.3-12.7-6.3-12.7l0 0 0 0 .1 0 .2-.1 .6-.3c.5-.2 1.2-.6 2.1-1c1.8-.8 4.2-1.9 7.3-3.2c6.1-2.6 14.8-5.9 25.4-9.2c21-6.6 50.4-13.5 82.8-13.5c30.4 0 58.2 6.1 78.7 12.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.1c.3 1.9 .5 3.8 .5 5.7v6.7V352v16c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM64 325.4V368l105.6-52.8c-10.7-1.9-22.2-3.2-33.9-3.2c-23.7 0-46.2 5.1-63.2 10.5c-3.1 1-5.9 1.9-8.5 2.9zm409.8-10.3c-10.5-1.9-21.9-3.1-33.4-3.1c-23.7 0-46.4 5.1-63.6 10.5c-2.7 .8-5.2 1.7-7.5 2.5l2.3 41.2 102.3-51.1z\"]\n};\nvar faBadge = {\n prefix: 'fas',\n iconName: 'badge',\n icon: [512, 512, [], \"f335\", \"M340.9 51.1C324.8 20.7 292.8 0 256 0s-68.8 20.7-84.9 51.1C138.2 41 101 49 75 75s-34 63.3-23.9 96.1C20.7 187.2 0 219.2 0 256s20.7 68.8 51.1 84.9C41 373.8 49 411 75 437s63.3 34 96.1 23.9C187.2 491.3 219.2 512 256 512s68.8-20.7 84.9-51.1C373.8 471 411 463 437 437s34-63.3 23.9-96.1C491.3 324.8 512 292.8 512 256s-20.7-68.8-51.1-84.9C471 138.2 463 101 437 75s-63.3-34-96.1-23.9z\"]\n};\nvar faMessagePen = {\n prefix: 'fas',\n iconName: 'message-pen',\n icon: [512, 512, [\"comment-alt-edit\", \"message-edit\"], \"f4a4\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm340.8 59c-14.7-14.7-38.6-14.7-53.3 0L272.6 138l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 232.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 284c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 160.6l-71.9 71.9z\"]\n};\nvar faCommentAltEdit = faMessagePen;\nvar faMessageEdit = faMessagePen;\nvar faBellConcierge = {\n prefix: 'fas',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368H480c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'fas',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z\"]\n};\nvar faPencilRuler = faPenRuler;\nvar faArrowProgress = {\n prefix: 'fas',\n iconName: 'arrow-progress',\n icon: [512, 512, [], \"e5df\", \"M448 128A64 64 0 1 0 448 0a64 64 0 1 0 0 128zM128 32C57.3 32 0 89.3 0 160s57.3 128 128 128H384c35.3 0 64 28.7 64 64c0 27.9-17.9 51.7-42.8 60.4c-11.5-17.1-31-28.4-53.2-28.4c-35.3 0-64 28.7-64 64s28.7 64 64 64c24.7 0 46.1-14 56.8-34.4C467.6 466.1 512 414.2 512 352c0-70.7-57.3-128-128-128H128c-35.3 0-64-28.7-64-64s28.7-64 64-64H256v14.1c0 9.9 8 17.9 17.9 17.9c4 0 7.8-1.3 11-3.8l60.8-47.3c4-3.1 6.3-7.9 6.3-12.9s-2.3-9.8-6.3-12.9L284.8 3.8c-3.1-2.4-7-3.8-11-3.8C264 0 256 8 256 17.9V32H128zm-8.6 384c-11.1-19.1-31.7-32-55.4-32c-35.3 0-64 28.7-64 64s28.7 64 64 64c23.7 0 44.4-12.9 55.4-32H160v14.1c0 9.9 8 17.9 17.9 17.9c4 0 7.8-1.3 11-3.8l60.8-47.3c4-3.1 6.3-7.9 6.3-12.9s-2.3-9.8-6.3-12.9l-60.8-47.3c-3.1-2.4-7-3.8-11-3.8c-9.9 0-17.9 8-17.9 17.9V416H119.4z\"]\n};\nvar faChessRookPiece = {\n prefix: 'fas',\n iconName: 'chess-rook-piece',\n icon: [320, 512, [\"chess-rook-alt\"], \"f448\", \"M67.4 384L80 264 49.4 233.4c-6-6-9.4-14.1-9.4-22.6V112c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v24c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v24c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V112c0-8.8 7.2-16 16-16h24c8.8 0 16 7.2 16 16v98.7c0 8.5-3.4 16.6-9.4 22.6L240 264l12.6 120H67.4zM136 280.9c0 3.9 3.2 7.1 7.1 7.1h33.8c3.9 0 7.1-3.2 7.1-7.1V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v32.9zM20.8 473.6L64 416H256l43.2 57.6c3.1 4.2 4.8 9.2 4.8 14.4c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24c0-5.2 1.7-10.2 4.8-14.4z\"]\n};\nvar faChessRookAlt = faChessRookPiece;\nvar faSquareRoot = {\n prefix: 'fas',\n iconName: 'square-root',\n icon: [576, 512, [8730], \"f697\", \"M282.6 78.1c8-27.3 33-46.1 61.4-46.1H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H344L238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H77.6c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1z\"]\n};\nvar faAlbumCollectionCirclePlus = {\n prefix: 'fas',\n iconName: 'album-collection-circle-plus',\n icon: [640, 512, [], \"e48e\", \"M32 24c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM48 160c-13.8 0-26.9 5.9-36 16.2S-1.3 200.3 .4 214l32 256c3 24 23.4 42 47.6 42H394.8c-18.9-13.3-35.1-30.3-47.5-49.9c-26.9 11.4-58 17.9-91.3 17.9C154.4 480 72 419.1 72 344s82.4-136 184-136c45.4 0 86.9 12.1 119 32.2c31.5-29.9 74.2-48.2 121-48.2c4.5 0 9 .2 13.4 .5c-2-5.9-5.2-11.5-9.4-16.3c-9.1-10.3-22.2-16.2-36-16.2H48zM256 376c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zM40 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H472c13.3 0 24-10.7 24-24s-10.7-24-24-24H40zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c27 0 51 13.4 65.5 34.1c-2.7 1.9-5.2 4-7.5 6.3l-64 64c-21.9 21.9-21.9 57.3 0 79.2L192 391.2V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zM448 64a64 64 0 1 1 128 0A64 64 0 1 1 448 64zM431.6 200.4c-2.3-2.3-4.9-4.4-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V391.2l47.6-47.6c21.9-21.9 21.9-57.3 0-79.2l-64-64zM272 240v32h96V240c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V336H272v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2z\"]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faFaceAngryHorns = {\n prefix: 'fas',\n iconName: 'face-angry-horns',\n icon: [640, 512, [], \"e368\", \"M576 256c0 141.4-114.6 256-256 256S64 397.4 64 256c0-24.6 3.5-48.4 9.9-70.9C29.6 125.8 6.5 50.1 .3 19.1C-1 12.8 1.7 6.3 7.1 2.7s12.4-3.6 17.8 0c19.3 12.9 48.5 24.2 78.4 33.1c23.3 7 46 12.2 63 15.5C209.1 19.1 262.3 0 320 0s110.9 19.1 153.8 51.3c17-3.3 39.7-8.6 63-15.5c29.8-8.9 59.1-20.2 78.4-33.1c5.4-3.6 12.4-3.6 17.8 0s8.1 10.1 6.8 16.4c-6.2 31-29.3 106.6-73.6 166c6.5 22.5 9.9 46.3 9.9 70.9zM402.7 411.9c6.6-5.9 7.1-16 1.2-22.6C387.8 371.4 359.7 352 320 352s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM240.4 296c13.3 0 24-10.7 24-24c0-2.6-.4-5.1-1.2-7.4l19.7 6.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l39.6 13.2c-6.2 4.3-10.2 11.5-10.2 19.6c0 13.3 10.7 24 24 24zm184-24c0-8.2-4.1-15.5-10.4-19.8l39.1-13c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l20.6-6.9c-.8 2.4-1.3 5-1.3 7.7c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMarsAndVenusBurst = {\n prefix: 'fas',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M504 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39-22.2 22.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59.1 146.7 136.1 158.2c0 .6-.1 1.2-.1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3H352c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l24 0H376c0 13.3 10.7 24 24 24s24-10.7 24-24H400l24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H424v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2-.1-1.8c77-11.6 136.1-78 136.1-158.2c0-31.4-9-60.7-24.7-85.4L560 113.9l39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H504zM400 128a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.1 3.8 9.9 5.1 15.2 3.6C223.6 310.8 208 269.2 208 224c0-60.8 28.3-115 72.4-150.2L220.3 92.1l-29.4-74z\"]\n};\nvar faTombstone = {\n prefix: 'fas',\n iconName: 'tombstone',\n icon: [448, 512, [], \"f720\", \"M32 192C32 86 118 0 224 0S416 86 416 192V416H32V192zM0 480c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM248 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V328c0 13.3 10.7 24 24 24s24-10.7 24-24V208h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V120z\"]\n};\nvar faSquareCaretRight = {\n prefix: 'fas',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'fas',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCut = faScissors;\nvar faListMusic = {\n prefix: 'fas',\n iconName: 'list-music',\n icon: [512, 512, [], \"f8c9\", \"M498.7 6c8.3 6 13.3 15.7 13.3 26V96c0 13.8-8.8 26-21.9 30.4L416 151.1V432c0 44.2-50.1 80-112 80s-112-35.8-112-80s50.1-80 112-80c17.2 0 33.5 2.8 48 7.7V128 64c0-13.8 8.8-26 21.9-30.4l96-32C479.6-1.6 490.4 0 498.7 6zM32 64H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96S14.3 64 32 64zm0 128H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSunPlantWilt = {\n prefix: 'fas',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160 0c-6.3 0-12 3.7-14.6 9.5L120.6 64.9 63.9 43.2c-5.9-2.3-12.6-.8-17 3.6s-5.9 11.1-3.6 17l21.7 56.7L9.5 145.4C3.7 148 0 153.7 0 160s3.7 12 9.5 14.6l55.4 24.8L43.2 256.1c-2.3 5.9-.8 12.6 3.6 17s11.1 5.9 17 3.6l56.7-21.7 24.8 55.4c2.6 5.8 8.3 9.5 14.6 9.5s12-3.7 14.6-9.5l24.8-55.4 56.7 21.7c5.9 2.3 12.6 .8 17-3.6s5.9-11.1 3.6-17l-21.7-56.7 55.4-24.8c5.8-2.6 9.5-8.3 9.5-14.6s-3.7-12-9.5-14.6l-55.4-24.8 21.7-56.7c2.3-5.9 .8-12.6-3.6-17s-11.1-5.9-17-3.6L199.4 64.9 174.6 9.5C172 3.7 166.3 0 160 0zm0 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274c0-21.5-9.2-37-24-44.6V176c0-44.2-35.8-80-80-80s-80 35.8-80 80v22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80v21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338c0-21.5-9.2-37-24-44.6V272c0-17.7 14.3-32 32-32s32 14.3 32 32v8V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H504V280v-8V176z\"]\n};\nvar faToiletsPortable = {\n prefix: 'fas',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M32 0H224c17.7 0 32 14.3 32 32V64H0V32C0 14.3 14.3 0 32 0zM0 96H24 232h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM192 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM352 0H544c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32zM320 96h24H552h24v24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H368v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V120 96zM512 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M256 256C114.6 256 0 213 0 160s114.6-96 256-96s256 43 256 96s-114.6 96-256 96zm192.3 1.8c24.7-9.3 46.9-21 63.7-35.6V352c0 53-114.6 96-256 96S0 405 0 352V222.3c16.8 14.6 39 26.3 63.7 35.6C114.5 276.9 182.5 288 256 288s141.5-11.1 192.3-30.2z\"]\n};\nvar faMustache = {\n prefix: 'fas',\n iconName: 'mustache',\n icon: [640, 512, [], \"e5bc\", \"M147.9 148.4C169.3 125.2 199.4 112 231 112c33 0 64.4 14.4 85.9 39.5l3.1 3.6 3.1-3.6C344.6 126.4 376 112 409 112c31.6 0 61.7 13.2 83.1 36.4l2 2.1c27.6 29.9 74.6 30.9 103.4 2.1L599 151c2.5-2.5 5.5-4.4 8.6-5.5c2.6-1 5.4-1.5 8.4-1.5c5.7 0 10.9 2 15 5.2c1.3 1.1 2.6 2.3 3.6 3.6c.4 .5 .7 1 1.1 1.4c.3 .4 .5 .8 .7 1.1c.3 .5 .6 .9 .8 1.4c1.8 3.3 2.7 7.1 2.7 11.2v39.4C640 313.8 553.8 400 447.4 400c-46.7 0-91.7-16.9-126.9-47.7l-.5-.4-.5 .4C284.4 383.1 239.3 400 192.6 400C86.2 400 0 313.8 0 207.4V168c0-4.2 1.1-8.1 2.9-11.5c.6-1 1.2-2.1 2-3c1.2-1.6 2.6-3 4.1-4.2c1.5-1.2 3.1-2.2 4.8-3c3.1-1.5 6.5-2.3 10.2-2.3c2.9 0 5.8 .5 8.4 1.5c3.1 1.2 6.1 3 8.6 5.5l1.6 1.6c28.8 28.8 75.8 27.9 103.4-2.1l2-2.1z\"]\n};\nvar faHyphen = {\n prefix: 'fas',\n iconName: 'hyphen',\n icon: [320, 512, [], \"2d\", \"M0 256c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M64 256V160H224v96H64zm0 64H224v96H64V320zm224 96V320H448v96H288zM448 256H288V160H448v96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faUserChef = {\n prefix: 'fas',\n iconName: 'user-chef',\n icon: [448, 512, [], \"e3d2\", \"M384 48c0 20.9-13.4 38.7-32 45.3V112v64c0 70.7-57.3 128-128 128s-128-57.3-128-128V112 93.3C77.4 86.7 64 68.9 64 48C64 21.5 85.5 0 112 0c14.3 0 27.2 6.3 36 16.3C156.8 6.3 169.7 0 184 0c16.7 0 31.4 8.5 40 21.5C232.6 8.5 247.3 0 264 0c14.3 0 27.2 6.3 36 16.3C308.8 6.3 321.7 0 336 0c26.5 0 48 21.5 48 48zM304 176V160H144v16c0 44.2 35.8 80 80 80s80-35.8 80-80zM178.4 340.6c7.5 1.9 8.2 12.3 1 15.2l-43.2 17.3C111.9 382.8 96 406.3 96 432.5V480v24 8H88 64 25.6C11.5 512 0 500.5 0 486.4c0-58.8 37.7-108.8 90.3-127c3.3-1.2 5.7-4.3 5.7-7.8V330.2c0-5.2 4.9-9 9.9-7.8l72.5 18.1zM352 512H160 136h-8v-8V480 432.5c0-13.1 8-24.9 20.1-29.7L341 325.6c5.3-2.1 11 1.8 11 7.4v18.6c0 3.5 2.3 6.6 5.7 7.8c52.6 18.2 90.3 68.2 90.3 127c0 14.1-11.5 25.6-25.6 25.6H352zM224 432a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faMessageImage = {\n prefix: 'fas',\n iconName: 'message-image',\n icon: [512, 512, [\"comment-alt-image\"], \"e1e0\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm176 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm120 0c-8 0-15.5 4-20 10.7l-56 84L202.7 201c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C311.5 132 304 128 296 128z\"]\n};\nvar faCommentAltImage = faMessageImage;\nvar faUsersMedical = {\n prefix: 'fas',\n iconName: 'users-medical',\n icon: [640, 512, [], \"f830\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM405.3 320h77.4c6.6-18.6 24.4-32 45.3-32h32c20.9 0 38.7 13.4 45.3 32h13.4c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 38.2-16.8 72.5-43.3 96c.2 0 .4 0 .7 0zM416 400c0-14.6 6.5-27.7 16.9-36.5C416.3 356.1 398 352 378.7 352H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H482.7c-1.8-5-2.7-10.4-2.7-16V480H464c-26.5 0-48-21.5-48-48V400zm0-176a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm96 112v48H464c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V448h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H576V336c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSensorTriangleExclamation = {\n prefix: 'fas',\n iconName: 'sensor-triangle-exclamation',\n icon: [640, 512, [\"sensor-alert\"], \"e029\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H225c-.6-4-1-8.1-1-12.3c0-13.2 3.4-26.2 9.9-37.7l150.4-265c13-22.9 37.3-37.1 63.7-37.1V96c0-35.3-28.7-64-64-64H64zm48 88V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm53.8 325.8c-3.8 6.7-5.8 14.2-5.8 21.9c0 24.5 19.8 44.3 44.3 44.3H595.7c24.5 0 44.3-19.8 44.3-44.3c0-7.7-2-15.2-5.8-21.9l-150.4-265C476.5 168 462.8 160 448 160s-28.5 8-35.8 20.9l-150.4 265zM464 272v88c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8 7.2-16 16-16s16 7.2 16 16zM448 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSensorAlert = faSensorTriangleExclamation;\nvar faMagnifyingGlassArrowRight = {\n prefix: 'fas',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H238.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72z\"]\n};\nvar faTachographDigital = {\n prefix: 'fas',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm32 64H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM64 368c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faFaceMask = {\n prefix: 'fas',\n iconName: 'face-mask',\n icon: [576, 512, [], \"e37f\", \"M410.5 281.7L541.8 222C525.1 96.7 417.9 0 288 0S50.9 96.7 34.2 222l131.3 59.7c8-15.3 24.1-25.7 42.5-25.7H368c18.4 0 34.5 10.4 42.5 25.7zm5.5 32.6V384h93.8c21.8-37.6 34.2-81.3 34.2-127.9L416 314.3zM413.3 416c-6.6 18.6-24.4 32-45.3 32H208c-20.9 0-38.7-13.4-45.3-32H88.1c46.9 58.5 119 96 199.9 96s152.9-37.5 199.9-96H413.3zM160 384V314.3L32 256.1c0 46.6 12.5 90.3 34.2 127.9H160zm-4.7-180.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C146.4 167 184.6 144 240 144c8.8 0 16 7.2 16 16s-7.2 16-16 16c-47 0-77.1 19.7-84.7 27.3zM336 176c-8.8 0-16-7.2-16-16s7.2-16 16-16c55.4 0 93.6 23 107.3 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C413.1 195.7 383 176 336 176zM208 304c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faPickleball = {\n prefix: 'fas',\n iconName: 'pickleball',\n icon: [576, 512, [], \"e435\", \"M250.4 28c37.5-37.4 98.4-37.4 136 0L499.9 141.3c29.2 29.2 35.7 72.4 19.4 107.8c-24.9-15.8-54.4-25-86.1-25c-72 0-133 47.3-153.3 112.5L155.7 212.8c-6.3-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L273 374.9c-.2 3-.3 6.1-.3 9.1c0 27.8 7.1 53.8 19.6 76.6c-9.3 .5-18.7-1-27.6-4.7l-56.7-23.2c-23.9-9.8-51.4-4.3-69.6 13.9L84.4 500.3c-15.6 15.6-41 15.6-56.7 0s-15.6-40.9 0-56.5l53.5-53.4c18.4-18.3 23.8-45.8 13.9-69.8L71.1 262.8c-10-23.9-4.5-51.4 13.9-69.7L250.4 28zM304 384a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm32-16a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm80 80a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0-64a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm96 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-80-80a16 16 0 1 0 32 0 16 16 0 1 0 -32 0z\"]\n};\nvar faStarSharpHalf = {\n prefix: 'fas',\n iconName: 'star-sharp-half',\n icon: [576, 512, [], \"e28c\", \"M254.4 50.4L214.5 176H90.3 88 74.7 56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L56 230.4l10.5 8.2 1.8 1.4 103.7 80.7L132 446.7l-1.1 3.5L126.1 465l-5 15.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7l13-10.1 12.3-9.5 2.9-2.3L288 406.4V325.3 155.9 0c-10.5 0-19.7 6.8-22.9 16.7L260 32.9l0 0-4.6 14.3-1 3.2z\"]\n};\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192H106.7zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c10.5 0 19.5-6 23.9-14.8L324.9 352H261.3zM512 160A80 80 0 1 0 512 0a80 80 0 1 0 0 160z\"]\n};\nvar faClover = {\n prefix: 'fas',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M173.3 32C139.4 32 112 59.4 112 93.3v4.9c0 12 3.3 23.7 9.4 34l18.8 31.3c1.1 1.8 1.2 3.1 1 4.2c-.2 1.2-.8 2.5-2 3.6s-2.4 1.8-3.6 2c-1 .2-2.4 .1-4.2-1l-31.3-18.8c-10.3-6.2-22-9.4-34-9.4H61.3C27.4 144 0 171.4 0 205.3c0 16.2 6.5 31.8 17.9 43.3l1.2 1.2c3.4 3.4 3.4 9 0 12.4l-1.2 1.2C6.5 274.9 0 290.5 0 306.7C0 340.6 27.4 368 61.3 368h4.9c12 0 23.7-3.3 34-9.4l31.3-18.8c1.8-1.1 3.1-1.2 4.2-1c1.2 .2 2.5 .8 3.6 2s1.8 2.4 2 3.6c.2 1 .1 2.4-1 4.2l-18.8 31.3c-6.2 10.3-9.4 22-9.4 34v4.9c0 33.8 27.4 61.3 61.3 61.3c16.2 0 31.8-6.5 43.3-17.9l1.2-1.2c3.4-3.4 9-3.4 12.4 0l1.2 1.2c11.5 11.5 27.1 17.9 43.3 17.9c33.8 0 61.3-27.4 61.3-61.3v-4.9c0-12-3.3-23.7-9.4-34l-18.8-31.3c-1.1-1.8-1.2-3.1-1-4.2c.2-1.2 .8-2.5 2-3.6s2.4-1.8 3.6-2c1-.2 2.4-.1 4.2 1l31.3 18.8c10.3 6.2 22 9.4 34 9.4h4.9c33.8 0 61.3-27.4 61.3-61.3c0-16.2-6.5-31.8-17.9-43.3l-1.2-1.2c-3.4-3.4-3.4-9 0-12.4l1.2-1.2c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3h-4.9c-12 0-23.7 3.3-34 9.4l-31.3 18.8c-1.8 1.1-3.1 1.2-4.2 1c-1.2-.2-2.5-.8-3.6-2s-1.8-2.4-2-3.6c-.2-1-.1-2.4 1-4.2l18.8-31.3c6.2-10.3 9.4-22 9.4-34V93.3C336 59.4 308.6 32 274.7 32c-16.2 0-31.8 6.5-43.3 17.9l-1.2 1.2c-3.4 3.4-9 3.4-12.4 0l-1.2-1.2C205.1 38.5 189.5 32 173.3 32z\"]\n};\nvar faMeat = {\n prefix: 'fas',\n iconName: 'meat',\n icon: [512, 512, [127830], \"f814\", \"M243.6 19.6C283.7-20.4 371.9 2.8 440.5 71.5s91.9 156.8 51.8 196.9l-40.5 40.5C403.9 357 338.7 384 270.8 384H212.6c-7.1 0-13.9 2.8-18.9 7.8c-10.3 10.3-9.7 26.9-5 40.7c2.1 6.1 3.2 12.7 3.2 19.5c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c6.8 0 13.4 1.1 19.5 3.2c13.8 4.7 30.4 5.3 40.7-5c5-5 7.8-11.8 7.8-18.9V241.3c0-67.9 27-133 75-181l40.7-40.7zm64 184.8c49.6 49.6 113.3 66.4 142.2 37.4s12.2-92.6-37.4-142.2S299.1 33.2 270.2 62.2s-12.2 92.6 37.4 142.2zm36.3-36.3c-15.3-15.3-20.4-34.9-11.5-43.8s28.5-3.7 43.8 11.5s20.4 34.9 11.5 43.8s-28.5 3.7-43.8-11.5z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\"]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M0 256C0 114.6 114.6 0 256 0c33 0 64.6 6.3 93.6 17.7c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-4.8-.3-9.7-.5-14.6-.5c-114.9 0-208 93.1-208 208s93.1 208 208 208c4.9 0 9.8-.2 14.6-.5c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4C320.6 505.7 289 512 256 512C114.6 512 0 397.4 0 256zM375.4 137.4c3.5-7.1 13.7-7.1 17.2 0l31.5 63.8c1.4 2.8 4.1 4.8 7.2 5.3l70.4 10.2c7.9 1.1 11 10.8 5.3 16.4l-50.9 49.6c-2.3 2.2-3.3 5.4-2.8 8.5l12 70.1c1.3 7.8-6.9 13.8-13.9 10.1l-63-33.1c-2.8-1.5-6.1-1.5-8.9 0l-63 33.1c-7 3.7-15.3-2.3-13.9-10.1l12-70.1c.5-3.1-.5-6.3-2.8-8.5L261 233.1c-5.7-5.6-2.6-15.2 5.3-16.4l70.4-10.2c3.1-.5 5.8-2.4 7.2-5.3l31.5-63.8z\"]\n};\nvar faEmptySet = {\n prefix: 'fas',\n iconName: 'empty-set',\n icon: [512, 512, [8709, 216], \"f656\", \"M435.4 121.9l67.2-67.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L390.2 76.6C352.8 48.6 306.3 32 256 32C132.3 32 32 132.3 32 256c0 50.3 16.6 96.8 44.6 134.2L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l67.2-67.2c37.4 28 83.8 44.6 134.1 44.6c123.7 0 224-100.3 224-224c0-50.3-16.6-96.8-44.6-134.1zm-91.2 .7L122.5 344.2C105.8 318.9 96 288.6 96 256c0-88.4 71.6-160 160-160c32.6 0 62.9 9.8 88.2 26.5zm-176.5 267L389.5 167.8C406.2 193.1 416 223.4 416 256c0 88.4-71.6 160-160 160c-32.6 0-62.9-9.8-88.2-26.5z\"]\n};\nvar faHouseFire = {\n prefix: 'fas',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M288 350.1l0 1.9H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L447.3 128.1c-12.3-1-25 3-34.8 11.7c-35.4 31.6-65.6 67.7-87.3 102.8C304.3 276.5 288 314.9 288 350.1zM453.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faSquareMinus = {\n prefix: 'fas',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M128 32c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H384v64h32c88.4 0 160 71.6 160 160v64c0 17.7-14.3 32-32 32H384 320c-20.1 0-39.1-9.5-51.2-25.6l-71.4-95.2c-3.5-4.7-8.3-8.3-13.7-10.5L47.2 198.1c-9.5-3.8-16.7-12-19.2-22L5 83.9C2.4 73.8 10.1 64 20.5 64H48c10.1 0 19.6 4.7 25.6 12.8L112 128H320V64H160c-17.7 0-32-14.3-32-32zM384 320H512V288c0-53-43-96-96-96H384V320zM630.6 425.4c12.5 12.5 12.5 32.8 0 45.3l-3.9 3.9c-24 24-56.6 37.5-90.5 37.5H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H536.2c17 0 33.3-6.7 45.3-18.7l3.9-3.9c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faBird = {\n prefix: 'fas',\n iconName: 'bird',\n icon: [512, 512, [], \"e469\", \"M0 192v-3.6C0 172.7 12.7 160 28.4 160H224c17.7 0 32-14.3 32-32V96c0-53 43-96 96-96c47.5 0 86.9 34.5 94.6 79.7l57.6 34.6c4.8 2.9 7.8 8.1 7.8 13.7s-2.9 10.8-7.8 13.7L448 175.5V192c0 93.9-57.7 174.3-139.7 207.6l40.9 77.2c6.2 11.7 1.7 26.2-10 32.4s-26.2 1.7-32.4-10l-45.7-86.3C249 415 236.6 416 224 416c-1 0-2 0-3 0l32.2 60.8c6.2 11.7 1.7 26.2-10 32.4s-26.2 1.7-32.4-10l-48.6-91.9C68.5 380.5 0 294.3 0 192zm376-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'fas',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faHeartHalfStroke = {\n prefix: 'fas',\n iconName: 'heart-half-stroke',\n icon: [512, 512, [\"heart-half-alt\"], \"e1ac\", \"M256 186.5V407.4L420.7 253.6c17.4-16.2 27.3-38.9 27.3-62.7v-5.8c0-38.6-27.9-71.5-66-77.9c-25.1-4.2-50.8 4-68.8 22l-12 12L256 186.5zM119.4 44.1C165 36.5 211.3 51.4 244 84l0 0 12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141z\"]\n};\nvar faHeartHalfAlt = faHeartHalfStroke;\nvar faFileCircleQuestion = {\n prefix: 'fas',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM281 209l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 175l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faJoystick = {\n prefix: 'fas',\n iconName: 'joystick',\n icon: [448, 512, [128377], \"f8c5\", \"M336 112c0 50.7-33.7 93.6-80 107.4V320H192V219.4c-46.3-13.8-80-56.6-80-107.4C112 50.1 162.1 0 224 0s112 50.1 112 112zM200 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM64 352c0-17.7 14.3-32 32-32s32 14.3 32 32H384c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64z\"]\n};\nvar faGrillFire = {\n prefix: 'fas',\n iconName: 'grill-fire',\n icon: [576, 512, [], \"e5a4\", \"M0 72C0 49.9 17.9 32 40 32H408c22.1 0 40 17.9 40 40V96c0 24.1-3.8 47.3-10.9 69.1c-8.5-8.6-17.2-17-26.2-25.1c-17.7-16-44.7-16-62.5-.1c-35.4 31.6-65.6 67.7-87.3 102.8c-15 24.3-27.7 51-33.6 77.3c-1.2 0-2.4 0-3.6 0c-16.9 0-33.4-1.9-49.3-5.4L151.8 368h73c1.5 16.6 5.2 32.7 10.7 48H160c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c3.4 0 6.8 .3 10.1 .8L129.2 299C52.9 263.3 0 185.8 0 96V72zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM389.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 56.7 24.2 76.9C576 437.9 504.7 512 416 512c-89.7 0-160-74.2-160-161.9c0-26.4 12.7-58.6 32.4-90.6c20-32.4 48.1-66.1 81.4-95.8c5.6-5 14.2-5 19.8 0zM466 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faRectangleVerticalHistory = {\n prefix: 'fas',\n iconName: 'rectangle-vertical-history',\n icon: [576, 512, [], \"e237\", \"M256 0c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H256zM96 72V440c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-13.3-10.7-24-24-24s-24 10.7-24 24zM0 120V392c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24S0 106.7 0 120z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 32C0 14.3 14.3 0 32 0H160c17.7 0 32 14.3 32 32V416c0 53-43 96-96 96s-96-43-96-96V32zM223.6 425.9c.3-3.3 .4-6.6 .4-9.9V154l75.4-75.4c12.5-12.5 32.8-12.5 45.3 0l90.5 90.5c12.5 12.5 12.5 32.8 0 45.3L223.6 425.9zM182.8 512l192-192H480c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H182.8zM128 64H64v64h64V64zM64 192v64h64V192H64zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V416H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V320H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V224H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V128z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faNavicon = faBars;\nvar faKeyboardLeft = {\n prefix: 'fas',\n iconName: 'keyboard-left',\n icon: [640, 512, [], \"e1c3\", \"M224 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H224zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM224 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM320 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336zM432 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM416 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V240zM528 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM512 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM113.2 153.8c-9-3.7-19.3-1.7-26.2 5.2L7 239c-9.4 9.4-9.4 24.6 0 33.9l80 80c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V176c0-9.7-5.8-18.5-14.8-22.2z\"]\n};\nvar faPeopleGroup = {\n prefix: 'fas',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3V245.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V389.2C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112h32c24 0 46.2 7.5 64.4 20.3zM448 416V394.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176h32c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2V416c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3V261.7c-10 11.3-16 26.1-16 42.3zm144-42.3v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V405.2c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112h32c61.9 0 112 50.1 112 112z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75z\"]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'fas',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M119.4 44.1c23.3-3.9 46.8-1.9 68.6 5.3l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.8c28.5-16.7 62.4-23.2 95.7-17.6C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141z\"]\n};\nvar faHeartBroken = faHeartCrack;\nvar faFaceBeamHandOverMouth = {\n prefix: 'fas',\n iconName: 'face-beam-hand-over-mouth',\n icon: [512, 512, [129325], \"e47c\", \"M512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0L207 301.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V384v32.8c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM217.6 212.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 172.4 120 190.1 120 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 172.4 280 190.1 280 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm-78.3 63.9c6.2 6.2 6.2 16.4 0 22.6L248 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l67.3-67.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L280 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l51.3-51.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L312 414.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l19.3-19.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.8 56.8C288.7 502 264.4 512 239.2 512c-52.6 0-95.2-42.6-95.2-95.2V384 330.4c0-11 9-20 20-20s20 9 20 20v19.7c0 7.1 8.6 10.7 13.7 5.7l79-79c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faDropletPercent = {\n prefix: 'fas',\n iconName: 'droplet-percent',\n icon: [384, 512, [\"humidity\"], \"f750\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zm75.3-267.3c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6zM136 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHumidity = faDropletPercent;\nvar faSquareUpRight = {\n prefix: 'fas',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\"]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'fas',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-84.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faCorn = {\n prefix: 'fas',\n iconName: 'corn',\n icon: [512, 512, [127805], \"f6c7\", \"M512 40c0 15-8.3 28.1-20.5 34.9C499.2 82.2 504 92.6 504 104c0 18-11.8 33.2-28.2 38.2c2.7 5.4 4.2 11.4 4.2 17.8c0 18-11.8 33.2-28.2 38.2c2.7 5.4 4.2 11.4 4.2 17.8c0 22.1-17.9 40-40 40c-1.1 0-2.3 0-3.4-.1c2.2 4.9 3.4 10.4 3.4 16.1c0 13.6-6.8 25.7-17.3 32.9c-47.7-29.7-103.6-41.1-157.5-34.2c6.9-53.9-4.5-109.8-34.2-157.5C214.3 102.8 226.4 96 240 96c5.7 0 11.2 1.2 16.1 3.4c-.1-1.1-.1-2.2-.1-3.4c0-22.1 17.9-40 40-40c6.4 0 12.4 1.5 17.8 4.2C318.8 43.8 334 32 352 32c6.4 0 12.4 1.5 17.8 4.2C374.8 19.8 390 8 408 8c11.4 0 21.8 4.8 29.1 12.5C443.9 8.3 457 0 472 0c22.1 0 40 17.9 40 40zM137.7 98c1.2-6.3 8.9-8.7 13.2-3.9c45.4 50.5 69.5 114 56.9 183.4c-38.7 10.7-75.2 31.2-105.5 61.6L24.9 416.5c-34.2-37.7-33.1-96 3.2-132.4l64-64c18.3-18.3 30.6-41.7 35.3-67.1L137.7 98zM92.1 483.9L47.4 439.2l77.5-77.5c28.6-28.6 63.5-47.1 100.1-55.6c72.2-16.6 139.8 7.4 192.8 55c4.8 4.3 2.4 12.1-3.9 13.2l-54.9 10.2c-25.4 4.7-48.8 17-67.1 35.3l-64 64c-37.5 37.5-98.3 37.5-135.8 0z\"]\n};\nvar faRollerCoaster = {\n prefix: 'fas',\n iconName: 'roller-coaster',\n icon: [640, 512, [], \"e324\", \"M64 190.1c0-31.8 15.8-60 40-77V456c0 13.3 10.7 24 24 24s24-10.7 24-24V96.2c2-.1 4-.2 6.1-.2c14.8 0 29.1 3.5 41.9 9.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V154.7l48 69.1V456c0 13.3 10.7 24 24 24s24-10.7 24-24V292.9l20.3 29.2c7.9 11.3 17.2 21.3 27.7 29.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V377.6c13.6 4.2 28 6.4 42.6 6.4H488v72c0 13.3 10.7 24 24 24s24-10.7 24-24V378.4c14.4-4.2 27.8-10.5 40-18.6V448c0 17.7 14.3 32 32 32s32-14.3 32-32V248h-.2c.1-2.6 .2-5.3 .2-8c0-79.5-64.5-144-144-144h-4c-28.9 0-57.3 7.1-82.8 20.7l-51.6 27.5L432 251.3V177.1l7.3-3.9c12.7-6.8 26.5-11 40.7-12.5V264c0 13.3 10.7 24 24 24s24-10.7 24-24V166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80H482.6c-26.2 0-50.8-12.8-65.7-34.4L287.9 99.9C258.4 57.4 209.9 32 158.1 32C70.8 32 0 102.8 0 190.1V448c0 17.7 14.3 32 32 32s32-14.3 32-32V190.1z\"]\n};\nvar faPhotoFilmMusic = {\n prefix: 'fas',\n iconName: 'photo-film-music',\n icon: [640, 512, [], \"e228\", \"M192 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64v69.6c-12.9-6.1-27.9-7.1-41.7-2.5l-98.9 33-37.8-60.5c-2.9-4.7-8.1-7.5-13.6-7.5s-10.6 2.8-13.6 7.5L388 177.9l-15.3-19.7c-3-3.9-7.7-6.2-12.6-6.2s-9.6 2.3-12.6 6.2l-56 72c-3.8 4.8-4.4 11.4-1.7 16.9s8.3 9 14.4 9h64l0 64H256c-35.3 0-64-28.7-64-64V64zM319.5 404.6c-13.8 10.3-25.2 25.2-29.6 43.4H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h96V360c0 17.7 14.3 32 32 32H342.2c-8.2 3.3-15.8 7.5-22.6 12.6zM320 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM56 168v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H72c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V264c0-8.8-7.2-16-16-16H72zM56 360v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V360c0-8.8-7.2-16-16-16H72c-8.8 0-16 7.2-16 16zM630 164.5c6.3 4.5 10 11.8 10 19.5v48V392c0 1.2-.1 2.4-.3 3.6c.2 1.5 .3 2.9 .3 4.4c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V265.3l-144 48V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V296 248c0-10.3 6.6-19.5 16.4-22.8l192-64c7.3-2.4 15.4-1.2 21.6 3.3z\"]\n};\nvar faRadar = {\n prefix: 'fas',\n iconName: 'radar',\n icon: [512, 512, [], \"e024\", \"M304.8 173.3c-14.3-8.4-31-13.3-48.8-13.3c-53 0-96 43-96 96s43 96 96 96s96-43 96-96h64c0 73.5-49.6 135.5-117.2 154.2C290.8 394.7 274.7 384 256 384s-34.8 10.7-42.8 26.2c-51.7-14.3-92.8-53.9-109.4-104.6c14.4-8.3 24.1-23.8 24.1-41.7c0-19.4-11.5-36.1-28-43.7C116.2 149.1 179.9 96 256 96c35.5 0 68.3 11.6 94.9 31.2l22.8-22.8C341.2 79 300.4 64 256 64C163.1 64 85.7 129.9 67.9 217.6C47.2 222.9 32 241.7 32 264c0 23.8 17.3 43.6 40.1 47.4c19.3 64.3 71.5 114.4 137 130.9C213.8 463.8 233 480 256 480s42.2-16.2 46.9-37.8C386.3 421.3 448 345.9 448 256h64c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0c62.1 0 118.9 22.1 163.3 58.8L463 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-182 182c3.3 7.7 5.1 16.1 5.1 25c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c8.9 0 17.3 1.8 25 5.1l23.8-23.8z\"]\n};\nvar faSickle = {\n prefix: 'fas',\n iconName: 'sickle',\n icon: [512, 512, [], \"f822\", \"M212.7 340.7L181 309c-33.9-33.9-53-80-53-128C128 81 209 0 309 0h11c90.1 0 165.8 62.1 186.4 145.8c1.8 7.3-4 14.2-11.5 14.2c-3.9 0-7.5-1.9-9.9-4.9C458.9 122.9 419.5 104 377.8 104C301.7 104 240 165.7 240 241.8v9.8c0 20.7 5.2 39.7 12.2 58.6c2.2 6 .9 12.8-3.7 17.3l-13.2 13.2c-6.2 6.2-16.4 6.2-22.6 0zM121 311l24 24 32 32 24 24c9.4 9.4 9.4 24.6 0 33.9l-16 16c-9.4 9.4-24.6 9.4-33.9 0l-7-7L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l71-71-7-7c-9.4-9.4-9.4-24.6 0-33.9l16-16c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z\"]\n};\nvar faCoconut = {\n prefix: 'fas',\n iconName: 'coconut',\n icon: [512, 512, [], \"e2f6\", \"M141.2 141.2c-43.7 43.7-73 91.8-85.8 133.3c-13.2 42.7-7.4 71.9 7.5 86.7s44 20.6 86.7 7.5c41.5-12.8 89.6-42.1 133.3-85.8s73-91.8 85.8-133.3c13.2-42.7 7.4-71.9-7.5-86.7s-44-20.6-86.7-7.5C233 68.1 184.9 97.5 141.2 141.2zM260.4 9.5C309.6-5.7 361.5-4.8 395.2 28.8l40.9 40.9C484.7 118.4 512 184.3 512 252.9C512 396 396 512 253 512c-68.7 0-134.6-27.3-183.2-75.9l-41-41C-4.8 361.5-5.7 309.6 9.5 260.3c15.6-50.4 49.7-105 97.8-153.1S210 25 260.4 9.5zm63.5 88.1c25 25-5.4 95.9-67.9 158.4s-133.4 92.9-158.4 67.9s5.4-95.9 67.9-158.4S298.9 72.6 323.9 97.6zm95.4 107.1c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm-56 136c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm-136 56c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M0 336c0 26.5 21.5 48 48 48l544 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48l-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0c-26.5 0-48 21.5-48 48L0 336z\"]\n};\nvar faShieldCross = {\n prefix: 'fas',\n iconName: 'shield-cross',\n icon: [512, 512, [9960], \"f712\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 66.8l32 13.6V128c0 17.7 14.3 32 32 32H431.3c-1.2 19.6-4.2 41.4-9.4 64H320c-17.7 0-32 14.3-32 32V426.8c-10 6.5-20.7 12.5-32 18c-11.3-5.5-22-11.5-32-18V256c0-17.7-14.3-32-32-32H90.1c-5.2-22.6-8.1-44.4-9.4-64H192c17.7 0 32-14.3 32-32V80.3l32-13.6z\"]\n};\nvar faCassetteTape = {\n prefix: 'fas',\n iconName: 'cassette-tape',\n icon: [576, 512, [128429], \"f8ab\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H483.1l-36.3-96.9c-7-18.7-24.9-31.1-44.9-31.1H174.2c-20 0-37.9 12.4-44.9 31.1L92.9 480H64c-35.3 0-64-28.7-64-64V96zM416.8 394.4L448.9 480H127.1l32.1-85.6c2.3-6.2 8.3-10.4 15-10.4H401.8c6.7 0 12.6 4.1 15 10.4zM341.5 192H234.5c3.5 10 5.5 20.8 5.5 32s-1.9 22-5.5 32H341.5c-3.5-10-5.5-20.8-5.5-32s1.9-22 5.5-32zm90.5 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM112 224a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faSquareTerminal = {\n prefix: 'fas',\n iconName: 'square-terminal',\n icon: [448, 512, [], \"e32a\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm70.3 55.8c-9 9.8-8.3 25 1.5 33.9L148.5 256 71.8 326.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faPeopleRobbery = {\n prefix: 'fas',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M488.2 59.1C478.1 99.6 441.7 128 400 128s-78.1-28.4-88.2-68.9L303 24.2C298.8 7.1 281.4-3.3 264.2 1S236.7 22.6 241 39.8l8.7 34.9c11 44 40.2 79.6 78.3 99.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V174.3c38.1-20 67.3-55.6 78.3-99.6L559 39.8c4.3-17.1-6.1-34.5-23.3-38.8S501.2 7.1 497 24.2l-8.7 34.9zM400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zm-8 32c-35.3 0-64 28.7-64 64v96l0 .6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352H88V480c0 17.7 14.3 32 32 32s32-14.3 32-32V252.7l13 20.5c5.9 9.2 16.1 14.9 27 14.9h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H209.6l-37.4-58.9C157.6 142 132.1 128 104.7 128H72z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\"]\n};\nvar faCommentMiddle = {\n prefix: 'fas',\n iconName: 'comment-middle',\n icon: [512, 512, [], \"e149\", \"M188.3 408.7l44.5 89c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3l44.5-89C432.2 384.5 512 303.8 512 208C512 93.1 397.4 0 256 0S0 93.1 0 208c0 95.8 79.8 176.5 188.3 200.7z\"]\n};\nvar faTrashCanList = {\n prefix: 'fas',\n iconName: 'trash-can-list',\n icon: [640, 512, [], \"e2ab\", \"M147.8 0c-12.1 0-23.2 6.8-28.6 17.7L112 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H304l-7.2-14.3C291.4 6.8 280.3 0 268.2 0H147.8zM384 128H32V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V128zM160 208V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zm128 0V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zm192-80c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H480zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H480zM448 416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H480c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBlock = {\n prefix: 'fas',\n iconName: 'block',\n icon: [640, 512, [], \"e46a\", \"M96 96c0-35.3 28.7-64 64-64H480c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96zm96 8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm280 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM192 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm280 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleExclamation = {\n prefix: 'fas',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'fas',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faArrowRightFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z\"]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faFaceFrownSlight = {\n prefix: 'fas',\n iconName: 'face-frown-slight',\n icon: [512, 512, [], \"e376\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm91.9-117.5C330 373.8 299.4 352 256 352s-74 21.8-91.9 42.5c-5.8 6.7-15.9 7.4-22.6 1.6s-7.4-15.9-1.6-22.6c22.2-25.7 61-53.5 116.1-53.5s93.8 27.9 116.1 53.5c5.8 6.7 5.1 16.8-1.6 22.6s-16.8 5.1-22.6-1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleChevronDown = {\n prefix: 'fas',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM135 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 345c-9.4 9.4-24.6 9.4-33.9 0L135 241z\"]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faSidebarFlip = {\n prefix: 'fas',\n iconName: 'sidebar-flip',\n icon: [512, 512, [], \"e24f\", \"M512 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96zM288 96V416H64V96H288zm136 0c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48zm24 120c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24zm-24 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48z\"]\n};\nvar faUnlockKeyhole = {\n prefix: 'fas',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z\"]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faTemperatureList = {\n prefix: 'fas',\n iconName: 'temperature-list',\n icon: [512, 512, [], \"e299\", \"M96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.2 32 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM352 32c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352zM320 192c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm64 96c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H384z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6S-3.3 490.7 1.9 478.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm244.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM313.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6z\"]\n};\nvar faHeadphonesSimple = {\n prefix: 'fas',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM80 352c0-35.3 28.7-64 64-64h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V352zm288-64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h16z\"]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40H464c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V280H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-30.9 25.1-56 56-56H264V192h-8c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faPipeSection = {\n prefix: 'fas',\n iconName: 'pipe-section',\n icon: [640, 512, [], \"e438\", \"M32 96C14.3 96 0 110.3 0 128V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-17.7-14.3-32-32-32zm576 0c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-17.7-14.3-32-32-32zm-64 32H96V384H544V128z\"]\n};\nvar faSpaceStationMoonConstruction = {\n prefix: 'fas',\n iconName: 'space-station-moon-construction',\n icon: [512, 512, [\"space-station-moon-alt\"], \"e034\", \"M512 256c0 7.8-.3 15.5-1 23.1C438.8 304.7 351.2 320 256 320s-182.8-15.3-255-40.9c-.7-7.6-1-15.3-1-23.1C0 114.6 114.6 0 256 0c57.8 0 111.1 19.1 153.9 51.4c3.9 2.9 6.1 7.5 6.1 12.4V80c0 8.8-7.2 16-16 16H368c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48 16c8.8 0 16 7.2 16 16v32c0 8.8 7.2 16 16 16h31.9c8.1 0 14.9 6 15.5 14.1c.4 5.9 .6 11.9 .6 17.9zM256 512C134.9 512 33.4 427.9 6.8 314.8C79.4 338.4 164.7 352 256 352c44.3 0 87.3-3.2 128-9.2V368c0 8.8 7.2 16 16 16h32c8.8 0 16 7.2 16 16v19.3c0 3.9-1.4 7.7-4.1 10.5C397.2 480.4 330.3 512 256 512zM160 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faSpaceStationMoonAlt = faSpaceStationMoonConstruction;\nvar faCircleDollarToSlot = {\n prefix: 'fas',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M326.7 403.7c-22.1 8-45.9 12.3-70.7 12.3s-48.7-4.4-70.7-12.3c-.3-.1-.5-.2-.8-.3c-30-11-56.8-28.7-78.6-51.4C70 314.6 48 263.9 48 208C48 93.1 141.1 0 256 0S464 93.1 464 208c0 55.9-22 106.6-57.9 144c-1 1-2 2.1-3 3.1c-21.4 21.4-47.4 38.1-76.3 48.6zM256 91.9c-11.1 0-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.7 4c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0 0 0c-2.2-.7-4.3-1.5-6.4-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V304c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.3-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V112c0-11.1-9-20.1-20.1-20.1zM48 352H64c19.5 25.9 44 47.7 72.2 64H64v32H256 448V416H375.8c28.2-16.3 52.8-38.1 72.2-64h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M64 64C28.7 64 0 92.7 0 128v7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6V320H576V248.6c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zM576 352H0v64c0 17.7 14.3 32 32 32H80V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h96V416c0-8.8 7.2-16 16-16s16 7.2 16 16v32h48c17.7 0 32-14.3 32-32V352zM192 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faFaceSleeping = {\n prefix: 'fas',\n iconName: 'face-sleeping',\n icon: [512, 512, [], \"e38d\", \"M512 256c0-46.6-12.5-90.3-34.2-128H432c-19.4 0-36.9-11.7-44.3-29.6c-7.1-17.1-3.7-36.7 8.6-50.4c-2.9-3.2-5.4-6.9-7.3-10.8C350.2 13.6 304.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256zM272 96c-8.8 0-16-7.2-16-16s7.2-16 16-16h64c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4L310.6 128H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4L297.4 96H272zM216 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM387.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM416 16c0 8.8 7.2 16 16 16h25.4L420.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H470.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4S502.5 0 496 0H432c-8.8 0-16 7.2-16 16z\"]\n};\nvar faRoadSpikes = {\n prefix: 'fas',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M64 116.8c0-15.8 20.5-22 29.3-8.9L192 256V116.8c0-15.8 20.5-22 29.3-8.9L320 256V116.8c0-15.8 20.5-22 29.3-8.9L448 256V116.8c0-15.8 20.5-22 29.3-8.9L606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 448 384 320 256 192 64V116.8zM32 384H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFireBurner = {\n prefix: 'fas',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M293.5 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C480 280 408.7 352 320 352c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM370 273c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15zM32 288c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32s-14.3 32-32 32v64H544V320c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V288zM320 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSquirrel = {\n prefix: 'fas',\n iconName: 'squirrel',\n icon: [512, 512, [], \"f71a\", \"M160 296.2c0 2-.7 3.9-2 5.4c-18.7 22.3-30 51-30 82.3c0 70.7 57.3 128 128 128h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H432c10-13.4 16-30 16-48c0-26.2-12.6-49.4-32-64c-13.4-10-30-16-48-16c-9.4 0-18.3 1.6-26.7 4.5c-8.3 2.9-17.5-1.4-20.4-9.8s1.4-17.5 9.8-20.4c11.7-4.1 24.3-6.4 37.3-6.4c17.2 0 33.5 3.9 48 10.8V240h21.2c26.7 0 51.7-13.4 66.6-35.6L512 192c0-53-43-96-96-96V75.2C416 69 411 64 404.8 64c-15.2 0-28.7 7.6-36.8 19.2C359.9 71.6 346.4 64 331.2 64C325 64 320 69 320 75.2V96c0 54.4-10.5 108.1-30.7 158c-.9-2-1.3-4.2-1.3-6.4V144C288 64.5 223.5 0 144 0S0 64.5 0 144s64.5 144 144 144c2.3 0 4.6-.1 6.9-.2c4.9-.2 9.1 3.5 9.1 8.4zM416 144a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faArrowUpToLine = {\n prefix: 'fas',\n iconName: 'arrow-up-to-line',\n icon: [384, 512, [\"arrow-to-top\"], \"f341\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM214.6 169.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 269.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V269.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128z\"]\n};\nvar faArrowToTop = faArrowUpToLine;\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V64 368 480c0 17.7 14.3 32 32 32s32-14.3 32-32V352l64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48V32z\"]\n};\nvar faFaceCowboyHat = {\n prefix: 'fas',\n iconName: 'face-cowboy-hat',\n icon: [512, 512, [], \"e36e\", \"M216 0c9.1 0 17.9 4 26.1 10.7c7.9 6.5 19.8 6.5 27.7 0C278.1 4 286.9 0 296 0c36.8 0 67.4 64.9 82.4 109.8C412 99.3 442 84.6 466.9 66.8c2.5-1.8 5.4-2.8 8.4-2.8c8.9 0 15.6 8.3 12.9 16.7C461.2 163.2 367.5 224 256 224S50.8 163.2 23.8 80.7C21 72.3 27.7 64 36.7 64c3 0 6 1 8.4 2.8C70 84.6 100 99.3 133.6 109.8C148.6 64.9 179.2 0 216 0zM48 304c0-37.9 10.1-73.4 27.8-104c48.8 35.3 112.5 56 180.2 56s131.4-20.6 180.2-56c17.7 30.6 27.8 66.1 27.8 104c0 114.9-93.1 208-208 208S48 418.9 48 304zm299.8 60.7c-27.9 7.8-59 12.1-91.6 12.1s-63.7-4.3-91.6-12.1c-12.4-3.5-24.3 7.3-18.6 18.8C166.2 424.1 208 452 256.2 452s90-27.9 110.2-68.6c5.7-11.5-6.2-22.2-18.6-18.8zM216 304a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M314.2 3.3C309.1 12.1 296 36.6 296 56c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C324.6 1.2 322.4 0 320 0s-4.6 1.2-5.8 3.3zm-288 48C21.1 60.1 8 84.6 8 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C36.6 49.2 34.4 48 32 48s-4.6 1.2-5.8 3.3zM88 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C101.1 60.1 88 84.6 88 104zm82.2-52.7C165.1 60.1 152 84.6 152 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM216 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C229.1 60.1 216 84.6 216 104zM394.2 51.3C389.1 60.1 376 84.6 376 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM440 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C453.1 60.1 440 84.6 440 104zm82.2-52.7C517.1 60.1 504 84.6 504 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM584 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C597.1 60.1 584 84.6 584 104zM112 160c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm160 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v96 16h32V272 176c0-8.8-7.2-16-16-16zM352 144c0-17.7-14.3-32-32-32s-32 14.3-32 32V320H96c-17.7 0-32-14.3-32-32V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 53 43 96 96 96H288v64H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H544c53 0 96-43 96-96V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H352V144z\"]\n};\nvar faChartScatter3d = {\n prefix: 'fas',\n iconName: 'chart-scatter-3d',\n icon: [512, 512, [], \"e0e8\", \"M32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V273L43.5 423.4c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1L256 329.7 427.5 472.6c13.6 11.3 33.8 9.5 45.1-4.1s9.5-33.8-4.1-45.1L288 273V64zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM256 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDisplayChartUp = {\n prefix: 'fas',\n iconName: 'display-chart-up',\n icon: [576, 512, [], \"e5e3\", \"M0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336l10.7 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416H64c-35.3 0-64-28.7-64-64V64zm64 0V352H512V64H64zM376 96h80c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V177.9L321 289c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-63-63-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 175c9.4-9.4 24.6-9.4 33.9 0l63 63L398.1 144H376c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSquareCode = {\n prefix: 'fas',\n iconName: 'square-code',\n icon: [448, 512, [], \"e267\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm262.2 71.9c-8.9 9.9-8.1 25 1.8 33.9L324.1 256l-60.2 54.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72c-9.9-8.9-25-8.1-33.9 1.8zm-78.1 33.9c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L123.9 256l60.2-54.2z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nvar faVolumeLow = {\n prefix: 'fas',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM412.6 181.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"]\n};\nvar faVolumeDown = faVolumeLow;\nvar faXmarkToSlot = {\n prefix: 'fas',\n iconName: 'xmark-to-slot',\n icon: [576, 512, [\"times-to-slot\", \"vote-nay\"], \"f771\", \"M96 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V384H96V80zm145 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47zM0 336c0-26.5 21.5-48 48-48H64V416H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faTimesToSlot = faXmarkToSlot;\nvar faVoteNay = faXmarkToSlot;\nvar faBoxTaped = {\n prefix: 'fas',\n iconName: 'box-taped',\n icon: [448, 512, [\"box-alt\"], \"f49a\", \"M50.7 58.5L0 160H160L192 32H93.7C75.5 32 58.9 42.3 50.7 58.5zM288 160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H256l32 128zM160 192H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192H288v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192z\"]\n};\nvar faBoxAlt = faBoxTaped;\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zM64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104-17.9L82.9 161.3C70.7 185.6 64 212.2 64 240z\"]\n};\nvar faSwords = {\n prefix: 'fas',\n iconName: 'swords',\n icon: [512, 512, [9876], \"f71d\", \"M4.7 4.7C8.5 .9 13.9-.7 19.1 .3L89.6 14.4c9.3 1.9 17.8 6.4 24.5 13.1L393.4 306.7l-86.6 86.6L27.5 114.2c-6.7-6.7-11.3-15.2-13.1-24.5L.3 19.1C-.7 13.9 .9 8.5 4.7 4.7zm454.6 304l16 16c4.7 4.7 6 11.8 3.3 17.8l-27.5 62 56.2 56.2c6.2 6.2 6.2 16.4 0 22.6l-24 24c-6.2 6.2-16.4 6.2-22.6 0l-56.2-56.2-62 27.5c-6.1 2.7-13.1 1.4-17.8-3.3l-16-16c-6.2-6.2-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0zM96 329.4l50.7-50.7 86.6 86.6L182.6 416l20.7 20.7c6.2 6.2 6.2 16.4 0 22.6l-16 16c-4.7 4.7-11.8 6-17.8 3.3l-62-27.5L51.3 507.3c-6.2 6.2-16.4 6.2-22.6 0l-24-24c-6.2-6.2-6.2-16.4 0-22.6l56.2-56.2-27.5-62c-2.7-6.1-1.4-13.1 3.3-17.8l16-16c6.2-6.2 16.4-6.2 22.6 0L96 329.4zM484.5 114.2L365.3 233.4l-86.6-86.6L397.8 27.5c6.7-6.7 15.2-11.3 24.5-13.1L492.9 .3c5.2-1 10.7 .6 14.5 4.4s5.4 9.2 4.4 14.5L497.6 89.6c-1.9 9.3-6.4 17.8-13.1 24.5z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm69.4 276c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm74.5-116.1c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faAlbum = {\n prefix: 'fas',\n iconName: 'album',\n icon: [448, 512, [128189], \"f89f\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM384 256A160 160 0 1 0 64 256a160 160 0 1 0 320 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleN = {\n prefix: 'fas',\n iconName: 'circle-n',\n icon: [512, 512, [], \"e118\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM203.7 138.3L304 283.2V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.5-6.8 19.8-16.8 22.9s-20.9-.6-26.9-9.2L208 228.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.5 6.8-19.8 16.8-22.9s20.9 .6 26.9 9.2z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]\n};\nvar faWheatAwn = {\n prefix: 'fas',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L486.5 231c6.2-6.2 6.2-16.4 0-22.6L475.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3z\"]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M96 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 41.6-20.7 76.6-46.6 104.1c-5.9 6.2-11.8 11.8-17.4 16.7c-5.6-4.9-11.5-10.5-17.4-16.7C116.7 204.6 96 169.6 96 128zM160 0C89.3 0 32 57.3 32 128c0 52.4 21.5 95.5 46.8 128H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H241.2c25.4-32.5 46.8-75.6 46.8-128C288 57.3 230.7 0 160 0z\"]\n};\nvar faHandsHoldingChild = {\n prefix: 'fas',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M320 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm44.7 164.3L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l27.9-23.6C271.3 104.8 295.3 96 320 96s48.7 8.8 67.6 24.7l27.9 23.6c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8l-19.8-16.7zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c17.7 0 32 14.3 32 32V199.5l111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V312.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faKeySkeletonLeftRight = {\n prefix: 'fas',\n iconName: 'key-skeleton-left-right',\n icon: [640, 512, [], \"e3b4\", \"M576 128a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm64 0c0 70.7-57.3 128-128 128c-59.6 0-109.8-40.8-124-96H320v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160H224l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l196 0C402.2 40.8 452.4 0 512 0c70.7 0 128 57.3 128 128zM64 384a64 64 0 1 0 128 0A64 64 0 1 0 64 384zM0 384c0-70.7 57.3-128 128-128c59.6 0 109.8 40.8 124 96l68 0V320c0-17.7 14.3-32 32-32s32 14.3 32 32v32h32l0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-196 0c-14.2 55.2-64.3 96-124 96C57.3 512 0 454.7 0 384z\"]\n};\nvar faCommentLines = {\n prefix: 'fas',\n iconName: 'comment-lines',\n icon: [512, 512, [], \"f4b0\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM152 176H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faLuchadorMask = {\n prefix: 'fas',\n iconName: 'luchador-mask',\n icon: [448, 512, [\"luchador\", \"mask-luchador\"], \"f455\", \"M224 0C100.3 0 0 100.3 0 224v96C0 426 86 512 192 512h64c106 0 192-86 192-192V224C448 100.3 347.7 0 224 0zM128 384c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H252.7 195.3 160c-17.7 0-32 14.3-32 32zm-32 0c0-33.2 25.2-60.5 57.6-63.7c-1-3.7-1.6-7.6-1.6-11.6c0-7.3 1.8-14.4 5.3-20.7H144c-44.2 0-80-35.8-80-80c0-26.5 21.5-48 48-48h32c44.2 0 80 35.8 80 80c0-44.2 35.8-80 80-80h32c26.5 0 48 21.5 48 48c0 44.2-35.8 80-80 80H290.7c3.4 6.3 5.3 13.4 5.3 20.7c0 4-.6 7.9-1.6 11.6c32.3 3.2 57.6 30.5 57.6 63.7c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64zm156.7-64h.2c6.1 0 11.1-5 11.1-11.1c0 0 0-.1 0-.1s0-.1 0-.1c0-3-1.2-5.9-3.3-8l-8-8-4.2-4.2-.4-.4-10.3-10.3C234 274 229.1 272 224 272s-10 2-13.7 5.7L200 288l-.4 .4-4.2 4.2-8 8c-2.1 2.1-3.3 5-3.3 8c0 0 0 .1 0 .1s0 .1 0 .1c0 6.1 5 11.1 11.1 11.1h.2 11.3 6 .6 21.5 .6 6 11.3zM112 192c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16-7.2 16-16c0-26.5-21.5-48-48-48H112zm240 16c0-8.8-7.2-16-16-16H304c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16h32c26.5 0 48-21.5 48-48z\"]\n};\nvar faLuchador = faLuchadorMask;\nvar faMaskLuchador = faLuchadorMask;\nvar faSquareCheck = {\n prefix: 'fas',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faShredder = {\n prefix: 'fas',\n iconName: 'shredder',\n icon: [512, 512, [], \"f68a\", \"M64 64C64 28.7 92.7 0 128 0H354.7c17 0 33.3 6.7 45.3 18.7L429.3 48c12 12 18.7 28.3 18.7 45.3V192c35.3 0 64 28.7 64 64v96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V256c0-35.3 28.7-64 64-64V64zM384 93.3L354.7 64H128V192H384V93.3zM432 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM40 416H88v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V416zm96 0h48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V416zm96 0h48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V416zm96 0h48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V416zm96 0h48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V416z\"]\n};\nvar faBookOpenCover = {\n prefix: 'fas',\n iconName: 'book-open-cover',\n icon: [640, 512, [\"book-open-alt\"], \"e0c0\", \"M304 32V408L96 368V34.7C96 14.9 113.8-.2 133.3 3.1L304 32zM89.7 405.1L320 451.2l230.3-46.1c15-3 25.7-16.1 25.7-31.4V28.8l25.7-5.1C621.5 19.7 640 34.8 640 55V421.8c0 15.3-10.8 28.4-25.7 31.4L320 512 25.7 453.1C10.8 450.2 0 437 0 421.8V55C0 34.8 18.5 19.7 38.3 23.7L64 28.8v345c0 15.3 10.8 28.4 25.7 31.4zM336 408V32L506.7 3.1C526.2-.2 544 14.9 544 34.7V368L336 408z\"]\n};\nvar faBookOpenAlt = faBookOpenCover;\nvar faSandwich = {\n prefix: 'fas',\n iconName: 'sandwich',\n icon: [512, 512, [129386], \"f81f\", \"M0 96C0 78.3 14.3 64 32 64H480c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V96zM303.9 382.6c10 5.8 22.3 5.8 32.2 0l70.2-40.9c6.4-3.7 13.6-5.7 20.9-5.7H432h48c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V368c0-17.7 14.3-32 32-32H208h4.8c7.4 0 14.6 2 20.9 5.7l70.2 40.9zM32 304c-17.7 0-32-14.3-32-32s14.3-32 32-32c7.2 0 15.8-3.7 35.4-13c16.6-7.8 40.6-19 68.6-19c30.6 0 53 10.2 70.1 18l1.9 .9c17.2 7.8 29.7 13.1 48.1 13.1s30.9-5.3 48.1-13.1l1.9-.9c17-7.8 39.4-18 70.1-18c28 0 52.1 11.3 68.6 19c19.6 9.2 28.2 13 35.4 13c17.7 0 32 14.3 32 32s-14.3 32-32 32c-22.7 0-44.3-10.3-58.8-17.2l0 0c-1.3-.6-2.6-1.2-3.8-1.8c-17.4-8.2-29.4-13-41.4-13c-16.2 0-27.5 5-45.4 13.1l-.1 0c-18 8.2-41.4 18.9-74.5 18.9s-56.6-10.7-74.5-18.9l-.1 0C163.5 277 152.2 272 136 272c-12 0-23.9 4.7-41.4 13c-1.2 .6-2.5 1.2-3.8 1.8C76.3 293.7 54.7 304 32 304z\"]\n};\nvar faPesetaSign = {\n prefix: 'fas',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M64 32C46.3 32 32 46.3 32 64v96c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 96V448c0 17.7 14.3 32 32 32s32-14.3 32-32V352h96c77.4 0 142-55 156.8-128H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-3.2C334 87 269.4 32 192 32H64zM282.5 160H96V96h96c41.8 0 77.4 26.7 90.5 64zM96 224H282.5c-13.2 37.3-48.7 64-90.5 64H96V224z\"]\n};\nvar faSquareParkingSlash = {\n prefix: 'fas',\n iconName: 'square-parking-slash',\n icon: [640, 512, [\"parking-slash\"], \"f617\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L38.8 5.1zM227 152.7c6-14.5 20.3-24.7 37-24.7h72c53 0 96 43 96 96c0 26.3-10.6 50.2-27.8 67.5l-51.4-40.3c9.1-5.6 15.2-15.7 15.2-27.2c0-17.7-14.3-32-32-32H288v8.4l-61-47.8zM224 288V272.5L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4L288 322.9V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V288z\"]\n};\nvar faParkingSlash = faSquareParkingSlash;\nvar faTrainTunnel = {\n prefix: 'fas',\n iconName: 'train-tunnel',\n icon: [512, 512, [], \"e454\", \"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h41.4l64.3-64.3C137.3 444.5 112 417.2 112 384V192c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64V384c0 33.2-25.3 60.5-57.7 63.7L406.6 512H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM361.4 512l-64-64H214.6l-64 64H361.4zM184 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H184zM288 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 64C0 46.3 14.3 32 32 32H80h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H112V208H336V96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h48 48c17.7 0 32 14.3 32 32s-14.3 32-32 32H400V240 416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H368 320c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112V416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V240 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M40.1 467.1l-11.2 9c-3.2 2.5-7.1 3.9-11.1 3.9C8 480 0 472 0 462.2V192C0 86 86 0 192 0S384 86 384 192V462.2c0 9.8-8 17.8-17.8 17.8c-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceAnguished = {\n prefix: 'fas',\n iconName: 'face-anguished',\n icon: [512, 512, [], \"e369\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faHockeySticks = {\n prefix: 'fas',\n iconName: 'hockey-sticks',\n icon: [640, 512, [], \"f454\", \"M220.6 17.7l82.3 164.6-35.8 71.6L163.4 46.3c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3zM372.8 322.1L387.8 352H544V480v32H480v0H435.8c-24.2 0-46.4-13.7-57.2-35.4l-41.5-83 35.8-71.6zM576 352h32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H576V352zM462.3 3.4c15.8 7.9 22.2 27.1 14.3 42.9L261.5 476.6c-10.8 21.7-33 35.4-57.2 35.4H160 128 96V480 352H252.2L419.4 17.7c7.9-15.8 27.1-22.2 42.9-14.3zM0 384c0-17.7 14.3-32 32-32H64V512H32c-17.7 0-32-14.3-32-32V384z\"]\n};\nvar faAbacus = {\n prefix: 'fas',\n iconName: 'abacus',\n icon: [576, 512, [129518], \"f640\", \"M512 96V208H448V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V96h64zm-96 32h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H288V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V96H416v32zm-160 0h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H160V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V96h96v32zm-128 0h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H64V96h64v32zM64 416l0-176h64v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H64zm96-32h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V312h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240h96v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H160V384zm128-72h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240H416v96h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H288V384h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V312zm160 72h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240h64V416H448V384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFilmSimple = {\n prefix: 'fas',\n iconName: 'film-simple',\n icon: [512, 512, [\"film-alt\"], \"f3a0\", \"M384 32H128V80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64V432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48H384V432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64V80c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V32zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176zm336-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zM64 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V304zm336-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faFilmAlt = faFilmSimple;\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z\"]\n};\nvar faListSquares = faList;\nvar faTreePalm = {\n prefix: 'fas',\n iconName: 'tree-palm',\n icon: [576, 512, [127796], \"f82b\", \"M102.9 91.4l30.3 50.5c-4 3.5-8 7.2-12 11.2c-71 71-60.2 151-32.7 191.3c5 7.3 15.2 7.3 21.4 1L248.4 206.9c4 10.8 7.8 26.2 9.7 47.2c4.2 46.5-1.6 116.8-32.7 216.4c-3 9.7-1.3 20.3 4.8 28.5s15.6 13 25.8 13h64c16.1 0 29.8-12 31.8-28c12.4-99-2.3-207.2-31.7-292H446.7c2.8 0 5.4-1.5 6.9-3.9l19.6-32.7c3.1-5.2 10.6-5.2 13.7 0l19.6 32.7c1.4 2.4 4.1 3.9 6.9 3.9H560c8.8 0 16.1-7.2 14.4-15.9C565.3 128.2 516.4 64 416 64c-43.7 0-77.6 12.2-102.8 29.8C296.5 49.4 248 0 160 0C59.6 0 10.7 64.2 1.6 112.1C-.1 120.8 7.2 128 16 128H62.7c2.8 0 5.4-1.5 6.9-3.9L89.1 91.4c3.1-5.2 10.6-5.2 13.7 0z\"]\n};\nvar faSquarePhoneFlip = {\n prefix: 'fas',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zm-90.7 96.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20h44v44c0 11 9 20 20 20s20-9 20-20V180h44c11 0 20-9 20-20s-9-20-20-20H356V96c0-11-9-20-20-20s-20 9-20 20v44H272c-11 0-20 9-20 20z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 64C86 64 0 150 0 256S86 448 192 448H448c106 0 192-86 192-192s-86-192-192-192H192zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200z\"]\n};\nvar faBorderCenterV = {\n prefix: 'fas',\n iconName: 'border-center-v',\n icon: [448, 512, [], \"f89d\", \"M448 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 352A32 32 0 1 0 0 352a32 32 0 1 0 64 0zM384 160a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 160A32 32 0 1 0 0 160a32 32 0 1 0 64 0zm320 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM384 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64zM64 448A32 32 0 1 0 0 448a32 32 0 1 0 64 0zM288 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM352 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM288 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM96 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm64-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 384z\"]\n};\nvar faCircleDot = {\n prefix: 'fas',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faClipboardMedical = {\n prefix: 'fas',\n iconName: 'clipboard-medical',\n icon: [384, 512, [], \"e133\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]\n};\nvar faFaceDizzy = {\n prefix: 'fas',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-224a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 496C86 496 0 394 0 288C0 176 64 16 192 16s192 160 192 272c0 106-86 208-192 208zM154.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C69.7 226.1 64 259.7 64 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nvar faUpToLine = {\n prefix: 'fas',\n iconName: 'up-to-line',\n icon: [384, 512, [\"arrow-alt-to-top\"], \"f34d\", \"M342.1 262.1L219.3 139.3c-7.2-7.2-17.1-11.3-27.3-11.3s-20.1 4.1-27.3 11.3L41.9 262.1c-6.4 6.4-9.9 15-9.9 24C32 304.8 47.2 320 65.9 320l62.1 0 0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V320l62.1 0c18.7 0 33.9-15.2 33.9-33.9c0-9-3.6-17.6-9.9-24zM32 96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96z\"]\n};\nvar faArrowAltToTop = faUpToLine;\nvar faHouseMedicalCircleXmark = {\n prefix: 'fas',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faWatchFitness = {\n prefix: 'fas',\n iconName: 'watch-fitness',\n icon: [384, 512, [], \"f63e\", \"M64 48C64 21.5 85.5 0 112 0H272c26.5 0 48 21.5 48 48H64zm0 416H320c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48zM0 160c0-44.2 35.8-80 80-80H304c44.2 0 80 35.8 80 80V352c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V160zm141.3 0C107.4 160 80 187.4 80 221.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faClockNineThirty = {\n prefix: 'fas',\n iconName: 'clock-nine-thirty',\n icon: [512, 512, [], \"e34d\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V256c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M377 52c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5L288 60.8 249 12c-11-13.8-31.2-16-45-5s-16 31.2-5 45l48 60L12.3 405.4C4.3 415.4 0 427.7 0 440.4V464c0 26.5 21.5 48 48 48H288 528c26.5 0 48-21.5 48-48V440.4c0-12.7-4.3-25.1-12.3-35L329 112l48-60zM288 448H168.5L288 291.7 407.5 448H288z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faJug = {\n prefix: 'fas',\n iconName: 'jug',\n icon: [448, 512, [], \"f8c6\", \"M160 0H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM400 168c0-13.3-10.7-24-24-24c-10.3 0-19.1 6.5-22.5 15.6l25.1 32.2c12.1-1.3 21.4-11.5 21.4-23.9zm-89.3-63.3l11.8 15.1C335.7 105.2 354.8 96 376 96c39.8 0 72 32.2 72 72c0 29.2-17.4 54.3-42.3 65.6c6.8 15.8 10.3 32.9 10.3 50.3V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V283.9c0-28.5 9.5-56.1 27-78.6l78.3-100.7c2.1-2.6 3.7-5.6 4.8-8.7H305.9c1.1 3.1 2.7 6 4.8 8.7zM128 288c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H128z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M417.3 360.1l-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6C289.5 445.8 273 448 256 448s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15l-26.7-66.6C128 109.2 155.3 89 186.7 76.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faSnowBlowing = {\n prefix: 'fas',\n iconName: 'snow-blowing',\n icon: [640, 512, [], \"f761\", \"M512 48h32c53 0 96 43 96 96s-43 96-96 96H416c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H512c-17.7 0-32-14.3-32-32s14.3-32 32-32zM176 64c13.3 0 24 10.7 24 24v25.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L200 158.6v55.8l48.3-27.9 12.9-48.2c2.3-8.5 11.1-13.6 19.6-11.3s13.6 11.1 11.3 19.6l-4.6 17.3 22-12.7c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8l-22 12.7 17.3 4.6c8.5 2.3 13.6 11.1 11.3 19.6s-11.1 13.6-19.6 11.3l-48.2-12.9L224 256l48.3 27.9L320.6 271c8.5-2.3 17.3 2.8 19.6 11.3s-2.8 17.3-11.3 19.6l-17.3 4.6 22 12.7c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8l-22-12.7 4.6 17.3c2.3 8.5-2.8 17.3-11.3 19.6s-17.3-2.8-19.6-11.3l-12.9-48.2L200 297.6v55.8l35.3 35.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L200 398.6V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L152 353.4V297.6l-48.3 27.9L90.7 373.7c-2.3 8.5-11.1 13.6-19.6 11.3s-13.6-11.1-11.3-19.6l4.6-17.3-22 12.7C31 367.4 16.4 363.5 9.7 352s-2.7-26.2 8.8-32.8l22-12.7-17.3-4.6c-8.5-2.3-13.6-11.1-11.3-19.6s11.1-13.6 19.6-11.3l48.2 12.9L128 256 79.7 228.1 31.4 241c-8.5 2.3-17.3-2.8-19.6-11.3s2.8-17.3 11.3-19.6l17.3-4.6-22-12.7C7 186.2 3.1 171.5 9.7 160s21.3-15.4 32.8-8.8l22 12.7-4.6-17.3c-2.3-8.5 2.8-17.3 11.3-19.6s17.3 2.8 19.6 11.3l12.9 48.2L152 214.4V158.6l-35.3-35.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L152 113.4V88c0-13.3 10.7-24 24-24zM480 432c0-17.7 14.3-32 32-32h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H416c-17.7 0-32-14.3-32-32s14.3-32 32-32H536c53 0 96 43 96 96s-43 96-96 96H512c-17.7 0-32-14.3-32-32z\"]\n};\nvar faPaintbrush = {\n prefix: 'fas',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H208c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z\"]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z\"]\n};\nvar faArrowDownFromLine = {\n prefix: 'fas',\n iconName: 'arrow-down-from-line',\n icon: [384, 512, [8615, \"arrow-from-top\"], \"f345\", \"M214.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 370.7V192c0-17.7 14.3-32 32-32s32 14.3 32 32V370.7l73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128zM32 96C14.3 96 0 81.7 0 64S14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32z\"]\n};\nvar faArrowFromTop = faArrowDownFromLine;\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M32 64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V256h8c48.6 0 88 39.4 88 88v32c0 13.3 10.7 24 24 24s24-10.7 24-24V222c-27.6-7.1-48-32.2-48-62V96L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3V168v24 32V376c0 39.8-32.2 72-72 72s-72-32.2-72-72V344c0-22.1-17.9-40-40-40h-8V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64zM96 80v96c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSignalBarsSlash = {\n prefix: 'fas',\n iconName: 'signal-bars-slash',\n icon: [640, 512, [\"signal-alt-slash\"], \"f694\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L608 451.2V48c0-26.5-21.5-48-48-48s-48 21.5-48 48V376l-64-50.2V176c0-26.5-21.5-48-48-48s-48 21.5-48 48v74.6L38.8 5.1zM288 322.9l-74.7-58.8C200.5 272.7 192 287.4 192 304V464c0 26.5 21.5 48 48 48s48-21.5 48-48V322.9zM448 464V449l-96-75.6V464c0 26.5 21.5 48 48 48s48-21.5 48-48zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\"]\n};\nvar faSignalAltSlash = faSignalBarsSlash;\nvar faMonkey = {\n prefix: 'fas',\n iconName: 'monkey',\n icon: [576, 512, [128018], \"f6fb\", \"M160 416c0-89.7 61.4-165 144.5-186.1C329.1 265 369.9 288 416 288c9.8 0 19.4-1 28.7-3L526.5 363c31.6 30.2 49.5 72 49.5 115.7V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-26.2-10.7-51.3-29.7-69.4L416 346.1V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 160C71.6 512 0 440.4 0 352V110.1C0 49.3 49.3 0 110.1 0h10.4c57.2 0 102.8 47.8 100.1 104.9c-2.3 48.2-38.6 88-86.4 94.6l-1.9 .3c-17.5 2.4-33.7-9.8-36.1-27.3s9.8-33.7 27.3-36.1l1.9-.3c17.3-2.4 30.4-16.7 31.2-34.2c1-20.6-15.5-37.9-36.2-37.9H110.1C84.7 64 64 84.7 64 110.1V352c0 53 43 96 96 96V416zM416 256c-29.3 0-55.9-12.2-74.8-31.7c-9-9.3-16.2-20.2-21.3-32.3c-35.3 0-64-28.7-64-64s28.6-64 64-64c15.7-37.6 52.8-64 96-64s80.4 26.4 96 64c35.3 0 64 28.7 64 64s-28.6 64-64 64c-15.7 37.6-52.8 64-96 64zM384 64c-26.5 0-48 21.5-48 48c0 20.8 13.2 38.4 31.6 45.1c4.7 1.7 8.4 5.9 8.4 10.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-5 3.7-9.2 8.4-10.9c18.5-6.7 31.6-24.4 31.6-45.1c0-26.5-21.5-48-48-48H384zm0 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faRectanglePro = {\n prefix: 'fas',\n iconName: 'rectangle-pro',\n icon: [640, 512, [\"pro\"], \"e235\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm40 128h56c35.3 0 64 28.7 64 64s-28.7 64-64 64H128v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184c0-13.3 10.7-24 24-24zm56 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H128v32h32zm80-56c0-13.3 10.7-24 24-24h56c35.3 0 64 28.7 64 64c0 21.9-11 41.2-27.7 52.7l24.1 38.5c7 11.2 3.6 26-7.6 33.1s-26 3.6-33.1-7.6l-33-52.7H288v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184zm48 56h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288v32zm200-80c48.6 0 88 39.4 88 88v16c0 48.6-39.4 88-88 88s-88-39.4-88-88V248c0-48.6 39.4-88 88-88zm-40 88v16c0 22.1 17.9 40 40 40s40-17.9 40-40V248c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faPro = faRectanglePro;\nvar faHouseNight = {\n prefix: 'fas',\n iconName: 'house-night',\n icon: [640, 512, [], \"e010\", \"M125.2 16.1c6.2-4.4 5.4-14.8-2.2-15.6c-3.6-.4-7.3-.5-11-.5C50.1 0 0 50.1 0 112s50.1 112 112 112c32.1 0 61.1-13.5 81.5-35.2c5.2-5.6-1-14-8.6-13.2c-2.9 .3-5.9 .4-9 .4c-48.6 0-88-39.4-88-88c0-29.7 14.7-55.9 37.2-71.9zm138.3-3.8c-2.6-7-12.4-7-15 0L236.6 44.6 204.3 56.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15L275.4 44.6 263.5 12.3zm158.2 92.2c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.7 8.9-12.9 22.9-8.1 35.2S178.8 352 192 352h32V464c0 26.5 21.5 48 48 48H528c26.5 0 48-21.5 48-48V352h32c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM352 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V304zM88.5 332.3L76.6 364.6 44.3 376.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15l-32.3-11.9-11.9-32.3c-2.6-7-12.4-7-15 0z\"]\n};\nvar faHotTubPerson = {\n prefix: 'fas',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L295.8 82.8C280.7 69.1 272 49.7 272 29.2V24zM0 320v16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H277.3c-13.8 0-27.3-4.5-38.4-12.8l-85.3-64C137 166.7 116.8 160 96 160c-53 0-96 43-96 96v64zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm112 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM360 0c-13.3 0-24 10.7-24 24v5.2c0 34 14.4 66.4 39.7 89.2l16.4 14.8c15.2 13.7 23.8 33.1 23.8 53.5V200c0 13.3 10.7 24 24 24s24-10.7 24-24V186.8c0-34-14.4-66.4-39.7-89.2L407.8 82.8C392.7 69.1 384 49.7 384 29.2V24c0-13.3-10.7-24-24-24zM64 128A64 64 0 1 0 64 0a64 64 0 1 0 0 128z\"]\n};\nvar faHotTub = faHotTubPerson;\nvar faBlanket = {\n prefix: 'fas',\n iconName: 'blanket',\n icon: [448, 512, [], \"f498\", \"M0 128V352c0 70.7 57.3 128 128 128H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-35.3 0-64-28.7-64-64s28.7-64 64-64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H368c44.2 0 80-35.8 80-80V128c0-53-43-96-96-96H96C43 32 0 75 0 128z\"]\n};\nvar faMapLocation = {\n prefix: 'fas',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM416 503l144.9-58c9.1-3.6 15.1-12.5 15.1-22.3V152c0-17-17.1-28.6-32.9-22.3l-116 46.4c-.5 1.2-1 2.5-1.5 3.7c-2.9 6.8-6.1 13.7-9.6 20.6V503zM15.1 187.3C6 191 0 199.8 0 209.6V480.4c0 17 17.1 28.6 32.9 22.3L160 451.8V200.4c-3.5-6.9-6.7-13.8-9.6-20.6c-5.6-13.2-10.4-27.4-12.8-41.5l-122.6 49zM384 255c-20.5 31.3-42.3 59.6-56.2 77c-20.5 25.6-59.1 25.6-79.6 0c-13.9-17.4-35.7-45.7-56.2-77V449.4l192 54.9V255z\"]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'fas',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M306.8 6.1C295.6-2 280.4-2 269.2 6.1l-176 128c-11.2 8.2-15.9 22.6-11.6 35.8S98.1 192 112 192h16v73c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.5-1 3-2 4.5-2.9l-.3-73.2H464c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128zM269.5 309.9C247 325.4 219.5 336 192 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 389.7 159 400 192 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nvar faCommentsQuestionCheck = {\n prefix: 'fas',\n iconName: 'comments-question-check',\n icon: [640, 512, [], \"e14f\", \"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5zM180.2 77.3h48.5c29.1 0 52.6 23.6 52.6 52.6c0 18.8-10.1 36.3-26.4 45.6L228 191c-.2 10.9-9.1 19.6-20 19.6c-11 0-20-9-20-20V179.5c0-7.2 3.8-13.8 10-17.3L235 140.9c3.9-2.3 6.3-6.4 6.3-10.9c0-7-5.7-12.6-12.6-12.6H180.2c-2.8 0-5.3 1.8-6.3 4.4l-.4 1c-3.7 10.4-15.1 15.9-25.5 12.2s-15.9-15.1-12.2-25.5l.4-1c6.6-18.6 24.2-31.1 44-31.1zm27.8 160a26.7 26.7 0 1 1 0 53.3 26.7 26.7 0 1 1 0-53.3zm358.1 88.8l-80 80c-7.8 7.8-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0L472 363.7l65.9-65.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\"]\n};\nvar faArrowsCross = {\n prefix: 'fas',\n iconName: 'arrows-cross',\n icon: [448, 512, [], \"e0a2\", \"M54.6 41.4c-12.5-12.5-32.8-12.5-45.3 0S-3.1 74.1 9.4 86.6L156.1 233.4l45.3-45.3L54.6 41.4zM338.7 416H288c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v50.7l-92.1-92.1-45.3 45.3L338.7 416zM288 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L9.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 141.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H288z\"]\n};\nvar faBackpack = {\n prefix: 'fas',\n iconName: 'backpack',\n icon: [448, 512, [127890], \"f5d4\", \"M192 48h64c4.4 0 8 3.6 8 8V96H184V56c0-4.4 3.6-8 8-8zm-56 8V96h-8C57.3 96 0 153.3 0 224V448c0 35.3 28.7 64 64 64l0-112V352c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64v48V512c35.3 0 64-28.7 64-64V224c0-70.7-57.3-128-128-128h-8V56c0-30.9-25.1-56-56-56H192c-30.9 0-56 25.1-56 56zM352 512V416H96v96H352zM144 176H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16zM352 384V352c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v32H352z\"]\n};\nvar faSquareSmall = {\n prefix: 'fas',\n iconName: 'square-small',\n icon: [320, 512, [], \"e27e\", \"M0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160z\"]\n};\nvar faFolderArrowUp = {\n prefix: 'fas',\n iconName: 'folder-arrow-up',\n icon: [512, 512, [\"folder-upload\"], \"e054\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM280 376V273.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V376c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faFolderUpload = faFolderArrowUp;\nvar faBridgeLock = {\n prefix: 'fas',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h-8c-61.9 0-112 50.1-112 112v24.6c-9.9 5.8-18.2 14.1-23.8 24.1c-17.6-20-43.4-32.7-72.2-32.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faCrosshairsSimple = {\n prefix: 'fas',\n iconName: 'crosshairs-simple',\n icon: [512, 512, [], \"e59f\", \"M445.3 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h61.3C431.9 368.4 368.4 431.9 288 445.3V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v61.3C143.6 431.9 80.1 368.4 66.7 288H128c17.7 0 32-14.3 32-32s-14.3-32-32-32H66.7C80.1 143.6 143.6 80.1 224 66.7V128c0 17.7 14.3 32 32 32s32-14.3 32-32V66.7C368.4 80.1 431.9 143.6 445.3 224zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256z\"]\n};\nvar faSackDollar = {\n prefix: 'fas',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M320 96H192L144.6 24.9C137.5 14.2 145.1 0 157.9 0H354.1c12.8 0 20.4 14.2 13.3 24.9L320 96zM192 128H320c3.8 2.5 8.1 5.3 13 8.4C389.7 172.7 512 250.9 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96C0 250.9 122.3 172.7 179 136.4l0 0 0 0c4.8-3.1 9.2-5.9 13-8.4zm84 88c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 11 9 20 20 20s20-9 20-20V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216z\"]\n};\nvar faPenToSquare = {\n prefix: 'fas',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160V416c0 53 43 96 96 96H352c53 0 96-43 96-96V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z\"]\n};\nvar faEdit = faPenToSquare;\nvar faSquareSliders = {\n prefix: 'fas',\n iconName: 'square-sliders',\n icon: [448, 512, [\"sliders-h-square\"], \"f3f0\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zm0-144c0 17.7-14.3 32-32 32l-32 0 0 16c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-16L96 368c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0 0-16c0-17.7 14.3-32 32-32s32 14.3 32 32l0 16 32 0c17.7 0 32 14.3 32 32zM352 144c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0 0 16c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-16-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-16c0-17.7 14.3-32 32-32s32 14.3 32 32l0 16 160 0z\"]\n};\nvar faSlidersHSquare = faSquareSliders;\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 96H224v96H111.3l30.4-75.9C146.5 104 158.2 96 171.3 96zM272 192V96h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMessageMiddleTop = {\n prefix: 'fas',\n iconName: 'message-middle-top',\n icon: [512, 512, [\"comment-middle-top-alt\"], \"e1e2\", \"M343.5 96H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H168.5L243.7 5.8c3-3.6 7.5-5.8 12.3-5.8s9.3 2.1 12.3 5.8L343.5 96z\"]\n};\nvar faCommentMiddleTopAlt = faMessageMiddleTop;\nvar faLightbulbOn = {\n prefix: 'fas',\n iconName: 'lightbulb-on',\n icon: [640, 512, [], \"f672\", \"M69.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S58.3-3.3 69.3 4zM597.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM117.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm432-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zm-100.1 5.7c-19.8 27.1-39.7 54.4-49.2 86.2H240c-9.6-31.9-29.5-59.1-49.2-86.2l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0zM400 432c0 44.2-35.8 80-80 80s-80-35.8-80-80V416H400v16zM320 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-61.9 0-112 50.1-112 112c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2 35.8-80 80-80z\"]\n};\nvar faKnife = {\n prefix: 'fas',\n iconName: 'knife',\n icon: [512, 512, [\"utensil-knife\"], \"f2e4\", \"M217.5 249.3l242-242c4.7-4.7 11-7.3 17.6-7.3c11.2 0 21 7.5 23.5 18.4C505.3 38.6 512 71.5 512 96c0 83.3-48.2 130.5-128.9 209.4c-6.5 6.4-13.3 13-20.3 19.9c-12.1 11.9-28.4 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-14.6-14.6-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192 16-16c0 0 .1-.1 .1-.1z\"]\n};\nvar faUtensilKnife = faKnife;\nvar faShareNodes = {\n prefix: 'fas',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z\"]\n};\nvar faShareAlt = faShareNodes;\nvar faDisplayChartUpCircleDollar = {\n prefix: 'fas',\n iconName: 'display-chart-up-circle-dollar',\n icon: [640, 512, [], \"e5e6\", \"M0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V211.2c-19.5-10-41.1-16.4-64-18.5V64H64V352H320.7c-.5 5.3-.7 10.6-.7 16c0 59.5 29.5 112.1 74.8 144H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416H64c-35.3 0-64-28.7-64-64V64zm480 56v72.7c-16.7 1.5-32.7 5.3-47.7 11.2c-.2-1.3-.3-2.6-.3-3.9V177.9L321 289c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-63-63-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 175c9.4-9.4 24.6-9.4 33.9 0l63 63L398.1 144H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faWaveSine = {\n prefix: 'fas',\n iconName: 'wave-sine',\n icon: [640, 512, [8767], \"f899\", \"M63.4 230.3l0-.1 .2-1c.2-.9 .5-2.4 1-4.3c1-3.8 2.5-9.4 4.6-16.2C73.6 195 80.3 177 90 159.4C110.2 122.8 137.8 96 176 96c29 0 49.1 14.4 67 44.4c19 31.8 31.9 75.4 46.3 124.5c.2 .8 .5 1.6 .7 2.4c13.5 46.2 28.4 97.5 52 137c25.1 42 63 75.6 122 75.6c73.8 0 118.2-53.2 142-96.6c12.3-22.4 20.6-44.5 25.7-60.8c2.6-8.2 4.5-15.1 5.7-20c.6-2.5 1.1-4.4 1.4-5.9c.2-.7 .3-1.3 .4-1.7l.1-.5 0-.2 0-.1 0 0c0 0 0 0-31.4-6.3l31.4 6.3c3.5-17.3-7.8-34.2-25.1-37.7s-34.2 7.8-37.7 25.1l0 0 0 .1-.2 1c-.2 .9-.5 2.4-1 4.3c-1 3.8-2.5 9.4-4.6 16.2c-4.3 13.7-11.1 31.6-20.8 49.2c-20.1 36.6-47.8 63.4-86 63.4c-29 0-49.1-14.4-67-44.4c-19-31.8-31.9-75.4-46.3-124.5c-.2-.8-.5-1.6-.7-2.4c-13.5-46.2-28.4-97.5-52-137C272.9 65.6 235 32 176 32C102.2 32 57.8 85.2 34 128.6C21.7 151 13.4 173 8.2 189.3c-2.6 8.2-4.5 15.1-5.7 20c-.6 2.5-1.1 4.4-1.4 5.9c-.2 .7-.3 1.3-.4 1.7l-.1 .5 0 .2 0 .1 0 0c0 0 0 0 31.4 6.3L.6 217.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1\"]\n};\nvar faHeartCircleMinus = {\n prefix: 'fas',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faCircleW = {\n prefix: 'fas',\n iconName: 'circle-w',\n icon: [512, 512, [], \"e12c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM150.9 168.7L192 297.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L320 297.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L256 254.7 214.9 383.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2s26.1 2.9 30.2 15.5z\"]\n};\nvar faCircleCalendar = {\n prefix: 'fas',\n iconName: 'circle-calendar',\n icon: [512, 512, [\"calendar-circle\"], \"e102\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 96c8.8 0 16 7.2 16 16v16h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32c17.7 0 32 14.3 32 32v32H128V160c0-17.7 14.3-32 32-32h32V112c0-8.8 7.2-16 16-16zM128 352V224H384V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32z\"]\n};\nvar faCalendarCircle = faCircleCalendar;\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 19-5.6 37.4-16 53H112c-10.3-15.6-16-34-16-53zm16 309c3.5-5.3 7.6-10.3 12.1-14.9L192 301.3l67.9 67.9c4.6 4.6 8.6 9.6 12.1 14.9H112z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M160 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM32 448H320c70.7 0 128-57.3 128-128s-57.3-128-128-128V128c106 0 192 86 192 192c0 49.2-18.5 94-48.9 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm80-64H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSunset = {\n prefix: 'fas',\n iconName: 'sunset',\n icon: [576, 512, [127751], \"f767\", \"M354.5 104.3L320 135.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V135.7l-34.5-31.3c-13.1-11.9-33.3-10.9-45.2 2.2s-10.9 33.3 2.2 45.2l88 80c12.2 11.1 30.8 11.1 43.1 0l88-80c13.1-11.9 14-32.1 2.2-45.2s-32.1-14-45.2-2.2zm48.7 132.8c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L288 289.1l-90.3-62.3c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L153 345 45.1 364.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L64 432H169.3c19-46.9 65-80 118.7-80s99.7 33.1 118.7 80H512l29.2-42.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L423 345 403.1 237.1zM0 488c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M288 96c0-17.7 14.3-32 32-32s32 14.3 32 32s14.3 32 32 32s32-14.3 32-32c0-53-43-96-96-96s-96 43-96 96V288H160V264c0-30.9-25.1-56-56-56H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H256 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H400V264c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24H288V96zM480 416V384H32v32c0 53 43 96 96 96H384c53 0 96-43 96-96z\"]\n};\nvar faCalendarExclamation = {\n prefix: 'fas',\n iconName: 'calendar-exclamation',\n icon: [448, 512, [], \"f334\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM192 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm56-176v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTruckContainerEmpty = {\n prefix: 'fas',\n iconName: 'truck-container-empty',\n icon: [640, 512, [], \"e2b5\", \"M456 144c-13.3 0-24 10.7-24 24v88 32 32H208 80 32c-17.7 0-32 14.3-32 32v32 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16L432 384l17.6 0c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H608c17.7 0 32-14.3 32-32V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H456zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM176 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandHeart = {\n prefix: 'fas',\n iconName: 'hand-heart',\n icon: [512, 512, [], \"f4bc\", \"M256 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176H284.8c-59.6 0-116.9-22.9-160-64L12.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zM208 362.6c0 12.1 5.1 23.6 14.1 31.6l55.2 49.7c6.1 5.5 15.3 5.5 21.4 0l55.2-49.7c9-8.1 14.1-19.6 14.1-31.6c0-23.5-19.1-42.6-42.6-42.6h-1.1c-14.6 0-28.3 7.3-36.4 19.5c-8.1-12.2-21.7-19.5-36.4-19.5h-1.1c-23.5 0-42.6 19.1-42.6 42.6z\"]\n};\nvar faBagShopping = {\n prefix: 'fas',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112c0-35.3 28.7-64 64-64s64 28.7 64 64v48H160V112zm-48 48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112v48zm24 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'fas',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 64c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96H352c-17.7 0-32-14.3-32-32zm96 192c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400h40.4L416 359.6 395.8 400z\"]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M352 384H64L5.4 178.9C1.8 166.4 0 153.4 0 140.3C0 62.8 62.8 0 140.3 0h3.4c66 0 123.5 44.9 139.5 108.9l31.4 125.8 17.6-20.1C344.8 200.2 362.9 192 382 192h2.8c34.9 0 63.3 28.3 63.3 63.3c0 15.9-6 31.2-16.8 42.9L352 384zM32 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448z\"]\n};\nvar faReplyClock = {\n prefix: 'fas',\n iconName: 'reply-clock',\n icon: [640, 512, [\"reply-time\"], \"e239\", \"M352 144a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zM496 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V80c0-8.8-7.2-16-16-16zm0 256c5.1 0 10.2-.2 15.2-.6c.5 5.5 .8 11 .8 16.6c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 257.7 0 249.1 0 240s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4s19 16.6 19 29.2v64h96.7c8.1 89.7 83.5 160 175.3 160z\"]\n};\nvar faReplyTime = faReplyClock;\nvar faPersonRays = {\n prefix: 'fas',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9l-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L328 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H248zM7 7C16.4-2.3 31.6-2.3 41 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7zM7 505c-9.4-9.4-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0zm464 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nvar faRight = {\n prefix: 'fas',\n iconName: 'right',\n icon: [448, 512, [11157, \"arrow-alt-right\"], \"f356\", \"M438.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-96L40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l184 0 0-96c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l160 160z\"]\n};\nvar faArrowAltRight = faRight;\nvar faCircleF = {\n prefix: 'fas',\n iconName: 'circle-f',\n icon: [512, 512, [], \"e10e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z\"]\n};\nvar faFacePleading = {\n prefix: 'fas',\n iconName: 'face-pleading',\n icon: [512, 512, [], \"e386\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM302.7 427.9c6.6-5.9 7.1-16 1.2-22.6C294.7 395.1 278.7 384 256 384s-38.7 11.1-47.9 21.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c4.7-5.3 12.7-10.7 24.1-10.7s19.4 5.4 24.1 10.7c5.9 6.6 16 7.1 22.6 1.2zM240 240c0-41.5-31.5-75.6-72-79.6c10-10.8 17.6-24.1 21.9-38.8l1.5-5.2c2.4-8.5-2.5-17.4-11-19.8s-17.4 2.5-19.8 11l-1.5 5.2c-7 24.7-28.1 42.7-53.6 45.9L94 160.1c-8.8 1.1-15 9.1-13.9 17.9c1 8.1 7.9 14 15.9 14c-10 13.4-16 30-16 48c0 44.2 35.8 80 80 80s80-35.8 80-80zm192 0c0-18-6-34.6-16-48c8 0 14.9-5.9 15.9-14c1.1-8.8-5.1-16.8-13.9-17.9l-11.5-1.4c-25.5-3.2-46.6-21.3-53.6-45.9l-1.5-5.2c-2.4-8.5-11.3-13.4-19.8-11s-13.4 11.3-11 19.8l1.5 5.2c4.2 14.8 11.8 28 21.9 38.8c-40.4 4-72 38.1-72 79.6c0 44.2 35.8 80 80 80s80-35.8 80-80zm-304-8c17.7 0 32-14.3 32-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4zm224-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4c17.7 0 32-14.3 32-32z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"]\n};\nvar faFlaskVial = {\n prefix: 'fas',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M175 389.4c-9.8 16-15 34.3-15 53.1c-10 3.5-20.8 5.5-32 5.5c-53 0-96-43-96-96V64C14.3 64 0 49.7 0 32S14.3 0 32 0H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V309.9l-49 79.6zM96 64v96h64V64H96zM352 0H480h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V214.9L629.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H261.4c-38.3 0-69.4-31.1-69.4-69.4c0-12.8 3.6-25.4 10.3-36.4L320 214.9V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h32zm32 64V224c0 5.9-1.6 11.7-4.7 16.8L330.5 320h171l-48.8-79.2c-3.1-5-4.7-10.8-4.7-16.8V64H384z\"]\n};\nvar faPoliceBox = {\n prefix: 'fas',\n iconName: 'police-box',\n icon: [384, 512, [], \"e021\", \"M192 0c8.8 0 16 7.2 16 16V32h80c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V96c0-17.7 14.3-32 32-32c0-17.7 14.3-32 32-32h80V16c0-8.8 7.2-16 16-16zM96 136v24h32V128H104c-4.4 0-8 3.6-8 8zm0 40v24c0 4.4 3.6 8 8 8h24V176H96zm72-48H144v32h32V136c0-4.4-3.6-8-8-8zm-24 48v32h24c4.4 0 8-3.6 8-8V176H144zm72-48c-4.4 0-8 3.6-8 8v24h32V128H216zm24 48H208v24c0 4.4 3.6 8 8 8h24V176zm16-48v32h32V136c0-4.4-3.6-8-8-8H256zm32 48H256v32h24c4.4 0 8-3.6 8-8V176zM96 256v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCucumber = {\n prefix: 'fas',\n iconName: 'cucumber',\n icon: [512, 512, [129362], \"e401\", \"M37.5 474.5c47.8 47.8 124 49.9 174.3 6.3c12.6 10.3 31.1 9.6 42.9-2.2c11.6-11.6 12.4-30 2.4-42.6L436 257c12.6 10.1 31 9.3 42.6-2.4c11.7-11.7 12.5-30.3 2.2-42.9c43.6-50.3 41.5-126.5-6.3-174.3c-50-50-131-50-181 0L172 159c-12.6-10.1-31-9.3-42.6 2.4s-12.4 30-2.4 42.6L37.5 293.5c-50 50-50 131 0 181zM400 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM304 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM120 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faHeadSideBrain = {\n prefix: 'fas',\n iconName: 'head-side-brain',\n icon: [512, 512, [], \"f808\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM285.3 208H336c26.5 0 48-21.5 48-48s-21.5-48-48-48c-.9 0-1.8 0-2.7 .1C326.7 93.4 308.9 80 288 80c-8.6 0-16.6 2.2-23.5 6.2C255.9 72.8 241 64 224 64s-31.9 8.8-40.5 22.2c-7-3.9-15-6.2-23.5-6.2c-26.5 0-48 21.5-48 48c-26.5 0-48 21.5-48 48c0 20.9 13.4 38.7 32.1 45.3c0 .9-.1 1.8-.1 2.7c0 26.5 21.5 48 48 48c5.6 0 11-1 16-2.7V288c0 17.7 14.3 32 32 32s32-14.3 32-32V269.3c5 1.8 10.4 2.7 16 2.7c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16zM160 176v2.7l-.1 0c0-.9 .1-1.8 .1-2.7z\"]\n};\nvar faHand = {\n prefix: 'fas',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32z\"]\n};\nvar faHandPaper = faHand;\nvar faPersonBikingMountain = {\n prefix: 'fas',\n iconName: 'person-biking-mountain',\n icon: [640, 512, [128693, \"biking-mountain\"], \"f84b\", \"M448 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM427.2 160l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zm-238.8 6.7L290.8 89.9c7.2-5.4 8.5-15.7 2.9-22.8L278.8 48.4c-21.6-27-60.7-32-88.4-11.2L125.2 86.1c-7.2 5.4-8.5 15.7-2.9 22.8l44 55c5.4 6.7 15.2 8 22.1 2.8zM120 256c-12.1 0-22.1 8.9-23.8 20.6c-7.6 2.2-14.9 5.3-21.7 9c-9.4-7.1-22.8-6.3-31.3 2.3L31.8 299.1c-8.6 8.6-9.3 21.9-2.3 31.3c-3.7 6.9-6.8 14.1-9 21.8C8.9 353.9 0 363.9 0 376v16c0 12.1 8.9 22.1 20.6 23.8c2.2 7.6 5.3 14.9 9 21.8c-7 9.4-6.3 22.8 2.3 31.3l11.3 11.3c8.6 8.6 21.9 9.3 31.3 2.2c6.8 3.7 14.1 6.8 21.7 9C97.9 503.1 107.9 512 120 512h16c12.1 0 22.1-8.9 23.8-20.6c7.6-2.2 14.9-5.3 21.7-9c9.4 7 22.8 6.3 31.3-2.2l11.3-11.3c8.6-8.6 9.3-21.9 2.3-31.3c3.7-6.8 6.8-14.1 9-21.7c11.6-1.7 20.6-11.7 20.6-23.8V376c0-12.1-8.9-22.1-20.6-23.8c-2.2-7.6-5.3-14.9-9-21.7c7-9.4 6.3-22.8-2.3-31.3l-11.3-11.3c-8.6-8.6-21.9-9.3-31.3-2.3c-6.8-3.7-14.1-6.8-21.7-9C158.1 264.9 148.1 256 136 256H120zm8 64a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm352.2-43.4c-7.6 2.2-14.9 5.3-21.7 9c-9.4-7.1-22.8-6.3-31.3 2.3l-11.3 11.3c-8.6 8.6-9.3 21.9-2.2 31.3c-3.7 6.9-6.8 14.1-9 21.8C392.9 353.9 384 363.9 384 376v16c0 12.1 8.9 22.1 20.6 23.8c2.2 7.6 5.3 14.9 9 21.8c-7 9.4-6.3 22.8 2.2 31.3l11.3 11.3c8.5 8.6 21.9 9.3 31.3 2.2c6.8 3.7 14.1 6.8 21.7 9c1.7 11.6 11.7 20.6 23.8 20.6h16c12.1 0 22.1-8.9 23.8-20.6c7.6-2.2 14.9-5.3 21.8-9c9.4 7 22.8 6.3 31.3-2.2l11.3-11.3c8.6-8.6 9.3-21.9 2.2-31.3c3.7-6.8 6.8-14.1 9-21.7c11.6-1.7 20.6-11.7 20.6-23.8V376c0-12.1-8.9-22.1-20.6-23.8c-2.2-7.6-5.3-14.9-9-21.7c7-9.4 6.3-22.8-2.2-31.3l-11.3-11.3c-8.6-8.6-21.9-9.3-31.3-2.3c-6.9-3.7-14.1-6.8-21.8-9C542.1 264.9 532.1 256 520 256H504c-12.1 0-22.1 8.9-23.8 20.6zM448 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faBikingMountain = faPersonBikingMountain;\nvar faUtensilsSlash = {\n prefix: 'fas',\n iconName: 'utensils-slash',\n icon: [640, 512, [], \"e464\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V352 240 32c0-17.7-14.3-32-32-32C496 0 384 32 384 176v99.7l-77.6-60.8c8.6-13.6 13.6-29.7 13.6-47c0-6.4-.7-12.8-2.1-19.1L287.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S256 7.8 256 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L223.9 14.6C223.2 6.3 216.3 0 208 0s-15.2 6.3-15.9 14.6l-9.4 103.3L160 100.1V16c0-8.2-6.1-15-14.3-15.9s-15.6 4.5-17.4 12.4L116.5 66 38.8 5.1zM176 255.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V285.1L96.1 171.7c1.9 44.2 36.3 80 79.9 83.9z\"]\n};\nvar faPrintMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'print-magnifying-glass',\n icon: [640, 512, [\"print-search\"], \"f81a\", \"M192 0H418.7c17 0 33.3 6.7 45.3 18.7L493.3 48c12 12 18.7 28.3 18.7 45.3V160H448V93.3L418.7 64H192v96H128V64c0-35.3 28.7-64 64-64zM128 192H352c-38.9 29.2-64 75.7-64 128c0 11 1.1 21.7 3.2 32H192v16 16 64H352c26.7 20.1 60 32 96 32c17.5 0 34.4-2.8 50.2-8l6.3 6.3c-10.8 20.1-32 33.8-56.4 33.8H192c-35.3 0-64-28.7-64-64V384H96c-17.7 0-32-14.3-32-32V256c0-35.3 28.7-64 64-64zM448 400.2a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0 48c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426c-20.5 14-45.3 22.1-71.9 22.1z\"]\n};\nvar faPrintSearch = faPrintMagnifyingGlass;\nvar faFolderBookmark = {\n prefix: 'fas',\n iconName: 'folder-bookmark',\n icon: [512, 512, [], \"e186\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM288 176V336c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L368 308l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.2 8.8-14.3V176c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]\n};\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zM115.2 169.6c8-6 17.9-9.6 28.8-9.6c26.5 0 48 21.5 48 48s-21.5 48-48 48H109.8c-7.6 0-13.8 6.2-13.8 13.8c0 1.5 .2 2.9 .7 4.4l8 24c4.4 13.1 16.6 21.9 30.4 21.9H144h16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-50.8 0-82.7-21.5-102.2-42.8c-9.9-10.8-16.6-21.6-20.9-29.7c-2.1-4-3.6-7.3-4.5-9.6c-.5-1.1-.8-2-1-2.5l-.2-.5 0-.1c-2.6-7.8-10.7-12.3-18.7-10.5C4.4 354.2-.9 361.8 .1 370L16 368C.1 370 .1 370 .1 370l0 0 0 0 0 .1 .1 .4c0 .3 .1 .8 .2 1.3c.2 1.1 .4 2.7 .8 4.6c.8 3.9 2 9.4 3.9 15.9c3.8 13 10.3 30.4 21.3 48C48.7 476.2 89.4 512 160 512c70.7 0 128-57.3 128-128c0-23.3-6.2-45.2-17.1-64h22.6c25.5 0 49.9-10.1 67.9-28.1l26.5-26.5c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.3 0 0c0 0 0 0 0 0c-1.9-7.3-8.6-12.4-16.2-12.1c-7.6 .3-13.9 5.9-15.1 13.4L336 368c-15.8-2.6-15.8-2.6-15.8-2.6l0 0 0 0 0 .1-.1 .3c0 .3-.1 .6-.2 1.1c-.1 .9-.3 2.1-.4 3.6c-.3 3-.6 7.3-.6 12.4c0 10.1 1.1 23.9 5.8 38.1c4.8 14.3 13.4 29.3 28.6 40.7C368.7 473.3 389.3 480 416 480c53 0 96-43 96-96V288c0-53-43-96-96-96h-5.5c-25.5 0-49.9 10.1-67.9 28.1l-26.5 26.5c-6 6-14.1 9.4-22.6 9.4H245.2c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112c-25.2 0-48.5 8.3-67.2 22.4c-14.1 10.6-17 30.7-6.4 44.8s30.7 17 44.8 6.4zM280.9 66.7c-6-4-14-3.5-19.5 1.3s-7 12.7-3.7 19.2L272 80c-14.3 7.2-14.3 7.2-14.3 7.2l0 0 0 0 0 .1 .1 .2 .4 .7c.3 .6 .8 1.4 1.4 2.4c1.2 2 2.9 4.8 5.1 8.2c4.4 6.7 11.1 15.5 20 24.4C302.4 141.1 330.3 160 368 160c31.2 0 56.6-10.4 73.9-20.2c8.7-5 15.6-9.9 20.4-13.8c2.4-1.9 4.3-3.6 5.7-4.9c.7-.6 1.3-1.2 1.7-1.6l.6-.5 .2-.2 .1-.1 0 0 0 0c0 0 0 0-22.6-22.6l22.6 22.6c12.5-12.5 12.5-32.8 0-45.3c-12.4-12.4-32.6-12.5-45.1-.2c-.1 .1-.2 .2-.5 .4c-.5 .5-1.5 1.3-2.8 2.4c-2.7 2.2-6.8 5.2-12.1 8.2C399.4 90.4 384.8 96 368 96c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2 0 0 0 0 0 0z\"]\n};\nvar faPi = {\n prefix: 'fas',\n iconName: 'pi',\n icon: [448, 512, [], \"f67e\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H96V284c0 39.7-9.3 78.9-27 114.5l-1.6 3.2c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l1.6-3.2C148.4 382.7 160 333.7 160 284V128H288V366.6c0 45 36.5 81.4 81.4 81.4c30.8 0 59-17.4 72.8-45l2.3-4.7c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3l-2.3 4.7c-3 5.9-9 9.6-15.6 9.6c-9.6 0-17.4-7.8-17.4-17.4V128h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faFlaskRoundPotion = {\n prefix: 'fas',\n iconName: 'flask-round-potion',\n icon: [448, 512, [\"flask-potion\"], \"f6e1\", \"M192 64h64v93.7c0 30.4 16.9 56.1 40.3 69.7c43 25 71.6 71.4 71.7 124.4c-58.6-1.7-85.4-12.6-109.9-22.6c-22-9-42.2-17.2-82.1-17.2c-42.3 0-73.4 9.2-94.5 18.8c6.5-44.1 33-81.7 70.2-103.4c23.4-13.6 40.3-39.3 40.3-69.7V64zm128 93.7V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H304 144 128C110.3 0 96 14.3 96 32s14.3 32 32 32v93.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4z\"]\n};\nvar faFlaskPotion = faFlaskRoundPotion;\nvar faFaceShush = {\n prefix: 'fas',\n iconName: 'face-shush',\n icon: [512, 512, [], \"e38c\", \"M0 256C0 359.8 61.8 449.1 150.5 489.3c-4.2-10.3-6.5-21.5-6.5-33.3V432 408c0-37.3 23.2-69.2 56-82V275.9c-14.8-6.9-26.6-15.9-35.3-24.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0c3.7 3.7 8.1 7.4 13.3 10.9c4-27 27.3-47.6 55.4-47.6s51.3 20.7 55.4 47.6c5.2-3.5 9.6-7.3 13.3-10.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6c-8.7 8.7-20.5 17.7-35.3 24.6v58.3c17.9 11.7 31.3 29.7 37 50.9c16-3.2 33.3 .6 46.9 11.9c18.4 15.3 24.5 39.9 17.1 61.3c60.3-46.8 99-120 99-202.3C512 114.6 397.4 0 256 0S0 114.6 0 256zM176.4 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM280 248c0-13.3-10.7-24-24-24s-24 10.7-24 24v72h48V248zM224 408c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-30.9-25.1-56-56-56H232c-30.9 0-56 25.1-56 56v24 24c0 30.9 25.1 56 56 56h48 17.5c21.4 0 41.6-9.5 55.3-25.9l25.6-30.7c8.5-10.2 7.1-25.3-3.1-33.8s-25.3-7.1-33.8 3.1L316 455.4c-4.6 5.5-11.3 8.6-18.4 8.6h-10L224 419.5V408z\"]\n};\nvar faWorm = {\n prefix: 'fas',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M256 96c0-53 43-96 96-96h38.4C439.9 0 480 40.1 480 89.6V176v16V376c0 75.1-60.9 136-136 136s-136-60.9-136-136V296c0-22.1-17.9-40-40-40s-40 17.9-40 40V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V296c0-75.1 60.9-136 136-136s136 60.9 136 136v80c0 22.1 17.9 40 40 40s40-17.9 40-40V192H352c-53 0-96-43-96-96zm144-8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHouseCircleXmark = {\n prefix: 'fas',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8C297 398 352 333.4 352 256V224c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faCalendarCircleExclamation = {\n prefix: 'fas',\n iconName: 'calendar-circle-exclamation',\n icon: [576, 512, [], \"e46e\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM256 368c0-91.8 70.3-167.2 160-175.3V192H0V464c0 26.5 21.5 48 48 48H330.8C285.6 480.1 256 427.5 256 368zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSquareI = {\n prefix: 'fas',\n iconName: 'square-i',\n icon: [448, 512, [], \"e272\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\"]\n};\nvar faFaceSaluting = {\n prefix: 'fas',\n iconName: 'face-saluting',\n icon: [640, 512, [129761], \"e484\", \"M258.1 58.5h0c14.5-9.8 18.4-29.4 8.8-44c0 0 0 0 0 0c-.1-.1-.2-.3-.3-.4C256.7-.6 236.8-4.4 222.2 5.5L35.1 132.5c-44.3 30.1-47.1 94.4-5.6 128.2l1.5 1.2c18.9 15.4 43.2 20.9 66 16.5c4.4-.9 8.8-2.1 13.1-3.8c.3-.1 .7-.3 1-.4c.5-.2 1-.4 1.5-.6c5.6-2.3 10.9-5.4 16-9l82.3-59.9h0c14.3-10.4 17.5-30.4 7.1-44.7c-4.8-6.7-11.8-10.9-19.3-12.5c-3.5-.7-7.2-.9-10.8-.4c-5.1 .7-10.1 2.6-14.6 5.8L128 185.8V146.8l27.3-18.5 13.1-8.9 89.7-60.9zM352 0c-18.4 0-36.3 1.9-53.5 5.6c12.6 27.9 3.8 61.6-22.4 79.4l-54.6 37c8.6 4.4 16.3 10.9 22.3 19.2c8.6 11.9 12.6 25.7 12.2 39.3c4.8-2.8 10.4-4.5 16.3-4.5c17.7 0 32 14.3 32 32s-14.3 32-32 32c-13.9 0-25.8-8.9-30.2-21.4c-3.5 4.4-7.7 8.5-12.5 12l-82.3 59.9c-13.9 10.1-29.5 16.6-45.6 19.6C126.5 425.5 229.1 512 352 512c141.4 0 256-114.6 256-256S493.4 0 352 0zM257.4 341c17.5 12.6 48.9 27 94.6 27s77.2-14.4 94.6-27c7.2-5.2 17.2-3.5 22.3 3.6s3.5 17.2-3.6 22.3c-22.7 16.4-60.7 33-113.4 33s-90.6-16.6-113.4-33c-7.2-5.2-8.8-15.2-3.6-22.3s15.2-8.8 22.3-3.6zm175-165a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGaugeSimpleLow = {\n prefix: 'fas',\n iconName: 'gauge-simple-low',\n icon: [512, 512, [\"tachometer-slow\"], \"f62c\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.1 .3L173.3 140.9c-6.1-11.8-20.6-16.3-32.4-10.2s-16.3 20.6-10.2 32.4l76.6 147.4C197.8 321.6 192 336.1 192 352c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTachometerSlow = faGaugeSimpleLow;\nvar faFacePersevering = {\n prefix: 'fas',\n iconName: 'face-persevering',\n icon: [512, 512, [], \"e385\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm60.1-101.3c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zm-104.8-310c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4zM133.5 210.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 221.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faCircleCamera = {\n prefix: 'fas',\n iconName: 'circle-camera',\n icon: [512, 512, [\"camera-circle\"], \"e103\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM196 160l6.2-16.4c3.5-9.4 12.5-15.6 22.5-15.6h62.7c10 0 19 6.2 22.5 15.6L316 160h36c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h36zm108 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCameraCircle = faCircleCamera;\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M246.9 23.7C242.3 6.6 224.8-3.5 207.7 1.1s-27.2 22.1-22.6 39.2L238 237.8c2.5 9.2-4.5 18.2-14 18.2c-6.4 0-12-4.2-13.9-10.3L166.6 102.7c-5.1-16.9-23-26.4-39.9-21.3s-26.4 23-21.3 39.9l62.8 206.4c2.4 7.9-7.2 13.8-13.2 8.1L99.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L156.8 448c43.1 41.1 100.4 64 160 64h10.9 8.2c.1 0 .1-.1 .1-.1s.1-.1 .1-.1c58.3-3.5 108.6-43.2 125.3-99.7l81.2-275c5-16.9-4.7-34.7-21.6-39.8s-34.7 4.7-39.8 21.6L443.5 247.1c-1.6 5.3-6.4 8.9-12 8.9c-7.9 0-13.8-7.3-12.2-15.1l36-170.3c3.7-17.3-7.4-34.3-24.7-37.9s-34.3 7.4-37.9 24.7L355.1 235.1c-2.6 12.2-13.3 20.9-25.8 20.9c-11.9 0-22.4-8-25.4-19.5l-57-212.8z\"]\n};\nvar faSpiderWeb = {\n prefix: 'fas',\n iconName: 'spider-web',\n icon: [576, 512, [128376], \"f719\", \"M133.8 22.2c4.8-12.7 18-20.2 31.4-17.7l69 12.9c35.6 6.7 72.1 6.7 107.6 0l69-12.9c13.4-2.5 26.6 5 31.4 17.7l28.9 77.2c11.5 30.7 28.1 59.2 49.1 84.4l45.3 54.3c8.7 10.4 8.7 25.5 0 35.9l-45.3 54.3c-21 25.2-37.6 53.7-49.1 84.4l-28.9 77.2c-4.8 12.7-18 20.2-31.4 17.7l-69-12.9c-35.6-6.7-72.1-6.7-107.6 0l-69 12.9c-13.4 2.5-26.6-5-31.4-17.7l-28.9-77.2C93.3 382 76.7 353.4 55.7 328.2L10.5 273.9c-8.7-10.4-8.7-25.5 0-35.9l45.3-54.3c21-25.2 37.6-53.7 49.1-84.4l28.9-77.2zm33.3 70.6L157.3 119c-13.7 36.6-33.5 70.6-58.5 100.6L88.4 232h44.6c23.5-27.6 41.7-59.2 53.7-93.4l2.5-7L167.1 92.8zm42.1-23.1l21.4 37.4c37.7 9.5 77.2 9.5 114.9 0l21.4-37.4-14.7 2.8c-42.4 7.9-85.9 7.9-128.3 0l-14.7-2.8zM408.9 92.8l-22.2 38.8 2.5 7c12.1 34.2 30.3 65.8 53.8 93.4h44.6l-10.3-12.4c-25-30-44.8-64-58.5-100.6l-9.8-26.2zM487.6 280H443c-23.6 28.1-41.8 60.4-53.6 95.3l-2.1 6.1 21.6 37.9 9.8-26.2c13.7-36.6 33.5-70.6 58.5-100.6L487.6 280zM366.8 442.3l-19.5-34.2c-37.9-11.7-78.3-12.8-116.7-3.2l-21.3 37.4 14.7-2.8c42.4-7.9 85.9-7.9 128.3 0l14.7 2.8zM167.1 419.2l22.2-38.8-2.5-7c-12.1-34.2-30.3-65.8-53.7-93.4H88.4l10.3 12.4c25 30 44.8 64 58.5 100.6l9.8 26.2zM193.2 280c10.1 15 18.9 30.7 26.5 47.1L246.6 280H193.2zm67.9 71.4c18.1-1.5 36.3-1.2 54.3 1L288 304.4l-26.9 47zm95.5-23.7c7.6-16.6 16.4-32.5 26.5-47.7H329.4l27.3 47.7zM382.8 232c-10.1-15-18.9-30.7-26.5-47.1L329.4 232h53.4zm-68.1-71c-17.7 1.7-35.6 1.7-53.3 0L288 207.6 314.7 161zm-94.9 23.9c-7.6 16.4-16.5 32.1-26.5 47.1h53.4l-26.9-47.1z\"]\n};\nvar faCircleMicrophone = {\n prefix: 'fas',\n iconName: 'circle-microphone',\n icon: [512, 512, [\"microphone-circle\"], \"e116\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256c0 26.5-21.5 48-48 48s-48-21.5-48-48V144zm-64 80c8.8 0 16 7.2 16 16v16c0 53 43 96 96 96s96-43 96-96V240c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 65.3-48.9 119.1-112 127v17c0 8.8-7.2 16-16 16s-16-7.2-16-16V383c-63.1-7.9-112-61.7-112-127V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faMicrophoneCircle = faCircleMicrophone;\nvar faBookArrowUp = {\n prefix: 'fas',\n iconName: 'book-arrow-up',\n icon: [448, 512, [], \"e0ba\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H264V209.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V384H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faPopsicle = {\n prefix: 'fas',\n iconName: 'popsicle',\n icon: [320, 512, [], \"e43e\", \"M160 0C71.6 0 0 71.6 0 160V336c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V160C320 71.6 248.4 0 160 0zm32 480V416H128v64c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faCommand = {\n prefix: 'fas',\n iconName: 'command',\n icon: [512, 512, [], \"e142\", \"M0 96C0 43 43 0 96 0s96 43 96 96v32H320V96c0-53 43-96 96-96s96 43 96 96s-43 96-96 96H384V320h32c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96V384H192v32c0 53-43 96-96 96s-96-43-96-96s43-96 96-96h32V192H96C43 192 0 149 0 96zm128 32V96c0-17.7-14.3-32-32-32S64 78.3 64 96s14.3 32 32 32h32zm64 192H320V192H192V320zm-64 64H96c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32V384zm256 0v32c0 17.7 14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32H384zm0-256h32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32v32z\"]\n};\nvar faBlinds = {\n prefix: 'fas',\n iconName: 'blinds',\n icon: [512, 512, [], \"f8fb\", \"M32 0C14.3 0 0 14.3 0 32C0 43.4 6 53.4 15 59.1L1.1 100.8c-.7 2.1-1.1 4.3-1.1 6.5C0 118.8 9.2 128 20.6 128H128V64h32v64H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L497 59.1c9-5.7 15-15.7 15-27.1c0-17.7-14.3-32-32-32H32zM24 160L1.1 228.8c-.7 2.1-1.1 4.3-1.1 6.5C0 246.8 9.2 256 20.6 256H98.7c4.8-13.6 15.6-24.4 29.3-29.3V160H24zM144 320c-20.9 0-38.7-13.4-45.3-32H24L1.1 356.8c-.7 2.1-1.1 4.3-1.1 6.5C0 374.8 9.2 384 20.6 384H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 288H189.3c-6.6 18.6-24.4 32-45.3 32zm16-93.3c13.6 4.8 24.4 15.6 29.3 29.3H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 160H160v66.7zM20.6 512H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 416H24L1.1 484.8c-.7 2.1-1.1 4.3-1.1 6.5C0 502.8 9.2 512 20.6 512z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H224 176zm72 192V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSaxophone = {\n prefix: 'fas',\n iconName: 'saxophone',\n icon: [640, 512, [127927], \"f8dc\", \"M246.7 176L171.4 306.1c-2.2 3.8-3.4 8.2-3.4 12.6v2.6c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L319 225l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8L367 177l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8L415 129l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8 44.3-44.3c12-12 28.3-18.7 45.3-18.7h30.3c15 0 29.5 5.2 41 14.8l24.3 20.3c3.7 3.1 5.9 7.7 5.9 12.6c0 9-7.3 16.3-16.3 16.3H559.5c-9.8 0-19 4.5-25.1 12.1L288.6 418.6C257.9 457.4 211.2 480 161.8 480C72.4 480 0 407.6 0 318.2v-3.1c0-12.7 1.5-25.4 4.4-37.8L28.2 176H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H246.7zM120 320a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm8-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquare2 = {\n prefix: 'fas',\n iconName: 'square-2',\n icon: [448, 512, [], \"e257\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM190.7 184.7l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L212.7 336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L244.3 240.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1c-9.1-.1-18 2.8-25.3 8.3z\"]\n};\nvar faFieldHockeyStickBall = {\n prefix: 'fas',\n iconName: 'field-hockey-stick-ball',\n icon: [512, 512, [127953, \"field-hockey\"], \"f44c\", \"M491.2 8.5c21.8 15.1 27.3 45 12.2 66.8l-52.2 75.5L371.3 97.5l53.1-76.8c15.1-21.8 45-27.3 66.8-12.2zM353.1 123.9L433 177.2 241 454.9c-24.6 35.5-64.9 56.8-108.1 56.9C59.5 512 .1 452.3 .6 378.9l0-2.2c.2-25.7 7.8-50.8 21.8-72.4l17.3-26.5c14.5-22.2 44.2-28.4 66.4-13.9s28.4 44.2 13.9 66.4l-17.3 26.5c-4 6.1-6.2 13.3-6.2 20.6l0 2.2c-.1 20 16 36.2 36 36.1c11.7 0 22.7-5.8 29.4-15.5L353.1 123.9zM432 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faFieldHockey = faFieldHockeyStickBall;\nvar faArrowUpSquareTriangle = {\n prefix: 'fas',\n iconName: 'arrow-up-square-triangle',\n icon: [576, 512, [\"sort-shapes-up-alt\"], \"f88b\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48zM443.1 303c-5.8-9.4-16.1-15-27.1-15s-21.3 5.7-27.1 15l-80 128c-6.2 9.9-6.5 22.3-.9 32.5s16.4 16.5 28 16.5H496c11.6 0 22.3-6.3 28-16.5s5.3-22.6-.9-32.5l-80-128z\"]\n};\nvar faSortShapesUpAlt = faArrowUpSquareTriangle;\nvar faFaceScream = {\n prefix: 'fas',\n iconName: 'face-scream',\n icon: [640, 512, [], \"e38b\", \"M573.9 288.5c1.4-10.7 2.1-21.5 2.1-32.5C576 114.6 461.4 0 320 0S64 114.6 64 256c0 11 .7 21.9 2.1 32.6c20.6-2.5 41.7 3.5 57.8 16.9l0 0c57.5 48 87.8 118 98 187C252.1 505.1 285.2 512 320 512c34.8 0 68-6.9 98.2-19.5c10.2-69 40.4-139 98-187l0 0c16.1-13.4 37.2-19.4 57.8-17zM320 320c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm-46.6-77c-22.5 36.9-62.8 54.7-90.1 39.8s-31.1-56.9-8.7-93.7s62.8-54.7 90.1-39.8s31.1 56.9 8.7 93.7zm183.3 39.8c-27.3 14.9-67.6-2.9-90.1-39.8s-18.6-78.8 8.7-93.7s67.6 2.9 90.1 39.8s18.6 78.8-8.7 93.7zM103.4 330.1C89.1 318.2 68 316.4 51.6 327c-20 13-25.6 39.5-12.4 59.3c26.4 40 43.6 75.3 43.2 125.7L192 512c-7-68.4-34.8-137-88.7-181.9zM588.5 327c-16.4-10.6-37.6-8.8-51.8 3.1C482.8 375 455 443.6 448 512l109.8 0c-.4-50.5 16.7-85.7 43.2-125.7c13.1-19.8 7.6-46.3-12.4-59.3z\"]\n};\nvar faSquareM = {\n prefix: 'fas',\n iconName: 'square-m',\n icon: [448, 512, [], \"e276\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm75.5 105.9L224 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L144 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8s20.7 .3 26.8 8.8z\"]\n};\nvar faCameraWeb = {\n prefix: 'fas',\n iconName: 'camera-web',\n icon: [448, 512, [\"webcam\"], \"f832\", \"M344.2 413.1C406.6 373.3 448 303.5 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224c0 79.5 41.4 149.3 103.8 189.1L45.6 453.8c-11.4 8-16.4 22.5-12.2 35.8S50 512 64 512H384c14 0 26.3-9.1 30.5-22.4s-.7-27.8-12.2-35.8l-58.2-40.7zM224 352a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-288a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM176 224c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-26.5 0-48 21.5-48 48z\"]\n};\nvar faWebcam = faCameraWeb;\nvar faCommentArrowDown = {\n prefix: 'fas',\n iconName: 'comment-arrow-down',\n icon: [512, 512, [], \"e143\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm24-296V270.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faLightbulbCfl = {\n prefix: 'fas',\n iconName: 'lightbulb-cfl',\n icon: [320, 512, [], \"e5a6\", \"M167.8 63c17.1-4.3 27.6-21.7 23.3-38.8S169.4-3.3 152.2 1L24.2 33C7.1 37.2-3.3 54.6 1 71.8S22.6 99.3 39.8 95l128-32zM319 88.2c-4.3-17.1-21.7-27.6-38.8-23.3l-256 64C7.1 133.2-3.3 150.6 1 167.8s21.7 27.6 38.8 23.3l256-64c17.1-4.3 27.6-21.7 23.3-38.8zM295.8 223c17.1-4.3 27.6-21.7 23.3-38.8s-21.7-27.6-38.8-23.3l-256 64C7.1 229.2-3.3 246.6 1 263.8s21.7 27.6 38.8 23.3l256-64zM64 416v32c0 17.7 14.3 32 32 32h32c0 17.7 14.3 32 32 32s32-14.3 32-32h32c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H144V294L96 306v78c-17.7 0-32 14.3-32 32zM319 280.2c-4.3-17.1-21.7-27.6-38.8-23.3l-64 16-16 4c-13.2 3.3-22.4 14.3-24 27l-.2 0v3.3c0 .5 0 .9 0 1.4V384h48V337l7.8-1.9 64-16c17.1-4.3 27.6-21.7 23.3-38.8z\"]\n};\nvar faWindowFrameOpen = {\n prefix: 'fas',\n iconName: 'window-frame-open',\n icon: [512, 512, [], \"e050\", \"M480 224V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V224v64H96 416h64V224zm-64 0H280V64H416V224zm-184 0H96V64H232V224zM96 448V320H32V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V320H416V448H96z\"]\n};\nvar faFaceKiss = {\n prefix: 'fas',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'fas',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPeriod = {\n prefix: 'fas',\n iconName: 'period',\n icon: [128, 512, [], \"2e\", \"M0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416z\"]\n};\nvar faFaceGrinTongue = {\n prefix: 'fas',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M0 256C0 368.9 73.1 464.7 174.5 498.8C165.3 484 160 466.6 160 448V400.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V448c0 18.6-5.3 36-14.5 50.8C438.9 464.7 512 368.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faUpToDottedLine = {\n prefix: 'fas',\n iconName: 'up-to-dotted-line',\n icon: [448, 512, [], \"e457\", \"M64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM256 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM73.9 262.1L196.7 139.3c7.2-7.2 17.1-11.3 27.3-11.3s20.1 4.1 27.3 11.3L374.1 262.1c6.4 6.4 9.9 15 9.9 24c0 18.7-15.2 33.9-33.9 33.9H288V448c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V320H97.9C79.2 320 64 304.8 64 286.1c0-9 3.6-17.6 9.9-24z\"]\n};\nvar faThoughtBubble = {\n prefix: 'fas',\n iconName: 'thought-bubble',\n icon: [512, 512, [], \"e32e\", \"M374.8 80.3C355.9 33.2 309.8 0 256 0s-99.9 33.2-118.8 80.3c-3-.2-6.1-.3-9.2-.3C57.3 80 0 137.3 0 208s57.3 128 128 128c14.4 0 28.3-2.4 41.3-6.8C184.7 361.6 217.7 384 256 384s71.3-22.4 86.7-54.8c12.9 4.4 26.8 6.8 41.3 6.8c70.7 0 128-57.3 128-128s-57.3-128-128-128c-3.1 0-6.1 .1-9.2 .3zM144 480a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSkeletonRibs = {\n prefix: 'fas',\n iconName: 'skeleton-ribs',\n icon: [640, 512, [], \"e5cb\", \"M352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H260.2c-33.5 0-65.7 17.6-82.1 48.9C150.5 165.8 96 282.2 96 384v17c0 43.6 35.4 79 79 79c15.1 0 30.1-2.7 44.2-8l67.1-25.2c.6-.2 1.1-.4 1.7-.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V446.2c.6 .2 1.1 .4 1.7 .6L420.8 472c14.1 5.3 29.1 8 44.2 8c43.6 0 79-35.4 79-79V384c0-101.8-54.5-218.2-82.2-271.1C445.5 81.6 413.3 64 379.8 64H352V32zm-64 96v38.3l-72.7 16.2c7-15.2 13.8-28.7 19.6-40c4.5-8.6 13.9-14.5 25.3-14.5H288zM186 254.6l102-22.7v39.7L171.2 303.4c4.1-16.5 9.2-32.9 14.7-48.8zM160.3 372.7L288 337.9v42c-8.2 1.7-16.3 4-24.2 7l-67.1 25.2c-7 2.6-14.3 3.9-21.7 3.9c-8.3 0-15-6.7-15-15V384c0-3.7 .1-7.5 .3-11.3zM352 379.9V339l118.8 35.6c3 .9 6.1 1.3 9.1 1.4c.1 2.7 .1 5.3 .1 8v17c0 8.3-6.7 15-15 15c-7.4 0-14.8-1.3-21.7-3.9l-67.1-25.2c-7.9-3-16-5.3-24.2-7zm117.8-72.4L352 272.2V231.9l102 22.7c6 17.2 11.4 35.1 15.7 53zm-45-125L352 166.3V128h27.8c11.4 0 20.8 5.9 25.3 14.5c5.9 11.3 12.6 24.8 19.6 40zM0 144v96V480c0 17.7 14.3 32 32 32s32-14.3 32-32V240c0-10.1 4.7-19.6 12.8-25.6l25.6-19.2C118.5 183.1 128 164.1 128 144c0-35.3-28.7-64-64-64S0 108.7 0 144zM576 80c-35.3 0-64 28.7-64 64c0 20.1 9.5 39.1 25.6 51.2l25.6 19.2c8.1 6 12.8 15.5 12.8 25.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V240 144c0-35.3-28.7-64-64-64z\"]\n};\nvar faRaygun = {\n prefix: 'fas',\n iconName: 'raygun',\n icon: [576, 512, [], \"e025\", \"M192 64h96V56c0-13.3 10.7-24 24-24s24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24v-.4L188.6 494.3c-7.9 15.8-27.1 22.2-42.9 14.3l-80-40c-15.8-7.9-22.2-27.1-14.3-42.9L120.2 288H112C50.1 288 0 237.9 0 176C0 131.3 26.2 92.8 64 74.8V24.6C64 11 75 0 88.6 0c4.8 0 9.6 1.4 13.6 4.1L192 64zm200 0c13.3 0 24 10.7 24 24v56h60.9l77.1-30.9c4.9-2 10.5-1.4 14.9 1.6s7 7.9 7 13.2v96c0 5.3-2.6 10.3-7 13.2s-10 3.6-14.9 1.6L476.9 208H416v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM136 176a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFlute = {\n prefix: 'fas',\n iconName: 'flute',\n icon: [640, 512, [], \"f8b9\", \"M48 160H96V352H48c-26.5 0-48-21.5-48-48V208c0-26.5 21.5-48 48-48zM592 352H128V160H592c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48zM320 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAcorn = {\n prefix: 'fas',\n iconName: 'acorn',\n icon: [448, 512, [], \"f6ae\", \"M262.4 4.8c10.6 8 12.8 23 4.8 33.6l-4.8 6.4c-4.4 5.9-7.9 12.4-10.3 19.2H352c53 0 96 43 96 96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32c0-53 43-96 96-96H202.4C206 46.7 213.3 30.3 224 16l4.8-6.4c8-10.6 23-12.8 33.6-4.8zM213.9 476.4C78.5 425.9 48 302.1 48 224H224 400c0 78.1-30.5 201.9-165.9 252.4c-6.5 2.4-13.7 2.4-20.2 0z\"]\n};\nvar faVideoArrowUpRight = {\n prefix: 'fas',\n iconName: 'video-arrow-up-right',\n icon: [576, 512, [], \"e2c9\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm512 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L416 174.9V192 320v17.1l14.2 9.5 96 64c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128zM152 160H264c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V241.9L137 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l103-103H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faGrateDroplet = {\n prefix: 'fas',\n iconName: 'grate-droplet',\n icon: [576, 512, [], \"e194\", \"M0 96C0 60.7 28.7 32 64 32h64 96 96 64c35.3 0 64 28.7 64 64v66.2c-15.1 4.3-28.2 14.6-35.8 28.8L336.9 332.2C325.8 353.1 320 376.4 320 400c0 29.6 8.9 57.1 24.2 80H320 224 128 64c-35.3 0-64-28.7-64-64V256 96zm96 0H64V224H96V96zM64 416H96V288H64V416zm128 0V288H160V416h32zm96 0V288H256V416h32zM384 96H352V224h32V96zM256 96V224h32V96H256zm-96 0V224h32V96H160zM440.5 206.1c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7l75.3-141.2z\"]\n};\nvar faSealExclamation = {\n prefix: 'fas',\n iconName: 'seal-exclamation',\n icon: [512, 512, [], \"e242\", \"M222.1 17.9c18.7-18.7 49.1-18.7 67.9 0L336 64h64c26.5 0 48 21.5 48 48v64l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.1V400c0 26.5-21.5 48-48 48H335.1l-45.1 45.1c-18.7 18.7-49.1 18.7-67.9 0L176.9 448H112c-26.5 0-48-21.5-48-48V335.1L18.4 289.5c-18.7-18.7-18.7-49.1 0-67.9L64 176V112c0-26.5 21.5-48 48-48h64l46.1-46.1zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M128 0C110.3 0 96 14.3 96 32c0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7V400H256V372.7c25.2-12.5 56-37.4 56-84.7c0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L270.8 154.6c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32H128zM48 432L6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512H297.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L272 432H48z\"]\n};\nvar faMessageSms = {\n prefix: 'fas',\n iconName: 'message-sms',\n icon: [512, 512, [], \"e1e5\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\"]\n};\nvar faCoffeeBeans = {\n prefix: 'fas',\n iconName: 'coffee-beans',\n icon: [512, 512, [], \"e13f\", \"M507.5 209.7c-3.4 12.3-19.1 11.8-25.4 .7c-5.4-9.5-11.3-18.5-17.6-26c-27.6-32.6-60.8-44.5-90.1-55l-1-.3c-30-10.7-55.8-20.2-77.5-45.9c-10.8-12.8-21.3-33.4-29.3-52c-1.7-4-.6-8.7 3-11.2C320.9-16 401.3-2.6 458 54c45.7 45.7 63.2 106.7 49.5 155.6zM228.5 78.3c3.4-12.3 19.1-11.8 25.4-.7c5.3 9.5 11.3 18.5 17.6 26c27.6 32.6 60.8 44.5 90.1 55l1 .3c30 10.7 55.8 20.2 77.5 45.9c10.8 12.8 21.3 33.4 29.3 52c1.7 4 .6 8.7-3 11.2C415.1 304 334.7 290.6 278 234c-45.7-45.7-63.2-106.7-49.5-155.6zM75.5 206c11.2-6.3 22 5.2 18.5 17.6c-2.9 10.5-5.2 21.2-6 31c-3.6 42.8 11.6 74.9 25 103.2l.4 .9c13.7 28.9 25.3 54.1 22.5 87.8c-1.4 16.7-8.6 38.9-16.1 57.9c-1.6 4.1-5.8 6.6-10.1 5.8C47.7 499.3 0 432.6 0 352c0-65 31-120.9 75.5-146zM180.5 498c-11.2 6.3-22-5.2-18.5-17.6c2.9-10.5 5.2-21.2 6-31c3.6-42.8-11.6-74.9-25-103.2l-.4-.9c-13.7-28.9-25.3-54.1-22.5-87.8c1.4-16.7 8.6-38.9 16.1-57.9c1.6-4.1 5.8-6.6 10.1-5.8C208.3 204.7 256 271.4 256 352c0 65-31 120.9-75.5 146z\"]\n};\nvar faHatWitch = {\n prefix: 'fas',\n iconName: 'hat-witch',\n icon: [576, 512, [], \"f6e7\", \"M200.7 181.4L112 384H224V336c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v48H464L386.7 206.1c-1.8-4-2.7-8.4-2.7-12.8v-.8c0-5.6 1.5-11 4.2-15.9l18.6-32.5c5.7-10 16.3-16.1 27.8-16.1H455c14.7 0 27.5 10 31 24.2l6.2 24.6c2.2 8.9 10.2 15.1 19.4 15.1c9.5 0 17.7-6.7 19.6-16.1l12.2-60.8c.4-2.1 .6-4.2 .6-6.3v-6.8c0-9-3.8-17.5-10.4-23.6L457.2 8.4C451.3 3 443.6 0 435.6 0h-2.2c-6.1 0-12.1 1.8-17.3 5L273.1 96.6c-32 20.5-57.2 50-72.4 84.8zM320 384V336c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48h64zM22.6 416C10.1 416 0 426.1 0 438.6c0 6 2.4 11.7 6.9 15.6C25.9 470.3 82.6 512 160 512H416c77.4 0 134.1-41.7 153.1-57.8c4.6-3.9 6.9-9.6 6.9-15.6c0-12.5-10.1-22.6-22.6-22.6H22.6z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'fas',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-16.9-79.2c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faClockThreeThirty = {\n prefix: 'fas',\n iconName: 'clock-three-thirty',\n icon: [512, 512, [], \"e357\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V256c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faEarDeaf = {\n prefix: 'fas',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M502.6 54.6l-40 40c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l40-40c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zm-320 320l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM240 128c-57.6 0-105.1 43.6-111.3 99.5c-1.9 17.6-17.8 30.2-35.3 28.3s-30.2-17.8-28.3-35.3C74.8 132.5 149.4 64 240 64c97.2 0 176 78.8 176 176c0 46-17.7 87.9-46.6 119.3c-12 13-17.4 24.8-17.4 34.7V400c0 61.9-50.1 112-112 112c-17.7 0-32-14.3-32-32s14.3-32 32-32c26.5 0 48-21.5 48-48v-6.1c0-32.9 17.4-59.6 34.4-78c18.4-20 29.6-46.6 29.6-75.9c0-61.9-50.1-112-112-112zm0 80c-17.7 0-32 14.3-32 32c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-17.7-14.3-32-32-32z\"]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faAlarmClock = {\n prefix: 'fas',\n iconName: 'alarm-clock',\n icon: [512, 512, [9200], \"f34e\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 512c50.3 0 96.8-16.6 134.2-44.6l35.2 35.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-35.2-35.2c28-37.4 44.6-83.8 44.6-134.2C480 164.3 379.7 64 256 64S32 164.3 32 288c0 50.3 16.6 96.8 44.6 134.2L41.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l35.2-35.2c37.4 28 83.8 44.6 134.1 44.6zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM280 184v94.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faEclipse = {\n prefix: 'fas',\n iconName: 'eclipse',\n icon: [640, 512, [], \"f749\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9l9.6 52.2c-34.2 15-63.7 38.9-85.4 68.8c-12.4-4-25.6-6.2-39.4-6.2c-70.7 0-128 57.3-128 128s57.3 128 128 128c13.7 0 27-2.2 39.4-6.2c21.7 29.9 51.1 53.9 85.4 68.8l-9.6 52.2c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM256 160c7.6 0 15 .9 22.1 2.6C264 190.7 256 222.4 256 256s8 65.3 22.1 93.4c-7.1 1.7-14.5 2.6-22.1 2.6c-53 0-96-43-96-96s43-96 96-96zM464 80a176 176 0 1 1 0 352 176 176 0 1 1 0-352z\"]\n};\nvar faFaceRelieved = {\n prefix: 'fas',\n iconName: 'face-relieved',\n icon: [512, 512, [], \"e389\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM187.3 356.7c13 13 35.8 27.3 68.7 27.3s55.6-14.3 68.7-27.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C329.4 397.2 298.9 416 256 416s-73.4-18.8-91.3-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM387.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM207.2 74.9c2.8 8.4-1.7 17.4-10.1 20.2l-6.3 2.1c-23.6 7.9-44 23.4-57.8 44.1l-7.6 11.5c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l7.6-11.5c17.8-26.6 43.9-46.6 74.3-56.7l6.3-2.1c8.4-2.8 17.4 1.7 20.2 10.1zM314.9 95.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l6.3 2.1c30.4 10.1 56.5 30.1 74.3 56.7l7.6 11.5c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L379 141.4c-13.8-20.7-34.1-36.3-57.8-44.1l-6.3-2.1z\"]\n};\nvar faRoadCircleCheck = {\n prefix: 'fas',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faOctagonMinus = {\n prefix: 'fas',\n iconName: 'octagon-minus',\n icon: [512, 512, [\"minus-octagon\"], \"f308\", \"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMinusOctagon = faOctagonMinus;\nvar faSquareRss = {\n prefix: 'fas',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 136c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm0 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faRssSquare = faSquareRss;\nvar faFaceZany = {\n prefix: 'fas',\n iconName: 'face-zany',\n icon: [512, 512, [], \"e3a4\", \"M384.1 477.7C506.5 407 548.5 250.4 477.8 128S250.5-36.4 128.1 34.3S-36.3 261.6 34.4 384c36.2 62.7 94.9 104.3 160.1 120.5c-11.5-15.8-18.4-35.4-18.4-56.5V408.2c-10.4-6.2-20.1-13.7-28.9-22.2c-10.2-9.9-6.6-26.3 5.7-33.4L391.2 214.9c12.3-7.1 28.3-2 31.8 11.8c15.2 59.4-5.9 124.1-55 165V448c0 15.4-3.6 30-10.1 42.9c8.8-3.8 17.5-8.2 26.1-13.2zM128 160a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm112-8a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm96.1 296V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0C257.8 383.9 248 376 236.7 376h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64zM152 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm144-56a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTricycle = {\n prefix: 'fas',\n iconName: 'tricycle',\n icon: [512, 512, [], \"e5c3\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h73.6c7.9 0 14.4 6.4 14.4 14.4c0 4.2-1.8 8.2-5 10.9l-42.6 36.5c-.8 .7-1.6 1.4-2.3 2.2H307.2c-58.8 0-114 23.9-154.1 64.6L133.6 176H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H77.6l44 73.4c-1.3 2.2-2.6 4.5-3.9 6.7c-1.9-.1-3.9-.1-5.8-.1C50.1 256 0 306.1 0 368s50.1 112 112 112s112-50.1 112-112c0-42.4-23.6-79.4-58.4-98.4c30.7-48.1 84-77.6 141.6-77.6h12.1l11 43.8C286.4 256.1 256 300.5 256 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-2.4 0-4.8 .1-7.2 .2l-13.9-55.6 31.3-26.9C408 129.9 416 112.6 416 94.4C416 59.9 388.1 32 353.6 32H280zm64.2 260l16.5 65.9c3.2 12.9 16.2 20.7 29.1 17.5s20.7-16.2 17.5-29.1l-16.5-65.9c36.6 3.4 65.2 34.2 65.2 71.7c0 39.8-32.2 72-72 72s-72-32.2-72-72c0-25.1 12.8-47.1 32.2-60zM112 312a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faLandMineOn = {\n prefix: 'fas',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M344 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 320c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32v32H192V320zm-77.3 90.5c8.1-16.3 24.8-26.5 42.9-26.5H482.3c18.2 0 34.8 10.3 42.9 26.5l27.6 55.2C563.5 487 548 512 524.2 512H115.8c-23.8 0-39.3-25-28.6-46.3l27.6-55.2zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]\n};\nvar faSquareArrowUpLeft = {\n prefix: 'fas',\n iconName: 'square-arrow-up-left',\n icon: [448, 512, [], \"e263\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM288 144c13.3 0 24 10.7 24 24s-10.7 24-24 24H193.9L329 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24H288z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9c21.2 24 51.2 40.1 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7C185.5 444.7 160 417 160 383.7V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V128.3c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3 .1l-8 .7C179.2 3.6 149.2 19.7 128 43.7c-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7 .1 29.3z\"]\n};\nvar faChartMixedUpCircleDollar = {\n prefix: 'fas',\n iconName: 'chart-mixed-up-circle-dollar',\n icon: [576, 512, [], \"e5d9\", \"M400 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h28.8L319.4 151.5 211.2 70.4c-11.7-8.8-27.8-8.5-39.2 .6L12 199c-13.8 11-16 31.2-5 45s31.2 16 45 5L192.6 136.5l108.2 81.1c11.7 8.8 27.8 8.5 39.2-.6L480 105v39c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H400zM192 224c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32zM64 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM408.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]\n};\nvar faSaltShaker = {\n prefix: 'fas',\n iconName: 'salt-shaker',\n icon: [384, 512, [129474], \"e446\", \"M319.4 448H64.6l36.6-256H282.8l36.6 256zM59.8 512H324.2c33 0 59.8-26.8 59.8-59.8c0-2.8-.2-5.7-.6-8.5L338.1 126.7C327.7 54 265.4 0 192 0S56.3 54 45.9 126.7L.6 443.8c-.4 2.8-.6 5.6-.6 8.5c0 33 26.8 59.8 59.8 59.8zM192 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM128 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM240 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8c10.7 13.8 19.9 29.6 19.9 47c0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V413.3c18.6-6.6 32-24.4 32-45.3c0-61.9-50.1-112-112-112H366.2c-29.9 0-54.2-24.3-54.2-54.2zM416 416v32H96V416H416z\"]\n};\nvar faFilePlus = {\n prefix: 'fas',\n iconName: 'file-plus',\n icon: [384, 512, [], \"f319\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM192 240c13.3 0 24 10.7 24 24v48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V264c0-13.3 10.7-24 24-24z\"]\n};\nvar faDrawSquare = {\n prefix: 'fas',\n iconName: 'draw-square',\n icon: [448, 512, [], \"f5ef\", \"M96 151.4V360.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c5.6-9.7 13.7-17.8 23.4-23.4V151.4c-9.7-5.6-17.8-13.7-23.4-23.4H119.4c-5.6 9.7-13.7 17.8-23.4 23.4zM119.4 448c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V151.4C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32H328.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V360.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4z\"]\n};\nvar faToiletPaperUnderSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-under-slash',\n icon: [640, 512, [\"toilet-paper-reverse-slash\"], \"e2a1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V343.1c-9.9 19.5-23.2 38.2-39.9 51.8L510 374.4c22.6-14.8 41.4-46 53.1-86.4c8.2-28.2 12.8-61 12.8-96C576 86 533 0 480 0c-11.2 0-22 3.8-32 10.9c-37.3 26.4-64 97.5-64 181.1c0 33.8 4.4 65.5 12 93.1l-39.3-30.8c-3.1-19.9-4.7-40.8-4.7-62.3c0-56.9 11.5-110 31.5-150.1c7.5-15 17.1-29.7 28.7-41.9H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM528 512L406.2 416H224v48c0 26.5 21.5 48 48 48H528l.3 0H528zM64 192c0 106 43 192 96 192H365.5L66.5 148.4C64.9 162.4 64 177 64 192zm416 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faToiletPaperReverseSlash = faToiletPaperUnderSlash;\nvar faStairs = {\n prefix: 'fas',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M384 64c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v96c0 17.7-14.3 32-32 32H320v96c0 17.7-14.3 32-32 32H192v96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V320c0-17.7 14.3-32 32-32h96V192c0-17.7 14.3-32 32-32h96V64z\"]\n};\nvar faDroneFront = {\n prefix: 'fas',\n iconName: 'drone-front',\n icon: [640, 512, [\"drone-alt\"], \"f860\", \"M155.7 112c-5.5-9.6-15.9-16-27.7-16s-22.2 6.4-27.7 16H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H155.7zM376 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H539.7c-5.5-9.6-15.9-16-27.7-16s-22.2 6.4-27.7 16H376zM96 192v64c0 12.6 7.4 24.1 19 29.2l56.5 25.1c-17.8 21.5-27.5 48.5-27.5 76.4V392c0 13.3 10.7 24 24 24s24-10.7 24-24v-5.2c0-16.8 5.9-33.2 16.7-46.1l8.4-10.1L259 349.2c4.1 1.8 8.5 2.8 13 2.8h96c4.5 0 8.9-.9 13-2.8l41.9-18.6 8.4 10.1c10.8 12.9 16.7 29.3 16.7 46.1V392c0 13.3 10.7 24 24 24s24-10.7 24-24v-5.2c0-27.9-9.7-54.9-27.5-76.4L525 285.2c11.6-5.1 19-16.6 19-29.2V192H480v43.2l-17.8 7.9-40.6-23.7C390.7 201.5 355.7 192 320 192s-70.7 9.5-101.6 27.5l-40.6 23.7L160 235.2V192H96z\"]\n};\nvar faDroneAlt = faDroneFront;\nvar faGlassEmpty = {\n prefix: 'fas',\n iconName: 'glass-empty',\n icon: [384, 512, [], \"e191\", \"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L355.1 437.7c-3 41.9-37.8 74.3-79.8 74.3H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L317.6 64H66.4z\"]\n};\nvar faDialHigh = {\n prefix: 'fas',\n iconName: 'dial-high',\n icon: [576, 512, [], \"e15c\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm.4 127.6c80.2 0 146.6 59 158.2 136H288.4c-13.3 0-24 10.7-24 24s10.7 24 24 24H446.6c-11.6 77-78 136-158.2 136c-88.4 0-160-71.6-160-160s71.6-160 160-160zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserHelmetSafety = {\n prefix: 'fas',\n iconName: 'user-helmet-safety',\n icon: [448, 512, [128119, \"user-construction\", \"user-hard-hat\"], \"f82c\", \"M216 0c-13.3 0-24 10.7-24 24V80L163.6 23.1C125.6 43.5 99 82.6 96.2 128H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24h-.2C349 82.6 322.4 43.5 284.4 23.1L256 80V24c0-13.3-10.7-24-24-24H216zm8 320c65.3 0 119.1-48.9 127-112H97c7.9 63.1 61.7 112 127 112zm-89.6 32C60.2 352 0 412.2 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352H134.4z\"]\n};\nvar faUserConstruction = faUserHelmetSafety;\nvar faUserHardHat = faUserHelmetSafety;\nvar faI = {\n prefix: 'fas',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96h96V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V96h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 32z\"]\n};\nvar faHryvniaSign = {\n prefix: 'fas',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M121.9 116.2C138.3 103.1 158.7 96 179.6 96H223c27.1 0 49 21.9 49 49c0 11.5-4 22.4-11.1 31H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H155.5l-50.6 28.9c-1.7 1-3.4 2-5.1 3.1H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H52.3c-2.8 9.9-4.3 20.4-4.3 31c0 62.4 50.6 113 113 113h43.4c35.5 0 70-12.1 97.7-34.3L308 441c13.8-11 16-31.2 5-45s-31.2-16-45-5l-5.9 4.7c-16.4 13.1-36.7 20.2-57.7 20.2H161c-27.1 0-49-21.9-49-49c0-11.5 4-22.4 11.1-31H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H228.5l50.6-28.9c1.7-1 3.4-2 5.1-3.1H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H331.7c2.8-10 4.3-20.4 4.3-31c0-62.4-50.6-113-113-113H179.6c-35.5 0-70 12.1-97.7 34.3L76 71c-13.8 11-16 31.2-5 45s31.2 16 45 5l5.9-4.7z\"]\n};\nvar faHryvnia = faHryvniaSign;\nvar faArrowDownLeftAndArrowUpRightToCenter = {\n prefix: 'fas',\n iconName: 'arrow-down-left-and-arrow-up-right-to-center',\n icon: [512, 512, [], \"e092\", \"M502.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L336 130.7V80c0-17.7-14.3-32-32-32s-32 14.3-32 32V208c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32s-14.3-32-32-32H381.3L502.6 54.6zM80 272c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L176 381.3V432c0 17.7 14.3 32 32 32s32-14.3 32-32V304c0-17.7-14.3-32-32-32H80z\"]\n};\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 96c-26.5 0-48 21.5-48 48V256h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112V368c0 61.9-50.1 112-112 112S0 429.9 0 368V144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z\"]\n};\nvar faFaceGrinWide = {\n prefix: 'fas',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM208 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm128 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M186.1 52.1C169.3 39.1 148.7 32 127.5 32C74.7 32 32 74.7 32 127.5v6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2l36.7 205.8c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C192.2 323.7 207 312 224 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5v-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z\"]\n};\nvar faBasketballHoop = {\n prefix: 'fas',\n iconName: 'basketball-hoop',\n icon: [640, 512, [], \"f435\", \"M6.8 187C24.7 153.1 116.7 0 320 0S615.3 153.1 633.2 187c4.9 9.4 6.8 19.1 6.8 28V331.2c0 25.3-14.9 48.2-38 58.5l-96.4 42.9L526.2 288H493.9l-7.2 50.3-22.9 160c-.9 6.1-5.2 11.2-11.1 13s-12.3 .1-16.5-4.4L384.4 451l-52.8 56c-3 3.2-7.2 5-11.6 5s-8.6-1.8-11.6-5l-52.8-56-51.9 55.9c-4.2 4.5-10.6 6.2-16.5 4.4s-10.2-6.9-11.1-13l-22.9-160L146.1 288H113.8l20.7 144.6L38 389.7C14.9 379.4 0 356.5 0 331.2V214.9c0-8.9 1.8-18.6 6.8-28zM178.4 288l5.2 36.6 44-36.6H178.4zm99.3 0l-.6 .5L320 334.6l42.8-46.1-.6-.5H277.8zm134.5 0l44 36.6 5.2-36.6H412.3zM192 128c-17.7 0-32 14.3-32 32v48H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h64H464h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V160c0-17.7-14.3-32-32-32H192zm256 32v48H192V160H448zM387.5 309l-45.7 49.2 42.7 46 51.6-54.7L387.5 309zm49.4 151.6l11-76.8-41.5 44 30.5 32.9zM320 381.7l-42.6 45.9L320 472.7l42.6-45.2L320 381.7zm-21.8-23.5L252.5 309l-48.7 40.5 51.6 54.7 42.7-46zm-64.6 69.5l-41.5-44 11 76.8 30.5-32.9z\"]\n};\nvar faObjectsAlignBottom = {\n prefix: 'fas',\n iconName: 'objects-align-bottom',\n icon: [512, 512, [], \"e3bb\", \"M24 512l464 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24zM64 336c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48l0 288zm224 0c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48l0 160z\"]\n};\nvar faV = {\n prefix: 'fas',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M19.7 34.5c16.3-6.8 35 .9 41.8 17.2L192 364.8 322.5 51.7c6.8-16.3 25.5-24 41.8-17.2s24 25.5 17.2 41.8l-160 384c-5 11.9-16.6 19.7-29.5 19.7s-24.6-7.8-29.5-19.7L2.5 76.3c-6.8-16.3 .9-35 17.2-41.8z\"]\n};\nvar faSparkles = {\n prefix: 'fas',\n iconName: 'sparkles',\n icon: [512, 512, [10024], \"f890\", \"M327.5 85.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 128l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 128l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 64 426.8 7.5C425.1 3 420.8 0 416 0s-9.1 3-10.8 7.5L384 64 327.5 85.2zM205.1 73.3c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3L123.3 187.3 9.3 240C3.6 242.6 0 248.3 0 254.6s3.6 11.9 9.3 14.5l114.1 52.7L176 435.8c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l52.7-114.1 114.1-52.7c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5L257.8 187.4 205.1 73.3zM384 384l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 448l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 448l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 384l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L384 384z\"]\n};\nvar faSquid = {\n prefix: 'fas',\n iconName: 'squid',\n icon: [512, 512, [129425], \"e450\", \"M276 .3c-5.3-1.1-10.8 .6-14.6 4.5s-5.4 9.4-4.2 14.7l13.1 58.9c-71.9 46.2-103.4 101.8-110.6 148.4L146 213l-2.3-2.3-22.6-22.6c-6.2-6.2-6.2-16.4 0-22.6l56.4-56.4c18.9-18.9 18.7-49.5-.3-68.2L140.1 4.6c-6.3-6.1-16.3-6.1-22.5 .1l-2.8 2.8c-34 34-33.3 87.7-1.9 121L98.5 142.9c-18.7 18.7-18.7 49.1 0 67.9l22.6 22.6 0 0 5.7 5.7 0 0c9.3 9.4 9.3 24.5 0 33.9c-9.3 9.3-24.4 9.4-33.8 .2L76.5 256.6c-19.1-19.1-50.2-18.7-68.7 .9L4.4 261c-6.1 6.4-5.8 16.5 .6 22.6s16.5 5.8 22.6-.6l3.3-3.5c6.2-6.5 16.6-6.7 22.9-.3l10.6 10.6 .1 .2 22.6 22.6c10.1 10.2 9 26.9-2.4 35.8l-20 15.6c-3.5 2.7-7.7 4.2-12.1 4.2c-10.9 0-19.7-8.8-19.7-19.7V336c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 12.3C.9 376.8 24.1 400 52.6 400c11.5 0 22.7-3.8 31.8-10.9l28.2-21.9c9.4-7.3 22.8-6.5 31.2 1.9s9.3 21.8 1.9 31.2l-21.9 28.2c-7.1 9.1-10.9 20.3-10.9 31.8c0 28.6 23.2 51.7 51.7 51.7h12.3c8.8 0 16-7.2 16-16s-7.2-16-16-16H164.6c-10.9 0-19.7-8.8-19.7-19.7c0-4.4 1.5-8.7 4.2-12.1l15.6-20c8.8-11.4 25.6-12.4 35.8-2.3l.1 .1L223 448.3l.1 .1 9.9 9.8c6.5 6.5 6.2 17.2-.7 23.3l-2.8 2.5c-6.6 5.9-7.2 16-1.3 22.6s16 7.2 22.6 1.3l2.8-2.5c20.7-18.3 21.6-50.3 2.1-69.8l-9.9-9.9-5.7-5.7-.1-.1c-9.3-9.3-9.3-24.4 0-33.8l.1-.1 .1-.1c9.3-9.2 24.4-9.2 33.7 0l28.4 28.4c18.7 18.7 49.1 18.7 67.9 0L384.4 400c33.3 31.4 87 32.1 121-1.9l2.8-2.8c6.2-6.2 6.3-16.3 .1-22.5L472 335.7c-18.7-19-49.3-19.2-68.2-.3l-56.4 56.3c-6.2 6.2-16.4 6.2-22.6 0l-22.5-22.5-.1-.1-16-16c46.6-7.2 102.2-38.7 148.4-110.6l58.9 13.1c5.3 1.2 10.8-.4 14.7-4.2s5.6-9.3 4.5-14.6L489.3 120.2c9.2-30.2 17.2-64 23.4-101.5c.9-5.1-.8-10.3-4.5-13.9S499.4-.6 494.3 .2C456.7 6.5 423 14.4 392.7 23.6L276 .3zM168.9 280a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faLeafyGreen = {\n prefix: 'fas',\n iconName: 'leafy-green',\n icon: [576, 512, [129388], \"e41d\", \"M97.9 28.4C92 34.4 87 40.8 83 47.7C70 69.6 50.6 89.9 30.9 105.9c-2.3 1.8-4.4 3.8-6.5 5.9C-1.4 137.6-6.8 176.2 8.5 207.2c5.7 11.7 11 24.1 11 37.1v35.7c0 14.7 5.8 28.8 16.3 39.2l26.3 26.3c10.4 10.4 16.3 24.5 16.3 39.2l0 12.9c0 2.9 .2 5.8 .7 8.7l7.6-7.6c6-6 9.4-14.1 9.4-22.6V330.5c0-25.5 10.1-49.9 28.1-67.9l10.5-10.5c6-6 9.4-14.1 9.4-22.6v-43c0-25.5 10.1-49.9 28.1-67.9l29.1-29.1c5-5 8.8-12.9 13.7-27c4.4-12.9 10.8-24.8 18.9-35.5c-38-36.5-98.4-36-135.8 1.5zM567.5 229.9c-3.1-29.1-2.3-61.5 5-89.9c2.3-8.9 3.5-18.3 3.5-28C576 50.1 525.9 0 464 0c-9.7 0-19 1.2-28 3.5c-28.4 7.3-60.8 8.1-89.9 5c-3.3-.3-6.7-.5-10.1-.5c-42.1 0-77.9 27.1-90.8 64.9c-4.9 14.3-10.6 28.6-21.3 39.3l-29.1 29.1c-12 12-18.7 28.3-18.7 45.3v43c0 17-6.7 33.3-18.7 45.3l-10.5 10.5c-12 12-18.7 28.3-18.7 45.3v45.7c0 17-6.7 33.3-18.7 45.3L73.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l35.9-35.9c12-12 28.3-18.7 45.3-18.7h45.7c17 0 33.3-6.7 45.3-18.7l10.5-10.5c12-12 28.3-18.7 45.3-18.7h43c17 0 33.3-6.7 45.3-18.7l29.1-29.1c10.7-10.7 25-16.4 39.3-21.3C540.9 317.9 568 282.1 568 240c0-3.4-.2-6.8-.5-10.1zM475.3 100.7c6.2 6.2 6.2 16.4 0 22.6L390.6 208H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H358.6l-59.3 59.3-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L272 281.4V192c0-8.8 7.2-16 16-16s16 7.2 16 16v57.4l36.7-36.7 112-112c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faCircleArrowUpRight = {\n prefix: 'fas',\n iconName: 'circle-arrow-up-right',\n icon: [512, 512, [], \"e0fc\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm368 64c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-94.1L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l135-135L184 192c-13.3 0-24-10.7-24-24s10.7-24 24-24l160 0c13.3 0 24 10.7 24 24l0 152z\"]\n};\nvar faCalendars = {\n prefix: 'fas',\n iconName: 'calendars',\n icon: [512, 512, [], \"e0d7\", \"M224 0c-17.7 0-32 14.3-32 32V64H144c-26.5 0-48 21.5-48 48v48H512V112c0-26.5-21.5-48-48-48H416V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H256V32c0-17.7-14.3-32-32-32zM96 192V368c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V192H96zm-48-8c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 66.3 53.7 120 120 120H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V184z\"]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'fas',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M36 32.2C18.4 30.1 2.4 42.5 .2 60S10.5 93.6 28 95.8l7.9 1c16 2 28 15.6 28 31.8V160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V384c0 53 43 96 96 96h32c106 0 192-86 192-192V256c0-53-43-96-96-96H272c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c17.7 0 32 14.3 32 32v32c0 70.7-57.3 128-128 128H160c-17.7 0-32-14.3-32-32V224h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V128.5c0-48.4-36.1-89.3-84.1-95.3l-7.9-1z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h49c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM458.6 303.7l32.3 59.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-32.3-59.7c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3zM133.2 368h65c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l-24.2 48.5c-9 18.1 4.1 39.4 24.3 39.4zm33.7-48l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"]\n};\nvar faHammerWar = {\n prefix: 'fas',\n iconName: 'hammer-war',\n icon: [384, 512, [], \"f6e4\", \"M192 0c17.7 0 32 14.3 32 32V50.8L347.3 32.4c9.2-1.4 18.6 1.3 25.6 7.4S384 54.7 384 64V256c0 9.3-4.1 18.2-11.1 24.2s-16.4 8.8-25.6 7.4L196.7 265.1c-3.1-.5-6.3-.5-9.5 0L36.7 287.6c-9.2 1.4-18.6-1.3-25.6-7.4S0 265.3 0 256V64c0-9.3 4.1-18.2 11.1-24.2s16.4-8.8 25.6-7.4L160 50.8V32c0-17.7 14.3-32 32-32zm0 296.7l32 4.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V301.5l32-4.8z\"]\n};\nvar faCircleD = {\n prefix: 'fas',\n iconName: 'circle-d',\n icon: [512, 512, [], \"e104\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H184c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 208c44.2 0 80-35.8 80-80s-35.8-80-80-80H208V336h48z\"]\n};\nvar faSpiderBlackWidow = {\n prefix: 'fas',\n iconName: 'spider-black-widow',\n icon: [512, 512, [], \"f718\", \"M144.6 1.6c12.4 4.8 18.5 18.6 13.8 31l-32.5 84.6c-1.1 3-.4 6.3 1.8 8.5L176 174.1V160c0-31.8 18.6-59.3 45.5-72.2c9.1-4.4 18.5 3.3 18.5 13.4V112c0 8.8 7.2 16 16 16s16-7.2 16-16V101.2c0-10.1 9.4-17.7 18.5-13.4C317.4 100.7 336 128.2 336 160v14.1l48.3-48.3c2.2-2.2 2.9-5.6 1.8-8.5L353.6 32.6c-4.8-12.4 1.4-26.3 13.8-31s26.3 1.4 31 13.8L430.9 100c7.9 20.7 3 44.1-12.7 59.7l-57.4 57.4 80.4-26.8c2.4-.8 4.3-2.7 5.1-5.1l18.9-56.8c4.2-12.6 17.8-19.4 30.4-15.2s19.4 17.8 15.2 30.4l-18.9 56.8c-5.6 16.7-18.7 29.8-35.4 35.4L395.9 256l60.5 20.2c16.7 5.6 29.8 18.7 35.4 35.4l18.9 56.8c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-18.9-56.8c-.8-2.4-2.7-4.3-5.1-5.1l-80.4-26.8 57.4 57.4c15.6 15.6 20.6 39 12.7 59.7l-32.5 84.6c-4.8 12.4-18.6 18.5-31 13.8s-18.5-18.6-13.8-31l32.5-84.6c1.1-3 .4-6.3-1.8-8.5L352 353.9c-1 52.1-43.6 94.1-96 94.1s-95-41.9-96-94.1l-32.3 32.3c-2.2 2.2-2.9 5.6-1.8 8.5l32.5 84.6c4.8 12.4-1.4 26.3-13.8 31s-26.3-1.4-31-13.8L81.1 412c-7.9-20.7-3-44.1 12.7-59.7l57.4-57.4L70.8 321.7c-2.4 .8-4.3 2.7-5.1 5.1L46.8 383.6C42.6 396.2 29 403 16.4 398.8S-3 381 1.2 368.4l18.9-56.8c5.6-16.7 18.7-29.8 35.4-35.4L116.1 256 55.6 235.8c-16.7-5.6-29.8-18.7-35.4-35.4L1.2 143.6C-3 131 3.8 117.4 16.4 113.2s26.2 2.6 30.4 15.2l18.9 56.8c.8 2.4 2.7 4.3 5.1 5.1l80.4 26.8L93.7 159.7C78.1 144 73.1 120.6 81.1 100l32.5-84.6c4.8-12.4 18.6-18.5 31-13.8zm73.8 305.6L240 336l-21.6 28.8c-1.6 2.1-2.4 4.6-2.4 7.2c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12c0-2.6-.8-5.1-2.4-7.2L272 336l21.6-28.8c1.6-2.1 2.4-4.6 2.4-7.2c0-6.6-5.4-12-12-12H228c-6.6 0-12 5.4-12 12c0 2.6 .8 5.1 2.4 7.2z\"]\n};\nvar faStaffSnake = {\n prefix: 'fas',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.1 4.8H288c53 0 96 43 96 96s-43 96-96 96H248V160h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H248 220l-4.5 144H256c53 0 96 43 96 96s-43 96-96 96H240V384h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H213l-3.1 99.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1-31H136c-22.1 0-40-17.9-40-40s17.9-40 40-40h36l-1-32H152c-53 0-96-43-96-96c0-47.6 34.6-87.1 80-94.7V256c0 8.8 7.2 16 16 16h16.5L164 128H136 122.6c-9 18.9-28.3 32-50.6 32H56c-30.9 0-56-25.1-56-56S25.1 48 56 48h8 8 89.5l-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faPear = {\n prefix: 'fas',\n iconName: 'pear',\n icon: [512, 512, [], \"e20c\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9L457.9 88.1c14 20.5 22.1 45.3 22.1 71.9c0 30.7-10.8 58.9-28.9 81c-29.9 36.5-61.4 81.8-73.3 127.4c-8.3 32-25 62.3-50.1 87.3c-75 75-196.5 75-271.5 0s-75-196.5 0-271.5c25.1-25.1 55.3-41.8 87.3-50.1c45.7-11.8 90.9-43.4 127.4-73.3c22.1-18 50.3-28.9 81-28.9c26.7 0 51.4 8.2 71.9 22.1L471 7c9.4-9.4 24.6-9.4 33.9 0zM320 320c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 53-43 96-96 96c-8.8 0-16 7.2-16 16s7.2 16 16 16c70.7 0 128-57.3 128-128z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M448 325.8l44 34.5c8.1 1.4 14.8 6.8 18 14.1L552.9 408c10.6 .4 19.5 7.6 22.2 17.4l39.1 30.6c.6 0 1.2-.1 1.8-.1c11.1 0 20.4 7.5 23.2 17.8h-3.9c6.2 8.5 6.4 20.4-.4 29c-8.2 10.4-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L89.6 44.9C127 16.7 173.5 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 5.8zM0 224.2c0-38.7 9.8-75.1 27.1-106.9L341.8 365.3l-2.5 .3c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9l62 3.9 43 33.9C439.3 466.2 421.2 480 400 480H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM616 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTriangle = {\n prefix: 'fas',\n iconName: 'triangle',\n icon: [512, 512, [9650], \"f2ec\", \"M290.5 51.8C283.3 39.5 270.2 32 256 32s-27.3 7.5-34.5 19.8l-216 368c-7.3 12.4-7.3 27.7-.2 40.1S25.7 480 40 480H472c14.3 0 27.6-7.7 34.7-20.1s7-27.8-.2-40.1l-216-368z\"]\n};\nvar faApartment = {\n prefix: 'fas',\n iconName: 'apartment',\n icon: [576, 512, [], \"e468\", \"M176 0c-26.5 0-48 21.5-48 48V96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48h80 32 96V416c0-17.7 14.3-32 32-32s32 14.3 32 32v96h96 32 80c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H448V48c0-26.5-21.5-48-48-48H176zM368 320H336c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm144 80c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM112 320H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm16 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm112-80H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM384 80v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM240 64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zM384 208c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM496 320H464c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM128 208c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm112 16H208c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16z\"]\n};\nvar faTruckMedical = {\n prefix: 'fas',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 80v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h48c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H240V80c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z\"]\n};\nvar faAmbulance = faTruckMedical;\nvar faPepper = {\n prefix: 'fas',\n iconName: 'pepper',\n icon: [512, 512, [129745], \"e432\", \"M252.6 11.7C245.8 .3 231-3.4 219.7 3.4s-15.1 21.6-8.2 32.9l10.3 17.2c6.7 11.2 10.3 24 10.3 37v10.9c-5.6-2-11.5-3.5-17.4-4.4l-1.1-.2c-8.1-1.2-16.4-1.3-24.9-.3c-4 .5-7.9 1.2-11.9 2.2c-51.4 12.9-74.7 65-61.9 116.4l37.1 148.3c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6L83.8 223c-11.8-47 .4-94.4 31.3-125.2c-13.6-2.8-28-2.6-42.4 1C21.3 111.7-10 163.8 2.9 215.3l56 224c12.9 51.4 65 82.7 116.4 69.8c7-1.7 13.6-4.2 19.8-7.3c5.6-2.8 12.3-2.8 17.9 0c3 1.5 6 2.8 9.2 4c10.7 4 22.2 6.2 34 6.2c11.6 0 22.9-2.1 33.5-6.1c3.2-1.2 6.4-2.6 9.4-4.1c5.6-2.8 12.3-2.8 17.9 0c6.2 3.1 12.8 5.6 19.8 7.3c51.4 12.9 103.6-18.4 116.4-69.8l56-224c12.9-51.4-18.4-103.6-69.8-116.4c-23.2-5.8-46.5-2.6-66.3 7.3c-5.6 2.8-12.3 2.8-17.9 0c-6.2-3.1-12.8-5.6-19.8-7.3c-19-4.8-38.1-3.5-55.3 2.6V90.6c0-21.7-5.9-43.1-17.1-61.7L252.6 11.7z\"]\n};\nvar faPiano = {\n prefix: 'fas',\n iconName: 'piano',\n icon: [512, 512, [], \"f8d4\", \"M0 192V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V327.6c0-24.2-13.7-46.4-35.4-57.2l-58.4-29.2c-21-10.5-34.2-31.9-34.2-55.4C384 83.2 300.8 0 198.3 0H192C86 0 0 86 0 192zM416 352h32v96H64V352H96v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352z\"]\n};\nvar faGunSquirt = {\n prefix: 'fas',\n iconName: 'gun-squirt',\n icon: [576, 512, [], \"e19d\", \"M128 56c0-13.3-10.7-24-24-24S80 42.7 80 56v9.3C34.6 72.9 0 112.4 0 160c0 47.3 34.3 86.7 79.4 94.6L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480H168c14.7 0 27.5-10 31-24.2L219 376h53v16c0 13.3 10.7 24 24 24s24-10.7 24-24V352 312c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H231l18-72H448c41.8 0 77.4-26.7 90.5-64H552c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H538.5C525.4 90.7 489.8 64 448 64H128V56zM96 128H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faWheatAwnCircleExclamation = {\n prefix: 'fas',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c22.5 22.5 53.3 31.5 82.4 27c0-1 0-2.1 0-3.1c0-33.1 9.1-64.1 25-90.6c-15.5-8.7-32.5-13.8-49.8-15.5l31.9-31.9 12.2 12.2c6 6 12.6 11.1 19.7 15.2c27.5-34 67.3-57.5 112.6-63.8c-4.1-3.8-8.4-7.3-12.9-10.5L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L305.5 27.3zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M341.1 140.6c-2 3.9-1.6 8.6 1.2 12c7 8.5 12.9 18.1 17.2 28.4L408 160.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24v19.6l22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c-.5 9.5-2.1 18.6-4.8 27.3c-1.2 3.8-.1 8 2.8 10.8C396.7 296.9 416 338.2 416 384c0 44.7-18.3 85-47.8 114.1c-9.9 9.7-23.7 13.9-37.5 13.9H181.3c-13.9 0-27.7-4.2-37.5-13.9C114.3 469 96 428.7 96 384c0-45.8 19.3-87.1 50.1-116.3c2.9-2.8 4-6.9 2.8-10.8c-2.7-8.7-4.3-17.9-4.8-27.3L70.5 198.1l-56-24C2.4 168.8-3.3 154.7 1.9 142.5s19.3-17.8 31.5-12.6L56 139.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24v40.2L152.6 181c4.3-10.3 10.1-19.9 17.2-28.4c2.8-3.4 3.3-8.1 1.2-12C164 127.2 160 112.1 160 96c0-53 43-96 96-96s96 43 96 96c0 16.1-4 31.2-10.9 44.6zM224 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24v3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V120c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faUserAlien = {\n prefix: 'fas',\n iconName: 'user-alien',\n icon: [448, 512, [], \"e04a\", \"M64 167C64 74.8 135.6 0 224 0s160 74.8 160 167c0 101-106.6 185-139.2 208.3c-6.1 4.3-13.4 6.5-20.8 6.5s-14.7-2.1-20.8-6.5C170.6 352 64 268.1 64 167zm244.6 9c-37.9 0-68.6 30.7-68.6 68.6c0 6.3 5.1 11.4 11.4 11.4h16c37.9 0 68.6-30.7 68.6-68.6c0-6.3-5.1-11.4-11.4-11.4h-16zM208 244.6c0-37.9-30.7-68.6-68.6-68.6h-16c-6.3 0-11.4 5.1-11.4 11.4c0 37.9 30.7 68.6 68.6 68.6h16c6.3 0 11.4-5.1 11.4-11.4zM0 486.4C0 415 55.7 356.6 126.1 352.3c23.8 23.2 46.1 40.2 58.5 49.1c12 8.6 25.9 12.4 39.4 12.4s27.4-3.8 39.4-12.4c12.4-8.8 34.7-25.8 58.5-49.1C392.3 356.6 448 415 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4z\"]\n};\nvar faShieldCheck = {\n prefix: 'fas',\n iconName: 'shield-check',\n icon: [512, 512, [], \"f2f7\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M504.3 11.1C493.3-1.6 474.5-3.7 461 6.2L252.3 160H397.3L502.6 54.6c11.8-11.8 12.6-30.8 1.6-43.5zM32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32c0 82.5 43.4 147.7 123.9 176.2c-11.1 13.9-19.4 30.3-23.9 48.1C127.6 497.4 142.3 512 160 512H352c17.7 0 32.4-14.6 28.1-31.7c-4.5-17.8-12.8-34.1-23.9-48.1C436.6 403.7 480 338.5 480 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faRoadBarrier = {\n prefix: 'fas',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V266.3L149.2 96H64V64c0-17.7-14.3-32-32-32zM405.2 96H330.8l-5.4 10.7L234.8 288h74.3l5.4-10.7L405.2 96zM362.8 288h74.3l5.4-10.7L533.2 96H458.8l-5.4 10.7L362.8 288zM202.8 96l-5.4 10.7L106.8 288h74.3l5.4-10.7L277.2 96H202.8zm288 192H576V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v53.7L490.8 288z\"]\n};\nvar faChartCandlestick = {\n prefix: 'fas',\n iconName: 'chart-candlestick',\n icon: [512, 512, [], \"e0e2\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zM320 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32V48zm64 176v64c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c-17.7 0-32 14.3-32 32zM160 128c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48z\"]\n};\nvar faBriefcaseBlank = {\n prefix: 'fas',\n iconName: 'briefcase-blank',\n icon: [512, 512, [], \"e0c8\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256V416zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.8V160H48.5C100.2 82.8 188.1 32 288 32c10.8 0 21.5 .6 32 1.8zM352 160V39.1C424.9 55.7 487.2 99.8 527.5 160H352zM29.9 192H96V320H0c0-46 10.8-89.4 29.9-128zM192 320H128V192H448V320H384v32H576v80c0 26.5-21.5 48-48 48H352V352c0-35.3-28.7-64-64-64s-64 28.7-64 64V480H48c-26.5 0-48-21.5-48-48V352H192V320zm288 0V192h66.1c19.2 38.6 29.9 82 29.9 128H480z\"]\n};\nvar faBracketRound = {\n prefix: 'fas',\n iconName: 'bracket-round',\n icon: [192, 512, [\"parenthesis\"], \"28\", \"M154.6 46.2c9.8 14.7 5.8 34.6-8.9 44.4C120.1 107.7 64 167 64 256s56.1 148.3 81.8 165.4c14.7 9.8 18.7 29.7 8.9 44.4s-29.7 18.7-44.4 8.9C71.9 449 0 371.8 0 256S71.9 62.9 110.2 37.4c14.7-9.8 34.6-5.8 44.4 8.9z\"]\n};\nvar faParenthesis = faBracketRound;\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9v11c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43V32zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v11zM229.8 360c-4.7-2.3-10-2.7-15.2-2c-37.8 5.6-75.2 14.3-106.9 22.8C81.3 388 58.3 395.1 42 400.4c-8.2 2.7-14.7 4.9-19.2 6.5c-2.3 .8-4 1.4-5.2 1.8l-1.3 .5C6.8 412.5 0 421.4 0 432s6.8 19.5 16.3 22.7l1.3 .5c1.2 .4 3 1.1 5.2 1.8c4.5 1.6 11 3.8 19.2 6.5c16.3 5.4 39.2 12.5 65.7 19.6C160.3 497.3 228.8 512 288 512h67.3c4.1 0 6.3-5.1 3.6-8.3L256.5 380.8c-7.4-8.9-16.5-15.9-26.7-20.8zM445 512h19 51.3c4.1 0 6.3-5.1 3.6-8.3L416.5 380.8C401.3 362.5 378.8 352 355 352H336 288c-1.1 0-2.3 0-3.4 0c-4.1 0-6.2 5.1-3.5 8.3L383.5 483.2C398.7 501.5 421.2 512 445 512zm-3.9-151.7L543.5 483.2c14.6 17.5 35.9 27.9 58.6 28.7c21.1-1.1 37.9-18.6 37.9-39.9V392c0-22.1-17.9-40-40-40H444.7c-4.1 0-6.3 5.1-3.6 8.3z\"]\n};\nvar faHorseSaddle = {\n prefix: 'fas',\n iconName: 'horse-saddle',\n icon: [576, 512, [], \"f8c3\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128v32c0 41.8-26.7 77.4-64 90.5v78.6l51.7 14.8c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM224 320V256c-53 0-96-43-96-96V130.6c-21.8 5.5-40.3 19.5-51.7 38.2C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l.3 .1zm64-160V128H224 203.2 160v32c0 35.3 28.7 64 64 64s64-28.7 64-64zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMugMarshmallows = {\n prefix: 'fas',\n iconName: 'mug-marshmallows',\n icon: [512, 512, [], \"f7b7\", \"M192 32c7.5 0 14.4 2.6 19.8 6.9L175 75.7c-9.6 9.6-15 22.7-15 36.3c0 5.5 .9 10.9 2.6 16H32V64c0-17.7 14.3-32 32-32H192zm5.7 93.7C194 122 192 117.1 192 112s2-10 5.7-13.7l60.7-60.7C262 34 266.9 32 272 32s10 2 13.7 5.7l60.7 60.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L344 128H200l-2.3-2.3zM0 192c0-17.7 14.3-32 32-32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160H352h48c61.9 0 112 50.1 112 112s-50.1 112-112 112H384c0 53-43 96-96 96H96c-53 0-96-43-96-96V192zm384 32v96h16c26.5 0 48-21.5 48-48s-21.5-48-48-48H384z\"]\n};\nvar faFilters = {\n prefix: 'fas',\n iconName: 'filters',\n icon: [640, 512, [], \"e17e\", \"M232 32c-15.9 0-30.2 9.4-36.6 23.9s-3.6 31.5 7.2 43.2L352 261.5V368c0 10.1 4.7 19.6 12.8 25.6l64 48c9.7 7.3 22.7 8.4 33.5 3s17.7-16.5 17.7-28.6V261.5L629.4 99.1c10.7-11.7 13.6-28.6 7.2-43.2S615.9 32 600 32H232zM40 96c-15.9 0-30.2 9.4-36.6 23.9s-3.6 31.5 7.2 43.2L160 325.5V400c0 10.1 4.7 19.6 12.8 25.6l64 48c9.7 7.3 22.7 8.4 33.5 3s17.7-16.5 17.7-28.6V325.5l32-34.8V274L179 120.7c-6.7-7.3-11.7-15.7-14.9-24.7H40z\"]\n};\nvar faBellOn = {\n prefix: 'fas',\n iconName: 'bell-on',\n icon: [640, 512, [128365], \"f8fa\", \"M320 0c-17.7 0-32 14.3-32 32V51.2C215 66 160 130.6 160 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S115.4 416 128 416H512c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C497.3 319.2 480 273.9 480 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7zM0 200c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm536-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536zM597.5 21.3c-5.9-11.9-20.3-16.7-32.2-10.7l-64 32c-11.9 5.9-16.7 20.3-10.7 32.2s20.3 16.7 32.2 10.7l64-32c11.9-5.9 16.7-20.3 10.7-32.2zM53.3 53.5l64 32c11.9 5.9 26.3 1.1 32.2-10.7s1.1-26.3-10.7-32.2l-64-32C62.9 4.6 48.5 9.4 42.5 21.3s-1.1 26.3 10.7 32.2z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"]\n};\nvar faDialMed = {\n prefix: 'fas',\n iconName: 'dial-med',\n icon: [576, 512, [], \"e15f\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM128 287.2C128 207 187 140.6 264 129l0 158.2c0 13.3 10.7 24 24 24s24-10.7 24-24L312 129c77 11.6 136 78 136 158.2c0 88.4-71.6 160-160 160s-160-71.6-160-160zm384 .8a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128H224 203.2 148.8c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faQ = {\n prefix: 'fas',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M64 256c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1l-72-86.4c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l70.9 85.1C371.9 325.8 384 292.3 384 256c0-88.4-71.6-160-160-160S64 167.6 64 256zM344.9 444.6C310 467 268.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l47.3 56.8c11.3 13.6 9.5 33.8-4.1 45.1s-33.8 9.5-45.1-4.1l-46.6-55.9z\"]\n};\nvar faMonitorWaveform = {\n prefix: 'fas',\n iconName: 'monitor-waveform',\n icon: [576, 512, [\"monitor-heart-rate\"], \"f611\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM80 96H496c8.8 0 16 7.2 16 16V400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V272 112c0-8.8 7.2-16 16-16zM96 256h96c6.1 0 11.6 3.4 14.3 8.8L224 300.2l49.7-99.4c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8L329.9 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-6.1 0-11.6-3.4-14.3-8.8L288 243.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L182.1 288H96v96H480V128H96V256z\"]\n};\nvar faMonitorHeartRate = faMonitorWaveform;\nvar faLinkSimple = {\n prefix: 'fas',\n iconName: 'link-simple',\n icon: [576, 512, [], \"e1cd\", \"M0 256C0 167.6 71.6 96 160 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-53 0-96 43-96 96s43 96 96 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c53 0 96-43 96-96s-43-96-96-96H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c88.4 0 160 71.6 160 160zM192 224H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faWhistle = {\n prefix: 'fas',\n iconName: 'whistle',\n icon: [640, 512, [], \"f460\", \"M44.1 188.8C18.5 180.5 0 156.4 0 128C0 92.7 28.7 64 64 64c23.4 0 43.8 12.5 55 31.2C149.2 75.5 185.2 64 224 64c51 0 97.4 19.9 131.8 52.4c1.1 .5 2.2 1.2 3.2 2l62.4 48.3c5.1 4 7.3 10.6 5.6 16.9l-5.7 21.1c-3.2 11.7 1.1 24.2 10.8 31.5c9.6 7.2 22.7 7.9 33 1.7l17.7-10.6c5.7-3.4 12.8-3 18 1.1l128.6 99.6C636.1 333 640 341 640 349.4c0 6.8-2.5 13.4-7.1 18.4l-63.4 69.7c-6.1 6.7-14.7 10.5-23.7 10.5h-2c-5.2 0-10.2-1.2-14.8-3.6L380.7 367c-34.8 49-92 81-156.7 81C118 448 32 362 32 256c0-23.6 4.3-46.3 12.1-67.2zM288 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM64 144a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faG = {\n prefix: 'fas',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c77.4 0 142-55 156.8-128H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H400c25.8 0 49.6 21.4 47.2 50.6C437.8 389.6 341.4 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C302.3 111.4 265 96 224 96z\"]\n};\nvar faWineGlassCrack = {\n prefix: 'fas',\n iconName: 'wine-glass-crack',\n icon: [320, 512, [\"fragile\"], \"f4bb\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H233.9C222 0 214.3 12.5 219.6 23.2l14.2 28.5c3.5 7.1 1.4 15.7-5.1 20.3l-58.4 40.9c-6 4.2-8.4 12-5.8 18.9l31.1 81c2.1 5.5-1.9 11.4-7.8 11.4c-2.4 0-4.7-1.1-6.3-2.9L92.1 118c-6.4-7.4-4.7-18.7 3.5-24l58.6-37.3c7.6-4.8 9.7-14.9 4.7-22.4L140.7 7.1c-3-4.5-8-7.1-13.3-7.1H64z\"]\n};\nvar faFragile = faWineGlassCrack;\nvar faSlotMachine = {\n prefix: 'fas',\n iconName: 'slot-machine',\n icon: [640, 512, [], \"e3ce\", \"M128 0C92.7 0 64 28.7 64 64H448c0-35.3-28.7-64-64-64H128zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64v32c0 35.3 28.7 64 64 64H416h32 80c53 0 96-43 96-96V211.8c9.8-8.8 16-21.6 16-35.8c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 14.2 6.2 27 16 35.8V416c0 17.7-14.3 32-32 32H448V416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zM56 200c0-13.3 10.7-24 24-24h59.9c23 0 38.5 23.5 29.4 44.6L126.1 321.5c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5L115.6 224H80c-13.3 0-24-10.7-24-24zm168-24h59.9c23 0 38.5 23.5 29.4 44.6L270.1 321.5c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5L259.6 224H224c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 24c0-13.3 10.7-24 24-24h59.9c23 0 38.5 23.5 29.4 44.6L414.1 321.5c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5L403.6 224H368c-13.3 0-24-10.7-24-24z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M96 352V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V293.5c0 17-6.7 33.3-18.7 45.3l-58.5 58.5c-12 12-28.3 18.7-45.3 18.7H160c-35.3 0-64-28.7-64-64zM272 128c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16H272zm24 336c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88H296z\"]\n};\nvar faCarWash = {\n prefix: 'fas',\n iconName: 'car-wash',\n icon: [448, 512, [], \"f5e6\", \"M64 128c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2C69 5.1 59 5.1 53.2 11.8C39 28 16 57.8 16 80c0 26.5 21.5 48 48 48zm160 0c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C199 28 176 57.8 176 80c0 26.5 21.5 48 48 48zM432 80c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C359 28 336 57.8 336 80c0 26.5 21.5 48 48 48s48-16 48-48zM153.8 224H294.2c6.8 0 12.8 4.3 15.1 10.6L328.3 288H119.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zM78.5 213.1L50.2 292.4C30.1 300.9 16 320.8 16 344v40 64 32c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V448H352v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C358.1 181.3 328 160 294.2 160H153.8c-33.8 0-64 21.3-75.3 53.1zM96 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faEscalator = {\n prefix: 'fas',\n iconName: 'escalator',\n icon: [640, 512, [], \"e171\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM405.9 175.8C417.5 165.6 432.5 160 448 160h96c35.3 0 64 28.7 64 64s-28.7 64-64 64H472L234.1 496.2C222.5 506.4 207.5 512 192 512H96c-35.3 0-64-28.7-64-64s28.7-64 64-64h72L405.9 175.8zM320 192v16.4l-128 112V192c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]\n};\nvar faCommentImage = {\n prefix: 'fas',\n iconName: 'comment-image',\n icon: [512, 512, [], \"e148\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm168-16c7.6 0 14.7 3.6 19.2 9.6l96 128c5.5 7.3 6.3 17 2.3 25.1s-12.4 13.3-21.5 13.3H200 120c-9.3 0-17.8-5.4-21.7-13.8s-2.7-18.4 3.3-25.5l40-48c4.6-5.5 11.3-8.6 18.4-8.6s13.9 3.2 18.4 8.6L199 257.3l77.8-103.7c4.5-6 11.6-9.6 19.2-9.6z\"]\n};\nvar faTemperatureHalf = {\n prefix: 'fas',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V208c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'fas',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M288 32c-17.7 0-32 14.3-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v49.1c-18.8-10.9-40.7-17.1-64-17.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V288 128c17.7 0 32-14.3 32-32s-14.3-32-32-32c0-17.7-14.3-32-32-32zM128 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faDonut = {\n prefix: 'fas',\n iconName: 'donut',\n icon: [512, 512, [127849, \"doughnut\"], \"e406\", \"M0 208C0 119.6 114.6 48 256 48s256 71.6 256 160v31c-.7 10-4.3 19.5-10.5 27.4c-6.2 8-14.7 14-24.4 17.1l-.3 .1-.3 .1c-13.1 4.9-24.4 13.8-32 25.5c-9.4 13-22 23.3-36.5 30.1c-14.7 6.8-30.8 9.6-46.9 8.3l-.6 0-.6 0c-17.7-.2-35.3 3.3-51.7 10.1l0 0-.1 0c-16.4 7-34.1 10.5-51.9 10.3l0 0-.3 0c-17.8 .2-35.5-3.3-51.9-10.3l-.1 0c-16.4-6.8-34-10.2-51.7-10.1l-.6 0-.6 0c-16.1 1.3-32.3-1.6-46.9-8.4c-14.6-6.8-27.1-17.1-36.5-30.2c-7.7-11.7-18.9-20.6-32-25.5l-.4-.1-.4-.1c-9.7-3.1-18.2-9.1-24.4-17.1C4.3 258.4 .7 248.9 0 238.9V208zm0 92.7c7.4 5.7 15.7 10.1 24.6 13c6.7 2.6 12.4 7.2 16.3 13.2l.2 .3 .2 .3c12.6 17.6 29.6 31.7 49.3 40.8c19.5 9 41 12.9 62.4 11.3c13.2-.1 26.3 2.5 38.5 7.6c20.4 8.6 42.4 13 64.5 12.8c22.1 .2 44.1-4.2 64.5-12.8c12.2-5.1 25.3-7.6 38.5-7.6c21.4 1.7 42.9-2.2 62.3-11.2c19.7-9.1 36.7-23.1 49.3-40.7l.2-.3 .2-.3c3.9-6 9.6-10.6 16.3-13.2c8.9-2.9 17.3-7.4 24.6-13V304c0 88.4-114.6 160-256 160S0 392.4 0 304v-3.3zM320 192c0-17.7-28.7-32-64-32s-64 14.3-64 32s28.7 32 64 32s64-14.3 64-32zM283.3 84.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6zm-112 38.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32zm224 9.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zM64 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zm331.3 36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm-240 16c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm176 38.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]\n};\nvar faDoughnut = faDonut;\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M64 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256H64V144zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V189.6c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83V144c0-61.9-50.1-112-112-112S0 82.1 0 144zm296.6 64.2c-16-23.3-10-55.3 11.9-71c21.2-15.1 50.5-10.3 66 12.2l67 97.6L361.6 303l-65-94.8zM491 407.7c-.8 .6-1.6 1.1-2.4 1.6l4-2.8c-.5 .4-1 .8-1.6 1.2z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M236.9 .2c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.3c2.8 8.2 4.3 16.9 4.3 26.1c0 21.7-8.5 37.2-21.9 47.6c-13.8 10.8-34 17-57.8 17H128c-35.3 0-64 28.7-64 64c0 12.2 3.4 23.5 9.3 33.2C31.7 216.2 0 252.4 0 296c0 41 28 75.4 65.8 85.2c-5.3-18.5 1-38.5 16.2-50.7l160-128c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L285.7 320H304c20.4 0 38.5 12.9 45.3 32.1c3.7 10.6 3.5 21.8 0 31.9H360c48.6 0 88-39.4 88-88c0-43.6-31.7-79.8-73.3-86.8c5.9-9.7 9.3-21.1 9.3-33.2c0-35.3-28.7-64-64-64h-1.4c.9-5.4 1.4-10.9 1.4-16.6c0-48.7-36.1-88.9-83.1-95.2zm45.1 227.4c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H233.9l52.4-104.8c3.4-6.7 1.6-14.9-4.3-19.6z\"]\n};\nvar faPooBolt = faPooStorm;\nvar faTally1 = {\n prefix: 'fas',\n iconName: 'tally-1',\n icon: [640, 512, [], \"e294\", \"M128 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faFaceFrownOpen = {\n prefix: 'fas',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-122 174.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faSquareDashed = {\n prefix: 'fas',\n iconName: 'square-dashed',\n icon: [448, 512, [], \"e269\", \"M96 32h32V96H96c-17.7 0-32 14.3-32 32v32H0V128C0 75 43 32 96 32zM0 192H64V320H0V192zm384 0h64V320H384V192zm64-32H384V128c0-17.7-14.3-32-32-32H320V32h32c53 0 96 43 96 96v32zm0 192v32c0 53-43 96-96 96H320V416h32c17.7 0 32-14.3 32-32V352h64zM64 352v32c0 17.7 14.3 32 32 32h32v64H96c-53 0-96-43-96-96V352H64zm96 128V416H288v64H160zm0-384V32H288V96H160z\"]\n};\nvar faSquareJ = {\n prefix: 'fas',\n iconName: 'square-j',\n icon: [448, 512, [], \"e273\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 152V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32V240H32V32zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM288 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faArrowUpBigSmall = {\n prefix: 'fas',\n iconName: 'arrow-up-big-small',\n icon: [576, 512, [\"sort-size-up\"], \"f88e\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM320 368c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V368zM368 32H496c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48z\"]\n};\nvar faSortSizeUp = faArrowUpBigSmall;\nvar faBarcodeRead = {\n prefix: 'fas',\n iconName: 'barcode-read',\n icon: [576, 512, [], \"f464\", \"M56 48c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56zm96 80h16c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm160 0h16c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24H408c-13.3 0-24-10.7-24-24V152zM240 128c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM528 56c0-4.4-3.6-8-8-8H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56zM56 464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 4.4 3.6 8 8 8zm472-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 30.9-25.1 56-56 56H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8z\"]\n};\nvar faBaguette = {\n prefix: 'fas',\n iconName: 'baguette',\n icon: [640, 512, [129366], \"e3d8\", \"M583 234.5c58.8-39.2 74.7-118.7 35.5-177.5S499.8-17.7 441 21.5L356.5 77.8l70.8 70.8c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L329.3 96l-88 58.7 74 74c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-78.6-78.6-88 58.7 77.2 77.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L98.9 249.6 57 277.5C-1.8 316.7-17.7 396.2 21.5 455s118.7 74.7 177.5 35.5l384-256z\"]\n};\nvar faBowlSoftServe = {\n prefix: 'fas',\n iconName: 'bowl-soft-serve',\n icon: [512, 512, [], \"e46b\", \"M257.2 9.9c2.5-6 8.3-9.9 14.8-9.9h36.6C367.9 0 416 48.1 416 107.4c0 19.9-6.9 38.1-18.3 52.6H416c35.3 0 64 28.7 64 64s-28.7 64-64 64H96c-35.3 0-64-28.7-64-64s28.7-64 64-64h8.6c-5.4-9.4-8.6-20.3-8.6-32c0-35.3 28.7-64 64-64h94.1C264 64 272 56 272 46.1c0-4.8-1.9-9.3-5.3-12.7l-6.1-6.1c-4.6-4.6-5.9-11.5-3.5-17.4zM64 320H448c8.8 0 16 7.2 16 16v8c0 57.4-46.6 104-104 104H329.9l20.4 40.8c1.1 2.3 1.7 4.7 1.7 7.2c0 2.9-.8 5.8-2.4 8.4c-2.9 4.7-8.1 7.6-13.6 7.6H176c-5.5 0-10.7-2.9-13.6-7.6c-1.6-2.6-2.4-5.5-2.4-8.4c0-2.4 .6-4.9 1.7-7.2L182.1 448H152C94.6 448 48 401.4 48 344v-8c0-8.8 7.2-16 16-16z\"]\n};\nvar faFaceHoldingBackTears = {\n prefix: 'fas',\n iconName: 'face-holding-back-tears',\n icon: [512, 512, [129401], \"e482\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM344.5 367.9c-6.7-5.8-16.8-5.1-22.6 1.6C309 384.4 287.1 400 256 400s-53-15.6-65.9-30.5c-5.8-6.7-15.9-7.4-22.6-1.6s-7.4 15.9-1.6 22.6C183.1 410.3 213.2 432 256 432s72.9-21.7 90.1-41.5c5.8-6.7 5.1-16.8-1.6-22.6zM240 272V240c0-41.5-31.5-75.6-72-79.6c10-10.8 17.6-24.1 21.9-38.8l1.5-5.2c2.4-8.5-2.5-17.4-11-19.8s-17.4 2.5-19.8 11l-1.5 5.2c-7 24.7-28.1 42.7-53.6 45.9L94 160.1c-8.8 1.1-15 9.1-13.9 17.9c1 8.1 7.9 14 15.9 14c-10 13.4-16 30-16 48s6 34.6 16 48v32c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.7c9.8 4.3 20.6 6.7 32 6.7c18 0 34.6-6 48-16c0 8.8 7.2 16 16 16s16-7.2 16-16V288 272zm144 41.3V320c0 8.8 7.2 16 16 16s16-7.2 16-16V288c10-13.4 16-30 16-48s-6-34.6-16-48c8 0 14.9-5.9 15.9-14c1.1-8.8-5.1-16.8-13.9-17.9l-11.5-1.4c-25.5-3.2-46.6-21.3-53.6-45.9l-1.5-5.2c-2.4-8.5-11.3-13.4-19.8-11s-13.4 11.3-11 19.8l1.5 5.2c4.2 14.8 11.8 28 21.9 38.8c-40.4 4-72 38.1-72 79.6c0 44.2 35.8 80 80 80c11.4 0 22.2-2.4 32-6.7zM128 232c17.7 0 32-14.3 32-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4zm224-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4c17.7 0 32-14.3 32-32z\"]\n};\nvar faSquareUp = {\n prefix: 'fas',\n iconName: 'square-up',\n icon: [448, 512, [11014, \"arrow-alt-square-up\"], \"f353\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm39.1 185.4l107.1-99.9c3.8-3.5 8.7-5.5 13.8-5.5s10.1 2 13.8 5.5l107.1 99.9c4.5 4.2 7.1 10.1 7.1 16.3c0 12.3-10 22.3-22.3 22.3H272v96c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V256H118.3C106 256 96 246 96 233.7c0-6.2 2.6-12.1 7.1-16.3z\"]\n};\nvar faArrowAltSquareUp = faSquareUp;\nvar faTrainSubwayTunnel = {\n prefix: 'fas',\n iconName: 'train-subway-tunnel',\n icon: [512, 512, [\"subway-tunnel\"], \"e2a3\", \"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h41.4l64.3-64.3C137.3 444.5 112 417.2 112 384V192c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64V384c0 33.2-25.3 60.5-57.7 63.7L406.6 512H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM361.4 512l-64-64H214.6l-64 64H361.4zM184 192c-13.3 0-24 10.7-24 24v8 64 8c0 13.3 10.7 24 24 24h8 16 8c13.3 0 24-10.7 24-24v-8V224v-8c0-13.3-10.7-24-24-24h-8H192h-8zm88 24v8 64 8c0 13.3 10.7 24 24 24h8 16 8c13.3 0 24-10.7 24-24v-8V224v-8c0-13.3-10.7-24-24-24h-8H304h-8c-13.3 0-24 10.7-24 24zM184 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm168-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSubwayTunnel = faTrainSubwayTunnel;\nvar faSquareExclamation = {\n prefix: 'fas',\n iconName: 'square-exclamation',\n icon: [448, 512, [\"exclamation-square\"], \"f321\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faExclamationSquare = faSquareExclamation;\nvar faSemicolon = {\n prefix: 'fas',\n iconName: 'semicolon',\n icon: [192, 512, [], \"3b\", \"M96 64a64 64 0 1 1 0 128A64 64 0 1 1 96 64zm54.8 319L83.7 492.8C76.4 504.7 63.5 512 49.5 512C24 512 5 488.5 10.4 463.6L37.5 337c6.1-28.6 31.4-49 60.6-49c34.2 0 61.9 28.1 61.9 62.3c0 11.5-3.2 22.9-9.2 32.7z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z\"]\n};\nvar faFanTable = {\n prefix: 'fas',\n iconName: 'fan-table',\n icon: [448, 512, [], \"e004\", \"M256 413.6C355.7 398.2 432 312 432 208C432 93.1 338.9 0 224 0S16 93.1 16 208c0 104 76.3 190.2 176 205.6V448H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H224 352c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V413.6zM184.9 68.5L224.3 166c18.5-25.3 50-39.8 83.3-35.1c48.1 6.8 81.7 51.3 74.9 99.4c-1.2 8.8-9.3 14.8-18.1 13.6L260.2 229.2c12.6 28.7 9.5 63.2-11.2 89.7c-29.9 38.3-85.2 45.1-123.5 15.2c-7-5.4-8.2-15.5-2.8-22.5l64.8-82.9c-31.2-3.4-59.5-23.4-72.1-54.5C97.2 129.1 119 77.9 164.1 59.7c8.2-3.3 17.5 .6 20.8 8.8zM224 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M448 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"]\n};\nvar faBatteryLow = {\n prefix: 'fas',\n iconName: 'battery-low',\n icon: [576, 512, [\"battery-1\"], \"e0b1\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm80 96H96V320h64V192z\"]\n};\nvar faBattery1 = faBatteryLow;\nvar faCreditCardFront = {\n prefix: 'fas',\n iconName: 'credit-card-front',\n icon: [576, 512, [], \"f38a\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM112 288c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 368c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm128 0c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zM408 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H408z\"]\n};\nvar faBrainArrowCurvedRight = {\n prefix: 'fas',\n iconName: 'brain-arrow-curved-right',\n icon: [640, 512, [\"mind-share\"], \"f677\", \"M240 56c0-30.9-25.1-56-56-56c-28.9 0-52.7 21.9-55.7 49.9C100.6 56.9 80 82.1 80 112c0 6 .8 11.9 2.4 17.4C53.6 135.7 32 161.3 32 192c0 15 5.1 28.8 13.8 39.7C18.7 244.5 0 272.1 0 304c0 34.2 21.4 63.4 51.6 74.8C49.3 385.4 48 392.6 48 400c0 35.3 28.7 64 64 64c5.6 0 11.1-.7 16.3-2.1c2.9 28.2 26.8 50.1 55.7 50.1c30.9 0 56-25.1 56-56V56zm32 0V456c0 30.9 25.1 56 56 56c3.2 0 6.4-.3 9.5-.8C321.3 491 304 459.3 304 416c0-79.5 64.5-144 144-144h32V256c0-4.9 .8-9.8 2.2-14.3c-4.9-3.9-10.2-7.3-16-10C474.9 220.8 480 207 480 192c0-30.7-21.6-56.3-50.4-62.6c1.6-5.5 2.4-11.4 2.4-17.4c0-29.9-20.6-55.1-48.3-62.1C380.6 21.9 356.9 0 328 0c-30.9 0-56 25.1-56 56zM539.3 244.7c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v48H448c-61.9 0-112 50.1-112 112c0 54.3 34.6 85.6 45 93.8c1.9 1.5 4.3 2.2 6.7 2.2c6.8 0 12.3-5.5 12.3-12.3V464c0-35.3 28.7-64 64-64h48v48c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faMindShare = faBrainArrowCurvedRight;\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M346.3 271.8l-60.1-21.9L214 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H282.1l64.1-176.2zm121.1-.2l-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4c6.5-78.5-23.9-155.5-80.8-208.5c2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4c-.9-.4-1.9-.7-2.8-1.1c-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zM107.2 112.9c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2c-79.6 2.5-154.7 42.2-201.2 108z\"]\n};\nvar faHelmetUn = {\n prefix: 'fas',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M479.5 224C471.2 98.9 367.2 0 240 0C107.5 0 0 107.5 0 240v56.3C0 344.8 39.2 384 87.7 384H200h14.9L343.5 505.4c4.5 4.2 10.4 6.6 16.5 6.6h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.5l-1.5-1.5V288h80 32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.5zM320 417.2l-78-73.7L274.4 288H320V417.2zM285.3 103.1l34.7 52V112c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM160 112v64c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faLocationSmile = {\n prefix: 'fas',\n iconName: 'location-smile',\n icon: [384, 512, [\"map-marker-smile\"], \"f60d\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM128 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-95.4 84.9c6.2 9.4 29.1 31.1 63.4 31.1s57.1-21.7 63.4-31.1c6.1-9.2 18.5-11.7 27.7-5.5s11.7 18.5 5.5 27.7C277.1 284.4 243.1 316 192 316s-85.1-31.6-96.6-48.9c-6.1-9.2-3.6-21.6 5.5-27.7s21.6-3.6 27.7 5.5z\"]\n};\nvar faMapMarkerSmile = faLocationSmile;\nvar faArrowLeftToLine = {\n prefix: 'fas',\n iconName: 'arrow-left-to-line',\n icon: [448, 512, [8676, \"arrow-to-left\"], \"f33e\", \"M0 96C0 78.3 14.3 64 32 64s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96zM137.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L237.3 224 416 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-178.7 0 73.4 73.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128z\"]\n};\nvar faArrowToLeft = faArrowLeftToLine;\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSushi = {\n prefix: 'fas',\n iconName: 'sushi',\n icon: [576, 512, [127843, \"nigiri\"], \"e48a\", \"M479.7 320l-73.8-24.5L506.3 125.6c24.8 26.7 42.1 60.7 48.5 98.8l12.5 75.2c4 23.8-18.8 43.2-41.7 35.6l-7-2.3L479.7 320h0zM393.5 66.1c32.9 4.8 63.2 18 88.7 37.5L374.8 285.2 323.1 268c-14.6-4.9-30-7-45.2-6.4L393.5 66.1zm-36-2.1L235.6 270.4 96.1 318.7 246.6 64H357.5zM21.3 224.4C36.6 132.2 116.1 64.6 209.5 64L49.4 334.8c-22.4 6.6-44.5-12.5-40.6-36l12.4-74.4zM32 384V369c8.5 .7 17.5-.3 26.4-3.4l193-66.9c20-6.9 41.6-7.1 61.7-.4l205.5 68.2c8.6 2.9 17.2 3.8 25.5 3.1V384c0 35.3-28.7 64-64 64c-19.1 0-36.3-8.4-48-21.7c-11.7 13.3-28.9 21.7-48 21.7s-36.3-8.4-48-21.7c-11.7 13.3-28.9 21.7-48 21.7s-36.3-8.4-48-21.7c-11.7 13.3-28.9 21.7-48 21.7s-36.3-8.4-48-21.7C132.3 439.6 115.1 448 96 448c-35.3 0-64-28.7-64-64z\"]\n};\nvar faNigiri = faSushi;\nvar faMessageCaptions = {\n prefix: 'fas',\n iconName: 'message-captions',\n icon: [512, 512, [\"comment-alt-captions\"], \"e1de\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM120 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM120 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCommentAltCaptions = faMessageCaptions;\nvar faTrashList = {\n prefix: 'fas',\n iconName: 'trash-list',\n icon: [640, 512, [], \"e2b1\", \"M147.8 0H268.2c12.1 0 23.2 6.8 28.6 17.7L304 32h80c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h80l7.2-14.3C124.6 6.8 135.7 0 147.8 0zM32 128H384L362.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm448 0H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-17.7 0-32-14.3-32-32s14.3-32 32-32zM448 416c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-17.7 0-32-14.3-32-32z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M439.2 1.2c11.2-3.2 23.2-.1 31.4 8.1L518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 9.4 406.6c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8zM61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6l0 0 .2-.1 43.1-12.9 23 23c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6L61.8 459z\"]\n};\nvar faOption = {\n prefix: 'fas',\n iconName: 'option',\n icon: [640, 512, [], \"e318\", \"M448 448c-9.7 0-18.9-4.4-25-12L176.6 128H32C14.3 128 0 113.7 0 96S14.3 64 32 64H192c9.7 0 18.9 4.4 25 12L463.4 384H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H448zm0-320c-17.7 0-32-14.3-32-32s14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H448z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M32 480c0 17.7 14.3 32 32 32s32-14.3 32-32V272H32V480zM224 320c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-64 64c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm160-96c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64zm-96-88l0 .6c9.4-5.4 20.3-8.6 32-8.6c13.2 0 25.4 4 35.6 10.8c8.7-24.9 32.5-42.8 60.4-42.8c11.7 0 22.6 3.1 32 8.6V160C384 71.6 312.4 0 224 0H162.3C119.8 0 79.1 16.9 49.1 46.9L37.5 58.5C13.5 82.5 0 115.1 0 149v27c0 35.3 28.7 64 64 64h88c22.1 0 40-17.9 40-40s-17.9-40-40-40H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c39.8 0 72 32.2 72 72z\"]\n};\nvar faArrowUpFromBracket = {\n prefix: 'fas',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3V320c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 53 43 96 96 96H352c53 0 96-43 96-96V352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faTrashPlus = {\n prefix: 'fas',\n iconName: 'trash-plus',\n icon: [448, 512, [], \"e2b2\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zM200 408c0 13.3 10.7 24 24 24s24-10.7 24-24V344h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V232c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H136c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faObjectsAlignTop = {\n prefix: 'fas',\n iconName: 'objects-align-top',\n icon: [512, 512, [], \"e3c0\", \"M24 0H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24S10.7 0 24 0zM64 176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V176zm224 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V176z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z\"]\n};\nvar faFolderBlank = faFolder;\nvar faFaceAnxiousSweat = {\n prefix: 'fas',\n iconName: 'face-anxious-sweat',\n icon: [576, 512, [], \"e36a\", \"M288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8c7 9.2 18.1 24.6 27.7 40.7c4.8 8.1 9.6 17 13.2 25.7c3.4 8 7.1 19 7.1 30.5c0 24.5-11.1 46-28.4 60.3C146.4 480.2 213.5 512 288 512zM79.5 404.5C89.6 395.9 96 383.2 96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47c12 0 23-4.3 31.5-11.5zM208 400c0-44.2 35.8-80 80-80s80 35.8 80 80c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16zM367.6 240a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM227.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faCreditCardBlank = {\n prefix: 'fas',\n iconName: 'credit-card-blank',\n icon: [576, 512, [], \"f389\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm128 0c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileWaveform = {\n prefix: 'fas',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M96 0C60.7 0 32 28.7 32 64V288H144c6.1 0 11.6 3.4 14.3 8.8L176 332.2l49.7-99.4c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8L281.9 288H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-6.1 0-11.6-3.4-14.3-8.8L240 275.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L134.1 320H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V160H288c-17.7 0-32-14.3-32-32V0H96zM288 0V128H416L288 0z\"]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faMicrochipAi = {\n prefix: 'fas',\n iconName: 'microchip-ai',\n icon: [512, 512, [], \"e1ec\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V176h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zm32 152c6.4 0 12.1 3.8 14.7 9.6l42 96 14 32c3.5 8.1-.1 17.5-8.2 21.1s-17.5-.2-21.1-8.2L239.5 304H176.5l-9.8 22.4c-3.5 8.1-13 11.8-21.1 8.2s-11.8-13-8.2-21.1l14-32 42-96c2.5-5.8 8.3-9.6 14.7-9.6zm17.5 96L208 231.9 190.5 272h35.1zM336 176c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16z\"]\n};\nvar faMug = {\n prefix: 'fas',\n iconName: 'mug',\n icon: [576, 512, [], \"f874\", \"M64 64C46.3 64 32 78.3 32 96V352c0 53 43 96 96 96H320c53 0 96-43 96-96V320h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H384 64zm352 64h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H416V128z\"]\n};\nvar faPlaneUpSlash = {\n prefix: 'fas',\n iconName: 'plane-up-slash',\n icon: [640, 512, [], \"e22e\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L482.4 352.8 554.9 377c10.4 3.5 21.1-4.3 21.1-15.2V305.1c0-10.7-5.3-20.7-14.2-26.6L384 160l0-66.3C384 59.5 356 0 320 0c-35 0-64 59.5-64 93.7V160l-10.6 7.1L38.8 5.1zm122.5 218L78.2 278.5C69.3 284.4 64 294.4 64 305.1v56.7c0 10.9 10.7 18.6 21.1 15.2L256 320v80l-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L320 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c7.8 0 14-6.3 14-14V455.3c0-2.8-.7-5.6-2.1-8L161.3 223.1z\"]\n};\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M216 186.7c-23.9 13.8-40 39.7-40 69.3L32 256C14.3 256-.2 241.6 2 224.1C10.7 154 47.8 92.7 101.3 52c14.1-10.7 33.8-5.3 42.7 10l72 124.7zM256 336c14.6 0 28.2-3.9 40-10.7l72 124.8c8.8 15.3 3.7 35.1-12.6 41.9c-30.6 12.9-64.2 20-99.4 20s-68.9-7.1-99.4-20c-16.3-6.9-21.4-26.6-12.6-41.9l72-124.8c11.8 6.8 25.4 10.7 40 10.7zm224-80l-144 0c0-29.6-16.1-55.5-40-69.3L368 62c8.8-15.3 28.6-20.7 42.7-10c53.6 40.7 90.6 102 99.4 172.1c2.2 17.5-12.4 31.9-30 31.9zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faPenCircle = {\n prefix: 'fas',\n iconName: 'pen-circle',\n icon: [512, 512, [], \"e20e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM357.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM151.9 289L257.1 183.8l71 71L222.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faBagSeedling = {\n prefix: 'fas',\n iconName: 'bag-seedling',\n icon: [512, 512, [], \"e5f2\", \"M64 64L38.6 38.6c-4.2-4.2-6.6-10-6.6-16C32 10.1 42.1 0 54.6 0H457.4C469.9 0 480 10.1 480 22.6c0 6-2.4 11.8-6.6 16L448 64H64zM56 96H456l10.6 42.5c8.9 35.5 13.4 72 13.4 108.7v17.7c0 36.6-4.5 73.1-13.4 108.7L456 416H56L45.4 373.5C36.5 338 32 301.5 32 264.8V247.2c0-36.6 4.5-73.1 13.4-108.7L56 96zm8 352H448l25.4 25.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H54.6C42.1 512 32 501.9 32 489.4c0-6 2.4-11.8 6.6-16L64 448zm80-288c-8.8 0-16 7.2-16 16c0 59.2 45.9 107.6 104 111.7V328c0 13.3 10.7 24 24 24s24-10.7 24-24V287.7c58.1-4.1 104-52.6 104-111.7c0-8.8-7.2-16-16-16h-2c-47.3 0-88.4 26-110 64.5C234.4 186 193.3 160 146 160h-2z\"]\n};\nvar faChartSimple = {\n prefix: 'fas',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]\n};\nvar faCrutches = {\n prefix: 'fas',\n iconName: 'crutches',\n icon: [640, 512, [], \"f7f8\", \"M470.6 9.4l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM294.6 188.2L404.1 78.6l45.3 45.3L397.3 176 464 242.7l52.1-52.1 45.3 45.3-74.6 74.6-.1 .1-.1 .1-34.7 34.7c-12.9 12.9-29.2 21.9-47.1 25.8L297.1 395.2c-5.9 1.3-11.4 4.3-15.7 8.6l-98.8 98.8c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l98.8-98.8c4.3-4.3 7.3-9.7 8.6-15.7l23.9-107.6c4-17.8 12.9-34.1 25.8-47.1zm45.3 45.3c-4.3 4.3-7.3 9.7-8.6 15.7l-17 76.7 76.7-17c5.9-1.3 11.4-4.3 15.7-8.6L418.7 288 352 221.3l-12.2 12.2zM169.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L213.3 56l84.1 84.1-25.4 25.4c-6.7 6.7-12.6 14.1-17.6 22L168 101.3 101.3 168 223.7 290.4l-10.1 45.5-17 17c-2.9-2.3-5.7-4.8-8.4-7.5L56 213.3l-1.4 1.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160zM411.7 402.5c9.3-2.1 18.3-5.2 26.9-9.2l64.1 64.1c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-90.2-90.2 44.5-9.9z\"]\n};\nvar faCircleParking = {\n prefix: 'fas',\n iconName: 'circle-parking',\n icon: [512, 512, [\"parking-circle\"], \"f615\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm232 0h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H232v64zm48 64H232v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 168c0-22.1 17.9-40 40-40h72c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParkingCircle = faCircleParking;\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M376 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L370.3 96.4 345 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l25.4 25.4L307.8 159c-28.4-19.5-62.7-31-99.8-31c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l28.6-28.6L407 201c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-25.4-25.4 22.1-22.1L471 153c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H376zm88 48h0v0l0 0zM96 304a112 112 0 1 1 224 0A112 112 0 1 1 96 304z\"]\n};\nvar faLeafOak = {\n prefix: 'fas',\n iconName: 'leaf-oak',\n icon: [512, 512, [], \"f6f7\", \"M429.7 268.6l40.9-10.2c24.4-6.1 41.4-28 41.4-53.1c0-18.3-9.1-35.4-24.4-45.5l-14.3-9.5c-5.6-3.8-8.3-10.6-6.6-17.2l5-20.1c5.1-20.4-.9-42-15.8-56.9s-36.5-20.9-56.9-15.8l-20.1 5c-6.6 1.6-13.4-1-17.2-6.6l-9.5-14.3C342.1 9.1 325 0 306.7 0c-25.1 0-47 17.1-53.1 41.4L243.4 82.3c-1.5 6-9 8.1-13.4 3.7L208 64c-17.7-17.7-46.3-17.7-64 0c-10.1 10.1-14.8 24.3-12.8 38.4l10.7 75.1c.8 5.6-5.4 9.5-10.1 6.4C111 170 83.3 172.7 65.6 190.4l-3.6 3.6c-17.9 17.9-22.3 45.2-11 67.8L66.5 293C75.4 310.7 80 330.3 80 350.2v35.2L229.6 235.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l73-73h15.8c19.9 0 39.5 4.6 57.2 13.5l31.1 15.5c22.6 11.3 49.9 6.9 67.8-11l3.6-3.6c17.7-17.7 20.4-45.4 6.6-66.2c-3.1-4.7 .8-10.9 6.4-10.1l75.1 10.7c14.1 2 28.3-2.7 38.4-12.8c17.7-17.7 17.7-46.3 0-64l-22-22c-4.4-4.4-2.3-11.9 3.7-13.4z\"]\n};\nvar faSquareBolt = {\n prefix: 'fas',\n iconName: 'square-bolt',\n icon: [448, 512, [], \"e265\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm234.1 83.6c5.8 4.7 7.6 12.9 4.3 19.6L249.9 240H320c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L198.1 272H128c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5V416c0 53 43 96 96 96h5.5c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256L352 109.3 402.7 160l-96 96H205.3z\"]\n};\nvar faGauge = {\n prefix: 'fas',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'fas',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L46.1 395.4zM484.6 82.6l-105 105-23.3-23.3 105-105 23.3 23.3zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faLambda = {\n prefix: 'fas',\n iconName: 'lambda',\n icon: [448, 512, [], \"f66e\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H140.2l16.4 32.7L18.8 434.9c-7.3 16.1-.1 35.1 16 42.3s35.1 .1 42.3-16L193.5 202.6l121 242c10.8 21.7 33 35.4 57.2 35.4H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H371.8L197.5 67.4C186.6 45.7 164.5 32 140.2 32H32z\"]\n};\nvar faE = {\n prefix: 'fas',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faPizza = {\n prefix: 'fas',\n iconName: 'pizza',\n icon: [576, 512, [127829], \"f817\", \"M385.2 419c10.4-8.2 25.5-8.4 34.9 1s9.4 24.7-.8 33.1C375 489.9 318.1 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0c62.1 0 119 22.1 163.3 58.8c10.2 8.5 10.1 23.8 .8 33.1s-24.5 9.2-34.9 1C349.7 64.8 304.8 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c48.8 0 93.7-16.8 129.2-45zm-16-49.9c6.2 6.2 6.3 16.5-.5 22.1c-69.1 57.7-172.2 54.1-237.1-10.8c-68.7-68.7-68.7-180.2 0-248.9C196.5 66.6 299.5 63 368.6 120.8c6.8 5.7 6.7 15.9 .5 22.1L267.3 244.7c-6.2 6.2-6.2 16.4 0 22.6L369.1 369.1zM192 264a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm24-88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 200a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM443.4 156.6c6.7-6.7 17.7-6.2 23 1.7c39.5 59 39.5 136.5 0 195.5c-5.2 7.8-16.3 8.3-23 1.7l-88.1-88.1c-6.2-6.2-6.2-16.4 0-22.6l24.2-24.2c3.6 2.2 7.9 3.5 12.5 3.5c13.3 0 24-10.7 24-24c0-4.6-1.3-8.9-3.5-12.5l30.9-30.9zM472 280a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm22.4 126.4c-8.9-8.9-9.4-23.1-2.3-33.5C514.8 339.6 528 299.3 528 256s-13.2-83.6-35.9-116.9c-7.1-10.4-6.6-24.6 2.3-33.5c9.9-9.9 26.2-9.4 34.3 2C558.5 149.5 576 200.7 576 256s-17.5 106.5-47.4 148.4c-8.1 11.4-24.4 11.9-34.3 2z\"]\n};\nvar faBowlChopsticksNoodles = {\n prefix: 'fas',\n iconName: 'bowl-chopsticks-noodles',\n icon: [512, 512, [], \"e2ea\", \"M13.1 93.6L128 72V56c0-13.3 10.7-24 24-24s24 10.7 24 24v7 37.5 38V176v48h32V176 137.5v-42V57 40c0-13.3 10.7-24 24-24s24 10.7 24 24v8V88v48 40 48h32H478.4c18.2 0 32.7 15.3 31.6 33.5c-5.4 91.7-59.7 169.7-136.4 209.7l-1.2 9.7c-2.5 20-19.5 35-39.7 35H179.3c-20.2 0-37.2-15-39.7-35l-1.2-9.7C61.6 427.2 7.4 349.3 2 257.5C.9 239.3 15.4 224 33.6 224H128V176H16.2C7.3 176 0 168.7 0 159.7c0-8.8 7-16 15.7-16.2L128 140V108L18.5 125.1C8.8 126.6 0 119.1 0 109.3C0 101.6 5.5 95 13.1 93.6zM488.4 176H288V135l199.6-6.2C501 128.3 512 139 512 152.4c0 13-10.6 23.6-23.6 23.6zm3.9-124.9L288 83V42L484.4 5.2C498.7 2.5 512 13.5 512 28.1c0 11.5-8.4 21.2-19.7 23z\"]\n};\nvar faH3 = {\n prefix: 'fas',\n iconName: 'h3',\n icon: [640, 512, [], \"f315\", \"M64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V256 416c0 17.7 14.3 32 32 32s32-14.3 32-32V288H256V416c0 17.7 14.3 32 32 32s32-14.3 32-32V256 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H64V96zM400 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H514.7l-89.4 89.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h72c30.9 0 56 25.1 56 56s-25.1 56-56 56H455.4c-11.7 0-21.7-8.5-23.7-20.1l-.2-1.2c-2.9-17.4-19.4-29.2-36.8-26.3s-29.2 19.4-26.3 36.8l.2 1.2c7.1 42.4 43.8 73.5 86.8 73.5H520c66.3 0 120-53.7 120-120c0-64.6-51-117.2-114.9-119.9l89.5-89.5c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H400z\"]\n};\nvar faPenClip = {\n prefix: 'fas',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1c25-25 65.5-25 90.5 0zM241 114.9c-9.4-9.4-24.6-9.4-33.9 0L105 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L173.1 81c28.1-28.1 73.7-28.1 101.8 0L288 94.1l17 17 96 96 16 16 1 1-17 17L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L254.1 128 241 114.9z\"]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'fas',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c6.3 0 12.4 .6 18.3 1.7C367.1 231.8 426.9 192 496 192c42.5 0 81.6 15.1 112 40.2V160H536V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faBadgePercent = {\n prefix: 'fas',\n iconName: 'badge-percent',\n icon: [512, 512, [], \"f646\", \"M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zM192 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM337 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L175 303c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L337 209z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"]\n};\nvar faSensor = {\n prefix: 'fas',\n iconName: 'sensor',\n icon: [448, 512, [], \"e028\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 88V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faComma = {\n prefix: 'fas',\n iconName: 'comma',\n icon: [192, 512, [], \"2c\", \"M160 350.4V349c0-33.7-27.3-61-61-61c-29.5 0-54.8 21.1-60.1 50.1l-22.2 122c-.5 2.6-.7 5.2-.7 7.9v8.2C16 495.9 32.1 512 51.9 512c12.5 0 24.1-6.5 30.6-17.2L150.8 383c6-9.8 9.2-21.1 9.2-32.6z\"]\n};\nvar faSchoolCircleCheck = {\n prefix: 'fas',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0h.5c3.4-37.7 18.7-72.1 42.2-99.1C350.2 260 335.6 264 320 264c-48.6 0-88-39.4-88-88s39.4-88 88-88s88 39.4 88 88c0 18.3-5.6 35.3-15.1 49.4c29-21 64.6-33.4 103.1-33.4c59.5 0 112.1 29.6 144 74.8V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM320 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faToiletPaperUnder = {\n prefix: 'fas',\n iconName: 'toilet-paper-under',\n icon: [512, 512, [\"toilet-paper-reverse\"], \"e2a0\", \"M96 0H348.2C336.6 12.2 327 26.9 319.5 41.9C299.5 82 288 135.1 288 192s11.5 110 31.5 150.1c7.5 15 17.1 29.7 28.7 41.9H96C43 384 0 298 0 192S43 0 96 0zM320 192c0-83.6 26.7-154.7 64-181.1C394 3.8 404.8 0 416 0c53 0 96 86 96 192c0 35-4.7 67.8-12.8 96c-16.6 57.4-47.6 96-83.2 96c-11.2 0-22-3.8-32-10.9c-37.3-26.4-64-97.5-64-181.1zm64 0c0 35.3 14.3 64 32 64s32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64zM160 416H416c44.8 0 76.9-35.2 96-72.9V464c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V416zM64 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faToiletPaperReverse = faToiletPaperUnder;\nvar faLightEmergency = {\n prefix: 'fas',\n iconName: 'light-emergency',\n icon: [448, 512, [], \"e41f\", \"M64 192c0-88.4 71.6-160 160-160s160 71.6 160 160V352H64V192zm160-80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-61.9 0-112 50.1-112 112c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2 35.8-80 80-80zM32 384H416c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"]\n};\nvar faArrowDownToArc = {\n prefix: 'fas',\n iconName: 'arrow-down-to-arc',\n icon: [512, 512, [], \"e4ae\", \"M256 448c106 0 192-86 192-192c0-17.7 14.3-32 32-32s32 14.3 32 32c0 141.4-114.6 256-256 256S0 397.4 0 256c0-17.7 14.3-32 32-32s32 14.3 32 32c0 106 86 192 192 192zM390.6 230.6l-112 112c-12.5 12.5-32.8 12.5-45.3 0l-112-112c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 242.7 224 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 210.7 57.4-57.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0H428.5L402.9 32H304V160zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l25.6 128zM32 192l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H448c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160h12c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4l4-32H32z\"]\n};\nvar faVanShuttle = {\n prefix: 'fas',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M64 104v88h96V96H72c-4.4 0-8 3.6-8 8zm482 88L465.1 96H384v96H546zm-226 0V96H224v96h96zM592 384H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V104C0 64.2 32.2 32 72 32H192 352 465.1c18.9 0 36.8 8.3 49 22.8L625 186.5c9.7 11.5 15 26.1 15 41.2V336c0 26.5-21.5 48-48 48zm-64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'fas',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h89.9c-6.3-10.2-9.9-22.2-9.9-35.1c0-46.9 25.8-87.8 64-109.2V271.8 48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM576 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faLightSwitch = {\n prefix: 'fas',\n iconName: 'light-switch',\n icon: [384, 512, [], \"e017\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 96h64c35.3 0 64 28.7 64 64v80H96V160c0-35.3 28.7-64 64-64zM288 272v80c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V272H288zM192 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'fas',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM128 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5H224l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z\"]\n};\nvar faWavePulse = {\n prefix: 'fas',\n iconName: 'wave-pulse',\n icon: [640, 512, [\"heart-rate\"], \"f5f8\", \"M319.1 0c14.8-.4 27.9 9.3 31.8 23.6l74 271.2 17.7-35.4c10.8-21.7 33-35.4 57.2-35.4H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H499.8L444.6 398.3c-5.9 11.9-18.6 18.8-31.8 17.5s-24.2-10.6-27.7-23.4L323.7 167.3 255.3 486.7c-3.1 14.4-15.5 24.8-30.2 25.3s-27.8-9.1-31.8-23.2L135.9 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H135.9c28.6 0 53.7 18.9 61.5 46.4L219.6 348 288.7 25.3C291.8 10.9 304.4 .4 319.1 0z\"]\n};\nvar faHeartRate = faWavePulse;\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faHatSanta = {\n prefix: 'fas',\n iconName: 'hat-santa',\n icon: [640, 512, [], \"f7a7\", \"M149.7 137.8L64 352H448L385.1 210.6c-.8-1.7-1.1-3.5-1.1-5.4c0-7.3 5.9-13.2 13.2-13.2h.8c1.4 0 2.7 .2 4 .6l55.3 16.6c2.1-3.2 4.5-6.1 7.2-8.8c0-14.3 5.5-28.7 16.4-39.6c2.2-2.2 4.6-4.2 7.1-6L434.4 91.6c-32-37.8-79-59.6-128.5-59.6c-68.8 0-130.7 41.9-156.3 105.8zm434.3 44.4C583 169.8 572.7 160 560 160s-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C489.8 217 480 227.3 480 240s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C537 310.2 547.3 320 560 320s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C630.2 263 640 252.7 640 240s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2zM0 432c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48s-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\"]\n};\nvar faTamale = {\n prefix: 'fas',\n iconName: 'tamale',\n icon: [320, 512, [129748], \"e451\", \"M48.1 18.3C72.3 8.6 108.4 0 160 0s87.7 8.6 111.9 18.3c12.1 4.8 21 9.9 27.4 14.1c12.7 8.5 23.1 20.4 20.3 36.9L296.4 208l-.4 0H236.2L248 72.7c.4-4.4-2.9-8.3-7.3-8.7s-8.3 2.9-8.7 7.3L220.1 208H168V64c0-4.4-3.6-8-8-8s-8 3.6-8 8V208H99.9L88 71.3c-.4-4.4-4.3-7.7-8.7-7.3s-7.7 4.3-7.3 8.7L83.8 208H24l-.4 0L.4 69.3C-2.3 52.8 8.1 40.8 20.8 32.4c6.3-4.2 15.3-9.3 27.4-14.1zM24 240H296c8.8 0 16 7.2 16 16s-7.2 16-16 16H192l28.8 38.4c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2L160 282.7l-35.2 46.9c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4L128 272H24c-8.8 0-16-7.2-16-16s7.2-16 16-16zM152 448c0 4.4 3.6 8 8 8s8-3.6 8-8V346.7c13.4 17.9 35.9 26.5 57.4 18.1l6.6 76c.4 4.4 4.3 7.7 8.7 7.3s7.7-4.3 7.3-8.7l-7.3-84.1c14.2-13.2 18.9-33.4 12.6-51.2H296l.4 0 23.1 138.7c1.7 10.2-1.6 20.6-8.9 27.9l0 0c-10.6 10.5-25.1 17.6-38.7 23C247.7 503.4 211.6 512 160 512s-87.7-8.6-111.9-18.3c-13.7-5.5-28.1-12.5-38.7-23l0 0c-7.3-7.3-10.6-17.7-8.9-27.9L23.6 304l.4 0H66.7c-6.3 17.7-1.6 38 12.6 51.2L72 439.3c-.4 4.4 2.9 8.3 7.3 8.7s8.3-2.9 8.7-7.3l6.6-76c21.5 8.4 44-.2 57.4-18.1V448z\"]\n};\nvar faBoxCheck = {\n prefix: 'fas',\n iconName: 'box-check',\n icon: [448, 512, [], \"f467\", \"M93.7 32H208V160H0L50.7 58.5C58.9 42.3 75.5 32 93.7 32zM240 32H354.3c18.2 0 34.8 10.3 42.9 26.5L448 160H240V32zM0 192H448V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm337 89c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 281z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z\"]\n};\nvar faSteak = {\n prefix: 'fas',\n iconName: 'steak',\n icon: [576, 512, [129385], \"f824\", \"M268.8 37.4C295.7 12.4 329.7 0 368 0c65 0 117.7 39 150.5 80c33.9 42.4 57.5 99.6 57.5 160c0 83.9-55.1 152.8-113.4 196.2C402.1 481.2 321.7 512 240 512c-36.8 0-86.5-4.4-130-19.3C73.4 480.1 0 444.3 0 360c0-38.6 17.8-68.3 42.5-88.1c19.6-15.8 41.4-26.8 63.3-37.8c27.3-13.8 54.6-27.6 77.7-50.7c13.8-13.8 19.7-27.9 30-52.9c3.2-7.7 6.8-16.5 11.2-26.6c7.7-17.6 20.6-44.7 44.1-66.5zm36.8 122l0 0c2.5-6 4.8-11.8 7.1-17c6.9-15.7 13.3-27.1 21.5-34.7c7.5-7 17.5-11.7 33.9-11.7c25.4 0 53.3 16.2 75.5 44c22 27.5 36.5 64.1 36.5 100c0 40.8-28.3 84.6-74.7 119.2C359.4 393.4 298.6 416 240 416c-31 0-69.1-3.9-98.8-14.1C110.1 391.2 96 376.7 96 360c0-9 2.6-13.2 6.9-16.9c5.8-5 15-9.1 30.2-15.5l1.2-.5c29.3-12.4 71.2-30 117-75.8c28.6-28.6 42.9-63.7 54.3-91.9zm6.8-75.2c-13.3 12.4-21.9 29-29 45.3c-2.9 6.6-5.6 13.2-8.3 19.8c-11.4 27.8-22.8 55.7-46.4 79.3c-41.4 41.4-78.6 57.1-107 69l-1.1 .5-.7 .3 0 0c-13.5 5.7-27.5 11.6-37.7 20.3C70.4 328.8 64 342.1 64 360c0 39.3 33.9 60.8 66.8 72.1C165.1 443.9 207 448 240 448c66.3 0 133.6-25.4 184.4-63.2C474.8 347.4 512 295.2 512 240c0-44.1-17.5-87.5-43.5-120C442.7 87.8 406.6 64 368 64c-23.7 0-41.7 7.3-55.6 20.3zM384 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLocationCrosshairsSlash = {\n prefix: 'fas',\n iconName: 'location-crosshairs-slash',\n icon: [640, 512, [\"location-slash\"], \"f603\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-146-114.5c12.1-20.1 20.6-42.6 24.6-66.6H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H509.3C495.9 143.6 432.4 80.1 352 66.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V66.7c-39.9 6.7-75.6 25.7-103.1 52.9L38.8 5.1zm197 154.4C258.3 139.9 287.8 128 320 128c70.7 0 128 57.3 128 128c0 21.2-5.1 41.1-14.2 58.7l-38.9-30.5c3.3-8.8 5.1-18.3 5.1-28.2c0-44.2-35.8-80-80-80c-16.8 0-32.4 5.2-45.3 14l-38.9-30.5zM414.9 422.9l-56.8-44.7C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128c0-2.9 .1-5.7 .3-8.5l-56.8-44.7c-2 6.9-3.6 14-4.8 21.3H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h34.7c13.5 80.4 76.9 143.9 157.3 157.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c22.6-3.8 43.8-11.5 62.9-22.4z\"]\n};\nvar faLocationSlash = faLocationCrosshairsSlash;\nvar faPersonDolly = {\n prefix: 'fas',\n iconName: 'person-dolly',\n icon: [512, 512, [], \"f4d0\", \"M32 48a48 48 0 1 1 96 0A48 48 0 1 1 32 48zM96 241.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3L98.1 399.4 18.7 320C6.7 308 0 291.7 0 274.7V186.6C0 154.2 26.2 128 58.6 128c24.1 0 46.5 12 59.9 32l42.6 64h46.1l-6.5-26.2c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l49.6 198.4c17.6 2.4 32.9 12 42.8 25.7l134.4-33.6c12.9-3.2 25.9 4.6 29.1 17.5s-4.6 25.9-17.5 29.1L351.4 456.9C347.1 488 320.3 512 288 512c-35.3 0-64-28.7-64-64c0-21.3 10.4-40.1 26.3-51.7L223.3 288H152.6c-16 0-31-8-39.9-21.4L96 241.7zM0 480L0 346.5l64 64V480v0c0 17.7-14.3 32-32 32s-32-14.3-32-32zm288-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm69.4-87.8c-17.1 4.3-34.5-6.1-38.8-23.3l-22.9-91.5c-4.3-17.1 6.1-34.5 23.3-38.8l91.5-22.9c17.1-4.3 34.5 6.1 38.8 23.3l22.9 91.5c4.3 17.1-6.1 34.5-23.3 38.8l-91.5 22.9z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8C469.5 119.7 480 142.2 480 166V280.1 512H464 352V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H176 160V280.1 166c0-23.7 10.5-46.3 28.8-61.5L309.8 3.7zM512 512V244.5l28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1V448c0 35.3-28.7 64-64 64H512zM128 244.5V512H64c-35.3 0-64-28.7-64-64V316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3L128 244.5zM327 124.3c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1L274.3 192l-16.4 27.8c-3.2 5.4 .7 12.1 7 12.1l32.3-.3L313 259.7c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3 .3c6.2 .1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3 .3L327 124.3z\"]\n};\nvar faFileChartColumn = {\n prefix: 'fas',\n iconName: 'file-chart-column',\n icon: [384, 512, [\"file-chart-line\"], \"f659\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 248V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 64V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24s24 10.7 24 24zM128 376v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileChartLine = faFileChartColumn;\nvar faPersonHalfDress = {\n prefix: 'fas',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm8 352V128h6.9c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352h0zM58.2 182.3c19.9-33.1 55.3-53.5 93.8-54.3V384h0v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2z\"]\n};\nvar faFolderImage = {\n prefix: 'fas',\n iconName: 'folder-image',\n icon: [512, 512, [], \"e18a\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM176 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm120 0c-8 0-15.5 4-20 10.7l-56 84L202.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C311.5 228 304 224 296 224z\"]\n};\nvar faCalendarPen = {\n prefix: 'fas',\n iconName: 'calendar-pen',\n icon: [512, 512, [\"calendar-edit\"], \"f333\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zm308.8 75c-14.7-14.7-38.6-14.7-53.3 0L272.6 282l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 376.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 428c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 304.6l-71.9 71.9z\"]\n};\nvar faCalendarEdit = faCalendarPen;\nvar faRoadBridge = {\n prefix: 'fas',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M352 0H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM480 200c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V224c0-13.3-10.7-24-24-24zm24 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V384zM480 40c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-13.3-10.7-24-24-24zM32 96H288v64H248v64h40v96c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416c0-53-43-96-96-96V224H72V160H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm168 64H120v64h80V160z\"]\n};\nvar faFaceSmileTear = {\n prefix: 'fas',\n iconName: 'face-smile-tear',\n icon: [512, 512, [], \"e393\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm141.5 67.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5c8.8 0 16-7.2 16-16s-7.2-16-16-16c-43.4 0-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM352 416c26.5 0 48-21 48-47c0-20-28.6-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0C332.4 308.6 304 349 304 369c0 26 21.5 47 48 47zM208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMessagePlus = {\n prefix: 'fas',\n iconName: 'message-plus',\n icon: [512, 512, [\"comment-alt-plus\"], \"f4a8\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM232 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faCommentAltPlus = faMessagePlus;\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H224V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z\"]\n};\nvar faC = {\n prefix: 'fas',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M329.1 142.9c-62.5-62.5-155.8-62.5-218.3 0s-62.5 163.8 0 226.3s155.8 62.5 218.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-221.3 87.5-308.8 0s-87.5-229.3 0-316.8s221.3-87.5 308.8 0c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]\n};\nvar faTabletButton = {\n prefix: 'fas',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faRectangleHistoryCircleUser = {\n prefix: 'fas',\n iconName: 'rectangle-history-circle-user',\n icon: [640, 512, [], \"e4a4\", \"M320 368c0 59.5 29.5 112.1 74.8 144L64 512c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64l384 0c23.8 0 44.5 12.9 55.5 32.2c-2.5-.1-5-.2-7.5-.2c-97.2 0-176 78.8-176 176zM440 80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24H392zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H463.4c-21 0-38.9 13.7-45.1 32.7C438.5 468.1 465.8 480 496 480s57.5-11.9 77.7-31.3zM544 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faBuildingLock = {\n prefix: 'fas',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h88.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-23.7 12.9-44.4 32-55.4V272c0-30.5 12.2-58.2 32-78.4V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faChartLineUp = {\n prefix: 'fas',\n iconName: 'chart-line-up',\n icon: [512, 512, [], \"e0e5\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zM439 279c15.1 15.1 41 4.4 41-17V152c0-13.3-10.7-24-24-24H345.9c-21.4 0-32.1 25.9-17 41l32.4 32.4L304 258.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L208 253.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0l80-80L439 279z\"]\n};\nvar faMailbox = {\n prefix: 'fas',\n iconName: 'mailbox',\n icon: [576, 512, [128234], \"f813\", \"M0 208V384c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V208c0-79.5-64.5-144-144-144S0 128.5 0 208zm64 0c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm256 0V384c0 24.6-9.2 47-24.4 64H512c35.3 0 64-28.7 64-64V208c0-79.5-64.5-144-144-144H245.2C290.4 95.9 320 148.5 320 208zm64 0c0-8.8 7.2-16 16-16h64 32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V224H400c-8.8 0-16-7.2-16-16z\"]\n};\nvar faTruckBolt = {\n prefix: 'fas',\n iconName: 'truck-bolt',\n icon: [640, 512, [], \"e3d0\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM270.3 87.2L233.9 160H288c6.9 0 13 4.4 15.2 10.9s-.1 13.7-5.6 17.9l-128 96c-5.9 4.5-14.2 4.2-19.9-.5s-7.4-12.8-4.1-19.4L182.1 192H128c-6.9 0-13-4.4-15.2-10.9s.1-13.7 5.6-17.9l128-96c5.9-4.5 14.2-4.2 19.9 .5s7.4 12.8 4.1 19.4z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M169.7 .9c-22.8-1.6-41.9 14-47.5 34.7L110.4 80c.5 0 1.1 0 1.6 0c176.7 0 320 143.3 320 320c0 .5 0 1.1 0 1.6l44.4-11.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9zM399.8 410.2c.1-3.4 .2-6.8 .2-10.2c0-159.1-128.9-288-288-288c-3.4 0-6.8 .1-10.2 .2L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L399.8 410.2zM176 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM96 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64H64V352zm64-208c0 35.3-28.7 64-64 64V144h64zM512 304v64H448c0-35.3 28.7-64 64-64zM448 96h64v64c-35.3 0-64-28.7-64-64z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm96 288H448c17.7 0 32-14.3 32-32V251.8c0-7.6-2.7-15-7.7-20.8l-65.8-76.8c-12.1-14.2-33.7-15-46.9-1.8l-21 21c-10 10-26.4 9.2-35.4-1.6l-39.2-47c-12.6-15.1-35.7-15.4-48.7-.6L135.9 215c-5.1 5.8-7.9 13.3-7.9 21.1v84c0 17.7 14.3 32 32 32z\"]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'fas',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M480 0c-17.7 0-32 14.3-32 32V192 512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H512c0-17.7-14.3-32-32-32zM416 159L276.8 39.7c-12-10.3-29.7-10.3-41.7 0l-224 192C1 240.4-2.7 254.5 2 267.1S18.6 288 32 288H64V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32h64.7l.2 0h-1V159z\"]\n};\nvar faCircleThreeQuartersStroke = {\n prefix: 'fas',\n iconName: 'circle-three-quarters-stroke',\n icon: [512, 512, [], \"e5d4\", \"M256 64V224c0 17.7 14.3 32 32 32H448c0-106-86-192-192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPersonCircleMinus = {\n prefix: 'fas',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faScalpel = {\n prefix: 'fas',\n iconName: 'scalpel',\n icon: [512, 512, [], \"f61d\", \"M387.4 25.1C400.8 9.2 420.6 0 441.4 0c39 0 70.6 31.6 70.6 70.6v4c0 17.6-6.2 34.6-17.6 48.1L369.3 271c-9.1 10.8-22.5 17-36.7 17H200c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L387.4 25.1zM169.4 320H176h96 16v16c0 74.9-65.5 118.6-126.1 142.9C100.1 503.6 34.1 512 16 512c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l160-160 4.7-4.7z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCancel = faBan;\nvar faBellExclamation = {\n prefix: 'fas',\n iconName: 'bell-exclamation',\n icon: [448, 512, [], \"f848\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7zM192 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm56-184v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCircleBookmark = {\n prefix: 'fas',\n iconName: 'circle-bookmark',\n icon: [512, 512, [\"bookmark-circle\"], \"e100\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 176c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 6.2-3.5 11.8-9.1 14.4s-12.1 1.9-16.9-1.9l-70-56-70 56c-4.8 3.8-11.4 4.6-16.9 1.9s-9.1-8.3-9.1-14.4V176z\"]\n};\nvar faBookmarkCircle = faCircleBookmark;\nvar faEggFried = {\n prefix: 'fas',\n iconName: 'egg-fried',\n icon: [512, 512, [], \"f7fc\", \"M284.3 39.3c30.4 31.6 89.1 65.9 131.5 76.7c27.5 7 52.8 23.2 71 47.8c42.1 56.8 30.2 137-26.6 179.1c-17.8 13.2-37.9 21.1-58.4 24c-37.2 5.2-84.5 32.7-103.3 65.2c-44.2 76.5-142 102.7-218.6 58.6S-22.7 348.5 21.4 272c24.8-42.9 38.7-105.9 43.1-155.2C67.1 87 80.1 58 103.3 35.7c51-49 132-47.4 181 3.6zM336 240a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-160-8c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-39.8 32.2-72 72-72c8.8 0 16 7.2 16 16s-7.2 16-16 16c-22.1 0-40 17.9-40 40z\"]\n};\nvar faFaceWeary = {\n prefix: 'fas',\n iconName: 'face-weary',\n icon: [512, 512, [], \"e3a1\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm46.6-164c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faUniformMartialArts = {\n prefix: 'fas',\n iconName: 'uniform-martial-arts',\n icon: [640, 512, [], \"e3d1\", \"M180 0h28 9.6c12.3 0 23.5 7 28.8 18.1l61.1 126.7L253 288H144V133.1L98 216.7c-1.3 2.4-2 5-2 7.7V384c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224.4c0-18.9 4.8-37.4 13.9-54L80.3 49.7C95.9 21.2 124.9 2.8 157 .3c1-.2 2-.3 3-.3h4.4H180zM389.1 20.6C393.8 8.2 405.7 0 419 0h13 28 15.6H480c1 0 2 .1 3 .3c32.1 2.5 61 20.9 76.7 49.5l66.4 120.7c9.1 16.5 13.9 35.1 13.9 54V384c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224.4c0-2.7-.7-5.3-2-7.7l-46-83.7V288H287.2l52.7-138.3L389.1 20.6zM320 320H496v32H388.4 349.9l47.4 71.1c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-50.7-76-50.7 76c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2L290.1 352H251.6 144V320H264h56zM216.1 405.4c-14.7 22.1-8.7 51.9 13.3 66.6s51.9 8.7 66.6-13.3L320 422.5l24.1 36.1c14.7 22.1 44.5 28 66.6 13.3s28-44.5 13.3-66.6L409.7 384H496v64c0 35.3-28.7 64-64 64H208c-35.3 0-64-28.7-64-64V384h86.3l-14.2 21.4z\"]\n};\nvar faCameraRotate = {\n prefix: 'fas',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M213.1 64.8L202.7 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H437.3L426.9 64.8C420.4 45.2 402.1 32 381.4 32H258.6c-20.7 0-39 13.2-45.5 32.8zM448 256c0 8.8-7.2 16-16 16H355.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L371 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L249 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C257.4 172.7 288 160 320 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3V256zM192 320c0-8.8 7.2-16 16-16h76.7c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L269 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L391 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C382.6 403.3 352 416 320 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3V320z\"]\n};\nvar faSunDust = {\n prefix: 'fas',\n iconName: 'sun-dust',\n icon: [512, 512, [], \"f764\", \"M371.1 13.1L391 121l-44.5 44.5C323.3 142.3 291.3 128 256 128c-70.7 0-128 57.3-128 128c0 35.3 14.3 67.3 37.5 90.5L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6s8.6 6.6 9.6 11.9zM256 160c26.5 0 50.5 10.7 67.9 28.1L188.1 323.9C170.7 306.5 160 282.5 160 256c0-53 43-96 96-96zm192 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-80 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM240 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-80 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM368 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCommentText = {\n prefix: 'fas',\n iconName: 'comment-text',\n icon: [512, 512, [], \"e14d\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM184 160h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V312c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSprayCanSparkles = {\n prefix: 'fas',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M96 32v96H224V32c0-17.7-14.3-32-32-32H128C110.3 0 96 14.3 96 32zm0 128c-53 0-96 43-96 96V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V256c0-53-43-96-96-96H96zm64 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6z\"]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faSignalBars = {\n prefix: 'fas',\n iconName: 'signal-bars',\n icon: [640, 512, [\"signal-alt\", \"signal-alt-4\", \"signal-bars-strong\"], \"f690\", \"M560 0c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V48c0-26.5-21.5-48-48-48zM352 176V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zM240 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\"]\n};\nvar faSignalAlt = faSignalBars;\nvar faSignalAlt4 = faSignalBars;\nvar faSignalBarsStrong = faSignalBars;\nvar faDiamondExclamation = {\n prefix: 'fas',\n iconName: 'diamond-exclamation',\n icon: [512, 512, [], \"e405\", \"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z\"]\n};\nvar faDialMin = {\n prefix: 'fas',\n iconName: 'dial-min',\n icon: [576, 512, [], \"e161\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM400.9 401c-56.7 56.7-145.4 62-208 15.7L304.7 304.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L158.9 382.8c-46.2-62.6-41-151.3 15.7-208c62.5-62.5 163.8-62.5 226.3 0s62.5 163.8 0 226.3zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faRepeat = {\n prefix: 'fas',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32V64H160C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96H192V352c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V448H352c88.4 0 160-71.6 160-160z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M176 0c-26.5 0-48 21.5-48 48v80H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h80V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V256h80c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H256V48c0-26.5-21.5-48-48-48H176z\"]\n};\nvar faPageCaretDown = {\n prefix: 'fas',\n iconName: 'page-caret-down',\n icon: [384, 512, [\"file-caret-down\"], \"e429\", \"M320 512c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320zM192 352c-4.5 0-8.8-1.9-11.8-5.2l-75.7-82.6c-14.1-15.4-3.2-40.2 17.7-40.2l139.6 0c20.9 0 31.8 24.8 17.7 40.2l-75.7 82.6c-3 3.3-7.3 5.2-11.8 5.2z\"]\n};\nvar faFileCaretDown = faPageCaretDown;\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M50.7 58.5L0 160H208V32H93.7C75.5 32 58.9 42.3 50.7 58.5zM240 160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240V160zm208 32H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H208v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C62.1 334.1 0 262.3 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c19.3-10.1 36.9-23.1 52.1-38.4c20 18.5 46.7 29.8 76.1 29.8c61.9 0 112-50.1 112-112s-50.1-112-112-112c-7.2 0-14.3 .7-21.1 2c-4.9-21.5-13-41.7-24-60.2C369.3 66 384.4 64 400 64c37 0 71.4 11.4 99.8 31l20.6-20.6L487 41c-6.9-6.9-8.9-17.2-5.2-26.2S494.3 0 504 0H616c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L545 140.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nvar faClockSevenThirty = {\n prefix: 'fas',\n iconName: 'clock-seven-thirty',\n icon: [512, 512, [], \"e351\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V335.3l-20 30c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l64-96c5.9-8.8 16.8-12.7 26.9-9.7s17 12.4 17 23V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faArrowPointer = {\n prefix: 'fas',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M0 55.2V426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320H297.9c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z\"]\n};\nvar faMousePointer = faArrowPointer;\nvar faClockFourThirty = {\n prefix: 'fas',\n iconName: 'clock-four-thirty',\n icon: [512, 512, [], \"e34b\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V300.8L338.7 340c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-96-64c-7.4-4.9-16.8-5.4-24.6-1.2S232 247.1 232 256V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faSignalBarsGood = {\n prefix: 'fas',\n iconName: 'signal-bars-good',\n icon: [640, 512, [\"signal-alt-3\"], \"f693\", \"M400 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 304V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48s-48 21.5-48 48zM32 432v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSignalAlt3 = faSignalBarsGood;\nvar faCactus = {\n prefix: 'fas',\n iconName: 'cactus',\n icon: [512, 512, [127797], \"f8a7\", \"M160 96c0-53 43-96 96-96s96 43 96 96V352h48c8.8 0 16-7.2 16-16V272c0-26.5 21.5-48 48-48s48 21.5 48 48v64c0 61.9-50.1 112-112 112H352v16c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V320H112C50.1 320 0 269.9 0 208V144c0-26.5 21.5-48 48-48s48 21.5 48 48v64c0 8.8 7.2 16 16 16h48V96zm80 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLightbulbGear = {\n prefix: 'fas',\n iconName: 'lightbulb-gear',\n icon: [576, 512, [], \"e5fd\", \"M262.1 352.2c-11 7-19.1 18.6-21.4 31.8H112c-9.6-31.9-29.5-59.1-49.2-86.2l0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0c97 0 175.6 78.4 176 175.3c-17.8 7.7-28 25.6-28 43.3v.9c-17.6-9.7-41.5-8.2-57.2 8.7c-9.2 9.9-17.4 20.9-24.4 33s-12.4 24.7-16.4 37.6c-6.7 21.6 3.4 42.7 20 53.3zM112 416H245.6c3.5 9.2 7.7 18.3 12.8 27c2.9 5 6 9.9 9.4 14.6C257.1 489.2 227.2 512 192 512c-44.2 0-80-35.8-80-80V416zm0-240c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16C130.1 64 80 114.1 80 176c0 8.8 7.2 16 16 16s16-7.2 16-16zm260 42.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v17.7c0 7.8 4.8 14.8 11.6 18.7c6.8 3.9 15.1 4.5 21.8 .6l13.8-7.9c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-14.4 8.3c-6.5 3.7-10 10.9-10 18.4s3.5 14.7 10 18.4l14.4 8.3c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-13.8-7.9c-6.7-3.9-15.1-3.3-21.8 .6c-6.8 3.9-11.6 10.9-11.6 18.7l0 17.7c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V467.8c0-7.9-4.9-14.9-11.7-18.9c-6.8-3.9-15.2-4.5-22-.6l-13.5 7.8c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l14-8.1c6.5-3.8 10.1-11.1 10.1-18.6s-3.5-14.8-10.1-18.6l-14-8.1c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l13.6 7.8c6.8 3.9 15.2 3.3 22-.6c6.9-3.9 11.7-11 11.7-18.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faMaximize = {\n prefix: 'fas',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M200 32H56C42.7 32 32 42.7 32 56V200c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 79 79-79 79L73 295c-6.9-6.9-17.2-8.9-26.2-5.2S32 302.3 32 312V456c0 13.3 10.7 24 24 24H200c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-40-40 79-79 79 79-40 40c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H456c13.3 0 24-10.7 24-24V312c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-40 40-79-79 79-79 40 40c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l40 40-79 79-79-79 40-40c6.9-6.9 8.9-17.2 5.2-26.2S209.7 32 200 32z\"]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M96 0C60.7 0 32 28.7 32 64V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32V304h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3V144c0-8.8-7.2-16-16-16H544V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H480V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88H320V64c0-35.3-28.7-64-64-64H96zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9H256c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9H96c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2H384c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312V456c0 22.1 17.9 40 40 40H472c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faPlaneTail = {\n prefix: 'fas',\n iconName: 'plane-tail',\n icon: [512, 512, [], \"e22c\", \"M61.5 308.8L.8 39C-3.7 19 11.5 0 32 0h76.9c17.3 0 33.9 7 46 19.5L384 256H488h24v24 24V464v24 24H488 267.7c-10.7 0-21.2-1.9-31.2-5.7L40.4 431.9C16.1 422.7 0 399.4 0 373.4c0-28.2 18.8-52.8 45.9-60.3l15.5-4.3zM216 352c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faGaugeSimpleMax = {\n prefix: 'fas',\n iconName: 'gauge-simple-max',\n icon: [512, 512, [\"tachometer-fastest\"], \"f62b\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-3.7-.3-7.3-.9-10.8l117.5-72.8c11.3-7 14.7-21.8 7.8-33s-21.8-14.8-33-7.8L293.8 300.4C283.2 292.6 270.1 288 256 288c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTachometerFastest = faGaugeSimpleMax;\nvar faCircleU = {\n prefix: 'fas',\n iconName: 'circle-u',\n icon: [512, 512, [], \"e127\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 168V288c0 35.3 28.7 64 64 64s64-28.7 64-64V168c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V168c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faShieldSlash = {\n prefix: 'fas',\n iconName: 'shield-slash',\n icon: [640, 512, [], \"e24b\", \"M320 0c4.6 0 9.2 1 13.4 2.9L521.7 82.8c22 9.3 38.4 31 38.3 57.2c-.3 58.7-14.7 146.2-62.1 225L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L131 77.4 306.7 2.9C310.8 1 315.4 0 320 0zM80.6 159.5L437.5 440.7c-25.2 24-55.3 45.4-91.1 62.5c-16.7 8-36.1 8-52.8 0C132 425.8 86.1 261.5 80.6 159.5z\"]\n};\nvar faSquarePhoneHangup = {\n prefix: 'fas',\n iconName: 'square-phone-hangup',\n icon: [448, 512, [\"phone-square-down\"], \"e27a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM359.4 310c-5.3 8.6-16.8 12.3-26.7 8.5l-46.2-17.6c-8.7-3.3-14.1-11.6-13.1-20.3l2.9-26.7c-33.8-10.8-70.8-10.8-104.6 0l2.9 26.7c.9 8.7-4.4 16.9-13.1 20.3l-46.2 17.6c-9.9 3.8-21.4 .2-26.7-8.5L66.8 274.8C62 267 63.4 257.3 70.3 251c84.9-78.6 222.6-78.6 307.5 0c6.8 6.3 8.2 16.1 3.4 23.8L359.4 310z\"]\n};\nvar faPhoneSquareDown = faSquarePhoneHangup;\nvar faArrowUpLeft = {\n prefix: 'fas',\n iconName: 'arrow-up-left',\n icon: [384, 512, [], \"e09d\", \"M64 96c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V205.3L297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L141.3 160H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faTransporter1 = {\n prefix: 'fas',\n iconName: 'transporter-1',\n icon: [512, 512, [], \"e043\", \"M256 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM128 512c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H296 216 128zM383.7 288c-9.3-.1-18.5-4.2-24.7-12l-31-38.7V288H184V237.3L153 276c-6.3 7.8-15.4 11.9-24.7 12H128v0c-7 0-14.1-2.3-20-7c-13.8-11.1-16-31.2-5-45l57.7-72c18.2-22.7 45.8-36 74.9-36h40.7c29.1 0 56.7 13.2 74.9 36L409 236c11 13.8 8.8 33.9-5 45c-5.9 4.7-13 7-20 7v0h-.3zm-327 38.6L64 352l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 384l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 384 6.6 376.7C2.7 375.6 0 372.1 0 368s2.7-7.6 6.6-8.7L32 352l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM480 160l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 192l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 192l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 160l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6L480 160zM176 320H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPeanuts = {\n prefix: 'fas',\n iconName: 'peanuts',\n icon: [640, 512, [129372], \"e431\", \"M299.2 38.9l22.6 50.7c-3.6 10.8-6.5 22.2-8.8 31.5l0 0 0 0 0 0c-1.2 4.6-2.2 8.8-3.1 12.1c-4.2 14.8-8.7 24.6-16.3 32.2s-17.4 12.1-32.2 16.3c-3.4 1-7.5 2-12.1 3.1l0 0c-12.5 3.1-28.5 7.1-42 12.7c-21.3 8.8-41.2 21.9-58.4 39.1C114.3 271.1 96 315.4 96 364v68c0 27.8 10.2 53.3 27 72.9l-3.2 1.4c-33.1 14.7-71.8-.2-86.6-33.2L10.5 422.2C3.8 407.2 .4 391.5 0 376c-.4-15.5 2.2-31.3 8-46.6C14 314 22.7 300.5 33.4 289.3c5.8-6.1 12.3-11.7 19.5-16.6c16.7-11.8 32.5-25.8 39.8-44.9s5-40.1 .4-60c-2.1-8.4-3.2-17-3.4-25.4c-.4-15.4 2.1-31.1 7.9-46.4l.2-.5c5.9-15.3 14.5-28.7 25.2-39.9c10.7-11.2 23.6-20.6 38.7-27.3L212.6 5.7c33.1-14.7 71.8 .1 86.6 33.2zM492 0h68c44.2 0 80 35.8 80 80v68c0 40.6-16.4 77.4-42.9 104.2l-.9 .9c-14.1 14-30.3 24.6-47.6 31.7c-9.5 4-19.6 6.9-30 8.8c-24.5 4.8-49.1 12.6-66.7 30.3s-25.4 42.2-30.3 66.7c-1.9 10.4-4.9 20.5-8.8 30c-7.1 17.1-17.5 33.2-31.3 47.2c-.6 .6-1.1 1.1-1.7 1.7C353.1 495.8 316.5 512 276 512H208c-44.2 0-80-35.8-80-80V364c0-20.1 4-39.2 11.2-56.7c7.2-17.5 17.9-33.8 32.1-48c14.2-14.2 30.6-24.9 48.1-32.1c9.5-4 19.6-6.9 30-8.8c24.5-4.8 49.1-12.6 66.7-30.3s25.4-42.2 30.3-66.7c1.9-10.4 4.9-20.5 8.8-30C362.4 74 373 57.8 387.1 43.6l.4-.4c14.2-14.1 30.5-24.8 47.8-32C452.8 4 471.9 0 492 0zm52 147.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm0 64a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-64 0a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-224 224a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM339.2 416a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zm0-64a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0z\"]\n};\nvar faShuffle = {\n prefix: 'fas',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160H352c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96h32V64c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H352c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8h32V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z\"]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'fas',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'fas',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 96v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faBinBottlesRecycle = {\n prefix: 'fas',\n iconName: 'bin-bottles-recycle',\n icon: [640, 512, [], \"e5f6\", \"M152 0c-13.3 0-24 10.7-24 24v8c-8.8 0-16 7.2-16 16s7.2 16 16 16H256c8.8 0 16-7.2 16-16s-7.2-16-16-16V24c0-13.3-10.7-24-24-24H152zM32 192H352c0-26.5-10.7-50.5-28.1-67.9c-1.1-1.1-2.1-2.1-3.2-3.1c-17.1-15.5-39.7-25-64.6-25H128c-53 0-96 43-96 96zm352 0H575.1c-1.2-9.7-4.6-18.7-9.6-26.5c6.4-9.5 10.1-21 10.1-33.3c0-23.2-13.4-44.3-34.4-54.2L528 71.8c-5.3-2.5-10.8-4.4-16.4-5.7V24c0-13.3-10.7-24-24-24h-80c-13.3 0-24 10.7-24 24V66.1c-5.6 1.3-11.1 3.2-16.4 5.7L354.1 78c-7.2 3.4-13.5 8-18.6 13.6C365 115.1 384 151.3 384 192zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32L56.2 457c4.5 31.5 31.5 55 63.4 55h401c31.8 0 58.9-23.4 63.4-55L608 288c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM308.5 326.1l-7.6 11.4c-4.8 7.2-14.5 9.3-21.8 4.7c-7.6-4.8-9.8-14.9-4.8-22.4l7.6-11.4c8.5-12.7 22.8-20.4 38.1-20.4c15.4 0 29.8 7.7 38.2 20.6l8.5 12.9c4.9 7.5 2.7 17.6-4.9 22.4c-7.4 4.6-17.1 2.5-21.8-4.8l-8.5-12.9c-2.6-3.9-6.9-6.2-11.5-6.2c-4.6 0-8.9 2.3-11.5 6.1zm-43.1 64.7l-7.9 11.9c-.9 1.4-1.4 3.1-1.4 4.7c0 4.7 3.8 8.6 8.6 8.6h25.2c8.8 0 16 7.2 16 16s-7.2 16-16 16H264.6c-22.4 0-40.6-18.2-40.6-40.6c0-8 2.4-15.8 6.8-22.5l7.9-11.9c4.8-7.2 14.5-9.3 21.8-4.7c7.6 4.8 9.8 14.9 4.8 22.4zM353.7 416h20.9c4.8 0 8.6-3.9 8.6-8.6c0-1.7-.5-3.3-1.4-4.7l-6.6-10.1c-4.9-7.5-2.7-17.6 4.9-22.4c7.4-4.6 17.1-2.5 21.8 4.8l6.6 10.1c4.4 6.6 6.7 14.4 6.7 22.4c0 22.4-18.2 40.6-40.6 40.6H353.7c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faArrowUpFromSquare = {\n prefix: 'fas',\n iconName: 'arrow-up-from-square',\n icon: [512, 512, [], \"e09c\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3V320c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96zM64 112c0-8.8 7.2-16 16-16h8c17.7 0 32-14.3 32-32s-14.3-32-32-32H80C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V112c0-44.2-35.8-80-80-80h-8c-17.7 0-32 14.3-32 32s14.3 32 32 32h8c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112z\"]\n};\nvar faFileDashedLine = {\n prefix: 'fas',\n iconName: 'file-dashed-line',\n icon: [640, 512, [\"page-break\"], \"f877\", \"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512v96H128V64zm0 304H512v80c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V368zM512 128H384V0L512 128zM56 288H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zm224 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24zm192 0H584c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faPageBreak = faFileDashedLine;\nvar faBracketCurlyRight = {\n prefix: 'fas',\n iconName: 'bracket-curly-right',\n icon: [256, 512, [], \"7d\", \"M192 128c0-53-43-96-96-96H64C46.3 32 32 46.3 32 64s14.3 32 32 32H96c17.7 0 32 14.3 32 32v37.5c0 25.5 10.1 49.9 28.1 67.9L178.7 256l-22.6 22.6c-18 18-28.1 42.4-28.1 67.9V384c0 17.7-14.3 32-32 32H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96c53 0 96-43 96-96V346.5c0-8.5 3.4-16.6 9.4-22.6l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3l-45.3-45.3c-6-6-9.4-14.1-9.4-22.6V128z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L160 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L336 174.1V160c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4V112c0 8.8-7.2 16-16 16s-16-7.2-16-16V101.2c0-10.1-9.4-17.7-18.5-13.4C194.6 100.7 176 128.2 176 160v14.1l-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6z\"]\n};\nvar faClockThree = {\n prefix: 'fas',\n iconName: 'clock-three',\n icon: [512, 512, [], \"e356\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faHandsBound = {\n prefix: 'fas',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M96 32C96 14.3 81.7 0 64 0S32 14.3 32 32V96v59.1 .7V192v21.9c0 14.2 5.1 27.9 14.3 38.7L131.6 352H128c-13.3 0-24 10.7-24 24s10.7 24 24 24h32H288h64H480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-3.6l85.3-99.5c9.2-10.8 14.3-24.5 14.3-38.7V192 155.8v-.7V96 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96v48.8l-69.3 92.4c-5.7 7.6-16.1 9.6-24.2 4.8c-9.7-5.7-12.1-18.7-5.1-27.5L473 180c10.8-13.5 8.9-33.3-4.4-44.5s-33-9.8-44.5 3.2l-46.7 52.5C361 209.7 352 233.4 352 258.1V320v32H288V320 258.1c0-24.6-9-48.4-25.4-66.8l-46.7-52.5c-11.5-13-31.3-14.4-44.5-3.2s-15.2 30.9-4.4 44.5l27.6 34.5c7 8.8 4.7 21.8-5.1 27.5c-8.1 4.8-18.6 2.7-24.2-4.8L96 144.8V96 32zm64 448v32H288V480h64v32H480V480h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H480 352 288 160 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h32z\"]\n};\nvar faScalpelLineDashed = {\n prefix: 'fas',\n iconName: 'scalpel-line-dashed',\n icon: [576, 512, [\"scalpel-path\"], \"f61e\", \"M441.4 0c-20.8 0-40.6 9.2-54 25.1L187.8 261.7c-4 4.8-4.9 11.4-2.3 17.1s8.3 9.3 14.5 9.3H332.6c14.1 0 27.6-6.2 36.7-17L494.4 122.7C505.8 109.2 512 92.2 512 74.6v-4C512 31.6 480.4 0 441.4 0zM164.7 324.7l-160 160c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9c18.1 0 84.1-8.4 145.9-33.1C222.5 454.6 288 410.9 288 336V320H272 176h-6.6l-4.7 4.7zM304 480H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zm128 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H496z\"]\n};\nvar faScalpelPath = faScalpelLineDashed;\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm128 72c8.8 0 16 7.2 16 16v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V440c0 8.8-7.2 16-16 16s-16-7.2-16-16V422.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V232c0-8.8 7.2-16 16-16z\"]\n};\nvar faPipeSmoking = {\n prefix: 'fas',\n iconName: 'pipe-smoking',\n icon: [640, 512, [], \"e3c4\", \"M575.2 64c-32.1 0-62.1 16-79.9 42.7l-61.8 92.7c-3.9-4.8-8.6-9.1-14-12.7l-24-16c-4.7-3.2-9.7-5.6-14.9-7.4L442 71.2C471.7 26.7 521.7 0 575.2 0H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H575.2zM333.4 206.2c9.8-14.7 29.7-18.7 44.4-8.9l24 16c14.7 9.8 18.7 29.7 8.9 44.4L287.8 442.1C258.6 485.8 209.6 512 157.1 512C70.3 512 0 441.7 0 354.9V272c0-26.5 21.5-48 48-48H208c26.5 0 48 21.5 48 48v50.3l77.4-116.1z\"]\n};\nvar faFaceAstonished = {\n prefix: 'fas',\n iconName: 'face-astonished',\n icon: [512, 512, [], \"e36b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-208c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V352c0-26.5 21.5-48 48-48zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faWindow = {\n prefix: 'fas',\n iconName: 'window',\n icon: [512, 512, [], \"f40e\", \"M512 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96zM96 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM288 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'fas',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faEar = {\n prefix: 'fas',\n iconName: 'ear',\n icon: [384, 512, [128066], \"f5f0\", \"M319.9 335.2c-18.2 16.3-30 39.1-35.1 62.9c-5.6 26.3-18.6 51.3-39 71.7c-56.2 56.2-147.4 56.2-203.6 0C14.1 441.7 0 404.9 0 368V192C0 86 86 0 192 0S384 86 384 192c0 56.9-24.8 108-64.1 143.2zM128 192c0-35.3 28.7-64 64-64s64 28.7 64 64v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-61.9-50.1-112-112-112S80 130.1 80 192v20.2c0 21.2 12 40.6 31 50.1l14 7c1.8 .9 3 2.8 3 4.9c0 1.6-.7 3.2-2 4.2L88.6 309.6c-10.2 8.5-11.6 23.6-3.1 33.8s23.6 11.6 33.8 3.1l37.4-31.2C169 305.1 176 290.1 176 274.2c0-20.2-11.4-38.8-29.5-47.8l-14-7c-2.7-1.4-4.4-4.1-4.4-7.2V192z\"]\n};\nvar faFileLock = {\n prefix: 'fas',\n iconName: 'file-lock',\n icon: [576, 512, [], \"e3a6\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v33.6c-19.8 20.2-32 47.9-32 78.4v24.6c-19.1 11.1-32 31.7-32 55.4V480c0 11.4 3 22.2 8.3 31.5c-2.7 .3-5.5 .5-8.3 .5H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm80 112c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faDiagramVenn = {\n prefix: 'fas',\n iconName: 'diagram-venn',\n icon: [640, 512, [], \"e15a\", \"M256 412.8C216.4 372.4 192 317 192 256s24.4-116.4 64-156.8C245.7 97.1 235 96 224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c11 0 21.7-1.1 32-3.2zm64 45.7c-29.1 13.8-61.6 21.6-96 21.6C100.3 480 0 379.7 0 256S100.3 32 224 32c34.4 0 66.9 7.7 96 21.6C349.1 39.7 381.6 32 416 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-34.4 0-66.9-7.7-96-21.6zM370.7 192H269.3c-6.5 14.9-10.8 31.1-12.5 48H383.2c-1.7-16.9-6-33.1-12.5-48zM269.3 320H370.7c6.5-14.9 10.8-31.1 12.5-48H256.8c1.7 16.9 6 33.1 12.5 48zM288 352c9.1 12.1 19.9 22.9 32 32c12.1-9.1 22.9-19.9 32-32H288zm64-192c-9.1-12.1-19.9-22.9-32-32c-12.1 9.1-22.9 19.9-32 32h64z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M0 64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V96C14.3 96 0 81.7 0 64zM256 96c-8.8 0-16 7.2-16 16v32H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48H128c-8.8 0-16 7.2-16 16s7.2 16 16 16H240v70.6L189.1 307c-5.2-2-10.6-3-16.2-3h-2.1c-23.6 0-42.8 19.2-42.8 42.8c0 9.6 3.2 18.9 9.1 26.4l18.2 23.2c9.7 12.4 24.6 19.6 40.3 19.6H316.4c15.7 0 30.6-7.2 40.3-19.6l18.2-23.2c5.9-7.5 9.1-16.8 9.1-26.4c0-23.6-19.2-42.8-42.8-42.8H339c-5.5 0-11 1-16.2 3L272 326.6V256H384c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V176h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16zM208 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faGoalNet = {\n prefix: 'fas',\n iconName: 'goal-net',\n icon: [640, 512, [], \"e3ab\", \"M64 128c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-53-43-96-96-96H96C43 32 0 75 0 128V448c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm112 0c-8.8 0-16 7.2-16 16v48H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V320h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V224h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H384V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H288V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H192V144c0-8.8-7.2-16-16-16zm80 256H192V320h64v64zm96 0H288V320h64v64zm96 0H384V320h64v64zm0-96H384V224h64v64zm-96 0H288V224h64v64zm-96 0H192V224h64v64z\"]\n};\nvar faCoffinCross = {\n prefix: 'fas',\n iconName: 'coffin-cross',\n icon: [384, 512, [], \"e051\", \"M102.4 10.9l-91 104C4.1 123.3 0 134.2 0 145.4c0 4.4 .6 8.7 1.8 12.9L97.3 488.9c4 13.7 16.5 23.1 30.7 23.1H255.9c14.3 0 26.8-9.4 30.7-23.1l95.5-330.6c1.2-4.2 1.8-8.5 1.8-12.9c0-11.2-4.1-22.1-11.5-30.6l-91-104C275.5 4 266.7 0 257.5 0h-131c-9.2 0-18 4-24.1 10.9zM216 120v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M112 0C99.1 0 87.4 7.8 82.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L66.7 224h90.7l5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160C136.6 7.8 124.9 0 112 0zm18.7 160H93.3L112 115.2 130.7 160zM256 32v96 96c0 17.7 14.3 32 32 32h80c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80H288c-17.7 0-32 14.3-32 32zm96 64H320V64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-32 64h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320V160zM566.6 310.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L352 434.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l192-192z\"]\n};\nvar faLocationXmark = {\n prefix: 'fas',\n iconName: 'location-xmark',\n icon: [384, 512, [\"map-marker-times\", \"map-marker-xmark\"], \"f60e\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM111 111c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faMapMarkerTimes = faLocationXmark;\nvar faMapMarkerXmark = faLocationXmark;\nvar faCircleQuarterStroke = {\n prefix: 'fas',\n iconName: 'circle-quarter-stroke',\n icon: [512, 512, [], \"e5d3\", \"M64 256l160 0c17.7 0 32-14.3 32-32l0-160c106 0 192 86 192 192s-86 192-192 192S64 362 64 256zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256z\"]\n};\nvar faLasso = {\n prefix: 'fas',\n iconName: 'lasso',\n icon: [576, 512, [], \"f8c8\", \"M576 176c0 97.2-128.9 176-288 176c-13.2 0-26.3-.5-39-1.6c4.6 12.8 7 26.5 7 40.6c0 66.8-54.2 121-121 121H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h71c31.5 0 57-25.5 57-57c0-21.6-12.2-41.3-31.5-51l-46.8-23.4 .2-.4C44.7 284.1 0 233.2 0 176C0 78.8 128.9 0 288 0S576 78.8 576 176zM288 288c123.7 0 224-50.1 224-112s-100.3-112-224-112S64 114.1 64 176s100.3 112 224 112z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]\n};\nvar faPersonToPortal = {\n prefix: 'fas',\n iconName: 'person-to-portal',\n icon: [512, 512, [\"portal-enter\"], \"e022\", \"M272 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM163.2 160c-14.1 0-27.5 5.6-37.5 15.5l-23.1 23.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l23.1-23.1C102.4 108.3 132.2 96 163.2 96c11.7 0 23.3 1.7 34.4 5.2l48.7 15c36.4 11.2 65.9 38 80.5 73.1l6.3 15c3.6 8.7 10.9 15.2 19.6 18.1C357.8 96.9 391.4 0 432 0c44.2 0 80 114.6 80 256s-35.8 256-80 256c-40.9 0-74.6-98-79.4-224.5c-34.6-3.6-64.9-25.9-78.5-58.5l-5.1-12.3L238 299l56.7 35.4c18.1 11.3 26.6 33.3 20.7 53.9L286.8 488.8c-4.9 17-22.6 26.8-39.6 22s-26.8-22.6-22-39.6l25.4-88.8-86.2-53.9c-25.1-15.7-36.1-46.5-26.8-74.5l31.2-93.7c-1.9-.2-3.7-.3-5.6-.3zM109.5 310.7c7.4 18.1 20.4 33.9 37.9 44.9l9.5 6-11.5 25.9c-7.7 17.3-24.9 28.5-43.9 28.5H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H91.2l18.3-41.3z\"]\n};\nvar faPortalEnter = faPersonToPortal;\nvar faCalendarStar = {\n prefix: 'fas',\n iconName: 'calendar-star',\n icon: [512, 512, [], \"f736\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zm233.3 58.9c-3.8-7.7-14.8-7.7-18.7 0l-23.6 47.8-52.7 7.7c-8.5 1.2-11.9 11.7-5.8 17.7l38.2 37.2-9 52.5c-1.5 8.5 7.5 15 15.1 11L256 400l47.2 24.8c7.6 4 16.5-2.5 15.1-11l-9-52.5 38.2-37.2c6.2-6 2.8-16.5-5.8-17.7l-52.7-7.7-23.6-47.8z\"]\n};\nvar faComputerMouse = {\n prefix: 'fas',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M0 192H176V0H160C71.6 0 0 71.6 0 160v32zm0 32V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V224H192 0zm384-32V160C384 71.6 312.4 0 224 0H208V192H384z\"]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'fas',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faPegasus = {\n prefix: 'fas',\n iconName: 'pegasus',\n icon: [576, 512, [], \"f703\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C378.4 0 321.7 55.6 320 124.8L184.9 34.7c-4.9-3.3-11.2-3.6-16.4-.8s-8.5 8.2-8.5 14.1c0 48.1 3.8 99.9 26 139.8c9.2 16.6 21.7 31.3 38.2 42.7c-7.2-2.5-14-5.4-20.3-8.8c-22.5-12.1-38.6-29.4-49.9-49.8c-7.3-13.2-12.7-27.8-16.5-43c-25.9 3.5-48.1 18.6-61.1 40C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-13.4 6.6-25.2 16.7-32.5c1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faFilesMedical = {\n prefix: 'fas',\n iconName: 'files-medical',\n icon: [448, 512, [], \"f7fd\", \"M160 0H320V96c0 17.7 14.3 32 32 32h96V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64zM416 64l32 32H402.7 384 352V64 45.3 0l32 32 32 32zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24zm216 80v48H192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288h48c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H304V176c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16z\"]\n};\nvar faNfcLock = {\n prefix: 'fas',\n iconName: 'nfc-lock',\n icon: [576, 512, [], \"e1f8\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v65.1c-24.9 3.6-47.2 15.3-64 32.5V144c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v66.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V144c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16V272v24.6c-19.1 11.1-32 31.7-32 55.4v32H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H320v64H64c-35.3 0-64-28.7-64-64V96zM464 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faPersonSkiLift = {\n prefix: 'fas',\n iconName: 'person-ski-lift',\n icon: [512, 512, [\"ski-lift\"], \"f7c8\", \"M240 0c8.8 0 16 7.2 16 16V198.3l-32 8.5V16c0-8.8 7.2-16 16-16zM64 80a48 48 0 1 1 96 0A48 48 0 1 1 64 80zm36.4 138c-14.2-30.8 8.3-66 42.2-66c18.2 0 34.8 10.7 42.3 27.3l28.8 63.4 55.9-14.9c25.4-6.8 50.3 12.4 50.3 38.6V388.5L443.1 343c12.6-4.6 20.9-16.6 20.9-30v-1c0-13.3 10.7-24 24-24s24 10.7 24 24v1c0 33.5-20.9 63.4-52.3 75L128.3 510.5c-12.4 4.6-26.2-1.8-30.8-14.2s1.8-26.2 14.2-30.8L256 412.2V297.7l-66.7 17.8c-22.6 6-46.2-5.1-56-26.3L100.4 218zM45.7 189.6l65 135.8c8.3 17.4 28 26.4 46.6 21.3l36.5-9.9c12.8-3.5 26 4.1 29.5 16.8s-4.1 26-16.8 29.5l-36.5 9.9c-41 11.2-84.2-8.6-102.5-46.9L2.3 210.4c-5.7-12-.7-26.3 11.3-32s26.3-.7 32 11.3z\"]\n};\nvar faSkiLift = faPersonSkiLift;\nvar faSquare6 = {\n prefix: 'fas',\n iconName: 'square-6',\n icon: [448, 512, [], \"e25b\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-96 48c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C142.2 224.8 128 255.6 128 288z\"]\n};\nvar faShopSlash = {\n prefix: 'fas',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224H512V376L384 275.7V224H320v1.5L277.2 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L74.1 32.8 38.8 5.1zM36.8 192h85L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V398.5l-64-50.4V384z\"]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faWindTurbine = {\n prefix: 'fas',\n iconName: 'wind-turbine',\n icon: [512, 512, [], \"f89b\", \"M315.7 414.8c9.1 14.8 32 6.5 29.5-10.7L316.8 212c-.5-3.4 .1-6.9 1.8-9.9L411 31.2c8.3-15.3-10.4-31-24-20.1L234.7 131.7c-2.7 2.1-6 3.4-9.5 3.5L31.1 140.6C13.7 141 9.5 165 25.7 171.4l180.6 71.5c3.2 1.3 5.9 3.5 7.7 6.5L315.7 414.8zM224 326.8V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H288V430.8l-64-104zM256 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSlidersSimple = {\n prefix: 'fas',\n iconName: 'sliders-simple',\n icon: [512, 512, [], \"e253\", \"M96 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm90.5 0L480 320c17.7 0 32 14.3 32 32s-14.3 32-32 32l-293.5 0c-13.2 37.3-48.7 64-90.5 64c-53 0-96-43-96-96s43-96 96-96c41.8 0 77.4 26.7 90.5 64zM384 160a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-58.5-32c13.2-37.3 48.7-64 90.5-64c53 0 96 43 96 96s-43 96-96 96c-41.8 0-77.4-26.7-90.5-64L32 192c-17.7 0-32-14.3-32-32s14.3-32 32-32l293.5 0z\"]\n};\nvar faGridRound = {\n prefix: 'fas',\n iconName: 'grid-round',\n icon: [448, 512, [], \"e5da\", \"M128 96A64 64 0 1 1 0 96a64 64 0 1 1 128 0zm0 160A64 64 0 1 1 0 256a64 64 0 1 1 128 0zM64 480a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM288 96A64 64 0 1 1 160 96a64 64 0 1 1 128 0zM224 320a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm64 96a64 64 0 1 1 -128 0 64 64 0 1 1 128 0zm96-256a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm64 96a64 64 0 1 1 -128 0 64 64 0 1 1 128 0zM384 480a64 64 0 1 1 0-128 64 64 0 1 1 0 128z\"]\n};\nvar faBadgeSheriff = {\n prefix: 'fas',\n iconName: 'badge-sheriff',\n icon: [448, 512, [], \"f8a2\", \"M272 48c0 14.8-6.7 28-17.2 36.8l25 42.8c5.7 9.8 16.2 15.8 27.5 15.9l47.6 .2c6.7-18.5 24.4-31.7 45.2-31.7c26.5 0 48 21.5 48 48s-21.5 48-48 48c-5.9 0-11.6-1.1-16.9-3.1L363 240.1c-5.6 9.8-5.6 21.9 0 31.8l20.1 35.2c5.3-2 10.9-3.1 16.9-3.1c26.5 0 48 21.5 48 48s-21.5 48-48 48c-20.8 0-38.5-13.2-45.2-31.7l-47.6 .2c-11.3 0-21.8 6.1-27.5 15.9l-25 42.8c10.5 8.8 17.2 22 17.2 36.8c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-14.8 6.7-28 17.2-36.8l-25-42.8c-5.7-9.8-16.2-15.8-27.5-15.9l-47.6-.2C86.5 386.8 68.8 400 48 400c-26.5 0-48-21.5-48-48s21.5-48 48-48c5.9 0 11.6 1.1 16.9 3.1L85 271.9c5.6-9.8 5.6-21.9 0-31.8L64.9 204.9c-5.3 2-10.9 3.1-16.9 3.1c-26.5 0-48-21.5-48-48s21.5-48 48-48c20.8 0 38.5 13.2 45.2 31.7l47.6-.2c11.3 0 21.8-6.1 27.5-15.9l25-42.8C182.7 76 176 62.8 176 48c0-26.5 21.5-48 48-48s48 21.5 48 48zM224 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faVirusCovidSlash = {\n prefix: 'fas',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zM149.2 213.5c-1.5 6-2.7 12.2-3.5 18.5H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2L149.2 213.5z\"]\n};\nvar faIntersection = {\n prefix: 'fas',\n iconName: 'intersection',\n icon: [384, 512, [8898], \"f668\", \"M32 480c17.7 0 32-14.3 32-32V224c0-70.7 57.3-128 128-128s128 57.3 128 128V448c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-106-86-192-192-192S0 118 0 224V448c0 17.7 14.3 32 32 32z\"]\n};\nvar faShopLock = {\n prefix: 'fas',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M36.8 192H449.6c20.2-19.8 47.9-32 78.4-32c30.5 0 58.1 12.2 78.3 31.9c18.9-1.6 33.7-17.4 33.7-36.7c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM384 224H320V384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 352 224zm144 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faFamily = {\n prefix: 'fas',\n iconName: 'family',\n icon: [512, 512, [], \"e300\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM105.6 160h44.8c9.2 0 18.1 1.6 26.4 4.5c-.5 3.8-.8 7.6-.8 11.5c0 24.3 10.9 46.1 28 60.8c-35.7 18.7-60 56.1-60 99.2v16c0 28.4 12.4 54 32 71.6V480c0 6.1 .8 11.9 2.4 17.5c-8.7 9-20.9 14.5-34.4 14.5H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160zM368 512c-13.5 0-25.7-5.6-34.4-14.5c1.6-5.6 2.4-11.4 2.4-17.5V423.6c19.6-17.6 32-43.1 32-71.6V336c0-43.1-24.3-80.5-60-99.2c17.1-14.7 28-36.5 28-60.8c0-2.4-.1-4.7-.3-7.1c9.6-5.7 20.8-8.9 32.6-8.9h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448v80c0 26.5-21.5 48-48 48H368zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM256 128a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128c44.2 0 80 35.8 80 80v16c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V407.4c-19.1-11.1-32-31.7-32-55.4V336c0-44.2 35.8-80 80-80z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM288 437v11H96V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9z\"]\n};\nvar faHourglass1 = faHourglassStart;\nvar faUserHairBuns = {\n prefix: 'fas',\n iconName: 'user-hair-buns',\n icon: [448, 512, [], \"e3d3\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H160c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32h14.4c1 5.2 1.6 10.5 1.6 16zM84 192c7 0 13.7-1.6 19.6-4.6c17.8 49.3 65 84.6 120.4 84.6s102.7-35.3 120.4-84.6c5.9 2.9 12.5 4.6 19.6 4.6c24.3 0 44-19.7 44-44V108c0-24.3-19.7-44-44-44c-9.3 0-17.9 2.9-25 7.8C318.2 29.3 274.5 0 224 0s-94.2 29.3-115 71.8C101.9 66.9 93.3 64 84 64c-24.3 0-44 19.7-44 44v40c0 24.3 19.7 44 44 44zm77.3 128C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3z\"]\n};\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M224 352L196.8 52.3C194.2 24.2 216.3 0 244.6 0H534.1c21.1 0 36.4 20.1 30.9 40.4L558.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H549.8l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H523.6l-17.5 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L480 352H224zm-16 32H496c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM147.5 30.7c10.8 6.7 15.3 21 10.6 33.4l-22 57.8c-4.2 10.9-14.5 17.6-25.3 16.4l-33.3-3.6c-13.6 42.2-13.6 88.4 0 130.7l33.3-3.6c10.9-1.2 21.2 5.5 25.3 16.4l22 57.8c4.7 12.4 .2 26.7-10.6 33.4l-44 27.2c-9.7 6-21.9 4.2-29.8-4.3C-24.6 286-24.6 114 73.7 7.8C81.6-.7 93.8-2.5 103.5 3.5l44 27.2z\"]\n};\nvar faHourglassClock = {\n prefix: 'fas',\n iconName: 'hourglass-clock',\n icon: [576, 512, [], \"e41b\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9C48.9 353.9 32 394.6 32 437v11c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 320h10.8C285.6 480.1 256 427.5 256 368c0-27.2 6.2-53 17.2-76l-36-36 67.9-67.9c30-30 46.9-70.7 46.9-113.1V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 64 32zM96 75V64H288V75c0 19-5.6 37.4-16 53H112c-10.3-15.6-16-34-16-53zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faPersonSeatReclined = {\n prefix: 'fas',\n iconName: 'person-seat-reclined',\n icon: [512, 512, [], \"e21f\", \"M176 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm89 160l-8-32h63c17.7 0 32-14.3 32-32s-14.3-32-32-32H240.8c-6.6-19-24.5-32-44.9-32c-30.9 0-53.6 29.1-46.1 59l21.1 84.5C178 332 203.6 352 233 352h6.3c.5 0 .9 0 1.4 0h78.1c6.7 0 12.6 4.1 15 10.4L370 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9H265zM95.5 154.1c-3.3-17.4-20-28.8-37.3-25.6s-28.8 20-25.6 37.3L65.9 343.6C77.2 404.1 130.1 448 191.7 448H272c17.7 0 32-14.3 32-32s-14.3-32-32-32H191.7c-30.8 0-57.2-21.9-62.9-52.2L95.5 154.1z\"]\n};\nvar faPaperPlaneTop = {\n prefix: 'fas',\n iconName: 'paper-plane-top',\n icon: [512, 512, [\"paper-plane-alt\", \"send\"], \"e20a\", \"M49.9 27.8C15.1 12.7-19.2 50.1-1.2 83.5L68.1 212.2c4.4 8.3 12.6 13.8 21.9 15c0 0 0 0 0 0l176 22c3.4 .4 6 3.3 6 6.7s-2.6 6.3-6 6.7l-176 22s0 0 0 0c-9.3 1.2-17.5 6.8-21.9 15L-1.2 428.5c-18 33.4 16.3 70.8 51.1 55.7L491.8 292.7c32.1-13.9 32.1-59.5 0-73.4L49.9 27.8z\"]\n};\nvar faPaperPlaneAlt = faPaperPlaneTop;\nvar faSend = faPaperPlaneTop;\nvar faMessageArrowUp = {\n prefix: 'fas',\n iconName: 'message-arrow-up',\n icon: [512, 512, [\"comment-alt-arrow-up\"], \"e1dc\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM280 296V177.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V296c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCommentAltArrowUp = faMessageArrowUp;\nvar faLightbulbExclamation = {\n prefix: 'fas',\n iconName: 'lightbulb-exclamation',\n icon: [384, 512, [], \"f671\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zm0-448c13.3 0 24 10.7 24 24V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM160 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faLayerMinus = {\n prefix: 'fas',\n iconName: 'layer-minus',\n icon: [576, 512, [\"layer-group-minus\"], \"f5fe\", \"M408 56c-13.3 0-24 10.7-24 24s10.7 24 24 24H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H408zm-96.5 77.2c-14.9-6.9-32.1-6.9-47 0L45.9 234.2C37.4 238.1 32 246.6 32 256s5.4 17.9 13.9 21.8l218.6 101c14.9 6.9 32.1 6.9 47 0l218.6-101c8.5-3.9 13.9-12.4 13.9-21.8s-5.4-17.9-13.9-21.8l-218.6-101zm13.4 274.7c-23.4 10.8-50.4 10.8-73.8 0l-152-70.2L45.9 362.2C37.4 366.1 32 374.6 32 384s5.4 17.9 13.9 21.8l218.6 101c14.9 6.9 32.1 6.9 47 0l218.6-101c8.5-3.9 13.9-12.4 13.9-21.8s-5.4-17.9-13.9-21.8l-53.2-24.6-152 70.2z\"]\n};\nvar faLayerGroupMinus = faLayerMinus;\nvar faChartPieSimpleCircleCurrency = {\n prefix: 'fas',\n iconName: 'chart-pie-simple-circle-currency',\n icon: [640, 512, [], \"e604\", \"M496 192c4.6 0 9.3 .2 13.8 .5C494.5 83.7 401 0 288 0c-9 0-16 7.6-16 16.6V240H375.2c31.5-29.8 74-48 120.8-48zM320 368c0-28.8 6.9-56 19.2-80H224V66.7c0-18.5-15.7-33.3-33.8-29.5C81.5 60.1 0 156.5 0 272C0 404.6 107.5 512 240 512c43.8 0 84.8-11.7 120.1-32.2C335 449.4 320 410.5 320 368zm320 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM521.4 393.4a35.9 35.9 0 1 0 -50.7-50.7 35.9 35.9 0 1 0 50.7 50.7zm10 32.6c-21.6 13.2-49.1 13.2-70.7 0l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L438 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L460.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L554 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L531.3 426z\"]\n};\nvar faCircleE = {\n prefix: 'fas',\n iconName: 'circle-e',\n icon: [512, 512, [], \"e109\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v56H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V256 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faBuildingWheat = {\n prefix: 'fas',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm384 80v16c0 44.2-35.8 80-80 80H544V272c0-44.2 35.8-80 80-80h16zm0 128c0 44.2-35.8 80-80 80H544V384c0-44.2 35.8-80 80-80h16v16zm0 112c0 44.2-35.8 80-80 80H544V496c0-44.2 35.8-80 80-80h16v16zM512 496v16H496c-44.2 0-80-35.8-80-80V416h16c44.2 0 80 35.8 80 80zm0-96H496c-44.2 0-80-35.8-80-80V304h16c44.2 0 80 35.8 80 80v16zm0-128v16H496c-44.2 0-80-35.8-80-80V192h16c44.2 0 80 35.8 80 80zM528 32c13.3 0 24 10.7 24 24V160c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm96 64v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24zM456 72c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V96c0-13.3 10.7-24 24-24z\"]\n};\nvar faGaugeMax = {\n prefix: 'fas',\n iconName: 'gauge-max',\n icon: [512, 512, [\"tachometer-alt-fastest\"], \"f626\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-3.7-.3-7.3-.9-10.8l117.5-72.8c11.3-7 14.7-21.8 7.8-33s-21.8-14.8-33-7.8L293.8 300.4C283.2 292.6 270.1 288 256 288c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAltFastest = faGaugeMax;\nvar faPersonBreastfeeding = {\n prefix: 'fas',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM436.8 382.8L373.5 462c-16.6 20.7-46.8 24.1-67.5 7.5c-17.6-14.1-22.7-38.1-13.5-57.7l-.8-.1c-38.9-5.6-74.3-25.1-99.7-54.8V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 .8 0 1.6 .1 2.4l101.4 50.7c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5L27.2 427.3c-1.1-.5-2.2-1.1-3.3-1.7c-4.9-2.8-9.2-6.4-12.6-10.6c-4.6-5.4-7.8-11.7-9.6-18.4c-3.3-12-1.9-25.2 4.8-36.6c.6-1.1 1.3-2.2 2-3.2L75.6 256.1c26.7-40.1 71.7-64.1 119.8-64.1h75.2c46.5 0 90.1 22.5 117.2 60.3l50.7 70.9c2.2 3 4 6.1 5.5 9.4c2.9 6.7 4.3 13.8 4 20.8c-.3 10.6-4.2 21-11.2 29.4zM320 332a44 44 0 1 0 -88 0 44 44 0 1 0 88 0z\"]\n};\nvar faApostrophe = {\n prefix: 'fas',\n iconName: 'apostrophe',\n icon: [192, 512, [], \"27\", \"M72 352c66.3 0 120-53.7 120-120V160 128 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64h64v8c0 30.9-25.1 56-56 56H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h8z\"]\n};\nvar faFireHydrant = {\n prefix: 'fas',\n iconName: 'fire-hydrant',\n icon: [384, 512, [], \"e17f\", \"M224 32v4c45 11.6 80.4 47 92 92h12c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H68c11.6-45 47-80.4 92-92V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM32 488c0-13.3 10.7-24 24-24h8V400H48c-17.7 0-32-14.3-32-32V304c0-17.7 14.3-32 32-32H64V208H320v64h16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320v64h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H64 56c-13.3 0-24-10.7-24-24zm160-88a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faRightToBracket = {\n prefix: 'fas',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVideoPlus = {\n prefix: 'fas',\n iconName: 'video-plus',\n icon: [576, 512, [], \"f4e1\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm512 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L416 174.9V192 320v17.1l14.2 9.5 96 64c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128zM216 184v48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSquareRight = {\n prefix: 'fas',\n iconName: 'square-right',\n icon: [448, 512, [10145, \"arrow-alt-square-right\"], \"f352\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM262.6 135.1l99.9 107.1c3.5 3.8 5.5 8.7 5.5 13.8s-2 10.1-5.5 13.8L262.6 376.9c-4.2 4.5-10.1 7.1-16.3 7.1C234 384 224 374 224 361.7l0-57.7-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-57.7c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.3 7.1z\"]\n};\nvar faArrowAltSquareRight = faSquareRight;\nvar faCommentSmile = {\n prefix: 'fas',\n iconName: 'comment-smile',\n icon: [512, 512, [], \"f4b4\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM192 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM150.5 270.1c9.9-8.8 25-8 33.9 1.9c17.6 19.7 43.1 32 71.6 32s53.9-12.3 71.6-32c8.8-9.9 24-10.7 33.9-1.9s10.7 24 1.9 33.9C337 333.4 298.6 352 256 352s-81-18.6-107.3-48c-8.8-9.9-8-25 1.9-33.9z\"]\n};\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V384H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V349.1z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM183 278.8c-27.9-13.2-48.4-39.4-53.7-70.8h39.1c1.6 30.4 7.7 53.8 14.6 70.8zm41.3 9.2l-.3 0-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5zm40.7-9.2c6.8-17.1 12.9-40.4 14.6-70.8h39.1c-5.3 31.4-25.8 57.6-53.7 70.8zM279.6 176c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8H279.6zM223.7 96l.3 0 .3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5zM183 105.2c-6.8 17.1-12.9 40.4-14.6 70.8H129.3c5.3-31.4 25.8-57.6 53.7-70.8zM352 192A128 128 0 1 0 96 192a128 128 0 1 0 256 0zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faInboxIn = {\n prefix: 'fas',\n iconName: 'inbox-in',\n icon: [512, 512, [128229, \"inbox-arrow-down\"], \"f310\", \"M288 32V210.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM48 320h76.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\"]\n};\nvar faInboxArrowDown = faInboxIn;\nvar faHeartPulse = {\n prefix: 'fas',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4h87c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31H476.3c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240h-132c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9H16c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 16.9-2.8 33.5-8.3 49.1z\"]\n};\nvar faHeartbeat = faHeartPulse;\nvar faCircle8 = {\n prefix: 'fas',\n iconName: 'circle-8',\n icon: [512, 512, [], \"e0f5\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM264 128H248c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42c0-39.8-32.2-72-72-72zm-16 96c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24c0 0 0 0 0 0H248s0 0 0 0zm16 48h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-17.7 0-32-14.3-32-32s14.3-32 32-32h8 16z\"]\n};\nvar faCloudsMoon = {\n prefix: 'fas',\n iconName: 'clouds-moon',\n icon: [640, 512, [], \"f745\", \"M352 160c0 11.5 1.2 22.7 3.5 33.4c53.7 8.2 96.5 49.8 106.4 103c14.2 5.5 27.2 13.4 38.5 23.2c3.7 .3 7.4 .4 11.2 .4c43.2 0 82.5-17.3 111.2-45.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-6.5 1.1-13.2 1.7-20 1.7c-64.3 0-116.5-52.3-116.5-116.9c0-43.7 23.9-81.8 59.3-101.9c6.1-3.5 9.2-10.5 7.7-17.3S532 1.2 525.1 .6c-4.5-.4-9-.6-13.5-.6C423.4 0 352 71.7 352 160zM114.8 273.9c20.1-30.1 54.3-49.9 93.2-49.9c12.9 0 25.3 2.2 36.8 6.2c19.6-19.9 45.8-33.5 75-37.2l0-.9c0-35.3-28.6-64-64-64c-7.4 0-14.6 1.3-21.2 3.6c-11.5-30.1-40.6-51.6-74.8-51.6c-38.9 0-71.3 27.8-78.5 64.6c-3.1-.4-6.3-.6-9.5-.6c-39.8 0-72 32.2-72 72s32.2 72 72 72c16.1 0 30.9-5.3 42.9-14.1zM64 431.9c0 44.2 35.8 80 80 80H415.9c53 0 96-43 96-96c0-47.6-34.6-87-80-94.6l0-1.3c0-53-43-96-96-96c-34.9 0-65.4 18.6-82.2 46.4C240.8 261.3 225 256 208 256c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C92.4 359.9 64 392.6 64 431.9z\"]\n};\nvar faClockTenThirty = {\n prefix: 'fas',\n iconName: 'clock-ten-thirty',\n icon: [512, 512, [], \"e355\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V256c0-8-4-15.5-10.7-20l-96-64c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3L232 268.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faPeopleCarryBox = {\n prefix: 'fas',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm64 193.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320C54.8 308 48 291.7 48 274.7V186.6c0-32.4 26.2-58.6 58.6-58.6c24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5V160c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v76.2l10.1-5L473.5 160c13.3-20 35.8-32 59.9-32c32.4 0 58.6 26.2 58.6 58.6v88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51V241.7l-19 28.5c-4.6 7-11 12.6-18.5 16.3l-59.6 29.8c-2.4 1.3-4.9 2.2-7.6 2.8c-2.6 .6-5.3 .9-7.9 .8H256.7c-2.5 .1-5-.2-7.5-.7c-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1L50.1 348.6l49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8S-4.3 484.5 2.3 468.1zM512 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm77.9 348.6l47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z\"]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faFolderUser = {\n prefix: 'fas',\n iconName: 'folder-user',\n icon: [512, 512, [], \"e18e\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM320 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM144 405.3c0 5.9 4.8 10.7 10.7 10.7H357.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H197.3c-29.5 0-53.3 23.9-53.3 53.3z\"]\n};\nvar faTrashCanXmark = {\n prefix: 'fas',\n iconName: 'trash-can-xmark',\n icon: [448, 512, [], \"e2ae\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM143 239c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM96 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C217.8 332.6 224 349.5 224 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9C88.9 308.4 96 293.8 96 276.5V112zM144 0C82.1 0 32 50.2 32 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C11.2 304.2 0 334.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V176h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zM160 128H352c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm192 32H160V352H352V160z\"]\n};\nvar faLeftLongToLine = {\n prefix: 'fas',\n iconName: 'left-long-to-line',\n icon: [640, 512, [], \"e41e\", \"M0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32S0 78.3 0 96zM279.5 409.4c7 6.6 17.2 8.4 26 4.6s14.5-12.5 14.5-22V320l288 0c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32l-288 0V120c0-9.6-5.7-18.2-14.5-22s-19-2-26 4.6l-144 136c-4.8 4.5-7.5 10.8-7.5 17.4s2.7 12.9 7.5 17.4l144 136z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H346.5z\"]\n};\nvar faXmarksLines = {\n prefix: 'fas',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM7 167c-9.4 9.4-9.4 24.6 0 33.9l55 55L7 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55L41 167c-9.4-9.4-24.6-9.4-33.9 0zM265 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55zM455 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM104 196h72c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6H124v44c0 11-9 20-20 20s-20-9-20-20V296 216c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20H124v40h52z\"]\n};\nvar faCalendarRange = {\n prefix: 'fas',\n iconName: 'calendar-range',\n icon: [512, 512, [], \"e0d6\", \"M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM160 288a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z\"]\n};\nvar faFlowerDaffodil = {\n prefix: 'fas',\n iconName: 'flower-daffodil',\n icon: [512, 512, [9880], \"f800\", \"M288 281.3c9.8 4.3 20.6 6.7 32 6.7c44.2 0 80-35.8 80-80c0-26.2-12.6-49.4-32-64c19.4-14.6 32-37.8 32-64c0-44.2-35.8-80-80-80c-26.2 0-49.4 12.6-64 32C241.4 12.6 218.2 0 192 0c-44.2 0-80 35.8-80 80c0 26.2 12.6 49.4 32 64c-19.4 14.6-32 37.8-32 64c0 44.2 35.8 80 80 80c11.4 0 22.2-2.4 32-6.7V394.8C192.1 349.5 139.5 320 80 320H29.5C13.2 320 0 333.2 0 349.5C0 439.3 72.7 512 162.5 512H224h32 32 61.5C439.3 512 512 439.3 512 349.5c0-16.3-13.2-29.5-29.5-29.5H432c-59.5 0-112.1 29.5-144 74.8V281.3zM208 144a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faHandBackPointUp = {\n prefix: 'fas',\n iconName: 'hand-back-point-up',\n icon: [448, 512, [], \"e1a2\", \"M136 0C113.9 0 96 17.9 96 40V240v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L39 284.8C24.4 297 16 315 16 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H288c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C334 227.5 313.3 208 288 208c-12.4 0-23.6 4.7-32.1 12.3C254 195.5 233.3 176 208 176c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\"]\n};\nvar faWeightScale = {\n prefix: 'fas',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M128 176a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faWeight = faWeightScale;\nvar faStarExclamation = {\n prefix: 'fas',\n iconName: 'star-exclamation',\n icon: [576, 512, [], \"f2f3\", \"M288.1 0c12.2 0 23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L438.5 329l24.6 145.7c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L288.1 439.8 159.8 508.3C149 514 135.9 513.1 126 506s-14.9-19.3-12.9-31.3L137.8 329 33.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L195 150.3 259.4 18c5.4-11 16.5-18 28.8-18zM288 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBooks = {\n prefix: 'fas',\n iconName: 'books',\n icon: [512, 512, [128218], \"f5db\", \"M0 32C0 14.3 14.3 0 32 0H96c17.7 0 32 14.3 32 32V96H0V32zm0 96H128V384H0V128zM0 416H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416zM160 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96H160V32zm0 96H288V384H160V128zm0 288H288v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416zm203.6-19.9L320 232.6V142.8l100.4-26.9 66 247.4L363.6 396.1zM412.2 85L320 109.6V11l36.9-9.9c16.9-4.6 34.4 5.5 38.9 22.6L412.2 85zM371.8 427l122.8-32.9 16.3 61.1c4.5 17-5.5 34.5-22.5 39.1l-61.4 16.5c-16.9 4.6-34.4-5.5-38.9-22.6L371.8 427z\"]\n};\nvar faUserGroup = {\n prefix: 'fas',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\"]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'fas',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zM416 32c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zM395.8 176L416 135.6 436.2 176H395.8z\"]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faLayerPlus = {\n prefix: 'fas',\n iconName: 'layer-plus',\n icon: [576, 512, [\"layer-group-plus\"], \"f5ff\", \"M464 0c-13.3 0-24 10.7-24 24V56H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v32c0 13.3 10.7 24 24 24s24-10.7 24-24V104h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H488V24c0-13.3-10.7-24-24-24zM311.5 133.2c-14.9-6.9-32.1-6.9-47 0L45.9 234.2C37.4 238.1 32 246.6 32 256s5.4 17.9 13.9 21.8l218.6 101c14.9 6.9 32.1 6.9 47 0l218.6-101c8.5-3.9 13.9-12.4 13.9-21.8s-5.4-17.9-13.9-21.8l-218.6-101zm13.4 274.7c-23.4 10.8-50.4 10.8-73.8 0l-152-70.2L45.9 362.2C37.4 366.1 32 374.6 32 384s5.4 17.9 13.9 21.8l218.6 101c14.9 6.9 32.1 6.9 47 0l218.6-101c8.5-3.9 13.9-12.4 13.9-21.8s-5.4-17.9-13.9-21.8l-53.2-24.6-152 70.2z\"]\n};\nvar faLayerGroupPlus = faLayerPlus;\nvar faPlayPause = {\n prefix: 'fas',\n iconName: 'play-pause',\n icon: [640, 512, [], \"e22f\", \"M116.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S64 83.6 64 96V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4l192-160c7.3-6.1 11.5-15.1 11.5-24.6s-4.2-18.5-11.5-24.6l-192-160zM448 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96z\"]\n};\nvar faBlockQuestion = {\n prefix: 'fas',\n iconName: 'block-question',\n icon: [640, 512, [], \"e3dd\", \"M160 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zm73.8 149.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L344 280.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V266.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H286.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM288 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM144 104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM472 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM144 408a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm328-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSnooze = {\n prefix: 'fas',\n iconName: 'snooze',\n icon: [448, 512, [128164, \"zzz\"], \"f880\", \"M192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h32l-57.6 76.8c-7.3 9.7-8.4 22.7-3 33.5s16.5 17.7 28.6 17.7h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256l57.6-76.8c7.3-9.7 8.4-22.7 3-33.5S300.1 0 288 0H192zM320 224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32l-57.6 76.8c-7.3 9.7-8.4 22.7-3 33.5s16.5 17.7 28.6 17.7h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H384l57.6-76.8c7.3-9.7 8.4-22.7 3-33.5S428.1 224 416 224H320zM32 256c-17.7 0-32 14.3-32 32s14.3 32 32 32h91.7L7.4 459.5c-7.9 9.5-9.7 22.8-4.4 34.1S19.6 512 32 512H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H100.3L216.6 308.5c7.9-9.5 9.7-22.8 4.4-34.1s-16.6-18.4-29-18.4H32z\"]\n};\nvar faZzz = faSnooze;\nvar faScannerImage = {\n prefix: 'fas',\n iconName: 'scanner-image',\n icon: [576, 512, [], \"f8f3\", \"M79.1 35.8c-15.6-8.3-35-2.4-43.3 13.2s-2.4 35 13.2 43.3L416 288H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V339.2c0-23.6-13-45.3-33.9-56.5L79.1 35.8zM64 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTvRetro = {\n prefix: 'fas',\n iconName: 'tv-retro',\n icon: [512, 512, [128250], \"f401\", \"M169 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55H80C35.8 96 0 131.8 0 176V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H321.9l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87L169 7zM424 232a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM64 224c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224z\"]\n};\nvar faSquareT = {\n prefix: 'fas',\n iconName: 'square-t',\n icon: [448, 512, [], \"e280\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 112H224 328c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFarm = {\n prefix: 'fas',\n iconName: 'farm',\n icon: [576, 512, [\"barn-silo\"], \"f864\", \"M0 96C0 43 43 0 96 0s96 43 96 96H0zm181.4 32L132.8 246c-3.2 7.7-4.8 16-4.8 24.4V480c0 11.7 3.1 22.6 8.6 32H48c-26.5 0-48-21.5-48-48V128H181.4zM160 480V270.3c0-4.2 .8-8.3 2.4-12.2l48.9-118.7c3-7.4 8.7-13.3 15.9-16.7L354.3 62.5c8.7-4.1 18.7-4.1 27.4 0l127.1 60.2c7.2 3.4 12.9 9.4 15.9 16.7l48.9 118.7c1.6 3.9 2.4 8 2.4 12.2V480c0 17.7-14.3 32-32 32H432V448c0-26.5-21.5-48-48-48H352c-26.5 0-48 21.5-48 48v64H192c-17.7 0-32-14.3-32-32zM320 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBarnSilo = faFarm;\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M96 48L82.7 61.3C70.7 73.3 64 89.5 64 106.5V238.9c0 10.7 5.3 20.7 14.2 26.6l10.6 7c14.3 9.6 32.7 10.7 48.1 3l3.2-1.6c2.6-1.3 5-2.8 7.3-4.5l49.4-37c6.6-5 15.7-5 22.3 0c10.2 7.7 9.9 23.1-.7 30.3L90.4 350C73.9 361.3 64 380 64 400H384l28.9-159c2.1-11.3 3.1-22.8 3.1-34.3V192C416 86 330 0 224 0H83.8C72.9 0 64 8.9 64 19.8c0 7.5 4.2 14.3 10.9 17.7L96 48zm24 68a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H409.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L384 432H64L22.6 473.4z\"]\n};\nvar faBarsSort = {\n prefix: 'fas',\n iconName: 'bars-sort',\n icon: [448, 512, [], \"e0ae\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM192 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H160c17.7 0 32 14.3 32 32z\"]\n};\nvar faPalletBoxes = {\n prefix: 'fas',\n iconName: 'pallet-boxes',\n icon: [640, 512, [57863, \"palette-boxes\", \"pallet-alt\"], \"f483\", \"M64 32C64 14.3 78.3 0 96 0H288c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V32zM384 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V96zM0 352c0-17.7 14.3-32 32-32H96 320 544h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576v64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H544 320 96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V384H32c-17.7 0-32-14.3-32-32zm128 96H288V384H128v64zm224 0H512V384H352v64z\"]\n};\nvar faPaletteBoxes = faPalletBoxes;\nvar faPalletAlt = faPalletBoxes;\nvar faFaceLaughSquint = {\n prefix: 'fas',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zm36.7-199.4l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 125.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faCodeSimple = {\n prefix: 'fas',\n iconName: 'code-simple',\n icon: [576, 512, [], \"e13d\", \"M214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6zm146.7 0L498.7 256 361.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3z\"]\n};\nvar faBoltSlash = {\n prefix: 'fas',\n iconName: 'bolt-slash',\n icon: [640, 512, [], \"e0b8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-182.4-143 52.7-46.1c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H368.5L445.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8L228.4 153.7 38.8 5.1zM138.9 231.9c-10 8.8-13.6 22.9-8.9 35.3s16.6 20.7 30 20.7h83.7l-88.9-70-15.9 13.9zm55.7 235.5c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8L374.4 391 264.5 304.4l-69.9 163z\"]\n};\nvar faPanelFire = {\n prefix: 'fas',\n iconName: 'panel-fire',\n icon: [640, 512, [], \"e42f\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v32.2c-12.6-1.2-25.5 2.7-35.5 11.7c-9.9 8.9-19.4 18.1-28.5 27.5V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H337.5c-4.4 6.2-8.5 12.5-12.3 18.7c-10.9 17.6-20.5 36.4-27.2 55.4c-3-1.4-6.4-2.1-9.9-2.1c-13.3 0-24 10.7-24 24s10.7 24 24 24l.2 0c-.1 2-.2 4.1-.2 6.1c0 49.3 18.6 95.2 49.6 129.9H64c-35.3 0-64-28.7-64-64V96zM120 320a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM453.5 163.6c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79c0 87.8-71.3 159.8-160 159.8c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 432.9c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faBinaryCircleCheck = {\n prefix: 'fas',\n iconName: 'binary-circle-check',\n icon: [640, 512, [], \"e33c\", \"M322.7 6c8.3 6 13.3 15.7 13.3 26V160h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H304 256c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V76.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16C303.6-1.6 314.4 0 322.7 6zM98.7 294c8.3 6 13.3 15.7 13.3 26V448h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zM64 0h64c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zm0 64v96h64V64H64zM192 352c0-35.3 28.7-64 64-64h64c6.2 0 12.2 .9 17.9 2.5c-11.2 22.9-17.6 48.6-17.9 75.7V352H256v96h64v0h19.2c7.8 15.3 17.8 29.3 29.5 41.5C357 503.3 339.5 512 320 512H256c-35.3 0-64-28.7-64-64V352zm128.7 32H320V369.8c0 4.8 .3 9.5 .7 14.2zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faCommentMinus = {\n prefix: 'fas',\n iconName: 'comment-minus',\n icon: [512, 512, [], \"f4b1\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM184 216H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBurrito = {\n prefix: 'fas',\n iconName: 'burrito',\n icon: [512, 512, [127791], \"f7ed\", \"M251.4 52.6L33.9 270.1c-9.9 9.9-17.8 21.3-23.4 33.7C39.2 324.1 74.2 336 112 336c79.2 0 146.2-52.3 168.3-124.3c5-16.3 7.7-33.7 7.7-51.7c0-40.4-13.6-77.7-36.6-107.4zm15-32C299.7 57.5 320 106.4 320 160c0 11.9-1 23.6-2.9 34.9c11.4-1.9 23-2.9 34.9-2.9c53.6 0 102.5 20.3 139.4 53.6c12.8-14.2 20.6-33 20.6-53.6c0-11.4-2.4-22.2-6.7-32c4.3-9.8 6.7-20.6 6.7-32c0-34.6-22-64.1-52.8-75.2C448.1 22 418.6 0 384 0c-11.4 0-22.2 2.4-32 6.7C342.2 2.4 331.4 0 320 0c-20.6 0-39.4 7.8-53.6 20.6zm193 240C429.7 237.6 392.4 224 352 224c-15.2 0-29.9 1.9-43.9 5.5C279.5 310.2 202.5 368 112 368c-40.8 0-78.8-11.7-110.9-32C.4 341.3 0 346.6 0 352c0 30.7 12.2 60.2 33.9 81.9l44.1 44.1C99.8 499.8 129.3 512 160 512s60.2-12.2 81.9-33.9L459.4 260.6z\"]\n};\nvar faViolin = {\n prefix: 'fas',\n iconName: 'violin',\n icon: [640, 512, [127931], \"f8ed\", \"M630.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L417 177.7C398 166.5 375.7 160 352 160c-20.8 0-40.4 5-57.8 13.8c-6.7 3.4-9.1 11.4-7.7 18.8c1 5 1.5 10.2 1.5 15.4c0 44.2-35.8 80-80 80c-11.6 0-22.7-2.5-32.7-7c-7.4-3.3-16.6-2.4-21.3 4.3C137.6 308.7 128 337.2 128 368c0 15 2.3 29.5 6.6 43.1l44.6-33.5c19.1-14.3 45.9-12.4 62.7 4.5l16 16c16.9 16.9 18.8 43.6 4.5 62.7l-33.5 44.6c13.6 4.3 28.1 6.6 43.1 6.6c30.8 0 59.3-9.6 82.6-26.1c6.7-4.7 7.6-13.8 4.3-21.3c-4.5-10-7-21-7-32.7c0-44.2 35.8-80 80-80c5.3 0 10.5 .5 15.4 1.5c7.4 1.4 15.4-1 18.8-7.7c8.8-17.4 13.8-37 13.8-57.8c0-23.7-6.5-46-17.7-65L630.6 54.6zM520 48a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM345 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 41zM472 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm48-48a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM198.4 403.2l-64 48c-3.7 2.8-6 7-6.4 11.7s1.4 9.2 4.6 12.4l32 32c3.3 3.3 7.8 5 12.4 4.6s8.9-2.6 11.7-6.4l48-64c4.8-6.4 4.1-15.3-1.5-20.9l-16-16c-5.6-5.6-14.5-6.3-20.9-1.5z\"]\n};\nvar faObjectsColumn = {\n prefix: 'fas',\n iconName: 'objects-column',\n icon: [448, 512, [], \"e3c1\", \"M48 32C21.5 32 0 53.5 0 80V240c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM304 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H304zM0 400v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48zM304 32c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304z\"]\n};\nvar faSquareChevronDown = {\n prefix: 'fas',\n iconName: 'square-chevron-down',\n icon: [448, 512, [\"chevron-square-down\"], \"f329\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zM207 345L103 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L241 345c-9.4 9.4-24.6 9.4-33.9 0z\"]\n};\nvar faChevronSquareDown = faSquareChevronDown;\nvar faCommentPlus = {\n prefix: 'fas',\n iconName: 'comment-plus',\n icon: [512, 512, [], \"f4b2\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM232 328V264H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V152c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faTriangleInstrument = {\n prefix: 'fas',\n iconName: 'triangle-instrument',\n icon: [576, 512, [\"triangle-music\"], \"f8e2\", \"M320 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V69.9c-18 6.8-33.6 19.4-44.1 36.1L46.5 367.7C37 382.8 32 400.2 32 418c0 51.9 42.1 94 94 94H450c51.9 0 94-42.1 94-94c0-17.8-5-35.2-14.5-50.2L448.2 239l-46.4 46.4 73.6 116.5c3 4.8 4.6 10.4 4.6 16c0 16.6-13.5 30-30 30H126c-16.6 0-30-13.5-30-30c0-5.7 1.6-11.2 4.6-16L266 140.1c4.8-7.6 13.1-12.1 22-12.1s17.3 4.6 22 12.1l48 75.9-51.2 51.2c-5.9-2.1-12.2-3.2-18.8-3.2c-30.9 0-56 25.1-56 56s25.1 56 56 56s56-25.1 56-56c0-6.6-1.1-12.9-3.2-18.8l43.5-43.5 46.4-46.4L537 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-98.6 98.6L364.1 106C353.6 89.2 338 76.7 320 69.9V32z\"]\n};\nvar faTriangleMusic = faTriangleInstrument;\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM120.5 247.2c12.4-4.7 18.7-18.5 14-30.9s-18.5-18.7-30.9-14C43.1 225.1 0 283.5 0 352c0 88.4 71.6 160 160 160c61.2 0 114.3-34.3 141.2-84.7c6.2-11.7 1.8-26.2-9.9-32.5s-26.2-1.8-32.5 9.9C240 440 202.8 464 160 464C98.1 464 48 413.9 48 352c0-47.9 30.1-88.8 72.5-104.8zM259.8 176l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4h5.1c.4 0 .8 0 1.3 0h94.1c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9H282.2l-9.6-48H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H259.8z\"]\n};\nvar faUserPilotTie = {\n prefix: 'fas',\n iconName: 'user-pilot-tie',\n icon: [448, 512, [], \"e2c1\", \"M230.1 .8c-4-1.1-8.2-1.1-12.2 0l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40zM161.7 72.8c4-7.9 13.6-11.1 21.5-7.2L224 86.1l40.8-20.4c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-48 24c-4.5 2.3-9.8 2.3-14.3 0l-48-24c-7.9-4-11.1-13.6-7.2-21.5zm-63.6 96C96.7 176.3 96 184.1 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2C310.8 183.8 268.4 192 224 192s-86.8-8.2-125.9-23.2zm89.5 206.3L208 416l-12.2 48.9L133 360.3c-3-5-8.6-8.1-14.4-7.4C51.8 360.8 0 417.5 0 486.4C0 500.5 11.5 512 25.6 512H192v0h64v0H422.4c14.1 0 25.6-11.5 25.6-25.6c0-68.9-51.8-125.6-118.6-133.5c-5.8-.7-11.4 2.4-14.4 7.4L252.2 464.9 240 416l20.4-40.8c5.3-10.6-2.4-23.2-14.3-23.2H201.9c-11.9 0-19.6 12.5-14.3 23.2zM320 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16z\"]\n};\nvar faPianoKeyboard = {\n prefix: 'fas',\n iconName: 'piano-keyboard',\n icon: [576, 512, [127929], \"f8d5\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM512 224V384H432V315.7c9.6-5.5 16-15.9 16-27.7V224h64zM400 384H304V315.7c9.6-5.5 16-15.9 16-27.7V224h64v64c0 11.8 6.4 22.2 16 27.7V384zm-128 0H176V315.7c9.6-5.5 16-15.9 16-27.7V224h64v64c0 11.8 6.4 22.2 16 27.7V384zm-128 0H64V224h64v64c0 11.8 6.4 22.2 16 27.7V384z\"]\n};\nvar faBedEmpty = {\n prefix: 'fas',\n iconName: 'bed-empty',\n icon: [640, 512, [128719], \"f8f9\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V256v96 96c0 17.7 14.3 32 32 32s32-14.3 32-32V416H352 576v32c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-53-43-96-96-96H64V64z\"]\n};\nvar faCircleArrowUp = {\n prefix: 'fas',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM385 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 119c9.4-9.4 24.6-9.4 33.9 0L385 231z\"]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faRectangleVertical = {\n prefix: 'fas',\n iconName: 'rectangle-vertical',\n icon: [384, 512, [\"rectangle-portrait\"], \"f2fb\", \"M320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L320 0z\"]\n};\nvar faRectanglePortrait = faRectangleVertical;\nvar faPersonWalking = {\n prefix: 'fas',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'fas',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M64 32c17.7 0 32 14.3 32 32V416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faSignalStream = {\n prefix: 'fas',\n iconName: 'signal-stream',\n icon: [576, 512, [], \"f8dd\", \"M108.2 71c13.8 11.1 16 31.2 5 45C82.4 154.4 64 203 64 256s18.4 101.6 49.1 140c11.1 13.8 8.8 33.9-5 45s-33.9 8.8-45-5C23.7 386.7 0 324.1 0 256S23.7 125.3 63.2 76c11.1-13.8 31.2-16 45-5zm359.7 0c13.8-11.1 33.9-8.8 45 5C552.3 125.3 576 187.9 576 256s-23.7 130.7-63.2 180c-11.1 13.8-31.2 16-45 5s-16-31.2-5-45c30.7-38.4 49.1-87 49.1-140s-18.4-101.6-49.1-140c-11.1-13.8-8.8-33.9 5-45zM232 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm-27.5-74.7c-17.8 19.8-28.5 46-28.5 74.7s10.8 54.8 28.5 74.7c11.8 13.2 10.7 33.4-2.5 45.2s-33.4 10.7-45.2-2.5C129 342.2 112 301.1 112 256s17-86.2 44.8-117.3c11.8-13.2 32-14.3 45.2-2.5s14.3 32 2.5 45.2zm214.7-42.7C447 169.8 464 210.9 464 256s-17 86.2-44.8 117.3c-11.8 13.2-32 14.3-45.2 2.5s-14.3-32-2.5-45.2c17.8-19.8 28.5-46 28.5-74.7s-10.8-54.8-28.5-74.7c-11.8-13.2-10.7-33.4 2.5-45.2s33.4-10.7 45.2 2.5z\"]\n};\nvar faDownToBracket = {\n prefix: 'fas',\n iconName: 'down-to-bracket',\n icon: [448, 512, [], \"e4e7\", \"M374.1 217.9L251.3 340.7c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3L73.9 217.9c-6.4-6.4-9.9-15-9.9-24C64 175.2 79.2 160 97.9 160l62.1 0 0-128c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l0 128 62.1 0c18.7 0 33.9 15.2 33.9 33.9c0 9-3.6 17.6-9.9 24zM64 352v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faCircleZ = {\n prefix: 'fas',\n iconName: 'circle-z',\n icon: [512, 512, [], \"e130\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c8.9 0 17.1 5 21.3 12.9s3.6 17.5-1.5 24.8L229.8 336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.9 0-17.1-5-21.3-12.9s-3.6-17.5 1.5-24.8L282.2 176H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faStars = {\n prefix: 'fas',\n iconName: 'stars',\n icon: [512, 512, [], \"f762\", \"M325.8 152.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104l13.8 48.3zm-112.4 5.1c-8.8-17.9-34.3-17.9-43.1 0l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94zm215.4 85.8l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\"]\n};\nvar faBedPulse = {\n prefix: 'fas',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24H352c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM320 160h12.7l20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32L461.9 160H544c53 0 96 43 96 96V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V352H288V192c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faProcedures = faBedPulse;\nvar faHouseDay = {\n prefix: 'fas',\n iconName: 'house-day',\n icon: [640, 512, [], \"e00e\", \"M174.2 8.3C171.4 3.2 166-.1 160.1-.1s-11.3 3.2-14.1 8.4L118.4 59.5 62.8 42.9c-5.6-1.7-11.7-.1-15.9 4s-5.7 10.3-4 15.9l16.7 55.7L8.3 146.1c-5.2 2.8-8.4 8.2-8.4 14.1s3.2 11.3 8.4 14.1l51.2 27.6L42.8 257.6c-1.7 5.6-.1 11.7 4 15.9s10.3 5.7 15.9 4l55.7-16.7L133.1 288l57.4-53c-9.4 3.9-19.7 6-30.5 6c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80c0 13.1-3.1 25.4-8.7 36.3L296 137.5l-35.3-19 16.7-55.7c1.7-5.6 .1-11.7-4-15.9s-10.3-5.7-15.9-4L201.8 59.5 174.2 8.3zM112 160a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm309.7-55.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.7 8.9-12.9 22.9-8.1 35.2S178.8 352 192 352h32V464c0 26.5 21.5 48 48 48H528c26.5 0 48-21.5 48-48V352h32c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM352 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V304z\"]\n};\nvar faShuttleSpace = {\n prefix: 'fas',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M130 480c40.6 0 80.4-11 115.2-31.9L352 384l-224 0 0 96h2zM352 128L245.2 63.9C210.4 43 170.6 32 130 32h-2v96l224 0zM96 128l0-96H80C53.5 32 32 53.5 32 80v48h8c-22.1 0-40 17.9-40 40v16V328v16c0 22.1 17.9 40 40 40H32v48c0 26.5 21.5 48 48 48H96l0-96h8c26.2 0 49.4-12.6 64-32H456c69.3 0 135-22.7 179.2-81.6c6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160H168c-14.6-19.4-37.8-32-64-32l-8 0zM512 243.6v24.9c0 19.6-15.9 35.6-35.6 35.6c-2.5 0-4.4-2-4.4-4.4V212.4c0-2.5 2-4.4 4.4-4.4c19.6 0 35.6 15.9 35.6 35.6z\"]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faShirtLongSleeve = {\n prefix: 'fas',\n iconName: 'shirt-long-sleeve',\n icon: [640, 512, [], \"e3c7\", \"M157 .3c-32.1 2.5-61 20.9-76.7 49.5L13.9 170.5C4.8 187 0 205.6 0 224.4V384c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V224.4c0-2.7 .7-5.3 2-7.7l46-83.7V448c0 35.3 28.7 64 64 64H432c35.3 0 64-28.7 64-64V133.1l46 83.7c1.3 2.4 2 5 2 7.7V384c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224.4c0-18.9-4.8-37.4-13.9-54L559.7 49.7C544.1 21.2 515.1 2.8 483 .3c-1-.2-2-.3-3-.3h-4.4H460 432c-8.8 0-15.9 7.2-17.3 15.9C407.1 61.4 367.6 96 320 96s-87.1-34.6-94.7-80.1C223.9 7.2 216.8 0 208 0H180 164.4 160c-1 0-2 .1-3 .3z\"]\n};\nvar faChartPieSimple = {\n prefix: 'fas',\n iconName: 'chart-pie-simple',\n icon: [512, 512, [\"chart-pie-alt\"], \"f64e\", \"M495.4 240H272V16.6c0-9 7-16.6 16-16.6C411.7 0 512 100.3 512 224c0 9-7.6 16-16.6 16zM190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V288H445.3c18.5 0 33.3 15.7 29.5 33.8C451.9 430.5 355.5 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2z\"]\n};\nvar faChartPieAlt = faChartPieSimple;\nvar faFaceLaugh = {\n prefix: 'fas',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z\"]\n};\nvar faAlbumCollectionCircleUser = {\n prefix: 'fas',\n iconName: 'album-collection-circle-user',\n icon: [640, 512, [], \"e48f\", \"M32 24c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM48 160c-13.8 0-26.9 5.9-36 16.2S-1.3 200.3 .4 214l32 256c3 24 23.4 42 47.6 42H394.8c-18.9-13.3-35.1-30.3-47.5-49.9c-26.9 11.4-58 17.9-91.3 17.9C154.4 480 72 419.1 72 344s82.4-136 184-136c45.4 0 86.9 12.1 119 32.2c31.5-29.9 74.2-48.2 121-48.2c4.5 0 9 .2 13.4 .5c-2-5.9-5.2-11.5-9.4-16.3c-9.1-10.3-22.2-16.2-36-16.2H48zM256 376c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zM40 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H472c13.3 0 24-10.7 24-24s-10.7-24-24-24H40zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-66.3 80.7C553.5 468.1 526.2 480 496 480s-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7zM448 336a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faCandy = {\n prefix: 'fas',\n iconName: 'candy',\n icon: [640, 512, [127852], \"e3e7\", \"M318.1 64c-24.5 .2-47.9 5.1-69.4 13.7L419.9 420c20.3-12.4 38.2-28.5 52.6-47.3L318.1 64zM492.3 340.8c4.7-9.6 8.7-19.6 11.8-30l93.2 46.6c10.5 5.3 23.3 2.1 30.2-7.4s5.8-22.7-2.5-31l-29.6-29.6 29.1-10.9C633.8 275 640 266 640 256s-6.2-19-15.6-22.5l-29.1-10.9L625 193c8.3-8.3 9.4-21.5 2.5-31s-19.7-12.7-30.2-7.4L504 201.1C483.7 132.9 426.5 80.6 355.5 67.3L492.3 340.8zm-101 93.5L220.1 92c-20.3 12.4-38.2 28.5-52.6 47.3L321.9 448c24.5-.2 47.9-5.1 69.4-13.7zM284.5 444.7L147.7 171.2c-4.7 9.6-8.7 19.6-11.8 30L42.7 154.5c-10.5-5.3-23.3-2.1-30.2 7.4s-5.8 22.7 2.5 31l29.6 29.6L15.6 233.5C6.2 237 0 246 0 256s6.2 19 15.6 22.5l29.1 10.9L15 319c-8.3 8.3-9.4 21.5-2.5 31s19.7 12.7 30.2 7.4L136 310.9c20.3 68.2 77.5 120.6 148.5 133.9z\"]\n};\nvar faBowlHot = {\n prefix: 'fas',\n iconName: 'bowl-hot',\n icon: [512, 512, [\"soup\"], \"f823\", \"M152 0c-13.3 0-24 10.7-24 24v8c0 32.7 15.4 63.6 41.6 83.2C183.7 125.8 192 142.4 192 160v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-32.7-15.4-63.6-41.6-83.2C184.3 66.2 176 49.6 176 32V24c0-13.3-10.7-24-24-24zM33.6 224C15.4 224 .9 239.3 2 257.5c5.4 91.7 59.7 169.7 136.4 209.7l1.2 9.7c2.5 20 19.5 35 39.7 35H332.7c20.2 0 37.2-15 39.7-35l1.2-9.7c76.8-40 131-118 136.4-209.7c1.1-18.2-13.4-33.5-31.6-33.5H33.6zM304 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 32.7 15.4 63.6 41.6 83.2C311.7 125.8 320 142.4 320 160v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-32.7-15.4-63.6-41.6-83.2C312.3 66.2 304 49.6 304 32V24z\"]\n};\nvar faSoup = faBowlHot;\nvar faFlatbread = {\n prefix: 'fas',\n iconName: 'flatbread',\n icon: [512, 512, [129747], \"e40b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM363.3 171.3l-192 192c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm-112-70.6c6.2 6.2 6.2 16.4 0 22.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0zm160 182.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faHeartCirclePlus = {\n prefix: 'fas',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCodeFork = {\n prefix: 'fas',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3V192c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V153.3C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V192c0 53-43 96-96 96H256v70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V288H144c-53 0-96-43-96-96V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M480 48c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48V96H224V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V96H112V24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144v96V464c0 26.5 21.5 48 48 48H304h32 96H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H480V48zm96 320v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM240 416H208c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM128 400c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM560 256c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32zM256 176v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM112 160c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32zM256 304c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM112 320H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm304-48v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM400 64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zm16 112v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faSignalBarsWeak = {\n prefix: 'fas',\n iconName: 'signal-bars-weak',\n icon: [640, 512, [\"signal-alt-1\"], \"f691\", \"M32 432c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V432z\"]\n};\nvar faSignalAlt1 = faSignalBarsWeak;\nvar faMicrophoneLines = {\n prefix: 'fas',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M96 96V256c0 53 43 96 96 96s96-43 96-96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96S96 43 96 96zM320 240v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24z\"]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faClockTwelve = {\n prefix: 'fas',\n iconName: 'clock-twelve',\n icon: [512, 512, [], \"e358\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V256c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24V152c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5L264 160l40 0v80c0 26.5 21.5 48 48 48h76.2l23.9 47.8C372.3 443.9 244.3 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z\"]\n};\nvar faCitrusSlice = {\n prefix: 'fas',\n iconName: 'citrus-slice',\n icon: [512, 512, [], \"e2f5\", \"M41 391c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c96.9 96.9 97.1 253.6 .3 350.4S137.9 487.9 41 391zm116.3 32.9c9.6 2.7 18.8-4.9 18.8-14.9V264.5c0-6.2-4.3-11.5-10-14c-5.9-2.6-13-2.1-17.6 2.5L59.3 342.2c-6.2 6.2-6.2 16.4 0 22.6l4 4c27.1 27.1 59.6 45.5 94 55.2zM250.5 166c2.5 5.7 7.8 10 14 10H409c10 0 17.6-9.1 14.9-18.8C414.2 123 396 90.6 369.1 63.6l-4.3-4.3c-6.2-6.2-16.4-6.2-22.6 0L253 148.4c-4.6 4.6-5.2 11.7-2.5 17.6zm.6 50.5c-2 4.9-1.4 10.6 2.4 14.3l114 114c6.6 6.6 17.4 6.2 22.9-1.3c26.2-35.8 40.1-77.8 41.5-120.1c.3-8.6-6.8-15.4-15.4-15.4H263c-5.3 0-9.8 3.7-11.8 8.5zm-34.6 34.6c-4.9 2-8.5 6.5-8.5 11.8V416.4c0 8.6 6.8 15.7 15.4 15.4c42.4-1.4 84.4-15.3 120.1-41.5c7.5-5.5 7.9-16.3 1.3-22.9l-114-114c-3.7-3.7-9.4-4.4-14.3-2.4z\"]\n};\nvar faSheep = {\n prefix: 'fas',\n iconName: 'sheep',\n icon: [640, 512, [128017], \"f711\", \"M384 135.8V208c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V135.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5L561.6 77.4C544.7 50.2 514.5 32 480 32s-64.7 18.2-81.6 45.4L350.5 97.9c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2zm80-7.8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM352 175.4c-18.7-2.7-35.5-14.8-43.5-33.4c-6.9-16.1-5.7-33.5 1.8-47.9C299 76 278.9 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c.5 0 1 0 1.5 0l17.6 93.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7V480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c.5 0 1 0 1.5 0c35.3 0 64-28.7 64-64c0-2.7-.2-5.4-.5-8H464c-61.9 0-112-50.1-112-112V175.4z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V144z\"]\n};\nvar faColonSign = {\n prefix: 'fas',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255 39.8c4.3-17.1-6.1-34.5-23.3-38.8S197.2 7.1 193 24.2L181.9 68.6C96.1 87.8 32 164.4 32 256c0 58.1 25.8 110.2 66.7 145.4L81 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l13-52.1c9 3.4 18.4 6.2 28 8.2L177 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l10.4-41.4c33.4-4.4 64.1-17.4 89.8-36.7c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-10.2 7.7-21.7 13.9-34 18.3L321 160c9.4-.3 18.5-4.7 24.6-12.8c10.6-14.1 7.8-34.2-6.4-44.8c-1.1-.8-2.2-1.6-3.3-2.4L351 39.8c4.3-17.1-6.1-34.5-23.3-38.8S293.2 7.1 289 24.2L277.2 71.5c-9.3-2.7-18.8-4.6-28.6-5.9L255 39.8zM163.2 143.3L117.3 326.8C103.9 306.5 96 282.2 96 256c0-48.7 27.2-91 67.2-112.7zm8.6 229.5l61.1-244.6c9.9 .7 19.5 2.5 28.7 5.3l-62 248.1c-9.7-1.9-19-4.8-27.8-8.8z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z\"]\n};\nvar faBadgerHoney = {\n prefix: 'fas',\n iconName: 'badger-honey',\n icon: [640, 512, [129441], \"f6b4\", \"M164.6 389.3l16-37.3H298.7l16.9 101.3c2.6 15.4 15.9 26.7 31.6 26.7h31.1c19.8 0 34.8-17.8 31.6-37.3L393 342.1c27.9-29 80.6-70.8 144.1-90.8l16.1 25.8c3.1 5 10.4 5 13.6 0l22.8-36.5c12.9-2.1 25.2-7.4 34.4-16.6c10.2-10.2 16-24.1 16-38.6v-3.8c0-23.2-12.6-44.5-32.8-55.8L525.3 80.3C506.1 69.6 484.5 64 462.5 64c-20.1 0-39.9 4.7-57.8 13.6L400 80c-21 10.5-44.2 16-67.8 16H160 128C57.3 96 0 153.3 0 224v32c0 17.7 14.3 32 32 32c5.4 0 10.6-1.4 15-3.7c9.1 17.1 22.1 31.9 37.7 43.3l-16.8 59c-2.5 8.8-2.5 18.2 .2 27l13.1 43.7c4.1 13.5 16.5 22.8 30.7 22.8H141c21.4 0 36.8-20.7 30.7-41.2l-8.3-27.7c-2.2-7.2-1.7-14.9 1.2-21.8zM570 160H518.6c.9 2.5 1.4 5.2 1.4 8c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-2.8 .5-5.5 1.4-8h-5.9c-23.2 0-46 6.3-65.9 18.2L294.8 242.3c-14.9 9-32 13.7-49.4 13.7H192c-46.4 0-86.2-28.2-103.2-68.5C102 161.7 129 144 160 144H332.2c31 0 61.5-7.2 89.2-21.1l4.7-2.4c11.3-5.6 23.7-8.6 36.3-8.6c13.8 0 27.4 3.5 39.5 10.2L570 160z\"]\n};\nvar faH4 = {\n prefix: 'fas',\n iconName: 'h4',\n icon: [640, 512, [], \"f86a\", \"M479 103.8L441 256H576V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V320H400c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5l48-192c4.3-17.1 21.7-27.6 38.8-23.3s27.6 21.7 23.3 38.8zM32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V384 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V350.9L301.2 210.7c7-4.4 13.3-9.7 18.8-15.7c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm73.4 218.1c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7zM160 384V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3L365.5 384H160z\"]\n};\nvar faRoadCircleXmark = {\n prefix: 'fas',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faSignalSlash = {\n prefix: 'fas',\n iconName: 'signal-slash',\n icon: [640, 512, [], \"f695\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L608 451.2V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V401.1l-64-50.2V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V300.8l-64-50.2V224c0-17.7-14.3-32-32-32c-10.7 0-20.1 5.2-25.9 13.2L38.8 5.1zM576 512l-.3 0h.6l-.3 0zm-96-32v-5.8l-64-50.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM352 373.3l-64-50.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V373.3zM192 288c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32zM96 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM472 200H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMarsStrokeUp = {\n prefix: 'fas',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M148.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H184v24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H184v24c0 .6 0 1.2-.1 1.8c77 11.6 136.1 78 136.1 158.2c0 88.4-71.6 160-160 160S0 440.4 0 352c0-80.2 59.1-146.7 136.1-158.2c0-.6-.1-1.2-.1-1.8V168H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V96H96c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zM256 352A96 96 0 1 0 64 352a96 96 0 1 0 192 0z\"]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'fas',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M155.6 17.3C163 3 179.9-3.6 195 1.9L320 47.5l125-45.6c15.1-5.5 32 1.1 39.4 15.4l78.8 152.9c28.8 55.8 10.3 122.3-38.5 156.6L556.1 413l41-15c16.6-6 35 2.5 41 19.1s-2.5 35-19.1 41l-71.1 25.9L476.8 510c-16.6 6.1-35-2.5-41-19.1s2.5-35 19.1-41l41-15-31.3-86.2c-59.4 5.2-116.2-34-130-95.2L320 188.8l-14.6 64.7c-13.8 61.3-70.6 100.4-130 95.2l-31.3 86.2 41 15c16.6 6 25.2 24.4 19.1 41s-24.4 25.2-41 19.1L92.2 484.1 21.1 458.2c-16.6-6.1-25.2-24.4-19.1-41s24.4-25.2 41-19.1l41 15 31.3-86.2C66.5 292.5 48.1 226 76.9 170.2L155.6 17.3zm44 54.4l-27.2 52.8L261.6 157l13.1-57.9L199.6 71.7zm240.9 0L365.4 99.1 378.5 157l89.2-32.5L440.5 71.7z\"]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faTaco = {\n prefix: 'fas',\n iconName: 'taco',\n icon: [512, 512, [127790], \"f826\", \"M274.8 38.4l44.1 34.2c5.6 4.4 12.6 6.6 19.7 6.4l55.8-1.7c14-.4 26.5 8.6 30.4 22.1l15.6 53.6c2 6.8 6.3 12.8 12.2 16.8L498.6 201c11.6 7.9 16.3 22.5 11.6 35.7l-17.1 47.7C441.1 209.2 354.3 160 256 160s-185.1 49.2-237.1 124.4L1.8 236.7c-4.7-13.1 0-27.8 11.6-35.7l46.1-31.4c5.9-4 10.2-9.9 12.2-16.8L87.3 99.3c3.9-13.4 16.4-22.5 30.4-22.1L173.4 79c7.1 .2 14.1-2 19.7-6.4l44.1-34.2c11-8.6 26.5-8.6 37.5 0zM512 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32C0 306.6 114.6 192 256 192s256 114.6 256 256zM112 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHexagonPlus = {\n prefix: 'fas',\n iconName: 'hexagon-plus',\n icon: [512, 512, [\"plus-hexagon\"], \"f300\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faPlusHexagon = faHexagonPlus;\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHouseCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileArrowUp = {\n prefix: 'fas',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24V305.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V408z\"]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM320 256c56.8 0 108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faMessages = {\n prefix: 'fas',\n iconName: 'messages',\n icon: [640, 512, [\"comments-alt\"], \"f4b6\", \"M64 0C28.7 0 0 28.7 0 64V256c0 35.3 28.7 64 64 64H96v48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 320H352c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM352 352H256v32c0 35.3 28.7 64 64 64H437.3l81.1 60.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.2 8.8-14.3V448h32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H448V256c0 53-43 96-96 96z\"]\n};\nvar faCommentsAlt = faMessages;\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M96 77.3c0-7.3 5.9-13.3 13.3-13.3c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9C130 91.8 128 101.7 128 112c0 19.9 7.2 38 19.2 52c-5.3 9.2-4 21.1 3.8 29c9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9c-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5L163.9 22.6C149.4 8.1 129.7 0 109.3 0C66.6 0 32 34.6 32 77.3V256c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V77.3zM32 352v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V464H384v16c0 17.7 14.3 32 32 32s32-14.3 32-32V439.6c19.6-17.6 32-43.1 32-71.6V352H32z\"]\n};\nvar faBathtub = faBath;\nvar faUmbrellaSimple = {\n prefix: 'fas',\n iconName: 'umbrella-simple',\n icon: [512, 512, [\"umbrella-alt\"], \"e2bc\", \"M256 0c17.7 0 32 14.3 32 32v2C403.8 48.4 495.6 140.2 510 256.1c2.2 17.5-12.4 31.9-30 31.9H32C14.3 288-.2 273.6 2 256.1C16.4 140.2 108.2 48.4 224 34V32c0-17.7 14.3-32 32-32zm32 430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V320h64V430.6z\"]\n};\nvar faUmbrellaAlt = faUmbrellaSimple;\nvar faRectangleHistoryCirclePlus = {\n prefix: 'fas',\n iconName: 'rectangle-history-circle-plus',\n icon: [640, 512, [], \"e4a3\", \"M320 368c0 59.5 29.5 112.1 74.8 144L64 512c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64l384 0c23.8 0 44.5 12.9 55.5 32.2c-2.5-.1-5-.2-7.5-.2c-97.2 0-176 78.8-176 176zM440 80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24H392zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faPrescriptionBottlePill = {\n prefix: 'fas',\n iconName: 'prescription-bottle-pill',\n icon: [576, 512, [], \"e5c0\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352v83.2c-57 29.1-96 88.4-96 156.8c0 54.5 24.8 103.3 63.8 135.6c-9.4 5.4-20.2 8.4-31.8 8.4H96c-35.3 0-64-28.7-64-64V416H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V320H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V224H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V128zM304.8 300.5c6.7-12.6 23.6-13.5 33.7-3.4L502.9 461.5c10.1 10.1 9.2 27-3.4 33.7C479.4 505.9 456.4 512 432 512c-79.5 0-144-64.5-144-144c0-24.4 6.1-47.4 16.8-67.5zm254.5 135c-6.7 12.6-23.6 13.5-33.7 3.4L361.1 274.5c-10.1-10.1-9.2-27 3.4-33.7C384.6 230.1 407.6 224 432 224c79.5 0 144 64.5 144 144c0 24.4-6.1 47.4-16.8 67.5z\"]\n};\nvar faUserPen = {\n prefix: 'fas',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H322.8c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1H178.3zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faUserEdit = faUserPen;\nvar faBinarySlash = {\n prefix: 'fas',\n iconName: 'binary-slash',\n icon: [640, 512, [], \"e33e\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V352c0-35.3-28.7-64-64-64H399.7L298 208.3c13.5-11.7 22-29 22-48.3V64c0-35.3-28.7-64-64-64H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zM192 125.2V64h64v96H236.4L192 125.2zM464 32c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V32zM240 320c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H240V320zm80 32v96c0 35.3 28.7 64 64 64h64c20.1 0 38.1-9.3 49.8-23.8l-51-40.2H384V398.5l-63.9-50.3c-.1 1.3-.1 2.5-.1 3.8z\"]\n};\nvar faSquareO = {\n prefix: 'fas',\n iconName: 'square-o',\n icon: [448, 512, [], \"e278\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 224a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\"]\n};\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M192 128c0-17.7 14.3-32 32-32s32 14.3 32 32v7.8c0 27.7-2.4 55.3-7.1 82.5l-84.4 25.3c-40.6 12.2-68.4 49.6-68.4 92v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c26.8-47 46.5-97.7 58.4-150.5l94.4-28.3-12.5 37.5c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96s-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm-9.2 177l49-14.7c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7zM24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368H24zm592 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H305.9c-6.7 16.3-14.2 32.3-22.3 48H616z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM312.6 63.7c-6.2-6.2-16.4-6.2-22.6 0L256 97.6 222.1 63.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l33.9 33.9-45.3 45.3-56.6-56.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6-45.3 45.3L86.3 199.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L97.6 256 63.7 289.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9 45.3 45.3-56.6 56.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6 45.3 45.3-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 414.4l33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-33.9-33.9 45.3-45.3 56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56.6-56.6 45.3-45.3 33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L414.4 256l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9-45.3-45.3 56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56.6 56.6-45.3-45.3 33.9-33.9c6.2-6.2 6.2-16.4 0-22.6zM142.9 256l45.3-45.3L233.4 256l-45.3 45.3L142.9 256zm67.9 67.9L256 278.6l45.3 45.3L256 369.1l-45.3-45.3zM278.6 256l45.3-45.3L369.1 256l-45.3 45.3L278.6 256zm22.6-67.9L256 233.4l-45.3-45.3L256 142.9l45.3 45.3z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z\"]\n};\nvar faAnchorLock = {\n prefix: 'fas',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8 0 15.9-.6 23.6-1.7c-4.8-9-7.6-19.3-7.6-30.3V446.7c-5.2 .9-10.5 1.3-16 1.3H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBuildingNgo = {\n prefix: 'fas',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM168 64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V80c0-8.8 7.2-16 16-16zM304 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V112zM61.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 132.8V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4z\"]\n};\nvar faTransporter3 = {\n prefix: 'fas',\n iconName: 'transporter-3',\n icon: [512, 512, [], \"e045\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM128 512h88 80 88c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32zM56.7 102.6C55.6 98.7 52.1 96 48 96s-7.6 2.7-8.7 6.6L32 128 6.6 135.3C2.7 136.4 0 139.9 0 144s2.7 7.6 6.6 8.7L32 160l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 160l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 128l-7.3-25.4zM480 32L472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faEngineWarning = {\n prefix: 'fas',\n iconName: 'engine-warning',\n icon: [640, 512, [\"engine-exclamation\"], \"f5f2\", \"M424 88c0 13.3-10.7 24-24 24l-72 0v32h81.5c14.5 0 28.6 4.9 40 14L488 188.8c15.2 12.1 24 30.5 24 50V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H128c-17.7 0-32-14.3-32-32V280H48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72H96V176c0-17.7 14.3-32 32-32l32 0 48 0 72 0V112l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24H400c13.3 0 24 10.7 24 24zM324 208c0-11-9-20-20-20s-20 9-20 20v88c0 11 9 20 20 20s20-9 20-20V208zM304 392a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM576 192h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faEngineExclamation = faEngineWarning;\nvar faCircleDownRight = {\n prefix: 'fas',\n iconName: 'circle-down-right',\n icon: [512, 512, [], \"e108\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm96 198.6V336c0 8.8-7.2 16-16 16H198.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16L216 280l-66.3-66.3C146 210 144 205.1 144 200s2-10 5.7-13.7l36.7-36.7c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L280 216l33.4-33.4c4.2-4.2 10-6.6 16-6.6c12.5 0 22.6 10.1 22.6 22.6z\"]\n};\nvar faSquareK = {\n prefix: 'fas',\n iconName: 'square-k',\n icon: [448, 512, [], \"e274\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM313.1 168.8l-73 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L206 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L278.9 135.2c9.3-9.5 24.5-9.6 33.9-.3s9.6 24.5 .3 33.9z\"]\n};\nvar faManatSign = {\n prefix: 'fas',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-17.7 0-32 14.3-32 32V98.7C69.2 113.9 0 192.9 0 288V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-59.6 40.8-109.8 96-124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V164c55.2 14.2 96 64.3 96 124V448c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-95.1-69.2-174.1-160-189.3V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faMoneyCheckPen = {\n prefix: 'fas',\n iconName: 'money-check-pen',\n icon: [640, 512, [\"money-check-edit\"], \"f872\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H330.5l6-23.9c2.8-11.3 8.6-21.5 16.8-29.7L534.6 213.1c11.6-11.6 26.3-18.5 41.4-20.5V128c0-35.3-28.7-64-64-64H64zm48 224H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 208c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm517.8 27.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faMoneyCheckEdit = faMoneyCheckPen;\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M369.8 37.4c14.7 9.8 18.7 29.7 8.9 44.4L337.1 144H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H294.5l-64 96H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H187.8l-65.2 97.7c-9.8 14.7-29.7 18.7-44.4 8.9s-18.7-29.7-8.9-44.4L110.9 368H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H153.5l64-96H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H260.2l65.2-97.7c9.8-14.7 29.7-18.7 44.4-8.9z\"]\n};\nvar faBorderTopLeft = {\n prefix: 'fas',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-336c0-8.8 7.2-16 16-16l336 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32C35.8 32 0 67.8 0 112L0 448zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'fas',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faTilde = {\n prefix: 'fas',\n iconName: 'tilde',\n icon: [448, 512, [63135], \"7e\", \"M99.9 192C80.1 192 64 208.1 64 227.9V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V227.9C0 172.7 44.7 128 99.9 128c26.5 0 51.9 10.5 70.6 29.3L322.7 309.5c6.7 6.7 15.9 10.5 25.4 10.5c19.8 0 35.9-16.1 35.9-35.9V192c0-17.7 14.3-32 32-32s32 14.3 32 32v92.1c0 55.2-44.7 99.9-99.9 99.9c-26.5 0-51.9-10.5-70.6-29.3L125.3 202.5c-6.7-6.7-15.9-10.5-25.4-10.5z\"]\n};\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M246 315.7l-21.2-31.9c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1l29.5 19.7c2.1 1.4 4.9 0 5-2.6L279.7 8c.1-4.5 3.8-8 8.3-8s8.1 3.5 8.3 8l9.4 281.9c.1 2.5 2.9 3.9 5 2.6l29.5-19.7c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1L330 315.7c-1.3 1.9-.2 4.5 2 4.9l37.6 7.5c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8L332 351.4c-2.2 .4-3.3 3-2 4.9l21.2 31.9c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1l-26.3-17.6c-2.2-1.4-5.1 .2-5 2.8l2.1 61.5C370.6 435.2 416 382.9 416 320c0-37-15.7-70.4-40.8-93.7c-7-6.5-6.5-18.6 1-24.4C410.1 175.5 432 134.3 432 88c0-16.8-2.9-33-8.2-48c-4.6-13 10.2-30 21.4-22c53.5 38 92.7 94.8 107.8 160.7c.5 2.1-.2 4.3-1.7 5.9l-28.4 28.4c-4 4-1.2 10.9 4.5 10.9h26c3.4 0 6.2 2.6 6.3 6c.1 3.3 .2 6.6 .2 10c0 17.5-1.7 34.7-4.8 51.3c-.2 1.2-.9 2.4-1.7 3.3l-46.5 46.5c-4 4-1.2 10.9 4.5 10.9H526c4.6 0 7.7 4.8 5.7 9C487.2 450.5 394.8 512 288 512S88.8 450.5 44.3 361c-2.1-4.2 1-9 5.7-9H64.5c5.7 0 8.6-6.9 4.5-10.9L22.6 294.6c-.9-.9-1.5-2-1.7-3.3C17.7 274.7 16 257.5 16 240c0-3.3 .1-6.7 .2-10c.1-3.4 2.9-6 6.3-6h26c5.7 0 8.6-6.9 4.5-10.9L24.6 184.6c-1.5-1.5-2.2-3.8-1.7-5.9C38.1 112.8 77.3 56 130.8 18c11.3-8 26 8.9 21.4 22c-5.3 15-8.2 31.2-8.2 48c0 46.3 21.9 87.5 55.8 113.9c7.5 5.8 8 17.9 1 24.4C175.7 249.6 160 283 160 320c0 62.9 45.4 115.2 105.1 126l2.1-61.5c.1-2.6-2.8-4.2-5-2.8l-26.3 17.6c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1L246 356.3c1.3-1.9 .2-4.5-2-4.9l-37.6-7.5c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l37.6-7.5c2.2-.4 3.3-3 2-4.9z\"]\n};\nvar faSquarePollVertical = {\n prefix: 'fas',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 192c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm64-64c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM320 288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32z\"]\n};\nvar faPoll = faSquarePollVertical;\nvar faArrowDownSquareTriangle = {\n prefix: 'fas',\n iconName: 'arrow-down-square-triangle',\n icon: [576, 512, [\"sort-shapes-down-alt\"], \"f889\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 72c0-22.1 17.9-40 40-40H472c22.1 0 40 17.9 40 40V184c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V72zM443.1 303l80 128c6.2 9.9 6.5 22.3 .9 32.5s-16.4 16.5-28 16.5H336c-11.6 0-22.3-6.3-28-16.5s-5.3-22.6 .9-32.5l80-128c5.8-9.4 16.1-15 27.1-15s21.3 5.7 27.1 15z\"]\n};\nvar faSortShapesDownAlt = faArrowDownSquareTriangle;\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M88 0C74.7 0 64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24c0-13.3-10.7-24-24-24zM32 192c-17.7 0-32 14.3-32 32V416c0 53 43 96 96 96H288c53 0 96-43 96-96h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 32zm352 64h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H384V256zM224 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z\"]\n};\nvar faDogLeashed = {\n prefix: 'fas',\n iconName: 'dog-leashed',\n icon: [576, 512, [129454], \"f6d4\", \"M122.7 4.1l160 144c6.6 5.9 7.1 16 1.2 22.6s-16 7.1-22.6 1.2l-160-144c-6.6-5.9-7.1-16-1.2-22.6s16-7.1 22.6-1.2zM144 192H256V383.3c-5.3 .5-10.6 .7-16 .7c-28.8 0-56-6.9-80-19.2V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192h30 16zM320 364.8c-10.1 5.2-20.8 9.4-32 12.6V208.1L416 262l0 218c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V364.8zM426.7 192l-6.2 37.2L305.9 180.9l26.8-161C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32h52.1c12.7 0 24.9 5.1 33.9 14.1L496 64h56c13.3 0 24 10.7 24 24v24c0 44.2-35.8 80-80 80H464 448 426.7zM448 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192zM80 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBatteryCar = faCarBattery;\nvar faFaceDowncastSweat = {\n prefix: 'fas',\n iconName: 'face-downcast-sweat',\n icon: [512, 512, [], \"e371\", \"M35.2 126.3c4.1 1.1 8.4 1.7 12.8 1.7c26.5 0 48-21 48-47c0-5-1.8-11.3-4.6-18.1c-.3-.7-.6-1.4-.9-2.1c-8.9-20.2-26.5-44.9-36-57.5c-3.2-4.4-9.6-4.4-12.8 0C28.6 20.6 0 61 0 81c0 21.7 14.9 39.8 35.2 45.3zM256 0c-51.4 0-99.3 15.2-139.4 41.2c1.5 3.1 3 6.2 4.3 9.3c3.4 8 7.1 19 7.1 30.5c0 44.3-36.6 79-80 79c-9.6 0-18.8-1.7-27.4-4.8C7.3 186.2 0 220.2 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM195.9 410.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7zM96 272c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm208-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMailboxFlagUp = {\n prefix: 'fas',\n iconName: 'mailbox-flag-up',\n icon: [576, 512, [], \"e5bb\", \"M400 16c-29.8 0-54.9 20.4-62 48H245.2C290.4 95.9 320 148.5 320 208V384c0 24.6-9.2 47-24.4 64H512c35.3 0 64-28.7 64-64V208c0-42.6-18.5-81-48-107.3V80c0-35.3-28.7-64-64-64H400zm0 208c-8.8 0-16-7.2-16-16V112 80c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H416v80c0 8.8-7.2 16-16 16zM0 208V384c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V208c0-79.5-64.5-144-144-144S0 128.5 0 208zm64 0c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16z\"]\n};\nvar faMemoCircleInfo = {\n prefix: 'fas',\n iconName: 'memo-circle-info',\n icon: [576, 512, [], \"e49a\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V198.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm64 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm352-96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 48c0 8.8 7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]\n};\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M190.5 68.8L225.3 128H224 152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40zM32 288V464c0 26.5 21.5 48 48 48H224V288H32zM288 512H432c26.5 0 48-21.5 48-48V288H288V512z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faVolume = {\n prefix: 'fas',\n iconName: 'volume',\n icon: [576, 512, [128265, \"volume-medium\"], \"f6a8\", \"M333.1 34.8C344.6 40 352 51.4 352 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L163.8 352H96c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L298.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zm172 72.2c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C507.3 341.3 528 301.1 528 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C466.1 199.1 480 225.9 480 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C425.1 284.4 432 271 432 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5z\"]\n};\nvar faVolumeMedium = faVolume;\nvar faTransporter5 = {\n prefix: 'fas',\n iconName: 'transporter-5',\n icon: [512, 512, [], \"e2a6\", \"M480 32l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 64l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 64l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 32l7.3-25.4C456.4 2.7 459.9 0 464 0s7.6 2.7 8.7 6.6L480 32zM56.7 134.6L64 160l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 192l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 192 6.6 184.7C2.7 183.6 0 180.1 0 176s2.7-7.6 6.6-8.7L32 160l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM384 512H296 216 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32zM224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zM176 128H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 128H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faGaugeCircleBolt = {\n prefix: 'fas',\n iconName: 'gauge-circle-bolt',\n icon: [640, 512, [], \"e496\", \"M496 192c2.7 0 5.3 .1 8 .2C475.6 81.7 375.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c39.5 0 77-9 110.4-25C337.6 455.7 320 413.9 320 368c0-97.2 78.8-176 176-176zM320 352c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V88c0-13.3 10.7-24 24-24s24 10.7 24 24V292.7c23.5 9.5 40 32.5 40 59.3zM144 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM336 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L516.4 356H552c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L475.6 380H440c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faCoinFront = {\n prefix: 'fas',\n iconName: 'coin-front',\n icon: [512, 512, [], \"e3fc\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 352a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm24-264c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faFileSlash = {\n prefix: 'fas',\n iconName: 'file-slash',\n icon: [640, 512, [], \"e3a7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V160H384c-17.7 0-32-14.3-32-32V0H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zM128 196.9V448c0 35.3 28.7 64 64 64H448c20.1 0 38.1-9.3 49.8-23.8L128 196.9zM512 128L384 0V128H512z\"]\n};\nvar faMessageArrowUpRight = {\n prefix: 'fas',\n iconName: 'message-arrow-up-right',\n icon: [512, 512, [], \"e1dd\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm200 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24H200z\"]\n};\nvar faTreasureChest = {\n prefix: 'fas',\n iconName: 'treasure-chest',\n icon: [576, 512, [], \"f723\", \"M0 160v96H128V32C57.3 32 0 89.3 0 160zM0 432c0 26.5 21.5 48 48 48h80V288H0V432zM416 288H352v32c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V288H160V480H416V288zM528 480c26.5 0 48-21.5 48-48V288H448V480h80zm48-320c0-70.7-57.3-128-128-128V256H576V160zM416 256V32H160V256h64V224c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v32h64zM304 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 0a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM134.1 143.8c3.3-13 15-23.8 30.2-23.8c12.3 0 22.6 7.2 27.7 17c12 23.2 36.2 39 64 39s52-15.8 64-39c5.1-9.8 15.4-17 27.7-17c15.3 0 27 10.8 30.2 23.8c7 27.8 32.2 48.3 62.1 48.3c10.8 0 21-2.7 29.8-7.4c8.4-4.4 18.9-4.5 27.6 .9c13 8 17.1 25 9.2 38L399.7 400H384 343.6 168.4 128 112.3L5.4 223.6c-7.9-13-3.8-30 9.2-38c8.7-5.3 19.2-5.3 27.6-.9c8.9 4.7 19 7.4 29.8 7.4c29.9 0 55.1-20.5 62.1-48.3zM256 224l0 0 0 0h0zM112 432H400l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H86.6C74.1 512 64 501.9 64 489.4c0-6 2.4-11.8 6.6-16L112 432z\"]\n};\nvar faPaintbrushFine = {\n prefix: 'fas',\n iconName: 'paintbrush-fine',\n icon: [576, 512, [\"paint-brush-alt\", \"paint-brush-fine\", \"paintbrush-alt\"], \"f5a9\", \"M559.6 16.4c21.9 21.9 21.9 57.3 0 79.2L306.9 348.3l-79.2-79.2L480.4 16.4c21.9-21.9 57.3-21.9 79.2 0zM205.1 291.7l79.2 79.2-.1 .1c2.5 9.3 3.8 19 3.8 29c0 61.9-50.1 112-112 112H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h4.8c17.6 0 29.6-18.9 27.8-36.4c-.4-3.8-.6-7.7-.6-11.6c0-61.9 50.1-112 112-112c10 0 19.8 1.3 29 3.8l.1-.1z\"]\n};\nvar faPaintBrushAlt = faPaintbrushFine;\nvar faPaintBrushFine = faPaintbrushFine;\nvar faPaintbrushAlt = faPaintbrushFine;\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57 260.3c20.5-6.2 48.3-12.3 78.7-12.3c32.3 0 61.8 6.9 82.8 13.5c10.6 3.3 19.3 6.7 25.4 9.2c3.1 1.3 5.5 2.4 7.3 3.2c.9 .4 1.6 .7 2.1 1l.6 .3 .2 .1 .1 0 0 0 0 0s0 0-6.3 12.7h0l6.3-12.7c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.3 7.7-9.8 13.5-12.7l6.3 12.7h0c-6.3-12.7-6.3-12.7-6.3-12.7l0 0 0 0 .1 0 .2-.1 .6-.3c.5-.2 1.2-.6 2.1-1c1.8-.8 4.2-1.9 7.3-3.2c6.1-2.6 14.8-5.9 25.4-9.2c21-6.6 50.4-13.5 82.8-13.5c30.4 0 58.2 6.1 78.7 12.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.1c.3 1.9 .5 3.8 .5 5.7v6.7V352v16c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM64 325.4V368c0 26.5 21.5 48 48 48h44.3c25.5 0 46.5-19.9 47.9-45.3l2.5-45.6c-2.3-.8-4.9-1.7-7.5-2.5c-17.2-5.4-39.9-10.5-63.6-10.5c-23.7 0-46.2 5.1-63.2 10.5c-3.1 1-5.9 1.9-8.5 2.9zM512 368V325.4c-2.6-.9-5.5-1.9-8.5-2.9c-17-5.4-39.5-10.5-63.2-10.5c-23.7 0-46.4 5.1-63.6 10.5c-2.7 .8-5.2 1.7-7.5 2.5l2.5 45.6c1.4 25.4 22.5 45.3 47.9 45.3H464c26.5 0 48-21.5 48-48z\"]\n};\nvar faHoodCloak = {\n prefix: 'fas',\n iconName: 'hood-cloak',\n icon: [576, 512, [], \"f6ef\", \"M432 0H288h0c-9.8 0-66 0-120.2 37.7C111.4 76.9 64 151.8 64 288c0 58.5-14.6 101.6-28.6 129.7c-7 14.1-14 24.5-19 31.1c-2.5 3.3-4.5 5.7-5.7 7.1c-.6 .7-1.1 1.2-1.3 1.4l-.2 .2c-9 9.1-11.7 22.8-6.8 34.7c5 12 16.6 19.8 29.6 19.8h96V320c0-88.4 71.6-160 160-160s160 71.6 160 160V512h96c12.9 0 24.6-7.8 29.6-19.8c4.9-11.9 2.2-25.6-6.8-34.7l0 0 0 0 0 0-.1-.1c-.2-.2-.7-.7-1.3-1.4c-1.3-1.4-3.2-3.8-5.7-7.1c-5-6.6-11.9-17-19-31.1C526.6 389.6 512 346.5 512 288c0-103.1-46.5-172.8-95.8-217.2l32-29c7.3-6.7 9.8-17.2 6.2-26.4S441.9 0 432 0zM416 512V320c0-70.7-57.3-128-128-128s-128 57.3-128 128V512H416z\"]\n};\nvar faSquareQuote = {\n prefix: 'fas',\n iconName: 'square-quote',\n icon: [448, 512, [], \"e329\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 128h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V272H128c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm224 80v39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V272H272c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24z\"]\n};\nvar faUpLeft = {\n prefix: 'fas',\n iconName: 'up-left',\n icon: [384, 512, [], \"e2bd\", \"M48 80H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-72 72L372.7 340.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3l-41.4 41.4c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3L142.6 302.6l-72 72c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V112c0-17.7 14.3-32 32-32z\"]\n};\nvar faBringFront = {\n prefix: 'fas',\n iconName: 'bring-front',\n icon: [640, 512, [], \"f857\", \"M64 64h64 32 32 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64h64V192H64V64zM480 448H448 384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H512v64h64V448H512 480zM224 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H224z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 64v64h64V96h64v64h64V96h64v64H320v64h64v64H320v64h64v64H320V352H256v64H192V352H128v64H64V352h64V288H64V224h64V160H64V96h64zm64 128h64V160H192v64zm0 64V224H128v64h64zm64 0H192v64h64V288zm0 0h64V224H256v64z\"]\n};\nvar faBurgerCheese = {\n prefix: 'fas',\n iconName: 'burger-cheese',\n icon: [512, 512, [127828, \"cheeseburger\"], \"f7f1\", \"M32 194.9C32 211 45 224 61.1 224H450.9c16.1 0 29.1-13 29.1-29.1c0-1.9-.2-3.7-.6-5.6C474.1 168.3 433.2 32 256 32S37.9 168.3 32.6 189.3c-.5 1.9-.6 3.7-.6 5.6zM128 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm240 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM256 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM32 400v16c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V400c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM234 262.7c-6.5-4.4-14.2-6.7-22.1-6.7H208l-.1 0H64c-26.5 0-48 21.5-48 48s21.5 48 48 48H448c26.5 0 48-21.5 48-48s-21.5-48-48-48H432.1l-.1 0h-3.9c-7.9 0-15.6 2.3-22.1 6.7l-68.2 45.5c-10.7 7.2-24.8 7.2-35.5 0L234 262.7z\"]\n};\nvar faCheeseburger = faBurgerCheese;\nvar faBuildingCircleCheck = {\n prefix: 'fas',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faRepeat1 = {\n prefix: 'fas',\n iconName: 'repeat-1',\n icon: [512, 512, [128258], \"f365\", \"M32 256c-17.7 0-32-14.3-32-32C0 135.6 71.6 64 160 64H320V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V128H160c-53 0-96 43-96 96c0 17.7-14.3 32-32 32zm448 0c17.7 0 32 14.3 32 32c0 88.4-71.6 160-160 160H192v32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32H352c53 0 96-43 96-96c0-17.7 14.3-32 32-32zM288 216v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c-10 0-19.4-6.4-22.8-16.4c-4.2-12.6 2.6-26.2 15.2-30.4l24-8c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5z\"]\n};\nvar faArrowDownToLine = {\n prefix: 'fas',\n iconName: 'arrow-down-to-line',\n icon: [384, 512, [\"arrow-to-bottom\"], \"f33d\", \"M32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32zM214.6 342.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 242.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V242.7l73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128z\"]\n};\nvar faArrowToBottom = faArrowDownToLine;\nvar faGrid5 = {\n prefix: 'fas',\n iconName: 'grid-5',\n icon: [448, 512, [], \"e199\", \"M0 48c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H16C7.2 96 0 88.8 0 80V48zm0 96c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V144zm16 80H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM0 336c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V336zm16 80H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V48zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM96 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM96 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V432zM208 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM192 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM192 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM288 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V48zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM288 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM288 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V432zM400 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM384 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM384 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16z\"]\n};\nvar faRightLongToLine = {\n prefix: 'fas',\n iconName: 'right-long-to-line',\n icon: [640, 512, [], \"e444\", \"M640 96V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32zM360.5 409.4c-7 6.6-17.2 8.4-26 4.6s-14.5-12.5-14.5-22V320L32 320c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32l288 0V120c0-9.6 5.7-18.2 14.5-22s19-2 26 4.6l144 136c4.8 4.5 7.5 10.8 7.5 17.4s-2.7 12.9-7.5 17.4l-144 136z\"]\n};\nvar faPersonChalkboard = {\n prefix: 'fas',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V192h56 64 16c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64H576V256H384V224H320v48c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMarsStrokeRight = {\n prefix: 'fas',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M208 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm174.4-88C370.7 365.8 297.1 432 208 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c89.1 0 162.7 66.2 174.4 152H416V176c0-13.3 10.7-24 24-24s24 10.7 24 24v56h32V176c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V280H464v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H382.4z\"]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'fas',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 0C117.5 0 96 21.5 96 48V96v28.5V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V149.3l-9 7.5C40.4 169 32 187 32 206V244c0 38 16.9 74 46.1 98.3L128 384v96c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V374.7c46.9-19 80-65 80-118.7V176 160 144c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 83.5 329.3 64 304 64c-12.4 0-23.6 4.7-32.1 12.3C270 51.5 249.3 32 224 32c-12.4 0-23.6 4.7-32.1 12.3C190 19.5 169.3 0 144 0z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faGridRound5 = {\n prefix: 'fas',\n iconName: 'grid-round-5',\n icon: [448, 512, [], \"e5de\", \"M64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zm0 96A32 32 0 1 1 0 160a32 32 0 1 1 64 0zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64A32 32 0 1 1 0 352a32 32 0 1 1 64 0zM32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM160 64A32 32 0 1 1 96 64a32 32 0 1 1 64 0zM128 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faTally = {\n prefix: 'fas',\n iconName: 'tally',\n icon: [640, 512, [\"tally-5\"], \"f69c\", \"M128 32c17.7 0 32 14.3 32 32V275.6l64-21.3V64c0-17.7 14.3-32 32-32s32 14.3 32 32V232.9l64-21.3V64c0-17.7 14.3-32 32-32s32 14.3 32 32V190.3l64-21.3V64c0-17.7 14.3-32 32-32s32 14.3 32 32v83.6l53.9-18c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L544 215.1V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V236.4l-64 21.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V279.1l-64 21.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V321.7l-64 21.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V364.4l-53.9 18c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5L96 296.9V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faTally5 = faTally;\nvar faSquareCaretUp = {\n prefix: 'fas',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H120c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'fas',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M224 0c38.6 0 71.9 22.8 87.2 55.7C325.7 41.1 345.8 32 368 32c38.7 0 71 27.5 78.4 64H448c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64c0-53 43-96 96-96zM140.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm327.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM252.6 292.3l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2s15.1 21.6 8.2 32.9zm103.8-32.9c11.4 6.8 15 21.6 8.2 32.9l-48 80c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9l48-80c6.8-11.4 21.6-15.1 32.9-8.2zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'fas',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", \"M416 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 464a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM32 160l.1 72.6c.1 52.2 24 101 64 133.1c-.1-1.9-.1-3.8-.1-5.7v-8c0-71.8 37-138.6 97.9-176.7l60.2-37.6c8.6-5.4 17.9-8.4 27.3-9.4l45.9-79.5c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8l-78 135.1c-3.3 5.7-10.7 7.7-16.4 4.4s-7.7-10.7-4.4-16.4l62-107.4c6.6-11.5 2.7-26.2-8.8-32.8S214 5 207.4 16.5l-68 117.8 0 0 0 0-43.3 75L96 160c0-17.7-14.4-32-32-32s-32 14.4-32 32zM332.1 88.5L307.5 131c13.9 4.5 26.4 13.7 34.7 27c.9 1.5 1.7 2.9 2.5 4.4l28.9-50c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zm46.4 63.7l-26.8 46.4c-.6 6-2.1 11.8-4.3 17.4H352h13.3l0 0H397l23-39.8c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zM315.1 175c-9.4-15-29.1-19.5-44.1-10.2l-60.2 37.6C159.3 234.7 128 291.2 128 352v8c0 8.9 .8 17.6 2.2 26.1c35.4 8.2 61.8 40 61.8 77.9c0 6.3-.7 12.5-2.1 18.4C215.1 501 246.3 512 280 512H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H352l0 0 0 0H258.8L305 219.1c15-9.4 19.5-29.1 10.2-44.1z\"]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M395.9 93.7c16.4-6.6 24.4-25.2 17.8-41.6s-25.2-24.4-41.6-17.8l-320 128C40 167.1 32 178.9 32 192s8 24.9 20.1 29.7l320 128c16.4 6.6 35-1.4 41.6-17.8s-1.4-35-17.8-41.6L150.2 192 395.9 93.7zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96zM224 288a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faUpFromDottedLine = {\n prefix: 'fas',\n iconName: 'up-from-dotted-line',\n icon: [448, 512, [], \"e456\", \"M73.9 166.1L196.7 43.3C203.9 36.1 213.8 32 224 32s20.1 4.1 27.3 11.3L374.1 166.1c6.4 6.4 9.9 15 9.9 24c0 18.7-15.2 33.9-33.9 33.9H288V352c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V224H97.9C79.2 224 64 208.8 64 190.1c0-9 3.6-17.6 9.9-24zM32 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faEyeLowVision = {\n prefix: 'fas',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223 149.5c48.6-44.3 123-50.8 179.3-11.7c60.8 42.4 78.9 123.2 44.2 186.9L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3L223 149.5zm223.1 298L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8zM34.5 268.3c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5z\"]\n};\nvar faLowVision = faEyeLowVision;\nvar faTrafficLightGo = {\n prefix: 'fas',\n iconName: 'traffic-light-go',\n icon: [320, 512, [], \"f638\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-200a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 72a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM136 112a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm72 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faFaceExhaling = {\n prefix: 'fas',\n iconName: 'face-exhaling',\n icon: [576, 512, [], \"e480\", \"M256 512c55.8 0 107.4-17.9 149.5-48.2c-10.5-9.3-17.9-22.1-20.5-36.5l-42.2-12.7C329.3 410.6 320 398.1 320 384s9.3-26.6 22.8-30.6L385 340.7c5.3-30 31.5-52.7 63-52.7c.7 0 1.4 0 2.1 0c13.2-14.7 32.3-24 53.7-24c2.7 0 5.4 .2 8.1 .5c.1-2.8 .1-5.6 .1-8.5C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM195.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm121.6 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM256 344a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm287.4-5.5c.1-.8 .1-1.7 .1-2.5c0-22.1-17.9-40-39.9-40c-16.9 0-31.4 10.5-37.2 25.4c-3.3-.9-6.9-1.4-10.5-1.4c-22.1 0-39.9 17.9-39.9 40l-56.1 14.1c-4.6 1.1-7.8 5.2-7.8 9.9s3.2 8.8 7.8 9.9l56.9 14.2c-.5 2.5-.8 5.1-.8 7.8c0 22.1 17.9 40 39.9 40c4.9 0 9.6-.9 14-2.5c7.1 11.1 19.5 18.5 33.7 18.5c22.1 0 39.9-17.9 39.9-40c0-.8 0-1.7-.1-2.5c19-6.4 32.6-24.4 32.6-45.5s-13.6-39.1-32.6-45.5z\"]\n};\nvar faSensorFire = {\n prefix: 'fas',\n iconName: 'sensor-fire',\n icon: [640, 512, [], \"e02a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-35.2 16.3-73.6 37.2-107.4c21.7-35.2 51.9-71.2 87.3-102.8c10-8.9 23-12.8 35.5-11.7V96c0-35.3-28.7-64-64-64H64zm48 88V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm245.5 43.6c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8C332.7 291.3 320 325.6 320 352c0 87.8 70.3 159.8 160 159.8c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 432.9c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faUserUnlock = {\n prefix: 'fas',\n iconName: 'user-unlock',\n icon: [640, 512, [], \"e058\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c43.6 0 83.6 15.7 114.6 41.7c-.2 2.1-.3 4.2-.3 6.3V480c0 11.7 3.1 22.6 8.6 32H29.7C13.3 512 0 498.7 0 482.3zM496 272v48h16 48 48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272c0-44.2 35.8-80 80-80s80 35.8 80 80H560c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faHexagonDivide = {\n prefix: 'fas',\n iconName: 'hexagon-divide',\n icon: [512, 512, [], \"e1ad\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM256 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-88 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar fa00 = {\n prefix: 'fas',\n iconName: '00',\n icon: [640, 512, [], \"e467\", \"M144 32C64.5 32 0 96.5 0 176V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM64 176c0-44.2 35.8-80 80-80s80 35.8 80 80V336c0 44.2-35.8 80-80 80s-80-35.8-80-80V176zM496 32c-79.5 0-144 64.5-144 144V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM416 176c0-44.2 35.8-80 80-80s80 35.8 80 80V336c0 44.2-35.8 80-80 80s-80-35.8-80-80V176z\"]\n};\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M456 0c-48.6 0-88 39.4-88 88v29.2L12.5 390.6c-14 10.8-16.6 30.9-5.9 44.9s30.9 16.6 44.9 5.9L126.1 384H259.2l46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384H352c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192V128v-8l80.5-20.1c8.6-2.1 13.8-10.8 11.6-19.4C629 52 603.4 32 574 32H523.9C507.7 12.5 483.3 0 456 0zm0 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCassetteBetamax = {\n prefix: 'fas',\n iconName: 'cassette-betamax',\n icon: [576, 512, [\"betamax\"], \"f8a4\", \"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM576 160H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160zM192 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 320a96 96 0 1 1 192 0A96 96 0 1 1 64 320zm256-64c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V256z\"]\n};\nvar faBetamax = faCassetteBetamax;\nvar faSailboat = {\n prefix: 'fas',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6H272c-8.8 0-16-7.2-16-16V16zM212.1 96.5c7 1.9 11.9 8.2 11.9 15.5V336c0 8.8-7.2 16-16 16H80c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5zM5.7 404.3C2.8 394.1 10.5 384 21.1 384H554.9c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512H133C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 64H208c-8.8 0-16 7.2-16 16V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V320h16c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm64 32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faNfcMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'nfc-magnifying-glass',\n icon: [640, 512, [], \"e1f9\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v64c-22.8 0-44.4 4.8-64 13.3V144c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v66.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V144c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16v48c-38.9 29.2-64 75.7-64 128c0 22.8 4.8 44.4 13.3 64H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H320c21.6 28.8 52.7 50 88.6 59.1c-7.6 3.2-15.9 4.9-24.6 4.9H64c-35.3 0-64-28.7-64-64V96zM448 400.2a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0 48c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426c-20.5 14-45.3 22.1-71.9 22.1z\"]\n};\nvar faFileBinary = {\n prefix: 'fas',\n iconName: 'file-binary',\n icon: [384, 512, [], \"e175\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48zM96 304v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm144-48h32c8.8 0 16 7.2 16 16V384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H272 240c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V288H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCircleV = {\n prefix: 'fas',\n iconName: 'circle-v',\n icon: [512, 512, [], \"e12a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM173.5 157.3L256 322.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7z\"]\n};\nvar faSquarePlus = {\n prefix: 'fas',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faBowlScoops = {\n prefix: 'fas',\n iconName: 'bowl-scoops',\n icon: [448, 512, [127813], \"e3df\", \"M224 208c0 5.4 .4 10.8 1.1 16H446.9c.7-5.2 1.1-10.6 1.1-16c0-61.9-50.1-112-112-112l-1.1 0c-38.7 .4-72.7 20.4-92.6 50.6C230.7 164.2 224 185.3 224 208zM0 208c0 5.4 .4 10.8 1.1 16H192.9c-.6-5.3-.9-10.6-.9-16c0-22 4.9-42.8 13.7-61.4c-13.9-21.2-34.9-37.4-59.6-45.3C135.4 97.9 123.9 96 112 96C50.1 96 0 146.1 0 208zM325.4 64.4C307.5 26.3 268.8 0 224 0s-83.5 26.3-101.4 64.4c40.9 3 77.1 23 101.4 53.1c24.3-30.1 60.5-50.1 101.4-53.1zM16 256c-4.6 0-9 2-12 5.4s-4.5 8-3.9 12.6l2 15.9C11.1 361.9 72.4 416 145 416h40.4l-68.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H320c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4L262.6 416H303c72.6 0 133.9-54.1 142.9-126.1l2-15.9c.6-4.6-.8-9.1-3.9-12.6s-7.4-5.4-12-5.4H16z\"]\n};\nvar faMistletoe = {\n prefix: 'fas',\n iconName: 'mistletoe',\n icon: [576, 512, [], \"f7b4\", \"M312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v94.1l-98 98L91.3 230.4C38.3 240.6 0 287 0 341c0 41.4 33.6 75 75 75c50.5 0 94.3-33.5 108.1-81.2c7.2 10.4 19.3 17.2 32.9 17.2c22.1 0 40-17.9 40-40s-17.9-40-40-40c-7.9 0-15.3 2.3-21.5 6.3l5.4-28.2L264 185.9v72.4c14.7 13.2 24 32.3 24 53.7c0 39.8-32.2 72-72 72c-7.2 0-14.2-1.1-20.8-3c-2.1 8.4-3.2 17.1-3.2 25.9V416c0 53 43 96 96 96s96-43 96-96v-9.1c0-25.1-9-49.4-25.3-68.4L312 284V185.9L376.1 250l14.4 74.7C400.6 377.7 447 416 501 416c41.4 0 75-33.6 75-75c0-54-38.3-100.3-91.3-110.5L410 216.1l-98-98V24zm64 88a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faCustard = {\n prefix: 'fas',\n iconName: 'custard',\n icon: [576, 512, [127854], \"e403\", \"M396.7 64c30 0 56 20.8 62.5 50.1l13.5 60.8C450.9 167.4 423.5 160 400 160c-26.4 0-45.8 9.4-62.2 17.2l-.7 .3c-16.7 8-30.4 14.4-49.1 14.4s-32.3-6.4-49.1-14.4l-.7-.3C221.8 169.4 202.4 160 176 160c-23.5 0-50.9 7.4-72.6 14.9l13.5-60.8C123.4 84.8 149.3 64 179.3 64H396.7zM64.3 350.9L95.1 212.1c4.1-1.6 8.5-3.3 13.2-5c22-7.9 47.8-15.1 67.7-15.1c18.7 0 32.3 6.4 49.1 14.4l.7 .3c16.4 7.9 35.8 17.2 62.2 17.2s45.8-9.4 62.2-17.2l.7-.3c16.7-8 30.4-14.4 49.1-14.4c19.8 0 45.6 7.2 67.7 15.1c4.7 1.7 9.2 3.4 13.2 5L512 352 64.3 350.9zM32 384H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faLacrosseStick = {\n prefix: 'fas',\n iconName: 'lacrosse-stick',\n icon: [512, 512, [], \"e3b5\", \"M336 64v0c.1 0 .2 0 .3 0c19.9 0 48.1 13.6 73.1 38.6s38.6 53.2 38.6 73.1c0 .1 0 .2 0 .3h0c0 33.1-21.9 62.1-53.7 71.2l-11.5 3.3c-19.6 5.6-37.9 15.1-53.9 27.8L294 306.2c-11.1 8.9-25 13.8-39.2 13.8c-34.7 0-62.8-28.1-62.8-62.8c0-14.3 4.9-28.1 13.8-39.2l27.9-34.9c12.8-15.9 22.2-34.3 27.8-53.9l3.3-11.5C273.9 85.9 302.9 64 336 64zm0-64V0C274.4 0 220.2 40.9 203.3 100.1L200 111.7c-3.3 11.5-8.8 22.2-16.2 31.5l-27.9 34.9c-18 22.5-27.8 50.4-27.8 79.2c0 23.4 6.3 45.3 17.4 64.1l-136 136c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l136-136c18.8 11.1 40.7 17.4 64.1 17.4c28.8 0 56.7-9.8 79.2-27.8l34.9-27.9c9.3-7.4 20-13 31.5-16.2l11.5-3.3C471.1 291.8 512 237.6 512 176h0c0-.1 0-.2 0-.3c0-43.8-26.4-87.4-57.3-118.4S380.1 0 336.3 0c-.1 0-.2 0-.3 0z\"]\n};\nvar faHockeyMask = {\n prefix: 'fas',\n iconName: 'hockey-mask',\n icon: [448, 512, [], \"f6ee\", \"M0 240C0 111 64 0 224 0S448 111 448 240c0 192-48 272-224 272S0 432 0 240zM160 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM176 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72-104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM312 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM272 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 272c35.3 0 64-28.7 64-64c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64zm256-64c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faSunrise = {\n prefix: 'fas',\n iconName: 'sunrise',\n icon: [576, 512, [127749], \"f766\", \"M354.5 135.7L320 104.3V208c0 17.7-14.3 32-32 32s-32-14.3-32-32V104.3l-34.5 31.3c-13.1 11.9-33.3 10.9-45.2-2.2s-10.9-33.3 2.2-45.2l88-80c12.2-11.1 30.8-11.1 43.1 0l88 80c13.1 11.9 14 32.1 2.2 45.2s-32.1 14-45.2 2.2zm39.1 89.5c5 2.1 8.6 6.6 9.6 11.9L423 345l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L512 432H406.7c-19-46.9-65-80-118.7-80s-99.7 33.1-118.7 80H64L34.8 389.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L153 345l19.8-107.9c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L288 289.1l90.3-62.3c4.5-3.1 10.2-3.7 15.2-1.6zM0 488c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPanelEws = {\n prefix: 'fas',\n iconName: 'panel-ews',\n icon: [512, 512, [], \"e42e\", \"M64 0C28.7 0 0 28.7 0 64V288H16c44.2 0 80 35.8 80 80v16c0 17.7 14.3 32 32 32s32-14.3 32-32V352c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V368c0-26.5-21.5-48-48-48H0V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm48 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 128h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 128h64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]\n};\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M0 80c0 26.5 21.5 48 48 48H64v64h64V128h96v64h64V128h96v64h64V128h16c26.5 0 48-21.5 48-48V13.4C512 6 506 0 498.6 0c-1.7 0-3.4 .3-5 1l-49 19.6C425.7 28.1 405.5 32 385.2 32H126.8c-20.4 0-40.5-3.9-59.4-11.4L18.4 1c-1.6-.6-3.3-1-5-1C6 0 0 6 0 13.4V80zM64 288V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288H384V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64z\"]\n};\nvar faCloudExclamation = {\n prefix: 'fas',\n iconName: 'cloud-exclamation',\n icon: [640, 512, [], \"e491\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM320 160c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faMessageLines = {\n prefix: 'fas',\n iconName: 'message-lines',\n icon: [512, 512, [\"comment-alt-lines\"], \"f4a6\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm152 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\"]\n};\nvar faCommentAltLines = faMessageLines;\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9c0 21.8-11.7 41.9-30.7 52.7L400.8 323.5 493.3 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7c-40.6-40.6-106.3-40.6-146.9-.1L101 324.4c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6 .6l73.8-70.2 .1-.1 .1-.1c3.5-3.5 7.3-6.6 11.3-9.2c27.9-18.5 65.9-15.4 90.5 9.2c24.7 24.7 27.7 62.9 9 90.9c-2.6 3.8-5.6 7.5-9 10.9L261.8 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5C296.2 60.2 328.8 32 368 32zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBucket = {\n prefix: 'fas',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 152v8H48v-8C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v8H352v-8c0-57.4-46.6-104-104-104H200C142.6 48 96 94.6 96 152zM0 224c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32h-5.1L388.5 469c-2.6 24.4-23.2 43-47.7 43H107.2c-24.6 0-45.2-18.5-47.7-43L37.1 256H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faFloppyDiskPen = {\n prefix: 'fas',\n iconName: 'floppy-disk-pen',\n icon: [576, 512, [], \"e182\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H258.5l14-55.9c2.8-11.3 8.6-21.5 16.8-29.7L448 235.6V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm325.8-52.2c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 417.1c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 358.8l-71-71L311.9 417.1z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWindowFrame = {\n prefix: 'fas',\n iconName: 'window-frame',\n icon: [512, 512, [129695], \"e04f\", \"M32 256V64C32 28.7 60.7 0 96 0H416c35.3 0 64 28.7 64 64V256 448c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V256zm384 32H280V448H416V288zm-184 0H96V448H232V288zm48-64H416V64H280V224zM232 64H96V224H232V64z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M192 0C139 0 96 43 96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faCow = {\n prefix: 'fas',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M96 224v32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V327.8c9.9 6.6 20.6 12 32 16.1V368c0 8.8 7.2 16 16 16s16-7.2 16-16V351.1c5.3 .6 10.6 .9 16 .9s10.7-.3 16-.9V368c0 8.8 7.2 16 16 16s16-7.2 16-16V343.8c11.4-4 22.1-9.4 32-16.1V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256l32 32v49.5c0 9.5 2.8 18.7 8.1 26.6L530 427c8.8 13.1 23.5 21 39.3 21c22.5 0 41.9-15.9 46.3-38l20.3-101.6c2.6-13-.3-26.5-8-37.3l-3.9-5.5V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v14.4l-52.9-74.1C496 86.5 452.4 64 405.9 64H272 256 192 144C77.7 64 24 117.7 24 184v54C9.4 249.8 0 267.8 0 288v17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4V256 224 184c0-24.3 12.1-45.8 30.5-58.9C98.3 135.9 96 147.7 96 160v64zM560 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM166.6 166.6c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H361.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16l-23.4 23.4C332.2 211.8 302.7 224 272 224s-60.2-12.2-81.9-33.9l-23.4-23.4z\"]\n};\nvar faFileZip = {\n prefix: 'fas',\n iconName: 'file-zip',\n icon: [512, 512, [], \"e5ee\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H240c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM240 352h64c5.5 0 10.7 2.9 13.6 7.6s3.2 10.6 .7 15.6L265.9 480H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6L278.1 384H240c-8.8 0-16-7.2-16-16s7.2-16 16-16zm144 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16zm32 0c0-8.8 7.2-16 16-16h24c30.9 0 56 25.1 56 56s-25.1 56-56 56h-8v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368zm32 64h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48z\"]\n};\nvar faSquareRing = {\n prefix: 'fas',\n iconName: 'square-ring',\n icon: [448, 512, [], \"e44f\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 224a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zm96 160a160 160 0 1 1 0-320 160 160 0 1 1 0 320z\"]\n};\nvar faDownFromLine = {\n prefix: 'fas',\n iconName: 'down-from-line',\n icon: [384, 512, [\"arrow-alt-from-top\"], \"f349\", \"M41.9 345.9L164.7 468.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3L342.1 345.9c6.4-6.4 9.9-15 9.9-24c0-18.7-15.2-33.9-33.9-33.9H256V160c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32V288H65.9C47.2 288 32 303.2 32 321.9c0 9 3.6 17.6 9.9 24zM32 96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96z\"]\n};\nvar faArrowAltFromTop = faDownFromLine;\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nvar faShieldXmark = {\n prefix: 'fas',\n iconName: 'shield-xmark',\n icon: [512, 512, [\"shield-times\"], \"e24c\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faShieldTimes = faShieldXmark;\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v54.1l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192H408c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z\"]\n};\nvar faCircleSortDown = {\n prefix: 'fas',\n iconName: 'circle-sort-down',\n icon: [512, 512, [\"sort-circle-down\"], \"e031\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM267.3 411.3c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96zm0-310.6l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0zM313.4 192L256 134.6 198.6 192H313.4z\"]\n};\nvar faSortCircleDown = faCircleSortDown;\nvar faFolderClosed = {\n prefix: 'fas',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M448 480H64c-35.3 0-64-28.7-64-64V192H512V416c0 35.3-28.7 64-64 64zm64-320H0V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64z\"]\n};\nvar faHouseTsunami = {\n prefix: 'fas',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M80.8 136.5C104.9 93.8 152.6 64 209 64c16.9 0 33.1 2.7 48.2 7.7c16.8 5.5 34.9-3.6 40.4-20.4s-3.6-34.9-20.4-40.4C255.8 3.8 232.8 0 209 0C95.2 0 0 88 0 200c0 91.6 53.5 172.1 142.2 194.1c13.4 3.8 27.5 5.9 42.2 5.9c.7 0 1.4 0 2.1-.1c1.8 0 3.7 .1 5.5 .1l0 0c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0c-22.4 15.5-49.9 26.1-77.4 26.1c0 0-.1 0-.1 0c-12.4 0-24-1.5-34.9-4.3C121.6 320.2 96 287 96 248c0-48.5 39.5-88 88.4-88c13.5 0 26.1 3 37.5 8.3c16 7.5 35.1 .6 42.5-15.5s.6-35.1-15.5-42.5C229.3 101.1 207.4 96 184.4 96c-40 0-76.4 15.4-103.6 40.5zm252-18.1c-8.1 6-12.8 15.5-12.8 25.6V265c1.6 1 3.3 2 4.8 3.1c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c5.8 1.4 11.2 3.4 16.2 6.2c.7-2.7 1.1-5.5 1.1-8.4l-.4-144c0-10-4.7-19.4-12.7-25.5l-95.5-72c-11.4-8.6-27.1-8.6-38.5 0l-96 72zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\"]\n};\nvar faSquareNfi = {\n prefix: 'fas',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm75.7 64.6C68.8 162.5 64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]\n};\nvar faForklift = {\n prefix: 'fas',\n iconName: 'forklift',\n icon: [640, 512, [], \"f47a\", \"M48 160H96V48c0-26.5 21.5-48 48-48H292.7c20.3 0 38.4 12.8 45.2 31.9l75.3 210.8c1.8 5.2 2.8 10.6 2.8 16.1v85.7c19.6 17.6 32 43.1 32 71.6c0 53-43 96-96 96s-96-43-96-96H192c0 53-43 96-96 96s-96-43-96-96V208c0-26.5 21.5-48 48-48zm208 96h94L281.4 64H160v96l96 96zM96 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm256 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM544 32V384h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H512c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'fas',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c17.7 0 32-14.3 32-32V109.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V320c0 17.7 14.3 32 32 32zm-18.5 69.9C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zM192 192H48c-26.5 0-48 21.5-48 48V425c5.3-3.1 11.2-5.4 17.5-6.9c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.1 20.3V192zm384 48c0-26.5-21.5-48-48-48H384V416.5h0c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c6.3 1.5 12.1 3.8 17.5 6.9V240z\"]\n};\nvar faBracketSquareRight = {\n prefix: 'fas',\n iconName: 'bracket-square-right',\n icon: [192, 512, [], \"5d\", \"M192 96c0-35.3-28.7-64-64-64H64C46.3 32 32 46.3 32 64s14.3 32 32 32h64V416H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c35.3 0 64-28.7 64-64V96z\"]\n};\nvar faMartiniGlass = {\n prefix: 'fas',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM173.3 128l-64-64H402.7l-64 64H173.3z\"]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'fas',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M48.5 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H48.5z\"]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'fas',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 64V416H224V160H64zm384 0H288V416H448V160z\"]\n};\nvar faColumns = faTableColumns;\nvar faSquareA = {\n prefix: 'fas',\n iconName: 'square-a',\n icon: [448, 512, [], \"e25f\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96c9.1 0 17.4 5.1 21.5 13.3l104 208c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L289.2 336H158.8l-17.4 34.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l104-208c4.1-8.1 12.4-13.3 21.5-13.3zm0 77.7L182.8 288h82.3L224 205.7z\"]\n};\nvar faTick = {\n prefix: 'fas',\n iconName: 'tick',\n icon: [128, 512, [], \"e32f\", \"M0 98.3V96C0 60.7 28.7 32 64 32s64 28.7 64 64v2.3c0 3.8-.3 7.6-1 11.4L101.5 256.5C98.3 274.7 82.5 288 64 288s-34.3-13.3-37.5-31.5L1 109.6c-.7-3.8-1-7.5-1-11.4z\"]\n};\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M448 96c0-35.3-28.7-64-64-64c-6.6 0-13 1-19 2.9c-22.5 7-48.1 14.9-71 9c-75.2-19.1-156.4 11-213.7 68.3S-7.2 250.8 11.9 326c5.8 22.9-2 48.4-9 71C1 403 0 409.4 0 416c0 35.3 28.7 64 64 64c6.6 0 13-1 19.1-2.9c22.5-7 48.1-14.9 71-9c75.2 19.1 156.4-11 213.7-68.3s87.5-138.5 68.3-213.7c-5.8-22.9 2-48.4 9-71c1.9-6 2.9-12.4 2.9-19.1zM212.5 127.4c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9s-2.4 17.4-10.9 19.9z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M32 224.2c0-22.2 3.2-43.6 9.2-63.9L262.2 321c-4 9.5-6.2 20-6.2 31V512H128c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C48.6 322.4 32 274.1 32 224.2zm248.3 70.4L53 129.3C88.7 53 166.2 0 256 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c5.4 6.7 8.6 14.8 9.4 23.2H336c-21.7 0-41.3 8.6-55.7 22.6zM336 304H534l0 0h10l-19.7 64H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H514.5l-9.8 32H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H494.8l-.9 2.8c-8.3 26.9-33.1 45.2-61.2 45.2H288V352c0-14 6-26.7 15.6-35.4c0 0 0 0 0 0c8.5-7.8 19.9-12.6 32.4-12.6zm48-80a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128H16zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M0 32C0 14.3 14.3 0 32 0h72.9c27.5 0 52 17.6 60.7 43.8L257.7 320c30.1 .5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c-.9 52.2-43.5 94.3-96 94.3c-53 0-96-43-96-96c0-30.8 14.5-58.2 37-75.8L104.9 64H32C14.3 64 0 49.7 0 32zM244.8 134.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8L371.8 59.6l45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3L334.5 307.2c-16.8 5.5-34.9-3.7-40.3-20.5L244.8 134.5z\"]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M448 32V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v11c0 17.7-14.3 32-32 32s-32-14.3-32-32V245c0-12.7-5.1-24.9-14.1-33.9l-21-21C405.9 151.1 384 98.1 384 43V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM576 256V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V32c0-17.7 14.3-32 32-32s32 14.3 32 32V43c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1v11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V416zm224 0v32H384V416H224zm288-64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32z\"]\n};\nvar faMinimize = {\n prefix: 'fas',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C466 510 461.1 512 456 512s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V312c0-13.3 10.7-24 24-24H456zm-256 0c13.3 0 24 10.7 24 24V456c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H200zM56 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2V200c0 13.3-10.7 24-24 24H56z\"]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faRefrigerator = {\n prefix: 'fas',\n iconName: 'refrigerator',\n icon: [384, 512, [], \"e026\", \"M96 0C43 0 0 43 0 96v64H288V112c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V96c0-53-43-96-96-96H96zM384 192H320V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H0V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.1 5.8 4.6 9.3l40.2 322H55.9L96.1 94c.4-3.5 2-6.8 4.6-9.3l80-80zM152 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM32 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faOctagonXmark = {\n prefix: 'fas',\n iconName: 'octagon-xmark',\n icon: [512, 512, [\"times-octagon\", \"xmark-octagon\"], \"f2f0\", \"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faTimesOctagon = faOctagonXmark;\nvar faXmarkOctagon = faOctagonXmark;\nvar faAlignSlash = {\n prefix: 'fas',\n iconName: 'align-slash',\n icon: [640, 512, [], \"f846\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L481.4 352H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H399.7l-81.7-64H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H236.4L154.8 96H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-13.4 0-24.8 8.2-29.6 19.8L38.8 5.1zM324.9 352l-81.2-64H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H324.9zM162.5 224l-61.8-48.7c-3 4.9-4.7 10.6-4.7 16.7c0 17.7 14.3 32 32 32h34.5zM487.4 480l-81.2-64H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H487.4z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M298.9 64l68.6 160H256l-64-64V64H298.9zM445.1 242.7l-87.4-204C347.6 15.3 324.5 0 298.9 0H176c-26.5 0-48 21.5-48 48V160H96c-17.7 0-32 14.3-32 32V298.8C26.2 316.8 0 355.3 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-17.2-3.9-33.5-10.8-48H512v50.7c0 17 6.7 33.3 18.7 45.3l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L576 402.7V320 235.2L633 164c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-57 71.2c-9.1 11.3-14 25.4-14 40V288H448V256.7c.1-2.4-.2-4.8-.6-7.1s-1.2-4.7-2.2-6.8zM368 352c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-26.5 0-48-21.5-48-48s21.5-48 48-48H368zM144 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm216 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM200 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAnglesRight = {\n prefix: 'fas',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faTruckRampCouch = {\n prefix: 'fas',\n iconName: 'truck-ramp-couch',\n icon: [640, 512, [\"truck-couch\"], \"f4dd\", \"M640 0V400c0 61.9-50.1 112-112 112c-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64H640zM576 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM294.5 209.2c8.7-2.3 17.4-2.1 25.5 .2V334.8l-38.7 10.4L126.7 386.6 64.9 403.2c-17.1 4.6-34.6-5.6-39.2-22.6L13.3 334.2c-6.9-25.6 8.3-51.9 33.9-58.8s51.9 8.3 58.8 33.9l4.1 15.5 154.5-41.4-4.1-15.5c-6.9-25.6 8.3-51.9 33.9-58.8zM8 252.8c-9.1-34.1 11.1-69.2 45.3-78.4l185.5-49.7c34.1-9.1 69.2 11.1 78.4 45.3l1.7 6.4c-10.6-1.6-21.6-1.1-32.6 1.9c-37.4 10-61.5 44.9-59.2 82.1L131.2 286c-16.6-33.4-54.9-51.5-92.3-41.5c-11 2.9-20.8 8-29.2 14.7L8 252.8z\"]\n};\nvar faTruckCouch = faTruckRampCouch;\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M256 0c5.3 0 10.3 2.7 13.3 7.1c15.8 23.5 36.7 63.7 49.2 109c7.2 26.4 11.8 55.2 10.4 84c11.5-8.8 23.7-16.7 35.8-23.6c41-23.3 84.4-36.9 112.2-42.5c5.2-1 10.7 .6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7c-9.1 15.9-19.9 31.7-32.4 46.3c27.8 6.6 52.4 17.3 67.2 25.5c5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1c-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V417.2l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6c-28.9-6.6-54.6-17.6-69.8-26.1c-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5C78.9 296.3 68.1 280.5 59 264.6c-23.4-40.8-37.1-84-42.7-111.7c-1.1-5.2 .6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5c12.1 6.9 24.3 14.7 35.8 23.6c-1.4-28.7 3.1-57.6 10.4-84c12.5-45.3 33.4-85.5 49.2-109c3-4.4 8-7.1 13.3-7.1z\"]\n};\nvar faCirclePlay = {\n prefix: 'fas',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faArrowUpRightAndArrowDownLeftFromCenter = {\n prefix: 'fas',\n iconName: 'arrow-up-right-and-arrow-down-left-from-center',\n icon: [512, 512, [], \"e0a0\", \"M352 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L297.4 169.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V160c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H352zM214.6 297.4c-12.5-12.5-32.8-12.5-45.3 0L64 402.7V352c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H109.3L214.6 342.6c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M614.3 247c16.3-25 25.7-54.9 25.7-87C640 71.6 568.4 0 480 0c-32.1 0-61.9 9.4-87 25.7c-7.9 5.2-8.5 16.2-1.8 22.9L591.4 248.8c6.7 6.7 17.8 6.2 22.9-1.8zM567 294.3c7.9-5.2 8.5-16.2 1.8-22.9L368.6 71.2c-6.7-6.7-17.8-6.2-22.9 1.8c-16.3 25-25.7 54.9-25.7 87c0 88.4 71.6 160 160 160c32.1 0 61.9-9.4 87-25.7zM301.5 368H18.5c-9.5 0-16.9 8.2-15 17.5C18.9 457.8 83.1 512 160 512s141.1-54.2 156.5-126.5c2-9.3-5.5-17.5-15-17.5zm0-32c9.5 0 16.9-8.2 15-17.5C301.1 246.2 236.9 192 160 192S18.9 246.2 3.5 318.5c-2 9.3 5.5 17.5 15 17.5H301.5z\"]\n};\nvar fa360Degrees = {\n prefix: 'fas',\n iconName: '360-degrees',\n icon: [640, 512, [], \"e2dc\", \"M640 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H96L38.4 204.8c-7.3 9.7-8.4 22.7-3 33.5S51.9 256 64 256H80c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32H90.5c-8.5 0-16.6-3.4-22.6-9.4L54.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l13.3 13.3c18 18 42.4 28.1 67.9 28.1H96c53 0 96-43 96-96V304c0-47-29-87.3-70.1-103.9l63.7-84.9c7.3-9.7 8.4-22.7 3-33.5S172.1 64 160 64H32zm448 80c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm96 224V144c0-44.2-35.8-80-80-80s-80 35.8-80 80V368c0 44.2 35.8 80 80 80s80-35.8 80-80zM288 160c0-17.7 14.3-32 32-32s32-14.3 32-32s-14.3-32-32-32c-53 0-96 43-96 96V288c0 .1 0 .2 0 .2V368c0 44.2 35.8 80 80 80s80-35.8 80-80V272c0-44.2-35.8-80-80-80c-5.5 0-10.8 .6-16 1.6V160zm0 112c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V272z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M0 224V416c0 17.7 14.3 32 32 32H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448V160c0-17.7-14.3-32-32-32H384V96c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32v32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.1 240c-.1 2.7-.1 5.3-.1 8v16c0 2.7 0 5.3 .1 8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H60.3C89.9 419.9 170 480 264 480h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264c-57.9 0-108.2-32.4-133.9-80H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112.2c-.1-2.6-.2-5.3-.2-8V248c0-2.7 .1-5.4 .2-8H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H130.1c25.7-47.6 76-80 133.9-80h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H264C170 32 89.9 92.1 60.3 176H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48.1z\"]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M248 48V256h48V58.7c23.9 13.8 40 39.7 40 69.3V256h48V128C384 57.3 326.7 0 256 0H192C121.3 0 64 57.3 64 128V256h48V128c0-29.6 16.1-55.5 40-69.3V256h48V48h48zM48 288c-12.1 0-23.2 6.8-28.6 17.7l-16 32c-5 9.9-4.4 21.7 1.4 31.1S20.9 384 32 384l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32V384H352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-16-32C423.2 294.8 412.1 288 400 288H48z\"]\n};\nvar faCircleCheck = {\n prefix: 'fas',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faSquareDashedCirclePlus = {\n prefix: 'fas',\n iconName: 'square-dashed-circle-plus',\n icon: [576, 512, [], \"e5c2\", \"M96 32C43 32 0 75 0 128v32H64V128c0-17.7 14.3-32 32-32h32V32H96zM0 192V320H64V192H0zM64 352H0v32c0 53 43 96 96 96h32V416H96c-17.7 0-32-14.3-32-32V352zM384 128v70.6c15.3-4.3 31.4-6.6 48-6.6c5.4 0 10.7 .2 16 .7V128c0-53-43-96-96-96H320V96h32c17.7 0 32 14.3 32 32zM160 480H296.2c-15.3-18.5-26.9-40.2-33.6-64H160v64zm0-384H288V32H160V96zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faMoneySimpleFromBracket = {\n prefix: 'fas',\n iconName: 'money-simple-from-bracket',\n icon: [640, 512, [], \"e313\", \"M64 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 43 43 0 96 0H544c53 0 96 43 96 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7-14.3-32-32-32H96C78.3 64 64 78.3 64 96zm64 0l384 0 0 352c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64l0-352zM320 352c53 0 96-35.8 96-80s-43-80-96-80s-96 35.8-96 80s43 80 96 80z\"]\n};\nvar faBat = {\n prefix: 'fas',\n iconName: 'bat',\n icon: [576, 512, [], \"f6b5\", \"M235.6 52.8l10.8 14.4c6 8.1 15.5 12.8 25.6 12.8h32c10.1 0 19.6-4.7 25.6-12.8l10.8-14.4c2.3-3 5.8-4.8 9.6-4.8c5.8 0 10.8 4.1 11.8 9.8l19 101.4L452.6 125c16.2-7.7 35.5-3.6 47.1 10C548.9 192.4 576 265.6 576 341.2v37.6c0 9.7-10.2 16-18.9 11.7l-63.8-31.9c-7.5-3.7-16.6-1.1-20.9 6.1l-29.8 49.7c-5.4 8.9-17.7 10.4-25 3.1l-36.6-36.6c-6.8-6.8-18.1-6.1-24 1.6l-56.2 73.1c-6.4 8.3-19 8.3-25.4 0l-56.2-73.1c-5.9-7.7-17.2-8.4-24-1.6l-36.6 36.6c-7.4 7.4-19.7 5.8-25-3.1l-29.8-49.7c-4.3-7.2-13.4-9.8-20.9-6.1L18.9 390.5c-8.7 4.3-18.9-2-18.9-11.7V341.2C0 265.6 27.1 192.4 76.3 135c11.6-13.6 30.9-17.7 47.1-10l71.8 34.2 19-101.4c1.1-5.7 6-9.8 11.8-9.8c3.8 0 7.4 1.8 9.6 4.8z\"]\n};\nvar faCircleStop = {\n prefix: 'fas',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faHeadSideHeadphones = {\n prefix: 'fas',\n iconName: 'head-side-headphones',\n icon: [512, 512, [], \"f8c2\", \"M256 0V0c95.2 0 174.2 69.3 189.4 160.1c2.2 13 6.7 25.7 15 36.1l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2C0 122.8 67.4 36.9 160 9.3V86.6c0 12.4-7.4 23.3-17.4 30.5C114.4 137.4 96 170.6 96 208c0 61.9 50.1 112 112 112s112-50.1 112-112c0-37.4-18.4-70.6-46.6-90.9c-10-7.2-17.4-18.2-17.4-30.5V0zM240 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPhoneRotary = {\n prefix: 'fas',\n iconName: 'phone-rotary',\n icon: [512, 512, [9742], \"f8d3\", \"M0 141.3c0-8.5 3.4-16.6 9.9-22.1C38.2 95.4 125.9 32 256 32s217.8 63.4 246.1 87.2c6.5 5.5 9.9 13.6 9.9 22.1V176c0 17.7-14.3 32-32 32H437.7c-13.1 0-24.9-8-29.7-20.1l-19.4-48.6c-2.9-7.3-8.4-13.2-15.7-16c-18.6-7-59.5-19.3-116.8-19.3s-98.2 12.3-116.8 19.3c-7.3 2.8-12.8 8.7-15.7 16L104 187.9C99.2 200 87.4 208 74.3 208H32c-17.7 0-32-14.3-32-32V141.3zM32 432V401c0-11.1 2.9-22.1 8.4-31.8l101.1-177C153 172.3 174.2 160 197.1 160H314.9c23 0 44.2 12.3 55.6 32.2l101.1 177c5.5 9.7 8.4 20.6 8.4 31.8v31c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48zM328 312a72 72 0 1 0 -144 0 72 72 0 1 0 144 0z\"]\n};\nvar faCompassDrafting = {\n prefix: 'fas',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M352 96c0 14.3-3.1 27.9-8.8 40.2L396 227.4c-23.7 25.3-54.2 44.1-88.5 53.6L256 192h0 0l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5c70.7 0 133.8-32.7 174.9-84c11.1-13.8 31.2-16 45-5s16 31.2 5 45C428.1 341.8 347 384 256 384c-35.4 0-69.4-6.4-100.7-18.1L98.7 463.7C94 471.8 87 478.4 78.6 482.6L23.2 510.3c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496V440.6c0-8.4 2.2-16.7 6.5-24.1l60-103.7C53.7 301.6 41.8 289.3 31.2 276c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9c-5.6-12.2-8.8-25.8-8.8-40.2c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1V496c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'fas',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M176 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM56 64h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 136H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 48c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48zM400 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zm80 160v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 176c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80zm-96 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM3.5 347.6C1.6 332.9 13 320 27.8 320H484.2c14.8 0 26.2 12.9 24.4 27.6C502.3 397.8 464.2 437 416 446v2c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32v-2c-48.2-9-86.3-48.2-92.5-98.4z\"]\n};\nvar faCalendarCircleMinus = {\n prefix: 'fas',\n iconName: 'calendar-circle-minus',\n icon: [576, 512, [], \"e46f\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM256 368c0-91.8 70.3-167.2 160-175.3V192H0V464c0 26.5 21.5 48 48 48H330.8C285.6 480.1 256 427.5 256 368zm320 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faChopsticks = {\n prefix: 'fas',\n iconName: 'chopsticks',\n icon: [640, 512, [], \"e3f7\", \"M368 0c-15.3 0-29 7.2-37.7 18.3L3.4 486.1c-5.5 6.9-4.3 17 2.7 22.5s17 4.2 22.5-2.7L405.7 77.7C412.2 69.5 416 59.2 416 48c0-26.5-21.5-48-48-48zM131.9 506.4c5.8 6.7 15.9 7.5 22.6 1.7L623.2 148.4c10.3-8.8 16.8-21.9 16.8-36.4c0-26.5-21.5-48-48-48c-11.9 0-22.8 4.4-31.2 11.6L133.6 483.9c-6.7 5.8-7.5 15.8-1.7 22.6z\"]\n};\nvar faCarWrench = {\n prefix: 'fas',\n iconName: 'car-wrench',\n icon: [512, 512, [\"car-mechanic\"], \"f5e3\", \"M468.9 104H456l-.5 0c-.7 0-1.4-.1-2.1-.1C441.3 102.5 432 92.4 432 80s9.3-22.5 21.3-23.9c.7-.1 1.4-.1 2.1-.1l.5 0h12.9 17.6c10.8 0 18.4-10.6 12.5-19.6c-3.6-5.5-7.8-10.5-12.5-14.9c-4.2-3.9-8.8-7.4-13.8-10.3C470.8 10 468.9 9 466.9 8C456.4 2.9 444.5 0 432 0c-29.1 0-54.5 15.5-68.5 38.7c-3.3 5.4-8.9 9.3-15.3 9.3H163.8c-6.4 0-12-3.8-15.3-9.3C134.5 15.5 109.1 0 80 0C67.5 0 55.6 2.9 45.1 8c-2 1-3.9 2-5.8 3.1c-5 2.9-9.6 6.4-13.8 10.3c-4.7 4.4-9 9.4-12.5 14.9C7 45.4 14.7 56 25.5 56H43.1 56l.5 0c.7 0 1.4 .1 2.1 .1C70.7 57.5 80 67.6 80 80s-9.3 22.5-21.3 23.9c-.7 .1-1.4 .1-2.1 .1l-.5 0H43.1 25.5C14.7 104 7 114.6 12.9 123.6c3.6 5.5 7.8 10.5 12.5 14.9c4.2 3.9 8.8 7.4 13.8 10.3c1.9 1.1 3.8 2.2 5.8 3.1c10.6 5.1 22.4 8 34.9 8c29.1 0 54.5-15.5 68.5-38.7c3.3-5.4 8.9-9.3 15.3-9.3H348.2c6.4 0 12 3.8 15.3 9.3c14 23.2 39.5 38.7 68.5 38.7c12.5 0 24.4-2.9 34.9-8c2-1 3.9-2 5.8-3.1c5-2.9 9.6-6.4 13.8-10.3c4.7-4.4 9-9.4 12.5-14.9c5.9-9-1.7-19.6-12.5-19.6H468.9zM185.8 224H326.2c6.8 0 12.8 4.3 15.1 10.6L360.3 288H151.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9L82.2 292.4C62.1 300.9 48 320.8 48 344v40 64 32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V448H384v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C390.1 181.3 360 160 326.2 160H185.8c-33.8 0-64 21.3-75.3 53.1zM128 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCarMechanic = faCarWrench;\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M75.8 304.8L1 35.7c-.7-2.5-1-5-1-7.5C0 12.6 12.6 0 28.2 0H482.4C498.8 0 512 13.2 512 29.6c0 1.6-.1 3.3-.4 4.9L434.6 496.1c-1.5 9.2-9.5 15.9-18.8 15.9c-9.2 0-17.1-6.6-18.7-15.6L336 160 307.2 303.9c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1L240 192 210.6 368.2c-1.5 9.1-9.4 15.8-18.6 15.8s-17.1-6.7-18.6-15.8L144 192 115.9 304.3c-2.3 9.2-10.6 15.7-20.1 15.7c-9.3 0-17.5-6.2-20-15.2z\"]\n};\nvar faPersonShelter = {\n prefix: 'fas',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128C6.2 137.9 0 148.5 0 160V480c0 17.7 14.3 32 32 32s32-14.3 32-32V178.6L256 68.9 448 178.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-11.5-6.2-22.1-16.1-27.8l-224-128zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-8 280V400h16v88c0 13.3 10.7 24 24 24s24-10.7 24-24V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32V349.1z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faKazoo = {\n prefix: 'fas',\n iconName: 'kazoo',\n icon: [640, 512, [], \"f8c7\", \"M514 128h94c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H514c-19.8 10.2-42.2 16-66 16s-46.3-5.8-66-16H224c-3 0-6-.4-9-1.3l-192-56C9.4 322.7 0 310.2 0 296V216c0-14.2 9.4-26.7 23-30.7l192-56c2.9-.8 5.9-1.3 9-1.3H382c19.8-10.2 42.2-16 66-16s46.3 5.8 66 16zm30 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM427.3 212.7L448 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L470.6 256l20.7 20.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L448 278.6l-20.7 20.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L425.4 256l-20.7-20.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M481 31C445.1-4.8 386.9-4.8 351 31l-15 15L322.9 33C294.8 4.9 249.2 4.9 221.1 33L135 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L255 66.9c9.4-9.4 24.6-9.4 33.9 0L302.1 80 186.3 195.7 316.3 325.7 481 161c35.9-35.9 35.9-94.1 0-129.9zM293.7 348.3L163.7 218.3 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l64.2-64.2z\"]\n};\nvar faBinBottles = {\n prefix: 'fas',\n iconName: 'bin-bottles',\n icon: [640, 512, [], \"e5f5\", \"M152 0h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24c0-13.3 10.7-24 24-24zM32 192c0-53 43-96 96-96H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192H32zm352 0c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5H384zM0 256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32L583.8 457c-4.5 31.5-31.5 55-63.4 55h-401c-31.8 0-58.9-23.4-63.4-55L32 288c-17.7 0-32-14.3-32-32z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'fas',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM217.6 212.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faSquareArrowDownLeft = {\n prefix: 'fas',\n iconName: 'square-arrow-down-left',\n icon: [448, 512, [], \"e261\", \"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zM288 368c13.3 0 24-10.7 24-24s-10.7-24-24-24H193.9L329 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24H288z\"]\n};\nvar faBatteryBolt = {\n prefix: 'fas',\n iconName: 'battery-bolt',\n icon: [576, 512, [], \"f376\", \"M80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80h92.2c-12.9-14.5-16.1-35.6-7.2-53.5l5.3-10.5H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H219.2l80-64H80zM464 352H324.8l-80 64H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H371.8c13 14.5 16.1 35.6 7.2 53.5L373.7 160H464c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16zM346.1 115.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L193.7 376.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H297.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faTreeLarge = {\n prefix: 'fas',\n iconName: 'tree-large',\n icon: [448, 512, [], \"f7dd\", \"M62 169.4L210.6 5.9C214 2.1 218.9 0 224 0s10 2.1 13.4 5.9L386 169.4c3.9 4.2 6 9.8 6 15.5c0 12.7-10.3 23.1-23.1 23.1H344l75.5 105.7c2.9 4.1 4.5 9 4.5 14.1c0 13.4-10.9 24.2-24.2 24.2H368l76.2 122c2.5 4 3.8 8.5 3.8 13.2c0 13.7-11.1 24.9-24.9 24.9H24.9C11.1 512 0 500.9 0 487.1c0-4.7 1.3-9.2 3.8-13.2L80 352H48.2C34.8 352 24 341.1 24 327.8c0-5 1.6-10 4.5-14.1L104 208H79.1C66.3 208 56 197.7 56 184.9c0-5.7 2.1-11.3 6-15.5z\"]\n};\nvar faHelicopterSymbol = {\n prefix: 'fas',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M445.3 224H510C495.6 108.2 403.8 16.4 288 2V66.7C368.4 80.1 431.9 143.6 445.3 224zM510 288H445.3C431.9 368.4 368.4 431.9 288 445.4V510c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510V445.4C143.6 431.9 80.1 368.4 66.7 288H2zm0-64H66.7C80.1 143.6 143.6 80.1 224 66.7V2C108.2 16.4 16.4 108.2 2 224zm206-64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V288h96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H208V160z\"]\n};\nvar faAperture = {\n prefix: 'fas',\n iconName: 'aperture',\n icon: [512, 512, [], \"e2df\", \"M256 0c4 0 7.9 .1 11.9 .3c11.3 .5 17.5 12.9 11.8 22.8L177.5 200c-6.2 10.7-21.6 10.7-27.7 0L82.8 84.1c-3.6-6.3-2.6-14.3 2.9-19.2C130.9 24.5 190.6 0 256 0zM0 256c0-50.9 14.9-98.3 40.5-138.2c6.1-9.5 19.9-8.6 25.6 1.2L168.2 296c6.2 10.7-1.5 24-13.9 24H20.5c-7.3 0-13.7-4.9-15.2-12.1C1.8 291.2 0 273.8 0 256zM193.7 492c-3.6 6.3-11.1 9.4-18 7.1C111.8 478 59 432.5 28.5 373.6C23.3 363.5 31 352 42.3 352H246.8c12.3 0 20 13.3 13.9 24l-67 116zM256 512c-4 0-7.9-.1-11.9-.3c-11.3-.5-17.5-12.9-11.8-22.8L334.5 312c6.2-10.7 21.6-10.7 27.7 0l66.9 115.9c3.6 6.3 2.6 14.3-2.9 19.2C381.1 487.5 321.4 512 256 512zM512 256c0 50.9-14.9 98.3-40.5 138.2c-6.1 9.5-19.9 8.6-25.6-1.2L343.8 216c-6.2-10.7 1.5-24 13.9-24H491.5c7.3 0 13.7 4.9 15.2 12.1c3.5 16.8 5.3 34.1 5.3 51.9zM318.3 20c3.6-6.3 11.1-9.4 18-7.1C400.2 34 453 79.5 483.5 138.4c5.2 10.1-2.5 21.6-13.8 21.6H265.2c-12.3 0-20-13.3-13.9-24l67-116z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faGearComplex = {\n prefix: 'fas',\n iconName: 'gear-complex',\n icon: [512, 512, [], \"e5e9\", \"M305.4 21.8c-1.3-10.4-9.1-18.8-19.5-20C276.1 .6 266.1 0 256 0c-11.1 0-22.1 .7-32.8 2.1c-10.3 1.3-18 9.7-19.3 20l-2.9 23.1c-.8 6.4-5.4 11.6-11.5 13.7c-9.6 3.2-19 7.2-27.9 11.7c-5.8 3-12.8 2.5-18-1.5l-18-14c-8.2-6.4-19.7-6.8-27.9-.4c-16.6 13-31.5 28-44.4 44.7c-6.3 8.2-5.9 19.6 .5 27.8l14.2 18.3c4 5.1 4.4 12 1.5 17.8c-4.4 8.8-8.2 17.9-11.3 27.4c-2 6.2-7.3 10.8-13.7 11.6l-22.8 2.9c-10.3 1.3-18.7 9.1-20 19.4C.7 234.8 0 245.3 0 256c0 10.6 .6 21.1 1.9 31.4c1.3 10.3 9.7 18.1 20 19.4l22.8 2.9c6.4 .8 11.7 5.4 13.7 11.6c3.1 9.5 6.9 18.7 11.3 27.5c2.9 5.8 2.4 12.7-1.5 17.8L54 384.8c-6.4 8.2-6.8 19.6-.5 27.8c12.9 16.7 27.8 31.7 44.4 44.7c8.2 6.4 19.7 6 27.9-.4l18-14c5.1-4 12.2-4.4 18-1.5c9 4.6 18.3 8.5 27.9 11.7c6.1 2.1 10.7 7.3 11.5 13.7l2.9 23.1c1.3 10.3 9 18.7 19.3 20c10.7 1.4 21.7 2.1 32.8 2.1c10.1 0 20.1-.6 29.9-1.7c10.4-1.2 18.2-9.7 19.5-20l2.8-22.5c.8-6.5 5.5-11.8 11.7-13.8c10-3.2 19.7-7.2 29-11.8c5.8-2.9 12.7-2.4 17.8 1.5L385 457.9c8.2 6.4 19.6 6.8 27.8 .5c2.8-2.2 5.5-4.4 8.2-6.7L451.7 421c1.8-2.2 3.6-4.4 5.4-6.6c6.5-8.2 6-19.7-.4-27.9l-14-17.9c-4-5.1-4.4-12.2-1.5-18c4.8-9.4 9-19.3 12.3-29.5c2-6.2 7.3-10.8 13.7-11.6l22.8-2.8c10.3-1.3 18.8-9.1 20-19.4c.2-1.7 .4-3.5 .6-5.2V230.1c-.2-1.7-.4-3.5-.6-5.2c-1.3-10.3-9.7-18.1-20-19.4l-22.8-2.8c-6.4-.8-11.7-5.4-13.7-11.6c-3.4-10.2-7.5-20.1-12.3-29.5c-3-5.8-2.5-12.8 1.5-18l14-17.9c6.4-8.2 6.8-19.7 .4-27.9c-1.8-2.2-3.6-4.4-5.4-6.6L421 60.3c-2.7-2.3-5.4-4.5-8.2-6.7c-8.2-6.4-19.6-5.9-27.8 .5L366.7 68.3c-5.1 4-12.1 4.4-17.8 1.5c-9.3-4.6-19-8.6-29-11.8c-6.2-2-10.9-7.3-11.7-13.7l-2.8-22.5zM256 176a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faFileMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'file-magnifying-glass',\n icon: [384, 512, [\"file-search\"], \"f865\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm16 304c0 17.8-4.9 34.5-13.3 48.9L297 391.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-38.4-38.4C210.4 395.2 193.8 400 176 400c-53 0-96-43-96-96s43-96 96-96s96 43 96 96zm-96 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faFileSearch = faFileMagnifyingGlass;\nvar faUpRight = {\n prefix: 'fas',\n iconName: 'up-right',\n icon: [384, 512, [], \"e2be\", \"M336 80H96c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l72 72L11.3 340.7C4.1 347.9 0 357.8 0 368s4.1 20.1 11.3 27.3l41.4 41.4C59.9 443.9 69.8 448 80 448s20.1-4.1 27.3-11.3L241.4 302.6l72 72c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V112c0-17.7-14.3-32-32-32z\"]\n};\nvar faCircleChevronUp = {\n prefix: 'fas',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z\"]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faUserPolice = {\n prefix: 'fas',\n iconName: 'user-police',\n icon: [448, 512, [], \"e333\", \"M230.1 .8l152 40c8.6 2.3 15.3 9.1 17.3 17.8s-1 17.8-7.8 23.6L368 102.5v8.4c0 10.7-5.3 20.8-15.1 25.2c-24.1 10.8-68.6 24-128.9 24s-104.8-13.2-128.9-24C85.3 131.7 80 121.6 80 110.9v-8.4L56.4 82.2c-6.8-5.8-9.8-14.9-7.8-23.6s8.7-15.6 17.3-17.8l152-40c4-1.1 8.2-1.1 12.2 0zM227 48.6c-1.9-.8-4-.8-5.9 0L189 61.4c-3 1.2-5 4.2-5 7.4c0 17.2 7 46.1 36.9 58.6c2 .8 4.2 .8 6.2 0C257 114.9 264 86 264 68.8c0-3.3-2-6.2-5-7.4L227 48.6zM98.1 168.8c39.1 15 81.5 23.2 125.9 23.2s86.8-8.2 125.9-23.2c1.4 7.5 2.1 15.3 2.1 23.2c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-7.9 .7-15.7 2.1-23.2zM134.4 352c2.8 0 5.5 .9 7.7 2.6l72.3 54.2c5.7 4.3 13.5 4.3 19.2 0l72.3-54.2c2.2-1.7 4.9-2.6 7.7-2.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352zM352 408c-3.5 0-6.5 2.2-7.6 5.5L339 430.2l-17.4 0c-3.5 0-6.6 2.2-7.6 5.5s.1 6.9 2.9 9L331 454.8l-5.4 16.6c-1.1 3.3 .1 6.9 2.9 9s6.6 2 9.4 0L352 470.1l14.1 10.3c2.8 2 6.6 2.1 9.4 0s4-5.7 2.9-9L373 454.8l14.1-10.2c2.8-2 4-5.7 2.9-9s-4.2-5.5-7.6-5.5l-17.4 0-5.4-16.6c-1.1-3.3-4.1-5.5-7.6-5.5z\"]\n};\nvar faLariSign = {\n prefix: 'fas',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c17.7 0 32 14.3 32 32V96.7c5.3-.4 10.6-.7 16-.7s10.7 .2 16 .7V64c0-17.7 14.3-32 32-32s32 14.3 32 32v49.4c54.9 25.2 95.8 75.5 108.2 136.2c3.5 17.3-7.7 34.2-25 37.7s-34.2-7.7-37.7-25c-6.1-29.9-22.5-55.9-45.4-74.3V256c0 17.7-14.3 32-32 32s-32-14.3-32-32V161c-5.2-.7-10.6-1-16-1s-10.8 .3-16 1v95c0 17.7-14.3 32-32 32s-32-14.3-32-32V188.1C82.7 211.5 64 247.6 64 288c0 70.7 57.3 128 128 128H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H192 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48.9C18.5 382 0 337.2 0 288c0-77.5 45.9-144.3 112-174.6V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faVolcano = {\n prefix: 'fas',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM144 352l48.4-24.2c10.2-5.1 21.6-7.8 33-7.8c19.6 0 38.4 7.8 52.2 21.6l32.5 32.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l9.7-14.6-58.9-66.3c-9.1-10.2-22.2-16.1-35.9-16.1H235.1c-13.7 0-26.8 5.9-35.9 16.1l-59.9 67.4L144 352zm19.4-95.8c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"]\n};\nvar faTeddyBear = {\n prefix: 'fas',\n iconName: 'teddy-bear',\n icon: [576, 512, [], \"e3cf\", \"M154.7 103.7C138.7 93.9 128 76.2 128 56c0-30.9 25.1-56 56-56c24.2 0 44.7 15.3 52.6 36.7C252.5 33.5 269.8 32 288 32s35.5 1.5 51.4 4.7C347.3 15.3 367.8 0 392 0c30.9 0 56 25.1 56 56c0 20.2-10.7 37.9-26.7 47.7c1.8 7.4 2.7 15.5 2.7 24.3c0 70.7-60.9 128-136 128s-136-57.3-136-128c0-8.8 .9-16.8 2.7-24.3zM240 128a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm112-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64c0-26.5-28.7-48-64-48s-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48zm-32-8c0 13.3-14.3 24-32 24s-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24zM50.3 178.3c20.8-16.4 51-12.8 67.4 8L143.5 219c73.7 93.5 215.4 93.5 289.1 0l25.8-32.7c16.4-20.8 46.6-24.4 67.4-8s24.4 46.6 8 67.4l-25.8 32.7c-17.7 22.4-37.9 41.3-59.9 56.7V400h16.6c3.9-27.1 27.2-48 55.4-48c30.9 0 56 25.1 56 56c0 2.7-.2 5.4-.6 8l-13 53.3c-5.8 23.8-26.3 40.9-50.4 42.6v.1h-4H480 96 68 64v-.1c-24.1-1.7-44.6-18.8-50.4-42.6L.6 416c-.4-2.6-.6-5.3-.6-8c0-30.9 25.1-56 56-56c28.2 0 51.6 20.9 55.4 48H128V335.1c-22-15.4-42.3-34.3-59.9-56.7L42.3 245.7c-16.4-20.8-12.8-51 8-67.4zM256 352c-35.3 0-64 28.7-64 64H384c0-35.3-28.7-64-64-64H256z\"]\n};\nvar faStocking = {\n prefix: 'fas',\n iconName: 'stocking',\n icon: [384, 512, [], \"f7d5\", \"M96 0C78.3 0 64 14.3 64 32V64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 128V238.9c0 10.7-5.3 20.7-14.2 26.6L55.7 282.9C20.9 306.1 0 345.1 0 386.9v2.2C0 457 55 512 122.8 512c24.2 0 48-7.2 68.1-20.6L295 422c35.6-23.7 57-63.7 57-106.5V128H96z\"]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM392 320c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440z\"]\n};\nvar faImageSlash = {\n prefix: 'fas',\n iconName: 'image-slash',\n icon: [640, 512, [], \"e1b7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zm120 94.1c5.3-2 11.1-3.2 17.2-3.2c26.5 0 48 21.5 48 48c0 2-.1 4-.4 6L158.8 99.2zM328.1 231.9l20-29.4c4.5-6.6 11.9-10.5 19.8-10.5s15.4 3.9 19.8 10.5L499.4 366.1 328.1 231.9zM221.7 272.5c.3-.4 .6-.7 1-1.1L64 146.4V416c0 35.3 28.7 64 64 64H487.4l-81.2-64H320 248 152c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.5 3.5-25.6l88-104z\"]\n};\nvar faMaskSnorkel = {\n prefix: 'fas',\n iconName: 'mask-snorkel',\n icon: [576, 512, [], \"e3b7\", \"M544 32c-17.7 0-32 14.3-32 32v96h64V64c0-17.7-14.3-32-32-32zM512 367.4c0 44.5-36.1 80.6-80.6 80.6c-39.4 0-73-28.5-79.5-67.4l-.3-1.9c-2.9-17.4-19.4-29.2-36.8-26.3s-29.2 19.4-26.3 36.8l.3 1.9C300.4 460.9 360.7 512 431.4 512C511.3 512 576 447.3 576 367.4V192H512V367.4zM64 64C28.7 64 0 92.7 0 128v96c0 35.3 28.7 64 64 64h79.7c28.6 0 53.7-18.9 61.5-46.4l3.4-11.7c4.4-15.5 26.3-15.5 30.8 0l3.4 11.7c7.8 27.5 33 46.4 61.5 46.4H384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faSmoke = {\n prefix: 'fas',\n iconName: 'smoke',\n icon: [640, 512, [], \"f760\", \"M172.3 194.3c-9.2-1.5-18.7-2.3-28.3-2.3c-29.2 0-56.7 7.1-80.9 19.6C43.7 189.2 32 160 32 128C32 57.3 89.3 0 160 0c40.1 0 75.9 18.4 99.3 47.3C277.4 37.5 298 32 320 32c44.3 0 83.4 22.5 106.4 56.8c-11.5 7.3-22 16-31.2 25.9C372.7 102.8 347.2 96 320 96c-66.5 0-123.5 40.6-147.7 98.3zm276.3 62.5C419.5 217.5 372.7 192 320 192c-31.5 0-60.9 9.1-85.7 24.9c-9.6-5.8-19.8-10.6-30.5-14.5C224 158.5 268.4 128 320 128c31.3 0 60.1 11.3 82.3 30c22.4-37.1 63.1-62 109.7-62c70.7 0 128 57.3 128 128c0 42.2-20.4 79.6-51.9 102.9C563.1 284.5 516.9 256 464 256c-5.2 0-10.3 .3-15.4 .8zM144 512C64.5 512 0 447.5 0 368s64.5-144 144-144c34.5 0 66.1 12.1 90.9 32.3C257.6 236.2 287.4 224 320 224c49.1 0 91.8 27.7 113.2 68.3c9.8-2.8 20.1-4.3 30.8-4.3c61.9 0 112 50.1 112 112s-50.1 112-112 112H144z\"]\n};\nvar faSterlingSign = {\n prefix: 'fas',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v44.5c0 17.4-4.7 34.5-13.7 49.4L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H88.5l.7-1.1C104.1 390 112 361.5 112 332.5V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V160.4z\"]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faBatteryExclamation = {\n prefix: 'fas',\n iconName: 'battery-exclamation',\n icon: [576, 512, [], \"e0b0\", \"M208 96v64H80c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H198.7c-4.3 9.8-6.7 20.6-6.7 32s2.4 22.2 6.7 32H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H208zM464 416H345.3c4.3-9.8 6.7-20.6 6.7-32s-2.4-22.2-6.7-32H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H336V96H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80zM272 96c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM240 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M192 0c13.3 0 24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l9.5 9.5c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24zm48 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 80c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquarePersonConfined = {\n prefix: 'fas',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm80 104c0-30.9 25.1-56 56-56s56 25.1 56 56V350.1c0 36.4-29.5 65.9-65.9 65.9c-17.5 0-34.3-6.9-46.6-19.3L184.8 342l-28.1 56.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l48-96c4.6-9.2 13.3-15.6 23.5-17.3s20.5 1.7 27.8 9L240 306.7V248z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256A128 128 0 1 1 224 0a128 128 0 1 1 0 256zM209.1 359.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 36-146.9c2-8.1 9.8-13.4 17.9-11.3c70.1 17.6 121.9 81 121.9 156.4c0 17-13.8 30.7-30.7 30.7H285.5c-2.1 0-4-.4-5.8-1.1l.3 1.1H168l.3-1.1c-1.8 .7-3.8 1.1-5.8 1.1H30.7C13.8 512 0 498.2 0 481.3c0-75.5 51.9-138.9 121.9-156.4c8.1-2 15.9 3.3 17.9 11.3l36 146.9 33.4-123.9z\"]\n};\nvar faArrowDownLong = {\n prefix: 'fas',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7L86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'fas',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zm122.8 22.6c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160 .7 4.7c17.5 .2 31.6 14.4 31.6 32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H159.6l.7-4.7 24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128zM384 448h76.8L384 320V448z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.3-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z\"]\n};\nvar faCrystalBall = {\n prefix: 'fas',\n iconName: 'crystal-ball',\n icon: [448, 512, [], \"e362\", \"M448 224c0 62.7-25.7 119.3-67.2 160H67.2C25.7 343.3 0 286.7 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM152.5 84.3l-9.8 26.4-26.4 9.8c-7 2.6-7 12.4 0 15l26.4 9.8 9.8 26.4c2.6 7 12.4 7 15 0l9.8-26.4 26.4-9.8c7-2.6 7-12.4 0-15l-26.4-9.8-9.8-26.4c-2.6-7-12.4-7-15 0zm159 48c-2.6-7-12.4-7-15 0l-18.4 49.8-49.8 18.4c-7 2.6-7 12.4 0 15l49.8 18.4 18.4 49.8c2.6 7 12.4 7 15 0l18.4-49.8 49.8-18.4c7-2.6 7-12.4 0-15l-49.8-18.4-18.4-49.8zm98.9 331.8c3.7 5.1 5.6 11.3 5.6 17.6c0 16.7-13.6 30.3-30.3 30.3H62.3C45.6 512 32 498.4 32 481.7c0-6.3 2-12.5 5.6-17.6L72 416H376l34.4 48.1z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M209.4 39.5c-9.1-9.6-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4c9.6-9.1 10-24.3 .9-33.9zM352 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V288h32c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C494.5 467.9 576 417.3 576 304c0-97.2-78.8-176-176-176H352V64z\"]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96v32V480H128V128 96zM64 96H96V480H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zM448 480H416V96h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64z\"]\n};\nvar faPersonSkating = {\n prefix: 'fas',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32H319.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V349.3l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faSkating = faPersonSkating;\nvar faStarShooting = {\n prefix: 'fas',\n iconName: 'star-shooting',\n icon: [512, 512, [127776], \"e036\", \"M313 41L265 89c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L279 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM170.4 157.4c8.8-17.9 34.3-17.9 43.1 0l46.3 94 103.5 15.1c19.7 2.9 27.5 27 13.3 40.9l-74.9 73.2 17.7 103.3c3.4 19.6-17.2 34.6-34.8 25.3l-92.6-48.8L99.3 509.2c-17.6 9.3-38.2-5.7-34.8-25.3L82.2 380.6 7.2 307.4C-7 293.5 .9 269.3 20.5 266.5l103.5-15.1 46.3-94zM505 199c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0zM505 41L361 185c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faBinaryLock = {\n prefix: 'fas',\n iconName: 'binary-lock',\n icon: [640, 512, [], \"e33d\", \"M322.7 6c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H256c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H336V32c0-10.3-4.9-19.9-13.3-26zM98.7 294c-8.3-6-19.1-7.7-28.8-4.4l-48 16C5.1 311.2-3.9 329.4 1.7 346.1s23.7 25.8 40.5 20.2l5.9-2V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H80h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V320c0-10.3-4.9-19.9-13.3-26zM64 0C28.7 0 0 28.7 0 64v96c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 64h64v96H64V64zM192 352v96c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H256c-35.3 0-64 28.7-64 64zm128 0v96H256V352h64zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faFilterCircleDollar = {\n prefix: 'fas',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M220.6 121.2L271.1 96 448 96v96H333.2c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24H64V128H192c9.9 0 19.7-2.3 28.6-6.8zM0 128V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64H160V48c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16l0 16C28.7 64 0 92.7 0 128zM168 304a88 88 0 1 1 176 0 88 88 0 1 1 -176 0z\"]\n};\nvar faCircleArrowDown = {\n prefix: 'fas',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM127 281c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l71 71L232 136c0-13.3 10.7-24 24-24s24 10.7 24 24l0 182.1 71-71c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 393c-9.4 9.4-24.6 9.4-33.9 0L127 281z\"]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faCommentPen = {\n prefix: 'fas',\n iconName: 'comment-pen',\n icon: [512, 512, [\"comment-edit\"], \"f4ae\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm84.8-293c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L272.6 170 287.5 155c14.7-14.7 38.6-14.7 53.3 0zM178.1 264.5L250 192.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.7c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faCommentEdit = faCommentPen;\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512V448c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V336H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H128V64zm0 224v48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128zM512 128H384V0L512 128z\"]\n};\nvar faArrowRightToFile = faFileImport;\nvar faBanjo = {\n prefix: 'fas',\n iconName: 'banjo',\n icon: [512, 512, [129685], \"f8a3\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41L286 180.7c-20.6-13.9-44.3-23.4-70-27V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.7c-28.5 4.1-54.6 15.3-76.6 31.7l-1.2-1.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l1.2 1.2C41 241.4 29.8 267.5 25.7 296H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h1.7c4.1 28.5 15.3 54.6 31.7 76.6l-1.2 1.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l1.2-1.2c22 16.5 48.2 27.7 76.6 31.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-1.7c28.5-4.1 54.6-15.3 76.6-31.7l1.2 1.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-1.2-1.2c16.5-22 27.7-48.2 31.7-76.6H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.7c-3.7-25.7-13.1-49.5-27-70l76.1-76.1 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM192 208a112 112 0 1 1 0 224 112 112 0 1 1 0-224zM155.3 308.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48z\"]\n};\nvar faSquareArrowUpRight = {\n prefix: 'fas',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\"]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faLightEmergencyOn = {\n prefix: 'fas',\n iconName: 'light-emergency-on',\n icon: [640, 512, [], \"e420\", \"M69.3 36c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM597.3 76c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM320 32c-88.4 0-160 71.6-160 160V352H480V192c0-88.4-71.6-160-160-160zM240 192c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80zM96 416v32c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32z\"]\n};\nvar faKerning = {\n prefix: 'fas',\n iconName: 'kerning',\n icon: [640, 512, [], \"f86f\", \"M454.3 23.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-240 480c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l240-480zM60.6 113.7C52.7 97.9 33.5 91.5 17.7 99.4S-4.5 126.5 3.4 142.3l128 256c5.4 10.8 16.5 17.7 28.6 17.7s23.2-6.8 28.6-17.7l128-256c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L160 312.4 60.6 113.7zm320 284.6L403.8 352H556.2l23.2 46.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-128-256C503.2 102.8 492.1 96 480 96s-23.2 6.8-28.6 17.7l-128 256c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3zM480 199.6L524.2 288H435.8L480 199.6z\"]\n};\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64 564.8 33.4c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 217.3c-13.9 4-28.8-1.9-36.2-14.3L320 64 236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1L58.9 42.1zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6v167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5v-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6L318.9 128h2.2z\"]\n};\nvar faSquareF = {\n prefix: 'fas',\n iconName: 'square-f',\n icon: [448, 512, [], \"e270\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M0 80v48c0 17.7 14.3 32 32 32H48 96V80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48V384c0 35.3 28.7 64 64 64s64-28.7 64-64v-5.3c0-32.4 26.3-58.7 58.7-58.7H480V128c0-53-43-96-96-96H112zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16H314.7c-14.7 0-26.7 11.9-26.7 26.7V384c0 53-43 96-96 96H368h96z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5c7 9.9 13.4 20.3 19.1 31c5.7-10.8 12.1-21.1 19.1-31c22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192h9.9c11.1 0 20.1 9 20.1 20.1C576 360.1 456.1 480 308.1 480H288 267.9C119.9 480 0 360.1 0 212.1C0 201 9 192 20.1 192H30c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6c-38 21.6-71.4 50.8-97.9 85.6c-26.5-34.8-59.9-63.9-97.9-85.6c23.2-92.8 68.6-147.7 84.4-164.6C278 33.9 282.9 32 288 32s10 1.9 13.5 5.6z\"]\n};\nvar faArrowLeftFromLine = {\n prefix: 'fas',\n iconName: 'arrow-left-from-line',\n icon: [448, 512, [8612, \"arrow-from-right\"], \"f344\", \"M384 96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96zM9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 224 288 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-178.7 0 73.4 73.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128z\"]\n};\nvar faArrowFromRight = faArrowLeftFromLine;\nvar faStrawberry = {\n prefix: 'fas',\n iconName: 'strawberry',\n icon: [512, 512, [], \"e32b\", \"M481.5 1.9c12.2 5.2 17.8 19.3 12.6 31.5c-13.4 31.2-36.9 59-56.3 78.7c32.8 1.8 57.4 18 68.2 26.6c4 3.2 6 8.1 6 13.2s-2 10-6 13.3C495 174.4 469.7 192 440 192c-40 0-55.3-15.3-80-40s-40-40-40-80c0-29.7 17.6-55 26.7-66c3.3-4 8.2-6 13.3-6s10 2 13.2 6C382.3 17.4 400 44.3 400 80c0 .7 0 1.4 0 2.1c.7-.7 1.4-1.3 2-2c18.2-18.2 37.7-41.7 47.9-65.5c5.2-12.2 19.3-17.8 31.5-12.6zM0 336C0 160 96.2 64 192.2 64c32.7 .1 65.3 12.6 90.3 37.5l128 128c25 25 37.5 57.8 37.5 90.5c0 96-96 192-272 192C48 512 0 464 0 336zM172.8 172.8c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm72.7 29.7c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm-32 96c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm-32 96c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm87.3 2.3c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm32-96c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm72.7 29.7c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm-224-96c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zM108.8 364.8c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7z\"]\n};\nvar faLocationPinLock = {\n prefix: 'fas',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M215.7 499.2c11-13.8 25.1-31.7 40.3-52.3V352c0-23.7 12.9-44.4 32-55.4V272c0-55.6 40.5-101.7 93.6-110.5C367 70 287.7 0 192 0C86 0 0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c17.7 0 32 14.3 32 32v48H368V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 64C21.5 64 0 85.5 0 112V400c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zm192 0c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H240z\"]\n};\nvar faClockEightThirty = {\n prefix: 'fas',\n iconName: 'clock-eight-thirty',\n icon: [512, 512, [], \"e346\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V300.8L173.3 340c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l96-64c7.4-4.9 16.8-5.4 24.6-1.2S280 247.1 280 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlaneEngines = {\n prefix: 'fas',\n iconName: 'plane-engines',\n icon: [576, 512, [9992, \"plane-alt\"], \"f3de\", \"M576 256c0-35-59.5-64-93.7-64l-116.6 0-37.2-65.1C342 123.1 352 110.7 352 96c0-17.7-14.3-32-32-32l-27.4 0L265.2 16.1C259.5 6.2 248.9 0 237.4 0L181.2 0c-10.6 0-18.3 10.2-15.4 20.4l49 171.6L112 192 68.8 134.4c-3-4-7.8-6.4-12.8-6.4l-42 0c-7.8 0-14 6.3-14 14c0 1.3 .2 2.6 .5 3.9l22.7 79.3C9.8 229 0 241.4 0 256s9.8 27 23.2 30.8L.5 366.1c-.4 1.3-.5 2.6-.5 3.9c0 7.8 6.3 14 14 14l42 0c5 0 9.8-2.4 12.8-6.4L112 320l102.9 0-49 171.6c-2.9 10.2 4.8 20.4 15.4 20.4l56.2 0c11.5 0 22.1-6.2 27.8-16.1L292.6 448l27.4 0c17.7 0 32-14.3 32-32c0-14.7-10-27.1-23.5-30.9L365.7 320l116.6 0c34.2 0 93.7-28 93.7-64z\"]\n};\nvar faPlaneAlt = faPlaneEngines;\nvar faHillAvalanche = {\n prefix: 'fas',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9zM480 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87z\"]\n};\nvar faTemperatureEmpty = {\n prefix: 'fas',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M112 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C233.8 332.6 240 349.5 240 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM160 0C98.1 0 48 50.2 48 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C27.2 304.2 16 334.8 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C272 50.2 221.9 0 160 0zm0 416a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M459.1 52.4L442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4L459.1 52.4zm-132.4 53c-12.5-12.5-32.8-12.5-45.3 0l-2.9 2.9C256.5 100.3 232.7 96 208 96C93.1 96 0 189.1 0 304S93.1 512 208 512s208-93.1 208-208c0-24.7-4.3-48.5-12.2-70.5l2.9-2.9c12.5-12.5 12.5-32.8 0-45.3l-80-80zM200 192c-57.4 0-104 46.6-104 104v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-75.1 60.9-136 136-136h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8z\"]\n};\nvar faGaugeLow = {\n prefix: 'fas',\n iconName: 'gauge-low',\n icon: [512, 512, [\"tachometer-alt-slow\"], \"f627\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64s-28.7-64-64-64c-.6 0-1.3 0-1.9 0L190 142.3c-5.3-12.1-19.5-17.6-31.6-12.3s-17.6 19.5-12.3 31.6l64.1 145.7C198.9 318.9 192 334.6 192 352c0 35.3 28.7 64 64 64zM128 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAltSlow = faGaugeLow;\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24h88c44.2 0 80 35.8 80 80c0 28-14.4 52.7-36.3 67l34.1 75.1c5.5 12.1 .1 26.3-11.9 31.8s-26.3 .1-31.8-11.9L268.9 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64z\"]\n};\nvar faTrashCanPlus = {\n prefix: 'fas',\n iconName: 'trash-can-plus',\n icon: [448, 512, [], \"e2ac\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM200 408c0 13.3 10.7 24 24 24s24-10.7 24-24V344h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V232c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H136c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 256h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'fas',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M117.9 62.4c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l113 37.7C265 15.8 290.7 0 320 0c44.2 0 80 35.8 80 80c0 3-.2 5.9-.5 8.8l122.6 40.9c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L366.4 145.2c-4.5 3.2-9.3 5.9-14.4 8.2V480c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-21-9.2-37.2-27-44.2-49l-125.9-42zM200.4 288L128 163.8 55.6 288H200.4zM128 384C65.1 384 12.8 350 2 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C243.2 350 190.9 384 128 384zm382.8-92.2L438.4 416H583.3L510.8 291.8zm126 141.3C626 478 573.7 512 510.8 512s-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1z\"]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faGlobeSnow = {\n prefix: 'fas',\n iconName: 'globe-snow',\n icon: [448, 512, [], \"f7a3\", \"M448 224c0 62.7-25.7 119.3-67.2 160H256V352h64c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4L262.6 256H288c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h25.4l-68.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64v32H67.2C25.7 343.3 0 286.7 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM256 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM20.3 474.2L61.1 416H386.9l40.8 58.2c5.1 7.3 5.8 16.9 1.6 24.8S416.9 512 408 512H40c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8z\"]\n};\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32zM480 320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 361.5 404.3 368 416 368v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V320z\"]\n};\nvar faDiamondTurnRight = {\n prefix: 'fas',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56H224c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faDirections = faDiamondTurnRight;\nvar faIntegral = {\n prefix: 'fas',\n iconName: 'integral',\n icon: [320, 512, [], \"f667\", \"M216 64c-13.3 0-24 10.7-24 24V424c0 48.6-39.4 88-88 88s-88-39.4-88-88v-8c0-17.7 14.3-32 32-32s32 14.3 32 32v8c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-48.6 39.4-88 88-88s88 39.4 88 88v8c0 17.7-14.3 32-32 32s-32-14.3-32-32V88c0-13.3-10.7-24-24-24z\"]\n};\nvar faBurst = {\n prefix: 'fas',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z\"]\n};\nvar faHouseLaptop = {\n prefix: 'fas',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0l208 192c6.7 6.2 10.3 14.8 10.3 23.5H336c-19.1 0-36.3 8.4-48 21.7V208c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64V416H112c-26.5 0-48-21.5-48-48V256H32c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM352 304V448H544V304H352zm-48-16c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V448h32c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H544 352 304c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16h32V288z\"]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'fas',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm-31.2-182l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'fas',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm64 160c35.3 0 64 28.7 64 64H160V256zM224 96c0 35.3-28.7 64-64 64V96h64zM576 256v64H512c0-35.3 28.7-64 64-64zM512 96h64v64c-35.3 0-64-28.7-64-64zM288 208a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faBlindsRaised = {\n prefix: 'fas',\n iconName: 'blinds-raised',\n icon: [512, 512, [], \"f8fd\", \"M32 0C14.3 0 0 14.3 0 32C0 43.9 6.5 54.2 16.1 59.8L1.2 100.6c-.8 2.2-1.2 4.6-1.2 7C0 118.9 9.1 128 20.4 128H128V64h32v64H491.6c11.3 0 20.4-9.1 20.4-20.4c0-2.4-.4-4.7-1.2-7L495.9 59.8C505.5 54.2 512 43.9 512 32c0-17.7-14.3-32-32-32H32zM144 512c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V224H491.9c11.1 0 20.1-9 20.1-20.1c0-2.6-.5-5.1-1.4-7.5L496 160H160v64H128V160H16L1.4 196.4c-1 2.4-1.4 4.9-1.4 7.5C0 215 9 224 20.1 224H128V418.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M32 144c0 79.5 64.5 144 144 144H299.3c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.6 0-62.4 12.2-85.1 32.3C242.1 12.1 210.5 0 176 0C96.5 0 32 64.5 32 144zM616 368H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-64 96H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24zM224 392c0-13.3-10.7-24-24-24H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24z\"]\n};\nvar faUfoBeam = {\n prefix: 'fas',\n iconName: 'ufo-beam',\n icon: [576, 512, [], \"e048\", \"M184 152s24 40 104 40s104-40 104-40c0-48-33.3-104-104-104s-104 56-104 104zm-42.6-40.4C159.1 47.2 218.1 0 288 0s128.9 47.2 146.6 111.6C519.2 131.1 576 167 576 208c0 61.9-128.9 112-288 112S0 269.9 0 208c0-41 56.8-76.9 141.4-96.4zM120 208a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM312 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM74.3 325.7l4.2-8.9c14.3 5.6 29.7 10.6 46 15l-6.8 14.5-72 152c-5.7 12-20 17.1-32 11.4s-17.1-20-11.4-32l72-152zm384 20.6l-6.8-14.5c16.3-4.4 31.7-9.4 46-15l4.2 8.9 72 152c5.7 12 .6 26.3-11.4 32s-26.3 .6-32-11.4l-72-152z\"]\n};\nvar faCircleCaretUp = {\n prefix: 'fas',\n iconName: 'circle-caret-up',\n icon: [512, 512, [\"caret-circle-up\"], \"f331\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-368c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H152c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretCircleUp = faCircleCaretUp;\nvar faUserVneckHairLong = {\n prefix: 'fas',\n iconName: 'user-vneck-hair-long',\n icon: [448, 512, [], \"e463\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zm61.3 199.1l53.9 71.8c6.4 8.5 19.2 8.5 25.6 0l53.9-71.8c3.2-4.3 8.4-6.7 13.7-6.2C385.1 329.7 448 398.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3C0 398.2 62.9 329.7 143.7 321c5.3-.6 10.5 1.9 13.7 6.2z\"]\n};\nvar faSquareALock = {\n prefix: 'fas',\n iconName: 'square-a-lock',\n icon: [576, 512, [], \"e44d\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H320V384c-9.1 0-17.7-5.2-21.8-13.9l-12-26.1H161.8l-12 26.1c-5.6 12-19.8 17.3-31.8 11.7s-17.3-19.8-11.7-31.8l96-208c3.9-8.5 12.4-13.9 21.8-13.9s17.9 5.4 21.8 13.9l82.4 178.6c5.6-10 13.9-18.3 23.8-24V272c0-56.4 41.7-103.1 96-110.9V96c0-35.3-28.7-64-64-64H64zM224 209.3L184 296h80l-40-86.7zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144l-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1L116.8 342.9c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7c0 0 .1-.1 .1-.1s.1-.1 .1-.1l74.6-74.6-45.3-45.3L336 242.7 269.3 176l52.1-52.1L276.1 78.6l-74.7 74.7zM224 221.3L290.7 288l-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7L224 221.3z\"]\n};\nvar faGasPumpSlash = {\n prefix: 'fas',\n iconName: 'gas-pump-slash',\n icon: [640, 512, [], \"f5f4\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-72.2-56.6C569.5 397.9 576 379.7 576 360V224 192 168 154.5c0-17-6.7-33.3-18.7-45.3L480 32c-8.8-8.8-23.2-8.8-32 0s-8.8 23.2 0 32l32 32v64c0 29.8 20.4 54.9 48 62V360c0 8.5-2.7 16.4-7.2 22.9L384 275.7V64c0-35.3-28.7-64-64-64H160c-30.9 0-56.7 21.9-62.7 51L38.8 5.1zM96 171.6V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32V398.5L96 171.6z\"]\n};\nvar faFontAwesome = {\n prefix: 'fas',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M448 48V384c-63.1 22.5-82.3 32-119.5 32c-62.8 0-86.6-32-149.3-32c-20.6 0-36.6 3.6-51.2 8.2v-64c14.6-4.6 30.6-8.2 51.2-8.2c62.7 0 86.5 32 149.3 32c20.4 0 35.6-3 55.5-9.3v-208c-19.9 6.3-35.1 9.3-55.5 9.3c-62.8 0-86.6-32-149.3-32c-50.8 0-74.9 20.6-115.2 28.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32s32 14.3 32 32V76.7c40.3-8 64.4-28.7 115.2-28.7c62.7 0 86.5 32 149.3 32c37.1 0 56.4-9.5 119.5-32z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'fas',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3H344c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTransporter4 = {\n prefix: 'fas',\n iconName: 'transporter-4',\n icon: [512, 512, [], \"e2a5\", \"M224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-48 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 64H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM480 160l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 192l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 192l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 160l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6L480 160zM56.7 358.6L64 384l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 416l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 416 6.6 408.7C2.7 407.6 0 404.1 0 400s2.7-7.6 6.6-8.7L32 384l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM96 480c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H296 216 128c-17.7 0-32-14.3-32-32z\"]\n};\nvar faChartMixedUpCircleCurrency = {\n prefix: 'fas',\n iconName: 'chart-mixed-up-circle-currency',\n icon: [576, 512, [], \"e5d8\", \"M400 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h28.8L319.4 151.5 211.2 70.4c-11.7-8.8-27.8-8.5-39.2 .6L12 199c-13.8 11-16 31.2-5 45s31.2 16 45 5L192.6 136.5l108.2 81.1c11.7 8.8 27.8 8.5 39.2-.6L480 105v39c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H400zM192 224c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32zM64 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm25.4-169.4a35.9 35.9 0 1 0 -50.7 50.7 35.9 35.9 0 1 0 50.7-50.7zM396.7 426l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L374 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L396.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L490 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L467.3 426c-21.6 13.2-49.1 13.2-70.7 0z\"]\n};\nvar faObjectsAlignRight = {\n prefix: 'fas',\n iconName: 'objects-align-right',\n icon: [512, 512, [], \"e3bf\", \"M512 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM336 64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48L48 224c-26.5 0-48-21.5-48-48V112C0 85.5 21.5 64 48 64l288 0zm0 224c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H336z\"]\n};\nvar faArrowsTurnRight = {\n prefix: 'fas',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 160H128c-35.3 0-64 28.7-64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V224C0 153.3 57.3 96 128 96H338.7L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416H96c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96H242.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M207.1 237.4L151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3L226.5 280.6c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6l-47.9-71.8c-5.3-7.9-8.1-17.1-8.1-26.6V128 54.3 48c0-26.5-21.5-48-48-48h-4.5c-.2 0-.4 0-.6 0c-.4 0-.8 0-1.2 0C311 0 295.7 9.7 285.7 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0c-.4 0-.8 0-1.2 0c-.2 0-.4 0-.6 0H112C85.5 0 64 21.5 64 48v6.3V128v17.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48H176c9.9 0 19-3 26.7-8.1C195.9 492.2 192 478.5 192 464V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1zM347.3 356.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48l48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]\n};\nvar faPig = {\n prefix: 'fas',\n iconName: 'pig',\n icon: [640, 512, [128022], \"f706\", \"M513.5 32c8 0 14.5 6.5 14.5 14.5V78c0 19.7-9 37.8-23.6 49.7c6.4 4.9 12.7 10.1 18.6 15.7c17.6-15.9 28.5-38.6 29-63.3h40c8.8 0 16 7.2 16 16v16c0 32.8-24.6 59.8-56.3 63.5l6.8 9C570 200 585 212.5 602.2 221.1L608 224h8c13.3 0 24 10.7 24 24v96c0 13.3-10.7 24-24 24H572.5c-22.2 21.2-49.7 36.2-79.8 43.3l-13 45.5C475.8 470.5 463.3 480 449 480H416c-17.7 0-32-14.3-32-32V416H320 272v32c0 17.7-14.3 32-32 32H207c-14.3 0-26.8-9.5-30.8-23.2L155 382.4C110.3 358 80 310.5 80 256V240H47.4C21.2 240 0 218.8 0 192.6c0-21.8 14.8-40.7 35.9-46l8.2-2c8.6-2.1 17.3 3.1 19.4 11.6s-3.1 17.3-11.6 19.4l-8.2 2c-6.9 1.7-11.7 7.9-11.7 15c0 8.5 6.9 15.4 15.4 15.4H83.2C98 135 162.6 80 240 80H362.4c14.5 0 28.8 1.3 42.7 3.9c8.1-19.5 25.4-34.4 47-39.1l58.4-12.5c1-.2 2-.3 3-.3zM468 256a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faInboxFull = {\n prefix: 'fas',\n iconName: 'inbox-full',\n icon: [512, 512, [], \"e1ba\", \"M58.9 80.5C66 52 91.6 32 121 32H391c29.4 0 55 20 62.1 48.5l57 227.9c1.3 5.1 1.9 10.3 1.9 15.5V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V323.9c0-5.2 .6-10.4 1.9-15.5l57-227.9zM391 96H121L73 288h51.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H439L391 96zM176 144H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 80H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCircleEnvelope = {\n prefix: 'fas',\n iconName: 'circle-envelope',\n icon: [512, 512, [\"envelope-circle\"], \"e10c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM128 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v9.3L264.7 255.6c-2.7 1.2-5.7 1.9-8.7 1.9s-5.9-.6-8.7-1.9L128 201.3V192zm149.9 92.7L384 236.5V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V236.5l106.1 48.3c6.9 3.1 14.3 4.8 21.9 4.8s15-1.6 21.9-4.8z\"]\n};\nvar faEnvelopeCircle = faCircleEnvelope;\nvar faTrianglePersonDigging = {\n prefix: 'fas',\n iconName: 'triangle-person-digging',\n icon: [640, 512, [\"construction\"], \"f85d\", \"M354.5 51.8C347.3 39.5 334.2 32 320 32s-27.3 7.5-34.5 19.8l-216 368c-7.3 12.4-7.3 27.7-.2 40.1S89.7 480 104 480H536c14.3 0 27.6-7.7 34.7-20.1s7-27.8-.2-40.1l-216-368zM216.9 304.7l15.6 9.8 64 40c4.7 2.9 7.5 8.1 7.5 13.6v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V376.9l-40.9-25.5-24.5 55.2c-3.6 8.1-13 11.7-21.1 8.1s-11.7-13-8.1-21.1l32-72 7.5-16.8zm112-45.7l19.7 49.2L402 339l16.3-27.2c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l48 80c3 4.9 3 11.1 .2 16.1s-8.2 8.1-13.9 8.1H384c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l15.2-25.4L232 277.9c-3.8-2.2-6.6-5.9-7.6-10.2s-.2-8.8 2.3-12.5l4.2-6.4c10.3-15.5 27.7-24.8 46.3-24.8c22.7 0 43.2 13.8 51.6 34.9zM288 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faConstruction = faTrianglePersonDigging;\nvar faFerry = {\n prefix: 'fas',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M224 0H352c17.7 0 32 14.3 32 32h75.1c20.6 0 31.6 24.3 18.1 39.8L456 96H120L98.8 71.8C85.3 56.3 96.3 32 116.9 32H192c0-17.7 14.3-32 32-32zM96 128H480c17.7 0 32 14.3 32 32V283.5c0 13.3-4.2 26.3-11.9 37.2l-51.4 71.9c-1.9 1.1-3.7 2.2-5.5 3.5c-15.5 10.7-34 18-51 19.9H375.6c-17.1-1.8-35-9-50.8-19.9c-22.1-15.5-51.6-15.5-73.7 0c-14.8 10.2-32.5 18-50.6 19.9H183.9c-17-1.8-35.6-9.2-51-19.9c-1.8-1.3-3.7-2.4-5.6-3.5L75.9 320.7C68.2 309.8 64 296.8 64 283.5V160c0-17.7 14.3-32 32-32zm32 64v96H448V192H128zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faBullseyeArrow = {\n prefix: 'fas',\n iconName: 'bullseye-arrow',\n icon: [512, 512, [127919], \"f648\", \"M335.2 244.7c.5 3.7 .8 7.5 .8 11.3c0 44.2-35.8 80-80 80s-80-35.8-80-80s35.8-80 80-80c3.8 0 7.6 .3 11.3 .8l31.2-31.2L293.7 117c-12-3.3-24.7-5-37.7-5c-79.5 0-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144c0-13.1-1.7-25.7-5-37.7l-28.6-4.8-31.2 31.2zm110.1-20.8c1.8 10.4 2.7 21.1 2.7 32.1c0 106-86 192-192 192S64 362 64 256S150 64 256 64c10.9 0 21.6 .9 32.1 2.7l9.3-9.3 43.1-43.1C314 5 285.6 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-29.6-5-58-14.3-84.5l-43.1 43.1-9.3 9.3zm-80.2-43.1l50.7 8.4c10.2 1.7 20.6-1.6 27.9-8.9l51.2-51.2c8.1-8.1 5.3-21.9-5.4-26.2L432 80 409 22.5c-4.3-10.7-18-13.5-26.2-5.4L331.6 68.4c-7.3 7.3-10.6 17.7-8.9 27.9l8.4 50.7L239 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l92.1-92.1z\"]\n};\nvar faArrowsDownToPeople = {\n prefix: 'fas',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M144 0c-13.3 0-24 10.7-24 24V142.1L97 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24zM360 200a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 296a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5V400c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V345.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5zM415 153l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V142.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M512 32c0 113.6-84.6 207.5-194.2 222c-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64H64c123.7 0 224 100.3 224 224v32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z\"]\n};\nvar faSprout = faSeedling;\nvar faClockSeven = {\n prefix: 'fas',\n iconName: 'clock-seven',\n icon: [512, 512, [], \"e350\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V248.7l-60 90c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l64-96c2.6-3.9 4-8.6 4-13.3V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faLeftRight = {\n prefix: 'fas',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M504.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-192 0 0-56c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104C2.8 243 0 249.3 0 256s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-56 192 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'fas',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M256 48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V253.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H256V48zM571.3 347.3c6.2-6.2 6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 310.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0zM0 176c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V176zm352 80V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256H352zM144 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faCircleArrowLeft = {\n prefix: 'fas',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM231 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L376 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L119 273c-9.4-9.4-9.4-24.6 0-33.9L231 127z\"]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faFlashlight = {\n prefix: 'fas',\n iconName: 'flashlight',\n icon: [640, 512, [128294], \"f8b8\", \"M576 416h32c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H576V416zM544 97.7C449.1 107.9 384 160 384 160H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H384s65.1 52.1 160 62.3V97.7zM224 256c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32z\"]\n};\nvar faGroupArrowsRotate = {\n prefix: 'fas',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M201.1 71.9c16.9-5 26.6-22.9 21.5-39.8s-22.9-26.6-39.8-21.5c-21.5 6.4-41.8 15.5-60.6 27C114.3 34 105.4 32 96 32C60.7 32 32 60.7 32 96c0 9.4 2 18.3 5.6 26.3c-11.5 18.7-20.6 39-27 60.6c-5 16.9 4.6 34.8 21.5 39.8s34.8-4.6 39.8-21.5c4.3-14.6 10.4-28.5 17.9-41.4c2 .2 4.1 .3 6.1 .3c35.3 0 64-28.7 64-64c0-2.1-.1-4.1-.3-6.1c12.9-7.5 26.8-13.6 41.4-17.9zm128-61.3c-16.9-5-34.8 4.6-39.8 21.5s4.6 34.8 21.5 39.8c14.6 4.3 28.5 10.4 41.4 17.9c-.2 2-.3 4.1-.3 6.1c0 35.3 28.7 64 64 64c2.1 0 4.1-.1 6.2-.3c7.5 12.9 13.6 26.8 17.9 41.4c5 16.9 22.9 26.6 39.8 21.5s26.6-22.9 21.5-39.8c-6.4-21.5-15.5-41.8-27-60.6c3.6-8 5.6-16.9 5.6-26.3c0-35.3-28.7-64-64-64c-9.4 0-18.3 2-26.3 5.6c-18.7-11.5-39-20.6-60.6-27zM71.9 310.9c-5-16.9-22.9-26.6-39.8-21.5s-26.6 22.9-21.5 39.8c6.4 21.5 15.5 41.8 27 60.6C34 397.7 32 406.6 32 416c0 35.3 28.7 64 64 64c9.4 0 18.3-2 26.3-5.6c18.7 11.5 39 20.6 60.6 27c16.9 5 34.8-4.6 39.8-21.5s-4.6-34.8-21.5-39.8c-14.6-4.3-28.5-10.4-41.4-17.9c.2-2 .3-4.1 .3-6.2c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.2 .3c-7.5-12.9-13.6-26.8-17.9-41.4zm429.4 18.3c5-16.9-4.6-34.8-21.5-39.8s-34.8 4.6-39.8 21.5c-4.3 14.6-10.4 28.5-17.9 41.4c-2-.2-4.1-.3-6.2-.3c-35.3 0-64 28.7-64 64c0 2.1 .1 4.1 .3 6.2c-12.9 7.5-26.8 13.6-41.4 17.9c-16.9 5-26.6 22.9-21.5 39.8s22.9 26.6 39.8 21.5c21.5-6.4 41.8-15.5 60.6-27c8 3.6 16.9 5.6 26.3 5.6c35.3 0 64-28.7 64-64c0-9.4-2-18.3-5.6-26.3c11.5-18.7 20.6-39 27-60.6zM192.8 256.8c0-15.6 5.6-29.9 14.9-41.1L223 231c6.6 6.6 17.8 1.9 17.8-7.4V163.2c0-5.7-4.7-10.4-10.4-10.4H169.9c-9.3 0-13.9 11.2-7.4 17.8l11.2 11.2c-17.9 19.8-28.9 46.2-28.9 75.1c0 43.6 24.9 81.3 61.1 99.8c11.8 6 26.3 1.4 32.3-10.4s1.4-26.3-10.4-32.3c-20.8-10.6-34.9-32.2-34.9-57zm93.1-58.6c20.8 10.6 34.9 32.2 34.9 57c0 15.6-5.6 29.9-14.9 41.1L290.6 281c-6.6-6.6-17.8-1.9-17.8 7.4v60.5c0 5.7 4.7 10.4 10.4 10.4h60.5c9.3 0 13.9-11.2 7.4-17.8l-11.2-11.2c17.9-19.8 28.9-46.2 28.9-75.1c0-43.6-24.9-81.3-61.1-99.8c-11.8-6-26.3-1.4-32.3 10.4s-1.4 26.3 10.4 32.3z\"]\n};\nvar faBowlFood = {\n prefix: 'fas',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M0 192c0-35.3 28.7-64 64-64c.5 0 1.1 0 1.6 0C73 91.5 105.3 64 144 64c15 0 29 4.1 40.9 11.2C198.2 49.6 225.1 32 256 32s57.8 17.6 71.1 43.2C339 68.1 353 64 368 64c38.7 0 71 27.5 78.4 64c.5 0 1.1 0 1.6 0c35.3 0 64 28.7 64 64c0 11.7-3.1 22.6-8.6 32H8.6C3.1 214.6 0 203.7 0 192zm0 91.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z\"]\n};\nvar faSquare9 = {\n prefix: 'fas',\n iconName: 'square-9',\n icon: [448, 512, [], \"e25e\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 272a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-26 44.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C305.8 287.2 320 256.4 320 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M348.8 131.5c3.7-2.3 7.9-3.5 12.2-3.5c12.7 0 23 10.3 23 23v5.6c0 9.9-5.1 19.1-13.5 24.3L30.1 393.7C.1 412.5-9 451.9 9.7 481.9s58.2 39.1 88.2 20.4L438.4 289.5c45.8-28.6 73.6-78.8 73.6-132.8V151C512 67.6 444.4 0 361 0c-28.3 0-56 8-80.1 23L254.1 39.7c-30 18.7-39.1 58.2-20.4 88.2s58.2 39.1 88.2 20.4l26.8-16.8zM298.4 49.8c9.2-5.7 19.1-10.1 29.4-13.1L348 97.5c-5.7 1.4-11.2 3.7-16.3 6.8l-12.6 7.9L298.4 49.8zm88.5 52.7l46.2-46.2c8.5 6.5 16.1 14.1 22.6 22.6l-46.2 46.2c-5.1-9.6-13-17.5-22.6-22.6zm28.9 59.3l61.6 20.5c-2.2 10.5-5.8 20.7-10.5 30.2l-62-20.7c6.2-8.8 10.1-19.1 11-30.1zm-86.1 82.5l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zm-107.2 67l60.4 37.7-30.2 18.9-60.4-37.7 30.2-18.9zM119.3 375.7l60.4 37.7-30.2 18.9L89.1 394.6l30.2-18.9z\"]\n};\nvar faArrowDownWideShort = {\n prefix: 'fas',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 480c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320z\"]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faSquareDollar = {\n prefix: 'fas',\n iconName: 'square-dollar',\n icon: [448, 512, [\"dollar-square\", \"usd-square\"], \"f2e9\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM244.8 133.6v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\"]\n};\nvar faDollarSquare = faSquareDollar;\nvar faUsdSquare = faSquareDollar;\nvar faPhoneArrowRight = {\n prefix: 'fas',\n iconName: 'phone-arrow-right',\n icon: [512, 512, [], \"e5be\", \"M117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24zM425 7l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H430.1L391 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faHandHoldingSeedling = {\n prefix: 'fas',\n iconName: 'hand-holding-seedling',\n icon: [576, 512, [], \"f4bf\", \"M96 14.5C96 6.5 102.5 0 110.5 0H160c88.4 0 160 71.6 160 160v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V160H241.5C161.1 160 96 94.9 96 14.5zm384 0C480 89 424.1 150.3 352 159c-.2-44.9-15.9-86.2-42-118.8C338.2 15.2 375.3 0 416 0h49.5c8 0 14.5 6.5 14.5 14.5zm88.2 321.7c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faMessageCheck = {\n prefix: 'fas',\n iconName: 'message-check',\n icon: [512, 512, [\"comment-alt-check\"], \"f4a2\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm369 89c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 153z\"]\n};\nvar faCommentAltCheck = faMessageCheck;\nvar faCloudBolt = {\n prefix: 'fas',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M0 224c0 53 43 96 96 96h47.2L290 202.5c17.6-14.1 42.6-14 60.2 .2s22.8 38.6 12.8 58.8L333.7 320H352h64c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm330.1 3.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L177.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H281.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faThunderstorm = faCloudBolt;\nvar faChartLineUpDown = {\n prefix: 'fas',\n iconName: 'chart-line-up-down',\n icon: [512, 512, [], \"e5d7\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm313.4 57.4L288 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L208 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l112-112 18.7 18.7c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6V96.2v-.3V80c0-8.8-7.2-16-16-16H374.6C362.1 64 352 74.1 352 86.6c0 6 2.4 11.8 6.6 16l18.7 18.7zm64 141.3l-18.7 18.7-34.7-34.7-45.3 45.3 34.7 34.7-18.7 18.7c-4.2 4.2-6.6 10-6.6 16c0 12.5 10.1 22.6 22.6 22.6l89.4 0c8.8 0 16-7.2 16-16V278.6c0-12.5-10.1-22.6-22.6-22.6c-6 0-11.8 2.4-16 6.6z\"]\n};\nvar faTextSlash = {\n prefix: 'fas',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z\"]\n};\nvar faRemoveFormat = faTextSlash;\nvar faWatch = {\n prefix: 'fas',\n iconName: 'watch',\n icon: [384, 512, [8986], \"f2e1\", \"M112 0H272c26.5 0 48 21.5 48 48V72.2C283.7 46.8 239.6 32 192 32s-91.7 14.8-128 40.2V48C64 21.5 85.5 0 112 0zM64 464V439.8c36.3 25.3 80.4 40.2 128 40.2s91.7-14.8 128-40.2V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48zM0 256a192 192 0 1 1 384 0A192 192 0 1 1 0 256zM192 152c-13.3 0-24 10.7-24 24v80c0 8 4 15.5 10.7 20l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L216 243.2V176c0-13.3-10.7-24-24-24z\"]\n};\nvar faCircleDownLeft = {\n prefix: 'fas',\n iconName: 'circle-down-left',\n icon: [512, 512, [], \"e107\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM160 198.6V336c0 8.8 7.2 16 16 16H313.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L296 280l66.3-66.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-36.7-36.7C322 146 317.1 144 312 144s-10 2-13.7 5.7L232 216l-33.4-33.4c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6z\"]\n};\nvar faText = {\n prefix: 'fas',\n iconName: 'text',\n icon: [448, 512, [], \"f893\", \"M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H224 400c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H256l0 320h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H144c-17.7 0-32-14.3-32-32s14.3-32 32-32h48l0-320H64z\"]\n};\nvar faProjector = {\n prefix: 'fas',\n iconName: 'projector',\n icon: [640, 512, [], \"f8d6\", \"M440 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM281 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56 56c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L281 39zM585 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L495 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56-56zm-9 119H512c-26.7-20.1-60-32-96-32s-69.3 11.9-96 32H64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64l9.9 39.8C77.5 502 90.3 512 105 512h14c14.7 0 27.5-10 31-24.2L160 448H320c26.7 20.1 60 32 96 32c24.4 0 47.5-5.5 68.2-15.2l5.7 23c3.6 14.2 16.4 24.2 31 24.2h14c14.7 0 27.5-10 31-24.2L576 448c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64zM416 224a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM64 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFaceSmileWink = {\n prefix: 'fas',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faTombstoneBlank = {\n prefix: 'fas',\n iconName: 'tombstone-blank',\n icon: [448, 512, [129702, \"tombstone-alt\"], \"f721\", \"M224 0C118 0 32 86 32 192V416H416V192C416 86 330 0 224 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faTombstoneAlt = faTombstoneBlank;\nvar faChessKingPiece = {\n prefix: 'fas',\n iconName: 'chess-king-piece',\n icon: [256, 512, [\"chess-king-alt\"], \"f440\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H60.2C49.1 96 40 105.1 40 116.2c0 2.5 .5 4.9 1.3 7.3L73.8 208H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4L60 384H196L180 256h4c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.8l32.5-84.5c.9-2.3 1.3-4.8 1.3-7.3c0-11.2-9.1-20.2-20.2-20.2H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48z\"]\n};\nvar faChessKingAlt = faChessKingPiece;\nvar faCircle6 = {\n prefix: 'fas',\n iconName: 'circle-6',\n icon: [512, 512, [], \"e0f3\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-16a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-96 48c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C174.2 224.8 160 255.6 160 288z\"]\n};\nvar faLeft = {\n prefix: 'fas',\n iconName: 'left',\n icon: [448, 512, [\"arrow-alt-left\"], \"f355\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l160-160c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 96 184 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-184 0 0 96c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-160-160z\"]\n};\nvar faArrowAltLeft = faLeft;\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM111 257.1l26.8 89.2 31.6-90.3c3.4-9.6 12.5-16.1 22.7-16.1s19.3 6.4 22.7 16.1l31.6 90.3L273 257.1c3.8-12.7 17.2-19.9 29.9-16.1s19.9 17.2 16.1 29.9l-48 160c-3 10-12 16.9-22.4 17.1s-19.8-6.2-23.2-16.1L192 336.6l-33.3 95.3c-3.4 9.8-12.8 16.3-23.2 16.1s-19.5-7.1-22.4-17.1l-48-160c-3.8-12.7 3.4-26.1 16.1-29.9s26.1 3.4 29.9 16.1z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM136 240h68c42 0 76 34 76 76s-34 76-76 76H160v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V368 264c0-13.3 10.7-24 24-24zm68 104c15.5 0 28-12.5 28-28s-12.5-28-28-28H160v56h44z\"]\n};\nvar faSquareDown = {\n prefix: 'fas',\n iconName: 'square-down',\n icon: [448, 512, [11015, \"arrow-alt-square-down\"], \"f350\", \"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm39.1-185.4l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3H272V160c0-17.7-14.3-32-32-32H208c-17.7 0-32 14.3-32 32v96H118.3C106 256 96 266 96 278.3c0 6.2 2.6 12.1 7.1 16.3z\"]\n};\nvar faArrowAltSquareDown = faSquareDown;\nvar faObjectsAlignCenterVertical = {\n prefix: 'fas',\n iconName: 'objects-align-center-vertical',\n icon: [512, 512, [], \"e3bd\", \"M64 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V232h64V144c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448v88c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V280H224V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V80z\"]\n};\nvar faArrowsLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'fas',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M384 480c0 11.7 3.1 22.6 8.6 32H392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L490.7 166.3C447.2 181.7 416 223.2 416 272v24.6c-19.1 11.1-32 31.7-32 55.4V480zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faCloudArrowDown = {\n prefix: 'fas',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-167l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faWreath = {\n prefix: 'fas',\n iconName: 'wreath',\n icon: [448, 512, [], \"f7e2\", \"M122.2 42.6C131 17.8 154.7 0 182.6 0c15.8 0 30.2 5.7 41.4 15.2C235.2 5.7 249.6 0 265.4 0c27.9 0 51.6 17.8 60.3 42.6c5.8-1.7 11.9-2.6 18.2-2.6c35.3 0 64 28.7 64 64c0 6.3-.9 12.5-2.6 18.2c24.8 8.8 42.6 32.5 42.6 60.3c0 15.8-5.7 30.2-15.2 41.4c9.5 11.2 15.2 25.6 15.2 41.4c0 27.9-17.8 51.6-42.6 60.3c1.7 5.8 2.6 11.9 2.6 18.2c0 32.6-24.4 59.6-56 63.5v-3.7c0-28.6-23.2-51.8-51.8-51.8c-7.2 0-14.4 1.5-21 4.5L224 381l-55.2-24.5c-6.6-2.9-13.8-4.5-21-4.5C119.2 352 96 375.2 96 403.8v3.7c-31.6-3.9-56-30.9-56-63.5c0-6.3 .9-12.5 2.6-18.2C17.8 317 0 293.3 0 265.4c0-15.8 5.7-30.2 15.2-41.4C5.7 212.8 0 198.4 0 182.6c0-27.9 17.8-51.6 42.6-60.3C40.9 116.5 40 110.3 40 104c0-35.3 28.7-64 64-64c6.3 0 12.5 .9 18.2 2.6zM203 142.4c-5.7 6-13.6 9.4-21.9 9.1c-16.6-.6-30.2 13-29.6 29.6c.3 8.3-3 16.3-9.1 21.9c-12.1 11.3-12.1 30.6 0 41.9c6 5.7 9.4 13.6 9.1 21.9c-.6 16.6 13 30.2 29.6 29.6c8.3-.3 16.3 3 21.9 9.1c11.3 12.1 30.6 12.1 41.9 0c5.7-6 13.6-9.4 21.9-9.1c16.6 .6 30.2-13 29.6-29.6c-.3-8.3 3-16.3 9.1-21.9c12.1-11.3 12.1-30.6 0-41.9c-6-5.7-9.4-13.6-9.1-21.9c.6-16.6-13-30.2-29.6-29.6c-8.3 .3-16.3-3-21.9-9.1c-11.3-12.1-30.6-12.1-41.9 0zM128 403.8c0-10.9 8.9-19.8 19.8-19.8c2.8 0 5.5 .6 8 1.7L224 416l68.2-30.3c2.5-1.1 5.3-1.7 8-1.7c10.9 0 19.8 8.9 19.8 19.8v88.4c0 10.9-8.9 19.8-19.8 19.8c-2.8 0-5.5-.6-8-1.7L224 480l-68.2 30.3c-2.5 1.1-5.3 1.7-8 1.7c-10.9 0-19.8-8.9-19.8-19.8V403.8z\"]\n};\nvar faChildren = {\n prefix: 'fas',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M160 0a64 64 0 1 1 0 128A64 64 0 1 1 160 0zM88 480V400H70.2c-10.9 0-18.6-10.7-15.2-21.1l31.1-93.4L57.5 323.3c-10.7 14.1-30.8 16.8-44.8 6.2s-16.8-30.7-6.2-44.8L65.4 207c22.4-29.6 57.5-47 94.6-47s72.2 17.4 94.6 47l58.9 77.7c10.7 14.1 7.9 34.2-6.2 44.8s-34.2 7.9-44.8-6.2l-28.6-37.8L265 378.9c3.5 10.4-4.3 21.1-15.2 21.1H232v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V400H152v80c0 17.7-14.3 32-32 32s-32-14.3-32-32zM480 0a64 64 0 1 1 0 128A64 64 0 1 1 480 0zm-8 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V300.5L395.1 321c-9.4 15-29.2 19.4-44.1 10s-19.4-29.2-10-44.1l51.7-82.1c17.6-27.9 48.3-44.9 81.2-44.9h12.3c33 0 63.7 16.9 81.2 44.9L619.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L552 300.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H472z\"]\n};\nvar faMeterDroplet = {\n prefix: 'fas',\n iconName: 'meter-droplet',\n icon: [640, 512, [], \"e1ea\", \"M256 512c53.7 0 103.5-16.5 144.6-44.7C390 447.2 384 424.3 384 400c0-23.6 5.8-46.9 16.9-67.8l75.3-141.2c4.9-9.2 12.1-16.7 20.6-22.1C461.2 70.4 366.8 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512zM192 160v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm120.5 46.1L429.2 347.3C420.5 363.5 416 381.6 416 400c0 61.9 50.1 112 112 112s112-50.1 112-112c0-18.4-4.5-36.5-13.2-52.7L551.5 206.1c-4.6-8.7-13.7-14.1-23.5-14.1s-18.9 5.4-23.5 14.1z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M96 32C60.7 32 32 60.7 32 96V384H96V96l384 0V384h64V96c0-35.3-28.7-64-64-64H96zM224 384v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H416V384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'fas',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512H528L284.3 320h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H545.3l.3 0z\"]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faSignalStrong = {\n prefix: 'fas',\n iconName: 'signal-strong',\n icon: [640, 512, [\"signal-4\"], \"f68f\", \"M480 128c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V128zM352 224c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224zM192 288c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32zM96 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416z\"]\n};\nvar faSignal4 = faSignalStrong;\nvar faLollipop = {\n prefix: 'fas',\n iconName: 'lollipop',\n icon: [512, 512, [127853, \"lollypop\"], \"e424\", \"M210.8 334.8C265.3 314.2 304 261.6 304 200v-8c0-61.9-50.1-112-112-112S80 130.1 80 192c0 39.8 32.2 72 72 72s72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-35.3 28.7-64 64-64s64 28.7 64 64v8c0 53-43 96-96 96h-8C94.6 296 48 249.4 48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 73.2-54.6 133.6-125.2 142.8zM0 192C0 298 86 384 192 384c41.5 0 79.9-13.1 111.2-35.5L457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L348.5 303.2C370.9 271.9 384 233.5 384 192C384 86 298 0 192 0S0 86 0 192z\"]\n};\nvar faLollypop = faLollipop;\nvar faListTree = {\n prefix: 'fas',\n iconName: 'list-tree',\n icon: [512, 512, [], \"e1d2\", \"M24 48C10.7 48 0 58.7 0 72v48c0 13.3 10.7 24 24 24V256 384c0 30.9 25.1 56 56 56h48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H80c-4.4 0-8-3.6-8-8V280h56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H72V144c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H24zM160 96c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zM288 256c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0 160c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M64 208.1L256 65.9 448 208.1v47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5V208.1zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208.1c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z\"]\n};\nvar faDrawCircle = {\n prefix: 'fas',\n iconName: 'draw-circle',\n icon: [512, 512, [], \"f5ed\", \"M472.1 196.7c-20.8-76-80.7-135.9-156.7-156.7C305.8 16.5 282.8 0 256 0s-49.8 16.5-59.3 39.9c-76 20.8-135.9 80.7-156.7 156.7C16.5 206.2 0 229.2 0 256s16.5 49.8 39.9 59.3c20.8 76 80.7 135.9 156.7 156.7c9.5 23.4 32.5 39.9 59.3 39.9s49.8-16.5 59.3-39.9c76-20.8 135.9-80.7 156.7-156.7c23.4-9.5 39.9-32.5 39.9-59.3s-16.5-49.8-39.9-59.3zM408 206c-14.7 11.7-24 29.8-24 50s9.4 38.3 24 50c-15.8 48.2-53.9 86.2-102 102c-11.7-14.7-29.8-24-50-24s-38.3 9.4-50 24c-48.2-15.8-86.2-53.9-102-102c14.7-11.7 24-29.8 24-50s-9.4-38.3-24-50c15.8-48.2 53.9-86.2 102-102c11.7 14.7 29.8 24 50 24s38.3-9.4 50-24c48.2 15.8 86.2 53.9 102 102z\"]\n};\nvar faCatSpace = {\n prefix: 'fas',\n iconName: 'cat-space',\n icon: [640, 512, [], \"e001\", \"M576 160c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-32.5 12.1-62.1 32-84.7V160c0 53 43 96 96 96s96-43 96-96V75.3c19.9 22.6 32 52.2 32 84.7zM411.2 89.6L381.8 50.4C401.1 38.7 423.8 32 448 32s46.9 6.7 66.2 18.4L484.8 89.6c-3 4-7.8 6.4-12.8 6.4H424c-5 0-9.8-2.4-12.8-6.4zM480 316.8C553 302 608 237.4 608 160C608 71.6 536.4 0 448 0S288 71.6 288 160c0 11.7 1.3 23.1 3.6 34.1c-54.9 8.1-102.2 39.5-131.6 83.8V192.5c0-48.4-36.1-89.3-84.1-95.3l-7.9-1C50.4 94.1 34.4 106.5 32.2 124s10.2 33.5 27.8 35.7l7.9 1c16 2 28 15.6 28 31.8V416c0 53 43 96 96 96H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H280L416 339.2V480c0 17.7 14.3 32 32 32s32-14.3 32-32V316.8zM400 160a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM231.5 12.3c-2.6-7-12.4-7-15 0L205.8 41.1c-.8 2.2-2.5 3.9-4.7 4.7L172.3 56.5c-7 2.6-7 12.4 0 15l28.8 10.7c2.2 .8 3.9 2.5 4.7 4.7l10.7 28.8c2.6 7 12.4 7 15 0l10.7-28.8c.8-2.2 2.5-3.9 4.7-4.7l28.8-10.7c7-2.6 7-12.4 0-15L246.9 45.8c-2.2-.8-3.9-2.5-4.7-4.7L231.5 12.3z\"]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'fas',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM0 176V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6L41.2 128.5C17.9 131.8 0 151.8 0 176z\"]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faRabbitRunning = {\n prefix: 'fas',\n iconName: 'rabbit-running',\n icon: [576, 512, [\"rabbit-fast\"], \"f709\", \"M460.7 39.3l-2.2-2.1c-4.7-4.6-11.5-6.4-17.9-4.7s-11.4 6.6-13.1 13l-.8 2.9c-3.3 11.8-5.1 23.7-5.5 35.6c24.3 20.6 42.9 47.8 53.3 78.8c-8.2-1.9-16.5-2.9-25-2.9c-.6 0-1.1 0-1.7 0c-18.4-44-56.5-77.4-103.6-89.3l-3.4-.9c-6.2-1.6-12.9-.6-18.5 2.6c-10.8 6.2-15.6 19.5-11.2 31.1c14.9 39.5 44.3 71.4 81.4 89.7c-3.7 6.6-6.4 14-7.6 21.8L279.7 154.9C248.8 137.3 213.8 128 178.2 128c-32.3 0-62.2 16.8-78.9 44.4C89 159.9 73.4 152 56 152c-30.9 0-56 25.1-56 56s25.1 56 56 56c11.3 0 21.8-3.3 30.6-9.1c4.9 17.2 14.5 33.1 28.4 45.9L257.2 431.2C269 442 284.4 448 300.4 448H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 335.2 320V340.5c0-42.9-28.4-80.5-69.6-92.3l-30.8-8.8c-8.5-2.4-13.4-11.3-11-19.8s11.3-13.4 19.8-11l30.8 8.8c55 15.7 92.8 65.9 92.8 123.1v15.7l56-32.4 6.4-3.7H515.7c33.3 0 60.3-27 60.3-60.3c0-18.1-8.2-35.3-22.2-46.7l-34.6-28.2c-4.6-3.7-9.4-7.1-14.5-10c8.4-49.3-7.8-100-43.9-135.5zm-318.5 382c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9l46-30.7-48.6-44.5-32.9 22zM480 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faRabbitFast = faRabbitRunning;\nvar faMemoPad = {\n prefix: 'fas',\n iconName: 'memo-pad',\n icon: [448, 512, [], \"e1da\", \"M0 64V96H448V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64zm0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V128H0zm96 96c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16z\"]\n};\nvar faMattressPillow = {\n prefix: 'fas',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M256 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H256V64zm32 384H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H288V448zM64 160c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faAlarmPlus = {\n prefix: 'fas',\n iconName: 'alarm-plus',\n icon: [512, 512, [], \"f844\", \"M14.9 146.4C5.5 131.6 0 114 0 95.2C0 42.6 42.6 0 95.2 0c25 0 47.8 9.6 64.8 25.4L14.9 146.4zM390.2 467.4C352.8 495.4 306.3 512 256 512s-96.8-16.6-134.1-44.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l35.2-35.2C48.6 384.8 32 338.3 32 288C32 164.3 132.3 64 256 64s224 100.3 224 224c0 50.3-16.6 96.8-44.6 134.2l35.2 35.2c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-35.2-35.2zM352 25.4C369 9.6 391.8 0 416.8 0C469.4 0 512 42.6 512 95.2c0 18.8-5.5 36.3-14.9 51.1L352 25.4zM256 176c-13.3 0-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24z\"]\n};\nvar faAlicorn = {\n prefix: 'fas',\n iconName: 'alicorn',\n icon: [640, 512, [], \"f6b0\", \"M448 160v78.1V240h0c-.5 30-12.8 56.4-32 75.7V480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V346.7c-4.1-.7-8.2-1.6-12.3-2.8l-84-24c.2 2.3 .3 4.6 .3 6.9c0 18.6-7.4 36.5-20.6 49.7l-12.7 12.7c-4.8 4.8-6.4 11.8-4.3 18.2l20.8 62.5c6.9 20.7-8.5 42.1-30.4 42.1H143.1c-13.8 0-26-8.8-30.4-21.9L95.3 437.7c-10.6-31.7-6.5-65.9 10-93.9c7.6-12.9 9.5-29.1 1.2-41.6L78.2 259.9c-7.3-11-11.9-23.4-13.6-36.4C54.6 230.8 48 242.6 48 256v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-44.6 33.2-81.5 76.3-87.2c13-21.4 35.2-36.5 61.1-40c3.8 15.3 9.2 29.8 16.5 43c11.3 20.4 27.4 37.7 49.9 49.8c6.3 3.4 13.1 6.4 20.3 8.8c-16.5-11.4-28.9-26-38.2-42.7C163.8 147.9 160 96.1 160 48c0-5.9 3.2-11.3 8.5-14.1s11.5-2.5 16.4 .8L320 124.8C321.7 55.6 378.4 0 448 0h16 16 64c8.8 0 16 7.2 16 16s-7.2 16-16 16h-5.7c5.2 4.6 9.6 10 13.1 16h79.3c5.1 0 9.3 4.2 9.3 9.3c0 4-2.6 7.6-6.4 8.8L560 90.7v64.8c0 22.1-13.4 41.9-33.9 50.1c-26.1 10.4-55.7-.9-68.3-26L448 160zm64-80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faCommentQuestion = {\n prefix: 'fas',\n iconName: 'comment-question',\n icon: [512, 512, [], \"e14b\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM169.8 149.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 248.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V234.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faGingerbreadMan = {\n prefix: 'fas',\n iconName: 'gingerbread-man',\n icon: [448, 512, [], \"f79d\", \"M296.9 158.5c-5.2 6-1.2 17.5 6.7 17.5H368c35.3 0 64 28.7 64 64s-28.7 64-64 64H347.1c-19 0-29.4 22.2-17.2 36.7L385.2 407c22.6 27.2 19 67.5-8.2 90.1s-67.5 19-90.1-8.2l-45.6-54.8c-9-10.7-25.5-10.7-34.4 0L161.2 489c-22.6 27.2-63 30.8-90.1 8.2s-30.8-63-8.2-90.1l55.2-66.3c12.2-14.6 1.8-36.7-17.2-36.7H80c-35.3 0-64-28.7-64-64s28.7-64 64-64h64.4c7.9 0 11.9-11.5 6.7-17.5C136.7 141.7 128 119.9 128 96c0-53 43-96 96-96s96 43 96 96c0 23.9-8.7 45.7-23.1 62.5zM192 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGuaraniSign = {\n prefix: 'fas',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M192 0c-17.7 0-32 14.3-32 32V66.7C69.2 81.9 0 160.9 0 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c90.8-15.2 160-94.2 160-189.3c0-17.7-14.3-32-32-32H224V132c22.1 5.7 41.8 17.1 57.6 32.6c12.6 12.4 32.9 12.2 45.3-.4s12.2-32.9-.5-45.3C299 92 263.5 73.3 224 66.7V32c0-17.7-14.3-32-32-32zM160 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124zM224 380V288h92c-11.6 45-47 80.4-92 92z\"]\n};\nvar faBurgerFries = {\n prefix: 'fas',\n iconName: 'burger-fries',\n icon: [640, 512, [], \"e0cd\", \"M183.2 1.7c-5-2.5-10.8-2.2-15.6 .7S160 10.5 160 16V206.7l0 0v63.2c9.2 1.4 19.8 2.2 32 2.2s22.8-.8 32-2.2V31.8c-.1-6-3.5-11.4-8.8-14.1l-32-16zM128 14.7l-.2-1.3c-.8-5-4-9.3-8.5-11.6s-9.9-2.3-14.4-.1l-32 16c-6.3 3.1-9.8 10-8.6 16.9l32 192c.5 1.2 .9 2.3 1.2 3.4c2 6.3 6.7 15.9 18.7 24.3c3.2 2.2 7.1 4.5 11.8 6.6V14.7zM40.3 85.6L19.9 80.5c-5.3-1.3-10.8 .1-14.8 3.8S-.7 93.4 .2 98.8l16.5 93.4c1.6-.1 3.1-.2 4.7-.2H48c3.6 0 7 .4 10.2 1L40.3 85.6zM383.8 98.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8L346.2 85l-19 107.8c2-.3 4-.6 6.1-.7c11-6.5 23.3-12.3 37.1-17.2l13.4-76.1zM276.3 337.2c-11.8-10.4-19.5-25.3-20.2-42.1c-16.6 5.4-37.6 8.8-64.1 8.8c-91.7 0-117.7-41-125.1-64.3C64.3 231.2 56.8 224 48 224H21.4C9.6 224 0 233.6 0 245.4c0 1.7 .2 3.4 .6 5.1l57.5 237C61.5 501.9 74.4 512 89.2 512H272c-10-13.4-16-30-16-48c0-14.7 6.6-27.8 17-36.6c-10.5-11.4-17-26.6-17-43.4c0-18.5 7.8-35.1 20.3-46.8zm-8.5-82.9c.8-.6 1.6-1.1 2.4-1.7c4.1-6.6 9.4-14 16.1-21.6c.1-.3 .2-.6 .3-.9c.7-2.3 1.7-4.7 2.8-7L319.8 50.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8l-32 8C262 42 257.3 47 256.2 53.2l-.2 1.4V261c4.8-2.1 8.7-4.4 11.8-6.6zm372.2 38c0-3-.5-5.9-1.7-8.6c-8.1-18.4-48.4-91.9-174.3-91.9s-166.2 73.5-174.3 91.9c-1.2 2.7-1.7 5.7-1.7 8.6c0 15.2 12.3 27.5 27.5 27.5H612.5c15.2 0 27.5-12.3 27.5-27.5zM384 239.8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm96 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-224 112c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm-16 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16H304z\"]\n};\nvar faMugTea = {\n prefix: 'fas',\n iconName: 'mug-tea',\n icon: [576, 512, [], \"f875\", \"M144 64v50.7c0 8.5-3.4 16.6-9.4 22.6l-29.3 29.3c-6 6-9.4 14.1-9.4 22.6V256c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V189.3c0-8.5-3.4-16.6-9.4-22.6l-29.3-29.3c-6-6-9.4-14.1-9.4-22.6V64H384h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H416v32c0 53-43 96-96 96H128c-53 0-96-43-96-96V96c0-17.7 14.3-32 32-32h80zM416 256h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H416V256z\"]\n};\nvar faBorderTop = {\n prefix: 'fas',\n iconName: 'border-top',\n icon: [448, 512, [], \"f855\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zm64 96A32 32 0 1 1 0 160a32 32 0 1 1 64 0zm320 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-128 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 352a32 32 0 1 1 64 0A32 32 0 1 1 0 352zm448 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-256 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm320 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-128 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm448 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-256 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faArrowsRotate = {\n prefix: 'fas',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V448c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H176c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z\"]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faCircleBookOpen = {\n prefix: 'fas',\n iconName: 'circle-book-open',\n icon: [512, 512, [\"book-circle\"], \"e0ff\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 336c-23.1 0-41 11.1-46.3 14.8c-1.1 .8-2.4 1.2-3.7 1.2c-3.3 0-5.9-2.7-5.9-5.9V185.3c0-5.8 3.1-11.1 8.3-13.5c10.4-4.7 29.1-11.9 47.7-11.9s37.2 7.1 47.7 11.9c5.2 2.4 8.3 7.7 8.3 13.5V346.1c0 3.3-2.7 5.9-5.9 5.9c-1.3 0-2.6-.4-3.7-1.2C225 347.1 207.1 336 184 336zm144 0c-23.1 0-41 11.1-46.3 14.8c-1.1 .8-2.4 1.2-3.7 1.2c-3.3 0-5.9-2.7-5.9-5.9V185.3c0-5.8 3.1-11.1 8.3-13.5c10.4-4.7 29.1-11.9 47.7-11.9s37.2 7.1 47.7 11.9c5.2 2.4 8.3 7.7 8.3 13.5V346.1c0 3.3-2.7 5.9-5.9 5.9c-1.3 0-2.6-.4-3.7-1.2C369 347.1 351.1 336 328 336z\"]\n};\nvar faBookCircle = faCircleBookOpen;\nvar faArrowsToDottedLine = {\n prefix: 'fas',\n iconName: 'arrows-to-dotted-line',\n icon: [448, 512, [], \"e0a6\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H256V32zM201.4 329.4l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM32 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104H224v34.8c37.8 18 64 56.5 64 101.2V384H64V240c0-44.7 26.2-83.2 64-101.2V110c-36.2 11.1-66 36.9-82.3 70.5c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C26.7 109.8 72.7 72.6 128 60.4V32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V56h65c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM288 416v32c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V416H288zM176 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGarageOpen = {\n prefix: 'fas',\n iconName: 'garage-open',\n icon: [640, 512, [], \"e00b\", \"M0 171.3V488c0 13.3 10.7 24 24 24H72c13.3 0 24-10.7 24-24V224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V488c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V171.3c0-26.2-15.9-49.7-40.2-59.4L331.9 4.8c-7.6-3.1-16.1-3.1-23.8 0L40.2 111.9C15.9 121.6 0 145.2 0 171.3zM194.1 320l-5.2 15c-17.2 9.5-28.9 27.9-28.9 49v96c0 17.7 14.3 32 32 32s32-14.3 32-32V464H416v16c0 17.7 14.3 32 32 32s32-14.3 32-32V384c0-21.1-11.7-39.5-28.9-49l-5.2-15H395l2.8 8H242.2l2.8-8H194.1zM240 376a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM512 224H128v64H512V224z\"]\n};\nvar faShelvesEmpty = {\n prefix: 'fas',\n iconName: 'shelves-empty',\n icon: [640, 512, [], \"e246\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V192 448v32c0 17.7 14.3 32 32 32s32-14.3 32-32H576c0 17.7 14.3 32 32 32s32-14.3 32-32V448 192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V160H64V32zm0 192H576V416H64V224z\"]\n};\nvar faCruzeiroSign = {\n prefix: 'fas',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M96 256c0-88.4 71.6-160 160-160c41 0 78.3 15.4 106.7 40.7c13.2 11.8 33.4 10.7 45.2-2.5s10.7-33.4-2.5-45.2c-39.6-35.5-92-57-149.3-57C132.3 32 32 132.3 32 256s100.3 224 224 224c57.4 0 109.7-21.6 149.3-57c13.2-11.8 14.3-32 2.5-45.2s-32-14.3-45.2-2.5C334.3 400.6 297 416 256 416V320v-8.7c0-12.8 10.4-23.3 23.3-23.3c4.6 0 9.1 1.4 12.9 3.9l10.1 6.7c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4l-10.1-6.7c-14.3-9.6-31.2-14.7-48.4-14.7c-12.4 0-24.2 2.6-34.9 7.3c-5.5-4.5-12.6-7.3-20.3-7.3c-17.7 0-32 14.3-32 32v55.3V320v82.7C135.5 378 96 321.6 96 256z\"]\n};\nvar faWatchApple = {\n prefix: 'fas',\n iconName: 'watch-apple',\n icon: [384, 512, [], \"e2cb\", \"M64 48H320c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48zM80 80C35.8 80 0 115.8 0 160V352c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V160c0-44.2-35.8-80-80-80H80zM192 213.3a42.7 42.7 0 1 1 0 85.3 42.7 42.7 0 1 1 0-85.3zM213.3 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-74.7-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm74.7-160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-74.7-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 512H272c26.5 0 48-21.5 48-48H64c0 26.5 21.5 48 48 48z\"]\n};\nvar faWatchCalculator = {\n prefix: 'fas',\n iconName: 'watch-calculator',\n icon: [384, 512, [], \"f8f0\", \"M64 48H320c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48zM80 80C35.8 80 0 115.8 0 160V352c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V160c0-44.2-35.8-80-80-80H80zm0 64H304c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zm32 128a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm80 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm128-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM88 384a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm128-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm80 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM112 512H272c26.5 0 48-21.5 48-48H64c0 26.5 21.5 48 48 48z\"]\n};\nvar faListDropdown = {\n prefix: 'fas',\n iconName: 'list-dropdown',\n icon: [512, 512, [], \"e1cf\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 192V416H64V192H448zM436.7 96c7.1 0 10.7 8.6 5.7 13.7l-36.7 36.7c-3.1 3.1-8.2 3.1-11.3 0l-36.7-36.7c-5-5-1.5-13.7 5.7-13.7h73.4zM128 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H384c13.3 0 24-10.7 24-24s-10.7-24-24-24H128zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H384c13.3 0 24-10.7 24-24s-10.7-24-24-24H128z\"]\n};\nvar faCabinetFiling = {\n prefix: 'fas',\n iconName: 'cabinet-filing',\n icon: [448, 512, [128452], \"f64b\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V240H0V64zM0 272H448V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V272zM128 128v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zm0 256v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBurgerSoda = {\n prefix: 'fas',\n iconName: 'burger-soda',\n icon: [640, 512, [], \"f858\", \"M249.3 0c-26 0-48.6 17.9-54.5 43.2l-20 84.8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H333.4c14-8.2 30.1-15.4 48.6-20.9c1.3-3.5 2-7.2 2-11.1c0-17.7-14.3-32-32-32H224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3zM40 224L60.3 468c2.1 24.9 22.9 44 47.8 44H272c-10-13.4-16-30-16-48c0-14.7 6.6-27.8 17-36.6c-10.5-11.4-17-26.6-17-43.4c0-18.5 7.8-35.1 20.3-46.8c-12.4-10.9-20.3-26.9-20.3-44.8c0-6.3 1-13.8 4.4-21.5c4.2-9.5 13.8-27.8 32.2-47H40zm600 68.3c0-3-.5-5.9-1.7-8.6c-8.1-18.4-48.4-91.9-174.3-91.9s-166.2 73.5-174.3 91.9c-1.2 2.7-1.7 5.7-1.7 8.6c0 15.2 12.3 27.5 27.5 27.5H612.5c15.2 0 27.5-12.3 27.5-27.5zM384 239.8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm96 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-224 112c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm-16 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16H304z\"]\n};\nvar faSquareArrowUp = {\n prefix: 'fas',\n iconName: 'square-arrow-up',\n icon: [448, 512, [\"arrow-square-up\"], \"f33c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm177 87L353 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 119c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faArrowSquareUp = faSquareArrowUp;\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M52.1 93.7C35.7 87.1 27.7 68.5 34.3 52.1s25.2-24.4 41.6-17.8l320 128C408 167.1 416 178.9 416 192s-8 24.9-20.1 29.7l-320 128c-16.4 6.6-35-1.4-41.6-17.8s1.4-35 17.8-41.6L297.8 192 52.1 93.7zM416 416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416z\"]\n};\nvar faPalletBox = {\n prefix: 'fas',\n iconName: 'pallet-box',\n icon: [640, 512, [], \"e208\", \"M176 0h80V112c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L320 99.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V0h80c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM0 352c0-17.7 14.3-32 32-32H96 320 544h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576v64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H544 320 96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V384H32c-17.7 0-32-14.3-32-32zm128 96H288V384H128v64zm224 0H512V384H352v64z\"]\n};\nvar faFaceConfounded = {\n prefix: 'fas',\n iconName: 'face-confounded',\n icon: [512, 512, [], \"e36c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM116 205.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zm-161.6 160L256 380.8l39.1-26.1c5.4-3.6 12.4-3.6 17.8 0l40.3 26.8 23.7-11.8c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-32 16c-5.1 2.6-11.3 2.2-16-1L304 387.2l-39.1 26.1c-5.4 3.6-12.4 3.6-17.8 0L208 387.2l-39.1 26.1c-4.8 3.2-10.9 3.6-16 1l-32-16c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2l23.7 11.8 40.3-26.8c5.4-3.6 12.4-3.6 17.8 0z\"]\n};\nvar faShieldHalved = {\n prefix: 'fas',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z\"]\n};\nvar faShieldAlt = faShieldHalved;\nvar faTruckPlow = {\n prefix: 'fas',\n iconName: 'truck-plow',\n icon: [640, 512, [], \"f7de\", \"M192 96v96H327.5L269.9 96H192zm-64 96V80c0-26.5 21.5-48 48-48h93.9c22.5 0 43.3 11.8 54.9 31.1L402.1 192H448c17.7 0 32 14.3 32 32v64h32V176c0-7.3 2.5-14.3 7-20l64-80c11-13.8 31.2-16 45-5s16 31.2 5 45l-57 71.2V320v36.8L633 428c11 13.8 8.8 33.9-5 45s-33.9 8.8-45-5l-64-80c-4.5-5.7-7-12.7-7-20V352H474.5c3.5 10 5.5 20.8 5.5 32c0 53-43 96-96 96s-96-43-96-96c0-11.2 1.9-22 5.5-32H224c-1.9 0-3.8-.2-5.6-.5c3.7 10.2 5.6 21.1 5.6 32.5c0 53-43 96-96 96s-96-43-96-96c0-11.2 1.9-22 5.5-32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32h96zm32 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm256 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBookAtlas = {\n prefix: 'fas',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM247.4 283.8c-3.7 3.7-6.2 4.2-7.4 4.2s-3.7-.5-7.4-4.2c-3.8-3.7-8-10-11.8-18.9c-6.2-14.5-10.8-34.3-12.2-56.9h63c-1.5 22.6-6 42.4-12.2 56.9c-3.8 8.9-8 15.2-11.8 18.9zm42.7-9.9c7.3-18.3 12-41.1 13.4-65.9h31.1c-4.7 27.9-21.4 51.7-44.5 65.9zm0-163.8c23.2 14.2 39.9 38 44.5 65.9H303.5c-1.4-24.7-6.1-47.5-13.4-65.9zM368 192a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM145.3 208h31.1c1.4 24.7 6.1 47.5 13.4 65.9c-23.2-14.2-39.9-38-44.5-65.9zm31.1-32H145.3c4.7-27.9 21.4-51.7 44.5-65.9c-7.3 18.3-12 41.1-13.4 65.9zm56.1-75.8c3.7-3.7 6.2-4.2 7.4-4.2s3.7 .5 7.4 4.2c3.8 3.7 8 10 11.8 18.9c6.2 14.5 10.8 34.3 12.2 56.9h-63c1.5-22.6 6-42.4 12.2-56.9c3.8-8.9 8-15.2 11.8-18.9z\"]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H43.5c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H468.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5V32zM176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGridRound2 = {\n prefix: 'fas',\n iconName: 'grid-round-2',\n icon: [512, 512, [], \"e5db\", \"M128 32a96 96 0 1 0 0 192 96 96 0 1 0 0-192zm0 256a96 96 0 1 0 0 192 96 96 0 1 0 0-192zM288 128a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zm96 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]\n};\nvar faCommentMiddleTop = {\n prefix: 'fas',\n iconName: 'comment-middle-top',\n icon: [512, 512, [], \"e14a\", \"M188.3 103.3l44.5-89C237.2 5.5 246.2 0 256 0s18.8 5.5 23.2 14.3l44.5 89C432.2 127.5 512 208.2 512 304c0 114.9-114.6 208-256 208S0 418.9 0 304c0-95.8 79.8-176.5 188.3-200.7z\"]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'fas',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0l57.4-43c23.9-59.8 79.7-103.3 146.3-109.8l13.9-10.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176V384c0 35.3 28.7 64 64 64H360.2C335.1 417.6 320 378.5 320 336c0-5.6 .3-11.1 .8-16.6l-26.4 19.8zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z\"]\n};\nvar faRestroomSimple = {\n prefix: 'fas',\n iconName: 'restroom-simple',\n icon: [640, 512, [], \"e23a\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM25.9 233.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4zM320 0c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM512 128A64 64 0 1 0 512 0a64 64 0 1 0 0 128zm-15.7 32c-28.6 0-53.7 18.9-61.5 46.4L395.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H448v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V384h21.6c21.3 0 36.6-20.3 30.8-40.8L589.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H496.3z\"]\n};\nvar faArrowsToDot = {\n prefix: 'fas',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M256 0c17.7 0 32 14.3 32 32V64h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H288v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H192c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224H64V192c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H448v32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBorderOuter = {\n prefix: 'fas',\n iconName: 'border-outer',\n icon: [448, 512, [], \"f851\", \"M64 96l0 320H384V96H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-64 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faHashtagLock = {\n prefix: 'fas',\n iconName: 'hashtag-lock',\n icon: [576, 512, [], \"e415\", \"M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32c0 .4 0 .8 0 1.1c-24.1 3.5-45.8 14.6-62.4 30.9H347.1L325.8 320h2.8c-5.4 9.4-8.6 20.3-8.6 32v32h-4.9l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1zM464 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faClockTwoThirty = {\n prefix: 'fas',\n iconName: 'clock-two-thirty',\n icon: [512, 512, [], \"e35b\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V256c0-8 4-15.5 10.7-20l96-64c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3L280 268.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H96h64V352c0-53 43-96 96-96s96 43 96 96V480h64 64c17.7 0 32-14.3 32-32s-14.3-32-32-32V128H32V416z\"]\n};\nvar faHeartCircleCheck = {\n prefix: 'fas',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHouseChimneyCrack = {\n prefix: 'fas',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24z\"]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'fas',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm-6.3 71.8c3.7-14 16.4-23.8 30.9-23.8h14.8c14.5 0 27.2 9.7 30.9 23.8l23.5 88.2c1.4 5.4 2.1 10.9 2.1 16.4c0 35.2-28.8 63.7-64 63.7s-64-28.5-64-63.7c0-5.5 .7-11.1 2.1-16.4l23.5-88.2zM112 336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faHeartHalf = {\n prefix: 'fas',\n iconName: 'heart-half',\n icon: [512, 512, [], \"e1ab\", \"M256 96L244 84l0 0c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9l0-50.7 0-265.4V96z\"]\n};\nvar faCommentCheck = {\n prefix: 'fas',\n iconName: 'comment-check',\n icon: [512, 512, [], \"f4ac\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM369 193L241 321c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 159c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faMemo = {\n prefix: 'fas',\n iconName: 'memo',\n icon: [384, 512, [], \"e1d8\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'fas',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM256 210.7L109.3 64H402.7L256 210.7z\"]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M64 160C64 89.3 121.3 32 192 32H448c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128V272c0-38.7-27.5-71-64-78.4V160zM544 272c0-20.9 13.4-38.7 32-45.3c5-1.8 10.4-2.7 16-2.7c26.5 0 48 21.5 48 48V448c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48c5.6 0 11 1 16 2.7c18.6 6.6 32 24.4 32 45.3v48 32h32H512h32V320 272z\"]\n};\nvar faCediSign = {\n prefix: 'fas',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V66.7C101.2 81.9 32 160.9 32 256s69.2 174.1 160 189.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3c30.9-5.2 59.2-17.7 83.2-35.8c14.1-10.6 17-30.7 6.4-44.8s-30.7-17-44.8-6.4c-13.2 9.9-28.3 17.3-44.8 21.6V132c16.4 4.2 31.6 11.6 44.8 21.6c14.1 10.6 34.2 7.8 44.8-6.4s7.8-34.2-6.4-44.8c-24-18-52.4-30.6-83.2-35.8V32zM192 132V380c-55.2-14.2-96-64.3-96-124s40.8-109.8 96-124z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z\"]\n};\nvar faGlassCitrus = {\n prefix: 'fas',\n iconName: 'glass-citrus',\n icon: [512, 512, [], \"f869\", \"M448 144c0-44.2-35.8-80-80-80c-26.2 0-49.4 12.6-64 32H232.2C252 40.1 305.3 0 368 0c79.5 0 144 64.5 144 144c0 78.4-62.6 142.1-140.5 144l6.5-64.6c39.5-4.9 70-38.6 70-79.4zM249.3 224l-.1 1.3-.9-1.3h1zM8.3 138.5C14.3 131.8 23 128 32 128H320c9 0 17.7 3.8 23.7 10.5s9 15.7 8.1 24.7L322.7 454.4C319.5 487.1 291.9 512 259 512H93c-32.9 0-60.4-24.9-63.7-57.6L.2 163.2c-.9-9 2-18 8.1-24.7zM67.4 192l6.4 64H278.2l6.4-64H67.4z\"]\n};\nvar faCalendarLinesPen = {\n prefix: 'fas',\n iconName: 'calendar-lines-pen',\n icon: [576, 512, [], \"e472\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448v43.6L289.3 394.3c-8.2 8.2-14 18.5-16.8 29.7l-15 60.1c-2.3 9.4-1.8 19 1.4 27.8H48c-26.5 0-48-21.5-48-48V192zm120 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM96 392c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V251.2c0-16.9-8.8-32.5-23.3-41.2L344 142.4V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"]\n};\nvar faPersonSnowmobiling = {\n prefix: 'fas',\n iconName: 'person-snowmobiling',\n icon: [640, 512, [\"snowmobile\"], \"f7d1\", \"M240 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM373.5 85.3c-5.9-11.9-20.3-16.7-32.2-10.7s-16.7 20.3-10.7 32.2l37.4 74.7L360 192H304l-61.7-55.6c-11.8-10.6-27-16.4-42.8-16.4h-.9c-23.7 0-45.5 13.1-56.6 34.1l-35.3 66.6c-11.4 21.6-9.4 47.8 5.3 67.4H99.8c-12.1 0-23.2 6.8-28.6 17.7l-32 64c-2.5 5-3.6 10.2-3.4 15.2c4-.6 8.1-.9 12.3-.9H272c26.2 0 49.4 12.6 64 32H450l36 48H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H576c6.4 0 12.5-2.5 17-7l40-40c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-33 33H546l-46-61.3 68.9-45.9c4.5-3 7.1-8 7.1-13.3V265.9c0-6.1-3.4-11.6-8.8-14.3L419.8 177.9 373.5 85.3zM298.5 256H312l-24 32H264l-72-32 32-48 29.3 29.3c12 12 28.3 18.7 45.3 18.7zM48 416c-26.5 0-48 21.5-48 48s21.5 48 48 48H272c26.5 0 48-21.5 48-48s-21.5-48-48-48H48z\"]\n};\nvar faSnowmobile = faPersonSnowmobiling;\nvar faFaceHushed = {\n prefix: 'fas',\n iconName: 'face-hushed',\n icon: [512, 512, [], \"e37b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM179 160.9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9zm141-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9zM256 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.2 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9l0 0 0 0 .2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2 0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129zM228 72c0-11-9-20-20-20s-20 9-20 20V86c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V280c0 11 9 20 20 20s20-9 20-20V266.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V72z\"]\n};\nvar faPickaxe = {\n prefix: 'fas',\n iconName: 'pickaxe',\n icon: [512, 512, [], \"e5bf\", \"M462.4 373.5l0 0-.1-.2-.3-.8c-.3-.7-.7-1.8-1.3-3.3c-1.2-2.9-3-7.2-5.5-12.7c-5-11-12.6-26.7-23.1-45.3c-21-37.3-53.6-86-99.5-132s-94.7-78.5-132-99.5c-18.6-10.5-34.3-18.1-45.3-23.1c-5.5-2.5-9.8-4.3-12.7-5.5c-1.4-.6-2.5-1-3.3-1.3l-.8-.3-.2-.1 0 0 0 0c-6.2-2.3-10.4-8.2-10.5-14.8s3.9-12.6 10-15.1C169.5 7 204 0 240 0c59.6 0 114.7 19.2 159.5 51.6l9.4-9.8c6-6.2 14.2-9.7 22.8-9.8s16.9 3.3 22.9 9.4l16 16c6.1 6.1 9.5 14.3 9.4 22.9s-3.6 16.8-9.8 22.8l-9.8 9.4C492.8 157.3 512 212.4 512 272c0 36-7 70.5-19.8 102c-2.5 6.1-8.5 10.1-15.1 10s-12.5-4.3-14.8-10.5l0 0zM9.4 502.6C-3 490.3-3.1 470.4 8.9 457.8l272-282.9c9.7 8.4 19.5 17.4 29.1 27s18.6 19.4 27 29.1L54.2 503.1c-12.6 12.1-32.5 11.9-44.8-.4z\"]\n};\nvar faLinkSimpleSlash = {\n prefix: 'fas',\n iconName: 'link-simple-slash',\n icon: [640, 512, [], \"e1ce\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L532.4 392c45.4-28.2 75.6-78.6 75.6-136c0-88.4-71.6-160-160-160H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c53 0 96 43 96 96c0 43.3-28.6 79.8-67.9 91.8L399.7 288H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H318.1l-81.7-64H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-11.3 0-22.3 1.2-32.9 3.4L38.8 5.1zM121 191.4L70.7 151.7C46.6 179.7 32 216.1 32 256c0 88.4 71.6 160 160 160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-53 0-96-43-96-96c0-24.9 9.5-47.6 25-64.6z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M64 32c0-8.9 3.8-20.9 6.2-27.3C71.2 1.8 74 0 77 0c1.9 0 3.8 .7 5.2 2.1L128 45.7 173.8 2.1C175.2 .7 177.1 0 179 0c3 0 5.8 1.8 6.8 4.7c2.4 6.5 6.2 18.4 6.2 27.3c0 26.5-21.9 42-29.5 46.6l76.2 72.6c6 5.7 13.9 8.8 22.1 8.8H480l32 0c40.3 0 78.2 19 102.4 51.2l19.2 25.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4l-19.2-25.6c-5.3-7-11.8-12.8-19.2-17V320H192l-40.4-94.3c-3.9-9.2-15.3-12.6-23.6-7l-42.1 28c-9.1 6.1-19.7 9.3-30.7 9.3h-2C23.9 256 0 232.1 0 202.7c0-12.1 4.1-23.8 11.7-33.3L87.6 74.6C78.1 67.4 64 53.2 64 32zM448 352h96v64 64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V416H288v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416 352h96H448zM260.9 210.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.3-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5zM368.1 208c-2 0-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5c-.9-1.8-2.8-2.9-4.8-2.9zm116.8 2.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5z\"]\n};\nvar faFaceConfused = {\n prefix: 'fas',\n iconName: 'face-confused',\n icon: [512, 512, [], \"e36d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM171.1 395.6l-1.1 .9c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5l1.1-.9C205 327.5 272 304 341 304h11c8.8 0 16 7.2 16 16s-7.2 16-16 16H341c-61.8 0-121.7 21-169.9 59.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPinball = {\n prefix: 'fas',\n iconName: 'pinball',\n icon: [448, 512, [], \"e229\", \"M352 224a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm22.1 254.4c14.9 4.8 30.7-1.8 37.9-15c7.4-13.5 4.2-30.8-8.4-40.6l-246-208.3c-40.6-34.1-101.2-28.8-135.2 11.8S-6.3 327.5 34.3 361.6c9.2 7.7 19.9 13.8 32 17.7l307.8 99.1zM64 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faZ = {\n prefix: 'fas',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 64C0 46.3 14.3 32 32 32H352c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L283.7 96H32C14.3 96 0 81.7 0 64z\"]\n};\nvar faPersonSkiing = {\n prefix: 'fas',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L232.7 361.3l46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2L151.5 116.7l-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z\"]\n};\nvar faSkiing = faPersonSkiing;\nvar faDeer = {\n prefix: 'fas',\n iconName: 'deer',\n icon: [512, 512, [129420], \"f78e\", \"M240 0c8.8 0 16 7.2 16 16V40c0 13.3 10.7 24 24 24h8 8c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 8.6-1.9 16.7-5.4 24h30.6H416c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 21.7-12.3 40.4-30.3 49.8c.6 .5 1.1 1.1 1.7 1.6l55.3 55.3c8.5 8.5 13.3 20 13.3 32c0 25-20.3 45.3-45.3 45.3H416h-5.3L384 304v64V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V368H251.7c-28.8 0-55.3-9.8-76.3-26.4c-2.1 16.9-9.8 32.6-21.9 44.8L142.9 397c-4.6 4.6-6.2 11.5-4 17.7l19.3 54.7c7.3 20.8-8.1 42.6-30.2 42.6H94.1c-13.6 0-25.7-8.6-30.2-21.4l-15.5-44c-11.4-32.4-7.4-67.8 10-96.3C65 339.4 65 324.9 56 315.9c-3-3-5.7-6.1-8.1-9.5c-1.3 12.9-12.7 22.5-25.7 21.5C8.9 326.9-.9 315.4 .1 302.2L2.4 272c4.2-54.2 49.3-96 103.7-96h7.9H128h64c.6 0 1.2 0 1.7 0c.8 0 1.7 0 2.5 0H302.4l9.6-32H274c-9.9 0-18-8-18-18c0-8.2 5.6-15.4 13.6-17.4L320 96H296h-8-8c-30.9 0-56-25.1-56-56V16c0-8.8 7.2-16 16-16zM400 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faInputPipe = {\n prefix: 'fas',\n iconName: 'input-pipe',\n icon: [640, 512, [], \"e1be\", \"M64 128V384H576V128H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm144 56V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faRoadLock = {\n prefix: 'fas',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64h32V352c0-23.7 12.9-44.4 32-55.4V272c0-58.3 44.6-106.2 101.5-111.5L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zm176 16c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faA = {\n prefix: 'fas',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M221.5 51.7C216.6 39.8 204.9 32 192 32s-24.6 7.8-29.5 19.7l-120 288-40 96c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L93.3 384H290.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-40-96-120-288zM264 320H120l72-172.8L264 320z\"]\n};\nvar faBookmarkSlash = {\n prefix: 'fas',\n iconName: 'bookmark-slash',\n icon: [640, 512, [], \"e0c2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48V75L38.8 5.1zM128 487.7c0 13.4 10.9 24.3 24.3 24.3c5 0 9.9-1.5 14-4.4L320 400 473.7 507.6c4.1 2.9 9 4.4 14 4.4c9.9 0 18.4-5.9 22.2-14.3L128 196.9V487.7z\"]\n};\nvar faTemperatureArrowDown = {\n prefix: 'fas',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM176 0C114.1 0 64 50.1 64 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zm336-64H480V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352H384c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c6 6 14.1 9.4 22.6 9.4s16.6-3.4 22.6-9.4l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8z\"]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faMace = {\n prefix: 'fas',\n iconName: 'mace',\n icon: [512, 512, [], \"f6f8\", \"M244.8 95l28-84.1C275 4.4 281.1 0 288 0s13 4.4 15.2 10.9l28 84.1c40.4 13.5 72.3 45.4 85.8 85.8l84.1 28c6.5 2.2 10.9 8.3 10.9 15.2s-4.4 13-10.9 15.2l-84.1 28c-13.5 40.4-45.4 72.3-85.8 85.8l-28 84.1C301 443.6 294.9 448 288 448s-13-4.4-15.2-10.9l-28-84.1c-9.8-3.3-19-7.6-27.7-12.9L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L171.9 294.9c-5.3-8.6-9.6-17.9-12.9-27.7l-84.1-28C68.4 237 64 230.9 64 224s4.4-13 10.9-15.2l84.1-28c13.5-40.4 45.4-72.3 85.8-85.8zM288 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFeatherPointed = {\n prefix: 'fas',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.8-74.8c7.4 4.6 15.3 8.2 23.8 10.5C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c2.1 7.9 12 9.6 17.8 3.8L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z\"]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faSausage = {\n prefix: 'fas',\n iconName: 'sausage',\n icon: [512, 512, [], \"f820\", \"M320 160c0-42 26.9-77.7 64.5-90.7L369.2 27.4c-.8-2.2-1.2-4.6-1.2-7C368 9.1 377.1 0 388.4 0h55.2C454.9 0 464 9.1 464 20.4c0 2.4-.4 4.7-1.2 7L447.5 69.3C485.1 82.3 512 118 512 160c0 194.4-157.6 352-352 352c-42 0-77.7-26.9-90.7-64.5L27.4 462.8c-2.2 .8-4.6 1.2-7 1.2C9.1 464 0 454.9 0 443.6V388.4C0 377.1 9.1 368 20.4 368c2.4 0 4.7 .4 7 1.2l41.9 15.2C82.3 346.9 118 320 160 320c88.4 0 160-71.6 160-160zm80 0c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 114.9-93.1 208-208 208c-8.8 0-16 7.2-16 16s7.2 16 16 16c132.5 0 240-107.5 240-240z\"]\n};\nvar faTrashCanClock = {\n prefix: 'fas',\n iconName: 'trash-can-clock',\n icon: [576, 512, [], \"e2aa\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM32 128H416v64.7c-29.3 2.6-56.6 12.5-80 27.7V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v39.2c-29.8 31.5-48 74-48 120.8c0 59.5 29.6 112.1 74.8 144H96c-35.3 0-64-28.7-64-64V128zm96 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm64 176a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faP = {\n prefix: 'fas',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M0 96C0 60.7 28.7 32 64 32h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V320 96zM64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288z\"]\n};\nvar faBroomWide = {\n prefix: 'fas',\n iconName: 'broom-wide',\n icon: [512, 512, [], \"e5d1\", \"M502.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128-15.8-15.8c-15.2-15.2-38.5-18.4-57.3-8l-32.5 18L380.4 288.1l18-32.5c10.4-18.7 7.1-42.1-8-57.3l-15.8-15.8 128-128c12.5-12.5 12.5-32.8 0-45.3zM187.5 151.8L16.4 246.9C6.3 252.5 0 263.2 0 274.8c0 8.5 3.4 16.6 9.3 22.6l43.2 43.2c2.1 2.1 5.3 2.9 8.2 1.9l52.1-17.4c6.3-2.1 12.2 3.9 10.1 10.1l-17.4 52.1c-1 2.9-.2 6 1.9 8.2L214.7 502.7c6 6 14.1 9.3 22.6 9.3c11.6 0 22.3-6.3 27.9-16.4l95.1-171.1L187.5 151.8z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3V129.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faStomach = {\n prefix: 'fas',\n iconName: 'stomach',\n icon: [512, 512, [], \"f623\", \"M192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96c0 70.7 57.3 128 128 128v64c0 35.3-28.7 64-64 64H128C57.3 352 0 409.3 0 480c0 17.7 14.3 32 32 32s32-14.3 32-32c0-26.5 21.5-48 48-48c24.6 0 36 9.5 58.2 28.2l0 0c1.7 1.4 3.4 2.9 5.3 4.4c12.6 10.5 28.4 22.9 49.6 32.2C246.5 506.2 272 512 304 512c114.9 0 208-93.1 208-208V224c0-70.7-57.3-128-128-128c-47.4 0-88.7 25.7-110.9 64H256c-35.3 0-64-28.7-64-64V32zM445.1 332.7c-7.2 1.9-14.6 3.3-21.1 3.3c-16.8 .2-28.4-7.9-40-16s-23.2-16.3-40-16c-7.9 .1-17.1 2.1-25.6 4.6c1.1-6.7 1.6-13.6 1.6-20.6V224c0-35.3 28.7-64 64-64s64 28.7 64 64v80c0 9.8-1 19.4-2.9 28.7z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M96 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H80c-44.2 0-80-35.8-80-80V128c0-17.7 14.3-32 32-32s32 14.3 32 32V400c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 24v80c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zM160 304c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faRectangleAd = {\n prefix: 'fas',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM229.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]\n};\nvar faAd = faRectangleAd;\nvar faGuitarElectric = {\n prefix: 'fas',\n iconName: 'guitar-electric',\n icon: [512, 512, [127928], \"f8be\", \"M352 81.1v33.6L243.8 223c-14.6-26.1-5.5-50.4 3.2-64.7c4.8-7.9 4.8-18.7-1.7-25.3s-17.1-6.6-23.6 0l-29.9 30.2c-9.1 9.2-14.7 21.5-20.2 33.5l0 0 0 0c-1.2 2.6-2.3 5.1-3.5 7.6c-3.5 7.3-8.9 15.7-17.1 24c-24.7 25-64.7 40.2-89.6 47.7c-14.5 4.4-28.1 11.7-38.7 22.4c-30 30.4-30 79.6 0 110l79.9 80.8c30 30.4 78.7 30.4 108.8 0c10.7-10.8 17.9-24.5 22.2-39.2c7.5-25.2 22.5-65.6 47.2-90.6c10-10.1 20-16 28.3-19.3l1.1-.5 0 0c11.3-4.6 23-9.4 31.6-18l21.6-21.8c6.5-6.6 6.5-17.3 0-23.8s-17.3-6.6-25.8-3c-11.1 4.7-28 7.3-48.3-4.7L461.3 96H464c26.5 0 48-21.5 48-48s-21.5-48-48-48h-1.1c-9.7 0-19.2 2.9-27.3 8.3L366.2 54.5C357.3 60.4 352 70.4 352 81.1zM195.3 268.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-64 64l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faArrowTurnDownRight = {\n prefix: 'fas',\n iconName: 'arrow-turn-down-right',\n icon: [512, 512, [], \"e3d6\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V224c0 53 43 96 96 96H402.7l-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256H96c-17.7 0-32-14.3-32-32V64z\"]\n};\nvar faMoonCloud = {\n prefix: 'fas',\n iconName: 'moon-cloud',\n icon: [640, 512, [], \"f754\", \"M479.5 32c-118.2 0-214.9 92-223 208.3C310 244.7 352 289.4 352 344c0 27.9-11 53.3-29 72c40.3 39.6 95.5 64 156.4 64c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.2-.5-12.6-.8-19-.8zM64 416H248c39.8 0 72-32.2 72-72s-32.2-72-72-72c-10.1 0-19.7 2.1-28.4 5.8C208.8 246.5 179 224 144 224c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64s28.7 64 64 64z\"]\n};\nvar faBreadSliceButter = {\n prefix: 'fas',\n iconName: 'bread-slice-butter',\n icon: [512, 512, [], \"e3e1\", \"M0 192C0 64 192 32 256 32s256 32 256 160c0 35.3-28.7 64-64 64V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V256c-35.3 0-64-28.7-64-64zm182.6 73.4c-12.5 12.5-12.5 32.8 0 45.3l50.7 50.7c12.5 12.5 32.8 12.5 45.3 0l50.7-50.7c12.5-12.5 12.5-32.8 0-45.3l-50.7-50.7c-12.5-12.5-32.8-12.5-45.3 0l-50.7 50.7z\"]\n};\nvar faCircleArrowRight = {\n prefix: 'fas',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM281 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L136 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L393 239c9.4 9.4 9.4 24.6 0 33.9L281 385z\"]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faUserGroupCrown = {\n prefix: 'fas',\n iconName: 'user-group-crown',\n icon: [640, 512, [\"users-crown\"], \"f6a5\", \"M144 144V128H304v16c0 44.2-35.8 80-80 80s-80-35.8-80-80zm-.1-124.9c-.3-.2-.6-.4-.8-.6L140 16 124.4 3.5C121.5 1.2 118 0 114.4 0H112c-8.8 0-16 7.2-16 16V39v3.2 .1V144c0 70.7 57.3 128 128 128s128-57.3 128-128V42.3v-.1V39 16c0-8.8-7.2-16-16-16h-2.4c-3.6 0-7.2 1.2-10 3.5L308 16l-3 2.4c-.3 .2-.6 .4-.8 .6l-.1 .1c-10.2 7.5-23.8 8.3-34.9 2L238.9 4c-4.6-2.6-9.7-4-14.9-4s-10.4 1.4-14.9 4L178.9 21.2c-11 6.3-24.7 5.5-34.9-2l-.1-.1zM168 304C75.2 304 0 379.2 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-92.8-75.2-168-168-168H168zm264-48c61.9 0 112-50.1 112-112s-50.1-112-112-112c-17.2 0-33.5 3.9-48 10.8V144c0 5.4-.3 10.7-.8 16c-2.4 24.3-10.3 47.1-22.4 67c-.5 .8-1 1.6-1.4 2.3C379 245.9 404.3 256 432 256zm39.4 256H609.3c17 0 30.7-13.8 30.7-30.7C640 392.2 567.8 320 478.7 320H417.3c-2.4 0-4.8 .1-7.1 .2C452.9 356.8 480 411.3 480 472v8c0 11.7-3.1 22.6-8.6 32z\"]\n};\nvar faUsersCrown = faUserGroupCrown;\nvar faCircleI = {\n prefix: 'fas',\n iconName: 'circle-i',\n icon: [512, 512, [], \"e111\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faToiletPaperCheck = {\n prefix: 'fas',\n iconName: 'toilet-paper-check',\n icon: [640, 512, [], \"e5b2\", \"M444.2 0C397.2 49.6 384 126.5 384 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2c9.8-17.7 15.4-38.2 20.5-57.7C52.3 362.8 64 293.5 64 192C64 86 107 0 160 0H444.2zM512 384c-53 0-96-86-96-192S459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM291.3 187.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 225.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72z\"]\n};\nvar faFilterCircleXmark = {\n prefix: 'fas',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faLocust = {\n prefix: 'fas',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c98.7 0 180.6 71.4 197 165.4c-9-3.5-18.8-5.4-29-5.4H431.8l-41.8-97.5c-3.4-7.9-10.8-13.4-19.3-14.4s-17 2.7-22.1 9.6l-40.9 55.5-21.7-50.7c-3.3-7.8-10.5-13.2-18.9-14.3s-16.7 2.3-22 8.9l-240 304c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l79.4-100.5 43 16.4-40.5 55c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1L215.1 400h74.5l-29.3 42.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1L348 400h80.4l38.8 67.9c6.6 11.5 21.2 15.5 32.7 8.9s15.5-21.2 8.9-32.7L483.6 400H496c44.1 0 79.8-35.7 80-79.7c0-.1 0-.2 0-.3V280C576 143 465 32 328 32H312zm50.5 168l17.1 40H333l29.5-40zm-87.7 38.1l-1.4 1.9H225.1l32.7-41.5 16.9 39.5zM88.8 240C57.4 240 32 265.4 32 296.8c0 15.5 6.3 30 16.9 40.4L126.7 240H88.8zM496 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zm0 429.3l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0z\"]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faChartWaterfall = {\n prefix: 'fas',\n iconName: 'chart-waterfall',\n icon: [512, 512, [], \"e0eb\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zM160 224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm128-64v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm64-96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM480 96V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faSparkle = {\n prefix: 'fas',\n iconName: 'sparkle',\n icon: [448, 512, [], \"e5d6\", \"M245.8 45.9C241.9 37.4 233.4 32 224 32s-17.9 5.4-21.8 13.9L142.7 174.7 13.9 234.2C5.4 238.1 0 246.6 0 256s5.4 17.9 13.9 21.8l128.8 59.5 59.5 128.8c3.9 8.5 12.4 13.9 21.8 13.9s17.9-5.4 21.8-13.9l59.5-128.8 128.8-59.5c8.5-3.9 13.9-12.4 13.9-21.8s-5.4-17.9-13.9-21.8L305.3 174.7 245.8 45.9z\"]\n};\nvar faFaceParty = {\n prefix: 'fas',\n iconName: 'face-party',\n icon: [640, 512, [], \"e383\", \"M531.7 400C485.6 467.6 408 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0C433.4 0 529.7 73.8 563.3 176H560c-44.2 0-80 35.8-80 80c0 18 6 34.6 16 48H416c-1 0-2 0-3 .1c-1.2-2.3-2.7-4.4-4.3-6.4c-4.3-5.2-10.1-9.7-16.7-13.4C378.7 276.9 361.4 272 344 272c-3.6 0-6.8 2.5-7.7 6s.6 7.2 3.8 9l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0 0 0c-2.5 1.4-4.1 4.1-4.1 7s1.6 5.6 4.1 7l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0c-3.2 1.8-4.7 5.5-3.8 9s4.1 6 7.7 6c17.4 0 34.7-4.9 47.9-12.3c6.6-3.7 12.5-8.2 16.7-13.4c1.6-2 3.1-4.1 4.3-6.4c1 .1 2 .1 3 .1H531.7zM275.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm89.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM512 256c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H400c-8.8 0-16-7.2-16-16s7.2-16 16-16H592c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-26.5 0-48-21.5-48-48zM51.3 152.2l-20-52C46.6 71.8 66 46 88.8 23.4L132 37.8C96.5 68.5 68.5 107.7 51.3 152.2zM55.1 12.2C40.9 27.6 28 44.4 16.6 62.1L1.1 21.7C-1.2 16 .2 9.4 4.4 4.9S15.2-1.1 21.1 .8L55.1 12.2z\"]\n};\nvar faKidneys = {\n prefix: 'fas',\n iconName: 'kidneys',\n icon: [640, 512, [], \"f5fb\", \"M152 0c-21.5 0-45.5 6.3-64.3 23.8C56.4 52.8 0 119.6 0 224c0 24.9 3.5 54.7 7.1 79.1c7.1 48 48.8 80.9 95.3 80.9c58.4 0 104-50.4 98.2-108.5l-4.1-41.2c-2-20.1 4.5-40.1 17.9-55.1l18.2-20.5c15.2-17.1 23.5-39.1 23.5-61.9c0-31.2-15.6-60.2-41.5-77.5l-3.4-2.3C194.5 5.9 175.1 0 155.2 0H152zM488 0h-3.2c-19.9 0-39.4 5.9-55.9 16.9l-3.4 2.3C399.6 36.5 384 65.6 384 96.7c0 22.8 8.4 44.8 23.5 61.9l18.2 20.5c13.4 15.1 19.9 35.1 17.9 55.1l-4.1 41.2C433.7 333.6 479.3 384 537.7 384c46.5 0 88.2-32.9 95.3-80.9c3.6-24.4 7.1-54.2 7.1-79.1c0-104.4-56.4-171.2-87.7-200.2C533.5 6.3 509.5 0 488 0zM228.2 231.1l1.9 18.8 21.5 10.7c2.7 1.4 4.4 4.1 4.4 7.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V267.8c0-21.2-12-40.6-31-50.1l-34.8-17.4-.1 .1c-7.5 8.4-11.1 19.5-10 30.7zm173.6-30.7l-.1-.1L367 217.7c-19 9.5-31 28.9-31 50.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V267.8c0-3 1.7-5.8 4.4-7.2l21.5-10.7 1.9-18.8c1.1-11.2-2.5-22.3-10-30.7z\"]\n};\nvar faWifiExclamation = {\n prefix: 'fas',\n iconName: 'wifi-exclamation',\n icon: [640, 512, [], \"e2cf\", \"M320 32c-27.2 0-48.7 23.1-46.8 50.2l14.9 208C289.3 307 303.2 320 320 320s30.7-13 31.9-29.7l14.9-208C368.7 55.1 347.2 32 320 32zM241.3 84.5c-1.2-17.4 3.3-33.9 11.9-47.6C159.4 51 75.1 94.1 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9c51.3-49.2 116.2-84.3 188.5-99.1l-1.4-19.3zm157.4 0l-1.4 19.3c72.3 14.8 137.2 49.9 188.5 99.1c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C564.9 94.1 480.6 51 386.8 37c8.6 13.7 13.1 30.1 11.9 47.6zM129.5 264c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c23.6-20.8 51.6-36.7 82.4-46.2l-4.7-65.1C204.4 212 163.4 234.1 129.5 264zm260.9-63.3l-4.6 65.1c30.8 9.4 58.8 25.4 82.4 46.2c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2c-33.9-29.9-74.9-52-120.1-63.3zM384 416a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faChartNetwork = {\n prefix: 'fas',\n iconName: 'chart-network',\n icon: [640, 512, [], \"f78a\", \"M288 64c0 13.7-4.3 26.3-11.6 36.7l29.2 62.5c9.8-2.1 20-3.2 30.4-3.2c36.1 0 69 13.3 94.3 35.2L512.4 135c-.2-2.3-.4-4.6-.4-7c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-9.2 0-17.9-1.9-25.8-5.4l-82 60.2c7.6 17.5 11.8 36.9 11.8 57.2c0 15.6-2.5 30.7-7.1 44.8l72 43.2c9.2-5.1 19.8-8 31.1-8c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64l0-1.1-72.1-43.3C413.7 431 376.8 448 336 448c-68.5 0-125.9-47.9-140.4-112H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64s28.7-64 64-64c23.7 0 44.4 12.9 55.4 32h76.1c7.5-33 26.3-61.6 52.1-81.7l-29.2-62.5C185.7 124.9 160 97.5 160 64c0-35.3 28.7-64 64-64s64 28.7 64 64zm48 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPersonDressBurst = {\n prefix: 'fas',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M528 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM390.2 384H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faDiceD4 = {\n prefix: 'fas',\n iconName: 'dice-d4',\n icon: [512, 512, [], \"f6d0\", \"M228.8 .7C235.5 2.8 240 9 240 16V496c0 6.3-3.7 12-9.4 14.6s-12.5 1.6-17.2-2.6L5.4 324c-6.1-5.4-7.2-14.5-2.5-21.2l208-296c4-5.7 11.3-8.2 17.9-6.1zm54.4 0c6.7-2.1 13.9 .3 17.9 6.1l208 296c4.7 6.7 3.6 15.8-2.5 21.2l-208 184c-4.7 4.2-11.4 5.2-17.2 2.6s-9.4-8.3-9.4-14.6V16c0-7 4.5-13.2 11.2-15.3z\"]\n};\nvar faMoneyCheckDollar = {\n prefix: 'fas',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM272 192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zM164 152v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M368 80h32v32H368V80zM352 32c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32V160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM96 160c17.7 0 32-14.3 32-32H320c0 17.7 14.3 32 32 32V352c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32V160zM48 400H80v32H48V400zm320 32V400h32v32H368zM48 112V80H80v32H48z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M256 32C192 32 0 64 0 192c0 35.3 28.7 64 64 64V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M0 128C0 92.7 28.7 64 64 64H256h48 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H320 304 256 64c-35.3 0-64-28.7-64-64V128zm320 0V384H576V128H320zM178.3 175.9c-3.2-7.2-10.4-11.9-18.3-11.9s-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144zM160 233.2L179 276H141l19-42.8zM448 164c11 0 20 9 20 20v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H448 376c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20z\"]\n};\nvar faWheatAwnSlash = {\n prefix: 'fas',\n iconName: 'wheat-awn-slash',\n icon: [640, 512, [], \"e338\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L362.5 258.8l28.7-28.7 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L550.5 231c6.2-6.2 6.2-16.4 0-22.6L539.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L569 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L473 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L393.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L369.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L335.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-3.3 3.3-6.3 6.8-9 10.4L38.8 5.1zm255 322.4l-50.6-39.9-29.5 29.5c-3.4-27.3-15.5-53.8-36.5-74.8L165.8 231c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L73.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l36.3-36.3zM569 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L447 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'fas',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M498 339.7c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-22.9-89.3c-10-39 11.8-80.9 51.8-92.1c37.2-10.4 73.8 10.1 87.5 44c12.7-1.6 25.1 .4 36.2 5zM296 332c0 6.9-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C258.7 443.1 241.4 448 224 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.6-.4-.3-.2-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm194.8 57.6c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faDagger = {\n prefix: 'fas',\n iconName: 'dagger',\n icon: [384, 512, [], \"f6cb\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H48c-26.5 0-48 21.5-48 48s21.5 48 48 48c20.9 0 38.7-13.4 45.3-32H192h98.7c6.6 18.6 24.4 32 45.3 32c26.5 0 48-21.5 48-48s-21.5-48-48-48H224V32zM128 224v24V414.8c0 10.5 2.9 20.8 8.5 29.7l35.1 56.2c4.4 7 12.1 11.3 20.4 11.3s16-4.3 20.4-11.3l35.1-56.2c5.6-8.9 8.5-19.2 8.5-29.7V248 224H232 152 128z\"]\n};\nvar faPodium = {\n prefix: 'fas',\n iconName: 'podium',\n icon: [448, 512, [], \"f680\", \"M182.4 72c8.3 14.3 23.8 24 41.6 24h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H224c-17.8 0-33.3 9.7-41.6 24H168c-48.6 0-88 39.4-88 88v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H128V112c0-22.1 17.9-40 40-40h14.4zM48 224L73.7 455.1c3.6 32.4 31 56.9 63.6 56.9H310.7c32.6 0 60-24.5 63.6-56.9L400 224H48z\"]\n};\nvar faMemoCircleCheck = {\n prefix: 'fas',\n iconName: 'memo-circle-check',\n icon: [576, 512, [], \"e1d9\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V198.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm64 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm208 48a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm188.7-43.3L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faRouteHighway = {\n prefix: 'fas',\n iconName: 'route-highway',\n icon: [448, 512, [], \"f61a\", \"M240.5 4.6c-10.1-6.1-22.8-6.1-32.9 0l-4.7 2.8c-37.5 22.5-84 24.3-123.1 4.7l-1.4-.7c-15.2-7.6-33.7-2-42.1 12.7l-32 56c-5.3 9.3-5.6 20.6-.8 30.2l16.2 32.5C27.8 159.1 32 177 32 195.2c0 14.9-2.8 29.7-8.4 43.6L9.3 274.5C3.2 289.9 0 306.4 0 323c0 49.5 28 94.8 72.2 116.9l137.4 68.7c9 4.5 19.6 4.5 28.6 0l137.4-68.7C420 417.8 448 372.5 448 323c0-16.6-3.2-33.1-9.3-48.5l-14.3-35.7c-5.5-13.9-8.4-28.6-8.4-43.6c0-18.2 4.2-36.2 12.4-52.5l16.2-32.5c4.8-9.6 4.5-20.9-.8-30.2l-32-56c-8.4-14.7-26.9-20.3-42.1-12.7l-1.4 .7c-39.1 19.6-85.6 17.8-123.1-4.7l-4.7-2.8zM96 192H352c0 1.1 0 2.2 0 3.2c0 23.1 4.4 45.9 13 67.3l14.3 35.7c3.2 7.9 4.8 16.3 4.8 24.8c0 25.3-14.3 48.4-36.9 59.7L224 444.2 100.9 382.7C78.3 371.4 64 348.3 64 323c0-8.5 1.6-16.9 4.8-24.8L83 262.6c8.6-21.4 13-44.3 13-67.3c0-1.1 0-2.2 0-3.2z\"]\n};\nvar faDownToLine = {\n prefix: 'fas',\n iconName: 'down-to-line',\n icon: [384, 512, [\"arrow-alt-to-bottom\"], \"f34a\", \"M342.1 249.9L219.3 372.7c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3L41.9 249.9c-6.4-6.4-9.9-15-9.9-24C32 207.2 47.2 192 65.9 192l62.1 0 0-128c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V192l62.1 0c18.7 0 33.9 15.2 33.9 33.9c0 9-3.6 17.6-9.9 24zM32 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faArrowAltToBottom = faDownToLine;\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z\"]\n};\nvar faSquareG = {\n prefix: 'fas',\n iconName: 'square-g',\n icon: [448, 512, [], \"e271\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 224c0 44.2 35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H248c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C263.2 183.7 244.5 176 224 176c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCirclePhone = {\n prefix: 'fas',\n iconName: 'circle-phone',\n icon: [512, 512, [\"phone-circle\"], \"e11b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.7 128.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L200 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C368.9 378 361 384 352 384c-123.7 0-224-100.3-224-224c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nvar faPhoneCircle = faCirclePhone;\nvar faClipboardPrescription = {\n prefix: 'fas',\n iconName: 'clipboard-prescription',\n icon: [384, 512, [], \"f5e8\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM104 196h72c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6H124v44c0 11-9 20-20 20s-20-9-20-20V296 216c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20H124v40h52z\"]\n};\nvar faUserNurseHair = {\n prefix: 'fas',\n iconName: 'user-nurse-hair',\n icon: [448, 512, [], \"e45d\", \"M96 70.2V128h.3c-.2 2.6-.3 5.3-.3 8v40c0 70.7 57.3 128 128 128s128-57.3 128-128V136c0-2.7-.1-5.4-.3-8h.3V70.2c0-13.3-8.3-25.3-20.8-30l-96-36c-7.2-2.7-15.2-2.7-22.5 0l-96 36C104.3 44.9 96 56.8 96 70.2zM304 160v16c0 44.2-35.8 80-80 80s-80-35.8-80-80l32 0c29.8 0 55.9-16.3 69.6-40.5C257.3 150.4 275.5 160 296 160h8zM141.3 336.2c-7.6-8.1-18.9-11.9-29.4-8.5C47 348.5 0 409.4 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-71.8-47-132.7-111.9-153.6c-10.5-3.4-21.8 .4-29.4 8.5l-71 75.5c-6.3 6.7-17 6.7-23.3 0l-71-75.5zM208 48c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8V64h16c4.4 0 8 3.6 8 8V88c0 4.4-3.6 8-8 8H240v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V96H192c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h16V48z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1c-25.2 16.2-40.4 44.1-40.4 74V320c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7V160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V428.7c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h8.9c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z\"]\n};\nvar faToggleLargeOn = {\n prefix: 'fas',\n iconName: 'toggle-large-on',\n icon: [576, 512, [], \"e5b1\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 64a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v96H128V192c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V288h96v96H192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H288V288h96v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H288V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64z\"]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faDryerHeat = {\n prefix: 'fas',\n iconName: 'dryer-heat',\n icon: [448, 512, [\"dryer-alt\"], \"f862\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 160a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM64 88a24 24 0 1 1 48 0A24 24 0 1 1 64 88zM184 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM156.7 212.7c-6.2 6.2-6.2 16.4 0 22.6L177.4 256c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16l-9.4 9.4c-10.2 10.2-16 24.1-16 38.6s5.8 28.4 16 38.6l20.7 20.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L190.6 352c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16l9.4-9.4c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6l-20.7-20.7c-6.2-6.2-16.4-6.2-22.6 0zm102.6 0c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L257.4 256c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16l-9.4 9.4c-10.2 10.2-16 24.1-16 38.6s5.8 28.4 16 38.6l20.7 20.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L270.6 352c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16l9.4-9.4c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6l-20.7-20.7z\"]\n};\nvar faDryerAlt = faDryerHeat;\nvar faHouseChimneyUser = {\n prefix: 'fas',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM288 160a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 400c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faArrowUpSmallBig = {\n prefix: 'fas',\n iconName: 'arrow-up-small-big',\n icon: [576, 512, [\"sort-size-up-alt\"], \"f88f\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM320 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80zm48 176H496c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48z\"]\n};\nvar faSortSizeUpAlt = faArrowUpSmallBig;\nvar faTrainTrack = {\n prefix: 'fas',\n iconName: 'train-track',\n icon: [576, 512, [], \"e453\", \"M222.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2L147.6 96H112c-17.7 0-32 14.3-32 32s14.3 32 32 32h14.3l-21.3 64H72c-17.7 0-32 14.3-32 32s14.3 32 32 32H83.6L62.3 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h8.9l-7.3 21.9c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l14-42.1H467.6l14 42.1c5.6 16.8 23.7 25.8 40.5 20.2s25.8-23.7 20.2-40.5L535.1 416H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H513.7l-21.3-64H504c17.7 0 32-14.3 32-32s-14.3-32-32-32H471.1l-21.3-64H464c17.7 0 32-14.3 32-32s-14.3-32-32-32H428.4l-14-42.1c-5.6-16.8-23.7-25.8-40.5-20.2s-25.8 23.7-20.2 40.5L360.9 96H215.1l7.3-21.9zM193.7 160H382.3l21.3 64H172.4l21.3-64zM446.3 352H129.7l21.3-64H424.9l21.3 64z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8v0c0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2v0c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2v0c-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48H279.2c-12.8 0-23.2-10.4-23.2-23.2v0c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8v0c0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320v0c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256v0C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48H168.8c12.8 0 23.2-10.4 23.2-23.2v0z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm48 160H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM376 160h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"]\n};\nvar faStarHalfStroke = {\n prefix: 'fas',\n iconName: 'star-half-stroke',\n icon: [640, 512, [\"star-half-alt\"], \"f5c0\", \"M320 376.4l.1-.1 26.4 14.1 85.2 45.5-16.5-97.6-4.8-28.7 20.7-20.5 70.1-69.3-96.1-14.2-29.3-4.3-12.9-26.6L320.1 86.9l-.1 .3V376.4zm175.1 98.3c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L320.1 439.8 191.8 508.3C181 514 167.9 513.1 158 506s-14.9-19.3-12.9-31.3L169.8 329 65.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L227 150.3 291.4 18c5.4-11 16.5-18 28.8-18s23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L470.5 329l24.6 145.7z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExclamation = {\n prefix: 'fas',\n iconName: 'file-exclamation',\n icon: [384, 512, [], \"f31a\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM192 192c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM160 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faWhiskeyGlass = {\n prefix: 'fas',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM87.7 224L69 96H443L424.3 224H87.7z\"]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faMoonStars = {\n prefix: 'fas',\n iconName: 'moon-stars',\n icon: [512, 512, [], \"f755\", \"M284.8 99.2l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11zm119 211.6c1.6 5.5 6.6 9.2 12.2 9.2s10.7-3.8 12.2-9.2l16.6-58 58-16.6c5.5-1.6 9.2-6.6 9.2-12.2s-3.8-10.7-9.2-12.2l-58-16.6-16.6-58c-1.6-5.5-6.6-9.2-12.2-9.2s-10.7 3.8-12.2 9.2l-16.6 58-58 16.6c-5.5 1.6-9.2 6.6-9.2 12.2s3.8 10.7 9.2 12.2l58 16.6 16.6 58zM191.8 128C85.8 128 0 214.1 0 320.2S85.8 512.4 191.8 512.4c52 0 99.1-20.7 133.6-54.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-8.1 1.4-16.5 2.2-25.1 2.2c-80.7 0-146.2-65.6-146.2-146.6c0-54.8 30-102.6 74.4-127.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-5.4-.5-10.8-.7-16.3-.7z\"]\n};\nvar faBuildingCircleExclamation = {\n prefix: 'fas',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faClothesHanger = {\n prefix: 'fas',\n iconName: 'clothes-hanger',\n icon: [640, 512, [], \"e136\", \"M209.8 84.8C222.3 35 267.1 0 318.5 0H320c61.9 0 112 50.1 112 112v6.3c0 36.5-17.8 70.8-47.8 91.8l-8.3 5.8L608.2 377.2C628.1 391 640 413.7 640 438c0 40.9-33.1 74-74 74H74c-40.9 0-74-33.1-74-74c0-24.2 11.9-47 31.8-60.8L301.6 189.8l.1-.1 45.8-32c12.8-9 20.5-23.7 20.5-39.3V112c0-26.5-21.5-48-48-48h-1.5c-22 0-41.2 15-46.6 36.4l-.9 3.4c-4.3 17.1-21.7 27.6-38.8 23.3s-27.6-21.7-23.3-38.8l.9-3.4zM320 255L68.3 429.7c-2.7 1.9-4.3 4.9-4.3 8.2c0 5.5 4.5 10 10 10H566c5.5 0 10-4.5 10-10c0-3.3-1.6-6.4-4.3-8.2L320 255z\"]\n};\nvar faMobileNotch = {\n prefix: 'fas',\n iconName: 'mobile-notch',\n icon: [384, 512, [\"mobile-iphone\"], \"e1ee\", \"M128 64V80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V64h32c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zM96 0C51.8 0 16 35.8 16 80V432c0 44.2 35.8 80 80 80H288c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H96zm32 400c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMobileIphone = faMobileNotch;\nvar faMagnifyingGlassChart = {\n prefix: 'fas',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zm-312 8v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'fas',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M192 64v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM82.7 207c-15.3 8.8-20.5 28.4-11.7 43.7l32 55.4c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-32-55.4c-8.8-15.3-28.4-20.5-43.7-11.7L82.7 207zM288 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H288zm64 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352zM160 384v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zM32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faImagesUser = {\n prefix: 'fas',\n iconName: 'images-user',\n icon: [576, 512, [], \"e1b9\", \"M96 96V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm240 0a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM269.7 256H402.3c25.2 0 45.7 20.5 45.7 45.7c0 10.1-8.2 18.3-18.3 18.3H242.3c-10.1 0-18.3-8.2-18.3-18.3c0-25.2 20.5-45.7 45.7-45.7zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M62.4 53.9C56.8 37.1 38.6 28.1 21.9 33.6S-3.9 57.4 1.6 74.1L51.6 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H72.9l56.7 170.1c4.5 13.5 17.4 22.4 31.6 21.9s26.4-10.4 29.8-24.2L233 288h46L321 455.8c3.4 13.8 15.6 23.7 29.8 24.2s27.1-8.4 31.6-21.9L439.1 288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l50-149.9c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2L392.9 224H329L287 56.2C283.5 42 270.7 32 256 32s-27.5 10-31 24.2L183 224h-64L62.4 53.9zm78 234.1H167l-11.4 45.6L140.4 288zM249 224l7-28.1 7 28.1H249zm96 64h26.6l-15.2 45.6L345 288z\"]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faImagePolaroidUser = {\n prefix: 'fas',\n iconName: 'image-polaroid-user',\n icon: [448, 512, [], \"e1b6\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 32V320c0 17.7 14.3 32 32 32h16c0-35.3 28.7-64 64-64h96c35.3 0 64 28.7 64 64h16c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zm96 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faVirusCovid = {\n prefix: 'fas',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M192 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V81.6c30.7 4.2 58.8 16.3 82.3 34.1L386.1 92 374.8 80.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L420 125.9l-23.8 23.8c17.9 23.5 29.9 51.7 34.1 82.3H464V216c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H430.4c-4.2 30.7-16.3 58.8-34.1 82.3L420 386.1l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L386.1 420l-23.8-23.8c-23.5 17.9-51.7 29.9-82.3 34.1V464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V430.4c-30.7-4.2-58.8-16.3-82.3-34.1L125.9 420l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L92 386.1l23.8-23.8C97.9 338.8 85.8 310.7 81.6 280H48v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v16H81.6c4.2-30.7 16.3-58.8 34.1-82.3L92 125.9 80.6 137.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L125.9 92l23.8 23.8c23.5-17.9 51.7-29.9 82.3-34.1V48H216c-13.3 0-24-10.7-24-24zm48 200a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm64 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquareEllipsis = {\n prefix: 'fas',\n iconName: 'square-ellipsis',\n icon: [448, 512, [], \"e26e\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faPie = {\n prefix: 'fas',\n iconName: 'pie',\n icon: [576, 512, [129383], \"f705\", \"M544 240c-7.6 0-14.3-4.9-17-12C490 132.1 397 64 288 64S86 132.1 49 228c-2.7 7.1-9.4 12-17 12c-17.7 0-32 14.3-32 32c0 17.2 13.6 31.3 30.7 32c17.7-.5 35-7 48.7-14.2c7-3.6 12.7-7.3 16.7-10c2-1.4 3.5-2.5 4.5-3.2c.5-.4 .9-.7 1.1-.8l.2-.2 0 0 20.7 .4 0 0 .2 .1c.2 .2 .5 .4 .9 .8c.9 .7 2.2 1.8 4.1 3.1c3.7 2.6 9.1 6.2 16.1 9.8c14 7.2 33.4 14.2 56.1 14.2s42.2-7 56.1-14.2c7-3.6 12.4-7.2 16.1-9.8c1.8-1.3 3.2-2.4 4.1-3.1c.4-.4 .7-.6 .9-.8l.1-.1c6.1-5.4 15.2-5.4 21.2 0l0 0 .1 .1c.2 .2 .5 .4 .9 .8c.9 .7 2.2 1.8 4.1 3.1c3.7 2.6 9.1 6.2 16.1 9.8c14 7.2 33.4 14.2 56.1 14.2s42.2-7 56.1-14.2c7-3.6 12.4-7.2 16.1-9.8c1.8-1.3 3.2-2.4 4.1-3.1c.4-.4 .7-.6 .9-.8l.1-.1c5.9-5.2 14.6-5.4 20.7-.4l0 0 0 0 0 0 0 0 0 0 0 0 .2 .2c.2 .2 .6 .5 1.1 .8c1 .7 2.5 1.9 4.5 3.2c4 2.7 9.7 6.4 16.7 10c13.7 7.2 31.1 13.7 48.7 14.2c17.1-.7 30.7-14.7 30.7-32c0-17.7-14.3-32-32-32zM122.6 276c-5.9-5.2-14.6-5.4-20.7-.4l0 0 20.7 .4s0 0 0 0zM81.4 404.2c8.7 26.1 33.2 43.8 60.7 43.8H433.9c27.5 0 52-17.6 60.7-43.8l24-71.9c-14.2-3.5-26.8-9-36.8-14.2c-7-3.7-12.9-7.3-17.5-10.3c-4.5 3.1-10.3 6.7-17.4 10.4C429.8 327 405.2 336 376 336s-53.8-9-70.8-17.8c-6.9-3.6-12.7-7.2-17.2-10.2c-4.5 3-10.2 6.6-17.2 10.2C253.8 327 229.2 336 200 336s-53.8-9-70.8-17.8c-7.1-3.6-12.9-7.3-17.4-10.4c-4.6 3-10.5 6.7-17.5 10.3c-10 5.2-22.7 10.7-36.8 14.2l24 71.9zM206.3 151.2l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5zm192-14.3l16 32c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2l-16-32c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2zM304 144v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessKnightPiece = {\n prefix: 'fas',\n iconName: 'chess-knight-piece',\n icon: [320, 512, [\"chess-knight-alt\"], \"f442\", \"M57.6 102.4l-6.9 6.9c-12 12-18.7 28.3-18.7 45.3v81.2c0 10.7 5.3 20.7 14.2 26.6l3.5 2.4c12.7 8.5 29.1 9.5 42.8 2.7c2.3-1.1 4.5-2.5 6.5-4l38.8-29.1c5.5-4.1 13.1-4.1 18.6 0c8.2 6.1 8.3 18.4 .2 24.7L81 317c-20.8 16-33 40.7-33 67H272l26.9-107.6c3.4-13.6 5.1-27.5 5.1-41.5c0-94.4-76.5-171-171-171H47.8C39.1 64 32 71.1 32 79.8c0 6 3.4 11.5 8.7 14.2l16.9 8.4zm19.2 54.4a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L272 416H48z\"]\n};\nvar faChessKnightAlt = faChessKnightPiece;\nvar faAustralSign = {\n prefix: 'fas',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M253.5 51.7C248.6 39.8 236.9 32 224 32s-24.6 7.8-29.5 19.7L122.7 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96L82.7 320H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H56L34.5 435.7c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L125.3 384H322.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8L392 384h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H365.3L352 288h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H325.3L253.5 51.7zM256 224H192l32-76.8L256 224zm-90.7 64H282.7L296 320H152l13.3-32z\"]\n};\nvar faCloudPlus = {\n prefix: 'fas',\n iconName: 'cloud-plus',\n icon: [640, 512, [], \"e35e\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM296 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H232c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faF = {\n prefix: 'fas',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M64 32C28.7 32 0 60.7 0 96V256 448c0 17.7 14.3 32 32 32s32-14.3 32-32V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 216s0 0 0 0c-16.6 0-32.7 1.9-48.2 5.4c-25.9 5.9-50 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z\"]\n};\nvar faBedBunk = {\n prefix: 'fas',\n iconName: 'bed-bunk',\n icon: [576, 512, [], \"f8f8\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V448H256 512v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448 416 288 256 192 160 112C576 50.1 525.9 0 464 0H256c-17.7 0-32 14.3-32 32v96H64V32zM512 256H256c-17.7 0-32 14.3-32 32v96H64V192H256 512v64zM192 304a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M256 32H181.2c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480H256V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64H521.4c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32H320V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32V64c0 .1 0 .1 0 .2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288V432v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V432H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V432 288c0-26.7-16.4-49.6-39.6-59.2L437.2 128.3c-12.9-36.8-46.6-62-85.2-64.1c0-.1 0-.1 0-.2V32c0-17.7-14.3-32-32-32H192zM165.4 128H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 224H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'fas',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z\"]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'fas',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M0 256L28.5 28c2-16 15.6-28 31.8-28H228.9c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160H347.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5c0-2.3 .3-4.6 .9-6.9L176 288H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faClockEight = {\n prefix: 'fas',\n iconName: 'clock-eight',\n icon: [512, 512, [], \"e345\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V256c0 8-4 15.5-10.7 20l-96 64c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3L232 243.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSackXmark = {\n prefix: 'fas',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zM289.9 336l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM155.7 250.2L192 302.1l36.3-51.9c7.6-10.9 22.6-13.5 33.4-5.9s13.5 22.6 5.9 33.4L221.3 344l46.4 66.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L192 385.8l-36.3 51.9c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L162.7 344l-46.4-66.2c-7.6-10.9-5-25.8 5.9-33.4s25.8-5 33.4 5.9z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z\"]\n};\nvar faFishFins = {\n prefix: 'fas',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M275.2 38.4c-10.6-8-25-8.5-36.3-1.5S222 57.3 224.6 70.3l9.7 48.6c-19.4 9-36.9 19.9-52.4 31.5c-15.3 11.5-29 23.9-40.7 36.3L48.1 132.4c-12.5-7.3-28.4-5.3-38.7 4.9S-3 163.3 4.2 175.9L50 256 4.2 336.1c-7.2 12.6-5 28.4 5.3 38.6s26.1 12.2 38.7 4.9l93.1-54.3c11.8 12.3 25.4 24.8 40.7 36.3c15.5 11.6 33 22.5 52.4 31.5l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c54.9-4 101.5-27 137.2-53.8c39.2-29.4 67.2-64.7 81.6-89.5c5.8-9.9 5.8-22.2 0-32.1c-14.4-24.8-42.5-60.1-81.6-89.5c-35.8-26.8-82.3-49.8-137.2-53.8L275.2 38.4zM384 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCircleQ = {\n prefix: 'fas',\n iconName: 'circle-q',\n icon: [512, 512, [], \"e11e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0 44.2 35.8 80 80 80c13.4 0 25.9-3.3 37-9.1l-30-30c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l30 30c5.8-11.1 9.1-23.7 9.1-37c0-44.2-35.8-80-80-80s-80 35.8-80 80zm208 0c0 26.7-8.2 51.4-22.1 71.9L377 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15.1-15.1c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\"]\n};\nvar faBuildingFlag = {\n prefix: 'fas',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM448 0c-17.7 0-32 14.3-32 32V512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480c0-17.7-14.3-32-32-32z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'fas',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H328.6C339.6 12.9 360.3 0 384 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V232.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4V232.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4H119.4zm192 384c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V352h64v40.6c9.7 5.6 17.8 13.7 23.4 23.4H520.6c5.6-9.7 13.7-17.8 23.4-23.4V279.4c-9.7-5.6-17.8-13.7-23.4-23.4h-46c-5.4-15.4-14.6-28.9-26.5-39.6V192h72.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H311.4z\"]\n};\nvar faFaceDisguise = {\n prefix: 'fas',\n iconName: 'face-disguise',\n icon: [512, 512, [], \"e370\", \"M256 512c141.4 0 256-114.6 256-256c0-16.4-1.5-32.5-4.5-48H440c0 50.1-38.4 91.2-87.3 95.6c9.6 7.9 15.3 19.7 15.3 32.4c0 15.9-9 30.4-23.1 37.5L364.5 398c5.5 6.9 4.4 17-2.5 22.5s-17 4.4-22.5-2.5l-23.9-29.9-7.3 3.6 10.5 26.3c3.3 8.2-.7 17.5-8.9 20.8s-17.5-.7-20.8-8.9l-10-24.9c-2.4 .7-4.8 1.3-7.2 1.8V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V406.8c-2.4-.5-4.8-1.1-7.2-1.8l-10 24.9c-3.3 8.2-12.6 12.2-20.8 8.9s-12.2-12.6-8.9-20.8l10.5-26.3-7.3-3.6L172.5 418c-5.5 6.9-15.6 8-22.5 2.5s-8-15.6-2.5-22.5l19.6-24.5C153 366.4 144 351.9 144 336c0-12.7 5.7-24.5 15.3-32.4C110.4 299.2 72 258.1 72 208H4.5C1.5 223.5 0 239.6 0 256C0 397.4 114.6 512 256 512zm61.9-245.5c7.9 3.5 16.8 5.5 26.1 5.5c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 2.5 .1 4.9 .4 7.3c5.4 3.6 10.1 8.4 13.5 14.1l21.4 35.7c1.1 .6 1.9 1 2.6 1.3zM232 208c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64c9.3 0 18.1-2 26.1-5.5c.6-.3 1.5-.7 2.6-1.3L218 229.5c3.5-5.8 8.1-10.6 13.5-14.1c.3-2.4 .4-4.9 .4-7.3zM12.7 176H77.5c5.3-14.9 14.1-28 25.4-38.5l-5.2-10.3c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l3.5 7c4.6-2 9.3-3.6 14.2-4.9V96c0-8.8 7.2-16 16-16s16 7.2 16 16v16.3c4.4 .4 8.7 1 13 2l4.7-9.5c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-3.6 7.3c16.4 10.2 29.5 25.3 37.3 43.1c7.8-17.9 20.9-32.9 37.3-43.1l-3.6-7.3c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l4.7 9.5c4.2-.9 8.6-1.6 13-2V96c0-8.8 7.2-16 16-16s16 7.2 16 16v19c4.9 1.3 9.6 2.9 14.2 4.9l3.5-7c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-5.2 10.3c11.3 10.5 20.1 23.7 25.4 38.5h64.7C465.7 73.8 369.4 0 256 0S46.3 73.8 12.7 176zM256 240c-4.3 0-8.3 2.3-10.5 6l-39.8 66.3-2.4 4-4.2 2.1-17.7 8.8c-3.4 1.7-5.5 5.1-5.5 8.8s2.1 7.2 5.5 8.8l53.1 26.5c13.5 6.8 29.4 6.8 42.9 0l53.1-26.5c3.4-1.7 5.5-5.1 5.5-8.8s-2.1-7.2-5.5-8.8l-17.7-8.8-4.2-2.1-2.4-4L266.5 246c-2.2-3.7-6.2-6-10.5-6zM144 216a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm200-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCircleArrowDownRight = {\n prefix: 'fas',\n iconName: 'circle-arrow-down-right',\n icon: [512, 512, [], \"e0fa\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM192 368c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L151 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24H192z\"]\n};\nvar faAlien8bit = {\n prefix: 'fas',\n iconName: 'alien-8bit',\n icon: [640, 512, [128126, \"alien-monster\"], \"f8f6\", \"M128 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h48c8.8 0 16 7.2 16 16v48H384V80c0-8.8 7.2-16 16-16h48V48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H448v32 32h48c8.8 0 16 7.2 16 16v48h32V144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16H544v80c0 8.8-7.2 16-16 16H480v80c0 8.8-7.2 16-16 16H416 368c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16h48V384H224v32h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224 176c-8.8 0-16-7.2-16-16V384H112c-8.8 0-16-7.2-16-16V288H48c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v80h32V176c0-8.8 7.2-16 16-16h48V128 96H144c-8.8 0-16-7.2-16-16V48zm64 192v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm192 0v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16z\"]\n};\nvar faAlienMonster = faAlien8bit;\nvar faHandPointRibbon = {\n prefix: 'fas',\n iconName: 'hand-point-ribbon',\n icon: [448, 512, [], \"e1a6\", \"M64 32C64 14.3 78.3 0 96 0s32 14.3 32 32h16c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H11.8C5.3 128 0 122.7 0 116.2c0-3.9 1.9-7.5 5.1-9.7L43.6 80 5.1 53.5C1.9 51.3 0 47.7 0 43.8C0 37.3 5.3 32 11.8 32L64 32zm0 208V160h64v80H64zm192-48c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H194.3c-42.4 0-83.1-16.9-113.1-46.9L69.5 453.5C45.5 429.5 32 396.9 32 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M254.4 6.6c3.5-4.3 9-6.5 14.5-5.7C315.8 7.2 352 47.4 352 96c0 11.2-1.9 22-5.5 32H352c35.3 0 64 28.7 64 64c0 19.1-8.4 36.3-21.7 48H408c39.8 0 72 32.2 72 72c0 23.2-11 43.8-28 57c34.1 5.7 60 35.3 60 71c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72c0-35.7 25.9-65.3 60-71c-17-13.2-28-33.8-28-57c0-39.8 32.2-72 72-72h13.7C104.4 228.3 96 211.1 96 192c0-35.3 28.7-64 64-64h16.2c44.1-.1 79.8-35.9 79.8-80c0-9.2-1.5-17.9-4.3-26.1c-1.8-5.2-.8-11.1 2.8-15.4z\"]\n};\nvar faObjectExclude = {\n prefix: 'fas',\n iconName: 'object-exclude',\n icon: [512, 512, [], \"e49c\", \"M0 64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v96h96c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V352H64c-35.3 0-64-28.7-64-64V64zM320 192H192V320H320V192z\"]\n};\nvar faTelescope = {\n prefix: 'fas',\n iconName: 'telescope',\n icon: [576, 512, [128301], \"e03e\", \"M375.7 40c-15.3 8.8-20.6 28.4-11.7 43.7L460 250c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-96-166.3C466 4.4 446.4-.8 431.1 8L375.7 40zM11.8 343.6C.4 350.3-3.6 364.9 3.1 376.4l25.9 44.9c6.6 11.5 21.3 15.4 32.8 8.8l44.1-25.5 .8 1.4c8.6 15 27.6 20.4 42.8 12.2l88.4-47.4L193.8 478.9c-5 12.3 .9 26.3 13.2 31.3s26.3-.9 31.3-13.2L304 335.6l65.8 161.4c5 12.3 19 18.2 31.3 13.2s18.2-19 13.2-31.3L346.4 312.5l86.1-46.2-.2-.3-96-166.3c-1-1.8-2-3.6-2.8-5.4L62.4 268.4c-14.4 9.2-19 28.1-10.4 42.9l4 6.9L11.8 343.6z\"]\n};\nvar faLocationPin = {\n prefix: 'fas',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z\"]\n};\nvar faMapMarker = faLocationPin;\nvar faSquareList = {\n prefix: 'fas',\n iconName: 'square-list',\n icon: [448, 512, [], \"e489\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H192zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H192zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H192z\"]\n};\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M60 120l228 71.2L516 120 288 48.8 60 120zM278.5 1.5c6.2-1.9 12.9-1.9 19.1 0l256 80C566.9 85.6 576 98 576 112v16 0 21.2L292.8 237.7c-3.1 1-6.4 1-9.5 0L0 149.2V128 112C0 98 9.1 85.6 22.5 81.5l256-80zm23.9 266.8L576 182.8v46.5l-52.8 16.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5L576 262.8V400c0 14-9.1 26.4-22.5 30.5l-256 80c-6.2 1.9-12.9 1.9-19.1 0l-256-80C9.1 426.4 0 414 0 400V262.8l43.2 13.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L0 229.2V182.8l273.7 85.5c9.3 2.9 19.3 2.9 28.6 0zm-185.5-2.6c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M444.2 0C397.2 49.6 384 126.5 384 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2c9.8-17.7 15.4-38.2 20.5-57.7C52.3 362.8 64 293.5 64 192C64 86 107 0 160 0H444.2zM512 384c-53 0-96-86-96-192S459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM144 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHelmetSafety = {\n prefix: 'fas',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M256 32c-17.7 0-32 14.3-32 32v2.3 99.6c0 5.6-4.5 10.1-10.1 10.1c-3.6 0-7-1.9-8.8-5.1L157.1 87C83 123.5 32 199.8 32 288v64H544l0-66.4c-.9-87.2-51.7-162.4-125.1-198.6l-48 83.9c-1.8 3.2-5.2 5.1-8.8 5.1c-5.6 0-10.1-4.5-10.1-10.1V66.3 64c0-17.7-14.3-32-32-32H256zM16.6 384C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6H16.6z\"]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faCommentCode = {\n prefix: 'fas',\n iconName: 'comment-code',\n icon: [512, 512, [], \"e147\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM217 193l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM329 159l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSimCards = {\n prefix: 'fas',\n iconName: 'sim-cards',\n icon: [448, 512, [], \"e251\", \"M160 0C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V141.3c0-17-6.7-33.3-18.7-45.3L352 18.7C340 6.7 323.7 0 306.7 0H160zm48 144v48H160V176c0-17.7 14.3-32 32-32h16zm-48 80h64 96 64v48H320 224 160V224zm224-32H336V144h16c17.7 0 32 14.3 32 32v16zm-80-48v48H240V144h64zm80 160v16c0 17.7-14.3 32-32 32H336V304h48zm-80 48H240V304h64v48zm-96 0H192c-17.7 0-32-14.3-32-32V304h48v48zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faStarship = {\n prefix: 'fas',\n iconName: 'starship',\n icon: [640, 512, [], \"e039\", \"M448 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 256a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm32-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM188.9 205.4L137 160h71c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 96 0 110.3 0 128s14.3 32 32 32H64.1l65.5 57.3-2.2 .4C109.1 221.4 96 237.4 96 256s13.1 34.6 31.4 38.3l2.2 .4L64.1 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H208c17.7 0 32-14.3 32-32s-14.3-32-32-32H137l51.9-45.4 43 8.6c-5.2-18.9-7.9-38.7-7.9-59.2s2.7-40.3 7.9-59.2l-43 8.6z\"]\n};\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faCircleRight = {\n prefix: 'fas',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1l99.9 107.1c3.5 3.8 5.5 8.7 5.5 13.8s-2 10.1-5.5 13.8L294.6 376.9c-4.2 4.5-10.1 7.1-16.3 7.1C266 384 256 374 256 361.7l0-57.7-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-57.7c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.3 7.1z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'fas',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faSeal = {\n prefix: 'fas',\n iconName: 'seal',\n icon: [512, 512, [], \"e241\", \"M289.9 18.4c-18.7-18.7-49.1-18.7-67.9 0L176.5 64H112c-26.5 0-48 21.5-48 48v64.5L18.4 222.1c-18.7 18.7-18.7 49.1 0 67.9L64 335.5V400c0 26.5 21.5 48 48 48h64.5l45.6 45.6c18.7 18.7 49.1 18.7 67.9 0L335.5 448H400c26.5 0 48-21.5 48-48V335.5l45.6-45.6c18.7-18.7 18.7-49.1 0-67.9L448 176.5V112c0-26.5-21.5-48-48-48H335.5L289.9 18.4z\"]\n};\nvar faUserCowboy = {\n prefix: 'fas',\n iconName: 'user-cowboy',\n icon: [448, 512, [], \"f8ea\", \"M224 16c6.7 0 10.8-2.8 15.5-6.1C246.1 5.4 254 0 272 0c35.2 0 58.3 58.1 72 110.4C316.4 120 277 128 224 128s-92.4-8-120-17.6C117.7 58.1 140.8 0 176 0c18 0 25.9 5.4 32.5 9.9c4.8 3.3 8.8 6.1 15.5 6.1zM8.6 97.8c7-3.6 15.5-1.7 20.2 4.6c5.6 7.5 22.7 22 55 34.7C115.8 149.6 161.8 160 224 160s108.2-10.4 140.2-22.9c32.4-12.7 49.4-27.2 55-34.7c4.7-6.3 13.3-8.2 20.2-4.6s10.2 11.8 7.8 19.2c-9.3 27.9-35 62.4-72.5 89.9c-7.1 5.2-14.7 10.1-22.7 14.8c0 .8 0 1.5 0 2.3c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-.8 0-1.5 0-2.3c-8-4.6-15.6-9.6-22.7-14.8C35.8 179.5 10.1 145 .8 117.1c-2.5-7.4 .8-15.6 7.8-19.2zM100.7 384H347.3c48.4 0 89.3 36.1 95.3 84.1l1 7.9c2.4 19.1-12.5 36-31.8 36H36.2C17 512 2.1 495.1 4.5 476l1-7.9c6-48 46.8-84.1 95.3-84.1z\"]\n};\nvar faHexagonVerticalNft = {\n prefix: 'fas',\n iconName: 'hexagon-vertical-nft',\n icon: [448, 512, [], \"e505\", \"M260.9 495.5c-22.3 12.9-49.7 12.9-72 0L36 407.2C13.7 394.4 0 370.6 0 344.9V168.3c0-25.7 13.7-49.5 36-62.4L188.9 17.7c22.3-12.9 49.7-12.9 72 0l152.9 88.3c22.3 12.9 36 36.6 36 62.4V344.9c0 25.7-13.7 49.5-36 62.4L260.9 495.5zM95.8 170.6c-2.8-7.1-10.3-11.2-17.9-9.8s-13 8-13 15.7v160c0 8.8 7.2 16 16 16s16-7.2 16-16V259.7l33.1 82.9c2.8 7.1 10.3 11.2 17.9 9.8s13-8 13-15.7v-160c0-8.8-7.2-16-16-16s-16 7.2-16 16v76.9L95.8 170.6zm97.1 5.9v80 80c0 8.8 7.2 16 16 16s16-7.2 16-16v-64h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-32v-48h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v144c0 8.8 7.2 16 16 16s16-7.2 16-16v-144h16c8.8 0 16-7.2 16-16s-7.2-16-16-16h-64z\"]\n};\nvar faFaceRollingEyes = {\n prefix: 'fas',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zm32-144c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C208.5 175.6 224 198 224 224zm128 64c-35.3 0-64-28.7-64-64c0-26 15.5-48.4 37.8-58.4c-3.7 5.2-5.8 11.6-5.8 18.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.9-2.2-13.2-5.8-18.4C400.5 175.6 416 198 416 224c0 35.3-28.7 64-64 64z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faBreadLoaf = {\n prefix: 'fas',\n iconName: 'bread-loaf',\n icon: [640, 512, [127838], \"f7eb\", \"M0 192C0 64 176 32 240 32s240 32 240 160c0 35.3-28.7 64-64 64V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V256c-35.3 0-64-28.7-64-64zM397.4 34.9c-2-.9-4.1-1.9-6.2-2.8c3.1-.1 6-.2 8.8-.2c64 0 240 32 240 160c0 35.3-28.7 64-64 64V432c0 26.5-21.5 48-48 48H432c10-13.4 16-30 16-48V282.5c37.3-13.2 64-48.7 64-90.5c0-82.2-57.6-130.7-114.6-157.1z\"]\n};\nvar faRingsWedding = {\n prefix: 'fas',\n iconName: 'rings-wedding',\n icon: [512, 512, [], \"f81b\", \"M113.7 8.8C116.4 3.4 121.9 0 128 0h96c6.1 0 11.6 3.4 14.3 8.8l16 32c2.3 4.5 2.3 9.8 0 14.3l-24.6 49.2C300.6 127.1 352 193.5 352 272c0 52.3-22.8 99.2-59 131.5c-18.7-11.9-32.1-31.5-35.9-54.2C276.2 329.2 288 302 288 272c0-12-1.9-23.6-5.4-34.5c-34.9 19-58.6 56-58.6 98.5c0 61.9 50.1 112 112 112s112-50.1 112-112c0-46.1-27.8-85.7-67.6-102.9c-5-26.2-14.8-50.7-28.6-72.4C441.6 168.7 512 244.1 512 336c0 97.2-78.8 176-176 176c-55.3 0-104.7-25.5-137-65.5c-7.5 1-15.2 1.5-23 1.5C78.8 448 0 369.2 0 272c0-78.5 51.4-144.9 122.3-167.7L97.7 55.2c-2.3-4.5-2.3-9.8 0-14.3l16-32zM176 160c-61.9 0-112 50.1-112 112c0 58.7 45.1 106.8 102.5 111.6c-4.2-15.1-6.5-31.1-6.5-47.6c0-64.4 34.5-120.7 86.1-151.3C226.9 169.2 202.5 160 176 160z\"]\n};\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M32 119.4C12.9 108.4 0 87.7 0 64C0 28.7 28.7 0 64 0c23.7 0 44.4 12.9 55.4 32H456.6C467.6 12.9 488.3 0 512 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V392.6c19.1 11.1 32 31.7 32 55.4c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V119.4zM456.6 96H119.4c-5.6 9.7-13.7 17.8-23.4 23.4V392.6c9.7 5.6 17.8 13.7 23.4 23.4H456.6c5.6-9.7 13.7-17.8 23.4-23.4V119.4c-9.7-5.6-17.8-13.7-23.4-23.4zM128 160c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"]\n};\nvar faFrenchFries = {\n prefix: 'fas',\n iconName: 'french-fries',\n icon: [384, 512, [127839], \"f803\", \"M183.2 1.7c-5-2.5-10.8-2.2-15.6 .7S160 10.5 160 16V206.7l0 0v63.2c9.2 1.4 19.8 2.2 32 2.2s22.8-.8 32-2.2V31.8c-.1-6-3.5-11.4-8.8-14.1l-32-16zM128 14.7l-.2-1.3c-.8-5-4-9.3-8.5-11.6s-9.9-2.3-14.4-.1l-32 16c-6.3 3.1-9.8 10-8.6 16.9l32 192c.5 1.2 .9 2.3 1.2 3.4c2 6.3 6.7 15.9 18.7 24.3c3.2 2.2 7.1 4.5 11.8 6.6V14.7zM40.3 85.6L19.9 80.5c-5.3-1.3-10.8 .1-14.8 3.8S-.7 93.4 .2 98.8l16.5 93.4c1.6-.1 3.1-.2 4.7-.2H48c3.6 0 7 .4 10.2 1L40.3 85.6zM383.8 98.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8L346.2 85l-19 107.8c2.8-.5 5.7-.8 8.8-.8h26.6c1.6 0 3.2 .1 4.7 .2l16.5-93.4zm-64-48c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8l-32 8C262 42 257.3 47 256.2 53.2l-.2 1.4V261c4.8-2.1 8.7-4.4 11.8-6.6c12-8.4 16.7-18 18.7-24.3c.7-2.3 1.7-4.7 2.8-7L319.8 50.8zM.6 250.5l57.5 237C61.5 501.9 74.4 512 89.2 512H294.8c14.8 0 27.6-10.1 31.1-24.5l57.5-237c.4-1.7 .6-3.3 .6-5.1c0-11.8-9.6-21.4-21.4-21.4H336c-8.8 0-16.3 7.2-18.9 15.7C309.7 263 283.7 304 192 304s-117.7-41-125.1-64.3C64.3 231.2 56.8 224 48 224H21.4C9.6 224 0 233.6 0 245.4c0 1.7 .2 3.4 .6 5.1z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z\"]\n};\nvar faLineChart = faChartLine;\nvar faCalendarArrowDown = {\n prefix: 'fas',\n iconName: 'calendar-arrow-down',\n icon: [448, 512, [\"calendar-download\"], \"e0d0\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm248 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V366.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V264z\"]\n};\nvar faCalendarDownload = faCalendarArrowDown;\nvar faSendBack = {\n prefix: 'fas',\n iconName: 'send-back',\n icon: [640, 512, [], \"f87e\", \"M192 64V192H64V64H192zM64 0C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM576 320V448H448V320H576zM448 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H448zM160 288v64c0 35.3 28.7 64 64 64H352V320c0-53 43-96 96-96h32V160c0-35.3-28.7-64-64-64H288v96c0 53-43 96-96 96H160z\"]\n};\nvar faMaskVentilator = {\n prefix: 'fas',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M159.1 176C139.4 219.2 128 264.7 128 300.8c0 15.9 2.2 31.4 6.3 46l-31.8-7.9C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H159.1zm26-48H56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l71.3 17.8c22.7 30.5 55.4 54.1 93.8 66.6V393.3c-19.7-16.4-32-40.3-32-66.9c0-49.5 43-134.4 96-134.4c52.5 0 96 84.9 96 134.4c0 26.7-12.4 50.4-32 66.8v76.6c38-12.6 70.6-36 93.5-66.4l71.6-17.9C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H454.5C419.7 73.8 372.1 32 320 32c-52.6 0-100.2 41.8-134.9 96zm295.6 48H584c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9l-31.8 8c4.2-14.7 6.4-30.1 6.4-46.1c0-36.1-11.6-81.6-31.3-124.8zM288 320V512h64V320c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faSignatureLock = {\n prefix: 'fas',\n iconName: 'signature-lock',\n icon: [640, 512, [], \"e3ca\", \"M96 128c0-17.7 14.3-32 32-32s32 14.3 32 32v7.8c0 27.7-2.4 55.3-7.1 82.5L68.4 243.7C27.8 255.8 0 293.2 0 335.6v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c26.8-47 46.5-97.7 58.4-150.5l94.4-28.3-12.5 37.5c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3h72.6c5.6-9.7 13.7-17.8 23.4-23.4V272c0-5.4 .4-10.8 1.1-16H364.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L220.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96s-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128zM209.9 368c-6.7 16.3-14.2 32.3-22.3 48H384V368H209.9zM86.8 305l49-14.7c-10.4 33.8-24.5 66.4-42.1 97.2L79.9 411.7c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\"]\n};\nvar faSignsPost = {\n prefix: 'fas',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M224 32H64C46.3 32 32 46.3 32 64v64c0 17.7 14.3 32 32 32H441.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32H288V192H224v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32V256zM288 480V384H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMapSigns = faSignsPost;\nvar faOctagonPlus = {\n prefix: 'fas',\n iconName: 'octagon-plus',\n icon: [512, 512, [\"plus-octagon\"], \"f301\", \"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faPlusOctagon = faOctagonPlus;\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32H87c-31.6 0-58.5 23.1-63.3 54.4L1.1 364.1C.4 368.8 0 373.6 0 378.4V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V378.4c0-4.8-.4-9.6-1.1-14.4L488.2 214.4C483.5 183.1 456.6 160 425 160H208V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 432c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm48-168a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm120-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM160 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM256 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM424 240a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM352 344a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nvar faPersonCircleQuestion = {\n prefix: 'fas',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faMelonSlice = {\n prefix: 'fas',\n iconName: 'melon-slice',\n icon: [512, 512, [], \"e311\", \"M41 391c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c96.9 96.9 97.1 253.6 .3 350.4S137.9 487.9 41 391zM320 128c0 106-86 192-192 192c-11.4 0-22.5-1-33.3-2.9c-5.4-.9-11 .6-14.8 4.5L59.3 342.2c-6.2 6.2-6.2 16.4 0 22.6l4 4c84.4 84.4 221.1 84.4 305.5 0c84.2-84.2 84.4-220.7 .3-305.1l-4.3-4.3c-6.2-6.2-16.4-6.2-22.6 0L321.6 79.8c-3.9 3.9-5.4 9.4-4.5 14.8c1.9 10.8 2.9 22 2.9 33.3z\"]\n};\nvar faSpaceStationMoon = {\n prefix: 'fas',\n iconName: 'space-station-moon',\n icon: [512, 512, [], \"e033\", \"M512 256c0 7.8-.3 15.5-1 23.1C438.8 304.7 351.2 320 256 320s-182.8-15.3-255-40.9c-.7-7.6-1-15.3-1-23.1C0 114.6 114.6 0 256 0S512 114.6 512 256zM256 512C134.9 512 33.4 427.9 6.8 314.8C79.4 338.4 164.7 352 256 352s176.6-13.6 249.2-37.2C478.6 427.9 377.1 512 256 512zM160 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faMessageSmile = {\n prefix: 'fas',\n iconName: 'message-smile',\n icon: [512, 512, [\"comment-alt-smile\"], \"f4aa\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM192 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM150.5 238.1c-9.9 8.8-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32c-8.8-9.9-24-10.7-33.9-1.9z\"]\n};\nvar faCommentAltSmile = faMessageSmile;\nvar faCupStraw = {\n prefix: 'fas',\n iconName: 'cup-straw',\n icon: [384, 512, [129380], \"e363\", \"M249.3 0H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H249.3c-3.7 0-6.9 2.6-7.8 6.2L224.2 128H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H174.9l20-84.8C200.8 17.9 223.4 0 249.3 0zM60.3 468L40 224H344L323.7 468c-2.1 24.9-22.9 44-47.8 44H108.2c-25 0-45.8-19.1-47.8-44z\"]\n};\nvar faLeftFromLine = {\n prefix: 'fas',\n iconName: 'left-from-line',\n icon: [448, 512, [\"arrow-alt-from-right\"], \"f348\", \"M134.1 406.1L11.3 283.3C4.1 276.1 0 266.2 0 256s4.1-20.1 11.3-27.3L134.1 105.9c6.4-6.4 15-9.9 24-9.9c18.7 0 33.9 15.2 33.9 33.9l0 62.1 128 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-128 0 0 62.1c0 18.7-15.2 33.9-33.9 33.9c-9 0-17.6-3.6-24-9.9zM384 416l0-320c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faArrowAltFromRight = faLeftFromLine;\nvar faH = {\n prefix: 'fas',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M320 256l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192L64 192 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0z\"]\n};\nvar faBasketShoppingSimple = {\n prefix: 'fas',\n iconName: 'basket-shopping-simple',\n icon: [576, 512, [\"shopping-basket-alt\"], \"e0af\", \"M243.1 2.7c11.8 6.1 16.3 20.6 10.2 32.4L171.7 192H404.3L322.7 35.1c-6.1-11.8-1.5-26.3 10.2-32.4s26.2-1.5 32.4 10.2L458.4 192H544c17.7 0 32 14.3 32 32s-14.3 32-32 32L492.1 463.5C485 492 459.4 512 430 512H146c-29.4 0-55-20-62.1-48.5L32 256c-17.7 0-32-14.3-32-32s14.3-32 32-32h85.6L210.7 12.9c6.1-11.8 20.6-16.3 32.4-10.2zM144 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm312-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faShoppingBasketAlt = faBasketShoppingSimple;\nvar faHandsHoldingHeart = {\n prefix: 'fas',\n iconName: 'hands-holding-heart',\n icon: [640, 512, [\"hands-heart\"], \"f4c3\", \"M180 76.6C180 34.3 214.3 0 256.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C343.6 8.1 363.1 0 383.4 0C425.7 0 460 34.3 460 76.6c0 20.3-8.1 39.8-22.4 54.1L334.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L202.4 130.7C188.1 116.4 180 96.9 180 76.6zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faHandsHeart = faHandsHoldingHeart;\nvar faClockNine = {\n prefix: 'fas',\n iconName: 'clock-nine',\n icon: [512, 512, [], \"e34c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V256c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTarp = {\n prefix: 'fas',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M576 128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l352 0 0-128c0-17.7 14.3-32 32-32H576V128zM448 448L576 320H448l0 128zM96 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFaceSleepy = {\n prefix: 'fas',\n iconName: 'face-sleepy',\n icon: [512, 512, [], \"e38e\", \"M385.1 477.1C347.2 499.3 303.1 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 37-7.8 72.1-22 103.9c-7.4-6.2-15.1-11.8-22.7-16.7C429.6 318.7 383.6 304 352 304c-15.3 0-28.5 10.9-31.4 25.9s5.3 30.1 19.5 35.8c21 8.4 31.6 23.5 37.4 41.7c6.3 19.4 6.5 40.3 6.5 56.6c0 4.5 .4 8.9 1.1 13.1zM176 389.5c-6.8 11.1 6 20.7 18.3 16.4c18.9-6.5 39.8-10.1 61.8-10.1s42.9 3.6 61.8 10.1c12.3 4.2 25.1-5.3 18.3-16.4C321 364.8 290.8 348 256 348s-64.9 16.8-80.1 41.5zM316.8 246.4c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2c-17.6 23.5-52.8 23.5-70.4 0zm-121.6 0c-17.6 23.5-52.8 23.5-70.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2zM512 464c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-32 0-102.4-64-128c48 0 160 48 160 128z\"]\n};\nvar faHandHorns = {\n prefix: 'fas',\n iconName: 'hand-horns',\n icon: [384, 512, [], \"e1a9\", \"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32V240H32V32zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM320 96c0-17.7 14.3-32 32-32s32 14.3 32 32v96 96 64c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c35.3 0 64-28.7 64-64V192 96z\"]\n};\nvar faScrewdriverWrench = {\n prefix: 'fas',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'fas',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M15 15C24.4 5.7 39.6 5.7 49 15l63 63V40c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H78.1L15 49C5.7 39.6 5.7 24.4 15 15zM133.5 243.9C158.6 193.6 222.7 112 320 112s161.4 81.6 186.5 131.9c3.8 7.6 3.8 16.5 0 24.2C481.4 318.4 417.3 400 320 400s-161.4-81.6-186.5-131.9c-3.8-7.6-3.8-16.5 0-24.2zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM591 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63 63H600c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24V40c0-13.3 10.7-24 24-24s24 10.7 24 24V78.1l63-63zM15 497c-9.4-9.4-9.4-24.6 0-33.9l63-63H40c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V433.9L49 497c-9.4 9.4-24.6 9.4-33.9 0zm576 0l-63-63V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H561.9l63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]\n};\nvar faCircleThreeQuarters = {\n prefix: 'fas',\n iconName: 'circle-three-quarters',\n icon: [512, 512, [], \"e125\", \"M256 32c0-17.7-14.4-32.2-31.9-30C97.8 17.7 0 125.4 0 256C0 397.4 114.6 512 256 512c130.6 0 238.3-97.8 254-224.1c2.2-17.5-12.4-31.9-30-31.9H256V32z\"]\n};\nvar faTrophyStar = {\n prefix: 'fas',\n iconName: 'trophy-star',\n icon: [576, 512, [\"trophy-alt\"], \"f2eb\", \"M176 0H400c26.5 0 48.1 21.8 47.1 48.2c-.2 5.3-.4 10.6-.7 15.8H552c13.3 0 24 10.7 24 24c0 92.6-33.5 157-78.5 200.7c-44.3 43.1-98.3 64.8-138.2 75.8c-23.4 6.5-39.4 26-39.4 45.6c0 20.9 17 37.9 37.9 37.9H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h26.1c20.9 0 37.9-17 37.9-37.9c0-19.6-15.9-39.2-39.4-45.6c-39.9-11-93.9-32.7-138.1-75.8C33.5 245 0 180.6 0 88C0 74.7 10.7 64 24 64H129.6c-.3-5.2-.5-10.4-.7-15.8C127.9 21.8 149.5 0 176 0zM133.2 112H48.9c5.1 66.3 31.1 111.2 63 142.3c22.4 21.8 48.3 37.3 73.2 48.3c-22.7-40.3-42.8-100.5-51.9-190.6zM390.8 302.6c24.9-11 50.8-26.5 73.2-48.3c32-31.1 58-76 63-142.3H442.7c-9.1 90.1-29.2 150.3-51.9 190.6zM295.2 86.5c-2.9-5.9-11.4-5.9-14.3 0l-19.2 38.9c-1.2 2.4-3.4 4-6 4.4L212.7 136c-6.6 1-9.2 9-4.4 13.6l31 30.2c1.9 1.8 2.7 4.5 2.3 7.1l-7.3 42.7c-1.1 6.5 5.7 11.5 11.6 8.4L284.3 218c2.3-1.2 5.1-1.2 7.4 0l38.4 20.2c5.9 3.1 12.7-1.9 11.6-8.4L334.4 187c-.4-2.6 .4-5.2 2.3-7.1l31-30.2c4.7-4.6 2.1-12.7-4.4-13.6l-42.9-6.2c-2.6-.4-4.9-2-6-4.4L295.2 86.5z\"]\n};\nvar faTrophyAlt = faTrophyStar;\nvar faPlugCircleBolt = {\n prefix: 'fas',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFaceThermometer = {\n prefix: 'fas',\n iconName: 'face-thermometer',\n icon: [576, 512, [], \"e39a\", \"M544 256c0 141.4-114.6 256-256 256S32 397.4 32 256S146.6 0 288 0C400 0 495.2 72 530 172.2c-14-4.1-29.8-.7-41 10.2l-150.8 146c-14.9-5.2-31.6-8.4-50.2-8.4c-55.1 0-93.8 27.9-116.1 53.5c-5.8 6.7-5.1 16.8 1.6 22.6s16.8 5.1 22.6-1.6C214 373.8 244.6 352 288 352s74 21.8 91.9 42.5c5.8 6.7 15.9 7.4 22.6 1.6c5.2-4.5 6.8-11.6 4.5-17.7l9.4-9-24.8-24.8c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l25.1 25.1 15.3-14.8-25.4-25.4c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l25.7 25.7 15.3-14.8-26-26c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l26.3 26.3L514.1 275l-26.6-26.6c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l26.9 26.9 12.5-12c.1 3.2 .2 6.4 .2 9.6zM240.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faGridRound4 = {\n prefix: 'fas',\n iconName: 'grid-round-4',\n icon: [448, 512, [], \"e5dd\", \"M44.8 121.6a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zm0 119.5a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zm44.8 74.7A44.8 44.8 0 1 1 0 315.7a44.8 44.8 0 1 1 89.6 0zM44.8 480a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zM209.1 76.8a44.8 44.8 0 1 1 -89.6 0 44.8 44.8 0 1 1 89.6 0zM164.3 241.1a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zm44.8 74.7a44.8 44.8 0 1 1 -89.6 0 44.8 44.8 0 1 1 89.6 0zM164.3 480a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zM328.5 76.8a44.8 44.8 0 1 1 -89.6 0 44.8 44.8 0 1 1 89.6 0zM283.7 241.1a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zm44.8 74.7a44.8 44.8 0 1 1 -89.6 0 44.8 44.8 0 1 1 89.6 0zM283.7 480a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zM448 76.8a44.8 44.8 0 1 1 -89.6 0 44.8 44.8 0 1 1 89.6 0zM403.2 241.1a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6zM448 315.7a44.8 44.8 0 1 1 -89.6 0 44.8 44.8 0 1 1 89.6 0zM403.2 480a44.8 44.8 0 1 1 0-89.6 44.8 44.8 0 1 1 0 89.6z\"]\n};\nvar faShirtRunning = {\n prefix: 'fas',\n iconName: 'shirt-running',\n icon: [384, 512, [], \"e3c8\", \"M80 0c17.7 0 32 14.3 32 32V80c0 44.2 35.8 80 80 80s80-35.8 80-80V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64c0 33.3 2.6 61.5 6.5 85.2L0 393.8V282.5c0-17 6.7-33.5 14.7-48.4C28.8 207.6 48 155 48 64V32C48 14.3 62.3 0 80 0zM3.8 469.8L360.4 215c3 7.5 6 13.8 8.9 19c8 15 14.7 31.5 14.7 48.4V448c0 35.3-28.7 64-64 64H64c-27.7 0-51.3-17.6-60.2-42.2z\"]\n};\nvar faBookCircleArrowUp = {\n prefix: 'fas',\n iconName: 'book-circle-arrow-up',\n icon: [640, 512, [], \"e0bd\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h10.8c-23.3-16.4-42.5-38.4-55.6-64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32H320.7c-.5-5.3-.7-10.6-.7-16c0-80.6 54.1-148.5 128-169.4V32c0-17.7-14.3-32-32-32H384 96zM496 224a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM428.7 371.3c-6.2-6.2-6.2-16.4 0-22.6l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faFaceNauseated = {\n prefix: 'fas',\n iconName: 'face-nauseated',\n icon: [512, 512, [], \"e381\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm79.6-336a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-12.3-84.7l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM168 282.7c19.5 11.3 33.8 30.5 38.4 53.3h99.2c4.6-22.8 18.9-42 38.4-53.3c7.7-4.4 17.4-1.8 21.9 5.8s1.8 17.4-5.8 21.9c-14.4 8.3-24 23.8-24 41.6s9.6 33.3 24 41.6c7.6 4.4 10.3 14.2 5.8 21.9s-14.2 10.3-21.9 5.8c-19.5-11.3-33.8-30.5-38.4-53.3H206.4c-4.6 22.8-18.9 42-38.4 53.3c-7.6 4.4-17.4 1.8-21.9-5.8s-1.8-17.4 5.8-21.9c14.4-8.3 24-23.8 24-41.6s-9.6-33.3-24-41.6c-7.6-4.4-10.3-14.2-5.8-21.9s14.2-10.3 21.9-5.8z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z\"]\n};\nvar faFileChartPie = {\n prefix: 'fas',\n iconName: 'file-chart-pie',\n icon: [384, 512, [], \"f65a\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm40 320H208c-8.8 0-16-7.2-16-16V216c0-8.8 7.2-16.1 16-14.9c53.5 7.1 95.9 49.5 103 103c1.2 8.8-6.1 16-14.9 16zM160 230V336c0 8.8 7.2 16 16 16H282c10.1 0 17.7 9.3 14.1 18.8C278.9 415.9 235.2 448 184 448c-66.3 0-120-53.7-120-120c0-51.2 32.1-94.9 77.2-112.2c9.5-3.6 18.8 4 18.8 14.1z\"]\n};\nvar faMarsAndVenus = {\n prefix: 'fas',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M337.8 14.8C341.5 5.8 350.3 0 360 0H472c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C407 163.3 416 192.6 416 224c0 80.2-59.1 146.7-136.1 158.2c0 .6 .1 1.2 .1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l-24 0-24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456H208c-13.3 0-24-10.7-24-24s10.7-24 24-24h24v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2 .1-1.8C155.1 370.7 96 304.2 96 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L382.1 80 343 41c-6.9-6.9-8.9-17.2-5.2-26.2zM448 48l0 0h0v0zM256 488h24c0 13.3-10.7 24-24 24s-24-10.7-24-24h24zm96-264a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24zM352 224a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]\n};\nvar faHomeUser = faHouseUser;\nvar faCircleArrowDownLeft = {\n prefix: 'fas',\n iconName: 'circle-arrow-down-left',\n icon: [512, 512, [], \"e0f9\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm64-144c13.3 0 24-10.7 24-24s-10.7-24-24-24H225.9L361 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24H320z\"]\n};\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1c1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304V160zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2c-.1-.7-.3-1.4-.5-2.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l12.8 64.2c9.6 1 19 4.9 26.6 11.8c11.7 10.6 23 21.6 33.9 33.1c1.6-1.6 3.3-3.2 5-4.8zM325.2 210.7c3.8-6.2 7.9-12.5 12.3-18.7H32l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-35.2 16.3-73.6 37.2-107.4zm128.4-78.9c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 407.9 390.3 480 480 480c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faHexagonMinus = {\n prefix: 'fas',\n iconName: 'hexagon-minus',\n icon: [512, 512, [\"minus-hexagon\"], \"f307\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMinusHexagon = faHexagonMinus;\nvar faLeftToLine = {\n prefix: 'fas',\n iconName: 'left-to-line',\n icon: [448, 512, [\"arrow-alt-to-left\"], \"f34b\", \"M230.1 406.1L107.3 283.3C100.1 276.1 96 266.2 96 256s4.1-20.1 11.3-27.3L230.1 105.9c6.4-6.4 15-9.9 24-9.9c18.7 0 33.9 15.2 33.9 33.9l0 62.1 128 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-128 0 0 62.1c0 18.7-15.2 33.9-33.9 33.9c-9 0-17.6-3.6-24-9.9zM64 96l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64s32 14.3 32 32z\"]\n};\nvar faArrowAltToLeft = faLeftToLine;\nvar faHouseCrack = {\n prefix: 'fas',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H230.4l-31.3-52.2c-4.1-6.8-2.6-15.5 3.5-20.5L288 368l-60.2-82.8c-10.9-15 8.2-33.5 22.8-22l117.9 92.6c8 6.3 8.2 18.4 .4 24.9L288 448l38.4 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32z\"]\n};\nvar faPawSimple = {\n prefix: 'fas',\n iconName: 'paw-simple',\n icon: [448, 512, [\"paw-alt\"], \"f701\", \"M96 80a48 48 0 1 1 96 0A48 48 0 1 1 96 80zm1.7 206c6.2-2.3 11.8-6.3 15-12.2l40-71.9c14.4-25.9 41.7-42 71.3-42s56.9 16.1 71.3 42l40 71.9c3.2 5.8 8.8 9.9 15 12.2c38.3 14 65.7 50.8 65.7 94c0 55.2-44.8 100-100 100c-21.2 0-40.8-6.6-56.9-17.8c-17.4-12-52.8-12-70.1 0C172.8 473.4 153.2 480 132 480C76.8 480 32 435.2 32 380c0-43.2 27.4-80 65.7-94zM304 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm48 160a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM48 144a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faPawAlt = faPawSimple;\nvar faArrowLeftLongToLine = {\n prefix: 'fas',\n iconName: 'arrow-left-long-to-line',\n icon: [640, 512, [], \"e3d4\", \"M0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32S0 78.3 0 96zM137.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 288 608 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128z\"]\n};\nvar faBracketsRound = {\n prefix: 'fas',\n iconName: 'brackets-round',\n icon: [512, 512, [\"parentheses\"], \"e0c5\", \"M145.8 90.6c14.7-9.8 18.7-29.7 8.9-44.4s-29.7-18.7-44.4-8.9C71.9 62.9 0 140.2 0 256S71.9 449 110.2 474.6c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4C120.1 404.3 64 345 64 256s56.1-148.3 81.8-165.4zm220.5 0C391.9 107.7 448 167 448 256s-56.1 148.3-81.8 165.4c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9C440.1 449.1 512 371.8 512 256s-71.9-193.1-110.2-218.6c-14.7-9.8-34.6-5.8-44.4 8.9s-5.8 34.6 8.9 44.4z\"]\n};\nvar faParentheses = faBracketsRound;\nvar faMartiniGlassCitrus = {\n prefix: 'fas',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48H296.2C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8C5.5 133.8 14.3 128 24 128H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-177 177V464h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H208 120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V345.9L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z\"]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faUserShakespeare = {\n prefix: 'fas',\n iconName: 'user-shakespeare',\n icon: [448, 512, [], \"e2c2\", \"M224 48c-44.2 0-80 35.8-80 80v32c0 40.1 29.5 73.3 68 79.1V224c0-6.6 5.4-12 12-12s12 5.4 12 12v15.1c38.5-5.8 68-39 68-79.1V128c0-44.2-35.8-80-80-80zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v23.2c0 10.9 3.7 21.5 10.5 30L373.6 195c6.7 8.4 10.4 18.8 10.4 29.6c0 26.2-21.2 47.4-47.4 47.4H286c-18.4 10.2-39.5 16-62 16s-43.6-5.8-62-16H111.4C85.2 272 64 250.8 64 224.6c0-10.8 3.7-21.2 10.4-29.6l11.1-13.9c6.8-8.5 10.5-19.1 10.5-30V128zm96-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-7.5 39.5c2 2 6 5.3 10.7 8.1c4.9 2.9 9.4 4.4 12.8 4.4c6.6 0 12 5.4 12 12s-5.4 12-12 12c-9.5 0-18.3-3.8-24.8-7.6c-2.5-1.5-4.9-3.1-7.1-4.6C211.6 201 199 204 192 204c-6.6 0-12-5.4-12-12s5.4-12 12-12c2.1 0 12.9-1.9 23.5-12.5c4.7-4.7 12.3-4.7 17 0zM272 304c23.9 0 45.8 8.8 62.6 23.2c65.7 20.4 113.4 81.7 113.4 154c0 17-13.8 30.7-30.7 30.7H240c0-8.8-7.2-16-16-16s-16 7.2-16 16H30.7C13.8 512 0 498.2 0 481.3c0-72.4 47.7-133.6 113.4-154C130.2 312.8 152.1 304 176 304h96zM208 448a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm-80-48c26.4-10.6 54.6-16 83.1-16h25.8c28.5 0 56.7 5.4 83.1 16c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48z\"]\n};\nvar faArrowRightToArc = {\n prefix: 'fas',\n iconName: 'arrow-right-to-arc',\n icon: [512, 512, [], \"e4b2\", \"M448 256c0-106-86-192-192-192c-17.7 0-32-14.3-32-32s14.3-32 32-32C397.4 0 512 114.6 512 256s-114.6 256-256 256c-17.7 0-32-14.3-32-32s14.3-32 32-32c106 0 192-86 192-192zM230.6 121.4l112 112c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H242.7l-57.4-57.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nvar faFaceSurprise = {\n prefix: 'fas',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'fas',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M120 0h80c13.3 0 24 10.7 24 24V64H96V24c0-13.3 10.7-24 24-24zM32 151.7c0-15.6 9-29.8 23.2-36.5l24.4-11.4c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l24.4 11.4c14.1 6.6 23.2 20.8 23.2 36.5c0 14.4-7.5 27-18.9 34.1c11.5 8.8 18.9 22.6 18.9 38.2c0 16.7-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48c0-16.7 8.5-31.4 21.5-40C40.5 415.4 32 400.7 32 384s8.5-31.4 21.5-40C40.5 335.4 32 320.7 32 304s8.5-31.4 21.5-40C40.5 255.4 32 240.7 32 224c0-15.6 7.4-29.4 18.9-38.2C39.5 178.7 32 166.1 32 151.7zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faCirclePause = {\n prefix: 'fas',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM224 192V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faGaugeCirclePlus = {\n prefix: 'fas',\n iconName: 'gauge-circle-plus',\n icon: [640, 512, [], \"e498\", \"M496 192c2.7 0 5.3 .1 8 .2C475.6 81.7 375.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c39.5 0 77-9 110.4-25C337.6 455.7 320 413.9 320 368c0-97.2 78.8-176 176-176zM320 352c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V88c0-13.3 10.7-24 24-24s24 10.7 24 24V292.7c23.5 9.5 40 32.5 40 59.3zM144 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM336 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFolders = {\n prefix: 'fas',\n iconName: 'folders',\n icon: [576, 512, [], \"f660\", \"M512 384c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H394.5c-17 0-33.3-6.7-45.3-18.7L322.7 50.7c-12-12-28.3-18.7-45.3-18.7H160c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faAngel = {\n prefix: 'fas',\n iconName: 'angel',\n icon: [576, 512, [], \"f779\", \"M384 64c0 0 0 .1 0 .2s-.1 .3-.2 .6c-.3 .6-.9 1.8-2.3 3.5c-1.4 1.7-3.4 3.6-6.2 5.6c6.7 8.3 12.2 17.6 16.3 27.7C407 91 416 78 416 64c0-35.3-57.3-64-128-64S160 28.7 160 64c0 14 9 27 24.3 37.5c4.1-10 9.6-19.3 16.3-27.7c-2.7-2-4.8-4-6.2-5.6c-1.4-1.7-2-2.8-2.3-3.5c-.1-.3-.2-.5-.2-.6s0-.1 0-.2s0-.1 0-.2s.1-.3 .2-.6c.3-.6 .9-1.8 2.3-3.5c2.9-3.5 8.4-7.9 17.3-12.4C229.6 38.4 256.5 32 288 32s58.4 6.4 76.2 15.4c8.9 4.5 14.4 8.9 17.3 12.4c1.4 1.7 2 2.8 2.3 3.5c.1 .3 .2 .5 .2 .6s0 .1 0 .2zm-16 80a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM120 464H49.7l37.9-75.8c5.6-11.1 8.4-23.4 8.4-35.8v-.9c0-12.4-2.9-24.7-8.4-35.8L69.2 279c-3.4-6.7-5.2-14.4-5.2-22.1c0-27.1 22-48.9 48.2-48.9c12.8 0 25 5.1 34.1 14.1l66.4 66.4c-6.8 7.2-12.7 15.5-17.3 24.7L120 464zM253.8 261.8l-73.6-73.6c-18-18-42.5-28.2-68-28.2C59.1 160 16 203.8 16 256.9c0 15.1 3.5 30.1 10.2 43.6l18.4 36.7c2.2 4.4 3.4 9.3 3.4 14.3v.9c0 5-1.2 9.9-3.4 14.3L4.8 446.4C1.6 452.7 0 459.7 0 466.7c0 25 20.3 45.3 45.3 45.3H96h96H384h96 50.7c25 0 45.3-20.3 45.3-45.3c0-7-1.6-14-4.8-20.3l-39.8-79.7c-2.2-4.4-3.4-9.3-3.4-14.3v-.9c0-5 1.2-9.9 3.4-14.3l18.4-36.7C556.5 287 560 272 560 256.9c0-53.1-43.1-96.9-96.2-96.9c-25.5 0-50 10.1-68 28.2l-73.6 73.6C311.4 258 299.8 256 288 256s-23.4 2-34.2 5.8zm126.8 51.4c-4.6-9.2-10.4-17.5-17.3-24.7l66.4-66.4c9-9 21.3-14.1 34.1-14.1c26.1 0 48.2 21.8 48.2 48.9c0 7.7-1.8 15.4-5.2 22.1l-18.4 36.7c-5.6 11.1-8.4 23.4-8.4 35.8v.9c0 12.4 2.9 24.7 8.4 35.8L526.3 464H456L380.6 313.2z\"]\n};\nvar faValueAbsolute = {\n prefix: 'fas',\n iconName: 'value-absolute',\n icon: [512, 512, [], \"f6a6\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32zM182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256l-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 301.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256l73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 210.7l-73.4-73.4zM512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faRabbit = {\n prefix: 'fas',\n iconName: 'rabbit',\n icon: [512, 512, [128007], \"f708\", \"M321.4 128c4.8 0 9.6 .3 14.3 .9c1.1-24-2.6-47.9-10.9-70.1c7.6-17.8 18.6-34.2 32.7-48.3l4.6-4.6c3.7-3.7 8.8-5.8 14-5.8c9.2 0 17.2 6.4 19.3 15.4l1 4.4c9.8 42.4 1.8 86.5-21 122.4c5.5 3.1 10.7 6.6 15.6 10.6L425.8 181c14 11.4 22.2 28.6 22.2 46.7c0 33.3-27 60.3-60.3 60.3H352v25.8l61.7 154.3c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-39.4-98.6L265.6 448H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H208 160c-28.5 0-52.6-18.6-60.9-44.2C88.8 480.1 73.3 488 56 488c-30.9 0-56-25.1-56-56s25.1-56 56-56c17.4 0 33 8 43.3 20.5C114 317.7 176.8 255.9 256 242.7V193.4c0-10.9 2.7-21.2 7.4-30.2c-34.3-36.5-50.3-86.8-43.2-136.8l.7-4.9C222.7 9.2 233.2 0 245.7 0c6.6 0 12.9 2.6 17.6 7.3l3.1 3.1c31.8 31.5 47.9 74.8 45.4 118.4c3.1-.5 6.3-.7 9.6-.7zM368 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-109.7-86C569.9 374 608 291.9 608 192C608 86 565 0 512 0s-96 86-96 192c0 49.1 9.2 93.9 24.4 127.9l-59-46.2c1.6-24.8 2.6-52 2.6-81.6c0-65.5 13.2-142.4 60.2-192H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM367.3 385.4L66.5 148.4C64.9 162.4 64 177 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512H285.9c22.3 0 45.4-12.1 55.4-36.1c7.4-17.7 17.5-47.2 26-90.6zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]\n};\nvar faCircleEuro = {\n prefix: 'fas',\n iconName: 'circle-euro',\n icon: [512, 512, [], \"e5ce\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM128 272h16c-.6-5-.9-10.1-.9-15.2c0-5.7 .4-11.3 1.1-16.8H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h24.7c19.2-46.9 65.4-80 119.2-80H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-26.3 0-49.6 12.6-64.4 32H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H192.9c-1.1 5.4-1.7 11-1.7 16.8c0 5.2 .5 10.3 1.4 15.2H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H206.4c14.7 20.3 38.5 33.5 65.5 33.5H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-54.4 0-101-33.8-119.8-81.5H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faAppleWhole = {\n prefix: 'fas',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H224zM0 288c0-76.3 35.7-160 112-160c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c76.3 0 112 83.7 112 160c0 128-80 224-160 224c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z\"]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'fas',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M240 144A96 96 0 1 0 48 144a96 96 0 1 0 192 0zm44.4 32C269.9 240.1 212.5 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0c68.5 0 125.9 47.9 140.4 112h71.8c8.8-9.8 21.6-16 35.8-16H496c26.5 0 48 21.5 48 48s-21.5 48-48 48H392c-14.2 0-27-6.2-35.8-16H284.4zM144 80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM400 240c13.3 0 24 10.7 24 24v8h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h96v-8c0-13.3 10.7-24 24-24zM288 464V352H512V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48zM48 320h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336c0-8.8 7.2-16 16-16zm128 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32h16zM24 464H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faDiamondHalf = {\n prefix: 'fas',\n iconName: 'diamond-half',\n icon: [512, 512, [], \"e5b7\", \"M256 0c-10.2 0-20.5 3.9-28.3 11.7l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c7.8 7.8 18 11.7 28.3 11.7V0z\"]\n};\nvar faLockKeyhole = {\n prefix: 'fas',\n iconName: 'lock-keyhole',\n icon: [448, 512, [\"lock-alt\"], \"f30d\", \"M224 64c44.2 0 80 35.8 80 80v48H144V144c0-44.2 35.8-80 80-80zM80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H368V144C368 64.5 303.5 0 224 0S80 64.5 80 144zM256 320v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faLockAlt = faLockKeyhole;\nvar faR = {\n prefix: 'fas',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M64 32C28.7 32 0 60.7 0 96V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h95.3L261.8 466.4c10.1 14.5 30.1 18 44.6 7.9s18-30.1 7.9-44.6L230.1 309.5C282.8 288.1 320 236.4 320 176c0-79.5-64.5-144-144-144H64zM176 256H64V96H176c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faTemperatureQuarter = {\n prefix: 'fas',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faSquareInfo = {\n prefix: 'fas',\n iconName: 'square-info',\n icon: [448, 512, [8505, \"info-square\"], \"f30f\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM184 336h24V272H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faInfoSquare = faSquareInfo;\nvar faWifiSlash = {\n prefix: 'fas',\n iconName: 'wifi-slash',\n icon: [640, 512, [], \"f6ac\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L364.6 260.4c39.2 7.9 74.7 26.1 103.6 51.6c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192c-13.3 0-26.5 .9-39.3 2.7l-95.1-74.5C227.4 104.5 272.7 96 320 96c103.2 0 196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32c-68.7 0-133.7 15.5-191.9 43.1L38.8 5.1zM93.6 169.8L41.7 128.9C30.7 137.7 20 147 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9c12.4-11.9 25.6-23 39.5-33.1zM228 275.7L173 232.3c-15.5 9.2-30.1 19.8-43.5 31.7c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c16.7-14.8 35.6-27 56.2-36.3zM320 352c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-7-1.1-13.7-3.2-20l-55.6-43.8c-1.7-.1-3.4-.2-5.2-.2z\"]\n};\nvar faToiletPaperXmark = {\n prefix: 'fas',\n iconName: 'toilet-paper-xmark',\n icon: [512, 512, [], \"e5b3\", \"M96 0H348.2C336.6 12.2 327 26.9 319.5 41.9C299.5 82 288 135.1 288 192s11.5 110 31.5 150.1c7.5 15 17.1 29.7 28.7 41.9H96C43 384 0 298 0 192S43 0 96 0zM320 192c0-83.6 26.7-154.7 64-181.1C394 3.8 404.8 0 416 0c53 0 96 86 96 192c0 35-4.7 67.8-12.8 96c-16.6 57.4-47.6 96-83.2 96c-11.2 0-22-3.8-32-10.9c-37.3-26.4-64-97.5-64-181.1zm64 0c0 35.3 14.3 64 32 64s32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64zM160 416H416c44.8 0 76.9-35.2 96-72.9V464c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V416zm51.3-283.3c-6.2-6.2-16.4-6.2-22.6 0L152 169.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L129.4 192 92.7 228.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L152 214.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L174.6 192l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faHandsHoldingDollar = {\n prefix: 'fas',\n iconName: 'hands-holding-dollar',\n icon: [640, 512, [\"hands-usd\"], \"f4c5\", \"M344 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8l0 0c-2.1-.7-4.1-1.4-5.9-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faHandsUsd = faHandsHoldingDollar;\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6V377.4c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1v-188L288 246.6v188z\"]\n};\nvar faArrowDownTriangleSquare = {\n prefix: 'fas',\n iconName: 'arrow-down-triangle-square',\n icon: [576, 512, [\"sort-shapes-down\"], \"f888\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM443.1 47l80 128c6.2 9.9 6.5 22.3 .9 32.5s-16.4 16.5-28 16.5H336c-11.6 0-22.3-6.3-28-16.5s-5.3-22.6 .9-32.5l80-128c5.8-9.4 16.1-15 27.1-15s21.3 5.7 27.1 15zM320 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faSortShapesDown = faArrowDownTriangleSquare;\nvar faBitcoinSign = {\n prefix: 'fas',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M48 32C48 14.3 62.3 0 80 0s32 14.3 32 32V64h32V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64c0 1.5-.1 3.1-.3 4.5C254.1 82.2 288 125.1 288 176c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H41.7C18.7 448 0 429.3 0 406.3V288 265.7 224 101.6C0 80.8 16.8 64 37.6 64H48V32zM64 224H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96zm112 64H64v96H208c26.5 0 48-21.5 48-48s-21.5-48-48-48H176z\"]\n};\nvar faShutters = {\n prefix: 'fas',\n iconName: 'shutters',\n icon: [512, 512, [], \"e449\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM20.6 224H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 128H24L1.1 196.8c-.7 2.1-1.1 4.3-1.1 6.5C0 214.8 9.2 224 20.6 224zM491.4 352c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 256H24L1.1 324.8c-.7 2.1-1.1 4.3-1.1 6.5C0 342.8 9.2 352 20.6 352H491.4zM20.6 480H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 384H24L1.1 452.8c-.7 2.1-1.1 4.3-1.1 6.5C0 470.8 9.2 480 20.6 480z\"]\n};\nvar faShieldDog = {\n prefix: 'fas',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160.9 286.2c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64V160h44.2c12.1 0 23.2 6.8 28.6 17.7L320 192h64c8.8 0 16 7.2 16 16v32c0 44.2-35.8 80-80 80H272v50.7c0 7.3-5.9 13.3-13.3 13.3c-1.8 0-3.6-.4-5.2-1.1l-98.7-42.3c-6.6-2.8-10.8-9.3-10.8-16.4c0-2.8 .6-5.5 1.9-8l15-30zM160 160h40 8v32 32c0 17.7-14.3 32-32 32s-32-14.3-32-32V176c0-8.8 7.2-16 16-16zm128 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384H288v64H224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H569c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0H122.2zM260.9 64H379.1l10.4 104h-139L260.9 64zM202.3 168H101.4L122.2 64h90.4L202.3 168zM91.8 216H197.5L187.1 320H71L91.8 216zm153.9 0H394.3l10.4 104-169.4 0 10.4-104zm196.8 0H548.2L569 320h-116L442.5 216zm96-48H437.7L427.3 64h90.4l31.4-6.3L517.8 64l20.8 104z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32V144C576 64.5 511.5 0 432 0S288 64.5 288 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V144z\"]\n};\nvar faTableTree = {\n prefix: 'fas',\n iconName: 'table-tree',\n icon: [512, 512, [], \"e293\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 160V416H64V160H96v64 96c0 26.5 21.5 48 48 48h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16-7.2-16-16V269.3c5 1.8 10.4 2.7 16 2.7h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16-7.2-16-16V160H448zM224 240v32c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm80 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H304z\"]\n};\nvar faHouseChimneyHeart = {\n prefix: 'fas',\n iconName: 'house-chimney-heart',\n icon: [576, 512, [], \"e1b2\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM237.3 208c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faTally3 = {\n prefix: 'fas',\n iconName: 'tally-3',\n icon: [640, 512, [], \"e296\", \"M128 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zm128 0c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM416 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faElevator = {\n prefix: 'fas',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M132.7 4.7l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H208c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm96 96a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM80 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V400zm192 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V400zm32-128a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM356.7 91.3c6.2 6.2 16.4 6.2 22.6 0l64-64c4.6-4.6 5.9-11.5 3.5-17.4S438.5 0 432 0H304c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l64 64z\"]\n};\nvar faMoneyBillTransfer = {\n prefix: 'fas',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L384 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l174.1 0L535 41zM105 377l-23 23L256 400c13.3 0 24 10.7 24 24s-10.7 24-24 24L81.9 448l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM96 64H337.9c-3.7 7.2-5.9 15.3-5.9 24c0 28.7 23.3 52 52 52l117.4 0c-4 17 .6 35.5 13.8 48.8c20.3 20.3 53.2 20.3 73.5 0L608 169.5V384c0 35.3-28.7 64-64 64H302.1c3.7-7.2 5.9-15.3 5.9-24c0-28.7-23.3-52-52-52l-117.4 0c4-17-.6-35.5-13.8-48.8c-20.3-20.3-53.2-20.3-73.5 0L32 342.5V128c0-35.3 28.7-64 64-64zm64 64H96v64c35.3 0 64-28.7 64-64zM544 320c-35.3 0-64 28.7-64 64h64V320zM320 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'fas',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M470.7 9.4c3 3.1 5.3 6.6 6.9 10.3s2.4 7.8 2.4 12.2l0 .1v0 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L310.6 214.6c-11.8 11.8-30.8 12.6-43.5 1.7L176 138.1 84.8 216.3c-13.4 11.5-33.6 9.9-45.1-3.5s-9.9-33.6 3.5-45.1l112-96c12-10.3 29.7-10.3 41.7 0l89.5 76.7L370.7 64H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0c8.8 0 16.8 3.6 22.6 9.3l.1 .1zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'fas',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M288 144A144 144 0 1 0 0 144a144 144 0 1 0 288 0zM140.7 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6zM320 144c0 57.3-27.4 108.2-69.8 140.3c11.8-3.6 23-9.4 33-16.2c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.4 78.1 3.4c2.1 1.7 4.2 3.3 6.5 4.9l-.3-84.4H576c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128C407.6-2 392.4-2 381.2 6.1L301 64.4c12.1 23.9 19 50.9 19 79.6zm18.5 165.9c-11.1-7.9-25.9-7.9-37 0C279 325.4 251.5 336 224 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 389.7 191 400 224 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C471.4 325.2 442.9 336 416 336c-27.5 0-55-10.6-77.5-26.1zm0 112c-11.1-7.9-25.9-7.9-37 0C279 437.4 251.5 448 224 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C158.5 501.7 191 512 224 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.6 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C471.4 437.2 442.9 448 416 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faSquarePollHorizontal = {\n prefix: 'fas',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 160c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32zm64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32z\"]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faCartCircleExclamation = {\n prefix: 'fas',\n iconName: 'cart-circle-exclamation',\n icon: [640, 512, [], \"e3f2\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c29.1-57 88.4-96 156.8-96c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSword = {\n prefix: 'fas',\n iconName: 'sword',\n icon: [512, 512, [128481], \"f71c\", \"M511.8 18.6c.8-5.1-.8-10.3-4.5-13.9S498.5-.6 493.4 .2L417.6 12.8c-16.4 2.7-31.6 10.6-43.4 22.3L166.6 242.7 269.3 345.4 476.8 137.8c11.8-11.8 19.6-27 22.3-43.4l12.6-75.8zM84.7 228.7l-16 16c-5.4 5.4-6.2 13.8-2 20.2l53.1 79.6c2.1 3.2 1.7 7.4-1 10.1L79.2 394.2c-2.1 2.1-5.3 2.9-8.2 1.9L37.1 384.8c-5.7-1.9-12.1-.4-16.4 3.9l-16 16c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l16-16c4.3-4.3 5.8-10.6 3.9-16.4L115.9 441c-1-2.9-.2-6 1.9-8.2l39.6-39.6c2.7-2.7 6.9-3.1 10.1-1l79.6 53.1c6.3 4.2 14.8 3.4 20.2-2l16-16c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBackwardFast = {\n prefix: 'fas',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L288 297.7V416c0 12.4-7.2 23.7-18.4 29s-24.5 3.6-34.1-4.4L64 297.7V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V214.3L235.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S288 83.6 288 96V214.3L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96V416c0 12.4-7.2 23.7-18.4 29z\"]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7 27-15.6c8.4-4.9 18.9-4.2 26.6 1.7s11.1 15.9 8.6 25.3l-23.4 87.4c-3.4 12.8-16.6 20.4-29.4 17l-87.4-23.4c-9.4-2.5-16.3-10.4-17.6-20s3.4-19.1 11.8-23.9l28.4-16.4L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2v32l96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31L36 204.2c-8.4-4.9-13.1-14.3-11.8-23.9s8.2-17.5 17.6-20l87.4-23.4c12.8-3.4 26 4.2 29.4 17L182 241.2c2.5 9.4-.9 19.3-8.6 25.3s-18.2 6.6-26.6 1.7l-26.5-15.3L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M370.7 96.1C346.1 39.5 289.7 0 224 0S101.9 39.5 77.3 96.1C60.9 97.5 48 111.2 48 128v64c0 16.8 12.9 30.5 29.3 31.9C101.9 280.5 158.3 320 224 320s122.1-39.5 146.7-96.1c16.4-1.4 29.3-15.1 29.3-31.9V128c0-16.8-12.9-30.5-29.3-31.9zM336 144v16c0 53-43 96-96 96H208c-53 0-96-43-96-96V144c0-26.5 21.5-48 48-48H288c26.5 0 48 21.5 48 48zM189.3 162.7l-6-21.2c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.2-7.3 5.5l-6 21.2-21.2 6c-3.3 .9-5.5 3.9-5.5 7.3s2.2 6.4 5.5 7.3l21.2 6 6 21.2c.9 3.3 3.9 5.5 7.3 5.5s6.4-2.2 7.3-5.5l6-21.2 21.2-6c3.3-.9 5.5-3.9 5.5-7.3s-2.2-6.4-5.5-7.3l-21.2-6zM112.7 316.5C46.7 342.6 0 407 0 482.3C0 498.7 13.3 512 29.7 512H128V448c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64l98.3 0c16.4 0 29.7-13.3 29.7-29.7c0-75.3-46.7-139.7-112.7-165.8C303.9 338.8 265.5 352 224 352s-79.9-13.2-111.3-35.5zM176 448c-8.8 0-16 7.2-16 16v48h32V464c0-8.8-7.2-16-16-16zm96 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faInterrobang = {\n prefix: 'fas',\n iconName: 'interrobang',\n icon: [320, 512, [8253], \"e5ba\", \"M144 96c-35.3 0-64 28.7-64 64c0 17.7-14.3 32-32 32s-32-14.3-32-32C16 89.3 73.3 32 144 32h32c70.7 0 128 57.3 128 128v3.6c0 43.6-22.1 84.1-58.8 107.7L203 298.4c-6.9 4.4-11 12-11 20.2V320c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.4V176c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4l18.6-12c18.3-11.8 29.4-32.1 29.4-53.8V160c0-35.3-28.7-64-64-64H144zM120 440a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M514.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64H440.6L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L238.1 161.3 197.8 20.4C194.9 10.2 202.6 0 213.2 0h56.2c11.5 0 22.1 6.2 27.8 16.1L397.7 192l116.6 0zM41.5 128.7l321 252.9L297.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6H144l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4H46c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L64 256 32.5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-6.2 4-11.4 9.5-13.3z\"]\n};\nvar faCircleDashed = {\n prefix: 'fas',\n iconName: 'circle-dashed',\n icon: [512, 512, [], \"e105\", \"M1.1 232C6 179.3 26.9 131.3 58.8 92.7l45.5 45.5C83.7 164.8 69.9 196.9 65.5 232H1.1zM138.3 104.3L92.7 58.8C131.3 26.9 179.3 6 232 1.1V65.5c-35.1 4.4-67.2 18.2-93.7 38.8zM280 446.5c35.1-4.4 67.2-18.2 93.7-38.8l45.5 45.5C380.7 485.1 332.7 506 280 510.9V446.5zm127.7-72.8c20.6-26.6 34.5-58.7 38.8-93.7h64.4c-4.9 52.7-25.8 100.7-57.7 139.3l-45.5-45.5zM92.7 453.2l45.5-45.5c26.6 20.6 58.7 34.5 93.7 38.8v64.4c-52.7-4.9-100.7-25.8-139.3-57.7zM58.8 419.3C26.9 380.7 6 332.7 1.1 280H65.5c4.4 35.1 18.2 67.2 38.8 93.7L58.8 419.3zM419.3 58.8l-45.5 45.5C347.2 83.7 315.1 69.9 280 65.5V1.1C332.7 6 380.7 26.9 419.3 58.8zm-11.6 79.5l45.5-45.5c31.9 38.5 52.8 86.6 57.7 139.3H446.5c-4.4-35.1-18.2-67.2-38.8-93.7z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M345.6 108.8c-8.3-11-22.7-15.5-35.7-11.2S288 114.2 288 128V384c0 17.7 14.3 32 32 32s32-14.3 32-32V224l86.4 115.2c6 8.1 15.5 12.8 25.6 12.8s19.6-4.7 25.6-12.8L576 224V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-13.8-8.8-26-21.9-30.4s-27.5 .1-35.7 11.2L464 266.7 345.6 108.8zM0 128c0 17.7 14.3 32 32 32H96V384c0 17.7 14.3 32 32 32s32-14.3 32-32V160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 96 0 110.3 0 128z\"]\n};\nvar faBasketball = {\n prefix: 'fas',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M86.6 64l85.2 85.2C194.5 121.7 208 86.4 208 48c0-14.7-2-28.9-5.7-42.4C158.6 15 119 35.5 86.6 64zM64 86.6C35.5 119 15 158.6 5.6 202.3C19.1 206 33.3 208 48 208c38.4 0 73.7-13.5 101.3-36.1L64 86.6zM256 0c-7.3 0-14.6 .3-21.8 .9C238 16 240 31.8 240 48c0 47.3-17.1 90.5-45.4 124L256 233.4 425.4 64C380.2 24.2 320.9 0 256 0zM48 240c-16.2 0-32-2-47.1-5.8C.3 241.4 0 248.7 0 256c0 64.9 24.2 124.2 64 169.4L233.4 256 172 194.6C138.5 222.9 95.3 240 48 240zm463.1 37.8c.6-7.2 .9-14.5 .9-21.8c0-64.9-24.2-124.2-64-169.4L278.6 256 340 317.4c33.4-28.3 76.7-45.4 124-45.4c16.2 0 32 2 47.1 5.8zm-4.7 31.9C492.9 306 478.7 304 464 304c-38.4 0-73.7 13.5-101.3 36.1L448 425.4c28.5-32.3 49.1-71.9 58.4-115.7zM340.1 362.7C317.5 390.3 304 425.6 304 464c0 14.7 2 28.9 5.7 42.4C353.4 497 393 476.5 425.4 448l-85.2-85.2zM317.4 340L256 278.6 86.6 448c45.1 39.8 104.4 64 169.4 64c7.3 0 14.6-.3 21.8-.9C274 496 272 480.2 272 464c0-47.3 17.1-90.5 45.4-124z\"]\n};\nvar faBasketballBall = faBasketball;\nvar faForkKnife = {\n prefix: 'fas',\n iconName: 'fork-knife',\n icon: [576, 512, [\"utensils-alt\"], \"f2e6\", \"M475.3 27.3c5.8-5.8 6.3-15.1 1.1-21.5S462-1.9 455.1 2.7l-106.5 71C320.8 92.3 304 123.6 304 157.1c0 19.3 5.5 37.9 15.7 53.9L73.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L365 256.3c16 10.2 34.7 15.7 53.9 15.7c33.5 0 64.8-16.8 83.4-44.6l71-106.5c4.6-6.8 3.2-16-3.2-21.2s-15.6-4.8-21.5 1.1L457.4 192c-5.2 5.2-13.6 5.2-18.8 0c-4.9-4.9-5.2-12.8-.6-18.1l86.1-99.4c5.5-6.3 5.2-15.9-.8-21.8s-15.4-6.3-21.8-.8L402.1 138c-5.3 4.6-13.2 4.3-18.1-.6c-5.2-5.2-5.2-13.6 0-18.8l91.3-91.3zM52.5 7.3C47.9 2.6 41.5 0 34.9 0c-11.2 0-21 7.5-23.5 18.4C6.7 38.6 0 71.5 0 96c0 83.3 48.2 130.5 128.9 209.4c6.5 6.4 13.3 13 20.3 19.9c1.9 1.8 3.8 3.5 5.9 5.1L265.4 220.1 52.5 7.3zM457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L355.9 310.6l-45.3 45.3L457.4 502.6z\"]\n};\nvar faUtensilsAlt = faForkKnife;\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M192 32c0-17.7 14.3-32 32-32C383.1 0 512 128.9 512 288c0 17.7-14.3 32-32 32s-32-14.3-32-32C448 164.3 347.7 64 224 64c-17.7 0-32-14.3-32-32zM60.6 220.6L164.7 324.7l28.4-28.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1l-28.4 28.4L291.4 451.4c14.5 14.5 11.8 38.8-7.3 46.3C260.5 506.9 234.9 512 208 512C93.1 512 0 418.9 0 304c0-26.9 5.1-52.5 14.4-76.1c7.5-19 31.8-21.8 46.3-7.3zM224 96c106 0 192 86 192 192c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-70.7-57.3-128-128-128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faBadgeCheck = {\n prefix: 'fas',\n iconName: 'badge-check',\n icon: [512, 512, [], \"f336\", \"M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faCircleUp = {\n prefix: 'fas',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4l107.1-99.9c3.8-3.5 8.7-5.5 13.8-5.5s10.1 2 13.8 5.5l107.1 99.9c4.5 4.2 7.1 10.1 7.1 16.3c0 12.3-10 22.3-22.3 22.3H304v96c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V256H150.3C138 256 128 246 128 233.7c0-6.2 2.6-12.1 7.1-16.3z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faSlider = {\n prefix: 'fas',\n iconName: 'slider',\n icon: [512, 512, [], \"e252\", \"M352 160V352H320V160h32zM320 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64h32c35.3 0 64-28.7 64-64V288h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H416V160c0-35.3-28.7-64-64-64H320zM0 256c0 17.7 14.3 32 32 32H224V224H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faMobileScreenButton = {\n prefix: 'fas',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM224 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM304 64H80V384H304V64z\"]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faClockOneThirty = {\n prefix: 'fas',\n iconName: 'clock-one-thirty',\n icon: [512, 512, [], \"e34f\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V263.3l60-90c7.4-11 4.4-25.9-6.7-33.3s-25.9-4.4-33.3 6.7l-64 96c-2.6 3.9-4 8.6-4 13.3V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faInboxOut = {\n prefix: 'fas',\n iconName: 'inbox-out',\n icon: [512, 512, [128228, \"inbox-arrow-up\"], \"f311\", \"M288 109.3V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM48 320h76.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\"]\n};\nvar faInboxArrowUp = faInboxOut;\nvar faCloudSlash = {\n prefix: 'fas',\n iconName: 'cloud-slash',\n icon: [640, 512, [], \"e137\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L600 445c24.6-23.3 40-56.3 40-93c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-46.4 0-88.2 19.8-117.4 51.3L38.8 5.1zM97.2 172.6c-.8 6.4-1.2 12.9-1.2 19.4c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144H487.4L97.2 172.6z\"]\n};\nvar faVolumeHigh = {\n prefix: 'fas',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z\"]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'fas',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM599 7L527 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm592 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72zM320 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM212.1 336c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24c-.5-1.4-1-2.7-1.6-4c-9.4-22.3-29.8-38.9-54.3-43c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-.8 .1-1.7 .3-2.5 .5c-24.9 5.1-45.1 23-53.4 46.5zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faOctagonCheck = {\n prefix: 'fas',\n iconName: 'octagon-check',\n icon: [512, 512, [], \"e426\", \"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faFlatbreadStuffed = {\n prefix: 'fas',\n iconName: 'flatbread-stuffed',\n icon: [576, 512, [129369], \"e40c\", \"M272.2 4c-12.8-7-28.7-4.5-38.7 6.1L186.6 59.9c-4.6 4.9-10.5 8.2-17.1 9.5L102.4 82.7c-14.3 2.8-24.9 15-25.7 29.6l-3.8 68.3c-.4 6.7-2.8 13-7 18.2L23.1 252.1c-9.1 11.4-9.4 27.5-.7 39.2l40.9 54.8c4 5.3 6.2 11.8 6.4 18.5l.9 41.2c2.6-4.9 5.9-9.4 9.9-13.3l55.9-55.9C121.1 316.3 112 291.2 112 264c0-66.3 53.7-120 120-120c27.2 0 52.3 9.1 72.5 24.3L424.4 48.4c4.6-4.6 10-8.3 15.8-11.1c-6.1-3.9-13.4-5.7-21-4.8l-67.9 8.1c-6.6 .8-13.3-.5-19.2-3.7L272.2 4zM159.3 313.5L281.5 191.3C267.4 181.6 250.4 176 232 176c-48.6 0-88 39.4-88 88c0 18.4 5.6 35.4 15.3 49.5zM482.8 73.1c-4.3-5.4-10.6-8.6-17.4-9s-13.5 2.2-18.3 7l-43 43-43 43-86 86-86 86-86 86c-4.8 4.8-7.4 11.5-7 18.3s3.7 13.2 9 17.4C150.8 487.1 207.3 512 272 512c150.2 0 272-121.8 272-272c0-64.7-24.9-121.2-61.2-166.9zM256 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-48-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCartCirclePlus = {\n prefix: 'fas',\n iconName: 'cart-circle-plus',\n icon: [640, 512, [], \"e3f3\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c29.1-57 88.4-96 156.8-96c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM352 368a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm208 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faTruckClock = {\n prefix: 'fas',\n iconName: 'truck-clock',\n icon: [640, 512, [\"shipping-timed\"], \"f48c\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 176A112 112 0 1 0 96 176a112 112 0 1 0 224 0zM208 96c8.8 0 16 7.2 16 16v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faShippingTimed = faTruckClock;\nvar faPool8Ball = {\n prefix: 'fas',\n iconName: 'pool-8-ball',\n icon: [512, 512, [], \"e3c5\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm384-64a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zm-80-48c0 11.5-4 22-10.7 30.2C304.8 184.5 312 199.4 312 216c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-16.6 7.2-31.5 18.7-41.8C212 166 208 155.5 208 144c0-26.5 21.5-48 48-48s48 21.5 48 48zm-48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm2 226.3c37.1 22.4 62 63.1 62 109.7s-24.9 87.3-62 109.7c-7.6 4.6-17.4 2.1-22-5.4s-2.1-17.4 5.4-22C269.4 401.5 288 370.9 288 336s-18.6-65.5-46.5-82.3c-7.6-4.6-10-14.4-5.4-22s14.4-10 22-5.4zm-91.9 30.9c6 2.5 9.9 8.3 9.9 14.8V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L113.4 376H80c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h33.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5zm51 34.9c6.6-5.9 16.7-5.3 22.6 1.3C249.8 304.6 256 319.6 256 336s-6.2 31.4-16.3 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c5.1-5.7 8.1-13.1 8.1-21.3s-3.1-15.7-8.1-21.3c-5.9-6.6-5.3-16.7 1.3-22.6z\"]\n};\nvar faTurnDownLeft = {\n prefix: 'fas',\n iconName: 'turn-down-left',\n icon: [512, 512, [], \"e331\", \"M177.5 446c-8.8 3.8-19 2-26-4.6l-144-136C2.7 300.9 0 294.6 0 288s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 88 192 0c17.7 0 32-14.3 32-32l0-144c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 144c0 70.7-57.3 128-128 128l-192 0 0 88c0 9.6-5.7 18.2-14.5 22z\"]\n};\nvar faLockHashtag = {\n prefix: 'fas',\n iconName: 'lock-hashtag',\n icon: [448, 512, [], \"e423\", \"M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80zm96 48c-8.8 0-16 7.2-16 16v32H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v64H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V320h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H192V256c0-8.8-7.2-16-16-16zm16 144V320h64v64H192z\"]\n};\nvar faChartRadar = {\n prefix: 'fas',\n iconName: 'chart-radar',\n icon: [512, 512, [], \"e0e7\", \"M72.5 252c-1.4 2.5-1.4 5.5 0 8l88.3 152.9c1.4 2.5 4.1 4 6.9 4H344.3c2.9 0 5.5-1.5 6.9-4L439.5 260l48.7 28.1L439.5 260c1.4-2.5 1.4-5.5 0-8L351.2 99.1c-1.4-2.5-4.1-4-6.9-4H167.7c-2.9 0-5.5 1.5-6.9 4L72.5 252zM17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM290.2 180.8l40.2 100.6c17.1 4.6 29.6 20.1 29.6 38.6c0 22.1-17.9 40-40 40c-15.9 0-29.7-9.3-36.1-22.7l-97.2-19.4c-7.1 6.3-16.4 10.2-26.7 10.2c-22.1 0-40-17.9-40-40s17.9-40 40-40l57.6-76.8c-1-3.6-1.6-7.3-1.6-11.2c0-22.1 17.9-40 40-40s40 17.9 40 40c0 7.6-2.1 14.7-5.8 20.8zM202 271.9l79.2 15.8-31.7-79.2L202 271.9z\"]\n};\nvar faStaff = {\n prefix: 'fas',\n iconName: 'staff',\n icon: [512, 512, [], \"f71b\", \"M284.2 44.2C297.8 17.1 325.5 0 355.8 0H432c44.2 0 80 35.8 80 80V183.9c0 35.7-23.7 67.1-58 76.9l-3.9 1.1c-4 1.2-7.5 3.9-9.5 7.5l-19 33.6c-4.3 7.7-14.1 10.4-21.8 6.1l-32.8-18.5c-3.7-2.1-8.1-2.6-12.3-1.5l-85.5 24.4c-2.6 .7-5 2.1-6.9 4.1L81.9 497.9c-18.7 18.7-49.1 18.7-67.9 0s-18.7-49.1 0-67.9l77.3-77.3c3-3 4.7-7.1 4.7-11.3V304c0-8.8 7.2-16 16-16h37.5c4.2 0 8.3-1.7 11.3-4.7l39.4-39.4c9.6-9.6 21.5-16.6 34.6-20.4l169.6-48.5c6.9-2 11.6-8.2 11.6-15.4V112c0-8.8-7.2-16-16-16H371.8c-3.7 0-7.2 2.1-8.8 5.5v0c-11.9 23.7-40.7 33.3-64.4 21.5s-33.3-40.7-21.5-64.4l7.2-14.3z\"]\n};\nvar faBurger = {\n prefix: 'fas',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1H61.1zM144 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm240 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM16 304c0-26.5 21.5-48 48-48H448c26.5 0 48 21.5 48 48s-21.5 48-48 48H64c-26.5 0-48-21.5-48-48zm16 96c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16v16c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V400z\"]\n};\nvar faHamburger = faBurger;\nvar faUtilityPole = {\n prefix: 'fas',\n iconName: 'utility-pole',\n icon: [512, 512, [], \"e2c3\", \"M256 0c17.7 0 32 14.3 32 32V64h96V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8h32V56c0-13.3 10.7-24 24-24s24 10.7 24 24V96c0 17.7-14.3 32-32 32H428.8L288 221.9V288 480c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 221.9L83.2 128H32C14.3 128 0 113.7 0 96V56C0 42.7 10.7 32 24 32s24 10.7 24 24v8H80V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8h96V32c0-17.7 14.3-32 32-32zM140.8 128L224 183.4V128H140.8zM288 183.4L371.2 128H288v55.4z\"]\n};\nvar faTransporter6 = {\n prefix: 'fas',\n iconName: 'transporter-6',\n icon: [512, 512, [], \"e2a7\", \"M56.7 6.6L64 32l25.4 7.3C93.3 40.4 96 43.9 96 48s-2.7 7.6-6.6 8.7L64 64 56.7 89.4C55.6 93.3 52.1 96 48 96s-7.6-2.7-8.7-6.6L32 64 6.6 56.7C2.7 55.6 0 52.1 0 48s2.7-7.6 6.6-8.7L32 32 39.3 6.6C40.4 2.7 43.9 0 48 0s7.6 2.7 8.7 6.6zM384 512H296 216 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32zm96-128l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 416l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 416l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 384l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6L480 384zM224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBugs = {\n prefix: 'fas',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184H64v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.7 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6zM496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2z\"]\n};\nvar faVectorPolygon = {\n prefix: 'fas',\n iconName: 'vector-polygon',\n icon: [448, 512, [], \"e2c7\", \"M0 64C0 46.3 14.3 32 32 32H96c17.7 0 32 14.3 32 32H320c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384.3l-4.5 7.9-28.4 49.7c.4 2.1 .6 4.2 .6 6.4v64c0 2.2-.2 4.3-.6 6.4l28.4 49.7 4.5 7.9H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32H128c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32V160c-17.7 0-32-14.3-32-32V64zM322.2 372.3L292.3 320H256c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32h36.3l29.9-52.3c-1.4-3.6-2.2-7.5-2.2-11.7H128c0 17.7-14.3 32-32 32V352c17.7 0 32 14.3 32 32H320c0-4.1 .8-8.1 2.2-11.7zM48 80v32H80V80H48zm320 0v32h32V80H368zM80 400H48v32H80V400zm288 0v32h32V400H368zM304 240H272v32h32V240z\"]\n};\nvar faDiagramNested = {\n prefix: 'fas',\n iconName: 'diagram-nested',\n icon: [448, 512, [], \"e157\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H128v96c0 17.7 14.3 32 32 32h96V336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V416H160c-53 0-96-43-96-96V224H48c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256.5 16.4c-.9 6 0 8.7 .4 9.8c.4 1.1 1.4 2.6 4.2 4.9c7.2 5.7 18.7 10 37.9 16.8l1.3 .5c16 5.6 38.7 13.6 55.7 28.1c9.5 8.1 17.9 18.6 23.1 32.3c5.1 13.7 6.1 28.5 3.8 44c-4.2 28.1-20.5 49.3-43.8 60.9c-22.1 11-48.1 12.5-73.2 8l-.2 0 0 0c-9.3-1.8-20.5-5.7-29.3-9c-6-2.3-12.6-4.9-17.7-6.9l0 0c-2.5-1-4.6-1.8-6.3-2.5c-16.5-6.4-24.6-25-18.2-41.4s24.9-24.6 41.4-18.2c2.6 1 5.2 2 7.9 3.1l0 0c4.8 1.9 9.8 3.9 15.4 6c8.8 3.3 15.3 5.4 18.7 6c15.7 2.8 26.7 .8 32.9-2.3c5-2.5 8-6 9.1-13c1-6.9 .2-10.5-.5-12.3c-.6-1.7-1.8-3.6-4.5-5.9c-6.9-5.8-18.2-10.4-36.9-17l-3-1.1c-15.5-5.4-37-13-53.3-25.9c-9.5-7.5-18.3-17.6-23.7-31c-5.5-13.4-6.6-28-4.4-43.2c8.4-57.1 67-78 116.9-68.9c6.9 1.3 27.3 5.8 35.4 8.4c16.9 5.2 26.3 23.2 21.1 40.1s-23.2 26.3-40.1 21.1c-4.7-1.4-22.3-5.5-27.9-6.5c-14.6-2.7-25.8-.4-32.6 3.2c-6.3 3.3-8.9 7.6-9.5 12z\"]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm152 32c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H216 176 128 80c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l48-80c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l12.8 21.4 48.3-70.2c3-4.3 7.9-6.9 13.2-6.9z\"]\n};\nvar faCircleQuestion = {\n prefix: 'fas',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faImageUser = {\n prefix: 'fas',\n iconName: 'image-user',\n icon: [512, 512, [], \"e1b8\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H171.4c-15.1 0-27.4-12.3-27.4-27.4z\"]\n};\nvar faBuoy = {\n prefix: 'fas',\n iconName: 'buoy',\n icon: [576, 512, [], \"e5b5\", \"M192 0c-17.7 0-32 14.3-32 32c0 15.3 10.8 28.1 25.1 31.3L133.8 320H96c-17.7 0-32 14.3-32 32v16c0 8.2 .7 16.1 2 23.9c21-11.1 46.9-9.9 66.9 4.2c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c20-14.1 45.9-15.3 66.9-4.2c1.3-7.8 2-15.8 2-23.9V352c0-17.7-14.3-32-32-32H442.2L390.9 63.3C405.2 60.1 416 47.3 416 32c0-17.7-14.3-32-32-32H192zM325.8 64l9.8 49L288 168.5 240.4 113l9.8-49h75.5zm21.8 108.8l17 84.9-44.9-52.4 27.9-32.6zm-91.1 32.6l-44.9 52.4 17-84.9 27.9 32.6zM221.3 320L288 242.2 354.7 320H221.3zm85.2 101.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M381 114.9L186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240 77.8 214.1c-8.7-3.9-18.8-3.7-27.3 .6L18.3 230.8c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2H248.4c5 0 9.9-1.2 14.3-3.4L535.6 212.2c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48H542.8c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135-105.8c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2-26-20.3 77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6-25.8-20.3 81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7L38.8 5.1zM96 171.6L40.6 128H0V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V171.6zM413.6 421.9L128 196.9V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V128H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faBookBookmark = {\n prefix: 'fas',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 96C0 43 43 0 96 0h96V190.7c0 13.4 15.5 20.9 26 12.5L272 160l54 43.2c10.5 8.4 26 .9 26-12.5V0h32 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faBorderCenterH = {\n prefix: 'fas',\n iconName: 'border-center-h',\n icon: [448, 512, [], \"f89c\", \"M32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM416 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 224z\"]\n};\nvar faCanFood = {\n prefix: 'fas',\n iconName: 'can-food',\n icon: [384, 512, [129387], \"e3e6\", \"M270.3 304.5c12.1-2.5 23.4-5.5 33.7-9V426c-2.8 1.6-6.6 3.6-11.8 5.7C269.8 440.9 234.4 448 192 448s-77.8-7.1-100.2-16.3c-5.2-2.1-9-4.1-11.8-5.7V295.5c10.3 3.5 21.6 6.5 33.7 9c7.6 36.3 39.8 63.5 78.3 63.5s70.7-27.2 78.3-63.5zm-100.1-40a32 32 0 1 1 43.5 46.9 32 32 0 1 1 -43.5-46.9zM16 72V240 440c0 39.8 78.8 72 176 72s176-32.2 176-72V240 72c0-39.8-78.8-72-176-72S16 32.2 16 72zm288 0c0 13.3-50.1 24-112 24S80 85.3 80 72s50.1-24 112-24s112 10.7 112 24z\"]\n};\nvar faTypewriter = {\n prefix: 'fas',\n iconName: 'typewriter',\n icon: [512, 512, [], \"f8e7\", \"M64 64C64 28.7 92.7 0 128 0H354.7c17 0 33.3 6.7 45.3 18.7L429.3 48c12 12 18.7 28.3 18.7 45.3V192h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H64V64zm320 64H352c-17.7 0-32-14.3-32-32V64H128V192h18.7c8.5 0 16.6 3.4 22.6 9.4l13.3 13.3c6 6 14.1 9.4 22.6 9.4H306.7c8.5 0 16.6-3.4 22.6-9.4l13.3-13.3c6-6 14.1-9.4 22.6-9.4H384V128zM160 288a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 288a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160zm-32-32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faArrowRightFromArc = {\n prefix: 'fas',\n iconName: 'arrow-right-from-arc',\n icon: [512, 512, [], \"e4b1\", \"M64 256C64 150 150 64 256 64c17.7 0 32-14.3 32-32s-14.3-32-32-32C114.6 0 0 114.6 0 256S114.6 512 256 512c17.7 0 32-14.3 32-32s-14.3-32-32-32C150 448 64 362 64 256zM390.6 121.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H402.7l-57.4 57.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112z\"]\n};\nvar faCircleK = {\n prefix: 'fas',\n iconName: 'circle-k',\n icon: [512, 512, [], \"e113\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm89.1-343.2l-73.1 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L238 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L310.9 135.2c9.3-9.5 24.5-9.6 33.9-.3s9.6 24.5 .3 33.9z\"]\n};\nvar faFaceHandOverMouth = {\n prefix: 'fas',\n iconName: 'face-hand-over-mouth',\n icon: [512, 512, [129762], \"e378\", \"M512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0L207 301.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V384v32.8c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM208.4 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-37.1 52.7c6.2 6.2 6.2 16.4 0 22.6L248 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l67.3-67.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L280 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l51.3-51.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L312 414.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l19.3-19.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.8 56.8C288.7 502 264.4 512 239.2 512c-52.6 0-95.2-42.6-95.2-95.2V384 330.4c0-11 9-20 20-20s20 9 20 20v19.7c0 7.1 8.6 10.7 13.7 5.7l79-79c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPopcorn = {\n prefix: 'fas',\n iconName: 'popcorn',\n icon: [448, 512, [127871], \"f819\", \"M32.2 160c-.1-1.3-.2-2.7-.2-4c0-20.9 14.5-38.3 34-42.9c-1.3-4.2-2-8.6-2-13.1c0-24.3 19.7-44 44-44c1.9 0 3.7 .1 5.6 .3C118.7 37.7 135.7 24 156 24c8.5 0 16.5 2.4 23.2 6.6C186.2 12.7 203.6 0 224 0s37.8 12.7 44.8 30.6c6.7-4.2 14.7-6.6 23.2-6.6c20.3 0 37.3 13.7 42.4 32.3c1.8-.2 3.7-.3 5.6-.3c24.3 0 44 19.7 44 44c0 4.6-.7 9-2 13.1c19.5 4.5 34 22 34 42.9c0 1.3-.1 2.7-.2 4H328.2 119.8 32.2zm-4 32H97.8l30.3 257.9c1 8.8 9 15.1 17.8 14s15.1-9 14-17.8L130 192h78V448c0 8.8 7.2 16 16 16s16-7.2 16-16V192h78L288.1 446.1c-1 8.8 5.2 16.7 14 17.8s16.7-5.2 17.8-14L350.2 192h69.6c15.6 0 28.2 12.6 28.2 28.2c0 2.5-.3 5.1-1 7.5L377.8 476.8C372 497.6 353.1 512 331.5 512h-215c-21.6 0-40.5-14.4-46.2-35.2L1 227.7c-.7-2.5-1-5-1-7.5C0 204.6 12.6 192 28.2 192z\"]\n};\nvar faHouseWater = {\n prefix: 'fas',\n iconName: 'house-water',\n icon: [576, 512, [\"house-flood\"], \"f74f\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V393c21.3-12.2 48.1-11.4 68.8 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c20.7-14.6 47.7-15.4 69.1-3l-.5-105.6h32zM224 216c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V216zm82.5 205.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faHouseFlood = faHouseWater;\nvar faObjectSubtract = {\n prefix: 'fas',\n iconName: 'object-subtract',\n icon: [512, 512, [], \"e49e\", \"M512 448c0 35.3-28.7 64-64 64l-224 0c-35.3 0-64-28.7-64-64l0-96-96 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L288 0c35.3 0 64 28.7 64 64l0 96 96 0c35.3 0 64 28.7 64 64l0 224zM288 288l0-224L64 64l0 224 224 0z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faWarehouseFull = {\n prefix: 'fas',\n iconName: 'warehouse-full',\n icon: [640, 512, [\"warehouse-alt\"], \"f495\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM376 384H488c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V408c0-13.3 10.7-24 24-24zM128 248c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V248zm24 136H296c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faWarehouseAlt = faWarehouseFull;\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M320 64c14.4 0 22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.3 0 84.4 152.2 97.9 221.9C447.8 272.1 390.9 288 320 288s-127.8-15.9-169.9-34.1C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]\n};\nvar faBridge = {\n prefix: 'fas',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H72v64H0V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96s96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96V160H504V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM456 96v64H376V96h80zM328 96v64H248V96h80zM200 96v64H120V96h80z\"]\n};\nvar faPhoneFlip = {\n prefix: 'fas',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z\"]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faArrowDownFromDottedLine = {\n prefix: 'fas',\n iconName: 'arrow-down-from-dotted-line',\n icon: [448, 512, [], \"e090\", \"M32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM256 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM448 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM374.6 342.6l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 370.7V304 192c0-17.7 14.3-32 32-32s32 14.3 32 32V304v66.7l73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nvar faFileDoc = {\n prefix: 'fas',\n iconName: 'file-doc',\n icon: [512, 512, [], \"e5ed\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM176 352h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm16 128h16c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H192v96zM456 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zM288 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V392zm40-8c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H328z\"]\n};\nvar faSquareQuarters = {\n prefix: 'fas',\n iconName: 'square-quarters',\n icon: [448, 512, [], \"e44e\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0L224 256 384 96H64zm0 320H384L224 256 64 416z\"]\n};\nvar faTruckFront = {\n prefix: 'fas',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M0 80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V368c0 26.2-12.6 49.4-32 64v48c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V432C12.6 417.4 0 394.2 0 368V80zm129.9 72.2L112 224H400l-17.9-71.8C378.5 138 365.7 128 351 128H161c-14.7 0-27.5 10-31 24.2zM128 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M320 192h17.1c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4v4 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L280 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5v0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32h0c-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128v0V32 12 10.7C352 4.8 356.7 .1 362.6 0h.2c3.3 0 6.4 1.6 8.4 4.2l0 .1L384 21.3l27.2 36.3L416 64h64l4.8-6.4L512 21.3 524.8 4.3l0-.1c2-2.6 5.1-4.2 8.4-4.2h.2C539.3 .1 544 4.8 544 10.7V12 32v96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faTrashXmark = {\n prefix: 'fas',\n iconName: 'trash-xmark',\n icon: [448, 512, [], \"e2b4\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zM143 239c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faCircleCaretLeft = {\n prefix: 'fas',\n iconName: 'circle-caret-left',\n icon: [512, 512, [\"caret-circle-left\"], \"f32e\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zm-368 0c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretCircleLeft = faCircleCaretLeft;\nvar faFiles = {\n prefix: 'fas',\n iconName: 'files',\n icon: [448, 512, [], \"e178\", \"M320 0H160C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V128H352c-17.7 0-32-14.3-32-32V0zM448 96L416 64 384 32 352 0V45.3 64 96h32 18.7H448zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'fas',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFaceClouds = {\n prefix: 'fas',\n iconName: 'face-clouds',\n icon: [640, 512, [], \"e47d\", \"M128 0C104.3 0 83.6 12.9 72.6 32H64C28.7 32 0 60.7 0 96s28.7 64 64 64H224c35.3 0 64-28.7 64-64s-28.7-64-64-64c-13.2 0-25.4 4-35.6 10.8C179.7 17.9 155.9 0 128 0zM72.1 192c-5.3 20.5-8.1 41.9-8.1 64c0 114.6 75.4 211.7 179.3 244.3c-12.1-17-19.3-37.8-19.3-60.3c0-50.6 36.2-92.8 84.1-102.1C321.2 290.7 364.6 256 416 256c29.1 0 55.6 11.1 75.5 29.2c8.9-3.4 18.5-5.2 28.5-5.2c20 0 38.3 7.3 52.3 19.5c2.4-14.1 3.7-28.7 3.7-43.5C576 114.6 461.4 0 320 0c-20.6 0-40.7 2.4-59.9 7C295.2 21.3 320 55.8 320 96c0 39.6-24 73.6-58.2 88.3c6.5 5.9 10.5 14.3 10.5 23.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-5.8 1.6-11.3 4.3-16H72.1zm328.3-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM336 368h-8c-39.8 0-72 32.2-72 72s32.2 72 72 72H568c39.8 0 72-32.2 72-72s-32.2-72-72-72h-.7c.4-2.6 .7-5.3 .7-8c0-26.5-21.5-48-48-48c-13.9 0-26.4 5.9-35.1 15.3C470.9 303.8 445.3 288 416 288c-44.2 0-80 35.8-80 80z\"]\n};\nvar faUserCrown = {\n prefix: 'fas',\n iconName: 'user-crown',\n icon: [448, 512, [], \"f6a4\", \"M144 128v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128H144zm0-108.8c10.2 7.5 23.8 8.3 34.9 2L209.1 4c4.6-2.6 9.7-4 14.9-4s10.4 1.4 14.9 4l30.2 17.2c11 6.3 24.7 5.5 34.9-2l.1-.1c.3-.2 .6-.4 .8-.6l3-2.4L323.6 3.5c2.8-2.3 6.4-3.5 10-3.5H336c8.8 0 16 7.2 16 16V39v3.2 .1V144c0 70.7-57.3 128-128 128s-128-57.3-128-128V42.3v-.1V39 16c0-8.8 7.2-16 16-16h2.4c3.6 0 7.2 1.2 10 3.5L140 16l3 2.4c.3 .2 .6 .4 .8 .6l.1 .1zM0 472c0-92.8 75.2-168 168-168H280c92.8 0 168 75.2 168 168v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8z\"]\n};\nvar faTruckField = {\n prefix: 'fas',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M32 96c0-35.3 28.7-64 64-64H320c23.7 0 44.4 12.9 55.4 32h51.8c25.3 0 48.2 14.9 58.5 38l52.8 118.8c.5 1.1 .9 2.1 1.3 3.2H544c35.3 0 64 28.7 64 64v32c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V288c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V96zM384 224h85.9l-42.7-96H384v96zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c53 0 96 43 96 96s-43 96-96 96H139.6c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-53 0-96-43-96-96s43-96 96-96h39.8c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCartCircleCheck = {\n prefix: 'fas',\n iconName: 'cart-circle-check',\n icon: [640, 512, [], \"e3f1\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c29.1-57 88.4-96 156.8-96c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faClipboardQuestion = {\n prefix: 'fas',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM105.8 229.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 328.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V314.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPanorama = {\n prefix: 'fas',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32zM96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm272 0c7.9 0 15.4 3.9 19.8 10.5L512.3 353c5.4 8 5.6 18.4 .4 26.5s-14.7 12.3-24.2 10.7C442.7 382.4 385.2 376 320 376c-65.6 0-123.4 6.5-169.3 14.4c-9.8 1.7-19.7-2.9-24.7-11.5s-4.3-19.4 1.9-27.2L197.3 265c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l26.4 33.1 87-127.6c4.5-6.6 11.9-10.5 19.8-10.5z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM224 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V272H176c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M96 32C43 32 0 75 0 128v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-53-43-96-96-96H96zM224 96c26.5 0 48 21.5 48 48v56c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V144c0-26.5 21.5-48 48-48zm80 48c0-26.5 21.5-48 48-48s48 21.5 48 48v56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V144zM96 128c26.5 0 48 21.5 48 48v24c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V176c0-26.5 21.5-48 48-48zm336 48c0-26.5 21.5-48 48-48s48 21.5 48 48v24c0 13.3-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V176zM96 480H480c53 0 96-43 96-96V352c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v32c0 53 43 96 96 96zm0-64c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48zm176 48c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48z\"]\n};\nvar faUserTieHairLong = {\n prefix: 'fas',\n iconName: 'user-tie-hair-long',\n icon: [448, 512, [], \"e460\", \"M304 144c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32v16zM224 0C153.3 0 96 57.3 96 128v11c0 33.9-13.5 66.5-37.5 90.5l-3.9 3.9c-4.2 4.2-6.6 10-6.6 16C48 261.9 58.1 272 70.6 272H224 377.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-3.9-3.9c-24-24-37.5-56.6-37.5-90.5V128C352 57.3 294.7 0 224 0zm55.7 510.9c1.8 .7 3.8 1.1 5.8 1.1H417.3c17 0 30.7-13.8 30.7-30.7c0-75.5-51.9-138.9-121.9-156.4c-8.1-2-15.9 3.3-17.9 11.3l-36 146.9L238.9 359.2l18.6-31c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2l18.6 31L175.8 483.1l-36-146.9c-2-8.1-9.8-13.4-17.9-11.3C51.9 342.4 0 405.8 0 481.3c0 17 13.8 30.7 30.7 30.7H162.5c2.1 0 4-.4 5.8-1.1L168 512H280l-.3-1.1z\"]\n};\nvar faFileCircleMinus = {\n prefix: 'fas',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faHeadSideMedical = {\n prefix: 'fas',\n iconName: 'head-side-medical',\n icon: [512, 512, [], \"f809\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM192 112v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H256V112c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M345 39.1L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9s24.6-9.2 33.9 .2zM0 229.5V80C0 53.5 21.5 32 48 32H197.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M32.1 29.3C33.5 12.8 47.4 0 64 0H256c16.6 0 30.5 12.8 31.9 29.3l14 168.4c6 72-42.5 135.2-109.9 150.6V448h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H160 80c-17.7 0-32-14.3-32-32s14.3-32 32-32h48V348.4C60.6 333 12.1 269.8 18.1 197.8l14-168.4zm56 98.7H231.9l-5.3-64H93.4l-5.3 64z\"]\n};\nvar faForwardFast = {\n prefix: 'fas',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L224 297.7V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4L448 297.7V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V214.3L276.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S224 83.6 224 96V214.3L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z\"]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'fas',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faUserRobot = {\n prefix: 'fas',\n iconName: 'user-robot',\n icon: [448, 512, [], \"e04b\", \"M224 0c8.8 0 16 7.2 16 16V64h64c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H144c-35.3 0-64-28.7-64-64V128c0-35.3 28.7-64 64-64h64V16c0-8.8 7.2-16 16-16zM16 144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm400-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM160 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM160 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48 16a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm80-16a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 352H352c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32H352V448c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32-14.3-32-32V448c0-53 43-96 96-96zm80 112v48H144V464c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16c8.8 0 16 7.2 16 16v48H208V464c0-8.8 7.2-16 16-16zm80 16v48H272V464c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSquareParking = {\n prefix: 'fas',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 256h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H192v64zm48 64H192v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 168c0-22.1 17.9-40 40-40h72c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParking = faSquareParking;\nvar faCardDiamond = {\n prefix: 'fas',\n iconName: 'card-diamond',\n icon: [384, 512, [], \"e3ea\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm180.7 84.7l-96 96c-6.2 6.2-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faFaceZipper = {\n prefix: 'fas',\n iconName: 'face-zipper',\n icon: [512, 512, [], \"e3a5\", \"M492.4 354.4C505 324.1 512 290.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c50.3 0 97.2-14.5 136.7-39.5c-1.1-1.8-2.2-3.7-3.1-5.7l-29.1-58.1c-9.2-18.5-5.6-40.8 9-55.4l15.7-15.7c14.6-14.6 36.9-18.2 55.4-9l51.8 25.9zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM144 336v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm98.2 132.4c14.7 29.3 53.7 35.6 76.9 12.5l1.8-1.8c23.2-23.2 16.8-62.2-12.5-76.9l-58.1-29.1c-6.2-3.1-13.6-1.9-18.5 3l-15.7 15.7c-4.9 4.9-6.1 12.3-3 18.5l29.1 58.1zm62.3-36.9c4.7 4.7 4.7 12.3 0 17l-16 16c-4.7 4.7-12.3 4.7-17 0s-4.7-12.3 0-17l16-16c4.7-4.7 12.3-4.7 17 0z\"]\n};\nvar faFaceRaisedEyebrow = {\n prefix: 'fas',\n iconName: 'face-raised-eyebrow',\n icon: [512, 512, [], \"e388\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-16a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM144 352c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM328.8 141.8c10.7-10.7 28.5-8.9 36.9 3.7l4.9 7.4c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-4.9-7.4c-19.6-29.4-61.2-33.5-86.2-8.5l-29.5 29.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l29.5-29.5zM128 144c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faHouseSignal = {\n prefix: 'fas',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c87.1 25.3 155.6 94.2 180.3 181.6H464c26.5 0 48-21.5 48-48V256h32c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V208zM24 256c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24c0-128.1-103.9-232-232-232zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM0 376c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSquareChevronUp = {\n prefix: 'fas',\n iconName: 'square-chevron-up',\n icon: [448, 512, [\"chevron-square-up\"], \"f32c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM241 167L345 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 167c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faChevronSquareUp = faSquareChevronUp;\nvar faNfcSymbol = {\n prefix: 'fas',\n iconName: 'nfc-symbol',\n icon: [512, 512, [], \"e531\", \"M348.9 471.8c10.3 9.3 25.4 10.8 37.4 3.9C461.6 432.1 512 348.8 512 256s-50.3-176.1-125.7-219.7C371 27.5 351.4 32.7 342.6 48s-3.6 34.9 11.7 43.7C410.1 124 448 186.4 448 256c0 61.4-29.5 117.2-74.8 151.7L213.4 264.2c-13.2-11.8-33.4-10.7-45.2 2.4s-10.7 33.4 2.4 45.2l178.3 160zM163.1 40.2c-10.3-9.3-25.4-10.8-37.4-3.9C50.3 79.9 0 163.2 0 256s50.3 176.1 125.7 219.7c15.3 8.8 34.9 3.6 43.7-11.7s3.6-34.9-11.7-43.7C101.9 388 64 325.7 64 256c0-61.4 29.5-117.2 74.8-151.7L298.6 247.8c13.2 11.8 33.4 10.7 45.2-2.4s10.7-33.4-2.4-45.2L163.1 40.2z\"]\n};\nvar faBarsProgress = {\n prefix: 'fas',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M448 160H320V128H448v32zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM448 352v32H192V352H448zM48 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'fas',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M224 0c17.7 0 32 14.3 32 32V44l96-12c17.7 0 32 14.3 32 32s-14.3 32-32 32L256 84l-31-3.9-1-.1-1 .1L192 84 96 96C78.3 96 64 81.7 64 64s14.3-32 32-32l96 12V32c0-17.7 14.3-32 32-32zM0 224c0-17.7 14.3-32 32-32h96l22.6-22.6c6-6 14.1-9.4 22.6-9.4H192V116.2l32-4 32 4V160h18.7c8.5 0 16.6 3.4 22.6 9.4L320 192h32c88.4 0 160 71.6 160 160c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32s-14.3-32-32-32H315.9c-20.2 29-53.9 48-91.9 48s-71.7-19-91.9-48H32c-17.7 0-32-14.3-32-32V224zM436.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"]\n};\nvar faArrowsToLine = {\n prefix: 'fas',\n iconName: 'arrows-to-line',\n icon: [448, 512, [], \"e0a7\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H256V32zM201.4 329.4l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faDolphin = {\n prefix: 'fas',\n iconName: 'dolphin',\n icon: [512, 512, [], \"e168\", \"M477.3 24.9c3.5-5.3 3.6-12.2 .1-17.6S467.7-.8 461.4 .2c-16.7 2.8-43.1 8.6-68.8 17C378 22 362.5 28 349 35.3C306.5 12.8 258 0 206.5 0H176C96.5 0 32 64.5 32 144c0 18.6 3.5 36.4 10 52.7L20.5 209.6C7.8 217.2 0 231 0 245.8C0 269.1 18.9 288 42.2 288H176h16 11.2l92 61.3c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V288h6.6c31.7 0 57.4 25.7 57.4 57.4c0 30.6-24 55.8-54.5 57.3l-53.4 2.7c-20.2-33-56.3-53.4-95.4-53.4H176c-5.5 0-10.7 2.9-13.6 7.6s-3.2 10.6-.7 15.6L190.1 432l-28.4 56.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h4.7c35.9 0 69.2-17.1 90.1-45.4l68 3.8c94.1 5.2 173.3-70 173.3-164.3c0-80.8-31.4-154.5-82.7-209.3l48-72zM176 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faArrowUpRight = {\n prefix: 'fas',\n iconName: 'arrow-up-right',\n icon: [384, 512, [], \"e09f\", \"M352 128c0-17.7-14.3-32-32-32L96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0L41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 205.3 288 352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224z\"]\n};\nvar faCircleR = {\n prefix: 'fas',\n iconName: 'circle-r',\n icon: [512, 512, [], \"e120\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H288c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L252 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24zm80 112h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64h56z\"]\n};\nvar faCartFlatbed = {\n prefix: 'fas',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80h18.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM192 80V272c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H464V176c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L400 163.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V32H240c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'fas',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M99.5 144.8L178.7 224l96 96 92.5 92.5C335.9 434.9 297.5 448 256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2zM333.3 288l-32-32H384v32H333.3zm32 32H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H269.3L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2L365.3 320zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM229.5 320l-96-96H112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H229.5z\"]\n};\nvar faSmokingBan = faBanSmoking;\nvar faCircleSortUp = {\n prefix: 'fas',\n iconName: 'circle-sort-up',\n icon: [512, 512, [\"sort-circle-up\"], \"e032\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zm0 310.6l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96c6.2 6.2 16.4 6.2 22.6 0zM313.4 320L256 377.4 198.6 320H313.4z\"]\n};\nvar faSortCircleUp = faCircleSortUp;\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faMobileButton = {\n prefix: 'fas',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zM192 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHouseMedicalFlag = {\n prefix: 'fas',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M480 0c17.7 0 32 14.3 32 32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H512V512H448V192 32c0-17.7 14.3-32 32-32zM276.8 39.7L416 159V512h1l-.2 0H96c-17.7 0-32-14.3-32-32V288H32c-13.4 0-25.4-8.3-30-20.9s-1-26.7 9.2-35.4l224-192c12-10.3 29.7-10.3 41.7 0zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBasketShopping = {\n prefix: 'fas',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32L83.9 463.5C91 492 116.6 512 146 512H430c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32H458.4L365.3 12.9C359.2 1.2 344.7-3.4 332.9 2.7s-16.3 20.6-10.2 32.4L404.3 192H171.7L253.3 35.1zM192 304v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M380.8 416c41.5-40.7 67.2-97.3 67.2-160C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8zM224 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm64 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faChestnut = {\n prefix: 'fas',\n iconName: 'chestnut',\n icon: [448, 512, [127792], \"e3f6\", \"M224 32c5.3 0 10.3 2.7 13.3 7.1c2.9 4.3 7.9 9.7 15.5 16.6c7.5 6.8 16.7 14.3 27.2 22.8l3.1 2.5 0 0c20.3 16.4 44.7 36.1 68.2 59.6C400.8 190.2 448 258 448 352H0c0-94 47.2-161.8 96.7-211.3c23.5-23.5 47.9-43.2 68.2-59.6l3.1-2.5c10.6-8.5 19.7-16 27.2-22.8c7.6-6.9 12.7-12.3 15.5-16.6c3-4.5 8-7.1 13.3-7.1zM4 384H444c-14.2 55.2-64.3 96-124 96H128C68.4 480 18.2 439.2 4 384z\"]\n};\nvar faBusSimple = {\n prefix: 'fas',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M224 0C348.8 0 448 35.2 448 80V96 416c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32V96 80C0 35.2 99.2 0 224 0zM64 128V256c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"]\n};\nvar faFaceSadCry = {\n prefix: 'fas',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M352 493.4c-29.6 12-62.1 18.6-96 18.6s-66.4-6.6-96-18.6V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V477.8C51.5 433.5 0 350.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 94.8-51.5 177.5-128 221.8V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V493.4zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM208 336v32c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faHeat = {\n prefix: 'fas',\n iconName: 'heat',\n icon: [448, 512, [], \"e00c\", \"M176 32c17.7 0 32 14.3 32 32v80c0 34.6 11.2 68.3 32 96l19.2 25.6C288.3 304.4 304 351.5 304 400v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V400c0-34.6-11.2-68.3-32-96l-19.2-25.6C159.7 239.6 144 192.5 144 144V64c0-17.7 14.3-32 32-32zM32 96c17.7 0 32 14.3 32 32v32c0 34.6 11.2 68.3 32 96l19.2 25.6C144.3 320.4 160 367.5 160 416v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-34.6-11.2-68.3-32-96L44.8 294.4C15.7 255.6 0 208.5 0 160V128c0-17.7 14.3-32 32-32zm320 32v32c0 34.6 11.2 68.3 32 96l19.2 25.6C432.3 320.4 448 367.5 448 416v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-34.6-11.2-68.3-32-96l-19.2-25.6C303.7 255.6 288 208.5 288 160V128c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faTicketAirline = {\n prefix: 'fas',\n iconName: 'ticket-airline',\n icon: [640, 512, [], \"e29a\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V336c0-8.8-7.3-15.8-15.8-18c-27.7-7-48.2-32.1-48.2-62s20.5-55 48.2-62c8.6-2.2 15.8-9.1 15.8-18V128c0-35.3-28.7-64-64-64H64zm352 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM176 224l-28.5-85.5c-1.7-5.2 2.1-10.5 7.6-10.5h31.1c8.5 0 16.4 4.5 20.7 11.9L256 224h46.9c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5C334.4 281.6 319 288 302.9 288H256l-49.1 84.1c-4.3 7.4-12.2 11.9-20.7 11.9H155.1c-5.5 0-9.3-5.4-7.6-10.5L176 288H120l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H74.2c-5.2 0-9-4.9-7.8-9.9L79 259.9c.6-2.5 .6-5.2 0-7.8L66.5 201.9c-1.3-5 2.6-9.9 7.8-9.9H88c5 0 9.8 2.4 12.8 6.4L120 224h56z\"]\n};\nvar faBootHeeled = {\n prefix: 'fas',\n iconName: 'boot-heeled',\n icon: [512, 512, [], \"e33f\", \"M128 0H63.3C46 0 32 14 32 31.3c0 1.8 .1 3.9 .6 6.2C34.6 47.1 56 154.3 56 232c0 33.2-12.8 93.5-19.7 123.2C33.6 367 32 379.3 32 391.8V488c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V472.9l125 34.7c10.5 2.9 21.3 4.4 32.1 4.4H456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V429.7c0-27.3-15.4-52.2-39.8-64.4L327.8 309.1c-24.4-12.2-39.8-37.1-39.8-64.4V24c0-13.3-10.7-24-24-24H160V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V0z\"]\n};\nvar faArrowsMinimize = {\n prefix: 'fas',\n iconName: 'arrows-minimize',\n icon: [512, 512, [\"compress-arrows\"], \"e0a5\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V192c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h50.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zm448 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L397.3 160H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v50.7L457.4 9.4zM32 320c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352H64c-17.7 0-32-14.3-32-32zm256 0c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H397.3L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 397.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V320z\"]\n};\nvar faCompressArrows = faArrowsMinimize;\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM213.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2h42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'fas',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M71 12.5c-8.6 1-15 8.2-15 16.8c0 9.3 7.5 16.8 16.7 16.9H184.1c8.8-.1 15.9-7.2 15.9-16V16c0-9.5-8.3-17-17.8-15.9L71 12.5zM189.5 78.1H66.5C64.9 83.8 64 89.8 64 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-6.2-.9-12.2-2.5-17.9zM32 256v32c0 17.7 14.3 32 32 32H192c1.8 0 3.5-.1 5.2-.4L53 208.6C40.1 220.3 32 237.2 32 256zm190.2 42.5c1.1-3.3 1.8-6.8 1.8-10.5V256c0-35.3-28.7-64-64-64H96c-3.7 0-7.4 .3-10.9 .9L222.2 298.5zM384 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H352zM215.8 450.1c5.2-4.6 8.2-11.1 8.2-18.1s-3-13.5-8.2-18.1l-64-56c-7.1-6.2-17.1-7.7-25.7-3.8S112 366.6 112 376v32l-88 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l88 0v32c0 9.4 5.5 18 14.1 21.9s18.6 2.4 25.7-3.8l64-56zM288 431.9c0 6.9 2.9 13.5 8.1 18.1l64 56.4c7.1 6.2 17.1 7.8 25.7 3.9s14.1-12.4 14.1-21.9l0-32.4 88 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-88 0 0-32c0-9.4-5.5-18-14.1-21.9s-18.6-2.4-25.7 3.8l-64 56c-5.2 4.5-8.2 11.1-8.2 18z\"]\n};\nvar faFileShield = {\n prefix: 'fas',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v47l-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm39.1 97.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faHexagon = {\n prefix: 'fas',\n iconName: 'hexagon',\n icon: [512, 512, [11043], \"f312\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36l176.6 0c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36l-176.6 0c-25.7 0-49.5 13.7-62.4 36L17.1 220z\"]\n};\nvar faManhole = {\n prefix: 'fas',\n iconName: 'manhole',\n icon: [512, 512, [], \"e1d6\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM281.4 115.4c5.8-7.5 14.5-14.7 23.6-11.8c64.4 20.7 111 81.1 111 152.4s-46.6 131.7-111 152.4c-9 2.9-17.8-4.3-23.6-11.8c-5.8-7.6-15.1-12.6-25.4-12.6s-19.6 4.9-25.4 12.6c-5.8 7.5-14.5 14.7-23.6 11.8C142.6 387.7 96 327.3 96 256s46.6-131.7 111-152.4c9-2.9 17.8 4.3 23.6 11.8c5.8 7.6 15.1 12.6 25.4 12.6s19.6-4.9 25.4-12.6zM192 176a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm80-112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-32 64a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm32 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48-144a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c3.9 0 7.6-.7 11-2.1l-261-205.6z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M362.7 19.3L314.3 67.7 444.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0zm-71 71L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L421.7 220.3 291.7 90.3z\"]\n};\nvar faTowerObservation = {\n prefix: 'fas',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M241.7 3.4c9-4.5 19.6-4.5 28.6 0l160 80c15.8 7.9 22.2 27.1 14.3 42.9C439 137.5 427.7 144 416 144v80c0 17.7-14.3 32-32 32h-4.9l32 192H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H384.5c-.4 0-.8 0-1.1 0H128.6c-.4 0-.8 0-1.1 0H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l32-192H128c-17.7 0-32-14.3-32-32V144c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l160-80zM314.5 448L256 399.2 197.5 448h117zM197.8 256l-4.7 28.3L256 336.8l62.9-52.5L314.2 256H197.8zm-13.9 83.2l-11.2 67L218.5 368l-34.6-28.8zM293.5 368l45.8 38.1-11.2-67L293.5 368zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faFloppyDisks = {\n prefix: 'fas',\n iconName: 'floppy-disks',\n icon: [512, 512, [], \"e183\", \"M96 56c0-30.9 25.1-56 56-56H370.7c14.9 0 29.1 5.9 39.6 16.4l85.3 85.3c10.5 10.5 16.4 24.7 16.4 39.6V360c0 30.9-25.1 56-56 56H152c-30.9 0-56-25.1-56-56V56zm96 8c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H192zM368 288a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM48 120V376c0 48.6 39.4 88 88 88H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faToiletPaperBlankUnder = {\n prefix: 'fas',\n iconName: 'toilet-paper-blank-under',\n icon: [512, 512, [\"toilet-paper-reverse-alt\"], \"e29f\", \"M348.2 0H96C43 0 0 86 0 192S43 384 96 384H348.2c-11.6-12.2-21.1-26.9-28.7-41.9C299.5 302 288 248.9 288 192s11.5-110 31.5-150.1c7.5-15 17.1-29.7 28.7-41.9zM384 10.9c-37.3 26.4-64 97.5-64 181.1s26.7 154.7 64 181.1c10 7.1 20.8 10.9 32 10.9c35.5 0 66.6-38.6 83.2-96c8.2-28.2 12.8-61 12.8-96C512 86 469 0 416 0c-11.2 0-22 3.8-32 10.9zM416 256c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64zM160 464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V343.1c-19.1 37.8-51.2 72.9-96 72.9H160v48z\"]\n};\nvar faToiletPaperReverseAlt = faToiletPaperBlankUnder;\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM153 289l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 337c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM265 255l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faPump = {\n prefix: 'fas',\n iconName: 'pump',\n icon: [640, 512, [], \"e442\", \"M128 32c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM32 176c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-17.7-14.3-32-32-32zm128 48H96V384H320V96H160V224zM431.9 106.7L380.5 141c-17.8 11.9-28.5 31.9-28.5 53.3V413.7c0 21.4 10.7 41.4 28.5 53.3l51.4 34.3c10.5 7 22.9 10.7 35.5 10.7H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H467.4c-12.6 0-25 3.7-35.5 10.7zM448 208c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M288 0C422.4 0 512 35.2 512 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H192v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32l0-32c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C64 35.2 153.6 0 288 0zM128 160v96c0 17.7 14.3 32 32 32H272V128H160c-17.7 0-32 14.3-32 32zM304 288H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H304V288zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16z\"]\n};\nvar faHeartCircleXmark = {\n prefix: 'fas',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faArrowUpLeftFromCircle = {\n prefix: 'fas',\n iconName: 'arrow-up-left-from-circle',\n icon: [512, 512, [], \"e09e\", \"M192 0H32C14.3 0 0 14.3 0 32V192c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3L297.4 342.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 64H192c17.7 0 32-14.3 32-32s-14.3-32-32-32zM325.3 67.1c-17.4-2.9-33.9 8.8-36.9 26.3s8.8 33.9 26.3 36.9C390.4 142.9 448 208.8 448 288c0 88.4-71.6 160-160 160c-79.2 0-145.1-57.6-157.8-133.3c-2.9-17.4-19.4-29.2-36.9-26.3s-29.2 19.4-26.3 36.9C84.9 431.3 177 512 288 512c123.7 0 224-100.3 224-224c0-111-80.7-203.1-186.7-220.9z\"]\n};\nvar faHouseChimney = {\n prefix: 'fas',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z\"]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faDryer = {\n prefix: 'fas',\n iconName: 'dryer',\n icon: [448, 512, [], \"f861\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM368 304A144 144 0 1 0 80 304a144 144 0 1 0 288 0zM88 112a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM208 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM336 304c0 61.9-50.1 112-112 112c-56.4 0-103.1-41.7-110.9-96H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H113.1c7.8-54.3 54.4-96 110.9-96c61.9 0 112 50.1 112 112z\"]\n};\nvar faFaceFrown = {\n prefix: 'fas',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrown = faFaceFrown;\nvar faChessBishopPiece = {\n prefix: 'fas',\n iconName: 'chess-bishop-piece',\n icon: [256, 512, [\"chess-bishop-alt\"], \"f43b\", \"M104 32C90.7 32 80 42.7 80 56c0 12.2 9.1 22.3 20.9 23.8C79.6 100.1 48 139 48 192c0 26.3 13.6 40.5 26.3 48H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h5.7L64 384H192l-13.7-96H184c13.3 0 24-10.7 24-24s-10.7-24-24-24h-2.3c12.7-7.5 26.3-21.7 26.3-48c0-22.5-5.7-42.4-13.9-59.5l-38.8 38.8c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L177 104.4c-7.4-10-15.2-18.2-21.9-24.6C166.9 78.3 176 68.2 176 56c0-13.3-10.7-24-24-24H104zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48z\"]\n};\nvar faChessBishopAlt = faChessBishopPiece;\nvar faShirtTankTop = {\n prefix: 'fas',\n iconName: 'shirt-tank-top',\n icon: [384, 512, [], \"e3c9\", \"M112 32C112 14.3 97.7 0 80 0S48 14.3 48 32V64c0 91-19.2 143.6-33.3 170.1C6.7 249.1 0 265.5 0 282.5V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V282.5c0-17-6.7-33.5-14.7-48.4C355.2 207.6 336 155 336 64V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V80c0 44.2-35.8 80-80 80s-80-35.8-80-80V32z\"]\n};\nvar faDiploma = {\n prefix: 'fas',\n iconName: 'diploma',\n icon: [640, 512, [\"scroll-ribbon\"], \"f5ea\", \"M302 59.7l18 20.6 18-20.6C353.4 42.1 375.6 32 399 32h1c44.2 0 80 35.8 80 80c0 11.4-2.4 22.2-6.7 32H544v32c0-32 0-32 0-32l0 0 .1 0 .2 0 .5 0c.4 0 .8 0 1.4 .1c1 .1 2.3 .1 3.8 .3c3 .3 7 .9 11.6 2.1c9.2 2.3 21.3 6.9 33.4 15.9C620.9 181.7 640 216.2 640 272c0 47.5-13.7 81.1-32 104.1c-18 22.6-38.5 32.6-49 36.6c-7.3 2.8-14 3.3-19 3.3h-.5c-4.7 0-9.3-.5-13.9-1.5L384 383v81c0 6.2-3.6 11.9-9.2 14.5s-12.3 1.8-17-2.2L320 444.8l-37.8 31.5c-4.8 4-11.4 4.8-17 2.2s-9.2-8.3-9.2-14.5V383L114.4 414.5c-4.6 1-9.2 1.5-13.9 1.5h-.5c-4.9 0-11.7-.5-19-3.3c-10.5-4-31-14-49-36.6C13.7 353.1 0 319.5 0 272c0-55.8 19.1-90.3 44.8-109.6c12.1-9.1 24.3-13.6 33.4-15.9c4.6-1.2 8.6-1.8 11.6-2.1c1.5-.2 2.8-.3 3.8-.3c.5 0 1 0 1.4-.1l.5 0 .2 0 .1 0 0 0c0 0 0 0 0 32V144h70.7c-4.3-9.8-6.7-20.6-6.7-32c0-44.2 35.8-80 80-80h1c23.4 0 45.6 10.1 61 27.7zM240 144h54.4c6.9 0 10.5-8.1 6-13.3L265.9 91.3C259.6 84.1 250.5 80 241 80h-1c-17.7 0-32 14.3-32 32s14.3 32 32 32zm105.6 0H392h8c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1c-1.2 0-2.3 .1-3.5 .2c-8.2 .9-15.8 4.8-21.3 11.1l-34.5 39.5c-4.5 5.2-.9 13.3 6 13.3zM256 208H96.7l-.1 0c-.5 .1-1.5 .2-2.9 .5c-2.8 .7-6.7 2.1-10.6 5.1C76.9 218.3 64 231.8 64 272c0 34.5 9.6 53.7 18.1 64.3c7.2 9 14.9 13.5 19.2 15.6L256 317.4V208zM384 317.4l154.8 34.4c4.3-2 12-6.6 19.2-15.6c8.4-10.6 18.1-29.8 18.1-64.3c0-40.2-12.9-53.7-19.2-58.4c-3.9-2.9-7.7-4.4-10.6-5.1c-1.4-.3-2.4-.5-2.9-.5l-.1 0H384V317.4zM540.1 352c0 0 0 0 0 0l0 0h0zM99.9 352c0 0 0 0 0 0h0z\"]\n};\nvar faScrollRibbon = faDiploma;\nvar faScreencast = {\n prefix: 'fas',\n iconName: 'screencast',\n icon: [576, 512, [], \"e23e\", \"M512 96H64v99c-13-2-26.4-3-40-3H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-13.6-1-27-3-40H512V96zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z\"]\n};\nvar faWalker = {\n prefix: 'fas',\n iconName: 'walker',\n icon: [448, 512, [], \"f831\", \"M194 64H320c17.7 0 32 14.3 32 32v64H145l17.9-71.8C166.5 74 179.3 64 194 64zM352 224V392.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V96c0-53-43-96-96-96H194c-44.1 0-82.4 30-93.1 72.7L1 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3L129 224H352zm32 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M32 0C14.3 0 0 14.3 0 32V192v96c0 17.7 14.3 32 32 32s32-14.3 32-32V224h50.7l128 128L137.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 397.3 393.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L333.3 352 438.6 246.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 306.7l-85.8-85.8C251.4 209.1 288 164.8 288 112C288 50.1 237.9 0 176 0H32zM176 160H64V64H176c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faShop = {\n prefix: 'fas',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M36.8 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM64 224V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 224H320V384H128V224H64zm448 0V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224H512z\"]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'fas',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23 6.3c1.8 .5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9H480v56.1l6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24H576v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H24c-13.3 0-24-10.7-24-24c0-11.4 8-21 18.6-23.4c30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1V176 128h-7.5c-5.5 .1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5 .9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3C209.2 63.5 247 45.8 281 22zM416 128H320 224v64h72 48 72V128zM160 288v64H296h24 24H480V288H344 320h0H296 160z\"]\n};\nvar faFaceKissClosedEyes = {\n prefix: 'fas',\n iconName: 'face-kiss-closed-eyes',\n icon: [512, 512, [], \"e37d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-93.5-80.1c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faScaleUnbalanced = {\n prefix: 'fas',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M522.1 62.4c16.8-5.6 25.8-23.7 20.2-40.5S518.6-3.9 501.9 1.6l-113 37.7C375 15.8 349.3 0 320 0c-44.2 0-80 35.8-80 80c0 3 .2 5.9 .5 8.8L117.9 129.6c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l135.5-45.2c4.5 3.2 9.3 5.9 14.4 8.2V480c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V153.3c21-9.2 37.2-27 44.2-49l125.9-42zM439.6 288L512 163.8 584.4 288H439.6zM512 384c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 273.1c-5.7 9.8-9.3 21.1-6.7 32.1C396.8 350 449.1 384 512 384zM129.2 291.8L201.6 416H56.7l72.4-124.2zM3.2 433.1C14 478 66.3 512 129.2 512s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L153.2 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L9.9 401.1c-5.7 9.8-9.3 21.1-6.7 32.1z\"]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faFileUser = {\n prefix: 'fas',\n iconName: 'file-user',\n icon: [384, 512, [], \"f65c\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faUserPoliceTie = {\n prefix: 'fas',\n iconName: 'user-police-tie',\n icon: [448, 512, [], \"e334\", \"M230.1 .8c-4-1.1-8.2-1.1-12.2 0l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40zM227 48.6l32 12.8c3 1.2 5 4.2 5 7.4c0 17.2-7 46.1-36.9 58.6c-2 .8-4.2 .8-6.2 0C191 114.9 184 86 184 68.8c0-3.3 2-6.2 5-7.4l32-12.8c1.9-.8 4-.8 5.9 0zM98.1 168.8C96.7 176.3 96 184.1 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2C310.8 183.8 268.4 192 224 192s-86.8-8.2-125.9-23.2zm89.5 206.3L208 416l-12.2 48.9L133 360.3c-3-5-8.6-8.1-14.4-7.4C51.8 360.8 0 417.5 0 486.4C0 500.5 11.5 512 25.6 512H192v0h64v0H422.4c14.1 0 25.6-11.5 25.6-25.6c0-68.9-51.8-125.6-118.6-133.5c-5.8-.7-11.4 2.4-14.4 7.4L252.2 464.9 240 416l20.4-40.8c5.3-10.6-2.4-23.2-14.3-23.2H201.9c-11.9 0-19.6 12.5-14.3 23.2zm172 38.4l5.4 16.6 17.4 0c3.5 0 6.6 2.2 7.6 5.5s-.1 6.9-2.9 9L373 454.8l5.4 16.6c1.1 3.3-.1 6.9-2.9 9s-6.6 2-9.4 0L352 470.1l-14.1 10.3c-2.8 2-6.6 2.1-9.4 0s-4-5.7-2.9-9l5.4-16.6-14.1-10.2c-2.8-2-4-5.7-2.9-9s4.2-5.5 7.6-5.5l17.4 0 5.4-16.6c1.1-3.3 4.1-5.5 7.6-5.5s6.5 2.2 7.6 5.5z\"]\n};\nvar faFaceTongueMoney = {\n prefix: 'fas',\n iconName: 'face-tongue-money',\n icon: [512, 512, [], \"e39d\", \"M0 256C0 364.6 67.7 457.5 163.1 494.6C151.1 476.8 144 455.2 144 432V421.5c-22.4-20.1-39-46.1-47.2-75.4c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1c-8.2 29.4-24.9 55.4-47.2 75.4V432c0 23.2-7.1 44.8-19.1 62.6C444.3 457.5 512 364.6 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256zM192 104v9.8c4.6 .8 8.7 1.8 12.1 2.7c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-8.3-2.2-18.8-4-27-3.2c-4 .4-6.1 1.4-7.1 2.1c-2.6 1.9-2.6 5.6-.2 7.2c6.9 4.8 15 6.9 23.3 9.1c8.3 2.2 16.7 4.4 23.9 9.4c4.8 3.3 9.5 8 12.4 14.6c3 6.6 3.5 13.9 2.2 21.2c-2 11.5-7.9 20.4-17 25.9c-4.6 2.8-9.5 4.4-14.4 5.2V248c0 8.8-7.2 16-16 16s-16-7.2-16-16V237.2c-8.4-1.9-16-4.4-21.1-6c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.1 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c2.8-1.7 3.2-6.2 .6-8c-3.5-2.4-9.3-4.3-18.8-7l-1.1-.3c-7.9-2.2-18.8-5.4-27.2-11.2c-4.8-3.3-9.5-8-12.4-14.6c-3-6.6-3.5-13.9-2.2-21.2c1.8-10.2 6.9-18.2 14.4-23.6c5.3-3.9 11.3-6 17-7.1V104c0-8.8 7.2-16 16-16s16 7.2 16 16zM336 88c8.8 0 16 7.2 16 16v9.8c4.6 .8 8.7 1.8 12.1 2.7c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-8.3-2.2-18.8-4-27-3.2c-4 .4-6.1 1.4-7.1 2.1c-2.6 1.9-2.6 5.6-.2 7.2c6.9 4.8 15 6.9 23.3 9.1c8.3 2.2 16.7 4.4 23.9 9.4c4.8 3.3 9.5 8 12.4 14.6c3 6.6 3.5 13.9 2.2 21.2c-2 11.5-7.9 20.4-17 25.9c-4.6 2.8-9.5 4.4-14.4 5.2V248c0 8.8-7.2 16-16 16s-16-7.2-16-16V237.2c-8.4-1.9-16-4.4-21.1-6c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.1 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c2.8-1.7 3.2-6.2 .6-8c-3.5-2.4-9.3-4.3-18.8-7l-1.1-.3c-7.9-2.2-18.8-5.4-27.2-11.2c-4.8-3.3-9.5-8-12.4-14.6c-3-6.6-3.5-13.9-2.2-21.2c1.8-10.2 6.9-18.2 14.4-23.6c5.3-3.9 11.3-6 17-7.1V104c0-8.8 7.2-16 16-16zm0 264H176v80c0 44.2 35.8 80 80 80s80-35.8 80-80V352zm-80 16c5.9 0 10.7 4.9 10.7 10.9v6.7c3 .6 5.8 1.2 8.1 1.8c5.7 1.6 9.1 7.5 7.6 13.3s-7.4 9.3-13 7.7c-5.5-1.5-12.6-2.8-18-2.2c-2.7 .3-4.1 .9-4.7 1.4c-1.7 1.3-1.7 3.8-.2 4.9c4.6 3.3 10 4.7 15.5 6.2c5.6 1.5 11.2 3 15.9 6.4c3.2 2.3 6.3 5.5 8.3 9.9c2 4.5 2.3 9.4 1.5 14.4c-1.3 7.8-5.3 13.9-11.3 17.7c-3.1 1.9-6.4 3-9.6 3.6v6.1c0 6-4.8 10.9-10.7 10.9s-10.7-4.9-10.7-10.9v-7.3c-5.6-1.3-10.7-3-14-4.1c-5.6-1.9-8.6-8.1-6.8-13.8s7.9-8.8 13.5-6.9c6.3 2.1 14.6 4.7 21.3 4.8c3.3 .1 5.1-.5 5.9-1c1.8-1.1 2.1-4.3 .4-5.5c-2.3-1.7-6.2-2.9-12.6-4.8l-.8-.2c-5.2-1.5-12.6-3.7-18.1-7.6c-3.2-2.3-6.3-5.5-8.3-9.9c-2-4.5-2.3-9.4-1.5-14.4c1.2-6.9 4.6-12.4 9.6-16.1c3.6-2.6 7.5-4.1 11.3-4.9v-6.4c0-6 4.8-10.9 10.7-10.9z\"]\n};\nvar faTennisBall = {\n prefix: 'fas',\n iconName: 'tennis-ball',\n icon: [512, 512, [127934], \"f45e\", \"M.2 245.1C.1 248.7 0 252.3 0 256C0 397.4 114.6 512 256 512c3.7 0 7.3-.1 10.9-.2c-3.8-10.7-6.6-21.8-8.4-33.1c-4.4-27.2-2.9-55 4.4-81.6s20.2-51.2 37.9-72.4s39.7-38.2 64.5-50.1s52-18.2 79.5-18.7c22.8-.4 45.5 3.3 67 10.9c.2-3.6 .2-7.2 .2-10.9C512 114.6 397.4 0 256 0c-3.7 0-7.3 .1-10.9 .2c10.7 30.5 13.7 63.4 8.2 95.6c-7.1 42.4-28.3 81.2-60 110.1s-72.4 46.4-115.2 49.6c-26.6 2-53.1-1.7-77.9-10.4zM206.8 4.7C104.9 24.6 24.6 104.9 4.7 206.8C26.9 216 51.1 220 75.3 218.2c34.5-2.5 67.2-16.6 92.8-39.9s42.6-54.5 48.4-88.7c4.8-28.7 1.4-58.2-9.7-84.9zM445.4 293.4c-22.2 .4-44 5.5-64 15.1s-37.7 23.3-52 40.3s-24.6 36.9-30.5 58.3s-7.1 43.8-3.5 65.7c1.9 11.9 5.2 23.5 9.8 34.6c101.9-19.8 182.2-100.2 202.1-202.1c-19.6-8.1-40.6-12.1-61.9-11.8z\"]\n};\nvar faSquareL = {\n prefix: 'fas',\n iconName: 'square-l',\n icon: [448, 512, [], \"e275\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM176 152V336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]\n};\nvar faSortAsc = faSortUp;\nvar faCalendarArrowUp = {\n prefix: 'fas',\n iconName: 'calendar-arrow-up',\n icon: [448, 512, [\"calendar-upload\"], \"e0d1\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM248 424V321.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V424c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCalendarUpload = faCalendarArrowUp;\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'fas',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M288 120c0-30.9 25.1-56 56-56s56 25.1 56 56v13c-29.3 10-48 34.5-48 70.1c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V120C464 53.7 410.3 0 344 0S224 53.7 224 120v21.8C207.3 133 188.2 128 168 128c-66.3 0-120 53.7-120 120v13c-29.3 10-48 34.5-48 70.1C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-35.6-18.7-60.2-48-70.1V248c0-30.9 25.1-56 56-56s56 25.1 56 56v32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V280 248 120z\"]\n};\nvar faScarf = {\n prefix: 'fas',\n iconName: 'scarf',\n icon: [512, 512, [129507], \"f7c1\", \"M416 168.8c0 22.8-7 44.9-19.9 63.4L278.6 114.7l15.1-15.1C283.1 97.5 270.3 96 256 96s-27.1 1.5-37.8 3.6L256 137.4 374.6 256l9.4 9.4 11.3 11.3 112 112c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L384 310.6 358.6 336 459.3 436.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L336 358.6 310.6 384 411.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-112-112L128.4 247C107.7 226.3 96 198.1 96 168.8c0-19 4.9-37.7 14.2-54.2l41.5-73.8C165.9 15.6 192.5 0 221.4 0h69.1c28.9 0 55.6 15.6 69.7 40.8l41.5 73.8c9.3 16.6 14.2 35.2 14.2 54.2zM4.7 388.7l112-112 22.6 22.6-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm48 48l112-112 22.6 22.6-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm48 48l112-112 22.6 22.6-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]\n};\nvar faAlbumCirclePlus = {\n prefix: 'fas',\n iconName: 'album-circle-plus',\n icon: [576, 512, [], \"e48c\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v96.7c-5.3-.5-10.6-.7-16-.7c-20.1 0-39.5 3.4-57.5 9.6C352.3 140 293.3 96 224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c12.9 0 25.4-1.5 37.4-4.4c6.5 25.5 18.5 48.7 34.8 68.4H64c-35.3 0-64-28.7-64-64V96zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208 0a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faUserNurseHairLong = {\n prefix: 'fas',\n iconName: 'user-nurse-hair-long',\n icon: [448, 512, [], \"e45e\", \"M96 70.2V128h.3c-.2 2.6-.3 5.3-.3 8v24 11c0 33.9-13.5 66.5-37.5 90.5l-3.9 3.9c-4.2 4.2-6.6 10-6.6 16C48 293.9 58.1 304 70.6 304H224 377.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-3.9-3.9c-24-24-37.5-56.6-37.5-90.5V160 136c0-2.7-.1-5.4-.3-8h.3V70.2c0-13.3-8.3-25.3-20.8-30l-96-36c-7.2-2.7-15.2-2.7-22.5 0l-96 36C104.3 44.9 96 56.8 96 70.2zM304 160v16c0 44.2-35.8 80-80 80s-80-35.8-80-80l32 0c29.8 0 55.9-16.3 69.6-40.5C257.3 150.4 275.5 160 296 160h8zM151.4 346.8c-6.4-6.8-15.4-10.6-24.6-9.3C55.1 347.7 0 409.4 0 483.8C0 499.4 12.6 512 28.2 512H419.8c15.6 0 28.2-12.6 28.2-28.2c0-74.5-55.1-136.1-126.7-146.3c-9.2-1.3-18.3 2.5-24.6 9.3l-61 64.8c-6.3 6.7-17 6.7-23.3 0l-61-64.8zM208 48c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8V64h16c4.4 0 8 3.6 8 8V88c0 4.4-3.6 8-8 8H240v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V96H192c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h16V48z\"]\n};\nvar faDiamond = {\n prefix: 'fas',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"]\n};\nvar faSquareLeft = {\n prefix: 'fas',\n iconName: 'square-left',\n icon: [448, 512, [11013, \"arrow-alt-square-left\"], \"f351\", \"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm185.4 39.1L85.5 242.2C82 245.9 80 250.9 80 256s2 10.1 5.5 13.8l99.9 107.1c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1z\"]\n};\nvar faArrowAltSquareLeft = faSquareLeft;\nvar faFaceGrinSquint = {\n prefix: 'fas',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM133.5 146.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faCircleEllipsisVertical = {\n prefix: 'fas',\n iconName: 'circle-ellipsis-vertical',\n icon: [512, 512, [], \"e10b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandHoldingDollar = {\n prefix: 'fas',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faGridDividers = {\n prefix: 'fas',\n iconName: 'grid-dividers',\n icon: [512, 512, [], \"e3ad\", \"M0 24C0 10.7 10.7 0 24 0H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM64 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm0 288h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zM192 128c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V128zm32 256h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zM352 128c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V128zm32 256h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zM24 288H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-9.4 15.7-17 31-23.2 45.3l-9.9-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.6 4.6c-.3 1.1-.6 2.1-.9 3.1c-3.5 12.5-5.7 23.2-7.1 31.3c-.7 4.1-1.2 7.5-1.6 10.3c-.2 1.4-.3 2.6-.4 3.6l-.1 1.4-.1 .6 0 .3 0 .1c0 0 0 .1 39.2 3.7l0 0-39.2-3.6c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3l.1-.8c.3-1.7 1-5.1 2.3-9.8l.2-.8 12.6 5.4c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM92.1 363.3l0 0L144 368l-51.9-4.7zM112 320a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM240 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40V188.2c8.5-7.6 19.7-12.2 32-12.2c20.6 0 38.2 13 45 31.2c8.8-9.3 21.2-15.2 35-15.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v48 16 48c0 70.7-57.3 128-128 128l-16 0H240l-.1 0h-5.2c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32c159.1 0 288 48 288 128V352c0 80-128.9 128-288 128S0 432 0 352V160C0 80 128.9 32 288 32zM528 160c0-9.9-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5c47.1-19.9 55-39.9 55-49.8zM349.2 237.3c-8-26.2-32.4-45.3-61.2-45.3s-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7zM169 90.8c-25.2 5-47.4 11.6-66 19.4C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8zm56.3-8C224.5 87 224 91.5 224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M40 208c-22.1 0-40 17.9-40 40s17.9 40 40 40l180.2 0c-7.6 8.5-12.2 19.7-12.2 32c0 25.3 19.5 46 44.3 47.9c-7.7 8.5-12.3 19.8-12.3 32.1c0 26.5 21.5 48 48 48l32 0 64 0c70.7 0 128-57.3 128-128l0-113.1c0-40.2-16-78.8-44.4-107.3C444.8 76.8 413.9 64 381.7 64L336 64c-21.3 0-39.3 13.9-45.6 33.1l74.5 23.7c8.4 2.7 13.1 11.7 10.4 20.1s-11.7 13.1-20.1 10.4L288 129.9l0 .1L84 65.8C62.9 59.2 40.5 70.9 33.8 92s5.1 43.5 26.2 50.2L269.5 208 40 208z\"]\n};\nvar faHandsPraying = {\n prefix: 'fas',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M351.2 4.8c3.2-2 6.6-3.3 10-4.1c4.7-1 9.6-.9 14.1 .1c7.7 1.8 14.8 6.5 19.4 13.6L514.6 194.2c8.8 13.1 13.4 28.6 13.4 44.4v73.5c0 6.9 4.4 13 10.9 15.2l79.2 26.4C631.2 358 640 370.2 640 384v96c0 9.9-4.6 19.3-12.5 25.4s-18.1 8.1-27.7 5.5L431 465.9c-56-14.9-95-65.7-95-123.7V224c0-17.7 14.3-32 32-32s32 14.3 32 32v80c0 8.8 7.2 16 16 16s16-7.2 16-16V219.1c0-7-1.8-13.8-5.3-19.8L340.3 48.1c-1.7-3-2.9-6.1-3.6-9.3c-1-4.7-1-9.6 .1-14.1c1.9-8 6.8-15.2 14.3-19.9zm-62.4 0c7.5 4.6 12.4 11.9 14.3 19.9c1.1 4.6 1.2 9.4 .1 14.1c-.7 3.2-1.9 6.3-3.6 9.3L213.3 199.3c-3.5 6-5.3 12.9-5.3 19.8V304c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32V342.3c0 58-39 108.7-95 123.7l-168.7 45c-9.6 2.6-19.9 .5-27.7-5.5S0 490 0 480V384c0-13.8 8.8-26 21.9-30.4l79.2-26.4c6.5-2.2 10.9-8.3 10.9-15.2V238.5c0-15.8 4.7-31.2 13.4-44.4L245.2 14.5c4.6-7.1 11.7-11.8 19.4-13.6c4.6-1.1 9.4-1.2 14.1-.1c3.5 .8 6.9 2.1 10 4.1z\"]\n};\nvar faPrayingHands = faHandsPraying;\nvar faFacePensive = {\n prefix: 'fas',\n iconName: 'face-pensive',\n icon: [512, 512, [], \"e384\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 384h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM387.2 270.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM65.7 215.2c-4-7.9-.7-17.5 7.2-21.5l22.9-11.4c14.5-7.2 27.2-17.6 37.4-30.2l14.4-18c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5l-14.4 18c-13 16.3-29.4 29.5-48 38.8L87.2 222.3c-7.9 4-17.5 .7-21.5-7.2zm373.5-21.5c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2L402 210.9c-18.6-9.3-35-22.6-48.1-38.8l-14.4-18c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5l14.4 18c10.1 12.7 22.9 23 37.4 30.2l22.9 11.4z\"]\n};\nvar faUserMusic = {\n prefix: 'fas',\n iconName: 'user-music',\n icon: [640, 512, [], \"f8eb\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c36.3 0 70.1 10.9 98.3 29.5v51.6c-18 2.5-34.8 9.1-48.5 19.4c-17.6 13.2-31.5 34-31.5 59.5c0 19.1 7.7 35.4 18.9 48H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM630 164.5c6.3 4.5 10 11.8 10 19.5v48V392c0 1.2-.1 2.4-.3 3.6c.2 1.5 .3 2.9 .3 4.4c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V265.3l-144 48V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V296 248c0-10.3 6.6-19.5 16.4-22.8l192-64c7.3-2.4 15.4-1.2 21.6 3.3z\"]\n};\nvar faArrowRotateRight = {\n prefix: 'fas',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z\"]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faMessagesDollar = {\n prefix: 'fas',\n iconName: 'messages-dollar',\n icon: [640, 512, [\"comments-alt-dollar\"], \"f652\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H202.7l-81.1 60.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V320H64c-35.3 0-64-28.7-64-64V64zM256 352h96c53 0 96-43 96-96V128H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H544v48c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L437.3 448H320c-35.3 0-64-28.7-64-64V352zM228 56c0-11-9-20-20-20s-20 9-20 20V70c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V264c0 11 9 20 20 20s20-9 20-20V250.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V56z\"]\n};\nvar faCommentsAltDollar = faMessagesDollar;\nvar faSensorOn = {\n prefix: 'fas',\n iconName: 'sensor-on',\n icon: [640, 512, [], \"e02b\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm88 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm413.3 12l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM536 232h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H536c-13.3 0-24-10.7-24-24s10.7-24 24-24zm13.3 140l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7z\"]\n};\nvar faBalloon = {\n prefix: 'fas',\n iconName: 'balloon',\n icon: [384, 512, [], \"e2e3\", \"M0 192C0 86 86 0 192 0S384 86 384 192c0 102.6-102.8 194.9-143.6 227.5c-9.3 7.4-12.5 20.4-7.1 31l21.4 42.7c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H140.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8l21.4-42.7c5.3-10.6 2.1-23.6-7.1-31C102.8 386.9 0 294.6 0 192zm96-16c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16C114.1 64 64 114.1 64 176c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c6.3-11.8 9.8-25.1 8.6-39.8c-19.5-18-34-41.4-41.2-67.8c-12.5-8.1-26.2-11.8-40-12.4c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c6.8 12.4 16.7 23.1 30.1 30.3c13.3-4.1 27.5-6.3 42.2-6.3s28.8 2.2 42.2 6.3c13.4-7.2 23.3-17.9 30.1-30.3c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM426.9 310c-7.2 26.4-21.7 49.7-41.2 67.8c-1.2 14.7 2.2 28.1 8.6 39.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-13.8 .6-27.5 4.4-40 12.4z\"]\n};\nvar faChessQueenPiece = {\n prefix: 'fas',\n iconName: 'chess-queen-piece',\n icon: [256, 512, [\"chess-queen-alt\"], \"f446\", \"M104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM229.9 124.9l-41.5 67.5c11.2 2.1 19.6 11.8 19.6 23.6c0 13.3-10.7 24-24 24h-8l19.6 144H60.4L80 240H72c-13.3 0-24-10.7-24-24c0-11.8 8.5-21.5 19.6-23.6L26.1 124.9c-3.7-6-3-13.6 1.6-18.9s12.1-6.9 18.6-4.1c3 1.3 6.3 2.1 9.8 2.1c11.8 0 21.6-8.5 23.6-19.7c1.1-6.3 6-11.4 12.3-12.8s12.8 1.1 16.5 6.4C112.8 84 119.9 88 128 88s15.2-4 19.6-10.1c3.7-5.3 10.2-7.8 16.5-6.4s11.1 6.4 12.3 12.8c2 11.2 11.8 19.7 23.6 19.7c3.5 0 6.8-.7 9.8-2.1c6.4-2.9 13.9-1.2 18.6 4.1s5.3 13 1.6 18.9zM208 416l43.2 57.6c3.1 4.2 4.8 9.2 4.8 14.4c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24c0-5.2 1.7-10.2 4.8-14.4L48 416H208z\"]\n};\nvar faChessQueenAlt = faChessQueenPiece;\nvar faLocationCrosshairs = {\n prefix: 'fas',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c17.7 0 32 14.3 32 32V66.7C368.4 80.1 431.9 143.6 445.3 224H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H445.3C431.9 368.4 368.4 431.9 288 445.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C143.6 431.9 80.1 368.4 66.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H66.7C80.1 143.6 143.6 80.1 224 66.7V32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0zm128-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L275.8 159c-28.4-19.5-62.7-31-99.8-31C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L407 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312zm88 48h0v0l0 0zM64 304a112 112 0 1 1 224 0A112 112 0 1 1 64 304zM368 480c97.2 0 176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L599 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H504c-9.7 0-18.5 5.8-22.2 14.8c-1.2 2.9-1.8 6-1.8 9l0 .2v.2c0 6.2 2.5 12.2 7 16.8l33.4 33.4L480 146.7V168c0 22.6-13.6 43.1-34.6 51.7c-.8 .3-1.7 .7-2.5 1C465.7 241.2 480 270.9 480 304c0 61.9-50.1 112-112 112c-5.4 0-10.8-.4-16-1.1c-12.9 20.4-29.1 38.3-48.1 53.1c19.8 7.8 41.4 12 64 12z\"]\n};\nvar faHousePersonLeave = {\n prefix: 'fas',\n iconName: 'house-person-leave',\n icon: [640, 512, [\"house-leave\", \"house-person-depart\"], \"e00f\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0L379.5 117.2c-32.6 19.5-57.5 50.2-69.6 86.7l-2.6 7.8c-11.2 33.5 6.9 69.8 40.5 81c15.8 5.3 32.2 4 46.3-2.3L361.5 372l-44 44H112c-26.5 0-48-21.5-48-48V256H32c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM128 208v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM528 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM443.7 200.5l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L601 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L567 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5c-1 .4-1.9 .8-2.9 1.2zm-30 135.1c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1l-61.7 61.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L388.7 398l25-62.4z\"]\n};\nvar faHouseLeave = faHousePersonLeave;\nvar faHousePersonDepart = faHousePersonLeave;\nvar faRulerTriangle = {\n prefix: 'fas',\n iconName: 'ruler-triangle',\n icon: [512, 512, [128208], \"f61c\", \"M0 32V448c0 35.3 28.7 64 64 64H480c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6l-51.3-51.3-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24-57.4-57.4-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24-57.4-57.4-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24-57.4-57.4-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24L131.3 83.3l-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24L57.4 9.4C51.4 3.4 43.2 0 34.7 0H32C14.3 0 0 14.3 0 32zM128 256L256 384H128V256z\"]\n};\nvar faCardClub = {\n prefix: 'fas',\n iconName: 'card-club',\n icon: [384, 512, [], \"e3e9\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM130.1 208.3C101.9 211.3 80 235.1 80 264c0 30.9 25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V336H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V303.2c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56c0-28.9-21.9-52.7-50.1-55.7c1.4-5.2 2.1-10.7 2.1-16.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.6 .7 11.1 2.1 16.3z\"]\n};\nvar faChildDress = {\n prefix: 'fas',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M224 64A64 64 0 1 0 96 64a64 64 0 1 0 128 0zM88 400v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h16v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h17.8c10.9 0 18.6-10.7 15.2-21.1l-31.1-93.4 28.6 37.8c10.7 14.1 30.8 16.8 44.8 6.2s16.8-30.7 6.2-44.8L254.6 207c-22.4-29.6-57.5-47-94.6-47s-72.2 17.4-94.6 47L6.5 284.7c-10.7 14.1-7.9 34.2 6.2 44.8s34.2 7.9 44.8-6.2l28.7-37.8L55 378.9C51.6 389.3 59.3 400 70.2 400H88z\"]\n};\nvar faUsersBetweenLines = {\n prefix: 'fas',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M0 24C0 10.7 10.7 0 24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM0 488c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM83.2 160a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 320c0-35.3 28.7-64 64-64h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32zm461.6 32c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H493.6zM391.2 290.4c32.1 7.4 58.1 30.9 68.9 61.6c3.5 10 5.5 20.8 5.5 32c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32c10.5-29.7 35.3-52.8 66.1-60.9c7.8-2.1 16-3.1 24.5-3.1h96c7.4 0 14.7 .8 21.6 2.4zm44-130.4a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM321.6 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M320 0c17.7 0 32 14.3 32 32V156.2c-8.5-7.6-19.7-12.2-32-12.2s-23.5 4.6-32 12.2V32c0-17.7 14.3-32 32-32zM444.5 195.5c-16.4-16.4-41.8-18.5-60.5-6.1V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c18.7-18.7 18.7-49.1 0-67.9c-1.1-1.1-1.4-2-1.5-2.5c-.1-.8-.1-1.8 .4-2.9s1.2-1.9 1.8-2.3c.5-.3 1.3-.8 2.9-.8c26.5 0 48-21.5 48-48s-21.5-48-48-48c-1.6 0-2.4-.4-2.9-.8c-.6-.4-1.3-1.2-1.8-2.3s-.5-2.2-.4-2.9c.1-.6 .4-1.4 1.5-2.5c18.7-18.7 18.7-49.1 0-67.9zM421.8 421.8c-6.2 6.2-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16s16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6zM183.3 491.2l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v24.1c-18.6-12.4-44-10.3-60.5 6.1c-18.7 18.7-18.7 49.1 0 67.9c1.1 1.1 1.4 2 1.5 2.5c.1 .8 .1 1.8-.4 2.9s-1.2 1.9-1.8 2.3c-.5 .3-1.3 .8-2.9 .8c-26.5 0-48 21.5-48 48s21.5 48 48 48c1.6 0 2.4 .4 2.9 .8c.6 .4 1.3 1.2 1.8 2.3s.5 2.2 .4 2.9c-.1 .6-.4 1.4-1.5 2.5c-18.7 18.7-18.7 49.1 0 67.9c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSpinnerThird = {\n prefix: 'fas',\n iconName: 'spinner-third',\n icon: [512, 512, [], \"f3f4\", \"M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'fas',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M548.6 371.4C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c3.6-8.8 6.5-18.4 8.8-27.5c4.6-18.2 7.7-37 9.3-48.2c3.9-26.5-18.8-49.2-45.2-45.4c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-26.5-3.9-49.2 18.8-45.2 45.4c1.6 11.3 4.6 30 9.3 48.2c2.3 9.1 5.2 18.8 8.8 27.5c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3zM107 254.1c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9zm454.5 87.1c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zm-90.1-9.7c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.4 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM281.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\"]\n};\nvar faComputerMouseScrollwheel = {\n prefix: 'fas',\n iconName: 'computer-mouse-scrollwheel',\n icon: [384, 512, [\"mouse-alt\"], \"f8cd\", \"M160 0C71.6 0 0 71.6 0 160V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V160C384 71.6 312.4 0 224 0H160zm64 128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faMouseAlt = faComputerMouseScrollwheel;\nvar faCalendarXmark = {\n prefix: 'fas',\n iconName: 'calendar-xmark',\n icon: [512, 512, [\"calendar-times\"], \"f273\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zM337 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'fas',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z\"]\n};\nvar faTableLayout = {\n prefix: 'fas',\n iconName: 'table-layout',\n icon: [512, 512, [], \"e290\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 96v64H64V96H448zM64 224h64V416H64V224zm384 0V416H192V224H448z\"]\n};\nvar faNarwhal = {\n prefix: 'fas',\n iconName: 'narwhal',\n icon: [640, 512, [], \"f6fe\", \"M639.3 20.7c2.4-7.8-1.4-16.1-8.9-19.4s-16.2-.4-20.2 6.6L516.7 168.3c-16.9-5.4-34.9-8.3-53.6-8.3c-50.9 0-100.7 17.5-140.2 49.6L154.1 346.8c-10.5 8.5-26.1 1.1-26.1-12.4V253.1l29.9-20.9c21.4-15 34.1-39.4 34.1-65.5l0-54.7c0-6-3.3-11.4-8.6-14.2s-11.7-2.3-16.6 1.1L96 148.5 25.2 98.9c-4.9-3.4-11.3-3.8-16.6-1.1S0 106 0 112l0 54.7c0 26.1 12.7 50.6 34.1 65.5L64 253.1V352c0 88.4 71.6 160 160 160H464c97.2 0 176-78.8 176-176c0-51.4-22.3-97.7-57.8-129.9l57-185.4zM496 280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faRampLoading = {\n prefix: 'fas',\n iconName: 'ramp-loading',\n icon: [448, 512, [], \"f4d4\", \"M32 48C32 21.5 53.5 0 80 0H368c26.5 0 48 21.5 48 48V440.4l-64-128V64H96V312.4l-64 128V48zM404.4 488.8c.8 1.5 1.2 3 1.5 4.6c1.5 9.3-5.6 18.6-15.8 18.6H368 80 57.9c-10.2 0-17.4-9.2-15.8-18.6c.3-1.5 .7-3.1 1.5-4.6L96 384l32-64H320l32 64 52.4 104.8z\"]\n};\nvar faCalendarCirclePlus = {\n prefix: 'fas',\n iconName: 'calendar-circle-plus',\n icon: [576, 512, [], \"e470\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM256 368c0-91.8 70.3-167.2 160-175.3V192H0V464c0 26.5 21.5 48 48 48H330.8C285.6 480.1 256 427.5 256 368zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faToothbrush = {\n prefix: 'fas',\n iconName: 'toothbrush',\n icon: [576, 512, [129701], \"f635\", \"M64 224c-35.3 0-64-28.7-64-64s28.7-64 64-64H288c31.2 0 38.2-22.7 39.6-48c.5-8.8 7.6-16.1 16.4-15.2c52.4 5.3 104 36.7 104 95.2c0 53-43 96-96 96H64zm-8 32c13.3 0 24 10.7 24 24V416h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24V416h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24V416h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24V416h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24V416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V280c0-13.3 10.7-24 24-24z\"]\n};\nvar faBorderInner = {\n prefix: 'fas',\n iconName: 'border-inner',\n icon: [448, 512, [], \"f84e\", \"M64 448A32 32 0 1 1 0 448a32 32 0 1 1 64 0zm96 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm0-384A32 32 0 1 1 96 64a32 32 0 1 1 64 0zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zM416 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 352A32 32 0 1 1 0 352a32 32 0 1 1 64 0zM416 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 160A32 32 0 1 1 0 160a32 32 0 1 1 64 0zM0 256c0-17.7 14.3-32 32-32l160 0 0-160c0-17.7 14.3-32 32-32s32 14.3 32 32l0 160 160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0 0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160L32 288c-17.7 0-32-14.3-32-32z\"]\n};\nvar faPawClaws = {\n prefix: 'fas',\n iconName: 'paw-claws',\n icon: [512, 512, [], \"f702\", \"M178.1 15.3C183 9.9 192 13.4 192 20.7V71.2c18.3 9.8 34.3 28.9 42.5 53.6c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5c-4-11.9-5.7-23.9-5.5-35.2h0c0-25.7 9.6-50.6 26.9-69.6l39.2-43.1zm132 206.3c-32.3-10.6-46.9-53.9-32.6-96.8c8.2-24.7 24.2-43.8 42.5-53.6V20.7c0-7.3 9-10.8 13.9-5.4l39.2 43.1c17.3 19 26.9 43.9 26.9 69.6h0c.2 11.3-1.5 23.2-5.5 35.1c-14.3 42.9-52.1 69.1-84.4 58.5zm-209.7 8.9c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3C3.7 267.8-.1 253.3 0 240H0v-3.2c0-13.5 4.3-26.7 12.2-37.6l37.3-51.3c4.6-6.3 14.5-3 14.5 4.7v44.2c13.9 6.1 27.1 17.8 36.4 33.7zM69.2 433.2C121.6 291.9 214.7 256 256 256s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 512 64 491.1 64 465.3v-1.6c0-10.4 1.6-20.7 5.2-30.5zM421.8 314.7c-24.5-14-29.1-51.7-10.2-84.1c9.3-15.9 22.4-27.6 36.4-33.7V152.6c0-7.7 9.9-11 14.5-4.7l37.3 51.3c8 10.9 12.2 24.1 12.2 37.6V240h0c.1 13.3-3.7 27.8-11.6 41.4c-18.9 32.4-54 47.3-78.5 33.3z\"]\n};\nvar faKiwiFruit = {\n prefix: 'fas',\n iconName: 'kiwi-fruit',\n icon: [448, 512, [], \"e30c\", \"M448 176c0 79.5-100.3 144-224 144S0 255.5 0 176S100.3 32 224 32s224 64.5 224 144zM224 64c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zM64 176c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm256 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm-96 56c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V248c0-8.8-7.2-16-16-16zM139.3 92.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm192 0c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6zm-176 150.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16zm160-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zM280 176c0-13.3-25.1-24-56-24s-56 10.7-56 24s25.1 24 56 24s56-10.7 56-24zM224 480C102.4 480 3.4 383.1 .1 262.2c13.2 16.4 29.8 30.7 48.2 42.5C94.7 334.6 156.9 352 224 352s129.3-17.4 175.7-47.3c18.5-11.9 35-26.2 48.2-42.5C444.6 383.1 345.6 480 224 480z\"]\n};\nvar faTrafficLightSlow = {\n prefix: 'fas',\n iconName: 'traffic-light-slow',\n icon: [320, 512, [], \"f639\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm72 368a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm72 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm0-128a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM136 112a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm72 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faRectangleCode = {\n prefix: 'fas',\n iconName: 'rectangle-code',\n icon: [512, 512, [], \"e322\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm294.2 71.9c-8.9 9.9-8.1 25 1.8 33.9L356.1 256l-60.2 54.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72c-9.9-8.9-25-8.1-33.9 1.8zm-78.1 33.9c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L155.9 256l60.2-54.2z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM224 64c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faKeyboardBrightness = {\n prefix: 'fas',\n iconName: 'keyboard-brightness',\n icon: [640, 512, [], \"e1c0\", \"M134.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64zM288 192c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32v96zm153.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64zM0 384c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm224-32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zm320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H544z\"]\n};\nvar faBooksMedical = {\n prefix: 'fas',\n iconName: 'books-medical',\n icon: [576, 512, [], \"f7e8\", \"M64 32C64 14.3 78.3 0 96 0h64c17.7 0 32 14.3 32 32V96H64V32zm0 384H192v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V416zM224 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96H224V32zm0 96H352V384H224V128zm0 288H352v64c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V416zm203.6-19.9L384 232.6V142.8l100.4-26.9 66 247.4L427.6 396.1zM476.2 85L384 109.6V11l36.9-9.9c16.9-4.6 34.4 5.5 38.9 22.6L476.2 85zM435.8 427l122.8-32.9 16.3 61.1c4.5 17-5.5 34.5-22.5 39.1l-61.4 16.5c-16.9 4.6-34.4-5.5-38.9-22.6L435.8 427zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H128v48c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V288H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16H64V176z\"]\n};\nvar faLightbulbSlash = {\n prefix: 'fas',\n iconName: 'lightbulb-slash',\n icon: [640, 512, [], \"f673\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-195-152.8c4.4-6.2 8.9-12.4 13.4-18.6l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0C249.7 0 189.1 41.2 160.8 100.8L38.8 5.1zM213.3 141.9C227.7 96.7 270 64 320 64c8.8 0 16 7.2 16 16s-7.2 16-16 16c-40 0-73.1 29.3-79 67.6l-27.7-21.7zm-60.9 87.9c5.4 16.8 13.2 32.4 23 46.6c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H348.1L152.4 229.8zM240 416v16c0 44.2 35.8 80 80 80s80-35.8 80-80v-7.1L388.7 416H240z\"]\n};\nvar faHouseBlank = {\n prefix: 'fas',\n iconName: 'house-blank',\n icon: [576, 512, [\"home-blank\"], \"e487\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z\"]\n};\nvar faHomeBlank = faHouseBlank;\nvar faSquare5 = {\n prefix: 'fas',\n iconName: 'square-5',\n icon: [448, 512, [], \"e25a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm112 96H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H196l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88c2.1-11.4 12-19.7 23.6-19.7z\"]\n};\nvar faSquareHeart = {\n prefix: 'fas',\n iconName: 'square-heart',\n icon: [448, 512, [128159, \"heart-square\"], \"f4c8\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM99.9 280.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L246.5 384.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L99.9 280.9z\"]\n};\nvar faHeartSquare = faSquareHeart;\nvar faPuzzle = {\n prefix: 'fas',\n iconName: 'puzzle',\n icon: [512, 512, [], \"e443\", \"M320 0H448c35.3 0 64 28.7 64 64V192c0 8.8-7.2 16-16 16H444c-6.6 0-12 5.4-12 12v4c0 17.7-14.3 32-32 32s-32-14.3-32-32v-4c0-6.6-5.4-12-12-12l-36 0c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-8.8 0-16-7.2-16-16V16c0-8.8 7.2-16 16-16zM0 256V128C0 92.7 28.7 64 64 64H192c8.8 0 16 7.2 16 16v36c0 6.6 5.4 12 12 12h4c17.7 0 32 14.3 32 32s-14.3 32-32 32h-4c-6.6 0-12 5.4-12 12v52c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V240c0-17.7-14.3-32-32-32s-32 14.3-32 32v16c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM0 448V320c0-8.8 7.2-16 16-16H192c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H64c-35.3 0-64-28.7-64-64zM240 320c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v16c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16V448c0 35.3-28.7 64-64 64H256c-8.8 0-16-7.2-16-16V320z\"]\n};\nvar faUserGear = {\n prefix: 'fas',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faUserCog = faUserGear;\nvar faPipeCircleCheck = {\n prefix: 'fas',\n iconName: 'pipe-circle-check',\n icon: [640, 512, [], \"e436\", \"M32 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm448 0c17.7 0 32 14.3 32 32v64.7c-5.3-.5-10.6-.7-16-.7c-16.6 0-32.7 2.3-48 6.6V128c0-17.7 14.3-32 32-32zM320 368c0 5.4 .2 10.7 .7 16H96V128H416v83.2c-57 29.1-96 88.4-96 156.8zm32 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faArrowUp19 = {\n prefix: 'fas',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M450.7 38c8.3 6 13.3 15.7 13.3 26v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V108.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zM160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM445.7 364.9A32 32 0 1 0 418.3 307a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faOctagonExclamation = {\n prefix: 'fas',\n iconName: 'octagon-exclamation',\n icon: [512, 512, [], \"e204\", \"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDialLow = {\n prefix: 'fas',\n iconName: 'dial-low',\n icon: [576, 512, [], \"e15d\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-.4 447.6c-80.2 0-146.6-59-158.2-136l158.2 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-158.2 0c11.6-77 78-136 158.2-136c88.4 0 160 71.6 160 160s-71.6 160-160 160zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M96 64c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V448h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 144 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96V64zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLaptopMobile = {\n prefix: 'fas',\n iconName: 'laptop-mobile',\n icon: [640, 512, [\"phone-laptop\"], \"f87a\", \"M128 0C92.7 0 64 28.7 64 64V288H19.2C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384H352V288H128V64H448V96h64V64c0-35.3-28.7-64-64-64H128zM448 448V192H576V448H448zM384 176V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48z\"]\n};\nvar faPhoneLaptop = faLaptopMobile;\nvar faConveyorBeltBoxes = {\n prefix: 'fas',\n iconName: 'conveyor-belt-boxes',\n icon: [640, 512, [\"conveyor-belt-alt\"], \"f46f\", \"M64 32C64 14.3 78.3 0 96 0H288c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V32zM384 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V96zM0 416c0-53 43-96 96-96H544c53 0 96 43 96 96s-43 96-96 96H96c-53 0-96-43-96-96zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faConveyorBeltAlt = faConveyorBeltBoxes;\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 112c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C334.5 200.1 351 240 384 240c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C311.9 334.5 272 351 272 384c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C177.5 311.9 161 272 128 272c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C200.1 177.5 240 161 240 128c0-8.8 7.2-16 16-16zM232 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faStarfighterTwinIonEngineAdvanced = {\n prefix: 'fas',\n iconName: 'starfighter-twin-ion-engine-advanced',\n icon: [640, 512, [\"starfighter-alt-advanced\"], \"e28e\", \"M148.8 7.7c13.4 11.5 15 31.7 3.5 45.1L64 155.8v61.8l107.6-21.5C195.3 137.4 252.8 96 320 96s124.7 41.4 148.4 100.1L576 217.6V148.5L488.5 53.7c-12-13-11.2-33.2 1.8-45.2s33.2-11.2 45.2 1.8L623 105.1c10.9 11.8 17 27.3 17 43.4V348.8c0 14.5-4.9 28.6-14 40L537 500c-11 13.8-31.2 16-45 5s-16-31.2-5-45l89-111.2V294.4L468.4 315.9C444.7 374.6 387.2 416 320 416s-124.7-41.4-148.4-100.1L64 294.4v61.8l88.3 103c11.5 13.4 9.9 33.6-3.5 45.1s-33.6 9.9-45.1-3.5l-88.3-103C5.5 386.2 0 371.4 0 356.2V155.8c0-15.3 5.5-30.1 15.4-41.7l88.3-103c11.5-13.4 31.7-15 45.1-3.5zM304 350.7V318c-5.9-1.5-11.4-3.8-16.5-6.8l-23.1 23.1c11.6 8.2 25 14 39.6 16.4zm-62.3-39l23.1-23.1c-3-5.1-5.3-10.6-6.8-16.5H225.3c2.4 14.6 8.2 28.1 16.4 39.6zM225.3 240H258c1.5-5.9 3.8-11.4 6.8-16.5l-23.1-23.1c-8.2 11.6-14 25-16.4 39.6zm39-62.3l23.1 23.1c5.1-3 10.6-5.3 16.5-6.8V161.3c-14.6 2.4-28.1 8.2-39.6 16.4zM375.6 334.3l-23.1-23.1c-5.1 3-10.6 5.3-16.5 6.8v32.7c14.6-2.4 28.1-8.2 39.6-16.4zm22.6-22.6c8.2-11.6 14-25 16.4-39.6H382c-1.5 5.9-3.8 11.4-6.8 16.5l23.1 23.1zM382 240h32.7c-2.4-14.6-8.2-28.1-16.4-39.6l-23.1 23.1c3 5.1 5.3 10.6 6.8 16.5zm-6.4-62.3c-11.6-8.2-25-14-39.6-16.4V194c5.9 1.5 11.4 3.8 16.5 6.8l23.1-23.1zM342.8 278.5c5.7-5.8 9.2-13.7 9.2-22.5c0-17.7-14.3-32-32-32l0 0 0 0c-17.7 0-32 14.3-32 32c0 17.7 14.3 32 32 32c8.8 0 16.7-3.5 22.5-9.2l.3-.3z\"]\n};\nvar faStarfighterAltAdvanced = faStarfighterTwinIonEngineAdvanced;\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faStarfighterTwinIonEngine = {\n prefix: 'fas',\n iconName: 'starfighter-twin-ion-engine',\n icon: [576, 512, [\"starfighter-alt\"], \"e038\", \"M32 32c17.7 0 32 14.3 32 32V211.2l75.6-15.1C163.3 137.4 220.8 96 288 96s124.7 41.4 148.4 100.1L512 211.2V64c0-17.7 14.3-32 32-32s32 14.3 32 32V224v64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V300.8l-75.6 15.1C412.7 374.6 355.2 416 288 416s-124.7-41.4-148.4-100.1L64 300.8V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 224 64C0 46.3 14.3 32 32 32zM272 350.7V318c-5.9-1.5-11.4-3.8-16.5-6.8l-23.1 23.1c11.6 8.2 25 14 39.6 16.4zm-62.3-39l23.1-23.1c-3-5.1-5.3-10.6-6.8-16.5H193.3c2.4 14.6 8.2 28.1 16.4 39.6zM193.3 240H226c1.5-5.9 3.8-11.4 6.8-16.5l-23.1-23.1c-8.2 11.6-14 25-16.4 39.6zm39-62.3l23.1 23.1c5.1-3 10.6-5.3 16.5-6.8V161.3c-14.6 2.4-28.1 8.2-39.6 16.4zM343.6 334.3l-23.1-23.1c-5.1 3-10.6 5.3-16.5 6.8v32.7c14.6-2.4 28.1-8.2 39.6-16.4zm22.6-22.6c8.2-11.6 14-25 16.4-39.6H350c-1.5 5.9-3.8 11.4-6.8 16.5l23.1 23.1zM350 240h32.7c-2.4-14.6-8.2-28.1-16.4-39.6l-23.1 23.1c3 5.1 5.3 10.6 6.8 16.5zm-6.4-62.3c-11.6-8.2-25-14-39.6-16.4V194c5.9 1.5 11.4 3.8 16.5 6.8l23.1-23.1zM310.8 278.5c5.7-5.8 9.2-13.7 9.2-22.5c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32c8.8 0 16.7-3.5 22.5-9.2l.3-.3z\"]\n};\nvar faStarfighterAlt = faStarfighterTwinIonEngine;\nvar faRocketLaunch = {\n prefix: 'fas',\n iconName: 'rocket-launch',\n icon: [512, 512, [128640], \"e027\", \"M117.8 128H207C286.9-3.7 409.5-8.5 483.9 5.3c11.6 2.2 20.7 11.2 22.8 22.8c13.8 74.4 9 197-122.7 276.9v89.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9l0-114.7c0-22.6-9-44.3-25-60.3s-37.7-25-60.3-25H24c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3zM424 128a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM166.5 470C132.3 504.3 66 511 28.3 511.9c-16 .4-28.6-12.2-28.2-28.2C1 446 7.7 379.7 42 345.5c34.4-34.4 90.1-34.4 124.5 0s34.4 90.1 0 124.5zm-46.7-36.4c11.4-11.4 11.4-30 0-41.4s-30-11.4-41.4 0c-10.1 10.1-13 28.5-13.7 41.3c-.5 8 5.9 14.3 13.9 13.9c12.8-.7 31.2-3.7 41.3-13.7z\"]\n};\nvar faMosquitoNet = {\n prefix: 'fas',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4V242.2L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5V137.9c0-14.9 10.1-27.3 23.8-31V63.7c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2V107c13.7 3.6 23.8 16.1 23.8 31v22.6l45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-21.7 0-40 14.3-45.9 34.1c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35v23.1l32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6v50c0 17.7-14.3 32-32 32s-32-14.3-32-32v-50l-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM512 256c8.8 0 16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H528v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H448v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V400H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V320H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16zm16 112h48V320H528v48zm0 80h48V400H528v48zM448 320v48h48V320H448zm0 80v48h48V400H448z\"]\n};\nvar faVentDamper = {\n prefix: 'fas',\n iconName: 'vent-damper',\n icon: [640, 512, [], \"e465\", \"M64 128c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64v32h32c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H576v32c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V352H32c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32H64V128zm120 16c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBridgeWater = {\n prefix: 'fas',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M0 96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v35.6c0 15.7-12.7 28.4-28.4 28.4c-37.3 0-67.6 30.2-67.6 67.6V352.5c-12.9 0-25.8 3.9-36.8 11.7c-18 12.4-40.1 20.3-59.2 20.3h0l0-.5V256c0-53-43-96-96-96s-96 43-96 96V384l0 .5c-19 0-41.2-7.9-59.1-20.3c-11.1-7.8-24-11.7-36.9-11.7V227.6C96 190.2 65.8 160 28.4 160C12.7 160 0 147.3 0 131.6V96zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faBanBug = {\n prefix: 'fas',\n iconName: 'ban-bug',\n icon: [512, 512, [\"debug\"], \"f7f9\", \"M256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2L367.2 412.5C335.9 434.9 297.5 448 256 448zm89-148.3l19.9 4c8.7 1.7 17.1-3.9 18.8-12.6s-3.9-17.1-12.6-18.8l-35.1-7V246.7l35.1-7c8.7-1.7 14.3-10.2 12.6-18.8s-10.2-14.3-18.8-12.6l-29.5 5.9c-1.1-9.2-3.8-17.8-7.7-25.8l24.5-14.7c7.6-4.5 10-14.4 5.5-22s-14.4-10-22-5.5L307.8 163c-14-11.9-32.1-19-51.8-19c-18.7 0-35.9 6.4-49.6 17.2L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2L345 299.7zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM140.9 272.3c-8.7 1.7-14.3 10.2-12.6 18.8s10.2 14.3 18.8 12.6l29.5-5.9c1.1 9.2 3.8 17.8 7.7 25.8l-24.5 14.7c-7.6 4.5-10 14.4-5.5 22s14.4 10 22 5.5L204.2 349c14 11.9 32.1 19 51.8 19c6.6 0 13-.8 19.2-2.3L175 265.5l-34.1 6.8z\"]\n};\nvar faDebug = faBanBug;\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64V32zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM224 512c17.7 0 32-14.3 32-32V320H192V480c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6L288.6 409.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4c17.7 0 32-14.3 32-32c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM112 80A48 48 0 1 0 16 80a48 48 0 1 0 96 0zm0 261.3V269.3l4.7 4.7c9 9 21.2 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H157.3l-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6v55.7l0 .9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384l32 42.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V421.3c0-10.4-3.4-20.5-9.6-28.8L112 341.3z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M64 128V96H192l0 128H176c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256l0-128H384v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H224 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V416H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H128V320c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64z\"]\n};\nvar faGarageCar = {\n prefix: 'fas',\n iconName: 'garage-car',\n icon: [640, 512, [], \"e00a\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM254.3 293.4L242.2 328H397.8l-12.1-34.6c-1.1-3.2-4.2-5.4-7.6-5.4H261.8c-3.4 0-6.4 2.2-7.6 5.4zM188.9 335L209 277.5c7.9-22.5 29.1-37.5 52.9-37.5H378.2c23.8 0 45 15.1 52.9 37.5L451.1 335c17.2 9.5 28.9 27.9 28.9 49v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V464H224v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-21.1 11.7-39.5 28.9-49zM240 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSquareKanban = {\n prefix: 'fas',\n iconName: 'square-kanban',\n icon: [448, 512, [], \"e488\", \"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zm-64-96c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32s32 14.3 32 32l0 192c0 17.7-14.3 32-32 32zM256 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 64zM128 320c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32s32 14.3 32 32l0 128c0 17.7-14.3 32-32 32z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M64 416L168.6 180.7c15.3-34.4 40.3-63.5 72-83.7l146.9-94c3-1.9 6.5-2.9 10-2.9C407.7 0 416 8.3 416 18.6v1.6c0 2.6-.5 5.1-1.4 7.5L354.8 176.9c-1.9 4.7-2.8 9.7-2.8 14.7c0 5.5 1.2 11 3.4 16.1L448 416H240.9l11.8-35.4 40.4-13.5c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-40.4-13.5-13.5-40.4C237 276.4 230.9 272 224 272s-13 4.4-15.2 10.9l-13.5 40.4-40.4 13.5C148.4 339 144 345.1 144 352s4.4 13 10.9 15.2l40.4 13.5L207.1 416H64zM279.6 141.5c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2zM32 448H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M373.5 27.1C388.5 9.9 410.2 0 433 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6L277.7 319l-10.3-10.3-64-64L193 234.3 373.5 27.1zM170.3 256.9l10.4 10.4 64 64 10.4 10.4-19.2 83.4c-3.9 17.1-16.9 30.7-33.8 35.4L24.4 510.3l95.4-95.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L1.7 487.6 51.5 310c4.7-16.9 18.3-29.9 35.4-33.8l83.4-19.2z\"]\n};\nvar faCoffeePot = {\n prefix: 'fas',\n iconName: 'coffee-pot',\n icon: [512, 512, [], \"e002\", \"M64 128c0-17.7 14.3-32 32-32h12.8l34 84.9C95 215.9 64 272.3 64 336v8c0 55.5 34.6 99.4 55.9 121.2c9.9 10.2 23.9 14.8 38.1 14.8H418c14.2 0 28.1-4.7 38.1-14.8C477.4 443.4 512 399.5 512 344v-8c0-63.7-31-120.1-78.8-155.1L478.1 68.8c1.3-3.2 1.9-6.6 1.9-10C480 44 468 32 453.2 32H192 122.8 96C43 32 0 75 0 128v64c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm65 192c5.2-41.4 30.1-76.6 65-96H382c34.9 19.4 59.8 54.6 65 96H129z\"]\n};\nvar faMouseField = {\n prefix: 'fas',\n iconName: 'mouse-field',\n icon: [512, 512, [], \"e5a8\", \"M396.4 112.9C398.8 105 400 96.6 400 88c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 29.9 14.9 56.3 37.6 72.2C169.5 164.3 96 240.4 96 333.6c0 12.3 2.7 24 7.5 34.4H72c-39.8 0-72 32.2-72 72s32.2 72 72 72H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24s10.7-24 24-24H178.4 232h8 19H382.6c18.5 0 33.4-15 33.4-33.4c0-14.1-8.8-26.6-22-31.4l-43.7-15.9 23.8-63.5c2 .1 4 .2 6 .2H482.9c16.1 0 29.1-13 29.1-29.1c0-41.5-19.3-78.4-49.4-102.4C473.5 125.8 480 107.7 480 88c0-46.4-35.9-84.4-81.4-87.8C419.2 20.6 432 48.8 432 80c0 13.9-2.5 27.2-7.2 39.5c-9.1-3.2-18.6-5.5-28.4-6.6zM400 196a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zM312 48c22.1 0 40 17.9 40 40v24c0 8.8-7.2 16-16 16H312c-22.1 0-40-17.9-40-40s17.9-40 40-40z\"]\n};\nvar faPersonDigging = {\n prefix: 'fas',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM9.8 214.8c5.1-12.2 19.1-18 31.4-12.9L60.7 210l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7 79.3 33.1 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H288c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7h32l22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4zm82.8 91.8l112 48c11.8 5 19.4 16.6 19.4 29.4v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V405.1l-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33 32 13.7z\"]\n};\nvar faDigging = faPersonDigging;\nvar faShowerDown = {\n prefix: 'fas',\n iconName: 'shower-down',\n icon: [384, 512, [\"shower-alt\"], \"e24d\", \"M192 0c17.7 0 32 14.3 32 32v3.2C297 50 352 114.6 352 192c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32C32 114.6 87 50 160 35.2V32c0-17.7 14.3-32 32-32zm52.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4zm-82.2-85.6l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1zm146.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4zM98.7 465.7l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1zM52.8 295.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"]\n};\nvar faShowerAlt = faShowerDown;\nvar faBoxCircleCheck = {\n prefix: 'fas',\n iconName: 'box-circle-check',\n icon: [576, 512, [], \"e0c4\", \"M93.7 32H208V160H0L50.7 58.5C58.9 42.3 75.5 32 93.7 32zM240 32H354.3c18.2 0 34.8 10.3 42.9 26.5L448 160H416 240V32zM0 416V192H416v.7c-89.7 8.1-160 83.5-160 175.3c0 42.5 15.1 81.6 40.2 112H64c-35.3 0-64-28.7-64-64zm288-48a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faBrightness = {\n prefix: 'fas',\n iconName: 'brightness',\n icon: [512, 512, [], \"e0c9\", \"M224 80V32c0-17.7 14.3-32 32-32s32 14.3 32 32V80c0 17.7-14.3 32-32 32s-32-14.3-32-32zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM0 256c0-17.7 14.3-32 32-32H80c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zm432-32h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H432c-17.7 0-32-14.3-32-32s14.3-32 32-32zM256 512c-17.7 0-32-14.3-32-32V432c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 17.7-14.3 32-32 32zM73.4 438.6c-12.5-12.5-12.5-32.8 0-45.3l32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32c-12.5 12.5-32.8 12.5-45.3 0zm288-333.3l32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm77.3 333.3c-12.5 12.5-32.8 12.5-45.3 0l-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32c12.5 12.5 12.5 32.8 0 45.3zm-333.3-288l-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]\n};\nvar faCarSideBolt = {\n prefix: 'fas',\n iconName: 'car-side-bolt',\n icon: [640, 512, [], \"e344\", \"M82.2 92.3L40.6 196.4C16.8 205.8 0 228.9 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-65.2-48.8-119-111.8-127L428.2 68c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3zM480 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM114.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zM331.2 100.6c5.3 5.2 6.3 13.3 2.5 19.6L300.3 176H352c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L243.7 208H192c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2z\"]\n};\nvar faOrnament = {\n prefix: 'fas',\n iconName: 'ornament',\n icon: [384, 512, [], \"f7b8\", \"M192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm55.4 64c5.4-9.4 8.6-20.3 8.6-32c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 11.7 3.1 22.6 8.6 32H128c-17.7 0-32 14.3-32 32v25.7C66.9 170.5 42.5 194.9 25.7 224H358.3c-16.9-29.1-41.2-53.5-70.3-70.3V128c0-17.7-14.3-32-32-32h-8.6zM0 320c0 22.4 3.8 44 10.9 64H373.1c7.1-20 10.9-41.6 10.9-64s-3.8-44-10.9-64H10.9C3.8 276 0 297.6 0 320zm25.7 96c33.2 57.4 95.2 96 166.3 96s133.1-38.6 166.3-96H25.7z\"]\n};\nvar faPhoneArrowDownLeft = {\n prefix: 'fas',\n iconName: 'phone-arrow-down-left',\n icon: [512, 512, [\"phone-arrow-down\", \"phone-incoming\"], \"e223\", \"M505 41l-135 135H416c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24v46.1L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"]\n};\nvar faPhoneArrowDown = faPhoneArrowDownLeft;\nvar faPhoneIncoming = faPhoneArrowDownLeft;\nvar faCloudWord = {\n prefix: 'fas',\n iconName: 'cloud-word',\n icon: [640, 512, [], \"e138\", \"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336zm512 32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16zM240 352c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96zM128 304c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm272-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHandFingersCrossed = {\n prefix: 'fas',\n iconName: 'hand-fingers-crossed',\n icon: [384, 512, [], \"e1a3\", \"M93 18.5l17.3 37.2L75 131.3 35 45.5c-7.5-16-.5-35.1 15.5-42.5s35.1-.5 42.5 15.5zM150.6 272l0 0H152c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64H80l0 0h35.3l0 0h35.3zM192 252.1c-8-5.4-17.2-9.2-27-11L181 207l11 23.7v21.5zM130.2 240H59.6L163 18.5c7.5-16 26.5-22.9 42.5-15.5s22.9 26.5 15.5 42.5L130.2 240zM224 192c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm96 32c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224z\"]\n};\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z\"]\n};\nvar faGaugeSimple = {\n prefix: 'fas',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faArrowDownSmallBig = {\n prefix: 'fas',\n iconName: 'arrow-down-small-big',\n icon: [576, 512, [\"sort-size-down-alt\"], \"f88d\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM320 80v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48zm48 176c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H368z\"]\n};\nvar faSortSizeDownAlt = faArrowDownSmallBig;\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM208 112v48H160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFaceMelting = {\n prefix: 'fas',\n iconName: 'face-melting',\n icon: [640, 512, [129760], \"e483\", \"M571.4 304.8c-4.5 23.2 11.8 47.2 35.4 47.2H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H44.9c36.8 0 58.4-50.7 42.9-84.1C72.5 331.1 64 294.5 64 256C64 114.6 178.6 0 320 0S576 114.6 576 256c0 16.7-1.6 33-4.6 48.8zM247.2 219.9a32 32 0 1 0 16.6-61.8 32 32 0 1 0 -16.6 61.8zM441 238.7a32 32 0 1 0 -61.8-16.6A32 32 0 1 0 441 238.7zM213.2 299.4c-3.9-7.9-13.4-11.3-21.4-7.4s-11.3 13.4-7.4 21.4c14.8 30.5 45.1 67.5 98.3 81.7s97.9-2.6 126-21.7c7.3-5 9.2-14.9 4.3-22.2s-14.9-9.2-22.2-4.3c-22.7 15.4-57.9 28.5-99.8 17.2s-65.8-40.2-77.8-64.8z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80H160c-35.3 0-64 28.7-64 64c0 19.1 8.4 36.3 21.7 48H104c-39.8 0-72 32.2-72 72c0 23.2 11 43.8 28 57c-34.1 5.7-60 35.3-60 71c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72c0-35.7-25.9-65.3-60-71c17-13.2 28-33.8 28-57c0-39.8-32.2-72-72-72H394.3c13.3-11.7 21.7-28.9 21.7-48c0-35.3-28.7-64-64-64h-5.5c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64 108.3c0 2.4-.7 4.8-2.2 6.7c-8.2 10.5-39.5 45-93.8 45s-85.6-34.6-93.8-45c-1.5-1.9-2.2-4.3-2.2-6.7c0-6.8 5.5-12.3 12.3-12.3H339.7c6.8 0 12.3 5.5 12.3 12.3z\"]\n};\nvar faPenClipSlash = {\n prefix: 'fas',\n iconName: 'pen-clip-slash',\n icon: [640, 512, [\"pen-alt-slash\"], \"e20f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296l55-55 17-17-1-1-16-16-96-96-17-17L338.9 81c-28.1-28.1-73.7-28.1-101.8 0l-44.6 44.6L38.8 5.1zM230.5 155.4L271 114.9c9.4-9.4 24.6-9.4 33.9 0L318.1 128l-53.8 53.8-33.7-26.4zm-67 127.1c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l47.7-47.7L195.8 250.3l-32.3 32.3zM517.3 19.3c-25-25-65.5-25-90.5 0L374.6 71.4l17 17 96 96 16 16 0 0 1 1 0 0 52.1-52.1c25-25 25-65.5 0-90.5L517.3 19.3z\"]\n};\nvar faPenAltSlash = faPenClipSlash;\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72zm-256 0c0 66.3-53.7 120-120 120H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c30.9 0 56-25.1 56-56v-8H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72z\"]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faScrollOld = {\n prefix: 'fas',\n iconName: 'scroll-old',\n icon: [576, 512, [], \"f70f\", \"M48 32c26.5 0 48 21.5 48 48v80H48 32c-17.7 0-32-14.3-32-32V80C0 53.5 21.5 32 48 32zm80 48c0-18-6-34.6-16-48H384c51.4 0 93.4 40.5 95.9 91.3c-.4 3.5-2 6.9-4.6 9.4l-21.7 21.7c-3.1 3.1-3.1 8.2 0 11.3l21.7 21.7c3 3 4.7 7.1 4.7 11.3V200v16 1.4c0 4.2-1.7 8.3-4.7 11.3l-21.7 21.7c-3.1 3.1-3.1 8.2 0 11.3l21.7 21.7c3 3 4.7 7.1 4.7 11.3V296v24H314.7c-32.4 0-58.7 26.3-58.7 58.7V384c0 35.3-28.7 64-64 64s-64-28.7-64-64V264v-1.4c0-4.2 1.7-8.3 4.7-11.3l21.7-21.7c3.1-3.1 3.1-8.2 0-11.3l-21.7-21.7c-3-3-4.7-7.1-4.7-11.3V184 80zM576 368c0 61.9-50.1 112-112 112H368 192c53 0 96-43 96-96v-5.3c0-14.7 11.9-26.7 26.7-26.7H344h1.4c4.2 0 8.3 1.7 11.3 4.7l21.7 21.7c3.1 3.1 8.2 3.1 11.3 0l21.7-21.7c3-3 7.1-4.7 11.3-4.7H424 560c8.8 0 16 7.2 16 16z\"]\n};\nvar faGuitars = {\n prefix: 'fas',\n iconName: 'guitars',\n icon: [512, 512, [], \"f8bf\", \"M104 0h48c13.3 0 24 10.7 24 24V76.2c0 6.2-1.4 12.3-4.2 17.9L152 133.7V178c50.3 8.6 88 43.8 88 86c0 14-4.2 27.3-11.6 39.1c-8.2 13-7.5 32 2.9 43.4c5.9 6.5 10.9 13.7 14.8 21.3c-2.3 4.9-4.7 9.6-7 13.9c-8.8 16.3-15 35.6-15 56.5c0 11.6 1.9 22.8 5.4 33.3C205.9 496.1 169.3 512 128 512C57.3 512 0 465.4 0 408c0-23 9.2-44.3 24.8-61.5c10.3-11.4 11.1-30.4 2.9-43.4C20.2 291.3 16 278 16 264c0-42.1 37.7-77.3 88-86V133.7L84.2 94.1C81.4 88.6 80 82.4 80 76.2V24C80 10.7 90.7 0 104 0zm24 344a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM360 148.6l-21.4-24.5c-6.6-7.6-9.3-17.9-7.2-27.8l13.9-64.8C349.2 13.1 365.4 0 384.2 0c22 0 39.8 17.8 39.8 39.8v4.6c0 12.4-6.4 23.3-16 29.7V238.9c27.9-4.2 39.6-19.4 44.5-31.3c3.3-8.2 10.7-15.5 19.5-15.5s16 7.2 16 16v29.3c0 11.6-4.8 22.8-9.3 33.5l-.5 1.1c-3.3 7.8-6.2 18.5-6.2 32.1c0 33.5 17 70.9 28.8 92.9c6.9 12.7 11.2 26.9 11.2 41.3c0 40.8-33 73.8-73.8 73.8H329.8C289 512 256 479 256 438.2c0-14.5 4.3-28.6 11.2-41.3C279 374.9 296 337.5 296 304c0-11.2-2-20.5-4.5-27.8c-.9-2.5-1.8-5-2.7-7.5l0 0 0 0c-4.3-11.8-8.8-23.8-8.8-36.2V192c0-8.8 7.2-16 16-16s16.1 7.2 18.2 15.8c3.9 16.4 14.9 40.5 45.8 46.7V148.6zM336 320c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPhoneXmark = {\n prefix: 'fas',\n iconName: 'phone-xmark',\n icon: [640, 512, [], \"e227\", \"M181.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L208 207.3c33.3 70.4 90.3 127.4 160.7 160.7L409 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C545.8 499.9 530 512 512 512C264.6 512 64 311.4 64 64c0-18 12.1-33.8 29.5-38.6l88-24zM399 15c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47L399 49c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faHose = {\n prefix: 'fas',\n iconName: 'hose',\n icon: [448, 512, [], \"e419\", \"M288 104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.3l80.2-11.5C417.3 98 423.9 104 432 104c8.8 0 16-7.2 16-16V40c0-8.8-7.2-16-16-16c-8.1 0-14.7 6-15.8 13.7L336 26.3V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80zM64 176c0-44.2 35.8-80 80-80H256V32H144C64.5 32 0 96.5 0 176s64.5 144 144 144H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-44.2 0-80-35.8-80-80zM32 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faClockSix = {\n prefix: 'fas',\n iconName: 'clock-six',\n icon: [512, 512, [], \"e352\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faShirt = {\n prefix: 'fas',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z\"]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faBillboard = {\n prefix: 'fas',\n iconName: 'billboard',\n icon: [640, 512, [], \"e5cd\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32H256c0-17.7-14.3-32-32-32s-32 14.3-32 32H80C53.5 32 32 53.5 32 80V352c-17.7 0-32 14.3-32 32s14.3 32 32 32H80 288v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416H560h48c17.7 0 32-14.3 32-32s-14.3-32-32-32V80c0-26.5-21.5-48-48-48H448zM320 352H96V96h96v32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V96H384v32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V96h96V352H320z\"]\n};\nvar faSquareR = {\n prefix: 'fas',\n iconName: 'square-r',\n icon: [448, 512, [], \"e27c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H256c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L220 288H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24zm80 112h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H176v64h56z\"]\n};\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M290.8 48.6l78.4 29.7L288 109.5 206.8 78.3l78.4-29.7c1.8-.7 3.8-.7 5.7 0zM136 92.5V204.7c-1.3 .4-2.6 .8-3.9 1.3l-96 36.4C14.4 250.6 0 271.5 0 294.7V413.9c0 22.2 13.1 42.3 33.5 51.3l96 42.2c14.4 6.3 30.7 6.3 45.1 0L288 457.5l113.5 49.9c14.4 6.3 30.7 6.3 45.1 0l96-42.2c20.3-8.9 33.5-29.1 33.5-51.3V294.7c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-1.3-.5-2.6-.9-3.9-1.3V92.5c0-23.3-14.4-44.1-36.1-52.4l-96-36.4c-12.8-4.8-26.9-4.8-39.7 0l-96 36.4C150.4 48.4 136 69.3 136 92.5zM392 210.6l-82.4 31.2V152.6L392 121v89.6zM154.8 250.9l78.4 29.7L152 311.7 70.8 280.6l78.4-29.7c1.8-.7 3.8-.7 5.7 0zm18.8 204.4V354.8L256 323.2v95.9l-82.4 36.2zM421.2 250.9c1.8-.7 3.8-.7 5.7 0l78.4 29.7L424 311.7l-81.2-31.1 78.4-29.7zM523.2 421.2l-77.6 34.1V354.8L528 323.2v90.7c0 3.2-1.9 6-4.8 7.3z\"]\n};\nvar faEnvelopeOpenDollar = {\n prefix: 'fas',\n iconName: 'envelope-open-dollar',\n icon: [512, 512, [], \"f657\", \"M215.4 96H144 107.8 96v8.8V144v40.4 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3V96c0-26.5 21.5-48 48-48h76.6l49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48H416c26.5 0 48 21.5 48 48v44.3l22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4v-89V144 104.8 96H404.2 368 296.6 215.4zM0 448V242.1L217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1V448v0c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v0zM276 136v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4l0 0c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M272 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 320a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 288c17.7 0 32-14.3 32-32s-14.3-32-32-32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H400z\"]\n};\nvar faSunCloud = {\n prefix: 'fas',\n iconName: 'sun-cloud',\n icon: [640, 512, [127780], \"f763\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2l-20.1 29.1C481 193 472.6 192 464 192c-32.9 0-62.4 14.2-82.9 36.7C368.6 171.1 317.3 128 256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c12.4 0 24.5-1.8 35.8-5.1c11.3 38.8 46.5 67.5 88.7 69l-9.4 51c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM352 256c0 1.9-.1 3.7-.2 5.5c-35.6 12.6-61.5 45.6-63.7 85c-10.1 3.6-20.9 5.5-32.2 5.5c-53 0-96-43-96-96s43-96 96-96s96 43 96 96zm32 160c-35.3 0-64-28.7-64-64s28.7-64 64-64c.5 0 1.1 0 1.6 0c7.4-36.5 39.7-64 78.4-64c35 0 64.8 22.5 75.6 53.8c8.7-3.7 18.3-5.8 28.4-5.8c39.8 0 72 32.2 72 72s-32.2 72-72 72H384z\"]\n};\nvar faLampFloor = {\n prefix: 'fas',\n iconName: 'lamp-floor',\n icon: [640, 512, [], \"e015\", \"M194.3 20.1C199.1 8 210.9 0 224 0H416c13.1 0 24.9 8 29.7 20.1l64 160c3.9 9.9 2.7 21-3.2 29.8s-15.9 14.1-26.5 14.1H160c-10.6 0-20.5-5.3-26.5-14.1s-7.2-20-3.2-29.8l64-160zM288 256h64V448h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64V256z\"]\n};\nvar faSquare7 = {\n prefix: 'fas',\n iconName: 'square-7',\n icon: [448, 512, [], \"e25c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H296c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTengeSign = {\n prefix: 'fas',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 64C0 46.3 14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM0 192c0-17.7 14.3-32 32-32H192 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80V384 336 288C0 146.6 114.6 32 256 32s256 114.6 256 256v48 48 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z\"]\n};\nvar faHandsHolding = {\n prefix: 'fas',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faCampfire = {\n prefix: 'fas',\n iconName: 'campfire',\n icon: [512, 512, [], \"f6ba\", \"M232.2 3.4c-2.5-2.3-5.6-3.4-8.8-3.4c-3.2 0-6.4 1.1-9 3.4c-29.9 27-55.3 57.7-73.2 87.1c-17.7 29-29.2 60.2-29.2 84.2C112 254.5 175.3 320 256 320c79.9 0 144-65.5 144-145.3c0-18.3-8.7-46.3-21.7-71.8C365 77 346.2 49.7 323.9 29.1c-5-4.7-12.9-4.7-18 0c-8.7 8-16.7 17.8-23.8 26.8C266.6 37 250 19.6 232.2 3.4zM301 248.2c-13.5 9.1-27.9 13.6-44.1 13.6c-40.5 0-72.9-26.4-72.9-70.9c0-21.8 13.5-40.9 40.5-74.5c3.6 4.5 55.8 71.8 55.8 71.8L312.7 150c2.7 3.6 4.5 7.3 6.3 10.9c16.2 30 9 68.2-18 87.3zM42.8 289.9c-16.6-5.9-35 2.7-40.9 19.4s2.7 35 19.4 40.9L160.9 400 21.2 449.9C4.6 455.8-4.1 474.1 1.9 490.8s24.3 25.3 40.9 19.4L256 434l213.2 76.2c16.6 5.9 35-2.7 40.9-19.4s-2.7-35-19.4-40.9L351.1 400l139.6-49.9c16.6-5.9 25.3-24.3 19.4-40.9s-24.3-25.3-40.9-19.4L256 366 42.8 289.9z\"]\n};\nvar faCircleAmpersand = {\n prefix: 'fas',\n iconName: 'circle-ampersand',\n icon: [512, 512, [], \"e0f8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 191.6c0 4.1 1.6 8.1 4.6 11L235 217.1l23.6-17.3c3.4-2.5 5.4-6.4 5.4-10.6c0-7.3-5.9-13.2-13.2-13.2H231.6c-8.6 0-15.6 7-15.6 15.6zm71 46.9l-17.6 12.9 28.7 28.7 26.2-37.8c7.5-10.9 22.5-13.6 33.4-6.1s13.6 22.5 6.1 33.4l-31.1 45L361 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-22.4-22.4c-15.1 18.5-37.8 29.4-62 29.4H210.5c-36.7 0-66.5-29.8-66.5-66.5c0-21.2 10.1-41.1 27.2-53.6l24.7-18.1-9.2-9.2c-11.9-11.9-18.6-28.1-18.6-45c0-35.1 28.5-63.6 63.6-63.6h19.2c33.8 0 61.2 27.4 61.2 61.2c0 19.5-9.3 37.8-25 49.3zm-87.5 64.1c-4.7 3.5-7.5 9-7.5 14.9c0 10.2 8.3 18.5 18.5 18.5h32.2c10.5 0 20.3-5.2 26.3-13.8l1.4-2-40.1-40.1-30.7 22.5z\"]\n};\nvar faSnowflakes = {\n prefix: 'fas',\n iconName: 'snowflakes',\n icon: [640, 512, [], \"f7cf\", \"M224 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3V129.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32zM487 7c9.4-9.4 24.6-9.4 33.9 0l23 23L567 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L487 41c-9.4-9.4-9.4-24.6 0-33.9zm32 192c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faHandsClapping = {\n prefix: 'fas',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M336 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm-98.7 7.1l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4zM135 119c9.4-9.4 24.6-9.4 33.9 0L292.7 242.7c10.1 10.1 27.3 2.9 27.3-11.3V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4c-64 38.4-145.8 28.3-198.5-24.4L7 361c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l53 53c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L23 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l93 93c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L55 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l117 117c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1l-93-93c-9.4-9.4-9.4-24.6 0-33.9zM433.1 484.9c-24.2 14.5-50.9 22.1-77.7 23.1c48.1-39.6 76.6-99 76.6-162.4l0-98.1c8.2-.1 16-6.4 16-16V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4zM424.9 18.7c7.4 4.9 9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48c4.9-7.4 14.8-9.3 22.2-4.4z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M0 192C0 103.6 71.6 32 160 32H384c88.4 0 160 71.6 160 160v64H0V192zm415.9-64c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L466 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-138.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM127.9 128c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L178 170.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm.1 160H320h96 32 64 32v32 80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80s-80-35.8-80-80V352H448v32 64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384 288H128z\"]\n};\nvar faLeafMaple = {\n prefix: 'fas',\n iconName: 'leaf-maple',\n icon: [512, 512, [127809], \"f6f6\", \"M339.8 7.5l15.8 31.6c7.1 14.2 23.6 21.1 38.7 16l67.6-22.5c1.4-.5 2.9-.7 4.4-.7c7.6 0 13.8 6.2 13.8 13.8c0 1.5-.2 2.9-.7 4.4l-22.5 67.6c-5 15.1 1.8 31.6 16 38.7l31.6 15.8c4.6 2.3 7.5 7 7.5 12.2c0 4.7-2.4 9.1-6.4 11.6l-97.9 61.2c-6.8 4.3-3.8 14.8 4.2 14.8h38.3c7.6 0 13.8 6.2 13.8 13.8c0 1.5-.2 2.9-.7 4.4l-8.5 25.5c-4.1 12.3-.3 25.9 9.5 34.4l34.3 29.4c3.4 2.9 5.4 7.2 5.4 11.7c0 5.5-3 10.6-7.8 13.4l-28.9 16.5c-11.6 6.6-17.9 19.8-15.7 33l4.2 25.1c.1 .6 .2 1.3 .2 1.9c0 7.6-7.2 13.2-14.6 11.2l-155-40.4c-8.2-2.1-16.6 2.4-19.2 10.4l-8.5 25.4c-1.7 5-6.3 8.4-11.6 8.4c-4.4 0-8.5-2.4-10.7-6.3l-53-95.3L73 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239.3 270.8c3.6-6.1 2.7-14.1-2.5-19.4c-6.2-6.2-16.4-6.2-22.6 0l-84 84L22.3 275.5c-3.9-2.2-6.3-6.2-6.3-10.7c0-5.3 3.4-9.9 8.4-11.6l25.4-8.5c8-2.7 12.5-11.1 10.4-19.2L19.8 70.6C17.9 63.2 23.4 56 31 56c.6 0 1.3 .1 1.9 .2L58 60.3c13.2 2.2 26.4-4.1 33-15.7l16.5-28.9C110.3 11 115.4 8 120.9 8c4.5 0 8.8 2 11.7 5.4L162 47.7c8.5 9.9 22.1 13.6 34.4 9.5l25.5-8.5c1.4-.5 2.9-.7 4.4-.7c7.6 0 13.8 6.2 13.8 13.8v38.3c0 8 10.5 11.1 14.8 4.2L316 6.4c2.5-4 6.9-6.4 11.6-6.4c5.2 0 9.9 2.9 12.2 7.5z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nvar faPersonCircleXmark = {\n prefix: 'fas',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z\"]\n};\nvar faCupStrawSwoosh = {\n prefix: 'fas',\n iconName: 'cup-straw-swoosh',\n icon: [384, 512, [], \"e364\", \"M194.8 43.2l-20 84.8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3c-26 0-48.6 17.9-54.5 43.2zM40 224L60.3 468c2.1 24.9 22.9 44 47.8 44H275.8c25 0 45.8-19.1 47.8-44L344 224H40zm194.4 78.9c18.8-10.1 42-17.2 72.7-20.6L303 331.2c-20.8 3.1-35.2 8.2-45.8 13.9c-17.2 9.3-26.9 21.2-39.9 37.2l-.7 .8c-13.3 16.4-29.5 35.9-58.7 50.4c-17.7 8.8-39.3 15.2-66.7 18.9l-4-47.9c22.1-3.2 37.7-8.3 49.4-14.1c19.3-9.5 30.1-22 42.8-37.6l1.9-2.3c12.3-15.2 27.4-33.8 53.1-47.7z\"]\n};\nvar faTemperatureSun = {\n prefix: 'fas',\n iconName: 'temperature-sun',\n icon: [640, 512, [\"temperature-hot\"], \"f76a\", \"M320.6 98.5l-2.7-.5L303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6L208 363.5l70.8 49.6c4.5 3.1 10.3 3.8 15.4 1.6c.7-.3 1.5-.7 2.1-1.1c-5.4-16.9-8.3-34.9-8.3-53.7c0-37.7 11.8-72.6 32-101.2V112c0-4.5 .2-9 .6-13.5zM208 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm208 0c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C537.8 332.6 544 349.5 544 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM464 0C402.1 0 352 50.2 352 112V276.5c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8c-18.9 24.4-30.1 55-30.1 88.1c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.3-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C576 50.2 525.9 0 464 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faTemperatureHot = faTemperatureSun;\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M288 64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H256c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M201 10.3c14.3-7.8 31.6-7.8 46 0L422.3 106c5.1 2.8 8.3 8.2 8.3 14s-3.2 11.2-8.3 14L231.7 238c-4.8 2.6-10.5 2.6-15.3 0L25.7 134c-5.1-2.8-8.3-8.2-8.3-14s3.2-11.2 8.3-14L201 10.3zM23.7 170l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L25 423.1C9.6 414.7 0 398.6 0 381V184c0-5.6 3-10.9 7.8-13.8s10.9-3 15.8-.3zm400.7 0c5-2.7 11-2.6 15.8 .3s7.8 8.1 7.8 13.8V381c0 17.6-9.6 33.7-25 42.1L263.7 510c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M80 48a48 48 0 1 1 96 0A48 48 0 1 1 80 48zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V325.2c-8.1 9.2-21.1 13.2-33.5 9.4c-16.9-5.3-26.3-23.2-21-40.1l30.9-99.1C44.9 155.3 82 128 124 128h8c42 0 79.1 27.3 91.6 67.4l30.9 99.1c5.3 16.9-4.1 34.8-21 40.1c-12.4 3.9-25.4-.2-33.5-9.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H120zM320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM464 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440 480V384H422.2c-10.9 0-18.6-10.7-15.2-21.1l9-26.9c-3.2 0-6.4-.5-9.5-1.5c-16.9-5.3-26.3-23.2-21-40.1l29.7-95.2C428.4 156.9 467.6 128 512 128s83.6 28.9 96.8 71.2l29.7 95.2c5.3 16.9-4.1 34.8-21 40.1c-3.2 1-6.4 1.5-9.5 1.5l9 26.9c3.5 10.4-4.3 21.1-15.2 21.1H584v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H504v96c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faHighDefinition = {\n prefix: 'fas',\n iconName: 'high-definition',\n icon: [576, 512, [\"rectangle-hd\"], \"e1ae\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm304 88V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328c-13.3 0-24 10.7-24 24zm80 24c26.5 0 48 21.5 48 48s-21.5 48-48 48H352V208h32zM160 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v72 72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V256 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H160V184z\"]\n};\nvar faRectangleHd = faHighDefinition;\nvar faJ = {\n prefix: 'fas',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M288 32c17.7 0 32 14.3 32 32V320c0 88.4-71.6 160-160 160S0 408.4 0 320V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 53 43 96 96 96s96-43 96-96V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faGalaxy = {\n prefix: 'fas',\n iconName: 'galaxy',\n icon: [512, 512, [], \"e008\", \"M320 0h11.5C342.8 0 352 9.2 352 20.5c0 7.1-3.7 13.7-9.8 17.5l-12.5 7.7c-35.2 21.7-60.9 54.9-73.3 93.1c19.9-7 41.3-10.8 63.5-10.8c106 0 192 86 192 192v11.5c0 11.3-9.2 20.5-20.5 20.5c-7.1 0-13.7-3.7-17.5-9.8l-7.7-12.5c-21.7-35.2-54.9-60.9-93.1-73.3c7 19.9 10.8 41.3 10.8 63.5c0 106-86 192-192 192H180.5c-11.3 0-20.5-9.2-20.5-20.5c0-7.1 3.7-13.7 9.8-17.5l12.5-7.7c35.2-21.7 60.9-54.9 73.3-93.1c-19.9 7-41.3 10.8-63.5 10.8C86 384 0 298 0 192V180.5C0 169.2 9.2 160 20.5 160c7.1 0 13.7 3.7 17.5 9.8l7.7 12.5c21.7 35.2 54.9 60.9 93.1 73.3c-7-19.9-10.8-41.3-10.8-63.5C128 86 214 0 320 0zM256 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUsersViewfinder = {\n prefix: 'fas',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M48 48h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H32C14.3 0 0 14.3 0 32V136c0 13.3 10.7 24 24 24s24-10.7 24-24V48zM175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM504 48h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V32c0-17.7-14.3-32-32-32H504c-13.3 0-24 10.7-24 24s10.7 24 24 24zM48 464V376c0-13.3-10.7-24-24-24s-24 10.7-24 24V480c0 17.7 14.3 32 32 32H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H48zm456 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H608c17.7 0 32-14.3 32-32V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H504z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V288zM300.9 397.9L256 368V304l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nvar faCherries = {\n prefix: 'fas',\n iconName: 'cherries',\n icon: [640, 512, [], \"e0ec\", \"M288 24L302.1 4.5c-6.9-5-15.9-5.9-23.7-2.5s-13.2 10.7-14.2 19.1c0 0 0 0 0 0s0 0 0 0l0 0 0 .2-.1 .9c-.1 .9-.3 2.2-.6 4c-.6 3.6-1.5 9-2.9 15.8c-2.8 13.7-7.6 33.3-15.3 56.3c-14 42-37.4 94.7-75.8 143.7C152.3 233.5 126.5 224 96 224c0 0-96 0-96 112C0 480 144 512 192 512s192-16 192-176c0-112-96-112-96-112c-20.5 0-38.9 4.3-54 9.7c27.1-42.6 45-85.1 56.7-120.2c5.7-17 9.9-32.3 13-45.1c11.7 10.8 25.8 24.7 40.1 41.2c29.6 34.3 59.1 78.4 73.1 128.5c-12-5.3-27-10.3-44.2-12.7C397.3 247.7 416 282.9 416 336c0 71.9-26.1 120.9-62.1 152.9C390.4 506.3 427.7 512 448 512c48 0 192-16 192-176c0-112-96-112-96-112c-32.3 0-59.2 10.6-76.3 19.6C453.5 176 415.2 118.9 380.2 78.3c-19.9-23-39.2-41.3-53.6-53.9c-7.2-6.3-13.2-11.2-17.5-14.5c-2.1-1.7-3.8-3-5-3.9c-.6-.4-1.1-.8-1.4-1l-.4-.3-.1-.1 0 0 0 0s0 0-14.1 19.4z\"]\n};\nvar faUpRightFromSquare = {\n prefix: 'fas',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faCircleSort = {\n prefix: 'fas',\n iconName: 'circle-sort',\n icon: [512, 512, [\"sort-circle\"], \"e030\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zM244.7 411.3c6.2 6.2 16.4 6.2 22.6 0l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96z\"]\n};\nvar faSortCircle = faCircleSort;\nvar faTableCells = {\n prefix: 'fas',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64H208V96zm240 0v64H360V96h88zM64 224h88v64H64V224zm232 0v64H208V224h88zm64 0h88v64H360V224zM152 352v64H64V352h88zm56 0h88v64H208V352zm240 0v64H360V352h88z\"]\n};\nvar faTh = faTableCells;\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm96-80h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H320v96h16zm80-112c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368z\"]\n};\nvar faSiren = {\n prefix: 'fas',\n iconName: 'siren',\n icon: [448, 512, [], \"e02d\", \"M73 152.1L48 352h57.9l22.2-178c1.1-8.8 9.1-15 17.9-13.9s15 9.1 13.9 17.9L138.1 352H400L375 152.1C371 120 343.8 96 311.5 96h-175C104.2 96 77 120 73 152.1zM32 384c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faArrowUpToDottedLine = {\n prefix: 'fas',\n iconName: 'arrow-up-to-dotted-line',\n icon: [448, 512, [], \"e0a1\", \"M32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM320 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-9.4 233.4l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 269.3V336 448c0 17.7 14.3 32 32 32s32-14.3 32-32V336 269.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faImageLandscape = {\n prefix: 'fas',\n iconName: 'image-landscape',\n icon: [576, 512, [\"landscape\"], \"e1b5\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm328 64c-8 0-15.5 4-20 10.7l-56 84L234.7 265c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H424c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C343.5 196 336 192 328 192zM160 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLandscape = faImageLandscape;\nvar faTankWater = {\n prefix: 'fas',\n iconName: 'tank-water',\n icon: [448, 512, [], \"e452\", \"M285.9 96l-22-40.3L251 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H197L184.1 55.7 162.1 96H64V297.9c8.3-3 16.2-6.8 23.3-10.8c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 18.9 12.7c15.8 9 35.5 16.8 55.2 16.9h.4c19.6 0 39.3-7.9 55.2-16.9c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 19 12.8c7.1 4 15 7.9 23.4 10.8V96H285.9zM175 139.2L212.2 71c2.4-4.3 6.9-7 11.8-7s9.5 2.7 11.8 7L273 139.2c4.6 8.4 7 17.9 7 27.5V168c0 30.9-25.1 56-56 56s-56-25.1-56-56v-1.4c0-9.6 2.4-19 7-27.5z\"]\n};\nvar faCurlingStone = {\n prefix: 'fas',\n iconName: 'curling-stone',\n icon: [576, 512, [129356, \"curling\"], \"f44a\", \"M224 128c0-17.7 14.3-32 32-32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c-53 0-96 43-96 96v32c-35.3 0-64 28.7-64 64c-53 0-96 43-96 96v16H576V320c0-53-43-96-96-96c0-35.3-28.7-64-64-64H224V128zM576 368H0v16c0 53 43 96 96 96H480c53 0 96-43 96-96V368z\"]\n};\nvar faCurling = faCurlingStone;\nvar faGamepadModern = {\n prefix: 'fas',\n iconName: 'gamepad-modern',\n icon: [640, 512, [127918, 63676, \"gamepad-alt\"], \"e5a2\", \"M0 369.4v2.8C0 431.7 48.3 480 107.8 480c49.5 0 92.6-33.7 104.6-81.7L216 384H424l3.6 14.3c12 48 55.1 81.7 104.6 81.7C591.7 480 640 431.7 640 372.2v-2.8c0-6.3-.5-12.5-1.6-18.7L605.7 159.8c-8.6-50.2-40.9-93.2-90.3-105.5C469.5 42.9 403.8 32 320 32s-149.5 10.9-195.3 22.3C75.2 66.6 42.9 109.6 34.3 159.8L1.6 350.7C.5 356.9 0 363.1 0 369.4zM432 232a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm24-56a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm-240-8v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V248H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V168c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faGamepadAlt = faGamepadModern;\nvar faMessagesQuestion = {\n prefix: 'fas',\n iconName: 'messages-question',\n icon: [640, 512, [], \"e1e7\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H202.7l-81.1 60.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V320H64c-35.3 0-64-28.7-64-64V64zM256 352h96c53 0 96-43 96-96V128H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H544v48c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L437.3 448H320c-35.3 0-64-28.7-64-64V352zM136.2 92.4l-.4 1c-3.7 10.4 1.8 21.8 12.2 25.5s21.8-1.8 25.5-12.2l.4-1c.9-2.7 3.5-4.4 6.3-4.4h48.5c7 0 12.6 5.7 12.6 12.6c0 4.5-2.4 8.7-6.3 10.9L198 146.1c-6.2 3.6-10 10.2-10 17.3v11.2c0 11 9 20 20 20c10.9 0 19.8-8.8 20-19.6l26.9-15.4c16.3-9.4 26.4-26.8 26.4-45.6c0-29.1-23.6-52.6-52.6-52.6H180.2c-19.8 0-37.4 12.4-44 31.1zM234.7 248a26.7 26.7 0 1 0 -53.3 0 26.7 26.7 0 1 0 53.3 0z\"]\n};\nvar faBookBible = {\n prefix: 'fas',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zM208 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272V304c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V192H160c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h48V80z\"]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'fas',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 96a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nvar faSuitcaseMedical = {\n prefix: 'fas',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96v32V480H384V128 96 56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H96V96zM416 480h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H416V480zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faBriefcaseArrowRight = {\n prefix: 'fas',\n iconName: 'briefcase-arrow-right',\n icon: [512, 512, [], \"e2f2\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM297 191l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H152c-13.3 0-24-10.7-24-24s10.7-24 24-24H302.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faExpandWide = {\n prefix: 'fas',\n iconName: 'expand-wide',\n icon: [512, 512, [], \"f320\", \"M32 64C14.3 64 0 78.3 0 96v96c0 17.7 14.3 32 32 32s32-14.3 32-32V128h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 320c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V320zM384 64c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32H384zM512 320c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V320z\"]\n};\nvar faClockElevenThirty = {\n prefix: 'fas',\n iconName: 'clock-eleven-thirty',\n icon: [512, 512, [], \"e348\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V263.3l-60-90c-7.4-11-4.4-25.9 6.7-33.3s25.9-4.4 33.3 6.7l64 96c2.6 3.9 4 8.6 4 13.3V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faRv = {\n prefix: 'fas',\n iconName: 'rv',\n icon: [640, 512, [], \"f7be\", \"M224 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16V32H512c53 0 96 43 96 96c0 17.7-14.3 32-32 32H384V416H254.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16H96L18.7 338.7C6.7 326.7 0 310.5 0 293.5V96C0 60.7 28.7 32 64 32H224V16zM112 128c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H112zm96 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-80-48V400 320 288 216 192h24 76.6c12.9 0 25.5 4.5 35.5 12.7l67.4 55.2c13 10.6 20.5 26.5 20.5 43.3V320v64c0 17.7-14.3 32-32 32H574.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80V416zM578.1 288l-56.5-46.2c-1.4-1.2-3.2-1.8-5.1-1.8H464v48H578.1z\"]\n};\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M181.5 197.1l12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-3.6 0-7.1-.2-10.6-.6v.6c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V336 320c0-23.7 12.9-44.4 32-55.4c9.4-5.4 20.3-8.6 32-8.6V240c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16v32 16 48c0 8.8 7.2 16 16 16s16-7.2 16-16V204.3c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4C576 86.1 640 164.2 640 254.9l0 1.1h0c0 123.7-100.3 224-224 224h-1.1H256h-.6C132 480 32 380 32 256.6V256 216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 1.4 0 2.8-.1 4.3c12-6.2 25.7-9.6 40.1-9.6h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-13.3 0-24 10.7-24 24v8h56.4c-15.2 17-24.4 39.4-24.4 64H320c-42.3 0-78.2-27.4-91-65.3c-5.1 .9-10.3 1.3-15.6 1.3c-14.1 0-27.9-3.3-40.5-9.6zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faDreidel = {\n prefix: 'fas',\n iconName: 'dreidel',\n icon: [448, 512, [], \"f792\", \"M438.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 146.7 225.9 84.7c-18.7-18.7-49.1-18.7-67.9 0l-57.4 57.4L337.9 379.3l57.4-57.4c18.7-18.7 18.7-49.1 0-67.9L333.3 192 438.6 86.6zM315.3 401.9L78.1 164.7 18.7 224C6.7 236 0 252.3 0 269.3V416c0 35.3 28.7 64 64 64H210.7c17 0 33.3-6.7 45.3-18.7l59.3-59.3z\"]\n};\nvar faPersonDress = {\n prefix: 'fas',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM88 384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3h11.6c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L265 362.9c3.5 10.4-4.3 21.1-15.2 21.1H232v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H152v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 352h8.2c32.3-39.1 81.1-64 135.8-64c5.4 0 10.7 .2 16 .7V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM320 352H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H360.2C335.1 449.6 320 410.5 320 368c0-5.4 .2-10.7 .7-16l-.7 0zm320 16a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faFlowerTulip = {\n prefix: 'fas',\n iconName: 'flower-tulip',\n icon: [512, 512, [127799], \"f801\", \"M96 44v84c0 70.7 57.3 128 128 128V394.8C192.1 349.5 139.5 320 80 320H29.5C13.2 320 0 333.2 0 349.5C0 439.3 72.7 512 162.5 512H224h32 32 61.5C439.3 512 512 439.3 512 349.5c0-16.3-13.2-29.5-29.5-29.5H432c-59.5 0-112.1 29.5-144 74.8V256c70.7 0 128-57.3 128-128V44c0-6.6-5.4-12-12-12c-2.6 0-5.1 .8-7.2 2.4L336 80 268.8 5.3c-3-3.4-7.4-5.3-11.9-5.3h-1.7c-4.5 0-8.9 1.9-11.9 5.3L176 80 115.2 34.4c-2.1-1.6-4.6-2.4-7.2-2.4c-6.6 0-12 5.4-12 12z\"]\n};\nvar faPeoplePantsSimple = {\n prefix: 'fas',\n iconName: 'people-pants-simple',\n icon: [512, 512, [], \"e21a\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-22.4 32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6zM384 128A64 64 0 1 0 384 0a64 64 0 1 0 0 128zm-22.4 32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C482.7 191.9 448 160 406.4 160H361.6z\"]\n};\nvar faCloudDrizzle = {\n prefix: 'fas',\n iconName: 'cloud-drizzle',\n icon: [512, 512, [], \"f738\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm-8 56v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 64v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-13.3 10.7-24 24-24s24 10.7 24 24zm168-24c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-13.3 10.7-24 24-24zm-72-40v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm168-24c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24z\"]\n};\nvar faTableCellsLarge = {\n prefix: 'fas',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M448 96V224H288V96H448zm0 192V416H288V288H448zM224 224H64V96H224V224zM64 288H224V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'fas',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM138.7 208l13.9 24H124.9l13.9-24zm-13.9-24L97.1 232c-6.2 10.7 1.5 24 13.9 24h55.4l27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48H305c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24H249.6L221.9 64c-6.2-10.7-21.6-10.7-27.7 0l-27.7 48H111c-12.3 0-20 13.3-13.9 24l27.7 48zm27.7 0l27.7-48h55.4l27.7 48-27.7 48H180.3l-27.7-48zm0-48l-13.9 24-13.9-24h27.7zm41.6-24L208 88l13.9 24H194.1zm69.3 24h27.7l-13.9 24-13.9-24zm13.9 72l13.9 24H263.4l13.9-24zm-55.4 48L208 280l-13.9-24h27.7z\"]\n};\nvar faTanakh = faBookTanakh;\nvar faSolarSystem = {\n prefix: 'fas',\n iconName: 'solar-system',\n icon: [512, 512, [], \"e02f\", \"M448 256c0 41.9-13.4 80.6-36.2 112.2C387.3 370.3 368 390.9 368 416c0 26.5 21.5 48 48 48s48-21.5 48-48c0-3.2-.3-6.4-.9-9.4C493.8 364.3 512 312.3 512 256C512 114.6 397.4 0 256 0c-42.3 0-82.1 10.2-117.2 28.4c18.6 11.8 32 31.1 36 53.6C199.4 70.4 227 64 256 64c106 0 192 86 192 192zM256 448C150 448 64 362 64 256c0-41.9 13.4-80.6 36.2-112.2C124.7 141.7 144 121.1 144 96c0-26.5-21.5-48-48-48S48 69.5 48 96c0 3.2 .3 6.4 .9 9.4C18.2 147.7 0 199.7 0 256C0 397.4 114.6 512 256 512c42.1 0 81.7-10.1 116.8-28.1c-18.5-11.9-31.8-31.3-35.6-53.8C312.5 441.6 285 448 256 448zM389.2 182.7c1.8-4.6 2.8-9.5 2.8-14.7c0-22.1-17.9-40-40-40c-4 0-7.8 .6-11.5 1.7C316.4 113.5 287.3 104 256 104c-83.9 0-152 68.1-152 152s68.1 152 152 152s152-68.1 152-152c0-26.6-6.8-51.5-18.8-73.3zM312 168.4c.2 20.6 16 37.6 36.2 39.5c7.5 14.4 11.8 30.8 11.8 48.2c0 57.4-46.6 104-104 104s-104-46.6-104-104s46.6-104 104-104c20.6 0 39.8 6 56 16.4zm8 87.6a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faSealQuestion = {\n prefix: 'fas',\n iconName: 'seal-question',\n icon: [512, 512, [], \"e243\", \"M222.1 17.9c18.7-18.7 49.1-18.7 67.9 0L336 64h64c26.5 0 48 21.5 48 48v64l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.1V400c0 26.5-21.5 48-48 48H335.1l-45.1 45.1c-18.7 18.7-49.1 18.7-67.9 0L176.9 448H112c-26.5 0-48-21.5-48-48V335.1L18.4 289.5c-18.7-18.7-18.7-49.1 0-67.9L64 176V112c0-26.5 21.5-48 48-48h64l46.1-46.1zM169.8 165.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V264c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zM117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24z\"]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faDiscDrive = {\n prefix: 'fas',\n iconName: 'disc-drive',\n icon: [512, 512, [], \"f8b5\", \"M32 96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V416c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V96zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192 0A160 160 0 1 0 96 256a160 160 0 1 0 320 0z\"]\n};\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M152.7 135.9l-10.4 57.2c6.8-.7 13.6-1.1 20.5-1.1h10.7c39.4 0 77.8 12.1 110.1 34.7L562.4 421.8l35.1 24.6c24.4-6 42.5-28.1 42.5-54.4c0-75.8-94.7-126.6-134.6-144.7L474 83.9C468.2 53.8 441.8 32 411.1 32h-2.7c-5.6 0-11.1 .7-16.5 2.2L199.2 85.5c-23.9 6.4-42 26-46.5 50.4zM0 384c0 35.3 28.7 64 64 64H544L265.3 252.9c-26.9-18.8-58.9-28.9-91.8-28.9H162.9c-60.6 0-116 34.2-143.1 88.4L13.5 325C4.6 342.7 0 362.3 0 382.2V384z\"]\n};\nvar faTableRows = {\n prefix: 'fas',\n iconName: 'table-rows',\n icon: [512, 512, [\"rows\"], \"e292\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 0V224H448V96H128zM448 288H128V416H448V288z\"]\n};\nvar faRows = faTableRows;\nvar faLocationExclamation = {\n prefix: 'fas',\n iconName: 'location-exclamation',\n icon: [384, 512, [\"map-marker-exclamation\"], \"f608\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 96c13.3 0 24 10.7 24 24V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMapMarkerExclamation = faLocationExclamation;\nvar faFaceFearful = {\n prefix: 'fas',\n iconName: 'face-fearful',\n icon: [512, 512, [], \"e375\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM96 224a64 64 0 1 1 128 0A64 64 0 1 1 96 224zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 112c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm173 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8zM192.4 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faClipboardUser = {\n prefix: 'fas',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBusSchool = {\n prefix: 'fas',\n iconName: 'bus-school',\n icon: [512, 512, [], \"f5dd\", \"M256 0C380.8 0 464 35.2 464 80V96v16h16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H464v28.2c9.8 8.8 16 21.6 16 35.8v96c0 20.9-13.4 38.7-32 45.3V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V448H160v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V445.3c-18.6-6.6-32-24.4-32-45.3V304c0-14.2 6.2-27 16-35.8V240H32c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H48V96 80C48 35.2 131.2 0 256 0zM112 160v64c0 17.7 14.3 32 32 32h96V128H144c-17.7 0-32 14.3-32 32zm160 96h96c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H272V256zM112 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 80c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16z\"]\n};\nvar faFilmSlash = {\n prefix: 'fas',\n iconName: 'film-slash',\n icon: [640, 512, [], \"e179\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zM224 150.3V128c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H318.1L224 150.3zM487.4 480l-87-68.5c-4.8 2.9-10.4 4.5-16.4 4.5H256c-17.7 0-32-14.3-32-32V320c0-14.1 9.1-26.1 21.8-30.3l-71.1-56c.8 2 1.3 4.1 1.3 6.4v32c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h32c.9 0 1.9 .1 2.8 .2L64 146.4V416c0 35.3 28.7 64 64 64H487.4zM112 368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V368zM464 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H480c-8.8 0-16-7.2-16-16V240zM480 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H480c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faSquareArrowDownRight = {\n prefix: 'fas',\n iconName: 'square-arrow-down-right',\n icon: [448, 512, [], \"e262\", \"M384 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384zM160 368c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L119 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24H160z\"]\n};\nvar faBookSparkles = {\n prefix: 'fas',\n iconName: 'book-sparkles',\n icon: [448, 512, [\"book-spells\"], \"f6b8\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zM264 200l16.6-38.8c2.8-6.5 11.9-6.5 14.7 0L312 200l38.8 16.6c6.5 2.8 6.5 11.9 0 14.7L312 248l-16.6 38.8c-2.8 6.5-11.9 6.5-14.7 0L264 248l-38.8-16.6c-6.5-2.8-6.5-11.9 0-14.7L264 200zM168.8 78.3c2.9-5.9 11.4-5.9 14.3 0L192 96l17.7 8.8c5.9 2.9 5.9 11.4 0 14.3L192 128l-8.8 17.7c-2.9 5.9-11.4 5.9-14.3 0L160 128l-17.7-8.8c-5.9-2.9-5.9-11.4 0-14.3L160 96l8.8-17.7z\"]\n};\nvar faBookSpells = faBookSparkles;\nvar faWashingMachine = {\n prefix: 'fas',\n iconName: 'washing-machine',\n icon: [448, 512, [\"washer\"], \"f898\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM368 304A144 144 0 1 0 80 304a144 144 0 1 0 288 0zM88 112a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM208 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm16 328c-61.9 0-112-50.1-112-112c0-16.5 3.6-32.2 10-46.3c7.4-1.1 14.8-1.7 22-1.7c32 0 56 16 80 32s48 32 80 32c10.9 0 21.4-.9 31.2-2.5C328.5 373 281.3 416 224 416z\"]\n};\nvar faWasher = faWashingMachine;\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm48 320v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V287.8L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H144z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M112 160.4c0-35.5 28.8-64.4 64.4-64.4c6.9 0 13.8 1.1 20.4 3.3l81.2 27.1c16.8 5.6 34.9-3.5 40.5-20.2s-3.5-34.9-20.2-40.5L217 38.6c-13.1-4.4-26.8-6.6-40.6-6.6C105.5 32 48 89.5 48 160.4V192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H46c-2.2 10.5-6.1 20.6-11.7 29.9L4.6 431.5c-5.9 9.9-6.1 22.2-.4 32.2S20.5 480 32 480H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H88.5l.7-1.1c11.6-19.3 18.9-40.7 21.6-62.9H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V160.4z\"]\n};\nvar faUserVisor = {\n prefix: 'fas',\n iconName: 'user-visor',\n icon: [448, 512, [], \"e04c\", \"M343 175.2C324.2 222.5 278 256 224 256s-100.2-33.5-119-80.8c-14.3-3.2-25-16-25-31.2V80c0-17.7 14.3-32 32-32h12.1C147.5 18.7 183.6 0 224 0s76.5 18.7 99.9 48H336c17.7 0 32 14.3 32 32v64c0 15.3-10.7 28-25 31.2zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zm348.7-19.9c2.4 3.2 7.3 1.4 7.3-2.5c-1.1-35.3-11.3-65.6-30.1-90.2c-1.2-2-4.6-1.9-6.1-.1c-19.9 23-31.9 53-35.8 89.5c-.3 3.5 3.7 5.5 6.5 3.5c1.8-1.4 4.1-3.4 6.6-5.6c9.2-8.1 22.3-19.5 31.7-19.5c2.3 2 7.6 7.8 19.9 25zM144 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faFilePlusMinus = {\n prefix: 'fas',\n iconName: 'file-plus-minus',\n icon: [384, 512, [], \"e177\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM208 208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H208v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V208c0-8.8 7.2-16 16-16s16 7.2 16 16zM128 384H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faChessClockFlip = {\n prefix: 'fas',\n iconName: 'chess-clock-flip',\n icon: [640, 512, [\"chess-clock-alt\"], \"f43e\", \"M384 56c0-13.3 10.7-24 24-24H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H488v48h88c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H96V112c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16v16H440V80H408c-13.3 0-24-10.7-24-24zM288 304A112 112 0 1 0 64 304a112 112 0 1 0 224 0zm-52.7-59.3c6.2 6.2 6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l48-48c6.2-6.2 16.4-6.2 22.6 0zM464 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm16-176v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessClockAlt = faChessClockFlip;\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z\"]\n};\nvar faPlaneLock = {\n prefix: 'fas',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l101.8 58.2C418 247.6 416 259.6 416 272v24.6c-17.9 10.4-30.3 29.1-31.8 50.9L320 329.1V400l57.6 43.2c4 3 6.4 7.8 6.4 12.8v24 18c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faSteeringWheel = {\n prefix: 'fas',\n iconName: 'steering-wheel',\n icon: [512, 512, [], \"f622\", \"M224 358.9v86.5C143.6 431.9 80.1 368.4 66.7 288H168.9L224 358.9zm64 0L343.1 288H445.3C431.9 368.4 368.4 431.9 288 445.3V358.9zM352 224l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H195.8c-12.1 0-23.2 6.8-28.6 17.7L160 224H66.7C81.9 133.2 160.9 64 256 64s174.1 69.2 189.3 160H352zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faStretcher = {\n prefix: 'fas',\n iconName: 'stretcher',\n icon: [640, 512, [], \"f825\", \"M83 79.2C64.9 59.8 34.5 58.9 15.2 77S-5.1 125.5 13 144.8L123.5 262.7c15.1 16.1 36.3 25.3 58.4 25.3H592c26.5 0 48-21.5 48-48s-21.5-48-48-48H188.8L83 79.2zM240 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0c0-5.3-.7-10.5-1.9-15.5L368 396.2l49.9 36.3c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-12.4 0-24 3.5-33.9 9.7l-37.3-27.1 64-46.5H391.2L368 336.9 344.8 320H263.2l64 46.5-37.3 27.1c-9.8-6.1-21.4-9.7-33.9-9.7c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zm160-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBookSection = {\n prefix: 'fas',\n iconName: 'book-section',\n icon: [448, 512, [\"book-law\"], \"e0c1\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM228.5 241.3l7.5 2c37.9 9.8 46.1 15 43.6 27.7c-2.5 13.2-23.7 19.6-51.7 15.7c-10.2-1.4-22.4-5.4-33.1-8.9l-5.9-1.9c-8.4-2.7-17.4 1.9-20.1 10.4c-2.7 8.4 2 17.4 10.4 20.1l5.8 1.9c12 3.9 25.7 8.3 38.6 10.1c7 1 13.8 1.5 20.2 1.5c36.5 0 62.2-15.8 67.3-42.8c4.1-21.2-4-34.9-16.7-44.4c8.7-7.1 14.5-16.4 16.7-27.6c8.6-45.1-36.9-56.9-67-64.7l0 0-7.3-1.9c-36.5-9.7-38-16.5-36.2-25.8c2.5-13.2 23.8-19.7 51.6-15.7c6.6 .9 14.6 2.9 25.2 6.2c8.3 2.6 17.4-2.1 20-10.5c2.6-8.4-2.1-17.4-10.5-20c-12.2-3.8-21.9-6.2-30.2-7.3c-47.1-6.7-81.5 9.6-87.5 41.3c-4.1 21.3 4.4 35.1 16.7 44.5c-8.7 7.1-14.5 16.4-16.7 27.5c-8.5 44.6 37.4 56.8 59.5 62.7zm-2.9-72.8c.9 .2 10.3 2.7 10.3 2.7c37.9 9.8 46.1 15 43.6 27.7c-2.2 11.3-16.5 14.9-25.2 16.1c-3.6-1-17.7-4.7-17.7-4.7c-36.5-9.7-38-16.5-36.2-25.8c2.2-11.3 16.5-14.9 25.2-16.1z\"]\n};\nvar faBookLaw = faBookSection;\nvar faInboxes = {\n prefix: 'fas',\n iconName: 'inboxes',\n icon: [512, 512, [], \"e1bb\", \"M117.7 64L79.3 160h45c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7h45L394.3 64H117.7zM60.3 35.2C68.8 13.9 89.4 0 112.2 0H399.8c22.9 0 43.5 13.9 52 35.2L508 175.8c2.6 6.6 4 13.7 4 20.8V264c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V196.6c0-7.1 1.4-14.2 4-20.8L60.3 35.2zM48 352h76.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faCoffeeBean = {\n prefix: 'fas',\n iconName: 'coffee-bean',\n icon: [448, 512, [], \"e13e\", \"M331.4 203.3c24.4-24.6 45.4-67.3 59.9-101.7c5.1-12.2 20.9-15.3 28.2-4.3c51.2 77.7 26.2 201.2-63.4 290.8c-79.6 79.6-186 108.1-263.2 77.7c-14.8-5.8-20-23.2-13.2-37.5c.7-1.6 1.5-3.1 2.2-4.7c16.5-34.5 37.5-72.2 57.4-92.3c29.7-29.9 59.7-44.9 91.8-61l.5-.3 0 0c32-15.9 66.1-32.9 99.7-66.8zM53.1 409.7c-5.3 11-19.9 13.6-26.9 3.6c-54-77.4-29.6-203.2 61.2-294C167.6 39.1 275.1 10.7 352.5 42.4c14 5.7 19.4 22 13.7 36c-1.4 3.5-2.9 7.1-4.4 10.8c-14.5 34.5-33.5 71.8-53.1 91.5c-29.7 29.9-59.7 44.9-91.8 61l-.5 .3c-32 15.9-66.1 32.9-99.7 66.8c-24.1 24.3-47.1 66.6-63.6 101z\"]\n};\nvar faCircleYen = {\n prefix: 'fas',\n iconName: 'circle-yen',\n icon: [512, 512, [], \"e5d0\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.9 150.2c9.8-8.9 25-8.2 33.9 1.6L256 220.3l62.2-68.5c8.9-9.8 24.1-10.5 33.9-1.6s10.5 24.1 1.6 33.9L288.4 256H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H280v32h40c8.8 0 16 7.2 16 16s-7.2 16-16 16H280v25c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h40V288H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h31.6l-65.3-71.9c-8.9-9.8-8.2-25 1.6-33.9z\"]\n};\nvar faBracketsCurly = {\n prefix: 'fas',\n iconName: 'brackets-curly',\n icon: [576, 512, [], \"f7ea\", \"M416 32H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32 14.3 32 32v37.5c0 25.5 10.1 49.9 28.1 67.9L498.7 256l-22.6 22.6c-18 18-28.1 42.4-28.1 67.9V384c0 17.7-14.3 32-32 32H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c53 0 96-43 96-96V346.5c0-8.5 3.4-16.6 9.4-22.6l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3l-45.3-45.3c-6-6-9.4-14.1-9.4-22.6V128c0-53-43-96-96-96zM160 32c-53 0-96 43-96 96v37.5c0 8.5-3.4 16.6-9.4 22.6L9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l45.3 45.3c6 6 9.4 14.1 9.4 22.6V384c0 53 43 96 96 96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32-14.3-32-32V346.5c0-25.5-10.1-49.9-28.1-67.9L77.3 256l22.6-22.6c18-18 28.1-42.4 28.1-67.9V128c0-17.7 14.3-32 32-32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160z\"]\n};\nvar faEllipsisStrokeVertical = {\n prefix: 'fas',\n iconName: 'ellipsis-stroke-vertical',\n icon: [192, 512, [\"ellipsis-v-alt\"], \"f39c\", \"M96 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 96A72 72 0 1 1 96 24a72 72 0 1 1 0 144zm24 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-96 0a72 72 0 1 1 144 0A72 72 0 1 1 24 256zm96 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-96 0a72 72 0 1 1 144 0A72 72 0 1 1 24 416z\"]\n};\nvar faEllipsisVAlt = faEllipsisStrokeVertical;\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z\"]\n};\nvar faSquare1 = {\n prefix: 'fas',\n iconName: 'square-1',\n icon: [448, 512, [], \"e256\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm236 35.2c-7.4-4.3-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L200 193.4V336H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V152c0-8.6-4.6-16.5-12-20.8z\"]\n};\nvar faCakeCandles = {\n prefix: 'fas',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM128 176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c-35.3 0-64 28.7-64 64v71c8.3 5.2 18.1 9 28.8 9c13.5 0 27.2-6.1 38.4-13.4c5.4-3.5 9.9-7.1 13-9.7c1.5-1.3 2.7-2.4 3.5-3.1c.4-.4 .7-.6 .8-.8l.1-.1 0 0 0 0s0 0 0 0s0 0 0 0c3.1-3.2 7.4-4.9 11.9-4.8s8.6 2.1 11.6 5.4l0 0 0 0 .1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c3-3.5 7.4-5.4 12-5.4s9 2 12 5.4l.1 .1c.1 .1 .4 .4 .7 .7c.7 .7 1.7 1.7 3.1 3c2.8 2.6 6.8 6.1 11.8 9.5c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c5-3.5 9-6.9 11.8-9.5c1.4-1.3 2.4-2.3 3.1-3c.3-.3 .6-.6 .7-.7l.1-.1c2.9-3.4 7.1-5.3 11.6-5.4s8.7 1.6 11.9 4.8l0 0 0 0 0 0 .1 .1c.2 .2 .4 .4 .8 .8c.8 .7 1.9 1.8 3.5 3.1c3.1 2.6 7.5 6.2 13 9.7c11.2 7.3 24.9 13.4 38.4 13.4c10.7 0 20.5-3.9 28.8-9V288c0-35.3-28.7-64-64-64V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H256V176c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H128V176zM448 394.6c-8.5 3.3-18.2 5.4-28.8 5.4c-22.5 0-42.4-9.9-55.8-18.6c-4.1-2.7-7.8-5.4-10.9-7.8c-2.8 2.4-6.1 5-9.8 7.5C329.8 390 310.6 400 288 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C201.8 390 182.6 400 160 400s-41.8-10-54.6-18.9c-3.7-2.6-7-5.2-9.8-7.5c-3.1 2.4-6.8 5.1-10.9 7.8C71.2 390.1 51.3 400 28.8 400c-10.6 0-20.3-2.2-28.8-5.4V480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V394.6z\"]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faHeadSide = {\n prefix: 'fas',\n iconName: 'head-side',\n icon: [512, 512, [], \"f6e9\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"]\n};\nvar faDollyEmpty = {\n prefix: 'fas',\n iconName: 'dolly-empty',\n icon: [576, 512, [], \"f473\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64h72.9L197 340.2c-22.5 17.6-37 45-37 75.8c0 53 43 96 96 96c52.4 0 95.1-42 96-94.3l202.1-67.4c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2L331.8 357c-17.2-22.1-43.9-36.5-74-37L165.7 43.8C156.9 17.6 132.5 0 104.9 0H32z\"]\n};\nvar faFaceTissue = {\n prefix: 'fas',\n iconName: 'face-tissue',\n icon: [512, 512, [], \"e39c\", \"M512 256c0 141.4-114.6 256-256 256c-11.5 0-22.9-.8-34-2.2c.6-1.9 1-3.9 1.4-5.9l18.4-110.2 5.4 3.6c5.4 3.6 12.4 3.6 17.8 0L304 371.2l39.1 26.1c4.8 3.2 10.9 3.6 16 1l32-16c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-23.7 11.8-40.3-26.8c-5.4-3.6-12.4-3.6-17.8 0L256 364.8l-8.5-5.7 7.9-47.2c2.5-15.3-2.4-30.9-13.4-41.8s-26.5-16-41.8-13.4l-192 32c-2 .3-4 .8-5.9 1.4C.8 278.9 0 267.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM133.5 130.7c-7.9-4.2-17.5 1.5-17.5 10.5c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9zM396 141.1c0-9-9.6-14.7-17.5-10.5l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6zM219.3 292.7c3.7 3.7 5.3 8.8 4.5 13.9l-32 192c-1.1 6.7-6.3 11.9-13 13.1s-13.4-1.9-16.7-7.8l-26-45.5L51.9 479.5c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l21.1-84.2-45.5-26c-5.9-3.4-9-10-7.8-16.7s6.4-11.9 13.1-13l192-32c5.1-.8 10.3 .8 13.9 4.5z\"]\n};\nvar faAnglesUp = {\n prefix: 'fas',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z\"]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faBinRecycle = {\n prefix: 'fas',\n iconName: 'bin-recycle',\n icon: [576, 512, [], \"e5f7\", \"M0 64C0 46.3 14.3 32 32 32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zm32 64H544L517.3 421.8c-3 33-30.6 58.2-63.7 58.2H122.4c-33.1 0-60.7-25.2-63.7-58.2L32 128zm256 88c2.2 0 4.3 1.1 5.5 2.9l20.7 29.6c7.3 10.5 21.6 13.4 32.4 6.6c11.7-7.3 14.8-22.9 6.9-34.1l-20.7-29.6c-10.2-14.6-27-23.3-44.8-23.3s-34.6 8.7-44.8 23.3l-20.7 29.6c-7.9 11.3-4.7 26.8 6.9 34.1c10.8 6.8 25.1 3.9 32.4-6.6l20.7-29.6c1.3-1.8 3.3-2.9 5.5-2.9zm-88.3 77.1c-10.8-6.8-25.1-3.9-32.4 6.6l-21.5 30.7c-6.4 9.1-9.8 20-9.8 31.2c0 30.1 24.4 54.4 54.4 54.4H240c13.3 0 24-10.7 24-24s-10.7-24-24-24H190.4c-3.5 0-6.4-2.9-6.4-6.4c0-1.3 .4-2.6 1.2-3.7l21.5-30.7c7.9-11.3 4.7-26.8-6.9-34.1zM312 392c0 13.3 10.7 24 24 24h49.6c30.1 0 54.4-24.4 54.4-54.4c0-11.2-3.4-22.1-9.8-31.2l-21.5-30.7c-7.3-10.5-21.6-13.4-32.4-6.6c-11.7 7.3-14.8 22.9-6.9 34.1l21.5 30.7c.8 1.1 1.2 2.4 1.2 3.7c0 3.5-2.9 6.4-6.4 6.4H336c-13.3 0-24 10.7-24 24z\"]\n};\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z\"]\n};\nvar faChartLineDown = {\n prefix: 'fas',\n iconName: 'chart-line-down',\n icon: [512, 512, [128201], \"f64d\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm217.4 57.4L208 194.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0L304 189.3l57.4 57.4L329 279c-15.1 15.1-4.4 41 17 41H456c13.3 0 24-10.7 24-24V185.9c0-21.4-25.9-32.1-41-17l-32.4 32.4-80-80c-12.5-12.5-32.8-12.5-45.3 0z\"]\n};\nvar faArrowRightToCity = {\n prefix: 'fas',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM166.6 153.4l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H146.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nvar faLockA = {\n prefix: 'fas',\n iconName: 'lock-a',\n icon: [448, 512, [], \"e422\", \"M224 64c44.2 0 80 35.8 80 80v48H144V144c0-44.2 35.8-80 80-80zM80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H368V144C368 64.5 303.5 0 224 0S80 64.5 80 144zm49.7 280.8L209.6 265c.8-1.6 1.8-3 3-4.3c1.4-1.5 3.1-2.6 5-3.4c2.1-.9 4.2-1.3 6.4-1.3s4.3 .4 6.4 1.3c1.8 .8 3.5 1.9 5 3.4c1.3 1.3 2.3 2.7 3.1 4.3l79.9 159.9c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L270.1 400H177.9l-19.6 39.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5zM193.9 368h60.2L224 307.8 193.9 368z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M333.2 322.8l0 0-133.9-146 0 0L146 118.6c7.8-5.1 37-22.6 78-22.6s70.2 17.4 78 22.6L245.7 180l85.6 93.4 27.4-29.8c16.3-17.7 25.3-40.9 25.3-65V149.1c0-19-5.6-37.5-16.1-53.3L327.8 35.6C312.9 13.4 287.9 0 261.2 0h-76c-25.8 0-50.1 12.5-65.1 33.5L81.9 87C70.3 103.2 64 122.8 64 142.8V164c0 23.2 8.4 45.6 23.6 63.1l56 64.2 0 0 83.3 95.6 0 0 91.8 105.3c10 11.5 26.8 14.3 40 6.8l54.5-31.1c17.8-10.2 21.6-34.3 7.7-49.4l-87.7-95.7zM205.2 410.6l-83.3-95.6L27.1 418.5c-13.9 15.1-10.1 39.2 7.7 49.4l55.1 31.5c13 7.4 29.3 4.9 39.4-6.1l75.9-82.6z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M320 0c17.7 0 32 14.3 32 32V164.1c0 16.4 8.4 31.7 22.2 40.5l9.8 6.2V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2C414 480.5 384 442.1 384 398V325l90.5 57.6c7.5 4.7 17.3 2.5 22.1-4.9s2.5-17.3-4.9-22.1L384 287.1v-.4l-44.1-28.1c-7.3-4.6-13.9-10.1-19.9-16.1c-5.9 6-12.6 11.5-19.9 16.1L256 286.7 161.2 347l-13.5 8.6c0 0 0 0-.1 0c-7.4 4.8-9.6 14.6-4.8 22.1c4.7 7.5 14.6 9.7 22.1 4.9l91.1-58V398c0 44.1-30 82.5-72.7 93.1l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v45.5l9.8-6.2c13.8-8.8 22.2-24.1 22.2-40.5V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faPersonPinball = {\n prefix: 'fas',\n iconName: 'person-pinball',\n icon: [640, 512, [], \"e21d\", \"M32 48a48 48 0 1 1 96 0A48 48 0 1 1 32 48zM96 241.7v65.1l49.9 49.9c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L18.7 320C6.7 308 0 291.7 0 274.7V186.6C0 154.2 26.2 128 58.6 128c24.1 0 46.5 12 59.9 32l42.6 64H224c12.9 0 24.1 7.7 29.1 18.7l295-49.2L515.3 95c-2.2-6.5-3.3-13.4-3.3-20.2V32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V178.2 216v8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H256v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H152.6c-16 0-31-8-39.9-21.4L96 241.7zM0 480L0 346.5l64 64V480v0c0 17.7-14.3 32-32 32s-32-14.3-32-32zM280 336a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowUp91 = {\n prefix: 'fas',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32zM450.7 294c8.3 6 13.3 15.7 13.3 26v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4zm-5-145.1A32 32 0 1 0 418.3 91a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\"]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faAppleCore = {\n prefix: 'fas',\n iconName: 'apple-core',\n icon: [384, 512, [], \"e08f\", \"M192 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H192zM30.5 167c-8-6.5-9.3-18.7-.7-24.3C43.9 133.4 60.7 128 80 128c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c19.3 0 36.1 5.4 50.3 14.7c8.6 5.6 7.3 17.9-.7 24.3c-40 32.3-65.5 81.7-65.5 137c0 54.4 24.7 103 63.4 135.3c7 5.9 8.8 16.3 2.7 23.1C325.8 493.7 290.9 512 256 512c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3c-34.9 0-69.8-18.3-98.1-49.6c-6.2-6.8-4.4-17.3 2.7-23.1C71.3 407 96 358.4 96 304c0-55.4-25.6-104.7-65.5-137z\"]\n};\nvar faCircleY = {\n prefix: 'fas',\n iconName: 'circle-y',\n icon: [512, 512, [], \"e12f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM170.1 152.3L256 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L280 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L133.9 183.7c-8.7-10-7.6-25.2 2.4-33.9s25.2-7.6 33.9 2.4z\"]\n};\nvar faH6 = {\n prefix: 'fas',\n iconName: 'h6',\n icon: [640, 512, [], \"e413\", \"M537 116l-35.3 44.1C578.6 163.1 640 226.4 640 304c0 79.5-64.5 144-144 144s-144-64.5-144-144c0-38.3 13-75.5 37-105.5L487 76c11-13.8 31.2-16 45-5s16 31.2 5 45zM416 304a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zM32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\"]\n};\nvar faLitecoinSign = {\n prefix: 'fas',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M128 64c0-17.7-14.3-32-32-32S64 46.3 64 64V213.6L23.2 225.2c-17 4.9-26.8 22.6-22 39.6s22.6 26.8 39.6 22L64 280.1V448c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V261.9l136.8-39.1c17-4.9 26.8-22.6 22-39.6s-22.6-26.8-39.6-22L128 195.3V64z\"]\n};\nvar faCircleSmall = {\n prefix: 'fas',\n iconName: 'circle-small',\n icon: [320, 512, [], \"e122\", \"M0 256a160 160 0 1 1 320 0A160 160 0 1 1 0 256z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faArrowTurnDownLeft = {\n prefix: 'fas',\n iconName: 'arrow-turn-down-left',\n icon: [512, 512, [], \"e2e1\", \"M448 64c0-17.7 14.3-32 32-32s32 14.3 32 32V224c0 53-43 96-96 96H109.3l73.4 73.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256H416c17.7 0 32-14.3 32-32V64z\"]\n};\nvar faCircleNodes = {\n prefix: 'fas',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16H240V320H208c-7 0-13.7 1.5-19.7 4.2L68.2 192H96.5c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192h6L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-7.8-1.9-15.2-5.2-21.7L487.1 192h6c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16h28.3L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2H272V192H383.5z\"]\n};\nvar faMessageMedical = {\n prefix: 'fas',\n iconName: 'message-medical',\n icon: [512, 512, [\"comment-alt-medical\"], \"f7f4\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm224 64v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H288V128c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCommentAltMedical = faMessageMedical;\nvar faRugbyBall = {\n prefix: 'fas',\n iconName: 'rugby-ball',\n icon: [512, 512, [], \"e3c6\", \"M368 16c13.4 0 26.4 2.1 38.5 5.9c-21.1 1.8-44.5 8.7-69 19.5c-53.4 23.5-114.8 66.9-172.1 124.1S64.9 284.1 41.4 337.6c-10.8 24.5-17.7 47.9-19.5 69C18.1 394.4 16 381.4 16 368l0-32C16 159.3 159.3 16 336 16l32 0zm122.1 89.5c3.8 12.2 5.9 25.1 5.9 38.5v32c0 176.7-143.3 320-320 320H144c-13.4 0-26.4-2.1-38.5-5.9c21.1-1.8 44.5-8.7 69-19.5c53.4-23.5 114.8-66.9 172.1-124.1s100.6-118.6 124.1-172.1c10.8-24.5 17.7-47.9 19.5-69zM63.7 448.3c-6.7-6.7-10.9-17.8-10.2-34.8c.7-17.1 6.3-38.5 17.1-63c21.5-49 62.3-107.1 117.5-162.3s113.4-95.9 162.3-117.5c24.5-10.8 45.9-16.4 63-17.1c17.1-.7 28.1 3.5 34.8 10.2s10.9 17.8 10.2 34.8c-.7 17.1-6.3 38.5-17.1 63c-21.5 49-62.3 107.1-117.5 162.3s-113.4 95.9-162.3 117.5c-24.5 10.8-45.9 16.4-63 17.1c-17.1 .7-28.1-3.4-34.8-10.2z\"]\n};\nvar faCommentMusic = {\n prefix: 'fas',\n iconName: 'comment-music',\n icon: [512, 512, [], \"f8b0\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm96-320v32V288c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V183.1l-96 36V320c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V208 176c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8s6.9 7.9 6.9 13.2z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z\"]\n};\nvar faTreeDeciduous = {\n prefix: 'fas',\n iconName: 'tree-deciduous',\n icon: [512, 512, [127795, \"tree-alt\"], \"f400\", \"M384 80c-11.5 0-22.5 2.4-32.4 6.8C347 38.1 305.9 0 256 0s-91 38.1-95.6 86.8C150.5 82.4 139.5 80 128 80c-44.2 0-80 35.8-80 80c0 14.4 3.8 27.9 10.5 39.6C24.1 214.2 0 248.3 0 288c0 53 43 96 96 96H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384H416c53 0 96-43 96-96c0-39.7-24.1-73.8-58.5-88.4c6.7-11.7 10.5-25.2 10.5-39.6c0-44.2-35.8-80-80-80z\"]\n};\nvar faTreeAlt = faTreeDeciduous;\nvar faPuzzlePieceSimple = {\n prefix: 'fas',\n iconName: 'puzzle-piece-simple',\n icon: [640, 512, [\"puzzle-piece-alt\"], \"e231\", \"M264.8 64C277.6 64 288 74.4 288 87.2v0c0 9.2-5.8 17.3-13.2 22.8c-11.6 8.7-18.8 20.7-18.8 34c0 26.5 28.7 48 64 48s64-21.5 64-48c0-13.3-7.2-25.3-18.8-34c-7.4-5.5-13.2-13.6-13.2-22.8v0C352 74.4 362.4 64 375.2 64H464c26.5 0 48 21.5 48 48v88.8c0 12.8 10.4 23.2 23.2 23.2v0c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2v0c-12.8 0-23.2 10.4-23.2 23.2V400c0 26.5-21.5 48-48 48H375.2c-12.8 0-23.2-10.4-23.2-23.2v0c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8v0c0 12.8-10.4 23.2-23.2 23.2H176c-26.5 0-48-21.5-48-48V311.2c0-12.8-10.4-23.2-23.2-23.2v0c-9.2 0-17.3 5.8-22.8 13.2C73.3 312.8 61.3 320 48 320c-26.5 0-48-28.7-48-64s21.5-64 48-64c13.3 0 25.3 7.2 34 18.8c5.5 7.4 13.6 13.2 22.8 13.2v0c12.8 0 23.2-10.4 23.2-23.2V112c0-26.5 21.5-48 48-48h88.8z\"]\n};\nvar faPuzzlePieceAlt = faPuzzlePieceSimple;\nvar faTruckFieldUn = {\n prefix: 'fas',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M96 32C60.7 32 32 60.7 32 96v32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c0-35.3-28.7-64-64-64h-4.2c-.4-1.1-.9-2.1-1.3-3.2L485.7 102c-10.3-23.1-33.2-38-58.5-38H375.4C364.4 44.9 343.7 32 320 32H96zm288 96h43.2l42.7 96H384V128zM112 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faNfcTrash = {\n prefix: 'fas',\n iconName: 'nfc-trash',\n icon: [640, 512, [], \"e1fd\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v66.7c-11.5 4.1-21.3 12.5-26.9 23.8l-2.7 5.5H400c-5.6 0-11 1-16 2.7V144c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v66.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V144c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16v96V368c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H336c16.4 0 30.9-8.2 39.6-20.8l6.1 84.8H64c-35.3 0-64-28.7-64-64V96zM449.7 200.8c2.7-5.4 8.2-8.8 14.3-8.8h96c6.1 0 11.6 3.4 14.3 8.8L585.9 224H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H576 448 400c-8.8 0-16-7.2-16-16s7.2-16 16-16h38.1l11.6-23.2zM413.9 482.3L400 288H624L610.1 482.3C608.9 499 595 512 578.2 512H445.8c-16.8 0-30.7-13-31.9-29.7z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M0 32C0 14.3 14.3 0 32 0H64 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1C48.9 158.1 32 117.4 32 75V64C14.3 64 0 49.7 0 32zM96 64V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64H96zm0 384H288V437c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M256 32c12.5 0 24.1 6.4 30.8 17L503.4 394.4c5.6 8.9 8.6 19.2 8.6 29.7c0 30.9-25 55.9-55.9 55.9H55.9C25 480 0 455 0 424.1c0-10.5 3-20.8 8.6-29.7L225.2 49c6.6-10.6 18.3-17 30.8-17zm65 192L256 120.4 176.9 246.5l18.3 24.4c6.4 8.5 19.2 8.5 25.6 0l25.6-34.1c6-8.1 15.5-12.8 25.6-12.8h49z\"]\n};\nvar faFileXmark = {\n prefix: 'fas',\n iconName: 'file-xmark',\n icon: [384, 512, [\"file-times\"], \"f317\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM111 239c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFileTimes = faFileXmark;\nvar faHouseHeart = {\n prefix: 'fas',\n iconName: 'house-heart',\n icon: [576, 512, [\"home-heart\"], \"f4c9\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM176 269.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faHomeHeart = faHouseHeart;\nvar faHouseChimneyBlank = {\n prefix: 'fas',\n iconName: 'house-chimney-blank',\n icon: [576, 512, [], \"e3b0\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32z\"]\n};\nvar faMeterBolt = {\n prefix: 'fas',\n iconName: 'meter-bolt',\n icon: [640, 512, [], \"e1e9\", \"M256 512c73.7 0 140.1-31.1 186.8-81l7.5-15H432c-20.4 0-38.5-12.9-45.3-32.1s-.6-40.6 15.3-53.4l109.6-87.7C504.8 107.5 393 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512zM192 160v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm218.1 67.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L449.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H553.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faUserDoctor = {\n prefix: 'fas',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-96 55.2C54 332.9 0 401.3 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-81-54-149.4-128-171.1V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V304.9c-6-.6-12.1-.9-18.3-.9H178.3c-6.2 0-12.3 .3-18.3 .9v65.4c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V311.2zM144 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faUserMd = faUserDoctor;\nvar faSlashBack = {\n prefix: 'fas',\n iconName: 'slash-back',\n icon: [320, 512, [], \"5c\", \"M16.1 4.2C.8 13-4.6 32.5 4.2 47.9l256 448c8.8 15.3 28.3 20.7 43.7 11.9s20.7-28.3 11.9-43.7l-256-448C51 .8 31.5-4.6 16.1 4.2z\"]\n};\nvar faCircleInfo = {\n prefix: 'fas',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faInfoCircle = faCircleInfo;\nvar faFishingRod = {\n prefix: 'fas',\n iconName: 'fishing-rod',\n icon: [448, 512, [], \"e3a8\", \"M295.9 48c-3 0-6 .4-8.8 1.2L209.8 71.3C137.7 91.9 88 157.8 88 232.8V288h8c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8V232.8c0-96.4 63.9-181.2 156.7-207.7L273.8 3.1C281 1 288.4 0 295.9 0C340.1 0 376 35.9 376 80.1V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V80.1C328 62.4 313.6 48 295.9 48zM256 344c0-71.6 55.6-127.8 89-148.1c4.3-2.6 9.6-2.6 14 0c33.5 20.3 89 76.6 89 148.1c0 32-16 80-64 112l27.3 27.3c3 3 4.7 7.1 4.7 11.3V496c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16v-1.4c0-4.2 1.7-8.3 4.7-11.3L320 456c-48-32-64-80-64-112zm128-32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHammerCrash = {\n prefix: 'fas',\n iconName: 'hammer-crash',\n icon: [640, 512, [], \"e414\", \"M283.9 378.6l18.3-60.1c18-4.1 34.2-16 43.1-33.8l64-128c10.5-21.1 8.4-45.2-3.7-63.6l52.7-76.6c3.7-5.4 10.4-8 16.7-6.5s11.2 6.7 12.3 13.1l16.2 104.1 105.1-7.4c6.5-.5 12.7 3.1 15.5 9s1.8 12.9-2.6 17.8L550.1 224l71.3 77.5c4.4 4.8 5.5 11.9 2.6 17.8s-9 9.5-15.5 9l-105.1-7.4L487.3 425c-1 6.5-5.9 11.7-12.3 13.1s-13-1.1-16.7-6.5l-59.7-86.7-91.4 52.2c-5.7 3.3-12.8 2.7-17.9-1.4s-7.2-10.9-5.3-17.2zm28.3-101.7c-9.3 10.9-25.2 14.4-38.6 7.7l-65.9-32.9 0 0L122 208.8l0 0L17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80C48.8 22.8 59.9 16 72 16H192c5 0 9.9 1.2 14.3 3.4l78.2 39.1 81.8 40.9c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-1.2 2.4-2.7 4.6-4.4 6.6zM107.6 237.4l85.9 42.9L90.9 485.5c-11.9 23.7-40.7 33.3-64.4 21.5S-6.8 466.2 5.1 442.5L107.6 237.4z\"]\n};\nvar faMessageHeart = {\n prefix: 'fas',\n iconName: 'message-heart',\n icon: [512, 512, [], \"e5c9\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM144 173.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M0 224c0 53 43 96 96 96h44.7c9.5-23.5 32.5-40 59.3-40c2 0 3.9 .1 5.8 .3C217.6 265.5 235.7 256 256 256s38.4 9.5 50.2 24.3c1.9-.2 3.9-.3 5.8-.3c26.9 0 49.9 16.5 59.3 40H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224zm288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 1 .1 2.1 .1 3.1c-.7-.8-1.4-1.6-2.1-2.3c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c.7 .7 1.5 1.4 2.3 2.1c-1-.1-2.1-.1-3.1-.1c-17.7 0-32 14.3-32 32s14.3 32 32 32c1 0 2.1-.1 3.1-.1c-.8 .7-1.6 1.3-2.3 2.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0c.7-.7 1.4-1.5 2.1-2.3c-.1 1-.1 2.1-.1 3.1c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1-.1-2.1-.1-3.1c.7 .8 1.3 1.6 2.1 2.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3c-.7-.7-1.5-1.4-2.3-2.1c1 .1 2.1 .1 3.1 .1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1 0-2.1 .1-3.1 .1c.8-.7 1.6-1.3 2.3-2.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-.7 .7-1.4 1.5-2.1 2.3c.1-1 .1-2.1 .1-3.1zM48 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm416 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faCameraPolaroid = {\n prefix: 'fas',\n iconName: 'camera-polaroid',\n icon: [576, 512, [], \"f8aa\", \"M64 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V246.3l53.3 79.9c7 10.5 10.7 22.9 10.7 35.5V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V361.7c0-12.6 3.7-25 10.7-35.5L64 246.3V96zM288 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM448 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M149.1 64.8L138.7 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H373.3L362.9 64.8C356.4 45.2 338.1 32 317.4 32H194.6c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'fas',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM223.8 93.7c13.3 0 24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm88 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCartArrowUp = {\n prefix: 'fas',\n iconName: 'cart-arrow-up',\n icon: [576, 512, [], \"e3ee\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H312V177.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V288h99.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCarOn = {\n prefix: 'fas',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM185.8 224H326.2c6.8 0 12.8 4.3 15.1 10.6L360.3 288H151.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9L82.2 292.4C62.1 300.9 48 320.8 48 344v40 64 32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V448H384v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C390.1 181.3 360 160 326.2 160H185.8c-33.8 0-64 21.3-75.3 53.1zM128 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V256c0 53 43 96 96 96v32h64V352H384v32h64V352c53 0 96-43 96-96V160c17.7 0 32-14.3 32-32s-14.3-32-32-32H512 480c-17.7 0-32 14.3-32 32v41.3c0 30.2-24.5 54.7-54.7 54.7c-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7H55 32zM640 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v8c0 13.3-10.7 24-24 24H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H552c48.6 0 88-39.4 88-88v-8z\"]\n};\nvar faArrowDown19 = {\n prefix: 'fas',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M450.7 38c-8.3-6-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V64c0-10.3-4.9-19.9-13.3-26zM160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM418.3 307a32 32 0 1 1 27.4 57.9A32 32 0 1 1 418.3 307zM405.1 419.8l-6.8 9.2c-10.5 14.2-7.5 34.2 6.7 44.8s34.2 7.5 44.8-6.7l48.8-65.8c14-18.9 21.5-41.7 21.5-65.2c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 39.2 25.6 72.4 61.1 83.8z\"]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faBuoyMooring = {\n prefix: 'fas',\n iconName: 'buoy-mooring',\n icon: [576, 512, [], \"e5b6\", \"M256 32c0-17.7 14.3-32 32-32s32 14.3 32 32V68.7c38 11.5 67.8 43.2 75.9 83.7l48.5 242.7c-.4 .3-.9 .6-1.3 .9c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-19 0-41.2-7.9-59.2-20.3c-.4-.3-.9-.6-1.3-.9l48.5-242.7c8.1-40.6 37.9-72.2 75.9-83.7V32zm32 96c-22 0-40.9 15.5-45.2 37L218.2 288H357.8L333.2 165c-4.3-21.5-23.2-37-45.2-37zm18.5 293.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faSquare4 = {\n prefix: 'fas',\n iconName: 'square-4',\n icon: [448, 512, [], \"e259\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm191.6 33.2c-12.6-4.2-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H240v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H169.3l37.5-112.4c4.2-12.6-2.6-26.2-15.2-30.4z\"]\n};\nvar faHandHoldingDroplet = {\n prefix: 'fas',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faTricycleAdult = {\n prefix: 'fas',\n iconName: 'tricycle-adult',\n icon: [640, 512, [], \"e5c4\", \"M312 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h31.4c2.6 0 5 1.3 6.5 3.4l79.2 112.5-48.2 64.3c-5.6 7.5-14.4 11.9-23.7 11.9c-1.9 0-3.8-.2-5.7-.5l-322.9-63c-13-2.5-25.6 6-28.2 19s6 25.6 19 28.2l4.6 .9C9.1 305.4 0 327.6 0 352c0 53 43 96 96 96c18.2 0 35.3-5.1 49.8-13.9c-.6 .4-1.2 .7-1.8 1.1c14.1 8.2 30.5 12.8 48 12.8c53 0 96-43 96-96c0-4.1-.3-8.2-.8-12.2l55.1 10.7c4.9 1 9.9 1.4 14.9 1.4c24.4 0 47.4-11.5 62.1-31.1l38.8-51.8 13.7 19.5C457 305.6 448 327.7 448 352c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-11.4 0-22.3 2-32.5 5.6L389.2 87.8C378.7 72.9 361.6 64 343.4 64H312zM223.5 327.4c5.3 6.8 8.5 15.3 8.5 24.6c0 22.1-17.9 40-40 40c-2.9 0-5.6-.3-8.3-.9c5.3-12 8.3-25.2 8.3-39.1c0-11.2-1.9-21.9-5.4-31.8l36.9 7.2zM96 312a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm448 0a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM94.1 117.2c-6-16.6-24.3-25.3-40.9-19.3s-25.3 24.3-19.3 40.9l14.9 41.7c9.4 26.2 31.7 45.6 58.9 51.3l77.7 16.3c17.3 3.6 34.3-7.4 37.9-24.7s-7.4-34.3-24.7-37.9l-77.7-16.3c-5.4-1.1-9.9-5-11.8-10.3L94.1 117.2z\"]\n};\nvar faWaveform = {\n prefix: 'fas',\n iconName: 'waveform',\n icon: [640, 512, [], \"f8f1\", \"M320 0c12 0 22.1 8.8 23.8 20.7l42 304.4L424.3 84.2c1.9-11.7 12-20.3 23.9-20.2s21.9 8.9 23.6 20.6l28.2 197.3 20.5-102.6c2.2-10.8 11.3-18.7 22.3-19.3s20.9 6.4 24.2 16.9L593.7 264H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c-10.5 0-19.8-6.9-22.9-16.9l-4.1-13.4-29.4 147c-2.3 11.5-12.5 19.6-24.2 19.3s-21.4-9-23.1-20.6L446.7 248.3l-39 243.5c-1.9 11.7-12.1 20.3-24 20.2s-21.9-8.9-23.5-20.7L320 199.6 279.8 491.3c-1.6 11.8-11.6 20.6-23.5 20.7s-22.1-8.5-24-20.2l-39-243.5L167.8 427.4c-1.7 11.6-11.4 20.3-23.1 20.6s-21.9-7.8-24.2-19.3l-29.4-147-4.1 13.4C83.8 305.1 74.5 312 64 312H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H46.3l26.8-87.1c3.2-10.5 13.2-17.5 24.2-16.9s20.2 8.5 22.3 19.3l20.5 102.6L168.2 84.6c1.7-11.7 11.7-20.5 23.6-20.6s22 8.5 23.9 20.2l38.5 240.9 42-304.4C297.9 8.8 308 0 320 0z\"]\n};\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faStarSharpHalfStroke = {\n prefix: 'fas',\n iconName: 'star-sharp-half-stroke',\n icon: [576, 512, [\"star-sharp-half-alt\"], \"e28d\", \"M56 230.4L41.3 218.9c-8.1-6.3-11.3-17-8-26.7S45.7 176 56 176H74.7h2.5 .1H214.5L258.6 37.2l.1-.3 1.3-4 0 0 5.2-16.2C268.3 6.8 277.6 0 288 0s19.7 6.8 22.9 16.7L316 32.9l1.3 4 .1 .3L361.6 176H498.7h.1 2.5H520c10.3 0 19.4 6.5 22.7 16.2s.1 20.4-8 26.7L520 230.4l-2 1.5-.1 .1-114 88.7 44.4 139.5 .1 .4 1.4 4.5 5 15.7c3.2 10-.5 21-9.1 27s-20.2 5.7-28.5-.7l-13-10.1-3.7-2.9-.3-.3L288 406.4 175.8 493.7l-.3 .3-3.7 2.9-13 10.1c-8.3 6.5-19.8 6.8-28.5 .7s-12.3-16.9-9.1-27l5-15.7 1.4-4.5 .1-.4 44.4-139.5L58.1 232l-.1-.1-2-1.5zM288 335.5l0 0 34.4 26.7 47.9 37.2-19.7-61.8-11.8-37.2 30.8-24L426.7 232H361.6h-41l-12.4-39L288 129.5l0 0V335.5z\"]\n};\nvar faStarSharpHalfAlt = faStarSharpHalfStroke;\nvar faNfcSignal = {\n prefix: 'fas',\n iconName: 'nfc-signal',\n icon: [512, 512, [], \"e1fb\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V227c-22.4 3.4-43.8 9.6-64 18.3V144c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v66.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V144c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16V261.7c-47.2 28.4-84.8 71.2-106.7 122.3H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H233.9c-5.8 20.4-9.2 41.9-9.8 64H64c-35.3 0-64-28.7-64-64V96zM488 256c13.3 0 24 10.7 24 24s-10.7 24-24 24c-101.6 0-184 82.4-184 184c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-128.1 103.9-232 232-232zm-8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-72c0 13.3-10.7 24-24 24c-48.6 0-88 39.4-88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-75.1 60.9-136 136-136c13.3 0 24 10.7 24 24z\"]\n};\nvar faPlaneProp = {\n prefix: 'fas',\n iconName: 'plane-prop',\n icon: [576, 512, [], \"e22b\", \"M240 384l-8.3-66.4-110-11L113.8 370c-1 8-7.8 14-15.9 14H62.1c-8.1 0-14.9-6-15.9-14L36 287.8c-1.3 .2-2.6 .2-4 .2c-17.7 0-32-14.3-32-32s14.3-32 32-32c1.3 0 2.7 .1 4 .2L46.2 142c1-8 7.8-14 15.9-14H97.9c8.1 0 14.9 6 15.9 14l7.9 63.4 110-11L240 128H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h24l6.2-50c1-8 7.8-14 15.9-14h35.8c8.1 0 14.9 6 15.9 14L328 64h40V48c0-8.8 7.2-16 16-16s16 7.2 16 16V80c8.8 0 16 7.2 16 16s-7.2 16-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H336l8 64H482.3c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64H344l-8 64h32V368c0-8.8 7.2-16 16-16s16 7.2 16 16v32c8.8 0 16 7.2 16 16s-7.2 16-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H328l-6.2 50c-1 8-7.8 14-15.9 14H270.1c-8.1 0-14.9-6-15.9-14L248 448H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h16z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"]\n};\nvar faClockDesk = {\n prefix: 'fas',\n iconName: 'clock-desk',\n icon: [448, 512, [], \"e134\", \"M0 224a224 224 0 1 1 448 0A224 224 0 1 1 0 224zM224 96c-13.3 0-24 10.7-24 24V224c0 6.4 2.5 12.5 7 17l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41-41V120c0-13.3-10.7-24-24-24zm0 384c96.4 0 180.3-53.3 224-132V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V348c43.7 78.7 127.6 132 224 132z\"]\n};\nvar faCalendarClock = {\n prefix: 'fas',\n iconName: 'calendar-clock',\n icon: [576, 512, [\"calendar-time\"], \"e0d2\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H432 0V464c0 26.5 21.5 48 48 48H330.8C285.6 480.1 256 427.5 256 368c0-97.2 78.8-176 176-176c5.4 0 10.7 .2 16 .7V192zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faCalendarTime = faCalendarClock;\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM224 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM224 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM352 96a64 64 0 1 1 128 0A64 64 0 1 1 352 96zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zm64 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'fas',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64V32zm32 96H352V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM160 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faPlateUtensils = {\n prefix: 'fas',\n iconName: 'plate-utensils',\n icon: [640, 512, [58713], \"e43b\", \"M40.7 16c4 .3 7.1 3.5 7.3 7.5L55.5 152H72.9L88.1 23.1c.5-4 3.9-7.1 7.9-7.1s7.5 3 7.9 7.1L119.1 152h17.3L144 23.5c.2-4 3.3-7.2 7.3-7.5s7.6 2.3 8.5 6.1l30.3 128.7c1.3 5.4 1.9 11 1.9 16.6c0 39.9-32.2 72.2-72 72.5V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V240c-39.8-.3-72-32.6-72-72.5c0-5.6 .6-11.2 1.9-16.6L32.2 22.2c.9-3.9 4.5-6.5 8.5-6.1zm572.4 1c2-.7 4-1 6.1-1c11.5 0 20.9 9.3 20.9 20.9V216 320 472c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H544c-17.7 0-32-14.3-32-32V160C512 59.2 596.2 23.2 613.1 17zM221.2 143.6L204.9 74.3C241.8 47.7 287.1 32 336 32c60.3 0 115 23.8 155.3 62.5C484.3 113.3 480 135 480 160v26.2C454.1 132.8 399.3 96 336 96c-44.9 0-85.5 18.5-114.6 48.3l-.2-.8zM336 480c-76.2 0-143.5-38.1-184-96.2V266.8c8.5-2.8 16.6-6.7 24-11.4l0 .6c0 88.4 71.6 160 160 160c68.1 0 126.2-42.5 149.3-102.4c9.2 21 29.3 36.2 53.2 38.2C502.6 427.6 425.4 480 336 480zM208 256a128 128 0 1 1 256 0 128 128 0 1 1 -256 0z\"]\n};\nvar faFamilyPants = {\n prefix: 'fas',\n iconName: 'family-pants',\n icon: [512, 512, [], \"e302\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM105.6 160h44.8c9.2 0 18.1 1.6 26.4 4.5c-.5 3.8-.8 7.6-.8 11.5c0 24.3 10.9 46.1 28 60.8c-35.7 18.7-60 56.1-60 99.2v16c0 28.4 12.4 54 32 71.6V480c0 6.1 .8 11.9 2.4 17.5c-8.7 9-20.9 14.5-34.4 14.5H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160zM368 512c-13.5 0-25.7-5.6-34.4-14.5c1.6-5.5 2.4-11.4 2.4-17.5V423.6c19.6-17.6 32-43.1 32-71.6V336c0-43.1-24.3-80.5-60-99.2c17.1-14.7 28-36.5 28-60.8c0-3.9-.3-7.8-.8-11.5c8.3-2.9 17.2-4.5 26.4-4.5h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H368zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM256 128a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128c44.2 0 80 35.8 80 80v16c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V407.4c-19.1-11.1-32-31.7-32-55.4V336c0-44.2 35.8-80 80-80z\"]\n};\nvar faHoseReel = {\n prefix: 'fas',\n iconName: 'hose-reel',\n icon: [640, 512, [], \"e41a\", \"M320 64c-106 0-192 86-192 192s86 192 192 192c40.8 0 78.6-12.7 109.7-34.4c14.5-10.1 34.4-6.6 44.6 7.9s6.6 34.4-7.9 44.6C424.8 495 374.3 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0S576 114.6 576 256v96h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.3l-11.5 80.2c7.8 1.1 13.7 7.8 13.7 15.8c0 8.8-7.2 16-16 16H520c-8.8 0-16-7.2-16-16c0-8.1 6-14.7 13.7-15.8L506.3 400H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V256c0-106-86-192-192-192zM224 256a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zm96 160a160 160 0 1 1 0-320 160 160 0 1 1 0 320zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHouseWindow = {\n prefix: 'fas',\n iconName: 'house-window',\n icon: [576, 512, [], \"e3b3\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM248 192h80c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24z\"]\n};\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l171.8 98.1L448 104l0 .9 47.9 27.4c12.6 7.2 18.8 22 15.1 36s-16.4 23.8-30.9 23.8H32c-14.5 0-27.2-9.8-30.9-23.8s2.5-28.8 15.1-36L64 104.9V104l4.4-1.6L240.1 4.2zM64 224h64V416h40V224h64V416h48V224h64V416h40V224h64V420.3c.6 .3 1.2 .7 1.8 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V224z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c17.7 0 32 14.3 32 32V42.4c93.7 13.9 167.7 88 181.6 181.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H469.6c-13.9 93.7-88 167.7-181.6 181.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V469.6C130.3 455.7 56.3 381.7 42.4 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H42.4C56.3 130.3 130.3 56.3 224 42.4V32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6V384c0-17.7 14.3-32 32-32s32 14.3 32 32v20.6c58.3-12.5 104.1-58.4 116.6-116.6H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h20.6C392.1 165.7 346.3 119.9 288 107.4V128c0 17.7-14.3 32-32 32s-32-14.3-32-32V107.4C165.7 119.9 119.9 165.7 107.4 224H128c17.7 0 32 14.3 32 32s-14.3 32-32 32H107.4zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCloudRainbow = {\n prefix: 'fas',\n iconName: 'cloud-rainbow',\n icon: [576, 512, [], \"f73e\", \"M560 64.4C466.8 69.5 385.4 119 336.5 192l-.5 0c-19.7 0-38.3 5.1-54.4 14.1c-5.5-6-11.5-11.4-18-16.4C319.9 81.4 430.9 6.1 560 .4c8.8-.4 16 6.8 16 15.6V48c0 8.8-7.2 16-16 16.4zM424 234.7c-13.3-16.9-31.5-29.9-52.3-36.9C415.4 139.9 483.1 101.2 560 96.5c8.8-.5 16 6.7 16 15.5v32c0 8.8-7.2 15.9-16 16.7c-55.3 4.6-104 32.6-136 74zm23.4 57.2c-1-9.1-3-17.9-6.1-26.2c25.7-40.1 68.9-67.9 118.8-72.9c8.8-.9 16 6.4 16 15.2v32c0 8.8-7.2 15.9-15.9 17.3c-31.4 5.2-57.7 25.8-70.9 53.7c-12.5-8.7-26.6-15.3-41.8-19.1zM96 512c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 318.1 64 311.1 64 304c0-61.9 50.1-112 112-112c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96z\"]\n};\nvar faPersonCane = {\n prefix: 'fas',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M272 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-8 187.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3zM352 376c0-4.4 3.6-8 8-8s8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-30.9-25.1-56-56-56s-56 25.1-56 56v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8z\"]\n};\nvar faAlien = {\n prefix: 'fas',\n iconName: 'alien',\n icon: [448, 512, [128125], \"f8f5\", \"M224 0C100.3 0 0 100.3 0 224C0 359.3 148.8 471.7 194.7 503.2c8.6 5.9 18.9 8.8 29.3 8.8s20.7-2.9 29.3-8.8C299.2 471.7 448 359.3 448 224C448 100.3 347.7 0 224 0zm32 306.3c0-45.4 36.8-82.3 82.3-82.3h32c7.6 0 13.7 6.1 13.7 13.7c0 45.4-36.8 82.3-82.3 82.3h-32c-7.6 0-13.7-6.1-13.7-13.7zM109.7 224c45.4 0 82.3 36.8 82.3 82.3c0 7.6-6.1 13.7-13.7 13.7h-32C100.8 320 64 283.2 64 237.7c0-7.6 6.1-13.7 13.7-13.7h32z\"]\n};\nvar faTent = {\n prefix: 'fas',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M269.4 6C280.5-2 295.5-2 306.6 6l224 160c7.4 5.3 12.2 13.5 13.2 22.5l32 288c1 9-1.9 18.1-8 24.9s-14.7 10.7-23.8 10.7H416L288 288V512H32c-9.1 0-17.8-3.9-23.8-10.7s-9-15.8-8-24.9l32-288c1-9 5.8-17.2 13.2-22.5L269.4 6z\"]\n};\nvar faLaptopBinary = {\n prefix: 'fas',\n iconName: 'laptop-binary',\n icon: [640, 512, [], \"e5e7\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM200 128h16c22.1 0 40 17.9 40 40v32c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm-8 40v32c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8zm112-40h16c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm80 40c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v32c0 22.1-17.9 40-40 40H424c-22.1 0-40-17.9-40-40V168zm40-8c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H424zM192 272h16c8.8 0 16 7.2 16 16v64H192V304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm256 16v64H416V304c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16zm-80 24v40l-32 0V312c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v40l-32 0V312c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M151.2 69.7l55.9 167.7-11 33.1c-2.7 8.2-4.1 16.7-4.1 25.3V464c0 14.5 3.9 28.2 10.7 39.9C195 509 185.9 512 176 512H48c-26.5 0-48-21.5-48-48V270.5c0-9.5 2.8-18.7 8.1-26.6l47.9-71.8c5.3-7.9 8.1-17.1 8.1-26.6V128 54.3 48C64 21.5 85.5 0 112 0h4.5c.2 0 .4 0 .6 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c.2 0 .4 0 .6 0H336c26.5 0 48 21.5 48 48v6.3V128v17.5c0 9.5 2.8 18.7 8.1 26.6l47.9 71.8c5.3 7.9 8.1 17.1 8.1 26.6V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V295.8c0-5.2 .8-10.3 2.5-15.2L296.8 69.7C279.4 79.7 255.4 88 224 88s-55.4-8.3-72.8-18.3zM96 456a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM63.5 255.5c-4.7 4.7-4.7 12.3 0 17L79 288 63.5 303.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L96 305l15.5 15.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L113 288l15.5-15.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L96 271 80.5 255.5c-4.7-4.7-12.3-4.7-17 0zM304 280v8 32c0 8.8 7.2 16 16 16h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faPeopleDressSimple = {\n prefix: 'fas',\n iconName: 'people-dress-simple',\n icon: [512, 512, [], \"e218\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-15.7 32c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V384h21.6c21.3 0 36.6-20.3 30.8-40.8L205.3 206.4c-7.9-27.5-33-46.4-61.5-46.4H112.3zM384 128A64 64 0 1 0 384 0a64 64 0 1 0 0 128zm-15.7 32c-28.6 0-53.7 18.9-61.5 46.4L267.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H320v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\"]\n};\nvar faArrowDownAZ = {\n prefix: 'fas',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M183.6 469.6C177.5 476.2 169 480 160 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L128 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 320c0-17.7 14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352H352c-17.7 0-32-14.3-32-32zM416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176h40.4L416 135.6 395.8 176z\"]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faBowlingBallPin = {\n prefix: 'fas',\n iconName: 'bowling-ball-pin',\n icon: [576, 512, [], \"e0c3\", \"M416 64c0-35.3 28.7-64 64-64s64 28.7 64 64v1.1c0 7.4-1 14.8-3 22l-17.7 64.8c-.7 2.7-1.3 5.4-1.8 8.1H438.5c-.5-2.7-1.1-5.4-1.8-8.1L418.9 87.1c-2-7.2-2.9-14.6-2.9-22V64zm22.8 128h82.3c1 6.3 2.6 12.4 4.8 18.4L566 319.3c6.6 17.9 10 36.8 10 55.8c0 20.5-3.9 40.9-11.5 59.9l-22.7 56.9C536.9 504 525.1 512 512 512H448c-13.1 0-24.9-8-29.7-20.1l-17.8-44.5c29.8-40 47.5-89.6 47.5-143.4c0-30.7-5.8-60.1-16.3-87.1l2.4-6.5c2.2-6 3.8-12.1 4.8-18.4zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zM224 172a28 28 0 1 0 -56 0 28 28 0 1 0 56 0zM196 288a28 28 0 1 0 0-56 28 28 0 1 0 0 56zm-44-68a28 28 0 1 0 -56 0 28 28 0 1 0 56 0z\"]\n};\nvar faBellSchoolSlash = {\n prefix: 'fas',\n iconName: 'bell-school-slash',\n icon: [640, 512, [], \"f5d6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L570.7 422c3.4-6.6 5.3-14.1 5.3-22c0-26.5-21.5-48-48-48c-12.1 0-23.1 4.5-31.5 11.8L445 323.5c22.1-33 35-72.8 35-115.5C480 93.1 386.9 0 272 0C211.2 0 156.6 26.1 118.5 67.6L38.8 5.1zM220 147.2c14-11.9 32.1-19.2 52-19.2c44.2 0 80 35.8 80 80c0 12.9-3.1 25.1-8.5 35.9l-26.1-20.4c1.7-4.9 2.6-10.1 2.6-15.5c0-26.5-21.5-48-48-48c-9.5 0-18.4 2.8-25.9 7.6L220 147.2zM508.3 496.5L465.8 463c-3.2 .7-6.4 1-9.8 1H416V423.8l-16.1-12.7C362.9 434.5 319 448 272 448c-54 0-103.9-17.9-144-48v64c0 26.5 21.5 48 48 48H384h32 40c19.3 0 37.3-5.7 52.3-15.5zM373 389.9L71.5 152.4C66.6 170.1 64 188.7 64 208c0 114.9 93.1 208 208 208c36.7 0 71.1-9.5 101-26.1z\"]\n};\nvar faPlusLarge = {\n prefix: 'fas',\n iconName: 'plus-large',\n icon: [512, 512, [], \"e59e\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H224V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-192 0 0-192z\"]\n};\nvar faMoneyBillWheat = {\n prefix: 'fas',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M176 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zM56 16h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 64 32 53.3 32 40s10.7-24 24-24zM24 88H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24S10.7 88 24 88zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zM400 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zm80 144c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM352 128c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-96 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM0 304c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V304zM48 416v48H96c0-26.5-21.5-48-48-48zM96 304H48v48c26.5 0 48-21.5 48-48zM464 416c-26.5 0-48 21.5-48 48h48V416zM416 304c0 26.5 21.5 48 48 48V304H416zm-96 80a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faCameraViewfinder = {\n prefix: 'fas',\n iconName: 'camera-viewfinder',\n icon: [512, 512, [\"screenshot\"], \"e0da\", \"M56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0zM376 0h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-4.4-3.6-8-8-8H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM48 376v80c0 4.4 3.6 8 8 8h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm464 0v80c0 30.9-25.1 56-56 56H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM180 128l6.2-16.4c3.5-9.4 12.5-15.6 22.5-15.6h94.7c10 0 19 6.2 22.5 15.6L332 128h36c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h36zM320 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faScreenshot = faCameraViewfinder;\nvar faMessageMusic = {\n prefix: 'fas',\n iconName: 'message-music',\n icon: [512, 512, [\"comment-alt-music\"], \"f8af\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM352 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V187.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V128 96z\"]\n};\nvar faCommentAltMusic = faMessageMusic;\nvar faCarBuilding = {\n prefix: 'fas',\n iconName: 'car-building',\n icon: [640, 512, [], \"f859\", \"M48 0C21.5 0 0 21.5 0 48V432c0 26.5 21.5 48 48 48H192V448 352c0-32.8 16.5-61.8 41.6-79.1l5.6-16.9H208c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16h32c8.2 0 14.9 6.1 15.9 14l.5-1.4c10.5-31.6 34.2-56 63.7-68.2V48c0-26.5-21.5-48-48-48H48zM80 192h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0-96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V112zM80 288h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm282.6-64H501.4c6.9 0 13 4.4 15.2 10.9L534.3 288H329.7l17.7-53.1c2.2-6.5 8.3-10.9 15.2-10.9zm-75.9-9.3l-26.6 79.7C238.8 304.7 224 326.6 224 352v96h0v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448H560v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32l0-32V352c0-25.4-14.8-47.3-36.1-57.6l-26.6-79.7C566.4 182 535.8 160 501.4 160H362.6c-34.4 0-65 22-75.9 54.7zM304 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBorderBottomRight = {\n prefix: 'fas',\n iconName: 'border-bottom-right',\n icon: [448, 512, [\"border-style-alt\"], \"f854\", \"M448 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 336c0 8.8-7.2 16-16 16L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l336 0c44.2 0 80-35.8 80-80l0-336zM288 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM96 64a32 32 0 1 0 64 0A32 32 0 1 0 96 64zm96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64zM32 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faBorderStyleAlt = faBorderBottomRight;\nvar faOctagon = {\n prefix: 'fas',\n iconName: 'octagon',\n icon: [512, 512, [128721], \"f306\", \"M191.5 .1c-19.1 0-37.4 7.6-50.9 21.1L21.2 140.6C7.7 154.1 .1 172.4 .1 191.5v129c0 19.1 7.6 37.4 21.1 50.9L140.6 490.8c13.5 13.5 31.8 21.1 50.9 21.1h129c19.1 0 37.4-7.6 50.9-21.1L490.8 371.4c13.5-13.5 21.1-31.8 21.1-50.9v-129c0-19.1-7.6-37.4-21.1-50.9L371.4 21.2C357.9 7.7 339.6 .1 320.5 .1h-129z\"]\n};\nvar faCommentArrowUpRight = {\n prefix: 'fas',\n iconName: 'comment-arrow-up-right',\n icon: [512, 512, [], \"e145\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM200 160H312c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V241.9l-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faOctagonDivide = {\n prefix: 'fas',\n iconName: 'octagon-divide',\n icon: [512, 512, [], \"e203\", \"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM256 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-88 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M247.2 17c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9l-14.6-82.8c-3.9-22.1-14.6-42.3-30.7-57.9L388.9 57.5c-16.1-15.6-36.6-25.6-58.7-28.7L247.2 17zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowRotateLeft = {\n prefix: 'fas',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M125.7 160H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z\"]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faTvMusic = {\n prefix: 'fas',\n iconName: 'tv-music',\n icon: [640, 512, [], \"f8e6\", \"M576 64V352H64V64H576zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 480c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zM416 112c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v48 49.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V219.1l96-36v42.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V160 112z\"]\n};\nvar faHardDrive = {\n prefix: 'fas',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V280.4c-17-15.2-39.4-24.4-64-24.4H64c-24.6 0-47 9.2-64 24.4V96zM64 288H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHdd = faHardDrive;\nvar faReel = {\n prefix: 'fas',\n iconName: 'reel',\n icon: [448, 512, [], \"e238\", \"M0 32C0 14.3 14.3 0 32 0H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V88c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V64H32C14.3 64 0 49.7 0 32zM0 480c0-17.7 14.3-32 32-32H64V424c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24v24h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM80 144H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFaceGrinSquintTears = {\n prefix: 'fas',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-6.8 6.8-21.4 12.4-37.4 16.7c-16.3 4.4-34.1 7.5-46.3 9.3c-1.6 .2-3.1 .5-4.6 .6c-4.9 .8-9.1-2.8-9.5-7.4c-.1-.7 0-1.4 .1-2.1c1.6-11.2 4.6-29.6 9-47c.3-1.3 .7-2.6 1-3.9c4.3-15.9 9.8-30.5 16.7-37.4zm-44.7 19c-1.5 4.8-2.9 9.6-4.1 14.3c-4.8 18.9-8 38.5-9.7 50.3c-4 26.8 18.9 49.7 45.7 45.8c11.9-1.6 31.5-4.8 50.4-9.7c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c4.8-18.9 8-38.5 9.7-50.3c4-26.8-18.9-49.7-45.7-45.8c-11.9 1.6-31.5 4.8-50.4 9.7c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75C158.2-8.3 284.5-22.2 382.2 33.2zM51.5 410.1c18.5-5 38.8-8.3 50.9-10c.4-.1 .7-.1 1-.1c5.1-.2 9.2 4.3 8.4 9.6c-1.7 12.1-5 32.4-10 50.9C97.6 476.4 92 491 85.2 497.8C66 517 34.5 516.6 14.9 497.1s-20-51-.7-70.3c6.8-6.8 21.4-12.4 37.4-16.7zM416.9 209c-4.7-11.9-20.8-11-26.8 .3c-19 35.5-45 70.8-77.5 103.3S244.8 371.1 209.3 390c-11.3 6-12.2 22.1-.3 26.8c57.6 22.9 125.8 11 172.3-35.5s58.4-114.8 35.5-172.3zM87.1 285.1c2 2 4.6 3.2 7.3 3.4l56.1 5.1 5.1 56.1c.3 2.8 1.5 5.4 3.4 7.3c6.3 6.3 17.2 3.6 19.8-4.9l29.7-97.4c3.5-11.6-7.3-22.5-19-19L92 265.3c-8.6 2.6-11.3 13.4-4.9 19.8zM265.3 92l-29.7 97.4c-3.5 11.6 7.3 22.5 19 19l97.4-29.7c8.6-2.6 11.3-13.4 4.9-19.8c-2-2-4.6-3.2-7.3-3.4l-56.1-5.1-5.1-56.1c-.3-2.8-1.5-5.4-3.4-7.3c-6.3-6.3-17.2-3.6-19.8 4.9z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V224v64V448c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H96V64zm448 0v64h32c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32H544v64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V288 224 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32zM416 224v64H224V224H416z\"]\n};\nvar faRectangleList = {\n prefix: 'fas',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\"]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'fas',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128H197.5c13.2 37.3 48.7 64 90.5 64s77.4-26.7 90.5-64H512c35.3 0 64 28.7 64 64V352H448c-17.7 0-32 14.3-32 32l0 128L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zM448 512l0-128H576L448 512zM96 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faAlarmExclamation = {\n prefix: 'fas',\n iconName: 'alarm-exclamation',\n icon: [512, 512, [], \"f843\", \"M14.9 146.4C5.5 131.6 0 114 0 95.2C0 42.6 42.6 0 95.2 0c25 0 47.8 9.6 64.8 25.4L14.9 146.4zM390.2 467.4C352.8 495.4 306.3 512 256 512s-96.8-16.6-134.1-44.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l35.2-35.2C48.6 384.8 32 338.3 32 288C32 164.3 132.3 64 256 64s224 100.3 224 224c0 50.3-16.6 96.8-44.6 134.2l35.2 35.2c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-35.2-35.2zM352 25.4C369 9.6 391.8 0 416.8 0C469.4 0 512 42.6 512 95.2c0 18.8-5.5 36.3-14.9 51.1L352 25.4zM288 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-200c0-13.3-10.7-24-24-24s-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'fas',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm32 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faTrafficCone = {\n prefix: 'fas',\n iconName: 'traffic-cone',\n icon: [512, 512, [], \"f636\", \"M173.7 128L216 20.3C220.8 8.1 232.7 0 245.8 0h20.4c13.2 0 25 8.1 29.8 20.3L338.3 128H173.7zm-25.1 64H363.4l37.7 96H110.9l37.7-96zM48 448l37.7-96H426.3L464 448h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48z\"]\n};\nvar faGrate = {\n prefix: 'fas',\n iconName: 'grate',\n icon: [448, 512, [], \"e193\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64h64 96 96 64c35.3 0 64-28.7 64-64V256 96c0-35.3-28.7-64-64-64H320 224 128 64zm0 64H96V224H64V96zm0 192H96V416H64V288zm96 128V288h32V416H160zm96 0V288h32V416H256zm96 0V288h32V416H352zm32-192H352V96h32V224zM288 96V224H256V96h32zm-96 0V224H160V96h32z\"]\n};\nvar faArrowDownRight = {\n prefix: 'fas',\n iconName: 'arrow-down-right',\n icon: [384, 512, [], \"e093\", \"M320 416c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 146.7L86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 352 96 352c-17.7 0-32 14.3-32 32s14.3 32 32 32l224 0z\"]\n};\nvar faPersonSkiingNordic = {\n prefix: 'fas',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM227.2 160c1.9 0 3.8 .1 5.6 .3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9L291.3 464H202.8l41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464H99.7l54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zM121.4 198.6c.4 .4 .8 .8 1.3 1.2L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H159.3c.4 0 .9 0 1.3 0H319.3c.5 0 1 0 1.4 0H504c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24H434.6l27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7c0-17.7-14.3-32-32-32H426.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4L402.3 464H357.8l21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3C353 264.7 387.9 288 426.7 288h2.7z\"]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [512, 512, [], \"f271\", \"M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM256 248c13.3 0 24 10.7 24 24v56h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H176c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V272c0-13.3 10.7-24 24-24z\"]\n};\nvar faPersonFromPortal = {\n prefix: 'fas',\n iconName: 'person-from-portal',\n icon: [512, 512, [\"portal-exit\"], \"e023\", \"M154.2 352c3.8-29.6 5.8-62.1 5.8-96c0-18.3-.6-36.1-1.7-53.4c12.4 8.3 29.4 7 40.4-4l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L233.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L334 299l30.9-82.4 5.1 12.3C385 264.7 419.9 288 458.7 288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H458.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c0 0 0 0-.1 .1C141 63.1 112.8 0 80 0C35.8 0 0 114.6 0 256S35.8 512 80 512c25.3 0 47.8-37.5 62.5-96h55.1c19 0 36.2-11.2 43.9-28.5L253 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L187.2 352h-33zM368 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPortalExit = faPersonFromPortal;\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M.3 166.9L0 68C0 57.7 9.5 50.1 19.5 52.3l35.6 7.9c10.6 2.3 19.2 9.9 23 20L96 128l127.3 37.6L181.8 20.4C178.9 10.2 186.6 0 197.2 0h40.1c11.6 0 22.2 6.2 27.9 16.3l109 193.8 107.2 31.7c15.9 4.7 30.8 12.5 43.7 22.8l34.4 27.6c24 19.2 18.1 57.3-10.7 68.2c-41.2 15.6-86.2 18.1-128.8 7L121.7 289.8c-11.1-2.9-21.2-8.7-29.3-16.9L9.5 189.4c-5.9-6-9.3-14-9.3-22.5zM32 448H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32zm96-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCowbellCirclePlus = {\n prefix: 'fas',\n iconName: 'cowbell-circle-plus',\n icon: [576, 512, [\"cowbell-more\"], \"f8b4\", \"M112 96h16V40c0-22.1 17.9-40 40-40H280c22.1 0 40 17.9 40 40V96h16c21.4 0 40.3 14.2 46.2 34.8l18.3 64C318.3 209.7 256 281.6 256 368c0 16.6 2.3 32.7 6.6 48H48c-15.1 0-29.3-7.1-38.3-19.1s-12-27.6-7.8-42.1l64-224C71.7 110.2 90.6 96 112 96zM285.5 465.6C277.9 492.4 253.2 512 224 512c-35.3 0-64-28.7-64-64H275.2c3.1 6.1 6.6 12 10.3 17.6zM272 96V48H176V96h96zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faCowbellMore = faCowbellCirclePlus;\nvar faCircleLeft = {\n prefix: 'fas',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9L117.5 269.8c-3.5-3.8-5.5-8.7-5.5-13.8s2-10.1 5.5-13.8l99.9-107.1c4.2-4.5 10.1-7.1 16.3-7.1c12.3 0 22.3 10 22.3 22.3l0 57.7 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 57.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.3-7.1z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faDistributeSpacingVertical = {\n prefix: 'fas',\n iconName: 'distribute-spacing-vertical',\n icon: [512, 512, [], \"e366\", \"M0 56C0 42.7 10.7 32 24 32H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56zM96 208c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V208zM24 432H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSignalBarsFair = {\n prefix: 'fas',\n iconName: 'signal-bars-fair',\n icon: [640, 512, [\"signal-alt-2\"], \"f692\", \"M240 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\"]\n};\nvar faSignalAlt2 = faSignalBarsFair;\nvar faSportsball = {\n prefix: 'fas',\n iconName: 'sportsball',\n icon: [512, 512, [], \"e44b\", \"M487.6 48.9c-.1-.5-.2-1-.3-1.5L365.3 169.3c34.8 30.2 79 49.8 127.6 53.9c9.3-63 4.7-125.5-5.4-174.3zM464.8 24.6c-1.1-.3-2.2-.5-3.3-.7c-65.6-11-122.9-12.5-172.8-6c3.9 49.1 23.6 93.7 54 128.8L464.8 24.6zM446 358.4c19.8-32.3 33-67.7 41.1-103.6c-55.1-5.3-105.1-28.1-144.4-62.8l-64 64L418.5 395.9c10.3-11.8 19.4-24.4 27.4-37.5zM320 169.4C285 129.7 262.1 79 257 23.3c-17 3.6-33 8.3-48.1 13.9c-37 13.7-67.8 33-93.1 56L256 233.4l64-64zM233.4 256L93.4 116.1C83.2 127.9 74.1 140.5 66 153.6c-19.8 32.3-33 67.7-41.1 103.6c55.1 5.3 105.1 28.1 144.4 62.8l64-64zM192 342.6c35 39.7 58 90.3 63 146.1c17-3.6 33-8.3 48.1-13.9c37-13.7 67.8-33 93.1-56L256 278.6l-64 64zm-45.3 .1c-34.8-30.2-79-49.8-127.6-53.9c-9.3 63-4.7 125.5 5.4 174.3c.1 .5 .2 1 .3 1.5L146.7 342.7zm22.6 22.6L47.2 487.4c1.1 .3 2.2 .5 3.3 .7c65.6 11 123 12.5 172.8 6c-3.9-49.1-23.6-93.7-54-128.8z\"]\n};\nvar faGameConsoleHandheldCrank = {\n prefix: 'fas',\n iconName: 'game-console-handheld-crank',\n icon: [640, 512, [], \"e5b9\", \"M32 96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V96zm96 0c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H128zm32 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V336zm144 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM512 168c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H560v72c0 13.3-10.7 24-24 24H512V272 256 200 168z\"]\n};\nvar faTrainSubway = {\n prefix: 'fas',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M96 0C43 0 0 43 0 96V352c0 48 35.2 87.7 81.1 94.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H288l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c46-7.1 81.1-46.9 81.1-94.9V96c0-53-43-96-96-96H96zM64 128c0-17.7 14.3-32 32-32h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM272 96h80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H272c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM64 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'fas',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zm96 64H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zm160 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFaceSmileUpsideDown = {\n prefix: 'fas',\n iconName: 'face-smile-upside-down',\n icon: [512, 512, [], \"e395\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm91.9 186.5C330 165.8 299.4 144 256 144s-74 21.8-91.9 42.5c-5.8 6.7-15.9 7.4-22.6 1.6s-7.4-15.9-1.6-22.6c22.2-25.7 61-53.5 116.1-53.5s93.8 27.9 116.1 53.5c5.8 6.7 5.1 16.8-1.6 22.6s-16.8 5.1-22.6-1.6zM367.6 304a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faBallPile = {\n prefix: 'fas',\n iconName: 'ball-pile',\n icon: [640, 512, [], \"f77e\", \"M320 160A80 80 0 1 0 320 0a80 80 0 1 0 0 160zM208 328a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM192 432A80 80 0 1 0 32 432a80 80 0 1 0 160 0zm128 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm288-80a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM432 328a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faBadgeDollar = {\n prefix: 'fas',\n iconName: 'badge-dollar',\n icon: [512, 512, [], \"f645\", \"M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zm20.9 140.4c0-11-9-20-20-20s-20 9-20 20v17.4c-8.8 1.8-17.7 4.8-25.7 9.6c-15 8.9-27.7 24.4-27.6 46.9c.1 21.5 12.6 35.1 26.3 43.4c11.9 7.2 27 11.7 39.1 15.4l1.9 .6c13.9 4.2 24.4 7.6 31.7 12.2c6.1 3.8 7.5 6.8 7.6 11c.1 6.5-2.5 10.4-7.6 13.6c-6 3.7-15.2 5.9-25.1 5.6c-12.7-.4-24.6-4.4-39.7-9.6l0 0 0 0 0 0 0 0c-2.6-.9-5.2-1.8-8-2.7c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c2.2 .7 4.5 1.5 6.8 2.3c9.7 3.3 20.9 7.2 32.8 9.6v18c0 11 9 20 20 20s20-9 20-20V354.4c9.3-1.7 18.6-4.9 26.8-10.1c15.3-9.5 26.8-25.7 26.5-48.1c-.3-21.6-12.4-35.6-26.3-44.3c-12.5-7.9-28.3-12.6-40.8-16.4l-.6-.2c-14.1-4.3-24.6-7.5-31.9-11.9c-6.2-3.7-7-6.3-7-9.3c0-5.1 2.1-8.8 7.9-12.3c6.5-3.8 16-6 25-5.8c10.9 .2 22.9 2.6 35.2 5.8c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-7.8-2.1-16.3-4.1-25.1-5.4V140.4z\"]\n};\nvar faMoneyBillsSimple = {\n prefix: 'fas',\n iconName: 'money-bills-simple',\n icon: [640, 512, [\"money-bills-alt\"], \"e1f4\", \"M96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM288 208a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faMoneyBillsAlt = faMoneyBillsSimple;\nvar faListTimeline = {\n prefix: 'fas',\n iconName: 'list-timeline',\n icon: [512, 512, [], \"e1d1\", \"M16 96a48 48 0 1 1 96 0A48 48 0 1 1 16 96zM64 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 160a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM191.5 54.4c5.5-4.2 12.3-6.4 19.2-6.4H424c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H210.7c-6.9 0-13.7-2.2-19.2-6.4l-38.4-28.8c-8.5-6.4-8.5-19.2 0-25.6l38.4-28.8zM153.1 243.2l38.4-28.8c5.5-4.2 12.3-6.4 19.2-6.4H488c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H210.7c-6.9 0-13.7-2.2-19.2-6.4l-38.4-28.8c-8.5-6.4-8.5-19.2 0-25.6zm0 160l38.4-28.8c5.5-4.2 12.3-6.4 19.2-6.4H424c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H210.7c-6.9 0-13.7-2.2-19.2-6.4l-38.4-28.8c-8.5-6.4-8.5-19.2 0-25.6z\"]\n};\nvar faIndianRupeeSign = {\n prefix: 'fas',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 64C0 46.3 14.3 32 32 32H96h16H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H231.8c9.6 14.4 16.7 30.6 20.7 48H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H252.4c-13.2 58.3-61.9 103.2-122.2 110.9L274.6 422c14.4 10.3 17.7 30.3 7.4 44.6s-30.3 17.7-44.6 7.4L13.4 314C2.1 306-2.7 291.5 1.5 278.2S18.1 256 32 256h80c32.8 0 61-19.7 73.3-48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H185.3C173 115.7 144.8 96 112 96H96 32C14.3 96 0 81.7 0 64z\"]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'fas',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V384c0 35.3 28.7 64 64 64H352V384H128V32zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448l0-256c0-35.3-28.7-64-64-64L160 64v64l224 0 0 352z\"]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'fas',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm76-48c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'fas',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M177.5 414c-8.8 3.8-19 2-26-4.6l-144-136C2.7 268.9 0 262.6 0 256s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 288 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-288 0 0 72c0 9.6-5.7 18.2-14.5 22z\"]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faKeyboardDown = {\n prefix: 'fas',\n iconName: 'keyboard-down',\n icon: [576, 512, [], \"e1c2\", \"M64 0C28.7 0 0 28.7 0 64V224c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176zm112-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm272 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V176zM176 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V80zM368 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V80zM153.8 366.8c-3.7 9-1.7 19.3 5.2 26.2L271 505c9.4 9.4 24.6 9.4 33.9 0L417 393c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H176c-9.7 0-18.5 5.8-22.2 14.8z\"]\n};\nvar faCircleUpRight = {\n prefix: 'fas',\n iconName: 'circle-up-right',\n icon: [512, 512, [], \"e129\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm96 313.4V176c0-8.8-7.2-16-16-16H198.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L216 232l-66.3 66.3C146 302 144 306.9 144 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L280 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\"]\n};\nvar faCloudBoltMoon = {\n prefix: 'fas',\n iconName: 'cloud-bolt-moon',\n icon: [576, 512, [\"thunderstorm-moon\"], \"f76d\", \"M361.4 79.9C380.6 33 427.1 0 481.2 0c3.7 0 7.3 .2 10.9 .5c7 .6 12.8 5.7 14.3 12.6s-1.7 13.9-7.8 17.4c-26.9 15.1-44.9 43.6-44.9 76.1c0 48.1 39.4 87.4 88.4 87.4c5.2 0 10.3-.4 15.2-1.3c6.9-1.2 13.8 2.3 17 8.6s1.9 13.9-3.2 18.7c-23.3 22.4-55 36.1-89.9 36.1c-.8 0-1.6 0-2.4 0c-5.4-37.8-29.7-69.5-63-85.3c-1.8-38.6-23.1-72.1-54.3-90.8zm86.4 192.1c0 44.2-35.8 80-80 80H349.2C342.4 332.8 324.3 320 304 320H285.7l29.3-58.5c10.1-20.2 4.8-44.6-12.8-58.8s-42.6-14.2-60.2-.2L82 330.5c-6 4.8-10.5 10.7-13.6 17.4C28.8 336 0 299.4 0 255.9c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7zM282.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L233.9 352H304c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L182.1 384H112c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faThunderstormMoon = faCloudBoltMoon;\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M416 0c17.7 0 32 14.3 32 32c0 59.8-30.3 107.5-69.4 146.6c-28 28-62.5 53.5-97.3 77.4l-2.5 1.7c-11.9 8.1-23.8 16.1-35.5 23.9l0 0 0 0 0 0-1.6 1c-6 4-11.9 7.9-17.8 11.9c-20.9 14-40.8 27.7-59.3 41.5H283.3c-9.8-7.4-20.1-14.7-30.7-22.1l7-4.7 3-2c15.1-10.1 30.9-20.6 46.7-31.6c25 18.1 48.9 37.3 69.4 57.7C417.7 372.5 448 420.2 448 480c0 17.7-14.3 32-32 32s-32-14.3-32-32H64c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-59.8 30.3-107.5 69.4-146.6c28-28 62.5-53.5 97.3-77.4c-34.8-23.9-69.3-49.3-97.3-77.4C30.3 139.5 0 91.8 0 32C0 14.3 14.3 0 32 0S64 14.3 64 32H384c0-17.7 14.3-32 32-32zM338.6 384H109.4c-10.1 10.6-18.6 21.3-25.5 32H364.1c-6.8-10.7-15.3-21.4-25.5-32zM109.4 128H338.6c10.1-10.7 18.6-21.3 25.5-32H83.9c6.8 10.7 15.3 21.3 25.5 32zm55.4 48c18.4 13.8 38.4 27.5 59.3 41.5c20.9-14 40.8-27.7 59.3-41.5H164.7z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zm225.8 177c6.9-3.9 14.9-6.1 23.4-6.1c26.5 0 48 21.5 48 48c0 4.4-.6 8.7-1.7 12.7l-69.7-54.6zM402 412.7L144.7 210c-9.5 8.5-22.2 14-37.2 14H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7z\"]\n};\nvar faBracketRoundRight = {\n prefix: 'fas',\n iconName: 'bracket-round-right',\n icon: [192, 512, [], \"29\", \"M37.4 46.2C27.6 61 31.5 80.8 46.3 90.6C71.9 107.7 128 167 128 256s-56.1 148.3-81.8 165.4c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9C120.1 449 192 371.8 192 256S120.1 62.9 81.8 37.4C67 27.6 47.2 31.5 37.4 46.2z\"]\n};\nvar faCircleSterling = {\n prefix: 'fas',\n iconName: 'circle-sterling',\n icon: [512, 512, [], \"e5cf\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm5.5-352c-16.8 0-30.4 13.7-30.3 30.5l.2 33.5H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H231.7l.1 9.7c.1 18.6-3.1 37-9.6 54.3H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.4 0-16.1-4.4-20.5-11.5s-4.7-16-.8-23.5l9.6-18.6c7.7-14.9 11.6-31.5 11.5-48.3l-.1-10.1H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h7.5l-.2-33.1c-.3-43.5 34.8-78.9 78.3-78.9c10 0 19.8 1.9 29.1 5.6l30.3 12.1c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4l-30.3-12.1c-3.6-1.4-7.4-2.2-11.3-2.2z\"]\n};\nvar faCircle5 = {\n prefix: 'fas',\n iconName: 'circle-5',\n icon: [512, 512, [], \"e0f2\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 128H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H228l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88c2.1-11.4 12-19.7 23.6-19.7z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"]\n};\nvar faSubtract = faMinus;\nvar faFireFlame = {\n prefix: 'fas',\n iconName: 'fire-flame',\n icon: [384, 512, [\"flame\"], \"f6df\", \"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zM188.8 148.3c2-2.7 5.2-4.3 8.5-4.3c5.9 0 10.7 4.8 10.7 10.7v11.4c0 8.9 3.6 17.4 9.9 23.6l51.5 50.7C291.5 262.2 304 292 304 323c0 60.2-48.8 109-109 109h-3c-61.9 0-112-50.1-112-112v-8.2c0-21.2 7.8-41.6 21.8-57.4l6.9-7.8c2.1-2.4 5.1-3.7 8.3-3.7c6.1 0 11 4.9 11 11v44c0 24.3 19.8 44 44.1 44c24.2 0 43.9-19.6 43.9-43.8c0-11.6-4.6-22.8-12.8-31l-13.2-13.2c-14-14-21.9-33.1-21.9-53c0-16.2 5.3-32 15-44.9l5.8-7.8z\"]\n};\nvar faFlame = faFireFlame;\nvar faRightToLine = {\n prefix: 'fas',\n iconName: 'right-to-line',\n icon: [448, 512, [\"arrow-alt-to-right\"], \"f34c\", \"M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM384 416l0-320c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faArrowAltToRight = faRightToLine;\nvar faGif = {\n prefix: 'fas',\n iconName: 'gif',\n icon: [576, 512, [], \"e190\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm304 64c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zm48 16v80 80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM128 256c0-35.3 28.7-64 64-64c14.4 0 27.7 4.8 38.4 12.8c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4c-16-12.1-36-19.2-57.6-19.2c-53 0-96 43-96 96s43 96 96 96c21.6 0 41.6-7.1 57.6-19.2c4-3 6.4-7.8 6.4-12.8V264c0-8.8-7.2-16-16-16H184c-8.8 0-16 7.2-16 16s7.2 16 16 16h40v31.4c-9.4 5.4-20.3 8.6-32 8.6c-35.3 0-64-28.7-64-64z\"]\n};\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H60.2C49.1 96 40 105.1 40 116.2c0 2.5 .5 4.9 1.3 7.3L73.8 208H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4L60 384H196L180 256h4c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.8l32.5-84.5c.9-2.3 1.3-4.8 1.3-7.3c0-11.2-9.1-20.2-20.2-20.2H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48zm288 0l-43.2 57.6c-3.1 4.2-4.8 9.2-4.8 14.4c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L464 416H336zM304 208v51.9c0 7.8 2.8 15.3 8 21.1L339.2 312 337 384H462.5l-3.3-72 28.3-30.8c5.4-5.9 8.5-13.6 8.5-21.7V208c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v16H424V208c0-8.8-7.2-16-16-16H392c-8.8 0-16 7.2-16 16v16H352V208c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zm80 96c0-8.8 7.2-16 16-16s16 7.2 16 16v32H384V304z\"]\n};\nvar faTrashSlash = {\n prefix: 'fas',\n iconName: 'trash-slash',\n icon: [640, 512, [], \"e2b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L497.2 364.4 512 128H195.6L154.8 96H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H416l-7.2-14.3C403.4 6.8 392.3 0 380.2 0H259.8c-12.1 0-23.2 6.8-28.6 17.7L224 32H128c-13.4 0-24.8 8.2-29.6 19.8L38.8 5.1zM149.2 467c1.6 25.3 22.6 45 47.9 45H442.9c20.6 0 38.3-13 45.1-31.5L132.5 200.4 149.2 467z\"]\n};\nvar faArrowLeftLong = {\n prefix: 'fas',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0 73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128z\"]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'fas',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faFontCase = {\n prefix: 'fas',\n iconName: 'font-case',\n icon: [640, 512, [], \"f866\", \"M206 52.8C201.3 40.3 189.3 32 176 32s-25.3 8.3-30 20.8L2 436.8c-6.2 16.5 2.2 35 18.7 41.2s35-2.2 41.2-18.7L96.2 368H255.8L290 459.2c6.2 16.5 24.7 24.9 41.2 18.7s24.9-24.6 18.7-41.2L206 52.8zM231.8 304H120.2L176 155.1 231.8 304zM608 160c-13 0-24.1 7.7-29.2 18.8C559.4 166.9 536.5 160 512 160c-70.7 0-128 57.3-128 128v64c0 70.7 57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V352 288 192c0-17.7-14.3-32-32-32zM576 288v64c0 35.3-28.7 64-64 64s-64-28.7-64-64V288c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64v48c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5h38.7c16.3 0 30-12.3 31.8-28.5L318.2 304H320c17.7 0 32-14.3 32-32V224c0-35.3-28.7-64-64-64H224zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"]\n};\nvar faArrowDownLeft = {\n prefix: 'fas',\n iconName: 'arrow-down-left',\n icon: [384, 512, [], \"e091\", \"M32 384c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-146.7 0L342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L96 306.7 96 160c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224z\"]\n};\nvar faFrancSign = {\n prefix: 'fas',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M80 32C62.3 32 48 46.3 48 64V224v96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V256H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]\n};\nvar faFlaskRoundPoison = {\n prefix: 'fas',\n iconName: 'flask-round-poison',\n icon: [448, 512, [\"flask-poison\"], \"f6e0\", \"M328.5 172.1c-5.2-3-8.5-8.4-8.5-14.4V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H304 256 192 144 128C110.3 0 96 14.3 96 32s14.3 32 32 32v93.7c0 6-3.3 11.4-8.5 14.4l0 0c-5.3 3.1-10.4 6.4-15.4 9.9C50.8 219.7 16 281.8 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9zM300 376.6c-7.1 5.2-12 13-12 21.8V408c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24v-9.6c0-8.8-4.9-16.7-12-21.8c-22.1-16.1-36-39.1-36-64.6c0-48.6 50.1-88 112-88s112 39.4 112 88c0 25.5-13.9 48.6-36 64.6zM184 336a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faFlaskPoison = faFlaskRoundPoison;\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]\n};\nvar faBookCircleArrowRight = {\n prefix: 'fas',\n iconName: 'book-circle-arrow-right',\n icon: [640, 512, [], \"e0bc\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h10.8c-23.3-16.4-42.5-38.4-55.6-64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32H320.7c-.5-5.3-.7-10.6-.7-16c0-80.6 54.1-148.5 128-169.4V32c0-17.7-14.3-32-32-32H384 96zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM492.7 300.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faChartUser = {\n prefix: 'fas',\n iconName: 'chart-user',\n icon: [640, 512, [\"user-chart\"], \"f6a3\", \"M160 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-11.8-25.5-29.9-47.5-52.4-64H576V64L224 64v49.1C205.2 102.2 183.3 96 160 96V64zm252.7 75.3c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h88c8.8 0 16 7.2 16 16v88c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-27-27L401 273c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 55.7-55.7-27-27zM64 224a96 96 0 1 1 192 0A96 96 0 1 1 64 224zM0 485.3C0 411.7 59.7 352 133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3z\"]\n};\nvar faUserChart = faChartUser;\nvar faHandsAslInterpreting = {\n prefix: 'fas',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7V256c0 70.7 57.3 128 128 128h72 8v-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2V256c0-70.7-57.3-128-128-128H440h-8v.3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z\"]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faPresentationScreen = {\n prefix: 'fas',\n iconName: 'presentation-screen',\n icon: [576, 512, [\"presentation\"], \"f685\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64V288c0 35.3 28.7 64 64 64H256v34.7l-70.6 70.6c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 445.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L320 386.7V352H480c35.3 0 64-28.7 64-64V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512 64 32zM96 64H480V288H288 96V64z\"]\n};\nvar faPresentation = faPresentationScreen;\nvar faCircleBolt = {\n prefix: 'fas',\n iconName: 'circle-bolt',\n icon: [512, 512, [], \"e0fe\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm74.1-396.4c5.8 4.7 7.6 12.9 4.2 19.6L281.9 240H352c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L230.1 272H160c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faFaceSmileHalo = {\n prefix: 'fas',\n iconName: 'face-smile-halo',\n icon: [512, 512, [], \"e38f\", \"M512 80c0 44.2-114.6 80-256 80S0 124.2 0 80S114.6 0 256 0S512 35.8 512 80zm-64 0c0-17.7-86-32-192-32S64 62.3 64 80s86 32 192 32s192-14.3 192-32zM16 272c0-41.9 10.7-81.3 29.6-115.5C98.1 178.3 173 192 256 192s157.9-13.7 210.4-35.5C485.3 190.7 496 230.1 496 272c0 132.5-107.5 240-240 240S16 404.5 16 272zm148.1 85.5c-5.8-6.7-15.9-7.4-22.6-1.6s-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 378.2 299.4 400 256 400s-74-21.8-91.9-42.5zm53.5-56.7l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 260.4 120 278.1 120 296c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 260.4 280 278.1 280 296c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]\n};\nvar faCartCircleArrowDown = {\n prefix: 'fas',\n iconName: 'cart-circle-arrow-down',\n icon: [640, 512, [], \"e3ef\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c29.1-57 88.4-96 156.8-96c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-147.3c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0l-56-56c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 393.4V304c0-8.8 7.2-16 16-16s16 7.2 16 16v89.4l28.7-28.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHousePersonReturn = {\n prefix: 'fas',\n iconName: 'house-person-return',\n icon: [640, 512, [\"house-person-arrive\", \"house-return\"], \"e011\", \"M218.3 8.5c12.3-11.3 31.2-11.3 43.4 0L388.9 125.9c-19 14.8-34.4 34.5-44.1 57.7l-10.7 25.8-10.7 5.4c-31.6 15.8-44.4 54.3-28.6 85.9c15.4 30.9 52.5 43.8 83.6 29.7l-6.8 7.5c-9 9.8-15.4 21.7-18.6 34.7L342 416H112c-26.5 0-48-21.5-48-48V256H32c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM128 208v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm84.3 200.5c-1-.4-1.9-.8-2.9-1.2l16.9 63.5c5.6 21.1 .1 43.6-14.7 59.7l-70.7 77.1-22 88.1c-4.3 17.1-21.7 27.6-38.8 23.3s-27.6-21.7-23.3-38.8l23-92.1c1.9-7.8 5.8-14.9 11.2-20.8l49.5-54-19.3-65.5-9.6 23c-4.4 10.6-12.5 19.3-22.8 24.5l-26.7 13.3c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L359 232.7l15.3-36.8c17.1-41.1 57.3-67.9 101.9-67.9c22.8 0 45.3 4.8 66.1 14l8 3.5c32.9 14.6 58.1 42.4 69.4 76.5l2.6 7.8c5.6 16.8-3.5 34.9-20.2 40.5s-34.9-3.5-40.5-20.2l-2.6-7.8c-5.7-17.1-18.3-30.9-34.7-38.2l-8-3.5zm30 135.1l25 62.4 59.4 59.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L523.7 441c-4.6-4.6-8.2-10.1-10.6-16.1l-14.5-36.2 40.7-44.4c2.5-2.7 4.8-5.6 7-8.6z\"]\n};\nvar faHousePersonArrive = faHousePersonReturn;\nvar faHouseReturn = faHousePersonReturn;\nvar faMessageXmark = {\n prefix: 'fas',\n iconName: 'message-xmark',\n icon: [512, 512, [\"comment-alt-times\", \"message-times\"], \"f4ab\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm175 63c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faCommentAltTimes = faMessageXmark;\nvar faMessageTimes = faMessageXmark;\nvar faFileCertificate = {\n prefix: 'fas',\n iconName: 'file-certificate',\n icon: [512, 512, [\"file-award\"], \"f5f3\", \"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512V448c0 35.3-28.7 64-64 64H221.3c1.8-5.1 2.7-10.5 2.7-16V416c1.3-.5 2.5-1 3.8-1.5c6.8-3 14.3-7.8 20.6-15.5c6.4-7.9 10.1-17.2 11.4-27.1c.5-3.6 .8-5.7 1.1-7.1c1.1-.9 2.8-2.3 5.6-4.5c19.9-15.4 27.1-42.2 17.5-65.5c-1.4-3.3-2.1-5.4-2.6-6.7c.5-1.4 1.2-3.4 2.6-6.7c9.5-23.3 2.4-50.1-17.5-65.5c-2.8-2.2-4.5-3.6-5.6-4.5c-.3-1.4-.6-3.6-1.1-7.1c-3.4-24.9-23-44.6-47.9-47.9c-3.6-.5-5.7-.8-7.1-1.1c-.9-1.1-2.3-2.8-4.5-5.6c-15.4-19.9-42.2-27.1-65.5-17.5c-2.6 1.1-5.1 2.3-6.6 3l-.1 .1V64zm384 64H384V0L512 128zM109.2 161.6L125 168c1.9 .8 4.1 .8 6.1 0l15.8-6.5c10-4.1 21.5-1 28.1 7.5l10.5 13.5c1.3 1.7 3.2 2.7 5.2 3l16.9 2.3c10.7 1.5 19.1 9.9 20.5 20.5l2.3 16.9c.3 2.1 1.4 4 3 5.2l13.5 10.5c8.5 6.6 11.6 18.1 7.5 28.1L248 285c-.8 1.9-.8 4.1 0 6.1l6.5 15.8c4.1 10 1 21.5-7.5 28.1l-13.5 10.5c-1.7 1.3-2.7 3.2-3 5.2l-2.3 16.9c-1.5 10.7-9.9 19.1-20.5 20.6L192 390.2V496c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L128 483.2 88.9 509.3c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V390.2l-15.5-2.1c-10.7-1.5-19.1-9.9-20.5-20.6l-2.3-16.9c-.3-2.1-1.4-4-3-5.2L9.1 334.9c-8.5-6.6-11.6-18.1-7.5-28.1L8 291c.8-1.9 .8-4.1 0-6.1L1.6 269.2c-4.1-10-1-21.5 7.5-28.1l13.5-10.5c1.7-1.3 2.7-3.2 3-5.2l2.3-16.9c1.5-10.7 9.9-19.1 20.5-20.5l16.9-2.3c2.1-.3 4-1.4 5.2-3l10.5-13.5c6.6-8.5 18.1-11.6 28.1-7.5zM192 288A64 64 0 1 0 64 288a64 64 0 1 0 128 0z\"]\n};\nvar faFileAward = faFileCertificate;\nvar faUserDoctorHairLong = {\n prefix: 'fas',\n iconName: 'user-doctor-hair-long',\n icon: [448, 512, [], \"e459\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zM288 320v42c-27.6 7.1-48 32.2-48 62v40c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16V424c0-17.7 14.3-32 32-32s32 14.3 32 32v24c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V424c0-29.8-20.4-54.9-48-62V323.4c73.1 15.3 128 80.2 128 157.8c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-77.7 54.9-142.5 128-157.8v46.9c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V320l1.3 0H286.7l1.3 0zM120 424a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCameraSecurity = {\n prefix: 'fas',\n iconName: 'camera-security',\n icon: [448, 512, [\"camera-home\"], \"f8fe\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H310l59 36.9c12.1 7.6 17.7 22.2 13.8 36S366.3 512 352 512H96c-14.3 0-26.8-9.5-30.8-23.2s1.7-28.4 13.8-36L138 416H64c-35.3 0-64-28.7-64-64V64zM128 208a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0A128 128 0 1 0 96 208a128 128 0 1 0 256 0z\"]\n};\nvar faCameraHome = faCameraSecurity;\nvar faGear = {\n prefix: 'fas',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'fas',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.1 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTintSlash = faDropletSlash;\nvar faBookHeart = {\n prefix: 'fas',\n iconName: 'book-heart',\n icon: [448, 512, [], \"f499\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zm64-258.7c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4C221.1 102.5 205.5 96 189.3 96c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c5 0 9.8 2.4 12.8 6.4c34.7 46.3 78.1 74.9 133.5 111.5l0 0 0 0c5.2 3.4 10.5 7 16 10.6c28.9 19.2 45.7 51.7 45.7 86.1c0 28.6-11.3 54.5-29.8 73.4H221.8c-18.4-19-29.8-44.9-29.8-73.4c0-34.4 16.7-66.9 45.7-86.1c5.4-3.6 10.8-7.1 16-10.6l0 0 0 0C309.1 81.3 352.5 52.7 387.2 6.4c3-4 7.8-6.4 12.8-6.4zM288 512V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H560V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H448V454c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58H288zM70.4 5.2c5.7-4.3 13.5-4.3 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2H0v-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160H160V296.6c-19.1 11.1-32 31.7-32 55.4V480c0 9.6 2.1 18.6 5.8 26.8c-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V176 160z\"]\n};\nvar faDuck = {\n prefix: 'fas',\n iconName: 'duck',\n icon: [512, 512, [129414], \"f6d8\", \"M400.7 224c-.4 0-.7 .3-.7 .7v0 24c0 6.6 2.8 12.8 7.2 17.7C427.6 289.1 440 319.1 440 352c0 70.7-57.3 128-128 128H196C87.8 480 0 392.2 0 284v-5.4C0 266.1 10.1 256 22.6 256c6 0 11.8 2.4 16 6.6L54 278c6.2 6.2 15.2 8.5 23.6 6.1l172.8-49.4c10.4-3 15.7-14.5 7.8-21.7v0c-21-19-34.1-46.5-34.1-77c0-57.4 46.6-104 104-104c53.8 0 98.1 40.9 103.5 93.3c0 .4 .3 .6 .7 .7v0c10.5 1.3 21.2 1.3 31.8 0l35.3-4.4c6.8-.8 12.8 4.4 12.8 11.3c0 50.3-40.8 91.1-91.1 91.1H400.7zM368 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM340.6 296.9c.5-8.8-6.2-16.4-15-16.9s-16.4 6.2-16.9 15c-2.4 41.2-32.6 79-77.3 90.1c-40.3 10.1-80.5-4.6-103.7-33.5c-5.5-6.9-15.6-8-22.5-2.5s-8 15.6-2.5 22.5c31.1 38.7 84 57.6 136.4 44.5c58-14.5 98.3-63.8 101.5-119.3z\"]\n};\nvar faMosquito = {\n prefix: 'fas',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M463.7 505.9c9.8-8.9 10.7-24.3 2.1-34.3l-42.1-49 0-54.7c0-5.5-1.8-10.8-5.1-15.1L352 266.3l0-.3L485.4 387.8C542.4 447.6 640 405.2 640 320.6c0-47.9-34-88.3-79.4-94.2l-153-23.9 40.8-40.9c7.8-7.8 9.4-20.1 3.9-29.8L428.5 90.1l38.2-50.9c8-10.6 6.1-25.9-4.3-34.1s-25.2-6.3-33.2 4.4l-48 63.9c-5.9 7.9-6.6 18.6-1.7 27.2L402.2 140 352 190.3l0-38.2c0-14.9-10.2-27.4-24-31l0-57.2c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 57.2c-13.8 3.6-24 16.1-24 31l0 38.1L237.8 140l22.6-39.5c4.9-8.6 4.2-19.3-1.7-27.2l-48-63.9c-8-10.6-22.8-12.6-33.2-4.4s-12.2 23.5-4.3 34.1l38.2 50.9-23.9 41.7c-5.5 9.7-3.9 22 3.9 29.8l40.8 40.9-153 23.9C34 232.3 0 272.7 0 320.6c0 84.6 97.6 127 154.6 67.1L288 266l0 .3-66.5 86.4c-3.3 4.3-5.1 9.6-5.1 15.1l0 54.7-42.1 49c-8.6 10.1-7.7 25.5 2.1 34.3s24.7 7.9 33.4-2.1l48-55.9c3.8-4.4 5.9-10.2 5.9-16.1l0-55.4L288 344.7l0 63.1c0 17.7 14.3 32 32 32s32-14.3 32-32l0-63.1 24.3 31.6 0 55.4c0 5.9 2.1 11.7 5.9 16.1l48 55.9c8.6 10.1 23.6 11 33.4 2.1z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M404.2 309.5L383.1 344h42.3l-21.1-34.5zM371.4 256l-54-88H194.6l-54 88 54 88H317.4l54-88zm65.7 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-54-88l21.1 34.5L425.4 168H383.1zM283 112L256 68l-27 44h54zM128.9 168H86.6l21.1 34.5L128.9 168zM107.8 309.5L86.6 344h42.3l-21.1-34.5zM229 400l27 44 27-44H229z\"]\n};\nvar faFlagSwallowtail = {\n prefix: 'fas',\n iconName: 'flag-swallowtail',\n icon: [448, 512, [\"flag-alt\"], \"f74c\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352H424c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L352 192 443.2 70.4c3.1-4.2 4.8-9.2 4.8-14.4c0-13.3-10.7-24-24-24H64z\"]\n};\nvar faFlagAlt = faFlagSwallowtail;\nvar faPersonMilitaryRifle = {\n prefix: 'fas',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M160 39c0-13 10-23.8 22.9-24.9L334.7 1.4C344 .7 352 8 352 17.4V48c0 8.8-7.2 16-16 16H185c-13.8 0-25-11.2-25-25zm17.6 57H334.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16zm228 364.3L352 369.7V480c0 1.3-.1 2.5-.2 3.8L177.5 234.9c16.6-7.1 34.6-10.9 53.3-10.9h50.4c15.9 0 31.3 2.8 45.8 7.9L421.9 67.7c-7.7-4.4-10.3-14.2-5.9-21.9s14.2-10.3 21.9-5.9l13.9 8 13.9 8c7.7 4.4 10.3 14.2 5.9 21.9L416 173.9l1.6 .9c15.3 8.8 20.6 28.4 11.7 43.7L392.6 282c2 2.8 3.9 5.8 5.7 8.8l76.1 128.8c11.2 19 4.9 43.5-14.1 54.8s-43.5 4.9-54.8-14.1zM320 512H192c-17.7 0-32-14.3-32-32V369.7l-53.6 90.6c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8l76.1-128.8c9.4-15.8 21.7-29.3 36-40L331.1 510c-3.5 1.3-7.2 2-11.1 2zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCarGarage = {\n prefix: 'fas',\n iconName: 'car-garage',\n icon: [640, 512, [], \"f5e2\", \"M343.8 8.8c-14.8-8.4-32.9-8.4-47.6 0L24.1 164.2C8.8 173 3.5 192.5 12.2 207.9s28.3 20.7 43.7 11.9L320 68.9 584.1 219.8c15.3 8.8 34.9 3.4 43.7-11.9s3.4-34.9-11.9-43.7L343.8 8.8zM249.8 224H390.2c6.8 0 12.8 4.3 15.1 10.6L424.3 288H215.7l19.1-53.4c2.3-6.4 8.3-10.6 15.1-10.6zm-75.3-10.9l-28.3 79.3C126.1 300.9 112 320.8 112 344v40 64 32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448H448v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448 384 344c0-23.2-14.1-43.1-34.2-51.6l-28.3-79.3C454.1 181.3 424 160 390.2 160H249.8c-33.8 0-64 21.3-75.3 53.1zM192 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCartShopping = {\n prefix: 'fas',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShoppingCart = faCartShopping;\nvar faBookFont = {\n prefix: 'fas',\n iconName: 'book-font',\n icon: [448, 512, [], \"e0bf\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM254.3 72.8c-2.7-5.4-8.3-8.8-14.3-8.8s-11.6 3.4-14.3 8.8l-64 128-32 64c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L185.9 224H294.1l27.6 55.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-32-64-64-128zM240 115.8L278.1 192H201.9L240 115.8z\"]\n};\nvar faShieldPlus = {\n prefix: 'fas',\n iconName: 'shield-plus',\n icon: [512, 512, [], \"e24a\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M0 64C0 46.3 14.3 32 32 32H88h48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96C14.3 96 0 81.7 0 64zM136 96H88V256h48V96zM288 64c0-17.7 14.3-32 32-32h56 48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96c-17.7 0-32-14.3-32-32zM424 96H376V256h48V96z\"]\n};\nvar faEyeDropperFull = {\n prefix: 'fas',\n iconName: 'eye-dropper-full',\n icon: [512, 512, [], \"e172\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9 176.1 202.6 55.4 323.3z\"]\n};\nvar faDistributeSpacingHorizontal = {\n prefix: 'fas',\n iconName: 'distribute-spacing-horizontal',\n icon: [512, 512, [], \"e365\", \"M32 24C32 10.7 42.7 0 56 0S80 10.7 80 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24zM160 144c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V144zM456 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faTabletRugged = {\n prefix: 'fas',\n iconName: 'tablet-rugged',\n icon: [448, 512, [], \"f48f\", \"M32 176L8.8 164.4C3.4 161.7 0 156.2 0 150.1V73.9c0-6.1 3.4-11.6 8.8-14.3L34.3 46.8C41.8 19.8 66.6 0 96 0H352c29.4 0 54.2 19.8 61.7 46.8l25.5 12.7c5.4 2.7 8.8 8.3 8.8 14.3v76.2c0 6.1-3.4 11.6-8.8 14.3L416 176v16l23.2 11.6c5.4 2.7 8.8 8.3 8.8 14.3v76.2c0 6.1-3.4 11.6-8.8 14.3L416 320v16l23.2 11.6c5.4 2.7 8.8 8.2 8.8 14.3v76.2c0 6.1-3.4 11.6-8.8 14.3l-25.5 12.7c-7.5 27-32.3 46.8-61.7 46.8H96c-29.4 0-54.2-19.8-61.7-46.8L8.8 452.4C3.4 449.7 0 444.2 0 438.1V361.9c0-6.1 3.4-11.6 8.8-14.3L32 336V320L8.8 308.4C3.4 305.7 0 300.2 0 294.1V217.9c0-6.1 3.4-11.6 8.8-14.3L32 192V176zM112 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112z\"]\n};\nvar faTemperatureSnow = {\n prefix: 'fas',\n iconName: 'temperature-snow',\n icon: [576, 512, [\"temperature-frigid\"], \"f768\", \"M384 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C505.8 332.6 512 349.5 512 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM432 0C370.1 0 320 50.1 320 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8c-18.9 24.4-30.1 55-30.1 88.1c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.3-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C544 50.1 493.9 0 432 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM288 131.6l-88 50.8V126.6l35.3-35.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L200 81.4V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V81.4L139.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L152 126.6v55.8l-48.3-27.9L90.7 106.3C88.5 97.7 79.7 92.7 71.2 95s-13.6 11.1-11.3 19.6l4.6 17.3-22-12.7C31 112.6 16.3 116.5 9.7 128s-2.7 26.2 8.8 32.8l22 12.7-17.3 4.6c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l48.2-12.9L128 224 79.7 251.9 31.4 239c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l17.3 4.6-22 12.7C7 293.8 3.1 308.5 9.7 320s21.3 15.4 32.8 8.8l22-12.7-4.6 17.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l12.9-48.2L152 265.6v55.8l-35.3 35.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L152 366.6V392c0 13.3 10.7 24 24 24s24-10.7 24-24V366.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L200 321.4V265.6l67.7 39.1c5.2-13.5 12-26.2 20.3-37.9v-5.8l-64-37 64-37V131.6z\"]\n};\nvar faTemperatureFrigid = faTemperatureSnow;\nvar faMoped = {\n prefix: 'fas',\n iconName: 'moped',\n icon: [640, 512, [], \"e3b9\", \"M328 56c0-13.3 10.7-24 24-24h41.3c23.8 0 45.1 15.1 52.9 37.6l8.1 23.3 51-25.5c4.4-2.2 9.3-3.4 14.3-3.4H528c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-8.4c-5 0-9.9-1.2-14.3-3.4l-34.9-17.5L500 224.4c4-.3 8-.4 12-.4c43.7 0 83.3 17.5 112.1 45.8c9.5 9.3 9.6 24.5 .3 33.9s-24.5 9.6-33.9 .3C570.2 284.2 542.6 272 512 272c-55.1 0-101 39.8-110.3 92.3c-2 11.5-12 19.8-23.6 19.8H336c-.9 0-1.7 0-2.6-.1H256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32V320c0-70.7 57.3-128 128-128h96c17.7 0 32 14.3 32 32v64c0 17.7 14.3 32 32 32h77.3c16.8-38.5 48.4-69.2 87.6-84.7L400.8 85.4c-1.1-3.2-4.2-5.4-7.6-5.4H352c-13.3 0-24-10.7-24-24zM128 96h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32 336c26.5 0 48-21.5 48-48H112c0 26.5 21.5 48 48 48zm352 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faFaceSmilePlus = {\n prefix: 'fas',\n iconName: 'face-smile-plus',\n icon: [640, 512, [\"smile-plus\"], \"f5b9\", \"M544 0c-13.3 0-24 10.7-24 24V72H472c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V120h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H568V24c0-13.3-10.7-24-24-24zM224 512a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM144.4 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM140 346.1c20.5 23.3 50.6 37.9 84 37.9s63.5-14.6 84-37.9c5.8-6.6 16-7.3 22.6-1.4s7.3 16 1.4 22.6C305.6 397.1 267 416 224 416s-81.6-18.9-108-48.7c-5.8-6.6-5.2-16.7 1.4-22.6s16.7-5.2 22.6 1.4z\"]\n};\nvar faSmilePlus = faFaceSmilePlus;\nvar faRadioTuner = {\n prefix: 'fas',\n iconName: 'radio-tuner',\n icon: [512, 512, [\"radio-alt\"], \"f8d8\", \"M494.8 47c12.7-3.7 20-17.1 16.3-29.8S494-2.8 481.2 1L51.7 126.9c-9.4 2.7-17.9 7.3-25.1 13.2C10.5 151.7 0 170.6 0 192v4V304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H218.5L494.8 47zM320 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 336H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 224c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32z\"]\n};\nvar faRadioAlt = faRadioTuner;\nvar faFaceSwear = {\n prefix: 'fas',\n iconName: 'face-swear',\n icon: [640, 512, [], \"e399\", \"M320 0C178.6 0 64 114.6 64 256H576C576 114.6 461.4 0 320 0zM240.4 224c-17.7 0-32-14.3-32-32c0-8.8 3.6-16.8 9.3-22.6l-30.7-10.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l96 32c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-10.9-3.6c.2 1.5 .3 2.9 .3 4.4c0 17.7-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1.6 .1-3.2 .3-4.7l-11.7 3.9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l96-32c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2l-30.2 10.1c5.9 5.8 9.5 13.9 9.5 22.8zM48 288c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zm352 96H384v32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H320v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V384H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-80 0v32h32V384H320zm250.4-52.1c6.7 5.8 7.5 15.8 1.7 22.6l-96 112c-5.8 6.7-15.8 7.5-22.6 1.7s-7.5-15.8-1.7-22.6l96-112c5.8-6.7 15.8-7.5 22.6-1.7zM448 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM208 320c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM184 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 336v1.8c4.6 .8 8.7 1.7 12.1 2.6c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.9-2.1-18.5-3.9-26.8-2.9c-4.1 .5-6.3 1.4-7.4 2.2c-.6 .4-1.2 .9-1.5 2.9c-.2 1-.1 1.6-.1 1.8c.1 .1 .5 .6 1.5 1.3c3.7 2.5 9.6 4.4 19.2 7.3l.7 .2c8 2.4 19.1 5.8 27.6 11.9c4.7 3.4 9.3 8.2 12.1 14.7c2.9 6.6 3.4 13.8 2.2 21.1c-2 11.5-7.9 20.5-17 25.9c-4.9 3-10.1 4.6-15.3 5.4v.8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c-8.1-1.9-15.3-4.2-20.2-5.9c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.2 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c.5-.3 1.4-.9 2-4c.2-1.2 .2-1.9 .2-2.3c0-.4-.1-.6-.1-.6l0 0c0-.1-.3-.6-1.6-1.6c-3.5-2.5-9.3-4.6-18.7-7.4L106 414c-7.7-2.3-18.3-5.5-26.4-11c-4.7-3.2-9.4-7.7-12.4-14.1c-3.1-6.5-3.7-13.7-2.5-20.9c1.8-10.2 7-18.1 14.5-23.5c5.3-3.8 11.2-5.9 16.9-7V336c0-8.8 7.2-16 16-16s16 7.2 16 16zM96.1 375.4a.1 .1 0 1 0 .1-.1 .1 .1 0 1 0 -.1 .1z\"]\n};\nvar faWaterArrowDown = {\n prefix: 'fas',\n iconName: 'water-arrow-down',\n icon: [576, 512, [\"water-lower\"], \"f774\", \"M354.5 104.3L320 135.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V135.7l-34.5-31.3c-13.1-11.9-33.3-10.9-45.2 2.2s-10.9 33.3 2.2 45.2l88 80c12.2 11.1 30.8 11.1 43.1 0l88-80c13.1-11.9 14-32.1 2.2-45.2s-32.1-14-45.2-2.2zm-85 189.6C247 309.4 219.5 320 192 320c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 373.7 159 384 192 384c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 309.2 410.9 320 384 320c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0zm37 128c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faWaterLower = faWaterArrowDown;\nvar faScannerTouchscreen = {\n prefix: 'fas',\n iconName: 'scanner-touchscreen',\n icon: [512, 512, [], \"f48a\", \"M152 0h16c13.3 0 24 10.7 24 24V64H128V24c0-13.3 10.7-24 24-24zM0 160c0-35.3 28.7-64 64-64H288c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm64 16V432c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM288 24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V64H288V24zM240 0c8.8 0 16 7.2 16 16V64H224V16c0-8.8 7.2-16 16-16zM384 16c0-8.8 7.2-16 16-16s16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V16zM472 0h16c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24H472c-13.3 0-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faCircle7 = {\n prefix: 'fas',\n iconName: 'circle-7',\n icon: [512, 512, [], \"e0f4\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faPlugCirclePlus = {\n prefix: 'fas',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPersonSkiJumping = {\n prefix: 'fas',\n iconName: 'person-ski-jumping',\n icon: [512, 512, [\"ski-jump\"], \"f7c7\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32H304.5c46 0 65.7 58.4 29 86.2L230.1 260.8l-6.4 7.5c-2.4 2.8-4.4 6.1-5.7 9.6L179.5 380.6 433.7 249.1c18.6-9.6 30.3-28.8 30.3-49.7V192c0-13.3 10.7-24 24-24s24 10.7 24 24v7.3c0 38.9-21.7 74.5-56.2 92.4L35 509.3C23.3 515.4 8.8 510.8 2.7 499s-1.5-26.3 10.3-32.3l111.2-57.5c-10.7-8.4-15.2-23-10.2-36.4l44-117.4c3.9-10.5 9.7-20.2 17-28.8L232.1 160H160c-17.7 0-32-14.3-32-32z\"]\n};\nvar faSkiJump = faPersonSkiJumping;\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M224 109.3V217.6L183.3 242c-14.5 8.7-23.3 24.3-23.3 41.2V512h96V416c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V283.2c0-16.9-8.8-32.5-23.3-41.2L416 217.6V109.3c0-8.5-3.4-16.6-9.4-22.6L331.3 11.3c-6.2-6.2-16.4-6.2-22.6 0L233.4 86.6c-6 6-9.4 14.1-9.4 22.6zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z\"]\n};\nvar faWaterArrowUp = {\n prefix: 'fas',\n iconName: 'water-arrow-up',\n icon: [576, 512, [\"water-rise\"], \"f775\", \"M354.5 135.7L320 104.3V208c0 17.7-14.3 32-32 32s-32-14.3-32-32V104.3l-34.5 31.3c-13.1 11.9-33.3 10.9-45.2-2.2s-10.9-33.3 2.2-45.2l88-80c12.2-11.1 30.8-11.1 43.1 0l88 80c13.1 11.9 14 32.1 2.2 45.2s-32.1 14-45.2 2.2zm-85 158.2c11.1-7.9 25.9-7.9 37 0C329 309.4 356.5 320 384 320c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 373.7 417 384 384 384c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 309.2 165.1 320 192 320c27.5 0 55-10.6 77.5-26.1zm37 128C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faWaterRise = faWaterArrowUp;\nvar faWaveformLines = {\n prefix: 'fas',\n iconName: 'waveform-lines',\n icon: [640, 512, [\"waveform-path\"], \"f8f2\", \"M352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM544 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96zM256 128c0-17.7-14.3-32-32-32s-32 14.3-32 32V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V160zM160 224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm576 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faWaveformPath = faWaveformLines;\nvar faSplit = {\n prefix: 'fas',\n iconName: 'split',\n icon: [512, 512, [], \"e254\", \"M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160H346.5c-8.5 0-16.6 3.4-22.6 9.4L237.3 256l86.6 86.6c6 6 14.1 9.4 22.6 9.4H384V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H346.5c-25.5 0-49.9-10.1-67.9-28.1L178.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H178.7l99.9-99.9c18-18 42.4-28.1 67.9-28.1H384V64c0-12.9 7.8-24.6 19.8-29.6z\"]\n};\nvar faFilmCanister = {\n prefix: 'fas',\n iconName: 'film-canister',\n icon: [576, 512, [\"film-cannister\"], \"f8b7\", \"M128 0C110.3 0 96 14.3 96 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c0-17.7-14.3-32-32-32H128zM352 128V416H480c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32-14.3 32-32V160c0-17.7-14.3-32-32-32H352zm56 40h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V184c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H504c-8.8 0-16-7.2-16-16V184zM408 328h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V344c0-8.8 7.2-16 16-16z\"]\n};\nvar faFilmCannister = faFilmCanister;\nvar faFolderXmark = {\n prefix: 'fas',\n iconName: 'folder-xmark',\n icon: [512, 512, [\"folder-times\"], \"f65f\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM175 207c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFolderTimes = faFolderXmark;\nvar faToiletPaperBlank = {\n prefix: 'fas',\n iconName: 'toilet-paper-blank',\n icon: [640, 512, [\"toilet-paper-alt\"], \"f71f\", \"M384 192c0-65.5 13.2-142.4 60.2-192H160C107 0 64 86 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512H285.9c22.3 0 45.4-12.1 55.4-36.1C356.7 439 384 350.8 384 192zm224 0C608 86 565 0 512 0s-96 86-96 192s43 192 96 192s96-86 96-192zm-64 0c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]\n};\nvar faToiletPaperAlt = faToiletPaperBlank;\nvar faTabletScreen = {\n prefix: 'fas',\n iconName: 'tablet-screen',\n icon: [448, 512, [\"tablet-android-alt\"], \"f3fc\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 448c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM384 64H64V384H384V64z\"]\n};\nvar faTabletAndroidAlt = faTabletScreen;\nvar faHexagonVerticalNftSlanted = {\n prefix: 'fas',\n iconName: 'hexagon-vertical-nft-slanted',\n icon: [448, 512, [], \"e506\", \"M260.9 495.5c-22.3 12.9-49.7 12.9-72 0L36 407.2C13.7 394.4 0 370.6 0 344.9V168.3c0-25.7 13.7-49.5 36-62.4L188.9 17.7c22.3-12.9 49.7-12.9 72 0l152.9 88.3c22.3 12.9 36 36.6 36 62.4V344.9c0 25.7-13.7 49.5-36 62.4L260.9 495.5zm11.1-372c0-5.7-3.1-11-8.1-13.9L216.1 82.3c-2-1.2-4.3-2-6.8-2.2c-.5 0-1-.1-1.4-.1l-.1 0c-3.3 0-6.3 1-8.8 2.6c-1.5 1-2.9 2.2-4 3.7c-1.2 1.5-2.1 3.3-2.6 5.2c-.4 1.6-.6 3.1-.6 4.7V256.6v144c0 8.8 7.2 16 16 16s16-7.2 16-16v-128h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-32v-117l24.2 13.8c10.7 6.1 23.9-1.6 23.9-13.9zm16 27.4c0 5.7 3.1 11 8.1 13.9l23.8 13.6V352.6c0 8.8 7.2 16 16 16s16-7.2 16-16V196.6l16.2 9.3c7.7 4.4 17.4 1.7 21.8-6s1.7-17.4-6-21.8l-72-41.1c-10.7-6.1-23.9 1.6-23.9 13.9zM143.8 128.6c-8.8 0-16 7.2-16 16V270L95 171.5c-2.5-7.4-10-12-17.7-10.7s-13.4 7.9-13.4 15.8v160c0 8.8 7.2 16 16 16s16-7.2 16-16V275.2l32.8 98.5c2.5 7.4 10 12 17.7 10.7s13.4-7.9 13.4-15.8v-224c0-8.8-7.2-16-16-16z\"]\n};\nvar faFolderMusic = {\n prefix: 'fas',\n iconName: 'folder-music',\n icon: [512, 512, [], \"e18d\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM352 192c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V283.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V224 192z\"]\n};\nvar faDisplayMedical = {\n prefix: 'fas',\n iconName: 'display-medical',\n icon: [576, 512, [\"desktop-medical\"], \"e166\", \"M0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336l10.7 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416H64c-35.3 0-64-28.7-64-64V64zm64 0V352H512V64H64zm192 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240H208c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16h48V128z\"]\n};\nvar faDesktopMedical = faDisplayMedical;\nvar faShareAll = {\n prefix: 'fas',\n iconName: 'share-all',\n icon: [576, 512, [], \"f367\", \"M366.6 39.5c9.1-9.6 24.3-10 33.9-.9L542.2 173.2c19.9 18.9 19.9 50.7 0 69.6L400.5 377.4c-9.6 9.1-24.8 8.7-33.9-.9s-8.7-24.8 .9-33.9L509.2 208 367.5 73.4c-9.6-9.1-10-24.3-.9-33.9zM224 64c0-12.6 7.4-24.1 19-29.2s25-3 34.4 5.4l160 144c6.7 6.1 10.6 14.7 10.6 23.8s-3.8 17.7-10.6 23.8l-160 144c-9.4 8.5-22.9 10.6-34.4 5.4s-19-16.6-19-29.2V288H192c-53 0-96 43-96 96c0 30.4 12.8 47.9 22.2 56.7c5.5 5.1 9.8 12 9.8 19.5c0 10.9-8.8 19.7-19.7 19.7c-2.8 0-5.6-.6-8.1-1.9C81.5 467.9 0 417.3 0 304c0-97.2 78.8-176 176-176h48V64z\"]\n};\nvar faPeapod = {\n prefix: 'fas',\n iconName: 'peapod',\n icon: [512, 512, [], \"e31c\", \"M464 0H416C186.2 0 0 186.2 0 416v48c0 26.5 21.5 48 48 48H96c229.8 0 416-186.2 416-416V48c0-26.5-21.5-48-48-48zM256 200a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM88 368a56 56 0 1 1 112 0A56 56 0 1 1 88 368zM368 88a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faChessClock = {\n prefix: 'fas',\n iconName: 'chess-clock',\n icon: [640, 512, [], \"f43d\", \"M256 56c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v48H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H544V112c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v16H200V80h32c13.3 0 24-10.7 24-24zM576 304a112 112 0 1 1 -224 0 112 112 0 1 1 224 0zm-52.7-59.3c-6.2-6.2-16.4-6.2-22.6 0l-48 48c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l48-48c6.2-6.2 6.2-16.4 0-22.6zM176 192a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm-16 48v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faAxe = {\n prefix: 'fas',\n iconName: 'axe',\n icon: [640, 512, [129683], \"f6b2\", \"M374.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3L384 301.3V384c0 17.7 14.3 32 32 32c123.7 0 224-100.3 224-224c0-17.7-14.3-32-32-32H525.3l-56-56 33.4-33.4c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0L408 42.7 374.6 9.4zM448 316c45-11.6 80.4-47 92-92h32.8C560.1 286.7 510.7 336.1 448 348.8V316zM244.1 206.6L9.4 441.4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0L305.4 267.9l-61.3-61.3z\"]\n};\nvar faSquareD = {\n prefix: 'fas',\n iconName: 'square-d',\n icon: [448, 512, [], \"e268\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm24 208h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H176V336z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z\"]\n};\nvar faMobileSignalOut = {\n prefix: 'fas',\n iconName: 'mobile-signal-out',\n icon: [512, 512, [], \"e1f0\", \"M64 64H224V0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V288H288V448H64V64zm80 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM280 0c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24C512 103.9 408.1 0 280 0zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 120c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowTurnUp = {\n prefix: 'fas',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96-43 96-96l0-306.7 73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 416c0 17.7-14.3 32-32 32l-96 0z\"]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'fas',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\"]\n};\nvar faArrowUpFromDottedLine = {\n prefix: 'fas',\n iconName: 'arrow-up-from-dotted-line',\n icon: [448, 512, [], \"e09b\", \"M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 141.3V208 320c0 17.7 14.3 32 32 32s32-14.3 32-32V208 141.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM32 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm128 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faSquareRootVariable = {\n prefix: 'fas',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M282.6 78.1c8-27.3 33-46.1 61.4-46.1H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H344L238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H77.6c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1zM393.4 233.4c12.5-12.5 32.8-12.5 45.3 0L480 274.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 320l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 365.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 320l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faLightSwitchOn = {\n prefix: 'fas',\n iconName: 'light-switch-on',\n icon: [384, 512, [], \"e019\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 96h64c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zm32-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM160 128c-17.7 0-32 14.3-32 32v96H256V160c0-17.7-14.3-32-32-32H160z\"]\n};\nvar faArrowDownArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-down-arrow-up',\n icon: [576, 512, [\"sort-alt\"], \"f883\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L128 370.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V370.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96zm352-333.3c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L448 141.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V141.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96z\"]\n};\nvar faSortAlt = faArrowDownArrowUp;\nvar faRaindrops = {\n prefix: 'fas',\n iconName: 'raindrops',\n icon: [448, 512, [], \"f75c\", \"M102.4 133.6c-4.2 8.6-6.4 18-6.4 27.6c0 34.7 28.1 62.8 62.8 62.8h2.4c34.7 0 62.8-28.1 62.8-62.8c0-9.6-2.2-19-6.4-27.6L171.5 39.2c-2.1-4.4-6.6-7.2-11.5-7.2s-9.4 2.8-11.5 7.2l-46.1 94.4zm-96 192c-4.2 8.6-6.4 18-6.4 27.6C0 387.9 28.1 416 62.8 416h2.4c34.7 0 62.8-28.1 62.8-62.8c0-9.6-2.2-19-6.4-27.6L75.5 231.2c-2.1-4.4-6.6-7.2-11.5-7.2s-9.4 2.8-11.5 7.2L6.4 325.6zM307.8 134.8L210 294.2c-11.8 19.2-18 41.3-18 63.8c0 67.4 54.6 122 122 122h12c67.4 0 122-54.6 122-122c0-22.5-6.2-44.6-18-63.8L332.2 134.8c-2.6-4.2-7.2-6.8-12.2-6.8s-9.6 2.6-12.2 6.8z\"]\n};\nvar faDash = {\n prefix: 'fas',\n iconName: 'dash',\n icon: [512, 512, [\"minus-large\"], \"e404\", \"M0 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faMinusLarge = faDash;\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faClockFour = faClock;\nvar faInputNumeric = {\n prefix: 'fas',\n iconName: 'input-numeric',\n icon: [640, 512, [], \"e1bd\", \"M576 128V384H64V128H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm40 120c0 13.3 10.7 24 24 24h8v96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V184c0-13.3-10.7-24-24-24H128c-13.3 0-24 10.7-24 24zm190.6 30.4c5.7-8 17.5-8.6 24-1.2c5.2 5.9 5 14.7-.3 20.5l-72 78c-6.5 7-8.2 17.2-4.3 25.9s12.5 14.4 22 14.4h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H318.8l34.8-37.7c22-23.8 22.4-60.3 1.1-84.7c-26.9-30.7-75.4-28.4-99.2 4.9l-11.1 15.6c-7.7 10.8-5.2 25.8 5.6 33.5s25.8 5.2 33.5-5.6l11.1-15.6z\"]\n};\nvar faTruckTow = {\n prefix: 'fas',\n iconName: 'truck-tow',\n icon: [640, 512, [], \"e2b8\", \"M96 0h49.6c9.1 0 17.8 3.9 23.9 10.7L384 252V128c0-17.7 14.3-32 32-32h82.7c17 0 33.3 6.7 45.3 18.7L621.3 192c12 12 18.7 28.3 18.7 45.3V256v32 88c0 22.1-17.9 40-40 40H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48H192L96 64V176c0 26.5-21.5 48-48 48s-48-21.5-48-48V160c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V32C64 14.3 78.3 0 96 0zM576 256V237.3L498.7 160H448v96H576zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faBackwardStep = {\n prefix: 'fas',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M267.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160L64 241V96c0-17.7-14.3-32-32-32S0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V271l11.5 9.6 192 160z\"]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 64H288v64H128V384zm224 0H512v64H352V384z\"]\n};\nvar faCarBolt = {\n prefix: 'fas',\n iconName: 'car-bolt',\n icon: [512, 512, [], \"e341\", \"M74.8 96.3L39.6 196.8C16.4 206.4 0 229.3 0 256V400v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V400H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V400 256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM96 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM318.3 119.2L281.9 192H336c6.9 0 13 4.4 15.2 10.9s-.1 13.7-5.6 17.9l-128 96c-5.9 4.5-14.2 4.2-19.9-.5s-7.4-12.8-4.1-19.4L230.1 224H176c-6.9 0-13-4.4-15.2-10.9s.1-13.7 5.6-17.9l128-96c5.9-4.5 14.2-4.2 19.9 .5s7.4 12.8 4.1 19.4z\"]\n};\nvar faArrowsMaximize = {\n prefix: 'fas',\n iconName: 'arrows-maximize',\n icon: [512, 512, [\"expand-arrows\"], \"f31d\", \"M320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L256 210.7 141.3 96H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H64C46.3 32 32 46.3 32 64V192c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3L210.7 256 96 370.7V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H141.3L256 301.3 370.7 416H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H448c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v50.7L301.3 256 416 141.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320z\"]\n};\nvar faExpandArrows = faArrowsMaximize;\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M192 96v12L96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l96-12 31-3.9 1-.1 1 .1 31 3.9 96 12c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 12V96c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H132.1c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48H352c17.7 0 32 14.3 32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160H320l-22.6-22.6c-6-6-14.1-9.4-22.6-9.4H256V180.2l-32-4-32 4V224H173.3c-8.5 0-16.6 3.4-22.6 9.4L128 256H32z\"]\n};\nvar faCloudSleet = {\n prefix: 'fas',\n iconName: 'cloud-sleet',\n icon: [512, 512, [], \"f741\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6S-3.3 490.7 1.9 478.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm272 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zM216 376v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm256 0v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H472v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440H408c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V376c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faLampStreet = {\n prefix: 'fas',\n iconName: 'lamp-street',\n icon: [512, 512, [], \"e1c5\", \"M64 176c0-61.9 50.1-112 112-112c57.4 0 104.7 43.2 111.2 98.8C207.1 176.6 144 239.9 130.6 320.1C127.7 337.6 142.3 352 160 352H480c17.7 0 32.3-14.4 29.4-31.9c-13.5-80.6-77.2-144.2-157.9-157.6C344.6 71.6 268.7 0 176 0C78.8 0 0 78.8 0 176V480c0 17.7 14.3 32 32 32s32-14.3 32-32V176zM320 448c35.3 0 64-28.7 64-64H256c0 35.3 28.7 64 64 64z\"]\n};\nvar faListRadio = {\n prefix: 'fas',\n iconName: 'list-radio',\n icon: [512, 512, [], \"e1d0\", \"M64 160A64 64 0 1 0 64 32a64 64 0 1 0 0 128zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM40 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0A64 64 0 1 0 0 416a64 64 0 1 0 128 0zM64 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 88a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faPenNibSlash = {\n prefix: 'fas',\n iconName: 'pen-nib-slash',\n icon: [640, 512, [], \"e4a1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L450.3 327.6l28.3-94.4 2.8-9.2L352 94.6l-9.2 2.8L208.1 137.8 38.8 5.1zm29 440.7c-3.8 11.3-1 23.9 7.3 32.4L228.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-9.4 2.7-18.2 7.4-25.7l-85-67L67.8 445.8zM272 352c-7.4 0-14.4-1.7-20.7-4.7L97.7 500.9c8.6 8.3 21.1 11.2 32.4 7.3l264.3-88.6c3.6-1.2 7.1-2.8 10.5-4.6l-98.5-77.6c-8.7 9-20.9 14.6-34.4 14.6zM432.4 18.3L376.7 74.1 501.9 199.3l55.7-55.7c21.9-21.9 21.9-57.3 0-79.2L511.6 18.3c-21.9-21.9-57.3-21.9-79.2 0z\"]\n};\nvar faBaseballBatBall = {\n prefix: 'fas',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M424 0c-12.4 0-24.2 4.9-33 13.7L233.5 171.2c-10.5 10.5-19.8 22.1-27.7 34.6L132.7 321.6c-7.3 11.5-15.8 22.2-25.5 31.9L69.9 390.7l51.3 51.3 37.3-37.3c9.6-9.6 20.3-18.2 31.9-25.5l115.8-73.1c12.5-7.9 24.1-17.2 34.6-27.7L498.3 121c8.7-8.7 13.7-20.6 13.7-33s-4.9-24.2-13.7-33L457 13.7C448.2 4.9 436.4 0 424 0zm88 432a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM15 399c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L49 399c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faSquareUpLeft = {\n prefix: 'fas',\n iconName: 'square-up-left',\n icon: [448, 512, [], \"e282\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 281.4V176c0-8.8 7.2-16 16-16H281.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16L264 232l66.3 66.3c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C290 366 285.1 368 280 368s-10-2-13.7-5.7L200 296l-33.4 33.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6z\"]\n};\nvar faOverline = {\n prefix: 'fas',\n iconName: 'overline',\n icon: [448, 512, [], \"f876\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm192 96a176 176 0 1 0 0 352 176 176 0 1 0 0-352zM336 304a112 112 0 1 1 -224 0 112 112 0 1 1 224 0z\"]\n};\nvar faS = {\n prefix: 'fas',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M99.1 105.4C79 114 68.2 127.2 65.2 144.8c-2.4 14.1-.7 23.2 2 29.4c2.8 6.3 7.9 12.4 16.7 18.6c19.2 13.4 48.3 22.1 84.9 32.5c1 .3 1.9 .6 2.9 .8c32.7 9.3 72 20.6 100.9 40.7c15.7 10.9 29.9 25.5 38.6 45.1c8.8 19.8 10.8 42 6.6 66.3c-7.3 42.5-35.3 71.7-71.8 87.3c-35.4 15.2-79.1 17.9-123.7 10.9l-.2 0 0 0c-24-3.9-62.7-17.1-87.6-25.6c-4.8-1.7-9.2-3.1-12.8-4.3C5.1 440.8-3.9 422.7 1.6 405.9s23.7-25.8 40.5-20.3c4.9 1.6 10.2 3.4 15.9 5.4c25.4 8.6 56.4 19.2 74.4 22.1c36.8 5.7 67.5 2.5 88.5-6.5c20.1-8.6 30.8-21.8 33.9-39.4c2.4-14.1 .7-23.2-2-29.4c-2.8-6.3-7.9-12.4-16.7-18.6c-19.2-13.4-48.3-22.1-84.9-32.5c-1-.3-1.9-.6-2.9-.8c-32.7-9.3-72-20.6-100.9-40.7c-15.7-10.9-29.9-25.5-38.6-45.1c-8.8-19.8-10.8-42-6.6-66.3l31.5 5.5L2.1 133.9C9.4 91.4 37.4 62.2 73.9 46.6c35.4-15.2 79.1-17.9 123.7-10.9c13 2 52.4 9.6 66.6 13.4c17.1 4.5 27.2 22.1 22.7 39.2s-22.1 27.2-39.2 22.7c-11.2-3-48.1-10.2-60.1-12l4.9-31.5-4.9 31.5c-36.9-5.8-67.5-2.5-88.6 6.5z\"]\n};\nvar faTimeline = {\n prefix: 'fas',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32 97.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 32.8 19.7 61 48 73.3V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288v54.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V288H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V169.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 32.8 19.7 61 48 73.3V224H160V169.3zM488 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM320 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336zM272 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM368 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240zM464 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\"]\n};\nvar faArrowsFromDottedLine = {\n prefix: 'fas',\n iconName: 'arrows-from-dotted-line',\n icon: [448, 512, [], \"e0a3\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64zM192 352v32H160c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H256V352c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faUsbDrive = {\n prefix: 'fas',\n iconName: 'usb-drive',\n icon: [640, 512, [], \"f8e9\", \"M64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64H416c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zm544 32H480V384H608c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32zM560 232a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm24 72a24 24 0 1 1 -48 0 24 24 0 1 1 48 0z\"]\n};\nvar faBallot = {\n prefix: 'fas',\n iconName: 'ballot',\n icon: [448, 512, [], \"f732\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112zm0 128c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zM80 352h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm112 32c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16-272H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM192 256c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"]\n};\nvar faLocationDotSlash = {\n prefix: 'fas',\n iconName: 'location-dot-slash',\n icon: [640, 512, [\"map-marker-alt-slash\"], \"f605\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4L38.8 5.1zm219 171.7c6.8-28 32.1-48.8 62.2-48.8c35.3 0 64 28.7 64 64c0 24.7-13.9 46-34.4 56.7l-91.8-72zm85.9 322.4c16.2-20.2 39-49.6 62.5-83.1L128.1 196.9c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0z\"]\n};\nvar faMapMarkerAltSlash = faLocationDotSlash;\nvar faCards = {\n prefix: 'fas',\n iconName: 'cards',\n icon: [640, 512, [], \"e3ed\", \"M7.5 194.9c-15.4-26.6-6.3-60.7 20.4-76.1L220.7 7.5c26.6-15.4 60.7-6.3 76.1 20.4l167 289.3c15.4 26.6 6.2 60.7-20.4 76.1L250.5 504.5c-26.6 15.4-60.7 6.2-76.1-20.4L7.5 194.9zM197 159.6c-11.1-3-22.6 3.6-25.6 14.8l-7.2 26.9-20.4 76.1c-7 26 8.5 52.7 34.4 59.7s52.7-8.5 59.7-34.4l2.4-8.8c.1-.4 .2-.8 .3-1.1l17.7 30.7-12.1 7c-6.7 3.8-8.9 12.4-5.1 19s12.4 8.9 19 5.1l48.2-27.8c6.7-3.8 8.9-12.4 5.1-19s-12.4-8.9-19-5.1l-12.1 7-17.7-30.7c.4 .1 .8 .2 1.1 .3l8.8 2.4c26 7 52.7-8.5 59.7-34.4s-8.5-52.7-34.4-59.7l-76.1-20.4L197 159.6zM459.4 420.9c41.9-24.2 56.3-77.8 32.1-119.8L354.7 64.2c1.7-.2 3.5-.2 5.3-.2H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360c-13.7 0-26.2-4.9-35.9-13l135.3-78.1zm74.5-183.3L582 187.6c14-14.5 13.2-38.5-2.2-51.9c-14-11.7-34.5-9.5-46.9 3.2l-4.7 5.2-5-5.2c-12.5-12.7-33.2-15-46.7-3.2c-15.7 13.5-16.5 37.5-2.5 51.9l48.4 49.9c3 3.2 8.2 3.2 11.5 0z\"]\n};\nvar faHouseChimneyMedical = {\n prefix: 'fas',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM272 192c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H320V208c0-8.8-7.2-16-16-16H272z\"]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faBoxingGlove = {\n prefix: 'fas',\n iconName: 'boxing-glove',\n icon: [448, 512, [129354, \"glove-boxing\"], \"f438\", \"M0 96C0 43 43 0 96 0H288c53 0 96 43 96 96v32H352c-26.2 0-49.4 12.6-64 32H144c-21.2 0-34.3-5.3-41.8-9.7c-3.8-2.3-6.3-4.4-7.7-5.8c-.7-.7-1.1-1.2-1.3-1.5l-.1-.1 0 0c-5-7.1-14.7-9-22-4.2c-7.4 4.9-9.3 14.8-4.4 22.2L80 152c-13.3 8.9-13.3 8.9-13.3 8.9l0 0 0 0 .1 .1 .1 .2 .4 .5c.3 .4 .6 .8 1.1 1.4c.9 1.1 2 2.4 3.6 4c3.1 3.1 7.6 6.9 13.8 10.7C98.3 185.3 117.2 192 144 192H273.6c-1 5.2-1.6 10.5-1.6 16c0 37.3 25.5 68.6 60 77.5c8.6 2.2 17.3-2.9 19.5-11.5s-2.9-17.3-11.5-19.5c-20.7-5.3-36-24.1-36-46.5c0-26.5 21.5-48 48-48h32c35.3 0 64 28.7 64 64v24.2c0 25.5-10.1 49.9-28.1 67.9l-49.1 49.1c-12 12-18.7 28.3-18.7 45.3V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V359.6C12.4 342 0 316.4 0 288V96zM152.9 354.7c-7.4-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2l28 18.7-28 18.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4L192 419.2l39.1 26.1c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-28-18.7 28-18.7c7.4-4.9 9.3-14.8 4.4-22.2s-14.8-9.3-22.2-4.4L192 380.8l-39.1-26.1z\"]\n};\nvar faGloveBoxing = faBoxingGlove;\nvar faTemperatureThreeQuarters = {\n prefix: 'fas',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faBellSchool = {\n prefix: 'fas',\n iconName: 'bell-school',\n icon: [512, 512, [], \"f5d5\", \"M208 128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 288A208 208 0 1 0 208 0a208 208 0 1 0 0 416zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 448c-54 0-103.9-17.9-144-48v64c0 26.5 21.5 48 48 48H320h32 40c43.4 0 80.1-28.8 92-68.3c16.6-7.6 28-24.3 28-43.7c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15.5 7.3 29.2 18.7 38c-8 15.4-24.1 26-42.7 26H352V400c-40.1 30.1-90 48-144 48z\"]\n};\nvar faMobileScreen = {\n prefix: 'fas',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM144 448c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM304 64H80V384H304V64z\"]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'fas',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7l0 66.3L497.8 278.5c8.9 5.9 14.2 15.9 14.2 26.6v56.7c0 10.9-10.7 18.6-21.1 15.2L320 320v80l57.6 43.2c4 3 6.4 7.8 6.4 12.8v42c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400V320L21.1 377C10.7 380.4 0 372.7 0 361.8V305.1c0-10.7 5.3-20.7 14.2-26.6L192 160V93.7z\"]\n};\nvar faFolderHeart = {\n prefix: 'fas',\n iconName: 'folder-heart',\n icon: [512, 512, [], \"e189\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM144 253.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCircleLocationArrow = {\n prefix: 'fas',\n iconName: 'circle-location-arrow',\n icon: [512, 512, [\"location-circle\"], \"f602\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM358.2 182.7l-84 196c-3.5 8.1-11.4 13.3-20.2 13.3c-1.4 0-2.9-.1-4.4-.4C239.4 389.5 232 380.4 232 370V280H142c-10.4 0-19.5-7.4-21.5-17.6c-2.1-10.2 3.3-20.5 12.9-24.6l196-84c8.5-3.5 18-1.7 24.2 4.7c6.4 6.3 8.2 15.9 4.7 24.2z\"]\n};\nvar faLocationCircle = faCircleLocationArrow;\nvar faFaceHeadBandage = {\n prefix: 'fas',\n iconName: 'face-head-bandage',\n icon: [576, 512, [], \"e37a\", \"M288 0C213.6 0 146.6 31.8 99.8 82.4c-12.5 2.5-25 5.2-37.3 8.2c-8.2 2-15.3 7.1-19.7 14.3C26.9 130.6 15 158.9 7.8 189c-2.4 10.2 .3 20.9 7.2 28.7c-2.5 2.8-4.9 5.6-7.3 8.5c-4.7 5.5-7.3 12.4-7.6 19.6C.1 249.2 0 252.6 0 256c0 31.4 5 61.7 14.4 90.1c3.8 11.6 13.9 20 26 21.7c5.6 .8 11.2 0 16.3-2C97.8 452.2 185.9 512 288 512c141.4 0 256-114.6 256-256c0-9.5-.5-18.8-1.5-28c6.1-1.1 11.9-3.9 16.5-8.3c8.3-7.9 11.8-19.6 9.2-30.7c-7.2-30.1-19.1-58.4-34.9-84.1c-3.3-5.3-8-9.5-13.5-12.1c-.6-6-2.9-11.9-6.9-16.8c-21.2-26.5-47-49.1-76.2-66.8c-6.1-3.7-13.4-5.2-20.5-4.4c-16.2 2-32.2 4.6-48.1 7.9C342.9 4.5 316 0 288 0zM219.2 98.5s0 0 0 0s0 0 0 0C241.9 96.8 264.9 96 288 96c40 0 79.3 2.5 118 7.4c2.2 .3 4.4 .6 6.6 .9c31.7 4.3 62.9 10.1 93.5 17.5c.1 .2 .2 .3 .3 .5c7.3 11.9 13.7 24.4 19 37.5c4.8 11.8 8.7 24.1 11.7 36.7c-11.9-3.6-23.9-6.9-36-10c-59.4-15.1-121.2-24-184.8-26c-.3 0-.5 0-.8 0c-9.1-.3-18.3-.4-27.5-.4c-17.1 0-34.1 .5-51 1.5c-48.2 2.8-95.4 9.6-141.2 20c-7 1.6-13.9 3.3-20.9 5c-12.1 3.1-24.1 6.4-36 10c.5-2 1-4 1.5-6c2.8-10.5 6.2-20.8 10.2-30.7c5.4-13.3 11.8-26 19.3-38c23.2-5.6 46.8-10.3 70.7-14.1c0 0 0 0 0 0c.8-.1 1.6-.3 2.5-.4c25-3.9 50.4-6.9 76.1-8.7zM50.3 226.4c41-12.2 83.3-21.3 126.6-27.1c-40.6 29.4-77 64.4-108 103.7c-8.5 10.7-16.5 21.7-24.2 33.1c-4.4-13.3-7.7-27.1-9.9-41.3C33 282.1 32 269.2 32 256c0-3 .1-6.1 .2-9.1c5.9-7 12-13.8 18.2-20.5zm126 13.6c13.5-10.8 27.6-20.9 42.1-30.4c12.7 4.2 21.9 16.2 21.9 30.4c0 17.7-14.3 32-32 32s-32-14.3-32-32zM476.2 82.4C419.3 71.1 360.6 64.9 300.6 64.1c38.3-13 78.3-22.2 119.5-27.4c13.7 8.3 26.6 17.9 38.5 28.5c6.1 5.5 11.9 11.2 17.5 17.2zm-103 315.1C356.4 382.2 330.8 368 296 368c-13.1 0-24.8 2-35.2 5.3c-8.4 2.7-17.4-2-20.1-10.5s2-17.4 10.5-20.1c13.4-4.2 28.4-6.8 44.8-6.8c44.2 0 77.2 18.3 98.8 37.9c6.5 5.9 7 16.1 1.1 22.6s-16.1 7-22.6 1.1zM368.4 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSushiRoll = {\n prefix: 'fas',\n iconName: 'sushi-roll',\n icon: [448, 512, [\"maki-roll\", \"makizushi\"], \"e48b\", \"M448 368V144C448 82.1 347.7 32 224 32S0 82.1 0 144V368c0 61.9 100.3 112 224 112s224-50.1 224-112zM308.2 198.4c-24.5 6.1-53.3 9.6-84.2 9.6c-40.7 0-77.8-6.1-106-16.1c14.8-14.8 32.8-26.7 51.4-36.1c20.5-10.3 40.9-17 56.9-20.8c18.2 27.3 46.6 49.9 82 63.4zM205.1 80.4c.8 6 2.1 11.9 3.8 17.7c-17.3 4.7-37.4 11.8-57.5 21.9c-24.5 12.3-49.9 29.4-70.3 52.7C70.2 164.1 64 154.4 64 144c0-32.8 61.7-59.8 141.1-63.6zm40.7 .2c78 4.3 138.2 31 138.2 63.4c0 9.8-5.5 19.1-15.4 27.4c-69.5-5.5-113.5-48.4-122.8-90.8z\"]\n};\nvar faMakiRoll = faSushiRoll;\nvar faMakizushi = faSushiRoll;\nvar faCarBump = {\n prefix: 'fas',\n iconName: 'car-bump',\n icon: [640, 512, [], \"f5e0\", \"M145.1 120.6L292.4 81.2c12.7-3.4 26.3 1.3 34.1 12l37.8 51.6L114.6 211.6l7-63.6c1.4-13.1 10.8-24 23.5-27.4zM58 141.1L47.8 234.2C27.4 249.4 17.2 276 24.2 302.1L57.3 425.8l12.4 46.4c4.6 17.1 22.1 27.2 39.2 22.6l30.9-8.3c17.1-4.6 27.2-22.1 22.6-39.2L150 400.9l278.2-74.5 12.4 46.4c4.6 17.1 22.1 27.2 39.2 22.6l30.9-8.3c17.1-4.6 27.2-22.1 22.6-39.2L521 301.5 487.8 177.9c-7-26.1-29.1-44.1-54.4-47L378.1 55.3c-23.4-31.9-64-46.2-102.3-36L128.5 58.8C90.3 69.1 62.3 101.7 58 141.1zm58.9 136.2a32 32 0 1 1 16.6 61.8 32 32 0 1 1 -16.6-61.8zm255.6-35.3a32 32 0 1 1 61.8-16.6 32 32 0 1 1 -61.8 16.6zM584.8 512c19.5 0 34.7-17.7 25.8-35c-18.6-36.2-56.3-61-99.7-61s-81.2 24.8-99.7 61c-8.9 17.3 6.3 35 25.8 35H584.8z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M400 96l0 .7c-5.3-.4-10.6-.7-16-.7H256c-16.5 0-32.5 2.1-47.8 6c-.1-2-.2-4-.2-6c0-53 43-96 96-96s96 43 96 96zm-16 32c3.5 0 7 .1 10.4 .3c4.2 .3 8.4 .7 12.6 1.3C424.6 109.1 450.8 96 480 96h11.5c10.4 0 18 9.8 15.5 19.9l-13.8 55.2c15.8 14.8 28.7 32.8 37.5 52.9H544c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H512c-9.1 12.1-19.9 22.9-32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H256v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416c-34.9-26.2-58.7-66.3-63.2-112H68c-37.6 0-68-30.4-68-68s30.4-68 68-68h4c13.3 0 24 10.7 24 24s-10.7 24-24 24H68c-11 0-20 9-20 20s9 20 20 20H99.2c12.1-59.8 57.7-107.5 116.3-122.8c12.9-3.4 26.5-5.2 40.5-5.2H384zm64 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faRacquet = {\n prefix: 'fas',\n iconName: 'racquet',\n icon: [512, 512, [], \"f45a\", \"M349 64c-36 0-76.4 15.8-108.8 48.2S192 184.9 192 221c0 28.2 9.6 53.2 27.7 71.3c40.4 40.4 120.7 38.9 180.1-20.5C432.2 239.4 448 199.1 448 163c0-28.2-9.6-53.2-27.7-71.3S377.1 64 349 64zm-154 2.9C238.5 23.4 294.8 0 349 0c42.8 0 84.9 14.8 116.6 46.5S512 120.2 512 163c0 54.2-23.4 110.5-66.9 154c-54.4 54.4-131.9 78.7-198.2 61.7c-29.4-7.5-62.9-5.5-84.3 16L148.3 409c6.4 12.1 4.5 27.4-5.6 37.6l-56 56c-12.5 12.5-32.8 12.5-45.3 0l-32-32c-12.5-12.5-12.5-32.8 0-45.3l56-56c10.2-10.2 25.5-12.1 37.6-5.6l14.5-14.5c21.4-21.4 23.5-54.7 16-84C129.8 250.9 128 236 128 221c0-54.2 23.4-110.5 66.9-154z\"]\n};\nvar faCarMirrors = {\n prefix: 'fas',\n iconName: 'car-mirrors',\n icon: [576, 512, [], \"e343\", \"M167.2 117.4c4.5-12.8 16.6-21.4 30.2-21.4H378.6c13.6 0 25.7 8.6 30.2 21.4L434.9 192H141.1l26.1-74.6zM32 224h8.6c-5.4 9.4-8.6 20.3-8.6 32V400v48c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V400H448v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V400 256c0-11.7-3.1-22.6-8.6-32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H491.5L469.2 96.3C455.7 57.8 419.4 32 378.6 32H197.4c-40.8 0-77.1 25.8-90.6 64.3L84.5 160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32zm64 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm352-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faIndustryWindows = {\n prefix: 'fas',\n iconName: 'industry-windows',\n icon: [576, 512, [127981, \"industry-alt\"], \"f3b3\", \"M32 64c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V215.4L316.6 131c16-8.6 35.4 3 35.4 21.1v63.2L508.6 131c16-8.6 35.4 3 35.4 21.1V304 432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V352 304 64zM264 312c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H264zM120 328v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H136c-8.8 0-16 7.2-16 16zm272-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H392z\"]\n};\nvar faIndustryAlt = faIndustryWindows;\nvar faBoltAuto = {\n prefix: 'fas',\n iconName: 'bolt-auto',\n icon: [576, 512, [], \"e0b6\", \"M317.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224C.9 240.7-2.6 254.8 2 267.3S18.7 288 32 288H143.5L66.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H240.5L317.4 44.6zM464 288c-12.1 0-23.2 6.8-28.6 17.7l-80 160c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-80-160C487.2 294.8 476.1 288 464 288zM447.8 424L464 391.6 480.2 424H447.8z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm208 96H96V320H288V192z\"]\n};\nvar faBattery3 = faBatteryHalf;\nvar faFluxCapacitor = {\n prefix: 'fas',\n iconName: 'flux-capacitor',\n icon: [448, 512, [], \"f8ba\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM148.7 237.3l-49-49c-15.6-15.6-15.6-40.9 0-56.6s40.9-15.6 56.6 0l49 49c1.8-6.6 2.7-13.6 2.7-20.7c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c7.2 0 14.1-.9 20.7-2.7zM184 282.7c-23.9 13.8-40 39.7-40 69.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-29.6-16.1-55.5-40-69.3V352c0 22.1-17.9 40-40 40s-40-17.9-40-40V282.7zm115.3-45.4c6.6 1.8 13.6 2.7 20.7 2.7c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80c0 7.2 .9 14.1 2.7 20.7l49-49c15.6-15.6 40.9-15.6 56.6 0s15.6 40.9 0 56.6l-49 49zm-160-88.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L208 262.6V352c0 8.8 7.2 16 16 16s16-7.2 16-16V262.6l91.3-91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 233.4l-84.7-84.7z\"]\n};\nvar faMountainCity = {\n prefix: 'fas',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M336 0c-26.5 0-48 21.5-48 48v92.1l71.4 118.4c2.5-1.6 5.4-2.5 8.6-2.5h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-3.5l73.8 122.4c12.4 20.6 12.9 46.3 1.2 67.3c-.4 .8-.9 1.6-1.4 2.3H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm160 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zM224 188.9L283.8 288H223l-48 64-24.6-41.2L224 188.9zm29.4-44.2C247.1 134.3 236 128 224 128s-23.1 6.3-29.4 16.7L5.1 458.9c-6.5 10.8-6.7 24.3-.7 35.3S22 512 34.5 512H413.5c12.5 0 24-6.8 30.1-17.8s5.8-24.5-.7-35.3L253.4 144.7z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM160.7 161.1c10.2-.7 20.7-1.1 31.3-1.1c62.2 0 117.4 12.3 152.5 31.4C369.3 204.9 384 221.7 384 240c0 4-.7 7.9-2.1 11.7c-4.6 13.2-17 25.3-35 35.5c0 0 0 0 0 0c-.1 .1-.3 .1-.4 .2l0 0 0 0c-.3 .2-.6 .3-.9 .5c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4c10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9c-14.6 7.4-32.4 13.7-52.4 18.5c.1-1.8 .2-3.5 .2-5.3zm-32 96c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336V300.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9c6.1-3.4 11.8-7.2 17.2-11.2c1.5-1.1 2.9-2.3 4.3-3.4V304v5.7V336zm32 0V304 278.1c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9c-16.3 16.3-45 29.7-81.3 38.4c.1-1.7 .2-3.5 .2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432V396.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z\"]\n};\nvar faHoneyPot = {\n prefix: 'fas',\n iconName: 'honey-pot',\n icon: [448, 512, [127855], \"e418\", \"M128 32H64C46.3 32 32 46.3 32 64s14.3 32 32 32C25.1 125.2 0 171.7 0 224C0 362.8 79.6 441.9 113.3 469.1c9.3 7.5 21.1 10.9 33.1 10.9H301.6c12 0 23.7-3.3 33.1-10.9C368.4 441.9 448 362.8 448 224c0-52.3-25.1-98.8-64-128c17.7 0 32-14.3 32-32s-14.3-32-32-32H176V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V32zM64 224H384c0 53.7-14.7 96.1-32.9 128H96.9C78.7 320.1 64 277.7 64 224z\"]\n};\nvar faOlive = {\n prefix: 'fas',\n iconName: 'olive',\n icon: [448, 512, [], \"e316\", \"M160 480C71.6 480 0 408.4 0 320C0 128 181.9 32 280 32c56 0 112 56 112 56s56 56 56 112c0 98.1-96 280-288 280zM287.1 192.9c30.3 30.3 69.6 40.1 87.8 21.9s8.4-57.5-21.9-87.8s-69.6-40.1-87.8-21.9s-8.4 57.5 21.9 87.8z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M245.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9l0 0 0 0 0 0 0 0-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1 0 0 0 0c3.6 6.7 2 15-3.8 19.9L272 343.5v19.8l35.6-24.5 41.1-28.2c42.8-29.4 68.4-78 68.4-130c0-31.1-9.2-61.6-26.5-87.5l-2.8-4.2c-4-6-3.5-14 1.3-19.5s12.7-7 19.2-3.7L401.1 80c7.2-14.3 7.2-14.3 7.2-14.3l0 0 0 0 .1 0 .3 .2 1 .5c.8 .4 2 1.1 3.5 1.9c2.9 1.7 7 4.1 11.8 7.3c9.6 6.4 22.5 16.1 35.4 29c25.7 25.7 52.7 65.6 52.7 119.3c0 53.1-26.4 100.5-51.2 133.6c-12.6 16.7-25.1 30.3-34.5 39.7c-4.7 4.7-8.7 8.4-11.5 10.9c-1.4 1.3-2.5 2.2-3.3 2.9l-.9 .8-.3 .2-.1 .1 0 0 0 0s0 0-10.2-12.3l10.2 12.3c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L272 423.4v28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7V424.1l-40.3 27.7C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6L112 400c-10.2 12.3-10.2 12.3-10.3 12.3l0 0 0 0-.1-.1-.3-.2-.9-.8c-.8-.7-1.9-1.7-3.3-2.9c-2.8-2.5-6.7-6.2-11.5-10.9c-9.4-9.4-21.9-23-34.5-39.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c12.9-12.9 25.8-22.6 35.4-29C93 72.5 97 70 99.9 68.4c1.5-.8 2.6-1.5 3.5-1.9l1-.5 .3-.2 .1 0 0 0 0 0s0 0 7.2 14.3l-7.2-14.3c6.5-3.2 14.3-1.7 19.2 3.7s5.3 13.4 1.3 19.5l-2.8 4.2C105.2 119 96 149.5 96 180.6c0 51.9 25.6 100.6 68.4 130l41.1 28.2L240 362.6V343.5l-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9l0 0 0 0 0 0 .1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C167.1 254.6 144 218 144 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1 0 0 0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM220.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C227 210.2 232 190.9 232 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C285 141.8 280 161.1 280 176s5 34.2 11.8 53.1z\"]\n};\nvar faFilterList = {\n prefix: 'fas',\n iconName: 'filter-list',\n icon: [512, 512, [], \"e17c\", \"M40 64C24.2 64 9.9 73.3 3.5 87.7s-3.8 31.3 6.8 43L112 243.8V368c0 10.1 4.7 19.6 12.8 25.6l64 48c9.7 7.3 22.7 8.4 33.5 3s17.7-16.5 17.7-28.6V243.8l101.7-113c10.6-11.7 13.2-28.6 6.8-43S327.8 64 312 64H40zM352 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352zM320 256c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zM416 64c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H416z\"]\n};\nvar faOutlet = {\n prefix: 'fas',\n iconName: 'outlet',\n icon: [448, 512, [], \"e01c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm0 224c0-61.1 30.8-99.1 49.7-116.6c8.8-8.2 20.7-11.4 32.6-11.4H301.6c12 0 23.9 3.3 32.6 11.4C353.2 156.9 384 194.9 384 256s-30.8 99-49.7 116.6c-8.8 8.2-20.7 11.4-32.6 11.4H146.4c-12 0-23.9-3.3-32.6-11.4C94.8 355 64 317.1 64 256zm96-64c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm128 0c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm-64 96c-13.3 0-24 10.7-24 24v16c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V312c0-13.3-10.7-24-24-24z\"]\n};\nvar faSliders = {\n prefix: 'fas',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z\"]\n};\nvar faSlidersH = faSliders;\nvar faCauldron = {\n prefix: 'fas',\n iconName: 'cauldron',\n icon: [448, 512, [], \"f6bf\", \"M160 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm112 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM35.1 224C16.5 257 0 297.1 0 334.4c0 37.4 11.9 69.4 32 95.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V473c40.4 25.5 91.8 39 144 39s103.6-13.5 144-39v15c0 13.3 10.7 24 24 24s24-10.7 24-24V429.9c20.1-26.1 32-58.1 32-95.5c0-37.3-16.5-77.4-35.1-110.4H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H368 224 80 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h3.1z\"]\n};\nvar faPeople = {\n prefix: 'fas',\n iconName: 'people',\n icon: [640, 512, [], \"e216\", \"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9c9.8-5.9 15.3-16.2 15.5-26.9c.2 10.7 5.7 21 15.5 26.9c15.1 9.1 34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-3 5-4.5 10.5-4.6 15.9c-.1-5.4-1.6-10.9-4.6-15.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM528 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faFolderTree = {\n prefix: 'fas',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32v96V384c0 35.3 28.7 64 64 64H256V384H64V160H256V96H64V32zM288 192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192zm0 288c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V480z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z\"]\n};\nvar faCroissant = {\n prefix: 'fas',\n iconName: 'croissant',\n icon: [512, 512, [129360], \"f7f6\", \"M259.4 1.4c3.9 5.9 7 12.5 9.1 19.5l59.9 199.7c1.2 4.1 2 8.2 2.4 12.4L440.3 92.2c13.6-17.4 10.5-42.8-8.6-53.9C389.4 14 340.3 0 288 0c-9.7 0-19.2 .5-28.6 1.4zM233 330.8c-4.1-.4-8.3-1.2-12.4-2.4L20.9 268.5c-7-2.1-13.6-5.2-19.5-9.1C.5 268.8 0 278.3 0 288c0 52.3 14 101.4 38.4 143.7c11 19.1 36.4 22.2 53.9 8.6L233 330.8zM232.7 19l0 0c2 3 3.6 6.4 4.8 10c-1.2-3.6-2.8-6.9-4.8-10l0 0zm232.9 92.8L390 209l87.6 14.6c1.6 .3 3.2 .4 4.9 .4c16.3 0 29.6-13.2 29.6-29.6V189c0-4.2-.7-8.3-2.3-12.2c-10.1-25.2-24.1-48.5-41.3-69c-.9 1.4-1.9 2.7-2.9 4zM209 390l-97.1 75.6c-1.3 1-2.6 2-4 2.9c20.5 17.2 43.8 31.2 69 41.3c3.9 1.5 8 2.3 12.2 2.3h5.4c16.3 0 29.6-13.2 29.6-29.6c0-1.6-.1-3.3-.4-4.9L209 390zM19 232.7l0 0c2.3 1.5 4.7 2.8 7.3 3.8c1.2 .5 2.5 1 3.8 1.3l199.7 59.9c11.3 3.4 23.5 .3 31.8-8l28.1-28.1c8.3-8.3 11.4-20.5 8-31.8L237.8 30.1C232.5 12.2 216 0 197.4 0c-4.6 0-9.2 .7-13.5 2.3C99.7 33 33 99.7 2.3 183.9C.7 188.2 0 192.8 0 197.4c0 14.5 7.4 27.6 19 35.3l0 0z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M16 144a144 144 0 1 1 288 0A144 144 0 1 1 16 144zM160 80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64zM128 480V317.1c10.4 1.9 21.1 2.9 32 2.9s21.6-1 32-2.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M34.6 288H80c8.8 0 16-7.2 16-16V72c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V40c0-22.1 17.9-40 40-40s40 17.9 40 40V204c0 11 9 20 20 20s20-9 20-20V72c0-22.1 17.9-40 40-40s40 17.9 40 40V272c0 8.8 7.2 16 16 16h45.4c19.1 0 34.6 15.5 34.6 34.6c0 8.6-3.2 16.9-9 23.3L416.6 441c-41.1 45.2-99.4 71-160.6 71s-119.4-25.8-160.6-71L9 345.9c-5.8-6.4-9-14.7-9-23.3C0 303.5 15.5 288 34.6 288zM256 288c-38.4 0-76.8 35.8-90.6 50.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288zm0 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCentSign = {\n prefix: 'fas',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M224 0c17.7 0 32 14.3 32 32V66.7c30.9 5.2 59.2 17.7 83.2 35.8c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8c-24 18-52.4 30.6-83.2 35.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C101.2 430.1 32 351.1 32 256s69.2-174.1 160-189.3V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faSwordsLaser = {\n prefix: 'fas',\n iconName: 'swords-laser',\n icon: [640, 512, [], \"e03d\", \"M135 7c-9.1 9.1-9.4 23.7-.7 33.2L360 286.9V181.8L168.2 6.3C158.7-2.4 144.1-2.1 135 7zm263 349.7l49 49 27.3-27.3 32-32L533.7 319 411.3 196.7c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V322.7c0 12.7 5.1 24.9 14.1 33.9zM523.3 352L629 457.7l3.5-3.5c4.8-4.8 7.5-11.3 7.5-18.1s-2.7-13.3-7.5-18.1L545 330.3 523.3 352zM512 363.3L491.3 384 597 489.7 617.7 469 512 363.3zm-32 32L458.3 417l87.5 87.5c4.8 4.8 11.3 7.5 18.1 7.5s13.3-2.7 18.1-7.5l3.5-3.5L480 395.3zM247.6 211.4l-24.7 22.6c-1.6-3.9-4.7-7.2-8.7-8.8c-6-2.5-12.9-1.1-17.4 3.5l-25.4 25.4-4.9-4.9c-12.5-12.3-32.6-12.2-45 .2c-12.5 12.5-12.5 32.8 0 45.3l4.7 4.7L7.5 417.9C2.7 422.7 0 429.2 0 436s2.7 13.3 7.5 18.1l50.3 50.3c4.8 4.8 11.3 7.5 18.1 7.5s13.3-2.7 18.1-7.5L209.9 388.7c9-9 14.1-21.2 14.1-33.9v-6.6l74.3-81.2-50.7-55.5zm142.8-45.2l115.3-126c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L343.7 123.5l46.7 42.7zM152 344a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M288 0H160 128C110.3 0 96 14.3 96 32s14.3 32 32 32V196.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512H378.6c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM192 196.8V64h64V196.8c0 23.7 6.6 46.9 19 67.1L309.5 320h-171L173 263.9c12.4-20.2 19-43.4 19-67.1z\"]\n};\nvar faPersonPregnant = {\n prefix: 'fas',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M192 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 383c-13.8-3.6-24-16.1-24-31V296.9l-4.6 7.6c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c15-24.9 40.3-41.5 68.7-45.6c4.1-.6 8.2-1 12.5-1h1.1 12.5H192c1.4 0 2.8 .1 4.1 .3c35.7 2.9 65.4 29.3 72.1 65l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3v32c0 17.7-14.3 32-32 32H304 264v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384h-8-8v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V383z\"]\n};\nvar faSquareU = {\n prefix: 'fas',\n iconName: 'square-u',\n icon: [448, 512, [], \"e281\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 136V288c0 35.3 28.7 64 64 64s64-28.7 64-64V168c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V168c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faWandSparkles = {\n prefix: 'fas',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7V176c0 8.8-7.2 16-16 16H384.2c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9V272c0-8.8 7.2-16 16-16h34.6c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z\"]\n};\nvar faRouter = {\n prefix: 'fas',\n iconName: 'router',\n icon: [576, 512, [], \"f8da\", \"M352 48c58.8 0 112.5 21.8 153.4 57.9c9.9 8.8 25.1 7.8 33.9-2.1s7.8-25.1-2.1-33.9C487.8 26.4 422.9 0 352 0S216.2 26.4 166.9 69.9c-9.9 8.8-10.9 23.9-2.1 33.9s23.9 10.9 33.9 2.1C239.5 69.8 293.2 48 352 48zm24 200c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V384c0-35.3-28.7-64-64-64H376V248zM96 384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM276.5 186.7C297.1 170 323.4 160 352 160s54.9 10 75.5 26.7c10.3 8.3 25.4 6.8 33.8-3.5s6.8-25.4-3.5-33.8C428.8 126 392 112 352 112s-76.8 14-105.7 37.4c-10.3 8.3-11.9 23.5-3.5 33.8s23.5 11.9 33.8 3.5z\"]\n};\nvar faEllipsisVertical = {\n prefix: 'fas',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z\"]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faSwordLaserAlt = {\n prefix: 'fas',\n iconName: 'sword-laser-alt',\n icon: [512, 512, [], \"e03c\", \"M505.7 40.2c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L225.1 232H330.2L505.7 40.2zM189.3 256c-12.7 0-24.9 5.1-33.9 14.1l-49 49 27.3 27.3 32 32L193 405.7 315.3 283.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H189.3zm-7.6 161L160 395.3 54.3 501l3.5 3.5c4.8 4.8 11.3 7.5 18.1 7.5s13.3-2.7 18.1-7.5L181.7 417zM43 489.7L148.7 384 128 363.3 22.3 469 43 489.7zm-32-32L116.7 352 95 330.3 7.5 417.9C2.7 422.7 0 429.2 0 436s2.7 13.3 7.5 18.1l3.5 3.5z\"]\n};\nvar faTicket = {\n prefix: 'fas',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V128c0-35.3-28.7-64-64-64H64zm64 112l0 160c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 160c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V256c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z\"]\n};\nvar faCoin = {\n prefix: 'fas',\n iconName: 'coin',\n icon: [512, 512, [129689], \"f85c\", \"M256 352C114.6 352 0 287.5 0 208S114.6 64 256 64s256 64.5 256 144s-114.6 144-256 144zM86.6 248.2c12 11.4 27.7 20.1 44.4 26.8c33.6 13.4 77.8 21 125 21s91.4-7.6 125-21c16.7-6.7 32.4-15.4 44.4-26.8C437.5 236.7 448 220.5 448 200s-10.5-36.7-22.6-48.2c-12-11.4-27.7-20.1-44.4-26.8c-33.6-13.4-77.8-21-125-21s-91.4 7.6-125 21c-16.7 6.7-32.4 15.4-44.4 26.8C74.5 163.3 64 179.5 64 200s10.5 36.7 22.6 48.2zM96 200c0-35.3 71.6-64 160-64s160 28.7 160 64s-71.6 64-160 64s-160-28.7-160-64zM0 290.1c13.2 15.6 29.7 29.3 48 40.9l0 63.7C17.8 373.6 0 347.9 0 320l0-29.9zM80 413l0-64.7c28.4 13.2 60.9 23 96 29l0 64.3c-36.2-6-68.9-15.9-96-28.7zm128 32.8l0-64.1c15.7 1.6 31.7 2.4 48 2.4s32.3-.8 48-2.4l0 64.1c-15.5 1.5-31.6 2.2-48 2.2s-32.5-.8-48-2.2zm128-4.1l0-64.3c35.1-6 67.6-15.9 96-29l0 64.7c-27.1 12.8-59.8 22.7-96 28.7zm128-47l0-63.7c18.3-11.5 34.8-25.2 48-40.9l0 29.9c0 27.9-17.8 53.6-48 74.6z\"]\n};\nvar faLaptopSlash = {\n prefix: 'fas',\n iconName: 'laptop-slash',\n icon: [640, 512, [], \"e1c7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-14-10.9c14.3-13.9 23.2-33.4 23.2-55c0-10.6-8.6-19.2-19.2-19.2H522.2L154.8 96H512V352h64V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zM128 197L64 146.6V352h64V197zM487.2 480L365.3 384H19.2C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H487.2z\"]\n};\nvar faRightLong = {\n prefix: 'fas',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z\"]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faCircleB = {\n prefix: 'fas',\n iconName: 'circle-b',\n icon: [512, 512, [], \"e0fd\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24h92c42 0 76 34 76 76c0 16.2-5.1 31.3-13.8 43.7C356.3 261.6 368 283.4 368 308c0 42-34 76-76 76H184c-13.3 0-24-10.7-24-24V256 152zm144 52c0-15.5-12.5-28-28-28H208v56h68c15.5 0 28-12.5 28-28zM208 336h84c15.5 0 28-12.5 28-28s-12.5-28-28-28H276 208v56z\"]\n};\nvar faPersonDressSimple = {\n prefix: 'fas',\n iconName: 'person-dress-simple',\n icon: [256, 512, [], \"e21c\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM50.7 206.4c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H192v80c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4z\"]\n};\nvar faPipeCollar = {\n prefix: 'fas',\n iconName: 'pipe-collar',\n icon: [512, 512, [], \"e437\", \"M18.7 18.7c25-25 65.5-25 90.5 0L126 35.4C164.1 12.9 208.5 0 256 0s91.9 12.9 130 35.4l16.7-16.7c25-25 65.5-25 90.5 0s25 65.5 0 90.5L476.6 126c22.5 38.1 35.4 82.6 35.4 130s-12.9 91.9-35.4 130l16.7 16.7c25 25 25 65.5 0 90.5s-65.5 25-90.5 0L386 476.6C347.9 499.1 303.5 512 256 512s-91.9-12.9-130-35.4l-16.7 16.7c-25 25-65.5 25-90.5 0s-25-65.5 0-90.5L35.4 386C12.9 347.9 0 303.5 0 256s12.9-91.9 35.4-130L18.7 109.3c-25-25-25-65.5 0-90.5zM64 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM256 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM80 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM448 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 368a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faLightsHoliday = {\n prefix: 'fas',\n iconName: 'lights-holiday',\n icon: [640, 512, [], \"f7b2\", \"M5.4 78.2c9.8-14.7 29.6-18.7 44.3-9l0 0 .4 .3c.5 .3 1.3 .8 2.5 1.5c2.4 1.4 6.3 3.6 11.7 6.3C75 82.7 91.6 90.1 114.1 97.6C159 112.6 227.6 128 320 128s161-15.4 205.9-30.4c22.5-7.5 39.1-14.9 49.8-20.3c5.4-2.7 9.3-4.9 11.7-6.3c1.2-.7 2.1-1.2 2.5-1.5l.4-.2 0 0c0 0 0 0 .1 0c14.7-9.7 34.5-5.8 44.3 8.9c9.8 14.7 5.8 34.6-8.9 44.4L608 96c17.8 26.6 17.7 26.6 17.7 26.6l0 0-.1 0-.2 .1-.4 .3c-.3 .2-.7 .5-1.2 .8c-1 .6-2.4 1.5-4.2 2.5c-3.6 2.1-8.7 4.9-15.3 8.2c-13.3 6.6-32.7 15.2-58.2 23.7C495 175.4 419.6 192 320 192s-175-16.6-226.1-33.6c-25.5-8.5-44.9-17.1-58.2-23.7c-6.6-3.3-11.7-6.1-15.3-8.2c-1.8-1-3.2-1.9-4.2-2.5c-.5-.3-.9-.6-1.2-.8l-.4-.3-.1-.1-.1 0 0 0c0 0 0 0 17.7-26.6L14.2 122.6C-.5 112.8-4.4 93 5.4 78.2zM523.2 198.7l9.4 25.8c30.8 1.9 59 21.7 70.2 52.5c16.4 45.1-8.8 139.4-31.4 147.6s-102.5-47.8-119-92.9c-11.2-30.8-2.3-64.1 20-85.3l-12.3-33.8c23.2-4 44.2-8.7 63.1-13.8zM320 224c10.9 0 21.6-.2 32-.6v39.2c28.3 12.3 48 40.5 48 73.3c0 48-56 128-80 128s-80-80-80-128c0-32.8 19.7-61 48-73.3V223.4c10.4 .4 21.1 .6 32 .6zM179.9 212.5l-12.3 33.8c22.3 21.3 31.2 54.5 20 85.3c-16.4 45.1-96.4 101.1-119 92.9S20.8 322.1 37.3 277c11.2-30.8 39.4-50.6 70.2-52.5l9.4-25.8c18.8 5.1 39.9 9.9 63.1 13.8z\"]\n};\nvar faCitrus = {\n prefix: 'fas',\n iconName: 'citrus',\n icon: [512, 512, [], \"e2f4\", \"M304 128h80c53 0 96-43 96-96V16c0-8.8-7.2-16-16-16H384c-53 0-96 43-96 96v16c0 8.8 7.2 16 16 16zM256 96c0-23.1 6.1-44.7 16.8-63.4c-5.5-.4-11.1-.6-16.8-.6C123.5 32 16 139.5 16 272s107.5 240 240 240s240-107.5 240-240c0-49.5-15-95.5-40.7-133.7C435 152 410.4 160 384 160H304c-26.5 0-48-21.5-48-48V96z\"]\n};\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M32 0C49.7 0 64 14.3 64 32V48l69-17.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v36.1l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9v32.2c17.4 2.1 34.4 6.7 50.6 13.9l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 136.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 203.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 232.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3L64 299.1v32.7l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 328.3v33.5c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L64 400v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V416 345.5 312.8 249.5 216.8 153.5 120.8 64 32C0 14.3 14.3 0 32 0zm80 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-32 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLaptopFile = {\n prefix: 'fas',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M128 0C92.7 0 64 28.7 64 64V288H19.2C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384H320V288H128V64H448V96h64V64c0-35.3-28.7-64-64-64H128zM512 128H400c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V256H544c-17.7 0-32-14.3-32-32V128zm32 0v96h96l-96-96z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M38.3 241.3L15.1 200.6c-9.2-16.2-8.4-36.5 4.5-50C61.4 106.8 144.7 48 256 48s194.6 58.8 236.4 102.6c12.9 13.5 13.7 33.8 4.5 50l-23.1 40.7c-7.5 13.2-23.3 19.3-37.8 14.6l-81.1-26.6c-13.1-4.3-22-16.6-22-30.4V144c-49.6-18.1-104-18.1-153.6 0v54.8c0 13.8-8.9 26.1-22 30.4L76.1 255.8c-14.5 4.7-30.3-1.4-37.8-14.6zM32 336c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V336zm0 96c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V432zM144 320h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM128 432c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V432z\"]\n};\nvar faTeletype = faTty;\nvar faChartTreeMap = {\n prefix: 'fas',\n iconName: 'chart-tree-map',\n icon: [512, 512, [], \"e0ea\", \"M0 80C0 53.5 21.5 32 48 32H176c26.5 0 48 21.5 48 48V192c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM0 320c0-26.5 21.5-48 48-48H176c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V320zM304 32H464c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zM256 240c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V240zm48 112H464c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faDiagramNext = {\n prefix: 'fas',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M512 160c0 35.3-28.7 64-64 64H280v64h46.1c21.4 0 32.1 25.9 17 41L273 399c-9.4 9.4-24.6 9.4-33.9 0L169 329c-15.1-15.1-4.4-41 17-41H232V224H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64zM448 416V352H365.3l.4-.4c18.4-18.4 20.4-43.7 11-63.6l71.3 0c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64l71.3 0c-9.4 19.9-7.4 45.2 11 63.6l.4 .4H64v64H210.7l5.7 5.7c21.9 21.9 57.3 21.9 79.2 0l5.7-5.7H448z\"]\n};\nvar faPersonRifle = {\n prefix: 'fas',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M265.2 192c25.4 0 49.8 7.1 70.8 19.9V512H144V337.7L90.4 428.3c-11.2 19-35.8 25.3-54.8 14.1s-25.3-35.8-14.1-54.8L97.7 258.8c24.5-41.4 69-66.8 117.1-66.8h50.4zM160 80a80 80 0 1 1 160 0A80 80 0 1 1 160 80zM448 0c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 16z\"]\n};\nvar faClockFiveThirty = {\n prefix: 'fas',\n iconName: 'clock-five-thirty',\n icon: [512, 512, [], \"e34a\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V335.3l20 30c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3l-64-96c-5.9-8.8-16.8-12.7-26.9-9.7s-17 12.4-17 23V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faPipeValve = {\n prefix: 'fas',\n iconName: 'pipe-valve',\n icon: [512, 512, [], \"e439\", \"M288 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V76L128 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128-16 128 16c17.7 0 32-14.3 32-32s-14.3-32-32-32L288 76V64zm0 84.2l-32-4-32 4V192H96V448H416V192H288V148.2zM32 160c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-17.7-14.3-32-32-32zm480 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V192z\"]\n};\nvar faArrowUpFromArc = {\n prefix: 'fas',\n iconName: 'arrow-up-from-arc',\n icon: [512, 512, [], \"e4b4\", \"M256 448C150 448 64 362 64 256c0-17.7-14.3-32-32-32s-32 14.3-32 32C0 397.4 114.6 512 256 512s256-114.6 256-256c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 106-86 192-192 192zM121.4 121.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 224 320c0 17.7 14.3 32 32 32s32-14.3 32-32l0-210.7 57.4 57.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0l-112 112z\"]\n};\nvar faFaceSpiralEyes = {\n prefix: 'fas',\n iconName: 'face-spiral-eyes',\n icon: [512, 512, [], \"e485\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56.9-137.1l14.8-9.9c14.3-9.6 32.7-10.7 48.1-3l15.4 7.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-15.4-7.7c-5.1-2.6-11.3-2.2-16 1l-14.8 9.9c-16.1 10.7-37.1 10.7-53.3 0l-12.5-8.3c-5.4-3.6-12.4-3.6-17.8 0l-12.5 8.3c-16.1 10.7-37.1 10.7-53.3 0l-14.8-9.9c-4.8-3.2-10.9-3.6-16-1l-15.4 7.7c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l15.4-7.7c15.4-7.7 33.8-6.6 48.1 3l14.8 9.9c5.4 3.6 12.4 3.6 17.8 0l12.5-8.3c16.1-10.7 37.1-10.7 53.3 0l12.5 8.3c5.4 3.6 12.4 3.6 17.8 0zm-147-263.3c.3 6.6-4.9 12.2-11.5 12.5c-46.9 1.9-82.2 45-78.1 84.3l0 .3 0 .3c2 40.2 40.8 70.7 76.2 66.7l.3 0 .3 0c36.3-2 62.1-35.7 58.4-64.5l0-.3 0-.3c-2.1-29.8-31.3-51-56-47.5l-.3 0-.3 0c-25.7 2.2-42 26.2-38.9 44.5l.1 .4 0 .4c2.1 19.5 21.5 31.3 35.5 28.6l.3-.1 .3 0c15.2-2.1 22-16.3 19.9-24l-.1-.4-.1-.4c-.9-4.3-3.4-7.4-6.5-9.2c-.9-.5-1.8-.9-2.6-1.2c1.7 1.9 2.8 4.2 3 6.9c1 11.1-8.8 15.8-14.1 16.4c-6.6 .8-13.4-2.2-17.6-8.5c-5-6.8-4.4-15.6-1.8-21.8c2.9-7 8.9-13.2 17.8-16c9.2-3.3 19.4-1.3 27.5 3.3c8.3 4.9 15.5 13.4 17.9 24.8c5.8 22.8-11.9 49.5-39.5 53.6c-27.7 5.3-59.8-16.2-63.6-49.2c-5.4-33 21.9-68.7 60.3-72.1c38.2-5.2 79.6 25.8 82.9 69.3c5.4 43.3-31.5 88.2-80.6 91.2c-48.8 5.3-99.6-35.2-102.5-89.1c-5.5-53.8 41.1-108.1 101-110.5c6.6-.3 12.2 4.9 12.5 11.5zM357.6 292c46.9-1.9 82.2-45 78.1-84.3l0-.3 0-.3c-2-40.2-40.8-70.7-76.2-66.7l-.3 0-.3 0c-36.3 2-62.1 35.7-58.4 64.5l0 .3 0 .3c2.1 29.8 31.3 51 56 47.5l.3 0 .3 0c25.7-2.2 42-26.2 38.9-44.5l-.1-.4 0-.4c-2.1-19.5-21.5-31.3-35.5-28.6l-.3 .1-.3 0c-15.2 2.1-21.9 16.3-19.9 24l.1 .4 .1 .4c.9 4.3 3.4 7.4 6.5 9.2c.9 .5 1.8 .9 2.6 1.2c-1.7-1.9-2.8-4.2-3-6.9c-1-11.1 8.8-15.8 14.1-16.4c6.6-.8 13.4 2.2 17.6 8.5c5 6.8 4.4 15.6 1.8 21.8c-2.9 7-8.9 13.2-17.8 16c-9.2 3.3-19.4 1.3-27.5-3.3c-8.3-4.9-15.5-13.4-17.9-24.8c-5.8-22.8 11.9-49.5 39.5-53.6c27.7-5.3 59.8 16.2 63.6 49.2c5.4 33-21.9 68.7-60.3 72.1c-38.2 5.2-79.6-25.8-82.9-69.3c-5.4-43.3 31.5-88.2 80.6-91.2c48.8-5.3 99.6 35.2 102.5 89.1c5.5 53.8-41.1 108.1-101 110.5c-6.6 .3-12.2-4.9-12.5-11.5s4.9-12.2 11.5-12.5z\"]\n};\nvar faCompressWide = {\n prefix: 'fas',\n iconName: 'compress-wide',\n icon: [512, 512, [], \"f326\", \"M160 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V96zM32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32H32zM416 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H416V96zM384 288c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H384z\"]\n};\nvar faCirclePhoneHangup = {\n prefix: 'fas',\n iconName: 'circle-phone-hangup',\n icon: [512, 512, [\"phone-circle-down\"], \"e11d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM391.4 310c-5.3 8.6-16.8 12.3-26.7 8.5l-46.2-17.6c-8.7-3.3-14.1-11.6-13.1-20.3l2.9-26.7c-33.8-10.8-70.8-10.8-104.6 0l2.9 26.7c.9 8.7-4.4 16.9-13.1 20.3l-46.2 17.6c-9.9 3.8-21.4 .2-26.7-8.5L98.8 274.8c-4.8-7.8-3.4-17.5 3.4-23.8c84.9-78.6 222.6-78.6 307.5 0c6.8 6.3 8.2 16.1 3.4 23.8L391.4 310z\"]\n};\nvar faPhoneCircleDown = faCirclePhoneHangup;\nvar faGearComplexCode = {\n prefix: 'fas',\n iconName: 'gear-complex-code',\n icon: [512, 512, [], \"e5eb\", \"M305.4 21.8c-1.3-10.4-9.1-18.8-19.5-20C276.1 .6 266.1 0 256 0c-11.1 0-22.1 .7-32.8 2.1c-10.3 1.3-18 9.7-19.3 20l-2.9 23.1c-.8 6.4-5.4 11.6-11.5 13.7c-9.6 3.2-19 7.2-27.9 11.7c-5.8 3-12.8 2.5-18-1.5l-18-14c-8.2-6.4-19.7-6.8-27.9-.4c-16.6 13-31.5 28-44.4 44.7c-6.3 8.2-5.9 19.6 .5 27.8l14.2 18.3c4 5.1 4.4 12 1.5 17.8c-4.4 8.8-8.2 17.9-11.3 27.4c-2 6.2-7.3 10.8-13.7 11.6l-22.8 2.9c-10.3 1.3-18.7 9.1-20 19.4C.7 234.8 0 245.3 0 256c0 10.6 .6 21.1 1.9 31.4c1.3 10.3 9.7 18.1 20 19.4l22.8 2.9c6.4 .8 11.7 5.4 13.7 11.6c3.1 9.5 6.9 18.7 11.3 27.5c2.9 5.8 2.4 12.7-1.5 17.8L54 384.8c-6.4 8.2-6.8 19.6-.5 27.8c12.9 16.7 27.8 31.7 44.4 44.7c8.2 6.4 19.7 6 27.9-.4l18-14c5.1-4 12.2-4.4 18-1.5c9 4.6 18.3 8.5 27.9 11.7c6.1 2.1 10.7 7.3 11.5 13.7l2.9 23.1c1.3 10.3 9 18.7 19.3 20c10.7 1.4 21.7 2.1 32.8 2.1c10.1 0 20.1-.6 29.9-1.7c10.4-1.2 18.2-9.7 19.5-20l2.8-22.5c.8-6.5 5.5-11.8 11.7-13.8c10-3.2 19.7-7.2 29-11.8c5.8-2.9 12.7-2.4 17.8 1.5L385 457.9c8.2 6.4 19.6 6.8 27.8 .5c2.8-2.2 5.5-4.4 8.2-6.7L451.7 421c1.8-2.2 3.6-4.4 5.4-6.6c6.5-8.2 6-19.7-.4-27.9l-14-17.9c-4-5.1-4.4-12.2-1.5-18c4.8-9.4 9-19.3 12.3-29.5c2-6.2 7.3-10.8 13.7-11.6l22.8-2.8c10.3-1.3 18.8-9.1 20-19.4c.2-1.7 .4-3.5 .6-5.2V230.1c-.2-1.7-.4-3.5-.6-5.2c-1.3-10.3-9.7-18.1-20-19.4l-22.8-2.8c-6.4-.8-11.7-5.4-13.7-11.6c-3.4-10.2-7.5-20.1-12.3-29.5c-3-5.8-2.5-12.8 1.5-18l14-17.9c6.4-8.2 6.8-19.7 .4-27.9c-1.8-2.2-3.6-4.4-5.4-6.6L421 60.3c-2.7-2.3-5.4-4.5-8.2-6.7c-8.2-6.4-19.6-5.9-27.8 .5L366.7 68.3c-5.1 4-12.1 4.4-17.8 1.5c-9.3-4.6-19-8.6-29-11.8c-6.2-2-10.9-7.3-11.7-13.7l-2.8-22.5zM287.8 162.6l-32 192c-1.5 8.7-9.7 14.6-18.4 13.2s-14.6-9.7-13.2-18.4l32-192c1.5-8.7 9.7-14.6 18.4-13.2s14.6 9.7 13.2 18.4zM187.3 227.3L158.6 256l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6l40-40c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm160-22.6l40 40c6.2 6.2 6.2 16.4 0 22.6l-40 40c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L353.4 256l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'fas',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M320 368c0 59.5 29.5 112.1 74.8 144H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9c-54.7 0-103.5 24.9-135.8 64H320V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faBadminton = {\n prefix: 'fas',\n iconName: 'badminton',\n icon: [576, 512, [], \"e33a\", \"M349 64c-36 0-76.4 15.8-108.8 48.2S192 184.9 192 221c0 28.2 9.6 53.2 27.7 71.3c40.4 40.4 120.7 38.9 180.1-20.5C432.2 239.4 448 199.1 448 163c0-28.2-9.6-53.2-27.7-71.3S377.1 64 349 64zm-154 2.9C238.5 23.4 294.8 0 349 0c42.8 0 84.9 14.8 116.6 46.5S512 120.2 512 163c0 54.2-23.4 110.5-66.9 154c-54.4 54.4-131.9 78.7-198.2 61.7c-29.4-7.5-62.9-5.5-84.3 16L148.3 409c6.4 12.1 4.5 27.4-5.6 37.6l-56 56c-12.5 12.5-32.8 12.5-45.3 0l-32-32c-12.5-12.5-12.5-32.8 0-45.3l56-56c10.2-10.2 25.5-12.1 37.6-5.6l14.5-14.5c21.4-21.4 23.5-54.7 16-84C129.8 250.9 128 236 128 221c0-54.2 23.4-110.5 66.9-154zM464 400c0-26.5 21.5-48 48-48s48 21.5 48 48v32H464V400zm-15.3 91.4l13-43.4h33.4l-15.8 52.6c-2.5 8.5-11.5 13.3-19.9 10.7s-13.3-11.5-10.7-19.9zM496 496V448h32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16zm48.7 4.6L528.9 448h33.4l13 43.4c2.5 8.5-2.3 17.4-10.7 19.9s-17.4-2.3-19.9-10.7z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nvar faPersonHiking = {\n prefix: 'fas',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M192 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208H336V184c0-13.3 10.7-24 24-24s24 10.7 24 24v55.8c0 .1 0 .2 0 .2s0 .2 0 .2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H296.6c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z\"]\n};\nvar faHiking = faPersonHiking;\nvar faRightFromLine = {\n prefix: 'fas',\n iconName: 'right-from-line',\n icon: [448, 512, [\"arrow-alt-from-left\"], \"f347\", \"M313.9 105.9L436.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L313.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1-128 0c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM64 96l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64s32 14.3 32 32z\"]\n};\nvar faArrowAltFromLeft = faRightFromLine;\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM368 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H224v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C78.1 334.1 16 262.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c14.6-15.6 26.8-33.4 36-53c18.8 14.4 42.4 23 68 23c61.9 0 112-50.1 112-112s-50.1-112-112-112c-25.6 0-49.1 8.6-68 23c-9.3-19.5-21.5-37.4-36-53C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1c-26.6-4.9-51.1-15.7-72-31.1z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM396 138.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S480.9 320 472 320H328 280 200c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C360.5 132 368 128 376 128s15.5 4 20 10.7zM192 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faShuttlecock = {\n prefix: 'fas',\n iconName: 'shuttlecock',\n icon: [512, 512, [], \"f45b\", \"M320 32c0 8.8-7.2 16-16 16c-24.4 0-46 15.8-53.4 39.1l-29.3 92.8c-1.3 4.1-4.2 7.6-8.1 9.5l-32.4 16.2c-3.1 1.5-5.6 4.1-7.2 7.2l-32.5 64.9c-3.1 6.2-1.9 13.6 3 18.5L163 315l71.9-71.9L281.1 96.8C284.3 86.8 293.5 80 304 80H408c13.3 0 24 10.7 24 24V208c0 10.5-6.8 19.7-16.8 22.9L268.8 277.1 197 349l18.9 18.9c4.9 4.9 12.3 6.1 18.5 3l64.9-32.5c3.1-1.5 5.6-4.1 7.2-7.2l16.2-32.4c1.9-3.9 5.4-6.8 9.5-8.1l92.8-29.3c23.3-7.4 39.1-29 39.1-53.4c0-8.8 7.2-16 16-16h8c13.3 0 24 10.7 24 24v51.7c0 12.4-7.2 23.7-18.4 29L250.1 411.2c-6.7 3.1-12.8 7.4-18 12.7l-28.8 28.8-144-144 28.8-28.8c5.2-5.2 9.5-11.3 12.7-18L215.4 18.4C220.6 7.2 231.9 0 244.3 0H296c13.3 0 24 10.7 24 24v8zM36.7 331.3l144 144-6.9 6.9c-19.1 19.1-45 29.8-72 29.8C45.6 512 0 466.4 0 410.2c0-27 10.7-52.9 29.8-72l6.9-6.9z\"]\n};\nvar faUserHair = {\n prefix: 'fas',\n iconName: 'user-hair',\n icon: [448, 512, [], \"e45a\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32zM96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0S96 57.3 96 128zm65.3 192C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3z\"]\n};\nvar faEyeEvil = {\n prefix: 'fas',\n iconName: 'eye-evil',\n icon: [640, 512, [], \"f6db\", \"M254.9 112.2c-10.7 2.8-21.1 6.3-30.9 10.4L114.4 76.1c-8.7-3.7-18.7-1-24.4 6.5s-5.5 17.9 .4 25.2l57.3 70.8c-7 9-12.8 18.6-17.3 28.6L15.5 236.1C6.4 238.4 0 246.6 0 256s6.4 17.6 15.5 19.9l114.9 28.7c4.5 10.1 10.3 19.7 17.3 28.6L90.4 404.1c-5.9 7.3-6.1 17.7-.4 25.2s15.7 10.2 24.4 6.5L224 389.4c9.8 4.1 20.1 7.6 30.9 10.4l42.7 97.6c3.9 8.9 12.7 14.7 22.4 14.7s18.5-5.8 22.4-14.7l42.7-97.6c10.7-2.8 21.1-6.3 30.9-10.4l109.7 46.5c8.7 3.7 18.7 1 24.4-6.5s5.5-17.9-.4-25.2l-57.3-70.8c7-9 12.8-18.6 17.3-28.6l114.9-28.7c9.1-2.3 15.5-10.5 15.5-19.9s-6.4-17.6-15.5-19.9L509.6 207.4c-4.5-10.1-10.3-19.7-17.3-28.6l57.3-70.8c5.9-7.3 6.1-17.7 .4-25.2s-15.7-10.2-24.4-6.5L416 122.6c-9.8-4.1-20.1-7.6-30.9-10.4L342.4 14.7C338.5 5.8 329.7 0 320 0s-18.5 5.8-22.4 14.7l-42.7 97.6zM320 352c-53 0-96-43-96-96c0-19.7 6-38.1 16.2-53.3c16.6 9.6 35 16.2 54.7 19.3c-3.9 9.4-6.8 20.8-6.8 34c0 31.5 16.5 52.7 23.8 60.6c2.1 2.3 5.1 3.4 8.2 3.4s6.1-1.1 8.2-3.4c7.3-7.9 23.8-29.2 23.8-60.6c0-13.2-2.9-24.6-6.8-34c19.6-3.1 38.1-9.8 54.7-19.3C410 217.9 416 236.3 416 256c0 53-43 96-96 96z\"]\n};\nvar faPeoplePulling = {\n prefix: 'fas',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM64 128c-35.3 0-64 28.7-64 64V320c0 17.7 14.3 32 32 32c9.8 0 18.5-4.4 24.4-11.2L80.4 485.3c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8L123.1 352h15.7l30 134.9c3.8 17.3 20.9 28.1 38.2 24.3s28.1-20.9 24.3-38.2l-57.3-258 116.3 53.8c.5 .3 1.1 .5 1.6 .7c8.6 3.6 18 3.1 25.9-.7c3.4-1.6 6.6-3.9 9.3-6.7c3.1-3.2 5.5-7 7.1-11.4c.1-.3 .2-.7 .3-1l2.5-7.5c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L537 232.7l-15.3-36.8C504.5 154.8 464.3 128 419.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-24.4 10.9-44.6 29-58.1 51.6L157.3 136.9C144.7 131 130.9 128 117 128H64zM464 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM349.7 335.6l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L372.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6z\"]\n};\nvar faN = {\n prefix: 'fas',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M21.1 33.9c12.7-4.6 26.9-.7 35.5 9.6L320 359.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 13.5-8.4 25.5-21.1 30.1s-26.9 .7-35.5-9.6L64 152.4V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 50.5 8.4 38.5 21.1 33.9z\"]\n};\nvar faGarage = {\n prefix: 'fas',\n iconName: 'garage',\n icon: [640, 512, [], \"e009\", \"M0 171.3V488c0 13.3 10.7 24 24 24H72c13.3 0 24-10.7 24-24V224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V488c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V171.3c0-26.2-15.9-49.7-40.2-59.4L331.9 4.8c-7.6-3.1-16.1-3.1-23.8 0L40.2 111.9C15.9 121.6 0 145.2 0 171.3zM128 224v96H512V224H128zm0 128V512H512V352H128zm128 80c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCableCar = {\n prefix: 'fas',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 56a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 288c0-35.3 28.7-64 64-64H232V157.5l-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4L280 147.5V224H416c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352z\"]\n};\nvar faTram = faCableCar;\nvar faShovelSnow = {\n prefix: 'fas',\n iconName: 'shovel-snow',\n icon: [512, 512, [], \"f7c3\", \"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-31.4 31.4c-15.1 15.1-35.6 23.6-57 23.6c-13.5 0-26.2-3.3-37.4-9.2l-83.5 83.5 47 47c11.3 11.3 12.5 29.1 3 41.8l-120 160c-5.6 7.4-14.1 12.1-23.3 12.7s-18.3-2.7-24.9-9.3l-168-168C2.8 328.1-.6 319 .1 309.7s5.3-17.8 12.7-23.3l160-120c12.7-9.6 30.6-8.3 41.8 3l47 47 83.5-83.5c-5.9-11.2-9.2-23.9-9.2-37.4c0-21.4 8.5-41.9 23.6-57L391 7zm17 50.9L393.5 72.4c-6.1 6.1-9.5 14.4-9.5 23c0 18 14.6 32.6 32.6 32.6c8.6 0 16.9-3.4 23-9.5L454.1 104 408 57.9zM203.3 267.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80zm64 64c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80z\"]\n};\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm-6.8 52c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L89.2 372zm160 0c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L249.2 372zm124.9 64.6L409.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3z\"]\n};\nvar faFaceLying = {\n prefix: 'fas',\n iconName: 'face-lying',\n icon: [512, 512, [], \"e37e\", \"M494 350.5c-4.5 1-9.2 1.5-14 1.5H352c-8.8 0-16-7.2-16-16s7.2-16 16-16H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-8.8 0-16-7.2-16-16s7.2-16 16-16H480c11.2 0 21.7 2.9 30.9 7.9C498.8 101.8 389.3 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c108 0 200.4-66.9 238-161.5zM144.4 176a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM188.8 393.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4C180.7 351.1 208.6 336 240 336c13.6 0 26.6 2.8 38.4 8c8.1 3.5 11.8 13 8.3 21.1s-13 11.8-21.1 8.3c-7.8-3.4-16.5-5.3-25.6-5.3c-20.9 0-39.5 10-51.2 25.6z\"]\n};\nvar faSprinkler = {\n prefix: 'fas',\n iconName: 'sprinkler',\n icon: [512, 512, [], \"e035\", \"M24 0a24 24 0 1 1 0 48A24 24 0 1 1 24 0zM0 128a24 24 0 1 1 48 0A24 24 0 1 1 0 128zM0 232a24 24 0 1 1 48 0A24 24 0 1 1 0 232zM64 72a24 24 0 1 1 48 0A24 24 0 1 1 64 72zm24 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm360 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24-80a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM488 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM448 72a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-24 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-40-32a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM256 64c17.7 0 32 14.3 32 32V256H388.2c15.3 0 27.8 12.4 27.8 27.8c0 7.8-3.3 15.2-9 20.5L320 384v96c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V384l-87-79.7c-5.7-5.3-9-12.7-9-20.5c0-15.3 12.4-27.8 27.8-27.8H224V96c0-17.7 14.3-32 32-32z\"]\n};\nvar faBuildingCircleXmark = {\n prefix: 'fas',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPersonSledding = {\n prefix: 'fas',\n iconName: 'person-sledding',\n icon: [512, 512, [\"sledding\"], \"f7cb\", \"M400 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM35.1 226.7c-11.8-6.1-26.3-1.5-32.4 10.2s-1.5 26.3 10.2 32.4L396.4 468.4c27.3 14.2 59.7 14.4 87.2 .7l15.2-7.6c11.9-5.9 16.7-20.3 10.7-32.2s-20.3-16.7-32.2-10.7l-15.2 7.6c-13.7 6.9-29.9 6.7-43.6-.3l-41.7-21.6c4.5-5.5 7.2-12.5 7.2-20.2V304c0-26.5-21.5-48-48-48H301.3L361 196.3c25.2-25.2 7.4-68.3-28.3-68.3H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h84l-59.2 40.3c-23.6 16.1-26 44.8-13.8 64.9L35.1 226.7zM320 320v54.6L214.7 320H320z\"]\n};\nvar faSledding = faPersonSledding;\nvar faGameConsoleHandheld = {\n prefix: 'fas',\n iconName: 'game-console-handheld',\n icon: [384, 512, [], \"f8bb\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V64zM96 80V192c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32V80c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM232 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM96 304v16H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H96v16c0 8.8 7.2 16 16 16s16-7.2 16-16V352h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H128V304c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V64h48c26.5 0 48 21.5 48 48V240l44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240V112c0-26.5 21.5-48 48-48h48V32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7V128H160v90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faClockSixThirty = {\n prefix: 'fas',\n iconName: 'clock-six-thirty',\n icon: [512, 512, [], \"e353\", \"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V256c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faBatterySlash = {\n prefix: 'fas',\n iconName: 'battery-slash',\n icon: [640, 512, [], \"f377\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6C563.1 386 576 362.5 576 336V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H154.8L38.8 5.1zM236.4 160H496c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H481.4l-245-192zm88.5 192H112c-8.8 0-16-7.2-16-16V176c0-1.4 .2-2.7 .5-4L45.4 131.7C36.9 144.4 32 159.6 32 176V336c0 44.2 35.8 80 80 80H406.2l-81.2-64z\"]\n};\nvar faTugrikSign = {\n prefix: 'fas',\n iconName: 'tugrik-sign',\n icon: [384, 512, [], \"e2ba\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V199L56.2 225c-17.1 4.3-27.6 21.7-23.3 38.8s21.7 27.6 38.8 23.3L160 265v30L56.2 321c-17.1 4.3-27.6 21.7-23.3 38.8s21.7 27.6 38.8 23.3L160 361v87c0 17.7 14.3 32 32 32s32-14.3 32-32V345L327.8 319c17.1-4.3 27.6-21.7 23.3-38.8s-21.7-27.6-38.8-23.3L224 279V249L327.8 223c17.1-4.3 27.6-21.7 23.3-38.8s-21.7-27.6-38.8-23.3L224 183V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\"]\n};\nvar faArrowsDownToLine = {\n prefix: 'fas',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M544 416L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32zm22.6-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L480 274.7 480 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96zm-320-45.3c-12.5-12.5-32.8-12.5-45.3 0L160 274.7 160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7L54.6 233.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faShelves = {\n prefix: 'fas',\n iconName: 'shelves',\n icon: [640, 512, [\"inventory\"], \"f480\", \"M32 0C49.7 0 64 14.3 64 32V160H576V32c0-17.7 14.3-32 32-32s32 14.3 32 32V192 448v32c0 17.7-14.3 32-32 32s-32-14.3-32-32H64c0 17.7-14.3 32-32 32s-32-14.3-32-32V448 192 32C0 14.3 14.3 0 32 0zM64 416H576V224H64V416zM352 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V32zM128 256h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32zm160 0h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]\n};\nvar faInventory = faShelves;\nvar faCloudSnow = {\n prefix: 'fas',\n iconName: 'cloud-snow',\n icon: [512, 512, [127784], \"f742\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zM64 352c13.3 0 24 10.7 24 24v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H88v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H40V376c0-13.3 10.7-24 24-24zm192 32c13.3 0 24 10.7 24 24v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V408c0-13.3 10.7-24 24-24zm216-8v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H472v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440H408c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V376c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFaceGrin = {\n prefix: 'fas',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'fas',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M576 128c0-35.3-28.7-64-64-64H205.3c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faBackspace = faDeleteLeft;\nvar faOven = {\n prefix: 'fas',\n iconName: 'oven',\n icon: [448, 512, [], \"e01d\", \"M0 96v64H448V96c0-53-43-96-96-96H96C43 0 0 43 0 96zM56 80a24 24 0 1 1 48 0A24 24 0 1 1 56 80zM176 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm16 200V448H64l0-192H384zM64 192H0v64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256 192H384 64zm48 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faCloudBinary = {\n prefix: 'fas',\n iconName: 'cloud-binary',\n icon: [640, 512, [], \"e601\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm16-280v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8zm88-16c0 8.8 7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm136-16c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H424zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V200zM176 320c0 8.8 7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm96 24v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V344c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8V344c0-4.4 3.6-8 8-8zm104-32c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H416z\"]\n};\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z\"]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faCommentCaptions = {\n prefix: 'fas',\n iconName: 'comment-captions',\n icon: [512, 512, [], \"e146\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM120 208H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm224 0h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24s10.7-24 24-24zM120 288h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm128 0H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCommentsQuestion = {\n prefix: 'fas',\n iconName: 'comments-question',\n icon: [640, 512, [], \"e14e\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.2 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9l0 0 0 0 .2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2 0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129zM136.2 108.4l-.4 1c-3.7 10.4 1.8 21.8 12.2 25.5s21.8-1.8 25.5-12.2l.4-1c.9-2.7 3.5-4.4 6.3-4.4h48.5c7 0 12.6 5.7 12.6 12.6c0 4.5-2.4 8.7-6.3 10.9L198 162.1c-6.2 3.6-10 10.2-10 17.3v11.2c0 11 9 20 20 20c10.9 0 19.8-8.8 20-19.6l26.9-15.4c16.3-9.4 26.4-26.8 26.4-45.6c0-29.1-23.6-52.6-52.6-52.6H180.2c-19.8 0-37.4 12.4-44 31.1zM234.7 264a26.7 26.7 0 1 0 -53.3 0 26.7 26.7 0 1 0 53.3 0z\"]\n};\nvar faScribble = {\n prefix: 'fas',\n iconName: 'scribble',\n icon: [512, 512, [], \"e23f\", \"M170 23.3C186.5 8.3 208 0 230.3 0h1.1C280.3 0 320 39.7 320 88.6c0 23.5-9.3 46-25.9 62.6L103.2 342.1c-4.6 4.6-7.2 10.9-7.2 17.4C96 373 107 384 120.6 384c6.5 0 12.8-2.6 17.4-7.2L360.8 153.9c16.6-16.6 39.1-25.9 62.6-25.9c48.9 0 88.6 39.7 88.6 88.6c0 23.5-9.3 46-25.9 62.6l-88.2 88.2c-8.8 8.8-13.8 20.9-13.8 33.4c0 26 21.1 47.1 47 47.1c6.2 0 12.4-1.5 18-4.2l16.7-8.4c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L477.6 501c-14.5 7.2-30.4 11-46.6 11c-61.4 0-111-49.9-111-111.1c0-29.5 11.7-57.8 32.6-78.7l88.2-88.2c4.6-4.6 7.2-10.9 7.2-17.4c0-13.6-11-24.6-24.6-24.6c-6.5 0-12.8 2.6-17.4 7.2L183.2 422.1c-16.6 16.6-39.1 25.9-62.6 25.9C71.7 448 32 408.3 32 359.4c0-23.5 9.3-46 25.9-62.6L248.8 105.9c4.6-4.6 7.2-10.9 7.2-17.4C256 75 245 64 231.4 64h-1.1c-6.4 0-12.6 2.4-17.3 6.7L53.5 215.7c-13.1 11.9-33.3 10.9-45.2-2.2s-10.9-33.3 2.2-45.2L170 23.3z\"]\n};\nvar faRotateExclamation = {\n prefix: 'fas',\n iconName: 'rotate-exclamation',\n icon: [512, 512, [], \"e23c\", \"M74.9 192L46.1 178.2c-7.6 15.9-.9 35 15 42.7s35 .9 42.7-15l0 0 0 0 0-.1 .2-.3 .7-1.5c.6-1.3 1.6-3.2 2.8-5.6c2.5-4.8 5.9-11.4 10-18.5c8.7-15.3 18.2-29.8 25.3-36.9c62.5-62.5 163.8-62.5 226.3 0L386.3 160H352c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0c-13.8 13.8-27 35.2-35.7 50.6c-4.6 8.2-8.6 15.6-11.3 21c-1.4 2.7-2.5 4.9-3.3 6.5l-.9 1.8-.2 .5-.1 .2 0 0 0 0 0 0s0 0 28.9 13.8zM280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM48 464c17.7 0 32-14.3 32-32V396.8l17.6 17.6c87.5 87.5 229.3 87.5 316.8 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0L125.7 352H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H48c-17.7 0-32 14.3-32 32V432c0 17.7 14.3 32 32 32z\"]\n};\nvar faFileCircleCheck = {\n prefix: 'fas',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlass = {\n prefix: 'fas',\n iconName: 'glass',\n icon: [384, 512, [129371], \"f804\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM70.9 128L66.4 64H317.6l-4.6 64H70.9z\"]\n};\nvar faLoader = {\n prefix: 'fas',\n iconName: 'loader',\n icon: [512, 512, [], \"e1d4\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32zm0 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416zM0 256c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm416-32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H416zM75 75c-12.5 12.5-12.5 32.8 0 45.3l45.3 45.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L120.2 75C107.7 62.5 87.5 62.5 75 75zM391.8 346.5c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L391.8 437c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-45.3-45.3zM75 437c12.5 12.5 32.8 12.5 45.3 0l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L75 391.8c-12.5 12.5-12.5 32.8 0 45.3zM346.5 120.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L437 120.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-45.3 45.3z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V256v41.7L52.5 440.6zM256 352V256 128 96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V352z\"]\n};\nvar faUserPilot = {\n prefix: 'fas',\n iconName: 'user-pilot',\n icon: [448, 512, [], \"e2c0\", \"M230.1 .8c-4-1.1-8.2-1.1-12.2 0l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40zM161.7 72.8c4-7.9 13.6-11.1 21.5-7.2L224 86.1l40.8-20.4c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-48 24c-4.5 2.3-9.8 2.3-14.3 0l-48-24c-7.9-4-11.1-13.6-7.2-21.5zm-63.6 96C96.7 176.3 96 184.1 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2C310.8 183.8 268.4 192 224 192s-86.8-8.2-125.9-23.2zm116.3 240l-72.3-54.2c-2.2-1.7-4.9-2.6-7.7-2.6C60.2 352 0 412.2 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352c-2.8 0-5.5 .9-7.7 2.6l-72.3 54.2c-5.7 4.3-13.5 4.3-19.2 0zM336 416h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 0C44.7 0 16 28.7 16 64V448c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H80zm80 432h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faCodePullRequestClosed = {\n prefix: 'fas',\n iconName: 'code-pull-request-closed',\n icon: [512, 512, [], \"e3f9\", \"M329.4 9.4c12.5-12.5 32.8-12.5 45.3 0L400 34.7 425.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L445.3 80l25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L400 125.3l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L354.7 80 329.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zM136 80A24 24 0 1 0 88 80a24 24 0 1 0 48 0zm56 0c0 32.8-19.7 61-48 73.3V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V153.3C51.7 141 32 112.8 32 80C32 35.8 67.8 0 112 0s80 35.8 80 80zM112 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm288 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 56c-44.2 0-80-35.8-80-80c0-32.8 19.7-61 48-73.3V224c0-17.7 14.3-32 32-32s32 14.3 32 32V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80z\"]\n};\nvar faFaceMeh = {\n prefix: 'fas',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M352 64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32z\"]\n};\nvar faBookSkull = {\n prefix: 'fas',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM320 112c0-35.3-35.8-64-80-64s-80 28.7-80 64c0 20.9 12.6 39.5 32 51.2V176c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V163.2c19.4-11.7 32-30.3 32-51.2zM208 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM134.3 209.3c-8.1-3.5-17.5 .3-21 8.4s.3 17.5 8.4 21L199.4 272l-77.7 33.3c-8.1 3.5-11.9 12.9-8.4 21s12.9 11.9 21 8.4L240 289.4l105.7 45.3c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21L280.6 272l77.7-33.3c8.1-3.5 11.9-12.9 8.4-21s-12.9-11.9-21-8.4L240 254.6 134.3 209.3z\"]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M0 96l576 0c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96zm0 32V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128H0zM64 405.3c0-29.5 23.9-53.3 53.3-53.3H234.7c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7zM176 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm176 16c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faFaceDotted = {\n prefix: 'fas',\n iconName: 'face-dotted',\n icon: [512, 512, [129765], \"e47f\", \"M216 3.1C229 1.1 242.4 0 256 0s27 1.1 40 3.1c17.5 2.7 29.4 19.1 26.6 36.6s-19.1 29.4-36.6 26.6C276.3 64.8 266.3 64 256 64s-20.3 .8-30.1 2.3c-17.5 2.7-33.8-9.2-36.6-26.6S198.5 5.9 216 3.1zM150.2 55.9c10.4 14.3 7.2 34.3-7 44.7c-16.3 11.9-30.7 26.2-42.5 42.5c-10.4 14.3-30.4 17.4-44.7 7s-17.4-30.4-7-44.7c15.8-21.7 34.9-40.8 56.6-56.6c14.3-10.4 34.3-7.2 44.7 7zm211.6 0c10.4-14.3 30.4-17.4 44.7-7c21.7 15.8 40.8 34.9 56.6 56.6c10.4 14.3 7.2 34.3-7 44.7s-34.3 7.2-44.7-7c-11.9-16.3-26.2-30.7-42.5-42.5c-14.3-10.4-17.4-30.4-7-44.7zM472.3 189.3c17.5-2.7 33.8 9.2 36.6 26.6c2.1 13.1 3.1 26.4 3.1 40s-1.1 27-3.1 40c-2.7 17.5-19.1 29.4-36.6 26.6s-29.4-19.1-26.6-36.6c1.5-9.8 2.3-19.8 2.3-30.1s-.8-20.3-2.3-30.1c-2.7-17.5 9.2-33.8 26.6-36.6zm-432.6 0c17.5 2.7 29.4 19.1 26.6 36.6C64.8 235.7 64 245.7 64 256s.8 20.3 2.3 30.1c2.7 17.5-9.2 33.8-26.6 36.6S5.9 313.5 3.1 296C1.1 283 0 269.6 0 256s1.1-27 3.1-40c2.7-17.5 19.1-29.4 36.6-26.6zM55.9 361.8c14.3-10.4 34.3-7.2 44.7 7c11.9 16.3 26.2 30.7 42.5 42.5c14.3 10.4 17.4 30.4 7 44.7s-30.4 17.4-44.7 7c-21.7-15.8-40.8-34.9-56.6-56.6c-10.4-14.3-7.2-34.3 7-44.7zm400.1 0c14.3 10.4 17.4 30.4 7 44.7c-15.8 21.7-34.9 40.8-56.6 56.6c-14.3 10.4-34.3 7.2-44.7-7s-7.2-34.3 7-44.7c16.3-11.9 30.7-26.2 42.5-42.5c10.4-14.3 30.4-17.4 44.7-7zM189.3 472.3c2.7-17.5 19.1-29.4 36.6-26.6c9.8 1.5 19.8 2.3 30.1 2.3s20.3-.8 30.1-2.3c17.5-2.7 33.8 9.2 36.6 26.6s-9.2 33.8-26.6 36.6c-13.1 2.1-26.4 3.1-40 3.1s-27-1.1-40-3.1c-17.5-2.7-29.4-19.1-26.6-36.6zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM184 328H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceWorried = {\n prefix: 'fas',\n iconName: 'face-worried',\n icon: [512, 512, [], \"e3a3\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm-73.6-97.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 272a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z\"]\n};\nvar faDedent = faOutdent;\nvar faHeartCircleExclamation = {\n prefix: 'fas',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faHouse = {\n prefix: 'fas',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z\"]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faVectorCircle = {\n prefix: 'fas',\n iconName: 'vector-circle',\n icon: [512, 512, [], \"e2c6\", \"M192 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v9.3C392.2 62.8 449.2 119.8 470.7 192H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32h-9.3C449.2 392.2 392.2 449.2 320 470.7V480c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32v-9.3C119.8 449.2 62.8 392.2 41.3 320H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32h9.3C62.8 119.8 119.8 62.8 192 41.3V32zM403.7 194.4c-16.2-38.9-47.3-70-86.2-86.2C312.7 119.9 301.3 128 288 128H224c-13.3 0-24.7-8.1-29.6-19.7c-38.9 16.2-70 47.3-86.2 86.2c11.6 4.8 19.7 16.2 19.7 29.6v64c0 13.3-8.1 24.7-19.7 29.6c16.2 38.9 47.3 70 86.2 86.2c4.8-11.6 16.2-19.7 29.6-19.7h64c13.3 0 24.7 8.1 29.6 19.7c38.9-16.2 70-47.3 86.2-86.2C392.1 312.7 384 301.3 384 288V224c0-13.3 8.1-24.7 19.7-29.6zM240 48V80h32V48H240zm32 384H240v32h32V432zM432 240v32h32V240H432zM80 240H48v32H80V240z\"]\n};\nvar faCarCircleBolt = {\n prefix: 'fas',\n iconName: 'car-circle-bolt',\n icon: [640, 512, [], \"e342\", \"M135.2 117.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32H346.6c40.8 0 77.1 25.8 90.6 64.3l34.1 97.4C385.8 205.7 320 279.2 320 368c0 10.9 1 21.6 2.9 32H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V400 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm368-64a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"]\n};\nvar faFlyingDisc = {\n prefix: 'fas',\n iconName: 'flying-disc',\n icon: [640, 512, [], \"e3a9\", \"M119.7 456.3c-25.2-25.2-29.6-66.7-16.5-114.9c3.2 9.5 8.4 18.5 16.2 26.3c15.6 15.6 36 20.7 55 20.5c18.9-.1 38.8-5.3 58.2-13.3c39-16.1 82-46 121.2-85.1s69-82.2 85.1-121.2c8-19.4 13.2-39.4 13.3-58.2c.1-19-5-39.5-20.5-55c-7.8-7.8-16.8-13-26.3-16.2c48.2-13 89.8-8.6 114.9 16.6c55.3 55.3 10.5 189.8-100.2 300.5S175 511.6 119.7 456.3zM331.1 267.1C257.4 340.9 172.7 375.8 141.9 345s4.1-115.4 77.9-189.2S378.3 47.2 409 77.9s-4.1 115.4-77.9 189.2z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M64 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H512V96H128V352H64V96zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM288 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H352v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V272H240c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\"]\n};\nvar faSquareDownRight = {\n prefix: 'fas',\n iconName: 'square-down-right',\n icon: [448, 512, [], \"e26c\", \"M384 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384zM320 198.6V336c0 8.8-7.2 16-16 16H166.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16L184 280l-66.3-66.3C114 210 112 205.1 112 200s2-10 5.7-13.7l36.7-36.7c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 216l33.4-33.4c4.2-4.2 10-6.6 16-6.6c12.5 0 22.6 10.1 22.6 22.6z\"]\n};\nvar faB = {\n prefix: 'fas',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H192c70.7 0 128-57.3 128-128c0-46.5-24.8-87.3-62-109.7c18.7-22.3 30-51 30-82.3c0-70.7-57.3-128-128-128H64zm96 192H64V96h96c35.3 0 64 28.7 64 64s-28.7 64-64 64zM64 288h96 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64V288z\"]\n};\nvar faSeatAirline = {\n prefix: 'fas',\n iconName: 'seat-airline',\n icon: [448, 512, [], \"e244\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V143.6c0 15.2 3.1 30.2 9.1 44.1L82 357.8c15.1 35.3 49.8 58.2 88.2 58.2H216v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H264V416h96c15.1 0 29.3-7.1 38.4-19.2l43.2-57.6c7.3-9.7 8.4-22.7 3-33.5S428.1 288 416 288H121.7L108 256H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H80.5L67.9 162.5c-2.6-6-3.9-12.4-3.9-18.9V32z\"]\n};\nvar faMoonOverSun = {\n prefix: 'fas',\n iconName: 'moon-over-sun',\n icon: [512, 512, [\"eclipse-alt\"], \"f74a\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM400 256a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-258 0c0-63.1 51.6-114 115-114c3.3 0 6.5 .1 9.7 .4c7 .6 12.8 5.7 14.3 12.6s-1.7 13.9-7.8 17.4c-22.9 12.8-38.3 37.1-38.3 64.8c0 41 33.6 74.5 75.4 74.5c4.4 0 8.8-.4 13-1.1c6.9-1.2 13.8 2.3 17 8.6s1.9 13.9-3.2 18.7c-20.7 19.9-49 32.2-80.1 32.2c-63.4 0-115-50.9-115-114z\"]\n};\nvar faEclipseAlt = faMoonOverSun;\nvar faPipe = {\n prefix: 'fas',\n iconName: 'pipe',\n icon: [64, 512, [], \"7c\", \"M32 0C49.7 0 64 14.3 64 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]\n};\nvar faPotato = {\n prefix: 'fas',\n iconName: 'potato',\n icon: [512, 512, [129364], \"e440\", \"M466.3 249.2C494.4 222.9 512 185.5 512 144C512 64.5 447.5 0 368 0c-39.8 0-75.9 16.2-102 42.3C238.6 69.8 205 95 170.9 113.6c-24.1 13.2-44 33.1-57.3 57.3C95 205 69.8 238.6 42.3 266C16.2 292.1 0 328.2 0 368c0 79.5 64.5 144 144 144c30.3 0 58.4-9.3 81.5-25.3c28.1-19.3 60.2-35.3 92.5-46.2c44.1-14.9 80.1-50.9 93.1-99.2c9.2-34.2 29.4-67.9 55.2-92.1zM384 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM192 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM136 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleA = {\n prefix: 'fas',\n iconName: 'circle-a',\n icon: [512, 512, [], \"e0f7\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-400c9.1 0 17.4 5.1 21.5 13.3l104 208c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L321.2 320H190.8l-17.4 34.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l104-208c4.1-8.1 12.4-13.3 21.5-13.3zm0 77.7L214.8 272h82.3L256 189.7z\"]\n};\nvar faHelmetBattle = {\n prefix: 'fas',\n iconName: 'helmet-battle',\n icon: [576, 512, [], \"f6eb\", \"M80 17.1c.6-8.3-5.3-15.7-13.6-17s-16.1 4.1-18 12.2L.8 218.8c-.5 2.2-.8 4.5-.8 6.8C0 242.4 13.6 256 30.4 256h2.2c17.1 0 31.3-13.2 32.5-30.2L80 17.1zM320 352V488c0 18.4 20.8 30.1 36.5 20.5l144-88c9.2-5.6 13.5-16.7 10.6-27.1C494.1 333.6 480 270.2 480 208c0-85-89.1-149.2-153.1-189c-1.9-1.2-4-2.6-6.3-4.1l0 0C311.2 8.4 298.7 0 288 0s-23.2 8.4-32.7 14.9c-2.3 1.5-4.4 3-6.3 4.1C185.1 58.8 96 123 96 208c0 62.2-14.1 125.6-31.1 185.4c-3 10.4 1.4 21.4 10.6 27.1l144 88c15.7 9.6 36.5-2.1 36.5-20.5V296h0V267.5c0-6.9-4.4-13-10.9-15.2l-72.3-24.1c-7.6-2.5-12.7-9.6-12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H397.4c10.3 0 18.6 8.3 18.6 18.6c0 8-5.1 15.1-12.7 17.6l-72.3 24.1c-6.5 2.2-10.9 8.3-10.9 15.2V352h0zM509.6 .2c-8.3 1.2-14.2 8.6-13.6 17l14.9 208.6c1.2 17 15.4 30.2 32.5 30.2h2.2c16.8 0 30.4-13.6 30.4-30.4c0-2.3-.3-4.6-.8-6.8L527.6 12.4c-1.9-8.1-9.7-13.5-18-12.2z\"]\n};\nvar faButter = {\n prefix: 'fas',\n iconName: 'butter',\n icon: [640, 512, [129480], \"e3e4\", \"M64 128c0-35.3 28.7-64 64-64H448V288H64V128zM32 320H608c17.7 0 32 14.3 32 32s-14.3 32-32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V384c-17.7 0-32-14.3-32-32s14.3-32 32-32zM512 64c35.3 0 64 28.7 64 64V288H480V64h32z\"]\n};\nvar faBlanketFire = {\n prefix: 'fas',\n iconName: 'blanket-fire',\n icon: [640, 512, [], \"e3da\", \"M0 128V352c0 70.7 57.3 128 128 128H337.6c-16.5-18.6-29.6-40.3-38.1-64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64H301.8c6.3-15.5 14.4-30.8 23.3-45.3c21.7-35.2 51.9-71.2 87.3-102.8c10-8.9 23-12.8 35.5-11.7V128c0-53-43-96-96-96H96C43 32 0 75 0 128zM288 350.1c0-9.8 1.3-19.9 3.6-30.1H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H291c-2-11.1-3-22.4-3-33.9zM453.5 163.8c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 439.9 390.3 512 480 512c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 433c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M291.2 388.4c31.2-18.8 64.7-36.4 101.1-36.4H448c4.6 0 9.1-.2 13.6-.7l85.3 121.9c4 5.7 11.3 8.2 17.9 6.1s11.2-8.3 11.2-15.3V224c0-70.7-57.3-128-128-128H392.3c-36.4 0-69.9-17.6-101.1-36.4C262.3 42.1 228.3 32 192 32C86 32 0 118 0 224c0 71.1 38.6 133.1 96 166.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V410c15.3 3.9 31.4 6 48 6c5.4 0 10.7-.2 16-.7V456c0 13.3 10.7 24 24 24s24-10.7 24-24V405.1c12.4-4.4 24.2-10 35.2-16.7zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCastle = {\n prefix: 'fas',\n iconName: 'castle',\n icon: [640, 512, [], \"e0de\", \"M128 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h48V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h32V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h48V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v96V224h64V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v96V464c0 26.5-21.5 48-48 48H384V384c0-35.3-28.7-64-64-64s-64 28.7-64 64V512H48c-26.5 0-48-21.5-48-48V272 176c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v48h64V112 16z\"]\n};\nvar faGolfClub = {\n prefix: 'fas',\n iconName: 'golf-club',\n icon: [512, 512, [], \"f451\", \"M508.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L264 392.5l0-.5L42.1 318C21.4 311.1 0 326.6 0 348.4V376H48c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v32H48c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v8c0 17.7 14.3 32 32 32H255.3c12 .3 23.6-6.3 29.3-17.7l224-448z\"]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.3 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z\"]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'fas',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M463.5 224H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5z\"]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M416 0C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352 240 32c0-17.7-14.3-32-32-32zM64 16C64 7.8 57.9 1 49.7 .1S34.2 4.6 32.4 12.5L2.1 148.8C.7 155.1 0 161.5 0 167.9c0 45.9 35.1 83.6 80 87.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V255.6c44.9-4.1 80-41.8 80-87.7c0-6.4-.7-12.8-2.1-19.1L191.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S160 7.8 160 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L127.9 14.6C127.2 6.3 120.3 0 112 0s-15.2 6.3-15.9 14.6L83.7 151c-.5 5.1-4.7 9-9.8 9c-5.4 0-9.8-4.4-9.8-9.8V16zm48.3 152l-.3 0-.3 0 .3-.7 .3 .7z\"]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'fas',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 480h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32zm0-128H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faChartPieSimpleCircleDollar = {\n prefix: 'fas',\n iconName: 'chart-pie-simple-circle-dollar',\n icon: [640, 512, [], \"e605\", \"M496 192c4.6 0 9.3 .2 13.8 .5C494.5 83.7 401 0 288 0c-9 0-16 7.6-16 16.6V240H375.2c31.5-29.8 74-48 120.8-48zM320 368c0-28.8 6.9-56 19.2-80H224V66.7c0-18.5-15.7-33.3-33.8-29.5C81.5 60.1 0 156.5 0 272C0 404.6 107.5 512 240 512c43.8 0 84.8-11.7 120.1-32.2C335 449.4 320 410.5 320 368zm320 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM472.8 335.4c-.4 .7-.9 1.6-.8 3.6l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4z\"]\n};\nvar faBalloons = {\n prefix: 'fas',\n iconName: 'balloons',\n icon: [640, 512, [], \"e2e4\", \"M320 160C320 71.6 248.4 0 160 0S0 71.6 0 160c0 92.5 87.2 174 117.7 199.7c5.9 5 7.8 13.4 4.4 20.3L97.4 429.3c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9H211.1c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8L198 379.9c-3.5-6.9-1.6-15.3 4.4-20.3C232.8 334 320 252.5 320 160zM144 96c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zM437.7 423.7c5.9 5 7.8 13.4 4.4 20.3l-24.7 49.3c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9H531.1c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8L518 443.9c-3.5-6.9-1.6-15.3 4.4-20.3C552.8 398 640 316.5 640 224c0-88.4-71.6-160-160-160c-53.7 0-101.2 26.4-130.2 67c1.4 9.5 2.2 19.2 2.2 29c0 37.2-11.5 71.8-27.3 101.9c18.5 76.2 86.8 139.7 113 161.8zM416 208c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-26.5 0-48 21.5-48 48z\"]\n};\nvar faMillSign = {\n prefix: 'fas',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M302.1 42.8c5.9-16.6-2.7-35-19.4-40.9s-35 2.7-40.9 19.4L208 116.1c-5.7 4-11.1 8.5-16 13.5C171.7 108.9 143.3 96 112 96c-19.5 0-37.8 5-53.7 13.7C52.5 101.4 42.9 96 32 96C14.3 96 0 110.3 0 128v80V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-26.5 21.5-48 48-48s48 21.5 48 48v42.5L81.9 469.2c-5.9 16.6 2.7 35 19.4 40.9s35-2.7 40.9-19.4l21.4-60C168.9 441 179.6 448 192 448c17.7 0 32-14.3 32-32V261.5l35.7-100c3.9-1 8.1-1.6 12.3-1.6c26.5 0 48 21.5 48 48V416c0 17.7 14.3 32 32 32s32-14.3 32-32V208c0-58.2-44.3-106-101.1-111.5l19.2-53.8z\"]\n};\nvar faBowlRice = {\n prefix: 'fas',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24zm24 48h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zM56 176H72c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 283.4C0 268.3 12.3 256 27.4 256H484.6c15.1 0 27.4 12.3 27.4 27.4c0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4zM224 200c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H392c-13.3 0-24-10.7-24-24s10.7-24 24-24zM296 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTimelineArrow = {\n prefix: 'fas',\n iconName: 'timeline-arrow',\n icon: [640, 512, [], \"e29d\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32 97.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 32.8 19.7 61 48 73.3V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192v54.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V288H530.7l-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384V169.3c28.3-12.3 48-40.5 48-73.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 32.8 19.7 61 48 73.3V224H160V169.3zM328 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM224 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1v64c0 26.5 21.5 48 48 48h48V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c26.5 0 48-21.5 48-48V400c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faGameBoardSimple = {\n prefix: 'fas',\n iconName: 'game-board-simple',\n icon: [448, 512, [\"game-board-alt\"], \"f868\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 0V256H384V96H224zm0 160H64V416H224V256z\"]\n};\nvar faGameBoardAlt = faGameBoardSimple;\nvar faCircleVideo = {\n prefix: 'fas',\n iconName: 'circle-video',\n icon: [512, 512, [\"video-circle\"], \"e12b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM128 192c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192zM396.9 317.9L352 288V224l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V307.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nvar faVideoCircle = faCircleVideo;\nvar faChartScatterBubble = {\n prefix: 'fas',\n iconName: 'chart-scatter-bubble',\n icon: [512, 512, [], \"e0e9\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm224-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM192 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM384 64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faHouseTurret = {\n prefix: 'fas',\n iconName: 'house-turret',\n icon: [640, 512, [], \"e1b4\", \"M256 464V277.1c0-13.5 5.6-26.3 15.6-35.4l144-132c18.4-16.8 46.5-16.8 64.9 0l144 132c9.9 9.1 15.6 21.9 15.6 35.4V464c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48zM424 272c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H424zM24 0C10.7 0 0 10.7 0 24V96v8 93.5c0 17 6.7 33.3 18.7 45.3L64 288V464c0 26.5 21.5 48 48 48H240c-10-13.4-16-30-16-48V277.1c0-22.4 9.4-43.8 25.9-59L352 124.6V104 96 24c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24V96H224V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24V96H96V24C96 10.7 85.3 0 72 0H24zM176 160c22.1 0 40 17.9 40 40v24c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V200c0-22.1 17.9-40 40-40z\"]\n};\nvar faBanana = {\n prefix: 'fas',\n iconName: 'banana',\n icon: [576, 512, [], \"e2e5\", \"M304 144c0 35.7-7.3 69.6-20.5 100.5c4.8 3 9.4 6.2 13.9 9.8l35.5 28.4L413.9 261c10.6-2.8 21.4-4.4 32.3-4.9c1.2-10.5 1.8-21.3 1.8-32.1c0-84.7-36.6-160.9-94.8-213.6C345.6 3.6 335.9 0 326.1 0c-29.4 0-47.5 29.4-38 55c10.3 27.7 15.9 57.7 15.9 89zM277.4 279.2c-18.8-15-42.1-23.2-66.1-23.2c-22.9 0-45.2 7.4-63.5 21.2l-42.2 31.6c-10.6 8-12.8 23-4.8 33.6s23 12.8 33.6 4.8l42.2-31.6c10-7.5 22.2-11.6 34.7-11.6c10.5 0 20.8 2.9 29.7 8.2C194.1 366 125 400 48 400c-26.5 0-48 21.5-48 48v16c0 26.5 21.5 48 48 48l112 0c117.3 0 218.2-70.1 263.1-170.6l11.5-3.1c5.7-1.5 11.6-2.3 17.5-2.3c23.8 0 45.9 12.5 58.1 32.9l21.3 35.4c6.8 11.4 21.6 15 32.9 8.2s15-21.6 8.2-32.9l-21.3-35.4C530.4 309.3 492.7 288 452 288c-3.8 0-7.5 .2-11.3 .6c-5.5 .5-10.9 1.5-16.3 2.8c-.8 .2-1.5 .4-2.3 .6l-96.7 25.8h0l-48.1-38.5z\"]\n};\nvar faHandHoldingSkull = {\n prefix: 'fas',\n iconName: 'hand-holding-skull',\n icon: [576, 512, [], \"e1a4\", \"M371.6 232.2c-6 3.8-9.4 10.8-8 17.7l4.1 20.6c.2 .9 .3 1.9 .3 2.9c0 8-6.5 14.6-14.6 14.6H222.6c-8 0-14.6-6.5-14.6-14.6c0-1 .1-1.9 .3-2.9l4.1-20.6c1.4-7-2-13.9-8-17.7C167.8 209 144 171 144 128C144 57.3 208.5 0 288 0s144 57.3 144 128c0 43-23.8 81-60.4 104.2zM240 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faPeopleDress = {\n prefix: 'fas',\n iconName: 'people-dress',\n icon: [640, 512, [], \"e217\", \"M208 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM70.2 384H88v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L226.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9c9.8-5.9 15.3-16.2 15.5-26.9c.2 10.7 5.7 21 15.5 26.9c15.1 9.1 34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-3 5-4.5 10.5-4.6 15.9c-.1-5.4-1.6-10.9-4.6-15.9l-53.6-89.2c-20.3-33.7-56.7-54.3-96-54.3H154.2c-39.3 0-75.7 20.6-96 54.3L4.6 271.5c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L55 362.9C51.6 373.3 59.3 384 70.2 384zM528 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faLoveseat = {\n prefix: 'fas',\n iconName: 'loveseat',\n icon: [512, 512, [\"couch-small\"], \"f4cc\", \"M64 160C64 89.3 121.3 32 192 32H320c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128V272c0-38.7-27.5-71-64-78.4V160zM416 272c0-20.9 13.4-38.7 32-45.3c5-1.8 10.4-2.7 16-2.7c26.5 0 48 21.5 48 48V448c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48c5.6 0 11 1 16 2.7c18.6 6.6 32 24.4 32 45.3v48 32h32H384h32V320 272z\"]\n};\nvar faCouchSmall = faLoveseat;\nvar faTowerBroadcast = {\n prefix: 'fas',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M80.3 44C69.8 69.9 64 98.2 64 128s5.8 58.1 16.3 84c6.6 16.4-1.3 35-17.7 41.7s-35-1.3-41.7-17.7C7.4 202.6 0 166.1 0 128S7.4 53.4 20.9 20C27.6 3.6 46.2-4.3 62.6 2.3S86.9 27.6 80.3 44zM555.1 20C568.6 53.4 576 89.9 576 128s-7.4 74.6-20.9 108c-6.6 16.4-25.3 24.3-41.7 17.7S489.1 228.4 495.7 212c10.5-25.9 16.3-54.2 16.3-84s-5.8-58.1-16.3-84C489.1 27.6 497 9 513.4 2.3s35 1.3 41.7 17.7zM352 128c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V183.4c-19.1-11.1-32-31.7-32-55.4c0-35.3 28.7-64 64-64s64 28.7 64 64zM170.6 76.8C163.8 92.4 160 109.7 160 128s3.8 35.6 10.6 51.2c7.1 16.2-.3 35.1-16.5 42.1s-35.1-.3-42.1-16.5c-10.3-23.6-16-49.6-16-76.8s5.7-53.2 16-76.8c7.1-16.2 25.9-23.6 42.1-16.5s23.6 25.9 16.5 42.1zM464 51.2c10.3 23.6 16 49.6 16 76.8s-5.7 53.2-16 76.8c-7.1 16.2-25.9 23.6-42.1 16.5s-23.6-25.9-16.5-42.1c6.8-15.6 10.6-32.9 10.6-51.2s-3.8-35.6-10.6-51.2c-7.1-16.2 .3-35.1 16.5-42.1s35.1 .3 42.1 16.5z\"]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M368.6 96l76.8 96H288V96h80.6zM224 80V192H64c-17.7 0-32 14.3-32 32v64c-17.7 0-32 14.3-32 32s14.3 32 32 32H65.1c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16h66.3c-.7 5.2-1.1 10.6-1.1 16c0 61.9 50.1 112 112 112s112-50.1 112-112c0-5.4-.4-10.8-1.1-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32V224c0-17.7-14.3-32-32-32H527.4L418.6 56c-12.1-15.2-30.5-24-50-24H272c-26.5 0-48 21.5-48 48zm0 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm288 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faBlockQuote = {\n prefix: 'fas',\n iconName: 'block-quote',\n icon: [448, 512, [], \"e0b5\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM160 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zM128 416c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM32 224c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32z\"]\n};\nvar faUpLong = {\n prefix: 'fas',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M318 177.5c3.8-8.8 2-19-4.6-26l-136-144C172.9 2.7 166.6 0 160 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26S14.4 192 24 192H96l0 288c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32l0-288h72c9.6 0 18.2-5.7 22-14.5z\"]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faCodeMerge = {\n prefix: 'fas',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32.4 97.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3V358.7C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V272c26.7 20.1 60 32 96 32h86.7c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48H208c-49.9 0-91-38.1-95.6-86.8zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faMoneyCheckDollarPen = {\n prefix: 'fas',\n iconName: 'money-check-dollar-pen',\n icon: [640, 512, [\"money-check-edit-alt\"], \"f873\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64.6c-15.2 2-29.8 8.8-41.4 20.5L353.3 394.3c-8.2 8.2-14 18.5-16.8 29.7l-6 23.9H64c-35.3 0-64-28.7-64-64V128zM256 304c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm16-112c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H272zM144 139.9c-11.1 0-20.1 9-20.1 20.1v6c-5.6 1.2-10.9 2.9-15.9 5.1c-15 6.8-27.9 19.4-31.1 37.7c-1.8 10.2-.8 20 3.4 29c4.2 8.8 10.7 15 17.3 19.5c11.6 7.9 26.9 12.5 38.6 16l2.2 .7c13.9 4.2 23.4 7.4 29.3 11.7c2.5 1.8 3.4 3.2 3.7 4c.3 .8 .9 2.6 .2 6.7c-.6 3.5-2.5 6.4-8 8.8c-6.1 2.6-16 3.9-28.8 1.9c-6-1-16.7-4.6-26.2-7.9l0 0 0 0c-2.2-.7-4.3-1.5-6.4-2.1c-10.5-3.5-21.8 2.2-25.3 12.7s2.2 21.8 12.7 25.3c1.2 .4 2.7 .9 4.4 1.5c7.9 2.7 20.3 6.9 29.8 9.1V352c0 11.1 9 20.1 20.1 20.1s20.1-9 20.1-20.1v-5.5c5.3-1 10.5-2.5 15.4-4.6c15.7-6.7 28.4-19.7 31.6-38.7c1.8-10.4 1-20.3-3-29.4c-3.9-9-10.2-15.6-16.9-20.5c-12.2-8.8-28.3-13.7-40.4-17.4l-.8-.2c-14.2-4.3-23.8-7.3-29.9-11.4c-2.6-1.8-3.4-3-3.6-3.5c-.2-.3-.7-1.6-.1-5c.3-1.9 1.9-5.2 8.2-8.1c6.4-2.9 16.4-4.5 28.6-2.6c4.3 .7 17.9 3.3 21.7 4.3c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-4.4-1.2-14.4-3.2-21-4.4V160c0-11.1-9-20.1-20.1-20.1zm469.8 95.8l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM375.9 417L505.1 287.8l71 71L446.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faMoneyCheckEditAlt = faMoneyCheckDollarPen;\nvar faUpFromLine = {\n prefix: 'fas',\n iconName: 'up-from-line',\n icon: [384, 512, [\"arrow-alt-from-bottom\"], \"f346\", \"M41.9 166.1L164.7 43.3C171.9 36.1 181.8 32 192 32s20.1 4.1 27.3 11.3L342.1 166.1c6.4 6.4 9.9 15 9.9 24c0 18.7-15.2 33.9-33.9 33.9H256V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V224H65.9C47.2 224 32 208.8 32 190.1c0-9 3.6-17.6 9.9-24zM32 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faArrowAltFromBottom = faUpFromLine;\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M288 109.3V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352H192c0 35.3 28.7 64 64 64s64-28.7 64-64H448c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHurricane = {\n prefix: 'fas',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M0 208C0 104.4 75.7 18.5 174.9 2.6C184 1.2 192 8.6 192 17.9V81.2c0 8.4 6.5 15.3 14.7 16.5C307 112.5 384 199 384 303.4c0 103.6-75.7 189.5-174.9 205.4c-9.2 1.5-17.1-5.9-17.1-15.2V430.2c0-8.4-6.5-15.3-14.7-16.5C77 398.9 0 312.4 0 208zm288 48A96 96 0 1 0 96 256a96 96 0 1 0 192 0zm-96-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGridRound2Plus = {\n prefix: 'fas',\n iconName: 'grid-round-2-plus',\n icon: [512, 512, [], \"e5dc\", \"M128 224a96 96 0 1 1 0-192 96 96 0 1 1 0 192zm0 256a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM480 128a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM384 272c13.3 0 24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H408v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V408H296c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V296c0-13.3 10.7-24 24-24z\"]\n};\nvar faPeoplePants = {\n prefix: 'fas',\n iconName: 'people-pants',\n icon: [640, 512, [], \"e219\", \"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9c9.8-5.9 15.3-16.2 15.5-26.9c.2 10.7 5.7 21 15.5 26.9c15.1 9.1 34.8 4.2 43.9-10.9L408 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H465.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-3 5-4.5 10.5-4.6 15.9c-.1-5.4-1.6-10.9-4.6-15.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faMound = {\n prefix: 'fas',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z\"]\n};\nvar faWindsock = {\n prefix: 'fas',\n iconName: 'windsock',\n icon: [512, 512, [], \"f777\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320h64v8.6c0 20.3 18.7 35.5 38.5 31.3l41.5-8.6V64.7L166.5 56c-19.9-4.1-38.5 11-38.5 31.3V96H64V32zm64 112V272H64V144h64zM272 78V338l96-20V98L272 78zM486.5 293.3c14.8-3.1 25.5-16.2 25.5-31.3V154c0-15.2-10.6-28.2-25.5-31.3L432 111.3V304.7l54.5-11.4z\"]\n};\nvar faCircleHalf = {\n prefix: 'fas',\n iconName: 'circle-half',\n icon: [512, 512, [], \"e110\", \"M256 32c0-17.7-14.4-32.2-31.9-30C97.8 17.7 0 125.4 0 256S97.8 494.3 224.1 510c17.5 2.2 31.9-12.4 31.9-30V32z\"]\n};\nvar faBrakeWarning = {\n prefix: 'fas',\n iconName: 'brake-warning',\n icon: [640, 512, [], \"e0c7\", \"M96 256a224 224 0 1 1 448 0A224 224 0 1 1 96 256zM344 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM91.1 109C63.8 151.4 48 201.8 48 256s15.8 104.6 43.1 147c7.2 11.1 4 26-7.2 33.2s-26 4-33.2-7.2C18.6 379.1 0 319.7 0 256S18.6 132.9 50.7 83c7.2-11.1 22-14.4 33.2-7.2s14.4 22 7.2 33.2zM589.3 83C621.4 132.9 640 192.3 640 256s-18.6 123.1-50.7 173c-7.2 11.1-22 14.4-33.2 7.2s-14.4-22-7.2-33.2c27.3-42.4 43.1-92.8 43.1-147s-15.8-104.6-43.1-147c-7.2-11.1-4-26 7.2-33.2s26-4 33.2 7.2z\"]\n};\nvar faToiletPortable = {\n prefix: 'fas',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M0 32V64H320V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32zM24 96H0v24V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H272v8c0 13.3 10.7 24 24 24s24-10.7 24-24V120 96H296 24zM256 240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM96 240c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faFileArrowDown = {\n prefix: 'fas',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM216 232V334.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V232c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileDownload = faFileArrowDown;\nvar faSaxophoneFire = {\n prefix: 'fas',\n iconName: 'saxophone-fire',\n icon: [640, 512, [\"sax-hot\"], \"f8db\", \"M102.6 0c-2.5 0-5 .9-7 2.6c-23.3 20.8-43 44.4-57 67.1C24.9 92 16 116 16 134.5c0 14.6 2.8 28.6 7.9 41.5H79.5c-4.8-8-7.5-17.8-7.5-29c0-16.8 10.5-31.5 31.5-57.4c2.8 3.5 43.4 55.3 43.4 55.3l25.2-29.4c2.1 2.8 3.5 5.6 4.9 8.4c9.1 16.7 8.7 36.7-.2 52.1H232c5.1-12.9 8-26.9 8-41.5c0-14.1-6.7-35.7-16.9-55.3c-10.3-19.9-25-40.9-42.3-56.8c-3.9-3.6-10.1-3.6-14 0c-6.7 6.1-13 13.7-18.5 20.7c-12.1-14.5-25-28-38.8-40.4C107.5 .9 105.1 0 102.6 0zm68.8 338.1L218.9 256H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H16.9L4.4 309.4C1.5 321.8 0 334.4 0 347.1v3.1C0 439.6 72.4 512 161.8 512c49.4 0 96.1-22.6 126.8-61.4L534.4 140.1c6.1-7.7 15.3-12.1 25.1-12.1h64.2c9 0 16.3-7.3 16.3-16.3c0-4.9-2.2-9.5-5.9-12.6L609.8 78.8c-11.5-9.6-26-14.8-41-14.8H538.5c-17 0-33.3 6.7-45.3 18.7L449 127l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8 8L401 175l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8 8L353 223l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8 8L206.6 369.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6v-2.6c0-4.4 1.2-8.8 3.4-12.6zM144 280a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM88 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSaxHot = faSaxophoneFire;\nvar faCameraWebSlash = {\n prefix: 'fas',\n iconName: 'camera-web-slash',\n icon: [640, 512, [\"webcam-slash\"], \"f833\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-135.2-106C525.9 324.9 544 276.6 544 224C544 100.3 443.7 0 320 0C248 0 183.9 34 143 86.7L38.8 5.1zM193.3 126.2C222.6 88.4 268.5 64 320 64c88.4 0 160 71.6 160 160c0 37.7-13 72.3-34.8 99.6L420 303.9c17.5-21.9 28-49.7 28-79.9c0-70.7-57.3-128-128-128c-41.3 0-78.1 19.6-101.5 50l-25.2-19.7zm88.2 69.1l-25.2-19.7C270.9 156.4 294 144 320 144c8.8 0 16 7.2 16 16s-7.2 16-16 16c-15.8 0-29.8 7.6-38.5 19.3zM507.7 496L359.4 379.1c-12.6 3.2-25.8 4.9-39.4 4.9c-88.4 0-160-71.6-160-160c0-.6 0-1.3 0-1.9l-58.8-46.3C97.8 191.3 96 207.4 96 224c0 79.5 41.4 149.3 103.8 189.1l-58.2 40.7c-11.4 8-16.4 22.5-12.2 35.8S146 512 160 512H480c11.6 0 22.1-6.2 27.7-16zM324.8 351.9L194.5 249.2C206.2 307.8 257.9 352 320 352c1.6 0 3.2 0 4.8-.1z\"]\n};\nvar faWebcamSlash = faCameraWebSlash;\nvar faFolderMedical = {\n prefix: 'fas',\n iconName: 'folder-medical',\n icon: [512, 512, [], \"e18c\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFolderGear = {\n prefix: 'fas',\n iconName: 'folder-gear',\n icon: [512, 512, [\"folder-cog\"], \"e187\", \"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM368.6 259.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3l-2.9 1.7c-9.2 5.3-20.4 4-29.6-1.3s-16.1-14.5-16.1-25.1v-3.4c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v3.4c0 10.6-6.9 19.8-16.1 25.1s-20.4 6.6-29.6 1.3l-2.9-1.7c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 18l2.9 1.7c9.2 5.3 13.7 15.8 13.7 26.4s-4.5 21.1-13.7 26.4l-3 1.7c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3.1 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3l2.9-1.7c9.2-5.3 20.4-4 29.6 1.3s16.1 14.5 16.1 25.1v3.4c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-3.4c0-10.6 6.9-19.8 16.1-25.1s20.4-6.6 29.6-1.3l2.9 1.7c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-3-1.7c-9.2-5.3-13.7-15.8-13.7-26.4s4.5-21.1 13.7-26.4l3-1.7zM216 288a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faFolderCog = faFolderGear;\nvar faHandWave = {\n prefix: 'fas',\n iconName: 'hand-wave',\n icon: [512, 512, [], \"e1a7\", \"M352.2 82.3L351 73.8c-3-21.1-19.6-37.7-40.7-40.7l-8.5-1.2c-8.7-1.2-14.8-9.4-13.6-18.1S297.5-1.1 306.3 .2l8.5 1.2c35.2 5 62.9 32.7 67.9 67.9l1.2 8.5c1.2 8.7-4.8 16.9-13.6 18.1s-16.9-4.8-18.1-13.6zM185.4 70.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192c3.3 3.3 9.4 1.1 9.4-3.7l0-77.7c0-22.1 17.9-40 40-40s40 17.9 40 40V312.3c0 60.2-27.9 116.9-75.5 153.7C385.7 505.3 321 515.7 263 498.7c-28.4-7.1-55.3-21.8-77.6-44.1l-4.9-4.9L73.4 342.6l-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l31.9 31.9 .1 .1L165.3 344c5.2 5.2 13.6 5.2 18.7 0s5.2-13.6 0-18.7L57.4 198.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L229.3 280c5.2 5.2 13.6 5.2 18.7 0s5.2-13.6 0-18.7L105.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L293.3 216c5.2 5.2 13.6 5.2 18.7 0s5.2-13.6 0-18.7L185.4 70.6zM13.7 352.2c8.7-1.2 16.9 4.8 18.1 13.6l1.2 8.5c3 21.1 19.6 37.7 40.7 40.7l8.5 1.2c8.7 1.3 14.8 9.4 13.6 18.1s-9.4 14.8-18.1 13.6l-8.5-1.2c-35.2-5-62.9-32.7-67.9-67.9L.2 370.3c-1.2-8.7 4.8-16.9 13.6-18.1z\"]\n};\nvar faArrowUpArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-up-arrow-down',\n icon: [576, 512, [\"sort-up-down\"], \"e099\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 141.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96zm352 333.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L448 370.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V370.7l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96z\"]\n};\nvar faSortUpDown = faArrowUpArrowDown;\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M0 112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0H288c0 53-43 96-96 96s-96-43-96-96H80c-44.2 0-80-35.8-80-80V112zM320 352H448V256H416c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32V352zM96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96zm96 336a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShieldCat = {\n prefix: 'fas',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160 154.4c0-5.8 4.7-10.4 10.4-10.4h.2c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3h.2c5.8 0 10.4 4.7 10.4 10.4V272c0 53-43 96-96 96s-96-43-96-96V154.4zM216 288a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm96-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faMessageSlash = {\n prefix: 'fas',\n iconName: 'message-slash',\n icon: [640, 512, [\"comment-alt-slash\"], \"f4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-82.3-64.5C565.1 393 576 373.8 576 352V64c0-35.3-28.7-64-64-64H128C104.4 0 83.8 12.7 72.7 31.7L38.8 5.1zM64 352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L373.3 416h32.8L64 146.4V352z\"]\n};\nvar faCommentAltSlash = faMessageSlash;\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z\"]\n};\nvar faZap = faBolt;\nvar faTrashCanCheck = {\n prefix: 'fas',\n iconName: 'trash-can-check',\n icon: [448, 512, [], \"e2a9\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zM337 265c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 265z\"]\n};\nvar faGlassWater = {\n prefix: 'fas',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM73 156.5L66.4 64H317.6L311 156.5l-24.2 12.1c-19.4 9.7-42.2 9.7-61.6 0c-20.9-10.4-45.5-10.4-66.4 0c-19.4 9.7-42.2 9.7-61.6 0L73 156.5z\"]\n};\nvar faOilWell = {\n prefix: 'fas',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M528.3 61.3c-11.4-42.7-55.3-68-98-56.6L414.9 8.8C397.8 13.4 387.7 31 392.3 48l24.5 91.4L308.5 167.5l-6.3-18.1C297.7 136.6 285.6 128 272 128s-25.7 8.6-30.2 21.4l-13.6 39L96 222.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H406.7L340 257.5l-62.2 16.1L305.3 352H238.7L265 277l-74.6 19.3L137.3 448H96V288.8l337.4-87.5 25.2 94c4.6 17.1 22.1 27.2 39.2 22.6l15.5-4.1c42.7-11.4 68-55.3 56.6-98L528.3 61.3zM205.1 448l11.2-32H327.7l11.2 32H205.1z\"]\n};\nvar faPersonSimple = {\n prefix: 'fas',\n iconName: 'person-simple',\n icon: [256, 512, [], \"e220\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3z\"]\n};\nvar faVault = {\n prefix: 'fas',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 0C28.7 0 0 28.7 0 64V416c0 35.3 28.7 64 64 64H80l16 32h64l16-32H400l16 32h64l16-32h16c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 320a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-240a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM480 221.3V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M289.8 46.8c3.7-9 12.5-14.8 22.2-14.8H424c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L321 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c37 0 71.4 11.4 99.8 31l52.6-52.6L295 73c-6.9-6.9-8.9-17.2-5.2-26.2zM400 80l0 0h0v0zM176 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V196.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3H352c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8l0 .1 0 .3zM328.2 384l-.2 .5 0-.5h.2zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPlaneCircleXmark = {\n prefix: 'fas',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c6 0 11.1-3.7 13.1-9C344.5 470.7 320 422.2 320 368c0-60.6 30.6-114 77.1-145.6L320 178.3V93.7C320 59.5 292 0 256 0zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M58.6 46.2C48.8 31.5 29 27.6 14.3 37.4S-4.4 67 5.4 81.7L100.2 224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80v64c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V288h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H219.8L314.6 81.7c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9L160 198.3 58.6 46.2z\"]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faGearCode = {\n prefix: 'fas',\n iconName: 'gear-code',\n icon: [512, 512, [], \"e5e8\", \"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zm-208.2-3.9c1.5-8.7-4.4-17-13.2-18.4s-17 4.4-18.4 13.2l-32 192c-1.5 8.7 4.4 17 13.2 18.4s17-4.4 18.4-13.2l32-192zM187.3 227.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-40 40c-6.2 6.2-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L158.6 256l28.7-28.7zm160-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L353.4 256l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l40-40c6.2-6.2 6.2-16.4 0-22.6l-40-40z\"]\n};\nvar faNotes = {\n prefix: 'fas',\n iconName: 'notes',\n icon: [512, 512, [], \"e202\", \"M160 32c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H339.2c4.3 0 8.6-.4 12.8-1.3V320c0-17.7 14.3-32 32-32h94.7c.9-4.2 1.3-8.5 1.3-12.8V96c0-35.3-28.7-64-64-64H160zM384 352v45.7V416l96-96H461.7 416 384v32zM296 464H136c-48.6 0-88-39.4-88-88l0-224c0-13.3-10.7-24-24-24s-24 10.7-24 24V376c0 75.1 60.9 136 136 136H296c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M96 32C78.3 32 64 46.3 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v32c0 17.7 14.3 32 32 32s32-14.3 32-32V416H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H96zM240 256H128V96H240c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faTrashUndo = {\n prefix: 'fas',\n iconName: 'trash-undo',\n icon: [448, 512, [\"trash-arrow-turn-left\"], \"f895\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128zM217.8 199.9c8.9 9.9 8.1 25-1.8 33.9L182.5 264H240c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V352c0-22.1-17.9-40-40-40H182.5l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8z\"]\n};\nvar faTrashArrowTurnLeft = faTrashUndo;\nvar faChampagneGlass = {\n prefix: 'fas',\n iconName: 'champagne-glass',\n icon: [320, 512, [\"glass-champagne\"], \"f79e\", \"M88 0C71.9 0 58.3 12 56.3 27.9L33.2 208C24.9 273.4 67.3 332.4 128 348V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348c60.7-15.6 103.1-74.6 94.8-140l-23-180.1C261.7 12 248.1 0 232 0H88zm20 128l8.2-64h87.7l8.2 64H108z\"]\n};\nvar faGlassChampagne = faChampagneGlass;\nvar faObjectsAlignCenterHorizontal = {\n prefix: 'fas',\n iconName: 'objects-align-center-horizontal',\n icon: [512, 512, [], \"e3bc\", \"M256 0c-13.3 0-24 10.7-24 24V64H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H232v64H144c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h88v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h88c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H280V224H432c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H280V24c0-13.3-10.7-24-24-24z\"]\n};\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faTrashCanSlash = {\n prefix: 'fas',\n iconName: 'trash-can-slash',\n icon: [640, 512, [\"trash-alt-slash\"], \"e2ad\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V128H195.6L154.8 96H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H416l-7.2-14.3C403.4 6.8 392.3 0 380.2 0H259.8c-12.1 0-23.2 6.8-28.6 17.7L224 32H128c-13.4 0-24.8 8.2-29.6 19.8L38.8 5.1zM304 213v-5c0-8.8 7.2-16 16-16s16 7.2 16 16v30L304 213zm96 75.2V208c0-8.8 7.2-16 16-16s16 7.2 16 16V313.3l-32-25.1zM128 448c0 35.3 28.7 64 64 64H448c20.1 0 38.1-9.3 49.8-23.8L431.5 436c-1.8 6.9-8 12-15.5 12c-8.8 0-16-7.2-16-16V411.2l-64-50.4V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V335.5l-64-50.4V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V259.9l-80-63V448z\"]\n};\nvar faTrashAltSlash = faTrashCanSlash;\nvar faScreenUsers = {\n prefix: 'fas',\n iconName: 'screen-users',\n icon: [640, 512, [\"users-class\"], \"f63d\", \"M96 0C60.7 0 32 28.7 32 64V248.4C49 233.2 71.4 224 96 224V64l448 0V224c24.6 0 47 9.2 64 24.4V64c0-35.3-28.7-64-64-64H96zm64 320A64 64 0 1 0 32 320a64 64 0 1 0 128 0zM0 480c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64zM384 320a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM224 480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H288c-35.3 0-64 28.7-64 64zm320-96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H512z\"]\n};\nvar faUsersClass = faScreenUsers;\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6c-11 11-18 24.6-21.4 39.6c-3.7 16.6-19.1 30.7-36.1 31.6c-25.6 1.3-49.3 10.7-67.3 28.6C-16 328.4-7.6 409.4 47.5 464.5s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3c.9-17 15-32.3 31.6-36.1c15-3.4 28.6-10.5 39.6-21.4c31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSquareArrowLeft = {\n prefix: 'fas',\n iconName: 'square-arrow-left',\n icon: [448, 512, [\"arrow-square-left\"], \"f33a\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM87 239L199 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L344 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L87 273c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faArrowSquareLeft = faSquareArrowLeft;\nvar faSquare8 = {\n prefix: 'fas',\n iconName: 'square-8',\n icon: [448, 512, [], \"e25d\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm232 32H216c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42c0-39.8-32.2-72-72-72zm-16 96c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24c0 0 0 0 0 0H216s0 0 0 0zm16 48h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-17.7 0-32-14.3-32-32s14.3-32 32-32h8 16z\"]\n};\nvar faFaceSmileHearts = {\n prefix: 'fas',\n iconName: 'face-smile-hearts',\n icon: [640, 512, [], \"e390\", \"M448.2 34.3c-1.3 19.7 5.5 39.8 20.5 54.9l55.5 55.8c9.2 9.3 21.1 14.2 33.2 14.9C569.4 189.6 576 222 576 256c0 37.4-8 73-22.5 105.1c-27-15.2-61.9-11.3-84.8 11.8c-25.8 26-27.5 67.1-4.9 94.9C422.8 495.7 373.3 512 320 512c-61.3 0-117.6-21.6-161.7-57.6l13.1-13.1c27.6-27.7 27.6-72.6 0-100.4c-24.8-25-63.6-27.6-91.3-7.7c-1.7-1.2-3.5-2.4-5.2-3.4C67.8 306.5 64 281.7 64 256C64 114.6 178.6 0 320 0c46.7 0 90.5 12.5 128.2 34.3zM205.5 323.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C394 346.2 363.4 368 320 368s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zm-.7-90.3c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zm230.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM573.7 11.5c15.2-15.3 39.8-15.3 54.9 0s15.2 40 0 55.2l-55.4 55.8c-7.3 7.3-19.1 7.3-26.3 0L491.4 66.7c-15.2-15.3-15.2-40 0-55.2s39.8-15.3 54.9 0L560 25.3l13.7-13.8zm54.9 384c15.2 15.3 15.2 40 0 55.2l-55.4 55.8c-7.3 7.3-19.1 7.3-26.3 0l-55.5-55.8c-15.2-15.3-15.2-40 0-55.2s39.8-15.3 54.9 0L560 409.3l13.7-13.8c15.2-15.3 39.8-15.3 54.9 0zm-534.9-32c15.2-15.3 39.8-15.3 54.9 0s15.2 40 0 55.2L93.2 474.5c-7.3 7.3-19.1 7.3-26.3 0L11.4 418.7c-15.2-15.3-15.2-40 0-55.2s39.8-15.3 54.9 0L80 377.3l13.7-13.8z\"]\n};\nvar faBracketsSquare = {\n prefix: 'fas',\n iconName: 'brackets-square',\n icon: [448, 512, [\"brackets\"], \"f7e9\", \"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h64V96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h64zM64 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64V416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32z\"]\n};\nvar faBrackets = faBracketsSquare;\nvar faLaptopArrowDown = {\n prefix: 'fas',\n iconName: 'laptop-arrow-down',\n icon: [640, 512, [], \"e1c6\", \"M128 32C92.7 32 64 60.7 64 96V352h64V96H256V32H128zM512 96V352h64V96c0-35.3-28.7-64-64-64H384V96H512zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2zM344 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V238.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V56z\"]\n};\nvar faHockeyStickPuck = {\n prefix: 'fas',\n iconName: 'hockey-stick-puck',\n icon: [640, 512, [], \"e3ae\", \"M462.3 3.4c15.8 7.9 22.2 27.1 14.3 42.9L261.5 476.6c-10.8 21.7-33 35.4-57.2 35.4H160 128 96V480 352H252.2L419.4 17.7c7.9-15.8 27.1-22.2 42.9-14.3zM0 384c0-17.7 14.3-32 32-32H64V512H32c-17.7 0-32-14.3-32-32V384zm416 32H608c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448c0-17.7 14.3-32 32-32z\"]\n};\nvar faHouseTree = {\n prefix: 'fas',\n iconName: 'house-tree',\n icon: [640, 512, [], \"e1b3\", \"M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H514.6L601 300c7.7 9.6 9.2 22.8 3.9 33.9S588.3 352 576 352H546.6L633 460c7.7 9.6 9.2 22.8 3.9 33.9S620.3 512 608 512H400c10-13.4 16-30 16-48V277.1c0-22.4-9.4-43.8-25.9-59L282.9 119.9 393.4 9.4zM0 277.1c0-13.5 5.6-26.3 15.6-35.4l144-132c18.4-16.8 46.5-16.8 64.9 0l144 132c9.9 9.1 15.6 21.9 15.6 35.4V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V277.1zM144 296v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSignalFair = {\n prefix: 'fas',\n iconName: 'signal-fair',\n icon: [640, 512, [\"signal-2\"], \"f68d\", \"M224 320c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320zM96 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416z\"]\n};\nvar faSignal2 = faSignalFair;\nvar faFaceLaughWink = {\n prefix: 'fas',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDollar = {\n prefix: 'fas',\n iconName: 'circle-dollar',\n icon: [512, 512, [\"dollar-circle\", \"usd-circle\"], \"f2e8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm20.8-378.4v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\"]\n};\nvar faDollarCircle = faCircleDollar;\nvar faUsdCircle = faCircleDollar;\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M64 464V316.9c0-108.4 68.3-205.1 170.5-241.3L404.2 15.5C425.6 7.9 448 23.8 448 46.4c0 11-5.5 21.2-14.6 27.3L400 96c48.1 0 91.2 29.8 108.1 74.9l48.6 129.5c11.8 31.4 4.1 66.8-19.6 90.5c-16 16-37.8 25.1-60.5 25.1h-3.4c-26.1 0-50.9-11.6-67.6-31.7l-32.3-38.7c-11.7 4.1-24.2 6.4-37.3 6.4l-.1 0 0 0c-6.3 0-12.5-.5-18.6-1.5c-3.6-.6-7.2-1.4-10.7-2.3l0 0c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l47.2 70.8c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8H112c-26.5 0-48-21.5-48-48zM392 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsRepeat = {\n prefix: 'fas',\n iconName: 'arrows-repeat',\n icon: [512, 512, [\"repeat-alt\"], \"f364\", \"M1.6 213.9c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2C77.1 189.9 118.5 160 165.2 160H338.7l-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96H165.2C91 96 25.1 143.5 1.6 213.9zm508.7 84.2c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2C434.9 322.1 393.5 352 346.8 352H173.3l41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L173.3 416H346.8c74.2 0 140.1-47.5 163.6-117.9z\"]\n};\nvar faRepeatAlt = faArrowsRepeat;\nvar faBoreHole = {\n prefix: 'fas',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c-17.7 0-32 14.3-32 32V296.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V32c0-17.7-14.3-32-32-32zM48 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H384c-17.7 0-32 14.3-32 32V352c0 53-43 96-96 96s-96-43-96-96V160c0-17.7-14.3-32-32-32H48z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M64 32C46.3 32 32 46.3 32 64V304v48 80c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304 152.2c0-18.2-19.4-29.7-35.4-21.1L352 215.4V152.2c0-18.2-19.4-29.7-35.4-21.1L160 215.4V64c0-17.7-14.3-32-32-32H64z\"]\n};\nvar faImagePolaroid = {\n prefix: 'fas',\n iconName: 'image-polaroid',\n icon: [448, 512, [], \"f8c4\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H352c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm152 64c-5.3 0-10.2 2.6-13.2 6.9l-52.4 76.3-9.6-12.8c-3-4-7.8-6.4-12.8-6.4s-9.8 2.4-12.8 6.4l-48 64c-3.6 4.8-4.2 11.3-1.5 16.8s8.3 8.8 14.3 8.8h48 48 40 88c5.9 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-88-128c-3-4.3-7.9-6.9-13.2-6.9zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faWaveTriangle = {\n prefix: 'fas',\n iconName: 'wave-triangle',\n icon: [640, 512, [], \"f89a\", \"M176 32c10.1 0 19.6 4.7 25.6 12.8L464 394.7 582.4 236.8c10.6-14.1 30.7-17 44.8-6.4s17 30.7 6.4 44.8l-144 192c-6 8.1-15.5 12.8-25.6 12.8s-19.6-4.7-25.6-12.8L176 117.3 57.6 275.2c-10.6 14.1-30.7 17-44.8 6.4s-17-30.7-6.4-44.8l144-192c6-8.1 15.5-12.8 25.6-12.8z\"]\n};\nvar faPersonRunningFast = {\n prefix: 'fas',\n iconName: 'person-running-fast',\n icon: [512, 512, [], \"e5ff\", \"M368 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM259.2 160c-14.1 0-27.5 5.6-37.5 15.5l-23.1 23.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l23.1-23.1C198.4 108.3 228.2 96 259.2 96c11.7 0 23.3 1.7 34.4 5.2l48.7 15c36.4 11.2 65.9 38 80.5 73.1l6.3 15c5 11.9 16.6 19.7 29.5 19.7H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H458.7c-38.8 0-73.7-23.3-88.6-59.1l-5.1-12.3L334 299l56.7 35.4c18.1 11.3 26.6 33.3 20.7 53.9L382.8 488.8c-4.9 17-22.6 26.8-39.6 22s-26.8-22.6-22-39.6l25.4-88.8-86.2-53.9c-25.1-15.7-36.1-46.5-26.8-74.5l31.2-93.7c-1.9-.2-3.7-.3-5.6-.3zM205.5 310.7c7.4 18.1 20.4 33.9 37.9 44.9l9.5 6-11.5 25.9c-7.7 17.3-24.9 28.5-43.9 28.5H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h59.2l18.3-41.3zM16 95.8H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zm16 48H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCircleDown = {\n prefix: 'fas',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6L269.8 394.5c-3.8 3.5-8.7 5.5-13.8 5.5s-10.1-2-13.8-5.5L135.1 294.6c-4.5-4.2-7.1-10.1-7.1-16.3c0-12.3 10-22.3 22.3-22.3l57.7 0 0-96c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32l0 96 57.7 0c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.1 16.3z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faGrill = {\n prefix: 'fas',\n iconName: 'grill',\n icon: [448, 512, [], \"e5a3\", \"M0 72C0 49.9 17.9 32 40 32H408c22.1 0 40 17.9 40 40V96c0 89.8-52.9 167.3-129.2 203l63.2 147.5c5.2 12.2-.4 26.3-12.6 31.5s-26.3-.4-31.5-12.6L316.7 416H160c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c3.4 0 6.8 .3 10.1 .8L129.2 299C52.9 263.3 0 185.8 0 96V72zM151.8 368H296.2l-22.9-53.4c-15.9 3.6-32.3 5.4-49.3 5.4s-33.4-1.9-49.3-5.4L151.8 368zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsTurnToDots = {\n prefix: 'fas',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM384 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]\n};\nvar faChartMixed = {\n prefix: 'fas',\n iconName: 'chart-mixed',\n icon: [512, 512, [\"analytics\"], \"f643\", \"M500 89c13.8-11 16-31.2 5-45s-31.2-16-45-5L319.4 151.5 211.2 70.4c-11.7-8.8-27.8-8.5-39.2 .6L12 199c-13.8 11-16 31.2-5 45s31.2 16 45 5L192.6 136.5l108.2 81.1c11.7 8.8 27.8 8.5 39.2-.6L500 89zM160 256V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32s-32 14.3-32 32zm288-64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32zm96-32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faAnalytics = faChartMixed;\nvar faFlorinSign = {\n prefix: 'fas',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M314.7 32c-38.8 0-73.7 23.3-88.6 59.1L170.7 224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h80L98.9 396.3c-5 11.9-16.6 19.7-29.5 19.7H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H69.3c38.8 0 73.7-23.3 88.6-59.1L213.3 288H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H240l45.1-108.3c5-11.9 16.6-19.7 29.5-19.7H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H314.7z\"]\n};\nvar faArrowDownShortWide = {\n prefix: 'fas',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M151.6 469.6C145.5 476.2 137 480 128 480s-17.5-3.8-23.6-10.4l-88-96c-11.9-13-11.1-33.3 2-45.2s33.3-11.1 45.2 2L96 365.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V365.7l32.4-35.4c11.9-13 32.2-13.9 45.2-2s13.9 32.2 2 45.2l-88 96zM320 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M380.6 81.7c7.9 15.8 1.5 35-14.3 42.9L103.6 256 366.3 387.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-320-160C6.8 279.2 0 268.1 0 256s6.8-23.2 17.7-28.6l320-160c15.8-7.9 35-1.5 42.9 14.3z\"]\n};\nvar faDisplayCode = {\n prefix: 'fas',\n iconName: 'display-code',\n icon: [576, 512, [\"desktop-code\"], \"e165\", \"M0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336l10.7 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416H64c-35.3 0-64-28.7-64-64V64zm64 0V352H512V64H64zM249 177l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM361 143l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faDesktopCode = faDisplayCode;\nvar faFaceDrooling = {\n prefix: 'fas',\n iconName: 'face-drooling',\n icon: [512, 512, [], \"e372\", \"M384 477.8c76.5-44.3 128-127 128-221.8C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c33.9 0 66.4-6.6 96-18.6V370.9c-9.7 6.4-20.3 12.2-32 16.9V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V397.1c-10.1 1.9-20.8 2.9-32 2.9c-67 0-113.8-36.7-140.5-70c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5c22.8 28.5 61.3 58 115.5 58s92.7-29.5 115.5-58c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5c-3.8 4.7-7.9 9.5-12.5 14.2V477.8zM158.6 189.6c-8.4 8-13.5 17.7-15.4 23.5c-2.8 8.4-11.9 12.9-20.2 10.1s-12.9-11.9-10.1-20.2c3.4-10.2 11.1-24.6 23.8-36.5C149.5 154.2 167.9 144 192 144c8.8 0 16 7.2 16 16s-7.2 16-16 16c-14.3 0-25.2 5.8-33.4 13.6zm210.2 23.5c-1.9-5.8-7-15.4-15.4-23.5c-8.2-7.8-19-13.6-33.4-13.6c-8.8 0-16-7.2-16-16s7.2-16 16-16c24.1 0 42.5 10.2 55.4 22.4c12.6 12 20.4 26.3 23.8 36.5c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1z\"]\n};\nvar faOilTemperature = {\n prefix: 'fas',\n iconName: 'oil-temperature',\n icon: [576, 512, [\"oil-temp\"], \"f614\", \"M256 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H320V96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320v70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V128 32zM400 304l0-1.2c21.9-3.2 43.7-12.6 61.5-24.9l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 357.7 417 368 384 368c-1.4 0-2.7 0-4-.1c12.6-18.1 20-40.2 20-63.9zM192 368c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0c17.8 12.3 39.6 21.7 61.4 24.9l0 1.2c0 23.8 7.4 45.8 20 63.9c-1.3 0-2.7 .1-4 .1zm192 80c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0C329 437.4 356.5 448 384 448z\"]\n};\nvar faOilTemp = faOilTemperature;\nvar faSquareQuestion = {\n prefix: 'fas',\n iconName: 'square-question',\n icon: [448, 512, [\"question-square\"], \"f2fd\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm73.8 133.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L248 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H190.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionSquare = faSquareQuestion;\nvar faAirConditioner = {\n prefix: 'fas',\n iconName: 'air-conditioner',\n icon: [576, 512, [], \"f8f4\", \"M64 0C28.7 0 0 28.7 0 64v96c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 128H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 256H192V416c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7c15.3-8.9 20.5-28.4 11.7-43.7s-28.4-20.5-43.7-11.7C83.4 349.4 64 380.4 64 416c0 53 43 96 96 96s96-43 96-96V256zm64 128c0 53 43 96 96 96s96-43 96-96c0-35.6-19.4-66.6-48-83.1c-15.3-8.8-34.9-3.6-43.7 11.7s-3.6 34.9 11.7 43.7c9.6 5.6 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32V256H320V384z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nvar faMountains = {\n prefix: 'fas',\n iconName: 'mountains',\n icon: [640, 512, [9968], \"f6fd\", \"M381.1 480H55.9C25 480 0 455 0 424.1c0-10.5 3-20.8 8.6-29.7L225.2 49c6.6-10.6 18.3-17 30.8-17s24.1 6.4 30.8 17l126 200.7 48.2-79C465 164.1 472.2 160 480 160s15 4.1 19.1 10.7l132 216.3c5.8 9.6 8.9 20.6 8.9 31.8c0 33.8-27.4 61.1-61.1 61.1H456.1h-75z\"]\n};\nvar faOmega = {\n prefix: 'fas',\n iconName: 'omega',\n icon: [448, 512, [], \"f67a\", \"M224 96C135.6 96 64 167.6 64 256c0 56.4 29.1 106 73.3 134.5c13.3 8.6 22.7 23.7 22.7 41.2c0 26.7-21.6 48.3-48.3 48.3H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H67.2C25.8 375.4 0 318.7 0 256C0 132.3 100.3 32 224 32s224 100.3 224 224c0 62.7-25.8 119.4-67.2 160H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H336.3c-26.7 0-48.3-21.6-48.3-48.3c0-17.5 9.4-32.6 22.7-41.2C354.9 362 384 312.4 384 256c0-88.4-71.6-160-160-160z\"]\n};\nvar faCarTunnel = {\n prefix: 'fas',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h42.8c-6.6-5.9-10.8-14.4-10.8-24V376c0-20.8 11.3-38.9 28.1-48.6l21-64.7c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7l21 64.7c16.8 9.7 28.2 27.8 28.2 48.6V488c0 9.6-4.2 18.1-10.8 24H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM362.8 512c-6.6-5.9-10.8-14.4-10.8-24V448H160v40c0 9.6-4.2 18.1-10.8 24H362.8zM190.8 277.5L177 320H335l-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5H198.4c-3.5 0-6.5 2.2-7.6 5.5zM168 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm200-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faPersonDollyEmpty = {\n prefix: 'fas',\n iconName: 'person-dolly-empty',\n icon: [512, 512, [], \"f4d1\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM96 306.7V241.7l16.6 24.9c8.9 13.4 23.9 21.4 39.9 21.4h70.7l27.1 108.3c-16 11.6-26.3 30.5-26.3 51.7c0 35.3 28.7 64 64 64c32.3 0 59.1-24 63.4-55.1l134.4-33.6c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L339.7 410.3c-10-13.7-25.3-23.3-42.8-25.7L247.3 186.2c-3.2-12.9-16.2-20.7-29.1-17.5s-20.7 16.2-17.5 29.1l6.5 26.2H161.1l-42.6-64c-13.3-20-35.8-32-59.9-32C26.2 128 0 154.2 0 186.6v88.1c0 17 6.7 33.3 18.7 45.3l79.4 79.4 14.3 85.9c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8l-15.2-90.9c-1.6-9.9-6.3-19-13.4-26.1l-51-51zM0 346.5L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32v0V410.5l-64-64zM272 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPanFood = {\n prefix: 'fas',\n iconName: 'pan-food',\n icon: [640, 512, [129368], \"e42b\", \"M320 512A256 256 0 1 0 320 0a256 256 0 1 0 0 512zm0-448c37.2 0 69.3 26.3 76.6 62.8l.6 3.2c1.4 7.3-4.1 14-11.5 14H254.3c-7.4 0-12.9-6.8-11.5-14l.6-3.2C250.7 90.3 282.8 64 320 64zM230.1 185.9c7.8 7.8 7.8 20.5 0 28.3l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0zM296 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM416 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM227.3 284.7c2.1 2.1 3.5 4.6 4.2 7.3c.4 1.7 .8 3.4 1.1 5.1c1.1 5.4 2.1 11 5.9 14.7l3.4 3.4c3 3 7.1 4.7 11.3 4.7H280c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56V349.3c0-4.2-1.7-8.3-4.7-11.3l-3.4-3.4c-3.8-3.8-9.3-4.8-14.7-5.9c-1.7-.3-3.5-.7-5.1-1.1c-2.7-.7-5.2-2.1-7.3-4.2c-6.2-6.2-6.2-16.4 0-22.6l8-8 8-8c6.2-6.2 16.4-6.2 22.6 0zM455.8 184.2c4.5-4.5 11.9-4.5 16.4 0l2.8 2.8c13.4 13.4 21 31.6 21 50.6v4.8c0 18.7-8.5 36.4-23.1 48.1C462 299.2 448.4 304 434.4 304l-4.1 0c-19.4 0-38-7.7-51.8-21.4l-2.4-2.4c-4.5-4.5-4.5-11.9 0-16.4l79.6-79.6zM24 160c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm616 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 32L339.2 365.6c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9L448 416v16c0 26.5-21.5 48-48 48H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM464 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM592 480a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 312a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM552 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 288zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M313.4 479.1c26-5.2 42.9-30.5 37.7-56.5l-2.3-11.4c-5.3-26.7-15.1-52.1-28.8-75.2H464c26.5 0 48-21.5 48-48c0-18.5-10.5-34.6-25.9-42.6C497 236.6 504 223.1 504 208c0-23.4-16.8-42.9-38.9-47.1c4.4-7.3 6.9-15.8 6.9-24.9c0-21.3-13.9-39.4-33.1-45.6c.7-3.3 1.1-6.8 1.1-10.4c0-26.5-21.5-48-48-48H294.5c-19 0-37.5 5.6-53.3 16.1L202.7 73.8C176 91.6 160 121.6 160 153.7V192v48 24.9c0 29.2 13.3 56.7 36 75l7.4 5.9c26.5 21.2 44.6 51 51.2 84.2l2.3 11.4c5.2 26 30.5 42.9 56.5 37.7zM32 384H96c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H32C14.3 96 0 110.3 0 128V352c0 17.7 14.3 32 32 32z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRightLong = {\n prefix: 'fas',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faTicketsAirline = {\n prefix: 'fas',\n iconName: 'tickets-airline',\n icon: [640, 512, [], \"e29b\", \"M96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V272c0-8.8-7.4-15.7-15.7-18.6C605.5 246.9 592 229 592 208s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm416 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM265.3 106.5c-1.7-5.2 2.1-10.5 7.6-10.5H304c8.5 0 16.4 4.5 20.7 11.9L364.4 176h40.3c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5c-11.4 11.4-26.8 17.7-42.8 17.7H364.4l-39.7 68.1c-4.3 7.4-12.2 11.9-20.7 11.9H272.9c-5.5 0-9.3-5.3-7.6-10.5L288.4 240H245.8l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H200c-5.2 0-9-4.9-7.8-9.9l12.5-50.2c.6-2.5 .6-5.2 0-7.8l-12.5-50.2c-1.3-5 2.6-9.9 7.8-9.9h13.8c5 0 9.8 2.4 12.8 6.4L245.8 176h42.7l-23.2-69.5zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faAnchorCircleXmark = {\n prefix: 'fas',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c8.2 0 16.3-.6 24.2-1.8c-22.2-16.2-40.4-37.5-53-62.2H320V368 240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faEllipsis = {\n prefix: 'fas',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faEllipsisH = faEllipsis;\nvar faNfcSlash = {\n prefix: 'fas',\n iconName: 'nfc-slash',\n icon: [640, 512, [], \"e1fc\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L38.8 5.1zM173.5 110.7c8.7-9 21-14.7 34.5-14.7h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-3.3 0-6.4 1-8.9 2.7l-25.6-20.1zM302.1 211.5c.6-.3 1.3-.5 1.9-.7V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48V350.9l-32-25.1V144c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 2.3-.2 4.6-.5 6.8l-65.5-51.3zM486.9 479.6L406.2 416H208c-26.5 0-48-21.5-48-48V222.1L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4zM208 384H365.5L192 247.3V368c0 8.8 7.2 16 16 16z\"]\n};\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M215.5 224c29.2-18.4 48.5-50.9 48.5-88c0-57.4-46.6-104-104-104S56 78.6 56 136c0 37.1 19.4 69.6 48.5 88H96c-17.7 0-32 14.3-32 32c0 16.5 12.5 30 28.5 31.8L80 400H240L227.5 287.8c16-1.8 28.5-15.3 28.5-31.8c0-17.7-14.3-32-32-32h-8.5zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L256 432H64L22.6 473.4z\"]\n};\nvar faKitMedical = {\n prefix: 'fas',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H96V32H64zm64 0V480H448V32H128zM512 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H480V480h32zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]\n};\nvar faFirstAid = faKitMedical;\nvar faGrid2Plus = {\n prefix: 'fas',\n iconName: 'grid-2-plus',\n icon: [512, 512, [], \"e197\", \"M80 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm0 256h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48zM288 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80zm96 192c13.3 0 24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H408v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V408H296c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V296c0-13.3 10.7-24 24-24z\"]\n};\nvar faBells = {\n prefix: 'fas',\n iconName: 'bells',\n icon: [640, 512, [], \"f77f\", \"M230.8 245.5l18.7 51.2c11.7 31.8 12.9 66.5 3.5 99.1l-1.1 3.9L21.4 315.8C10 311.7 2 301.5 .6 289.5s4.1-23.8 14.3-30.4l8.2-5.4C57.6 231 84 197.8 98.2 159l14.7-40C138 50.4 214 15.1 282.6 40.1c4.8 1.7 9.4 3.7 13.9 6c-64.1 42.2-93.3 124.2-65.7 199.5zm30.1-10.9c-26.1-71.3 10.5-150.2 81.9-176.2s150.4 10.8 176.5 82.1L538 191.7c14 38.2 39.8 71 73.6 93.6l13.7 9.2c10 6.7 15.4 18.5 14 30.4s-9.5 22.1-20.8 26.2L321.1 459.4c-11.3 4.1-24 1.5-32.8-6.7s-12.3-20.7-9-32.2l4.6-15.8c11.2-39 9.7-80.7-4.3-118.9l-18.8-51.2zM480.8 480c-21.2 0-40-10.2-51.7-25.9l116.1-42.3c.1 1.3 .1 2.6 .1 3.9c0 35.5-28.9 64.3-64.5 64.3zM94.3 376.1l117.6 43.4c-11.6 17.1-31.2 28.4-53.5 28.4c-35.6 0-64.5-28.8-64.5-64.3c0-2.5 .1-5.1 .4-7.5z\"]\n};\nvar faPersonThroughWindow = {\n prefix: 'fas',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M64 64l224 0 0 9.8c0 39-23.7 74-59.9 88.4C167.6 186.5 128 245 128 310.2l0 73.8s0 0 0 0H64V64zm288 0l224 0V384H508.3l-3.7-4.5-75.2-90.2c-9.1-10.9-22.6-17.3-36.9-17.3l-71.1 0-41-63.1c-.3-.5-.6-1-1-1.4c44.7-29 72.5-79 72.5-133.6l0-9.8zm73 320H379.2l42.7 64H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V400c0 26.5 21.5 48 48 48H308.2l33.2 49.8c9.8 14.7 29.7 18.7 44.4 8.9s18.7-29.7 8.9-44.4L310.5 336l74.6 0 40 48zm-159.5 0H192s0 0 0 0l0-73.8c0-10.2 1.6-20.1 4.7-29.5L265.5 384zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M176 88v40H336V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zm-48 40V88c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56v40h28.1c12.7 0 24.9 5.1 33.9 14.1l51.9 51.9c9 9 14.1 21.2 14.1 33.9V304H384V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H192V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v16H0V227.9c0-12.7 5.1-24.9 14.1-33.9l51.9-51.9c9-9 21.2-14.1 33.9-14.1H128zM0 416V336H128v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H320v16c0 17.7 14.3 32 32 32s32-14.3 32-32V336H512v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\"]\n};\nvar faEnvelopeDot = {\n prefix: 'fas',\n iconName: 'envelope-dot',\n icon: [576, 512, [\"envelope-badge\"], \"e16f\", \"M496 0a80 80 0 1 1 0 160A80 80 0 1 1 496 0zM48 64H385.1c-.7 5.2-1.1 10.6-1.1 16c0 45.6 27.2 84.8 66.3 102.3L275.2 313.6c-11.4 8.5-27 8.5-38.4 0L19.2 150.4C7.1 141.3 0 127.1 0 112C0 85.5 21.5 64 48 64zM294.4 339.2L490.8 191.9c1.7 .1 3.4 .1 5.2 .1c5.4 0 10.8-.4 16-1.1V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V176L217.6 339.2c22.8 17.1 54 17.1 76.8 0z\"]\n};\nvar faEnvelopeBadge = faEnvelopeDot;\nvar faHandsHoldingCircle = {\n prefix: 'fas',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M320 0a128 128 0 1 1 0 256A128 128 0 1 1 320 0zM40 64c22.1 0 40 17.9 40 40v40 80 40.2c0 17 6.7 33.3 18.7 45.3l51.1 51.1c8.3 8.3 21.3 9.6 31 3.1c12.9-8.6 14.7-26.9 3.7-37.8l-15.2-15.2-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l32 32 15.2 15.2 0 0 25.3 25.3c21 21 32.8 49.5 32.8 79.2V464c0 26.5-21.5 48-48 48H173.3c-17 0-33.3-6.7-45.3-18.7L28.1 393.4C10.1 375.4 0 351 0 325.5V224 160 104C0 81.9 17.9 64 40 64zm560 0c22.1 0 40 17.9 40 40v56 64V325.5c0 25.5-10.1 49.9-28.1 67.9L512 493.3c-12 12-28.3 18.7-45.3 18.7H400c-26.5 0-48-21.5-48-48V385.1c0-29.7 11.8-58.2 32.8-79.2l25.3-25.3 0 0 15.2-15.2 32-32c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-32 32-15.2 15.2c-11 11-9.2 29.2 3.7 37.8c9.7 6.5 22.7 5.2 31-3.1l51.1-51.1c12-12 18.7-28.3 18.7-45.3V224 144 104c0-22.1 17.9-40 40-40z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faBowlChopsticks = {\n prefix: 'fas',\n iconName: 'bowl-chopsticks',\n icon: [512, 512, [], \"e2e9\", \"M18.5 125.1l473.8-74c11.3-1.8 19.7-11.5 19.7-23c0-14.6-13.3-25.6-27.6-22.9L13.1 93.6C5.5 95 0 101.6 0 109.3c0 9.8 8.8 17.3 18.5 15.8zM0 159.7c0 9 7.3 16.2 16.2 16.2H488.4c13 0 23.6-10.6 23.6-23.6c0-13.3-11-24-24.4-23.6L15.7 143.5C7 143.8 0 151 0 159.7zM33.6 224C15.4 224 .9 239.3 2 257.5c5.4 91.7 59.7 169.7 136.4 209.7l1.2 9.7c2.5 20 19.5 35 39.7 35H332.7c20.2 0 37.2-15 39.7-35l1.2-9.7c76.8-40 131-118 136.4-209.7c1.1-18.2-13.4-33.5-31.6-33.5H33.6z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM576 224H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224zM112 352h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCircleS = {\n prefix: 'fas',\n iconName: 'circle-s',\n icon: [512, 512, [], \"e121\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM207.6 196.2c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4l2 .6c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4l-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7c-20.3-3.1-36.8-1.4-47.8 2.9c-10.3 4.1-14.2 9.6-15.4 15.8z\"]\n};\nvar faBoxBallot = {\n prefix: 'fas',\n iconName: 'box-ballot',\n icon: [576, 512, [128499], \"f735\", \"M128 32c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V224H128V32zM0 352H576V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V352zM48 160H96v96H480V160h48c26.5 0 48 21.5 48 48V320H0V208c0-26.5 21.5-48 48-48z\"]\n};\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M135.2 117.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32H346.6c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2V400v48c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V400H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V400 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'fas',\n iconName: 'hand-holding-hand',\n icon: [576, 512, [], \"e4f7\", \"M7.8 207.7c-13.1-17.8-9.3-42.8 8.5-55.9L142.9 58.5C166.2 41.3 194.5 32 223.5 32H384 544c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H507.2l-44.9 36c-22.7 18.2-50.9 28-80 28H304 288 224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H183.4L63.7 216.2c-17.8 13.1-42.8 9.3-55.9-8.5zM382.4 160l0 0 .9 0c-.3 0-.6 0-.9 0zM568.2 304.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 453.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 352l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faUserTieHair = {\n prefix: 'fas',\n iconName: 'user-tie-hair',\n icon: [448, 512, [], \"e45f\", \"M304 144c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32v16zM224 0C153.3 0 96 57.3 96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0zm55.7 510.9c1.8 .7 3.8 1.1 5.8 1.1H417.3c17 0 30.7-13.8 30.7-30.7c0-75.5-51.9-138.9-121.9-156.4c-8.1-2-15.9 3.3-17.9 11.3l-36 146.9L238.9 359.2l18.6-31c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2l18.6 31L175.8 483.1l-36-146.9c-2-8.1-9.8-13.4-17.9-11.3C51.9 342.4 0 405.8 0 481.3c0 17 13.8 30.7 30.7 30.7H162.5c2.1 0 4-.4 5.8-1.1L168 512H280l-.3-1.1z\"]\n};\nvar faPodiumStar = {\n prefix: 'fas',\n iconName: 'podium-star',\n icon: [448, 512, [], \"f758\", \"M168 72c-22.1 0-40 17.9-40 40v32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H80V112c0-48.6 39.4-88 88-88h14.4C190.7 9.7 206.2 0 224 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H224c-17.8 0-33.3-9.7-41.6-24H168zM73.7 455.1L48 224H400L374.3 455.1c-3.6 32.4-31 56.9-63.6 56.9H137.3c-32.6 0-60-24.5-63.6-56.9zM231.3 276.8c-2.9-6.4-11.7-6.4-14.5 0l-20.2 45.5c-1.2 2.6-3.6 4.4-6.3 4.8l-47.9 5.9c-6.8 .8-9.5 9.5-4.5 14.3l35.4 34c2 2 3 4.9 2.4 7.7l-9.4 49.1c-1.3 6.9 5.8 12.3 11.8 8.9l42.1-24.4c2.4-1.4 5.4-1.4 7.8 0L270 446.9c6 3.5 13.1-1.9 11.8-8.9L272.3 389c-.5-2.8 .4-5.8 2.4-7.7l35.4-34c5-4.8 2.3-13.5-4.5-14.3L257.8 327c-2.8-.3-5.2-2.1-6.3-4.8l-20.2-45.5z\"]\n};\nvar faUserHairMullet = {\n prefix: 'fas',\n iconName: 'user-hair-mullet',\n icon: [448, 512, [\"business-front\", \"party-back\", \"trian-balbot\"], \"e45c\", \"M304 128v16c0 18-6 34.6-16 48h0v0c-14.6 19.4-37.8 32-64 32s-49.4-12.6-64-32v0h0c-10-13.4-16-30-16-48V128c0-5.7 .6-11.3 1.7-16.6c30.6-3.1 58.5-17.9 78.3-40.6c19.8 22.7 47.6 37.5 78.3 40.6c1.1 5.4 1.7 10.9 1.7 16.6zM237.4 271.3L255 289c5.5 5.5 13.2 8 20.8 6.7s14.2-6.1 17.6-13l6.1-12.2 19.5 7.8c9.3 3.7 19.8 1.3 26.6-6s8.3-18.1 3.8-27c-8.5-17-11-22.3-12.2-27.1c-.7-2.9-1.1-5.9-1.2-12.3C346.2 187.5 352 166.4 352 144V128c0-7.1-.6-14-1.7-20.7c5.9-4.4 9.7-11.4 9.7-19.3c0-13.3-10.7-24-24-24h-1.1C312.7 25.7 271.4 0 224 0s-88.7 25.7-110.9 64H112C98.7 64 88 74.7 88 88c0 7.9 3.8 14.9 9.7 19.3C96.6 114 96 120.9 96 128v16c0 22.4 5.8 43.5 15.9 61.8c-.1 6.4-.5 9.4-1.2 12.3c-1.2 4.8-3.7 10.1-12.2 27.1c-4.5 8.9-2.9 19.7 3.8 27s17.3 9.7 26.6 6l19.5-7.8 6.1 12.2c3.5 6.9 10 11.7 17.6 13s15.4-1.3 20.8-6.7l17.7-17.7c4.4 .5 8.9 .7 13.4 .7s9-.2 13.4-.7zM161.3 320C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3z\"]\n};\nvar faBusinessFront = faUserHairMullet;\nvar faPartyBack = faUserHairMullet;\nvar faTrianBalbot = faUserHairMullet;\nvar faMicrophoneStand = {\n prefix: 'fas',\n iconName: 'microphone-stand',\n icon: [512, 512, [127908], \"f8cb\", \"M479.2 32.8c-43.7-43.7-114.7-43.7-158.4 0l-4.7 4.7L474.5 195.9l4.7-4.7c43.7-43.7 43.7-114.7 0-158.4zM293.5 60.1l-4.7 4.7c-24.4 24.4-35.2 57.2-32.4 89L358.2 255.6c31.8 2.8 64.6-8 89-32.4l4.7-4.7L293.5 60.1zM229.1 171.7L215.8 187 7.8 427c-11 12.7-10.3 31.7 1.6 43.6l32 32c11.9 11.9 30.9 12.6 43.6 1.6L224 383.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V328.2l37-32 15.3-13.3L229.1 171.7z\"]\n};\nvar faBookOpenReader = {\n prefix: 'fas',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M160 96a96 96 0 1 1 192 0A96 96 0 1 1 160 96zm80 152V512l-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427V224c0-17.7 14.3-32 32-32H62.3c63.6 0 125.6 19.6 177.7 56zm32 264V248c52.1-36.4 114.1-56 177.7-56H480c17.7 0 32 14.3 32 32V427c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z\"]\n};\nvar faBookReader = faBookOpenReader;\nvar faFamilyDress = {\n prefix: 'fas',\n iconName: 'family-dress',\n icon: [512, 512, [], \"e301\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM112.3 160h31.4c11.8 0 23 3.2 32.6 8.9c-.2 2.3-.3 4.7-.3 7.1c0 24.3 10.9 46.1 28 60.8c-35.7 18.7-60 56.1-60 99.2v16c0 28.4 12.4 54 32 71.6V480c0 6.1 .8 11.9 2.4 17.5c-8.7 9-20.9 14.5-34.4 14.5H112c-26.5 0-48-21.5-48-48V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4c7.8-27.5 33-46.4 61.5-46.4zM368 512c-13.5 0-25.7-5.6-34.4-14.5c1.6-5.5 2.4-11.4 2.4-17.5V423.6c19.6-17.6 32-43.1 32-71.6V336c0-43.1-24.3-80.5-60-99.2c17.1-14.7 28-36.5 28-60.8c0-2.4-.1-4.8-.3-7.1c9.6-5.7 20.8-8.9 32.6-8.9h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448v80c0 26.5-21.5 48-48 48H368zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM256 128a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128c44.2 0 80 35.8 80 80v16c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V407.4c-19.1-11.1-32-31.7-32-55.4V336c0-44.2 35.8-80 80-80z\"]\n};\nvar faCircleX = {\n prefix: 'fas',\n iconName: 'circle-x',\n icon: [512, 512, [], \"e12e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.3 136.5L256 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L287.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L256 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L224.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8z\"]\n};\nvar faCabin = {\n prefix: 'fas',\n iconName: 'cabin',\n icon: [512, 512, [], \"e46d\", \"M237.4 6C248.5-2 263.5-2 274.6 6L384 84.1V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v88.7L498.6 166c11.3 8.1 16.1 22.6 11.9 35.8S493.9 224 480 224H448 416 32c-13.9 0-26.2-9-30.5-22.2S2.1 174 13.4 166L237.4 6zM32 280c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V280zm24 72H168c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24zm0 96H168c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V472c0-13.3 10.7-24 24-24zM320 280c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V280zm24 168H456c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V472c0-13.3 10.7-24 24-24zm-24-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V376zM256 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMountainSun = {\n prefix: 'fas',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M560 160A80 80 0 1 0 560 0a80 80 0 1 0 0 160zM55.9 512H381.1h75H578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 196.1 487.8 192 480 192s-15 4.1-19.1 10.7l-48.2 79L286.8 81c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 426.4C3 435.3 0 445.6 0 456.1C0 487 25 512 55.9 512z\"]\n};\nvar faChartSimpleHorizontal = {\n prefix: 'fas',\n iconName: 'chart-simple-horizontal',\n icon: [448, 512, [], \"e474\", \"M400 320c26.5 0 48-21.5 48-48l0-32c0-26.5-21.5-48-48-48L48 192c-26.5 0-48 21.5-48 48l0 32c0 26.5 21.5 48 48 48l352 0zM208 480c26.5 0 48-21.5 48-48l0-32c0-26.5-21.5-48-48-48L48 352c-26.5 0-48 21.5-48 48l0 32c0 26.5 21.5 48 48 48l160 0zM384 112l0-32c0-26.5-21.5-48-48-48L48 32C21.5 32 0 53.5 0 80l0 32c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48z\"]\n};\nvar faBluetooth = {\n prefix: 'fas',\n iconName: 'bluetooth',\n icon: [384, 512, [], \"f293\", \"M178.8 2.9c11.4-5.2 24.8-3.2 34.3 5.1l128 112C348 126 352 134.8 352 144s-4 18-10.9 24.1L240.6 256l100.5 87.9C348 350 352 358.8 352 368s-4 18-10.9 24.1l-128 112c-9.4 8.3-22.9 10.2-34.3 5.1S160 492.6 160 480V326.5L85.1 392.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2L143.4 256 42.9 168.1c-13.3-11.6-14.6-31.9-3-45.2s31.9-14.6 45.2-3L160 185.5V32c0-12.6 7.3-24 18.8-29.1zM224 326.5v83L271.4 368 224 326.5zm0-141L271.4 144 224 102.5v83z\"]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'fas',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 78.3 14.3 64 32 64zm214.6 73.4c12.5 12.5 12.5 32.8 0 45.3L205.3 224l229.5 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288l-229.5 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0zM640 96V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faHandBackPointLeft = {\n prefix: 'fas',\n iconName: 'hand-back-point-left',\n icon: [512, 512, [], \"e19f\", \"M0 184c0-22.1 17.9-40 40-40l200 0h7l73 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-55.7 0c1.4-2 3-3.9 4.5-5.8l16-19.2C297 72.4 315 64 334 64L372 64c38 0 74 16.9 98.3 46.1l4.5 5.4c24 28.8 37.1 65 37.1 102.4V336c0 70.7-57.3 128-128 128l-64 0H288c-26.5 0-48-21.5-48-48c0-12.4 4.7-23.6 12.3-32.1C227.5 382 208 361.3 208 336c0-12.4 4.7-23.6 12.3-32.1C195.5 302 176 281.3 176 256c0-12.3 4.6-23.5 12.2-32L40 224c-22.1 0-40-17.9-40-40z\"]\n};\nvar faMessageDots = {\n prefix: 'fas',\n iconName: 'message-dots',\n icon: [512, 512, [\"comment-alt-dots\", \"messaging\"], \"f4a3\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM128 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCommentAltDots = faMessageDots;\nvar faMessaging = faMessageDots;\nvar faFileHeart = {\n prefix: 'fas',\n iconName: 'file-heart',\n icon: [384, 512, [], \"e176\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 301.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 344.6C86.5 333.1 80 317.5 80 301.3z\"]\n};\nvar faBeerMug = {\n prefix: 'fas',\n iconName: 'beer-mug',\n icon: [512, 512, [\"beer-foam\"], \"e0b3\", \"M267.7 133.3C253 149.7 231.7 160 208 160s-45-10.3-59.7-26.7c-6.9-7.7-21.4-8.6-29.6-2.3C108 139.1 94.6 144 80 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c14.6 0 28 4.9 38.7 13c8.2 6.3 22.7 5.4 29.6-2.3C163 10.3 184.3 0 208 0s45 10.3 59.7 26.7c6.9 7.7 21.4 8.6 29.6 2.3C308 20.9 321.4 16 336 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.6 0-28-4.9-38.7-13c-8.2-6.3-22.7-5.4-29.6 2.3zM32 448V163.2C46.1 171.3 62.5 176 80 176c18.7 0 36.2-5.4 51-14.7c20 19 47.2 30.7 77 30.7s57-11.7 77-30.7c14.8 9.3 32.3 14.7 51 14.7c19.6 0 37.9-5.9 53.1-16h46.1c42.4 0 76.8 34.4 76.8 76.8V338.9c0 30.3-17.9 57.9-45.6 70.2L384 445.7V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64zm352-72.4l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7V236.8c0-7.1-5.7-12.8-12.8-12.8H384V375.6zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]\n};\nvar faBeerFoam = faBeerMug;\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M48.7 125.8l53.2 31.9c7.8 4.7 17.8 2 22.2-5.9L201.6 12.1c3-5.4-.9-12.1-7.1-12.1c-1.6 0-3.2 .5-4.6 1.4L47.9 98.8c-9.6 6.6-9.2 20.9 .8 26.9zM16 171.7V295.3c0 8 10.4 11 14.7 4.4l60-92c5-7.6 2.6-17.8-5.2-22.5L40.2 158C29.6 151.6 16 159.3 16 171.7zM310.4 12.1l77.6 139.6c4.4 7.9 14.5 10.6 22.2 5.9l53.2-31.9c10-6 10.4-20.3 .8-26.9L322.1 1.4c-1.4-.9-3-1.4-4.6-1.4c-6.2 0-10.1 6.7-7.1 12.1zM496 171.7c0-12.4-13.6-20.1-24.2-13.7l-45.3 27.2c-7.8 4.7-10.1 14.9-5.2 22.5l60 92c4.3 6.7 14.7 3.6 14.7-4.4V171.7zm-49.3 246L286.1 436.6c-8.1 .9-14.1 7.8-14.1 15.9v52.8c0 3.7 3 6.8 6.8 6.8c.8 0 1.6-.1 2.4-.4l172.7-64c6.1-2.2 10.1-8 10.1-14.5c0-9.3-8.1-16.5-17.3-15.4zM233.2 512c3.7 0 6.8-3 6.8-6.8V452.6c0-8.1-6.1-14.9-14.1-15.9l-160.6-19c-9.2-1.1-17.3 6.1-17.3 15.4c0 6.5 4 12.3 10.1 14.5l172.7 64c.8 .3 1.6 .4 2.4 .4zM41.7 382.9l170.9 20.2c7.8 .9 13.4-7.5 9.5-14.3l-85.7-150c-5.9-10.4-20.7-10.8-27.3-.8L30.2 358.2c-6.5 9.9-.3 23.3 11.5 24.7zm439.6-24.8L402.9 238.1c-6.5-10-21.4-9.6-27.3 .8L290.2 388.5c-3.9 6.8 1.6 15.2 9.5 14.3l170.1-20c11.8-1.4 18-14.7 11.5-24.6zm-216.9 11l78.4-137.2c6.1-10.7-1.6-23.9-13.9-23.9H183.1c-12.3 0-20 13.3-13.9 23.9l78.4 137.2c3.7 6.4 13 6.4 16.7 0zM174.4 176H337.6c12.2 0 19.9-13.1 14-23.8l-80-144c-2.8-5.1-8.2-8.2-14-8.2h-3.2c-5.8 0-11.2 3.2-14 8.2l-80 144c-5.9 10.7 1.8 23.8 14 23.8z\"]\n};\nvar faDrone = {\n prefix: 'fas',\n iconName: 'drone',\n icon: [512, 512, [], \"f85f\", \"M223 127.2L171.6 88.7C162.3 64.9 139.1 48 112 48c-35.3 0-64 28.7-64 64c0 27.1 16.9 50.3 40.7 59.6L127.2 223c-5 .7-10.1 1-15.2 1C50.1 224 0 173.9 0 112S50.1 0 112 0s112 50.1 112 112c0 5.2-.3 10.2-1 15.2zm-49.6 2.8l39.8 29.9 .1 .1h85.3l.1-.1 39.8-29.9 29.7-22.3C370.3 92.1 383.8 80 400 80c17.7 0 32 14.3 32 32c0 16.2-12.1 29.7-27.8 31.7l-22.3 29.7-29.9 39.8-.1 .1v85.3l.1 .1 29.9 39.8 22.3 29.7c15.7 2.1 27.8 15.5 27.8 31.7c0 17.7-14.3 32-32 32c-16.2 0-29.7-12.1-31.7-27.8l-29.7-22.3-39.8-29.9-.1-.1H213.3l-.1 .1-39.8 29.9-29.7 22.3C141.7 419.9 128.2 432 112 432c-17.7 0-32-14.3-32-32c0-16.2 12.1-29.7 27.8-31.7l22.3-29.7 29.9-39.8 .1-.1V213.3l-.1-.1-29.9-39.8-22.3-29.7C92.1 141.7 80 128.2 80 112c0-17.7 14.3-32 32-32c16.2 0 29.7 12.1 31.7 27.8l29.7 22.3zM224 400c0 61.9-50.1 112-112 112S0 461.9 0 400s50.1-112 112-112c5.2 0 10.2 .3 15.2 1L88.7 340.4C64.9 349.7 48 372.9 48 400c0 35.3 28.7 64 64 64c27.1 0 50.3-16.9 59.6-40.7L223 384.8c.7 5 1 10.1 1 15.2zm65-272.8c-.7-5-1-10.1-1-15.2C288 50.1 338.1 0 400 0s112 50.1 112 112s-50.1 112-112 112c-5.2 0-10.2-.3-15.2-1l38.5-51.3c23.8-9.3 40.7-32.5 40.7-59.6c0-35.3-28.7-64-64-64c-27.1 0-50.3 16.9-59.6 40.7L289 127.2zM288 400c0-5.2 .3-10.2 1-15.2l51.3 38.5c9.3 23.8 32.5 40.7 59.6 40.7c35.3 0 64-28.7 64-64c0-27.1-16.9-50.3-40.7-59.6L384.8 289c5-.7 10.1-1 15.2-1c61.9 0 112 50.1 112 112s-50.1 112-112 112s-112-50.1-112-112z\"]\n};\nvar faTruckDroplet = {\n prefix: 'fas',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 272c39.8 0 72-29.6 72-66c0-27-39.4-82.9-59.9-110.3c-6.1-8.2-18.1-8.2-24.2 0C175.4 123 136 179 136 206c0 36.5 32.2 66 72 66z\"]\n};\nvar faFileCircleXmark = {\n prefix: 'fas',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faTemperatureArrowUp = {\n prefix: 'fas',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M128 112c0-26.5 21.5-48 48-48s48 21.5 48 48V276.5c0 17.3 7.1 31.9 15.3 42.5C249.8 332.6 256 349.5 256 368c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18.5 6.2-35.4 16.7-48.9c8.2-10.6 15.3-25.2 15.3-42.5V112zM176 0C114.1 0 64 50.1 64 112V276.4c0 .1-.1 .3-.2 .6c-.2 .6-.8 1.6-1.7 2.8C43.2 304.2 32 334.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6V112C288 50.1 237.9 0 176 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM480 160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V160z\"]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0H133.9c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0H487.4C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M32 32c17.7 0 32 14.3 32 32V320H288V160c0-17.7 14.3-32 32-32H544c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H352 320 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32zm144 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faBookCopy = {\n prefix: 'fas',\n iconName: 'book-copy',\n icon: [576, 512, [], \"e0be\", \"M160 96L96 96C43 96 0 139 0 192V416c0 53 43 96 96 96H320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 288 96c-17.7 0-32-14.3-32-32s14.3-32 32-32h81.1c-10.9-18.8-17.1-40.7-17.1-64V96zM320 416h32H512h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H512 288c-53 0-96 43-96 96V320c0 24.6 9.2 47 24.4 64c17.6 19.6 43.1 32 71.6 32h32zm-64-96c0-17.7 14.3-32 32-32h96 96v64H384 288c-17.7 0-32-14.3-32-32z\"]\n};\nvar faSquareH = {\n prefix: 'fas',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM336 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHSquare = faSquareH;\nvar faSquareC = {\n prefix: 'fas',\n iconName: 'square-c',\n icon: [448, 512, [], \"e266\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM167.4 199.4c-31.2 31.2-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0z\"]\n};\nvar faClockTwo = {\n prefix: 'fas',\n iconName: 'clock-two',\n icon: [512, 512, [], \"e35a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392v91.2L338.7 172c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3l-96 64c-7.4 4.9-16.8 5.4-24.6 1.2S232 264.9 232 256V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSquareEllipsisVertical = {\n prefix: 'fas',\n iconName: 'square-ellipsis-vertical',\n icon: [448, 512, [], \"e26f\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCalendarUsers = {\n prefix: 'fas',\n iconName: 'calendar-users',\n icon: [640, 512, [], \"e5e2\", \"M192 32V64H144c-26.5 0-48 21.5-48 48v48h32H512h32V112c0-26.5-21.5-48-48-48H448V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H256V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zm55.4 480H392.6c-5.4-9.4-8.6-20.3-8.6-32c0-43.8 29.4-80.8 69.6-92.3c-23-20.5-37.6-50.4-37.6-83.7c0-56.4 41.7-103.1 96-110.9V192H128v1.1c54.3 7.8 96 54.4 96 110.9c0 33.3-14.5 63.2-37.6 83.7C226.6 399.2 256 436.2 256 480c0 11.7-3.1 22.6-8.6 32zM528 384a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-48 32c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H480zM192 304A80 80 0 1 0 32 304a80 80 0 1 0 160 0zM0 480c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M319.4 372c48.5-31.3 80.6-85.9 80.6-148c0-97.2-78.8-176-176-176S48 126.8 48 224c0 62.1 32.1 116.6 80.6 148c1.2 17.3 4 38 7.2 57.1l.2 1C56 395.8 0 316.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 92.5-56 171.9-136 206.1l.2-1.1c3.1-19.2 6-39.8 7.2-57zm-2.3-38.1c-1.6-5.7-3.9-11.1-7-16.2c-5.8-9.7-13.5-17-21.9-22.4c19.5-17.6 31.8-43 31.8-71.3c0-53-43-96-96-96s-96 43-96 96c0 28.3 12.3 53.8 31.8 71.3c-8.4 5.4-16.1 12.7-21.9 22.4c-3.1 5.1-5.4 10.5-7 16.2C99.8 307.5 80 268 80 224c0-79.5 64.5-144 144-144s144 64.5 144 144c0 44-19.8 83.5-50.9 109.9zM224 312c32.9 0 64 8.6 64 43.8c0 33-12.9 104.1-20.6 132.9c-5.1 19-24.5 23.4-43.4 23.4s-38.2-4.4-43.4-23.4c-7.8-28.5-20.6-99.7-20.6-132.8c0-35.1 31.1-43.8 64-43.8zm0-144a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faBee = {\n prefix: 'fas',\n iconName: 'bee',\n icon: [576, 512, [], \"e0b2\", \"M196.7 4.7c6.2-6.2 16.4-6.2 22.6 0l34.8 34.8C264.4 34.7 275.9 32 288 32s23.6 2.7 33.9 7.5L356.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L347.8 58.8C360.4 73 368 91.6 368 112c0 3-.2 6-.5 8.9C390.3 105 419 96 448 96c65 0 128 44.9 128 112c0 61.9-53.6 104.9-112.9 111.2c.6-5.1 .9-10.2 .9-15.2c0-16.8-2.4-33.1-6.8-48.5c35.2-3.6 54.8-27.9 54.8-47.5c0-21.3-22.9-48-64-48c-34.8 0-56.6 19.2-62.4 38.1c28.6 26.3 46.4 64 46.4 105.9c0 83.8-103.6 179.7-129.9 202.8c-3.9 3.4-8.9 5.2-14.1 5.2s-10.2-1.8-14.1-5.2C247.6 483.7 144 387.8 144 304c0-41.9 17.9-79.6 46.4-105.9C184.6 179.2 162.8 160 128 160c-41.1 0-64 26.7-64 48c0 19.6 19.5 43.9 54.8 47.5c-4.4 15.4-6.8 31.7-6.8 48.5c0 5 .3 10.1 .9 15.2C53.6 312.9 0 269.9 0 208C0 140.9 63 96 128 96c29 0 57.7 9 80.5 24.9c-.3-2.9-.5-5.9-.5-8.9c0-20.4 7.6-39 20.2-53.2L196.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zm52.8 384.1c12.8 16.4 26.5 31.3 38.5 43.4c12-12.1 25.7-27 38.5-43.4c1.2-1.6 2.5-3.2 3.7-4.8H245.8c1.2 1.6 2.4 3.2 3.7 4.8zM359.6 336c5.6-12.6 8.4-23.4 8.4-32H208c0 8.6 2.8 19.4 8.4 32H359.6zM352 256c-14.6-19.4-37.8-32-64-32s-49.4 12.6-64 32H352z\"]\n};\nvar faTemperatureFull = {\n prefix: 'fas',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]\n};\nvar faCandyBar = {\n prefix: 'fas',\n iconName: 'candy-bar',\n icon: [640, 512, [127851, \"chocolate-bar\"], \"e3e8\", \"M0 320H128V224H0v96zm0 64c0 35.3 28.7 64 64 64h64V352H0v32zm288 64V352H160v96H288zm0-224H160v96H288V224zm0-160H160V192H288V64zm288 0H320V448H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM44.2 192H120s0 0 0 0h8V160h0V108.2c0-7.1-9-11.1-15-7.4C101 107.9 87 112 72 112c-4 0-7.9-.3-11.7-.9c-7-1-14.2 6.2-13.1 13.1c.6 3.8 .9 7.7 .9 11.7c0 15-4.1 29-11.3 41c-3.6 6.1 .4 15 7.4 15z\"]\n};\nvar faChocolateBar = faCandyBar;\nvar faXmarkLarge = {\n prefix: 'fas',\n iconName: 'xmark-large',\n icon: [448, 512, [], \"e59b\", \"M393.4 41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 256 438.6 425.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 301.3 54.6 470.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0L224 210.7 393.4 41.4z\"]\n};\nvar faPinata = {\n prefix: 'fas',\n iconName: 'pinata',\n icon: [512, 512, [], \"e3c3\", \"M112 318.1V254.7l25.8 9.9c14.7 5.6 31.1 4.9 45.1-2.2L259.8 224H288 432c44.2 0 80 35.8 80 80v13.2l-23.3 9.3-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7L112 318.1zm0 35.8l2.4 1.2c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l11.4-4.6v50.5l-24 12-17.7-8.8c-9-4.5-19.6-4.5-28.6 0l-16.5 8.3-16.3-10.8c-2.6-1.8-5.7-2.7-8.9-2.7H224c-3.2 0-6.2 .9-8.9 2.7l-16.3 10.8-16.5-8.3c-9-4.5-19.6-4.5-28.6 0L136 414.1l-24-12V353.9zm37.3-119.2L34.4 190.6C13.4 179.6 0 157.8 0 133.8V128C0 92.7 28.7 64 64 64H176V32c0-17.7 14.3-32 32-32s32 14.3 32 32V198.1l-71.4 35.7c-6 3-13.1 3.4-19.3 .9zM112 437.9l9.7 4.8c9 4.5 19.6 4.5 28.6 0l17.7-8.8 16.5 8.3c10.3 5.1 22.5 4.4 32.1-2l7.4-4.9V480c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V437.9zm288-2.7l7.4 4.9c9.6 6.4 21.8 7.1 32.1 2l16.5-8.3 17.7 8.8c9 4.5 19.6 4.5 28.6 0l9.7-4.8V480c0 17.7-14.3 32-32 32H432c-17.7 0-32-14.3-32-32V435.2zM200 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faArrowsFromLine = {\n prefix: 'fas',\n iconName: 'arrows-from-line',\n icon: [448, 512, [], \"e0a4\", \"M246.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64zM192 352v32H160c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H256V352c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M480 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32 16c-15.8 7.9-22.2 27.1-14.3 42.9C393 73.5 404.3 80 416 80v80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 32c17.7 0 32-14.3 32-32s-14.3-32-32-32V32zM32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H47.3l89.6 128L47.3 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64c10.4 0 20.2-5.1 26.2-13.6L176 311.8l85.8 122.6c6 8.6 15.8 13.6 26.2 13.6h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H304.7L215.1 256l89.6-128H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-10.4 0-20.2 5.1-26.2 13.6L176 200.2 90.2 77.6C84.2 69.1 74.4 64 64 64H32z\"]\n};\nvar faBowlSpoon = {\n prefix: 'fas',\n iconName: 'bowl-spoon',\n icon: [512, 512, [129379], \"e3e0\", \"M112 192C50.1 192 0 149 0 96S50.1 0 112 0c48.8 0 90.3 26.7 105.6 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H217.6c-15.4 37.3-56.9 64-105.6 64zM2 257.5C.9 239.3 15.4 224 33.6 224H478.4c18.2 0 32.7 15.3 31.6 33.5c-5.4 91.7-59.7 169.7-136.4 209.7l-1.2 9.7c-2.5 20-19.5 35-39.7 35H179.3c-20.2 0-37.2-15-39.7-35l-1.2-9.7C61.6 427.2 7.4 349.3 2 257.5z\"]\n};\nvar faHexagonCheck = {\n prefix: 'fas',\n iconName: 'hexagon-check',\n icon: [512, 512, [], \"e416\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faPlugCircleXmark = {\n prefix: 'fas',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V172.9l122-70.4c15.3-8.8 34.9-3.6 43.7 11.7l16 27.7c8.8 15.3 3.6 34.9-11.7 43.7L352 256l122 70.4c15.3 8.8 20.5 28.4 11.7 43.7l-16 27.7c-8.8 15.3-28.4 20.6-43.7 11.7L304 339.1V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V339.1L86 409.6c-15.3 8.8-34.9 3.6-43.7-11.7l-16-27.7c-8.8-15.3-3.6-34.9 11.7-43.7L160 256 38 185.6c-15.3-8.8-20.5-28.4-11.7-43.7l16-27.7C51.1 98.8 70.7 93.6 86 102.4l122 70.4V32z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 107.4 37.8 206 100.8 283.1L9.2 469.1c-10.4 8.2-12.3 23.3-4.1 33.7s23.3 12.3 33.7 4.1l592-464c10.4-8.2 12.3-23.3 4.1-33.7s-23.3-12.3-33.7-4.1L253 278c-17.8-21.5-32.9-45.2-45-70.7L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96zm96.8 319l-91.3 72C310.7 476 407.1 512 512 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368c-15-7.1-29.3-15.2-43-24.3z\"]\n};\nvar faTrafficLightStop = {\n prefix: 'fas',\n iconName: 'traffic-light-stop',\n icon: [320, 512, [], \"f63a\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm72 368a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm72 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM160 216a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 72a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-128a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 352c0-17.7 14.3-32 32-32V304c0-44.2 35.8-80 80-80H416c17.7 0 32-14.3 32-32V160 69.5c37.3 13.2 64 48.7 64 90.5v32c0 53-43 96-96 96H272c-8.8 0-16 7.2-16 16v16c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faAccentGrave = {\n prefix: 'fas',\n iconName: 'accent-grave',\n icon: [192, 512, [], \"60\", \"M108.3 204.8L41.2 95c-6-9.8-9.2-21.2-9.2-32.7C32 28.1 59.7 0 93.9 0c29.2 0 54.4 20.4 60.6 49l27.1 126.6C187 200.5 168 224 142.5 224c-14 0-26.9-7.3-34.2-19.2z\"]\n};\nvar faHandshakeAngle = {\n prefix: 'fas',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M544 248v3.3l69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5H296c-37.1 0-67.6 28-71.6 64H224V248c0 22.1 17.9 40 40 40s40-17.9 40-40V176c0 0 0-.1 0-.1V160l16 0 136 0c0 0 0 0 .1 0H464c44.2 0 80 35.8 80 80v8zM336 192v56c0 39.8-32.2 72-72 72s-72-32.2-72-72V129.4c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1H384c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16H432c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8v-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z\"]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faCircle0 = {\n prefix: 'fas',\n iconName: 'circle-0',\n icon: [512, 512, [], \"e0ed\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-48 96v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faDialMedLow = {\n prefix: 'fas',\n iconName: 'dial-med-low',\n icon: [576, 512, [], \"e160\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM174.6 400.5c-56.7-56.7-62-145.4-15.7-208L270.8 304.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L192.8 158.5c62.6-46.2 151.3-41 208 15.7c62.5 62.5 62.5 163.8 0 226.3s-163.8 62.5-226.3 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLocationDot = {\n prefix: 'fas',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faCrab = {\n prefix: 'fas',\n iconName: 'crab',\n icon: [512, 512, [129408], \"e3ff\", \"M128 0C60 0 4.4 53 .2 120c0 .2 0 .3 0 .5L0 128H7.9l.1 0H0v33.3c0 28.1 16.3 53.6 41.8 65.4L98.9 253c-3.7 6-6.9 12.4-9.6 19H51.8L23.2 257.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l32 16c2.2 1.1 4.7 1.7 7.2 1.7H81c-.7 5.2-1 10.6-1 16v9.8l-21.1 7c-2.4 .8-4.5 2.1-6.3 3.9l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L72.6 366l28-9.3 30.7 30.7L90.9 400.8c-2.4 .8-4.5 2.1-6.3 3.9l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L104.6 430l52-17.3 15.7 15.7-36.6 21.9c-4.8 2.9-7.8 8.1-7.8 13.7v32c0 8.8 7.2 16 16 16s16-7.2 16-16V473.1L201.8 448H310.2L352 473.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16V464c0-5.6-3-10.8-7.8-13.7l-36.6-21.9 15.7-15.7 52 17.3 29.3 29.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32c-1.8-1.8-3.9-3.1-6.3-3.9l-40.4-13.5 30.7-30.7 28 9.3 29.3 29.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32c-1.8-1.8-3.9-3.1-6.3-3.9l-21.1-7V320c0-5.4-.3-10.8-1-16h33c2.5 0 4.9-.6 7.2-1.7l32-16c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L460.2 272H422.7c-2.7-6.6-5.9-13-9.6-19l57.1-26.3c25.5-11.8 41.8-37.3 41.8-65.4V128h-8c0 0 .1 0 .1 0H512l-.2-7.5c0-.1 0-.3 0-.4l0 0 0 0C507.6 53 452 0 384 0H339.3c-7.1 0-10.7 8.6-5.7 13.7l36.7 36.7c5 5 1.5 13.7-5.7 13.7H328c-4.4 0-8.1 3.6-7.5 8c3.9 31.6 30.9 56 63.5 56h80v33.3c0 9.4-5.4 17.9-13.9 21.8L378.7 216c-16.9-12.2-37-20.3-58.7-23V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H224V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v49c-21.7 2.7-41.7 10.9-58.7 23L61.9 183.1C53.4 179.2 48 170.6 48 161.3V128h80c32.6 0 59.6-24.4 63.5-56c.5-4.4-3.1-8-7.5-8H147.3c-7.1 0-10.7-8.6-5.7-13.7l36.7-36.7c5-5 1.5-13.7-5.7-13.7H128z\"]\n};\nvar faBoxOpenFull = {\n prefix: 'fas',\n iconName: 'box-open-full',\n icon: [640, 512, [\"box-full\"], \"f49c\", \"M508.9 64.9l-27.5 73.4L320 158.5l-7.2-.9c4.6-8.8 7.2-18.9 7.2-29.6c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.1 .6 10 1.7 14.7l-65.5-8.2c-.1-2.2-.2-4.3-.2-6.5C128 57.3 185.3 0 256 0c69.6 0 126.2 55.6 128 124.7l35.1-93.6c9.3-24.8 37-37.4 61.8-28.1s37.4 37 28.1 61.8zM576 338.3v83.4c0 14.7-10 27.5-24.2 31L335.5 506.8c-10.2 2.6-20.9 2.6-31 0L88.2 452.8C74 449.2 64 436.4 64 421.7V338.3l127.6 36.5c27.8 8 57.6-3.8 72.5-28.6L320 252.9l55.9 93.2c14.9 24.8 44.6 36.6 72.5 28.6L576 338.3zM58.9 168.8c3-6.1 9.6-9.6 16.3-8.7L320 190.7l244.8-30.6c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1L439.6 344c-13.9 4-28.8-1.9-36.2-14.3L320 190.7l-83.4 139c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 297.3c-19.3-5.5-28.8-27.2-19.8-45.1l41.7-83.4z\"]\n};\nvar faBoxFull = faBoxOpenFull;\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M3.4 81.7c-7.9 15.8-1.5 35 14.3 42.9L280.5 256 17.7 387.4C1.9 395.3-4.5 414.5 3.4 430.3s27.1 22.2 42.9 14.3l320-160c10.8-5.4 17.7-16.5 17.7-28.6s-6.8-23.2-17.7-28.6l-320-160c-15.8-7.9-35-1.5-42.9 14.3z\"]\n};\nvar faQuotes = {\n prefix: 'fas',\n iconName: 'quotes',\n icon: [576, 512, [], \"e234\", \"M88 0C39.4 0 0 39.4 0 88v56 24 24c0 26.5 21.5 48 48 48H96c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H64V88c0-13.3 10.7-24 24-24h8c17.7 0 32-14.3 32-32s-14.3-32-32-32H88zM264 0c-48.6 0-88 39.4-88 88v56 24 24c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H240V88c0-13.3 10.7-24 24-24h8c17.7 0 32-14.3 32-32s-14.3-32-32-32h-8zM576 424V368 344 320c0-26.5-21.5-48-48-48H480c-26.5 0-48 21.5-48 48v48c0 26.5 21.5 48 48 48h32v8c0 13.3-10.7 24-24 24h-8c-17.7 0-32 14.3-32 32s14.3 32 32 32h8c48.6 0 88-39.4 88-88zM312 512c48.6 0 88-39.4 88-88V368 344 320c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48v48c0 26.5 21.5 48 48 48h32v8c0 13.3-10.7 24-24 24h-8c-17.7 0-32 14.3-32 32s14.3 32 32 32h8z\"]\n};\nvar faPretzel = {\n prefix: 'fas',\n iconName: 'pretzel',\n icon: [512, 512, [129384], \"e441\", \"M138.6 32C62.1 32 0 94.1 0 170.6C0 253.3 40.9 326.5 103.7 371L71.3 417C58.6 435 62.9 460 81 472.7s43 8.4 55.7-9.7l40-56.8c21.8 6.4 44.9 9.8 68.7 9.8H256h10.6c23.9 0 46.9-3.4 68.7-9.8l40 56.8c12.7 18.1 37.7 22.4 55.7 9.7s22.4-37.7 9.7-55.7l-32.4-46C471.1 326.5 512 253.3 512 170.6C512 94.1 449.9 32 373.4 32H364c-42.6 0-81 18-108 46.8C229 50 190.6 32 148 32h-9.4zM216 180v7.4c0 15.5-4.8 30.7-13.7 43.4l-52.5 74.7C107.5 275.6 80 226.3 80 170.6c0-32.4 26.2-58.6 58.6-58.6H148c37.6 0 68 30.4 68 68zm40 113.5L285.2 335c-6.1 .7-12.3 1-18.6 1H256 245.4c-6.3 0-12.5-.3-18.6-1L256 293.5zm53.7-62.6C300.8 218.2 296 203 296 187.4V180c0-37.6 30.4-68 68-68h9.4c32.4 0 58.6 26.2 58.6 58.6c0 55.7-27.5 105-69.7 134.9l-52.5-74.7z\"]\n};\nvar faPersonSwimming = {\n prefix: 'fas',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M309.5 178.4L447.9 297.1c-1.6 .9-3.2 2-4.8 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-26.9 0-52.3 6.6-74.5 18.4zM160 160A64 64 0 1 1 32 160a64 64 0 1 1 128 0zM306.5 325.9C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]\n};\nvar faUserRobotXmarks = {\n prefix: 'fas',\n iconName: 'user-robot-xmarks',\n icon: [448, 512, [], \"e4a7\", \"M224 0c8.8 0 16 7.2 16 16V64h64c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H144c-35.3 0-64-28.7-64-64V128c0-35.3 28.7-64 64-64h64V16c0-8.8 7.2-16 16-16zM16 144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm400-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM160 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48 16a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm80-16a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 352H352c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32H352V448c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32-14.3-32-32V448c0-53 43-96 96-96zm80 112v48H144V464c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16c8.8 0 16 7.2 16 16v48H208V464c0-8.8 7.2-16 16-16zm80 16v48H272V464c0-8.8 7.2-16 16-16s16 7.2 16 16zM119.5 119.5c-4.7 4.7-4.7 12.3 0 17L143 160l-23.5 23.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L160 177l23.5 23.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L177 160l23.5-23.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L160 143l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0zm145 0c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17L271 160l-23.5 23.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L288 177l23.5 23.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L305 160l23.5-23.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L288 143l-23.5-23.5z\"]\n};\nvar faMessageQuote = {\n prefix: 'fas',\n iconName: 'message-quote',\n icon: [512, 512, [\"comment-alt-quote\"], \"e1e4\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm160 48c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192 168 144c0-17.7-14.3-32-32-32H160zm224 80V168 144c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192z\"]\n};\nvar faCommentAltQuote = faMessageQuote;\nvar faCandyCorn = {\n prefix: 'fas',\n iconName: 'candy-corn',\n icon: [640, 512, [], \"f6bd\", \"M440.6 256c9.8 25.6 19.6 49 28.7 67.2c3.3 6.7 6.2 12.4 9.3 17.7c.5 .8 1 1.7 1.4 2.4c.5-.8 1-1.6 1.4-2.4c3.1-5.3 6-11 9.3-17.7c9-18.2 18.9-41.5 28.7-67.2H440.6zM480 0c44.1 0 90.4 4.2 132.6 18.1C629 23.5 640 38.8 640 56c0 17.4-5.3 43.8-12.3 71.4c-4.4-1-9.3-2.1-14.5-3.1c-30.9-6.2-76-12.3-133.1-12.3s-102.2 6.1-133.1 12.3c-5.3 1.1-10.1 2.1-14.5 3.1c-7-27.6-12.3-54-12.3-71.4c0-17.2 11.4-32.6 27.8-38.1C390 4.4 436 0 480 0zM370.3 250.4c-11-30.8-21.3-62.9-29.6-92.1c3.8-.9 8-1.8 12.4-2.7c29.1-5.8 72-11.7 126.9-11.7s97.8 5.9 126.9 11.7c4.5 .9 8.6 1.8 12.4 2.7c-8.3 29.2-18.6 61.3-29.6 92.1c-13.2 37.2-27.9 73.6-41.6 101.3c-13.4 27-32.9 64.3-68.1 64.3s-54.6-37.3-68.1-64.3c-13.8-27.7-28.4-64.1-41.6-101.3zM83 211.1c30.4-30.4 65.3-59.4 103.9-79c15-7.5 33.1-4.6 45 7.3c12 12 26.6 33.9 40.7 57.7c-3.8 2.3-7.8 5-12.2 7.9c-25.6 17.1-60.9 43.9-100.3 83.3S94 363 76.9 388.6c-2.9 4.3-5.5 8.4-7.9 12.2C45.2 386.6 23.3 372 11.3 360C-.6 348.1-3.3 329.6 4.2 314.6C23.9 276.2 52.6 241.5 83 211.1zm97 248.2c-28.8-13.7-58-28.7-83.9-43c2-3.2 4.3-6.7 6.7-10.4c16-24 41.6-57.7 79.4-95.5S253.7 247 277.7 231c3.7-2.5 7.2-4.7 10.4-6.7c14.4 25.9 29.4 55.1 43.1 83.9c16.5 34.8 31.5 70 41.1 98.5c9.3 27.9 21.7 67-2.6 91.2s-63.4 11.9-91.2 2.6c-28.5-9.6-63.7-24.6-98.5-41.1zm52.3-44.6c24.4 11 47.3 20.2 66.1 26.5c6.9 2.3 12.8 4.2 18.6 5.8c.9 .2 1.8 .5 2.7 .7c-.2-.9-.4-1.7-.7-2.7c-1.5-5.8-3.4-11.7-5.8-18.6c-6.3-18.8-15.6-41.7-26.5-66.1l-54.4 54.4z\"]\n};\nvar faFolderMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'folder-magnifying-glass',\n icon: [512, 512, [\"folder-search\"], \"e18b\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM336 272c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L327 393.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFolderSearch = faFolderMagnifyingGlass;\nvar faNotebook = {\n prefix: 'fas',\n iconName: 'notebook',\n icon: [512, 512, [], \"e201\", \"M64 48v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v80H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v80H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56c0 26.5 21.5 48 48 48h80V0H112C85.5 0 64 21.5 64 48zM432 0H224V512H432c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48z\"]\n};\nvar faDroplet = {\n prefix: 'fas',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\"]\n};\nvar faTint = faDroplet;\nvar faBullseyePointer = {\n prefix: 'fas',\n iconName: 'bullseye-pointer',\n icon: [512, 512, [], \"f649\", \"M256 448c106 0 192-86 192-192s-86-192-192-192S64 150 64 256c0 3.9 .1 7.8 .4 11.7L1.8 286.1C.6 276.2 0 266.2 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-10.2 0-20.2-.6-30.1-1.8l18.4-62.6c3.9 .2 7.8 .4 11.7 .4zm2.3-48l19.7-67c33.5-9.6 58-40.4 58-76.9c0-44.2-35.8-80-80-80c-36.5 0-67.4 24.5-76.9 58L112 253.7C113.2 175.2 177.2 112 256 112c79.5 0 144 64.5 144 144c0 78.8-63.2 142.8-141.7 144zM39 308.5l204.8-60.2c12.1-3.6 23.4 7.7 19.9 19.9L203.5 473c-4.1 13.9-23.2 15.6-29.7 2.6l-28.7-57.3c-.7-1.3-1.5-2.6-2.5-3.7l-88 88c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l88-88c-1.1-1-2.3-1.9-3.7-2.5L36.4 338.2c-13-6.5-11.3-25.6 2.6-29.7z\"]\n};\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7H288h9.4H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H387.9L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416H288l-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z\"]\n};\nvar faHexagonImage = {\n prefix: 'fas',\n iconName: 'hexagon-image',\n icon: [512, 512, [], \"e504\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220zm141.2 59.8c4.5-4.9 10.8-7.7 17.4-7.8s13 2.6 17.6 7.4L232.2 320l71.6-86.2c4.6-5.5 11.3-8.7 18.5-8.7s13.9 3.2 18.5 8.7l72.6 87.4-55.2 95.7c-2.9 5-8.1 8-13.9 8l-176.6 0c-5.7 0-11-3-13.9-8l-46.8-81 51.2-56.1zM192 120a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faEarthAmericas = {\n prefix: 'fas',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M57.7 193l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c-3.5-.2-6.9-.3-10.4-.3C163.1 48 84.4 108.9 57.7 193zM464 256c0-36.8-9.6-71.4-26.4-101.5L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3c1.2-9 1.8-18.2 1.8-27.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faCrateApple = {\n prefix: 'fas',\n iconName: 'crate-apple',\n icon: [512, 512, [\"apple-crate\"], \"f6b1\", \"M160 54.9C160 24.6 184.6 0 214.9 0c5 0 9.1 4.1 9.1 9.1C224 39.4 199.4 64 169.1 64c-5 0-9.1-4.1-9.1-9.1zM32 171.4C32 127.8 52.4 80 96 80c15.6 0 34.1 5.9 47.2 11c10.7 4.2 22.8 4.2 33.5 0c13.1-5.1 31.6-11 47.2-11c43.6 0 64 47.8 64 91.4c0 7-.4 13.9-1.2 20.6H33.2c-.8-6.7-1.2-13.5-1.2-20.6zM319 192c.7-6.7 1-13.6 1-20.6c0-26.1-6-55.1-20.3-78.6c-2.7-4.4-5.7-8.7-9-12.7c15 .6 32.2 6.1 44.6 11c10.7 4.2 22.8 4.2 33.5 0c13.1-5.1 31.6-11 47.2-11c43.6 0 64 47.8 64 91.4c0 7-.4 13.9-1.2 20.6H319zM406.9 0c5 0 9.1 4.1 9.1 9.1C416 39.4 391.4 64 361.1 64c-5 0-9.1-4.1-9.1-9.1C352 24.6 376.6 0 406.9 0zM0 272c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48v80H0V272zM0 384H512v80c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V384zm80-96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM64 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM464 288a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM448 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAppleCrate = faCrateApple;\nvar faPersonBurst = {\n prefix: 'fas',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H465.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L408 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 50.5-7.8 24.4-40.5-55.2-38L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faGameBoard = {\n prefix: 'fas',\n iconName: 'game-board',\n icon: [448, 512, [], \"f867\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 0v80h80V96H144zm0 160V176H64v80h80zm80 0H144v80H64v80h80V336h80v80h80V336h80V256H304V176h80V96H304v80H224v80zm0 0h80v80H224V256z\"]\n};\nvar faHatChef = {\n prefix: 'fas',\n iconName: 'hat-chef',\n icon: [512, 512, [], \"f86b\", \"M153.6 51.2C177 20.1 214.1 0 256 0s79 20.1 102.4 51.2c16-12.1 36-19.2 57.6-19.2c7.1 0 14.4 .8 21.6 2.5C482 44.7 512 84.3 512 128c0 7.1-.8 14.4-2.5 21.6C496 224 448 320 448 320H373.6l26.2-157.4c1.5-8.7-4.4-17-13.2-18.4s-17 4.4-18.4 13.2L341.1 320H272V160c0-8.8-7.2-16-16-16s-16 7.2-16 16V320H170.9L143.8 157.4c-1.5-8.7-9.7-14.6-18.4-13.2s-14.6 9.7-13.2 18.4L138.4 320H64s-48-96-61.5-170.4C.8 142.4 0 135.1 0 128c0-43.7 30-83.3 74.4-93.5C81.6 32.8 88.9 32 96 32c21.6 0 41.6 7.1 57.6 19.2zM448 448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V352H448v96z\"]\n};\nvar faHandBackPointRight = {\n prefix: 'fas',\n iconName: 'hand-back-point-right',\n icon: [512, 512, [], \"e1a1\", \"M512 168c0-22.1-17.9-40-40-40l-200 0-7 0-73 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l55.7 0c-1.4-2-3-3.9-4.5-5.8L227.2 71C215 56.4 197 48 178 48L140 48c-38 0-74 16.9-98.3 46.1l-4.5 5.4C13.1 128.3 0 164.5 0 201.9L0 320c0 70.7 57.3 128 128 128l64 0 32 0c26.5 0 48-21.5 48-48c0-12.4-4.7-23.6-12.3-32.1C284.5 366 304 345.3 304 320c0-12.4-4.7-23.6-12.3-32.1C316.5 286 336 265.3 336 240c0-12.3-4.6-23.5-12.2-32L472 208c22.1 0 40-17.9 40-40z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M160.8 96.5c14 17 31 30.9 49.5 42.2c25.9 15.8 53.7 25.9 77.7 31.6V138.8C265.8 108.5 250 71.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8c-13.3 15.4-32.7 44.6-48.4 87.2zM320 144v30.6l0 0v1.3l0 0 0 32.1c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8 .9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5L245.6 448H320c88.4 0 160-71.6 160-160V128l29.9-44.9c1.3-2 2.1-4.4 2.1-6.8c0-6.8-5.5-12.3-12.3-12.3H400c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSnowflakeDroplets = {\n prefix: 'fas',\n iconName: 'snowflake-droplets',\n icon: [640, 512, [], \"e5c1\", \"M320 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.7 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L383.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 21.5 12.6-29.3 57-22.7-13.2 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L352 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L145 395.1l-29.3-57 21.5-12.6-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L256.5 256l-60.9-35.5-67.7 18.1c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8-25.3-14.8c-15.3-8.9-20.4-28.5-11.5-43.8s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L288 200.3V129.9L239 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32zM519.1 418.1l47.5-92.4c1.8-3.5 5.4-5.7 9.3-5.7s7.5 2.2 9.3 5.7l47.5 92.4c4.7 9.1 7.1 19.3 7.1 29.5c0 35.3-28.7 64.3-64 64.3s-64-29-64-64.3c0-10.2 2.4-20.4 7.1-29.5zM54.7 325.7c1.8-3.5 5.4-5.7 9.3-5.7s7.5 2.2 9.3 5.7l47.5 92.4c4.7 9.1 7.1 19.3 7.1 29.5C128 483 99.3 512 64 512s-64-29-64-64.3c0-10.2 2.4-20.4 7.1-29.5l47.5-92.4z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\"]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faGrid4 = {\n prefix: 'fas',\n iconName: 'grid-4',\n icon: [448, 512, [], \"e198\", \"M0 48c0-8.8 7.2-16 16-16H73.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V48zM0 167.5c0-8.8 7.2-16 16-16H73.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V167.5zM16 270.9H73.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V286.9c0-8.8 7.2-16 16-16zM0 406.4c0-8.8 7.2-16 16-16H73.6c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V406.4zM119.5 48c0-8.8 7.2-16 16-16h57.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H135.5c-8.8 0-16-7.2-16-16V48zm0 119.5c0-8.8 7.2-16 16-16h57.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H135.5c-8.8 0-16-7.2-16-16V167.5zm16 103.5h57.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H135.5c-8.8 0-16-7.2-16-16V286.9c0-8.8 7.2-16 16-16zm-16 135.5c0-8.8 7.2-16 16-16h57.6c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16H135.5c-8.8 0-16-7.2-16-16V406.4zM254.9 32h57.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H254.9c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zm0 119.5h57.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H254.9c-8.8 0-16-7.2-16-16V167.5c0-8.8 7.2-16 16-16zm-16 135.5c0-8.8 7.2-16 16-16h57.6c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H254.9c-8.8 0-16-7.2-16-16V286.9zm16 103.5h57.6c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16H254.9c-8.8 0-16-7.2-16-16V406.4c0-8.8 7.2-16 16-16zM358.4 48c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H374.4c-8.8 0-16-7.2-16-16V48zm0 119.5c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H374.4c-8.8 0-16-7.2-16-16V167.5zm16 103.5H432c8.8 0 16 7.2 16 16v57.6c0 8.8-7.2 16-16 16H374.4c-8.8 0-16-7.2-16-16V286.9c0-8.8 7.2-16 16-16zm-16 135.5c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16H374.4c-8.8 0-16-7.2-16-16V406.4z\"]\n};\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M175.2 476.6c-9.7-18-15.2-38.7-15.2-60.6c0-40.3 19-78.2 51.2-102.4l64-48c8.1-6 12.8-15.5 12.8-25.6V96H128V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l21.6-16.2zM128 64H288V48c0-14.5 3.9-28.2 10.7-39.9C291 3 281.9 0 272 0H176c-26.5 0-48 21.5-48 48V64zM320 96V240c0 20.1-9.5 39.1-25.6 51.2l-64 48C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l115.2-86.4C493 382.2 512 344.3 512 304V96H320zM512 64V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V64H512z\"]\n};\nvar faFaceSunglasses = {\n prefix: 'fas',\n iconName: 'face-sunglasses',\n icon: [512, 512, [], \"e398\", \"M256 512c141.4 0 256-114.6 256-256c0-16.6-1.6-32.8-4.6-48.5l2.6-15.7c7.9-47.6-20.5-91.8-63.3-106.6C399.8 32.9 331.8 0 256 0S112.2 32.9 65.3 85.2C22.4 100-6 144.2 2 191.8l2.6 15.7C1.6 223.2 0 239.4 0 256C0 397.4 114.6 512 256 512zM183.3 272H104.7c-23.5 0-43.5-17-47.3-40.1l-8-48C44.4 154.6 67 128 96.7 128h94.7c14.4 0 27.1 6.2 35.8 16h57.8c8.7-9.8 21.4-16 35.8-16h94.7c29.7 0 52.2 26.6 47.3 55.9l-8 48C450.8 255 430.8 272 407.3 272H328.7c-23.5 0-43.5-17-47.3-40.1l-8-48c-.4-2.7-.7-5.3-.7-7.9H239.3c0 2.6-.2 5.2-.7 7.9l-8 48C226.8 255 206.8 272 183.3 272zm-19.2 69.5C182 362.2 212.6 384 256 384s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 388.1 311.1 416 256 416s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V323.9c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32H121zm0 64H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96z\"]\n};\nvar faSquare0 = {\n prefix: 'fas',\n iconName: 'square-0',\n icon: [448, 512, [], \"e255\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-48 96v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSection = {\n prefix: 'fas',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M64.9 96C67.1 84.4 73.7 76.2 86 70.6c13.8-6.2 34.8-8.9 61.2-4.5c8.8 1.4 36.1 7.1 44.1 9.3c17 4.8 34.7-5.1 39.5-22.2s-5.1-34.7-22.2-39.5c-11.1-3.1-41-9.2-50.9-10.8C123-2.7 88.3-.6 59.7 12.3C29.9 25.8 7.5 50.9 1.6 86.5c-.1 .5-.2 1.1-.2 1.6c-2.2 19.7 .3 37.9 8.1 54.1c7.7 16.1 19.4 28 32 36.9c.6 .5 1.3 .9 2 1.4C22.3 194.2 6.5 215.1 1.7 243c-.1 .6-.2 1.1-.2 1.7c-2.3 19.3 .4 37.1 8.4 53c7.9 15.6 19.8 27 32.3 35.5c22.4 15.2 51.9 24 75.4 31l0 0 3.7 1.1c27.2 8.2 46.9 14.6 59.4 23.8c5.5 4 8.2 7.6 9.5 10.9c1.3 3.2 2.6 8.6 .9 18.1c-1.7 10.1-7.7 18-20.7 23.5c-14 6-35.4 8.5-62 4.4c-12.8-2.1-35.1-9.7-54.1-16.2l0 0c-4.3-1.5-8.5-2.9-12.3-4.2C25.3 420 7.2 429.1 1.6 445.8s3.5 34.9 20.3 40.5c2.6 .8 5.7 1.9 9.2 3.1c18.6 6.3 48.5 16.6 67.3 19.6l0 0 .2 0c34.5 5.4 68.8 3.4 97.2-8.7c29.4-12.6 52.5-36.5 58.5-71.5c3.3-19.3 1.9-37.4-5-53.9c-6.3-15-16.4-26.4-27.6-35.2c16.5-13.9 28.5-33.2 32.6-58.2c3.2-19.8 1.9-38.3-4.8-55.1c-6.7-16.8-17.8-29.4-30.2-39c-22.8-17.6-53.6-27.4-77.7-35l-1.4-.5c-27.4-8.7-47.8-15.3-61.5-25c-6.1-4.4-9.5-8.5-11.4-12.4c-1.8-3.7-3.2-9.3-2.3-18.5zm76.7 208.5c-.2-.1-.4-.1-.6-.2l-1.4-.4c-27.4-8.2-47.9-14.5-61.7-23.8c-6.2-4.2-9.3-7.9-11-11.3c-1.5-3-2.9-7.7-2.1-15.7c1.9-9.7 7.9-17.3 20.5-22.7c14-6 35.4-8.5 62.1-4.3l16.4 2.6c6.3 2.9 11.7 6 16.2 9.5c5.5 4.2 8.4 8.2 10 12.2c1.6 4 2.8 10.4 1.1 20.9c-2.4 14.7-12.8 26.4-37.1 31l-12.4 2.3z\"]\n};\nvar faSquareThisWayUp = {\n prefix: 'fas',\n iconName: 'square-this-way-up',\n icon: [448, 512, [\"box-up\"], \"f49f\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM80 384H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM265.4 192c-9.6 0-17.4-7.8-17.4-17.4c0-4.3 1.6-8.4 4.4-11.6L306.7 102c3.4-3.8 8.2-6 13.3-6s9.9 2.2 13.3 6l54.3 61.1c2.8 3.2 4.4 7.3 4.4 11.6c0 9.6-7.8 17.4-17.4 17.4H352V304c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V192H265.4zm-192 0c-9.6 0-17.4-7.8-17.4-17.4c0-4.3 1.6-8.4 4.4-11.6L114.7 102c3.4-3.8 8.2-6 13.3-6s9.9 2.2 13.3 6l54.3 61.1c2.8 3.2 4.4 7.3 4.4 11.6c0 9.6-7.8 17.4-17.4 17.4H160V304c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V192H73.4z\"]\n};\nvar faBoxUp = faSquareThisWayUp;\nvar faGaugeHigh = {\n prefix: 'fas',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faSquareAmpersand = {\n prefix: 'fas',\n iconName: 'square-ampersand',\n icon: [448, 512, [], \"e260\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM184 191.6c0 4.1 1.6 8.1 4.6 11L203 217.1l23.6-17.3c3.4-2.5 5.4-6.4 5.4-10.6c0-7.3-5.9-13.2-13.2-13.2H199.6c-8.6 0-15.6 7-15.6 15.6zm71 46.9l-17.6 12.9 28.7 28.7 26.2-37.8c7.5-10.9 22.5-13.6 33.4-6.1s13.6 22.5 6.1 33.4l-31.1 45L329 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-22.4-22.4c-15.1 18.5-37.8 29.4-62 29.4H178.5c-36.7 0-66.5-29.8-66.5-66.5c0-21.2 10.1-41.1 27.2-53.6l24.7-18.1-9.2-9.2c-11.9-11.9-18.6-28.1-18.6-45c0-35.1 28.5-63.6 63.6-63.6h19.2c33.8 0 61.2 27.4 61.2 61.2c0 19.5-9.3 37.8-25 49.3zm-87.5 64.1c-4.7 3.5-7.5 9-7.5 14.9c0 10.2 8.3 18.5 18.5 18.5h32.2c10.5 0 20.3-5.2 26.3-13.8l1.4-2-40.1-40.1-30.7 22.5z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M215.4 96H144 107.8 96v8.8V144v40.4 89L.2 202.5c1.6-18.1 10.9-34.9 25.7-45.8L48 140.3V96c0-26.5 21.5-48 48-48h76.6l49.9-36.9C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L339.4 48H416c26.5 0 48 21.5 48 48v44.3l22.1 16.4c14.8 10.9 24.1 27.7 25.7 45.8L416 273.4v-89V144 104.8 96H404.2 368 296.6 215.4zM0 448V242.1L217.6 403.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L512 242.1V448v0c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v0zM176 160H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faLampDesk = {\n prefix: 'fas',\n iconName: 'lamp-desk',\n icon: [512, 512, [], \"e014\", \"M192 65.9C192 29.5 221.5 0 257.9 0c17.5 0 34.3 6.9 46.6 19.3L349.3 64H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-73.5 73.5-45.1 45.1-73.5 73.5c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V173.3l-92.6 92.6L209 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H184.7c-.5 0-.9 0-1.4 0H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H143L97 263.8c-2.7-10.9 .5-22.4 8.4-30.4L218.7 120l-7.4-7.4C198.9 100.2 192 83.4 192 65.9zM432 288c-14.7 0-27.8-6.6-36.6-16.9l67.7-67.7c10.3 8.8 16.9 21.9 16.9 36.6c0 26.5-21.5 48-48 48z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M192 48c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48V512H368V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H192V48zM48 96H160V512H48c-26.5 0-48-21.5-48-48V320H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V224H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V144c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v48H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V464c0 26.5-21.5 48-48 48H480V96H592zM312 64c-8.8 0-16 7.2-16 16v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152h24c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H344V80c0-8.8-7.2-16-16-16H312z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faPollPeople = {\n prefix: 'fas',\n iconName: 'poll-people',\n icon: [640, 512, [], \"f759\", \"M128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zm448 80H480V96h96v32zM272 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H272zM576 416H352V384H576v32zM272 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H272zM64 128c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm64 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faWhiskeyGlassIce = {\n prefix: 'fas',\n iconName: 'whiskey-glass-ice',\n icon: [512, 512, [\"glass-whiskey-rocks\"], \"f7a1\", \"M32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM417 283.7c9.6 9.6 15 22.7 15 36.3s-5.4 26.7-15 36.3L356.3 417c-9.6 9.6-22.7 15-36.3 15s-26.7-5.4-36.3-15l-49-49H160c-35.3 0-64-28.7-64-64V281.1L69 96H443L415.8 282.5l1.2 1.2zM160 208c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h50.6c-1.7-5.1-2.6-10.5-2.6-16c0-13.6 5.4-26.7 15-36.3l33-33V240c0-17.7-14.3-32-32-32H160zm85.7 98.3C242 310 240 314.9 240 320s2 10 5.7 13.7l60.7 60.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l60.7-60.7c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-60.7-60.7C330 242 325.1 240 320 240s-10 2-13.7 5.7l-60.7 60.7z\"]\n};\nvar faGlassWhiskeyRocks = faWhiskeyGlassIce;\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3c-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6c9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5L180.2 153.3c31.9-31.9 76.6-43.1 117.5-33.8c12.6 2.9 26.4 .5 35.5-8.6l48.8-48.8 9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0L99.3 324.7c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M32 192V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V88c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V192c0 10.1-4.7 19.6-12.8 25.6L352 256l16 144H80L96 256 44.8 217.6C36.7 211.6 32 202.1 32 192zm176 96h32c8.8 0 16-7.2 16-16V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 8.8 7.2 16 16 16zM22.6 473.4L64 432H384l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H38.6C26.1 512 16 501.9 16 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nvar faUserBountyHunter = {\n prefix: 'fas',\n iconName: 'user-bounty-hunter',\n icon: [448, 512, [], \"e2bf\", \"M323 120C309.4 78 270 48 224 48s-85.4 30-99 72H323zm5.5 36.4L248 171.5v98.4l9.5-1.9c7.6-49.7 42.9-81.5 71.9-97.8l-.9-13.8zm-209 0l-.9 13.8c29 16.3 64.2 48.1 71.9 97.8l9.5 1.9V171.5l-80.5-15.1zM96 70C123.1 27.7 170.5 0 224 0c80.1 0 146.5 62.2 151.7 142.2L383 256.5c1.3 20-12.4 37.9-32.1 41.8L250.1 318.4c-5.2 1-10.4 1.6-15.7 1.6H213.5c-5.3 0-10.5-.5-15.7-1.6L97 298.3c-16.2-3.2-28.4-16-31.4-31.6c-1-3.4-1.6-7-1.6-10.7V16C64 7.2 71.2 0 80 0H96c8.8 0 16 7.2 16 16s-7.2 16-16 16V70zm38.4 282H313.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352zm37.1 103.4c-3.7 2.8-1.7 8.6 2.9 8.6h99.2c4.6 0 6.6-5.9 2.9-8.6l-47.7-35.8c-2.8-2.1-6.8-2.1-9.6 0l-47.7 35.8z\"]\n};\nvar faBarsStaggered = {\n prefix: 'fas',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDiagramSankey = {\n prefix: 'fas',\n iconName: 'diagram-sankey',\n icon: [576, 512, [], \"e158\", \"M294.4 44.8c6-8.1 15.5-12.8 25.6-12.8H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H336L249.6 211.2c-6 8.1-15.5 12.8-25.6 12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H208L294.4 44.8zM141.9 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H216.5l57.6 96H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-11.2 0-21.7-5.9-27.4-15.5L141.9 320z\"]\n};\nvar faCloudHailMixed = {\n prefix: 'fas',\n iconName: 'cloud-hail-mixed',\n icon: [512, 512, [], \"f73a\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-10.3 24c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l10.3-24c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm232 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zM326.1 385.5l-10.3 24c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l10.3-24c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM32 448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCircleUpLeft = {\n prefix: 'fas',\n iconName: 'circle-up-left',\n icon: [512, 512, [], \"e128\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 313.4V176c0-8.8 7.2-16 16-16H313.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16L296 232l66.3 66.3c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C322 366 317.1 368 312 368s-10-2-13.7-5.7L232 296l-33.4 33.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6z\"]\n};\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.4-4.3c2.4 10 6.4 19.5 11.6 28l-48.6 42.5zm103.8 65c-24.4-4.1-46.9-13.7-66.2-27.4l42.5-48.6c8.5 5.3 18 9.2 28 11.6l-4.3 64.4zm119.4-27.4c-19.3 13.8-41.9 23.4-66.2 27.4l-4.3-64.4c10-2.4 19.5-6.4 28-11.6l42.5 48.6zm65-103.8c-4.1 24.4-13.7 46.9-27.4 66.2l-48.6-42.5c5.3-8.5 9.2-18 11.6-28l64.4 4.3zm-65-156.9l-42.5 48.6c-8.5-5.3-18-9.2-28-11.6l4.3-64.4c24.4 4.1 46.9 13.7 66.2 27.5zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faObjectsAlignLeft = {\n prefix: 'fas',\n iconName: 'objects-align-left',\n icon: [512, 512, [], \"e3be\", \"M0 24L0 488c0 13.3 10.7 24 24 24s24-10.7 24-24L48 24C48 10.7 37.3 0 24 0S0 10.7 0 24zM176 64c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48L176 64zm0 224c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H176z\"]\n};\nvar faOilCanDrip = {\n prefix: 'fas',\n iconName: 'oil-can-drip',\n icon: [640, 512, [], \"e205\", \"M352 96c0 17.7-14.3 32-32 32H288v32h80.9c9.9 0 19.7 2.3 28.6 6.8L448 192l167-35.8c18.1-3.9 30.7 17.6 18.4 31.5L451.1 394.3c-12.1 13.8-29.6 21.7-48 21.7H144c-26.5 0-48-21.5-48-48V346.7l-67.5-30C11.2 309 0 291.8 0 272.8V208c0-26.5 21.5-48 48-48H96h48 80V128H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H320c17.7 0 32 14.3 32 32zM48 208v64.8l48 21.3V208H48zM592 448c-26.5 0-48-21.5-48-48c0-21 20.6-62.6 34.9-88.8c5.8-10.6 20.5-10.6 26.3 0C619.4 337.4 640 379 640 400c0 32-21.5 48-48 48z\"]\n};\nvar faFaceSmilingHands = {\n prefix: 'fas',\n iconName: 'face-smiling-hands',\n icon: [640, 512, [], \"e396\", \"M411.1 495.3c-17-21.6-27.1-48.9-27.1-78.5V386c-18.1 8.4-39.4 14-64 14s-45.9-5.6-64-14v30.8c0 29.6-10.1 56.9-27.1 78.5c28.3 10.8 59 16.7 91.1 16.7s62.8-5.9 91.1-16.7zM320 0C183.1 0 71.3 107.5 64.3 242.6c16.8-5.8 36.2-2 49.6 11.4L161 301.1c9.4-13.7 25.1-22.7 43-22.7c28.7 0 52 23.3 52 52v19.2c16.8 10.6 38.1 18.4 64 18.4s47.2-7.7 64-18.4V330.4c0-28.7 23.3-52 52-52c17.9 0 33.6 9 43 22.7l47.1-47.1c13.4-13.4 32.8-17.2 49.6-11.4C568.7 107.5 456.9 0 320 0zM281.6 228.8l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm160 0l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zM68.7 299.3L120 350.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L43.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L88 382.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 340.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L56 414.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 404.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.8 56.8C79.3 502 103.6 512 128.8 512c52.6 0 95.2-42.6 95.2-95.2V384 330.4c0-11-9-20-20-20s-20 9-20 20v19.7c0 7.1-8.6 10.7-13.7 5.7l-79-79c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zm502.6 0c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L593.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L561.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L529.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3z\"]\n};\nvar faBroccoli = {\n prefix: 'fas',\n iconName: 'broccoli',\n icon: [512, 512, [129382], \"e3e2\", \"M0 256c0 53 43 96 96 96H416c53 0 96-43 96-96c0-45.5-31.6-83.6-74.1-93.5c6.4-10 10.1-21.8 10.1-34.5c0-35.3-28.7-64-64-64c-12.7 0-24.6 3.7-34.5 10.1C339.6 31.6 301.5 0 256 0s-83.6 31.6-93.5 74.1C152.6 67.7 140.7 64 128 64c-35.3 0-64 28.7-64 64c0 12.7 3.7 24.6 10.1 34.5C31.6 172.4 0 210.5 0 256zM192.2 490.3c5 12.8 17.1 21.7 30.9 21.7h65.9c13.8 0 25.9-8.9 30.9-21.7c17.6-45.3 39.6-82.1 56.1-106.3H280l-16.8 33.7c-2.9 5.9-11.4 5.9-14.3 0L232 384H136.1c16.5 24.2 38.5 60.9 56.1 106.3z\"]\n};\nvar faRouteInterstate = {\n prefix: 'fas',\n iconName: 'route-interstate',\n icon: [512, 512, [], \"f61b\", \"M85.3 192h341c-.8 44.3-7.9 81.8-21.9 114.4c-23.4 54.1-68.5 99.1-149 138.5c-81.5-36.2-126.1-80.9-149-135.4c-14-33.3-20.6-72-21-117.4zM276.9 7.3c-12.8-7.8-29-7.8-41.8 0c-27.5 16.8-50.2 26-73.4 30c-23.3 4-49.2 3.2-83.7-3.2C55.9 30 34.4 45 31.1 67.7C16 170.4 15.9 259.5 47.3 334.2c32.1 76.4 94.6 132.5 193 173.9c10.4 4.4 22.3 4.1 32.5-.6c95.7-44.8 157.8-100.7 190.3-175.7c32-73.9 32.9-161.2 17.8-264.1C477.6 45.1 456.1 30 434 34.1c-34.4 6.3-60.3 7.2-83.7 3.2c-23.2-4-45.9-13.2-73.4-30z\"]\n};\nvar faEarMuffs = {\n prefix: 'fas',\n iconName: 'ear-muffs',\n icon: [640, 512, [], \"f795\", \"M320 64c-78.2 0-143.3 56.1-157.2 130.2c-6-1.4-12.3-2.2-18.8-2.2c-17.7 0-34.1 5.8-47.4 15.6C105 91.5 201.8 0 320 0S535 91.5 543.4 207.6C530.1 197.8 513.7 192 496 192c-6.5 0-12.7 .8-18.8 2.2C463.3 120.1 398.2 64 320 64zM179.8 304c7.6 8.5 12.2 19.7 12.2 32s-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32s-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32c0 26.5-21.5 48-48 48c-22.1 0-40.8-15-46.3-35.4C92.2 478.8 86.2 480 80 480c-26.5 0-48-21.5-48-48c0-6.2 1.2-12.2 3.4-17.7C15 408.8 0 390.1 0 368s15-40.8 35.4-46.3C33.2 316.2 32 310.2 32 304c0-26.5 21.5-48 48-48c6.2 0 12.2 1.2 17.7 3.4C103.2 239 121.9 224 144 224c26.5 0 48 21.5 48 48c0 12.3-4.6 23.5-12.2 32zm280.4 0c-7.6-8.5-12.2-19.7-12.2-32c0-26.5 21.5-48 48-48c22.1 0 40.8 15 46.3 35.4c5.5-2.2 11.4-3.4 17.7-3.4c26.5 0 48 21.5 48 48c0 6.2-1.2 12.2-3.4 17.7C625 327.2 640 345.9 640 368s-15 40.8-35.4 46.3c2.2 5.5 3.4 11.4 3.4 17.7c0 26.5-21.5 48-48 48c-6.2 0-12.2-1.2-17.7-3.4C536.8 497 518.1 512 496 512c-26.5 0-48-21.5-48-48c0-12.3 4.6-23.5 12.2-32c-7.6-8.5-12.2-19.7-12.2-32s4.6-23.5 12.2-32c-7.6-8.5-12.2-19.7-12.2-32s4.6-23.5 12.2-32z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zM443.3 92.7c-6.2-6.2-16.4-6.2-22.6 0c-12.5 12.5-23.8 15.1-37.5 17.6l-2.5 .4c-13.8 2.5-31.6 5.6-48 22c-16.7 16.7-20.9 36-24.1 50.9l0 0v0l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1c-9.2 9.2-18 10.8-32.7 13.4l0 0-.9 .2c-15.6 2.8-34.9 6.9-54.4 26.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22c16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1c9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4c6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17C233.9 6.1 248.6 0 264 0s30.1 6.1 41 17l15.8 15.8-288 288L17 305z\"]\n};\nvar faTransporterEmpty = {\n prefix: 'fas',\n iconName: 'transporter-empty',\n icon: [512, 512, [], \"e046\", \"M296 512h88c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h88 80z\"]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'fas',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M176 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8.4 32c-36.4 0-69.6 20.5-85.9 53.1L35.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L128 231.6v43.2c0 17 6.7 33.3 18.7 45.3L224 397.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V390.6c0-12.7-5.1-24.9-14.1-33.9L224 306.7V213.3l70.4 93.9c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8L268.8 166.4C250.7 142.2 222.2 128 192 128H167.6zM128.3 346.8L97 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l22-88.2-52.8-52.8zM450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L358.9 316.1c-2.8 3.8-6.1 7.3-10.1 10.3c-5 3.8-10.5 6.4-16.2 7.9L450.8 505.1z\"]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faAngle90 = {\n prefix: 'fas',\n iconName: 'angle-90',\n icon: [448, 512, [], \"e08d\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V64zM96 97.6v48.3c31 3.6 60.4 12.5 87.4 25.7l25.3-41.1C174.2 113 136.2 101.6 96 97.6zm115.2 89.7c32.6 21 60.5 48.9 81.5 81.5l40.9-25.2c-25-39-58.2-72.2-97.2-97.2l-25.2 40.9zM334.1 384h48.3c-4-40.2-15.4-78.2-32.9-112.6l-41.1 25.3c13.2 26.9 22 56.3 25.7 87.4z\"]\n};\nvar faRectangleTerminal = {\n prefix: 'fas',\n iconName: 'rectangle-terminal',\n icon: [512, 512, [], \"e236\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm102.3 55.8c-9 9.8-8.3 25 1.5 33.9L180.5 256l-76.7 70.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM248 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faKite = {\n prefix: 'fas',\n iconName: 'kite',\n icon: [640, 512, [129665], \"f6f4\", \"M344 0c-14.9 0-27.8 10.3-31.2 24.8l-80 344c-.4 1.7-.7 3.5-.8 5.2l-85.4 85.4c-2.9 2.9-6.9 4.6-11 4.6c-8.6 0-15.6-7-15.6-15.6V359.8l-24-12-24 12v88.6c0 35.1 28.5 63.6 63.6 63.6c16.9 0 33-6.7 45-18.6L266 407.9c1.8-.1 3.5-.4 5.2-.8l344-80c14.5-3.4 24.8-16.3 24.8-31.2V32c0-17.7-14.3-32-32-32H344zM24 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h8c22.1 0 40 17.9 40 40v68L18.7 257.4c-1.8-.9-3.8-1.4-5.8-1.4C5.8 256 0 261.8 0 268.9v70.1C0 346.2 5.8 352 12.9 352c2 0 4-.5 5.8-1.4L72 324v0l9.7-4.8c4.5-2.3 9.4-3.4 14.3-3.4l.5 0c3.5 .1 7 .7 10.4 1.9c1.2 .4 2.3 .9 3.4 1.5l0 0L120 324l53.3 26.6c1.8 .9 3.8 1.4 5.8 1.4c7.1 0 12.9-5.8 12.9-12.9V268.9c0-7.1-5.8-12.9-12.9-12.9c-2 0-4 .5-5.8 1.4L120 284V216c0-48.6-39.4-88-88-88H24zM427.3 84.7L480 137.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L502.6 160l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L480 182.6 363.3 299.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 160l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208V368c0 31.3 27.4 58.8 72 78.7V344c0-13.3 10.7-24 24-24s24 10.7 24 24V463.4c33 8.9 71.1 14.5 112 16.1V376c0-13.3 10.7-24 24-24s24 10.7 24 24V479.5c40.9-1.6 79-7.2 112-16.1V344c0-13.3 10.7-24 24-24s24 10.7 24 24V446.7c44.6-19.9 72-47.4 72-78.7V208c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM307.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6z\"]\n};\nvar faScrubber = {\n prefix: 'fas',\n iconName: 'scrubber',\n icon: [512, 512, [], \"f2f8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-320a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M367.1 160c.6-5.3 .9-10.6 .9-16C368 64.5 303.5 0 224 0S80 64.5 80 144c0 5.4 .3 10.7 .9 16H80c-26.5 0-48 21.5-48 48s21.5 48 48 48h53.5 181H368c26.5 0 48-21.5 48-48s-21.5-48-48-48h-.9zM96 288L200.8 497.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L352 288H96z\"]\n};\nvar faHeartCircleBolt = {\n prefix: 'fas',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9l2.6-2.4C267.2 438.6 256 404.6 256 368c0-97.2 78.8-176 176-176c28.3 0 55 6.7 78.7 18.5c.9-6.5 1.3-13 1.3-19.6v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFishBones = {\n prefix: 'fas',\n iconName: 'fish-bones',\n icon: [576, 512, [], \"e304\", \"M87.1 148.2c5.6 4.6 8.9 11.4 8.9 18.7V208h0v24h40V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72h48V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72h48V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72h40V130.9c0-16.9 17.1-28.4 31.8-20c16 9.1 30.6 19.7 43.7 30.7c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8c-13.1 11-27.7 21.6-43.7 30.7c-14.7 8.4-31.8-3.1-31.8-20V280H376v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H280v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H184v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H96v24h0v41.1c0 7.2-3.3 14.1-8.9 18.7l-48 38.9c-8.8 7.1-21.3 7.1-30.1 .1s-11.5-19.2-6.6-29.3L54.9 266.6c3.3-6.7 3.3-14.5 0-21.2L2.5 138.6c-5-10.1-2.2-22.3 6.6-29.3s21.3-7 30.1 .1l48 38.9z\"]\n};\nvar faDeerRudolph = {\n prefix: 'fas',\n iconName: 'deer-rudolph',\n icon: [576, 512, [], \"f78f\", \"M256 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 30.9 25.1 56 56 56h8 8 24l-50.4 12.6c-8 2-13.6 9.2-13.6 17.4c0 9.9 8 18 18 18h38l-9.6 32H196.3c-.8 0-1.7 0-2.5 0c-.6 0-1.2 0-1.7 0H128 113.9h-7.9C51.7 176 6.6 217.8 2.4 272L.1 302.2c-1 13.2 8.9 24.8 22.1 25.8c13 1 24.4-8.6 25.7-21.5c2.4 3.3 5.2 6.5 8.1 9.5c9 9 9 23.5 2.4 34.4c-17.4 28.6-21.5 63.9-10 96.3l15.5 44C68.4 503.4 80.5 512 94.1 512H128c22.1 0 37.5-21.8 30.2-42.6l-19.3-54.7c-2.2-6.2-.6-13 4-17.7l10.6-10.6c12.1-12.1 19.8-27.9 21.9-44.8c21 16.5 47.5 26.4 76.3 26.4H288V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V368 304l26.7-80H416h50.7c25 0 45.3-20.3 45.3-45.3c0-1.2 0-2.4-.1-3.6c2.6 .5 5.4 .8 8.1 .8c22.1 0 40-17.9 40-40s-17.9-40-40-40c-19.6 0-35.9 14.1-39.3 32.7L443.4 91.4c-.6-.6-1.1-1.1-1.7-1.6C459.7 80.4 472 61.7 472 40V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24H377.3 346.6c3.5-7.3 5.4-15.4 5.4-24V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24h-8-8c-13.3 0-24-10.7-24-24V16zM384 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M128 64v96h64V64H386.7L416 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L432 18.7C420 6.7 403.7 0 386.7 0H192c-35.3 0-64 28.7-64 64zM0 160V480c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm480 32H128V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM256 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M192 32h64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384l0 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-352H288V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H192c-88.4 0-160-71.6-160-160s71.6-160 160-160z\"]\n};\nvar faHeadSideHeart = {\n prefix: 'fas',\n iconName: 'head-side-heart',\n icon: [512, 512, [], \"e1aa\", \"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm112-35c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faSquareE = {\n prefix: 'fas',\n iconName: 'square-e',\n icon: [448, 512, [], \"e26d\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V256 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faMeterFire = {\n prefix: 'fas',\n iconName: 'meter-fire',\n icon: [640, 512, [], \"e1eb\", \"M256 512c33.6 0 65.7-6.5 95.1-18.3c-39-35.9-63.1-87.5-63.1-143.7c0-35.2 16.3-73.6 37.2-107.4c4.4-7.1 9.1-14.2 14.1-21.3C327.9 216.5 320 205.2 320 192V160c0-17.7 14.3-32 32-32s32 14.3 32 32v7.4c9-9.4 18.5-18.6 28.5-27.5C430.2 124 457.3 124 475 140c5.6 5.1 11.1 10.2 16.6 15.5C452.5 64.1 361.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512zM192 160v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm165.5 3.6c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8C332.7 291.3 320 325.6 320 352c0 87.8 70.3 159.8 160 159.8c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 432.9c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faCloudHail = {\n prefix: 'fas',\n iconName: 'cloud-hail',\n icon: [512, 512, [], \"f739\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm0 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCheckToSlot = {\n prefix: 'fas',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M96 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V384H96V80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48H64V416H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faVoteYea = faCheckToSlot;\nvar faMoneyFromBracket = {\n prefix: 'fas',\n iconName: 'money-from-bracket',\n icon: [640, 512, [], \"e312\", \"M64 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 43 43 0 96 0H544c53 0 96 43 96 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7-14.3-32-32-32H96C78.3 64 64 78.3 64 96zm64 0l384 0 0 352c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64l0-352zM256 448c0-35.3-28.7-64-64-64v64h64zm192-64c-35.3 0-64 28.7-64 64h64l0-64zM320 352c53 0 96-35.8 96-80s-43-80-96-80s-96 35.8-96 80s43 80 96 80z\"]\n};\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M288 0c-12.2 .1-23.3 7-28.6 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3L288 439.8V0zM429.9 512c1.1 .1 2.1 .1 3.2 0h-3.2z\"]\n};\nvar faCarBus = {\n prefix: 'fas',\n iconName: 'car-bus',\n icon: [640, 512, [], \"f85a\", \"M32 416H48v32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V416h64V352c0-32.8 16.5-61.8 41.6-79.1L249.9 224H208V96h88c13.3 0 24 10.7 24 24v16.4c13.2-5.4 27.7-8.4 42.6-8.4H384V74.5c0-16.2-9.2-31-23.7-38.3C312.8 12.4 260.3 0 207.1 0H176.9C123.7 0 71.2 12.4 23.7 36.2C9.2 43.4 0 58.2 0 74.5V384c0 17.7 14.3 32 32 32zM88 96h88V224H88c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm8 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm266.6-72H501.4c6.9 0 13 4.4 15.2 10.9L534.3 288H329.7l17.7-53.1c2.2-6.5 8.3-10.9 15.2-10.9zm-75.9-9.3l-26.6 79.7C238.8 304.7 224 326.6 224 352v96h0v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448H560v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32l0-32V352c0-25.4-14.8-47.3-36.1-57.6l-26.6-79.7C566.4 182 535.8 160 501.4 160H362.6c-34.4 0-65 22-75.9 54.7zM304 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSpeaker = {\n prefix: 'fas',\n iconName: 'speaker',\n icon: [384, 512, [], \"f8df\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM304 336A112 112 0 1 0 80 336a112 112 0 1 0 224 0zM192 272a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0-112a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTimer = {\n prefix: 'fas',\n iconName: 'timer',\n icon: [512, 512, [], \"e29e\", \"M256 0c-17.7 0-32 14.3-32 32V96c0 17.7 14.3 32 32 32s32-14.3 32-32V66.7C378.8 81.9 448 160.9 448 256c0 106-86 192-192 192S64 362 64 256c0-53.7 22-102.3 57.6-137.1c12.6-12.4 12.8-32.6 .5-45.3S89.5 60.8 76.8 73.1C29.5 119.6 0 184.4 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM193 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faBoxesStacked = {\n prefix: 'fas',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M248 0H208c-26.5 0-48 21.5-48 48V160c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V48c0-26.5-21.5-48-48-48H328V80c0 8.8-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V0zM64 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H184v80c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V256H64zM352 512H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H472v80c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V256H352c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2V464c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z\"]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faGrillHot = {\n prefix: 'fas',\n iconName: 'grill-hot',\n icon: [448, 512, [], \"e5a5\", \"M120 0c13.3 0 24 10.7 24 24v2.6c0 5.3 2.7 10.3 7.1 13.3l12.4 8.3C181.3 60 192 80 192 101.4V104c0 13.3-10.7 24-24 24s-24-10.7-24-24v-2.6c0-5.3-2.7-10.3-7.1-13.3l-12.4-8.3C106.7 68 96 48 96 26.6V24c0-13.3 10.7-24 24-24zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32c0 78.1-46.6 145.3-113.6 175.3l47.7 111.2c5.2 12.2-.4 26.3-12.6 31.5s-26.3-.4-31.5-12.6L327 472H155.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c3.4 0 6.8 .3 10.1 .8l7.5-17.5C46.6 337.3 0 270.1 0 192zM155.3 424H306.5l-18.3-42.7C277.7 383.1 267 384 256 384H192c-11 0-21.7-.9-32.2-2.7L147.5 410c3.2 4.3 5.8 9 7.8 14zM96 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM256 24v2.6c0 5.3 2.7 10.3 7.1 13.3l12.4 8.3C293.3 60 304 80 304 101.4V104c0 13.3-10.7 24-24 24s-24-10.7-24-24v-2.6c0-5.3-2.7-10.3-7.1-13.3l-12.4-8.3C218.7 68 208 48 208 26.6V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faBallotCheck = {\n prefix: 'fas',\n iconName: 'ballot-check',\n icon: [448, 512, [], \"f733\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112zm0 256c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368zm144 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM192 128c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 112H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-52.7-27.3c6.2 6.2 6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0l-24-24c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L96 249.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z\"]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'fas',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M398.3 3.4c-15.8-7.9-35-1.5-42.9 14.3c-7.9 15.8-1.5 34.9 14.2 42.9l.4 .2c.4 .2 1.1 .6 2.1 1.2c2 1.2 5 3 8.7 5.6c7.5 5.2 17.6 13.2 27.7 24.2C428.5 113.4 448 146 448 192c0 17.7 14.3 32 32 32s32-14.3 32-32c0-66-28.5-113.4-56.5-143.7C441.6 33.2 427.7 22.2 417.3 15c-5.3-3.7-9.7-6.4-13-8.3c-1.6-1-3-1.7-4-2.2c-.5-.3-.9-.5-1.2-.7l-.4-.2-.2-.1-.1 0 0 0c0 0 0 0-14.3 28.6L398.3 3.4zM128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78V400c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112v-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM192 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faFileMinus = {\n prefix: 'fas',\n iconName: 'file-minus',\n icon: [384, 512, [], \"f318\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM120 304H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTreeCity = {\n prefix: 'fas',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M288 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V192h40V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336c-26.5 0-48-21.5-48-48V48zm64 32v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368zM352 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm176-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H528zM512 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM224 160c0 6-1 11-2 16c20 14 34 38 34 64c0 45-36 80-80 80H160V480c0 18-15 32-32 32c-18 0-32-14-32-32V320H80c-45 0-80-35-80-80c0-26 13-50 33-64c-1-5-1-10-1-16c0-53 42-96 96-96c53 0 96 43 96 96z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1.8l18-48H303.8l18 48H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H390.2L254 52.8zM279.8 304H168.2L224 155.1 279.8 304z\"]\n};\nvar faCupTogo = {\n prefix: 'fas',\n iconName: 'cup-togo',\n icon: [448, 512, [\"coffee-togo\"], \"f6c5\", \"M55.2 17.7C60.6 6.8 71.7 0 83.8 0H364.2c12.1 0 23.2 6.8 28.6 17.7L416 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96S14.3 64 32 64L55.2 17.7zM74.7 453.8L48 160H400L373.3 453.8c-3 33-30.6 58.2-63.7 58.2H138.4c-33.1 0-60.7-25.2-63.7-58.2zM323.8 290.9c1.7-18.7-13.1-34.9-31.9-34.9H156c-18.8 0-33.6 16.2-31.9 34.9l8.7 96c1.5 16.5 15.3 29.1 31.9 29.1H283.2c16.6 0 30.4-12.6 31.9-29.1l8.7-96z\"]\n};\nvar faCoffeeTogo = faCupTogo;\nvar faSquareDownLeft = {\n prefix: 'fas',\n iconName: 'square-down-left',\n icon: [448, 512, [], \"e26b\", \"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm64-281.4V336c0 8.8 7.2 16 16 16H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L264 280l66.3-66.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-36.7-36.7C290 146 285.1 144 280 144s-10 2-13.7 5.7L200 216l-33.4-33.4c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6z\"]\n};\nvar faBurgerLettuce = {\n prefix: 'fas',\n iconName: 'burger-lettuce',\n icon: [512, 512, [], \"e3e3\", \"M32 194.9C32 211 45 224 61.1 224H450.9c16.1 0 29.1-13 29.1-29.1c0-1.9-.2-3.7-.6-5.6C474.1 168.3 433.2 32 256 32S37.9 168.3 32.6 189.3c-.5 1.9-.6 3.7-.6 5.6zM128 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm240 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM256 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM32 400v16c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V400c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zm48-48c24.6 0 44.2-11.8 56.2-19c.9-.5 1.7-1 2.5-1.5c13.7-8.1 20.8-11.5 29.3-11.5c7.7 0 12.3 2.5 25.4 10.9l.2 .1c13 8.3 32.6 21 62.4 21c29.7 0 48.6-12.6 61-20.9l.8-.5c11.6-7.7 16.6-10.6 26.2-10.6c10.5 0 17.9 3.7 30.2 11.3c.9 .5 1.8 1.1 2.8 1.7c11.4 7.1 30.3 19 55 19c21.5 0 38.4-5.4 50.3-11.4c5.9-3 10.5-6 13.9-8.5c1.7-1.3 3.1-2.4 4.1-3.3c.5-.5 1-.9 1.4-1.2l.5-.5 .2-.2 .1-.1 0 0 0 0c0 0 0 0-22.6-22.6l22.6 22.6c12.5-12.5 12.5-32.8 0-45.3c-12.3-12.3-32-12.5-44.5-.7l-.3 .2c-.6 .5-2 1.4-4.1 2.5c-4.1 2-11.2 4.6-21.7 4.6c-5.2 0-9.2-2-24.2-11.3C394.1 268.3 373.5 256 344 256c-29.7 0-48.6 12.6-61 20.9l-.8 .5C270.6 285.1 265.7 288 256 288c-10 0-16.1-3.2-28-10.9l-1.8-1.1c-11.9-7.7-30.8-20-58.3-20c-27.7 0-48.4 12.3-61.6 20.2l-.5 .3C90.7 285.6 85.6 288 80 288c-10.5 0-17.6-2.6-21.7-4.6c-2.1-1-3.5-2-4.1-2.5l-.3-.2c-12.5-11.8-32.3-11.6-44.5 .7c-12.5 12.5-12.5 32.8 0 45.3l22.4-22.4C9.4 326.6 9.4 326.6 9.4 326.6l0 0 0 0 .1 .1 .2 .2 .5 .5c.4 .4 .8 .8 1.4 1.2c1.1 .9 2.4 2.1 4.1 3.3c3.4 2.5 8 5.6 13.9 8.5C41.6 346.6 58.5 352 80 352z\"]\n};\nvar faRupiahSign = {\n prefix: 'fas',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256zm256-96h80c61.9 0 112 50.1 112 112s-50.1 112-112 112H352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 192c0-17.7 14.3-32 32-32zm80 160c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96h48z\"]\n};\nvar faMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'fas',\n iconName: 'table-tennis-paddle-ball',\n icon: [640, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M480 288c-50.1 0-93.6 28.8-114.6 70.8L132.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0c67.1 67.1 82.7 166.3 46.8 248.3C535.8 297.6 509 288 480 288zM113.3 151.9L354.1 392.7c-1.4 7.5-2.1 15.3-2.1 23.3c0 23.2 6.2 44.9 16.9 63.7c-3 .2-6.1 .3-9.2 .3H357c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L152.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32c-6.3-6.3-9.7-14.9-9.4-23.8s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8c-24-24-37.5-56.6-37.5-90.5v-2.7c0-22.8 6.1-44.9 17.3-64.3zM480 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'fas',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M288 176A88 88 0 1 0 288 0a88 88 0 1 0 0 176zM78.7 372.9c15-12.5 50-34.4 97.3-50.1V432H400V322.7c47.3 15.8 82.3 37.7 97.3 50.1c20.4 17 50.6 14.2 67.6-6.1s14.2-50.6-6.1-67.6c-12-10-30.1-22.5-53.2-35C497.2 278.4 481.7 288 464 288c-26.5 0-48-21.5-48-48c0-4.3 .6-8.4 1.6-12.4C379.1 215.9 335.3 208 288 208c-60.2 0-114.9 12.9-160 29.9c0 .7 0 1.4 0 2.1c0 26.5-21.5 48-48 48c-11.8 0-22.7-4.3-31-11.4c-13.1 8.1-23.7 15.9-31.7 22.5c-20.4 17-23.1 47.2-6.1 67.6s47.2 23.1 67.6 6.1zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM224 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 240a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm368 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faChevronsDown = {\n prefix: 'fas',\n iconName: 'chevrons-down',\n icon: [512, 512, [\"chevron-double-down\"], \"f322\", \"M278.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-192-192c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L256 402.7 425.4 233.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-192 192zm192-384l-192 192c-12.5 12.5-32.8 12.5-45.3 0l-192-192c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L256 210.7 425.4 41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z\"]\n};\nvar faChevronDoubleDown = faChevronsDown;\nvar faTrashCanArrowUp = {\n prefix: 'fas',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faSignalGood = {\n prefix: 'fas',\n iconName: 'signal-good',\n icon: [640, 512, [\"signal-3\"], \"f68e\", \"M320 192c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faSignal3 = faSignalGood;\nvar faLocationQuestion = {\n prefix: 'fas',\n iconName: 'location-question',\n icon: [384, 512, [\"map-marker-question\"], \"f60b\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM105.8 133.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 232.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V218.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMapMarkerQuestion = faLocationQuestion;\nvar faFloppyDiskCircleXmark = {\n prefix: 'fas',\n iconName: 'floppy-disk-circle-xmark',\n icon: [576, 512, [\"floppy-disk-times\", \"save-circle-xmark\", \"save-times\"], \"e181\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-17.6-21.4-30.3-46.9-36.3-75c-10.2 6.9-22.6 11-35.9 11c-35.3 0-64-28.7-64-64s28.7-64 64-64c16.8 0 32.1 6.5 43.6 17.1C292.9 239 357 192 432 192c5.4 0 10.7 .2 16 .7V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFloppyDiskTimes = faFloppyDiskCircleXmark;\nvar faSaveCircleXmark = faFloppyDiskCircleXmark;\nvar faSaveTimes = faFloppyDiskCircleXmark;\nvar faNairaSign = {\n prefix: 'fas',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M122.6 46.3c-7.8-11.7-22.4-17-35.9-12.9S64 49.9 64 64V256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H228.2l97.2 145.8c7.8 11.7 22.4 17 35.9 12.9s22.7-16.5 22.7-30.6V320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H384V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V256H262.5L122.6 46.3zM305.1 320H320v22.3L305.1 320zM185.5 256H128V169.7L185.5 256z\"]\n};\nvar faPeach = {\n prefix: 'fas',\n iconName: 'peach',\n icon: [512, 512, [], \"e20b\", \"M344 80c-31.5 0-61.4 7.3-88 20.4C229.4 87.3 199.5 80 168 80c-11.4 0-22.6 1-33.5 2.8C120.5 67.2 112 46.6 112 24c0-13.3 10.7-24 24-24h24c53 0 96 43 96 96c0-53 43-96 96-96h24c13.3 0 24 10.7 24 24c0 22.6-8.5 43.2-22.5 58.8C366.6 81 355.4 80 344 80zM168 112c17.8 0 34.9 2.8 50.9 7.9c63 20 109.9 76.2 116.3 144.2c.8 8.8 7.9 16 16.8 16s16.1-7.2 15.4-16c-4.6-58.2-34.2-109.5-78-143c.8-.2 1.5-.5 2.3-.7c16.5-5.4 34-8.3 52.3-8.3c92.8 0 168 75.2 168 168c0 136.2-199.3 214.6-240.6 229.4c-5 1.8-10.1 2.6-15.4 2.6s-10.4-.8-15.4-2.6C199.3 494.6 0 416.2 0 280c0-92.8 75.2-168 168-168z\"]\n};\nvar faTaxiBus = {\n prefix: 'fas',\n iconName: 'taxi-bus',\n icon: [640, 512, [], \"e298\", \"M48 416H32c-17.7 0-32-14.3-32-32V74.5c0-16.2 9.2-31 23.7-38.3C71.2 12.4 123.7 0 176.9 0h30.3c53.2 0 105.6 12.4 153.2 36.2C374.8 43.4 384 58.2 384 74.5V96c-21.9 0-40.4 14.7-46.2 34.8c-6.1 1.4-12.1 3.3-17.8 5.6V120c0-13.3-10.7-24-24-24H208V224h41.9l-16.3 48.9C208.5 290.2 192 319.2 192 352v64H128v32c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V416zM64 120v80c0 13.3 10.7 24 24 24h88V96H88c-13.3 0-24 10.7-24 24zm56 200a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM368 152c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v8h5.4c34.4 0 65 22 75.9 54.7l26.6 79.7C625.2 304.7 640 326.6 640 352l0 96v32c0 17.7-14.3 32-32 32H592c-17.7 0-32-14.3-32-32V448H304v32c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V448h0V352c0-25.4 14.8-47.3 36.1-57.6l26.6-79.7C297.6 182 328.2 160 362.6 160H368v-8zm-20.6 82.9L329.7 288H534.3l-17.7-53.1c-2.2-6.5-8.3-10.9-15.2-10.9H362.6c-6.9 0-13 4.4-15.2 10.9zM328 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBracketCurly = {\n prefix: 'fas',\n iconName: 'bracket-curly',\n icon: [256, 512, [\"bracket-curly-left\"], \"7b\", \"M64 128c0-53 43-96 96-96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32 14.3-32 32v37.5c0 25.5-10.1 49.9-28.1 67.9L77.3 256l22.6 22.6c18 18 28.1 42.4 28.1 67.9V384c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-53 0-96-43-96-96V346.5c0-8.5-3.4-16.6-9.4-22.6L9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l45.3-45.3c6-6 9.4-14.1 9.4-22.6V128z\"]\n};\nvar faBracketCurlyLeft = faBracketCurly;\nvar faLobster = {\n prefix: 'fas',\n iconName: 'lobster',\n icon: [512, 512, [129438], \"e421\", \"M80 8.2c0-3.7-2.5-6.9-6.1-7.5C70.7 .3 67.4 0 64 0C28.7 0 0 28.7 0 64v64c0 35.3 28.7 64 64 64l.7 0 41.8 27.9C126.2 233 149.4 240 173.1 240H192v16H143.1c-7.5 0-14.8-1.7-21.5-5.1L87.2 233.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l34.5 17.2c11.1 5.6 23.4 8.4 35.8 8.4H192v16H122.4c-5.2 0-10.3-.8-15.2-2.5L69.1 288.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l38.1 12.7c8.2 2.7 16.7 4.1 25.3 4.1H192v16H175.1c-12.4 0-24.7 2.9-35.8 8.4l-18.5 9.2c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l18.5-9.2c6.7-3.3 14-5.1 21.5-5.1H192l21.4 64.1c-29.8 1.8-53.4 26.5-53.4 56.8c0 3.9 3.2 7.1 7.1 7.1H344.9c3.9 0 7.1-3.2 7.1-7.1c0-30.2-23.6-55-53.4-56.8L320 384h16.9c7.4 0 14.8 1.7 21.5 5.1l18.5 9.2c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-18.5-9.2c-11.1-5.6-23.4-8.4-35.8-8.4H320V336h69.6c8.6 0 17.1-1.4 25.3-4.1l38.1-12.7c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-38.1 12.7c-4.9 1.6-10 2.5-15.2 2.5H320V288h48.9c12.4 0 24.7-2.9 35.8-8.4l34.5-17.2c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-34.5 17.2c-6.7 3.3-14 5.1-21.5 5.1H320V240h18.9c23.7 0 46.9-7 66.6-20.2L447.3 192l.7 0c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64c-3.4 0-6.7 .3-9.9 .8c-3.6 .6-6.1 3.8-6.1 7.5V72c0 7.7-9.8 11-14.4 4.8L397.4 49.9c-3.7-4.9-11.2-3.9-12.3 2.1c-.7 3.9-1.1 7.9-1.1 11.9v64c0 14.9 5.1 28.6 13.6 39.4l-18.7 12.5C367 187.8 353.1 192 338.9 192H314.2c-2.7-7.3-6.2-14-10.2-20.2V80.7c0-15.6 11.3-29 26.7-31.6l7.9-1.3c8.7-1.5 14.6-9.7 13.2-18.4s-9.7-14.6-18.4-13.2l-7.9 1.3C294.6 22.7 272 49.4 272 80.7V138c-3.1-2.3-6.2-4.4-9-6.1c-4.3-2.6-9.7-2.6-13.9 0c-2.8 1.7-5.9 3.8-9 6.1V80.7c0-31.3-22.6-58-53.5-63.1l-7.9-1.3c-8.7-1.5-17 4.4-18.4 13.2s4.4 17 13.2 18.4l7.9 1.3C196.7 51.7 208 65 208 80.7v91.1c-4 6.2-7.5 13-10.2 20.2H173.1c-14.2 0-28.1-4.2-39.9-12.1l-18.7-12.5c8.5-10.9 13.6-24.6 13.6-39.4V64c0-4.1-.4-8.1-1.1-11.9c-1.1-6-8.6-7.1-12.3-2.1L94.4 76.8C89.8 83 80 79.7 80 72V8.2z\"]\n};\nvar faCartFlatbedEmpty = {\n prefix: 'fas',\n iconName: 'cart-flatbed-empty',\n icon: [640, 512, [\"dolly-flatbed-empty\"], \"f476\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H541.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H253.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32z\"]\n};\nvar faDollyFlatbedEmpty = faCartFlatbedEmpty;\nvar faColon = {\n prefix: 'fas',\n iconName: 'colon',\n icon: [192, 512, [], \"3a\", \"M96 192A64 64 0 1 0 96 64a64 64 0 1 0 0 128zm0 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32H360V134.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V32H120.1C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faWand = {\n prefix: 'fas',\n iconName: 'wand',\n icon: [512, 512, [], \"f72a\", \"M497 7c-9-9-23.5-9.4-33-.9L189.3 251.9c-2.9 2.6-6.7 4.1-10.7 4.1H144c-8.8 0-16 7.2-16 16v27.6c0 4.6-1.9 8.9-5.3 11.9L11.1 411.3C4 417.7 0 426.7 0 436.2c0 8.8 3.5 17.3 9.7 23.5l42.6 42.6c6.2 6.2 14.7 9.8 23.5 9.8c9.5 0 18.5-4 24.8-11.1L372.3 197.3c3-3.4 7.4-5.3 11.9-5.3H400c8.8 0 16-7.2 16-16V154.6c0-3.9 1.5-7.7 4.1-10.7L505.9 48c8.5-9.5 8.1-24-.9-33l-8-8z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'fas',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H48C21.5 96 0 117.5 0 144V300.1c0 12.7 5.1 24.9 14.1 33.9l3.9 3.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V371.9c0-12.7 5.1-24.9 14.1-33.9l3.9-3.9c9-9 14.1-21.2 14.1-33.9V144c0-26.5-21.5-48-48-48H320c0-17.7-14.3-32-32-32s-32 14.3-32 32H224c0-17.7-14.3-32-32-32s-32 14.3-32 32H112V24zm0 136H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFilePen = {\n prefix: 'fas',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V285.7l-86.8 86.8c-10.3 10.3-17.5 23.1-21 37.2l-18.7 74.9c-2.3 9.2-1.8 18.8 1.3 27.5H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.3-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\"]\n};\nvar faTablePicnic = {\n prefix: 'fas',\n iconName: 'table-picnic',\n icon: [512, 512, [], \"e32d\", \"M319.3 64H192.7c-.5 0-1 0-1.5 0H96C78.3 64 64 78.3 64 96s14.3 32 32 32h48.7l-38.4 96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H80.7h68.9H362.3h68.9H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H405.7l-38.4-96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320.7c-.5 0-1 0-1.5 0zM444.1 320H375.1l43.2 107.9c6.6 16.4 25.2 24.4 41.6 17.8s24.4-25.2 17.8-41.6L444.1 320zm-307.2 0H67.9L34.3 404.1c-6.6 16.4 1.4 35 17.8 41.6s35-1.4 41.6-17.8L136.9 320zm38.4-96l38.4-96h84.7l38.4 96H175.3z\"]\n};\nvar faSquarePen = {\n prefix: 'fas',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM325.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faCircleMicrophoneLines = {\n prefix: 'fas',\n iconName: 'circle-microphone-lines',\n icon: [512, 512, [\"microphone-circle-alt\"], \"e117\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 96c-26.5 0-48 21.5-48 48V256c0 26.5 21.5 48 48 48s48-21.5 48-48V240H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V176H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c0-26.5-21.5-48-48-48zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 65.3 48.9 119.1 112 127v17c0 8.8 7.2 16 16 16s16-7.2 16-16V383c63.1-7.9 112-61.7 112-127V240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53-43 96-96 96s-96-43-96-96V240z\"]\n};\nvar faMicrophoneCircleAlt = faCircleMicrophoneLines;\nvar faDisplaySlash = {\n prefix: 'fas',\n iconName: 'display-slash',\n icon: [640, 512, [\"desktop-slash\"], \"e2fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-70.5-55.2c27.4-7.2 47.6-32.2 47.6-61.9V64c0-35.3-28.7-64-64-64H96C79.6 0 64.6 6.2 53.2 16.4L38.8 5.1zM113.9 64H544V352H481.4L113.9 64zM32 352c0 35.3 28.7 64 64 64H272l-10.7 32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H448c17.7 0 32-14.3 32-32c0-2.1-.2-4.1-.6-6.1L446.6 448H378.7L368 416h38l-81.2-64H96V171.8L32 121.4V352z\"]\n};\nvar faDesktopSlash = faDisplaySlash;\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72H144V56zm176 72H288V56c0-30.9-25.1-56-56-56H152C121.1 0 96 25.1 96 56v72H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64c0 17.7 14.3 32 32 32s32-14.3 32-32H256c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64zM112 224H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPersonCircleExclamation = {\n prefix: 'fas',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faTransporter2 = {\n prefix: 'fas',\n iconName: 'transporter-2',\n icon: [512, 512, [], \"e044\", \"M56.7 6.6C55.6 2.7 52.1 0 48 0s-7.6 2.7-8.7 6.6L32 32 6.6 39.3C2.7 40.4 0 43.9 0 48s2.7 7.6 6.6 8.7L32 64l7.3 25.4C40.4 93.3 43.9 96 48 96s7.6-2.7 8.7-6.6L64 64l25.4-7.3C93.3 55.6 96 52.1 96 48s-2.7-7.6-6.6-8.7L64 32 56.7 6.6zM256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM128 512h88 80 88c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32zM399.4 224l-48.1-60c-18.2-22.7-45.8-36-74.9-36H235.7c-29.1 0-56.7 13.2-74.9 36l-48.1 60H399.4zM480 352l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 352zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faHandsHoldingDiamond = {\n prefix: 'fas',\n iconName: 'hands-holding-diamond',\n icon: [640, 512, [\"hand-receiving\"], \"f47c\", \"M297.4 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zM80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faHandReceiving = faHandsHoldingDiamond;\nvar faMoneyBillSimpleWave = {\n prefix: 'fas',\n iconName: 'money-bill-simple-wave',\n icon: [576, 512, [], \"e1f2\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm368 96H96V320H448V192z\"]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faBellPlus = {\n prefix: 'fas',\n iconName: 'bell-plus',\n icon: [448, 512, [], \"f849\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7zM224 152c13.3 0 24 10.7 24 24v40h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264H160c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V176c0-13.3 10.7-24 24-24z\"]\n};\nvar faBookArrowRight = {\n prefix: 'fas',\n iconName: 'book-arrow-right',\n icon: [640, 512, [], \"e0b9\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V232H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H448V32c0-17.7-14.3-32-32-32H384 96zM448 184v48H248c-13.3 0-24-10.7-24-24s10.7-24 24-24H448zM96 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faHospitals = {\n prefix: 'fas',\n iconName: 'hospitals',\n icon: [576, 512, [], \"f80e\", \"M304 0c-26.5 0-48 21.5-48 48V64c35.3 0 64 28.7 64 64V480c0 11.7-3.1 22.6-8.6 32H528c26.5 0 48-21.5 48-48V384H464c-8.8 0-16-7.2-16-16s7.2-16 16-16H576V288H464c-8.8 0-16-7.2-16-16s7.2-16 16-16H576V48c0-26.5-21.5-48-48-48H304zM408 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H456v24c0 8.8-7.2 16-16 16H424c-8.8 0-16-7.2-16-16V168H384c-8.8 0-16-7.2-16-16V136c0-8.8 7.2-16 16-16h24V96zM0 144V384H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v48c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H48C21.5 96 0 117.5 0 144zm120 48c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H168v24c0 8.8-7.2 16-16 16H136c-8.8 0-16-7.2-16-16V264H96c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16h24V192z\"]\n};\nvar faClub = {\n prefix: 'fas',\n iconName: 'club',\n icon: [512, 512, [9827], \"f327\", \"M380 160.1c2.6-10.2 4-21 4-32.1C384 57.3 326.7 0 256 0S128 57.3 128 128c0 11.1 1.4 21.8 4 32.1c-1.3 0-2.7-.1-4-.1C57.3 160 0 217.3 0 288s57.3 128 128 128c38.2 0 72.5-16.8 96-43.3V448H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V372.7c23.5 26.6 57.8 43.3 96 43.3c70.7 0 128-57.3 128-128s-57.3-128-128-128c-1.4 0-2.7 0-4 .1z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M368 128c0 44.4-25.4 83.5-64 106.4V256c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V234.4c-38.6-23-64-62.1-64-106.4C80 57.3 144.5 0 224 0s144 57.3 144 128zM168 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM3.4 273.7c7.9-15.8 27.1-22.2 42.9-14.3L224 348.2l177.7-88.8c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L295.6 384l134.8 67.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L224 419.8 46.3 508.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9L152.4 384 17.7 316.6C1.9 308.7-4.5 289.5 3.4 273.7z\"]\n};\nvar faDropletDegree = {\n prefix: 'fas',\n iconName: 'droplet-degree',\n icon: [512, 512, [\"dewpoint\"], \"f748\", \"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM464 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faDewpoint = faDropletDegree;\nvar faCodeCompare = {\n prefix: 'fas',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v40h16c35.3 0 64-28.7 64-64V153.3C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V320c0 70.7-57.3 128-128 128H320v40zM456 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V128H176c-35.3 0-64 28.7-64 64V358.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V192c0-70.7 57.3-128 128-128h16V24zM56 432a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM64 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faListDots = faListUl;\nvar faHandHoldingMagic = {\n prefix: 'fas',\n iconName: 'hand-holding-magic',\n icon: [576, 512, [], \"f6e5\", \"M192 80c0 8.8 7.2 16 16 16h80c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-44.2 0-80-35.8-80-80s35.8-80 80-80H320c70.7 0 128 57.3 128 128s-57.3 128-128 128H288c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32h64c35.3 0 64-28.7 64-64s-28.7-64-64-64H208c-8.8 0-16 7.2-16 16zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faWatermelonSlice = {\n prefix: 'fas',\n iconName: 'watermelon-slice',\n icon: [512, 512, [], \"e337\", \"M41 391c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c96.9 96.9 97.1 253.6 .3 350.4S137.9 487.9 41 391zm22.3-22.3c84.4 84.4 221.1 84.4 305.5 0c84.2-84.2 84.4-220.7 .3-305.1l-4.3-4.3c-6.2-6.2-16.4-6.2-22.6 0L59.3 342.2c-6.2 6.2-6.2 16.4 0 22.6l4 4zm245.4-220c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6zm-80 80c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6zm88 8c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6zm-168 72c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6zm88 8c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faCircleEllipsis = {\n prefix: 'fas',\n iconName: 'circle-ellipsis',\n icon: [512, 512, [], \"e10a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSchoolLock = {\n prefix: 'fas',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V272c0-61.9-50.1-112-112-112s-112 50.1-112 112v24.6c-19.1 11.1-32 31.7-32 55.4H320.3l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm240-72a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm16-120v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 96c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTowerCell = {\n prefix: 'fas',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M62.6 2.3C46.2-4.3 27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84C86.9 27.6 79 9 62.6 2.3zm450.8 0C497 9 489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108C548.4 3.6 529.8-4.3 513.4 2.3zM340.1 165.2c7.5-10.5 11.9-23.3 11.9-37.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.9 4.4 26.7 11.9 37.2L98.9 466.8c-7.3 16.1-.2 35.1 15.9 42.4s35.1 .2 42.4-15.9L177.7 448H398.3l20.6 45.2c7.3 16.1 26.3 23.2 42.4 15.9s23.2-26.3 15.9-42.4L340.1 165.2zM369.2 384H206.8l14.5-32H354.7l14.5 32zM288 205.3L325.6 288H250.4L288 205.3zM163.3 73.6c5.3-12.1-.2-26.3-12.4-31.6s-26.3 .2-31.6 12.4C109.5 77 104 101.9 104 128s5.5 51 15.3 73.6c5.3 12.1 19.5 17.7 31.6 12.4s17.7-19.5 12.4-31.6C156 165.8 152 147.4 152 128s4-37.8 11.3-54.4zM456.7 54.4c-5.3-12.1-19.5-17.7-31.6-12.4s-17.7 19.5-12.4 31.6C420 90.2 424 108.6 424 128s-4 37.8-11.3 54.4c-5.3 12.1 .2 26.3 12.4 31.6s26.3-.2 31.6-12.4C466.5 179 472 154.1 472 128s-5.5-51-15.3-73.6z\"]\n};\nvar faSdCards = {\n prefix: 'fas',\n iconName: 'sd-cards',\n icon: [448, 512, [], \"e240\", \"M384 0H237.3C220.3 0 204 6.7 192 18.7L114.7 96c-12 12-18.7 28.3-18.7 45.3V352c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM280 64c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zm80 0c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faJugBottle = {\n prefix: 'fas',\n iconName: 'jug-bottle',\n icon: [640, 512, [], \"e5fb\", \"M120 0C106.7 0 96 10.7 96 24V48H88C74.7 48 64 58.7 64 72s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V24c0-13.3-10.7-24-24-24H120zm8 128C57.3 128 0 185.3 0 256V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V256c0-70.7-57.3-128-128-128H128zm160 96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zM472 64c-13.3 0-24 10.7-24 24v40H576V88c0-13.3-10.7-24-24-24H472zM416.4 392.4c-.1 .1-.2 .1-.4 .2V448c0 16.9-4.3 32.7-12 46.5c11.5 10.9 27 17.5 44 17.5H576c35.3 0 64-28.7 64-64c0-24.1-13.3-45.1-33-56c19.7-10.9 33-31.9 33-56c0-23.5-12.6-44-31.5-55.1c18.7-10.1 31.5-29.9 31.5-52.7c0-23.2-13.4-44.3-34.4-54.2l-13.2-6.2c-11-5.1-23-7.8-35.1-7.8H466.7c-12.1 0-24.1 2.7-35.1 7.8L418.4 174c-6.9 3.2-13 7.7-18 13c10 20.9 15.6 44.3 15.6 69V391.4c.3 .2 .7 .4 1 .6c-.2 .1-.4 .2-.6 .4z\"]\n};\nvar faDownLong = {\n prefix: 'fas',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M2 334.5c-3.8 8.8-2 19 4.6 26l136 144c4.5 4.8 10.8 7.5 17.4 7.5s12.9-2.7 17.4-7.5l136-144c6.6-7 8.4-17.2 4.6-26s-12.5-14.5-22-14.5l-72 0 0-288c0-17.7-14.3-32-32-32L128 0C110.3 0 96 14.3 96 32l0 288-72 0c-9.6 0-18.2 5.7-22 14.5z\"]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faEnvelopes = {\n prefix: 'fas',\n iconName: 'envelopes',\n icon: [576, 512, [], \"e170\", \"M316.7 249.6c5.6 4.1 12.4 6.4 19.3 6.4s13.7-2.2 19.3-6.4l220-163C570.8 55.7 544.2 32 512 32H160c-32.2 0-58.8 23.7-63.3 54.7l220 163zm57.7 25.7C363.3 283.6 349.8 288 336 288s-27.3-4.4-38.4-12.7L96 126V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V126L374.4 275.3zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faPhoneOffice = {\n prefix: 'fas',\n iconName: 'phone-office',\n icon: [576, 512, [], \"f67d\", \"M128 0C110.3 0 96 14.3 96 32V384c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H128zM64 32C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H256V384c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V32zm256 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V128zm32 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm160-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM480 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faRankingStar = {\n prefix: 'fas',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M353.8 54.1L330.2 6.3c-3.9-8.3-16.1-8.6-20.4 0L286.2 54.1l-52.3 7.5c-9.3 1.4-13.3 12.9-6.4 19.8l38 37-9 52.1c-1.4 9.3 8.2 16.5 16.8 12.2l46.9-24.8 46.6 24.4c8.6 4.3 18.3-2.9 16.8-12.2l-9-52.1 38-36.6c6.8-6.8 2.9-18.3-6.4-19.8l-52.3-7.5zM256 256c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H256zM32 320c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zm416 96v64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H480c-17.7 0-32 14.3-32 32z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M224 0c17.7 0 32 14.3 32 32V48h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H256v48H408c22.1 0 40 17.9 40 40c0 5.3-1 10.5-3.1 15.4L368 400H80L3.1 215.4C1 210.5 0 205.3 0 200c0-22.1 17.9-40 40-40H192V112H176c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V32c0-17.7 14.3-32 32-32zM38.6 473.4L80 432H368l41.4 41.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H54.6C42.1 512 32 501.9 32 489.4c0-6 2.4-11.8 6.6-16z\"]\n};\nvar faNfcPen = {\n prefix: 'fas',\n iconName: 'nfc-pen',\n icon: [576, 512, [], \"e1fa\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V235.6l-64 64V144c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v66.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V144c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16V331.6L299.6 384H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H275.1c-1 2.6-1.9 5.3-2.6 8.1l-14 55.9H64c-35.3 0-64-28.7-64-64V96zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPersonHarassing = {\n prefix: 'fas',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM59.4 304.5L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V235.3l47.4 57.1c11.3 13.6 31.5 15.5 45.1 4.2s15.5-31.5 4.2-45.1l-73.7-88.9c-18.2-22-45.3-34.7-73.9-34.7H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9zM480 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM464 344v58.7l-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L408.8 438l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9V344c0-30.9-25.1-56-56-56s-56 25.1-56 56zM288 48c0 8.8 7.2 16 16 16h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm-.8 49.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-48-24z\"]\n};\nvar faHatWinter = {\n prefix: 'fas',\n iconName: 'hat-winter',\n icon: [512, 512, [], \"f7a8\", \"M279.9 22.2C279 9.8 268.7 0 256 0s-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C185.8 57 176 67.3 176 80s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C233 150.2 243.3 160 256 160s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C326.2 103 336 92.7 336 80s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2zM0 480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM216.4 175.6c-14.2 0-28.4-5.4-39.3-16.1c-62.7 27.1-98.6 85.4-118.9 139.6c4.2 1.6 8.9 1.4 13-.6l35.4-17.7c13.5-6.8 29.4-6.8 42.9 0l35.4 17.7c4.5 2.3 9.8 2.3 14.3 0l35.4-17.7c13.5-6.8 29.4-6.8 42.9 0l35.4 17.7c4.5 2.3 9.8 2.3 14.3 0l35.4-17.7c13.5-6.8 29.4-6.8 42.9 0l35.4 17.7c4.1 2 8.8 2.2 13 .6c-20.3-54.2-56.2-112.5-118.9-139.6c-10.9 10.7-25.1 16.1-39.3 16.1C285.5 185.7 271.5 192 256 192s-29.5-6.3-39.6-16.4zM48.1 329.5C34.3 377.5 32 416 32 416H480s-2.3-38.5-16.1-86.5c-12.2 4.3-25.6 3.5-37.3-2.4l-35.4-17.7c-4.5-2.3-9.8-2.3-14.3 0l-35.4 17.7c-13.5 6.8-29.4 6.8-42.9 0l-35.4-17.7c-4.5-2.3-9.8-2.3-14.3 0l-35.4 17.7c-13.5 6.8-29.4 6.8-42.9 0l-35.4-17.7c-4.5-2.3-9.8-2.3-14.3 0L85.5 327.2c-11.7 5.8-25.2 6.6-37.3 2.4z\"]\n};\nvar faBrazilianRealSign = {\n prefix: 'fas',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c17.7 0 32 14.3 32 32V50.2c12.5 2.3 24.7 6.4 36.2 12.1l10.1 5.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-10.2-5.1c-9.9-5-20.9-7.5-32-7.5h-1.7c-29.8 0-53.9 24.1-53.9 53.9c0 22 13.4 41.8 33.9 50l52 20.8c44.7 17.9 74.1 61.2 74.1 109.4v3.4c0 51.2-33.6 94.6-80 109.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V460.6c-15-3.5-29.4-9.7-42.3-18.3l-23.4-15.6c-14.7-9.8-18.7-29.7-8.9-44.4s29.7-18.7 44.4-8.9L361.2 389c10.8 7.2 23.4 11 36.3 11c27.9 0 50.5-22.6 50.5-50.5v-3.4c0-22-13.4-41.8-33.9-50l-52-20.8C317.3 257.4 288 214.1 288 165.9C288 114 321.5 70 368 54.2V32c0-17.7 14.3-32 32-32zM0 64C0 46.3 14.3 32 32 32h80c79.5 0 144 64.5 144 144c0 58.8-35.2 109.3-85.7 131.7l51.4 128.4c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8L106.3 320H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 64zM64 256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H64V256z\"]\n};\nvar faLandmarkDome = {\n prefix: 'fas',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M248 0h16c13.3 0 24 10.7 24 24V34.7C368.4 48.1 431.9 111.6 445.3 192H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h2.7C80.1 111.6 143.6 48.1 224 34.7V24c0-13.3 10.7-24 24-24zM64 288h64V416h40V288h64V416h48V288h64V416h40V288h64V420.3c.6 .3 1.2 .7 1.7 1.1l48 32c11.7 7.8 17 22.4 12.9 35.9S494.1 512 480 512H32c-14.1 0-26.5-9.2-30.6-22.7s1.1-28.1 12.9-35.9l48-32c.6-.4 1.2-.7 1.8-1.1V288z\"]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faBoneBreak = {\n prefix: 'fas',\n iconName: 'bone-break',\n icon: [640, 512, [], \"f5d8\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM201 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L201 71zM473 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48zM143.9 223.8C129.3 204.5 106.1 192 80 192c-44.2 0-80 35.8-80 80c0 35.8 23.5 66.1 55.9 76.3c4.6 1.5 8.3 5.1 9.3 9.8s-1.1 9.5-4.8 12.6C43.1 385.5 32 407.5 32 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-11.9 7-23.8 18.6-26.1L320 384l109.4 21.9C441 408.2 448 420.1 448 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-24.5-11.1-46.5-28.5-61.2c-3.7-3.1-5.7-7.9-4.8-12.6s4.7-8.4 9.3-9.8C616.5 338.1 640 307.8 640 272c0-44.2-35.8-80-80-80c-26.1 0-49.3 12.5-63.9 31.8c-10.1 13.3-25.7 23.8-42.1 20.5l-70.6-14.1c-17.3-3.5-34.2 7.8-37.7 25.1L320 384 294.3 255.4c-3.5-17.3-20.3-28.6-37.7-25.1L186 244.4c-16.4 3.3-32.1-7.2-42.1-20.5z\"]\n};\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"]\n};\nvar faDownFromDottedLine = {\n prefix: 'fas',\n iconName: 'down-from-dotted-line',\n icon: [448, 512, [], \"e407\", \"M73.9 345.9L196.7 468.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3L374.1 345.9c6.4-6.4 9.9-15 9.9-24c0-18.7-15.2-33.9-33.9-33.9H288V160c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32V288H97.9C79.2 288 64 303.2 64 321.9c0 9 3.6 17.6 9.9 24zM32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM256 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM448 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 64V352H576V64H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faBorderLeft = {\n prefix: 'fas',\n iconName: 'border-left',\n icon: [448, 512, [], \"f84f\", \"M32 480c-17.7 0-32-14.3-32-32L0 64C0 46.3 14.3 32 32 32s32 14.3 32 32l0 384c0 17.7-14.3 32-32 32zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM320 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faCircleDivide = {\n prefix: 'fas',\n iconName: 'circle-divide',\n icon: [512, 512, [], \"e106\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM168 232H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faShrimp = {\n prefix: 'fas',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M64 32C28.7 32 0 60.7 0 96s28.7 64 64 64h1c3.7 88.9 77 160 167 160h56V128H264 88.8 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zM224 456c0 13.3 10.7 24 24 24h72V407.8l-64.1-22.4c-12.5-4.4-26.2 2.2-30.6 14.7s2.2 26.2 14.7 30.6l4.5 1.6C233 433.9 224 443.9 224 456zm128 23.3c36.4-3.3 69.5-17.6 96.1-39.6l-86.5-34.6c-3 1.8-6.2 3.2-9.6 4.3v69.9zM472.6 415c24.6-30.3 39.4-68.9 39.4-111c0-12.3-1.3-24.3-3.7-35.9L382.8 355.1c.8 3.4 1.2 7 1.2 10.6c0 4.6-.7 9-1.9 13.1L472.6 415zM336 128H320V320h18.3c9.9 0 19.1 3.2 26.6 8.5l133.5-92.4C471.8 172.6 409.1 128 336 128zM168 192a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faListCheck = {\n prefix: 'fas',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faTasks = faListCheck;\nvar faDiagramSubtask = {\n prefix: 'fas',\n iconName: 'diagram-subtask',\n icon: [512, 512, [], \"e479\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H160v96c0 17.7 14.3 32 32 32h32c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H288c-35.3 0-64-28.7-64-64H192c-53 0-96-43-96-96V224H64c-35.3 0-64-28.7-64-64V96zM448 352H288v64H448V352z\"]\n};\nvar faJugDetergent = {\n prefix: 'fas',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm256 0v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faCircleUser = {\n prefix: 'fas',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M399 384.2C376.9 345.8 335.4 320 288 320H224c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faSquareY = {\n prefix: 'fas',\n iconName: 'square-y',\n icon: [448, 512, [], \"e287\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm74.1 120.3L224 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L248 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L101.9 183.7c-8.7-10-7.6-25.2 2.4-33.9s25.2-7.6 33.9 2.4z\"]\n};\nvar faUserDoctorHair = {\n prefix: 'fas',\n iconName: 'user-doctor-hair',\n icon: [448, 512, [], \"e458\", \"M304 144c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16h31.8c28.9 0 55.8-15.2 70.6-40l5.3 5.3C265 89 280.8 95.7 297.3 96c4.3 9.8 6.7 20.6 6.7 32v16zM224 0C153.3 0 96 57.3 96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0zm64 320l-1.3 0H161.3l-1.3 0v50.3c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V323.4C54.9 338.8 0 403.6 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-77.7-54.9-142.5-128-157.8V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V320zM168 424a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faPlanetRinged = {\n prefix: 'fas',\n iconName: 'planet-ringed',\n icon: [512, 512, [129680], \"e020\", \"M319.7 319.7C456.6 182.8 539.1 43.3 503.9 8.1C481.7-14 418.3 10.4 340.2 65.7C314.4 54.3 286 48 256 48C141.1 48 48 141.1 48 256c0 30 6.3 58.4 17.7 84.2C10.4 418.3-14 481.7 8.1 503.9c35.2 35.2 174.7-47.3 311.6-184.2zM256 464c114.9 0 208-93.1 208-208c0-16.1-1.8-31.8-5.3-46.9c-31.8 42.6-71.4 88.2-116.4 133.2s-90.6 84.6-133.2 116.4c15.1 3.5 30.7 5.3 46.9 5.3z\"]\n};\nvar faMushroom = {\n prefix: 'fas',\n iconName: 'mushroom',\n icon: [512, 512, [127812], \"e425\", \"M24 258.1C24 133.2 125.2 32 250.1 32h11.8C386.8 32 488 133.2 488 258.1c0 34.2-27.7 61.9-61.9 61.9H313 199 85.9C51.7 320 24 292.3 24 258.1zm387.5-96.7c-3.7-.9-7.5-1.4-11.5-1.4c-26.5 0-48 21.5-48 48s21.5 48 48 48c15.9 0 30-7.7 38.7-19.6c-3.3-27.4-12.9-52.9-27.2-75zM145.9 113.6c8 35.7 39.9 62.4 78.1 62.4c44.2 0 80-35.8 80-80c0-3.8-.3-7.5-.8-11.2C290 81.7 276.1 80 261.9 80H250.1c-38.9 0-74.9 12.5-104.2 33.6zM191 352H321L343 440.2c2.4 9.6 .2 19.7-5.8 27.5s-15.4 12.3-25.2 12.3H200c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5L191 352zM160 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3H178.3zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z\"]\n};\nvar faMegaphone = {\n prefix: 'fas',\n iconName: 'megaphone',\n icon: [576, 512, [128227], \"f675\", \"M544 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM64 190.3L480 64V448L348.9 408.2C338.2 449.5 300.7 480 256 480c-53 0-96-43-96-96c0-11 1.9-21.7 5.3-31.5L64 321.7C63.1 338.6 49.1 352 32 352c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32c17.1 0 31.1 13.4 32 30.3zm239 203.9l-91.6-27.8c-2.1 5.4-3.3 11.4-3.3 17.6c0 26.5 21.5 48 48 48c23 0 42.2-16.2 46.9-37.8z\"]\n};\nvar faWreathLaurel = {\n prefix: 'fas',\n iconName: 'wreath-laurel',\n icon: [640, 512, [], \"e5d2\", \"M144 112C144 50.1 194.1 0 256 0h16c8.8 0 16 7.2 16 16V32c0 60.2-47.5 109.3-107 111.9c-23.9 32.2-37 71.5-37 112.1c0 97.2 78.8 176 176 176h11.6c43.5 0 86.3 10.1 125.2 29.6l9.9 5c11.9 5.9 16.7 20.3 10.7 32.2s-20.3 16.7-32.2 10.7l-9.9-5C403.1 488.4 367.6 480 331.6 480H320 308.4c-36 0-71.5 8.4-103.8 24.5l-9.9 5c-11.9 5.9-26.3 1.1-32.2-10.7s-1.1-26.3 10.7-32.2l9.9-5c8.3-4.2 16.8-7.9 25.4-11.2c-5.6-3.2-11-6.7-16.3-10.3c-59.6 28.2-131.9 6.3-165.4-51.8l-8-13.9c-4.4-7.7-1.8-17.4 5.9-21.9c13.8-8 28.4-13.1 43.3-15.5C27.5 315.6 0 273 0 224V208c0-8.8 7.2-16 16-16c15.9 0 31.1 2.9 45.2 8.2c-24.3-38.8-26.8-89.5-2.3-131.9l8-13.9c4.4-7.7 14.2-10.3 21.9-5.9C115 63.7 133.8 86.8 144 113v-1zm315 31.9C399.5 141.3 352 92.2 352 32V16c0-8.8 7.2-16 16-16h16c61.9 0 112 50.1 112 112v1c10.2-26.2 29-49.2 55.3-64.4c7.7-4.4 17.4-1.8 21.9 5.9l8 13.9c24.5 42.4 21.9 93.1-2.3 131.9c14.1-5.3 29.3-8.2 45.2-8.2c8.8 0 16 7.2 16 16v16c0 49-27.5 91.6-68 113.1c14.8 2.4 29.5 7.5 43.3 15.5c7.7 4.4 10.3 14.2 5.9 21.9l-8 13.9c-24.2 42-68.7 65.1-114 64c-4.8-5.8-10.9-10.8-18.1-14.4l-9.9-5c-2.8-1.4-5.7-2.8-8.6-4.1c-10.4-4.8-21-9-31.8-12.6c-7.9-2.7-15.9-5-24-7C460 378.9 496 321.7 496 256c0-40.6-13.1-79.9-37-112.1z\"]\n};\nvar faCircleExclamationCheck = {\n prefix: 'fas',\n iconName: 'circle-exclamation-check',\n icon: [640, 512, [], \"e10d\", \"M506.5 203L480 229.5l-18.7-18.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5l64 64c11.9 11.9 27.4 18.2 43 18.7c-44.3 76.5-127 128-221.8 128C114.6 512 0 397.4 0 256S114.6 0 256 0C379.2 0 482.1 87 506.5 203zM280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM625 209L497 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 32c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32 14.3-32 32zM128 512h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faBoxDollar = {\n prefix: 'fas',\n iconName: 'box-dollar',\n icon: [448, 512, [\"box-usd\"], \"f4a0\", \"M93.7 32H208V160H0L50.7 58.5C58.9 42.3 75.5 32 93.7 32zM240 32H354.3c18.2 0 34.8 10.3 42.9 26.5L448 160H240V32zM0 192H448V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm244 40c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5l0 0c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V440c0 11 9 20 20 20s20-9 20-20V426.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V232z\"]\n};\nvar faBoxUsd = faBoxDollar;\nvar faCarBurst = {\n prefix: 'fas',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2c11.3-16.3 26.4-28.9 43.5-37.2c-.4-.6-.8-1.2-1.3-1.8c-4.1-5.1-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74C188.4 12 182.6 8 176 8zM367.7 161.5l135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30l-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zm-17 131a24 24 0 1 1 -12.4 46.4 24 24 0 1 1 12.4-46.4zm217.9 83.2A24 24 0 1 1 545 358.1a24 24 0 1 1 -46.4-12.4z\"]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'fas',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M58 45.4C47.8 31 27.8 27.7 13.4 38S-4.3 68.2 6 82.6L160 298.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V298.3L378 82.6c10.3-14.4 6.9-34.4-7.4-44.6S336.2 31 326 45.4L192 232.9 58 45.4z\"]\n};\nvar faUserHeadset = {\n prefix: 'fas',\n iconName: 'user-headset',\n icon: [448, 512, [], \"f82d\", \"M224 32C135.6 32 64 103.6 64 192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192C32 86 118 0 224 0S416 86 416 192v16c0 61.9-50.1 112-112 112H240 224 208c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32h32c44.2 0 80-35.8 80-80V192c0-88.4-71.6-160-160-160zM96 192c0-70.7 57.3-128 128-128s128 57.3 128 128c0 13.9-2.2 27.3-6.3 39.8C337.4 246.3 321.8 256 304 256h-8.6c-11.1-19.1-31.7-32-55.4-32H208c-35.3 0-64 28.7-64 64c0 1.4 0 2.7 .1 4C114.8 268.6 96 232.5 96 192zM224 352h16 64 9.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352H208h16z\"]\n};\nvar faArrowsRetweet = {\n prefix: 'fas',\n iconName: 'arrows-retweet',\n icon: [640, 512, [\"retweet-alt\"], \"f361\", \"M150.6 73.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L96 173.3V320c0 53 43 96 96 96H304c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32-14.3-32-32V173.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96zM336 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H448c17.7 0 32 14.3 32 32V338.7l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L544 338.7V192c0-53-43-96-96-96H336z\"]\n};\nvar faRetweetAlt = faArrowsRetweet;\nvar faPersonSnowboarding = {\n prefix: 'fas',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H443.8c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9c-5.6-16.8 3.5-34.9 20.2-40.5L192 264.9l0-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM139 350.1l159 60.9c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44 0 18.8c0 20.7-13.2 39-32.8 45.5L139 350.1zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faSquareChevronRight = {\n prefix: 'fas',\n iconName: 'square-chevron-right',\n icon: [448, 512, [\"chevron-square-right\"], \"f32b\", \"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM313 273L209 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L313 239c9.4 9.4 9.4 24.6 0 33.9z\"]\n};\nvar faChevronSquareRight = faSquareChevronRight;\nvar faLacrosseStickBall = {\n prefix: 'fas',\n iconName: 'lacrosse-stick-ball',\n icon: [576, 512, [], \"e3b6\", \"M336 64v0c.1 0 .2 0 .3 0c19.9 0 48.1 13.6 73.1 38.6s38.6 53.2 38.6 73.1c0 .1 0 .2 0 .3h0c0 33.1-21.9 62.1-53.7 71.2l-11.5 3.3c-19.6 5.6-37.9 15.1-53.9 27.8L294 306.2c-11.1 8.9-25 13.8-39.2 13.8c-34.7 0-62.8-28.1-62.8-62.8c0-14.3 4.9-28.1 13.8-39.2l27.9-34.9c12.8-15.9 22.2-34.3 27.8-53.9l3.3-11.5C273.9 85.9 302.9 64 336 64zm0-64V0C274.4 0 220.2 40.9 203.3 100.1L200 111.7c-3.3 11.5-8.8 22.2-16.2 31.5l-27.9 34.9c-18 22.5-27.8 50.4-27.8 79.2c0 23.4 6.3 45.3 17.4 64.1l-136 136c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l136-136c18.8 11.1 40.7 17.4 64.1 17.4c28.8 0 56.7-9.8 79.2-27.8l34.9-27.9c9.3-7.4 20-13 31.5-16.2l11.5-3.3C471.1 291.8 512 237.6 512 176h0c0-.1 0-.2 0-.3c0-43.8-26.4-87.4-57.3-118.4S380.1 0 336.3 0c-.1 0-.2 0-.3 0zM496 512a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faTruckFast = {\n prefix: 'fas',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M112 0C85.5 0 64 21.5 64 48V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 272c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 240c8.8 0 16 7.2 16 16s-7.2 16-16 16H64 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 208c8.8 0 16 7.2 16 16s-7.2 16-16 16H64V416c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H112zM544 237.3V256H416V160h50.7L544 237.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faShippingFast = faTruckFast;\nvar faUserMagnifyingGlass = {\n prefix: 'fas',\n iconName: 'user-magnifying-glass',\n icon: [640, 512, [], \"e5c5\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-.8 0-1.5 0-2.3c-88.4 0-160-71.6-160-160c0-5.1 .2-10.1 .7-15c-6.2-.7-12.6-1-19-1H178.3zM448 240.1a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208c26.7 0 51.4-8.2 71.9-22.1L599 505.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-79.1-79.1c14-20.5 22.1-45.3 22.1-71.9c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faStarSharp = {\n prefix: 'fas',\n iconName: 'star-sharp',\n icon: [576, 512, [], \"e28b\", \"M310.9 16.7C307.7 6.8 298.5 0 288 0s-19.7 6.8-22.9 16.7L214.5 176H56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L172.1 320.7 121.1 480.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7L288 406.4 417.3 506.9c8.3 6.5 19.8 6.8 28.5 .7s12.3-16.9 9.1-27L403.9 320.7 534.7 218.9c8.1-6.3 11.3-17 8-26.7s-12.4-16.2-22.7-16.2H361.5L310.9 16.7z\"]\n};\nvar faCommentHeart = {\n prefix: 'fas',\n iconName: 'comment-heart',\n icon: [512, 512, [], \"e5c8\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM144 205.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faCircle1 = {\n prefix: 'fas',\n iconName: 'circle-1',\n icon: [512, 512, [], \"e0ee\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM268 131.2c-7.4-4.3-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L232 193.4V336H192c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V152c0-8.6-4.6-16.5-12-20.8z\"]\n};\nvar faCircleStar = {\n prefix: 'fas',\n iconName: 'circle-star',\n icon: [512, 512, [\"star-circle\"], \"e123\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 104c-6.1 0-11.7 3.5-14.3 8.9l-36.2 73.4-81 11.8c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.8 1.2L256 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.9-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81.1-11.8-36.2-73.4c-2.7-5.5-8.3-8.9-14.3-8.9z\"]\n};\nvar faStarCircle = faCircleStar;\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCloudFog = {\n prefix: 'fas',\n iconName: 'cloud-fog',\n icon: [640, 512, [127787, \"fog\"], \"f74e\", \"M160 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2c-1.3-6.7-1.9-13.7-1.9-20.8C128 50.1 178.1 0 240 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H160zM0 392c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm64 96c0-13.3 10.7-24 24-24H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zm208 0c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24z\"]\n};\nvar faFog = faCloudFog;\nvar faWaffle = {\n prefix: 'fas',\n iconName: 'waffle',\n icon: [512, 512, [129479], \"e466\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM160 80c-8.8 0-16 7.2-16 16v48H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V368h64v80c0 8.8 7.2 16 16 16s16-7.2 16-16V368h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V368h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V176h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H272V64c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H176V96c0-8.8-7.2-16-16-16zm16 256V272h64v64H176zm96 0V272h64v64H272zm64-160v64H272V176h64zm-96 0v64H176V176h64z\"]\n};\nvar faMusicNote = {\n prefix: 'fas',\n iconName: 'music-note',\n icon: [384, 512, [\"music-alt\"], \"f8cf\", \"M384 32c0-9.9-4.5-19.2-12.3-25.2S353.8-1.4 344.2 1l-128 32C202 36.5 192 49.3 192 64v64V359.7c-14.5-4.9-30.8-7.7-48-7.7c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V153L359.8 127C374 123.5 384 110.7 384 96V32z\"]\n};\nvar faMusicAlt = faMusicNote;\nvar faHexagonExclamation = {\n prefix: 'fas',\n iconName: 'hexagon-exclamation',\n icon: [512, 512, [], \"e417\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCartShoppingFast = {\n prefix: 'fas',\n iconName: 'cart-shopping-fast',\n icon: [640, 512, [], \"e0dc\", \"M88 0C74.7 0 64 10.7 64 24s10.7 24 24 24h45.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H263.7c-11.5 0-21.4-8.2-23.6-19.5L234.7 288H523.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C640.6 57 621.4 32 595.1 32h-411C175 12.8 155.6 0 133.5 0H88zM240 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM24 96C10.7 96 0 106.7 0 120s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 80c-13.3 0-24 10.7-24 24s10.7 24 24 24h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faObjectUnion = {\n prefix: 'fas',\n iconName: 'object-union',\n icon: [512, 512, [], \"e49f\", \"M64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h96v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M219.3 .5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V160c0 70.7-57.3 128-128 128s-128-57.3-128-128V102.9L48 93.3v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3s-7.6 5.9-12.4 5.9H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64C0 52.6 8.1 42.7 19.3 40.5l200-40zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z\"]\n};\nvar faStarfighter = {\n prefix: 'fas',\n iconName: 'starfighter',\n icon: [640, 512, [], \"e037\", \"M353.8 14L384 256V464c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V256L286.2 14c1-8 7.8-14 15.9-14h35.8c8.1 0 14.9 6 15.9 14zM288 256v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256c0-17.7-14.3-32-32-32s-32 14.3-32 32zM48 72c13.3 0 24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V352h56V320c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32 64 32 32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-9.6L72 444v4c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24zm544 0c13.3 0 24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24v-4l-88 26.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V448 416 352 320c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32h56V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24z\"]\n};\nvar faCircleHalfStroke = {\n prefix: 'fas',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M448 256c0-106-86-192-192-192V448c106 0 192-86 192-192zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faArrowRightLongToLine = {\n prefix: 'fas',\n iconName: 'arrow-right-long-to-line',\n icon: [640, 512, [], \"e3d5\", \"M640 96V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32zM502.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 288 32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l370.7 0-73.4-73.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l128 128z\"]\n};\nvar faSquareArrowDown = {\n prefix: 'fas',\n iconName: 'square-arrow-down',\n icon: [448, 512, [\"arrow-square-down\"], \"f339\", \"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm177-87L353 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L207 393c9.4 9.4 24.6 9.4 33.9 0z\"]\n};\nvar faArrowSquareDown = faSquareArrowDown;\nvar faDiamondHalfStroke = {\n prefix: 'fas',\n iconName: 'diamond-half-stroke',\n icon: [512, 512, [], \"e5b8\", \"M256 78.5L433.5 256 256 433.5V78.5zm28.3-66.8c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"]\n};\nvar faClapperboard = {\n prefix: 'fas',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M448 32H361.9l-1 1-127 127h92.1l1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128V96c0-15.1-5.3-29.1-14-40l-104 104H512zM294.1 32H201.9l-1 1L73.9 160h92.1l1-1 127-127zM64 32C28.7 32 0 60.7 0 96v64H6.1l1-1 127-127H64zM512 192H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192z\"]\n};\nvar faSquareChevronLeft = {\n prefix: 'fas',\n iconName: 'square-chevron-left',\n icon: [448, 512, [\"chevron-square-left\"], \"f32a\", \"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM135 239L239 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L135 273c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faChevronSquareLeft = faSquareChevronLeft;\nvar faPhoneIntercom = {\n prefix: 'fas',\n iconName: 'phone-intercom',\n icon: [512, 512, [], \"e434\", \"M48 32H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80C0 53.5 21.5 32 48 32zM160 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V96zM320 368a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48-48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zM224 128v96c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"]\n};\nvar faLinkHorizontal = {\n prefix: 'fas',\n iconName: 'link-horizontal',\n icon: [640, 512, [\"chain-horizontal\"], \"e1cb\", \"M144.6 64C64.7 64 0 128.7 0 208.6c0 70.7 51.1 131 120.8 142.6l1.9 .3c17.4 2.9 33.9-8.9 36.8-26.3s-8.9-33.9-26.3-36.8l-1.9-.3C92.5 281.6 64 248 64 208.6c0-44.5 36.1-80.6 80.6-80.6H303.4c44.5 0 80.6 36.1 80.6 80.6c0 39.4-28.5 73-67.4 79.5l-1.9 .3c-17.4 2.9-29.2 19.4-26.3 36.8s19.4 29.2 36.8 26.3l1.9-.3c69.7-11.6 120.8-72 120.8-142.6C448 128.7 383.3 64 303.4 64H144.6zM495.4 448C575.3 448 640 383.3 640 303.4c0-70.7-51.1-131-120.8-142.6l-1.9-.3c-17.4-2.9-33.9 8.9-36.8 26.3s8.9 33.9 26.3 36.8l1.9 .3c38.9 6.5 67.4 40.1 67.4 79.5c0 44.5-36.1 80.6-80.6 80.6H336.6c-44.5 0-80.6-36.1-80.6-80.6c0-39.4 28.5-73 67.4-79.5l1.9-.3c17.4-2.9 29.2-19.4 26.3-36.8s-19.4-29.2-36.8-26.3l-1.9 .3C243.1 172.4 192 232.7 192 303.4C192 383.3 256.7 448 336.6 448H495.4z\"]\n};\nvar faChainHorizontal = faLinkHorizontal;\nvar faMango = {\n prefix: 'fas',\n iconName: 'mango',\n icon: [512, 512, [], \"e30f\", \"M344 0h8 24 8 56c39.8 0 72 32.2 72 72c0 13.3-10.7 24-24 24H448c-33.4 0-62.8-17-80-42.9v49c32.2 8.3 62.6 25 87.8 50.2C493.3 189.7 512 238.9 512 288c0 76.6-57.5 224-224 224c-144 0-244.1-43.3-244.1-43.3C10.3 457.6-7.9 421.4 3.3 387.9C7.4 375.4 15 365 24.7 357.5c34.3-25.7 52.1-57.6 71.2-91.8c20.6-36.8 42.6-76.3 88.4-113.5C221.7 114.7 270.9 96 320 96V24c0-13.3 10.7-24 24-24zm88 304c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 53-43 96-96 96c-8.8 0-16 7.2-16 16s7.2 16 16 16c70.7 0 128-57.3 128-128z\"]\n};\nvar faMusicNoteSlash = {\n prefix: 'fas',\n iconName: 'music-note-slash',\n icon: [640, 512, [\"music-alt-slash\"], \"f8d0\", \"M512 32c0-9.9-4.5-19.2-12.3-25.2S481.8-1.4 472.2 1l-128 32C330 36.5 320 49.3 320 64v64 97.5L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L384 275.7V153L487.8 127C502 123.5 512 110.7 512 96V32zM272 352c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V411.2L317.8 359c-14-4.5-29.5-7-45.8-7z\"]\n};\nvar faMusicAltSlash = faMusicNoteSlash;\nvar faCircleRadiation = {\n prefix: 'fas',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faFaceTongueSweat = {\n prefix: 'fas',\n iconName: 'face-tongue-sweat',\n icon: [576, 512, [], \"e39e\", \"M544 256c0 112.9-73.1 208.7-174.5 242.8C378.7 484 384 466.6 384 448V416.7c10.2-7.2 16-15.7 16-24.7c0-26.5-50.1-48-112-48s-112 21.5-112 48c0 9 5.8 17.5 16 24.7V448c0 18.6 5.3 36 14.5 50.8c-41.3-13.9-78-38-106.9-69.4C116.9 415 128 393.5 128 369c0-11.4-3.8-22.4-7.1-30.5c-3.7-8.7-8.4-17.6-13.2-25.7C98.1 296.7 87 281.3 80 272.1c-11.6-15.6-31.7-19.9-48-12.8c0-1.1 0-2.2 0-3.3C32 114.6 146.6 0 288 0S544 114.6 544 256zM96 369c0 14.2-6.4 26.9-16.5 35.5C71 411.7 60 416 48 416c-26.5 0-48-21-48-47c0-17.3 21.4-50 35.7-69.7c2.2-3 4.2-5.8 5.9-8.1c3.2-4.4 9.6-4.4 12.8 0C67.6 308.6 96 349 96 369zm239.6-97a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm19.7-155.3c-6.2-6.2-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4c6.2-6.2 6.2-16.4 0-22.6zm121.4 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM352 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6z\"]\n};\nvar faGlobeStand = {\n prefix: 'fas',\n iconName: 'globe-stand',\n icon: [448, 512, [], \"f5f6\", \"M15 367c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l18.5-18.5c34.3 27.7 74.9 43.8 116.5 48.3V464H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V430.7c49.1-5.3 96.8-26.7 134.4-64.3c81.7-81.7 87.1-211 16.1-298.9L401 49c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L332.5 49.6c-9.4 9.4-9.4 24.6 0 33.9c68.7 68.7 68.7 180.2 0 248.9s-180.2 68.7-248.9 0c-9.4-9.4-24.6-9.4-33.9 0L15 367zm193-15a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faBaseball = {\n prefix: 'fas',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M62.7 223.4c-4.8 .4-9.7 .6-14.7 .6c-15.6 0-30.8-2-45.2-5.9C19.2 107.1 107.1 19.2 218.1 2.8C222 17.2 224 32.4 224 48c0 4.9-.2 9.8-.6 14.7c-.7 8.8 5.8 16.5 14.6 17.3s16.5-5.8 17.3-14.6c.5-5.7 .7-11.5 .7-17.3c0-16.5-1.9-32.6-5.6-47.9c1.8 0 3.7-.1 5.6-.1C397.4 0 512 114.6 512 256c0 1.9 0 3.7-.1 5.6c-15.4-3.6-31.4-5.6-47.9-5.6c-5.8 0-11.6 .2-17.3 .7c-8.8 .7-15.4 8.5-14.6 17.3s8.5 15.4 17.3 14.6c4.8-.4 9.7-.6 14.7-.6c15.6 0 30.8 2 45.2 5.9C492.8 404.9 404.9 492.8 293.9 509.2C290 494.8 288 479.6 288 464c0-4.9 .2-9.8 .6-14.7c.7-8.8-5.8-16.5-14.6-17.3s-16.5 5.8-17.3 14.6c-.5 5.7-.7 11.5-.7 17.3c0 16.5 1.9 32.6 5.6 47.9c-1.8 0-3.7 .1-5.6 .1C114.6 512 0 397.4 0 256c0-1.9 0-3.7 .1-5.6C15.4 254.1 31.5 256 48 256c5.8 0 11.6-.2 17.3-.7c8.8-.7 15.4-8.5 14.6-17.3s-8.5-15.4-17.3-14.6zM121.3 208c-8 3.7-11.6 13.2-7.9 21.2s13.2 11.6 21.2 7.9c45.2-20.8 81.7-57.2 102.5-102.5c3.7-8 .2-17.5-7.9-21.2s-17.5-.2-21.2 7.9c-17.6 38.3-48.5 69.2-86.7 86.7zm277.2 74.7c-3.7-8-13.2-11.6-21.2-7.9c-45.2 20.8-81.7 57.2-102.5 102.5c-3.7 8-.2 17.5 7.9 21.2s17.5 .2 21.2-7.9c17.6-38.3 48.5-69.2 86.7-86.7c8-3.7 11.6-13.2 7.9-21.2z\"]\n};\nvar faBaseballBall = faBaseball;\nvar faCircleP = {\n prefix: 'fas',\n iconName: 'circle-p',\n icon: [512, 512, [], \"e11a\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H208v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152c0-13.3 10.7-24 24-24zm92 136c24.3 0 44-19.7 44-44s-19.7-44-44-44H208v88h68z\"]\n};\nvar faAwardSimple = {\n prefix: 'fas',\n iconName: 'award-simple',\n icon: [384, 512, [], \"e0ab\", \"M173.3 5.3c11.5-7 26-7 37.5 0l17.9 10.9c5.9 3.6 12.7 5.4 19.6 5.2l20.9-.5c13.5-.3 26 6.9 32.5 18.7l10 18.4c3.3 6.1 8.3 11 14.3 14.3l18.4 10c11.8 6.5 19.1 19 18.7 32.5l-.5 20.9c-.2 6.9 1.7 13.7 5.2 19.6l10.9 17.9c7 11.5 7 26 0 37.5l-10.9 17.9c-3.6 5.9-5.4 12.7-5.2 19.6l.5 20.9c.3 13.5-6.9 26-18.7 32.5l-18.4 10c-6.1 3.3-11 8.3-14.3 14.3l-10 18.4c-6.5 11.8-19 19.1-32.5 18.7l-20.9-.5c-6.9-.2-13.7 1.7-19.6 5.2l-17.9 10.9c-11.5 7-26 7-37.5 0l-17.9-10.9c-5.9-3.6-12.7-5.4-19.6-5.2l-20.9 .5c-13.5 .3-26-6.9-32.5-18.7L72.4 326c-3.3-6.1-8.3-11-14.3-14.3l-18.4-10c-11.8-6.5-19.1-19-18.7-32.5l.5-20.9c.2-6.9-1.7-13.7-5.2-19.6L5.3 210.7c-7-11.5-7-26 0-37.5l10.9-17.9c3.6-5.9 5.4-12.7 5.2-19.6l-.5-20.9c-.3-13.5 6.9-26 18.7-32.5L58 72.4c6.1-3.3 11-8.3 14.3-14.3l10-18.4c6.5-11.8 19-19.1 32.5-18.7l20.9 .5c6.9 .2 13.7-1.7 19.6-5.2L173.3 5.3zM272 192a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM64.4 492.4L88 390c8.9 3.7 18.6 5.6 28.6 5.4l20.7-.5c.2 0 .4 .1 .6 .2l17.6 10.7c22.4 13.6 50.5 13.6 72.9 0L246.1 395c.2-.1 .4-.2 .6-.2l20.7 .5c10 .2 19.7-1.7 28.6-5.4l23.6 102.4c1.3 5.5-.5 11.3-4.6 15.2s-10 5.3-15.4 3.8L192 480.6 84.4 511.4c-5.4 1.6-11.3 .1-15.4-3.8s-5.8-9.7-4.6-15.2z\"]\n};\nvar faJetFighterUp = {\n prefix: 'fas',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M270.7 9.7C268.2 3.8 262.4 0 256 0s-12.2 3.8-14.7 9.7L197.2 112.6c-3.4 8-5.2 16.5-5.2 25.2v77l-144 84V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v56 32 24c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H192v32.7L133.5 468c-3.5 3-5.5 7.4-5.5 12v16c0 8.8 7.2 16 16 16h96V448c0-8.8 7.2-16 16-16s16 7.2 16 16v64h96c8.8 0 16-7.2 16-16V480c0-4.6-2-9-5.5-12L320 416.7V384H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V368 336 280c0-13.3-10.7-24-24-24s-24 10.7-24 24v18.8l-144-84v-77c0-8.7-1.8-17.2-5.2-25.2L270.7 9.7z\"]\n};\nvar faDiagramProject = {\n prefix: 'fas',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V96H384V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V160H192v16c0 1.7-.1 3.4-.3 5L272 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336c0-1.7 .1-3.4 .3-5L144 224H48c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faPedestal = {\n prefix: 'fas',\n iconName: 'pedestal',\n icon: [448, 512, [], \"e20d\", \"M96 0C60.7 0 32 28.7 32 64V416H416V64c0-35.3-28.7-64-64-64H96zm24 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM304 88a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faChartPyramid = {\n prefix: 'fas',\n iconName: 'chart-pyramid',\n icon: [512, 512, [], \"e0e6\", \"M290.6 59.7c-15.4-26.5-53.7-26.5-69.1 0L163 160H349L290.6 59.7zM69.6 320H442.4L367.7 192H144.3L69.6 320zM51 352L11.4 419.8C-4.2 446.5 15.1 480 45.9 480H466.1c30.9 0 50.1-33.5 34.6-60.2L461 352H51z\"]\n};\nvar faSidebar = {\n prefix: 'fas',\n iconName: 'sidebar',\n icon: [512, 512, [], \"e24e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 0V416H448V96H224zM88 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM64 216c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm24 72c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"]\n};\nvar faSnowmanHead = {\n prefix: 'fas',\n iconName: 'snowman-head',\n icon: [448, 512, [\"frosty-head\"], \"f79b\", \"M64 64C64 28.7 92.7 0 128 0H320c35.3 0 64 28.7 64 64v96H224 64V64zM330.2 192H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H390.3c16.3 28.2 25.7 61 25.7 96c0 59.8-27.4 113.3-70.3 148.5c-9.7 8-22.3 11.5-34.9 11.5H137.2c-12.6 0-25.1-3.5-34.9-11.5C59.4 465.3 32 411.8 32 352c0-35 9.3-67.8 25.7-96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h85.8H330.2zM152 336a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm168-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM219.3 445.2c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l23.8-46.3c2.3-4.5 3.5-9.6 3.5-14.7c0-17.7-14.3-32.2-32-32.2s-32 14.5-32 32.2c0 5.1 1.2 10.2 3.5 14.7l23.8 46.3z\"]\n};\nvar faFrostyHead = faSnowmanHead;\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [512, 512, [], \"f0c5\", \"M272 0H396.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128H192v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z\"]\n};\nvar faBurgerGlass = {\n prefix: 'fas',\n iconName: 'burger-glass',\n icon: [640, 512, [], \"e0ce\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H272c-10-13.4-16-30-16-48c0-14.7 6.6-27.8 17-36.6c-10.5-11.4-17-26.6-17-43.4c0-18.5 7.8-35.1 20.3-46.8c-12.4-10.9-20.3-26.9-20.3-44.8c0-6.3 1-13.8 4.4-21.5c5.5-12.5 20.5-40.4 52.7-65.3c16.2-12.5 36.3-23.8 60.9-32l10-139.4c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM73.2 160L66.4 64H317.6l-6.9 96H73.2zM640 292.3c0-3-.5-5.9-1.7-8.6c-8.1-18.4-48.4-91.9-174.3-91.9s-166.2 73.5-174.3 91.9c-1.2 2.7-1.7 5.7-1.7 8.6c0 15.2 12.3 27.5 27.5 27.5H612.5c15.2 0 27.5-12.3 27.5-27.5zM384 239.8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm96 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-224 112c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm-16 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16H304z\"]\n};\nvar faVolumeXmark = {\n prefix: 'fas',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M301.1 34.8C312.6 40 320 51.4 320 64V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3zM425 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M320 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V323.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2L478.9 391C460.6 396.3 448 413 448 432c0 18.9 12.5 35.6 30.6 40.9C448.4 497.4 409.9 512 368 512H348.8c-59.6 0-116.9-22.9-160-64L76.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zm-7.3 326.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L288 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L288 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L320 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L320 352l-7.3-25.4zM104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7L104 120zM584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7L584 408z\"]\n};\nvar faBarsFilter = {\n prefix: 'fas',\n iconName: 'bars-filter',\n icon: [448, 512, [], \"e0ad\", \"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM288 416c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c17.7 0 32 14.3 32 32z\"]\n};\nvar faPaintbrushPencil = {\n prefix: 'fas',\n iconName: 'paintbrush-pencil',\n icon: [576, 512, [], \"e206\", \"M559.6 95.6c21.9-21.9 21.9-57.3 0-79.2s-57.3-21.9-79.2 0L227.7 269.1l79.2 79.2L559.6 95.6zM205 291.8c-9.3-2.5-19-3.8-29-3.8c-61.9 0-112 50.1-112 112c0 3.9 .2 7.8 .6 11.6C66.4 429.1 54.4 448 36.8 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H176c61.9 0 112-50.1 112-112c0-10-1.3-19.8-3.8-29l.1-.1-79.2-79.2-.1 .1zm93.4-138.7L164.7 19.3c-25-25-65.5-25-90.5 0L50.7 42.7c-25 25-25 65.5 0 90.5L173.5 256c.8 0 1.7 0 2.5 0c6.2 0 12.4 .4 18.4 1.2L298.5 153.1zM320 402.5l64.6 64.6c6.7 6.7 15.1 11.6 24.2 14.2l104 29.7c8.4 2.4 17.4 .1 23.6-6.1s8.5-15.2 6.1-23.6l-29.7-104c-2.6-9.2-7.5-17.5-14.2-24.2l-75.6-75.6L318.8 381.6c.8 6 1.2 12.2 1.2 18.4c0 .8 0 1.7 0 2.5z\"]\n};\nvar faPartyBell = {\n prefix: 'fas',\n iconName: 'party-bell',\n icon: [512, 512, [], \"e31a\", \"M0 224C0 100.3 100.3 0 224 0c35.3 0 68.9 8.2 98.7 22.8C341.9 32.3 352 51.7 352 70.7c0 14.5-5.7 28.3-16 38.5L109.2 336C99 346.3 85.1 352 70.7 352c-19 0-38.4-10.1-47.8-29.3C8.2 292.9 0 259.3 0 224zM480 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM352 448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 480a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM359 167c9.4-9.4 24.6-9.4 33.9 0l8.3 8.3c16.7 16.7 38.6 27.2 62.1 29.8l27.4 3c13.2 1.5 22.7 13.3 21.2 26.5s-13.3 22.7-26.5 21.2l-27.4-3c-34.3-3.8-66.3-19.2-90.7-43.6L359 201c-9.4-9.4-9.4-24.6 0-33.9zM201 359l8.3 8.2c24.4 24.4 39.8 56.4 43.6 90.7l3 27.4c1.5 13.2-8 25-21.2 26.5s-25-8-26.5-21.2l-3-27.4c-2.6-23.5-13.1-45.4-29.8-62.1L167 393c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM503.5 506.3c-10.1 8.6-25.3 7.3-33.8-2.8l-8.5-10c-12.5-14.8-19.1-33.7-18.6-53c.5-16.6-12.4-30.6-29-31.6l-30-1.8c-42.5-2.5-75.3-38.3-74.2-80.8c.2-7.6-2.4-15-7.3-20.7l-8.5-10c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8l8.5 10c12.5 14.8 19.1 33.7 18.6 53c-.5 16.6 12.4 30.6 29 31.6l30 1.8c42.5 2.5 75.3 38.3 74.2 80.8c-.2 7.6 2.4 15 7.3 20.7l8.5 10c8.6 10.1 7.3 25.3-2.8 33.8z\"]\n};\nvar faUserVneckHair = {\n prefix: 'fas',\n iconName: 'user-vneck-hair',\n icon: [448, 512, [], \"e462\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32zM96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0S96 57.3 96 128zm61.3 199.1c-3.2-4.3-8.4-6.7-13.7-6.2C62.9 329.7 0 398.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-83.1-62.9-151.5-143.7-160.3c-5.3-.6-10.5 1.9-13.7 6.2l-53.9 71.8c-6.4 8.5-19.2 8.5-25.6 0l-53.9-71.8z\"]\n};\nvar faJackOLantern = {\n prefix: 'fas',\n iconName: 'jack-o-lantern',\n icon: [576, 512, [127875], \"f30e\", \"M234.6 103.9C251.5 98.8 269.4 96 288 96c22.8 0 44.7 4.2 64.8 11.7c-.6-2-.8-4.1-.8-6.3V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4l-40.9 93.5zm161.6 27.3c12.1 8.8 23.1 19.1 32.7 30.5c5.6 6.7-2.9 14.6-10.4 10.1C380.3 149 335.7 136 288 136s-92.3 13-130.5 35.7c-7.5 4.5-16-3.4-10.4-10.1c9.6-11.4 20.6-21.7 32.7-30.5c-.6-.1-1.2-.2-1.8-.3c-8.5-1.8-17.2-2.8-26-2.8C68.1 128 0 214 0 320S68.1 512 152 512c19.3 0 37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8s37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8c83.9 0 152-86 152-192s-68.1-192-152-192c-8.9 0-17.6 1-26 2.8c-.6 .1-1.2 .2-1.8 .3zM208 208c5.3 0 10.3 2.7 13.3 7.1l32 48c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H176c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l32-48c3-4.5 8-7.1 13.3-7.1zm173.3 7.1l32 48c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H336c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l32-48c3-4.5 8-7.1 13.3-7.1s10.3 2.7 13.3 7.1zM368 437.5C346.2 444 319.8 448 288 448s-58.2-4-80-10.5V416c0-8.8-7.2-16-16-16H176c-8.6 0-15.7 6.9-16 15.4c-36.9-24.7-49.9-56.7-54.1-71.4c-1.4-5 .3-10.2 4-13.8c5.8-5.8 15.1-6.6 22.2-2.4c18 10.6 55.5 29.1 107.9 36.8V384c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V368c77.6 0 132.8-26.6 155.9-40.2c7.1-4.2 16.4-3.4 22.2 2.4c3.7 3.7 5.4 8.8 4 13.8c-4.2 14.7-17.3 46.8-54.1 71.4c-.3-8.6-7.3-15.4-16-15.4H384c-8.8 0-16 7.2-16 16v21.5z\"]\n};\nvar faGrip = {\n prefix: 'fas',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M128 136c0-22.1-17.9-40-40-40L40 96C17.9 96 0 113.9 0 136l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-192v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V136c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z\"]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'fas',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M352 224H305.5c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8h-2.5c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144h80V34.7C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2H384c-17.7 0-32-14.3-32-32V224zM80 96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V384c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H80z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faKeynote = {\n prefix: 'fas',\n iconName: 'keynote',\n icon: [512, 512, [], \"f66c\", \"M184 72h14.4c8.3 14.3 23.8 24 41.6 24h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H240c-17.8 0-33.3 9.7-41.6 24H184c-48.6 0-88 39.4-88 88v48H80c-12.1 0-23.2 6.8-28.6 17.7l-48 96C1.2 278.1 0 283 0 288v32c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V288c0-5-1.2-9.9-3.4-14.3l-48-96C455.2 166.8 444.1 160 432 160H144V112c0-22.1 17.9-40 40-40zM160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V384H224v64H160z\"]\n};\nvar faChildCombatant = {\n prefix: 'fas',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M176 128A64 64 0 1 0 176 0a64 64 0 1 0 0 128zm-8 352V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V300.5L260.9 321c9.4 15 29.2 19.4 44.1 10s19.4-29.2 10-44.1l-51.7-82.1c-17.6-27.9-48.3-44.9-81.2-44.9H169.8c-33 0-63.7 16.9-81.2 44.9L36.9 287c-9.4 15-4.9 34.7 10 44.1s34.7 4.9 44.1-10L104 300.5V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM448 0H432 416c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32h16v96c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16z\"]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'fas',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H32C14.3 64 0 78.3 0 96V208c0 17.7 14.3 32 32 32H42c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480h96c14.7 0 27.5-10 31-24.2L217 352H321.4c23.7 0 44.8-14.9 52.7-37.2L400.9 240H432c8.5 0 16.6-3.4 22.6-9.4L477.3 208H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H528V56zM321.4 304H229l16-64h105l-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3zM80 128H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSquarePhone = {\n prefix: 'fas',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.7 96.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faHatBeach = {\n prefix: 'fas',\n iconName: 'hat-beach',\n icon: [640, 512, [], \"e606\", \"M320 448c176.7 0 320-57.3 320-128c0-19.3-11.8-36.7-29.7-43.9L574.9 262c.7 4.2 1.1 8.5 1.1 12.8c0 42.7-34.6 77.3-77.3 77.3c-12.2 0-24.1-2.9-34.7-8.3c-10.7 5.4-22.6 8.3-34.7 8.3c-38.6 0-70.6-28.3-76.3-65.4c-10.6 .9-21.6 1.4-32.9 1.4c-88.4 0-160-28.7-160-64v0L29.7 276.1C11.8 283.3 0 300.7 0 320c0 70.7 143.3 128 320 128zm32-242.7c0-42.7 34.6-77.3 77.3-77.3c7.1 0 14.1 1 20.9 2.9C421.1 90.4 373.6 64 320 64c-70.4 0-130.2 45.5-151.6 108.7l.1-.2C174.7 201.3 240.1 224 320 224c11.7 0 23-.5 34-1.4c-1.3-5.6-2-11.5-2-17.3zM473.1 168c-5.5 3.8-12.7 3.8-18.2 0c-7.5-5.2-16.4-8-25.7-8c-25 0-45.3 20.3-45.3 45.3c0 9.2 2.8 18.2 8 25.7c3.8 5.5 3.8 12.7 0 18.2c-5.2 7.5-8 16.4-8 25.7c0 25 20.3 45.3 45.3 45.3c9.2 0 18.2-2.8 25.7-8c5.5-3.8 12.7-3.8 18.2 0c7.5 5.2 16.4 8 25.7 8c25 0 45.3-20.3 45.3-45.3c0-9.2-2.8-18.2-8-25.7c-3.8-5.5-3.8-12.7 0-18.2c5.2-7.5 8-16.4 8-25.7c0-25-20.3-45.3-45.3-45.3c-9.2 0-18.2 2.8-25.7 8zM464 216a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\"]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z\"]\n};\nvar faComputer = {\n prefix: 'fas',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 96V320H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H181.3l-10.7 32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H277.3l-10.7-32H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm464 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528zm16 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFort = {\n prefix: 'fas',\n iconName: 'fort',\n icon: [640, 512, [], \"e486\", \"M0 16C0 7.2 7.2 0 16 0H48c8.8 0 16 7.2 16 16V64H96V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h32V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V96v16 48H384V112 96 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h32V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h32V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V96v16 64c0 20.9-13.4 38.7-32 45.3V464c0 26.5-21.5 48-48 48H384V384c0-35.3-28.7-64-64-64s-64 28.7-64 64V512H80c-26.5 0-48-21.5-48-48V221.3C13.4 214.7 0 196.9 0 176V112 96 16z\"]\n};\nvar faCloudCheck = {\n prefix: 'fas',\n iconName: 'cloud-check',\n icon: [640, 512, [], \"e35c\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM433 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L433 241z\"]\n};\nvar faXmark = {\n prefix: 'fas',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faFaceSmirking = {\n prefix: 'fas',\n iconName: 'face-smirking',\n icon: [512, 512, [], \"e397\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm96-48c0 8.8 7.2 16 16 16h32c0 17.7 14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32H112c-8.8 0-16 7.2-16 16zM375.8 338.6c1.5-8.7-4.4-17-13.2-18.4s-17 4.4-18.4 13.2l-.2 1.2c-3.2 19.3-19.9 33.4-39.5 33.4H192c-8.8 0-16 7.2-16 16s7.2 16 16 16H304.6c35.2 0 65.2-25.4 71-60.2l.2-1.2zM288 208c0 8.8 7.2 16 16 16h32c0 17.7 14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32H304c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArrowsUpDownLeftRight = {\n prefix: 'fas',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224H109.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288H402.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4H288V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z\"]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'fas',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M160 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-11.8-25.5-29.9-47.5-52.4-64H384V320c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v32h64V64L224 64v49.1C205.2 102.2 183.3 96 160 96V64zm0 64a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faRhombus = {\n prefix: 'fas',\n iconName: 'rhombus',\n icon: [448, 512, [], \"e23b\", \"M254.4 14.1C246.8 5.1 235.7 0 224 0s-22.8 5.1-30.4 14.1l-184 216C-3.2 245-3.2 267 9.6 281.9l184 216c7.6 8.9 18.7 14.1 30.4 14.1s22.8-5.1 30.4-14.1l184-216c12.7-14.9 12.7-36.9 0-51.9l-184-216z\"]\n};\nvar faClawMarks = {\n prefix: 'fas',\n iconName: 'claw-marks',\n icon: [576, 512, [], \"f6c2\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4l96 96 64 64 160 160 64 64 64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L434.7 448H384c-17.7 0-32-14.3-32-32V365.3L210.7 224H160c-17.7 0-32-14.3-32-32V141.3L41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm0 224c12.5-12.5 32.8-12.5 45.3 0l64 64 96 96 64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L210.7 448H128c-17.7 0-32-14.3-32-32V333.3L41.4 278.6c-12.5-12.5-12.5-32.8 0-45.3zM310.6 9.4l32 32 64 64 64 64 64 64 32 32c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L498.7 288H448c-17.7 0-32-14.3-32-32V205.3L370.7 160H320c-17.7 0-32-14.3-32-32V77.3L265.4 54.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nvar faPesoSign = {\n prefix: 'fas',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M64 32C46.3 32 32 46.3 32 64v64c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h80c68.4 0 127.7-39 156.8-96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.7c.5-5.3 .7-10.6 .7-16s-.2-10.7-.7-16h.7c17.7 0 32-14.3 32-32s-14.3-32-32-32H332.8C303.7 71 244.4 32 176 32H64zm190.4 96H96V96h80c30.5 0 58.2 12.2 78.4 32zM96 192H286.9c.7 5.2 1.1 10.6 1.1 16s-.4 10.8-1.1 16H96V192zm158.4 96c-20.2 19.8-47.9 32-78.4 32H96V288H254.4z\"]\n};\nvar faFaceSmileTongue = {\n prefix: 'fas',\n iconName: 'face-smile-tongue',\n icon: [512, 512, [], \"e394\", \"M503.4 322c5.6-21.1 8.6-43.2 8.6-66C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c61.5 0 118-21.7 162.1-57.9c-2.8-1.2-5.5-2.7-8.2-4.2l-68.1-40.4C316.3 423.8 287.1 432 256 432c-84.1 0-154-59.7-175.5-139.9c-2.3-8.5 2.8-17.3 11.3-19.6s17.3 2.8 19.6 11.3C129.5 351.5 187.9 400 256 400s126.5-48.5 144.5-116.1c2.3-8.5 11.1-13.6 19.6-11.3c1.5 .4 2.9 1 4.2 1.8l65.4 37.8c5 2.9 9.6 6.2 13.7 10zM370.6 389.3l55.7 33.1c22.6 13.4 51.8 5.8 65-17c13.3-23 5.4-52.3-17.6-65.6l-48.6-28.1c-11.7 30.4-30.5 57.1-54.5 77.6zm-153-160.5l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faCartCircleXmark = {\n prefix: 'fas',\n iconName: 'cart-circle-xmark',\n icon: [640, 512, [], \"e3f4\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c29.1-57 88.4-96 156.8-96c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faBuildingShield = {\n prefix: 'fas',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V207l-42.4 17H304 272c-8.8 0-16 7.2-16 16v32 24.2V304c0 .9 .1 1.7 .2 2.6c2.3 58.1 24.1 144.8 98.7 201.5c-5.8 2.5-12.2 3.9-18.9 3.9H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faCirclePhoneFlip = {\n prefix: 'fas',\n iconName: 'circle-phone-flip',\n icon: [512, 512, [\"phone-circle-alt\"], \"e11c\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm69.3 128.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L312 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C143.1 378 151 384 160 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nvar faPhoneCircleAlt = faCirclePhoneFlip;\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128V251.7c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z\"]\n};\nvar faUsersLine = {\n prefix: 'fas',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M211.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM32 256c0 17.7 14.3 32 32 32h85.6c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4H96c-35.3 0-64 28.7-64 64zm461.6 32H576c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4zM391.2 226.4c-6.9-1.6-14.2-2.4-21.6-2.4h-96c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32c-10.8-30.7-36.8-54.2-68.9-61.6zM563.2 96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM321.6 192a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm256 0c0-66.3 53.7-120 120-120h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-30.9 0-56 25.1-56 56v8h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320 288 216z\"]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M96 64c0-35.3 28.7-64 64-64H266.3c26.2 0 49.7 15.9 59.4 40.2L373.7 160H480V126.2c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9V160h56c22.1 0 40 17.9 40 40v45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2c-39.3 0-74.1 18.9-96 48H352c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8V480c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0L40.2 449.1c-12.5-12.5-12.5-32.8 0-45.3l5.8-5.8c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6V192 160 64zm170.3 0H160v96h32H304.7L266.3 64zM176 256a80 80 0 1 0 0 160 80 80 0 1 0 0-160zM528 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64c-48.6 0-88-39.4-88-88c0-29.8 14.8-56.1 37.4-72c14.3-10.1 31.8-16 50.6-16c2.7 0 5.3 .1 7.9 .3c44.9 4 80.1 41.7 80.1 87.7c0 48.6-39.4 88-88 88z\"]\n};\nvar faKeySkeleton = {\n prefix: 'fas',\n iconName: 'key-skeleton',\n icon: [448, 512, [128477], \"f6f3\", \"M304 64a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 224c79.5 0 144-64.5 144-144S383.5 0 304 0S160 64.5 160 144c0 28.2 8.1 54.5 22.1 76.7L9.4 393.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 416 96 397.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L141.3 352l86.1-86.1c22.2 14 48.5 22.1 76.7 22.1z\"]\n};\nvar faTrashArrowUp = {\n prefix: 'fas',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z\"]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'fas',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M150.6 502.6l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7V288H416V272c0-17.2 3.9-33.5 10.8-48H352V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-6-6-14.1-9.4-22.6-9.4s-16.6 3.4-22.6 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L288 109.3V224l-128 0H96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H96V402.7L54.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0zM160 192V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192h64zM288 320V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320H288zm240-80c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowDownToBracket = {\n prefix: 'fas',\n iconName: 'arrow-down-to-bracket',\n icon: [448, 512, [], \"e094\", \"M374.6 214.6l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 242.7V32c0-17.7 14.3-32 32-32s32 14.3 32 32V242.7l73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM64 352v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faLinesLeaning = {\n prefix: 'fas',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2l-128 384c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l128-384zm70.9-41.7c-17.4-2.9-33.9 8.9-36.8 26.3l-64 384c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3l64-384c2.9-17.4-8.9-33.9-26.3-36.8zM352 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faSquareQ = {\n prefix: 'fas',\n iconName: 'square-q',\n icon: [448, 512, [], \"e27b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 224c0 44.2 35.8 80 80 80c13.4 0 25.9-3.3 37-9.1l-30-30c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l30 30c5.8-11.1 9.1-23.7 9.1-37c0-44.2-35.8-80-80-80s-80 35.8-80 80zm208 0c0 26.7-8.2 51.4-22.1 71.9L345 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15.1-15.1c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M.2 468.9C2.7 493.1 23.1 512 48 512l96 0 320 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-48c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 368l0 96c0 1.7 .1 3.3 .2 4.9z\"]\n};\nvar faSymbols = {\n prefix: 'fas',\n iconName: 'symbols',\n icon: [512, 512, [128291, \"icons-alt\"], \"f86e\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L352 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM32 0H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 64 0 49.7 0 32S14.3 0 32 0zM502.6 342.6l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM0 128c0-17.7 14.3-32 32-32h80 80c17.7 0 32 14.3 32 32s-14.3 32-32 32H144v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160H32c-17.7 0-32-14.3-32-32zM288 328a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM472 432a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM135.6 374l10.3 10.8 23.5-23.5c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-24.7 24.7L215.2 458c12.2 12.8 11.6 33.1-1.2 45.2s-33.1 11.6-45.2-1.2l-24.1-25.4-12.8 12.8C117.4 503.9 97.7 512 77.3 512C34.6 512 0 477.4 0 434.7v-.9c0-19.4 7.2-38.2 20.3-52.6l13.1-14.4C22.5 354.3 16 337.9 16 320c0-39.8 32.2-72 72-72s72 32.2 72 72c0 21.5-9.4 40.8-24.4 54zm-68 50.3c-2.4 2.6-3.7 6-3.7 9.5v.9c0 7.3 5.9 13.3 13.3 13.3c3.5 0 6.9-1.4 9.4-3.9l14-14L81.1 409.5 67.7 424.3zM104 320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faIconsAlt = faSymbols;\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\"]\n};\nvar faFlaskGear = {\n prefix: 'fas',\n iconName: 'flask-gear',\n icon: [640, 512, [], \"e5f1\", \"M288 0H160 128C110.3 0 96 14.3 96 32s14.3 32 32 32V196.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512H378.6c10.6 0 20.7-2.4 29.7-6.6c-2.8-6.2-4.2-12.9-4.2-19.7v-.9c-17.6 9.7-41.5 8.1-57.2-8.7c-9.2-9.9-17.4-20.9-24.4-33s-12.5-24.7-16.4-37.6c-6.7-21.6 3.4-42.7 20-53.3l-.2-.2h-207L173 263.9c12.4-20.2 19-43.4 19-67.1V64h64V196.8c0 23.7 6.6 46.9 19 67.1L304 311c.1-4 .8-8.1 2-12.2c4-12.9 9.4-25.5 16.4-37.6c4.1-7.1 8.7-13.9 13.6-20.3l-6.5-10.6c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288zM436 218.2v17.4c0 7.9-4.9 15-11.7 18.9c-6.8 3.9-15.2 4.5-22 .6l-13.6-7.8c-6.1-3.5-13.7-2.7-18.5 2.4c-7.5 8.1-14.3 17.2-20.1 27.2s-10.3 20.4-13.5 31c-2.1 6.7 1.1 13.7 7.2 17.2l14 8.1c6.5 3.8 10.1 11 10.1 18.6s-3.5 14.8-10.1 18.6l-14 8.1c-6.1 3.5-9.2 10.5-7.2 17.2c3.3 10.6 7.8 21 13.5 31s12.5 19.1 20.1 27.2c4.8 5.1 12.5 5.9 18.5 2.4l13.5-7.8c6.8-3.9 15.2-3.3 22 .6c6.9 3.9 11.7 11 11.7 18.9v17.4c0 7 4.5 13.3 11.3 14.8c10.5 2.4 21.5 3.7 32.7 3.7s22.2-1.3 32.7-3.7c6.8-1.5 11.3-7.8 11.3-14.8V467.5c0-7.8 4.8-14.8 11.6-18.7c6.7-3.9 15.1-4.5 21.8-.6l13.8 7.9c6.1 3.5 13.7 2.7 18.5-2.4c7.6-8.1 14.3-17.2 20.1-27.2s10.3-20.4 13.5-31c2.1-6.7-1.1-13.7-7.2-17.2l-14.4-8.3c-6.5-3.7-10-10.9-10-18.4s3.5-14.7 10-18.4l14.4-8.3c6.1-3.5 9.2-10.5 7.2-17.2c-3.3-10.6-7.8-21-13.5-31s-12.5-19.1-20.1-27.2c-4.8-5.1-12.5-5.9-18.5-2.4l-13.8 7.9c-6.7 3.9-15.1 3.3-21.8-.6c-6.8-3.9-11.6-10.9-11.6-18.7V218.2c0-7-4.5-13.3-11.3-14.8c-10.5-2.4-21.5-3.7-32.7-3.7s-22.2 1.3-32.7 3.7c-6.8 1.5-11.3 7.8-11.3 14.8zm-4.1 133.5a48.1 48.1 0 1 1 96.1 0 48.1 48.1 0 1 1 -96.1 0z\"]\n};\nvar faHighlighterLine = {\n prefix: 'fas',\n iconName: 'highlighter-line',\n icon: [576, 512, [], \"e1af\", \"M229 229l215-158.4 29.3 29.3L315 315 229 229zM128 320l0 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3l50.7 50.7c12.5 12.5 32.8 12.5 45.3 0L224 416h71.7c15.3 0 29.6-7.2 38.6-19.5L535.6 123.4c5.5-7.4 8.4-16.4 8.4-25.6c0-11.4-4.5-22.4-12.6-30.5L476.6 12.6C468.5 4.5 457.6 0 446.2 0C437 0 428 2.9 420.6 8.4L147.5 209.6c-12.3 9-19.5 23.4-19.5 38.6V320zM70.1 403.3l-63 63c-4.5 4.5-7 10.6-7 17V488c0 13.3 10.7 24 24 24H92.7c6.4 0 12.5-2.5 17-7l31-31L70.1 403.3zM224 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\"]\n};\nvar faBracketSquare = {\n prefix: 'fas',\n iconName: 'bracket-square',\n icon: [192, 512, [\"bracket\", \"bracket-left\"], \"5b\", \"M0 96C0 60.7 28.7 32 64 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64V416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faBracket = faBracketSquare;\nvar faBracketLeft = faBracketSquare;\nvar faIslandTropical = {\n prefix: 'fas',\n iconName: 'island-tropical',\n icon: [512, 512, [127965, \"island-tree-palm\"], \"f811\", \"M114.3 93.7c-1.5 1.5-3.5 2.3-5.7 2.3H78.2c-8.8 0-16.1-7.2-13.8-15.8C73.6 44.8 112.8 0 190.2 0c58.4 0 95 25.5 113.5 53.2C323.6 40.6 350.2 32 384 32c77.4 0 116.6 44.8 125.8 80.2c2.2 8.6-5 15.8-13.8 15.8H451.3c-2.1 0-4.2-.8-5.7-2.3l-24-24c-3.1-3.1-8.2-3.1-11.3 0l-24 24c-1.5 1.5-3.5 2.3-5.7 2.3H301.5c28 79.9 21.2 170.2 9.9 226.1C370.9 365.1 416 417.3 416 480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32c0-70.7 57.3-128 128-128h64c29.7-79.3 29.4-150.9 22.8-194l-87.6 87.6c-6.2 6.2-16.5 6.2-21-1.4c-18.5-31.6-22.5-90.9 32.3-145.7c1.4-1.4 2.8-2.7 4.1-4c-.3-.3-.7-.5-1-.8l-24-24c-3.1-3.1-8.2-3.1-11.3 0l-24 24z\"]\n};\nvar faIslandTreePalm = faIslandTropical;\nvar faArrowRightFromLine = {\n prefix: 'fas',\n iconName: 'arrow-right-from-line',\n icon: [448, 512, [8614, \"arrow-from-left\"], \"f343\", \"M64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96zM438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 224 160 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l178.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faArrowFromLeft = faArrowRightFromLine;\nvar faH2 = {\n prefix: 'fas',\n iconName: 'h2',\n icon: [640, 512, [], \"f314\", \"M64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V256 416c0 17.7 14.3 32 32 32s32-14.3 32-32V288H256V416c0 17.7 14.3 32 32 32s32-14.3 32-32V256 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H64V96zm385.9 47.4c11.6-9.9 26.4-15.4 41.7-15.4H496c35.3 0 64 28.7 64 64v5.8c0 17.9-7.5 35.1-20.8 47.2L378.4 392.4c-9.7 8.9-13 22.9-8.2 35.2S386.8 448 400 448H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H482.3l100.2-91.9c26.4-24.2 41.5-58.5 41.5-94.4V192c0-70.7-57.3-128-128-128h-4.5c-30.6 0-60.1 10.9-83.3 30.8l-29 24.9c-13.4 11.5-15 31.7-3.5 45.1s31.7 15 45.1 3.5l29-24.9z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48z\"]\n};\nvar faCakeSlice = {\n prefix: 'fas',\n iconName: 'cake-slice',\n icon: [512, 512, [127856, \"shortcake\"], \"e3e5\", \"M276.2 38.9c5.6-4.4 12.6-6.9 19.8-6.9c44.3 0 97.6 19.2 139.9 55.8C479.2 125.2 512 181.7 512 256v.5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .2 .3 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2c0 35.4-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V272c0-9.8 4.5-19.1 12.2-25.1l264-208zM448 288H64v48H448v-.1-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.4-.4V330v-.4-.4V329v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V325v-.4-.4V324v-.4-.4-.4-.4-.4-.4-.4V321v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V312v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V307v-.4-.4-.4-.4V305v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V297v-.4-.4-.4-.4V295v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V290v-.4-.4-.4-.4V288zM64 416H448v-.2-.2-.2-.2-.2V415v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V413v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V411v-.2-.2-.2-.2V410v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V406v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V401v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V398v-.2-.2-.2-.2-.2-.2-.2-.2V396v-.2-.2-.2-.2-.2-.2-.2-.2V394v-.2-.2-.2V393v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V390v-.2-.2-.2V389v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V379v-.3-.3-.3V378v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V374v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V371v-.3-.3-.3-.3-.3-.3V369v-.3-.3-.3V368H64v48z\"]\n};\nvar faShortcake = faCakeSlice;\nvar faPeanut = {\n prefix: 'fas',\n iconName: 'peanut',\n icon: [512, 512, [], \"e430\", \"M432 0H364c-20.1 0-39.2 4-56.7 11.2c-17.4 7.2-33.7 17.8-47.8 32l-.4 .4C245 57.8 234.4 74 227.2 91.4c-4 9.5-6.9 19.6-8.8 30c-4.8 24.5-12.6 49.1-30.3 66.7s-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C4 324.8 0 343.9 0 364v68c0 44.2 35.8 80 80 80h68c40.5 0 77.1-16.2 103.8-42.5c.6-.6 1.1-1.1 1.7-1.7c13.8-14 24.2-30.1 31.3-47.2c4-9.5 6.9-19.6 8.8-30c4.8-24.5 12.6-49.1 30.3-66.7s42.2-25.4 66.7-30.3c10.4-1.9 20.5-4.9 30-8.8c17.3-7.2 33.5-17.7 47.6-31.7l.9-.9C495.6 225.4 512 188.6 512 148V80c0-44.2-35.8-80-80-80zM396.8 128a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm0 64a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-64 0a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-224 224a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM192 396.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zm0-64a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4z\"]\n};\nvar faWrenchSimple = {\n prefix: 'fas',\n iconName: 'wrench-simple',\n icon: [384, 512, [], \"e2d1\", \"M132.7 164.7l48 48c6.2 6.2 16.4 6.2 22.6 0l48-48c3-3 4.7-7.1 4.7-11.3V17.6c0-11 10.9-18.7 20.8-13.8C340.3 35 384 100.4 384 176c0 71.1-38.6 133.1-96 166.3V464c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V342.3C38.6 309.1 0 247.1 0 176C0 100.4 43.7 35 107.2 3.7C117.1-1.2 128 6.5 128 17.6V153.4c0 4.2 1.7 8.3 4.7 11.3z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 64C0 28.7 28.7 0 64 0h64 32H470.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H485.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H459.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zM145.5 192L133.8 64H64V192h81.5zM144 384H432c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V312c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\"]\n};\nvar faTally2 = {\n prefix: 'fas',\n iconName: 'tally-2',\n icon: [640, 512, [], \"e295\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M32 32C14.3 32 0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H192c35.3 0 64 28.7 64 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-70.7-57.3-128-128-128H32zM320 480c70.7 0 128-57.3 128-128V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 35.3-28.7 64-64 64H192V192c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32H320z\"]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faCars = {\n prefix: 'fas',\n iconName: 'cars',\n icon: [640, 512, [], \"f85b\", \"M123.4 74.9c2.2-6.5 8.3-10.9 15.2-10.9H277.4c6.9 0 13 4.4 15.2 10.9L310.3 128H105.7l17.7-53.1zM36.1 134.4C14.8 144.7 0 166.6 0 192v96H0v32c0 17.7 14.3 32 32 32H48c17.7 0 32-14.3 32-32V288H216.5c5.1-5.7 10.8-10.7 17.1-15.1l22.8-68.3c15.2-45.7 58-76.6 106.3-76.6h15.1L353.3 54.7C342.4 22 311.8 0 277.4 0H138.6c-34.4 0-65 22-75.9 54.7L36.1 134.4zM56 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm306.6 16H501.4c6.9 0 13 4.4 15.2 10.9L534.3 288H329.7l17.7-53.1c2.2-6.5 8.3-10.9 15.2-10.9zm-75.9-9.3l-26.6 79.7C238.8 304.7 224 326.6 224 352v96h0v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448H560v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32l0-32V352c0-25.4-14.8-47.3-36.1-57.6l-26.6-79.7C566.4 182 535.8 160 501.4 160H362.6c-34.4 0-65 22-75.9 54.7zM304 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faAxeBattle = {\n prefix: 'fas',\n iconName: 'axe-battle',\n icon: [512, 512, [], \"f6b3\", \"M95.9 14l0 .1c0 .1 .1 .4 .1 .7c.1 .7 .3 1.8 .6 3.3c.6 3 1.7 7.4 3.5 12.8c3.6 10.8 9.9 25.1 20.6 39.5c13.9 18.6 36 37.9 71.2 48.8V266.8c-29.9 11.1-50.9 29.3-65.6 47.3c-11.9 14.6-19.7 29.3-24.5 40.3c-2.4 5.5-4 10-5.1 13.1c-.5 1.5-.9 2.7-1.1 3.5l-.2 .8 0 .1 0 0c-1.5 5.8-6.1 10.3-11.9 11.7s-12-.7-15.8-5.3L80 368c-12.2 10.3-12.2 10.3-12.2 10.3l0 0 0 0-.1-.1-.2-.2-.6-.8c-.5-.7-1.3-1.6-2.3-2.9c-1.9-2.5-4.6-6.1-7.7-10.6c-6.3-9.2-14.7-22.4-23.1-38.9C17 291.9 0 245.3 0 192S17 92.1 33.7 59.3c8.4-16.5 16.8-29.7 23.1-38.9c3.2-4.6 5.8-8.2 7.7-10.6c1-1.2 1.7-2.2 2.3-2.9l.6-.8 .2-.2 .1-.1 0 0 0 0s0 0 12.2 10.3L67.8 5.7c4.1-4.9 10.7-6.8 16.8-5c6.1 1.8 10.5 7 11.3 13.3l0 0zM320 266.8V119.2c35.2-10.9 57.3-30.2 71.2-48.8C403.3 54.3 412.8 34 416.1 14c.8-6.3 5.3-11.5 11.3-13.3c6.1-1.8 12.8 .3 16.9 5.2c13.3 16.3 24.4 34.8 33.9 53.4c12.4 24.5 25.1 56.6 30.7 93.4c.5 3.5-1.4 7-4.7 8.4l-55.1 23.6c-6.5 2.8-6.5 11.9 0 14.7L504.3 223c3.3 1.4 5.3 4.8 4.7 8.4c-8 53-31.3 105.5-64.5 146.6c-3.9 4.6-10.3 7-16.1 5.6s-10.5-6-11.9-11.8c-5.9-21-17.2-40.9-30.9-57.7c-14.7-18-35.7-36.2-65.6-47.3zM288 64V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faUserHairLong = {\n prefix: 'fas',\n iconName: 'user-hair-long',\n icon: [448, 512, [], \"e45b\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zm65.3 192H286.7C375.8 320 448 392.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3C0 392.2 72.2 320 161.3 320z\"]\n};\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M384 476.1L192 421.2V35.9L384 90.8V476.1zm32-1.2V88.4L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3V394.6c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2V423.6L32.9 474.5C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3z\"]\n};\nvar faFileCircleInfo = {\n prefix: 'fas',\n iconName: 'file-circle-info',\n icon: [576, 512, [58604], \"e493\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 48c0 8.8 7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFaceDisappointed = {\n prefix: 'fas',\n iconName: 'face-disappointed',\n icon: [512, 512, [], \"e36f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm60.1-101.3c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM211.3 267.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faLassoSparkles = {\n prefix: 'fas',\n iconName: 'lasso-sparkles',\n icon: [576, 512, [], \"e1c9\", \"M290.7 0L288 0C128.9 0 0 78.8 0 176c0 57.2 44.7 108.1 113.9 140.2l-.2 .4L160.5 340c19.3 9.7 31.5 29.4 31.5 51c0 31.5-25.5 57-57 57H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h71c66.8 0 121-54.2 121-121c0-14.1-2.4-27.8-7-40.6c12.8 1.1 25.8 1.6 39 1.6c159.1 0 288-78.8 288-176c0-76.4-79.6-141.4-191-165.8l5.6 15.1 26 9.6C435.5 42 448 59.9 448 80c0 5.6-1 11.1-2.8 16.2C486.4 116.5 512 144.8 512 176c0 61.9-100.3 112-224 112S64 237.9 64 176c0-51 68.2-94 161.4-107.6c3.8-15.2 14.8-27.9 29.9-33.4l26-9.6L290.7 0zM351 10.4C348.7 4.2 342.7 0 336 0s-12.7 4.2-15 10.4L306.3 50.3 266.4 65c-6.3 2.3-10.4 8.3-10.4 15s4.2 12.7 10.4 15l39.8 14.7L321 149.6c2.3 6.3 8.3 10.4 15 10.4s12.7-4.2 15-10.4l14.7-39.8L405.6 95c6.3-2.3 10.4-8.3 10.4-15s-4.2-12.7-10.4-15L365.7 50.3 351 10.4zM496 352c-6.7 0-12.7 4.2-15 10.4l-14.7 39.8L426.4 417c-6.3 2.3-10.4 8.3-10.4 15s4.2 12.7 10.4 15l39.8 14.7L481 501.6c2.3 6.3 8.3 10.4 15 10.4s12.7-4.2 15-10.4l14.7-39.8L565.6 447c6.3-2.3 10.4-8.3 10.4-15s-4.2-12.7-10.4-15l-39.8-14.7L511 362.4c-2.3-6.3-8.3-10.4-15-10.4z\"]\n};\nvar faClockEleven = {\n prefix: 'fas',\n iconName: 'clock-eleven',\n icon: [512, 512, [], \"e347\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120v56.7l-20-30c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l64 96c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faSirenOn = {\n prefix: 'fas',\n iconName: 'siren-on',\n icon: [640, 512, [], \"e02e\", \"M69.3 36l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM597.3 76l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 192H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM144 352l25-199.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L496 352H234.1l21.8-174c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L201.9 352H144zM96 416c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416z\"]\n};\nvar faClockTen = {\n prefix: 'fas',\n iconName: 'clock-ten',\n icon: [512, 512, [], \"e354\", \"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120v91.2L173.3 172c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l96 64c7.4 4.9 16.8 5.4 24.6 1.2S280 264.9 280 256V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faCandleHolder = {\n prefix: 'fas',\n iconName: 'candle-holder',\n icon: [448, 512, [128367], \"f6bc\", \"M160 192c-44.2 0-80-35.8-80-80c0-39.6 49.1-90.1 66.2-106.6C149.9 1.9 154.8 0 160 0s10.1 1.9 13.8 5.4C190.9 21.9 240 72.4 240 112c0 44.2-35.8 80-80 80zm-32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V224h64c17.7 0 32 14.3 32 32V464h52.1c-2.7-7.5-4.1-15.6-4.1-24c0-39.8 32.2-72 72-72s72 32.2 72 72s-32.2 72-72 72H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V256c0-17.7 14.3-32 32-32h32zM400 440a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faVideoArrowDownLeft = {\n prefix: 'fas',\n iconName: 'video-arrow-down-left',\n icon: [576, 512, [], \"e2c8\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm512 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L416 174.9V192 320v17.1l14.2 9.5 96 64c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128zM232 352H120c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v54.1L247 167c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-103 103H232c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faPhotoFilm = {\n prefix: 'fas',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M256 0H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H552c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128h96V384v32c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V384H512v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H72zm336 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFloppyDiskCircleArrowRight = {\n prefix: 'fas',\n iconName: 'floppy-disk-circle-arrow-right',\n icon: [576, 512, [\"save-circle-arrow-right\"], \"e180\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-17.6-21.4-30.3-46.9-36.3-75c-10.2 6.9-22.6 11-35.9 11c-35.3 0-64-28.7-64-64s28.7-64 64-64c16.8 0 32.1 6.5 43.6 17.1C292.9 239 357 192 432 192c5.4 0 10.7 .2 16 .7V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM428.7 300.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faSaveCircleArrowRight = faFloppyDiskCircleArrowRight;\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faPlanetMoon = {\n prefix: 'fas',\n iconName: 'planet-moon',\n icon: [576, 512, [], \"e01f\", \"M512 0a64 64 0 1 1 0 128A64 64 0 1 1 512 0zM0 288a224 224 0 1 1 448 0A224 224 0 1 1 0 288zM236.2 112.4c-4-.3-8.1-.4-12.2-.4c-76.2 0-141.1 48.4-165.6 116.2C53.3 242.3 64.7 256 79.7 256h28.4c12.7 0 24.9 5.1 33.9 14.1L185 313c4.5 4.5 7 10.6 7 17V352c0 9.2 3.9 17.6 10.2 23.4l1.9 1.8c9.3 8.6 19.9 18.4 19.9 30.8v23c0 13.8 11.2 25 25 25c9.2 0 17.7-5.1 22-13.2l41.3-76.6c5-9.3 7.6-19.8 7.6-30.3V320c0-17.7-14.3-32-32-32H222.1c-9 0-17.7-3.6-24.1-10c-12.5-12.5-13.4-32.4-2.1-45.9l52.7-63.2c4.8-5.8 7.4-13 7.4-20.5V134.9c0-11.6-8.3-21.7-19.8-22.5z\"]\n};\nvar faFaceEyesXmarks = {\n prefix: 'fas',\n iconName: 'face-eyes-xmarks',\n icon: [512, 512, [], \"e374\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM123.3 132.7L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm192 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM256 304c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\"]\n};\nvar faChartScatter = {\n prefix: 'fas',\n iconName: 'chart-scatter',\n icon: [512, 512, [], \"f7ee\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zM192 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM160 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDisplayArrowDown = {\n prefix: 'fas',\n iconName: 'display-arrow-down',\n icon: [576, 512, [], \"e164\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H352V64H512V352H64V64H224V0H64zM312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V206.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V24z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M547.6 103.8L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4zM499.7 254.9l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 252.6c-4 1-8 1.8-12.3 2.3z\"]\n};\nvar faArrowTrendUp = {\n prefix: 'fas',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M384 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V205.3L342.6 374.6c-12.5 12.5-32.8 12.5-45.3 0L192 269.3 54.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0L320 306.7 466.7 160H384z\"]\n};\nvar faPlugCircleMinus = {\n prefix: 'fas',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faOliveBranch = {\n prefix: 'fas',\n iconName: 'olive-branch',\n icon: [640, 512, [], \"e317\", \"M2.7 53.1C13.8 41.6 59 0 128 0c66.9 0 111.4 39.1 124.2 52L306 26.7C343.3 9.1 384 0 425.2 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H425.2c-34.2 0-67.9 7.5-98.8 22.1L191.9 133.4C189.1 219.3 118.6 288 32 288H16c-8.8 0-16-7.2-16-16V256c0-61.4 34.5-114.6 85.2-141.5C40.4 102.8 11.3 75.8 2.7 66.9C.9 65 0 62.6 0 60s.9-5 2.7-6.9zM480 320c0 106-64.5 192-144 192s-144-86-144-192s64.5-192 144-192s144 86 144 192zM465.7 471.8c29.2-40.5 46.3-94 46.3-151.8c0-59.3-18-114.2-48.6-155c-10.5-14-22.7-26.5-36.2-36.9c48.2 1.6 101.3 25.8 144.2 70.3c75 77.8 90.2 188.1 33.9 246.4c-34.1 35.4-86.8 43.5-139.6 27z\"]\n};\nvar faAngle = {\n prefix: 'fas',\n iconName: 'angle',\n icon: [448, 512, [], \"e08c\", \"M252.6 78.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3l-192 384c-5 9.9-4.4 21.7 1.4 31.1S20.9 480 32 480H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H83.8L252.6 78.3zm-12.2 96l-21.9 43.8c21.4 17.4 40.4 37.7 56.2 60.4l40.8-25.3c-20.7-30.1-46.1-56.7-75.1-78.9zM321.1 384h49c-7-37-19.8-71.9-37.6-103.7l-40.8 25.3c13.3 24.2 23.3 50.5 29.5 78.3z\"]\n};\nvar faVacuumRobot = {\n prefix: 'fas',\n iconName: 'vacuum-robot',\n icon: [512, 512, [], \"e04e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM356.7 356.7c55.6-55.6 55.6-145.8 0-201.4s-145.8-55.6-201.4 0c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c68.1-68.1 178.5-68.1 246.6 0s68.1 178.5 0 246.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm-144-144c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-80 16c6.2-6.2 16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6zm-16 102.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64z\"]\n};\nvar faSignHanging = {\n prefix: 'fas',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M96 0c17.7 0 32 14.3 32 32V64l352 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-352 0V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32C14.3 128 0 113.7 0 96S14.3 64 32 64H64V32C64 14.3 78.3 0 96 0zm96 160H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faSign = faSignHanging;\nvar faSquareDivide = {\n prefix: 'fas',\n iconName: 'square-divide',\n icon: [448, 512, [], \"e26a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM136 232H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSignalStreamSlash = {\n prefix: 'fas',\n iconName: 'signal-stream-slash',\n icon: [640, 512, [], \"e250\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-91.7-71.9C562.6 355.5 576 307.3 576 256c0-68.1-23.7-130.7-63.2-180c-11.1-13.8-31.2-16-45-5s-16 31.2-5 45c30.7 38.4 49.1 87 49.1 140c0 36.4-8.7 70.8-24.1 101.1l-38.7-30.4c9.5-21.7 14.8-45.6 14.8-70.8c0-45.1-17-86.2-44.8-117.3c-11.8-13.2-32-14.3-45.2-2.5s-14.3 32-2.5 45.2c17.8 19.8 28.5 46 28.5 74.7c0 10.1-1.3 19.9-3.8 29.2l-53.6-42c-5.8-24.7-28-43.2-54.5-43.2c-.2 0-.4 0-.5 0L38.8 5.1zm84.7 188.2C116.1 212.8 112 233.9 112 256c0 45.1 17 86.2 44.8 117.3c11.8 13.2 32 14.3 45.2 2.5s14.3-32 2.5-45.2c-17.8-19.8-28.5-46-28.5-74.7c0-6.8 .6-13.5 1.8-19.9l-54.3-42.8zM33 122C11.9 162 0 207.6 0 256c0 68.1 23.7 130.7 63.2 180c11.1 13.8 31.2 16 45 5s16-31.2 5-45C82.4 357.6 64 309 64 256c0-33.4 7.3-65.1 20.4-93.5L33 122z\"]\n};\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M296 136V88h48v48H296zM288 32c-26.5 0-48 21.5-48 48v4H121.6C111.2 62.7 89.3 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c25.3 0 47.2-14.7 57.6-36h66.9c-58.9 39.6-98.9 105-104 180H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-3.3c5.9-67 48.5-123.4 107.5-149.1c8.6 12.7 23.2 21.1 39.8 21.1h64c16.6 0 31.1-8.4 39.8-21.1c59 25.7 101.6 82.1 107.5 149.1H496c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-4.5c-5-75-45.1-140.4-104-180h66.9c10.4 21.3 32.3 36 57.6 36c35.3 0 64-28.7 64-64s-28.7-64-64-64c-25.3 0-47.2 14.7-57.6 36H400V80c0-26.5-21.5-48-48-48H288zM88 376h48v48H88V376zm416 48V376h48v48H504z\"]\n};\nvar faEyeDropperHalf = {\n prefix: 'fas',\n iconName: 'eye-dropper-half',\n icon: [512, 512, [], \"e173\", \"M240.1 130.8L341.6 29.2c39-39 102.2-39 141.1 0s39 102.2 0 141.1L381.2 271.9l9.4 9.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l9.4 9.4zm-63.9 71.8l45.3 45.3L149.3 320h85.5l29.4-29.4 45.3 45.3L188.7 456.6c-15 15-35.4 23.4-56.6 23.4H89.7L49.7 506.6c-12.7 8.5-29.6 6.8-40.4-4s-12.5-27.7-4-40.4L32 422.3V379.9c0-21.2 8.4-41.6 23.4-56.6L176.1 202.6z\"]\n};\nvar faStoreLock = {\n prefix: 'fas',\n iconName: 'store-lock',\n icon: [640, 512, [], \"e4a6\", \"M547.6 103.8L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.1 0 49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c5 5.5 10.6 10.3 16.8 14.4C455.2 179.6 489.3 160 528 160c10.4 0 20.5 1.4 30.1 4.1c4.4-19.8 1.5-41.5-10.4-60.3zM128 384V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H392.6c-5.4-9.4-8.6-20.3-8.6-32V384H128zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6c.5-1.7 .7-3.5 .7-5.4c0-27.6-11-54.1-30.5-73.7L512 320c-20.5-20.5-32-48.3-32-77.3V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V51.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM160 242.7c0 29-11.5 56.8-32 77.3l-1.5 1.5C107 341 96 367.5 96 395.2c0 11.5 9.3 20.8 20.8 20.8H406.2L160 222.1v20.7zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faCloudBoltSun = {\n prefix: 'fas',\n iconName: 'cloud-bolt-sun',\n icon: [640, 512, [\"thunderstorm-sun\"], \"f76e\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zM639.9 303.9c0 44.2-35.8 80-80 80H541.3c3.5-10.1 3.7-21.3 0-31.8C534.5 332.9 516.4 320 496 320H477.7l29.3-58.5c10.1-20.2 4.8-44.6-12.8-58.8s-42.6-14.2-60.2-.2l-160 128c-14.5 11.6-20.9 30.5-16.8 48.4c-37.9-12.8-65.2-48.7-65.2-90.9c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7zM474.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L425.9 352H496c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L374.1 384H304c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faThunderstormSun = faCloudBoltSun;\nvar faCameraSlash = {\n prefix: 'fas',\n iconName: 'camera-slash',\n icon: [640, 512, [], \"e0d9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V160c0-35.3-28.7-64-64-64H437.3L426.9 64.8C420.4 45.2 402.1 32 381.4 32H258.6c-20.7 0-39 13.2-45.5 32.8L202.7 96H154.8L38.8 5.1zM285.4 198.4c10.7-4.1 22.4-6.4 34.6-6.4c53 0 96 43 96 96c0 4.1-.3 8.2-.8 12.2L285.4 198.4zM224 288c0-5 .4-9.9 1.1-14.6L65.2 147.4c-.8 4.1-1.2 8.3-1.2 12.6V416c0 35.3 28.7 64 64 64H487.4L356.4 376.8c-11.2 4.6-23.5 7.2-36.4 7.2c-53 0-96-43-96-96z\"]\n};\nvar faCommentQuote = {\n prefix: 'fas',\n iconName: 'comment-quote',\n icon: [512, 512, [], \"e14c\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM160 144h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V256H160c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32zm224 80v39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V256H304c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM176 432h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'fas',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M288 0H400c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H320.7l89.6 64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H336V400c0-26.5-21.5-48-48-48s-48 21.5-48 48V512H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H165.7L256 95.5V32c0-17.7 14.3-32 32-32zm48 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm368 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zM80 352c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80zm384 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H464z\"]\n};\nvar faMessageCode = {\n prefix: 'fas',\n iconName: 'message-code',\n icon: [512, 512, [], \"e1df\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm217 97c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM329 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faGlassHalf = {\n prefix: 'fas',\n iconName: 'glass-half',\n icon: [384, 512, [\"glass-half-empty\", \"glass-half-full\"], \"e192\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM77.8 224L66.4 64H317.6L306.2 224H77.8z\"]\n};\nvar faGlassHalfEmpty = faGlassHalf;\nvar faGlassHalfFull = faGlassHalf;\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M86.6 9.4C74.1-3.1 53.9-3.1 41.4 9.4s-12.5 32.8 0 45.3L122.7 136 30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L168 90.7 86.6 9.4zM168 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L213.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L429.1 234.3c3.1 3.1 3.1 8.2 0 11.3L386.7 288H67.5c1.4-5.4 4.2-10.4 8.4-14.6L168 181.3z\"]\n};\nvar faMessageMinus = {\n prefix: 'fas',\n iconName: 'message-minus',\n icon: [512, 512, [\"comment-alt-minus\"], \"f4a7\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM184 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faCommentAltMinus = faMessageMinus;\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"]\n};\nvar faDinosaur = {\n prefix: 'fas',\n iconName: 'dinosaur',\n icon: [640, 512, [], \"e5fe\", \"M446.2 0H448C554 0 640 86 640 192v30.6c0 88-51.5 165.6-128 201.5V480c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V458c-15.3 3.9-31.4 6-48 6c-6.8 0-13.5-.4-20.1-1c-7.5-18.9-24.4-33.3-45.4-36.8L162 408.1c-19.6-3.3-34-20.2-34-40.1c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 35.5 25.7 65.8 60.7 71.7l108.5 18.1c13.2 2.2 22.8 13.6 22.8 26.9c0 15.1-12.2 27.3-27.3 27.3H256 224 192 120.7C54.1 512 0 457.9 0 391.3c0-34 14.4-66.5 39.5-89.3l89.7-81.6C172 181.5 227.6 160 285.3 160c50.2 0 99 16.3 139.2 46.4L480 248c6.9 5.2 15.3 8 24 8c22.1 0 40-17.9 40-40V192c0-35.3-28.7-64-64-64H448 415.7c-26.3 0-47.7-21.4-47.7-47.7V75.6c0-16.7 10.1-31.6 25.6-37.8l1.7-.7c8.2-3.3 14.8-9.4 18.7-17.2C420.2 7.7 432.6 0 446.2 0zM464 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2C69.8 320.6 65 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5c-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1c11.9-1.2 16.4-15.5 10.8-26c-8.5-15.8-13.3-33.8-13.3-53c0-61.9 50.1-112 112-112c8 0 15.7 .8 23.2 2.4c11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0C238.8 0 160 78.8 160 176v89.2z\"]\n};\nvar faLinkHorizontalSlash = {\n prefix: 'fas',\n iconName: 'link-horizontal-slash',\n icon: [640, 512, [\"chain-horizontal-slash\"], \"e1cc\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-56.7-44.4c39.6-25.8 65.9-70.5 65.9-121.3c0-70.7-51.1-131-120.8-142.6l-1.9-.3c-17.4-2.9-33.9 8.9-36.8 26.3s8.9 33.9 26.3 36.8l1.9 .3c38.9 6.5 67.4 40.1 67.4 79.5c0 36.6-24.4 67.6-57.9 77.4L415.3 300.2c20.5-25.1 32.7-57.1 32.7-91.6C448 128.7 383.3 64 303.4 64H144.6c-9.4 0-18.5 .9-27.4 2.6L38.8 5.1zM195.6 128H303.4c44.5 0 80.6 36.1 80.6 80.6c0 19.7-7.1 38-19.1 52.1L195.6 128zM446.8 448l-81.2-64H336.6c-44.5 0-80.6-36.1-80.6-80.6c0-1.9 .1-3.7 .2-5.5l-55.5-43.8c-5.6 15.4-8.6 32.1-8.6 49.3C192 383.3 256.7 448 336.6 448H446.8zM30.4 119.9C11.3 144.4 0 175.2 0 208.6c0 70.7 51.1 131 120.8 142.6l1.9 .3c17.4 2.9 33.9-8.9 36.8-26.3s-8.9-33.9-26.3-36.8l-1.9-.3C92.5 281.6 64 248 64 208.6c0-18.5 6.2-35.5 16.6-49.1L30.4 119.9z\"]\n};\nvar faChainHorizontalSlash = faLinkHorizontalSlash;\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM276.8 383.8c1 .1 2.1 .2 3.2 .2c39.8 0 72 32.2 72 72v22.7c0 16.4 16 27.9 31.6 22.8l12.8-4.3c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.6 452c-5-18.3-4.4-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7v-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-29.6-8.1c-2.9-.8-5.9-1-8.7-.7c4.2 9.7 5.8 20.8 3.7 32.3L275 298.7c-1.5 8.4-1.4 17 .5 25.3l5.3 23.9c2.8 12.7 1.1 25.2-4 35.9zM127.6 234.5c-15.5-5.2-31.6 6.4-31.6 22.8v32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4C6.2 489.4 22.6 505.8 40.5 501L60 495.6c18.3-5 37.6-4.5 55.6 1.5l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8v-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3zM384 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faNose = {\n prefix: 'fas',\n iconName: 'nose',\n icon: [448, 512, [], \"e5bd\", \"M324.2 231.9L421 338.3c17.4 19.1 27 44 27 69.9C448 465.5 401.5 512 344.1 512h-9.4c-32.3 0-63.6-11.3-88.4-32l-6.4-5.3c-20.7-17.2-46.7-26.7-73.6-26.7c-21.2 0-38.3 17.2-38.3 38.3V492c0 1.7 .1 3.4 .3 5.1c.8 7.1-4 14.9-11.2 14.9H112C50.8 512 1.1 462.9 0 401.9C1 345.3 44.3 298 100.9 292.4l44.7-4.5c8.8-.9 15.2-8.7 14.3-17.5s-8.7-15.2-17.5-14.3l-44.7 4.5c-7.1 .7-14 1.9-20.7 3.6c-6.4 1.6-13-3-13-9.7V32C64 14.3 78.3 0 96 0h61.6c11.4 0 21.9 6 27.6 15.9l75.6 129.6c18.1 30.9 39.3 59.9 63.4 86.4z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M304.9 .7c-9.6-2.7-19.5 2.8-22.3 12.4l-4.3 15.2c-8.3-.6-16.8 0-25.2 1.9c-7.3 1.7-14.3 3.5-21.1 5.5l-5.5-12.7c-3.9-9.1-14.5-13.4-23.6-9.5s-13.4 14.5-9.5 23.6l4.4 10.4c-16.6 6.7-31.7 14.4-45.4 22.8L147 62c-5.5-8.3-16.7-10.5-25-5s-10.5 16.7-5 25l6 9c-13.7 11-25.5 22.8-35.8 34.9l-10-8c-7.8-6.2-19.1-5-25.3 2.8s-5 19.1 2.8 25.3L65.9 155c-1.8 2.8-3.5 5.7-5.1 8.5c-6.6 11.4-11.8 22.6-16 33l-8-3.2c-9.2-3.7-19.7 .8-23.4 10s.8 19.7 10 23.4l10.4 4.2c-.2 .8-.4 1.5-.5 2.3c-2.2 9.3-3.4 17.3-4.1 23.4c-.4 3.1-.6 5.7-.8 7.8c-.1 1.1-.1 2-.2 2.8l-.1 1.1 0 .5 0 .2 0 .1c0 0 0 .1 29.1 1l-.1 0L28 269.3c-.1 3.1 0 6.1 .2 9.1l-15.2 4.3C3.5 285.4-2 295.4 .7 304.9s12.7 15.1 22.3 12.4l15.6-4.5c7.6 13.6 18.9 25 32.6 32.6L66.7 361c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.3-12.4l4.3-15.2c1.2 .1 2.4 .2 3.6 .2c15.6 .5 30.3-3.3 43-10.2l9 9c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-7.2-7.2c9.3-12.6 15.2-27.8 16.3-44.5l7.1 3c9.1 3.9 19.7-.3 23.6-9.5s-.3-19.7-9.5-23.6l-8.6-3.7c6.4-9.9 17.3-22.4 36.9-33.3l1.3 4.4c2.7 9.6 12.7 15.1 22.3 12.4s15.1-12.7 12.4-22.3l-2.3-8.1c3.8-1.1 7.7-2.1 11.9-3.1c11.6-2.7 22.1-7.7 31.1-14.4l7.2 7.2c7 7 18.4 7 25.5 0s7-18.4 0-25.5l-9-9c7.6-13.9 11.3-30.1 10.1-46.6l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3S370.6 64 361 66.7l-15.6 4.5c-7.7-13.9-19.1-25.1-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3zM112 272l-48-1.5 0 0c11.7 .4 27.3 .9 48 1.6zm16-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM322.7 489c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.2-12.4l4.3-15.2c8.3 .6 16.8 0 25.2-1.9c7.3-1.7 14.3-3.5 21.1-5.5l5.5 12.7c3.9 9.1 14.5 13.4 23.6 9.5s13.4-14.5 9.5-23.6l-4.4-10.4c16.6-6.7 31.7-14.4 45.4-22.8L493 450c5.5 8.3 16.7 10.5 25 5s10.5-16.7 5-25l-6-9c13.7-11 25.5-22.8 35.8-34.9l10 8c7.8 6.2 19.1 5 25.3-2.8s5-19.1-2.8-25.3L574.1 357c1.8-2.8 3.5-5.7 5.1-8.5c6.6-11.4 11.8-22.6 16-33l8 3.2c9.2 3.7 19.7-.8 23.4-10s-.8-19.7-10-23.4l-10.4-4.2c.2-.8 .4-1.5 .5-2.3c2.2-9.3 3.4-17.3 4.1-23.4c.4-3.1 .6-5.7 .8-7.8c.1-1.1 .1-2 .2-2.8l.1-1.1 0-.5 0-.2 0-.1c0 0 0-.1-29.1-1l.1 0 29.1 .9c.1-3.1 0-6.1-.2-9.1l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3s-12.7-15.1-22.3-12.4l-15.6 4.5c-7.6-13.6-18.9-25-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3s-19.5 2.8-22.3 12.4l-4.3 15.2c-1.2-.1-2.4-.2-3.6-.2c-15.6-.5-30.3 3.3-43 10.2l-9-9c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l7.2 7.2c-9.3 12.6-15.2 27.8-16.3 44.5l-7.1-3c-9.1-3.9-19.7 .3-23.6 9.5s.3 19.7 9.5 23.6l8.6 3.7c-6.4 9.9-17.3 22.4-36.9 33.3l-1.3-4.4c-2.7-9.6-12.7-15.1-22.3-12.4s-15.1 12.7-12.4 22.3l2.3 8.1c-3.8 1.1-7.7 2.1-11.9 3.1c-11.6 2.7-22.1 7.7-31.1 14.4l-7.2-7.2c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l9 9c-7.6 13.9-11.3 30.1-10.1 46.6l-15.2 4.3c-9.6 2.7-15.1 12.7-12.4 22.2s12.7 15.1 22.3 12.4l15.6-4.5c7.7 13.9 19.1 25.1 32.6 32.6L322.7 489zM576 241.5l0 0c-11.7-.4-27.3-.9-48-1.6l48 1.5zM448 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faClouds = {\n prefix: 'fas',\n iconName: 'clouds',\n icon: [640, 512, [], \"f744\", \"M304 160c-74.1 0-135.2 56-143.1 128H96c-53 0-96-43-96-96s43-96 96-96l1.1 0C104.9 41.7 151.6 0 208 0c47.9 0 88.8 30.1 104.8 72.4C324.8 67 338 64 352 64c53 0 96 43 96 96c0 12.1-2.2 23.6-6.3 34.2c-11.4 2.3-22.2 6.4-32.1 11.9C383.3 177.7 345.7 160 304 160zM224 512c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2c-1.3-6.7-1.9-13.7-1.9-20.8c0-61.9 50.1-112 112-112c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H224z\"]\n};\nvar faMoneyBillSimple = {\n prefix: 'fas',\n iconName: 'money-bill-simple',\n icon: [576, 512, [], \"e1f1\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm224 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M0 112C0 85.5 21.5 64 48 64H160h80 46.5c36.8 0 71.2 18 92.1 48.2l113.5 164c13 18.7 19.9 41 19.9 63.8v12 16 48c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V402.2L273.9 352H240 160 112c-26.5 0-48-21.5-48-48s21.5-48 48-48h48 80c26.5 0 48-21.5 48-48s-21.5-48-48-48H160 48c-26.5 0-48-21.5-48-48z\"]\n};\nvar faTablePivot = {\n prefix: 'fas',\n iconName: 'table-pivot',\n icon: [512, 512, [], \"e291\", \"M0 96C0 60.7 28.7 32 64 32h64V160H0V96zm448 64H160V32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192H128V416H448V160zm-33.2 86.1c-2.5 6-8.3 9.9-14.8 9.9H384v48c0 26.5-21.5 48-48 48H288v16c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-32-32c-6.2-6.2-6.2-16.4 0-22.6l32-32c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8v16h48c8.8 0 16-7.2 16-16V256H336c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l32-32c6.2-6.2 16.4-6.2 22.6 0l32 32c4.6 4.6 5.9 11.5 3.5 17.4z\"]\n};\nvar faFilterSlash = {\n prefix: 'fas',\n iconName: 'filter-slash',\n icon: [640, 512, [], \"e17d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L406.6 293.4 567 97.3c9.8-12 11.8-28.5 5.2-42.5S551.5 32 536 32H104c-8.1 0-15.8 2.5-22.3 6.8L38.8 5.1zM256 400c0 10.1 4.7 19.6 12.8 25.6l64 48c9.7 7.3 22.7 8.4 33.5 3s17.7-16.5 17.7-28.6V398.5L256 297.7V400z\"]\n};\nvar faTrashCanUndo = {\n prefix: 'fas',\n iconName: 'trash-can-undo',\n icon: [448, 512, [\"trash-can-arrow-turn-left\", \"trash-undo-alt\"], \"f896\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V128zM217.8 199.9c8.9 9.9 8.1 25-1.8 33.9L182.5 264H240c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V352c0-22.1-17.9-40-40-40H182.5l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8z\"]\n};\nvar faTrashCanArrowTurnLeft = faTrashCanUndo;\nvar faTrashUndoAlt = faTrashCanUndo;\nvar faNotdef = {\n prefix: 'fas',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M64 390.3L153.5 256 64 121.7V390.3zM102.5 448H281.5L192 313.7 102.5 448zm128-192L320 390.3V121.7L230.5 256zM281.5 64H102.5L192 198.3 281.5 64zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M236.4 61.4L227 75.5c-21.3 32-59.4 48.5-97.3 42.1l-59.6-9.9C33.4 101.6 0 129.9 .1 167.1c0 15.9 6.4 31.2 17.6 42.5l29.2 29.2c11 11 17.2 25.9 17.2 41.5c0 15.8-6.4 30.9-17.7 42L33.3 335.1C22.2 345.9 16 360.7 16 376.2c0 36.8 34.1 64.2 70.1 56.2l62.3-13.8c7.7-1.7 15.7-2.6 23.6-2.6h10c27.2 0 53.7 9.3 75 26.3L287.8 467c10.5 8.4 23.6 13 37 13c32.7 0 59.3-26.5 59.3-59.3l0-25.2c0-34.9 21.4-66.2 53.9-78.8l36.9-14.3c22.4-8.7 37.2-30.3 37.2-54.3c0-28.1-20.1-52.3-47.8-57.3l-28-5.1c-36.5-6.7-65.4-34.5-73.6-70.7l-7.1-31.5C348.9 53.4 322.1 32 291.3 32c-22 0-42.6 11-54.9 29.4zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPersonToDoor = {\n prefix: 'fas',\n iconName: 'person-to-door',\n icon: [576, 512, [58704], \"e433\", \"M272 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM163.2 160c-14.1 0-27.5 5.6-37.5 15.5l-23.1 23.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l23.1-23.1C102.4 108.3 132.2 96 163.2 96c11.7 0 23.3 1.7 34.4 5.2l48.7 15c36.4 11.2 65.9 38 80.5 73.1l6.3 15c5 11.9 16.6 19.7 29.5 19.7H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H362.7c-38.8 0-73.7-23.3-88.6-59.1l-5.1-12.3L238 299l56.7 35.4c18.1 11.3 26.6 33.3 20.7 53.9L286.8 488.8c-4.9 17-22.6 26.8-39.6 22s-26.8-22.6-22-39.6l25.4-88.8-86.2-53.9c-25.1-15.7-36.1-46.5-26.8-74.5l31.2-93.7c-1.9-.2-3.7-.3-5.6-.3zM109.5 310.7c7.4 18.1 20.4 33.9 37.9 44.9l9.5 6-11.5 25.9c-7.7 17.3-24.9 28.5-43.9 28.5H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H91.2l18.3-41.3zM384 48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V320h0c35.3 0 64-28.7 64-64s-28.7-64-64-64h0V48z\"]\n};\nvar faTurntable = {\n prefix: 'fas',\n iconName: 'turntable',\n icon: [576, 512, [], \"f8e4\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM384 256A160 160 0 1 0 64 256a160 160 0 1 0 320 0zM512 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V272.4c0 2.5-.6 4.9-1.7 7.2l-16.2 32.5c-11 .7-21.4 7-26.7 17.6l-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l16-32c5.3-10.6 4.2-22.7-1.9-31.9l16.2-32.4c3.3-6.7 5.1-14 5.1-21.5V112zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm96 152c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 288a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"]\n};\nvar faSignalWeak = {\n prefix: 'fas',\n iconName: 'signal-weak',\n icon: [640, 512, [\"signal-1\"], \"f68c\", \"M64 384c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"]\n};\nvar faSignal1 = faSignalWeak;\nvar faClockFive = {\n prefix: 'fas',\n iconName: 'clock-five',\n icon: [512, 512, [], \"e349\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V248.7l60 90c7.4 11 4.4 25.9-6.7 33.3s-25.9 4.4-33.3-6.7l-64-96c-2.6-3.9-4-8.6-4-13.3V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M272 416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32-14.3-32-32V192h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l32 0 0 128c0 53 43 96 96 96H272zM304 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l112 0c17.7 0 32 14.3 32 32l0 128H416c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-32 0V192c0-53-43-96-96-96L304 96z\"]\n};\nvar faCarRear = {\n prefix: 'fas',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 96H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256v80c0 23.7 12.9 44.4 32 55.4V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V400H384v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V391.4c19.1-11.1 32-31.7 32-55.4V256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM208 272h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16zM48 280c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24-10.7-24-24zm360-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M128 32v96H256V96h60.1c4.2 0 8.3 1.7 11.3 4.7l33.9 33.9c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L372.7 55.4c-15-15-35.4-23.4-56.6-23.4H256c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\"]\n};\nvar faComputerClassic = {\n prefix: 'fas',\n iconName: 'computer-classic',\n icon: [448, 512, [], \"f8b1\", \"M0 48C0 21.5 21.5 0 48 0H400c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48zM32 480V448H416v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM96 64C78.3 64 64 78.3 64 96V224c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96zM80 360a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm144-24c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFrame = {\n prefix: 'fas',\n iconName: 'frame',\n icon: [448, 512, [], \"e495\", \"M448 128c0-17.7-14.3-32-32-32l-32 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L128 96l0-32c0-17.7-14.3-32-32-32S64 46.3 64 64l0 32L32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l32 0 0 192-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 192 0 0 32c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-32 0 0-192 32 0c17.7 0 32-14.3 32-32zM128 352l0-192 192 0 0 192-192 0z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.4-67.7 13.8 9.2c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6l-96 64L448 174.9V192 320v5.8l-32-25.1V128c0-35.3-28.7-64-64-64H113.9L38.8 5.1zM407 416.7L32.3 121.5c-.2 2.1-.3 4.3-.3 6.5V384c0 35.3 28.7 64 64 64H352c23.4 0 43.9-12.6 55-31.3z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm112 96H96V320h96V192z\"]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faEllipsisStroke = {\n prefix: 'fas',\n iconName: 'ellipsis-stroke',\n icon: [512, 512, [\"ellipsis-h-alt\"], \"f39b\", \"M416 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-96a72 72 0 1 0 0 144 72 72 0 1 0 0-144zM256 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-96a72 72 0 1 0 0 144 72 72 0 1 0 0-144zM120 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-96 0a72 72 0 1 0 144 0A72 72 0 1 0 24 256z\"]\n};\nvar faEllipsisHAlt = faEllipsisStroke;\nvar faRadio = {\n prefix: 'fas',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M494.8 47c12.7-3.7 20-17.1 16.3-29.8S494-2.8 481.2 1L51.7 126.9c-9.4 2.7-17.9 7.3-25.1 13.2C10.5 151.7 0 170.6 0 192v4V304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H218.5L494.8 47zM368 240a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM80 256c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM64 320c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 64c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3s-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0 249.2 0 224l224 0 160 0V160zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faFaceExpressionless = {\n prefix: 'fas',\n iconName: 'face-expressionless',\n icon: [512, 512, [], \"e373\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zM128 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm176-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faDownToDottedLine = {\n prefix: 'fas',\n iconName: 'down-to-dotted-line',\n icon: [448, 512, [], \"e408\", \"M0 448a32 32 0 1 0 64 0A32 32 0 1 0 0 448zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM73.9 249.9L196.7 372.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3L374.1 249.9c6.4-6.4 9.9-15 9.9-24c0-18.7-15.2-33.9-33.9-33.9H288V64c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32V192H97.9C79.2 192 64 207.2 64 225.9c0 9 3.6 17.6 9.9 24z\"]\n};\nvar faCloudMusic = {\n prefix: 'fas',\n iconName: 'cloud-music',\n icon: [640, 512, [], \"f8ae\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM416 184c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V275.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V216 184z\"]\n};\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faCloudMinus = {\n prefix: 'fas',\n iconName: 'cloud-minus',\n icon: [640, 512, [], \"e35d\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM248 264c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M96 382.1V293.3c0-14.9 5.9-29.1 16.4-39.6l27.3-27.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 45.5-45.5C355.2 10.9 381.4 0 408.8 0C465.8 0 512 46.2 512 103.2c0 27.4-10.9 53.6-30.2 73L258.3 399.6c-10.5 10.5-24.7 16.4-39.6 16.4H129.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l89-89z\"]\n};\nvar faShieldMinus = {\n prefix: 'fas',\n iconName: 'shield-minus',\n icon: [512, 512, [], \"e249\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M576 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H184.4c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCarTilt = {\n prefix: 'fas',\n iconName: 'car-tilt',\n icon: [640, 512, [], \"f5e5\", \"M145.1 120.6L292.4 81.2c12.7-3.4 26.3 1.3 34.1 12l37.8 51.6L114.6 211.6l7-63.6c1.4-13.1 10.8-24 23.5-27.4zM58 141.1L47.8 234.2C27.4 249.4 17.2 276 24.2 302.1L57.3 425.8l6 22.2H48c-26.5 0-48 21.5-48 48v16H640V496c0-26.5-21.5-48-48-48H162.6c-.1-.2-.1-.5-.2-.7L150 400.9l278.2-74.5 12.4 46.4c4.6 17.1 22.1 27.2 39.2 22.6l30.9-8.3c17.1-4.6 27.2-22.1 22.6-39.2L521 301.5 487.8 177.9c-7-26.1-29.1-44.1-54.4-47L378.1 55.3c-23.4-31.9-64-46.2-102.3-36L128.5 58.8C90.3 69.1 62.3 101.7 58 141.1zm58.9 136.2a32 32 0 1 1 16.6 61.8 32 32 0 1 1 -16.6-61.8zm255.6-35.3a32 32 0 1 1 61.8-16.6 32 32 0 1 1 -61.8 16.6z\"]\n};\nvar faGaugeCircleMinus = {\n prefix: 'fas',\n iconName: 'gauge-circle-minus',\n icon: [640, 512, [], \"e497\", \"M496 192c2.7 0 5.3 .1 8 .2C475.6 81.7 375.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c39.5 0 77-9 110.4-25C337.6 455.7 320 413.9 320 368c0-97.2 78.8-176 176-176zM320 352c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V88c0-13.3 10.7-24 24-24s24 10.7 24 24V292.7c23.5 9.5 40 32.5 40 59.3zM144 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM336 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16H560c8.8 0 16 7.2 16 16z\"]\n};\nvar faBrightnessLow = {\n prefix: 'fas',\n iconName: 'brightness-low',\n icon: [512, 512, [], \"e0ca\", \"M224 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm96 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM432 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM352 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0-256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M232 0c-22.1 0-40 17.9-40 40V204.2c-8.5-7.6-19.7-12.2-32-12.2c-26.5 0-48 21.5-48 48v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L55 284.8C40.4 297 32 315 32 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H304c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 227.5 329.3 208 304 208c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128A64 64 0 1 0 0 128a64 64 0 1 0 128 0zM384 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M64 32C28.7 32 0 60.7 0 96V304v80 16c0 44.2 35.8 80 80 80c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c44.2 0 80-35.8 80-80c0-5.5-.6-10.8-1.6-16H416h33.6c-1 5.2-1.6 10.5-1.6 16c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H608c17.7 0 32-14.3 32-32V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H480V96c0-35.3-28.7-64-64-64H64zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256zM528 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM176 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 368a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGlassWaterDroplet = {\n prefix: 'fas',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M32 0C23.1 0 14.6 3.7 8.6 10.2S-.6 25.4 .1 34.3L28.9 437.7c3 41.9 37.8 74.3 79.8 74.3H275.3c42 0 76.8-32.4 79.8-74.3L383.9 34.3c.6-8.9-2.4-17.6-8.5-24.1S360.9 0 352 0H32zM83 297.5L66.4 64H317.6L301 297.5 288 304c-20.1 10.1-43.9 10.1-64 0s-43.9-10.1-64 0s-43.9 10.1-64 0l-13-6.5zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]\n};\nvar faConveyorBelt = {\n prefix: 'fas',\n iconName: 'conveyor-belt',\n icon: [640, 512, [], \"f46e\", \"M176 0h80V112c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L320 99.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V0h80c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM0 416c0-53 43-96 96-96H544c53 0 96 43 96 96s-43 96-96 96H96c-53 0-96-43-96-96zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faLocationCheck = {\n prefix: 'fas',\n iconName: 'location-check',\n icon: [384, 512, [\"map-marker-check\"], \"f606\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM305 145L177 273c-9.4 9.4-24.6 9.4-33.9 0L79 209c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faMapMarkerCheck = faLocationCheck;\nvar faCoinVertical = {\n prefix: 'fas',\n iconName: 'coin-vertical',\n icon: [384, 512, [], \"e3fd\", \"M288 256c0 141.4-64.5 256-144 256S0 397.4 0 256S64.5 0 144 0s144 114.6 144 256zM184.2 425.4c11.4-12 20.1-27.7 26.8-44.4c13.4-33.6 21-77.8 21-125s-7.6-91.4-21-125c-6.7-16.7-15.4-32.4-26.8-44.4C172.7 74.5 156.5 64 136 64s-36.7 10.5-48.2 22.6C76.5 98.6 67.7 114.3 61 131c-13.4 33.6-21 77.8-21 125s7.6 91.4 21 125c6.7 16.7 15.4 32.4 26.8 44.4C99.3 437.5 115.5 448 136 448s36.7-10.5 48.2-22.6zM136 416c-35.3 0-64-71.6-64-160s28.7-160 64-160s64 71.6 64 160s-28.7 160-64 160zm90.1 96c15.6-13.2 29.3-29.7 40.9-48h63.7c-21 30.2-46.8 48-74.6 48H226.1zM349 432H284.3c13.2-28.4 23-60.9 29-96h64.3c-6 36.2-15.9 68.9-28.7 96zm32.8-128H317.6c1.6-15.7 2.4-31.7 2.4-48s-.8-32.3-2.4-48h64.1c1.5 15.5 2.2 31.6 2.2 48s-.8 32.5-2.2 48zm-4.1-128H313.3c-6-35.1-15.9-67.6-29-96H349c12.8 27.1 22.7 59.8 28.7 96zm-47-128H267c-11.5-18.3-25.2-34.8-40.9-48H256c27.9 0 53.6 17.8 74.6 48z\"]\n};\nvar faDisplay = {\n prefix: 'fas',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\"]\n};\nvar faPersonSign = {\n prefix: 'fas',\n iconName: 'person-sign',\n icon: [512, 512, [], \"f757\", \"M438.1 32.2c4.5-12.5-1.9-26.2-14.3-30.8S397.5 3.3 393 15.8l-4.6 12.7L328.7 6.7c-12.5-4.5-26.2 1.9-30.8 14.3L259.6 126.3c-4.5 12.5 1.9 26.2 14.3 30.8l59.7 21.7-15.4 42.4-28.8-10.8c-9.7-3.7-18.4-9.6-25.4-17.4L235 160.2c-18.2-20.5-44.3-32.2-71.8-32.2H135.6c-36.4 0-69.6 20.5-85.9 53.1L3.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L80 263.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h20.2L192 407.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V407.6c0-9.9-2.3-19.7-6.8-28.6L216 312.4V235.2l.3 .3c13.8 15.6 31.2 27.5 50.7 34.8l29.3 11L289 301.5c-4.5 12.5 1.9 26.2 14.3 30.8s26.2-1.9 30.8-14.3l44.6-122.6 60.6 22c12.5 4.5 26.2-1.9 30.8-14.3L508.4 97.7c4.5-12.5-1.9-26.2-14.3-30.8l-60.6-22 4.6-12.7zM192 48A48 48 0 1 0 96 48a48 48 0 1 0 96 0z\"]\n};\nvar faFaceSmile = {\n prefix: 'fas',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSmile = faFaceSmile;\nvar faPhoneHangup = {\n prefix: 'fas',\n iconName: 'phone-hangup',\n icon: [640, 512, [], \"e225\", \"M11.7 266.3l41.9 94.3c6.1 13.7 20.8 21.3 35.5 18.4l109.2-21.8c15-3 25.7-16.1 25.7-31.4V240c62.3-20.8 129.7-20.8 192 0v85.8c0 15.3 10.8 28.4 25.7 31.4L550.9 379c14.7 2.9 29.4-4.7 35.5-18.4l41.9-94.3c7.2-16.2 5.1-35.1-7.4-47.7C570.8 168.1 464.2 96 320 96S69.2 168.1 19.1 218.6c-12.5 12.6-14.6 31.5-7.4 47.7z\"]\n};\nvar faSignatureSlash = {\n prefix: 'fas',\n iconName: 'signature-slash',\n icon: [640, 512, [], \"e3cb\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L563 416h53c13.3 0 24-10.7 24-24s-10.7-24-24-24H501.8l-61.2-48H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96c-37 0-69.1 20.9-85.1 51.6L38.8 5.1zM192.1 125.3C193.5 108.9 207.2 96 224 96c17.7 0 32 14.3 32 32v7.8c0 12.8-.5 25.6-1.5 38.3l-62.4-48.9zM355.3 253.2l42.8-12.8-12.3 36.8-30.5-23.9zm-190.9-9.5c-40.6 12.2-68.4 49.6-68.4 92v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c17.5-30.5 31.9-62.7 43.1-95.9L181.1 238.7l-16.7 5zm67.4 46.6c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7l49-14.7zM24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368H24z\"]\n};\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32zM160 384h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]\n};\nvar faThumbTack = faThumbtack;\nvar faWheatSlash = {\n prefix: 'fas',\n iconName: 'wheat-slash',\n icon: [640, 512, [], \"e339\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L362.5 258.8l28.7-28.7 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L550.5 231c6.2-6.2 6.2-16.4 0-22.6L539.2 197c-34.1-34.1-82.6-44.9-125.9-32.5c12.4-43.3 1.5-91.8-32.5-125.9L369.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L335.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-3.3 3.3-6.3 6.8-9 10.4L38.8 5.1zm255 322.4l-50.6-39.9-29.5 29.5c-3.4-27.3-15.5-53.8-36.5-74.8L165.8 231c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L73.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l36.3-36.3zM536 0c-48.6 0-88 39.4-88 88v24c0 8.8 7.2 16 16 16h24c48.6 0 88-39.4 88-88V16c0-8.8-7.2-16-16-16H536z\"]\n};\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.9C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z\"]\n};\nvar faCloudsSun = {\n prefix: 'fas',\n iconName: 'clouds-sun',\n icon: [640, 512, [], \"f746\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 30.7 5.1c-26.4 10.6-47 32.6-55.7 59.9C276.8 132.7 244.8 112 208 112c-53 0-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17.1c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm450.6 75c-18.9-35.1-56-59-98.7-59c-12.9 0-25.3 2.2-36.8 6.2C435.9 206.6 403.7 192 368 192c-16.7 0-32.6 3.2-47.3 9c-.4-2.9-.6-5.9-.6-8.9c0-35.3 28.6-64 64-64c7.4 0 14.6 1.3 21.2 3.6c11.5-30.1 40.6-51.6 74.8-51.6c38.9 0 71.3 27.8 78.5 64.6c3.1-.4 6.3-.6 9.5-.6c39.8 0 72 32.2 72 72c0 30.4-18.8 56.3-45.4 66.9zm45.3 148.9c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faPersonPraying = {\n prefix: 'fas',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M352 64A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM232.7 264l22.9 31.5c6.5 8.9 16.3 14.7 27.2 16.1s21.9-1.7 30.4-8.7l88-72c17.1-14 19.6-39.2 5.6-56.3s-39.2-19.6-56.3-5.6l-55.2 45.2-26.2-36C253.6 156.7 228.6 144 202 144c-30.9 0-59.2 17.1-73.6 44.4L79.8 280.9c-20.2 38.5-9.4 85.9 25.6 111.8L158.6 432H72c-22.1 0-40 17.9-40 40s17.9 40 40 40H280c17.3 0 32.6-11.1 38-27.5s-.3-34.4-14.2-44.7L187.7 354l45-90z\"]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4l-38.1-38.1C280.4 159 272 138.8 272 117.6V105.5L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z\"]\n};\nvar faFaceVomit = {\n prefix: 'fas',\n iconName: 'face-vomit',\n icon: [576, 512, [], \"e3a0\", \"M544 256c0 72.5-30.1 137.9-78.5 184.5l-16.7-5.6c-11.9-4-21.5-12.3-27.2-22.9c16.7-12.6 26.4-27.7 26.4-44c0-44.2-71.6-80-160-80s-160 35.8-160 80c0 16.3 9.7 31.4 26.4 44c-5.7 10.6-15.2 19-27.2 22.9l-16.7 5.6C62.1 393.9 32 328.5 32 256C32 114.6 146.6 0 288 0S544 114.6 544 256zM148 141.1c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9c-7.9-4.2-17.5 1.5-17.5 10.5zm262.5-10.5l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6c0-9-9.6-14.7-17.5-10.5zM32 448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm480 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 396.1V338.7c23.6-11.1 57.3-18.7 96-18.7s72.4 7.6 96 18.7v57.4c0 31 19.8 58.5 49.2 68.3l34.1 11.4c7.6 2.5 12.7 9.6 12.7 17.6c0 10.3-8.3 18.6-18.6 18.6H114.6c-10.3 0-18.6-8.3-18.6-18.6c0-8 5.1-15.1 12.7-17.6l34.1-11.4c29.4-9.8 49.2-37.3 49.2-68.3zM304 384a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-48 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSpeakers = {\n prefix: 'fas',\n iconName: 'speakers',\n icon: [640, 512, [], \"f8e0\", \"M64 0H280.4C265.2 17 256 39.4 256 64V257.6c-20.3-20.7-48.7-33.6-80-33.6c-61.9 0-112 50.1-112 112s50.1 112 112 112c31.3 0 59.7-12.9 80-33.6V448c0 24.6 9.2 47 24.4 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM320 503.4c-19.1-11.1-32-31.7-32-55.4V336 64c0-23.7 12.9-44.4 32-55.4C329.4 3.1 340.3 0 352 0H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H352c-11.7 0-22.6-3.1-32-8.6zM352 336a112 112 0 1 0 224 0 112 112 0 1 0 -224 0zM176 272a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0-112a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM400 336a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM512 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faTtyAnswer = {\n prefix: 'fas',\n iconName: 'tty-answer',\n icon: [640, 512, [\"teletype-answer\"], \"e2b9\", \"M117.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L144 207.3c33.3 70.4 90.3 127.4 160.7 160.7L345 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C481.8 499.9 466 512 448 512C200.6 512 0 311.4 0 64C0 46 12.1 30.2 29.5 25.4l88-24zM304 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm0 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V80zM496 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H592c-8.8 0-16-7.2-16-16V80zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H592c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zM384 176c0-8.8 7.2-16 16-16H528c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V176z\"]\n};\nvar faTeletypeAnswer = faTtyAnswer;\nvar faMugTeaSaucer = {\n prefix: 'fas',\n iconName: 'mug-tea-saucer',\n icon: [640, 512, [], \"e1f5\", \"M208 82.7V32H128c-17.7 0-32 14.3-32 32V288c0 53 43 96 96 96H384c53 0 96-43 96-96h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H448 240V82.7c0 8.5 3.4 16.6 9.4 22.6l29.3 29.3c6 6 9.4 14.1 9.4 22.6V224c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V157.3c0-8.5 3.4-16.6 9.4-22.6l29.3-29.3c6-6 9.4-14.1 9.4-22.6zM480 96h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H480V96zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faDiagramLeanCanvas = {\n prefix: 'fas',\n iconName: 'diagram-lean-canvas',\n icon: [640, 512, [], \"e156\", \"M512 96V304h64V96H512zm-48 0H400v80h64V96zM352 96H288V304h64V96zM240 96H176v80h64V96zM128 96H64V304h64V96zM64 352v64H296V352H64zm280 64H576V352H344v64zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM240 304V224H176v80h64zm224-80H400v80h64V224z\"]\n};\nvar faAlt = {\n prefix: 'fas',\n iconName: 'alt',\n icon: [640, 512, [], \"e08a\", \"M448 64c-9.7 0-18.9 4.4-25 12L176.6 384H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c9.7 0 18.9-4.4 25-12L463.4 128H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H448zm0 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H448z\"]\n};\nvar faDial = {\n prefix: 'fas',\n iconName: 'dial',\n icon: [576, 512, [\"dial-med-high\"], \"e15b\", \"M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM175.1 174.2c56.7-56.7 145.4-62 208-15.7L271.3 270.4c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L417.1 192.4c46.2 62.6 41 151.3-15.7 208c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faDialMedHigh = faDial;\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M224 0c17.7 0 32 14.3 32 32V240H192V32c0-17.7 14.3-32 32-32zm96 160c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zM93.3 51.2L175.9 240H106.1L34.7 76.8C27.6 60.6 35 41.8 51.2 34.7s35.1 .3 42.1 16.5zm27 221.3l-.2-.5h69.9H216c22.1 0 40 17.9 40 40s-17.9 40-40 40H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H226.3c-42.4 0-83.1-16.9-113.1-46.9l-11.6-11.6C77.5 429.5 64 396.9 64 363V336c0-32.7 24.6-59.7 56.3-63.5z\"]\n};\nvar faCircleTrash = {\n prefix: 'fas',\n iconName: 'circle-trash',\n icon: [512, 512, [\"trash-circle\"], \"e126\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 128h41.4l11.3-11.3c3-3 7.1-4.7 11.3-4.7h64c4.2 0 8.3 1.7 11.3 4.7L310.6 128H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H352L338.4 354.7c-1.4 16.6-15.2 29.3-31.9 29.3H205.4c-16.6 0-30.5-12.8-31.9-29.3L160 192z\"]\n};\nvar faTrashCircle = faCircleTrash;\nvar faRotate = {\n prefix: 'fas',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v7.6 .7V440c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H48.4h-.7H40c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSyncAlt = faRotate;\nvar faCircleQuarters = {\n prefix: 'fas',\n iconName: 'circle-quarters',\n icon: [512, 512, [], \"e3f8\", \"M120.2 391.8L256 256 391.8 391.8C426.5 357 448 309 448 256s-21.5-101-56.2-135.8L256 256 120.2 120.2C85.5 155 64 203 64 256s21.5 101 56.2 135.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z\"]\n};\nvar faTowerControl = {\n prefix: 'fas',\n iconName: 'tower-control',\n icon: [448, 512, [], \"e2a2\", \"M184 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V96H160c-17.7 0-32 14.3-32 32H42.6C16 128-3.2 153.4 4.1 179L44.5 320.2C28.5 321.9 16 335.5 16 352c0 17.7 14.3 32 32 32H80v96c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V384l32 0c17.7 0 32-14.3 32-32c0-16.5-12.5-30.1-28.5-31.8L443.9 179c7.3-25.6-11.9-51-38.5-51H320c0-17.7-14.3-32-32-32H248V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H224 184zM128 192V320H111c-.1-.3-.1-.5-.2-.8L74.4 192H128zm48 128V192h96V320l-96 0zM320 192h53.6L337.2 319.2l-.1 .3-.1 .5H320V192z\"]\n};\nvar faArrowUpTriangleSquare = {\n prefix: 'fas',\n iconName: 'arrow-up-triangle-square',\n icon: [576, 512, [\"sort-shapes-up\"], \"f88a\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM443.1 47C437.3 37.7 427 32 416 32s-21.3 5.7-27.1 15l-80 128c-6.2 9.9-6.5 22.3-.9 32.5s16.4 16.5 28 16.5H496c11.6 0 22.3-6.3 28-16.5s5.3-22.6-.9-32.5l-80-128zM320 336v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortShapesUp = faArrowUpTriangleSquare;\nvar faWhale = {\n prefix: 'fas',\n iconName: 'whale',\n icon: [640, 512, [128011], \"f72c\", \"M175.8 13.4c-1-5.9-5.2-10.8-10.9-12.6s-12-.3-16.2 3.9L108 45.4C89.7 63.7 81.4 89.6 85.6 115.1l7.9 47.4L43.6 212.4C15.7 240.3 0 278.2 0 317.6C0 407.3 72.7 480 162.4 480H544c53 0 96-43 96-96V272.1C640 192.5 575.5 128 495.9 128c-82.5 0-162.4 29.5-225 83.2L156.4 309.4c-8 6.8-18.1 10.6-28.6 10.6h-1.1c-18.3 0-34.5-11.7-40.3-29c-4-12-2.4-25.2 4.3-35.9l37.6-60.1 44.7 7.5c25.5 4.2 51.5-4.1 69.7-22.3l40.7-40.7c4.2-4.2 5.8-10.5 3.9-16.2s-6.7-9.9-12.6-10.9L189.9 98.1 175.8 13.4zM400 280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c17.7 0 32 14.3 32 32V96H472c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H168c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M224 445.3V323.5l-94.3 77.1c26.1 22.8 58.5 38.7 94.3 44.7zM89.2 351.1L224 240.8V66.7C133.2 81.9 64 160.9 64 256c0 34.6 9.2 67.1 25.2 95.1zm293.1 49.5L288 323.5V445.3c35.7-6 68.1-21.9 94.3-44.7zm40.6-49.5c16-28 25.2-60.5 25.2-95.1c0-95.1-69.2-174.1-160-189.3V240.8L422.8 351.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPartyHorn = {\n prefix: 'fas',\n iconName: 'party-horn',\n icon: [512, 512, [], \"e31b\", \"M32 32a32 32 0 1 1 64 0A32 32 0 1 1 32 32zM448 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM167 153c-9.4-9.4-9.4-24.6 0-33.9l8.3-8.3c16.7-16.7 27.2-38.6 29.8-62.1l3-27.4C209.6 8.2 221.5-1.3 234.7 .1s22.7 13.3 21.2 26.5l-3 27.4c-3.8 34.3-19.2 66.3-43.6 90.7L201 153c-9.4 9.4-24.6 9.4-33.9 0zM359 311l8.2-8.3c24.4-24.4 56.4-39.8 90.7-43.6l27.4-3c13.2-1.5 25 8 26.5 21.2s-8 25-21.2 26.5l-27.4 3c-23.5 2.6-45.4 13.1-62.1 29.8L393 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM506.3 8.5c8.6 10.1 7.3 25.3-2.8 33.8l-10 8.5c-14.8 12.5-33.7 19.1-53 18.6c-16.6-.4-30.6 12.4-31.6 29l-1.8 30c-2.5 42.5-38.3 75.3-80.8 74.2c-7.6-.2-15 2.4-20.7 7.3l-10 8.5c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l10-8.5c14.8-12.5 33.7-19.1 53-18.6c16.6 .4 30.6-12.4 31.6-29l1.8-30c2.5-42.5 38.3-75.3 80.8-74.2c7.6 .2 15-2.4 20.7-7.3l10-8.5c10.1-8.6 25.3-7.3 33.8 2.8zM150.6 201.4l160 160c7.7 7.7 11 18.8 8.6 29.4s-9.9 19.4-20 23.2l-39.7 14.9L83.1 252.5 98 212.8c3.8-10.2 12.6-17.7 23.2-20s21.7 1 29.4 8.6zM48.2 345.6l22.6-60.2L226.6 441.2l-60.2 22.6L48.2 345.6zM35.9 378.5l97.6 97.6L43.2 510c-11.7 4.4-25 1.5-33.9-7.3S-2.4 480.5 2 468.8l33.8-90.3z\"]\n};\nvar faGears = {\n prefix: 'fas',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8h-.7c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCogs = faGears;\nvar faSunBright = {\n prefix: 'fas',\n iconName: 'sun-bright',\n icon: [512, 512, [\"sun-alt\"], \"e28f\", \"M256 0c-13.3 0-24 10.7-24 24V88c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zm0 400c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V424c0-13.3-10.7-24-24-24zM488 280c13.3 0 24-10.7 24-24s-10.7-24-24-24H424c-13.3 0-24 10.7-24 24s10.7 24 24 24h64zM112 256c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24zM437 108.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-45.3 45.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L437 108.9zM154.2 357.8c-9.4-9.4-24.6-9.4-33.9 0L75 403.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l45.3-45.3c9.4-9.4 9.4-24.6 0-33.9zM403.1 437c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-45.3-45.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L403.1 437zM154.2 154.2c9.4-9.4 9.4-24.6 0-33.9L108.9 75c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l45.3 45.3c9.4 9.4 24.6 9.4 33.9 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faSunAlt = faSunBright;\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm488 24l-336 0c-13.3 0-24-10.7-24-24V432H512l0 56c0 13.3-10.7 24-24 24zM128 400V336H512v64H128zm0-96V224H512l0 80H128z\"]\n};\nvar faConveyorBeltArm = {\n prefix: 'fas',\n iconName: 'conveyor-belt-arm',\n icon: [640, 512, [], \"e5f8\", \"M240.9 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H267.1l-5.7 34c.8 1 1.5 2 2.3 3l204.5 27.3c17.5 2.3 29.8 18.4 27.5 35.9c-1.4 10.2-7.4 18.7-15.7 23.5V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V190.1L255.2 164.5c-8.4 7.2-19.3 11.6-31.2 11.6c-26.5 0-48-21.5-48-48c0-17.1 8.9-32 22.3-40.6L202.2 64H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h79c.6 0 1.2 0 1.9 0zM240 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 280c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v40h32c53 0 96 43 96 96s-43 96-96 96H96c-53 0-96-43-96-96s43-96 96-96l0-40c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v40h64V280c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v40h64V280zM128 448a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLockKeyholeOpen = {\n prefix: 'fas',\n iconName: 'lock-keyhole-open',\n icon: [576, 512, [\"lock-open-alt\"], \"f3c2\", \"M432 64c-44.2 0-80 35.8-80 80v48h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H288V144C288 64.5 352.5 0 432 0s144 64.5 144 144v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V144c0-44.2-35.8-80-80-80zM256 384c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z\"]\n};\nvar faLockOpenAlt = faLockKeyholeOpen;\nvar faSquareFragile = {\n prefix: 'fas',\n iconName: 'square-fragile',\n icon: [448, 512, [\"box-fragile\", \"square-wine-glass-crack\"], \"f49b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 86.3C128 106 138 96 150.3 96H176l32 64-32 32 80 64-32-64 48-32L240 96h57.7C310 96 320 106 320 118.3V208c0 47.6-34.6 87.1-80 94.7V384h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V302.7c-45.4-7.6-80-47.1-80-94.7V118.3z\"]\n};\nvar faBoxFragile = faSquareFragile;\nvar faSquareWineGlassCrack = faSquareFragile;\nvar faArrowUpRightDots = {\n prefix: 'fas',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h50.7L9.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 109.3V160c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H160zM576 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM448 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm128 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM576 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSquareN = {\n prefix: 'fas',\n iconName: 'square-n',\n icon: [448, 512, [], \"e277\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.3 104.5L288 294.5V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.1-6.3 19.1-15.7 22.5s-20.1 .7-26.6-7L160 217.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.1 6.3-19.1 15.7-22.5s20.1-.7 26.6 7z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M208.5 62.3l28.1-36.9C248.8 9.4 267.8 0 288 0c28.5 0 53.6 18.7 61.8 46l17.8 59.4c10.3 34.4 36.1 62 69.8 74.6l39.8 14.9c20.9 7.9 34.8 27.9 34.8 50.2c0 16.9-7.9 32.8-21.5 42.9l-67.3 50.5c-24.3 18.2-37.2 47.9-33.8 78.1l2.5 22.7c4.3 38.7-26 72.6-65 72.6c-14.8 0-29.3-5.1-40.8-14.3l-55.4-44.3c-4.5-3.6-9.3-6.7-14.5-9.2c-15.8-7.9-33.7-10.4-51-7.3L82.4 451.9C47.8 458.2 16 431.6 16 396.5c0-13.2 4.7-26 13.1-36.2l11.2-13.4c14.6-17.4 22.6-39.4 22.6-62.1c0-18.8-5.5-37.2-15.8-53L8.8 173.5C3.1 164.7 0 154.4 0 143.9c0-33.4 30.1-58.8 63-53.2l51.3 8.7c35.9 6.1 72.2-8.2 94.2-37.1z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'fas',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faMeter = {\n prefix: 'fas',\n iconName: 'meter',\n icon: [512, 512, [], \"e1e8\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faMandolin = {\n prefix: 'fas',\n iconName: 'mandolin',\n icon: [512, 512, [], \"f6f9\", \"M435.3 3.6C444.8-2.3 457.1-.9 465 7l40 40c7.9 7.9 9.3 20.2 3.4 29.7l-40 64c-3.2 5.1-8.2 8.8-14 10.4L388 169.2l-65.9 65.9C323.7 322.4 311.5 512 176 512C78.8 512 0 433.2 0 336C0 200.5 189.6 188.3 276.9 189.8L342.8 124l18.1-66.3c1.6-5.8 5.3-10.8 10.4-14l64-40zM208 352a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M64 0H242.7c17 0 33.3 6.7 45.3 18.7L365.3 96c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM96 192c-17.7 0-32 14.3-32 32v32h64V192H96zM64 352h80 96 80V288H240 144 64v64zM320 224c0-17.7-14.3-32-32-32H256v64h64V224zM160 192v64h64V192H160zM288 448c17.7 0 32-14.3 32-32V384H256v64h32zM160 384v64h64V384H160zM64 416c0 17.7 14.3 32 32 32h32V384H64v32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M112 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-31 31L112 78.1l7-7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7 15.2 15.2C187.7 107.6 220.5 96 256 96s68.3 11.6 94.9 31.2l68.8-68.8-31-31c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h96c8.8 0 16 7.2 16 16v96c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-31-31-68.8 68.8C404.4 187.7 416 220.5 416 256c0 80.2-59 146.6-136 158.2V432h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V414.2C155 402.6 96 336.2 96 256c0-35.5 11.6-68.3 31.2-94.9L112 145.9l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l7-7L58.3 92.3l-31 31c-4.6 4.6-11.5 5.9-17.4 3.5S0 118.5 0 112V16C0 7.2 7.2 0 16 0h96zM352 256a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M72.1 7C85.8-4 106-1.8 117 12c17.6 22 44.7 36 75 36s57.3-14 75-36c11.1-13.8 31.2-16 45-5s16 31.2 5 45c-7.8 9.7-16.6 18.4-26.4 26.1C337.3 109.7 368 163.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-60.7 30.7-114.3 77.5-145.9C83.7 70.5 74.9 61.7 67.1 52c-11.1-13.8-8.8-33.9 5-45zM80 224a112 112 0 1 0 224 0A112 112 0 1 0 80 224z\"]\n};\nvar faUpFromBracket = {\n prefix: 'fas',\n iconName: 'up-from-bracket',\n icon: [448, 512, [], \"e590\", \"M73.9 134.1L196.7 11.3C203.9 4.1 213.8 0 224 0s20.1 4.1 27.3 11.3L374.1 134.1c6.4 6.4 9.9 15 9.9 24c0 18.7-15.2 33.9-33.9 33.9H288V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192H97.9C79.2 192 64 176.8 64 158.1c0-9 3.6-17.6 9.9-24zM64 352v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faKnifeKitchen = {\n prefix: 'fas',\n iconName: 'knife-kitchen',\n icon: [576, 512, [128298], \"f6f5\", \"M488 0c9.4 0 18.3 3.7 25 10.3L557.7 55c6.6 6.6 10.3 15.6 10.3 25s-3.7 18.3-10.3 25l-97 97c-3 3-4.7 7.1-4.7 11.3v31.9c0 17.4-9.4 33.5-24.7 42l-31 17.2L295.9 200.1l-11.3-11.3L463 10.3C469.7 3.7 478.6 0 488 0zM432 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM262 211.4l11.3 11.3 126 126c6.2 6.2 6.2 16.4 0 22.6C321.4 449.2 235.3 512 112 512c-25.6 0-50.9-4.2-69.5-8.4c-9.4-2.1-17.2-4.2-22.7-5.7c-2.8-.8-4.9-1.4-6.5-1.9c-.8-.2-1.4-.4-1.8-.6l-.5-.2-.1 0 0 0 0 0 0 0s0 0 5.1-15.2l-5.1 15.2c-5.3-1.8-9.2-6.1-10.5-11.5s.3-11.1 4.3-15l246-246L262 211.4z\"]\n};\nvar faBorderRight = {\n prefix: 'fas',\n iconName: 'border-right',\n icon: [448, 512, [], \"f852\", \"M416 32c17.7 0 32 14.3 32 32l0 384c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-384c0-17.7 14.3-32 32-32zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192-32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowTurnDown = {\n prefix: 'fas',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M32 64C14.3 64 0 49.7 0 32S14.3 0 32 0l96 0c53 0 96 43 96 96l0 306.7 73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 402.7 160 96c0-17.7-14.3-32-32-32L32 64z\"]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faSpade = {\n prefix: 'fas',\n iconName: 'spade',\n icon: [512, 512, [9824], \"f2f4\", \"M278 12.5c-12.3-11.7-31.7-11.7-44 0L168 75.1 40 196.3c-51.3 48.6-53.5 129.6-4.9 181s129.6 53.5 181 4.9l8-7.6V448H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V374.6l8 7.6c51.3 48.6 132.3 46.4 181-4.9s46.4-132.3-4.9-181L344 75.1 278 12.5z\"]\n};\nvar faCardSpade = {\n prefix: 'fas',\n iconName: 'card-spade',\n icon: [384, 512, [], \"e3ec\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM175 137.8c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6 64 64c21.9 21.9 21.9 57.3 0 79.2s-57.3 21.9-79.2 0l-7.4-7.4c-.3-.3-.6-.6-1-.9V336h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V295.2c-.3 .3-.7 .6-1 .9l-7.4 7.4c-21.9 21.9-57.3 21.9-79.2 0s-21.9-57.3 0-79.2l64-64L175 137.8z\"]\n};\nvar faLineColumns = {\n prefix: 'fas',\n iconName: 'line-columns',\n icon: [512, 512, [], \"f870\", \"M224 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H192c17.7 0 32-14.3 32-32zm0 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM0 320c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM224 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM288 64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 192c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32zM288 320c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 448c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32z\"]\n};\nvar faArrowRightToLine = {\n prefix: 'fas',\n iconName: 'arrow-right-to-line',\n icon: [448, 512, [8677, \"arrow-to-right\"], \"f340\", \"M448 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96zM310.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l178.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]\n};\nvar faArrowToRight = faArrowRightToLine;\nvar faPersonFallingBurst = {\n prefix: 'fas',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 9.8c0 39-23.7 74-59.9 88.4C71.6 154.5 32 213 32 278.2V352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10 1.6-19.8 4.5-29L261.1 497.4c9.6 14.8 29.4 19.1 44.3 9.5s19.1-29.4 9.5-44.3L222.6 320H224l80 0 38.4 51.2c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-43.2-57.6C341.3 263.1 327.1 256 312 256l-71.5 0-56.8-80.2-.2-.3c44.7-29 72.5-79 72.5-133.6l0-9.8zM96 80A48 48 0 1 0 0 80a48 48 0 1 0 96 0zM464 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 78.7-12.2c6.5-1 11.7-5.9 13.1-12.2s-1.1-13-6.5-16.7l-65.6-45.1L603 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L508.3 92.1l-29.4-74C476.4 12 470.6 8 464 8s-12.4 4-14.9 10.1l-29.4 74L343.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1-65.6 45.1c-5.4 3.7-8 10.3-6.5 16.7c.1 .3 .1 .6 .2 .8l19.4 0c20.1 0 39.2 7.5 53.8 20.8l18.4 2.9L383 265.3l36.2 48.3c2.1 2.8 3.9 5.7 5.5 8.6L464 286.1z\"]\n};\nvar faFlagPennant = {\n prefix: 'fas',\n iconName: 'flag-pennant',\n icon: [448, 512, [128681, \"pennant\"], \"f456\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352L433 213.6c9-3.4 15-12 15-21.6s-6-18.2-15-21.6L64 32z\"]\n};\nvar faPennant = faFlagPennant;\nvar faConveyorBeltEmpty = {\n prefix: 'fas',\n iconName: 'conveyor-belt-empty',\n icon: [640, 512, [], \"e150\", \"M96 320c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H96zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserGroupSimple = {\n prefix: 'fas',\n iconName: 'user-group-simple',\n icon: [640, 512, [], \"e603\", \"M160 32a104 104 0 1 1 0 208 104 104 0 1 1 0-208zm320 0a104 104 0 1 1 0 208 104 104 0 1 1 0-208zM0 416c0-70.7 57.3-128 128-128h64c70.7 0 128 57.3 128 128v16c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V416zm448 64c-38.3 0-72.7-16.8-96.1-43.5c.1-1.5 .1-3 .1-4.5V416c0-34.9-11.2-67.1-30.1-93.4c5.8-20 24.2-34.6 46.1-34.6H592c26.5 0 48 21.5 48 48v16c0 70.7-57.3 128-128 128H448z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M173.8 5.5c11-7.3 25.4-7.3 36.4 0L228 17.2c6 3.9 13 5.8 20.1 5.4l21.3-1.3c13.2-.8 25.6 6.4 31.5 18.2l9.6 19.1c3.2 6.4 8.4 11.5 14.7 14.7L344.5 83c11.8 5.9 19 18.3 18.2 31.5l-1.3 21.3c-.4 7.1 1.5 14.2 5.4 20.1l11.8 17.8c7.3 11 7.3 25.4 0 36.4L366.8 228c-3.9 6-5.8 13-5.4 20.1l1.3 21.3c.8 13.2-6.4 25.6-18.2 31.5l-19.1 9.6c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-11 7.3-25.4 7.3-36.4 0L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5 301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5 210.2c-7.3-11-7.3-25.4 0-36.4L17.2 156c3.9-6 5.8-13 5.4-20.1l-1.3-21.3c-.8-13.2 6.4-25.6 18.2-31.5l19.1-9.6C65 70.2 70.2 65 73.4 58.6L83 39.5c5.9-11.8 18.3-19 31.5-18.2l21.3 1.3c7.1 .4 14.2-1.5 20.1-5.4L173.8 5.5zM272 192a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM1.3 441.8L44.4 339.3c.2 .1 .3 .2 .4 .4l9.6 19.1c11.7 23.2 36 37.3 62 35.8l21.3-1.3c.2 0 .5 0 .7 .2l17.8 11.8c5.1 3.3 10.5 5.9 16.1 7.7l-37.6 89.3c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L211.7 413c5.6-1.8 11-4.3 16.1-7.7l17.8-11.8c.2-.1 .4-.2 .7-.2l21.3 1.3c26 1.5 50.3-12.6 62-35.8l9.6-19.1c.1-.2 .2-.3 .4-.4l43.2 102.5c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nvar faTicketSimple = {\n prefix: 'fas',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192V128z\"]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faAnglesLeft = {\n prefix: 'fas',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160zm352-160l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0z\"]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faCamcorder = {\n prefix: 'fas',\n iconName: 'camcorder',\n icon: [576, 512, [128249, \"video-handheld\"], \"f8a8\", \"M128 96c-17.7 0-32 14.3-32 32v32H320c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-23.7 12.9-44.4 32-55.4V128c0-53 43-96 96-96H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H128zm431.1 67.8c10.4 5.6 16.9 16.4 16.9 28.2V448c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 401.1V384 256 238.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6zM80 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faVideoHandheld = faCamcorder;\nvar faPancakes = {\n prefix: 'fas',\n iconName: 'pancakes',\n icon: [512, 512, [129374], \"e42d\", \"M256 192c0-17.7 14.3-31.9 32-32.6c108.6-4.4 192-31.1 192-63.4c0-35.3-100.3-64-224-64S32 60.7 32 96c0 13.8 15.3 26.6 41.3 37C86.5 138.3 96 150.6 96 164.8V272c0 17.7 14.3 32 32 32s32-14.3 32-32V171.7c0-9.5 8.1-16.8 17.5-15.7c8.1 .9 14.5 7.6 14.5 15.7V224c0 17.7 14.3 32 32 32s32-14.3 32-32V192zM192 80c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zM14.9 133C5.3 141.4 0 150.5 0 160c0 20.3 24.2 38.8 64 52.9V164.8c0-.1-.1-.2-.2-.4c-.4-.5-1.2-1.3-2.4-1.8c-14.7-5.9-28.7-13.4-39.6-22.9c-2.3-2-4.6-4.3-6.8-6.8zM286.1 239.5C413.3 234.8 512 201 512 160c0-9.5-5.3-18.6-14.9-27c-4 4.5-8.5 8.4-12.7 11.5c-13.4 10-30.9 17.8-49.8 24C396.6 181 345.5 189 289.3 191.3c-.5 0-.9 .2-1.2 .5c-.1 .1-.1 .2-.1 .2l0 32c0 5.3-.7 10.5-1.9 15.5zM7.2 221.1C2.5 227.2 0 233.5 0 240c0 21 25.8 40 68 54.3c-2.6-6.9-4-14.5-4-22.3V246.7c-21.5-6.8-41.1-15.2-56.8-25.6zM256 320c141.4 0 256-35.8 256-80c0-6.5-2.5-12.8-7.2-18.9c-16.1 10.6-36.2 19.1-58.3 26c-47.8 14.9-111.2 24-180.2 24.8c-11.3 10-26.1 16.1-42.4 16.1c-11.8 0-22.9-3.2-32.4-8.8c-1.6 14.1-7.8 26.9-17 36.7c25.6 2.7 52.9 4.1 81.4 4.1zm256 0c0-6.5-2.5-12.8-7.2-18.9c-16.1 10.6-36.2 19.1-58.3 26C396.4 342.8 329 352 256 352s-140.4-9.2-190.6-24.9c-22-6.9-42.2-15.4-58.3-26C2.5 307.2 0 313.5 0 320c0 44.2 114.6 80 256 80s256-35.8 256-80zm0 80c0-6.5-2.5-12.8-7.2-18.9c-16.1 10.6-36.2 19.1-58.3 26C396.4 422.8 329 432 256 432s-140.4-9.2-190.6-24.9c-22-6.9-42.2-15.4-58.3-26C2.5 387.2 0 393.5 0 400c0 44.2 114.6 80 256 80s256-35.8 256-80z\"]\n};\nvar faAlbumCircleUser = {\n prefix: 'fas',\n iconName: 'album-circle-user',\n icon: [576, 512, [], \"e48d\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v96.7c-5.3-.5-10.6-.7-16-.7c-20.1 0-39.5 3.4-57.5 9.6C352.3 140 293.3 96 224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c12.9 0 25.4-1.5 37.4-4.4c6.5 25.5 18.5 48.7 34.8 68.4H64c-35.3 0-64-28.7-64-64V96zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 144a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H399.4c-21 0-38.9 13.7-45.1 32.7C374.5 468.1 401.8 480 432 480s57.5-11.9 77.7-31.3zM480 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM64 96v64h64V96H64zM0 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336zm64 16v64h64V352H64zM304 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm80 64H320v64h64V96zM256 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V304zM368 480a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 0a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nvar faDiceD10 = {\n prefix: 'fas',\n iconName: 'dice-d10',\n icon: [512, 512, [], \"f6cd\", \"M209.7 16.3C212.4 8.3 206.4 0 198 0V0c-3.8 0-7.3 1.7-9.7 4.6L2.4 237C.8 238.9 0 241.3 0 243.8v0c0 7 6.4 12.1 13.2 10.6l117.6-26.1c5.5-1.2 9.9-5.2 11.7-10.6L209.7 16.3zM8.7 288.2C3.6 289.4 0 293.9 0 299.1v0c0 3.1 1.3 6.1 3.6 8.2L220.7 508.9c2.1 2 4.9 3.1 7.8 3.1v0c6.3 0 11.5-5.1 11.5-11.5V328.8c0-5.3-2.6-10.2-6.9-13.2l-78.7-54.5c-3.7-2.5-8.2-3.4-12.6-2.5L8.7 288.2zM272 500.5c0 6.3 5.1 11.5 11.5 11.5v0c2.9 0 5.7-1.1 7.8-3.1L508.4 307.3c2.3-2.1 3.6-5.1 3.6-8.2v0c0-5.2-3.6-9.8-8.7-10.9L370.2 258.7c-4.4-1-8.9-.1-12.6 2.5l-78.7 54.5c-4.3 3-6.9 7.9-6.9 13.2V500.5zM498.8 254.4c6.8 1.5 13.2-3.7 13.2-10.6v0c0-2.5-.8-4.9-2.4-6.8L323.7 4.6C321.4 1.7 317.8 0 314 0V0c-8.5 0-14.4 8.3-11.7 16.3l67.2 201.5c1.8 5.3 6.2 9.3 11.7 10.6l117.6 26.1zM246.6 6.8L174.8 222.3c-2.2 6.7 .2 14.2 6.1 18.2l66.1 45.7c5.5 3.8 12.7 3.8 18.2 0l66.1-45.7c5.8-4 8.3-11.5 6.1-18.2L265.4 6.8C264 2.7 260.3 0 256 0V0c-4.3 0-8 2.7-9.4 6.8z\"]\n};\nvar faFireplace = {\n prefix: 'fas',\n iconName: 'fireplace',\n icon: [640, 512, [], \"f79a\", \"M0 32V64C0 81.7 14.3 96 32 96H608c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32zm608 96H32V480c0 17.7 14.3 32 32 32h96V352c0-88.4 71.6-160 160-160s160 71.6 160 160V512h96c17.7 0 32-14.3 32-32V128zM300.6 258.7c-2-1.8-4.6-2.7-7.1-2.7c-2.6 0-5.2 .9-7.3 2.7c-24.2 21.6-44.7 46.1-59.2 69.7c-14.3 23.2-23.6 48.2-23.6 67.4c0 63.8 51.1 116.3 116.4 116.3c64.5 0 116.4-52.4 116.4-116.3c0-14.7-7-37-17.6-57.4c-10.7-20.7-25.9-42.5-43.9-59c-4.1-3.7-10.4-3.8-14.5 0c-7 6.4-13.5 14.3-19.2 21.5c-12.6-15.1-26-29-40.4-42zm55.6 195.8c-10.9 7.3-22.5 10.9-35.6 10.9c-32.7 0-58.9-21.1-58.9-56.7c0-17.5 10.9-32.7 32.7-59.6c2.9 3.6 45.1 57.5 45.1 57.5L365.7 376c2.2 2.9 3.6 5.8 5.1 8.7c13.1 24 7.3 54.5-14.5 69.8z\"]\n};\nvar faBrowser = {\n prefix: 'fas',\n iconName: 'browser',\n icon: [512, 512, [128468], \"f37e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm384 0c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24z\"]\n};\nvar faPenPaintbrush = {\n prefix: 'fas',\n iconName: 'pen-paintbrush',\n icon: [576, 512, [\"pencil-paintbrush\"], \"f618\", \"M95.6 16.4L226.3 147.1l-79.2 79.2L16.4 95.6c-21.9-21.9-21.9-57.3 0-79.2s57.3-21.9 79.2 0zM400 512c-53.6 0-98.5-37.7-109.4-88.1L423.9 290.6c50.3 11 88.1 55.8 88.1 109.4c0 3.9-.2 7.8-.6 11.6c-1.8 17.5 10.2 36.4 27.8 36.4H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H400zM501.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L354.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM76.9 353.2L331.7 98.3 445.7 212.3 190.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2z\"]\n};\nvar faPencilPaintbrush = faPenPaintbrush;\nvar faFishCooked = {\n prefix: 'fas',\n iconName: 'fish-cooked',\n icon: [576, 512, [], \"f7fe\", \"M320 64c120 0 256 128 256 192s-136 192-256 192c-74.8 0-155.9-49.8-206.3-102.8c-6-6.3-15.8-7.2-22.5-1.7L26.1 396.4c-5.3 4.3-12.9 4.8-18.7 1.1s-8.6-10.7-6.9-17.4L30.5 259.9c.6-2.5 .6-5.2 0-7.8L.5 131.9c-1.6-6.5 .9-13.2 6.4-17s12.7-3.8 18.2 0l72 49.5c6.6 4.5 15.5 3.5 21.1-2.2C168.9 110.9 247.4 64 320 64zm-4.7 84.7c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6zm112 16c-6.2-6.2-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160c6.2-6.2 6.2-16.4 0-22.6zm16 112c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faChairOffice = {\n prefix: 'fas',\n iconName: 'chair-office',\n icon: [448, 512, [], \"f6c1\", \"M160 0H288c35.3 0 64 28.7 64 64V256H96V64c0-35.3 28.7-64 64-64zM64 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm384 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zM51.4 305.7C56.8 294.8 67.9 288 80 288H368c12.1 0 23.2 6.8 28.6 17.7l16 32c5 9.9 4.4 21.7-1.4 31.1s-16.1 15.2-27.2 15.2H256v64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H224 160c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V384H64c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32z\"]\n};\nvar faNestingDolls = {\n prefix: 'fas',\n iconName: 'nesting-dolls',\n icon: [640, 512, [], \"e3ba\", \"M192 0c61.9 0 112 50.1 112 112V224H80V112C80 50.1 130.1 0 192 0zm-8.7 64.9c-11.7 15.1-28.7 26-48.2 29.7c-4 .8-7.2 4.2-6.8 8.2c1.5 14 7.6 27.7 18.4 38.5c25 25 65.5 25 90.5 0c10.8-10.8 16.9-24.4 18.4-38.5c.4-4.1-2.7-7.5-6.8-8.2c-19.5-3.7-36.5-14.6-48.2-29.7c-4.1-5.3-13.2-5.3-17.3 0zM635.5 474.1c5.2 7.3 5.9 16.9 1.8 24.9s-12.4 13-21.3 13H312c-9 0-17.2-5-21.3-13c-4.1-8-3.4-17.6 1.8-24.9l0 0 .2-.3c.2-.3 .6-.8 1-1.5c.9-1.4 2.3-3.5 4-6.3c3.4-5.6 7.9-13.8 12.5-23.8c9.2-20.3 17.8-46.8 17.8-74.1v-8c0-75.1 60.9-136 136-136s136 60.9 136 136v8c0 27.3 8.6 53.7 17.8 74.1c4.6 10 9.1 18.2 12.5 23.8c1.7 2.8 3.1 5 4 6.3c.5 .7 .8 1.2 1 1.5l.2 .3 0 0 0 0zM455.3 320.9C440.7 339.8 417.8 352 392 352c-4.3 0-8 3.3-7.6 7.6c1.7 17.9 9.4 35.3 23.1 49c31.2 31.2 81.9 31.2 113.1 0c13.7-13.7 21.4-31.1 23.1-49c.4-4.3-3.3-7.6-7.6-7.6c-25.8 0-48.7-12.2-63.3-31.1c-4.1-5.3-13.2-5.3-17.3 0zM296 360v8c0 21-6.8 42.7-15 60.8c-4 8.7-7.9 15.8-10.8 20.6c-1.4 2.4-2.6 4.1-3.2 5.2c-.3 .5-.6 .9-.7 1l0 0 0 .1 0 0 0 0c-11.7 16.6-13.5 38.1-4.9 56.3H74.5c-17 0-33.4-6.7-42.7-20.9C17.9 469.7 0 432.8 0 384c0-44.4 20.2-84.4 37.9-119.4c2.7-5.3 8.1-8.6 14-8.6H332.1C309.5 284.6 296 320.7 296 360z\"]\n};\nvar faClockRotateLeft = {\n prefix: 'fas',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z\"]\n};\nvar faHistory = faClockRotateLeft;\nvar faTrumpet = {\n prefix: 'fas',\n iconName: 'trumpet',\n icon: [640, 512, [127930], \"f8e3\", \"M628.7 64.7C635.4 66.8 640 73 640 80V368c0 7-4.6 13.2-11.3 15.3s-14-.4-17.9-6.2l0 0 0 0-.1-.2-.7-.9c-.6-.8-1.5-2.1-2.8-3.8c-2.5-3.3-6.2-8.1-11-13.9c-9.6-11.6-23.6-26.9-40.8-42.3c-35-31.1-81.3-60-131.4-60H400V382c27.6-7.1 48-32.2 48-62V290.8c22 5 43.7 16.4 64 31.2c-1.1 69.8-58 126-128 126H288.1c0 0 0 0-.1 0H192c-70.7 0-128-57.3-128-128c0-23.3 6.2-45.2 17.1-64H46.6c-3.3 9.3-12.2 16-22.6 16c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24c10.4 0 19.3 6.7 22.6 16H176V160c0-13.3 10.7-24 24-24s24 10.7 24 24v32h40V160c0-13.3 10.7-24 24-24s24 10.7 24 24v32h40V160c0-13.3 10.7-24 24-24s24 10.7 24 24v32h24c50.1 0 96.4-28.8 131.4-60c17.3-15.3 31.2-30.7 40.8-42.3c4.8-5.8 8.5-10.6 11-13.9c1.2-1.7 2.2-2.9 2.8-3.8l.7-.9 .1-.2 0 0 0 0c4-5.8 11.2-8.3 17.9-6.2zM312 384h40V256H312V384zM224 256V384h40V256H224zm-96 64c0 29.8 20.4 54.9 48 62V258c-27.6 7.1-48 32.2-48 62z\"]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3c-4.1 1.1-8.4 1.7-12.8 1.7c-26.5 0-48-21-48-47c0-5 1.8-11.3 4.6-18.1c.3-.7 .6-1.4 .9-2.1c9-20.2 26.5-44.9 36-57.5c3.2-4.4 9.6-4.4 12.8 0C483.4 20.6 512 61 512 81c0 21.7-14.9 39.8-35.2 45.3zM256 0c51.4 0 99.3 15.2 139.4 41.2c-1.5 3.1-3 6.2-4.3 9.3c-3.4 8-7.1 19-7.1 30.5c0 44.3 36.6 79 80 79c9.6 0 18.8-1.7 27.4-4.8c13.3 30.9 20.6 65 20.6 100.8c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0zM383.8 317.8C345.3 329.4 301.9 336 256 336s-89.3-6.6-127.8-18.2c-12.3-3.7-24.3 7-19.2 18.7c24.5 56.9 81.1 96.7 147 96.7s122.5-39.8 147-96.7c5.1-11.8-6.9-22.4-19.2-18.7zm-166.2-89l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFireSmoke = {\n prefix: 'fas',\n iconName: 'fire-smoke',\n icon: [640, 512, [], \"f74b\", \"M283.7 0c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6c0 30 8.2 58.3 22.7 82.4c4.6 2.6 9 5.4 13.3 8.5c13.7-16.8 30.7-30.8 50.1-40.9c-3.9-9.4-6-20.2-6-32.1c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c11.3 20.7 12.3 44.9 4.2 65.2c19.3 10.1 36.2 24 49.9 40.8c4.2-3 8.5-5.8 12.9-8.3c14.6-24.1 23-52.4 23-82.5c0-20.2-9.6-50.9-24.2-79C441.1 84.7 420.2 54.7 395.5 32c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7c-2.8-2.5-6.3-3.7-9.8-3.8zM0 400c0 61.9 50.1 112 112 112H320 528c61.9 0 112-50.1 112-112s-50.1-112-112-112c-37 0-69.9 18-90.3 45.7C418.2 288 372.8 256 320 256s-98.2 32-117.7 77.7C181.9 306 149 288 112 288C50.1 288 0 338.1 0 400z\"]\n};\nvar faPhoneMissed = {\n prefix: 'fas',\n iconName: 'phone-missed',\n icon: [640, 512, [], \"e226\", \"M232 0c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-39 39 58.7 58.7C282.3 152.4 300.8 160 320 160s37.7-7.6 51.3-21.3L503 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L405.3 172.7C382.6 195.3 352 208 320 208s-62.6-12.7-85.3-35.3L176 113.9l-39 39c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V24c0-13.3 10.7-24 24-24H232zM51.4 489.9l-35.4-62c-9.7-16.9-8.3-38.1 5.5-51.7C72.6 325.9 178.1 256 320 256s247.4 69.9 298.5 120.2c13.9 13.6 15.2 34.8 5.5 51.7l-35.4 62c-7.4 12.9-22.7 19.1-37 14.8L438.8 470.8c-13.5-4.1-22.8-16.5-22.8-30.6V384c-62.3-20.8-129.7-20.8-192 0v56.2c0 14.1-9.3 26.6-22.8 30.6L88.4 504.7c-14.3 4.3-29.6-1.8-37-14.8z\"]\n};\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V288H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM384 336V288H494.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H384zm0-208H256V0L384 128z\"]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'fas',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z\"]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'fas',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M151.6 42.4C145.5 35.8 137 32 128 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L96 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faArrowsRepeat1 = {\n prefix: 'fas',\n iconName: 'arrows-repeat-1',\n icon: [512, 512, [\"repeat-1-alt\"], \"f366\", \"M21.9 254.4C5.1 248.8-3.9 230.6 1.6 213.9C25.1 143.5 91 96 165.2 96H338.7L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H165.2c-46.7 0-88.1 29.9-102.8 74.1c-5.6 16.8-23.7 25.8-40.5 20.2zm468.2 3.3c16.8 5.6 25.8 23.7 20.2 40.5C486.9 368.5 421 416 346.8 416H173.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H346.8c46.7 0 88.1-29.9 102.8-74.1c5.6-16.8 23.7-25.8 40.5-20.2zM288 216v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c-10 0-19.4-6.4-22.8-16.4c-4.2-12.6 2.6-26.2 15.2-30.4l24-8c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5z\"]\n};\nvar faRepeat1Alt = faArrowsRepeat1;\nvar faGunSlash = {\n prefix: 'fas',\n iconName: 'gun-slash',\n icon: [640, 512, [], \"e19c\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L412.3 297.8 432.9 240H464c8.5 0 16.6-3.4 22.6-9.4L509.3 208H576c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H560V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H113.9L38.8 5.1zM195.6 128H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H236.4l-40.8-32zM338.5 240h43.4l-9.5 26.6L338.5 240zM324.9 352L264 304h-3l.5-2L32 121.2V208c0 17.7 14.3 32 32 32H74c20.8 0 36.1 19.6 31 39.8L65 440.2c-2.4 9.6-.2 19.7 5.8 27.5S86.1 480 96 480h96c14.7 0 27.5-10 31-24.2L249 352h75.9z\"]\n};\nvar faAvocado = {\n prefix: 'fas',\n iconName: 'avocado',\n icon: [512, 512, [], \"e0aa\", \"M459.4 255.3c-18.5 15.2-33.5 35.6-38.1 59.1c-10.2 51.9-34 104.5-66.3 136.7c-81.2 81.2-212.9 81.2-294.2 0s-81.2-212.9 0-294.2c32.3-32.3 84.9-56.1 136.7-66.3c23.5-4.6 43.9-19.6 59.1-38.1C283.1 20.5 323.2 0 368 0c79.5 0 144 64.5 144 144c0 44.8-20.5 84.9-52.6 111.3zM283.2 347.2c41.7-41.7 49.1-102.1 16.4-134.8s-93-25.3-134.8 16.4s-49.1 102.1-16.4 134.8s93 25.3 134.8-16.4z\"]\n};\nvar faBinary = {\n prefix: 'fas',\n iconName: 'binary',\n icon: [384, 512, [], \"e33b\", \"M336 32V160h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H304 256c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V76.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16C303.6-1.6 314.4 0 322.7 6s13.3 15.7 13.3 26zM112 320V448h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4s13.3 15.7 13.3 26zM0 64C0 28.7 28.7 0 64 0h64c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm128 0H64v96h64V64zM256 288h64c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64zm0 64v96h64V352H256z\"]\n};\nvar faGlassesRound = {\n prefix: 'fas',\n iconName: 'glasses-round',\n icon: [576, 512, [128083, \"glasses-alt\"], \"f5f5\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L64.4 228.3C85.2 215.4 109.7 208 136 208c55.1 0 102.6 32.8 124 80H316c21.3-47.2 68.8-80 124-80c26.3 0 50.8 7.4 71.6 20.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l40.5 173.7c4.9 20.9 7.3 42.2 7.3 63.6V336c0 .8 0 1.6-.1 2.4c.1 1.9 .1 3.8 .1 5.6c0 75.1-60.9 136-136 136c-72.4 0-131.6-56.6-135.8-128H271.8c-4.1 71.4-63.3 128-135.8 128C60.9 480 0 419.1 0 344c0-1.9 0-3.8 .1-5.6c-.1-.8-.1-1.6-.1-2.4V325.5c0-21.4 2.5-42.8 7.3-63.6L47.9 88.2C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM136 416a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm376-72a72 72 0 1 0 -144 0 72 72 0 1 0 144 0z\"]\n};\nvar faGlassesAlt = faGlassesRound;\nvar faPhonePlus = {\n prefix: 'fas',\n iconName: 'phone-plus',\n icon: [640, 512, [], \"f4d2\", \"M456 200V136H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V24c0-13.3 10.7-24 24-24s24 10.7 24 24V88h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H504v64c0 13.3-10.7 24-24 24s-24-10.7-24-24zM181.5 1.4c19.4-5.3 39.7 4.6 47.4 23.2l40 96c6.8 16.3 2.1 35.2-11.6 46.3L208 207.3c33.3 70.4 90.3 127.4 160.7 160.7L409 318.7c11.2-13.7 30-18.4 46.3-11.6l96 40c18.6 7.7 28.5 28 23.2 47.4l-24 88C545.8 499.9 530 512 512 512C264.6 512 64 311.4 64 64c0-18 12.1-33.8 29.5-38.6l88-24z\"]\n};\nvar faDitto = {\n prefix: 'fas',\n iconName: 'ditto',\n icon: [320, 512, [], \"22\", \"M0 96v2.3c0 3.8 .3 7.6 1 11.4L26.5 256.5C29.7 274.7 45.5 288 64 288s34.3-13.3 37.5-31.5L127 109.6c.7-3.8 1-7.5 1-11.4V96c0-35.3-28.7-64-64-64S0 60.7 0 96zm192 0v2.3c0 3.8 .3 7.6 1 11.4l25.5 146.8c3.2 18.2 19 31.5 37.5 31.5s34.3-13.3 37.5-31.5L319 109.6c.7-3.8 1-7.5 1-11.4V96c0-35.3-28.7-64-64-64s-64 28.7-64 64z\"]\n};\nvar faPersonSeat = {\n prefix: 'fas',\n iconName: 'person-seat',\n icon: [384, 512, [], \"e21e\", \"M144 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 160V256h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H189.3c-6.6-18.6-24.4-32-45.3-32c-26.5 0-48 21.5-48 48v80c0 35.3 28.7 64 64 64h85.6c8.1 0 14.9 6 15.9 14l10.7 86c2 16 15.6 28 31.8 28h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H332.2L325 358.1c-5-40-39-70.1-79.4-70.1H192zM64 160c0-17.7-14.3-32-32-32s-32 14.3-32 32V320c0 70.7 57.3 128 128 128h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-35.3 0-64-28.7-64-64V160z\"]\n};\nvar faHouseMedical = {\n prefix: 'fas',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H448.5c35.5 0 64.2-28.8 64-64.3l-.7-160.2h32zM256 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGolfBallTee = {\n prefix: 'fas',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M384 192c0 66.8-34.1 125.6-85.8 160H85.8C34.1 317.6 0 258.8 0 192C0 86 86 0 192 0S384 86 384 192zM242.1 256.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zm-52.3-49.3c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zM96 416c0-17.7 14.3-32 32-32h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-8.8 0-16 7.2-16 16v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V464c0-8.8-7.2-16-16-16H128c-17.7 0-32-14.3-32-32z\"]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'fas',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135z\"]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'fas',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185l52.8 46.4c8 7 12 15 11 24zM248 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H248z\"]\n};\nvar faScythe = {\n prefix: 'fas',\n iconName: 'scythe',\n icon: [640, 512, [], \"f710\", \"M614.7 .7c5.6 1.2 10.5 3.8 14.5 7.3c8.4 7.4 12.6 19 10.1 30.7l-4.8 22.6L577.6 326.7l-34.3 160c-3.7 17.3-20.7 28.3-38 24.6s-28.3-20.7-24.6-38l26-121.3H416c-17.7 0-32-14.3-32-32s14.3-32 32-32H520.4L569 61.3l7.7-36 0 0L582.1 0H608c2.2 0 4.5 .2 6.7 .7zM352 0H549.4l-4 18.6L508.3 192H12.7C5.7 192 0 186.3 0 179.3c0-2.1 .5-4.1 1.6-6C15 151.1 114.8 0 352 0z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M368.4 18.3L312.7 74.1 437.9 199.3l55.7-55.7c21.9-21.9 21.9-57.3 0-79.2L447.6 18.3c-21.9-21.9-57.3-21.9-79.2 0zM288 94.6l-9.2 2.8L134.7 140.6c-19.9 6-35.7 21.2-42.3 41L3.8 445.8c-3.8 11.3-1 23.9 7.3 32.4L164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L33.7 500.9c8.6 8.3 21.1 11.2 32.4 7.3l264.3-88.6c19.7-6.6 35-22.4 41-42.3l43.2-144.1 2.8-9.2L288 94.6z\"]\n};\nvar faBanParking = {\n prefix: 'fas',\n iconName: 'ban-parking',\n icon: [512, 512, [\"parking-circle-slash\"], \"f616\", \"M412.5 367.2L342.3 297c20.6-17.6 33.7-43.8 33.7-73c0-53-43-96-96-96H208c-9.7 0-18.6 3.5-25.5 9.2L144.8 99.5C176.1 77.1 214.5 64 256 64c106 0 192 86 192 192c0 41.5-13.1 79.9-35.5 111.2zm-45.3 45.3C335.9 434.9 297.5 448 256 448C150 448 64 362 64 256c0-41.5 13.1-79.9 35.5-111.2L367.2 412.5zM296.6 251.4L237.3 192H280c17.7 0 32 14.3 32 32c0 11.6-6.2 21.7-15.4 27.4zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 261.3V288v64c0 17.7 14.3 32 32 32s32-14.3 32-32V325.3l-64-64z\"]\n};\nvar faParkingCircleSlash = faBanParking;\nvar faTentArrowTurnLeft = {\n prefix: 'fas',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M120.1 41.8c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120 456 120c39.8 0 72 32.2 72 72v40c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-66.3-53.7-120-120-120L86.5 72l33.5-30.2zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faFaceDiagonalMouth = {\n prefix: 'fas',\n iconName: 'face-diagonal-mouth',\n icon: [512, 512, [129764], \"e47e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM372.4 319.4l-224 64c-8.5 2.4-17.4-2.5-19.8-11s2.5-17.4 11-19.8l224-64c8.5-2.4 17.4 2.5 19.8 11s-2.5 17.4-11 19.8zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faDiagramCells = {\n prefix: 'fas',\n iconName: 'diagram-cells',\n icon: [512, 512, [], \"e475\", \"M512 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64zM448 416V352H64v64l384 0zm0 64L64 480c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64z\"]\n};\nvar faCricketBatBall = {\n prefix: 'fas',\n iconName: 'cricket-bat-ball',\n icon: [512, 512, [127951, \"cricket\"], \"f449\", \"M502.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-135 135L409 231c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-23 23H240c-8.8 0-16-7.2-16-16V126.1l23-23c9.4-9.4 24.6-9.4 33.9 0l41.4 41.4 135-135c12.5-12.5 32.8-12.5 45.3 0zM352 432a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM16.1 334L192 158.1V272c0 26.5 21.5 48 48 48H353.9L178 495.9c-10 10-24.4 16.7-40.4 15.6c-11.3-.8-28.6-2.8-46.4-8.2C73.9 498.2 54.1 489.1 39 473c-16.2-15-25.2-34.9-30.4-52.2C3.2 403 1.2 385.7 .5 374.4C-.6 358.4 6.1 344 16.1 334z\"]\n};\nvar faCricket = faCricketBatBall;\nvar faTents = {\n prefix: 'fas',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M396.6 6.5L235.8 129.1c9.6 1.8 18.9 5.8 27 12l168 128c13.2 10.1 22 24.9 24.5 41.4l6.2 41.5H608c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128c-11.5-8.7-27.3-8.7-38.8 0zm-153.2 160c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S22.7 512 32 512H224V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faWandMagic = {\n prefix: 'fas',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3zM347.6 187.6l105-105L429.4 59.3l-105 105 23.3 23.3z\"]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M309.6 158.5L332.7 19.8C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32h52.1c12.7 0 24.9 5.1 33.9 14.1L496 64h56c13.3 0 24 10.7 24 24v24c0 44.2-35.8 80-80 80H464 448 426.7l-5.1 30.5-112-64zM416 256.1L416 480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V364.8c-24 12.3-51.2 19.2-80 19.2s-56-6.9-80-19.2V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192h30 16H303.8L416 256.1zM464 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faPenLine = {\n prefix: 'fas',\n iconName: 'pen-line',\n icon: [576, 512, [], \"e212\", \"M453.3 19.3l39.4 39.4c25 25 25 65.5 0 90.5l-48.4 48.4L314.3 67.7l48.4-48.4c25-25 65.5-25 90.5 0zM58.6 323.5L291.7 90.3 421.7 220.3 188.5 453.4c-10.4 10.4-23.3 18-37.4 22.2L30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L36.4 360.9c4.2-14.1 11.8-27 22.2-37.4zM248 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faAtomSimple = {\n prefix: 'fas',\n iconName: 'atom-simple',\n icon: [512, 512, [\"atom-alt\"], \"f5d3\", \"M100.9 411.1c-1.3-1.3-12.4-16.8 3.3-64c3.5-10.4 8-21.4 13.6-32.9c11.6 14.2 24.3 28.3 38 41.9s27.7 26.4 41.9 38c-11.4 5.6-22.4 10.2-32.8 13.6c-47.2 15.7-62.7 4.6-64 3.3zM153.7 256c13.5-18.3 29.3-36.8 47.4-54.9s36.6-33.9 54.9-47.4c18.3 13.5 36.8 29.3 54.9 47.4s33.9 36.6 47.4 54.9c-13.5 18.3-29.3 36.8-47.4 54.9s-36.6 33.9-54.9 47.4c-18.3-13.5-36.8-29.3-54.9-47.4s-33.9-36.6-47.4-54.9zm44.1-138.1c-14.2 11.6-28.3 24.3-41.9 38s-26.4 27.7-38 41.9c-5.6-11.4-10.2-22.4-13.6-32.8c-15.7-47.2-4.6-62.7-3.3-64s16.8-12.4 64 3.3c10.4 3.5 21.4 8 32.8 13.6zM256 76.8C173.9 27.6 94.9 16.5 55.7 55.7S27.6 173.9 76.8 256C27.6 338.1 16.5 417.1 55.7 456.3s118.2 28.1 200.3-21.1c82.1 49.2 161.1 60.3 200.3 21.1s28.1-118.2-21.1-200.3c49.2-82.1 60.3-161.1 21.1-200.3S338.1 27.6 256 76.8zm58.2 41.1c11.4-5.6 22.4-10.2 32.9-13.6c47.2-15.7 62.7-4.6 64-3.3s12.4 16.8-3.3 64c-3.5 10.4-8 21.4-13.6 32.8c-11.6-14.2-24.3-28.3-38-41.9s-27.7-26.4-41.9-38zm79.9 196.3c5.6 11.4 10.2 22.4 13.6 32.9c15.7 47.2 4.6 62.7 3.3 64s-16.8 12.4-64-3.3c-10.4-3.5-21.4-8-32.9-13.6c14.2-11.6 28.3-24.3 41.9-38s26.4-27.7 38-41.9zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faAtomAlt = faAtomSimple;\nvar faAmpersand = {\n prefix: 'fas',\n iconName: 'ampersand',\n icon: [448, 512, [], \"26\", \"M180.7 96h38c20.6 0 37.3 16.7 37.3 37.3c0 11.8-5.5 22.8-14.9 29.9l-48 36-39-41.3c-6.4-6.8-10-15.8-10-25.2c0-20.3 16.4-36.7 36.7-36.7zm56.6 150l42.2-31.6C305 195.3 320 165.2 320 133.3C320 77.4 274.6 32 218.7 32h-38C125.1 32 80 77.1 80 132.7c0 25.7 9.8 50.4 27.5 69.1l34 36L74.7 288C47.8 308.1 32 339.8 32 373.3C32 432.2 79.8 480 138.7 480h74.5c37.4 0 72.4-18.7 93.2-49.9l6.9-10.4L360.7 470c12.1 12.8 32.4 13.4 45.2 1.3s13.4-32.4 1.3-45.2l-57.5-60.9 60.9-91.4c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9l-52.7 79.1L237.3 246zm-51.5 38.6L268.2 372l-15.1 22.6C244.2 408 229.2 416 213.2 416H138.7C115.1 416 96 396.9 96 373.3c0-13.4 6.3-26.1 17.1-34.1l72.7-54.5z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-55.3-55.3 0 .1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L199.7 433l100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z\"]\n};\nvar faArrowUpFromLine = {\n prefix: 'fas',\n iconName: 'arrow-up-from-line',\n icon: [384, 512, [8613, \"arrow-from-bottom\"], \"f342\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.3V208 320c0 17.7 14.3 32 32 32s32-14.3 32-32V208 141.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faArrowFromBottom = faArrowUpFromLine;\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\"]\n};\nvar faPenSlash = {\n prefix: 'fas',\n iconName: 'pen-slash',\n icon: [640, 512, [], \"e213\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296l75.7-75.7L355.7 90.3l-91.5 91.5L38.8 5.1zm78 324.1c-6.6 6.6-11.5 14.8-14.1 23.8L65 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l128.2-37.7c9-2.6 17.2-7.5 23.8-14.1l94.4-94.4L195.8 250.3l-79 79zM426.7 19.3L378.3 67.7 508.3 197.7l48.4-48.4c25-25 25-65.5 0-90.5L517.3 19.3c-25-25-65.5-25-90.5 0z\"]\n};\nvar faWineGlassEmpty = {\n prefix: 'fas',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM81.9 203.1L93.4 64H226.6l11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\"]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faSquareStar = {\n prefix: 'fas',\n iconName: 'square-star',\n icon: [448, 512, [], \"e27f\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 8c-6.1 0-11.7 3.5-14.3 8.9l-36.2 73.4-81 11.8c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.8 1.2L224 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81.1-11.8-36.2-73.4c-2.7-5.5-8.3-8.9-14.3-8.9z\"]\n};\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M512 240.2V256H0c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zm0 47.8V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288H512z\"]\n};\nvar faSendBackward = {\n prefix: 'fas',\n iconName: 'send-backward',\n icon: [512, 512, [], \"f87f\", \"M64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V224c0-53 43-96 96-96H352V64c0-35.3-28.7-64-64-64H64zM224 224H448V448H224V224zm-64 0V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M256 64c53 0 96 43 96 96s-43 96-96 96s-96 43-96 96s43 96 96 96C150 448 64 362 64 256S150 64 256 64zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V147L192 223.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z\"]\n};\nvar faCompassSlash = {\n prefix: 'fas',\n iconName: 'compass-slash',\n icon: [640, 512, [], \"f5e9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-95.4-74.8C561.1 354.5 576 307 576 256C576 114.6 461.4 0 320 0C246.8 0 180.9 30.7 134.2 79.9L38.8 5.1zM270.3 186.5l143.3-55.1c19.4-7.5 38.5 11.6 31 31L397.1 285.9 270.3 186.5zM320 512c55.2 0 106.3-17.5 148.1-47.2L317 345.8l-90.6 34.8c-19.4 7.5-38.5-11.6-31-31l29.4-76.5L82.3 160.8C70.5 190.2 64 222.4 64 256c0 141.4 114.6 256 256 256z\"]\n};\nvar faClockOne = {\n prefix: 'fas',\n iconName: 'clock-one',\n icon: [512, 512, [], \"e34e\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392v56.7l20-30c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3l-64 96c-5.9 8.8-16.8 12.7-26.9 9.7s-17-12.4-17-23V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileMusic = {\n prefix: 'fas',\n iconName: 'file-music',\n icon: [384, 512, [], \"f8b6\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm32 224v32V384c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V279.1l-96 36V416c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V304 272c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8s6.9 7.9 6.9 13.2z\"]\n};\nvar faCodeCommit = {\n prefix: 'fas',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H163.2C178 151 242.6 96 320 96s142 55 156.8 128H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H476.8z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M448 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 96a96 96 0 1 1 192 0A96 96 0 1 1 320 96zM144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112zM192 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faPersonBiking = {\n prefix: 'fas',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zM56 384a72 72 0 1 1 144 0A72 72 0 1 1 56 384zm200 0A128 128 0 1 0 0 384a128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm200 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faBiking = faPersonBiking;\nvar faDisplayChartUpCircleCurrency = {\n prefix: 'fas',\n iconName: 'display-chart-up-circle-currency',\n icon: [640, 512, [], \"e5e5\", \"M0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V211.2c-19.5-10-41.1-16.4-64-18.5V64H64V352H320.7c-.5 5.3-.7 10.6-.7 16c0 59.5 29.5 112.1 74.8 144H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416H64c-35.3 0-64-28.7-64-64V64zm480 56v72.7c-16.7 1.5-32.7 5.3-47.7 11.2c-.2-1.3-.3-2.6-.3-3.9V177.9L321 289c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-63-63-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 175c9.4-9.4 24.6-9.4 33.9 0l63 63L398.1 144H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm118.6-25.4a35.9 35.9 0 1 1 50.7 50.7 35.9 35.9 0 1 1 -50.7-50.7zM531.3 426l17.3 17.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L554 403.3c13.2-21.6 13.2-49.1 0-70.7l17.3-17.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L531.3 310c-21.6-13.2-49.1-13.2-70.7 0l-17.3-17.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L438 332.7c-13.2 21.6-13.2 49.1 0 70.7l-17.3 17.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L460.7 426c21.6 13.2 49.1 13.2 70.7 0z\"]\n};\nvar faSkeleton = {\n prefix: 'fas',\n iconName: 'skeleton',\n icon: [512, 512, [], \"f620\", \"M256 0c17.7 0 32 14.3 32 32V64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H288v32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H288v32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H288v64c0 .8 0 1.6-.1 2.3l67.6-29c8.3-3.5 17.2-5.4 26.1-5.4c36.7 0 66.4 29.7 66.4 66.4v1.5c0 18-7.2 35.3-19.9 48l-25.8 25.8c-11.7 11.7-27.6 18.3-44.1 18.3H153.9c-16.6 0-32.4-6.6-44.1-18.3L83.9 467.9c-12.7-12.7-19.9-30-19.9-48v-1.5c0-36.7 29.7-66.4 66.4-66.4c9 0 17.9 1.8 26.1 5.4l67.6 29c-.1-.8-.1-1.5-.1-2.3V320H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V224H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H224V128H96c-17.7 0-32-14.3-32-32s14.3-32 32-32H224V32c0-17.7 14.3-32 32-32zM184 440a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm192 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCircleG = {\n prefix: 'fas',\n iconName: 'circle-g',\n icon: [512, 512, [], \"e10f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0 44.2 35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C295.2 183.7 276.5 176 256 176c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCircleArrowUpLeft = {\n prefix: 'fas',\n iconName: 'circle-arrow-up-left',\n icon: [512, 512, [], \"e0fb\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm64-368c13.3 0 24 10.7 24 24s-10.7 24-24 24H225.9L361 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24H320z\"]\n};\nvar faCoinBlank = {\n prefix: 'fas',\n iconName: 'coin-blank',\n icon: [512, 512, [], \"e3fb\", \"M0 208c0 79.5 114.6 144 256 144s256-64.5 256-144s-114.6-144-256-144S0 128.5 0 208zm0 82.1L0 320c0 27.9 17.8 53.6 48 74.6L48 331c-18.3-11.5-34.8-25.2-48-40.9zM80 413c27.1 12.8 59.8 22.7 96 28.7l0-64.3c-35.1-6-67.6-15.9-96-29L80 413zm128 32.8c15.5 1.5 31.6 2.2 48 2.2s32.5-.8 48-2.2l0-64.1c-15.7 1.6-31.7 2.4-48 2.4s-32.3-.8-48-2.4l0 64.1zm128-4.1c36.2-6 68.9-15.9 96-28.7l0-64.7c-28.4 13.2-60.9 23-96 29l0 64.3zm128-47c30.2-21 48-46.8 48-74.6l0-29.9c-13.2 15.6-29.7 29.3-48 40.9l0 63.7z\"]\n};\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M566.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192-34.7-34.7c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6v29.1L364.3 320h29.1c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-34.7-34.7 192-192zM341.1 353.4L222.6 234.9c-42.7-3.7-85.2 11.7-115.8 42.3l-8 8C76.5 307.5 64 337.7 64 369.2c0 6.8 7.1 11.2 13.2 8.2l51.1-25.5c5-2.5 9.5 4.1 5.4 7.9L7.3 473.4C2.7 477.6 0 483.6 0 489.9C0 502.1 9.9 512 22.1 512l173.3 0c38.8 0 75.9-15.4 103.4-42.8c30.6-30.6 45.9-73.1 42.3-115.8z\"]\n};\nvar faVacuum = {\n prefix: 'fas',\n iconName: 'vacuum',\n icon: [640, 512, [], \"e04d\", \"M301.6 64H512c35.3 0 64 28.7 64 64c0 21.9-11 41.2-27.8 52.8C513.8 148.1 467.2 128 416 128c-35.3 0-64 28.7-64 64V292c10.2-2.6 21-4 32-4c70.7 0 128 57.3 128 128c0 38.2-16.8 72.5-43.3 96H544c35.3 0 64-28.7 64-64V320c0-31.7-7.7-61.7-21.3-88C619 208.7 640 170.8 640 128C640 57.3 582.7 0 512 0H301.6C241.3 0 189.1 42.2 176.4 101.2L150.1 224h65.5L239 114.6C245.4 85.1 271.4 64 301.6 64zM208.7 256H143.3L109 416H83.8c-33.8 0-64.7 18.9-80 49C1.4 469.5 0 474.6 0 480c0 17.7 14.3 32 32 32h95.4c.4 0 .9 0 1.3 0H176c26.5 0 48-21.5 48-48s-21.5-48-48-48h-1.6l34.3-160zM480 416a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faShieldHeart = {\n prefix: 'fas',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faCardHeart = {\n prefix: 'fas',\n iconName: 'card-heart',\n icon: [384, 512, [], \"e3eb\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3z\"]\n};\nvar faLightbulbCflOn = {\n prefix: 'fas',\n iconName: 'lightbulb-cfl-on',\n icon: [640, 512, [], \"e5a7\", \"M351 24.2c4.3 17.1-6.1 34.5-23.3 38.8l-128 32c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8l128-32c17.1-4.3 34.5 6.1 38.8 23.3zM455.8 127l-256 64c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8l256-64c17.1-4.3 34.5 6.1 38.8 23.3s-6.1 34.5-23.3 38.8zM479 184.2c4.3 17.1-6.1 34.5-23.3 38.8l-256 64c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8l256-64c17.1-4.3 34.5 6.1 38.8 23.3zM256 384V306l48-12v90h80c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H352c0 17.7-14.3 32-32 32s-32-14.3-32-32H256c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm199.8-65l-64 16L384 337v47H336V308.7c0-.5 0-.9 0-1.4V304l.2 0c1.6-12.7 10.8-23.7 24-27l16-4 64-16c17.1-4.3 34.5 6.1 38.8 23.3s-6.1 34.5-23.3 38.8zM53.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S42.3-3.3 53.3 4zM613.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM101.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm464-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7z\"]\n};\nvar faMelon = {\n prefix: 'fas',\n iconName: 'melon',\n icon: [512, 512, [], \"e310\", \"M256 512c-38.5 0-75-8.5-107.7-23.7c67.1-5.8 149.8-48.2 220.8-119.2s113.4-153.8 119.2-220.8C503.5 181 512 217.5 512 256c0 141.4-114.6 256-256 256zM74.7 436.8c-19.1-19.4-26.8-55.8-11.9-108c14.6-51.2 49.6-110.2 102.7-163.3s112.1-88.1 163.3-102.7c52.4-15 88.9-7.1 108.2 12.2s27.2 55.9 12.2 108.2c-14.6 51.2-49.6 110.2-102.7 163.3s-112.1 88.1-163.3 102.7c-52.1 14.9-88.6 7.2-108-11.9c-.2-.2-.4-.4-.5-.5zm-51-73.1C8.5 331 0 294.5 0 256C0 114.6 114.6 0 256 0c38.5 0 75 8.5 107.7 23.7c-67.1 5.8-149.8 48.2-220.8 119.2s-113.4 153.8-119.2 220.8z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64v64c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H416V352H384V224H352V128H320v96h32V352h32V512H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H128V352h32V224h32V128H160v96H128V352H96V512H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32V256c0-17.7 14.3-32 32-32V160c0-17.7 14.3-32 32-32V64 32 24c0-13.3 10.7-24 24-24zM256 272c-17.7 0-32 14.3-32 32v48h64V304c0-17.7-14.3-32-32-32zm-32-80v32h64V192c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faEarthOceania = {\n prefix: 'fas',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 432c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM431.2 298.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faContainerStorage = {\n prefix: 'fas',\n iconName: 'container-storage',\n icon: [640, 512, [], \"f4b7\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V416c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM176 152V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFacePouting = {\n prefix: 'fas',\n iconName: 'face-pouting',\n icon: [512, 512, [], \"e387\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM161.3 382.1c-5.4 12.3 8.7 21.6 21.1 16.4c22.4-9.5 47.4-14.8 73.7-14.8s51.3 5.3 73.7 14.8c12.4 5.2 26.5-4.1 21.1-16.4c-16-36.6-52.4-62.1-94.8-62.1s-78.8 25.6-94.8 62.1zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faSquareXmark = {\n prefix: 'fas',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faFaceExplode = {\n prefix: 'fas',\n iconName: 'face-explode',\n icon: [512, 512, [\"exploding-head\"], \"e2fe\", \"M320 196.5c0 7.9 2.5 15.4 7 21.6c-14.5-6.6-31.5-5.6-45.3 3l-17.3 10.8c-5.2 3.2-11.8 3.2-17 0L230.2 221c-13.8-8.6-30.8-9.6-45.3-3c4.5-6.2 7-13.7 7-21.6V192c0-17.7-14.3-32-32-32H120c-30.9 0-56-25.1-56-56s25.1-56 56-56c8.9 0 17.3 2.1 24.8 5.8C149.7 23.3 176.1 0 208 0c19.1 0 36.3 8.4 48 21.7C267.7 8.4 284.9 0 304 0c31.9 0 58.3 23.3 63.2 53.8c7.5-3.7 15.9-5.8 24.8-5.8c30.9 0 56 25.1 56 56s-25.1 56-56 56H352c-17.7 0-32 14.3-32 32v4.5zM299 248c5.1-3 11.4-3 16.4 0h0c.1 .1 .2 .1 .3 .2L333 259c15.6 9.7 35.3 9.7 50.9 0l17.3-10.8c5.2-3.2 11.8-3.2 17 0l20.7 12.9c12.8 8 28.6 9.5 42.7 4.1L512 253.5c0 .8 0 1.7 0 2.5c0 141.4-114.6 256-256 256S0 397.4 0 256c0-.8 0-1.7 0-2.5l30.5 11.7c14.1 5.4 29.9 3.9 42.7-4.1l20.7-12.9c5.2-3.2 11.8-3.2 17 0L128.2 259c15.6 9.7 35.3 9.7 50.9 0l17.3-10.8c.1-.1 .2-.1 .3-.2h0c5.1-3 11.4-3 16.4 0h0c.1 .1 .2 .1 .3 .2L230.6 259c15.6 9.7 35.3 9.7 50.9 0l17.3-10.8c.1-.1 .2-.1 .3-.2h0zm-90.6 88a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM192 437.3c0 5.9 4.8 10.7 10.7 10.7H309.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H245.3c-29.5 0-53.3 23.9-53.3 53.3z\"]\n};\nvar faExplodingHead = faFaceExplode;\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8L197.8 128h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8L357.8 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H347.1L325.8 320H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H315.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7H155.1l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8L90.2 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zM187.1 192L165.8 320h95.1l21.3-128H187.1z\"]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'fas',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M344 0H488c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512H24c-13.3 0-24-10.7-24-24V344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z\"]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32H144 96 48c-26.5 0-48 21.5-48 48v64.8c0 19 11.2 36.2 28.5 43.9l67.5 30V368c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H288V128h32zM96 208v86.1L48 272.8V208H96z\"]\n};\nvar faT = {\n prefix: 'fas',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\"]\n};\nvar faTransformerBolt = {\n prefix: 'fas',\n iconName: 'transformer-bolt',\n icon: [384, 512, [], \"e2a4\", \"M136 24v8h24c8.8 0 16 7.2 16 16s-7.2 16-16 16H112 64c-8.8 0-16-7.2-16-16s7.2-16 16-16H88V24C88 10.7 98.7 0 112 0s24 10.7 24 24zm160 0v8h24c8.8 0 16 7.2 16 16s-7.2 16-16 16H272 224c-8.8 0-16-7.2-16-16s7.2-16 16-16h24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM48 112c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zm160 0c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V224c-17.7 0-32-14.3-32-32zm232.9 34.7c-6-4-13.9-3.6-19.3 1.1l-112 96c-5.1 4.4-6.9 11.4-4.6 17.7s8.3 10.4 15 10.4h57.8l-25 74.9c-2.3 6.8 .3 14.3 6.3 18.3s13.9 3.6 19.3-1.1l112-96c5.1-4.4 6.9-11.4 4.6-17.7s-8.3-10.4-15-10.4H214.2l25-74.9c2.3-6.8-.3-14.3-6.3-18.3z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M407 47c9.4-9.4 24.6-9.4 33.9 0l17.2 17.2c1.9-.1 3.9-.2 5.8-.2h32c11.2 0 21.9 2.3 31.6 6.5L543 55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L564 101.9c7.6 12.2 12 26.7 12 42.1c0 10.2 7.4 18.8 16.7 23c27.9 12.5 47.3 40.5 47.3 73c0 26.2-12.6 49.4-32 64v32c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16V320H480v16c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V318.4c-11.8-2.4-22.7-7.4-32-14.4c-1.5-1.1-2.9-2.3-4.3-3.5c-17-14.7-27.7-36.4-27.7-60.5c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 44.7 26.2 83.2 64 101.2V352c0 17.7 14.3 32 32 32h32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V372c-19.8 7.7-41.4 12-64 12s-44.2-4.3-64-12v76c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V329.1L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 155.7 117.2 68 223.8 64.1l.2-.1h7.2H256h32c41.7 0 83.4 12.1 117.2 25.7c1.7-1.8 3.5-3.6 5.3-5.2L407 81c-9.4-9.4-9.4-24.6 0-33.9zm73 185a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faChartColumn = {\n prefix: 'fas',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zM160 224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm128-64V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm64 32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM480 96V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faCassetteVhs = {\n prefix: 'fas',\n iconName: 'cassette-vhs',\n icon: [576, 512, [128252, \"vhs\"], \"f8ec\", \"M0 96v32H576V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96zm0 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160H0zM467.9 384H416V349.3c18.6-6.6 32-24.4 32-45.3s-13.4-38.7-32-45.3V224h51.9c17.6 21.9 28.1 49.7 28.1 80s-10.5 58.1-28.1 80zM160 349.3V384H108.1C90.5 362.1 80 334.3 80 304s10.5-58.1 28.1-80H160v34.7c-18.6 6.6-32 24.4-32 45.3s13.4 38.7 32 45.3zM256 224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32z\"]\n};\nvar faVhs = faCassetteVhs;\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z\"]\n};\nvar faVialCircleCheck = {\n prefix: 'fas',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 64C0 46.3 14.3 32 32 32H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V266.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V96C14.3 96 0 81.7 0 64zM96 96v96h64V96H96zM224 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faChimney = {\n prefix: 'fas',\n iconName: 'chimney',\n icon: [448, 512, [], \"f78b\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V64zM32 192h96V320H32V192zm384 0V320H160V192H416zM288 352V480H32V352H288zm128 0V480H320V352h96z\"]\n};\nvar faObjectIntersect = {\n prefix: 'fas',\n iconName: 'object-intersect',\n icon: [512, 512, [], \"e49d\", \"M288 64v96H224c-35.3 0-64 28.7-64 64v64H64V64H288zM64 352h96v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64zM448 224V448H224V352h64c35.3 0 64-28.7 64-64V224h96z\"]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'fas',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96H184zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H152h80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448zM464 64V306.7l-25.4-25.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L528 306.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 320a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm119.8 0c15.3-22.9 24.2-50.4 24.2-80c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 29.6 8.9 57.1 24.2 80H263.8zM496 160a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faBlockBrick = {\n prefix: 'fas',\n iconName: 'block-brick',\n icon: [448, 512, [\"wall-brick\"], \"e3db\", \"M96 32v80H352V32H96zM64 112V32C28.7 32 0 60.7 0 96v16H64zM0 144v96H208V144H0zM0 368H64V272H0v96zm0 32v16c0 35.3 28.7 64 64 64H208V400H0zm240 0v80H384c35.3 0 64-28.7 64-64V400H240zm208-32V272H384v96h64zm-96 0V272H96v96H352zm96-224H240v96H448V144zm0-32V96c0-35.3-28.7-64-64-64v80h64z\"]\n};\nvar faWallBrick = faBlockBrick;\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M258.6 0c-1.7 0-3.4 .1-5.1 .5C168 17 115.6 102.3 130.5 189.3c2.9 17 8.4 32.9 15.9 47.4L32 224H29.4C13.2 224 0 237.2 0 253.4c0 1.7 .1 3.4 .5 5.1C17 344 102.3 396.4 189.3 381.5c17-2.9 32.9-8.4 47.4-15.9L224 480v2.6c0 16.2 13.2 29.4 29.4 29.4c1.7 0 3.4-.1 5.1-.5C344 495 396.4 409.7 381.5 322.7c-2.9-17-8.4-32.9-15.9-47.4L480 288h2.6c16.2 0 29.4-13.2 29.4-29.4c0-1.7-.1-3.4-.5-5.1C495 168 409.7 115.6 322.7 130.5c-17 2.9-32.9 8.4-47.4 15.9L288 32V29.4C288 13.2 274.8 0 258.6 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBagsShopping = {\n prefix: 'fas',\n iconName: 'bags-shopping',\n icon: [576, 512, [128717], \"f847\", \"M176 96v64h96V96c0-26.5-21.5-48-48-48s-48 21.5-48 48zm-48 64V96c0-53 43-96 96-96s96 43 96 96v64h64c35.3 0 64 28.7 64 64H240c-44.2 0-80 35.8-80 80V464c0 5.5 .6 10.8 1.6 16H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64zm128 96H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V320c0-35.3 28.7-64 64-64zm64 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53 43 96 96 96s96-43 96-96V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 35.3-28.7 64-64 64s-64-28.7-64-64V336z\"]\n};\nvar faParagraphLeft = {\n prefix: 'fas',\n iconName: 'paragraph-left',\n icon: [384, 512, [\"paragraph-rtl\"], \"f878\", \"M320 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 144C82.1 0 32 50.1 32 112s50.1 112 112 112h16l0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224h32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM128 384V337.6c0-9.7-7.9-17.6-17.6-17.6c-4.2 0-8.2 1.5-11.3 4.2l-93 78.7C2.2 406.1 0 410.9 0 416s2.2 9.9 6.1 13.2l93 78.7c3.2 2.7 7.2 4.2 11.3 4.2c9.7 0 17.6-7.9 17.6-17.6V448H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H128z\"]\n};\nvar faParagraphRtl = faParagraphLeft;\nvar faPersonWalkingLuggage = {\n prefix: 'fas',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M432 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM347.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L505 232.7l-15.3-36.8C472.5 154.8 432.3 128 387.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1l-25 62.4-59.4 59.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L340.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM256 274.1c-7.7-4.4-17.4-1.8-21.9 5.9l-32 55.4L147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c1.5-2.6 2.6-5.2 3.3-8L261.9 296c4.4-7.7 1.8-17.4-5.9-21.9z\"]\n};\nvar faCaravanSimple = {\n prefix: 'fas',\n iconName: 'caravan-simple',\n icon: [640, 512, [\"caravan-alt\"], \"e000\", \"M80 32C35.8 32 0 67.8 0 112V336c0 44.2 35.8 80 80 80H96c0 53 43 96 96 96s96-43 96-96H576l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V192c0-88.4-71.6-160-160-160H80zM64 160c0-17.7 14.3-32 32-32H224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160zm288-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM144 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faCaravanAlt = faCaravanSimple;\nvar faTurtle = {\n prefix: 'fas',\n iconName: 'turtle',\n icon: [576, 512, [128034], \"f726\", \"M384 249.2c0 21.4-17.4 38.8-38.8 38.8H70.8C49.4 288 32 270.6 32 249.2V208c0-97.2 78.8-176 176-176s176 78.8 176 176v41.2zM480 288c-2 0-4-.1-5.9-.3c-16.3 53.3-64.3 92.7-122.1 96V440c0 22.1-17.9 40-40 40H264c-22.1 0-40-17.9-40-40V384H192v56c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h72 48H264h48 32c39.8 0 72-32.2 72-72V224 192 176c0-35.3 28.7-64 64-64c53 0 96 43 96 96v16c0 35.3-28.7 64-64 64H480zm16-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faPencilMechanical = {\n prefix: 'fas',\n iconName: 'pencil-mechanical',\n icon: [512, 512, [], \"e5ca\", \"M475.3 11.3C468.1 4.1 458.2 0 448 0s-20.1 4.1-27.3 11.3L390.6 41.4l80 80 30.1-30.1C507.9 84.1 512 74.2 512 64s-4.1-20.1-11.3-27.3L475.3 11.3zm-233 76.3c3.1-3.1 8.2-3.1 11.3 0L283 117 72.8 327.2C67 333 62.8 340.1 60.6 348L32.8 445.3 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l25.7-25.7L164 451.4c7.8-2.2 15-6.4 20.8-12.2L436.7 187.3c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3L379.3 75.3C372.1 68.1 362.2 64 352 64s-20.1 4.1-27.3 11.3L317 83 287.6 53.7c-21.9-21.9-57.3-21.9-79.2 0L103 159c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L242.3 87.6zM89.1 422.9l17.3-60.5 43.2 43.2L89.1 422.9z\"]\n};\nvar faUpDown = {\n prefix: 'fas',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M145.6 7.7C141 2.8 134.7 0 128 0s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9S14.5 160 24 160H80V352H24c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7s13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H176V160h56c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M481.2 0C417 0 363.5 46.5 353.7 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.1 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5zM367.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.3 114.6 210.8 96 176 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H367.9zM85.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3z\"]\n};\nvar faBoothCurtain = {\n prefix: 'fas',\n iconName: 'booth-curtain',\n icon: [512, 512, [], \"f734\", \"M64 0C28.7 0 0 28.7 0 64V480c0 17.7 14.3 32 32 32s32-14.3 32-32V64l64 0V0H64zM512 64c0-35.3-28.7-64-64-64H352 256 192c-17.7 0-32 14.3-32 32V400c0 26.5 21.5 48 48 48s48-21.5 48-48c0 26.5 21.5 48 48 48s48-21.5 48-48c0 26.5 21.5 48 48 48s48-21.5 48-48v80c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z\"]\n};\nvar faBoxHeart = {\n prefix: 'fas',\n iconName: 'box-heart',\n icon: [448, 512, [], \"f49d\", \"M93.7 32H208V160H0L50.7 58.5C58.9 42.3 75.5 32 93.7 32zM240 32H354.3c18.2 0 34.8 10.3 42.9 26.5L448 160H240V32zM0 192H448V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zM212.7 420.7c6.2 6.2 16.4 6.2 22.6 0l77.3-77.3c20.5-20.5 20.5-53.8 0-74.3s-53.8-20.5-74.3 0L224 283.4l-14.3-14.3c-20.5-20.5-53.8-20.5-74.3 0s-20.5 53.8 0 74.3l77.3 77.3z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M48 32C21.5 32 0 53.5 0 80V336c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H488h8H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V80c0-26.5-21.5-48-48-48H48zM80 96c8.8 0 16 7.2 16 16l0 131.2c-11.4 5.9-22.2 12.9-32 21V112c0-8.8 7.2-16 16-16zm96 128c-5.4 0-10.7 .2-16 .7L160 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112.7c-5.3-.5-10.6-.7-16-.7zm80 19.2L256 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 152.2c-9.8-8.1-20.6-15.2-32-21zM368 96c8.8 0 16 7.2 16 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16zm112 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserDoctorMessage = {\n prefix: 'fas',\n iconName: 'user-doctor-message',\n icon: [640, 512, [\"user-md-chat\"], \"f82e\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3c0-81 54-149.4 128-171.1v59.1c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V304.9c6-.6 12.1-.9 18.3-.9h91.4c6.2 0 12.3 .3 18.3 .9V362c-27.6 7.1-48 32.2-48 62v40c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16V424c0-17.7 14.3-32 32-32s32 14.3 32 32v24c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V424c0-29.8-20.4-54.9-48-62V311.2c74 21.7 128 90.1 128 171.1c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM120 424a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM432 0H592c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H544l-83.2 62.4c-2.4 1.8-5.7 2.1-8.4 .8s-4.4-4.1-4.4-7.2V224H432c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48z\"]\n};\nvar faUserMdChat = faUserDoctorMessage;\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M288 0c14.5 0 27.2 9.7 30.9 23.8l23.9 89.6 75.9-53.3c11.9-8.3 27.8-7.6 39 1.7s14.6 24.9 8.4 38.1l-39.3 84 92.4 8c14.4 1.2 26.2 12 28.8 26.3s-4.9 28.5-18 34.6l-84.1 39.1 65.7 65.5c10.3 10.2 12.4 26.1 5.1 38.7s-22 18.7-36 14.9L391 386.8l8.2 92.4c1.3 14.4-7.3 27.9-20.9 32.9s-28.9 .1-37.2-11.7l-53.1-76-53.1 76c-8.3 11.9-23.6 16.7-37.2 11.7s-22.2-18.5-20.9-32.9l8.2-92.4L95.4 410.9c-14 3.8-28.8-2.3-36-14.9s-5.2-28.4 5.1-38.7l65.7-65.5L46 252.7c-13.1-6.1-20.5-20.3-18-34.6s14.3-25.1 28.8-26.3l92.4-8-39.3-84c-6.1-13.1-2.7-28.8 8.4-38.1s27.1-10 39-1.7l75.9 53.3 23.9-89.6C260.8 9.7 273.5 0 288 0zm0 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\"]\n};\nvar faHaykal = faBahai;\nvar faAmpGuitar = {\n prefix: 'fas',\n iconName: 'amp-guitar',\n icon: [512, 512, [], \"f8a1\", \"M256 0c-48.9 0-92.5 28.8-121.6 53.8c-15 12.9-27.3 25.7-35.8 35.3c-2.3 2.6-4.3 4.9-6 6.9H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H419.5c-1.7-2.1-3.8-4.4-6-6.9c-8.5-9.6-20.8-22.4-35.8-35.3C348.5 28.8 304.9 0 256 0zm96.9 96H159.1c2.1-1.9 4.3-3.8 6.5-5.8C192.5 67.2 224.9 48 256 48s63.5 19.2 90.4 42.2c2.2 1.9 4.4 3.9 6.5 5.8zM96 152a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 448V256H448V448H64zm64-128a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16-32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16-32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM256 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16-32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16-32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM384 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H141.3C124.3 0 108 6.7 96 18.7L18.7 96C6.7 108 0 124.3 0 141.3V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 88v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faVolumeSlash = {\n prefix: 'fas',\n iconName: 'volume-slash',\n icon: [640, 512, [128263], \"f2e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.1 386.2C556.7 352 576 306.3 576 256c0-60.1-27.7-113.8-70.9-149c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C507.3 170.7 528 210.9 528 256c0 39.1-15.6 74.5-40.9 100.5L449 326.6c19-17.5 31-42.7 31-70.6c0-30.1-13.9-56.9-35.4-74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C425.1 227.6 432 241 432 256s-6.9 28.4-17.7 37.3c-1.3 1-2.4 2.2-3.4 3.4L352 250.6V64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L197.8 129.8 38.8 5.1zM352 373.3L82.9 161.3C53.8 167.4 32 193.1 32 224v64c0 35.3 28.7 64 64 64h67.8L298.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S352 460.6 352 448V373.3z\"]\n};\nvar faBorderBottom = {\n prefix: 'fas',\n iconName: 'border-bottom',\n icon: [448, 512, [], \"f84d\", \"M448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32zm-64-96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 352A32 32 0 1 1 0 352a32 32 0 1 1 64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM448 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 160a32 32 0 1 1 64 0A32 32 0 1 1 0 160zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm128 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM448 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm32 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm64 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faWifiWeak = {\n prefix: 'fas',\n iconName: 'wifi-weak',\n icon: [640, 512, [\"wifi-1\"], \"f6aa\", \"M256 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faWifi1 = faWifiWeak;\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M352 124.5l-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4L294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0H416h32 16c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8c0 26.5-21.5 48-48 48H538.5c-17 0-33.3-6.7-45.3-18.7L480 160H448v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1C640 462.9 590.9 512 530.2 512H496 432 32.3c-3.3 0-6.6-.4-9.6-1.4C13.5 507.8 6 501 2.4 492.1C1 488.7 .2 485.2 0 481.4c-.2-3.7 .3-7.3 1.3-10.7c2.8-9.2 9.6-16.7 18.6-20.4c3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1c0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V181.5v-57zM512 72.3c0-.1 0-.2 0-.3s0-.2 0-.3v.6zm-1.3 7.4L464.3 68.1c-.2 1.3-.3 2.6-.3 3.9c0 13.3 10.7 24 24 24c10.6 0 19.5-6.8 22.7-16.3zM130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M416 0C352.3 0 256 32 256 32V160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64h32V32H192c-35.3 0-64 28.7-64 64zM288 512c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32V480s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64H96V352H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCirclePlus = {\n prefix: 'fas',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'fas',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zm20.7-265.2c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM336 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM320 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6zM336 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .1 .5 .5 0 1 1 .9-.1z\"]\n};\nvar faPlugCircleExclamation = {\n prefix: 'fas',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V412.8c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32H32zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faLinkSlash = {\n prefix: 'fas',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z\"]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M288 448H64V224h64V160H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64zm-64-96H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64z\"]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384H480c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96H461.3l25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z\"]\n};\nvar faArrowUpZA = {\n prefix: 'fas',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2L128 146.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 64c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H352c-17.7 0-32 14.3-32 32zm96 192c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 262.8 428.1 256 416 256zM395.8 400L416 359.6 436.2 400H395.8z\"]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'fas',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M153.6 29.9l16-21.3C173.6 3.2 180 0 186.7 0C198.4 0 208 9.6 208 21.3V43.5c0 13.1 5.4 25.7 14.9 34.7L307.6 159C356.4 205.6 384 270.2 384 337.7C384 434 306 512 209.7 512H192C86 512 0 426 0 320v-3.8c0-48.8 19.4-95.6 53.9-130.1l3.5-3.5c4.2-4.2 10-6.6 16-6.6C85.9 176 96 186.1 96 198.6V288c0 35.3 28.7 64 64 64s64-28.7 64-64v-3.9c0-18-7.2-35.3-19.9-48l-38.6-38.6c-24-24-37.5-56.7-37.5-90.7c0-27.7 9-54.8 25.6-76.9z\"]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'fas',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M0 32V45.6C0 62.7 1.7 79.6 5 96H357.8c3.2-6.9 7.5-13.3 13-18.8l38.6-38.6c4.2-4.2 6.6-10 6.6-16C416 10.1 405.9 0 393.4 0H32C14.3 0 0 14.3 0 32zm352.2 96H13.6c12.2 35.9 32.3 68.7 58.8 96H412l-47.2-62.9c-7.3-9.7-11.6-21.2-12.6-33.1zm-226 138.2l116.4 68.5c8.2 4.8 15.8 10.7 22.5 17.3H445c2-9.8 3-19.9 3-30.1c0-23-5.3-45.5-15.3-65.9H110.2c5.2 3.6 10.5 7 16 10.2zM288 384c10.3 21.4 13.8 45.5 9.9 69l-5.9 35.7c-2 12.2 7.4 23.4 19.8 23.4c5.3 0 10.4-2.1 14.2-5.9l78.2-78.2c12.8-12.8 23.1-27.7 30.4-43.9H288z\"]\n};\nvar faFileCirclePlus = {\n prefix: 'fas',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64zm384 64H256V0L384 128zm48 96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faDeleteRight = {\n prefix: 'fas',\n iconName: 'delete-right',\n icon: [576, 512, [], \"e154\", \"M0 128C0 92.7 28.7 64 64 64H370.7c17 0 33.3 6.7 45.3 18.7L566.6 233.4c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6L416 429.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V128zm143 47c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faBookQuran = {\n prefix: 'fas',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M352 0c53 0 96 43 96 96V416c0 53-43 96-96 96H64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V384c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0H64 352zm0 384H96v64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32zM274.1 150.2l-8.9 21.4-23.1 1.9c-5.7 .5-8 7.5-3.7 11.2L256 199.8l-5.4 22.6c-1.3 5.5 4.7 9.9 9.6 6.9L280 217.2l19.8 12.1c4.9 3 10.9-1.4 9.6-6.9L304 199.8l17.6-15.1c4.3-3.7 2-10.8-3.7-11.2l-23.1-1.9-8.9-21.4c-2.2-5.3-9.6-5.3-11.8 0zM96 192c0 70.7 57.3 128 128 128c25.6 0 49.5-7.5 69.5-20.5c3.2-2.1 4.5-6.2 3.1-9.7s-5.2-5.6-9-4.8c-6.1 1.2-12.5 1.9-19 1.9c-52.4 0-94.9-42.5-94.9-94.9s42.5-94.9 94.9-94.9c6.5 0 12.8 .7 19 1.9c3.8 .8 7.5-1.3 9-4.8s.2-7.6-3.1-9.7C273.5 71.5 249.6 64 224 64C153.3 64 96 121.3 96 192z\"]\n};\nvar faQuran = faBookQuran;\nvar faCircleQuarter = {\n prefix: 'fas',\n iconName: 'circle-quarter',\n icon: [512, 512, [], \"e11f\", \"M32 256C14.3 256-.2 241.6 2 224.1C16.4 108.2 108.2 16.4 224.1 2C241.6-.2 256 14.3 256 32V224c0 17.7-14.3 32-32 32L32 256z\"]\n};\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32V448H208c-53 0-96-43-96-96v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 88.4 71.6 160 160 160h80 80c88.4 0 160-71.6 160-160v-6.1l7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7V352c0 53-43 96-96 96H320V240h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 96V224H256V96H384zm0 192V416H256V288H384zM192 224H64V96H192V224zM64 288H192V416H64V288zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFunction = {\n prefix: 'fas',\n iconName: 'function',\n icon: [640, 512, [], \"f661\", \"M64 96c0-53 43-96 96-96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32 14.3-32 32v96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V383.5c0 48.4-36.1 89.3-84.1 95.3l-7.9 1C18.4 481.9 2.4 469.5 .2 452s10.2-33.5 27.8-35.7l7.9-1c16-2 28-15.6 28-31.8V256H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V96zm266.7 81.7C303.7 218.4 288 267.3 288 320s15.7 101.6 42.7 142.3c9.8 14.7 5.7 34.6-9 44.3s-34.6 5.7-44.3-9C243.6 446.7 224 385.6 224 320s19.6-126.7 53.3-177.7c9.8-14.7 29.6-18.8 44.3-9s18.8 29.6 9 44.3zm202.6 0c-9.8-14.7-5.7-34.6 9-44.3s34.6-5.7 44.3 9C620.4 193.3 640 254.4 640 320s-19.6 126.7-53.3 177.7c-9.8 14.7-29.6 18.8-44.3 9s-18.8-29.6-9-44.3c27-40.7 42.7-89.6 42.7-142.3s-15.7-101.6-42.7-142.3zM398.6 241.4L432 274.7l33.4-33.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L477.3 320l33.4 33.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L432 365.3l-33.4 33.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L386.7 320l-33.4-33.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\"]\n};\nvar faFaceAngry = {\n prefix: 'fas',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM338.7 395.9c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faAngry = faFaceAngry;\nvar faPeopleSimple = {\n prefix: 'fas',\n iconName: 'people-simple',\n icon: [512, 512, [], \"e21b\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-22.4 32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6zM384 128A64 64 0 1 0 384 0a64 64 0 1 0 0 128zm-15.7 32c-28.6 0-53.7 18.9-61.5 46.4L267.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H320v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.9-27.5-33-46.4-61.5-46.4H368.3z\"]\n};\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowTrendDown = {\n prefix: 'fas',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M384 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v82.7L342.6 137.4c-12.5-12.5-32.8-12.5-45.3 0L192 242.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0L320 205.3 466.7 352H384z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faFeed = faRss;\nvar faFaceMonocle = {\n prefix: 'fas',\n iconName: 'face-monocle',\n icon: [512, 512, [], \"e380\", \"M427.2 446.3C381.9 487.2 321.8 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 62.8-22.6 120.3-60.1 164.9c-2.5-8.6-3.9-17.7-3.9-26.9V224c0-61.9-50.1-112-112-112s-112 50.1-112 112s50.1 112 112 112c31.3 0 59.7-12.9 80-33.6v91.5c0 18.4 3.9 36.2 11.2 52.4zM256 224a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm-79.6-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm144 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM144 352c0 8.8 7.2 16 16 16c14.3 0 37.9 2.9 60.6 11.7c22.8 8.8 42.7 22.7 53.1 43.4c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5c-15.3-30.5-43.3-48.6-70.1-59C205.3 339.5 177.7 336 160 336c-8.8 0-16 7.2-16 16zM305.2 89.9c8-6.4 18-9.9 28.2-9.9c8.9 0 17.6 2.6 25.1 7.6l8.6 5.7c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2L376.3 61c-12.7-8.5-27.6-13-42.8-13c-17.5 0-34.5 6-48.2 16.9L262 83.5c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l23.2-18.6z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M96 151.4V360.6c9.7 5.6 17.8 13.7 23.4 23.4H328.6c0-.1 .1-.2 .1-.3l-4.5-7.9-32-56 0 0c-1.4 .1-2.8 .1-4.2 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64c1.4 0 2.8 0 4.2 .1l0 0 32-56 4.5-7.9-.1-.3H119.4c-5.6 9.7-13.7 17.8-23.4 23.4zM384.3 352c35.2 .2 63.7 28.7 63.7 64c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64c0-23.7 12.9-44.4 32-55.4V151.4C12.9 140.4 0 119.7 0 96C0 60.7 28.7 32 64 32c23.7 0 44.4 12.9 55.4 32H328.6c11.1-19.1 31.7-32 55.4-32c35.3 0 64 28.7 64 64c0 35.3-28.5 63.8-63.7 64l-4.5 7.9-32 56-2.3 4c4.2 8.5 6.5 18 6.5 28.1s-2.3 19.6-6.5 28.1l2.3 4 32 56 4.5 7.9z\"]\n};\nvar faScaleBalanced = {\n prefix: 'fas',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288H584.4L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320H199.3L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z\"]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faCalendarLines = {\n prefix: 'fas',\n iconName: 'calendar-lines',\n icon: [448, 512, [\"calendar-note\"], \"e0d5\", \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM96 296c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCalendarNote = faCalendarLines;\nvar faArrowDownBigSmall = {\n prefix: 'fas',\n iconName: 'arrow-down-big-small',\n icon: [576, 512, [\"sort-size-down\"], \"f88c\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480zM320 368v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48zM368 32c-26.5 0-48 21.5-48 48V208c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368z\"]\n};\nvar faSortSizeDown = faArrowDownBigSmall;\nvar faGaugeSimpleHigh = {\n prefix: 'fas',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-15.9-5.8-30.4-15.3-41.6l76.6-147.4c6.1-11.8 1.5-26.3-10.2-32.4s-26.2-1.5-32.4 10.2L262.1 288.3c-2-.2-4-.3-6.1-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faDoNotEnter = {\n prefix: 'fas',\n iconName: 'do-not-enter',\n icon: [512, 512, [], \"f5ec\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96 208H416c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16z\"]\n};\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M64 131.9C64 112.1 80.1 96 99.9 96c9.5 0 18.6 3.8 25.4 10.5l16.2 16.2c-21 38.9-17.4 87.5 10.9 123L151 247c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-1.3 1.3c-35.5-28.3-84.2-31.9-123-10.9L170.5 61.3C151.8 42.5 126.4 32 99.9 32C44.7 32 0 76.7 0 131.9V448c0 17.7 14.3 32 32 32s32-14.3 32-32V131.9zM256 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDiceD8 = {\n prefix: 'fas',\n iconName: 'dice-d8',\n icon: [512, 512, [], \"f6d2\", \"M240 16c0-6.5-4-12.4-10-14.8s-13-1-17.5 3.7l-208 216c-3.7 3.9-5.3 9.3-4.1 14.6s4.9 9.5 9.9 11.5l208 80c4.9 1.9 10.5 1.2 14.8-1.7s6.9-7.9 6.9-13.2V16zM34.6 307.5c-4.1 6.3-3.3 14.6 1.9 20l176 179.7c4.5 4.6 11.5 6.1 17.5 3.6s10-8.3 10-14.8V384c0-6.6-4.1-12.6-10.3-14.9l-176-67.7c-7-2.7-15-.1-19.1 6.1zm442.7 0c-4.1-6.3-12.1-8.8-19.1-6.1l-176 67.7c-6.2 2.4-10.3 8.3-10.3 14.9V496c0 6.5 3.9 12.4 10 14.8s12.9 1 17.5-3.6l176-179.7c5.3-5.4 6.1-13.7 1.9-20zM282 1.2C276 3.6 272 9.5 272 16V312c0 5.3 2.6 10.2 6.9 13.2s9.9 3.6 14.8 1.7l208-80c5-1.9 8.7-6.2 9.9-11.5s-.4-10.7-4.1-14.6l-208-216C295 .2 288.1-1.3 282 1.2z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V288H64V64H512z\"]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'fas',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M22.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L224 294.3 389.4 46.2c7.8-11.7 22.4-17 35.9-12.9S448 49.9 448 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V169.7L250.6 369.8c-5.9 8.9-15.9 14.2-26.6 14.2s-20.7-5.3-26.6-14.2L64 169.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 49.9 9.2 37.5 22.7 33.4z\"]\n};\nvar faGripDotsVertical = {\n prefix: 'fas',\n iconName: 'grip-dots-vertical',\n icon: [256, 512, [], \"e411\", \"M48 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0 160a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM96 416A48 48 0 1 0 0 416a48 48 0 1 0 96 0zM208 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faFaceViewfinder = {\n prefix: 'fas',\n iconName: 'face-viewfinder',\n icon: [512, 512, [], \"e2ff\", \"M56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0zM376 0h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-4.4-3.6-8-8-8H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM48 376v80c0 4.4 3.6 8 8 8h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm464 0v80c0 30.9-25.1 56-56 56H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM96 256a160 160 0 1 1 320 0A160 160 0 1 1 96 256zm128-40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM169.9 292.5c-6.4 6.1-6.6 16.2-.5 22.6C191.2 337.8 222 352 256 352s64.8-14.2 86.6-36.9c6.1-6.4 5.9-16.5-.5-22.6s-16.5-5.9-22.6 .5C303.5 309.6 281 320 256 320s-47.5-10.4-63.5-27.1c-6.1-6.4-16.2-6.6-22.6-.5z\"]\n};\nvar faSoftServe = {\n prefix: 'fas',\n iconName: 'soft-serve',\n icon: [384, 512, [127846, \"creemee\"], \"e400\", \"M208 0c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l6.1 6.1c3.4 3.4 5.3 7.9 5.3 12.7C208 56 200 64 190.1 64H128c-35.3 0-64 28.7-64 64c0 11.8 3.2 22.9 8.8 32.4C40.8 164 16 191.1 16 224c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64s-28.7-64-64-64h-2.3c11.5-14.4 18.3-32.7 18.3-52.6C320 48.1 271.9 0 212.6 0H208zM48 320v32c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5H259.4c16.3 0 30-12.3 31.8-28.5L302.2 384H304c17.7 0 32-14.3 32-32V320H48z\"]\n};\nvar faCreemee = faSoftServe;\nvar faH5 = {\n prefix: 'fas',\n iconName: 'h5',\n icon: [640, 512, [], \"e412\", \"M64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V256 416c0 17.7 14.3 32 32 32s32-14.3 32-32V288H256V416c0 17.7 14.3 32 32 32s32-14.3 32-32V256 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H64V96zM432 64c-15.1 0-28.2 10.6-31.3 25.4l-32 152c-2 9.4 .4 19.3 6.5 26.8s15.2 11.8 24.8 11.8H524c28.7 0 52 23.3 52 52s-23.3 52-52 52H456.4c-10.3 0-19.5-6.6-22.8-16.4l-3.2-9.7c-5.6-16.8-23.7-25.8-40.5-20.2s-25.8 23.7-20.2 40.5l3.2 9.7c12 35.9 45.6 60.2 83.5 60.2H524c64.1 0 116-51.9 116-116s-51.9-116-116-116H439.4L458 128H576c17.7 0 32-14.3 32-32s-14.3-32-32-32H432z\"]\n};\nvar faHandBackPointDown = {\n prefix: 'fas',\n iconName: 'hand-back-point-down',\n icon: [448, 512, [], \"e19e\", \"M136 512c-22.1 0-40-17.9-40-40V272v-7V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v55.7c-2-1.4-3.9-3-5.8-4.5L39 227.2C24.4 215 16 197 16 178V140c0-38 16.9-74 46.1-98.3l5.4-4.5C96.3 13.1 132.5 0 169.9 0H288c70.7 0 128 57.3 128 128v64 32c0 26.5-21.5 48-48 48c-12.4 0-23.6-4.7-32.1-12.3C334 284.5 313.3 304 288 304c-12.4 0-23.6-4.7-32.1-12.3C254 316.5 233.3 336 208 336c-12.3 0-23.5-4.6-32-12.2V472c0 22.1-17.9 40-40 40z\"]\n};\nvar faTableList = {\n prefix: 'fas',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0v64h64V96H64zm384 0H192v64H448V96zM64 224v64h64V224H64zm384 0H192v64H448V224zM64 352v64h64V352H64zm384 0H192v64H448V352z\"]\n};\nvar faThList = faTableList;\nvar faCommentSms = {\n prefix: 'fas',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM202.9 176.8c6.5-2.2 13.7 .1 17.9 5.6L256 229.3l35.2-46.9c4.1-5.5 11.3-7.8 17.9-5.6s10.9 8.3 10.9 15.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V240l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L224 240v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-6.9 4.4-13 10.9-15.2zm173.1 38c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.2-.4-23.7-4.4-32.6-7.4l0 0 0 0c-1.4-.5-2.7-.9-4-1.4c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.7 .6 3.3 1.1 4.9 1.6l0 0 0 0c9.1 3.1 15.6 5.3 22.6 5.5c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4c-7.2-2.2-16.7-5-24.3-9.6c-9-5.4-17.7-14.7-17.7-29.4c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c10 .2 19.7 2.3 27.9 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.3-1.9-14.1-3.3-20.1-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9zm-272 0c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.3-.4-24.2-4.5-33.2-7.6l0 0 0 0c-1.3-.4-2.5-.8-3.6-1.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.4 .5 2.8 .9 4.1 1.4l0 0 0 0c9.5 3.2 16.5 5.6 23.7 5.8c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4 0 0c-7.2-2.2-16.7-5-24.3-9.6C80.8 239 72.1 229.7 72 215c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c9.5 .1 22.2 2.1 31.1 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-6.6-1.8-16.8-3.3-23.3-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9z\"]\n};\nvar faSms = faCommentSms;\nvar faRectangle = {\n prefix: 'fas',\n iconName: 'rectangle',\n icon: [512, 512, [9644, \"rectangle-landscape\"], \"f2fa\", \"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faRectangleLandscape = faRectangle;\nvar faClipboardListCheck = {\n prefix: 'fas',\n iconName: 'clipboard-list-check',\n icon: [384, 512, [], \"f737\", \"M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-4.7 132.7c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L112 249.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0zM192 272c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm-16 80H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTurkey = {\n prefix: 'fas',\n iconName: 'turkey',\n icon: [640, 512, [], \"f725\", \"M472 56c0 22.1-1.2 49.3-19.3 62l-31.6 22.3C375.9 112.2 327.9 96 288 96C176 96 0 224 0 384C0 512 160 512 288 512s288 0 288-128c0-63-27.3-121.1-67.3-168.3c-.4 .2-.7 .4-1 .6l-28.3 20c-8.3 5.9-15.1 15-21.2 28.3c-6.1 13.4-10.5 28.6-15.4 46l-.3 1c-7.9 27.5-24 53-47.9 72.3c-61.8 50-152.5 40.5-202.5-21.4c-13.9-17.2-23.2-36.6-28.1-56.7c-2.3-9.4 5.3-17.9 15-17.9c8 0 14.6 5.8 16.9 13.5c4 14.5 10.9 28.5 21 41c21.3 26.3 52.1 40.5 83.5 41.5c25.9 .8 52.2-7.3 74-24.9c18.6-15 31.1-34.8 37.2-56.2l.6-2c9.6-33.7 20.1-70.5 48.7-90.6L486.7 192s0 0 0 0l2.5-1.8c18.3-12.9 43.3-10.4 67.4-8c9.4 .9 18.6 1.8 27.3 1.8c30.9 0 56-25.1 56-56s-25.1-56-56-56c-1.1 0-2-1.1-1.7-2.2c1.1-4.4 1.7-9 1.7-13.8c0-30.9-25.1-56-56-56s-56 25.1-56 56z\"]\n};\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM504 312V248H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V136c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faIceSkate = {\n prefix: 'fas',\n iconName: 'ice-skate',\n icon: [576, 512, [9976], \"f7ac\", \"M512 336c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V132.2c0-21.4 14.2-40.3 34.8-46.2L256 32c0-17.7 14.3-32 32-32s32 14.3 32 32V96H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h48l119.3 29.8C482 232.5 512 270.9 512 315v21zm40 72c13.3 0 24 10.7 24 24v8c0 39.8-32.2 72-72 72H408 120 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96V416h48v48H384V416h48v48h72c13.3 0 24-10.7 24-24v-8c0-13.3 10.7-24 24-24z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M464 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm272 96H96V320H352V192z\"]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faTomato = {\n prefix: 'fas',\n iconName: 'tomato',\n icon: [512, 512, [], \"e330\", \"M241 7L224 24C241 7 241 7 241 7l0 0 0 0 .1 .1 .2 .2 .5 .5c.4 .4 1 1 1.7 1.8c1.4 1.5 3.2 3.6 5.4 6.3c4.4 5.4 10.1 13.1 15.8 22.8c6.6 11.2 13.4 25.5 18 42.1c45.7 3.1 88.5 14.2 125.1 32.8c6.6 3.4 10 10.8 8.3 18s-8.2 12.3-15.6 12.3H365.9l15.4 23.1c3.9 5.9 3.5 13.7-1 19.1s-12.1 7.3-18.6 4.5L256 145.4 150.3 190.7c-6.5 2.8-14.1 1-18.6-4.5s-4.9-13.2-1-19.1l15.5-23.3-31.3-.2c-7 1.5-14.3-1.7-17.7-8.4c-4-7.9-.9-17.5 7-21.5l.8-.4C142.2 94.6 185.6 83.5 232 80.7c-2.6-6.4-5.6-12.3-8.7-17.6c-4.3-7.3-8.6-13-11.7-16.9c-1.6-1.9-2.8-3.4-3.6-4.3c-.4-.4-.7-.8-.9-.9l-.1-.1c-9.3-9.4-9.3-24.5 .1-33.9c9.4-9.4 24.6-9.4 33.9 0zM71.1 154c6 9.4 14.9 16.1 25 19.5c-.6 11.8 3.1 23.7 11 33.2c13.6 16.3 36.3 21.8 55.8 13.4L256 180.2l93.1 39.9c19.5 8.4 42.2 2.9 55.8-13.4c7.9-9.5 11.7-21.5 11-33.2c10.3-3.5 19.1-10.4 25-19.5c44 35.5 71.1 86.4 71.1 150c0 130.9-114.6 208-256 208S0 434.9 0 304c0-63.6 27.1-114.5 71.1-150z\"]\n};\nvar faSwordLaser = {\n prefix: 'fas',\n iconName: 'sword-laser',\n icon: [512, 512, [], \"e03b\", \"M505 7c9.1 9.1 9.4 23.7 .7 33.2L285.2 281.3l-54.4-54.4L471.8 6.3c9.5-8.7 24.1-8.3 33.2 .7zM195.3 236.7l80 80c6.2 6.2 6.2 16.4 0 22.6c-6.1 6.1-15.8 6.2-22.1 .5l-81-81c-5.8-6.3-5.6-16 .5-22.1c6.2-6.2 16.4-6.2 22.6 0zm-57.7 57.7l23.7-23.7 80 80-23.7 23.7-80-80zm-11.3 11.3l80 80-20.7 20.7-80-80 20.7-20.7zM87 330.3L181.7 425l-2.3 2.3L105 501.7C98.3 508.3 89.4 512 80 512s-18.3-3.7-25-10.3L10.3 457C3.7 450.3 0 441.4 0 432s3.7-18.3 10.3-25l74.3-74.3 2.3-2.3z\"]\n};\nvar faHouseCircleCheck = {\n prefix: 'fas',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M320.7 352c8.1-89.7 83.5-160 175.3-160c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64l.7 0zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBuildings = {\n prefix: 'fas',\n iconName: 'buildings',\n icon: [512, 512, [], \"e0cc\", \"M256 0c-35.3 0-64 28.7-64 64v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256 448c35.3 0 64-28.7 64-64V192 64c0-35.3-28.7-64-64-64H256zM64 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V304zm208 16c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272zm112-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 192h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM256 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V80zM400 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM256 208V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm144 16c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]\n};\nvar faCartFlatbedBoxes = {\n prefix: 'fas',\n iconName: 'cart-flatbed-boxes',\n icon: [640, 512, [\"dolly-flatbed-alt\"], \"f475\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80h18.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM224 32c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224zM416 64v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32zm32 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448z\"]\n};\nvar faDollyFlatbedAlt = faCartFlatbedBoxes;\nvar faDiagramSuccessor = {\n prefix: 'fas',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM64 160l0-64 144 0 16 0 0 64L64 160zm224 0l0-64 80 0c8.8 0 16 7.2 16 16l0 16-38.1 0c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41L448 128l0-16c0-44.2-35.8-80-80-80L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64z\"]\n};\nvar faTruckArrowRight = {\n prefix: 'fas',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM257 95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H262.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9L257 95z\"]\n};\nvar faSquareW = {\n prefix: 'fas',\n iconName: 'square-w',\n icon: [448, 512, [], \"e285\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm54.9 136.7L160 297.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L288 297.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L224 254.7 182.9 383.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2s26.1 2.9 30.2 15.5z\"]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'fas',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V384c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64H109.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256H224c23.3 0 45.2 6.2 64 17.1V109.3l-41.4 41.4z\"]\n};\nvar faLamp = {\n prefix: 'fas',\n iconName: 'lamp',\n icon: [448, 512, [], \"f4ca\", \"M82.5 19.7C87.4 7.8 99.1 0 112 0H336c12.9 0 24.6 7.8 29.5 19.7l80 192c4.1 9.9 3 21.2-2.9 30.1s-15.9 14.2-26.6 14.2H32c-10.7 0-20.7-5.3-26.6-14.2s-7-20.2-2.9-30.1l80-192zM160 288H288v32s64 50.5 64 112c0 24.4-8.3 44.6-16.4 58.7c-8.5 14.7-25.2 21.3-42.1 21.3h-139c-17 0-33.6-6.6-42.1-21.3C104.3 476.6 96 456.4 96 432c0-61.5 64-112 64-112V288z\"]\n};\nvar faAirplay = {\n prefix: 'fas',\n iconName: 'airplay',\n icon: [576, 512, [], \"e089\", \"M480 96H96c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32h69.5l-50.7 50.7c-4 4-7.4 8.5-10.2 13.3H96c-53 0-96-43-96-96V128C0 75 43 32 96 32H480c53 0 96 43 96 96V320c0 53-43 96-96 96h-8.6c-2.8-4.8-6.2-9.2-10.2-13.3L410.5 352H480c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32zM265.4 297.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128z\"]\n};\nvar faHandFist = {\n prefix: 'fas',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M192 0c17.7 0 32 14.3 32 32V144H160V32c0-17.7 14.3-32 32-32zM64 64c0-17.7 14.3-32 32-32s32 14.3 32 32v80H64V64zm192 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zm96 64c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V256c0 52.3-25.1 98.8-64 128v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V401.6c-17.3-7.9-33.2-18.8-46.9-32.5L69.5 357.5C45.5 333.5 32 300.9 32 267V240c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\"]\n};\nvar faFistRaised = faHandFist;\nvar faShieldQuartered = {\n prefix: 'fas',\n iconName: 'shield-quartered',\n icon: [512, 512, [], \"e575\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM80 141.4L256 66.8V224H90.1c-6.9-30-9.8-58.5-10.1-82.6zM256 444.8V224H422c-18.5 80.5-65.5 172.2-166 220.8z\"]\n};\nvar faSlashForward = {\n prefix: 'fas',\n iconName: 'slash-forward',\n icon: [320, 512, [], \"2f\", \"M303.9 4.2c15.3 8.8 20.7 28.3 11.9 43.7l-256 448c-8.8 15.3-28.3 20.7-43.7 11.9S-4.6 479.5 4.2 464.1l256-448C269 .8 288.5-4.6 303.9 4.2z\"]\n};\nvar faLocationPen = {\n prefix: 'fas',\n iconName: 'location-pen',\n icon: [384, 512, [\"map-marker-edit\"], \"f607\", \"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM276.8 107c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L208.6 122 223.5 107c14.7-14.7 38.6-14.7 53.3 0zM114.1 216.5L186 144.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.7c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faMapMarkerEdit = faLocationPen;\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80H96c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faPotFood = {\n prefix: 'fas',\n iconName: 'pot-food',\n icon: [640, 512, [127858], \"e43f\", \"M112 24c0 26.5 10.5 38.7 25.9 56.1l.4 .4C154.8 99 176 122.9 176 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C85.2 93 64 69.1 64 24C64 10.7 74.7 0 88 0s24 10.7 24 24zm112 0c0 26.5 10.5 38.7 25.9 56.1l.4 .4C266.8 99 288 122.9 288 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C197.2 93 176 69.1 176 24c0-13.3 10.7-24 24-24s24 10.7 24 24zm208 88c50.7 0 93.6 33.7 107.4 80H324.6c13.8-46.3 56.6-80 107.4-80zM77.7 320H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H65.9c-.2-17.5 14-32 31.7-32H542.4c17.7 0 31.9 14.5 31.7 32H592c17.7 0 32 14.3 32 32s-14.3 32-32 32H562.3c-20.6 64-66.1 116.7-124.7 147.2l-1.2 9.7c-2.5 20-19.5 35-39.7 35H243.3c-20.2 0-37.2-15-39.7-35l-1.2-9.7C143.8 436.7 98.3 384 77.7 320z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z\"]\n};\nvar faPersonFalling = {\n prefix: 'fas',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M288 0c17.7 0 32 14.3 32 32l0 9.8c0 54.6-27.9 104.6-72.5 133.6l.2 .3L304.5 256l87.5 0c15.1 0 29.3 7.1 38.4 19.2l43.2 57.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L384 320l-96 0h-1.4l92.3 142.6c9.6 14.8 5.4 34.6-9.5 44.3s-34.6 5.4-44.3-9.5L164.5 249.2c-2.9 9.2-4.5 19-4.5 29l0 73.8c0 17.7-14.3 32-32 32s-32-14.3-32-32V278.2c0-65.1 39.6-123.7 100.1-147.9C232.3 115.8 256 80.8 256 41.8l0-9.8c0-17.7 14.3-32 32-32zM112 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faImagePortrait = {\n prefix: 'fas',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M384 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\"]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c10 0 18.8-4.9 24.2-12.5l-99.2-99.2c-14.9-14.9-23.3-35.1-23.3-56.1v-33c-15.9-4.7-32.8-7.2-50.3-7.2H178.3zM384 224c-17.7 0-32 14.3-32 32v82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7H384zm24 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRug = {\n prefix: 'fas',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M24 64H56 80V88v88 80 80 88 24H56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V360H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V200H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V112H24C10.7 112 0 101.3 0 88S10.7 64 24 64zm88 0H528V448H112V64zM640 88c0 13.3-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v40h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H584 560V424 336 256 176 88 64h24 32c13.3 0 24 10.7 24 24z\"]\n};\nvar faPrintSlash = {\n prefix: 'fas',\n iconName: 'print-slash',\n icon: [640, 512, [], \"f686\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L522.2 384H544c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H277.2L192 125.2V64H418.7L448 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L464 18.7C452 6.7 435.7 0 418.7 0H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zm459 483.1l-51-40.2H192V384 368 352H324.9L122.2 192.3C89.6 195.2 64 222.6 64 256v96c0 17.7 14.3 32 32 32h32v64c0 35.3 28.7 64 64 64H448c20.1 0 38.1-9.3 49.8-23.8zM496 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faEarthEurope = {\n prefix: 'fas',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M266.3 48.3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c6.5-20.2 10-41.7 10-64c0-111.4-87.6-202.4-197.7-207.7zm172 307.9c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c71.3-5.8 132.5-47.6 165.2-107.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'fas',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H541.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H253.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32zM432 96V56c0-4.4-3.6-8-8-8H344c-4.4 0-8 3.6-8 8V96h96zM288 96V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56V96 320H288V96zM512 320V96h16c26.5 0 48 21.5 48 48V272c0 26.5-21.5 48-48 48H512zM240 96h16V320H240c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faHandBackPointRibbon = {\n prefix: 'fas',\n iconName: 'hand-back-point-ribbon',\n icon: [448, 512, [], \"e1a0\", \"M112 128H43.8c-6.5 0-11.8-5.3-11.8-11.8c0-3.9 1.9-7.5 5.1-9.7L75.6 80 37.1 53.5c-3.2-2.2-5.1-5.8-5.1-9.7C32 37.3 37.3 32 43.8 32h69C116.5 13.7 132.6 0 152 0c22.1 0 40 17.9 40 40v8 64 16H176 112zm0 112V160h80v28.2c8.5-7.6 19.7-12.2 32-12.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v32 64c0 70.7-57.3 128-128 128H185.9c-37.4 0-73.7-13.1-102.4-37.1l-5.4-4.5C48.9 446.1 32 410 32 372V334c0-19 8.4-37 23-49.2l19.2-16c1.9-1.6 3.8-3.1 5.8-4.5V320c0 8.8 7.2 16 16 16s16-7.2 16-16V247v-7z\"]\n};\nvar faRectangleXmark = {\n prefix: 'fas',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faTireRugged = {\n prefix: 'fas',\n iconName: 'tire-rugged',\n icon: [512, 512, [], \"f634\", \"M320 24c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24V40c0 .4 0 .8 0 1.3c-14.9 4.4-29.2 10.4-42.6 17.7c-.3-.3-.6-.6-.9-.9L137.2 46.7c-9.4-9.4-24.6-9.4-33.9 0L46.7 103.3c-9.4 9.4-9.4 24.6 0 33.9L58 148.5c.3 .3 .6 .6 .9 .9c-7.3 13.4-13.2 27.7-17.7 42.6c-.4 0-.8 0-1.3 0H24c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24H40c.4 0 .8 0 1.3 0c4.4 14.9 10.4 29.2 17.7 42.6c-.3 .3-.6 .6-.9 .9L46.7 374.8c-9.4 9.4-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0L148.5 454c.3-.3 .6-.6 .9-.9c13.4 7.3 27.7 13.2 42.6 17.7c0 .4 0 .8 0 1.3v16c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V472c0-.4 0-.8 0-1.3c14.9-4.4 29.2-10.4 42.6-17.7c.3 .3 .6 .6 .9 .9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0l56.6-56.6c9.4-9.4 9.4-24.6 0-33.9L454 363.5c-.3-.3-.6-.6-.9-.9c7.3-13.4 13.2-27.7 17.7-42.6c.4 0 .8 0 1.3 0h16c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H472c-.4 0-.8 0-1.3 0c-4.4-14.9-10.4-29.2-17.7-42.6c.3-.3 .6-.6 .9-.9l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9L408.7 46.7c-9.4-9.4-24.6-9.4-33.9 0L363.5 58c-.3 .3-.6 .6-.9 .9c-13.4-7.3-27.7-13.2-42.6-17.7c0-.4 0-.8 0-1.3V24zM256 128a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-61.1 2.9a24 24 0 1 0 -14.8 45.7 24 24 0 1 0 14.8-45.7zm106.7 30.2a24 24 0 1 0 45.7-14.8 24 24 0 1 0 -45.7 14.8zm-22.7 87.2a24 24 0 1 0 38.8-28.2 24 24 0 1 0 -38.8 28.2zm-51.1-33.5a24 24 0 1 0 -28.2 38.8 24 24 0 1 0 28.2-38.8z\"]\n};\nvar faLightbulbDollar = {\n prefix: 'fas',\n iconName: 'lightbulb-dollar',\n icon: [384, 512, [], \"f670\", \"M272 384c9.6-31.9 29.5-59.1 49.2-86.2l0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H272zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zM212 88v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V296c0 11-9 20-20 20s-20-9-20-20V281.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V88c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faCowbell = {\n prefix: 'fas',\n iconName: 'cowbell',\n icon: [448, 512, [], \"f8b3\", \"M112 96h16V40c0-22.1 17.9-40 40-40H280c22.1 0 40 17.9 40 40V96h16c21.4 0 40.3 14.2 46.2 34.8l64 224c4.1 14.5 1.2 30.1-7.8 42.1s-23.3 19.1-38.3 19.1H48c-15.1 0-29.3-7.1-38.3-19.1s-12-27.6-7.8-42.1l64-224C71.7 110.2 90.6 96 112 96zm160 0V48H176V96h96zm16 352c0 35.3-28.7 64-64 64s-64-28.7-64-64H288z\"]\n};\nvar faBahtSign = {\n prefix: 'fas',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M144 0c-17.7 0-32 14.3-32 32V64H37.6C16.8 64 0 80.8 0 101.6V224v41.7V288 406.3c0 23 18.7 41.7 41.7 41.7H112v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c61.9 0 112-50.1 112-112c0-40.1-21.1-75.3-52.7-95.1C280.3 222.6 288 200.2 288 176c0-61.9-50.1-112-112-112V32c0-17.7-14.3-32-32-32zM112 128v96H64V128h48zm64 96V128c26.5 0 48 21.5 48 48s-21.5 48-48 48zm-64 64v96H64V288h48zm64 96V288h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H176z\"]\n};\nvar faCorner = {\n prefix: 'fas',\n iconName: 'corner',\n icon: [448, 512, [], \"e3fe\", \"M0 192c0-17.7 14.3-32 32-32H384c35.3 0 64 28.7 64 64V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faChevronsRight = {\n prefix: 'fas',\n iconName: 'chevrons-right',\n icon: [512, 512, [\"chevron-double-right\"], \"f324\", \"M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 233.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l192-192zm-384 192l192-192c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 41.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z\"]\n};\nvar faChevronDoubleRight = faChevronsRight;\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z\"]\n};\nvar faBookJournalWhills = {\n prefix: 'fas',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zm90.4-234.4l-21.2-21.2c-3 10.1-5.1 20.6-5.1 31.6c0 .2 0 .5 .1 .8s.1 .5 .1 .8L165.2 226c2.5 2.1 3.4 5.8 2.3 8.9c-1.3 3-4.1 5.1-7.5 5.1c-1.9-.1-3.8-.8-5.2-2l-23.6-20.6C142.8 267 186.9 304 240 304s97.3-37 108.9-86.6L325.3 238c-1.4 1.2-3.3 2-5.3 2c-2.2-.1-4.4-1.1-6-2.8c-1.2-1.5-1.9-3.4-2-5.2c.1-2.2 1.1-4.4 2.8-6l37.1-32.5c0-.3 0-.5 .1-.8s.1-.5 .1-.8c0-11-2.1-21.5-5.1-31.6l-21.2 21.2c-3.1 3.1-8.1 3.1-11.3 0s-3.1-8.1 0-11.2l26.4-26.5c-8.2-17-20.5-31.7-35.9-42.6c-2.7-1.9-6.2 1.4-5 4.5c8.5 22.4 3.6 48-13 65.6c-3.2 3.4-3.6 8.9-.9 12.7c9.8 14 12.7 31.9 7.5 48.5c-5.9 19.4-22 34.1-41.9 38.3l-1.4-34.3 12.6 8.6c.6 .4 1.5 .6 2.3 .6c1.5 0 2.7-.8 3.5-2s.6-2.8-.1-4L260 225.4l18-3.6c1.8-.4 3.1-2.1 3.1-4s-1.4-3.5-3.1-3.9l-18-3.7 8.5-14.3c.8-1.2 .9-2.9 .1-4.1s-2-2-3.5-2l-.1 0c-.7 .1-1.5 .3-2.1 .7l-14.1 9.6L244 87.9c-.1-2.2-1.9-3.9-4-3.9s-3.9 1.6-4 3.9l-4.6 110.8-12-8.1c-1.5-1.1-3.6-.9-5 .4s-1.6 3.4-.8 5l8.6 14.3-18 3.7c-1.8 .4-3.1 2-3.1 3.9s1.4 3.6 3.1 4l18 3.8-8.6 14.2c-.2 .6-.5 1.4-.5 2c0 1.1 .5 2.1 1.2 3c.8 .6 1.8 1 2.8 1c.7 0 1.6-.2 2.2-.6l10.4-7.1-1.4 32.8c-19.9-4.1-36-18.9-41.9-38.3c-5.1-16.6-2.2-34.4 7.6-48.5c2.7-3.9 2.3-9.3-.9-12.7c-16.6-17.5-21.6-43.1-13.1-65.5c1.2-3.1-2.3-6.4-5-4.5c-15.3 10.9-27.6 25.6-35.8 42.6l26.4 26.5c3.1 3.1 3.1 8.1 0 11.2s-8.1 3.1-11.2 0z\"]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faInhaler = {\n prefix: 'fas',\n iconName: 'inhaler',\n icon: [576, 512, [], \"f5f9\", \"M429.8 32.7c-12.7-3.2-25.6 4.4-29 17l-14 51.8L533.2 248 575.2 94.3c1.7-6.2 .8-12.9-2.4-18.4s-8.6-9.6-14.9-11.2l-128-32zM534.1 305.5c1.5-5.5-.1-11.5-4.1-15.5L383.8 143.8c-8.7-8.7-23.6-4.7-26.8 7.2l-16.5 61.2c-1.9 7-8.2 11.8-15.4 11.8H232c-22.1 0-40 17.9-40 40V440c0 22.1 17.9 40 40 40H456c18 0 33.8-12.1 38.6-29.5l39.5-145zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zm0 96A32 32 0 1 0 0 352a32 32 0 1 0 64 0zm64-16a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM64 448A32 32 0 1 0 0 448a32 32 0 1 0 64 0zm64-16a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHandcuffs = {\n prefix: 'fas',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32zm0 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32s32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSnake = {\n prefix: 'fas',\n iconName: 'snake',\n icon: [512, 512, [128013], \"f716\", \"M483.4 65.7L403.6 25.8c-30.8-15.4-68-9.4-92.3 15L288 64H176C96.5 64 32 128.5 32 208s64.5 144 144 144H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H256.1l-.1 0H111.6c-10.3 0-20.6 1.7-30.4 4.9l-66 22C6.1 446 0 454.4 0 464s6.1 18 15.2 21.1l66 22c9.8 3.3 20 4.9 30.4 4.9h64.3l.1 0H320c70.7 0 128-57.3 128-128s-57.3-128-128-128H176c-26.5 0-48-21.5-48-48s21.5-48 48-48H288l23.2 23.2c24.3 24.3 61.5 30.4 92.3 15l79.8-39.9c17.5-8.8 28.6-26.7 28.6-46.3s-11.1-37.5-28.6-46.3zM352 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTriangleExclamation = {\n prefix: 'fas',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faNoteMedical = {\n prefix: 'fas',\n iconName: 'note-medical',\n icon: [448, 512, [], \"e200\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320H336c-26.5 0-48 21.5-48 48V480H64c-35.3 0-64-28.7-64-64V96zM402.7 352H448l-32 32-64 64-32 32V434.7 368c0-8.8 7.2-16 16-16h66.7zM192 144v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H256V144c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z\"]\n};\nvar faDownLeft = {\n prefix: 'fas',\n iconName: 'down-left',\n icon: [384, 512, [], \"e16a\", \"M48 432H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-72-72L372.7 171.3c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3L331.3 75.3C324.1 68.1 314.2 64 304 64s-20.1 4.1-27.3 11.3L142.6 209.4l-72-72c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6V400c0 17.7 14.3 32 32 32z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [\"arrow-turn-right\", \"mail-forward\"], \"f064\", \"M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\"]\n};\nvar faArrowTurnRight = faShare;\nvar faMailForward = faShare;\nvar faFaceThinking = {\n prefix: 'fas',\n iconName: 'face-thinking',\n icon: [512, 512, [], \"e39b\", \"M512 256c0 141.4-114.6 256-256 256c-10.6 0-21.1-.6-31.4-1.9c4-5.7 7.3-12 9.8-18.8l21-57.7 35.8-13c23.9-8.7 38.3-32 36.8-56.1c-1.3-24.4-16.5-46.1-39.2-55.6L166.2 257.3c-8.1-3.4-17.5 .4-21 8.5s.4 17.5 8.5 21l82.4 34.7L144 355v-3c0-30.9-25.1-56-56-56s-56 25.1-56 56v28C11.6 343.3 0 301 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM208.4 176a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 48a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM143 121.9c23.5-13.4 52.9-10.6 73.4 7l13.2 11.3c6.7 5.8 16.8 5 22.6-1.7s5-16.8-1.7-22.6l-13.2-11.3C206.4 78.1 162.3 74 127.1 94.1l-7.1 4c-7.7 4.4-10.3 14.2-6 21.8s14.2 10.3 21.8 6l7.1-4zM112 352v48.6l151.8-55.2c12.5-4.5 26.2 1.9 30.8 14.4s-1.9 26.2-14.4 30.8l-49.8 18.1-26.1 71.7c-6.9 19-24.9 31.6-45.1 31.6H112c-26.5 0-48-21.5-48-48V352c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTurnDownRight = {\n prefix: 'fas',\n iconName: 'turn-down-right',\n icon: [512, 512, [], \"e455\", \"M334.5 446c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 88-192 0c-17.7 0-32-14.3-32-32L96 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64L0 208c0 70.7 57.3 128 128 128l192 0 0 88c0 9.6 5.7 18.2 14.5 22z\"]\n};\nvar faBottleDroplet = {\n prefix: 'fas',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M96 0C82.7 0 72 10.7 72 24s10.7 24 24 24c4.4 0 8 3.6 8 8v64.9c0 12.2-7.2 23.1-17.2 30.1C53.7 174.1 32 212.5 32 256V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V256c0-43.5-21.7-81.9-54.8-105c-10-7-17.2-17.9-17.2-30.1V56c0-4.4 3.6-8 8-8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0 0 0 0H104l0 0 0 0L96 0zm64 382c-26.5 0-48-20.1-48-45c0-16.8 22.1-48.1 36.3-66.4c6-7.8 17.5-7.8 23.5 0C185.9 288.9 208 320.2 208 337c0 24.9-21.5 45-48 45z\"]\n};\nvar faMaskFace = {\n prefix: 'fas',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 64c-27.2 0-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H144 128 56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512 496h-9.2c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64zM132.3 346.3l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96v48c0 45.1 13.4 87.2 36.3 122.3zm405.1-7.4l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3V176h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9zM192 208c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 48H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 80c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHillRockslide = {\n prefix: 'fas',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M252.4 103.8l27 48c2.8 5 8.2 8.2 13.9 8.2l53.3 0c5.8 0 11.1-3.1 13.9-8.2l27-48c2.7-4.9 2.7-10.8 0-15.7l-27-48c-2.8-5-8.2-8.2-13.9-8.2H293.4c-5.8 0-11.1 3.1-13.9 8.2l-27 48c-2.7 4.9-2.7 10.8 0 15.7zM68.3 87C43.1 61.8 0 79.7 0 115.3V432c0 44.2 35.8 80 80 80H396.7c35.6 0 53.5-43.1 28.3-68.3L68.3 87zM504.2 403.6c4.9 2.7 10.8 2.7 15.7 0l48-27c5-2.8 8.2-8.2 8.2-13.9V309.4c0-5.8-3.1-11.1-8.2-13.9l-48-27c-4.9-2.7-10.8-2.7-15.7 0l-48 27c-5 2.8-8.2 8.2-8.2 13.9v53.3c0 5.8 3.1 11.1 8.2 13.9l48 27zM192 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faScannerKeyboard = {\n prefix: 'fas',\n iconName: 'scanner-keyboard',\n icon: [512, 512, [], \"f489\", \"M152 0h16c13.3 0 24 10.7 24 24V64H128V24c0-13.3 10.7-24 24-24zM312 0h16c13.3 0 24 10.7 24 24V64H288V24c0-13.3 10.7-24 24-24zM224 16c0-8.8 7.2-16 16-16s16 7.2 16 16V64H224V16zM400 0c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16zm48 24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24H472c-13.3 0-24-10.7-24-24V24zM0 160c0-35.3 28.7-64 64-64H288c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm64 24v16c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm0 120v32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80zm112-80v32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208z\"]\n};\nvar faCircleO = {\n prefix: 'fas',\n iconName: 'circle-o',\n icon: [512, 512, [], \"e119\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\"]\n};\nvar faGridHorizontal = {\n prefix: 'fas',\n iconName: 'grid-horizontal',\n icon: [448, 512, [], \"e307\", \"M128 168c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V168zm0 160c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V328zm32-160v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zM288 328c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328zm32-160v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40zM448 328c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V328z\"]\n};\nvar faMessageDollar = {\n prefix: 'fas',\n iconName: 'message-dollar',\n icon: [512, 512, [\"comment-alt-dollar\"], \"f650\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm276 40c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faCommentAltDollar = faMessageDollar;\nvar faRightLeft = {\n prefix: 'fas',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M32 96l320 0V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64H480z\"]\n};\nvar faExchangeAlt = faRightLeft;\nvar faColumns3 = {\n prefix: 'fas',\n iconName: 'columns-3',\n icon: [640, 512, [], \"e361\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 96V416H64V96H192zm64 0H384V416H256V96zm320 0V416H448V96H576z\"]\n};\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z\"]\n};\nvar faRoadCircleExclamation = {\n prefix: 'fas',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l42.7 120.6c-10.9-2.1-22.2-3.2-33.8-3.2c-59.5 0-112.1 29.6-144 74.8V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32c2.3 0 4.6-.3 6.8-.7c-4.5 15.5-6.8 31.8-6.8 48.7c0 5.4 .2 10.7 .7 16l-.7 0c-17.7 0-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3c9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4C430 66.6 410.9 50.6 389.7 37.6c-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1 .2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4C185.5 9.4 178.8 24 184 36.8l30.3 75.8c4.5 11.3 16.8 17.2 29 16c4.2-.4 8.4-.6 12.7-.6s8.6 .2 12.7 .6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6c1.3-1.1 2.6-2.3 4-3.3c9.3-7.5 13.9-20.1 9.5-31.2L154.4 49.2c-5.2-12.9-20.3-18.8-32.1-11.6C101.1 50.6 82 66.6 65.5 85zm314 137.1c.9 3.3 1.7 6.6 2.3 10c2.5 13 13 23.9 26.2 23.9h80c13.3 0 24.1-10.8 22.9-24c-2.5-27.2-9.3-53.2-19.7-77.3c-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24h80c13.3 0 23.8-10.8 26.2-23.9c.6-3.4 1.4-6.7 2.3-10c3.1-11.4-.2-24-10-30.5L53.9 145.8zM104 288H24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H408zM24 416c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H24zm384 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H408zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224z\"]\n};\nvar faHandHoldingBox = {\n prefix: 'fas',\n iconName: 'hand-holding-box',\n icon: [576, 512, [], \"f47b\", \"M224 121.7c0 3.5 2.8 6.3 6.3 6.3c1.1 0 2.2-.3 3.1-.8l46.6-26.6c4.9-2.8 11-2.8 15.9 0l46.6 26.6c1 .5 2 .8 3.1 .8c3.5 0 6.3-2.8 6.3-6.3V0h80c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48h80V121.7zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z\"]\n};\nvar faInputText = {\n prefix: 'fas',\n iconName: 'input-text',\n icon: [640, 512, [], \"e1bf\", \"M64 128V384H576V128H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm184 32c9.5 0 18.1 5.6 21.9 14.3l64 144c5.4 12.1-.1 26.3-12.2 31.7s-26.3-.1-31.7-12.2l-4.3-9.7H146.3l-4.3 9.7c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l64-144c3.9-8.7 12.4-14.3 21.9-14.3zm0 83.1L167.6 280h32.8L184 243.1zM304 184c0-13.3 10.7-24 24-24h52c33.1 0 60 26.9 60 60c0 9.2-2.1 17.9-5.8 25.7c13.3 11 21.8 27.6 21.8 46.3c0 33.1-26.9 60-60 60H328c-13.3 0-24-10.7-24-24v-8V256 192v-8zm48 24v24h28c6.6 0 12-5.4 12-12s-5.4-12-12-12H352zm0 96h44c6.6 0 12-5.4 12-12s-5.4-12-12-12H380 352v24z\"]\n};\nvar faWindowFlip = {\n prefix: 'fas',\n iconName: 'window-flip',\n icon: [512, 512, [\"window-alt\"], \"f40f\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm416 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 128a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faWindowAlt = faWindowFlip;\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M448 64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\"]\n};\nvar faScannerGun = {\n prefix: 'fas',\n iconName: 'scanner-gun',\n icon: [576, 512, [\"scanner\"], \"f488\", \"M112 32C50.1 32 0 82.1 0 144c0 50.7 33.8 93.6 80 107.4L8.1 374.7c-13.3 22.8-5.7 52.2 17.1 65.6l53.4 31.4c22.8 13.4 52.3 5.8 65.7-17L261.2 256H304c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H112zm328 0c-13.3 0-24 10.7-24 24V72c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H440zM416 216v16c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H440c-13.3 0-24 10.7-24 24zm24 200c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H440zM416 144c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16 7.2-16 16zm16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432zm-16 80c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16 7.2-16 16z\"]\n};\nvar faScanner = faScannerGun;\nvar faTire = {\n prefix: 'fas',\n iconName: 'tire',\n icon: [512, 512, [], \"f631\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-16.1 62l0 65c44.3-5.5 81.5-33.6 99.8-72.4l-61.9-20.1c-8.6 13.5-22.1 23.5-38 27.6zm47.9-58l61.8 20.1c1.5-7.8 2.3-15.9 2.3-24.2c0-36.8-15.5-69.9-40.3-93.3l-38.2 52.6c9.1 11 14.5 25.2 14.5 40.6c0 1.4 0 2.7-.1 4zm-40.2-63.5l38.2-52.6C299.5 133.8 278.4 128 256 128s-43.5 5.8-61.8 15.9l28.1 38.8 10 13.8c7.3-2.9 15.3-4.5 23.6-4.5s16.3 1.6 23.6 4.5zM168.3 162.7C143.5 186.1 128 219.2 128 256c0 8.3 .8 16.3 2.3 24.2L192.1 260c-.1-1.3-.1-2.7-.1-4c0-15.4 5.5-29.6 14.5-40.6l-10.1-13.9-28.1-38.7zm33.7 127.7l-61.9 20.1c18.3 38.8 55.5 66.9 99.8 72.4l0-65c-15.8-4.1-29.3-14.1-37.9-27.5zM256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320z\"]\n};\nvar faEngine = {\n prefix: 'fas',\n iconName: 'engine',\n icon: [640, 512, [], \"e16e\", \"M400 112c13.3 0 24-10.7 24-24s-10.7-24-24-24H208c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0v32H208 160 128c-17.7 0-32 14.3-32 32v56H48V160c0-13.3-10.7-24-24-24s-24 10.7-24 24V352c0 13.3 10.7 24 24 24s24-10.7 24-24V280H96v72c0 17.7 14.3 32 32 32h44.8l32 40c12.1 15.2 30.5 24 50 24H448c35.3 0 64-28.7 64-64V238.8c0-19.4-8.8-37.8-24-50L449.5 158c-11.3-9.1-25.4-14-40-14H328V112l72 0zM288 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192-32c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H576z\"]\n};\nvar faMoneyBill1Wave = {\n prefix: 'fas',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM128 416H64V352c35.3 0 64 28.7 64 64zM64 224V160h64c0 35.3-28.7 64-64 64zM448 352c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z\"]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7 .8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1l-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M544 160l-.1 72.6c-.1 52.2-24 101-64 133.1c.1-1.9 .1-3.8 .1-5.7v-8c0-71.8-37-138.6-97.9-176.7l-60.2-37.6c-8.6-5.4-17.9-8.4-27.3-9.4L248.7 48.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8l78 135.1c3.3 5.7 10.7 7.7 16.4 4.4s7.7-10.7 4.4-16.4l-62-107.4c-6.6-11.5-2.7-26.2 8.8-32.8S362 5 368.6 16.5l68 117.8 0 0 0 0 43.3 75L480 160c0-17.7 14.4-32 32-32s32 14.4 32 32zM243.9 88.5L268.5 131c-13.9 4.5-26.4 13.7-34.7 27c-.9 1.4-1.7 2.9-2.5 4.4l-28.9-50c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zm-46.4 63.7l26.8 46.4c.6 6 2.1 11.8 4.3 17.4H224 210.7l0 0H179l-23-39.8c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8zM260.9 175c9.4-15 29.1-19.5 44.1-10.2l60.2 37.6C416.7 234.7 448 291.2 448 352v8c0 83.9-68.1 152-152 152H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h92c6.6 0 12-5.4 12-12s-5.4-12-12-12H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H212c6.6 0 12-5.4 12-12s-5.4-12-12-12H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H212c6.6 0 12-5.4 12-12s-5.4-12-12-12H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H224l0 0 0 0h93.2L271 219.1c-15-9.4-19.5-29.1-10.2-44.1z\"]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCircleCaretRight = {\n prefix: 'fas',\n iconName: 'circle-caret-right',\n icon: [512, 512, [\"caret-circle-right\"], \"f330\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm368 0c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretCircleRight = faCircleCaretRight;\nvar faWheat = {\n prefix: 'fas',\n iconName: 'wheat',\n icon: [512, 512, [], \"f72d\", \"M472 0c-48.6 0-88 39.4-88 88v24c0 8.8 7.2 16 16 16h24c48.6 0 88-39.4 88-88V16c0-8.8-7.2-16-16-16H472zM305.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L101.8 231c-6.2-6.2-16.4-6.2-22.6 0L67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L486.5 231c6.2-6.2 6.2-16.4 0-22.6L475.2 197c-34.1-34.1-82.6-44.9-125.9-32.5c12.4-43.3 1.5-91.8-32.5-125.9L305.5 27.3z\"]\n};\nvar faFileSpreadsheet = {\n prefix: 'fas',\n iconName: 'file-spreadsheet',\n icon: [384, 512, [], \"f65b\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM88 224H296c17.7 0 32 14.3 32 32v16 80 64c0 17.7-14.3 32-32 32H232 152 88c-17.7 0-32-14.3-32-32V352 272 256c0-17.7 14.3-32 32-32zm0 112h48V288H88v48zm80 0h48V288H168v48zm80 0h48V288H248v48zm0 32v48h48V368H248zm-32 0H168v48h48V368zm-80 0H88v48h48V368z\"]\n};\nvar faAudioDescriptionSlash = {\n prefix: 'fas',\n iconName: 'audio-description-slash',\n icon: [640, 512, [], \"e0a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zM336 238V184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96c0 35.3-19 66.1-47.4 82.8l-44.6-35c24.7-2 44.1-22.7 44.1-47.8c0-26.5-21.5-48-48-48H384v67.7L336 238zM487.4 480L314.3 343.6c-2 2.4-4.6 4.4-7.5 5.9c-11.9 5.9-26.3 1.1-32.2-10.7l-9.4-18.9H182.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l42.5-85L32 121.2V416c0 35.3 28.7 64 64 64H487.4zm-254-200.2l-21.8-17.2-8.6 17.2h30.4z\"]\n};\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm80 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80z\"]\n};\nvar faWaterLadder = {\n prefix: 'fas',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 127.7C128 74.9 170.9 32 223.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V224H384V127.7C384 74.9 426.9 32 479.7 32c48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8c-17.5 0-31.7 14.2-31.7 31.7V361c-1.6 1-3.3 2-4.8 3.1c-18 12.4-40.1 20.3-59.2 20.3h0V288H192v96.5c-19 0-41.2-7.9-59.1-20.3c-1.6-1.1-3.2-2.2-4.9-3.1V127.7zM306.5 389.9C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'fas',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z\"]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faChessPawnPiece = {\n prefix: 'fas',\n iconName: 'chess-pawn-piece',\n icon: [256, 512, [\"chess-pawn-alt\"], \"f444\", \"M176 240c19.4-14.6 32-37.8 32-64c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 26.2 12.6 49.4 32 64H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h5.7L64 384H192l-13.7-96H184c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8zM4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48L4.8 473.6z\"]\n};\nvar faChessPawnAlt = faChessPawnPiece;\nvar faFaceGrimace = {\n prefix: 'fas',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-112h-8V360l55.3 0c-3.8 22.7-23.6 40-47.3 40zm47.3-56L344 344V304h8c23.8 0 43.5 17.3 47.3 40zM328 344H264V304h64v40zm0 56H264V360h64v40zm-80-96v40l-64 0V304h64zm0 56v40H184V360l64 0zm-80-16H112.7c3.8-22.7 23.6-40 47.3-40h8v40zm0 56h-8c-23.8 0-43.5-17.3-47.3-40H168v40zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'fas',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM204.5 121.3c-5.4-2.5-11.7-1.9-16.4 1.7l-40.9 30.7c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l40.9-30.7c23.7-17.8 55.3-21 82.1-8.4l90.4 42.5c29.1 13.7 36.8 51.6 15.2 75.5L299.1 224h97.4c30.3 0 53 27.7 47.1 57.4L415.4 422.3c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7L377 288H306.7c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c11.1 0 22 1.1 32.4 3.3l54.2-54.2-42.1-19.8zM160 448a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'fas',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M350 334.5c3.8 8.8 2 19-4.6 26l-136 144c-4.5 4.8-10.8 7.5-17.4 7.5s-12.9-2.7-17.4-7.5l-136-144c-6.6-7-8.4-17.2-4.6-26s12.5-14.5 22-14.5h88l0-192c0-17.7-14.3-32-32-32H32C14.3 96 0 81.7 0 64V32C0 14.3 14.3 0 32 0l80 0c70.7 0 128 57.3 128 128l0 192h88c9.6 0 18.2 5.7 22 14.5z\"]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faSquareS = {\n prefix: 'fas',\n iconName: 'square-s',\n icon: [448, 512, [], \"e27d\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175.6 196.2c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4l2 .6 0 0c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23.1 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4l-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23.1-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7c-20.3-3.1-36.8-1.4-47.8 2.9c-10.3 4.1-14.2 9.6-15.4 15.8z\"]\n};\nvar faRectangleBarcode = {\n prefix: 'fas',\n iconName: 'rectangle-barcode',\n icon: [576, 512, [\"barcode-alt\"], \"f463\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 96c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm56 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm88-16c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm88 24c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm112-24c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]\n};\nvar faBarcodeAlt = faRectangleBarcode;\nvar faPersonWalkingArrowRight = {\n prefix: 'fas',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H530.7l-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z\"]\n};\nvar faSquareEnvelope = {\n prefix: 'fas',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM218 271.7L64.2 172.4C66 156.4 79.5 144 96 144H352c16.5 0 30 12.4 31.8 28.4L230 271.7c-1.8 1.2-3.9 1.8-6 1.8s-4.2-.6-6-1.8zm29.4 26.9L384 210.4V336c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V210.4l136.6 88.2c7 4.5 15.1 6.9 23.4 6.9s16.4-2.4 23.4-6.9z\"]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M274.9 34.3c-28.1-28.1-73.7-28.1-101.8 0L34.3 173.1c-28.1 28.1-28.1 73.7 0 101.8L173.1 413.7c28.1 28.1 73.7 28.1 101.8 0L413.7 274.9c28.1-28.1 28.1-73.7 0-101.8L274.9 34.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 376a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM352 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 120a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm96 328c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H461.7c11.6 36 3.1 77-25.4 105.5L320 413.8V448zM480 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUnicorn = {\n prefix: 'fas',\n iconName: 'unicorn',\n icon: [640, 512, [129412], \"f727\", \"M448 160v78.1V240h0c-.5 30-12.8 56.4-32 75.7V480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V346.7c-4.1-.7-8.2-1.6-12.3-2.8l-84-24c.2 2.3 .3 4.6 .3 6.9c0 18.6-7.4 36.5-20.6 49.7l-12.7 12.7c-4.8 4.8-6.4 11.8-4.3 18.2l20.8 62.5c6.9 20.7-8.5 42.1-30.4 42.1H143.1c-13.8 0-26-8.8-30.4-21.9L95.3 437.7c-10.6-31.7-6.5-65.9 10-93.9c7.6-12.9 9.5-29.1 1.2-41.6L78.2 259.9c-7.3-11-11.9-23.4-13.6-36.4C54.6 230.8 48 242.6 48 256v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-44.6 33.2-81.5 76.3-87.2c14.9-24.4 41.8-40.8 72.5-40.8h54.4H224h96C320 57.3 377.3 0 448 0h16 16 64c8.8 0 16 7.2 16 16s-7.2 16-16 16h-5.7c5.2 4.6 9.6 10 13.1 16h79.3c5.1 0 9.3 4.2 9.3 9.3c0 4-2.6 7.6-6.4 8.8L560 90.7v64.8c0 22.1-13.4 41.9-33.9 50.1c-26.1 10.4-55.7-.9-68.3-26L448 160zm64-80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPompebled = {\n prefix: 'fas',\n iconName: 'pompebled',\n icon: [512, 512, [], \"e43d\", \"M460.3 172c-46.2-33.2-117-14.1-165.1 44.3c-5.9 8.6-17.2 10.6-25.6 4.5s-10.3-17.6-4.4-26.2c36.9-66.9 29-141.3-17.7-173.5C188.6-20.6 103.1 1.5 56.9 70.4c-85.5 126.3-77.6 313.4 44.2 400.4c121.4 87 296.3 27.7 381.8-98.6c46.2-68.4 36.4-158.5-22.6-200.2z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z\"]\n};\nvar faWatchSmart = {\n prefix: 'fas',\n iconName: 'watch-smart',\n icon: [384, 512, [], \"e2cc\", \"M64 48H320c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48zM80 80C35.8 80 0 115.8 0 160V352c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V160c0-44.2-35.8-80-80-80H80zm136 80v86.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V160c0-13.3 10.7-24 24-24s24 10.7 24 24zM112 512H272c26.5 0 48-21.5 48-48H64c0 26.5 21.5 48 48 48z\"]\n};\nvar faBookUser = {\n prefix: 'fas',\n iconName: 'book-user',\n icon: [448, 512, [], \"f7e7\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM64 416c0 17.7 14.3 32 32 32H352V384H96c-17.7 0-32 14.3-32 32zM304 128a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM128 304c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H208c-44.2 0-80 35.8-80 80z\"]\n};\nvar faSensorCloud = {\n prefix: 'fas',\n iconName: 'sensor-cloud',\n icon: [640, 512, [\"sensor-smoke\"], \"e02c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H234.8c-6.9-14.5-10.8-30.8-10.8-48c0-44.7 26.2-83.3 64.1-101.3C290.9 271.3 339.9 224 400 224c17.2 0 33.5 3.9 48 10.8V96c0-35.3-28.7-64-64-64H64zm48 88V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zM336 512H560c44.2 0 80-35.8 80-80c0-39-27.9-71.5-64.8-78.6c.5-3.1 .8-6.2 .8-9.4c0-30.9-25.1-56-56-56c-18.1 0-34.1 8.6-44.4 21.8C464.8 278.5 435 256 400 256c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C284.4 359.9 256 392.6 256 432c0 44.2 35.8 80 80 80z\"]\n};\nvar faSensorSmoke = faSensorCloud;\nvar faClapperboardPlay = {\n prefix: 'fas',\n iconName: 'clapperboard-play',\n icon: [512, 512, [], \"e132\", \"M453.8 32.3L327 159l-1 1H233.9L361 33l1-1H448c2 0 3.9 .1 5.8 .3zM393.9 160L498 56c8.8 11 14 24.9 14 40v64H393.9zM201.9 32h92.1L167 159l-1 1H73.9L201 33l1-1zm-67.9 0L7 159l-1 1H0V96C0 60.7 28.7 32 64 32h70.1zM0 192H512V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm216.5 65.9c-5.2 2.8-8.5 8.2-8.5 14.1V400c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8l96-64c4.4-3 7.1-8 7.1-13.3s-2.7-10.3-7.1-13.3l-96-64c-4.9-3.3-11.2-3.6-16.4-.8z\"]\n};\nvar faBandage = {\n prefix: 'fas',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M480 416h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H480V416zM448 96H192V416H448V96zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64h96V96H64zM248 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM248 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [512, 512, [], \"f272\", \"M160 0c17.7 0 32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H32V112c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zM344 376c13.3 0 24-10.7 24-24s-10.7-24-24-24H168c-13.3 0-24 10.7-24 24s10.7 24 24 24H344z\"]\n};\nvar faCircleXmark = {\n prefix: 'fas',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faCircle4 = {\n prefix: 'fas',\n iconName: 'circle-4',\n icon: [512, 512, [], \"e0f1\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM223.6 129.2c-12.6-4.2-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H272v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H201.3l37.5-112.4c4.2-12.6-2.6-26.2-15.2-30.4z\"]\n};\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H200.6c-5.4-9.4-8.6-20.3-8.6-32V256c0-29.9 20.5-55 48.2-62c1.8-31 17.1-58.2 40.1-76.1C271.7 104.7 256.9 96 240 96H217.8l28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24H272c-26.5 0-48 21.5-48 48v80H416V256h32v96H640V272c0-26.5-21.5-48-48-48h-4.1c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zM224 464c0 26.5 21.5 48 48 48H416V384H224v80zm224 48H592c26.5 0 48-21.5 48-48V384H448V512zm96-312c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"]\n};\nvar faAlbumCollection = {\n prefix: 'fas',\n iconName: 'album-collection',\n icon: [512, 512, [], \"f8a0\", \"M32 24c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM48 160c-13.8 0-26.9 5.9-36 16.2S-1.3 200.3 .4 214l32 256c3 24 23.4 42 47.6 42H432c24.2 0 44.6-18 47.6-42l32-256c1.7-13.7-2.5-27.4-11.6-37.7s-22.2-16.2-36-16.2H48zM440 344c0 75.1-82.4 136-184 136S72 419.1 72 344s82.4-136 184-136s184 60.9 184 136zM256 376c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zM40 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H472c13.3 0 24-10.7 24-24s-10.7-24-24-24H40z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M0 32C0 14.3 14.3 0 32 0H480c17.7 0 32 14.3 32 32s-14.3 32-32 32V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64C14.3 64 0 49.7 0 32zm96 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM240 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H240zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM112 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H368zM328 384c13.3 0 24.3-10.9 21-23.8c-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8H328z\"]\n};\nvar faEarthAsia = {\n prefix: 'fas',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M51.7 295.1l31.7 6.3c7.9 1.6 16-.9 21.7-6.6l15.4-15.4c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9h2.3c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17-4.3c7.5-1.9 13.6-7.2 16.5-14.4l16.4-40.9C303.4 52.1 280.2 48 256 48C141.1 48 48 141.1 48 256c0 13.4 1.3 26.5 3.7 39.1zm407.7 4.6c-3-.3-6-.1-9 .8l-15.8 4.4c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.5 21.1l2.6-1c10-3.7 21.3-2.2 29.9 4.1l1.5 1.1c37.2-29.5 64.1-71.4 74.4-119.5zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144.5 92.1c-2.1 8.6 3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8c-8.6-2.1-17.3 3.1-19.4 11.6zm92-20c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32zM343.2 113.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32c4-7.9 .7-17.5-7.2-21.5z\"]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'fas',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM64 64H192v48c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64zM176 437.3c0 5.9 4.8 10.7 10.7 10.7H389.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H229.3c-29.5 0-53.3 23.9-53.3 53.3zM288 352a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 42.9-38.9 47.1c4.4 7.3 6.9 15.8 6.9 24.9c0 21.3-13.9 39.4-33.1 45.6c.7 3.3 1.1 6.8 1.1 10.4c0 26.5-21.5 48-48 48H294.5c-19 0-37.5-5.6-53.3-16.1l-38.5-25.7C176 420.4 160 390.4 160 358.3V320 272 247.1c0-29.2 13.3-56.7 36-75l7.4-5.9c26.5-21.2 44.6-51 51.2-84.2l2.3-11.4c5.2-26 30.5-42.9 56.5-37.7zM32 192H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faCloudShowers = {\n prefix: 'fas',\n iconName: 'cloud-showers',\n icon: [512, 512, [], \"f73f\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H96zm16 32c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24zm192 0c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24zm-72 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24s24 10.7 24 24zm168-24c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 304h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faOnion = {\n prefix: 'fas',\n iconName: 'onion',\n icon: [448, 512, [129477], \"e427\", \"M216.8 17.7l-3.4-6.8C210.1 4.2 203.3 0 195.8 0c-10.9 0-19.6 9-21.3 19.8C167 67.8 132 96.2 95.3 126C49 163.7 0 203.5 0 288c0 80.4 58 135.2 131.9 160.3l-10.7 32.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2L178.6 460c7.1 1.2 14.2 2.1 21.4 2.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24V462.7c7.2-.7 14.3-1.6 21.4-2.7l11.9 35.6c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-10.7-32.1C390 423.2 448 368.4 448 288c0-84.5-49-124.3-95.3-162C316 96.2 281 67.8 273.5 19.8C271.8 9 263.1 0 252.2 0c-7.5 0-14.3 4.2-17.7 10.9l-3.4 6.8c-2.9 5.9-11.4 5.9-14.3 0zM97 186.2l.4-.9c.4-.8 .8-1.5 1.2-2.2c2.5-3.8 6.6-6.4 11.3-6.9c1.9-.2 3.8-.1 5.6 .3s3.6 1.2 5.2 2.2c3.9 2.6 6.4 6.8 7 11.2c.3 1.9 .2 3.9-.3 5.9c-.3 1.3-.8 2.5-1.3 3.6l-.3 .7c-.3 .6-.8 1.6-1.4 2.9c-1.2 2.6-2.9 6.4-4.9 11.2c-4 9.6-9 23-13.3 38.2c-8.8 31.3-13.5 67.1-3.4 94c3.1 8.3-1.1 17.5-9.4 20.6s-17.5-1.1-20.6-9.4c-13.9-37-6.6-81.3 2.6-114c4.7-16.7 10.2-31.4 14.5-41.8c2.2-5.2 4-9.4 5.4-12.3c.7-1.5 1.2-2.6 1.6-3.4zM209 122.5c.3-.9 .8-1.8 1.3-2.7c1.2-2.1 2.9-3.8 4.8-5c3.4-2.3 7.7-3.3 11.9-2.5c1.9 .4 3.7 1 5.2 2c2 1.2 3.7 2.9 5 4.8s2.2 4.1 2.6 6.4c.3 1.8 .3 3.7-.1 5.5c-.2 1.1-.5 2.2-1 3.3l0 .1-.5 1.3c-.4 1.1-1.1 2.8-1.9 5c-1.6 4.4-4 10.9-6.6 18.9c-5.4 16.2-12.2 38.7-18.1 64c-11.9 51.7-18.9 111.9-4.4 155.3c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1c-17.5-52.5-8.5-120.3 3.6-172.7c6.1-26.6 13.3-50.1 18.9-67c2.8-8.4 5.2-15.2 7-19.9c.9-2.4 1.6-4.2 2.1-5.4l.6-1.5 .1-.1zM288 160c0-8.8 7.2-16 16-16c.1 0 .2 0 .2 0c.1 0 .2 0 .4 0c5.8-.2 11.6 2.7 14.6 8.2l-1 .6 0 0c1-.5 1-.5 1-.5l0 0 0 0 0 .1 .2 .3 .6 1.1c.5 .9 1.2 2.2 2.1 3.9c1.8 3.4 4.2 8.3 7.1 14.3c5.7 12.1 13.1 29.2 19.8 48.9c13.1 38.7 24.5 90.6 11.7 135.5c-2.4 8.5-11.3 13.4-19.8 11s-13.4-11.3-11-19.8c10-35.1 1.4-79.2-11.2-116.5c-6.2-18.3-13.1-34.2-18.4-45.6c-2.7-5.7-4.9-10.2-6.5-13.2l-.1-.1c-3.5-2.9-5.7-7.3-5.7-12.2z\"]\n};\nvar faClockTwelveThirty = {\n prefix: 'fas',\n iconName: 'clock-twelve-thirty',\n icon: [512, 512, [], \"e359\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-360V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faArrowDownToDottedLine = {\n prefix: 'fas',\n iconName: 'arrow-down-to-dotted-line',\n icon: [448, 512, [], \"e095\", \"M374.6 214.6l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 242.7V176 64c0-17.7 14.3-32 32-32s32 14.3 32 32V176v66.7l73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faHandDots = {\n prefix: 'fas',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32zM240 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM240 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-48-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm0 32v64H288V256H96zM240 416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]\n};\nvar faRectangleWide = {\n prefix: 'fas',\n iconName: 'rectangle-wide',\n icon: [640, 512, [], \"f2fc\", \"M0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faCommentArrowUp = {\n prefix: 'fas',\n iconName: 'comment-arrow-up',\n icon: [512, 512, [], \"e144\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm24-120c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V328z\"]\n};\nvar faGarlic = {\n prefix: 'fas',\n iconName: 'garlic',\n icon: [512, 512, [129476], \"e40e\", \"M83.4 169.1C42.3 200.5 0 232.7 0 288C0 392.6 85.5 411.7 116.7 415.2C85 390.5 64 352.6 64 304c0-27.8 4.3-48.7 11-66.5c5.9-15.6 13.6-28.6 20.7-40.5c.8-1.4 1.7-2.8 2.5-4.2c7.8-13.2 15.1-26.2 20.5-43.3c1.2-3.7 2.3-7.7 3.3-11.9c-11.7 10.9-25.1 21.1-38.7 31.5zM384 416s128 0 128-128c0-55.3-42.3-87.5-83.4-118.9C389.8 139.5 352 110.6 352 64V48c0-26.5-21.5-48-48-48H288V80c0 30.2 4.7 51.9 11.4 69c6.7 17.1 15.7 30.3 25.5 43.8c1.2 1.6 2.4 3.3 3.6 4.9l0 0 0 0c19 25.8 39.4 53.5 39.4 106.3c0 49.2-21.5 87.3-53.7 112H384zM256 80V0H208c-26.5 0-48 21.5-48 48V64 80c0 33.4-4.2 58.5-10.8 79.2c-6.6 20.7-15.3 36.2-23.5 49.9l-2.5 4.2c-7.2 12.1-13.5 22.6-18.3 35.5c-5.3 13.9-9 31-9 55.2c0 69.3 54.9 112 120 112s120-42.7 120-112c0-42.1-15-62.5-33.5-87.7l0 0 0-.1c-1.1-1.5-2.2-3.1-3.4-4.6c-10.2-13.9-21.2-29.8-29.5-50.9C261.3 139.5 256 113.8 256 80zM136 448v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H136zm64 0v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H200zm64 0v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H264zm64 0v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H328z\"]\n};\nvar faMugSaucer = {\n prefix: 'fas',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M96 64c0-17.7 14.3-32 32-32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64zM480 224h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H480V224zM32 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M162.4 6c-1.5-3.6-5-6-8.9-6h-19c-3.9 0-7.5 2.4-8.9 6L104.9 57.7c-3.2 8-14.6 8-17.8 0L66.4 6c-1.5-3.6-5-6-8.9-6H48C21.5 0 0 21.5 0 48V224v22.4V256H9.6 374.4 384v-9.6V224 48c0-26.5-21.5-48-48-48H230.5c-3.9 0-7.5 2.4-8.9 6L200.9 57.7c-3.2 8-14.6 8-17.8 0L162.4 6zM0 288v32c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V288H0zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTreeDecorated = {\n prefix: 'fas',\n iconName: 'tree-decorated',\n icon: [448, 512, [], \"f7dc\", \"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L28.5 313.7c-2.9 4.1-4.5 9-4.5 14.1C24 341.1 34.8 352 48.2 352H80L3.8 474c-2.5 4-3.8 8.5-3.8 13.2C0 500.9 11.1 512 24.9 512H423.1c13.7 0 24.9-11.1 24.9-24.9c0-4.7-1.3-9.2-3.8-13.2L368 352h31.8c13.4 0 24.2-10.9 24.2-24.2c0-5-1.6-10-4.5-14.1L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9zM160 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72-104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm56 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M288 64C64 64 0 160 0 272S80 448 176 448h8.4c24.2 0 46.4-13.7 57.2-35.4l23.2-46.3c4.4-8.8 13.3-14.3 23.2-14.3s18.8 5.5 23.2 14.3l23.2 46.3c10.8 21.7 33 35.4 57.2 35.4H400c96 0 176-64 176-176s-64-208-288-208zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCalendarHeart = {\n prefix: 'fas',\n iconName: 'calendar-heart',\n icon: [448, 512, [], \"e0d3\", \"M128 0c17.7 0 32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32c0-17.7 14.3-32 32-32zM0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM112 317.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'fas',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faFlower = {\n prefix: 'fas',\n iconName: 'flower',\n icon: [448, 512, [127804, 10047], \"f7ff\", \"M128 480c38.2 0 72.5-16.8 96-43.3c23.5 26.6 57.8 43.3 96 43.3c70.7 0 128-57.3 128-128c0-38.2-16.8-72.5-43.3-96c26.6-23.5 43.3-57.8 43.3-96c0-70.7-57.3-128-128-128c-38.2 0-72.5 16.8-96 43.3C200.5 48.8 166.2 32 128 32C57.3 32 0 89.3 0 160c0 38.2 16.8 72.5 43.3 96C16.8 279.5 0 313.8 0 352c0 70.7 57.3 128 128 128zm96-304a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faRightLeftLarge = {\n prefix: 'fas',\n iconName: 'right-left-large',\n icon: [640, 512, [], \"e5e1\", \"M184.4 512c-19 0-37.2-7.5-50.6-21L15 372.3C5.4 362.7 0 349.6 0 336s5.4-26.7 15-36.3L133.8 181c13.4-13.4 31.6-21 50.6-21c37 0 67.4 28 71.2 64H320h96 16c8.8 0 16 7.2 16 16v16 24.4c0 4.2 3.4 7.6 7.6 7.6c2 0 3.9-.8 5.4-2.2L570.7 176 461 66.2c-1.4-1.4-3.4-2.2-5.4-2.2c-4.2 0-7.6 3.4-7.6 7.6V96v16c0 8.8-7.2 16-16 16H416 320c-17.7 0-32-14.3-32-32s14.3-32 32-32h64.4c3.8-36 34.2-64 71.2-64c19 0 37.2 7.5 50.6 21L625 139.7c9.6 9.6 15 22.7 15 36.3s-5.4 26.7-15 36.3L506.2 331c-13.4 13.4-31.6 21-50.6 21c-37 0-67.4-28-71.2-64H320 224 208c-8.8 0-16-7.2-16-16V256 231.6c0-4.2-3.4-7.6-7.6-7.6c-2 0-3.9 .8-5.4 2.2L69.3 336 179 445.8c1.4 1.4 3.4 2.2 5.4 2.2c4.2 0 7.6-3.4 7.6-7.6V416 400c0-8.8 7.2-16 16-16h16 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H255.6c-3.8 36-34.2 64-71.2 64z\"]\n};\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M0 48C0 21.5 21.5 0 48 0H208c26.5 0 48 21.5 48 48V96H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faCirclesOverlap = {\n prefix: 'fas',\n iconName: 'circles-overlap',\n icon: [640, 512, [], \"e600\", \"M192 288c0 34.2 7.7 66.6 21.4 95.7C130 378.2 64 308.8 64 224c0-88.4 71.6-160 160-160c32.2 0 62.2 9.5 87.3 25.9C240.4 127.5 192 202.1 192 288zm32 160c11.2 0 22.1-.8 32.8-2.4c40.6 41 96.9 66.4 159.2 66.4c123.7 0 224-100.3 224-224S539.7 64 416 64c-11.2 0-22.1 .8-32.8 2.4C342.6 25.4 286.3 0 224 0C100.3 0 0 100.3 0 224S100.3 448 224 448zm192 0c-32.2 0-62.2-9.5-87.3-25.9C399.6 384.5 448 309.9 448 224c0-34.2-7.7-66.6-21.4-95.7C510 133.8 576 203.2 576 288c0 88.4-71.6 160-160 160z\"]\n};\nvar faUserLarge = {\n prefix: 'fas',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H481.3c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320H161.3z\"]\n};\nvar faUserAlt = faUserLarge;\nvar faStarshipFreighter = {\n prefix: 'fas',\n iconName: 'starship-freighter',\n icon: [576, 512, [], \"e03a\", \"M224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c42.3 0 84.2 7.9 123.6 23.2l207.9 80.9c12.3 4.8 20.4 16.6 20.4 29.8V208c0 8.8-7.2 16-16 16H445.7 432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h13.7H560c8.8 0 16 7.2 16 16v42.1c0 13.2-8.1 25-20.4 29.8l-82.1 31.9c4.1 7.1 6.5 15.3 6.5 24.1c0 26.5-21.5 48-48 48H352c-11.5 0-21.6-6.1-27.3-15.2C292.2 474.9 258.2 480 224 480zm0-272a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM80 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM112 368a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faTrainTram = {\n prefix: 'fas',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M86.8 48c-12.2 0-23.6 5.5-31.2 15L42.7 79C34.5 89.3 19.4 91 9 82.7S-3 59.4 5.3 49L18 33C34.7 12.2 60 0 86.8 0H361.2c26.7 0 52 12.2 68.7 33l12.8 16c8.3 10.4 6.6 25.5-3.8 33.7s-25.5 6.6-33.7-3.7L392.5 63c-7.6-9.5-19.1-15-31.2-15H248V96h40c53 0 96 43 96 96V352c0 30.6-14.3 57.8-36.6 75.4l65.5 65.5c7.1 7.1 2.1 19.1-7.9 19.1H365.3c-8.5 0-16.6-3.4-22.6-9.4L288 448H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H43c-10 0-15-12.1-7.9-19.1l65.5-65.5C78.3 409.8 64 382.6 64 352V192c0-53 43-96 96-96h40V48H86.8zM160 160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160zm32 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBridgeSuspension = {\n prefix: 'fas',\n iconName: 'bridge-suspension',\n icon: [640, 512, [], \"e4cd\", \"M128 8c9.1 0 17 5 21.1 12.5C184.2 81.6 249.7 120 320 120s135.8-38.4 170.9-99.5C495 13 502.9 8 512 8c8.8 0 16.5 4.7 20.7 11.8c13.1 21.2 26.6 42.2 42 59.8c15.5 17.7 31.7 30.6 49.4 36.9c12.5 4.5 18.9 18.2 14.4 30.7s-18.2 18.9-30.7 14.4c-25.5-9.2-46.4-25.8-63.9-44.5V256h64c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32c-35.3 0-64 28.7-64 64v64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V448c0-53-43-96-96-96H288c-53 0-96 43-96 96v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416c0-35.3-28.7-64-64-64c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32H96V117.1c-17.4 18.7-38.4 35.3-63.9 44.5c-12.5 4.5-26.2-2-30.7-14.4s2-26.2 14.4-30.7c17.7-6.4 33.9-19.3 49.4-36.9c15.4-17.6 29-38.6 42-59.8C111.5 12.7 119.2 8 128 8zM480 108.1c-12.4 10.7-25.8 20.1-40 28.2V256h40V108.1zm-88 49c-15.5 4.8-31.6 8.1-48 9.8V256h48V157zm-96 9.8c-16.4-1.6-32.5-4.9-48-9.8v99h48V166.8zm-96-30.5c-14.2-8-27.6-17.5-40-28.2V256h40V136.3z\"]\n};\nvar faTrashCheck = {\n prefix: 'fas',\n iconName: 'trash-check',\n icon: [448, 512, [], \"e2af\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128H416L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zM337 249c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 249z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M96 128V70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80V160H144v16zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faBoombox = {\n prefix: 'fas',\n iconName: 'boombox',\n icon: [640, 512, [128254], \"f8a5\", \"M120 48H520c22.1 0 40 17.9 40 40v72H448c0-17.7-14.3-32-32-32s-32 14.3-32 32H352c0-17.7-14.3-32-32-32s-32 14.3-32 32H256c0-17.7-14.3-32-32-32s-32 14.3-32 32H80V88c0-22.1 17.9-40 40-40zM608 168.6V88c0-48.6-39.4-88-88-88H120C71.4 0 32 39.4 32 88v80.6C12.9 179.6 0 200.3 0 224V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V224c0-23.7-12.9-44.4-32-55.4zM256 336A80 80 0 1 0 96 336a80 80 0 1 0 160 0zM64 336a112 112 0 1 1 224 0A112 112 0 1 1 64 336zm400 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-192a112 112 0 1 1 0 224 112 112 0 1 1 0-224z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4H97.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V325.3c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]\n};\nvar faShieldExclamation = {\n prefix: 'fas',\n iconName: 'shield-exclamation',\n icon: [512, 512, [], \"e247\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176zM288 204c28.7 0 52 23.3 52 52v96c0 28.7-23.3 52-52 52s-52-23.3-52-52V256c0-28.7 23.3-52 52-52zm-12 52v96c0 6.6 5.4 12 12 12s12-5.4 12-12V256c0-6.6-5.4-12-12-12s-12 5.4-12 12zM159.5 244c-5.4 0-10.2 3.5-11.9 8.6l-.6 1.7c-3.5 10.5-14.8 16.1-25.3 12.6s-16.1-14.8-12.6-25.3l.6-1.7c7.2-21.5 27.2-35.9 49.8-35.9c29 0 52.5 23.5 52.5 52.5v2.2c0 13.4-4.9 26.4-13.8 36.4l-39 43.9c-6.2 7-10 15.7-10.9 24.9H192c11 0 20 9 20 20s-9 20-20 20H128c-11 0-20-9-20-20V368.3c0-20.6 7.5-40.4 21.2-55.8l39-43.9c2.4-2.7 3.7-6.2 3.7-9.8v-2.2c0-6.9-5.6-12.5-12.5-12.5z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M0 0H512V512H0V0z\"]\n};\nvar faGripDots = {\n prefix: 'fas',\n iconName: 'grip-dots',\n icon: [448, 512, [], \"e410\", \"M336 176a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm-160 0a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM64 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM336 336a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM224 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM16 336a48 48 0 1 0 96 0 48 48 0 1 0 -96 0z\"]\n};\nvar faCommentExclamation = {\n prefix: 'fas',\n iconName: 'comment-exclamation',\n icon: [512, 512, [], \"f4af\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm0-336c13.3 0 24 10.7 24 24V248c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24zM224 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPenSwirl = {\n prefix: 'fas',\n iconName: 'pen-swirl',\n icon: [512, 512, [], \"e214\", \"M347.8 17C319.3 6 288.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c17.7 0 32-14.3 32-32s-14.3-32-32-32C150 448 64 362 64 256S150 64 256 64c14.1 0 27.8 1.5 41 4.4L347.8 17zM310.6 349.4c-5.4 5.3-11.4 9.8-17.8 13.6c-1.7 2.7-3 5.7-3.8 9c-4.4 17.1 5.9 34.6 23 39c12.8 3.3 26.2 5 40 5c88.4 0 160-71.6 160-160c0-32.2-5.9-63-16.8-91.3l-51.4 51.4c2.7 12.9 4.2 26.2 4.2 39.9c0 53-43 96-96 96c-8.3 0-16.4-1.1-24-3c-5.9-1.5-11.9-1.3-17.4 .4zM473.9 16c-18.8-18.8-49.2-18.7-67.9 0L366.4 55.7l89.3 89.3 39.8-38.9c19.1-18.7 19.2-49.4 .4-68.2L473.9 16zM200.5 221.8c-7 7-12.3 15.6-15.4 25l-23.8 71.3c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l71.5-23.9c9.2-3.1 17.6-8.2 24.5-15L432.8 167.5 343.7 78.4 200.5 221.8z\"]\n};\nvar faFalafel = {\n prefix: 'fas',\n iconName: 'falafel',\n icon: [576, 512, [129478], \"e40a\", \"M166.6 162.5c5.9 7.1 8 16.7 5.7 25.7c-.3 1.3-.6 2.6-.7 3.9c17.2 .6 33.9 8.6 45.1 22.8c28.3 .2 52.1 20.3 58.1 47.4c4.8 2.4 9.2 5.4 13.1 8.8c3.9-3.4 8.3-6.4 13.1-8.8c6-27.1 29.8-47.1 58.1-47.4c17.3-21.9 47.4-29.2 72.8-17c1.5-.7 3-1.4 4.5-1.9c.1-2.6-.2-5.2-.9-7.8c-2.3-9-.1-18.6 5.7-25.7c8.8-10.7 8.8-26.3 0-37c-5.9-7.1-8-16.7-5.7-25.7c3.4-13.5-3.2-27.6-15.7-33.3c-8.3-3.8-14.3-11.5-16.1-20.6c-2.7-13.7-14.6-23.5-28.3-23.1c-9.1 .3-17.8-4-23.2-11.4C344 .3 329.1-3.2 316.9 3.2c-8.1 4.3-17.7 4.3-25.8 0C278.9-3.2 264 .3 255.8 11.4c-5.5 7.4-14.1 11.7-23.2 11.4c-13.7-.4-25.7 9.4-28.3 23.1c-1.8 9.1-7.8 16.8-16.1 20.6c-12.5 5.7-19.2 19.8-15.7 33.3c2.3 9 .1 18.6-5.7 25.7c-8.8 10.7-8.8 26.3 0 37zm48.8 84.4c-3.6 .1-7.2-.5-10.5-1.8c-5-1.9-9.4-5.2-12.7-9.6c-8.2-11.2-23.2-14.6-35.3-8.2c-8.1 4.3-17.7 4.3-25.8 0c-12.2-6.4-27.1-2.9-35.3 8.2c-5.5 7.4-14.1 11.7-23.2 11.4c-13.7-.4-25.7 9.4-28.3 23.1c-1.8 9.1-7.8 16.8-16.1 20.6c-12.5 5.7-19.2 19.8-15.7 33.3c2.3 9 .1 18.6-5.7 25.7c-8.8 10.7-8.8 26.3 0 37c5.9 7.1 8 16.7 5.7 25.7c-3.4 13.5 3.2 27.6 15.7 33.3c8.3 3.8 14.3 11.5 16.1 20.6c2.7 13.7 14.6 23.5 28.3 23.1c9.1-.3 17.8 4 23.2 11.4c8.2 11.2 23.2 14.6 35.3 8.2c8.1-4.3 17.7-4.3 25.8 0c12.2 6.4 27.1 2.9 35.3-8.2c5.5-7.4 14.1-11.7 23.2-11.4c13.7 .4 25.7-9.4 28.3-23.1c1.8-9.1 7.8-16.8 16.1-20.6c4.1-1.9 7.6-4.7 10.3-8.1c-3.1-10.1-3.7-21-1.2-31.7c-17.3-22.1-17.3-53.3 0-75.4c-2.4-10.7-1.9-21.7 1.2-31.7c-2.7-3.4-6.2-6.2-10.3-8.1c-8.3-3.8-14.3-11.5-16.1-20.6c-.2-1-.5-2-.8-3c-3.7-12.1-14.9-20.4-27.6-20.1zM224 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM80 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm453.4-42.6c4.1-4.1 7-9.2 8.7-14.9c0-.2 .1-.3 .1-.5c7-25-7.6-62.8-38.6-93.7c-23.3-23.3-50.5-37.4-73.1-39.9c0 0 0 0 0 0c-2-.2-3.9-.4-5.8-.4c0 0 0 0 0 0c-9.6-.2-18.3 1.8-25.1 6.4c0 0 0 0 0 0c0 0-.1 0-.1 .1c-1.6 1.1-3.1 2.3-4.5 3.6c-.2 .2-.3 .3-.5 .5c-19.2 19.2-11.4 59 16.6 94.3c4 5 8.4 10 13.2 14.8c38.4 38.4 87.2 51.7 109.1 29.8zM508.6 412c-26-7.1-52.6-23.3-74.9-45.7s-38.6-48.9-45.7-74.9c-5.3-19.6-6.4-43.3 4.2-63.6c-3.2 1.9-6.1 4.4-8.4 7.6c-5.5 7.4-14.1 11.7-23.2 11.4c-13.7-.4-25.7 9.4-28.3 23.1c-1.8 9.1-7.8 16.8-16.1 20.6c-12.5 5.7-19.2 19.8-15.7 33.3c2.3 9 .1 18.6-5.7 25.7c-8.8 10.7-8.8 26.3 0 37c5.9 7.1 8 16.7 5.7 25.7c-3.4 13.5 3.2 27.6 15.7 33.3c8.3 3.8 14.3 11.5 16.1 20.6c2.7 13.7 14.6 23.5 28.3 23.1c9.1-.3 17.8 4 23.2 11.4c8.2 11.2 23.2 14.6 35.3 8.2c8.1-4.3 17.7-4.3 25.8 0c12.2 6.4 27.1 2.9 35.3-8.2c5.5-7.4 14.1-11.7 23.2-11.4c13.7 .4 25.7-9.4 28.3-23.1c1.8-9.1 7.8-16.8 16.1-20.6c12.5-5.7 19.2-19.8 15.7-33.3l-.1-.6c-18.1 6.4-38 5-54.9 .4zM368 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faCircle2 = {\n prefix: 'fas',\n iconName: 'circle-2',\n icon: [512, 512, [], \"e0ef\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM222.7 184.7l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L244.7 336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L276.3 240.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1c-9.1-.1-18 2.8-25.3 8.3z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M0 160v96C0 379.7 100.3 480 224 480s224-100.3 224-224V160H320v96c0 53-43 96-96 96s-96-43-96-96V160H0zm0-32H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64zm320 0H448V64c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32v64z\"]\n};\nvar faJar = {\n prefix: 'fas',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M32 32C32 14.3 46.3 0 64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32zM0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm96 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H96z\"]\n};\nvar faGramophone = {\n prefix: 'fas',\n iconName: 'gramophone',\n icon: [384, 512, [], \"f8bd\", \"M127 0c10.5-.4 20 6 23.6 15.9l0 .1 .3 .7c.3 .7 .7 1.7 1.3 3.2c1.2 2.9 3.2 7.3 6 12.8c5.7 11.1 14.8 27 28.2 45.1c26.9 36.2 71.4 81.5 141.3 116.8c17.3 8.7 31.6 22.9 40.1 40.4c5.4 10.9 8.2 23 8.2 35l0 .3 0 .3c0 45-36.5 81.4-81.4 81.4H184c-13.3 0-24-10.7-24-24s10.7-24 24-24l110 0c18.7 0 33.9-15.1 34-33.7c-.1-5.4-1.5-10.7-4.1-15.6c-3.1-4.9-7.7-7.8-12.4-8.6c-44.1-7.3-133.1-7.9-241.4 69.4c-.3 .2-.7 .5-1 .7c-2.7 1.8-5.6 2.9-8.7 3.5c-3.2 .6-6.6 .6-10-.2c-1.2-.3-2.4-.7-3.6-1.1c-.5-.2-1-.5-1.5-.7c-.9-.4-1.7-.9-2.5-1.5c-1.2-.8-2.2-1.6-3.2-2.6c-1.4-1.3-2.5-2.7-3.6-4.2c-1.8-2.8-3-5.8-3.6-8.9c-.6-3.1-.5-6.4 .2-9.6c.1-.3 .2-.7 .3-1L104.8 17.9C107.5 7.7 116.5 .4 127 0zM32 416c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V416z\"]\n};\nvar faDiceD12 = {\n prefix: 'fas',\n iconName: 'dice-d12',\n icon: [512, 512, [], \"f6ce\", \"M318.2 0c4.2 0 8.4 1.1 12 3.2l72 41.6c5.9 3.4 5.1 12.2-1.3 14.5L264.1 108.1c-5.2 1.9-10.9 1.9-16.1 0L111.1 59.3c-6.4-2.3-7.2-11.1-1.3-14.5l72-41.6c3.6-2.1 7.8-3.2 12-3.2H318.2zM149.9 490.4L74.2 446.6c-3.6-2.1-6.7-5.1-8.8-8.8L3.2 330.2c-2.1-3.6-3.2-7.8-3.2-12V233.9c0-7.1 8.6-10.7 13.7-5.7l96.1 96.1c2.7 2.7 4.8 6.1 5.9 9.8L161.6 481c2.2 7-5.3 13-11.6 9.3zM512 233.9v84.2c0 4.2-1.1 8.4-3.2 12L446.6 437.8c-2.1 3.6-5.1 6.7-8.8 8.8l-75.8 43.7c-6.3 3.6-13.8-2.4-11.6-9.3l45.9-146.9c1.2-3.7 3.2-7.1 5.9-9.8l96.1-96.1c5-5 13.7-1.5 13.7 5.7zM15.3 184.7c-5.1-5.1-6.2-13-2.5-19.3L57.4 88c3.9-6.7 12-9.7 19.2-7.1l152.8 54.6c6.4 2.3 10.6 8.3 10.6 15.1v85.7c0 6.1-3.4 11.6-8.8 14.3l-89.7 44.8c-6.2 3.1-13.6 1.9-18.5-3L15.3 184.7zM454.6 88l44.7 77.3c3.6 6.3 2.6 14.2-2.5 19.3L389 292.4c-4.9 4.9-12.3 6.1-18.5 3l-89.7-44.8c-5.4-2.7-8.8-8.3-8.8-14.3V150.6c0-6.8 4.3-12.8 10.6-15.1L435.4 80.9c7.3-2.6 15.4 .4 19.2 7.1zM295.5 512H216.5c-7 0-13.2-4.5-15.3-11.2L151.4 341.2c-2.3-7.5 1.1-15.6 8.1-19.1l89.3-44.7c4.5-2.3 9.8-2.3 14.3 0l89.3 44.7c7 3.5 10.5 11.6 8.1 19.1L310.7 500.8c-2.1 6.7-8.3 11.2-15.3 11.2z\"]\n};\nvar faNoteSticky = {\n prefix: 'fas',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H288V368c0-26.5 21.5-48 48-48H448V96c0-35.3-28.7-64-64-64H64zM448 352H402.7 336c-8.8 0-16 7.2-16 16v66.7V480l32-32 64-64 32-32z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faDown = {\n prefix: 'fas',\n iconName: 'down',\n icon: [384, 512, [\"arrow-alt-down\"], \"f354\", \"M214.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l96 0 0-184c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 184 96 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-160 160z\"]\n};\nvar faArrowAltDown = faDown;\nvar faHundredPoints = {\n prefix: 'fas',\n iconName: 'hundred-points',\n icon: [512, 512, [128175, \"100\"], \"e41c\", \"M163 101.8C168 61.9 201.9 32 242 32c47.9 0 85 42 79 89.5L309 218.2c-5 39.8-38.9 69.8-79 69.8c-47.9 0-85-42-79-89.5L163 101.8zM242 96c-7.9 0-14.5 5.9-15.5 13.7l-12.1 96.7c-1.2 9.3 6.1 17.6 15.5 17.6c7.9 0 14.5-5.9 15.5-13.7l12.1-96.7c1.2-9.3-6.1-17.6-15.5-17.6zM135.7 68l-32 224c-2.5 17.5-18.7 30-36.2 27.7S37.8 301.5 40.3 284L64.3 116.5l-19.7 8.7c-16.2 7.2-35.1 0-42-16.1s.6-35.1 16.8-42.3l72-32c10.6-4.7 22.9-3.4 32.1 3.5s13.8 18.2 12.2 29.7zm376 247.5c2.5 17.5-9.7 33.7-27.2 36.2l-448 64C19 418.2 2.8 406 .3 388.5S10 354.8 27.5 352.3l448-64c17.5-2.5 33.7 9.7 36.2 27.2zm0 96c2.5 17.5-9.7 33.7-27.2 36.2l-224 32c-17.5 2.5-33.7-9.7-36.2-27.2s9.7-33.7 27.2-36.2l224-32c17.5-2.5 33.7 9.7 36.2 27.2zM427.7 32c46.9 0 83.7 40.3 79.5 87l-7.3 80.4c-3.7 41.1-38.2 72.6-79.5 72.6c-46.9 0-83.7-40.3-79.5-87l7.3-80.4C351.9 63.5 386.4 32 427.7 32zm-15.7 78.4l-7.3 80.4c-.8 9.3 6.4 17.2 15.7 17.2c8.2 0 15-6.2 15.7-14.4l7.3-80.4c.8-9.3-6.4-17.2-15.7-17.2c-8.2 0-15 6.2-15.7 14.4z\"]\n};\nvar fa100 = faHundredPoints;\nvar faPaperclipVertical = {\n prefix: 'fas',\n iconName: 'paperclip-vertical',\n icon: [384, 512, [], \"e3c2\", \"M32 128C32 57.3 89.3 0 160 0s128 57.3 128 128V320c0 44.2-35.8 80-80 80s-80-35.8-80-80V160c0-17.7 14.3-32 32-32s32 14.3 32 32V320c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-35.3-28.7-64-64-64s-64 28.7-64 64V336c0 61.9 50.1 112 112 112s112-50.1 112-112V160c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176s-176-78.8-176-176V128z\"]\n};\nvar faWindWarning = {\n prefix: 'fas',\n iconName: 'wind-warning',\n icon: [640, 512, [\"wind-circle-exclamation\"], \"f776\", \"M418 368c-38.7 67-111.1 112-194 112C100.3 480 0 379.7 0 256S100.3 32 224 32c118.3 0 215.2 91.8 223.4 208H384c-35.3 0-64 28.7-64 64s28.7 64 64 64h34zM248 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM224 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm248 48c0-17.7 14.3-32 32-32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32H536c53 0 96 43 96 96s-43 96-96 96H504c-17.7 0-32-14.3-32-32zm72-192H479.5c-1.4-22.2-5.6-43.7-12.3-64H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H512c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faWindCircleExclamation = faWindWarning;\nvar faLocationPinSlash = {\n prefix: 'fas',\n iconName: 'location-pin-slash',\n icon: [640, 512, [\"map-marker-slash\"], \"f60c\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4L38.8 5.1zM343.7 499.2c16.2-20.2 39-49.6 62.5-83.1L128.1 196.9c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0z\"]\n};\nvar faMapMarkerSlash = faLocationPinSlash;\nvar faFaceSadSweat = {\n prefix: 'fas',\n iconName: 'face-sad-sweat',\n icon: [576, 512, [], \"e38a\", \"M288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8c7 9.2 18.1 24.6 27.7 40.7c4.8 8.1 9.6 17 13.2 25.7c3.4 8 7.1 19 7.1 30.5c0 24.5-11.1 46-28.4 60.3C146.4 480.2 213.5 512 288 512zM79.5 404.5C89.6 395.9 96 383.2 96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47c12 0 23-4.3 31.5-11.5zm291.3 7.4c-6.6 5.9-16.7 5.4-22.6-1.2c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C220.2 371.4 248.3 352 288 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6zM367.6 240a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM227.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faBugSlash = {\n prefix: 'fas',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L477.4 348.9c1.7-9.4 2.6-19 2.6-28.9h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H479.7c-1.1-14.1-5-27.5-11.1-39.5c.7-.6 1.4-1.2 2.1-1.9l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-.7 .7-1.3 1.4-1.9 2.1C409.2 164.1 393.1 160 376 160H264c-8.3 0-16.3 1-24 2.8L38.8 5.1zM320 0c-53 0-96 43-96 96v3.6c0 15.7 12.7 28.4 28.4 28.4H387.6c15.7 0 28.4-12.7 28.4-28.4V96c0-53-43-96-96-96zM160.3 256H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c0 24.6 5.5 47.8 15.4 68.6c-2.2 1.3-4.2 2.9-6 4.8l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l63.1-63.1c24.5 21.8 55.8 36.2 90.3 39.6V335.5L166.7 227.3c-3.4 9-5.6 18.7-6.4 28.7zM336 479.2c36.6-3.6 69.7-19.6 94.8-43.8L336 360.7V479.2z\"]\n};\nvar faCupcake = {\n prefix: 'fas',\n iconName: 'cupcake',\n icon: [448, 512, [129473], \"e402\", \"M240 0c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l6.1 6.1c3.4 3.4 5.3 7.9 5.3 12.7C240 56 232 64 222.1 64H160c-35.3 0-64 28.7-64 64l0 .8c-3.3 .5-6.6 1.4-9.9 2.4L50.9 143C20.5 153.2 0 181.6 0 213.6C0 254.7 33.3 288 74.4 288H373.6c41.1 0 74.4-33.3 74.4-74.4c0-32-20.5-60.4-50.9-70.6l-35.3-11.8c-4.1-1.4-8.2-2.3-12.5-2.8c1.7-6.7 2.6-13.8 2.6-21C352 48.1 303.9 0 244.6 0H240zm27.9 512l24-192H156.1l24 192h87.8zM64 320L89.3 471.9C93.2 495 113.2 512 136.7 512h11.2l-24-192H64zM300.1 512h11.2c23.5 0 43.5-17 47.3-40.1L384 320H324.1l-24 192z\"]\n};\nvar faLightSwitchOff = {\n prefix: 'fas',\n iconName: 'light-switch-off',\n icon: [384, 512, [], \"e018\", \"M64 512c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64zm96-96h64c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64zm32 32a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0-416a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM160 384c-17.7 0-32-14.3-32-32V256H256v96c0 17.7-14.3 32-32 32H160z\"]\n};\nvar faToggleLargeOff = {\n prefix: 'fas',\n iconName: 'toggle-large-off',\n icon: [576, 512, [], \"e5b0\", \"M192 384a128 128 0 1 1 0-256 128 128 0 1 1 0 256zm0 64H384c106 0 192-86 192-192s-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448zm143.1-64c30.4-34 48.9-78.8 48.9-128s-18.5-94-48.9-128H384c70.7 0 128 57.3 128 128s-57.3 128-128 128H335.1z\"]\n};\nvar faPenFancySlash = {\n prefix: 'fas',\n iconName: 'pen-fancy-slash',\n icon: [640, 512, [], \"e210\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L387.9 278.7l161-140.2c17.2-15 27.1-36.7 27.1-59.6c0-43.6-35.4-79-79-79c-22.8 0-44.6 9.9-59.6 27.1L287.1 199.7 38.8 5.1zM318 346.5L211 262.3l-60.1 13.9c-17.1 3.9-30.7 16.9-35.4 33.8L65.7 487.6l95.4-95.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1L88.4 510.3 266 460.5c16.9-4.7 29.9-18.3 33.8-35.4L318 346.5z\"]\n};\nvar faTruckContainer = {\n prefix: 'fas',\n iconName: 'truck-container',\n icon: [640, 512, [], \"f4dc\", \"M48 32H352c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80C0 53.5 21.5 32 48 32zM80 80c-8.8 0-16 7.2-16 16V224c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16zM224 96V224c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16s-16 7.2-16 16zM160 80c-8.8 0-16 7.2-16 16V224c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16zM304 96V224c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16s-16 7.2-16 16zm128 72c0-13.3 10.7-24 24-24h72.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 64c0 17.7-14.3 32-32 32h-1.6c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16H432 286.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80V384 352c0-17.7 14.3-32 32-32H80 208 432V288 256 168zm48 88H585l-50-61.1c-1.5-1.9-3.8-2.9-6.2-2.9H480v64zm80 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM208 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-96-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBoot = {\n prefix: 'fas',\n iconName: 'boot',\n icon: [512, 512, [129406], \"f782\", \"M0 32C0 14.3 14.3 0 32 0H320c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H0V32zM0 457.4V448H512v9.4c0 14.5-5.8 28.4-16 38.6s-24.1 16-38.6 16H442.5c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7H54.6c-14.5 0-28.4-5.8-38.6-16S0 471.9 0 457.4zM0 416V128H320v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h48l119.3 29.8C482 296.5 512 334.9 512 379v37H0z\"]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'fas',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48V256H48c-26.5 0-48 21.5-48 48v96c0 8 2 15.6 5.4 22.2c3.8-1.7 7.8-3.1 12-4.1c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c4.2 1 8.2 2.4 12 4.1C574 415.6 576 408 576 400V304c0-26.5-21.5-48-48-48H480l0-146.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 109.3 416 256H288V48c0-26.5-21.5-48-48-48H112zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]\n};\nvar faFileCheck = {\n prefix: 'fas',\n iconName: 'file-check',\n icon: [384, 512, [], \"f316\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zm49 281L177 409c-9.4 9.4-24.6 9.4-33.9 0L79 345c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 247c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2H384c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336H192c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z\"]\n};\nvar faCardsBlank = {\n prefix: 'fas',\n iconName: 'cards-blank',\n icon: [640, 512, [], \"e4df\", \"M27.8 118.8C1.2 134.2-7.9 168.2 7.5 194.9l167 289.3c15.4 26.6 49.4 35.8 76.1 20.4L443.4 393.2c26.6-15.4 35.8-49.4 20.4-76.1L296.8 27.8C281.4 1.2 247.3-7.9 220.7 7.5L27.8 118.8zM459.4 420.9L324.1 499c9.7 8.1 22.2 13 35.9 13H584c30.9 0 56-25.1 56-56V120c0-30.9-25.1-56-56-56H360c-1.8 0-3.5 .1-5.3 .2L491.5 301.1c24.2 41.9 9.8 95.6-32.1 119.8z\"]\n};\nvar faCircle3 = {\n prefix: 'fas',\n iconName: 'circle-3',\n icon: [512, 512, [], \"e0f0\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H312c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H240c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L250.3 176H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBenchTree = {\n prefix: 'fas',\n iconName: 'bench-tree',\n icon: [640, 512, [], \"e2e7\", \"M608 96c0 5.1-.4 10.2-1.2 15.1C626.9 125.7 640 149.3 640 176c0 44.2-35.8 80-80 80H544V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256H464c-44.2 0-80-35.8-80-80c0-26.7 13.1-50.3 33.2-64.9c-.8-4.9-1.2-10-1.2-15.1c0-53 43-96 96-96s96 43 96 96zM32 224c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V224zm0 128H352c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faKeyboardBrightnessLow = {\n prefix: 'fas',\n iconName: 'keyboard-brightness-low',\n icon: [640, 512, [], \"e1c1\", \"M320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96-32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H224z\"]\n};\nvar faSkiBootSki = {\n prefix: 'fas',\n iconName: 'ski-boot-ski',\n icon: [640, 512, [], \"e3cd\", \"M390.3 .6c17.3 3.5 28.6 20.3 25.1 37.7l-6.4 32L397.4 128H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h55l-9.6 48H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h62.2l78.7 34.7c11.6 5.1 19.1 16.6 19.1 29.3v80c0 17.7-14.3 32-32 32H120c-9.6 0-18.7-4.3-24.7-11.7s-8.5-17.2-6.6-26.6l24.7-123.6c2.9-.5 6.1-1.2 9.5-2.1c15.6-3.9 36.4-11.6 58.3-26.9c42.4-29.7 86.4-86.4 104.5-193.1h65.7l1.3-6.3C356.1 8.4 372.9-2.8 390.3 .6zM162.8 198.9c-15.8 11-30.8 17.2-42.6 20.7L152.6 57.7c3-15 16.1-25.7 31.4-25.7h69.2c-17.4 96-56.7 143.3-90.4 166.9zM640 416c0 53-43 96-96 96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32-14.3 32-32s14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faBrainCircuit = {\n prefix: 'fas',\n iconName: 'brain-circuit',\n icon: [512, 512, [], \"e0c6\", \"M240 56c0-30.9-25.1-56-56-56c-28.9 0-52.7 21.9-55.7 49.9C100.6 56.9 80 82.1 80 112c0 6 .8 11.9 2.4 17.4C53.6 135.7 32 161.3 32 192c0 15 5.1 28.8 13.8 39.7C18.7 244.5 0 272.1 0 304c0 34.2 21.4 63.4 51.6 74.8C49.3 385.4 48 392.6 48 400c0 35.3 28.7 64 64 64c5.6 0 11.1-.7 16.3-2.1c2.9 28.2 26.8 50.1 55.7 50.1c30.9 0 56-25.1 56-56V272H192c-8.8 0-16 7.2-16 16v34.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V288c0-26.5 21.5-48 48-48h48V160H205.3c-6.6 18.6-24.4 32-45.3 32c-26.5 0-48-21.5-48-48s21.5-48 48-48c20.9 0 38.7 13.4 45.3 32H240V56zm32 104V352h34.7c6.6-18.6 24.4-32 45.3-32c26.5 0 48 21.5 48 48s-21.5 48-48 48c-20.9 0-38.7-13.4-45.3-32H272v72c0 30.9 25.1 56 56 56c28.9 0 52.7-21.9 55.7-50.1c5.2 1.4 10.7 2.1 16.3 2.1c35.3 0 64-28.7 64-64c0-7.4-1.3-14.6-3.6-21.2C490.6 367.4 512 338.2 512 304c0-31.9-18.7-59.5-45.8-72.3C474.9 220.8 480 207 480 192c0-30.7-21.6-56.3-50.4-62.6c1.6-5.5 2.4-11.4 2.4-17.4c0-29.9-20.6-55.1-48.3-62.1C380.6 21.9 356.9 0 328 0c-30.9 0-56 25.1-56 56v72h48c26.5 0 48 21.5 48 48v2.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V176c0-8.8-7.2-16-16-16H272zM144 144a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm208 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM144 368a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm192 0a16 16 0 1 0 32 0 16 16 0 1 0 -32 0z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M240 80H342.7c-7.9-19.5-20.4-36.5-36.2-49.9L240 80zm37.7-68.2C261.3 4.2 243.2 0 224 0c-53.7 0-99.7 33.1-118.7 80h81.4l91-68.2zM224 256c70.7 0 128-57.3 128-128c0-5.4-.3-10.8-1-16H97c-.7 5.2-1 10.6-1 16c0 70.7 57.3 128 128 128zM124 312.4c-9.7 3.1-19.1 7-28 11.7V512H243.7L181.5 408.2 124 312.4zm33-7.2L204.3 384H272c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48h82.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3c-7.2 0-14.3 .4-21.3 1.3zM0 482.3C0 498.7 13.3 512 29.7 512H64V345.4C24.9 378.1 0 427.3 0 482.3zM320 464c0-26.5-21.5-48-48-48H223.5l57.1 95.2C303 507.2 320 487.6 320 464z\"]\n};\nvar faBlockBrickFire = {\n prefix: 'fas',\n iconName: 'block-brick-fire',\n icon: [640, 512, [\"firewall\"], \"e3dc\", \"M128 32v80H384V32H128zM96 112V32C60.7 32 32 60.7 32 96v16H96zM32 144v96H240V144H32zm0 224H96V272H32v96zm0 32v16c0 35.3 28.7 64 64 64H240V400H32zm240 0v80h65.6c-20.2-22.6-35.1-50-43.1-80H272zM480 144h-.6l.6 .6V144zm-208 0v96h54.9c20.6-32.8 48.5-66.2 81-96H272zM128 272v96H288.8c-.5-5.9-.8-11.9-.8-17.9c0-25.4 8.5-52.4 21-78.1H128zM480 112V96c0-35.3-28.7-64-64-64v80h64zm-26.5 51.8c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 439.9 390.3 512 480 512c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 433c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faFirewall = faBlockBrickFire;\nvar faFaceSadTear = {\n prefix: 'fas',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm240 80c0-8.8 7.2-16 16-16c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16zm-80 80c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C179.6 308.6 208 349 208 369c0 26-21.5 47-48 47zM367.6 208a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64l-116.6 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l102.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192l116.6 0z\"]\n};\nvar faTentArrowsDown = {\n prefix: 'fas',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM307.4 166.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160c-1.4 9.2 1.3 18.6 7.4 25.6S86.7 512 96 512H288V352l96 160h96c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V320c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM32 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faArrowsSpin = {\n prefix: 'fas',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M256 96c38.4 0 73.7 13.5 101.3 36.1l-32.6 32.6c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H448c8.8 0 16-7.2 16-16V64c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-34 34C363.4 52.6 312.1 32 256 32c-10.9 0-21.5 .8-32 2.3V99.2c10.3-2.1 21-3.2 32-3.2zM132.1 154.7l32.6 32.6c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V64c0-8.8-7.2-16-16-16H64c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l34 34C52.6 148.6 32 199.9 32 256c0 10.9 .8 21.5 2.3 32H99.2c-2.1-10.3-3.2-21-3.2-32c0-38.4 13.5-73.7 36.1-101.3zM477.7 224H412.8c2.1 10.3 3.2 21 3.2 32c0 38.4-13.5 73.7-36.1 101.3l-32.6-32.6c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V448c0 8.8 7.2 16 16 16H448c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-34-34C459.4 363.4 480 312.1 480 256c0-10.9-.8-21.5-2.3-32zM256 416c-38.4 0-73.7-13.5-101.3-36.1l32.6-32.6c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H64c-8.8 0-16 7.2-16 16l0 112c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l34-34C148.6 459.4 199.9 480 256 480c10.9 0 21.5-.8 32-2.3V412.8c-10.3 2.1-21 3.2-32 3.2z\"]\n};\nvar faFaceSmileRelaxed = {\n prefix: 'fas',\n iconName: 'face-smile-relaxed',\n icon: [512, 512, [], \"e392\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm47.1-91.9c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faCommentXmark = {\n prefix: 'fas',\n iconName: 'comment-xmark',\n icon: [512, 512, [\"comment-times\"], \"f4b5\", \"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM175 159c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faCommentTimes = faCommentXmark;\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M128 0C92.7 0 64 28.7 64 64v96h64V64H354.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM384 352v32 64H128V384 368 352H384zm64 32h32c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTurkishLiraSign = {\n prefix: 'fas',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M96 32c17.7 0 32 14.3 32 32V99.3L247.2 65.2c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 165.9v29.4l119.2-34.1c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 261.9V416h63.8c68.2 0 124.4-53.5 127.8-121.6l.4-8c.9-17.7 15.9-31.2 33.6-30.4s31.2 15.9 30.4 33.6l-.4 8C378.5 399.8 294.1 480 191.8 480H96c-17.7 0-32-14.3-32-32V280.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 213.6V184.1l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 117.6V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faFaceNoseSteam = {\n prefix: 'fas',\n iconName: 'face-nose-steam',\n icon: [512, 512, [], \"e382\", \"M498.2 339.1c8.9-26.1 13.8-54 13.8-83.1C512 114.6 397.4 0 256 0S0 114.6 0 256c0 28.6 4.7 56.1 13.3 81.8c4.9-1.5 9.9-2.4 15-2.7c1.2-1.4 2.4-2.7 3.7-4l4 4-4-4c23.3-23.3 60.1-24.9 85.3-4.7l51-30.6c30-18 64.1 16.1 46.1 46.1l-30.6 51c20.2 25.1 18.6 62-4.7 85.3c-1.3 1.3-2.6 2.5-4 3.7c-.3 5.4-1.3 10.8-3 16C198.4 507 226.6 512 256 512c28.7 0 56.3-4.7 82-13.4c-1.6-5.1-2.6-10.5-2.9-15.8c-1.4-1.2-2.7-2.4-4-3.7c-23.3-23.3-24.9-60.1-4.7-85.3l-30.6-51c-18-30 16.1-64.1 46.1-46.1l51 30.6c25.1-20.2 62-18.6 85.3 4.7c1.3 1.3 2.5 2.6 3.7 4c5.5 .3 11 1.3 16.3 3.1zm-12.4 29.7c-1.9-.5-3.8-.8-5.8-.9c-5.4-.3-10.8 .7-15.7 3.1c-1-5.2-3.3-10.1-6.9-14.4c-.6-.7-1.2-1.4-1.8-2c-12-12-31.2-12.5-43.8-1.4c-.5 .5-1 .9-1.5 1.4c-3.7 3.7-6.3 8.1-7.8 12.8L332.8 323c-2.8-1.8-6.5-1.4-8.8 1l-.2 .2c-.3 .2-.6 .5-.7 .8c-1.6 2.3-1.7 5.3-.1 7.7l44.2 70.4c-4.9 1.5-9.6 4.1-13.4 8c-4.7 4.7-7.6 10.4-8.8 16.4c-.5 2.4-.7 4.8-.6 7.2c.2 7.9 3.4 15.7 9.4 21.7c.7 .7 1.3 1.3 2 1.9c4.2 3.6 9.2 5.9 14.4 6.9c-1.5 3.2-2.5 6.7-2.9 10.1c-.2 1.8-.3 3.7-.2 5.6c0 .7 .1 1.4 .2 2c.8 6.9 3.9 13.5 9.1 18.8c12.5 12.5 32.8 12.5 45.3 0c2.1-2.1 3.8-4.3 5.2-6.7c18.8 14.5 45.9 13.1 63.1-4.2s18.6-44.3 4.2-63.1c2.4-1.4 4.7-3.1 6.7-5.2c12.5-12.5 12.5-32.8 0-45.3c-4.3-4.3-9.5-7.1-15-8.5l0 0zM142.4 485.5c.4-1.8 .7-3.6 .8-5.4c.3-5.4-.7-10.8-3.1-15.7c5.2-1 10.1-3.3 14.4-6.9c.7-.6 1.4-1.2 2-1.8c1.5-1.5 2.8-3.1 4-4.8c8-11.9 7.1-27.9-2.5-38.9c-.5-.5-.9-1-1.4-1.5c-3.6-3.6-7.9-6.2-12.5-7.7l44.9-69.8c1.8-2.8 1.4-6.5-.9-8.8c-2.3-2.3-5.9-2.7-8.7-1L108 367.5c0-.2-.1-.3-.1-.5c-1.5-4.8-4.1-9.4-8-13.2c-.2-.2-.4-.4-.7-.6c-.3-.3-.6-.5-.8-.8c-12.6-11.1-31.7-10.6-43.8 1.4c-.7 .7-1.3 1.3-1.9 2c-3.6 4.3-5.9 9.2-6.9 14.4c-4.9-2.4-10.3-3.4-15.7-3.1c-1.5 .1-3.1 .3-4.6 .6c-5.9 1.2-11.6 4.1-16.2 8.7c-12.5 12.5-12.5 32.8 0 45.3c2.1 2.1 4.3 3.8 6.7 5.2C1.7 445.6 3 472.7 20.3 489.9s44.3 18.6 63.1 4.2c1.4 2.4 3.1 4.7 5.2 6.7c12.5 12.5 32.8 12.5 45.3 0c4.4-4.4 7.2-9.8 8.5-15.4zM112 224h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 32c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304zm95.2-133.1c2.8 8.4-1.7 17.4-10.1 20.2c-35.5 11.8-64.4 34.8-73.7 44.1c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c12-12 45-38.1 86.3-51.9c8.4-2.8 17.4 1.7 20.2 10.1zm-286.4 0c2.8-8.4 11.9-12.9 20.2-10.1c41.3 13.8 74.2 39.9 86.3 51.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0c-9.3-9.3-38.2-32.3-73.7-44.1c-8.4-2.8-12.9-11.9-10.1-20.2z\"]\n};\nvar faCircleWaveformLines = {\n prefix: 'fas',\n iconName: 'circle-waveform-lines',\n icon: [512, 512, [\"waveform-circle\"], \"e12d\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-368V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zM160 176V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 24V312c0 8.8-7.2 16-16 16s-16-7.2-16-16V200c0-8.8 7.2-16 16-16s16 7.2 16 16zM224 216v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V216c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 24v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faWaveformCircle = faCircleWaveformLines;\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M160 0c17.7 0 32 14.3 32 32V67.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.1c-.4-.1-.9-.1-1.3-.2l-.2 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faFerrisWheel = {\n prefix: 'fas',\n iconName: 'ferris-wheel',\n icon: [512, 512, [], \"e174\", \"M302.7 36.9c27.7 5.9 53.5 16.9 76.4 31.9c6.3-3.1 13.4-4.8 20.9-4.8c26.5 0 48 21.5 48 48c0 7.5-1.7 14.6-4.8 20.9c15.1 22.9 26 48.7 31.9 76.4c21.1 5 36.9 24 36.9 46.7s-15.7 41.7-36.9 46.7c-5.9 27.7-16.9 53.5-31.9 76.4c3.1 6.3 4.8 13.4 4.8 20.9c0 25.6-20 46.4-45.1 47.9l-38.5-80c4.6-5.1 10.3-9.2 16.6-12c17.2-21.5 29-47.5 33.2-75.9H332.3c2.4-7.6 3.7-15.6 3.7-24s-1.3-16.4-3.7-24h81.9c-3.9-26.3-14.3-50.4-29.4-70.9L326.9 219c-7.6-14.5-19.5-26.4-33.9-33.9l57.9-57.9c-20.5-15.1-44.6-25.4-70.9-29.4v81.9c-7.6-2.4-15.6-3.7-24-3.7s-16.4 1.3-24 3.7V97.8c-26.3 4-50.4 14.3-70.9 29.4L219 185.1c-14.5 7.6-26.4 19.5-33.9 33.9l-57.9-57.9c-15.1 20.5-25.4 44.6-29.4 70.9h81.9c-2.4 7.6-3.7 15.6-3.7 24s1.3 16.4 3.7 24H97.8c4.3 28.5 16.1 54.4 33.2 75.9c6.4 2.8 12.1 6.9 16.7 12l-38.5 80C84 446.4 64 425.6 64 400c0-7.5 1.7-14.6 4.8-20.9c-15.1-22.9-26.1-48.7-31.9-76.4C15.7 297.7 0 278.7 0 256s15.7-41.7 36.9-46.7c5.9-27.7 16.9-53.5 31.9-76.4C65.7 126.6 64 119.5 64 112c0-26.5 21.5-48 48-48c7.5 0 14.6 1.7 20.9 4.8c22.9-15.1 48.7-26.1 76.4-31.9C214.3 15.7 233.3 0 256 0s41.7 15.7 46.7 36.9zM304 256c0 11.6-4.1 22.3-11 30.6l88.8 191.3c3.4 7.4 2.9 16.1-1.5 23s-12 11.1-20.2 11.1H152c-8.2 0-15.8-4.2-20.2-11.1s-5-15.6-1.5-23L219 286.6c-6.9-8.3-11-19-11-30.6c0-26.5 21.5-48 48-48s48 21.5 48 48z\"]\n};\nvar faComputerSpeaker = {\n prefix: 'fas',\n iconName: 'computer-speaker',\n icon: [640, 512, [], \"f8b2\", \"M288 432V416H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H304c-10-13.4-16-30-16-48zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H288V320H64V96H288V80c0-18 6-34.6 16-48H64zm304 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368zM544 320a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm64-192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSkullCow = {\n prefix: 'fas',\n iconName: 'skull-cow',\n icon: [640, 512, [], \"f8de\", \"M63.2 21.1c2.5-7.4-.7-15.4-7.5-19.1S40.3 0 35.5 6L28 15.3C9.9 38 0 66.4 0 95.5C0 166.1 57.2 224 128 224V208 192 160 144 128H105c-28.7 0-52.7-21.7-55.6-50.3c-.8-7.8 .1-15.8 2.6-23.2L63.2 21.1zM240 96c-44.2 0-80 35.8-80 80V288c0 37 25.2 68.2 59.3 77.3l27.6 110.3c5.3 21.4 24.5 36.4 46.6 36.4h53c22 0 41.2-15 46.6-36.4l27.6-110.3C454.8 356.2 480 325 480 288V176c0-44.2-35.8-80-80-80H240zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM584.4 1.9c-6.8 3.7-10 11.8-7.5 19.1L588 54.5c2.5 7.5 3.4 15.4 2.6 23.2C587.7 106.3 563.7 128 535 128H512v16 16 32 16 16c70.8 0 128-57.9 128-128.5c0-29-9.9-57.4-28-80.1L604.5 6c-4.8-6.1-13.3-7.8-20.1-4.1z\"]\n};\nvar faX = {\n prefix: 'fas',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\"]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'fas',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM228 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'fas',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2-2.4-4.1-.1-.2-.1-.2c-3.4-6.2-6.4-12.6-9-19.3c-8.2-21.2 2.2-42.6 19-52.3l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zm91.3 163.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3L574.4 311c-8.9-7.6-19.1-13.6-30.4-17.6v-21c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v21c-11.2 4-21.5 10-30.4 17.6l-18.2-10.5c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l18.2 10.5c-1 5.7-1.6 11.6-1.6 17.6s.6 11.9 1.6 17.5l-18.2 10.5c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3L449.6 457c8.9 7.6 19.2 13.6 30.4 17.6v21c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-21c11.2-4 21.5-10 30.4-17.6l18.2 10.5c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-18.2-10.5c1-5.7 1.6-11.6 1.6-17.5s-.6-11.9-1.6-17.6l18.2-10.5zM472 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'fas',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M246.9 14.1C234 15.2 224 26 224 39c0 13.8 11.2 25 25 25H400c8.8 0 16-7.2 16-16V17.4C416 8 408 .7 398.7 1.4L246.9 14.1zM240 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H241.6c-1 5.2-1.6 10.5-1.6 16zM72 224c-22.1 0-40 17.9-40 40s17.9 40 40 40H224v89.4L386.8 230.5c-13.3-4.3-27.3-6.5-41.6-6.5H240 72zm345.7 20.9L246.6 416H416V369.7l53.6 90.6c11.2 19 35.8 25.3 54.8 14.1s25.3-35.8 14.1-54.8L462.3 290.8c-11.2-18.9-26.6-34.5-44.6-45.9zM224 448v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V448H224z\"]\n};\nvar faBuildingColumns = {\n prefix: 'fas',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v8c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24v-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224H64V420.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V224H384V416H344V224H280V416H232V224H168V416H128V224zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faCircleT = {\n prefix: 'fas',\n iconName: 'circle-t',\n icon: [512, 512, [], \"e124\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM152 144H256 360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSack = {\n prefix: 'fas',\n iconName: 'sack',\n icon: [512, 512, [], \"f81c\", \"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4z\"]\n};\nvar faGrid2 = {\n prefix: 'fas',\n iconName: 'grid-2',\n icon: [512, 512, [], \"e196\", \"M224 80c0-26.5-21.5-48-48-48H80C53.5 32 32 53.5 32 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80zm0 256c0-26.5-21.5-48-48-48H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336zM288 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48zM480 336c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336z\"]\n};\nvar faCameraCctv = {\n prefix: 'fas',\n iconName: 'camera-cctv',\n icon: [576, 512, [\"cctv\"], \"f8ac\", \"M140.3 2.5c-14.9-6.2-32.1-.3-40.1 13.7l-96 168c-4.6 8-5.5 17.5-2.5 26.2s9.5 15.7 18 19.2l158.1 65.9L137.9 400H64V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v48 48c0 17.7 14.3 32 32 32s32-14.3 32-32V464h96c13.3 0 25.2-8.2 29.9-20.6l47-123.4 70.8 29.5c9.9 4.1 21.2 3 30.1-2.9l192-128c9.8-6.5 15.2-18 14.1-29.7s-8.6-21.9-19.5-26.5l-384-160zM513.4 398.6c3.9 1.8 8.4 1.9 12.5 .3s7.2-4.7 8.9-8.7l40-96c3.3-8-.3-17.2-8.3-20.8l-36.7-16.3L396.9 345.6l116.5 52.9z\"]\n};\nvar faCctv = faCameraCctv;\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M288 0c17.7 0 32 14.3 32 32V49.7C451.8 63.4 557.7 161 573.9 285.9c2 15.6-17.3 24.4-27.8 12.7C532.1 283 504.8 272 480 272c-38.7 0-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C359 299.5 326.7 272 288 272s-71 27.5-78.4 64.1c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9C167 299.5 134.7 272 96 272c-24.8 0-52.1 11-66.1 26.7C19.4 310.4 .1 301.5 2.1 285.9C18.3 161 124.2 63.4 256 49.7V32c0-17.7 14.3-32 32-32zm0 304c12.3 0 23.5 4.6 32 12.2V430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V316.2c8.5-7.6 19.7-12.2 32-12.2z\"]\n};\nvar faTrowel = {\n prefix: 'fas',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M343.9 213.4L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6c-14.3-14.6-14.2-38 .3-52.5l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0s26.9 70.5 0 97.5l-95.4 95.4c-14.5 14.5-37.9 14.6-52.5 .3z\"]\n};\nvar faHorizontalRule = {\n prefix: 'fas',\n iconName: 'horizontal-rule',\n icon: [640, 512, [8213], \"f86c\", \"M0 256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faBedFront = {\n prefix: 'fas',\n iconName: 'bed-front',\n icon: [512, 512, [\"bed-alt\"], \"f8f7\", \"M32 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V209.1c-14.5-8.4-30.7-14-48-16.1c0-.3 0-.7 0-1V160c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v32H240V160c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32v32c0 .3 0 .7 0 1c-17.3 2.2-33.6 7.8-48 16.1V80zM0 320c0-53 43-96 96-96H416c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320z\"]\n};\nvar faBedAlt = faBedFront;\nvar faD = {\n prefix: 'fas',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M0 96C0 60.7 28.7 32 64 32h96c123.7 0 224 100.3 224 224s-100.3 224-224 224H64c-35.3 0-64-28.7-64-64V96zm160 0H64V416h96c88.4 0 160-71.6 160-160s-71.6-160-160-160z\"]\n};\nvar faStapler = {\n prefix: 'fas',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M640 299.3V304 432c0 26.5-21.5 48-48 48H512 448 64c-17.7 0-32-14.3-32-32s14.3-32 32-32H448V368H96c-17.7 0-32-14.3-32-32V219.4L33.8 214C14.2 210.5 0 193.5 0 173.7c0-8.9 2.9-17.5 8.2-24.6l35.6-47.5C76.7 57.8 128.2 32 182.9 32c27 0 53.6 6.3 77.8 18.4L586.9 213.5C619.5 229.7 640 263 640 299.3zM448 304V288L128 230.9V304H448z\"]\n};\nvar faMasksTheater = {\n prefix: 'fas',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M74.6 373.2c41.7 36.1 108 82.5 166.1 73.7c6.1-.9 12.1-2.5 18-4.5c-9.2-12.3-17.3-24.4-24.2-35.4c-21.9-35-28.8-75.2-25.9-113.6c-20.6 4.1-39.2 13-54.7 25.4c-6.5 5.2-16.3 1.3-14.8-7c6.4-33.5 33-60.9 68.2-66.3c2.6-.4 5.3-.7 7.9-.8l19.4-131.3c2-13.8 8-32.7 25-45.9C278.2 53.2 310.5 37 363.2 32.2c-.8-.7-1.6-1.4-2.4-2.1C340.6 14.5 288.4-11.5 175.7 5.6S20.5 63 5.7 83.9C0 91.9-.8 102 .6 111.8L24.8 276.1c5.5 37.3 21.5 72.6 49.8 97.2zm87.7-219.6c4.4-3.1 10.8-2 11.8 3.3c.1 .5 .2 1.1 .3 1.6c3.2 21.8-11.6 42-33.1 45.3s-41.5-11.8-44.7-33.5c-.1-.5-.1-1.1-.2-1.6c-.6-5.4 5.2-8.4 10.3-6.7c9 3 18.8 3.9 28.7 2.4s19.1-5.3 26.8-10.8zM261.6 390c29.4 46.9 79.5 110.9 137.6 119.7s124.5-37.5 166.1-73.7c28.3-24.5 44.3-59.8 49.8-97.2l24.2-164.3c1.4-9.8 .6-19.9-5.1-27.9c-14.8-20.9-57.3-61.2-170-78.3S299.4 77.2 279.2 92.8c-7.8 6-11.5 15.4-12.9 25.2L242.1 282.3c-5.5 37.3-.4 75.8 19.6 107.7zM404.5 235.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6c-1 5.3-7.4 6.4-11.8 3.3zm136.2 15.5c-1 5.3-7.4 6.4-11.8 3.3c-7.7-5.5-16.8-9.3-26.8-10.8s-19.8-.6-28.7 2.4c-5.1 1.7-10.9-1.3-10.3-6.7c.1-.5 .1-1.1 .2-1.6c3.2-21.8 23.2-36.8 44.7-33.5s36.3 23.5 33.1 45.3c-.1 .5-.2 1.1-.3 1.6zM530 350.2c-19.6 44.7-66.8 72.5-116.8 64.9s-87.1-48.2-93-96.7c-1-8.3 8.9-12.1 15.2-6.7c23.9 20.8 53.6 35.3 87 40.3s66.1 .1 94.9-12.8c7.6-3.4 16 3.2 12.6 10.9z\"]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faKipSign = {\n prefix: 'fas',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M340.8 88.3c13.4-11.5 15-31.7 3.5-45.1s-31.7-15-45.1-3.5L128 186.4V64c0-17.7-14.3-32-32-32S64 46.3 64 64V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V325.6L299.2 472.3c13.4 11.5 33.6 9.9 45.1-3.5s9.9-33.6-3.5-45.1L182.5 288H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H182.5L340.8 88.3z\"]\n};\nvar faFaceWoozy = {\n prefix: 'fas',\n iconName: 'face-woozy',\n icon: [512, 512, [], \"e3a2\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM411.3 347.3L372 386.6c-13.7 13.7-32.3 21.4-51.7 21.4c-13.7 0-27.1-3.8-38.7-11.1L267.4 388c-18.2-11.4-40.8-13.4-60.7-5.4c-30.4 12.2-64.8 8.6-92-9.6l-11.5-7.7c-7.4-4.9-9.3-14.8-4.4-22.2s14.8-9.3 22.2-4.4l11.5 7.7c18.5 12.3 41.8 14.7 62.4 6.5c29.4-11.8 62.7-8.8 89.6 8l14.2 8.9c6.5 4.1 14.1 6.2 21.8 6.2c10.9 0 21.3-4.3 29-12l39.3-39.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM200.9 98.7c7.4 4.9 9.3 14.8 4.4 22.2c-28 42-69.6 64.1-88.3 70.3c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2c13.4-4.5 48.5-22.9 71.7-57.7c4.9-7.4 14.8-9.3 22.2-4.4zm22.6 121.4c2.1 8.6-3.1 17.3-11.6 19.4l-64 16c-8.6 2.1-17.3-3.1-19.4-11.6s3.1-17.3 11.6-19.4l64-16c8.6-2.1 17.3 3.1 19.4 11.6zM336 272c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faCloudQuestion = {\n prefix: 'fas',\n iconName: 'cloud-question',\n icon: [640, 512, [], \"e492\", \"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm89.8-282.7l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V296c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H286.6c-23.7 0-44.8 14.9-52.8 37.3zM352 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPineapple = {\n prefix: 'fas',\n iconName: 'pineapple',\n icon: [512, 512, [], \"e31f\", \"M431.5 12.1c-1.1-4.5-4.2-8.4-8.4-10.5s-9.1-2.2-13.4-.4C393.8 8.1 383 20.8 378.1 35.4L363.3 20.7c-6.2-6.2-16.4-6.2-22.6 0C325.3 36.1 317.1 56 316.2 76.2C297.3 68.2 276.9 64 256 64c-41 0-80.3 16.3-109.3 45.3L45.3 210.7C16.3 239.7 0 279 0 320s16.3 80.3 45.3 109.3l37.5 37.5c29 29 68.3 45.3 109.3 45.3s80.3-16.3 109.3-45.3L402.7 365.3c29-29 45.3-68.3 45.3-109.3c0-20.9-4.2-41.3-12.2-60.2c20.2-.9 40.1-9.1 55.5-24.5c6.2-6.2 6.2-16.4 0-22.6l-14.7-14.7c14.6-4.9 27.3-15.8 34.1-31.6c1.8-4.3 1.7-9.2-.4-13.4s-5.9-7.3-10.5-8.4l-14.3-3.6C492.4 65 496 51.4 496 37.5V32c0-8.8-7.2-16-16-16h-5.5c-13.9 0-27.5 3.6-39.4 10.4l-3.6-14.3zM164.7 212.7c6.2-6.2 16.4-6.2 22.6 0L208 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6zm-80 80c6.2-6.2 16.4-6.2 22.6 0L128 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6zm182.6 0L288 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM164.7 395.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 393.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l208 0V96L32 96zM192 288c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm-64-64c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zm96 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zm88-96l-.6 0c5.4 9.4 8.6 20.3 8.6 32c0 13.2-4 25.4-10.8 35.6c24.9 8.7 42.8 32.5 42.8 60.4c0 11.7-3.1 22.6-8.6 32H352c88.4 0 160-71.6 160-160V226.3c0-42.4-16.9-83.1-46.9-113.1l-11.6-11.6C429.5 77.5 396.9 64 363 64l-27 0c-35.3 0-64 28.7-64 64v88c0 22.1 17.9 40 40 40s40-17.9 40-40V160c0-8.8 7.2-16 16-16s16 7.2 16 16v56c0 39.8-32.2 72-72 72z\"]\n};\nvar faGalleryThumbnails = {\n prefix: 'fas',\n iconName: 'gallery-thumbnails',\n icon: [576, 512, [], \"e3aa\", \"M512 64V288H64L64 64H512zM64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM0 448v32c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H192zm128 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H512z\"]\n};\nvar faCircleJ = {\n prefix: 'fas',\n iconName: 'circle-j',\n icon: [512, 512, [], \"e112\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-360V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faEyes = {\n prefix: 'fas',\n iconName: 'eyes',\n icon: [640, 512, [], \"e367\", \"M96 224c-11.1 0-21.6 2.8-30.7 7.8c4-36.7 16.8-68.8 34.5-92.4C121.3 110.8 148.6 96 176 96s54.7 14.8 76.2 43.4C273.7 168.1 288 209.2 288 256s-14.3 87.9-35.8 116.6S203.4 416 176 416s-54.7-14.8-76.2-43.4c-4.9-6.5-9.4-13.6-13.4-21.3c3.1 .5 6.4 .7 9.6 .7c35.3 0 64-28.7 64-64s-28.7-64-64-64zm224-97.3c-5-9.1-10.5-17.6-16.6-25.7C272.8 60.2 228.1 32 176 32s-96.8 28.2-127.4 69C18 141.8 0 196.7 0 256s18 114.2 48.6 155c30.6 40.8 75.3 69 127.4 69s96.8-28.2 127.4-69c6-8 11.6-16.6 16.6-25.7c5 9.1 10.5 17.6 16.6 25.7c30.6 40.8 75.3 69 127.4 69s96.8-28.2 127.4-69C622 370.2 640 315.3 640 256s-18-114.2-48.6-155C560.8 60.2 516.1 32 464 32s-96.8 28.2-127.4 69c-6 8-11.6 16.6-16.6 25.7zm54.4 224.6c3.1 .5 6.4 .7 9.6 .7c35.3 0 64-28.7 64-64s-28.7-64-64-64c-11.1 0-21.6 2.8-30.7 7.8c4-36.7 16.8-68.8 34.5-92.4C409.3 110.8 436.6 96 464 96s54.7 14.8 76.2 43.4C561.7 168.1 576 209.2 576 256s-14.3 87.9-35.8 116.6S491.4 416 464 416s-54.7-14.8-76.2-43.4c-4.9-6.5-9.4-13.6-13.4-21.3z\"]\n};\nvar faHandshakeSimple = {\n prefix: 'fas',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48H48c-26.5 0-48 21.5-48 48V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123z\"]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faPageCaretUp = {\n prefix: 'fas',\n iconName: 'page-caret-up',\n icon: [384, 512, [\"file-caret-up\"], \"e42a\", \"M320 512c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320zM192 192c4.5 0 8.8 1.9 11.8 5.2l75.7 82.6c14.1 15.4 3.2 40.2-17.7 40.2H122.2c-20.9 0-31.8-24.8-17.7-40.2l75.7-82.6c3-3.3 7.3-5.2 11.8-5.2z\"]\n};\nvar faFileCaretUp = faPageCaretUp;\nvar faJetFighter = {\n prefix: 'fas',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M160 24c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H280L384 192H500.4c7.7 0 15.3 1.4 22.5 4.1L625 234.4c9 3.4 15 12 15 21.6s-6 18.2-15 21.6L522.9 315.9c-7.2 2.7-14.8 4.1-22.5 4.1H384L280 464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V320H160l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H82.7c8.5 0 16.6 3.4 22.6 9.4L160 192h32V48h-8c-13.3 0-24-10.7-24-24zM80 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faFighterJet = faJetFighter;\nvar faComet = {\n prefix: 'fas',\n iconName: 'comet',\n icon: [512, 512, [], \"e003\", \"M299.4 75.6L493.7 .9c1.5-.6 3.2-.9 4.8-.9C506 0 512 6 512 13.5c0 1.7-.3 3.3-.9 4.8L436.4 212.6l29.3-2.3c12.8-1 21.5 12.8 15.1 24L378.6 410.7C342.3 473.4 275.4 512 203 512C90.9 512 0 421.1 0 309c0-72.4 38.6-139.4 101.3-175.7L277.7 31.2c11.1-6.5 25 2.2 24 15.1l-2.3 29.3zM192 200c-6.1 0-11.7 3.5-14.3 8.9l-29.2 59.2-65.3 9.5c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l47.2 46-11.2 65c-1 6 1.4 12.1 6.4 15.7s11.5 4.1 16.8 1.2L192 402.1l58.4 30.7c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.7l-11.2-65 47.2-46c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-65.3-9.5-29.2-59.2c-2.7-5.5-8.3-8.9-14.3-8.9z\"]\n};\nvar faSquareShareNodes = {\n prefix: 'fas',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 160c0 35.3-28.7 64-64 64c-15.4 0-29.5-5.4-40.6-14.5L194.1 256l85.3 46.5c11-9.1 25.2-14.5 40.6-14.5c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-2.5 .1-4.9 .4-7.3L174.5 300c-11.7 12.3-28.2 20-46.5 20c-35.3 0-64-28.7-64-64s28.7-64 64-64c18.3 0 34.8 7.7 46.5 20l81.9-44.7c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faShieldKeyhole = {\n prefix: 'fas',\n iconName: 'shield-keyhole',\n icon: [512, 512, [], \"e248\", \"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM312 208c0 22.3-13.1 41.6-32 50.6V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V258.6c-18.9-9-32-28.3-32-50.6c0-30.9 25.1-56 56-56s56 25.1 56 56z\"]\n};\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24H40c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H184zm96 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H280zM448 56V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H472c-13.3 0-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faPlusMinus = {\n prefix: 'fas',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H160V320c0 17.7 14.3 32 32 32s32-14.3 32-32V208H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V32zM0 480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faSquareSlidersVertical = {\n prefix: 'fas',\n iconName: 'square-sliders-vertical',\n icon: [448, 512, [\"sliders-v-square\"], \"f3f2\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 0c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V384c0 17.7 14.3 32 32 32s32-14.3 32-32V224h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176V128c0-17.7-14.3-32-32-32zm192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V288H256c-17.7 0-32 14.3-32 32s14.3 32 32 32h16v32c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H336V128z\"]\n};\nvar faSlidersVSquare = faSquareSlidersVertical;\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z\"]\n};\nvar faVideoCamera = faVideo;\nvar faMessageMiddle = {\n prefix: 'fas',\n iconName: 'message-middle',\n icon: [512, 512, [\"comment-middle-alt\"], \"e1e1\", \"M343.5 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H168.5l75.2 90.2c3 3.6 7.5 5.8 12.3 5.8s9.3-2.1 12.3-5.8L343.5 416z\"]\n};\nvar faCommentMiddleAlt = faMessageMiddle;\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M224 24V80H168c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h56v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176h56c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H320V24c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zM559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-367-8.2l.9 0 0 0c-.3 0-.6 0-.9 0z\"]\n};\nvar faPersonCircleCheck = {\n prefix: 'fas',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSquareZ = {\n prefix: 'fas',\n iconName: 'square-z',\n icon: [448, 512, [], \"e288\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm72 96H312c9.3 0 17.8 5.4 21.8 13.9s2.6 18.5-3.5 25.6L187.7 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.5 3.5-25.6L260.3 176H136c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMessageText = {\n prefix: 'fas',\n iconName: 'message-text',\n icon: [512, 512, [\"comment-alt-text\"], \"e1e6\", \"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm168 48c-13.3 0-24 10.7-24 24s10.7 24 24 24h64V296c0 13.3 10.7 24 24 24s24-10.7 24-24V160h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 168z\"]\n};\nvar faCommentAltText = faMessageText;\nvar faTurnUp = {\n prefix: 'fas',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M350 177.5c3.8-8.8 2-19-4.6-26l-136-144C204.9 2.7 198.6 0 192 0s-12.9 2.7-17.4 7.5l-136 144c-6.6 7-8.4 17.2-4.6 26s12.5 14.5 22 14.5h88l0 192c0 17.7-14.3 32-32 32H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32l80 0c70.7 0 128-57.3 128-128l0-192h88c9.6 0 18.2-5.7 22-14.5z\"]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faWagonCovered: faWagonCovered,\n faLineHeight: faLineHeight,\n faBagel: faBagel,\n faTransporter7: faTransporter7,\n faAt: faAt,\n faRectanglesMixed: faRectanglesMixed,\n faPhoneArrowUpRight: faPhoneArrowUpRight,\n faPhoneArrowUp: faPhoneArrowUp,\n faPhoneOutgoing: faPhoneOutgoing,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faCircleL: faCircleL,\n faHeadSideGoggles: faHeadSideGoggles,\n faHeadVr: faHeadVr,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faFaceHandYawn: faFaceHandYawn,\n faGaugeSimpleMin: faGaugeSimpleMin,\n faTachometerSlowest: faTachometerSlowest,\n faStethoscope: faStethoscope,\n faCoffin: faCoffin,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faSalad: faSalad,\n faBowlSalad: faBowlSalad,\n faInfo: faInfo,\n faRobotAstromech: faRobotAstromech,\n faRingDiamond: faRingDiamond,\n faFonduePot: faFonduePot,\n faTheta: faTheta,\n faFaceHandPeeking: faFaceHandPeeking,\n faSquareUser: faSquareUser,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faTirePressureWarning: faTirePressureWarning,\n faWifiFair: faWifiFair,\n faWifi2: faWifi2,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faMp3Player: faMp3Player,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faTally4: faTally4,\n faRectangleHistory: faRectangleHistory,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faSunHaze: faSunHaze,\n faTextSize: faTextSize,\n faUfo: faUfo,\n faFork: faFork,\n faUtensilFork: faUtensilFork,\n faArrowsUpToLine: faArrowsUpToLine,\n faMobileSignal: faMobileSignal,\n faBarcodeScan: faBarcodeScan,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faFolderArrowDown: faFolderArrowDown,\n faFolderDownload: faFolderDownload,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faFaceIcicles: faFaceIcicles,\n faShovel: faShovel,\n faDoorOpen: faDoorOpen,\n faFilms: faFilms,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faFaceGlasses: faFaceGlasses,\n faNfc: faNfc,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faClosedCaptioningSlash: faClosedCaptioningSlash,\n faCalculatorSimple: faCalculatorSimple,\n faCalculatorAlt: faCalculatorAlt,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faSlidersUp: faSlidersUp,\n faSlidersV: faSlidersV,\n faLocationMinus: faLocationMinus,\n faMapMarkerMinus: faMapMarkerMinus,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faSkiBoot: faSkiBoot,\n faStandardDefinition: faStandardDefinition,\n faRectangleSd: faRectangleSd,\n faH1: faH1,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faMessageBot: faMessageBot,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faLightCeiling: faLightCeiling,\n faMessageExclamation: faMessageExclamation,\n faCommentAltExclamation: faCommentAltExclamation,\n faBowlScoop: faBowlScoop,\n faBowlShavedIce: faBowlShavedIce,\n faSquareX: faSquareX,\n faUtilityPoleDouble: faUtilityPoleDouble,\n faFlagCheckered: faFlagCheckered,\n faChevronsUp: faChevronsUp,\n faChevronDoubleUp: faChevronDoubleUp,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faUserVneck: faUserVneck,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faSquareArrowRight: faSquareArrowRight,\n faArrowSquareRight: faArrowSquareRight,\n faLocationPlus: faLocationPlus,\n faMapMarkerPlus: faMapMarkerPlus,\n faLightbulbExclamationOn: faLightbulbExclamationOn,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faCrateEmpty: faCrateEmpty,\n faDiagramPredecessor: faDiagramPredecessor,\n faTransporter: faTransporter,\n faCalendarCircleUser: faCalendarCircleUser,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faPersonCarryBox: faPersonCarryBox,\n faPersonCarry: faPersonCarry,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faUnion: faUnion,\n faChevronsLeft: faChevronsLeft,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faCircleHeart: faCircleHeart,\n faHeartCircle: faHeartCircle,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faBringForward: faBringForward,\n faSquareP: faSquareP,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faSigma: faSigma,\n faCameraMovie: faCameraMovie,\n faBong: faBong,\n faClarinet: faClarinet,\n faTruckFlatbed: faTruckFlatbed,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faLeafHeart: faLeafHeart,\n faHouseBuilding: faHouseBuilding,\n faCheeseSwiss: faCheeseSwiss,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faBowArrow: faBowArrow,\n faCartXmark: faCartXmark,\n faHexagonXmark: faHexagonXmark,\n faTimesHexagon: faTimesHexagon,\n faXmarkHexagon: faXmarkHexagon,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faMerge: faMerge,\n faPager: faPager,\n faCartMinus: faCartMinus,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faPanFrying: faPanFrying,\n faGrid: faGrid,\n faGrid3: faGrid3,\n faFootballHelmet: faFootballHelmet,\n faHandLove: faHandLove,\n faTrees: faTrees,\n faStrikethrough: faStrikethrough,\n faPage: faPage,\n faK: faK,\n faDiagramPrevious: faDiagramPrevious,\n faGaugeMin: faGaugeMin,\n faTachometerAltSlowest: faTachometerAltSlowest,\n faFolderGrid: faFolderGrid,\n faEggplant: faEggplant,\n faRam: faRam,\n faLandmarkFlag: faLandmarkFlag,\n faLips: faLips,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faDesktopArrowDown: faDesktopArrowDown,\n faCodePullRequest: faCodePullRequest,\n faPumpkin: faPumpkin,\n faClipboardList: faClipboardList,\n faPenField: faPenField,\n faBlueberries: faBlueberries,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faNote: faNote,\n faArrowDownToSquare: faArrowDownToSquare,\n faUserCheck: faUserCheck,\n faCloudXmark: faCloudXmark,\n faVialVirus: faVialVirus,\n faBookBlank: faBookBlank,\n faBookAlt: faBookAlt,\n faGolfFlagHole: faGolfFlagHole,\n faMessageArrowDown: faMessageArrowDown,\n faCommentAltArrowDown: faCommentAltArrowDown,\n faFaceUnamused: faFaceUnamused,\n faSheetPlastic: faSheetPlastic,\n faCircle9: faCircle9,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPencilSlash: faPencilSlash,\n faBowlingPins: faBowlingPins,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faDownRight: faDownRight,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faWebhook: faWebhook,\n faBlindsOpen: faBlindsOpen,\n faFence: faFence,\n faUp: faUp,\n faArrowAltUp: faArrowAltUp,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faDrumstick: faDrumstick,\n faSquareV: faSquareV,\n faFaceAwesome: faFaceAwesome,\n faGaveDandy: faGaveDandy,\n faDialOff: faDialOff,\n faToggleOff: faToggleOff,\n faFaceSmileHorns: faFaceSmileHorns,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faGrapes: faGrapes,\n faPersonDrowning: faPersonDrowning,\n faDialMax: faDialMax,\n faCircleM: faCircleM,\n faCalendarImage: faCalendarImage,\n faCircleCaretDown: faCircleCaretDown,\n faCaretCircleDown: faCaretCircleDown,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faShishKebab: faShishKebab,\n faSprayCan: faSprayCan,\n faAlarmSnooze: faAlarmSnooze,\n faScarecrow: faScarecrow,\n faTruckMonster: faTruckMonster,\n faGiftCard: faGiftCard,\n faW: faW,\n faCodePullRequestDraft: faCodePullRequestDraft,\n faSquareB: faSquareB,\n faElephant: faElephant,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faMessageQuestion: faMessageQuestion,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faSquare3: faSquare3,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faMicrowave: faMicrowave,\n faChfSign: faChfSign,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faCartCircleArrowUp: faCartCircleArrowUp,\n faTrashClock: faTrashClock,\n faGavel: faGavel,\n faLegal: faLegal,\n faSprinklerCeiling: faSprinklerCeiling,\n faBrowsers: faBrowsers,\n faTrillium: faTrillium,\n faMusicSlash: faMusicSlash,\n faTruckRamp: faTruckRamp,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faCircleC: faCircleC,\n faStarChristmas: faStarChristmas,\n faChartBullet: faChartBullet,\n faMotorcycle: faMotorcycle,\n faTreeChristmas: faTreeChristmas,\n faTireFlat: faTireFlat,\n faSunglasses: faSunglasses,\n faBadge: faBadge,\n faMessagePen: faMessagePen,\n faCommentAltEdit: faCommentAltEdit,\n faMessageEdit: faMessageEdit,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faArrowProgress: faArrowProgress,\n faChessRookPiece: faChessRookPiece,\n faChessRookAlt: faChessRookAlt,\n faSquareRoot: faSquareRoot,\n faAlbumCollectionCirclePlus: faAlbumCollectionCirclePlus,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faFaceAngryHorns: faFaceAngryHorns,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faTombstone: faTombstone,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faListMusic: faListMusic,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faMustache: faMustache,\n faHyphen: faHyphen,\n faTable: faTable,\n faUserChef: faUserChef,\n faMessageImage: faMessageImage,\n faCommentAltImage: faCommentAltImage,\n faUsersMedical: faUsersMedical,\n faSensorTriangleExclamation: faSensorTriangleExclamation,\n faSensorAlert: faSensorAlert,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faFaceMask: faFaceMask,\n faPickleball: faPickleball,\n faStarSharpHalf: faStarSharpHalf,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faMeat: faMeat,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faEmptySet: faEmptySet,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faBird: faBird,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faHeartHalfStroke: faHeartHalfStroke,\n faHeartHalfAlt: faHeartHalfAlt,\n faFileCircleQuestion: faFileCircleQuestion,\n faLaptopCode: faLaptopCode,\n faJoystick: faJoystick,\n faGrillFire: faGrillFire,\n faRectangleVerticalHistory: faRectangleVerticalHistory,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faKeyboardLeft: faKeyboardLeft,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faFaceBeamHandOverMouth: faFaceBeamHandOverMouth,\n faDropletPercent: faDropletPercent,\n faHumidity: faHumidity,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faCorn: faCorn,\n faRollerCoaster: faRollerCoaster,\n faPhotoFilmMusic: faPhotoFilmMusic,\n faRadar: faRadar,\n faSickle: faSickle,\n faFilm: faFilm,\n faCoconut: faCoconut,\n faRulerHorizontal: faRulerHorizontal,\n faShieldCross: faShieldCross,\n faCassetteTape: faCassetteTape,\n faSquareTerminal: faSquareTerminal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCommentMiddle: faCommentMiddle,\n faTrashCanList: faTrashCanList,\n faBlock: faBlock,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faFaceFrownSlight: faFaceFrownSlight,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faSidebarFlip: faSidebarFlip,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faTemperatureList: faTemperatureList,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faPipeSection: faPipeSection,\n faSpaceStationMoonConstruction: faSpaceStationMoonConstruction,\n faSpaceStationMoonAlt: faSpaceStationMoonAlt,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faFaceSleeping: faFaceSleeping,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faSquirrel: faSquirrel,\n faArrowUpToLine: faArrowUpToLine,\n faArrowToTop: faArrowToTop,\n faFlag: faFlag,\n faFaceCowboyHat: faFaceCowboyHat,\n faHanukiah: faHanukiah,\n faChartScatter3d: faChartScatter3d,\n faDisplayChartUp: faDisplayChartUp,\n faSquareCode: faSquareCode,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faXmarkToSlot: faXmarkToSlot,\n faTimesToSlot: faTimesToSlot,\n faVoteNay: faVoteNay,\n faBoxTaped: faBoxTaped,\n faBoxAlt: faBoxAlt,\n faCommentSlash: faCommentSlash,\n faSwords: faSwords,\n faCloudSunRain: faCloudSunRain,\n faAlbum: faAlbum,\n faCircleN: faCircleN,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faKeySkeletonLeftRight: faKeySkeletonLeftRight,\n faCommentLines: faCommentLines,\n faLuchadorMask: faLuchadorMask,\n faLuchador: faLuchador,\n faMaskLuchador: faMaskLuchador,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faShredder: faShredder,\n faBookOpenCover: faBookOpenCover,\n faBookOpenAlt: faBookOpenAlt,\n faSandwich: faSandwich,\n faPesetaSign: faPesetaSign,\n faSquareParkingSlash: faSquareParkingSlash,\n faParkingSlash: faParkingSlash,\n faTrainTunnel: faTrainTunnel,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faFaceAnguished: faFaceAnguished,\n faHockeySticks: faHockeySticks,\n faAbacus: faAbacus,\n faFilmSimple: faFilmSimple,\n faFilmAlt: faFilmAlt,\n faList: faList,\n faListSquares: faListSquares,\n faTreePalm: faTreePalm,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faBorderCenterV: faBorderCenterV,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faClipboardMedical: faClipboardMedical,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faUpToLine: faUpToLine,\n faArrowAltToTop: faArrowAltToTop,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faWatchFitness: faWatchFitness,\n faClockNineThirty: faClockNineThirty,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faJug: faJug,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faSnowBlowing: faSnowBlowing,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faArrowDownFromLine: faArrowDownFromLine,\n faArrowFromTop: faArrowFromTop,\n faGasPump: faGasPump,\n faSignalBarsSlash: faSignalBarsSlash,\n faSignalAltSlash: faSignalAltSlash,\n faMonkey: faMonkey,\n faRectanglePro: faRectanglePro,\n faPro: faPro,\n faHouseNight: faHouseNight,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faBlanket: faBlanket,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faCommentsQuestionCheck: faCommentsQuestionCheck,\n faTree: faTree,\n faArrowsCross: faArrowsCross,\n faBackpack: faBackpack,\n faSquareSmall: faSquareSmall,\n faFolderArrowUp: faFolderArrowUp,\n faFolderUpload: faFolderUpload,\n faBridgeLock: faBridgeLock,\n faCrosshairsSimple: faCrosshairsSimple,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faSquareSliders: faSquareSliders,\n faSlidersHSquare: faSlidersHSquare,\n faCarSide: faCarSide,\n faMessageMiddleTop: faMessageMiddleTop,\n faCommentMiddleTopAlt: faCommentMiddleTopAlt,\n faLightbulbOn: faLightbulbOn,\n faKnife: faKnife,\n faUtensilKnife: faUtensilKnife,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faDisplayChartUpCircleDollar: faDisplayChartUpCircleDollar,\n faWaveSine: faWaveSine,\n faHeartCircleMinus: faHeartCircleMinus,\n faCircleW: faCircleW,\n faCircleCalendar: faCircleCalendar,\n faCalendarCircle: faCalendarCircle,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSunset: faSunset,\n faSink: faSink,\n faCalendarExclamation: faCalendarExclamation,\n faTruckContainerEmpty: faTruckContainerEmpty,\n faHandHeart: faHandHeart,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faReplyClock: faReplyClock,\n faReplyTime: faReplyTime,\n faPersonRays: faPersonRays,\n faRight: faRight,\n faArrowAltRight: faArrowAltRight,\n faCircleF: faCircleF,\n faUsers: faUsers,\n faFacePleading: faFacePleading,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faPoliceBox: faPoliceBox,\n faCucumber: faCucumber,\n faHeadSideBrain: faHeadSideBrain,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faPersonBikingMountain: faPersonBikingMountain,\n faBikingMountain: faBikingMountain,\n faUtensilsSlash: faUtensilsSlash,\n faPrintMagnifyingGlass: faPrintMagnifyingGlass,\n faPrintSearch: faPrintSearch,\n faFolderBookmark: faFolderBookmark,\n faOm: faOm,\n faPi: faPi,\n faFlaskRoundPotion: faFlaskRoundPotion,\n faFlaskPotion: faFlaskPotion,\n faFaceShush: faFaceShush,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faCalendarCircleExclamation: faCalendarCircleExclamation,\n faSquareI: faSquareI,\n faChevronUp: faChevronUp,\n faFaceSaluting: faFaceSaluting,\n faGaugeSimpleLow: faGaugeSimpleLow,\n faTachometerSlow: faTachometerSlow,\n faFacePersevering: faFacePersevering,\n faCircleCamera: faCircleCamera,\n faCameraCircle: faCameraCircle,\n faHandSpock: faHandSpock,\n faSpiderWeb: faSpiderWeb,\n faCircleMicrophone: faCircleMicrophone,\n faMicrophoneCircle: faMicrophoneCircle,\n faBookArrowUp: faBookArrowUp,\n faPopsicle: faPopsicle,\n faCommand: faCommand,\n faBlinds: faBlinds,\n faStopwatch: faStopwatch,\n faSaxophone: faSaxophone,\n faSquare2: faSquare2,\n faFieldHockeyStickBall: faFieldHockeyStickBall,\n faFieldHockey: faFieldHockey,\n faArrowUpSquareTriangle: faArrowUpSquareTriangle,\n faSortShapesUpAlt: faSortShapesUpAlt,\n faFaceScream: faFaceScream,\n faSquareM: faSquareM,\n faCameraWeb: faCameraWeb,\n faWebcam: faWebcam,\n faCommentArrowDown: faCommentArrowDown,\n faLightbulbCfl: faLightbulbCfl,\n faWindowFrameOpen: faWindowFrameOpen,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faPeriod: faPeriod,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faUpToDottedLine: faUpToDottedLine,\n faThoughtBubble: faThoughtBubble,\n faSkeletonRibs: faSkeletonRibs,\n faRaygun: faRaygun,\n faFlute: faFlute,\n faAcorn: faAcorn,\n faVideoArrowUpRight: faVideoArrowUpRight,\n faGrateDroplet: faGrateDroplet,\n faSealExclamation: faSealExclamation,\n faChessBishop: faChessBishop,\n faMessageSms: faMessageSms,\n faCoffeeBeans: faCoffeeBeans,\n faHatWitch: faHatWitch,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faClockThreeThirty: faClockThreeThirty,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faAlarmClock: faAlarmClock,\n faEclipse: faEclipse,\n faFaceRelieved: faFaceRelieved,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faOctagonMinus: faOctagonMinus,\n faMinusOctagon: faMinusOctagon,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faFaceZany: faFaceZany,\n faTricycle: faTricycle,\n faLandMineOn: faLandMineOn,\n faSquareArrowUpLeft: faSquareArrowUpLeft,\n faICursor: faICursor,\n faChartMixedUpCircleDollar: faChartMixedUpCircleDollar,\n faSaltShaker: faSaltShaker,\n faStamp: faStamp,\n faFilePlus: faFilePlus,\n faDrawSquare: faDrawSquare,\n faToiletPaperUnderSlash: faToiletPaperUnderSlash,\n faToiletPaperReverseSlash: faToiletPaperReverseSlash,\n faStairs: faStairs,\n faDroneFront: faDroneFront,\n faDroneAlt: faDroneAlt,\n faGlassEmpty: faGlassEmpty,\n faDialHigh: faDialHigh,\n faUserHelmetSafety: faUserHelmetSafety,\n faUserConstruction: faUserConstruction,\n faUserHardHat: faUserHardHat,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faArrowDownLeftAndArrowUpRightToCenter: faArrowDownLeftAndArrowUpRightToCenter,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faBasketballHoop: faBasketballHoop,\n faObjectsAlignBottom: faObjectsAlignBottom,\n faV: faV,\n faSparkles: faSparkles,\n faSquid: faSquid,\n faLeafyGreen: faLeafyGreen,\n faCircleArrowUpRight: faCircleArrowUpRight,\n faCalendars: faCalendars,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faHammerWar: faHammerWar,\n faCircleD: faCircleD,\n faSpiderBlackWidow: faSpiderBlackWidow,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faPear: faPear,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faTriangle: faTriangle,\n faApartment: faApartment,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faPepper: faPepper,\n faPiano: faPiano,\n faGunSquirt: faGunSquirt,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faUserAlien: faUserAlien,\n faShieldCheck: faShieldCheck,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faChartCandlestick: faChartCandlestick,\n faBriefcaseBlank: faBriefcaseBlank,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faBracketRound: faBracketRound,\n faParenthesis: faParenthesis,\n faJoint: faJoint,\n faHorseSaddle: faHorseSaddle,\n faMugMarshmallows: faMugMarshmallows,\n faFilters: faFilters,\n faBellOn: faBellOn,\n faAngleRight: faAngleRight,\n faDialMed: faDialMed,\n faHorse: faHorse,\n faQ: faQ,\n faMonitorWaveform: faMonitorWaveform,\n faMonitorHeartRate: faMonitorHeartRate,\n faLinkSimple: faLinkSimple,\n faWhistle: faWhistle,\n faG: faG,\n faWineGlassCrack: faWineGlassCrack,\n faFragile: faFragile,\n faSlotMachine: faSlotMachine,\n faNotesMedical: faNotesMedical,\n faCarWash: faCarWash,\n faEscalator: faEscalator,\n faCommentImage: faCommentImage,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faDonut: faDonut,\n faDoughnut: faDoughnut,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faTally1: faTally1,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faSquareDashed: faSquareDashed,\n faSquareJ: faSquareJ,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faArrowUpBigSmall: faArrowUpBigSmall,\n faSortSizeUp: faSortSizeUp,\n faBarcodeRead: faBarcodeRead,\n faBaguette: faBaguette,\n faBowlSoftServe: faBowlSoftServe,\n faFaceHoldingBackTears: faFaceHoldingBackTears,\n faSquareUp: faSquareUp,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faTrainSubwayTunnel: faTrainSubwayTunnel,\n faSubwayTunnel: faSubwayTunnel,\n faSquareExclamation: faSquareExclamation,\n faExclamationSquare: faExclamationSquare,\n faSemicolon: faSemicolon,\n faBookmark: faBookmark,\n faFanTable: faFanTable,\n faAlignJustify: faAlignJustify,\n faBatteryLow: faBatteryLow,\n faBattery1: faBattery1,\n faCreditCardFront: faCreditCardFront,\n faBrainArrowCurvedRight: faBrainArrowCurvedRight,\n faMindShare: faMindShare,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faLocationSmile: faLocationSmile,\n faMapMarkerSmile: faMapMarkerSmile,\n faArrowLeftToLine: faArrowLeftToLine,\n faArrowToLeft: faArrowToLeft,\n faBullseye: faBullseye,\n faSushi: faSushi,\n faNigiri: faNigiri,\n faMessageCaptions: faMessageCaptions,\n faCommentAltCaptions: faCommentAltCaptions,\n faTrashList: faTrashList,\n faBacon: faBacon,\n faOption: faOption,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faTrashPlus: faTrashPlus,\n faObjectsAlignTop: faObjectsAlignTop,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFaceAnxiousSweat: faFaceAnxiousSweat,\n faCreditCardBlank: faCreditCardBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faMicrochipAi: faMicrochipAi,\n faMug: faMug,\n faPlaneUpSlash: faPlaneUpSlash,\n faRadiation: faRadiation,\n faPenCircle: faPenCircle,\n faBagSeedling: faBagSeedling,\n faChartSimple: faChartSimple,\n faCrutches: faCrutches,\n faCircleParking: faCircleParking,\n faParkingCircle: faParkingCircle,\n faMarsStroke: faMarsStroke,\n faLeafOak: faLeafOak,\n faSquareBolt: faSquareBolt,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faLambda: faLambda,\n faE: faE,\n faPizza: faPizza,\n faBowlChopsticksNoodles: faBowlChopsticksNoodles,\n faH3: faH3,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faBadgePercent: faBadgePercent,\n faUser: faUser,\n faSensor: faSensor,\n faComma: faComma,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faToiletPaperUnder: faToiletPaperUnder,\n faToiletPaperReverse: faToiletPaperReverse,\n faLightEmergency: faLightEmergency,\n faArrowDownToArc: faArrowDownToArc,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faLightSwitch: faLightSwitch,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faWavePulse: faWavePulse,\n faHeartRate: faHeartRate,\n faKey: faKey,\n faHatSanta: faHatSanta,\n faTamale: faTamale,\n faBoxCheck: faBoxCheck,\n faBullhorn: faBullhorn,\n faSteak: faSteak,\n faLocationCrosshairsSlash: faLocationCrosshairsSlash,\n faLocationSlash: faLocationSlash,\n faPersonDolly: faPersonDolly,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faFileChartColumn: faFileChartColumn,\n faFileChartLine: faFileChartLine,\n faPersonHalfDress: faPersonHalfDress,\n faFolderImage: faFolderImage,\n faCalendarPen: faCalendarPen,\n faCalendarEdit: faCalendarEdit,\n faRoadBridge: faRoadBridge,\n faFaceSmileTear: faFaceSmileTear,\n faMessagePlus: faMessagePlus,\n faCommentAltPlus: faCommentAltPlus,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faRectangleHistoryCircleUser: faRectangleHistoryCircleUser,\n faBuildingLock: faBuildingLock,\n faChartLineUp: faChartLineUp,\n faMailbox: faMailbox,\n faTruckBolt: faTruckBolt,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faCircleThreeQuartersStroke: faCircleThreeQuartersStroke,\n faPersonCircleMinus: faPersonCircleMinus,\n faScalpel: faScalpel,\n faBan: faBan,\n faCancel: faCancel,\n faBellExclamation: faBellExclamation,\n faCircleBookmark: faCircleBookmark,\n faBookmarkCircle: faBookmarkCircle,\n faEggFried: faEggFried,\n faFaceWeary: faFaceWeary,\n faUniformMartialArts: faUniformMartialArts,\n faCameraRotate: faCameraRotate,\n faSunDust: faSunDust,\n faCommentText: faCommentText,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faSignalBars: faSignalBars,\n faSignalAlt: faSignalAlt,\n faSignalAlt4: faSignalAlt4,\n faSignalBarsStrong: faSignalBarsStrong,\n faDiamondExclamation: faDiamondExclamation,\n faStar: faStar,\n faDialMin: faDialMin,\n faRepeat: faRepeat,\n faCross: faCross,\n faPageCaretDown: faPageCaretDown,\n faFileCaretDown: faFileCaretDown,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faClockSevenThirty: faClockSevenThirty,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faClockFourThirty: faClockFourThirty,\n faSignalBarsGood: faSignalBarsGood,\n faSignalAlt3: faSignalAlt3,\n faCactus: faCactus,\n faLightbulbGear: faLightbulbGear,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faPlaneTail: faPlaneTail,\n faGaugeSimpleMax: faGaugeSimpleMax,\n faTachometerFastest: faTachometerFastest,\n faCircleU: faCircleU,\n faShieldSlash: faShieldSlash,\n faSquarePhoneHangup: faSquarePhoneHangup,\n faPhoneSquareDown: faPhoneSquareDown,\n faArrowUpLeft: faArrowUpLeft,\n faTransporter1: faTransporter1,\n faPeanuts: faPeanuts,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faBinBottlesRecycle: faBinBottlesRecycle,\n faArrowUpFromSquare: faArrowUpFromSquare,\n faFileDashedLine: faFileDashedLine,\n faPageBreak: faPageBreak,\n faBracketCurlyRight: faBracketCurlyRight,\n faSpider: faSpider,\n faClockThree: faClockThree,\n faHandsBound: faHandsBound,\n faScalpelLineDashed: faScalpelLineDashed,\n faScalpelPath: faScalpelPath,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPipeSmoking: faPipeSmoking,\n faFaceAstonished: faFaceAstonished,\n faWindow: faWindow,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faEar: faEar,\n faFileLock: faFileLock,\n faDiagramVenn: faDiagramVenn,\n faXRay: faXRay,\n faGoalNet: faGoalNet,\n faCoffinCross: faCoffinCross,\n faSpellCheck: faSpellCheck,\n faLocationXmark: faLocationXmark,\n faMapMarkerTimes: faMapMarkerTimes,\n faMapMarkerXmark: faMapMarkerXmark,\n faCircleQuarterStroke: faCircleQuarterStroke,\n faLasso: faLasso,\n faSlash: faSlash,\n faPersonToPortal: faPersonToPortal,\n faPortalEnter: faPortalEnter,\n faCalendarStar: faCalendarStar,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faPegasus: faPegasus,\n faFilesMedical: faFilesMedical,\n faNfcLock: faNfcLock,\n faPersonSkiLift: faPersonSkiLift,\n faSkiLift: faSkiLift,\n faSquare6: faSquare6,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faWindTurbine: faWindTurbine,\n faSlidersSimple: faSlidersSimple,\n faGridRound: faGridRound,\n faBadgeSheriff: faBadgeSheriff,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faIntersection: faIntersection,\n faShopLock: faShopLock,\n faFamily: faFamily,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faUserHairBuns: faUserHairBuns,\n faBlenderPhone: faBlenderPhone,\n faHourglassClock: faHourglassClock,\n faPersonSeatReclined: faPersonSeatReclined,\n faPaperPlaneTop: faPaperPlaneTop,\n faPaperPlaneAlt: faPaperPlaneAlt,\n faSend: faSend,\n faMessageArrowUp: faMessageArrowUp,\n faCommentAltArrowUp: faCommentAltArrowUp,\n faLightbulbExclamation: faLightbulbExclamation,\n faLayerMinus: faLayerMinus,\n faLayerGroupMinus: faLayerGroupMinus,\n faChartPieSimpleCircleCurrency: faChartPieSimpleCircleCurrency,\n faCircleE: faCircleE,\n faBuildingWheat: faBuildingWheat,\n faGaugeMax: faGaugeMax,\n faTachometerAltFastest: faTachometerAltFastest,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faApostrophe: faApostrophe,\n faFireHydrant: faFireHydrant,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVideoPlus: faVideoPlus,\n faSquareRight: faSquareRight,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faCommentSmile: faCommentSmile,\n faVenus: faVenus,\n faPassport: faPassport,\n faInboxIn: faInboxIn,\n faInboxArrowDown: faInboxArrowDown,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faCircle8: faCircle8,\n faCloudsMoon: faCloudsMoon,\n faClockTenThirty: faClockTenThirty,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faFolderUser: faFolderUser,\n faTrashCanXmark: faTrashCanXmark,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faLeftLongToLine: faLeftLongToLine,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faCalendarRange: faCalendarRange,\n faFlowerDaffodil: faFlowerDaffodil,\n faHandBackPointUp: faHandBackPointUp,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faStarExclamation: faStarExclamation,\n faBooks: faBooks,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faLayerPlus: faLayerPlus,\n faLayerGroupPlus: faLayerGroupPlus,\n faPlayPause: faPlayPause,\n faBlockQuestion: faBlockQuestion,\n faSnooze: faSnooze,\n faZzz: faZzz,\n faScannerImage: faScannerImage,\n faTvRetro: faTvRetro,\n faSquareT: faSquareT,\n faFarm: faFarm,\n faBarnSilo: faBarnSilo,\n faChessKnight: faChessKnight,\n faBarsSort: faBarsSort,\n faPalletBoxes: faPalletBoxes,\n faPaletteBoxes: faPaletteBoxes,\n faPalletAlt: faPalletAlt,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faCodeSimple: faCodeSimple,\n faBoltSlash: faBoltSlash,\n faPanelFire: faPanelFire,\n faBinaryCircleCheck: faBinaryCircleCheck,\n faCommentMinus: faCommentMinus,\n faBurrito: faBurrito,\n faViolin: faViolin,\n faObjectsColumn: faObjectsColumn,\n faSquareChevronDown: faSquareChevronDown,\n faChevronSquareDown: faChevronSquareDown,\n faCommentPlus: faCommentPlus,\n faTriangleInstrument: faTriangleInstrument,\n faTriangleMusic: faTriangleMusic,\n faWheelchair: faWheelchair,\n faUserPilotTie: faUserPilotTie,\n faPianoKeyboard: faPianoKeyboard,\n faBedEmpty: faBedEmpty,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faRectangleVertical: faRectangleVertical,\n faRectanglePortrait: faRectanglePortrait,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faSignalStream: faSignalStream,\n faDownToBracket: faDownToBracket,\n faCircleZ: faCircleZ,\n faStars: faStars,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faHouseDay: faHouseDay,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faShirtLongSleeve: faShirtLongSleeve,\n faChartPieSimple: faChartPieSimple,\n faChartPieAlt: faChartPieAlt,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faAlbumCollectionCircleUser: faAlbumCollectionCircleUser,\n faCandy: faCandy,\n faBowlHot: faBowlHot,\n faSoup: faSoup,\n faFlatbread: faFlatbread,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faSignalBarsWeak: faSignalBarsWeak,\n faSignalAlt1: faSignalAlt1,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faClockTwelve: faClockTwelve,\n faPepperHot: faPepperHot,\n faCitrusSlice: faCitrusSlice,\n faSheep: faSheep,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faBadgerHoney: faBadgerHoney,\n faH4: faH4,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faSignalSlash: faSignalSlash,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faTaco: faTaco,\n faHexagonPlus: faHexagonPlus,\n faPlusHexagon: faPlusHexagon,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faMessages: faMessages,\n faCommentsAlt: faCommentsAlt,\n faBath: faBath,\n faBathtub: faBathtub,\n faUmbrellaSimple: faUmbrellaSimple,\n faUmbrellaAlt: faUmbrellaAlt,\n faRectangleHistoryCirclePlus: faRectangleHistoryCirclePlus,\n faUnderline: faUnderline,\n faPrescriptionBottlePill: faPrescriptionBottlePill,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faBinarySlash: faBinarySlash,\n faSquareO: faSquareO,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faTransporter3: faTransporter3,\n faEngineWarning: faEngineWarning,\n faEngineExclamation: faEngineExclamation,\n faCircleDownRight: faCircleDownRight,\n faSquareK: faSquareK,\n faManatSign: faManatSign,\n faMoneyCheckPen: faMoneyCheckPen,\n faMoneyCheckEdit: faMoneyCheckEdit,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faTilde: faTilde,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faArrowDownSquareTriangle: faArrowDownSquareTriangle,\n faSortShapesDownAlt: faSortShapesDownAlt,\n faMugHot: faMugHot,\n faDogLeashed: faDogLeashed,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faFaceDowncastSweat: faFaceDowncastSweat,\n faMailboxFlagUp: faMailboxFlagUp,\n faMemoCircleInfo: faMemoCircleInfo,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faVolume: faVolume,\n faVolumeMedium: faVolumeMedium,\n faTransporter5: faTransporter5,\n faGaugeCircleBolt: faGaugeCircleBolt,\n faCoinFront: faCoinFront,\n faFileSlash: faFileSlash,\n faMessageArrowUpRight: faMessageArrowUpRight,\n faTreasureChest: faTreasureChest,\n faChessQueen: faChessQueen,\n faPaintbrushFine: faPaintbrushFine,\n faPaintBrushAlt: faPaintBrushAlt,\n faPaintBrushFine: faPaintBrushFine,\n faPaintbrushAlt: faPaintbrushAlt,\n faGlasses: faGlasses,\n faHoodCloak: faHoodCloak,\n faSquareQuote: faSquareQuote,\n faUpLeft: faUpLeft,\n faBringFront: faBringFront,\n faChessBoard: faChessBoard,\n faBurgerCheese: faBurgerCheese,\n faCheeseburger: faCheeseburger,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faRepeat1: faRepeat1,\n faArrowDownToLine: faArrowDownToLine,\n faArrowToBottom: faArrowToBottom,\n faGrid5: faGrid5,\n faRightLongToLine: faRightLongToLine,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faGridRound5: faGridRound5,\n faTally: faTally,\n faTally5: faTally5,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faUpFromDottedLine: faUpFromDottedLine,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faTrafficLightGo: faTrafficLightGo,\n faFaceExhaling: faFaceExhaling,\n faSensorFire: faSensorFire,\n faUserUnlock: faUserUnlock,\n faHexagonDivide: faHexagonDivide,\n fa00: fa00,\n faCrow: faCrow,\n faCassetteBetamax: faCassetteBetamax,\n faBetamax: faBetamax,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faNfcMagnifyingGlass: faNfcMagnifyingGlass,\n faFileBinary: faFileBinary,\n faCircleV: faCircleV,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faBowlScoops: faBowlScoops,\n faMistletoe: faMistletoe,\n faCustard: faCustard,\n faLacrosseStick: faLacrosseStick,\n faHockeyMask: faHockeyMask,\n faSunrise: faSunrise,\n faPanelEws: faPanelEws,\n faToriiGate: faToriiGate,\n faCloudExclamation: faCloudExclamation,\n faMessageLines: faMessageLines,\n faCommentAltLines: faCommentAltLines,\n faFrog: faFrog,\n faBucket: faBucket,\n faFloppyDiskPen: faFloppyDiskPen,\n faImage: faImage,\n faWindowFrame: faWindowFrame,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faFileZip: faFileZip,\n faSquareRing: faSquareRing,\n faDownFromLine: faDownFromLine,\n faArrowAltFromTop: faArrowAltFromTop,\n faCaretUp: faCaretUp,\n faShieldXmark: faShieldXmark,\n faShieldTimes: faShieldTimes,\n faScrewdriver: faScrewdriver,\n faCircleSortDown: faCircleSortDown,\n faSortCircleDown: faSortCircleDown,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faForklift: faForklift,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faBracketSquareRight: faBracketSquareRight,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faSquareA: faSquareA,\n faTick: faTick,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faRefrigerator: faRefrigerator,\n faMonument: faMonument,\n faOctagonXmark: faOctagonXmark,\n faTimesOctagon: faTimesOctagon,\n faXmarkOctagon: faXmarkOctagon,\n faAlignSlash: faAlignSlash,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faTruckRampCouch: faTruckRampCouch,\n faTruckCouch: faTruckCouch,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faArrowUpRightAndArrowDownLeftFromCenter: faArrowUpRightAndArrowDownLeftFromCenter,\n faTablets: faTablets,\n fa360Degrees: fa360Degrees,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faSquareDashedCirclePlus: faSquareDashedCirclePlus,\n faMoneySimpleFromBracket: faMoneySimpleFromBracket,\n faBat: faBat,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faHeadSideHeadphones: faHeadSideHeadphones,\n faPhoneRotary: faPhoneRotary,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faCalendarCircleMinus: faCalendarCircleMinus,\n faChopsticks: faChopsticks,\n faCarWrench: faCarWrench,\n faCarMechanic: faCarMechanic,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faKazoo: faKazoo,\n faMarker: faMarker,\n faBinBottles: faBinBottles,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faSquareArrowDownLeft: faSquareArrowDownLeft,\n faBatteryBolt: faBatteryBolt,\n faTreeLarge: faTreeLarge,\n faHelicopterSymbol: faHelicopterSymbol,\n faAperture: faAperture,\n faUniversalAccess: faUniversalAccess,\n faGearComplex: faGearComplex,\n faFileMagnifyingGlass: faFileMagnifyingGlass,\n faFileSearch: faFileSearch,\n faUpRight: faUpRight,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faUserPolice: faUserPolice,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faTeddyBear: faTeddyBear,\n faStocking: faStocking,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faImageSlash: faImageSlash,\n faMaskSnorkel: faMaskSnorkel,\n faSmoke: faSmoke,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faBatteryExclamation: faBatteryExclamation,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faCrystalBall: faCrystalBall,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faStarShooting: faStarShooting,\n faBinaryLock: faBinaryLock,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faCommentPen: faCommentPen,\n faCommentEdit: faCommentEdit,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faBanjo: faBanjo,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faLightEmergencyOn: faLightEmergencyOn,\n faKerning: faKerning,\n faBoxOpen: faBoxOpen,\n faSquareF: faSquareF,\n faScroll: faScroll,\n faSpa: faSpa,\n faArrowLeftFromLine: faArrowLeftFromLine,\n faArrowFromRight: faArrowFromRight,\n faStrawberry: faStrawberry,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faClockEightThirty: faClockEightThirty,\n faPlaneEngines: faPlaneEngines,\n faPlaneAlt: faPlaneAlt,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faGaugeLow: faGaugeLow,\n faTachometerAltSlow: faTachometerAltSlow,\n faRegistered: faRegistered,\n faTrashCanPlus: faTrashCanPlus,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faGlobeSnow: faGlobeSnow,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faIntegral: faIntegral,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faBlindsRaised: faBlindsRaised,\n faSmog: faSmog,\n faUfoBeam: faUfoBeam,\n faCircleCaretUp: faCircleCaretUp,\n faCaretCircleUp: faCaretCircleUp,\n faUserVneckHairLong: faUserVneckHairLong,\n faSquareALock: faSquareALock,\n faCrutch: faCrutch,\n faGasPumpSlash: faGasPumpSlash,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faTransporter4: faTransporter4,\n faChartMixedUpCircleCurrency: faChartMixedUpCircleCurrency,\n faObjectsAlignRight: faObjectsAlignRight,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faPig: faPig,\n faInboxFull: faInboxFull,\n faCircleEnvelope: faCircleEnvelope,\n faEnvelopeCircle: faEnvelopeCircle,\n faTrianglePersonDigging: faTrianglePersonDigging,\n faConstruction: faConstruction,\n faFerry: faFerry,\n faBullseyeArrow: faBullseyeArrow,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faClockSeven: faClockSeven,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faFlashlight: faFlashlight,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faSquare9: faSquare9,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faSquareDollar: faSquareDollar,\n faDollarSquare: faDollarSquare,\n faUsdSquare: faUsdSquare,\n faPhoneArrowRight: faPhoneArrowRight,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faMessageCheck: faMessageCheck,\n faCommentAltCheck: faCommentAltCheck,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faChartLineUpDown: faChartLineUpDown,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faWatch: faWatch,\n faCircleDownLeft: faCircleDownLeft,\n faText: faText,\n faProjector: faProjector,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faTombstoneBlank: faTombstoneBlank,\n faTombstoneAlt: faTombstoneAlt,\n faChessKingPiece: faChessKingPiece,\n faChessKingAlt: faChessKingAlt,\n faCircle6: faCircle6,\n faLeft: faLeft,\n faArrowAltLeft: faArrowAltLeft,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faSquareDown: faSquareDown,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faObjectsAlignCenterVertical: faObjectsAlignCenterVertical,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faWreath: faWreath,\n faChildren: faChildren,\n faMeterDroplet: faMeterDroplet,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faSignalStrong: faSignalStrong,\n faSignal4: faSignal4,\n faLollipop: faLollipop,\n faLollypop: faLollypop,\n faListTree: faListTree,\n faEnvelopeOpen: faEnvelopeOpen,\n faDrawCircle: faDrawCircle,\n faCatSpace: faCatSpace,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faRabbitRunning: faRabbitRunning,\n faRabbitFast: faRabbitFast,\n faMemoPad: faMemoPad,\n faMattressPillow: faMattressPillow,\n faAlarmPlus: faAlarmPlus,\n faAlicorn: faAlicorn,\n faCommentQuestion: faCommentQuestion,\n faGingerbreadMan: faGingerbreadMan,\n faGuaraniSign: faGuaraniSign,\n faBurgerFries: faBurgerFries,\n faMugTea: faMugTea,\n faBorderTop: faBorderTop,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faCircleBookOpen: faCircleBookOpen,\n faBookCircle: faBookCircle,\n faArrowsToDottedLine: faArrowsToDottedLine,\n faFireExtinguisher: faFireExtinguisher,\n faGarageOpen: faGarageOpen,\n faShelvesEmpty: faShelvesEmpty,\n faCruzeiroSign: faCruzeiroSign,\n faWatchApple: faWatchApple,\n faWatchCalculator: faWatchCalculator,\n faListDropdown: faListDropdown,\n faCabinetFiling: faCabinetFiling,\n faBurgerSoda: faBurgerSoda,\n faSquareArrowUp: faSquareArrowUp,\n faArrowSquareUp: faArrowSquareUp,\n faGreaterThanEqual: faGreaterThanEqual,\n faPalletBox: faPalletBox,\n faFaceConfounded: faFaceConfounded,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faTruckPlow: faTruckPlow,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faGridRound2: faGridRound2,\n faCommentMiddleTop: faCommentMiddleTop,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faRestroomSimple: faRestroomSimple,\n faArrowsToDot: faArrowsToDot,\n faBorderOuter: faBorderOuter,\n faHashtagLock: faHashtagLock,\n faClockTwoThirty: faClockTwoThirty,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faHeartHalf: faHeartHalf,\n faCommentCheck: faCommentCheck,\n faSquare: faSquare,\n faMemo: faMemo,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faGlassCitrus: faGlassCitrus,\n faCalendarLinesPen: faCalendarLinesPen,\n faChurch: faChurch,\n faPersonSnowmobiling: faPersonSnowmobiling,\n faSnowmobile: faSnowmobile,\n faFaceHushed: faFaceHushed,\n faCommentsDollar: faCommentsDollar,\n faPickaxe: faPickaxe,\n faLinkSimpleSlash: faLinkSimpleSlash,\n faDemocrat: faDemocrat,\n faFaceConfused: faFaceConfused,\n faPinball: faPinball,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faDeer: faDeer,\n faInputPipe: faInputPipe,\n faRoadLock: faRoadLock,\n faA: faA,\n faBookmarkSlash: faBookmarkSlash,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faMace: faMace,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faSausage: faSausage,\n faTrashCanClock: faTrashCanClock,\n faP: faP,\n faBroomWide: faBroomWide,\n faSnowflake: faSnowflake,\n faStomach: faStomach,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faGuitarElectric: faGuitarElectric,\n faArrowTurnDownRight: faArrowTurnDownRight,\n faMoonCloud: faMoonCloud,\n faBreadSliceButter: faBreadSliceButter,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faUserGroupCrown: faUserGroupCrown,\n faUsersCrown: faUsersCrown,\n faCircleI: faCircleI,\n faToiletPaperCheck: faToiletPaperCheck,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faChartWaterfall: faChartWaterfall,\n faSparkle: faSparkle,\n faFaceParty: faFaceParty,\n faKidneys: faKidneys,\n faWifiExclamation: faWifiExclamation,\n faChartNetwork: faChartNetwork,\n faPersonDressBurst: faPersonDressBurst,\n faDiceD4: faDiceD4,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faWheatAwnSlash: faWheatAwnSlash,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faDagger: faDagger,\n faPodium: faPodium,\n faMemoCircleCheck: faMemoCircleCheck,\n faRouteHighway: faRouteHighway,\n faDownToLine: faDownToLine,\n faArrowAltToBottom: faArrowAltToBottom,\n faFilter: faFilter,\n faSquareG: faSquareG,\n faCirclePhone: faCirclePhone,\n faPhoneCircle: faPhoneCircle,\n faClipboardPrescription: faClipboardPrescription,\n faUserNurseHair: faUserNurseHair,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faToggleLargeOn: faToggleLargeOn,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faDryerHeat: faDryerHeat,\n faDryerAlt: faDryerAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faArrowUpSmallBig: faArrowUpSmallBig,\n faSortSizeUpAlt: faSortSizeUpAlt,\n faTrainTrack: faTrainTrack,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExclamation: faFileExclamation,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faMoonStars: faMoonStars,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faClothesHanger: faClothesHanger,\n faMobileNotch: faMobileNotch,\n faMobileIphone: faMobileIphone,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faImagesUser: faImagesUser,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faImagePolaroidUser: faImagePolaroidUser,\n faVirusCovid: faVirusCovid,\n faSquareEllipsis: faSquareEllipsis,\n faPie: faPie,\n faChessKnightPiece: faChessKnightPiece,\n faChessKnightAlt: faChessKnightAlt,\n faAustralSign: faAustralSign,\n faCloudPlus: faCloudPlus,\n faF: faF,\n faLeaf: faLeaf,\n faBedBunk: faBedBunk,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faClockEight: faClockEight,\n faSackXmark: faSackXmark,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faCircleQ: faCircleQ,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faFaceDisguise: faFaceDisguise,\n faCircleArrowDownRight: faCircleArrowDownRight,\n faAlien8bit: faAlien8bit,\n faAlienMonster: faAlienMonster,\n faHandPointRibbon: faHandPointRibbon,\n faPoop: faPoop,\n faObjectExclude: faObjectExclude,\n faTelescope: faTelescope,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faSquareList: faSquareList,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faCommentCode: faCommentCode,\n faSimCards: faSimCards,\n faStarship: faStarship,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faSeal: faSeal,\n faUserCowboy: faUserCowboy,\n faHexagonVerticalNft: faHexagonVerticalNft,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faBreadLoaf: faBreadLoaf,\n faRingsWedding: faRingsWedding,\n faObjectGroup: faObjectGroup,\n faFrenchFries: faFrenchFries,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faCalendarArrowDown: faCalendarArrowDown,\n faCalendarDownload: faCalendarDownload,\n faSendBack: faSendBack,\n faMaskVentilator: faMaskVentilator,\n faSignatureLock: faSignatureLock,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faOctagonPlus: faOctagonPlus,\n faPlusOctagon: faPlusOctagon,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faMelonSlice: faMelonSlice,\n faSpaceStationMoon: faSpaceStationMoon,\n faMessageSmile: faMessageSmile,\n faCommentAltSmile: faCommentAltSmile,\n faCupStraw: faCupStraw,\n faLeftFromLine: faLeftFromLine,\n faArrowAltFromRight: faArrowAltFromRight,\n faH: faH,\n faBasketShoppingSimple: faBasketShoppingSimple,\n faShoppingBasketAlt: faShoppingBasketAlt,\n faHandsHoldingHeart: faHandsHoldingHeart,\n faHandsHeart: faHandsHeart,\n faClockNine: faClockNine,\n faTarp: faTarp,\n faFaceSleepy: faFaceSleepy,\n faHandHorns: faHandHorns,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faCircleThreeQuarters: faCircleThreeQuarters,\n faTrophyStar: faTrophyStar,\n faTrophyAlt: faTrophyAlt,\n faPlugCircleBolt: faPlugCircleBolt,\n faFaceThermometer: faFaceThermometer,\n faGridRound4: faGridRound4,\n faShirtRunning: faShirtRunning,\n faBookCircleArrowUp: faBookCircleArrowUp,\n faFaceNauseated: faFaceNauseated,\n faHeart: faHeart,\n faFileChartPie: faFileChartPie,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faCircleArrowDownLeft: faCircleArrowDownLeft,\n faDumpsterFire: faDumpsterFire,\n faHexagonMinus: faHexagonMinus,\n faMinusHexagon: faMinusHexagon,\n faLeftToLine: faLeftToLine,\n faArrowAltToLeft: faArrowAltToLeft,\n faHouseCrack: faHouseCrack,\n faPawSimple: faPawSimple,\n faPawAlt: faPawAlt,\n faArrowLeftLongToLine: faArrowLeftLongToLine,\n faBracketsRound: faBracketsRound,\n faParentheses: faParentheses,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faUserShakespeare: faUserShakespeare,\n faArrowRightToArc: faArrowRightToArc,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faGaugeCirclePlus: faGaugeCirclePlus,\n faFolders: faFolders,\n faAngel: faAngel,\n faValueAbsolute: faValueAbsolute,\n faRabbit: faRabbit,\n faToiletPaperSlash: faToiletPaperSlash,\n faCircleEuro: faCircleEuro,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faDiamondHalf: faDiamondHalf,\n faLockKeyhole: faLockKeyhole,\n faLockAlt: faLockAlt,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faSquareInfo: faSquareInfo,\n faInfoSquare: faInfoSquare,\n faWifiSlash: faWifiSlash,\n faToiletPaperXmark: faToiletPaperXmark,\n faHandsHoldingDollar: faHandsHoldingDollar,\n faHandsUsd: faHandsUsd,\n faCube: faCube,\n faArrowDownTriangleSquare: faArrowDownTriangleSquare,\n faSortShapesDown: faSortShapesDown,\n faBitcoinSign: faBitcoinSign,\n faShutters: faShutters,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faTableTree: faTableTree,\n faHouseChimneyHeart: faHouseChimneyHeart,\n faTally3: faTally3,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faCartCircleExclamation: faCartCircleExclamation,\n faSword: faSword,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faInterrobang: faInterrobang,\n faPlaneSlash: faPlaneSlash,\n faCircleDashed: faCircleDashed,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faForkKnife: faForkKnife,\n faUtensilsAlt: faUtensilsAlt,\n faSatelliteDish: faSatelliteDish,\n faBadgeCheck: faBadgeCheck,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faSlider: faSlider,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faClockOneThirty: faClockOneThirty,\n faInboxOut: faInboxOut,\n faInboxArrowUp: faInboxArrowUp,\n faCloudSlash: faCloudSlash,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faOctagonCheck: faOctagonCheck,\n faFlatbreadStuffed: faFlatbreadStuffed,\n faClipboardCheck: faClipboardCheck,\n faCartCirclePlus: faCartCirclePlus,\n faTruckClock: faTruckClock,\n faShippingTimed: faShippingTimed,\n faPool8Ball: faPool8Ball,\n faFileAudio: faFileAudio,\n faTurnDownLeft: faTurnDownLeft,\n faLockHashtag: faLockHashtag,\n faChartRadar: faChartRadar,\n faStaff: faStaff,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faUtilityPole: faUtilityPole,\n faTransporter6: faTransporter6,\n faWrench: faWrench,\n faBugs: faBugs,\n faVectorPolygon: faVectorPolygon,\n faDiagramNested: faDiagramNested,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faImageUser: faImageUser,\n faBuoy: faBuoy,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faBorderCenterH: faBorderCenterH,\n faCanFood: faCanFood,\n faTypewriter: faTypewriter,\n faArrowRightFromArc: faArrowRightFromArc,\n faCircleK: faCircleK,\n faFaceHandOverMouth: faFaceHandOverMouth,\n faPopcorn: faPopcorn,\n faHouseWater: faHouseWater,\n faHouseFlood: faHouseFlood,\n faObjectSubtract: faObjectSubtract,\n faCodeBranch: faCodeBranch,\n faWarehouseFull: faWarehouseFull,\n faWarehouseAlt: faWarehouseAlt,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faArrowDownFromDottedLine: faArrowDownFromDottedLine,\n faFileDoc: faFileDoc,\n faSquareQuarters: faSquareQuarters,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faTrashXmark: faTrashXmark,\n faCircleCaretLeft: faCircleCaretLeft,\n faCaretCircleLeft: faCaretCircleLeft,\n faFiles: faFiles,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faFaceClouds: faFaceClouds,\n faUserCrown: faUserCrown,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faCartCircleCheck: faCartCircleCheck,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faUserTieHairLong: faUserTieHairLong,\n faFileCircleMinus: faFileCircleMinus,\n faHeadSideMedical: faHeadSideMedical,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faUserRobot: faUserRobot,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faCardDiamond: faCardDiamond,\n faFaceZipper: faFaceZipper,\n faFaceRaisedEyebrow: faFaceRaisedEyebrow,\n faHouseSignal: faHouseSignal,\n faSquareChevronUp: faSquareChevronUp,\n faChevronSquareUp: faChevronSquareUp,\n faNfcSymbol: faNfcSymbol,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faArrowsToLine: faArrowsToLine,\n faDolphin: faDolphin,\n faArrowUpRight: faArrowUpRight,\n faCircleR: faCircleR,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faCircleSortUp: faCircleSortUp,\n faSortCircleUp: faSortCircleUp,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faChestnut: faChestnut,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faHeat: faHeat,\n faTicketAirline: faTicketAirline,\n faBootHeeled: faBootHeeled,\n faArrowsMinimize: faArrowsMinimize,\n faCompressArrows: faCompressArrows,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faHexagon: faHexagon,\n faManhole: faManhole,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFloppyDisks: faFloppyDisks,\n faToiletPaperBlankUnder: faToiletPaperBlankUnder,\n faToiletPaperReverseAlt: faToiletPaperReverseAlt,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faPump: faPump,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faArrowUpLeftFromCircle: faArrowUpLeftFromCircle,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faDryer: faDryer,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faChessBishopPiece: faChessBishopPiece,\n faChessBishopAlt: faChessBishopAlt,\n faShirtTankTop: faShirtTankTop,\n faDiploma: faDiploma,\n faScrollRibbon: faScrollRibbon,\n faScreencast: faScreencast,\n faWalker: faWalker,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faFaceKissClosedEyes: faFaceKissClosedEyes,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faFileUser: faFileUser,\n faUserPoliceTie: faUserPoliceTie,\n faFaceTongueMoney: faFaceTongueMoney,\n faTennisBall: faTennisBall,\n faSquareL: faSquareL,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCalendarArrowUp: faCalendarArrowUp,\n faCalendarUpload: faCalendarUpload,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faScarf: faScarf,\n faAlbumCirclePlus: faAlbumCirclePlus,\n faUserNurseHairLong: faUserNurseHairLong,\n faDiamond: faDiamond,\n faSquareLeft: faSquareLeft,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faCircleEllipsisVertical: faCircleEllipsisVertical,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faGridDividers: faGridDividers,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faFacePensive: faFacePensive,\n faUserMusic: faUserMusic,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faMessagesDollar: faMessagesDollar,\n faCommentsAltDollar: faCommentsAltDollar,\n faSensorOn: faSensorOn,\n faBalloon: faBalloon,\n faBiohazard: faBiohazard,\n faChessQueenPiece: faChessQueenPiece,\n faChessQueenAlt: faChessQueenAlt,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faHousePersonLeave: faHousePersonLeave,\n faHouseLeave: faHouseLeave,\n faHousePersonDepart: faHousePersonDepart,\n faRulerTriangle: faRulerTriangle,\n faCardClub: faCardClub,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faSpinnerThird: faSpinnerThird,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faComputerMouseScrollwheel: faComputerMouseScrollwheel,\n faMouseAlt: faMouseAlt,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faTableLayout: faTableLayout,\n faNarwhal: faNarwhal,\n faRampLoading: faRampLoading,\n faCalendarCirclePlus: faCalendarCirclePlus,\n faToothbrush: faToothbrush,\n faBorderInner: faBorderInner,\n faPawClaws: faPawClaws,\n faKiwiFruit: faKiwiFruit,\n faTrafficLightSlow: faTrafficLightSlow,\n faRectangleCode: faRectangleCode,\n faHeadSideVirus: faHeadSideVirus,\n faKeyboardBrightness: faKeyboardBrightness,\n faBooksMedical: faBooksMedical,\n faLightbulbSlash: faLightbulbSlash,\n faHouseBlank: faHouseBlank,\n faHomeBlank: faHomeBlank,\n faSquare5: faSquare5,\n faSquareHeart: faSquareHeart,\n faHeartSquare: faHeartSquare,\n faPuzzle: faPuzzle,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faPipeCircleCheck: faPipeCircleCheck,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faOctagonExclamation: faOctagonExclamation,\n faDialLow: faDialLow,\n faDoorClosed: faDoorClosed,\n faLaptopMobile: faLaptopMobile,\n faPhoneLaptop: faPhoneLaptop,\n faConveyorBeltBoxes: faConveyorBeltBoxes,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faShieldVirus: faShieldVirus,\n faStarfighterTwinIonEngineAdvanced: faStarfighterTwinIonEngineAdvanced,\n faStarfighterAltAdvanced: faStarfighterAltAdvanced,\n faDiceSix: faDiceSix,\n faStarfighterTwinIonEngine: faStarfighterTwinIonEngine,\n faStarfighterAlt: faStarfighterAlt,\n faRocketLaunch: faRocketLaunch,\n faMosquitoNet: faMosquitoNet,\n faVentDamper: faVentDamper,\n faBridgeWater: faBridgeWater,\n faBanBug: faBanBug,\n faDebug: faDebug,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faGarageCar: faGarageCar,\n faSquareKanban: faSquareKanban,\n faHatWizard: faHatWizard,\n faPenFancy: faPenFancy,\n faCoffeePot: faCoffeePot,\n faMouseField: faMouseField,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faShowerDown: faShowerDown,\n faShowerAlt: faShowerAlt,\n faBoxCircleCheck: faBoxCircleCheck,\n faBrightness: faBrightness,\n faCarSideBolt: faCarSideBolt,\n faOrnament: faOrnament,\n faPhoneArrowDownLeft: faPhoneArrowDownLeft,\n faPhoneArrowDown: faPhoneArrowDown,\n faPhoneIncoming: faPhoneIncoming,\n faCloudWord: faCloudWord,\n faHandFingersCrossed: faHandFingersCrossed,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faArrowDownSmallBig: faArrowDownSmallBig,\n faSortSizeDownAlt: faSortSizeDownAlt,\n faBookMedical: faBookMedical,\n faFaceMelting: faFaceMelting,\n faPoo: faPoo,\n faPenClipSlash: faPenClipSlash,\n faPenAltSlash: faPenAltSlash,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faScrollOld: faScrollOld,\n faGuitars: faGuitars,\n faPhoneXmark: faPhoneXmark,\n faHose: faHose,\n faClockSix: faClockSix,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faBillboard: faBillboard,\n faSquareR: faSquareR,\n faCubes: faCubes,\n faEnvelopeOpenDollar: faEnvelopeOpenDollar,\n faDivide: faDivide,\n faSunCloud: faSunCloud,\n faLampFloor: faLampFloor,\n faSquare7: faSquare7,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faCampfire: faCampfire,\n faCircleAmpersand: faCircleAmpersand,\n faSnowflakes: faSnowflakes,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faLeafMaple: faLeafMaple,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faCupStrawSwoosh: faCupStrawSwoosh,\n faTemperatureSun: faTemperatureSun,\n faTemperatureHot: faTemperatureHot,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faHighDefinition: faHighDefinition,\n faRectangleHd: faRectangleHd,\n faJ: faJ,\n faGalaxy: faGalaxy,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faCherries: faCherries,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faCircleSort: faCircleSort,\n faSortCircle: faSortCircle,\n faTableCells: faTableCells,\n faTh: faTh,\n faFilePdf: faFilePdf,\n faSiren: faSiren,\n faArrowUpToDottedLine: faArrowUpToDottedLine,\n faImageLandscape: faImageLandscape,\n faLandscape: faLandscape,\n faTankWater: faTankWater,\n faCurlingStone: faCurlingStone,\n faCurling: faCurling,\n faGamepadModern: faGamepadModern,\n faGamepadAlt: faGamepadAlt,\n faMessagesQuestion: faMessagesQuestion,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faBriefcaseArrowRight: faBriefcaseArrowRight,\n faExpandWide: faExpandWide,\n faClockElevenThirty: faClockElevenThirty,\n faRv: faRv,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faDreidel: faDreidel,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faFlowerTulip: faFlowerTulip,\n faPeoplePantsSimple: faPeoplePantsSimple,\n faCloudDrizzle: faCloudDrizzle,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faSolarSystem: faSolarSystem,\n faSealQuestion: faSealQuestion,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faDiscDrive: faDiscDrive,\n faHatCowboySide: faHatCowboySide,\n faTableRows: faTableRows,\n faRows: faRows,\n faLocationExclamation: faLocationExclamation,\n faMapMarkerExclamation: faMapMarkerExclamation,\n faFaceFearful: faFaceFearful,\n faClipboardUser: faClipboardUser,\n faBusSchool: faBusSchool,\n faFilmSlash: faFilmSlash,\n faSquareArrowDownRight: faSquareArrowDownRight,\n faBookSparkles: faBookSparkles,\n faBookSpells: faBookSpells,\n faWashingMachine: faWashingMachine,\n faWasher: faWasher,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faUserVisor: faUserVisor,\n faFilePlusMinus: faFilePlusMinus,\n faChessClockFlip: faChessClockFlip,\n faChessClockAlt: faChessClockAlt,\n faSatellite: faSatellite,\n faPlaneLock: faPlaneLock,\n faSteeringWheel: faSteeringWheel,\n faTag: faTag,\n faStretcher: faStretcher,\n faBookSection: faBookSection,\n faBookLaw: faBookLaw,\n faInboxes: faInboxes,\n faCoffeeBean: faCoffeeBean,\n faCircleYen: faCircleYen,\n faBracketsCurly: faBracketsCurly,\n faEllipsisStrokeVertical: faEllipsisStrokeVertical,\n faEllipsisVAlt: faEllipsisVAlt,\n faComment: faComment,\n faSquare1: faSquare1,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faHeadSide: faHeadSide,\n faEnvelope: faEnvelope,\n faDollyEmpty: faDollyEmpty,\n faFaceTissue: faFaceTissue,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faBinRecycle: faBinRecycle,\n faPaperclip: faPaperclip,\n faChartLineDown: faChartLineDown,\n faArrowRightToCity: faArrowRightToCity,\n faLockA: faLockA,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faPersonPinball: faPersonPinball,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faAppleCore: faAppleCore,\n faCircleY: faCircleY,\n faH6: faH6,\n faLitecoinSign: faLitecoinSign,\n faCircleSmall: faCircleSmall,\n faBorderNone: faBorderNone,\n faArrowTurnDownLeft: faArrowTurnDownLeft,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faMessageMedical: faMessageMedical,\n faCommentAltMedical: faCommentAltMedical,\n faRugbyBall: faRugbyBall,\n faCommentMusic: faCommentMusic,\n faIndent: faIndent,\n faTreeDeciduous: faTreeDeciduous,\n faTreeAlt: faTreeAlt,\n faPuzzlePieceSimple: faPuzzlePieceSimple,\n faPuzzlePieceAlt: faPuzzlePieceAlt,\n faTruckFieldUn: faTruckFieldUn,\n faNfcTrash: faNfcTrash,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faFileXmark: faFileXmark,\n faFileTimes: faFileTimes,\n faHouseHeart: faHouseHeart,\n faHomeHeart: faHomeHeart,\n faHouseChimneyBlank: faHouseChimneyBlank,\n faMeterBolt: faMeterBolt,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faSlashBack: faSlashBack,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faFishingRod: faFishingRod,\n faHammerCrash: faHammerCrash,\n faMessageHeart: faMessageHeart,\n faCloudMeatball: faCloudMeatball,\n faCameraPolaroid: faCameraPolaroid,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faCartArrowUp: faCartArrowUp,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faBuoyMooring: faBuoyMooring,\n faSquare4: faSquare4,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faTricycleAdult: faTricycleAdult,\n faWaveform: faWaveform,\n faWater: faWater,\n faStarSharpHalfStroke: faStarSharpHalfStroke,\n faStarSharpHalfAlt: faStarSharpHalfAlt,\n faNfcSignal: faNfcSignal,\n faPlaneProp: faPlaneProp,\n faCalendarCheck: faCalendarCheck,\n faClockDesk: faClockDesk,\n faCalendarClock: faCalendarClock,\n faCalendarTime: faCalendarTime,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPlateUtensils: faPlateUtensils,\n faFamilyPants: faFamilyPants,\n faHoseReel: faHoseReel,\n faHouseWindow: faHouseWindow,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faCrosshairs: faCrosshairs,\n faCloudRainbow: faCloudRainbow,\n faPersonCane: faPersonCane,\n faAlien: faAlien,\n faTent: faTent,\n faLaptopBinary: faLaptopBinary,\n faVestPatches: faVestPatches,\n faPeopleDressSimple: faPeopleDressSimple,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faBowlingBallPin: faBowlingBallPin,\n faBellSchoolSlash: faBellSchoolSlash,\n faPlusLarge: faPlusLarge,\n faMoneyBillWheat: faMoneyBillWheat,\n faCameraViewfinder: faCameraViewfinder,\n faScreenshot: faScreenshot,\n faMessageMusic: faMessageMusic,\n faCommentAltMusic: faCommentAltMusic,\n faCarBuilding: faCarBuilding,\n faBorderBottomRight: faBorderBottomRight,\n faBorderStyleAlt: faBorderStyleAlt,\n faOctagon: faOctagon,\n faCommentArrowUpRight: faCommentArrowUpRight,\n faOctagonDivide: faOctagonDivide,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faTvMusic: faTvMusic,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faReel: faReel,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faAlarmExclamation: faAlarmExclamation,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faTrafficCone: faTrafficCone,\n faGrate: faGrate,\n faArrowDownRight: faArrowDownRight,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPersonFromPortal: faPersonFromPortal,\n faPortalExit: faPortalExit,\n faPlaneArrival: faPlaneArrival,\n faCowbellCirclePlus: faCowbellCirclePlus,\n faCowbellMore: faCowbellMore,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faDistributeSpacingVertical: faDistributeSpacingVertical,\n faSignalBarsFair: faSignalBarsFair,\n faSignalAlt2: faSignalAlt2,\n faSportsball: faSportsball,\n faGameConsoleHandheldCrank: faGameConsoleHandheldCrank,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faFaceSmileUpsideDown: faFaceSmileUpsideDown,\n faBallPile: faBallPile,\n faBadgeDollar: faBadgeDollar,\n faMoneyBillsSimple: faMoneyBillsSimple,\n faMoneyBillsAlt: faMoneyBillsAlt,\n faListTimeline: faListTimeline,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faKeyboardDown: faKeyboardDown,\n faCircleUpRight: faCircleUpRight,\n faCloudBoltMoon: faCloudBoltMoon,\n faThunderstormMoon: faThunderstormMoon,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faBracketRoundRight: faBracketRoundRight,\n faCircleSterling: faCircleSterling,\n faCircle5: faCircle5,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faFireFlame: faFireFlame,\n faFlame: faFlame,\n faRightToLine: faRightToLine,\n faArrowAltToRight: faArrowAltToRight,\n faGif: faGif,\n faChess: faChess,\n faTrashSlash: faTrashSlash,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faFontCase: faFontCase,\n faStreetView: faStreetView,\n faArrowDownLeft: faArrowDownLeft,\n faFrancSign: faFrancSign,\n faFlaskRoundPoison: faFlaskRoundPoison,\n faFlaskPoison: faFlaskPoison,\n faVolumeOff: faVolumeOff,\n faBookCircleArrowRight: faBookCircleArrowRight,\n faChartUser: faChartUser,\n faUserChart: faUserChart,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faPresentationScreen: faPresentationScreen,\n faPresentation: faPresentation,\n faCircleBolt: faCircleBolt,\n faFaceSmileHalo: faFaceSmileHalo,\n faCartCircleArrowDown: faCartCircleArrowDown,\n faHousePersonReturn: faHousePersonReturn,\n faHousePersonArrive: faHousePersonArrive,\n faHouseReturn: faHouseReturn,\n faMessageXmark: faMessageXmark,\n faCommentAltTimes: faCommentAltTimes,\n faMessageTimes: faMessageTimes,\n faFileCertificate: faFileCertificate,\n faFileAward: faFileAward,\n faUserDoctorHairLong: faUserDoctorHairLong,\n faCameraSecurity: faCameraSecurity,\n faCameraHome: faCameraHome,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faBookHeart: faBookHeart,\n faMosque: faMosque,\n faDuck: faDuck,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faFlagSwallowtail: faFlagSwallowtail,\n faFlagAlt: faFlagAlt,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCarGarage: faCarGarage,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faBookFont: faBookFont,\n faShieldPlus: faShieldPlus,\n faVials: faVials,\n faEyeDropperFull: faEyeDropperFull,\n faDistributeSpacingHorizontal: faDistributeSpacingHorizontal,\n faTabletRugged: faTabletRugged,\n faTemperatureSnow: faTemperatureSnow,\n faTemperatureFrigid: faTemperatureFrigid,\n faMoped: faMoped,\n faFaceSmilePlus: faFaceSmilePlus,\n faSmilePlus: faSmilePlus,\n faRadioTuner: faRadioTuner,\n faRadioAlt: faRadioAlt,\n faFaceSwear: faFaceSwear,\n faWaterArrowDown: faWaterArrowDown,\n faWaterLower: faWaterLower,\n faScannerTouchscreen: faScannerTouchscreen,\n faCircle7: faCircle7,\n faPlugCirclePlus: faPlugCirclePlus,\n faPersonSkiJumping: faPersonSkiJumping,\n faSkiJump: faSkiJump,\n faPlaceOfWorship: faPlaceOfWorship,\n faWaterArrowUp: faWaterArrowUp,\n faWaterRise: faWaterRise,\n faWaveformLines: faWaveformLines,\n faWaveformPath: faWaveformPath,\n faSplit: faSplit,\n faFilmCanister: faFilmCanister,\n faFilmCannister: faFilmCannister,\n faFolderXmark: faFolderXmark,\n faFolderTimes: faFolderTimes,\n faToiletPaperBlank: faToiletPaperBlank,\n faToiletPaperAlt: faToiletPaperAlt,\n faTabletScreen: faTabletScreen,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faHexagonVerticalNftSlanted: faHexagonVerticalNftSlanted,\n faFolderMusic: faFolderMusic,\n faDisplayMedical: faDisplayMedical,\n faDesktopMedical: faDesktopMedical,\n faShareAll: faShareAll,\n faPeapod: faPeapod,\n faChessClock: faChessClock,\n faAxe: faAxe,\n faSquareD: faSquareD,\n faGripVertical: faGripVertical,\n faMobileSignalOut: faMobileSignalOut,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faArrowUpFromDottedLine: faArrowUpFromDottedLine,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faLightSwitchOn: faLightSwitchOn,\n faArrowDownArrowUp: faArrowDownArrowUp,\n faSortAlt: faSortAlt,\n faRaindrops: faRaindrops,\n faDash: faDash,\n faMinusLarge: faMinusLarge,\n faClock: faClock,\n faClockFour: faClockFour,\n faInputNumeric: faInputNumeric,\n faTruckTow: faTruckTow,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faCarBolt: faCarBolt,\n faArrowsMaximize: faArrowsMaximize,\n faExpandArrows: faExpandArrows,\n faFaucet: faFaucet,\n faCloudSleet: faCloudSleet,\n faLampStreet: faLampStreet,\n faListRadio: faListRadio,\n faPenNibSlash: faPenNibSlash,\n faBaseballBatBall: faBaseballBatBall,\n faSquareUpLeft: faSquareUpLeft,\n faOverline: faOverline,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faArrowsFromDottedLine: faArrowsFromDottedLine,\n faUsbDrive: faUsbDrive,\n faBallot: faBallot,\n faCaretDown: faCaretDown,\n faLocationDotSlash: faLocationDotSlash,\n faMapMarkerAltSlash: faMapMarkerAltSlash,\n faCards: faCards,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faBoxingGlove: faBoxingGlove,\n faGloveBoxing: faGloveBoxing,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faBellSchool: faBellSchool,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faFolderHeart: faFolderHeart,\n faCircleLocationArrow: faCircleLocationArrow,\n faLocationCircle: faLocationCircle,\n faFaceHeadBandage: faFaceHeadBandage,\n faSushiRoll: faSushiRoll,\n faMakiRoll: faMakiRoll,\n faMakizushi: faMakizushi,\n faCarBump: faCarBump,\n faPiggyBank: faPiggyBank,\n faRacquet: faRacquet,\n faCarMirrors: faCarMirrors,\n faIndustryWindows: faIndustryWindows,\n faIndustryAlt: faIndustryAlt,\n faBoltAuto: faBoltAuto,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faFluxCapacitor: faFluxCapacitor,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faHoneyPot: faHoneyPot,\n faOlive: faOlive,\n faKhanda: faKhanda,\n faFilterList: faFilterList,\n faOutlet: faOutlet,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faCauldron: faCauldron,\n faPeople: faPeople,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faCroissant: faCroissant,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faSwordsLaser: faSwordsLaser,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faSquareU: faSquareU,\n faWandSparkles: faWandSparkles,\n faRouter: faRouter,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faSwordLaserAlt: faSwordLaserAlt,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faCoin: faCoin,\n faLaptopSlash: faLaptopSlash,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faCircleB: faCircleB,\n faPersonDressSimple: faPersonDressSimple,\n faPipeCollar: faPipeCollar,\n faLightsHoliday: faLightsHoliday,\n faCitrus: faCitrus,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faChartTreeMap: faChartTreeMap,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faClockFiveThirty: faClockFiveThirty,\n faPipeValve: faPipeValve,\n faArrowUpFromArc: faArrowUpFromArc,\n faFaceSpiralEyes: faFaceSpiralEyes,\n faCompressWide: faCompressWide,\n faCirclePhoneHangup: faCirclePhoneHangup,\n faPhoneCircleDown: faPhoneCircleDown,\n faGearComplexCode: faGearComplexCode,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faBadminton: faBadminton,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faRightFromLine: faRightFromLine,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faShuttlecock: faShuttlecock,\n faUserHair: faUserHair,\n faEyeEvil: faEyeEvil,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faGarage: faGarage,\n faCableCar: faCableCar,\n faTram: faTram,\n faShovelSnow: faShovelSnow,\n faCloudRain: faCloudRain,\n faFaceLying: faFaceLying,\n faSprinkler: faSprinkler,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faPersonSledding: faPersonSledding,\n faSledding: faSledding,\n faGameConsoleHandheld: faGameConsoleHandheld,\n faShip: faShip,\n faClockSixThirty: faClockSixThirty,\n faBatterySlash: faBatterySlash,\n faTugrikSign: faTugrikSign,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faShelves: faShelves,\n faInventory: faInventory,\n faCloudSnow: faCloudSnow,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faOven: faOven,\n faCloudBinary: faCloudBinary,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faCommentCaptions: faCommentCaptions,\n faCommentsQuestion: faCommentsQuestion,\n faScribble: faScribble,\n faRotateExclamation: faRotateExclamation,\n faFileCircleCheck: faFileCircleCheck,\n faGlass: faGlass,\n faLoader: faLoader,\n faForward: faForward,\n faUserPilot: faUserPilot,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faCodePullRequestClosed: faCodePullRequestClosed,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faFaceDotted: faFaceDotted,\n faFaceWorried: faFaceWorried,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faVectorCircle: faVectorCircle,\n faCarCircleBolt: faCarCircleBolt,\n faCalendarWeek: faCalendarWeek,\n faFlyingDisc: faFlyingDisc,\n faLaptopMedical: faLaptopMedical,\n faSquareDownRight: faSquareDownRight,\n faB: faB,\n faSeatAirline: faSeatAirline,\n faMoonOverSun: faMoonOverSun,\n faEclipseAlt: faEclipseAlt,\n faPipe: faPipe,\n faFileMedical: faFileMedical,\n faPotato: faPotato,\n faDiceOne: faDiceOne,\n faCircleA: faCircleA,\n faHelmetBattle: faHelmetBattle,\n faButter: faButter,\n faBlanketFire: faBlanketFire,\n faKiwiBird: faKiwiBird,\n faCastle: faCastle,\n faGolfClub: faGolfClub,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faChartPieSimpleCircleDollar: faChartPieSimpleCircleDollar,\n faBalloons: faBalloons,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faTimelineArrow: faTimelineArrow,\n faSkull: faSkull,\n faGameBoardSimple: faGameBoardSimple,\n faGameBoardAlt: faGameBoardAlt,\n faCircleVideo: faCircleVideo,\n faVideoCircle: faVideoCircle,\n faChartScatterBubble: faChartScatterBubble,\n faHouseTurret: faHouseTurret,\n faBanana: faBanana,\n faHandHoldingSkull: faHandHoldingSkull,\n faPeopleDress: faPeopleDress,\n faLoveseat: faLoveseat,\n faCouchSmall: faCouchSmall,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faBlockQuote: faBlockQuote,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faMoneyCheckDollarPen: faMoneyCheckDollarPen,\n faMoneyCheckEditAlt: faMoneyCheckEditAlt,\n faUpFromLine: faUpFromLine,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faGridRound2Plus: faGridRound2Plus,\n faPeoplePants: faPeoplePants,\n faMound: faMound,\n faWindsock: faWindsock,\n faCircleHalf: faCircleHalf,\n faBrakeWarning: faBrakeWarning,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faSaxophoneFire: faSaxophoneFire,\n faSaxHot: faSaxHot,\n faCameraWebSlash: faCameraWebSlash,\n faWebcamSlash: faWebcamSlash,\n faFolderMedical: faFolderMedical,\n faFolderGear: faFolderGear,\n faFolderCog: faFolderCog,\n faHandWave: faHandWave,\n faArrowUpArrowDown: faArrowUpArrowDown,\n faSortUpDown: faSortUpDown,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faMessageSlash: faMessageSlash,\n faCommentAltSlash: faCommentAltSlash,\n faBolt: faBolt,\n faZap: faZap,\n faTrashCanCheck: faTrashCanCheck,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faPersonSimple: faPersonSimple,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faGearCode: faGearCode,\n faNotes: faNotes,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faTrashUndo: faTrashUndo,\n faTrashArrowTurnLeft: faTrashArrowTurnLeft,\n faChampagneGlass: faChampagneGlass,\n faGlassChampagne: faGlassChampagne,\n faObjectsAlignCenterHorizontal: faObjectsAlignCenterHorizontal,\n faSun: faSun,\n faTrashCanSlash: faTrashCanSlash,\n faTrashAltSlash: faTrashAltSlash,\n faScreenUsers: faScreenUsers,\n faUsersClass: faUsersClass,\n faGuitar: faGuitar,\n faSquareArrowLeft: faSquareArrowLeft,\n faArrowSquareLeft: faArrowSquareLeft,\n faSquare8: faSquare8,\n faFaceSmileHearts: faFaceSmileHearts,\n faBracketsSquare: faBracketsSquare,\n faBrackets: faBrackets,\n faLaptopArrowDown: faLaptopArrowDown,\n faHockeyStickPuck: faHockeyStickPuck,\n faHouseTree: faHouseTree,\n faSignalFair: faSignalFair,\n faSignal2: faSignal2,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDollar: faCircleDollar,\n faDollarCircle: faDollarCircle,\n faUsdCircle: faUsdCircle,\n faHorseHead: faHorseHead,\n faArrowsRepeat: faArrowsRepeat,\n faRepeatAlt: faRepeatAlt,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faImagePolaroid: faImagePolaroid,\n faWaveTriangle: faWaveTriangle,\n faPersonRunningFast: faPersonRunningFast,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faGrill: faGrill,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faChartMixed: faChartMixed,\n faAnalytics: faAnalytics,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faDisplayCode: faDisplayCode,\n faDesktopCode: faDesktopCode,\n faFaceDrooling: faFaceDrooling,\n faOilTemperature: faOilTemperature,\n faOilTemp: faOilTemp,\n faSquareQuestion: faSquareQuestion,\n faQuestionSquare: faQuestionSquare,\n faAirConditioner: faAirConditioner,\n faAngleDown: faAngleDown,\n faMountains: faMountains,\n faOmega: faOmega,\n faCarTunnel: faCarTunnel,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPanFood: faPanFood,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faTicketsAirline: faTicketsAirline,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faNfcSlash: faNfcSlash,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faGrid2Plus: faGrid2Plus,\n faBells: faBells,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faEnvelopeDot: faEnvelopeDot,\n faEnvelopeBadge: faEnvelopeBadge,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faBowlChopsticks: faBowlChopsticks,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCircleS: faCircleS,\n faBoxBallot: faBoxBallot,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faUserTieHair: faUserTieHair,\n faPodiumStar: faPodiumStar,\n faUserHairMullet: faUserHairMullet,\n faBusinessFront: faBusinessFront,\n faPartyBack: faPartyBack,\n faTrianBalbot: faTrianBalbot,\n faMicrophoneStand: faMicrophoneStand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faFamilyDress: faFamilyDress,\n faCircleX: faCircleX,\n faCabin: faCabin,\n faMountainSun: faMountainSun,\n faChartSimpleHorizontal: faChartSimpleHorizontal,\n faBluetooth: faBluetooth,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faHandBackPointLeft: faHandBackPointLeft,\n faMessageDots: faMessageDots,\n faCommentAltDots: faCommentAltDots,\n faMessaging: faMessaging,\n faFileHeart: faFileHeart,\n faBeerMug: faBeerMug,\n faBeerFoam: faBeerFoam,\n faDiceD20: faDiceD20,\n faDrone: faDrone,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faBed: faBed,\n faBookCopy: faBookCopy,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faSquareC: faSquareC,\n faClockTwo: faClockTwo,\n faSquareEllipsisVertical: faSquareEllipsisVertical,\n faCalendarUsers: faCalendarUsers,\n faPodcast: faPodcast,\n faBee: faBee,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faCandyBar: faCandyBar,\n faChocolateBar: faChocolateBar,\n faXmarkLarge: faXmarkLarge,\n faPinata: faPinata,\n faArrowsFromLine: faArrowsFromLine,\n faSuperscript: faSuperscript,\n faBowlSpoon: faBowlSpoon,\n faHexagonCheck: faHexagonCheck,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faTrafficLightStop: faTrafficLightStop,\n faPaintRoller: faPaintRoller,\n faAccentGrave: faAccentGrave,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faCircle0: faCircle0,\n faDialMedLow: faDialMedLow,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faCrab: faCrab,\n faBoxOpenFull: faBoxOpenFull,\n faBoxFull: faBoxFull,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faQuotes: faQuotes,\n faPretzel: faPretzel,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faUserRobotXmarks: faUserRobotXmarks,\n faMessageQuote: faMessageQuote,\n faCommentAltQuote: faCommentAltQuote,\n faCandyCorn: faCandyCorn,\n faFolderMagnifyingGlass: faFolderMagnifyingGlass,\n faFolderSearch: faFolderSearch,\n faNotebook: faNotebook,\n faDroplet: faDroplet,\n faTint: faTint,\n faBullseyePointer: faBullseyePointer,\n faEraser: faEraser,\n faHexagonImage: faHexagonImage,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faCrateApple: faCrateApple,\n faAppleCrate: faAppleCrate,\n faPersonBurst: faPersonBurst,\n faGameBoard: faGameBoard,\n faHatChef: faHatChef,\n faHandBackPointRight: faHandBackPointRight,\n faDove: faDove,\n faSnowflakeDroplets: faSnowflakeDroplets,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faGrid4: faGrid4,\n faSocks: faSocks,\n faFaceSunglasses: faFaceSunglasses,\n faInbox: faInbox,\n faSquare0: faSquare0,\n faSection: faSection,\n faSquareThisWayUp: faSquareThisWayUp,\n faBoxUp: faBoxUp,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faSquareAmpersand: faSquareAmpersand,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faLampDesk: faLampDesk,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faPollPeople: faPollPeople,\n faWhiskeyGlassIce: faWhiskeyGlassIce,\n faGlassWhiskeyRocks: faGlassWhiskeyRocks,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faUserBountyHunter: faUserBountyHunter,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDiagramSankey: faDiagramSankey,\n faCloudHailMixed: faCloudHailMixed,\n faCircleUpLeft: faCircleUpLeft,\n faDharmachakra: faDharmachakra,\n faObjectsAlignLeft: faObjectsAlignLeft,\n faOilCanDrip: faOilCanDrip,\n faFaceSmilingHands: faFaceSmilingHands,\n faBroccoli: faBroccoli,\n faRouteInterstate: faRouteInterstate,\n faEarMuffs: faEarMuffs,\n faHotdog: faHotdog,\n faTransporterEmpty: faTransporterEmpty,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faAngle90: faAngle90,\n faRectangleTerminal: faRectangleTerminal,\n faKite: faKite,\n faDrum: faDrum,\n faScrubber: faScrubber,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFishBones: faFishBones,\n faDeerRudolph: faDeerRudolph,\n faFax: faFax,\n faParagraph: faParagraph,\n faHeadSideHeart: faHeadSideHeart,\n faSquareE: faSquareE,\n faMeterFire: faMeterFire,\n faCloudHail: faCloudHail,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faMoneyFromBracket: faMoneyFromBracket,\n faStarHalf: faStarHalf,\n faCarBus: faCarBus,\n faSpeaker: faSpeaker,\n faTimer: faTimer,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faGrillHot: faGrillHot,\n faBallotCheck: faBallotCheck,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faFileMinus: faFileMinus,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faCupTogo: faCupTogo,\n faCoffeeTogo: faCoffeeTogo,\n faSquareDownLeft: faSquareDownLeft,\n faBurgerLettuce: faBurgerLettuce,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faChevronsDown: faChevronsDown,\n faChevronDoubleDown: faChevronDoubleDown,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faSignalGood: faSignalGood,\n faSignal3: faSignal3,\n faLocationQuestion: faLocationQuestion,\n faMapMarkerQuestion: faMapMarkerQuestion,\n faFloppyDiskCircleXmark: faFloppyDiskCircleXmark,\n faFloppyDiskTimes: faFloppyDiskTimes,\n faSaveCircleXmark: faSaveCircleXmark,\n faSaveTimes: faSaveTimes,\n faNairaSign: faNairaSign,\n faPeach: faPeach,\n faTaxiBus: faTaxiBus,\n faBracketCurly: faBracketCurly,\n faBracketCurlyLeft: faBracketCurlyLeft,\n faLobster: faLobster,\n faCartFlatbedEmpty: faCartFlatbedEmpty,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faColon: faColon,\n faCartArrowDown: faCartArrowDown,\n faWand: faWand,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faTablePicnic: faTablePicnic,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faCircleMicrophoneLines: faCircleMicrophoneLines,\n faMicrophoneCircleAlt: faMicrophoneCircleAlt,\n faDisplaySlash: faDisplaySlash,\n faDesktopSlash: faDesktopSlash,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faTransporter2: faTransporter2,\n faHandsHoldingDiamond: faHandsHoldingDiamond,\n faHandReceiving: faHandReceiving,\n faMoneyBillSimpleWave: faMoneyBillSimpleWave,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faBellPlus: faBellPlus,\n faBookArrowRight: faBookArrowRight,\n faHospitals: faHospitals,\n faClub: faClub,\n faSkullCrossbones: faSkullCrossbones,\n faDropletDegree: faDropletDegree,\n faDewpoint: faDewpoint,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faHandHoldingMagic: faHandHoldingMagic,\n faWatermelonSlice: faWatermelonSlice,\n faCircleEllipsis: faCircleEllipsis,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faSdCards: faSdCards,\n faJugBottle: faJugBottle,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faEnvelopes: faEnvelopes,\n faPhoneOffice: faPhoneOffice,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faNfcPen: faNfcPen,\n faPersonHarassing: faPersonHarassing,\n faHatWinter: faHatWinter,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faBoneBreak: faBoneBreak,\n faArrowUp: faArrowUp,\n faDownFromDottedLine: faDownFromDottedLine,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faBorderLeft: faBorderLeft,\n faCircleDivide: faCircleDivide,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faDiagramSubtask: faDiagramSubtask,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faSquareY: faSquareY,\n faUserDoctorHair: faUserDoctorHair,\n faPlanetRinged: faPlanetRinged,\n faMushroom: faMushroom,\n faUserShield: faUserShield,\n faMegaphone: faMegaphone,\n faWreathLaurel: faWreathLaurel,\n faCircleExclamationCheck: faCircleExclamationCheck,\n faWind: faWind,\n faBoxDollar: faBoxDollar,\n faBoxUsd: faBoxUsd,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faUserHeadset: faUserHeadset,\n faArrowsRetweet: faArrowsRetweet,\n faRetweetAlt: faRetweetAlt,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faSquareChevronRight: faSquareChevronRight,\n faChevronSquareRight: faChevronSquareRight,\n faLacrosseStickBall: faLacrosseStickBall,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faUserMagnifyingGlass: faUserMagnifyingGlass,\n faStarSharp: faStarSharp,\n faCommentHeart: faCommentHeart,\n faCircle1: faCircle1,\n faCircleStar: faCircleStar,\n faStarCircle: faStarCircle,\n faFish: faFish,\n faCloudFog: faCloudFog,\n faFog: faFog,\n faWaffle: faWaffle,\n faMusicNote: faMusicNote,\n faMusicAlt: faMusicAlt,\n faHexagonExclamation: faHexagonExclamation,\n faCartShoppingFast: faCartShoppingFast,\n faObjectUnion: faObjectUnion,\n faUserGraduate: faUserGraduate,\n faStarfighter: faStarfighter,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faArrowRightLongToLine: faArrowRightLongToLine,\n faSquareArrowDown: faSquareArrowDown,\n faArrowSquareDown: faArrowSquareDown,\n faDiamondHalfStroke: faDiamondHalfStroke,\n faClapperboard: faClapperboard,\n faSquareChevronLeft: faSquareChevronLeft,\n faChevronSquareLeft: faChevronSquareLeft,\n faPhoneIntercom: faPhoneIntercom,\n faLinkHorizontal: faLinkHorizontal,\n faChainHorizontal: faChainHorizontal,\n faMango: faMango,\n faMusicNoteSlash: faMusicNoteSlash,\n faMusicAltSlash: faMusicAltSlash,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faFaceTongueSweat: faFaceTongueSweat,\n faGlobeStand: faGlobeStand,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faCircleP: faCircleP,\n faAwardSimple: faAwardSimple,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faPedestal: faPedestal,\n faChartPyramid: faChartPyramid,\n faSidebar: faSidebar,\n faSnowmanHead: faSnowmanHead,\n faFrostyHead: faFrostyHead,\n faCopy: faCopy,\n faBurgerGlass: faBurgerGlass,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faBarsFilter: faBarsFilter,\n faPaintbrushPencil: faPaintbrushPencil,\n faPartyBell: faPartyBell,\n faUserVneckHair: faUserVneckHair,\n faJackOLantern: faJackOLantern,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faKeynote: faKeynote,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faHatBeach: faHatBeach,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faFort: faFort,\n faCloudCheck: faCloudCheck,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faFaceSmirking: faFaceSmirking,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faRhombus: faRhombus,\n faClawMarks: faClawMarks,\n faPesoSign: faPesoSign,\n faFaceSmileTongue: faFaceSmileTongue,\n faCartCircleXmark: faCartCircleXmark,\n faBuildingShield: faBuildingShield,\n faCirclePhoneFlip: faCirclePhoneFlip,\n faPhoneCircleAlt: faPhoneCircleAlt,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faKeySkeleton: faKeySkeleton,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faArrowDownToBracket: faArrowDownToBracket,\n faLinesLeaning: faLinesLeaning,\n faSquareQ: faSquareQ,\n faRulerCombined: faRulerCombined,\n faSymbols: faSymbols,\n faIconsAlt: faIconsAlt,\n faCopyright: faCopyright,\n faFlaskGear: faFlaskGear,\n faHighlighterLine: faHighlighterLine,\n faBracketSquare: faBracketSquare,\n faBracket: faBracket,\n faBracketLeft: faBracketLeft,\n faIslandTropical: faIslandTropical,\n faIslandTreePalm: faIslandTreePalm,\n faArrowRightFromLine: faArrowRightFromLine,\n faArrowFromLeft: faArrowFromLeft,\n faH2: faH2,\n faEquals: faEquals,\n faCakeSlice: faCakeSlice,\n faShortcake: faShortcake,\n faPeanut: faPeanut,\n faWrenchSimple: faWrenchSimple,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faTally2: faTally2,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faCars: faCars,\n faAxeBattle: faAxeBattle,\n faUserHairLong: faUserHairLong,\n faMap: faMap,\n faFileCircleInfo: faFileCircleInfo,\n faFaceDisappointed: faFaceDisappointed,\n faLassoSparkles: faLassoSparkles,\n faClockEleven: faClockEleven,\n faRocket: faRocket,\n faSirenOn: faSirenOn,\n faClockTen: faClockTen,\n faCandleHolder: faCandleHolder,\n faVideoArrowDownLeft: faVideoArrowDownLeft,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFloppyDiskCircleArrowRight: faFloppyDiskCircleArrowRight,\n faSaveCircleArrowRight: faSaveCircleArrowRight,\n faFolderMinus: faFolderMinus,\n faPlanetMoon: faPlanetMoon,\n faFaceEyesXmarks: faFaceEyesXmarks,\n faChartScatter: faChartScatter,\n faDisplayArrowDown: faDisplayArrowDown,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faOliveBranch: faOliveBranch,\n faAngle: faAngle,\n faVacuumRobot: faVacuumRobot,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faSquareDivide: faSquareDivide,\n faSignalStreamSlash: faSignalStreamSlash,\n faBezierCurve: faBezierCurve,\n faEyeDropperHalf: faEyeDropperHalf,\n faStoreLock: faStoreLock,\n faBellSlash: faBellSlash,\n faCloudBoltSun: faCloudBoltSun,\n faThunderstormSun: faThunderstormSun,\n faCameraSlash: faCameraSlash,\n faCommentQuote: faCommentQuote,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faMessageCode: faMessageCode,\n faGlassHalf: faGlassHalf,\n faGlassHalfEmpty: faGlassHalfEmpty,\n faGlassHalfFull: faGlassHalfFull,\n faFill: faFill,\n faMessageMinus: faMessageMinus,\n faCommentAltMinus: faCommentAltMinus,\n faAngleUp: faAngleUp,\n faDinosaur: faDinosaur,\n faDrumstickBite: faDrumstickBite,\n faLinkHorizontalSlash: faLinkHorizontalSlash,\n faChainHorizontalSlash: faChainHorizontalSlash,\n faHollyBerry: faHollyBerry,\n faNose: faNose,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faClouds: faClouds,\n faMoneyBillSimple: faMoneyBillSimple,\n faHandLizard: faHandLizard,\n faTablePivot: faTablePivot,\n faFilterSlash: faFilterSlash,\n faTrashCanUndo: faTrashCanUndo,\n faTrashCanArrowTurnLeft: faTrashCanArrowTurnLeft,\n faTrashUndoAlt: faTrashUndoAlt,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faPersonToDoor: faPersonToDoor,\n faTurntable: faTurntable,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faSignalWeak: faSignalWeak,\n faSignal1: faSignal1,\n faClockFive: faClockFive,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faComputerClassic: faComputerClassic,\n faFrame: faFrame,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faEllipsisStroke: faEllipsisStroke,\n faEllipsisHAlt: faEllipsisHAlt,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faFaceExpressionless: faFaceExpressionless,\n faDownToDottedLine: faDownToDottedLine,\n faCloudMusic: faCloudMusic,\n faTrafficLight: faTrafficLight,\n faCloudMinus: faCloudMinus,\n faThermometer: faThermometer,\n faShieldMinus: faShieldMinus,\n faVrCardboard: faVrCardboard,\n faCarTilt: faCarTilt,\n faGaugeCircleMinus: faGaugeCircleMinus,\n faBrightnessLow: faBrightnessLow,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faConveyorBelt: faConveyorBelt,\n faLocationCheck: faLocationCheck,\n faMapMarkerCheck: faMapMarkerCheck,\n faCoinVertical: faCoinVertical,\n faDisplay: faDisplay,\n faPersonSign: faPersonSign,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faPhoneHangup: faPhoneHangup,\n faSignatureSlash: faSignatureSlash,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faWheatSlash: faWheatSlash,\n faTrophy: faTrophy,\n faCloudsSun: faCloudsSun,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faFaceVomit: faFaceVomit,\n faSpeakers: faSpeakers,\n faTtyAnswer: faTtyAnswer,\n faTeletypeAnswer: faTeletypeAnswer,\n faMugTeaSaucer: faMugTeaSaucer,\n faDiagramLeanCanvas: faDiagramLeanCanvas,\n faAlt: faAlt,\n faDial: faDial,\n faDialMedHigh: faDialMedHigh,\n faHandPeace: faHandPeace,\n faCircleTrash: faCircleTrash,\n faTrashCircle: faTrashCircle,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faCircleQuarters: faCircleQuarters,\n faSpinner: faSpinner,\n faTowerControl: faTowerControl,\n faArrowUpTriangleSquare: faArrowUpTriangleSquare,\n faSortShapesUp: faSortShapesUp,\n faWhale: faWhale,\n faRobot: faRobot,\n faPeace: faPeace,\n faPartyHorn: faPartyHorn,\n faGears: faGears,\n faCogs: faCogs,\n faSunBright: faSunBright,\n faSunAlt: faSunAlt,\n faWarehouse: faWarehouse,\n faConveyorBeltArm: faConveyorBeltArm,\n faLockKeyholeOpen: faLockKeyholeOpen,\n faLockOpenAlt: faLockOpenAlt,\n faSquareFragile: faSquareFragile,\n faBoxFragile: faBoxFragile,\n faSquareWineGlassCrack: faSquareWineGlassCrack,\n faArrowUpRightDots: faArrowUpRightDots,\n faSquareN: faSquareN,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faMeter: faMeter,\n faMandolin: faMandolin,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faUpFromBracket: faUpFromBracket,\n faKnifeKitchen: faKnifeKitchen,\n faBorderRight: faBorderRight,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faSpade: faSpade,\n faCardSpade: faCardSpade,\n faLineColumns: faLineColumns,\n faArrowRightToLine: faArrowRightToLine,\n faArrowToRight: faArrowToRight,\n faPersonFallingBurst: faPersonFallingBurst,\n faFlagPennant: faFlagPennant,\n faPennant: faPennant,\n faConveyorBeltEmpty: faConveyorBeltEmpty,\n faUserGroupSimple: faUserGroupSimple,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faCamcorder: faCamcorder,\n faVideoHandheld: faVideoHandheld,\n faPancakes: faPancakes,\n faAlbumCircleUser: faAlbumCircleUser,\n faQrcode: faQrcode,\n faDiceD10: faDiceD10,\n faFireplace: faFireplace,\n faBrowser: faBrowser,\n faPenPaintbrush: faPenPaintbrush,\n faPencilPaintbrush: faPencilPaintbrush,\n faFishCooked: faFishCooked,\n faChairOffice: faChairOffice,\n faNestingDolls: faNestingDolls,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faTrumpet: faTrumpet,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFireSmoke: faFireSmoke,\n faPhoneMissed: faPhoneMissed,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faArrowsRepeat1: faArrowsRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faGunSlash: faGunSlash,\n faAvocado: faAvocado,\n faBinary: faBinary,\n faGlassesRound: faGlassesRound,\n faGlassesAlt: faGlassesAlt,\n faPhonePlus: faPhonePlus,\n faDitto: faDitto,\n faPersonSeat: faPersonSeat,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faScythe: faScythe,\n faPenNib: faPenNib,\n faBanParking: faBanParking,\n faParkingCircleSlash: faParkingCircleSlash,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faFaceDiagonalMouth: faFaceDiagonalMouth,\n faDiagramCells: faDiagramCells,\n faCricketBatBall: faCricketBatBall,\n faCricket: faCricket,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faPenLine: faPenLine,\n faAtomSimple: faAtomSimple,\n faAtomAlt: faAtomAlt,\n faAmpersand: faAmpersand,\n faCarrot: faCarrot,\n faArrowUpFromLine: faArrowUpFromLine,\n faArrowFromBottom: faArrowFromBottom,\n faMoon: faMoon,\n faPenSlash: faPenSlash,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faSquareStar: faSquareStar,\n faCheese: faCheese,\n faSendBackward: faSendBackward,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCompassSlash: faCompassSlash,\n faClockOne: faClockOne,\n faFileMusic: faFileMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faDisplayChartUpCircleCurrency: faDisplayChartUpCircleCurrency,\n faSkeleton: faSkeleton,\n faCircleG: faCircleG,\n faCircleArrowUpLeft: faCircleArrowUpLeft,\n faCoinBlank: faCoinBlank,\n faBroom: faBroom,\n faVacuum: faVacuum,\n faShieldHeart: faShieldHeart,\n faCardHeart: faCardHeart,\n faLightbulbCflOn: faLightbulbCflOn,\n faMelon: faMelon,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faContainerStorage: faContainerStorage,\n faFacePouting: faFacePouting,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faFaceExplode: faFaceExplode,\n faExplodingHead: faExplodingHead,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faTransformerBolt: faTransformerBolt,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faCassetteVhs: faCassetteVhs,\n faVhs: faVhs,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faChimney: faChimney,\n faObjectIntersect: faObjectIntersect,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faBlockBrick: faBlockBrick,\n faWallBrick: faWallBrick,\n faFan: faFan,\n faBagsShopping: faBagsShopping,\n faParagraphLeft: faParagraphLeft,\n faParagraphRtl: faParagraphRtl,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faCaravanSimple: faCaravanSimple,\n faCaravanAlt: faCaravanAlt,\n faTurtle: faTurtle,\n faPencilMechanical: faPencilMechanical,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faBoothCurtain: faBoothCurtain,\n faCalendar: faCalendar,\n faBoxHeart: faBoxHeart,\n faTrailer: faTrailer,\n faUserDoctorMessage: faUserDoctorMessage,\n faUserMdChat: faUserMdChat,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faAmpGuitar: faAmpGuitar,\n faSdCard: faSdCard,\n faVolumeSlash: faVolumeSlash,\n faBorderBottom: faBorderBottom,\n faWifiWeak: faWifiWeak,\n faWifi1: faWifi1,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faDeleteRight: faDeleteRight,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faCircleQuarter: faCircleQuarter,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFunction: faFunction,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faPeopleSimple: faPeopleSimple,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faFaceMonocle: faFaceMonocle,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faCalendarLines: faCalendarLines,\n faCalendarNote: faCalendarNote,\n faArrowDownBigSmall: faArrowDownBigSmall,\n faSortSizeDown: faSortSizeDown,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faDoNotEnter: faDoNotEnter,\n faShower: faShower,\n faDiceD8: faDiceD8,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faGripDotsVertical: faGripDotsVertical,\n faFaceViewfinder: faFaceViewfinder,\n faSoftServe: faSoftServe,\n faCreemee: faCreemee,\n faH5: faH5,\n faHandBackPointDown: faHandBackPointDown,\n faTableList: faTableList,\n faThList: faThList,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faRectangle: faRectangle,\n faRectangleLandscape: faRectangleLandscape,\n faClipboardListCheck: faClipboardListCheck,\n faTurkey: faTurkey,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faIceSkate: faIceSkate,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faTomato: faTomato,\n faSwordLaser: faSwordLaser,\n faHouseCircleCheck: faHouseCircleCheck,\n faBuildings: faBuildings,\n faAngleLeft: faAngleLeft,\n faCartFlatbedBoxes: faCartFlatbedBoxes,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faSquareW: faSquareW,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faLamp: faLamp,\n faAirplay: faAirplay,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faShieldQuartered: faShieldQuartered,\n faSlashForward: faSlashForward,\n faLocationPen: faLocationPen,\n faMapMarkerEdit: faMapMarkerEdit,\n faCloudMoon: faCloudMoon,\n faPotFood: faPotFood,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faPrintSlash: faPrintSlash,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faHandBackPointRibbon: faHandBackPointRibbon,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faTireRugged: faTireRugged,\n faLightbulbDollar: faLightbulbDollar,\n faCowbell: faCowbell,\n faBahtSign: faBahtSign,\n faCorner: faCorner,\n faChevronsRight: faChevronsRight,\n faChevronDoubleRight: faChevronDoubleRight,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faInhaler: faInhaler,\n faHandcuffs: faHandcuffs,\n faSnake: faSnake,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faNoteMedical: faNoteMedical,\n faDatabase: faDatabase,\n faDownLeft: faDownLeft,\n faShare: faShare,\n faArrowTurnRight: faArrowTurnRight,\n faMailForward: faMailForward,\n faFaceThinking: faFaceThinking,\n faTurnDownRight: faTurnDownRight,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faScannerKeyboard: faScannerKeyboard,\n faCircleO: faCircleO,\n faGridHorizontal: faGridHorizontal,\n faMessageDollar: faMessageDollar,\n faCommentAltDollar: faCommentAltDollar,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faColumns3: faColumns3,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faHandHoldingBox: faHandHoldingBox,\n faInputText: faInputText,\n faWindowFlip: faWindowFlip,\n faWindowAlt: faWindowAlt,\n faAlignRight: faAlignRight,\n faScannerGun: faScannerGun,\n faScanner: faScanner,\n faTire: faTire,\n faEngine: faEngine,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCircleCaretRight: faCircleCaretRight,\n faCaretCircleRight: faCaretCircleRight,\n faWheat: faWheat,\n faFileSpreadsheet: faFileSpreadsheet,\n faAudioDescriptionSlash: faAudioDescriptionSlash,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faChessPawnPiece: faChessPawnPiece,\n faChessPawnAlt: faChessPawnAlt,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faSquareS: faSquareS,\n faRectangleBarcode: faRectangleBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faUnicorn: faUnicorn,\n faBowlingBall: faBowlingBall,\n faPompebled: faPompebled,\n faBrain: faBrain,\n faWatchSmart: faWatchSmart,\n faBookUser: faBookUser,\n faSensorCloud: faSensorCloud,\n faSensorSmoke: faSensorSmoke,\n faClapperboardPlay: faClapperboardPlay,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faCircle4: faCircle4,\n faGifts: faGifts,\n faAlbumCollection: faAlbumCollection,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faCloudShowers: faCloudShowers,\n faUserClock: faUserClock,\n faOnion: faOnion,\n faClockTwelveThirty: faClockTwelveThirty,\n faArrowDownToDottedLine: faArrowDownToDottedLine,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faRectangleWide: faRectangleWide,\n faCommentArrowUp: faCommentArrowUp,\n faGarlic: faGarlic,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faTreeDecorated: faTreeDecorated,\n faMask: faMask,\n faCalendarHeart: faCalendarHeart,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faFlower: faFlower,\n faRightLeftLarge: faRightLeftLarge,\n faRulerVertical: faRulerVertical,\n faCirclesOverlap: faCirclesOverlap,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faStarshipFreighter: faStarshipFreighter,\n faTrainTram: faTrainTram,\n faBridgeSuspension: faBridgeSuspension,\n faTrashCheck: faTrashCheck,\n faUserNurse: faUserNurse,\n faBoombox: faBoombox,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faShieldExclamation: faShieldExclamation,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faGripDots: faGripDots,\n faCommentExclamation: faCommentExclamation,\n faPenSwirl: faPenSwirl,\n faFalafel: faFalafel,\n faCircle2: faCircle2,\n faMagnet: faMagnet,\n faJar: faJar,\n faGramophone: faGramophone,\n faDiceD12: faDiceD12,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faDown: faDown,\n faArrowAltDown: faArrowAltDown,\n faHundredPoints: faHundredPoints,\n fa100: fa100,\n faPaperclipVertical: faPaperclipVertical,\n faWindWarning: faWindWarning,\n faWindCircleExclamation: faWindCircleExclamation,\n faLocationPinSlash: faLocationPinSlash,\n faMapMarkerSlash: faMapMarkerSlash,\n faFaceSadSweat: faFaceSadSweat,\n faBugSlash: faBugSlash,\n faCupcake: faCupcake,\n faLightSwitchOff: faLightSwitchOff,\n faToggleLargeOff: faToggleLargeOff,\n faPenFancySlash: faPenFancySlash,\n faTruckContainer: faTruckContainer,\n faBoot: faBoot,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faFileCheck: faFileCheck,\n faBone: faBone,\n faCardsBlank: faCardsBlank,\n faCircle3: faCircle3,\n faBenchTree: faBenchTree,\n faKeyboardBrightnessLow: faKeyboardBrightnessLow,\n faSkiBootSki: faSkiBootSki,\n faBrainCircuit: faBrainCircuit,\n faUserInjured: faUserInjured,\n faBlockBrickFire: faBlockBrickFire,\n faFirewall: faFirewall,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faFaceSmileRelaxed: faFaceSmileRelaxed,\n faCommentXmark: faCommentXmark,\n faCommentTimes: faCommentTimes,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faFaceNoseSteam: faFaceNoseSteam,\n faCircleWaveformLines: faCircleWaveformLines,\n faWaveformCircle: faWaveformCircle,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faFerrisWheel: faFerrisWheel,\n faComputerSpeaker: faComputerSpeaker,\n faSkullCow: faSkullCow,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faCircleT: faCircleT,\n faSack: faSack,\n faGrid2: faGrid2,\n faCameraCctv: faCameraCctv,\n faCctv: faCctv,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faHorizontalRule: faHorizontalRule,\n faBedFront: faBedFront,\n faBedAlt: faBedAlt,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faKipSign: faKipSign,\n faFaceWoozy: faFaceWoozy,\n faCloudQuestion: faCloudQuestion,\n faPineapple: faPineapple,\n faHandPointLeft: faHandPointLeft,\n faGalleryThumbnails: faGalleryThumbnails,\n faCircleJ: faCircleJ,\n faEyes: faEyes,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faPageCaretUp: faPageCaretUp,\n faFileCaretUp: faFileCaretUp,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faComet: faComet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faShieldKeyhole: faShieldKeyhole,\n faBarcode: faBarcode,\n faPlusMinus: faPlusMinus,\n faSquareSlidersVertical: faSquareSlidersVertical,\n faSlidersVSquare: faSlidersVSquare,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faMessageMiddle: faMessageMiddle,\n faCommentMiddleAlt: faCommentMiddleAlt,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faSquareZ: faSquareZ,\n faMessageText: faMessageText,\n faCommentAltText: faCommentAltText,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\nexport { icons as fas, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faWagonCovered, faLineHeight, faBagel, faTransporter7, faAt, faRectanglesMixed, faPhoneArrowUpRight, faPhoneArrowUp, faPhoneOutgoing, faTrashCan, faTrashAlt, faCircleL, faHeadSideGoggles, faHeadVr, faTextHeight, faUserXmark, faUserTimes, faFaceHandYawn, faGaugeSimpleMin, faTachometerSlowest, faStethoscope, faCoffin, faMessage, faCommentAlt, faSalad, faBowlSalad, faInfo, faRobotAstromech, faRingDiamond, faFonduePot, faTheta, faFaceHandPeeking, faSquareUser, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faTirePressureWarning, faWifiFair, faWifi2, faCalendarDays, faCalendarAlt, faMp3Player, faAnchorCircleCheck, faTally4, faRectangleHistory, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faSunHaze, faTextSize, faUfo, faFork, faUtensilFork, faArrowsUpToLine, faMobileSignal, faBarcodeScan, faSortDown, faSortDesc, faFolderArrowDown, faFolderDownload, faCircleMinus, faMinusCircle, faFaceIcicles, faShovel, faDoorOpen, faFilms, faRightFromBracket, faSignOutAlt, faFaceGlasses, faNfc, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faClosedCaptioningSlash, faCalculatorSimple, faCalculatorAlt, faBridgeCircleCheck, faSlidersUp, faSlidersV, faLocationMinus, faMapMarkerMinus, faPumpMedical, faFingerprint, faSkiBoot, faStandardDefinition, faRectangleSd, faH1, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faMessageBot, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faLightCeiling, faMessageExclamation, faCommentAltExclamation, faBowlScoop, faBowlShavedIce, faSquareX, faUtilityPoleDouble, faFlagCheckered, faChevronsUp, faChevronDoubleUp, faFootball, faFootballBall, faUserVneck, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faSquareArrowRight, faArrowSquareRight, faLocationPlus, faMapMarkerPlus, faLightbulbExclamationOn, faPeopleLine, faBeerMugEmpty, faBeer, faCrateEmpty, faDiagramPredecessor, faTransporter, faCalendarCircleUser, faArrowUpLong, faLongArrowUp, faPersonCarryBox, faPersonCarry, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faUnion, faChevronsLeft, faChevronDoubleLeft, faCircleHeart, faHeartCircle, faTruckPlane, faRecordVinyl, faBringForward, faSquareP, faFaceGrinStars, faGrinStars, faSigma, faCameraMovie, faBong, faClarinet, faTruckFlatbed, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faLeafHeart, faHouseBuilding, faCheeseSwiss, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faBowArrow, faCartXmark, faHexagonXmark, faTimesHexagon, faXmarkHexagon, faCircleH, faHospitalSymbol, faMerge, faPager, faCartMinus, faAddressBook, faContactBook, faPanFrying, faGrid, faGrid3, faFootballHelmet, faHandLove, faTrees, faStrikethrough, faPage, faK, faDiagramPrevious, faGaugeMin, faTachometerAltSlowest, faFolderGrid, faEggplant, faRam, faLandmarkFlag, faLips, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faDesktopArrowDown, faCodePullRequest, faPumpkin, faClipboardList, faPenField, faBlueberries, faTruckRampBox, faTruckLoading, faNote, faArrowDownToSquare, faUserCheck, faCloudXmark, faVialVirus, faBookBlank, faBookAlt, faGolfFlagHole, faMessageArrowDown, faCommentAltArrowDown, faFaceUnamused, faSheetPlastic, faCircle9, faBlog, faUserNinja, faPencilSlash, faBowlingPins, faPersonArrowUpFromLine, faDownRight, faScrollTorah, faTorah, faWebhook, faBlindsOpen, faFence, faUp, faArrowAltUp, faBroomBall, faQuidditch, faQuidditchBroomBall, faDrumstick, faSquareV, faFaceAwesome, faGaveDandy, faDialOff, faToggleOff, faFaceSmileHorns, faBoxArchive, faArchive, faGrapes, faPersonDrowning, faDialMax, faCircleM, faCalendarImage, faCircleCaretDown, faCaretCircleDown, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faShishKebab, faSprayCan, faAlarmSnooze, faScarecrow, faTruckMonster, faGiftCard, faW, faCodePullRequestDraft, faSquareB, faElephant, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faMessageQuestion, faCloud, faTrowelBricks, faSquare3, faFaceFlushed, faFlushed, faHospitalUser, faMicrowave, faChfSign, faTentArrowLeftRight, faCartCircleArrowUp, faTrashClock, faGavel, faLegal, faSprinklerCeiling, faBrowsers, faTrillium, faMusicSlash, faTruckRamp, faBinoculars, faMicrophoneSlash, faBoxTissue, faCircleC, faStarChristmas, faChartBullet, faMotorcycle, faTreeChristmas, faTireFlat, faSunglasses, faBadge, faMessagePen, faCommentAltEdit, faMessageEdit, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faArrowProgress, faChessRookPiece, faChessRookAlt, faSquareRoot, faAlbumCollectionCirclePlus, faPeopleArrows, faPeopleArrowsLeftRight, faFaceAngryHorns, faMarsAndVenusBurst, faTombstone, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faListMusic, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faMustache, faHyphen, faTable, faUserChef, faMessageImage, faCommentAltImage, faUsersMedical, faSensorTriangleExclamation, faSensorAlert, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faFaceMask, faPickleball, faStarSharpHalf, faUsersSlash, faClover, faMeat, faReply, faMailReply, faStarAndCrescent, faEmptySet, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faBird, faCompass, faSquareCaretDown, faCaretSquareDown, faHeartHalfStroke, faHeartHalfAlt, faFileCircleQuestion, faLaptopCode, faJoystick, faGrillFire, faRectangleVerticalHistory, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faKeyboardLeft, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faFaceBeamHandOverMouth, faDropletPercent, faHumidity, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faCorn, faRollerCoaster, faPhotoFilmMusic, faRadar, faSickle, faFilm, faCoconut, faRulerHorizontal, faShieldCross, faCassetteTape, faSquareTerminal, faPeopleRobbery, faLightbulb, faCaretLeft, faCommentMiddle, faTrashCanList, faBlock, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faFaceFrownSlight, faCircleChevronDown, faChevronCircleDown, faSidebarFlip, faUnlockKeyhole, faUnlockAlt, faTemperatureList, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faPipeSection, faSpaceStationMoonConstruction, faSpaceStationMoonAlt, faCircleDollarToSlot, faDonate, faMemory, faFaceSleeping, faRoadSpikes, faFireBurner, faSquirrel, faArrowUpToLine, faArrowToTop, faFlag, faFaceCowboyHat, faHanukiah, faChartScatter3d, faDisplayChartUp, faSquareCode, faFeather, faVolumeLow, faVolumeDown, faXmarkToSlot, faTimesToSlot, faVoteNay, faBoxTaped, faBoxAlt, faCommentSlash, faSwords, faCloudSunRain, faAlbum, faCircleN, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faKeySkeletonLeftRight, faCommentLines, faLuchadorMask, faLuchador, faMaskLuchador, faSquareCheck, faCheckSquare, faShredder, faBookOpenCover, faBookOpenAlt, faSandwich, faPesetaSign, faSquareParkingSlash, faParkingSlash, faTrainTunnel, faHeading, faHeader, faGhost, faFaceAnguished, faHockeySticks, faAbacus, faFilmSimple, faFilmAlt, faList, faListSquares, faTreePalm, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faBorderCenterV, faCircleDot, faDotCircle, faClipboardMedical, faFaceDizzy, faDizzy, faEgg, faUpToLine, faArrowAltToTop, faHouseMedicalCircleXmark, faWatchFitness, faClockNineThirty, faCampground, faFolderPlus, faJug, faFutbol, faFutbolBall, faSoccerBall, faSnowBlowing, faPaintbrush, faPaintBrush, faLock, faArrowDownFromLine, faArrowFromTop, faGasPump, faSignalBarsSlash, faSignalAltSlash, faMonkey, faRectanglePro, faPro, faHouseNight, faHotTubPerson, faHotTub, faBlanket, faMapLocation, faMapMarked, faHouseFloodWater, faCommentsQuestionCheck, faTree, faArrowsCross, faBackpack, faSquareSmall, faFolderArrowUp, faFolderUpload, faBridgeLock, faCrosshairsSimple, faSackDollar, faPenToSquare, faEdit, faSquareSliders, faSlidersHSquare, faCarSide, faMessageMiddleTop, faCommentMiddleTopAlt, faLightbulbOn, faKnife, faUtensilKnife, faShareNodes, faShareAlt, faDisplayChartUpCircleDollar, faWaveSine, faHeartCircleMinus, faCircleW, faCircleCalendar, faCalendarCircle, faHourglassHalf, faHourglass2, faMicroscope, faSunset, faSink, faCalendarExclamation, faTruckContainerEmpty, faHandHeart, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faReplyClock, faReplyTime, faPersonRays, faRight, faArrowAltRight, faCircleF, faUsers, faFacePleading, faEyeSlash, faFlaskVial, faPoliceBox, faCucumber, faHeadSideBrain, faHand, faHandPaper, faPersonBikingMountain, faBikingMountain, faUtensilsSlash, faPrintMagnifyingGlass, faPrintSearch, faFolderBookmark, faOm, faPi, faFlaskRoundPotion, faFlaskPotion, faFaceShush, faWorm, faHouseCircleXmark, faPlug, faCalendarCircleExclamation, faSquareI, faChevronUp, faFaceSaluting, faGaugeSimpleLow, faTachometerSlow, faFacePersevering, faCircleCamera, faCameraCircle, faHandSpock, faSpiderWeb, faCircleMicrophone, faMicrophoneCircle, faBookArrowUp, faPopsicle, faCommand, faBlinds, faStopwatch, faSaxophone, faSquare2, faFieldHockeyStickBall, faFieldHockey, faArrowUpSquareTriangle, faSortShapesUpAlt, faFaceScream, faSquareM, faCameraWeb, faWebcam, faCommentArrowDown, faLightbulbCfl, faWindowFrameOpen, faFaceKiss, faKiss, faBridgeCircleXmark, faPeriod, faFaceGrinTongue, faGrinTongue, faUpToDottedLine, faThoughtBubble, faSkeletonRibs, faRaygun, faFlute, faAcorn, faVideoArrowUpRight, faGrateDroplet, faSealExclamation, faChessBishop, faMessageSms, faCoffeeBeans, faHatWitch, faFaceGrinWink, faGrinWink, faClockThreeThirty, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faAlarmClock, faEclipse, faFaceRelieved, faRoadCircleCheck, faDiceFive, faOctagonMinus, faMinusOctagon, faSquareRss, faRssSquare, faFaceZany, faTricycle, faLandMineOn, faSquareArrowUpLeft, faICursor, faChartMixedUpCircleDollar, faSaltShaker, faStamp, faFilePlus, faDrawSquare, faToiletPaperUnderSlash, faToiletPaperReverseSlash, faStairs, faDroneFront, faDroneAlt, faGlassEmpty, faDialHigh, faUserHelmetSafety, faUserConstruction, faUserHardHat, faI, faHryvniaSign, faHryvnia, faArrowDownLeftAndArrowUpRightToCenter, faPills, faFaceGrinWide, faGrinAlt, faTooth, faBasketballHoop, faObjectsAlignBottom, faV, faSparkles, faSquid, faLeafyGreen, faCircleArrowUpRight, faCalendars, faBangladeshiTakaSign, faBicycle, faHammerWar, faCircleD, faSpiderBlackWidow, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faPear, faHeadSideCoughSlash, faTriangle, faApartment, faTruckMedical, faAmbulance, faPepper, faPiano, faGunSquirt, faWheatAwnCircleExclamation, faSnowman, faUserAlien, faShieldCheck, faMortarPestle, faRoadBarrier, faChartCandlestick, faBriefcaseBlank, faSchool, faIgloo, faBracketRound, faParenthesis, faJoint, faHorseSaddle, faMugMarshmallows, faFilters, faBellOn, faAngleRight, faDialMed, faHorse, faQ, faMonitorWaveform, faMonitorHeartRate, faLinkSimple, faWhistle, faG, faWineGlassCrack, faFragile, faSlotMachine, faNotesMedical, faCarWash, faEscalator, faCommentImage, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faDonut, faDoughnut, faCapsules, faPooStorm, faPooBolt, faTally1, faFaceFrownOpen, faFrownOpen, faSquareDashed, faSquareJ, faHandPointUp, faMoneyBill, faArrowUpBigSmall, faSortSizeUp, faBarcodeRead, faBaguette, faBowlSoftServe, faFaceHoldingBackTears, faSquareUp, faArrowAltSquareUp, faTrainSubwayTunnel, faSubwayTunnel, faSquareExclamation, faExclamationSquare, faSemicolon, faBookmark, faFanTable, faAlignJustify, faBatteryLow, faBattery1, faCreditCardFront, faBrainArrowCurvedRight, faMindShare, faUmbrellaBeach, faHelmetUn, faLocationSmile, faMapMarkerSmile, faArrowLeftToLine, faArrowToLeft, faBullseye, faSushi, faNigiri, faMessageCaptions, faCommentAltCaptions, faTrashList, faBacon, faOption, faHandPointDown, faArrowUpFromBracket, faTrashPlus, faObjectsAlignTop, faFolder, faFolderBlank, faFaceAnxiousSweat, faCreditCardBlank, faFileWaveform, faFileMedicalAlt, faMicrochipAi, faMug, faPlaneUpSlash, faRadiation, faPenCircle, faBagSeedling, faChartSimple, faCrutches, faCircleParking, faParkingCircle, faMarsStroke, faLeafOak, faSquareBolt, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faLambda, faE, faPizza, faBowlChopsticksNoodles, faH3, faPenClip, faPenAlt, faBridgeCircleExclamation, faBadgePercent, faUser, faSensor, faComma, faSchoolCircleCheck, faToiletPaperUnder, faToiletPaperReverse, faLightEmergency, faArrowDownToArc, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faLightSwitch, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faWavePulse, faHeartRate, faKey, faHatSanta, faTamale, faBoxCheck, faBullhorn, faSteak, faLocationCrosshairsSlash, faLocationSlash, faPersonDolly, faGlobe, faSynagogue, faFileChartColumn, faFileChartLine, faPersonHalfDress, faFolderImage, faCalendarPen, faCalendarEdit, faRoadBridge, faFaceSmileTear, faMessagePlus, faCommentAltPlus, faLocationArrow, faC, faTabletButton, faRectangleHistoryCircleUser, faBuildingLock, faChartLineUp, faMailbox, faTruckBolt, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faCircleThreeQuartersStroke, faPersonCircleMinus, faScalpel, faBan, faCancel, faBellExclamation, faCircleBookmark, faBookmarkCircle, faEggFried, faFaceWeary, faUniformMartialArts, faCameraRotate, faSunDust, faCommentText, faSprayCanSparkles, faAirFreshener, faSignalBars, faSignalAlt, faSignalAlt4, faSignalBarsStrong, faDiamondExclamation, faStar, faDialMin, faRepeat, faCross, faPageCaretDown, faFileCaretDown, faBox, faVenusMars, faClockSevenThirty, faArrowPointer, faMousePointer, faClockFourThirty, faSignalBarsGood, faSignalAlt3, faCactus, faLightbulbGear, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faPlaneTail, faGaugeSimpleMax, faTachometerFastest, faCircleU, faShieldSlash, faSquarePhoneHangup, faPhoneSquareDown, faArrowUpLeft, faTransporter1, faPeanuts, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faBinBottlesRecycle, faArrowUpFromSquare, faFileDashedLine, faPageBreak, faBracketCurlyRight, faSpider, faClockThree, faHandsBound, faScalpelLineDashed, faScalpelPath, faFileInvoiceDollar, faPipeSmoking, faFaceAstonished, faWindow, faPlaneCircleExclamation, faEar, faFileLock, faDiagramVenn, faXRay, faGoalNet, faCoffinCross, faSpellCheck, faLocationXmark, faMapMarkerTimes, faMapMarkerXmark, faCircleQuarterStroke, faLasso, faSlash, faPersonToPortal, faPortalEnter, faCalendarStar, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faPegasus, faFilesMedical, faNfcLock, faPersonSkiLift, faSkiLift, faSquare6, faShopSlash, faStoreAltSlash, faWindTurbine, faSlidersSimple, faGridRound, faBadgeSheriff, faServer, faVirusCovidSlash, faIntersection, faShopLock, faFamily, faHourglassStart, faHourglass1, faUserHairBuns, faBlenderPhone, faHourglassClock, faPersonSeatReclined, faPaperPlaneTop, faPaperPlaneAlt, faSend, faMessageArrowUp, faCommentAltArrowUp, faLightbulbExclamation, faLayerMinus, faLayerGroupMinus, faChartPieSimpleCircleCurrency, faCircleE, faBuildingWheat, faGaugeMax, faTachometerAltFastest, faPersonBreastfeeding, faApostrophe, faFireHydrant, faRightToBracket, faSignInAlt, faVideoPlus, faSquareRight, faArrowAltSquareRight, faCommentSmile, faVenus, faPassport, faInboxIn, faInboxArrowDown, faHeartPulse, faHeartbeat, faCircle8, faCloudsMoon, faClockTenThirty, faPeopleCarryBox, faPeopleCarry, faFolderUser, faTrashCanXmark, faTemperatureHigh, faMicrochip, faLeftLongToLine, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faCalendarRange, faFlowerDaffodil, faHandBackPointUp, faWeightScale, faWeight, faStarExclamation, faBooks, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faLayerPlus, faLayerGroupPlus, faPlayPause, faBlockQuestion, faSnooze, faZzz, faScannerImage, faTvRetro, faSquareT, faFarm, faBarnSilo, faChessKnight, faBarsSort, faPalletBoxes, faPaletteBoxes, faPalletAlt, faFaceLaughSquint, faLaughSquint, faCodeSimple, faBoltSlash, faPanelFire, faBinaryCircleCheck, faCommentMinus, faBurrito, faViolin, faObjectsColumn, faSquareChevronDown, faChevronSquareDown, faCommentPlus, faTriangleInstrument, faTriangleMusic, faWheelchair, faUserPilotTie, faPianoKeyboard, faBedEmpty, faCircleArrowUp, faArrowCircleUp, faToggleOn, faRectangleVertical, faRectanglePortrait, faPersonWalking, faWalking, faL, faSignalStream, faDownToBracket, faCircleZ, faStars, faFire, faBedPulse, faProcedures, faHouseDay, faShuttleSpace, faSpaceShuttle, faShirtLongSleeve, faChartPieSimple, faChartPieAlt, faFaceLaugh, faLaugh, faFolderOpen, faAlbumCollectionCircleUser, faCandy, faBowlHot, faSoup, faFlatbread, faHeartCirclePlus, faCodeFork, faCity, faSignalBarsWeak, faSignalAlt1, faMicrophoneLines, faMicrophoneAlt, faClockTwelve, faPepperHot, faCitrusSlice, faSheep, faUnlock, faColonSign, faHeadset, faBadgerHoney, faH4, faStoreSlash, faRoadCircleXmark, faSignalSlash, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faTaco, faHexagonPlus, faPlusHexagon, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faMessages, faCommentsAlt, faBath, faBathtub, faUmbrellaSimple, faUmbrellaAlt, faRectangleHistoryCirclePlus, faUnderline, faPrescriptionBottlePill, faUserPen, faUserEdit, faBinarySlash, faSquareO, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faTransporter3, faEngineWarning, faEngineExclamation, faCircleDownRight, faSquareK, faManatSign, faMoneyCheckPen, faMoneyCheckEdit, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faTilde, faJedi, faSquarePollVertical, faPoll, faArrowDownSquareTriangle, faSortShapesDownAlt, faMugHot, faDogLeashed, faCarBattery, faBatteryCar, faFaceDowncastSweat, faMailboxFlagUp, faMemoCircleInfo, faGift, faDiceTwo, faVolume, faVolumeMedium, faTransporter5, faGaugeCircleBolt, faCoinFront, faFileSlash, faMessageArrowUpRight, faTreasureChest, faChessQueen, faPaintbrushFine, faPaintBrushAlt, faPaintBrushFine, faPaintbrushAlt, faGlasses, faHoodCloak, faSquareQuote, faUpLeft, faBringFront, faChessBoard, faBurgerCheese, faCheeseburger, faBuildingCircleCheck, faRepeat1, faArrowDownToLine, faArrowToBottom, faGrid5, faRightLongToLine, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faGridRound5, faTally, faTally5, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faUpFromDottedLine, faEyeLowVision, faLowVision, faTrafficLightGo, faFaceExhaling, faSensorFire, faUserUnlock, faHexagonDivide, fa00, faCrow, faCassetteBetamax, faBetamax, faSailboat, faWindowRestore, faNfcMagnifyingGlass, faFileBinary, faCircleV, faSquarePlus, faPlusSquare, faBowlScoops, faMistletoe, faCustard, faLacrosseStick, faHockeyMask, faSunrise, faPanelEws, faToriiGate, faCloudExclamation, faMessageLines, faCommentAltLines, faFrog, faBucket, faFloppyDiskPen, faImage, faWindowFrame, faMicrophone, faCow, faFileZip, faSquareRing, faDownFromLine, faArrowAltFromTop, faCaretUp, faShieldXmark, faShieldTimes, faScrewdriver, faCircleSortDown, faSortCircleDown, faFolderClosed, faHouseTsunami, faSquareNfi, faForklift, faArrowUpFromGroundWater, faBracketSquareRight, faMartiniGlass, faGlassMartiniAlt, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faSquareA, faTick, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faRefrigerator, faMonument, faOctagonXmark, faTimesOctagon, faXmarkOctagon, faAlignSlash, faSnowplow, faAnglesRight, faAngleDoubleRight, faTruckRampCouch, faTruckCouch, faCannabis, faCirclePlay, faPlayCircle, faArrowUpRightAndArrowDownLeftFromCenter, faTablets, fa360Degrees, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faSquareDashedCirclePlus, faMoneySimpleFromBracket, faBat, faCircleStop, faStopCircle, faHeadSideHeadphones, faPhoneRotary, faCompassDrafting, faDraftingCompass, faPlateWheat, faCalendarCircleMinus, faChopsticks, faCarWrench, faCarMechanic, faIcicles, faPersonShelter, faNeuter, faIdBadge, faKazoo, faMarker, faBinBottles, faFaceLaughBeam, faLaughBeam, faSquareArrowDownLeft, faBatteryBolt, faTreeLarge, faHelicopterSymbol, faAperture, faUniversalAccess, faGearComplex, faFileMagnifyingGlass, faFileSearch, faUpRight, faCircleChevronUp, faChevronCircleUp, faUserPolice, faLariSign, faVolcano, faTeddyBear, faStocking, faPersonWalkingDashedLineArrowRight, faImageSlash, faMaskSnorkel, faSmoke, faSterlingSign, faGbp, faPoundSign, faBatteryExclamation, faViruses, faSquarePersonConfined, faUserTie, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faCrystalBall, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faStarShooting, faBinaryLock, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faCommentPen, faCommentEdit, faFileImport, faArrowRightToFile, faBanjo, faSquareArrowUpRight, faExternalLinkSquare, faLightEmergencyOn, faKerning, faBoxOpen, faSquareF, faScroll, faSpa, faArrowLeftFromLine, faArrowFromRight, faStrawberry, faLocationPinLock, faPause, faClockEightThirty, faPlaneEngines, faPlaneAlt, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faGaugeLow, faTachometerAltSlow, faRegistered, faTrashCanPlus, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faGlobeSnow, faSubscript, faDiamondTurnRight, faDirections, faIntegral, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faBlindsRaised, faSmog, faUfoBeam, faCircleCaretUp, faCaretCircleUp, faUserVneckHairLong, faSquareALock, faCrutch, faGasPumpSlash, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faTransporter4, faChartMixedUpCircleCurrency, faObjectsAlignRight, faArrowsTurnRight, faVest, faPig, faInboxFull, faCircleEnvelope, faEnvelopeCircle, faTrianglePersonDigging, faConstruction, faFerry, faBullseyeArrow, faArrowsDownToPeople, faSeedling, faSprout, faClockSeven, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faFlashlight, faGroupArrowsRotate, faBowlFood, faSquare9, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faSquareDollar, faDollarSquare, faUsdSquare, faPhoneArrowRight, faHandHoldingSeedling, faMessageCheck, faCommentAltCheck, faCloudBolt, faThunderstorm, faChartLineUpDown, faTextSlash, faRemoveFormat, faWatch, faCircleDownLeft, faText, faProjector, faFaceSmileWink, faSmileWink, faTombstoneBlank, faTombstoneAlt, faChessKingPiece, faChessKingAlt, faCircle6, faLeft, faArrowAltLeft, faFileWord, faFilePowerpoint, faSquareDown, faArrowAltSquareDown, faObjectsAlignCenterVertical, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faWreath, faChildren, faMeterDroplet, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faSignalStrong, faSignal4, faLollipop, faLollypop, faListTree, faEnvelopeOpen, faDrawCircle, faCatSpace, faHandshakeSimpleSlash, faHandshakeAltSlash, faRabbitRunning, faRabbitFast, faMemoPad, faMattressPillow, faAlarmPlus, faAlicorn, faCommentQuestion, faGingerbreadMan, faGuaraniSign, faBurgerFries, faMugTea, faBorderTop, faArrowsRotate, faRefresh, faSync, faCircleBookOpen, faBookCircle, faArrowsToDottedLine, faFireExtinguisher, faGarageOpen, faShelvesEmpty, faCruzeiroSign, faWatchApple, faWatchCalculator, faListDropdown, faCabinetFiling, faBurgerSoda, faSquareArrowUp, faArrowSquareUp, faGreaterThanEqual, faPalletBox, faFaceConfounded, faShieldHalved, faShieldAlt, faTruckPlow, faBookAtlas, faAtlas, faVirus, faGridRound2, faCommentMiddleTop, faEnvelopeCircleCheck, faLayerGroup, faRestroomSimple, faArrowsToDot, faBorderOuter, faHashtagLock, faClockTwoThirty, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faHeartHalf, faCommentCheck, faSquare, faMemo, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faGlassCitrus, faCalendarLinesPen, faChurch, faPersonSnowmobiling, faSnowmobile, faFaceHushed, faCommentsDollar, faPickaxe, faLinkSimpleSlash, faDemocrat, faFaceConfused, faPinball, faZ, faPersonSkiing, faSkiing, faDeer, faInputPipe, faRoadLock, faA, faBookmarkSlash, faTemperatureArrowDown, faTemperatureDown, faMace, faFeatherPointed, faFeatherAlt, faSausage, faTrashCanClock, faP, faBroomWide, faSnowflake, faStomach, faNewspaper, faRectangleAd, faAd, faGuitarElectric, faArrowTurnDownRight, faMoonCloud, faBreadSliceButter, faCircleArrowRight, faArrowCircleRight, faUserGroupCrown, faUsersCrown, faCircleI, faToiletPaperCheck, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faChartWaterfall, faSparkle, faFaceParty, faKidneys, faWifiExclamation, faChartNetwork, faPersonDressBurst, faDiceD4, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faWheatAwnSlash, faFaceKissWinkHeart, faKissWinkHeart, faDagger, faPodium, faMemoCircleCheck, faRouteHighway, faDownToLine, faArrowAltToBottom, faFilter, faSquareG, faCirclePhone, faPhoneCircle, faClipboardPrescription, faUserNurseHair, faQuestion, faFileSignature, faToggleLargeOn, faUpDownLeftRight, faArrowsAlt, faDryerHeat, faDryerAlt, faHouseChimneyUser, faHandHoldingHeart, faArrowUpSmallBig, faSortSizeUpAlt, faTrainTrack, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faFileExclamation, faCode, faWhiskeyGlass, faGlassWhiskey, faMoonStars, faBuildingCircleExclamation, faClothesHanger, faMobileNotch, faMobileIphone, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faImagesUser, faWonSign, faKrw, faWon, faImagePolaroidUser, faVirusCovid, faSquareEllipsis, faPie, faChessKnightPiece, faChessKnightAlt, faAustralSign, faCloudPlus, faF, faLeaf, faBedBunk, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faClockEight, faSackXmark, faFileExcel, faFileContract, faFishFins, faCircleQ, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faFaceDisguise, faCircleArrowDownRight, faAlien8bit, faAlienMonster, faHandPointRibbon, faPoop, faObjectExclude, faTelescope, faLocationPin, faMapMarker, faSquareList, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faCommentCode, faSimCards, faStarship, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faSeal, faUserCowboy, faHexagonVerticalNft, faFaceRollingEyes, faMehRollingEyes, faBreadLoaf, faRingsWedding, faObjectGroup, faFrenchFries, faChartLine, faLineChart, faCalendarArrowDown, faCalendarDownload, faSendBack, faMaskVentilator, faSignatureLock, faArrowRight, faSignsPost, faMapSigns, faOctagonPlus, faPlusOctagon, faCashRegister, faPersonCircleQuestion, faMelonSlice, faSpaceStationMoon, faMessageSmile, faCommentAltSmile, faCupStraw, faLeftFromLine, faArrowAltFromRight, faH, faBasketShoppingSimple, faShoppingBasketAlt, faHandsHoldingHeart, faHandsHeart, faClockNine, faTarp, faFaceSleepy, faHandHorns, faScrewdriverWrench, faTools, faArrowsToEye, faCircleThreeQuarters, faTrophyStar, faTrophyAlt, faPlugCircleBolt, faFaceThermometer, faGridRound4, faShirtRunning, faBookCircleArrowUp, faFaceNauseated, faHeart, faFileChartPie, faMarsAndVenus, faHouseUser, faHomeUser, faCircleArrowDownLeft, faDumpsterFire, faHexagonMinus, faMinusHexagon, faLeftToLine, faArrowAltToLeft, faHouseCrack, faPawSimple, faPawAlt, faArrowLeftLongToLine, faBracketsRound, faParentheses, faMartiniGlassCitrus, faCocktail, faUserShakespeare, faArrowRightToArc, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faGaugeCirclePlus, faFolders, faAngel, faValueAbsolute, faRabbit, faToiletPaperSlash, faCircleEuro, faAppleWhole, faAppleAlt, faKitchenSet, faDiamondHalf, faLockKeyhole, faLockAlt, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faSquareInfo, faInfoSquare, faWifiSlash, faToiletPaperXmark, faHandsHoldingDollar, faHandsUsd, faCube, faArrowDownTriangleSquare, faSortShapesDown, faBitcoinSign, faShutters, faShieldDog, faSolarPanel, faLockOpen, faTableTree, faHouseChimneyHeart, faTally3, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faCartCircleExclamation, faSword, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faInterrobang, faPlaneSlash, faCircleDashed, faTrademark, faBasketball, faBasketballBall, faForkKnife, faUtensilsAlt, faSatelliteDish, faBadgeCheck, faCircleUp, faArrowAltCircleUp, faSlider, faMobileScreenButton, faMobileAlt, faClockOneThirty, faInboxOut, faInboxArrowUp, faCloudSlash, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faOctagonCheck, faFlatbreadStuffed, faClipboardCheck, faCartCirclePlus, faTruckClock, faShippingTimed, faPool8Ball, faFileAudio, faTurnDownLeft, faLockHashtag, faChartRadar, faStaff, faBurger, faHamburger, faUtilityPole, faTransporter6, faWrench, faBugs, faVectorPolygon, faDiagramNested, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faImageUser, faBuoy, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faBorderCenterH, faCanFood, faTypewriter, faArrowRightFromArc, faCircleK, faFaceHandOverMouth, faPopcorn, faHouseWater, faHouseFlood, faObjectSubtract, faCodeBranch, faWarehouseFull, faWarehouseAlt, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faArrowDownFromDottedLine, faFileDoc, faSquareQuarters, faTruckFront, faCat, faTrashXmark, faCircleCaretLeft, faCaretCircleLeft, faFiles, faAnchorCircleExclamation, faFaceClouds, faUserCrown, faTruckField, faRoute, faCartCircleCheck, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faUserTieHairLong, faFileCircleMinus, faHeadSideMedical, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faUserRobot, faSquareParking, faParking, faCardDiamond, faFaceZipper, faFaceRaisedEyebrow, faHouseSignal, faSquareChevronUp, faChevronSquareUp, faNfcSymbol, faBarsProgress, faTasksAlt, faFaucetDrip, faArrowsToLine, faDolphin, faArrowUpRight, faCircleR, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faCircleSortUp, faSortCircleUp, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faChestnut, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faHeat, faTicketAirline, faBootHeeled, faArrowsMinimize, faCompressArrows, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faHexagon, faManhole, faUserSlash, faPen, faTowerObservation, faFloppyDisks, faToiletPaperBlankUnder, faToiletPaperReverseAlt, faFileCode, faSignal, faSignal5, faSignalPerfect, faPump, faBus, faHeartCircleXmark, faArrowUpLeftFromCircle, faHouseChimney, faHomeLg, faWindowMaximize, faDryer, faFaceFrown, faFrown, faChessBishopPiece, faChessBishopAlt, faShirtTankTop, faDiploma, faScrollRibbon, faScreencast, faWalker, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faFaceKissClosedEyes, faScaleUnbalanced, faBalanceScaleLeft, faFileUser, faUserPoliceTie, faFaceTongueMoney, faTennisBall, faSquareL, faSortUp, faSortAsc, faCalendarArrowUp, faCalendarUpload, faCommentDots, faCommenting, faPlantWilt, faScarf, faAlbumCirclePlus, faUserNurseHairLong, faDiamond, faSquareLeft, faArrowAltSquareLeft, faFaceGrinSquint, faGrinSquint, faCircleEllipsisVertical, faHandHoldingDollar, faHandHoldingUsd, faGridDividers, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faFacePensive, faUserMusic, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faMessagesDollar, faCommentsAltDollar, faSensorOn, faBalloon, faBiohazard, faChessQueenPiece, faChessQueenAlt, faLocationCrosshairs, faLocation, faMarsDouble, faHousePersonLeave, faHouseLeave, faHousePersonDepart, faRulerTriangle, faCardClub, faChildDress, faUsersBetweenLines, faLungsVirus, faSpinnerThird, faFaceGrinTears, faGrinTears, faPhone, faComputerMouseScrollwheel, faMouseAlt, faCalendarXmark, faCalendarTimes, faChildReaching, faTableLayout, faNarwhal, faRampLoading, faCalendarCirclePlus, faToothbrush, faBorderInner, faPawClaws, faKiwiFruit, faTrafficLightSlow, faRectangleCode, faHeadSideVirus, faKeyboardBrightness, faBooksMedical, faLightbulbSlash, faHouseBlank, faHomeBlank, faSquare5, faSquareHeart, faHeartSquare, faPuzzle, faUserGear, faUserCog, faPipeCircleCheck, faArrowUp19, faSortNumericUp, faOctagonExclamation, faDialLow, faDoorClosed, faLaptopMobile, faPhoneLaptop, faConveyorBeltBoxes, faConveyorBeltAlt, faShieldVirus, faStarfighterTwinIonEngineAdvanced, faStarfighterAltAdvanced, faDiceSix, faStarfighterTwinIonEngine, faStarfighterAlt, faRocketLaunch, faMosquitoNet, faVentDamper, faBridgeWater, faBanBug, faDebug, faPersonBooth, faTextWidth, faGarageCar, faSquareKanban, faHatWizard, faPenFancy, faCoffeePot, faMouseField, faPersonDigging, faDigging, faShowerDown, faShowerAlt, faBoxCircleCheck, faBrightness, faCarSideBolt, faOrnament, faPhoneArrowDownLeft, faPhoneArrowDown, faPhoneIncoming, faCloudWord, faHandFingersCrossed, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faArrowDownSmallBig, faSortSizeDownAlt, faBookMedical, faFaceMelting, faPoo, faPenClipSlash, faPenAltSlash, faQuoteRight, faQuoteRightAlt, faScrollOld, faGuitars, faPhoneXmark, faHose, faClockSix, faShirt, faTShirt, faTshirt, faBillboard, faSquareR, faCubes, faEnvelopeOpenDollar, faDivide, faSunCloud, faLampFloor, faSquare7, faTengeSign, faTenge, faHeadphones, faHandsHolding, faCampfire, faCircleAmpersand, faSnowflakes, faHandsClapping, faRepublican, faLeafMaple, faArrowLeft, faPersonCircleXmark, faRuler, faCupStrawSwoosh, faTemperatureSun, faTemperatureHot, faAlignLeft, faDiceD6, faRestroom, faHighDefinition, faRectangleHd, faJ, faGalaxy, faUsersViewfinder, faFileVideo, faCherries, faUpRightFromSquare, faExternalLinkAlt, faCircleSort, faSortCircle, faTableCells, faTh, faFilePdf, faSiren, faArrowUpToDottedLine, faImageLandscape, faLandscape, faTankWater, faCurlingStone, faCurling, faGamepadModern, faGamepadAlt, faMessagesQuestion, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faBriefcaseArrowRight, faExpandWide, faClockElevenThirty, faRv, faUserSecret, faOtter, faDreidel, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faFlowerTulip, faPeoplePantsSimple, faCloudDrizzle, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faSolarSystem, faSealQuestion, faPhoneVolume, faVolumeControlPhone, faDiscDrive, faHatCowboySide, faTableRows, faRows, faLocationExclamation, faMapMarkerExclamation, faFaceFearful, faClipboardUser, faBusSchool, faFilmSlash, faSquareArrowDownRight, faBookSparkles, faBookSpells, faWashingMachine, faWasher, faChild, faLiraSign, faUserVisor, faFilePlusMinus, faChessClockFlip, faChessClockAlt, faSatellite, faPlaneLock, faSteeringWheel, faTag, faStretcher, faBookSection, faBookLaw, faInboxes, faCoffeeBean, faCircleYen, faBracketsCurly, faEllipsisStrokeVertical, faEllipsisVAlt, faComment, faSquare1, faCakeCandles, faBirthdayCake, faCake, faHeadSide, faEnvelope, faDollyEmpty, faFaceTissue, faAnglesUp, faAngleDoubleUp, faBinRecycle, faPaperclip, faChartLineDown, faArrowRightToCity, faLockA, faRibbon, faLungs, faPersonPinball, faArrowUp91, faSortNumericUpAlt, faAppleCore, faCircleY, faH6, faLitecoinSign, faCircleSmall, faBorderNone, faArrowTurnDownLeft, faCircleNodes, faParachuteBox, faMessageMedical, faCommentAltMedical, faRugbyBall, faCommentMusic, faIndent, faTreeDeciduous, faTreeAlt, faPuzzlePieceSimple, faPuzzlePieceAlt, faTruckFieldUn, faNfcTrash, faHourglass, faHourglassEmpty, faMountain, faFileXmark, faFileTimes, faHouseHeart, faHomeHeart, faHouseChimneyBlank, faMeterBolt, faUserDoctor, faUserMd, faSlashBack, faCircleInfo, faInfoCircle, faFishingRod, faHammerCrash, faMessageHeart, faCloudMeatball, faCameraPolaroid, faCamera, faCameraAlt, faSquareVirus, faCartArrowUp, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faBuoyMooring, faSquare4, faHandHoldingDroplet, faHandHoldingWater, faTricycleAdult, faWaveform, faWater, faStarSharpHalfStroke, faStarSharpHalfAlt, faNfcSignal, faPlaneProp, faCalendarCheck, faClockDesk, faCalendarClock, faCalendarTime, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faPlateUtensils, faFamilyPants, faHoseReel, faHouseWindow, faLandmark, faTruck, faCrosshairs, faCloudRainbow, faPersonCane, faAlien, faTent, faLaptopBinary, faVestPatches, faPeopleDressSimple, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faBowlingBallPin, faBellSchoolSlash, faPlusLarge, faMoneyBillWheat, faCameraViewfinder, faScreenshot, faMessageMusic, faCommentAltMusic, faCarBuilding, faBorderBottomRight, faBorderStyleAlt, faOctagon, faCommentArrowUpRight, faOctagonDivide, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faTvMusic, faHardDrive, faHdd, faReel, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faAlarmExclamation, faHouseMedicalCircleCheck, faTrafficCone, faGrate, faArrowDownRight, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPersonFromPortal, faPortalExit, faPlaneArrival, faCowbellCirclePlus, faCowbellMore, faCircleLeft, faArrowAltCircleLeft, faDistributeSpacingVertical, faSignalBarsFair, faSignalAlt2, faSportsball, faGameConsoleHandheldCrank, faTrainSubway, faSubway, faChartGantt, faFaceSmileUpsideDown, faBallPile, faBadgeDollar, faMoneyBillsSimple, faMoneyBillsAlt, faListTimeline, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faKeyboardDown, faCircleUpRight, faCloudBoltMoon, faThunderstormMoon, faDna, faVirusSlash, faBracketRoundRight, faCircleSterling, faCircle5, faMinus, faSubtract, faFireFlame, faFlame, faRightToLine, faArrowAltToRight, faGif, faChess, faTrashSlash, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faFontCase, faStreetView, faArrowDownLeft, faFrancSign, faFlaskRoundPoison, faFlaskPoison, faVolumeOff, faBookCircleArrowRight, faChartUser, faUserChart, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faPresentationScreen, faPresentation, faCircleBolt, faFaceSmileHalo, faCartCircleArrowDown, faHousePersonReturn, faHousePersonArrive, faHouseReturn, faMessageXmark, faCommentAltTimes, faMessageTimes, faFileCertificate, faFileAward, faUserDoctorHairLong, faCameraSecurity, faCameraHome, faGear, faCog, faDropletSlash, faTintSlash, faBookHeart, faMosque, faDuck, faMosquito, faStarOfDavid, faFlagSwallowtail, faFlagAlt, faPersonMilitaryRifle, faCarGarage, faCartShopping, faShoppingCart, faBookFont, faShieldPlus, faVials, faEyeDropperFull, faDistributeSpacingHorizontal, faTabletRugged, faTemperatureSnow, faTemperatureFrigid, faMoped, faFaceSmilePlus, faSmilePlus, faRadioTuner, faRadioAlt, faFaceSwear, faWaterArrowDown, faWaterLower, faScannerTouchscreen, faCircle7, faPlugCirclePlus, faPersonSkiJumping, faSkiJump, faPlaceOfWorship, faWaterArrowUp, faWaterRise, faWaveformLines, faWaveformPath, faSplit, faFilmCanister, faFilmCannister, faFolderXmark, faFolderTimes, faToiletPaperBlank, faToiletPaperAlt, faTabletScreen, faTabletAndroidAlt, faHexagonVerticalNftSlanted, faFolderMusic, faDisplayMedical, faDesktopMedical, faShareAll, faPeapod, faChessClock, faAxe, faSquareD, faGripVertical, faMobileSignalOut, faArrowTurnUp, faLevelUp, faU, faArrowUpFromDottedLine, faSquareRootVariable, faSquareRootAlt, faLightSwitchOn, faArrowDownArrowUp, faSortAlt, faRaindrops, faDash, faMinusLarge, faClock, faClockFour, faInputNumeric, faTruckTow, faBackwardStep, faStepBackward, faPallet, faCarBolt, faArrowsMaximize, faExpandArrows, faFaucet, faCloudSleet, faLampStreet, faListRadio, faPenNibSlash, faBaseballBatBall, faSquareUpLeft, faOverline, faS, faTimeline, faKeyboard, faArrowsFromDottedLine, faUsbDrive, faBallot, faCaretDown, faLocationDotSlash, faMapMarkerAltSlash, faCards, faHouseChimneyMedical, faClinicMedical, faBoxingGlove, faGloveBoxing, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faBellSchool, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faFolderHeart, faCircleLocationArrow, faLocationCircle, faFaceHeadBandage, faSushiRoll, faMakiRoll, faMakizushi, faCarBump, faPiggyBank, faRacquet, faCarMirrors, faIndustryWindows, faIndustryAlt, faBoltAuto, faBatteryHalf, faBattery3, faFluxCapacitor, faMountainCity, faCoins, faHoneyPot, faOlive, faKhanda, faFilterList, faOutlet, faSliders, faSlidersH, faCauldron, faPeople, faFolderTree, faNetworkWired, faCroissant, faMapPin, faHamsa, faCentSign, faSwordsLaser, faFlask, faPersonPregnant, faSquareU, faWandSparkles, faRouter, faEllipsisVertical, faEllipsisV, faSwordLaserAlt, faTicket, faPowerOff, faCoin, faLaptopSlash, faRightLong, faLongArrowAltRight, faCircleB, faPersonDressSimple, faPipeCollar, faLightsHoliday, faCitrus, faFlagUsa, faLaptopFile, faTty, faTeletype, faChartTreeMap, faDiagramNext, faPersonRifle, faClockFiveThirty, faPipeValve, faArrowUpFromArc, faFaceSpiralEyes, faCompressWide, faCirclePhoneHangup, faPhoneCircleDown, faGearComplexCode, faHouseMedicalCircleExclamation, faBadminton, faClosedCaptioning, faPersonHiking, faHiking, faRightFromLine, faArrowAltFromLeft, faVenusDouble, faImages, faCalculator, faShuttlecock, faUserHair, faEyeEvil, faPeoplePulling, faN, faGarage, faCableCar, faTram, faShovelSnow, faCloudRain, faFaceLying, faSprinkler, faBuildingCircleXmark, faPersonSledding, faSledding, faGameConsoleHandheld, faShip, faClockSixThirty, faBatterySlash, faTugrikSign, faArrowsDownToLine, faDownload, faShelves, faInventory, faCloudSnow, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faOven, faCloudBinary, faEyeDropper, faEyeDropperEmpty, faEyedropper, faCommentCaptions, faCommentsQuestion, faScribble, faRotateExclamation, faFileCircleCheck, faGlass, faLoader, faForward, faUserPilot, faMobile, faMobileAndroid, faMobilePhone, faCodePullRequestClosed, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faFaceDotted, faFaceWorried, faOutdent, faDedent, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faVectorCircle, faCarCircleBolt, faCalendarWeek, faFlyingDisc, faLaptopMedical, faSquareDownRight, faB, faSeatAirline, faMoonOverSun, faEclipseAlt, faPipe, faFileMedical, faPotato, faDiceOne, faCircleA, faHelmetBattle, faButter, faBlanketFire, faKiwiBird, faCastle, faGolfClub, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faChartPieSimpleCircleDollar, faBalloons, faMillSign, faBowlRice, faTimelineArrow, faSkull, faGameBoardSimple, faGameBoardAlt, faCircleVideo, faVideoCircle, faChartScatterBubble, faHouseTurret, faBanana, faHandHoldingSkull, faPeopleDress, faLoveseat, faCouchSmall, faTowerBroadcast, faBroadcastTower, faTruckPickup, faBlockQuote, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faMoneyCheckDollarPen, faMoneyCheckEditAlt, faUpFromLine, faArrowAltFromBottom, faUpload, faHurricane, faGridRound2Plus, faPeoplePants, faMound, faWindsock, faCircleHalf, faBrakeWarning, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faSaxophoneFire, faSaxHot, faCameraWebSlash, faWebcamSlash, faFolderMedical, faFolderGear, faFolderCog, faHandWave, faArrowUpArrowDown, faSortUpDown, faCaravan, faShieldCat, faMessageSlash, faCommentAltSlash, faBolt, faZap, faTrashCanCheck, faGlassWater, faOilWell, faPersonSimple, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faGearCode, faNotes, faRubleSign, faRouble, faRub, faRuble, faTrashUndo, faTrashArrowTurnLeft, faChampagneGlass, faGlassChampagne, faObjectsAlignCenterHorizontal, faSun, faTrashCanSlash, faTrashAltSlash, faScreenUsers, faUsersClass, faGuitar, faSquareArrowLeft, faArrowSquareLeft, faSquare8, faFaceSmileHearts, faBracketsSquare, faBrackets, faLaptopArrowDown, faHockeyStickPuck, faHouseTree, faSignalFair, faSignal2, faFaceLaughWink, faLaughWink, faCircleDollar, faDollarCircle, faUsdCircle, faHorseHead, faArrowsRepeat, faRepeatAlt, faBoreHole, faIndustry, faImagePolaroid, faWaveTriangle, faPersonRunningFast, faCircleDown, faArrowAltCircleDown, faGrill, faArrowsTurnToDots, faChartMixed, faAnalytics, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faDisplayCode, faDesktopCode, faFaceDrooling, faOilTemperature, faOilTemp, faSquareQuestion, faQuestionSquare, faAirConditioner, faAngleDown, faMountains, faOmega, faCarTunnel, faPersonDollyEmpty, faPanFood, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faTicketsAirline, faAnchorCircleXmark, faEllipsis, faEllipsisH, faNfcSlash, faChessPawn, faKitMedical, faFirstAid, faGrid2Plus, faBells, faPersonThroughWindow, faToolbox, faEnvelopeDot, faEnvelopeBadge, faHandsHoldingCircle, faBug, faBowlChopsticks, faCreditCard, faCreditCardAlt, faCircleS, faBoxBallot, faCar, faAutomobile, faHandHoldingHand, faUserTieHair, faPodiumStar, faUserHairMullet, faBusinessFront, faPartyBack, faTrianBalbot, faMicrophoneStand, faBookOpenReader, faBookReader, faFamilyDress, faCircleX, faCabin, faMountainSun, faChartSimpleHorizontal, faBluetooth, faArrowsLeftRightToLine, faHandBackPointLeft, faMessageDots, faCommentAltDots, faMessaging, faFileHeart, faBeerMug, faBeerFoam, faDiceD20, faDrone, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faBed, faBookCopy, faSquareH, faHSquare, faSquareC, faClockTwo, faSquareEllipsisVertical, faCalendarUsers, faPodcast, faBee, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faCandyBar, faChocolateBar, faXmarkLarge, faPinata, faArrowsFromLine, faSuperscript, faBowlSpoon, faHexagonCheck, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faTrafficLightStop, faPaintRoller, faAccentGrave, faHandshakeAngle, faHandsHelping, faCircle0, faDialMedLow, faLocationDot, faMapMarkerAlt, faCrab, faBoxOpenFull, faBoxFull, faFile, faGreaterThan, faQuotes, faPretzel, faPersonSwimming, faSwimmer, faArrowDown, faUserRobotXmarks, faMessageQuote, faCommentAltQuote, faCandyCorn, faFolderMagnifyingGlass, faFolderSearch, faNotebook, faDroplet, faTint, faBullseyePointer, faEraser, faHexagonImage, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faCrateApple, faAppleCrate, faPersonBurst, faGameBoard, faHatChef, faHandBackPointRight, faDove, faSnowflakeDroplets, faBatteryEmpty, faBattery0, faGrid4, faSocks, faFaceSunglasses, faInbox, faSquare0, faSection, faSquareThisWayUp, faBoxUp, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faSquareAmpersand, faEnvelopeOpenText, faLampDesk, faHospital, faHospitalAlt, faHospitalWide, faPollPeople, faWhiskeyGlassIce, faGlassWhiskeyRocks, faWineBottle, faChessRook, faUserBountyHunter, faBarsStaggered, faReorder, faStream, faDiagramSankey, faCloudHailMixed, faCircleUpLeft, faDharmachakra, faObjectsAlignLeft, faOilCanDrip, faFaceSmilingHands, faBroccoli, faRouteInterstate, faEarMuffs, faHotdog, faTransporterEmpty, faPersonWalkingWithCane, faBlind, faAngle90, faRectangleTerminal, faKite, faDrum, faScrubber, faIceCream, faHeartCircleBolt, faFishBones, faDeerRudolph, faFax, faParagraph, faHeadSideHeart, faSquareE, faMeterFire, faCloudHail, faCheckToSlot, faVoteYea, faMoneyFromBracket, faStarHalf, faCarBus, faSpeaker, faTimer, faBoxesStacked, faBoxes, faBoxesAlt, faGrillHot, faBallotCheck, faLink, faChain, faEarListen, faAssistiveListeningSystems, faFileMinus, faTreeCity, faPlay, faFont, faCupTogo, faCoffeeTogo, faSquareDownLeft, faBurgerLettuce, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faChevronsDown, faChevronDoubleDown, faTrashCanArrowUp, faTrashRestoreAlt, faSignalGood, faSignal3, faLocationQuestion, faMapMarkerQuestion, faFloppyDiskCircleXmark, faFloppyDiskTimes, faSaveCircleXmark, faSaveTimes, faNairaSign, faPeach, faTaxiBus, faBracketCurly, faBracketCurlyLeft, faLobster, faCartFlatbedEmpty, faDollyFlatbedEmpty, faColon, faCartArrowDown, faWand, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faTablePicnic, faSquarePen, faPenSquare, faPencilSquare, faCircleMicrophoneLines, faMicrophoneCircleAlt, faDisplaySlash, faDesktopSlash, faSuitcaseRolling, faPersonCircleExclamation, faTransporter2, faHandsHoldingDiamond, faHandReceiving, faMoneyBillSimpleWave, faChevronDown, faBatteryFull, faBattery, faBattery5, faBellPlus, faBookArrowRight, faHospitals, faClub, faSkullCrossbones, faDropletDegree, faDewpoint, faCodeCompare, faListUl, faListDots, faHandHoldingMagic, faWatermelonSlice, faCircleEllipsis, faSchoolLock, faTowerCell, faSdCards, faJugBottle, faDownLong, faLongArrowAltDown, faEnvelopes, faPhoneOffice, faRankingStar, faChessKing, faNfcPen, faPersonHarassing, faHatWinter, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faBoneBreak, faArrowUp, faDownFromDottedLine, faTv, faTelevision, faTvAlt, faBorderLeft, faCircleDivide, faShrimp, faListCheck, faTasks, faDiagramSubtask, faJugDetergent, faCircleUser, faUserCircle, faSquareY, faUserDoctorHair, faPlanetRinged, faMushroom, faUserShield, faMegaphone, faWreathLaurel, faCircleExclamationCheck, faWind, faBoxDollar, faBoxUsd, faCarBurst, faCarCrash, faY, faUserHeadset, faArrowsRetweet, faRetweetAlt, faPersonSnowboarding, faSnowboarding, faSquareChevronRight, faChevronSquareRight, faLacrosseStickBall, faTruckFast, faShippingFast, faUserMagnifyingGlass, faStarSharp, faCommentHeart, faCircle1, faCircleStar, faStarCircle, faFish, faCloudFog, faFog, faWaffle, faMusicNote, faMusicAlt, faHexagonExclamation, faCartShoppingFast, faObjectUnion, faUserGraduate, faStarfighter, faCircleHalfStroke, faAdjust, faArrowRightLongToLine, faSquareArrowDown, faArrowSquareDown, faDiamondHalfStroke, faClapperboard, faSquareChevronLeft, faChevronSquareLeft, faPhoneIntercom, faLinkHorizontal, faChainHorizontal, faMango, faMusicNoteSlash, faMusicAltSlash, faCircleRadiation, faRadiationAlt, faFaceTongueSweat, faGlobeStand, faBaseball, faBaseballBall, faCircleP, faAwardSimple, faJetFighterUp, faDiagramProject, faProjectDiagram, faPedestal, faChartPyramid, faSidebar, faSnowmanHead, faFrostyHead, faCopy, faBurgerGlass, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faBarsFilter, faPaintbrushPencil, faPartyBell, faUserVneckHair, faJackOLantern, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faKeynote, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faHatBeach, faPlus, faAdd, faExpand, faComputer, faFort, faCloudCheck, faXmark, faClose, faMultiply, faRemove, faTimes, faFaceSmirking, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faRhombus, faClawMarks, faPesoSign, faFaceSmileTongue, faCartCircleXmark, faBuildingShield, faCirclePhoneFlip, faPhoneCircleAlt, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faKeySkeleton, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faArrowDownToBracket, faLinesLeaning, faSquareQ, faRulerCombined, faSymbols, faIconsAlt, faCopyright, faFlaskGear, faHighlighterLine, faBracketSquare, faBracket, faBracketLeft, faIslandTropical, faIslandTreePalm, faArrowRightFromLine, faArrowFromLeft, faH2, faEquals, faCakeSlice, faShortcake, faPeanut, faWrenchSimple, faBlender, faTeeth, faTally2, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faCars, faAxeBattle, faUserHairLong, faMap, faFileCircleInfo, faFaceDisappointed, faLassoSparkles, faClockEleven, faRocket, faSirenOn, faClockTen, faCandleHolder, faVideoArrowDownLeft, faPhotoFilm, faPhotoVideo, faFloppyDiskCircleArrowRight, faSaveCircleArrowRight, faFolderMinus, faPlanetMoon, faFaceEyesXmarks, faChartScatter, faDisplayArrowDown, faStore, faArrowTrendUp, faPlugCircleMinus, faOliveBranch, faAngle, faVacuumRobot, faSignHanging, faSign, faSquareDivide, faSignalStreamSlash, faBezierCurve, faEyeDropperHalf, faStoreLock, faBellSlash, faCloudBoltSun, faThunderstormSun, faCameraSlash, faCommentQuote, faTablet, faTabletAndroid, faSchoolFlag, faMessageCode, faGlassHalf, faGlassHalfEmpty, faGlassHalfFull, faFill, faMessageMinus, faCommentAltMinus, faAngleUp, faDinosaur, faDrumstickBite, faLinkHorizontalSlash, faChainHorizontalSlash, faHollyBerry, faNose, faChevronLeft, faBacteria, faClouds, faMoneyBillSimple, faHandLizard, faTablePivot, faFilterSlash, faTrashCanUndo, faTrashCanArrowTurnLeft, faTrashUndoAlt, faNotdef, faDisease, faPersonToDoor, faTurntable, faBriefcaseMedical, faGenderless, faChevronRight, faSignalWeak, faSignal1, faClockFive, faRetweet, faCarRear, faCarAlt, faPumpSoap, faComputerClassic, faFrame, faVideoSlash, faBatteryQuarter, faBattery2, faEllipsisStroke, faEllipsisHAlt, faRadio, faBabyCarriage, faCarriageBaby, faFaceExpressionless, faDownToDottedLine, faCloudMusic, faTrafficLight, faCloudMinus, faThermometer, faShieldMinus, faVrCardboard, faCarTilt, faGaugeCircleMinus, faBrightnessLow, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faConveyorBelt, faLocationCheck, faMapMarkerCheck, faCoinVertical, faDisplay, faPersonSign, faFaceSmile, faSmile, faPhoneHangup, faSignatureSlash, faThumbtack, faThumbTack, faWheatSlash, faTrophy, faCloudsSun, faPersonPraying, faPray, faHammer, faFaceVomit, faSpeakers, faTtyAnswer, faTeletypeAnswer, faMugTeaSaucer, faDiagramLeanCanvas, faAlt, faDial, faDialMedHigh, faHandPeace, faCircleTrash, faTrashCircle, faRotate, faSyncAlt, faCircleQuarters, faSpinner, faTowerControl, faArrowUpTriangleSquare, faSortShapesUp, faWhale, faRobot, faPeace, faPartyHorn, faGears, faCogs, faSunBright, faSunAlt, faWarehouse, faConveyorBeltArm, faLockKeyholeOpen, faLockOpenAlt, faSquareFragile, faBoxFragile, faSquareWineGlassCrack, faArrowUpRightDots, faSquareN, faSplotch, faFaceGrinHearts, faGrinHearts, faMeter, faMandolin, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faUpFromBracket, faKnifeKitchen, faBorderRight, faArrowTurnDown, faLevelDown, faSpade, faCardSpade, faLineColumns, faArrowRightToLine, faArrowToRight, faPersonFallingBurst, faFlagPennant, faPennant, faConveyorBeltEmpty, faUserGroupSimple, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faCamcorder, faVideoHandheld, faPancakes, faAlbumCircleUser, faQrcode, faDiceD10, faFireplace, faBrowser, faPenPaintbrush, faPencilPaintbrush, faFishCooked, faChairOffice, faNestingDolls, faClockRotateLeft, faHistory, faTrumpet, faFaceGrinBeamSweat, faGrinBeamSweat, faFireSmoke, faPhoneMissed, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faArrowsRepeat1, faRepeat1Alt, faGunSlash, faAvocado, faBinary, faGlassesRound, faGlassesAlt, faPhonePlus, faDitto, faPersonSeat, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faScythe, faPenNib, faBanParking, faParkingCircleSlash, faTentArrowTurnLeft, faFaceDiagonalMouth, faDiagramCells, faCricketBatBall, faCricket, faTents, faWandMagic, faMagic, faDog, faPenLine, faAtomSimple, faAtomAlt, faAmpersand, faCarrot, faArrowUpFromLine, faArrowFromBottom, faMoon, faPenSlash, faWineGlassEmpty, faWineGlassAlt, faSquareStar, faCheese, faSendBackward, faYinYang, faMusic, faCompassSlash, faClockOne, faFileMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faDisplayChartUpCircleCurrency, faSkeleton, faCircleG, faCircleArrowUpLeft, faCoinBlank, faBroom, faVacuum, faShieldHeart, faCardHeart, faLightbulbCflOn, faMelon, faGopuram, faEarthOceania, faGlobeOceania, faContainerStorage, faFacePouting, faSquareXmark, faTimesSquare, faXmarkSquare, faFaceExplode, faExplodingHead, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faTransformerBolt, faHippo, faChartColumn, faCassetteVhs, faVhs, faInfinity, faVialCircleCheck, faChimney, faObjectIntersect, faPersonArrowDownToLine, faVoicemail, faBlockBrick, faWallBrick, faFan, faBagsShopping, faParagraphLeft, faParagraphRtl, faPersonWalkingLuggage, faCaravanSimple, faCaravanAlt, faTurtle, faPencilMechanical, faUpDown, faArrowsAltV, faCloudMoonRain, faBoothCurtain, faCalendar, faBoxHeart, faTrailer, faUserDoctorMessage, faUserMdChat, faBahai, faHaykal, faAmpGuitar, faSdCard, faVolumeSlash, faBorderBottom, faWifiWeak, faWifi1, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faDeleteRight, faBookQuran, faQuran, faCircleQuarter, faAnchor, faBorderAll, faFunction, faFaceAngry, faAngry, faPeopleSimple, faCookieBite, faArrowTrendDown, faRss, faFeed, faFaceMonocle, faDrawPolygon, faScaleBalanced, faBalanceScale, faCalendarLines, faCalendarNote, faArrowDownBigSmall, faSortSizeDown, faGaugeSimpleHigh, faTachometer, faTachometerFast, faDoNotEnter, faShower, faDiceD8, faDesktop, faDesktopAlt, faM, faGripDotsVertical, faFaceViewfinder, faSoftServe, faCreemee, faH5, faHandBackPointDown, faTableList, faThList, faCommentSms, faSms, faRectangle, faRectangleLandscape, faClipboardListCheck, faTurkey, faBook, faUserPlus, faIceSkate, faCheck, faBatteryThreeQuarters, faBattery4, faTomato, faSwordLaser, faHouseCircleCheck, faBuildings, faAngleLeft, faCartFlatbedBoxes, faDollyFlatbedAlt, faDiagramSuccessor, faTruckArrowRight, faSquareW, faArrowsSplitUpAndLeft, faLamp, faAirplay, faHandFist, faFistRaised, faShieldQuartered, faSlashForward, faLocationPen, faMapMarkerEdit, faCloudMoon, faPotFood, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faPrintSlash, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faHandBackPointRibbon, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faTireRugged, faLightbulbDollar, faCowbell, faBahtSign, faCorner, faChevronsRight, faChevronDoubleRight, faBookOpen, faBookJournalWhills, faJournalWhills, faInhaler, faHandcuffs, faSnake, faTriangleExclamation, faExclamationTriangle, faWarning, faNoteMedical, faDatabase, faDownLeft, faShare, faArrowTurnRight, faMailForward, faFaceThinking, faTurnDownRight, faBottleDroplet, faMaskFace, faHillRockslide, faScannerKeyboard, faCircleO, faGridHorizontal, faMessageDollar, faCommentAltDollar, faRightLeft, faExchangeAlt, faColumns3, faPaperPlane, faRoadCircleExclamation, faDungeon, faHandHoldingBox, faInputText, faWindowFlip, faWindowAlt, faAlignRight, faScannerGun, faScanner, faTire, faEngine, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCircleCaretRight, faCaretCircleRight, faWheat, faFileSpreadsheet, faAudioDescriptionSlash, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faChessPawnPiece, faChessPawnAlt, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faSquareS, faRectangleBarcode, faBarcodeAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faUnicorn, faBowlingBall, faPompebled, faBrain, faWatchSmart, faBookUser, faSensorCloud, faSensorSmoke, faClapperboardPlay, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faCircle4, faGifts, faAlbumCollection, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faCloudShowers, faUserClock, faOnion, faClockTwelveThirty, faArrowDownToDottedLine, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faRectangleWide, faCommentArrowUp, faGarlic, faMugSaucer, faCoffee, faBrush, faTreeDecorated, faMask, faCalendarHeart, faMagnifyingGlassMinus, faSearchMinus, faFlower, faRightLeftLarge, faRulerVertical, faCirclesOverlap, faUserLarge, faUserAlt, faStarshipFreighter, faTrainTram, faBridgeSuspension, faTrashCheck, faUserNurse, faBoombox, faSyringe, faCloudSun, faShieldExclamation, faStopwatch20, faSquareFull, faGripDots, faCommentExclamation, faPenSwirl, faFalafel, faCircle2, faMagnet, faJar, faGramophone, faDiceD12, faNoteSticky, faStickyNote, faDown, faArrowAltDown, faHundredPoints, fa100, faPaperclipVertical, faWindWarning, faWindCircleExclamation, faLocationPinSlash, faMapMarkerSlash, faFaceSadSweat, faBugSlash, faCupcake, faLightSwitchOff, faToggleLargeOff, faPenFancySlash, faTruckContainer, faBoot, faArrowUpFromWaterPump, faFileCheck, faBone, faCardsBlank, faCircle3, faBenchTree, faKeyboardBrightnessLow, faSkiBootSki, faBrainCircuit, faUserInjured, faBlockBrickFire, faFirewall, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faFaceSmileRelaxed, faCommentXmark, faCommentTimes, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faFaceNoseSteam, faCircleWaveformLines, faWaveformCircle, faDollarSign, faDollar, faUsd, faFerrisWheel, faComputerSpeaker, faSkullCow, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faCircleT, faSack, faGrid2, faCameraCctv, faCctv, faUmbrella, faTrowel, faHorizontalRule, faBedFront, faBedAlt, faD, faStapler, faMasksTheater, faTheaterMasks, faKipSign, faFaceWoozy, faCloudQuestion, faPineapple, faHandPointLeft, faGalleryThumbnails, faCircleJ, faEyes, faHandshakeSimple, faHandshakeAlt, faPageCaretUp, faFileCaretUp, faJetFighter, faFighterJet, faComet, faSquareShareNodes, faShareAltSquare, faShieldKeyhole, faBarcode, faPlusMinus, faSquareSlidersVertical, faSlidersVSquare, faVideo, faVideoCamera, faMessageMiddle, faCommentMiddleAlt, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faSquareZ, faMessageText, faCommentAltText, faTurnUp, faLevelUpAlt };\n","var prefix = \"fad\";\nvar fa0 = {\n prefix: 'fad',\n iconName: '0',\n icon: [320, 512, [], \"30\", [\"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 96c-53 0-96 43-96 96V320c0 53 43 96 96 96s96-43 96-96V192c0-53-43-96-96-96z\", \"\"]]\n};\nvar fa1 = {\n prefix: 'fad',\n iconName: '1',\n icon: [256, 512, [], \"31\", [\"M160 64c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.8 1.6l-96 64C-.5 111.2-4.4 131 5.4 145.8s29.7 18.7 44.4 8.9L96 123.8V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160V64z\", \"\"]]\n};\nvar fa2 = {\n prefix: 'fad',\n iconName: '2',\n icon: [320, 512, [], \"32\", [\"M142.9 96c-21.5 0-42.2 8.5-57.4 23.8L54.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L40.2 74.5C67.5 47.3 104.4 32 142.9 32C223 32 288 97 288 177.1c0 38.5-15.3 75.4-42.5 102.6L109.3 416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L200.2 234.5c15.2-15.2 23.8-35.9 23.8-57.4c0-44.8-36.3-81.1-81.1-81.1z\", \"\"]]\n};\nvar fa3 = {\n prefix: 'fad',\n iconName: '3',\n icon: [320, 512, [], \"33\", [\"M0 64C0 46.3 14.3 32 32 32H272c13.2 0 25 8.1 29.8 20.4s1.5 26.3-8.2 35.2L162.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H105.4C63 480 24.2 456 5.3 418.1l-1.9-3.8c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l1.9 3.8c8.1 16.3 24.8 26.5 42.9 26.5H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H80c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L189.7 96H32C14.3 96 0 81.7 0 64z\", \"\"]]\n};\nvar fa4 = {\n prefix: 'fad',\n iconName: '4',\n icon: [384, 512, [], \"34\", [\"M189 77.6c7.5-16 .7-35.1-15.3-42.6s-35.1-.7-42.6 15.3L3 322.4c-4.7 9.9-3.9 21.5 1.9 30.8S21 368 32 368H256v80c0 17.7 14.3 32 32 32s32-14.3 32-32V368h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V304H82.4L189 77.6z\", \"\"]]\n};\nvar fa5 = {\n prefix: 'fad',\n iconName: '5',\n icon: [320, 512, [], \"35\", [\"M32.5 58.3C35.3 43.1 48.5 32 64 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H90.7L70.3 208H184c75.1 0 136 60.9 136 136s-60.9 136-136 136H100.5c-39.4 0-75.4-22.3-93-57.5l-4.1-8.2c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l4.1 8.2c6.8 13.6 20.6 22.1 35.8 22.1H184c39.8 0 72-32.2 72-72s-32.2-72-72-72H32c-9.5 0-18.5-4.2-24.6-11.5s-8.6-16.9-6.9-26.2l32-176z\", \"\"]]\n};\nvar fa6 = {\n prefix: 'fad',\n iconName: '6',\n icon: [320, 512, [], \"36\", [\"M232.4 84.7c11.4-13.5 9.7-33.7-3.8-45.1s-33.7-9.7-45.1 3.8L38.6 214.7C14.7 242.9 1.1 278.4 .1 315.2c0 1.4-.1 2.9-.1 4.3c0 .2 0 .3 0 .5c0 88.4 71.6 160 160 160s160-71.6 160-160c0-85.5-67.1-155.4-151.5-159.8l63.9-75.6zM256 320A96 96 0 1 1 64 320a96 96 0 1 1 192 0z\", \"\"]]\n};\nvar fa7 = {\n prefix: 'fad',\n iconName: '7',\n icon: [320, 512, [], \"37\", [\"M0 64C0 46.3 14.3 32 32 32H288c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-224 384c-8.9 15.3-28.5 20.4-43.8 11.5s-20.4-28.5-11.5-43.8L232.3 96H32C14.3 96 0 81.7 0 64z\", \"\"]]\n};\nvar fa8 = {\n prefix: 'fad',\n iconName: '8',\n icon: [320, 512, [], \"38\", [\"M304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 34.6 13.7 66 36 89C20.5 272.3 0 309.8 0 352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128c0-42.2-20.5-79.7-52-103c22.3-23 36-54.4 36-89zM176.1 288H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64h15.9c0 0 .1 0 .1 0h32c0 0 .1 0 .1 0zm0-64c0 0 0 0 0 0H144c0 0 0 0 0 0c-35.3 0-64-28.7-64-64c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64c0 35.3-28.6 64-64 64z\", \"\"]]\n};\nvar fa9 = {\n prefix: 'fad',\n iconName: '9',\n icon: [320, 512, [], \"39\", [\"M64 192a96 96 0 1 0 192 0A96 96 0 1 0 64 192zm87.5 159.8C67.1 347.4 0 277.5 0 192C0 103.6 71.6 32 160 32s160 71.6 160 160c0 2.6-.1 5.3-.2 7.9c-1.7 35.7-15.2 70-38.4 97.4l-145 171.4c-11.4 13.5-31.6 15.2-45.1 3.8s-15.2-31.6-3.8-45.1l63.9-75.6z\", \"\"]]\n};\nvar faFillDrip = {\n prefix: 'fad',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", [\"M67.5 288H386.7L238.6 436.1c-12.5 12.5-32.8 12.5-45.3 0L75.9 318.6c-8.3-8.3-11.1-20-8.4-30.6zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\", \"M86.6 9.4C74.1-3.1 53.9-3.1 41.4 9.4s-12.5 32.8 0 45.3L122.7 136 30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L168 90.7 86.6 9.4zM168 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L213.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L429.1 234.3c3.1 3.1 3.1 8.2 0 11.3L238.6 436.1c-12.5 12.5-32.8 12.5-45.3 0L75.9 318.6c-12.5-12.5-12.5-32.8 0-45.3L168 181.3z\"]]\n};\nvar faArrowsToCircle = {\n prefix: 'fad',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", [\"M256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V96c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 4.3-.9 8.5-2.4 12.2c-1.6 3.7-3.8 7.3-6.9 10.3l-.1 .1c-3.1 3-6.6 5.3-10.3 6.9c-3.8 1.6-7.9 2.4-12.2 2.4H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h18.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM114.7 352H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h96 0l.1 0c8.8 0 16.7 3.6 22.5 9.3l.1 .1c3 3.1 5.3 6.6 6.9 10.3c1.6 3.8 2.4 7.9 2.4 12.2v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352zM416 96c0-17.7 14.3-32 32-32s32 14.3 32 32v18.7L585.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 160H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-8.8 0-16.8-3.6-22.6-9.3l-.1-.1c-3-3.1-5.3-6.6-6.9-10.3s-2.4-7.8-2.4-12.2l0-.1v0V96zM525.3 352L630.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 397.3V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V320v0c0 0 0-.1 0-.1c0-4.3 .9-8.4 2.4-12.2c1.6-3.8 3.9-7.3 6.9-10.4c5.8-5.8 13.7-9.3 22.5-9.4c0 0 .1 0 .1 0h0 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H525.3z\"]]\n};\nvar faCircleChevronRight = {\n prefix: 'fad',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239c9.4 9.4 9.4 24.6 0 33.9L241 377z\", \"M345 239c9.4 9.4 9.4 24.6 0 33.9L241 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L345 239z\"]]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faWagonCovered = {\n prefix: 'fad',\n iconName: 'wagon-covered',\n icon: [640, 512, [], \"f8ee\", [\"M4.5 57.4C-5.2 30.3 16.1 2.1 44.8 4.1L194.1 14C210.9 15.1 224 29.1 224 45.9V224H64L4.5 57.4zM288 16h64c17.7 0 32 14.3 32 32V224H256V48c0-17.7 14.3-32 32-32zM64 400a112 112 0 1 1 224 0A112 112 0 1 1 64 400zm96 62V416H114c5.8 22.5 23.5 40.2 46 46zm-46-78h46V338c-22.5 5.8-40.2 23.5-46 46zm124 32H192v46c22.5-5.8 40.2-23.5 46-46zm0-32c-5.8-22.5-23.5-40.2-46-46v46h46zm114 16a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm96 62V416H402c5.8 22.5 23.5 40.2 46 46zm-46-78h46V338c-22.5 5.8-40.2 23.5-46 46zm124 32H480v46c22.5-5.8 40.2-23.5 46-46zm0-32c-5.8-22.5-23.5-40.2-46-46v46h46zM595.2 4.1c28.7-1.9 50 26.2 40.3 53.4L576 224H416V45.9c0-16.8 13.1-30.8 29.9-31.9l149.3-10z\", \"M96 256c-17.7 0-32 14.3-32 32s14.3 32 32 32h1.6c20.2-19.8 47.9-32 78.4-32c61.9 0 112 50.1 112 112c0 5.4-.4 10.8-1.1 16h66.3c-.7-5.2-1.1-10.6-1.1-16c0-61.9 50.1-112 112-112c30.5 0 58.2 12.2 78.4 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z\"]]\n};\nvar faLineHeight = {\n prefix: 'fad',\n iconName: 'line-height',\n icon: [576, 512, [], \"f871\", [\"M256 96c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-17.7 0-32-14.3-32-32zm32 128H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M73.4 41.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-9.4-9.4V370.7l9.4-9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l9.4 9.4V141.3l-9.4 9.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64z\"]]\n};\nvar faBagel = {\n prefix: 'fad',\n iconName: 'bagel',\n icon: [640, 512, [129391], \"e3d7\", [\"M413.9 44.4c10.9-7.5 25.3-7.5 36.2 0L471 58.7c5.1 3.5 11.1 5.4 17.2 5.6l25.3 .7c13.2 .4 24.8 8.8 29.3 21.3l8.5 23.9c2.1 5.8 5.8 10.9 10.6 14.6L582 140.2c10.5 8.1 14.9 21.7 11.2 34.4L586 199c-1.7 5.9-1.7 12.2 0 18.1l7.2 24.3c3.7 12.7-.7 26.3-11.2 34.4l-20.1 15.5c-4.9 3.8-8.6 8.8-10.6 14.6l-8.5 23.9c-4.4 12.5-16.1 20.9-29.3 21.3l-25.3 .7c-6.2 .2-12.1 2.1-17.2 5.6l-20.9 14.3c-4.1 2.8-8.7 4.5-13.3 5.2c7.3-23 11.3-47.5 11.3-72.9c0-11.4-.8-22.5-2.3-33.5c28.8-6.3 50.3-31.9 50.3-62.5c0-35.3-28.7-64-64-64c-13.3 0-25.6 4-35.9 11c-20.8-26.2-46.9-48-76.8-63.6l1.8-5.1c4.4-12.5 16.1-20.9 29.3-21.3l25.3-.7c6.2-.2 12.1-2.1 17.2-5.6l20.9-14.3z\", \"M432 416c-3.9 0-7.7-.1-11.5-.3c6.5-12.3 12-25.3 16.3-38.8c4.7-.7 9.3-2.5 13.3-5.3L471 357.3c5.1-3.5 11-5.4 17.2-5.6l25.3-.7c13.2-.4 24.8-8.8 29.3-21.3l8.5-23.9c2.1-5.8 5.8-10.9 10.6-14.6L582 275.8c10.5-8.1 14.9-21.7 11.2-34.4L586 217c-1.7-5.9-1.7-12.2 0-18.1l7.2-24.3c3.7-12.7-.7-26.3-11.2-34.4l-20.1-15.5c-4.9-3.8-8.6-8.8-10.6-14.6l-8.5-23.9c-4.4-12.5-16.1-20.9-29.3-21.3l-25.3-.7c-6.2-.2-12.1-2.1-17.2-5.6L450.1 44.4c-10.9-7.5-25.3-7.5-36.2 0L393 58.7c-5.1 3.5-11 5.4-17.2 5.6L350.5 65c-13.2 .4-24.8 8.8-29.3 21.3l-1.8 5.1c-14.4-7.6-29.7-13.7-45.7-18.3C311.8 28.4 368.6 0 432 0C546.9 0 640 93.1 640 208s-93.1 208-208 208zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zm256 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM112 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm144 16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16-176a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM144 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 272a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faTransporter7 = {\n prefix: 'fad',\n iconName: 'transporter-7',\n icon: [512, 512, [], \"e2a8\", [\"M472.7 38.6L480 64l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 96l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 96l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 64l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zm-416 224L64 288l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 320l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 320 6.6 312.7C2.7 311.6 0 308.1 0 304s2.7-7.6 6.6-8.7L32 288l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6z\", \"M96 480c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faAt = {\n prefix: 'fad',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", [\"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v32c0 53-43 96-96 96c-29.3 0-55.6-13.2-73.2-33.9C320 371.1 289.5 384 256 384c-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1c5.7-5 13.1-8.1 21.3-8.1c17.7 0 32 14.3 32 32v80 32c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-106-86-192-192-192zm64 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"\"]]\n};\nvar faRectanglesMixed = {\n prefix: 'fad',\n iconName: 'rectangles-mixed',\n icon: [576, 512, [], \"e323\", [\"M432 32c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H432zM112 304c-26.5 0-48 21.5-48 48v80c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V352c0-26.5-21.5-48-48-48H112z\", \"M0 80C0 53.5 21.5 32 48 32H272c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80z\"]]\n};\nvar faPhoneArrowUpRight = {\n prefix: 'fad',\n iconName: 'phone-arrow-up-right',\n icon: [512, 512, [\"phone-arrow-up\", \"phone-outgoing\"], \"e224\", [\"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M295 217c-9.4-9.4-9.4-24.6 0-33.9l135-135H384c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24V128c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9L329 217c-9.4 9.4-24.6 9.4-33.9 0z\"]]\n};\nvar faPhoneArrowUp = faPhoneArrowUpRight;\nvar faPhoneOutgoing = faPhoneArrowUpRight;\nvar faTrashCan = {\n prefix: 'fad',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", [\"M416 96H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V96zM144 176V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M163.8 0c-12.1 0-23.2 6.8-28.6 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8z\"]]\n};\nvar faTrashAlt = faTrashCan;\nvar faCircleL = {\n prefix: 'fad',\n iconName: 'circle-l',\n icon: [512, 512, [], \"e114\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 152V336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M184 128c13.3 0 24 10.7 24 24V336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHeadSideGoggles = {\n prefix: 'fad',\n iconName: 'head-side-goggles',\n icon: [512, 512, [\"head-vr\"], \"f6ea\", [\"M45.9 128H225.6C233 91.5 265.3 64 304 64h95.1C364 24.7 312.9 0 256 0H233.7C148.3 0 75.3 53.1 45.9 128zM32.2 192c-.2 3.2-.2 6.5-.2 9.7c0 44.8 18.3 91.5 46.5 127.7C88.9 342.8 96 358.8 96 375.8V480c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V448h64c35.3 0 64-28.7 64-64V320h20.2c24.2 0 43.8-19.6 43.8-43.8c0-10-3.4-19.6-9.6-27.4L482.6 224H304c-26.2 0-49.4-12.6-64-32H32.2z\", \"M304 64H416V224H304c-26.2 0-49.4-12.6-64-32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H225.6C233 91.5 265.3 64 304 64zM480 224H448V64h32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32z\"]]\n};\nvar faHeadVr = faHeadSideGoggles;\nvar faTextHeight = {\n prefix: 'fad',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", [\"M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H160 272c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H192l0 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h32l0-320H64z\", \"M457.4 41.4c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H512l0 192h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32l0-192H416c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l64-64z\"]]\n};\nvar faUserXmark = {\n prefix: 'fad',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", [\"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\", \"M505 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faUserTimes = faUserXmark;\nvar faFaceHandYawn = {\n prefix: 'fad',\n iconName: 'face-hand-yawn',\n icon: [512, 512, [], \"e379\", [\"M336.9 498.9C438.7 465.1 512 369.1 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 94.5 51.2 177 127.3 221.4c-9.8-18-15.3-38.6-15.3-60.5V384 330.4c0-28.7 23.3-52 52-52c1.8 0 3.6 .1 5.3 .3C184.8 246.3 217.8 224 256 224c28.7 0 54.5 12.6 72.1 32.6c14.8-2.4 30.4 2 41.8 13.4c12.2 12.2 16.5 29.4 12.8 45c1.1 .9 2.2 1.9 3.2 3c18.1 18.1 18.7 47.1 1.8 65.9c16.9 18.8 16.3 47.8-1.8 65.9l-49 49zM202 124.5l-80 64c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5l80-64c6.9-5.5 17-4.4 22.5 2.5s4.4 17-2.5 22.5zM307.5 102c5.5-6.9 15.6-8 22.5-2.5l80 64c6.9 5.5 8 15.6 2.5 22.5s-15.6 8-22.5 2.5l-80-64c-6.9-5.5-8-15.6-2.5-22.5z\", \"M204.5 102c-5.5-6.9-15.6-8-22.5-2.5l-80 64c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l80-64c6.9-5.5 8-15.6 2.5-22.5zm94.8 197.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L257.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3zM310 124.5l80 64c6.9 5.5 17 4.4 22.5-2.5s4.4-17-2.5-22.5l-80-64c-6.9-5.5-17-4.4-22.5 2.5s-4.4 17 2.5 22.5z\"]]\n};\nvar faGaugeSimpleMin = {\n prefix: 'fad',\n iconName: 'gauge-simple-min',\n icon: [512, 512, [\"tachometer-slowest\"], \"f62d\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-35.3-28.7-64-64-64c-14.1 0-27.2 4.6-37.8 12.4L100.6 227.6c-11.3-7-26.1-3.5-33 7.8s-3.5 26.1 7.8 33l117.5 72.8c-.6 3.5-.9 7.1-.9 10.8c0 35.3 28.7 64 64 64s64-28.7 64-64z\", \"M100.6 227.6c-11.3-7-26.1-3.5-33 7.8s-3.5 26.1 7.8 33l117.5 72.8c-.6 3.5-.9 7.1-.9 10.8c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-14.1 0-27.2 4.6-37.8 12.4L100.6 227.6z\"]]\n};\nvar faTachometerSlowest = faGaugeSimpleMin;\nvar faStethoscope = {\n prefix: 'fad',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", [\"M448 265.3V336c0 61.9-50.1 112-112 112c-57.6 0-105-43.4-111.3-99.3c-10.6 2.2-21.5 3.3-32.7 3.3c-10.8 0-21.3-1.1-31.5-3.1C167.1 440.1 243.1 512 336 512c97.2 0 176-78.8 176-176V265.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7z\", \"M122.1 62.4c16.8-5.6 25.8-23.7 20.2-40.5S118.6-3.9 101.9 1.6L75.8 10.3C49.6 19.1 32 43.5 32 71.1V192c0 88.4 71.6 160 160 160s160-71.6 160-160V71.1c0-27.5-17.6-52-43.8-60.7L282.1 1.6c-16.8-5.6-34.9 3.5-40.5 20.2s3.5 34.9 20.2 40.5L288 71.1V192c0 53-43 96-96 96s-96-43-96-96V71.1l26.1-8.7zM512 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-80a80 80 0 1 0 0 160 80 80 0 1 0 0-160z\"]]\n};\nvar faCoffin = {\n prefix: 'fad',\n iconName: 'coffin',\n icon: [384, 512, [9904], \"f6c6\", [\"M11.5 114.9l91-104C108.5 4 117.3 0 126.5 0h131c9.2 0 18 4 24.1 10.9l91 104c7.4 8.5 11.5 19.3 11.5 30.6c0 4.4-.6 8.7-1.8 12.9L286.7 488.9c-4 13.7-16.5 23.1-30.7 23.1H128.1c-14.3 0-26.8-9.4-30.7-23.1L1.8 158.3C.6 154.1 0 149.8 0 145.4c0-11.2 4.1-22.1 11.5-30.6z\", \"\"]]\n};\nvar faMessage = {\n prefix: 'fad',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\", \"\"]]\n};\nvar faCommentAlt = faMessage;\nvar faSalad = {\n prefix: 'fad',\n iconName: 'salad',\n icon: [512, 512, [129367, \"bowl-salad\"], \"f81e\", [\"M423.8 96.2c-2.6-.2-5.2-.2-7.8-.2c-70.7 0-128 57.3-128 128c0 11 1.4 21.8 4 32H240V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V249.4L107.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256H96c-53 0-96-43-96-96s43-96 96-96c8.7 0 17.2 1.2 25.3 3.4C138.5 27.7 178 0 224 0s85.5 27.7 102.7 67.4c8-2.2 16.5-3.4 25.3-3.4c28.5 0 54.2 12.5 71.8 32.2zM512 224c0 11.2-1.9 22-5.5 32H325.5c-3.5-10-5.5-20.8-5.5-32c0-53 43-96 96-96s96 43 96 96z\", \"M27.4 288C12.3 288 0 300.3 0 315.4c0 70.5 44.4 130.7 106.7 154.1l1.8 14.4c2 16 15.6 28 31.8 28H371.8c16.1 0 29.8-12 31.8-28l1.8-14.4C467.6 446.1 512 385.9 512 315.4c0-15.1-12.3-27.4-27.4-27.4H27.4z\"]]\n};\nvar faBowlSalad = faSalad;\nvar faInfo = {\n prefix: 'fad',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", [\"M48 80a48 48 0 1 1 96 0A48 48 0 1 1 48 80z\", \"M32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V224c0-17.7-14.3-32-32-32H32z\"]]\n};\nvar faRobotAstromech = {\n prefix: 'fad',\n iconName: 'robot-astromech',\n icon: [512, 512, [], \"e2d2\", [\"M96 192c-26.5 0-48 21.5-48 48V398.3c0 8.7-2.4 17.2-6.8 24.7L2.3 487.8c-3 4.9-3 11.1-.2 16.1s8.2 8.1 13.9 8.1h96c8.8 0 16-7.2 16-16V384l45.3 45.3c12 12 28.3 18.7 45.3 18.7h75c17 0 33.3-6.7 45.3-18.7L384 384V496c0 8.8 7.2 16 16 16h96c5.8 0 11.1-3.1 13.9-8.1s2.8-11.2-.2-16.1L470.8 423c-4.5-7.5-6.8-16-6.8-24.7V240c0-26.5-21.5-48-48-48H96zm112 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M128 128C128 57.3 185.3 0 256 0s128 57.3 128 128v64H128V128zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM208 256h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faRingDiamond = {\n prefix: 'fad',\n iconName: 'ring-diamond',\n icon: [384, 512, [], \"e5ab\", [\"M122.5 13.3C126.6 5.1 134.9 0 144 0h96c9.1 0 17.4 5.1 21.5 13.3l24 48c3.5 7.1 3.4 15.5-.5 22.4l-30.4 54.8C234.9 131.7 213.9 128 192 128s-42.9 3.7-62.6 10.4L99 83.7c-3.8-6.9-4-15.3-.5-22.4l24-48z\", \"M192 192a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM384 320A192 192 0 1 1 0 320a192 192 0 1 1 384 0z\"]]\n};\nvar faFonduePot = {\n prefix: 'fad',\n iconName: 'fondue-pot',\n icon: [512, 512, [129749], \"e40d\", [\"M319 39.8l-24 96c-2.9 11.5-11.6 20-22.2 23L256.5 224H224c0-1.3 .2-2.6 .5-3.9L241.8 151c-7.9-7.7-11.7-19.3-8.8-30.8l24-96C261.2 7.1 278.6-3.3 295.8 1s27.6 21.7 23.3 38.8zm62.9 120.2L339.2 224H304c0-3.1 .9-6.1 2.7-8.9l48.6-72.9c-4.9-9.9-4.5-22.1 2.1-31.9l64-96C431.2-.5 451-4.4 465.8 5.4s18.7 29.7 8.9 44.4l-64 96c-6.6 9.9-17.7 14.9-28.7 14.2zM64 240V224h48 48v16 32c0 8.8-7.2 16-16 16s-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240z\", \"M64 224H32c-17.7 0-32 14.3-32 32v64c0 52.3 25.1 98.8 64 128v32c0 17.7 14.3 32 32 32s32-14.3 32-32v-3.2c10.3 2.1 21 3.2 32 3.2H288c11 0 21.7-1.1 32-3.2V480c0 17.7 14.3 32 32 32s32-14.3 32-32V448c38.9-29.2 64-75.7 64-128V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448 384 160v16 32c0 8.8-7.2 16-16 16s-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240 224z\"]]\n};\nvar faTheta = {\n prefix: 'fad',\n iconName: 'theta',\n icon: [384, 512, [], \"f69e\", [\"M96 256c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32z\", \"M104.2 128.4C79.9 160 64 205 64 256s15.9 96 40.2 127.6C128.5 415.1 159.8 432 192 432s63.5-16.9 87.8-48.4C304.1 352 320 307 320 256s-15.9-96-40.2-127.6C255.5 96.9 224.2 80 192 80s-63.5 16.9-87.8 48.4zm-50.7-39C87.1 45.7 135.8 16 192 16s104.9 29.7 138.5 73.4C364.1 133.1 384 192.1 384 256s-19.9 122.9-53.5 166.6C296.9 466.3 248.2 496 192 496s-104.9-29.7-138.5-73.4C19.9 378.9 0 319.9 0 256S19.9 133.1 53.5 89.4z\"]]\n};\nvar faFaceHandPeeking = {\n prefix: 'fad',\n iconName: 'face-hand-peeking',\n icon: [640, 512, [129763], \"e481\", [\"M545.5 134.7c-15.9-6.5-34.8-3.3-47.7 9.6c-7.3 7.3-11.5 16.6-12.6 26.2l-37.9-27.1c-10.9-7.8-24.3-9.3-36.1-5.4c-6.2-1.4-12.6-2.1-19.2-2.1c-48.6 0-88 39.4-88 88c0 40.3 27.1 74.3 64.1 84.7c-.1 1.1-.1 2.2-.1 3.3c0 22.1 17.9 40 40 40h8c0 .3 0 .6 0 .9c0 22.1 17.9 40 40 40h64.8c5.5 0 10.9-.4 16.3-1.1C491.8 464 411.5 512 320 512c-109.6 0-203-68.8-239.6-165.6c12.4 4.3 25.5 6.5 38.8 6.5l64.8 0c22.1 0 40-17.9 40-40c0-.3 0-.6 0-.9h8c22.1 0 40-17.9 40-40c0-2.6-.2-5.1-.7-7.5c10.1-7.3 16.7-19.1 16.7-32.5s-6.6-25.3-16.7-32.5c.5-2.4 .7-4.9 .7-7.5c0-22.1-17.9-40-40-40H156.8l1.5-1.5c17.2-17.2 17.2-45 0-62.2c-6-6-13.2-9.9-20.9-11.7C183.8 29.3 248.5 0 320 0c97.5 0 182.2 54.5 225.5 134.7zM384 400c0-26.5-28.7-48-64-48s-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48zm32.4-176c0 6.1-2.3 11.8-6.1 16H374.5c-3.8-4.2-6.1-9.9-6.1-16c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M232 208c8.8 0 16-7.2 16-16s-7.2-16-16-16H118.2c-7.1 0-10.7-8.6-5.7-13.7l28.8-28.8c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L51.9 166.4l-.8 .8C14.7 204.4 15 264.1 51.9 301c17.9 17.9 42.1 27.9 67.3 27.9l64.8 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-14 0c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5h62c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l78.4 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l62.4 0zm182.7-19c-7.2-5.1-8.9-15.1-3.7-22.3s15.1-8.9 22.3-3.7l81.8 58.4c2.3 1.6 5.1 2.3 7.8 2c9.3-1.1 13.2-12.4 6.6-19l-14.8-14.8c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l45.1 45.1 .8 .8c36.4 37.2 36.1 96.9-.8 133.8c-17.9 17.9-42.1 27.9-67.3 27.9H456c-8.8 0-16-7.2-16-16s7.2-16 16-16h19.5c2.5 0 4.5-2 4.5-4.5s-2-4.5-4.5-4.5L408 328c-8.8 0-16-7.2-16-16s7.2-16 16-16h68c2.2 0 4-1.8 4-4s-1.8-4-4-4H392c-8.8 0-16-7.2-16-16s7.2-16 16-16l74.6 0c7.4 0 13.4-6 13.4-13.4c0-4.3-2.1-8.4-5.6-10.9L414.7 189z\"]]\n};\nvar faSquareUser = {\n prefix: 'fad',\n iconName: 'square-user',\n icon: [448, 512, [], \"e283\", [\"M81.1 416H366.9c-7.8-54.3-54.4-96-110.9-96H192c-56.4 0-103.1 41.7-110.9 96zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 272a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\", \"M152 200a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zM81.1 416c7.8-54.3 54.4-96 110.9-96h64c56.4 0 103.1 41.7 110.9 96H81.1z\"]]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'fad',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", [\"M216 272H72c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39L7 439c-9.4 9.4-9.4 24.6 0 33.9l32 32c9.4 9.4 24.6 9.4 33.9 0l87-87 39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V296c0-13.3-10.7-24-24-24z\", \"M473 7c-9.4-9.4-24.6-9.4-33.9 0l-87 87L313 55c-6.9-6.9-17.2-8.9-26.2-5.2S272 62.3 272 72V216c0 13.3 10.7 24 24 24H440c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-39-39 87-87c9.4-9.4 9.4-24.6 0-33.9L473 7z\"]]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'fad',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", [\"M499.6 11.3c6.7-10.7 20.5-14.5 31.7-8.5s15.8 19.5 10.6 31L404.8 338.6c2.2 2.3 4.3 4.7 6.3 7.1l97.2-54.7c10.5-5.9 23.6-3.1 30.9 6.4s6.3 23-2.2 31.5l-91.4 91.4c1.6 9 2.4 18.2 2.4 27.7H384c0-53-43-96-96-96s-96 43-96 96H128c0-8.1 .6-16 1.8-23.8L42.3 363.7c-9.7-6.8-13.1-19.6-7.9-30.3s17.4-15.9 28.7-12.4l97.2 30.4c3-3.9 6.1-7.6 9.4-11.3L107.4 236.4c-6.1-10.1-3.9-23.1 5.1-30.7s22.2-7.5 31.1 .1L246 293.6c1.5-.4 3-.8 4.5-1.1l13.6-142.7c1.2-12.3 11.5-21.7 23.9-21.7s22.7 9.4 23.9 21.7l13.5 141.9L499.6 11.3zM288 0c13.3 0 24 10.7 24 24V72c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\", \"M0 480c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faFileLines = {\n prefix: 'fad',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'fad',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", [\"M128 64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32V416h96V256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V96H192V256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V64z\", \"\"]]\n};\nvar faRing = {\n prefix: 'fad',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", [\"M411.1 255.2C434.3 242 448 225.6 448 208c0-44.2-86-80-192-80s-192 35.8-192 80c0 17.6 13.7 34 36.9 47.2C141.2 235.9 195.8 224 256 224s114.8 11.9 155.1 31.2z\", \"M111.9 157.4C147.1 139.8 198 128 256 128s108.9 11.8 144.1 29.4C437.2 176 448 195.7 448 208s-10.8 32-47.9 50.6C364.9 276.2 314 288 256 288s-108.9-11.8-144.1-29.4C74.8 240 64 220.3 64 208s10.8-32 47.9-50.6zM83.3 100.2C39.4 122.2 0 158.4 0 208v96c0 49.6 39.4 85.8 83.3 107.8C129.1 434.7 190.3 448 256 448s126.9-13.3 172.7-36.2c43.9-22 83.3-58.2 83.3-107.8V208c0-49.6-39.4-85.8-83.3-107.8C382.9 77.3 321.7 64 256 64s-126.9 13.3-172.7 36.2z\"]]\n};\nvar faBuildingUn = {\n prefix: 'fad',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", [\"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM237.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M237.3 71.1c-3.9-5.9-11.2-8.5-17.9-6.4s-11.4 8.3-11.4 15.3v96c0 8.8 7.2 16 16 16s16-7.2 16-16V132.8l34.7 52c3.9 5.9 11.2 8.5 17.9 6.4s11.4-8.3 11.4-15.3V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v43.2l-34.7-52zM112 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 26.5 21.5 48 48 48s48-21.5 48-48V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V80z\"]]\n};\nvar faDiceThree = {\n prefix: 'fad',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faTirePressureWarning = {\n prefix: 'fad',\n iconName: 'tire-pressure-warning',\n icon: [512, 512, [], \"f633\", [\"M384 32c0-17.7 14.3-32 32-32s32 14.3 32 32V54.5c0 24.1 3.9 48 11.5 70.8l2.5 7.4c4.8 14.4 11.5 28.6 19.3 44.4c17.5 35.6 33.4 82.6 27.5 136.2c-5.3 48.6-28.1 99-76.8 148.7v34c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16v-8H336v8c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16v-8H240v8c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16v-8H144v8c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V462C31.3 412.3 8.6 361.9 3.2 313.3c-5.9-53.6 9.9-100.6 27.5-136.2c7.8-15.8 14.5-30 19.3-44.4l2.5-7.4C60.1 102.5 64 78.5 64 54.5V32C64 14.3 78.3 0 96 0s32 14.3 32 32V54.5c0 31-5 61.7-14.8 91.1l-2.5 7.4c-6.3 19-14.8 36.6-22.6 52.5c-14.7 29.7-25.3 64-21.3 100.9c3.7 34 20.4 74.1 65.7 117.7H379.4c45.3-43.6 62-83.7 65.7-117.7c4.1-36.9-6.6-71.1-21.3-100.9c-7.8-15.8-16.3-33.5-22.6-52.5l-2.5-7.4C389 116.2 384 85.4 384 54.5V32z\", \"M280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24V232c0 13.3 10.7 24 24 24s24-10.7 24-24V120zM256 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faWifiFair = {\n prefix: 'fad',\n iconName: 'wifi-fair',\n icon: [640, 512, [\"wifi-2\"], \"f6ab\", [\"M320 96C216.8 96 123.2 136.7 54.2 202.9c-12.8 12.2-33 11.8-45.2-.9s-11.8-33 .9-45.2C90.3 79.5 199.6 32 320 32s229.7 47.5 310.2 124.7c12.8 12.2 13.2 32.5 .9 45.2s-32.5 13.2-45.2 .9C516.8 136.7 423.2 96 320 96z\", \"M171.8 312c39.5-34.9 91.3-56 148.2-56s108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8zM320 480a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faWifi2 = faWifiFair;\nvar faCalendarDays = {\n prefix: 'fad',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", [\"M0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zM80 384c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H80zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H336z\", \"M160 32c0-17.7-14.3-32-32-32S96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32z\"]]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faMp3Player = {\n prefix: 'fad',\n iconName: 'mp3-player',\n icon: [384, 512, [], \"f8ce\", [\"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM288 352A96 96 0 1 0 96 352a96 96 0 1 0 192 0zM96 64C78.3 64 64 78.3 64 96v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96z\", \"M96 64H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM224 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 352a96 96 0 1 1 192 0A96 96 0 1 1 96 352z\"]]\n};\nvar faAnchorCircleCheck = {\n prefix: 'fad',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", [\"M288 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 32c0 33.4-17 62.8-42.9 80H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H320V368v80h19.2c12.6 24.7 30.9 46 53 62.2c-7.9 1.2-16 1.8-24.2 1.8H288 208c-88.4 0-160-71.6-160-160v-6.1l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56-56c9.4-9.4 24.6-9.4 33.9 0l56 56c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7V352c0 53 43 96 96 96h48V240H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.9C209 158.8 192 129.4 192 96c0-53 43-96 96-96s96 43 96 96z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faTally4 = {\n prefix: 'fad',\n iconName: 'tally-4',\n icon: [640, 512, [], \"e297\", [\"M128 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zm128 0c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM416 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M512 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faRectangleHistory = {\n prefix: 'fad',\n iconName: 'rectangle-history',\n icon: [512, 512, [], \"e4a2\", [\"M464 104c0-13.3-10.7-24-24-24L72 80c-13.3 0-24 10.7-24 24s10.7 24 24 24l368 0c13.3 0 24-10.7 24-24zM416 24c0-13.3-10.7-24-24-24L120 0C106.7 0 96 10.7 96 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24z\", \"M448 160c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l384 0z\"]]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'fad',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm19.3-211.3l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]]\n};\nvar faVolleyball = {\n prefix: 'fad',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", [\"M511.8 267.4c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.5-204.2-103.2-272.4C434.1 41.1 512 139.5 512 256c0 3.8-.1 7.6-.2 11.4zm-3.9 34.7c-5.8 32-17.6 62-34.2 88.7c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.7 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6zm-236-55.5c-2.5-90.9-41.1-172.7-101.9-231.7C196.8 5.2 225.8 0 256 0c2.7 0 5.3 0 7.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.1-2.4-86.4-14.1-126.8-35.9zM138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9C2.5 297.4 0 277 0 256C0 157.2 56 71.5 138 28.8zm69.6 90.5c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451C66 430.4 45.6 405.4 30.4 377.2c6.7-108.7 71.9-209.9 177.1-257.9zM256 512c-50.7 0-98-14.7-137.8-40.2c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c-46 44-108.3 71-177 71z\", \"M138 28.8c20.6 18.3 38.7 39.4 53.7 62.6C95.9 136.1 30.6 220.8 7.3 316.9c5.2 21.2 13 41.5 23.1 60.3c6.7-108.7 71.9-209.9 177.1-257.9c19.5 38.6 31 81.9 32.3 127.7C162.5 294.6 110.9 368.9 90.2 451c8.9 7.5 18.2 14.5 28.1 20.8c5.6-27 14.8-53.1 27.4-77.7C232.2 454.6 338.1 468.8 433 441c15.6-14.9 29.3-31.8 40.7-50.2c-97.5 48.5-217.7 42.6-311.9-24.5c23.7-36.2 55.4-67.8 94.5-91.8c79.9 43.2 170.1 50.8 251.6 27.6c2.1-11.3 3.4-22.9 3.9-34.7c-26.1 8.7-53.4 13.8-81 15.1c9.2-105.3-31.6-204.2-103.2-272.4C307.3 4.2 286 .8 263.9 .1c90.8 60.2 145.7 167.2 134.7 282.3c-43.2-2.4-86.4-14.1-126.8-35.9c-2.5-90.9-41.1-172.7-101.9-231.7c-11 3.9-21.7 8.6-32 14z\"]]\n};\nvar faVolleyballBall = faVolleyball;\nvar faSunHaze = {\n prefix: 'fad',\n iconName: 'sun-haze',\n icon: [640, 512, [], \"f765\", [\"M435.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L320 65.1 229.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L185 121 77.1 140.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L129.1 256l62.9 0c0-70.7 57.3-128 128-128s128 57.3 128 128l62.9 0 62.3-90.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L455 121 435.1 13.1zM416 256c0-53-43-96-96-96s-96 43-96 96H416z\", \"M640 312c0-13.3-10.7-24-24-24H504c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24zm-208 0c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24zm144 88c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24zM88 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zm208 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H296z\"]]\n};\nvar faTextSize = {\n prefix: 'fad',\n iconName: 'text-size',\n icon: [640, 512, [], \"f894\", [\"M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H192 336c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H224l0 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32l0-320H64z\", \"M384 288v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V272c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H512l0 128h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432c-17.7 0-32-14.3-32-32s14.3-32 32-32h16l0-128H384z\"]]\n};\nvar faUfo = {\n prefix: 'fad',\n iconName: 'ufo',\n icon: [640, 512, [128760], \"e047\", [\"M496 237.1s-51.8 50.9-176 50.9s-176-50.9-176-50.9C144 141.5 222.8 64 320 64s176 77.5 176 173.1z\", \"M320 288c124.2 0 176-50.9 176-50.9c0-8.3-.6-16.5-1.7-24.5C582 235.5 640 275 640 320c0 70.7-143.3 128-320 128S0 390.7 0 320c0-45 58-84.5 145.7-107.4c-1.2 8-1.7 16.2-1.7 24.5c0 0 51.8 50.9 176 50.9zm24 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm408-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faFork = {\n prefix: 'fad',\n iconName: 'fork',\n icon: [512, 512, [\"utensil-fork\"], \"f2e3\", [\"M411.3 27.3c5.8-5.8 6.3-15.1 1.1-21.5S398-1.9 391.1 2.7l-106.5 71C256.8 92.3 240 123.6 240 157.1c0 26.6 10.6 52.1 29.4 70.9L284 242.6c18.8 18.8 44.3 29.4 70.9 29.4c33.5 0 64.8-16.8 83.4-44.6l71-106.5c4.6-6.8 3.2-16-3.2-21.2s-15.6-4.8-21.5 1.1L393.4 192c-5.2 5.2-13.6 5.2-18.8 0c-4.9-4.9-5.2-12.8-.6-18.1l86.1-99.4c5.5-6.3 5.2-15.9-.8-21.8s-15.4-6.3-21.8-.8L338.1 138c-5.3 4.6-13.2 4.3-18.1-.6c-5.2-5.2-5.2-13.6 0-18.8l91.3-91.3z\", \"M9.4 457.4L255.7 211c3.9 6.1 8.4 11.8 13.6 17L284 242.6c5.2 5.2 10.9 9.8 17 13.6L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3z\"]]\n};\nvar faUtensilFork = faFork;\nvar faArrowsUpToLine = {\n prefix: 'fad',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", [\"M0 64C0 81.7 14.3 96 32 96l512 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64z\", \"M54.6 278.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L160 237.3 160 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-210.7L54.6 278.6zm320 0c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 237.3 480 448c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-210.7-41.4 41.4z\"]]\n};\nvar faMobileSignal = {\n prefix: 'fad',\n iconName: 'mobile-signal',\n icon: [512, 512, [], \"e1ef\", [\"M288 64H64V448H227c-2 13-3 26.4-3 40v24H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64V261.7c-24.1 14.5-45.7 32.8-64 54V64zM128 400c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16z\", \"M512 280c0-13.3-10.7-24-24-24c-128.1 0-232 103.9-232 232c0 13.3 10.7 24 24 24s24-10.7 24-24c0-101.6 82.4-184 184-184c13.3 0 24-10.7 24-24zM448 480a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40-128c-75.1 0-136 60.9-136 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-48.6 39.4-88 88-88c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]]\n};\nvar faBarcodeScan = {\n prefix: 'fad',\n iconName: 'barcode-scan',\n icon: [640, 512, [], \"f465\", [\"M0 256c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\", \"M64 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V192H64V56zm0 264h64V456c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V320zm96 0h32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V320zm64 0h64V456c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V320zm64-128H224V56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V192zm32 128h64V456c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V320zm64-128H320V56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V192zm64 128h32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V320zm32-128H448V48c0-8.8 7.2-16 16-16s16 7.2 16 16V192zm32 128h64V456c0 13.3-10.7 24-24 24H536c-13.3 0-24-10.7-24-24V320zm64-128H512V56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V192zm-384 0H160V48c0-8.8 7.2-16 16-16s16 7.2 16 16V192z\"]]\n};\nvar faSortDown = {\n prefix: 'fad',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", [\"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128zM109.3 160H210.7L160 109.3 109.3 160z\", \"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]]\n};\nvar faSortDesc = faSortDown;\nvar faFolderArrowDown = {\n prefix: 'fad',\n iconName: 'folder-arrow-down',\n icon: [512, 512, [\"folder-download\"], \"e053\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM280 200c0-13.3-10.7-24-24-24s-24 10.7-24 24V302.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V200z\", \"M256 176c13.3 0 24 10.7 24 24V302.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V200c0-13.3 10.7-24 24-24z\"]]\n};\nvar faFolderDownload = faFolderArrowDown;\nvar faCircleMinus = {\n prefix: 'fad',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 256c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMinusCircle = faCircleMinus;\nvar faFaceIcicles = {\n prefix: 'fad',\n iconName: 'face-icicles',\n icon: [512, 512, [], \"e37c\", [\"M512 256c0 8.3-.4 16.6-1.2 24.7c0 .5-.1 1.1-.1 1.6l-14.8 200C494.7 499.1 480.8 512 464 512s-30.7-12.9-31.9-29.6l-2.8-37.9c-5 4.6-10.2 9-15.6 13.2l-11.5 32.9C397.7 503.4 385.6 512 372 512c-11.5 0-21.9-6.1-27.5-15.7C316.9 506.5 287.1 512 256 512c-69.4 0-132.3-27.6-178.4-72.4C71.9 444.9 64.3 448 56 448c-15.6 0-29-11.3-31.6-26.7L6.5 313.4C2.2 294.9 0 275.7 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM56 415.8l0 .2 0-.2 20-120.2C78.1 283.3 68.6 272 56 272s-22.1 11.3-20.1 23.7L56 415.8zM344 400l28 80 28-80V360l-56 0v40zm55.3-56c-3.8-22.7-23.6-40-47.3-40h-8v40l55.3 0zM328 344V304H264v40h64zm0 56V360H264v40l32 48 32-48zm-80-96H184v40l64 0V304zm0 56l-64 0v40h64V360zm-80-16V304h-8c-23.8 0-43.5 17.3-47.3 40H168zm0 56V360H112.7c3.8 22.7 23.6 40 47.3 40h8zm40.4-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM464 480l21.8-232.1C487 235.1 476.9 224 464 224s-23 11.1-21.8 23.9L464 480z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faShovel = {\n prefix: 'fad',\n iconName: 'shovel',\n icon: [512, 512, [], \"f713\", [\"M406.6 9.4c-12.5-12.5-32.8-12.5-45.3 0L317.3 53.5C298.5 72.2 288 97.6 288 124.1c0 15.9 3.7 30.9 10.3 44.3l-97 97 45.3 45.3 97-97c13.4 6.6 28.4 10.3 44.3 10.3c26.5 0 51.9-10.5 70.6-29.3l44.1-44.1c12.5-12.5 12.5-32.8 0-45.3l-96-96zM362.5 98.7L384 77.3 434.7 128l-21.5 21.5c-6.7 6.7-15.9 10.5-25.4 10.5c-19.8 0-35.9-16.1-35.9-35.9c0-9.5 3.8-18.6 10.5-25.4z\", \"M0 386.3V480c0 17.7 14.3 32 32 32h93.7c42.4 0 83.1-16.9 113.1-46.9l58.5-58.5c12.5-12.5 12.5-32.8 0-45.3L150.6 214.6c-12.5-12.5-32.8-12.5-45.3 0L46.9 273.1C16.9 303.1 0 343.8 0 386.3z\"]]\n};\nvar faDoorOpen = {\n prefix: 'fad',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", [\"M307.7 6.8C315.5 12.8 320 22.1 320 32V480v32l-32 0L96 512l-32 0V480 92.5c0-22 15-41.2 36.4-46.6L280.2 1c9.6-2.4 19.7-.2 27.5 5.8zM232 288c13.3 0 24-14.3 24-32s-10.7-32-24-32s-24 14.3-24 32s10.7 32 24 32z\", \"M320 128H448V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H512V128c0-35.3-28.7-64-64-64H320v64zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448H32zM232 288c13.3 0 24-14.3 24-32s-10.7-32-24-32s-24 14.3-24 32s10.7 32 24 32z\"]]\n};\nvar faFilms = {\n prefix: 'fad',\n iconName: 'films',\n icon: [576, 512, [], \"e17a\", [\"M256 112v48c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32zm0 144v48c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\", \"M96 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96zm56 0v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16zM488 80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H488zM152 200v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V200c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16zm336-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V200c0-8.8-7.2-16-16-16H488zM152 304v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16zm336-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H488zM256 112v48c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32zm32 112c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H288z\"]]\n};\nvar faRightFromBracket = {\n prefix: 'fad',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", [\"M199.7 60.8c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96l0-256c0-53 43-96 96-96l64 0c17.7 0 32 14.3 32 32z\", \"M508.4 225.5L385.7 102.7c-6.4-6.4-15-9.9-24-9.9c-18.7 0-33.9 15.2-33.9 33.9l0 62.1-128 0c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l128 0 0 62.1c0 18.7 15.2 33.9 33.9 33.9c9 0 17.6-3.6 24-9.9L508.4 280.1c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3z\"]]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faFaceGlasses = {\n prefix: 'fad',\n iconName: 'face-glasses',\n icon: [512, 512, [], \"e377\", [\"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256c0-22.8 3-44.8 8.5-65.8c2.2 1.2 4.8 1.8 7.5 1.8H48v56c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V192h32v56c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V192h32c2.7 0 5.2-.7 7.5-1.8c5.6 21 8.5 43.1 8.5 65.8zM53.4 160H18.6C56.6 66.2 148.6 0 256 0S455.4 66.2 493.4 160H458.6c-9-18.9-28.3-32-50.6-32H328c-22.3 0-41.6 13.1-50.6 32H234.6c-9-18.9-28.3-32-50.6-32H104c-22.3 0-41.6 13.1-50.6 32zm88.1 179.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 362.2 299.4 384 256 384s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6z\", \"M16 192H48v56c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V192h32v56c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V192h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H458.6c-9-18.9-28.3-32-50.6-32H328c-22.3 0-41.6 13.1-50.6 32H234.6c-9-18.9-28.3-32-50.6-32H104c-22.3 0-41.6 13.1-50.6 32H16c-8.8 0-16 7.2-16 16s7.2 16 16 16zm64 56V192v-8c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v64c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24zm352-56v56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v8zM184.4 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faNfc = {\n prefix: 'fad',\n iconName: 'nfc',\n icon: [448, 512, [], \"e1f7\", [\"M210.7 128H144 112c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-5.6 1-11 2.7-16z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h66.7c6.6-18.6 24.4-32 45.3-32h80c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z\"]]\n};\nvar faAtom = {\n prefix: 'fad',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", [\"M290.9 412.3c-16.7 33.8-31 35.7-34.9 35.7s-18.1-1.9-34.9-35.7c11.4-3.9 23.1-8.4 34.9-13.5c11.8 5.1 23.4 9.7 34.9 13.5zM469.6 384c20.7-37.1 9.4-82.8-23.6-128c33-45.2 44.3-90.9 23.6-128c-20.2-36.3-62.5-49.3-115.2-43.2C332.4 32.7 298.8 0 256 0s-76.4 32.7-98.4 84.8c-52.7-6.1-95 6.8-115.2 43.2C21.7 165.1 33 210.8 66 256c-33 45.2-44.3 90.9-23.6 128c20.2 36.3 62.5 49.3 115.2 43.2c22 52.1 55.7 84.8 98.4 84.8s76.4-32.7 98.4-84.8c52.7 6.1 95-6.8 115.2-43.2zm-67.8-79.2c18.9 30.2 14.2 44 11.9 48.1c-1.6 2.9-8.4 13-40.2 11.7c2.8-13.1 5-26.9 6.7-41.2c7.6-6.1 14.8-12.3 21.6-18.6zm11.9-145.7c2.3 4.2 7 17.9-11.9 48.1c-6.8-6.3-14-12.5-21.6-18.6c-1.7-14.3-3.9-28-6.7-41.2c31.8-1.4 38.6 8.7 40.2 11.7zM256 64c3.9 0 18.1 1.9 34.9 35.7c-11.4 3.9-23.1 8.4-34.9 13.5c-11.8-5.1-23.4-9.7-34.9-13.5C237.9 65.9 252.1 64 256 64zM138.5 147.5c-2.8 13.1-5 26.9-6.7 41.2c-7.6 6.1-14.8 12.3-21.6 18.6C91.4 177 96 163.3 98.3 159.1c1.6-2.9 8.4-13 40.2-11.7zM98.3 352.9c-2.3-4.2-7-17.9 11.9-48.1c6.8 6.3 14 12.5 21.6 18.6c1.7 14.2 3.9 28 6.7 41.2c-31.8 1.4-38.6-8.7-40.2-11.7zM256 176a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faSoap = {\n prefix: 'fad',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", [\"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm96 144a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM384 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M385.6 262.1C404.3 244.5 416 219.6 416 192c53 0 96 43 96 96V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V288c0-53 43-96 96-96H224c0 24.6 9.2 47 24.4 64H160c-53 0-96 43-96 96s43 96 96 96H352c53 0 96-43 96-96c0-41.2-25.9-76.3-62.4-89.9zM320 288h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H160c-35.3 0-64-28.7-64-64s28.7-64 64-64H320z\"]]\n};\nvar faIcons = {\n prefix: 'fad',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", [\"M139.7 219.1l96.4-99.9c28-29 26.5-76.9-4.5-103.9c-28-23.5-68.9-19-93.9 6.5l-9.5 10.5-10-10.5c-25-25.5-66.4-30-93.4-6.5c-31.5 27-33 74.9-5 103.9l96.9 99.9c6 6.5 16.5 6.5 23 0zm333.7 39.9c-6-4.4-14.3-4-19.9 .9l-128 112c-5 4.4-6.8 11.4-4.4 17.7s8.3 10.4 15 10.4h55.7l-38.4 89.7c-2.9 6.9-.7 14.9 5.3 19.2s14.3 4 19.9-.9l128-112c5-4.4 6.8-11.4 4.4-17.7s-8.3-10.4-15-10.4H440.3l38.4-89.7c2.9-6.9 .7-14.9-5.3-19.2z\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L352 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM74.7 304l11.8-17.8c5.9-8.9 15.9-14.2 26.6-14.2h61.7c10.7 0 20.7 5.3 26.6 14.2L213.3 304H256c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V336c0-17.7 14.3-32 32-32H74.7zM192 408a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'fad',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", [\"M401.3 412.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2zm70.8-67.5c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v24 16c0 21.2-5.1 41.1-14.2 58.7l38.3 30zM408 294.5c5.2-11.8 8-24.8 8-38.5H358.9L408 294.5zM324.4 229c2.9-3.1 7-5 11.6-5h80V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96s-96 43-96 96v54.3L324.4 229z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faClosedCaptioningSlash = {\n prefix: 'fad',\n iconName: 'closed-captioning-slash',\n icon: [640, 512, [], \"e135\", [\"M32 121.2V416c0 35.3 28.7 64 64 64H487.4L295 328.4c-16.8 14.7-38.9 23.6-63 23.6c-53 0-96-43-96-96c0-16 3.9-31.1 10.8-44.3L32 121.2zM255.9 297.6l-70-55.1c-1.3 4.3-1.9 8.8-1.9 13.5c0 26.5 21.5 48 48 48c8.7 0 16.9-2.3 23.9-6.4zM303.5 192c6.1 6.8 7.6 16.2 4.7 24.3l22.4 17.5c10-42.3 48-73.8 93.4-73.8c28.4 0 54 12.4 71.5 32c8.8 9.9 8 25-1.9 33.9s-25 8-33.9-1.9c-8.8-9.9-21.6-16-35.8-16c-26.5 0-48 21.5-48 48c0 5.4 .9 10.5 2.5 15.4l41.4 32.5c1.3 .1 2.7 .2 4.1 .2c14.2 0 27-6.1 35.8-16c8.8-9.9 24-10.7 33.9-1.9s10.7 24 1.9 33.9c-7.8 8.7-17.2 16-27.7 21.4L600.8 445.6c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L236.6 160.1c26.6 1.2 50.4 13.3 67 31.9z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCalculatorSimple = {\n prefix: 'fad',\n iconName: 'calculator-simple',\n icon: [512, 512, [\"calculator-alt\"], \"f64c\", [\"M48 0C21.5 0 0 21.5 0 48V176c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM336 0c-26.5 0-48 21.5-48 48V176c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H336zM0 336V464c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48zM416 64V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H416v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H352c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16s16 7.2 16 16zM64 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16s7.2-16 16-16zM83.3 348.7L112 377.4l28.7-28.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L134.6 400l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L112 422.6 83.3 451.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L89.4 400 60.7 371.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\", \"M416 64V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H416v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H352c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16s16 7.2 16 16zM64 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16s7.2-16 16-16zM83.3 348.7L112 377.4l28.7-28.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L134.6 400l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L112 422.6 83.3 451.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L89.4 400 60.7 371.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM288 336c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V336zm48 32c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faCalculatorAlt = faCalculatorSimple;\nvar faBridgeCircleCheck = {\n prefix: 'fad',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", [\"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h72v72.2C577.6 207.1 538.5 192 496 192c-69.1 0-128.9 39.8-157.7 97.7c-5.9-1.1-12-1.7-18.3-1.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faSlidersUp = {\n prefix: 'fad',\n iconName: 'sliders-up',\n icon: [512, 512, [\"sliders-v\"], \"f3f1\", [\"M96 0C78.3 0 64 14.3 64 32V86.7C73.8 82.4 84.6 80 96 80s22.2 2.4 32 6.7V32c0-17.7-14.3-32-32-32zM64 233.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V233.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7zM256 0c-17.7 0-32 14.3-32 32V278.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V32c0-17.7-14.3-32-32-32zM224 425.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V425.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7zM448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v86.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V32zM384 265.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V265.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7z\", \"M96 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112A80 80 0 1 0 96 80a80 80 0 1 0 0 160zm160 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM384 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faSlidersV = faSlidersUp;\nvar faLocationMinus = {\n prefix: 'fad',\n iconName: 'location-minus',\n icon: [384, 512, [\"map-marker-minus\"], \"f609\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM120 168H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M96 192c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMapMarkerMinus = faLocationMinus;\nvar faPumpMedical = {\n prefix: 'fad',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", [\"M117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM216 280v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V280c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M128 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h60.1c21.2 0 41.6 8.4 56.6 23.4l33.9 33.9c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-33.9-33.9c-3-3-7.1-4.7-11.3-4.7H256v64H128V32zm64 224c13.3 0 24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V280c0-13.3 10.7-24 24-24z\"]]\n};\nvar faFingerprint = {\n prefix: 'fad',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", [\"M256 80c97.2 0 176 78.8 176 176v24.9c0 27.7-1.7 55.3-5 82.7c-1.4 11.7-11.5 20.3-23.3 20.3c-14.7 0-25.9-13.2-24.2-27.8c3-24.9 4.4-50.1 4.4-75.3V256c0-70.7-57.3-128-128-128c-11.6 0-22.8 1.5-33.4 4.4c-10.6 2.9-22.3 .4-29.4-7.9c-10.4-12.1-6.9-30.9 8.3-35.9C218.6 83 237 80 256 80zM150.7 148.7c8.2 9.6 7.5 23.8 .2 34.2C136.5 203.6 128 228.8 128 256v24.9c0 28.9-3.3 57.7-9.7 85.8C115.9 377 106.6 384 96.1 384c-15.9 0-27.3-15.6-23.9-31.1c5.2-23.6 7.8-47.7 7.8-71.9V256c0-40.6 13.7-78 36.8-107.7c8.5-11 24.8-10.2 33.9 .4zM280 256v24.9c0 65.8-12.1 131-35.7 192.4l-5.9 15.3c-4.8 12.4-18.6 18.5-31 13.8s-18.5-18.6-13.8-31l5.9-15.3C221 400.2 232 340.8 232 280.9V256c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-18.1-1.9-35.8-5.5-52.9zM352 256c0-53-43-96-96-96s-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256z\"]]\n};\nvar faSkiBoot = {\n prefix: 'fad',\n iconName: 'ski-boot',\n icon: [512, 512, [], \"e3cc\", [\"M480 448L5.6 448l-5 26c-1.8 9.4 .7 19.1 6.8 26.4c6.1 7.3 15.1 11.6 24.6 11.6H480.1c17.6 0 31.9-14.3 31.9-32c0-17.7-14.3-32-32-32zM35.4 292.8c45.7-10.8 158.9-58 194-260.8H112C96.7 32 83.5 42.9 80.6 58L35.4 292.8z\", \"M358 .6c17.4 3.3 28.7 20.1 25.4 37.5l-6.2 32L360 160H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h65.8l-12.3 64H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h68l122 59.2c11 5.4 18 16.5 18 28.8v72L5.6 448 35.4 292.8c45.7-10.8 158.9-58 194-260.8h90l1.2-6C323.9 8.6 340.7-2.8 358 .6z\"]]\n};\nvar faStandardDefinition = {\n prefix: 'fad',\n iconName: 'standard-definition',\n icon: [576, 512, [\"rectangle-sd\"], \"e28a\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352zm-193.2 8.1c-.3 3 .2 3.9 .3 4.1l0 0c.2 .3 .9 1.5 3.9 3.3c7 4.2 18 7 34.1 10.7l1.7 .4 0 0c13.6 3.2 31.5 7.3 45.1 15.5c7.7 4.6 15.4 11.1 20.5 20.7c5.3 9.8 6.7 20.8 5 32.3c-1.6 10.9-6 20.7-13.4 28.5c-7.2 7.6-16 12.3-24.9 15.2c-17.2 5.4-37.5 4.9-56.4 2.3l-.1 0 0 0c-11-1.5-28.6-6.7-39.4-9.9l0 0 0 0 0 0c-2-.6-3.8-1.1-5.3-1.5c-11.9-3.4-18.8-15.8-15.4-27.7s15.8-18.8 27.7-15.4c2.3 .6 4.7 1.4 7.2 2.1c11.1 3.2 24 7 31.4 8c16.8 2.2 29.2 1.8 36.9-.6c3.5-1.1 5.1-2.4 5.8-3.1c.5-.6 1.3-1.6 1.7-4.3c.5-3.4-.1-4.5-.2-4.7l0 0c-.2-.3-.9-1.5-3.9-3.3c-7-4.2-18-7-34.1-10.7l-1.7-.4 0 0c-13.6-3.2-31.5-7.3-45.1-15.5c-7.7-4.6-15.4-11.1-20.5-20.7c-5.3-9.8-6.7-20.8-5-32.3c.1-.4 .1-.8 .2-1.2c4.6-22.6 19.7-36.2 38.5-42.3c17.1-5.5 37.1-5 56-2.5c5.8 .8 23.2 3.7 29.7 5.1c12.1 2.8 19.6 14.8 16.9 26.8s-14.8 19.6-26.8 16.9c-4.7-1.1-20.6-3.7-25.7-4.4c-16.8-2.2-28.8-1.7-36.2 .7c-5.5 1.8-7.3 3.9-8.3 8z\", \"M328 160c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328zm24 144V208h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H352zM167.1 208.1c7.4-2.4 19.5-2.9 36.2-.7c5.1 .7 21.1 3.4 25.7 4.4c12.1 2.8 24.1-4.8 26.8-16.9s-4.8-24.1-16.9-26.8c-6.5-1.5-23.9-4.4-29.7-5.1c-18.9-2.5-38.9-3.1-56 2.5c-18.8 6.1-33.9 19.7-38.5 42.3c-.1 .4-.1 .8-.2 1.2c-1.7 11.4-.2 22.4 5 32.3c5.1 9.6 12.9 16.1 20.5 20.7c13.7 8.2 31.5 12.3 45.1 15.5l1.7 .4c16 3.7 27.1 6.5 34.1 10.7c3 1.8 3.8 3 3.9 3.3l0 0c.1 .1 .7 1.2 .2 4.7c-.4 2.7-1.2 3.8-1.7 4.3c-.7 .7-2.3 2-5.8 3.1c-7.7 2.4-20.1 2.9-36.9 .6c-7.4-1-20.3-4.8-31.4-8c-2.5-.7-5-1.4-7.2-2.1c-11.9-3.4-24.3 3.5-27.7 15.4s3.5 24.3 15.4 27.7c1.5 .4 3.3 1 5.3 1.6l0 0 0 0c10.8 3.2 28.4 8.3 39.4 9.9l0 0 .1 0c18.9 2.5 39.2 3.1 56.4-2.3c8.9-2.8 17.8-7.5 24.9-15.2c7.3-7.8 11.8-17.6 13.4-28.5c1.7-11.4 .2-22.4-5-32.3c-5.1-9.6-12.9-16.1-20.5-20.7c-13.7-8.2-31.5-12.3-45.1-15.5l0 0-1.7-.4c-16-3.7-27.1-6.5-34.1-10.7c-3-1.8-3.8-3-3.9-3.3l0 0c-.1-.1-.6-1.1-.3-4.1c.9-4 2.8-6.2 8.3-8z\"]]\n};\nvar faRectangleSd = faStandardDefinition;\nvar faH1 = {\n prefix: 'fad',\n iconName: 'h1',\n icon: [576, 512, [], \"f313\", [\"M32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\", \"M496.8 68.8C506.3 74.6 512 84.9 512 96V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480 416c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V147.8l-17.7 8.8c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9l64-32c9.9-5 21.7-4.4 31.1 1.4z\"]]\n};\nvar faHandPointRight = {\n prefix: 'fad',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", [\"M512 128c0 17.7-14.3 32-32 32l-208 0 0-64 208 0c17.7 0 32 14.3 32 32zM200 288l.6 0c-5.4 9.4-8.6 20.3-8.6 32c0 13.2 4 25.4 10.8 35.6C177.9 364.3 160 388.1 160 416c0 11.7 3.1 22.6 8.6 32l-8.6 0C71.6 448 0 376.4 0 288l0-61.7c0-42.4 16.9-83.1 46.9-113.1l11.6-11.6C82.5 77.5 115.1 64 149 64l27 0c35.3 0 64 28.7 64 64l0 88c0 22.1-17.9 40-40 40s-40-17.9-40-40l0-56c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 56c0 39.8 32.2 72 72 72z\", \"M352 192c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32h48zm-32 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0zm0 128c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c17.7 0 32 14.3 32 32z\"]]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'fad',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", [\"M208 416A208 208 0 1 0 208 0a208 208 0 1 0 0 416zm11.4-101.4c-6 7.3-16.8 7.3-22.7 0C174.5 287.6 128 224.8 128 176c0-44.2 35.8-80 80-80s80 35.8 80 80c0 48.8-46.5 111.6-68.6 138.6z\", \"M288 176c0 48.8-46.5 111.6-68.6 138.6c-6 7.3-16.8 7.3-22.7 0C174.5 287.6 128 224.8 128 176c0-44.2 35.8-80 80-80s80 35.8 80 80zm-48 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm90.7 200C348 363.3 363.3 348 376 330.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376z\"]]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faMessageBot = {\n prefix: 'fad',\n iconName: 'message-bot',\n icon: [640, 512, [], \"e3b8\", [\"M96 64c0-35.3 28.7-64 64-64H480c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H373.3L249.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H160c-35.3 0-64-28.7-64-64V64zm96 32c-17.7 0-32 14.3-32 32V256c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192z\", \"M59.7 208c-5.5 9.6-15.9 16-27.7 16c-17.7 0-32-14.3-32-32s14.3-32 32-32c11.8 0 22.2 6.4 27.7 16H96v32H59.7zM192 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm224 32c0 17.7-14.3 32-32 32c-11.8 0-22.2-6.4-27.7-16H544V176h36.3c5.5-9.6 15.9-16 27.7-16c17.7 0 32 14.3 32 32z\"]]\n};\nvar faForwardStep = {\n prefix: 'fad',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", [\"M288 448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32z\", \"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4l192-160L256 271V241l-11.5-9.6-192-160c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z\"]]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'fad',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm53.5-96.7l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\", \"M217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faLightCeiling = {\n prefix: 'fad',\n iconName: 'light-ceiling',\n icon: [512, 512, [], \"e016\", [\"M256 0c17.7 0 32 14.3 32 32V192H256 224V32c0-17.7 14.3-32 32-32zm64 448c0 35.3-28.7 64-64 64s-64-28.7-64-64H320z\", \"M256 192C125.4 192 17.7 289.8 2 416.1C-.2 433.6 14.3 448 32 448H480c17.7 0 32.2-14.4 30-31.9C494.3 289.8 386.6 192 256 192z\"]]\n};\nvar faMessageExclamation = {\n prefix: 'fad',\n iconName: 'message-exclamation',\n icon: [512, 512, [\"comment-alt-exclamation\"], \"f4a5\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM256 80c-13.3 0-24 10.7-24 24V216c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 104c0-13.3-10.7-24-24-24s-24 10.7-24 24V216c0 13.3 10.7 24 24 24s24-10.7 24-24V104zM256 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faCommentAltExclamation = faMessageExclamation;\nvar faBowlScoop = {\n prefix: 'fad',\n iconName: 'bowl-scoop',\n icon: [448, 512, [127847, \"bowl-shaved-ice\"], \"e3de\", [\"M413.3 256c1.7-10.4 2.7-21.1 2.7-32c0-106-86-192-192-192S32 118 32 224c0 10.9 .9 21.6 2.7 32H413.3z\", \"M4 261.4c3-3.4 7.4-5.4 12-5.4H432c4.6 0 9 2 12 5.4s4.5 8 3.9 12.6l-2 15.9C436.9 361.9 375.6 416 303 416H262.6l68.7 68.7c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H128c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4L185.4 416H145C72.4 416 11.1 361.9 2.1 289.9L.1 274c-.6-4.6 .8-9.1 3.9-12.6z\"]]\n};\nvar faBowlShavedIce = faBowlScoop;\nvar faSquareX = {\n prefix: 'fad',\n iconName: 'square-x',\n icon: [448, 512, [], \"e286\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.3 104.5L224 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L255.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L224 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L192.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8z\", \"M120.5 133.7c10.1-8.6 25.3-7.3 33.8 2.8L224 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L255.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L224 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L192.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8z\"]]\n};\nvar faUtilityPoleDouble = {\n prefix: 'fad',\n iconName: 'utility-pole-double',\n icon: [512, 512, [], \"e2c4\", [\"M128 64H80V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8zM48 64H0V56C0 42.7 10.7 32 24 32s24 10.7 24 24v8zm35.2 64h57.7L224 183.4v38.5L83.2 128zM288 183.4L371.2 128h57.7L288 221.9V183.4zM384 64V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8H384zm80 0V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8H464zM288 375.4L371.2 320h57.7L288 413.9V375.4zM140.8 320L224 375.4v38.5L83.2 320h57.7zM128 256H80v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8zm-80 0H0v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8zm464 0H464v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8zm-80 0H384v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8z\", \"M256 0c17.7 0 32 14.3 32 32V64H512V96c0 17.7-14.3 32-32 32H288V256H512v32c0 17.7-14.3 32-32 32H288V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320H32c-17.7 0-32-14.3-32-32V256H224V128H32C14.3 128 0 113.7 0 96V64H224V32c0-17.7 14.3-32 32-32z\"]]\n};\nvar faFlagCheckered = {\n prefix: 'fad',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", [\"M64 246.2l69-17.2c19.4-4.9 39.4-6.1 59-3.8V331.8c20.3 2.4 40.2 8.3 58.7 17.5c21.8 10.9 45.4 17.1 69.3 18.5V258.7c25.2 0 50.4-5.8 73.6-17.4L448 214.2v-96l-54.4 27.2c-23.2 11.6-48.4 17.4-73.6 17.4V60.6c-25.2 0-50.4-5.8-73.6-17.4c-17.2-8.6-35.6-14-54.4-16.3V129.1c18.8 2.2 37.2 7.7 54.4 16.3c23.2 11.6 48.4 17.4 73.6 17.4v96c-25.2 0-50.4-5.8-73.6-17.4c-17.2-8.6-35.6-14-54.4-16.3v-96c-19.6-2.3-39.6-1.1-59 3.8L64 150.2v96z\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352l64.3-16.1c21-5.2 42.6-6.6 63.7-4.1V225.1c-19.6-2.3-39.6-1.1-59 3.8L64 246.2v-96l69-17.2c19.4-4.9 39.4-6.1 59-3.8v96c18.8 2.2 37.2 7.7 54.4 16.3c23.2 11.6 48.4 17.4 73.6 17.4V367.8c24.4 1.4 49.1-2.2 72.5-11l34.7-13c12.5-4.7 20.8-16.6 20.8-30V214.2l-54.4 27.2c-23.2 11.6-48.4 17.4-73.6 17.4v-96c25.2 0 50.4-5.8 73.6-17.4L448 118.2v-52c0-23-24.2-38-44.8-27.7l-9.6 4.8C370.4 54.8 345.2 60.6 320 60.6V162.7c-25.2 0-50.4-5.8-73.6-17.4c-17.2-8.6-35.6-14-54.4-16.3V27c-19.6-2.3-39.6-1.1-59 3.8L64 48V32z\"]]\n};\nvar faChevronsUp = {\n prefix: 'fad',\n iconName: 'chevrons-up',\n icon: [512, 512, [\"chevron-double-up\"], \"f325\", [\"M233.4 233.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 301.3 86.6 470.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\", \"M233.4 41.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 109.3 86.6 278.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\"]]\n};\nvar faChevronDoubleUp = faChevronsUp;\nvar faFootball = {\n prefix: 'fad',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", [\"M16.8 306.7c2.1-19.2 5.4-38.6 10.1-57.8L264.5 486.6c-18.3 4.4-37.7 7.6-58.4 9.5L16.8 306.7zM485.1 263L247.5 25.4c18.3-4.4 37.7-7.6 58.4-9.5L495.2 205.3c-2.1 19.2-5.4 38.6-10.1 57.8z\", \"M247.5 25.4c-13.5 3.3-26.4 7.2-38.6 11.7C142.9 61.6 96.7 103.6 66 153.6c-18.3 29.8-30.9 62.3-39.2 95.4L264.5 486.6c13.5-3.3 26.4-7.2 38.6-11.7c66-24.5 112.2-66.5 142.9-116.5c18.3-29.8 30.9-62.3 39.1-95.3L247.5 25.4zM495.2 205.3c6.1-56.8 1.4-112.2-7.7-156.4c-2.7-12.9-13-22.9-26.1-25.1c-58.2-9.7-109.9-12-155.6-7.9L495.2 205.3zM206.1 496L16.8 306.7c-6.1 56.8-1.4 112.2 7.7 156.4c2.7 12.9 13 22.9 26.1 25.1c58.2 9.7 109.9 12 155.6 7.9zm54.6-331.3c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-48 48c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6z\"]]\n};\nvar faFootballBall = faFootball;\nvar faUserVneck = {\n prefix: 'fad',\n iconName: 'user-vneck',\n icon: [448, 512, [], \"e461\", [\"M352 128A128 128 0 1 1 96 128a128 128 0 1 1 256 0z\", \"M130 308.3c6.1-1.4 12.4 1.4 15.9 6.6L210.7 412c6.3 9.5 20.3 9.5 26.6 0l64.8-97.1c3.5-5.2 9.8-8 15.9-6.6c74.5 17.2 130 84 130 163.7v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-79.7 55.5-146.5 130-163.7z\"]]\n};\nvar faSchoolCircleExclamation = {\n prefix: 'fad',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", [\"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V266.8C608.1 221.6 555.5 192 496 192c-38.5 0-74.2 12.4-103.1 33.4c9.6-14.1 15.1-31.1 15.1-49.4c0-48.6-39.4-88-88-88s-88 39.4-88 88s39.4 88 88 88c15.6 0 30.2-4 42.9-11.1c-23.4 27.1-38.8 61.4-42.2 99.1h-.5l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM336 144v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faCrop = {\n prefix: 'fad',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", [\"M457.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-56.8 56.8c-5.9-22-23.2-39.4-45.3-45.3L457.4 9.4zM384 128v45.3L173.3 384H384v64H128c-35.3 0-64-28.7-64-64V32C64 14.3 78.3 0 96 0s32 14.3 32 32V338.7L338.7 128H384zm64 320V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H448z\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H64V64H32zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-352c0-35.3-28.7-64-64-64H128v64l256 0 0 352z\"]]\n};\nvar faAnglesDown = {\n prefix: 'fad',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", [\"M201.4 278.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 210.7 86.6 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\", \"M201.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 86.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'fad',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", [\"M175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M0 96C0 43 43 0 96 0H544c53 0 96 43 96 96V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V96zM96 64C78.3 64 64 78.3 64 96V416c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faPeopleRoof = {\n prefix: 'fad',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", [\"M360 200a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 296a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5V400c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V345.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5z\", \"M304.5 4c9.7-5.4 21.4-5.4 31.1 0l288 160c15.4 8.6 21 28.1 12.4 43.5s-28.1 21-43.5 12.4L320 68.6 47.5 220c-15.4 8.6-34.9 3-43.5-12.4s-3-34.9 12.4-43.5L304.5 4z\"]]\n};\nvar faSquareArrowRight = {\n prefix: 'fad',\n iconName: 'square-arrow-right',\n icon: [448, 512, [\"arrow-square-right\"], \"f33b\", [\"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM361 273L249 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L104 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L361 239c9.4 9.4 9.4 24.6 0 33.9z\", \"M361 239c9.4 9.4 9.4 24.6 0 33.9L249 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L104 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L361 239z\"]]\n};\nvar faArrowSquareRight = faSquareArrowRight;\nvar faLocationPlus = {\n prefix: 'fad',\n iconName: 'location-plus',\n icon: [384, 512, [\"map-marker-plus\"], \"f60a\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM168 280V216H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V104c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M168 216v64c0 13.3 10.7 24 24 24s24-10.7 24-24V216h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V104c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H104c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faMapMarkerPlus = faLocationPlus;\nvar faLightbulbExclamationOn = {\n prefix: 'fad',\n iconName: 'lightbulb-exclamation-on',\n icon: [640, 512, [], \"e1ca\", [\"M449.2 297.8c-19.8 27.1-39.7 54.4-49.2 86.2H240c-9.6-31.9-29.5-59.1-49.2-86.2c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4zM320 64c-13.3 0-24 10.7-24 24V200c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M69.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S58.3-3.3 69.3 4zM597.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM117.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm432-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM400 432c0 44.2-35.8 80-80 80s-80-35.8-80-80V384H400v48z\"]]\n};\nvar faPeopleLine = {\n prefix: 'fad',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", [\"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 168a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 217.5V272c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V217.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 313.5V352c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V313.5z\", \"M0 448c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faBeerMugEmpty = {\n prefix: 'fad',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", [\"M32 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h51.2c42.4 0 76.8 34.4 76.8 76.8V274.9c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM384 311.6l56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7V172.8c0-7.1-5.7-12.8-12.8-12.8H384V311.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\", \"M144 128c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]]\n};\nvar faBeer = faBeerMugEmpty;\nvar faCrateEmpty = {\n prefix: 'fad',\n iconName: 'crate-empty',\n icon: [512, 512, [], \"e151\", [\"M48 224c-26.5 0-48 21.5-48 48v80H512V272c0-26.5-21.5-48-48-48H48zM512 384H0v80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V384zM64 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM48 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\", \"M64 304a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM464 288a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM448 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faDiagramPredecessor = {\n prefix: 'fad',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", [\"M448 480c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0z\", \"M224 224c35.3 0 64-28.7 64-64V96l80 0c8.8 0 16 7.2 16 16v16H345.9c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41H448V112c0-44.2-35.8-80-80-80H224 208 64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64l160 0z\"]]\n};\nvar faTransporter = {\n prefix: 'fad',\n iconName: 'transporter',\n icon: [512, 512, [], \"e042\", [\"M472.7 6.6L480 32l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 64l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 64l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 32l7.3-25.4C456.4 2.7 459.9 0 464 0s7.6 2.7 8.7 6.6zm-416 64L64 96l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 128l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 128 6.6 120.7C2.7 119.6 0 116.1 0 112s2.7-7.6 6.6-8.7L32 96l7.3-25.4C40.4 66.7 43.9 64 48 64s7.6 2.7 8.7 6.6z\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 272v96H184V237.3L153 276c-11.1 13.8-31.2 16-45 5s-16-31.2-5-45l57.7-72c18.2-22.7 45.8-36 74.9-36h40.7c29.1 0 56.7 13.2 74.9 36L409 236c11 13.8 8.8 33.9-5 45s-33.9 8.8-45-5l-31-38.7V416H264V320H248zM216 512H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H296 216z\"]]\n};\nvar faCalendarCircleUser = {\n prefix: 'fad',\n iconName: 'calendar-circle-user',\n icon: [576, 512, [], \"e471\", [\"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32zM416 192.7c-89.7 8.1-160 83.5-160 175.3c0 59.5 29.6 112.1 74.8 144H48c-26.5 0-48-21.5-48-48V192H416v.7z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-32c-30.2 0-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7C489.5 468.1 462.2 480 432 480zm0-192a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faArrowUpLong = {\n prefix: 'fad',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", [\"M160 109.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32V109.3l-32-32-32 32z\", \"M169.4 9.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L192 77.3 86.6 182.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128z\"]]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faPersonCarryBox = {\n prefix: 'fad',\n iconName: 'person-carry-box',\n icon: [384, 512, [\"person-carry\"], \"f4cf\", [\"M224 96c-17.7 0-32 14.3-32 32v96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H224z\", \"M32 48a48 48 0 1 1 96 0A48 48 0 1 1 32 48zM96 241.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3L98.1 399.4 18.7 320C6.7 308 0 291.7 0 274.7V186.6C0 154.2 26.2 128 58.6 128c24.1 0 46.5 12 59.9 32l42.6 64H224c17.7 0 32 14.3 32 32s-14.3 32-32 32H152.6c-16 0-31-8-39.9-21.4L96 241.7zM0 480L0 346.5l64 64V480v0c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]]\n};\nvar faPersonCarry = faPersonCarryBox;\nvar faFireFlameSimple = {\n prefix: 'fad',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", [\"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zm-90.8 49.5c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\", \"M279.8 301.6l1.9 4.3c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1z\"]]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'fad',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", [\"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M88 256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9z\"]]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'fad',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", [\"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\", \"M128 96H512V352H128V96z\"]]\n};\nvar faFileCsv = {\n prefix: 'fad',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM200 352c-22.1 0-40 17.9-40 40v80c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40v-8c0-8.8-7.2-16-16-16s-16 7.2-16 16v8c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-22.1-17.9-40-40-40H200zm133.1 0c-24.9 0-45.1 20.2-45.1 45.1c0 17.8 10.5 34 26.8 41.2l37.4 16.6c4.7 2.1 7.8 6.8 7.8 12c0 7.2-5.9 13.1-13.1 13.1H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h42.9c24.9 0 45.1-20.2 45.1-45.1c0-17.8-10.5-34-26.8-41.2l-37.4-16.6c-4.7-2.1-7.8-6.8-7.8-12c0-7.2 5.9-13.1 13.1-13.1H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H333.1zm98.9 0c-8.8 0-16 7.2-16 16v31.6c0 34.7 10.3 68.7 29.6 97.6l5.1 7.7c3 4.5 8 7.1 13.3 7.1s10.3-2.7 13.3-7.1l5.1-7.7c19.3-28.9 29.6-62.9 29.6-97.6V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v31.6c0 23-5.5 45.6-16 66c-10.5-20.3-16-42.9-16-66V368c0-8.8-7.2-16-16-16z\"]]\n};\nvar faMenorah = {\n prefix: 'fad',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", [\"M2.7 49.7L20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1zm96 0L116.8 7.4C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L212.8 7.4zm77.8 42.4L308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L404.8 7.4zm77.8 42.4L500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L596.8 7.4z\", \"M64 160c0-17.7-14.3-32-32-32s-32 14.3-32 32V288c0 53 43 96 96 96H288v64H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H544c53 0 96-43 96-96V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V288c0 17.7-14.3 32-32 32H352V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V320H96c-17.7 0-32-14.3-32-32V160zm96 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v96 32h64V256 160zm96 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v96 32h64V256 160zm192 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v96 32h64V256 160zm96 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v96 32h64V256 160z\"]]\n};\nvar faUnion = {\n prefix: 'fad',\n iconName: 'union',\n icon: [384, 512, [8899], \"f6a2\", [\"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\", \"\"]]\n};\nvar faChevronsLeft = {\n prefix: 'fad',\n iconName: 'chevrons-left',\n icon: [512, 512, [\"chevron-double-left\"], \"f323\", [\"M233.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l192-192c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L301.3 256 470.6 425.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-192-192z\", \"M41.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l192-192c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256 278.6 425.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-192-192z\"]]\n};\nvar faChevronDoubleLeft = faChevronsLeft;\nvar faCircleHeart = {\n prefix: 'fad',\n iconName: 'circle-heart',\n icon: [512, 512, [\"heart-circle\"], \"f4c7\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM131.9 280.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L278.5 384.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L131.9 280.9z\", \"M131.9 172.9c-29.4 29.8-29.4 78.2 0 108L233.5 384.1c6.2 6.3 14.3 9.4 22.5 9.4s16.3-3.1 22.5-9.4L380.1 280.9c29.4-29.8 29.4-78.2 0-108s-77-29.8-106.4 0l-17.7 18-17.7-18c-29.4-29.8-77-29.8-106.4 0z\"]]\n};\nvar faHeartCircle = faCircleHeart;\nvar faTruckPlane = {\n prefix: 'fad',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", [\"M144 86.1C144 54.7 169.4 0 200 0c31.5 0 56 54.7 56 86.1v96.9l0 0c0 .4 0 .7 0 1.1V325.5 408v3.5l.1 .1c1.2 22.2 13.7 41.3 31.9 51.8V496c0 5.2 .8 10.3 2.4 15L200 480.9l-90.9 30.3c-4.9 1.6-10.2 .8-14.4-2.2s-6.6-7.8-6.6-13V464c0-4.9 2.2-9.5 6-12.5l50-40V330.3l-123.4 37c-4.8 1.5-10.1 .5-14.1-2.5S0 357.1 0 352V288c0-5.6 2.9-10.8 7.8-13.7L144 192.5V86.1z\", \"M336 128c-26.5 0-48 21.5-48 48V400c0 20.9 13.4 38.7 32 45.3V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V448H544v40c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V445.3c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H336zm16 176l15.8-49.3c3.3-8.7 11.2-14.7 20.5-14.7H539.7c9.2 0 17.2 6 20.5 14.7L576 304H352zm192 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM360 352a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faRecordVinyl = {\n prefix: 'fad',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", [\"M256 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]]\n};\nvar faBringForward = {\n prefix: 'fad',\n iconName: 'bring-forward',\n icon: [512, 512, [], \"f856\", [\"M448 448H224V352H160v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352v64h96V448z\", \"M0 288c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288z\"]]\n};\nvar faSquareP = {\n prefix: 'fad',\n iconName: 'square-p',\n icon: [448, 512, [], \"e279\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H176v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152c0-13.3 10.7-24 24-24zm92 136c24.3 0 44-19.7 44-44s-19.7-44-44-44H176v88h68z\", \"M128 152c0-13.3 10.7-24 24-24h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H176v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152zm48 112h68c24.3 0 44-19.7 44-44s-19.7-44-44-44H176v88z\"]]\n};\nvar faFaceGrinStars = {\n prefix: 'fad',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm407.4 75.5c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5zM160 120c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6zm192 0c-3.1 0-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7c-1.3-2.8-4.1-4.6-7.2-4.6z\", \"M167.2 124.6c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L160 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L226.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm192 0c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L352 232.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L418.4 178c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7z\"]]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faSigma = {\n prefix: 'fad',\n iconName: 'sigma',\n icon: [384, 512, [8721], \"f68b\", [\"M2.4 51.8C7.4 39.8 19.1 32 32 32H320c35.3 0 64 28.7 64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H109.3L246.6 233.4c12.5 12.5 12.5 32.8 0 45.3L109.3 416H320V384c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 35.3-28.7 64-64 64H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L178.7 256 9.4 86.6C.2 77.5-2.5 63.7 2.4 51.8z\", \"\"]]\n};\nvar faCameraMovie = {\n prefix: 'fad',\n iconName: 'camera-movie',\n icon: [576, 512, [127909, 127910], \"f8a9\", [\"M32 256c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H128 64 32z\", \"M128 64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM352 256H128C57.3 256 0 198.7 0 128S57.3 0 128 0c48.2 0 90.2 26.6 112 66C261.8 26.6 303.8 0 352 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zm0-192a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM558.3 259.4c10.8 5.4 17.7 16.5 17.7 28.6V480c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48L448 448V432 336 320l12.8-9.6 64-48c9.7-7.3 22.7-8.4 33.5-3z\"]]\n};\nvar faBong = {\n prefix: 'fad',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", [\"M160 208.5c0 29.1-15.6 53.9-37.2 67.8C87.3 299.2 64 338.9 64 384c0 23.4 6.2 45.2 17.1 64H302.9c10.9-18.8 17.1-40.6 17.1-64c0-45.1-23.3-84.8-58.8-107.7c-21.6-13.9-37.2-38.7-37.2-67.8V64H160V208.5zM288 64V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V64C78.3 64 64 49.7 64 32S78.3 0 96 0h16H272h16c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M302.9 320H81.1C70.2 338.8 64 360.7 64 384c0 23.4 6.2 45.2 17.1 64H302.9c10.9-18.8 17.1-40.6 17.1-64c0-23.3-6.2-45.2-17.1-64z\"]]\n};\nvar faClarinet = {\n prefix: 'fad',\n iconName: 'clarinet',\n icon: [640, 512, [], \"f8ad\", [\"M631.5 161.9c5.2 2.8 8.5 8.2 8.5 14.1V368c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8l-31.9-21.3c-7.9-5.3-17.1-8.1-26.6-8.1H108.3c-10.2 0-20.3-1.9-29.7-5.7L10.1 318.9C4 316.4 0 310.5 0 304V240c0-6.5 4-12.4 10.1-14.9l68.6-27.4c9.4-3.8 19.5-5.7 29.7-5.7H556.6c9.5 0 18.7-2.8 26.6-8.1l31.9-21.3c4.9-3.3 11.2-3.6 16.4-.8zM272 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M240 128c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32h32V160h64v32h32V160h64v32h32V160h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H464 368 272 240zm32 168a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faTruckFlatbed = {\n prefix: 'fad',\n iconName: 'truck-flatbed',\n icon: [640, 512, [], \"e2b6\", [\"M176 512a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm288 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M640 384c0 17.7-14.3 32-32 32H574.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H352 286.9c-3.6-24.9-15.3-47.2-32.5-64H352V128c0-17.7 14.3-32 32-32h16 16 50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32zM97.6 352c-17.1 16.8-28.9 39.1-32.5 64H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H97.6zM544 256V237.3L466.7 160H416v96H544z\"]]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'fad',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", [\"M197.1 127.8L212.2 158c-21.1 13.6-37.7 30.2-51.4 46.4c-7.1 8.3-13.5 16.6-19.3 24l-1.4 1.8c-6.3 8.1-11.6 14.8-16.7 20.4C112.7 262.3 107.3 264 104 264c-2.5 0-4.3-.6-7.1-3.3c-3.7-3.5-7.1-8.8-12.5-17.4l-.6-.9c-4.6-7.4-11-17.6-19.4-25.7C54.7 207.4 41.5 200 24 200c-13.3 0-24 10.7-24 24s10.7 24 24 24c2.5 0 4.3 .6 7.1 3.3c3.7 3.5 7.1 8.8 12.5 17.4l.6 .9 0 0c4.6 7.4 11 17.6 19.4 25.7C73.3 304.6 86.5 312 104 312c18.5 0 32.9-8.5 44.3-18.6c3.1 4 6.6 8.3 10.5 12.7c-1.4 4.3-2.8 8.5-4 12.5c-.9 3-1.8 5.8-2.6 8.6c-3 9.8-5.5 18.2-8.6 25.9c-3.9 9.8-7.4 15.4-10.8 18.5c-2.6 2.4-5.9 4.3-12.8 4.3c-8.7 0-16.9-4.2-33.7-13.2c-15-8-35.7-18.8-62.3-18.8c-13.3 0-24 10.7-24 24s10.7 24 24 24c13.4 0 24.7 5.2 39.7 13.2c1 .6 2.1 1.1 3.2 1.7l0 0C80.1 414 98.6 424 120 424c18.4 0 33.6-6.1 45.5-17.2c11.1-10.3 17.9-23.7 22.7-36c3.6-9 6.7-19.1 9.5-28.5c16.4 12.3 36.1 23.6 58.9 31.3c-3.6 10.8-8.4 23.5-14.4 36.2c-7.5 15.9-16.2 30.4-25.8 40.5C207 460.5 198.8 464 192 464c-13.3 0-24 10.7-24 24s10.7 24 24 24c25.2 0 45-13.5 59.5-28.8c14.5-15.4 25.7-34.9 34.2-53c8-17 14.1-33.8 18.3-46.9c5.2 .4 10.6 .6 16 .6s10.8-.2 16-.6c4.2 13 10.3 29.9 18.3 46.9c8.5 18.1 19.8 37.6 34.2 53C403 498.5 422.8 512 448 512c13.3 0 24-10.7 24-24s-10.7-24-24-24c-6.8 0-15-3.5-24.5-13.7c-9.5-10.1-18.3-24.6-25.8-40.5c-5.9-12.6-10.7-25.4-14.4-36.2c22.8-7.7 42.5-19 58.9-31.3c2.9 9.4 6 19.5 9.5 28.5c4.8 12.2 11.6 25.6 22.7 36C486.4 417.9 501.6 424 520 424c21.4 0 39.9-10 53.1-17.1c1.1-.6 2.2-1.2 3.2-1.7c15-8 26.3-13.2 39.7-13.2c13.3 0 24-10.7 24-24s-10.7-24-24-24c-26.6 0-47.3 10.8-62.3 18.8c-16.8 9-25 13.2-33.7 13.2c-6.8 0-10.2-1.9-12.8-4.3c-3.4-3.2-7-8.8-10.8-18.5c-3-7.7-5.6-16.1-8.6-25.9c-.8-2.7-1.7-5.6-2.6-8.6c-1.2-4-2.6-8.2-4-12.5c3.9-4.5 7.4-8.8 10.5-12.7C503.1 303.5 517.5 312 536 312c17.5 0 30.7-7.4 40.4-16.7c8.4-8.1 14.8-18.3 19.4-25.7l.6-.9c5.4-8.6 8.8-13.9 12.5-17.4c2.8-2.7 4.6-3.3 7.1-3.3c13.3 0 24-10.7 24-24s-10.7-24-24-24c-17.5 0-30.7 7.4-40.4 16.7c-8.4 8.1-14.8 18.3-19.4 25.7l-.6 .9c-5.4 8.6-8.8 13.9-12.5 17.4c-2.8 2.7-4.6 3.3-7.1 3.3c-3.3 0-8.7-1.7-19.4-13.4c-5.1-5.6-10.4-12.3-16.7-20.4l-1.4-1.8c-5.8-7.4-12.2-15.7-19.3-24c-13.8-16.2-30.4-32.8-51.4-46.4l15.1-30.2c-17.1-1.3-32.2-9.4-42.9-21.5l-15.6 31.2c-18.7-6-39.9-9.5-64.4-9.5s-45.8 3.5-64.4 9.5L240 106.3c-10.7 12.1-25.9 20.1-42.9 21.5z\", \"M208 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 128 64zm336 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 384 64z\"]]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'fad',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", [\"M0 256c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M137.4 502.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V288H128V402.7L86.6 361.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96zM128 224h64V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V224zM393.4 9.4l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L384 109.3V224h64V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zM448 448V288H384V448c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]]\n};\nvar faLeafHeart = {\n prefix: 'fad',\n iconName: 'leaf-heart',\n icon: [512, 512, [], \"f4cb\", [\"M272 96l0 0H376c42.7 0 79.9-23.9 98.8-59.1c3.5-6.5 13.6-6.8 16.2 .1c13.5 36.5 21.1 77 21.1 119.6C512 317.1 405.1 447.3 273 448l-1 0c-81.7 0-150.4-55.7-170.2-131.2C68.7 347.5 48 391.4 48 440v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-75.1 38.3-141.2 96.4-179.9C102.5 168.5 178.8 96 272 96l0 0zM189.7 242.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\", \"M243.2 189.3c-29.5 0-53.5 23.9-53.5 53.5c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.3 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5z\"]]\n};\nvar faHouseBuilding = {\n prefix: 'fad',\n iconName: 'house-building',\n icon: [640, 512, [], \"e1b1\", [\"M320 48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H400c10-13.4 16-30 16-48V352h16c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H416V277.1c0-7.2-1-14.3-2.8-21.1H432c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v4.6l-64-58.7V48zM528 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H528zM512 304v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16zM384 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16zM528 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H528z\", \"M0 464V277.1c0-13.5 5.6-26.3 15.6-35.4l144-132c18.4-16.8 46.5-16.8 64.9 0l144 132c9.9 9.1 15.6 21.9 15.6 35.4V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zM168 272c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168z\"]]\n};\nvar faCheeseSwiss = {\n prefix: 'fad',\n iconName: 'cheese-swiss',\n icon: [512, 512, [129472], \"f7f0\", [\"M512 256V240.2C512 125.2 418.8 32 303.8 32c-10.3 0-20.3 3-28.9 8.7l-47 31.3c-7.8 5.2-9.2 16.1-6.3 25.1c1.5 4.7 2.3 9.7 2.3 14.9c0 26.5-21.5 48-48 48c-12 0-22.9-4.4-31.3-11.6c-7.1-6.1-17.7-9.1-25.5-3.8L28.5 205C11.3 216.5 .8 235.5 0 256H332.2c-7.6 8.5-12.2 19.7-12.2 32c0 26.5 21.5 48 48 48s48-21.5 48-48c0-12.3-4.6-23.5-12.2-32H512zM224 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\", \"M368 336c26.5 0 48-21.5 48-48c0-12.3-4.6-23.5-12.2-32H512V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256H332.2c-7.6 8.5-12.2 19.7-12.2 32c0 26.5 21.5 48 48 48zM224 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]]\n};\nvar faSpoon = {\n prefix: 'fad',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", [\"M224 160.2c0 24.5 9.4 49 28.1 67.7l32 32c18.7 18.7 43.2 28.1 67.7 28.1C432 288 512 192 512 96c0-53-43-96-96-96C320 0 224 80 224 160.2z\", \"M245.8 220.9c2 2.4 4.1 4.7 6.3 6.9l32 32c2.2 2.2 4.6 4.3 6.9 6.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L245.8 220.9z\"]]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'fad',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", [\"M64 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM176 224H122.2C90 224 64 198 64 165.8c0-3.2 2.6-5.8 5.8-5.8H112c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7h42.2c3.2 0 5.8 2.6 5.8 5.8c0 32.1-26 58.2-58.2 58.2L176 224zm74.2 32c3.2 0 5.8 2.6 5.8 5.8c0 32.1-26 58.2-58.2 58.2H176 144 122.2C90 320 64 294 64 261.8c0-3.2 2.6-5.8 5.8-5.8l42.2 0c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7h42.2zm0 96c3.2 0 5.8 2.6 5.8 5.8c0 32.1-26 58.2-58.2 58.2L176 416v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V416l-21.8 0C90 416 64 390 64 357.8c0-3.2 2.6-5.8 5.8-5.8H112c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7h42.2z\", \"M64 0H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H64C46.3 64 32 49.7 32 32S46.3 0 64 0zM256 165.8c0 32.1-26 58.2-58.2 58.2L176 224l-32 0-21.8 0C90 224 64 198 64 165.8c0-3.2 2.6-5.8 5.8-5.8H112c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7h42.2c3.2 0 5.8 2.6 5.8 5.8zM250.2 256c3.2 0 5.8 2.6 5.8 5.8c0 32.1-26 58.2-58.2 58.2L176 320l-32 0-21.8 0C90 320 64 294 64 261.8c0-3.2 2.6-5.8 5.8-5.8H112c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7h42.2zm0 96c3.2 0 5.8 2.6 5.8 5.8c0 32.1-26 58.2-58.2 58.2L176 416v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V416l-21.8 0C90 416 64 390 64 357.8c0-3.2 2.6-5.8 5.8-5.8H112c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7h42.2z\"]]\n};\nvar faEnvelopesBulk = {\n prefix: 'fad',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", [\"M96 32V224h96V192c0-35.3 28.7-64 64-64H480V32c0-17.7-14.3-32-32-32H128C110.3 0 96 14.3 96 32zM256 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64V416H576c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM32 301v39.8L168 441.6c6.9 5.1 15.3 7.9 24 7.9s17-2.8 24-7.9L352 340.8V301L196.9 415.9c-1.4 1-3.1 1.6-4.9 1.6s-3.5-.6-4.9-1.6L32 301z\", \"M496 224h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM32 288c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v13L196.9 415.9c-1.4 1-3.1 1.6-4.9 1.6s-3.5-.6-4.9-1.6L32 301V288zM216 441.6L352 340.8V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V340.8L168 441.6c6.9 5.1 15.3 7.9 24 7.9s17-2.8 24-7.9z\"]]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'fad',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm48 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]]\n};\nvar faBowArrow = {\n prefix: 'fad',\n iconName: 'bow-arrow',\n icon: [512, 512, [127993], \"f6b9\", [\"M309.7 168.3c-60.7-47.3-143.3-53-209.3-17.1L360.8 411.6c35.8-66 30.1-148.6-17.1-209.3l45.5-45.5c71.7 86.4 77.8 209 18.3 301.5c11.6 12.6 11.3 32.1-.9 44.3c-12.5 12.5-32.8 12.5-45.3 0l-352-352c-12.5-12.5-12.5-32.8 0-45.3c12.2-12.2 31.8-12.5 44.3-.9C146.3 45 268.8 51.1 355.3 122.8l-45.5 45.5z\", \"M511.7 18.9c1-5.2-.7-10.5-4.4-14.3S498.2-.7 493.1 .3l-128 24c-5.8 1.1-10.6 5.3-12.3 11s-.2 11.8 4 16l35 35L213.7 264.4l33.9 33.9L425.7 120.3l35 35c4.2 4.2 10.4 5.7 16 4s9.9-6.5 11-12.3l24-128zM202.3 343.6l-33.9-33.9-23.8 23.8L93.8 320.7c-8.2-2-16.8 .4-22.8 6.3L7 391c-6.1 6.1-8.5 15-6.2 23.4s8.9 14.8 17.3 16.9l50 12.5 12.5 50c2.1 8.4 8.5 15 16.9 17.3s17.3 0 23.4-6.2l64-64c6-6 8.4-14.6 6.3-22.8l-12.7-50.8 23.8-23.8z\"]]\n};\nvar faCartXmark = {\n prefix: 'fad',\n iconName: 'cart-xmark',\n icon: [576, 512, [], \"e0dd\", [\"M459.2 288H170.7L124.5 45.5c-.9-4.8-2.4-9.3-4.4-13.5h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3zM395.4 128.9c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L336 131.7l-31.1-31.1c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3L307.7 160l-31.1 31.1c-7.8 7.8-7.8 20.5 0 28.3s20.5 7.8 28.3 0L336 188.3l31.1 31.1c7.8 7.8 20.5 7.8 28.3 0s7.8-20.5 0-28.3L364.3 160l31.1-31.1z\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5l-51.6-271C119.5 19.1 96.4 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM395.4 128.9c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L336 131.7l-31.1-31.1c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3L307.7 160l-31.1 31.1c-7.8 7.8-7.8 20.5 0 28.3s20.5 7.8 28.3 0L336 188.3l31.1 31.1c7.8 7.8 20.5 7.8 28.3 0s7.8-20.5 0-28.3L364.3 160l31.1-31.1z\"]]\n};\nvar faHexagonXmark = {\n prefix: 'fad',\n iconName: 'hexagon-xmark',\n icon: [512, 512, [\"times-hexagon\", \"xmark-hexagon\"], \"f2ee\", [\"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M209 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faTimesHexagon = faHexagonXmark;\nvar faXmarkHexagon = faHexagonXmark;\nvar faCircleH = {\n prefix: 'fad',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H192l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H320V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M344 128c13.3 0 24 10.7 24 24l0 104V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H192l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80 128 0 0-80c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHospitalSymbol = faCircleH;\nvar faMerge = {\n prefix: 'fad',\n iconName: 'merge',\n icon: [512, 512, [], \"e526\", [\"M243.8 252l3.2 4L154.2 372c-6.1 7.6-15.3 12-25 12H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h97.2c29.2 0 56.7-13.3 75-36l99.2-124h15.4c-29.2 0-56.7-13.3-75-36z\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32h97.2c9.7 0 18.9 4.4 25 12l89.6 112c18.2 22.8 45.8 36 75 36H384v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c6-6 9.4-14.1 9.4-22.6s-3.4-16.6-9.4-22.6l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H318.8c-9.7 0-18.9-4.4-25-12L204.2 100c-18.2-22.8-45.8-36-75-36H32z\"]]\n};\nvar faPager = {\n prefix: 'fad',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", [\"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm64 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\", \"M64 160c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160z\"]]\n};\nvar faCartMinus = {\n prefix: 'fad',\n iconName: 'cart-minus',\n icon: [576, 512, [], \"e0db\", [\"M459.2 288H170.7L124.5 45.5c-.9-4.8-2.4-9.3-4.4-13.5h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3zM272 140c-11 0-20 9-20 20s9 20 20 20H400c11 0 20-9 20-20s-9-20-20-20H272z\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5l-51.6-271C119.5 19.1 96.4 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 140c-11 0-20 9-20 20s9 20 20 20H400c11 0 20-9 20-20s-9-20-20-20H272z\"]]\n};\nvar faAddressBook = {\n prefix: 'fad',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", [\"M32 64C32 28.7 60.7 0 96 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zm96 304c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H208c-44.2 0-80 35.8-80 80zM240 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M496 64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm0 128c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm16 144v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zM128 368c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zM240 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]]\n};\nvar faContactBook = faAddressBook;\nvar faPanFrying = {\n prefix: 'fad',\n iconName: 'pan-frying',\n icon: [576, 512, [127859], \"e42c\", [\"M176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M427.6 317.6C440.7 289.1 448 257.4 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224S100.3 448 224 448c53.3 0 102.3-18.6 140.8-49.7L472.7 498.5c11 8.8 24.1 13.5 39.3 13.5c35.3 0 64-28.7 64-64c0-20.9-9.3-38.8-24.7-50.5L427.6 317.6zM254.1 115.6c15.2 15.8 44.5 32.9 65.8 38.4c13.7 3.5 26.4 11.6 35.5 23.9c21 28.4 15.1 68.5-13.3 89.5c-8.9 6.6-18.9 10.5-29.2 12c-18.6 2.6-42.2 16.3-51.6 32.6c-22.1 38.3-71 51.4-109.3 29.3s-51.4-71-29.3-109.3c12.4-21.4 19.4-53 21.5-77.6c1.3-14.9 7.8-29.4 19.4-40.5c25.5-24.5 66-23.7 90.5 1.8zM512 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faGrid = {\n prefix: 'fad',\n iconName: 'grid',\n icon: [448, 512, [\"grid-3\"], \"e195\", [\"M200 32c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H200zM40 192c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H40zM160 392v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zM360 192c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H360z\", \"M0 72C0 49.9 17.9 32 40 32H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V72zM0 392c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V392zM288 232v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V232c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40zM320 72c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V72zM448 392v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40z\"]]\n};\nvar faGrid3 = faGrid;\nvar faFootballHelmet = {\n prefix: 'fad',\n iconName: 'football-helmet',\n icon: [512, 512, [], \"f44f\", [\"M288 352h39.7l9.6 51c10.1 54 57.2 93 112.1 93h17c25.2 0 45.6-20.4 45.6-45.6V400 368c0-26.5-21.5-48-48-48H354.3l-14-74.5-31.8 4L321.7 320H272l16 32zm78.3 32l-6-32H464c8.8 0 16 7.2 16 16v16H366.3zm8.4 32H480v34.4c0 7.5-6.1 13.6-13.6 13.6h-17c-32.7 0-61.6-19.3-74.7-48z\", \"M462.5 230.2c17.5-2.2 30.2-18.3 25.7-35.3C461.1 91.9 367.4 16 256 16C123.5 16 16 123.5 16 256c0 56.3 19.4 108.1 51.9 149.1c5.7 7.1 14.4 10.9 23.5 10.9h14c4.3 0 8.6 .9 12.6 2.6l93.4 40c8.3 3.5 17.2 5.4 26.1 5.4h1.7c35.7 0 64.7-29 64.7-64.7c0-10-2.3-20-6.8-28.9L259 294c-2-4-3-8.4-3-12.8c0-14.4 10.7-26.6 25.1-28.4l181.4-22.7zM176 312a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faHandLove = {\n prefix: 'fad',\n iconName: 'hand-love',\n icon: [512, 512, [], \"e1a5\", [\"M160 0c17.7 0 32 14.3 32 32V191.9l0 .1v96c0 35.3 28.7 64 64 64c19.1 0 36.3-8.4 48-21.7c11.7 13.3 28.9 21.7 48 21.7c35.3 0 64-28.7 64-64V224.1c0 0 0 0 0-.1V96c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176H284.8c-59.6 0-116.9-22.9-160-64L12.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V32c0-17.7 14.3-32 32-32z\", \"M256 160c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-17.7-14.3-32-32-32zm96 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32z\"]]\n};\nvar faTrees = {\n prefix: 'fad',\n iconName: 'trees',\n icon: [640, 512, [], \"f724\", [\"M178.5 5.8L70.2 121.4c-4 4.3-6.2 9.9-6.2 15.7C64 149.7 74.3 160 86.9 160H112L37.4 249.5c-3.5 4.2-5.4 9.5-5.4 15c0 13 10.5 23.5 23.5 23.5H80L5.4 377.5C1.9 381.7 0 387 0 392.5c0 13 10.5 23.5 23.5 23.5H160V216c0-17.7 14.3-32 32-32s32 14.3 32 32V416H360.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L304 288h24.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L272 160h25.1c12.7 0 22.9-10.3 22.9-22.9c0-5.8-2.2-11.4-6.2-15.7L205.5 5.8C202 2.1 197.1 0 192 0s-10 2.1-13.5 5.8zm163.1 99.1c6.7 9.3 10.4 20.5 10.4 32.1c0 17.7-8.3 33.4-21.3 43.4L371.1 229c8.3 10 12.9 22.5 12.9 35.5c0 17.8-8.4 33.6-21.4 43.8L403.1 357c8.2 9.8 12.7 22.2 12.9 35h0V216c0-17.7 14.3-32 32-32s32 14.3 32 32V416H616.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L560 288h24.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L528 160h25.1c12.7 0 22.9-10.3 22.9-22.9c0-5.8-2.2-11.4-6.2-15.7L461.5 5.8C458 2.1 453.1 0 448 0s-10 2.1-13.5 5.8l-92.9 99.1z\", \"M224 216c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V216zm256 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V216z\"]]\n};\nvar faStrikethrough = {\n prefix: 'fad',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", [\"M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9H270.1c-.1 0-.3-.1-.4-.1l-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3l0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6l0 0 .2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1H335.1c7 5.6 11.4 11.2 13.9 17.2z\", \"M0 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faPage = {\n prefix: 'fad',\n iconName: 'page',\n icon: [384, 512, [], \"e428\", [\"M64 512H320c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64z\", \"\"]]\n};\nvar faK = {\n prefix: 'fad',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", [\"M311 86.3c12.3-12.7 12-32.9-.7-45.2s-32.9-12-45.2 .7l-155.2 160L64 249V64c0-17.7-14.3-32-32-32S0 46.3 0 64V328 448c0 17.7 14.3 32 32 32s32-14.3 32-32V341l64.7-66.7 133 192c10.1 14.5 30 18.1 44.5 8.1s18.1-30 8.1-44.5L174.1 227.4 311 86.3z\", \"\"]]\n};\nvar faDiagramPrevious = {\n prefix: 'fad',\n iconName: 'diagram-previous',\n icon: [512, 512, [], \"e478\", [\"M385 168.4c16 16 19.6 37.2 14.1 55.6h49c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64l49 0c-5.5-18.4-2-39.6 14.1-55.6L216.4 79c21.9-21.9 57.3-21.9 79.2 0L385 168.4z\", \"M448 288c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64H232V224l-46.1 0c-21.4 0-32.1-25.9-17-41L239 113c9.4-9.4 24.6-9.4 33.9 0L343 183c15.1 15.1 4.4 41-17 41L280 224v64H448z\"]]\n};\nvar faGaugeMin = {\n prefix: 'fad',\n iconName: 'gauge-min',\n icon: [512, 512, [\"tachometer-alt-slowest\"], \"f628\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64s-28.7-64-64-64c-14.1 0-27.2 4.6-37.8 12.4L100.6 227.6c-11.3-7-26.1-3.5-33 7.8s-3.5 26.1 7.8 33l117.5 72.8c-.6 3.5-.9 7.1-.9 10.8c0 35.3 28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M100.6 227.6c-11.3-7-26.1-3.5-33 7.8s-3.5 26.1 7.8 33l117.5 72.8c-.6 3.5-.9 7.1-.9 10.8c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-14.1 0-27.2 4.6-37.8 12.4L100.6 227.6z\"]]\n};\nvar faTachometerAltSlowest = faGaugeMin;\nvar faFolderGrid = {\n prefix: 'fad',\n iconName: 'folder-grid',\n icon: [512, 512, [], \"e188\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM104 240c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H104zm128 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H232zm104 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H360c-13.3 0-24 10.7-24 24z\", \"M80 264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V264zm128 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H232c-13.3 0-24-10.7-24-24V264zm152-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24V264c0-13.3 10.7-24 24-24z\"]]\n};\nvar faEggplant = {\n prefix: 'fad',\n iconName: 'eggplant',\n icon: [512, 512, [], \"e16c\", [\"M307.2 49.2C314.1 67.2 331.5 80 352 80c5.8 0 10.7 4 12.6 9.4c4.8 13.3 13 25.4 22.8 35.1s21.9 18 35.1 22.8c5.4 2 9.4 6.9 9.4 12.6c0 22.3 15.1 41 35.7 46.4C426.6 337.3 322.1 512.2 176.4 512C79.9 511.9 1.4 431.3 0 336C-1.6 222.5 83.4 181.3 169.9 139.3c51.1-24.8 102.6-49.8 137.3-90.1z\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-9 9H320c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48c5.8 0 10.7 4 12.6 9.4c4.8 13.3 13 25.4 22.8 35.1s21.9 18 35.1 22.8c5.4 2 9.4 6.9 9.4 12.6c0 26.5 21.5 48 48 48c8.8 0 16-7.2 16-16V49.9l9-9z\"]]\n};\nvar faRam = {\n prefix: 'fad',\n iconName: 'ram',\n icon: [640, 512, [128015], \"f70a\", [\"M475.3 352H464c-61.9 0-112-50.1-112-112V207.4c-18.7-2.7-35.5-14.8-43.5-33.4c-8.9-20.8-4.3-44 10-59.7C312.3 85.6 286.7 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c3.3 0 6.6-.3 9.8-.7c6.8 28 32.1 48.7 62.2 48.7c15 0 28.9-5.2 39.8-13.9c11.7 13.4 29 21.9 48.2 21.9s36.5-8.5 48.2-21.9C315.1 434.8 329 440 344 440c30.1 0 55.3-20.8 62.2-48.7c3.2 .5 6.5 .7 9.8 .7c26.9 0 49.9-16.5 59.3-40z\", \"M400 0c-35.3 0-64 28.7-64 64v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-8.8 7.2-16 16-16s16 7.2 16 16V88.4c-6.8 6.1-12.8 13.2-17.6 21l-47.8 20.5c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2V240c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V167.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-47.8-20.5c-4.9-7.8-10.8-14.9-17.6-21V64c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-35.3-28.7-64-64-64s-64 28.7-64 64v1.3c-5.2-.9-10.5-1.3-16-1.3s-10.8 .5-16 1.3V64c0-35.3-28.7-64-64-64zm64 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM115.1 485.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3l-.2-.2C196.9 434.8 183 440 168 440c-30.1 0-55.3-20.8-62.2-48.7c-2.7 .4-5.5 .7-8.3 .7l17.6 93.9zM304 480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c-2.8-.1-5.6-.3-8.3-.7c-6.8 28-32.1 48.7-62.2 48.7c-15 0-28.9-5.2-39.8-13.9l-.2 .2V480z\"]]\n};\nvar faLandmarkFlag = {\n prefix: 'fad',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", [\"M128 192H64V420.3c-.6 .3-1.2 .7-1.7 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V192H384V416H344V192H280V416H232V192H168V416H128V192z\", \"M272 0h80c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H272v32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H240V16c0-8.8 7.2-16 16-16h16z\"]]\n};\nvar faLips = {\n prefix: 'fad',\n iconName: 'lips',\n icon: [576, 512, [128068, 128482], \"f600\", [\"M0 224c0 9.2 2.6 19.1 5.3 27.5c3 9.1 7.4 19.4 12.8 30.3c10.8 21.7 26.8 46.9 47.7 71.1C107.2 400.9 171.3 448 256 448h64c84.7 0 148.8-47.1 190.2-95.1c20.9-24.2 36.8-49.4 47.7-71.1c5.4-10.8 9.7-21.1 12.8-30.3c2.8-8.4 5.3-18.3 5.3-27.5H512c0 7.9-80 96-224 96s-224-88.1-224-96H0z\", \"M297.7 94c-3.4 2.5-6.7 4.9-9.7 7.3c-3-2.4-6.2-4.8-9.7-7.3C260.6 81.2 231.5 64 200 64c-20.3 0-42.8 9.3-61.4 19.2c-20 10.6-41.1 24.7-60.2 39.5c-19.1 14.8-37.1 31.2-50.8 46.5c-6.8 7.6-13.1 15.7-17.9 23.7C5.5 200.2 0 211.2 0 224H64c0-7.7 46.3-31.1 138.8-32c3.4 0 6.9 .5 10.1 1.5c13.1 4 49.4 14.4 75.1 14.4s62-10.4 75.1-14.4c3.3-1 6.7-1.6 10.1-1.5c92.5 .9 138.8 24.2 138.8 32h64c0-12.8-5.5-23.8-9.7-31c-4.8-8.1-11.1-16.1-17.9-23.7c-13.6-15.3-31.7-31.7-50.8-46.5c-19.1-14.9-40.2-29-60.2-39.5C418.8 73.3 396.3 64 376 64c-31.5 0-60.6 17.2-78.3 30z\"]]\n};\nvar faPencil = {\n prefix: 'fad',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", [\"M492.7 58.2c25 25 25 65.5 0 90.5l-60 60L302.7 78.7l60-60c25-25 65.5-25 90.5 0l39.4 39.4zM315.3 186.7l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M432.7 208.7L302.7 78.7 58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L432.7 208.7zM89.3 360.5l22.7-9.1v32c0 8.8 7.2 16 16 16h32l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3zm226-196.4c6.2 6.2 6.2 16.4 0 22.6l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0z\"]]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'fad',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", [\"M493.6 445c-11.2 5.3-24.5 3.6-34.1-4.4L256 271V241L459.5 71.4c9.5-7.9 22.8-9.7 34.1-4.4S512 83.6 512 96V416c0 12.4-7.2 23.7-18.4 29z\", \"M203.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160z\"]]\n};\nvar faCaretRight = {\n prefix: 'fad',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", [\"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\", \"\"]]\n};\nvar faComments = {\n prefix: 'fad',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", [\"M231.5 383C348.9 372.9 448 288.3 448 176c0-5.2-.2-10.4-.6-15.5C555.1 167.1 640 243.2 640 336c0 38.6-14.7 74.3-39.6 103.4c3.5 9.4 8.7 17.7 14.2 24.7c4.8 6.2 9.7 11 13.3 14.3c1.8 1.6 3.3 2.9 4.3 3.7c.5 .4 .9 .7 1.1 .8l.2 .2 0 0 0 0c5.6 4.1 7.9 11.3 5.8 17.9c-2.1 6.6-8.3 11.1-15.2 11.1c-21.8 0-43.8-5.6-62.1-12.5c-9.2-3.5-17.8-7.4-25.2-11.4C505.9 503.3 470.2 512 432 512c-95.6 0-176.2-54.6-200.5-129z\", \"M416 176c0 97.2-93.1 176-208 176c-38.2 0-73.9-8.7-104.7-23.9c-7.5 4-16 7.9-25.3 11.4C59.8 346.4 37.8 352 16 352c-6.9 0-13.1-4.5-15.2-11.1s.2-13.8 5.8-17.9l0 0 0 0 .2-.2c.2-.2 .6-.4 1.1-.8c1-.8 2.5-2 4.3-3.7c3.6-3.3 8.5-8.1 13.3-14.3c5.5-7 10.7-15.4 14.2-24.7C14.7 250.3 0 214.6 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176z\"]]\n};\nvar faPaste = {\n prefix: 'fad',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", [\"M224 176c0-26.5 21.5-48 48-48H396.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V176z\", \"M160 0c-23.7 0-44.4 12.9-55.4 32H48C21.5 32 0 53.5 0 80V400c0 26.5 21.5 48 48 48H192V176c0-44.2 35.8-80 80-80h48V80c0-26.5-21.5-48-48-48H215.4C204.4 12.9 183.7 0 160 0zm0 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faFileClipboard = faPaste;\nvar faDesktopArrowDown = {\n prefix: 'fad',\n iconName: 'desktop-arrow-down',\n icon: [576, 512, [], \"e155\", [\"M264 0H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H312V64H512V288H64V64H264V0z\", \"M264 64H64V288H512V64H312V174.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V64zm82.7 384L336 416H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7z\"]]\n};\nvar faCodePullRequest = {\n prefix: 'fad',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", [\"M112 153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V358.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V153.3zM400 358.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V192c0-70.7-57.3-128-128-128H320V24c0-9.5-5.6-18.1-14.2-21.9S287-.2 279.9 6.2l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c7 6.3 17.2 7.9 25.8 4.1s14.2-12.4 14.2-21.9V128h16c35.3 0 64 28.7 64 64V358.7z\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 80 0a80 80 0 1 0 0 160zm0 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm328-80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faPumpkin = {\n prefix: 'fad',\n iconName: 'pumpkin',\n icon: [576, 512, [], \"f707\", [\"M157.5 171.7c-7.5 4.5-16-3.4-10.4-10.1c9.6-11.4 20.6-21.7 32.7-30.5c-.6-.1-1.2-.2-1.8-.3c-8.5-1.8-17.2-2.8-26-2.8C68.1 128 0 214 0 320S68.1 512 152 512c19.3 0 37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8s37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8c83.9 0 152-86 152-192s-68.1-192-152-192c-8.9 0-17.6 1-26 2.8c-.6 .1-1.2 .2-1.8 .3c12.1 8.8 23.1 19.1 32.7 30.5c5.6 6.7-2.9 14.6-10.4 10.1C380.3 149 335.7 136 288 136s-92.3 13-130.5 35.7z\", \"M234.6 103.9l40.9-93.5c2.8-6.3 9-10.4 15.8-10.4h1.2c2.3 0 4.7 .5 6.8 1.4l42.3 18.1c6.4 2.7 10.5 9 10.5 15.9v72C332.1 100 310.5 96 288 96c-18.6 0-36.5 2.8-53.5 7.9z\"]]\n};\nvar faClipboardList = {\n prefix: 'fad',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", [\"M113.2 66.3c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM72 368a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\", \"M113.2 66.3C119.6 28.7 152.5 0 192 0s72.4 28.7 78.8 66.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM216 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM72 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm0 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faPenField = {\n prefix: 'fad',\n iconName: 'pen-field',\n icon: [640, 512, [], \"e211\", [\"M0 208c0-44.2 35.8-80 80-80H272c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16V304c0-17.7 14.3-32 32-32s32 14.3 32 32V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V208z\", \"M534.1 16L494.4 55.7l89.3 89.3 39.8-38.9c19.1-18.7 19.2-49.4 .4-68.2L601.9 16c-18.8-18.8-49.2-18.7-67.9 0zM471.7 78.4L328.5 221.8c-7 7-12.3 15.6-15.4 25l-23.8 71.3c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l71.5-23.9c9.2-3.1 17.6-8.2 24.5-15L560.8 167.5 471.7 78.4zM160 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faBlueberries = {\n prefix: 'fad',\n iconName: 'blueberries',\n icon: [512, 512, [], \"e2e8\", [\"M351.3 351.3C441.4 343.6 512 268 512 176C512 78.8 433.2 0 336 0C244 0 168.4 70.6 160.7 160.7c5.1-.4 10.2-.7 15.3-.7c97.2 0 176 78.8 176 176c0 5.2-.2 10.3-.7 15.3zM368 48c8.8 0 16 7.2 16 16V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16zM192 224c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V288h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V224z\", \"M384 64V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16s16 7.2 16 16zM0 336a176 176 0 1 1 352 0A176 176 0 1 1 0 336zM176 208c-8.8 0-16 7.2-16 16v32H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V288h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V224c0-8.8-7.2-16-16-16z\"]]\n};\nvar faTruckRampBox = {\n prefix: 'fad',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", [\"M23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l154.5-41.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7zm69-51.6l20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3L92.1 156.1zM544 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M544 288c-66.1 0-120.6 50.2-127.3 114.5L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64H640V331.3c-23.5-26.6-57.8-43.3-96-43.3zM153.9 139.5l20.7 77.3c2.3 8.5-2.8 17.3-11.3 19.6l-30.9 8.3c-8.5 2.3-17.3-2.8-19.6-11.3L92.1 156.1l61.8-16.6z\"]]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faNote = {\n prefix: 'fad',\n iconName: 'note',\n icon: [448, 512, [], \"e1ff\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320H320c-17.7 0-32 14.3-32 32V480H64c-35.3 0-64-28.7-64-64V96zM112 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM88 104a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24 152a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\", \"M288 352V480h5.5c17 0 33.3-6.7 45.3-18.7l90.5-90.5c12-12 18.7-28.3 18.7-45.3V320H320c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faArrowDownToSquare = {\n prefix: 'fad',\n iconName: 'arrow-down-to-square',\n icon: [512, 512, [], \"e096\", [\"M0 112C0 67.8 35.8 32 80 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H400c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112z\", \"M233.4 342.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 242.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V242.7l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96z\"]]\n};\nvar faUserCheck = {\n prefix: 'fad',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", [\"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\", \"M625 143c9.4 9.4 9.4 24.6 0 33.9L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faCloudXmark = {\n prefix: 'fad',\n iconName: 'cloud-xmark',\n icon: [640, 512, [], \"e35f\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm95-273c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M273 207c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faVialVirus = {\n prefix: 'fad',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", [\"M0 64C0 46.3 14.3 32 32 32H96h64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32V207.1c-3.1 2.1-6.1 4.4-8.8 7.2c-21.9 21.9-21.9 57.3 0 79.2c.2 .2 .2 .3 .3 .3l0 0c0 .1 0 .3-.1 .6s-.2 .4-.3 .5l-.1 0c-.1 0-.2 0-.4 0c-30.9 0-56 25.1-56 56s25.1 56 56 56c.2 0 .4 0 .4 0l.1 0c.1 .1 .2 .2 .3 .5s.1 .5 .1 .6l0 0c0 .1-.1 .2-.3 .3c-11.2 11.2-16.6 25.9-16.4 40.5C181.3 468 156 480 128 480c-53 0-96-43-96-96V96C14.3 96 0 81.7 0 64zM96 96v96h64V96H96z\", \"M376 216c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 28.8-34.9 43.3-55.2 22.9c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.4 20.4 5.9 55.2-22.9 55.2c-13.3 0-24 10.7-24 24s10.7 24 24 24c28.8 0 43.3 34.9 22.9 55.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.4-20.4 55.2-6 55.2 22.8c0 13.3 10.7 24 24 24s24-10.7 24-24c0-28.8 34.8-43.2 55.2-22.8c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-20.4-20.4-5.9-55.3 22.9-55.3c13.3 0 24-10.7 24-24s-10.7-24-24-24c-28.8 0-43.2-34.8-22.9-55.2c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0C410.9 259.3 376 244.8 376 216zM288.8 321.4a31.7 31.7 0 1 1 63.5 0 31.7 31.7 0 1 1 -63.5 0zm95.2 39.6a23.8 23.8 0 1 1 0 47.6 23.8 23.8 0 1 1 0-47.6z\"]]\n};\nvar faBookBlank = {\n prefix: 'fad',\n iconName: 'book-blank',\n icon: [448, 512, [128213, 128215, 128216, 128217, \"book-alt\"], \"f5d9\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H352 256 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H256h96 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96z\"]]\n};\nvar faBookAlt = faBookBlank;\nvar faGolfFlagHole = {\n prefix: 'fad',\n iconName: 'golf-flag-hole',\n icon: [512, 512, [], \"e3ac\", [\"M128 332.8C51.5 349.4 0 380.5 0 416c0 53 114.6 96 256 96s256-43 256-96s-114.6-96-256-96c-27.9 0-54.8 1.7-80 4.8v70.1c11.7-6.6 28.9-10.8 48-10.8c35.3 0 64 14.3 64 32s-28.7 32-64 32c-23.2 0-43.5-6.2-54.7-15.4c-4.4 4.5-10.5 7.4-17.3 7.4c-13.3 0-24-10.7-24-24V332.8z\", \"M139.4 3.6c7.1-4.4 15.9-4.8 23.4-1.1l208 104c8.1 4.1 13.3 12.4 13.3 21.5s-5.1 17.4-13.3 21.5L176 246.8V416c0 13.3-10.7 24-24 24s-24-10.7-24-24V240c0-1.4 .1-2.7 .3-4c-.2-1.3-.3-2.6-.3-4V24c0-8.3 4.3-16 11.4-20.4z\"]]\n};\nvar faMessageArrowDown = {\n prefix: 'fad',\n iconName: 'message-arrow-down',\n icon: [512, 512, [\"comment-alt-arrow-down\"], \"e1db\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm280 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V238.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V120z\", \"M256 96c13.3 0 24 10.7 24 24V238.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faCommentAltArrowDown = faMessageArrowDown;\nvar faFaceUnamused = {\n prefix: 'fad',\n iconName: 'face-unamused',\n icon: [512, 512, [], \"e39f\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm60.1-117.3c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 355.4 216.3 336 256 336s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\", \"M96 208c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16zm192 0c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faSheetPlastic = {\n prefix: 'fad',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", [\"M64 512c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V352H256c-17.7 0-32 14.3-32 32V512H64zM171.3 75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96zm96 32c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160z\", \"M224 512L384 352H256c-17.7 0-32 14.3-32 32V512z\"]]\n};\nvar faCircle9 = {\n prefix: 'fad',\n iconName: 'circle-9',\n icon: [512, 512, [], \"e0f6\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-26 44.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C337.8 287.2 352 256.4 352 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\", \"M304 224a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-74 92.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C337.8 287.2 352 256.4 352 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\"]]\n};\nvar faBlog = {\n prefix: 'fad',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", [\"M224 0c-17.7 0-32 14.3-32 32s14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0zm0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192z\", \"M48 96c26.5 0 48 21.5 48 48V368c0 26.5 21.5 48 48 48s48-21.5 48-48s-21.5-48-48-48H128V224h16c79.5 0 144 64.5 144 144s-64.5 144-144 144S0 447.5 0 368V144c0-26.5 21.5-48 48-48z\"]]\n};\nvar faUserNinja = {\n prefix: 'fad',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", [\"M144 112c0-8.8 7.2-16 16-16H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16z\", \"M224 256c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128s-57.3 128-128 128zM0 482.3C0 399.5 56.4 330 132.8 309.9c6-1.6 12.2 .9 15.9 5.8l62.5 83.3c6.4 8.5 19.2 8.5 25.6 0l62.5-83.3c3.7-4.9 9.9-7.4 15.9-5.8C391.6 330 448 399.5 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]]\n};\nvar faPencilSlash = {\n prefix: 'fad',\n iconName: 'pencil-slash',\n icon: [640, 512, [], \"e215\", [\"M237.6 283.2L195.5 250l-72.9 72.9c-10.4 10.4-18 23.3-22.2 37.4L65 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2l88.3-88.3-77.9-61.4-27.6 27.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24.9-24.9zm141.7-96.5l-47.8 47.8 78.1 61.2 42.1-42.1L474.3 231l11.3-11.3-33.9-33.9-62.1-62.1L355.7 89.8l-11.3 11.3-22.6 22.6-57.8 57.8 42.2 33.1 50.5-50.5c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM224 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9l-78.1 23 23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM426.7 18.7L412.3 33.2 389.7 55.8 378.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L517.3 18.7c-25-25-65.5-25-90.5 0z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBowlingPins = {\n prefix: 'fad',\n iconName: 'bowling-pins',\n icon: [512, 512, [], \"f437\", [\"M128 0c35.3 0 64 28.7 64 64v1.1c0 7.4-1 14.8-2.9 22l-17.7 64.8c-.7 2.7-1.3 5.4-1.8 8.1H86.5c-.5-2.7-1.1-5.4-1.8-8.1L66.9 87.1c-2-7.2-2.9-14.6-2.9-22V64C64 28.7 92.7 0 128 0zM82.1 210.4c2.2-6 3.8-12.1 4.8-18.4h82.3c1 6.3 2.6 12.4 4.8 18.4l38.6 104.7c7.6 20.6 11.5 42.5 11.5 64.4c0 28.9-6.7 57.5-19.7 83.4l-15.7 31.4C183.2 505.2 172.1 512 160 512H96c-12.1 0-23.2-6.8-28.6-17.7L51.7 462.9C38.7 437 32 408.5 32 379.5c0-22 3.9-43.8 11.5-64.4L82.1 210.4zM384 0c35.3 0 64 28.7 64 64v1.1c0 7.4-1 14.8-2.9 22l-17.7 64.8c-.7 2.7-1.3 5.4-1.8 8.1H342.5c-.5-2.7-1.1-5.4-1.8-8.1L322.9 87.1c-2-7.2-2.9-14.6-2.9-22V64c0-35.3 28.7-64 64-64zM338.1 210.4c2.2-6 3.8-12.1 4.8-18.4h82.3c1 6.3 2.6 12.4 4.8 18.4L470 319.3c6.6 17.9 10 36.8 10 55.8c0 20.5-3.9 40.9-11.5 59.9l-22.7 56.9C440.9 504 429.1 512 416 512H352c-13.1 0-24.9-8-29.7-20.1L299.5 435C291.9 416 288 395.6 288 375.1c0-19 3.4-37.9 10-55.8l40.1-108.9z\", \"M86.8 192c.8-4.9 1.2-9.9 1.2-14.8c0-5.8-.5-11.5-1.5-17.2h83.1c-1 5.7-1.5 11.4-1.5 17.2c0 5 .4 9.9 1.2 14.8H86.8zm256 0c.8-4.9 1.2-9.9 1.2-14.8c0-5.8-.5-11.5-1.5-17.2h83.1c-1 5.7-1.5 11.4-1.5 17.2c0 5 .4 9.9 1.2 14.8H342.8z\"]]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'fad',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", [\"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96h64V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448h64z\", \"M598.6 166.6c12.5-12.5 12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L464 141.3 464 384c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faDownRight = {\n prefix: 'fad',\n iconName: 'down-right',\n icon: [384, 512, [], \"e16b\", [\"M145.4 305.4L11.3 171.3C4.1 164.1 0 154.2 0 144s4.1-20.1 11.3-27.3L52.7 75.3C59.9 68.1 69.8 64 80 64s20.1 4.1 27.3 11.3L241.4 209.4l-96 96z\", \"M336 432H96c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l240-240c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6V400c0 17.7-14.3 32-32 32z\"]]\n};\nvar faScrollTorah = {\n prefix: 'fad',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", [\"M544 32H96V480H544V32zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\", \"M96 480V32C96 14.3 74.5 0 48 0S0 14.3 0 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32zm544 0V32c0-17.7-21.5-32-48-32s-48 14.3-48 32V480c0 17.7 21.5 32 48 32s48-14.3 48-32z\"]]\n};\nvar faTorah = faScrollTorah;\nvar faWebhook = {\n prefix: 'fad',\n iconName: 'webhook',\n icon: [576, 512, [], \"e5d5\", [\"M210.1 110C220 67 262.9 40.1 306 50.1c41.1 9.5 67.5 49.2 61.1 90.2c-2.1 13.1 6.9 25.4 20 27.4s25.4-6.9 27.4-20C424.8 82 382.6 18.5 316.8 3.3c-68.9-15.9-137.6 27-153.5 95.9c-10.7 46.3 5.2 92.6 37.7 122.7L129.7 336c17.7 .6 32.9 10.7 40.7 25.4l82.8-132.5c3.4-5.4 4.5-11.9 3-18.1s-5.3-11.6-10.7-15c-28.2-17.6-43.4-51.7-35.5-85.9zm120.3 40.5c-7.8 14.7-23.1 24.8-40.7 25.4l82.8 132.5c3.4 5.4 8.8 9.2 15 10.7s12.7 .3 18.1-3c30.9-19.3 72.1-15.5 99 11.3c31.2 31.2 31.2 81.9 0 113.1c-26.8 26.8-68.1 30.6-99 11.3c-11.2-7-26-3.6-33.1 7.6s-3.6 26 7.6 33.1c49.4 31 115.4 25 158.4-18c50-50 50-131 0-181c-37-37-91-46.6-136.8-28.9L330.4 150.5zM110.1 278.8c-5.1-12.2-19.1-18-31.4-12.9C22.1 289.4-11 351 3.3 412.8c15.9 68.9 84.6 111.8 153.5 95.9c51-11.8 87.7-52.5 97-100.7H406.4c-4.1-7.1-6.4-15.3-6.4-24s2.3-16.9 6.4-24H232c-6.4 0-12.5 2.5-17 7s-7 10.6-7 17c0 36.4-25 69.4-62 77.9c-43.1 9.9-86-16.9-95.9-60c-8.9-38.6 11.7-77.1 47.1-91.8c12.2-5.1 18-19.1 12.9-31.4z\", \"M288 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM176 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm320 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]]\n};\nvar faBlindsOpen = {\n prefix: 'fad',\n iconName: 'blinds-open',\n icon: [512, 512, [], \"f8fc\", [\"M160 192H494.2c9.8 0 17.8-8 17.8-17.8c0-4-1.4-7.9-3.9-11.1L489.6 140c-6.1-7.6-15.3-12-25-12H160v64zm-32-64H47.4c-9.7 0-18.9 4.4-25 12L3.9 163.1C1.4 166.3 0 170.2 0 174.2C0 184 8 192 17.8 192H128V128zM98.7 288H47.4c-9.7 0-18.9 4.4-25 12L3.9 323.1C1.4 326.3 0 330.2 0 334.2C0 344 8 352 17.8 352H144 494.2c9.8 0 17.8-8 17.8-17.8c0-4-1.4-7.9-3.9-11.1L489.6 300c-6.1-7.6-15.3-12-25-12H189.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16zM494.2 512c9.8 0 17.8-8 17.8-17.8c0-4-1.4-7.9-3.9-11.1L489.6 460c-6.1-7.6-15.3-12-25-12H47.4c-9.7 0-18.9 4.4-25 12L3.9 483.1C1.4 486.3 0 490.2 0 494.2C0 504 8 512 17.8 512H494.2z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64h96V258.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V64H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faFence = {\n prefix: 'fad',\n iconName: 'fence',\n icon: [512, 512, [], \"e303\", [\"M192 160H128v64h64V160zm192 0H320v64h64V160zM128 352v64h64V352H128zm256 0H320v64h64V352z\", \"M76.8 38.4C73.8 34.4 69 32 64 32s-9.8 2.4-12.8 6.4L6.4 98.1C2.2 103.7 0 110.4 0 117.3V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V117.3c0-6.9-2.2-13.7-6.4-19.2L76.8 38.4zm192 0c-3-4-7.8-6.4-12.8-6.4s-9.8 2.4-12.8 6.4L198.4 98.1c-4.2 5.5-6.4 12.3-6.4 19.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V117.3c0-6.9-2.2-13.7-6.4-19.2L268.8 38.4zM448 32c-5 0-9.8 2.4-12.8 6.4L390.4 98.1c-4.2 5.5-6.4 12.3-6.4 19.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V117.3c0-6.9-2.2-13.7-6.4-19.2L460.8 38.4c-3-4-7.8-6.4-12.8-6.4z\"]]\n};\nvar faUp = {\n prefix: 'fad',\n iconName: 'up',\n icon: [384, 512, [\"arrow-alt-up\"], \"f357\", [\"M128 256V440c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V256H128z\", \"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h96v0H256v0h96c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-160-160z\"]]\n};\nvar faArrowAltUp = faUp;\nvar faBroomBall = {\n prefix: 'fad',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", [\"M566.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192 45.3 45.3 192-192zM464 512a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M409.4 281.4L294.6 166.6c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6v29.1L364.3 320h29.1c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16zm-68.3 72L222.6 234.9c-42.7-3.7-85.2 11.7-115.8 42.3l-8 8C76.5 307.5 64 337.7 64 369.2c0 6.8 7.1 11.2 13.2 8.2l51.1-25.5c5-2.5 9.5 4.1 5.4 7.9L7.3 473.4C2.7 477.6 0 483.6 0 489.9C0 502.1 9.9 512 22.1 512l173.3 0c38.8 0 75.9-15.4 103.4-42.8c30.6-30.6 45.9-73.1 42.3-115.8z\"]]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faDrumstick = {\n prefix: 'fad',\n iconName: 'drumstick',\n icon: [512, 512, [127831], \"f6d6\", [\"M160.2 278.2c3 39.2 34.3 70.5 73.5 73.5l-36.4 36.4c-12.3 12.3-11.4 32.5-7.2 49.4c1.1 4.6 1.8 9.5 1.8 14.5c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c5 0 9.8 .6 14.5 1.8c16.9 4.2 37.1 5.2 49.4-7.2l36.4-36.4z\", \"M160 176v96c0 44.2 35.8 80 80 80h96c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176z\"]]\n};\nvar faSquareV = {\n prefix: 'fad',\n iconName: 'square-v',\n icon: [448, 512, [], \"e284\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm77.5 125.3L224 322.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7z\", \"M109.3 146.5c11.9-5.9 26.3-1.1 32.2 10.7L224 322.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2z\"]]\n};\nvar faFaceAwesome = {\n prefix: 'fad',\n iconName: 'face-awesome',\n icon: [512, 512, [\"gave-dandy\"], \"e409\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM144 120c35.3 0 64 28.7 64 64v10.3c0 16.4-13.3 29.7-29.7 29.7H109.7C93.3 224 80 210.7 80 194.3V184c0-35.3 28.7-64 64-64zm128 72c0-39.8 32.2-72 72-72s72 32.2 72 72v7.5c0 13.5-11 24.5-24.5 24.5H296.5C283 224 272 213 272 199.5V192zM116.3 288H395.7c10.4 0 18.1 9.6 15.9 19.8C395.5 380.4 330.3 432 256 432s-139.5-51.6-155.6-124.2c-2.3-10.2 5.5-19.8 15.9-19.8z\", \"M154 120.8c22.6 3.5 41.3 18.9 49.5 39.6c-5.6 9.4-15.8 15.6-27.5 15.6c-17.7 0-32-14.3-32-32c0-9.1 3.8-17.4 10-23.2zM360.8 122c22 5.3 40.1 20.6 49.1 40.9c-5.8 8-15.2 13.1-25.9 13.1c-17.7 0-32-14.3-32-32c0-8.5 3.3-16.3 8.8-22zM100.4 307.8c-2.3-10.2 5.5-19.8 15.9-19.8H395.7c10.4 0 18.1 9.6 15.9 19.8c-5 22.3-14.6 42.7-27.7 60.2c-13.4-10-30-16-47.9-16c-44.2 0-80 35.8-80 80c-74.3 0-139.5-51.6-155.6-124.2z\"]]\n};\nvar faGaveDandy = faFaceAwesome;\nvar faDialOff = {\n prefix: 'fad',\n iconName: 'dial-off',\n icon: [576, 512, [], \"e162\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M312 446.2c77-11.6 136-78 136-158.2c0-88.4-71.6-160-160-160s-160 71.6-160 160c0 80.2 59 146.6 136 158.2V288c0-13.3 10.7-24 24-24s24 10.7 24 24V446.2z\"]]\n};\nvar faToggleOff = {\n prefix: 'fad',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", [\"M192 128c-70.7 0-128 57.3-128 128s57.3 128 128 128H384c70.7 0 128-57.3 128-128s-57.3-128-128-128H192zM384 64c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256S86 64 192 64H384z\", \"M96 256a96 96 0 1 0 192 0A96 96 0 1 0 96 256z\"]]\n};\nvar faFaceSmileHorns = {\n prefix: 'fad',\n iconName: 'face-smile-horns',\n icon: [640, 512, [], \"e391\", [\"M64 256a256 256 0 1 1 512 0A256 256 0 1 1 64 256zm141.5 91.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C394 370.2 363.4 392 320 392s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM240.4 304c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M566.1 185.1C550.5 131 517.6 84.3 473.8 51.3c17-3.3 39.7-8.6 63-15.5c29.8-8.9 59.1-20.2 78.4-33.1c5.4-3.6 12.4-3.6 17.8 0s8.1 10.1 6.8 16.4c-6.2 31-29.3 106.6-73.6 166zM103.3 35.8c23.3 7 46 12.2 63 15.5c-43.8 33-76.7 79.7-92.3 133.8C29.6 125.8 6.5 50.1 .3 19.1C-1 12.8 1.7 6.3 7.1 2.7s12.4-3.6 17.8 0c19.3 12.9 48.5 24.2 78.4 33.1zM240.4 304c-17.7 0-32-14.3-32-32c0-8.8 3.6-16.8 9.3-22.6l-30.7-10.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l96 32c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-10.9-3.6c.2 1.5 .3 2.9 .3 4.4c0 17.7-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1.6 .1-3.2 .3-4.7l-11.7 3.9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l96-32c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2l-30.2 10.1c5.9 5.8 9.5 13.9 9.5 22.8z\"]]\n};\nvar faBoxArchive = {\n prefix: 'fad',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", [\"M480 128H32V416c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V128zM192 192H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M0 64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64z\"]]\n};\nvar faArchive = faBoxArchive;\nvar faGrapes = {\n prefix: 'fad',\n iconName: 'grapes',\n icon: [512, 512, [], \"e306\", [\"M320 72c0-29.7 17.6-55 26.7-66c3.3-4 8.2-6 13.3-6s10 2 13.2 6C382.3 17.4 400 44.3 400 80c0 32-8 40-8 40s8-8 40-8c35.7 0 62.6 17.7 74 26.8c4 3.2 6 8.1 6 13.2s-2 10-6 13.3C495 174.4 469.7 192 440 192c-40 0-55.3-15.3-80-40s-40-40-40-80z\", \"M248 208a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm-80-32A56 56 0 1 0 56 176a56 56 0 1 0 112 0zM88 368a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM56 512a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm144-32a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm192-80a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zM224 344a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm192-80a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]]\n};\nvar faPersonDrowning = {\n prefix: 'fad',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", [\"M269.5 389.9c11.1-7.9 25.9-7.9 37 0C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1z\", \"M160 32c17.7 0 32 14.3 32 32V96.2c0 52.7 34.1 99.3 84.3 115.3c40 12.7 82.7 14.5 123.7 5.2l105-23.9c17.2-3.9 34.4 6.9 38.3 24.1s-6.9 34.4-24.1 38.3l-105 23.9c-10.6 2.4-21.2 4.2-31.9 5.5l-17.7 97.6c-13.6-3.2-27.3-9.4-39.7-18c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-7.3 0-15-1.2-22.8-3.3l21-146.7C151.5 200.1 128 150.2 128 96.2V64c0-17.7 14.3-32 32-32zm96 96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]]\n};\nvar faDialMax = {\n prefix: 'fad',\n iconName: 'dial-max',\n icon: [576, 512, [], \"e15e\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M417.1 382.8c46.2-62.6 41-151.3-15.7-208c-62.5-62.5-163.8-62.5-226.3 0s-62.5 163.8 0 226.3c56.7 56.7 145.4 62 208 15.7L271.3 304.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L417.1 382.8z\"]]\n};\nvar faCircleM = {\n prefix: 'fad',\n iconName: 'circle-m',\n icon: [512, 512, [], \"e115\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM171.5 137.9L256 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L176 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8s20.7 .3 26.8 8.8z\", \"M144.6 129.2c9.9-3.2 20.7 .3 26.8 8.8L256 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L176 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8z\"]]\n};\nvar faCalendarImage = {\n prefix: 'fad',\n iconName: 'calendar-image',\n icon: [448, 512, [], \"e0d4\", [\"M0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM147.2 360.7L99.8 422.2c-8.1 10.5-.6 25.8 12.7 25.8H338.9c12.6 0 20.3-13.9 13.5-24.6L268.9 292.3c-6.1-9.7-20.1-9.9-26.7-.5L184 376l-11.4-15.1c-6.4-8.5-19-8.5-25.5-.2zM128 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM99.8 422.2c-8.1 10.5-.6 25.8 12.7 25.8H338.9c12.6 0 20.3-13.9 13.5-24.6L268.9 292.3c-6.1-9.7-20.1-9.9-26.7-.5L184 376l-11.4-15.1c-6.4-8.5-19-8.5-25.5-.2L99.8 422.2z\"]]\n};\nvar faCircleCaretDown = {\n prefix: 'fad',\n iconName: 'circle-caret-down',\n icon: [512, 512, [\"caret-circle-down\"], \"f32d\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm0-144c6.7 0 13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H152c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7z\", \"M273.6 360.3c-4.5 4.9-10.9 7.7-17.6 7.7s-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4H360c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112z\"]]\n};\nvar faCaretCircleDown = faCircleCaretDown;\nvar faArrowDown91 = {\n prefix: 'fad',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", [\"M445.7 148.9A32 32 0 1 0 418.3 91a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2zM464 320v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4s13.3 15.7 13.3 26z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'fad',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", [\"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zm-41-368.1c-7.9-4.2-17.5 1.5-17.5 10.5c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9zM396 141.1c0-9-9.6-14.7-17.5-10.5l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6z\", \"M133.5 130.7c-7.9-4.2-17.5 1.5-17.5 10.5c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9zm245 0l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6c0-9-9.6-14.7-17.5-10.5zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faShishKebab = {\n prefix: 'fad',\n iconName: 'shish-kebab',\n icon: [512, 512, [], \"f821\", [\"M393.4 73.4c12.5-12.5 32.8-12.5 45.3 0c10.4 10.4 12.2 26.4 5.1 38.6c-8.8 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c21.2-36.7 16.2-84.5-15.3-115.9c-37.5-37.5-98.3-37.5-135.8 0c-25.7 25.7-33.8 62.4-24.3 94.9c1.8 6.1 2.4 11.4 2.1 15.2c-.1 2-.5 2.9-.6 3.2l-31 31 45.3 45.3 31.1-31.1c13.1-13.1 18-29.4 19.1-43.4c1.1-13.8-1.3-27.2-4.5-38c-3.2-11-.5-23.1 8.1-31.7zM241.7 315.6l-45.3-45.3-30.1 30.1 45.3 45.3 30.1-30.1zm-128 128L68.4 398.3l-59 59c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l59-59zM325.3 141.5a.1 .1 0 1 0 -.1-.2 .1 .1 0 1 0 .1 .2z\", \"M203.7 138.3l-41.4 41.4c-15.6 15.6-15.6 40.9 0 56.6L275.7 349.7c15.6 15.6 40.9 15.6 56.6 0l41.4-41.4c15.6-15.6 15.6-40.9 0-56.6L260.3 138.3c-15.6-15.6-40.9-15.6-56.6 0zm-71.4 128c-15.6-15.6-40.9-15.6-56.6 0L34.3 307.7c-15.6 15.6-15.6 40.9 0 56.6L147.7 477.7c15.6 15.6 40.9 15.6 56.6 0l41.4-41.4c15.6-15.6 15.6-40.9 0-56.6L132.3 266.3z\"]]\n};\nvar faSprayCan = {\n prefix: 'fad',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", [\"M256 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 336a80 80 0 1 1 160 0A80 80 0 1 1 80 336zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM384 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256zm240 80A80 80 0 1 0 80 336a80 80 0 1 0 160 0z\"]]\n};\nvar faAlarmSnooze = {\n prefix: 'fad',\n iconName: 'alarm-snooze',\n icon: [512, 512, [], \"f845\", [\"M256 512c50.3 0 96.8-16.6 134.2-44.6l35.2 35.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-35.2-35.2c28-37.4 44.6-83.8 44.6-134.2C480 164.3 379.7 64 256 64S32 164.3 32 288c0 50.3 16.6 96.8 44.6 134.2L41.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l35.2-35.2c37.4 28 83.8 44.6 134.1 44.6zM200 192H312c9.2 0 17.5 5.2 21.6 13.5s3 18-2.6 25.3L249.1 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-9.2 0-17.5-5.2-21.6-13.5s-3-18 2.6-25.3L262.9 240H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M14.9 146.4L160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1zm482.3 0C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM200 192c-13.3 0-24 10.7-24 24s10.7 24 24 24h62.9L181.1 345.3c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5H312c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.1l81.9-105.3c5.6-7.2 6.6-17 2.6-25.3s-12.4-13.5-21.6-13.5H200z\"]]\n};\nvar faScarecrow = {\n prefix: 'fad',\n iconName: 'scarecrow',\n icon: [448, 512, [], \"f70d\", [\"M224 192A96 96 0 1 0 224 0a96 96 0 1 0 0 192zM192 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM192 400.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32V400.1l-24.1 13.8c-4.9 2.8-11 2.8-15.9 0L192 400.1z\", \"M133.5 128H32c-5.9 0-11.3 3.2-14.1 8.5s-2.5 11.5 .8 16.4l7.6 11.4L6.4 179.2C2.4 182.2 0 187 0 192s2.4 9.8 6.4 12.8l19.9 14.9-7.6 11.4c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h73c10.1 0 17.7 9.2 15.7 19.1L96.3 396.9c-1.2 6.2 1.2 12.5 6.3 16.1s11.8 4 17.3 .9L160.1 391c4.9-2.8 11-2.8 15.9 0l40.1 22.9c4.9 2.8 11 2.8 15.9 0L272.1 391c4.9-2.8 11-2.8 15.9 0l40.1 22.9c5.4 3.1 12.2 2.8 17.3-.9s7.6-10 6.3-16.1L327.3 275.1c-2-9.9 5.6-19.1 15.7-19.1h73c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-7.6-11.4 19.9-14.9c4-3 6.4-7.8 6.4-12.8s-2.4-9.8-6.4-12.8l-19.9-14.9 7.6-11.4c3.3-4.9 3.6-11.2 .8-16.4s-8.2-8.5-14.1-8.5H314.5c-13.2 37.3-48.7 64-90.5 64s-77.4-26.7-90.5-64z\"]]\n};\nvar faTruckMonster = {\n prefix: 'fad',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", [\"M130.3 276c4.8-11.7 16.2-20 29.7-20s24.9 8.3 29.7 20c9.1 2.5 17.7 6.1 25.7 10.7c11.6-4.9 25.6-2.6 35.1 6.8s11.8 23.5 6.8 35.1c4.6 8 8.2 16.6 10.7 25.7c11.7 4.8 20 16.2 20 29.7s-8.3 24.9-20 29.7c-2.5 9.1-6.1 17.7-10.7 25.7c4.9 11.6 2.6 25.6-6.8 35.1s-23.5 11.8-35.1 6.8c-8 4.6-16.6 8.2-25.7 10.7c-4.8 11.7-16.2 20-29.7 20s-24.9-8.3-29.7-20c-9.1-2.5-17.7-6.1-25.7-10.7C93 486.3 79 484 69.5 474.5S57.7 451 62.6 439.4c-4.6-8-8.2-16.6-10.7-25.7c-11.7-4.8-20-16.2-20-29.7s8.3-24.9 20-29.7c2.5-9.1 6.1-17.7 10.7-25.7C57.7 317 60 303 69.5 293.5s23.5-11.8 35.1-6.8c8-4.6 16.6-8.2 25.7-10.7zM208 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM450.3 276c4.8-11.7 16.2-20 29.7-20s24.9 8.3 29.7 20c9.1 2.5 17.7 6.1 25.7 10.7c11.6-4.9 25.6-2.6 35.1 6.8s11.8 23.5 6.9 35.1c4.6 8 8.2 16.6 10.7 25.7c11.7 4.8 20 16.2 20 29.7s-8.3 24.9-20 29.7c-2.5 9.1-6.1 17.7-10.7 25.7c4.9 11.6 2.6 25.6-6.9 35.1s-23.5 11.8-35.1 6.8c-8 4.6-16.6 8.2-25.7 10.7c-4.8 11.7-16.2 20-29.7 20s-24.9-8.3-29.7-20c-9.1-2.5-17.7-6.1-25.7-10.7c-11.6 4.9-25.6 2.6-35.1-6.9s-11.8-23.5-6.8-35.1c-4.6-8-8.2-16.6-10.7-25.7c-11.7-4.8-20-16.2-20-29.7s8.3-24.9 20-29.7c2.5-9.1 6.1-17.7 10.7-25.7c-4.9-11.6-2.6-25.6 6.8-35.1s23.5-11.8 35.1-6.8c8-4.6 16.6-8.2 25.7-10.7zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\", \"M288 64v64H416L368 64H288zM419.2 25.6L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64H288c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32H224V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6z\"]]\n};\nvar faGiftCard = {\n prefix: 'fad',\n iconName: 'gift-card',\n icon: [576, 512, [], \"f663\", [\"M470.4 128H512c35.3 0 64 28.7 64 64V320H0V192c0-35.3 28.7-64 64-64h41.6c14.6 28.5 44.2 48 78.4 48h59.4l-53.9 64.6c-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.1 33.8-3.1L288 197.5l61.6 73.9c8.5 10.2 23.6 11.6 33.8 3.1s11.6-23.6 3.1-33.8L332.6 176H392c34.2 0 63.8-19.5 78.4-48zM0 416H576v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416z\", \"M186.2 48H184c-22.1 0-40 17.9-40 40s17.9 40 40 40h73.3L222.5 68.8C214.9 55.9 201.1 48 186.2 48zm57.3 128H184c-48.6 0-88-39.4-88-88s39.4-88 88-88h2.2c31.9 0 61.5 16.9 77.7 44.4l24.1 41 24.1-41C328.3 16.9 357.9 0 389.8 0H392c48.6 0 88 39.4 88 88s-39.4 88-88 88H332.6l53.9 64.6c8.5 10.2 7.1 25.3-3.1 33.8s-25.3 7.1-33.8-3.1L288 197.5l-61.6 73.9c-8.5 10.2-23.6 11.6-33.8 3.1s-11.6-23.6-3.1-33.8L243.4 176zM392 128c22.1 0 40-17.9 40-40s-17.9-40-40-40h-2.2c-14.9 0-28.8 7.9-36.3 20.8L318.7 128H320h72zM576 416H0V320H576v96z\"]]\n};\nvar faW = {\n prefix: 'fad',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", [\"M20.8 34c16.5-6.2 35 2.2 41.2 18.7l110.2 294L257.3 55c4-13.7 16.5-23 30.7-23s26.7 9.4 30.7 23l85.1 291.7L514 52.8c6.2-16.5 24.6-24.9 41.2-18.7s24.9 24.7 18.7 41.2l-144 384c-4.8 12.9-17.4 21.3-31.2 20.7s-25.7-9.8-29.5-23L288 178.3 206.7 457c-3.9 13.2-15.8 22.5-29.5 23s-26.3-7.8-31.2-20.7L2 75.2C-4.2 58.7 4.2 40.2 20.8 34z\", \"\"]]\n};\nvar faCodePullRequestDraft = {\n prefix: 'fad',\n iconName: 'code-pull-request-draft',\n icon: [448, 512, [], \"e3fa\", [\"M416 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM112 153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V358.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V153.3zM368 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 80 0a80 80 0 1 0 0 160zm0 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm264-80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faSquareB = {\n prefix: 'fad',\n iconName: 'square-b',\n icon: [448, 512, [], \"e264\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 120c0-13.3 10.7-24 24-24h92c42 0 76 34 76 76c0 16.2-5.1 31.3-13.8 43.7C324.3 261.6 336 283.4 336 308c0 42-34 76-76 76H152c-13.3 0-24-10.7-24-24V256 152zm144 52c0-15.5-12.5-28-28-28H176v56h68c15.5 0 28-12.5 28-28zM176 336h84c15.5 0 28-12.5 28-28s-12.5-28-28-28H244 176v56z\", \"M152 128c-13.3 0-24 10.7-24 24V256 360c0 13.3 10.7 24 24 24H260c42 0 76-34 76-76c0-24.6-11.7-46.4-29.8-60.3c8.7-12.4 13.8-27.4 13.8-43.7c0-42-34-76-76-76H152zm92 104H176V176h68c15.5 0 28 12.5 28 28s-12.5 28-28 28zm-68 48h68 16c15.5 0 28 12.5 28 28s-12.5 28-28 28H176V280z\"]]\n};\nvar faElephant = {\n prefix: 'fad',\n iconName: 'elephant',\n icon: [640, 512, [128024], \"f6da\", [\"M192 112C192 50.1 242.1 0 304 0c30.5 0 58.2 12.2 78.4 32H384c88.4 0 160 71.6 160 160V346.5c-10 3.5-20.8 5.5-32 5.5c-34.9 0-65.5-18.6-82.3-46.5c-4.6-7.6-14.4-10-22-5.4s-10 14.4-5.4 22c4 6.6 8.6 12.9 13.7 18.7V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V410c-15.3 3.9-31.4 6-48 6s-32.7-2.1-48-6v70c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V344.7c-2.6 4.7-5.5 9.2-8.7 13.5L43.2 374.4c-8 10.6-23 12.8-33.6 4.8s-12.8-23-4.8-33.6l12.1-16.2c5.7-7.6 9.6-16.3 11.4-25.6C30.8 291.7 32 279.4 32 267V248c0-72.2 35.4-136.1 89.9-175.4c16.7-13.1 35.6-23.4 56.1-30.4c-11.5 20.7-18 44.5-18 69.8c0 79.5 64.5 144 144 144c8.8 0 16-7.2 16-16s-7.2-16-16-16c-61.9 0-112-50.1-112-112zM480 380c10.2 2.6 21 4 32 4s21.8-1.4 32-4v18.6c0 9.6 7.8 17.4 17.4 17.4c6.6 0 12.6-3.7 15.6-9.6l2.3-4.7c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.3 4.7c-13.8 27.6-42 45-72.8 45c-45 0-81.4-36.5-81.4-81.4V380zm0-172a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\", \"M464 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-34.3 81.5c-4.6-7.6-14.4-10-22-5.4s-10 14.4-5.4 22c22.4 37.1 63.1 62 109.7 62c35.8 0 68.2-14.7 91.4-38.4c6.2-6.3 6.1-16.4-.2-22.6s-16.4-6.1-22.6 .2C563.1 341 538.9 352 512 352c-34.9 0-65.5-18.6-82.3-46.5z\"]]\n};\nvar faEarthAfrica = {\n prefix: 'fad',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", [\"M146 24.8l39.9 54.8c4 5.5 6.1 12.1 6.1 18.8v39.5c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32v28c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16v48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4V318.6c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l12.5 4.2c13.2 4.4 27.6-1.6 33.9-14c3.2-6.3 9.6-10.3 16.7-10.3h76.4c5.3 20.5 8.1 41.9 8.1 64c0 141.4-114.6 256-256 256S0 397.4 0 256C0 154 59.7 65.9 146 24.8z\", \"M146 24.8l39.9 54.8c4 5.5 6.1 12.1 6.1 18.8v39.5c0 3.9 1.6 7.7 4.3 10.4c6.2 6.2 16.5 5.7 22-1.2l13.6-17c4.7-5.9 12.9-7.7 19.6-4.3l15.2 7.6c3.4 1.7 7.2 2.6 11 2.6c6.5 0 12.8-2.6 17.4-7.2l3.9-3.9c2.9-2.9 7.3-3.6 11-1.8l29.2 14.6c7.8 3.9 12.6 11.8 12.6 20.5c0 10.5-7.1 19.6-17.3 22.2l-35.4 8.8c-7.4 1.8-15.1 1.5-22.4-.9l-32-10.7c-3.3-1.1-6.7-1.7-10.2-1.7c-7 0-13.8 2.3-19.4 6.5L176 212c-10.1 7.6-16 19.4-16 32v28c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16v48c0 17.7 14.3 32 32 32c10.1 0 19.6-4.7 25.6-12.8l25.6-34.1c8.3-11.1 12.8-24.6 12.8-38.4V318.6c0-3.9 2.6-7.3 6.4-8.2l5.3-1.3c11.9-3 20.3-13.7 20.3-26c0-7.1-2.8-13.9-7.8-18.9l-33.5-33.5c-3.7-3.7-3.7-9.7 0-13.4c5.7-5.7 14.1-7.7 21.8-5.1l12.5 4.2c13.2 4.4 27.6-1.6 33.9-14c3.2-6.3 9.6-10.3 16.7-10.3h76.4C475.5 81.6 375.3 0 256 0c-39.4 0-76.7 8.9-110 24.8z\"]]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'fad',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", [\"M320 192c-88.4 0-160 71.6-160 160v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-123.7 100.3-224 224-224s224 100.3 224 224v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352c0-88.4-71.6-160-160-160z\", \"M64 352C64 210.6 178.6 96 320 96s256 114.6 256 256v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352C640 175.3 496.7 32 320 32S0 175.3 0 352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352zm192 0c0-35.3 28.7-64 64-64s64 28.7 64 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-70.7-57.3-128-128-128s-128 57.3-128 128v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352z\"]]\n};\nvar faCircleNotch = {\n prefix: 'fad',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", [\"M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z\", \"\"]]\n};\nvar faTabletScreenButton = {\n prefix: 'fad',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", [\"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM256 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 64H64V384H384V64z\", \"M64 64H384V384H64V64z\"]]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'fad',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", [\"M226.5 92.9c14.3 42.9-.3 86.2-32.6 96.8s-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5zM90.2 282.7c-24.5 14-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3s14.3 70.1-10.2 84.1zm331.7 0c-24.5-14-29.1-51.7-10.2-84.1s54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3zM310.1 189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5z\", \"M69.2 401.2C121.6 259.9 214.7 224 256 224s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 480 64 459.1 64 433.3v-1.6c0-10.4 1.6-20.8 5.2-30.5z\"]]\n};\nvar faMessageQuestion = {\n prefix: 'fad',\n iconName: 'message-question',\n icon: [512, 512, [], \"e1e3\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm169.8 53.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V216c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M222.6 80c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V216c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6zM256 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faCloud = {\n prefix: 'fad',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", [\"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z\", \"\"]]\n};\nvar faTrowelBricks = {\n prefix: 'fad',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", [\"M320 224H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zM0 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416zm192 0c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416z\", \"M256 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-192 96C6.8 104.8 0 115.9 0 128s6.8 23.2 17.7 28.6l192 96c9.9 5 21.7 4.4 31.1-1.4s15.2-16.1 15.2-27.2V152h89c3.6 13.8 16.1 24 31 24h88c26.5 0 48-21.5 48-48s-21.5-48-48-48H376c-14.9 0-27.4 10.2-31 24H256V32z\"]]\n};\nvar faSquare3 = {\n prefix: 'fad',\n iconName: 'square-3',\n icon: [448, 512, [], \"e258\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H280c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H208c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L218.3 176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 152c0-13.3 10.7-24 24-24H280c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.1 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H208c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L218.3 176H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faFaceFlushed = {\n prefix: 'fad',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zM88 224a72 72 0 1 1 144 0A72 72 0 1 1 88 224zm264-72a72 72 0 1 1 0 144 72 72 0 1 1 0-144z\", \"M160 248a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm192 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'fad',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", [\"M0 48C0 21.5 21.5 0 48 0H272c26.5 0 48 21.5 48 48V271.8v95.9c-38.2 21.4-64 62.3-64 109.2c0 12.9 3.6 24.9 9.9 35.1H48c-26.5 0-48-21.5-48-48V384H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V288H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H0V48zM136 80v24H112c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152h24c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H184V80c0-8.8-7.2-16-16-16H152c-8.8 0-16 7.2-16 16z\", \"M432 352a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-50.9 32c-51.4 0-93.1 41.7-93.1 93.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1z\"]]\n};\nvar faMicrowave = {\n prefix: 'fad',\n iconName: 'microwave',\n icon: [576, 512, [], \"e01b\", [\"M120 128c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24H392c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H120z\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64c0 17.7-14.3 32-32 32s-32-14.3-32-32H128c0 17.7-14.3 32-32 32s-32-14.3-32-32c-35.3 0-64-28.7-64-64V96zm96 56V328c0 13.3 10.7 24 24 24H392c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm400-40c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16z\"]]\n};\nvar faChfSign = {\n prefix: 'fad',\n iconName: 'chf-sign',\n icon: [640, 512, [], \"e602\", [\"M224 32c17.7 0 32 14.3 32 32V224h96V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H256V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\", \"M0 113.4C0 68.5 36.5 32 81.4 32c30.8 0 59 17.4 72.8 45l2.3 4.7c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L97 105.6c-3-5.9-9-9.6-15.6-9.6C71.8 96 64 103.8 64 113.4V398.6c0 9.6 7.8 17.4 17.4 17.4c6.6 0 12.6-3.7 15.6-9.6l2.3-4.7c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.3 4.7c-13.8 27.6-42 45-72.8 45C36.5 480 0 443.5 0 398.6V113.4zM448 64c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V224h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H512V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64z\"]]\n};\nvar faTentArrowLeftRight = {\n prefix: 'fad',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", [\"M268.6 166.5c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160c1.4 9.2-1.3 18.6-7.4 25.6s-14.9 11.1-24.2 11.1H384L288 352V512H96c-9.3 0-18.2-4.1-24.2-11.1s-8.8-16.4-7.4-25.6l24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128z\", \"M454.2 7.9c8.9-9.9 24-10.7 33.9-1.8l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-9.9 8.9-25 8.1-33.9-1.8s-8.1-25 1.8-33.9L489.5 120 86.5 120l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72C2.9 109.3 0 102.8 0 96s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8s8.1 25-1.8 33.9L86.5 72l402.9 0L455.9 41.8c-9.9-8.9-10.7-24-1.8-33.9z\"]]\n};\nvar faCartCircleArrowUp = {\n prefix: 'fad',\n iconName: 'cart-circle-arrow-up',\n icon: [640, 512, [], \"e3f0\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c29.1-57 88.4-96 156.8-96c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM428.7 348.7l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6l0 89.4c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-89.4-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]]\n};\nvar faTrashClock = {\n prefix: 'fad',\n iconName: 'trash-clock',\n icon: [576, 512, [], \"e2b0\", [\"M416 96H32L53.4 466.8c1.5 25.4 22.5 45.2 47.9 45.2H330.8C285.6 480.1 256 427.5 256 368c0-89.9 67.4-164 154.4-174.7L416 96z\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faGavel = {\n prefix: 'fad',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", [\"M249.4 217.4L168 298.7l-1.4-1.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4 81.4-81.4-45.3-45.3z\", \"M273.4 9.4c12.5-12.5 32.8-12.5 45.3 0l16 16c12.5 12.5 12.5 32.8 0 45.3l-4 4L437.4 181.4l4-4c12.5-12.5 32.8-12.5 45.3 0l16 16c12.5 12.5 12.5 32.8 0 45.3l-120 120c-12.5 12.5-32.8 12.5-45.3 0l-16-16c-12.5-12.5-12.5-32.8 0-45.3l4-4L218.6 186.6l-4 4c-12.5 12.5-32.8 12.5-45.3 0l-16-16c-12.5-12.5-12.5-32.8 0-45.3l120-120z\"]]\n};\nvar faLegal = faGavel;\nvar faSprinklerCeiling = {\n prefix: 'fad',\n iconName: 'sprinkler-ceiling',\n icon: [384, 512, [], \"e44c\", [\"M112 344a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 408a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM24 448a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 344a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-32 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-80 88a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-72 88a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm136-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M0 96c0 15.3 10.8 28.4 25.7 31.4L128 147.8V82.6L64 69.8V0H0V96zm256 51.8l102.3-20.5c15-3 25.7-16.1 25.7-31.4V0H320V69.8L256 82.6v65.3zM224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V64z\"]]\n};\nvar faBrowsers = {\n prefix: 'fad',\n iconName: 'browsers',\n icon: [576, 512, [], \"e0cb\", [\"M192 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM512 416c35.3 0 64-28.7 64-64l0-160L96 192V352c0 35.3 28.7 64 64 64l352 0z\", \"M160 0C124.7 0 96 28.7 96 64V192H576V64c0-35.3-28.7-64-64-64H160zm32 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]]\n};\nvar faTrillium = {\n prefix: 'fad',\n iconName: 'trillium',\n icon: [448, 512, [], \"e588\", [\"M130.8 135.6c-1.8 8.1-2.8 16.3-2.8 24.4c0 15.7 3.8 30.4 10.4 43.5c-16.3 0-32.7 4.2-47.8 12.9c-6.3 3.6-12.2 7.9-17.7 12.8C26.4 196.4 7 161 0 144.3c-5.8-13.8 3-29.1 17.9-31c18.3-2.3 59.8-3.2 112.9 22.2zM375 229.2c-5.5-4.9-11.4-9.2-17.7-12.8c-15-8.7-31.5-12.8-47.7-12.9c6.6-13.1 10.4-27.8 10.4-43.5c0-8.2-1-16.3-2.8-24.4c53.1-25.4 94.6-24.5 112.9-22.2c14.9 1.9 23.7 17.1 17.9 31c-7 16.7-26.4 52.1-73 84.9zM169 390.8c6.1-2.2 12-4.9 17.5-8.1c16.6-9.6 29.2-23.3 37.4-39.2c8.1 15.8 20.8 29.6 37.4 39.2c5.6 3.2 11.5 5.9 17.7 8.2c-4.8 53.1-25.4 90.2-36 106.3c-9.1 13.7-28.8 13.7-37.9 0c-10.6-16-31.2-53.2-36-106.3z\", \"M214.1 8.9C189.6 31.8 128 95.9 128 160c0 15.7 3.8 30.4 10.4 43.5c-16.3 0-32.7 4.2-47.8 12.9c-55.5 32-80.2 117.5-87.8 150.2c-1.8 7.5 2.5 14.9 9.9 17.1c32.1 9.7 118.4 31.1 173.9-1c16.6-9.6 29.2-23.3 37.4-39.2c8.1 15.8 20.8 29.6 37.4 39.2c55.5 32 141.8 10.7 173.9 1c7.4-2.2 11.6-9.6 9.9-17.1c-7.6-32.7-32.3-118.1-87.8-150.2c-15-8.7-31.5-12.8-47.7-12.9c6.6-13.1 10.4-27.8 10.4-43.5c0-64.1-61.6-128.2-86.1-151.1c-5.6-5.3-14.1-5.3-19.8 0zM224 200a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]]\n};\nvar faMusicSlash = {\n prefix: 'fad',\n iconName: 'music-slash',\n icon: [640, 512, [], \"f8d1\", [\"M563.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0 16.7-6.2 32.2-16.7 45.1L421.2 304.8C437.4 294.3 457.8 288 480 288c11.2 0 22 1.6 32 4.6V147L300.7 210.4 192.1 125.3c1.1-13 10-24.1 22.7-27.9l320-96c9.7-2.9 20.2-1.1 28.3 5zM192 247.3l64 50.4V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c11.2 0 22 1.6 32 4.6V247.3z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTruckRamp = {\n prefix: 'fad',\n iconName: 'truck-ramp',\n icon: [640, 512, [], \"f4e0\", [\"M448 416a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\", \"M416.7 402.5C423.4 338.2 477.9 288 544 288c38.2 0 72.5 16.8 96 43.3V0H416c-35.3 0-64 28.7-64 64V353.8L31.6 441.1c-17.1 4.6-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5L416.7 402.5z\"]]\n};\nvar faBinoculars = {\n prefix: 'fad',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", [\"M96 64V96h96V64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm224 0V96h96V64c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zM288 96H224V256h64V96z\", \"M192 448V256h32V96H192 93c-16.4 0-30.2 12.5-31.8 28.8l-9 89.7c-2.7 27.3-11.5 53.7-25.6 77.3C9.2 320.7 0 353.8 0 387.6V448c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32zm128 0c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V387.6c0-33.8-9.2-66.9-26.5-95.8c-14.1-23.6-22.9-49.9-25.6-77.3l-9-89.7C449.2 108.5 435.5 96 419 96H320 288V256h32V448z\"]]\n};\nvar faMicrophoneSlash = {\n prefix: 'fad',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", [\"M401.3 412.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2zm70.8-67.5c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7l38.3 30zM408 294.5c5.2-11.8 8-24.8 8-38.5V96c0-53-43-96-96-96s-96 43-96 96v54.3L408 294.5z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBoxTissue = {\n prefix: 'fad',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", [\"M113.8 224H48c-26.5 0-48 21.5-48 48V384H512V272c0-26.5-21.5-48-48-48H405.3L384 288h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h48l-14.2-64z\", \"M103.9 0H208c40 0 52 24 64 48s24 48 64 48h67.6c21.8 0 37.3 21.4 30.4 42.1L373.3 320H135.1L72.7 38.9C68.2 19 83.4 0 103.9 0zM512 384v80c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V384H512z\"]]\n};\nvar faCircleC = {\n prefix: 'fad',\n iconName: 'circle-c',\n icon: [512, 512, [], \"e101\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\", \"M312.6 199.4c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]]\n};\nvar faStarChristmas = {\n prefix: 'fad',\n iconName: 'star-christmas',\n icon: [512, 512, [], \"f7d4\", [\"M71 105c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 105zM441 105l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm0 336c-9.4 9.4-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9zM71 407l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9z\", \"M192 320L15.5 275.9C6.4 273.6 0 265.4 0 256s6.4-17.6 15.5-19.9L192 192 236.1 15.5C238.4 6.4 246.6 0 256 0s17.6 6.4 19.9 15.5L320 192l176.5 44.1c9.1 2.3 15.5 10.5 15.5 19.9s-6.4 17.6-15.5 19.9L320 320 275.9 496.5c-2.3 9.1-10.5 15.5-19.9 15.5s-17.6-6.4-19.9-15.5L192 320z\"]]\n};\nvar faChartBullet = {\n prefix: 'fad',\n iconName: 'chart-bullet',\n icon: [512, 512, [], \"e0e1\", [\"M160 64v64h80V64H160zm288 96H288v64H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H288v64H448v32zm-288 0v64h80V160H160zM384 384v64h80c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H384v64h64v32H384zm-48-32V288H256v64h80zm0 32H256v64h80V384z\", \"M264 32c-13.3 0-24 10.7-24 24V232c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H160V64H48zm0 224c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H256V288H48zm336-8c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V280z\"]]\n};\nvar faMotorcycle = {\n prefix: 'fad',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", [\"M128 416c26.9 0 49.9-16.5 59.3-40h66.4C242.5 435.2 190.5 480 128 480C57.3 480 0 422.7 0 352s57.3-128 128-128c62.5 0 114.5 44.8 125.8 104H187.3c-9.5-23.5-32.5-40-59.3-40c-35.3 0-64 28.7-64 64s28.7 64 64 64zm256-64c0-40 18.4-75.7 47.1-99.2l31.6 58.4C453.5 322.3 448 336.5 448 352c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-2.4 0-4.8 .1-7.1 .4L473.3 230c12.2-3.9 25.2-6 38.7-6c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128-57.3-128-128z\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160c0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32c0-52.2 25-98.6 63.7-127.8l75.2 139.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5L418.2 128H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H459.6c-7.5 0-14.7 2.6-20.5 7.4L391.7 78.9l-14-26c-7-12.9-20.5-21-35.2-21H280zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faTreeChristmas = {\n prefix: 'fad',\n iconName: 'tree-christmas',\n icon: [448, 512, [127876], \"f7db\", [\"M195.3 105.9l2.1 .8L215 153.8c1.4 3.8 5 6.2 9 6.2s7.6-2.5 9-6.2l17.7-47.1 2.1-.8L418.8 313.5c3.4 4.2 5.2 9.4 5.2 14.8c0 13.1-10.6 23.7-23.7 23.7H368l76.2 122c2.5 4 3.8 8.5 3.8 13.2c0 13.7-11.1 24.9-24.9 24.9H24.9C11.1 512 0 500.9 0 487.1c0-4.7 1.3-9.2 3.8-13.2L80 352H47.7C34.6 352 24 341.4 24 328.3c0-5.4 1.8-10.6 5.2-14.8L195.3 105.9zM160 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM312 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\", \"M150.2 71l47.1-17.7L215 6.2c1.4-3.8 5-6.2 9-6.2s7.6 2.5 9 6.2l17.7 47.1L297.8 71c3.8 1.4 6.2 5 6.2 9s-2.5 7.6-6.2 9l-47.1 17.7L233 153.8c-1.4 3.8-5 6.2-9 6.2s-7.6-2.5-9-6.2l-17.7-47.1L150.2 89c-3.8-1.4-6.2-5-6.2-9s2.5-7.6 6.2-9zM288 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faTireFlat = {\n prefix: 'fad',\n iconName: 'tire-flat',\n icon: [512, 512, [], \"f632\", [\"M239.9 350l0 65c-44.2-5.5-81.5-33.6-99.8-72.4l61.9-20.1c8.6 13.4 22.1 23.4 37.9 27.5zm32 0c15.9-4.1 29.4-14.1 38-27.6l61.9 20.1c-18.3 38.8-55.6 66.9-99.8 72.4l0-65zm47.9-58c.1-1.3 .1-2.7 .1-4c0-15.4-5.5-29.6-14.5-40.6l38.2-52.6C368.5 218.1 384 251.2 384 288c0 8.3-.8 16.3-2.3 24.2L319.9 292zm-40.2-63.5c-7.3-2.9-15.3-4.5-23.6-4.5s-16.3 1.6-23.6 4.5l-10-13.8-28.1-38.8C212.5 165.8 233.6 160 256 160s43.5 5.8 61.8 15.9l-38.2 52.6zm-73.1 18.9c-9.1 11-14.5 25.2-14.5 40.6c0 1.4 0 2.7 .1 4l-61.8 20.1c-1.5-7.8-2.3-15.9-2.3-24.2c0-36.8 15.5-69.9 40.3-93.3l28.1 38.7 10.1 13.9zM256 448a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM224 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M0 288C0 146.6 114.6 32 256 32s256 114.6 256 256c0 47.3-12.8 91.7-35.2 129.7c20.3 5.6 35.2 24.2 35.2 46.3c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48c0-22.1 14.9-40.7 35.2-46.3C12.8 379.7 0 335.3 0 288zm416 0c0-88.4-71.6-160-160-160s-160 71.6-160 160c0 52.3 25.1 98.8 64 128c26.7 20.1 60 32 96 32c33.1 0 63.9-10.1 89.5-27.3c2.2-1.5 4.4-3.1 6.6-4.7c38.9-29.2 64-75.7 64-128zM256 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faSunglasses = {\n prefix: 'fad',\n iconName: 'sunglasses',\n icon: [576, 512, [128374], \"f892\", [\"M192.9 303.6c10.5 2.8 20.8 6.3 30.5 10.4l-3.2 57.5c-1.9 33.9-29.9 60.4-63.9 60.4H112c-32.7 0-59.7-24.5-63.5-56.2l144.4-72.2zM356 374l141-70.5c10.7 2.8 21.1 6.4 31 10.7V368c0 35.3-28.7 64-64 64H419.7c-33.1 0-60.6-25.3-63.7-58z\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57.1 259.8c25.6-7.8 52.6-11.8 78.6-11.8c40.1 0 82.2 9.6 118.5 27.3c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.4 7.7-9.8 13.5-12.7c36.2-17.8 78.4-27.3 118.5-27.3c26 0 53 4.1 78.6 11.8L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.2c.3 1.8 .5 3.7 .5 5.6v5.2c0 .5 0 1 0 1.5V352c0 .2 0 .4 0 .6V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM48 352v16c0 35.3 28.7 64 64 64h44.3c34 0 62-26.5 63.9-60.5l3.2-57.5c-27.3-11.7-58.3-18-87.7-18c-29.5 0-60.5 6.4-87.7 18.2V352zm392.3-56c-29.4 0-60.4 6.3-87.7 18l3.2 57.5c1.9 33.9 29.9 60.5 63.9 60.5H464c35.3 0 64-28.7 64-64V314.2c-27.2-11.8-58.2-18.2-87.7-18.2z\"]]\n};\nvar faBadge = {\n prefix: 'fad',\n iconName: 'badge',\n icon: [512, 512, [], \"f335\", [\"M340.9 51.1C324.8 20.7 292.8 0 256 0s-68.8 20.7-84.9 51.1C138.2 41 101 49 75 75s-34 63.3-23.9 96.1C20.7 187.2 0 219.2 0 256s20.7 68.8 51.1 84.9C41 373.8 49 411 75 437s63.3 34 96.1 23.9C187.2 491.3 219.2 512 256 512s68.8-20.7 84.9-51.1C373.8 471 411 463 437 437s34-63.3 23.9-96.1C491.3 324.8 512 292.8 512 256s-20.7-68.8-51.1-84.9C471 138.2 463 101 437 75s-63.3-34-96.1-23.9z\", \"\"]]\n};\nvar faMessagePen = {\n prefix: 'fad',\n iconName: 'message-pen',\n icon: [512, 512, [\"comment-alt-edit\", \"message-edit\"], \"f4a4\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm340.8 59c-14.7-14.7-38.6-14.7-53.3 0L272.6 138l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 232.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 284c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 160.6l-71.9 71.9z\", \"M287.5 123L272.6 138l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3s-38.6-14.7-53.3 0zM250 160.6l-71.9 71.9c-4.1 4.1-7 9.2-8.4 14.9L160.5 284c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 160.6z\"]]\n};\nvar faCommentAltEdit = faMessagePen;\nvar faMessageEdit = faMessagePen;\nvar faBellConcierge = {\n prefix: 'fad',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", [\"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3c7.9-.8 15.9-1.3 24-1.3s16.1 .4 24 1.3V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM480 400H32 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8z\", \"M480 368c0-123.7-100.3-224-224-224S32 244.3 32 368v32H480V368z\"]]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'fad',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", [\"M249.4 103.4L204.2 58.3c-.3 .3-.6 .7-.9 1l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c.3-.3 .7-.6 1-.9L161.9 16C143.2-2.7 112.8-2.7 94.1 16L16 94.1c-18.7 18.7-18.7 49.1 0 67.9l87.4 87.4L249.4 103.4zM408.6 262.6L262.6 408.6 350.1 496c18.7 18.7 49.1 18.7 67.9 0L496 417.9c18.7-18.7 18.7-49.1 0-67.9l-19.8-19.8c-.3 .3-.6 .7-.9 1l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c.3-.3 .7-.6 1-.9l-45.1-45.1z\", \"M378.7 19.3L322.3 75.7 436.3 189.7l56.4-56.4c25-25 25-65.5 0-90.5L469.3 19.3c-25-25-65.5-25-90.5 0zm-79 79L44.9 353.2c-6.7 6.7-11.6 15.1-14.2 24.2L.9 481.4C-1.5 489.8 .9 498.8 7 505s15.2 8.5 23.6 6.1l104-29.7c9.2-2.6 17.5-7.5 24.2-14.2L413.7 212.3 299.7 98.3z\"]]\n};\nvar faPencilRuler = faPenRuler;\nvar faArrowProgress = {\n prefix: 'fad',\n iconName: 'arrow-progress',\n icon: [512, 512, [], \"e5df\", [\"M448 0a64 64 0 1 1 0 128A64 64 0 1 1 448 0zM64 384c23.7 0 44.4 12.9 55.4 32H160V401.9c0-9.9 8-17.9 17.9-17.9c4 0 7.8 1.3 11 3.8l60.8 47.3c4 3.1 6.3 7.9 6.3 12.9s-2.3 9.8-6.3 12.9l-60.8 47.3c-3.1 2.4-7 3.8-11 3.8c-9.9 0-17.9-8-17.9-17.9V480H119.4c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64s28.7-64 64-64z\", \"M256 110.1V96H128c-35.3 0-64 28.7-64 64s28.7 64 64 64H384c70.7 0 128 57.3 128 128c0 62.2-44.4 114.1-103.2 125.6C398.1 498 376.7 512 352 512c-35.3 0-64-28.7-64-64s28.7-64 64-64c22.2 0 41.7 11.3 53.2 28.4c24.9-8.7 42.8-32.5 42.8-60.4c0-35.3-28.7-64-64-64H128C57.3 288 0 230.7 0 160S57.3 32 128 32H256V17.9C256 8 264 0 273.9 0c4 0 7.8 1.3 11 3.8l60.8 47.3c4 3.1 6.3 7.9 6.3 12.9s-2.3 9.8-6.3 12.9l-60.8 47.3c-3.1 2.4-7 3.8-11 3.8c-9.9 0-17.9-8-17.9-17.9z\"]]\n};\nvar faChessRookPiece = {\n prefix: 'fad',\n iconName: 'chess-rook-piece',\n icon: [320, 512, [\"chess-rook-alt\"], \"f448\", [\"M272 416H48L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L272 416z\", \"M48 416L72 264 47 232.8c-4.5-5.7-7-12.7-7-20V112c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v24c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v24c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V112c0-8.8 7.2-16 16-16h24c8.8 0 16 7.2 16 16V212.8c0 7.3-2.5 14.3-7 20L248 264l24 152H48zm88-135.1c0 3.9 3.2 7.1 7.1 7.1h33.8c3.9 0 7.1-3.2 7.1-7.1V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v32.9z\"]]\n};\nvar faChessRookAlt = faChessRookPiece;\nvar faSquareRoot = {\n prefix: 'fad',\n iconName: 'square-root',\n icon: [576, 512, [8730], \"f697\", [\"M282.6 78.1c8-27.3 33-46.1 61.4-46.1H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H344L238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H77.6c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1z\", \"\"]]\n};\nvar faAlbumCollectionCirclePlus = {\n prefix: 'fad',\n iconName: 'album-collection-circle-plus',\n icon: [640, 512, [], \"e48e\", [\"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM12 176.2C21.1 165.9 34.2 160 48 160H464c13.8 0 26.9 5.9 36 16.2c4.2 4.8 7.4 10.3 9.4 16.3c-4.4-.3-8.9-.5-13.4-.5c-46.9 0-89.5 18.3-121 48.2C342.9 220.1 301.4 208 256 208C154.4 208 72 268.9 72 344s82.4 136 184 136c33.2 0 64.4-6.5 91.3-17.9c12.4 19.6 28.6 36.6 47.5 49.9H80c-24.2 0-44.6-18-47.6-42L.4 214c-1.7-13.7 2.5-27.4 11.6-37.7zM288 352c0 13.3-14.3 24-32 24s-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faPeopleArrows = {\n prefix: 'fad',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", [\"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM25.9 233.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c.6-.2 1.1-.4 1.7-.6L167 321c-9.4-9.4-9.4-24.6 0-33.9l62-62c-7.1-37.4-39.8-65.1-78.6-65.1H105.6c-41.6 0-76.3 31.9-79.7 73.4zM446.3 347.6c.6 .2 1.1 .4 1.7 .6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C610.7 191.9 576 160 534.4 160H489.6c-38.8 0-71.5 27.7-78.6 65.1l62 62c9.4 9.4 9.4 24.6 0 33.9l-26.7 26.7zM576 64A64 64 0 1 0 448 64a64 64 0 1 0 128 0z\", \"M257.2 217.8c9 3.7 14.8 12.5 14.8 22.2v32h96V240c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V336H272v32c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c6.9-6.9 17.2-8.9 26.2-5.2z\"]]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faFaceAngryHorns = {\n prefix: 'fad',\n iconName: 'face-angry-horns',\n icon: [640, 512, [], \"e368\", [\"M64 256a256 256 0 1 1 512 0A256 256 0 1 1 64 256zM402.7 411.9c6.6-5.9 7.1-16 1.2-22.6C387.8 371.4 359.7 352 320 352s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM240.4 304c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M566.1 185.1C550.5 131 517.6 84.3 473.8 51.3c17-3.3 39.7-8.6 63-15.5c29.8-8.9 59.1-20.2 78.4-33.1c5.4-3.6 12.4-3.6 17.8 0s8.1 10.1 6.8 16.4c-6.2 31-29.3 106.6-73.6 166zM103.3 35.8c23.3 7 46 12.2 63 15.5c-43.8 33-76.7 79.7-92.3 133.8C29.6 125.8 6.5 50.1 .3 19.1C-1 12.8 1.7 6.3 7.1 2.7s12.4-3.6 17.8 0c19.3 12.9 48.5 24.2 78.4 33.1zM240.4 304c-17.7 0-32-14.3-32-32c0-8.8 3.6-16.8 9.3-22.6l-30.7-10.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l96 32c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-10.9-3.6c.2 1.5 .3 2.9 .3 4.4c0 17.7-14.3 32-32 32zm192-32c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1.6 .1-3.2 .3-4.7l-11.7 3.9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l96-32c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2l-30.2 10.1c5.9 5.8 9.5 13.9 9.5 22.8z\"]]\n};\nvar faMarsAndVenusBurst = {\n prefix: 'fad',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", [\"M176 8c6.6 0 12.4 4 14.9 10.1l29.4 74 76.2-23.1c6.3-1.9 13.1 .2 17.2 5.3c3 3.7 4.1 8.5 3.2 13C270.7 115.4 240 166.1 240 224c0 27.8 7.1 53.9 19.5 76.7l1.9 26.4c.5 6.5-3.1 12.7-9 15.5s-12.9 1.8-17.8-2.6L176 286.1l-58.6 53.9c-4.8 4.4-11.9 5.5-17.8 2.6s-9.5-9-9-15.5l5.6-79.4L17.6 235.4c-6.5-1-11.7-5.9-13.1-12.2s1.1-13 6.5-16.7l65.6-45.1L37 92.2c-3.3-5.7-2.7-12.8 1.4-17.9s10.9-7.2 17.2-5.3l76.2 23.1 29.4-74C163.6 12 169.4 8 176 8z\", \"M481.8 14.8C485.5 5.8 494.3 0 504 0H616c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C551 163.3 560 192.6 560 224c0 80.2-59.1 146.7-136.1 158.2c0 .6 .1 1.2 .1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H424v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l-24 0-24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456H352c-13.3 0-24-10.7-24-24s10.7-24 24-24h24v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2 .1-1.8C299.1 370.7 240 304.2 240 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L526.1 80 487 41c-6.9-6.9-8.9-17.2-5.2-26.2zM592 48l0 0h0v0zM400 488h24c0 13.3-10.7 24-24 24s-24-10.7-24-24h24zm96-264a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]]\n};\nvar faTombstone = {\n prefix: 'fad',\n iconName: 'tombstone',\n icon: [448, 512, [], \"f720\", [\"M224 0C118 0 32 86 32 192V448H416V192C416 86 330 0 224 0zm24 152v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M248 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V360c0 13.3 10.7 24 24 24s24-10.7 24-24V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V152zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faSquareCaretRight = {\n prefix: 'fad',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", [\"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\", \"M312.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 208c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"]]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'fad',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", [\"M256 192l-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l64-64zm64 64l-64 64L396.8 460.8c28.3 28.3 74.1 28.3 102.4 0c7.1-7.1 7.1-18.5 0-25.6L320 256zM112 160a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\", \"M216.5 359.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6c-28.3-28.3-74.1-28.3-102.4 0L152.5 295.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5zM64 400a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]]\n};\nvar faCut = faScissors;\nvar faListMusic = {\n prefix: 'fad',\n iconName: 'list-music',\n icon: [512, 512, [], \"f8c9\", [\"M0 96C0 78.3 14.3 64 32 64H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 224c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM0 352c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M512 32c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-96 32C360.8 38 352 50.2 352 64v64V359.7c-14.5-4.9-30.8-7.7-48-7.7c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V151.1l74.1-24.7C503.2 122 512 109.8 512 96V32z\"]]\n};\nvar faSunPlantWilt = {\n prefix: 'fad',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", [\"M174.6 9.5C172 3.7 166.3 0 160 0s-12 3.7-14.6 9.5L120.6 64.9 63.9 43.2c-5.9-2.3-12.6-.8-17 3.6s-5.9 11.1-3.6 17l21.7 56.7L9.5 145.4C3.7 148 0 153.7 0 160s3.7 12 9.5 14.6l55.4 24.8L43.2 256.1c-2.3 5.9-.8 12.6 3.6 17s11.1 5.9 17 3.6l56.7-21.7 24.8 55.4c2.6 5.8 8.3 9.5 14.6 9.5s12-3.7 14.6-9.5l24.8-55.4 56.7 21.7c5.9 2.3 12.6 .8 17-3.6s5.9-11.1 3.6-17l-21.7-56.7 55.4-24.8c5.8-2.6 9.5-8.3 9.5-14.6s-3.7-12-9.5-14.6l-55.4-24.8 21.7-56.7c2.3-5.9 .8-12.6-3.6-17s-11.1-5.9-17-3.6L199.4 64.9 174.6 9.5zM96 160a64 64 0 1 1 128 0A64 64 0 1 1 96 160zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M536 144c-17.7 0-32 14.3-32 32v96 8V448H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H456V280v-8c0-17.7-14.3-32-32-32s-32 14.3-32 32v21.4c14.8 7.7 24 23.1 24 44.6c0 16.6-16 43.9-37.4 67.2c-5.7 6.2-15.5 6.2-21.2 0C336 382 320 354.9 320 338c0-21.5 9.2-37 24-44.6V272c0-44.2 35.8-80 80-80c11.4 0 22.2 2.4 32 6.7V176c0-44.2 35.8-80 80-80s80 35.8 80 80v53.4c14.8 7.7 24 23.1 24 44.6c0 16.6-16 43.9-37.4 67.2c-5.7 6.2-15.5 6.2-21.2 0C560 318 544 290.9 544 274c0-21.5 9.2-37 24-44.6V176c0-17.7-14.3-32-32-32z\"]]\n};\nvar faToiletsPortable = {\n prefix: 'fad',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", [\"M24 64H0V88 488c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H208v8c0 13.3 10.7 24 24 24s24-10.7 24-24V88 64H232 24zM192 224c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM344 64H320V88 488c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H528v8c0 13.3 10.7 24 24 24s24-10.7 24-24V88 64H552h-8H352h-8zM512 224c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\", \"M32 0C14.3 0 0 14.3 0 32V64H256V32c0-17.7-14.3-32-32-32H32zM352 0c-17.7 0-32 14.3-32 32V64H576V32c0-17.7-14.3-32-32-32H352zM192 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zm336 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]]\n};\nvar faHockeyPuck = {\n prefix: 'fad',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", [\"M512 160c0 53-114.6 96-256 96S0 213 0 160s114.6-96 256-96s256 43 256 96z\", \"M256 256c141.4 0 256-43 256-96V352c0 53-114.6 96-256 96S0 405 0 352V160c0 53 114.6 96 256 96z\"]]\n};\nvar faMustache = {\n prefix: 'fad',\n iconName: 'mustache',\n icon: [640, 512, [], \"e5bc\", [\"M193.4 194.9c16.4-12.3 36.3-18.9 56.8-18.9c26.6 0 51.9 11.2 69.8 30.7c17.9-19.5 43.2-30.7 69.8-30.7c20.5 0 40.4 6.6 56.8 18.9l13.1 9.8c16.7 12.5 37 19.3 57.8 19.3c15 0 29.7-3.5 43.1-10.2l8.3-4.1c1.9-1 4-1.5 6-1.7c1.8-.1 3.6 0 5.4 .5c.3 .1 .5 .2 .8 .2c2.2 .7 4.1 1.9 5.7 3.3c1.2 1.1 2.2 2.3 3 3.7c.4 .6 .7 1.3 1 1.9c.6 1.5 1 2.9 1.1 4.4c.2 2.2 0 4.5-.7 6.8c-9.4 28.3-32.9 54.7-58.8 73.8c-25.8 19-57.3 33.1-85 33.1c-16.4 0-34.4-4.7-50.1-11.2c-15.6-6.5-30.6-15.5-40.6-25.5c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0c6 6 17 13 30.3 18.5c13.2 5.5 26.9 8.8 37.8 8.8c18.2 0 43-9.9 66-26.9c9.5-7 18.1-14.8 25.4-22.9c-7 1.2-14.2 1.8-21.4 1.8c-27.8 0-54.8-9-77-25.7l-13.1-9.8c-10.8-8.1-24-12.5-37.6-12.5c-19 0-37 8.6-48.9 23.5l-8.2 10.2c-.4 .6-.9 1.1-1.4 1.6c-1.3 1.3-2.8 2.4-4.5 3.1c-4.4 2.1-9.4 2-13.7 0c-1.6-.8-3.1-1.8-4.5-3.1c-.5-.5-1-1-1.4-1.6l-8.2-10.2c-11.9-14.9-29.9-23.5-48.9-23.5c-13.6 0-26.7 4.4-37.6 12.5l-13.1 9.8c-22.2 16.7-49.3 25.7-77 25.7c-7.2 0-14.3-.6-21.4-1.8c7.3 8.1 16 15.9 25.4 22.9c23 17 47.9 26.9 66 26.9c10.9 0 24.6-3.3 37.8-8.8c13.3-5.5 24.3-12.5 30.3-18.5c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6c-10 10-25 19-40.6 25.5C227 331.3 209 336 192.6 336c-27.7 0-59.2-14.1-85-33.1c-25.9-19.1-49.3-45.5-58.8-73.7c-.1-.4-.2-.8-.3-1.2c-.4-1.5-.6-3.1-.5-4.6c.1-2.2 .6-4.4 1.7-6.5c1-2.1 2.4-3.8 4.1-5.2c1.3-1.1 2.9-2 4.6-2.7c.3-.1 .7-.2 1-.3c3.8-1.1 7.7-.8 11.1 .7c.2 .1 .5 .2 .7 .3l8.2 4.1c13.4 6.7 28.1 10.2 43.1 10.2c20.9 0 41.2-6.8 57.8-19.3l13.1-9.8z\", \"M231 112c-31.6 0-61.7 13.2-83.1 36.4l-2 2.1c-27.6 29.9-74.6 30.9-103.4 2.1L41 151c-2.5-2.5-5.5-4.4-8.6-5.5c-2.6-1-5.4-1.5-8.4-1.5c-3.6 0-7.1 .8-10.2 2.3c-1.7 .8-3.3 1.8-4.8 3c-1.5 1.2-2.9 2.7-4.1 4.2c-.7 1-1.4 2-2 3C1.1 159.9 0 163.8 0 168v39.4C0 313.8 86.2 400 192.6 400c46.7 0 91.7-16.9 126.9-47.7l.5-.4 .5 .4c35.1 30.7 80.2 47.7 126.9 47.7C553.8 400 640 313.8 640 207.4V168c0-4-1-7.8-2.7-11.2c-.2-.5-.5-.9-.8-1.4c-.2-.4-.5-.8-.7-1.1c-.3-.5-.7-1-1.1-1.4c-1.1-1.3-2.3-2.5-3.6-3.6c-4.1-3.3-9.3-5.2-15-5.2c-2.9 0-5.8 .5-8.4 1.5c-3.1 1.2-6.1 3-8.6 5.5l-1.6 1.6c-28.8 28.8-75.8 27.9-103.4-2.1l-2-2.1C470.7 125.2 440.6 112 409 112c-33 0-64.4 14.4-85.9 39.5l-3.1 3.6-3.1-3.6C295.4 126.4 264 112 231 112zm19.2 64c26.6 0 51.9 11.2 69.8 30.7c17.9-19.5 43.2-30.7 69.8-30.7c20.5 0 40.4 6.6 56.8 18.9l13.1 9.8c16.7 12.5 37 19.3 57.8 19.3c15 0 29.7-3.5 43.1-10.2l8.3-4.1c1.9-1 4-1.5 6-1.7c1.8-.1 3.6 0 5.4 .5c.3 .1 .5 .2 .8 .2c2.2 .7 4.1 1.9 5.7 3.3c1.2 1.1 2.2 2.3 3 3.7c.4 .6 .7 1.3 1 1.9c.6 1.5 1 2.9 1.1 4.4c.2 2.2 0 4.5-.7 6.8c-9.4 28.3-32.9 54.7-58.8 73.8c-25.8 19-57.3 33.1-85 33.1c-16.4 0-34.4-4.7-50.1-11.2c-15.6-6.5-30.6-15.5-40.6-25.5c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0c6 6 17 13 30.3 18.5c13.2 5.5 26.9 8.8 37.8 8.8c18.2 0 43-9.9 66-26.9c9.5-7 18.1-14.8 25.4-22.9c-7 1.2-14.2 1.8-21.4 1.8c-27.8 0-54.8-9-77-25.7l-13.1-9.8c-10.8-8.1-24-12.5-37.6-12.5c-19 0-37 8.6-48.9 23.5l-8.2 10.2c-.4 .6-.9 1.1-1.4 1.6c-1.3 1.3-2.8 2.4-4.5 3.1c-4.4 2.1-9.4 2-13.7 0c-1.6-.8-3.1-1.8-4.5-3.1c-.5-.5-1-1-1.4-1.6l-8.2-10.2c-11.9-14.9-29.9-23.5-48.9-23.5c-13.6 0-26.7 4.4-37.6 12.5l-13.1 9.8c-22.2 16.7-49.3 25.7-77 25.7c-7.2 0-14.3-.6-21.4-1.8c7.3 8.1 16 15.9 25.4 22.9c23 17 47.9 26.9 66 26.9c10.9 0 24.6-3.3 37.8-8.8c13.3-5.5 24.3-12.5 30.3-18.5c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6c-10 10-25 19-40.6 25.5C227 331.3 209 336 192.6 336c-27.7 0-59.2-14.1-85-33.1c-25.9-19.1-49.3-45.5-58.8-73.7c-.1-.4-.2-.8-.3-1.2c-.4-1.5-.6-3.1-.5-4.6c.1-2.2 .6-4.4 1.7-6.5c1-2.1 2.4-3.8 4.1-5.2c1.3-1.1 2.9-2 4.6-2.7c.3-.1 .7-.2 1-.3c3.8-1.1 7.7-.8 11.1 .7c.2 .1 .5 .2 .7 .3l8.2 4.1c13.4 6.7 28.1 10.2 43.1 10.2c20.9 0 41.2-6.8 57.8-19.3l13.1-9.8c16.4-12.3 36.3-18.9 56.8-18.9z\"]]\n};\nvar faHyphen = {\n prefix: 'fad',\n iconName: 'hyphen',\n icon: [320, 512, [], \"2d\", [\"M0 256c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"\"]]\n};\nvar faTable = {\n prefix: 'fad',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", [\"M224 320v96h64V320l160 0V256l-160 0V160H224v96L64 256v64l160 0z\", \"M64 160V416H448V160H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]]\n};\nvar faUserChef = {\n prefix: 'fad',\n iconName: 'user-chef',\n icon: [448, 512, [], \"e3d2\", [\"M96 160H352c0 70.7-57.3 128-128 128s-128-57.3-128-128z\", \"M384 48c0 20.9-13.4 38.7-32 45.3V112v48H320 304 144 128 96V112 93.3C77.4 86.7 64 68.9 64 48C64 21.5 85.5 0 112 0c14.3 0 27.2 6.3 36 16.3C156.8 6.3 169.7 0 184 0c16.7 0 31.4 8.5 40 21.5C232.6 8.5 247.3 0 264 0c14.3 0 27.2 6.3 36 16.3C308.8 6.3 321.7 0 336 0c26.5 0 48 21.5 48 48zM178.4 340.6c7.5 1.9 8.2 12.3 1 15.2l-43.2 17.3C111.9 382.8 96 406.3 96 432.5V480v24 8H88 64 25.6C11.5 512 0 500.5 0 486.4c0-58.8 37.7-108.8 90.3-127c3.3-1.2 5.7-4.3 5.7-7.8V330.2c0-5.2 4.9-9 9.9-7.8l72.5 18.1zM352 512H160 136h-8v-8V480 432.5c0-13.1 8-24.9 20.1-29.7L341 325.6c5.3-2.1 11 1.8 11 7.4v18.6c0 3.5 2.3 6.6 5.7 7.8c52.6 18.2 90.3 68.2 90.3 127c0 14.1-11.5 25.6-25.6 25.6H352zM224 432a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faMessageImage = {\n prefix: 'fad',\n iconName: 'message-image',\n icon: [512, 512, [\"comment-alt-image\"], \"e1e0\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm176 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm120 0c-8 0-15.5 4-20 10.7l-56 84L202.7 201c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C311.5 132 304 128 296 128z\", \"M144 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm172-21.3C311.5 132 304 128 296 128s-15.5 4-20 10.7l-56 84L202.7 201c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144z\"]]\n};\nvar faCommentAltImage = faMessageImage;\nvar faUsersMedical = {\n prefix: 'fad',\n iconName: 'users-medical',\n icon: [640, 512, [], \"f830\", [\"M64 80a80 80 0 1 1 160 0A80 80 0 1 1 64 80zm368 0a80 80 0 1 1 160 0A80 80 0 1 1 432 80zM106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7C0 239.8 47.8 192 106.7 192zm298 128c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H605.3c-6.6-18.6-24.4-32-45.3-32H528c-20.9 0-38.7 13.4-45.3 32H405.3c-.2 0-.4 0-.7 0zm28.2 43.5C422.5 372.3 416 385.4 416 400v32c0 26.5 21.5 48 48 48h16v16c0 5.6 1 11 2.7 16H154.7c-14.7 0-26.7-11.9-26.7-26.7C128 411.7 187.7 352 261.3 352H378.7c19.3 0 37.6 4.1 54.2 11.5zM320 128a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M528 320c-8.8 0-16 7.2-16 16v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V448h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16l-48 0V336c0-8.8-7.2-16-16-16H528z\"]]\n};\nvar faSensorTriangleExclamation = {\n prefix: 'fad',\n iconName: 'sensor-triangle-exclamation',\n icon: [640, 512, [\"sensor-alert\"], \"e029\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v32c-26.4 0-50.7 14.2-63.7 37.1L233.9 430c-6.5 11.5-9.9 24.5-9.9 37.7c0 4.2 .3 8.3 1 12.3H64c-35.3 0-64-28.7-64-64V96zm88 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24z\", \"M412.2 180.9l-150.4 265c-3.8 6.7-5.8 14.2-5.8 21.9c0 24.5 19.8 44.3 44.3 44.3H595.7c24.5 0 44.3-19.8 44.3-44.3c0-7.7-2-15.2-5.8-21.9l-150.4-265C476.5 168 462.8 160 448 160s-28.5 8-35.8 20.9zM448 256c8.8 0 16 7.2 16 16v88c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8 7.2-16 16-16zM424 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faSensorAlert = faSensorTriangleExclamation;\nvar faMagnifyingGlassArrowRight = {\n prefix: 'fad',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", [\"M208 416A208 208 0 1 0 208 0a208 208 0 1 0 0 416zm33-297l72 72c9.4 9.4 9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H238.1l-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\", \"M241 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H238.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72zM457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L376 330.7C363.3 348 348 363.3 330.7 376L457.4 502.6z\"]]\n};\nvar faTachographDigital = {\n prefix: 'fad',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm32 64H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM64 368c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96zM80 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm320 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H400z\"]]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faFaceMask = {\n prefix: 'fad',\n iconName: 'face-mask',\n icon: [576, 512, [], \"e37f\", [\"M542 224.1c-1.5 .2-3.1 .6-4.5 1.3L423.1 276.2C414.4 264 400.2 256 384 256H192c-16.2 0-30.4 8-39.1 20.2L38.5 225.4c-1.5-.7-3-1.1-4.5-1.3C49.7 97.8 157.4 0 288 0S526.3 97.8 542 224.1zm2 33.4c-.3 47.9-13.7 92.7-36.9 131c-2.9-2.8-6.8-4.5-11.1-4.5H432V307.3l112-49.8zM487.9 416c-46.9 58.5-119 96-199.9 96s-152.9-37.5-199.9-96h58.6c6.6 18.6 24.4 32 45.3 32H384c20.9 0 38.7-13.4 45.3-32h58.6zm-419-27.5c-23.2-38.2-36.6-83-36.9-131l112 49.8V384H80c-4.3 0-8.2 1.7-11.1 4.5zM240 176c8.8 0 16-7.2 16-16s-7.2-16-16-16c-55.4 0-93.6 23-107.3 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C162.9 195.7 193 176 240 176zm180.7 27.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C429.6 167 391.4 144 336 144c-8.8 0-16 7.2-16 16s7.2 16 16 16c47 0 77.1 19.7 84.7 27.3z\", \"M38.5 225.4c-8.1-3.6-17.5 0-21.1 8.1s0 17.5 8.1 21.1L144 307.3V384H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h66.7c6.6 18.6 24.4 32 45.3 32H384c20.9 0 38.7-13.4 45.3-32H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H432V307.3l118.5-52.7c8.1-3.6 11.7-13 8.1-21.1s-13-11.7-21.1-8.1L423.1 276.2C414.4 264 400.2 256 384 256H192c-16.2 0-30.4 8-39.1 20.2L38.5 225.4zM208 304H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faPickleball = {\n prefix: 'fad',\n iconName: 'pickleball',\n icon: [576, 512, [], \"e435\", [\"M432 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM352 384a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm80 80a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm0-64a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm96 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-80-80a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\", \"M386.3 28c-37.5-37.4-98.4-37.4-136 0L84.9 193c-18.4 18.3-23.8 45.8-13.9 69.7l24.2 57.9c10 23.9 4.5 51.5-13.9 69.8L27.8 443.8c-15.6 15.6-15.7 40.9 0 56.5s41 15.6 56.7 0l53.8-53.6c18.3-18.2 45.7-23.7 69.6-13.9l56.7 23.2c8.7 3.6 17.9 5.1 26.9 4.7C279.1 437.9 272 411.8 272 384c0-3.3 .1-6.5 .3-9.8L133.1 235.5c-6.3-6.2-6.3-16.4 0-22.6s16.4-6.3 22.6 0L279.3 336.1C299.7 271.1 360.3 224 432 224c32.1 0 62 9.4 87 25.7c16.7-35.5 10.3-79.1-19.1-108.4L386.3 28z\"]]\n};\nvar faStarSharpHalf = {\n prefix: 'fad',\n iconName: 'star-sharp-half',\n icon: [576, 512, [], \"e28c\", [\"M321.6 50.4l40 125.6H485.7 488h13.3H520c10.3 0 19.4 6.5 22.7 16.2s.1 20.4-8 26.7L520 230.4l-10.5 8.2-1.8 1.4L403.9 320.7l40.1 126 1.1 3.5 4.7 14.8 5 15.7c3.2 10-.5 21-9.1 27s-20.2 5.7-28.5-.7l-13-10.1L392 487.3l-2.9-2.3L288 406.4V325.3 155.9 0c10.5 0 19.7 6.8 22.9 16.7L316 32.9l0 0 4.6 14.3 1 3.2z\", \"M254.4 50.4L214.5 176H90.3 88 74.7 56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L56 230.4l10.5 8.2 1.8 1.4 103.7 80.7L132 446.7l-1.1 3.5L126.1 465l-5 15.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7l13-10.1 12.3-9.5 2.9-2.3L288 406.4V325.3 155.9 0c-10.5 0-19.7 6.8-22.9 16.7L260 32.9l0 0-4.6 14.3-1 3.2z\"]]\n};\nvar faUsersSlash = {\n prefix: 'fad',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", [\"M440.6 320L420 303.9c17.5-21.9 28-49.7 28-79.9c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H440.6zm-45.7-35.8L243.7 165.7C261.3 142.8 288.9 128 320 128c53 0 96 43 96 96c0 22.8-7.9 43.7-21.2 60.2zM203.1 133.9L77.5 35.5C91.9 14.1 116.3 0 144 0c44.2 0 80 35.8 80 80c0 20.8-7.9 39.7-20.9 53.9zM106.7 192h15.2l72.6 57.2c5.6 27.9 20.3 52.6 40.8 70.8c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7C0 239.8 47.8 192 106.7 192zM261.3 352h63.6L509.2 497.2c-4.4 8.8-13.4 14.8-23.9 14.8H154.7c-14.7 0-26.7-11.9-26.7-26.7C128 411.7 187.7 352 261.3 352zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faClover = {\n prefix: 'fad',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", [\"M173.3 32C139.4 32 112 59.4 112 93.3v4.9c0 12 3.3 23.7 9.4 34l31.9 53.2-53.2-31.9c-10.3-6.2-22-9.4-34-9.4H61.3C27.4 144 0 171.4 0 205.3c0 16.2 6.5 31.8 17.9 43.3l7.4 7.4-7.4 7.4C6.5 274.9 0 290.5 0 306.7C0 340.6 27.4 368 61.3 368h4.9c12 0 23.7-3.3 34-9.4l53.2-31.9-31.9 53.2c-6.2 10.3-9.4 22-9.4 34v4.9c0 33.8 27.4 61.3 61.3 61.3c16.2 0 31.8-6.5 43.3-17.9l7.4-7.4 7.4 7.4c11.5 11.5 27.1 17.9 43.3 17.9c33.8 0 61.3-27.4 61.3-61.3v-4.9c0-12-3.3-23.7-9.4-34l-31.9-53.2 53.2 31.9c10.3 6.2 22 9.4 34 9.4h4.9c33.8 0 61.3-27.4 61.3-61.3c0-16.2-6.5-31.8-17.9-43.3l-7.4-7.4 7.4-7.4c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3h-4.9c-12 0-23.7 3.3-34 9.4l-53.2 31.9 31.9-53.2c6.2-10.3 9.4-22 9.4-34V93.3C336 59.4 308.6 32 274.7 32c-16.2 0-31.8 6.5-43.3 17.9L224 57.4l-7.4-7.4C205.1 38.5 189.5 32 173.3 32z\", \"\"]]\n};\nvar faMeat = {\n prefix: 'fad',\n iconName: 'meat',\n icon: [512, 512, [127830], \"f814\", [\"M343.9 168.1c-15.3-15.3-20.4-34.9-11.5-43.8s28.5-3.7 43.8 11.5s20.4 34.9 11.5 43.8s-28.5 3.7-43.8-11.5zm-220 146.5l6.3-6.3c7.9 36.7 36.8 65.6 73.5 73.5l-6.3 6.3c-12.3 12.3-11.4 32.5-7.2 49.4c1.1 4.6 1.8 9.5 1.8 14.5c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c5 0 9.8 .6 14.5 1.8c16.9 4.2 37.1 5.2 49.4-7.2z\", \"M243.6 19.6C283.7-20.4 371.9 2.8 440.5 71.5s91.9 156.8 51.8 196.9l-40.5 40.5C403.9 357 338.7 384 270.8 384H224c-53 0-96-43-96-96V241.3c0-67.9 27-133 75-181l40.7-40.7zm64 184.8c49.6 49.6 113.3 66.4 142.2 37.4s12.2-92.6-37.4-142.2S299.1 33.2 270.2 62.2s-12.2 92.6 37.4 142.2z\"]]\n};\nvar faReply = {\n prefix: 'fad',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", [\"M224 288V128H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224z\", \"M224 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144C3.9 190.3 0 198.9 0 208s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V64z\"]]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'fad',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", [\"M375.4 137.4c3.5-7.1 13.7-7.1 17.2 0l31.5 63.8c1.4 2.8 4.1 4.8 7.2 5.3l70.4 10.2c7.9 1.1 11 10.8 5.3 16.4l-50.9 49.6c-2.3 2.2-3.3 5.4-2.8 8.5l12 70.1c1.3 7.8-6.9 13.8-13.9 10.1l-63-33.1c-2.8-1.5-6.1-1.5-8.9 0l-63 33.1c-7 3.7-15.3-2.3-13.9-10.1l12-70.1c.5-3.1-.5-6.3-2.8-8.5L261 233.1c-5.7-5.6-2.6-15.2 5.3-16.4l70.4-10.2c3.1-.5 5.8-2.4 7.2-5.3l31.5-63.8z\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c33 0 64.6-6.3 93.6-17.7c7.4-2.9 11.5-10.7 9.8-18.4s-8.8-13-16.7-12.4c-4.8 .3-9.7 .5-14.6 .5c-114.9 0-208-93.1-208-208s93.1-208 208-208c4.9 0 9.8 .2 14.6 .5c7.9 .5 15-4.7 16.7-12.4s-2.4-15.5-9.8-18.4C320.6 6.3 289 0 256 0z\"]]\n};\nvar faEmptySet = {\n prefix: 'fad',\n iconName: 'empty-set',\n icon: [512, 512, [8709, 216], \"f656\", [\"M390.2 76.6C352.8 48.6 306.3 32 256 32C132.3 32 32 132.3 32 256c0 50.3 16.6 96.8 44.6 134.2l45.9-45.9C105.8 318.9 96 288.6 96 256c0-88.4 71.6-160 160-160c32.6 0 62.9 9.8 88.2 26.5l45.9-45.9zM167.8 389.5l-45.9 45.9c37.4 28 83.8 44.6 134.1 44.6c123.7 0 224-100.3 224-224c0-50.3-16.6-96.8-44.6-134.1l-45.9 45.9C406.2 193.1 416 223.4 416 256c0 88.4-71.6 160-160 160c-32.6 0-62.9-9.8-88.2-26.5z\", \"M502.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-448 448c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l448-448c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faHouseFire = {\n prefix: 'fad',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", [\"M288 352c0-.6 0-1.3 0-1.9c0-35.2 16.3-73.6 37.2-107.4c21.7-35.2 51.9-71.2 87.3-102.8c9.8-8.8 22.5-12.7 34.8-11.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h32z\", \"M443.7 160c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7zM481 448c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faSquareMinus = {\n prefix: 'fad',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 200H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 256c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'fad',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", [\"M128 32c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H384v64H320V64H160c-17.7 0-32-14.3-32-32zM630.6 425.4c12.5 12.5 12.5 32.8 0 45.3l-3.9 3.9c-24 24-56.6 37.5-90.5 37.5H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H536.2c17 0 33.3-6.7 45.3-18.7l3.9-3.9c12.5-12.5 32.8-12.5 45.3 0z\", \"M384 384H320c-20.1 0-39.1-9.5-51.2-25.6l-71.4-95.2c-3.5-4.7-8.3-8.3-13.7-10.5L47.2 198.1c-9.5-3.8-16.7-12-19.2-22L5 83.9C2.4 73.8 10.1 64 20.5 64H48c10.1 0 19.6 4.7 25.6 12.8L112 128H384h32c88.4 0 160 71.6 160 160v64c0 17.7-14.3 32-32 32H384zm0-64H512V288c0-53-43-96-96-96H384V320z\"]]\n};\nvar faBird = {\n prefix: 'fad',\n iconName: 'bird',\n icon: [512, 512, [], \"e469\", [\"M162.1 407.4l48.6 91.9c6.2 11.7 20.7 16.2 32.4 10s16.2-20.7 10-32.4L221 416c-20.4-.3-40.1-3.3-58.9-8.6zm99 5.6l45.7 86.3c6.2 11.7 20.7 16.2 32.4 10s16.2-20.7 10-32.4l-40.9-77.2c-15 6.1-30.8 10.6-47.2 13.4zM448 175.5l56.2-33.7c4.8-2.9 7.8-8.1 7.8-13.7s-2.9-10.8-7.8-13.7L446.6 79.7C447.5 85 448 90.4 448 96v79.5z\", \"M0 188.4V192C0 315.7 100.3 416 224 416s224-100.3 224-224V96c0-53-43-96-96-96s-96 43-96 96v32c0 17.7-14.3 32-32 32H28.4C12.7 160 0 172.7 0 188.4zM352 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faCompass = {\n prefix: 'fad',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4L162.4 380.6z\", \"M162.4 380.6l144.3-55.5c8.5-3.3 15.1-9.9 18.4-18.4l55.5-144.3c7.5-19.4-11.6-38.5-31-31L205.3 186.9c-8.5 3.3-15.1 9.9-18.4 18.4L131.4 349.6c-7.5 19.4 11.6 38.5 31 31zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faSquareCaretDown = {\n prefix: 'fad',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zM224 352c6.7 0 13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H120c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7z\", \"M241.6 344.3c-4.5 4.9-10.9 7.7-17.6 7.7s-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4H328c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112z\"]]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faHeartHalfStroke = {\n prefix: 'fad',\n iconName: 'heart-half-stroke',\n icon: [512, 512, [\"heart-half-alt\"], \"e1ac\", [\"M256 480c10.3 0 20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96v90.5l45.3-45.3 12-12c18-18 43.6-26.2 68.8-22c38.1 6.3 66 39.3 66 77.9v5.8c0 23.8-9.9 46.5-27.3 62.7L256 407.4V480z\", \"M256 96L244 84l0 0c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9l0-50.7 0-265.4V96z\"]]\n};\nvar faHeartHalfAlt = faHeartHalfStroke;\nvar faFileCircleQuestion = {\n prefix: 'fad',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm48 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64-94.4c0-23 18.6-41.6 41.6-41.6h40.5c25.4 0 45.9 20.6 45.9 45.9c0 17.1-9.5 32.7-24.5 40.6L448 378.9V384c0 8.8-7.2 16-16 16s-16-7.2-16-16V369.2c0-5.9 3.3-11.4 8.6-14.2l32-16.8c4.6-2.4 7.4-7.2 7.4-12.3c0-7.7-6.2-13.9-13.9-13.9H409.6c-5.3 0-9.6 4.3-9.6 9.6l0 6.4c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-6.4z\"]]\n};\nvar faLaptopCode = {\n prefix: 'fad',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", [\"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\", \"M512 96H128V352H512V96zM281 193l-31 31 31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM393 159l48 48c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l31-31-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]]\n};\nvar faJoystick = {\n prefix: 'fad',\n iconName: 'joystick',\n icon: [448, 512, [128377], \"f8c5\", [\"M192 352V219.4c10.1 3 20.9 4.6 32 4.6s21.9-1.6 32-4.6V352H192zM64 352c0-17.7 14.3-32 32-32s32 14.3 32 32H64z\", \"M336 112a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM176 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faGrillFire = {\n prefix: 'fad',\n iconName: 'grill-fire',\n icon: [576, 512, [], \"e5a4\", [\"M40 32C17.9 32 0 49.9 0 72V96c0 89.8 52.9 167.3 129.2 203l-23.1 53.8c-3.3-.5-6.7-.8-10.1-.8c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64h75.5c-5.5-15.3-9.1-31.4-10.7-48h-73l22.9-53.4c15.9 3.6 32.3 5.4 49.3 5.4c1.2 0 2.4 0 3.6 0c5.9-26.2 18.6-52.9 33.6-77.3c21.7-35.2 51.9-71.2 87.3-102.8C366.2 124 393.3 124 411 140c9 8.1 17.7 16.4 26.2 25.1c7-21.8 10.9-45 10.9-69.1V72c0-22.1-17.9-40-40-40H40zM72 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M379.7 160c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C576 440 504.7 512 416 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7zM417 448c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faRectangleVerticalHistory = {\n prefix: 'fad',\n iconName: 'rectangle-vertical-history',\n icon: [576, 512, [], \"e237\", [\"M120 48c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-13.3-10.7-24-24-24zM24 96C10.7 96 0 106.7 0 120V392c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24z\", \"M192 64c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64z\"]]\n};\nvar faSwatchbook = {\n prefix: 'fad',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", [\"M64 64v64h64V64H64zM173.1 473.1c5.9-3.7 11.4-8.1 16.5-13.2L435.2 214.4c12.5-12.5 12.5-32.8 0-45.3L344.7 78.6c-12.5-12.5-32.8-12.5-45.3 0L192 186V416c0 19.9-6 38.4-16.4 53.7c-.8 1.2-1.6 2.3-2.5 3.5zM480 512c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H374.8l-192 192L480 512zM128 192H64v64h64V192z\", \"M32 0C14.3 0 0 14.3 0 32V416c0 53 43 96 96 96s96-43 96-96V32c0-17.7-14.3-32-32-32H32zm96 64v64H64V64h64zM64 192h64v64H64V192zM96 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faPrescriptionBottle = {\n prefix: 'fad',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", [\"M352 96H32v96H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v32c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V96z\", \"M32 0C14.3 0 0 14.3 0 32V64C0 81.7 14.3 96 32 96H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM144 192H32v32H144c8.8 0 16-7.2 16-16s-7.2-16-16-16zm0 96H32v32H144c8.8 0 16-7.2 16-16s-7.2-16-16-16zm0 96H32v32H144c8.8 0 16-7.2 16-16s-7.2-16-16-16z\"]]\n};\nvar faBars = {\n prefix: 'fad',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", [\"M0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M448 96c0-17.7-14.3-32-32-32H32C14.3 64 0 78.3 0 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32zm0 320c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"]]\n};\nvar faNavicon = faBars;\nvar faKeyboardLeft = {\n prefix: 'fad',\n iconName: 'keyboard-left',\n icon: [640, 512, [], \"e1c3\", [\"M224 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H224zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM224 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM320 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336zM432 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM416 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V240zM528 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM512 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\", \"M240 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm0 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM224 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336zM336 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM320 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V240zM432 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM416 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V240zM528 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM512 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM113.2 153.8c9 3.7 14.8 12.5 14.8 22.2V336c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L7 273c-9.4-9.4-9.4-24.6 0-33.9l80-80c6.9-6.9 17.2-8.9 26.2-5.2z\"]]\n};\nvar faPeopleGroup = {\n prefix: 'fad',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", [\"M128 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM48 304c0-16.2 6-31.1 16-42.3v84.7C54 335 48 320.2 48 304zm112 0c0-37.8 14.6-72.2 38.4-97.9c-16.1-9-34.7-14.1-54.4-14.1H112C50.1 192 0 242.1 0 304c0 44.7 26.2 83.2 64 101.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V405.2 394.5c-20-24.7-32-56.2-32-90.5zM448 405.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V405.2c37.8-18 64-56.5 64-101.2c0-61.9-50.1-112-112-112H496c-19.7 0-38.3 5.1-54.4 14.1C465.4 231.8 480 266.2 480 304c0 34.3-12 65.8-32 90.5v10.7zM512 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm80 144c0 16.2-6 31-16 42.3V261.7c10 11.3 16 26.1 16 42.3z\", \"M384 96A64 64 0 1 0 256 96a64 64 0 1 0 128 0zM256 261.7v84.7c-10-11.3-16-26.1-16-42.3s6-31.1 16-42.3zm128 84.7V261.7c10 11.3 16 26.1 16 42.3s-6 31-16 42.3zm0 58.9c37.8-18 64-56.5 64-101.2c0-61.9-50.1-112-112-112H304c-61.9 0-112 50.1-112 112c0 44.7 26.2 83.2 64 101.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V405.2z\"]]\n};\nvar faHourglassEnd = {\n prefix: 'fad',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", [\"M32 75V64H96V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64h64V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11H288V437c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11H32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1l22.6-22.6L78.9 188.1C48.9 158.1 32 117.4 32 75z\", \"M0 32C0 14.3 14.3 0 32 0H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 64 0 49.7 0 32zM0 480c0-17.7 14.3-32 32-32l64 0V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9v11l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'fad',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", [\"M119.4 44.1c23.3-3.9 46.8-1.9 68.5 5.3l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.7c28.5-16.7 62.4-23.2 95.7-17.6C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141z\", \"M296.8 61.7C286.4 67.8 276.7 75.3 268 84L256 96 244 84c-16-16-35.2-27.7-56-34.6l49.8 77.5-75.4 75.4c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-60.4-98.1 90.7-75.6c2.6-2.1 3.5-5.7 2.4-8.8L296.8 61.7z\"]]\n};\nvar faHeartBroken = faHeartCrack;\nvar faFaceBeamHandOverMouth = {\n prefix: 'fad',\n iconName: 'face-beam-hand-over-mouth',\n icon: [512, 512, [129325], \"e47c\", [\"M512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0L207 301.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V384v32.8c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM217.6 212.8l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 172.4 120 190.1 120 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 172.4 280 190.1 280 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\", \"M217.6 212.8l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 172.4 120 190.1 120 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm81.7 86.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L257.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3zm78.3-86.5l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 172.4 280 190.1 280 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faDropletPercent = {\n prefix: 'fad',\n iconName: 'droplet-percent',\n icon: [384, 512, [\"humidity\"], \"f750\", [\"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zm75.3-267.3c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6zM136 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M267.3 267.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128zM160 264a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM272 376a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faHumidity = faDropletPercent;\nvar faSquareUpRight = {\n prefix: 'fad',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", [\"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\", \"M320 176V313.4c0 12.5-10.1 22.6-22.6 22.6c-6 0-11.8-2.4-16-6.6L248 296l-66.3 66.3C178 366 173.1 368 168 368s-10-2-13.7-5.7l-36.7-36.7C114 322 112 317.1 112 312s2-10 5.7-13.7L184 232l-33.4-33.4c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H304c8.8 0 16 7.2 16 16z\"]]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'fad',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-84.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\", \"M217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faCorn = {\n prefix: 'fad',\n iconName: 'corn',\n icon: [512, 512, [127805], \"f6c7\", [\"M491.5 74.9C503.7 68.1 512 55 512 40c0-22.1-17.9-40-40-40c-15 0-28.1 8.3-34.9 20.5C429.8 12.8 419.4 8 408 8c-18 0-33.2 11.8-38.2 28.2C364.4 33.5 358.4 32 352 32c-18 0-33.2 11.8-38.2 28.2C308.4 57.5 302.4 56 296 56c-22.1 0-40 17.9-40 40c0 1.1 0 2.3 .1 3.4C251.2 97.2 245.7 96 240 96c-13.6 0-25.7 6.8-32.9 17.3c29.7 47.7 41.1 103.6 34.2 157.5c53.9-6.9 109.8 4.5 157.5 34.2c10.4-7.2 17.3-19.3 17.3-32.9c0-5.7-1.2-11.2-3.4-16.1c1.1 .1 2.2 .1 3.4 .1c22.1 0 40-17.9 40-40c0-6.4-1.5-12.4-4.2-17.8c16.3-5 28.2-20.2 28.2-38.2c0-6.4-1.5-12.4-4.2-17.8c16.3-5 28.2-20.2 28.2-38.2c0-11.4-4.8-21.8-12.5-29.1z\", \"M150.9 94.1c-4.3-4.8-12.1-2.4-13.2 3.9l-10.2 54.9c-4.7 25.4-17 48.8-35.3 67.1l-64 64c-36.4 36.4-37.5 94.7-3.2 132.4l77.4-77.4c30.4-30.4 66.9-50.9 105.5-61.6c12.6-69.3-11.5-132.9-56.9-183.4zM47.4 439.2l44.7 44.7c37.5 37.5 98.3 37.5 135.8 0l64-64c18.3-18.3 41.7-30.6 67.1-35.3L414 374.3c6.3-1.2 8.7-8.9 3.9-13.2c-53-47.6-120.7-71.6-192.8-55c-36.7 8.5-71.5 27-100.1 55.6L47.4 439.2z\"]]\n};\nvar faRollerCoaster = {\n prefix: 'fad',\n iconName: 'roller-coaster',\n icon: [640, 512, [], \"e324\", [\"M200 105.9c14 7 26.2 17.4 35.3 30.5L248 154.7V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V105.9zm96 117.9l48 69.1V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.8zm96 128.2c14.2 11.5 30.5 20.2 48 25.6V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V351.9zM488 384h8c13.9 0 27.3-2 40-5.6V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V384zM104 113.1c13.7-9.7 30.2-15.8 48-16.9V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.1z\", \"M158.1 96c-52 0-94.1 42.1-94.1 94.1V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V190.1C0 102.8 70.8 32 158.1 32c51.8 0 100.3 25.4 129.8 67.9l129 185.7c15 21.5 39.5 34.4 65.7 34.4H496c44.2 0 80-35.8 80-80c0-32.8-19.7-61-48-73.3V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V160.6c-14.2 1.5-28 5.8-40.7 12.5l-7.3 3.9v74.2L357.6 144.2l51.6-27.5C434.7 103.1 463.1 96 492 96h4c79.5 0 144 64.5 144 144c0 2.7-.1 5.4-.2 8h.2V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V359.8c-22.9 15.3-50.4 24.2-80 24.2H482.6c-47.2 0-91.4-23.1-118.3-61.9l-129-185.7C217.7 111.1 188.9 96 158.1 96z\"]]\n};\nvar faPhotoFilmMusic = {\n prefix: 'fad',\n iconName: 'photo-film-music',\n icon: [640, 512, [], \"e228\", [\"M160 96H64C28.7 96 0 124.7 0 160V384c0 35.3 28.7 64 64 64H289.9c4.4-18.2 15.9-33.1 29.6-43.4c6.8-5.1 14.5-9.4 22.6-12.6H192c-17.7 0-32-14.3-32-32V96zM56 168c0-8.8 7.2-16 16-16H88c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H72c-8.8 0-16-7.2-16-16V168zm16 80H88c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H72c-8.8 0-16-7.2-16-16V264c0-8.8 7.2-16 16-16zM56 360c0-8.8 7.2-16 16-16H88c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H72c-8.8 0-16-7.2-16-16V360zM640 184c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-192 64c-9.8 3.3-16.4 12.4-16.4 22.8v48V417.5c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V313.3l144-48v88.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48c0-1.5-.1-3-.3-4.4c.2-1.2 .3-2.4 .3-3.6V232 184zM461.6 103.5c-2.9-4.7-8.1-7.5-13.6-7.5s-10.6 2.8-13.6 7.5L388 177.9l-15.3-19.7c-3-3.9-7.7-6.2-12.6-6.2s-9.6 2.3-12.6 6.2l-56 72c-3.8 4.8-4.4 11.4-1.7 16.9s8.3 9 14.4 9h64l0-7.9c0-24.1 15.4-45.5 38.3-53.1l93.1-31-37.8-60.5z\", \"M192 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64v69.6c-12.9-6.1-27.9-7.1-41.7-2.5l-98.9 33-37.8-60.5c-2.9-4.7-8.1-7.5-13.6-7.5s-10.6 2.8-13.6 7.5L388 177.9l-15.3-19.7c-3-3.9-7.7-6.2-12.6-6.2s-9.6 2.3-12.6 6.2l-56 72c-3.8 4.8-4.4 11.4-1.7 16.9s8.3 9 14.4 9h64v64H256c-35.3 0-64-28.7-64-64V64zM320 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faRadar = {\n prefix: 'fad',\n iconName: 'radar',\n icon: [512, 512, [], \"e024\", [\"M350.9 127.2l-46.1 46.1c-14.3-8.4-31-13.3-48.8-13.3c-53 0-96 43-96 96s43 96 96 96s96-43 96-96h64c0 73.5-49.6 135.5-117.2 154.2C290.8 394.7 274.7 384 256 384s-34.8 10.7-42.8 26.2c-51.7-14.3-92.8-53.9-109.4-104.6c14.4-8.3 24.1-23.8 24.1-41.7c0-19.4-11.5-36.1-28-43.7C116.2 149.1 179.9 96 256 96c35.5 0 68.3 11.6 94.9 31.2zm22.8-22.8C341.2 79 300.4 64 256 64C163.1 64 85.7 129.9 67.9 217.6C47.2 222.9 32 241.7 32 264c0 23.8 17.3 43.6 40.1 47.4c19.3 64.3 71.5 114.4 137 130.9C213.8 463.8 233 480 256 480s42.2-16.2 46.9-37.8C386.3 421.3 448 345.9 448 256h64c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0c62.1 0 118.9 22.1 163.3 58.8l-45.5 45.5z\", \"M497 49c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-182 182c-7.7-3.3-16.1-5.1-25-5.1c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-8.9-1.8-17.3-5.1-25L497 49z\"]]\n};\nvar faSickle = {\n prefix: 'fad',\n iconName: 'sickle',\n icon: [512, 512, [], \"f822\", [\"M128 181c0 38 11.9 74.7 33.7 105.2L137 311l16 16 32 32 16 16 23-23 24.5-24.5c4.5-4.5 5.9-11.3 3.7-17.3c-7-18.9-12.2-37.9-12.2-58.6v-9.8C240 165.7 301.7 104 377.8 104c41.7 0 81 18.9 107.1 51.1c2.4 3 6.1 4.9 9.9 4.9c7.6 0 13.3-6.8 11.5-14.2C485.8 62.1 410.1 0 320 0H309C209 0 128 81 128 181z\", \"M129 303c-9.4-9.4-24.6-9.4-33.9 0L79 319c-9.4 9.4-9.4 24.6 0 33.9l7 7L7 439c-9.4 9.4-9.4 24.6 0 33.9l32 32c9.4 9.4 24.6 9.4 33.9 0l79-79 7 7c9.4 9.4 24.6 9.4 33.9 0l16-16c9.4-9.4 9.4-24.6 0-33.9l-24-24-32-32-24-24z\"]]\n};\nvar faFilm = {\n prefix: 'fad',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", [\"M192 96c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192zm0 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM48 368v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H416zM48 240v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H416zM48 112v32c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM416 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H416zM160 128v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H192z\"]]\n};\nvar faCoconut = {\n prefix: 'fad',\n iconName: 'coconut',\n icon: [512, 512, [], \"e2f6\", [\"M256 256c62.5-62.5 92.9-133.4 67.9-158.4s-95.9 5.4-158.4 67.9S72.6 298.9 97.6 323.9s95.9-5.4 158.4-67.9z\", \"M274.5 55.3c42.7-13.2 71.9-7.4 86.7 7.5s20.6 44 7.5 86.7c-12.8 41.5-42.1 89.6-85.8 133.3s-91.8 73-133.3 85.8c-42.7 13.2-71.9 7.4-86.7-7.5s-20.6-44-7.5-86.7c12.8-41.5 42.1-89.6 85.8-133.3s91.8-73 133.3-85.8zM395.2 28.8C361.5-4.8 309.6-5.7 260.4 9.5C210 25 155.3 59.1 107.2 107.2S25 209.9 9.5 260.3C-5.7 309.6-4.8 361.5 28.9 395.2l41 41C118.4 484.7 184.3 512 253 512c143.1 0 259-116 259-259c0-68.7-27.3-134.6-75.9-183.2L395.2 28.8zm24.1 175.8l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-56 136l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-136 56l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]]\n};\nvar faRulerHorizontal = {\n prefix: 'fad',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", [\"M0 336c0 26.5 21.5 48 48 48l544 0c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48l-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0c-26.5 0-48 21.5-48 48L0 336z\", \"M144 208l0-80H112v80c0 8.8 7.2 16 16 16s16-7.2 16-16zm96-80H208v80c0 8.8 7.2 16 16 16s16-7.2 16-16V128zm96 80V128H304v80c0 8.8 7.2 16 16 16s16-7.2 16-16zm96-80H400v80c0 8.8 7.2 16 16 16s16-7.2 16-16V128zm96 0H496v80c0 8.8 7.2 16 16 16s16-7.2 16-16V128z\"]]\n};\nvar faShieldCross = {\n prefix: 'fad',\n iconName: 'shield-cross',\n icon: [512, 512, [9960], \"f712\", [\"M224 10.8L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c0 6.4 .2 13 .6 20H192c17.7 0 32-14.3 32-32V10.8zM24.7 224C43.7 319.9 97.4 437.2 224 500.4V256c0-17.7-14.3-32-32-32H24.7zM288 500.4C414.6 437.2 468.3 319.9 487.3 224H320c-17.7 0-32 14.3-32 32V500.4zM495.4 160c.4-7 .6-13.7 .6-20c.1-26.2-16.3-47.9-38.3-57.2L288 10.8V128c0 17.7 14.3 32 32 32H495.4z\", \"M288 10.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L224 10.8V128c0 17.7-14.3 32-32 32H16.6c1.1 19.4 3.6 41.1 8.1 64H192c17.7 0 32 14.3 32 32V500.4c1.9 .9 3.7 1.8 5.6 2.7c16.7 8 36.1 8 52.8 0c1.9-.9 3.8-1.8 5.6-2.7V256c0-17.7 14.3-32 32-32H487.3c4.5-22.9 7.1-44.6 8.1-64H320c-17.7 0-32-14.3-32-32V10.8z\"]]\n};\nvar faCassetteTape = {\n prefix: 'fad',\n iconName: 'cassette-tape',\n icon: [576, 512, [128429], \"f8ab\", [\"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H483.1l-36.3-96.9c-7-18.7-24.9-31.1-44.9-31.1H174.2c-20 0-37.9 12.4-44.9 31.1L92.9 480H64c-35.3 0-64-28.7-64-64V96zM416.8 394.4L448.9 480H127.1l32.1-85.6c2.3-6.2 8.3-10.4 15-10.4H401.8c6.7 0 12.6 4.1 15 10.4zM160 128c-44.2 0-80 35.8-80 80s35.8 80 80 80H416c44.2 0 80-35.8 80-80s-35.8-80-80-80H160z\", \"M240 208c0 11.4-2.4 22.2-6.7 32H342.7c-4.3-9.8-6.7-20.6-6.7-32s2.4-22.2 6.7-32H233.3c4.3 9.8 6.7 20.6 6.7 32zm176 80H160c-44.2 0-80-35.8-80-80s35.8-80 80-80H416c44.2 0 80 35.8 80 80s-35.8 80-80 80zM160 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm272-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faSquareTerminal = {\n prefix: 'fad',\n iconName: 'square-terminal',\n icon: [448, 512, [], \"e32a\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm70.3 55.8c-9 9.8-8.3 25 1.5 33.9L148.5 256 71.8 326.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\", \"M71.8 185.7c-9.8-9-10.4-24.1-1.5-33.9s24.1-10.4 33.9-1.5l96 88c5 4.5 7.8 11 7.8 17.7s-2.8 13.1-7.8 17.7l-96 88c-9.8 9-25 8.3-33.9-1.5s-8.3-25 1.5-33.9L148.5 256 71.8 185.7zM216 336H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faPeopleRobbery = {\n prefix: 'fad',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", [\"M400 128c41.7 0 78.1-28.4 88.2-68.9L497 24.2C501.2 7.1 518.6-3.3 535.8 1s27.6 21.7 23.3 38.8l-8.7 34.9c-11 44-40.2 79.6-78.3 99.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H392V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V174.3c-38.1-20-67.3-55.7-78.3-99.6L241 39.8C236.7 22.6 247.1 5.2 264.2 1s34.5 6.1 38.8 23.3l8.7 34.9C321.9 99.6 358.3 128 400 128zM352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M32 48a48 48 0 1 1 96 0A48 48 0 1 1 32 48zM8 192c0-35.3 28.7-64 64-64h32.7c27.4 0 52.9 14 67.5 37.1L209.6 224H240c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-11 0-21.1-5.6-27-14.9l-13-20.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H72V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V288.6l0-.6V192z\"]]\n};\nvar faLightbulb = {\n prefix: 'fad',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", [\"M321.2 297.8c-19.8 27.1-39.7 54.4-49.2 86.2H112c-9.6-31.9-29.5-59.1-49.2-86.2c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4zM112 176c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16C130.1 64 80 114.1 80 176c0 8.8 7.2 16 16 16s16-7.2 16-16z\", \"M192 512c44.2 0 80-35.8 80-80V384H112v48c0 44.2 35.8 80 80 80z\"]]\n};\nvar faCaretLeft = {\n prefix: 'fad',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", [\"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\", \"\"]]\n};\nvar faCommentMiddle = {\n prefix: 'fad',\n iconName: 'comment-middle',\n icon: [512, 512, [], \"e149\", [\"M188.3 408.7l44.5 89c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3l44.5-89C432.2 384.5 512 303.8 512 208C512 93.1 397.4 0 256 0S0 93.1 0 208c0 95.8 79.8 176.5 188.3 200.7z\", \"\"]]\n};\nvar faTrashCanList = {\n prefix: 'fad',\n iconName: 'trash-can-list',\n icon: [640, 512, [], \"e2ab\", [\"M384 96H32V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96zM160 192V416c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm128 0V416c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M119.2 17.7C124.6 6.8 135.7 0 147.8 0H268.2c12.1 0 23.2 6.8 28.6 17.7L304 32h80c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h80l7.2-14.3zM480 128H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 128h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-17.7 0-32-14.3-32-32s14.3-32 32-32zM448 416c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faBlock = {\n prefix: 'fad',\n iconName: 'block',\n icon: [448, 512, [], \"e46a\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm280 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM96 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm280 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M72 128a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm304 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM96 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm280 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faCircleExclamation = {\n prefix: 'fad',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'fad',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", [\"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V266.8C608.1 221.6 555.5 192 496 192c-38.5 0-74.2 12.4-103.1 33.4c9.6-14.1 15.1-31.1 15.1-49.4c0-48.6-39.4-88-88-88s-88 39.4-88 88s39.4 88 88 88c15.6 0 30.2-4 42.9-11.1c-23.4 27.1-38.8 61.4-42.2 99.1h-.5l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM336 144v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faArrowRightFromBracket = {\n prefix: 'fad',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", [\"M192 64c0 17.7-14.3 32-32 32L96 96c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-53 0-96-43-96-96L0 128C0 75 43 32 96 32l64 0c17.7 0 32 14.3 32 32z\", \"M502.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 288 192 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l210.7 0-73.4-73.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l128 128z\"]]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faFaceFrownSlight = {\n prefix: 'fad',\n iconName: 'face-frown-slight',\n icon: [512, 512, [], \"e376\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm91.9-117.5C330 373.8 299.4 352 256 352s-74 21.8-91.9 42.5c-5.8 6.7-15.9 7.4-22.6 1.6s-7.4-15.9-1.6-22.6c22.2-25.7 61-53.5 116.1-53.5s93.8 27.9 116.1 53.5c5.8 6.7 5.1 16.8-1.6 22.6s-16.8 5.1-22.6-1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faCircleChevronDown = {\n prefix: 'fad',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM377 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87-87-87c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 345c9.4 9.4 24.6 9.4 33.9 0L377 241z\", \"M239 345c9.4 9.4 24.6 9.4 33.9 0L377 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87-87-87c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 345z\"]]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faSidebarFlip = {\n prefix: 'fad',\n iconName: 'sidebar-flip',\n icon: [512, 512, [], \"e24f\", [\"M0 96C0 60.7 28.7 32 64 32H288V480H64c-35.3 0-64-28.7-64-64V96z\", \"M448 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V32H448zM424 96H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24zm-24 72H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]]\n};\nvar faUnlockKeyhole = {\n prefix: 'fad',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", [\"M224 64c-44.2 0-80 35.8-80 80v48H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64z\", \"M64 192c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H64zM256 384H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faTemperatureList = {\n prefix: 'fad',\n iconName: 'temperature-list',\n icon: [512, 512, [], \"e299\", [\"M144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M320 64c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-17.7 0-32-14.3-32-32zM192 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V176c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3zM352 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fad',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", [\"M94.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zm120 0c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zm219.4-31.5c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zM326.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faHeadphonesSimple = {\n prefix: 'fad',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", [\"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208z\", \"M144 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h16c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H144zm224 0H352c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h16c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64z\"]]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'fad',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", [\"M264 280v40h48V280H464c4.4 0 8 3.6 8 8v32h48V288c0-30.9-25.1-56-56-56H312V192H264v40H112c-30.9 0-56 25.1-56 56v32h48V288c0-4.4 3.6-8 8-8H264z\", \"M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V80zM48 320h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm208 0h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm208 0h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\"]]\n};\nvar faPipeSection = {\n prefix: 'fad',\n iconName: 'pipe-section',\n icon: [640, 512, [], \"e438\", [\"M576 128H64V384H576V128z\", \"M64 128c0-17.7-14.3-32-32-32S0 110.3 0 128V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm576 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128z\"]]\n};\nvar faSpaceStationMoonConstruction = {\n prefix: 'fad',\n iconName: 'space-station-moon-construction',\n icon: [512, 512, [\"space-station-moon-alt\"], \"e034\", [\"M511 279.1c.7-7.6 1-15.3 1-23.1c0-10.8-.7-21.5-2-32H448V160H368V96h48V56.1C372.2 21 316.5 0 256 0C114.6 0 0 114.6 0 256c0 7.8 .3 15.5 1 23.1C73.2 304.7 160.8 320 256 320s182.8-15.3 255-40.9zM6.8 314.8C33.4 427.9 134.9 512 256 512c76.5 0 145.1-33.5 192-86.7V384H384V342.8c-40.7 6-83.7 9.2-128 9.2c-91.3 0-176.6-13.6-249.2-37.2zM112 160a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M224 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM6.8 314.8C4.1 303.2 2.1 291.3 1 279.1C73.2 304.7 160.8 320 256 320s182.8-15.3 255-40.9c-1.1 12.2-3 24.1-5.8 35.8C432.6 338.4 347.3 352 256 352s-176.6-13.6-249.2-37.2z\"]]\n};\nvar faSpaceStationMoonAlt = faSpaceStationMoonConstruction;\nvar faCircleDollarToSlot = {\n prefix: 'fad',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", [\"M256 416A208 208 0 1 0 256 0a208 208 0 1 0 0 416zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V312c0 11-9 20-20 20s-20-9-20-20V297.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V104c0-11 9-20 20-20s20 9 20 20z\", \"M276 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104zM64 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H448c-19.4 25.9-44 47.7-72.2 64H448v32H256 64V416h72.2C108 399.7 83.4 377.9 64 352z\"]]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'fad',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", [\"M64 64C28.7 64 0 92.7 0 128v7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6V320H576V248.6c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zm128 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M192 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 416V320H576v96c0 17.7-14.3 32-32 32H496V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H368V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H112V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faFaceSleeping = {\n prefix: 'fad',\n iconName: 'face-sleeping',\n icon: [512, 512, [], \"e38d\", [\"M477.8 128c21.8 37.7 34.2 81.4 34.2 128c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0c48.7 0 94.2 13.6 132.9 37.2c1.9 4 4.4 7.6 7.3 10.8c-12.2 13.7-15.7 33.3-8.6 50.4c7.4 17.9 24.9 29.6 44.3 29.6h45.8zM256 80c0 8.8 7.2 16 16 16h25.4l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H310.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H272c-8.8 0-16 7.2-16 16zm0 344a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm60.8-185.6c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2c-17.6 23.5-52.8 23.5-70.4 0zm-121.6 0c-17.6 23.5-52.8 23.5-70.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2z\", \"M416 16c0 8.8 7.2 16 16 16h25.4L420.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H470.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4S502.5 0 496 0H432c-8.8 0-16 7.2-16 16zM256 80c0 8.8 7.2 16 16 16h25.4l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H310.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H272c-8.8 0-16 7.2-16 16zM387.2 238.4c-17.6 23.5-52.8 23.5-70.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2zm-262.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2c-17.6 23.5-52.8 23.5-70.4 0z\"]]\n};\nvar faRoadSpikes = {\n prefix: 'fad',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", [\"M416 246.9V114.8c0-15.6 20.1-22 29.1-9.2L581.8 300.8C598.8 325.2 608 354.2 608 384H450.5 416 322.5 288 194.5 160 32V114.8c0-15.6 20.1-22 29.1-9.2L160 246.9V114.8c0-15.6 20.1-22 29.1-9.2L288 246.9V114.8c0-15.6 20.1-22 29.1-9.2L416 246.9z\", \"M0 416c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faFireBurner = {\n prefix: 'fad',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", [\"M321 288c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96c-15 10-31 15-49 15zM32 280c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H80v80H560V304H536c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24V384c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V280zM320 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M283.7 0c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C480 280 408.7 352 320 352c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7zM321 288c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faSquirrel = {\n prefix: 'fad',\n iconName: 'squirrel',\n icon: [512, 512, [], \"f71a\", [\"M158 301.7c-18.7 22.3-30 51-30 82.3c0 70.7 57.3 128 128 128h49.1C242.7 512 192 461.3 192 398.9v-3.8c0-27.6 11-54.1 30.5-73.6l7-7c24-24 43.7-51.6 58.5-81.6V144C288 64.5 223.5 0 144 0S0 64.5 0 144s64.5 144 144 144c2.3 0 4.6-.1 6.9-.2c4.9-.2 9.1 3.5 9.1 8.4c0 2-.7 3.9-2 5.4z\", \"M320 75.2C320 69 325 64 331.2 64c15.2 0 28.7 7.6 36.8 19.2C376.1 71.6 389.6 64 404.8 64C411 64 416 69 416 75.2V96c53 0 96 43 96 96l-8.2 12.4c-14.8 22.3-39.8 35.6-66.6 35.6H416v58.8c-14.5-6.9-30.8-10.8-48-10.8c-13.1 0-25.6 2.2-37.3 6.4c-8.3 2.9-12.7 12.1-9.8 20.4s12.1 12.7 20.4 9.8c8.3-2.9 17.3-4.5 26.7-4.5c18 0 34.6 6 48 16c19.4 14.6 32 37.8 32 64c0 18-6 34.6-16 48h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H376 352 320 305.1 304v0c-62-.6-112-51-112-113.1v-3.8c0-27.6 11-54.1 30.5-73.6l7-7C287.4 256.6 320 178 320 96V75.2zM416 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faArrowUpToLine = {\n prefix: 'fad',\n iconName: 'arrow-up-to-line',\n icon: [384, 512, [\"arrow-to-top\"], \"f341\", [\"M0 64C0 46.3 14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64z\", \"M169.4 169.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 269.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V269.3L86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128z\"]]\n};\nvar faArrowToTop = faArrowUpToLine;\nvar faFlag = {\n prefix: 'fad',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", [\"M64 352l64.3-16.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L64 48V352z\", \"M32 0C49.7 0 64 14.3 64 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z\"]]\n};\nvar faFaceCowboyHat = {\n prefix: 'fad',\n iconName: 'face-cowboy-hat',\n icon: [512, 512, [], \"e36e\", [\"M48 304c0-49.4 17.2-94.7 45.9-130.4C136.6 204.9 193.5 224 256 224s119.4-19.1 162.1-50.4c28.7 35.7 45.9 81 45.9 130.4c0 114.9-93.1 208-208 208S48 418.9 48 304zm299.8 60.7c-27.9 7.8-59 12.1-91.6 12.1s-63.7-4.3-91.6-12.1c-12.4-3.5-24.3 7.3-18.6 18.8C166.2 424.1 208 452 256.2 452s90-27.9 110.2-68.6c5.7-11.5-6.2-22.2-18.6-18.8zM216 296a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M133.6 109.8C148.6 64.9 179.2 0 216 0c9.1 0 17.9 4 26.1 10.7c7.9 6.5 19.8 6.5 27.7 0C278.1 4 286.9 0 296 0c36.8 0 67.4 64.9 82.4 109.8C412 99.3 442 84.6 466.9 66.8c2.5-1.8 5.4-2.8 8.4-2.8c8.9 0 15.6 8.3 12.9 16.7C461.2 163.2 367.5 224 256 224S50.8 163.2 23.8 80.7C21 72.3 27.7 64 36.7 64c3 0 6 1 8.4 2.8C70 84.6 100 99.3 133.6 109.8zM168 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faHanukiah = {\n prefix: 'fad',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", [\"M314.2 3.3C309.1 12.1 296 36.6 296 56c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C324.6 1.2 322.4 0 320 0s-4.6 1.2-5.8 3.3zm-288 48C21.1 60.1 8 84.6 8 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7C36.6 49.2 34.4 48 32 48s-4.6 1.2-5.8 3.3zM88 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C101.1 60.1 88 84.6 88 104zm82.2-52.7C165.1 60.1 152 84.6 152 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM216 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C229.1 60.1 216 84.6 216 104zM394.2 51.3C389.1 60.1 376 84.6 376 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM440 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C453.1 60.1 440 84.6 440 104zm82.2-52.7C517.1 60.1 504 84.6 504 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3zM584 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-19.4-13.1-43.9-18.2-52.7c-1.2-2.1-3.4-3.3-5.8-3.3s-4.6 1.2-5.8 3.3C597.1 60.1 584 84.6 584 104z\", \"M352 144c0-17.7-14.3-32-32-32s-32 14.3-32 32V320H96c-17.7 0-32-14.3-32-32V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 53 43 96 96 96H288v64H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H320 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V384H544c53 0 96-43 96-96V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H352V144zM128 176c0-8.8-7.2-16-16-16s-16 7.2-16 16v96 16h32V272 176zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96 16h32V272 176zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96 16h32V272 176zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96 16h32V272 176zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96 16h32V272 176zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96 16h32V272 176z\"]]\n};\nvar faChartScatter3d = {\n prefix: 'fad',\n iconName: 'chart-scatter-3d',\n icon: [512, 512, [], \"e0e8\", [\"M256 32c17.7 0 32 14.3 32 32V273L468.5 423.4c13.6 11.3 15.4 31.5 4.1 45.1s-31.5 15.4-45.1 4.1L256 329.7 84.5 472.6c-13.6 11.3-33.8 9.5-45.1-4.1s-9.5-33.8 4.1-45.1L224 273V64c0-17.7 14.3-32 32-32z\", \"M32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM256 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faDisplayChartUp = {\n prefix: 'fad',\n iconName: 'display-chart-up',\n icon: [576, 512, [], \"e5e3\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\", \"M64 64H512V352H64V64zM346.7 448H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416h96l10.7 32zM344 112c-13.3 0-24 10.7-24 24s10.7 24 24 24h38.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0l-88 88c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l71-71 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l95-95V232c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24H344z\"]]\n};\nvar faSquareCode = {\n prefix: 'fad',\n iconName: 'square-code',\n icon: [448, 512, [], \"e267\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm262.2 71.9c-8.9 9.9-8.1 25 1.8 33.9L324.1 256l-60.2 54.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72c-9.9-8.9-25-8.1-33.9 1.8zm-78.1 33.9c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L123.9 256l60.2-54.2z\", \"M184.1 201.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L123.9 256l60.2-54.2zm79.9 0L324.1 256l-60.2 54.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9z\"]]\n};\nvar faFeather = {\n prefix: 'fad',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", [\"M97.9 448h84c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v84L311 167c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L97.9 448z\", \"M24 512c-6.2 0-12.3-2.3-17-7c-9.4-9.4-9.4-24.6 0-33.9L311 167c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-4.7 4.7-10.8 7-17 7z\"]]\n};\nvar faVolumeLow = {\n prefix: 'fad',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", [\"M378.8 185c8.4-10.3 23.5-11.8 33.8-3.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8z\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]]\n};\nvar faVolumeDown = faVolumeLow;\nvar faXmarkToSlot = {\n prefix: 'fad',\n iconName: 'xmark-to-slot',\n icon: [576, 512, [\"times-to-slot\", \"vote-nay\"], \"f771\", [\"M144 32c-26.5 0-48 21.5-48 48V400H480V80c0-26.5-21.5-48-48-48H144zm63 103c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M207 135c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9zM48 288H96v80H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V288h48c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48z\"]]\n};\nvar faTimesToSlot = faXmarkToSlot;\nvar faVoteNay = faXmarkToSlot;\nvar faBoxTaped = {\n prefix: 'fad',\n iconName: 'box-taped',\n icon: [448, 512, [\"box-alt\"], \"f49a\", [\"M50.7 58.5C58.9 42.3 75.5 32 93.7 32H192L160 160H0L50.7 58.5zM288 160v96c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V160H288zm0 0L256 32h98.3c18.2 0 34.8 10.3 42.9 26.5L448 160H288z\", \"M160 160H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V160H288v96c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V160z\"]]\n};\nvar faBoxAlt = faBoxTaped;\nvar faCommentSlash = {\n prefix: 'fad',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", [\"M424.1 430.1L82.9 161.3C70.7 185.6 64 212.2 64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104.1-17.9zm88.9-53.4C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3l368 288.5z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faSwords = {\n prefix: 'fad',\n iconName: 'swords',\n icon: [512, 512, [9876], \"f71d\", [\"M146.7 278.6L96 329.4 182.6 416l50.7-50.7-86.6-86.6zm218.5-45.3L484.5 114.2c6.7-6.7 11.3-15.2 13.1-24.5l14.1-70.5c1-5.2-.6-10.7-4.4-14.5s-9.2-5.4-14.5-4.4L422.4 14.4c-9.3 1.9-17.8 6.4-24.5 13.1L278.6 146.7l86.6 86.6zM19.1 .3C13.9-.7 8.5 .9 4.7 4.7S-.7 13.9 .3 19.1L14.4 89.6c1.9 9.3 6.4 17.8 13.1 24.5L329.4 416 416 329.4 114.2 27.5c-6.7-6.7-15.2-11.3-24.5-13.1L19.1 .3z\", \"M75.3 308.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-4.7 4.7-6 11.8-3.3 17.8l27.5 62L4.7 460.7c-6.2 6.2-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l56.2-56.2 62 27.5c6 2.7 13.1 1.4 17.8-3.3l16-16c6.2-6.2 6.2-16.4 0-22.6l-128-128zm361.4 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6l16 16c4.7 4.7 11.8 6 17.8 3.3l62-27.5 56.2 56.2c6.2 6.2 16.4 6.2 22.6 0l24-24c6.2-6.2 6.2-16.4 0-22.6l-56.2-56.2 27.5-62c2.7-6.1 1.4-13.1-3.3-17.8l-16-16c-6.2-6.2-16.4-6.2-22.6 0z\"]]\n};\nvar faCloudSunRain = {\n prefix: 'fad',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", [\"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm76.1 309.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3zm96 0l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3zm96 0l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3zm96 0l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3z\", \"M559.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.3 114.6 402.8 96 368 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H559.9z\"]]\n};\nvar faAlbum = {\n prefix: 'fad',\n iconName: 'album',\n icon: [448, 512, [128189], \"f89f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320z\", \"M224 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm0-192a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faCircleN = {\n prefix: 'fad',\n iconName: 'circle-n',\n icon: [512, 512, [], \"e118\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM203.7 138.3L304 283.2V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.5-6.8 19.8-16.8 22.9s-20.9-.6-26.9-9.2L208 228.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.5 6.8-19.8 16.8-22.9s20.9 .6 26.9 9.2z\", \"M176.8 129.1c10-3.1 20.9 .6 26.9 9.2L304 283.2V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.5-6.8 19.8-16.8 22.9s-20.9-.6-26.9-9.2L208 228.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.5 6.8-19.8 16.8-22.9z\"]]\n};\nvar faCompress = {\n prefix: 'fad',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", [\"M160 448c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32v96zM320 192c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H320z\", \"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z\"]]\n};\nvar faWheatAwn = {\n prefix: 'fad',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", [\"M505 7c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0zm-177.8 223L295.3 262c-16-1.6-32.2-.1-47.8 4.3c4.8-16.6 6.1-34 4-51l30.5-30.5L294.2 197l22.6 22.6 10.4 10.4zm131.6-46.9c-14.4-10.3-30.5-17.2-47.1-20.8L471 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-46.2 46.2zm-108-84c-3.9-16.4-11.1-32.2-21.6-46.3L375 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L350.7 99.2zM225.4 331.9l-31.9 31.9c-16-1.6-32.2-.1-47.8 4.3c4.8-16.6 6.1-34 4-51l30.5-30.5L215 321.5l0 0 10.4 10.4zM123.5 433.7L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l68.9-68.9 34.8 34.8 0 0 10.4 10.4z\", \"M282.8 27.3c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c34.1 34.1 44.9 82.6 32.5 125.9c43.3-12.4 91.8-1.5 125.9 32.5l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-37.5 37.5-98.3 37.5-135.8 0l-22.6-22.6 0 0-45.3-45.3c-37.5-37.5-37.5-98.3 0-135.8l11.3-11.3zM203.6 129.1L215 140.5c34.1 34.1 44.9 82.6 32.5 125.9c43.3-12.4 91.8-1.5 125.9 32.5l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-37.5 37.5-98.3 37.5-135.8 0L215 321.5l0 0-45.3-45.3c-37.5-37.5-37.5-98.3 0-135.8L181 129.1c6.2-6.2 16.4-6.2 22.6 0zM79.2 231c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c34.1 34.1 44.9 82.6 32.5 125.9c43.3-12.4 91.8-1.5 125.9 32.5L282.8 412c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-37.5 37.5-98.3 37.5-135.8 0l-22.6-22.6s0 0 0 0L67.9 378c-37.5-37.5-37.5-98.3 0-135.8L79.2 231z\"]]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'fad',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", [\"M192 320V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320h64z\", \"M160 64c-35.3 0-64 28.7-64 64c0 41.6 20.7 76.6 46.6 104.1c5.9 6.2 11.8 11.8 17.4 16.7c5.6-4.9 11.5-10.5 17.4-16.7C203.3 204.6 224 169.6 224 128c0-35.3-28.7-64-64-64zM32 128C32 57.3 89.3 0 160 0s128 57.3 128 128c0 52.4-21.5 95.5-46.8 128H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H172.6 147.4 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H78.8C53.5 223.5 32 180.4 32 128z\"]]\n};\nvar faHandsHoldingChild = {\n prefix: 'fad',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", [\"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"M280 40a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM384.5 181l-19.8-16.7L375.8 253c1.6 13.2-7.7 25.1-20.8 26.8s-25.1-7.7-26.8-20.8l-4.4-35h-7.6l-4.4 35c-1.6 13.2-13.6 22.5-26.8 20.8s-22.5-13.6-20.8-26.8l11.1-88.8L255.5 181c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8L266 109.2c10.1-8.5 22.9-13.2 36.2-13.2h35.6c13.2 0 26 4.7 36.2 13.2l41.5 35.1c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.4-33.8 2.8z\"]]\n};\nvar faAsterisk = {\n prefix: 'fad',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", [\"M192 32c17.7 0 32 14.3 32 32V199.5l111.5-66.9c15.2-9.1 34.8-4.2 43.9 11s4.2 34.8-11 43.9L254.2 256l114.3 68.6c15.2 9.1 20.1 28.7 11 43.9s-28.7 20.1-43.9 11L224 312.5V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V312.5L48.5 379.4c-15.2 9.1-34.8 4.2-43.9-11s-4.2-34.8 11-43.9L129.8 256 15.5 187.4c-15.2-9.1-20.1-28.7-11-43.9s28.7-20.1 43.9-11L160 199.5V64c0-17.7 14.3-32 32-32z\", \"\"]]\n};\nvar faKeySkeletonLeftRight = {\n prefix: 'fad',\n iconName: 'key-skeleton-left-right',\n icon: [640, 512, [], \"e3b4\", [\"M128 448a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm0-192C57.3 256 0 313.3 0 384s57.3 128 128 128c59.6 0 109.8-40.8 124-96l196 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32-32 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32-68 0c-14.2-55.2-64.3-96-124-96z\", \"M512 64a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 192c70.7 0 128-57.3 128-128S582.7 0 512 0C452.4 0 402.2 40.8 388 96L192 96c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160h68c14.2 55.2 64.3 96 124 96z\"]]\n};\nvar faCommentLines = {\n prefix: 'fad',\n iconName: 'comment-lines',\n icon: [512, 512, [], \"f4b0\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM152 176H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 200c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faLuchadorMask = {\n prefix: 'fad',\n iconName: 'luchador-mask',\n icon: [448, 512, [\"luchador\", \"mask-luchador\"], \"f455\", [\"M144 288c-44.2 0-80-35.8-80-80c0-26.5 21.5-48 48-48h32c44.2 0 80 35.8 80 80c0-44.2 35.8-80 80-80h32c26.5 0 48 21.5 48 48c0 44.2-35.8 80-80 80H290.7c3.4 6.3 5.3 13.4 5.3 20.7c0 4-.6 7.9-1.6 11.6c32.3 3.2 57.6 30.5 57.6 63.7c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64c0-33.2 25.2-60.5 57.6-63.7c-1-3.7-1.6-7.6-1.6-11.6c0-7.3 1.8-14.4 5.3-20.7H144zM96 208c0 26.5 21.5 48 48 48h32c8.8 0 16-7.2 16-16c0-26.5-21.5-48-48-48H112c-8.8 0-16 7.2-16 16zm88 100.7c0 6.2 5.1 11.3 11.3 11.3h11.3 6 .6 21.5 .6 6 11.3c6.2 0 11.3-5.1 11.3-11.3c0-3-1.2-5.9-3.3-8l-8-8-4.2-4.2-.4-.4-10.3-10.3C234 274 229.1 272 224 272s-10 2-13.7 5.7L200 288l-.4 .4-4.2 4.2-8 8c-2.1 2.1-3.3 5-3.3 8zM195.3 352H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H252.7 195.3zM336 192H304c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16h32c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16z\", \"M0 224C0 100.3 100.3 0 224 0S448 100.3 448 224v96c0 106-86 192-192 192H192C86 512 0 426 0 320V224zm153.6 96.3C121.2 323.5 96 350.8 96 384c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64c0-33.2-25.2-60.5-57.6-63.7c1-3.7 1.6-7.6 1.6-11.6c0-7.3-1.8-14.4-5.3-20.7H304c44.2 0 80-35.8 80-80c0-26.5-21.5-48-48-48H304c-44.2 0-80 35.8-80 80c0-44.2-35.8-80-80-80H112c-26.5 0-48 21.5-48 48c0 44.2 35.8 80 80 80h13.3c-3.4 6.3-5.3 13.4-5.3 20.7c0 4 .6 7.9 1.6 11.6z\"]]\n};\nvar faLuchador = faLuchadorMask;\nvar faMaskLuchador = faLuchadorMask;\nvar faSquareCheck = {\n prefix: 'fad',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M337 175c9.4 9.4 9.4 24.6 0 33.9L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faCheckSquare = faSquareCheck;\nvar faShredder = {\n prefix: 'fad',\n iconName: 'shredder',\n icon: [512, 512, [], \"f68a\", [\"M128 0C92.7 0 64 28.7 64 64V192h64V64H354.7L384 93.3V192h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM40 384V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384H40zm96 0V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384H136zm96 0V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384H232zm96 0V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384H328zm96 0V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384H424z\", \"M64 192c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faBookOpenCover = {\n prefix: 'fad',\n iconName: 'book-open-cover',\n icon: [640, 512, [\"book-open-alt\"], \"e0c0\", [\"M64 373.8c0 15.3 10.8 28.4 25.7 31.4L304 448V32L100.6 2.2C81.3-.7 64 14.3 64 33.8V373.8zM576 33.8c0-19.5-17.3-34.5-36.6-31.7L336 32V448l214.3-42.9c15-3 25.7-16.1 25.7-31.4V33.8z\", \"M89.7 405.1L320 451.2l230.3-46.1c15-3 25.7-16.1 25.7-31.4V28.8l25.7-5.1C621.5 19.7 640 34.8 640 55V421.8c0 15.3-10.8 28.4-25.7 31.4L320 512 25.7 453.1C10.8 450.2 0 437 0 421.8V55C0 34.8 18.5 19.7 38.3 23.7L64 28.8v345c0 15.3 10.8 28.4 25.7 31.4z\"]]\n};\nvar faBookOpenAlt = faBookOpenCover;\nvar faSandwich = {\n prefix: 'fad',\n iconName: 'sandwich',\n icon: [512, 512, [129386], \"f81f\", [\"M32 304c22.7 0 44.3-10.3 58.8-17.2l0 0c1.3-.6 2.6-1.2 3.8-1.8c17.4-8.2 29.4-13 41.4-13c16.2 0 27.5 5 45.4 13.1l.1 0c18 8.2 41.4 18.9 74.5 18.9s56.6-10.7 74.5-18.9l.1 0C348.5 277 359.8 272 376 272c12 0 23.9 4.7 41.4 13c1.2 .6 2.5 1.2 3.8 1.8l0 0c14.5 6.9 36.1 17.2 58.8 17.2c17.7 0 32-14.3 32-32s-14.3-32-32-32c-7.2 0-15.8-3.7-35.4-13c-16.6-7.8-40.6-19-68.6-19c-30.6 0-53 10.2-70.1 18l-1.9 .9C286.9 234.7 274.3 240 256 240s-30.9-5.3-48.1-13.1l-1.9-.9c-17-7.8-39.4-18-70.1-18c-28 0-52.1 11.3-68.6 19c-19.6 9.2-28.2 13-35.4 13c-17.7 0-32 14.3-32 32s14.3 32 32 32zm201.7 37.7l70.2 40.9c10 5.8 22.3 5.8 32.2 0l70.2-40.9c6.4-3.7 13.6-5.7 20.9-5.7H212.8c7.4 0 14.6 2 20.9 5.7z\", \"M32 64C14.3 64 0 78.3 0 96v48c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H32zM233.7 341.7c-6.4-3.7-13.6-5.7-20.9-5.7H208 32c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V368c0-17.7-14.3-32-32-32H432h-4.8c-7.4 0-14.6 2-20.9 5.7l-70.2 40.9c-10 5.8-22.3 5.8-32.2 0l-70.2-40.9z\"]]\n};\nvar faPesetaSign = {\n prefix: 'fad',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", [\"M32 160l0 64c-17.7 0-32-14.3-32-32s14.3-32 32-32zm250.5 64H96V160H282.5c3.5 10 5.5 20.8 5.5 32s-1.9 22-5.5 32zm66.3 0c2.1-10.3 3.2-21 3.2-32s-1.1-21.7-3.2-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32h-3.2z\", \"M32 64c0-17.7 14.3-32 32-32H192c88.4 0 160 71.6 160 160s-71.6 160-160 160H96v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V320 64zM96 288h96c53 0 96-43 96-96s-43-96-96-96H96V288z\"]]\n};\nvar faSquareParkingSlash = {\n prefix: 'fad',\n iconName: 'square-parking-slash',\n icon: [640, 512, [\"parking-slash\"], \"f617\", [\"M544 401.1V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L227 152.7c6-14.5 20.3-24.7 37-24.7h72c53 0 96 43 96 96c0 26.3-10.6 50.2-27.8 67.5L544 401.1zM352.8 251.2c9.1-5.6 15.2-15.7 15.2-27.2c0-17.7-14.3-32-32-32H288v8.4l64.8 50.8zM486.9 479.6L288 322.9V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 272.5L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faParkingSlash = faSquareParkingSlash;\nvar faTrainTunnel = {\n prefix: 'fad',\n iconName: 'train-tunnel',\n icon: [512, 512, [], \"e454\", [\"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h41.4l64.3-64.3C137.3 444.5 112 417.2 112 384V192c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64V384c0 33.2-25.3 60.5-57.7 63.7L406.6 512H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM361.4 512l-64-64H214.6l-64 64H361.4zM160 216v80c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24z\", \"M112 192c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H176c-35.3 0-64-28.7-64-64V192zm48 24v80c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm96 200a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faHeading = {\n prefix: 'fad',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", [\"M0 64C0 46.3 14.3 32 32 32H80h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H112V208H336V96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h48 48c17.7 0 32 14.3 32 32s-14.3 32-32 32H400V240 416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H368 320c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112V416h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V240 96H32C14.3 96 0 81.7 0 64z\", \"\"]]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'fad',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", [\"M40.1 467.1l-11.2 9c-3.2 2.5-7.1 3.9-11.1 3.9C8 480 0 472 0 462.2V192C0 86 86 0 192 0S384 86 384 192V462.2c0 9.8-8 17.8-17.8 17.8c-4 0-7.9-1.4-11.1-3.9l-11.2-9c-13.4-10.7-32.8-9-44.1 3.9L269.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L84.2 471c-11.3-12.9-30.7-14.6-44.1-3.9zM160 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M128 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faFaceAnguished = {\n prefix: 'fad',\n iconName: 'face-anguished',\n icon: [512, 512, [], \"e369\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\", \"M192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-15.6 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM333 128.9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]]\n};\nvar faHockeySticks = {\n prefix: 'fad',\n iconName: 'hockey-sticks',\n icon: [640, 512, [], \"f454\", [\"M462.3 3.4c15.8 7.9 22.2 27.1 14.3 42.9L261.5 476.6c-10.8 21.7-33 35.4-57.2 35.4H160 128 96V480 352H252.2L419.4 17.7c7.9-15.8 27.1-22.2 42.9-14.3zM0 384c0-17.7 14.3-32 32-32H64V512H32c-17.7 0-32-14.3-32-32V384zm576-32V512H544V352h32z\", \"M220.6 17.7l81.5 163-35.8 71.6L163.4 46.3c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3zM337.9 395.3l35.8-71.6L387.8 352H544V480v32H512 480 435.8c-24.2 0-46.4-13.7-57.2-35.4l-40.6-81.3zM608 352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H576V352h32zM96 352V512H64V352H96z\"]]\n};\nvar faAbacus = {\n prefix: 'fad',\n iconName: 'abacus',\n icon: [576, 512, [129518], \"f640\", [\"M512 96V208H448V176H416v32H288V176H256v32H160V176H128v32H64V96h64v32h32V96h96v32h32V96H416v32h32V96h64zM64 416l0-176h64v24h32V240h96v24h32V240H416v96h32V240h64V416H448V384H416v32H288V384H256v32H160V384H128v32H64zm64-80h32V312H128v24zm128 0h32V312H256v24zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\", \"M96 152c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm160 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24zM96 288c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zM96 360c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm160 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faFilmSimple = {\n prefix: 'fad',\n iconName: 'film-simple',\n icon: [512, 512, [\"film-alt\"], \"f3a0\", [\"M160 32H352V480H160V32z\", \"M160 32H112V80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V34C20.4 41.1 0 66.2 0 96V416c0 29.8 20.4 54.9 48 62V432c0-8.8 7.2-16 16-16H96c8.8 0 16 7.2 16 16v48h48V32zM352 480h48V432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v46c27.6-7.1 48-32.2 48-62V96c0-29.8-20.4-54.9-48-62V80c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V32H352V480zM64 160H96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm336 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V176zM64 288H96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm336 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V304z\"]]\n};\nvar faFilmAlt = faFilmSimple;\nvar faList = {\n prefix: 'fad',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", [\"M160 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm32 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M16 72c0-13.3 10.7-24 24-24H88c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24V72zm0 160c0-13.3 10.7-24 24-24H88c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24V232zM40 368H88c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H40c-13.3 0-24-10.7-24-24V392c0-13.3 10.7-24 24-24z\"]]\n};\nvar faListSquares = faList;\nvar faTreePalm = {\n prefix: 'fad',\n iconName: 'tree-palm',\n icon: [576, 512, [127796], \"f82b\", [\"M248.4 206.9c4 10.8 7.8 26.2 9.7 47.2c4.2 46.5-1.6 116.8-32.7 216.4c-3 9.7-1.3 20.3 4.8 28.5s15.6 13 25.8 13h64c16.1 0 29.8-12 31.8-28c12.4-99-2.3-207.2-31.7-292H272c-2.5 0-5-.6-7.1-1.7l-16.5 16.5z\", \"M133.2 141.9L102.9 91.4c-3.1-5.2-10.6-5.2-13.7 0L69.5 124.1c-1.4 2.4-4 3.9-6.9 3.9H16c-8.8 0-16.1-7.2-14.4-15.9C10.7 64.2 59.6 0 160 0c88 0 136.5 49.4 153.2 93.8C338.4 76.2 372.3 64 416 64c100.4 0 149.3 64.2 158.4 112.1c1.7 8.7-5.6 15.9-14.4 15.9H513.3c-2.8 0-5.4-1.5-6.9-3.9l-19.6-32.7c-3.1-5.2-10.6-5.2-13.7 0l-19.6 32.7c-1.4 2.4-4.1 3.9-6.9 3.9H272c-2.5 0-5-.6-7.1-1.7L109.8 345.5c-6.2 6.2-16.5 6.3-21.4-1C61 304.1 50.2 224.1 121.1 153.1c4-4 8-7.7 12-11.2z\"]]\n};\nvar faSquarePhoneFlip = {\n prefix: 'fad',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", [\"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zm-90.7 96.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\", \"M269.5 140.3c3.9-9.3 14-14.2 23.7-11.6l44 12C346 143.1 352 151 352 160c0 123.7-100.3 224-224 224c-9 0-16.9-6-19.3-14.7l-12-44c-2.6-9.7 2.3-19.9 11.6-23.7l48-20c8.2-3.4 17.6-1 23.2 5.8L199.7 312c35.2-16.6 63.7-45.1 80.3-80.3l-24.7-20.2c-6.8-5.6-9.2-15-5.8-23.2l20-48z\"]]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'fad',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", [\"M170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411c2 4.2 3.5 8.8 4.4 13.5L170.7 288zM252 160c0-11 9-20 20-20h44V96c0-11 9-20 20-20s20 9 20 20v44h44c11 0 20 9 20 20s-9 20-20 20H356v44c0 11-9 20-20 20s-20-9-20-20V180H272c-11 0-20-9-20-20z\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l51.6 271c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0-11 9-20 20-20h44V96c0-11 9-20 20-20s20 9 20 20v44h44c11 0 20 9 20 20s-9 20-20 20H356v44c0 11-9 20-20 20s-20-9-20-20V180H272c-11 0-20-9-20-20z\"]]\n};\nvar faGamepad = {\n prefix: 'fad',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", [\"M192 64C86 64 0 150 0 256S86 448 192 448H448c106 0 192-86 192-192s-86-192-192-192H192zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200z\", \"M192 176c-13.3 0-24 10.7-24 24v32H136c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v32c0 13.3 10.7 24 24 24s24-10.7 24-24V280h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V200c0-13.3-10.7-24-24-24z\"]]\n};\nvar faBorderCenterV = {\n prefix: 'fad',\n iconName: 'border-center-v',\n icon: [448, 512, [], \"f89d\", [\"M448 448a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm0-96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM64 352A32 32 0 1 1 0 352a32 32 0 1 1 64 0zM384 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 160A32 32 0 1 1 0 160a32 32 0 1 1 64 0zm320 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zM384 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zM64 448A32 32 0 1 1 0 448a32 32 0 1 1 64 0zM288 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 64A32 32 0 1 1 96 64a32 32 0 1 1 64 0zM96 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64-192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\", \"M224 480c-17.7 0-32-14.3-32-32l0-384c0-17.7 14.3-32 32-32s32 14.3 32 32l0 384c0 17.7-14.3 32-32 32z\"]]\n};\nvar faCircleDot = {\n prefix: 'fad',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M256 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]]\n};\nvar faDotCircle = faCircleDot;\nvar faClipboardMedical = {\n prefix: 'fad',\n iconName: 'clipboard-medical',\n icon: [384, 512, [], \"e133\", [\"M113.2 66.3c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\", \"M113.2 66.3C119.6 28.7 152.5 0 192 0s72.4 28.7 78.8 66.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM216 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]]\n};\nvar faFaceDizzy = {\n prefix: 'fad',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-224a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\", \"M196.7 132.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L160 169.4l36.7-36.7zm96 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'fad',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", [\"M192 496C86 496 0 394 0 288C0 176 64 16 192 16s192 160 192 272c0 106-86 208-192 208zM154.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C69.7 226.1 64 259.7 64 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\", \"M155.8 111.4c6 6.5 5.5 16.7-1 22.6c-18.8 17.1-33.6 42.7-43.7 71.2C101 233.6 96 263.5 96 288c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-28.3 5.7-61.9 16.9-93.5c11.2-31.5 28.4-62.4 52.3-84.2c6.5-6 16.7-5.5 22.6 1z\"]]\n};\nvar faUpToLine = {\n prefix: 'fad',\n iconName: 'up-to-line',\n icon: [384, 512, [\"arrow-alt-to-top\"], \"f34d\", [\"M0 64C0 81.7 14.3 96 32 96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 32 0 46.3 0 64z\", \"M219.3 139.3L342.1 262.1c6.4 6.4 9.9 15 9.9 24c0 18.7-15.2 33.9-33.9 33.9L256 320l0 128c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-128-62.1 0C47.2 320 32 304.8 32 286.1c0-9 3.6-17.6 9.9-24L164.7 139.3c7.2-7.2 17.1-11.3 27.3-11.3s20.1 4.1 27.3 11.3z\"]]\n};\nvar faArrowAltToTop = faUpToLine;\nvar faHouseMedicalCircleXmark = {\n prefix: 'fad',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", [\"M394.8 512C349.5 480.1 320 427.5 320 368c0-5.4 .2-10.7 .7-16H320v16c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h40.2c32.3-39.1 81.1-64 135.8-64c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H394.8z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faWatchFitness = {\n prefix: 'fad',\n iconName: 'watch-fitness',\n icon: [384, 512, [], \"f63e\", [\"M80 64C35.8 64 0 99.8 0 144V368c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H80zm0 157.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3z\", \"M112.3 0H271.7C298.4 0 320 21.6 320 48.3V65.6c-5.2-1-10.5-1.6-16-1.6H80c-5.5 0-10.8 .6-16 1.6V48.3C64 21.6 85.6 0 112.3 0zM64 464V446.4c5.2 1 10.5 1.6 16 1.6H304c5.5 0 10.8-.6 16-1.6V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48zM80 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3z\"]]\n};\nvar faClockNineThirty = {\n prefix: 'fad',\n iconName: 'clock-nine-thirty',\n icon: [512, 512, [], \"e34d\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V256c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 416c13.3 0 24-10.7 24-24V256c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V392c0 13.3 10.7 24 24 24z\"]]\n};\nvar faCampground = {\n prefix: 'fad',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", [\"M0 448v16c0 26.5 21.5 48 48 48H288 528c26.5 0 48-21.5 48-48V448H407.5l0 0H288 168.5l0 0H0z\", \"M372 7c13.8 11 16 31.2 5 45l-48 60L563.7 405.4c7.9 9.9 12.3 22.3 12.3 35V448H407.5L288 291.7 168.5 448H0v-7.6c0-12.7 4.3-25.1 12.3-35L247 112 199 52c-11-13.8-8.8-33.9 5-45s33.9-8.8 45 5l39 48.8L327 12c11-13.8 31.2-16 45-5zM47.7 512H528.3c-.1 0-.2 0-.3 0H288 48c-.1 0-.2 0-.3 0z\"]]\n};\nvar faFolderPlus = {\n prefix: 'fad',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\", \"M232 312v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faJug = {\n prefix: 'fad',\n iconName: 'jug',\n icon: [448, 512, [], \"f8c6\", [\"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zM416 288H32V416H416V288z\", \"M144 59.7V85c0 7.1-2.4 14-6.7 19.6L59 205.3c-17.5 22.5-27 50.1-27 78.6V288H416v-4.1c0-17.4-3.5-34.5-10.3-50.3C430.6 222.3 448 197.2 448 168c0-39.8-32.2-72-72-72c-21.2 0-40.3 9.2-53.5 23.8l-11.8-15.1C306.4 99 304 92.1 304 85V59.7c-4.7 2.7-10.2 4.3-16 4.3H160c-5.8 0-11.3-1.6-16-4.3zM32 448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V416H32v32zM378.6 191.9l-25.1-32.2c3.4-9.1 12.2-15.6 22.5-15.6c13.3 0 24 10.7 24 24c0 12.4-9.4 22.6-21.4 23.9z\"]]\n};\nvar faFutbol = {\n prefix: 'fad',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", [\"M155.4 20.5C119.8 35.8 88.3 58.9 63.1 87.6l40.1 100.1c2.4 6 2.6 12.6 .6 18.8s-6.1 11.4-11.6 14.8L1 278.9c3.5 39.4 15.9 76.3 35.2 108.5l107.6-7.2c6.4-.4 12.8 1.4 18.1 5.2s9 9.3 10.5 15.6L199 505.6c18.3 4.2 37.4 6.4 57 6.4s38.7-2.2 57-6.4L339.5 401c1.6-6.3 5.3-11.8 10.5-15.6s11.6-5.6 18.1-5.2l107.6 7.2c19.3-32.2 31.7-69.1 35.2-108.5l-91.3-57.5c-5.5-3.4-9.6-8.7-11.6-14.8s-1.8-12.8 .6-18.8L448.9 87.6c-25.1-28.8-56.6-51.9-92.3-67.1L273.7 89.6c-5 4.1-11.2 6.4-17.7 6.4s-12.7-2.3-17.7-6.4L155.4 20.5zm86.5 145.7c8.4-6.1 19.8-6.1 28.2 0L337 214.8c8.4 6.1 11.9 16.9 8.7 26.8l-25.5 78.6c-3.2 9.9-12.4 16.6-22.8 16.6H214.7c-10.4 0-19.6-6.7-22.8-16.6l-25.6-78.6c-3.2-9.9 .3-20.7 8.7-26.8l66.9-48.6z\", \"M1 278.9c-.7-7.5-1-15.2-1-22.9C0 191.5 23.8 132.6 63.1 87.6l40.1 100.1c2.4 6 2.6 12.6 .6 18.8s-6.1 11.4-11.6 14.8L1 278.9zM199 505.6C130 489.9 71.6 446.4 36.2 387.4l107.6-7.2c6.4-.4 12.8 1.4 18.1 5.2s9 9.3 10.5 15.6L199 505.6zM475.8 387.4C440.4 446.4 382 489.9 313 505.6L339.5 401c1.6-6.3 5.3-11.8 10.5-15.6s11.6-5.6 18.1-5.2l107.6 7.2zM448.9 87.6C488.2 132.6 512 191.5 512 256c0 7.7-.3 15.3-1 22.9l-91.3-57.5c-5.5-3.4-9.6-8.7-11.6-14.8s-1.8-12.8 .6-18.8L448.9 87.6zM356.6 20.5L273.7 89.6c-5 4.1-11.2 6.4-17.7 6.4s-12.7-2.3-17.7-6.4L155.4 20.5C186.3 7.3 220.3 0 256 0s69.7 7.3 100.6 20.5zM241.9 166.3c8.4-6.1 19.8-6.1 28.2 0L337 214.8c8.4 6.1 11.9 16.9 8.7 26.8l-25.5 78.6c-3.2 9.9-12.4 16.6-22.8 16.6H214.7c-10.4 0-19.6-6.7-22.8-16.6l-25.6-78.6c-3.2-9.9 .3-20.7 8.7-26.8l66.9-48.6z\"]]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faSnowBlowing = {\n prefix: 'fad',\n iconName: 'snow-blowing',\n icon: [640, 512, [], \"f761\", [\"M512 48c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c53 0 96-43 96-96s-43-96-96-96H512zm0 416h24c53 0 96-43 96-96s-43-96-96-96H416c-17.7 0-32 14.3-32 32s14.3 32 32 32H536c17.7 0 32 14.3 32 32s-14.3 32-32 32H512c-17.7 0-32 14.3-32 32s14.3 32 32 32z\", \"M176 64c13.3 0 24 10.7 24 24v25.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L200 158.6v55.8l48.3-27.9 12.9-48.2c2.3-8.5 11.1-13.6 19.6-11.3s13.6 11.1 11.3 19.6l-4.6 17.3 22-12.7c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8l-22 12.7 17.3 4.6c8.5 2.3 13.6 11.1 11.3 19.6s-11.1 13.6-19.6 11.3l-48.2-12.9L224 256l48.3 27.9L320.6 271c8.5-2.3 17.3 2.8 19.6 11.3s-2.8 17.3-11.3 19.6l-17.3 4.6 22 12.7c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8l-22-12.7 4.6 17.3c2.3 8.5-2.8 17.3-11.3 19.6s-17.3-2.8-19.6-11.3l-12.9-48.2L200 297.6v55.8l35.3 35.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L200 398.6V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L152 353.4V297.6l-48.3 27.9L90.7 373.7c-2.3 8.5-11.1 13.6-19.6 11.3s-13.6-11.1-11.3-19.6l4.6-17.3-22 12.7C31 367.4 16.4 363.5 9.7 352s-2.7-26.2 8.8-32.8l22-12.7-17.3-4.6c-8.5-2.3-13.6-11.1-11.3-19.6s11.1-13.6 19.6-11.3l48.2 12.9L128 256 79.7 228.1 31.4 241c-8.5 2.3-17.3-2.8-19.6-11.3s2.8-17.3 11.3-19.6l17.3-4.6-22-12.7C7 186.2 3.1 171.5 9.7 160s21.3-15.4 32.8-8.8l22 12.7-4.6-17.3c-2.3-8.5 2.8-17.3 11.3-19.6s17.3 2.8 19.6 11.3l12.9 48.2L152 214.4V158.6l-35.3-35.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L152 113.4V88c0-13.3 10.7-24 24-24z\"]]\n};\nvar faPaintbrush = {\n prefix: 'fad',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", [\"M208.1 272.1c-.6 0-1.2-.1-1.8-.1H184c-66.3 0-120 53.7-120 120c0 6.2 .5 12.4 1.4 18.4C68.1 428.2 56.1 448 38 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H175.9c.1 0 .1-.1 .1-.1s.1-.1 .1-.1c2.6 .2 5.2 .3 7.9 .3c66.3 0 120-53.7 120-120c0-2.8-.1-5.5-.2-8.3L208.1 272.1z\", \"M411 331.6c-19.9 32.6-55.3 52.4-93.4 52.4c-4.8 0-9.6-.3-14.3-.9L208 272c.2-35.9 17.8-69.4 47.1-90.1L500.2 8.8c18.6-13.1 43.9-11.4 60.5 4.2s20 40.6 8.2 60.1L411 331.6z\"]]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'fad',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", [\"M224 64c-44.2 0-80 35.8-80 80v48H80V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48H304V144c0-44.2-35.8-80-80-80z\", \"M0 256c0-35.3 28.7-64 64-64H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256z\"]]\n};\nvar faArrowDownFromLine = {\n prefix: 'fad',\n iconName: 'arrow-down-from-line',\n icon: [384, 512, [8615, \"arrow-from-top\"], \"f345\", [\"M0 64C0 81.7 14.3 96 32 96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 32 0 46.3 0 64z\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.7V304 192c0-17.7-14.3-32-32-32s-32 14.3-32 32V304v66.7L86.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]]\n};\nvar faArrowFromTop = faArrowDownFromLine;\nvar faGasPump = {\n prefix: 'fad',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", [\"M96 0C60.7 0 32 28.7 32 64V448H320V64c0-35.3-28.7-64-64-64H96zm16 64H240c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16z\", \"M384 64l32 32v64c0 29.8 20.4 54.9 48 62V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88h-8v48h8c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V224 192 168 154.5c0-17-6.7-33.3-18.7-45.3L416 32c-8.8-8.8-23.2-8.8-32 0s-8.8 23.2 0 32zM0 480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faSignalBarsSlash = {\n prefix: 'fad',\n iconName: 'signal-bars-slash',\n icon: [640, 512, [\"signal-alt-slash\"], \"f694\", [\"M608 451.2V48c0-26.5-21.5-48-48-48s-48 21.5-48 48V376l96 75.2zM448 325.8V176c0-26.5-21.5-48-48-48s-48 21.5-48 48v74.6l96 75.2zM560 512l-.3 0h.7l-.3 0zM448 464V449l-96-75.6V464c0 26.5 21.5 48 48 48s48-21.5 48-48zM288 322.9l-74.7-58.8C200.5 272.7 192 287.4 192 304V464c0 26.5 21.5 48 48 48s48-21.5 48-48V322.9zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faSignalAltSlash = faSignalBarsSlash;\nvar faMonkey = {\n prefix: 'fad',\n iconName: 'monkey',\n icon: [576, 512, [128018], \"f6fb\", [\"M384 64c-26.5 0-48 21.5-48 48c0 20.8 13.2 38.4 31.6 45.1c4.7 1.7 8.4 5.9 8.4 10.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-5 3.7-9.2 8.4-10.9c18.5-6.7 31.6-24.4 31.6-45.1c0-26.5-21.5-48-48-48H384zm-16 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M160 416c0-89.7 61.4-165 144.5-186.1C329.1 265 369.9 288 416 288c9.8 0 19.4-1 28.7-3L526.5 363c31.6 30.2 49.5 72 49.5 115.7V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-26.2-10.7-51.3-29.7-69.4L416 346.1V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 160C71.6 512 0 440.4 0 352V110.1C0 49.3 49.3 0 110.1 0h10.4c57.2 0 102.8 47.8 100.1 104.9c-2.3 48.2-38.6 88-86.4 94.6l-1.9 .3c-17.5 2.4-33.7-9.8-36.1-27.3s9.8-33.7 27.3-36.1l1.9-.3c17.3-2.4 30.4-16.7 31.2-34.2c1-20.6-15.5-37.9-36.2-37.9H110.1C84.7 64 64 84.7 64 110.1V352c0 53 43 96 96 96V416zM416 256c-29.3 0-55.9-12.2-74.8-31.7c-9-9.3-16.2-20.2-21.3-32.3c-35.3 0-64-28.7-64-64s28.6-64 64-64c15.7-37.6 52.8-64 96-64s80.4 26.4 96 64c35.3 0 64 28.7 64 64s-28.6 64-64 64c-15.7 37.6-52.8 64-96 64zM384 64c-26.5 0-48 21.5-48 48c0 20.8 13.2 38.4 31.6 45.1c4.7 1.7 8.4 5.9 8.4 10.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-5 3.7-9.2 8.4-10.9c18.5-6.7 31.6-24.4 31.6-45.1c0-26.5-21.5-48-48-48H384z\"]]\n};\nvar faRectanglePro = {\n prefix: 'fad',\n iconName: 'rectangle-pro',\n icon: [640, 512, [\"pro\"], \"e235\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm40 128h56c35.3 0 64 28.7 64 64s-28.7 64-64 64H128v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184c0-13.3 10.7-24 24-24zm56 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H128v32h32zm80-56c0-13.3 10.7-24 24-24h56c35.3 0 64 28.7 64 64c0 21.9-11 41.2-27.7 52.7l24.1 38.5c7 11.2 3.6 26-7.6 33.1s-26 3.6-33.1-7.6l-33-52.7H288v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184zm48 56h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288v32zm200-80c48.6 0 88 39.4 88 88v16c0 48.6-39.4 88-88 88s-88-39.4-88-88V248c0-48.6 39.4-88 88-88zm-40 88v16c0 22.1 17.9 40 40 40s40-17.9 40-40V248c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"M80 184v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V288h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H104c-13.3 0-24 10.7-24 24zm48 56V208h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H128zm112-56v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V288h18.7l33 52.7c7 11.2 21.8 14.7 33.1 7.6s14.7-21.8 7.6-33.1l-24.1-38.5C373 265.2 384 245.9 384 224c0-35.3-28.7-64-64-64H264c-13.3 0-24 10.7-24 24zm48 56V208h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H288zm200-80c-48.6 0-88 39.4-88 88v16c0 48.6 39.4 88 88 88s88-39.4 88-88V248c0-48.6-39.4-88-88-88zm-40 88c0-22.1 17.9-40 40-40s40 17.9 40 40v16c0 22.1-17.9 40-40 40s-40-17.9-40-40V248z\"]]\n};\nvar faPro = faRectanglePro;\nvar faHouseNight = {\n prefix: 'fad',\n iconName: 'house-night',\n icon: [640, 512, [], \"e010\", [\"M125.2 16.1c6.2-4.4 5.4-14.8-2.2-15.6c-3.6-.4-7.3-.5-11-.5C50.1 0 0 50.1 0 112s50.1 112 112 112c32.1 0 61.1-13.5 81.5-35.2c5.2-5.6-1-14-8.6-13.2c-2.9 .3-5.9 .4-9 .4c-48.6 0-88-39.4-88-88c0-29.7 14.7-55.9 37.2-71.9zm123.3-3.8L236.6 44.6 204.3 56.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15L275.4 44.6 263.5 12.3c-2.6-7-12.4-7-15 0zm-160 320L76.6 364.6 44.3 376.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15l-32.3-11.9-11.9-32.3c-2.6-7-12.4-7-15 0z\", \"M378.3 104.5c12.3-11.3 31.2-11.3 43.4 0l208 192c9.7 8.9 12.9 22.9 8.1 35.2S621.2 352 608 352H576V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V352H192c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM368 288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H368z\"]]\n};\nvar faHotTubPerson = {\n prefix: 'fad',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", [\"M248 0c13.3 0 24 10.7 24 24v5.2c0 20.4 8.7 39.9 23.8 53.5l16.4 14.8c25.3 22.8 39.7 55.2 39.7 89.2V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V186.8c0-20.4-8.7-39.9-23.8-53.5l-16.4-14.8C238.4 95.7 224 63.3 224 29.2V24c0-13.3 10.7-24 24-24zM0 256c0-53 43-96 96-96c20.8 0 41 6.7 57.6 19.2L256 256H0zM384 24v5.2c0 20.4 8.7 39.9 23.8 53.5l16.4 14.8c25.3 22.8 39.7 55.2 39.7 89.2V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V186.8c0-20.4-8.7-39.9-23.8-53.5l-16.4-14.8C350.4 95.7 336 63.3 336 29.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM0 64a64 64 0 1 1 128 0A64 64 0 1 1 0 64z\", \"M0 256H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm112 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16zm112 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V336zm80-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16zm112 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]]\n};\nvar faHotTub = faHotTubPerson;\nvar faBlanket = {\n prefix: 'fad',\n iconName: 'blanket',\n icon: [448, 512, [], \"f498\", [\"M0 352V128C0 75 43 32 96 32H352c53 0 96 43 96 96V304c0-44.2-35.8-80-80-80H128C57.3 224 0 281.3 0 352z\", \"M128 288c-35.3 0-64 28.7-64 64s28.7 64 64 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H128C57.3 480 0 422.7 0 352s57.3-128 128-128H368c44.2 0 80 35.8 80 80s-35.8 80-80 80H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]]\n};\nvar faMapLocation = {\n prefix: 'fad',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", [\"M416 503V200.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503zM15.1 187.3l122.6-49c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3zM384 255V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0c13.9-17.4 35.7-45.7 56.2-77z\", \"M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120z\"]]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'fad',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", [\"M306.5 309.9c-11.1-7.9-25.9-7.9-37 0C247 325.4 219.5 336 192 336c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 389.7 159 400 192 400c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\", \"M306.8 6.1C295.6-2 280.4-2 269.2 6.1l-176 128c-11.2 8.2-15.9 22.6-11.6 35.8S98.1 192 112 192h16v73c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.5-1 3-2 4.5-2.9l-.3-73.2H464c13.9 0 26.1-8.9 30.4-22.1s-.4-27.6-11.6-35.8l-176-128z\"]]\n};\nvar faCommentsQuestionCheck = {\n prefix: 'fad',\n iconName: 'comments-question-check',\n icon: [640, 512, [], \"e14f\", [\"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM136.2 108.4c6.6-18.6 24.2-31.1 44-31.1h48.5c29.1 0 52.6 23.6 52.6 52.6c0 18.8-10.1 36.3-26.4 45.6L228 191c-.2 10.9-9.1 19.6-20 19.6c-11 0-20-9-20-20V179.5c0-7.2 3.8-13.8 10-17.3L235 140.9c3.9-2.3 6.3-6.4 6.3-10.9c0-7-5.7-12.6-12.6-12.6H180.2c-2.8 0-5.3 1.8-6.3 4.4l-.4 1c-3.7 10.4-15.1 15.9-25.5 12.2s-15.9-15.1-12.2-25.5l.4-1zM181.3 264a26.7 26.7 0 1 1 53.3 0 26.7 26.7 0 1 1 -53.3 0z\", \"M136.2 108.4l-.4 1c-3.7 10.4 1.8 21.8 12.2 25.5s21.8-1.8 25.5-12.2l.4-1c.9-2.7 3.5-4.4 6.3-4.4h48.5c7 0 12.6 5.7 12.6 12.6c0 4.5-2.4 8.7-6.3 10.9L198 162.1c-6.2 3.6-10 10.2-10 17.3v11.2c0 11 9 20 20 20c10.9 0 19.8-8.8 20-19.6l26.9-15.4c16.3-9.4 26.4-26.8 26.4-45.6c0-29.1-23.6-52.6-52.6-52.6H180.2c-19.8 0-37.4 12.4-44 31.1zM234.7 264a26.7 26.7 0 1 0 -53.3 0 26.7 26.7 0 1 0 53.3 0zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 3.9 16 7.9 25.3 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5zm-33 17.6c-9.9 84.3-90 151-190.2 157.8l0 0c100.1-6.8 180.3-73.5 190.2-157.8zM566.1 318.1l-80 80c-7.8 7.8-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0L472 355.7l65.9-65.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]]\n};\nvar faTree = {\n prefix: 'fad',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", [\"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192V224c0-17.7 14.3-32 32-32s32 14.3 32 32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\", \"M224 192c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]]\n};\nvar faArrowsCross = {\n prefix: 'fad',\n iconName: 'arrows-cross',\n icon: [448, 512, [], \"e0a2\", [\"M288 480H416c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v50.7L269.3 256 224 301.3 338.7 416H288c-17.7 0-32 14.3-32 32s14.3 32 32 32zM178.7 256L224 210.7 54.6 41.4c-12.5-12.5-32.8-12.5-45.3 0S-3.1 74.1 9.4 86.6L178.7 256z\", \"M256 64c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32s-32-14.3-32-32V141.3L54.6 470.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 96H288c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faBackpack = {\n prefix: 'fad',\n iconName: 'backpack',\n icon: [448, 512, [127890], \"f5d4\", [\"M184 56c0-4.4 3.6-8 8-8h64c4.4 0 8 3.6 8 8V96h48V56c0-30.9-25.1-56-56-56H192c-30.9 0-56 25.1-56 56V96h48V56zM352 384H96V512H352V384z\", \"M0 224C0 153.3 57.3 96 128 96H320c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H352V400 336c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48v64V512H64c-35.3 0-64-28.7-64-64V224zm144-48c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]]\n};\nvar faSquareSmall = {\n prefix: 'fad',\n iconName: 'square-small',\n icon: [320, 512, [], \"e27e\", [\"M0 160c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160z\", \"\"]]\n};\nvar faFolderArrowUp = {\n prefix: 'fad',\n iconName: 'folder-arrow-up',\n icon: [512, 512, [\"folder-upload\"], \"e054\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM280 360V257.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V360c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 384c13.3 0 24-10.7 24-24V257.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V360c0 13.3 10.7 24 24 24z\"]]\n};\nvar faFolderUpload = faFolderArrowUp;\nvar faBridgeLock = {\n prefix: 'fad',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", [\"M64 32C46.3 32 32 46.3 32 64s14.3 32 32 32h40v64H32V288c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384c0-53 43-96 96-96c28.8 0 54.6 12.7 72.2 32.7c5.6-10 13.9-18.4 23.8-24.1V272c0-61.9 50.1-112 112-112h8V96h40c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM488 96v64H408V96h80zM360 96v64H280V96h80zM232 96v64H152V96h80z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCrosshairsSimple = {\n prefix: 'fad',\n iconName: 'crosshairs-simple',\n icon: [512, 512, [], \"e59f\", [\"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\", \"M288 66.7c-10.4-1.7-21.1-2.7-32-2.7s-21.6 .9-32 2.7V128c0 17.7 14.3 32 32 32s32-14.3 32-32V66.7zM66.7 288H128c17.7 0 32-14.3 32-32s-14.3-32-32-32H66.7c-1.7 10.4-2.7 21.1-2.7 32s.9 21.6 2.7 32zM224 445.3c10.4 1.7 21.1 2.7 32 2.7s21.6-.9 32-2.7V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v61.3zM445.3 224H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h61.3c1.7-10.4 2.7-21.1 2.7-32s-.9-21.6-2.7-32z\"]]\n};\nvar faSackDollar = {\n prefix: 'fad',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", [\"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zm-64 68c11 0 20 9 20 20v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2 0 0c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V424c0 11-9 20-20 20s-20-9-20-20V409.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4l0 0c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V216c0-11 9-20 20-20z\", \"M192 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H192zm84 120c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5l0 0c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 11 9 20 20 20s20-9 20-20V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216z\"]]\n};\nvar faPenToSquare = {\n prefix: 'fad',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", [\"M0 160c0-53 43-96 96-96h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V320c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 53-43 96-96 96H96c-53 0-96-43-96-96V160z\", \"M392.4 21.7L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0zM339.7 74.3L172.4 241.7c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3z\"]]\n};\nvar faEdit = faPenToSquare;\nvar faSquareSliders = {\n prefix: 'fad',\n iconName: 'square-sliders',\n icon: [448, 512, [\"sliders-h-square\"], \"f3f0\", [\"M384 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0zm0-144c0 17.7-14.3 32-32 32l-32 0 0 16c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-16L96 368c-17.7 0-32-14.3-32-32s14.3-32 32-32l160 0 0-16c0-17.7 14.3-32 32-32s32 14.3 32 32l0 16 32 0c17.7 0 32 14.3 32 32zM352 144c17.7 0 32 14.3 32 32s-14.3 32-32 32l-160 0 0 16c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-16-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0 0-16c0-17.7 14.3-32 32-32s32 14.3 32 32l0 16 160 0z\", \"M192 224c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32s32 14.3 32 32l0 96zM320 384c0 17.7-14.3 32-32 32s-32-14.3-32-32V288c0-17.7 14.3-32 32-32s32 14.3 32 32v96z\"]]\n};\nvar faSlidersHSquare = faSquareSliders;\nvar faCarSide = {\n prefix: 'fad',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", [\"M171.3 128H224v96H111.3l30.4-75.9c4.9-12.1 16.6-20.1 29.7-20.1zM272 224V128h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zM64 432a80 80 0 1 1 160 0A80 80 0 1 1 64 432zm432-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M171.3 128H224v96H111.3l30.4-75.9c4.9-12.1 16.6-20.1 29.7-20.1zM272 224V128h81.2c9.7 0 18.9 4.4 25 12l67.2 84H272zm256.2 1l-100-125c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 228.4C16.8 237.8 0 260.9 0 288V400c0 17.7 14.3 32 32 32c0-61.9 50.1-112 112-112s112 50.1 112 112H384c0-61.9 50.1-112 112-112s112 50.1 112 112c17.7 0 32-14.3 32-32V352c0-65.2-48.8-119-111.8-127z\"]]\n};\nvar faMessageMiddleTop = {\n prefix: 'fad',\n iconName: 'message-middle-top',\n icon: [512, 512, [\"comment-middle-top-alt\"], \"e1e2\", [\"M343.5 96H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H168.5L243.7 5.8c3-3.6 7.5-5.8 12.3-5.8s9.3 2.1 12.3 5.8L343.5 96z\", \"\"]]\n};\nvar faCommentMiddleTopAlt = faMessageMiddleTop;\nvar faLightbulbOn = {\n prefix: 'fad',\n iconName: 'lightbulb-on',\n icon: [640, 512, [], \"f672\", [\"M449.2 297.8c-19.8 27.1-39.7 54.4-49.2 86.2H240c-9.6-31.9-29.5-59.1-49.2-86.2c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4zM240 176c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-61.9 0-112 50.1-112 112c0 8.8 7.2 16 16 16s16-7.2 16-16z\", \"M69.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S58.3-3.3 69.3 4zM597.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM117.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm432-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM400 432c0 44.2-35.8 80-80 80s-80-35.8-80-80V384H400v48z\"]]\n};\nvar faKnife = {\n prefix: 'fad',\n iconName: 'knife',\n icon: [512, 512, [\"utensil-knife\"], \"f2e4\", [\"M459.5 7.3L201.4 265.4l59.9 59.9c12 12 28.3 18.7 45.3 18.7h11c17 0 33.2-6.8 45.3-18.7C455.7 233.9 512 186.1 512 96c0-24.5-6.7-57.4-11.4-77.6C498.1 7.5 488.2 0 477.1 0c-6.6 0-12.9 2.6-17.6 7.3z\", \"M217.4 249.4l-16 16 45.3 45.3-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l208-208z\"]]\n};\nvar faUtensilKnife = faKnife;\nvar faShareNodes = {\n prefix: 'fad',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", [\"M285.4 197.1c-15.4-14.9-25.9-34.9-28.6-57.2l-94.1 47c15.4 14.9 25.9 34.9 28.6 57.2l94.1-47zm-94.1 70.8c-2.8 22.4-13.2 42.4-28.6 57.2l94.1 47c2.8-22.4 13.2-42.4 28.6-57.2l-94.1-47z\", \"M256 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM0 256a96 96 0 1 1 192 0A96 96 0 1 1 0 256zm352 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]]\n};\nvar faShareAlt = faShareNodes;\nvar faDisplayChartUpCircleDollar = {\n prefix: 'fad',\n iconName: 'display-chart-up-circle-dollar',\n icon: [640, 512, [], \"e5e6\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H394.8C349.5 480.1 320 427.5 320 368c0-5.4 .2-10.7 .7-16H64V64H512V192.7c22.9 2.1 44.5 8.5 64 18.5V64c0-35.3-28.7-64-64-64H64zM480 192.7V120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 1.3 .1 2.6 .3 3.9c15-5.8 31-9.7 47.7-11.2z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM472.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]]\n};\nvar faWaveSine = {\n prefix: 'fad',\n iconName: 'wave-sine',\n icon: [640, 512, [8767], \"f899\", [\"M63.4 230.3l0-.1 .2-1c.2-.9 .5-2.4 1-4.3c1-3.8 2.5-9.4 4.6-16.2C73.6 195 80.3 177 90 159.4C110.2 122.8 137.8 96 176 96c29 0 49.1 14.4 67 44.4c19 31.8 31.9 75.4 46.3 124.5c.2 .8 .5 1.6 .7 2.4c13.5 46.2 28.4 97.5 52 137c25.1 42 63 75.6 122 75.6c73.8 0 118.2-53.2 142-96.6c12.3-22.4 20.6-44.5 25.7-60.8c2.6-8.2 4.5-15.1 5.7-20c.6-2.5 1.1-4.4 1.4-5.9c.2-.7 .3-1.3 .4-1.7l.1-.5 0-.2 0-.1 0 0c0 0 0 0-31.4-6.3l31.4 6.3c3.5-17.3-7.8-34.2-25.1-37.7s-34.2 7.8-37.7 25.1l0 0 0 .1-.2 1c-.2 .9-.5 2.4-1 4.3c-1 3.8-2.5 9.4-4.6 16.2c-4.3 13.7-11.1 31.6-20.8 49.2c-20.1 36.6-47.8 63.4-86 63.4c-29 0-49.1-14.4-67-44.4c-19-31.8-31.9-75.4-46.3-124.5c-.2-.8-.5-1.6-.7-2.4c-13.5-46.2-28.4-97.5-52-137C272.9 65.6 235 32 176 32C102.2 32 57.8 85.2 34 128.6C21.7 151 13.4 173 8.2 189.3c-2.6 8.2-4.5 15.1-5.7 20c-.6 2.5-1.1 4.4-1.4 5.9c-.2 .7-.3 1.3-.4 1.7l-.1 .5 0 .2 0 .1 0 0c0 0 0 0 31.4 6.3L.6 217.7c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1\", \"\"]]\n};\nvar faHeartCircleMinus = {\n prefix: 'fad',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", [\"M228.3 469.1L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 6.6-.4 13.2-1.3 19.6C487 198.7 460.3 192 432 192c-97.2 0-176 78.8-176 176c0 36.6 11.2 70.6 30.3 98.7l-2.6 2.4c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm64-128l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]]\n};\nvar faCircleW = {\n prefix: 'fad',\n iconName: 'circle-w',\n icon: [512, 512, [], \"e12c\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM150.9 168.7L192 297.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L320 297.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L256 254.7 214.9 383.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2s26.1 2.9 30.2 15.5z\", \"M120.7 153.1c12.6-4 26.1 2.9 30.2 15.5L192 297.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L320 297.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L256 254.7 214.9 383.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2z\"]]\n};\nvar faCircleCalendar = {\n prefix: 'fad',\n iconName: 'circle-calendar',\n icon: [512, 512, [\"calendar-circle\"], \"e102\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 96c8.8 0 16 7.2 16 16v16h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32c17.7 0 32 14.3 32 32v64V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V224 160c0-17.7 14.3-32 32-32h32V112c0-8.8 7.2-16 16-16z\", \"M192 112c0-8.8 7.2-16 16-16s16 7.2 16 16v16h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32c17.7 0 32 14.3 32 32v64H128V160c0-17.7 14.3-32 32-32h32V112z\"]]\n};\nvar faCalendarCircle = faCircleCalendar;\nvar faHourglassHalf = {\n prefix: 'fad',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", [\"M32 437v11H96V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9v11h64V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64H288V75c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75V64H32V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9l22.6 22.6L78.9 323.9C48.9 353.9 32 394.6 32 437z\", \"M0 32C0 49.7 14.3 64 32 64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 0 0 14.3 0 32zM0 480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V437c0-19-5.6-37.4-16-53H112c-10.3 15.6-16 34-16 53v11H32c-17.7 0-32 14.3-32 32zM259.9 142.9c4.6-4.6 8.6-9.6 12.1-14.9H112c3.5 5.3 7.6 10.3 12.1 14.9L192 210.7l67.9-67.9z\"]]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'fad',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", [\"M192 0c-17.7 0-32 14.3-32 32h96c0-17.7-14.3-32-32-32H192zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M128 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32c-17.7 0-32-14.3-32-32V64zM512 320c0 49.2-18.5 94-48.9 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H320c70.7 0 128-57.3 128-128s-57.3-128-128-128V128c106 0 192 86 192 192z\"]]\n};\nvar faSunset = {\n prefix: 'fad',\n iconName: 'sunset',\n icon: [576, 512, [127751], \"f767\", [\"M403.1 237.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L288 289.1l-90.3-62.3c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L153 345 45.1 364.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L86.1 464H161c7.9-63.1 61.7-112 127-112s119.1 48.9 127 112h74.9l51.3-74.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L423 345 403.1 237.1zM382.7 464c-7.6-45.4-47.1-80-94.7-80s-87.1 34.6-94.7 80H382.7z\", \"M354.5 104.3L320 135.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V135.7l-34.5-31.3c-13.1-11.9-33.3-10.9-45.2 2.2s-10.9 33.3 2.2 45.2l88 80c12.2 11.1 30.8 11.1 43.1 0l88-80c13.1-11.9 14-32.1 2.2-45.2s-32.1-14-45.2-2.2zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]]\n};\nvar faSink = {\n prefix: 'fad',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", [\"M32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm448 96H32v32c0 53 43 96 96 96H384c53 0 96-43 96-96V384z\", \"M288 96c0-17.7 14.3-32 32-32s32 14.3 32 32s14.3 32 32 32s32-14.3 32-32c0-53-43-96-96-96s-96 43-96 96V288h64V96zM56 208c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24h48V264c0-30.9-25.1-56-56-56H56zm344 56c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24h48V264z\"]]\n};\nvar faCalendarExclamation = {\n prefix: 'fad',\n iconName: 'calendar-exclamation',\n icon: [448, 512, [], \"f334\", [\"M0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM256 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-176c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V256z\", \"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v80H0V112C0 85.5 21.5 64 48 64H96V32zm96 400a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm56-176v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faTruckContainerEmpty = {\n prefix: 'fad',\n iconName: 'truck-container-empty',\n icon: [640, 512, [], \"e2b5\", [\"M96 352a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm160 0a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm288 0a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\", \"M456 144c-13.3 0-24 10.7-24 24v88 32 16H32c-17.7 0-32 14.3-32 32v16c0 8.8 3.6 16.8 9.4 22.6C24.8 342.3 57.8 320 96 320c33.4 0 62.8 17 80 42.9C193.2 337 222.6 320 256 320c41.8 0 77.4 26.7 90.5 64H432h21.5c13.2-37.3 48.7-64 90.5-64c38.2 0 71.2 22.3 86.6 54.6c5.8-5.8 9.4-13.8 9.4-22.6V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H456zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256z\"]]\n};\nvar faHandHeart = {\n prefix: 'fad',\n iconName: 'hand-heart',\n icon: [512, 512, [], \"f4bc\", [\"M256 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176H284.8c-59.6 0-116.9-22.9-160-64L12.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zM208 362.6c0 12.1 5.1 23.6 14.1 31.6l55.2 49.7c6.1 5.5 15.3 5.5 21.4 0l55.2-49.7c9-8.1 14.1-19.6 14.1-31.6c0-23.5-19.1-42.6-42.6-42.6h-1.1c-14.6 0-28.3 7.3-36.4 19.5c-8.1-12.2-21.7-19.5-36.4-19.5h-1.1c-23.5 0-42.6 19.1-42.6 42.6z\", \"M250.6 320c-23.5 0-42.6 19.1-42.6 42.6c0 12.1 5.1 23.6 14.1 31.6l55.2 49.7c6.1 5.5 15.3 5.5 21.4 0l55.2-49.7c9-8.1 14.1-19.6 14.1-31.6c0-23.5-19.1-42.6-42.6-42.6h-1.1c-14.6 0-28.3 7.3-36.4 19.5c-8.1-12.2-21.7-19.5-36.4-19.5h-1.1z\"]]\n};\nvar faBagShopping = {\n prefix: 'fad',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", [\"M288 160H160v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160z\", \"M224 48c-35.3 0-64 28.7-64 64V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V112C112 50.1 162.1 0 224 0s112 50.1 112 112V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V112c0-35.3-28.7-64-64-64z\"]]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'fad',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", [\"M352 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96H352zm64 160c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400h40.4L416 359.6 395.8 400z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'fad',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", [\"M64 384c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H64z\", \"M314.7 234.7L283.2 108.9C267.2 44.9 209.7 0 143.8 0h-3.4C62.8 0 0 62.8 0 140.3c0 13 1.8 26 5.4 38.6L64 384H352l79.2-85.8c10.8-11.7 16.8-27 16.8-42.9c0-34.9-28.3-63.3-63.3-63.3H382c-19 0-37.2 8.2-49.7 22.6l-17.6 20.1z\"]]\n};\nvar faReplyClock = {\n prefix: 'fad',\n iconName: 'reply-clock',\n icon: [640, 512, [\"reply-time\"], \"e239\", [\"M511.2 319.4c-5 .4-10.1 .6-15.2 .6c-91.8 0-167.2-70.3-175.3-160H224V96c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144C3.9 222.3 0 230.9 0 240s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V320h96c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C430.5 499.9 512 449.3 512 336c0-5.6-.3-11.2-.8-16.6z\", \"M496 288A144 144 0 1 0 496 0a144 144 0 1 0 0 288zM512 80v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faReplyTime = faReplyClock;\nvar faPersonRays = {\n prefix: 'fad',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", [\"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9l-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L328 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H248z\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM471 7L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm464 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80z\"]]\n};\nvar faRight = {\n prefix: 'fad',\n iconName: 'right',\n icon: [448, 512, [11157, \"arrow-alt-right\"], \"f356\", [\"M224 192V320L40 320c-22.1 0-40-17.9-40-40V232c0-22.1 17.9-40 40-40H224z\", \"M224 320h0l0 96c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 96h0V320z\"]]\n};\nvar faArrowAltRight = faRight;\nvar faCircleF = {\n prefix: 'fad',\n iconName: 'circle-f',\n icon: [512, 512, [], \"e10e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24z\", \"M160 152c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152z\"]]\n};\nvar faUsers = {\n prefix: 'fad',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", [\"M224 80A80 80 0 1 0 64 80a80 80 0 1 0 160 0zm368 0A80 80 0 1 0 432 80a80 80 0 1 0 160 0zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7zm298 128c.2 0 .4 0 .7 0H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 38.2-16.8 72.5-43.3 96z\", \"M320 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-58.7 32C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c14.7 0 26.7-11.9 26.7-26.7C512 411.7 452.3 352 378.7 352H261.3z\"]]\n};\nvar faFacePleading = {\n prefix: 'fad',\n iconName: 'face-pleading',\n icon: [512, 512, [], \"e386\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM302.7 427.9c6.6-5.9 7.1-16 1.2-22.6C294.7 395.1 278.7 384 256 384s-38.7 11.1-47.9 21.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c4.7-5.3 12.7-10.7 24.1-10.7s19.4 5.4 24.1 10.7c5.9 6.6 16 7.1 22.6 1.2zM240 240c0-41.5-31.5-75.6-72-79.6c10-10.8 17.6-24.1 21.9-38.8l1.5-5.2c2.4-8.5-2.5-17.4-11-19.8s-17.4 2.5-19.8 11l-1.5 5.2c-7 24.7-28.1 42.7-53.6 45.9L94 160.1c-8.8 1.1-15 9.1-13.9 17.9c1 8.1 7.9 14 15.9 14c-10 13.4-16 30-16 48c0 44.2 35.8 80 80 80s80-35.8 80-80zm192 0c0-18-6-34.6-16-48c8 0 14.9-5.9 15.9-14c1.1-8.8-5.1-16.8-13.9-17.9l-11.5-1.4c-25.5-3.2-46.6-21.3-53.6-45.9l-1.5-5.2c-2.4-8.5-11.3-13.4-19.8-11s-13.4 11.3-11 19.8l1.5 5.2c4.2 14.8 11.8 28 21.9 38.8c-40.4 4-72 38.1-72 79.6c0 44.2 35.8 80 80 80s80-35.8 80-80z\", \"M191.4 116.4l-1.5 5.2c-10.6 37-42.2 64.1-80.4 68.9L98 191.9c-8.8 1.1-16.8-5.1-17.9-13.9s5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8zm129.2 0c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9s-9.1 15-17.9 13.9l-11.5-1.4c-38.2-4.8-69.8-31.9-80.4-68.9l-1.5-5.2zM128 232c17.7 0 32-14.3 32-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4zm224-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4c17.7 0 32-14.3 32-32z\"]]\n};\nvar faEyeSlash = {\n prefix: 'fad',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", [\"M360.8 380.3C339.4 392.8 314.6 400 288 400c-79.5 0-144-64.5-144-144c0-14.5 2.1-28.5 6.1-41.7L63.5 146c-29.4 34.7-49.9 70.8-61.1 97.6c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480c56.1 0 104.4-17.8 144.5-43.2l-71.7-56.5zM198.5 252.4c-3.7 .8-6.7 3.7-6.5 7.7c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9c1.9-.5 3.9-1.1 5.7-1.7l-120-94.6zm89-52.4l94.8 74.3c2.7-13.9 2.4-28.6-1.5-43.2c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 2.7-.2 5.4-.5 8zM432 256c0 17.7-3.2 34.6-9 50.2l84.1 65.9c32.3-36.6 54.6-75.4 66.4-103.9c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32c-60 0-111.1 20.3-152.8 48.7L207 136.9c23.1-15.7 51-24.9 81-24.9c79.5 0 144 64.5 144 144z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faFlaskVial = {\n prefix: 'fad',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", [\"M175 389.4l49-79.6V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 96 32C14.3 0 0 14.3 0 32S14.3 64 32 64V352c0 53 43 96 96 96c11.2 0 22-1.9 32-5.5c0-18.7 5.2-37.1 15-53.1zM96 64h64v96H96V64z\", \"M480 0H352 320c-17.7 0-32 14.3-32 32s14.3 32 32 32V214.9L202.3 406.2c-6.7 10.9-10.3 23.5-10.3 36.4c0 38.3 31.1 69.4 69.4 69.4H570.6c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L512 214.9V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H480zM384 224V64h64V224c0 5.9 1.6 11.7 4.7 16.8L501.5 320h-171l48.8-79.2c3.1-5 4.7-10.8 4.7-16.8z\"]]\n};\nvar faPoliceBox = {\n prefix: 'fad',\n iconName: 'police-box',\n icon: [384, 512, [], \"e021\", [\"M208 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32h32V16zM104 128c-4.4 0-8 3.6-8 8v24h32V128H104zm24 48H96v24c0 4.4 3.6 8 8 8h24V176zm16-48v32h32V136c0-4.4-3.6-8-8-8H144zm32 48H144v32h24c4.4 0 8-3.6 8-8V176zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM208 136v24h32V128H216c-4.4 0-8 3.6-8 8zm0 40v24c0 4.4 3.6 8 8 8h24V176H208zm72-48H256v32h32V136c0-4.4-3.6-8-8-8zm-24 48v32h24c4.4 0 8-3.6 8-8V176H256z\", \"M96 32C78.3 32 64 46.3 64 64C46.3 64 32 78.3 32 96V464H352V96c0-17.7-14.3-32-32-32c0-17.7-14.3-32-32-32H96zm0 104c0-4.4 3.6-8 8-8h24v32H96V136zm0 40h32v32H104c-4.4 0-8-3.6-8-8V176zm72-48c4.4 0 8 3.6 8 8v24H144V128h24zm-24 48h32v24c0 4.4-3.6 8-8 8H144V176zm72-48h24v32H208V136c0-4.4 3.6-8 8-8zm24 48v32H216c-4.4 0-8-3.6-8-8V176h32zm16-48h24c4.4 0 8 3.6 8 8v24H256V128zm32 48v24c0 4.4-3.6 8-8 8H256V176h32zM96 256c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V256z\"]]\n};\nvar faCucumber = {\n prefix: 'fad',\n iconName: 'cucumber',\n icon: [512, 512, [129362], \"e401\", [\"M376 112a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM280 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-136 8a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M37.5 474.5c47.8 47.8 124 49.9 174.3 6.3c12.6 10.3 31.1 9.6 42.9-2.2c11.6-11.6 12.4-30 2.4-42.6L436 257c12.6 10.1 31 9.3 42.6-2.4c11.7-11.7 12.5-30.3 2.2-42.9c43.6-50.3 41.5-126.5-6.3-174.3c-50-50-131-50-181 0L172 159c-12.6-10.1-31-9.3-42.6 2.4s-12.4 30-2.4 42.6L37.5 293.5c-50 50-50 131 0 181zM400 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM304 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM120 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faHeadSideBrain = {\n prefix: 'fad',\n iconName: 'head-side-brain',\n icon: [512, 512, [], \"f808\", [\"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM285.3 208H336c26.5 0 48-21.5 48-48s-21.5-48-48-48c-.9 0-1.8 0-2.7 .1C326.7 93.4 308.9 80 288 80c-8.6 0-16.6 2.2-23.5 6.2C255.9 72.8 241 64 224 64s-31.9 8.8-40.5 22.2c-7-3.9-15-6.2-23.5-6.2c-26.5 0-48 21.5-48 48c-26.5 0-48 21.5-48 48c0 20.9 13.4 38.7 32.1 45.3c0 .9-.1 1.8-.1 2.7c0 26.5 21.5 48 48 48c5.6 0 11-1 16-2.7V288c0 17.7 14.3 32 32 32s32-14.3 32-32V269.3c5 1.8 10.4 2.7 16 2.7c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16zM160 176v2.7l-.1 0c0-.9 .1-1.8 .1-2.7z\", \"M336 208H285.3c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48c-5.6 0-11-1-16-2.7V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V269.3c-5 1.8-10.4 2.7-16 2.7c-26.5 0-48-21.5-48-48c0-.9 0-1.8 .1-2.7C77.4 214.7 64 196.9 64 176c0-26.5 21.5-48 48-48c0-26.5 21.5-48 48-48c8.6 0 16.6 2.2 23.5 6.2C192.1 72.8 207 64 224 64s31.9 8.8 40.5 22.2c7-3.9 15-6.2 23.5-6.2c20.9 0 38.7 13.4 45.3 32.1c.9 0 1.8-.1 2.7-.1c26.5 0 48 21.5 48 48s-21.5 48-48 48zM159.9 178.7l.1 0V176c0 .9 0 1.8-.1 2.7z\"]]\n};\nvar faHand = {\n prefix: 'fad',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", [\"M256 0c17.7 0 32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176H284.8c-59.6 0-116.9-22.9-160-64L12.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4l60.5 57.6c0-1.5-.1-3.1-.1-4.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32c0-17.7 14.3-32 32-32zM192 336c0 8.8 7.2 16 16 16h8c39.8 0 72 32.2 72 72v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-27.9-11-53.3-29-72h77c8.8 0 16-7.2 16-16s-7.2-16-16-16H216h-8c-8.8 0-16 7.2-16 16z\", \"M208 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h8c39.8 0 72 32.2 72 72v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-27.9-11-53.3-29-72h77c8.8 0 16-7.2 16-16s-7.2-16-16-16H216h-8z\"]]\n};\nvar faHandPaper = faHand;\nvar faPersonBikingMountain = {\n prefix: 'fad',\n iconName: 'person-biking-mountain',\n icon: [640, 512, [128693, \"biking-mountain\"], \"f84b\", [\"M96.2 276.6C97.9 264.9 107.9 256 120 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C158.1 503.1 148.1 512 136 512H120c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L31.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C8.9 414.1 0 404.1 0 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM192 384A64 64 0 1 0 64 384a64 64 0 1 0 128 0zM480.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C542.1 503.1 532.1 512 520 512H504c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C392.9 414.1 384 404.1 384 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM576 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M448 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM427.2 160l-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6L288 305.1V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H427.2zm-238.8 6.7L290.8 89.9c7.2-5.4 8.5-15.7 2.9-22.8L278.8 48.4c-21.6-27-60.7-32-88.4-11.2L125.2 86.1c-7.2 5.4-8.5 15.7-2.9 22.8l44 55c5.4 6.7 15.2 8 22.1 2.8z\"]]\n};\nvar faBikingMountain = faPersonBikingMountain;\nvar faUtensilsSlash = {\n prefix: 'fad',\n iconName: 'utensils-slash',\n icon: [640, 512, [], \"e464\", [\"M544 401.1V352 240 32c0-17.7-14.3-32-32-32C496 0 384 32 384 176v99.7L544 401.1zM306.4 214.9c8.6-13.6 13.6-29.7 13.6-47c0-6.4-.7-12.8-2.1-19.1L287.6 12.5c-1.8-8-9.3-13.3-17.4-12.4S256 7.8 256 16V150.2c0 5.4-4.4 9.8-9.8 9.8c-5.1 0-9.3-3.9-9.8-9L223.9 14.6C223.2 6.3 216.3 0 208 0s-15.2 6.3-15.9 14.6l-9.4 103.3 123.8 97zM160 100.1V16c0-8.2-6.1-15-14.3-15.9s-15.6 4.5-17.4 12.4L116.5 66 160 100.1zm80 185L96.1 171.7c1.9 44.2 36.3 80 79.9 83.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V285.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faPrintMagnifyingGlass = {\n prefix: 'fad',\n iconName: 'print-magnifying-glass',\n icon: [640, 512, [\"print-search\"], \"f81a\", [\"M128 64v96h64V64H418.7L448 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L464 18.7C452 6.7 435.7 0 418.7 0H192c-35.3 0-64 28.7-64 64zM352 192H128c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32h32v64c0 35.3 28.7 64 64 64H448c24.4 0 45.6-13.7 56.4-33.8l-6.3-6.3c-15.8 5.2-32.6 8-50.2 8c-36 0-69.3-11.9-96-32H192V384 368 352h99.2c-2.1-10.3-3.2-21-3.2-32c0-52.3 25.1-98.8 64-128z\", \"M528 320.1a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM519.9 426c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426z\"]]\n};\nvar faPrintSearch = faPrintMagnifyingGlass;\nvar faFolderBookmark = {\n prefix: 'fad',\n iconName: 'folder-bookmark',\n icon: [512, 512, [], \"e186\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8V336c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L368 308l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.2 8.8-14.3V96c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64z\", \"M288 96V336c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L368 308l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.2 8.8-14.3V96H288z\"]]\n};\nvar faOm = {\n prefix: 'fad',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", [\"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zm-98.4 62c-6-4-14-3.5-19.5 1.3s-7 12.7-3.7 19.2L272 80c-14.3 7.2-14.3 7.2-14.3 7.2l0 0 0 0 0 .1 .1 .2 .4 .7c.3 .6 .8 1.4 1.4 2.4c1.2 2 2.9 4.8 5.1 8.2c4.4 6.7 11.1 15.5 20 24.4C302.4 141.1 330.3 160 368 160c31.2 0 56.6-10.4 73.9-20.2c8.7-5 15.6-9.9 20.4-13.8c2.4-1.9 4.3-3.6 5.7-4.9c.7-.6 1.3-1.2 1.7-1.6l.6-.5 .2-.2 .1-.1 0 0 0 0c0 0 0 0-22.6-22.6l22.6 22.6c12.5-12.5 12.5-32.8 0-45.3c-12.4-12.4-32.6-12.5-45.1-.2c-.1 .1-.2 .2-.5 .4c-.5 .5-1.5 1.3-2.8 2.4c-2.7 2.2-6.8 5.2-12.1 8.2C399.4 90.4 384.8 96 368 96c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2 0 0 0 0 0 0z\", \"M115.2 169.6c8-6 17.9-9.6 28.8-9.6c26.5 0 48 21.5 48 48s-21.5 48-48 48H109.8c-7.6 0-13.8 6.2-13.8 13.8c0 1.5 .2 2.9 .7 4.4l8 24c4.4 13.1 16.6 21.9 30.4 21.9H144h16s0 0 0 0c35.3 0 64 28.7 64 64s-28.7 64-64 64c-50.8 0-82.7-21.5-102.2-42.8c-9.9-10.8-16.6-21.6-20.9-29.7c-2.1-4-3.6-7.3-4.5-9.6c-.5-1.1-.8-2-1-2.5l-.2-.5 0-.1c-2.6-7.8-10.7-12.3-18.7-10.5C4.4 354.2-.9 361.8 .1 370L16 368C.1 370 .1 370 .1 370l0 0 0 0 0 .1 .1 .4c0 .3 .1 .8 .2 1.3c.2 1.1 .4 2.7 .8 4.6c.8 3.9 2 9.4 3.9 15.9c3.8 13 10.3 30.4 21.3 48C48.7 476.2 89.4 512 160 512c70.7 0 128-57.3 128-128c0-23.3-6.2-45.2-17.1-64h22.6c25.5 0 49.9-10.1 67.9-28.1l26.5-26.5c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.3 0 0c0 0 0 0 0 0c-1.9-7.3-8.6-12.4-16.2-12.1c-7.6 .3-13.9 5.9-15.1 13.4L336 368c-15.8-2.6-15.8-2.6-15.8-2.6l0 0 0 0 0 .1-.1 .3-.1 .5-.1 .6c-.1 .9-.3 2.1-.4 3.6c-.3 3-.6 7.3-.6 12.4c0 10.1 1.1 23.9 5.8 38.1c4.8 14.3 13.4 29.3 28.6 40.7C368.7 473.3 389.3 480 416 480c53 0 96-43 96-96V288c0-53-43-96-96-96h-5.5c-25.5 0-49.9 10.1-67.9 28.1l-26.5 26.5c-6 6-14.1 9.4-22.6 9.4H245.2c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112c-25.2 0-48.5 8.3-67.2 22.4c-14.1 10.6-17 30.7-6.4 44.8s30.7 17 44.8 6.4z\"]]\n};\nvar faPi = {\n prefix: 'fad',\n iconName: 'pi',\n icon: [448, 512, [], \"f67e\", [\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H96V284c0 39.7-9.3 78.9-27 114.5l-1.6 3.2c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l1.6-3.2C148.4 382.7 160 333.7 160 284V128H288V366.6c0 45 36.5 81.4 81.4 81.4c30.8 0 59-17.4 72.8-45l2.3-4.7c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3l-2.3 4.7c-3 5.9-9 9.6-15.6 9.6c-9.6 0-17.4-7.8-17.4-17.4V128h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"\"]]\n};\nvar faFlaskRoundPotion = {\n prefix: 'fad',\n iconName: 'flask-round-potion',\n icon: [448, 512, [\"flask-potion\"], \"f6e1\", [\"M192 157.7c0 30.4-16.9 56.1-40.3 69.7C108.7 252.5 80 298.9 80 352c0 36.9 13.8 70.5 36.7 96H331.3c22.9-25.5 36.7-59.1 36.7-96c0-53.1-28.7-99.5-71.7-124.6c-23.4-13.6-40.3-39.3-40.3-69.7V64H192v93.7zM320 64v93.7c0 6 3.3 11.4 8.5 14.4C390.4 208.2 432 275.2 432 352c0 56-22.1 106.9-58.2 144.3C363.5 507 348.7 512 333.8 512H114.2c-14.9 0-29.7-5-40.1-15.7C38.1 458.9 16 408 16 352c0-76.8 41.6-143.8 103.5-179.9c5.2-3 8.5-8.4 8.5-14.4V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h16H304h16c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M368 351.8c-58.6-1.7-85.4-12.6-109.9-22.6c-22-9-42.2-17.2-82.1-17.2c-42.3 0-73.4 9.2-94.5 18.8c-1 6.9-1.5 14-1.5 21.2c0 36.9 13.8 70.5 36.7 96H331.3c22.9-25.5 36.7-59.1 36.7-96c0-.1 0-.1 0-.2z\"]]\n};\nvar faFlaskPotion = faFlaskRoundPotion;\nvar faFaceShush = {\n prefix: 'fad',\n iconName: 'face-shush',\n icon: [512, 512, [], \"e38c\", [\"M0 256C0 359.8 61.8 449.1 150.5 489.3c-4.2-10.3-6.5-21.5-6.5-33.3V432 408c0-37.3 23.2-69.2 56-82V275.9c-14.8-6.9-26.6-15.9-35.3-24.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0c3.7 3.7 8.1 7.4 13.3 10.9c4-27 27.3-47.6 55.4-47.6s51.3 20.7 55.4 47.6c5.2-3.5 9.6-7.3 13.3-10.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6c-8.7 8.7-20.5 17.7-35.3 24.6v58.3c17.9 11.7 31.3 29.7 37 50.9c16-3.2 33.3 .6 46.9 11.9c18.4 15.3 24.5 39.9 17.1 61.3c60.3-46.8 99-120 99-202.3C512 114.6 397.4 0 256 0S0 114.6 0 256zM176.4 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M272 416c0 13.3 10.7 24 24 24s24-10.7 24-24H272zm8-168c0-13.3-10.7-24-24-24s-24 10.7-24 24h48zm98.4 207.4c8.5-10.2 7.1-25.3-3.1-33.8s-25.3-7.1-33.8 3.1l36.9 30.7zm-44 15.4l18.4 15.4-18.4-15.4zM280 464H232v48h48V464zm-56-8V432H176v24h48zm0-24V408H176v24h48zm8-32h32V352H232v48zm40 8v8h48v-8H272zm21.8 60.3l-80-56-27.5 39.3 80 56 27.5-39.3zM232 248v72h48V248H232zm48 264h17.5V464H280v48zm72.8-25.9l25.6-30.7-36.9-30.7L316 455.4l36.9 30.7zM297.5 512c21.4 0 41.6-9.5 55.3-25.9L316 455.4c-4.6 5.5-11.3 8.6-18.4 8.6v48zM264 400c4.4 0 8 3.6 8 8h48c0-30.9-25.1-56-56-56v48zm-40 8c0-4.4 3.6-8 8-8V352c-30.9 0-56 25.1-56 56h48zm8 56c-4.4 0-8-3.6-8-8H176c0 30.9 25.1 56 56 56V464z\"]]\n};\nvar faWorm = {\n prefix: 'fad',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", [\"M288 96c0-53 43-96 96-96h38.4C471.9 0 512 40.1 512 89.6V176v16V360c0 83.9-68.1 152-152 152s-152-68.1-152-152V312c0-30.9-25.1-56-56-56s-56 25.1-56 56V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V312c0-83.9 68.1-152 152-152s152 68.1 152 152v48c0 30.9 25.1 56 56 56s56-25.1 56-56V192H384c-53 0-96-43-96-96zm144-8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\", \"M384 88a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faHouseCircleXmark = {\n prefix: 'fad',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", [\"M496 192c-91.8 0-167.2 70.3-175.3 160l-.7 0H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faPlug = {\n prefix: 'fad',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", [\"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V160h64V32zm192 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V160h64V32z\", \"M0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32v32c0 77.4-55 142-128 156.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faCalendarCircleExclamation = {\n prefix: 'fad',\n iconName: 'calendar-circle-exclamation',\n icon: [576, 512, [], \"e46e\", [\"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32zM416 192.7c-89.7 8.1-160 83.5-160 175.3c0 59.5 29.6 112.1 74.8 144H48c-26.5 0-48-21.5-48-48V192H416v.7z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faSquareI = {\n prefix: 'fad',\n iconName: 'square-i',\n icon: [448, 512, [], \"e272\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 152c0-13.3 10.7-24 24-24h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faChevronUp = {\n prefix: 'fad',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", [\"M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z\", \"\"]]\n};\nvar faFaceSaluting = {\n prefix: 'fad',\n iconName: 'face-saluting',\n icon: [640, 512, [129761], \"e484\", [\"M352 0c-18.4 0-36.3 1.9-53.5 5.6c12.6 27.9 3.8 61.6-22.4 79.4l-54.6 37c8.6 4.4 16.3 10.9 22.3 19.2c8.6 11.9 12.6 25.7 12.2 39.3c4.8-2.8 10.4-4.5 16.3-4.5c17.7 0 32 14.3 32 32s-14.3 32-32 32c-13.9 0-25.8-8.9-30.2-21.4c-3.5 4.4-7.7 8.5-12.5 12l-82.3 59.9c-13.9 10.1-29.5 16.6-45.6 19.6C126.5 425.5 229.1 512 352 512c141.4 0 256-114.6 256-256S493.4 0 352 0zM257.4 341c17.5 12.6 48.9 27 94.6 27s77.2-14.4 94.6-27c7.2-5.2 17.2-3.5 22.3 3.6s3.5 17.2-3.6 22.3c-22.7 16.4-60.7 33-113.4 33s-90.6-16.6-113.4-33c-7.2-5.2-8.8-15.2-3.6-22.3s15.2-8.8 22.3-3.6zm175-165a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M258.1 58.5c14.6-9.9 18.4-29.8 8.5-44.4S236.8-4.4 222.2 5.5L35.1 132.5c-44.3 30.1-47.1 94.4-5.6 128.2l1.5 1.2c28.1 22.9 68.2 24 97.5 2.7l82.3-59.9c14.3-10.4 17.5-30.4 7.1-44.7s-30.4-17.5-44.7-7.1L128 185.8V146.8L258.1 58.5z\"]]\n};\nvar faGaugeSimpleLow = {\n prefix: 'fad',\n iconName: 'gauge-simple-low',\n icon: [512, 512, [\"tachometer-slow\"], \"f62c\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-35.3-28.7-64-64-64c-2.1 0-4.1 .1-6.1 .3L173.3 140.9c-6.1-11.8-20.6-16.3-32.4-10.2s-16.3 20.6-10.2 32.4l76.6 147.4C197.8 321.6 192 336.1 192 352c0 35.3 28.7 64 64 64s64-28.7 64-64z\", \"M173.3 140.9c-6.1-11.8-20.6-16.3-32.4-10.2s-16.3 20.6-10.2 32.4l76.6 147.4C197.8 321.6 192 336.1 192 352c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-2.1 0-4.1 .1-6.1 .3L173.3 140.9z\"]]\n};\nvar faTachometerSlow = faGaugeSimpleLow;\nvar faFacePersevering = {\n prefix: 'fad',\n iconName: 'face-persevering',\n icon: [512, 512, [], \"e385\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm60.1-101.3c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zm-104.8-310c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4zM133.5 210.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 221.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\", \"M211.3 123.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4zm89.4 0l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM133.5 210.7c-7.9-4.2-17.5 1.5-17.5 10.5c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9zM396 221.1c0-9-9.6-14.7-17.5-10.5l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6z\"]]\n};\nvar faCircleCamera = {\n prefix: 'fad',\n iconName: 'circle-camera',\n icon: [512, 512, [\"camera-circle\"], \"e103\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM202.2 143.6c3.5-9.4 12.5-15.6 22.5-15.6h62.7c10 0 19 6.2 22.5 15.6L316 160h36c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h36l6.2-16.4z\", \"M202.2 143.6L196 160H160c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H316l-6.2-16.4c-3.5-9.4-12.5-15.6-22.5-15.6H224.6c-10 0-19 6.2-22.5 15.6zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faCameraCircle = faCircleCamera;\nvar faHandSpock = {\n prefix: 'fad',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", [\"M207.7 1.1c17.1-4.6 34.6 5.6 39.2 22.6l57 212.8C307 248 317.4 256 329.3 256c12.4 0 23.2-8.7 25.8-20.9L392.7 57.4c3.7-17.3 20.6-28.3 37.9-24.7s28.3 20.6 24.7 37.9l-36 170.3c-1.6 7.8 4.3 15.1 12.2 15.1c5.5 0 10.4-3.6 12-8.9l37.9-128.1c5-16.9 22.8-26.6 39.8-21.6s26.6 22.8 21.6 39.8L461.5 412c-16.7 56.6-67 96.2-125.3 99.7c-.1 0-.1 .1-.1 .1s-.1 .1-.1 .1h-8.2H316.8c-59.6 0-116.9-22.9-160-64L44.4 341c-16-15.2-16.6-40.6-1.4-56.6s40.6-16.6 56.6-1.4L155 335.8c6 5.7 15.6-.3 13.2-8.1L105.4 121.3c-5.1-16.9 4.4-34.8 21.3-39.9s34.8 4.4 39.9 21.3l43.5 143.1c1.9 6.1 7.5 10.3 13.9 10.3c9.5 0 16.4-9 14-18.2L185.1 40.3c-4.6-17.1 5.6-34.6 22.6-39.2zM224 336c0 8.8 7.2 16 16 16h8c39.8 0 72 32.2 72 72v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-27.9-11-53.3-29-72h77c8.8 0 16-7.2 16-16s-7.2-16-16-16H248h-8c-8.8 0-16 7.2-16 16z\", \"M240 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h8c39.8 0 72 32.2 72 72v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-27.9-11-53.3-29-72h77c8.8 0 16-7.2 16-16s-7.2-16-16-16H248h-8z\"]]\n};\nvar faSpiderWeb = {\n prefix: 'fad',\n iconName: 'spider-web',\n icon: [576, 512, [128376], \"f719\", [\"M165.3 97.7L178 63.9l36.4 6.8L235.1 107l.8 .1c34.4 6.1 69.7 6.1 104.1 0l.8-.1 20.8-36.4L398 63.9l12.7 33.8-22.2 38.9 .7 2c11.5 32.5 28.5 62.8 50.4 89.4h44.6l23.3 28-23.3 28H439.6c-21.9 26.6-38.9 56.9-50.4 89.4l-.7 2 22.2 38.9L398 448.1l-36.4-6.8L340.9 405l-.8-.2c-34.4-6.1-69.7-6.1-104.1 0l-.8 .2-20.8 36.4L178 448.1l-12.7-33.8 22.2-38.9-.7-2c-11.5-32.5-28.5-62.8-50.4-89.4H91.8L68.4 256l23.3-28h44.6c21.9-26.6 38.9-56.9 50.4-89.4l.7-2L165.3 97.7zM239.8 228l-22.1-38.7c-6.4 13.4-13.7 26.3-21.8 38.7h43.9zM288 199.6L311.2 159c-15.4 1-30.9 1-46.3 0L288 199.6zM336.2 228h43.9c-8.1-12.4-15.4-25.3-21.8-38.7L336.2 228zm0 56l22.1 38.7c6.4-13.4 13.7-26.3 21.8-38.7H336.2zM288 312.4L264.8 353c15.4-1 30.9-1 46.3 0L288 312.4zM239.8 284H195.8c8.1 12.4 15.4 25.3 21.8 38.7L239.8 284z\", \"M133.8 22.2c4.8-12.7 18-20.2 31.4-17.7l69 12.9c35.6 6.7 72.1 6.7 107.6 0l69-12.9c13.4-2.5 26.6 5 31.4 17.7l28.9 77.2c11.5 30.7 28.1 59.2 49.1 84.4l45.3 54.3c8.7 10.4 8.7 25.5 0 35.9l-45.3 54.3c-21 25.2-37.6 53.7-49.1 84.4l-28.9 77.2c-4.8 12.7-18 20.2-31.4 17.7l-69-12.9c-35.6-6.7-72.1-6.7-107.6 0l-69 12.9c-13.4 2.5-26.6-5-31.4-17.7l-28.9-77.2C93.3 382 76.7 353.4 55.7 328.2L10.5 273.9c-8.7-10.4-8.7-25.5 0-35.9l45.3-54.3c21-25.2 37.6-53.7 49.1-84.4l28.9-77.2zM178 63.9L157.3 119c-13.7 36.6-33.5 70.6-58.5 100.6L68.4 256l30.3 36.4c25 30 44.8 64 58.5 100.6L178 448.1l45.9-8.6c42.4-7.9 85.9-7.9 128.3 0l45.9 8.6L418.7 393c13.7-36.6 33.5-70.6 58.5-100.6L507.6 256l-30.3-36.4c-25-30-44.8-64-58.5-100.6L398 63.9l-45.9 8.6c-42.4 7.9-85.9 7.9-128.3 0L178 63.9z\"]]\n};\nvar faCircleMicrophone = {\n prefix: 'fad',\n iconName: 'circle-microphone',\n icon: [512, 512, [\"microphone-circle\"], \"e116\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256c0 26.5-21.5 48-48 48s-48-21.5-48-48V144zm-64 80c8.8 0 16 7.2 16 16v16c0 53 43 96 96 96s96-43 96-96V240c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 65.3-48.9 119.1-112 127v17c0 8.8-7.2 16-16 16s-16-7.2-16-16V383c-63.1-7.9-112-61.7-112-127V240c0-8.8 7.2-16 16-16z\", \"M256 96c-26.5 0-48 21.5-48 48V256c0 26.5 21.5 48 48 48s48-21.5 48-48V144c0-26.5-21.5-48-48-48zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 65.3 48.9 119.1 112 127v17c0 8.8 7.2 16 16 16s16-7.2 16-16V383c63.1-7.9 112-61.7 112-127V240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53-43 96-96 96s-96-43-96-96V240z\"]]\n};\nvar faMicrophoneCircle = faCircleMicrophone;\nvar faBookArrowUp = {\n prefix: 'fad',\n iconName: 'book-arrow-up',\n icon: [448, 512, [], \"e0ba\", [\"M216 384H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H216V384zm48 64H416V384H264v64z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H216V448H96c-17.7 0-32-14.3-32-32s14.3-32 32-32H216l0-174.1-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39V384h88 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zM264 448v64H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 264z\"]]\n};\nvar faPopsicle = {\n prefix: 'fad',\n iconName: 'popsicle',\n icon: [320, 512, [], \"e43e\", [\"M160 0C71.6 0 0 71.6 0 160V336c0 26.5 21.5 48 48 48h80V192c0-17.7 14.3-32 32-32s32 14.3 32 32V384h80c26.5 0 48-21.5 48-48V160C320 71.6 248.4 0 160 0z\", \"M128 192c0-17.7 14.3-32 32-32s32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V192z\"]]\n};\nvar faCommand = {\n prefix: 'fad',\n iconName: 'command',\n icon: [512, 512, [], \"e142\", [\"M320 128V96c0-53 43-96 96-96s96 43 96 96s-43 96-96 96H384V320H320V192 128zM192 320v64 32c0 53-43 96-96 96s-96-43-96-96s43-96 96-96h32V192h64V320zm-64 64H96c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32V384zM384 128h32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32v32z\", \"M0 96C0 43 43 0 96 0s96 43 96 96v32H320v64H192 128 96h0C43 192 0 149 0 96zM320 320h64 32c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96V384H192V320H320zM128 128V96c0-17.7-14.3-32-32-32S64 78.3 64 96s14.3 32 32 32h32zM384 384v32c0 17.7 14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32H384z\"]]\n};\nvar faBlinds = {\n prefix: 'fad',\n iconName: 'blinds',\n icon: [512, 512, [], \"f8fb\", [\"M15 59.1L1.1 100.8c-.7 2.1-1.1 4.3-1.1 6.5C0 118.8 9.2 128 20.6 128H128V64H32c-6.3 0-12.1-1.8-17-4.9zM160 64v64H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L497 59.1c-4.9 3.1-10.8 4.9-17 4.9H160zM24 160L1.1 228.8c-.7 2.1-1.1 4.3-1.1 6.5C0 246.8 9.2 256 20.6 256H98.7c4.8-13.6 15.6-24.4 29.3-29.3V160H24zM144 320c-20.9 0-38.7-13.4-45.3-32H24L1.1 356.8c-.7 2.1-1.1 4.3-1.1 6.5C0 374.8 9.2 384 20.6 384H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 288H189.3c-6.6 18.6-24.4 32-45.3 32zm16-93.3c13.6 4.8 24.4 15.6 29.3 29.3H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 160H160v66.7zM20.6 512H491.4c11.4 0 20.6-9.2 20.6-20.6c0-2.2-.4-4.4-1.1-6.5L488 416H24L1.1 484.8c-.7 2.1-1.1 4.3-1.1 6.5C0 502.8 9.2 512 20.6 512z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64h96V226.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V64H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faStopwatch = {\n prefix: 'fad',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", [\"M224 512a208 208 0 1 0 0-416 208 208 0 1 0 0 416zm24-320V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M144 32c0-17.7 14.3-32 32-32h48 48c17.7 0 32 14.3 32 32s-14.3 32-32 32H256V98.4c-10.4-1.6-21.1-2.4-32-2.4s-21.6 .8-32 2.4V64H176c-17.7 0-32-14.3-32-32zM355.7 143l21.6-21.6c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-24.1 24.1c-11.7-18-26.2-34.1-42.8-47.7zM248 192V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faSaxophone = {\n prefix: 'fad',\n iconName: 'saxophone',\n icon: [640, 512, [127927], \"f8dc\", [\"M246.7 176L171.4 306.1c-2.2 3.8-3.4 8.2-3.4 12.6v2.6c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L319 225l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8L367 177l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8L415 129l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8 44.3-44.3c12-12 28.3-18.7 45.3-18.7h30.3c15 0 29.5 5.2 41 14.8l24.3 20.3c3.7 3.1 5.9 7.7 5.9 12.6c0 9-7.3 16.3-16.3 16.3H559.5c-9.8 0-19 4.5-25.1 12.1L288.6 418.6C257.9 457.4 211.2 480 161.8 480C72.4 480 0 407.6 0 318.2v-3.1c0-12.7 1.5-25.4 4.4-37.8L28.2 176H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H246.7zM120 320a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm8-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M319 225L353 191l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8 8zm48-48L401 143l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8 8zm48-48L449 95l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8 8zM152 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-32 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faSquare2 = {\n prefix: 'fad',\n iconName: 'square-2',\n icon: [448, 512, [], \"e257\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM190.7 184.7l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L212.7 336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L244.3 240.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1c-9.1-.1-18 2.8-25.3 8.3z\", \"M216 176.3c-9.1-.1-18 2.8-25.3 8.3l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L212.7 336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L244.3 240.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1z\"]]\n};\nvar faFieldHockeyStickBall = {\n prefix: 'fad',\n iconName: 'field-hockey-stick-ball',\n icon: [512, 512, [127953, \"field-hockey\"], \"f44c\", [\"M491.2 8.5c21.8 15.1 27.3 45 12.2 66.8L442.1 164l-79.9-53.3 62.2-90c15.1-21.8 45-27.3 66.8-12.2zM432 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M442.1 164l-79.9-53.3L162 400.3c-6.7 9.7-17.7 15.4-29.4 15.5c-20 .1-36.1-16.2-36-36.1l0-2.2c.1-7.3 2.2-14.4 6.2-20.6l17.3-26.5c14.5-22.2 8.3-51.9-13.9-66.4s-51.9-8.3-66.4 13.9L22.5 304.3C8.4 325.8 .8 350.9 .6 376.7l0 2.2C.1 452.3 59.5 512 132.9 511.8c43.2-.1 83.5-21.4 108.1-56.9L442.1 164z\"]]\n};\nvar faFieldHockey = faFieldHockeyStickBall;\nvar faArrowUpSquareTriangle = {\n prefix: 'fad',\n iconName: 'arrow-up-square-triangle',\n icon: [576, 512, [\"sort-shapes-up-alt\"], \"f88b\", [\"M368 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm48 256c11 0 21.3 5.7 27.1 15l80 128c6.2 9.9 6.5 22.3 .9 32.5s-16.4 16.5-28 16.5H336c-11.6 0-22.3-6.3-28-16.5s-5.3-22.6 .9-32.5l80-128c5.8-9.4 16.1-15 27.1-15z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortShapesUpAlt = faArrowUpSquareTriangle;\nvar faFaceScream = {\n prefix: 'fad',\n iconName: 'face-scream',\n icon: [640, 512, [], \"e38b\", [\"M573.9 288.5c1.4-10.7 2.1-21.5 2.1-32.5C576 114.6 461.4 0 320 0S64 114.6 64 256c0 11 .7 21.9 2.1 32.6c20.6-2.5 41.7 3.5 57.8 16.9l0 0c57.5 48 87.8 118 98 187C252.1 505.1 285.2 512 320 512c34.8 0 68-6.9 98.2-19.5c10.2-69 40.4-139 98-187l0 0c16.1-13.4 37.2-19.4 57.8-17zM320 320c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm-46.6-77c-22.5 36.9-62.8 54.7-90.1 39.8s-31.1-56.9-8.7-93.7s62.8-54.7 90.1-39.8s31.1 56.9 8.7 93.7zm183.3 39.8c-27.3 14.9-67.6-2.9-90.1-39.8s-18.6-78.8 8.7-93.7s67.6 2.9 90.1 39.8s18.6 78.8-8.7 93.7z\", \"M183.3 282.7c27.3 14.9 67.6-2.9 90.1-39.8s18.6-78.8-8.7-93.7s-67.6 2.9-90.1 39.8s-18.6 78.8 8.7 93.7zm273.4 0c27.3-14.9 31.1-56.9 8.7-93.7s-62.8-54.7-90.1-39.8s-31.1 56.9-8.7 93.7s62.8 54.7 90.1 39.8zM103.4 330.1C89.1 318.2 68 316.4 51.6 327c-20 13-25.6 39.5-12.4 59.3c26.4 40 43.6 75.3 43.2 125.7L192 512c-7-68.4-34.8-137-88.7-181.9zM588.5 327c-16.4-10.6-37.6-8.8-51.8 3.1C482.8 375 455 443.6 448 512l109.8 0c-.4-50.5 16.7-85.7 43.2-125.7c13.1-19.8 7.6-46.3-12.4-59.3z\"]]\n};\nvar faSquareM = {\n prefix: 'fad',\n iconName: 'square-m',\n icon: [448, 512, [], \"e276\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm75.5 105.9L224 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L144 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8s20.7 .3 26.8 8.8z\", \"M112.6 129.2c9.9-3.2 20.7 .3 26.8 8.8L224 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L144 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8z\"]]\n};\nvar faCameraWeb = {\n prefix: 'fad',\n iconName: 'camera-web',\n icon: [448, 512, [\"webcam\"], \"f832\", [\"M224 352a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM176 224c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-26.5 0-48 21.5-48 48z\", \"M448 224c0 79.5-41.4 149.3-103.8 189.1l58.2 40.7c11.4 8 16.4 22.5 12.2 35.8S398 512 384 512H64c-14 0-26.3-9.1-30.5-22.4s.7-27.8 12.2-35.8l58.2-40.7C41.4 373.3 0 303.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM224 384a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\"]]\n};\nvar faWebcam = faCameraWeb;\nvar faCommentArrowDown = {\n prefix: 'fad',\n iconName: 'comment-arrow-down',\n icon: [512, 512, [], \"e143\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm24-296V270.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 128c13.3 0 24 10.7 24 24V270.1l31-31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faLightbulbCfl = {\n prefix: 'fad',\n iconName: 'lightbulb-cfl',\n icon: [320, 512, [], \"e5a6\", [\"M167.8 63L39.8 95C22.6 99.3 5.2 88.9 1 71.8S7.1 37.2 24.2 33l128-32c17.1-4.3 34.5 6.1 38.8 23.3s-6.1 34.5-23.3 38.8zM319 88.2c4.3 17.1-6.1 34.5-23.3 38.8l-256 64C22.6 195.3 5.2 184.9 1 167.8s6.1-34.5 23.3-38.8l256-64c17.1-4.3 34.5 6.1 38.8 23.3zm0 96c4.3 17.1-6.1 34.5-23.3 38.8L99.9 272 96 273 39.8 287C22.6 291.3 5.2 280.9 1 263.8s6.1-34.5 23.3-38.8l256-64c17.1-4.3 34.5 6.1 38.8 23.3zM96 306l48-12v90H96V306zm223-25.7c4.3 17.1-6.1 34.5-23.3 38.8l-64 16L224 337v47H176V308.7c0-.5 0-.9 0-1.4V304l.2 0c1.6-12.7 10.8-23.7 24-27l16-4 64-16c17.1-4.3 34.5 6.1 38.8 23.3z\", \"M96 384c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c0 17.7 14.3 32 32 32s32-14.3 32-32h32c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faWindowFrameOpen = {\n prefix: 'fad',\n iconName: 'window-frame-open',\n icon: [512, 512, [], \"e050\", [\"M232 64H96V224H232V64zm48 160H416V64H280V224z\", \"M480 224V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V224v64H96 416h64V224zm-64 0H280V64H416V224zm-184 0H96V64H232V224zM96 448V320H32V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V320H416V448H96z\"]]\n};\nvar faFaceKiss = {\n prefix: 'fad',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'fad',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", [\"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h72v72.2C577.6 207.1 538.5 192 496 192c-69.1 0-128.9 39.8-157.7 97.7c-5.9-1.1-12-1.7-18.3-1.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faPeriod = {\n prefix: 'fad',\n iconName: 'period',\n icon: [128, 512, [], \"2e\", [\"M0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416z\", \"\"]]\n};\nvar faFaceGrinTongue = {\n prefix: 'fad',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", [\"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zM208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 448V402.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V448c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faUpToDottedLine = {\n prefix: 'fad',\n iconName: 'up-to-dotted-line',\n icon: [448, 512, [], \"e457\", [\"M384 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM224 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM96 64a32 32 0 1 0 64 0A32 32 0 1 0 96 64zM32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\", \"M196.7 139.3L73.9 262.1c-6.4 6.4-9.9 15-9.9 24C64 304.8 79.2 320 97.9 320H160V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V320h62.1c18.7 0 33.9-15.2 33.9-33.9c0-9-3.6-17.6-9.9-24L251.3 139.3c-7.2-7.2-17.1-11.3-27.3-11.3s-20.1 4.1-27.3 11.3z\"]]\n};\nvar faThoughtBubble = {\n prefix: 'fad',\n iconName: 'thought-bubble',\n icon: [512, 512, [], \"e32e\", [\"M144 480a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M374.8 80.3C355.9 33.2 309.8 0 256 0s-99.9 33.2-118.8 80.3c-3-.2-6.1-.3-9.2-.3C57.3 80 0 137.3 0 208s57.3 128 128 128c14.4 0 28.3-2.4 41.3-6.8C184.7 361.6 217.7 384 256 384s71.3-22.4 86.7-54.8c12.9 4.4 26.8 6.8 41.3 6.8c70.7 0 128-57.3 128-128s-57.3-128-128-128c-3.1 0-6.1 .1-9.2 .3z\"]]\n};\nvar faSkeletonRibs = {\n prefix: 'fad',\n iconName: 'skeleton-ribs',\n icon: [640, 512, [], \"e5cb\", [\"M352 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM479.9 376c-3 0-6-.5-9.1-1.4L352 339v40.9c-21.1-4.3-42.9-4.3-64 0v-42L160.3 372.7c1-22.4 5.1-45.9 11-69.3L288 271.6V231.9L186 254.6c9-26 19.4-50.6 29.3-72.1L288 166.3V128h64v38.3l72.7 16.2c9.9 21.4 20.2 46.1 29.3 72.1L352 231.9v40.3l117.8 35.3c5.6 23.2 9.3 46.4 10.1 68.5zM288 446.2c20.7-7.3 43.3-7.3 64 0V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V446.2zM64 80c35.3 0 64 28.7 64 64c0 20.1-9.5 39.1-25.6 51.2L76.8 214.4C68.7 220.4 64 229.9 64 240V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V240 144c0-35.3 28.7-64 64-64zm576 64v96V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V240c0-10.1-4.7-19.6-12.8-25.6l-25.6-19.2C521.5 183.1 512 164.1 512 144c0-35.3 28.7-64 64-64s64 28.7 64 64z\", \"M178.2 112.9C194.5 81.6 226.7 64 260.2 64H379.8c33.5 0 65.8 17.6 82.1 48.9C489.5 165.8 544 282.2 544 384v17c0 43.6-35.4 79-79 79c-15.1 0-30.1-2.7-44.2-8l-67.1-25.2c-21.7-8.2-45.7-8.2-67.4 0L219.2 472c-14.1 5.3-29.1 8-44.2 8c-43.6 0-79-35.4-79-79V384c0-101.8 54.5-218.2 82.2-271.1zM260.2 128c-11.4 0-20.8 5.9-25.3 14.5C207.2 195.6 160 299.4 160 384v17c0 8.3 6.7 15 15 15c7.4 0 14.8-1.3 21.7-3.9l67.1-25.2c36.2-13.6 76.1-13.6 112.4 0l67.1 25.2c7 2.6 14.3 3.9 21.7 3.9c8.3 0 15-6.7 15-15V384c0-84.6-47.2-188.4-74.9-241.5c-4.5-8.6-13.9-14.5-25.3-14.5H260.2z\"]]\n};\nvar faRaygun = {\n prefix: 'fad',\n iconName: 'raygun',\n icon: [576, 512, [], \"e025\", [\"M64 24.6V74.8C78.5 67.9 94.8 64 112 64h80L102.2 4.1C98.2 1.4 93.4 0 88.6 0C75 0 64 11 64 24.6zM336 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V56zm80 32c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V88z\", \"M288 64H112C50.1 64 0 114.1 0 176s50.1 112 112 112h8.2L51.4 425.7c-7.9 15.8-1.5 35 14.3 42.9l80 40c15.8 7.9 35 1.5 42.9-14.3L288 295.6V64zM416 208h60.9l77.1 30.9c4.9 2 10.5 1.4 14.9-1.6s7-7.9 7-13.2V128c0-5.3-2.6-10.3-7-13.2s-10-3.6-14.9-1.6L476.9 144H416v64zM112 152a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faFlute = {\n prefix: 'fad',\n iconName: 'flute',\n icon: [640, 512, [], \"f8b9\", [\"M48 160H96V352H48c-26.5 0-48-21.5-48-48V208c0-26.5 21.5-48 48-48zM592 352H128V160H592c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48zM320 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M128 160H96V352h32V160zM320 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm96 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faAcorn = {\n prefix: 'fad',\n iconName: 'acorn',\n icon: [448, 512, [], \"f6ae\", [\"M400 192H48v32c0 78.1 30.5 201.9 165.9 252.4c6.5 2.4 13.7 2.4 20.2 0C369.5 425.9 400 302.1 400 224V192z\", \"M267.2 38.4c8-10.6 5.8-25.6-4.8-33.6s-25.6-5.8-33.6 4.8L224 16c-10.7 14.3-18 30.7-21.6 48H96C43 64 0 107 0 160c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32c0-53-43-96-96-96H252.1c2.4-6.8 5.9-13.3 10.3-19.2l4.8-6.4z\"]]\n};\nvar faVideoArrowUpRight = {\n prefix: 'fad',\n iconName: 'video-arrow-up-right',\n icon: [576, 512, [], \"e2c9\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm88 96H264c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V241.9L137 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l103-103H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6L384 315.8V196.2l142.2-94.8c9.8-6.5 22.4-7.2 32.9-1.6zM152 160H264c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V241.9L137 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l103-103H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faGrateDroplet = {\n prefix: 'fad',\n iconName: 'grate-droplet',\n icon: [576, 512, [], \"e194\", [\"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64h64 96 96 24.2c-15.3-22.9-24.2-50.4-24.2-80c0-23.6 5.8-46.9 16.9-67.8l75.3-141.2c7.6-14.3 20.6-24.5 35.8-28.8V96c0-35.3-28.7-64-64-64H320 224 128 64zm0 64H96V224H64V96zm0 192H96V416H64V288zm96 128V288h32V416H160zm96 0V288h32V416H256zM384 224H352V96h32V224zM288 96V224H256V96h32zm-96 0V224H160V96h32z\", \"M365.2 347.3l75.3-141.2c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7z\"]]\n};\nvar faSealExclamation = {\n prefix: 'fad',\n iconName: 'seal-exclamation',\n icon: [512, 512, [], \"e242\", [\"M222.1 18.4c18.7-18.7 49.1-18.7 67.9 0L335.5 64H400c26.5 0 48 21.5 48 48v64.5l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.5V400c0 26.5-21.5 48-48 48H335.5l-45.6 45.6c-18.7 18.7-49.1 18.7-67.9 0L176.5 448H112c-26.5 0-48-21.5-48-48V335.5L18.4 289.9c-18.7-18.7-18.7-49.1 0-67.9L64 176.5V112c0-26.5 21.5-48 48-48h64.5l45.6-45.6zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faChessBishop = {\n prefix: 'fad',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", [\"M258.7 432H61.3c-8.5 0-16.6 3.4-22.6 9.4l-32 32c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512H297.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-32-32c-6-6-14.1-9.4-22.6-9.4z\", \"M96 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32c0 16.1-11.9 29.4-27.4 31.7c22.4 21.4 51 52.8 74.2 90.9L164.7 260.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l99.4-99.4C301.8 215.6 312 250.7 312 288c0 47.4-30.8 72.3-56 84.7V432H64V372.7C38.8 360.3 8 335.4 8 288C8 190 78.4 106.8 123.4 63.7C107.9 61.4 96 48.1 96 32z\"]]\n};\nvar faMessageSms = {\n prefix: 'fad',\n iconName: 'message-sms',\n icon: [512, 512, [], \"e1e5\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\", \"M220.8 150.4c-4.1-5.5-11.3-7.8-17.9-5.6S192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9zM376.5 181c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.3 .4 2.6 .9 4 1.4l0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4c0-1.1 .2-1.6 .4-1.9zm-272 0c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4c0-1.1 .2-1.6 .4-1.9z\"]]\n};\nvar faCoffeeBeans = {\n prefix: 'fad',\n iconName: 'coffee-beans',\n icon: [512, 512, [], \"e13f\", [\"M278.4 235.4c-55.1-55.1-69.5-132.5-37.9-184.3c8.1 17.8 18.9 38.5 31.3 53.2c27.7 32.8 61.2 44.7 90.7 55.3l1 .4c30.1 10.8 56.2 20.3 78 46.2c10.9 12.8 21.4 33.6 29.5 52.3c1 2.3 2 4.6 2.9 6.8c-51.3 41.5-136.3 29.3-195.6-29.9zm181-181c55.1 55.1 69.5 132.5 37.9 184.3c-8.1-17.8-18.9-38.5-31.3-53.2c-27.7-32.8-61.2-44.7-90.7-55.3l-1-.4c-30.1-10.8-56.2-20.3-78-46.2c-10.9-12.8-21.4-33.6-29.5-52.3c-1-2.3-2-4.6-2.9-6.8C315.1-17 400.2-4.9 459.4 54.4zM0 352c0-77.9 44.5-142.8 103.5-157.1c-6.9 18.3-13.9 40.6-15.5 59.7c-3.6 42.8 11.6 74.9 25 103.2l.4 .9c13.7 28.9 25.3 54.1 22.5 87.8c-1.4 16.7-8.6 38.9-16.1 57.9c-.9 2.4-1.9 4.7-2.8 6.9C51.5 504.5 0 435.8 0 352zm256 0c0 77.9-44.5 142.8-103.5 157.1c6.9-18.3 13.9-40.6 15.5-59.8c3.6-42.8-11.6-74.9-25-103.2l-.4-.9c-13.7-28.9-25.3-54.1-22.5-87.8c1.4-16.7 8.6-38.9 16.1-57.9c.9-2.4 1.9-4.7 2.8-6.9C204.5 199.5 256 268.2 256 352z\", \"M471 258.5c1 2.3 2 4.6 2.9 6.8c2.8-2.3 5.5-4.7 8.1-7.3c5.9-5.9 11-12.4 15.2-19.4c-8.1-17.8-18.9-38.5-31.3-53.2c-27.7-32.8-61.2-44.7-90.7-55.3l-1-.4c-30.1-10.8-56.2-20.3-78-46.2c-10.9-12.8-21.4-33.6-29.5-52.3c-1-2.3-2-4.6-2.9-6.8c-2.8 2.3-5.5 4.7-8.1 7.3c-5.9 5.9-11 12.4-15.2 19.4c8.1 17.8 18.9 38.5 31.3 53.2c27.7 32.8 61.2 44.7 90.7 55.3l1 .4c30.1 10.8 56.2 20.3 78 46.2c10.9 12.8 21.4 33.6 29.5 52.3zM119.9 504.5c-.9 2.4-1.9 4.7-2.8 6.9c3.6 .4 7.2 .6 10.9 .6c8.4 0 16.6-1 24.5-2.9c6.9-18.3 13.9-40.6 15.5-59.8c3.6-42.8-11.6-74.9-25-103.2l-.4-.9c-13.7-28.9-25.3-54.1-22.5-87.8c1.4-16.7 8.6-38.9 16.1-57.9c.9-2.4 1.9-4.7 2.8-6.9c-3.6-.4-7.2-.6-10.9-.6c-8.4 0-16.6 1-24.5 2.9c-6.9 18.3-13.9 40.6-15.5 59.7c-3.6 42.8 11.6 74.9 25 103.2l.4 .9c13.7 28.9 25.3 54.1 22.5 87.8c-1.4 16.7-8.6 38.9-16.1 57.9z\"]]\n};\nvar faHatWitch = {\n prefix: 'fad',\n iconName: 'hat-witch',\n icon: [576, 512, [], \"f6e7\", [\"M553.4 416H22.6C10.1 416 0 426.1 0 438.6c0 6 2.4 11.7 6.9 15.6C25.9 470.3 82.6 512 160 512H416c77.4 0 134.1-41.7 153.1-57.8c4.6-3.9 6.9-9.6 6.9-15.6c0-12.5-10.1-22.6-22.6-22.6z\", \"M96 416L200.6 180.7c15.3-34.4 40.3-63.5 72-83.7L416.1 5c5.2-3.3 11.1-5 17.3-5h2.2c8 0 15.7 3 21.6 8.4l76.4 70.1c6.6 6.1 10.4 14.6 10.4 23.6v6.8c0 2.1-.2 4.2-.6 6.3l-12.2 60.8c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1l-6.2-24.6C482.5 138 469.7 128 455 128H434.6c-11.5 0-22.1 6.2-27.8 16.1l-18.6 32.5c-2.8 4.8-4.2 10.3-4.2 15.9v.7c0 4.5 .9 8.9 2.8 13L480 416H352V368c0-26.5-21.5-48-48-48H272c-26.5 0-48 21.5-48 48v48H96zm160 0V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48H256z\"]]\n};\nvar faFaceGrinWink = {\n prefix: 'fad',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-16.9-79.2c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm124.4-6.4c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\"]]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faClockThreeThirty = {\n prefix: 'fad',\n iconName: 'clock-three-thirty',\n icon: [512, 512, [], \"e357\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V256c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M256 416c-13.3 0-24-10.7-24-24V256c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V392c0 13.3-10.7 24-24 24z\"]]\n};\nvar faEarDeaf = {\n prefix: 'fad',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", [\"M502.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-40 40c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l40-40c12.5-12.5 32.8-12.5 45.3 0zm-320 320c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0z\", \"M128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78V400c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112v-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faAlarmClock = {\n prefix: 'fad',\n iconName: 'alarm-clock',\n icon: [512, 512, [9200], \"f34e\", [\"M256 512c50.3 0 96.8-16.6 134.2-44.6l35.2 35.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-35.2-35.2c28-37.4 44.6-83.8 44.6-134.2C480 164.3 379.7 64 256 64S32 164.3 32 288c0 50.3 16.6 96.8 44.6 134.2L41.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l35.2-35.2c37.4 28 83.8 44.6 134.1 44.6zm24-328v94.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M14.9 146.4L160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1zM256 160c-13.3 0-24 10.7-24 24V288c0 6.4 2.5 12.5 7 17l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41-41V184c0-13.3-10.7-24-24-24zM352 25.4L497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4z\"]]\n};\nvar faEclipse = {\n prefix: 'fad',\n iconName: 'eclipse',\n icon: [640, 512, [], \"f749\", [\"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9l9.6 52.2c-34.2 15-63.7 38.9-85.4 68.8c-12.4-4-25.6-6.2-39.4-6.2c-70.7 0-128 57.3-128 128s57.3 128 128 128c13.7 0 27-2.2 39.4-6.2c21.7 29.9 51.1 53.9 85.4 68.8l-9.6 52.2c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM278.1 162.6C264 190.7 256 222.4 256 256s8 65.3 22.1 93.4c-7.1 1.7-14.5 2.6-22.1 2.6c-53 0-96-43-96-96s43-96 96-96c7.6 0 15 .9 22.1 2.6z\", \"M464 80a176 176 0 1 0 0 352 176 176 0 1 0 0-352z\"]]\n};\nvar faFaceRelieved = {\n prefix: 'fad',\n iconName: 'face-relieved',\n icon: [512, 512, [], \"e389\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM187.3 356.7c13 13 35.8 27.3 68.7 27.3s55.6-14.3 68.7-27.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C329.4 397.2 298.9 416 256 416s-73.4-18.8-91.3-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM387.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM207.2 74.9c2.8 8.4-1.7 17.4-10.1 20.2l-6.3 2.1c-23.6 7.9-44 23.4-57.8 44.1l-7.6 11.5c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l7.6-11.5c17.8-26.6 43.9-46.6 74.3-56.7l6.3-2.1c8.4-2.8 17.4 1.7 20.2 10.1zM314.9 95.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l6.3 2.1c30.4 10.1 56.5 30.1 74.3 56.7l7.6 11.5c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L379 141.4c-13.8-20.7-34.1-36.3-57.8-44.1l-6.3-2.1z\", \"M207.2 74.9c2.8 8.4-1.7 17.4-10.1 20.2l-6.3 2.1c-23.6 7.9-44 23.4-57.8 44.1l-7.6 11.5c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l7.6-11.5c17.8-26.6 43.9-46.6 74.3-56.7l6.3-2.1c8.4-2.8 17.4 1.7 20.2 10.1zM124.8 238.4c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zm192 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM314.9 95.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l6.3 2.1c30.4 10.1 56.5 30.1 74.3 56.7l7.6 11.5c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L379 141.4c-13.8-20.7-34.1-36.3-57.8-44.1l-6.3-2.1z\"]]\n};\nvar faRoadCircleCheck = {\n prefix: 'fad',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", [\"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32l.7 0c-.5-5.3-.7-10.6-.7-16c0-16.9 2.4-33.3 6.8-48.7c-2.2 .5-4.5 .7-6.8 .7c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32v42.8c31.9-45.2 84.5-74.8 144-74.8c11.6 0 22.9 1.1 33.8 3.2L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faDiceFive = {\n prefix: 'fad',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faOctagonMinus = {\n prefix: 'fad',\n iconName: 'octagon-minus',\n icon: [512, 512, [\"minus-octagon\"], \"f308\", [\"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\", \"M160 256c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMinusOctagon = faOctagonMinus;\nvar faSquareRss = {\n prefix: 'fad',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\", \"M120 112c-13.3 0-24 10.7-24 24s10.7 24 24 24c110.5 0 200 89.5 200 200c0 13.3 10.7 24 24 24s24-10.7 24-24c0-137-111-248-248-248zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24c57.4 0 104 46.6 104 104c0 13.3 10.7 24 24 24s24-10.7 24-24c0-83.9-68.1-152-152-152zm8 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faRssSquare = faSquareRss;\nvar faFaceZany = {\n prefix: 'fad',\n iconName: 'face-zany',\n icon: [512, 512, [], \"e3a4\", [\"M477.8 128c70.7 122.4 28.7 279-93.7 349.7c-8.5 4.9-17.2 9.3-26.1 13.2c6.4-12.9 10.1-27.5 10.1-42.9V391.7c49.1-40.9 70.1-105.6 55-165c-3.5-13.8-19.5-18.9-31.8-11.8L152.9 352.5c-12.3 7.1-15.9 23.5-5.7 33.4c8.8 8.6 18.5 16 28.9 22.2V448c0 21.1 6.8 40.6 18.4 56.5C129.3 488.3 70.6 446.7 34.4 384C-36.3 261.6 5.6 105 128.1 34.3S407.1 5.6 477.8 128zM192 224A64 64 0 1 0 64 224a64 64 0 1 0 128 0zm120 0a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\", \"M296 104a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM104 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM336.1 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6z\"]]\n};\nvar faTricycle = {\n prefix: 'fad',\n iconName: 'tricycle',\n icon: [512, 512, [], \"e5c3\", [\"M256 352c0-51.5 30.4-95.9 74.2-116.2l14 56.1c-19.4 12.9-32.2 35-32.2 60c0 39.8 32.2 72 72 72s72-32.2 72-72c0-37.5-28.6-68.2-65.2-71.7l-14-56.1c2.4-.1 4.8-.2 7.2-.2c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128-57.3-128-128zm-88 16A56 56 0 1 0 56 368a56 56 0 1 0 112 0zM0 368a112 112 0 1 1 224 0A112 112 0 1 1 0 368z\", \"M256 56c0-13.3 10.7-24 24-24h73.6C388.1 32 416 59.9 416 94.4c0 18.2-8 35.5-21.8 47.3l-31.3 26.9 44.4 177.6c3.2 12.9-4.6 25.9-17.5 29.1s-25.9-4.6-29.1-17.5L319.3 192H307.2c-57.6 0-110.9 29.5-141.6 77.6c-14.3-7.8-30.5-12.6-47.8-13.5c1.2-2.3 2.5-4.5 3.9-6.7L77.6 176H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.4l19.6 32.6c40-40.7 95.3-64.6 154.1-64.6h10.9c.7-.8 1.5-1.5 2.3-2.2L363 105.3c3.2-2.7 5-6.7 5-10.9c0-7.9-6.4-14.4-14.4-14.4H280c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faLandMineOn = {\n prefix: 'fad',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", [\"M224 288c-17.7 0-32 14.3-32 32v32H448V320c0-17.7-14.3-32-32-32H224zm-66.3 96c-18.2 0-34.8 10.3-42.9 26.5L87.2 465.7C76.5 487 92 512 115.8 512H524.2c23.8 0 39.3-25 28.6-46.3l-27.6-55.2c-8.1-16.3-24.8-26.5-42.9-26.5H157.7z\", \"M320 0c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]]\n};\nvar faSquareArrowUpLeft = {\n prefix: 'fad',\n iconName: 'square-arrow-up-left',\n icon: [448, 512, [], \"e263\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM288 144c13.3 0 24 10.7 24 24s-10.7 24-24 24H193.9L329 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24H288z\", \"M136 144H288c13.3 0 24 10.7 24 24s-10.7 24-24 24H193.9L329 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24z\"]]\n};\nvar faICursor = {\n prefix: 'fad',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", [\"M96 224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96V224zm64 64h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160v64z\", \"M29.3 63.9C11.7 62.4-1.4 47 .1 29.3S17-1.4 34.7 .1l8 .7C76.8 3.6 106.8 19.7 128 43.7c21.2-24 51.2-40 85.4-42.9l8-.7c17.6-1.5 33.1 11.6 34.5 29.2s-11.6 33.1-29.2 34.5l-8 .7C185.5 67.3 160 95 160 128.3V383.7c0 33.3 25.5 61 58.7 63.8l8 .7c17.6 1.5 30.7 16.9 29.2 34.5s-16.9 30.7-34.5 29.2l-8-.7c-34.1-2.8-64.2-18.9-85.4-42.9c-21.2 24-51.2 40.1-85.4 42.9l-8 .7C17 513.4 1.6 500.3 .1 482.7s11.6-33.1 29.2-34.5l8-.7C70.5 444.7 96 417 96 383.7V128.3c0-33.3-25.5-61-58.7-63.8l-8-.7z\"]]\n};\nvar faChartMixedUpCircleDollar = {\n prefix: 'fad',\n iconName: 'chart-mixed-up-circle-dollar',\n icon: [576, 512, [], \"e5d9\", [\"M400 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h28.8L319.4 151.5 211.2 70.4c-11.7-8.8-27.8-8.5-39.2 .6L12 199c-13.8 11-16 31.2-5 45s31.2 16 45 5L192.6 136.5l108.2 81.1c11.7 8.8 27.8 8.5 39.2-.6L480 105v39c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H400zM160 256V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32s-32 14.3-32 32z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM408.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]]\n};\nvar faSaltShaker = {\n prefix: 'fad',\n iconName: 'salt-shaker',\n icon: [384, 512, [129474], \"e446\", [\"M36.6 192L.6 443.8c-.4 2.8-.6 5.6-.6 8.5c0 33 26.8 59.8 59.8 59.8H324.2c33 0 59.8-26.8 59.8-59.8c0-2.8-.2-5.7-.6-8.5L347.4 192H282.8l36.6 256H64.6l36.6-256H36.6z\", \"M101.2 192H282.8h64.7l-9.3-65.3C327.7 54 265.4 0 192 0S56.3 54 45.9 126.7L36.6 192h64.6zM176 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM144 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faStamp = {\n prefix: 'fad',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", [\"M32 416v48c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V416H416v32H96V416H32z\", \"M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8c10.7 13.8 19.9 29.6 19.9 47c0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368v8c0 22.1 17.9 40 40 40H472c22.1 0 40-17.9 40-40v-8c0-61.9-50.1-112-112-112H366.2c-29.9 0-54.2-24.3-54.2-54.2z\"]]\n};\nvar faFilePlus = {\n prefix: 'fad',\n iconName: 'file-plus',\n icon: [384, 512, [], \"f319\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 240c-13.3 0-24 10.7-24 24v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V360h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V264c0-13.3-10.7-24-24-24z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM192 240c13.3 0 24 10.7 24 24v48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V264c0-13.3 10.7-24 24-24z\"]]\n};\nvar faDrawSquare = {\n prefix: 'fad',\n iconName: 'draw-square',\n icon: [448, 512, [], \"f5ef\", [\"M328.6 64H119.4c5.4 9.4 8.6 20.3 8.6 32s-3.1 22.6-8.6 32H328.6c-5.4-9.4-8.6-20.3-8.6-32s3.1-22.6 8.6-32zM352 151.4V360.6c9.4-5.4 20.3-8.6 32-8.6s22.6 3.1 32 8.6V151.4c-9.4 5.4-20.3 8.6-32 8.6s-22.6-3.1-32-8.6zM64 160c-11.7 0-22.6-3.1-32-8.6V360.6c9.4-5.4 20.3-8.6 32-8.6s22.6 3.1 32 8.6V151.4c-9.4 5.4-20.3 8.6-32 8.6zM328.6 448c-5.4-9.4-8.6-20.3-8.6-32s3.1-22.6 8.6-32H119.4c5.4 9.4 8.6 20.3 8.6 32s-3.1 22.6-8.6 32H328.6z\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM64 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm320 0a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0-320a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]]\n};\nvar faToiletPaperUnderSlash = {\n prefix: 'fad',\n iconName: 'toilet-paper-under-slash',\n icon: [640, 512, [\"toilet-paper-reverse-slash\"], \"e2a1\", [\"M576 426.2V343.1c-9.9 19.5-23.2 38.2-39.9 51.8L576 426.2zm-66-51.7c22.6-14.8 41.4-46 53.1-86.4c8.2-28.2 12.8-61 12.8-96C576 86 533 0 480 0c-11.2 0-22 3.8-32 10.9c-37.3 26.4-64 97.5-64 181.1c0 33.8 4.4 65.5 12 93.1l114 89.3zM356.7 254.3c-3.1-19.9-4.7-40.8-4.7-62.3c0-56.9 11.5-110 31.5-150.1c7.5-15 17.1-29.7 28.7-41.9H160c-24.8 0-47.4 18.8-64.4 49.6L356.7 254.3zM528 512L406.2 416H224v48c0 26.5 21.5 48 48 48H528l.3 0H528zM64 192c0 106 43 192 96 192H365.5L66.5 148.4C64.9 162.4 64 177 64 192zm416 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faToiletPaperReverseSlash = faToiletPaperUnderSlash;\nvar faStairs = {\n prefix: 'fad',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", [\"M384 96h64v64H384V96zM256 224h64v64H256V224zM192 352v64H128V352h64z\", \"M416 32c-17.7 0-32 14.3-32 32V96h64 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H416zM384 160H288c-17.7 0-32 14.3-32 32v32h64 96c17.7 0 32-14.3 32-32V160H384zM160 288c-17.7 0-32 14.3-32 32v32h64 96c17.7 0 32-14.3 32-32V288H256 160zm32 128H128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32-14.3 32-32V416z\"]]\n};\nvar faDroneFront = {\n prefix: 'fad',\n iconName: 'drone-front',\n icon: [640, 512, [\"drone-alt\"], \"f860\", [\"M24 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm352 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\", \"M160 160H96v32 64c0 12.6 7.4 24.1 19 29.2l56.5 25.1c-17.8 21.5-27.5 48.5-27.5 76.4V392c0 13.3 10.7 24 24 24s24-10.7 24-24v-5.2c0-16.8 5.9-33.2 16.7-46.1l8.4-10.1L259 349.2c4.1 1.8 8.5 2.8 13 2.8h96c4.5 0 8.9-.9 13-2.8l41.9-18.6 8.4 10.1c10.8 12.9 16.7 29.3 16.7 46.1V392c0 13.3 10.7 24 24 24s24-10.7 24-24v-5.2c0-27.9-9.7-54.9-27.5-76.4L525 285.2c11.6-5.1 19-16.6 19-29.2V192 160H480v32 43.2l-17.8 7.9-40.6-23.7C390.7 201.5 355.7 192 320 192s-70.7 9.5-101.6 27.5l-40.6 23.7L160 235.2V192 160zm324.3-48h55.4c-5.5-9.6-15.9-16-27.7-16s-22.2 6.4-27.7 16zM128 96c-11.8 0-22.2 6.4-27.7 16h55.4c-5.5-9.6-15.9-16-27.7-16z\"]]\n};\nvar faDroneAlt = faDroneFront;\nvar faGlassEmpty = {\n prefix: 'fad',\n iconName: 'glass-empty',\n icon: [384, 512, [], \"e191\", [\"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L355.1 437.7c-3 41.9-37.8 74.3-79.8 74.3H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L317.6 64H66.4z\", \"\"]]\n};\nvar faDialHigh = {\n prefix: 'fad',\n iconName: 'dial-high',\n icon: [576, 512, [], \"e15c\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M446.6 263.6c-11.6-77-78-136-158.2-136c-88.4 0-160 71.6-160 160s71.6 160 160 160c80.2 0 146.6-59 158.2-136l-158.2 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l158.2 0z\"]]\n};\nvar faUserHelmetSafety = {\n prefix: 'fad',\n iconName: 'user-helmet-safety',\n icon: [448, 512, [128119, \"user-construction\", \"user-hard-hat\"], \"f82c\", [\"M97 176c-.7 5.2-1 10.6-1 16c0 70.7 57.3 128 128 128s128-57.3 128-128c0-5.4-.3-10.8-1-16H97z\", \"M216 0c-13.3 0-24 10.7-24 24V80L163.6 23.1C125.6 43.5 99 82.6 96.2 128H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24h-.2C349 82.6 322.4 43.5 284.4 23.1L256 80V24c0-13.3-10.7-24-24-24H216zM134.4 352C60.2 352 0 412.2 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352H134.4z\"]]\n};\nvar faUserConstruction = faUserHelmetSafety;\nvar faUserHardHat = faUserHelmetSafety;\nvar faI = {\n prefix: 'fad',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96h96V416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V96h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 32z\", \"\"]]\n};\nvar faHryvniaSign = {\n prefix: 'fad',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", [\"M260.9 176H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H155.5l91.8-52.5c5.3-3 9.9-7 13.6-11.5zM99.8 272H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H52.3c7.5-26.1 24.2-49 47.5-64zm23.2 64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H228.5l-91.8 52.5c-5.3 3-9.9 7-13.6 11.5zm161.1-96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H331.7c-7.5 26.1-24.2 49-47.5 64z\", \"M179.6 96c-21 0-41.3 7.1-57.7 20.2L116 121c-13.8 11-33.9 8.8-45-5s-8.8-33.9 5-45l5.9-4.7C109.7 44.1 144.1 32 179.6 32H223c62.4 0 113 50.6 113 113c0 40.5-21.7 78-56.9 98.1L136.7 324.5c-15.3 8.7-24.7 25-24.7 42.5c0 27.1 21.9 49 49 49h43.4c21 0 41.3-7.1 57.7-20.2L268 391c13.8-11 33.9-8.8 45 5s8.8 33.9-5 45l-5.9 4.7c-27.7 22.2-62.2 34.3-97.7 34.3H161C98.6 480 48 429.4 48 367c0-40.6 21.7-78 56.9-98.1l142.4-81.4c15.3-8.7 24.7-25 24.7-42.5c0-27.1-21.9-49-49-49H179.6z\"]]\n};\nvar faHryvnia = faHryvniaSign;\nvar faArrowDownLeftAndArrowUpRightToCenter = {\n prefix: 'fad',\n iconName: 'arrow-down-left-and-arrow-up-right-to-center',\n icon: [512, 512, [], \"e092\", [\"M48 304c0-17.7 14.3-32 32-32H208c17.7 0 32 14.3 32 32V432c0 17.7-14.3 32-32 32s-32-14.3-32-32V381.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L130.7 336H80c-17.7 0-32-14.3-32-32z\", \"M502.6 9.4c12.5 12.5 12.5 32.8 0 45.3L381.3 176H432c17.7 0 32 14.3 32 32s-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V80c0-17.7 14.3-32 32-32s32 14.3 32 32v50.7L457.4 9.4c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faPills = {\n prefix: 'fad',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", [\"M224 256V224l0-80c0-61.9-50.1-112-112-112S0 82.1 0 144v80 32H32l160 0h32zM554.9 399.4C568.3 376 576 348.9 576 320c0-88.4-71.6-160-160-160c-28.9 0-56 7.7-79.4 21.1c-12.3 7.1-13.1 23.7-3.1 33.8L521.1 402.5c10 10 26.7 9.3 33.8-3.1zm-59.5 59.5c12.3-7.1 13.1-23.7 3.1-33.8L310.9 237.5c-10-10-26.7-9.3-33.8 3.1C263.7 264 256 291.1 256 320c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1z\", \"M32 256H0v32 80c0 61.9 50.1 112 112 112s112-50.1 112-112V288 256H192 32z\"]]\n};\nvar faFaceGrinWide = {\n prefix: 'fad',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM208 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm128 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\", \"M176 256c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zm160 0c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64z\"]]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'fad',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", [\"M186.1 52.1C169.3 39.1 148.7 32 127.5 32C74.7 32 32 74.7 32 127.5v6.2c0 15.8 3.7 31.3 10.7 45.5l23.5 47.1c4.5 8.9 7.6 18.4 9.4 28.2l36.7 205.8c2 11.2 11.6 19.4 22.9 19.8s21.4-7.4 24-18.4l28.9-121.3C192.2 323.7 207 312 224 312s31.8 11.7 35.8 28.3l28.9 121.3c2.6 11.1 12.7 18.8 24 18.4s20.9-8.6 22.9-19.8l36.7-205.8c1.8-9.8 4.9-19.3 9.4-28.2l23.5-47.1c7.1-14.1 10.7-29.7 10.7-45.5v-2.1c0-55-44.6-99.6-99.6-99.6c-24.1 0-47.4 8.8-65.6 24.6l-3.2 2.8 19.5 15.2c7 5.4 8.2 15.5 2.8 22.5s-15.5 8.2-22.5 2.8l-24.4-19-37-28.8z\", \"\"]]\n};\nvar faBasketballHoop = {\n prefix: 'fad',\n iconName: 'basketball-hoop',\n icon: [640, 512, [], \"f435\", [\"M6.8 187C24.7 153.1 116.7 0 320 0S615.3 153.1 633.2 187c4.9 9.4 6.8 19.1 6.8 28V331.2c0 25.3-14.9 48.2-38 58.5l-96.4 42.9L526.2 288H528c13.3 0 24-10.7 24-24s-10.7-24-24-24H480V224 160c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64 16H112c-13.3 0-24 10.7-24 24s10.7 24 24 24h1.8l20.7 144.6L38 389.7C14.9 379.4 0 356.5 0 331.2V214.9c0-8.9 1.8-18.6 6.8-28zM192 240V224 160H448v64 16H192z\", \"M112 240c-13.3 0-24 10.7-24 24s10.7 24 24 24h34.1l7.2 50.3 22.9 160c.9 6.1 5.2 11.2 11.1 13s12.3 .1 16.5-4.4L255.6 451l52.8 56c3 3.2 7.2 5 11.6 5s8.6-1.8 11.6-5l52.8-56 51.9 55.9c4.2 4.5 10.6 6.2 16.5 4.4s10.2-6.9 11.1-13l22.9-160 7.2-50.3H528c13.3 0 24-10.7 24-24s-10.7-24-24-24H112zm349.6 48l-5.2 36.6-44-36.6h49.2zm-99.3 0l.6 .5L320 334.6l-42.8-46.1 .6-.5h84.4zm-134.5 0l-44 36.6L178.4 288h49.2zm159.8 21l48.7 40.5-51.6 54.7-42.7-46L387.5 309zm49.4 151.6l-30.5-32.9 41.5-44-11 76.8zM320 381.7l42.6 45.9L320 472.7l-42.6-45.2L320 381.7zm-21.8-23.5l-42.7 46-51.6-54.7L252.5 309l45.7 49.2zm-64.6 69.5l-30.5 32.9-11-76.8 41.5 44z\"]]\n};\nvar faObjectsAlignBottom = {\n prefix: 'fad',\n iconName: 'objects-align-bottom',\n icon: [512, 512, [], \"e3bb\", [\"M112 384c-26.5 0-48-21.5-48-48L64 48C64 21.5 85.5 0 112 0l64 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-64 0zm224 0c-26.5 0-48-21.5-48-48l0-160c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48l-64 0z\", \"M0 488c0 13.3 10.7 24 24 24l464 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 464c-13.3 0-24 10.7-24 24z\"]]\n};\nvar faV = {\n prefix: 'fad',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", [\"M19.7 34.5c16.3-6.8 35 .9 41.8 17.2L192 364.8 322.5 51.7c6.8-16.3 25.5-24 41.8-17.2s24 25.5 17.2 41.8l-160 384c-5 11.9-16.6 19.7-29.5 19.7s-24.6-7.8-29.5-19.7L2.5 76.3c-6.8-16.3 .9-35 17.2-41.8z\", \"\"]]\n};\nvar faSparkles = {\n prefix: 'fad',\n iconName: 'sparkles',\n icon: [512, 512, [10024], \"f890\", [\"M327.5 85.2L384 64 405.2 7.5C406.9 3 411.2 0 416 0s9.1 3 10.8 7.5L448 64l56.5 21.2c4.5 1.7 7.5 6 7.5 10.8s-3 9.1-7.5 10.8L448 128l-21.2 56.5c-1.7 4.5-6 7.5-10.8 7.5s-9.1-3-10.8-7.5L384 128l-56.5-21.2c-4.5-1.7-7.5-6-7.5-10.8s3-9.1 7.5-10.8zm0 320L384 384l21.2-56.5c1.7-4.5 6-7.5 10.8-7.5s9.1 3 10.8 7.5L448 384l56.5 21.2c4.5 1.7 7.5 6 7.5 10.8s-3 9.1-7.5 10.8L448 448l-21.2 56.5c-1.7 4.5-6 7.5-10.8 7.5s-9.1-3-10.8-7.5L384 448l-56.5-21.2c-4.5-1.7-7.5-6-7.5-10.8s3-9.1 7.5-10.8z\", \"M205.1 73.3c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3L123.4 187.4 9.3 240C3.6 242.6 0 248.3 0 254.6s3.6 11.9 9.3 14.5l114.1 52.7L176 435.8c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l52.7-114.1 114.1-52.7c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5L257.8 187.4 205.1 73.3z\"]]\n};\nvar faSquid = {\n prefix: 'fad',\n iconName: 'squid',\n icon: [512, 512, [129425], \"e450\", [\"M392.7 23.6c-49.9 15.2-90.2 34-122.4 54.7L257.3 19.5c-1.2-5.3 .4-10.8 4.2-14.7S270.7-.8 276 .3L392.7 23.6zm41.8 218.9c20.7-32.2 39.4-72.5 54.7-122.4l23.3 116.7c1.1 5.3-.6 10.8-4.5 14.6s-9.4 5.4-14.7 4.2l-58.9-13.1z\", \"M512.7 18.6c.8-5.1-.8-10.3-4.5-13.9S499.4-.6 494.3 .2c-238 39.7-322.1 146.4-334.5 226.5l-14-14-2-2-22.6-22.6c-6.2-6.2-6.2-16.4 0-22.6l56.4-56.4c18.9-18.9 18.7-49.5-.3-68.2L140.1 4.6c-6.3-6.1-16.3-6.1-22.5 .1l-2.8 2.8c-34 34-33.3 87.7-1.9 121L98.5 142.9c-18.7 18.7-18.7 49.1 0 67.9l22.6 22.6 0 0 5.7 5.7 0 0c9.3 9.4 9.3 24.5 0 33.9c-9.3 9.3-24.4 9.4-33.8 .2L76.5 256.6c-19.1-19.1-50.2-18.7-68.7 .9L4.4 261c-6.1 6.4-5.8 16.5 .6 22.6s16.5 5.8 22.6-.6l3.3-3.5c6.2-6.5 16.6-6.7 22.9-.3l10.6 10.6 .2 .2 22.6 22.6c10.1 10.2 9 26.9-2.4 35.8l-20 15.6c-3.5 2.7-7.7 4.2-12.1 4.2c-10.9 0-19.7-8.8-19.7-19.7V336c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 12.3C.9 376.8 24.1 400 52.6 400c11.5 0 22.7-3.8 31.8-10.9l28.2-21.9c9.4-7.3 22.8-6.5 31.2 1.9s9.3 21.8 1.9 31.2l-21.9 28.2c-7.1 9.1-10.9 20.3-10.9 31.8c0 28.6 23.2 51.7 51.7 51.7h12.3c8.8 0 16-7.2 16-16s-7.2-16-16-16H164.6c-10.9 0-19.7-8.8-19.7-19.7c0-4.4 1.5-8.7 4.2-12.1l15.6-20c8.8-11.4 25.6-12.4 35.8-2.3l.1 .1L223 448.3l.1 .1 9.9 9.9c6.5 6.5 6.2 17.2-.7 23.3l-2.8 2.5c-6.6 5.9-7.2 16-1.3 22.6s16 7.2 22.6 1.3l2.8-2.5c20.7-18.3 21.6-50.3 2.1-69.8l-9.9-9.9-5.7-5.7-.1-.1c-9.2-9.3-9.2-24.4 0-33.8l.1-.1 .1-.1c9.3-9.2 24.4-9.2 33.7 0l28.4 28.4c18.7 18.7 49.1 18.7 67.9 0L384.4 400c33.3 31.4 87 32.1 121-1.9l2.8-2.8c6.2-6.2 6.3-16.3 .1-22.5L472 335.7c-18.7-19-49.3-19.2-68.2-.3l-56.4 56.4c-6.2 6.2-16.4 6.2-22.6 0l-22.5-22.5-.1-.1-16-16C366.3 340.8 473 256.6 512.7 18.6zM168.9 280a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faLeafyGreen = {\n prefix: 'fad',\n iconName: 'leafy-green',\n icon: [576, 512, [129388], \"e41d\", [\"M109.3 421.5L94.2 436.6C84 426.2 78.3 412.3 78.3 397.8l0-12.9c0-14.7-5.8-28.8-16.3-39.2L35.7 319.3c-10.4-10.4-16.3-24.5-16.3-39.2V244.4c0-13.1-5.3-25.4-11-37.1c-15.2-31.1-9.9-69.6 15.9-95.4c2.1-2.1 4.3-4.1 6.5-5.9C50.6 89.9 70 69.6 83 47.7c4.1-6.9 9.1-13.4 15-19.3c37.9-37.9 99.4-37.9 137.3 0c5.9 5.9 10.9 12.4 15 19.3c1.2 2.1 2.5 4.1 3.9 6.2c-3.6 5.9-6.6 12.3-8.9 18.9c-4.9 14.3-10.6 28.6-21.3 39.3l-29.1 29.1c-12 12-18.7 28.3-18.7 45.3v43c0 17-6.7 33.3-18.7 45.3l-10.5 10.5c-12 12-18.7 28.3-18.7 45.3v45.7c0 17-6.7 33.3-18.7 45.3zM475.3 123.3L390.6 208H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H358.6l-59.3 59.3-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L272 281.4V192c0-8.8 7.2-16 16-16s16 7.2 16 16v57.4l36.7-36.7 112-112c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M572.5 140c-7.3 28.4-8.1 60.8-5 89.9c.3 3.3 .5 6.7 .5 10.1c0 42.1-27.1 77.9-64.9 90.8c-14.3 4.9-28.6 10.6-39.3 21.3l-29.1 29.1c-12 12-28.3 18.7-45.3 18.7h-43c-17 0-33.3 6.7-45.3 18.7l-10.5 10.5c-12 12-28.3 18.7-45.3 18.7H199.8c-17 0-33.3 6.7-45.3 18.7l-35.9 35.9c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l35.9-35.9c12-12 18.7-28.3 18.7-45.3V330.5c0-17 6.7-33.3 18.7-45.3l10.5-10.5c12-12 18.7-28.3 18.7-45.3v-43c0-17 6.7-33.3 18.7-45.3l29.1-29.1c10.7-10.7 16.4-25 21.3-39.3C258.1 35.1 293.9 8 336 8c3.4 0 6.8 .2 10.1 .5c29.1 3.1 61.5 2.3 89.9-5C445 1.2 454.3 0 464 0c61.9 0 112 50.1 112 112c0 9.7-1.2 19-3.5 28zm-97.2-16.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-112 112L304 249.4V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v89.4l-43.3 43.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l48-48L358.6 240H448c8.8 0 16-7.2 16-16s-7.2-16-16-16H390.6l84.7-84.7z\"]]\n};\nvar faCircleArrowUpRight = {\n prefix: 'fad',\n iconName: 'circle-arrow-up-right',\n icon: [512, 512, [], \"e0fc\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm368 64c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-94.1L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l135-135L184 192c-13.3 0-24-10.7-24-24s10.7-24 24-24l160 0c13.3 0 24 10.7 24 24l0 152z\", \"M368 168l0 152c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-94.1L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l135-135L184 192c-13.3 0-24-10.7-24-24s10.7-24 24-24l160 0c13.3 0 24 10.7 24 24z\"]]\n};\nvar faCalendars = {\n prefix: 'fad',\n iconName: 'calendars',\n icon: [512, 512, [], \"e0d7\", [\"M96 192H512V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V192z\", \"M224 0c-17.7 0-32 14.3-32 32V64H144c-26.5 0-48 21.5-48 48v80H512V112c0-26.5-21.5-48-48-48H416V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H256V32c0-17.7-14.3-32-32-32zM48 184c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 66.3 53.7 120 120 120H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V184z\"]]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'fad',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", [\"M64 160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V160zm64 64h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H128v64z\", \"M.2 60C2.4 42.5 18.4 30.1 36 32.2l7.9 1c48 6 84.1 46.8 84.1 95.3V384c0 17.7 14.3 32 32 32h32c70.7 0 128-57.3 128-128V256c0-17.7-14.3-32-32-32H272c-17.7 0-32-14.3-32-32s14.3-32 32-32h16c53 0 96 43 96 96v32c0 106-86 192-192 192H160c-53 0-96-43-96-96V128.5c0-16.1-12-29.8-28-31.8l-7.9-1C10.5 93.6-1.9 77.6 .2 60z\"]]\n};\nvar faBicycle = {\n prefix: 'fad',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", [\"M431.1 252.8C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6l27.5 50.9c3.6-.6 7.4-.9 11.2-.9c39.8 0 72 32.2 72 72s-32.2 72-72 72s-72-32.2-72-72c0-18.6 7-35.5 18.6-48.3l-27.5-50.9zM128 224C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112H198.2c-7.3 32.1-36 56-70.2 56c-39.8 0-72-32.2-72-72s32.2-72 72-72c1.7 0 3.4 .1 5.1 .2l26.2-52.3c-10-2.5-20.5-3.8-31.2-3.8z\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-77 153.9c-9 18.1 4.1 39.4 24.3 39.4H304c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 81.4 150.7c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM166.8 320l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"]]\n};\nvar faHammerWar = {\n prefix: 'fad',\n iconName: 'hammer-war',\n icon: [384, 512, [], \"f6e4\", [\"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V50.8l27.3 4.1c3.1 .5 6.3 .5 9.5 0L224 50.8V32zm0 237.2l-27.3-4.1c-3.1-.5-6.3-.5-9.5 0L160 269.2V480c0 17.7 14.3 32 32 32s32-14.3 32-32V269.2z\", \"M36.7 32.4c-9.2-1.4-18.6 1.3-25.6 7.4S0 54.7 0 64V256c0 9.3 4.1 18.2 11.1 24.2s16.4 8.8 25.6 7.4l150.5-22.6c3.1-.5 6.3-.5 9.5 0l150.5 22.6c9.2 1.4 18.6-1.3 25.6-7.4s11.1-14.9 11.1-24.2V64c0-9.3-4.1-18.2-11.1-24.2s-16.4-8.8-25.6-7.4L196.7 54.9c-3.1 .5-6.3 .5-9.5 0L36.7 32.4z\"]]\n};\nvar faCircleD = {\n prefix: 'fad',\n iconName: 'circle-d',\n icon: [512, 512, [], \"e104\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H184c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 208c44.2 0 80-35.8 80-80s-35.8-80-80-80H208V336h48z\", \"M160 152c0-13.3 10.7-24 24-24h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H184c-13.3 0-24-10.7-24-24V152zm48 24V336h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H208z\"]]\n};\nvar faSpiderBlackWidow = {\n prefix: 'fad',\n iconName: 'spider-black-widow',\n icon: [512, 512, [], \"f718\", [\"M158.4 32.6l-32.5 84.6c-1.1 3-.4 6.3 1.8 8.5L176 174.1v51.3l-24.9-8.3L93.7 159.7C78.1 144 73.1 120.6 81.1 100l32.5-84.6c4.8-12.4 18.6-18.5 31-13.8s18.5 18.6 13.8 31zM418.3 159.7l-57.4 57.4L336 225.4V174.1l48.3-48.3c2.2-2.2 2.9-5.6 1.8-8.5L353.6 32.6c-4.8-12.4 1.4-26.3 13.8-31s26.3 1.4 31 13.8L430.9 100c7.9 20.7 3 44.1-12.7 59.7zM218.4 307.2c-1.6-2.1-2.4-4.6-2.4-7.2c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12c0 2.6-.8 5.1-2.4 7.2L272 336l21.6 28.8c1.6 2.1 2.4 4.6 2.4 7.2c0 6.6-5.4 12-12 12H228c-6.6 0-12-5.4-12-12c0-2.6 .8-5.1 2.4-7.2L240 336l-21.6-28.8z\", \"M240 101.2c0-10.1-9.4-17.7-18.5-13.4C194.6 100.7 176 128.2 176 160v65.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l80.4-26.8L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5L160 353.9c1 52.1 43.6 94.1 96 94.1s95-41.9 96-94.1l32.3 32.3c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-57.4-57.4 80.4 26.8c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1L336 225.4V160c0-31.8-18.6-59.3-45.5-72.2c-9.1-4.4-18.5 3.3-18.5 13.4V112c0 8.8-7.2 16-16 16s-16-7.2-16-16V101.2zm-21.6 206c-1.6-2.1-2.4-4.6-2.4-7.2c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12c0 2.6-.8 5.1-2.4 7.2L272 336l21.6 28.8c1.6 2.1 2.4 4.6 2.4 7.2c0 6.6-5.4 12-12 12H228c-6.6 0-12-5.4-12-12c0-2.6 .8-5.1 2.4-7.2L240 336l-21.6-28.8z\"]]\n};\nvar faStaffSnake = {\n prefix: 'fad',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", [\"M222.5 48h-61H72 64 56C25.1 48 0 73.1 0 104s25.1 56 56 56H72c22.3 0 41.6-13.1 50.6-32H164h56 68c8.8 0 16 7.2 16 16s-7.2 16-16 16H219l-2.5 80H288c53 0 96-43 96-96s-43-96-96-96H222.5zm-55 192L165 160H152c-53 0-96 43-96 96s43 96 96 96h19 42 43c8.8 0 16 7.2 16 16s-7.2 16-16 16H212l-2.1 67.5-.4 12.5H256c53 0 96-43 96-96s-43-96-96-96H215.5h-47H152c-8.8 0-16-7.2-16-16s7.2-16 16-16h15.5zm6.6 211.5L172 384H136c-22.1 0-40 17.9-40 40s17.9 40 40 40h38.5l-.4-12.5zM64 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M222.6 43.2L223 32c0-.7 0-1.3 0-1.9c-.5-16.6-14.1-30-31-30s-30.5 13.4-31 30c0 .6 0 1.3 0 1.9l.4 11.2 .1 4.8h61l.1-4.8zM215.5 272L220 128H164l4.5 144h47zM213 352H171l3.1 99.5 1.4 43.5 0 1c.3 8.9 7.6 16 16.5 16s16.2-7.1 16.5-16l0-1 1.4-43.5L213 352z\"]]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faPear = {\n prefix: 'fad',\n iconName: 'pear',\n icon: [512, 512, [], \"e20c\", [\"M423.9 54.1C403.4 40.2 378.7 32 352 32c-30.7 0-58.9 10.8-81 28.9c-36.5 29.9-81.8 61.4-127.4 73.3c-32 8.3-62.3 25-87.3 50.1c-75 75-75 196.5 0 271.5s196.5 75 271.5 0c25.1-25.1 41.8-55.3 50.1-87.3c11.8-45.7 43.4-90.9 73.3-127.4c18-22.1 28.9-50.3 28.9-81c0-26.7-8.2-51.4-22.1-71.9L425 121c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l32.9-32.9zM304 304c8.8 0 16 7.2 16 16c0 70.7-57.3 128-128 128c-8.8 0-16-7.2-16-16s7.2-16 16-16c53 0 96-43 96-96c0-8.8 7.2-16 16-16z\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fad',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", [\"M0 224.2c0-38.7 9.8-75.1 27.1-106.9L341.8 365.3l-2.5 .3c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9l62 3.9 43 33.9C439.3 466.2 421.2 480 400 480H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM89.6 44.9C127 16.7 173.5 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 5.8L89.6 44.9zM616 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-88-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTriangle = {\n prefix: 'fad',\n iconName: 'triangle',\n icon: [512, 512, [9650], \"f2ec\", [\"M290.5 51.8C283.3 39.5 270.2 32 256 32s-27.3 7.5-34.5 19.8l-216 368c-7.3 12.4-7.3 27.7-.2 40.1S25.7 480 40 480H472c14.3 0 27.6-7.7 34.7-20.1s7-27.8-.2-40.1l-216-368z\", \"\"]]\n};\nvar faApartment = {\n prefix: 'fad',\n iconName: 'apartment',\n icon: [576, 512, [], \"e468\", [\"M176 0c-26.5 0-48 21.5-48 48V96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48h80 32 96V416c0-17.7 14.3-32 32-32s32 14.3 32 32v96h96 32 80c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H448V48c0-26.5-21.5-48-48-48H176zM368 320H336c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm144 80c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM112 320H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zm16 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm112-80H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM384 80v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16zM240 64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zM384 208c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zM496 320H464c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16zM128 208c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32zm112 16H208c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16z\", \"M384 80c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80zM112 320c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm272-16V272c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 96V368c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm-384 0V368c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm112-80c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm0-256H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM384 208V176c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM496 320c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM128 208V176c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm112 16c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32z\"]]\n};\nvar faTruckMedical = {\n prefix: 'fad',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", [\"M176 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48l48 0c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240v48c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16V192H128c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16l48 0V80zM96 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm288 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576h-1.1c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM176 80v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h48c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H240V80c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faAmbulance = faTruckMedical;\nvar faPepper = {\n prefix: 'fad',\n iconName: 'pepper',\n icon: [512, 512, [129745], \"e432\", [\"M216.7 97.4c-.3-.1-.6-.1-.9-.2c-8.8-1.5-17.9-1.7-27.1-.6c-4 .5-7.9 1.2-11.9 2.2c-51.4 12.9-74.7 65-61.9 116.4l37.1 148.3c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6L83.8 223c-11.8-47 .4-94.4 31.3-125.2c-13.6-2.8-28-2.6-42.4 1C21.3 111.7-10 163.8 2.9 215.3l56 224c12.9 51.4 65 82.7 116.4 69.8c7-1.7 13.6-4.2 19.8-7.3c5.6-2.8 12.3-2.8 17.9 0c3 1.5 6 2.8 9.2 4c10.7 4 22.2 6.2 34 6.2c11.6 0 22.9-2.1 33.5-6.1c3.2-1.2 6.4-2.6 9.4-4.1c5.6-2.8 12.3-2.8 17.9 0c6.2 3.1 12.8 5.6 19.8 7.3c51.4 12.9 103.6-18.4 116.4-69.8l56-224c12.9-51.4-18.4-103.6-69.8-116.4c-23.2-5.8-46.5-2.6-66.3 7.3c-5.6 2.8-12.3 2.8-17.9 0c-6.2-3.1-12.8-5.6-19.8-7.3c-24.5-6.1-49.1-2.2-69.6 9c-6 3.3-13.4 3.3-19.4 0c-9.2-5-19.2-8.6-29.6-10.5z\", \"M252.6 11.7C245.8 .3 231-3.4 219.7 3.4s-15.1 21.6-8.2 32.9l10.3 17.2c6.7 11.2 10.3 24 10.3 37v10.9c4.9 1.8 9.7 3.9 14.3 6.4c6 3.3 13.4 3.3 19.4 0c4.6-2.5 9.4-4.7 14.3-6.4V90.6c0-21.7-5.9-43.1-17.1-61.7L252.6 11.7z\"]]\n};\nvar faPiano = {\n prefix: 'fad',\n iconName: 'piano',\n icon: [512, 512, [], \"f8d4\", [\"M0 448V352H64v96H448V352h64v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\", \"M0 192V352H96v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V352h96V327.6c0-24.2-13.7-46.4-35.4-57.2l-58.4-29.2c-21-10.5-34.2-31.9-34.2-55.4C384 83.2 300.8 0 198.3 0H192C86 0 0 86 0 192z\"]]\n};\nvar faGunSquirt = {\n prefix: 'fad',\n iconName: 'gun-squirt',\n icon: [576, 512, [], \"e19d\", [\"M96 192c-17.7 0-32-14.3-32-32H480c0 17.7-14.3 32-32 32H96zM272 376H219l12-48h41V312c0-13.3 10.7-24 24-24s24 10.7 24 24v40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V376z\", \"M104 32c13.3 0 24 10.7 24 24v8H448c41.8 0 77.4 26.7 90.5 64H552c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H538.5c-13.2 37.3-48.7 64-90.5 64H249L199 455.8C195.5 470 182.7 480 168 480H64c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5L79.4 254.6C34.3 246.7 0 207.3 0 160c0-47.6 34.6-87.1 80-94.7V56c0-13.3 10.7-24 24-24zm-8 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H96z\"]]\n};\nvar faWheatAwnCircleExclamation = {\n prefix: 'fad',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", [\"M505 7c-9.4-9.4-24.6-9.4-33.9 0L383 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88c9.4-9.4 9.4-24.6 0-33.9zM295.3 262l31.9-31.9 12.2 12.2c6 6 12.6 11.1 19.7 15.2c27.5-34 67.3-57.5 112.6-63.8c-4.1-3.8-8.4-7.3-12.9-10.5L505 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L409 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L329.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L294.2 16 271.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-22.6-22.6-22.6 22.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8L90.5 219.6 67.9 242.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l22.6-22.6-22.6-22.6c-21.8-21.8-49.6-34.1-78.1-36.9l31.9-31.9 12.2 12.2c22.5 22.5 53.3 31.5 82.4 27c0-1 0-2.1 0-3.1c0-33.1 9.1-64.1 25-90.6c-15.5-8.7-32.5-13.8-49.8-15.5z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faSnowman = {\n prefix: 'fad',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", [\"M342.3 152.6c-2.8-3.4-3.3-8.1-1.2-12C348 127.2 352 112.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 16.1 4 31.2 10.9 44.6c2 3.9 1.6 8.6-1.2 12C153.7 172 144 196.9 144 224c0 11.5 1.7 22.5 4.9 32.9c1.2 3.8 .1 8-2.8 10.8C115.3 296.9 96 338.2 96 384c0 44.7 18.3 85 47.8 114.1c9.9 9.7 23.7 13.9 37.5 13.9H330.7c13.9 0 27.7-4.2 37.5-13.9C397.7 469 416 428.7 416 384c0-45.8-19.3-87.1-50.1-116.3c-2.9-2.8-4-6.9-2.8-10.8c3.2-10.4 4.9-21.5 4.9-32.9c0-27.1-9.7-52-25.7-71.4zM208 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM272 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-32 43.2V120c0-8.8 7.2-16 16-16s16 7.2 16 16v3.2c0 3.2-.8 6.3-2.3 9l-9 16.9c-.9 1.7-2.7 2.8-4.7 2.8s-3.8-1.1-4.7-2.8l-9-16.9c-1.5-2.8-2.3-5.9-2.3-9z\", \"M224 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm32 144a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM272 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM80 96c13.3 0 24 10.7 24 24v40.2L152.6 181c-5.5 13.2-8.6 27.8-8.6 43c0 1.9 0 3.7 .1 5.6L70.5 198.1l-56-24C2.4 168.8-3.3 154.7 1.9 142.5s19.3-17.8 31.5-12.6L56 139.6V120c0-13.3 10.7-24 24-24zM368 224c0-15.2-3-29.8-8.6-43L408 160.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24v19.6l22.5-9.7c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-56 24-73.6 31.5c.1-1.9 .1-3.7 .1-5.6z\"]]\n};\nvar faUserAlien = {\n prefix: 'fad',\n iconName: 'user-alien',\n icon: [448, 512, [], \"e04a\", [\"M64 167C64 74.8 135.6 0 224 0s160 74.8 160 167c0 101-106.6 185-139.2 208.3c-6.1 4.3-13.4 6.5-20.8 6.5s-14.7-2.1-20.8-6.5C170.6 352 64 268.1 64 167zm244.6 9c-37.9 0-68.6 30.7-68.6 68.6c0 6.3 5.1 11.4 11.4 11.4h16c37.9 0 68.6-30.7 68.6-68.6c0-6.3-5.1-11.4-11.4-11.4h-16zM208 244.6c0-37.9-30.7-68.6-68.6-68.6h-16c-6.3 0-11.4 5.1-11.4 11.4c0 37.9 30.7 68.6 68.6 68.6h16c6.3 0 11.4-5.1 11.4-11.4zM0 486.4C0 415 55.7 356.6 126.1 352.3c23.8 23.2 46.1 40.2 58.5 49.1c12 8.6 25.9 12.4 39.4 12.4s27.4-3.8 39.4-12.4c12.4-8.8 34.7-25.8 58.5-49.1C392.3 356.6 448 415 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4z\", \"M139.4 176c37.9 0 68.6 30.7 68.6 68.6c0 6.3-5.1 11.4-11.4 11.4h-16c-37.9 0-68.6-30.7-68.6-68.6c0-6.3 5.1-11.4 11.4-11.4h16zm169.1 0h16c6.3 0 11.4 5.1 11.4 11.4c0 37.9-30.7 68.6-68.6 68.6h-16c-6.3 0-11.4-5.1-11.4-11.4c0-37.9 30.7-68.6 68.6-68.6z\"]]\n};\nvar faShieldCheck = {\n prefix: 'fad',\n iconName: 'shield-check',\n icon: [512, 512, [], \"f2f7\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M369 175c9.4 9.4 9.4 24.6 0 33.9L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faMortarPestle = {\n prefix: 'fad',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", [\"M502.6 54.6c11.8-11.8 12.6-30.8 1.6-43.5S474.5-3.7 461 6.2L213.7 188.5c-1.5 1.1-3 2.3-4.4 3.5H365.3L502.6 54.6z\", \"M0 224c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32c0 82.5-43.4 147.7-123.9 176.2c11.1 13.9 19.4 30.3 23.9 48.1c4.4 17.1-10.4 31.7-28.1 31.7H160c-17.7 0-32.4-14.6-28.1-31.7c4.5-17.8 12.8-34.1 23.9-48.1C75.4 403.7 32 338.5 32 256c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faRoadBarrier = {\n prefix: 'fad',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", [\"M405.2 96H330.8l-5.4 10.7L234.8 288h74.3l5.4-10.7L405.2 96zM362.8 288h74.3l5.4-10.7L533.2 96H458.8l-5.4 10.7L362.8 288zM202.8 96l-5.4 10.7L106.8 288h74.3l5.4-10.7L277.2 96H202.8zm288 192H576V117.7L490.8 288zM64 96V266.3L149.2 96H64z\", \"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm576 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\"]]\n};\nvar faChartCandlestick = {\n prefix: 'fad',\n iconName: 'chart-candlestick',\n icon: [512, 512, [], \"e0e2\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M304 32c8.8 0 16 7.2 16 16V96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32V48c0-8.8 7.2-16 16-16zM416 192V144c0-8.8 7.2-16 16-16s16 7.2 16 16v48c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V320c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM128 160c0-17.7 14.3-32 32-32V80c0-8.8 7.2-16 16-16s16 7.2 16 16v48c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48c-17.7 0-32-14.3-32-32V160z\"]]\n};\nvar faBriefcaseBlank = {\n prefix: 'fad',\n iconName: 'briefcase-blank',\n icon: [512, 512, [], \"e0c8\", [\"M184 48c-4.4 0-8 3.6-8 8V96H128V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96H336V56c0-4.4-3.6-8-8-8H184z\", \"M64 96C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faSchool = {\n prefix: 'fad',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", [\"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256V416zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336zM320 88a88 88 0 1 1 0 176 88 88 0 1 1 0-176z\", \"M336 144v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zM80 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208zm416 0c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V208zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V336z\"]]\n};\nvar faIgloo = {\n prefix: 'fad',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", [\"M288 32c10.8 0 21.5 .6 32 1.8V160H48.5C100.2 82.8 188.1 32 288 32zM527.5 160H352V39.1C424.9 55.7 487.2 99.8 527.5 160zM0 320c0-46 10.8-89.4 29.9-128H96V320L0 320zm197.5 0L128 320V192H448V320l-69.5 0c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64zM384 352l192 0v80c0 26.5-21.5 48-48 48H384V352zM192 480H48c-26.5 0-48-21.5-48-48V352l192 0V480zM576 320l-96 0V192h66.1c19.2 38.6 29.9 82 29.9 128z\", \"M320 33.8c10.9 1.2 21.5 3 32 5.4V160H527.5c6.8 10.2 13 20.9 18.6 32H480V320h96v32l-192 0V480H352V352c0-35.3-28.7-64-64-64s-64 28.7-64 64V480H192V352L0 352V320H96V192H29.9c5.5-11.1 11.7-21.8 18.6-32H320V33.8zM197.5 320c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H448V192H128V320h69.5z\"]]\n};\nvar faBracketRound = {\n prefix: 'fad',\n iconName: 'bracket-round',\n icon: [192, 512, [\"parenthesis\"], \"28\", [\"M154.6 46.2c9.8 14.7 5.8 34.6-8.9 44.4C120.1 107.7 64 167 64 256s56.1 148.3 81.8 165.4c14.7 9.8 18.7 29.7 8.9 44.4s-29.7 18.7-44.4 8.9C71.9 449 0 371.8 0 256S71.9 62.9 110.2 37.4c14.7-9.8 34.6-5.8 44.4 8.9z\", \"\"]]\n};\nvar faParenthesis = faBracketRound;\nvar faJoint = {\n prefix: 'fad',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", [\"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9v11c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43V32zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v11z\", \"M214.7 358c5.2-.8 10.5-.3 15.2 2c10.2 4.9 19.3 12 26.7 20.8L358.9 503.7c2.6 3.2 .5 8.3-3.6 8.3H288c-59.2 0-127.7-14.7-180.2-28.8C81.3 476 58.3 468.9 42 463.6c-8.2-2.7-14.7-4.9-19.2-6.5c-2.3-.8-4-1.4-5.2-1.8l-1.3-.5C6.8 451.5 0 442.6 0 432s6.8-19.5 16.3-22.7l1.3-.5c1.2-.4 3-1.1 5.2-1.8c4.5-1.6 11-3.8 19.2-6.5c16.3-5.4 39.2-12.5 65.7-19.6c31.7-8.5 69.2-17.3 106.9-22.8zM464 512H445c-23.7 0-46.3-10.5-61.5-28.8L281.1 360.3c-2.6-3.2-.6-8.2 3.5-8.3c1.1 0 2.3 0 3.4 0h48 19c23.7 0 46.3 10.5 61.5 28.8L518.9 503.7c2.6 3.2 .5 8.3-3.6 8.3H464zM444.7 352H600c22.1 0 40 17.9 40 40v80c0 21.4-16.8 38.9-37.9 39.9c-22.7-.8-44-11.2-58.6-28.7L441.1 360.3c-2.6-3.2-.5-8.3 3.6-8.3z\"]]\n};\nvar faHorseSaddle = {\n prefix: 'fad',\n iconName: 'horse-saddle',\n icon: [576, 512, [], \"f8c3\", [\"M160 128H320v48c0 38.7-27.5 71-64 78.4V328c0 8.8-7.2 16-16 16s-16-7.2-16-16V254.4c-36.5-7.4-64-39.7-64-78.4V128zM64 212.8c0 3.6 .2 7.1 .7 10.7C54.6 230.8 48 242.6 48 256v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-44.6 33.2-81.5 76.3-87.2C68.5 181.6 64 196.7 64 212.8z\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128v48c0 38.7-27.5 71-64 78.4v74.7l51.7 14.8c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM224 254.4c-36.5-7.4-64-39.7-64-78.4V128H148.8C102 128 64 166 64 212.8c0 16.8 5 33.1 14.2 47.1l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l.3 .1V254.4zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faMugMarshmallows = {\n prefix: 'fad',\n iconName: 'mug-marshmallows',\n icon: [512, 512, [], \"f7b7\", [\"M197.7 125.7L200 128H344l2.3-2.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7L285.7 37.7C282 34 277.1 32 272 32s-10 2-13.7 5.7L197.7 98.3C194 102 192 106.9 192 112s2 10 5.7 13.7zM32 64v64H162.6c-1.7-5.1-2.6-10.5-2.6-16c0-13.6 5.4-26.7 15-36.3l36.8-36.8C206.4 34.6 199.5 32 192 32H64C46.3 32 32 46.3 32 64zm128 96H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160z\", \"M96 160H32c-17.7 0-32 14.3-32 32V384c0 53 43 96 96 96H288c53 0 96-43 96-96h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 160v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM384 320V224h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H384z\"]]\n};\nvar faFilters = {\n prefix: 'fad',\n iconName: 'filters',\n icon: [640, 512, [], \"e17e\", [\"M40 96H164.1c3.2 9 8.2 17.4 14.9 24.7L320 274v16.7l-32 34.8V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V325.5L10.6 163.1C-.2 151.4-3 134.5 3.4 119.9S24.1 96 40 96z\", \"M195.4 55.9C201.7 41.4 216.1 32 232 32H600c15.9 0 30.2 9.4 36.6 23.9s3.6 31.5-7.2 43.2L480 261.5V416c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V261.5L202.6 99.1c-10.7-11.7-13.6-28.6-7.2-43.2z\"]]\n};\nvar faBellOn = {\n prefix: 'fad',\n iconName: 'bell-on',\n icon: [640, 512, [128365], \"f8fa\", [\"M320 0c-17.7 0-32 14.3-32 32V51.2C215 66 160 130.6 160 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S115.4 416 128 416H512c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C497.3 319.2 480 273.9 480 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32z\", \"M586.7 53.5c11.9-5.9 16.7-20.3 10.7-32.2s-20.3-16.7-32.2-10.7l-64 32c-11.9 5.9-16.7 20.3-10.7 32.2s20.3 16.7 32.2 10.7l64-32zM0 200c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm512 0c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536c-13.3 0-24 10.7-24 24zM42.5 21.3c-5.9 11.9-1.1 26.3 10.7 32.2l64 32c11.9 5.9 26.3 1.1 32.2-10.7s1.1-26.3-10.7-32.2l-64-32C62.9 4.6 48.5 9.4 42.5 21.3zm322.7 472c12-12 18.7-28.3 18.7-45.3H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]]\n};\nvar faAngleRight = {\n prefix: 'fad',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", [\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\", \"\"]]\n};\nvar faDialMed = {\n prefix: 'fad',\n iconName: 'dial-med',\n icon: [576, 512, [], \"e15f\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M264 129c-77 11.6-136 78-136 158.2c0 88.4 71.6 160 160 160s160-71.6 160-160C448 207 389 140.6 312 129l0 158.2c0 13.3-10.7 24-24 24s-24-10.7-24-24L264 129z\"]]\n};\nvar faHorse = {\n prefix: 'fad',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", [\"M76.3 168.8C68.5 181.6 64 196.7 64 212.8c0 3.6 .2 7.1 .7 10.7C54.6 230.8 48 242.6 48 256v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-44.6 33.2-81.5 76.3-87.2z\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C377.3 0 320 57.3 320 128H224 203.2 148.8C102 128 64 166 64 212.8c0 16.8 5 33.1 14.2 47.1l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faQ = {\n prefix: 'fad',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", [\"M64 256c0 88.4 71.6 160 160 160c28.9 0 56-7.7 79.4-21.1l-72-86.4c-11.3-13.6-9.5-33.8 4.1-45.1s33.8-9.5 45.1 4.1l70.9 85.1C371.9 325.8 384 292.3 384 256c0-88.4-71.6-160-160-160S64 167.6 64 256zM344.9 444.6C310 467 268.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l47.3 56.8c11.3 13.6 9.5 33.8-4.1 45.1s-33.8 9.5-45.1-4.1l-46.6-55.9z\", \"\"]]\n};\nvar faMonitorWaveform = {\n prefix: 'fad',\n iconName: 'monitor-waveform',\n icon: [576, 512, [\"monitor-heart-rate\"], \"f611\", [\"M512 96H64V256H192c6.1 0 11.6 3.4 14.3 8.8L224 300.2l49.7-99.4c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8L329.9 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-6.1 0-11.6-3.4-14.3-8.8L288 243.8l-49.7 99.4c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8L182.1 288H64V416H512V96z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM512 96V416H64V96H512z\"]]\n};\nvar faMonitorHeartRate = faMonitorWaveform;\nvar faLinkSimple = {\n prefix: 'fad',\n iconName: 'link-simple',\n icon: [576, 512, [], \"e1cd\", [\"M160 256c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32z\", \"M160 96C71.6 96 0 167.6 0 256s71.6 160 160 160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-53 0-96-43-96-96s43-96 96-96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zm256 0H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c53 0 96 43 96 96s-43 96-96 96H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c88.4 0 160-71.6 160-160s-71.6-160-160-160z\"]]\n};\nvar faWhistle = {\n prefix: 'fad',\n iconName: 'whistle',\n icon: [640, 512, [], \"f460\", [\"M288 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm92.7 111c-34.8 49-92 81-156.7 81C118 448 32 362 32 256S118 64 224 64c51 0 97.4 19.9 131.8 52.4c1.1 .5 2.2 1.2 3.2 2l62.4 48.3c5.1 4 7.3 10.6 5.6 16.9l-5.7 21.1c-3.2 11.7 1.1 24.2 10.8 31.5c9.6 7.2 22.7 7.9 33 1.7l17.7-10.6c5.7-3.4 12.8-3 18 1.1l128.6 99.6C636.1 333 640 341 640 349.4c0 6.8-2.5 13.4-7.1 18.4l-63.4 69.7c-6.1 6.7-14.7 10.5-23.7 10.5h-2c-5.2 0-10.2-1.2-14.8-3.6L380.7 367z\", \"M0 128c0 28.4 18.5 52.5 44.1 60.8c6.1-16.3 14.4-31.6 24.4-45.5c-1.4 .4-2.9 .6-4.5 .6c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16c0 .3 0 .7 0 1c11.4-12.9 24.5-24.3 39-33.8C107.8 76.5 87.4 64 64 64C28.7 64 0 92.7 0 128zM224 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faG = {\n prefix: 'fad',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", [\"M224 96C135.6 96 64 167.6 64 256s71.6 160 160 160c77.4 0 142-55 156.8-128H256c-17.7 0-32-14.3-32-32s14.3-32 32-32H400c25.8 0 49.6 21.4 47.2 50.6C437.8 389.6 341.4 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C302.3 111.4 265 96 224 96z\", \"\"]]\n};\nvar faWineGlassCrack = {\n prefix: 'fad',\n iconName: 'wine-glass-crack',\n icon: [320, 512, [\"fragile\"], \"f4bb\", [\"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H208l25.8 51.7c3.5 7.1 1.4 15.7-5.1 20.3l-58.4 40.9c-6 4.2-8.4 12-5.8 18.9l31.1 81c2.1 5.5-1.9 11.4-7.8 11.4c-2.4 0-4.7-1.1-6.3-2.9L92.1 118c-6.4-7.4-4.7-18.7 3.5-24l58.6-37.3c7.6-4.8 9.7-14.9 4.7-22.4L136 0H64z\", \"M154.2 56.8L95.7 94c-8.2 5.2-9.9 16.6-3.5 24l89.3 103.1c1.6 1.8 3.9 2.9 6.3 2.9c5.9 0 9.9-5.9 7.8-11.4l-31.1-81c-2.6-6.9-.3-14.6 5.8-18.9l58.4-40.9c6.5-4.5 8.7-13.2 5.1-20.3L208 0H136l22.9 34.4c5 7.5 2.8 17.6-4.7 22.4z\"]]\n};\nvar faFragile = faWineGlassCrack;\nvar faSlotMachine = {\n prefix: 'fad',\n iconName: 'slot-machine',\n icon: [640, 512, [], \"e3ce\", [\"M64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm16 80h59.9c23 0 38.5 23.5 29.4 44.6L126.1 321.5c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5L115.6 224H80c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 24c0-13.3 10.7-24 24-24h59.9c23 0 38.5 23.5 29.4 44.6L270.1 321.5c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5L259.6 224H224c-13.3 0-24-10.7-24-24zm168-24h59.9c23 0 38.5 23.5 29.4 44.6L414.1 321.5c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5L403.6 224H368c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 0H384c35.3 0 64 28.7 64 64H64C64 28.7 92.7 0 128 0zM640 176c0 14.2-6.2 27-16 35.8V416c0 53-43 96-96 96H448 416 128c-35.3 0-64-28.7-64-64V416H448v32h80c17.7 0 32-14.3 32-32V211.8c-9.8-8.8-16-21.6-16-35.8c0-26.5 21.5-48 48-48s48 21.5 48 48z\"]]\n};\nvar faNotesMedical = {\n prefix: 'fad',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", [\"M96 96V352c0 35.3 28.7 64 64 64H357.5c17 0 33.3-6.7 45.3-18.7l58.5-58.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm160 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V256H208c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16h48V144z\", \"M296 464c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88H296zM256 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48l48 0c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V256H208c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16l48 0V144z\"]]\n};\nvar faCarWash = {\n prefix: 'fad',\n iconName: 'car-wash',\n icon: [448, 512, [], \"f5e6\", [\"M112 80c0 32-21.5 48-48 48s-48-21.5-48-48C16 48 64 0 64 0s48 48 48 80zm160 0c0 32-21.5 48-48 48s-48-21.5-48-48c0-32 48-80 48-80s48 48 48 80zm112 48c-26.5 0-48-21.5-48-48c0-32 48-80 48-80s48 48 48 80s-21.5 48-48 48z\", \"M138.8 234.6L119.7 288H328.3l-19.1-53.4c-2.3-6.4-8.3-10.6-15.1-10.6H153.8c-6.8 0-12.8 4.3-15.1 10.6zM50.2 292.4l28.3-79.3C89.9 181.3 120 160 153.8 160H294.2c33.8 0 64 21.3 75.3 53.1l28.3 79.3c20.1 8.5 34.2 28.4 34.2 51.6v40 64 32c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V448H96v32c0 17.7-14.3 32-32 32H48c-17.7 0-32-14.3-32-32V448 384 344c0-23.2 14.1-43.1 34.2-51.6zM120 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faEscalator = {\n prefix: 'fad',\n iconName: 'escalator',\n icon: [640, 512, [], \"e171\", [\"M405.9 175.8C417.5 165.6 432.5 160 448 160h96c35.3 0 64 28.7 64 64s-28.7 64-64 64H472L234.1 496.2C222.5 506.4 207.5 512 192 512H96c-35.3 0-64-28.7-64-64s28.7-64 64-64h72L405.9 175.8z\", \"M256 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm64 192v16.4l-128 112V192c0-35.3 28.7-64 64-64s64 28.7 64 64z\"]]\n};\nvar faCommentImage = {\n prefix: 'fad',\n iconName: 'comment-image',\n icon: [512, 512, [], \"e148\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm168-16c7.6 0 14.7 3.6 19.2 9.6l96 128c5.5 7.3 6.3 17 2.3 25.1s-12.4 13.3-21.5 13.3H200 120c-9.3 0-17.8-5.4-21.7-13.8s-2.7-18.4 3.3-25.5l40-48c4.6-5.5 11.3-8.6 18.4-8.6s13.9 3.2 18.4 8.6L199 257.3l77.8-103.7c4.5-6 11.6-9.6 19.2-9.6z\", \"M296 144c7.6 0 14.7 3.6 19.2 9.6l96 128c5.5 7.3 6.3 17 2.3 25.1s-12.4 13.3-21.5 13.3H200 120c-9.3 0-17.8-5.4-21.7-13.8s-2.7-18.4 3.3-25.5l40-48c4.6-5.5 11.3-8.6 18.4-8.6s13.9 3.2 18.4 8.6L199 257.3l77.8-103.7c4.5-6 11.6-9.6 19.2-9.6z\"]]\n};\nvar faTemperatureHalf = {\n prefix: 'fad',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", [\"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M176 208c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V208z\"]]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'fad',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", [\"M256 64v64H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h32zm64 64V64c17.7 0 32 14.3 32 32s-14.3 32-32 32zM0 480c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M288 32c-17.7 0-32 14.3-32 32V177.1c-18.8-10.9-40.7-17.1-64-17.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V288 64c0-17.7-14.3-32-32-32zM128 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]]\n};\nvar faDonut = {\n prefix: 'fad',\n iconName: 'donut',\n icon: [512, 512, [127849, \"doughnut\"], \"e406\", [\"M171.3 123.3l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm224 9.4l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-64 150.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM197.7 372.4c18.4 7.8 38.3 11.7 58.3 11.6c20 .2 39.9-3.7 58.3-11.6c14.4-6 29.8-9 45.4-8.8c18.8 1.6 37.8-1.8 54.9-9.7s32-20.2 43-35.5c5.8-9 14.4-15.9 24.4-19.6c11.6-3.8 22-10.6 29.9-19.9V304c0 88.4-114.6 160-256 160S0 392.4 0 304V278.8c7.9 9.2 18.3 16.1 29.9 19.8c10 3.8 18.5 10.6 24.4 19.6c11 15.4 25.8 27.7 43 35.6s36.1 11.3 55 9.8c15.6-.2 31 2.9 45.4 8.8z\", \"M0 208C0 119.6 114.6 48 256 48s256 71.6 256 160v70.9c-7.9 9.2-18.3 16.1-29.9 19.9c-10 3.7-18.6 10.6-24.4 19.6c-11 15.4-25.8 27.6-43 35.5s-36.1 11.3-54.9 9.7c-15.6-.2-31 2.9-45.4 8.8C295.9 380.3 276 384.2 256 384c-20 .2-39.9-3.7-58.3-11.6c-14.4-6-29.8-9-45.4-8.8c-18.9 1.5-37.8-1.8-55-9.8s-32-20.2-43-35.6c-5.8-9-14.4-15.8-24.4-19.6C18.3 294.9 7.9 288 0 278.8V208zm320-16c0-17.7-28.7-32-64-32s-64 14.3-64 32s28.7 32 64 32s64-14.3 64-32zM283.3 84.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6zm-112 38.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32zm224 9.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zM64 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zm331.3 36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm-240 16c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm176 38.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]]\n};\nvar faDoughnut = faDonut;\nvar faCapsules = {\n prefix: 'fad',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", [\"M224 256H192 160l-96 0H32 0V192 144C0 82.1 50.1 32 112 32s112 50.1 112 112l0 48v64zm85.1 83.7L256 262.2V98.3c4.6-4.7 9.7-9.1 15.3-13.1c50.7-36.2 120.5-23.6 156 28.1l66.6 97.1L309.1 339.7z\", \"M372.3 431.7l-63.1-92L361.6 303l0 0 79.9-55.9 0 0 52.4-36.7 61.9 90.2c35.5 51.7 23.2 123-27.5 159.2s-120.5 23.6-156-28.1zm116.4-22.4c.8-.5 1.6-1 2.4-1.6c.5-.4 1.1-.8 1.6-1.2l-4 2.8zM0 256H32 64h96 32 32v64 48c0 61.9-50.1 112-112 112S0 429.9 0 368V320 256z\"]]\n};\nvar faPooStorm = {\n prefix: 'fad',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", [\"M286.3 247.2c3.4-6.7 1.6-14.9-4.3-19.6s-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H233.9l52.4-104.8z\", \"M222.4 5.9c3.5-4.3 9-6.5 14.5-5.7C283.9 6.5 320 46.7 320 95.4c0 5.7-.5 11.2-1.4 16.6H320c35.3 0 64 28.7 64 64c0 12-3.3 23.1-9 32.7c41.2 5.4 73 40.6 73 83.3c0 46.4-37.6 84-84 84H351.3c1.3-7.8 .7-16-2-23.9C342.5 332.9 324.4 320 304 320H285.7l29.3-58.5c10.1-20.2 4.8-44.6-12.8-58.8s-42.6-14.2-60.2-.2L82 330.5C68.9 341 62.4 357.5 64.3 373.7C27.4 364.8 0 331.6 0 292c0-42.7 31.8-77.9 73-83.3c-5.7-9.6-9-20.8-9-32.7c0-35.3 28.7-64 64-64h16.3c23.8 0 44-6.3 57.8-17C215.5 84.5 224 69.1 224 47.3c0-9.2-1.5-18-4.3-26.1c-1.8-5.2-.8-11.1 2.8-15.3z\"]]\n};\nvar faPooBolt = faPooStorm;\nvar faTally1 = {\n prefix: 'fad',\n iconName: 'tally-1',\n icon: [640, 512, [], \"e294\", [\"\", \"M128 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faFaceFrownOpen = {\n prefix: 'fad',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM179.3 385.4c-12.3 5.2-26.1-4.2-20.8-16.4c16.7-38.2 55.8-65.1 101.5-65.1c45.7 0 84.9 26.9 101.5 65.1c5.3 12.2-8.6 21.5-20.8 16.4c-24.4-10.3-51.8-16.1-80.7-16.1c-28.9 0-56.2 5.8-80.6 16.1z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faSquareDashed = {\n prefix: 'fad',\n iconName: 'square-dashed',\n icon: [448, 512, [], \"e269\", [\"M96 32h32V96H96c-17.7 0-32 14.3-32 32v32H0V128C0 75 43 32 96 32zm0 384h32v64H96c-53 0-96-43-96-96V352H64v32c0 17.7 14.3 32 32 32zm256 64H320V416h32c17.7 0 32-14.3 32-32V352h64v32c0 53-43 96-96 96zm96-320H384V128c0-17.7-14.3-32-32-32H320V32h32c53 0 96 43 96 96v32z\", \"M0 192V320H64V192H0zm384 0V320h64V192H384zM160 480H288V416H160v64zm0-384H288V32H160V96z\"]]\n};\nvar faSquareJ = {\n prefix: 'fad',\n iconName: 'square-j',\n icon: [448, 512, [], \"e273\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 152V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M280 128c13.3 0 24 10.7 24 24V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHandPointUp = {\n prefix: 'fad',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", [\"M64 0C81.7 0 96 14.3 96 32V240H32V32C32 14.3 46.3 0 64 0zM224 312l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\", \"M128 160c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zm96 32c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm128 0c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]]\n};\nvar faMoneyBill = {\n prefix: 'fad',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", [\"M448 128H128c0 35.3-28.7 64-64 64V320c35.3 0 64 28.7 64 64H448c0-35.3 28.7-64 64-64V192c-35.3 0-64-28.7-64-64zM288 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm384 64c0 35.3 28.7 64 64 64V320c-35.3 0-64 28.7-64 64H128c0-35.3-28.7-64-64-64V192c35.3 0 64-28.7 64-64H448z\"]]\n};\nvar faArrowUpBigSmall = {\n prefix: 'fad',\n iconName: 'arrow-up-big-small',\n icon: [576, 512, [\"sort-size-up\"], \"f88e\", [\"M368 32c-26.5 0-48 21.5-48 48V208c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368zm0 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H368z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortSizeUp = faArrowUpBigSmall;\nvar faBarcodeRead = {\n prefix: 'fad',\n iconName: 'barcode-read',\n icon: [576, 512, [], \"f464\", [\"M48 56c0-4.4 3.6-8 8-8h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C25.1 0 0 25.1 0 56v80c0 13.3 10.7 24 24 24s24-10.7 24-24V56zm480 0v80c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-30.9-25.1-56-56-56H440c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c4.4 0 8 3.6 8 8zM56 464c-4.4 0-8-3.6-8-8V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 30.9 25.1 56 56 56h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm472-8c0 4.4-3.6 8-8 8H440c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c30.9 0 56-25.1 56-56V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v80z\", \"M152 128c-13.3 0-24 10.7-24 24V360c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H152zm160 0c-13.3 0-24 10.7-24 24V360c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H312zm72 24V360c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H408c-13.3 0-24 10.7-24 24zM240 128c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16z\"]]\n};\nvar faBaguette = {\n prefix: 'fad',\n iconName: 'baguette',\n icon: [640, 512, [129366], \"e3d8\", [\"M583 234.5c58.8-39.2 74.7-118.7 35.5-177.5S499.8-17.7 441 21.5L356.5 77.8l70.8 70.8c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L329.3 96l-88 58.7 74 74c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-78.6-78.6-88 58.7 77.2 77.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L98.9 249.6 57 277.5C-1.8 316.7-17.7 396.2 21.5 455s118.7 74.7 177.5 35.5l384-256z\", \"M356.5 77.8L329.3 95.9l75.4 75.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L356.5 77.8zM126.1 231.4L98.9 249.5l81.8 81.8c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-77.2-77.2zm115.2-76.8l-27.2 18.1 78.6 78.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-74-74z\"]]\n};\nvar faBowlSoftServe = {\n prefix: 'fad',\n iconName: 'bowl-soft-serve',\n icon: [512, 512, [], \"e46b\", [\"M256 0h32c70.7 0 128 57.3 128 128c0 11.8-3.2 22.8-8.8 32.3C448 164 480 198.3 480 240c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80c0-41.7 32-76 72.8-79.7C99.2 150.8 96 139.8 96 128c0-35.3 28.7-64 64-64h81.3c17 0 30.7-13.7 30.7-30.7c0-6.1-1.8-12-5.2-17L256 0z\", \"M64 320c-8.8 0-16 7.2-16 16v8c0 57.4 46.6 104 104 104h30.1l-20.4 40.8c-1.1 2.3-1.7 4.7-1.7 7.2c0 2.9 .8 5.8 2.4 8.4c2.9 4.7 8.1 7.6 13.6 7.6H336c5.5 0 10.7-2.9 13.6-7.6c1.6-2.6 2.4-5.5 2.4-8.4c0-2.4-.6-4.9-1.7-7.2L329.9 448H360c57.4 0 104-46.6 104-104v-8c0-8.8-7.2-16-16-16H64z\"]]\n};\nvar faFaceHoldingBackTears = {\n prefix: 'fad',\n iconName: 'face-holding-back-tears',\n icon: [512, 512, [129401], \"e482\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM344.5 367.9c-6.7-5.8-16.8-5.1-22.6 1.6C309 384.4 287.1 400 256 400s-53-15.6-65.9-30.5c-5.8-6.7-15.9-7.4-22.6-1.6s-7.4 15.9-1.6 22.6C183.1 410.3 213.2 432 256 432s72.9-21.7 90.1-41.5c5.8-6.7 5.1-16.8-1.6-22.6zM240 272V240c0-41.5-31.5-75.6-72-79.6c10-10.8 17.6-24.1 21.9-38.8l1.5-5.2c2.4-8.5-2.5-17.4-11-19.8s-17.4 2.5-19.8 11l-1.5 5.2c-7 24.7-28.1 42.7-53.6 45.9L94 160.1c-8.8 1.1-15 9.1-13.9 17.9c1 8.1 7.9 14 15.9 14c-10 13.4-16 30-16 48s6 34.6 16 48v32c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.7c9.8 4.3 20.6 6.7 32 6.7c18 0 34.6-6 48-16c0 8.8 7.2 16 16 16s16-7.2 16-16V288 272zm144 41.3V320c0 8.8 7.2 16 16 16s16-7.2 16-16V288c10-13.4 16-30 16-48s-6-34.6-16-48c8 0 14.9-5.9 15.9-14c1.1-8.8-5.1-16.8-13.9-17.9l-11.5-1.4c-25.5-3.2-46.6-21.3-53.6-45.9l-1.5-5.2c-2.4-8.5-11.3-13.4-19.8-11s-13.4 11.3-11 19.8l1.5 5.2c4.2 14.8 11.8 28 21.9 38.8c-40.4 4-72 38.1-72 79.6c0 44.2 35.8 80 80 80c11.4 0 22.2-2.4 32-6.7z\", \"M191.4 116.4l-1.5 5.2c-10.6 37-42.2 64.1-80.4 68.9L98 191.9c-8.8 1.1-16.8-5.1-17.9-13.9s5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8zm129.2 0c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9s-9.1 15-17.9 13.9l-11.5-1.4c-38.2-4.8-69.8-31.9-80.4-68.9l-1.5-5.2zM128 232c17.7 0 32-14.3 32-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4zm224-32c0-5.8-1.5-11.2-4.2-15.8c1.4-.1 2.8-.2 4.2-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56c0-5.7 .8-11.2 2.4-16.4c5.7 5.2 13.3 8.4 21.6 8.4c17.7 0 32-14.3 32-32z\"]]\n};\nvar faSquareUp = {\n prefix: 'fad',\n iconName: 'square-up',\n icon: [448, 512, [11014, \"arrow-alt-square-up\"], \"f353\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm39.1 185.4l107.1-99.9c3.8-3.5 8.7-5.5 13.8-5.5s10.1 2 13.8 5.5l107.1 99.9c4.5 4.2 7.1 10.1 7.1 16.3c0 12.3-10 22.3-22.3 22.3H272v96c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V256H118.3C106 256 96 246 96 233.7c0-6.2 2.6-12.1 7.1-16.3z\", \"M210.2 117.5L103.1 217.4c-4.5 4.2-7.1 10.1-7.1 16.3C96 246 106 256 118.3 256H176v96c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h57.7c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.1-16.3L237.8 117.5c-3.8-3.5-8.7-5.5-13.8-5.5s-10.1 2-13.8 5.5z\"]]\n};\nvar faArrowAltSquareUp = faSquareUp;\nvar faTrainSubwayTunnel = {\n prefix: 'fad',\n iconName: 'train-subway-tunnel',\n icon: [512, 512, [\"subway-tunnel\"], \"e2a3\", [\"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h41.4l64.3-64.3C137.3 444.5 112 417.2 112 384V192c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64V384c0 33.2-25.3 60.5-57.7 63.7L406.6 512H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM361.4 512l-64-64H214.6l-64 64H361.4zM184 192c-13.3 0-24 10.7-24 24v8 64 8c0 13.3 10.7 24 24 24h8 16 8c13.3 0 24-10.7 24-24v-8V224v-8c0-13.3-10.7-24-24-24h-8H192h-8zm88 24v8 64 8c0 13.3 10.7 24 24 24h8 16 8c13.3 0 24-10.7 24-24v-8V224v-8c0-13.3-10.7-24-24-24h-8H304h-8c-13.3 0-24 10.7-24 24z\", \"M112 192c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H176c-35.3 0-64-28.7-64-64V192zm48 24v8 64 8c0 13.3 10.7 24 24 24h8 16 8c13.3 0 24-10.7 24-24v-8V224v-8c0-13.3-10.7-24-24-24h-8H192h-8c-13.3 0-24 10.7-24 24zm136-24c-13.3 0-24 10.7-24 24v8 64 8c0 13.3 10.7 24 24 24h8 16 8c13.3 0 24-10.7 24-24v-8V224v-8c0-13.3-10.7-24-24-24h-8H304h-8zM208 376a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm120 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faSubwayTunnel = faTrainSubwayTunnel;\nvar faSquareExclamation = {\n prefix: 'fad',\n iconName: 'square-exclamation',\n icon: [448, 512, [\"exclamation-square\"], \"f321\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M248 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM224 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faExclamationSquare = faSquareExclamation;\nvar faSemicolon = {\n prefix: 'fad',\n iconName: 'semicolon',\n icon: [192, 512, [], \"3b\", [\"M83.7 492.8L150.8 383c6-9.8 9.2-21.2 9.2-32.7c0-34.2-27.7-62.3-61.9-62.3c-29.2 0-54.4 20.4-60.6 49L10.4 463.6C5 488.5 24 512 49.5 512c14 0 26.9-7.3 34.2-19.2z\", \"M32 128a64 64 0 1 1 128 0A64 64 0 1 1 32 128z\"]]\n};\nvar faBookmark = {\n prefix: 'fad',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", [\"M192 288l-71.1 47.4c-10.6 7.1-24.9-.5-24.9-13.3V0H288V322.1c0 12.8-14.2 20.4-24.9 13.3L192 288z\", \"M0 487.7V48C0 21.5 21.5 0 48 0H96V322.1c0 12.8 14.2 20.4 24.9 13.3L192 288l71.1 47.4c10.6 7.1 24.9-.5 24.9-13.3V0h48c26.5 0 48 21.5 48 48V487.7c0 13.4-10.9 24.3-24.3 24.3c-5 0-9.9-1.5-14-4.4L192 400 38.3 507.6c-4.1 2.9-9 4.4-14 4.4C10.9 512 0 501.1 0 487.7z\"]]\n};\nvar faFanTable = {\n prefix: 'fad',\n iconName: 'fan-table',\n icon: [448, 512, [], \"e004\", [\"M432 208c0 104-76.3 190.2-176 205.6V448H192V413.6C92.3 398.2 16 312 16 208C16 93.1 109.1 0 224 0S432 93.1 432 208zM224.3 166L184.9 68.5c-3.3-8.2-12.6-12.2-20.8-8.8C119 77.9 97.2 129.1 115.4 174.2c12.6 31.1 40.9 51.1 72.1 54.5l-64.8 82.9c-5.4 7-4.2 17 2.8 22.5c38.3 29.9 93.6 23.1 123.5-15.2c20.7-26.4 23.8-61 11.2-89.7l104.2 14.6c8.8 1.2 16.8-4.9 18.1-13.6c6.8-48.1-26.8-92.6-74.9-99.4c-33.2-4.7-64.7 9.9-83.3 35.1z\", \"M184.9 68.5L224.3 166c18.5-25.3 50-39.8 83.3-35.1c48.1 6.8 81.7 51.3 74.9 99.4c-1.2 8.8-9.3 14.8-18.1 13.6L260.2 229.2c12.6 28.7 9.5 63.2-11.2 89.7c-29.9 38.3-85.2 45.1-123.5 15.2c-7-5.4-8.2-15.5-2.8-22.5l64.8-82.9c-31.2-3.4-59.5-23.4-72.1-54.5C97.2 129.1 119 77.9 164.1 59.7c8.2-3.3 17.5 .6 20.8 8.8zM240 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM96 448H224 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224 96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faAlignJustify = {\n prefix: 'fad',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", [\"M32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32zM32 96C14.3 96 0 81.7 0 64S14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32z\", \"M32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32zm0-256c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32z\"]]\n};\nvar faBatteryLow = {\n prefix: 'fad',\n iconName: 'battery-low',\n icon: [576, 512, [\"battery-1\"], \"e0b1\", [\"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\", \"M96 192h64V320H96z\"]]\n};\nvar faBattery1 = faBatteryLow;\nvar faCreditCardFront = {\n prefix: 'fad',\n iconName: 'credit-card-front',\n icon: [576, 512, [], \"f38a\", [\"M112 288c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 368c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm128 0c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM112 288c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 368c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm128 0c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zM408 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H408z\"]]\n};\nvar faBrainArrowCurvedRight = {\n prefix: 'fad',\n iconName: 'brain-arrow-curved-right',\n icon: [640, 512, [\"mind-share\"], \"f677\", [\"M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7c5.7 2.7 11.1 6.1 16 10c-1.4 4.6-2.2 9.4-2.2 14.3v16H448c-79.5 0-144 64.5-144 144c0 43.3 17.3 75 33.5 95.2c-3.1 .5-6.3 .8-9.5 .8c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z\", \"M521.9 241.2c6-2.5 12.9-1.1 17.4 3.5l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-4.6 4.6-11.5 5.9-17.4 3.5s-9.9-8.3-9.9-14.8V400H464c-35.3 0-64 28.7-64 64v35.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.7-2.2c-10.5-8.2-45-39.5-45-93.8c0-61.9 50.1-112 112-112h64V256c0-6.5 3.9-12.3 9.9-14.8z\"]]\n};\nvar faMindShare = faBrainArrowCurvedRight;\nvar faUmbrellaBeach = {\n prefix: 'fad',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", [\"M297.1 219.8l60.1 21.9L282.1 448H214l83.1-228.2z\", \"M434 269.7L223.5 193l3.3-9.1c18.1-49.8 45.6-95.6 80.9-135.1l4-4.5C335 18.3 371.8 8.9 404.8 20.6c.9 .3 1.9 .7 2.8 1.1c31.9 12.6 53.3 43 54.4 77.4l.2 6c1.7 52.9-6.8 105.7-24.9 155.5l-3.3 9.1zM287.8 23.1l-4 4.5c-38 42.5-67.6 91.9-87.1 145.5l-3.3 9.1-71-25.8c-18.1-6.6-26.4-27.7-15.3-43.4C153.7 47.1 228.8 7.3 308.4 4.9C300.9 10 294 16.1 287.8 23.1zM494 98.1c-.3-8.5-1.4-16.8-3.4-24.8c56.9 53 87.3 130 80.8 208.5c-1.6 19.2-21.5 30-39.6 23.4l-67.7-24.6 3.3-9.1c19.5-53.6 28.6-110.4 26.8-167.4l-.2-6zM32 448H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faHelmetUn = {\n prefix: 'fad',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", [\"M215.7 384L343.5 505.4c4.5 4.2 10.4 6.6 16.5 6.6h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.6l-1.6-1.5V288H320V416.9L242.3 343l-14.6 25.1L218.4 384h-2.7z\", \"M479.5 224C471.2 98.9 367.2 0 240 0C107.5 0 0 107.5 0 240v56.3C0 344.8 39.2 384 87.7 384H200h18.4l9.3-15.9L274.4 288H448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-.5zM285.3 103.1l34.7 52V112c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM160 112v64c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faLocationSmile = {\n prefix: 'fad',\n iconName: 'location-smile',\n icon: [384, 512, [\"map-marker-smile\"], \"f60d\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM128 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-95.4 84.9c6.2 9.4 29.1 31.1 63.4 31.1s57.1-21.7 63.4-31.1c6.1-9.2 18.5-11.7 27.7-5.5s11.7 18.5 5.5 27.7C277.1 284.4 243.1 316 192 316s-85.1-31.6-96.6-48.9c-6.1-9.2-3.6-21.6 5.5-27.7s21.6-3.6 27.7 5.5z\", \"M160 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128.6 244.9c-6.1-9.2-18.5-11.7-27.7-5.5s-11.7 18.5-5.5 27.7C106.9 284.4 140.9 316 192 316s85.1-31.6 96.6-48.9c6.1-9.2 3.6-21.6-5.5-27.7s-21.6-3.6-27.7 5.5c-6.2 9.4-29.1 31.1-63.4 31.1s-57.1-21.7-63.4-31.1z\"]]\n};\nvar faMapMarkerSmile = faLocationSmile;\nvar faArrowLeftToLine = {\n prefix: 'fad',\n iconName: 'arrow-left-to-line',\n icon: [448, 512, [8676, \"arrow-to-left\"], \"f33e\", [\"M32 448c-17.7 0-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32z\", \"M137.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L237.3 224 416 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-178.7 0 73.4 73.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128z\"]]\n};\nvar faArrowToLeft = faArrowLeftToLine;\nvar faBullseye = {\n prefix: 'fad',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", [\"M256 176a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 224a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\", \"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faSushi = {\n prefix: 'fad',\n iconName: 'sushi',\n icon: [576, 512, [127843, \"nigiri\"], \"e48a\", [\"M32 384V369c8.5 .7 17.5-.3 26.4-3.4l193-66.9c20-6.9 41.6-7.1 61.7-.4l205.5 68.2c8.6 2.9 17.2 3.8 25.5 3.1V384c0 35.3-28.7 64-64 64c-19.1 0-36.3-8.4-48-21.7c-11.7 13.3-28.9 21.7-48 21.7s-36.3-8.4-48-21.7c-11.7 13.3-28.9 21.7-48 21.7s-36.3-8.4-48-21.7c-11.7 13.3-28.9 21.7-48 21.7s-36.3-8.4-48-21.7C132.3 439.6 115.1 448 96 448c-35.3 0-64-28.7-64-64z\", \"M405.9 295.5L506.3 125.6c24.8 26.7 42.1 60.7 48.5 98.8l12.5 75.2c4 23.8-18.8 43.2-41.7 35.6L405.9 295.5zm76.2-191.9L374.8 285.2 323.1 268c-14.6-4.9-30-7-45.2-6.4L393.5 66.1c32.9 4.8 63.2 18 88.7 37.5zM246.6 64H357.5L235.6 270.4 96.1 318.7 246.6 64zm-37.2 0L49.4 334.8C27 341.5 5 322.3 8.9 298.9l12.4-74.4C36.6 132.2 116.1 64.6 209.5 64z\"]]\n};\nvar faNigiri = faSushi;\nvar faMessageCaptions = {\n prefix: 'fad',\n iconName: 'message-captions',\n icon: [512, 512, [\"comment-alt-captions\"], \"e1de\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM120 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM120 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\", \"M96 216c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm224 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zM96 296c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faCommentAltCaptions = faMessageCaptions;\nvar faTrashList = {\n prefix: 'fad',\n iconName: 'trash-list',\n icon: [640, 512, [], \"e2b1\", [\"M362.6 466.8L384 96H32L53.4 466.8c1.5 25.4 22.5 45.2 47.9 45.2H314.7c25.4 0 46.5-19.8 47.9-45.2z\", \"M147.8 0c-12.1 0-23.2 6.8-28.6 17.7L112 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H304l-7.2-14.3C291.4 6.8 280.3 0 268.2 0H147.8zM448 160c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H480c-17.7 0-32 14.3-32 32zm0 128c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H480c-17.7 0-32 14.3-32 32zm32 96c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H480z\"]]\n};\nvar faBacon = {\n prefix: 'fad',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", [\"M439.2 1.2c11.2-3.2 23.2-.1 31.4 8.1L518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 9.4 406.6c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8zM61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6l0 0 .2-.1 43.1-12.9 23 23c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6L61.8 459z\", \"M518 56.7l-26.5 7.9c-58 16.6-98.1 39.6-129.6 67.4c-31.2 27.5-53.2 59.1-75.1 90.9l-2.3 3.3C241.6 288.7 195 356.6 72.8 417.7L37.9 435.2 61.8 459l25.4-12.7c129.5-64.7 179.9-138.1 223.8-202l2.2-3.3c22.1-32.1 42.1-60.5 69.9-85.1c27.5-24.3 63.4-45.2 117.3-60.6l0 0 .2-.1 43.1-12.9L518 56.7z\"]]\n};\nvar faOption = {\n prefix: 'fad',\n iconName: 'option',\n icon: [640, 512, [], \"e318\", [\"M416 96c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H448c-17.7 0-32 14.3-32 32z\", \"M423 436c6.1 7.6 15.3 12 25 12H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H463.4L217 76c-6.1-7.6-15.3-12-25-12H32C14.3 64 0 78.3 0 96s14.3 32 32 32H176.6L423 436z\"]]\n};\nvar faHandPointDown = {\n prefix: 'fad',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", [\"M64 512c17.7 0 32-14.3 32-32V272H32V480c0 17.7 14.3 32 32 32zM224 200l0 .6c9.4-5.4 20.3-8.6 32-8.6c13.2 0 25.4 4 35.6 10.8c8.7-24.9 32.5-42.8 60.4-42.8c11.7 0 22.6 3.1 32 8.6V160C384 71.6 312.4 0 224 0H162.3C119.8 0 79.1 16.9 49.1 46.9L37.5 58.5C13.5 82.5 0 115.1 0 149v27c0 35.3 28.7 64 64 64h88c22.1 0 40-17.9 40-40s-17.9-40-40-40H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c39.8 0 72 32.2 72 72z\", \"M352 320c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32zm-128 0V256c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32zm-96 32V304c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]]\n};\nvar faArrowUpFromBracket = {\n prefix: 'fad',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", [\"M32 320c17.7 0 32 14.3 32 32v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32z\", \"M201.4 9.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 109.3V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128z\"]]\n};\nvar faTrashPlus = {\n prefix: 'fad',\n iconName: 'trash-plus',\n icon: [448, 512, [], \"e2b2\", [\"M416 96H32L53.4 466.8c1.5 25.4 22.5 45.2 47.9 45.2H346.7c25.4 0 46.5-19.8 47.9-45.2L416 96zM200 376V312H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V200c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM200 376V312H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V200c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]]\n};\nvar faObjectsAlignTop = {\n prefix: 'fad',\n iconName: 'objects-align-top',\n icon: [512, 512, [], \"e3c0\", [\"M112 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H112zm224 0c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H336z\", \"M0 24C0 10.7 10.7 0 24 0H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24z\"]]\n};\nvar faFolder = {\n prefix: 'fad',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", [\"M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z\", \"\"]]\n};\nvar faFolderBlank = faFolder;\nvar faFaceAnxiousSweat = {\n prefix: 'fad',\n iconName: 'face-anxious-sweat',\n icon: [576, 512, [], \"e36a\", [\"M288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8c7 9.2 18.1 24.6 27.7 40.7c4.8 8.1 9.6 17 13.2 25.7c3.4 8 7.1 19 7.1 30.5c0 24.5-11.1 46-28.4 60.3C146.4 480.2 213.5 512 288 512zM208 400c0-44.2 35.8-80 80-80s80 35.8 80 80c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16zM367.6 240a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM227.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6z\", \"M227.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM239.6 272a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm160 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM348.7 148.7c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM48 416c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C67.6 308.6 96 349 96 369c0 26-21.5 47-48 47z\"]]\n};\nvar faCreditCardBlank = {\n prefix: 'fad',\n iconName: 'credit-card-blank',\n icon: [576, 512, [], \"f389\", [\"M112 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm128 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm128 0c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faFileWaveform = {\n prefix: 'fad',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", [\"M64 64C64 28.7 92.7 0 128 0H288V128c0 17.7 14.3 32 32 32H448V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V320h65.2l41.4 82.7c4.2 8.5 13 13.6 22.5 13.2s17.8-6.3 21.3-15.1l44.2-110.4 8.1 16.2c4.1 8.1 12.4 13.3 21.5 13.3h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H302.8l-25.4-50.7c-4.2-8.5-13-13.6-22.5-13.2s-17.8 6.3-21.3 15.1L189.6 333.5l-24.1-48.2c-4.1-8.1-12.4-13.3-21.5-13.3H64V64z\", \"M448 160L288 0V128c0 17.7 14.3 32 32 32H448zM277.5 221.3c-4.2-8.5-13-13.6-22.5-13.2s-17.8 6.3-21.3 15.1L189.6 333.5l-24.1-48.2c-4.1-8.1-12.4-13.3-21.5-13.3H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H129.2l41.4 82.7c4.2 8.5 13 13.6 22.5 13.2s17.8-6.3 21.3-15.1l44.2-110.4 8.1 16.2c4.1 8.1 12.4 13.3 21.5 13.3h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H302.8l-25.4-50.7z\"]]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faMicrochipAi = {\n prefix: 'fad',\n iconName: 'microchip-ai',\n icon: [512, 512, [], \"e1ec\", [\"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h48V24zM280 64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h48zm104 0V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h48zm64 112h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v48zm0 104h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v48zm0 104h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v48zM336 448v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H336zm-104 0v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H232zm-104 0v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H128zM64 336H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64V336zm0-104H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64V232zm0-104H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64V128z\", \"M128 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H128zm94.7 121.6l42 96 14 32c3.5 8.1-.1 17.5-8.2 21.1s-17.5-.2-21.1-8.2L239.5 304H176.5l-9.8 22.4c-3.5 8.1-13 11.8-21.1 8.2s-11.8-13-8.2-21.1l14-32 42-96c2.5-5.8 8.3-9.6 14.7-9.6s12.1 3.8 14.7 9.6zM208 231.9L190.5 272h35.1L208 231.9zM352 192V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faMug = {\n prefix: 'fad',\n iconName: 'mug',\n icon: [576, 512, [], \"f874\", [\"M416 320h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H384c17.7 0 32 14.3 32 32v32h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H416v64z\", \"M32 96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V352c0 53-43 96-96 96H128c-53 0-96-43-96-96V96z\"]]\n};\nvar faPlaneUpSlash = {\n prefix: 'fad',\n iconName: 'plane-up-slash',\n icon: [640, 512, [], \"e22e\", [\"M161.3 223.1L445.9 447.3c1.4 2.4 2.1 5.1 2.1 8V498c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L320 480 209.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L256 400V320L85.1 377C74.7 380.4 64 372.7 64 361.8V305.1c0-10.7 5.3-20.7 14.2-26.6l83.1-55.4zM554.9 377l-72.5-24.2-237-185.8L256 160V93.7C256 59.5 285 0 320 0c36 0 64 59.5 64 93.7l0 66.3L561.8 278.5c8.9 5.9 14.2 15.9 14.2 26.6v56.7c0 10.9-10.7 18.6-21.1 15.2z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faRadiation = {\n prefix: 'fad',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", [\"M208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M176 256c0-29.6 16.1-55.5 40-69.3L144 62c-8.8-15.3-28.6-20.7-42.7-10C47.8 92.7 10.7 154 2 224.1C-.2 241.6 14.3 256 32 256l144 0zm40 69.3L144 450.1c-8.8 15.3-3.7 35.1 12.6 41.9c30.6 12.9 64.2 20 99.4 20s68.9-7.1 99.4-20c16.3-6.9 21.4-26.6 12.6-41.9L296 325.3c-11.8 6.8-25.4 10.7-40 10.7s-28.2-3.9-40-10.7zM336 256l144 0c17.7 0 32.2-14.4 30-31.9C501.3 154 464.2 92.7 410.7 52c-14.1-10.7-33.8-5.3-42.7 10L296 186.7c23.9 13.8 40 39.7 40 69.3z\"]]\n};\nvar faPenCircle = {\n prefix: 'fad',\n iconName: 'pen-circle',\n icon: [512, 512, [], \"e20e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM357.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM151.9 289L257.1 183.8l71 71L222.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\", \"M301.2 139.7l-21.4 21.4 71 71 21.4-21.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-44 44L151.9 289c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L328.1 254.7l-71-71z\"]]\n};\nvar faBagSeedling = {\n prefix: 'fad',\n iconName: 'bag-seedling',\n icon: [512, 512, [], \"e5f2\", [\"M64 64H448l18.6 74.5c8.9 35.5 13.4 72 13.4 108.7v17.7c0 36.6-4.5 73.1-13.4 108.7L448 448H64L45.4 373.5C36.5 338 32 301.5 32 264.8V247.2c0-36.6 4.5-73.1 13.4-108.7L64 64zm80 96c-8.8 0-16 7.2-16 16c0 59.2 45.9 107.6 104 111.7V328c0 13.3 10.7 24 24 24s24-10.7 24-24V287.7c58.1-4.1 104-52.6 104-111.7c0-8.8-7.2-16-16-16h-2c-47.3 0-88.4 26-110 64.5C234.4 186 193.3 160 146 160h-2z\", \"M38.6 38.6L64 64H448l25.4-25.4c4.2-4.2 6.6-10 6.6-16C480 10.1 469.9 0 457.4 0H54.6C42.1 0 32 10.1 32 22.6c0 6 2.4 11.8 6.6 16zm0 434.7c-4.2 4.2-6.6 10-6.6 16C32 501.9 42.1 512 54.6 512H457.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L448 448H64L38.6 473.4zM144 160c-8.8 0-16 7.2-16 16c0 59.2 45.9 107.6 104 111.7V328c0 13.3 10.7 24 24 24s24-10.7 24-24V287.7c58.1-4.1 104-52.6 104-111.7c0-8.8-7.2-16-16-16h-2c-47.3 0-88.4 26-110 64.5C234.4 186 193.3 160 146 160h-2z\"]]\n};\nvar faChartSimple = {\n prefix: 'fad',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", [\"M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80z\", \"M368 96c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H368zM48 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48z\"]]\n};\nvar faCrutches = {\n prefix: 'fad',\n iconName: 'crutches',\n icon: [640, 512, [], \"f7f8\", [\"M470.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm-256 0c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l1.4-1.4L188.2 345.4c2.7 2.7 5.5 5.1 8.4 7.5l17-17 10.1-45.5L101.3 168 168 101.3l86.3 86.3c5-7.9 10.9-15.3 17.6-22l25.4-25.4L213.3 56l1.4-1.4c12.5-12.5 12.5-32.8 0-45.3zM457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64.1-64.1c-8.6 4-17.6 7.1-26.9 9.2l-44.5 9.9 90.2 90.2z\", \"M329.4 153.4L426.7 56 472 101.3 397.3 176 464 242.7 538.7 168 584 213.3l-97.3 97.3c0 0-.1 .1-.1 .1s-.1 .1-.1 .1l-34.7 34.7c-12.9 12.9-29.2 21.9-47.1 25.8L297.1 395.2c-5.9 1.3-11.4 4.3-15.7 8.6l-98.8 98.8c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l98.8-98.8c4.3-4.3 7.3-9.7 8.6-15.7l23.9-107.6c4-17.8 12.9-34.1 25.8-47.1l34.8-34.8zM352 221.3l-12.2 12.2c-4.3 4.3-7.3 9.7-8.6 15.7l-17 76.7 76.7-17c5.9-1.3 11.4-4.3 15.7-8.6L418.7 288 352 221.3z\"]]\n};\nvar faCircleParking = {\n prefix: 'fad',\n iconName: 'circle-parking',\n icon: [512, 512, [\"parking-circle\"], \"f615\", [\"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\", \"M240 192h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H240V192zm0 128h48c53 0 96-43 96-96s-43-96-96-96H216c-22.1 0-40 17.9-40 40V288v64c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\"]]\n};\nvar faParkingCircle = faCircleParking;\nvar faMarsStroke = {\n prefix: 'fad',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", [\"M128 304a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M376 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L370.3 96.4 345 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l25.4 25.4L307.8 159c-28.4-19.5-62.7-31-99.8-31c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l28.6-28.6L407 201c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-25.4-25.4 22.1-22.1L471 153c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24H376zm88 48h0v0l0 0zM96 304a112 112 0 1 1 224 0A112 112 0 1 1 96 304z\"]]\n};\nvar faLeafOak = {\n prefix: 'fad',\n iconName: 'leaf-oak',\n icon: [512, 512, [], \"f6f7\", [\"M470.6 258.4l-40.8 10.2c-6 1.5-8.1 9-3.7 13.4l22 22c17.7 17.7 17.7 46.3 0 64c-10.1 10.1-24.3 14.8-38.4 12.8l-75.1-10.7c-5.6-.8-9.5 5.4-6.4 10.1c13.9 20.8 11.1 48.5-6.6 66.2l-3.6 3.6c-17.9 17.9-45.2 22.3-67.8 11L219 445.5c-17.8-8.9-37.4-13.5-57.2-13.5H113.9L313.9 232.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L80 398.1l0-47.8c0-19.9-4.6-39.5-13.5-57.2L50.9 261.9c-11.3-22.6-6.9-49.9 11-67.8l3.6-3.6c17.7-17.7 45.4-20.4 66.2-6.6c4.7 3.1 10.9-.8 10.1-6.4l-10.7-75.1c-2-14.1 2.7-28.3 12.8-38.4c17.7-17.7 46.3-17.7 64 0l22 22c4.4 4.4 11.9 2.3 13.4-3.7l10.2-40.8C259.7 17.1 281.6 0 306.7 0c18.3 0 35.4 9.1 45.5 24.4l9.5 14.3c3.8 5.6 10.6 8.3 17.2 6.6l20.1-5c20.4-5.1 42 .9 56.9 15.8s20.9 36.5 15.8 56.9l-5 20.1c-1.6 6.6 1 13.4 6.6 17.2l14.3 9.5C502.9 169.9 512 187 512 205.3c0 25.1-17.1 47-41.4 53.1z\", \"M7 505c-9.4-9.4-9.4-24.6 0-33.9L279.9 198.1c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0z\"]]\n};\nvar faSquareBolt = {\n prefix: 'fad',\n iconName: 'square-bolt',\n icon: [448, 512, [], \"e265\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm234.1 83.6c5.8 4.7 7.6 12.9 4.3 19.6L249.9 240H320c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L198.1 272H128c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\", \"M302.3 135.2c3.4-6.7 1.6-14.9-4.3-19.6s-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L145.7 376.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H249.9l52.4-104.8z\"]]\n};\nvar faVial = {\n prefix: 'fad',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", [\"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l32 32 96 96 32 32c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-9.4-9.4L169.4 483.9c-18 18-42.4 28.1-67.9 28.1H96c-53 0-96-43-96-96v-5.5c0-25.5 10.1-49.9 28.1-67.9L306.7 64l-9.4-9.4c-12.5-12.5-12.5-32.8 0-45.3zM352 109.3L73.4 387.9c-6 6-9.4 14.1-9.4 22.6V416c0 17.7 14.3 32 32 32h5.5c8.5 0 16.6-3.4 22.6-9.4L402.7 160 352 109.3z\", \"M306.7 256H205.3L73.4 387.9c-6 6-9.4 14.1-9.4 22.6V416c0 17.7 14.3 32 32 32h5.5c8.5 0 16.6-3.4 22.6-9.4L306.7 256z\"]]\n};\nvar faGauge = {\n prefix: 'fad',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88z\"]]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'fad',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", [\"M234.7 42.7L248.8 5c1.1-3 4-5 7.2-5s6.1 2 7.2 5l14.1 37.7L315 56.8c3 1.1 5 4 5 7.2s-2 6.1-5 7.2L277.3 85.3 263.2 123c-1.1 3-4 5-7.2 5s-6.1-2-7.2-5L234.7 85.3 197 71.2c-3-1.1-5-4-5-7.2s2-6.1 5-7.2l37.7-14.1zm295.2 73.9L419.2 227.2l-39.6-39.6 105-105L461.4 59.3l-105 105-39.6-39.6L427.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9zM7.5 117.2L64 96 85.2 39.5C86.9 35 91.2 32 96 32s9.1 3 10.8 7.5L128 96l56.5 21.2c4.5 1.7 7.5 6 7.5 10.8s-3 9.1-7.5 10.8L128 160l-21.2 56.5c-1.7 4.5-6 7.5-10.8 7.5s-9.1-3-10.8-7.5L64 160 7.5 138.8C3 137.1 0 132.8 0 128s3-9.1 7.5-10.8zm352 256L416 352l21.2-56.5c1.7-4.5 6-7.5 10.8-7.5s9.1 3 10.8 7.5L480 352l56.5 21.2c4.5 1.7 7.5 6 7.5 10.8s-3 9.1-7.5 10.8L480 416l-21.2 56.5c-1.7 4.5-6 7.5-10.8 7.5s-9.1-3-10.8-7.5L416 416l-56.5-21.2c-4.5-1.7-7.5-6-7.5-10.8s3-9.1 7.5-10.8z\", \"M419.2 227.2L316.7 124.7 46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L419.2 227.2z\"]]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faLambda = {\n prefix: 'fad',\n iconName: 'lambda',\n icon: [448, 512, [], \"f66e\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H140.2l16.4 32.7L18.8 434.9c-7.3 16.1-.1 35.1 16 42.3s35.1 .1 42.3-16L193.5 202.6l121 242c10.8 21.7 33 35.4 57.2 35.4H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H371.8L197.5 67.4C186.6 45.7 164.5 32 140.2 32H32z\", \"\"]]\n};\nvar faE = {\n prefix: 'fad',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", [\"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\", \"\"]]\n};\nvar faPizza = {\n prefix: 'fad',\n iconName: 'pizza',\n icon: [576, 512, [127829], \"f817\", [\"M108.9 403.1c81.2 81.2 212.9 81.2 294.2 0L278.6 278.6c-12.5-12.5-12.5-32.8 0-45.3L403.1 108.9c-81.2-81.2-212.9-81.2-294.2 0s-81.2 212.9 0 294.2zM128 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM479.6 120.4L366.6 233.4c-12.5 12.5-12.5 32.8 0 45.3l112 112c31.6-36.7 50.5-84.4 50.3-136.6c-.2-51-18.8-97.6-49.4-133.6zM416 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M403.1 403.1C365.4 440.7 313.4 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c57.4 0 109.4 23.3 147.1 60.9l11.3-11.3C426.9 85.1 427 64.7 413 53.8C369.7 20.1 315.2 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c59.2 0 113.7-20.1 157-53.8c13.9-10.9 13.8-31.3 1.3-43.8l-11.3-11.3zm75.5-12.5l9.9 9.9c13.1 13.1 34.7 12.5 44.9-3C560.3 357 576 308.3 576 256s-15.7-101-42.6-141.5c-10.2-15.4-31.8-16-44.9-3l-9.9 9.9C509.4 157.7 528 204.7 528 256s-18.6 98.3-49.4 134.6zM192 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM128 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faBowlChopsticksNoodles = {\n prefix: 'fad',\n iconName: 'bowl-chopsticks-noodles',\n icon: [512, 512, [], \"e2ea\", [\"M64 84v34l-45.5 7.1C8.8 126.6 0 119.1 0 109.3C0 101.6 5.5 95 13.1 93.6L64 84zm0 58v34H16.2C7.3 176 0 168.7 0 159.7c0-8.8 7-16 15.7-16.2L64 142zm160 34V137l263.6-8.2C501 128.3 512 139 512 152.4c0 13-10.6 23.6-23.6 23.6H224zm0-83V54L484.4 5.2C498.7 2.5 512 13.5 512 28.1c0 11.5-8.4 21.2-19.7 23L224 93z\", \"M192 40c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H112V56c0-13.3-10.7-24-24-24S64 42.7 64 56V224H33.6C15.4 224 .9 239.3 2 257.5c5.4 91.7 59.7 169.7 136.4 209.7l1.2 9.7c2.5 20 19.5 35 39.7 35H332.7c20.2 0 37.2-15 39.7-35l1.2-9.7c76.8-40 131-118 136.4-209.7c1.1-18.2-13.4-33.5-31.6-33.5H192V40z\"]]\n};\nvar faH3 = {\n prefix: 'fad',\n iconName: 'h3',\n icon: [640, 512, [], \"f315\", [\"M32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\", \"M368 96c0-17.7 14.3-32 32-32H592c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-89.5 89.5C589 210.8 640 263.4 640 328c0 66.3-53.7 120-120 120H455.4c-43 0-79.7-31.1-86.8-73.5l-.2-1.2c-2.9-17.4 8.9-33.9 26.3-36.8s33.9 8.9 36.8 26.3l.2 1.2c1.9 11.6 11.9 20.1 23.7 20.1H520c30.9 0 56-25.1 56-56s-25.1-56-56-56H448c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L514.7 128H400c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faPenClip = {\n prefix: 'fad',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", [\"M362.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c25 25 25 65.5 0 90.5L417.9 224 288 94.1l74.7-74.7z\", \"M207 114.9c9.4-9.4 24.6-9.4 33.9 0L254.1 128 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1L401 241l17-17-1-1-16-16-96-96-17-17L274.9 81c-28.1-28.1-73.7-28.1-101.8 0L71 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L207 114.9z\"]]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'fad',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", [\"M32 64c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H536v64h72v72.2C577.6 207.1 538.5 192 496 192c-69.1 0-128.9 39.8-157.7 97.7c-5.9-1.1-12-1.7-18.3-1.7c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160h72V96H64C46.3 96 32 81.7 32 64zM408 96v64h80V96H408zm-48 64V96H280v64h80zM152 96v64h80V96H152z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faBadgePercent = {\n prefix: 'fad',\n iconName: 'badge-percent',\n icon: [512, 512, [], \"f646\", [\"M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zM192 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM337 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L175 303c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L337 209z\", \"M224 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM352 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM337 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L175 303c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L337 209z\"]]\n};\nvar faUser = {\n prefix: 'fad',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128z\", \"M0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"]]\n};\nvar faSensor = {\n prefix: 'fad',\n iconName: 'sensor',\n icon: [448, 512, [], \"e028\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 88V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M88 96c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm96 0c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faComma = {\n prefix: 'fad',\n iconName: 'comma',\n icon: [192, 512, [], \"2c\", [\"M160 350.4V349c0-33.7-27.3-61-61-61c-29.5 0-54.8 21.1-60.1 50.1l-22.2 122c-.5 2.6-.7 5.2-.7 7.9v8.2C16 495.9 32.1 512 51.9 512c12.5 0 24.1-6.5 30.6-17.2L150.8 383c6-9.8 9.2-21.1 9.2-32.6z\", \"\"]]\n};\nvar faSchoolCircleCheck = {\n prefix: 'fad',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", [\"M302.2 5.4c10.7-7.2 24.8-7.2 35.5 0L473.7 96H592c26.5 0 48 21.5 48 48V266.8C608.1 221.6 555.5 192 496 192c-38.5 0-74.2 12.4-103.1 33.4c9.6-14.1 15.1-31.1 15.1-49.4c0-48.6-39.4-88-88-88s-88 39.4-88 88s39.4 88 88 88c15.6 0 30.2-4 42.9-11.1c-23.4 27.1-38.8 61.4-42.2 99.1h-.5l-.3 0c-35.3 0-64 28.7-64 64v96h64v0H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H166.3L302.2 5.4zM80 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm0 128v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM336 144v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faToiletPaperUnder = {\n prefix: 'fad',\n iconName: 'toilet-paper-under',\n icon: [512, 512, [\"toilet-paper-reverse\"], \"e2a0\", [\"M96 384C43 384 0 298 0 192S43 0 96 0H416c-53 0-96 86-96 192s43 192 96 192H128 96zM80 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\", \"M320 195.9c1 104.2 43.6 188.1 96 188.1H160v80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V192C512 86 469 0 416 0s-96 86-96 192c0 1.3 0 2.6 0 3.9zM448 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zM80 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faToiletPaperReverse = faToiletPaperUnder;\nvar faLightEmergency = {\n prefix: 'fad',\n iconName: 'light-emergency',\n icon: [448, 512, [], \"e41f\", [\"M224 32C135.6 32 64 103.6 64 192V352H384V192c0-88.4-71.6-160-160-160zM144 192c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\", \"M32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"]]\n};\nvar faArrowDownToArc = {\n prefix: 'fad',\n iconName: 'arrow-down-to-arc',\n icon: [512, 512, [], \"e4ae\", [\"M448 256c0 106-86 192-192 192S64 362 64 256c0-17.7-14.3-32-32-32s-32 14.3-32 32C0 397.4 114.6 512 256 512s256-114.6 256-256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\", \"M390.6 185.4c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0l-112-112c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 242.7 224 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 210.7 57.4-57.4c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faDumpster = {\n prefix: 'fad',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", [\"M140.5 32H49.7c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32zm7 128H272V32H173.1L147.5 160zM304 32V160H428.5L402.9 32H304zm131.5 0l25.6 128h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5z\", \"M64 448L44 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h4l-4-32H544l-4 32h4c17.7 0 32 14.3 32 32s-14.3 32-32 32H532L512 448c0 17.7-14.3 32-32 32s-32-14.3-32-32H128c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]]\n};\nvar faVanShuttle = {\n prefix: 'fad',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", [\"M160 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm320 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M64 104c0-4.4 3.6-8 8-8h88v96H64V104zm482 88H384V96h81.1L546 192zm-226 0H224V96h96v96zM72 32C32.2 32 0 64.2 0 104V336c0 26.5 21.5 48 48 48h1.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h98.3c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H592c26.5 0 48-21.5 48-48V227.7c0-15.1-5.3-29.7-15-41.2L514.1 54.8C501.9 40.3 484 32 465.1 32H352 192 72z\"]]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'fad',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V271.8v95.9c-38.2 21.4-64 62.3-64 109.2c0 12.9 3.6 24.9 9.9 35.1H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M496 352a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-50.9 32c-51.4 0-93.1 41.7-93.1 93.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1z\"]]\n};\nvar faLightSwitch = {\n prefix: 'fad',\n iconName: 'light-switch',\n icon: [384, 512, [], \"e017\", [\"M288 272H96V240H288v32z\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm96 96V352c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM208 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faSquareCaretLeft = {\n prefix: 'fad',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", [\"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM128 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\", \"M135.7 238.4c-4.9 4.5-7.7 10.9-7.7 17.6s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-208c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104z\"]]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'fad',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", [\"M360.7 360.7L183.3 183.3l-35.7 26.3c-12.3 9-19.5 23.4-19.5 38.6V320l0 0L70.6 377.4c-12.5 12.5-12.5 32.8 0 45.3l50.7 50.7c12.5 12.5 32.8 12.5 45.3 0L224 416h71.7c15.3 0 29.6-7.2 38.6-19.5l26.3-35.7z\", \"M360.7 360.7L183.3 183.3 420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L360.7 360.7zM7 466.3l56-56c1.5 4.5 4.1 8.7 7.6 12.2l50.7 50.7c3.6 3.6 7.8 6.1 12.2 7.6l-24 24c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z\"]]\n};\nvar faWavePulse = {\n prefix: 'fad',\n iconName: 'wave-pulse',\n icon: [640, 512, [\"heart-rate\"], \"f5f8\", [\"M319.1 0c14.8-.4 27.9 9.3 31.8 23.6l74 271.2 17.7-35.4c10.8-21.7 33-35.4 57.2-35.4H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H499.8L444.6 398.3c-5.9 11.9-18.6 18.8-31.8 17.5s-24.2-10.6-27.7-23.4L323.7 167.3 255.3 486.7c-3.1 14.4-15.5 24.8-30.2 25.3s-27.8-9.1-31.8-23.2L135.9 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H135.9c28.6 0 53.7 18.9 61.5 46.4L219.6 348 288.7 25.3C291.8 10.9 304.4 .4 319.1 0z\", \"\"]]\n};\nvar faHeartRate = faWavePulse;\nvar faKey = {\n prefix: 'fad',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", [\"M168.3 229.7L282.3 343.7l0 0s0 0 0 0L249 377c-4.5 4.5-10.6 7-17 7H192v40c0 13.3-10.7 24-24 24H128v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V408c0-6.4 2.5-12.5 7-17L168.3 229.7s0 0 0 0l0 0z\", \"M168.3 229.7L282.3 343.7l0 0c16.9 5.4 35 8.3 53.7 8.3c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7l0 0zM336 136a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]]\n};\nvar faHatSanta = {\n prefix: 'fad',\n iconName: 'hat-santa',\n icon: [640, 512, [], \"f7a7\", [\"M560 160c-12.7 0-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C489.8 217 480 227.3 480 240s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C537 310.2 547.3 320 560 320s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C630.2 263 640 252.7 640 240s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2C583 169.8 572.7 160 560 160zM64 352c-35.3 0-64 28.7-64 64s28.7 64 64 64H448c35.3 0 64-28.7 64-64s-28.7-64-64-64H64z\", \"M64 352l85.7-214.2C175.2 73.9 237.1 32 305.9 32c49.5 0 96.5 21.8 128.5 59.6l74.3 87.8c-1.9 1.1-3.7 2.4-5.3 4c-8.9 8.9-9.4 23.2-1.2 32.6c-3.9 .3-7.5 1.5-10.7 3.4L402 192.6c-1.3-.4-2.7-.6-4-.6h-.8c-7.3 0-13.2 5.9-13.2 13.2c0 1.8 .4 3.7 1.1 5.4L448 352H64z\"]]\n};\nvar faTamale = {\n prefix: 'fad',\n iconName: 'tamale',\n icon: [320, 512, [129748], \"e451\", [\"M48.1 18.3C72.3 8.6 108.4 0 160 0s87.7 8.6 111.9 18.3c12.1 4.8 21 9.9 27.4 14.1c12.7 8.5 23.1 20.4 20.3 36.9L291.1 240H233.4L248 72.7c.4-4.4-2.9-8.3-7.3-8.7s-8.3 2.9-8.7 7.3L217.4 240H168l0-176c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 176H102.6L88 71.3c-.4-4.4-4.3-7.7-8.7-7.3s-7.7 4.3-7.3 8.7L86.6 240H28.9L.4 69.3C-2.3 52.8 8.1 40.8 20.8 32.4c6.3-4.2 15.3-9.3 27.4-14.1zM28.9 272H86.6L72 439.3c-.4 4.4 2.9 8.3 7.3 8.7s8.3-2.9 8.7-7.3l9.9-113.3c1.1 2.1 2.6 3.9 4.6 5.4c7.1 5.3 17.1 3.9 22.4-3.2L152 293.3 152 448c0 4.4 3.6 8 8 8s8-3.6 8-8l0-154.7 27.2 36.3c5.3 7.1 15.3 8.5 22.4 3.2c2-1.5 3.5-3.3 4.6-5.4L232 440.7c.4 4.4 4.3 7.7 8.7 7.3s7.7-4.3 7.3-8.7L233.4 272h57.7l28.4 170.7c1.7 10.2-1.6 20.6-8.9 27.9l0 0c-10.6 10.5-25.1 17.6-38.7 23C247.7 503.4 211.6 512 160 512s-87.7-8.6-111.9-18.3c-13.7-5.5-28.1-12.5-38.7-23l0 0c-7.3-7.3-10.6-17.7-8.9-27.9L28.9 272zm191.8 38.2L192 272h25.4l3.3 38.2zM102.6 272H128L99.3 310.2l3.3-38.2z\", \"M24 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H128L99.2 310.4c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2L160 282.7l35.2 46.9c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4L192 272H296c8.8 0 16-7.2 16-16s-7.2-16-16-16H160 24z\"]]\n};\nvar faBoxCheck = {\n prefix: 'fad',\n iconName: 'box-check',\n icon: [448, 512, [], \"f467\", [\"M93.7 32C75.5 32 58.9 42.3 50.7 58.5L0 160H208V32H93.7zM240 32V160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240z\", \"M448 160H240V32H208V160H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V160zM337 265L209 393c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 231c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]]\n};\nvar faBullhorn = {\n prefix: 'fad',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", [\"M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192v32 32 96 32 32h8.7c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32z\", \"M0 192c0-35.3 28.7-64 64-64H192V320v32V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32l0-128c-35.3 0-64-28.7-64-64V192zm512 48c0 27.9-13.4 51.6-32 60.4V179.6c18.6 8.8 32 32.5 32 60.4z\"]]\n};\nvar faSteak = {\n prefix: 'fad',\n iconName: 'steak',\n icon: [576, 512, [129385], \"f824\", [\"M368 0c-38.3 0-72.3 12.4-99.2 37.4c-23.5 21.9-36.3 48.9-44.1 66.5c-4.4 10.1-8 18.9-11.2 26.6c-10.4 25.1-16.2 39.1-30 52.9c-23.1 23.1-50.4 36.9-77.7 50.7c-21.8 11-43.6 22.1-63.3 37.8C17.8 291.7 0 321.4 0 360c0 84.3 73.4 120.1 110 132.7c43.5 15 93.3 19.3 130 19.3c81.7 0 162.1-30.8 222.6-75.8C520.9 392.8 576 323.9 576 240c0-60.4-23.6-117.6-57.5-160C485.7 39 433 0 368 0zM236.3 448C167.4 448 64 430.5 64 369.5c0-29.8 19.8-38.3 51.7-51.9c31.1-13.3 73.6-31.5 120.6-79c28.1-28.5 41.9-62.8 54.2-93.4C308.4 100.7 323.1 64 374.2 64C443.1 64 512 151.3 512 238.5C512 343.3 370.9 448 236.3 448z\", \"M236.3 448C167.4 448 64 430.5 64 369.5c0-29.8 19.8-38.3 51.7-51.9c31.1-13.3 73.6-31.5 120.6-79c28.1-28.5 41.9-62.8 54.2-93.4C308.4 100.7 323.1 64 374.2 64C443.1 64 512 151.3 512 238.5C512 343.3 370.9 448 236.3 448zM384 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faLocationCrosshairsSlash = {\n prefix: 'fad',\n iconName: 'location-crosshairs-slash',\n icon: [640, 512, [\"location-slash\"], \"f603\", [\"M509.3 288c-4 24-12.5 46.5-24.6 66.6l-51-40c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-51-40C212.4 92.3 248.1 73.3 288 66.7V32c0-17.7 14.3-32 32-32s32 14.3 32 32V66.7C432.4 80.1 495.9 143.6 509.3 224H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H509.3zM400 256c0 9.9-1.8 19.4-5.1 28.2L274.7 190c12.9-8.8 28.5-14 45.3-14c44.2 0 80 35.8 80 80zM358.2 378.2l56.8 44.7c-19.2 10.9-40.4 18.6-62.9 22.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C207.6 431.9 144.1 368.4 130.7 288H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h34.7c1.2-7.2 2.8-14.3 4.8-21.3l56.8 44.7c-.2 2.8-.3 5.6-.3 8.5c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faLocationSlash = faLocationCrosshairsSlash;\nvar faPersonDolly = {\n prefix: 'fad',\n iconName: 'person-dolly',\n icon: [512, 512, [], \"f4d0\", [\"M247.3 186.2c-3.2-12.9-16.2-20.7-29.1-17.5s-20.7 16.2-17.5 29.1l49.6 198.4c-16 11.6-26.3 30.5-26.3 51.7c0 35.3 28.7 64 64 64c32.3 0 59.1-24 63.4-55.1l134.4-33.6c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L339.7 410.3c-10-13.7-25.3-23.3-42.8-25.7L247.3 186.2zM272 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm85.4-71.8L449 353.4c17.1-4.3 27.6-21.7 23.3-38.8L449.4 223c-4.3-17.1-21.7-27.6-38.8-23.3L319 222.6c-17.1 4.3-27.6 21.7-23.3 38.8L318.6 353c4.3 17.1 21.7 27.6 38.8 23.3z\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM96 306.7V241.7l16.6 24.9c8.9 13.4 23.9 21.4 39.9 21.4h70.7l-16-64H161.1l-42.6-64c-13.3-20-35.8-32-59.9-32C26.2 128 0 154.2 0 186.6v88.1c0 17 6.7 33.3 18.7 45.3l79.4 79.4 14.3 85.9c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8l-15.2-90.9c-1.6-9.9-6.3-19-13.4-26.1l-51-51zM0 346.5L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32v0V410.5l-64-64z\"]]\n};\nvar faGlobe = {\n prefix: 'fad',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", [\"M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 20.9 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-20.9-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6H493.4z\", \"M344.3 352H167.7c6.1 36.4 15.5 68.6 27 94.6c10.5 23.6 22.2 40.7 33.5 51.5C239.4 508.8 248.7 512 256 512s16.6-3.2 27.8-13.8c11.3-10.8 23-27.9 33.5-51.5c11.6-26 20.9-58.2 27-94.6zM321.4 503.6c-20.9 5.5-42.8 8.4-65.4 8.4s-44.6-2.9-65.4-8.4c-25.5-34.2-45.2-87.7-55.3-151.6H18.6c-4.2-10.3-7.7-21-10.5-32H131.2c-2.1-20.6-3.2-42-3.2-64s1.1-43.4 3.2-64H8.1c2.8-11 6.4-21.7 10.5-32H135.3c10-63.9 29.8-117.4 55.3-151.6C211.4 2.9 233.4 0 256 0c-7.3 0-16.6 3.2-27.8 13.8c-11.3 10.8-23 27.9-33.5 51.5c-11.6 26-20.9 58.2-27 94.7H344.3c-6.1-36.4-15.5-68.6-27-94.7c-10.5-23.6-22.2-40.7-33.5-51.5C272.6 3.2 263.3 0 256 0c22.6 0 44.6 2.9 65.4 8.4c25.5 34.2 45.2 87.7 55.3 151.6H493.4c4.2 10.3 7.7 21 10.5 32H380.8c2.1 20.6 3.2 42 3.2 64s-1.1 43.4-3.2 64H503.9c-2.8 11-6.4 21.7-10.5 32H376.7c-10 63.9-29.8 117.4-55.3 151.6zM352 256c0-22.2-1.2-43.6-3.3-64H163.3c-2.2 20.4-3.3 41.8-3.3 64s1.2 43.6 3.3 64H348.7c2.2-20.4 3.3-41.8 3.3-64z\"]]\n};\nvar faSynagogue = {\n prefix: 'fad',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", [\"M160 273.4L99.3 212.7c-6.2-6.2-16.4-6.2-22.6 0L14.1 275.3c-9 9-14.1 21.2-14.1 33.9V448c0 35.3 28.7 64 64 64h96V273.4zM480 512H592c26.5 0 48-21.5 48-48V309.3c0-12.7-5.1-24.9-14.1-33.9l-62.6-62.6c-6.2-6.2-16.4-6.2-22.6 0L480 273.4V512z\", \"M330.2 3.7c-5.9-4.9-14.6-4.9-20.5 0l-121 100.8C170.5 119.7 160 142.2 160 166V496v16h16 80V384c0-35.3 28.7-64 64-64s64 28.7 64 64V512h80 16V496 166c0-23.7-10.5-46.3-28.8-61.5L330.2 3.7zM313 124.3c3.1-5.4 10.9-5.4 13.9 0l15.9 28.1 32.3-.3c6.2-.1 10.1 6.7 7 12.1L365.7 192l16.4 27.8c3.2 5.4-.7 12.1-7 12.1l-32.3-.3L327 259.7c-3.1 5.4-10.9 5.4-13.9 0l-15.9-28.1-32.3 .3c-6.2 .1-10.1-6.7-7-12.1L274.3 192l-16.4-27.8c-3.2-5.4 .7-12.1 7-12.1l32.3 .3L313 124.3z\"]]\n};\nvar faFileChartColumn = {\n prefix: 'fad',\n iconName: 'file-chart-column',\n icon: [384, 512, [\"file-chart-line\"], \"f659\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM216 248c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248zm88 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V312zM128 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM216 248c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248zm88 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V312zM128 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376z\"]]\n};\nvar faFileChartLine = faFileChartColumn;\nvar faPersonHalfDress = {\n prefix: 'fad',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", [\"M160 128V352h8V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H160zm0-32c26.5 0 48-21.5 48-48s-21.5-48-48-48c0 0 0 0 0 0V96s0 0 0 0z\", \"M160 96V0s0 0 0 0c-26.5 0-48 21.5-48 48s21.5 48 48 48c0 0 0 0 0 0zm0 32h-5.8c-39.3 0-75.7 20.6-96 54.3L4.6 271.5c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L55 362.9C51.6 373.3 59.3 384 70.2 384H88v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h8V128z\"]]\n};\nvar faFolderImage = {\n prefix: 'fad',\n iconName: 'folder-image',\n icon: [512, 512, [], \"e18a\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM176 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm120 0c-8 0-15.5 4-20 10.7l-56 84L202.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C311.5 228 304 224 296 224z\", \"M296 224c8 0 15.5 4 20 10.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S400.9 416 392 416H248 200 120c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C280.5 228 288 224 296 224z\"]]\n};\nvar faCalendarPen = {\n prefix: 'fad',\n iconName: 'calendar-pen',\n icon: [512, 512, [\"calendar-edit\"], \"f333\", [\"M480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM340.8 267c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L272.6 282 287.5 267c14.7-14.7 38.6-14.7 53.3 0zM178.1 376.5L250 304.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.6c1.4-5.6 4.3-10.8 8.4-14.9z\", \"M160 0c-17.7 0-32 14.3-32 32V64H80c-26.5 0-48 21.5-48 48v80H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32zM340.8 267c-14.7-14.7-38.6-14.7-53.3 0L272.6 282l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 376.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 428c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 304.6l-71.9 71.9z\"]]\n};\nvar faCalendarEdit = faCalendarPen;\nvar faRoadBridge = {\n prefix: 'fad',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", [\"M288 96H32C14.3 96 0 110.3 0 128s14.3 32 32 32H72v64H0v96c53 0 96 43 96 96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-53 43-96 96-96V224H248V160h40V96zM120 160h80v64H120V160z\", \"M608 0H352c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32zM504 224v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V224c0-13.3 10.7-24 24-24s24 10.7 24 24zM480 360c13.3 0 24 10.7 24 24v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V384c0-13.3 10.7-24 24-24zM504 64v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faFaceSmileTear = {\n prefix: 'fad',\n iconName: 'face-smile-tear',\n icon: [512, 512, [], \"e393\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm141.5 67.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5c8.8 0 16-7.2 16-16s-7.2-16-16-16c-43.4 0-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM352 416c26.5 0 48-21 48-47c0-20-28.6-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0C332.4 308.6 304 349 304 369c0 26 21.5 47 48 47zM208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 369c0 26-21.5 47-48 47s-48-21-48-47c0-20 28.4-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C371.4 308.6 400 349 400 369zM336.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faMessagePlus = {\n prefix: 'fad',\n iconName: 'message-plus',\n icon: [512, 512, [\"comment-alt-plus\"], \"f4a8\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM232 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\", \"M232 232v64c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faCommentAltPlus = faMessagePlus;\nvar faLocationArrow = {\n prefix: 'fad',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", [\"M429.6 92.1c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H224V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352z\", \"\"]]\n};\nvar faC = {\n prefix: 'fad',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", [\"M329.1 142.9c-62.5-62.5-155.8-62.5-218.3 0s-62.5 163.8 0 226.3s155.8 62.5 218.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-221.3 87.5-308.8 0s-87.5-229.3 0-316.8s221.3-87.5 308.8 0c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\", \"\"]]\n};\nvar faTabletButton = {\n prefix: 'fad',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", [\"M448 384H0v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zM224 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V384H0V64z\"]]\n};\nvar faRectangleHistoryCircleUser = {\n prefix: 'fad',\n iconName: 'rectangle-history-circle-user',\n icon: [640, 512, [], \"e4a4\", [\"M394.8 512C349.5 480.1 320 427.5 320 368c0-97.2 78.8-176 176-176c2.5 0 5 .1 7.5 .2c-11-19.2-31.8-32.2-55.5-32.2L64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64l330.8 0zM464 104c0-13.3-10.7-24-24-24L72 80c-13.3 0-24 10.7-24 24s10.7 24 24 24l368 0c13.3 0 24-10.7 24-24zM416 24c0-13.3-10.7-24-24-24H120C106.7 0 96 10.7 96 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-32c-30.2 0-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7C553.5 468.1 526.2 480 496 480zm0-192a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faBuildingLock = {\n prefix: 'fad',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V193.6c-19.8 20.2-32 47.9-32 78.4v24.6c-19.1 11.1-32 31.7-32 55.4V480c0 11.7 3.1 22.6 8.6 32H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M432 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faChartLineUp = {\n prefix: 'fad',\n iconName: 'chart-line-up',\n icon: [512, 512, [], \"e0e5\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M406.6 246.6L439 279c15.1 15.1 41 4.4 41-17V152c0-13.3-10.7-24-24-24H345.9c-21.4 0-32.1 25.9-17 41l32.4 32.4L304 258.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L208 253.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0l80-80z\"]]\n};\nvar faMailbox = {\n prefix: 'fad',\n iconName: 'mailbox',\n icon: [576, 512, [128234], \"f813\", [\"M512 448H224c35.3 0 64-28.7 64-64V208c0-79.5-64.5-144-144-144H432c79.5 0 144 64.5 144 144V384c0 35.3-28.7 64-64 64zM400 192c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H464 400z\", \"M0 208C0 128.5 64.5 64 144 64s144 64.5 144 144V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V208zm64 0c0 8.8 7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm336-16h64 32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V224H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faTruckBolt = {\n prefix: 'fad',\n iconName: 'truck-bolt',\n icon: [640, 512, [], \"e3d0\", [\"M266.3 51.7c5.7 4.8 7.4 12.8 4.1 19.4L233.9 144H288c6.9 0 13 4.4 15.2 10.9s-.1 13.7-5.6 17.9l-128 96c-5.9 4.5-14.2 4.2-19.9-.5s-7.4-12.8-4.1-19.4L182.1 176H128c-6.9 0-13-4.4-15.2-10.9s.1-13.7 5.6-17.9l128-96c5.9-4.5 14.2-4.2 19.9 .5zM96 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm288 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576h-1.1c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM266.3 51.7c-5.7-4.8-13.9-5-19.9-.5l-128 96c-5.5 4.1-7.8 11.3-5.6 17.9s8.3 10.9 15.2 10.9h54.1l-36.4 72.8c-3.3 6.6-1.6 14.7 4.1 19.4s13.9 5 19.9 .5l128-96c5.5-4.1 7.8-11.3 5.6-17.9S294.9 144 288 144H233.9l36.4-72.8c3.3-6.6 1.6-14.7-4.1-19.4z\"]]\n};\nvar faPizzaSlice = {\n prefix: 'fad',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", [\"M432 400l0 1.6L20.1 511.5c-5.5 1.5-11.4-.1-15.4-4.1s-5.6-9.9-4.1-15.4L110.4 80l1.6 0c176.7 0 320 143.3 320 320zM208 240a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M169.7 .9c-22.8-1.6-41.9 14-47.5 34.7L110.4 80l1.6 0c176.7 0 320 143.3 320 320l0 1.6 44.4-11.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9zM208 240a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMoneyBillWave = {\n prefix: 'fad',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", [\"M512 160c-33.9 0-61.6-26.3-63.9-59.7c-40 .9-83.5 10.5-134.2 23.2c-4.6 1.2-9.4 2.3-14.2 3.6l0 0c-51.1 12.8-110.4 27.8-172.9 28.6C121.5 185.4 95.4 208 64 208V352c33.9 0 61.6 26.3 63.9 59.7c40-.9 83.5-10.5 134.2-23.2c4.7-1.2 9.4-2.3 14.2-3.6l0 0c51.1-12.8 110.4-27.8 172.9-28.6c5.5-29.8 31.6-52.4 63-52.4V160zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM512 160V304c-31.4 0-57.5 22.6-63 52.4c-62.5 .8-121.8 15.7-172.9 28.6l0 0c-4.8 1.2-9.5 2.4-14.2 3.6c-50.7 12.6-94.1 22.2-134.2 23.2C125.6 378.3 97.9 352 64 352V208c31.4 0 57.5-22.6 63-52.4c62.5-.8 121.8-15.7 172.9-28.6l0 0c4.8-1.2 9.5-2.4 14.2-3.6c50.7-12.6 94.1-22.2 134.2-23.2c2.2 33.3 30 59.7 63.9 59.7z\"]]\n};\nvar faChartArea = {\n prefix: 'fad',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M448 352H160c-17.7 0-32-14.3-32-32V236c0-7.8 2.8-15.2 7.9-21.1l79.4-90.8c13-14.8 36.1-14.5 48.7 .6l39.2 47c9 10.8 25.4 11.6 35.4 1.6l21-21c13.2-13.2 34.8-12.4 46.9 1.8L472.3 231c5 5.8 7.7 13.2 7.7 20.8V320c0 17.7-14.3 32-32 32z\"]]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'fad',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", [\"M416 159L276.8 39.7c-12-10.3-29.7-10.3-41.7 0l-224 192C1 240.4-2.7 254.5 2 267.1S18.6 288 32 288H64V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32h64.8c.1 0 .1 0 .2 0h-1V159z\", \"M512 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V192 512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H512z\"]]\n};\nvar faCircleThreeQuartersStroke = {\n prefix: 'fad',\n iconName: 'circle-three-quarters-stroke',\n icon: [512, 512, [], \"e5d4\", [\"M256 0C397.4 0 512 114.6 512 256H448c0-106-86-192-192-192V0z\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256H288c-17.7 0-32-14.3-32-32V0z\"]]\n};\nvar faPersonCircleMinus = {\n prefix: 'fad',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c1.4 2.3 3.1 4.5 4.9 6.3c7.9-23 20.5-43.9 36.6-61.5l-44.9-74.7c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm64-128l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]]\n};\nvar faScalpel = {\n prefix: 'fad',\n iconName: 'scalpel',\n icon: [512, 512, [], \"f61d\", [\"M169.4 320l-4.7 4.7-160 160c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9c18.1 0 84.1-8.4 145.9-33.1C222.5 454.6 288 410.9 288 336V320H272 176h-6.6z\", \"M441.2 0c-20.6 0-40.2 9-53.7 24.6L155.9 293.6c-4.1 4.7-5 11.4-2.4 17.1s8.3 9.3 14.5 9.3H300.9c13.9 0 27.1-6 36.3-16.5L493.8 122.9C505.5 109.4 512 92.1 512 74.2V70.8C512 31.7 480.3 0 441.2 0z\"]]\n};\nvar faBan = {\n prefix: 'fad',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", [\"M99.5 144.8L367.2 412.5c17.5-12.5 32.8-27.8 45.3-45.3L144.8 99.5C127.3 112 112 127.3 99.5 144.8z\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]]\n};\nvar faCancel = faBan;\nvar faBellExclamation = {\n prefix: 'fad',\n iconName: 'bell-exclamation',\n icon: [448, 512, [], \"f848\", [\"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zM192 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm56-184v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M224 112c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm32 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm13.3 173.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\"]]\n};\nvar faCircleBookmark = {\n prefix: 'fad',\n iconName: 'circle-bookmark',\n icon: [512, 512, [\"bookmark-circle\"], \"e100\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 176c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 6.2-3.5 11.8-9.1 14.4s-12.1 1.9-16.9-1.9l-70-56-70 56c-4.8 3.8-11.4 4.6-16.9 1.9s-9.1-8.3-9.1-14.4V176z\", \"M208 128c-26.5 0-48 21.5-48 48V368c0 6.2 3.5 11.8 9.1 14.4s12.1 1.9 16.9-1.9l70-56 70 56c4.8 3.8 11.4 4.6 16.9 1.9s9.1-8.3 9.1-14.4V176c0-26.5-21.5-48-48-48H208z\"]]\n};\nvar faBookmarkCircle = faCircleBookmark;\nvar faEggFried = {\n prefix: 'fad',\n iconName: 'egg-fried',\n icon: [512, 512, [], \"f7fc\", [\"M415.8 116c-42.4-10.9-101.2-45.1-131.5-76.7c-49-51-130-52.6-181-3.6C80.1 58 67.1 87 64.5 116.8C60.2 166.1 46.2 229.1 21.4 272C-22.7 348.5 3.5 446.4 80 490.6s174.4 18 218.6-58.6c18.8-32.5 66.1-60 103.3-65.2c20.5-2.9 40.6-10.8 58.4-24c56.8-42.1 68.7-122.3 26.6-179.1c-18.2-24.6-43.5-40.7-71-47.8zM224 128a112 112 0 1 1 0 224 112 112 0 1 1 0-224z\", \"M224 352a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM176 232c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-39.8 32.2-72 72-72c8.8 0 16 7.2 16 16s-7.2 16-16 16c-22.1 0-40 17.9-40 40z\"]]\n};\nvar faFaceWeary = {\n prefix: 'fad',\n iconName: 'face-weary',\n icon: [512, 512, [], \"e3a1\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm46.6-164c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\", \"M211.3 187.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]]\n};\nvar faUniformMartialArts = {\n prefix: 'fad',\n iconName: 'uniform-martial-arts',\n icon: [640, 512, [], \"e3d1\", [\"M180 0h28 9.6c12.3 0 23.5 7 28.8 18.1l61.1 126.7L253 288H144V133.1L98 216.7c-1.3 2.4-2 5-2 7.7V384c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224.4c0-18.9 4.8-37.4 13.9-54L80.3 49.7C95.9 21.2 124.9 2.8 157 .3c1-.2 2-.3 3-.3h4.4H180zM389.1 20.6C393.8 8.2 405.7 0 419 0h13 28 15.6H480c1 0 2 .1 3 .3c32.1 2.5 61 20.9 76.7 49.5l66.4 120.7c9.1 16.5 13.9 35.1 13.9 54V384c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224.4c0-2.7-.7-5.3-2-7.7l-46-83.7V288H287.2l52.7-138.3L389.1 20.6zM496 448c0 35.3-28.7 64-64 64H208c-35.3 0-64-28.7-64-64V384h86.3l-14.2 21.4c-14.7 22.1-8.7 51.9 13.3 66.6s51.9 8.7 66.6-13.3L320 422.5l24.1 36.1c14.7 22.1 44.5 28 66.6 13.3s28-44.5 13.3-66.6L409.7 384H496v64z\", \"M496 288H144v64H290.1l-47.4 71.1c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l50.7-76 50.7 76c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2L349.9 352H496V288z\"]]\n};\nvar faCameraRotate = {\n prefix: 'fad',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", [\"M213.1 64.8L202.7 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H437.3L426.9 64.8C420.4 45.2 402.1 32 381.4 32H258.6c-20.7 0-39 13.2-45.5 32.8zM448 256c0 8.8-7.2 16-16 16H355.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L371 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L249 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C257.4 172.7 288 160 320 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3V256zM192 320c0-8.8 7.2-16 16-16h76.7c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L269 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L391 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C382.6 403.3 352 416 320 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3V320z\", \"M448 179.3V256c0 8.8-7.2 16-16 16H355.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L371 229c-13.6-13.4-31.9-21-51-21c-19.2 0-37.7 7.6-51.3 21.3L249 249c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l19.7-19.7C257.4 172.7 288 160 320 160c31.8 0 62.4 12.6 85 35l23.7-23.7c2.1-2.1 5-3.3 8-3.3c6.2 0 11.3 5.1 11.3 11.3zM192 396.7V320c0-8.8 7.2-16 16-16h76.7c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8L269 347c13.6 13.4 31.9 21 51 21c19.2 0 37.7-7.6 51.3-21.3L391 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-19.7 19.7C382.6 403.3 352 416 320 416c-31.8 0-62.4-12.6-85-35l-23.7 23.7c-2.1 2.1-5 3.3-8 3.3c-6.2 0-11.3-5.1-11.3-11.3z\"]]\n};\nvar faSunDust = {\n prefix: 'fad',\n iconName: 'sun-dust',\n icon: [512, 512, [], \"f764\", [\"M156.7 512c0 0-.1 0-.1 0h.1zM512 355.3c0 .1 0 .1 0 .2v-.2zM391 121L371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l44.5-44.5C142.3 323.3 128 291.3 128 256c0-70.7 57.3-128 128-128c35.3 0 67.3 14.3 90.5 37.5L391 121zm-67.1 67.1C306.5 170.7 282.5 160 256 160c-53 0-96 43-96 96c0 26.5 10.7 50.5 28.1 67.9L323.9 188.1z\", \"M480 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-80 80a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm112 48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM272 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-80 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM400 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faCommentText = {\n prefix: 'fad',\n iconName: 'comment-text',\n icon: [512, 512, [], \"e14d\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM184 160h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V312c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 184c0-13.3 10.7-24 24-24h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V312c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faSprayCanSparkles = {\n prefix: 'fad',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", [\"M384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4C383 51 384 49.4 384 48zm76.4 45.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64l12.4 29.8zm7.2 100.4c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224l-12.4-29.8zM448 144c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6zM160 416a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256zm240 80A80 80 0 1 0 80 336a80 80 0 1 0 160 0z\"]]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faSignalBars = {\n prefix: 'fad',\n iconName: 'signal-bars',\n icon: [640, 512, [\"signal-alt\", \"signal-alt-4\", \"signal-bars-strong\"], \"f690\", [\"\", \"M560 0c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V48c0-26.5-21.5-48-48-48zM352 176V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zM240 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\"]]\n};\nvar faSignalAlt = faSignalBars;\nvar faSignalAlt4 = faSignalBars;\nvar faSignalBarsStrong = faSignalBars;\nvar faDiamondExclamation = {\n prefix: 'fad',\n iconName: 'diamond-exclamation',\n icon: [512, 512, [], \"e405\", [\"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faStar = {\n prefix: 'fad',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", [\"M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z\", \"\"]]\n};\nvar faDialMin = {\n prefix: 'fad',\n iconName: 'dial-min',\n icon: [576, 512, [], \"e161\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M192.8 416.7c62.6 46.2 151.3 41 208-15.7c62.5-62.5 62.5-163.8 0-226.3s-163.8-62.5-226.3 0c-56.7 56.7-62 145.4-15.7 208L270.8 270.9c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L192.8 416.7z\"]]\n};\nvar faRepeat = {\n prefix: 'fad',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", [\"M480 256c17.7 0 32 14.3 32 32c0 88.4-71.6 160-160 160H192l0 32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32H352c53 0 96-43 96-96c0-17.7 14.3-32 32-32z\", \"M32 256c-17.7 0-32-14.3-32-32C0 135.6 71.6 64 160 64H320l0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V128H160c-53 0-96 43-96 96c0 17.7-14.3 32-32 32z\"]]\n};\nvar faCross = {\n prefix: 'fad',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", [\"M176 0c-26.5 0-48 21.5-48 48v80H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h80V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V256h80c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H256V48c0-26.5-21.5-48-48-48H176z\", \"M128 256H256v32H128V256z\"]]\n};\nvar faPageCaretDown = {\n prefix: 'fad',\n iconName: 'page-caret-down',\n icon: [384, 512, [\"file-caret-down\"], \"e429\", [\"M320 512c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320zM192 352c-4.5 0-8.8-1.9-11.8-5.2l-75.7-82.6c-14.1-15.4-3.2-40.2 17.7-40.2l139.6 0c20.9 0 31.8 24.8 17.7 40.2l-75.7 82.6c-3 3.3-7.3 5.2-11.8 5.2z\", \"M180.2 346.8c3 3.3 7.3 5.2 11.8 5.2s8.8-1.9 11.8-5.2l75.7-82.6c14.1-15.4 3.2-40.2-17.7-40.2H122.2c-20.9 0-31.8 24.8-17.7 40.2l75.7 82.6z\"]]\n};\nvar faFileCaretDown = faPageCaretDown;\nvar faBox = {\n prefix: 'fad',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", [\"M93.7 32C75.5 32 58.9 42.3 50.7 58.5L0 160H208V32H93.7zM240 32V160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240z\", \"M240 160H448V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160H208V32h32V160z\"]]\n};\nvar faVenusMars = {\n prefix: 'fad',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", [\"M271.9 360.6c19.3-10.1 36.9-23.1 52.1-38.4c20 18.5 46.7 29.8 76.1 29.8c61.9 0 112-50.1 112-112s-50.1-112-112-112c-7.2 0-14.3 .7-21.1 2c-4.9-21.5-13-41.7-24-60.2C369.3 66 384.4 64 400 64c37 0 71.4 11.4 99.8 31l20.6-20.6L487 41c-6.9-6.9-8.9-17.2-5.2-26.2S494.3 0 504 0H616c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L545 140.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4zM592 48l0 0h0v0zM176 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M176 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H208v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H112c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C62.1 334.1 0 262.3 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zm32 0c0-4.8-.2-9.6-.5-14.3c5.3-1.1 10.8-1.7 16.5-1.7c44.2 0 80 35.8 80 80s-35.8 80-80 80c-21.5 0-41-8.5-55.3-22.2C369.4 263.5 384 221.5 384 176z\"]]\n};\nvar faClockSevenThirty = {\n prefix: 'fad',\n iconName: 'clock-seven-thirty',\n icon: [512, 512, [], \"e351\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V335.3l-20 30c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l64-96c5.9-8.8 16.8-12.7 26.9-9.7s17 12.4 17 23V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M256 416c-13.3 0-24-10.7-24-24V335.3l-20 30c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l64-96c5.9-8.8 16.8-12.7 26.9-9.7s17 12.4 17 23V392c0 13.3-10.7 24-24 24z\"]]\n};\nvar faArrowPointer = {\n prefix: 'fad',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", [\"M121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320H144l-22.8 26z\", \"M0 426V55.2C0 42.4 10.4 32 23.2 32c5.7 0 11.2 2.1 15.4 5.9l274 243.6c4.7 4.2 7.4 10.2 7.4 16.5c0 12.2-9.9 22.1-22.1 22.1H144L38.6 440.5C34.4 445.3 28.4 448 22 448c-12.2 0-22-9.9-22-22z\"]]\n};\nvar faMousePointer = faArrowPointer;\nvar faClockFourThirty = {\n prefix: 'fad',\n iconName: 'clock-four-thirty',\n icon: [512, 512, [], \"e34b\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V300.8L338.7 340c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-96-64c-7.4-4.9-16.8-5.4-24.6-1.2S232 247.1 232 256V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 416c13.3 0 24-10.7 24-24V300.8L338.7 340c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-96-64c-7.4-4.9-16.8-5.4-24.6-1.2S232 247.1 232 256V392c0 13.3 10.7 24 24 24z\"]]\n};\nvar faSignalBarsGood = {\n prefix: 'fad',\n iconName: 'signal-bars-good',\n icon: [640, 512, [\"signal-alt-3\"], \"f693\", [\"M512 48c0-26.5 21.5-48 48-48s48 21.5 48 48V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V48z\", \"M400 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 304V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48s-48 21.5-48 48zM32 432v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]]\n};\nvar faSignalAlt3 = faSignalBarsGood;\nvar faCactus = {\n prefix: 'fad',\n iconName: 'cactus',\n icon: [512, 512, [127797], \"f8a7\", [\"M96 144c0-26.5-21.5-48-48-48S0 117.5 0 144v64c0 61.9 50.1 112 112 112h48V224H112c-8.8 0-16-7.2-16-16V144zM416 272v64c0 8.8-7.2 16-16 16H352v96h48c61.9 0 112-50.1 112-112V272c0-26.5-21.5-48-48-48s-48 21.5-48 48z\", \"M160 96c0-53 43-96 96-96s96 43 96 96V464c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V96zm80 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faLightbulbGear = {\n prefix: 'fad',\n iconName: 'lightbulb-gear',\n icon: [576, 512, [], \"e5fd\", [\"M240.6 384c2.3-13.3 10.5-24.9 21.4-31.8c-16.6-10.6-26.7-31.7-20-53.3c4-12.9 9.4-25.5 16.4-37.6s15.2-23.1 24.4-33c15.7-16.9 39.6-18.5 57.2-8.7v-.9c0-17.8 10.2-35.6 28-43.3C367.6 78.4 289 0 192 0C94.8 0 16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H240.6zm5 32H112v16c0 44.2 35.8 80 80 80c35.2 0 65.1-22.8 75.8-54.4c-3.3-4.7-6.4-9.5-9.4-14.6c-5.1-8.8-9.3-17.8-12.8-27zM192 96c-44.2 0-80 35.8-80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16z\", \"M383.3 203.4c-6.8 1.5-11.3 7.8-11.3 14.8v17.4c0 7.9-4.9 15-11.7 18.9c-6.8 3.9-15.2 4.5-22 .6l-13.6-7.8c-6.1-3.5-13.7-2.7-18.5 2.4c-7.5 8.1-14.3 17.2-20.1 27.2s-10.3 20.4-13.5 31c-2.1 6.7 1.1 13.7 7.2 17.2l14 8.1c6.5 3.8 10.1 11 10.1 18.6s-3.5 14.8-10.1 18.6l-14 8.1c-6.1 3.5-9.2 10.5-7.2 17.2c3.3 10.6 7.8 21 13.5 31s12.5 19.1 20.1 27.2c4.8 5.1 12.5 5.9 18.5 2.4l13.5-7.8c6.8-3.9 15.2-3.3 22 .6c6.9 3.9 11.7 11 11.7 18.9l0 17.4c0 7 4.5 13.3 11.3 14.8c10.5 2.4 21.5 3.7 32.7 3.7s22.2-1.3 32.7-3.7c6.8-1.5 11.3-7.8 11.3-14.8l0-17.7c0-7.8 4.8-14.8 11.6-18.7c6.7-3.9 15.1-4.5 21.8-.6l13.8 7.9c6.1 3.5 13.7 2.7 18.5-2.4c7.6-8.1 14.3-17.2 20.1-27.2s10.3-20.4 13.5-31c2.1-6.7-1.1-13.7-7.2-17.2l-14.4-8.3c-6.5-3.7-10-10.9-10-18.4s3.5-14.7 10-18.4l14.4-8.3c6.1-3.5 9.2-10.5 7.2-17.2c-3.3-10.6-7.8-21-13.5-31s-12.5-19.1-20.1-27.2c-4.8-5.1-12.5-5.9-18.5-2.4l-13.8 7.9c-6.7 3.9-15.1 3.3-21.8-.6c-6.8-3.9-11.6-10.9-11.6-18.7V218.2c0-7-4.5-13.3-11.3-14.8c-10.5-2.4-21.5-3.7-32.7-3.7s-22.2 1.3-32.7 3.7zM416 303.7a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faMaximize = {\n prefix: 'fad',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", [\"M56 32H200c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 79 79-64 64-79-79L73 217c-6.9 6.9-17.2 8.9-26.2 5.2S32 209.7 32 200V56c0-13.3 10.7-24 24-24zM256 320l64-64 79 79 40-40c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2V456c0 13.3-10.7 24-24 24H312c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l40-40-79-79z\", \"M480 56V200c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L177 399l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H56c-13.3 0-24-10.7-24-24V312c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L335 113 295 73c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H456c13.3 0 24 10.7 24 24z\"]]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'fad',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", [\"M32 64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V448H32V64zm191.2 37.1c2.3-6.8-.3-14.3-6.3-18.3s-13.9-3.6-19.3 1.1l-112 96c-5.1 4.4-6.9 11.4-4.6 17.7s8.3 10.4 15 10.4h57.8l-25 74.9c-2.3 6.8 .3 14.3 6.3 18.3s13.9 3.6 19.3-1.1l112-96c5.1-4.4 6.9-11.4 4.6-17.7s-8.3-10.4-15-10.4H198.2l25-74.9z\", \"M480 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88H320v48h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3V144c0-8.8-7.2-16-16-16H544V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H480V80zM0 480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faShapes = {\n prefix: 'fad',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", [\"M288 0c-11.2 0-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2H384c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160C309.7 5.9 299.2 0 288 0zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\", \"M328 272c-22.1 0-40 17.9-40 40V456c0 22.1 17.9 40 40 40H472c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328z\"]]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faPlaneTail = {\n prefix: 'fad',\n iconName: 'plane-tail',\n icon: [512, 512, [], \"e22c\", [\"M61.5 308.8L.8 39C-3.7 19 11.5 0 32 0h76.9c17.3 0 33.9 7 46 19.5L384 256H264.7c-7.9 0-15.8 1.1-23.4 3.2L61.5 308.8z\", \"M512 464V304 280 256H488 264.7c-7.9 0-15.8 1.1-23.4 3.2L45.9 313.1C18.8 320.5 0 345.2 0 373.4c0 26 16.1 49.3 40.4 58.5l196.1 74.4c10 3.8 20.5 5.7 31.2 5.7H488h24V488 464zM216 352H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faGaugeSimpleMax = {\n prefix: 'fad',\n iconName: 'gauge-simple-max',\n icon: [512, 512, [\"tachometer-fastest\"], \"f62b\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm192 96c0-35.3 28.7-64 64-64c14.1 0 27.2 4.6 37.8 12.4l117.5-72.8c11.3-7 26.1-3.5 33 7.8s3.5 26.1-7.8 33L319.1 341.2c.6 3.5 .9 7.1 .9 10.8c0 35.3-28.7 64-64 64s-64-28.7-64-64z\", \"M411.4 227.6c11.3-7 26.1-3.5 33 7.8s3.5 26.1-7.8 33L319.1 341.2c.6 3.5 .9 7.1 .9 10.8c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c14.1 0 27.2 4.6 37.8 12.4l117.6-72.8z\"]]\n};\nvar faTachometerFastest = faGaugeSimpleMax;\nvar faCircleU = {\n prefix: 'fad',\n iconName: 'circle-u',\n icon: [512, 512, [], \"e127\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 168V288c0 35.3 28.7 64 64 64s64-28.7 64-64V168c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V168c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M168 144c13.3 0 24 10.7 24 24V288c0 35.3 28.7 64 64 64s64-28.7 64-64V168c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V168c0-13.3 10.7-24 24-24z\"]]\n};\nvar faShieldSlash = {\n prefix: 'fad',\n iconName: 'shield-slash',\n icon: [640, 512, [], \"e24b\", [\"M320 0c4.6 0 9.2 1 13.4 2.9L521.7 82.8c22 9.3 38.4 31 38.3 57.2c-.3 58.7-14.7 146.2-62.1 225L131 77.4 306.7 2.9C310.8 1 315.4 0 320 0zM80.6 159.5L437.5 440.7c-25.2 24-55.3 45.4-91.1 62.5c-16.7 8-36.1 8-52.8 0C132 425.8 86.1 261.5 80.6 159.5z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faSquarePhoneHangup = {\n prefix: 'fad',\n iconName: 'square-phone-hangup',\n icon: [448, 512, [\"phone-square-down\"], \"e27a\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM359.4 310c-5.3 8.6-16.8 12.3-26.7 8.5l-46.2-17.6c-8.7-3.3-14.1-11.6-13.1-20.3l2.9-26.7c-33.8-10.8-70.8-10.8-104.6 0l2.9 26.7c.9 8.7-4.4 16.9-13.1 20.3l-46.2 17.6c-9.9 3.8-21.4 .2-26.7-8.5L66.8 274.8C62 267 63.4 257.3 70.3 251c84.9-78.6 222.6-78.6 307.5 0c6.8 6.3 8.2 16.1 3.4 23.8L359.4 310z\", \"M332.7 318.5c9.9 3.8 21.4 .2 26.7-8.5l21.7-35.2c4.8-7.8 3.4-17.5-3.4-23.8c-84.9-78.6-222.6-78.6-307.5 0c-6.8 6.3-8.2 16.1-3.4 23.8L88.6 310c5.3 8.6 16.8 12.3 26.7 8.5l46.2-17.6c8.7-3.3 14.1-11.6 13.1-20.3L171.7 254c33.8-10.8 70.8-10.8 104.6 0l-2.9 26.7c-.9 8.7 4.4 16.9 13.1 20.3l46.2 17.6z\"]]\n};\nvar faPhoneSquareDown = faSquarePhoneHangup;\nvar faArrowUpLeft = {\n prefix: 'fad',\n iconName: 'arrow-up-left',\n icon: [384, 512, [], \"e09d\", [\"M96 205.3L297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L141.3 160H96v45.3z\", \"M32 128c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H96V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V128z\"]]\n};\nvar faTransporter1 = {\n prefix: 'fad',\n iconName: 'transporter-1',\n icon: [512, 512, [], \"e043\", [\"M480 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 160l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 160zM64 352l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 352 6.6 359.3C2.7 360.4 0 363.9 0 368s2.7 7.6 6.6 8.7L32 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 352zm112-32c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\", \"M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM216 512h80 88c17.7 0 32-14.3 32-32s-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h88zM359 276c6.3 7.8 15.4 11.9 24.7 12h.3v0c7 0 14.1-2.3 20-7c13.8-11.1 16-31.2 5-45l-57.7-72c-18.2-22.7-45.8-36-74.9-36H235.6c-29.1 0-56.7 13.2-74.9 36L103 236c-11.1 13.8-8.8 33.9 5 45c5.9 4.7 13 7 20 7v0h.3c9.3-.1 18.5-4.2 24.7-12l31-38.7V288H328V237.3L359 276z\"]]\n};\nvar faPeanuts = {\n prefix: 'fad',\n iconName: 'peanuts',\n icon: [640, 512, [129372], \"e431\", [\"M560 0H492c-20.1 0-39.2 4-56.7 11.2c-17.4 7.2-33.7 17.8-47.8 32l-.4 .4C373 57.8 362.4 74 355.2 91.4c-4 9.5-6.9 19.6-8.8 30c-4.8 24.5-12.6 49.1-30.3 66.7s-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C132 324.8 128 343.9 128 364v68c0 44.2 35.8 80 80 80h68c40.5 0 77.1-16.2 103.8-42.5c.6-.6 1.1-1.1 1.7-1.7c13.8-14 24.2-30.1 31.3-47.2c4-9.5 6.9-19.6 8.8-30c4.8-24.5 12.6-49.1 30.3-66.7s42.2-25.4 66.7-30.3c10.4-1.9 20.5-4.9 30-8.8c17.3-7.2 33.5-17.7 47.6-31.7l.9-.9C623.6 225.4 640 188.6 640 148V80c0-44.2-35.8-80-80-80zM524.8 128a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm0 64a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-64 0a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-224 224a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM320 396.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zm0-64a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4z\", \"M161.7 28.3L212.6 5.7c33.1-14.7 71.8 .1 86.6 33.2l22.7 50.9c12.4 27.8 13.5 57.8 5.2 84.8c-3.1 4.8-6.7 9.4-10.9 13.5c-17.6 17.6-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C132 324.8 128 343.9 128 364v68c0 23.4 10 44.4 26 59l-34.3 15.3c-33.1 14.7-71.8-.2-86.6-33.2L10.5 422.2C3.8 407.2 .4 391.5 0 376c-.4-15.5 2.2-31.3 8-46.6C14 314 22.7 300.5 33.4 289.3c5.8-6.1 12.3-11.7 19.5-16.6c16.7-11.8 32.5-25.8 39.8-44.9s5-40.1 .4-60c-2.1-8.4-3.2-17-3.4-25.4c-.4-15.4 2.1-31.1 7.9-46.4l.2-.5c5.9-15.3 14.5-28.7 25.2-39.9c10.7-11.2 23.6-20.6 38.7-27.3zM524.8 128a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm0 64a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-64 0a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-224 224a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM320 396.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zm0-64a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4z\"]]\n};\nvar faShuffle = {\n prefix: 'fad',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", [\"M438.6 41.4c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6V96H352c-30.2 0-58.7 14.2-76.8 38.4L224 202.7 264 256l62.4-83.2c6-8.1 15.5-12.8 25.6-12.8h32v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c6-6 9.4-14.1 9.4-22.6s-3.4-16.6-9.4-22.6l-64-64zM224 309.3L184 256l-62.4 83.2c-6 8.1-15.5 12.8-25.6 12.8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96c30.2 0 58.7-14.2 76.8-38.4L224 309.3z\", \"M352 416c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8h32V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H352z\"]]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'fad',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", [\"M146.1 228.4L91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5l24.6-55.4-5.7-3.6c-25.1-15.7-36.1-46.5-26.8-74.5l8.5-25.6zm60.4 21.3c-.1 .2-.1 .5-.2 .7l.2-.7z\", \"M272 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM163.2 160c-14.1 0-27.5 5.6-37.5 15.5l-23.1 23.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l23.1-23.1C102.4 108.3 132.2 96 163.2 96c11.7 0 23.3 1.7 34.4 5.2l48.7 15c36.4 11.2 65.9 38 80.5 73.1l6.3 15c5 11.9 16.6 19.7 29.5 19.7H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H362.7c-38.8 0-73.7-23.3-88.6-59.1l-5.1-12.3L238 299l56.7 35.4c18.1 11.3 26.6 33.3 20.7 53.9L286.8 488.8c-4.9 17-22.6 26.8-39.6 22s-26.8-22.6-22-39.6l25.4-88.8-86.2-53.9c-25.1-15.7-36.1-46.5-26.8-74.5l31.2-93.7c-1.9-.2-3.7-.3-5.6-.3z\"]]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'fad',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", [\"M0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 96v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\", \"M64 160c0-17.7 14.3-32 32-32H224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160z\"]]\n};\nvar faGripLinesVertical = {\n prefix: 'fad',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", [\"M128 64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64z\", \"M0 64C0 46.3 14.3 32 32 32s32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64z\"]]\n};\nvar faBinBottlesRecycle = {\n prefix: 'fad',\n iconName: 'bin-bottles-recycle',\n icon: [640, 512, [], \"e5f6\", [\"M128 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24zm0 72H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192H32c0-53 43-96 96-96zm447.1 96H384c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5z\", \"M0 256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32L583.8 457c-4.5 31.5-31.5 55-63.4 55h-401c-31.8 0-58.9-23.4-63.4-55L32 288c-17.7 0-32-14.3-32-32zm319.9 64c4.6 0 9 2.3 11.5 6.2l8.5 12.9c4.8 7.3 14.5 9.4 21.8 4.8c7.6-4.8 9.8-14.9 4.9-22.4l-8.5-12.9c-8.5-12.9-22.8-20.6-38.2-20.6c-15.3 0-29.6 7.7-38.1 20.4l-7.6 11.4c-5 7.5-2.8 17.7 4.8 22.4c7.3 4.6 17 2.5 21.8-4.7l7.6-11.4c2.6-3.8 6.9-6.1 11.5-6.1zm-59.4 48.4c-7.3-4.6-17-2.5-21.8 4.7l-7.9 11.9c-4.4 6.7-6.8 14.5-6.8 22.5c0 22.4 18.2 40.6 40.6 40.6h25.2c8.8 0 16-7.2 16-16s-7.2-16-16-16H264.6c-4.7 0-8.6-3.8-8.6-8.6c0-1.7 .5-3.3 1.4-4.7l7.9-11.9c5-7.5 2.8-17.7-4.8-22.4zM337.7 432c0 8.8 7.2 16 16 16h20.9c22.4 0 40.6-18.2 40.6-40.6c0-7.9-2.3-15.7-6.7-22.4l-6.6-10.1c-4.8-7.3-14.5-9.4-21.8-4.8c-7.6 4.8-9.8 14.9-4.9 22.4l6.6 10.1c.9 1.4 1.4 3.1 1.4 4.7c0 4.8-3.9 8.6-8.6 8.6H353.7c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faArrowUpFromSquare = {\n prefix: 'fad',\n iconName: 'arrow-up-from-square',\n icon: [512, 512, [], \"e09c\", [\"M80 96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H80z\", \"M233.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96z\"]]\n};\nvar faFileDashedLine = {\n prefix: 'fad',\n iconName: 'file-dashed-line',\n icon: [640, 512, [\"page-break\"], \"f877\", [\"M192 0c-35.3 0-64 28.7-64 64V256H512V160H384c-17.7 0-32-14.3-32-32V0H192zM512 368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V368zM384 0V128H512L384 0z\", \"M32 312c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zm224 0c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24zm192 0c0-13.3 10.7-24 24-24H584c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faPageBreak = faFileDashedLine;\nvar faBracketCurlyRight = {\n prefix: 'fad',\n iconName: 'bracket-curly-right',\n icon: [256, 512, [], \"7d\", [\"M192 128c0-53-43-96-96-96H64C46.3 32 32 46.3 32 64s14.3 32 32 32H96c17.7 0 32 14.3 32 32v37.5c0 25.5 10.1 49.9 28.1 67.9L178.7 256l-22.6 22.6c-18 18-28.1 42.4-28.1 67.9V384c0 17.7-14.3 32-32 32H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H96c53 0 96-43 96-96V346.5c0-8.5 3.4-16.6 9.4-22.6l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3l-45.3-45.3c-6-6-9.4-14.1-9.4-22.6V128z\", \"\"]]\n};\nvar faSpider = {\n prefix: 'fad',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", [\"M144.6 1.6c-12.4-4.8-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4 24.9 8.3V174.1l-48.3-48.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6c4.8-12.4-1.4-26.3-13.8-31zM360.9 217.1l57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L336 174.1v51.3l24.9-8.3z\", \"M221.5 87.8c9.1-4.4 18.5 3.3 18.5 13.4V112c0 8.8 7.2 16 16 16s16-7.2 16-16V101.2c0-10.1 9.4-17.7 18.5-13.4C317.4 100.7 336 128.2 336 160v65.4l105.2-35.1c2.4-.8 4.3-2.7 5.1-5.1l18.9-56.8c4.2-12.6 17.8-19.4 30.4-15.2s19.4 17.8 15.2 30.4l-18.9 56.8c-5.6 16.7-18.7 29.8-35.4 35.4L395.9 256l60.5 20.2c16.7 5.6 29.8 18.7 35.4 35.4l18.9 56.8c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-18.9-56.8c-.8-2.4-2.7-4.3-5.1-5.1l-80.4-26.8 57.4 57.4c15.6 15.6 20.6 39 12.7 59.7l-32.5 84.6c-4.8 12.4-18.6 18.5-31 13.8s-18.5-18.6-13.8-31l32.5-84.6c1.1-3 .4-6.3-1.8-8.5L352 353.9c-1 52.1-43.6 94.1-96 94.1s-95-41.9-96-94.1l-32.3 32.3c-2.2 2.2-2.9 5.6-1.8 8.5l32.5 84.6c4.8 12.4-1.4 26.3-13.8 31s-26.3-1.4-31-13.8L81.1 412c-7.9-20.7-3-44.1 12.7-59.7l57.4-57.4L70.8 321.7c-2.4 .8-4.3 2.7-5.1 5.1L46.8 383.6C42.6 396.2 29 403 16.4 398.8S-3 381 1.2 368.4l18.9-56.8c5.6-16.7 18.7-29.8 35.4-35.4L116.1 256 55.6 235.8c-16.7-5.6-29.8-18.7-35.4-35.4L1.2 143.6C-3 131 3.8 117.4 16.4 113.2s26.2 2.6 30.4 15.2l18.9 56.8c.8 2.4 2.7 4.3 5.1 5.1L176 225.4V160c0-31.8 18.6-59.3 45.5-72.2z\"]]\n};\nvar faClockThree = {\n prefix: 'fad',\n iconName: 'clock-three',\n icon: [512, 512, [], \"e356\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\", \"M256 96c-13.3 0-24 10.7-24 24V256c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24z\"]]\n};\nvar faHandsBound = {\n prefix: 'fad',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", [\"M64 0C81.7 0 96 14.3 96 32V96v48.8l69.3 92.4c5.7 7.6 16.1 9.6 24.2 4.8c9.7-5.7 12.1-18.7 5.1-27.5L167 180c-10.8-13.5-8.9-33.3 4.4-44.5s33-9.8 44.5 3.2l46.7 52.5C279 209.7 288 233.4 288 258.1V320v32H131.6L46.3 252.5C37.1 241.8 32 228 32 213.9V192 155.8v-.7V96 32C32 14.3 46.3 0 64 0zm96 480H288v32H160V480zm192 0H480v32H352V480zM508.4 352H352V320 258.1c0-24.6 9-48.4 25.4-66.8l46.7-52.5c11.5-13 31.3-14.4 44.5-3.2s15.2 30.9 4.4 44.5l-27.6 34.5c-7 8.8-4.7 21.8 5.1 27.5c8.1 4.8 18.6 2.7 24.2-4.8L544 144.8V96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V96v59.1 .7V192v21.9c0 14.2-5.1 27.9-14.3 38.7L508.4 352z\", \"M128 352c-13.3 0-24 10.7-24 24s10.7 24 24 24H512c13.3 0 24-10.7 24-24s-10.7-24-24-24H128zm0 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H512c13.3 0 24-10.7 24-24s-10.7-24-24-24H128z\"]]\n};\nvar faScalpelLineDashed = {\n prefix: 'fad',\n iconName: 'scalpel-line-dashed',\n icon: [576, 512, [\"scalpel-path\"], \"f61e\", [\"M169.4 320l-4.7 4.7-160 160c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9c18.1 0 84.1-8.4 145.9-33.1C222.5 454.6 288 410.9 288 336V320H272 176h-6.6z\", \"M387.5 24.6C400.9 9 420.5 0 441.2 0C480.3 0 512 31.7 512 70.8v3.4c0 17.9-6.5 35.2-18.2 48.7L337.2 303.5C328 314 314.8 320 300.9 320H168c-6.3 0-11.9-3.6-14.5-9.3s-1.7-12.4 2.4-17.1L387.5 24.6zM240 480h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16zm128 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm128 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faScalpelPath = faScalpelLineDashed;\nvar faFileInvoiceDollar = {\n prefix: 'fad',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM64 80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 72c-8.8 0-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V440c0 8.8 7.2 16 16 16s16-7.2 16-16V422.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V232c0-8.8-7.2-16-16-16z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM208 232c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9l0 17.8c0 8.8 7.2 16 16 16s16-7.2 16-16V422.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V232z\"]]\n};\nvar faPipeSmoking = {\n prefix: 'fad',\n iconName: 'pipe-smoking',\n icon: [640, 512, [], \"e3c4\", [\"M495.3 106.7C513.1 80 543.1 64 575.2 64H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H575.2C521.7 0 471.7 26.7 442 71.2L361.5 192c5.6 .3 11.2 2 16.2 5.3l24 16c5.8 3.9 9.9 9.3 12.2 15.4l81.3-122z\", \"M377.8 197.4c-14.7-9.8-34.6-5.8-44.4 8.9L256 322.3V272c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48v82.9C0 441.7 70.3 512 157.1 512c52.5 0 101.6-26.2 130.7-69.9L410.6 257.8c9.8-14.7 5.8-34.6-8.9-44.4l-24-16z\"]]\n};\nvar faFaceAstonished = {\n prefix: 'fad',\n iconName: 'face-astonished',\n icon: [512, 512, [], \"e36b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-208c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V352c0-26.5 21.5-48 48-48zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\", \"M192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-15.6 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM333 128.9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]]\n};\nvar faWindow = {\n prefix: 'fad',\n iconName: 'window',\n icon: [512, 512, [], \"f40e\", [\"M160 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V224l512 0V416zM288 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M64 32C28.7 32 0 60.7 0 96V224H512V96c0-35.3-28.7-64-64-64H64zM96 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM288 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'fad',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", [\"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l77.1 44.1C350.6 254 320 307.4 320 368c0 54.2 24.5 102.7 63.1 135c-2 5.3-7.1 9-13.1 9c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faEar = {\n prefix: 'fad',\n iconName: 'ear',\n icon: [384, 512, [128066], \"f5f0\", [\"M319.9 335.2c-18.2 16.3-30 39.1-35.1 62.9c-5.6 26.3-18.6 51.3-39 71.7c-56.2 56.2-147.4 56.2-203.6 0C14.1 441.7 0 404.9 0 368V192C0 86 86 0 192 0S384 86 384 192c0 56.9-24.8 108-64.1 143.2zM128 192c0-35.3 28.7-64 64-64s64 28.7 64 64v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-61.9-50.1-112-112-112S80 130.1 80 192v20.2c0 21.2 12 40.6 31 50.1l14 7c1.8 .9 3 2.8 3 4.9c0 1.6-.7 3.2-2 4.2L88.6 309.6c-10.2 8.5-11.6 23.6-3.1 33.8s23.6 11.6 33.8 3.1l37.4-31.2C169 305.1 176 290.1 176 274.2c0-20.2-11.4-38.8-29.5-47.8l-14-7c-2.7-1.4-4.4-4.1-4.4-7.2V192z\", \"M192 128c-35.3 0-64 28.7-64 64v20.2c0 3 1.7 5.8 4.4 7.2l14 7c18.1 9.1 29.5 27.6 29.5 47.8c0 15.9-7 30.9-19.2 41.1l-37.4 31.2c-10.2 8.5-25.3 7.1-33.8-3.1s-7.1-25.3 3.1-33.8L126 278.4c1.2-1 2-2.6 2-4.2c0-2.1-1.2-4-3-4.9l-14-7c-19-9.5-31-28.9-31-50.1V192c0-61.9 50.1-112 112-112s112 50.1 112 112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-35.3-28.7-64-64-64z\"]]\n};\nvar faFileLock = {\n prefix: 'fad',\n iconName: 'file-lock',\n icon: [576, 512, [], \"e3a6\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v33.6c-19.8 20.2-32 47.9-32 78.4v24.6c-19.1 11.1-32 31.7-32 55.4V480c0 11.4 3 22.2 8.3 31.5c-2.7 .3-5.5 .5-8.3 .5H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm80 80c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]]\n};\nvar faDiagramVenn = {\n prefix: 'fad',\n iconName: 'diagram-venn',\n icon: [640, 512, [], \"e15a\", [\"M192 256c0-61 24.4-116.4 64-156.8c23.6 4.8 45.4 14.8 64 28.8c-38.9 29.2-64 75.7-64 128s25.1 98.8 64 128c-18.6 14-40.3 24-64 28.8C216.4 372.4 192 317 192 256zM384 412.8c39.6-40.4 64-95.7 64-156.8s-24.4-116.4-64-156.8c-8.6-8.8-17.9-16.9-27.9-24.1c-.5-.4-1-.7-1.5-1.1c-10.9-7.8-22.4-14.7-34.6-20.5C349.1 39.7 381.6 32 416 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-34.4 0-66.9-7.7-96-21.6c12.2-5.8 23.8-12.7 34.6-20.5c10.5-7.5 20.3-16 29.3-25.2z\", \"M352 352H288c-7.4-9.8-13.7-20.6-18.7-32H370.7c6.5-14.9 10.8-31.1 12.5-48H256.8c-.5-5.3-.8-10.6-.8-16s.3-10.7 .8-16H383.2c-1.7-16.9-6-33.1-12.5-48H269.3c5-11.4 11.3-22.2 18.7-32h64c-29.2-38.9-75.7-64-128-64C135.6 96 64 167.6 64 256s71.6 160 160 160c52.3 0 98.8-25.1 128-64zM0 256a224 224 0 1 1 448 0A224 224 0 1 1 0 256z\"]]\n};\nvar faXRay = {\n prefix: 'fad',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", [\"M480 96H32V416H480V96zM256 128c8.8 0 16 7.2 16 16v16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v32H384c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v48c0 .4 0 .8 0 1.2l50.4-21.6c5.5-2.4 11.4-3.6 17.4-3.6h7.4c20.4 0 36.9 16.5 36.9 36.9c0 8.2-2.8 16.3-7.9 22.8l-19.4 24.8C347 376.8 332.1 384 316.4 384H195.6c-15.7 0-30.6-7.2-40.3-19.6l-19.4-24.8c-5.1-6.5-7.9-14.5-7.9-22.8c0-20.4 16.5-36.9 36.9-36.9h7.4c6 0 11.9 1.2 17.4 3.6L240 305.2c0-.4 0-.8 0-1.2V256H128c-8.8 0-16-7.2-16-16s7.2-16 16-16H240V192H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V144c0-8.8 7.2-16 16-16zM208 352a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm112-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faGoalNet = {\n prefix: 'fad',\n iconName: 'goal-net',\n icon: [640, 512, [], \"e3ab\", [\"M160 144c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H384v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H288v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H192v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V320H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V224H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V144zm32 240h64V320H192v64zm96 0h64V320H288v64zm96 0h64V320H384v64zm64-160H384v64h64V224zm-96 0H288v64h64V224zm-96 0H192v64h64V224z\", \"M96 96c-17.7 0-32 14.3-32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V128C0 75 43 32 96 32H544c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faCoffinCross = {\n prefix: 'fad',\n iconName: 'coffin-cross',\n icon: [384, 512, [], \"e051\", [\"M102.4 10.9l-91 104C4.1 123.3 0 134.2 0 145.4c0 4.4 .6 8.7 1.8 12.9L97.3 488.9c4 13.7 16.5 23.1 30.7 23.1H255.9c14.3 0 26.8-9.4 30.7-23.1l95.5-330.6c1.2-4.2 1.8-8.5 1.8-12.9c0-11.2-4.1-22.1-11.5-30.6l-91-104C275.5 4 266.7 0 257.5 0h-131c-9.2 0-18 4-24.1 10.9zM216 120v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M216 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V328c0 13.3 10.7 24 24 24s24-10.7 24-24V208h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V120z\"]]\n};\nvar faSpellCheck = {\n prefix: 'fad',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", [\"M141.5 19.7C136.6 7.8 124.9 0 112 0S87.4 7.8 82.5 19.7l-66.7 160-13.3 32c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L66.7 224h90.7l5.1 12.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-13.3-32-66.7-160zM112 115.2L130.7 160H93.3L112 115.2zM288 0c-17.7 0-32 14.3-32 32v96 96c0 17.7 14.3 32 32 32h80c44.2 0 80-35.8 80-80c0-23.1-9.8-43.8-25.4-58.4c6-11.2 9.4-24 9.4-37.6c0-44.2-35.8-80-80-80H288zm80 80c0 8.8-7.2 16-16 16H320V64h32c8.8 0 16 7.2 16 16zM320 192V160h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320z\", \"M566.6 265.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L352 434.7 521.4 265.4c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faLocationXmark = {\n prefix: 'fad',\n iconName: 'location-xmark',\n icon: [384, 512, [\"map-marker-times\", \"map-marker-xmark\"], \"f60e\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM111 111c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M145 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faMapMarkerTimes = faLocationXmark;\nvar faMapMarkerXmark = faLocationXmark;\nvar faCircleQuarterStroke = {\n prefix: 'fad',\n iconName: 'circle-quarter-stroke',\n icon: [512, 512, [], \"e5d3\", [\"M64 256c0 106 86 192 192 192s192-86 192-192s-86-192-192-192V0C397.4 0 512 114.6 512 256s-114.6 256-256 256S0 397.4 0 256H64z\", \"M256 0C114.6 0 0 114.6 0 256l224 0c17.7 0 32-14.3 32-32L256 0z\"]]\n};\nvar faLasso = {\n prefix: 'fad',\n iconName: 'lasso',\n icon: [576, 512, [], \"f8c8\", [\"M576 176c0 97.2-128.9 176-288 176c-13.2 0-26.3-.5-39-1.6c4.6 12.8 7 26.5 7 40.6c0 66.8-54.2 121-121 121H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h71c31.5 0 57-25.5 57-57c0-21.6-12.2-41.3-31.5-51l-46.8-23.4 .2-.4C44.7 284.1 0 233.2 0 176C0 78.8 128.9 0 288 0S576 78.8 576 176zM288 288c123.7 0 224-50.1 224-112s-100.3-112-224-112S64 114.1 64 176s100.3 112 224 112z\", \"\"]]\n};\nvar faSlash = {\n prefix: 'fad',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", [\"\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faPersonToPortal = {\n prefix: 'fad',\n iconName: 'person-to-portal',\n icon: [512, 512, [\"portal-enter\"], \"e022\", [\"M352.6 287.5c3.3 .3 6.7 .5 10.1 .5H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-3.5 0-6.8-.6-10-1.6C357.8 96.9 391.4 0 432 0c44.2 0 80 114.6 80 256s-35.8 256-80 256c-40.9 0-74.6-98-79.4-224.5z\", \"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"]]\n};\nvar faPortalEnter = faPersonToPortal;\nvar faCalendarStar = {\n prefix: 'fad',\n iconName: 'calendar-star',\n icon: [512, 512, [], \"f736\", [\"M480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM265.3 250.9l23.6 47.8 52.7 7.7c8.5 1.2 11.9 11.7 5.8 17.7l-38.2 37.2 9 52.5c1.5 8.5-7.5 15-15.1 11L256 400l-47.2 24.8c-7.6 4-16.5-2.5-15.1-11l9-52.5-38.2-37.2c-6.2-6-2.8-16.5 5.8-17.7l52.7-7.7 23.6-47.8c3.8-7.7 14.8-7.7 18.7 0z\", \"M160 0c-17.7 0-32 14.3-32 32V64H80c-26.5 0-48 21.5-48 48v80H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32zM265.3 250.9c-3.8-7.7-14.8-7.7-18.7 0l-23.6 47.8-52.7 7.7c-8.5 1.2-11.9 11.7-5.8 17.7l38.2 37.2-9 52.5c-1.5 8.5 7.5 15 15.1 11L256 400l47.2 24.8c7.6 4 16.5-2.5 15.1-11l-9-52.5 38.2-37.2c6.2-6 2.8-16.5-5.8-17.7l-52.7-7.7-23.6-47.8z\"]]\n};\nvar faComputerMouse = {\n prefix: 'fad',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", [\"M0 192H176V0H160C71.6 0 0 71.6 0 160v32zm0 32V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V224H192 0zm384-32V160C384 71.6 312.4 0 224 0H208V192H384z\", \"M176 192H0v32H192 384V192H208V0H176V192z\"]]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'fad',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", [\"M320 448c0-17.7 14.3-32 32-32l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32z\", \"M342.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faPegasus = {\n prefix: 'fad',\n iconName: 'pegasus',\n icon: [576, 512, [], \"f703\", [\"M76.3 168.8C68.5 181.6 64 196.7 64 212.8c0 3.6 .2 7.1 .7 10.7C54.6 230.8 48 242.6 48 256v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-44.6 33.2-81.5 76.3-87.2z\", \"M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 448C378.4 0 321.7 55.6 320 124.8L184.9 34.7c-4.9-3.3-11.2-3.6-16.4-.8s-8.5 8.2-8.5 14.1c0 48.1 3.8 99.9 26 139.8c9.2 16.6 21.7 31.3 38.2 42.7c-7.2-2.5-14-5.4-20.3-8.8c-22.5-12.1-38.6-29.4-49.9-49.8c-7.3-13.2-12.7-27.8-16.5-43C96 134.3 64 169.8 64 212.8c0 16.8 5 33.1 14.2 47.1l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faFilesMedical = {\n prefix: 'fad',\n iconName: 'files-medical',\n icon: [448, 512, [], \"f7fd\", [\"M352 0H160C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96H384c-17.7 0-32-14.3-32-32V0zM240 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V288H192c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\", \"M352 64V0l96 96H384c-17.7 0-32-14.3-32-32zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24zm216 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V288H192c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]]\n};\nvar faNfcLock = {\n prefix: 'fad',\n iconName: 'nfc-lock',\n icon: [576, 512, [], \"e1f8\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H320V416H112c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H320V352c0-23.7 12.9-44.4 32-55.4V272 144c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48v49.6c16.8-17.1 39.1-28.9 64-32.5V96c0-35.3-28.7-64-64-64H64z\", \"M432 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faPersonSkiLift = {\n prefix: 'fad',\n iconName: 'person-ski-lift',\n icon: [512, 512, [\"ski-lift\"], \"f7c8\", [\"M240 0c8.8 0 16 7.2 16 16V198.3l-32 8.5V16c0-8.8 7.2-16 16-16zM13.6 178.3c12-5.7 26.3-.7 32 11.3l65 135.8c8.3 17.4 28 26.4 46.6 21.3l36.5-9.9c12.8-3.5 26 4.1 29.5 16.8s-4.1 26-16.8 29.5l-36.5 9.9c-41 11.2-84.2-8.6-102.5-46.9L2.3 210.4c-5.7-12-.7-26.3 11.3-32zM488 288c13.3 0 24 10.7 24 24v1c0 33.5-20.9 63.4-52.3 75L128.3 510.5c-12.4 4.6-26.2-1.8-30.8-14.2s1.8-26.2 14.2-30.8L443.1 343c12.6-4.6 20.9-16.6 20.9-30v-1c0-13.3 10.7-24 24-24z\", \"M64 80a48 48 0 1 1 96 0A48 48 0 1 1 64 80zm36.4 138c-14.2-30.8 8.3-66 42.2-66c18.2 0 34.8 10.7 42.3 27.3l28.8 63.4 55.9-14.9c25.4-6.8 50.3 12.4 50.3 38.6V388.5l-64 23.7V297.7l-66.7 17.8c-22.6 6-46.2-5.1-55.9-26.3L100.4 218z\"]]\n};\nvar faSkiLift = faPersonSkiLift;\nvar faSquare6 = {\n prefix: 'fad',\n iconName: 'square-6',\n icon: [448, 512, [], \"e25b\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-96 48c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C142.2 224.8 128 255.6 128 288z\", \"M279.6 170.2c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C142.2 224.8 128 255.6 128 288c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4zM272 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]]\n};\nvar faShopSlash = {\n prefix: 'fad',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", [\"M121.8 192L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192h85zM384 398.5l-64-50.4V384H128V224H64V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V398.5zM543.7 512c.1 0 .2 0 .3 0s.2 0 .3 0h-.6zM320 225.5l64 50.2V224H320v1.5zM512 376l64 50.2V224H512V376zM74.1 32.8L277.2 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L74.1 32.8z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faWindTurbine = {\n prefix: 'fad',\n iconName: 'wind-turbine',\n icon: [512, 512, [], \"f89b\", [\"M224 265.7V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H288V369.7l-64-104z\", \"M345.2 404.1c2.5 17.2-20.3 25.5-29.5 10.7L214 249.4c-1.8-2.9-4.5-5.2-7.7-6.5L25.7 171.4C9.5 165 13.7 141 31.1 140.6l194.1-5.4c3.5-.1 6.8-1.3 9.5-3.5L387 11c13.6-10.8 32.3 4.8 24 20.1L318.6 202c-1.6 3-2.3 6.5-1.8 9.9l28.4 192.1zM256 216a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faSlidersSimple = {\n prefix: 'fad',\n iconName: 'sliders-simple',\n icon: [512, 512, [], \"e253\", [\"M325.5 192L32 192c-17.7 0-32-14.3-32-32s14.3-32 32-32H325.5c-3.5 10-5.5 20.8-5.5 32s1.9 22 5.5 32zM186.5 384c3.5-10 5.5-20.8 5.5-32s-1.9-22-5.5-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H186.5z\", \"M416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-128a96 96 0 1 0 0 192 96 96 0 1 0 0-192zM96 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-128a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]]\n};\nvar faGridRound = {\n prefix: 'fad',\n iconName: 'grid-round',\n icon: [448, 512, [], \"e5da\", [\"M224 32a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM64 192a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm96 224a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zM384 192a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\", \"M128 96A64 64 0 1 1 0 96a64 64 0 1 1 128 0zm0 320A64 64 0 1 1 0 416a64 64 0 1 1 128 0zm96-96a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM448 96A64 64 0 1 1 320 96a64 64 0 1 1 128 0zM384 480a64 64 0 1 1 0-128 64 64 0 1 1 0 128z\"]]\n};\nvar faBadgeSheriff = {\n prefix: 'fad',\n iconName: 'badge-sheriff',\n icon: [448, 512, [], \"f8a2\", [\"M224 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M272 48c0 14.8-6.7 28-17.2 36.8l25 42.8c5.7 9.8 16.2 15.8 27.5 15.9l47.6 .2c6.7-18.5 24.4-31.7 45.2-31.7c26.5 0 48 21.5 48 48s-21.5 48-48 48c-5.9 0-11.6-1.1-16.9-3.1L363 240.1c-5.6 9.8-5.6 21.9 0 31.8l20.1 35.2c5.3-2 10.9-3.1 16.9-3.1c26.5 0 48 21.5 48 48s-21.5 48-48 48c-20.8 0-38.5-13.2-45.2-31.7l-47.6 .2c-11.3 0-21.8 6.1-27.5 15.9l-25 42.8c10.5 8.8 17.2 22 17.2 36.8c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-14.8 6.7-28 17.2-36.8l-25-42.8c-5.7-9.8-16.2-15.8-27.5-15.9l-47.6-.2C86.5 386.8 68.8 400 48 400c-26.5 0-48-21.5-48-48s21.5-48 48-48c5.9 0 11.6 1.1 16.9 3.1L85 271.9c5.6-9.8 5.6-21.9 0-31.8L64.9 204.9c-5.3 2-10.9 3.1-16.9 3.1c-26.5 0-48-21.5-48-48s21.5-48 48-48c20.8 0 38.5 13.2 45.2 31.7l47.6-.2c11.3 0 21.8-6.1 27.5-15.9l25-42.8C182.7 76 176 62.8 176 48c0-26.5 21.5-48 48-48s48 21.5 48 48zM224 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faServer = {\n prefix: 'fad',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", [\"M416 152a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm32 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faVirusCovidSlash = {\n prefix: 'fad',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", [\"M472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 472.1 344.7zm-70.8 67.5L149.2 213.5c-1.5 6-2.7 12.2-3.5 18.5H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faIntersection = {\n prefix: 'fad',\n iconName: 'intersection',\n icon: [384, 512, [8898], \"f668\", [\"M32 480c17.7 0 32-14.3 32-32V224c0-70.7 57.3-128 128-128s128 57.3 128 128V448c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-106-86-192-192-192S0 118 0 224V448c0 17.7 14.3 32 32 32z\", \"\"]]\n};\nvar faShopLock = {\n prefix: 'fad',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", [\"M449.6 192H36.8C16.5 192 0 175.5 0 155.2c0-7.3 2.2-14.4 6.2-20.4L81.8 21.4C90.7 8 105.6 0 121.7 0H518.3c16.1 0 31 8 39.9 21.4l75.6 113.3c4 6.1 6.2 13.2 6.2 20.4c0 19.3-14.8 35.1-33.7 36.7C586.1 172.2 558.5 160 528 160c-30.5 0-58.2 12.2-78.4 32zM384 352v32 80c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V384 224h64V384H320V224h64V352z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faFamily = {\n prefix: 'fad',\n iconName: 'family',\n icon: [512, 512, [], \"e300\", [\"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM105.6 160h44.8c9.2 0 18.1 1.6 26.4 4.5c-.5 3.8-.8 7.6-.8 11.5c0 24.3 10.9 46.1 28 60.8c-35.7 18.7-60 56.1-60 99.2v16c0 28.4 12.4 54 32 71.6V480c0 6.1 .8 11.9 2.4 17.5c-8.7 9-20.9 14.5-34.4 14.5H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160zM368 512c-13.5 0-25.7-5.6-34.4-14.5c1.6-5.6 2.4-11.4 2.4-17.5V423.6c19.6-17.6 32-43.1 32-71.6V336c0-43.1-24.3-80.5-60-99.2c17.1-14.7 28-36.5 28-60.8c0-2.4-.1-4.7-.3-7.1c9.6-5.7 20.8-8.9 32.6-8.9h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448v80c0 26.5-21.5 48-48 48H368zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0z\", \"M208 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM176 336c0-44.2 35.8-80 80-80s80 35.8 80 80v16c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V407.4c-19.1-11.1-32-31.7-32-55.4V336z\"]]\n};\nvar faHourglassStart = {\n prefix: 'fad',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", [\"M32 437v11H96V437c0-25.5 10.1-49.9 28.1-67.9L192 301.3l67.9 67.9c18 18 28.1 42.4 28.1 67.9v11h64V437c0-42.4-16.9-83.1-46.9-113.1L237.3 256l67.9-67.9c30-30 46.9-70.7 46.9-113.1V64H288V75c0 25.5-10.1 49.9-28.1 67.9L192 210.7l-67.9-67.9C106.1 124.9 96 100.4 96 75V64H32V75c0 42.4 16.9 83.1 46.9 113.1L146.7 256 78.9 323.9l22.6 22.6L78.9 323.9C48.9 353.9 32 394.6 32 437z\", \"M0 480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM0 32C0 49.7 14.3 64 32 64l64 0V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 0 0 14.3 0 32z\"]]\n};\nvar faHourglass1 = faHourglassStart;\nvar faUserHairBuns = {\n prefix: 'fad',\n iconName: 'user-hair-buns',\n icon: [448, 512, [], \"e3d3\", [\"M224 80c14.6 19.4 37.8 32 64 32h32v64c0 53-43 96-96 96s-96-43-96-96V112h32c26.2 0 49.4-12.6 64-32z\", \"M109.8 70.1C131 28.5 174.1 0 224 0s93 28.5 114.2 70.1c6.8-3.9 14.7-6.1 23.1-6.1c25.8 0 46.7 20.9 46.7 46.7V136c0 30.9-25.1 56-56 56H318.7c.9-5.2 1.3-10.5 1.3-16V112H288c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32H128v64c0 5.5 .5 10.8 1.3 16H96c-30.9 0-56-25.1-56-56V110.7C40 84.9 60.9 64 86.7 64c8.4 0 16.2 2.2 23.1 6.1zM0 481.3C0 392.2 72.2 320 161.3 320H286.7C375.8 320 448 392.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]]\n};\nvar faBlenderPhone = {\n prefix: 'fad',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", [\"M224 384L196.3 52C194 24 216.1 0 244.2 0H535c20.8 0 36.1 19.6 31 39.8L560 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H552l-16 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H528l-16 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H504l-24 96H224z\", \"M147.5 30.7c10.8 6.7 15.3 21 10.6 33.4l-22 57.8c-4.2 10.9-14.5 17.6-25.3 16.4l-33.3-3.6c-13.6 42.2-13.6 88.4 0 130.7l33.3-3.6c10.9-1.2 21.2 5.5 25.3 16.4l22 57.8c4.7 12.4 .2 26.7-10.6 33.4l-44 27.2c-9.7 6-21.9 4.2-29.8-4.3C-24.6 286-24.6 114 73.7 7.8C81.6-.7 93.8-2.5 103.5 3.5l44 27.2zM560 64l-8 32H400c-8.8 0-16-7.2-16-16s7.2-16 16-16H560zm-24 96l-8 32H400c-8.8 0-16-7.2-16-16s7.2-16 16-16H536zm-24 96l-8 32H400c-8.8 0-16-7.2-16-16s7.2-16 16-16H512zM208 384H496c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faHourglassClock = {\n prefix: 'fad',\n iconName: 'hourglass-clock',\n icon: [576, 512, [], \"e41b\", [\"M0 32C0 14.3 14.3 0 32 0H64 320h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l36 36c-11 23-17.2 48.8-17.2 76c0 59.5 29.6 112.1 74.8 144H320 64 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1C48.9 158.1 32 117.4 32 75V64C14.3 64 0 49.7 0 32zM96 64V75c0 19 5.6 37.4 16 53H272c10.3-15.6 16-34 16-53V64H96z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faPersonSeatReclined = {\n prefix: 'fad',\n iconName: 'person-seat-reclined',\n icon: [512, 512, [], \"e21f\", [\"M58.1 128.5c17.4-3.3 34.1 8.2 37.3 25.6l33.3 177.7c5.7 30.3 32.1 52.2 62.9 52.2H272c17.7 0 32 14.3 32 32s-14.3 32-32 32H191.7c-61.6 0-114.5-43.9-125.8-104.4L32.5 165.9c-3.3-17.4 8.2-34.1 25.6-37.3z\", \"M128 80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM257 256l8 32h53.8c33.3 0 63.2 20.7 74.9 51.9l25.5 68 18.7-6.2c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5l-48 16c-16.3 5.4-34-3-40.1-19.1l-36.3-96.9c-2.3-6.2-8.3-10.4-15-10.4H240.7c-.5 0-.9 0-1.4 0H233c-29.4 0-55-20-62.1-48.5L149.8 219c-7.5-30 15.2-59 46.1-59c20.4 0 38.4 13 44.9 32H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H257z\"]]\n};\nvar faPaperPlaneTop = {\n prefix: 'fad',\n iconName: 'paper-plane-top',\n icon: [512, 512, [\"paper-plane-alt\", \"send\"], \"e20a\", [\"M-1.2 83.5c-18-33.4 16.3-70.8 51.1-55.7L491.8 219.3c32.1 13.9 32.1 59.5 0 73.4L49.9 484.2c-34.8 15.1-69.1-22.3-51.1-55.7L75.2 286.6 266 262.7c3.4-.4 6-3.3 6-6.7s-2.6-6.3-6-6.7L75.2 225.4-1.2 83.5z\", \"M75.2 286.6L266 262.7c3.4-.4 6-3.3 6-6.7s-2.6-6.3-6-6.7L75.2 225.4l8.3 15.4c5.1 9.5 5.1 20.9 0 30.3l-8.3 15.4z\"]]\n};\nvar faPaperPlaneAlt = faPaperPlaneTop;\nvar faSend = faPaperPlaneTop;\nvar faMessageArrowUp = {\n prefix: 'fad',\n iconName: 'message-arrow-up',\n icon: [512, 512, [\"comment-alt-arrow-up\"], \"e1dc\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM280 296V177.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V296c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 320c13.3 0 24-10.7 24-24V177.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V296c0 13.3 10.7 24 24 24z\"]]\n};\nvar faCommentAltArrowUp = faMessageArrowUp;\nvar faLightbulbExclamation = {\n prefix: 'fad',\n iconName: 'lightbulb-exclamation',\n icon: [384, 512, [], \"f671\", [\"M321.2 297.8c-19.8 27.1-39.7 54.4-49.2 86.2H112c-9.6-31.9-29.5-59.1-49.2-86.2c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4zM192 64c-13.3 0-24 10.7-24 24V200c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M192 512c44.2 0 80-35.8 80-80V384H112v48c0 44.2 35.8 80 80 80z\"]]\n};\nvar faLayerMinus = {\n prefix: 'fad',\n iconName: 'layer-minus',\n icon: [576, 512, [\"layer-group-minus\"], \"f5fe\", [\"M264.5 133.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l218.6-101zM476.9 337.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2z\", \"M384 80c0-13.3 10.7-24 24-24H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faLayerGroupMinus = faLayerMinus;\nvar faChartPieSimpleCircleCurrency = {\n prefix: 'fad',\n iconName: 'chart-pie-simple-circle-currency',\n icon: [640, 512, [], \"e604\", [\"M509.8 192.5c-4.6-.4-9.2-.5-13.8-.5c-46.8 0-89.3 18.2-120.8 48H272V16.6c0-9 7-16.6 16-16.6C401 0 494.5 83.7 509.8 192.5zM339.2 288c-12.3 24-19.2 51.2-19.2 80c0 42.5 15 81.4 40.1 111.8C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V288H339.2z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm25.4-169.4a35.9 35.9 0 1 0 -50.7 50.7 35.9 35.9 0 1 0 50.7-50.7zM460.7 426l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L438 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L460.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L554 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L531.3 426c-21.6 13.2-49.1 13.2-70.7 0z\"]]\n};\nvar faCircleE = {\n prefix: 'fad',\n iconName: 'circle-e',\n icon: [512, 512, [], \"e109\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v56H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V256 152c0-13.3 10.7-24 24-24z\", \"M160 152c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H208v56H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V256 152z\"]]\n};\nvar faBuildingWheat = {\n prefix: 'fad',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M640 208l0-16-16 0c-44.2 0-80 35.8-80 80l0 16 16 0c44.2 0 80-35.8 80-80zm0 96l-16 0c-44.2 0-80 35.8-80 80l0 16 16 0c44.2 0 80-35.8 80-80l0-16zm0 112l-16 0c-44.2 0-80 35.8-80 80l0 16 16 0c44.2 0 80-35.8 80-80l0-16zM512 512l0-16c0-44.2-35.8-80-80-80l-16 0 0 16c0 44.2 35.8 80 80 80l16 0zm0-128c0-44.2-35.8-80-80-80l-16 0 0 16c0 44.2 35.8 80 80 80l16 0 0-16zm0-96l0-16c0-44.2-35.8-80-80-80l-16 0 0 16c0 44.2 35.8 80 80 80l16 0zM552 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 104c0 13.3 10.7 24 24 24s24-10.7 24-24l0-104zm48 16c-13.3 0-24 10.7-24 24l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32c0-13.3-10.7-24-24-24zM480 96c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32z\"]]\n};\nvar faGaugeMax = {\n prefix: 'fad',\n iconName: 'gauge-max',\n icon: [512, 512, [\"tachometer-alt-fastest\"], \"f626\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM288 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 416c-35.3 0-64-28.7-64-64s28.7-64 64-64c14.1 0 27.2 4.6 37.8 12.4l117.5-72.8c11.3-7 26.1-3.5 33 7.8s3.5 26.1-7.8 33L319.1 341.2c.6 3.5 .9 7.1 .9 10.8c0 35.3-28.7 64-64 64zM400 144a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80-80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\", \"M411.4 227.6c11.3-7 26.1-3.5 33 7.8s3.5 26.1-7.8 33L319.1 341.2c.6 3.5 .9 7.1 .9 10.8c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c14.1 0 27.2 4.6 37.8 12.4l117.6-72.8z\"]]\n};\nvar faTachometerAltFastest = faGaugeMax;\nvar faPersonBreastfeeding = {\n prefix: 'fad',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", [\"M160 288c17.7 0 32 14.3 32 32v36.8c25.4 29.7 60.8 49.3 99.7 54.8l.8 .1c-9.1 19.6-4.1 43.6 13.5 57.7c6.4 5.1 13.7 8.3 21.2 9.7c-3.7 .9-7.7 1.1-11.7 .5L282.7 475c-9.1-1.3-18.1-3.2-27-5.6c2.2-19.5-7.7-39.1-26.2-48.4L128.1 370.4c-.1-.8-.1-1.6-.1-2.4V320c0-17.7 14.3-32 32-32zm72 44a44 44 0 1 1 88 0 44 44 0 1 1 -88 0z\", \"M224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM436.8 382.8L373.5 462c-16.6 20.7-46.8 24.1-67.5 7.5c-17.6-14.1-22.7-38.1-13.5-57.7l-.8-.1c-38.9-5.6-74.3-25.1-99.7-54.8V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 .8 0 1.6 .1 2.4l101.4 50.7c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5L27.2 427.3c-1.1-.5-2.2-1.1-3.3-1.7c-4.9-2.8-9.2-6.4-12.6-10.6c-4.6-5.4-7.8-11.7-9.6-18.4c-3.3-12-1.9-25.2 4.8-36.6c.6-1.1 1.3-2.2 2-3.2L75.6 256.1c26.7-40.1 71.7-64.1 119.8-64.1h75.2c46.5 0 90.1 22.5 117.2 60.3l50.7 70.9c2.2 3 4 6.1 5.5 9.4c2.9 6.7 4.3 13.8 4 20.8c-.3 10.6-4.2 21-11.2 29.4zM320 332a44 44 0 1 0 -88 0 44 44 0 1 0 88 0z\"]]\n};\nvar faApostrophe = {\n prefix: 'fad',\n iconName: 'apostrophe',\n icon: [192, 512, [], \"27\", [\"M72 352c66.3 0 120-53.7 120-120V160 128 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64h64v8c0 30.9-25.1 56-56 56H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h8z\", \"\"]]\n};\nvar faFireHydrant = {\n prefix: 'fad',\n iconName: 'fire-hydrant',\n icon: [384, 512, [], \"e17f\", [\"M192 0c17.7 0 32 14.3 32 32v4c45 11.6 80.4 47 92 92h12c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H68c11.6-45 47-80.4 92-92V32c0-17.7 14.3-32 32-32zM16 304c0-17.7 14.3-32 32-32H64V400H48c-17.7 0-32-14.3-32-32V304zm320-32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H320V272h16z\", \"M64 176H320V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H64 56c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V176zM192 400a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faRightToBracket = {\n prefix: 'fad',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", [\"M320 448c0-17.7 14.3-32 32-32l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32z\", \"M340.7 228.7L217.9 105.9c-6.4-6.4-15-9.9-24-9.9c-18.7 0-33.9 15.2-33.9 33.9l0 62.1L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l128 0 0 62.1c0 18.7 15.2 33.9 33.9 33.9c9 0 17.6-3.6 24-9.9L340.7 283.3c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3z\"]]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVideoPlus = {\n prefix: 'fad',\n iconName: 'video-plus',\n icon: [576, 512, [], \"f4e1\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM216 184v48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6L384 315.8V196.2l142.2-94.8c9.8-6.5 22.4-7.2 32.9-1.6zM216 184v48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faSquareRight = {\n prefix: 'fad',\n iconName: 'square-right',\n icon: [448, 512, [10145, \"arrow-alt-square-right\"], \"f352\", [\"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM262.6 135.1l99.9 107.1c3.5 3.8 5.5 8.7 5.5 13.8s-2 10.1-5.5 13.8L262.6 376.9c-4.2 4.5-10.1 7.1-16.3 7.1C234 384 224 374 224 361.7l0-57.7-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-57.7c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.3 7.1z\", \"M362.5 242.2L262.6 135.1c-4.2-4.5-10.1-7.1-16.3-7.1C234 128 224 138 224 150.3l0 57.7-96 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l96 0 0 57.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.3-7.1l99.9-107.1c3.5-3.8 5.5-8.7 5.5-13.8s-2-10.1-5.5-13.8z\"]]\n};\nvar faArrowAltSquareRight = faSquareRight;\nvar faCommentSmile = {\n prefix: 'fad',\n iconName: 'comment-smile',\n icon: [512, 512, [], \"f4b4\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM192 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM150.5 270.1c9.9-8.8 25-8 33.9 1.9c17.6 19.7 43.1 32 71.6 32s53.9-12.3 71.6-32c8.8-9.9 24-10.7 33.9-1.9s10.7 24 1.9 33.9C337 333.4 298.6 352 256 352s-81-18.6-107.3-48c-8.8-9.9-8-25 1.9-33.9z\", \"M224 176a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184.4 272c-8.8-9.9-24-10.7-33.9-1.9s-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32z\"]]\n};\nvar faVenus = {\n prefix: 'fad',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", [\"M112 176a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V384H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V349.1z\"]]\n};\nvar faPassport = {\n prefix: 'fad',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", [\"M183 278.8c-6.8-17.1-12.9-40.4-14.6-70.8H129.3c5.3 31.4 25.8 57.6 53.7 70.8zm41.3 9.2c2.4-3.5 5.7-8.9 9.1-16.5c6-13.6 12.4-34.3 14.2-63.5H200.5c1.8 29.2 8.1 49.9 14.2 63.5c3.4 7.6 6.7 13 9.1 16.5c.1 0 .2 0 .3 0s.2 0 .3 0zm40.7-9.2c27.9-13.2 48.4-39.4 53.7-70.8H279.6c-1.6 30.4-7.7 53.8-14.6 70.8zM279.6 176h39.1c-5.3-31.4-25.8-57.6-53.7-70.8c6.8 17.1 12.9 40.4 14.6 70.8zM223.7 96c-2.4 3.5-5.7 8.9-9.1 16.5c-6 13.6-12.4 34.3-14.2 63.5h47.1c-1.8-29.2-8.1-49.9-14.2-63.5c-3.4-7.6-6.7-13-9.1-16.5c-.1 0-.2 0-.3 0s-.2 0-.3 0zM183 105.2c-27.9 13.2-48.4 39.4-53.7 70.8h39.1c1.6-30.4 7.7-53.8 14.6-70.8zM96 192a128 128 0 1 1 256 0A128 128 0 1 1 96 192z\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM183 278.8c-27.9-13.2-48.4-39.4-53.7-70.8h39.1c1.6 30.4 7.7 53.8 14.6 70.8zm41.3 9.2l-.3 0-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5zm40.7-9.2c6.8-17.1 12.9-40.4 14.6-70.8h39.1c-5.3 31.4-25.8 57.6-53.7 70.8zM279.6 176c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8H279.6zM223.7 96l.3 0 .3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5zM183 105.2c-6.8 17.1-12.9 40.4-14.6 70.8H129.3c5.3-31.4 25.8-57.6 53.7-70.8zM352 192A128 128 0 1 0 96 192a128 128 0 1 0 256 0zM112 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]]\n};\nvar faInboxIn = {\n prefix: 'fad',\n iconName: 'inbox-in',\n icon: [512, 512, [128229, \"inbox-arrow-down\"], \"f310\", [\"M124.2 320H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7z\", \"M256 0c17.7 0 32 14.3 32 32V210.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7V32c0-17.7 14.3-32 32-32z\"]]\n};\nvar faInboxArrowDown = faInboxIn;\nvar faHeartPulse = {\n prefix: 'fad',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", [\"M228.3 469.1L47.6 300.4c-4.2-3.9-8.2-8.1-11.9-12.4h87c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31H476.3c-3.7 4.3-7.7 8.5-11.9 12.4L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9zM503.7 240h-132c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9H16c-2.6 0-5 .4-7.3 1.1C3 225.2 0 208.2 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 16.9-2.8 33.5-8.3 49.1z\", \"M35.7 288h87c22.6 0 43-13.6 51.7-34.5l10.5-25.2 49.3 109.5c3.8 8.5 12.1 14 21.4 14.1s17.8-5 22-13.3L320 253.7l1.7 3.4c9.5 19 28.9 31 50.1 31H476.3c12.1-14.2 21.4-30.5 27.4-48h-132c-3 0-5.8-1.7-7.2-4.4l-23.2-46.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-41.4 82.8L205.9 158.2c-3.9-8.7-12.7-14.3-22.2-14.1s-18.1 5.9-21.8 14.8l-31.8 76.3c-1.2 3-4.2 4.9-7.4 4.9H16c-2.6 0-5 .4-7.3 1.1c6.1 17 15.2 32.9 27 46.9z\"]]\n};\nvar faHeartbeat = faHeartPulse;\nvar faCircle8 = {\n prefix: 'fad',\n iconName: 'circle-8',\n icon: [512, 512, [], \"e0f5\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM264 128H248c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42c0-39.8-32.2-72-72-72zm-16 96c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24c0 0 0 0 0 0H248s0 0 0 0zm16 48h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-17.7 0-32-14.3-32-32s14.3-32 32-32h8 16z\", \"M336 200c0-39.8-32.2-72-72-72H248c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42zm-72 72h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H240c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c0 0 0 0 0 0h16c0 0 0 0 0 0zm0-48H248c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]]\n};\nvar faCloudsMoon = {\n prefix: 'fad',\n iconName: 'clouds-moon',\n icon: [640, 512, [], \"f745\", [\"M352 160C352 71.7 423.4 0 511.5 0c4.6 0 9.1 .2 13.5 .6c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-35.4 20.1-59.3 58.2-59.3 101.9c0 64.6 52.2 116.9 116.5 116.9c6.8 0 13.5-.6 20-1.7c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7C594 302.8 554.8 320 511.5 320c-3.8 0-7.5-.1-11.2-.4c-11.3-9.9-24.2-17.8-38.5-23.2c-9.9-53.2-52.6-94.8-106.4-103c-2.3-10.8-3.5-22-3.5-33.4z\", \"M208.1 224c12.9 0 25.3 2.2 36.8 6.2c19.6-19.9 45.8-33.5 75-37.2l0-.9c0-35.3-28.6-64-64-64c-7.4 0-14.6 1.3-21.2 3.6c-11.5-30.1-40.6-51.6-74.8-51.6c-38.9 0-71.3 27.8-78.5 64.6c-3.1-.4-6.3-.6-9.5-.6c-39.8 0-72 32.2-72 72s32.2 72 72 72c16.1 0 30.9-5.3 42.9-14.1c20.1-30.1 54.3-49.9 93.2-49.9zM64 431.9c0 44.2 35.8 80 80 80H415.9c53 0 96-43 96-96c0-47.6-34.6-87-80-94.6l0-1.3c0-53-43-96-96-96c-34.9 0-65.4 18.6-82.2 46.4C240.8 261.3 225 256 208 256c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C92.4 359.9 64 392.6 64 431.9z\"]]\n};\nvar faClockTenThirty = {\n prefix: 'fad',\n iconName: 'clock-ten-thirty',\n icon: [512, 512, [], \"e355\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V256c0-8-4-15.5-10.7-20l-96-64c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3L232 268.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 416c13.3 0 24-10.7 24-24V256c0-8-4-15.5-10.7-20l-96-64c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3L232 268.8V392c0 13.3 10.7 24 24 24z\"]]\n};\nvar faPeopleCarryBox = {\n prefix: 'fad',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", [\"M248.6 319.2c-2.4-.6-4.7-1.4-7-2.5l-.6-.3c2.4 1.2 4.9 2.2 7.5 2.8zm134.7 .8H256.6c11.5-.2 22.5-6.7 28-17.7c7.9-15.8 1.5-35-14.3-42.9L224 236.2V160c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v76.2l-46.3 23.2c-15.8 7.9-22.2 27.1-14.3 42.9c5.5 11 16.5 17.4 28 17.7zm8.5-1c2.5-.6 4.8-1.5 7-2.7l-.5 .3c-2.1 1.1-4.3 1.9-6.5 2.4z\", \"M176 48A48 48 0 1 0 80 48a48 48 0 1 0 96 0zM144 306.7V241.7l19 28.5c4.6 7 11 12.6 18.5 16.3l60.2 30.1c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9l-56.4-28.2L166.5 160c-13.3-20-35.8-32-59.9-32C74.2 128 48 154.2 48 186.6v88.1c0 17 6.7 33.3 18.7 45.3l79.4 79.4 14.3 85.9c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8l-15.2-90.9c-1.6-9.9-6.3-19-13.4-26.1l-51-51zM2.3 468.1c-6.6 16.4 1.4 35 17.8 41.6s35-1.4 41.6-17.8l37.6-94L50.1 348.6 2.3 468.1zM464 48a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm32 258.7l-51 51c-7.1 7.1-11.8 16.2-13.4 26.1l-15.2 90.9c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3l14.3-85.9L573.3 320c12-12 18.7-28.3 18.7-45.3V186.6c0-32.4-26.2-58.6-58.6-58.6c-24.1 0-46.5 12-59.9 32l-47.4 71.1-56.4 28.2c-15.8 7.9-22.2 27.1-14.3 42.9s27.1 22.2 42.9 14.3l60.2-30.1c7.5-3.7 13.8-9.4 18.5-16.3l19-28.5v65.1zM637.7 468.1L589.9 348.6l-49.2 49.2 37.6 94c6.6 16.4 25.2 24.4 41.6 17.8s24.4-25.2 17.8-41.6z\"]]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faFolderUser = {\n prefix: 'fad',\n iconName: 'folder-user',\n icon: [512, 512, [], \"e18e\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM320 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM144 405.3c0 5.9 4.8 10.7 10.7 10.7H357.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H197.3c-29.5 0-53.3 23.9-53.3 53.3z\", \"M256 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-58.7 32c-29.5 0-53.3 23.9-53.3 53.3c0 5.9 4.8 10.7 10.7 10.7H357.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H197.3z\"]]\n};\nvar faTrashCanXmark = {\n prefix: 'fad',\n iconName: 'trash-can-xmark',\n icon: [448, 512, [], \"e2ae\", [\"M416 96H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V96zM143 207c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM143 207c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faTemperatureHigh = {\n prefix: 'fad',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", [\"M144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM144 96c-8.8 0-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16z\"]]\n};\nvar faMicrochip = {\n prefix: 'fad',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", [\"M152 0c-13.3 0-24 10.7-24 24V64h48V24c0-13.3-10.7-24-24-24zm80 24V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zm104 0V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zM488 128H448v48h40c13.3 0 24-10.7 24-24s-10.7-24-24-24zm0 104H448v48h40c13.3 0 24-10.7 24-24s-10.7-24-24-24zm0 104H448v48h40c13.3 0 24-10.7 24-24s-10.7-24-24-24zM384 488V448H336v40c0 13.3 10.7 24 24 24s24-10.7 24-24zM280 448H232v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448zm-104 0H128v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448zM24 384H64V336H24c-13.3 0-24 10.7-24 24s10.7 24 24 24zM64 280V232H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64zM24 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H64V128H24zm328 32H160V352H352V160z\", \"M128 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H128zm32 64H352c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32z\"]]\n};\nvar faLeftLongToLine = {\n prefix: 'fad',\n iconName: 'left-long-to-line',\n icon: [640, 512, [], \"e41e\", [\"M32 64C14.3 64 0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32z\", \"M305.5 414c-8.8 3.8-19 2-26-4.6l-144-136c-4.8-4.5-7.5-10.8-7.5-17.4s2.7-12.9 7.5-17.4l144-136c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 288 0c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32l-288 0 0 72c0 9.6-5.7 18.2-14.5 22z\"]]\n};\nvar faCrown = {\n prefix: 'fad',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", [\"M248 72a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM0 136a40 40 0 1 1 80 0A40 40 0 1 1 0 136zM536 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\", \"M504 160l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106c-6.1 3.8-13.3 6-21 6s-14.9-2.2-21-6L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c-7.2 9.5-18.5 15.8-31.3 16L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6L535.3 176c-12.8-.2-24.1-6.5-31.3-16z\"]]\n};\nvar faWeightHanging = {\n prefix: 'fad',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", [\"M224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32c0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H256h90.5z\", \"M120 128c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H120z\"]]\n};\nvar faXmarksLines = {\n prefix: 'fad',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M177 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47L49 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47L15 303c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM273 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47zM463 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]]\n};\nvar faFilePrescription = {\n prefix: 'fad',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM104 196c-11 0-20 9-20 20v80 64c0 11 9 20 20 20s20-9 20-20V316h20c.7 .9 1.5 1.8 2.3 2.6l64.8 60.8-32.6 29.9c-8.1 7.5-8.7 20.1-1.2 28.3s20.1 8.7 28.3 1.2l34.9-32 33.9 31.8c8.1 7.6 20.7 7.1 28.3-.9s7.1-20.7-.9-28.3L270 379.7l31.6-28.9c8.1-7.5 8.7-20.1 1.2-28.3s-20.1-8.7-28.3-1.2l-33.8 31-43-40.3c22.4-8.7 38.3-30.5 38.3-55.9c0-33.1-26.9-60-60-60H104zm72 80H124V236h52c11 0 20 9 20 20s-9 20-20 20z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM104 196c-11 0-20 9-20 20v80 64c0 11 9 20 20 20s20-9 20-20V316h20c.7 .9 1.5 1.8 2.3 2.6l64.8 60.8-32.6 29.9c-8.1 7.5-8.7 20.1-1.2 28.3s20.1 8.7 28.3 1.2l34.9-32 33.9 31.8c8.1 7.6 20.7 7.1 28.3-.9s7.1-20.7-.9-28.3L270 379.7l31.6-28.9c8.1-7.5 8.7-20.1 1.2-28.3s-20.1-8.7-28.3-1.2l-33.8 31-43-40.3c22.4-8.7 38.3-30.5 38.3-55.9c0-33.1-26.9-60-60-60H104zm72 80H124V236h52c11 0 20 9 20 20s-9 20-20 20z\"]]\n};\nvar faCalendarRange = {\n prefix: 'fad',\n iconName: 'calendar-range',\n icon: [512, 512, [], \"e0d6\", [\"M32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zm64 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm288 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 288c0 13.3 10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zm40 104H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24z\", \"M128 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v80H32V112c0-26.5 21.5-48 48-48h48V32zm32 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z\"]]\n};\nvar faFlowerDaffodil = {\n prefix: 'fad',\n iconName: 'flower-daffodil',\n icon: [512, 512, [9880], \"f800\", [\"M224 394.8V281.3c12.7-5.6 23.8-14.4 32-25.3c8.2 11 19.3 19.8 32 25.3V394.8c31.9-45.2 84.5-74.8 144-74.8h50.5c16.3 0 29.5 13.2 29.5 29.5C512 439.3 439.3 512 349.5 512H288 256 224 162.5C72.7 512 0 439.3 0 349.5C0 333.2 13.2 320 29.5 320H80c59.5 0 112.1 29.6 144 74.8z\", \"M320 288c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80c0-26.2 12.6-49.4 32-64c-19.4-14.6-32-37.8-32-64c0-44.2 35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32c44.2 0 80 35.8 80 80c0 26.2-12.6 49.4-32 64c19.4 14.6 32 37.8 32 64c0 44.2-35.8 80-80 80zm-64-96a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faHandBackPointUp = {\n prefix: 'fad',\n iconName: 'hand-back-point-up',\n icon: [448, 512, [], \"e1a2\", [\"M136 0C113.9 0 96 17.9 96 40V240v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L39 284.8C24.4 297 16 315 16 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H288c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C334 227.5 313.3 208 288 208c-12.4 0-23.6 4.7-32.1 12.3C254 195.5 233.3 176 208 176c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\", \"\"]]\n};\nvar faWeightScale = {\n prefix: 'fad',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", [\"M80 176a176 176 0 1 1 352 0A176 176 0 1 1 80 176zm216 48c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\", \"M256 352c97.2 0 176-78.8 176-176c0-42.5-15.1-81.6-40.2-112H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h56.2C95.1 94.4 80 133.5 80 176c0 97.2 78.8 176 176 176zm40-128c0 22.1-17.9 40-40 40s-40-17.9-40-40c0-22 17.8-39.9 39.7-40l33.6-78.3c3.5-8.1 12.9-11.9 21-8.4s11.9 12.9 8.4 21l-33.6 78.3c6.7 7.2 10.9 16.8 10.9 27.4z\"]]\n};\nvar faWeight = faWeightScale;\nvar faStarExclamation = {\n prefix: 'fad',\n iconName: 'star-exclamation',\n icon: [576, 512, [], \"f2f3\", [\"M288.1 0c12.2 0 23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L438.5 329l24.6 145.7c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L288.1 439.8 159.8 508.3C149 514 135.9 513.1 126 506s-14.9-19.3-12.9-31.3L137.8 329 33.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L195 150.3 259.4 18c5.4-11 16.5-18 28.8-18zM288 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M312 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM288 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faBooks = {\n prefix: 'fad',\n iconName: 'books',\n icon: [512, 512, [128218], \"f5db\", [\"M0 32C0 14.3 14.3 0 32 0H96c17.7 0 32 14.3 32 32V96H0V32zm0 96H128V384H0V128zM0 416H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416zM160 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96H160V32zm0 96H288V384H160V128zm0 288H288v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416zM289.4 117.8L412.2 85l8.2 30.9L297.6 148.8l-8.2-30.9zm74.2 278.3l122.8-32.9 8.2 30.9L371.8 427l-8.2-30.9z\", \"M288 112.6l1.4 5.2L412.2 85 395.8 23.7c-4.5-17-22-27.1-38.9-22.6L295.5 17.6c-2.7 .7-5.2 1.8-7.5 3.1L288 96H160v32H288l0-15.4zm132.4 3.2L297.6 148.8l66 247.4 122.8-32.9-66-247.4zM388.2 488.3c4.5 17 22 27.1 38.9 22.6l61.4-16.5c16.9-4.6 27-22.1 22.5-39.1l-16.3-61.1L371.8 427l16.3 61.3zM0 96v32H128V96H0zM128 384H0v32H128V384zm160 0H160v32H288V384z\"]]\n};\nvar faUserGroup = {\n prefix: 'fad',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", [\"M609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\", \"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"]]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'fad',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", [\"M416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176h40.4L416 135.6 395.8 176zM352 352c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352H352z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faLayerPlus = {\n prefix: 'fad',\n iconName: 'layer-plus',\n icon: [576, 512, [\"layer-group-plus\"], \"f5ff\", [\"M264.5 133.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l218.6-101zM476.9 337.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2z\", \"M488 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 32H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h32l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24V104h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H488V24z\"]]\n};\nvar faLayerGroupPlus = faLayerPlus;\nvar faPlayPause = {\n prefix: 'fad',\n iconName: 'play-pause',\n icon: [640, 512, [], \"e22f\", [\"M416 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm128 0c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32z\", \"M116.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S64 83.6 64 96V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4l192-160c7.3-6.1 11.5-15.1 11.5-24.6s-4.2-18.5-11.5-24.6l-192-160z\"]]\n};\nvar faBlockQuestion = {\n prefix: 'fad',\n iconName: 'block-question',\n icon: [448, 512, [], \"e3dd\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm73.8 141.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L248 272.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V258.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H190.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM192 360a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM48 104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM376 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM48 408a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm328-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M48 104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm304 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM72 384a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm280 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM137.8 173.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L248 272.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V258.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H190.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM192 360a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faSnooze = {\n prefix: 'fad',\n iconName: 'snooze',\n icon: [448, 512, [128164, \"zzz\"], \"f880\", [\"M160 32c0-17.7 14.3-32 32-32h96c12.1 0 23.2 6.8 28.6 17.7s4.3 23.8-3 33.5L256 128h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-12.1 0-23.2-6.8-28.6-17.7s-4.3-23.8 3-33.5L224 64H192c-17.7 0-32-14.3-32-32zM288 256c0-17.7 14.3-32 32-32h96c12.1 0 23.2 6.8 28.6 17.7s4.3 23.8-3 33.5L384 352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-12.1 0-23.2-6.8-28.6-17.7s-4.3-23.8 3-33.5L352 288H320c-17.7 0-32-14.3-32-32z\", \"M0 288c0-17.7 14.3-32 32-32H192c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 448H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L123.7 320H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faZzz = faSnooze;\nvar faScannerImage = {\n prefix: 'fad',\n iconName: 'scanner-image',\n icon: [576, 512, [], \"f8f3\", [\"M64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm0 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M35.8 48.9c8.3-15.6 27.7-21.5 43.3-13.2L525.2 273.7c20.9 11.2 36.6 29.4 44.7 50.9C559.6 303 537.5 288 512 288H416L48.9 92.2C33.3 83.9 27.4 64.5 35.8 48.9zM96 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faTvRetro = {\n prefix: 'fad',\n iconName: 'tv-retro',\n icon: [512, 512, [128250], \"f401\", [\"M169 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55H80C35.8 96 0 131.8 0 176V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H321.9l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87L169 7zM424 232a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM64 224c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224z\", \"M64 224c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224z\"]]\n};\nvar faSquareT = {\n prefix: 'fad',\n iconName: 'square-t',\n icon: [448, 512, [], \"e280\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 112H224 328c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M96 168c0-13.3 10.7-24 24-24H224 328c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H120c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faFarm = {\n prefix: 'fad',\n iconName: 'farm',\n icon: [576, 512, [\"barn-silo\"], \"f864\", [\"M160 270.3V480c0 17.7 14.3 32 32 32H304V448c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v64H544c17.7 0 32-14.3 32-32V270.3c0-4.2-.8-8.3-2.4-12.2L524.7 139.4c-3-7.4-8.7-13.3-15.9-16.7L381.7 62.5c-8.7-4.1-18.7-4.1-27.4 0L227.2 122.7c-7.2 3.4-12.9 9.4-15.9 16.7L162.4 258.1c-1.6 3.9-2.4 8-2.4 12.2zM344 224h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24z\", \"M0 96H192c0-53-43-96-96-96S0 43 0 96zm181.4 32H0V464c0 26.5 21.5 48 48 48h88.6c-5.4-9.4-8.6-20.3-8.6-32V270.3c0-8.4 1.6-16.6 4.8-24.4l48.6-118zM344 224c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H344z\"]]\n};\nvar faBarnSilo = faFarm;\nvar faChessKnight = {\n prefix: 'fad',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", [\"M384 432H64L22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H409.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L384 432z\", \"M82.7 61.3L96 48 74.9 37.5C68.2 34.1 64 27.3 64 19.8C64 8.9 72.9 0 83.8 0H224C330 0 416 86 416 192v17.3c0 9.8-.7 19.5-2.2 29.2L384 432H64V418.7c0-31.7 15.7-61.4 41.9-79.3l112.6-76.8c10.5-7.2 10.9-22.6 .7-30.3c-6.6-5-15.7-5-22.3 0l-49.4 37c-2.3 1.7-4.8 3.2-7.3 4.5l-3.2 1.6c-15.4 7.7-33.8 6.6-48.1-3l-10.6-7C69.3 259.6 64 249.6 64 238.9V106.5c0-17 6.7-33.3 18.7-45.3zM140 136a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]]\n};\nvar faBarsSort = {\n prefix: 'fad',\n iconName: 'bars-sort',\n icon: [448, 512, [], \"e0ae\", [\"M0 256c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M448 96c0-17.7-14.3-32-32-32H32C14.3 64 0 78.3 0 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM192 416c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32-14.3 32-32z\"]]\n};\nvar faPalletBoxes = {\n prefix: 'fad',\n iconName: 'pallet-boxes',\n icon: [640, 512, [57863, \"palette-boxes\", \"pallet-alt\"], \"f483\", [\"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 64H288v64H128V384zm224 0H512v64H352V384z\", \"M96 0C78.3 0 64 14.3 64 32V224c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zM416 64c-17.7 0-32 14.3-32 32V224c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H416z\"]]\n};\nvar faPaletteBoxes = faPalletBoxes;\nvar faPalletAlt = faPalletBoxes;\nvar faFaceLaughSquint = {\n prefix: 'fad',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zm36.7-199.4l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 125.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\", \"M116 125.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm280 0c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faCodeSimple = {\n prefix: 'fad',\n iconName: 'code-simple',\n icon: [576, 512, [], \"e13d\", [\"M361.4 73.4c-12.5 12.5-12.5 32.8 0 45.3L498.7 256 361.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0z\", \"M214.6 73.4c12.5 12.5 12.5 32.8 0 45.3L77.3 256 214.6 393.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faBoltSlash = {\n prefix: 'fad',\n iconName: 'bolt-slash',\n icon: [640, 512, [], \"e0b8\", [\"M154.8 218l88.9 70H160c-13.3 0-25.3-8.3-30-20.7s-1.1-26.6 8.9-35.3L154.8 218zm109.6 86.4L374.4 391 245.1 504.1c-11.2 9.8-27.8 10.6-39.9 1.8s-16.5-24.8-10.6-38.5l69.9-163zm236.6-24.3l-52.7 46.1L228.4 153.7 394.9 7.9c11.2-9.8 27.8-10.6 39.9-1.8s16.5 24.8 10.6 38.5L368.5 224H480c13.3 0 25.3 8.3 30 20.7s1.2 26.6-8.9 35.3z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faPanelFire = {\n prefix: 'fad',\n iconName: 'panel-fire',\n icon: [640, 512, [], \"e42f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-2 .1-4 .2-6.1c-.1 0-.1 0-.2 0c-13.3 0-24-10.7-24-24s10.7-24 24-24c3.5 0 6.9 .8 9.9 2.1c6.7-19 16.4-37.8 27.2-55.4c3.8-6.2 7.9-12.5 12.3-18.7H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v39.4c9-9.4 18.5-18.6 28.5-27.5c10-8.9 23-12.8 35.5-11.7V96c0-35.3-28.7-64-64-64H64zM96 296a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M443.7 159.9c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79c0 87.8-71.3 159.8-160 159.8c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7zm37.3 288c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faBinaryCircleCheck = {\n prefix: 'fad',\n iconName: 'binary-circle-check',\n icon: [640, 512, [], \"e33c\", [\"M336 32V160h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H304 256c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V76.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16C303.6-1.6 314.4 0 322.7 6s13.3 15.7 13.3 26zM112 320V448h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4s13.3 15.7 13.3 26zM0 64C0 28.7 28.7 0 64 0h64c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm128 0H64v96h64V64zM256 288h64c6.2 0 12.2 .9 17.9 2.5c-11.2 22.9-17.6 48.6-17.9 75.7V352H256v96h64v0h19.2c7.8 15.3 17.8 29.3 29.5 41.5C357 503.3 339.5 512 320 512H256c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64zm64 96V369.8c0 4.8 .3 9.5 .7 14.2H320z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faCommentMinus = {\n prefix: 'fad',\n iconName: 'comment-minus',\n icon: [512, 512, [], \"f4b1\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM184 216H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 240c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faBurrito = {\n prefix: 'fad',\n iconName: 'burrito',\n icon: [512, 512, [127791], \"f7ed\", [\"M33.9 270.1L251.4 52.6C274.4 82.3 288 119.6 288 160c0 18-2.7 35.4-7.7 51.7C258.2 283.7 191.2 336 112 336c-37.8 0-72.8-11.9-101.5-32.2c5.7-12.4 13.6-23.9 23.4-33.7zM352 224c40.4 0 77.7 13.6 107.4 36.6L241.9 478.1C220.2 499.8 190.7 512 160 512s-60.2-12.2-81.9-33.9L33.9 433.9C12.2 412.2 0 382.7 0 352c0-5.4 .4-10.7 1.1-16c32.1 20.3 70.1 32 110.9 32c90.5 0 167.5-57.8 196.1-138.5c14-3.6 28.7-5.5 43.9-5.5z\", \"M320 160c0-53.6-20.3-102.5-53.6-139.4C280.6 7.8 299.4 0 320 0c11.4 0 22.2 2.4 32 6.7C361.8 2.4 372.6 0 384 0c34.6 0 64.1 22 75.2 52.8C490 63.9 512 93.4 512 128c0 11.4-2.4 22.2-6.7 32c4.3 9.8 6.7 20.6 6.7 32c0 20.6-7.8 39.4-20.6 53.6C454.5 212.3 405.6 192 352 192c-11.9 0-23.6 1-34.9 2.9c1.9-11.4 2.9-23 2.9-34.9z\"]]\n};\nvar faViolin = {\n prefix: 'fad',\n iconName: 'violin',\n icon: [640, 512, [127931], \"f8ed\", [\"M544 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM496 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM417 177.7C398 166.5 375.7 160 352 160c-20.8 0-40.4 5-57.8 13.8c-6.7 3.4-9.1 11.4-7.7 18.8c1 5 1.5 10.2 1.5 15.4c0 44.2-35.8 80-80 80c-11.6 0-22.7-2.5-32.7-7c-7.4-3.3-16.6-2.4-21.3 4.3C137.6 308.7 128 337.2 128 368c0 26.7 7.3 51.7 19.9 73.1l50.5-37.9c6.4-4.8 15.3-4.1 20.9 1.5l16 16c5.6 5.6 6.3 14.5 1.5 20.9l-37.9 50.5C220.3 504.7 245.3 512 272 512c30.8 0 59.3-9.6 82.6-26.1c6.7-4.7 7.6-13.8 4.3-21.3c-4.5-10-7-21-7-32.7c0-44.2 35.8-80 80-80c5.3 0 10.5 .5 15.4 1.5c7.4 1.4 15.4-1 18.8-7.7c8.8-17.4 13.8-37 13.8-57.8c0-23.7-6.5-46-17.7-65l-23.7 23.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L417 177.7zM568 192a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm48-48a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M630.6 54.6l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM345 7c9.4 9.4 9.4 24.6 0 33.9L41 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L311 7c9.4-9.4 24.6-9.4 33.9 0zM219.3 404.7l16 16c5.6 5.6 6.3 14.5 1.5 20.9l-48 64c-2.8 3.7-7 6-11.7 6.4s-9.2-1.4-12.4-4.6l-32-32c-3.3-3.3-5-7.8-4.6-12.4s2.6-8.9 6.4-11.7l64-48c6.4-4.8 15.3-4.1 20.9 1.5z\"]]\n};\nvar faObjectsColumn = {\n prefix: 'fad',\n iconName: 'objects-column',\n icon: [448, 512, [], \"e3c1\", [\"M304 32c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304zm0 192c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H304z\", \"M48 32C21.5 32 0 53.5 0 80V240c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 320c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H48z\"]]\n};\nvar faSquareChevronDown = {\n prefix: 'fad',\n iconName: 'square-chevron-down',\n icon: [448, 512, [\"chevron-square-down\"], \"f329\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zM241 345L345 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87-87-87c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L207 345c9.4 9.4 24.6 9.4 33.9 0z\", \"M207 345c9.4 9.4 24.6 9.4 33.9 0L345 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87-87-87c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L207 345z\"]]\n};\nvar faChevronSquareDown = faSquareChevronDown;\nvar faCommentPlus = {\n prefix: 'fad',\n iconName: 'comment-plus',\n icon: [512, 512, [], \"f4b2\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM232 328V264H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V152c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M232 264v64c0 13.3 10.7 24 24 24s24-10.7 24-24V264h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faTriangleInstrument = {\n prefix: 'fad',\n iconName: 'triangle-instrument',\n icon: [576, 512, [\"triangle-music\"], \"f8e2\", [\"M320 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V69.9c-18 6.8-33.6 19.4-44.1 36.1L46.5 367.7C37 382.8 32 400.2 32 418c0 51.9 42.1 94 94 94H450c51.9 0 94-42.1 94-94c0-17.8-5-35.2-14.5-50.2L430.7 211.3l-46.4 46.4 91.1 144.2c3 4.8 4.6 10.4 4.6 16c0 16.6-13.5 30-30 30H126c-16.6 0-30-13.5-30-30c0-5.7 1.6-11.2 4.6-16L266 140.1c4.8-7.6 13.1-12.1 22-12.1s17.3 4.6 22 12.1l48 75.9 46.4-46.4L364.1 106C353.6 89.2 338 76.7 320 69.9V32z\", \"M537 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L306.8 267.2c-5.9-2.1-12.2-3.2-18.8-3.2c-30.9 0-56 25.1-56 56s25.1 56 56 56s56-25.1 56-56c0-6.6-1.1-12.9-3.2-18.8L537 105z\"]]\n};\nvar faTriangleMusic = faTriangleInstrument;\nvar faWheelchair = {\n prefix: 'fad',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", [\"M160 192c1.9 0 3.9 0 5.8 .1l9.8 49c-5.1-.7-10.3-1.1-15.6-1.1C98.1 240 48 290.1 48 352s50.1 112 112 112s112-50.1 112-112h48c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160z\", \"M240 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm19.8 128l-1.9-9.7c-4.5-22.3-24-38.3-46.8-38.3c-30.1 0-52.7 27.5-46.8 57l23.1 115.5c6 29.9 32.2 51.4 62.8 51.4h5.1c.4 0 .8 0 1.3 0h94.1c6.7 0 12.6 4.1 15 10.4L402 459.2c6 16.1 23.8 24.6 40.1 19.1l48-16c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2l-18.7 6.2-25.5-68c-11.7-31.2-41.6-51.9-74.9-51.9H282.2l-9.6-48H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H259.8z\"]]\n};\nvar faUserPilotTie = {\n prefix: 'fad',\n iconName: 'user-pilot-tie',\n icon: [448, 512, [], \"e2c1\", [\"M101.7 154.2C98 166.1 96 178.8 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-13.2-2-25.9-5.7-37.8C308.2 168.3 267 176 224 176s-84.2-7.7-122.3-21.8z\", \"M230.1 .8l152 40c8.6 2.3 15.3 9.1 17.3 17.8s-1 17.8-7.8 23.6l-23.8 20.4c.1 1 .1 2 .1 3.1v21.2c0 10.7-5.3 20.8-15.1 25.2c-24.1 10.8-68.6 24-128.9 24s-104.8-13.2-128.9-24C85.3 147.7 80 137.6 80 126.9V105.7c0-1 0-2.1 .1-3.1L56.4 82.2c-6.8-5.8-9.8-14.9-7.8-23.6s8.7-15.6 17.3-17.8l152-40c4-1.1 8.2-1.1 12.2 0zM161.7 72.8c-4 7.9-.7 17.5 7.2 21.5l48 24c4.5 2.3 9.8 2.3 14.3 0l48-24c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L224 86.1 183.2 65.7c-7.9-4-17.5-.7-21.5 7.2zM208 416l-20.4-40.8c-5.3-10.6 2.4-23.2 14.3-23.2h44.2c11.9 0 19.6 12.5 14.3 23.2L240 416l12.2 48.9L315 360.3c3-5 8.6-8.1 14.4-7.4C396.2 360.8 448 417.5 448 486.4c0 14.1-11.5 25.6-25.6 25.6H256v0H192v0H25.6C11.5 512 0 500.5 0 486.4c0-68.9 51.8-125.6 118.6-133.5c5.8-.7 11.4 2.4 14.4 7.4l62.8 104.6L208 416zm128 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336z\"]]\n};\nvar faPianoKeyboard = {\n prefix: 'fad',\n iconName: 'piano-keyboard',\n icon: [576, 512, [127929], \"f8d5\", [\"M0 224V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224H512V384H432V315.7c-4.7 2.7-10.2 4.3-16 4.3s-11.3-1.6-16-4.3V384H304V315.7c-4.7 2.7-10.2 4.3-16 4.3s-11.3-1.6-16-4.3V384H176V315.7c-4.7 2.7-10.2 4.3-16 4.3s-11.3-1.6-16-4.3V384H64V224H0z\", \"M64 64C28.7 64 0 92.7 0 128v96H128v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224H576V128c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faBedEmpty = {\n prefix: 'fad',\n iconName: 'bed-empty',\n icon: [640, 512, [128719], \"f8f9\", [\"M64 224H96 544c24.3 0 46.6 9.1 63.5 24h.5v.4c19.6 17.6 32 43.1 32 71.6H64V256 224z\", \"M32 32c17.7 0 32 14.3 32 32V320H608h32v32 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32z\"]]\n};\nvar faCircleArrowUp = {\n prefix: 'fad',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM385 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 119c9.4-9.4 24.6-9.4 33.9 0L385 231z\", \"M239 119c9.4-9.4 24.6-9.4 33.9 0L385 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 119z\"]]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'fad',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", [\"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M288 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]]\n};\nvar faRectangleVertical = {\n prefix: 'fad',\n iconName: 'rectangle-vertical',\n icon: [384, 512, [\"rectangle-portrait\"], \"f2fb\", [\"M320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L320 0z\", \"\"]]\n};\nvar faRectanglePortrait = faRectangleVertical;\nvar faPersonWalking = {\n prefix: 'fad',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", [\"M109.6 295.8c2.6 9.8 7.6 19 14.7 26.7l30.3 33.1-27.7 69.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398l40.9-102.2z\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5z\"]]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'fad',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", [\"M64 32c17.7 0 32 14.3 32 32V416H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\", \"\"]]\n};\nvar faSignalStream = {\n prefix: 'fad',\n iconName: 'signal-stream',\n icon: [576, 512, [], \"f8dd\", [\"M113.1 116c11.1-13.8 8.8-33.9-5-45s-33.9-8.8-45 5C23.7 125.3 0 187.9 0 256s23.7 130.7 63.2 180c11.1 13.8 31.2 16 45 5s16-31.2 5-45C82.4 357.6 64 309 64 256s18.4-101.6 49.1-140zM512.8 76c-11.1-13.8-31.2-16-45-5s-16 31.2-5 45c30.7 38.4 49.1 87 49.1 140s-18.4 101.6-49.1 140c-11.1 13.8-8.8 33.9 5 45s33.9 8.8 45-5C552.3 386.7 576 324.1 576 256s-23.7-130.7-63.2-180zM204.5 181.3c11.8-13.2 10.7-33.4-2.5-45.2s-33.4-10.7-45.2 2.5C129 169.8 112 210.9 112 256s17 86.2 44.8 117.3c11.8 13.2 32 14.3 45.2 2.5s14.3-32 2.5-45.2c-17.8-19.8-28.5-46-28.5-74.7s10.8-54.8 28.5-74.7zm214.7-42.7c-11.8-13.2-32-14.3-45.2-2.5s-14.3 32-2.5 45.2c17.8 19.8 28.5 46 28.5 74.7s-10.8 54.8-28.5 74.7c-11.8 13.2-10.7 33.4 2.5 45.2s33.4 10.7 45.2-2.5C447 342.2 464 301.1 464 256s-17-86.2-44.8-117.3z\", \"M232 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]]\n};\nvar faDownToBracket = {\n prefix: 'fad',\n iconName: 'down-to-bracket',\n icon: [448, 512, [], \"e4e7\", [\"M32 320c17.7 0 32 14.3 32 32v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32z\", \"M251.3 340.7L374.1 217.9c6.4-6.4 9.9-15 9.9-24c0-18.7-15.2-33.9-33.9-33.9L288 160l0-128c0-17.7-14.3-32-32-32L192 0c-17.7 0-32 14.3-32 32l0 128-62.1 0C79.2 160 64 175.2 64 193.9c0 9 3.6 17.6 9.9 24L196.7 340.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3z\"]]\n};\nvar faCircleZ = {\n prefix: 'fad',\n iconName: 'circle-z',\n icon: [512, 512, [], \"e130\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c8.9 0 17.1 5 21.3 12.9s3.6 17.5-1.5 24.8L229.8 336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.9 0-17.1-5-21.3-12.9s-3.6-17.5 1.5-24.8L282.2 176H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 152c0-13.3 10.7-24 24-24H328c8.9 0 17.1 5 21.3 12.9s3.6 17.5-1.5 24.8L229.8 336H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.9 0-17.1-5-21.3-12.9s-3.6-17.5 1.5-24.8L282.2 176H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faStars = {\n prefix: 'fad',\n iconName: 'stars',\n icon: [512, 512, [], \"f762\", [\"M312 104l13.8 48.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104zM428.8 243.2l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z\", \"M213.4 157.4c-8.8-17.9-34.3-17.9-43.1 0l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94z\"]]\n};\nvar faFire = {\n prefix: 'fad',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", [\"M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\", \"M294.5 395c-21.1 14-43.5 21-68.8 21C162.6 416 112 375.4 112 306.8c0-30.1 16.9-56.9 50.8-99.4c6.3-8 18.4-7.9 24.7 .1c16.8 21.3 46.3 58.8 62.8 79.8c6.2 7.9 18.1 8.1 24.7 .5l25.2-29.3c6.5-7.6 18-6.9 22.5 2c25.3 46.2 14 105-28.1 134.4z\"]]\n};\nvar faBedPulse = {\n prefix: 'fad',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", [\"M332.7 160H320c-17.7 0-32 14.3-32 32V320v32h32H608h32V320 256c0-53-43-96-96-96H461.9l-11.2 23.8c-8.6 18.3-26.4 30.5-46.5 32s-39.5-8-50.7-24.8L332.7 160zM256 240A80 80 0 1 0 96 240a80 80 0 1 0 160 0z\", \"M483.2 9.6C478.1 2.9 469.9-.7 461.6 .1s-15.7 6-19.3 13.7l-45.9 97.5L372 74.7C367.5 68 360 64 352 64H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H339.2L380 173.3c4.8 7.2 13.1 11.3 21.7 10.6s16.3-5.9 19.9-13.7l47-99.9 24.1 32.1c4.5 6 11.6 9.6 19.2 9.6H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H524L483.2 9.6zM64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V480c0 17.7 14.3 32 32 32s32-14.3 32-32V448H576v32c0 17.7 14.3 32 32 32s32-14.3 32-32V384 352H608 64V96z\"]]\n};\nvar faProcedures = faBedPulse;\nvar faHouseDay = {\n prefix: 'fad',\n iconName: 'house-day',\n icon: [640, 512, [], \"e00e\", [\"M160.1-.1c5.9 0 11.3 3.2 14.1 8.4l27.6 51.2 55.7-16.7c5.6-1.7 11.7-.1 15.9 4s5.7 10.3 4 15.9l-16.7 55.7 35.3 19-64.7 59.7c5.6-10.9 8.7-23.3 8.7-36.3c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c10.8 0 21.1-2.1 30.5-6l-41.7 38.5L133.1 288l-14.6-27.2L62.8 277.5c-5.6 1.7-11.7 .1-15.9-4s-5.7-10.3-4-15.9l16.7-55.7L8.3 174.3c-5.2-2.8-8.4-8.2-8.4-14.1s3.2-11.3 8.4-14.1l51.2-27.6L42.8 62.8c-1.7-5.6-.1-11.7 4-15.9s10.3-5.7 15.9-4l55.7 16.7L146 8.3c2.8-5.2 8.2-8.4 14.1-8.4zM160 112a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M378.3 104.5c12.3-11.3 31.2-11.3 43.4 0l208 192c9.7 8.9 12.9 22.9 8.1 35.2S621.2 352 608 352H576V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V352H192c-13.2 0-25-8.1-29.8-20.3s-1.6-26.2 8.1-35.2l208-192zM368 288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H368z\"]]\n};\nvar faShuttleSpace = {\n prefix: 'fad',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", [\"M96 32v96H32V80c0-26.5 21.5-48 48-48H96zm0 352v96H80c-26.5 0-48-21.5-48-48V384H96zm32 96V380.3c16.1-5.1 30.1-15.1 40-28.3H405.3L245.2 448.1C210.4 469 170.6 480 130 480h-2zm0-348.3V32h2c40.6 0 80.4 11 115.2 31.9L405.3 160H168c-9.9-13.2-23.9-23.3-40-28.3z\", \"M0 168c0-22.1 17.9-40 40-40h64c26.2 0 49.4 12.6 64 32H456c69.3 0 135 22.7 179.2 81.6c6.4 8.5 6.4 20.3 0 28.8C591 329.3 525.3 352 456 352H168c-14.6 19.4-37.8 32-64 32H40c-22.1 0-40-17.9-40-40V328 184 168zM512 268.4V243.6c0-19.6-15.9-35.6-35.6-35.6c-2.5 0-4.4 2-4.4 4.4v87.1c0 2.5 2 4.4 4.4 4.4c19.6 0 35.6-15.9 35.6-35.6z\"]]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faShirtLongSleeve = {\n prefix: 'fad',\n iconName: 'shirt-long-sleeve',\n icon: [640, 512, [], \"e3c7\", [\"M320 112c61.9 0 112-50.1 112-112h28 15.6H480c1 0 2 .1 3 .3c32.1 2.5 61 20.9 76.7 49.5l66.4 120.7c9.1 16.5 13.9 35.1 13.9 54V384c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224.4c0-2.7-.7-5.3-2-7.7l-46-83.7V448c0 35.3-28.7 64-64 64H208c-35.3 0-64-28.7-64-64V133.1L98 216.7c-1.3 2.4-2 5-2 7.7V384c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224.4c0-18.9 4.8-37.4 13.9-54L80.3 49.7C95.9 21.2 124.9 2.8 157 .3c1-.2 2-.3 3-.3h4.4H180h28c0 61.9 50.1 112 112 112z\", \"M208 0c0 61.9 50.1 112 112 112s112-50.1 112-112H400c0 44.2-35.8 80-80 80s-80-35.8-80-80H208z\"]]\n};\nvar faChartPieSimple = {\n prefix: 'fad',\n iconName: 'chart-pie-simple',\n icon: [512, 512, [\"chart-pie-alt\"], \"f64e\", [\"M224 49.6c0-9.2-7.8-16.6-17-15.4C90.1 50.3 0 150.7 0 272C0 404.6 107.5 512 240 512c121.4 0 221.7-90.1 237.7-207c1.3-9.2-6.1-17-15.4-17H224V49.6z\", \"M272 240H495.4c9 0 16.6-7 16.6-16C512 100.3 411.7 0 288 0c-9 0-16 7.6-16 16.6V240z\"]]\n};\nvar faChartPieAlt = faChartPieSimple;\nvar faFaceLaugh = {\n prefix: 'fad',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'fad',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", [\"M461.4 461.1l16.2-27.9c-3 10.7-8.7 20.2-16.2 27.9zM480 224H144c-11.4 0-21.9 6-27.6 15.9l-112 192c-5.8 9.9-5.8 22.1-.1 32.1c1 1.7 2 3.2 3.2 4.6C2.8 463 0 455.8 0 448V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v64zM11.1 472.2c5.7 4.9 13.1 7.8 20.9 7.8c-8 0-15.3-2.9-20.9-7.8z\", \"M144 224c-11.4 0-21.9 6-27.6 15.9l-112 192c-5.8 9.9-5.8 22.1-.1 32.1S20.5 480 32 480H432c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144z\"]]\n};\nvar faAlbumCollectionCircleUser = {\n prefix: 'fad',\n iconName: 'album-collection-circle-user',\n icon: [640, 512, [], \"e48f\", [\"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM12 176.2C21.1 165.9 34.2 160 48 160H464c13.8 0 26.9 5.9 36 16.2c4.2 4.8 7.4 10.3 9.4 16.3c-4.4-.3-8.9-.5-13.4-.5c-46.9 0-89.5 18.3-121 48.2C342.9 220.1 301.4 208 256 208C154.4 208 72 268.9 72 344s82.4 136 184 136c33.2 0 64.4-6.5 91.3-17.9c12.4 19.6 28.6 36.6 47.5 49.9H80c-24.2 0-44.6-18-47.6-42L.4 214c-1.7-13.7 2.5-27.4 11.6-37.7zM288 352c0 13.3-14.3 24-32 24s-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-32c-30.2 0-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7C553.5 468.1 526.2 480 496 480zm0-192a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faCandy = {\n prefix: 'fad',\n iconName: 'candy',\n icon: [640, 512, [127852], \"e3e7\", [\"M504 310.9c5.2-17.4 8-35.8 8-54.9s-2.8-37.5-8-54.9l93.2-46.6c10.5-5.3 23.3-2.1 30.2 7.4s5.8 22.7-2.5 31l-29.6 29.6 29.1 10.9C633.8 237 640 246 640 256s-6.2 19-15.6 22.5l-29.1 10.9L625 319c8.3 8.3 9.4 21.5 2.5 31s-19.7 12.7-30.2 7.4L504 310.9zM136 201.1c-5.2 17.4-8 35.8-8 54.9s2.8 37.5 8 54.9L42.7 357.5c-10.5 5.3-23.3 2.1-30.2-7.4s-5.8-22.7 2.5-31l29.6-29.6L15.6 278.5C6.2 275 0 266 0 256s6.2-19 15.6-22.5l29.1-10.9L15 193c-8.3-8.3-9.4-21.5-2.5-31s19.7-12.7 30.2-7.4L136 201.1z\", \"M318.1 64c-24.5 .2-47.9 5.1-69.4 13.7L419.9 420c20.3-12.4 38.2-28.5 52.6-47.3L318.1 64zM492.3 340.8C504.9 315.2 512 286.4 512 256c0-93.9-67.4-172.1-156.5-188.7L492.3 340.8zm-101 93.5L220.1 92c-20.3 12.4-38.2 28.5-52.6 47.3L321.9 448c24.5-.2 47.9-5.1 69.4-13.7zM284.5 444.7L147.7 171.2C135.1 196.8 128 225.6 128 256c0 93.9 67.4 172.1 156.5 188.7z\"]]\n};\nvar faBowlHot = {\n prefix: 'fad',\n iconName: 'bowl-hot',\n icon: [512, 512, [\"soup\"], \"f823\", [\"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 32.7 15.4 63.6 41.6 83.2C183.7 125.8 192 142.4 192 160v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-32.7-15.4-63.6-41.6-83.2C184.3 66.2 176 49.6 176 32V24zm128 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 32.7 15.4 63.6 41.6 83.2C311.7 125.8 320 142.4 320 160v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-32.7-15.4-63.6-41.6-83.2C312.3 66.2 304 49.6 304 32V24z\", \"M33.6 224C15.4 224 .9 239.3 2 257.5c5.4 91.7 59.7 169.7 136.4 209.7l1.2 9.7c2.5 20 19.5 35 39.7 35H332.7c20.2 0 37.2-15 39.7-35l1.2-9.7c76.8-40 131-118 136.4-209.7c1.1-18.2-13.4-33.5-31.6-33.5H33.6z\"]]\n};\nvar faSoup = faBowlHot;\nvar faFlatbread = {\n prefix: 'fad',\n iconName: 'flatbread',\n icon: [512, 512, [129747], \"e40b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM363.3 171.3l-192 192c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm-112-70.6c6.2 6.2 6.2 16.4 0 22.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0zm160 182.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M251.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0zm112 48c6.2 6.2 6.2 16.4 0 22.6l-192 192c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192c6.2-6.2 16.4-6.2 22.6 0zm48 134.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faHeartCirclePlus = {\n prefix: 'fad',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", [\"M507 208.7C484.3 198 458.8 192 432 192c-97.2 0-176 78.8-176 176c0 35.7 10.6 68.9 28.9 96.6l-5.4 5.6c-13 13-34 13-45.9 0L39.7 270.5c-55.9-57.9-52.9-153.8 10-207.8c53.9-47 136.8-38 186.8 13l20 21 19-21c49.9-50.9 131.8-59.9 187.8-13c42.9 37.4 57.5 95 43.8 146.1z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faCodeFork = {\n prefix: 'fad',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", [\"M112 153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V192c0 53 43 96 96 96h48v70.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V288h48c53 0 96-43 96-96V153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V192c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V153.3z\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 80 0a80 80 0 1 0 0 160zM368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 368 0a80 80 0 1 0 0 160zM200 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faCity = {\n prefix: 'fad',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", [\"M432 0c26.5 0 48 21.5 48 48V192H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H432 336 304 48c-26.5 0-48-21.5-48-48V240 144c0-26.5 21.5-48 48-48H288V48c0-26.5 21.5-48 48-48h96zM560 352H528c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM256 400V368c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM112 416c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM576 272c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272zM240 160H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16zM128 176c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176zM240 320c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM128 304V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm272-48H368c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16zM416 80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80zm-16 80H368c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16z\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96h48V24zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V96h48V24zm16 136H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16zM576 272c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272zM112 416c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm144-16V368c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm320-32c0-8.8-7.2-16-16-16H528c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368zM128 176c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176zM240 320c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM128 304V272c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"]]\n};\nvar faSignalBarsWeak = {\n prefix: 'fad',\n iconName: 'signal-bars-weak',\n icon: [640, 512, [\"signal-alt-1\"], \"f691\", [\"M560 0c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V48c0-26.5-21.5-48-48-48zM352 176V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zM192 304V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48s-48 21.5-48 48z\", \"M32 432c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V432z\"]]\n};\nvar faSignalAlt1 = faSignalBarsWeak;\nvar faMicrophoneLines = {\n prefix: 'fad',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", [\"M208 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V96H208zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V160H208zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V224H208zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\", \"M192 0C139 0 96 43 96 96V256c0 53 43 96 96 96s96-43 96-96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c0-53-43-96-96-96z\"]]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faClockTwelve = {\n prefix: 'fad',\n iconName: 'clock-twelve',\n icon: [512, 512, [], \"e358\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V256c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24V256c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faPepperHot = {\n prefix: 'fad',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", [\"M281.8 124.3c3.5 2.3 7.9 3.7 13 3.7l17.1 0c13.3 0 24 10.7 24 24v80c0 13.3 10.7 24 24 24h73.2c9.1 0 17.4 5.1 21.5 13.3l11.7 23.4c2 4.1 5 7.2 8.3 9.4C397.9 429.6 258.4 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7L281.8 124.3z\", \"M461 12.3C454.5 .8 439.9-3.4 428.3 3s-15.8 21-9.3 32.6l4.8 8.7c9.7 17.5 11.5 37.6 6 55.8C406.8 87.3 380.3 80 352 80c-24.3 0-47.3 5.4-67.9 15.1c-19.3 9-10.5 32.9 10.8 32.9l17.1 0c13.3 0 24 10.7 24 24v80c0 13.3 10.7 24 24 24h73.2c9.1 0 17.4 5.1 21.5 13.3l11.7 23.4c8.2 16.4 30.7 17.5 36.8 .1c5.8-16.5 8.9-34.3 8.9-52.8c0-42.1-16.2-80.4-42.8-108.9c16.4-34.3 15.9-75.4-3.4-110L461 12.3z\"]]\n};\nvar faCitrusSlice = {\n prefix: 'fad',\n iconName: 'citrus-slice',\n icon: [512, 512, [], \"e2f5\", [\"M253.5 230.9c-3.7-3.7-4.4-9.4-2.4-14.3s6.5-8.5 11.8-8.5H448.2c8.6 0 15.8 6.8 15.5 15.5c-1.4 50.6-18.3 100.8-50.6 143c-5.6 7.3-16.3 7.7-22.9 1.1L253.5 230.9zM208 262.9c0-5.3 3.7-9.8 8.5-11.8s10.6-1.4 14.3 2.4L367.6 390.3c6.5 6.5 6.2 17.3-1.1 22.9c-42.2 32.3-92.5 49.2-143 50.6c-8.6 .2-15.5-6.9-15.5-15.5V262.9zM250.5 166c-2.6-5.9-2.1-13 2.5-17.6L366.3 35.1c4.6-4.6 20.1 1.2 24.7 5.8c33.4 33.4 55.3 73.9 65.7 116.6c2.3 9.6-5.2 18.5-15.1 18.5H264.5c-6.2 0-11.5-4.3-14-10zM148.4 253c4.6-4.6 11.7-5.2 17.6-2.5c5.7 2.5 10 7.8 10 14V441.7c0 9.9-8.9 17.4-18.5 15.1C114.8 446.3 74.4 424.4 41 391c-4.6-4.6-10.5-20.1-5.8-24.7L148.4 253z\", \"M7 391c9.4-9.4 24.6-9.4 33.9 0c96.9 96.9 253.6 97.1 350.4 .3s96.6-253.5-.3-350.4c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c115.6 115.6 116 302.6 .3 418.3S122.6 540.5 7 425c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faSheep = {\n prefix: 'fad',\n iconName: 'sheep',\n icon: [640, 512, [128017], \"f711\", [\"M308.5 142.1c8 18.6 24.8 30.7 43.5 33.4V208c0 61.9 50.1 112 112 112h15.5c.3 2.6 .5 5.3 .5 8c0 35.3-28.7 64-64 64c-3.3 0-6.6-.3-9.8-.7c-6.8 28-32.1 48.7-62.2 48.7c-15 0-28.9-5.2-39.8-13.9c-11.7 13.4-29 21.9-48.2 21.9s-36.5-8.5-48.2-21.9C196.9 434.8 183 440 168 440c-30.1 0-55.3-20.8-62.2-48.7c-3.2 .5-6.5 .7-9.8 .7c-35.3 0-64-28.7-64-64c0-5.3 .7-10.5 1.9-15.5C13.7 301.7 0 280.5 0 256s13.7-45.7 33.9-56.5c-1.2-5-1.9-10.2-1.9-15.5c0-35.3 28.7-64 64-64c3.3 0 6.6 .3 9.8 .8C112.7 92.8 137.9 72 168 72c15 0 28.9 5.2 39.8 13.9C219.5 72.5 236.8 64 256 64c22.9 0 43 12 54.3 30.1c-7.5 14.4-8.7 31.9-1.8 47.9z\", \"M384 135.8l-14.5 6.2c-12.2 5.2-26.3-.4-31.5-12.6s.4-26.3 12.6-31.5l47.8-20.5C415.3 50.2 445.5 32 480 32s64.7 18.2 81.6 45.4l47.8 20.5c12.2 5.2 17.8 19.3 12.6 31.5s-19.3 17.8-31.5 12.6L576 135.8V208c0 44.2-35.8 80-80 80H464c-44.2 0-80-35.8-80-80V135.8zM464 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM115.1 485.9L97.5 392c2.8-.1 5.6-.3 8.3-.7c6.8 28 32.1 48.7 62.2 48.7c15 0 28.9-5.2 39.8-13.9l.2 .2V480c0 17.7-14.3 32-32 32H146.6c-15.4 0-28.6-11-31.5-26.1zM304 480V426.3l.2-.2C315.1 434.8 329 440 344 440c30.1 0 55.3-20.8 62.2-48.7c2.7 .4 5.5 .7 8.3 .7l-17.6 93.9C394.1 501 380.8 512 365.4 512H336c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faUnlock = {\n prefix: 'fad',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", [\"M224 64c-44.2 0-80 35.8-80 80v48H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64z\", \"M0 256c0-35.3 28.7-64 64-64H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256z\"]]\n};\nvar faColonSign = {\n prefix: 'fad',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", [\"M255 39.8l-6.5 25.8c-8.1-1-16.3-1.6-24.6-1.6c-14.5 0-28.6 1.6-42.1 4.6L193 24.2C197.2 7.1 214.6-3.3 231.8 1s27.6 21.7 23.3 38.8zm-22.1 88.5L171.8 372.9c-22.2-9.9-41.1-26-54.4-46.1l45.9-183.4C181.3 133.6 202 128 224 128c3 0 6 .1 8.9 .3zM199.6 381.7l62-248.1c14.3 4.4 27.5 11.2 39.2 20c6 4.5 13.2 6.6 20.2 6.4L266.8 376.7C253.4 381.4 239 384 224 384c-8.3 0-16.5-.8-24.4-2.3zm-43.5 54l-13 52.1c-4.3 17.1-21.7 27.6-38.8 23.3s-27.6-21.7-23.3-38.8l17.7-70.8c16.8 14.5 36.2 26.2 57.4 34.2zm28 8.2c12.9 2.7 26.2 4.2 39.9 4.2c8.6 0 17.1-.6 25.4-1.7L239 487.8c-4.3 17.1-21.7 27.6-38.8 23.3s-27.6-21.7-23.3-38.8l7.1-28.4zM336 100c-17.6-12.7-37.5-22.4-58.8-28.6L289 24.2C293.2 7.1 310.6-3.3 327.8 1s27.6 21.7 23.3 38.8L336 100z\", \"M224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8C307.1 433.7 267.2 448 224 448C118 448 32 362 32 256S118 64 224 64c43.2 0 83.1 14.3 115.2 38.4c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128z\"]]\n};\nvar faHeadset = {\n prefix: 'fad',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", [\"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208V400.1c0 22.1-17.9 40-40 40L313.6 440c-8.3-14.4-23.8-24-41.6-24H240c-26.5 0-48 21.5-48 48s21.5 48 48 48h32c17.8 0 33.3-9.7 41.6-24l110.4 .1c48.6 0 88.1-39.4 88.1-88V256C512 114.6 397.4 0 256 0S0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256z\", \"M144 208c-35.3 0-64 28.7-64 64v48c0 35.3 28.7 64 64 64h16c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H144zm224 0H352c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h16c35.3 0 64-28.7 64-64V272c0-35.3-28.7-64-64-64z\"]]\n};\nvar faBadgerHoney = {\n prefix: 'fad',\n iconName: 'badger-honey',\n icon: [640, 512, [129441], \"f6b4\", [\"M502 122.2L570 160H467.5c-23.2 0-46 6.3-65.9 18.2L294.8 242.3c-14.9 9-32 13.7-49.4 13.7H192c-46.4 0-86.2-28.2-103.2-68.5C102 161.7 129 144 160 144H332.2c31 0 61.5-7.2 89.2-21.1l4.7-2.4c11.3-5.6 23.7-8.6 36.3-8.6c13.8 0 27.4 3.5 39.5 10.2zm51.2 154.9l-16.1-25.8c15.5-4.9 31.7-8.4 48.3-10.2c1.4-.1 2.8-.3 4.2-.6l-22.8 36.5c-3.1 5-10.4 5-13.6 0z\", \"M180.6 352l-16 37.3c-3 6.9-3.4 14.6-1.2 21.8l8.3 27.7c6.2 20.5-9.2 41.2-30.7 41.2H111.8c-14.1 0-26.6-9.3-30.7-22.8L68 413.5c-2.6-8.8-2.7-18.2-.2-27l16.8-59C69.1 316.2 56.2 301.4 47 284.3c-4.5 2.4-9.6 3.7-15 3.7c-17.7 0-32-14.3-32-32V224C0 153.3 57.3 96 128 96h32H332.2c23.5 0 46.7-5.5 67.8-16l4.7-2.4c17.9-9 37.7-13.6 57.8-13.6c22 0 43.6 5.6 62.8 16.3l81.9 45.5C627.4 137 640 158.4 640 181.6v3.8c0 14.5-5.8 28.4-16 38.6s-24.2 15.7-38.6 17.2C500.8 250 427.7 306.1 393 342.1l16.8 100.6C413 462.2 398 480 378.2 480H347.1c-15.6 0-29-11.3-31.6-26.7L298.7 352H180.6zM570 160l-68-37.8c-12.1-6.7-25.6-10.2-39.5-10.2c-12.6 0-25.1 2.9-36.3 8.6l-4.7 2.4c-27.7 13.9-58.3 21.1-89.2 21.1H160c-31 0-58 17.7-71.2 43.5c17 40.2 56.8 68.5 103.2 68.5h53.4c17.4 0 34.5-4.7 49.4-13.7l106.8-64.1c19.9-11.9 42.7-18.2 65.9-18.2h5.9c-.9 2.5-1.4 5.2-1.4 8c0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.8-.5-5.5-1.4-8H570z\"]]\n};\nvar faH4 = {\n prefix: 'fad',\n iconName: 'h4',\n icon: [640, 512, [], \"f86a\", [\"M32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\", \"M479 103.8c4.3-17.1-6.1-34.5-23.3-38.8s-34.5 6.1-38.8 23.3l-48 192c-2.4 9.6-.2 19.7 5.8 27.5s15.4 12.3 25.2 12.3H576v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V256H441L479 103.8z\"]]\n};\nvar faStoreSlash = {\n prefix: 'fad',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", [\"M365.5 384H160V250.6c-11.2 3.5-23.2 5.4-35.6 5.4c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V384v64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3L365.5 384zM48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5zM480 350.9l64 50.2V384 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-12.4 0-24.3-1.9-35.4-5.3V350.9zM94.9 49.1L301.2 210.7c7-4.4 13.3-9.7 18.8-15.7c15.9 17.6 39.1 29 65.2 29c26.2 0 49.3-11.4 65.2-29c16 17.6 39.1 29 65.2 29c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faRoadCircleXmark = {\n prefix: 'fad',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", [\"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32l.7 0c-.5-5.3-.7-10.6-.7-16c0-16.9 2.4-33.3 6.8-48.7c-2.2 .5-4.5 .7-6.8 .7c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32v42.8c31.9-45.2 84.5-74.8 144-74.8c11.6 0 22.9 1.1 33.8 3.2L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faSignalSlash = {\n prefix: 'fad',\n iconName: 'signal-slash',\n icon: [640, 512, [], \"f695\", [\"M608 451.2V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V401.1l64 50.2zM480 350.9V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V300.8l64 50.2zM352 250.6V224c0-17.7-14.3-32-32-32c-10.7 0-20.1 5.2-25.9 13.2L352 250.6zM576 512l-.3 0h.6l-.3 0zm-96-32v-5.8l-64-50.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32zM352 373.3l-64-50.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V373.3zM192 288c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32zM96 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faUserMinus = {\n prefix: 'fad',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", [\"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\", \"M448 224c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMarsStrokeUp = {\n prefix: 'fad',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", [\"M96 352a64 64 0 1 1 128 0A64 64 0 1 1 96 352z\", \"M148.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H184v24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H184v24c0 .6 0 1.2-.1 1.8c77 11.6 136.1 78 136.1 158.2c0 88.4-71.6 160-160 160S0 440.4 0 352c0-80.2 59.1-146.7 136.1-158.2c0-.6-.1-1.2-.1-1.8V168H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V96H96c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zM256 352A96 96 0 1 0 64 352a96 96 0 1 0 192 0z\"]]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'fad',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", [\"M195 1.9C179.9-3.6 163 3 155.6 17.3L76.9 170.2C48.1 226 66.5 292.5 115.3 326.8L84 413l-41-15c-16.6-6.1-35 2.5-41 19.1s2.5 35 19.1 41l71.1 25.9L163.3 510c16.6 6.1 35-2.5 41-19.1s-2.5-35-19.1-41l-41-15 31.3-86.2c59.4 5.2 116.2-33.9 130-95.2L320 188.8l14.6 64.7c13.8 61.3 70.6 100.4 130 95.2l31.3 86.2-41 15c-16.6 6.1-25.2 24.4-19.1 41s24.4 25.2 41 19.1l71.1-25.9L619 458.2c16.6-6.1 25.2-24.4 19.1-41s-24.4-25.2-41-19.1l-41 15-31.3-86.2c48.8-34.3 67.2-100.8 38.5-156.6L484.4 17.3C477.1 3 460.2-3.6 445.1 1.9L320 47.5 195 1.9zM133.7 199.6L199.6 71.7l75.1 27.4L243 239.4c-7.8 34.5-44 54.3-77.2 42.2s-48.2-50.6-32.1-82zm372.6 0c16.2 31.4 1.1 69.9-32.1 82s-69.4-7.7-77.2-42.2L365.4 99.1l75.1-27.4 65.9 127.8z\", \"M172.4 124.5l-38.7 75c-16.2 31.4-1.1 69.9 32.1 82s69.4-7.7 77.2-42.2L261.6 157l-89.2-32.5zm295.2 0L378.5 157 397 239.4c7.8 34.5 44 54.3 77.2 42.2s48.2-50.6 32.1-82l-38.7-75z\"]]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faTaco = {\n prefix: 'fad',\n iconName: 'taco',\n icon: [512, 512, [127790], \"f826\", [\"M480 480c17.7 0 32-14.3 32-32c0-141.4-114.6-256-256-256S0 306.6 0 448c0 17.7 14.3 32 32 32H480zM96 400a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M237.2 38.4c11-8.6 26.5-8.6 37.5 0l44.1 34.2c5.6 4.4 12.6 6.6 19.7 6.4l55.8-1.7c14-.4 26.5 8.6 30.4 22.1l15.6 53.6c2 6.8 6.3 12.8 12.2 16.8L498.6 201c11.6 7.9 16.3 22.5 11.6 35.7l-27.8 91.6C439.4 247.2 354.1 192 256 192s-183.4 55.2-226.3 136.3L1.8 236.7c-4.7-13.1 0-27.8 11.6-35.7l46.1-31.4c5.9-4 10.2-9.9 12.2-16.8L87.3 99.3c3.9-13.4 16.4-22.5 30.4-22.1L173.4 79c7.1 .2 14.1-2 19.7-6.4l44.1-34.2z\"]]\n};\nvar faHexagonPlus = {\n prefix: 'fad',\n iconName: 'hexagon-plus',\n icon: [512, 512, [\"plus-hexagon\"], \"f300\", [\"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\", \"M232 280v64c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faPlusHexagon = faHexagonPlus;\nvar faClipboard = {\n prefix: 'fad',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", [\"M113.6 64c-.2 .8-.3 1.6-.4 2.3C93.9 72.6 80 90.7 80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112c0-21.3-13.9-39.4-33.2-45.7c-.1-.8-.3-1.6-.4-2.3H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h49.6z\", \"M192 0c-39.5 0-72.4 28.7-78.8 66.3C93.9 72.6 80 90.7 80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112c0-21.3-13.9-39.4-33.2-45.7C264.4 28.7 231.5 0 192 0zm0 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faHouseCircleExclamation = {\n prefix: 'fad',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", [\"M496 192c-91.8 0-167.2 70.3-175.3 160l-.7 0H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faFileArrowUp = {\n prefix: 'fad',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM216 392V289.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM216 392c0 13.3-10.7 24-24 24s-24-10.7-24-24V289.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V392z\"]]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'fad',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", [\"\", \"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM320 256c56.8 0 108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faMessages = {\n prefix: 'fad',\n iconName: 'messages',\n icon: [640, 512, [\"comments-alt\"], \"f4b6\", [\"M256 352v32c0 35.3 28.7 64 64 64H437.3l81.1 60.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.2 8.8-14.3V448h32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H448V256c0 53-43 96-96 96H256z\", \"M0 64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H202.7l-81.1 60.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V320H64c-35.3 0-64-28.7-64-64V64z\"]]\n};\nvar faCommentsAlt = faMessages;\nvar faBath = {\n prefix: 'fad',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", [\"M109.3 64C101.9 64 96 69.9 96 77.3V256H32V77.3C32 34.6 66.6 0 109.3 0c20.5 0 40.1 8.1 54.6 22.6l14.9 14.9C187.8 34 197.7 32 208 32c19.9 0 38 7.2 52 19.2c9.2-5.3 21.1-4 29 3.8c9.4 9.4 9.4 24.6 0 33.9L185 193c-9.4 9.4-24.6 9.4-33.9 0c-7.9-7.9-9.1-19.8-3.8-29c-12-14-19.2-32.1-19.2-52c0-10.3 2-20.2 5.5-29.2L118.6 67.9c-2.5-2.5-5.9-3.9-9.4-3.9z\", \"M32 256c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm448 96H32v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V464H384v16c0 17.7 14.3 32 32 32s32-14.3 32-32V439.6c19.6-17.6 32-43.1 32-71.6V352z\"]]\n};\nvar faBathtub = faBath;\nvar faUmbrellaSimple = {\n prefix: 'fad',\n iconName: 'umbrella-simple',\n icon: [512, 512, [\"umbrella-alt\"], \"e2bc\", [\"M288 288V430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V288h64z\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v2C108.2 48.4 16.4 140.2 2 256.1C-.2 273.6 14.3 288 32 288H480c17.7 0 32.2-14.4 30-31.9C495.6 140.2 403.8 48.4 288 34V32z\"]]\n};\nvar faUmbrellaAlt = faUmbrellaSimple;\nvar faRectangleHistoryCirclePlus = {\n prefix: 'fad',\n iconName: 'rectangle-history-circle-plus',\n icon: [640, 512, [], \"e4a3\", [\"M394.8 512C349.5 480.1 320 427.5 320 368c0-97.2 78.8-176 176-176c2.5 0 5 .1 7.5 .2c-11-19.2-31.8-32.2-55.5-32.2L64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64l330.8 0zM464 104c0-13.3-10.7-24-24-24L72 80c-13.3 0-24 10.7-24 24s10.7 24 24 24l368 0c13.3 0 24-10.7 24-24zM416 24c0-13.3-10.7-24-24-24H120C106.7 0 96 10.7 96 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faUnderline = {\n prefix: 'fad',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", [\"M48 32C30.3 32 16 46.3 16 64s14.3 32 32 32H64V224c0 88.4 71.6 160 160 160s160-71.6 160-160V96h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H304c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V224c0 53-43 96-96 96s-96-43-96-96V96h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H48z\", \"M0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faPrescriptionBottlePill = {\n prefix: 'fad',\n iconName: 'prescription-bottle-pill',\n icon: [576, 512, [], \"e5c0\", [\"M32 0C14.3 0 0 14.3 0 32V64C0 81.7 14.3 96 32 96H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM352 128H32v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v32c0 35.3 28.7 64 64 64H288c11.6 0 22.4-3.1 31.8-8.4c-39-32.3-63.8-81-63.8-135.6c0-68.4 39-127.7 96-156.8V128z\", \"M338.5 297.1c-10.1-10.1-27-9.2-33.7 3.4C294.1 320.6 288 343.6 288 368c0 79.5 64.5 144 144 144c24.4 0 47.4-6.1 67.5-16.8c12.6-6.7 13.5-23.6 3.4-33.7L338.5 297.1zM525.5 438.9c10.1 10.1 27 9.2 33.7-3.4C569.9 415.4 576 392.4 576 368c0-79.5-64.5-144-144-144c-24.4 0-47.4 6.1-67.5 16.8c-12.6 6.7-13.5 23.6-3.4 33.7L525.5 438.9z\"]]\n};\nvar faUserPen = {\n prefix: 'fad',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c48.1 0 91.8 19.1 123.9 50.1l-40.3 40.3c-8.2 8.2-14 18.5-16.8 29.7l-15 60.1c-2.3 9.4-1.8 19 1.4 27.8H29.7C13.3 512 0 498.7 0 482.3z\", \"M557.2 235.7l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-52 52L375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71z\"]]\n};\nvar faUserEdit = faUserPen;\nvar faBinarySlash = {\n prefix: 'fad',\n iconName: 'binary-slash',\n icon: [640, 512, [], \"e33e\", [\"M384 398.5l-63.9-50.3c-.1 1.3-.1 2.5-.1 3.8v96c0 35.3 28.7 64 64 64h64c20.1 0 38.1-9.3 49.8-23.8l-51-40.2H384V398.5zM399.7 288L512 376V352c0-35.3-28.7-64-64-64H399.7zM236.4 160L298 208.3c13.5-11.7 22-29 22-48.3V64c0-35.3-28.7-64-64-64H192c-35.3 0-64 28.7-64 64V75l64 50.2V64h64v96H236.4zM464 32c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H464V32zM240 320c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H240V320z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faSquareO = {\n prefix: 'fad',\n iconName: 'square-o',\n icon: [448, 512, [], \"e278\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 224a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\", \"M224 176a80 80 0 1 0 0 160 80 80 0 1 0 0-160zm128 80A128 128 0 1 1 96 256a128 128 0 1 1 256 0z\"]]\n};\nvar faSignature = {\n prefix: 'fad',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", [\"M64 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368zm219.5 48H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H305.9c-6.7 16.3-14.2 32.3-22.3 48z\", \"M224 96c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-53 43-96 96-96s96 43 96 96v7.8c0 20.8-1.2 41.6-3.6 62.3l122.4-36.7c11.4-3.4 23.8-.2 32.2 8.4s11.2 21.1 7.4 32.4l-18 53.9H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l12.5-37.5-94.4 28.3c-11.9 52.8-31.6 103.5-58.4 150.5l-13.9 24.3c-12.9 22.6-36.9 36.5-62.9 36.5c-40 0-72.5-32.5-72.5-72.5V335.6c0-42.4 27.8-79.8 68.4-92l84.4-25.3c4.8-27.2 7.1-54.9 7.1-82.5V128c0-17.7-14.3-32-32-32zm7.8 194.3l-49 14.7C169.3 309 160 321.5 160 335.6v71.9c0 4.7 3.8 8.5 8.5 8.5c3 0 5.9-1.6 7.4-4.3l13.9-24.3c17.6-30.8 31.7-63.4 42.1-97.2z\"]]\n};\nvar faStroopwafel = {\n prefix: 'fad',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM312.6 63.7c-6.2-6.2-16.4-6.2-22.6 0L256 97.6 222.1 63.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l33.9 33.9-45.3 45.3-56.6-56.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6-45.3 45.3L86.3 199.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L97.6 256 63.7 289.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9 45.3 45.3-56.6 56.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6 45.3 45.3-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 414.4l33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-33.9-33.9 45.3-45.3 56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56.6-56.6 45.3-45.3 33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L414.4 256l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9-45.3-45.3 56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56.6 56.6-45.3-45.3 33.9-33.9c6.2-6.2 6.2-16.4 0-22.6zM142.9 256l45.3-45.3L233.4 256l-45.3 45.3L142.9 256zm67.9 67.9L256 278.6l45.3 45.3L256 369.1l-45.3-45.3zM278.6 256l45.3-45.3L369.1 256l-45.3 45.3L278.6 256zm22.6-67.9L256 233.4l-45.3-45.3L256 142.9l45.3 45.3z\", \"M425.7 312.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L414.4 256l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9-45.3-45.3 56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-56.6 56.6-45.3-45.3 33.9-33.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 97.6 222.1 63.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l33.9 33.9-45.3 45.3-56.6-56.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6-45.3 45.3L86.3 199.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L97.6 256 63.7 289.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9 45.3 45.3-56.6 56.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6 45.3 45.3-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 414.4l33.9 33.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-33.9-33.9 45.3-45.3 56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56.6-56.6 45.3-45.3 33.9 33.9zM256 369.1l-45.3-45.3L256 278.6l45.3 45.3L256 369.1zm-67.9-67.9L142.9 256l45.3-45.3L233.4 256l-45.3 45.3zM256 233.4l-45.3-45.3L256 142.9l45.3 45.3L256 233.4zm67.9 67.9L278.6 256l45.3-45.3L369.1 256l-45.3 45.3z\"]]\n};\nvar faBold = {\n prefix: 'fad',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", [\"M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z\", \"\"]]\n};\nvar faAnchorLock = {\n prefix: 'fad',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", [\"M288 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 32c0 33.4-17 62.8-42.9 80H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H320V448h48c5.5 0 10.8-.5 16-1.3V480c0 11 2.7 21.3 7.6 30.3c-7.7 1.1-15.6 1.7-23.6 1.7H288 208c-88.4 0-160-71.6-160-160v-6.1l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56-56c9.4-9.4 24.6-9.4 33.9 0l56 56c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7V352c0 53 43 96 96 96h48V240H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.9C209 158.8 192 129.4 192 96c0-53 43-96 96-96s96 43 96 96z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faBuildingNgo = {\n prefix: 'fad',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", [\"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM168 64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V80c0-8.8 7.2-16 16-16zM304 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V112zM61.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 132.8V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4z\", \"M61.3 71.1c-3.9-5.9-11.2-8.5-17.9-6.4S32 72.9 32 80v96c0 8.8 7.2 16 16 16s16-7.2 16-16V132.8l34.7 52c3.9 5.9 11.2 8.5 17.9 6.4s11.4-8.3 11.4-15.3V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v43.2l-34.7-52zM152 80v88c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H184V96h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H168c-8.8 0-16 7.2-16 16zM304 96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm-48 16v32c0 26.5 21.5 48 48 48s48-21.5 48-48V112c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]]\n};\nvar faTransporter3 = {\n prefix: 'fad',\n iconName: 'transporter-3',\n icon: [512, 512, [], \"e045\", [\"M480 32L472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32zM64 128l-7.3-25.4C55.6 98.7 52.1 96 48 96s-7.6 2.7-8.7 6.6L32 128 6.6 135.3C2.7 136.4 0 139.9 0 144s2.7 7.6 6.6 8.7L32 160l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 160l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 128zm112 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm8 464H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H296 216zM96 256.5v-1c0 .3 0 .7 0 1z\"]]\n};\nvar faEngineWarning = {\n prefix: 'fad',\n iconName: 'engine-warning',\n icon: [640, 512, [\"engine-exclamation\"], \"f5f2\", [\"M424 88c0-13.3-10.7-24-24-24H208c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0v32h48V112l72 0c13.3 0 24-10.7 24-24zM24 136c-13.3 0-24 10.7-24 24V352c0 13.3 10.7 24 24 24s24-10.7 24-24V280H96V232H48V160c0-13.3-10.7-24-24-24zm552 56c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H576z\", \"M128 144c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h44.8l32 40c12.1 15.2 30.5 24 50 24H448c35.3 0 64-28.7 64-64V238.8c0-19.4-8.8-37.8-24-50L449.5 158c-11.3-9.1-25.4-14-40-14H208 160 128zm196 64v88c0 11-9 20-20 20s-20-9-20-20V208c0-11 9-20 20-20s20 9 20 20zM304 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faEngineExclamation = faEngineWarning;\nvar faCircleDownRight = {\n prefix: 'fad',\n iconName: 'circle-down-right',\n icon: [512, 512, [], \"e108\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm96 198.6V336c0 8.8-7.2 16-16 16H198.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16L216 280l-66.3-66.3C146 210 144 205.1 144 200s2-10 5.7-13.7l36.7-36.7c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L280 216l33.4-33.4c4.2-4.2 10-6.6 16-6.6c12.5 0 22.6 10.1 22.6 22.6z\", \"M352 336V198.6c0-12.5-10.1-22.6-22.6-22.6c-6 0-11.8 2.4-16 6.6L280 216l-66.3-66.3C210 146 205.1 144 200 144s-10 2-13.7 5.7l-36.7 36.7C146 190 144 194.9 144 200s2 10 5.7 13.7L216 280l-33.4 33.4c-4.2 4.2-6.6 10-6.6 16c0 12.5 10.1 22.6 22.6 22.6H336c8.8 0 16-7.2 16-16z\"]]\n};\nvar faSquareK = {\n prefix: 'fad',\n iconName: 'square-k',\n icon: [448, 512, [], \"e274\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM313.1 168.8l-73 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L206 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L278.9 135.2c9.3-9.5 24.5-9.6 33.9-.3s9.6 24.5 .3 33.9z\", \"M312.8 134.9c9.5 9.3 9.6 24.5 .3 33.9l-73 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L206 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L278.9 135.2c9.3-9.5 24.5-9.6 33.9-.3z\"]]\n};\nvar faManatSign = {\n prefix: 'fad',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", [\"M192 32c-17.7 0-32 14.3-32 32V98.7c10.4-1.7 21.1-2.7 32-2.7s21.6 .9 32 2.7V64c0-17.7-14.3-32-32-32zm32 132c-10.2-2.6-21-4-32-4s-21.8 1.4-32 4V448c0 17.7 14.3 32 32 32s32-14.3 32-32V164z\", \"M0 288C0 182 86 96 192 96s192 86 192 192V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288c0-70.7-57.3-128-128-128s-128 57.3-128 128V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V288z\"]]\n};\nvar faMoneyCheckPen = {\n prefix: 'fad',\n iconName: 'money-check-pen',\n icon: [640, 512, [\"money-check-edit\"], \"f872\", [\"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64.6c-15.2 2-29.8 8.8-41.4 20.5L353.3 394.3c-8.2 8.2-14 18.5-16.8 29.7l-6 23.9H64c-35.3 0-64-28.7-64-64V128zM96 304c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16-112c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M557.2 235.7l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-52 52L375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71z\"]]\n};\nvar faMoneyCheckEdit = faMoneyCheckPen;\nvar faNotEqual = {\n prefix: 'fad',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", [\"M260.2 144l-42.7 64H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H260.2zM153.5 304l-42.7 64H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H153.5zm34.3 64l42.7-64H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H187.8zM294.5 208l42.7-64H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H294.5z\", \"M369.8 37.4c14.7 9.8 18.7 29.7 8.9 44.4l-256 384c-9.8 14.7-29.7 18.7-44.4 8.9s-18.7-29.7-8.9-44.4l256-384c9.8-14.7 29.7-18.7 44.4-8.9z\"]]\n};\nvar faBorderTopLeft = {\n prefix: 'fad',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", [\"M416 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM128 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-96-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M32 480c-17.7 0-32-14.3-32-32L0 112C0 67.8 35.8 32 80 32l336 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 96c-8.8 0-16 7.2-16 16l0 336c0 17.7-14.3 32-32 32z\"]]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'fad',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", [\"M416 503V200.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503zM15.1 187.3l122.6-49c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3zM384 255V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0c13.9-17.4 35.7-45.7 56.2-77z\", \"M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM288 72a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faTilde = {\n prefix: 'fad',\n iconName: 'tilde',\n icon: [448, 512, [63135], \"7e\", [\"M99.9 192C80.1 192 64 208.1 64 227.9V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V227.9C0 172.7 44.7 128 99.9 128c26.5 0 51.9 10.5 70.6 29.3L322.7 309.5c6.7 6.7 15.9 10.5 25.4 10.5c19.8 0 35.9-16.1 35.9-35.9V192c0-17.7 14.3-32 32-32s32 14.3 32 32v92.1c0 55.2-44.7 99.9-99.9 99.9c-26.5 0-51.9-10.5-70.6-29.3L125.3 202.5c-6.7-6.7-15.9-10.5-25.4-10.5z\", \"\"]]\n};\nvar faJedi = {\n prefix: 'fad',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", [\"M246 315.7l-21.2-31.9c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1l29.5 19.7c2.1 1.4 4.9 0 5-2.6L279.7 8c.1-4.5 3.8-8 8.3-8s8.1 3.5 8.3 8l9.4 281.9c.1 2.5 2.9 3.9 5 2.6l29.5-19.7c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1L330 315.7c-1.3 1.9-.2 4.5 2 4.9l37.6 7.5c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8L332 351.4c-2.2 .4-3.3 3-2 4.9l21.2 31.9c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1l-26.3-17.6c-2.2-1.4-5.1 .2-5 2.8l2.1 61.5c-7.4 1.3-15.1 2-22.9 2s-15.4-.7-22.9-2l2.1-61.5c.1-2.6-2.8-4.2-5-2.8l-26.3 17.6c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1L246 356.3c1.3-1.9 .2-4.5-2-4.9l-37.6-7.5c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l37.6-7.5c2.2-.4 3.3-3 2-4.9z\", \"M376.2 201.9c-7.5 5.8-8 17.9-1 24.4C400.3 249.6 416 283 416 320c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-37 15.7-70.4 40.8-93.7c7-6.5 6.5-18.6-1-24.4C165.9 175.5 144 134.3 144 88c0-16.8 2.9-33 8.2-48c4.6-13-10.2-30-21.4-22C77.3 56 38.1 112.8 22.9 178.8c-.5 2.1 .2 4.3 1.7 5.9l28.4 28.4c4 4 1.2 10.9-4.5 10.9h-26c-3.4 0-6.2 2.6-6.3 6c-.1 3.3-.2 6.6-.2 10c0 17.5 1.7 34.7 4.8 51.3c.2 1.2 .8 2.4 1.7 3.3l46.5 46.5c4 4 1.2 10.9-4.5 10.9H50c-4.6 0-7.7 4.8-5.7 9C88.8 450.5 181.2 512 288 512s199.2-61.5 243.7-151c2.1-4.2-1-9-5.7-9H511.4c-5.7 0-8.6-6.9-4.5-10.9l46.5-46.5c.9-.9 1.5-2 1.7-3.3c3.2-16.6 4.8-33.8 4.8-51.3c0-3.3-.1-6.7-.2-10c-.1-3.4-2.9-6-6.3-6h-26c-5.7 0-8.6-6.9-4.5-10.9l28.4-28.4c1.5-1.5 2.2-3.8 1.7-5.9C537.9 112.8 498.7 56 445.2 18c-11.3-8-26 8.9-21.4 22c5.3 15 8.2 31.2 8.2 48c0 46.3-21.9 87.5-55.8 113.9z\"]]\n};\nvar faSquarePollVertical = {\n prefix: 'fad',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 192c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm64-64c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM320 288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32z\", \"M192 160c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V160zM96 256c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256zm224 32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32z\"]]\n};\nvar faPoll = faSquarePollVertical;\nvar faArrowDownSquareTriangle = {\n prefix: 'fad',\n iconName: 'arrow-down-square-triangle',\n icon: [576, 512, [\"sort-shapes-down-alt\"], \"f889\", [\"M368 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm48 256c11 0 21.3 5.7 27.1 15l80 128c6.2 9.9 6.5 22.3 .9 32.5s-16.4 16.5-28 16.5H336c-11.6 0-22.3-6.3-28-16.5s-5.3-22.6 .9-32.5l80-128c5.8-9.4 16.1-15 27.1-15z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortShapesDownAlt = faArrowDownSquareTriangle;\nvar faMugHot = {\n prefix: 'fad',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", [\"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C120.5 112.3 128 119.9 128 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C119.5 47.7 112 40.1 112 24zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 38.9 23.4 59.4 39.1 73.1l1.1 1C232.5 112.3 240 119.9 240 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-38.9-23.4-59.4-39.1-73.1l-1.1-1C231.5 47.7 224 40.1 224 24z\", \"M32 192c-17.7 0-32 14.3-32 32V416c0 53 43 96 96 96H288c53 0 96-43 96-96h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 32zm352 64h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H384V256z\"]]\n};\nvar faDogLeashed = {\n prefix: 'fad',\n iconName: 'dog-leashed',\n icon: [576, 512, [129454], \"f6d4\", [\"M101 4.4c6.4-6.1 16.5-5.8 22.6 .6L281.3 170.5l148.9 62.7c8.1 3.4 12 12.8 8.5 21s-12.8 12-21 8.5L288 208.1V384c0 8.8-7.2 16-16 16s-16-7.2-16-16V190.4L100.4 27c-6.1-6.4-5.8-16.5 .6-22.6z\", \"M256 192H144 128 98c-14.7 0-27.5-10-31-24.2L63 152.2c-4.3-17.1-21.7-27.6-38.8-23.3S-3.3 150.6 1 167.8l3.9 15.5c7.8 31.2 30.4 55.6 59.2 66.5V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V364.8c24 12.3 51.2 19.2 80 19.2c5.4 0 10.7-.2 16-.7V192zm32 185.4c11.2-3.2 21.9-7.4 32-12.6V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32l0-218L288 208.1V377.4zM420.5 229.2l6.2-37.2H448h16 32c44.2 0 80-35.8 80-80V88c0-13.3-10.7-24-24-24H496L478.1 46.1c-9-9-21.2-14.1-33.9-14.1H392L375.1 9.5c-4.5-6-11.5-9.5-19-9.5c-11.6 0-21.5 8.4-23.4 19.8l-26.8 161 114.6 48.3zM432 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faCarBattery = {\n prefix: 'fad',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", [\"M0 160c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm368 16c-8.8 0-16 7.2-16 16v32H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192c0-8.8-7.2-16-16-16zM96 224c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32H80zm224 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32H304z\"]]\n};\nvar faBatteryCar = faCarBattery;\nvar faFaceDowncastSweat = {\n prefix: 'fad',\n iconName: 'face-downcast-sweat',\n icon: [512, 512, [], \"e371\", [\"M256 0c-51.4 0-99.3 15.2-139.4 41.2c1.5 3.1 3 6.2 4.3 9.3c3.4 8 7.1 19 7.1 30.5c0 44.3-36.6 79-80 79c-9.6 0-18.8-1.7-27.4-4.8C7.3 186.1 0 220.2 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM195.9 410.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7z\", \"M48 128C21.5 128 0 107 0 81C0 61 28.6 20.6 41.6 3.3c3.2-4.4 9.6-4.4 12.8 0C67.6 20.6 96 61 96 81c0 26-21.5 47-48 47zM96 272c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm192 0c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faMailboxFlagUp = {\n prefix: 'fad',\n iconName: 'mailbox-flag-up',\n icon: [576, 512, [], \"e5bb\", [\"M400 224c-8.8 0-16-7.2-16-16V96 64H144c79.5 0 144 64.5 144 144V384c0 35.3-28.7 64-64 64H512c35.3 0 64-28.7 64-64V208c0-56.5-32.6-105.5-80-129V96c0 8.8-7.2 16-16 16H416v96c0 8.8-7.2 16-16 16z\", \"M400 224c-8.8 0-16-7.2-16-16V96 48c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16V96c0 8.8-7.2 16-16 16H416v96c0 8.8-7.2 16-16 16zM0 208C0 128.5 64.5 64 144 64s144 64.5 144 144V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V208zm64 0c0 8.8 7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faMemoCircleInfo = {\n prefix: 'fad',\n iconName: 'memo-circle-info',\n icon: [576, 512, [], \"e49a\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c3.3 0 6.6-.3 9.7-.7C285.1 479.3 256 427.1 256 368c0-80.6 54.1-148.5 128-169.4V64c0-35.3-28.7-64-64-64H64zM80 128H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-40 56c-8.8 0-16 7.2-16 16s7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416z\"]]\n};\nvar faGift = {\n prefix: 'fad',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", [\"M73.6 128c14.6 28.5 44.2 48 78.4 48h64 8v80H32c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H73.6zM480 256H288V176h72c34.2 0 63.8-19.5 78.4-48H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32zM32 288H224V512H80c-26.5 0-48-21.5-48-48V288zM288 512V288H480V464c0 26.5-21.5 48-48 48H288z\", \"M190.5 68.8L225.3 128H224h-8H152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88s39.4 88 88 88h64 8v80h64V176h72c48.6 0 88-39.4 88-88s-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5zm65.5-16.7C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40s-17.9 40-40 40H286.7l34.8-59.2zM288 512V288H224V512h64z\"]]\n};\nvar faDiceTwo = {\n prefix: 'fad',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faVolume = {\n prefix: 'fad',\n iconName: 'volume',\n icon: [576, 512, [128265, \"volume-medium\"], \"f6a8\", [\"M471.3 110.5c8.4-10.3 23.5-11.8 33.8-3.5c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C507.3 341.3 528 301.1 528 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8zM410.8 185c8.4-10.3 23.5-11.8 33.8-3.5C466.1 199.1 480 225.9 480 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C425.1 284.4 432 271 432 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8z\", \"M352 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L163.8 160H96c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L298.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S352 460.6 352 448V64z\"]]\n};\nvar faVolumeMedium = faVolume;\nvar faTransporter5 = {\n prefix: 'fad',\n iconName: 'transporter-5',\n icon: [512, 512, [], \"e2a6\", [\"M480 32L472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32zM64 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 160 6.6 167.3C2.7 168.4 0 171.9 0 176s2.7 7.6 6.6 8.7L32 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 160zM224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\", \"M96 480c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faGaugeCircleBolt = {\n prefix: 'fad',\n iconName: 'gauge-circle-bolt',\n icon: [640, 512, [], \"e496\", [\"M504 192.2c-2.6-.1-5.3-.2-8-.2c-97.2 0-176 78.8-176 176c0 45.9 17.6 87.7 46.4 119C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2zM256 416c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM368 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm194.5-66.2c2.8-5 1.7-11.1-2.6-14.9s-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2z\"]]\n};\nvar faCoinFront = {\n prefix: 'fad',\n iconName: 'coin-front',\n icon: [512, 512, [], \"e3fc\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 352a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm24-264c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\", \"M256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 352a192 192 0 1 0 0-384 192 192 0 1 0 0 384z\"]]\n};\nvar faFileSlash = {\n prefix: 'fad',\n iconName: 'file-slash',\n icon: [640, 512, [], \"e3a7\", [\"M0 448V96L384 398.5V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM384 275.7L38.8 5.1C46.6 1.8 55.1 0 64 0H224V128c0 17.7 14.3 32 32 32H384V275.7zM256 0L384 128H256V0z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faMessageArrowUpRight = {\n prefix: 'fad',\n iconName: 'message-arrow-up-right',\n icon: [512, 512, [], \"e1dd\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm200 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24H200z\", \"M176 152c0-13.3 10.7-24 24-24H312c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.9l-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87H200c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faTreasureChest = {\n prefix: 'fad',\n iconName: 'treasure-chest',\n icon: [576, 512, [], \"f723\", [\"M96 36V256H0V160C0 100.4 40.8 50.2 96 36zM224 256H160V32H416V256H352V224c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v32zm256 0V36c55.2 14.2 96 64.3 96 124v96H480zM0 288H96V480H48c-26.5 0-48-21.5-48-48V288zM416 480H160V288h64v32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288h64V480zm64 0V288h96V432c0 26.5-21.5 48-48 48H480z\", \"M160 32V256H96V36c10.2-2.6 21-4 32-4h32zM416 256V32h32c11 0 21.8 1.4 32 4V256H416zM224 224c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V224zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM160 480H96V288h64V480zm256 0V288h64V480H416z\"]]\n};\nvar faChessQueen = {\n prefix: 'fad',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", [\"M400 432H112L70.6 473.4c-4.2 4.2-6.6 10-6.6 16C64 501.9 74.1 512 86.6 512H425.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L400 432z\", \"M312 56A56 56 0 1 0 200 56a56 56 0 1 0 112 0zM164.3 120c-15.3 0-27 10.8-30.2 23.8c-7 27.8-32.2 48.3-62.1 48.3c-10.8 0-20.9-2.7-29.8-7.3c-8.4-4.4-19-4.5-27.7 .9C2.1 193.3-2.4 209.2 4.3 222.2L112.4 432H128h38.4H345.6 384h15.6L507.7 222.2c6.7-13 2.2-28.9-10.2-36.5c-8.7-5.4-19.3-5.4-27.7-.9c-8.9 4.7-19 7.3-29.8 7.3c-29.9 0-55.1-20.5-62.1-48.3c-3.3-13-15-23.8-30.2-23.8c-12.3 0-22.6 7.2-27.7 17c-12 23.2-36.2 39-64 39s-52-15.8-64-39c-5.1-9.8-15.4-17-27.7-17zM256 224l0 0 0 0s0 0 0 0z\"]]\n};\nvar faPaintbrushFine = {\n prefix: 'fad',\n iconName: 'paintbrush-fine',\n icon: [576, 512, [\"paint-brush-alt\", \"paint-brush-fine\", \"paintbrush-alt\"], \"f5a9\", [\"M205 291.8l0 0 0 0c-9.2-2.5-19-3.8-29-3.8c-61.9 0-112 50.1-112 112c0 3.9 .2 7.8 .6 11.6C66.4 429.1 54.4 448 36.8 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H176c61.9 0 112-50.1 112-112c0-10-1.3-19.7-3.8-29l0 0 0 0c0-.1 0-.1-.1-.2l-78.9-78.9c-.1 0-.1 0-.2-.1z\", \"M559.6 95.6c21.9-21.9 21.9-57.3 0-79.2s-57.3-21.9-79.2 0L205.1 291.7l79.2 79.2L559.6 95.6z\"]]\n};\nvar faPaintBrushAlt = faPaintbrushFine;\nvar faPaintBrushFine = faPaintbrushFine;\nvar faPaintbrushAlt = faPaintbrushFine;\nvar faGlasses = {\n prefix: 'fad',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", [\"M223.4 314l-3.2 57.5c-1.9 33.9-29.9 60.5-63.9 60.5H112c-35.3 0-64-28.7-64-64V314.2c27.2-11.8 58.2-18.2 87.7-18.2c29.4 0 60.4 6.3 87.7 18zm129.2 0c27.3-11.7 58.3-18 87.7-18c29.5 0 60.5 6.4 87.7 18.2V368c0 35.3-28.7 64-64 64H419.7c-34 0-62-26.5-63.9-60.5L352.6 314z\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57.1 259.8c25.6-7.8 52.6-11.8 78.6-11.8c40.1 0 82.2 9.6 118.5 27.3c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.4 7.7-9.8 13.5-12.7c36.2-17.8 78.4-27.3 118.5-27.3c26 0 53 4.1 78.6 11.8L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.2c.3 1.8 .5 3.7 .5 5.6v5.2c0 .5 0 1 0 1.5V352c0 .2 0 .4 0 .6V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM48 352v16c0 35.3 28.7 64 64 64h44.3c34 0 62-26.5 63.9-60.5l3.2-57.5c-27.3-11.7-58.3-18-87.7-18c-29.5 0-60.5 6.4-87.7 18.2V352zm392.3-56c-29.4 0-60.4 6.3-87.7 18l3.2 57.5c1.9 33.9 29.9 60.5 63.9 60.5H464c35.3 0 64-28.7 64-64V314.2c-27.2-11.8-58.2-18.2-87.7-18.2z\"]]\n};\nvar faHoodCloak = {\n prefix: 'fad',\n iconName: 'hood-cloak',\n icon: [576, 512, [], \"f6ef\", [\"M160 320c0-70.7 57.3-128 128-128s128 57.3 128 128V512H160V320z\", \"M432 0H288h0c-9.8 0-66 0-120.2 37.7C111.4 76.9 64 151.8 64 288c0 58.5-14.6 101.6-28.6 129.7c-7 14.1-14 24.5-19 31.1c-2.5 3.3-4.5 5.7-5.7 7.1c-.6 .7-1.1 1.2-1.3 1.4l-.2 .2c-9 9.1-11.7 22.8-6.8 34.7c5 12 16.6 19.8 29.6 19.8H160V320c0-70.7 57.3-128 128-128s128 57.3 128 128V512H544c12.9 0 24.6-7.8 29.6-19.8c4.9-11.9 2.2-25.6-6.8-34.7l0 0 0 0 0 0-.1-.1c-.2-.2-.7-.7-1.3-1.4c-1.3-1.4-3.2-3.8-5.7-7.1c-5-6.6-11.9-17-19-31.1C526.6 389.6 512 346.5 512 288c0-103.1-46.5-172.8-95.8-217.2l32-29c7.3-6.7 9.8-17.2 6.2-26.4S441.9 0 432 0z\"]]\n};\nvar faSquareQuote = {\n prefix: 'fad',\n iconName: 'square-quote',\n icon: [448, 512, [], \"e329\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 128h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V272H128c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm224 80v39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V272H272c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24z\", \"M96 192c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V272H128c-17.7 0-32-14.3-32-32V192zm256 87.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V272H272c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24 39.3z\"]]\n};\nvar faUpLeft = {\n prefix: 'fad',\n iconName: 'up-left',\n icon: [384, 512, [], \"e2bd\", [\"M238.6 206.6L372.7 340.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3l-41.4 41.4c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3L142.6 302.6l96-96z\", \"M48 80H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-240 240c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V112c0-17.7 14.3-32 32-32z\"]]\n};\nvar faBringFront = {\n prefix: 'fad',\n iconName: 'bring-front',\n icon: [640, 512, [], \"f857\", [\"M192 64H64V192h96v64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H192c35.3 0 64 28.7 64 64V96H224c-11.7 0-22.6 3.1-32 8.6V64zM384 416h32c11.7 0 22.6-3.1 32-8.6V448H576V320H480V256h96c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H448c-35.3 0-64-28.7-64-64V416z\", \"M224 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H224z\"]]\n};\nvar faChessBoard = {\n prefix: 'fad',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 96V416H64V96H384z\", \"M192 96H128v64H64v64h64v64H64v64h64v64h64V352h64v64h64V352h64V288H320V224h64V160H320V96H256v64H192V96zm0 128H128V160h64v64zm64 0v64h64v64H256V288H192v64H128V288h64V224h64zm0 0V160h64v64H256z\"]]\n};\nvar faBurgerCheese = {\n prefix: 'fad',\n iconName: 'burger-cheese',\n icon: [512, 512, [127828, \"cheeseburger\"], \"f7f1\", [\"M32 194.9C32 211 45 224 61.1 224H450.9c16.1 0 29.1-13 29.1-29.1c0-1.9-.2-3.7-.6-5.6C474.1 168.3 433.2 32 256 32S37.9 168.3 32.6 189.3c-.5 1.9-.6 3.7-.6 5.6zM128 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm240 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM256 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM32 400v16c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V400c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM234 262.7l68.2 45.5c10.7 7.2 24.8 7.2 35.5 0L406 262.7c6.5-4.4 14.2-6.7 22.1-6.7H211.9c7.9 0 15.6 2.3 22.1 6.7z\", \"M302.2 308.2L234 262.7c-6.5-4.4-14.2-6.7-22.1-6.7H208c0 0-.1 0-.1 0H64c-26.5 0-48 21.5-48 48s21.5 48 48 48H448c26.5 0 48-21.5 48-48s-21.5-48-48-48H432.1c0 0-.1 0-.1 0h-3.9c-7.9 0-15.6 2.3-22.1 6.7l-68.2 45.5c-10.7 7.2-24.8 7.2-35.5 0z\"]]\n};\nvar faCheeseburger = faBurgerCheese;\nvar faBuildingCircleCheck = {\n prefix: 'fad',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faRepeat1 = {\n prefix: 'fad',\n iconName: 'repeat-1',\n icon: [512, 512, [128258], \"f365\", [\"\", \"M0 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-53 43-96 96-96H320v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9S320 19.1 320 32V64H160C71.6 64 0 135.6 0 224zm512 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 53-43 96-96 96H192V352c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V448H352c88.4 0 160-71.6 160-160zM278 196.5c6.3 4.5 10 11.8 10 19.5v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c-10 0-19.4-6.4-22.8-16.4c-4.2-12.6 2.6-26.2 15.2-30.4l24-8c7.3-2.4 15.4-1.2 21.6 3.3z\"]]\n};\nvar faArrowDownToLine = {\n prefix: 'fad',\n iconName: 'arrow-down-to-line',\n icon: [384, 512, [\"arrow-to-bottom\"], \"f33d\", [\"M0 448c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\", \"M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 242.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V242.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]]\n};\nvar faArrowToBottom = faArrowDownToLine;\nvar faGrid5 = {\n prefix: 'fad',\n iconName: 'grid-5',\n icon: [448, 512, [], \"e199\", [\"M96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V48zM16 128H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm0 192H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm96-96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM96 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V432zM208 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM192 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V336zM304 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM288 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V240zm16 176h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zm80-272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V144zm16 176h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\", \"M0 48c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H16C7.2 96 0 88.8 0 80V48zM0 240c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V240zM16 416H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM96 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V144zm16 176h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM192 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V48zm16 176h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM192 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V432zM304 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM288 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336zM400 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM384 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V240zm16 176h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16z\"]]\n};\nvar faRightLongToLine = {\n prefix: 'fad',\n iconName: 'right-long-to-line',\n icon: [640, 512, [], \"e444\", [\"M608 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32z\", \"M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5 12.5-14.5 22l0 72L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l288 0 0 72c0 9.6 5.7 18.2 14.5 22z\"]]\n};\nvar faPersonChalkboard = {\n prefix: 'fad',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", [\"M144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L91.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h65.9H400c17.7 0 32 14.3 32 32s-14.3 32-32 32H264V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H184z\", \"M384 128V64H576V256H384V192H320v80c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80h64z\"]]\n};\nvar faMarsStrokeRight = {\n prefix: 'fad',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", [\"M128 256a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M208 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm174.4-88C370.7 365.8 297.1 432 208 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c89.1 0 162.7 66.2 174.4 152H416V176c0-13.3 10.7-24 24-24s24 10.7 24 24v56h32V176c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V280H464v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H382.4z\"]]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'fad',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", [\"M144 0C117.5 0 96 21.5 96 48V96v28.5V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V149.3l-9 7.5C40.4 169 32 187 32 206V244c0 38 16.9 74 46.1 98.3L128 384v96c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V374.7c46.9-19 80-65 80-118.7V176 160 144c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 83.5 329.3 64 304 64c-12.4 0-23.6 4.7-32.1 12.3C270 51.5 249.3 32 224 32c-12.4 0-23.6 4.7-32.1 12.3C190 19.5 169.3 0 144 0z\", \"\"]]\n};\nvar faHandRock = faHandBackFist;\nvar faGridRound5 = {\n prefix: 'fad',\n iconName: 'grid-round-5',\n icon: [448, 512, [], \"e5de\", [\"M160 64A32 32 0 1 1 96 64a32 32 0 1 1 64 0zM32 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM448 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zm0 192A32 32 0 1 1 0 256a32 32 0 1 1 64 0zM32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM160 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM256 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]]\n};\nvar faTally = {\n prefix: 'fad',\n iconName: 'tally',\n icon: [640, 512, [\"tally-5\"], \"f69c\", [\"M128 32c-17.7 0-32 14.3-32 32V296.9l64-21.3V64c0-17.7-14.3-32-32-32zM96 364.4V448c0 17.7 14.3 32 32 32s32-14.3 32-32V343.1L96 364.4zm128-42.7V448c0 17.7 14.3 32 32 32s32-14.3 32-32V300.4l-64 21.3zm128-42.7V448c0 17.7 14.3 32 32 32s32-14.3 32-32V257.7l-64 21.3zm64-88.8V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V211.6l64-21.3zm64 46.1V448c0 17.7 14.3 32 32 32s32-14.3 32-32V215.1l-64 21.3zm64-88.8V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V168.9l64-21.3zM288 232.9V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V254.3l64-21.3z\", \"M638.4 149.9c5.6 16.8-3.5 34.9-20.2 40.5l-576 192c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l576-192c16.8-5.6 34.9 3.5 40.5 20.2z\"]]\n};\nvar faTally5 = faTally;\nvar faSquareCaretUp = {\n prefix: 'fad',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 160c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H120c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\", \"M241.6 167.7c-4.5-4.9-10.9-7.7-17.6-7.7s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9s12.5 14.4 22 14.4H328c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"]]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'fad',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", [\"M132.3 259.4c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zm336 0c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zM252.6 292.3c6.8-11.4 3.1-26.1-8.2-32.9s-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80zm103.8-32.9c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\", \"M311.2 55.7C295.9 22.8 262.6 0 224 0c-53 0-96 43-96 96c-35.3 0-64 28.7-64 64s28.7 64 64 64H448c35.3 0 64-28.7 64-64s-28.7-64-64-64h-1.6C439 59.5 406.7 32 368 32c-22.2 0-42.3 9.1-56.8 23.7z\"]]\n};\nvar faChartBar = {\n prefix: 'fad',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M160 96c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L160 96zm0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zm0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H160z\"]]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'fad',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", [\"M416 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM64 128c-17.7 0-32 14.4-32 32l.1 72.6c.1 52.2 24 101 64 133.1c-.1-1.9-.1-3.8-.1-5.7v-8c0-71.8 37-138.6 97.9-176.7l60.2-37.6c8.6-5.4 17.9-8.4 27.3-9.4l45.9-79.5c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8L218.3 141.7c-3.3 5.7-10.7 7.7-16.4 4.4s-7.7-10.7-4.4-16.4l51.5-89.1c6.6-11.5 2.7-26.2-8.8-32.8S214 5 207.4 16.5L149.9 116l0 0 0 0L96 209.3 96 160c0-17.7-14.4-32-32-32zm278.3 30.1c.9 1.4 1.7 2.9 2.5 4.4l28.9-50c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8L307.5 131c13.9 4.5 26.4 13.7 34.7 27zm36.2-5.9l-26.8 46.4c-.6 6-2.1 11.8-4.3 17.4H352h13.3l0 0H397l23-39.8c6.6-11.5 2.7-26.2-8.8-32.8s-26.2-2.7-32.8 8.8zM544 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM112 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M315.1 175c-9.4-15-29.1-19.5-44.1-10.2l-60.2 37.6C159.3 234.7 128 291.2 128 352v8c0 8.9 .8 17.6 2.2 26.1c35.4 8.2 61.8 40 61.8 77.9c0 6.3-.7 12.5-2.1 18.4C215.1 501 246.3 512 280 512H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H364c-6.6 0-12-5.4-12-12s5.4-12 12-12H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H352l0 0 0 0H258.8L305 219.1c15-9.4 19.5-29.1 10.2-44.1z\"]]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'fad',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", [\"M413.7 52.1c6.6 16.4-1.4 35-17.8 41.6L150.2 192l245.7 98.3c16.4 6.6 24.4 25.2 17.8 41.6s-25.2 24.4-41.6 17.8l-320-128C40 216.9 32 205.1 32 192s8-24.9 20.1-29.7l320-128c16.4-6.6 35 1.4 41.6 17.8z\", \"M0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faTrain = {\n prefix: 'fad',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", [\"M96 64C78.3 64 64 78.3 64 96v96c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96zM35.1 492.9C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H96c-5.1 0-10-.4-14.9-1.1l-46 46zm307.5 9.7c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c-4.8 .8-9.8 1.1-14.9 1.1H288l54.6 54.6z\", \"M0 96C0 43 43 0 96 0H352c53 0 96 43 96 96V352c0 53-43 96-96 96H96c-53 0-96-43-96-96V96zm64 0v96c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96C78.3 64 64 78.3 64 96zM224 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faUpFromDottedLine = {\n prefix: 'fad',\n iconName: 'up-from-dotted-line',\n icon: [448, 512, [], \"e456\", [\"M0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm96 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M196.7 43.3L73.9 166.1c-6.4 6.4-9.9 15-9.9 24C64 208.8 79.2 224 97.9 224H160V352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224h62.1c18.7 0 33.9-15.2 33.9-33.9c0-9-3.6-17.6-9.9-24L251.3 43.3C244.1 36.1 234.2 32 224 32s-20.1 4.1-27.3 11.3z\"]]\n};\nvar faEyeLowVision = {\n prefix: 'fad',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", [\"M605.5 268.3c-13.4 32.3-40.3 77.8-79.9 118.4l-79.1-62C457.7 304.3 464 280.9 464 256c0-79.5-64.5-144-144-144c-37.3 0-71.4 14.2-96.9 37.5L150.7 92.8C195 58.3 251.8 32 320 32c80.8 0 145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6zM416 256c0 13.7-2.9 26.7-8 38.5l-94.6-74.1c4.2-8.5 6.6-18.2 6.6-28.3c0-11.5-3-22.3-8.4-31.6c2.8-.2 5.5-.4 8.4-.4c53 0 96 43 96 96z\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L38.8 5.1zM33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2L33.1 247.8zM393.6 469.4c18.7-5.5 36.2-13 52.6-21.8L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7z\"]]\n};\nvar faLowVision = faEyeLowVision;\nvar faTrafficLightGo = {\n prefix: 'fad',\n iconName: 'traffic-light-go',\n icon: [320, 512, [], \"f638\", [\"M160 320a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]]\n};\nvar faFaceExhaling = {\n prefix: 'fad',\n iconName: 'face-exhaling',\n icon: [576, 512, [], \"e480\", [\"M256 512c55.8 0 107.4-17.9 149.5-48.2c-10.5-9.3-17.9-22.1-20.5-36.5l-42.2-12.7C329.3 410.6 320 398.1 320 384s9.3-26.6 22.8-30.6L385 340.7c5.3-30 31.5-52.7 63-52.7c.7 0 1.4 0 2.1 0c13.2-14.7 32.3-24 53.7-24c2.7 0 5.4 .2 8.1 .5c.1-2.8 .1-5.6 .1-8.5C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM195.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm121.6 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM256 344a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\", \"M543.5 336c0 .8 0 1.7-.1 2.5c19 6.4 32.6 24.4 32.6 45.5s-13.6 39.1-32.6 45.5c.1 .8 .1 1.7 .1 2.5c0 22.1-17.9 40-39.9 40c-14.2 0-26.6-7.4-33.7-18.5c-4.4 1.6-9.1 2.5-14 2.5c-22.1 0-39.9-17.9-39.9-40c0-2.7 .3-5.3 .8-7.8l-56.9-14.2c-4.6-1.1-7.8-5.2-7.8-9.9s3.2-8.8 7.8-9.9L415.9 360c0-22.1 17.9-40 39.9-40c3.6 0 7.2 .5 10.5 1.4c5.8-14.9 20.3-25.4 37.2-25.4c22.1 0 39.9 17.9 39.9 40z\"]]\n};\nvar faSensorFire = {\n prefix: 'fad',\n iconName: 'sensor-fire',\n icon: [640, 512, [], \"e02a\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v32.2c-12.6-1.2-25.5 2.7-35.5 11.7c-35.4 31.6-65.6 67.7-87.3 102.8C304.3 276.5 288 314.9 288 350.1c0 49.3 18.6 95.2 49.6 129.9H64c-35.3 0-64-28.7-64-64V96zm88 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24z\", \"M433.8 163.6c5.6-5 14.2-5 19.8 0c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 56.7 24.2 76.9c0 87.8-71.3 161.9-160 161.9c-89.7 0-160-74.2-160-161.9c0-26.4 12.7-58.6 32.4-90.6c20-32.4 48.1-66.1 81.4-95.8zM481 447.9c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faUserUnlock = {\n prefix: 'fad',\n iconName: 'user-unlock',\n icon: [640, 512, [], \"e058\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c43.6 0 83.6 15.7 114.6 41.7c-.2 2.1-.3 4.2-.3 6.3V480c0 11.7 3.1 22.6 8.6 32H29.7C13.3 512 0 498.7 0 482.3z\", \"M528 240c-17.7 0-32 14.3-32 32v48h16 48 48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272c0-44.2 35.8-80 80-80s80 35.8 80 80H560c0-17.7-14.3-32-32-32z\"]]\n};\nvar faHexagonDivide = {\n prefix: 'fad',\n iconName: 'hexagon-divide',\n icon: [512, 512, [], \"e1ad\", [\"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM256 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-88 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-80 96c0-13.3 10.7-24 24-24H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24zm112 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar fa00 = {\n prefix: 'fad',\n iconName: '00',\n icon: [640, 512, [], \"e467\", [\"M352 176c0-79.5 64.5-144 144-144s144 64.5 144 144V336c0 79.5-64.5 144-144 144s-144-64.5-144-144V176zM496 96c-44.2 0-80 35.8-80 80V336c0 44.2 35.8 80 80 80s80-35.8 80-80V176c0-44.2-35.8-80-80-80z\", \"M0 176C0 96.5 64.5 32 144 32s144 64.5 144 144V336c0 79.5-64.5 144-144 144S0 415.5 0 336V176zM144 96c-44.2 0-80 35.8-80 80V336c0 44.2 35.8 80 80 80s80-35.8 80-80V176c0-44.2-35.8-80-80-80z\"]]\n};\nvar faCrow = {\n prefix: 'fad',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", [\"M544 120V88c0-21.3-7.5-40.8-20.1-56H574c29.4 0 55 20 62.1 48.5L640 96l-96 24zM355.2 384c16.9-.3 33.4-2.8 49-7.1l42 102c5 12.3-.8 26.3-13.1 31.3s-26.3-.8-31.3-13.1L355.2 384zm-96 0h51.9l39.1 94.9c5 12.3-.8 26.3-13.1 31.3s-26.3-.8-31.3-13.1L259.2 384z\", \"M456 0c-48.6 0-88 39.4-88 88v29.2L12.5 390.6c-14 10.8-16.6 30.9-5.9 44.9s30.9 16.6 44.9 5.9L126.1 384H352c106 0 192-86 192-192V128 88c0-48.6-39.4-88-88-88zm0 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faCassetteBetamax = {\n prefix: 'fad',\n iconName: 'cassette-betamax',\n icon: [576, 512, [\"betamax\"], \"f8a4\", [\"M0 160H576V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zM256 320A96 96 0 1 0 64 320a96 96 0 1 0 192 0zm96-96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H352z\", \"M64 32C28.7 32 0 60.7 0 96v64H576V96c0-35.3-28.7-64-64-64H64zM192 320a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-96a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]]\n};\nvar faBetamax = faCassetteBetamax;\nvar faSailboat = {\n prefix: 'fad',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", [\"M256 16c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1l224 320c3.4 4.9 3.8 11.3 1.1 16.6s-8.2 8.6-14.2 8.6H272c-8.8 0-16-7.2-16-16V16zm-32 96V336c0 8.8-7.2 16-16 16H80c-5.7 0-11-3-13.8-8s-2.9-11-.1-16l128-224c3.6-6.3 11-9.4 18-7.5s11.9 8.2 11.9 15.5z\", \"M5.7 404.3C2.8 394.1 10.5 384 21.1 384H554.9c10.6 0 18.3 10.1 15.4 20.3l-4 14.3C550.7 473.9 500.4 512 443 512H133C75.6 512 25.3 473.9 9.7 418.7l-4-14.3z\"]]\n};\nvar faWindowRestore = {\n prefix: 'fad',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", [\"M208 64H432c8.8 0 16 7.2 16 16V304c0 8.8-7.2 16-16 16H416v64h16c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H208c-44.2 0-80 35.8-80 80V96h64V80c0-8.8 7.2-16 16-16z\", \"M64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faNfcMagnifyingGlass = {\n prefix: 'fad',\n iconName: 'nfc-magnifying-glass',\n icon: [640, 512, [], \"e1f9\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c8.7 0 17-1.7 24.6-4.9c-35.9-9.1-67-30.3-88.6-59.1H112c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H301.3c-8.6-19.6-13.3-41.2-13.3-64c0-52.3 25.1-98.8 64-128V144c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48v29.3c19.6-8.6 41.2-13.3 64-13.3V96c0-35.3-28.7-64-64-64H64z\", \"M528 320.1a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM519.9 426c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426z\"]]\n};\nvar faFileBinary = {\n prefix: 'fad',\n iconName: 'file-binary',\n icon: [384, 512, [], \"e175\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 256c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H112zM96 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V304zm144-48c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v96H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h32 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V272c0-8.8-7.2-16-16-16H240z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM112 256c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H112zM96 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V304zm144-48c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v96H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h32 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V272c0-8.8-7.2-16-16-16H240z\"]]\n};\nvar faCircleV = {\n prefix: 'fad',\n iconName: 'circle-v',\n icon: [512, 512, [], \"e12a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM173.5 157.3L256 322.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7z\", \"M141.3 146.5c11.9-5.9 26.3-1.1 32.2 10.7L256 322.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2z\"]]\n};\nvar faSquarePlus = {\n prefix: 'fad',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M200 280v64c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H136c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faPlusSquare = faSquarePlus;\nvar faBowlScoops = {\n prefix: 'fad',\n iconName: 'bowl-scoops',\n icon: [448, 512, [127813], \"e3df\", [\"M242.3 146.6C230.7 164.2 224 185.3 224 208c0 17.2 3.9 33.5 10.8 48H437.2c6.9-14.5 10.8-30.8 10.8-48c0-61.9-50.1-112-112-112l-1.1 0c-38.7 .4-72.7 20.4-92.6 50.6zM10.8 256H200.2c-5.3-15-8.2-31.2-8.2-48c0-22 4.9-42.8 13.7-61.4c-19.8-30.2-53.8-50.2-92.6-50.6L112 96C50.1 96 0 146.1 0 208c0 17.2 3.9 33.5 10.8 48zM224 0c-44.8 0-83.5 26.3-101.4 64.4c40.9 3 77.1 23 101.4 53.1c24.3-30.1 60.5-50.1 101.4-53.1C307.5 26.3 268.8 0 224 0z\", \"M4 261.4c3-3.4 7.4-5.4 12-5.4H432c4.6 0 9 2 12 5.4s4.5 8 3.9 12.6l-2 15.9C436.9 361.9 375.6 416 303 416H262.6l68.7 68.7c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H128c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4L185.4 416H145C72.4 416 11.1 361.9 2.1 289.9L.1 274c-.6-4.6 .8-9.1 3.9-12.6z\"]]\n};\nvar faMistletoe = {\n prefix: 'fad',\n iconName: 'mistletoe',\n icon: [576, 512, [], \"f7b4\", [\"M312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v94.1l-98 98L91.3 230.4C38.3 240.6 0 287 0 341c0 41.4 33.6 75 75 75c50.5 0 94.3-33.5 108.1-81.2c-4.5-6.5-7.1-14.3-7.1-22.8c0-14.2 7.4-26.6 18.5-33.7l5.4-28.2L264 185.9v72.4c14.7 13.2 24 32.3 24 53.7c0 39.8-32.2 72-72 72c-7.2 0-14.2-1.1-20.8-3c-2.1 8.4-3.2 17.1-3.2 25.9V416c0 53 43 96 96 96s96-43 96-96v-9.1c0-25.1-9-49.4-25.3-68.4L312 284V185.9L376.1 250l14.4 74.7C400.6 377.7 447 416 501 416c41.4 0 75-33.6 75-75c0-54-38.3-100.3-91.3-110.5L410 216.1l-98-98V24z\", \"M376 112a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM216 352a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]]\n};\nvar faCustard = {\n prefix: 'fad',\n iconName: 'custard',\n icon: [576, 512, [127854], \"e403\", [\"M476.7 193.3C453.9 184.9 424 176 400 176c-22.7 0-39.4 8-56 16s-33.3 16-56 16s-39.4-8-56-16s-33.3-16-56-16c-24 0-53.9 8.9-76.7 17.3l-35 157.5L512 352 476.7 193.3z\", \"M396.7 64H179.3c-30 0-56 20.8-62.5 50.1L99.3 193.3C122.1 184.9 152 176 176 176c22.7 0 39.4 8 56 16s33.3 16 56 16s39.4-8 56-16s33.3-16 56-16c24 0 53.9 8.9 76.7 17.3l-17.6-79.2C452.6 84.8 426.7 64 396.7 64zM32 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faLacrosseStick = {\n prefix: 'fad',\n iconName: 'lacrosse-stick',\n icon: [512, 512, [], \"e3b5\", [\"M145.4 321.4l-136 136c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l136-136c-18.7-11-34.3-26.6-45.3-45.3z\", \"M264.8 117.7l-3.3 11.5c-5.6 19.6-15.1 37.9-27.8 53.9L205.8 218c-8.9 11.1-13.8 25-13.8 39.2c0 34.7 28.1 62.8 62.8 62.8c14.3 0 28.1-4.9 39.2-13.8l34.9-27.9c15.9-12.8 34.3-22.2 53.9-27.8l11.5-3.3c31.8-9.1 53.7-38.1 53.7-71.2h0c0-.1 0-.2 0-.3c0-19.9-13.6-48.1-38.6-73.1s-53.2-38.6-73.1-38.6c-.1 0-.2 0-.3 0v0c-33.1 0-62.1 21.9-71.2 53.7zM512 176h0c0 61.6-40.9 115.8-100.1 132.7L400.3 312c-11.5 3.3-22.2 8.8-31.5 16.2l-34.9 27.9c-22.5 18-50.4 27.8-79.2 27.8c-70 0-126.8-56.8-126.8-126.8c0-28.8 9.8-56.7 27.8-79.2l27.9-34.9c7.4-9.3 13-20 16.2-31.5l3.3-11.5C220.2 40.9 274.4 0 336 0V0c.1 0 .2 0 .3 0c43.8 0 87.4 26.4 118.4 57.3s57.3 74.5 57.3 118.4c0 .1 0 .2 0 .3z\"]]\n};\nvar faHockeyMask = {\n prefix: 'fad',\n iconName: 'hockey-mask',\n icon: [448, 512, [], \"f6ee\", [\"M0 240C0 111 64 0 224 0S448 111 448 240c0 192-48 272-224 272S0 432 0 240zM160 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM176 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72-104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM312 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM272 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 272c35.3 0 64-28.7 64-64c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64zm256-64c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64s64-28.7 64-64z\", \"M136 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM152 320a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm0 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72-104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM288 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM248 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faSunrise = {\n prefix: 'fad',\n iconName: 'sunrise',\n icon: [576, 512, [127749], \"f766\", [\"M403.1 237.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L288 289.1l-90.3-62.3c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L153 345 45.1 364.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L86.1 464H161c7.9-63.1 61.7-112 127-112s119.1 48.9 127 112h74.9l51.3-74.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L423 345 403.1 237.1zM382.7 464c-7.6-45.4-47.1-80-94.7-80s-87.1 34.6-94.7 80H382.7z\", \"M354.5 135.7L320 104.3V208c0 17.7-14.3 32-32 32s-32-14.3-32-32V104.3l-34.5 31.3c-13.1 11.9-33.3 10.9-45.2-2.2s-10.9-33.3 2.2-45.2l88-80c12.2-11.1 30.8-11.1 43.1 0l88 80c13.1 11.9 14 32.1 2.2 45.2s-32.1 14-45.2 2.2zM24 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faPanelEws = {\n prefix: 'fad',\n iconName: 'panel-ews',\n icon: [512, 512, [], \"e42e\", [\"M64 0C28.7 0 0 28.7 0 64V288H16c44.2 0 80 35.8 80 80v16c0 17.7 14.3 32 32 32s32-14.3 32-32V352c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V368c0-26.5-21.5-48-48-48H0V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm48 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 128h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 128h64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\", \"M128 288c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V368c0-26.5-21.5-48-48-48H0V288H16c44.2 0 80 35.8 80 80v16c0 17.7 14.3 32 32 32s32-14.3 32-32V352c-17.7 0-32-14.3-32-32V288zm192-32h64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]]\n};\nvar faToriiGate = {\n prefix: 'fad',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", [\"M64 128h64v96H64V128zm160 0h64v96H224V128zm160 0h64v96H384V128zM64 480V256h64V480c0 17.7-14.3 32-32 32s-32-14.3-32-32zm320 0V256h64V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\", \"M0 13.4V80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V13.4C512 6 506 0 498.6 0c-1.7 0-3.4 .3-5 1l-49 19.6C425.7 28.1 405.5 32 385.2 32H126.8c-20.4 0-40.5-3.9-59.4-11.4L18.4 1c-1.6-.6-3.3-1-5-1C6 0 0 6 0 13.4zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faCloudExclamation = {\n prefix: 'fad',\n iconName: 'cloud-exclamation',\n icon: [640, 512, [], \"e491\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM320 160c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M344 184c0-13.3-10.7-24-24-24s-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMessageLines = {\n prefix: 'fad',\n iconName: 'message-lines',\n icon: [512, 512, [\"comment-alt-lines\"], \"f4a6\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm152 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\", \"M128 168c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faCommentAltLines = faMessageLines;\nvar faFrog = {\n prefix: 'fad',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", [\"M447.7 104.5c.2 2.5 .3 5 .3 7.5c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5 .5-9.8 1.3-14.5C127 112.9 0 249.6 0 416c0 35.3 28.7 64 64 64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H261.8l37.1-37.1c3.4-3.4 6.4-7.1 9-10.9c18.7-28 15.7-66.2-9-90.9c-24.6-24.6-62.6-27.7-90.5-9.2c-4 2.6-7.8 5.7-11.3 9.2l-.1 .1-.1 .1L123 347.6c-6.4 6.1-16.5 5.8-22.6-.6s-5.8-16.5 .6-22.6l73.6-70.1c40.6-40.5 106.4-40.4 146.9 .1c28.6 28.6 37.1 69.7 25.4 105.7L457.4 470.6c6 6 14.1 9.4 22.6 9.4h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H493.3l-92.5-92.5 144.5-82.1c18.9-10.8 30.7-30.9 30.7-52.7c0-26.6-17.3-50.1-42.8-57.9l-85.6-26.3z\", \"M368 192a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-104a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faBucket = {\n prefix: 'fad',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", [\"M200 48C142.6 48 96 94.6 96 152v40H48V152C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v40H352V152c0-57.4-46.6-104-104-104H200z\", \"M32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32h5.1L59.5 469c2.6 24.4 23.2 43 47.7 43H340.8c24.6 0 45.2-18.5 47.7-43l22.4-213H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faFloppyDiskPen = {\n prefix: 'fad',\n iconName: 'floppy-disk-pen',\n icon: [576, 512, [], \"e182\", [\"M0 96C0 60.7 28.7 32 64 32H306.7c17 0 33.3 6.7 45.3 18.7L429.3 128c12 12 18.7 28.3 18.7 45.3v62.4L289.3 394.3c-8.2 8.2-14 18.5-16.8 29.7l-14 55.9H64c-35.3 0-64-28.7-64-64V96zm96 0c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96zM288 352a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M493.2 235.8l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-52 52L311.9 417.1c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 358.8l-71-71z\"]]\n};\nvar faImage = {\n prefix: 'fad',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", [\"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176z\"]]\n};\nvar faWindowFrame = {\n prefix: 'fad',\n iconName: 'window-frame',\n icon: [512, 512, [129695], \"e04f\", [\"M232 288V448H96V288H232zM96 224V64H232V224H96zM280 64H416V224H280V64zM416 288V448H280V288H416z\", \"M32 256V64C32 28.7 60.7 0 96 0H416c35.3 0 64 28.7 64 64V256 448c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V256zm384 32H280V448H416V288zm-184 0H96V448H232V288zm48-64H416V64H280V224zM232 64H96V224H232V64z\"]]\n};\nvar faMicrophone = {\n prefix: 'fad',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", [\"M40 192c13.3 0 24 10.7 24 24v40c0 70.7 57.3 128 128 128s128-57.3 128-128V216c0-13.3 10.7-24 24-24s24 10.7 24 24v40c0 89.1-66.2 162.7-152 174.4V464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H192 120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V430.4C82.2 418.7 16 345.1 16 256V216c0-13.3 10.7-24 24-24z\", \"M96 96c0-53 43-96 96-96s96 43 96 96V256c0 53-43 96-96 96s-96-43-96-96V96z\"]]\n};\nvar faCow = {\n prefix: 'fad',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", [\"M64 224h8v38.4C72 294.2 46.2 320 14.4 320C6.4 320 0 313.6 0 305.6V288c0-35.3 28.7-64 64-64zM192 327.8c.1-30.8 25.2-55.8 56-55.8h48c30.8 0 55.9 24.9 56 55.8c-9.9 6.6-20.6 12-32 16.1V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V351.1c-5.3 .6-10.6 .9-16 .9s-10.7-.3-16-.9V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V343.8c-11.4-4-22.1-9.4-32-16.1z\", \"M72 184c0-24.3 12.1-45.8 30.5-58.9C98.3 135.9 96 147.7 96 160v64 32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V328v-.2s0 0 0 0c.1-30.8 25.2-55.8 56-55.8h48c30.8 0 55.9 24.9 56 55.8c0 0 0 0 0 0v.2 88c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256l32 32v49.5c0 9.5 2.8 18.7 8.1 26.6L530 427c8.8 13.1 23.5 21 39.3 21c22.5 0 41.9-15.9 46.3-38l20.3-101.6c2.6-13-.3-26.5-8-37.3l-3.9-5.5V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v14.4l-52.9-74.1C496 86.5 452.4 64 405.9 64H272 256 192 144C77.7 64 24 117.7 24 184v54c11-8.8 24.9-14 40-14h8V184zM576 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM190.1 190.1l-23.4-23.4c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H361.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16l-23.4 23.4C332.2 211.8 302.7 224 272 224s-60.2-12.2-81.9-33.9z\"]]\n};\nvar faFileZip = {\n prefix: 'fad',\n iconName: 'file-zip',\n icon: [512, 512, [], \"e5ee\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H240c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM240 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h38.1L225.7 488.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H265.9l52.4-104.8c2.5-5 2.2-10.9-.7-15.6s-8.1-7.6-13.6-7.6H240zm144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V368zm32 0v80 48c0 8.8 7.2 16 16 16s16-7.2 16-16V464h8c30.9 0 56-25.1 56-56s-25.1-56-56-56H432c-8.8 0-16 7.2-16 16zm32 64V384h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8z\"]]\n};\nvar faSquareRing = {\n prefix: 'fad',\n iconName: 'square-ring',\n icon: [448, 512, [], \"e44f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320z\", \"M224 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192zm160 96A160 160 0 1 1 64 256a160 160 0 1 1 320 0z\"]]\n};\nvar faDownFromLine = {\n prefix: 'fad',\n iconName: 'down-from-line',\n icon: [384, 512, [\"arrow-alt-from-top\"], \"f349\", [\"M0 64C0 81.7 14.3 96 32 96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 32 0 46.3 0 64z\", \"M164.7 468.7L41.9 345.9c-6.4-6.4-9.9-15-9.9-24C32 303.2 47.2 288 65.9 288H128V160c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V288h62.1c18.7 0 33.9 15.2 33.9 33.9c0 9-3.6 17.6-9.9 24L219.3 468.7c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3z\"]]\n};\nvar faArrowAltFromTop = faDownFromLine;\nvar faCaretUp = {\n prefix: 'fad',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", [\"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\", \"\"]]\n};\nvar faShieldXmark = {\n prefix: 'fad',\n iconName: 'shield-xmark',\n icon: [512, 512, [\"shield-times\"], \"e24c\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M209 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faShieldTimes = faShieldXmark;\nvar faScrewdriver = {\n prefix: 'fad',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", [\"M433.4 5C442.9-2.4 456.4-1.5 465 7l40 40c8.5 8.5 9.4 22 2.1 31.6l-80 104c-4.5 5.9-11.6 9.4-19 9.4H353.9l-109 109c-3.6-7.1-8.4-13.7-14.3-19.7s-12.6-10.7-19.7-14.3l109-109V104c0-7.5 3.5-14.5 9.4-19l104-80z\", \"M230.6 281.4c-30.2-30.2-79.1-30.2-109.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3z\"]]\n};\nvar faCircleSortDown = {\n prefix: 'fad',\n iconName: 'circle-sort-down',\n icon: [512, 512, [\"sort-circle-down\"], \"e031\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zM244.7 411.3c6.2 6.2 16.4 6.2 22.6 0l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96z\", \"M267.3 411.3c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96z\"]]\n};\nvar faSortCircleDown = faCircleSortDown;\nvar faFolderClosed = {\n prefix: 'fad',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", [\"M0 192H512V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96v96z\", \"M0 192L0 416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192H0z\"]]\n};\nvar faHouseTsunami = {\n prefix: 'fad',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", [\"M80.8 136.5C104.9 93.8 152.6 64 209 64c16.9 0 33.1 2.7 48.2 7.7c16.8 5.5 34.9-3.6 40.4-20.4s-3.6-34.9-20.4-40.4C255.8 3.8 232.8 0 209 0C95.2 0 0 88 0 200c0 91.6 53.5 172.1 142.2 194.1c13.4 3.8 27.5 5.9 42.2 5.9c.7 0 1.4 0 2.1-.1c1.8 0 3.7 .1 5.5 .1c0 0 .1 0 .1 0c31.9 0 60.5-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 325.2 410.9 336 384 336c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 325.4 219.5 336 192 336l0 0c-12.4 0-24-1.5-34.9-4.3C121.6 320.2 96 287 96 248c0-48.5 39.5-88 88.4-88c13.5 0 26.1 3 37.5 8.3c16 7.5 35.1 .6 42.5-15.5s.6-35.1-15.5-42.5C229.3 101.1 207.4 96 184.4 96c-40 0-76.4 15.4-103.6 40.5zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\", \"M332.8 118.4c-8.1 6-12.8 15.5-12.8 25.6V265c1.6 1 3.3 2 4.8 3.1c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c5.8 1.4 11.2 3.4 16.2 6.2c.7-2.7 1.1-5.5 1.1-8.4l-.4-144c0-10-4.7-19.4-12.7-25.5l-95.5-72c-11.4-8.6-27.1-8.6-38.5 0l-96 72z\"]]\n};\nvar faSquareNfi = {\n prefix: 'fad',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm75.7 64.6C68.8 162.5 64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\", \"M93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2S64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8zM240 160c-8.8 0-16 7.2-16 16v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240zm144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]]\n};\nvar faForklift = {\n prefix: 'fad',\n iconName: 'forklift',\n icon: [640, 512, [], \"f47a\", [\"M544 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V32zM160 432A80 80 0 1 0 0 432a80 80 0 1 0 160 0zm256 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\", \"M160 160l96 96h94L281.4 64H160v96zm-64 0V48c0-26.5 21.5-48 48-48H292.7c20.3 0 38.4 12.8 45.2 31.9l75.3 210.8c1.8 5.2 2.8 10.6 2.8 16.1v94.8c-20.3-20.7-48.7-33.6-80-33.6c-56.4 0-103.1 41.7-110.9 96H190.9c-7.8-54.3-54.4-96-110.9-96c-31.3 0-59.7 12.9-80 33.6V208c0-26.5 21.5-48 48-48H96z\"]]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'fad',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", [\"M48 192H192V416.5c-19 0-41.2-7.9-59.1-20.3c-23.8-16.7-55.8-15.3-78.1 3.4c-10.6 8.8-24.2 15.6-37.3 18.6C11.2 419.6 5.3 421.9 0 425V240c0-26.5 21.5-48 48-48zM576 425c-5.3-3.1-11.2-5.4-17.5-6.9c-13.1-3.1-26.7-9.8-37.3-18.6c-22.2-18.7-54.3-20.1-78.1-3.4c-18 12.4-40.1 20.3-59.2 20.3c0 0 0 0 0 0V192H528c26.5 0 48 21.5 48 48V425z\", \"M320 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l80-80c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L320 109.3V320zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\"]]\n};\nvar faBracketSquareRight = {\n prefix: 'fad',\n iconName: 'bracket-square-right',\n icon: [192, 512, [], \"5d\", [\"M192 96c0-35.3-28.7-64-64-64H64C46.3 32 32 46.3 32 64s14.3 32 32 32h64V416H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c35.3 0 64-28.7 64-64V96z\", \"\"]]\n};\nvar faMartiniGlass = {\n prefix: 'fad',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", [\"M2.4 19.8C7.4 7.8 19.1 0 32 0H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L288 269.3V448h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H256 160c-17.7 0-32-14.3-32-32s14.3-32 32-32h64V269.3L9.4 54.6C.2 45.5-2.5 31.7 2.4 19.8zM256 210.7L402.7 64H109.3L256 210.7z\", \"M338.7 128L256 210.7 173.3 128H338.7z\"]]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'fad',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", [\"M98.6 96.6l45.3 45.3c62.6-61.5 163.1-61.2 225.3 1c62.5 62.5 62.5 163.8 0 226.3s-163.8 62.5-226.3 0c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c87.5 87.5 229.3 87.5 316.8 0s87.5-229.3 0-316.8c-87.2-87.2-228.3-87.5-315.8-1z\", \"M168 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z\"]]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'fad',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", [\"M224 160h64V416H224V160z\", \"M64 160l0 256H448V160L64 160zm0 320c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64L64 480z\"]]\n};\nvar faColumns = faTableColumns;\nvar faSquareA = {\n prefix: 'fad',\n iconName: 'square-a',\n icon: [448, 512, [], \"e25f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96c9.1 0 17.4 5.1 21.5 13.3l104 208c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L289.2 336H158.8l-17.4 34.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l104-208c4.1-8.1 12.4-13.3 21.5-13.3zm0 77.7L182.8 288h82.3L224 205.7z\", \"M245.5 141.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-104 208c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L158.8 336H289.2l17.4 34.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-104-208zM265.2 288H182.8L224 205.7 265.2 288z\"]]\n};\nvar faTick = {\n prefix: 'fad',\n iconName: 'tick',\n icon: [128, 512, [], \"e32f\", [\"M0 98.3V96C0 60.7 28.7 32 64 32s64 28.7 64 64v2.3c0 3.8-.3 7.6-1 11.4L101.5 256.5C98.3 274.7 82.5 288 64 288s-34.3-13.3-37.5-31.5L1 109.6c-.7-3.8-1-7.5-1-11.4z\", \"\"]]\n};\nvar faLemon = {\n prefix: 'fad',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", [\"M448 96c0-35.3-28.7-64-64-64c-6.6 0-13 1-19 2.9c-22.5 7-48.1 14.9-71 9c-75.2-19.1-156.4 11-213.7 68.3S-7.2 250.8 11.9 326c5.8 22.9-2 48.4-9 71C1 403 0 409.4 0 416c0 35.3 28.7 64 64 64c6.6 0 13-1 19.1-2.9c22.5-7 48.1-14.9 71-9c75.2 19.1 156.4-11 213.7-68.3s87.5-138.5 68.3-213.7c-5.8-22.9 2-48.4 9-71c1.9-6 2.9-12.4 2.9-19.1zM212.5 127.4c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9s-2.4 17.4-10.9 19.9z\", \"M223.4 107.5c2.5 8.5-2.4 17.4-10.9 19.9c-54.6 16-101.1 62.5-117.1 117.1C92.9 253 84 257.8 75.5 255.4S62.2 244 64.6 235.5c19.1-65.1 73.7-119.8 138.9-138.9c8.5-2.5 17.4 2.4 19.9 10.9z\"]]\n};\nvar faHeadSideMask = {\n prefix: 'fad',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", [\"M39.7 165.7c-5 18.7-7.7 38.3-7.7 58.5c0 49.9 16.6 98.2 46.9 137.3c10.2 13.2 17.1 29 17.1 45.8V480c0 17.7 14.3 32 32 32H272V338.2L39.7 165.7zm18.2-46.3L284.9 288H544v.2c0-.1 0-.1 0-.2c0-10-3.4-19.6-9.6-27.4l-44.8-65.7c-6.5-9.6-10-20.7-11.9-32.2C462.8 70.6 376.1 0 280 0H256C170.1 0 95.5 48.4 57.9 119.4zM352 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M20.7 121.7c7.9-10.6 22.9-12.9 33.6-5L284.9 288H544v21.6c0 6.9-1.1 13.7-3.3 20.2L528 368H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H517.3l-10.7 32H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496l-1.4 4.2c-8.7 26.1-33.2 43.8-60.7 43.8H272V338.2L25.7 155.3c-10.6-7.9-12.9-22.9-5-33.6z\"]]\n};\nvar faHandshake = {\n prefix: 'fad',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", [\"M512 352V128h-1.5l-71-47.3C423.2 69.8 404.1 64 384.5 64c-20.7 0-40.9 6.5-57.7 18.5l-98.6 70.4c-21.6 15.4-26.6 45.4-11.2 67s45.4 26.6 67 11.2l57.2-40.8L496.4 332.6c6 5.5 10.3 12.2 12.8 19.4H512zm32 0c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544V352zm48-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M156.2 352H128V128l72-48c15.6-10.4 34-16 52.8-16c22.7 0 44.7 8.1 61.9 22.9l2.7 2.3-89.3 63.8c-21.6 15.4-26.6 45.4-11.2 67s45.4 26.6 67 11.2l57.2-40.8 13.1 12L496.4 332.6c5.5 5 9.6 11.1 12.1 17.5c6.6 16.6 3.7 36.2-9.2 50.3c-17.9 19.5-48.3 20.9-67.8 2.9l-7.8-7.1c-.9 10.1-5 20.1-12.4 28.2c-17.9 19.5-48.3 20.9-67.8 2.9l-17-15.6c-1.9 7.4-5.6 14.5-11.1 20.6c-17.9 19.6-48.2 21-67.8 3.1L156.2 352zM0 144c0-8.8 7.2-16 16-16H96V352c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V144zM64 336a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faGem = {\n prefix: 'fad',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", [\"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\", \"M165.9 74.6c-2.8-3-7.4-3.4-10.7-1s-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6z\"]]\n};\nvar faDolly = {\n prefix: 'fad',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", [\"M244.8 134.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8L371.8 59.6l45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3L334.5 307.2c-16.8 5.5-34.9-3.7-40.3-20.5L244.8 134.5zM256 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M0 32C0 14.3 14.3 0 32 0h72.9c27.5 0 52 17.6 60.7 43.8L257.7 320c-.6 0-1.2 0-1.7 0c-22.2 0-42.7 7.6-59 20.2L104.9 64H32C14.3 64 0 49.7 0 32zM352 416c0-22.2-7.6-42.7-20.2-59l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c0-.6 0-1.2 0-1.7zM371.8 59.6l19.8 60.9-60.9 19.8L311 79.4l60.9-19.8z\"]]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'fad',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", [\"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 55.2 21.9 108.1 60.9 147.1l21 21c9 9 14.1 21.2 14.1 33.9v11c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C463.2 117.8 448 81.2 448 43V32zM576 256c0 17.7 14.3 32 32 32s32-14.3 32-32V245c0-55.2-21.9-108.1-60.9-147.1l-21-21c-9-9-14.1-21.2-14.1-33.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v11z\", \"M64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H416c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H64zm160 64H384v32H224V416zm320-32c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384zm96 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384z\"]]\n};\nvar faMinimize = {\n prefix: 'fad',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", [\"M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40L442.3 5.7C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8zM56 288H200c13.3 0 24 10.7 24 24V456c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40L69.7 506.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369 39 329c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z\", \"M56 224H200c13.3 0 24-10.7 24-24V56c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L143 79 69.7 5.7C66 2 61.1 0 56 0S46 2 42.3 5.7L5.7 42.3C2 46 0 50.9 0 56s2 10 5.7 13.7L79 143 39 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8zm400 64H312c-13.3 0-24 10.7-24 24V456c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l40-40 73.4 73.4c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l36.7-36.7c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7L433 369l40-40c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8z\"]]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faRefrigerator = {\n prefix: 'fad',\n iconName: 'refrigerator',\n icon: [384, 512, [], \"e026\", [\"M288 160H0v32H288V160zm96 0H320v32h64V160z\", \"M96 0C43 0 0 43 0 96v64H288V112c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V96c0-53-43-96-96-96H96zM384 192H320V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H0V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V192z\"]]\n};\nvar faMonument = {\n prefix: 'fad',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", [\"M0 480c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M203.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-2.5 2.5-4.1 5.8-4.6 9.3L51.9 448H332.1L287.9 94c-.4-3.5-2-6.8-4.6-9.3l-80-80zM128 296c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faOctagonXmark = {\n prefix: 'fad',\n iconName: 'octagon-xmark',\n icon: [512, 512, [\"times-octagon\", \"xmark-octagon\"], \"f2f0\", [\"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M209 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faTimesOctagon = faOctagonXmark;\nvar faXmarkOctagon = faOctagonXmark;\nvar faAlignSlash = {\n prefix: 'fad',\n iconName: 'align-slash',\n icon: [640, 512, [], \"f846\", [\"M406.2 416l81.2 64H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H406.2zM243.7 288l81.2 64H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H243.7zm-143-112.7L162.5 224H128c-17.7 0-32-14.3-32-32c0-6.1 1.7-11.8 4.7-16.7zM399.7 288H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H481.4l-81.7-64zM236.4 160H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H318.1l-81.7-64zM512 96H154.8L98.4 51.8C103.2 40.2 114.6 32 128 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faSnowplow = {\n prefix: 'fad',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", [\"M368 352c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-26.5 0-48-21.5-48-48s21.5-48 48-48H368zM112 288C50.1 288 0 338.1 0 400s50.1 112 112 112H368c61.9 0 112-50.1 112-112s-50.1-112-112-112H112z\", \"M298.9 64l68.6 160H256l-64-64V64H298.9zM445.1 242.7l-87.4-204C347.6 15.3 324.5 0 298.9 0H176c-26.5 0-48 21.5-48 48V160H96c-17.7 0-32 14.3-32 32V298.8c14.5-6.9 30.8-10.8 48-10.8H368c44.7 0 83.2 26.2 101.2 64H512v50.7c0 17 6.7 33.3 18.7 45.3l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L576 402.7V320 235.2L633 164c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-57 71.2c-9.1 11.3-14 25.4-14 40V288H448V256.7c.1-2.4-.2-4.8-.6-7.1s-1.2-4.7-2.2-6.8zM144 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm216 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM200 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faAnglesRight = {\n prefix: 'fad',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", [\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\", \"M470.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 256 265.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"]]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faTruckRampCouch = {\n prefix: 'fad',\n iconName: 'truck-ramp-couch',\n icon: [640, 512, [\"truck-couch\"], \"f4dd\", [\"M294.5 209.2c8.7-2.3 17.4-2.1 25.5 .2V334.8l-38.7 10.4L126.7 386.6 64.9 403.2c-17.1 4.6-34.6-5.6-39.2-22.6L13.3 334.2c-6.9-25.6 8.3-51.9 33.9-58.8s51.9 8.3 58.8 33.9l4.1 15.5 154.5-41.4-4.1-15.5c-6.9-25.6 8.3-51.9 33.9-58.8zM8 252.8c-9.1-34.1 11.1-69.2 45.3-78.4l185.5-49.7c34.1-9.1 69.2 11.1 78.4 45.3l1.7 6.4c-10.6-1.6-21.6-1.1-32.6 1.9c-37.4 10-61.5 44.9-59.2 82.1L131.2 286c-16.6-33.4-54.9-51.5-92.3-41.5c-11 2.9-20.8 8-29.2 14.7L8 252.8zM544 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M416.7 402.5C423.4 338.2 477.9 288 544 288c38.2 0 72.5 16.8 96 43.3V0H416c-35.3 0-64 28.7-64 64V353.8L31.6 441.1c-17.1 4.6-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5L416.7 402.5z\"]]\n};\nvar faTruckCouch = faTruckRampCouch;\nvar faCannabis = {\n prefix: 'fad',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", [\"M256 0c5.3 0 10.3 2.7 13.3 7.1c15.8 23.5 36.7 63.7 49.2 109c7.2 26.4 11.8 55.2 10.4 84c11.5-8.8 23.7-16.7 35.8-23.6c41-23.3 84.4-36.9 112.2-42.5c5.2-1 10.7 .6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7c-9.1 15.9-19.9 31.7-32.4 46.3c27.8 6.6 52.4 17.3 67.2 25.5c5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1c-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v41.2l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6c-28.9-6.6-54.6-17.6-69.8-26.1c-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5C78.9 296.3 68.1 280.5 59 264.6c-23.4-40.8-37.1-84-42.7-111.7c-1.1-5.2 .6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5c12.1 6.9 24.3 14.7 35.8 23.6c-1.4-28.7 3.1-57.6 10.4-84c12.5-45.3 33.4-85.5 49.2-109c3-4.4 8-7.1 13.3-7.1z\", \"M280 376c0-13.3-10.7-24-24-24s-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V376z\"]]\n};\nvar faCirclePlay = {\n prefix: 'fad',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\", \"M212.5 147.5c-7.4-4.5-16.7-4.7-24.3-.5s-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88z\"]]\n};\nvar faPlayCircle = faCirclePlay;\nvar faArrowUpRightAndArrowDownLeftFromCenter = {\n prefix: 'fad',\n iconName: 'arrow-up-right-and-arrow-down-left-from-center',\n icon: [512, 512, [], \"e0a0\", [\"M169.4 297.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 448H160c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v50.7L169.4 297.4z\", \"M320 32c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32V160c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L342.6 214.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 64H352c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faTablets = {\n prefix: 'fad',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", [\"M591.4 248.8L391.2 48.6c-6.7-6.7-6.2-17.8 1.8-22.9C418.1 9.4 447.9 0 480 0c88.4 0 160 71.6 160 160c0 32.1-9.4 61.9-25.7 87c-5.2 7.9-16.2 8.5-22.9 1.8zm-22.6 22.6c6.7 6.7 6.2 17.8-1.8 22.9c-25 16.3-54.9 25.7-87 25.7c-88.4 0-160-71.6-160-160c0-32.1 9.4-61.9 25.7-87c5.2-7.9 16.2-8.5 22.9-1.8L568.8 271.4z\", \"M316.5 385.5c2-9.3-5.5-17.5-15-17.5H18.5c-9.5 0-16.9 8.2-15 17.5C18.9 457.8 83.1 512 160 512s141.1-54.2 156.5-126.5zm0-66.9C301.1 246.2 236.9 192 160 192S18.9 246.2 3.5 318.5c-2 9.3 5.5 17.5 15 17.5H301.5c9.5 0 16.9-8.2 15-17.5z\"]]\n};\nvar fa360Degrees = {\n prefix: 'fad',\n iconName: '360-degrees',\n icon: [640, 512, [], \"e2dc\", [\"M576 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M0 96C0 78.3 14.3 64 32 64H160c12.1 0 23.2 6.8 28.6 17.7s4.3 23.8-3 33.5l-63.7 84.9C163 216.7 192 257 192 304v48c0 53-43 96-96 96H90.5c-25.5 0-49.9-10.1-67.9-28.1L9.4 406.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l13.3 13.3c6 6 14.1 9.4 22.6 9.4H96c17.7 0 32-14.3 32-32V304c0-26.5-21.5-48-48-48H64c-12.1 0-23.2-6.8-28.6-17.7s-4.3-23.8 3-33.5L96 128H32C14.3 128 0 113.7 0 96zm496 32c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm0 320c-44.2 0-80-35.8-80-80V144c0-44.2 35.8-80 80-80s80 35.8 80 80V368c0 44.2-35.8 80-80 80zM320 128c-17.7 0-32 14.3-32 32v33.6c5.2-1 10.5-1.6 16-1.6c44.2 0 80 35.8 80 80v96c0 44.2-35.8 80-80 80s-80-35.8-80-80V288.2c0-.1 0-.2 0-.2V160c0-53 43-96 96-96c17.7 0 32 14.3 32 32s-14.3 32-32 32zM288 272v96c0 8.8 7.2 16 16 16s16-7.2 16-16V272c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]]\n};\nvar faEthernet = {\n prefix: 'fad',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", [\"M0 224V416c0 17.7 14.3 32 32 32H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16V448h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448V160c0-17.7-14.3-32-32-32H384V96c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32v32H32c-17.7 0-32 14.3-32 32z\", \"M112 320c8.8 0 16 7.2 16 16V448H96V336c0-8.8 7.2-16 16-16zm96 0c8.8 0 16 7.2 16 16V448H192V336c0-8.8 7.2-16 16-16zm96 0c8.8 0 16 7.2 16 16V448H288V336c0-8.8 7.2-16 16-16zm96 0c8.8 0 16 7.2 16 16V448H384V336c0-8.8 7.2-16 16-16z\"]]\n};\nvar faEuroSign = {\n prefix: 'fad',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", [\"M48.1 272H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H60.3c-7.1-20.1-11.3-41.6-12.1-64zm82 64H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112.2c1.2 23.1 7.5 44.8 17.9 64zm-17.9-96H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H130.1c-10.4 19.2-16.7 40.9-17.9 64zM60.3 176H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48.1c.8-22.4 5-43.9 12.1-64z\", \"M48 248C48 128.7 144.7 32 264 32h24c17.7 0 32 14.3 32 32s-14.3 32-32 32H264c-83.9 0-152 68.1-152 152v16c0 83.9 68.1 152 152 152h24c17.7 0 32 14.3 32 32s-14.3 32-32 32H264C144.7 480 48 383.3 48 264V248z\"]]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'fad',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", [\"M248 48H200V288H152V58.7c-23.9 13.8-40 39.7-40 69.3V288H64V128C64 57.3 121.3 0 192 0h64c70.7 0 128 57.3 128 128V288H336V128c0-29.6-16.1-55.5-40-69.3V288H248V48zM32 480V384H96v96c0 17.7-14.3 32-32 32s-32-14.3-32-32zm384-96v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384h64z\", \"M19.4 305.7C24.8 294.8 35.9 288 48 288H400c12.1 0 23.2 6.8 28.6 17.7l16 32c5 9.9 4.4 21.7-1.4 31.1s-16.1 15.2-27.2 15.2H32c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32z\"]]\n};\nvar faCircleCheck = {\n prefix: 'fad',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M369 175c9.4 9.4 9.4 24.6 0 33.9L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faCheckCircle = faCircleCheck;\nvar faSquareDashedCirclePlus = {\n prefix: 'fad',\n iconName: 'square-dashed-circle-plus',\n icon: [576, 512, [], \"e5c2\", [\"M128 32V96H96c-17.7 0-32 14.3-32 32v32H0V128C0 75 43 32 96 32h32zM0 320V192H64V320H0zm0 32H64v32c0 17.7 14.3 32 32 32h32v64H96c-53 0-96-43-96-96V352zM448 192.7c-5.3-.5-10.6-.7-16-.7c-16.6 0-32.7 2.3-48 6.6V128c0-17.7-14.3-32-32-32H320V32h32c53 0 96 43 96 96v64.7zM262.6 416c5.5 19.3 14.1 37.2 25.4 53.2V480H160V416H262.6zM288 96H160V32H288V96z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faMoneySimpleFromBracket = {\n prefix: 'fad',\n iconName: 'money-simple-from-bracket',\n icon: [640, 512, [], \"e313\", [\"M512 448l0-352L128 96l0 352c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64zM224 272c0-44.2 43-80 96-80s96 35.8 96 80s-43 80-96 80s-96-35.8-96-80z\", \"M96 64C78.3 64 64 78.3 64 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 43 43 0 96 0H544c53 0 96 43 96 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faBat = {\n prefix: 'fad',\n iconName: 'bat',\n icon: [576, 512, [], \"f6b5\", [\"M235.6 52.8l10.8 14.4c6 8.1 15.5 12.8 25.6 12.8h32c10.1 0 19.6-4.7 25.6-12.8l10.8-14.4c2.3-3 5.8-4.8 9.6-4.8c5.8 0 10.8 4.1 11.8 9.8l19 101.4-25.5 12.1c-6.4 3.1-13.5 4.7-20.6 4.7H241.2c-7.1 0-14.2-1.6-20.6-4.7l-25.5-12.1 19-101.4c1.1-5.7 6-9.8 11.8-9.8c3.8 0 7.4 1.8 9.6 4.8z\", \"M334.8 176H241.2c-7.1 0-14.2-1.6-20.6-4.7L123.4 125c-16.2-7.7-35.5-3.6-47.1 10C27.1 192.4 0 265.6 0 341.2v37.6c0 9.7 10.2 16 18.9 11.7l63.8-31.9c7.5-3.7 16.6-1.1 20.9 6.1l29.8 49.7c5.4 8.9 17.7 10.4 25 3.1l36.6-36.6c6.8-6.8 18.1-6.1 24 1.6l56.2 73.1c6.4 8.3 19 8.3 25.4 0l56.2-73.1c5.9-7.7 17.2-8.4 24-1.6l36.6 36.6c7.4 7.4 19.7 5.8 25-3.1l29.8-49.7c4.3-7.2 13.4-9.8 20.9-6.1l63.8 31.9c8.7 4.3 18.9-2 18.9-11.7V341.2c0-75.6-27.1-148.8-76.3-206.2c-11.6-13.6-30.9-17.7-47.1-10l-97.2 46.3c-6.4 3.1-13.5 4.7-20.6 4.7z\"]]\n};\nvar faCircleStop = {\n prefix: 'fad',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\", \"\"]]\n};\nvar faStopCircle = faCircleStop;\nvar faHeadSideHeadphones = {\n prefix: 'fad',\n iconName: 'head-side-headphones',\n icon: [512, 512, [], \"f8c2\", [\"M160 9.3V86.6c0 12.4-7.4 23.3-17.4 30.5C114.4 137.4 96 170.6 96 208c0 61.9 50.1 112 112 112s112-50.1 112-112c0-37.4-18.4-70.6-46.6-90.9c-10-7.2-17.4-18.2-17.4-30.5V.2c92 3.7 173.6 71.7 189.3 160c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2C0 122.8 67.4 36.9 160 9.3z\", \"M256 64V.2c-2.7-.1-5.3-.2-8-.2H224c-22.2 0-43.7 3.2-64 9.3V64 86.6c0 12.4-7.4 23.3-17.4 30.5C114.4 137.4 96 170.6 96 208c0 61.9 50.1 112 112 112s112-50.1 112-112c0-37.4-18.4-70.6-46.6-90.9c-10-7.2-17.4-18.2-17.4-30.5V64zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm96 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faPhoneRotary = {\n prefix: 'fad',\n iconName: 'phone-rotary',\n icon: [512, 512, [9742], \"f8d3\", [\"M0 141.3V176c0 17.7 14.3 32 32 32H74.3c13.1 0 24.9-8 29.7-20.1l19.4-48.6c2.9-7.3 8.4-13.2 15.7-16c18.6-7 59.5-19.3 116.8-19.3s98.2 12.3 116.8 19.3c7.3 2.8 12.8 8.7 15.7 16L408 187.9c4.9 12.1 16.6 20.1 29.7 20.1H480c17.7 0 32-14.3 32-32V141.3c0-8.5-3.4-16.6-9.9-22.1C473.8 95.4 386.1 32 256 32S38.2 95.4 9.9 119.2C3.4 124.6 0 132.8 0 141.3zM256 384a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\", \"M32 401v31c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V401c0-11.1-2.9-22.1-8.4-31.8l-101.1-177C359 172.3 337.8 160 314.9 160H197.1c-23 0-44.2 12.3-55.6 32.2L40.4 369.2C34.9 378.9 32 389.9 32 401zM256 240a72 72 0 1 1 0 144 72 72 0 1 1 0-144z\"]]\n};\nvar faCompassDrafting = {\n prefix: 'fad',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", [\"M99.3 256.1L66.5 312.9C53.7 301.6 41.8 289.3 31.2 276c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1zm55.9 109.8l32.7-56.4c21.5 6.8 44.3 10.5 68.1 10.5c70.7 0 133.8-32.7 174.9-84c11.1-13.8 31.2-16 45-5s16 31.2 5 45C428.1 341.8 347 384 256 384c-35.4 0-69.4-6.4-100.7-18.1z\", \"M343.2 136.2c5.6-12.2 8.8-25.8 8.8-40.2c0-53-43-96-96-96s-96 43-96 96c0 14.3 3.1 27.9 8.8 40.2L6.5 416.5C2.2 423.9 0 432.2 0 440.6V496c0 5.5 2.9 10.7 7.6 13.6s10.6 3.2 15.6 .7l55.4-27.7c8.4-4.2 15.4-10.8 20.1-18.9L256 192h0c0 0 0 0 0 0l68 117.5c33.7-10.7 63.9-29.2 88.6-53.4L343.2 136.2zM224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM356.7 365.9l56.6 97.8c4.7 8.1 11.7 14.7 20.1 18.9l55.4 27.7c5 2.5 10.9 2.2 15.6-.7s7.6-8.1 7.6-13.6V440.6c0-8.4-2.2-16.7-6.5-24.1l-60-103.7c-25.9 22.7-55.9 40.8-88.8 53z\"]]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'fad',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", [\"M160 48c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48zM32 88c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM0 160c0-13.3 10.7-24 24-24H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm56 48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM288 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zm96 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80V48zm80 128c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80zm-96 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM240 176c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80z\", \"M27.8 320C13 320 1.6 332.9 3.5 347.6C9.7 397.8 47.8 437 96 446v2c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32v-2c48.2-9 86.3-48.2 92.6-98.4c1.8-14.7-9.6-27.6-24.4-27.6H27.8z\"]]\n};\nvar faCalendarCircleMinus = {\n prefix: 'fad',\n iconName: 'calendar-circle-minus',\n icon: [576, 512, [], \"e46f\", [\"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32zM416 192.7c-89.7 8.1-160 83.5-160 175.3c0 59.5 29.6 112.1 74.8 144H48c-26.5 0-48-21.5-48-48V192H416v.7z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm64-128l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]]\n};\nvar faChopsticks = {\n prefix: 'fad',\n iconName: 'chopsticks',\n icon: [640, 512, [], \"e3f7\", [\"M235.8 153.5L3.4 486.1c-5.5 6.9-4.3 17 2.7 22.5s17 4.3 22.5-2.7l267.8-304-60.5-48.4zM419 211L133.6 483.9c-6.7 5.8-7.5 15.8-1.7 22.6s15.9 7.5 22.6 1.7L472.3 264.3 419 211z\", \"M296.3 201.9l-60.5-48.4L330.3 18.3C339 7.2 352.7 0 368 0c26.5 0 48 21.5 48 48c0 11.2-3.8 21.5-10.3 29.7L296.3 201.9zm175.9 62.4L419 211 560.8 75.6C569.2 68.4 580.1 64 592 64c26.5 0 48 21.5 48 48c0 14.6-6.5 27.6-16.8 36.4l-151 115.8z\"]]\n};\nvar faCarWrench = {\n prefix: 'fad',\n iconName: 'car-wrench',\n icon: [512, 512, [\"car-mechanic\"], \"f5e3\", [\"M163.8 112c-6.4 0-12 3.8-15.3 9.3C134.5 144.5 109.1 160 80 160c-28.1 0-52.8-14.5-67.1-36.4C7 114.6 14.7 104 25.5 104H56c13.3 0 24-10.7 24-24s-10.7-24-24-24H25.5C14.7 56 7 45.4 12.9 36.4C27.2 14.5 51.9 0 80 0c29.1 0 54.5 15.5 68.5 38.7c3.3 5.4 8.9 9.3 15.3 9.3H348.2c6.4 0 12-3.8 15.3-9.3C377.5 15.5 402.9 0 432 0c28.1 0 52.8 14.5 67.1 36.4c5.9 9-1.7 19.6-12.5 19.6H456c-13.3 0-24 10.7-24 24s10.7 24 24 24h30.5c10.8 0 18.4 10.6 12.5 19.6c-14.3 21.9-39 36.4-67.1 36.4c-29.1 0-54.5-15.5-68.5-38.7c-3.3-5.4-8.9-9.3-15.3-9.3H163.8z\", \"M170.8 234.6L151.7 288H360.3l-19.1-53.4c-2.3-6.4-8.3-10.6-15.1-10.6H185.8c-6.8 0-12.8 4.3-15.1 10.6zM82.2 292.4l28.3-79.3C121.9 181.3 152 160 185.8 160H326.2c33.8 0 64 21.3 75.3 53.1l28.3 79.3c20.1 8.5 34.2 28.4 34.2 51.6v40 64 32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V448 384 344c0-23.2 14.1-43.1 34.2-51.6zM152 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faCarMechanic = faCarWrench;\nvar faIcicles = {\n prefix: 'fad',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", [\"M336 160l61.2 336.4c1.6 9 9.5 15.6 18.7 15.6c9.3 0 17.2-6.7 18.8-15.9L511.6 34.4c.3-1.6 .4-3.2 .4-4.9C512 13.2 498.8 0 482.4 0H342.1c-1.6 0-3.2 .1-4.8 .4c13.8 2.3 24.3 14.3 24.3 28.7c0 1.9-.2 3.8-.6 5.7L336 160l0 0z\", \"M75.8 304.8L1 35.7c-.7-2.5-1-5-1-7.5C0 12.6 12.6 0 28.2 0H332.5c16.1 0 29.1 13 29.1 29.1c0 1.9-.2 3.8-.6 5.7L336 160 307.2 303.9c-1.9 9.3-10.1 16.1-19.6 16.1c-9.2 0-17.2-6.2-19.4-15.1L240 192 210.6 368.2c-1.5 9.1-9.4 15.8-18.6 15.8s-17.1-6.7-18.6-15.8L144 192 115.9 304.3c-2.3 9.2-10.6 15.7-20.1 15.7c-9.3 0-17.5-6.2-20-15.2z\"]]\n};\nvar faPersonShelter = {\n prefix: 'fad',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", [\"M296 168a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM248 488V400h16v88c0 13.3 10.7 24 24 24s24-10.7 24-24V313.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M240.1 4.2c9.8-5.6 21.9-5.6 31.8 0l224 128c10 5.7 16.1 16.3 16.1 27.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V178.6L256 68.9 64 178.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-11.5 6.2-22.1 16.1-27.8l224-128z\"]]\n};\nvar faNeuter = {\n prefix: 'fad',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", [\"M112 176a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M80 176a112 112 0 1 1 224 0A112 112 0 1 1 80 176zM224 349.1c81.9-15 144-86.8 144-173.1C368 78.8 289.2 0 192 0S16 78.8 16 176c0 86.3 62.1 158.1 144 173.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32V349.1z\"]]\n};\nvar faIdBadge = {\n prefix: 'fad',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M192 288a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H160z\"]]\n};\nvar faKazoo = {\n prefix: 'fad',\n iconName: 'kazoo',\n icon: [640, 512, [], \"f8c7\", [\"M592 256c0 55.7-31.7 104.1-78 128h94c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H514c46.3 23.9 78 72.3 78 128zM224 384H382c-46.3-23.9-78-72.3-78-128s31.7-104.1 78-128H224c-3 0-6 .4-9 1.3l-192 56C9.4 189.3 0 201.8 0 216v80c0 14.2 9.4 26.7 23 30.7l192 56c2.9 .8 5.9 1.3 9 1.3zM427.3 212.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L425.4 256l-20.7 20.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L448 278.6l20.7 20.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L470.6 256l20.7-20.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L448 233.4l-20.7-20.7z\", \"M448 400a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-240a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]]\n};\nvar faMarker = {\n prefix: 'fad',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", [\"M305 337L175 207 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1L305 337z\", \"M481 31C445.1-4.8 386.9-4.8 351 31l-15 15L322.9 33C294.8 4.9 249.2 4.9 221.1 33L135 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L255 66.9c9.4-9.4 24.6-9.4 33.9 0L302.1 80 175 207 305 337 481 161c35.9-35.9 35.9-94.1 0-129.9z\"]]\n};\nvar faBinBottles = {\n prefix: 'fad',\n iconName: 'bin-bottles',\n icon: [640, 512, [], \"e5f5\", [\"M128 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24zm0 72H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192H32c0-53 43-96 96-96zm447.1 96H384c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5z\", \"M32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32L56.2 457c4.5 31.5 31.5 55 63.4 55h401c31.8 0 58.9-23.4 63.4-55L608 288c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faFaceLaughBeam = {\n prefix: 'fad',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM217.6 212.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\", \"M217.6 212.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 172.4 120 190.1 120 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 172.4 280 190.1 280 208c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faSquareArrowDownLeft = {\n prefix: 'fad',\n iconName: 'square-arrow-down-left',\n icon: [448, 512, [], \"e261\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zM288 368c13.3 0 24-10.7 24-24s-10.7-24-24-24H193.9L329 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24H288z\", \"M136 368H288c13.3 0 24-10.7 24-24s-10.7-24-24-24H193.9L329 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24z\"]]\n};\nvar faBatteryBolt = {\n prefix: 'fad',\n iconName: 'battery-bolt',\n icon: [576, 512, [], \"f376\", [\"M299.2 96l-80 64H80c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16h90.3l-5.3 10.5c-8.9 17.8-5.8 39 7.2 53.5H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H299.2zm25.7 256H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H373.7l5.3-10.5c8.9-17.8 5.8-39-7.2-53.5H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H244.8l80-64z\", \"M350.3 135.2c3.4-6.7 1.6-14.9-4.2-19.6s-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L193.7 376.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H297.9l52.4-104.8z\"]]\n};\nvar faTreeLarge = {\n prefix: 'fad',\n iconName: 'tree-large',\n icon: [448, 512, [], \"f7dd\", [\"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L28.5 313.7c-2.9 4.1-4.5 9-4.5 14.1C24 341.1 34.8 352 48.2 352H80L3.8 474c-2.5 4-3.8 8.5-3.8 13.2C0 500.9 11.1 512 24.9 512H192V224c0-17.7 14.3-32 32-32s32 14.3 32 32V512H423.1c13.7 0 24.9-11.1 24.9-24.9c0-4.7-1.3-9.2-3.8-13.2L368 352h31.8c13.4 0 24.2-10.9 24.2-24.2c0-5-1.6-10-4.5-14.1L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z\", \"M224 192c17.7 0 32 14.3 32 32V512H192V224c0-17.7 14.3-32 32-32z\"]]\n};\nvar faHelicopterSymbol = {\n prefix: 'fad',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", [\"M510 224C495.6 108.2 403.8 16.4 288 2V66.7C368.4 80.1 431.9 143.6 445.3 224H510zm-64.7 64C431.9 368.4 368.4 431.9 288 445.4V510c115.8-14.4 207.6-106.2 222-222H445.3zM66.7 288H2C16.4 403.8 108.2 495.6 224 510V445.4C143.6 431.9 80.1 368.4 66.7 288zm0-64C80.1 143.6 143.6 80.1 224 66.7V2C108.2 16.4 16.4 108.2 2 224H66.7z\", \"M176 128c17.7 0 32 14.3 32 32v64h96V160c0-17.7 14.3-32 32-32s32 14.3 32 32V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H208v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32z\"]]\n};\nvar faAperture = {\n prefix: 'fad',\n iconName: 'aperture',\n icon: [512, 512, [], \"e2df\", [\"M336.4 12.9C400.2 34 453 79.5 483.5 138.4c5.2 10.1-2.5 21.6-13.8 21.6H265.2c-12.3 0-20-13.3-13.9-24l67-116c3.6-6.3 11.1-9.4 18-7.1zM0 256c0-50.9 14.9-98.3 40.5-138.2c6.1-9.5 19.9-8.6 25.6 1.2L168.2 296c6.2 10.7-1.5 24-13.9 24H20.5c-7.3 0-13.7-4.9-15.2-12.1C1.8 291.2 0 273.8 0 256zM256 512c-4 0-7.9-.1-11.9-.3c-11.3-.5-17.5-12.9-11.8-22.8L334.5 312c6.2-10.7 21.6-10.7 27.7 0l66.9 115.9c3.6 6.3 2.6 14.3-2.9 19.2C381.1 487.5 321.4 512 256 512z\", \"M256 0c4 0 7.9 .1 11.9 .3c11.3 .5 17.4 12.9 11.8 22.8L177.5 200c-6.2 10.7-21.6 10.7-27.7 0L82.8 84.1c-3.6-6.3-2.6-14.3 2.9-19.2C130.9 24.5 190.6 0 256 0zM193.6 492c-3.6 6.3-11.1 9.4-18 7.1C111.8 478 59 432.5 28.5 373.6C23.3 363.5 31 352 42.3 352H246.8c12.3 0 20 13.3 13.9 24l-67 116zm277.9-97.8c-6.1 9.5-19.9 8.6-25.6-1.2L343.8 216c-6.2-10.7 1.5-24 13.9-24H491.5c7.3 0 13.7 4.9 15.2 12.1c3.5 16.8 5.3 34.1 5.3 51.9c0 50.9-14.9 98.3-40.5 138.2z\"]]\n};\nvar faUniversalAccess = {\n prefix: 'fad',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\", \"M256 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM129.9 182.5c5.2-12.2 19.3-17.8 31.5-12.6l11.9 5.1c26.1 11.2 54.2 17 82.7 17s56.5-5.8 82.7-17l11.9-5.1c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-11.9 5.1c-17.3 7.4-35.2 12.9-53.6 16.3v50.1c0 4.3 .7 8.6 2.1 12.6l28.7 86.1c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-24.4-73.2c-1.3-3.8-4.8-6.4-8.8-6.4s-7.6 2.6-8.8 6.4l-24.4 73.2c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4l28.7-86.1c1.4-4.1 2.1-8.3 2.1-12.6V235.5c-18.4-3.5-36.3-8.9-53.6-16.3l-11.9-5.1c-12.2-5.2-17.8-19.3-12.6-31.5z\"]]\n};\nvar faGearComplex = {\n prefix: 'fad',\n iconName: 'gear-complex',\n icon: [512, 512, [], \"e5e9\", [\"M192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M305.4 21.8c-1.3-10.4-9.1-18.8-19.5-20C276.1 .6 266.1 0 256 0c-11.1 0-22.1 .7-32.8 2.1c-10.3 1.3-18 9.7-19.3 20l-2.9 23.1c-.8 6.4-5.4 11.6-11.5 13.7c-9.6 3.2-19 7.2-27.9 11.7c-5.8 3-12.8 2.5-18-1.5l-18-14c-8.2-6.4-19.7-6.8-27.9-.4c-16.6 13-31.5 28-44.4 44.7c-6.3 8.2-5.9 19.6 .5 27.8l14.2 18.3c4 5.1 4.4 12 1.5 17.8c-4.4 8.8-8.2 17.9-11.3 27.4c-2 6.2-7.3 10.8-13.7 11.6l-22.8 2.9c-10.3 1.3-18.7 9.1-20 19.4C.7 234.8 0 245.3 0 256c0 10.6 .6 21.1 1.9 31.4c1.3 10.3 9.7 18.1 20 19.4l22.8 2.9c6.4 .8 11.7 5.4 13.7 11.6c3.1 9.5 6.9 18.7 11.3 27.5c2.9 5.8 2.4 12.7-1.5 17.8L54 384.8c-6.4 8.2-6.8 19.6-.5 27.8c12.9 16.7 27.8 31.7 44.4 44.7c8.2 6.4 19.7 6 27.9-.4l18-14c5.1-4 12.2-4.4 18-1.5c9 4.6 18.3 8.5 27.9 11.7c6.1 2.1 10.7 7.3 11.5 13.7l2.9 23.1c1.3 10.3 9 18.7 19.3 20c10.7 1.4 21.7 2.1 32.8 2.1c10.1 0 20.1-.6 29.9-1.7c10.4-1.2 18.2-9.7 19.5-20l2.8-22.5c.8-6.5 5.5-11.8 11.7-13.8c10-3.2 19.7-7.2 29-11.8c5.8-2.9 12.7-2.4 17.8 1.5L385 457.9c8.2 6.4 19.6 6.8 27.8 .5c2.8-2.2 5.5-4.4 8.2-6.7L451.7 421c1.8-2.2 3.6-4.4 5.4-6.6c6.5-8.2 6-19.7-.4-27.9l-14-17.9c-4-5.1-4.4-12.2-1.5-18c4.8-9.4 9-19.3 12.3-29.5c2-6.2 7.3-10.8 13.7-11.6l22.8-2.8c10.3-1.3 18.8-9.1 20-19.4c.2-1.7 .4-3.5 .6-5.2V230.1c-.2-1.7-.4-3.5-.6-5.2c-1.3-10.3-9.7-18.1-20-19.4l-22.8-2.8c-6.4-.8-11.7-5.4-13.7-11.6c-3.4-10.2-7.5-20.1-12.3-29.5c-3-5.8-2.5-12.8 1.5-18l14-17.9c6.4-8.2 6.8-19.7 .4-27.9c-1.8-2.2-3.6-4.4-5.4-6.6L421 60.3c-2.7-2.3-5.4-4.5-8.2-6.7c-8.2-6.4-19.6-5.9-27.8 .5L366.7 68.3c-5.1 4-12.1 4.4-17.8 1.5c-9.3-4.6-19-8.6-29-11.8c-6.2-2-10.9-7.3-11.7-13.7l-2.8-22.5zM256 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]]\n};\nvar faFileMagnifyingGlass = {\n prefix: 'fad',\n iconName: 'file-magnifying-glass',\n icon: [384, 512, [\"file-search\"], \"f865\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM272 304c0 17.8-4.9 34.5-13.3 48.9L297 391.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-38.4-38.4C210.4 395.2 193.8 400 176 400c-53 0-96-43-96-96s43-96 96-96s96 43 96 96zm-96 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faFileSearch = faFileMagnifyingGlass;\nvar faUpRight = {\n prefix: 'fad',\n iconName: 'up-right',\n icon: [384, 512, [], \"e2be\", [\"M145.4 206.6L11.3 340.7C4.1 347.9 0 357.8 0 368s4.1 20.1 11.3 27.3l41.4 41.4C59.9 443.9 69.8 448 80 448s20.1-4.1 27.3-11.3L241.4 302.6l-96-96z\", \"M336 80H96c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l240 240c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V112c0-17.7-14.3-32-32-32z\"]]\n};\nvar faCircleChevronUp = {\n prefix: 'fad',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z\", \"M239 167c9.4-9.4 24.6-9.4 33.9 0L377 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167z\"]]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faUserPolice = {\n prefix: 'fad',\n iconName: 'user-police',\n icon: [448, 512, [], \"e333\", [\"M101.7 154.2C98 166.1 96 178.8 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-13.2-2-25.9-5.7-37.8C308.2 168.3 267 176 224 176s-84.2-7.7-122.3-21.8z\", \"M230.1 .8c-4-1.1-8.2-1.1-12.2 0l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6l23.8 20.4c-.1 1-.1 2-.1 3.1v21.2c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2V105.7c0-1-.1-2.1-.1-3.1l23.8-20.4c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40zM227 48.6l32 12.8c3 1.2 5 4.2 5 7.4c0 17.2-7 46.1-36.9 58.6c-2 .8-4.2 .8-6.2 0C191 114.9 184 86 184 68.8c0-3.3 2-6.2 5-7.4l32-12.8c1.9-.8 4-.8 5.9 0zm-84.9 306c-2.2-1.7-4.9-2.6-7.7-2.6C60.2 352 0 412.2 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352c-2.8 0-5.5 .9-7.7 2.6l-72.3 54.2c-5.7 4.3-13.5 4.3-19.2 0l-72.3-54.2zm217.5 59l5.4 16.6 17.4 0c3.5 0 6.6 2.2 7.6 5.5s-.1 6.9-2.9 9L373 454.8l5.4 16.6c1.1 3.3-.1 6.9-2.9 9s-6.6 2-9.4 0L352 470.1l-14.1 10.3c-2.8 2-6.6 2.1-9.4 0s-4-5.7-2.9-9l5.4-16.6-14.1-10.2c-2.8-2-4-5.7-2.9-9s4.2-5.5 7.6-5.5l17.4 0 5.4-16.6c1.1-3.3 4.1-5.5 7.6-5.5s6.5 2.2 7.6 5.5z\"]]\n};\nvar faLariSign = {\n prefix: 'fad',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", [\"M144 32c-17.7 0-32 14.3-32 32v49.4c19.8-9.1 41.3-14.9 64-16.8L176 64c0-17.7-14.3-32-32-32zM112 188.1V256c0 17.7 14.3 32 32 32s32-14.3 32-32l0-95c-24 3-46 12.7-64 27.1zM208 161v95c0 17.7 14.3 32 32 32s32-14.3 32-32V188.1c-18-14.4-40-24.1-64-27.1zm64-47.6V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V96.7c22.7 1.9 44.2 7.7 64 16.8z\", \"M64 288c0-70.7 57.3-128 128-128c61.9 0 113.6 44 125.4 102.4c3.5 17.3 20.4 28.5 37.7 25s28.5-20.4 25-37.7C362.4 162 284.9 96 192 96C86 96 0 182 0 288c0 49.2 18.5 94 48.9 128H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192 352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-70.7 0-128-57.3-128-128z\"]]\n};\nvar faVolcano = {\n prefix: 'fad',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", [\"M173.3 343.1l17.8-11.9c11-7.3 23.9-11.2 37.1-11.2c17.8 0 34.8 7.1 47.3 19.6l34.5 34.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l37.2-55.8 99.6 112c8.5 9.6 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l83.6-94 17.9 12c8.7 5.8 18.9 8.9 29.3 8.9s20.6-3.1 29.3-8.9z\", \"M160 144c14.7 0 28.3-5 39.1-13.3l32 48C236.7 187 246 192 256 192s19.3-5 24.9-13.3l32-48C323.7 139 337.3 144 352 144c35.3 0 64-28.7 64-64s-28.7-64-64-64c-15.7 0-30 5.6-41.2 15C299.6 12.4 279.3 0 256 0s-43.6 12.4-54.8 31C190 21.6 175.7 16 160 16c-35.3 0-64 28.7-64 64s28.7 64 64 64zm31.1 187.2c11-7.3 23.9-11.2 37.1-11.2c17.8 0 34.8 7.1 47.3 19.6l34.5 34.5c6.3 6.3 14.9 9.9 23.8 9.9c11.3 0 21.8-5.6 28-15l37.2-55.8-50.6-56.9c-18.2-20.5-44.3-32.2-71.8-32.2H235.1c-27.4 0-53.5 11.7-71.8 32.2L96.7 331.2l17.9 12c8.7 5.8 18.9 8.9 29.3 8.9s20.6-3.1 29.3-8.9l17.8-11.9z\"]]\n};\nvar faTeddyBear = {\n prefix: 'fad',\n iconName: 'teddy-bear',\n icon: [576, 512, [], \"e3cf\", [\"M236.6 36.7C228.7 15.3 208.2 0 184 0c-30.9 0-56 25.1-56 56c0 20.2 10.7 37.9 26.7 47.7c9.1-37.9 40.4-58.5 81.9-67zM448 56c0-30.9-25.1-56-56-56c-24.2 0-44.7 15.3-52.6 36.7c41.5 8.5 72.8 29.1 81.9 67C437.3 93.9 448 76.2 448 56zM288 224c35.3 0 64-21.5 64-48s-28.7-48-64-48s-64 21.5-64 48s28.7 48 64 48zm0-32c-17.7 0-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24s-14.3 24-32 24zM192 416H384c0-35.3-28.7-64-64-64H256c-35.3 0-64 28.7-64 64z\", \"M288 256c-75.1 0-136-57.3-136-128s60.9-96 136-96s136 25.3 136 96s-60.9 128-136 128zM240 128a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm112-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64c0-26.5-28.7-48-64-48s-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48zm-32-8c0 13.3-14.3 24-32 24s-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24zM50.3 178.3c20.8-16.4 51-12.8 67.4 8L143.5 219c73.7 93.5 215.4 93.5 289.1 0l25.8-32.7c16.4-20.8 46.6-24.4 67.4-8s24.4 46.6 8 67.4l-25.8 32.7c-17.7 22.4-37.9 41.3-59.9 56.7V400h16.6c3.9-27.1 27.2-48 55.4-48c30.9 0 56 25.1 56 56c0 2.7-.2 5.4-.6 8l-13 53.3c-5.8 23.8-26.3 40.9-50.4 42.6v.1h-4H480 96 68 64v-.1c-24.1-1.7-44.6-18.8-50.4-42.6L.6 416c-.4-2.6-.6-5.3-.6-8c0-30.9 25.1-56 56-56c28.2 0 51.6 20.9 55.4 48H128V335.1c-22-15.4-42.3-34.3-59.9-56.7L42.3 245.7c-16.4-20.8-12.8-51 8-67.4zM256 352c-35.3 0-64 28.7-64 64H384c0-35.3-28.7-64-64-64H256z\"]]\n};\nvar faStocking = {\n prefix: 'fad',\n iconName: 'stocking',\n icon: [384, 512, [], \"f7d5\", [\"M96 96V238.9c0 10.7-5.3 20.7-14.2 26.6L55.7 282.9C20.9 306.1 0 345.1 0 386.9v2.2C0 457 55 512 122.8 512c24.2 0 48-7.2 68.1-20.6l66-44c-20.4-20.3-33-48.3-33-79.4c0-61.9 50.1-112 112-112c5.4 0 10.8 .4 16 1.1V96H96z\", \"M96 0C78.3 0 64 14.3 64 32V64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zM352 315.5V257.1c-5.2-.7-10.6-1.1-16-1.1c-61.9 0-112 50.1-112 112c0 31 12.6 59.1 33 79.4L295 422c35.6-23.7 57-63.7 57-106.5z\"]]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'fad',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", [\"\", \"M392 0c13.3 0 24 10.7 24 24V72c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM505.4 153.4c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L530.7 288H384c-17.7 0-32-14.3-32-32s14.3-32 32-32H530.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3zM416 152v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zM392 320c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-13.3 10.7-24 24-24zm24 120v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-13.3 10.7-24 24-24s24 10.7 24 24zM160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]]\n};\nvar faImageSlash = {\n prefix: 'fad',\n iconName: 'image-slash',\n icon: [640, 512, [], \"e1b7\", [\"M64.7 86.4l63.9 50.1c-.4 2.5-.6 5-.6 7.5c0 26.5 21.5 48 48 48c6.6 0 12.9-1.3 18.6-3.8L301 271.6l-20.4 29.9L259 273.4c-4.4-5.8-11.2-9.2-18.5-9.4s-14.2 3-18.9 8.5l-88 104c-6 7.1-7.4 17.1-3.5 25.6s12.4 13.9 21.8 13.9h96 72H485.2l65.3 51.1c-10.7 8.1-24 12.9-38.5 12.9H128c-35.3 0-64-28.7-64-64V96c0-3.3 .2-6.5 .7-9.6zM223.6 150c.2-2 .4-4 .4-6c0-26.5-21.5-48-48-48c-6.1 0-11.9 1.1-17.2 3.2L89.5 44.9C100.2 36.8 113.6 32 128 32H512c35.3 0 64 28.7 64 64V416c0 3.3-.2 6.5-.7 9.6l-75.9-59.5L387.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-20 29.4L223.6 150z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faMaskSnorkel = {\n prefix: 'fad',\n iconName: 'mask-snorkel',\n icon: [576, 512, [], \"e3b7\", [\"M576 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96h64V64zm0 128H512V367.4c0 44.5-36.1 80.6-80.6 80.6c-39.4 0-73-28.5-79.5-67.4l-.3-1.9c-2.9-17.4-19.4-29.2-36.8-26.3s-29.2 19.4-26.3 36.8l.3 1.9c11.6 69.7 72 120.8 142.6 120.8C511.3 512 576 447.3 576 367.4V192z\", \"M64 64C28.7 64 0 92.7 0 128v96c0 35.3 28.7 64 64 64h79.7c28.6 0 53.7-18.9 61.5-46.4l3.4-11.7c4.4-15.5 26.3-15.5 30.8 0l3.4 11.7c7.8 27.5 33 46.4 61.5 46.4H384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm512 96H512v32h64V160z\"]]\n};\nvar faSmoke = {\n prefix: 'fad',\n iconName: 'smoke',\n icon: [640, 512, [], \"f760\", [\"M144 192c-29.2 0-56.7 7.1-80.9 19.6C43.7 189.2 32 160 32 128C32 57.3 89.3 0 160 0c40.1 0 75.9 18.4 99.3 47.3C277.4 37.5 298 32 320 32c44.3 0 83.4 22.5 106.4 56.8c-11.5 7.3-22 16-31.2 25.9C372.7 102.8 347.2 96 320 96c-66.5 0-123.5 40.6-147.7 98.3c-9.2-1.5-18.7-2.3-28.3-2.3zm320 64c-5.2 0-10.3 .3-15.4 .8C419.5 217.5 372.7 192 320 192c-31.5 0-60.9 9.1-85.7 24.9c-9.6-5.8-19.8-10.6-30.5-14.5C224 158.5 268.4 128 320 128c31.3 0 60.1 11.3 82.3 30c22.4-37.1 63.1-62 109.7-62c70.7 0 128 57.3 128 128c0 42.2-20.4 79.6-51.9 102.9C563.1 284.5 516.9 256 464 256z\", \"M0 368c0 79.5 64.5 144 144 144H464c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C411.8 251.7 369.1 224 320 224c-32.6 0-62.4 12.2-85.1 32.3C210.1 236.1 178.5 224 144 224C64.5 224 0 288.5 0 368z\"]]\n};\nvar faSterlingSign = {\n prefix: 'fad',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", [\"M48 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48V224zm64 64H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H112v64z\", \"M176.4 96c-35.5 0-64.4 28.8-64.4 64.4V332.5c0 29-7.9 57.5-22.8 82.3l-.7 1.1H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-11.5 0-22.2-6.2-27.8-16.2s-5.5-22.3 .4-32.2l29.8-49.6c9-14.9 13.7-32 13.7-49.4V160.4C48 89.5 105.5 32 176.4 32c13.8 0 27.5 2.2 40.6 6.6l81.2 27.1c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L196.7 99.3c-6.6-2.2-13.4-3.3-20.4-3.3z\"]]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faBatteryExclamation = {\n prefix: 'fad',\n iconName: 'battery-exclamation',\n icon: [576, 512, [], \"e0b0\", [\"M80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H198.7c-4.3-9.8-6.7-20.6-6.7-32s2.4-22.2 6.7-32H80c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H208V96H80zM345.3 416H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H336v64H464c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H345.3c4.3 9.8 6.7 20.6 6.7 32s-2.4 22.2-6.7 32z\", \"M296 120c0-13.3-10.7-24-24-24s-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V120zM272 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faViruses = {\n prefix: 'fad',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", [\"M192 0c13.3 0 24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l9.5 9.5c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24zm48 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM480 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M160 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352 48c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C417.5 312.1 401 352 368 352c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C440.1 446.5 480 463 480 496c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C574.5 423.9 591 384 624 384c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C551.9 289.5 512 273 512 240zM448 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faSquarePersonConfined = {\n prefix: 'fad',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm80 104c0-30.9 25.1-56 56-56s56 25.1 56 56V350.1c0 36.4-29.5 65.9-65.9 65.9c-17.5 0-34.3-6.9-46.6-19.3L184.8 342l-28.1 56.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l48-96c4.6-9.2 13.3-15.6 23.5-17.3s20.5 1.7 27.8 9L240 306.7V248z\", \"M208 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm88 0c-30.9 0-56 25.1-56 56v58.7l-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L184.8 342l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9V248c0-30.9-25.1-56-56-56z\"]]\n};\nvar faUserTie = {\n prefix: 'fad',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", [\"M352 128A128 128 0 1 1 96 128a128 128 0 1 1 256 0z\", \"M190.5 328.2l18.6 31L175.8 483.1 136.3 321.9C59.1 333.9 0 400.7 0 481.3c0 17 13.8 30.7 30.7 30.7H182.9h82.3H417.3c17 0 30.7-13.8 30.7-30.7c0-80.6-59.1-147.4-136.3-159.4L272.2 483.1 238.9 359.2l18.6-31c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2z\"]]\n};\nvar faArrowDownLong = {\n prefix: 'fad',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", [\"M160 402.7V32c0-17.7 14.3-32 32-32s32 14.3 32 32V402.7l-32 32-32-32z\", \"M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 434.7 86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'fad',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", [\"M403.4 134.5c-11.5-8.7-27.3-8.7-38.8 0l-168 128c-6.6 5-11 12.5-12.3 20.7l-24 160-.7 4.7H384V320l76.8 128H608c.1 0 .2 0 .4 0l-.7-4.7-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\", \"M240.1 145.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-39.9 36L168 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faCertificate = {\n prefix: 'fad',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", [\"M211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3L154.7 80.6l-62-17.5c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l17.5 62L18.1 170.6c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l46.2 45L7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l62.5 15.8-17.5 62c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l62-17.5 15.8 62.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l45-46.2 45 46.2c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l15.8-62.5 62 17.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-17.5-62 62.5-15.8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4l-46.2-45 46.2-45c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-62.5-15.8 17.5-62c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-62 17.5L341.4 18.1c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L256 53.5 211 7.3z\", \"\"]]\n};\nvar faCrystalBall = {\n prefix: 'fad',\n iconName: 'crystal-ball',\n icon: [448, 512, [], \"e362\", [\"M362.6 400c52-41 85.4-104.6 85.4-176C448 100.3 347.7 0 224 0S0 100.3 0 224c0 71.4 33.4 135 85.4 176H362.6zM152.5 84.3c2.6-7 12.4-7 15 0l9.8 26.4 26.4 9.8c7 2.6 7 12.4 0 15l-26.4 9.8-9.8 26.4c-2.6 7-12.4 7-15 0l-9.8-26.4-26.4-9.8c-7-2.6-7-12.4 0-15l26.4-9.8 9.8-26.4zm159 48l18.4 49.8 49.8 18.4c7 2.6 7 12.4 0 15l-49.8 18.4-18.4 49.8c-2.6 7-12.4 7-15 0l-18.4-49.8-49.8-18.4c-7-2.6-7-12.4 0-15l49.8-18.4 18.4-49.8c2.6-7 12.4-7 15 0z\", \"M362.6 400H85.4L21.7 473.4c-3.7 4.2-5.7 9.7-5.7 15.3C16 501.6 26.4 512 39.3 512H408.7c12.9 0 23.3-10.4 23.3-23.3c0-5.6-2-11-5.7-15.3L362.6 400z\"]]\n};\nvar faReplyAll = {\n prefix: 'fad',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", [\"M205 34.8c11.5 5.1 19 16.6 19 29.2v43.3l-85.4 76.9c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8L224 308.7V352c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\", \"M333 34.8c11.5 5.1 19 16.6 19 29.2v64h48c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H352v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144c-6.7-6.1-10.6-14.7-10.6-23.8s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z\"]]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'fad',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", [\"M96 96h32V480H96V96zm288 0h32V480H384V96z\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96v32V480H128V128 96zM64 96H96V480H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zM448 480H416V96h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64z\"]]\n};\nvar faPersonSkating = {\n prefix: 'fad',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", [\"M135.2 478.3c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-6.2 3.1c-9.2 4.6-20.4 2.8-27.7-4.5L27.3 388.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l59.6 59.6c17 17 43.1 21.3 64.6 10.5l6.2-3.1zm280.4-10.4c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-.4 1.7c-2.7 10.7-12.3 18.2-23.3 18.2H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h88.8c25.7 0 48.1-17.5 54.3-42.4l.4-1.7z\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32H319.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V349.3l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3z\"]]\n};\nvar faSkating = faPersonSkating;\nvar faStarShooting = {\n prefix: 'fad',\n iconName: 'star-shooting',\n icon: [512, 512, [127776], \"e036\", [\"M313 7c-9.4-9.4-24.6-9.4-33.9 0L231 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9zM505 199c-9.4-9.4-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L327 151c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 41z\", \"M213.4 157.4c-8.8-17.9-34.3-17.9-43.1 0l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94z\"]]\n};\nvar faBinaryLock = {\n prefix: 'fad',\n iconName: 'binary-lock',\n icon: [640, 512, [], \"e33d\", [\"M336 32c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H256c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H336V32zM112 320c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16C5.1 311.2-3.9 329.4 1.7 346.1s23.7 25.8 40.5 20.2l5.9-2V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H80h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V320zM0 64v96c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64zm128 0v96H64V64h64zM256 288c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H256zm0 64h64v96H256V352z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faFilterCircleDollar = {\n prefix: 'fad',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", [\"M40 0C24.5 0 10.5 8.9 3.9 22.9S-.7 53.4 9 65.3L192 288.9V368c0 10.1 4.7 19.6 12.8 25.6l64 48c1.5 1.1 3 2.1 4.7 2.9C262.3 421.4 256 395.4 256 368c0-85 60.2-155.9 140.4-172.4L503 65.3c9.8-12 11.8-28.5 5.2-42.5S487.5 0 472 0H40z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM408.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'fad',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", [\"M0 128v32H256 512V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64H64C28.7 64 0 92.7 0 128z\", \"M64 48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V64H64V48zM0 416V160H512V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm256-16a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]]\n};\nvar faCircleArrowDown = {\n prefix: 'fad',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM385 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 393c9.4 9.4 24.6 9.4 33.9 0L385 281z\", \"M239 393c9.4 9.4 24.6 9.4 33.9 0L385 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 393z\"]]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faCommentPen = {\n prefix: 'fad',\n iconName: 'comment-pen',\n icon: [512, 512, [\"comment-edit\"], \"f4ae\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm84.8-293c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L272.6 170 287.5 155c14.7-14.7 38.6-14.7 53.3 0zM178.1 264.5L250 192.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.7c1.4-5.6 4.3-10.8 8.4-14.9z\", \"M287.5 155L272.6 170l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3s-38.6-14.7-53.3 0zM250 192.6l-71.9 71.9c-4.1 4.1-7 9.2-8.4 14.9L160.5 316c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 192.6z\"]]\n};\nvar faCommentEdit = faCommentPen;\nvar faFileImport = {\n prefix: 'fad',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", [\"M128 64c0-35.3 28.7-64 64-64H352V128c0 17.7 14.3 32 32 32H512V448c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V336H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H128V64z\", \"M512 160L352 0V128c0 17.7 14.3 32 32 32H512zM297 215c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]]\n};\nvar faArrowRightToFile = faFileImport;\nvar faBanjo = {\n prefix: 'fad',\n iconName: 'banjo',\n icon: [512, 512, [129685], \"f8a3\", [\"M24 320a168 168 0 1 1 336 0A168 168 0 1 1 24 320zm280 0A112 112 0 1 0 80 320a112 112 0 1 0 224 0zM155.3 308.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41L286 180.7c2.2 1.5 4.4 3.1 6.6 4.7c12.9 9.6 24.3 21.1 33.9 33.9c1.6 2.2 3.2 4.4 4.7 6.6l76.1-76.1 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM192 128c-13.3 0-24 10.7-24 24v1.7c7.8-1.1 15.9-1.7 24-1.7s16.2 .6 24 1.7V152c0-13.3-10.7-24-24-24zM360 320c0 8.1-.6 16.2-1.7 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.7c1.1 7.8 1.7 15.9 1.7 24zM292.6 454.6l1.2 1.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-1.2-1.2c-9.6 12.9-21.1 24.3-33.9 33.9zM192 488c-8.1 0-16.2-.6-24-1.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-1.7c-7.8 1.1-15.9 1.7-24 1.7zM57.4 420.6l-1.2 1.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l1.2-1.2c-12.9-9.6-24.3-21.1-33.9-33.9zM24 320c0-8.1 .6-16.2 1.7-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h1.7c-1.1-7.8-1.7-15.9-1.7-24zM91.4 185.4l-1.2-1.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l1.2 1.2c9.6-12.9 21.1-24.3 33.9-33.9zm41.3 123.2c-6.2 6.2-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48c-6.2-6.2-16.4-6.2-22.6 0z\"]]\n};\nvar faSquareArrowUpRight = {\n prefix: 'fad',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", [\"M384 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\", \"M312 144H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24z\"]]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faLightEmergencyOn = {\n prefix: 'fad',\n iconName: 'light-emergency-on',\n icon: [640, 512, [], \"e420\", [\"M320 32c-88.4 0-160 71.6-160 160V352H480V192c0-88.4-71.6-160-160-160zM240 192c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z\", \"M69.3 36c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM597.3 76c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM128 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H128z\"]]\n};\nvar faKerning = {\n prefix: 'fad',\n iconName: 'kerning',\n icon: [640, 512, [], \"f86f\", [\"M17.7 99.4c15.8-7.9 35-1.5 42.9 14.3L160 312.4l99.4-198.8c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-128 256C183.2 409.2 172.1 416 160 416s-23.2-6.8-28.6-17.7l-128-256c-7.9-15.8-1.5-35 14.3-42.9zm320 313.2c-15.8-7.9-22.2-27.1-14.3-42.9l128-256C456.8 102.8 467.9 96 480 96s23.2 6.8 28.6 17.7l128 256c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L556.2 352H403.8l-23.2 46.3c-7.9 15.8-27.1 22.2-42.9 14.3zM524.2 288L480 199.6 435.8 288h88.4z\", \"M447.2 1.7c7.9 4 11.1 13.6 7.2 21.5l-240 480c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l240-480c4-7.9 13.6-11.1 21.5-7.2z\"]]\n};\nvar faBoxOpen = {\n prefix: 'fad',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", [\"M17.2 125.5c-9 17.9 .6 39.6 19.8 45.1l163.3 46.7c13.9 4 28.8-1.9 36.2-14.3L320 64 75.2 33.4c-6.7-.8-13.3 2.7-16.3 8.7L17.2 125.5zm605.5 0L581.1 42.1c-3-6.1-9.6-9.6-16.3-8.7L320 64l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l163.3-46.7c19.3-5.5 28.8-27.2 19.8-45.1z\", \"M320 64L236.6 203c-7.4 12.4-22.3 18.3-36.2 14.3L64 178.3V378.5c0 22 15 41.2 36.4 46.6l204.1 51c10.2 2.6 20.9 2.6 31 0l204.1-51c21.4-5.3 36.4-24.5 36.4-46.6V178.3l-136.4 39c-13.9 4-28.8-1.9-36.2-14.3L320 64z\"]]\n};\nvar faSquareF = {\n prefix: 'fad',\n iconName: 'square-f',\n icon: [448, 512, [], \"e270\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24z\", \"M128 152c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152z\"]]\n};\nvar faScroll = {\n prefix: 'fad',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", [\"M128 96V400c0 44.2 35.8 80 80 80s80-35.8 80-80V384c0-17.7 14.3-32 32-32H480V96c0-35.3-28.7-64-64-64H64c35.3 0 64 28.7 64 64z\", \"M128 160H32c-17.7 0-32-14.3-32-32V96C0 60.7 28.7 32 64 32s64 28.7 64 64v64zM288 400V384c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32c0 53-43 96-96 96H208c44.2 0 80-35.8 80-80z\"]]\n};\nvar faSpa = {\n prefix: 'fad',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", [\"M183.1 235.3c44 27.1 80.3 65.5 104.9 111.6c24.5-46 60.9-84.5 104.9-111.6c-19.6-113-73.8-178.8-91.3-197.7C298 33.9 293.1 32 288 32s-10 1.9-13.5 5.6c-17.5 18.8-71.8 84.7-91.3 197.7z\", \"M267.9 480H288h20.1C456.1 480 576 360.1 576 212.1c0-11.1-9-20.1-20.1-20.1H546c-110.8 0-208.5 62-258 154.9C238.5 254 140.8 192 30 192H20.1C9 192 0 201 0 212.1C0 360.1 119.9 480 267.9 480z\"]]\n};\nvar faArrowLeftFromLine = {\n prefix: 'fad',\n iconName: 'arrow-left-from-line',\n icon: [448, 512, [8612, \"arrow-from-right\"], \"f344\", [\"M416 448c-17.7 0-32-14.3-32-32l0-320c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32z\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 224l66.7 0 112 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-112 0-66.7 0 73.4 73.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128z\"]]\n};\nvar faArrowFromRight = faArrowLeftFromLine;\nvar faStrawberry = {\n prefix: 'fad',\n iconName: 'strawberry',\n icon: [512, 512, [], \"e32b\", [\"M192.2 64C96.2 64 0 160 0 336C0 464 48 512 176 512c176 0 272-96 272-192c0-32.8-12.5-65.5-37.5-90.5l-128-128C257.6 76.6 224.9 64.1 192.2 64zm-10.8 74.5c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm55.3 98.3c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-32 96c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-32 96c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm104.7-66.3c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm32-96c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm55.3 98.3c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-224-96c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-23.3 61.7c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7z\", \"M481.5 1.9c12.2 5.2 17.8 19.3 12.6 31.5c-13.4 31.2-36.9 59-56.3 78.7c32.8 1.8 57.4 18 68.2 26.6c4 3.2 6 8.1 6 13.2s-2 10-6 13.3C495 174.4 469.7 192 440 192c-40 0-55.3-15.3-80-40s-40-40-40-80c0-29.7 17.6-55 26.7-66c3.3-4 8.2-6 13.3-6s10 2 13.2 6C382.3 17.4 400 44.3 400 80c0 .7 0 1.4 0 2.1c.7-.7 1.4-1.3 2-2c18.2-18.2 37.7-41.7 47.9-65.5c5.2-12.2 19.3-17.8 31.5-12.6zm-300 136.6c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm55.3 98.3c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-32 96c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-32 96c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm104.7-66.3c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm32-96c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm55.3 98.3c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-224-96c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-23.3 61.7c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7z\"]]\n};\nvar faLocationPinLock = {\n prefix: 'fad',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", [\"M256 446.8c-15.3 20.6-29.3 38.6-40.3 52.3c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0c95.7 0 175 70 189.6 161.5C328.5 170.3 288 216.4 288 272v24.6c-19.1 11.1-32 31.7-32 55.4v94.8zM256 192a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M368 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faPause = {\n prefix: 'fad',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", [\"M48 64C21.5 64 0 85.5 0 112V400c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zm192 0c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H240z\", \"\"]]\n};\nvar faClockEightThirty = {\n prefix: 'fad',\n iconName: 'clock-eight-thirty',\n icon: [512, 512, [], \"e346\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V300.8L173.3 340c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l96-64c7.4-4.9 16.8-5.4 24.6-1.2S280 247.1 280 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M256 416c-13.3 0-24-10.7-24-24V300.8L173.3 340c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l96-64c7.4-4.9 16.8-5.4 24.6-1.2S280 247.1 280 256V392c0 13.3-10.7 24-24 24z\"]]\n};\nvar faPlaneEngines = {\n prefix: 'fad',\n iconName: 'plane-engines',\n icon: [576, 512, [9992, \"plane-alt\"], \"f3de\", [\"M368 192L265.3 15.9C259.5 6 249 0 237.6 0H181.3C170.7 0 163 10.2 166 20.5L216 192H368zm0 128H216L166 491.5c-3 10.2 4.7 20.5 15.4 20.5h56.3c11.4 0 21.9-6 27.6-15.9L368 320z\", \"M576 256c0-35-59.5-64-93.7-64L112 192 68.8 134.4c-3-4-7.8-6.4-12.8-6.4l-42 0c-7.8 0-14 6.3-14 14c0 1.3 .2 2.6 .5 3.9l22.7 79.3C9.8 229 0 241.4 0 256s9.8 27 23.2 30.8L.5 366.1c-.4 1.3-.5 2.6-.5 3.9c0 7.8 6.3 14 14 14l42 0c5 0 9.8-2.4 12.8-6.4L112 320l370.3 0c34.2 0 93.7-28 93.7-64zM329.8 126.5C342.7 122.3 352 110.3 352 96c0-17.7-14.3-32-32-32l-26.7 0 36.4 62.5zm0 259L293.3 448l26.7 0c17.7 0 32-14.3 32-32c0-14.3-9.3-26.3-22.2-30.5z\"]]\n};\nvar faPlaneAlt = faPlaneEngines;\nvar faHillAvalanche = {\n prefix: 'fad',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", [\"M439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8c34.4-34.4 34.4-90.1 0-124.4s-90.1-34.4-124.5 0l33.9 33.9c15.6-15.6 40.9-15.6 56.6 0s15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9zM480 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M54.6 73.4c-9.2-9.2-22.9-11.9-34.9-6.9S0 83.1 0 96V480c0 17.7 14.3 32 32 32H416c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-384-384z\"]]\n};\nvar faTemperatureEmpty = {\n prefix: 'fad',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", [\"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M112 368a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'fad',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", [\"M504.8 69.2L459.1 52.4 442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4z\", \"M281.4 105.4c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3l-2.9 2.9c7.9 22 12.2 45.7 12.2 70.5c0 114.9-93.1 208-208 208S0 418.9 0 304S93.1 96 208 96c24.7 0 48.5 4.3 70.5 12.3l2.9-2.9zM96 296c0-57.4 46.6-104 104-104h8c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8c-75.1 0-136 60.9-136 136v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8z\"]]\n};\nvar faGaugeLow = {\n prefix: 'fad',\n iconName: 'gauge-low',\n icon: [512, 512, [\"tachometer-alt-slow\"], \"f627\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64s-28.7-64-64-64c-.6 0-1.3 0-1.9 0L190 142.3c-5.3-12.1-19.5-17.6-31.6-12.3s-17.6 19.5-12.3 31.6l64.1 145.7C198.9 318.9 192 334.6 192 352c0 35.3 28.7 64 64 64zM128 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M190 142.3c-5.3-12.1-19.5-17.6-31.6-12.3s-17.6 19.5-12.3 31.6l64.1 145.7C198.9 318.9 192 334.6 192 352c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-.6 0-1.3 0-1.9 0L190 142.3z\"]]\n};\nvar faTachometerAltSlow = faGaugeLow;\nvar faRegistered = {\n prefix: 'fad',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24h88c44.2 0 80 35.8 80 80c0 28-14.4 52.7-36.3 67l34.1 75.1c5.5 12.1 .1 26.3-11.9 31.8s-26.3 .1-31.8-11.9L268.9 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64z\", \"M184 128c-13.3 0-24 10.7-24 24V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h60.9l37.2 81.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8L315.7 275c21.8-14.3 36.3-39 36.3-67c0-44.2-35.8-80-80-80H184zm88 112H208V176h64c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]]\n};\nvar faTrashCanPlus = {\n prefix: 'fad',\n iconName: 'trash-can-plus',\n icon: [448, 512, [], \"e2ac\", [\"M416 96H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V96zM200 376V312H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V200c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM200 376V312H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V200c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]]\n};\nvar faAddressCard = {\n prefix: 'fad',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 256h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M176 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H144z\"]]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'fad',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", [\"M117.9 62.4c-16.8-5.6-25.8-23.7-20.2-40.5s23.7-25.8 40.5-20.2l113 37.7C265 15.8 290.7 0 320 0c44.2 0 80 35.8 80 80c0 3-.2 5.9-.5 8.8l122.6 40.9c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L366.4 145.2c-4.5 3.2-9.3 5.9-14.4 8.2V480c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-21-9.2-37.2-27-44.2-49l-125.9-42z\", \"M128 163.8L55.6 288H200.4L128 163.8zM254 305.1C243.2 350 190.9 384 128 384S12.8 350 2 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1zm256.9-13.3L438.4 416H583.3L510.8 291.8zm126 141.3C626 478 573.7 512 510.8 512s-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1z\"]]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faGlobeSnow = {\n prefix: 'fad',\n iconName: 'globe-snow',\n icon: [448, 512, [], \"f7a3\", [\"M448 224c0 71.4-33.4 135-85.4 176H256V352h64c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4L262.6 256H288c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h25.4l-68.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64v48H85.4C33.4 359 0 295.4 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM256 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\", \"M235.3 164.7c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h25.4l-68.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64v48H85.4L21.7 473.4c-3.7 4.2-5.7 9.7-5.7 15.3C16 501.6 26.4 512 39.3 512H408.7c12.9 0 23.3-10.4 23.3-23.3c0-5.6-2-11-5.7-15.3L362.6 400H256V352h64c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4L262.6 256H288c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-64-64z\"]]\n};\nvar faSubscript = {\n prefix: 'fad',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", [\"M0 96C0 78.3 14.3 64 32 64H64c10.4 0 20.2 5.1 26.2 13.6L176 200.2 261.8 77.6c6-8.6 15.8-13.6 26.2-13.6h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H304.7L215.1 256l89.6 128H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-10.4 0-20.2-5.1-26.2-13.6L176 311.8 90.2 434.4C84.2 442.9 74.4 448 64 448H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H47.3l89.6-128L47.3 128H32C14.3 128 0 113.7 0 96z\", \"M464.8 292.8c9.4 5.8 15.2 16.1 15.2 27.2V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H448 416c-17.7 0-32-14.3-32-32s14.3-32 32-32V368c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l32-16c9.9-5 21.7-4.4 31.1 1.4z\"]]\n};\nvar faDiamondTurnRight = {\n prefix: 'fad',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", [\"M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56H224c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\", \"M297.9 145.2c6-2.5 12.9-1.1 17.4 3.5l80 80c6.2 6.2 6.2 16.4 0 22.6l-80 80c-4.6 4.6-11.5 5.9-17.4 3.5s-9.9-8.3-9.9-14.8V264H224c-8.8 0-16 7.2-16 16v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V280c0-35.3 28.7-64 64-64h64V160c0-6.5 3.9-12.3 9.9-14.8z\"]]\n};\nvar faDirections = faDiamondTurnRight;\nvar faIntegral = {\n prefix: 'fad',\n iconName: 'integral',\n icon: [320, 512, [], \"f667\", [\"M216 64c-13.3 0-24 10.7-24 24V424c0 48.6-39.4 88-88 88s-88-39.4-88-88v-8c0-17.7 14.3-32 32-32s32 14.3 32 32v8c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-48.6 39.4-88 88-88s88 39.4 88 88v8c0 17.7-14.3 32-32 32s-32-14.3-32-32V88c0-13.3-10.7-24-24-24z\", \"\"]]\n};\nvar faBurst = {\n prefix: 'fad',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", [\"M7 7c8.2-8.2 21-9.4 30.5-2.8l163.3 112 32.3-99.6C236.4 6.7 245.6 0 256 0s19.6 6.7 22.8 16.6l34.5 106.5 70.4-25.7c8.8-3.2 18.6-1 25.2 5.6s8.8 16.4 5.6 25.2l-25.7 70.4 106.5 34.5c9.9 3.2 16.6 12.4 16.6 22.8s-6.7 19.6-16.6 22.8L392.3 312.2l52.9 100.6c4.9 9.3 3.2 20.7-4.3 28.1s-18.8 9.2-28.1 4.3L312.2 392.3 278.8 495.4c-3.2 9.9-12.4 16.6-22.8 16.6s-19.6-6.7-22.8-16.6L199.8 392.3 99.2 445.2c-9.3 4.9-20.7 3.2-28.1-4.3s-9.2-18.8-4.3-28.1l52.9-100.6L16.6 278.8C6.7 275.6 0 266.4 0 256s6.7-19.6 16.6-22.8l99.6-32.3L4.2 37.6C-2.3 28-1.1 15.2 7 7zM285.1 185.8L256 96l-29.1 89.8L96 96l89.8 130.9L96 256l89.8 29.1-45.6 86.8 86.8-45.6L256 416l29.1-89.8 86.8 45.6-45.6-86.8L416 256l-89.8-29.1 23.6-64.7-64.7 23.6z\", \"M256 96l29.1 89.8 64.7-23.6-23.6 64.7L416 256l-89.8 29.1 45.6 86.8-86.8-45.6L256 416l-29.1-89.8-86.8 45.6 45.6-86.8L96 256l89.8-29.1L96 96l130.9 89.8L256 96z\"]]\n};\nvar faHouseLaptop = {\n prefix: 'fad',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", [\"M261.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.7 8.9-12.9 22.9-8.1 35.2S18.8 256 32 256H64V368c0 26.5 21.5 48 48 48H272V288H208c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v37.7c11.7-13.3 28.9-21.7 48-21.7H480c0-8.8-3.6-17.3-10.3-23.5l-208-192z\", \"M352 448H544V304H352V448zm-48 0V288c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V448h32c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H544 352 304c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16h32z\"]]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'fad',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.7 328.7c22-22 53.9-40.7 91.3-40.7s69.3 18.7 91.3 40.7c11.1 11.1 20.1 23.4 26.4 35.4c6.2 11.7 10.3 24.4 10.3 35.9c0 5.2-2.6 10.2-6.9 13.2s-9.8 3.7-14.7 1.8l-20.5-7.7c-26.9-10.1-55.5-15.3-84.3-15.3h-3.2c-28.8 0-57.3 5.2-84.3 15.3L149.6 415c-4.9 1.8-10.4 1.2-14.7-1.8s-6.9-7.9-6.9-13.2c0-11.6 4.2-24.2 10.3-35.9c6.3-12 15.3-24.3 26.4-35.4zm-31.2-182l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\", \"M116 157.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm280 0c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'fad',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", [\"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120zM224 96c0 35.3-28.7 64-64 64v96c35.3 0 64 28.7 64 64H512c0-35.3 28.7-64 64-64V160c-35.3 0-64-28.7-64-64H224zm64 112a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM512 96c0 35.3 28.7 64 64 64v96c-35.3 0-64 28.7-64 64H224c0-35.3-28.7-64-64-64V160c35.3 0 64-28.7 64-64H512z\"]]\n};\nvar faBlindsRaised = {\n prefix: 'fad',\n iconName: 'blinds-raised',\n icon: [512, 512, [], \"f8fd\", [\"M128 128H20.4C9.1 128 0 118.9 0 107.6c0-2.4 .4-4.7 1.2-7L32 16H480l30.8 84.6c.8 2.2 1.2 4.6 1.2 7c0 11.3-9.1 20.4-20.4 20.4H160V32H128v96zm0 32v64H20.1C9 224 0 215 0 203.9c0-2.6 .5-5.1 1.4-7.5L16 160H128zm32 64V160H496l14.6 36.4c1 2.4 1.4 4.9 1.4 7.5c0 11.1-9 20.1-20.1 20.1H160z\", \"M0 32C0 14.3 14.3 0 32 0H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H160V418.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V64H32C14.3 64 0 49.7 0 32z\"]]\n};\nvar faSmog = {\n prefix: 'fad',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", [\"M640 392c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24zm-64 96c0-13.3-10.7-24-24-24H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24zm-192 0c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24zM200 368H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24z\", \"M176 288C96.5 288 32 223.5 32 144S96.5 0 176 0c34.5 0 66.1 12.1 90.9 32.3C289.6 12.2 319.4 0 352 0c49.1 0 91.8 27.7 113.2 68.3C475 65.5 485.3 64 496 64c61.9 0 112 50.1 112 112s-50.1 112-112 112H468.7c-22.6 19.9-52.2 32-84.7 32s-62.1-12.1-84.7-32H176z\"]]\n};\nvar faUfoBeam = {\n prefix: 'fad',\n iconName: 'ufo-beam',\n icon: [576, 512, [], \"e048\", [\"M288 192c110.8 0 144-53.3 144-53.3C432 74.7 385.9 0 288 0S144 74.7 144 138.7c0 0 33.2 53.3 144 53.3zM2.3 477.7c-5.7 12-.6 26.3 11.4 32s26.3 .6 32-11.4l92.2-194.7c-16.7-4-32.3-8.6-46.6-13.8L2.3 477.7zm528 20.5c5.7 12 20 17.1 32 11.4s17.1-20 11.4-32l-89-187.9c-14.2 5.2-29.9 9.8-46.6 13.8l92.2 194.7z\", \"M288 192c110.8 0 144-53.3 144-53.3c0-9.3-1-18.8-2.9-28.3C516.8 129.5 576 166.1 576 208c0 61.9-128.9 112-288 112S0 269.9 0 208c0-41.9 59.2-78.5 146.9-97.7c-2 9.5-2.9 19-2.9 28.3c0 0 33.2 53.3 144 53.3zM120 208a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM312 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faCircleCaretUp = {\n prefix: 'fad',\n iconName: 'circle-caret-up',\n icon: [512, 512, [\"caret-circle-up\"], \"f331\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-368c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H152c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\", \"M273.6 151.7c-4.5-4.9-10.9-7.7-17.6-7.7s-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9s12.5 14.4 22 14.4H360c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112z\"]]\n};\nvar faCaretCircleUp = faCircleCaretUp;\nvar faUserVneckHairLong = {\n prefix: 'fad',\n iconName: 'user-vneck-hair-long',\n icon: [448, 512, [], \"e463\", [\"M257.9 66.2C241 93.7 210.6 112 176 112H128l0 32c0 53 43 96 96 96s96-43 96-96l0-48h-8c-22.8 0-42.8-11.9-54.1-29.8z\", \"M176 112H128h0v32c0 53 43 96 96 96s96-43 96-96V128h0V96h-8c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112zm48 160H70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128h0C96 57.3 153.3 0 224 0c70.6 0 127.8 57.1 128 127.6v.8l0 .2V139c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224zm-78.1 42.9L210.7 412c6.3 9.5 20.3 9.5 26.6 0l64.8-97.1c3.5-5.2 9.8-8 15.9-6.6c74.5 17.2 130 84 130 163.7v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-79.7 55.5-146.5 130-163.7c6.1-1.4 12.4 1.4 15.9 6.6z\"]]\n};\nvar faSquareALock = {\n prefix: 'fad',\n iconName: 'square-a-lock',\n icon: [576, 512, [], \"e44d\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v65.1c-54.3 7.8-96 54.4-96 110.9v24.6c-9.9 5.7-18.1 14-23.8 24L245.8 141.9c-3.9-8.5-12.4-13.9-21.8-13.9s-17.9 5.4-21.8 13.9l-96 208c-5.6 12-.3 26.3 11.7 31.8s26.3 .3 31.8-11.7l12-26.1H286.2l12 26.1c4 8.8 12.7 13.9 21.8 13.9v96H64c-35.3 0-64-28.7-64-64V96zM264 296H184l40-86.7L264 296z\", \"M432 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCrutch = {\n prefix: 'fad',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", [\"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3z\", \"M201.4 153.4L298.7 56 344 101.3 269.3 176 336 242.7 410.7 168 456 213.3l-97.3 97.3c0 0-.1 .1-.1 .1s-.1 .1-.1 .1l-34.7 34.7c-12.9 12.9-29.2 21.9-47.1 25.8L169.1 395.2c-5.9 1.3-11.4 4.3-15.7 8.6L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l98.8-98.8c4.3-4.3 7.3-9.7 8.6-15.7l23.9-107.6c4-17.8 12.9-34.1 25.8-47.1l34.8-34.8zM224 221.3l-12.2 12.2c-4.3 4.3-7.3 9.7-8.6 15.7l-17 76.7 76.7-17c5.9-1.3 11.4-4.3 15.7-8.6L290.7 288 224 221.3z\"]]\n};\nvar faGasPumpSlash = {\n prefix: 'fad',\n iconName: 'gas-pump-slash',\n icon: [640, 512, [], \"f5f4\", [\"M558.6 412.5C569.5 397.9 576 379.7 576 360V224 192 168 154.5c0-17-6.7-33.3-18.7-45.3L480 32c-8.8-8.8-23.2-8.8-32 0s-8.8 23.2 0 32l32 32v64c0 29.8 20.4 54.9 48 62V360c0 8.5-2.7 16.4-7.2 22.9l37.8 29.6zM384 275.7V64c0-35.3-28.7-64-64-64H160c-30.9 0-56.7 21.9-62.7 51L384 275.7zM96 171.6V416H384V398.5L96 171.6zM64 480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faFontAwesome = {\n prefix: 'fad',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", [\"M64 140.7c15.3-3 28.2-7.9 41.2-12.8c21.2-8 42.5-15.9 74-15.9c31.4 0 53 8 74.6 16c21.6 8 43.3 16 74.7 16c20.4 0 35.6-3 55.5-9.3v208c-19.9 6.3-35.1 9.3-55.5 9.3c-31.4 0-53.1-8-74.7-16c-21.6-8-43.3-16-74.6-16c-20.6 0-36.6 3.6-51.2 8.2v64c14.6-4.6 30.6-8.2 51.2-8.2c31.4 0 53 8 74.6 16c21.6 8 43.3 16 74.7 16s50-6.8 93.3-22.5c7.8-2.9 16.5-6 26.2-9.5V48c-9.7 3.5-18.4 6.6-26.2 9.5C378.6 73.2 360 80 328.5 80s-53.1-8-74.7-16c-21.6-8-43.3-16-74.6-16c-31.5 0-52.8 8-74 15.9c-13 4.9-25.9 9.7-41.2 12.8v64z\", \"M64 76.7V64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V140.7v-64z\"]]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'fad',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-217c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V392c0 13.3 10.7 24 24 24s24-10.7 24-24V257.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\", \"M223 297c-9.4-9.4-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39L344 392c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-134.1-39 39c-9.4 9.4-24.6 9.4-33.9 0z\"]]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'fad',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", [\"M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3H344c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M224 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-96 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM384 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faTransporter4 = {\n prefix: 'fad',\n iconName: 'transporter-4',\n icon: [512, 512, [], \"e2a5\", [\"M224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224zm-48 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zM480 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 160l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 160zM56.7 358.6c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 384 6.6 391.3C2.7 392.4 0 395.9 0 400s2.7 7.6 6.6 8.7L32 416l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 416l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 384l-7.3-25.4z\", \"M128 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H128z\"]]\n};\nvar faChartMixedUpCircleCurrency = {\n prefix: 'fad',\n iconName: 'chart-mixed-up-circle-currency',\n icon: [576, 512, [], \"e5d8\", [\"M400 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h28.8L319.4 151.5 211.2 70.4c-11.7-8.8-27.8-8.5-39.2 .6L12 199c-13.8 11-16 31.2-5 45s31.2 16 45 5L192.6 136.5l108.2 81.1c11.7 8.8 27.8 8.5 39.2-.6L480 105v39c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H400zM160 256V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32zM32 352v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32s-32 14.3-32 32z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm25.4-169.4a35.9 35.9 0 1 0 -50.7 50.7 35.9 35.9 0 1 0 50.7-50.7zM396.7 426l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L374 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L396.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L490 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L467.3 426c-21.6 13.2-49.1 13.2-70.7 0z\"]]\n};\nvar faObjectsAlignRight = {\n prefix: 'fad',\n iconName: 'objects-align-right',\n icon: [512, 512, [], \"e3bf\", [\"M384 112c0-26.5-21.5-48-48-48L48 64C21.5 64 0 85.5 0 112l0 64c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48l0-64zm0 224c0-26.5-21.5-48-48-48l-160 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-64z\", \"M488 0c13.3 0 24 10.7 24 24l0 464c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-464c0-13.3 10.7-24 24-24z\"]]\n};\nvar faArrowsTurnRight = {\n prefix: 'fad',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", [\"M246.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 352H96c-53 0-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448c0-17.7 14.3-32 32-32H242.7l-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96z\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96H128C57.3 96 0 153.3 0 224v32c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-35.3 28.7-64 64-64H338.7l-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96z\"]]\n};\nvar faVest = {\n prefix: 'fad',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", [\"M224 88c-31.4 0-55.4-8.3-72.8-18.3L131.6 10.9C129.5 4.6 123.7 .3 117.1 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c-6.6 .3-12.4 4.6-14.6 10.9L296.8 69.7C279.4 79.7 255.4 88 224 88zM123.3 356.7c6.2 6.2 6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l48-48c6.2-6.2 16.4-6.2 22.6 0zm201.4 0c6.2-6.2 16.4-6.2 22.6 0l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6z\", \"M131.6 10.9C129.5 4.4 123.4 0 116.5 0H112C85.5 0 64 21.5 64 48v97.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48H176c9.9 0 19-3 26.7-8.1C195.9 492.2 192 478.5 192 464V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1L131.6 10.9zM224 295.8V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6l-47.9-71.8c-5.3-7.9-8.1-17.1-8.1-26.6V48c0-26.5-21.5-48-48-48h-4.5c-6.9 0-13 4.4-15.2 10.9L226.5 280.6c-1.6 4.9-2.5 10-2.5 15.2zm123.3 60.9l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-246.6 0c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l48-48z\"]]\n};\nvar faPig = {\n prefix: 'fad',\n iconName: 'pig',\n icon: [640, 512, [128022], \"f706\", [\"M513.5 32c8 0 14.5 6.5 14.5 14.5V78c0 19.7-9 37.8-23.6 49.7c6.4 4.9 12.7 10.1 18.6 15.7c17.6-15.9 28.5-38.6 29-63.3h40c8.8 0 16 7.2 16 16v16c0 32.8-24.6 59.8-56.3 63.5l6.8 9C570 200 585 212.5 602.2 221.1L608 224h8c13.3 0 24 10.7 24 24v96c0 13.3-10.7 24-24 24H572.5c-22.2 21.2-49.7 36.2-79.8 43.3l-13 45.5C475.8 470.5 463.3 480 449 480H416c-17.7 0-32-14.3-32-32V416H320 272v32c0 17.7-14.3 32-32 32H207c-14.3 0-26.8-9.5-30.8-23.2L155 382.4C110.3 358 80 310.5 80 256V240c0-88.4 71.6-160 160-160H362.4c14.5 0 28.8 1.3 42.7 3.9c8.1-19.5 25.4-34.4 47-39.1l58.4-12.5c1-.2 2-.3 3-.3zM476 256a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\", \"M80 240c0-11 1.1-21.7 3.2-32H47.4c-8.5 0-15.4-6.9-15.4-15.4c0-7.1 4.8-13.3 11.7-15l8.2-2c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6l-8.2 2C14.8 151.8 0 170.8 0 192.6C0 218.8 21.2 240 47.4 240H80zm396 16a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]]\n};\nvar faInboxFull = {\n prefix: 'fad',\n iconName: 'inbox-full',\n icon: [512, 512, [], \"e1ba\", [\"M121 96H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96zm55 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-32 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V323.9c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32H121zm0 64H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96z\"]]\n};\nvar faCircleEnvelope = {\n prefix: 'fad',\n iconName: 'circle-envelope',\n icon: [512, 512, [\"envelope-circle\"], \"e10c\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM128 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v9.3L264.7 255.6c-2.7 1.2-5.7 1.9-8.7 1.9s-5.9-.6-8.7-1.9L128 201.3V192zm149.9 92.7L384 236.5V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V236.5l106.1 48.3c6.9 3.1 14.3 4.8 21.9 4.8s15-1.6 21.9-4.8z\", \"M160 160c-17.7 0-32 14.3-32 32v9.3l119.3 54.3c2.7 1.2 5.7 1.9 8.7 1.9s5.9-.6 8.7-1.9L384 201.3V192c0-17.7-14.3-32-32-32H160zm224 76.5L277.9 284.7c-6.9 3.1-14.3 4.8-21.9 4.8s-15-1.6-21.9-4.8L128 236.5V320c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V236.5z\"]]\n};\nvar faEnvelopeCircle = faCircleEnvelope;\nvar faTrianglePersonDigging = {\n prefix: 'fad',\n iconName: 'triangle-person-digging',\n icon: [640, 512, [\"construction\"], \"f85d\", [\"M354.5 51.8C347.3 39.5 334.2 32 320 32s-27.3 7.5-34.5 19.8l-216 368c-7.3 12.4-7.3 27.7-.2 40.1S89.7 480 104 480H536c14.3 0 27.6-7.7 34.7-20.1s7-27.8-.2-40.1l-216-368zM216.9 304.7l15.6 9.8 64 40c4.7 2.9 7.5 8.1 7.5 13.6v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V376.9l-40.9-25.5-24.5 55.2c-3.6 8.1-13 11.7-21.1 8.1s-11.7-13-8.1-21.1l32-72 7.5-16.8zm112-45.7l19.7 49.2L402 339l16.3-27.2c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l48 80c3 4.9 3 11.1 .2 16.1s-8.2 8.1-13.9 8.1H384c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l15.2-25.4L232 277.9c-3.8-2.2-6.6-5.9-7.6-10.2s-.2-8.8 2.3-12.5l4.2-6.4c10.3-15.5 27.7-24.8 46.3-24.8c22.7 0 43.2 13.8 51.6 34.9zM288 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M288 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm40.8 74.9l19.7 49.2L402 339l16.3-27.2c2.9-4.8 8.1-7.8 13.7-7.8s10.8 2.9 13.7 7.8l48 80c3 4.9 3 11.1 .2 16.1s-8.2 8.1-13.9 8.1H384c-5.8 0-11.1-3.1-13.9-8.1s-2.8-11.2 .2-16.1l15.2-25.4L232 277.9c-3.8-2.2-6.6-5.9-7.6-10.2s-.2-8.8 2.3-12.5l4.2-6.4c10.3-15.5 27.7-24.8 46.3-24.8c22.7 0 43.2 13.8 51.6 34.9zm-96.3 55.5l64 40c4.7 2.9 7.5 8.1 7.5 13.6v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V376.9l-40.9-25.5-24.5 55.2c-3.6 8.1-13 11.7-21.1 8.1s-11.7-13-8.1-21.1l32-72 7.5-16.8 15.6 9.8z\"]]\n};\nvar faConstruction = faTrianglePersonDigging;\nvar faFerry = {\n prefix: 'fad',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", [\"M269.5 421.9c11.1-7.9 25.9-7.9 37 0C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1z\", \"M192 32H116.9C96.3 32 85.3 56.3 98.8 71.8L120 96H456l21.2-24.2C490.8 56.3 479.7 32 459.1 32H384c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zm288 96H96c-17.7 0-32 14.3-32 32V283.5c0 13.3 4.2 26.3 11.9 37.2l51.4 71.9c1.9 1.1 3.8 2.2 5.6 3.5c15.5 10.7 34 18 51 19.9h16.6c18.2-1.9 35.8-9.7 50.6-19.9c22.1-15.5 51.6-15.5 73.7 0c15.8 10.9 33.7 18.1 50.8 19.9h16.5c17-1.8 35.6-9.2 51-19.9c1.8-1.3 3.6-2.4 5.5-3.5l51.4-71.9c7.8-10.9 11.9-23.9 11.9-37.2V160c0-17.7-14.3-32-32-32zm-32 64v96H128V192H448z\"]]\n};\nvar faBullseyeArrow = {\n prefix: 'fad',\n iconName: 'bullseye-arrow',\n icon: [512, 512, [127919], \"f648\", [\"M335.2 244.7c.5 3.7 .8 7.5 .8 11.3c0 44.2-35.8 80-80 80s-80-35.8-80-80s35.8-80 80-80c3.8 0 7.6 .3 11.3 .8l31.2-31.2L293.7 117c-12-3.3-24.7-5-37.7-5c-79.5 0-144 64.5-144 144s64.5 144 144 144s144-64.5 144-144c0-13.1-1.7-25.7-5-37.7l-28.6-4.8-31.2 31.2zm110.1-20.8c1.8 10.4 2.7 21.1 2.7 32.1c0 106-86 192-192 192S64 362 64 256S150 64 256 64c10.9 0 21.6 .9 32.1 2.7l9.3-9.3 43.1-43.1C314 5 285.6 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-29.6-5-58-14.3-84.5l-43.1 43.1-9.3 9.3z\", \"M331.2 146.9l-8.4-50.7c-1.7-10.2 1.6-20.6 8.9-27.9l51.2-51.2C391 9 404.7 11.9 409 22.5L432 80l57.5 23c10.7 4.3 13.5 18 5.4 26.2l-51.2 51.2c-7.3 7.3-17.7 10.6-27.9 8.9l-50.7-8.4L273 273c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l92.1-92.1z\"]]\n};\nvar faArrowsDownToPeople = {\n prefix: 'fad',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", [\"M360 200a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM184 296a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm312 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM200 441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8L264 345.5V400c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V345.5l26.9 49.9c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L440 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5l26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.3-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 468.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L88 441.5V480c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V441.5z\", \"M144 0c-13.3 0-24 10.7-24 24V142.1L97 119c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24zM415 153l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V142.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]]\n};\nvar faSeedling = {\n prefix: 'fad',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", [\"M480 0c17.7 0 32 14.3 32 32c0 123.7-100.3 224-224 224h-2.3c-5.9-41.1-22.9-78.7-48-109.4C269.2 61 351.5 0 448 0h32z\", \"M32 64C14.3 64 0 78.3 0 96C0 219.7 100.3 320 224 320V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320 288C288 164.3 187.7 64 64 64H32z\"]]\n};\nvar faSprout = faSeedling;\nvar faClockSeven = {\n prefix: 'fad',\n iconName: 'clock-seven',\n icon: [512, 512, [], \"e350\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V248.7l-60 90c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l64-96c2.6-3.9 4-8.6 4-13.3V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\", \"M256 96c-13.3 0-24 10.7-24 24V248.7l-60 90c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l64-96c2.6-3.9 4-8.6 4-13.3V120c0-13.3-10.7-24-24-24z\"]]\n};\nvar faLeftRight = {\n prefix: 'fad',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", [\"M512 256c0-6.7-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 56-96 0 0 96 96 0 0 56c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104c4.9-4.5 7.7-10.9 7.7-17.6z\", \"M0 256c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 56 96 0 0 96-96 0 0 56c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104C2.8 269 0 262.7 0 256z\"]]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'fad',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", [\"M304 0c-26.5 0-48 21.5-48 48v80H368c26.5 0 48 21.5 48 48v32c0 20.9-13.4 38.7-32 45.3V496c0 5.6-1 11-2.7 16H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H304zM571.3 324.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 310.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-121.4-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0l64 64z\", \"M16 160H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm16 96H352V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256zm96 80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faCircleArrowLeft = {\n prefix: 'fad',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", [\"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM231 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L376 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L119 273c-9.4-9.4-9.4-24.6 0-33.9L231 127z\", \"M119 273c-9.4-9.4-9.4-24.6 0-33.9L231 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L376 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L119 273z\"]]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faFlashlight = {\n prefix: 'fad',\n iconName: 'flashlight',\n icon: [640, 512, [128294], \"f8b8\", [\"M576 96c-112 0-192 64-192 64H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H384s80 64 192 64V96zM224 256c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32z\", \"M608 96H576V416h32c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32zM256 224c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H256z\"]]\n};\nvar faGroupArrowsRotate = {\n prefix: 'fad',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", [\"M222.7 32.2c5 16.9-4.6 34.8-21.5 39.8c-14.6 4.3-28.5 10.4-41.4 17.9c.2 2 .3 4.1 .3 6.1c0 35.3-28.7 64-64 64c-2.1 0-4.1-.1-6.1-.3c-7.5 12.9-13.6 26.8-17.9 41.4c-5 16.9-22.9 26.6-39.8 21.5s-26.6-22.9-21.5-39.8c6.4-21.5 15.5-41.8 27-60.6C34 114.3 32 105.4 32 96c0-35.3 28.7-64 64-64c9.4 0 18.3 2 26.3 5.6c18.7-11.5 39-20.6 60.6-27c16.9-5 34.8 4.6 39.8 21.5zm66.7 0c5-16.9 22.9-26.6 39.8-21.5c21.5 6.4 41.8 15.5 60.6 27c8-3.6 16.9-5.6 26.3-5.6c35.3 0 64 28.7 64 64c0 9.4-2 18.3-5.6 26.3c11.5 18.7 20.6 39 27 60.6c5 16.9-4.6 34.8-21.5 39.8s-34.8-4.6-39.8-21.5c-4.3-14.6-10.4-28.5-17.9-41.4c-2 .2-4.1 .3-6.2 .3c-35.3 0-64-28.7-64-64c0-2.1 .1-4.1 .3-6.1c-12.9-7.5-26.8-13.6-41.4-17.9c-16.9-5-26.6-22.9-21.5-39.8zM32.1 289.3c16.9-5 34.8 4.6 39.8 21.5c4.3 14.6 10.4 28.5 17.9 41.4c2-.2 4.1-.3 6.2-.3c35.3 0 64 28.7 64 64c0 2.1-.1 4.1-.3 6.2c12.9 7.5 26.8 13.6 41.4 17.9c16.9 5 26.6 22.9 21.5 39.8s-22.9 26.6-39.8 21.5c-21.5-6.4-41.8-15.5-60.6-27c-8 3.6-16.9 5.6-26.3 5.6c-35.3 0-64-28.7-64-64c0-9.4 2-18.3 5.6-26.3c-11.5-18.7-20.6-39-27-60.6c-5-16.9 4.6-34.8 21.5-39.8zm447.7 0c16.9 5 26.6 22.9 21.5 39.8c-6.4 21.5-15.5 41.8-27 60.6c3.6 8 5.6 16.9 5.6 26.3c0 35.3-28.7 64-64 64c-9.4 0-18.3-2-26.3-5.6c-18.7 11.5-39 20.6-60.6 27c-16.9 5-34.8-4.6-39.8-21.5s4.6-34.8 21.5-39.8c14.6-4.3 28.5-10.4 41.4-17.9c-.2-2-.3-4.1-.3-6.2c0-35.3 28.7-64 64-64c2.1 0 4.1 .1 6.2 .3c7.5-12.9 13.6-26.8 17.9-41.4c5-16.9 22.9-26.6 39.8-21.5z\", \"M227.7 313.8c-20.8-10.6-34.9-32.2-34.9-57c0-15.6 5.6-29.9 14.9-41.1L223 231c6.6 6.6 17.8 1.9 17.8-7.4l0-60.5c0-5.7-4.7-10.4-10.4-10.4l-60.5 0c-9.3 0-13.9 11.2-7.4 17.8l11.2 11.2c-17.9 19.8-28.9 46.2-28.9 75.1c0 43.6 24.9 81.3 61.1 99.8c11.8 6 26.3 1.4 32.3-10.4s1.4-26.3-10.4-32.3zm93.1-58.6c0 15.6-5.6 29.9-14.9 41.1L290.6 281c-6.6-6.6-17.8-1.9-17.8 7.4l0 60.5c0 5.7 4.7 10.4 10.4 10.4l60.5 0c9.3 0 13.9-11.2 7.4-17.8l-11.2-11.2c17.9-19.8 28.9-46.2 28.9-75.1c0-43.6-24.9-81.3-61.1-99.8c-11.8-6-26.3-1.4-32.3 10.4s-1.4 26.3 10.4 32.3c20.8 10.6 34.9 32.2 34.9 57z\"]]\n};\nvar faBowlFood = {\n prefix: 'fad',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", [\"M8.6 224C3.1 214.6 0 203.7 0 192c0-35.3 28.7-64 64-64c.5 0 1.1 0 1.6 0C73 91.5 105.3 64 144 64c15 0 29 4.1 40.9 11.2C198.2 49.6 225.1 32 256 32s57.8 17.6 71.1 43.2C339 68.1 353 64 368 64c38.7 0 71 27.5 78.4 64c.5 0 1.1 0 1.6 0c35.3 0 64 28.7 64 64c0 11.7-3.1 22.6-8.6 32H8.6z\", \"M27.4 256C12.3 256 0 268.3 0 283.4c0 70.5 44.4 130.7 106.7 154.1l1.8 14.4c2 16 15.6 28 31.8 28H371.8c16.1 0 29.8-12 31.8-28l1.8-14.4C467.6 414.1 512 353.9 512 283.4c0-15.1-12.3-27.4-27.4-27.4H27.4z\"]]\n};\nvar faSquare9 = {\n prefix: 'fad',\n iconName: 'square-9',\n icon: [448, 512, [], \"e25e\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 272a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-26 44.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C305.8 287.2 320 256.4 320 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\", \"M272 224a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-74 92.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C305.8 287.2 320 256.4 320 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\"]]\n};\nvar faCandyCane = {\n prefix: 'fad',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", [\"M288.1 18.8c-2.4 1.3-4.8 2.7-7.1 4.2L254.1 39.7c-30 18.7-39.1 58.2-20.4 88.2s58.2 39.1 88.2 20.4l7.7-4.8-.8-2.4-40-120-.8-2.3zm70.2 109.4c.9-.1 1.8-.2 2.7-.2c.1 0 .3 0 .4 0l0 0 11.3-11.3 80-80 3.2-3.2C429.9 12.6 396.9 0 361 0c-14.7 0-29.3 2.2-43.3 6.3l1.5 4.6 39.1 117.2zm120.2-72l-3.2 3.2-80 80L384 150.6l0 0c0 .1 0 .3 0 .4v.1l5.1 1.7 118.8 39.6c2.7-11.6 4.1-23.6 4.1-35.8V151c0-35.9-12.6-69-33.5-94.9zm18.9 166.5L378.9 183.2l-7.8-2.6c-.2 .1-.4 .3-.6 .4l-71 44.4 117 73.1 3.8 2.4 18.1-11.3c26.2-16.3 46.4-39.7 59-66.8zm-107.3 97L271.5 245.6l-2.2-1.4-77 48.1 112.2 70.1 8.6 5.4 77-48.1zm-107.2 67L162.1 311.2l-73 45.6 111.4 69.6 9.4 5.9 73-45.6zM179.7 451.2L58.9 375.7l-28.8 18C.1 412.5-9 451.9 9.7 481.9s58.2 39.1 88.2 20.4l81.8-51.1z\", \"M329.6 143.5l-.8-2.4-40-120-.8-2.3c9.4-5.2 19.3-9.4 29.6-12.4l1.5 4.6 39.1 117.2c-3.4 .4-6.6 1.5-9.5 3.3l-19.1 12zm54.4 7.2c-.2-12.4-10.2-22.4-22.6-22.6l0 0 11.3-11.3 80-80 3.2-3.2c8.3 6.7 15.9 14.3 22.6 22.6l-3.2 3.2-80 80L384 150.6l0 0zm-12.9 29.9c8-5.3 12.9-14.3 12.9-23.9v-5.5l5.1 1.7 118.8 39.6c-2.5 10.5-6 20.6-10.5 30.2L378.9 183.2l-7.8-2.6zM269.3 244.2l30.2-18.9 117 73.1 3.8 2.4-30.2 18.9L271.5 245.6l-2.2-1.4zm-107.2 67l30.2-18.9 112.2 70.1 8.6 5.4-30.2 18.9L162.1 311.2zM58.9 375.7l30.2-18.9 111.4 69.6 9.4 5.9-30.2 18.9L58.9 375.7z\"]]\n};\nvar faArrowDownWideShort = {\n prefix: 'fad',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", [\"M288 448c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0-128c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0-128c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0-128c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32z\", \"M128 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L160 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L63.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C110.5 476.2 119 480 128 480z\"]]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faSquareDollar = {\n prefix: 'fad',\n iconName: 'square-dollar',\n icon: [448, 512, [\"dollar-square\", \"usd-square\"], \"f2e9\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM244.8 133.6v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\", \"M223.2 112c11.9 0 21.6 9.7 21.6 21.6v14.2c11.6 1.4 23.2 5 34.5 8.2c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-8.5-2.3-17.1-4.9-25.8-6.6c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c11.9 7.6 26.8 10.7 40.1 14.5c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c13.7 4.5 27.8 9.9 42 12.1c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-12-8.2-27.5-11.5-41.3-15.4c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6z\"]]\n};\nvar faDollarSquare = faSquareDollar;\nvar faUsdSquare = faSquareDollar;\nvar faPhoneArrowRight = {\n prefix: 'fad',\n iconName: 'phone-arrow-right',\n icon: [512, 512, [], \"e5be\", [\"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H430.1L391 41c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faHandHoldingSeedling = {\n prefix: 'fad',\n iconName: 'hand-holding-seedling',\n icon: [576, 512, [], \"f4bf\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M96 14.5C96 6.5 102.5 0 110.5 0H160c88.4 0 160 71.6 160 160v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V160H241.5C161.1 160 96 94.9 96 14.5zm384 0C480 89 424.1 150.3 352 159c-.2-44.9-15.9-86.2-42-118.8C338.2 15.2 375.3 0 416 0h49.5c8 0 14.5 6.5 14.5 14.5z\"]]\n};\nvar faMessageCheck = {\n prefix: 'fad',\n iconName: 'message-check',\n icon: [512, 512, [\"comment-alt-check\"], \"f4a2\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm369 89c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 153z\", \"M369 119c9.4 9.4 9.4 24.6 0 33.9L241 281c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 119c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faCommentAltCheck = faMessageCheck;\nvar faCloudBolt = {\n prefix: 'fad',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", [\"M334.3 247.2c3.4-6.7 1.6-14.9-4.2-19.6s-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L177.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H281.9l52.4-104.8z\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H352 333.7l29.3-58.5c10.1-20.2 4.8-44.6-12.8-58.8s-42.6-14.2-60.2-.2L143.2 320H96z\"]]\n};\nvar faThunderstorm = faCloudBolt;\nvar faChartLineUpDown = {\n prefix: 'fad',\n iconName: 'chart-line-up-down',\n icon: [512, 512, [], \"e5d7\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M358.6 102.6l18.7 18.7L288 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L208 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l112-112 18.7 18.7c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6V96.2v-.3V80c0-8.8-7.2-16-16-16H374.6C362.1 64 352 74.1 352 86.6c0 6 2.4 11.8 6.6 16zm64 178.7l-34.7-34.7-45.3 45.3 34.7 34.7-18.7 18.7c-4.2 4.2-6.6 10-6.6 16c0 12.5 10.1 22.6 22.6 22.6l89.4 0c8.8 0 16-7.2 16-16V278.6c0-12.5-10.1-22.6-22.6-22.6c-6 0-11.8 2.4-16 6.6l-18.7 18.7z\"]]\n};\nvar faTextSlash = {\n prefix: 'fad',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", [\"M355.7 253.5L400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2 55.1 43.2c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l54.4 42.7zM327.3 353.9L272.9 311 243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faRemoveFormat = faTextSlash;\nvar faWatch = {\n prefix: 'fad',\n iconName: 'watch',\n icon: [384, 512, [8986], \"f2e1\", [\"M192 448a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm24-272v67.2L253.3 268c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32C172 271.5 168 264 168 256V176c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M64 48C64 21.5 85.5 0 112 0H272c26.5 0 48 21.5 48 48v64.9C286 82.5 241.2 64 192 64s-94 18.5-128 48.9V48zM192 448c49.2 0 94-18.5 128-48.9V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V399.1C98 429.5 142.8 448 192 448zm24-272v67.2L253.3 268c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32C172 271.5 168 264 168 256V176c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faCircleDownLeft = {\n prefix: 'fad',\n iconName: 'circle-down-left',\n icon: [512, 512, [], \"e107\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM160 198.6V336c0 8.8 7.2 16 16 16H313.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L296 280l66.3-66.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-36.7-36.7C322 146 317.1 144 312 144s-10 2-13.7 5.7L232 216l-33.4-33.4c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6z\", \"M160 336V198.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6L232 216l66.3-66.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7l36.7 36.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L296 280l33.4 33.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H176c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faText = {\n prefix: 'fad',\n iconName: 'text',\n icon: [448, 512, [], \"f893\", [\"M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H224 400c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H256l0 320h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H144c-17.7 0-32-14.3-32-32s14.3-32 32-32h48l0-320H64z\", \"\"]]\n};\nvar faProjector = {\n prefix: 'fad',\n iconName: 'projector',\n icon: [640, 512, [], \"f8d6\", [\"M440 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM281 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56 56c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L281 39zM585 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L495 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56-56zm-9 247c0 64-37.5 119.2-91.8 144.8l5.7 23c3.6 14.2 16.4 24.2 31 24.2h14c14.7 0 27.5-10 31-24.2L576 448c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H512c38.9 29.2 64 75.7 64 128zM160 448H320c-38.9-29.2-64-75.7-64-128s25.1-98.8 64-128H64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64l9.9 39.8C77.5 502 90.3 512 105 512h14c14.7 0 27.5-10 31-24.2L160 448zM64 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M512 320a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-256 0a160 160 0 1 1 320 0 160 160 0 1 1 -320 0zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faFaceSmileWink = {\n prefix: 'fad',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm124.4-6.4c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\"]]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faTombstoneBlank = {\n prefix: 'fad',\n iconName: 'tombstone-blank',\n icon: [448, 512, [129702, \"tombstone-alt\"], \"f721\", [\"M32 192C32 86 118 0 224 0S416 86 416 192V448H32V192z\", \"M0 480c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faTombstoneAlt = faTombstoneBlank;\nvar faChessKingPiece = {\n prefix: 'fad',\n iconName: 'chess-king-piece',\n icon: [256, 512, [\"chess-king-alt\"], \"f440\", [\"M208 416H48L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416z\", \"M128 0c8.8 0 16 7.2 16 16V32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H144V96h51.8c11.2 0 20.2 9.1 20.2 20.2c0 2.5-.5 4.9-1.3 7.3L182.2 208H184c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.7L208 416H48L74.7 256H72c-13.3 0-24-10.7-24-24s10.7-24 24-24h1.8L41.3 123.5c-.9-2.3-1.3-4.8-1.3-7.3C40 105.1 49.1 96 60.2 96H112V64H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V16c0-8.8 7.2-16 16-16z\"]]\n};\nvar faChessKingAlt = faChessKingPiece;\nvar faCircle6 = {\n prefix: 'fad',\n iconName: 'circle-6',\n icon: [512, 512, [], \"e0f3\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-16a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-96 48c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C174.2 224.8 160 255.6 160 288z\", \"M311.6 170.2c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C174.2 224.8 160 255.6 160 288c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4zM304 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]]\n};\nvar faLeft = {\n prefix: 'fad',\n iconName: 'left',\n icon: [448, 512, [\"arrow-alt-left\"], \"f355\", [\"M224 320V192H408c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40l-184 0z\", \"M224 192h0V96c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V320h0V192z\"]]\n};\nvar faArrowAltLeft = faLeft;\nvar faFileWord = {\n prefix: 'fad',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM111 257.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10 12 16.9 22.4 17.1s19.8-6.2 23.2-16.1L192 336.6l33.3 95.3c3.4 9.8 12.8 16.3 23.2 16.1s19.5-7.1 22.4-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-26.8 89.2-31.6-90.3c-3.4-9.6-12.5-16.1-22.7-16.1s-19.3 6.4-22.7 16.1l-31.6 90.3L111 257.1z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM111 257.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10 12 16.9 22.4 17.1s19.8-6.2 23.2-16.1L192 336.6l33.3 95.3c3.4 9.8 12.8 16.3 23.2 16.1s19.5-7.1 22.4-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-26.8 89.2-31.6-90.3c-3.4-9.6-12.5-16.1-22.7-16.1s-19.3 6.4-22.7 16.1l-31.6 90.3L111 257.1z\"]]\n};\nvar faFilePowerpoint = {\n prefix: 'fad',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM136 240c-13.3 0-24 10.7-24 24V368v56c0 13.3 10.7 24 24 24s24-10.7 24-24V392h44c42 0 76-34 76-76s-34-76-76-76H136zm68 104H160V288h44c15.5 0 28 12.5 28 28s-12.5 28-28 28z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM136 240c-13.3 0-24 10.7-24 24V368v56c0 13.3 10.7 24 24 24s24-10.7 24-24V392h44c42 0 76-34 76-76s-34-76-76-76H136zm68 104H160V288h44c15.5 0 28 12.5 28 28s-12.5 28-28 28z\"]]\n};\nvar faSquareDown = {\n prefix: 'fad',\n iconName: 'square-down',\n icon: [448, 512, [11015, \"arrow-alt-square-down\"], \"f350\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm39.1-185.4l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3H272V160c0-17.7-14.3-32-32-32H208c-17.7 0-32 14.3-32 32v96H118.3C106 256 96 266 96 278.3c0 6.2 2.6 12.1 7.1 16.3z\", \"M210.2 394.5L103.1 294.6c-4.5-4.2-7.1-10.1-7.1-16.3C96 266 106 256 118.3 256H176V160c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v96h57.7c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.1 16.3L237.8 394.5c-3.8 3.5-8.7 5.5-13.8 5.5s-10.1-2-13.8-5.5z\"]]\n};\nvar faArrowAltSquareDown = faSquareDown;\nvar faObjectsAlignCenterVertical = {\n prefix: 'fad',\n iconName: 'objects-align-center-vertical',\n icon: [512, 512, [], \"e3bd\", [\"M64 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0C85.5 32 64 53.5 64 80l0 352zm224-64c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-224c0-26.5-21.5-48-48-48l-64 0c-26.5 0-48 21.5-48 48l0 224z\", \"M24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l40 0 0 48-40 0zm264 0l-64 0 0-48 64 0 0 48zm160 0l0-48 40 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-40 0z\"]]\n};\nvar faArrowsLeftRight = {\n prefix: 'fad',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", [\"M502.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 288 256 288l0-64 146.7 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96z\", \"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288 256 288l0-64-146.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96z\"]]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'fad',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", [\"M392.6 512c-5.4-9.4-8.6-20.3-8.6-32V352c0-23.7 12.9-44.4 32-55.4V272c0-48.8 31.2-90.3 74.7-105.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h.6z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCloudArrowDown = {\n prefix: 'fad',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm79-167l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\", \"M223 279c-9.4 9.4-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39L344 184c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 134.1-39-39c-9.4-9.4-24.6-9.4-33.9 0z\"]]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faWreath = {\n prefix: 'fad',\n iconName: 'wreath',\n icon: [448, 512, [], \"f7e2\", [\"M182.6 0c15.8 0 30.2 5.7 41.4 15.2C235.2 5.7 249.6 0 265.4 0c27.9 0 51.6 17.8 60.3 42.6c5.8-1.7 11.9-2.6 18.2-2.6c35.3 0 64 28.7 64 64c0 6.3-.9 12.5-2.6 18.2c24.8 8.8 42.6 32.5 42.6 60.3c0 15.8-5.7 30.2-15.2 41.4c9.5 11.2 15.2 25.6 15.2 41.4c0 27.9-17.8 51.6-42.6 60.3c1.7 5.8 2.6 11.9 2.6 18.2c0 35.3-28.7 64-64 64c-6.3 0-12.5-.9-18.2-2.6c-1.5 4.2-3.4 8.3-5.8 12.1V403.8c0-10.9-8.9-19.8-19.8-19.8c-2.8 0-5.5 .6-8 1.7L224 416l-68.2-30.3c-2.5-1.1-5.3-1.7-8-1.7c-10.9 0-19.8 8.9-19.8 19.8v13.6c-2.3-3.8-4.3-7.8-5.8-12.1c-5.8 1.7-11.9 2.6-18.2 2.6c-35.3 0-64-28.7-64-64c0-6.3 .9-12.5 2.6-18.2C17.8 317 0 293.3 0 265.4c0-15.8 5.7-30.2 15.2-41.4C5.7 212.8 0 198.4 0 182.6c0-27.9 17.8-51.6 42.6-60.3C40.9 116.5 40 110.3 40 104c0-35.3 28.7-64 64-64c6.3 0 12.5 .9 18.2 2.6C131 17.8 154.7 0 182.6 0zM203 142.4c-5.7 6-13.6 9.4-21.9 9.1c-16.6-.6-30.2 13-29.6 29.6c.3 8.3-3 16.3-9.1 21.9c-12.1 11.3-12.1 30.6 0 41.9c6 5.7 9.4 13.6 9.1 21.9c-.6 16.6 13 30.2 29.6 29.6c8.3-.3 16.3 3 21.9 9.1c11.3 12.1 30.6 12.1 41.9 0c5.7-6 13.6-9.4 21.9-9.1c16.6 .6 30.2-13 29.6-29.6c-.3-8.3 3-16.3 9.1-21.9c12.1-11.3 12.1-30.6 0-41.9c-6-5.7-9.4-13.6-9.1-21.9c.6-16.6-13-30.2-29.6-29.6c-8.3 .3-16.3-3-21.9-9.1c-11.3-12.1-30.6-12.1-41.9 0z\", \"M128 492.2V403.8c0-10.9 8.9-19.8 19.8-19.8c2.8 0 5.5 .6 8 1.7L224 416l68.2-30.3c2.5-1.1 5.3-1.7 8-1.7c10.9 0 19.8 8.9 19.8 19.8v88.4c0 10.9-8.9 19.8-19.8 19.8c-2.8 0-5.5-.6-8-1.7L224 480l-68.2 30.3c-2.5 1.1-5.3 1.7-8 1.7c-10.9 0-19.8-8.9-19.8-19.8z\"]]\n};\nvar faChildren = {\n prefix: 'fad',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", [\"M544 64A64 64 0 1 0 416 64a64 64 0 1 0 128 0zM472 480V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V300.5L564.9 321c9.4 15 29.2 19.4 44.1 10s19.4-29.2 10-44.1l-51.7-82.1c-17.6-27.9-48.3-44.9-81.2-44.9H473.8c-33 0-63.7 16.9-81.2 44.9L340.9 287c-9.4 15-4.9 34.7 10 44.1s34.7 4.9 44.1-10L408 300.5V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M224 64A64 64 0 1 0 96 64a64 64 0 1 0 128 0zM88 400v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h16v80c0 17.7 14.3 32 32 32s32-14.3 32-32V400h17.8c10.9 0 18.6-10.7 15.2-21.1l-31.1-93.4 28.6 37.8c10.7 14.1 30.8 16.8 44.8 6.2s16.8-30.7 6.2-44.8L254.6 207c-22.4-29.6-57.5-47-94.6-47s-72.2 17.4-94.6 47L6.5 284.7c-10.7 14.1-7.9 34.2 6.2 44.8s34.2 7.9 44.8-6.2l28.7-37.8L55 378.9C51.6 389.3 59.3 400 70.2 400H88z\"]]\n};\nvar faMeterDroplet = {\n prefix: 'fad',\n iconName: 'meter-droplet',\n icon: [640, 512, [], \"e1ea\", [\"M400.6 467.3C359.5 495.5 309.7 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C366.8 0 461.2 70.4 496.8 169c-8.5 5.3-15.7 12.9-20.6 22.1L400.9 332.2C389.8 353.1 384 376.4 384 400c0 24.3 6 47.2 16.6 67.3zM160 128c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zm96 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zm96 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32z\", \"M429.2 347.3l75.3-141.2c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7z\"]]\n};\nvar faChalkboard = {\n prefix: 'fad',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", [\"M96 32C60.7 32 32 60.7 32 96V416c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32V96c0-35.3-28.7-64-64-64H96zM480 416H96V96l384 0V416z\", \"M480 96H96V416H224V384c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v32h64V96z\"]]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'fad',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", [\"M464 144C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L381.9 274c48.5-23.2 82.1-72.7 82.1-130zm81.5 368H528L284.3 320h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H545.3l.3 0z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faSignalStrong = {\n prefix: 'fad',\n iconName: 'signal-strong',\n icon: [640, 512, [\"signal-4\"], \"f68f\", [\"M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32z\", \"M480 128c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V128zM352 224c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224zM192 288c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32zM96 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416z\"]]\n};\nvar faSignal4 = faSignalStrong;\nvar faLollipop = {\n prefix: 'fad',\n iconName: 'lollipop',\n icon: [512, 512, [127853, \"lollypop\"], \"e424\", [\"M303.2 348.5c17.5-12.5 32.8-27.8 45.3-45.3L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L303.2 348.5z\", \"M48 192c0 57.4 46.6 104 104 104h8c53 0 96-43 96-96v-8c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 39.8-32.2 72-72 72s-72-32.2-72-72c0-61.9 50.1-112 112-112s112 50.1 112 112v8c0 61.6-38.7 114.2-93.2 134.8C281.4 325.6 336 265.2 336 192c0-79.5-64.5-144-144-144S48 112.5 48 192zM0 192a192 192 0 1 1 384 0A192 192 0 1 1 0 192z\"]]\n};\nvar faLollypop = faLollipop;\nvar faListTree = {\n prefix: 'fad',\n iconName: 'list-tree',\n icon: [512, 512, [], \"e1d2\", [\"M160 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zM288 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm32 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M24 48C10.7 48 0 58.7 0 72v48c0 13.3 10.7 24 24 24V256 384c0 30.9 25.1 56 56 56h48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H80c-4.4 0-8-3.6-8-8V280h56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H72V144c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H24z\"]]\n};\nvar faEnvelopeOpen = {\n prefix: 'fad',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", [\"M256 65.9L64 208.1v47.4L222.5 373c9.7 7.2 21.4 11 33.5 11s23.8-3.9 33.5-11L448 255.5V208.1L256 65.9z\", \"M64 208.1L256 65.9 448 208.1v47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5V208.1zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208.1c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z\"]]\n};\nvar faDrawCircle = {\n prefix: 'fad',\n iconName: 'draw-circle',\n icon: [512, 512, [], \"f5ed\", [\"M320 64c0 15.1-5.2 29-14 40c48.2 15.8 86.2 53.9 102 102c11-8.8 24.8-14 40-14c8.5 0 16.6 1.7 24.1 4.7c-20.8-76-80.7-135.9-156.7-156.7c3 7.4 4.7 15.5 4.7 24.1zM472.1 315.3c-7.4 3-15.6 4.7-24.1 4.7c-15.1 0-29-5.2-40-14c-15.8 48.2-53.9 86.2-102 102c8.8 11 14 24.8 14 40c0 8.5-1.7 16.6-4.7 24.1c76-20.8 135.9-80.7 156.7-156.7zM196.7 472.1c-3-7.4-4.7-15.6-4.7-24.1c0-15.1 5.2-29 14-40c-48.2-15.8-86.2-53.9-102-102c-11 8.8-24.8 14-40 14c-8.5 0-16.6-1.7-24.1-4.7c20.8 76 80.7 135.9 156.7 156.7zm0-432.1c-76 20.8-135.9 80.7-156.7 156.7c7.4-3 15.6-4.7 24.1-4.7c15.1 0 29 5.2 40 14c15.8-48.2 53.9-86.2 102-102c-8.8-11-14-24.8-14-40c0-8.5 1.7-16.6 4.7-24.1z\", \"M256 128A64 64 0 1 0 256 0a64 64 0 1 0 0 128zm0 384a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM128 256A64 64 0 1 0 0 256a64 64 0 1 0 128 0zm320 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faCatSpace = {\n prefix: 'fad',\n iconName: 'cat-space',\n icon: [640, 512, [], \"e001\", [\"M288 160a160 160 0 1 1 320 0 160 160 0 1 1 -320 0zm64 0c0 53 43 96 96 96s96-43 96-96V42.7c0-5.9-4.8-10.7-10.7-10.7c-3.4 0-6.5 1.6-8.5 4.3l-40 53.3c-3 4-7.8 6.4-12.8 6.4H424c-5 0-9.8-2.4-12.8-6.4l-40-53.3c-2-2.7-5.2-4.3-8.5-4.3c-5.9 0-10.7 4.8-10.7 10.7V160zM231.5 12.3l10.7 28.8c.8 2.2 2.5 3.9 4.7 4.7l28.8 10.7c7 2.6 7 12.4 0 15L246.9 82.2c-2.2 .8-3.9 2.5-4.7 4.7l-10.7 28.8c-2.6 7-12.4 7-15 0L205.8 86.9c-.8-2.2-2.5-3.9-4.7-4.7L172.3 71.5c-7-2.6-7-12.4 0-15l28.8-10.7c2.2-.8 3.9-2.5 4.7-4.7l10.7-28.8c2.6-7 12.4-7 15 0z\", \"M352 42.7c0-5.9 4.8-10.7 10.7-10.7c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3c5.9 0 10.7 4.8 10.7 10.7V160c0 53-43 96-96 96s-96-43-96-96V42.7zM416 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM160 277.8c29.4-44.3 76.8-75.6 131.6-83.8C307.3 266.1 371.3 320 448 320c11 0 21.7-1.1 32-3.2V352 480c0 17.7-14.3 32-32 32s-32-14.3-32-32V386.1L300 448h36c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3z\"]]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'fad',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", [\"M495.8 363.3c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2L495.8 363.3zM296.9 207.4l77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L550.2 352H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H516h-4-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6 63.2 49.6zm-89.1-69.8l81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7 43.3 34zM413.6 421.9L41.2 128.5C17.9 131.8 0 151.8 0 176V304c0 26.5 21.5 48 48 48H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faRabbitRunning = {\n prefix: 'fad',\n iconName: 'rabbit-running',\n icon: [576, 512, [\"rabbit-fast\"], \"f709\", [\"M458.6 37.2l2.2 2.1c36.2 35.5 52.3 86.2 43.9 135.5c5.1 2.9 9.9 6.3 14.5 10L553.8 213c14 11.4 22.2 28.6 22.2 46.7c0 33.3-27 60.3-60.3 60.3H414.4l-6.4 3.7-56 32.4V340.5c0-57.2-37.9-107.4-92.8-123.1l-30.8-8.8c-8.5-2.4-17.4 2.5-19.8 11s2.5 17.4 11 19.8l30.8 8.8C291.6 260 320 297.6 320 340.5V384h15.2H352h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H300.4c-16 0-31.4-6-43.2-16.8L115 300.8c-34.8-31.9-42.4-84-18.1-124.5l2.1-3.4C115.7 145 145.7 128 178.2 128c35.6 0 70.6 9.3 101.5 26.9L384.8 215c1.2-7.8 3.9-15.1 7.6-21.8c-37.1-18.3-66.5-50.2-81.4-89.7c-4.4-11.6 .4-24.9 11.2-31.1c5.6-3.2 12.3-4.2 18.5-2.6l3.4 .9C391.3 82.6 429.4 116 447.8 160c.6 0 1.1 0 1.7 0c8.5 0 16.9 1 25 2.9c-10.3-31-29-58.1-53.3-78.8c.4-11.9 2.3-23.9 5.5-35.6l.8-2.9c1.8-6.3 6.8-11.3 13.1-13s13.2 .1 17.9 4.7zM142.2 421.4l32.9-22 48.6 44.5-46 30.7c-14.7 9.8-34.6 5.8-44.4-8.9s-5.8-34.6 8.9-44.4zM512 240a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\", \"M99 172.9l.3-.4C89 159.9 73.4 152 56 152c-30.9 0-56 25.1-56 56s25.1 56 56 56c11.3 0 21.8-3.3 30.6-9.1c-7.4-25.8-4.3-54.3 10.3-78.6l2.1-3.4zM496 256a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faRabbitFast = faRabbitRunning;\nvar faMemoPad = {\n prefix: 'fad',\n iconName: 'memo-pad',\n icon: [448, 512, [], \"e1da\", [\"M448 128H0V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V128zM112 208H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M448 128H0V64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64v64zM112 208H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faMattressPillow = {\n prefix: 'fad',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", [\"M64 448l192 0 0-384H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64zM96 128h64c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32z\", \"M256 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H256V64z\"]]\n};\nvar faAlarmPlus = {\n prefix: 'fad',\n iconName: 'alarm-plus',\n icon: [512, 512, [], \"f844\", [\"M390.2 467.4C352.8 495.4 306.3 512 256 512s-96.8-16.6-134.1-44.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l35.2-35.2C48.6 384.8 32 338.3 32 288C32 164.3 132.3 64 256 64s224 100.3 224 224c0 50.3-16.6 96.8-44.6 134.2l35.2 35.2c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-35.2-35.2zM256 176c-13.3 0-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24z\", \"M14.9 146.4L160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1zM280 200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200zM352 25.4L497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4z\"]]\n};\nvar faAlicorn = {\n prefix: 'fad',\n iconName: 'alicorn',\n icon: [640, 512, [], \"f6b0\", [\"M560 90.7l73.6-24.5c3.8-1.3 6.4-4.8 6.4-8.8c0-5.1-4.2-9.3-9.3-9.3H551.4c5.4 9.4 8.6 20.3 8.6 32V90.7zM48 256c0-13.4 6.6-25.2 16.7-32.5c-.4-3.5-.7-7.1-.7-10.7c0-16.1 4.5-31.2 12.3-44.1C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256z\", \"M448 238.1V160l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H544c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 464 448C378.4 0 321.7 55.6 320 124.8L184.9 34.7c-4.9-3.3-11.2-3.6-16.4-.8s-8.5 8.2-8.5 14.1c0 48.1 3.8 99.9 26 139.8c9.2 16.6 21.7 31.3 38.2 42.7c-7.2-2.5-14-5.4-20.3-8.8c-22.5-12.1-38.6-29.4-49.9-49.8c-7.3-13.2-12.7-27.8-16.5-43C96 134.3 64 169.8 64 212.8c0 16.8 5 33.1 14.2 47.1l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faCommentQuestion = {\n prefix: 'fad',\n iconName: 'comment-question',\n icon: [512, 512, [], \"e14b\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM169.8 149.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 248.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V234.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M222.6 112c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V248c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6zM256 368a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faGingerbreadMan = {\n prefix: 'fad',\n iconName: 'gingerbread-man',\n icon: [448, 512, [], \"f79d\", [\"M296.9 158.5c-5.2 6-1.2 17.5 6.7 17.5H368c35.3 0 64 28.7 64 64s-28.7 64-64 64H347.1c-19 0-29.4 22.2-17.2 36.7L385.2 407c22.6 27.2 19 67.5-8.2 90.1s-67.5 19-90.1-8.2l-45.6-54.8c-9-10.7-25.5-10.7-34.4 0L161.2 489c-22.6 27.2-63 30.8-90.1 8.2s-30.8-63-8.2-90.1l55.2-66.3c12.2-14.6 1.8-36.7-17.2-36.7H80c-35.3 0-64-28.7-64-64s28.7-64 64-64h64.4c7.9 0 11.9-11.5 6.7-17.5C136.7 141.7 128 119.9 128 96c0-53 43-96 96-96s96 43 96 96c0 23.9-8.7 45.7-23.1 62.5zM192 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M208 224a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 128a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16-80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faGuaraniSign = {\n prefix: 'fad',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", [\"M192 0c-17.7 0-32 14.3-32 32V66.7c10.4-1.7 21.1-2.7 32-2.7s21.6 .9 32 2.7V32c0-17.7-14.3-32-32-32zm32 132c-10.2-2.6-20.9-4-32-4s-21.8 1.4-32 4V380c10.2 2.6 21 4 32 4s21.8-1.4 32-4V288 224 132zm0 313.3c-10.4 1.7-21.1 2.7-32 2.7s-21.6-.9-32-2.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3z\", \"M192 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c59.6 0 109.8-40.8 124-96H224V224H352c17.7 0 32 14.3 32 32c0 106-86 192-192 192S0 362 0 256S86 64 192 64c52.3 0 99.8 21 134.4 54.9c12.6 12.4 12.8 32.6 .5 45.3s-32.6 12.8-45.3 .4C258.5 141.9 226.9 128 192 128z\"]]\n};\nvar faBurgerFries = {\n prefix: 'fad',\n iconName: 'burger-fries',\n icon: [640, 512, [], \"e0cd\", [\"M167.6 2.4c4.7-2.9 10.6-3.2 15.6-.7l32 16c5.4 2.7 8.8 8.1 8.8 14.1v238c-9.2 1.4-19.8 2.2-32 2.2s-22.8-.8-32-2.2V206.7l0 0V16c0-5.5 2.9-10.7 7.6-13.6zM128 261c-4.8-2.1-8.7-4.4-11.8-6.6c-12-8.4-16.7-18-18.7-24.3c-.4-1.1-.8-2.3-1.2-3.4l-32-192c-1.2-6.9 2.3-13.8 8.6-16.9l32-16c4.5-2.3 9.9-2.3 14.4 .1s7.7 6.6 8.5 11.6l.2 1.3V261zM58.2 193c-3.2-.7-6.6-1-10.2-1H21.4c-1.6 0-3.2 .1-4.7 .2L.2 98.8C-.7 93.4 1.1 88 5.1 84.3s9.5-5.1 14.8-3.8l20.4 5.1L58.2 193zm312.1-18.1c-13.8 4.9-26.1 10.7-37.1 17.2c-2.1 .1-4.1 .3-6.1 .7L346.2 85l17.9-4.5c5.3-1.3 10.8 .1 14.8 3.8s5.8 9.1 4.8 14.5l-13.4 76.1zM256.1 295.2c.7 16.8 8.4 31.7 20.2 42.1C263.8 348.9 256 365.5 256 384c0 16.7 6.4 32 17 43.4c-10.4 8.8-17 21.9-17 36.6c0 18 6 34.6 16 48H89.2c-14.8 0-27.6-10.1-31.1-24.5L.6 250.5c-.4-1.7-.6-3.3-.6-5.1C0 233.6 9.6 224 21.4 224H48c8.8 0 16.3 7.2 18.9 15.7C74.3 263 100.3 304 192 304c26.4 0 47.4-3.4 64.1-8.8zm14.1-42.6c-.8 .6-1.5 1.2-2.4 1.7c-3.2 2.2-7.1 4.5-11.8 6.6V54.6l.2-1.4C257.3 47 262 42 268.1 40.5l32-8c5.3-1.3 10.8 .1 14.8 3.8s5.8 9.1 4.8 14.5L289.4 223c-1.1 2.4-2.1 4.7-2.8 7c-.1 .3-.2 .6-.3 .9c-6.7 7.7-12 15.1-16.1 21.6z\", \"M612.5 319.8c15.2 0 27.5-12.3 27.5-27.5c0-3-.5-5.9-1.7-8.6c-8.1-18.4-48.4-91.9-174.3-91.9s-166.2 73.5-174.3 91.9c-1.2 2.7-1.7 5.7-1.7 8.6c0 15.2 12.3 27.5 27.5 27.5H612.5zM368 255.8a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm96-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-240 128c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0 80c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faMugTea = {\n prefix: 'fad',\n iconName: 'mug-tea',\n icon: [576, 512, [], \"f875\", [\"M144 114.7V64h32v50.7c0 8.5 3.4 16.6 9.4 22.6l29.3 29.3c6 6 9.4 14.1 9.4 22.6V256c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V189.3c0-8.5 3.4-16.6 9.4-22.6l29.3-29.3c6-6 9.4-14.1 9.4-22.6z\", \"M144 64v50.7c0 8.5-3.4 16.6-9.4 22.6l-29.3 29.3c-6 6-9.4 14.1-9.4 22.6V256c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V189.3c0-8.5-3.4-16.6-9.4-22.6l-29.3-29.3c-6-6-9.4-14.1-9.4-22.6V64H384h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H416v32c0 53-43 96-96 96H128c-53 0-96-43-96-96V96c0-17.7 14.3-32 32-32h80zM416 256h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H416V256z\"]]\n};\nvar faBorderTop = {\n prefix: 'fad',\n iconName: 'border-top',\n icon: [448, 512, [], \"f855\", [\"M64 160A32 32 0 1 0 0 160a32 32 0 1 0 64 0zm384 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-256 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 352A32 32 0 1 0 0 352a32 32 0 1 0 64 0zm320 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm448 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-256 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 448A32 32 0 1 0 0 448a32 32 0 1 0 64 0zm320 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm64 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm64-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64z\"]]\n};\nvar faArrowsRotate = {\n prefix: 'fad',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", [\"M80 396.9V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H125.6l17.2 17.1c62.5 62.5 163.8 62.5 226.3 0c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.5 87.5-229.3 87.5-316.7 0L80 396.9z\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5z\"]]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faCircleBookOpen = {\n prefix: 'fad',\n iconName: 'circle-book-open',\n icon: [512, 512, [\"book-circle\"], \"e0ff\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 336c-23.1 0-41 11.1-46.3 14.8c-1.1 .8-2.4 1.2-3.7 1.2c-3.3 0-5.9-2.7-5.9-5.9V185.3c0-5.8 3.1-11.1 8.3-13.5c10.4-4.7 29.1-11.9 47.7-11.9s37.2 7.1 47.7 11.9c5.2 2.4 8.3 7.7 8.3 13.5V346.1c0 3.3-2.7 5.9-5.9 5.9c-1.3 0-2.6-.4-3.7-1.2C225 347.1 207.1 336 184 336zm144 0c-23.1 0-41 11.1-46.3 14.8c-1.1 .8-2.4 1.2-3.7 1.2c-3.3 0-5.9-2.7-5.9-5.9V185.3c0-5.8 3.1-11.1 8.3-13.5c10.4-4.7 29.1-11.9 47.7-11.9s37.2 7.1 47.7 11.9c5.2 2.4 8.3 7.7 8.3 13.5V346.1c0 3.3-2.7 5.9-5.9 5.9c-1.3 0-2.6-.4-3.7-1.2C369 347.1 351.1 336 328 336z\", \"M230.3 350.8C225 347.1 207.1 336 184 336s-41 11.1-46.3 14.8c-1.1 .8-2.4 1.2-3.7 1.2c-3.3 0-5.9-2.7-5.9-5.9V185.3c0-5.8 3.1-11.1 8.3-13.5c10.4-4.7 29.1-11.9 47.7-11.9s37.2 7.1 47.7 11.9c5.2 2.4 8.3 7.7 8.3 13.5V346.1c0 3.3-2.7 5.9-5.9 5.9c-1.3 0-2.6-.4-3.7-1.2zm144 0C369 347.1 351.1 336 328 336s-41 11.1-46.3 14.8c-1.1 .8-2.4 1.2-3.7 1.2c-3.3 0-5.9-2.7-5.9-5.9V185.3c0-5.8 3.1-11.1 8.3-13.5c10.4-4.7 29.1-11.9 47.7-11.9s37.2 7.1 47.7 11.9c5.2 2.4 8.3 7.7 8.3 13.5V346.1c0 3.3-2.7 5.9-5.9 5.9c-1.3 0-2.6-.4-3.7-1.2z\"]]\n};\nvar faBookCircle = faCircleBookOpen;\nvar faArrowsToDottedLine = {\n prefix: 'fad',\n iconName: 'arrows-to-dotted-line',\n icon: [448, 512, [], \"e0a6\", [\"M64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm96 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M224 0c17.7 0 32 14.3 32 32V64h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V32c0-17.7 14.3-32 32-32zM137.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H256v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9z\"]]\n};\nvar faFireExtinguisher = {\n prefix: 'fad',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", [\"M289 56H224v48h65c-.7-2.6-1-5.2-1-8V64c0-2.8 .4-5.4 1-8zM2.5 159.5c-5.8 11.9-.9 26.3 11.1 32.1s26.3 .9 32.1-11.1C62 146.9 91.8 121.1 128 110V60.4C72.7 72.6 26.7 109.8 2.5 159.5zM288 416H64v32c0 35.3 28.7 64 64 64h96c35.3 0 64-28.7 64-64V416z\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32c-15-3-25.7-16.1-25.7-31.4V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM128 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V138.8c37.8 18 64 56.5 64 101.2V416H64V240c0-44.7 26.2-83.2 64-101.2V32zm48 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faGarageOpen = {\n prefix: 'fad',\n iconName: 'garage-open',\n icon: [640, 512, [], \"e00b\", [\"M194.1 320l-5.2 15c-17.2 9.5-28.9 27.9-28.9 49v96c0 17.7 14.3 32 32 32s32-14.3 32-32V464H416v16c0 17.7 14.3 32 32 32s32-14.3 32-32V384c0-21.1-11.7-39.5-28.9-49l-5.2-15H395l2.8 8H242.2l2.8-8H194.1zM240 376a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0L599.8 111.9c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V488c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM512 224v64H128V224H512z\"]]\n};\nvar faShelvesEmpty = {\n prefix: 'fad',\n iconName: 'shelves-empty',\n icon: [640, 512, [], \"e246\", [\"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V192 448v32c0 17.7 14.3 32 32 32s32-14.3 32-32H576c0 17.7 14.3 32 32 32s32-14.3 32-32V448 192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V160H64V32zm0 192H576V416H64V224z\", \"\"]]\n};\nvar faCruzeiroSign = {\n prefix: 'fad',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", [\"M256 416V320v-8.7c0-12.8 10.4-23.3 23.3-23.3c4.6 0 9.1 1.4 12.9 3.9l10.1 6.7c14.7 9.8 34.6 5.8 44.4-8.9s5.8-34.6-8.9-44.4l-10.1-6.7c-14.3-9.6-31.2-14.7-48.4-14.7c-12.4 0-24.2 2.6-34.9 7.3c-5.5-4.5-12.6-7.3-20.3-7.3c-17.7 0-32 14.3-32 32v55.3V320v82.7c19.6 8.6 41.2 13.3 64 13.3z\", \"M256 96C167.6 96 96 167.6 96 256s71.6 160 160 160c41 0 78.3-15.4 106.7-40.7c13.2-11.8 33.4-10.7 45.2 2.5s10.7 33.4-2.5 45.2c-39.6 35.5-92 57-149.3 57C132.3 480 32 379.7 32 256S132.3 32 256 32c57.4 0 109.7 21.6 149.3 57c13.2 11.8 14.3 32 2.5 45.2s-32 14.3-45.2 2.5C334.3 111.4 297 96 256 96z\"]]\n};\nvar faWatchApple = {\n prefix: 'fad',\n iconName: 'watch-apple',\n icon: [384, 512, [], \"e2cb\", [\"M80 64C35.8 64 0 99.8 0 144V368c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H80zM192 213.3a42.7 42.7 0 1 1 0 85.3 42.7 42.7 0 1 1 0-85.3zM213.3 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-74.7-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm74.7-160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-74.7-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6c5.2-1 10.5-1.6 16-1.6H304c5.5 0 10.8 .6 16 1.6V48.3C320 21.6 298.4 0 271.7 0H112.3zM64 464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c-5.2 1-10.5 1.6-16 1.6H80c-5.5 0-10.8-.6-16-1.6V464zm181.3-80a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faWatchCalculator = {\n prefix: 'fad',\n iconName: 'watch-calculator',\n icon: [384, 512, [], \"f8f0\", [\"M80 64C35.8 64 0 99.8 0 144V368c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H80zm0 64H304c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm32 144a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm80 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm128-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM88 384a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm128-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm80 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6c5.2-1 10.5-1.6 16-1.6H304c5.5 0 10.8 .6 16 1.6V48.3C320 21.6 298.4 0 271.7 0H112.3zM64 464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c-5.2 1-10.5 1.6-16 1.6H80c-5.5 0-10.8-.6-16-1.6V464zm0-192a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm104 0a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm128-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM64 360a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm128-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm80 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]]\n};\nvar faListDropdown = {\n prefix: 'fad',\n iconName: 'list-dropdown',\n icon: [512, 512, [], \"e1cf\", [\"M128 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H384c13.3 0 24-10.7 24-24s-10.7-24-24-24H128zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H384c13.3 0 24-10.7 24-24s-10.7-24-24-24H128z\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 96V416H448V192H64zM363.3 96c-7.1 0-10.7 8.6-5.7 13.7l36.7 36.7c3.1 3.1 8.2 3.1 11.3 0l36.7-36.7c5-5 1.5-13.7-5.7-13.7H363.3z\"]]\n};\nvar faCabinetFiling = {\n prefix: 'fad',\n iconName: 'cabinet-filing',\n icon: [448, 512, [128452], \"f64b\", [\"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V240H0V64zM0 272H448V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V272zM128 128v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zm0 256v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z\", \"M160 96c-17.7 0-32 14.3-32 32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7-14.3-32-32-32H160zm0 256c-17.7 0-32 14.3-32 32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-17.7-14.3-32-32-32H160zM0 272H448V240H0v32z\"]]\n};\nvar faBurgerSoda = {\n prefix: 'fad',\n iconName: 'burger-soda',\n icon: [640, 512, [], \"f858\", [\"M194.8 43.2C200.8 17.9 223.4 0 249.3 0H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H249.3c-3.7 0-6.9 2.6-7.8 6.2L224.2 128H352c17.7 0 32 14.3 32 32c0 3.9-.7 7.6-2 11.1c-18.5 5.5-34.7 12.7-48.6 20.9H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H174.9l20-84.8zM292.6 224c-18.4 19.1-28 37.5-32.2 47c-3.4 7.7-4.4 15.3-4.4 21.5c0 17.8 7.9 33.9 20.3 44.8C263.8 348.9 256 365.5 256 384c0 16.7 6.4 32 17 43.4c-10.4 8.8-17 21.9-17 36.6c0 18 6 34.6 16 48H108.2c-25 0-45.8-19.1-47.8-44L40 224H292.6z\", \"M612.5 319.8c15.2 0 27.5-12.3 27.5-27.5c0-3-.5-5.9-1.7-8.6c-8.1-18.4-48.4-91.9-174.3-91.9s-166.2 73.5-174.3 91.9c-1.2 2.7-1.7 5.7-1.7 8.6c0 15.2 12.3 27.5 27.5 27.5H612.5zM368 255.8a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm96-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-240 128c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0 80c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faSquareArrowUp = {\n prefix: 'fad',\n iconName: 'square-arrow-up',\n icon: [448, 512, [\"arrow-square-up\"], \"f33c\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm177 87L353 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 119c9.4-9.4 24.6-9.4 33.9 0z\", \"M207 119c9.4-9.4 24.6-9.4 33.9 0L353 231c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71-71V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V193.9l-71 71c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 119z\"]]\n};\nvar faArrowSquareUp = faSquareArrowUp;\nvar faGreaterThanEqual = {\n prefix: 'fad',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", [\"M34.3 52.1c-6.6 16.4 1.4 35 17.8 41.6L297.8 192 52.1 290.3c-16.4 6.6-24.4 25.2-17.8 41.6s25.2 24.4 41.6 17.8l320-128C408 216.9 416 205.1 416 192s-8-24.9-20.1-29.7l-320-128c-16.4-6.6-35 1.4-41.6 17.8z\", \"M448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"]]\n};\nvar faPalletBox = {\n prefix: 'fad',\n iconName: 'pallet-box',\n icon: [640, 512, [], \"e208\", [\"M256 0V16v96c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L320 99.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V16 0H368 272 256zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 128V384H288v64H128zm224 0V384H512v64H352z\", \"M256 0H176c-26.5 0-48 21.5-48 48V208c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H384V112c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L320 99.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V0z\"]]\n};\nvar faFaceConfounded = {\n prefix: 'fad',\n iconName: 'face-confounded',\n icon: [512, 512, [], \"e36c\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM116 205.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zm-161.6 160L256 380.8l39.1-26.1c5.4-3.6 12.4-3.6 17.8 0l40.3 26.8 23.7-11.8c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-32 16c-5.1 2.6-11.3 2.2-16-1L304 387.2l-39.1 26.1c-5.4 3.6-12.4 3.6-17.8 0L208 387.2l-39.1 26.1c-4.8 3.2-10.9 3.6-16 1l-32-16c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2l23.7 11.8 40.3-26.8c5.4-3.6 12.4-3.6 17.8 0z\", \"M116 205.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm280 0c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]]\n};\nvar faShieldHalved = {\n prefix: 'fad',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", [\"M256 0c.2 0 .5 0 .7 0c4.6 0 9.2 1 13.4 2.9L458.4 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-8.3 4-17.4 6-26.4 6V0H256z\", \"M256.7 0c-.2 0-.5 0-.7 0c-4.6 0-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c8.3 4 17.4 6 26.4 6V0h.7z\"]]\n};\nvar faShieldAlt = faShieldHalved;\nvar faTruckPlow = {\n prefix: 'fad',\n iconName: 'truck-plow',\n icon: [640, 512, [], \"f7de\", [\"M128 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm224 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M269.9 96l57.6 96H192V96h77.9zm132.2 96L324.8 63.1C313.2 43.8 292.4 32 269.9 32H176c-26.5 0-48 21.5-48 48V192H32c-17.7 0-32 14.3-32 32v96c0 16 11.7 29.2 27 31.6C45 314 83.5 288 128 288c44.7 0 83.2 26.2 101.2 64h21.6c18-37.8 56.5-64 101.2-64s83.2 26.2 101.2 64H512v16c0 7.3 2.5 14.3 7 20l64 80c11 13.8 31.2 16 45 5s16-31.2 5-45l-57-71.2V320 187.2L633 116c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-64 80c-4.5 5.7-7 12.7-7 20V288H480V224c0-17.7-14.3-32-32-32H402.1z\"]]\n};\nvar faBookAtlas = {\n prefix: 'fad',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zM247.4 283.8c3.8-3.7 8-10 11.8-18.9c6.2-14.5 10.8-34.3 12.2-56.9h-63c1.5 22.6 6 42.4 12.2 56.9c3.8 8.9 8 15.2 11.8 18.9c3.7 3.7 6.2 4.2 7.4 4.2s3.7-.5 7.4-4.2zm42.7-9.9c23.2-14.2 39.9-38 44.5-65.9H303.5c-1.4 24.7-6.1 47.5-13.4 65.9zm0-163.8c7.3 18.3 12 41.1 13.4 65.9h31.1c-4.7-27.9-21.4-51.7-44.5-65.9zM112 192a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm33.3 16c4.7 27.9 21.4 51.7 44.5 65.9c-7.3-18.3-12-41.1-13.4-65.9H145.3zm31.1-32c1.4-24.7 6.1-47.5 13.4-65.9c-23.2 14.2-39.9 38-44.5 65.9h31.1zm56.1-75.8c-3.8 3.7-8 10-11.8 18.9c-6.2 14.5-10.8 34.3-12.2 56.9h63c-1.5-22.6-6-42.4-12.2-56.9c-3.8-8.9-8-15.2-11.8-18.9c-3.7-3.7-6.2-4.2-7.4-4.2s-3.7 .5-7.4 4.2z\"]]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'fad',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", [\"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H43.5c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H468.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5V32zM176 224a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M224 176a48 48 0 1 0 0 96 48 48 0 1 0 0-96z\"]]\n};\nvar faGridRound2 = {\n prefix: 'fad',\n iconName: 'grid-round-2',\n icon: [512, 512, [], \"e5db\", [\"M384 32a96 96 0 1 0 0 192 96 96 0 1 0 0-192zM128 288a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\", \"M128 32a96 96 0 1 0 0 192 96 96 0 1 0 0-192zM384 288a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]]\n};\nvar faCommentMiddleTop = {\n prefix: 'fad',\n iconName: 'comment-middle-top',\n icon: [512, 512, [], \"e14a\", [\"M188.3 103.3l44.5-89C237.2 5.5 246.2 0 256 0s18.8 5.5 23.2 14.3l44.5 89C432.2 127.5 512 208.2 512 304c0 114.9-114.6 208-256 208S0 418.9 0 304c0-95.8 79.8-176.5 188.3-200.7z\", \"\"]]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'fad',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", [\"M0 112C0 85.5 21.5 64 48 64H464c26.5 0 48 21.5 48 48c0 15.1-7.1 29.3-19.2 38.4l-13.9 10.4c-66.6 6.4-122.4 50-146.3 109.8l-57.4 43c-11.4 8.5-27 8.5-38.4 0L19.2 150.4C7.1 141.3 0 127.1 0 112zM320.8 319.4c-.5 5.5-.8 11-.8 16.6c0 42.5 15.1 81.6 40.2 112H64c-35.3 0-64-28.7-64-64V176L217.6 339.2c22.8 17.1 54 17.1 76.8 0l26.4-19.8z\", \"M496 480a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faLayerGroup = {\n prefix: 'fad',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", [\"M324.9 279.8l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z\", \"M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 337.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2z\"]]\n};\nvar faRestroomSimple = {\n prefix: 'fad',\n iconName: 'restroom-simple',\n icon: [640, 512, [], \"e23a\", [\"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-22.4 32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6zM512 128A64 64 0 1 0 512 0a64 64 0 1 0 0 128zm-15.7 32c-28.6 0-53.7 18.9-61.5 46.4L395.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H448v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V384h21.6c21.3 0 36.6-20.3 30.8-40.8L589.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H496.3z\", \"M320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]]\n};\nvar faArrowsToDot = {\n prefix: 'fad',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", [\"\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 50.7-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 82.7 288 32zM393.4 342.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H429.3l9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64zM118.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H82.7l-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64zm50.7 269.3c12.5 12.5 32.8 12.5 45.3 0l9.4-9.4 0 50.7c0 17.7 14.3 32 32 32s32-14.3 32-32V429.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3zM256 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]]\n};\nvar faBorderOuter = {\n prefix: 'fad',\n iconName: 'border-outer',\n icon: [448, 512, [], \"f851\", [\"M256 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-96 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M384 96V416H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faHashtagLock = {\n prefix: 'fad',\n iconName: 'hashtag-lock',\n icon: [576, 512, [], \"e415\", [\"M207.6 69.3c2.9-17.4-8.9-33.9-26.3-36.8s-33.9 8.9-36.8 26.3L132.9 128H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h58.2L100.9 320H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H90.2l-9.8 58.7c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3L155.1 384h95.1l-9.8 58.7c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3L320 354.7V352c0-8.1 1.5-15.9 4.3-23.1L347.1 192h38.5c16.6-16.3 38.2-27.4 62.4-30.9c0-.4 0-.8 0-1.1c0-17.7-14.3-32-32-32H357.8l9.8-58.7c2.9-17.4-8.9-33.9-26.3-36.8s-33.9 8.9-36.8 26.3L292.9 128H197.8l9.8-58.7zM165.8 320l21.3-128h95.1L260.9 320H165.8z\", \"M432 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faClockTwoThirty = {\n prefix: 'fad',\n iconName: 'clock-two-thirty',\n icon: [512, 512, [], \"e35b\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V256c0-8 4-15.5 10.7-20l96-64c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3L280 268.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M256 416c-13.3 0-24-10.7-24-24V256c0-8 4-15.5 10.7-20l96-64c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3L280 268.8V392c0 13.3-10.7 24-24 24z\"]]\n};\nvar faArchway = {\n prefix: 'fad',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", [\"M480 96H32v64H480V96zm0 96H32V416c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 32V416 352c0-53 43-96 96-96s96 43 96 96v64 64h32 96c17.7 0 32-14.3 32-32s-14.3-32-32-32V192z\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM480 160H32v32H480V160z\"]]\n};\nvar faHeartCircleCheck = {\n prefix: 'fad',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", [\"M228.3 469.1L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 6.6-.4 13.2-1.3 19.6C487 198.7 460.3 192 432 192c-97.2 0-176 78.8-176 176c0 36.6 11.2 70.6 30.3 98.7l-2.6 2.4c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faHouseChimneyCrack = {\n prefix: 'fad',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512H128.1c-35.3 0-64-28.6-64-64z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2L512 185.5V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v37.5L309.1 7.9z\"]]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'fad',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM96 48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM66.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8H120.6c-14.5 0-27.2 9.7-30.9 23.8L66.1 335.9z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM96 48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm-6.3 71.8L66.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8H120.6c-14.5 0-27.2 9.7-30.9 23.8zM112 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faFileArchive = faFileZipper;\nvar faHeartHalf = {\n prefix: 'fad',\n iconName: 'heart-half',\n icon: [512, 512, [], \"e1ab\", [\"M256 480V96l12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 41.5-17.2 81.2-47.6 109.5L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9z\", \"M256 96L244 84l0 0c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9l0-50.7 0-265.4V96z\"]]\n};\nvar faCommentCheck = {\n prefix: 'fad',\n iconName: 'comment-check',\n icon: [512, 512, [], \"f4ac\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM369 193L241 321c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 159c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M369 159c9.4 9.4 9.4 24.6 0 33.9L241 321c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 159c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faSquare = {\n prefix: 'fad',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\", \"\"]]\n};\nvar faMemo = {\n prefix: 'fad',\n iconName: 'memo',\n icon: [384, 512, [], \"e1d8\", [\"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm64 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\", \"M80 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'fad',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", [\"M32 0C19.1 0 7.4 7.8 2.4 19.8s-2.2 25.7 6.9 34.9L224 269.3V448H160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V269.3L502.6 54.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 0 480 0H32zM256 210.7L109.3 64H402.7L256 210.7z\", \"\"]]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'fad',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", [\"M192 32C121.3 32 64 89.3 64 160v66.7c18.6 6.6 32 24.4 32 45.3v80H544V272c0-20.9 13.4-38.7 32-45.3V160c0-70.7-57.3-128-128-128H192z\", \"M48 224c-26.5 0-48 21.5-48 48V448c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32H544c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V272c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H96V272c0-26.5-21.5-48-48-48z\"]]\n};\nvar faCediSign = {\n prefix: 'fad',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", [\"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V66.7c10.4-1.7 21.1-2.7 32-2.7s21.6 .9 32 2.7V32zm0 100c-10.2-2.6-20.9-4-32-4c-11 0-21.8 1.4-32 4V380c10.2 2.6 21 4 32 4c11.1 0 21.8-1.4 32-4V132zm0 313.3c-10.4 1.7-21.1 2.7-32 2.7s-21.6-.9-32-2.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32V445.3z\", \"M224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8C307.1 433.7 267.2 448 224 448C118 448 32 362 32 256S118 64 224 64c43.2 0 83.1 14.3 115.2 38.4c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128z\"]]\n};\nvar faItalic = {\n prefix: 'fad',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", [\"M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z\", \"\"]]\n};\nvar faGlassCitrus = {\n prefix: 'fad',\n iconName: 'glass-citrus',\n icon: [512, 512, [], \"f869\", [\"M8.3 138.5C14.3 131.8 23 128 32 128H320c9 0 17.7 3.8 23.7 10.5s9 15.7 8.1 24.7L322.7 454.4C319.5 487.1 291.9 512 259 512H93c-32.9 0-60.4-24.9-63.7-57.6L.2 163.2c-.9-9 2-18 8.1-24.7zM67.4 192L93 448 259 448l25.6-256H67.4z\", \"M448 144c0 44.2-35.8 80-80 80c-7.6 0-15-1.1-21.9-3l-6.4 64.3c9.2 1.8 18.7 2.8 28.4 2.8c79.5 0 144-64.5 144-144S447.5 0 368 0C293.9 0 232.8 56 224.9 128h64.7C297 91.5 329.3 64 368 64c44.2 0 80 35.8 80 80zM73.8 256L93 448 259 448l19.2-192H73.8z\"]]\n};\nvar faCalendarLinesPen = {\n prefix: 'fad',\n iconName: 'calendar-lines-pen',\n icon: [576, 512, [], \"e472\", [\"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H258.8c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L448 235.6V192zM96 296c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M493.2 235.7l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-52 52L311.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 358.7l-71-71z\"]]\n};\nvar faChurch = {\n prefix: 'fad',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", [\"M160 256L24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48H160V256zM480 512H592c26.5 0 48-21.5 48-48V372.4c0-17.5-9.5-33.6-24.9-42.1L480 256V512z\", \"M320 0c13.3 0 24 10.7 24 24V48h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H344v46.4L456.7 210c14.5 8.7 23.3 24.3 23.3 41.2V512H384V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v96H160V251.2c0-16.9 8.8-32.5 23.3-41.2L296 142.4V96H264c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V24c0-13.3 10.7-24 24-24z\"]]\n};\nvar faPersonSnowmobiling = {\n prefix: 'fad',\n iconName: 'person-snowmobiling',\n icon: [640, 512, [\"snowmobile\"], \"f7d1\", [\"M288 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM112 288H264l-72-32 32-48 29.3 29.3c12 12 28.3 18.7 45.3 18.7H312l48-64H304l-61.7-55.6c-11.8-10.6-27-16.4-42.8-16.4h-.9c-23.7 0-45.5 13.1-56.6 34.1l-35.3 66.6c-11.4 21.6-9.4 47.8 5.3 67.4zM450 416l36 48H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H576c6.4 0 12.5-2.5 17-7l40-40c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-33 33H546l-46-61.3L480 416H450zM0 464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48s-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\", \"M373.5 85.3c-5.9-11.9-20.3-16.7-32.2-10.7s-16.7 20.3-10.7 32.2l37.4 74.7L288 288H99.8c-12.1 0-23.2 6.8-28.6 17.7l-32 64c-2.5 5-3.6 10.2-3.4 15.2c4-.6 8.1-.9 12.3-.9H272c26.2 0 49.4 12.6 64 32H480l88.9-59.3c4.5-3 7.1-8 7.1-13.3V265.9c0-6.1-3.4-11.6-8.8-14.3L419.8 177.9 373.5 85.3z\"]]\n};\nvar faSnowmobile = faPersonSnowmobiling;\nvar faFaceHushed = {\n prefix: 'fad',\n iconName: 'face-hushed',\n icon: [512, 512, [], \"e37b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM179 160.9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9zm141-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9zM256 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-15.6 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM333 160.9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]]\n};\nvar faCommentsDollar = {\n prefix: 'fad',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", [\"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM228 72V85.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V280c0 11-9 20-20 20s-20-9-20-20V265.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V72c0-11 9-20 20-20s20 9 20 20z\", \"M228 72c0-11-9-20-20-20s-20 9-20 20V86c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V280c0 11 9 20 20 20s20-9 20-20V266.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V72zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 4 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1c2.1-6.6-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.4-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5z\"]]\n};\nvar faPickaxe = {\n prefix: 'fad',\n iconName: 'pickaxe',\n icon: [512, 512, [], \"e5bf\", [\"M360.2 208.8L54.2 503.1c-12.6 12.1-32.5 11.9-44.8-.4S-3.1 470.4 8.9 457.8l294.2-306c9.9 8.6 19.8 17.7 29.5 27.5s18.9 19.7 27.5 29.5zm100.2-96.3c-16.9-23.4-37.5-43.9-60.9-60.9l9.4-9.8c6-6.2 14.2-9.7 22.8-9.8s16.9 3.3 22.9 9.4l16 16c6.1 6.1 9.5 14.3 9.4 22.9s-3.6 16.8-9.8 22.8l-9.8 9.4z\", \"M462.4 373.5l0 0 0 0c2.3 6.2 8.2 10.4 14.8 10.5s12.6-3.9 15.1-10C505 342.5 512 308 512 272C512 121.8 390.2 0 240 0c-36 0-70.5 7-102 19.8c-6.1 2.5-10.1 8.5-10 15.1s4.3 12.5 10.5 14.8l0 0 0 0 .2 .1 .8 .3c.7 .3 1.8 .7 3.3 1.3c2.9 1.2 7.2 3 12.7 5.5c11 5 26.7 12.6 45.3 23.1c37.3 21 86 53.6 132 99.5s78.5 94.7 99.5 132c10.5 18.6 18.1 34.3 23.1 45.3c2.5 5.5 4.3 9.8 5.5 12.7c.6 1.4 1 2.5 1.3 3.3l.3 .8 .1 .2z\"]]\n};\nvar faLinkSimpleSlash = {\n prefix: 'fad',\n iconName: 'link-simple-slash',\n icon: [640, 512, [], \"e1ce\", [\"M121 191.4c-15.5 17.1-25 39.7-25 64.6c0 53 43 96 96 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-88.4 0-160-71.6-160-160c0-39.9 14.6-76.3 38.7-104.3L121 191.4zM399.7 288l-81.7-64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H399.7zM532.4 392l-56.3-44.1c39.3-12 67.9-48.6 67.9-91.8c0-53-43-96-96-96H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c88.4 0 160 71.6 160 160c0 57.4-30.2 107.7-75.6 136zm-296-232L159.1 99.4C169.7 97.2 180.7 96 192 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H236.4z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faDemocrat = {\n prefix: 'fad',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", [\"M192 320H544v32 64 64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V416H288v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416 352 320z\", \"M64 32c0-8.9 3.8-20.9 6.2-27.3C71.2 1.8 74 0 77 0c1.9 0 3.8 .7 5.2 2.1L128 45.7 173.8 2.1C175.2 .7 177.1 0 179 0c3 0 5.8 1.8 6.8 4.7c2.4 6.5 6.2 18.4 6.2 27.3c0 26.5-21.9 42-29.5 46.6l76.2 72.6c6 5.7 13.9 8.8 22.1 8.8H480l32 0c40.3 0 78.2 19 102.4 51.2l19.2 25.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4l-19.2-25.6c-5.3-7-11.8-12.8-19.2-17V320H192l-40.4-94.3c-3.9-9.2-15.3-12.6-23.6-7l-42.1 28c-9.1 6.1-19.7 9.3-30.7 9.3h-2C23.9 256 0 232.1 0 202.7c0-12.1 4.1-23.8 11.7-33.3L87.6 74.6C78.1 67.4 64 53.2 64 32zM260.9 210.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.3-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5zM368.1 208c-2 0-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5c-.9-1.8-2.8-2.9-4.8-2.9zm116.8 2.9c-.9-1.8-2.8-2.9-4.8-2.9s-3.9 1.1-4.8 2.9l-10.5 20.5-23.5 3.3c-2 .3-3.7 1.6-4.3 3.5s-.1 3.9 1.3 5.3l17 16-4 22.6c-.3 1.9 .5 3.9 2.1 5s3.8 1.3 5.6 .4l21-10.7 21 10.7c1.8 .9 4 .8 5.6-.4s2.5-3.1 2.1-5l-4-22.6 17-16c1.5-1.4 2-3.4 1.4-5.3s-2.3-3.2-4.3-3.5l-23.5-3.3-10.5-20.5z\"]]\n};\nvar faFaceConfused = {\n prefix: 'fad',\n iconName: 'face-confused',\n icon: [512, 512, [], \"e36d\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM171.1 395.6l-1.1 .9c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5l1.1-.9C205 327.5 272 304 341 304h11c8.8 0 16 7.2 16 16s-7.2 16-16 16H341c-61.8 0-121.7 21-169.9 59.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faPinball = {\n prefix: 'fad',\n iconName: 'pinball',\n icon: [448, 512, [], \"e229\", [\"\", \"M412.1 463.4c-7.2 13.2-23.1 19.9-37.9 15L66.3 379.3c-12.1-3.9-22.8-10-32-17.7c-40.6-34.1-46-94.7-11.9-135.3s94.6-45.9 135.2-11.8l246 208.3c12.6 9.8 15.8 27.1 8.4 40.6zM96 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 32a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]]\n};\nvar faZ = {\n prefix: 'fad',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", [\"M0 64C0 46.3 14.3 32 32 32H352c12.4 0 23.7 7.2 29 18.4s3.6 24.5-4.4 34.1L100.3 416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-12.4 0-23.7-7.2-29-18.4s-3.6-24.5 4.4-34.1L283.7 96H32C14.3 96 0 81.7 0 64z\", \"\"]]\n};\nvar faPersonSkiing = {\n prefix: 'fad',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", [\"M174.3 71.2l-8.3 16.5 177.1 83 8.4 25.1c2.6 7.9 7.2 14.9 13.2 20.3l-3.6-1.7L151.7 116.3l-9.4 18.9c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9.1-18.1-17.5-8.2c-8-3.8-11.4-13.3-7.7-21.3s13.3-11.4 21.3-7.7l18.3 8.6 8.6-17.2c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L418.5 457.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9z\", \"M428.7 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-35.6 22.1c-11.6-34.9-50.3-52.9-84.5-39.2l-83.4 33.4c-1.2 .5-2.3 1-3.5 1.5l121.4 56.9 1 2.9 7.4 22.2c2.6 7.9 7.2 14.9 13.2 20.3l0 0c3.2 2.9 6.9 5.4 10.8 7.4l58.1 29c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2zM203.7 216.9l75.1 75.1-46.2 69.2L289.8 391l49.5-74.3c12.7-19 10.2-44.4-6-60.6l-39.3-39.3-108.8-52c-2 18.3 3.7 37.5 18.4 52.1z\"]]\n};\nvar faSkiing = faPersonSkiing;\nvar faDeer = {\n prefix: 'fad',\n iconName: 'deer',\n icon: [512, 512, [129420], \"f78e\", [\"M240 0c8.8 0 16 7.2 16 16V40c0 13.3 10.7 24 24 24h8 8c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 8.6-1.9 16.7-5.4 24H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H296h-8-8c-30.9 0-56-25.1-56-56V16c0-8.8 7.2-16 16-16zM456 0c8.8 0 16 7.2 16 16V40c0 21.7-12.3 40.4-30.3 49.8C428.3 77 411.5 68.6 393.4 65.4c2-.9 4.2-1.4 6.6-1.4h16c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16z\", \"M320 96l32 0c8.8 0 16-7.2 16-16c0-5.6-2.9-10.6-7.3-13.5c5.3-1.7 10.9-2.5 16.6-2.5c24.8 0 48.6 9.9 66.2 27.4l55.3 55.3c8.5 8.5 13.3 20 13.3 32c0 25-20.3 45.3-45.3 45.3H416h-5.3L384 304v64V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V368H251.7c-28.8 0-55.3-9.8-76.3-26.4c-2.1 16.9-9.8 32.6-21.9 44.8L142.9 397c-4.6 4.6-6.2 11.5-4 17.7l19.3 54.7c7.3 20.8-8.1 42.6-30.2 42.6H94.1c-13.6 0-25.7-8.6-30.2-21.4l-15.5-44c-11.4-32.4-7.4-67.8 10-96.3C65 339.4 65 324.9 56 315.9c-3-3-5.7-6.1-8.1-9.5c-1.3 12.9-12.7 22.5-25.7 21.5C8.9 326.9-.9 315.4 .1 302.2L2.4 272c4.2-54.2 49.3-96 103.7-96h7.9H128h64c.6 0 1.2 0 1.7 0c.8 0 1.7 0 2.5 0H302.4l9.6-32H274c-9.9 0-18-8-18-18c0-8.2 5.6-15.4 13.6-17.4L320 96zm96 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faInputPipe = {\n prefix: 'fad',\n iconName: 'input-pipe',\n icon: [640, 512, [], \"e1be\", [\"M576 128V384H64V128H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\", \"M104 184c0-13.3 10.7-24 24-24s24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184z\"]]\n};\nvar faRoadLock = {\n prefix: 'fad',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", [\"M213.2 32H288V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32h74.8c27.1 0 51.3 17.1 60.3 42.6l30.4 85.9C460.6 165.8 416 213.7 416 272v24.6c-19.1 11.1-32 31.7-32 55.4V480H352V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H86.6C56.5 480 32 455.5 32 425.4c0-6.2 1.1-12.4 3.1-18.2L152.9 74.6C162 49.1 186.1 32 213.2 32zM320 192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faA = {\n prefix: 'fad',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", [\"M221.5 51.7C216.6 39.8 204.9 32 192 32s-24.6 7.8-29.5 19.7l-120 288-40 96c-6.8 16.3 .9 35 17.2 41.8s35-.9 41.8-17.2L93.3 384H290.7l31.8 76.3c6.8 16.3 25.5 24 41.8 17.2s24-25.5 17.2-41.8l-40-96-120-288zM264 320H120l72-172.8L264 320z\", \"\"]]\n};\nvar faBookmarkSlash = {\n prefix: 'fad',\n iconName: 'bookmark-slash',\n icon: [640, 512, [], \"e0c2\", [\"M512 376V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48V75L512 376zm-2.2 121.7L128 196.8V487.7c0 13.4 10.9 24.3 24.3 24.3c5 0 9.9-1.5 14-4.4L320 400 473.7 507.6c4.1 2.9 9 4.4 14 4.4c9.9 0 18.4-5.9 22.2-14.3z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTemperatureArrowDown = {\n prefix: 'fad',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", [\"M176 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C102.2 332.6 96 349.5 96 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM64 112C64 50.2 114.1 0 176 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S32 447.5 32 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M480 352h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V64c0-17.7 14.3-32 32-32s32 14.3 32 32V352zM224 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faMace = {\n prefix: 'fad',\n iconName: 'mace',\n icon: [512, 512, [], \"f6f8\", [\"M171.9 294.9L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L217.1 340.1c-18.4-11.3-34-26.8-45.3-45.3z\", \"M272.8 10.9L244.8 95c-40.4 13.5-72.3 45.4-85.8 85.8l-84.1 28C68.4 211 64 217.1 64 224s4.4 13 10.9 15.2l84.1 28c13.5 40.4 45.4 72.3 85.8 85.8l28 84.1c2.2 6.5 8.3 10.9 15.2 10.9s13-4.4 15.2-10.9l28-84.1c40.4-13.5 72.3-45.4 85.8-85.8l84.1-28c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-84.1-28c-13.5-40.4-45.4-72.3-85.8-85.8l-28-84.1C301 4.4 294.9 0 288 0s-13 4.4-15.2 10.9zM288 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faFeatherPointed = {\n prefix: 'fad',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", [\"M41 505l81.3-81.3c10 7.6 21 13.7 33.3 17C200.3 452.8 270 454.5 338 409.4c12.2-8.1 5.8-25.4-8.8-25.4l-16.1 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l97.7-29.3c3.4-1 6.4-3.1 8.4-6.1c4.4-6.4 8.6-12.9 12.6-19.6c6.2-10.3-1.5-23-13.5-23l-38.6 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l80.9-24.3c4.6-1.4 8.4-4.8 10.2-9.3C494.5 163 507.8 86.1 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c3.3 12.2 9.4 23.2 17 33.3L7 471c-9.4 9.4-9.4 24.6 0 33.9c4.7 4.7 10.8 7 17 7c.6 0 1.2 0 1.8-.1c3.4-.3 6.7-1.2 9.8-2.9c1.9-1.1 3.7-2.4 5.4-4z\", \"M24 512c-6.2 0-12.3-2.3-17-7c-9.4-9.4-9.4-24.6 0-33.9L311 167c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-4.7 4.7-10.8 7-17 7z\"]]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faSausage = {\n prefix: 'fad',\n iconName: 'sausage',\n icon: [512, 512, [], \"f820\", [\"M320 160c0-42 26.9-77.7 64.5-90.7L369.2 27.4c-.8-2.2-1.2-4.6-1.2-7C368 9.1 377.1 0 388.4 0h55.2C454.9 0 464 9.1 464 20.4c0 2.4-.4 4.7-1.2 7L447.5 69.3C485.1 82.3 512 118 512 160c0 194.4-157.6 352-352 352c-42 0-77.7-26.9-90.7-64.5L27.4 462.8c-2.2 .8-4.6 1.2-7 1.2C9.1 464 0 454.9 0 443.6V388.4C0 377.1 9.1 368 20.4 368c2.4 0 4.7 .4 7 1.2l41.9 15.2C82.3 346.9 118 320 160 320c88.4 0 160-71.6 160-160zm80 0c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 114.9-93.1 208-208 208c-8.8 0-16 7.2-16 16s7.2 16 16 16c132.5 0 240-107.5 240-240z\", \"M384 144c8.8 0 16 7.2 16 16c0 132.5-107.5 240-240 240c-8.8 0-16-7.2-16-16s7.2-16 16-16c114.9 0 208-93.1 208-208c0-8.8 7.2-16 16-16z\"]]\n};\nvar faTrashCanClock = {\n prefix: 'fad',\n iconName: 'trash-can-clock',\n icon: [576, 512, [], \"e2aa\", [\"M32 96H416v96.7c-29.3 2.6-56.6 12.5-80 27.7V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v71.2c-29.8 31.5-48 74-48 120.8c0 59.5 29.6 112.1 74.8 144H96c-35.3 0-64-28.7-64-64V96zm96 64c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16z\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faP = {\n prefix: 'fad',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", [\"M0 96C0 60.7 28.7 32 64 32h96c88.4 0 160 71.6 160 160s-71.6 160-160 160H64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V320 96zM64 288h96c53 0 96-43 96-96s-43-96-96-96H64V288z\", \"\"]]\n};\nvar faBroomWide = {\n prefix: 'fad',\n iconName: 'broom-wide',\n icon: [512, 512, [], \"e5d1\", [\"M502.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-128 128 45.3 45.3 128-128z\", \"M313.6 121.6c-15.2-15.2-38.5-18.4-57.3-8l-32.5 18L380.4 288.1l18-32.5c10.4-18.7 7.1-42.1-8-57.3l-76.8-76.8zM187.5 151.8L16.4 246.9C6.3 252.5 0 263.2 0 274.8c0 8.5 3.4 16.6 9.3 22.6l43.2 43.2c2.1 2.1 5.3 2.9 8.2 1.9l52.1-17.4c6.3-2.1 12.2 3.9 10.1 10.1l-17.4 52.1c-1 2.9-.2 6 1.9 8.2L214.7 502.7c6 6 14.1 9.3 22.6 9.3c11.6 0 22.3-6.3 27.9-16.4l95.1-171.1L187.5 151.8z\"]]\n};\nvar faSnowflake = {\n prefix: 'fad',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", [\"M192 62.1v67.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15zM130.6 164.5L71.7 130.1l-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1zM41.2 186.4l58.4 34.1L31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8zM99.6 291.5L41.2 325.6l-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1zM71.7 381.9l58.9-34.4-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3zm120.3 .2v67.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49zm64 67.9V382.1l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15zm61.4-102.4l58.9 34.4 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1zm89.4-21.9l-58.4-34.1 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8zM348.4 220.5l58.4-34.1 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1zm27.9-90.4l-58.9 34.4 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3zM256 129.9V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49z\", \"M224 0c17.7 0 32 14.3 32 32V200.3l143.9-83.9c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8L287.5 256l144.6 84.4c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5L256 311.7V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V311.7L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8L160.5 256 15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5L192 200.3V32c0-17.7 14.3-32 32-32z\"]]\n};\nvar faStomach = {\n prefix: 'fad',\n iconName: 'stomach',\n icon: [512, 512, [], \"f623\", [\"M216.5 415.4l-1.7-1.4c53.2-9.5 94.9-51.9 103.6-105.4c8.6-2.5 17.8-4.5 25.6-4.6c16.8-.3 28.4 7.9 40 16s23.2 16.2 40 16c6.5-.1 13.9-1.5 21.1-3.3C431.9 398.5 373.7 448 304 448c-24 0-40.5-4.2-53.1-9.8c-12.8-5.7-23.1-13.3-34.4-22.8z\", \"M160 0c17.7 0 32 14.3 32 32V96c0 35.3 28.7 64 64 64h17.1c22.1-38.3 63.5-64 110.9-64c70.7 0 128 57.3 128 128v80c0 114.9-93.1 208-208 208c-32 0-57.5-5.8-78.9-15.2c-21.2-9.3-36.9-21.7-49.6-32.2c-1.8-1.5-3.6-3-5.3-4.4l0 0C148 441.5 136.6 432 112 432c-26.5 0-48 21.5-48 48c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-70.7 57.3-128 128-128h64c35.3 0 64-28.7 64-64V224c-70.7 0-128-57.3-128-128V32c0-17.7 14.3-32 32-32zm54.8 414c.6 .5 1.1 1 1.7 1.4c11.4 9.5 21.6 17.1 34.4 22.8c12.6 5.5 29.1 9.8 53.1 9.8c79.5 0 144-64.5 144-144V224c0-35.3-28.7-64-64-64s-64 28.7-64 64v64c0 62.9-45.4 115.2-105.2 126z\"]]\n};\nvar faNewspaper = {\n prefix: 'fad',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", [\"M96 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H96 48c26.5 0 48-21.5 48-48V96zm64 24v80c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zM160 304c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\", \"M0 160V432c0 26.5 21.5 48 48 48s48-21.5 48-48V96H64C28.7 96 0 124.7 0 160zM384 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384zM176 288c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]]\n};\nvar faRectangleAd = {\n prefix: 'fad',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM229.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\", \"M208 160c9.1 0 17.4 5.1 21.5 13.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3zm21.2 120L208 237.7 186.8 280h42.3zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]]\n};\nvar faAd = faRectangleAd;\nvar faGuitarElectric = {\n prefix: 'fad',\n iconName: 'guitar-electric',\n icon: [512, 512, [127928], \"f8be\", [\"M233.4 450.1c7.5-25.2 22.5-65.6 47.2-90.6c10-10.1 20-16 28.3-19.3c.4-.2 .8-.3 1.1-.5c11.3-4.6 23-9.4 31.6-18l21.6-21.8c6.5-6.6 6.5-17.3 0-23.8s-17.3-6.6-25.8-3c-14.6 6.2-39.3 8.7-68.5-20.9L257 240.2c-31.9-32.2-20.7-64.5-10-82c4.8-7.9 4.8-18.7-1.7-25.3s-17.1-6.6-23.6 0l-29.9 30.2c-9.1 9.2-14.7 21.5-20.2 33.5c-1.2 2.6-2.3 5.1-3.5 7.6c-3.5 7.3-8.9 15.7-17.1 24c-24.7 25-64.7 40.2-89.6 47.7c-14.5 4.4-28.1 11.7-38.7 22.4c-30 30.4-30 79.6 0 110l79.9 80.8c30 30.4 78.7 30.4 108.8 0c10.7-10.8 17.9-24.5 22.2-39.2zM195.3 268.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-64 64l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\", \"M352 81.1v33.6L243.8 223c3.2 5.7 7.5 11.5 13.2 17.2l11.8 11.9c7 7.1 13.8 12.3 20.2 16.1L461.3 96H464c26.5 0 48-21.5 48-48s-21.5-48-48-48h-1.1c-9.7 0-19.2 2.9-27.3 8.3L366.2 54.5C357.3 60.4 352 70.4 352 81.1zM195.3 268.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48zm-64 64c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48z\"]]\n};\nvar faArrowTurnDownRight = {\n prefix: 'fad',\n iconName: 'arrow-turn-down-right',\n icon: [512, 512, [], \"e3d6\", [\"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V224c0 53 43 96 96 96H402.7l32-32-32-32H96c-17.7 0-32-14.3-32-32V64z\", \"M329.4 137.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288 329.4 182.6c-12.5-12.5-12.5-32.8 0-45.3z\"]]\n};\nvar faMoonCloud = {\n prefix: 'fad',\n iconName: 'moon-cloud',\n icon: [640, 512, [], \"f754\", [\"M256.5 240.3C264.5 124 361.2 32 479.5 32c6.4 0 12.7 .3 19 .8c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-53.3 30.2-89.3 87.6-89.3 153.3c0 97.2 78.6 176 175.5 176c10.3 0 20.3-.9 30.1-2.6c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7C595 455.8 540 480 479.5 480c-60.9 0-116.1-24.4-156.4-64c17.9-18.7 29-44.1 29-72c0-54.6-42-99.3-95.5-103.7z\", \"M0 352c0 35.3 28.7 64 64 64H248c39.8 0 72-32.2 72-72s-32.2-72-72-72c-10.1 0-19.7 2.1-28.4 5.8C208.8 246.5 179 224 144 224c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64z\"]]\n};\nvar faBreadSliceButter = {\n prefix: 'fad',\n iconName: 'bread-slice-butter',\n icon: [512, 512, [], \"e3e1\", [\"M233.4 214.6l-50.7 50.7c-12.5 12.5-12.5 32.8 0 45.3l50.7 50.7c12.5 12.5 32.8 12.5 45.3 0l50.7-50.7c12.5-12.5 12.5-32.8 0-45.3l-50.7-50.7c-12.5-12.5-32.8-12.5-45.3 0z\", \"M0 192C0 64 192 32 256 32s256 32 256 160c0 35.3-28.7 64-64 64V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V256c-35.3 0-64-28.7-64-64zm182.6 73.4c-12.5 12.5-12.5 32.8 0 45.3l50.7 50.7c12.5 12.5 32.8 12.5 45.3 0l50.7-50.7c12.5-12.5 12.5-32.8 0-45.3l-50.7-50.7c-12.5-12.5-32.8-12.5-45.3 0l-50.7 50.7z\"]]\n};\nvar faCircleArrowRight = {\n prefix: 'fad',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM281 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L136 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L393 239c9.4 9.4 9.4 24.6 0 33.9L281 385z\", \"M393 239c9.4 9.4 9.4 24.6 0 33.9L281 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L136 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L393 239z\"]]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faUserGroupCrown = {\n prefix: 'fad',\n iconName: 'user-group-crown',\n icon: [640, 512, [\"users-crown\"], \"f6a5\", [\"M432 256c-27.7 0-53-10.1-72.6-26.7c.5-.8 1-1.5 1.4-2.3c12.1-19.9 20-42.6 22.4-67c.5-5.3 .8-10.6 .8-16V42.8C398.5 35.9 414.8 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM352 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128H352z\", \"M352 80v48H320 304 144 128 96V80 42.3v-.1V39 16c0-8.8 7.2-16 16-16h2.4c3.6 0 7.2 1.2 10 3.5L140 16l3 2.4c.3 .2 .6 .4 .8 .6l.1 .1c10.2 7.5 23.8 8.3 34.9 2L209.1 4c4.6-2.6 9.7-4 14.9-4s10.4 1.4 14.9 4l30.2 17.2c11 6.3 24.7 5.5 34.9-2l.1-.1c.3-.2 .6-.4 .8-.6l3-2.4L323.6 3.5c2.8-2.3 6.4-3.5 10-3.5H336c8.8 0 16 7.2 16 16V39v3.2 .1V80zM0 472c0-92.8 75.2-168 168-168H280c92.8 0 168 75.2 168 168v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8z\"]]\n};\nvar faUsersCrown = faUserGroupCrown;\nvar faCircleI = {\n prefix: 'fad',\n iconName: 'circle-i',\n icon: [512, 512, [], \"e111\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 152c0-13.3 10.7-24 24-24h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faToiletPaperCheck = {\n prefix: 'fad',\n iconName: 'toilet-paper-check',\n icon: [640, 512, [], \"e5b2\", [\"M20.2 495.8C25.8 505.8 36.5 512 48 512H317.9c22.3 0 45.4-12.1 55.4-36.1C388.7 439 416 350.8 416 192C416 86 459 0 512 0H160C107 0 64 86 64 192c0 85.3-.4 193.7-43.5 271.6c-5.9 9.9-6.1 22.1-.4 32.2zM313 193l-72 72c-9.4 9.4-24.6 9.4-33.9 0l-40-40c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M399.6 384H512c53 0 96-86 96-192S565 0 512 0s-96 86-96 192c0 81.9-7.3 145-16.4 192zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]]\n};\nvar faFilterCircleXmark = {\n prefix: 'fad',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", [\"M40 0C24.5 0 10.5 8.9 3.9 22.9S-.7 53.4 9 65.3L192 288.9V368c0 10.1 4.7 19.6 12.8 25.6l64 48c1.5 1.1 3 2.1 4.7 2.9C262.3 421.4 256 395.4 256 368c0-85 60.2-155.9 140.4-172.4L503 65.3c9.8-12 11.8-28.5 5.2-42.5S487.5 0 472 0H40z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faLocust = {\n prefix: 'fad',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", [\"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c98.7 0 180.6 71.4 197 165.4c29.8 11.6 51 40.6 51 74.6V280C576 143 465 32 328 32H312z\", \"M286.1 142.5c-3.3-7.8-10.5-13.2-18.9-14.3s-16.7 2.3-22 8.9l-240 304c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l79.4-100.5 43 16.4-40.5 55c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1L215.1 400h74.5l-29.3 42.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1L348 400h80.4l38.8 67.9c6.6 11.5 21.2 15.5 32.7 8.9s15.5-21.2 8.9-32.7L483.6 400H496c44.2 0 80-35.8 80-80s-35.8-80-80-80H431.8l-41.8-97.5c-3.4-7.9-10.8-13.4-19.3-14.4s-17 2.7-22.1 9.6l-40.9 55.5-21.7-50.7zM379.6 240H333l29.5-40 17.1 40zm-106.3 0H225.1l32.7-41.5 16.9 39.5-1.4 1.9zm-146.6 0H88.8C57.4 240 32 265.4 32 296.8c0 15.5 6.3 30 16.9 40.4L126.7 240zM480 320a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faSort = {\n prefix: 'fad',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", [\"M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'fad',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", [\"M192 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H488c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M48 32C34.7 32 24 42.8 24 56s10.7 24 24 24h8v96H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H104V56c0-13.3-10.7-24-24-24H48zM62.6 342.4c5.7-8.1 17.5-8.6 24-1.2c5.2 5.9 5 14.7-.3 20.5l-72 78c-6.5 7-8.2 17.2-4.3 25.9s12.5 14.4 22 14.4h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H86.8l34.8-37.7c22-23.8 22.4-60.3 1.1-84.7c-26.9-30.7-75.4-28.4-99.2 4.9L12.5 330.1c-7.7 10.8-5.2 25.8 5.6 33.5s25.8 5.2 33.5-5.6l11.1-15.6z\"]]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faChartWaterfall = {\n prefix: 'fad',\n iconName: 'chart-waterfall',\n icon: [512, 512, [], \"e0eb\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M352 64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-64 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160zm-96 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V256zM480 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V320c0 17.7 14.3 32 32 32s32-14.3 32-32V96z\"]]\n};\nvar faSparkle = {\n prefix: 'fad',\n iconName: 'sparkle',\n icon: [448, 512, [], \"e5d6\", [\"M245.8 45.9C241.9 37.4 233.4 32 224 32s-17.9 5.4-21.8 13.9L142.7 174.7 13.9 234.2C5.4 238.1 0 246.6 0 256s5.4 17.9 13.9 21.8l128.8 59.5 59.5 128.8c3.9 8.5 12.4 13.9 21.8 13.9s17.9-5.4 21.8-13.9l59.5-128.8 128.8-59.5c8.5-3.9 13.9-12.4 13.9-21.8s-5.4-17.9-13.9-21.8L305.3 174.7 245.8 45.9z\", \"\"]]\n};\nvar faFaceParty = {\n prefix: 'fad',\n iconName: 'face-party',\n icon: [640, 512, [], \"e383\", [\"M531.7 400C485.6 467.6 408 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0C433.4 0 529.7 73.8 563.3 176H560c-44.2 0-80 35.8-80 80c0 18 6 34.6 16 48H416c-1 0-2 0-3 .1c-1.2-2.3-2.7-4.4-4.3-6.4c-4.3-5.2-10.1-9.7-16.7-13.4C378.7 276.9 361.4 272 344 272c-3.6 0-6.8 2.5-7.7 6s.6 7.2 3.8 9l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0 0 0c-2.5 1.4-4.1 4.1-4.1 7s1.6 5.6 4.1 7l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0c-3.2 1.8-4.7 5.5-3.8 9s4.1 6 7.7 6c17.4 0 34.7-4.9 47.9-12.3c6.6-3.7 12.5-8.2 16.7-13.4c1.6-2 3.1-4.1 4.3-6.4c1 .1 2 .1 3 .1H531.7zM275.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm89.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\", \"M51.3 152.2l-20-52C46.6 71.8 66 46 88.8 23.4L132 37.8C96.5 68.5 68.5 107.7 51.3 152.2zM55.1 12.2C40.9 27.6 28 44.4 16.6 62.1L1.1 21.7C-1.2 16 .2 9.4 4.4 4.9S15.2-1.1 21.1 .8L55.1 12.2zM204.8 233.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zm160 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zM512 256c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H400c-8.8 0-16-7.2-16-16s7.2-16 16-16H592c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-26.5 0-48-21.5-48-48z\"]]\n};\nvar faKidneys = {\n prefix: 'fad',\n iconName: 'kidneys',\n icon: [640, 512, [], \"f5fb\", [\"M196.3 233c-1.4-16.8 3.2-33.5 12.8-47.3l64 32c19 9.5 31 28.9 31 50.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V267.8c0-3-1.7-5.8-4.4-7.2L196.3 233zm234.7-47.3c9.6 13.7 14.2 30.4 12.8 47.3l-55.3 27.7c-2.7 1.4-4.4 4.1-4.4 7.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V267.8c0-21.2 12-40.6 31-50.1l64-32z\", \"M87.7 23.8C106.5 6.3 130.5 0 152 0h3.2c19.9 0 39.4 5.9 55.9 16.9l3.4 2.3C240.4 36.5 256 65.6 256 96.7c0 22.8-8.4 44.8-23.5 61.9l-18.2 20.5c-13.4 15.1-19.9 35.1-17.9 55.1l4.1 41.2c5.8 58.1-39.8 108.5-98.2 108.5c-46.5 0-88.2-32.9-95.3-80.9C3.5 278.7 0 248.9 0 224C0 119.6 56.4 52.8 87.7 23.8zm464.6 0C583.6 52.8 640 119.6 640 224c0 24.9-3.5 54.7-7.1 79.1c-7.1 48-48.8 80.9-95.3 80.9c-58.4 0-104-50.4-98.2-108.5l4.1-41.2c2-20.1-4.5-40.1-17.9-55.1l-18.2-20.5C392.4 141.6 384 119.6 384 96.7c0-31.2 15.6-60.2 41.5-77.5l3.4-2.3C445.5 5.9 464.9 0 484.8 0H488c21.5 0 45.5 6.3 64.3 23.8z\"]]\n};\nvar faWifiExclamation = {\n prefix: 'fad',\n iconName: 'wifi-exclamation',\n icon: [640, 512, [], \"e2cf\", [\"M253.2 37c-8.6 13.7-13.1 30.1-11.9 47.6l1.4 19.3c-72.3 14.8-137.2 49.9-188.5 99.1c-12.8 12.2-33 11.8-45.2-.9s-11.8-33 .9-45.2C75.1 94.1 159.4 51 253.2 37zm133.7 0c93.8 14 178 57.1 243.3 119.8c12.8 12.2 13.2 32.5 .9 45.2s-32.5 13.2-45.2 .9c-51.3-49.2-116.2-84.3-188.5-99.1l1.4-19.3c1.2-17.4-3.3-33.9-11.9-47.6zM249.6 200.7l4.7 65.1c-30.8 9.4-58.8 25.4-82.4 46.2c-13.3 11.7-33.5 10.4-45.2-2.8s-10.4-33.5 2.8-45.2c33.9-29.9 74.9-52 120.1-63.3zm136.2 65.1l4.6-65.1c45.2 11.4 86.2 33.4 120.1 63.3c13.2 11.7 14.5 31.9 2.8 45.2s-31.9 14.5-45.2 2.8c-23.6-20.8-51.6-36.7-82.4-46.2z\", \"M320 32c-27.2 0-48.7 23.1-46.8 50.2l14.9 208C289.3 307 303.2 320 320 320s30.7-13 31.9-29.7l14.9-208C368.7 55.1 347.2 32 320 32zm0 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faChartNetwork = {\n prefix: 'fad',\n iconName: 'chart-network',\n icon: [640, 512, [], \"f78a\", [\"M276.4 100.7C264.9 117.2 245.7 128 224 128c-1.9 0-3.7-.1-5.6-.2l29.2 62.5C221.8 210.4 203 239 195.6 272H119.4c5.4 9.4 8.6 20.3 8.6 32s-3.1 22.6-8.6 32h76.1c14.6 64.1 71.9 112 140.4 112c40.8 0 77.7-17 103.9-44.3L512 446.9c.4-23.6 13.6-44.1 32.9-54.9l-72-43.2c4.6-14.1 7.1-29.2 7.1-44.8c0-20.3-4.2-39.7-11.8-57.2l82-60.2c-20.5-9-35.3-28.5-37.8-51.6l-82.1 60.2C405 173.3 372.1 160 336 160c-10.4 0-20.6 1.1-30.4 3.2l-29.2-62.5zM336 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M224 128A64 64 0 1 0 224 0a64 64 0 1 0 0 128zm352 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm64 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM64 368a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faPersonDressBurst = {\n prefix: 'fad',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", [\"M176 8c6.6 0 12.4 4 14.9 10.1l29.4 74 76.2-23.1c6.3-1.9 13.1 .2 17.2 5.3s4.6 12.2 1.4 17.9l-39.5 69.1 65.6 45.1c5.4 3.7 8 10.3 6.5 16.7s-6.7 11.2-13.1 12.2l-78.7 12.2 5.6 79.4c.5 6.5-3.1 12.7-9 15.5s-12.9 1.8-17.8-2.6L176 286.1l-58.6 53.9c-4.8 4.4-11.9 5.5-17.8 2.6s-9.5-9-9-15.5l5.6-79.4L17.6 235.4c-6.5-1-11.7-5.9-13.1-12.2s1.1-13 6.5-16.7l65.6-45.1L37 92.2c-3.3-5.7-2.7-12.8 1.4-17.9s10.9-7.2 17.2-5.3l76.2 23.1 29.4-74C163.6 12 169.4 8 176 8z\", \"M480 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM408 384H390.2c-10.9 0-18.6-10.7-15.2-21.1l38.3-114.8-33.9 56.3c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3h11.6c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L585 362.9c3.5 10.4-4.3 21.1-15.2 21.1H552v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H472v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]]\n};\nvar faDiceD4 = {\n prefix: 'fad',\n iconName: 'dice-d4',\n icon: [512, 512, [], \"f6d0\", [\"M240 16c0-7-4.5-13.2-11.2-15.3s-13.9 .3-17.9 6.1l-208 296c-4.7 6.7-3.6 15.8 2.5 21.2l208 184c4.7 4.2 11.4 5.2 17.2 2.6s9.4-8.3 9.4-14.6V16z\", \"M272 16c0-7 4.5-13.2 11.2-15.3s13.9 .3 17.9 6.1l208 296c4.7 6.7 3.6 15.8-2.5 21.2l-208 184c-4.7 4.2-11.4 5.2-17.2 2.6s-9.4-8.3-9.4-14.6V16z\"]]\n};\nvar faMoneyCheckDollar = {\n prefix: 'fad',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM272 192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zM164 152v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\", \"M164 152c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V360c0 11 9 20 20 20s20-9 20-20V346.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V152zm108 40c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H272z\"]]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'fad',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", [\"M320 64H128v64H320V64zm0 320H128v64H320V384zM32 160V352H96V160H32zm384 0H352V352h64V160z\", \"M368 80h32v32H368V80zM352 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM48 432V400H80v32H48zM0 384v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm368 48V400h32v32H368zm-48-48v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zM48 112V80H80v32H48zM0 64v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64z\"]]\n};\nvar faBreadSlice = {\n prefix: 'fad',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", [\"M0 192C0 64 192 32 256 32s256 32 256 160c0 35.3-28.7 64-64 64V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V256c-35.3 0-64-28.7-64-64zM128 400a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm0-96a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm96 96a16 16 0 1 0 32 0 16 16 0 1 0 -32 0z\", \"M144 384a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0-96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm96 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]]\n};\nvar faLanguage = {\n prefix: 'fad',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", [\"M0 128C0 92.7 28.7 64 64 64H320V448H64c-35.3 0-64-28.7-64-64V128zm160 36c-7.9 0-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144c-3.2-7.2-10.4-11.9-18.3-11.9zM141 276l19-42.8L179 276H141z\", \"M640 128c0-35.3-28.7-64-64-64H320V448H576c35.3 0 64-28.7 64-64V128zM500 184v4h44 16c11 0 20 9 20 20s-9 20-20 20h-2l-1.6 4.5c-8.9 24.4-22.4 46.6-39.6 65.4c.9 .6 1.8 1.1 2.7 1.6l18.9 11.3c9.5 5.7 12.5 18 6.9 27.4s-18 12.5-27.4 6.9l-18.9-11.3c-4.5-2.7-8.8-5.5-13.1-8.5c-10.6 7.5-21.9 14-34 19.4l-3.6 1.6c-10.1 4.5-21.9-.1-26.4-10.2s.1-21.9 10.2-26.4l3.6-1.6c6.4-2.9 12.6-6.1 18.5-9.8l-12.2-12.2c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l14.6 14.6 .5 .5c12.4-13.1 22.5-28.3 29.8-45H480 408c-11 0-20-9-20-20s9-20 20-20h52v-4c0-11 9-20 20-20s20 9 20 20zM160 164c-7.9 0-15.1 4.7-18.3 11.9l-64 144c-4.5 10.1 .1 21.9 10.2 26.4s21.9-.1 26.4-10.2l8.9-20.1h73.6l8.9 20.1c4.5 10.1 16.3 14.6 26.4 10.2s14.6-16.3 10.2-26.4l-64-144c-3.2-7.2-10.4-11.9-18.3-11.9zm0 69.2L179 276H141l19-42.8z\"]]\n};\nvar faWheatAwnSlash = {\n prefix: 'fad',\n iconName: 'wheat-awn-slash',\n icon: [640, 512, [], \"e338\", [\"M362.5 258.8l28.7-28.7 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L550.5 231c6.2-6.2 6.2-16.4 0-22.6L539.2 197c-5.2-5.2-10.6-9.8-16.4-13.9L569 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-59.4 59.4c-20.6-4.4-42-3.7-62.3 2.1c6.1-21.3 6.6-43.8 1.4-65.3L473 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L393.1 52.9c-3.7-5-7.8-9.8-12.4-14.3L369.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L335.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-3.3 3.3-6.3 6.8-9 10.4l137.8 108zm-68.7 68.7l-50.6-39.9-29.5 29.5c-3.4-27.3-15.5-53.8-36.5-74.8L165.8 231c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L73.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l36.3-36.3zM569 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L447 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l88-88z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'fad',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", [\"M512 256c0 29.3-4.9 57.4-14 83.7c-11.1-4.7-23.5-6.6-36.2-5c-13.7-33.8-50.3-54.4-87.5-44c-40.1 11.2-61.9 53.1-51.8 92.1l22.9 89.3c1.9 7.6 5.6 14.2 10.4 19.7c-30.6 13-64.4 20.2-99.7 20.2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM288.7 313.7c-4.3-5.2-10.1-9.7-16.7-13.4C258.7 292.9 241.4 288 224 288c-3.6 0-6.8 2.5-7.7 6s.6 7.2 3.8 9l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0 0 0c-2.5 1.4-4.1 4.1-4.1 7s1.6 5.6 4.1 7l0 0 0 0 0 0 .2 .1 .3 .2 .6 .4c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0c-3.2 1.8-4.7 5.5-3.8 9s4.1 6 7.7 6c17.4 0 34.7-4.9 47.9-12.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3s-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4c-2.7-1.5-5.7-3-8.7-4.3c3.1-1.3 6-2.7 8.7-4.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3s-3.1-13.2-7.3-18.3zM208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm92.4 25.6c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\", \"M208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm162.8 25.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faDagger = {\n prefix: 'fad',\n iconName: 'dagger',\n icon: [384, 512, [], \"f6cb\", [\"M152 192H128v24V414.8c0 10.5 2.9 20.8 8.5 29.7l35.1 56.2c4.4 7 12.1 11.3 20.4 11.3s16-4.3 20.4-11.3l35.1-56.2c5.6-8.9 8.5-19.2 8.5-29.7V216 192H232 152z\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H48c-26.5 0-48 21.5-48 48s21.5 48 48 48c20.9 0 38.7-13.4 45.3-32H192h98.7c6.6 18.6 24.4 32 45.3 32c26.5 0 48-21.5 48-48s-21.5-48-48-48H224V32z\"]]\n};\nvar faPodium = {\n prefix: 'fad',\n iconName: 'podium',\n icon: [448, 512, [], \"f680\", [\"M310.7 512H137.3c-32.6 0-60-24.5-63.6-56.9L44.4 192H403.6L374.3 455.1c-3.6 32.4-31 56.9-63.6 56.9z\", \"M182.4 72H168c-22.1 0-40 17.9-40 40v32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H80V112c0-48.6 39.4-88 88-88h14.4C190.7 9.7 206.2 0 224 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H224c-17.8 0-33.3-9.7-41.6-24z\"]]\n};\nvar faMemoCircleCheck = {\n prefix: 'fad',\n iconName: 'memo-circle-check',\n icon: [576, 512, [], \"e1d9\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c3.3 0 6.6-.3 9.7-.7C285.1 479.3 256 427.1 256 368c0-80.6 54.1-148.5 128-169.4V64c0-35.3-28.7-64-64-64H64zM80 128H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faRouteHighway = {\n prefix: 'fad',\n iconName: 'route-highway',\n icon: [448, 512, [], \"f61a\", [\"M32 192H416c0 1.1 0 2.2 0 3.2c0 14.9 2.8 29.7 8.4 43.6l14.3 35.7c6.2 15.4 9.3 31.9 9.3 48.5c0 49.5-28 94.8-72.2 116.9L238.3 508.6c-9 4.5-19.6 4.5-28.6 0L72.2 439.9C28 417.8 0 372.5 0 323c0-16.6 3.2-33.1 9.3-48.5l14.3-35.7C29.2 225 32 210.2 32 195.2c0-1.1 0-2.2 0-3.2zM384 323l0 .1v-.2l0 .1z\", \"M240.5 4.6c-10.1-6.1-22.8-6.1-32.9 0l-4.7 2.8c-37.5 22.5-84 24.3-123.1 4.7l-1.4-.7c-15.2-7.6-33.7-2-42.1 12.7l-32 56c-5.3 9.3-5.6 20.6-.8 30.2l16.2 32.5C27.3 158.1 31.5 174.9 32 192H416c.5-17.1 4.7-33.9 12.3-49.2l16.2-32.5c4.8-9.6 4.5-20.9-.8-30.2l-32-56c-8.4-14.7-26.9-20.3-42.1-12.7l-1.4 .7c-39.1 19.6-85.6 17.8-123.1-4.7l-4.7-2.8z\"]]\n};\nvar faDownToLine = {\n prefix: 'fad',\n iconName: 'down-to-line',\n icon: [384, 512, [\"arrow-alt-to-bottom\"], \"f34a\", [\"M0 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M219.3 372.7L342.1 249.9c6.4-6.4 9.9-15 9.9-24c0-18.7-15.2-33.9-33.9-33.9L256 192l0-128c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 128-62.1 0C47.2 192 32 207.2 32 225.9c0 9 3.6 17.6 9.9 24L164.7 372.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3z\"]]\n};\nvar faArrowAltToBottom = faDownToLine;\nvar faFilter = {\n prefix: 'fad',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", [\"M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z\", \"\"]]\n};\nvar faSquareG = {\n prefix: 'fad',\n iconName: 'square-g',\n icon: [448, 512, [], \"e271\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 224c0 44.2 35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H248c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C263.2 183.7 244.5 176 224 176c-44.2 0-80 35.8-80 80z\", \"M224 176c-44.2 0-80 35.8-80 80s35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H248c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C263.2 183.7 244.5 176 224 176z\"]]\n};\nvar faCirclePhone = {\n prefix: 'fad',\n iconName: 'circle-phone',\n icon: [512, 512, [\"phone-circle\"], \"e11b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.7 128.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L200 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C368.9 378 361 384 352 384c-123.7 0-224-100.3-224-224c0-9 6-16.9 14.7-19.3l44-12z\", \"M210.5 140.3c-3.9-9.3-14-14.2-23.7-11.6l-44 12C134 143.1 128 151 128 160c0 123.7 100.3 224 224 224c9 0 16.9-6 19.3-14.7l12-44c2.6-9.7-2.3-19.9-11.6-23.7l-48-20c-8.2-3.4-17.6-1-23.2 5.8L280.3 312c-35.2-16.6-63.7-45.1-80.3-80.3l24.7-20.2c6.8-5.6 9.2-15 5.8-23.2l-20-48z\"]]\n};\nvar faPhoneCircle = faCirclePhone;\nvar faClipboardPrescription = {\n prefix: 'fad',\n iconName: 'clipboard-prescription',\n icon: [384, 512, [], \"f5e8\", [\"M113.2 66.3c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM104 196h72c33.1 0 60 26.9 60 60c0 25.5-15.9 47.2-38.3 55.9l43 40.3 33.8-31c8.1-7.5 20.8-6.9 28.3 1.2s6.9 20.8-1.2 28.3L270 379.7l31.7 29.7c8.1 7.6 8.5 20.2 .9 28.3s-20.2 8.5-28.3 .9l-33.9-31.8-34.9 32c-8.1 7.5-20.8 6.9-28.3-1.2s-6.9-20.8 1.2-28.3l32.6-29.9-64.8-60.8c-.9-.8-1.6-1.7-2.3-2.6H124v44c0 11-9 20-20 20s-20-9-20-20V296 216c0-11 9-20 20-20zm72 80c11 0 20-9 20-20s-9-20-20-20H124v40h52z\", \"M113.2 66.3C93.9 72.6 80 90.7 80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112c0-21.3-13.9-39.4-33.2-45.7C264.4 28.7 231.5 0 192 0s-72.4 28.7-78.8 66.3zM168 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM104 196c-11 0-20 9-20 20v80 64c0 11 9 20 20 20s20-9 20-20V316h20c.7 .9 1.5 1.8 2.3 2.6l64.8 60.8-32.6 29.9c-8.1 7.5-8.7 20.1-1.2 28.3s20.1 8.7 28.3 1.2l34.9-32 33.9 31.8c8.1 7.6 20.7 7.1 28.3-.9s7.1-20.7-.9-28.3L270 379.7l31.6-28.9c8.1-7.5 8.7-20.1 1.2-28.3s-20.1-8.7-28.3-1.2l-33.8 31-43-40.3c22.4-8.7 38.3-30.5 38.3-55.9c0-33.1-26.9-60-60-60H104zm72 80H124V236h52c11 0 20 9 20 20s-9 20-20 20z\"]]\n};\nvar faUserNurseHair = {\n prefix: 'fad',\n iconName: 'user-nurse-hair',\n icon: [448, 512, [], \"e45d\", [\"M192 176H120c-8.5 0-16.6-1.9-23.8-5.3C99.4 236 153.4 288 219.6 288h8.8C296.7 288 352 232.7 352 164.4c0-1.5 0-3-.1-4.4H328c-22.8 0-42.8-11.9-54.1-29.8C257 157.7 226.6 176 192 176z\", \"M96 96v32 42.6c7.3 3.5 15.4 5.4 24 5.4h72c34.6 0 65-18.3 81.9-45.8C285.2 148.1 305.2 160 328 160h24V128 96 70.2c0-13.3-8.3-25.3-20.8-30l-96-36c-7.2-2.7-15.2-2.7-22.5 0l-96 36C104.3 44.9 96 56.8 96 70.2V96zm45.3 240.2c-7.6-8.1-18.9-11.9-29.4-8.5C47 348.5 0 409.4 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-71.9-47-132.7-111.9-153.6c-10.5-3.4-21.8 .4-29.4 8.5l-71 75.5c-6.3 6.7-17 6.7-23.3 0l-71-75.5zM208 48c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8V64h16c4.4 0 8 3.6 8 8V88c0 4.4-3.6 8-8 8H240v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V96H192c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h16V48z\"]]\n};\nvar faQuestion = {\n prefix: 'fad',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", [\"M120 440a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\", \"M144 96c-35.3 0-64 28.7-64 64c0 17.7-14.3 32-32 32s-32-14.3-32-32C16 89.3 73.3 32 144 32h32c70.7 0 128 57.3 128 128v3.6c0 43.6-22.1 84.1-58.8 107.7L203 298.4c-6.9 4.4-11 12-11 20.2V320c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.4c0-29.9 15.2-57.8 40.4-74l42.2-27.1c18.3-11.8 29.4-32.1 29.4-53.8V160c0-35.3-28.7-64-64-64H144z\"]]\n};\nvar faFileSignature = {\n prefix: 'fad',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V390.8l-1.1 1.1c-4.1 4.1-9.2 7-14.9 8.4L310 414.9c-1.8 .7-3.9 1.1-6 1.1H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h41.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L384 248.9V160H256c-17.7 0-32-14.3-32-32V0H64z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zm165.8-20.3l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 321L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]]\n};\nvar faToggleLargeOn = {\n prefix: 'fad',\n iconName: 'toggle-large-on',\n icon: [576, 512, [], \"e5b1\", [\"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 64a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\", \"M384 128a128 128 0 1 0 0 256 128 128 0 1 0 0-256z\"]]\n};\nvar faUpDownLeftRight = {\n prefix: 'fad',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", [\"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32v96l64 0V128h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64zM288 288l-64 0v96H192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H288V288z\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 32 256 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-256 0 0 32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64z\"]]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faDryerHeat = {\n prefix: 'fad',\n iconName: 'dryer-heat',\n icon: [448, 512, [\"dryer-alt\"], \"f862\", [\"M160 88a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-3.3 124.7c6.2-6.2 16.4-6.2 22.6 0L200 233.4c10.2 10.2 16 24.1 16 38.6s-5.8 28.4-16 38.6l-9.4 9.4c-4.2 4.2-6.6 10-6.6 16s2.4 11.8 6.6 16l20.7 20.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L168 374.6c-10.2-10.2-16-24.1-16-38.6s5.8-28.4 16-38.6l9.4-9.4c4.2-4.2 6.6-10 6.6-16s-2.4-11.8-6.6-16l-20.7-20.7c-6.2-6.2-6.2-16.4 0-22.6zm102.6 0L280 233.4c10.2 10.2 16 24.1 16 38.6s-5.8 28.4-16 38.6l-9.4 9.4c-4.2 4.2-6.6 10-6.6 16s2.4 11.8 6.6 16l20.7 20.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L248 374.6c-10.2-10.2-16-24.1-16-38.6s5.8-28.4 16-38.6l9.4-9.4c4.2-4.2 6.6-10 6.6-16s-2.4-11.8-6.6-16l-20.7-20.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 160a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM64 88a24 24 0 1 1 48 0A24 24 0 1 1 64 88zM184 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faDryerAlt = faDryerHeat;\nvar faHouseChimneyUser = {\n prefix: 'fad',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", [\"M64 270.5L64.1 448c0 35.3 28.7 64 64 64H448.5c35.4 0 64.1-28.7 64-64.1l-.4-177.3L288 74.5 64 270.5zM288 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2L512 185.5V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v37.5L309.1 7.9zM352 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]]\n};\nvar faHandHoldingHeart = {\n prefix: 'fad',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M224.6 0C182.3 0 148 34.3 148 76.6c0 20.3 8.1 39.8 22.4 54.1L273.9 234.1c7.8 7.8 20.5 7.8 28.3 0L405.6 130.7C419.9 116.4 428 96.9 428 76.6C428 34.3 393.7 0 351.4 0c-20.3 0-39.8 8.1-54.1 22.4L288 31.7l-9.3-9.3C264.4 8.1 244.9 0 224.6 0z\"]]\n};\nvar faArrowUpSmallBig = {\n prefix: 'fad',\n iconName: 'arrow-up-small-big',\n icon: [576, 512, [\"sort-size-up-alt\"], \"f88f\", [\"M368 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368zm0 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H368z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortSizeUpAlt = faArrowUpSmallBig;\nvar faTrainTrack = {\n prefix: 'fad',\n iconName: 'train-track',\n icon: [576, 512, [], \"e453\", [\"M147.6 96l-21.3 64H112c-17.7 0-32-14.3-32-32s14.3-32 32-32h35.6zM104.9 224L83.6 288H72c-17.7 0-32-14.3-32-32s14.3-32 32-32h32.9zm46.1 64l21.3-64H403.6l21.3 64H151.1zM62.3 352L40.9 416H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H62.3zm46.1 64l21.3-64H446.3l21.3 64H108.4zm426.7 0l-21.3-64H544c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8.9zM492.4 288l-21.3-64H504c17.7 0 32 14.3 32 32s-14.3 32-32 32H492.4zM449.7 160L428.4 96H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H449.7zM360.9 96l21.3 64H193.7l21.3-64H360.9z\", \"M202.1 33.6c16.8 5.6 25.8 23.7 20.2 40.5l-128 384c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l128-384c5.6-16.8 23.7-25.8 40.5-20.2zm171.8 0c16.8-5.6 34.9 3.5 40.5 20.2l128 384c5.6 16.8-3.5 34.9-20.2 40.5s-34.9-3.5-40.5-20.2l-128-384c-5.6-16.8 3.5-34.9 20.2-40.5z\"]]\n};\nvar faPuzzlePiece = {\n prefix: 'fad',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", [\"M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8v0c0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2v0c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2v0c-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48H279.2c-12.8 0-23.2-10.4-23.2-23.2v0c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8v0c0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320v0c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256v0C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48H168.8c12.8 0 23.2-10.4 23.2-23.2v0z\", \"\"]]\n};\nvar faMoneyCheck = {\n prefix: 'fad',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm48 160H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM408 160h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H408c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\", \"M408 160c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24H408zM112 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]]\n};\nvar faStarHalfStroke = {\n prefix: 'fad',\n iconName: 'star-half-stroke',\n icon: [640, 512, [\"star-half-alt\"], \"f5c0\", [\"M320.1 376.3l-.1 .1v63.5l.1-.1 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L470.5 329 574.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L413.2 150.3 348.9 18C343.6 7 332.4 0 320.1 0c-.5 0-1.1 0-1.6 0H320V87.1l.1-.3 42.7 87.9 12.9 26.6 29.3 4.3 96.1 14.2-70.1 69.3-20.7 20.5 4.8 28.7 16.5 97.6-85.2-45.5-26.4-14.1zM178.3 512c-1.1 .1-2.1 .1-3.2 0h3.2z\", \"M321.7 0H320V87.1 376.4v63.5L191.8 508.3C181 514 167.9 513.1 158 506s-14.9-19.3-12.9-31.3L169.8 329 65.6 225.9c-8.6-8.5-11.7-21.2-7.9-32.7s13.7-19.9 25.7-21.7L227 150.3 291.4 18c5.4-11 16.5-18 28.8-18c.5 0 1.1 0 1.6 0zM465.2 512c-1.1 .1-2.1 .1-3.2 0h3.2z\"]]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExclamation = {\n prefix: 'fad',\n iconName: 'file-exclamation',\n icon: [384, 512, [], \"f31a\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 192c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM192 192c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faCode = {\n prefix: 'fad',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", [\"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6z\", \"M473.4 121.4c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z\"]]\n};\nvar faWhiskeyGlass = {\n prefix: 'fad',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", [\"M7.8 43.1C13.9 36 22.7 32 32 32H480c9.3 0 18.1 4 24.2 11.1s8.8 16.4 7.5 25.5l-50 342.9c-5.7 39.3-39.4 68.5-79.2 68.5h-253c-39.7 0-73.4-29.1-79.2-68.5L.3 68.6C-1 59.4 1.7 50.1 7.8 43.1zM69 96l44.7 306.3c1.1 7.9 7.9 13.7 15.8 13.7h253c7.9 0 14.7-5.8 15.8-13.7L443 96H69z\", \"M424.3 224H87.7l26 178.3c1.1 7.9 7.9 13.7 15.8 13.7h253c7.9 0 14.7-5.8 15.8-13.7l26-178.3z\"]]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faMoonStars = {\n prefix: 'fad',\n iconName: 'moon-stars',\n icon: [512, 512, [], \"f755\", [\"M284.8 99.2l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11zM387.2 252.8l16.6 58c1.6 5.5 6.6 9.2 12.2 9.2s10.7-3.8 12.2-9.2l16.6-58 58-16.6c5.5-1.6 9.2-6.6 9.2-12.2s-3.8-10.7-9.2-12.2l-58-16.6-16.6-58c-1.6-5.5-6.6-9.2-12.2-9.2s-10.7 3.8-12.2 9.2l-16.6 58-58 16.6c-5.5 1.6-9.2 6.6-9.2 12.2s3.8 10.7 9.2 12.2l58 16.6z\", \"M191.8 128C85.8 128 0 214.1 0 320.2S85.8 512.4 191.8 512.4c52 0 99.1-20.7 133.6-54.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-8.1 1.4-16.5 2.2-25.1 2.2c-80.7 0-146.2-65.6-146.2-146.6c0-54.8 30-102.6 74.4-127.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-5.4-.5-10.8-.7-16.3-.7z\"]]\n};\nvar faBuildingCircleExclamation = {\n prefix: 'fad',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faClothesHanger = {\n prefix: 'fad',\n iconName: 'clothes-hanger',\n icon: [640, 512, [], \"e136\", [\"M209.8 84.8C222.3 35 267.1 0 318.5 0H320c61.9 0 112 50.1 112 112v6.3c0 36.5-17.8 70.8-47.8 91.8l-8.3 5.8L608.2 377.2C628.1 391 640 413.7 640 438c0 40.9-33.1 74-74 74H74c-40.9 0-74-33.1-74-74c0-24.2 11.9-47 31.8-60.8L301.6 189.8l.1-.1 45.8-32c12.8-9 20.5-23.7 20.5-39.3V112c0-26.5-21.5-48-48-48h-1.5c-22 0-41.2 15-46.6 36.4l-.9 3.4c-4.3 17.1-21.7 27.6-38.8 23.3s-27.6-21.7-23.3-38.8l.9-3.4zM320 255L68.3 429.7c-2.7 1.9-4.3 4.9-4.3 8.2c0 5.5 4.5 10 10 10H566c5.5 0 10-4.5 10-10c0-3.3-1.6-6.4-4.3-8.2L320 255z\", \"\"]]\n};\nvar faMobileNotch = {\n prefix: 'fad',\n iconName: 'mobile-notch',\n icon: [384, 512, [\"mobile-iphone\"], \"e1ee\", [\"M256 64V80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V64H96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H256zM16 80C16 35.8 51.8 0 96 0H288c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H96c-44.2 0-80-35.8-80-80V80z\", \"M128 64H96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H256V80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V64z\"]]\n};\nvar faMobileIphone = faMobileNotch;\nvar faMagnifyingGlassChart = {\n prefix: 'fad',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", [\"M208 416A208 208 0 1 0 208 0a208 208 0 1 0 0 416zM104 216c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24V216zm80-96c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 13.3-10.7 24-24 24s-24-10.7-24-24V120zm80 64c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V184z\", \"M104 216c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24V216zm80-96c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-160zm80 64c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V184zM457.4 502.6L330.7 376C348 363.3 363.3 348 376 330.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'fad',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", [\"M0 112C0 67.8 35.8 32 80 32H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V320c0-17.7 14.3-32 32-32s32 14.3 32 32V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112z\", \"M288 32c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L246.6 310.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 64H320c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'fad',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", [\"M71 250.7c-8.8-15.3-3.6-34.9 11.7-43.7l55.4-32c15.3-8.8 34.9-3.6 43.7 11.7l32 55.4c8.8 15.3 3.6 34.9-11.7 43.7l-55.4 32c-15.3 8.8-34.9 3.6-43.7-11.7L71 250.7zM320 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384zM32 352H96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32z\", \"M224 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224zm32 192v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32zM160 384v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faImagesUser = {\n prefix: 'fad',\n iconName: 'images-user',\n icon: [576, 512, [], \"e1b9\", [\"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM272 160a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM224 301.7c0-25.2 20.5-45.7 45.7-45.7H402.3c25.2 0 45.7 20.5 45.7 45.7c0 10.1-8.2 18.3-18.3 18.3H242.3c-10.1 0-18.3-8.2-18.3-18.3z\", \"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm352 40a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM224 301.7c0 10.1 8.2 18.3 18.3 18.3H429.7c10.1 0 18.3-8.2 18.3-18.3c0-25.2-20.5-45.7-45.7-45.7H269.7c-25.2 0-45.7 20.5-45.7 45.7z\"]]\n};\nvar faWonSign = {\n prefix: 'fad',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", [\"M51.6 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H72.9L51.6 224zM167 288l16-64h-64l21.3 64H167zm66 0h46l-16-64H249l-16 64zm96-64l16 64h26.6l21.3-64H329zm131.4 0l-21.3 64H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4z\", \"M21.9 33.6c16.8-5.6 34.9 3.5 40.5 20.2l93.2 279.7L225 56.2C228.5 42 241.3 32 256 32s27.5 10 31 24.2l69.3 277.4L449.6 53.9c5.6-16.8 23.7-25.8 40.5-20.2s25.8 23.7 20.2 40.5l-128 384c-4.5 13.5-17.4 22.4-31.6 21.9s-26.4-10.4-29.8-24.2L256 195.9 191 455.8c-3.5 13.8-15.6 23.7-29.8 24.2s-27.1-8.4-31.6-21.9L1.6 74.1C-3.9 57.4 5.1 39.2 21.9 33.6z\"]]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faImagePolaroidUser = {\n prefix: 'fad',\n iconName: 'image-polaroid-user',\n icon: [448, 512, [], \"e1b6\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H352c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\", \"M96 96c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32h16c0-35.3 28.7-64 64-64h96c35.3 0 64 28.7 64 64h16c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96zm64 96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]]\n};\nvar faVirusCovid = {\n prefix: 'fad',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", [\"M192 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V73.6c32.9 4.3 63 17.2 88 36.5L386.1 92 374.8 80.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L420 125.9 402 144c19.2 25 32.2 55.2 36.5 88H464V216c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H438.4c-4.3 32.9-17.2 63-36.5 88L420 386.1l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L386.1 420 368 402c-25 19.2-55.2 32.2-88 36.5V464h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V438.4c-32.9-4.3-63-17.2-88-36.5L125.9 420l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L92 386.1 110 368c-19.2-25-32.2-55.2-36.5-88H48v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v16H73.6c4.3-32.9 17.2-63 36.5-88L92 125.9 80.6 137.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L125.9 92 144 110c25-19.2 55.2-32.2 88-36.5V48H216c-13.3 0-24-10.7-24-24zm48 200a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm64 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M192 176a48 48 0 1 0 0 96 48 48 0 1 0 0-96z\"]]\n};\nvar faSquareEllipsis = {\n prefix: 'fad',\n iconName: 'square-ellipsis',\n icon: [448, 512, [], \"e26e\", [\"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm160-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M128 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faPie = {\n prefix: 'fad',\n iconName: 'pie',\n icon: [576, 512, [129383], \"f705\", [\"M47.3 301.9L81.4 404.2c8.7 26.1 33.2 43.8 60.7 43.8H433.9c27.5 0 52-17.6 60.7-43.8l34.1-102.3c-11.7-2.6-22.8-7.2-32.2-12.1c-7-3.6-12.7-7.3-16.6-10c-2-1.4-3.5-2.5-4.5-3.2c-.5-.4-.9-.7-1.1-.8l-.2-.2 0 0 0 0 0 0 0 0 0 0 0 0c-6.1-4.9-14.8-4.7-20.7 .4l-.1 .1c-.2 .2-.5 .4-.9 .8c-.9 .7-2.2 1.8-4.1 3.1c-3.7 2.6-9.1 6.2-16.1 9.8C418.2 297 398.7 304 376 304s-42.2-7-56.1-14.2c-7-3.6-12.4-7.2-16.1-9.8c-1.8-1.3-3.2-2.4-4.1-3.1c-.4-.4-.7-.6-.9-.8l-.1-.1 0 0c-6.1-5.4-15.2-5.4-21.2 0l-.1 .1c-.2 .2-.5 .4-.9 .8c-.9 .7-2.2 1.8-4.1 3.1c-3.7 2.6-9.1 6.2-16.1 9.8C242.2 297 222.7 304 200 304s-42.2-7-56.1-14.2c-7-3.6-12.4-7.2-16.1-9.8c-1.8-1.3-3.2-2.4-4.1-3.1c-.4-.4-.7-.6-.9-.8l-.2-.1 0 0c-5.9-5.2-14.6-5.4-20.7-.4l0 0 0 0-.2 .2c-.2 .2-.6 .5-1.1 .8c-1 .7-2.5 1.9-4.5 3.2c-4 2.7-9.7 6.4-16.7 10c-9.4 4.9-20.5 9.5-32.2 12.1zm54.6-26.3l20.7 .4s0 0 0 0l-20.7-.4z\", \"M544 240c-7.6 0-14.3-4.9-17-12C490 132.1 397 64 288 64S86 132.1 49 228c-2.7 7.1-9.4 12-17 12c-17.7 0-32 14.3-32 32c0 17.2 13.6 31.3 30.7 32c17.7-.5 35-7 48.7-14.2c7-3.6 12.7-7.3 16.7-10c2-1.4 3.5-2.5 4.5-3.2c.5-.4 .9-.7 1.1-.8l.2-.2 0 0 20.7 .4 0 0 .2 .1c.2 .2 .5 .4 .9 .8c.9 .7 2.2 1.8 4.1 3.1c3.7 2.6 9.1 6.2 16.1 9.8c14 7.2 33.4 14.2 56.1 14.2s42.2-7 56.1-14.2c7-3.6 12.4-7.2 16.1-9.8c1.8-1.3 3.2-2.4 4.1-3.1c.4-.4 .7-.6 .9-.8l.1-.1c6.1-5.4 15.2-5.4 21.2 0l0 0 .1 .1c.2 .2 .5 .4 .9 .8c.9 .7 2.2 1.8 4.1 3.1c3.7 2.6 9.1 6.2 16.1 9.8c14 7.2 33.4 14.2 56.1 14.2s42.2-7 56.1-14.2c7-3.6 12.4-7.2 16.1-9.8c1.8-1.3 3.2-2.4 4.1-3.1c.4-.4 .7-.6 .9-.8l.1-.1c5.9-5.2 14.6-5.4 20.7-.4l0 0 0 0 0 0 0 0 0 0 0 0 .2 .2c.2 .2 .6 .5 1.1 .8c1 .7 2.5 1.9 4.5 3.2c4 2.7 9.7 6.4 16.7 10c13.7 7.2 31.1 13.7 48.7 14.2c17.1-.7 30.7-14.7 30.7-32c0-17.7-14.3-32-32-32zM122.6 276c-5.9-5.2-14.6-5.4-20.7-.4l0 0 20.7 .4s0 0 0 0zm76.6-146.3c7.9 4 11.1 13.6 7.2 21.5l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2zm177.7 0c7.9-4 17.5-.7 21.5 7.2l16 32c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2l-16-32c-4-7.9-.7-17.5 7.2-21.5zM288 128c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]]\n};\nvar faChessKnightPiece = {\n prefix: 'fad',\n iconName: 'chess-knight-piece',\n icon: [320, 512, [\"chess-knight-alt\"], \"f442\", [\"M272 416H48L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L272 416z\", \"M50.7 109.3l6.9-6.9L40.7 94C35.4 91.3 32 85.8 32 79.8C32 71.1 39.1 64 47.8 64h81.5C225.8 64 304 142.2 304 238.7c0 11.5-1.1 23-3.4 34.3L272 416H48V389.7c0-29.8 13.8-57.9 37.5-76.1l71.2-54.7c8.1-6.2 8-18.5-.2-24.7c-5.5-4.1-13.1-4.1-18.6 0L99.1 263.3c-2 1.5-4.2 2.9-6.5 4c-13.7 6.9-30 5.8-42.8-2.7l-3.5-2.4C37.3 256.4 32 246.4 32 235.7V154.5c0-17 6.7-33.3 18.7-45.3zm42.1 63.5a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faChessKnightAlt = faChessKnightPiece;\nvar faAustralSign = {\n prefix: 'fad',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", [\"M122.7 224L96 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h90.7zm-40 96L56 384H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H82.7zm42.7 64L152 320H296l26.7 64H125.3zM392 384l-26.7-64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H392zm-40-96l-26.7-64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H352zM192 224h64l26.7 64H165.3L192 224z\", \"M224 32c12.9 0 24.6 7.8 29.5 19.7l160 384c6.8 16.3-.9 35-17.2 41.8s-35-.9-41.8-17.2L224 147.2 93.5 460.3c-6.8 16.3-25.5 24-41.8 17.2s-24-25.5-17.2-41.8l160-384C199.4 39.8 211.1 32 224 32z\"]]\n};\nvar faCloudPlus = {\n prefix: 'fad',\n iconName: 'cloud-plus',\n icon: [640, 512, [], \"e35e\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM296 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H232c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\", \"M296 312v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H232c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faF = {\n prefix: 'fad',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", [\"M64 32C28.7 32 0 60.7 0 96V256 448c0 17.7 14.3 32 32 32s32-14.3 32-32V288H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H64z\", \"\"]]\n};\nvar faLeaf = {\n prefix: 'fad',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", [\"M96.4 260.1C102.5 168.5 178.8 96 272 96l104 0c42.7 0 79.9-23.9 98.8-59.1c3.5-6.5 13.6-6.8 16.2 .1c13.5 36.5 21.1 77 21.1 119.6C512 317.1 405.1 447.3 273 448l-1 0c-81.7 0-150.4-55.7-170.2-131.2C131.7 289 171.9 272 216 272h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-44.2 0-85.4 13.3-119.6 36.1z\", \"M216 272c-92.8 0-168 75.2-168 168v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440C0 320.7 96.7 224 216 224h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H216z\"]]\n};\nvar faBedBunk = {\n prefix: 'fad',\n iconName: 'bed-bunk',\n icon: [576, 512, [], \"f8f8\", [\"M192 48A48 48 0 1 0 96 48a48 48 0 1 0 96 0zm0 256a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM256 0c-17.7 0-32 14.3-32 32v96H576C576 57.3 518.7 0 448 0H256zM240 256c-8.8 0-16 7.2-16 16V384H512V256H240z\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32v96 64V480c0 17.7 14.3 32 32 32s32-14.3 32-32V448H256 512v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448 416 288 192 160 128H544 256 64V32zM512 288v96H256 64V192H256 512v96z\"]]\n};\nvar faRoad = {\n prefix: 'fad',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", [\"M256 32h64V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm32 160c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zm0 192c17.7 0 32 14.3 32 32v64H256V416c0-17.7 14.3-32 32-32z\", \"M256 32H181.2c-27.1 0-51.3 17.1-60.3 42.6L3.1 407.2C1.1 413 0 419.2 0 425.4C0 455.5 24.5 480 54.6 480H256V416c0-17.7 14.3-32 32-32s32 14.3 32 32v64H521.4c30.2 0 54.6-24.5 54.6-54.6c0-6.2-1.1-12.4-3.1-18.2L455.1 74.6C446 49.1 421.9 32 394.8 32H320V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32zm64 192v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]]\n};\nvar faTaxi = {\n prefix: 'fad',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", [\"M192 0H320c17.7 0 32 14.3 32 32V64H160V32c0-17.7 14.3-32 32-32zM135.2 149.4c4.5-12.8 16.6-21.4 30.2-21.4H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 224H109.1l26.1-74.6zM96 432v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V432H96zm320 0h96v48c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V432z\", \"M135.2 149.4L109.1 224H402.9l-26.1-74.6c-4.5-12.8-16.6-21.4-30.2-21.4H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 228.8L74.8 128.3C88.3 89.8 124.6 64 165.4 64H346.6c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2V432H0V288c0-26.7 16.4-49.6 39.6-59.2zM128 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'fad',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c1.4 2.3 3.1 4.5 4.9 6.3c7.9-23 20.5-43.9 36.6-61.5l-44.9-74.7c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faChartPie = {\n prefix: 'fad',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", [\"M32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272z\", \"M527.4 240H304V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16zm31 48c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z\"]]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'fad',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", [\"\", \"M0 256L28.5 28c2-16 15.6-28 31.8-28H228.9c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160H347.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5c0-2.3 .3-4.6 .9-6.9L176 288H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faClockEight = {\n prefix: 'fad',\n iconName: 'clock-eight',\n icon: [512, 512, [], \"e345\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V256c0 8-4 15.5-10.7 20l-96 64c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3L232 243.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24V256c0 8-4 15.5-10.7 20l-96 64c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3L232 243.2V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faSackXmark = {\n prefix: 'fad',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", [\"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0 0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4zM289.9 320l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47z\", \"M192 96H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zM175 401c-9.4-9.4-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0z\"]]\n};\nvar faFileExcel = {\n prefix: 'fad',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM155.7 250.2c-7.6-10.9-22.6-13.5-33.4-5.9s-13.5 22.6-5.9 33.4L162.7 344l-46.4 66.2c-7.6 10.9-5 25.8 5.9 33.4s25.8 5 33.4-5.9L192 385.8l36.3 51.9c7.6 10.9 22.6 13.5 33.4 5.9s13.5-22.6 5.9-33.4L221.3 344l46.4-66.2c7.6-10.9 5-25.8-5.9-33.4s-25.8-5-33.4 5.9L192 302.1l-36.3-51.9z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM155.7 250.2c-7.6-10.9-22.6-13.5-33.4-5.9s-13.5 22.6-5.9 33.4L162.7 344l-46.4 66.2c-7.6 10.9-5 25.8 5.9 33.4s25.8 5 33.4-5.9L192 385.8l36.3 51.9c7.6 10.9 22.6 13.5 33.4 5.9s13.5-22.6 5.9-33.4L221.3 344l46.4-66.2c7.6-10.9 5-25.8-5.9-33.4s-25.8-5-33.4 5.9L192 302.1l-36.3-51.9z\"]]\n};\nvar faFileContract = {\n prefix: 'fad',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm54.2 253.8L144 349l16.7 55.6c1.9 6.3 7.4 10.8 13.9 11.3s12.8-2.9 15.7-8.8l8.8-17.7c1.7-3.4 5.1-5.5 8.8-5.5s7.2 2.1 8.8 5.5l8.8 17.7c2.7 5.4 8.3 8.8 14.3 8.8h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H249.9l-4.4-8.8C238.4 361 223.9 352 208 352c-10 0-19.4 3.5-26.8 9.7l-11.6-38.6C166.2 311.7 155.8 304 144 304s-22.2 7.7-25.6 19.1l-14.9 49.5c-2 6.8-8.3 11.4-15.3 11.4H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h8.2c21.2 0 39.9-13.9 46-34.2z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM134.2 381.8L144 349l16.7 55.6c1.9 6.3 7.4 10.8 13.9 11.3s12.8-2.9 15.7-8.8l8.8-17.7c1.7-3.4 5.1-5.5 8.8-5.5s7.2 2.1 8.8 5.5l8.8 17.7c2.7 5.4 8.3 8.8 14.3 8.8h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H249.9l-4.4-8.8C238.4 361 223.9 352 208 352c-10 0-19.4 3.5-26.8 9.7l-11.6-38.6C166.2 311.7 155.8 304 144 304s-22.2 7.7-25.6 19.1l-14.9 49.5c-2 6.8-8.3 11.4-15.3 11.4H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h8.2c21.2 0 39.9-13.9 46-34.2z\"]]\n};\nvar faFishFins = {\n prefix: 'fad',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", [\"M182 150.4C221.3 120.9 273.7 96 336 96s114.7 24.9 154 54.4c39.2 29.4 67.2 64.7 81.6 89.5c5.8 9.9 5.8 22.2 0 32.1c-14.4 24.8-42.5 60.1-81.6 89.5C450.7 391.1 398.3 416 336 416s-114.7-24.9-154-54.4c-15.3-11.5-29-23.9-40.7-36.3L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l93.1 54.3c11.8-12.3 25.4-24.8 40.7-36.3zM448 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M238.9 36.9C227.7 44 222 57.3 224.6 70.3l9.7 48.6C264.1 105.1 298.2 96 336 96c5.7 0 11.3 .2 16.8 .6L275.2 38.4c-10.6-8-25-8.5-36.3-1.5zm-4.6 356.2l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c-5.5 .4-11.1 .6-16.8 .6c-37.8 0-71.9-9.1-101.7-22.9z\"]]\n};\nvar faCircleQ = {\n prefix: 'fad',\n iconName: 'circle-q',\n icon: [512, 512, [], \"e11e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0 44.2 35.8 80 80 80c13.4 0 25.9-3.3 37-9.1l-30-30c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l30 30c5.8-11.1 9.1-23.7 9.1-37c0-44.2-35.8-80-80-80s-80 35.8-80 80zm208 0c0 26.7-8.2 51.4-22.1 71.9L377 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15.1-15.1c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\", \"M256 176c44.2 0 80 35.8 80 80c0 13.4-3.3 25.9-9.1 37l-30-30c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l30 30c-11.1 5.8-23.7 9.1-37 9.1c-44.2 0-80-35.8-80-80s35.8-80 80-80zM361.9 327.9c14-20.5 22.1-45.3 22.1-71.9c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128c26.7 0 51.4-8.2 71.9-22.1L343 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-15.1-15.1z\"]]\n};\nvar faBuildingFlag = {\n prefix: 'fad',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M480 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480z\"]]\n};\nvar faFaceGrinBeam = {\n prefix: 'fad',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\", \"M217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'fad',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", [\"M608 279.4c19.1-11.1 32-31.7 32-55.4c0-35.3-28.7-64-64-64c-23.7 0-44.4 12.9-55.4 32H416v40.6c9.7 5.6 17.8 13.7 23.4 23.4h81.1c5.6 9.7 13.7 17.8 23.4 23.4V392.6c-9.7 5.6-17.8 13.7-23.4 23.4H311.4c-5.6-9.7-13.7-17.8-23.4-23.4V320H224v72.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64c23.7 0 44.4-12.9 55.4-32H520.6c11.1 19.1 31.7 32 55.4 32c35.3 0 64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V279.4z\", \"M0 64c0 23.7 12.9 44.4 32 55.4V232.6C12.9 243.6 0 264.3 0 288c0 35.3 28.7 64 64 64c23.7 0 44.4-12.9 55.4-32H328.6c11.1 19.1 31.7 32 55.4 32c35.3 0 64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V119.4c19.1-11.1 32-31.7 32-55.4c0-35.3-28.7-64-64-64c-23.7 0-44.4 12.9-55.4 32H119.4C108.4 12.9 87.7 0 64 0C28.7 0 0 28.7 0 64zM328.6 96c5.6 9.7 13.7 17.8 23.4 23.4V232.6c-9.7 5.6-17.8 13.7-23.4 23.4H119.4c-5.6-9.7-13.7-17.8-23.4-23.4V119.4c9.7-5.6 17.8-13.7 23.4-23.4H328.6z\"]]\n};\nvar faFaceDisguise = {\n prefix: 'fad',\n iconName: 'face-disguise',\n icon: [512, 512, [], \"e370\", [\"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256c0-16.4 1.5-32.5 4.5-48H72c0 50.1 38.4 91.2 87.3 95.6c-9.6 7.9-15.3 19.7-15.3 32.4c0 15.9 9 30.4 23.1 37.5L147.5 398c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l23.9-29.9 7.3 3.6-10.5 26.3c-3.3 8.2 .7 17.5 8.9 20.8s17.5-.7 20.8-8.9l10-24.9c2.4 .7 4.8 1.3 7.2 1.8V432c0 8.8 7.2 16 16 16s16-7.2 16-16V406.8c2.4-.5 4.8-1.1 7.2-1.8l10 24.9c3.3 8.2 12.6 12.2 20.8 8.9s12.2-12.6 8.9-20.8l-10.5-26.3 7.3-3.6L339.5 418c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-19.6-24.5C359 366.4 368 351.9 368 336c0-12.7-5.7-24.5-15.3-32.4c49-4.4 87.3-45.5 87.3-95.6h67.5c3 15.5 4.5 31.6 4.5 48zM256 0C369.4 0 465.7 73.8 499.3 176H434.5c-5.3-14.9-14.1-28-25.4-38.5l5.2-10.3c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-3.5 7c-4.6-2-9.3-3.6-14.2-4.9V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v16.3c-4.4 .4-8.7 1-13 2l-4.7-9.5c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l3.6 7.3c-16.4 10.2-29.5 25.3-37.3 43.1c-7.8-17.9-20.9-32.9-37.3-43.1l3.6-7.3c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-4.7 9.5c-4.2-.9-8.6-1.6-13-2V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v19c-4.9 1.3-9.6 2.9-14.2 4.9l-3.5-7c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l5.2 10.3C91.5 148 82.7 161.1 77.5 176H12.7C46.3 73.8 142.6 0 256 0z\", \"M160 80c8.8 0 16 7.2 16 16v16.3c4.4 .4 8.7 1 13 2l4.7-9.5c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-3.6 7.3c16.4 10.2 29.5 25.3 37.3 43.1c7.8-17.9 20.9-32.9 37.3-43.1l-3.6-7.3c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l4.7 9.5c4.2-.9 8.6-1.6 13-2V96c0-8.8 7.2-16 16-16s16 7.2 16 16v19c4.9 1.3 9.6 2.9 14.2 4.9l3.5-7c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-5.2 10.3c11.3 10.5 20.1 23.7 25.4 38.5H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H440c0 50.1-38.4 91.2-87.3 95.6c9.6 7.9 15.3 19.7 15.3 32.4c0 15.9-9 30.4-23.1 37.5L364.5 398c5.5 6.9 4.4 17-2.5 22.5s-17 4.4-22.5-2.5l-23.9-29.9-7.3 3.6 10.5 26.3c3.3 8.2-.7 17.5-8.9 20.8s-17.5-.7-20.8-8.9l-10-24.9c-2.4 .7-4.8 1.3-7.2 1.8V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V406.8c-2.4-.5-4.8-1.1-7.2-1.8l-10 24.9c-3.3 8.2-12.6 12.2-20.8 8.9s-12.2-12.6-8.9-20.8l10.5-26.3-7.3-3.6L172.5 418c-5.5 6.9-15.6 8-22.5 2.5s-8-15.6-2.5-22.5l19.6-24.5C153 366.4 144 351.9 144 336c0-12.7 5.7-24.5 15.3-32.4C110.4 299.2 72 258.1 72 208H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H77.5c5.3-14.9 14.1-28 25.4-38.5l-5.2-10.3c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l3.5 7c4.6-2 9.3-3.6 14.2-4.9V96c0-8.8 7.2-16 16-16zM317.9 266.5c7.9 3.5 16.8 5.5 26.1 5.5c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 2.5 .1 4.9 .4 7.3c5.4 3.6 10.1 8.4 13.5 14.1l21.4 35.7c1.1 .6 1.9 1 2.6 1.3zM232 208c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64c9.3 0 18.1-2 26.1-5.5c.6-.3 1.5-.7 2.6-1.3L218 229.5c3.5-5.8 8.1-10.6 13.5-14.1c.3-2.4 .4-4.9 .4-7.3zm24 32c-4.3 0-8.3 2.3-10.5 6l-39.8 66.3-2.4 4-4.2 2.1-17.7 8.8c-3.4 1.7-5.5 5.1-5.5 8.8s2.1 7.2 5.5 8.8l53.1 26.5c13.5 6.8 29.4 6.8 42.9 0l53.1-26.5c3.4-1.7 5.5-5.1 5.5-8.8s-2.1-7.2-5.5-8.8l-17.7-8.8-4.2-2.1-2.4-4L266.5 246c-2.2-3.7-6.2-6-10.5-6zM144 216a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm200-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faCircleArrowDownRight = {\n prefix: 'fad',\n iconName: 'circle-arrow-down-right',\n icon: [512, 512, [], \"e0fa\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM192 368c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L151 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24H192z\", \"M344 368H192c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L151 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24z\"]]\n};\nvar faAlien8bit = {\n prefix: 'fad',\n iconName: 'alien-8bit',\n icon: [576, 512, [128126, \"alien-monster\"], \"f8f6\", [\"M96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h48c8.8 0 16 7.2 16 16v48H352V80c0-8.8 7.2-16 16-16h48V48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H416v32 32h48c8.8 0 16 7.2 16 16v48h32V144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16H512v80c0 8.8-7.2 16-16 16H448v80c0 8.8-7.2 16-16 16H384 336c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16h48V384H192v32h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H192 144c-8.8 0-16-7.2-16-16V384H80c-8.8 0-16-7.2-16-16V288H16c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v80H96V176c0-8.8 7.2-16 16-16h48V128 96H112c-8.8 0-16-7.2-16-16V48zm64 192v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm192 0v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16z\", \"M176 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176zm192 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H368z\"]]\n};\nvar faAlienMonster = faAlien8bit;\nvar faHandPointRibbon = {\n prefix: 'fad',\n iconName: 'hand-point-ribbon',\n icon: [448, 512, [], \"e1a6\", [\"M64 32C64 14.3 78.3 0 96 0s32 14.3 32 32L64 32zm0 208V160h64v80H64zm192-48c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192zm-64-64c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm160 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224zm-96 88l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H194.3c-42.4 0-83.1-16.9-113.1-46.9L69.5 453.5C45.5 429.5 32 396.9 32 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72z\", \"M176 112V48c0-8.8-7.2-16-16-16H11.8C5.3 32 0 37.3 0 43.8c0 3.9 1.9 7.5 5.1 9.7L43.6 80 5.1 106.5c-3.2 2.2-5.1 5.8-5.1 9.7C0 122.7 5.3 128 11.8 128H160c8.8 0 16-7.2 16-16z\"]]\n};\nvar faPoop = {\n prefix: 'fad',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", [\"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80H160c-35.3 0-64 28.7-64 64c0 5.5 .7 10.9 2 16H414c1.3-5.1 2-10.5 2-16c0-35.3-28.7-64-64-64h-5.5c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM394.3 240H117.7s0 0 0 0H104c-39.8 0-72 32.2-72 72c0 8.4 1.4 16.5 4.1 24H475.9c2.7-7.5 4.1-15.6 4.1-24c0-39.8-32.2-72-72-72H394.3s0 0 0 0zm58.9 128H58.7c.4 .3 .8 .7 1.3 1c-34.1 5.7-60 35.3-60 71c0 14.8 4.5 28.6 12.1 40H499.9c7.7-11.4 12.1-25.2 12.1-40c0-35.7-25.9-65.3-60-71c.4-.3 .8-.7 1.3-1zM440.2 512H71.8c.1 0 .1 0 .2 0H440c.1 0 .1 0 .2 0z\", \"M117.7 240c-9.4-8.3-16.4-19.4-19.7-32H414c-3.2 12.6-10.2 23.7-19.7 32H117.7zM58.7 368c-10.2-8.3-18.2-19.3-22.6-32H475.9c-4.5 12.7-12.4 23.7-22.6 32H58.7zM71.8 512c-24.9-.1-46.8-12.8-59.7-32H499.9c-12.9 19.2-34.8 31.9-59.7 32H71.8z\"]]\n};\nvar faObjectExclude = {\n prefix: 'fad',\n iconName: 'object-exclude',\n icon: [512, 512, [], \"e49c\", [\"M224 160c-35.3 0-64 28.7-64 64V352H288c35.3 0 64-28.7 64-64V160H224zm80 48v96H208V208h96z\", \"M64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h96v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V64c0-35.3-28.7-64-64-64H64zM352 160V288c0 35.3-28.7 64-64 64H160V224c0-35.3 28.7-64 64-64H352z\"]]\n};\nvar faTelescope = {\n prefix: 'fad',\n iconName: 'telescope',\n icon: [576, 512, [128301], \"e03e\", [\"M361 76.6c.7 2.4 1.7 4.8 3 7.1L460 250c.2 .4 .5 .8 .7 1.2l-77.5 41.6C377.8 253.9 344.4 224 304 224c-44.2 0-80 35.8-80 80c0 20.1 7.4 38.5 19.7 52.5l-5.8 14.2-88.4 47.4c-15.2 8.2-34.2 2.8-42.8-12.2l-.8-1.4L61.7 430.1c-11.5 6.6-26.2 2.7-32.8-8.8L3.1 376.4c-6.6-11.5-2.7-26.2 8.8-32.8l44.1-25.5-4-6.9c-8.5-14.8-4-33.7 10.4-42.9L361 76.6z\", \"M375.7 40c-15.3 8.8-20.6 28.4-11.7 43.7L460 250c8.8 15.3 28.4 20.5 43.7 11.7l55.4-32c15.3-8.8 20.5-28.4 11.7-43.7l-96-166.3C466 4.4 446.4-.8 431.1 8L375.7 40zM364.3 356.5C376.6 342.5 384 324.1 384 304c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 20.1 7.4 38.5 19.7 52.5L193.8 478.9c-5 12.3 .9 26.3 13.2 31.3s26.3-.9 31.3-13.2l47-115.3c6 1.5 12.3 2.2 18.8 2.2s12.8-.8 18.8-2.2l47 115.3c5 12.3 19 18.2 31.3 13.2s18.2-19 13.2-31.3L364.3 356.5zM272 304a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faLocationPin = {\n prefix: 'fad',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", [\"M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192z\", \"\"]]\n};\nvar faMapMarker = faLocationPin;\nvar faSquareList = {\n prefix: 'fad',\n iconName: 'square-list',\n icon: [448, 512, [], \"e489\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H192zM168 352c0 13.3 10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-13.3 0-24 10.7-24 24zm24-120c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H192z\", \"M168 160c0-13.3 10.7-24 24-24H352c13.3 0 24 10.7 24 24s-10.7 24-24 24H192c-13.3 0-24-10.7-24-24zm0 192c0-13.3 10.7-24 24-24H352c13.3 0 24 10.7 24 24s-10.7 24-24 24H192c-13.3 0-24-10.7-24-24zm24-120H352c13.3 0 24 10.7 24 24s-10.7 24-24 24H192c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faKaaba = {\n prefix: 'fad',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", [\"M60 120L288 48.8 516 120 288 191.2 60 120zM0 229.2l52.8 16.5c8.4 2.6 13.1 11.6 10.5 20s-11.6 13.1-20 10.5L0 262.8V229.2zm576 33.5l-43.2 13.5c-8.4 2.6-17.4-2.1-20-10.5s2.1-17.4 10.5-20L576 229.2v33.5zM96.7 276.2c2.6-8.4 11.6-13.1 20-10.5l64 20c8.4 2.6 13.1 11.6 10.5 20s-11.6 13.1-20 10.5l-64-20c-8.4-2.6-13.1-11.6-10.5-20zm382.5 0c2.6 8.4-2.1 17.4-10.5 20l-64 20c-8.4 2.6-17.4-2.1-20-10.5s2.1-17.4 10.5-20l64-20c8.4-2.6 17.4 2.1 20 10.5zm-254.5 40c2.6-8.4 11.6-13.1 20-10.5l38.5 12c3.1 1 6.4 1 9.5 0l38.5-12c8.4-2.6 17.4 2.1 20 10.5s-2.1 17.4-10.5 20l-38.5 12c-9.3 2.9-19.3 2.9-28.6 0l-38.5-12c-8.4-2.6-13.1-11.6-10.5-20z\", \"M60 120l228 71.2L516 120 288 48.8 60 120zM278.5 1.5c6.2-1.9 12.9-1.9 19.1 0l256 80C566.9 85.6 576 98 576 112v16 0 21.2L292.8 237.7c-3.1 1-6.4 1-9.5 0L0 149.2V128 112C0 98 9.1 85.6 22.5 81.5l256-80zm23.9 266.8L576 182.8v46.5l-52.8 16.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5L576 262.8V400c0 14-9.1 26.4-22.5 30.5l-256 80c-6.2 1.9-12.9 1.9-19.1 0l-256-80C9.1 426.4 0 414 0 400V262.8l43.2 13.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L0 229.2V182.8l273.7 85.5c9.3 2.9 19.3 2.9 28.6 0zm-185.5-2.6c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]]\n};\nvar faToiletPaper = {\n prefix: 'fad',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", [\"M20.2 495.8C25.8 505.8 36.5 512 48 512H317.9c22.3 0 45.4-12.1 55.4-36.1C388.7 439 416 350.8 416 192C416 86 459 0 512 0H160C107 0 64 86 64 192c0 85.3-.4 193.7-43.5 271.6c-5.9 9.9-6.1 22.1-.4 32.2zM128 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\", \"M512 384H399.6c9.1-47 16.4-110.1 16.4-192C416 86 459 0 512 0s96 86 96 192s-43 192-96 192zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64zM128 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faHelmetSafety = {\n prefix: 'fad',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", [\"M559.4 384H16.6C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6z\", \"M224 64c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v2.3 99.6c0 5.6 4.5 10.1 10.1 10.1c3.6 0 7-1.9 8.8-5.1l48-83.9C492.3 123.1 543.1 198.4 544 285.6l0 98.4H32V288c0-88.2 51-164.5 125.1-201l48 83.9c1.8 3.2 5.2 5.1 8.8 5.1c5.6 0 10.1-4.5 10.1-10.1V66.3 64z\"]]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faCommentCode = {\n prefix: 'fad',\n iconName: 'comment-code',\n icon: [512, 512, [], \"e147\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM217 193l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM329 159l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\", \"M217 159c9.4 9.4 9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0zm78.1 0c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faSimCards = {\n prefix: 'fad',\n iconName: 'sim-cards',\n icon: [448, 512, [], \"e251\", [\"M96 64c0-35.3 28.7-64 64-64H306.7c17 0 33.3 6.7 45.3 18.7L429.3 96c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64zm96 80c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H192z\", \"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm144 24c-17.7 0-32 14.3-32 32v16h48V144H192zM160 272h64 96 64V224H320 224 160v48zm224-96c0-17.7-14.3-32-32-32H336v48h48V176zM240 144v48h64V144H240zm96 160v48h16c17.7 0 32-14.3 32-32V304H336zm-32 0H240v48h64V304zm-96 0H160v16c0 17.7 14.3 32 32 32h16V304z\"]]\n};\nvar faStarship = {\n prefix: 'fad',\n iconName: 'starship',\n icon: [640, 512, [], \"e039\", [\"M448 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 256a192 192 0 1 0 0-384 192 192 0 1 0 0 384zM0 128c0 17.7 14.3 32 32 32H208c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 96 0 110.3 0 128zM32 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H208c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M129.1 216.8L64.1 160H137l50.4 44.1L269 186.4c-8.4 21.6-13 45.1-13 69.6s4.6 48 13 69.6l-81.6-17.7L137 352H64.1l64.9-56.8-1.8-.4C109 290.8 96 274.7 96 256s13-34.8 31.3-38.8l1.8-.4zM384 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faEject = {\n prefix: 'fad',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", [\"M0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\", \"M259.4 47.6C250.3 37.6 237.5 32 224 32s-26.3 5.6-35.4 15.6l-176 192c-12.9 14-16.2 34.3-8.6 51.8S29 320 48 320H400c19 0 36.3-11.2 43.9-28.7s4.3-37.7-8.6-51.8l-176-192z\"]]\n};\nvar faCircleRight = {\n prefix: 'fad',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1l99.9 107.1c3.5 3.8 5.5 8.7 5.5 13.8s-2 10.1-5.5 13.8L294.6 376.9c-4.2 4.5-10.1 7.1-16.3 7.1C266 384 256 374 256 361.7l0-57.7-96 0c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32l96 0 0-57.7c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.3 7.1z\", \"M394.5 242.2L294.6 135.1c-4.2-4.5-10.1-7.1-16.3-7.1C266 128 256 138 256 150.3l0 57.7-96 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l96 0 0 57.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.3-7.1l99.9-107.1c3.5-3.8 5.5-8.7 5.5-13.8s-2-10.1-5.5-13.8z\"]]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'fad',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", [\"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l77.1 44.1C350.6 254 320 307.4 320 368c0 54.2 24.5 102.7 63.1 135c-2 5.3-7.1 9-13.1 9c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faSeal = {\n prefix: 'fad',\n iconName: 'seal',\n icon: [512, 512, [], \"e241\", [\"M289.9 18.4c-18.7-18.7-49.1-18.7-67.9 0L176.5 64H112c-26.5 0-48 21.5-48 48v64.5L18.4 222.1c-18.7 18.7-18.7 49.1 0 67.9L64 335.5V400c0 26.5 21.5 48 48 48h64.5l45.6 45.6c18.7 18.7 49.1 18.7 67.9 0L335.5 448H400c26.5 0 48-21.5 48-48V335.5l45.6-45.6c18.7-18.7 18.7-49.1 0-67.9L448 176.5V112c0-26.5-21.5-48-48-48H335.5L289.9 18.4z\", \"\"]]\n};\nvar faUserCowboy = {\n prefix: 'fad',\n iconName: 'user-cowboy',\n icon: [448, 512, [], \"f8ea\", [\"M96 221.7c0 .8 0 1.5 0 2.3c0 70.7 57.3 128 128 128s128-57.3 128-128c0-.8 0-1.5 0-2.3C317.2 241.9 274 256 224 256s-93.2-14.1-128-34.3z\", \"M208.5 9.9C201.9 5.4 194 0 176 0c-35.2 0-58.3 58.1-72 110.4C131.6 120 171 128 224 128s92.4-8 120-17.6C330.3 58.1 307.2 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1s-10.8-2.8-15.5-6.1zM28.8 102.4c-4.7-6.3-13.3-8.2-20.2-4.6s-10.2 11.8-7.8 19.2c9.3 27.9 35 62.4 72.5 89.9c38 27.7 89.2 49.1 150.6 49.1s112.7-21.4 150.6-49.1c37.6-27.4 63.2-62 72.5-89.9c2.5-7.4-.8-15.6-7.8-19.2s-15.5-1.7-20.2 4.6c-5.6 7.5-22.6 22-55 34.7C332.2 149.6 286.2 160 224 160s-108.2-10.4-140.2-22.9c-32.4-12.7-49.4-27.2-55-34.7zM100.7 384c-48.4 0-89.3 36.1-95.3 84.1l-1 7.9C2.1 495.1 17 512 36.2 512H411.8c19.2 0 34.1-16.9 31.8-36l-1-7.9c-6-48-46.8-84.1-95.3-84.1H100.7z\"]]\n};\nvar faHexagonVerticalNft = {\n prefix: 'fad',\n iconName: 'hexagon-vertical-nft',\n icon: [448, 512, [], \"e505\", [\"M260.9 495.5c-22.3 12.9-49.7 12.9-72 0L36 407.2C13.7 394.4 0 370.6 0 344.9V168.3c0-25.7 13.7-49.5 36-62.4L188.9 17.7c22.3-12.9 49.7-12.9 72 0l152.9 88.3c22.3 12.9 36 36.6 36 62.4V344.9c0 25.7-13.7 49.5-36 62.4L260.9 495.5zM95.8 170.6c-2.8-7.1-10.3-11.2-17.9-9.8s-13 8-13 15.7v160c0 8.8 7.2 16 16 16s16-7.2 16-16V259.7l33.1 82.9c2.8 7.1 10.3 11.2 17.9 9.8s13-8 13-15.7v-160c0-8.8-7.2-16-16-16s-16 7.2-16 16v76.9L95.8 170.6zm97.1 5.9v80 80c0 8.8 7.2 16 16 16s16-7.2 16-16v-64h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-32v-48h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v144c0 8.8 7.2 16 16 16s16-7.2 16-16v-144h16c8.8 0 16-7.2 16-16s-7.2-16-16-16h-64z\", \"M77.9 160.9c7.5-1.5 15 2.6 17.9 9.8l33.1 82.9V176.6c0-8.8 7.2-16 16-16s16 7.2 16 16v160c0 7.7-5.4 14.3-13 15.7s-15-2.6-17.9-9.8L96.9 259.7v76.9c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.7 5.4-14.3 13-15.7zm115 15.7c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v64c0 8.8-7.2 16-16 16s-16-7.2-16-16v-80-80zm112-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16h-16v144c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144h-16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faFaceRollingEyes = {\n prefix: 'fad',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 224a64 64 0 1 1 128 0A64 64 0 1 1 96 224zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M195.6 180.4c0 19.6-15.9 35.6-35.6 35.6s-35.6-15.9-35.6-35.6c0-3 .4-6 1.1-8.8c9.6-7.3 21.5-11.6 34.5-11.6s24.9 4.3 34.5 11.6c.7 2.8 1.1 5.8 1.1 8.8zM384 184c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-6.9 2.2-13.2 5.8-18.4c8-3.6 16.8-5.6 26.2-5.6s18.2 2 26.2 5.6c3.7 5.2 5.8 11.6 5.8 18.4z\"]]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faBreadLoaf = {\n prefix: 'fad',\n iconName: 'bread-loaf',\n icon: [640, 512, [127838], \"f7eb\", [\"M240 32C176 32 0 64 0 192c0 35.3 28.7 64 64 64V432c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C480 64 304 32 240 32z\", \"M368 480H528c26.5 0 48-21.5 48-48V256c35.3 0 64-28.7 64-64C640 64 464 32 400 32H240c64 0 240 32 240 160c0 35.3-28.7 64-64 64V432c0 26.5-21.5 48-48 48z\"]]\n};\nvar faRingsWedding = {\n prefix: 'fad',\n iconName: 'rings-wedding',\n icon: [512, 512, [], \"f81b\", [\"M128 0h96c6.1 0 11.6 3.4 14.3 8.8l16 32c2.3 4.5 2.3 9.8 0 14.3l-24.6 49.2c-16.9-5.4-35-8.3-53.7-8.3s-36.8 2.9-53.7 8.3L97.7 55.2c-2.3-4.5-2.3-9.8 0-14.3l16-32C116.4 3.4 121.9 0 128 0zm32 336c0-64.4 34.5-120.7 86.1-151.3c16.8 13.5 29.7 31.8 36.5 52.9c-34.9 19-58.6 56-58.6 98.5c0 61.9 50.1 112 112 112s112-50.1 112-112c0-46.1-27.8-85.7-67.6-102.9c-5-26.2-14.8-50.7-28.6-72.4C441.6 168.7 512 244.1 512 336c0 97.2-78.8 176-176 176s-176-78.8-176-176z\", \"M176 160c-61.9 0-112 50.1-112 112c0 58.7 45.1 106.8 102.5 111.6c6.5 23.3 17.7 44.6 32.5 62.9c-7.5 1-15.2 1.5-23 1.5C78.8 448 0 369.2 0 272S78.8 96 176 96s176 78.8 176 176c0 52.3-22.8 99.2-59 131.5c-18.7-11.9-32.1-31.5-35.9-54.2C276.2 329.2 288 302 288 272c0-61.9-50.1-112-112-112z\"]]\n};\nvar faObjectGroup = {\n prefix: 'fad',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", [\"M0 64c0 23.7 12.9 44.4 32 55.4V392.6C12.9 403.6 0 424.3 0 448c0 35.3 28.7 64 64 64c23.7 0 44.4-12.9 55.4-32H456.6c11.1 19.1 31.7 32 55.4 32c35.3 0 64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V119.4c19.1-11.1 32-31.7 32-55.4c0-35.3-28.7-64-64-64c-23.7 0-44.4 12.9-55.4 32H119.4C108.4 12.9 87.7 0 64 0C28.7 0 0 28.7 0 64zM480 392.6c-9.7 5.6-17.8 13.7-23.4 23.4H119.4c-5.6-9.7-13.7-17.8-23.4-23.4V119.4c9.7-5.6 17.8-13.7 23.4-23.4H456.6c5.6 9.7 13.7 17.8 23.4 23.4V392.6z\", \"M160 128c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H160zm96 224c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H352v32c0 35.3-28.7 64-64 64H256v32z\"]]\n};\nvar faFrenchFries = {\n prefix: 'fad',\n iconName: 'french-fries',\n icon: [384, 512, [127839], \"f803\", [\"M183.2 1.7c-5-2.5-10.8-2.2-15.6 .7S160 10.5 160 16V206.7l0 0v63.2c9.2 1.4 19.8 2.2 32 2.2s22.8-.8 32-2.2V31.8c-.1-6-3.5-11.4-8.8-14.1l-32-16zM128 14.7l-.2-1.3c-.8-5-4-9.3-8.5-11.6s-9.9-2.3-14.4-.1l-32 16c-6.3 3.1-9.8 10-8.6 16.9l32 192c.5 1.2 .9 2.3 1.2 3.4c2 6.3 6.7 15.9 18.7 24.3c3.2 2.2 7.1 4.5 11.8 6.6V14.7zM40.3 85.6L19.9 80.5c-5.3-1.3-10.8 .1-14.8 3.8S-.7 93.4 .2 98.8l16.5 93.4c1.6-.1 3.1-.2 4.7-.2H48c3.6 0 7 .4 10.2 1L40.3 85.6zM383.8 98.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8L346.2 85l-19 107.8c2.8-.5 5.7-.8 8.8-.8h26.6c1.6 0 3.2 .1 4.7 .2l16.5-93.4zm-64-48c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8l-32 8C262 42 257.3 47 256.2 53.2l-.2 1.4V261c4.8-2.1 8.7-4.4 11.8-6.6c12-8.4 16.7-18 18.7-24.3c.7-2.3 1.7-4.7 2.8-7L319.8 50.8z\", \"M58.1 487.5L.6 250.5c-.4-1.7-.6-3.3-.6-5.1C0 233.6 9.6 224 21.4 224H48c8.8 0 16.3 7.2 18.9 15.7C74.3 263 100.3 304 192 304s117.7-41 125.1-64.3c2.7-8.4 10.1-15.7 18.9-15.7h26.6c11.8 0 21.4 9.6 21.4 21.4c0 1.7-.2 3.4-.6 5.1l-57.5 237c-3.5 14.4-16.3 24.5-31.1 24.5H89.2c-14.8 0-27.6-10.1-31.1-24.5z\"]]\n};\nvar faChartLine = {\n prefix: 'fad',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0L240 221.3l-89.4 89.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l112-112c12.5-12.5 32.8-12.5 45.3 0L320 210.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faLineChart = faChartLine;\nvar faCalendarArrowDown = {\n prefix: 'fad',\n iconName: 'calendar-arrow-down',\n icon: [448, 512, [\"calendar-download\"], \"e0d0\", [\"M448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM248 264V366.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V264c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM248 264c0-13.3-10.7-24-24-24s-24 10.7-24 24V366.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V264z\"]]\n};\nvar faCalendarDownload = faCalendarArrowDown;\nvar faSendBack = {\n prefix: 'fad',\n iconName: 'send-back',\n icon: [640, 512, [], \"f87e\", [\"M64 64V192H192V64H64zM0 64C0 28.7 28.7 0 64 0H192c35.3 0 64 28.7 64 64V192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM448 320V448H576V320H448zm-64 0c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H448c-35.3 0-64-28.7-64-64V320z\", \"M160 352V256h32c35.3 0 64-28.7 64-64V96H416c35.3 0 64 28.7 64 64v96H448c-35.3 0-64 28.7-64 64v96H224c-35.3 0-64-28.7-64-64z\"]]\n};\nvar faMaskVentilator = {\n prefix: 'fad',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", [\"M454.5 128c9.8 15.2 18.6 31.5 26.1 48H584c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9l-31.8 8c-5.8 20.6-15.5 39.6-28.2 56.5l71.6-17.9C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H454.5zM162.2 403.3c-12.6-16.9-22.1-36-27.9-56.5l-31.8-7.9C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H159.1c7.5-16.5 16.2-32.8 26-48H56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l71.3 17.8zM320 288c-17.7 0-32 14.3-32 32V512h64V320c0-17.7-14.3-32-32-32z\", \"M128 300.8C128 201.9 214 32 320 32c105 0 192 169.9 192 268.8c0 78.6-53.9 144.5-128 169V393.2c19.6-16.3 32-40.1 32-66.8c0-49.5-43.5-134.4-96-134.4c-53 0-96 84.9-96 134.4c0 26.6 12.3 50.5 32 66.9v76.6c-75-24.5-128-91-128-169.1z\"]]\n};\nvar faSignatureLock = {\n prefix: 'fad',\n iconName: 'signature-lock',\n icon: [640, 512, [], \"e3ca\", [\"M128 96c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-53 43-96 96-96s96 43 96 96v7.8c0 20.8-1.2 41.6-3.6 62.3l122.4-36.7c11.4-3.4 23.8-.2 32.2 8.4s11.2 21.1 7.4 32.4l-18 53.9h52.7c-.7 5.2-1.1 10.6-1.1 16v24.6c-9.7 5.6-17.8 13.7-23.4 23.4H320c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l12.5-37.5-94.4 28.3c-11.9 52.8-31.6 103.5-58.4 150.5l-13.9 24.3C122.5 466.1 98.5 480 72.5 480C32.5 480 0 447.5 0 407.5V335.6c0-42.4 27.8-79.8 68.4-92l84.4-25.3c4.8-27.2 7.1-54.9 7.1-82.5V128c0-17.7-14.3-32-32-32zM384 368v48H187.5c8.2-15.7 15.6-31.7 22.3-48H384zM135.8 290.3L86.8 305C73.3 309 64 321.5 64 335.6v71.9c0 4.7 3.8 8.5 8.5 8.5c3 0 5.9-1.6 7.4-4.3l13.9-24.3c17.6-30.8 31.7-63.4 42.1-97.2z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faArrowRight = {\n prefix: 'fad',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", [\"M338.7 224L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0 32-32-32-32z\", \"M438.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L370.7 256 233.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"]]\n};\nvar faSignsPost = {\n prefix: 'fad',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", [\"M224 32V64h64V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zm64 160H224v32h64V192zm0 288V352H224V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M64 64H441.4c4.2 0 8.3 1.7 11.3 4.7l48 48c6.2 6.2 6.2 16.4 0 22.6l-48 48c-3 3-7.1 4.7-11.3 4.7H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM448 224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H70.6c-4.2 0-8.3-1.7-11.3-4.7l-48-48c-6.2-6.2-6.2-16.4 0-22.6l48-48c3-3 7.1-4.7 11.3-4.7H448z\"]]\n};\nvar faMapSigns = faSignsPost;\nvar faOctagonPlus = {\n prefix: 'fad',\n iconName: 'octagon-plus',\n icon: [512, 512, [\"plus-octagon\"], \"f301\", [\"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\", \"M232 280v64c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faPlusOctagon = faOctagonPlus;\nvar faCashRegister = {\n prefix: 'fad',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", [\"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32h64V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 168a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\", \"M0 448V378.4c0-4.8 .4-9.6 1.1-14.4L23.8 214.4C28.5 183.1 55.4 160 87 160H425c31.6 0 58.5 23.1 63.3 54.4l22.7 149.6c.7 4.8 1.1 9.6 1.1 14.4V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm64-16c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm48-216a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]]\n};\nvar faPersonCircleQuestion = {\n prefix: 'fad',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c1.4 2.3 3.1 4.5 4.9 6.3c7.9-23 20.5-43.9 36.6-61.5l-44.9-74.7c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM409.6 280c-23 0-41.6 18.6-41.6 41.6l0 6.4c0 8.8 7.2 16 16 16s16-7.2 16-16l0-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6z\"]]\n};\nvar faMelonSlice = {\n prefix: 'fad',\n iconName: 'melon-slice',\n icon: [512, 512, [], \"e311\", [\"M385.2 16.6c-.7 .5-1.3 1-1.9 1.6L321.6 79.8c-3.9 3.9-5.4 9.4-4.5 14.8c1.9 10.8 2.9 22 2.9 33.3c0 106-86 192-192 192c-11.4 0-22.5-1-33.3-2.9c-5.4-.9-11 .6-14.8 4.5L18.2 383.3c-.6 .6-1.1 1.2-1.6 1.9c8.3-2.7 17.8-.8 24.4 5.9c96.9 96.9 253.6 97.1 350.4 .3s96.6-253.5-.3-350.4c-6.6-6.6-8.6-16.1-5.9-24.4z\", \"M7 391c9.4-9.4 24.6-9.4 33.9 0c96.9 96.9 253.6 97.1 350.4 .3s96.6-253.5-.3-350.4c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c115.6 115.6 116 302.6 .3 418.3S122.6 540.5 7 425c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faSpaceStationMoon = {\n prefix: 'fad',\n iconName: 'space-station-moon',\n icon: [512, 512, [], \"e033\", [\"M512 256c0 7.8-.3 15.5-1 23.1C438.8 304.7 351.2 320 256 320s-182.8-15.3-255-40.9c-.7-7.6-1-15.3-1-23.1C0 114.6 114.6 0 256 0S512 114.6 512 256zM256 512C134.9 512 33.4 427.9 6.8 314.8C79.4 338.4 164.7 352 256 352s176.6-13.6 249.2-37.2C478.6 427.9 377.1 512 256 512zM192 240a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M224 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM6.8 314.8C4.1 303.2 2.1 291.3 1 279.1C73.2 304.7 160.8 320 256 320s182.8-15.3 255-40.9c-1.1 12.2-3 24.1-5.8 35.8C432.6 338.4 347.3 352 256 352s-176.6-13.6-249.2-37.2z\"]]\n};\nvar faMessageSmile = {\n prefix: 'fad',\n iconName: 'message-smile',\n icon: [512, 512, [\"comment-alt-smile\"], \"f4aa\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM192 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM150.5 238.1c-9.9 8.8-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32c-8.8-9.9-24-10.7-33.9-1.9z\", \"M224 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184.4 240c-8.8-9.9-24-10.7-33.9-1.9s-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32z\"]]\n};\nvar faCommentAltSmile = faMessageSmile;\nvar faCupStraw = {\n prefix: 'fad',\n iconName: 'cup-straw',\n icon: [384, 512, [129380], \"e363\", [\"M59.7 468.8L32 192H352L324.3 468.8c-2.5 24.5-23.1 43.2-47.8 43.2H107.4c-24.7 0-45.3-18.7-47.8-43.2z\", \"M249.3 0c-26 0-48.6 17.9-54.5 43.2l-20 84.8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3z\"]]\n};\nvar faLeftFromLine = {\n prefix: 'fad',\n iconName: 'left-from-line',\n icon: [448, 512, [\"arrow-alt-from-right\"], \"f348\", [\"M416 448c-17.7 0-32-14.3-32-32l0-320c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32z\", \"M11.3 283.3L134.1 406.1c6.4 6.4 15 9.9 24 9.9c18.7 0 33.9-15.2 33.9-33.9l0-62.1 128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-128 0 0-62.1c0-18.7-15.2-33.9-33.9-33.9c-9 0-17.6 3.6-24 9.9L11.3 228.7C4.1 235.9 0 245.8 0 256s4.1 20.1 11.3 27.3z\"]]\n};\nvar faArrowAltFromRight = faLeftFromLine;\nvar faH = {\n prefix: 'fad',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", [\"M320 256l0 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V192L64 192 64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-192 256 0z\", \"\"]]\n};\nvar faBasketShoppingSimple = {\n prefix: 'fad',\n iconName: 'basket-shopping-simple',\n icon: [576, 512, [\"shopping-basket-alt\"], \"e0af\", [\"M393 192l33.1 73.8c5.4 12.1 19.6 17.5 31.7 12.1s17.5-19.6 12.1-31.7L445.6 192H544c17.7 0 32 14.3 32 32s-14.3 32-32 32L492.1 463.5C485 492 459.4 512 430 512H146c-29.4 0-55-20-62.1-48.5L32 256c-17.7 0-32-14.3-32-32s14.3-32 32-32h98.4l-24.3 54.2c-5.4 12.1 0 26.3 12.1 31.7s26.3 0 31.7-12.1L183 192H393z\", \"M253.9 33.8c5.4-12.1 0-26.3-12.1-31.7s-26.3 0-31.7 12.1l-104 232c-5.4 12.1 0 26.3 12.1 31.7s26.3 0 31.7-12.1l104-232zm68.2 0l104 232c5.4 12.1 19.6 17.5 31.7 12.1s17.5-19.6 12.1-31.7l-104-232C360.5 2.1 346.3-3.3 334.2 2.1s-17.5 19.6-12.1 31.7z\"]]\n};\nvar faShoppingBasketAlt = faBasketShoppingSimple;\nvar faHandsHoldingHeart = {\n prefix: 'fad',\n iconName: 'hands-holding-heart',\n icon: [640, 512, [\"hands-heart\"], \"f4c3\", [\"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"M256.6 0C214.3 0 180 34.3 180 76.6c0 20.3 8.1 39.8 22.4 54.1L305.9 234.1c7.8 7.8 20.5 7.8 28.3 0L437.6 130.7C451.9 116.4 460 96.9 460 76.6C460 34.3 425.7 0 383.4 0c-20.3 0-39.8 8.1-54.1 22.4L320 31.7l-9.3-9.3C296.4 8.1 276.9 0 256.6 0z\"]]\n};\nvar faHandsHeart = faHandsHoldingHeart;\nvar faClockNine = {\n prefix: 'fad',\n iconName: 'clock-nine',\n icon: [512, 512, [], \"e34c\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V256c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24V256c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faTarp = {\n prefix: 'fad',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", [\"M512 64c35.3 0 64 28.7 64 64V288l-128 0c-17.7 0-32 14.3-32 32l0 128L64 448c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H512zM96 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M576 288L416 448l0-128c0-17.7 14.3-32 32-32l128 0z\"]]\n};\nvar faFaceSleepy = {\n prefix: 'fad',\n iconName: 'face-sleepy',\n icon: [512, 512, [], \"e38e\", [\"M256 512c47.1 0 91.2-12.7 129.1-34.9c-.7-4.3-1.1-8.7-1.1-13.1c0-16.3-.2-37.2-6.5-56.6c-5.9-18.2-16.4-33.3-37.4-41.7c-14.2-5.7-22.4-20.7-19.5-35.8s16.1-25.9 31.4-25.9c31.6 0 77.6 14.7 115.4 39.1c7.6 4.9 15.3 10.5 22.7 16.7c14.1-31.7 22-66.9 22-103.9C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM194.3 405.9c-12.3 4.2-25.1-5.3-18.3-16.4C191.1 364.8 221.3 348 256 348s64.9 16.8 80.1 41.5c6.8 11.1-6 20.7-18.3 16.4c-18.9-6.5-39.8-10.1-61.8-10.1s-42.9 3.6-61.8 10.1zM387.2 246.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2z\", \"M195.2 246.4c-17.6 23.5-52.8 23.5-70.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2zm192 0c-17.6 23.5-52.8 23.5-70.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2zM512 464c0-80-112-128-160-128c64 25.6 64 96 64 128c0 26.5 21.5 48 48 48s48-21.5 48-48z\"]]\n};\nvar faHandHorns = {\n prefix: 'fad',\n iconName: 'hand-horns',\n icon: [384, 512, [], \"e1a9\", [\"M32 32C32 14.3 46.3 0 64 0S96 14.3 96 32V240H32V32zM320 96c0-17.7 14.3-32 32-32s32 14.3 32 32v96 96 64c0 88.4-71.6 160-160 160H162.3c-42.4 0-83.1-16.9-113.1-46.9L37.5 453.5C13.5 429.5 0 396.9 0 363V336c0-35.3 28.7-64 64-64h88c22.1 0 40 17.9 40 40s-17.9 40-40 40H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c35.3 0 64-28.7 64-64V192 96z\", \"M160 128c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zm96 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-17.7-14.3-32-32-32z\"]]\n};\nvar faScrewdriverWrench = {\n prefix: 'fad',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", [\"M168.4 247.6L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7zM429 274.5c49-23 83-72.8 83-130.5c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144c0 .3 0 .5 0 .8l85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M47 7c8.5-8.5 22-9.4 31.6-2.1l104 80c5.9 4.5 9.4 11.6 9.4 19v54.1l109 109c29-14.7 65.4-10 89.6 14.3l112 112c12.5 12.5 12.5 32.8 0 45.3l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-112-112c-24.2-24.2-29-60.6-14.3-89.6l-109-109H104c-7.5 0-14.5-3.5-19-9.4L5 78.6C-2.4 69.1-1.5 55.6 7 47L47 7z\"]]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'fad',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", [\"M49 15C39.6 5.7 24.4 5.7 15 15S5.7 39.6 15 49l63 63H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96c13.3 0 24-10.7 24-24V40c0-13.3-10.7-24-24-24s-24 10.7-24 24V78.1L49 15zM591 15l-63 63V40c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H561.9l63-63c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM15 497c9.4 9.4 24.6 9.4 33.9 0l63-63V472c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H78.1L15 463c-9.4 9.4-9.4 24.6 0 33.9zm576 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-63-63H600c13.3 0 24-10.7 24-24s-10.7-24-24-24H504c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V433.9l63 63z\", \"M133.5 243.9C158.6 193.6 222.7 112 320 112s161.4 81.6 186.5 131.9c3.8 7.6 3.8 16.5 0 24.2C481.4 318.4 417.3 400 320 400s-161.4-81.6-186.5-131.9c-3.8-7.6-3.8-16.5 0-24.2zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faCircleThreeQuarters = {\n prefix: 'fad',\n iconName: 'circle-three-quarters',\n icon: [512, 512, [], \"e125\", [\"M512 256C512 114.6 397.4 0 256 0V256H512z\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256H256V0z\"]]\n};\nvar faTrophyStar = {\n prefix: 'fad',\n iconName: 'trophy-star',\n icon: [576, 512, [\"trophy-alt\"], \"f2eb\", [\"M446.1 64c-1 16.9-2.5 32.9-4.3 48h85.3c-7.5 97.9-60.9 150.6-114.6 179.9c-11 6-22 11-32.6 15.2c-24.5 37.8-50.6 57.4-68.6 67.3c7.5-1 17.8-2.7 30-5.4c25.5-5.7 59.8-16.1 94.3-35C505.6 295.7 576 222.5 576 88c0-13.3-10.7-24-24-24H446.1zM264.7 374.5c-18.1-9.9-44.1-29.5-68.6-67.3c-10.6-4.2-21.6-9.2-32.6-15.2C109.8 262.6 56.4 209.9 48.9 112h85.3c-1.8-15.1-3.3-31.1-4.3-48H24C10.7 64 0 74.7 0 88C0 222.5 70.4 295.7 140.5 334.1c34.5 18.9 68.8 29.3 94.3 35c12.2 2.7 22.5 4.4 30 5.4zM295.2 86.5c-2.9-5.9-11.4-5.9-14.3 0l-19.2 38.9c-1.2 2.4-3.4 4-6 4.4L212.7 136c-6.6 1-9.2 9-4.4 13.6l31 30.2c1.9 1.8 2.7 4.5 2.3 7.1l-7.3 42.7c-1.1 6.5 5.7 11.5 11.6 8.4L284.3 218c2.3-1.2 5.1-1.2 7.4 0l38.4 20.2c5.9 3.1 12.7-1.9 11.6-8.4L334.4 187c-.4-2.6 .4-5.2 2.3-7.1l31-30.2c4.7-4.6 2.1-12.7-4.4-13.6l-42.9-6.2c-2.6-.4-4.9-2-6-4.4L295.2 86.5z\", \"M235.2 353.4c12.2 10.8 20.8 25.7 20.8 42V400c0 26.5-21.5 48-48 48H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H368c-26.5 0-48-21.5-48-48v-4.5c0-16.3 8.6-31.2 20.8-42C383.8 315.3 438.7 231 447 48c1.2-26.5-20.4-48-47-48H176c-26.5 0-48.1 21.6-47 48c8.2 183 63.2 267.2 106.2 305.4zm60-266.9l19.2 38.9c1.2 2.4 3.4 4 6 4.4l42.9 6.2c6.6 1 9.2 9 4.4 13.6l-31 30.2c-1.9 1.8-2.7 4.5-2.3 7.1l7.3 42.7c1.1 6.5-5.7 11.5-11.6 8.4L291.7 218c-2.3-1.2-5.1-1.2-7.4 0l-38.4 20.2c-5.9 3.1-12.7-1.9-11.6-8.4l7.3-42.7c.4-2.6-.4-5.2-2.3-7.1l-31-30.2c-4.7-4.6-2.1-12.7 4.4-13.6l42.9-6.2c2.6-.4 4.9-2 6-4.4l19.2-38.9c2.9-5.9 11.4-5.9 14.3 0z\"]]\n};\nvar faTrophyAlt = faTrophyStar;\nvar faPlugCircleBolt = {\n prefix: 'fad',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", [\"M128 32v96H64V32C64 14.3 78.3 0 96 0s32 14.3 32 32zm192 0v96H256V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32c0 2.3-.3 4.6-.7 6.8C309.8 220 256 287.7 256 368c0 11.4 1.1 22.5 3.1 33.3c-11.1 5.1-22.9 9-35.1 11.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm194.5-66.2c2.8-5 1.7-11.1-2.6-14.9s-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H452.4l30.1-54.2z\"]]\n};\nvar faFaceThermometer = {\n prefix: 'fad',\n iconName: 'face-thermometer',\n icon: [576, 512, [], \"e39a\", [\"M544 256c0 141.4-114.6 256-256 256S32 397.4 32 256S146.6 0 288 0C400 0 495.2 72 530 172.2c-14-4.1-29.8-.7-41 10.2l-150.8 146c-14.9-5.2-31.6-8.4-50.2-8.4c-55.1 0-93.8 27.9-116.1 53.5c-5.8 6.7-5.1 16.8 1.6 22.6s16.8 5.1 22.6-1.6C214 373.8 244.6 352 288 352s74 21.8 91.9 42.5c5.8 6.7 15.9 7.4 22.6 1.6c5.2-4.5 6.8-11.6 4.5-17.7l136.8-132c.1 3.2 .2 6.4 .2 9.6zM240.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M548 182.8c-16.2-16.2-42.5-16.5-59-.5l-150.8 146c29.2 10.2 51.2 28.2 65.9 45.2c1.3 1.5 2.2 3.1 2.9 4.8l25.7-24.7-25.1-25.1c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l25.4 25.4 15.3-14.8-25.7-25.7c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l26 26 15.3-14.8-26.3-26.3c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l26.6 26.6 15.3-14.8-26.9-26.9c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l27.2 27.2c16.7-16.4 16.9-43.3 .3-59.8zM240.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faGridRound4 = {\n prefix: 'fad',\n iconName: 'grid-round-4',\n icon: [448, 512, [], \"e5dd\", [\"M119.5 76.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM44.8 151.5a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 238.9a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zM164.3 270.9a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm74.7-74.7a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm44.8 194.1a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zM358.4 76.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm44.8 194.1a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6z\", \"M44.8 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 238.9a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm74.7-74.7a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm44.8 194.1a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zM238.9 76.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm44.8 194.1a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm74.7-74.7a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm44.8 194.1a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6z\"]]\n};\nvar faShirtRunning = {\n prefix: 'fad',\n iconName: 'shirt-running',\n icon: [384, 512, [], \"e3c8\", [\"M80 0c17.7 0 32 14.3 32 32V80c0 44.2 35.8 80 80 80s80-35.8 80-80V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64c0 33.3 2.6 61.5 6.5 85.2L0 393.8V282.5c0-17 6.7-33.5 14.7-48.4C28.8 207.6 48 155 48 64V32C48 14.3 62.3 0 80 0zM3.8 469.8L360.4 215c3 7.5 6 13.8 8.9 19c8 15 14.7 31.5 14.7 48.4V448c0 35.3-28.7 64-64 64H64c-27.7 0-51.3-17.6-60.2-42.2z\", \"M342.5 149.2L0 393.8V448c0 7.6 1.3 15 3.8 21.8L360.4 215c-6.6-16.2-13.2-37.9-17.9-65.9z\"]]\n};\nvar faBookCircleArrowUp = {\n prefix: 'fad',\n iconName: 'book-circle-arrow-up',\n icon: [640, 512, [], \"e0bd\", [\"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V198.6C374.1 219.5 320 287.4 320 368c0 5.4 .2 10.7 .7 16H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H339.2c13.1 25.6 32.2 47.6 55.6 64H384 96c-53 0-96-43-96-96V96z\", \"M640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM428.7 348.7l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6l0 89.4c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-89.4-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]]\n};\nvar faFaceNauseated = {\n prefix: 'fad',\n iconName: 'face-nauseated',\n icon: [512, 512, [], \"e381\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm79.6-336a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-12.3-84.7l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM168 282.7c19.5 11.3 33.8 30.5 38.4 53.3h99.2c4.6-22.8 18.9-42 38.4-53.3c7.7-4.4 17.4-1.8 21.9 5.8s1.8 17.4-5.8 21.9c-14.4 8.3-24 23.8-24 41.6s9.6 33.3 24 41.6c7.6 4.4 10.3 14.2 5.8 21.9s-14.2 10.3-21.9 5.8c-19.5-11.3-33.8-30.5-38.4-53.3H206.4c-4.6 22.8-18.9 42-38.4 53.3c-7.6 4.4-17.4 1.8-21.9-5.8s-1.8-17.4 5.8-21.9c14.4-8.3 24-23.8 24-41.6s-9.6-33.3-24-41.6c-7.6-4.4-10.3-14.2-5.8-21.9s14.2-10.3 21.9-5.8z\", \"M195.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zM175.6 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-18.9-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.1 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]]\n};\nvar faHeart = {\n prefix: 'fad',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", [\"M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z\", \"\"]]\n};\nvar faFileChartPie = {\n prefix: 'fad',\n iconName: 'file-chart-pie',\n icon: [384, 512, [], \"f65a\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM296 320c8.8 0 16.1-7.2 14.9-16c-7.1-53.5-49.5-95.9-103-103c-8.8-1.2-16 6.1-16 14.9v88c0 8.8 7.2 16 16 16h88zM160 230c0-10.1-9.3-17.7-18.8-14.1C96.1 233.1 64 276.8 64 328c0 66.3 53.7 120 120 120c51.2 0 94.9-32.1 112.1-77.2c3.6-9.5-4-18.8-14.1-18.8H176c-8.8 0-16-7.2-16-16V230z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM141.2 215.9c9.5-3.6 18.8 4 18.8 14.1V336c0 8.8 7.2 16 16 16H282c10.1 0 17.7 9.3 14.1 18.8C278.9 415.9 235.2 448 184 448c-66.3 0-120-53.7-120-120c0-51.2 32.1-94.9 77.2-112.1z\"]]\n};\nvar faMarsAndVenus = {\n prefix: 'fad',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", [\"M192 224a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M337.8 14.8C341.5 5.8 350.3 0 360 0H472c13.3 0 24 10.7 24 24V136c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-24.7 24.7C407 163.3 416 192.6 416 224c0 80.2-59.1 146.7-136.1 158.2c0 .6 .1 1.2 .1 1.8v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l-24 0-24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V463v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V459v-.2-.2-.2-.2-.2-.2-.2-.2V457v-.2-.2-.2-.2V456H208c-13.3 0-24-10.7-24-24s10.7-24 24-24h24v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.3-.4-.4-.4-.4V393v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V388v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V384c0-.6 0-1.2 .1-1.8C155.1 370.7 96 304.2 96 224c0-88.4 71.6-160 160-160c39.6 0 75.9 14.4 103.8 38.2L382.1 80 343 41c-6.9-6.9-8.9-17.2-5.2-26.2zM448 48l0 0h0v0zM256 488h24c0 13.3-10.7 24-24 24s-24-10.7-24-24h24zm96-264a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]]\n};\nvar faHouseUser = {\n prefix: 'fad',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", [\"M64 270.5L64.1 448c0 35.3 28.7 64 64 64H448.5c35.4 0 64.1-28.7 64-64.1l-.4-177.3L288 74.5 64 270.5zM288 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9l256 224c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224zM224 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm32 96h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\"]]\n};\nvar faHomeUser = faHouseUser;\nvar faCircleArrowDownLeft = {\n prefix: 'fad',\n iconName: 'circle-arrow-down-left',\n icon: [512, 512, [], \"e0f9\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm64-144c13.3 0 24-10.7 24-24s-10.7-24-24-24H225.9L361 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24H320z\", \"M168 368H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H225.9L361 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24z\"]]\n};\nvar faDumpsterFire = {\n prefix: 'fad',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", [\"M48 32h92.5L114.9 160H32c-9.9 0-19.2-4.5-25.2-12.3S-1.4 129.8 1 120.2l16-64C20.5 42 33.3 32 48 32zM272 160H147.5L173.1 32H272V160zm32 0V32h98.9l14.4 72.1c-1.7 1.1-3.3 2.4-4.8 3.8c-18.4 16.4-35.4 34-50.5 52.1H304zm209.9-23.7c-1.7 1.6-3.4 3.2-5 4.8C498 129.6 486.7 118.6 475 108c-7.6-6.9-17-10.8-26.6-11.8L435.5 32H528c14.7 0 27.5 10 31 24.2l16 64c1.2 4.8 1.3 9.8 .2 14.6c-17.8-14.7-44.1-14.2-61.3 1.5zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\", \"M453.5 131.8c-5.6-5-14.2-5-19.8 0c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 64.2-32.4 90.6C320 405.8 390.3 480 480 480c88.7 0 160-74.1 160-161.9c0-20.2-9.6-48.9-24.2-76.9c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96zM32 192l4 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H44L64 448c0 17.7 14.3 32 32 32s32-14.3 32-32H337.6c-31-34.7-49.6-80.6-49.6-129.9c0-35.2 16.3-73.6 37.2-107.4c3.8-6.2 7.9-12.5 12.3-18.7H32z\"]]\n};\nvar faHexagonMinus = {\n prefix: 'fad',\n iconName: 'hexagon-minus',\n icon: [512, 512, [\"minus-hexagon\"], \"f307\", [\"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\", \"M160 256c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMinusHexagon = faHexagonMinus;\nvar faLeftToLine = {\n prefix: 'fad',\n iconName: 'left-to-line',\n icon: [448, 512, [\"arrow-alt-to-left\"], \"f34b\", [\"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64z\", \"M107.3 283.3L230.1 406.1c6.4 6.4 15 9.9 24 9.9c18.7 0 33.9-15.2 33.9-33.9l0-62.1 128 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-128 0 0-62.1c0-18.7-15.2-33.9-33.9-33.9c-9 0-17.6 3.6-24 9.9L107.3 228.7C100.1 235.9 96 245.8 96 256s4.1 20.1 11.3 27.3z\"]]\n};\nvar faArrowAltToLeft = faLeftToLine;\nvar faHouseCrack = {\n prefix: 'fad',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9L250.6 263.2c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5L230.4 512H128.1c-35.3 0-64-28.6-64-64z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9l256 224c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224z\"]]\n};\nvar faPawSimple = {\n prefix: 'fad',\n iconName: 'paw-simple',\n icon: [448, 512, [\"paw-alt\"], \"f701\", [\"M144 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm160 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm144 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 240a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M97.7 286c6.2-2.3 11.8-6.3 15-12.2l40-71.9c14.4-25.9 41.7-42 71.3-42s56.9 16.1 71.3 42l40 71.9c3.2 5.8 8.8 9.9 15 12.2c38.3 14 65.7 50.8 65.7 94c0 55.2-44.8 100-100 100c-21.2 0-40.8-6.6-56.9-17.8c-17.4-12-52.8-12-70.1 0C172.8 473.4 153.2 480 132 480C76.8 480 32 435.2 32 380c0-43.2 27.4-80 65.7-94z\"]]\n};\nvar faPawAlt = faPawSimple;\nvar faArrowLeftLongToLine = {\n prefix: 'fad',\n iconName: 'arrow-left-long-to-line',\n icon: [640, 512, [], \"e3d4\", [\"M32 64C14.3 64 0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32z\", \"M137.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L237.3 224 608 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-370.7 0 73.4 73.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128z\"]]\n};\nvar faBracketsRound = {\n prefix: 'fad',\n iconName: 'brackets-round',\n icon: [512, 512, [\"parentheses\"], \"e0c5\", [\"M357.4 46.2c-9.8 14.7-5.8 34.6 8.9 44.4C391.9 107.7 448 167 448 256s-56.1 148.3-81.8 165.4c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9C440.1 449 512 371.8 512 256s-71.9-193.1-110.2-218.6c-14.7-9.8-34.6-5.8-44.4 8.9z\", \"M154.6 46.2c9.8 14.7 5.8 34.6-8.9 44.4C120.1 107.7 64 167 64 256s56.1 148.3 81.8 165.4c14.7 9.8 18.7 29.7 8.9 44.4s-29.7 18.7-44.4 8.9C71.9 449 0 371.8 0 256S71.9 62.9 110.2 37.4c14.7-9.8 34.6-5.8 44.4 8.9z\"]]\n};\nvar faParentheses = faBracketsRound;\nvar faMartiniGlassCitrus = {\n prefix: 'fad',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", [\"M24 128c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l177 177V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V345.9L409 169c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H24z\", \"M432 240c53 0 96-43 96-96s-43-96-96-96c-47.6 0-87.1 34.6-94.7 80H288.9c8-72 69-128 143.1-128c79.5 0 144 64.5 144 144s-64.5 144-144 144c-39.3 0-74.9-15.7-100.8-41.2l33.9-33.9C382.4 229.7 406 240 432 240z\"]]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faUserShakespeare = {\n prefix: 'fad',\n iconName: 'user-shakespeare',\n icon: [448, 512, [], \"e2c2\", [\"M224 0c-53 0-96 43-96 96v64c0 49 36.6 89.4 84 95.3V224c0-6.6 5.4-12 12-12s12 5.4 12 12v31.3c47.4-5.9 84-46.3 84-95.3V96c0-53-43-96-96-96zM192 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-7.5 39.5c2 2 6 5.3 10.7 8.1c4.9 2.9 9.4 4.4 12.8 4.4c6.6 0 12 5.4 12 12s-5.4 12-12 12c-9.5 0-18.3-3.8-24.8-7.6c-2.5-1.5-4.9-3.1-7.1-4.6C211.6 201 199 204 192 204c-6.6 0-12-5.4-12-12s5.4-12 12-12c2.1 0 12.9-1.9 23.5-12.5c4.7-4.7 12.3-4.7 17 0zM96 336v37.3c0 15.6 16.7 25.4 30.4 17.9c25.1-13.9 53-21.8 81.6-23V288H144c-26.5 0-48 21.5-48 48zm225.6 55.1c13.6 7.6 30.4-2.3 30.4-17.9V336c0-26.5-21.5-48-48-48H240v80.2c28.6 1.2 56.6 9 81.6 23z\", \"M128 96v64c0 33.4 17 62.8 42.9 80H105.1C82.4 240 64 221.6 64 198.9c0-9.6 3.4-18.9 9.5-26.3l19.3-23.2c7.2-8.6 11.1-19.5 11.1-30.7V112c0-19.4 11.5-36.1 28-43.7c-2.6 8.8-4 18-4 27.7zm192 0c0-9.6-1.4-18.9-4-27.7c16.5 7.6 28 24.3 28 43.7v6.6c0 11.2 3.9 22.1 11.1 30.7l19.3 23.2c6.2 7.4 9.5 16.7 9.5 26.3c0 22.7-18.4 41.1-41.1 41.1H277.1C303 222.8 320 193.4 320 160V96zM192 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-4 96v32c0 6.6-5.4 12-12 12s-12-5.4-12-12V224c0-6.6 5.4-12 12-12s12 5.4 12 12zm-20.5-56.5c4.7-4.7 12.3-4.7 17 0c2 2 6 5.3 10.7 8.1c4.9 2.9 9.4 4.4 12.8 4.4c6.6 0 12 5.4 12 12s-5.4 12-12 12c-9.5 0-18.3-3.8-24.8-7.6c-2.5-1.5-4.9-3.1-7.1-4.6C211.6 201 199 204 192 204c-6.6 0-12-5.4-12-12s5.4-12 12-12c2.1 0 12.9-1.9 23.5-12.5zM96 336v37.3c0 15.6 16.7 25.4 30.4 17.9c27.3-15.2 58-23.1 89.3-23.1h16.7c31.2 0 62 8 89.3 23.1c13.6 7.6 30.4-2.3 30.4-17.9V336c0-.8 0-1.5-.1-2.3c56.6 25 96.1 81.7 96.1 147.5c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-65.9 39.5-122.5 96.1-147.5c0 .8-.1 1.5-.1 2.3zm144 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faArrowRightToArc = {\n prefix: 'fad',\n iconName: 'arrow-right-to-arc',\n icon: [512, 512, [], \"e4b2\", [\"M256 64c106 0 192 86 192 192s-86 192-192 192c-17.7 0-32 14.3-32 32s14.3 32 32 32c141.4 0 256-114.6 256-256S397.4 0 256 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z\", \"M185.4 121.4c12.5-12.5 32.8-12.5 45.3 0l112 112c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H242.7l-57.4-57.4c-12.5-12.5-12.5-32.8 0-45.3z\"]]\n};\nvar faFaceSurprise = {\n prefix: 'fad',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'fad',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", [\"M120 0h80c13.3 0 24 10.7 24 24V64H96V24c0-13.3 10.7-24 24-24zM32 151.7c0-15.6 9-29.8 23.2-36.5L96.3 96H223.7l41.1 19.3c14.1 6.6 23.2 20.8 23.2 36.5c0 14.4-7.5 27-18.9 34.1c11.5 8.8 18.9 22.6 18.9 38.2c0 16.7-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40s-8.5 31.4-21.5 40c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48c0-16.7 8.5-31.4 21.5-40C40.5 415.4 32 400.7 32 384s8.5-31.4 21.5-40C40.5 335.4 32 320.7 32 304s8.5-31.4 21.5-40C40.5 255.4 32 240.7 32 224c0-15.6 7.4-29.4 18.9-38.2C39.5 178.7 32 166.1 32 151.7zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M120 0C106.7 0 96 10.7 96 24V96H224V24c0-13.3-10.7-24-24-24H120zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 128c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faCirclePause = {\n prefix: 'fad',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM224 192V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M192 160c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm128 0c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]]\n};\nvar faPauseCircle = faCirclePause;\nvar faGaugeCirclePlus = {\n prefix: 'fad',\n iconName: 'gauge-circle-plus',\n icon: [640, 512, [], \"e498\", [\"M504 192.2c-2.6-.1-5.3-.2-8-.2c-97.2 0-176 78.8-176 176c0 45.9 17.6 87.7 46.4 119C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2zM256 416c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM368 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faFolders = {\n prefix: 'fad',\n iconName: 'folders',\n icon: [576, 512, [], \"f660\", [\"M24 96c13.3 0 24 10.7 24 24V344c0 48.6 39.4 88 88 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 480 0 419.1 0 344V120c0-13.3 10.7-24 24-24z\", \"M160 384H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H394.5c-17 0-33.3-6.7-45.3-18.7L322.7 50.7c-12-12-28.3-18.7-45.3-18.7H160c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64z\"]]\n};\nvar faAngel = {\n prefix: 'fad',\n iconName: 'angel',\n icon: [576, 512, [], \"f779\", [\"M384 64.2c0-.1 0-.1 0-.2s0-.1 0-.2s-.1-.3-.2-.6c-.3-.6-.9-1.8-2.3-3.5c-2.9-3.5-8.4-7.9-17.3-12.4C346.4 38.4 319.5 32 288 32s-58.4 6.4-76.2 15.4c-8.9 4.5-14.4 8.9-17.3 12.4c-1.4 1.7-2 2.8-2.3 3.5c-.1 .3-.2 .5-.2 .6s0 .1 0 .2s0 .1 0 .2s.1 .3 .2 .6c.3 .6 .9 1.8 2.3 3.5c1.4 1.7 3.4 3.6 6.2 5.6c-6.7 8.3-12.2 17.6-16.3 27.7C169 91 160 78 160 64c0-35.3 57.3-64 128-64s128 28.7 128 64c0 14-9 27-24.3 37.5c-4.1-10-9.6-19.3-16.3-27.7c2.7-2 4.8-4 6.2-5.6c1.4-1.7 2-2.8 2.3-3.5c.1-.3 .2-.5 .2-.6zM96 512H45.3C20.3 512 0 491.7 0 466.7c0-7 1.6-14 4.8-20.3l39.8-79.7c2.2-4.4 3.4-9.3 3.4-14.3v-.9c0-5-1.2-9.9-3.4-14.3L26.2 300.5C19.5 287 16 272 16 256.9c0-53.1 43.1-96.9 96.2-96.9c25.5 0 50 10.1 68 28.2l73.6 73.6c-25 8.8-46.2 26.9-58.4 51.4L96 512zM380.6 313.2c-12.2-24.5-33.4-42.7-58.4-51.4l73.6-73.6c18-18 42.5-28.2 68-28.2c53.1 0 96.2 43.8 96.2 96.9c0 15.1-3.5 30.1-10.2 43.6l-18.4 36.7c-2.2 4.4-3.4 9.3-3.4 14.3v.9c0 5 1.2 9.9 3.4 14.3l39.8 79.7c3.1 6.3 4.8 13.2 4.8 20.3c0 25-20.3 45.3-45.3 45.3H480L380.6 313.2z\", \"M288 64a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM96 512l99.4-198.8C212.9 278.2 248.8 256 288 256s75.1 22.2 92.6 57.2L480 512H96z\"]]\n};\nvar faValueAbsolute = {\n prefix: 'fad',\n iconName: 'value-absolute',\n icon: [512, 512, [], \"f6a6\", [\"M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm448 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256l-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L256 301.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256l73.4-73.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 210.7l-73.4-73.4z\"]]\n};\nvar faRabbit = {\n prefix: 'fad',\n iconName: 'rabbit',\n icon: [512, 512, [128007], \"f708\", [\"M321.4 128c4.8 0 9.6 .3 14.3 .9c1.1-24-2.6-47.9-10.9-70.1c7.6-17.8 18.6-34.2 32.7-48.3l4.6-4.6c3.7-3.7 8.8-5.8 14-5.8c9.2 0 17.2 6.4 19.3 15.4l1 4.4c9.8 42.4 1.8 86.5-21 122.4c5.5 3.1 10.7 6.6 15.6 10.6L425.8 181c14 11.4 22.2 28.6 22.2 46.7c0 33.3-27 60.3-60.3 60.3H352v25.8l61.7 154.3c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-39.4-98.6L265.6 448H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H208 160c-35.3 0-64-28.7-64-64V432c0-95.1 69.2-174.1 160-189.3V193.4c0-10.9 2.7-21.2 7.4-30.2c-34.3-36.5-50.3-86.8-43.2-136.8l.7-4.9C222.7 9.2 233.2 0 245.7 0c6.6 0 12.9 2.6 17.6 7.3l3.1 3.1c31.8 31.5 47.9 74.8 45.4 118.4c3.1-.5 6.3-.7 9.6-.7zM368 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M368 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 432v16c0 6.9 1.1 13.5 3.1 19.8C88.8 480.1 73.3 488 56 488c-30.9 0-56-25.1-56-56s25.1-56 56-56c17.4 0 33 8 43.3 20.5C97.1 408 96 419.9 96 432z\"]]\n};\nvar faToiletPaperSlash = {\n prefix: 'fad',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", [\"M521.1 383.1C569.9 374 608 291.9 608 192C608 86 565 0 512 0s-96 86-96 192c0 49.1 9.2 93.9 24.4 127.9l80.7 63.3zM381.4 273.6c1.6-24.8 2.6-52 2.6-81.6c0-65.5 13.2-142.4 60.2-192H160c-24.8 0-47.4 18.8-64.4 49.6l285.8 224zM367.3 385.4L66.5 148.4C64.9 162.4 64 177 64 192c0 101.5-11.7 170.8-23 213.9c-5.1 19.4-10.7 39.9-20.5 57.7c-5.9 9.9-6.1 22.1-.4 32.2S36.5 512 48 512H285.9c22.3 0 45.4-12.1 55.4-36.1c7.4-17.7 17.5-47.2 26-90.6zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCircleEuro = {\n prefix: 'fad',\n iconName: 'circle-euro',\n icon: [512, 512, [], \"e5ce\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM128 272h16c-.6-5-.9-10.1-.9-15.2c0-5.7 .4-11.3 1.1-16.8H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h24.7c19.2-46.9 65.4-80 119.2-80H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-26.3 0-49.6 12.6-64.4 32H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H192.9c-1.1 5.4-1.7 11-1.7 16.8c0 5.2 .5 10.3 1.4 15.2H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H206.4c14.7 20.3 38.5 33.5 65.5 33.5H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-54.4 0-101-33.8-119.8-81.5H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M144.2 240c-.7 5.5-1.1 11.1-1.1 16.8c0 5.2 .3 10.2 .9 15.2H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h24.1c18.8 47.7 65.4 81.5 119.8 81.5H313c13.3 0 24-10.7 24-24s-10.7-24-24-24H271.9c-27 0-50.8-13.2-65.5-33.5H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H192.6c-.9-4.9-1.4-10-1.4-15.2c0-5.7 .6-11.4 1.7-16.8H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H207.5c14.7-19.4 38.1-32 64.4-32H313c13.3 0 24-10.7 24-24s-10.7-24-24-24H271.9c-53.9 0-100 33.1-119.2 80H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h16.2z\"]]\n};\nvar faAppleWhole = {\n prefix: 'fad',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", [\"M240 112H224c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80z\", \"M112 128C35.7 128 0 211.7 0 288C0 416 80 512 160 512c16.5 0 38.1-6.6 51.5-11.3c8.1-2.8 16.9-2.8 25 0c13.4 4.7 35 11.3 51.5 11.3c80 0 160-96 160-224c0-76.3-35.7-160-112-160c-27.3 0-59.7 10.3-82.7 19.3c-18.8 7.3-39.9 7.3-58.7 0C171.7 138.3 139.3 128 112 128z\"]]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'fad',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", [\"M144 224a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM256 296c0 13.3 10.7 24 24 24H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H424v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H280c-13.3 0-24 10.7-24 24z\", \"M224 144A80 80 0 1 0 64 144a80 80 0 1 0 160 0zm60.4 32C269.9 240.1 212.5 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0c68.5 0 125.9 47.9 140.4 112h71.8c8.8-9.8 21.6-16 35.8-16H496c26.5 0 48 21.5 48 48s-21.5 48-48 48H392c-14.2 0-27-6.2-35.8-16H284.4zM48 320h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336c0-8.8 7.2-16 16-16zm128 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32h16zm336-64V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V320H512z\"]]\n};\nvar faDiamondHalf = {\n prefix: 'fad',\n iconName: 'diamond-half',\n icon: [512, 512, [], \"e5b7\", [\"M256 512V0c10.2 0 20.5 3.9 28.3 11.7l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-7.8 7.8-18 11.7-28.3 11.7z\", \"M256 0c-10.2 0-20.5 3.9-28.3 11.7l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c7.8 7.8 18 11.7 28.3 11.7V0z\"]]\n};\nvar faLockKeyhole = {\n prefix: 'fad',\n iconName: 'lock-keyhole',\n icon: [448, 512, [\"lock-alt\"], \"f30d\", [\"M224 64c-44.2 0-80 35.8-80 80v48H80V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48H304V144c0-44.2-35.8-80-80-80z\", \"M64 192c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H64zM256 320v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]]\n};\nvar faLockAlt = faLockKeyhole;\nvar faR = {\n prefix: 'fad',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", [\"M64 32C28.7 32 0 60.7 0 96V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h95.3L261.8 466.4c10.1 14.5 30.1 18 44.6 7.9s18-30.1 7.9-44.6L230.1 309.5C282.8 288.1 320 236.4 320 176c0-79.5-64.5-144-144-144H64zM176 256H64V96H176c44.2 0 80 35.8 80 80s-35.8 80-80 80z\", \"\"]]\n};\nvar faTemperatureQuarter = {\n prefix: 'fad',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", [\"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M176 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272z\"]]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faSquareInfo = {\n prefix: 'fad',\n iconName: 'square-info',\n icon: [448, 512, [8505, \"info-square\"], \"f30f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM184 336h24V272H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M224 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V272H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faInfoSquare = faSquareInfo;\nvar faWifiSlash = {\n prefix: 'fad',\n iconName: 'wifi-slash',\n icon: [640, 512, [], \"f6ac\", [\"M364.6 260.4c39.2 7.9 74.7 26.1 103.6 51.6c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192c-13.3 0-26.5 .9-39.3 2.7l83.9 65.8zM185.6 120.2C227.4 104.5 272.7 96 320 96c103.2 0 196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32c-68.7 0-133.7 15.5-191.9 43.1l57.5 45.1zM380.8 396l-55.6-43.8c-1.7-.1-3.4-.2-5.2-.2c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-7-1.1-13.7-3.2-20zM228 275.7L173 232.3c-15.5 9.2-30.1 19.8-43.5 31.7c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c16.7-14.8 35.6-27 56.2-36.3zM93.6 169.8L41.7 128.9C30.7 137.7 20 147 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9c12.4-11.9 25.6-23 39.5-33.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faToiletPaperXmark = {\n prefix: 'fad',\n iconName: 'toilet-paper-xmark',\n icon: [512, 512, [], \"e5b3\", [\"M96 384C43 384 0 298 0 192S43 0 96 0H416c-53 0-96 86-96 192s43 192 96 192H128 96zM233 257c9.4-9.4 9.4-24.6 0-33.9l-31-31 31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31 31 31c9.4 9.4 24.6 9.4 33.9 0z\", \"M416 384c-52.4 0-94.9-83.8-96-188.1c0-1.3 0-2.6 0-3.9C320 86 363 0 416 0s96 86 96 192V464c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V384H416zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64z\"]]\n};\nvar faHandsHoldingDollar = {\n prefix: 'fad',\n iconName: 'hands-holding-dollar',\n icon: [640, 512, [\"hands-usd\"], \"f4c5\", [\"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"M320 0c13.3 0 24 10.7 24 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHandsUsd = faHandsHoldingDollar;\nvar faCube = {\n prefix: 'fad',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", [\"M64 189.4v188l160 57.1v-188L64 189.4zm384 188v-188L288 246.6v188l160-57.1z\", \"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6V377.4c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zM64 377.4l160 57.1v-188L64 189.4l0 188zm224 57.1l160-57.1v-188L288 246.6v188z\"]]\n};\nvar faArrowDownTriangleSquare = {\n prefix: 'fad',\n iconName: 'arrow-down-triangle-square',\n icon: [576, 512, [\"sort-shapes-down\"], \"f888\", [\"M416 32c11 0 21.3 5.7 27.1 15l80 128c6.2 9.9 6.5 22.3 .9 32.5s-16.4 16.5-28 16.5H336c-11.6 0-22.3-6.3-28-16.5s-5.3-22.6 .9-32.5l80-128c5.8-9.4 16.1-15 27.1-15zM368 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortShapesDown = faArrowDownTriangleSquare;\nvar faBitcoinSign = {\n prefix: 'fad',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", [\"M48 32V64h64V32C112 14.3 97.7 0 80 0S48 14.3 48 32zm0 416v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H48zm96 0v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H144zM207.7 68.5c.2-1.5 .3-3 .3-4.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64h32c11 0 21.6 1.6 31.7 4.5z\", \"M64 224H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96zM0 265.7V224 101.6C0 80.8 16.8 64 37.6 64H176c61.9 0 112 50.1 112 112c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112H41.7C18.7 448 0 429.3 0 406.3V288 265.7zM176 288H64v96H208c26.5 0 48-21.5 48-48s-21.5-48-48-48H176z\"]]\n};\nvar faShutters = {\n prefix: 'fad',\n iconName: 'shutters',\n icon: [512, 512, [], \"e449\", [\"M491.4 224H20.6C9.2 224 0 214.8 0 203.4c0-2.2 .4-4.4 1.1-6.5L24 128H488l22.9 68.8c.7 2.1 1.1 4.3 1.1 6.5c0 11.4-9.2 20.6-20.6 20.6zm0 128H20.6C9.2 352 0 342.8 0 331.4c0-2.2 .4-4.4 1.1-6.5L24 256H488l22.9 68.8c.7 2.1 1.1 4.3 1.1 6.5c0 11.4-9.2 20.6-20.6 20.6zM20.6 480C9.2 480 0 470.8 0 459.4c0-2.2 .4-4.4 1.1-6.5L24 384H488l22.9 68.8c.7 2.1 1.1 4.3 1.1 6.5c0 11.4-9.2 20.6-20.6 20.6H20.6z\", \"M0 64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64z\"]]\n};\nvar faShieldDog = {\n prefix: 'fad',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM200 160h8 24 52.2c12.1 0 23.2 6.8 28.6 17.7L320 192h64c8.8 0 16 7.2 16 16v32c0 44.2-35.8 80-80 80H272v50.7c0 7.3-5.9 13.3-13.3 13.3c-1.8 0-3.6-.4-5.2-1.1l-98.7-42.3c-6.6-2.8-10.8-9.3-10.8-16.4c0-2.8 .6-5.5 1.9-8L168 272h-8c-17.7 0-32-14.3-32-32V176c0-8.8 7.2-16 16-16h56z\", \"M168 272l-22.1 44.2c-1.2 2.5-1.9 5.2-1.9 8c0 7.1 4.3 13.6 10.8 16.4l98.7 42.3c1.7 .7 3.4 1.1 5.2 1.1c7.3 0 13.3-5.9 13.3-13.3V320h48c44.2 0 80-35.8 80-80V208c0-8.8-7.2-16-16-16H320l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H232 208v72c0 22.1-17.9 40-40 40zm88-64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faSolarPanel = {\n prefix: 'fad',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", [\"M59.5 51.4C65.5 21.5 91.7 0 122.2 0H517.8c30.5 0 56.8 21.5 62.8 51.4l51.2 256c7.9 39.6-22.4 76.6-62.8 76.6H71C30.6 384 .4 347 8.3 307.4l51.2-256zM517.8 64H122.2L71 320 569 320 517.8 64l31.4-6.3L517.8 64z\", \"M379.1 64H260.9L250.5 168h139L379.1 64zM212.7 64H122.2L101.4 168H202.3L212.7 64zM197.5 216H91.8L71 320h116l10.4-104zm196.8 0H245.7L235.3 320l169.4 0L394.3 216zm58.6 104H569L548.2 216H442.5l10.4 104zM517.8 64H427.3l10.4 104H538.6L517.8 64zM416 448H352V384H288v64H224c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32z\"]]\n};\nvar faLockOpen = {\n prefix: 'fad',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", [\"M432 64c-44.2 0-80 35.8-80 80v48H288V144C288 64.5 352.5 0 432 0s144 64.5 144 144v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V144c0-44.2-35.8-80-80-80z\", \"M0 256c0-35.3 28.7-64 64-64H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256z\"]]\n};\nvar faTableTree = {\n prefix: 'fad',\n iconName: 'table-tree',\n icon: [512, 512, [], \"e293\", [\"M144 368c-26.5 0-48-21.5-48-48V224 160h32v64c0 8.8 7.2 16 16 16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-5.6 0-11-1-16-2.7V320c0 8.8 7.2 16 16 16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144zm96-144H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm64 96h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 160V416H64V160H448z\"]]\n};\nvar faHouseChimneyHeart = {\n prefix: 'fad',\n iconName: 'house-chimney-heart',\n icon: [576, 512, [], \"e1b2\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H128.1c-35.3 0-64-28.6-64-64zM176 317.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9L416 101.5V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185.5l53.1 46.4c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224zM237.3 256c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3c0-33.8 27.4-61.3 61.3-61.3z\"]]\n};\nvar faTally3 = {\n prefix: 'fad',\n iconName: 'tally-3',\n icon: [640, 512, [], \"e296\", [\"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64zm128 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\", \"M384 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faElevator = {\n prefix: 'fad',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", [\"M64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm96 96a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM80 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V400zm192 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V400zm32-128a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M132.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H80c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zm224 86.6l-64-64c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H432c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-64 64c-6.2 6.2-16.4 6.2-22.6 0zM160 224a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM80 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V400zm192 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v16c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V400zm32-128a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]]\n};\nvar faMoneyBillTransfer = {\n prefix: 'fad',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", [\"M337.9 64H96c-35.3 0-64 28.7-64 64V342.5l19.2-19.2c20.3-20.3 53.2-20.3 73.5 0C138 336.5 142.6 355 138.6 372L256 372c28.7 0 52 23.3 52 52c0 8.7-2.1 16.8-5.9 24H544c35.3 0 64-28.7 64-64V169.5l-19.2 19.2c-20.3 20.3-53.2 20.3-73.5 0C502 175.5 497.4 157 501.4 140L384 140c-28.7 0-52-23.3-52-52c0-8.7 2.1-16.8 5.9-24zM96 192V128h64c0 35.3-28.7 64-64 64zM480 384c0-35.3 28.7-64 64-64v64H480zM224 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\", \"M558.1 64L384 64c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c4.5-4.5 7-10.6 7-17s-2.5-12.5-7-17L569 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l23 23zM81.9 400l23-23c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 407c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-23-23L256 448c13.3 0 24-10.7 24-24s-10.7-24-24-24L81.9 400z\"]]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'fad',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", [\"M48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM96 464H48V416c26.5 0 48 21.5 48 48zM48 352V304H96c0 26.5-21.5 48-48 48zM416 464c0-26.5 21.5-48 48-48v48H416zm48-112c-26.5 0-48-21.5-48-48h48v48zM256 320a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M477.6 19.8c-1.5-3.7-3.8-7.3-6.9-10.3c0 0-.1-.1-.1-.1C464.8 3.6 456.8 0 448 0h0H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h18.7l-84.4 84.4L196.8 71.7c-12-10.3-29.7-10.3-41.7 0l-112 96c-13.4 11.5-15 31.7-3.5 45.1s31.7 15 45.1 3.5L176 138.1l91.2 78.1c12.7 10.9 31.6 10.2 43.5-1.7L416 109.3V128c0 17.7 14.3 32 32 32s32-14.3 32-32V32v0c0 0 0-.1 0-.1c0-4.3-.9-8.4-2.4-12.2z\"]]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'fad',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", [\"M250.2 284.3c42.4-32.1 69.8-83 69.8-140.3c0-28.6-6.8-55.7-19-79.6L381.2 6.1c11.2-8.2 26.4-8.2 37.6 0l176 128c11.2 8.2 15.9 22.6 11.6 35.8S589.9 192 576 192H559.4l.3 84.4c-2.3-1.5-4.4-3.2-6.5-4.9c-22.2-18.7-54.3-20.1-78.1-3.4c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-10 6.9-21.2 12.6-33 16.2zm51.3 25.6c11.1-7.9 25.9-7.9 37 0C361 325.4 388.5 336 416 336c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C481.5 389.7 449 400 416 400c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C168.7 325.2 197.1 336 224 336c27.5 0 55-10.6 77.5-26.1zM416 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C481.5 501.7 449 512 416 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C168.7 437.2 197.1 448 224 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0C361 437.4 388.5 448 416 448z\", \"M144 288A144 144 0 1 0 144 0a144 144 0 1 0 0 288zM163.3 76.7l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]]\n};\nvar faSquarePollHorizontal = {\n prefix: 'fad',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", [\"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM256 160c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32zm64 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l32 0c17.7 0 32 14.3 32 32z\", \"M224 128c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32h96zm96 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32l192 0zM192 352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32z\"]]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'fad',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\", \"\"]]\n};\nvar faCartCircleExclamation = {\n prefix: 'fad',\n iconName: 'cart-circle-exclamation',\n icon: [640, 512, [], \"e3f2\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c29.1-57 88.4-96 156.8-96c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faSword = {\n prefix: 'fad',\n iconName: 'sword',\n icon: [512, 512, [128481], \"f71c\", [\"M507.3 4.7c3.7 3.7 5.3 8.8 4.5 13.9L499.2 94.4c-2.7 16.4-10.6 31.6-22.3 43.4L246.6 368 144 265.4 374.2 35.2c11.8-11.8 27-19.6 43.4-22.3L493.4 .2c5.1-.8 10.3 .8 13.9 4.5z\", \"M107.3 228.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-5.4 5.4-6.2 13.8-2 20.2l53.1 79.6c2.1 3.2 1.7 7.4-1 10.1L79.2 394.2c-2.1 2.1-5.3 2.9-8.2 1.9L37.1 384.8c-5.7-1.9-12.1-.4-16.4 3.9l-16 16c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l16-16c4.3-4.3 5.8-10.6 3.9-16.4L115.9 441c-1-2.9-.2-6 1.9-8.2l39.6-39.6c2.7-2.7 6.9-3.1 10.1-1l79.6 53.1c6.3 4.2 14.8 3.4 20.2-2l16-16c6.2-6.2 6.2-16.4 0-22.6l-176-176z\"]]\n};\nvar faBackwardFast = {\n prefix: 'fad',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", [\"M32 448c-17.7 0-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V416c0 17.7-14.3 32-32 32z\", \"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L64 214.3v83.3L235.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V297.7L459.5 440.6z\"]]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'fad',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", [\"M174.7 45.1C192.2 17 223 0 256 0s63.8 17 81.3 45.1l38.6 61.7-55.5 32L283 79c-5.8-9.3-16-15-27-15s-21.2 5.7-27 15l-17.5 28c-9.2 14.8-28.6 19.5-43.6 10.5c-15.3-9.2-20.2-29.2-10.7-44.4l17.5-28zM429.5 251.9c15-9 34.4-4.3 43.6 10.5l24.4 39.1c9.4 15.1 14.4 32.4 14.6 50.2c.3 53.1-42.7 96.4-95.8 96.4L320 448V384l96.2 0c17.6 0 31.9-14.4 31.8-32c0-5.9-1.7-11.7-4.8-16.7l-24.4-39.1c-9.5-15.2-4.7-35.2 10.7-44.4zm-364.6-31l55.5 32L68.8 335.3c-3.1 5-4.8 10.8-4.8 16.7c-.1 17.6 14.2 32 31.8 32l32.2 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32.2 0C42.7 448-.3 404.8 0 351.6c.1-17.8 5.1-35.1 14.6-50.2l50.3-80.5z\", \"M292 155.2c-8.4 4.9-13.1 14.3-11.8 23.9s8.2 17.5 17.6 20l87.4 23.4c12.8 3.4 26-4.2 29.4-17L438 118.2c2.5-9.4-.9-19.3-8.6-25.3s-18.2-6.6-26.6-1.7L292 155.2zM320 352c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V352zM173.5 266.5c7.7-5.9 11.1-15.9 8.6-25.3l-23.4-87.4c-3.4-12.8-16.6-20.4-29.4-17L41.8 160.2c-9.4 2.5-16.3 10.4-17.6 20s3.4 19.1 11.8 23.9l110.9 64c8.4 4.9 18.9 4.2 26.6-1.7z\"]]\n};\nvar faUserAstronaut = {\n prefix: 'fad',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", [\"M112 144c0-26.5 21.5-48 48-48H288c26.5 0 48 21.5 48 48v16c0 53-43 96-96 96H208c-53 0-96-43-96-96V144zm77.3 18.7l-6-21.2c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.2-7.3 5.5l-6 21.2-21.2 6c-3.3 .9-5.5 3.9-5.5 7.3s2.2 6.4 5.5 7.3l21.2 6 6 21.2c.9 3.3 3.9 5.5 7.3 5.5s6.4-2.2 7.3-5.5l6-21.2 21.2-6c3.3-.9 5.5-3.9 5.5-7.3s-2.2-6.4-5.5-7.3l-21.2-6zM160 416H288c17.7 0 32 14.3 32 32v64H192V464c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H128V448c0-17.7 14.3-32 32-32zm128 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\", \"M224 0c65.7 0 122.1 39.5 146.7 96.1C387.1 97.5 400 111.2 400 128v64c0 16.8-12.9 30.5-29.3 31.9C346.1 280.5 289.7 320 224 320s-122.1-39.5-146.7-96.1C60.9 222.5 48 208.8 48 192V128c0-16.8 12.9-30.5 29.3-31.9C101.9 39.5 158.3 0 224 0zM336 160V144c0-26.5-21.5-48-48-48H160c-26.5 0-48 21.5-48 48v16c0 53 43 96 96 96h32c53 0 96-43 96-96zM112.7 316.5C144.1 338.8 182.5 352 224 352s79.9-13.2 111.3-35.5C401.3 342.6 448 407 448 482.3c0 16.4-13.3 29.7-29.7 29.7L320 512V448c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v64H29.7C13.3 512 0 498.7 0 482.3C0 407 46.7 342.6 112.7 316.5z\"]]\n};\nvar faInterrobang = {\n prefix: 'fad',\n iconName: 'interrobang',\n icon: [320, 512, [8253], \"e5ba\", [\"M144 96c-35.3 0-64 28.7-64 64c0 17.7-14.3 32-32 32s-32-14.3-32-32C16 89.3 73.3 32 144 32h32c70.7 0 128 57.3 128 128v3.6c0 43.6-22.1 84.1-58.8 107.7L203 298.4c-6.9 4.4-11 12-11 20.2V229.4l18.6-12c18.3-11.8 29.4-32.1 29.4-53.8V160c0-35.3-28.7-64-64-64H144z\", \"M192 176c0-17.7-14.3-32-32-32s-32 14.3-32 32V320c0 17.7 14.3 32 32 32s32-14.3 32-32V176zM160 480a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]]\n};\nvar faPlaneSlash = {\n prefix: 'fad',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", [\"M41.5 128.7l321 252.9L297.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6H144l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4H46c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L64 256 32.5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-6.2 4-11.4 9.5-13.3zM514.3 320H440.6L238.1 161.3 197.8 20.4C194.9 10.2 202.6 0 213.2 0h56.2c11.5 0 22.1 6.2 27.8 16.1L397.7 192l116.6 0c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCircleDashed = {\n prefix: 'fad',\n iconName: 'circle-dashed',\n icon: [512, 512, [], \"e105\", [\"M138.3 104.3c26.6-20.6 58.7-34.5 93.7-38.8V1.1C179.3 6 131.3 26.9 92.7 58.8l45.5 45.5zM280 446.5v64.4c52.7-4.9 100.7-25.8 139.3-57.7l-45.5-45.5c-26.6 20.6-58.7 34.5-93.7 38.8zM58.8 419.3l45.5-45.5C83.7 347.2 69.9 315.1 65.5 280H1.1C6 332.7 26.9 380.7 58.8 419.3zm348.9-281c20.6 26.6 34.5 58.7 38.8 93.7h64.4c-4.9-52.7-25.8-100.7-57.7-139.3l-45.5 45.5z\", \"M1.1 232C6 179.3 26.9 131.3 58.8 92.7l45.5 45.5C83.7 164.8 69.9 196.9 65.5 232H1.1zM407.7 373.7c20.6-26.6 34.5-58.7 38.8-93.7h64.4c-4.9 52.7-25.8 100.7-57.7 139.3l-45.5-45.5zM92.7 453.2l45.5-45.5c26.6 20.6 58.7 34.5 93.7 38.8v64.4c-52.7-4.9-100.7-25.8-139.3-57.7zM419.3 58.8l-45.5 45.5C347.2 83.7 315.1 69.9 280 65.5V1.1C332.7 6 380.7 26.9 419.3 58.8z\"]]\n};\nvar faTrademark = {\n prefix: 'fad',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", [\"M309.9 97.6c13.1-4.4 27.5 .1 35.7 11.2L464 266.7 582.4 108.8c8.3-11 22.7-15.5 35.7-11.2S640 114.2 640 128V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V224L489.6 339.2c-6 8.1-15.5 12.8-25.6 12.8s-19.6-4.7-25.6-12.8L352 224V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-13.8 8.8-26 21.9-30.4z\", \"M32 96C14.3 96 0 110.3 0 128s14.3 32 32 32H96V384c0 17.7 14.3 32 32 32s32-14.3 32-32V160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faBasketball = {\n prefix: 'fad',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", [\"M86.6 64l85.2 85.2C194.5 121.7 208 86.4 208 48c0-14.7-2-28.9-5.7-42.4C158.6 15 119 35.5 86.6 64zM64 86.6C35.5 119 15 158.6 5.6 202.3C19.1 206 33.3 208 48 208c38.4 0 73.7-13.5 101.3-36.1L64 86.6zM256 0c-7.3 0-14.6 .3-21.8 .9C238 16 240 31.8 240 48c0 47.3-17.1 90.5-45.4 124L256 233.4 425.4 64C380.2 24.2 320.9 0 256 0zM48 240c-16.2 0-32-2-47.1-5.8C.3 241.4 0 248.7 0 256c0 64.9 24.2 124.2 64 169.4L233.4 256 172 194.6C138.5 222.9 95.3 240 48 240zm463.1 37.8c.6-7.2 .9-14.5 .9-21.8c0-64.9-24.2-124.2-64-169.4L278.6 256 340 317.4c33.4-28.3 76.7-45.4 124-45.4c16.2 0 32 2 47.1 5.8zm-4.7 31.9C492.9 306 478.7 304 464 304c-38.4 0-73.7 13.5-101.3 36.1L448 425.4c28.5-32.3 49.1-71.9 58.4-115.7zM340.1 362.7C317.5 390.3 304 425.6 304 464c0 14.7 2 28.9 5.7 42.4C353.4 497 393 476.5 425.4 448l-85.2-85.2zM317.4 340L256 278.6 86.6 448c45.1 39.8 104.4 64 169.4 64c7.3 0 14.6-.3 21.8-.9C274 496 272 480.2 272 464c0-47.3 17.1-90.5 45.4-124z\", \"M86.6 64l85.2 85.2C194.5 121.7 208 86.4 208 48c0-14.7-2-28.9-5.7-42.4c10.4-2.2 21-3.8 31.9-4.7C238 16 240 31.8 240 48c0 47.3-17.1 90.5-45.4 124L256 233.4 425.4 64c8 7.1 15.6 14.6 22.6 22.6L278.6 256 340 317.4c33.4-28.3 76.7-45.4 124-45.4c16.2 0 32 2 47.1 5.8c-.9 10.8-2.5 21.5-4.7 31.9C492.9 306 478.7 304 464 304c-38.4 0-73.7 13.5-101.3 36.1L448 425.4c-7.1 8-14.6 15.6-22.6 22.6l-85.2-85.2C317.5 390.3 304 425.6 304 464c0 14.7 2 28.9 5.7 42.4c-10.4 2.2-21 3.8-31.9 4.7C274 496 272 480.2 272 464c0-47.3 17.1-90.5 45.4-124L256 278.6 86.6 448c-8-7.1-15.6-14.6-22.6-22.6L233.4 256 172 194.6C138.5 222.9 95.3 240 48 240c-16.2 0-32-2-47.1-5.8c.9-10.8 2.5-21.5 4.7-31.9C19.1 206 33.3 208 48 208c38.4 0 73.7-13.5 101.3-36.1L64 86.6c7.1-8 14.6-15.6 22.6-22.6z\"]]\n};\nvar faBasketballBall = faBasketball;\nvar faForkKnife = {\n prefix: 'fad',\n iconName: 'fork-knife',\n icon: [576, 512, [\"utensils-alt\"], \"f2e6\", [\"M265.4 220.1L52.5 7.3C47.9 2.6 41.5 0 34.9 0c-11.2 0-21 7.5-23.5 18.4C6.7 38.6 0 71.5 0 96c0 83.3 48.2 130.5 128.9 209.4c6.5 6.4 13.3 13 20.3 19.9c1.9 1.8 3.8 3.5 5.9 5.1L265.4 220.1zm45.3 135.8L457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L355.9 310.6l-45.3 45.3z\", \"M476.4 5.9c5.2 6.4 4.8 15.6-1.1 21.5L384 118.6c-5.2 5.2-5.2 13.6 0 18.8c4.9 4.9 12.8 5.2 18.1 .6l99.4-86.1c6.3-5.5 15.9-5.2 21.8 .8s6.3 15.4 .8 21.8L438 173.9c-4.6 5.3-4.3 13.2 .6 18.1c5.2 5.2 13.6 5.2 18.8 0l91.3-91.3c5.8-5.8 15.1-6.3 21.5-1.1s7.7 14.4 3.2 21.2l-71 106.5c-18.6 27.9-49.9 44.6-83.4 44.6c-19.3 0-37.9-5.5-53.9-15.7L118.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L319.7 211c-10.2-16-15.7-34.7-15.7-53.9c0-33.5 16.8-64.8 44.6-83.4l106.5-71c6.8-4.6 16-3.2 21.2 3.2z\"]]\n};\nvar faUtensilsAlt = faForkKnife;\nvar faSatelliteDish = {\n prefix: 'fad',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", [\"M224 0c-17.7 0-32 14.3-32 32s14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32C512 128.9 383.1 0 224 0zm0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32c70.7 0 128 57.3 128 128c0 17.7 14.3 32 32 32s32-14.3 32-32c0-106-86-192-192-192z\", \"M60.6 220.6c-14.5-14.5-38.8-11.8-46.3 7.3C5.1 251.5 0 277.1 0 304C0 418.9 93.1 512 208 512c26.9 0 52.5-5.1 76.1-14.4c19-7.5 21.8-31.8 7.3-46.3L187.3 347.3l28.4-28.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3l-28.4 28.4L60.6 220.6z\"]]\n};\nvar faBadgeCheck = {\n prefix: 'fad',\n iconName: 'badge-check',\n icon: [512, 512, [], \"f336\", [\"M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\", \"M369 175c9.4 9.4 9.4 24.6 0 33.9L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faCircleUp = {\n prefix: 'fad',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4l107.1-99.9c3.8-3.5 8.7-5.5 13.8-5.5s10.1 2 13.8 5.5l107.1 99.9c4.5 4.2 7.1 10.1 7.1 16.3c0 12.3-10 22.3-22.3 22.3H304v96c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V256H150.3C138 256 128 246 128 233.7c0-6.2 2.6-12.1 7.1-16.3z\", \"M242.2 117.5L135.1 217.4c-4.5 4.2-7.1 10.1-7.1 16.3c0 12.3 10 22.3 22.3 22.3H208v96c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h57.7c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.1-16.3L269.8 117.5c-3.8-3.5-8.7-5.5-13.8-5.5s-10.1 2-13.8 5.5z\"]]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faSlider = {\n prefix: 'fad',\n iconName: 'slider',\n icon: [512, 512, [], \"e252\", [\"M32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32H224v64H32zm448 0H416V224h64c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M352 160V352H320l0-192h32zM320 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H320z\"]]\n};\nvar faMobileScreenButton = {\n prefix: 'fad',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", [\"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM224 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM304 64H80V384H304V64z\", \"M80 64H304V384H80V64z\"]]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faClockOneThirty = {\n prefix: 'fad',\n iconName: 'clock-one-thirty',\n icon: [512, 512, [], \"e34f\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V263.3l60-90c7.4-11 4.4-25.9-6.7-33.3s-25.9-4.4-33.3 6.7l-64 96c-2.6 3.9-4 8.6-4 13.3V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 416c13.3 0 24-10.7 24-24V263.3l60-90c7.4-11 4.4-25.9-6.7-33.3s-25.9-4.4-33.3 6.7l-64 96c-2.6 3.9-4 8.6-4 13.3V392c0 13.3 10.7 24 24 24z\"]]\n};\nvar faInboxOut = {\n prefix: 'fad',\n iconName: 'inbox-out',\n icon: [512, 512, [128228, \"inbox-arrow-up\"], \"f311\", [\"M124.2 320H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7z\", \"M256 320c17.7 0 32-14.3 32-32V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3V288c0 17.7 14.3 32 32 32z\"]]\n};\nvar faInboxArrowUp = faInboxOut;\nvar faCloudSlash = {\n prefix: 'fad',\n iconName: 'cloud-slash',\n icon: [640, 512, [], \"e137\", [\"M97.2 172.6L487.4 480H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-6.6 .4-13.1 1.2-19.4zM640 352c0 36.6-15.4 69.6-40 93L138.6 83.3C167.8 51.8 209.6 32 256 32c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faVolumeHigh = {\n prefix: 'fad',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", [\"M499.9 36c8.4-10.3 23.5-11.8 33.8-3.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8zm-60.5 74.5c8.4-10.3 23.5-11.8 33.8-3.5c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8zM378.8 185c8.4-10.3 23.5-11.8 33.8-3.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8z\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'fad',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", [\"M175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M41 7C31.6-2.3 16.4-2.3 7 7S-2.3 31.6 7 41l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7zM599 7L527 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM7 505c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9zm592 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72z\"]]\n};\nvar faWallet = {\n prefix: 'fad',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", [\"M0 80C0 53.5 21.5 32 48 32H432c26.5 0 48 21.5 48 48V96v32 8.6c-9.4-5.4-20.3-8.6-32-8.6l-64 0v0H48C21.5 128 0 106.5 0 80z\", \"M48 128H96v0l352 0c.4 0 .9 0 1.3 0c11.2 .2 21.6 3.6 30.7 8.9v-.3c19.1 11.1 32 31.7 32 55.4V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V240 192 80c0 26.5 21.5 48 48 48zM416 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faOctagonCheck = {\n prefix: 'fad',\n iconName: 'octagon-check',\n icon: [512, 512, [], \"e426\", [\"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\", \"M369 175c9.4 9.4 9.4 24.6 0 33.9L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faFlatbreadStuffed = {\n prefix: 'fad',\n iconName: 'flatbread-stuffed',\n icon: [576, 512, [129369], \"e40c\", [\"M233.4 10.1C243.4-.6 259.4-3.1 272.2 4l59.9 32.9c5.8 3.2 12.6 4.5 19.2 3.7l67.9-8.1c7.5-.9 14.9 .9 21 4.8c-5.8 2.7-11.1 6.5-15.8 11.1L304.5 168.3C284.3 153.1 259.2 144 232 144c-66.3 0-120 53.7-120 120c0 27.2 9.1 52.3 24.3 72.5L80.4 392.4c-4 4-7.3 8.5-9.9 13.3l-.9-41.2c-.1-6.7-2.4-13.1-6.4-18.5L22.4 291.3c-8.7-11.7-8.5-27.8 .7-39.2l42.8-53.3c4.2-5.2 6.6-11.6 7-18.2l3.8-68.3c.8-14.6 11.4-26.8 25.7-29.6l67.1-13.3c6.5-1.3 12.5-4.6 17.1-9.5l46.8-49.8zm48.1 181.2L159.3 313.5C149.6 299.4 144 282.4 144 264c0-48.6 39.4-88 88-88c18.4 0 35.4 5.6 49.5 15.3z\", \"M465.4 64c6.8 .4 13.2 3.7 17.4 9C519.1 118.8 544 175.3 544 240c0 150.2-121.8 272-272 272c-64.7 0-121.2-24.9-166.9-61.2c-5.4-4.3-8.6-10.6-9-17.4s2.2-13.5 7-18.3l86-86 86-86 86-86 43-43 43-43c4.8-4.8 11.5-7.4 18.3-7zM272 448a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-48-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faClipboardCheck = {\n prefix: 'fad',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", [\"M113.2 66.3c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M113.2 66.3C93.9 72.6 80 90.7 80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112c0-21.3-13.9-39.4-33.2-45.7C264.4 28.7 231.5 0 192 0s-72.4 28.7-78.8 66.3zM168 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM305 273c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L305 273z\"]]\n};\nvar faCartCirclePlus = {\n prefix: 'fad',\n iconName: 'cart-circle-plus',\n icon: [640, 512, [], \"e3f3\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c29.1-57 88.4-96 156.8-96c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm80 144c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16z\"]]\n};\nvar faTruckClock = {\n prefix: 'fad',\n iconName: 'truck-clock',\n icon: [640, 512, [\"shipping-timed\"], \"f48c\", [\"M224 112v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16zM96 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm288 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576h-1.1c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM208 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]]\n};\nvar faShippingTimed = faTruckClock;\nvar faPool8Ball = {\n prefix: 'fad',\n iconName: 'pool-8-ball',\n icon: [512, 512, [], \"e3c5\", [\"M293.3 174.2C300 166 304 155.5 304 144c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 11.5 4 22 10.7 30.2C207.2 184.5 200 199.4 200 216c0 30.9 25.1 56 56 56s56-25.1 56-56c0-16.6-7.2-31.5-18.7-41.8zM240 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-448a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]]\n};\nvar faFileAudio = {\n prefix: 'fad',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM258 226.3c-7.6-4.6-17.4-2.1-22 5.4s-2.1 17.4 5.4 22C269.4 270.5 288 301.1 288 336s-18.6 65.5-46.5 82.3c-7.6 4.6-10 14.4-5.4 22s14.4 10 22 5.4c37.1-22.4 62-63.1 62-109.7s-24.9-87.3-62-109.7zm-91.9 30.9c-6-2.5-12.9-1.1-17.4 3.5L113.4 296H80c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h33.4l35.3 35.3c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V272c0-6.5-3.9-12.3-9.9-14.8zm51 34.9c-6.6 5.9-7.1 16-1.3 22.6c5.1 5.7 8.1 13.1 8.1 21.3s-3.1 15.7-8.1 21.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C249.8 367.4 256 352.4 256 336s-6.2-31.4-16.3-42.7c-5.9-6.6-16-7.1-22.6-1.3z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM258 226.3c-7.6-4.6-17.4-2.1-22 5.4s-2.1 17.4 5.4 22C269.4 270.5 288 301.1 288 336s-18.6 65.5-46.5 82.3c-7.6 4.6-10 14.4-5.4 22s14.4 10 22 5.4c37.1-22.4 62-63.1 62-109.7s-24.9-87.3-62-109.7zm-91.9 30.9c-6-2.5-12.9-1.1-17.4 3.5L113.4 296H80c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h33.4l35.3 35.3c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V272c0-6.5-3.9-12.3-9.9-14.8zm51 34.9c-6.6 5.9-7.1 16-1.3 22.6c5.1 5.7 8.1 13.1 8.1 21.3s-3.1 15.7-8.1 21.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C249.8 367.4 256 352.4 256 336s-6.2-31.4-16.3-42.7c-5.9-6.6-16-7.1-22.6-1.3z\"]]\n};\nvar faTurnDownLeft = {\n prefix: 'fad',\n iconName: 'turn-down-left',\n icon: [512, 512, [], \"e331\", [\"M192 240v96H400c61.9 0 112-50.1 112-112V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32V224c0 8.8-7.2 16-16 16H192z\", \"M151.5 441.4c7 6.6 17.2 8.4 26 4.6s14.5-12.5 14.5-22l0-272c0-9.6-5.7-18.2-14.5-22s-19-2-26 4.6l-144 136C2.7 275.1 0 281.4 0 288s2.7 12.9 7.5 17.4l144 136z\"]]\n};\nvar faLockHashtag = {\n prefix: 'fad',\n iconName: 'lock-hashtag',\n icon: [448, 512, [], \"e423\", [\"M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80zm96 48c-8.8 0-16 7.2-16 16v32H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v64H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V320h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H192V256c0-8.8-7.2-16-16-16zm16 144V320h64v64H192z\", \"M192 256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v64H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416l64 0v32c0 8.8 7.2 16 16 16s16-7.2 16-16V416h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V320h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H192V256zm64 128H192V320l64 0v64z\"]]\n};\nvar faChartRadar = {\n prefix: 'fad',\n iconName: 'chart-radar',\n icon: [512, 512, [], \"e0e7\", [\"M107.1 63.8C118.6 44.1 139.6 32 162.4 32H349.6c22.8 0 43.8 12.1 55.3 31.8l93.3 160c11.6 19.9 11.6 44.6 0 64.5l-93.3 160c-11.5 19.7-32.5 31.8-55.3 31.8H162.4c-22.8 0-43.8-12.1-55.3-31.8l-93.3-160c-11.6-19.9-11.6-44.6 0-64.5l93.3-160zM349.6 96L162.4 96 69 256l93.3 160H349.6L443 256 349.6 96z\", \"M290.2 180.8c3.7-6.1 5.8-13.2 5.8-20.8c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 3.9 .6 7.7 1.6 11.2L160 248c-22.1 0-40 17.9-40 40s17.9 40 40 40c10.2 0 19.6-3.9 26.7-10.2l97.2 19.4c6.4 13.5 20.2 22.7 36.1 22.7c22.1 0 40-17.9 40-40c0-18.5-12.6-34.1-29.6-38.6L290.2 180.8zm-8.9 107L202 271.9l47.5-63.4 31.7 79.2z\"]]\n};\nvar faStaff = {\n prefix: 'fad',\n iconName: 'staff',\n icon: [512, 512, [], \"f71b\", [\"M156.1 288H112c-8.8 0-16 7.2-16 16v44.1L156.1 288zm205-.7l38.6 21.8c7.7 4.3 17.5 1.6 21.8-6.1l22.2-39.4-82.6 23.6z\", \"M284.2 44.2C297.8 17.1 325.5 0 355.8 0H432c44.2 0 80 35.8 80 80V183.9c0 35.7-23.7 67.1-58 76.9L269.1 313.6c-2.6 .7-5 2.1-6.9 4.1L81.9 497.9c-18.7 18.7-49.1 18.7-67.9 0s-18.7-49.1 0-67.9L200.2 243.9c9.6-9.6 21.5-16.6 34.6-20.4l169.6-48.5c6.9-2 11.6-8.2 11.6-15.4V112c0-8.8-7.2-16-16-16H371.8c-3.7 0-7.2 2.1-8.8 5.5v0c-11.9 23.7-40.7 33.3-64.4 21.5s-33.3-40.7-21.5-64.4l7.2-14.3z\"]]\n};\nvar faBurger = {\n prefix: 'fad',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", [\"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1H61.1zM144 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm240 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM48 384H464c8.8 0 16 7.2 16 16v16c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V400c0-8.8 7.2-16 16-16z\", \"M16 304c0-26.5 21.5-48 48-48H448c26.5 0 48 21.5 48 48s-21.5 48-48 48H64c-26.5 0-48-21.5-48-48z\"]]\n};\nvar faHamburger = faBurger;\nvar faUtilityPole = {\n prefix: 'fad',\n iconName: 'utility-pole',\n icon: [512, 512, [], \"e2c3\", [\"M128 64V56c0-13.3-10.7-24-24-24S80 42.7 80 56v8h48zM48 64V56c0-13.3-10.7-24-24-24S0 42.7 0 56v8H48zm35.2 64L224 221.9V183.4L140.8 128H83.2zM288 183.4v38.5L428.8 128H371.2L288 183.4zM384 64h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8zm80 0h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8z\", \"M256 0c17.7 0 32 14.3 32 32V64H512V96c0 17.7-14.3 32-32 32H288V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32C14.3 128 0 113.7 0 96V64H224V32c0-17.7 14.3-32 32-32z\"]]\n};\nvar faTransporter6 = {\n prefix: 'fad',\n iconName: 'transporter-6',\n icon: [512, 512, [], \"e2a7\", [\"M64 32L56.7 6.6C55.6 2.7 52.1 0 48 0s-7.6 2.7-8.7 6.6L32 32 6.6 39.3C2.7 40.4 0 43.9 0 48s2.7 7.6 6.6 8.7L32 64l7.3 25.4C40.4 93.3 43.9 96 48 96s7.6-2.7 8.7-6.6L64 64l25.4-7.3C93.3 55.6 96 52.1 96 48s-2.7-7.6-6.6-8.7L64 32zM480 384l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 384l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 416l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 416l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 384zM224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M96 480c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faWrench = {\n prefix: 'fad',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", [\"M201.5 214.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c-44.5-16.1-79.9-51.5-96-96zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7H336c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160s71.6 160 160 160z\"]]\n};\nvar faBugs = {\n prefix: 'fad',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", [\"M496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.2-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.8-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2z\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184H64v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.8 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6z\"]]\n};\nvar faVectorPolygon = {\n prefix: 'fad',\n iconName: 'vector-polygon',\n icon: [448, 512, [], \"e2c7\", [\"M128 64v64H320V64H128zm194.2 75.7L292.3 192H320c15.5 0 28.4 11 31.4 25.6l28.4-49.7 4.5-7.9H352c-13.6 0-25.1-8.4-29.8-20.3zM292.3 320l29.9 52.3c4.7-11.9 16.2-20.3 29.8-20.3h32.3l-4.5-7.9-28.4-49.7C348.4 309 335.5 320 320 320H292.3zM320 448V384H128v64H320zM96 352V160H32V352H96z\", \"M32 32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32zM80 80v32H48V80H80zM352 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zm48 48v32H368V80h32zM0 384v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm48 16H80v32H48V400zm304-48c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H352zm48 48v32H368V400h32zM224 224v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32zm48 16h32v32H272V240z\"]]\n};\nvar faDiagramNested = {\n prefix: 'fad',\n iconName: 'diagram-nested',\n icon: [448, 512, [], \"e157\", [\"M64 320V224h64v96c0 17.7 14.3 32 32 32h96v64H160c-53 0-96-43-96-96z\", \"M48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM304 288c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H304z\"]]\n};\nvar faRupeeSign = {\n prefix: 'fad',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", [\"M330 260.4c-6.3 3.3-8.9 7.6-9.5 12c-.9 6 0 8.7 .4 9.8c.4 1.1 1.4 2.6 4.2 4.9c7.2 5.7 18.7 10 37.9 16.8c.4 .2 .9 .3 1.3 .5c16 5.6 38.7 13.6 55.7 28.1c9.5 8.1 17.9 18.6 23.1 32.3c5.1 13.7 6.1 28.5 3.8 44c-4.2 28.1-20.5 49.3-43.8 60.9c-22.1 11-48.1 12.5-73.2 8l-.2 0 0 0c-9.3-1.8-20.5-5.7-29.3-9c-6-2.3-12.6-4.9-17.7-6.9c-2.5-1-4.6-1.8-6.3-2.5c-16.5-6.4-24.6-25-18.2-41.4s24.9-24.6 41.4-18.2c2.6 1 5.2 2 7.9 3.1c4.8 1.9 9.8 3.9 15.4 6c8.8 3.3 15.3 5.4 18.7 6c15.7 2.8 26.7 .8 32.9-2.3c5-2.5 8-6 9.1-13c1-6.9 .2-10.5-.5-12.3c-.6-1.7-1.8-3.5-4.5-5.9c-6.9-5.8-18.2-10.4-36.9-17c-1-.3-2-.7-3-1.1c-15.5-5.4-37-13-53.3-25.9c-9.5-7.5-18.3-17.6-23.7-31c-5.5-13.4-6.6-28-4.4-43.2c8.4-57.1 67-78 116.9-68.9c6.9 1.3 27.3 5.8 35.4 8.4c16.9 5.2 26.3 23.2 21.1 40.1s-23.2 26.3-40.1 21.1c-4.7-1.4-22.3-5.5-27.9-6.5l0 0c-14.6-2.7-25.8-.4-32.6 3.2z\", \"M32 32C14.3 32 0 46.3 0 64V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h42.3l56 139.9c6.6 16.4 25.2 24.4 41.6 17.8s24.4-25.2 17.8-41.6L170.3 307.7C220.8 285.3 256 234.8 256 176c0-79.5-64.5-144-144-144H32zm80 224H64V96h48c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'fad',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm88 32c-5.3 0-10.2 2.6-13.2 6.9l-48.3 70.2-12.8-21.4c-2.9-4.8-8.1-7.8-13.7-7.8s-10.8 2.9-13.7 7.8l-48 80c-3 4.9-3 11.1-.2 16.1s8.2 8.1 13.9 8.1h48 48 40 88c5.9 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-88-128c-3-4.3-7.9-6.9-13.2-6.9z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM229.2 294.9c-3-4.3-7.9-6.9-13.2-6.9s-10.2 2.6-13.2 6.9l-48.3 70.2-12.8-21.4c-2.9-4.8-8.1-7.8-13.7-7.8s-10.8 2.9-13.7 7.8l-48 80c-3 4.9-3 11.1-.2 16.1s8.2 8.1 13.9 8.1h48 48 40 88c5.9 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-88-128z\"]]\n};\nvar faCircleQuestion = {\n prefix: 'fad',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M222.6 128c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V264c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faImageUser = {\n prefix: 'fad',\n iconName: 'image-user',\n icon: [512, 512, [], \"e1b8\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H171.4c-15.1 0-27.4-12.3-27.4-27.4z\", \"M256 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-43.4 32c-37.9 0-68.6 30.7-68.6 68.6c0 15.1 12.3 27.4 27.4 27.4H340.6c15.1 0 27.4-12.3 27.4-27.4c0-37.9-30.7-68.6-68.6-68.6H212.6z\"]]\n};\nvar faBuoy = {\n prefix: 'fad',\n iconName: 'buoy',\n icon: [576, 512, [], \"e5b5\", [\"M192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\", \"M391 64H325.8l9.8 49L288 168.5 240.4 113l9.8-49H185L133.8 320H96c-17.7 0-32 14.3-32 32v16c0 8.2 .7 16.1 2 23.9c21-11.1 46.9-9.9 66.9 4.2c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c20-14.1 45.9-15.3 66.9-4.2c1.3-7.8 2-15.8 2-23.9V352c0-17.7-14.3-32-32-32H442.2L391 64zM347.5 172.8l17 84.9-44.9-52.4 27.9-32.6zm-91.1 32.6l-44.9 52.4 17-84.9 27.9 32.6zM221.3 320L288 242.2 354.7 320H221.3z\"]]\n};\nvar faPlaneDeparture = {\n prefix: 'fad',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", [\"M0 480c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M381 114.9L186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240 77.8 214.1c-8.7-3.9-18.8-3.7-27.3 .6L18.3 230.8c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2H248.4c5 0 9.9-1.2 14.3-3.4L535.6 212.2c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48H542.8c-20.2 0-40.2 4.8-58.2 14L381 114.9z\"]]\n};\nvar faHandshakeSlash = {\n prefix: 'fad',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", [\"M495.8 363.3c-1.1-11.3-6.3-22.3-15.3-30.7l-134.2-123-23.4 18.2L495.8 363.3zM296.9 207.4l77.2-60.1c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2l-89.7 72.6 63.2 49.6zm-89.1-69.8l81.8-66.2c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-35.5 23.7 43.3 34zM413.6 421.9L128 196.8V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c.8-.8 1.5-1.7 2.2-2.6zM96 171.6L40.6 128H16c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V171.6zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBookBookmark = {\n prefix: 'fad',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 352V190.7c0 13.4-15.5 20.9-26 12.5L272 160l-54 43.2c-10.5 8.4-26 .9-26-12.5V0H96z\"]]\n};\nvar faBorderCenterH = {\n prefix: 'fad',\n iconName: 'border-center-h',\n icon: [448, 512, [], \"f89c\", [\"M32 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM320 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-448a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-448a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM416 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\", \"M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faCanFood = {\n prefix: 'fad',\n iconName: 'can-food',\n icon: [384, 512, [129387], \"e3e6\", [\"M192 128c97.2 0 176-28.7 176-64s-78.8-64-176-64S16 28.7 16 64s78.8 64 176 64zm0 256a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M320 434.3V275.4c-14.1 6.1-30.7 11.2-49.2 15C264.4 252.7 231.5 224 192 224s-72.4 28.7-78.8 66.4c-18.5-3.8-35.1-8.9-49.2-15V434.3c3.4 3 10.2 7.5 21.7 12.2C110.5 456.6 148.1 464 192 464s81.5-7.4 106.3-17.5c11.5-4.7 18.3-9.2 21.7-12.2zm48 5.7c0 39.8-78.8 72-176 72s-176-32.2-176-72V72c0-1.4 .1-2.8 .3-4.2C21.7 101.4 98.3 128 192 128s170.3-26.6 175.7-60.2c.2 1.4 .3 2.8 .3 4.2V440z\"]]\n};\nvar faTypewriter = {\n prefix: 'fad',\n iconName: 'typewriter',\n icon: [512, 512, [], \"f8e7\", [\"M64 64C64 28.7 92.7 0 128 0H354.7c17 0 33.3 6.7 45.3 18.7L429.3 48c12 12 18.7 28.3 18.7 45.3V192H365.3c-8.5 0-16.6 3.4-22.6 9.4l-13.3 13.3c-6 6-14.1 9.4-22.6 9.4H205.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H64V64z\", \"M448 93.3V96H384c-17.7 0-32-14.3-32-32V0h2.7c17 0 33.3 6.7 45.3 18.7L429.3 48c12 12 18.7 28.3 18.7 45.3zM0 256V224c0-17.7 14.3-32 32-32H146.7c8.5 0 16.6 3.4 22.6 9.4l13.3 13.3c6 6 14.1 9.4 22.6 9.4H306.7c8.5 0 16.6-3.4 22.6-9.4l13.3-13.3c6-6 14.1-9.4 22.6-9.4H480c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288c-17.7 0-32-14.3-32-32zm176 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm96 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm96 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM80 304a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 128c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zm0-64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faArrowRightFromArc = {\n prefix: 'fad',\n iconName: 'arrow-right-from-arc',\n icon: [512, 512, [], \"e4b1\", [\"M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M345.4 121.4c12.5-12.5 32.8-12.5 45.3 0l112 112c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 288H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H402.7l-57.4-57.4c-12.5-12.5-12.5-32.8 0-45.3z\"]]\n};\nvar faCircleK = {\n prefix: 'fad',\n iconName: 'circle-k',\n icon: [512, 512, [], \"e113\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm89.1-343.2l-73.1 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L238 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L310.9 135.2c9.3-9.5 24.5-9.6 33.9-.3s9.6 24.5 .3 33.9z\", \"M344.8 134.9c9.5 9.3 9.6 24.5 .3 33.9l-73.1 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L238 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L310.9 135.2c9.3-9.5 24.5-9.6 33.9-.3z\"]]\n};\nvar faFaceHandOverMouth = {\n prefix: 'fad',\n iconName: 'face-hand-over-mouth',\n icon: [512, 512, [129762], \"e378\", [\"M512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0L207 301.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V384v32.8c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM208.4 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M208.4 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm90.9 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L257.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3zM336.4 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faPopcorn = {\n prefix: 'fad',\n iconName: 'popcorn',\n icon: [448, 512, [127871], \"f819\", [\"M32 156c0 1.8 .1 3.5 .3 5.2c3.3-.8 6.7-1.2 10.2-1.2h77.3H328.2h77.3c3.5 0 6.9 .4 10.2 1.2c.2-1.7 .3-3.5 .3-5.2c0-20.9-14.5-38.3-34-42.9c1.3-4.2 2-8.6 2-13.1c0-24.3-19.7-44-44-44c-1.9 0-3.7 .1-5.6 .3C329.3 37.7 312.3 24 292 24c-8.5 0-16.5 2.4-23.2 6.6C261.8 12.7 244.4 0 224 0s-37.8 12.7-44.8 30.6C172.5 26.4 164.5 24 156 24c-20.3 0-37.3 13.7-42.4 32.3c-1.8-.2-3.7-.3-5.6-.3c-24.3 0-44 19.7-44 44c0 4.6 .7 9 2 13.1c-19.5 4.5-34 22-34 42.9z\", \"M1.4 213.3L70.6 476.2C76.1 497.3 95.2 512 117 512H331c21.8 0 40.9-14.7 46.4-35.8l69.2-262.9c.9-3.5 1.4-7.2 1.4-10.8c0-23.5-19-42.5-42.5-42.5H42.5C19 160 0 179 0 202.5c0 3.7 .5 7.3 1.4 10.8zm126.4 8.4l32 224c1.2 8.7-4.8 16.9-13.6 18.1s-16.9-4.8-18.1-13.6l-32-224c-1.2-8.7 4.8-16.9 13.6-18.1s16.9 4.8 18.1 13.6zm224 4.5l-32 224c-1.2 8.7-9.4 14.8-18.1 13.6s-14.8-9.4-13.6-18.1l32-224c1.3-8.7 9.4-14.8 18.1-13.6s14.8 9.4 13.6 18.1zM240 224V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faHouseWater = {\n prefix: 'fad',\n iconName: 'house-water',\n icon: [576, 512, [\"house-flood\"], \"f74f\", [\"M575.8 255.5c0 18-15 32.1-32 32.1h-32l.5 105.6c-21.3-12.4-48.3-11.6-69.1 3c-18 12.4-40.1 20.3-59.2 20.3c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-19 0-41.2-7.9-59.2-20.3c-20.6-14.5-47.5-15.4-68.8-3.1V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24zM248 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H248z\", \"M269.5 421.9c11.1-7.9 25.9-7.9 37 0C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1z\"]]\n};\nvar faHouseFlood = faHouseWater;\nvar faObjectSubtract = {\n prefix: 'fad',\n iconName: 'object-subtract',\n icon: [512, 512, [], \"e49e\", [\"M64 288L64 64l224 0 0 224L64 288zm224 64c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 288c0 35.3 28.7 64 64 64l224 0z\", \"M448 512c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64l-96 0 0 128c0 35.3-28.7 64-64 64l-128 0 0 96c0 35.3 28.7 64 64 64l224 0z\"]]\n};\nvar faCodeBranch = {\n prefix: 'fad',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", [\"M112 153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7L48 352l0 6.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V352c0-35.3 28.7-64 64-64h96c70.7 0 128-57.3 128-128v-6.7c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V160c0 35.3-28.7 64-64 64H176c-23.3 0-45.2 6.2-64 17.1V153.3z\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 80 0a80 80 0 1 0 0 160zM368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 368 0a80 80 0 1 0 0 160zM56 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0A80 80 0 1 0 0 432a80 80 0 1 0 160 0z\"]]\n};\nvar faWarehouseFull = {\n prefix: 'fad',\n iconName: 'warehouse-full',\n icon: [640, 512, [\"warehouse-alt\"], \"f495\", [\"M128 248c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V248zM352 408c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V408zM152 384H296c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\", \"M0 171.3V488c0 13.3 10.7 24 24 24H72c13.3 0 24-10.7 24-24V224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V488c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V171.3c0-26.2-15.9-49.7-40.2-59.4L331.9 4.8c-7.6-3.1-16.1-3.1-23.8 0L40.2 111.9C15.9 121.6 0 145.2 0 171.3z\"]]\n};\nvar faWarehouseAlt = faWarehouseFull;\nvar faHatCowboy = {\n prefix: 'fad',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", [\"M144.3 286.1C189.1 304.7 248 320 320.1 320c72 0 130.8-15.3 175.6-33.8c-1.1-6.8-5.4-32.2-12.4-64.4C444.2 239.6 389.5 256 320 256s-124.2-16.4-163.3-34.2c-7 32.2-11.3 57.5-12.4 64.4z\", \"M320 64c14.4 0 22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c42.7 0 74.7 113.9 91.3 189.8C444.2 239.6 389.5 256 320 256s-124.2-16.4-163.3-34.2C173.3 145.9 205.3 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]]\n};\nvar faBridge = {\n prefix: 'fad',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", [\"M0 64C0 46.3 14.3 32 32 32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H504v64H456V96H376v64H328V96H248v64H200V96H120v64H72V96H32C14.3 96 0 81.7 0 64z\", \"M0 160H576V288c-53 0-96 43-96 96v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96s-96 43-96 96v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384c0-53-43-96-96-96V160z\"]]\n};\nvar faPhoneFlip = {\n prefix: 'fad',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", [\"M6.3 412.3l8.5 31.2c71.8-8.7 138.9-32.9 197.8-69.1l-20.5-25C136.7 382.8 73.7 404.8 6.3 412.3zM412.3 6.3c-7.5 67.4-29.5 130.4-62.9 185.8l25 20.5c36.2-58.9 60.4-125.9 69.2-197.8L412.3 6.3z\", \"M443.6 14.8l39 10.6C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-10.6-39c224-27.2 401.6-204.8 428.8-428.8zM6.3 412.3L1.4 394.5c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6l25.1 30.7C136.7 382.8 73.7 404.8 6.3 412.3zM349.4 192.1L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96c7.7-18.6 28-28.5 47.4-23.2l17.8 4.9c-7.5 67.4-29.5 130.4-62.9 185.8z\"]]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faArrowDownFromDottedLine = {\n prefix: 'fad',\n iconName: 'arrow-down-from-dotted-line',\n icon: [448, 512, [], \"e090\", [\"M0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64zm96 0a32 32 0 1 0 64 0A32 32 0 1 0 96 64zM224 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM416 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M201.4 470.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 370.7V304 192c0-17.7-14.3-32-32-32s-32 14.3-32 32V304v66.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]]\n};\nvar faFileDoc = {\n prefix: 'fad',\n iconName: 'file-doc',\n icon: [512, 512, [], \"e5ed\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM176 352c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16h32c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H176zm16 128V384h16c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H192zM456 352c-22.1 0-40 17.9-40 40v80c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40v-8c0-8.8-7.2-16-16-16s-16 7.2-16 16v8c0 4.4-3.6 8-8 8H456c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-22.1-17.9-40-40-40H456zM288 392v80c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8z\"]]\n};\nvar faSquareQuarters = {\n prefix: 'fad',\n iconName: 'square-quarters',\n icon: [448, 512, [], \"e44e\", [\"M224 256L384 96V416L224 256zM64 416V96L224 256 64 416z\", \"M384 96V416H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faTruckFront = {\n prefix: 'fad',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", [\"M112 224l17.9-71.8c3.6-14.2 16.4-24.2 31-24.2H351c14.7 0 27.5 10 31 24.2L400 224H112zM32 480V432c13.4 10 30 16 48 16h48v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zm352 0V448h48c18 0 34.6-6 48-16v48c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32z\", \"M80 0C35.8 0 0 35.8 0 80V368c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H80zm32 224l17.9-71.8c3.6-14.2 16.4-24.2 31-24.2H351c14.7 0 27.5 10 31 24.2L400 224H112zM64 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm352-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faCat = {\n prefix: 'fad',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", [\"M300.6 193l-9.7 48.4c-1.3 6.3-9 8.6-13.5 4.1L241 209c18.5-8.4 38.6-13.9 59.6-16zM224 217.7v57.4c0 5.9-6.3 9.8-11.6 7.2l-40.6-20.3c14.6-17.7 32.2-32.7 52.2-44.2z\", \"M320 192h17.1c22.1 38.3 63.5 64 110.9 64c11 0 21.8-1.4 32-4v4 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L280 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7s18.2-30 35.7-27.8l7.9 1c48 6 84.1 46.8 84.1 95.3l0 63.5 0 21.8c3.7-5.5 7.6-10.8 11.8-15.9l40.6 20.3c5.3 2.7 11.6-1.2 11.6-7.2V217.7c5.5-3.2 11.2-6.1 17-8.7l36.5 36.5c4.5 4.5 12.2 2.2 13.5-4.1l9.7-48.4c6.4-.6 12.8-1 19.4-1zm160 26.5v0c-10 3.5-20.8 5.5-32 5.5c-28.4 0-54-12.4-71.6-32h0c-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128v0V32 12 10.7C352 4.8 356.7 .1 362.6 0h.2c3.3 0 6.4 1.6 8.4 4.2l0 .1L384 21.3l27.2 36.3L416 64h64l4.8-6.4L512 21.3 524.8 4.3l0-.1c2-2.6 5.1-4.2 8.4-4.2h.2C539.3 .1 544 4.8 544 10.7V12 32v96c0 17.3-4.6 33.6-12.6 47.6c-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faTrashXmark = {\n prefix: 'fad',\n iconName: 'trash-xmark',\n icon: [448, 512, [], \"e2b4\", [\"M416 96H32L53.4 466.8c1.5 25.4 22.5 45.2 47.9 45.2H346.7c25.4 0 46.5-19.8 47.9-45.2L416 96zM143 207c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M135.2 17.7C140.6 6.8 151.7 0 163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3zM143 207c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faCircleCaretLeft = {\n prefix: 'fad',\n iconName: 'circle-caret-left',\n icon: [512, 512, [\"caret-circle-left\"], \"f32e\", [\"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zm-368 0c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\", \"M151.7 238.4c-4.9 4.5-7.7 10.9-7.7 17.6s2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-208c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104z\"]]\n};\nvar faCaretCircleLeft = faCircleCaretLeft;\nvar faFiles = {\n prefix: 'fad',\n iconName: 'files',\n icon: [448, 512, [], \"e178\", [\"M160 0H352V64c0 17.7 14.3 32 32 32h64V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64z\", \"M352 0V64c0 17.7 14.3 32 32 32h64L352 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'fad',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", [\"M288 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 32c0 33.4-17 62.8-42.9 80H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H320V368v80h19.2c12.6 24.7 30.9 46 53 62.2c-7.9 1.2-16 1.8-24.2 1.8H288 208c-88.4 0-160-71.6-160-160v-6.1l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56-56c9.4-9.4 24.6-9.4 33.9 0l56 56c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7V352c0 53 43 96 96 96h48V240H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.9C209 158.8 192 129.4 192 96c0-53 43-96 96-96s96 43 96 96z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faFaceClouds = {\n prefix: 'fad',\n iconName: 'face-clouds',\n icon: [640, 512, [], \"e47d\", [\"M72.1 192c-5.3 20.5-8.1 41.9-8.1 64c0 114.6 75.4 211.7 179.3 244.3c-12.1-17-19.3-37.8-19.3-60.3c0-50.6 36.2-92.8 84.1-102.1C321.2 290.7 364.6 256 416 256c29.1 0 55.6 11.1 75.5 29.2c8.9-3.4 18.5-5.2 28.5-5.2c20 0 38.3 7.3 52.3 19.5c2.4-14.1 3.7-28.7 3.7-43.5C576 114.6 461.4 0 320 0c-20.6 0-40.7 2.4-59.9 7C295.2 21.3 320 55.8 320 96c0 39.6-24 73.6-58.2 88.3c6.5 5.9 10.5 14.3 10.5 23.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-5.8 1.6-11.3 4.3-16H72.1zm328.3-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M128 0C104.3 0 83.6 12.9 72.6 32H64C28.7 32 0 60.7 0 96s28.7 64 64 64H224c35.3 0 64-28.7 64-64s-28.7-64-64-64c-13.2 0-25.4 4-35.6 10.8C179.7 17.9 155.9 0 128 0zM416 288c-44.2 0-80 35.8-80 80h-8c-39.8 0-72 32.2-72 72s32.2 72 72 72H568c39.8 0 72-32.2 72-72s-32.2-72-72-72h-.7c.4-2.6 .7-5.3 .7-8c0-26.5-21.5-48-48-48c-13.9 0-26.4 5.9-35.1 15.3C470.9 303.8 445.3 288 416 288z\"]]\n};\nvar faUserCrown = {\n prefix: 'fad',\n iconName: 'user-crown',\n icon: [448, 512, [], \"f6a4\", [\"M96 128H352c0 70.7-57.3 128-128 128s-128-57.3-128-128z\", \"M352 80v48H320 304 144 128 96V80 42.3v-.1V39 16c0-8.8 7.2-16 16-16h2.4c3.6 0 7.2 1.2 10 3.5L140 16l3 2.4c.3 .2 .6 .4 .8 .6l.1 .1c10.2 7.5 23.8 8.3 34.9 2L209.1 4c4.6-2.6 9.7-4 14.9-4s10.4 1.4 14.9 4l30.2 17.2c11 6.3 24.7 5.5 34.9-2l.1-.1c.3-.2 .6-.4 .8-.6l3-2.4L323.6 3.5c2.8-2.3 6.4-3.5 10-3.5H336c8.8 0 16 7.2 16 16V39v3.2 .1V80zM0 472c0-92.8 75.2-168 168-168H280c92.8 0 168 75.2 168 168v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8z\"]]\n};\nvar faTruckField = {\n prefix: 'fad',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", [\"M176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm288 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M32 96c0-35.3 28.7-64 64-64H320c23.7 0 44.4 12.9 55.4 32h51.8c25.3 0 48.2 14.9 58.5 38l52.8 118.8c.5 1.1 .9 2.1 1.3 3.2H544c35.3 0 64 28.7 64 64v32c17.7 0 32 14.3 32 32s-14.3 32-32 32H574.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V288c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V96zM384 224h85.9l-42.7-96H384v96z\"]]\n};\nvar faRoute = {\n prefix: 'fad',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", [\"M358.6 192c17.1 26 35.4 48 44.1 58c3.3 3.9 8.2 6 13.3 6H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c53 0 96 43 96 96s-43 96-96 96H96c5.1 0 9.9-2.1 13.3-6c8.7-10.1 27-32 44.1-58H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-53 0-96-43-96-96s43-96 96-96h38.6z\", \"M320 96c0 54.5 63.8 132.1 82.7 154c3.3 3.9 8.2 6 13.3 6s9.9-2.1 13.3-6c19-21.9 82.7-99.6 82.7-154c0-53-43-96-96-96s-96 43-96 96zm64 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 352c0 54.5 63.8 132.1 82.7 154c3.3 3.9 8.2 6 13.3 6s9.9-2.1 13.3-6c19-21.9 82.7-99.6 82.7-154c0-53-43-96-96-96s-96 43-96 96zm64 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faCartCircleCheck = {\n prefix: 'fad',\n iconName: 'cart-circle-check',\n icon: [640, 512, [], \"e3f1\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c29.1-57 88.4-96 156.8-96c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faClipboardQuestion = {\n prefix: 'fad',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", [\"M270.8 66.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3zm-165 178.9c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 344.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V330.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M270.8 66.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7C119.6 28.7 152.5 0 192 0s72.4 28.7 78.8 66.3zM216 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM105.8 245.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 344.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V330.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faPanorama = {\n prefix: 'fad',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", [\"M45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32zM96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm272 0c7.9 0 15.4 3.9 19.8 10.5L512.3 353c5.4 8 5.6 18.4 .4 26.5s-14.7 12.3-24.2 10.7C442.7 382.4 385.2 376 320 376c-65.6 0-123.4 6.5-169.3 14.4c-9.8 1.7-19.7-2.9-24.7-11.5s-4.3-19.4 1.9-27.2L197.3 265c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l26.4 33.1 87-127.6c4.5-6.6 11.9-10.5 19.8-10.5z\", \"M387.8 170.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L234.7 265c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-69.4 86.7c-6.2 7.8-7 18.6-1.9 27.2s14.9 13.1 24.7 11.5C196.6 382.5 254.4 376 320 376c65.2 0 122.7 6.4 168.4 14.2c9.5 1.6 19-2.6 24.2-10.7s5.1-18.5-.4-26.5L387.8 170.5z\"]]\n};\nvar faCommentMedical = {\n prefix: 'fad',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM224 160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V272H176c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16h48V160z\", \"M240 144c-8.8 0-16 7.2-16 16v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272h48c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16l-48 0V160c0-8.8-7.2-16-16-16H240z\"]]\n};\nvar faTeethOpen = {\n prefix: 'fad',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", [\"M224 96c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V144c0-26.5-21.5-48-48-48zm128 0c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V144c0-26.5-21.5-48-48-48zM48 176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zm432-48c-26.5 0-48 21.5-48 48v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 368c0 26.5 21.5 48 48 48s48-21.5 48-48V344c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V344c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V344c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V344c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\", \"M96 32C43 32 0 75 0 128v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-53-43-96-96-96H96zM224 96c26.5 0 48 21.5 48 48v56c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V144c0-26.5 21.5-48 48-48zm80 48c0-26.5 21.5-48 48-48s48 21.5 48 48v56c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V144zM96 128c26.5 0 48 21.5 48 48v24c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V176c0-26.5 21.5-48 48-48zm336 48c0-26.5 21.5-48 48-48s48 21.5 48 48v24c0 13.3-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V176zM96 480H480c53 0 96-43 96-96V352c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v32c0 53 43 96 96 96zm0-64c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48zm176 48c-26.5 0-48-21.5-48-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48zm80-48V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24c0 26.5-21.5 48-48 48s-48-21.5-48-48z\"]]\n};\nvar faUserTieHairLong = {\n prefix: 'fad',\n iconName: 'user-tie-hair-long',\n icon: [448, 512, [], \"e460\", [\"M257.9 66.2C241 93.7 210.6 112 176 112H128l0 48c0 53 43 96 96 96s96-43 96-96l0-64h-8c-22.8 0-42.8-11.9-54.1-29.8z\", \"M176 112H128h0v48c0 53 43 96 96 96s96-43 96-96V128h0V96h-8c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112zm48 160H70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128h0C96 57.3 153.3 0 224 0c70.6 0 127.8 57.1 128 127.6v.8l0 .2V139c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224zm-14.9 87.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 39.5-161.2c77.2 12 136.3 78.8 136.3 159.4c0 17-13.8 30.7-30.7 30.7H265.1 182.9 30.7C13.8 512 0 498.2 0 481.3c0-80.6 59.1-147.4 136.3-159.4l39.5 161.2 33.4-123.9z\"]]\n};\nvar faFileCircleMinus = {\n prefix: 'fad',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]]\n};\nvar faHeadSideMedical = {\n prefix: 'fad',\n iconName: 'head-side-medical',\n icon: [512, 512, [], \"f809\", [\"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM192 112v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H256V112c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\", \"M208 96c-8.8 0-16 7.2-16 16v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16l-48 0V112c0-8.8-7.2-16-16-16H208z\"]]\n};\nvar faTags = {\n prefix: 'fad',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", [\"M311.1 38.9c9.4-9.3 24.6-9.2 33.9 .2L472.8 168.4c52.4 53 52.4 138.2 0 191.2L360.8 472.9c-9.3 9.4-24.5 9.5-33.9 .2s-9.5-24.5-.2-33.9L438.6 325.9c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6 .2-33.9z\", \"M0 80V229.5c0 17 6.7 33.3 18.7 45.3l168 168c25 25 65.5 25 90.5 0L410.7 309.3c25-25 25-65.5 0-90.5l-168-168c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faWineGlass = {\n prefix: 'fad',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", [\"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM81.9 203.1L93.4 64H226.6l11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\", \"M88.1 128l-6.3 75.1C78 248.8 114.1 288 160 288s82-39.2 78.1-84.9L231.9 128H88.1z\"]]\n};\nvar faForwardFast = {\n prefix: 'fad',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", [\"M480 448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32z\", \"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4L224 214.3V96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4L448 214.3v83.3L276.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V297.7L52.5 440.6z\"]]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'fad',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faUserRobot = {\n prefix: 'fad',\n iconName: 'user-robot',\n icon: [448, 512, [], \"e04b\", [\"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64h32V16zM64 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H80V128H64zM176 464c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h32V464zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h32V464zm48-16c-8.8 0-16 7.2-16 16v48h32V464c0-8.8-7.2-16-16-16zM416 160c0-17.7-14.3-32-32-32H368V256h16c17.7 0 32-14.3 32-32V160z\", \"M80 128c0-35.3 28.7-64 64-64H304c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H144c-35.3 0-64-28.7-64-64V128zm112 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM144 256a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm80-16a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48 16a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zM0 448c0-53 43-96 96-96H352c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32H352V448c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32-14.3-32-32V448z\"]]\n};\nvar faSquareParking = {\n prefix: 'fad',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 256h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H192v64zm48 64H192v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V288 168c0-22.1 17.9-40 40-40h72c53 0 96 43 96 96s-43 96-96 96z\", \"M192 192h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H192V192zm0 128h48c53 0 96-43 96-96s-43-96-96-96H168c-22.1 0-40 17.9-40 40V288v64c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\"]]\n};\nvar faParking = faSquareParking;\nvar faCardDiamond = {\n prefix: 'fad',\n iconName: 'card-diamond',\n icon: [384, 512, [], \"e3ea\", [\"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm180.7 84.7l-96 96c-6.2 6.2-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0z\", \"M203.3 148.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96z\"]]\n};\nvar faFaceZipper = {\n prefix: 'fad',\n iconName: 'face-zipper',\n icon: [512, 512, [], \"e3a5\", [\"M512 256c0 34.9-7 68.1-19.6 98.4l-51.8-25.9c-18.5-9.2-40.8-5.6-55.4 9l-15.7 15.7c-14.6 14.6-18.2 36.9-9 55.4l29.1 58.1c1 2 2 3.9 3.1 5.7C353.2 497.5 306.3 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336zm48-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\", \"M208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM389.2 394.3l29.1 58.1c14.7 29.3 53.7 35.6 76.9 12.5l1.8-1.8c23.2-23.2 16.8-62.2-12.5-76.9l-58.1-29.1c-6.2-3.1-13.6-1.9-18.5 3l-15.7 15.7c-4.9 4.9-6.1 12.3-3 18.5zm91.3 38.2l-16 16c-4.7 4.7-12.3 4.7-17 0s-4.7-12.3 0-17l16-16c4.7-4.7 12.3-4.7 17 0s4.7 12.3 0 17zM336.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faFaceRaisedEyebrow = {\n prefix: 'fad',\n iconName: 'face-raised-eyebrow',\n icon: [512, 512, [], \"e388\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208.4-16a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM144 352c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM328.8 141.8c10.7-10.7 28.5-8.9 36.9 3.7l4.9 7.4c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-4.9-7.4c-19.6-29.4-61.2-33.5-86.2-8.5l-29.5 29.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l29.5-29.5zM128 144c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\", \"M328.8 141.8c10.7-10.7 28.5-8.9 36.9 3.7l4.9 7.4c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-4.9-7.4c-19.6-29.4-61.2-33.5-86.2-8.5l-29.5 29.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l29.5-29.5zM128 144c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128zm80.4 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faHouseSignal = {\n prefix: 'fad',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", [\"M357.7 8.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.4 8.6-12.7 22-8.5 34c18.3 5.3 35.9 12.6 52.3 21.6H160v5.7c56.8 34.2 99.6 89.1 118.1 154.3H464c26.5 0 48-21.5 48-48V256h32c13.2 0 25-8.1 29.8-20.3s1.6-26.2-8.1-35.2l-208-192zM288 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V208z\", \"M0 280c0-13.3 10.7-24 24-24c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24zM0 480a32 32 0 1 1 64 0A32 32 0 1 1 0 480zM24 352c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faSquareChevronUp = {\n prefix: 'fad',\n iconName: 'square-chevron-up',\n icon: [448, 512, [\"chevron-square-up\"], \"f32c\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM241 167L345 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 167c9.4-9.4 24.6-9.4 33.9 0z\", \"M207 167c9.4-9.4 24.6-9.4 33.9 0L345 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 167z\"]]\n};\nvar faChevronSquareUp = faSquareChevronUp;\nvar faNfcSymbol = {\n prefix: 'fad',\n iconName: 'nfc-symbol',\n icon: [512, 512, [], \"e531\", [\"M386.3 475.7c-12 6.9-27.1 5.4-37.4-3.9l-178.3-160c-13.2-11.8-14.2-32-2.4-45.2s32-14.2 45.2-2.4L373.2 407.7C418.5 373.2 448 317.4 448 256c0-69.6-37.9-132-93.7-164.3C339 82.9 333.7 63.3 342.6 48s28.4-20.5 43.7-11.7C461.6 79.9 512 163.2 512 256s-50.3 176.1-125.7 219.7z\", \"M125.7 36.3c12-6.9 27.1-5.4 37.4 3.9l178.3 160c13.2 11.8 14.2 32 2.4 45.2s-32 14.2-45.2 2.4L138.8 104.4C93.5 138.8 64 194.6 64 256c0 69.6 37.9 132 93.7 164.3c15.3 8.8 20.5 28.4 11.7 43.7s-28.4 20.5-43.7 11.7C50.3 432.1 0 348.8 0 256S50.3 79.9 125.7 36.3z\"]]\n};\nvar faBarsProgress = {\n prefix: 'fad',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", [\"M320 224H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H320v64H448v32H320v64zM192 448H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H192v64H448v32H192v64z\", \"M0 112C0 85.5 21.5 64 48 64H320V224H48c-26.5 0-48-21.5-48-48V112zM0 336c0-26.5 21.5-48 48-48H192V448H48c-26.5 0-48-21.5-48-48V336z\"]]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'fad',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", [\"M192 32V44l32 4 32-4V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zm0 52v76H173.3c-8.5 0-16.6 3.4-22.6 9.4L128 192H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H132.1c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48H352c17.7 0 32 14.3 32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160H320l-22.6-22.6c-6-6-14.1-9.4-22.6-9.4H256V84l-32-4-32 4z\", \"M224 80L96 96C78.3 96 64 81.7 64 64s14.3-32 32-32L224 48 352 32c17.7 0 32 14.3 32 32s-14.3 32-32 32L224 80zM436.8 423.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4z\"]]\n};\nvar faArrowsToLine = {\n prefix: 'fad',\n iconName: 'arrows-to-line',\n icon: [448, 512, [], \"e0a7\", [\"M0 256c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 224c-17.7 0-32 14.3-32 32z\", \"M224 0c17.7 0 32 14.3 32 32V64h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32V32c0-17.7 14.3-32 32-32zM137.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H256v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9z\"]]\n};\nvar faDolphin = {\n prefix: 'fad',\n iconName: 'dolphin',\n icon: [512, 512, [], \"e168\", [\"M477.3 24.9c3.5-5.3 3.6-12.2 .1-17.6S467.7-.8 461.4 .2c-16.7 2.8-43.1 8.6-68.8 17C378 22 362.5 28 349 35.3C306.5 12.8 258 0 206.5 0H176C96.5 0 32 64.5 32 144c0 18.6 3.5 36.4 10 52.7L20.5 209.6C7.8 217.2 0 231 0 245.8C0 269.1 18.9 288 42.2 288H176h16 11.2l92 61.3c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V288h6.6c31.7 0 57.4 25.7 57.4 57.4c0 30.6-24 55.8-54.5 57.3l-53.4 2.7c-20.2-33-56.3-53.4-95.4-53.4H176c-5.5 0-10.7 2.9-13.6 7.6s-3.2 10.6-.7 15.6L190.1 432l-28.4 56.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h4.7c35.9 0 69.2-17.1 90.1-45.4l68 3.8c94.1 5.2 173.3-70 173.3-164.3c0-80.8-31.4-154.5-82.7-209.3l48-72zM176 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M152 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faArrowUpRight = {\n prefix: 'fad',\n iconName: 'arrow-up-right',\n icon: [384, 512, [], \"e09f\", [\"M288 205.3L86.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 160H288v45.3z\", \"M352 128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H288V352c0 17.7 14.3 32 32 32s32-14.3 32-32V128z\"]]\n};\nvar faCircleR = {\n prefix: 'fad',\n iconName: 'circle-r',\n icon: [512, 512, [], \"e120\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H288c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L252 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24zm80 112h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64h56z\", \"M160 152c0-13.3 10.7-24 24-24H288c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L252 288H208v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h56 24c17.7 0 32-14.3 32-32s-14.3-32-32-32H208v64z\"]]\n};\nvar faCartFlatbed = {\n prefix: 'fad',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", [\"M192 80c0-26.5 21.5-48 48-48h96V176c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L400 163.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V32h96c26.5 0 48 21.5 48 48V272c0 26.5-21.5 48-48 48H240c-26.5 0-48-21.5-48-48V80zM160 464c0-5.6 1-11 2.7-16h90.5c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48zm288 0c0-5.6 1-11 2.7-16h90.5c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM336 176c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L400 163.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V32H448 432 368 352 336V176z\"]]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'fad',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", [\"M269.3 224l32 32H384v32H333.3l32 32H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H269.3zm-90.5 0H112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H274.7l-96-96zM288 112c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16z\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]]\n};\nvar faSmokingBan = faBanSmoking;\nvar faCircleSortUp = {\n prefix: 'fad',\n iconName: 'circle-sort-up',\n icon: [512, 512, [\"sort-circle-up\"], \"e032\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zM244.7 411.3c6.2 6.2 16.4 6.2 22.6 0l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96z\", \"M267.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96z\"]]\n};\nvar faSortCircleUp = faCircleSortUp;\nvar faTerminal = {\n prefix: 'fad',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", [\"M224 448c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32z\", \"M9.4 41.4C-3.1 53.9-3.1 74.1 9.4 86.6L178.7 256 9.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0z\"]]\n};\nvar faMobileButton = {\n prefix: 'fad',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", [\"M368 384H16v64c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V384zM192 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V384H16V64z\"]]\n};\nvar faHouseMedicalFlag = {\n prefix: 'fad',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", [\"M276.8 39.7L416 159V512h1l-.2 0H96c-17.7 0-32-14.3-32-32V288H32c-13.4 0-25.4-8.3-30-20.9s-1-26.7 9.2-35.4l224-192c12-10.3 29.7-10.3 41.7 0zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\", \"M512 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V192 512h64V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H512z\"]]\n};\nvar faBasketShopping = {\n prefix: 'fad',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", [\"M393 192l33.1 73.8c5.4 12.1 19.6 17.5 31.7 12.1s17.5-19.6 12.1-31.7L445.6 192H544c17.7 0 32 14.3 32 32s-14.3 32-32 32L492.1 463.5C485 492 459.4 512 430 512H146c-29.4 0-55-20-62.1-48.5L32 256c-17.7 0-32-14.3-32-32s14.3-32 32-32h98.4l-24.3 54.2c-5.4 12.1 0 26.3 12.1 31.7s26.3 0 31.7-12.1L183 192H393zM192 320c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V320zm96-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16zm128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V320z\", \"M253.9 33.8c5.4-12.1 0-26.3-12.1-31.7s-26.3 0-31.7 12.1l-104 232c-5.4 12.1 0 26.3 12.1 31.7s26.3 0 31.7-12.1l104-232zm68.2 0l104 232c5.4 12.1 19.6 17.5 31.7 12.1s17.5-19.6 12.1-31.7l-104-232C360.5 2.1 346.3-3.3 334.2 2.1s-17.5 19.6-12.1 31.7z\"]]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'fad',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", [\"M224 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 224a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\", \"M64 256a160 160 0 1 1 320 0A160 160 0 1 1 64 256zM380.8 416c41.5-40.7 67.2-97.3 67.2-160C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8z\"]]\n};\nvar faChestnut = {\n prefix: 'fad',\n iconName: 'chestnut',\n icon: [448, 512, [127792], \"e3f6\", [\"M4 384H444c-14.2 55.2-64.3 96-124 96H128C68.4 480 18.2 439.2 4 384z\", \"M224 32c5.3 0 10.3 2.7 13.3 7.1c2.9 4.3 7.9 9.7 15.5 16.6c7.5 6.8 16.7 14.3 27.2 22.8l3.1 2.5 0 0c20.3 16.4 44.7 36.1 68.2 59.6C400.8 190.2 448 258 448 352c0 11-1.4 21.8-4 32H4c-2.6-10.2-4-21-4-32c0-94 47.2-161.8 96.7-211.3c23.5-23.5 47.9-43.2 68.2-59.6l3.1-2.5c10.6-8.5 19.7-16 27.2-22.8c7.6-6.9 12.7-12.3 15.5-16.6c3-4.5 8-7.1 13.3-7.1z\"]]\n};\nvar faBusSimple = {\n prefix: 'fad',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", [\"M64 128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM32 448h96v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448zm384 0v32c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V448h96z\", \"M224 0C348.8 0 448 35.2 448 80V96 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V96 80C0 35.2 99.2 0 224 0zM64 128V256c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM80 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'fad',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", [\"M95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 400a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\", \"M224 256c35.3 0 64-28.7 64-64c0-7.1-1.2-13.9-3.3-20.3c-1.8-5.5 1.6-11.9 7.4-11.7c40.8 1.7 77.5 29.6 88.6 71.1c13.7 51.2-16.7 103.9-67.9 117.6s-103.9-16.7-117.6-67.9c-1.9-6.9-2.9-13.9-3.2-20.7c-.3-5.8 6.1-9.2 11.7-7.4c6.4 2.1 13.2 3.3 20.3 3.3z\"]]\n};\nvar faFaceSadCry = {\n prefix: 'fad',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", [\"M352 493.4c-29.6 12-62.1 18.6-96 18.6s-66.4-6.6-96-18.6V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V477.8C51.5 433.5 0 350.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 94.8-51.5 177.5-128 221.8V288c0-8.8-7.2-16-16-16s-16 7.2-16 16V493.4zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM208 336v32c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48z\", \"M195.2 233.6c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM128 477.8V288c0-8.8 7.2-16 16-16s16 7.2 16 16V493.4c-11.1-4.5-21.8-9.7-32-15.6zm224 15.6V288c0-8.8 7.2-16 16-16s16 7.2 16 16V477.8c-10.2 5.9-20.9 11.2-32 15.6zM316.8 233.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]]\n};\nvar faSadCry = faFaceSadCry;\nvar faHeat = {\n prefix: 'fad',\n iconName: 'heat',\n icon: [448, 512, [], \"e00c\", [\"M176 32c17.7 0 32 14.3 32 32v80c0 34.6 11.2 68.3 32 96l19.2 25.6C288.3 304.4 304 351.5 304 400v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V400c0-34.6-11.2-68.3-32-96l-19.2-25.6C159.7 239.6 144 192.5 144 144V64c0-17.7 14.3-32 32-32z\", \"M64 128c0-17.7-14.3-32-32-32S0 110.3 0 128v32c0 48.5 15.7 95.6 44.8 134.4L64 320c20.8 27.7 32 61.4 32 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V416c0-48.5-15.7-95.6-44.8-134.4L96 256c-20.8-27.7-32-61.4-32-96V128zm288 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v32c0 48.5 15.7 95.6 44.8 134.4L352 320c20.8 27.7 32 61.4 32 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V416c0-48.5-15.7-95.6-44.8-134.4L384 256c-20.8-27.7-32-61.4-32-96V128z\"]]\n};\nvar faTicketAirline = {\n prefix: 'fad',\n iconName: 'ticket-airline',\n icon: [640, 512, [], \"e29a\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V336c0-8.8-7.3-15.8-15.8-18c-27.7-7-48.2-32.1-48.2-62s20.5-55 48.2-62c8.6-2.2 15.8-9.1 15.8-18V128c0-35.3-28.7-64-64-64H64zm352 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM176 224l-28.5-85.5c-1.7-5.2 2.1-10.5 7.6-10.5h31.1c8.5 0 16.4 4.5 20.7 11.9L256 224h46.9c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5C334.4 281.6 319 288 302.9 288H256l-49.1 84.1c-4.3 7.4-12.2 11.9-20.7 11.9H155.1c-5.5 0-9.3-5.4-7.6-10.5L176 288H120l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H74.2c-5.2 0-9-4.9-7.8-9.9L79 259.9c.6-2.5 .6-5.2 0-7.8L66.5 201.9c-1.3-5 2.6-9.9 7.8-9.9H88c5 0 9.8 2.4 12.8 6.4L120 224h56z\", \"M147.5 138.5L176 224H120l-19.2-25.6c-3-4-7.8-6.4-12.8-6.4H74.2c-5.2 0-9 4.9-7.8 9.9L79 252.1c.6 2.5 .6 5.2 0 7.8L66.5 310.1c-1.3 5 2.6 9.9 7.8 9.9H88c5 0 9.8-2.4 12.8-6.4L120 288h56l-28.5 85.5c-1.7 5.2 2.1 10.5 7.6 10.5h31.1c8.5 0 16.4-4.5 20.7-11.9L256 288h46.9c16.1 0 31.5-6.4 42.8-17.7c7.9-7.9 7.9-20.7 0-28.5C334.4 230.4 319 224 302.9 224H256l-49.1-84.1c-4.3-7.4-12.2-11.9-20.7-11.9H155.1c-5.5 0-9.3 5.3-7.6 10.5z\"]]\n};\nvar faBootHeeled = {\n prefix: 'fad',\n iconName: 'boot-heeled',\n icon: [512, 512, [], \"e33f\", [\"M480 464H320L160 416H32v72c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V472.9l125 34.7c10.5 2.9 21.3 4.4 32.1 4.4H456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8z\", \"M63.3 0H128V240c0 8.8 7.2 16 16 16s16-7.2 16-16V0H264c13.3 0 24 10.7 24 24V244.7c0 27.3 15.4 52.2 39.8 64.4l112.4 56.2c24.4 12.2 39.8 37.1 39.8 64.4V464H320L160 416H32V391.8c0-12.5 1.6-24.8 4.3-36.6C43.2 325.5 56 265.2 56 232C56 154.3 34.6 47.1 32.6 37.4c-.5-2.3-.6-4.3-.6-6.2C32 14 46 0 63.3 0z\"]]\n};\nvar faArrowsMinimize = {\n prefix: 'fad',\n iconName: 'arrows-minimize',\n icon: [512, 512, [\"compress-arrows\"], \"e0a5\", [\"M457.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L397.3 160H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32s32 14.3 32 32v50.7L457.4 9.4zM32 320c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L114.7 352H64c-17.7 0-32-14.3-32-32z\", \"M9.4 9.4C21.9-3.1 42.1-3.1 54.6 9.4L160 114.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V192c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h50.7L9.4 54.6C-3.1 42.1-3.1 21.9 9.4 9.4zM288 320c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H397.3L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 397.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V320z\"]]\n};\nvar faCompressArrows = faArrowsMinimize;\nvar faAudioDescription = {\n prefix: 'fad',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM213.5 173.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM192 237.7l-21.1 42.2h42.2L192 237.7zM328 160h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24zm24 144h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96z\", \"M192 160c9.1 0 17.4 5.1 21.5 13.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3zM170.9 279.8h42.2L192 237.7l-21.1 42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"]]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'fad',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", [\"M384 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H352zM288 432c0 6.9 3 13.5 8.2 18.1l64 56c10 8.7 25.1 7.7 33.9-2.3s7.7-25.1-2.3-33.9L375.9 456 488 456c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112.1 0 15.9-13.9c10-8.7 11-23.9 2.3-33.9s-23.9-11-33.9-2.3l-64 56c-5.2 4.6-8.2 11.1-8.2 18.1z\", \"M71 12.5L182.2 .1C191.7-1 200 6.5 200 16V30.1c0 8.8-7.1 15.9-15.9 16H72.7C63.5 46 56 38.5 56 29.2c0-8.6 6.5-15.8 15-16.8zM189.5 78.1c1.6 5.7 2.5 11.7 2.5 17.9c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-6.2 .9-12.2 2.5-17.9H189.5zM32 256c0-18.8 8.1-35.7 21-47.4l144.2 111c-1.7 .3-3.4 .4-5.2 .4H64c-17.7 0-32-14.3-32-32V256zm190.2 42.5L85.1 192.9c3.6-.6 7.2-.9 10.9-.9h64c35.3 0 64 28.7 64 64v32c0 3.7-.6 7.2-1.8 10.5zM224 432c0 6.9-3 13.5-8.2 18.1l-64 56c-10 8.7-25.1 7.7-33.9-2.3s-7.7-25.1 2.3-33.9L136.1 456 24 456c-13.3 0-24-10.7-24-24s10.7-24 24-24l112.1 0-15.9-13.9c-10-8.7-11-23.9-2.3-33.9s23.9-11 33.9-2.3l64 56c5.2 4.6 8.2 11.1 8.2 18.1z\"]]\n};\nvar faFileShield = {\n prefix: 'fad',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v47l-92.8 37.1c-21.3 8.5-35.2 29.1-35.2 52c0 56.6 18.9 148 94.2 208.3c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zm39.1 65.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]]\n};\nvar faHexagon = {\n prefix: 'fad',\n iconName: 'hexagon',\n icon: [512, 512, [11043], \"f312\", [\"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220z\", \"\"]]\n};\nvar faManhole = {\n prefix: 'fad',\n iconName: 'manhole',\n icon: [512, 512, [], \"e1d6\", [\"M305 103.6c-9-2.9-17.8 4.3-23.6 11.8c-5.8 7.6-15.1 12.6-25.4 12.6s-19.6-4.9-25.4-12.6c-5.8-7.5-14.5-14.7-23.6-11.8C142.6 124.3 96 184.7 96 256s46.6 131.7 111 152.4c9 2.9 17.8-4.3 23.6-11.8c5.8-7.6 15.1-12.6 25.4-12.6s19.6 4.9 25.4 12.6c5.8 7.5 14.5 14.7 23.6 11.8c64.4-20.7 111-81.1 111-152.4s-46.6-131.7-111-152.4zM176 192a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32 64a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm48-144a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80-112a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-32 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32 64a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-448a192 192 0 1 1 0 384 192 192 0 1 1 0-384z\"]]\n};\nvar faUserSlash = {\n prefix: 'fad',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", [\"M448 128c0 59.2-40.1 109-94.7 123.6L192 125.2C193.5 55.8 250.2 0 320 0c70.7 0 128 57.3 128 128zM264.3 304.3l261 205.6c-3.4 1.4-7.1 2.1-11 2.1H125.7C109.3 512 96 498.7 96 482.3c0-95.1 74.5-172.9 168.3-178z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faPen = {\n prefix: 'fad',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", [\"M362.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c25 25 25 65.5 0 90.5L433 209 303 79l59.7-59.7z\", \"M433 209L303 79 52.8 329.3c-6.6 6.6-11.5 14.8-14.1 23.8L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l128.2-37.7c9-2.6 17.2-7.5 23.8-14.1L433 209z\"]]\n};\nvar faTowerObservation = {\n prefix: 'fad',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", [\"M100.9 448l32-192h64.9l-4.7 28.3L256 336.8l62.9-52.5L314.2 256h64.9l32 192H314.5L256 399.2 197.5 448H100.9zm26.6 64h1.1c-.4 0-.8 0-1.1 0zm255.9 0h1.1c-.4 0-.8 0-1.1 0zM183.9 339.2l-11.2 67L218.5 368l-34.6-28.8zM293.5 368l45.8 38.1-11.2-67L293.5 368z\", \"M270.3 3.4c-9-4.5-19.6-4.5-28.6 0l-160 80c-15.8 7.9-22.2 27.1-14.3 42.9C73 137.5 84.3 144 96 144v80c0 17.7 14.3 32 32 32h4.9 64.9H314.2h64.9H384c17.7 0 32-14.3 32-32V144c11.7 0 23-6.5 28.6-17.7c7.9-15.8 1.5-35-14.3-42.9l-160-80zM480 448H411.1 314.5h-117H100.9 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h95.5c.4 0 .8 0 1.1 0H383.4c.4 0 .8 0 1.1 0H480c17.7 0 32-14.3 32-32s-14.3-32-32-32zM160 144c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faFloppyDisks = {\n prefix: 'fad',\n iconName: 'floppy-disks',\n icon: [512, 512, [], \"e183\", [\"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zM304 352a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M152 0C121.1 0 96 25.1 96 56V360c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V141.3c0-14.9-5.9-29.1-16.4-39.6L410.3 16.4C399.8 5.9 385.6 0 370.7 0H152zm8 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96zM304 224a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]]\n};\nvar faToiletPaperBlankUnder = {\n prefix: 'fad',\n iconName: 'toilet-paper-blank-under',\n icon: [512, 512, [\"toilet-paper-reverse-alt\"], \"e29f\", [\"M0 192C0 298 43 384 96 384h32H416c-53 0-96-86-96-192S363 0 416 0H96C43 0 0 86 0 192z\", \"M416 384c-52.4 0-94.9-83.8-96-188.1c0-1.3 0-2.6 0-3.9C320 86 363 0 416 0s96 86 96 192V464c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V384H416zm0-128c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64z\"]]\n};\nvar faToiletPaperReverseAlt = faToiletPaperBlankUnder;\nvar faFileCode = {\n prefix: 'fad',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM153 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM265 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM153 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM265 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]]\n};\nvar faSignal = {\n prefix: 'fad',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", [\"\", \"M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faPump = {\n prefix: 'fad',\n iconName: 'pump',\n icon: [640, 512, [], \"e442\", [\"M64 224h96V64H320V224h32V384H64V224z\", \"M160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zM64 208c0-17.7-14.3-32-32-32s-32 14.3-32 32V384c0 17.7 14.3 32 32 32s32-14.3 32-32V208zM431.9 106.7L380.5 141c-17.8 11.9-28.5 31.9-28.5 53.3V413.7c0 21.4 10.7 41.4 28.5 53.3l51.4 34.3c10.5 7 22.9 10.7 35.5 10.7H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H467.4c-12.6 0-25 3.7-35.5 10.7zM448 208c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faBus = {\n prefix: 'fad',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", [\"M128 160c0-17.7 14.3-32 32-32H272V288H160c-17.7 0-32-14.3-32-32V160zM304 288V128H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H304zM96 448h96v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V448zm288 0h96v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448z\", \"M288 0C422.4 0 512 35.2 512 80V96l0 32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32l0 160c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32l0-160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h0V96h0V80C64 35.2 153.6 0 288 0zM128 160v96c0 17.7 14.3 32 32 32H272V128H160c-17.7 0-32 14.3-32 32zM304 288H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H304V288zM144 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 80c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16z\"]]\n};\nvar faHeartCircleXmark = {\n prefix: 'fad',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", [\"M507 208.7C484.3 198 458.8 192 432 192c-97.2 0-176 78.8-176 176c0 35.7 10.6 68.9 28.9 96.6l-5.4 5.6c-13 13-34 13-45.9 0L39.7 270.5c-55.9-57.9-52.9-153.8 10-207.8c53.9-47 136.8-38 186.8 13l20 21 19-21c49.9-50.9 131.8-59.9 187.8-13c42.9 37.4 57.5 95 43.8 146.1z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faArrowUpLeftFromCircle = {\n prefix: 'fad',\n iconName: 'arrow-up-left-from-circle',\n icon: [512, 512, [], \"e09e\", [\"M288.4 93.4c2.9-17.4 19.4-29.2 36.9-26.3C431.3 84.9 512 177 512 288c0 123.7-100.3 224-224 224C177 512 84.9 431.3 67.1 325.3c-2.9-17.4 8.8-33.9 26.3-36.9s33.9 8.8 36.9 26.3C142.9 390.4 208.8 448 288 448c88.4 0 160-71.6 160-160c0-79.2-57.6-145.1-133.3-157.8c-17.4-2.9-29.2-19.4-26.3-36.9z\", \"M32 0H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H109.3L342.6 297.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L64 109.3V192c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z\"]]\n};\nvar faHouseChimney = {\n prefix: 'fad',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", [\"M64 270.5L64.1 472c0 22.1 17.9 40 40 40H184c22.1 0 40-17.9 40-40V383.7c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V472c0 22.1 17.9 40 40 40h80.5c22.1 0 40-18 40-40.1l-.4-201.3L288 74.5 64 270.5z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2L512 185.5V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v37.5L309.1 7.9z\"]]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'fad',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", [\"M64 128c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32z\", \"M448 480c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64l384 0zM96 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faDryer = {\n prefix: 'fad',\n iconName: 'dryer',\n icon: [448, 512, [], \"f861\", [\"M184 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM368 304c0 79.5-64.5 144-144 144c-74.1 0-135.2-56-143.1-128H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H80.9c8-72 69-128 143.1-128c79.5 0 144 64.5 144 144z\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 160a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM64 88a24 24 0 1 1 48 0A24 24 0 1 1 64 88zM184 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faFaceFrown = {\n prefix: 'fad',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faFrown = faFaceFrown;\nvar faChessBishopPiece = {\n prefix: 'fad',\n iconName: 'chess-bishop-piece',\n icon: [256, 512, [\"chess-bishop-alt\"], \"f43b\", [\"M208 416H48L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416z\", \"M104 32C90.7 32 80 42.7 80 56c0 12.2 9.1 22.3 20.9 23.8C79.6 100.1 48 139 48 192c0 26.3 13.6 40.5 26.3 48H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4.4L48 416H208L179.6 288H184c13.3 0 24-10.7 24-24s-10.7-24-24-24h-2.3c12.7-7.5 26.3-21.7 26.3-48c0-25.9-7.5-48.4-17.7-67l-48.6 48.6c-3.1 3.1-8.2 3.1-11.3 0s-3.1-8.2 0-11.3L181.7 111c-8.8-12.9-18.5-23.4-26.6-31.2C166.9 78.3 176 68.2 176 56c0-13.3-10.7-24-24-24H104z\"]]\n};\nvar faChessBishopAlt = faChessBishopPiece;\nvar faShirtTankTop = {\n prefix: 'fad',\n iconName: 'shirt-tank-top',\n icon: [384, 512, [], \"e3c9\", [\"M112 32C112 14.3 97.7 0 80 0S48 14.3 48 32V64c0 91-19.2 143.6-33.3 170.1C6.7 249.1 0 265.5 0 282.5V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V282.5c0-17-6.7-33.5-14.7-48.4C355.2 207.6 336 155 336 64V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V80c0 44.2-35.8 80-80 80s-80-35.8-80-80V32z\", \"\"]]\n};\nvar faDiploma = {\n prefix: 'fad',\n iconName: 'diploma',\n icon: [640, 512, [\"scroll-ribbon\"], \"f5ea\", [\"M256 144H96c-65.1 .3-96 71.5-96 128c0 56.9 24.1 119.2 81 140.7c10.5 4 22.5 4.2 33.4 1.8L256 383V160 144zm128 0v16V383l141.6 31.5c10.9 2.4 22.9 2.2 33.4-1.8c56.9-21.5 81-83.8 81-140.7c0-56.5-30.9-127.7-96-128H384z\", \"M302 59.7l18 20.6 18-20.6C353.4 42.1 375.6 32 399 32h1c44.2 0 80 35.8 80 80c0 11.4-2.4 22.2-6.7 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1c-1.2 0-2.3 .1-3.5 .2c-8.2 .9-15.8 4.8-21.3 11.1l-34.5 39.5c-4.5 5.2-.9 13.3 6 13.3H368h16v16V464c0 6.2-3.6 11.9-9.2 14.5s-12.3 1.8-17-2.2L320 444.8l-37.8 31.5c-4.8 4-11.4 4.8-17 2.2s-9.2-8.3-9.2-14.5V160 144h16 22.4c6.9 0 10.5-8.1 6-13.3L265.9 91.3C259.6 84.1 250.5 80 241 80h-1c-17.7 0-32 14.3-32 32s14.3 32 32 32H166.7c-4.3-9.8-6.7-20.6-6.7-32c0-44.2 35.8-80 80-80h1c23.4 0 45.6 10.1 61 27.7z\"]]\n};\nvar faScrollRibbon = faDiploma;\nvar faScreencast = {\n prefix: 'fad',\n iconName: 'screencast',\n icon: [576, 512, [], \"e23e\", [\"M64 96H512V416H285c2 13 3 26.4 3 40v24H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v96H24c13.6 0 27 1 40 3V96z\", \"M0 248c0-13.3 10.7-24 24-24c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24zM0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zM24 320c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faWalker = {\n prefix: 'fad',\n iconName: 'walker',\n icon: [448, 512, [], \"f831\", [\"M320 448a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M194 64H320c17.7 0 32 14.3 32 32v64H145l17.9-71.8C166.5 74 179.3 64 194 64zM63 487.8L129 224H352V392.6c9.4-5.4 20.3-8.6 32-8.6s22.6 3.1 32 8.6V96c0-53-43-96-96-96H194c-44.1 0-82.4 30-93.1 72.7L1 472.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3z\"]]\n};\nvar faPrescription = {\n prefix: 'fad',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", [\"M438.6 201.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l256-256c12.5-12.5 32.8-12.5 45.3 0z\", \"M0 32C0 14.3 14.3 0 32 0H176c61.9 0 112 50.1 112 112c0 52.8-36.6 97.1-85.8 108.9L288 306.7 242.7 352l-128-128H64v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V192 32zM288 397.3L333.3 352 438.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 397.3zM64 160H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96z\"]]\n};\nvar faShop = {\n prefix: 'fad',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", [\"M64 192H96h32H320h64H512h32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H384V384v80c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V384 192zm256 32H128V384H320V224z\", \"M603.2 192H36.8C16.5 192 0 175.5 0 155.2c0-7.3 2.2-14.4 6.2-20.4L81.8 21.4C90.7 8 105.6 0 121.7 0H518.3c16.1 0 31 8 39.9 21.4l75.6 113.3c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8z\"]]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'fad',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M224 288a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'fad',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", [\"M160 192V128h64v64H160zM96 352V288h64v64H96zM64 480V448h64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32zm448 0V448h64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32zM288 448h64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448zM480 288h64v64H480V288zM416 128h64v64H416V128z\", \"M305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23 6.3c1.8 .5 3.6 1.1 5.2 2c3.2 1.7 5.9 4 8.1 6.8c3.8 4.9 5.6 11.3 4.7 17.8c-.4 2.8-1.2 5.4-2.5 7.8c-1.7 3.2-4 5.9-6.8 8.1c-4.3 3.2-9.6 5.1-15.1 4.9H320 152.5c-5.5 .1-10.8-1.7-15.1-4.9c-2.8-2.1-5.1-4.8-6.8-8.1c-1.2-2.4-2.1-5-2.5-7.8c-.9-6.5 .9-12.8 4.7-17.8c2.1-2.8 4.8-5.1 8.1-6.8c1.6-.8 3.4-1.5 5.2-2l23-6.3C209.2 63.5 247 45.8 281 22L305.8 4.7zM472 192h7.3l6 4 11.1 7.4c22.1 14.8 46.6 25.6 72.4 32l21 5.2c11.8 2.9 19.5 14.2 18 26.2S596.1 288 584 288H376 352 288 264 56c-12.1 0-22.3-9-23.8-21.1s6.2-23.3 18-26.2l21-5.2c25.8-6.4 50.3-17.3 72.4-32l11.1-7.4 6-4H168h96 24 64 24 96zM95.6 352H104 296h24 24H536h8.4l6.6 5.3 10.4 8.3c17.8 14.2 37.6 25.8 58.8 34.2l4.8 1.9c10.7 4.3 16.8 15.5 14.7 26.8S627.5 448 616 448H344 320 296 24c-11.5 0-21.4-8.2-23.6-19.5s4-22.5 14.7-26.8l4.8-1.9c21.2-8.5 41-20 58.8-34.2L89 357.3l6.6-5.3z\"]]\n};\nvar faFaceKissClosedEyes = {\n prefix: 'fad',\n iconName: 'face-kiss-closed-eyes',\n icon: [512, 512, [], \"e37d\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm48.7-198.3c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 443.1 257.4 448 240 448c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1 .3-.2 .6-.4c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.4-.3-.5-.3-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-93.5-80.1c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\", \"M140.8 233.6c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zm160 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\"]]\n};\nvar faScaleUnbalanced = {\n prefix: 'fad',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", [\"M521 62.4c16.8-5.6 25.8-23.7 20.2-40.5S517.5-3.9 500.7 1.6l-113 37.7C373.8 15.8 348.2 0 318.8 0c-44.2 0-80 35.8-80 80c0 3 .2 5.9 .5 8.8L116.7 129.6c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l135.5-45.2c4.5 3.2 9.3 5.9 14.4 8.2V480c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32s-14.3-32-32-32h-160V153.3c21-9.2 37.2-27 44.2-49L521 62.4z\", \"M510.8 163.8L583.3 288H438.4l72.4-124.2zm-126 141.3C395.7 350 448 384 510.8 384s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L534.9 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L391.6 273.1c-5.7 9.8-9.3 21.1-6.7 32.1zM128 291.8L200.4 416H55.6L128 291.8zM2 433.1C12.8 478 65.1 512 128 512s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L152.1 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L8.7 401.1C3 410.8-.6 422.1 2 433.1z\"]]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faFileUser = {\n prefix: 'fad',\n iconName: 'file-user',\n icon: [384, 512, [], \"f65c\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM256 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM80 432c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM256 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM80 432c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80z\"]]\n};\nvar faUserPoliceTie = {\n prefix: 'fad',\n iconName: 'user-police-tie',\n icon: [448, 512, [], \"e334\", [\"M101.7 154.2C98 166.1 96 178.8 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-13.2-2-25.9-5.7-37.8C308.2 168.3 267 176 224 176s-84.2-7.7-122.3-21.8z\", \"M230.1 .8l152 40c8.6 2.3 15.3 9.1 17.3 17.8s-1 17.8-7.8 23.6l-23.8 20.4c.1 1 .1 2 .1 3.1v21.2c0 10.7-5.3 20.8-15.1 25.2c-24.1 10.8-68.6 24-128.9 24s-104.8-13.2-128.9-24C85.3 147.7 80 137.6 80 126.9V105.7c0-1 0-2.1 .1-3.1L56.4 82.2c-6.8-5.8-9.8-14.9-7.8-23.6s8.7-15.6 17.3-17.8l152-40c4-1.1 8.2-1.1 12.2 0zM227 48.6c-1.9-.8-4-.8-5.9 0L189 61.4c-3 1.2-5 4.2-5 7.4c0 17.2 7 46.1 36.9 58.6c2 .8 4.2 .8 6.2 0C257 114.9 264 86 264 68.8c0-3.3-2-6.2-5-7.4L227 48.6zM208 416l-20.4-40.8c-5.3-10.6 2.4-23.2 14.3-23.2h44.2c11.9 0 19.6 12.5 14.3 23.2L240 416l12.2 48.9L315 360.3c3-5 8.6-8.1 14.4-7.4C396.2 360.8 448 417.5 448 486.4c0 14.1-11.5 25.6-25.6 25.6H256v0H192v0H25.6C11.5 512 0 500.5 0 486.4c0-68.9 51.8-125.6 118.6-133.5c5.8-.7 11.4 2.4 14.4 7.4l62.8 104.6L208 416zm144-8c-3.5 0-6.5 2.2-7.6 5.5L339 430.2l-17.4 0c-3.5 0-6.6 2.2-7.6 5.5s.1 6.9 2.9 9L331 454.8l-5.4 16.6c-1.1 3.3 .1 6.9 2.9 9s6.6 2 9.4 0L352 470.1l14.1 10.3c2.8 2 6.6 2.1 9.4 0s4-5.7 2.9-9L373 454.8l14.1-10.2c2.8-2 4-5.7 2.9-9s-4.2-5.5-7.6-5.5l-17.4 0-5.4-16.6c-1.1-3.3-4.1-5.5-7.6-5.5z\"]]\n};\nvar faFaceTongueMoney = {\n prefix: 'fad',\n iconName: 'face-tongue-money',\n icon: [512, 512, [], \"e39d\", [\"M163.1 494.6C67.7 457.5 0 364.6 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 108.6-67.7 201.5-163.1 238.6C360.9 476.8 368 455.2 368 432V421.5c22.4-20.1 39-46.1 47.2-75.4c3.8-13.7-7.4-26.1-21.6-26.1H118.4c-14.2 0-25.5 12.4-21.6 26.1c8.2 29.4 24.9 55.3 47.2 75.4V432c0 23.2 7.1 44.8 19.1 62.6zM176 88c-8.8 0-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.3 9 27.2 11.2l1.1 .3c9.6 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V248c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V104c0-8.8-7.2-16-16-16zm176 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.4 9 27.2 11.2l1.1 .3c9.5 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V248c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V104z\", \"M176 88c8.8 0 16 7.2 16 16v9.8c4.6 .8 8.7 1.8 12.1 2.7c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-8.3-2.2-18.8-4-27-3.2c-4 .4-6.1 1.4-7.1 2.1c-2.6 1.9-2.6 5.6-.2 7.2c6.9 4.8 15 6.9 23.3 9.1c8.3 2.2 16.7 4.4 23.9 9.4c4.8 3.3 9.5 8 12.4 14.6c3 6.6 3.5 13.9 2.2 21.2c-2 11.5-7.9 20.4-17 25.9c-4.6 2.8-9.5 4.4-14.4 5.2V248c0 8.8-7.2 16-16 16s-16-7.2-16-16V237.2c-8.4-1.9-16-4.4-21.1-6c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.1 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c2.8-1.7 3.2-6.2 .6-8c-3.5-2.4-9.3-4.3-18.8-7l-1.1-.3c-7.9-2.2-18.8-5.4-27.2-11.2c-4.8-3.3-9.5-8-12.4-14.6c-3-6.6-3.5-13.9-2.2-21.2c1.8-10.2 6.9-18.2 14.4-23.6c5.3-3.9 11.3-6 17-7.1V104c0-8.8 7.2-16 16-16zm160 0c8.8 0 16 7.2 16 16v9.8c4.6 .8 8.7 1.8 12.1 2.7c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-8.3-2.2-18.8-4-27-3.2c-4 .4-6.1 1.4-7.1 2.1c-2.6 1.9-2.6 5.6-.2 7.2c6.9 4.8 15 6.9 23.3 9.1c8.3 2.2 16.7 4.4 23.9 9.4c4.8 3.3 9.5 8 12.4 14.6c3 6.6 3.5 13.9 2.2 21.2c-2 11.5-7.9 20.4-17 25.9c-4.6 2.8-9.5 4.4-14.4 5.2V248c0 8.8-7.2 16-16 16s-16-7.2-16-16V237.2c-8.4-1.9-16-4.4-21.1-6c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.1 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c2.8-1.7 3.2-6.2 .6-8c-3.5-2.4-9.3-4.3-18.8-7l-1.1-.3c-7.9-2.2-18.8-5.4-27.2-11.2c-4.8-3.3-9.5-8-12.4-14.6c-3-6.6-3.5-13.9-2.2-21.2c1.8-10.2 6.9-18.2 14.4-23.6c5.3-3.9 11.3-6 17-7.1V104c0-8.8 7.2-16 16-16zm0 264v80c0 44.2-35.8 80-80 80s-80-35.8-80-80V352H336zm-80 16c-5.9 0-10.7 4.9-10.7 10.9v6.4c-3.8 .8-7.8 2.2-11.3 4.9c-5 3.7-8.4 9.2-9.6 16.1c-.8 5-.5 9.9 1.5 14.4c1.9 4.5 5.1 7.7 8.3 9.9c5.6 4 12.9 6.1 18.1 7.6l.8 .2c6.4 1.9 10.2 3.1 12.6 4.8c1.7 1.2 1.4 4.4-.4 5.5c-.8 .5-2.5 1.1-5.9 1c-6.8-.1-15-2.7-21.3-4.8c-5.6-1.9-11.6 1.2-13.5 6.9s1.2 11.9 6.8 13.8c3.4 1.1 8.4 2.8 14 4.1v7.3c0 6 4.8 10.9 10.7 10.9s10.7-4.9 10.7-10.9V471c3.2-.6 6.5-1.7 9.6-3.6c6.1-3.7 10-9.8 11.3-17.7c.8-5 .5-9.9-1.5-14.4c-1.9-4.5-5.1-7.7-8.3-9.9c-4.8-3.4-10.4-4.9-15.9-6.4c-5.5-1.5-10.9-3-15.5-6.2c-1.6-1.1-1.6-3.6 .2-4.9c.7-.5 2.1-1.1 4.7-1.4c5.4-.6 12.5 .6 18 2.2c5.7 1.5 11.5-1.9 13-7.7s-1.9-11.8-7.6-13.3c-2.3-.6-5-1.3-8.1-1.8v-6.7c0-6-4.8-10.9-10.7-10.9z\"]]\n};\nvar faTennisBall = {\n prefix: 'fad',\n iconName: 'tennis-ball',\n icon: [512, 512, [127934], \"f45e\", [\"M.2 245.1C.1 248.7 0 252.3 0 256C0 397.4 114.6 512 256 512c3.7 0 7.3-.1 10.9-.2c-3.8-10.7-6.6-21.8-8.4-33.1c-4.4-27.2-2.9-55 4.4-81.6s20.2-51.2 37.9-72.4s39.7-38.2 64.5-50.1s52-18.2 79.5-18.7c22.8-.4 45.5 3.3 67 10.9c.2-3.6 .2-7.2 .2-10.9C512 114.6 397.4 0 256 0c-3.7 0-7.3 .1-10.9 .2c10.7 30.5 13.7 63.4 8.2 95.6c-7.1 42.4-28.3 81.2-60 110.1s-72.4 46.4-115.2 49.6c-26.6 2-53.1-1.7-77.9-10.4zM206.8 4.7C104.9 24.6 24.6 104.9 4.7 206.8C26.9 216 51.1 220 75.3 218.2c34.5-2.5 67.2-16.6 92.8-39.9s42.6-54.5 48.4-88.7c4.8-28.7 1.4-58.2-9.7-84.9zM445.4 293.4c-22.2 .4-44 5.5-64 15.1s-37.7 23.3-52 40.3s-24.6 36.9-30.5 58.3s-7.1 43.8-3.5 65.7c1.9 11.9 5.2 23.5 9.8 34.6c101.9-19.8 182.2-100.2 202.1-202.1c-19.6-8.1-40.6-12.1-61.9-11.8z\", \"M305.2 507.3c-12.5 2.4-25.3 3.9-38.3 4.5c-3.8-10.7-6.6-21.8-8.4-33.1c-4.4-27.2-2.9-55 4.4-81.6s20.2-51.2 37.9-72.4s39.7-38.2 64.5-50.1s52-18.2 79.5-18.7c22.8-.4 45.5 3.3 67 10.9c-.5 13-2.1 25.8-4.5 38.3c-19.6-8.1-40.6-12.1-61.9-11.8c-22.2 .4-44 5.5-64 15.1s-37.7 23.3-52 40.3s-24.6 36.9-30.5 58.3s-7.1 43.8-3.5 65.7c1.9 11.9 5.2 23.5 9.8 34.6zM245.1 .2c10.7 30.5 13.7 63.4 8.2 95.6c-7.1 42.4-28.3 81.2-60 110.1s-72.4 46.4-115.2 49.6c-26.6 2-53.1-1.7-77.9-10.4c.5-13 2.1-25.8 4.5-38.3C26.9 216 51.1 220 75.3 218.2c34.5-2.5 67.2-16.6 92.8-39.9s42.6-54.5 48.4-88.7c4.8-28.7 1.4-58.2-9.7-84.9c12.5-2.4 25.3-3.9 38.3-4.5z\"]]\n};\nvar faSquareL = {\n prefix: 'fad',\n iconName: 'square-l',\n icon: [448, 512, [], \"e275\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM176 152V336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M152 128c13.3 0 24 10.7 24 24V336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faSortUp = {\n prefix: 'fad',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", [\"M137.4 470.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128zM109.3 352H210.7L160 402.7 109.3 352z\", \"M182.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]]\n};\nvar faSortAsc = faSortUp;\nvar faCalendarArrowUp = {\n prefix: 'fad',\n iconName: 'calendar-arrow-up',\n icon: [448, 512, [\"calendar-upload\"], \"e0d1\", [\"M448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM248 321.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V321.9l-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39z\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM248 424V321.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V424c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]]\n};\nvar faCalendarUpload = faCalendarArrowUp;\nvar faCommentDots = {\n prefix: 'fad',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M96 240a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'fad',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", [\"M288 120c0-30.9 25.1-56 56-56s56 25.1 56 56v13c9.6-3.3 20.4-5 32-5s22.4 1.7 32 5V120C464 53.7 410.3 0 344 0S224 53.7 224 120v21.8C207.3 133 188.2 128 168 128c-66.3 0-120 53.7-120 120v13c9.6-3.3 20.4-5 32-5s22.4 1.7 32 5V248c0-30.9 25.1-56 56-56s56 25.1 56 56v32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V280 248 120z\", \"M432 128c-47.1 0-80 27.8-80 75.1c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-47.3-32.9-75.1-80-75.1zM80 256c-47.1 0-80 27.8-80 75.1C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-47.3-32.9-75.1-80-75.1z\"]]\n};\nvar faScarf = {\n prefix: 'fad',\n iconName: 'scarf',\n icon: [512, 512, [129507], \"f7c1\", [\"M4.7 388.7l112-112 22.6 22.6-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm48 48l112-112 22.6 22.6-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm48 48l112-112 22.6 22.6-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm288 22.6L288 406.6 310.6 384 411.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0zm48-48L336 358.6l11.3-11.3L358.6 336 459.3 436.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0zm48-48L384 310.6 406.6 288 507.3 388.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0z\", \"M396.1 232.2C409 213.7 416 191.6 416 168.8c0-19-4.9-37.7-14.2-54.2L360.3 40.8C346.1 15.6 319.5 0 290.6 0H221.4c-28.9 0-55.6 15.6-69.7 40.8l-41.5 73.8C100.9 131.1 96 149.8 96 168.8c0 29.3 11.7 57.5 32.4 78.2L276.7 395.3 288 406.6l11.3-11.3 48-48 48-48L406.6 288l-11.3-11.3L384 265.4l-9.4-9.4L256 137.4 218.2 99.6C228.9 97.5 241.7 96 256 96s27.1 1.5 37.8 3.6l-15.1 15.1L396.1 232.2z\"]]\n};\nvar faAlbumCirclePlus = {\n prefix: 'fad',\n iconName: 'album-circle-plus',\n icon: [576, 512, [], \"e48c\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-16.2-19.7-28.3-42.9-34.8-68.4c-12 2.9-24.5 4.4-37.4 4.4c-88.4 0-160-71.6-160-160s71.6-160 160-160c69.3 0 128.3 44 150.5 105.6c18-6.2 37.4-9.6 57.5-9.6c5.4 0 10.7 .2 16 .7V96c0-35.3-28.7-64-64-64H64zM256 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faUserNurseHairLong = {\n prefix: 'fad',\n iconName: 'user-nurse-hair-long',\n icon: [448, 512, [], \"e45e\", [\"M257.9 114.2C241 141.7 210.6 160 176 160H128c0 53 43 96 96 96s96-43 96-96l0-16h-8c-22.8 0-42.8-11.9-54.1-29.8z\", \"M96 152.8V68c0-13.3 8.3-25.3 20.8-30l96-36C220-.7 228-.7 235.2 2l96 36C343.7 42.7 352 54.7 352 68v84.8c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H70.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5zM212.3 409.4c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 346.4 448 407.3 448 479.1c0 17-13.8 30.7-30.7 30.7H30.7c-17 0-30.7-13.8-30.7-30.7c0-71.9 47-132.7 111.9-153.6c10.5-3.4 21.8 .4 29.4 8.5l71 75.5zM216 40c-4.4 0-8 3.6-8 8V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216zM176 160H128c0 53 43 96 96 96s96-43 96-96l0-16h-8c-22.8 0-42.8-11.9-54.1-29.8C241 141.7 210.6 160 176 160z\"]]\n};\nvar faDiamond = {\n prefix: 'fad',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", [\"M284.3 11.7c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\", \"\"]]\n};\nvar faSquareLeft = {\n prefix: 'fad',\n iconName: 'square-left',\n icon: [448, 512, [11013, \"arrow-alt-square-left\"], \"f351\", [\"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zm185.4-39.1L85.5 269.8C82 266.1 80 261.1 80 256s2-10.1 5.5-13.8l99.9-107.1c4.2-4.5 10.1-7.1 16.3-7.1c12.3 0 22.3 10 22.3 22.3l0 57.7 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 57.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.3-7.1z\", \"M85.5 269.8l99.9 107.1c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L85.5 242.2C82 245.9 80 250.9 80 256s2 10.1 5.5 13.8z\"]]\n};\nvar faArrowAltSquareLeft = faSquareLeft;\nvar faFaceGrinSquint = {\n prefix: 'fad',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM133.5 146.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\", \"M116 157.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm280 0c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faCircleEllipsisVertical = {\n prefix: 'fad',\n iconName: 'circle-ellipsis-vertical',\n icon: [512, 512, [], \"e10b\", [\"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M256 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faHandHoldingDollar = {\n prefix: 'fad',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M288 0c13.3 0 24 10.7 24 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faGridDividers = {\n prefix: 'fad',\n iconName: 'grid-dividers',\n icon: [512, 512, [], \"e3ad\", [\"M64 96c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zm0 288c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H64zM192 128v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zm32 256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H224zM352 128v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H384c-17.7 0-32 14.3-32 32zm32 256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H384z\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 288c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]]\n};\nvar faBacterium = {\n prefix: 'fad',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", [\"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-9.4 15.7-17 31-23.2 45.3l-9.9-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.6 4.6c-.3 1.1-.6 2.1-.9 3.1c-3.5 12.5-5.7 23.2-7.1 31.3c-.7 4.1-1.2 7.5-1.6 10.3c-.2 1.4-.3 2.6-.4 3.6l-.1 1.4-.1 .6 0 .3 0 .1c0 0 0 .1 39.2 3.7l0 0-39.2-3.6c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3l.1-.8c.3-1.7 1-5.1 2.3-9.8l.2-.8 12.6 5.4c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM92.1 363.3l0 0L144 368l-51.9-4.7zM112 320a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM240 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M112 320a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]]\n};\nvar faHandPointer = {\n prefix: 'fad',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", [\"M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40V188.2c8.5-7.6 19.7-12.2 32-12.2c20.6 0 38.2 13 45 31.2c8.8-9.3 21.2-15.2 35-15.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v48 16 48c0 70.7-57.3 128-128 128l-16 0H240l-.1 0h-5.2c-5 0-9.9-.3-14.7-1c-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zM240 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\", \"M224 288c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm80 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faDrumSteelpan = {\n prefix: 'fad',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", [\"M473 209.8c47.1-19.9 55-39.9 55-49.8s-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5zM288 192c-28.9 0-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7c-8-26.2-32.4-45.3-61.2-45.3zM103 110.2C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8c-25.2 5-47.4 11.6-66 19.4zM224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8C224.5 87 224 91.5 224 96z\", \"M288 32c159.1 0 288 48 288 128V352c0 80-128.9 128-288 128S0 432 0 352V160C0 80 128.9 32 288 32zM528 160c0-9.9-8-29.9-55-49.8c-18.6-7.9-40.9-14.4-66-19.4l-27.8 43.6c-7.3 11.5-11.2 24.8-11.2 38.4c0 17.5 6.4 34.4 18.1 47.5l9.8 11c29.8-5.2 55.9-12.5 77.2-21.5c47.1-19.9 55-39.9 55-49.8zM349.2 237.3c-8-26.2-32.4-45.3-61.2-45.3s-53.3 19.1-61.2 45.3c19.4 1.7 39.9 2.7 61.2 2.7s41.8-.9 61.2-2.7zM169 90.8c-25.2 5-47.4 11.6-66 19.4C56 130.1 48 150.1 48 160s8 29.9 55 49.8c21.3 9 47.4 16.3 77.2 21.5l9.8-11c11.6-13.1 18.1-30 18.1-47.5c0-13.6-3.9-26.9-11.2-38.4L169 90.8zm56.3-8C224.5 87 224 91.5 224 96c0 35.3 28.7 64 64 64s64-28.7 64-64c0-4.5-.5-9-1.4-13.2C330.8 81 309.8 80 288 80s-42.8 1-62.6 2.8z\"]]\n};\nvar faHandScissors = {\n prefix: 'fad',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", [\"M40 208c-22.1 0-40 17.9-40 40s17.9 40 40 40l180.2 0c-7.6 8.5-12.2 19.7-12.2 32c0 25.3 19.5 46 44.3 47.9c-7.7 8.5-12.3 19.8-12.3 32.1c0 26.5 21.5 48 48 48l32 0 64 0c70.7 0 128-57.3 128-128l0-113.1c0-40.2-16-78.8-44.4-107.3C444.8 76.8 413.9 64 381.7 64L336 64c-21.3 0-39.3 13.9-45.6 33.1l74.5 23.7c8.4 2.7 13.1 11.7 10.4 20.1s-11.7 13.1-20.1 10.4L288 129.9l0 .1L84 65.8C62.9 59.2 40.5 70.9 33.8 92s5.1 43.5 26.2 50.2L269.5 208 40 208z\", \"\"]]\n};\nvar faHandsPraying = {\n prefix: 'fad',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", [\"M361.2 .7c-3.5 .8-6.9 2.1-10 4.1c-7.5 4.6-12.4 11.9-14.3 19.9c-1.1 4.6-1.2 9.4-.1 14.1c.7 3.2 1.9 6.3 3.6 9.3l86.4 151.2c3.5 6 5.3 12.9 5.3 19.8V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-17.7-14.3-32-32-32s-32 14.3-32 32V342.2c0 58 39 108.7 95 123.7l168.7 45c9.6 2.6 19.9 .5 27.7-5.5s12.5-15.4 12.5-25.4V384c0-13.8-8.8-26-21.9-30.4l-79.2-26.4c-6.5-2.2-10.9-8.3-10.9-15.2V238.5c0-15.8-4.7-31.2-13.4-44.4L394.8 14.5C390.1 7.4 383.1 2.7 375.4 .9c-4.6-1.1-9.4-1.2-14.1-.1z\", \"M278.8 .7c3.5 .8 6.9 2.1 10 4.1c7.5 4.6 12.4 11.9 14.3 19.9c1.1 4.6 1.2 9.4 .1 14.1c-.7 3.2-1.9 6.3-3.6 9.3L213.3 199.3c-3.5 6-5.3 12.9-5.3 19.8V304c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32V342.2c0 58-39 108.7-95 123.7l-168.7 45c-9.6 2.6-19.9 .5-27.7-5.5S0 489.9 0 480V384c0-13.8 8.8-26 21.9-30.4l79.2-26.4c6.5-2.2 10.9-8.3 10.9-15.2V238.5c0-15.8 4.7-31.2 13.4-44.4L245.2 14.5c4.6-7.1 11.7-11.8 19.4-13.6c4.6-1.1 9.4-1.2 14.1-.1z\"]]\n};\nvar faPrayingHands = faHandsPraying;\nvar faFacePensive = {\n prefix: 'fad',\n iconName: 'face-pensive',\n icon: [512, 512, [], \"e384\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 384h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM387.2 270.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM65.7 215.2c-4-7.9-.7-17.5 7.2-21.5l22.9-11.4c14.5-7.2 27.2-17.6 37.4-30.2l14.4-18c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5l-14.4 18c-13 16.3-29.4 29.5-48 38.8L87.2 222.3c-7.9 4-17.5 .7-21.5-7.2zm373.5-21.5c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2L402 210.9c-18.6-9.3-35-22.6-48.1-38.8l-14.4-18c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5l14.4 18c10.1 12.7 22.9 23 37.4 30.2l22.9 11.4z\", \"M439.2 193.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2L402 210.9c-18.6-9.3-35-22.6-48.1-38.8l-14.4-18c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5l14.4 18c10.1 12.7 22.9 23 37.4 30.2l22.9 11.4zM65.7 215.2c-4-7.9-.7-17.5 7.2-21.5l22.9-11.4c14.5-7.2 27.2-17.6 37.4-30.2l14.4-18c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5l-14.4 18c-13 16.3-29.4 29.5-48 38.8L87.2 222.3c-7.9 4-17.5 .7-21.5-7.2zm59.1 55.2c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zm192 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2z\"]]\n};\nvar faUserMusic = {\n prefix: 'fad',\n iconName: 'user-music',\n icon: [640, 512, [], \"f8eb\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c36.3 0 70.1 10.9 98.3 29.5v51.6c-18 2.5-34.8 9.1-48.5 19.4c-17.6 13.2-31.5 34-31.5 59.5c0 19.1 7.7 35.4 18.9 48H29.7C13.3 512 0 498.7 0 482.3z\", \"M640 184c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-192 64c-9.8 3.3-16.4 12.4-16.4 22.8v48V417.5c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V313.3l144-48v88.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48c0-1.5-.1-3-.3-4.4c.2-1.2 .3-2.4 .3-3.6V232 184z\"]]\n};\nvar faArrowRotateRight = {\n prefix: 'fad',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", [\"M386.3 160l-17.1-17.1c-62.5-62.5-163.8-62.5-226.3 0s-62.5 163.8 0 226.3s163.8 62.5 226.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-229.3 87.5-316.8 0s-87.5-229.3 0-316.8s229.3-87.5 316.8 0L432 115.2V160H386.3z\", \"M496 192c0 17.7-14.3 32-32 32H336c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V64c0-17.7 14.3-32 32-32s32 14.3 32 32V192z\"]]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faMessagesDollar = {\n prefix: 'fad',\n iconName: 'messages-dollar',\n icon: [640, 512, [\"comments-alt-dollar\"], \"f652\", [\"M64 0C28.7 0 0 28.7 0 64V256c0 35.3 28.7 64 64 64H96v48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 320H352c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM228 56V69.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V264c0 11-9 20-20 20s-20-9-20-20V249.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V56c0-11 9-20 20-20s20 9 20 20z\", \"M228 56V69.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V264c0 11-9 20-20 20s-20-9-20-20V249.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V56c0-11 9-20 20-20s20 9 20 20zm28 328V352h96c53 0 96-43 96-96V128H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H544v48c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L437.3 448H320c-35.3 0-64-28.7-64-64z\"]]\n};\nvar faCommentsAltDollar = faMessagesDollar;\nvar faSensorOn = {\n prefix: 'fad',\n iconName: 'sensor-on',\n icon: [640, 512, [], \"e02b\", [\"\", \"M604 74.7c7.4 11 4.4 25.9-6.7 33.3l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7zM512 256c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H536c-13.3 0-24-10.7-24-24zm4 122.7c7.4-11 22.3-14 33.3-6.7l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 88V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faBalloon = {\n prefix: 'fad',\n iconName: 'balloon',\n icon: [384, 512, [], \"e2e3\", [\"M176 96c-44.2 0-80 35.8-80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16z\", \"M0 192C0 86 86 0 192 0S384 86 384 192c0 102.6-102.8 194.9-143.6 227.5c-9.3 7.4-12.5 20.4-7.1 31l21.4 42.7c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H140.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8l21.4-42.7c5.3-10.6 2.1-23.6-7.1-31C102.8 386.9 0 294.6 0 192zm96-16c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16C114.1 64 64 114.1 64 176c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]]\n};\nvar faBiohazard = {\n prefix: 'fad',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", [\"M122.1 146.5c2.6 16.4 7.6 32 14.6 46.4c-15.4 1.7-30.6 5.4-45.4 11.4c7.2-21 17.7-40.5 30.9-57.9zM80 267.9c21.3-4.2 43.4-3.3 64 4.1c0 55.4 31.3 103.5 77.2 127.6c-3.5 21.6-13.8 41.2-28.5 57.3C125.7 422.3 80 352.5 80 272c0-1.4 0-2.7 0-4.1zM363.9 149.6c-22-13.7-48.1-21.6-75.9-21.6s-53.9 7.9-75.9 21.6c-16.6-14.3-28-33.3-34.3-54C209.7 75.6 247.5 64 288 64s78.3 11.6 110.3 31.6c-6.3 20.8-17.7 39.7-34.3 54zm-9.1 250C400.7 375.5 432 327.4 432 272c20.6-7.3 42.7-8.3 64-4.1c0 1.3 0 2.7 0 4.1c0 80.5-45.7 150.3-112.7 184.9c-14.7-16.2-25.1-35.7-28.5-57.3zm-35.9 78.1c-10.1 1.5-20.4 2.3-30.9 2.3s-20.8-.8-30.9-2.3c11.9-9.1 22.2-19.5 30.9-31c8.7 11.4 19 21.9 30.9 31zM484.8 204.4c-14.8-6-30.1-9.8-45.4-11.4c7-14.4 11.9-30 14.6-46.4c13.2 17.4 23.6 36.9 30.9 57.9z\", \"M168.4 2c1.3-1.3 3-2 4.8-2c5 0 8.4 5.2 6.7 9.9C154.3 80.5 190.4 176 288 176s133.7-95.5 108.1-166.1c-1.7-4.7 1.6-9.9 6.7-9.9c1.8 0 3.5 .7 4.8 2c30 30.3 48.4 72 48.4 118c0 26.2-6 50.9-16.6 73c22 2.4 43.8 9.1 64.2 20.5c34.5 19.3 59.1 48.9 72.1 82.5c.7 1.7 .5 3.7-.5 5.2c-2.2 3.7-7.4 4.3-10.6 1.3C511.8 254.3 418 245.1 371 324s8.1 153.1 77.6 173.2c4.2 1.2 6.3 5.9 4.1 9.6c-1 1.6-2.6 2.7-4.5 3c-36.5 5.9-75.2 .1-109.7-19.2c-20.4-11.4-37.4-26.5-50.5-43.8c-13.1 17.3-30.1 32.4-50.5 43.8c-34.5 19.3-73.3 25.2-109.7 19.2c-1.9-.3-3.5-1.4-4.5-3c-2.2-3.7-.1-8.4 4.1-9.6C196.9 477.1 252 403 205 324s-140.7-69.8-193.5-21.4c-3.2 2.9-8.4 2.3-10.6-1.3c-1-1.6-1.1-3.5-.5-5.2c12.9-33.6 37.5-63.2 72.1-82.5c20.4-11.4 42.2-18.1 64.2-20.5C126 170.9 120 146.2 120 120c0-46 18.5-87.7 48.4-118zM288 320a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faChessQueenPiece = {\n prefix: 'fad',\n iconName: 'chess-queen-piece',\n icon: [256, 512, [\"chess-queen-alt\"], \"f446\", [\"M208 416H48L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416z\", \"M152 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM67.6 192.4C56.5 194.5 48 204.2 48 216c0 12.9 10.2 23.4 23 24L48 416H208L185 240c12.8-.5 23-11.1 23-24c0-11.8-8.5-21.5-19.6-23.6l41.5-67.5c3.7-6 3-13.6-1.6-18.9s-12.1-6.9-18.6-4.1c-3 1.3-6.3 2.1-9.8 2.1c-11.8 0-21.6-8.5-23.6-19.7c-1.1-6.3-6-11.4-12.3-12.8s-12.8 1.1-16.5 6.4C143.2 84 136.1 88 128 88s-15.2-4-19.6-10.1c-3.7-5.3-10.2-7.8-16.5-6.4S80.8 78 79.6 84.3C77.6 95.5 67.8 104 56 104c-3.5 0-6.8-.7-9.8-2.1c-6.4-2.9-13.9-1.2-18.6 4.1s-5.3 13-1.6 18.9l41.5 67.5z\"]]\n};\nvar faChessQueenAlt = faChessQueenPiece;\nvar faLocationCrosshairs = {\n prefix: 'fad',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", [\"M256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M256 0c17.7 0 32 14.3 32 32V66.7C368.4 80.1 431.9 143.6 445.3 224H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H445.3C431.9 368.4 368.4 431.9 288 445.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.3C143.6 431.9 80.1 368.4 66.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H66.7C80.1 143.6 143.6 80.1 224 66.7V32c0-17.7 14.3-32 32-32zM128 256a128 128 0 1 0 256 0 128 128 0 1 0 -256 0z\"]]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'fad',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", [\"M368 480c-22.6 0-44.2-4.3-64-12c18.9-14.8 35.2-32.8 48.1-53.1c5.2 .7 10.6 1.1 16 1.1c61.9 0 112-50.1 112-112c0-33.1-14.3-62.8-37.1-83.3c.9-.3 1.7-.6 2.5-1c20.9-8.7 34.6-29.1 34.6-51.7V146.7l40.4-40.4L487 73c-4.5-4.5-7-10.6-7-16.8V56l0-.2c0-3 .6-6.1 1.8-9c3.7-9 12.5-14.8 22.2-14.8H616c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L513 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176zM592 80l0 0h0v0zM176 224a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M312 32c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l33.4 33.4L275.8 159c-28.4-19.5-62.7-31-99.8-31C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-37-11.4-71.4-31-99.8l52.6-52.6L407 185c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V56c0-13.3-10.7-24-24-24H312zm88 48h0v0l0 0zM64 304a112 112 0 1 1 224 0A112 112 0 1 1 64 304zm320 0c0 28.3-5.7 55.4-15.9 80c44.2 0 79.9-35.8 79.9-80s-35.8-80-79.9-80c10.3 24.6 15.9 51.7 15.9 80z\"]]\n};\nvar faHousePersonLeave = {\n prefix: 'fad',\n iconName: 'house-person-leave',\n icon: [640, 512, [\"house-leave\", \"house-person-depart\"], \"e00f\", [\"M261.7 16.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.7 8.9-12.9 22.9-8.1 35.2S18.8 264 32 264H64V376c0 26.5 21.5 48 48 48H317.5l44-44 32.6-81.6c-14.1 6.3-30.5 7.5-46.3 2.3c-33.5-11.2-51.7-47.4-40.5-81l2.6-7.8c12.2-36.5 37-67.2 69.6-86.7L261.7 16.5zM160 192h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16z\", \"M480 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM446.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L601 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L567 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM388.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1l-61.7 61.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L388.7 398z\"]]\n};\nvar faHouseLeave = faHousePersonLeave;\nvar faHousePersonDepart = faHousePersonLeave;\nvar faRulerTriangle = {\n prefix: 'fad',\n iconName: 'ruler-triangle',\n icon: [512, 512, [128208], \"f61c\", [\"M54.6 9.4C45.5 .2 31.7-2.5 19.8 2.4S0 19.1 0 32V448c0 35.3 28.7 64 64 64H480c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-52.7-52.7-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-57.4-57.4-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-57.4-57.4-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-57.4-57.4-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6L129.9 84.7l-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6L54.6 9.4zM128 256L256 384H128V256z\", \"M107.3 62.1L84.7 84.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6L107.3 62.1zm80 80l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6-22.6-22.6zm80 80l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6-22.6-22.6zm80 80l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6-22.6-22.6zm80 80l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6-22.6-22.6z\"]]\n};\nvar faCardClub = {\n prefix: 'fad',\n iconName: 'card-club',\n icon: [384, 512, [], \"e3e9\", [\"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM130.1 208.3C101.9 211.3 80 235.1 80 264c0 30.9 25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V336H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V303.2c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56c0-28.9-21.9-52.7-50.1-55.7c1.4-5.2 2.1-10.7 2.1-16.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.6 .7 11.1 2.1 16.3z\", \"M253.9 208.3c1.4-5.2 2.1-10.7 2.1-16.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.6 .7 11.1 2.1 16.3C101.9 211.3 80 235.1 80 264c0 30.9 25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V336H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V303.2c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56c0-28.9-21.9-52.7-50.1-55.7z\"]]\n};\nvar faChildDress = {\n prefix: 'fad',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", [\"M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64z\", \"M86.2 285.5L57.5 323.3c-10.7 14.1-30.8 16.8-44.8 6.2s-16.8-30.7-6.2-44.8L65.4 207c22.4-29.6 57.5-47 94.6-47s72.2 17.4 94.6 47l58.9 77.7c10.7 14.1 7.9 34.2-6.2 44.8s-34.2 7.9-44.8-6.2l-28.7-37.8L265 378.9c3.5 10.4-4.3 21.1-15.2 21.1H232v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V400H152v80c0 17.7-14.3 32-32 32s-32-14.3-32-32V400H70.2c-10.9 0-18.6-10.7-15.2-21.1l31.1-93.4z\"]]\n};\nvar faUsersBetweenLines = {\n prefix: 'fad',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", [\"M147.2 224a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM96 256c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h85.6c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4H96zm480 96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4H576zm-115.9 0c-10.8-30.7-36.8-54.2-68.9-61.6c-6.9-1.6-14.2-2.4-21.6-2.4h-96c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32zm39.1-128a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-97.6-48a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]]\n};\nvar faLungsVirus = {\n prefix: 'fad',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", [\"M352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V156.2c8.5-7.6 19.7-12.2 32-12.2s23.5 4.6 32 12.2V32zm32 157.5c18.6-12.4 44-10.3 60.5 6.1c18.7 18.7 18.7 49.1 0 67.9c-1.5 1.5-1.9 3.4-1.1 5.5s2.5 3.1 4.6 3.1c26.5 0 48 21.5 48 48s-21.5 48-48 48c-2.2 0-3.8 1.1-4.6 3.1s-.5 3.9 1.1 5.5c18.7 18.7 18.7 49.1 0 67.9c-10.7 10.7-25.3 15.3-39.2 13.8c12.8 15.9 30.6 27.7 51.5 32.9l72.7 18.2c7.1 1.8 14.3 2.7 21.6 2.7c49.1 0 89-39.8 89-89v-7c0-1.3-.1-2.7-.2-4c-7.2-57.9-33.1-119.4-59.6-170.3c-26.8-51.5-55.6-94.8-71-116.9c-13-18.6-34-28.8-55.8-28.8C415 96 384 127 384 165.3v24.1zM234.8 458.2c-14 1.5-28.5-3-39.2-13.8c-18.7-18.7-18.7-49.1 0-67.9c1.5-1.5 1.9-3.4 1.1-5.5s-2.5-3.1-4.6-3.1c-26.5 0-48-21.5-48-48s21.5-48 48-48c2.2 0 3.8-1.1 4.6-3.1s.5-3.9-1.1-5.5c-18.7-18.7-18.7-49.1 0-67.9c16.4-16.4 41.8-18.5 60.5-6.1V165.3C256 127 225 96 186.7 96c-21.7 0-42.8 10.2-55.8 28.8c-15.4 22.1-44.3 65.4-71 116.9C33.4 292.6 7.5 354.2 .2 412c-.2 1.3-.2 2.6-.2 4v7c0 49.1 39.8 89 89 89c7.3 0 14.5-.9 21.6-2.7l72.7-18.2c20.9-5.2 38.7-17.1 51.5-32.9z\", \"M336 192c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C241.5 264.1 225 304 192 304c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C264.1 398.5 304 415 304 448c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C398.5 375.9 415 336 448 336c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C375.9 241.5 336 225 336 192zM272 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 40a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faSpinnerThird = {\n prefix: 'fad',\n iconName: 'spinner-third',\n icon: [512, 512, [], \"f3f4\", [\"M256 64C150 64 64 150 64 256s86 192 192 192c70.1 0 131.3-37.5 164.9-93.6l.1 .1c-6.9 14.9-1.5 32.8 13 41.2c15.3 8.9 34.9 3.6 43.7-11.7c.2-.3 .4-.6 .5-.9l0 0C434.1 460.1 351.1 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z\", \"M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faFaceGrinTears = {\n prefix: 'fad',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", [\"M320 512c99.9 0 186.4-57.2 228.6-140.6c-4.5-2.9-8.7-6.3-12.7-10.3c-8.1-8.1-13.2-18.6-16.5-26.6c-3.6-8.8-6.5-18.4-8.8-27.5c-4.6-18.2-7.7-37-9.3-48.2c-3.9-26.5 18.8-49.2 45.2-45.4c6.8 .9 16.2 2.4 26.6 4.4C554.7 94.5 448.4 0 320 0S85.3 94.5 66.8 217.7c10.3-2 19.8-3.5 26.6-4.4c26.5-3.9 49.2 18.8 45.2 45.4c-1.6 11.3-4.6 30-9.3 48.2c-2.3 9.1-5.2 18.8-8.8 27.5c-3.3 8.1-8.4 18.5-16.5 26.6c-3.9 3.9-8.2 7.4-12.7 10.3C133.6 454.8 220.1 512 320 512zM452.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C446.4 390.6 388.2 432 320.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zm-170.5-84l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2-.4-.5-.4-.5c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\", \"M281.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm184.8 41.8c-14.1-14.1-62.8-22.6-84.4-25.5c-5.4-.8-9.9 3.7-9 9c3.1 21.5 11.4 70.2 25.5 84.4c18.4 18.4 48.5 18 67.2-.7s19.1-48.8 .7-67.2zM97.9 245c-21.6 3-70.2 11.4-84.4 25.5c-18.4 18.4-18 48.5 .7 67.2s48.8 19.1 67.2 .7c14.1-14.1 22.5-62.9 25.5-84.4c.8-5.4-3.7-9.9-9-9z\"]]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'fad',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", [\"M505.7 412.3l-8.5 31.2c-71.8-8.7-138.9-32.9-197.8-69.1l20.5-25c55.4 33.4 118.4 55.4 185.8 62.9zM99.7 6.3c7.5 67.4 29.5 130.4 62.9 185.8l-25 20.5C101.4 153.7 77.2 86.6 68.4 14.8L99.7 6.3z\", \"M68.4 14.8l-39 10.6C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l10.6-39C273.2 416.4 95.6 238.8 68.4 14.8zM505.7 412.3l4.9-17.8c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6l-25.1 30.7c55.4 33.4 118.4 55.4 185.8 62.9zM162.6 192.1L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96c-7.7-18.6-28-28.5-47.4-23.2L99.7 6.3c7.5 67.4 29.5 130.4 62.9 185.8z\"]]\n};\nvar faComputerMouseScrollwheel = {\n prefix: 'fad',\n iconName: 'computer-mouse-scrollwheel',\n icon: [384, 512, [\"mouse-alt\"], \"f8cd\", [\"M160 0C71.6 0 0 71.6 0 160V352c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V160C384 71.6 312.4 0 224 0H160zm64 128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M192 96c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\"]]\n};\nvar faMouseAlt = faComputerMouseScrollwheel;\nvar faCalendarXmark = {\n prefix: 'fad',\n iconName: 'calendar-xmark',\n icon: [512, 512, [\"calendar-times\"], \"f273\", [\"M480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM337 305l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M160 0c-17.7 0-32 14.3-32 32V64H80c-26.5 0-48 21.5-48 48v80H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32zM337 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'fad',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", [\"M128 64a64 64 0 1 1 128 0A64 64 0 1 1 128 64z\", \"M155.7 170.2c11.7 3.8 24 5.8 36.6 5.8c39.9 0 77.1-20.2 98.8-53.6l18.1-27.9c9.6-14.8 29.5-19 44.3-9.4s19 29.5 9.4 44.3l-18.2 27.9c-18.2 28-43.5 50-72.7 64.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H176v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V221.4C83.6 207.4 58.9 186.1 40.9 159L21.4 129.8c-9.8-14.7-5.8-34.6 8.9-44.4s34.6-5.8 44.4 8.9l19.5 29.2c14.3 21.5 35.1 37.4 58.8 45.8c.9 .3 1.8 .6 2.7 .9z\"]]\n};\nvar faTableLayout = {\n prefix: 'fad',\n iconName: 'table-layout',\n icon: [512, 512, [], \"e290\", [\"M64 160v64l64 0V416h64V224l256 0V160H64z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 96V416H64V96H448z\"]]\n};\nvar faNarwhal = {\n prefix: 'fad',\n iconName: 'narwhal',\n icon: [640, 512, [], \"f6fe\", [\"M25.2 98.9c-4.9-3.4-11.3-3.8-16.6-1.1S0 106 0 112l0 54.7c0 26.1 12.7 50.6 34.1 65.5L64 253.1V352c0 88.4 71.6 160 160 160H464c97.2 0 176-78.8 176-176s-79.7-176-176.9-176c-50.9 0-100.7 17.5-140.2 49.6L154.1 346.8c-10.5 8.5-26.1 1.1-26.1-12.4V253.1l29.9-20.9c21.4-15 34.1-39.4 34.1-65.5l0-54.7c0-6-3.3-11.4-8.6-14.2s-11.7-2.3-16.6 1.1L96 148.5 25.2 98.9zM496 280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M639.3 20.7c2.4-7.8-1.4-16.1-8.9-19.4s-16.2-.4-20.2 6.6L516.7 168.3c24.6 7.8 46.9 20.9 65.6 37.8l57-185.4zM496 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faRampLoading = {\n prefix: 'fad',\n iconName: 'ramp-loading',\n icon: [448, 512, [], \"f4d4\", [\"M32 48C32 21.5 53.5 0 80 0H368c26.5 0 48 21.5 48 48V440.4l-64-128V64H96V312.4l-64 128V48z\", \"M128 320H320l84.4 168.8c5.3 10.6-2.4 23.2-14.3 23.2H57.9c-11.9 0-19.6-12.5-14.3-23.2L128 320z\"]]\n};\nvar faCalendarCirclePlus = {\n prefix: 'fad',\n iconName: 'calendar-circle-plus',\n icon: [576, 512, [], \"e470\", [\"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v48H0V112C0 85.5 21.5 64 48 64H96V32zM416 192.7c-89.7 8.1-160 83.5-160 175.3c0 59.5 29.6 112.1 74.8 144H48c-26.5 0-48-21.5-48-48V192H416v.7z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faToothbrush = {\n prefix: 'fad',\n iconName: 'toothbrush',\n icon: [576, 512, [129701], \"f635\", [\"M80 280c0-13.3-10.7-24-24-24s-24 10.7-24 24V416H80V280zm80 136V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V416h48zm80 0V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V416h48zm80 0V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V416h48zm80 0V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V416h48z\", \"M64 224c-35.3 0-64-28.7-64-64s28.7-64 64-64H288c31.2 0 38.2-22.7 39.6-48c.5-8.8 7.6-16.1 16.4-15.2c52.4 5.3 104 36.7 104 95.2c0 53-43 96-96 96H64zM32 416H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faBorderInner = {\n prefix: 'fad',\n iconName: 'border-inner',\n icon: [448, 512, [], \"f84e\", [\"M448 448a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm0-96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM64 352A32 32 0 1 1 0 352a32 32 0 1 1 64 0zM384 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 160A32 32 0 1 1 0 160a32 32 0 1 1 64 0zM384 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zM64 448A32 32 0 1 1 0 448a32 32 0 1 1 64 0zM288 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm64 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\", \"M192 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160z\"]]\n};\nvar faPawClaws = {\n prefix: 'fad',\n iconName: 'paw-claws',\n icon: [512, 512, [], \"f702\", [\"M178.1 15.3L138.9 58.4C121.6 77.4 112 102.3 112 128h0c-.2 11.3 1.5 23.2 5.5 35.1c14.3 42.9 52.1 69.1 84.4 58.5s46.9-53.9 32.6-96.8C226.3 100.2 210.3 81 192 71.2V20.7c0-7.3-9-10.8-13.9-5.4zm132 206.3c32.3 10.6 70.1-15.6 84.4-58.5c4-11.9 5.7-23.9 5.5-35.1h0c0-25.7-9.6-50.6-26.9-69.6L333.9 15.3C329 9.9 320 13.4 320 20.7V71.2c-18.3 9.8-34.3 28.9-42.5 53.6c-14.3 42.9 .3 86.2 32.6 96.8zM90.2 314.7c24.5-14 29.1-51.7 10.2-84.1C91.1 214.7 77.9 203 64 196.8V152.6c0-7.7-9.9-11-14.5-4.7L12.2 199.2C4.3 210.1 0 223.3 0 236.8V240H0c-.1 13.3 3.7 27.8 11.6 41.4c18.9 32.4 54 47.3 78.5 33.3zm331.7 0c24.5 14 59.7-.9 78.5-33.3c7.9-13.6 11.7-28.1 11.6-41.4h0v-3.2c0-13.5-4.3-26.7-12.2-37.6l-37.3-51.3c-4.6-6.3-14.5-3-14.5 4.7v44.2c-13.9 6.1-27.1 17.8-36.4 33.7c-18.9 32.4-14.3 70.1 10.2 84.1z\", \"M69.2 433.2C121.6 291.9 214.7 256 256 256s134.4 35.9 186.8 177.2c3.6 9.7 5.2 20.1 5.2 30.5v1.6c0 25.8-20.9 46.7-46.7 46.7c-11.5 0-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6 0l-88 22c-11.1 2.8-22.5 4.2-34 4.2C84.9 512 64 491.1 64 465.3v-1.6c0-10.4 1.6-20.8 5.2-30.5z\"]]\n};\nvar faKiwiFruit = {\n prefix: 'fad',\n iconName: 'kiwi-fruit',\n icon: [448, 512, [], \"e30c\", [\"M224 320c123.7 0 224-64.5 224-144S347.7 32 224 32S0 96.5 0 176s100.3 144 224 144zM240 80v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zM80 160h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm256 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-96 88v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V248c0-8.8 7.2-16 16-16s16 7.2 16 16zM116.7 92.7c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16zm-153.4 128c6.2 6.2 6.2 16.4 0 22.6l-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16c6.2-6.2 16.4-6.2 22.6 0zm137.4 0c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6zM224 200c-30.9 0-56-10.7-56-24s25.1-24 56-24s56 10.7 56 24s-25.1 24-56 24z\", \"M224 64c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zM64 176c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm256 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm-96 56c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V248c0-8.8-7.2-16-16-16zM116.7 92.7c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16c-6.2-6.2-16.4-6.2-22.6 0zm192 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0zm-153.4 128c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6zm137.4 0c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16c-6.2-6.2-16.4-6.2-22.6 0zM224 480c123.7 0 224-100.3 224-224V176c0 79.5-100.3 144-224 144S0 255.5 0 176v80C0 379.7 100.3 480 224 480z\"]]\n};\nvar faTrafficLightSlow = {\n prefix: 'fad',\n iconName: 'traffic-light-slow',\n icon: [320, 512, [], \"f639\", [\"M160 192a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]]\n};\nvar faRectangleCode = {\n prefix: 'fad',\n iconName: 'rectangle-code',\n icon: [512, 512, [], \"e322\", [\"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm294.2 71.9c-8.9 9.9-8.1 25 1.8 33.9L356.1 256l-60.2 54.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72c-9.9-8.9-25-8.1-33.9 1.8zm-78.1 33.9c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L155.9 256l60.2-54.2z\", \"M216.1 201.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L155.9 256l60.2-54.2zm79.9 0L356.1 256l-60.2 54.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9z\"]]\n};\nvar faHeadSideVirus = {\n prefix: 'fad',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", [\"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zM224 64c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80c0-8.8-7.2-16-16-16z\", \"M240 80c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80zM176 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 40a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faKeyboardBrightness = {\n prefix: 'fad',\n iconName: 'keyboard-brightness',\n icon: [640, 512, [], \"e1c0\", [\"M134.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64zM288 192c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-17.7-14.3-32-32-32s-32 14.3-32 32v96zm153.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64zM0 384c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm512 0c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H544c-17.7 0-32 14.3-32 32z\", \"M192 384c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faBooksMedical = {\n prefix: 'fad',\n iconName: 'books-medical',\n icon: [576, 512, [], \"f7e8\", [\"M96 0h64c17.7 0 32 14.3 32 32V96H64V32C64 14.3 78.3 0 96 0zM64 480V416H192v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM224 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96H224V32zm0 96H352V384H224V128zm0 288H352v64c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V416zM353.4 117.8L476.2 85l8.2 30.9L361.6 148.8l-8.2-30.9zm74.2 278.3l122.8-32.9 8.2 30.9L435.8 427l-8.2-30.9z\", \"M353.4 117.9l-1.4-5.2 0 15.4H224V96H352l0-75.3c2.3-1.3 4.8-2.4 7.5-3.1L420.9 1.1c16.9-4.6 34.4 5.5 38.9 22.6L476.2 85 353.4 117.9zm8.2 30.9l122.8-32.9 66 247.4L427.6 396.1l-66-247.4zM435.8 427l122.8-32.9 16.3 61.1c4.5 17-5.5 34.5-22.5 39.1l-61.4 16.5c-16.9 4.6-34.4-5.5-38.9-22.6L435.8 427zM192 96v32H64V96H192zM64 416V384H192v32H64zm160-32H352v32H224V384zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H128v48c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V288H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16H64V176z\"]]\n};\nvar faLightbulbSlash = {\n prefix: 'fad',\n iconName: 'lightbulb-slash',\n icon: [640, 512, [], \"f673\", [\"M435.9 316.3c4.4-6.2 8.9-12.4 13.4-18.6l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0C249.7 0 189.1 41.2 160.8 100.8l52.4 41.1C227.7 96.7 270 64 320 64c8.8 0 16 7.2 16 16s-7.2 16-16 16c-40 0-73.1 29.3-79 67.6L435.9 316.3zM152.4 229.8c5.4 16.8 13.2 32.4 23 46.6c5 7.2 10.2 14.3 15.4 21.4l0 0c19.8 27.1 39.7 54.4 49.2 86.2H348.1L152.4 229.8zM240 416v16c0 44.2 35.8 80 80 80s80-35.8 80-80v-7.1L388.7 416H240z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faHouseBlank = {\n prefix: 'fad',\n iconName: 'house-blank',\n icon: [576, 512, [\"home-blank\"], \"e487\", [\"M64 270.5L64.1 448c0 35.3 28.7 64 64 64H448.5c35.4 0 64.1-28.7 64-64.1l-.4-177.3L288 74.5 64 270.5z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9l256 224c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224z\"]]\n};\nvar faHomeBlank = faHouseBlank;\nvar faSquare5 = {\n prefix: 'fad',\n iconName: 'square-5',\n icon: [448, 512, [], \"e25a\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm112 96H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H196l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88c2.1-11.4 12-19.7 23.6-19.7z\", \"M152.4 147.7c2.1-11.4 12-19.7 23.6-19.7H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H196l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88z\"]]\n};\nvar faSquareHeart = {\n prefix: 'fad',\n iconName: 'square-heart',\n icon: [448, 512, [128159, \"heart-square\"], \"f4c8\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM99.9 280.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L246.5 384.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L99.9 280.9z\", \"M99.9 172.9c-29.4 29.8-29.4 78.2 0 108L201.5 384.1c6.2 6.3 14.3 9.4 22.5 9.4s16.3-3.1 22.5-9.4L348.1 280.9c29.4-29.8 29.4-78.2 0-108s-77-29.8-106.4 0l-17.7 18-17.7-18c-29.4-29.8-77-29.8-106.4 0z\"]]\n};\nvar faHeartSquare = faSquareHeart;\nvar faPuzzle = {\n prefix: 'fad',\n iconName: 'puzzle',\n icon: [512, 512, [], \"e443\", [\"M320 0H448c35.3 0 64 28.7 64 64V192c0 8.8-7.2 16-16 16H444c-6.6 0-12 5.4-12 12v4c0 17.7-14.3 32-32 32s-32-14.3-32-32v-4c0-6.6-5.4-12-12-12l-36 0c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-8.8 0-16-7.2-16-16V16c0-8.8 7.2-16 16-16zM224 448v64H64c-35.3 0-64-28.7-64-64V288H64c8.8 0 16-7.2 16-16V256c0-17.7 14.3-32 32-32s32 14.3 32 32v16c0 8.8 7.2 16 16 16h64v64c0 8.8-7.2 16-16 16H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c8.8 0 16 7.2 16 16z\", \"M0 288H64c8.8 0 16-7.2 16-16V256c0-17.7 14.3-32 32-32s32 14.3 32 32v16c0 8.8 7.2 16 16 16h64V220c0-6.6 5.4-12 12-12h4c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4c-6.6 0-12-5.4-12-12V80c0-8.8-7.2-16-16-16H64C28.7 64 0 92.7 0 128V288zm224 0v64c0 8.8-7.2 16-16 16H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c8.8 0 16 7.2 16 16v64H384c35.3 0 64-28.7 64-64V304c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16v16c0 17.7-14.3 32-32 32s-32-14.3-32-32V304c0-8.8-7.2-16-16-16H224z\"]]\n};\nvar faUserGear = {\n prefix: 'fad',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3z\", \"M447.3 203.4c-6.8 1.5-11.3 7.8-11.3 14.8v17.4c0 7.9-4.9 15-11.7 18.9c-6.8 3.9-15.2 4.5-22 .6l-13.6-7.8c-6.1-3.5-13.7-2.7-18.5 2.4c-7.5 8.1-14.3 17.2-20.1 27.2s-10.3 20.4-13.5 31c-2.1 6.7 1.1 13.7 7.2 17.2l14 8.1c6.5 3.8 10.1 11 10.1 18.6s-3.5 14.8-10.1 18.6l-14 8.1c-6.1 3.5-9.2 10.5-7.2 17.2c3.3 10.6 7.8 21 13.5 31s12.5 19.1 20.1 27.2c4.8 5.1 12.5 5.9 18.5 2.4l13.5-7.8c6.8-3.9 15.2-3.3 22 .6c6.9 3.9 11.7 11 11.7 18.9l0 17.4c0 7 4.5 13.3 11.3 14.8c10.5 2.4 21.5 3.7 32.7 3.7s22.2-1.3 32.7-3.7c6.8-1.5 11.3-7.8 11.3-14.8l0-17.7c0-7.8 4.8-14.8 11.6-18.7c6.7-3.9 15.1-4.5 21.8-.6l13.8 7.9c6.1 3.5 13.7 2.7 18.5-2.4c7.6-8.1 14.3-17.2 20.1-27.2s10.3-20.4 13.5-31c2.1-6.7-1.1-13.7-7.2-17.2l-14.4-8.3c-6.5-3.7-10-10.9-10-18.4s3.5-14.7 10-18.4l14.4-8.3c6.1-3.5 9.2-10.5 7.2-17.2c-3.3-10.6-7.8-21-13.5-31s-12.5-19.1-20.1-27.2c-4.8-5.1-12.5-5.9-18.5-2.4l-13.8 7.9c-6.7 3.9-15.1 3.3-21.8-.6c-6.8-3.9-11.6-10.9-11.6-18.7V218.2c0-7-4.5-13.3-11.3-14.8c-10.5-2.4-21.5-3.7-32.7-3.7s-22.2 1.3-32.7 3.7zM480 303.7a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faUserCog = faUserGear;\nvar faPipeCircleCheck = {\n prefix: 'fad',\n iconName: 'pipe-circle-check',\n icon: [640, 512, [], \"e436\", [\"M64 128V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32s32 14.3 32 32zm448 0v64.7c-5.3-.5-10.6-.7-16-.7c-16.6 0-32.7 2.3-48 6.6V128c0-17.7 14.3-32 32-32s32 14.3 32 32zm-96 83.2c-57 29.1-96 88.4-96 156.8c0 5.4 .2 10.7 .7 16H96V128H416v83.2z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faArrowUp19 = {\n prefix: 'fad',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", [\"M464 64v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V108.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4s13.3 15.7 13.3 26zM445.7 364.9A32 32 0 1 0 418.3 307a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faOctagonExclamation = {\n prefix: 'fad',\n iconName: 'octagon-exclamation',\n icon: [512, 512, [], \"e204\", [\"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faDialLow = {\n prefix: 'fad',\n iconName: 'dial-low',\n icon: [576, 512, [], \"e15d\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M129.4 311.6c11.6 77 78 136 158.2 136c88.4 0 160-71.6 160-160s-71.6-160-160-160c-80.2 0-146.6 59-158.2 136l158.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-158.2 0z\"]]\n};\nvar faDoorClosed = {\n prefix: 'fad',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", [\"M160 0C124.7 0 96 28.7 96 64V512H480V64c0-35.3-28.7-64-64-64H160zM384 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M384 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 480c0-17.7 14.3-32 32-32H96v64H32c-17.7 0-32-14.3-32-32zm576 0c0 17.7-14.3 32-32 32H480V448h64c17.7 0 32 14.3 32 32z\"]]\n};\nvar faLaptopMobile = {\n prefix: 'fad',\n iconName: 'laptop-mobile',\n icon: [640, 512, [\"phone-laptop\"], \"f87a\", [\"M128 0C92.7 0 64 28.7 64 64V288H19.2C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384H352V288H128V64H448V96h64V64c0-35.3-28.7-64-64-64H128zM576 448V192H448V448H576z\", \"M448 192H576V448H448V192zm-16-64c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H432z\"]]\n};\nvar faPhoneLaptop = faLaptopMobile;\nvar faConveyorBeltBoxes = {\n prefix: 'fad',\n iconName: 'conveyor-belt-boxes',\n icon: [640, 512, [\"conveyor-belt-alt\"], \"f46f\", [\"M96 320c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H96zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M96 0C78.3 0 64 14.3 64 32V224c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zM416 64c-17.7 0-32 14.3-32 32V224c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H416z\"]]\n};\nvar faConveyorBeltAlt = faConveyorBeltBoxes;\nvar faShieldVirus = {\n prefix: 'fad',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 112c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C334.5 200.1 351 240 384 240c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C311.9 334.5 272 351 272 384c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C177.5 311.9 161 272 128 272c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C200.1 177.5 240 161 240 128c0-8.8 7.2-16 16-16z\", \"M272 128c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C177.5 200.1 161 240 128 240c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C200.1 334.5 240 351 240 384c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C334.5 311.9 351 272 384 272c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C311.9 177.5 272 161 272 128zM208 232a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 40a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faStarfighterTwinIonEngineAdvanced = {\n prefix: 'fad',\n iconName: 'starfighter-twin-ion-engine-advanced',\n icon: [640, 512, [\"starfighter-alt-advanced\"], \"e28e\", [\"M171.6 196.1C164.1 214.6 160 234.8 160 256s4.1 41.4 11.6 59.9L64 294.4V217.6l107.6-21.5zM480 256c0-21.2-4.1-41.4-11.6-59.9L576 217.6v76.8L468.4 315.9c7.5-18.5 11.6-38.7 11.6-59.9z\", \"M148.8 7.7c-13.4-11.5-33.6-9.9-45.1 3.5l-88.3 103C5.5 125.8 0 140.6 0 155.8V356.2c0 15.3 5.5 30.1 15.4 41.7l88.3 103c11.5 13.4 31.7 15 45.1 3.5s15-31.7 3.5-45.1L64 356.2V155.8l88.3-103c11.5-13.4 9.9-33.6-3.5-45.1zM414.7 272c-2.4 14.6-8.2 28.1-16.4 39.6l-23.1-23.1c3-5.1 5.3-10.6 6.8-16.5h32.7zm-39 62.3c-11.6 8.2-25 14-39.6 16.4V318c5.9-1.5 11.4-3.8 16.5-6.8l23.1 23.1zM304 350.7c-14.6-2.4-28.1-8.2-39.6-16.4l23.1-23.1c5.1 3 10.6 5.3 16.5 6.8v32.7zm-62.3-39c-8.2-11.6-14-25-16.4-39.6H258c1.5 5.9 3.8 11.4 6.8 16.5l-23.1 23.1zM414.7 240H382c-1.5-5.9-3.8-11.4-6.8-16.5l23.1-23.1c8.2 11.6 14 25 16.4 39.6zm-39-62.3l-23.1 23.1c-5.1-3-10.6-5.3-16.5-6.8V161.3c14.6 2.4 28.1 8.2 39.6 16.4zM304 194c-5.9 1.5-11.4 3.8-16.5 6.8l-23.1-23.1c11.6-8.2 25-14 39.6-16.4V194zm-39.1 29.5c-3 5.1-5.3 10.6-6.8 16.5H225.3c2.4-14.6 8.2-28.1 16.4-39.6l23.1 23.1zM320 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm22.8-137.5l-.3 .3c-5.8 5.7-13.7 9.2-22.5 9.2c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32c0 8.8-3.5 16.7-9.2 22.5zM488.5 53.7L576 148.5V348.8L487 460c-11 13.8-8.8 33.9 5 45s33.9 8.8 45-5l89-111.2c9.1-11.3 14-25.4 14-40V148.5c0-16.1-6.1-31.6-17-43.4L535.5 10.3c-12-13-32.2-13.8-45.2-1.8s-13.8 32.2-1.8 45.2z\"]]\n};\nvar faStarfighterAltAdvanced = faStarfighterTwinIonEngineAdvanced;\nvar faDiceSix = {\n prefix: 'fad',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faStarfighterTwinIonEngine = {\n prefix: 'fad',\n iconName: 'starfighter-twin-ion-engine',\n icon: [576, 512, [\"starfighter-alt\"], \"e038\", [\"M139.6 196.1C132.1 214.6 128 234.8 128 256s4.1 41.4 11.6 59.9L64 300.8V211.2l75.6-15.1zM436.4 315.9c7.5-18.5 11.6-38.7 11.6-59.9s-4.1-41.4-11.6-59.9L512 211.2v89.6l-75.6 15.1z\", \"M32 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32zm512 0c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM272 350.7V318c-5.9-1.5-11.4-3.8-16.5-6.8l-23.1 23.1c11.6 8.2 25 14 39.6 16.4zm-62.3-39l23.1-23.1c-3-5.1-5.3-10.6-6.8-16.5H193.3c2.4 14.6 8.2 28.1 16.4 39.6zM193.3 240H226c1.5-5.9 3.8-11.4 6.8-16.5l-23.1-23.1c-8.2 11.6-14 25-16.4 39.6zm39-62.3l23.1 23.1c5.1-3 10.6-5.3 16.5-6.8V161.3c-14.6 2.4-28.1 8.2-39.6 16.4zM343.6 334.3l-23.1-23.1c-5.1 3-10.6 5.3-16.5 6.8v32.7c14.6-2.4 28.1-8.2 39.6-16.4zm22.6-22.6c8.2-11.6 14-25 16.4-39.6H350c-1.5 5.9-3.8 11.4-6.8 16.5l23.1 23.1zM350 240h32.7c-2.4-14.6-8.2-28.1-16.4-39.6l-23.1 23.1c3 5.1 5.3 10.6 6.8 16.5zm-6.4-62.3c-11.6-8.2-25-14-39.6-16.4V194c5.9 1.5 11.4 3.8 16.5 6.8l23.1-23.1zM128 256a160 160 0 1 1 320 0 160 160 0 1 1 -320 0zm182.8 22.5c5.7-5.8 9.2-13.7 9.2-22.5c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32c8.8 0 16.7-3.5 22.5-9.2l.3-.3z\"]]\n};\nvar faStarfighterAlt = faStarfighterTwinIonEngine;\nvar faRocketLaunch = {\n prefix: 'fad',\n iconName: 'rocket-launch',\n icon: [512, 512, [128640], \"e027\", [\"M118.5 288H24c-8.7 0-16.7-4.7-20.9-12.2s-4.1-16.8 .4-24.2l52.8-86.9C69.3 143.2 92.6 130 117.8 130h80.8c-28.5 45.8-60.7 114.5-80.1 158zM382 313.4v80.8c0 25.2-13.1 48.5-34.6 61.5l-86.9 52.8c-7.4 4.5-16.7 4.7-24.2 .4s-12.2-12.2-12.2-20.9l0-96.2c43.9-19.1 112.4-50.3 158-78.4zM166.5 470C132.3 504.3 66 511 28.3 511.9c-16 .4-28.6-12.2-28.2-28.2C1 446 7.7 379.7 42 345.5c34.4-34.4 90.1-34.4 124.5 0s34.4 90.1 0 124.5zm-46.7-36.4c11.4-11.4 11.4-30 0-41.4s-30-11.4-41.4 0c-10.1 10.1-13 28.5-13.7 41.3c-.5 8 5.9 14.3 13.9 13.9c12.8-.7 31.2-3.7 41.3-13.7z\", \"M223.7 391.9c-4-56-49.1-100.6-105.3-103.8c21.4-47.9 58.4-126.6 88.8-171.5C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-44.7 30.3-123.1 66.2-171.6 87.2zM424 128a40 40 0 1 0 -80 0 40 40 0 1 0 80 0z\"]]\n};\nvar faMosquitoNet = {\n prefix: 'fad',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", [\"M161.7 440.8c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l32-64c1.1-2.2 1.7-4.7 1.7-7.2l0-41.4 32-32v50c0 17.7 14.3 32 32 32s32-14.3 32-32v-50l42.9 42.9c3-3.7 6.6-6.9 10.6-9.5c-12.9-8.6-21.5-23.3-21.5-40c0-2.1 .1-4.2 .4-6.2L320 265.4V242.2l40.2 35c6.1-9.1 15.2-15.9 25.9-19.2c6-19.7 24.3-34.1 45.9-34.1c16.7 0 31.4 8.5 40 21.5c8.6-12.9 23.3-21.5 40-21.5s31.4 8.5 40 21.5c2.1-3.1 4.5-6 7.3-8.6c-12.9-16.9-32.2-28.6-54.7-31.4L344.7 181.6l49.6-41.3c5.1-4.2 7-11.1 4.9-17.4L385.3 81.2l29-58.1c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-32 64c-1.9 3.8-2.2 8.2-.9 12.2l12.5 37.6L320 160.5V137.9c0-14.9-10.1-27.3-23.8-31V63.7c0-4.5-3.7-8.2-8.2-8.2s-8.2 3.7-8.2 8.2V107c-13.7 3.6-23.8 16.1-23.8 31v22.6l-45.4-37.8 12.5-37.6c1.3-4 1-8.4-.9-12.2l-32-64c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l29 58.1-13.9 41.7c-2.1 6.2-.1 13.1 4.9 17.4l49.6 41.3L71.4 205.5C30.6 210.6 0 245.2 0 286.3c0 72.6 87.8 109 139.2 57.6L256 242.2v23.1l-59.3 59.3c-3 3-4.7 7.1-4.7 11.3l0 44.2-30.3 60.6z\", \"M528 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H448V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16l0 48H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16l0 48H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V400h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V320h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H528V272zm48 48v48H528V320h48zm0 80v48H528V400h48zM448 368V320h48v48H448zm0 80V400h48v48H448z\"]]\n};\nvar faVentDamper = {\n prefix: 'fad',\n iconName: 'vent-damper',\n icon: [640, 512, [], \"e465\", [\"M64 160H32c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H64V160zM576 352h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H576V352z\", \"M128 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H128zm56 80H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faBridgeWater = {\n prefix: 'fad',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", [\"M269.5 389.9c11.1-7.9 25.9-7.9 37 0C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1z\", \"M32 64C14.3 64 0 78.3 0 96v35.6C0 147.3 12.7 160 28.4 160C65.8 160 96 190.2 96 227.6V352.5c12.9 0 25.8 3.9 36.9 11.7c18 12.4 40.1 20.3 59.1 20.3c0-.2 0-.3 0-.5V256c0-53 43-96 96-96s96 43 96 96V384c0 .2 0 .3 0 .5c0 0 0 0 0 0c19 0 41.2-7.9 59.2-20.3c11.1-7.8 24-11.7 36.8-11.7V227.6c0-37.3 30.2-67.6 67.6-67.6c15.7 0 28.4-12.7 28.4-28.4V96c0-17.7-14.3-32-32-32H32z\"]]\n};\nvar faBanBug = {\n prefix: 'fad',\n iconName: 'ban-bug',\n icon: [512, 512, [\"debug\"], \"f7f9\", [\"M345 299.7l19.9 4c8.7 1.7 17.1-3.9 18.8-12.6s-3.9-17.1-12.6-18.8l-35.1-7V246.7l35.1-7c8.7-1.7 14.3-10.2 12.6-18.8s-10.2-14.3-18.8-12.6l-29.5 5.9c-1.1-9.2-3.8-17.8-7.7-25.8l24.5-14.7c7.6-4.5 10-14.4 5.5-22s-14.4-10-22-5.5L307.8 163c-14-11.9-32.1-19-51.8-19c-18.7 0-35.9 6.4-49.6 17.2L345 299.7zm-39.4 51.1L176 221.3c0 .9 0 1.8 0 2.7v41.3l-35.1 7c-8.7 1.7-14.3 10.2-12.6 18.8s10.2 14.3 18.8 12.6l29.5-5.9c1.1 9.2 3.8 17.8 7.7 25.8l-24.5 14.7c-7.6 4.5-10 14.4-5.5 22s14.4 10 22 5.5L204.2 349c14 11.9 32.1 19 51.8 19c18.7 0 35.9-6.4 49.6-17.2z\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]]\n};\nvar faDebug = faBanBug;\nvar faPersonBooth = {\n prefix: 'fad',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", [\"M224 0c17.7 0 32 14.3 32 32V192H192V32c0-17.7 14.3-32 32-32zM544 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM192 480V320h64l0 160c0 17.7-14.3 32-32 32s-32-14.3-32-32zM295.8 11C301.9 4 310.7 0 320 0H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32c0 17.7-14.3 32-32 32c-16.8 0-30.6-12.9-31.9-29.4l-.7 3.6c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7l30.9-154.6L288.3 36.5C287 27.3 289.7 18 295.8 11z\", \"M64 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm48 237.3v72.1l38.4 51.2c6.2 8.3 9.6 18.4 9.6 28.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V426.7L64 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V278.3l0-.9V221.6c0-34 27.6-61.6 61.6-61.6c20.3 0 39.7 8.1 54 22.4L157.3 224H224c17.7 0 32 14.3 32 32s-14.3 32-32 32H150.6c-12.7 0-24.9-5.1-33.9-14.1l-4.7-4.7z\"]]\n};\nvar faTextWidth = {\n prefix: 'fad',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", [\"M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H224 400c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H256l0 128h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H176c-17.7 0-32-14.3-32-32s14.3-32 32-32h16l0-128H64z\", \"M9.4 406.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v32H320V320c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V416H128v32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64z\"]]\n};\nvar faGarageCar = {\n prefix: 'fad',\n iconName: 'garage-car',\n icon: [640, 512, [], \"e00a\", [\"M261.8 288H378.2c3.4 0 6.4 2.2 7.6 5.4L397.8 328H242.2l12.1-34.6c1.1-3.2 4.2-5.4 7.6-5.4zM209 277.5L188.9 335c-17.2 9.5-28.9 27.9-28.9 49v96c0 17.7 14.3 32 32 32s32-14.3 32-32V464H416v16c0 17.7 14.3 32 32 32s32-14.3 32-32V384c0-21.1-11.7-39.5-28.9-49L431 277.5C423.2 255.1 402 240 378.2 240H261.8c-23.8 0-45 15.1-52.9 37.5zM216 400a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M0 171.3V488c0 13.3 10.7 24 24 24H72c13.3 0 24-10.7 24-24V224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V488c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V171.3c0-26.2-15.9-49.7-40.2-59.4L331.9 4.8c-7.6-3.1-16.1-3.1-23.8 0L40.2 111.9C15.9 121.6 0 145.2 0 171.3z\"]]\n};\nvar faSquareKanban = {\n prefix: 'fad',\n iconName: 'square-kanban',\n icon: [448, 512, [], \"e488\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm64-160c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V288c0 17.7 14.3 32 32 32zm160 32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V352zm-64-96c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32z\", \"M288 352c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V352zM96 288c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V288zm128-32c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32z\"]]\n};\nvar faHatWizard = {\n prefix: 'fad',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", [\"M272 136c-3.4 0-6.5 2.2-7.6 5.5l-6.7 20.2-20.2 6.7c-3.3 1.1-5.5 4.1-5.5 7.6s2.2 6.5 5.5 7.6l20.2 6.7 6.7 20.2c1.1 3.3 4.1 5.5 7.6 5.5s6.5-2.2 7.6-5.5l6.7-20.2 20.2-6.7c3.3-1.1 5.5-4.1 5.5-7.6s-2.2-6.5-5.5-7.6l-20.2-6.7-6.7-20.2c-1.1-3.3-4.1-5.5-7.6-5.5zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M168.5 180.1L48 448H464L355.5 207.7c-2.3-5.1-3.5-10.6-3.5-16.1c0-5 1-9.9 2.8-14.6L414.6 27.6c1-2.4 1.4-4.9 1.4-7.5V18.6C416 8.3 407.7 0 397.4 0c-3.5 0-7 1-10 2.9L240.1 97.2c-31.4 20.1-56.3 48.9-71.6 82.9zm70.6 86.8l13.5 40.4 40.4 13.5c6.5 2.2 10.9 8.3 10.9 15.2s-4.4 13-10.9 15.2l-40.4 13.5-13.5 40.4C237 411.6 230.9 416 224 416s-13-4.4-15.2-10.9l-13.5-40.4-40.4-13.5C148.4 349 144 342.9 144 336s4.4-13 10.9-15.2l40.4-13.5 13.5-40.4c2.2-6.5 8.3-10.9 15.2-10.9s13 4.4 15.2 10.9zM272 136c3.4 0 6.5 2.2 7.6 5.5l6.7 20.2 20.2 6.7c3.3 1.1 5.5 4.1 5.5 7.6s-2.2 6.5-5.5 7.6l-20.2 6.7-6.7 20.2c-1.1 3.3-4.1 5.5-7.6 5.5s-6.5-2.2-7.6-5.5l-6.7-20.2-20.2-6.7c-3.3-1.1-5.5-4.1-5.5-7.6s2.2-6.5 5.5-7.6l20.2-6.7 6.7-20.2c1.1-3.3 4.1-5.5 7.6-5.5z\"]]\n};\nvar faPenFancy = {\n prefix: 'fad',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", [\"M174.1 256l-1.7 .4L77.7 278.3c-11.4 2.6-20.5 11.3-23.6 22.6L1.7 487.7l95.4-95.4c-.7-2.6-1.1-5.4-1.1-8.3c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-2.9 0-5.6-.4-8.3-1.1L24.4 510.3 211.2 458c11.3-3.2 19.9-12.2 22.6-23.6l21.9-94.7 .4-1.7 0 0 0 0L174.1 256zM512 79.3c0-.1 0-.2 0-.4s0-.2 0-.4v.7z\", \"M373.5 27.1C388.5 9.9 410.2 0 433 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6L256 337.9l0 0v0L174.1 256 373.5 27.1z\"]]\n};\nvar faCoffeePot = {\n prefix: 'fad',\n iconName: 'coffee-pot',\n icon: [512, 512, [], \"e002\", [\"M160.4 176C103.4 202.9 64 260.8 64 328v16c0 55.5 34.6 99.4 55.9 121.2c9.9 10.2 23.9 14.8 38.1 14.8H418c14.2 0 28.1-4.7 38.1-14.8C477.4 443.4 512 399.5 512 344V328c0-67.2-39.4-125.1-96.4-152H160.4zM448 328v16c0 27.4-16.8 53.7-33.5 72H161.5c-16.7-18.3-33.5-44.6-33.5-72V328c0-57.4 46.6-104 104-104H344c57.4 0 104 46.6 104 104z\", \"M96 96c-17.7 0-32 14.3-32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V128C0 75 43 32 96 32h25.3H192 454.7c14 0 25.3 11.3 25.3 25.3c0 4.4-1.1 8.7-3.3 12.5L416 176H160L114.3 96H96zM448 344c0 27.4-16.8 53.7-33.5 72H161.5c-16.7-18.3-33.5-44.6-33.5-72V328c0-2.7 .1-5.4 .3-8H447.7c.2 2.6 .3 5.3 .3 8v16z\"]]\n};\nvar faMouseField = {\n prefix: 'fad',\n iconName: 'mouse-field',\n icon: [512, 512, [], \"e5a8\", [\"M272 88c0-22.1 17.9-40 40-40s40 17.9 40 40v24c0 8.8-7.2 16-16 16H312c-22.1 0-40-17.9-40-40z\", \"M396.4 112.9C398.8 105 400 96.6 400 88c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 29.9 14.9 56.3 37.6 72.2C169.5 164.3 96 240.4 96 333.6c0 12.3 2.7 24 7.5 34.4H72c-39.8 0-72 32.2-72 72s32.2 72 72 72H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24s10.7-24 24-24H178.4 232h8 19H382.6c18.5 0 33.4-15 33.4-33.4c0-14.1-8.8-26.6-22-31.4l-43.7-15.9 23.8-63.5c2 .1 4 .2 6 .2H482.9c16.1 0 29.1-13 29.1-29.1c0-41.5-19.3-78.4-49.4-102.4C473.5 125.8 480 107.7 480 88c0-46.4-35.9-84.4-81.4-87.8C419.2 20.6 432 48.8 432 80c0 13.9-2.5 27.2-7.2 39.5c-9.1-3.2-18.6-5.5-28.4-6.6zM400 196a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zM312 48c22.1 0 40 17.9 40 40v24c0 8.8-7.2 16-16 16H312c-22.1 0-40-17.9-40-40s17.9-40 40-40z\"]]\n};\nvar faPersonDigging = {\n prefix: 'fad',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", [\"M9.8 214.8c5.1-12.2 19.1-18 31.4-12.9l347 144.6 34.2-45.6c6.4-8.5 16.6-13.3 27.2-12.8s20.3 6.4 25.8 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H288c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l16-32c5.4-10.8 16.5-17.7 28.6-17.7h32l22.5-30L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4z\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM60.6 292.9l32 13.7 112 48c11.8 5 19.4 16.6 19.4 29.4v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V405.1l-60.6-26-37 111c-5.6 16.8-23.7 25.8-40.5 20.2S-3.9 486.6 1.6 469.9l48-144 11-33zm.1-82.9l22.9-38.1C99.9 144.6 129.3 128 161 128c51.4 0 97 32.9 113.3 81.7l34.6 103.7L60.7 210z\"]]\n};\nvar faDigging = faPersonDigging;\nvar faShowerDown = {\n prefix: 'fad',\n iconName: 'shower-down',\n icon: [384, 512, [\"shower-alt\"], \"e24d\", [\"M52.8 295.4L34.7 337.7c-1.8 4.1-2.7 8.6-2.7 13.1V352c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1L75.2 295.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4zm109.8 42.4c-1.8 4.1-2.7 8.6-2.7 13.1V352c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1l-18.2-42.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4l-18.2 42.4zm64 128c-1.8 4.1-2.7 8.6-2.7 13.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1l-18.2-42.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4l-18.2 42.4zm82.2-170.4l-18.2 42.4c-1.8 4.1-2.7 8.6-2.7 13.1V352c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1l-18.2-42.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4zM98.7 465.7c-1.8 4.1-2.7 8.6-2.7 13.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1l-18.2-42.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4L98.7 465.7z\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v3.2C87 50 32 114.6 32 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32c0-77.4-55-142-128-156.8V32z\"]]\n};\nvar faShowerAlt = faShowerDown;\nvar faBoxCircleCheck = {\n prefix: 'fad',\n iconName: 'box-circle-check',\n icon: [576, 512, [], \"e0c4\", [\"M50.7 58.5L0 160H208V32H93.7C75.5 32 58.9 42.3 50.7 58.5zM240 160H416h32L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240V160zm176 32H0V416c0 35.3 28.7 64 64 64H296.2C271.1 449.6 256 410.5 256 368c0-91.8 70.3-167.2 160-175.3V192z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faBrightness = {\n prefix: 'fad',\n iconName: 'brightness',\n icon: [512, 512, [], \"e0c9\", [\"M224 80c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V80zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H80c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm400 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H432zM256 512c17.7 0 32-14.3 32-32V432c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 17.7 14.3 32 32 32zM73.4 438.6c12.5 12.5 32.8 12.5 45.3 0l32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32c-12.5 12.5-12.5 32.8 0 45.3zm288-333.3c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32zm77.3 333.3c12.5-12.5 12.5-32.8 0-45.3l-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32c12.5 12.5 32.8 12.5 45.3 0zm-333.3-288c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32z\", \"M160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]]\n};\nvar faCarSideBolt = {\n prefix: 'fad',\n iconName: 'car-side-bolt',\n icon: [640, 512, [], \"e344\", [\"M347.2 116.6c5.3 5.2 6.3 13.3 2.5 19.6L316.3 192H368c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L259.7 224H208c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2zM64 432a80 80 0 1 1 160 0A80 80 0 1 1 64 432zm352 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M528.2 225l-100-125c-18.2-22.8-45.8-36-75-36H171.3c-39.3 0-74.6 23.9-89.1 60.3L40.6 228.4C16.8 237.8 0 260.9 0 288V400c0 17.7 14.3 32 32 32c0-61.9 50.1-112 112-112s112 50.1 112 112H384c0-61.9 50.1-112 112-112s112 50.1 112 112c17.7 0 32-14.3 32-32V352c0-65.2-48.8-119-111.8-127zm-181-108.4c5.3 5.2 6.3 13.3 2.5 19.6L316.3 192H368c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L259.7 224H208c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2z\"]]\n};\nvar faOrnament = {\n prefix: 'fad',\n iconName: 'ornament',\n icon: [384, 512, [], \"f7b8\", [\"M192 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-32c0 11.7-3.1 22.6-8.6 32H192 136.6c-5.4-9.4-8.6-20.3-8.6-32c0-35.3 28.7-64 64-64s64 28.7 64 64zM384 320c0 22.4-3.8 44-10.9 64H10.9C3.8 364 0 342.4 0 320s3.8-44 10.9-64H373.1c7.1 20 10.9 41.6 10.9 64z\", \"M96 128c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32v25.7c39.3 22.7 69.7 58.9 85.1 102.3H10.9C26.3 212.6 56.7 176.4 96 153.7V128zM10.9 384H373.1C346.7 458.6 275.6 512 192 512s-154.7-53.4-181.1-128z\"]]\n};\nvar faPhoneArrowDownLeft = {\n prefix: 'fad',\n iconName: 'phone-arrow-down-left',\n icon: [512, 512, [\"phone-arrow-down\", \"phone-incoming\"], \"e223\", [\"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9l-135 135H416c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24v46.1L471 7c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faPhoneArrowDown = faPhoneArrowDownLeft;\nvar faPhoneIncoming = faPhoneArrowDownLeft;\nvar faCloudWord = {\n prefix: 'fad',\n iconName: 'cloud-word',\n icon: [640, 512, [], \"e138\", [\"M0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336zm512 32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16zM240 352c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96zM128 304c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm272-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M128 304c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm112 48c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96zm256 0c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H496zm-96-64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faHandFingersCrossed = {\n prefix: 'fad',\n iconName: 'hand-fingers-crossed',\n icon: [384, 512, [], \"e1a3\", [\"M110.3 55.6L93 18.5C85.5 2.5 66.5-4.5 50.5 3S27.5 29.5 35 45.5l40 85.8 35.3-75.7zM150.6 272l0 0H115.3l0 0H80l0 0H64c-35.3 0-64 28.7-64 64v27c0 33.9 13.5 66.5 37.5 90.5l11.6 11.6c30 30 70.7 46.9 113.1 46.9H224c88.4 0 160-71.6 160-160v-8.6c-9.4 5.4-20.3 8.6-32 8.6c-27.9 0-51.7-17.9-60.4-42.8C281.4 316 269.2 320 256 320c-11.7 0-22.6-3.1-32-8.6c0 .2 0 .4 0 .6c0 39.8-32.2 72-72 72H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c22.1 0 40-17.9 40-40s-17.9-40-40-40h-1.4zM192 230.6L181 207l-16 34.2c9.8 1.8 19 5.6 27 11V230.6zM59.6 240h70.6L221 45.5c7.5-16 .5-35.1-15.5-42.5s-35.1-.5-42.5 15.5L59.6 240z\", \"M256 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-17.7-14.3-32-32-32zm96 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32z\"]]\n};\nvar faTrash = {\n prefix: 'fad',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", [\"M394.6 466.8L416 96H32L53.4 466.8c1.5 25.4 22.5 45.2 47.9 45.2H346.7c25.4 0 46.5-19.8 47.9-45.2z\", \"M163.8 0c-12.1 0-23.2 6.8-28.6 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8z\"]]\n};\nvar faGaugeSimple = {\n prefix: 'fad',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 96c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64z\", \"M280 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88z\"]]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faArrowDownSmallBig = {\n prefix: 'fad',\n iconName: 'arrow-down-small-big',\n icon: [576, 512, [\"sort-size-down-alt\"], \"f88d\", [\"M368 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368zm0 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H368z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortSizeDownAlt = faArrowDownSmallBig;\nvar faBookMedical = {\n prefix: 'fad',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zM208 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272v48c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224H160c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48V112z\"]]\n};\nvar faFaceMelting = {\n prefix: 'fad',\n iconName: 'face-melting',\n icon: [640, 512, [129760], \"e483\", [\"M571.4 304.8c-4.5 23.2 11.8 47.2 35.4 47.2H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H44.9c36.8 0 58.4-50.7 42.9-84.1C72.5 331.1 64 294.5 64 256C64 114.6 178.6 0 320 0S576 114.6 576 256c0 16.7-1.6 33-4.6 48.8zM247.2 219.9a32 32 0 1 0 16.6-61.8 32 32 0 1 0 -16.6 61.8zM441 238.7a32 32 0 1 0 -61.8-16.6A32 32 0 1 0 441 238.7zM213.2 299.4c-3.9-7.9-13.4-11.3-21.4-7.4s-11.3 13.4-7.4 21.4c14.8 30.5 45.1 67.5 98.3 81.7s97.9-2.6 126-21.7c7.3-5 9.2-14.9 4.3-22.2s-14.9-9.2-22.2-4.3c-22.7 15.4-57.9 28.5-99.8 17.2s-65.8-40.2-77.8-64.8z\", \"M247.2 219.9a32 32 0 1 0 16.6-61.8 32 32 0 1 0 -16.6 61.8zm154.6 41.4a32 32 0 1 0 16.6-61.8 32 32 0 1 0 -16.6 61.8z\"]]\n};\nvar faPoo = {\n prefix: 'fad',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", [\"M192 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M268.9 .9c-5.5-.7-11 1.4-14.5 5.7s-4.6 10.1-2.8 15.4c2.8 8.2 4.3 16.9 4.3 26.1c0 44.1-35.7 79.9-79.8 80H160c-35.3 0-64 28.7-64 64c0 19.1 8.4 36.3 21.7 48H104c-39.8 0-72 32.2-72 72c0 23.2 11 43.8 28 57c-34.1 5.7-60 35.3-60 71c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72c0-35.7-25.9-65.3-60-71c17-13.2 28-33.8 28-57c0-39.8-32.2-72-72-72H394.3c13.3-11.7 21.7-28.9 21.7-48c0-35.3-28.7-64-64-64h-5.5c3.5-10 5.5-20.8 5.5-32c0-48.6-36.2-88.8-83.1-95.1zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm64 108.3c0 2.4-.7 4.8-2.2 6.7c-8.2 10.5-39.5 45-93.8 45s-85.6-34.6-93.8-45c-1.5-1.9-2.2-4.3-2.2-6.7c0-6.8 5.5-12.3 12.3-12.3H339.7c6.8 0 12.3 5.5 12.3 12.3z\"]]\n};\nvar faPenClipSlash = {\n prefix: 'fad',\n iconName: 'pen-clip-slash',\n icon: [640, 512, [\"pen-alt-slash\"], \"e20f\", [\"M195.8 250.3L341.2 364.8l-47.7 47.7c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8l32.3-32.3zm68.5-68.5L318.1 128 305 114.9c-9.4-9.4-24.6-9.4-33.9 0l-40.5 40.5-38.1-29.8L237.1 81c28.1-28.1 73.7-28.1 101.8 0L352 94.1l17 17 96 96 16 16 1 1-17 17-55 55L264.2 181.8zM426.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c25 25 25 65.5 0 90.5l-52.1 52.1 0 0-1-1 0 0-16-16-96-96-17-17 52.1-52.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faPenAltSlash = faPenClipSlash;\nvar faQuoteRight = {\n prefix: 'fad',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", [\"M72 416c66.3 0 120-53.7 120-120V224 192 160c0-35.3-28.7-64-64-64H64C28.7 96 0 124.7 0 160v64c0 35.3 28.7 64 64 64h64v8c0 30.9-25.1 56-56 56H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h8z\", \"M328 416c66.3 0 120-53.7 120-120V224 192 160c0-35.3-28.7-64-64-64H320c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h64v8c0 30.9-25.1 56-56 56h-8c-17.7 0-32 14.3-32 32s14.3 32 32 32h8z\"]]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faScrollOld = {\n prefix: 'fad',\n iconName: 'scroll-old',\n icon: [576, 512, [], \"f70f\", [\"M128 96v88 1.4c0 4.2 1.7 8.3 4.7 11.3l21.7 21.7c3.1 3.1 3.1 8.2 0 11.3l-21.7 21.7c-3 3-4.7 7.1-4.7 11.3V264 400c0 44.2 35.8 80 80 80s80-35.8 80-80V384c0-17.7 14.3-32 32-32h24 1.4c4.2 0 8.3 1.7 11.3 4.7l21.7 21.7c3.1 3.1 8.2 3.1 11.3 0l21.7-21.7c3-3 7.1-4.7 11.3-4.7H424h56V296v-1.4c0-4.2-1.7-8.3-4.7-11.3l-21.7-21.7c-3.1-3.1-3.1-8.2 0-11.3l21.7-21.7c3-3 4.7-7.1 4.7-11.3V216 200v-1.4c0-4.2-1.7-8.3-4.7-11.3l-21.7-21.7c-3.1-3.1-3.1-8.2 0-11.3l21.7-21.7c3-3 4.7-7.1 4.7-11.3V120 96c0-35.3-28.7-64-64-64H64c35.3 0 64 28.7 64 64z\", \"M32 160h96V96c0-35.3-28.7-64-64-64S0 60.7 0 96v32c0 17.7 14.3 32 32 32zM288 384v16c0 44.2-35.8 80-80 80H480c53 0 96-43 96-96c0-17.7-14.3-32-32-32H424h-1.4c-4.2 0-8.3 1.7-11.3 4.7l-21.7 21.7c-3.1 3.1-8.2 3.1-11.3 0l-21.7-21.7c-3-3-7.1-4.7-11.3-4.7H344 320c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faGuitars = {\n prefix: 'fad',\n iconName: 'guitars',\n icon: [512, 512, [], \"f8bf\", [\"M472 304c0 33.5 17 70.9 28.8 92.9c6.9 12.7 11.2 26.9 11.2 41.3c0 40.8-33 73.8-73.8 73.8H329.8C289 512 256 479 256 438.2c0-14.5 4.3-28.6 11.2-41.3C279 374.9 296 337.5 296 304c0-11.2-2-20.5-4.5-27.8c-.9-2.5-1.8-5-2.7-7.5c-4.3-11.8-8.8-23.8-8.8-36.2V192c0-8.8 7.2-16 16-16s16.1 7.2 18.2 15.8c4.5 19 18.6 48.2 61.8 48.2h16c39.7 0 54.8-18.5 60.5-32.5c3.3-8.2 10.7-15.5 19.5-15.5s16 7.2 16 16v29.3c0 11.6-4.8 22.8-9.3 33.5l-.5 1.1c-3.3 7.8-6.2 18.5-6.2 32.1zM336 320c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zM231.2 346.5c5.9 6.5 10.9 13.7 14.8 21.3c-2.3 4.9-4.7 9.6-7 13.9c-8.8 16.3-15 35.6-15 56.5c0 11.6 1.9 22.8 5.4 33.3C205.9 496.1 169.3 512 128 512C57.3 512 0 465.4 0 408c0-23 9.2-44.3 24.8-61.5c10.3-11.4 11.1-30.4 2.9-43.4C20.2 291.3 16 278 16 264c0-42.1 37.7-77.3 88-86v94c-9.7 7.3-16 18.9-16 32c0 22.1 17.9 40 40 40s40-17.9 40-40c0-13.1-6.3-24.7-16-32V178c50.3 8.6 88 43.8 88 86c0 14-4.2 27.3-11.6 39.1c-8.2 13-7.5 32 2.9 43.4z\", \"M80 24C80 10.7 90.7 0 104 0h48c13.3 0 24 10.7 24 24V76.2c0 6.2-1.4 12.3-4.2 17.9L152 133.7V272c-6.7-5-15-8-24-8s-17.3 3-24 8V133.7L84.2 94.1C81.4 88.6 80 82.4 80 76.2V24zM338.6 124.1c-6.7-7.6-9.3-17.9-7.2-27.8l13.9-64.8C349.2 13.1 365.4 0 384.2 0c22 0 39.8 17.8 39.8 39.8v4.6c0 12.4-6.4 23.3-16 29.7V238.9c-4.8 .7-10.1 1.1-16 1.1H376c-5.9 0-11.2-.5-16-1.5V148.6l-21.4-24.5zM352 304h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faPhoneXmark = {\n prefix: 'fad',\n iconName: 'phone-xmark',\n icon: [640, 512, [], \"e227\", [\"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 247.4 200.6 448 448 448c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368C298.3 334.7 241.3 277.7 208 207.3L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M433 15c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47L433 15z\"]]\n};\nvar faHose = {\n prefix: 'fad',\n iconName: 'hose',\n icon: [448, 512, [], \"e419\", [\"M64 176c0-44.2 35.8-80 80-80H288V32H144C64.5 32 0 96.5 0 176s64.5 144 144 144H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-44.2 0-80-35.8-80-80zM32 352c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M312 128c-13.3 0-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24v2.3l80.2 11.5C417.3 30 423.9 24 432 24c8.8 0 16 7.2 16 16V88c0 8.8-7.2 16-16 16c-8.1 0-14.7-6-15.8-13.7L336 101.7V104c0 13.3-10.7 24-24 24z\"]]\n};\nvar faClockSix = {\n prefix: 'fad',\n iconName: 'clock-six',\n icon: [512, 512, [], \"e352\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faShirt = {\n prefix: 'fad',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", [\"M320 112c61.9 0 112-50.1 112-112h8.8c22.5 0 44.2 7.9 61.5 22.3L628.5 127.4c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0H208c0 61.9 50.1 112 112 112z\", \"M208 0c0 61.9 50.1 112 112 112s112-50.1 112-112H400c0 44.2-35.8 80-80 80s-80-35.8-80-80H208z\"]]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faBillboard = {\n prefix: 'fad',\n iconName: 'billboard',\n icon: [640, 512, [], \"e5cd\", [\"M224 0c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32s-14.3 32-32 32H224 192c-17.7 0-32-14.3-32-32s14.3-32 32-32V32c0-17.7 14.3-32 32-32zM416 0c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 384c-17.7 0-32-14.3-32-32s14.3-32 32-32V32c0-17.7 14.3-32 32-32zM288 416h64v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416z\", \"M192 32H80C53.5 32 32 53.5 32 80V352c-17.7 0-32 14.3-32 32s14.3 32 32 32H80 560h48c17.7 0 32-14.3 32-32s-14.3-32-32-32V80c0-26.5-21.5-48-48-48H448V96h96V352H96V96h96V32zm64 64H384V32H256V96z\"]]\n};\nvar faSquareR = {\n prefix: 'fad',\n iconName: 'square-r',\n icon: [448, 512, [], \"e27c\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H256c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L220 288H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24zm80 112h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H176v64h56z\", \"M128 152c0-13.3 10.7-24 24-24H256c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L220 288H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152zm48 88h56 24c17.7 0 32-14.3 32-32s-14.3-32-32-32H176v64z\"]]\n};\nvar faCubes = {\n prefix: 'fad',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", [\"M184 121v89.6l80 30.3V151.7L184 121zm208 89.6V121l-80 30.7v89.2l80-30.3zM256 323.2l-80 30.7V454.3l80-35.2V323.2zm-208 0v90.7c0 3.2 1.9 6 4.8 7.3L128 454.3V353.9L48 323.2zm400 30.7V454.3l75.2-33.1c2.9-1.3 4.8-4.2 4.8-7.3V323.2l-80 30.7zM400 454.3V353.9l-80-30.7v95.9l80 35.2z\", \"M290.8 48.6c-1.8-.7-3.8-.7-5.7 0L206.8 78.4 288 109.5l81.2-31.1L290.8 48.6zM184 210.6l80 30.3V151.7L184 121v89.6zm128 30.3l80-30.3V121l-80 30.7v89.2zM288 457.5L174.5 507.4c-14.4 6.3-30.7 6.3-45.1 0l-96-42.2C13.1 456.2 0 436.1 0 413.9V294.7c0-23.3 14.4-44.1 36.1-52.4l96-36.4c1.3-.5 2.6-.9 3.9-1.3V92.5c0-23.3 14.4-44.1 36.1-52.4l96-36.4c12.8-4.8 26.9-4.8 39.7 0l96 36.4C425.6 48.4 440 69.3 440 92.5V204.7c1.3 .4 2.6 .8 3.9 1.3l96 36.4c21.8 8.2 36.1 29.1 36.1 52.4V413.9c0 22.2-13.1 42.3-33.5 51.3l-96 42.2c-14.4 6.3-30.7 6.3-45.1 0L288 457.5zM149.2 250.9L70.8 280.6 152 311.7l81.2-31.1-78.4-29.7c-1.8-.7-3.8-.7-5.7 0zm26.8 103V454.3l80-35.2V323.2l-80 30.7zm-48 0L48 323.2v90.7c0 3.2 1.9 6 4.8 7.3L128 454.3V353.9zm293.2-103l-78.4 29.7L424 311.7l81.2-31.1-78.4-29.7c-1.8-.7-3.8-.7-5.7 0zM448 454.3l75.2-33.1c2.9-1.3 4.8-4.2 4.8-7.3V323.2l-80 30.7V454.3zM400 353.9l-80-30.7v95.9l80 35.2V353.9z\"]]\n};\nvar faEnvelopeOpenDollar = {\n prefix: 'fad',\n iconName: 'envelope-open-dollar',\n icon: [512, 512, [], \"f657\", [\"M96 32C78.3 32 64 46.3 64 64V249.7L236.7 377.6c5.6 4.1 12.4 6.4 19.3 6.4s13.7-2.2 19.3-6.4L448 249.7V64c0-17.7-14.3-32-32-32H96zm180 72v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V312c0 11-9 20-20 20s-20-9-20-20V297.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V104c0-11 9-20 20-20s20 9 20 20z\", \"M511.8 202.5c-1.6-18.1-10.9-34.9-25.7-45.8L448 128.5v79.6 41.6l63.8-47.2zM512 448V242.1L294.4 403.3C283.3 411.6 269.8 416 256 416s-27.3-4.4-38.4-12.7L0 242.1V448v0c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64v0zM64 249.7V208.1l0-79.6L25.9 156.7C11.1 167.6 1.8 184.4 .2 202.5L64 249.7zM289.5 11.1C279.8 3.9 268.1 0 256 0s-23.8 3.9-33.5 11L194.2 32H317.8L289.5 11.1zM276 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]]\n};\nvar faDivide = {\n prefix: 'fad',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", [\"M432 256c0 17.7-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\", \"M224 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0 320a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faSunCloud = {\n prefix: 'fad',\n iconName: 'sun-cloud',\n icon: [640, 512, [127780], \"f763\", [\"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l19.8 107.9c1 5.3 4.6 9.8 9.6 11.9s10.7 1.5 15.2-1.6L256 446.9l90.3 62.3c4.5 3.1 10.2 3.7 15.2 1.6s8.6-6.6 9.6-11.9l9.4-51c-42.1-1.5-77.4-30.2-88.7-69c-11.4 3.3-23.4 5.1-35.8 5.1c-70.7 0-128-57.3-128-128s57.3-128 128-128c61.3 0 112.6 43.1 125.1 100.7c20.5-22.5 50-36.7 82.9-36.7c8.6 0 17 1 25.1 2.8l20.1-29.1c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L391 121 371.1 13.1zm-83 333.4c2.2-39.3 28.1-72.3 63.7-85c.1-1.8 .2-3.7 .2-5.5c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c11.3 0 22.1-1.9 32.2-5.5z\", \"M320 352c0 35.3 28.7 64 64 64H568c39.8 0 72-32.2 72-72s-32.2-72-72-72c-10.1 0-19.7 2.1-28.4 5.8C528.8 246.5 499 224 464 224c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64z\"]]\n};\nvar faLampFloor = {\n prefix: 'fad',\n iconName: 'lamp-floor',\n icon: [640, 512, [], \"e015\", [\"M352 224H288V448h64V224z\", \"M194.3 20.1C199.1 8 210.9 0 224 0H416c13.1 0 24.9 8 29.7 20.1l64 160c3.9 9.9 2.7 21-3.2 29.8s-15.9 14.1-26.5 14.1H160c-10.6 0-20.5-5.3-26.5-14.1s-7.2-20-3.2-29.8l64-160zM224 448h96 96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 224c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faSquare7 = {\n prefix: 'fad',\n iconName: 'square-7',\n icon: [448, 512, [], \"e25c\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H296c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 152c0-13.3 10.7-24 24-24H296c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faTengeSign = {\n prefix: 'fad',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", [\"M32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V224H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\", \"M0 64C0 46.3 14.3 32 32 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64z\"]]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'fad',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", [\"M49.6 262C62.4 159.4 149.9 80 256 80s193.6 79.4 206.4 182c29.1 12 49.6 40.6 49.6 74V288C512 146.6 397.4 32 256 32S0 146.6 0 288v48c0-33.4 20.5-62.1 49.6-74z\", \"M80 256c-44.2 0-80 35.8-80 80v64c0 44.2 35.8 80 80 80c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm352 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48c44.2 0 80-35.8 80-80V336c0-44.2-35.8-80-80-80z\"]]\n};\nvar faHandsHolding = {\n prefix: 'fad',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", [\"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"\"]]\n};\nvar faCampfire = {\n prefix: 'fad',\n iconName: 'campfire',\n icon: [512, 512, [], \"f6ba\", [\"M223.4 0c3.2 0 6.3 1.2 8.8 3.4C250 19.6 266.6 37 282.1 55.9c7.1-9 15.1-18.8 23.8-26.8c5.1-4.7 12.9-4.6 18 0C346.2 49.7 365 77 378.3 102.9c13.1 25.5 21.7 53.5 21.7 71.8C400 254.5 335.9 320 256 320c-80.7 0-144-65.5-144-145.3c0-24 11.4-55.2 29.2-84.2c18-29.4 43.3-60.1 73.2-87.1c2.5-2.3 5.8-3.4 9-3.4zm33.5 261.8c16.2 0 30.6-4.5 44.1-13.6c27-19.1 34.2-57.3 18-87.3c-1.8-3.6-3.6-7.3-6.3-10.9l-32.4 38.2s-52.2-67.3-55.8-71.8c-27 33.6-40.5 52.7-40.5 74.5c0 44.5 32.4 70.9 72.9 70.9z\", \"M1.9 309.2c5.9-16.6 24.3-25.3 40.9-19.4L256 366l213.2-76.2c16.6-5.9 35 2.7 40.9 19.4s-2.7 35-19.4 40.9L351.1 400l139.6 49.9c16.6 5.9 25.3 24.3 19.4 40.9s-24.3 25.3-40.9 19.4L256 434 42.8 510.1c-16.6 5.9-35-2.7-40.9-19.4s2.7-35 19.4-40.9L160.9 400 21.2 350.1C4.6 344.2-4.1 325.9 1.9 309.2z\"]]\n};\nvar faCircleAmpersand = {\n prefix: 'fad',\n iconName: 'circle-ampersand',\n icon: [512, 512, [], \"e0f8\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 191.6c0 4.1 1.6 8.1 4.6 11L235 217.1l23.6-17.3c3.4-2.5 5.4-6.4 5.4-10.6c0-7.3-5.9-13.2-13.2-13.2H231.6c-8.6 0-15.6 7-15.6 15.6zm71 46.9l-17.6 12.9 28.7 28.7 26.2-37.8c7.5-10.9 22.5-13.6 33.4-6.1s13.6 22.5 6.1 33.4l-31.1 45L361 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-22.4-22.4c-15.1 18.5-37.8 29.4-62 29.4H210.5c-36.7 0-66.5-29.8-66.5-66.5c0-21.2 10.1-41.1 27.2-53.6l24.7-18.1-9.2-9.2c-11.9-11.9-18.6-28.1-18.6-45c0-35.1 28.5-63.6 63.6-63.6h19.2c33.8 0 61.2 27.4 61.2 61.2c0 19.5-9.3 37.8-25 49.3zm-87.5 64.1c-4.7 3.5-7.5 9-7.5 14.9c0 10.2 8.3 18.5 18.5 18.5h32.2c10.5 0 20.3-5.2 26.3-13.8l1.4-2-40.1-40.1-30.7 22.5z\", \"M231.6 176h19.2c7.3 0 13.2 5.9 13.2 13.2c0 4.2-2 8.1-5.4 10.6L235 217.1l-14.5-14.5c-2.9-2.9-4.6-6.9-4.6-11c0-8.6 7-15.6 15.6-15.6zm37.8 75.4L287 238.5c15.7-11.5 25-29.8 25-49.3c0-33.8-27.4-61.2-61.2-61.2H231.6c-35.1 0-63.6 28.5-63.6 63.6c0 16.9 6.7 33 18.6 45l9.2 9.2-24.7 18.1c-17.1 12.5-27.2 32.4-27.2 53.6c0 36.7 29.8 66.5 66.5 66.5h32.2c24.1 0 46.9-10.9 62-29.4L327 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-28.4-28.4 31.1-45c7.5-10.9 4.8-25.8-6.1-33.4s-25.8-4.8-33.4 6.1l-26.2 37.8-28.7-28.7zm-39.2 28.7l40.1 40.1-1.4 2c-6 8.6-15.8 13.8-26.3 13.8H210.5c-10.2 0-18.5-8.3-18.5-18.5c0-5.9 2.8-11.4 7.5-14.9l30.7-22.5z\"]]\n};\nvar faSnowflakes = {\n prefix: 'fad',\n iconName: 'snowflakes',\n icon: [640, 512, [], \"f7cf\", [\"M567 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L487 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23L567 7zM519 199c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\", \"M224 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3V129.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32z\"]]\n};\nvar faHandsClapping = {\n prefix: 'fad',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", [\"M336 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V80c0 8.8 7.2 16 16 16s16-7.2 16-16V16zm-98.7 7.1c-4.9-7.4-14.8-9.3-22.2-4.4s-9.3 14.8-4.4 22.2l32 48c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-32-48zM355.4 508c26.8-1 53.5-8.6 77.7-23.1c49-29.4 78.9-82.3 78.9-139.4V192c0-17.7-14.3-32-32-32s-32 14.3-32 32v39.4c0 9.6-7.8 16-16 16l0 98.1c0 63.4-28.5 122.8-76.6 162.4zM424.9 18.7c-7.4-4.9-17.3-2.9-22.2 4.4l-32 48c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l32-48c4.9-7.4 2.9-17.3-4.4-22.2z\", \"M135 119c9.4-9.4 24.6-9.4 33.9 0L292.7 242.7c10.1 10.1 27.3 2.9 27.3-11.3V192c0-17.7 14.3-32 32-32s32 14.3 32 32V345.6c0 57.1-30 110-78.9 139.4c-64 38.4-145.8 28.3-198.5-24.4L7 361c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l53 53c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L23 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l93 93c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1L55 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l117 117c6.1 6.1 16 6.1 22.1 0s6.1-16 0-22.1l-93-93c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faRepublican = {\n prefix: 'fad',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", [\"M320 288H128 0v96 64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V384H320v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384 352h32v48c0 44.2 35.8 80 80 80s80-35.8 80-80V352c0-17.7-14.3-32-32-32s-32 14.3-32 32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 288H512 448 416 320z\", \"M160 32C71.6 32 0 103.6 0 192v96H544V192c0-88.4-71.6-160-160-160H160zm261.7 99.4l12.6 24.6 28.2 4c2.4 .3 4.4 2 5.2 4.2s.1 4.7-1.6 6.3l-20.4 19.2 4.8 27.1c.4 2.3-.6 4.7-2.5 6s-4.6 1.6-6.7 .5l-25.2-12.8-25.2 12.8c-2.2 1.1-4.8 .9-6.7-.5s-3-3.7-2.5-6l4.8-27.1-20.4-19.2c-1.7-1.6-2.4-4.1-1.6-6.3s2.8-3.9 5.2-4.2l28.2-4 12.6-24.6c1.1-2.1 3.3-3.4 5.7-3.4s4.7 1.3 5.7 3.4zM271.9 128c2.4 0 4.7 1.3 5.7 3.4l12.6 24.6 28.2 4c2.4 .3 4.4 2 5.2 4.2s.1 4.7-1.6 6.3l-20.4 19.2 4.8 27.1c.4 2.3-.6 4.7-2.5 6s-4.6 1.6-6.7 .5l-25.2-12.8-25.2 12.8c-2.2 1.1-4.8 .9-6.7-.5s-3-3.7-2.5-6l4.8-27.1-20.4-19.2c-1.7-1.6-2.4-4.1-1.6-6.3s2.8-3.9 5.2-4.2l28.2-4 12.6-24.6c1.1-2.1 3.3-3.4 5.7-3.4zm-138.3 3.4l12.6 24.6 28.2 4c2.4 .3 4.4 2 5.2 4.2s.1 4.7-1.6 6.3l-20.4 19.2 4.8 27.1c.4 2.3-.6 4.7-2.5 6s-4.6 1.6-6.7 .5l-25.2-12.8-25.2 12.8c-2.2 1.1-4.8 .9-6.7-.5s-3-3.7-2.5-6l4.8-27.1L77.9 170.5c-1.7-1.6-2.4-4.1-1.6-6.3s2.8-3.9 5.2-4.2l28.2-4 12.6-24.6c1.1-2.1 3.3-3.4 5.7-3.4s4.7 1.3 5.7 3.4z\"]]\n};\nvar faLeafMaple = {\n prefix: 'fad',\n iconName: 'leaf-maple',\n icon: [512, 512, [127809], \"f6f6\", [\"M355.6 39.2L339.8 7.5c-2.3-4.6-7-7.5-12.2-7.5c-4.7 0-9.1 2.4-11.6 6.4l-61.2 97.9c-4.3 6.8-14.8 3.8-14.8-4.2V61.8c0-7.6-6.2-13.8-13.8-13.8c-1.5 0-2.9 .2-4.4 .7l-25.5 8.5c-12.3 4.1-25.9 .3-34.4-9.5L132.6 13.4C129.7 10 125.4 8 120.9 8c-5.5 0-10.6 3-13.4 7.7L91.1 44.6C84.4 56.3 71.2 62.5 58 60.3L32.9 56.2c-.6-.1-1.3-.2-1.9-.2c-7.6 0-13.2 7.2-11.2 14.6l40.4 155c2.1 8.2-2.4 16.6-10.4 19.2l-25.4 8.5c-5 1.7-8.4 6.3-8.4 11.6c0 4.4 2.4 8.5 6.3 10.7l115.9 64.4L279.9 198.1c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L172.1 373.8l64.4 115.9c2.2 3.9 6.2 6.3 10.7 6.3c5.3 0 9.9-3.4 11.6-8.4l8.5-25.4c2.7-8 11.1-12.6 19.2-10.4l155 40.4c7.4 1.9 14.6-3.6 14.6-11.2c0-.6-.1-1.3-.2-1.9L451.7 454c-2.2-13.2 4.1-26.4 15.7-33l28.9-16.5c4.8-2.7 7.8-7.8 7.8-13.4c0-4.5-2-8.8-5.4-11.7L464.3 350c-9.9-8.5-13.6-22.1-9.5-34.4l8.5-25.5c.5-1.4 .7-2.9 .7-4.4c0-7.6-6.2-13.8-13.8-13.8H411.9c-8 0-11.1-10.5-4.2-14.8L505.6 196c4-2.5 6.4-6.9 6.4-11.6c0-5.2-2.9-9.9-7.5-12.2l-31.6-15.8c-14.2-7.1-21.1-23.6-16-38.7l22.5-67.6c.5-1.4 .7-2.9 .7-4.4c0-7.6-6.2-13.8-13.8-13.8c-1.5 0-3 .2-4.4 .7L394.3 55.2c-15.1 5-31.6-1.8-38.7-16z\", \"M7 505c-9.4-9.4-9.4-24.6 0-33.9L279.9 198.1c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505c-9.4 9.4-24.6 9.4-33.9 0z\"]]\n};\nvar faArrowLeft = {\n prefix: 'fad',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", [\"M109.3 288L416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0-32 32 32 32z\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L77.3 256 214.6 393.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160z\"]]\n};\nvar faPersonCircleXmark = {\n prefix: 'fad',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c1.4 2.3 3.1 4.5 4.9 6.3c7.9-23 20.5-43.9 36.6-61.5l-44.9-74.7c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faRuler = {\n prefix: 'fad',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", [\"M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z\", \"M260.7 91.3l22.6-22.6 48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48zm-64 64l22.6-22.6 48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48zm-64 64l22.6-22.6 48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48zm-64 64l22.6-22.6 48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48z\"]]\n};\nvar faCupStrawSwoosh = {\n prefix: 'fad',\n iconName: 'cup-straw-swoosh',\n icon: [384, 512, [], \"e364\", [\"M55.9 431.5l3.7 37.3c2.5 24.5 23.1 43.2 47.8 43.2H276.6c24.7 0 45.3-18.7 47.8-43.2l16.5-164.6c-42.8 1.1-67.5 8.3-83.6 17c-17.2 9.3-26.9 21.2-39.9 37.2l-.7 .8c-13.3 16.4-29.5 35.9-58.7 50.4c-24.6 12.2-56.8 20-101.9 22zm-4.8-47.8c42.3-1.6 68.2-8.6 85.4-17.2c19.3-9.6 30.1-22 42.8-37.6l1.9-2.3c12.3-15.2 27.4-33.8 53.1-47.7c25.9-14 60.5-22.2 111.2-22.8l6.4-64H32L51.2 383.6z\", \"M249.3 0c-26 0-48.6 17.9-54.5 43.2l-20 84.8H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3z\"]]\n};\nvar faTemperatureSun = {\n prefix: 'fad',\n iconName: 'temperature-sun',\n icon: [640, 512, [\"temperature-hot\"], \"f76a\", [\"M464 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C390.2 332.6 384 349.5 384 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM352 112C352 50.2 402.1 0 464 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144s-144-64.5-144-144c0-33.2 11.3-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M320.6 98.5c-.4 4.4-.6 8.9-.6 13.5V258.8c-20.2 28.6-32 63.5-32 101.2c0 18.7 2.9 36.7 8.3 53.7c-.7 .4-1.4 .8-2.1 1.1c-5.1 2.1-10.9 1.5-15.4-1.6L208 363.5l-70.8 49.6c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6s8.7 6.7 9.6 12.1l14.1 84.7 2.7 .5zM208 144a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM464 96c8.8 0 16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16z\"]]\n};\nvar faTemperatureHot = faTemperatureSun;\nvar faAlignLeft = {\n prefix: 'fad',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", [\"M256 352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H256zm0-256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H256z\", \"M416 480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416zm0-256c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416z\"]]\n};\nvar faDiceD6 = {\n prefix: 'fad',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", [\"M247 10.3c-14.3-7.8-31.6-7.8-46 0L25.7 106c-5.1 2.8-8.3 8.2-8.3 14s3.2 11.2 8.3 14L216.3 238c4.8 2.6 10.5 2.6 15.3 0L422.3 134c5.1-2.8 8.3-8.2 8.3-14s-3.2-11.2-8.3-14L247 10.3z\", \"M7.8 170.2c4.9-2.9 10.9-3 15.8-.3l176 96c5.1 2.8 8.3 8.2 8.3 14V496c0 5.6-3 10.9-7.8 13.8s-10.9 3-15.8 .3L25 423.1C9.6 414.7 0 398.6 0 381V184c0-5.6 3-10.9 7.8-13.8zm432.3 0c4.9 2.9 7.8 8.1 7.8 13.8V381c0 17.6-9.6 33.7-25 42.1L263.7 510c-5 2.7-11 2.6-15.8-.3s-7.8-8.1-7.8-13.8V280c0-5.9 3.2-11.2 8.3-14l176-96c5-2.7 11-2.6 15.8 .3z\"]]\n};\nvar faRestroom = {\n prefix: 'fad',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", [\"M128 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-8 480c0 17.7-14.3 32-32 32s-32-14.3-32-32V325.2c-8.1 9.2-21.1 13.2-33.5 9.4c-16.9-5.3-26.3-23.2-21-40.1l30.9-99.1C44.9 155.3 82 128 124 128h8c42 0 79.1 27.3 91.6 67.4l30.9 99.1c5.3 16.9-4.1 34.8-21 40.1c-12.4 3.9-25.4-.2-33.5-9.4V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H120V480zM464 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440 480V384H422.2c-10.9 0-18.6-10.7-15.2-21.1l9-26.9c-3.2 0-6.4-.5-9.5-1.5c-16.9-5.3-26.3-23.2-21-40.1l29.7-95.2C428.4 156.9 467.6 128 512 128s83.6 28.9 96.8 71.2l29.7 95.2c5.3 16.9-4.1 34.8-21 40.1c-3.2 1-6.4 1.5-9.5 1.5l9 26.9c3.5 10.4-4.3 21.1-15.2 21.1H584v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H504v96c0 17.7-14.3 32-32 32s-32-14.3-32-32z\", \"M320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHighDefinition = {\n prefix: 'fad',\n iconName: 'high-definition',\n icon: [576, 512, [\"rectangle-hd\"], \"e1ae\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm72 128c13.3 0 24 10.7 24 24v48h64V184c0-13.3 10.7-24 24-24s24 10.7 24 24v72 72c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V256 184c0-13.3 10.7-24 24-24zm168 24c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 120h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96z\", \"M160 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v72 72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V256 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H160V184zm168-24c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328zm56 144H352V208h32c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]]\n};\nvar faRectangleHd = faHighDefinition;\nvar faJ = {\n prefix: 'fad',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", [\"M288 32c17.7 0 32 14.3 32 32V320c0 88.4-71.6 160-160 160S0 408.4 0 320V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32c0 53 43 96 96 96s96-43 96-96V64c0-17.7 14.3-32 32-32z\", \"\"]]\n};\nvar faGalaxy = {\n prefix: 'fad',\n iconName: 'galaxy',\n icon: [512, 512, [], \"e008\", [\"M320 0h11.5C342.8 0 352 9.2 352 20.5c0 7.1-3.7 13.7-9.8 17.5l-12.5 7.7c-35.2 21.7-60.9 54.9-73.3 93.1c19.9-7 41.3-10.8 63.5-10.8c106 0 192 86 192 192v11.5c0 11.3-9.2 20.5-20.5 20.5c-7.1 0-13.7-3.7-17.5-9.8l-7.7-12.5c-21.7-35.2-54.9-60.9-93.1-73.3c7 19.9 10.8 41.3 10.8 63.5c0 106-86 192-192 192H180.5c-11.3 0-20.5-9.2-20.5-20.5c0-7.1 3.7-13.7 9.8-17.5l12.5-7.7c35.2-21.7 60.9-54.9 73.3-93.1c-19.9 7-41.3 10.8-63.5 10.8C86 384 0 298 0 192V180.5C0 169.2 9.2 160 20.5 160c7.1 0 13.7 3.7 17.5 9.8l7.7 12.5c21.7 35.2 54.9 60.9 93.1 73.3c-7-19.9-10.8-41.3-10.8-63.5C128 86 214 0 320 0zM256 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M154.8 94.2c.1-13 1.6-26.1 4.7-39l3.4-14.2c1.7-6.9-.4-14.2-5.5-19.3c-8-8-21-8-29 0l-8.1 8.1C70.5 79.4 53.8 149.6 70 213.1c19.3 19.4 42.9 34 68.8 42.4c-7-19.9-10.8-41.3-10.8-63.5c0-35.7 9.8-69.2 26.8-97.8zM94.2 357.2c-13-.1-26.1-1.6-39-4.7l-14.2-3.4c-6.9-1.7-14.2 .4-19.3 5.5c-8 8-8 21 0 29l8.1 8.1c49.7 49.7 119.9 66.5 183.4 50.3c19.4-19.3 34-42.9 42.4-68.8c-19.9 7-41.3 10.8-63.5 10.8c-35.7 0-69.2-9.8-97.8-26.8zm263.1 60.6c-.1 13-1.6 26.1-4.7 39l-3.4 14.2c-1.7 6.9 .4 14.2 5.5 19.3c8 8 21 8 29 0l8.1-8.1c49.7-49.7 66.5-119.9 50.3-183.4c-19.3-19.4-42.9-34-68.8-42.4c7 19.9 10.8 41.3 10.8 63.5c0 35.7-9.8 69.2-26.8 97.8zm60.6-263.1c13 .1 26.1 1.6 39 4.7l14.2 3.4c6.9 1.7 14.2-.4 19.3-5.5c8-8 8-21 0-29l-8.1-8.1C432.6 70.5 362.4 53.8 298.9 70c-19.4 19.3-34 42.9-42.4 68.8c19.9-7 41.3-10.8 63.5-10.8c35.7 0 69.2 9.8 97.8 26.8z\"]]\n};\nvar faUsersViewfinder = {\n prefix: 'fad',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", [\"M175.8 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-26.5 32C119.9 256 96 279.9 96 309.3c0 14.7 11.9 26.7 26.7 26.7h56.1c8-34.1 32.8-61.7 65.2-73.6c-7.5-4.1-16.2-6.4-25.3-6.4H149.3zm368 80c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.2 0-17.8 2.3-25.3 6.4c32.4 11.9 57.2 39.5 65.2 73.6h56.1zm-89.4 0c-8.6-24.3-29.9-42.6-55.9-47c-3.9-.7-7.9-1-12-1H280c-4.1 0-8.1 .3-12 1c-26 4.4-47.3 22.7-55.9 47c-2.7 7.5-4.1 15.6-4.1 24c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-8.4-1.4-16.5-4.1-24zM464 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M136 48H48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V32C0 14.3 14.3 0 32 0H136c13.3 0 24 10.7 24 24s-10.7 24-24 24zm368 0c-13.3 0-24-10.7-24-24s10.7-24 24-24H608c17.7 0 32 14.3 32 32V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V48H504zM48 464h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-17.7 0-32-14.3-32-32V376c0-13.3 10.7-24 24-24s24 10.7 24 24v88zm456 0h88V376c0-13.3 10.7-24 24-24s24 10.7 24 24V480c0 17.7-14.3 32-32 32H504c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faFileVideo = {\n prefix: 'fad',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM64 288v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM300.9 397.9c2 1.3 4.4 2.1 6.8 2.1c6.8 0 12.3-5.5 12.3-12.3V284.3c0-6.8-5.5-12.3-12.3-12.3c-2.4 0-4.8 .7-6.8 2.1L256 304v64l44.9 29.9z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM64 288v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM300.9 397.9c2 1.3 4.4 2.1 6.8 2.1c6.8 0 12.3-5.5 12.3-12.3V284.3c0-6.8-5.5-12.3-12.3-12.3c-2.4 0-4.8 .7-6.8 2.1L256 304v64l44.9 29.9z\"]]\n};\nvar faCherries = {\n prefix: 'fad',\n iconName: 'cherries',\n icon: [640, 512, [], \"e0ec\", [\"M0 336C0 480 144 512 192 512s192-16 192-176c0-112-96-112-96-112c-56 0-96 32-96 32s-40-32-96-32c0 0-96 0-96 112zM448 512c48 0 192-16 192-176c0-112-96-112-96-112c-56 0-96 32-96 32s-30.4-24.3-75.2-30.5C397.3 247.7 416 282.9 416 336c0 71.9-26.1 120.9-62.1 152.9C390.4 506.3 427.7 512 448 512z\", \"M302.4 4.8l.3 .2c.3 .2 .8 .6 1.4 1c1.2 .9 2.9 2.2 5 3.9c4.3 3.3 10.3 8.2 17.5 14.5c14.4 12.6 33.7 30.9 53.6 53.9c35.1 40.6 73.3 97.7 87.6 165.3C455.2 250.3 448 256 448 256s-11.6-9.3-31-17.8c-14-50.1-43.6-94.2-73.1-128.5c-14.3-16.6-28.3-30.5-40.1-41.2c-3.1 12.9-7.3 28.2-13 45.1c-11.7 35-29.6 77.5-56.7 120.2c-26 9.4-42 22.3-42 22.3s-8.3-6.6-22.6-13.8c38.4-49.1 61.8-101.8 75.8-143.7c7.7-23 12.4-42.5 15.3-56.3c1.4-6.9 2.4-12.2 2.9-15.8c.3-1.8 .5-3.1 .6-4l.1-.9c.6-5.3 2.9-10.1 6.3-13.8C274.9 2.9 281.1 0 288 0c5.4 0 10.4 1.8 14.4 4.8z\"]]\n};\nvar faUpRightFromSquare = {\n prefix: 'fad',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", [\"M0 112C0 67.8 35.8 32 80 32H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V320c0-17.7 14.3-32 32-32s32 14.3 32 32V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112z\", \"M322.4 19.8C327.4 7.8 339.1 0 352 0H480c17.7 0 32 14.3 32 32V160c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9L416 141.3 246.6 310.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L370.7 96 329.4 54.6c-9.2-9.2-11.9-22.9-6.9-34.9z\"]]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faCircleSort = {\n prefix: 'fad',\n iconName: 'circle-sort',\n icon: [512, 512, [\"sort-circle\"], \"e030\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zM244.7 411.3c6.2 6.2 16.4 6.2 22.6 0l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96z\", \"M244.7 100.7c6.2-6.2 16.4-6.2 22.6 0l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96zm0 310.6l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96c-6.2 6.2-16.4 6.2-22.6 0z\"]]\n};\nvar faSortCircle = faCircleSort;\nvar faTableCells = {\n prefix: 'fad',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", [\"M144 160V96h64v64h96V96h64v64h80v64H368v64h80v64H368v64H304V352H208v64H144V352H64V288h80V224H64V160h80zm64 64v64h96V224H208z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 96V416H64V96H448z\"]]\n};\nvar faTh = faTableCells;\nvar faFilePdf = {\n prefix: 'fad',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V304H176c-35.3 0-64 28.7-64 64V512H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM176 352c-8.8 0-16 7.2-16 16v80 48c0 8.8 7.2 16 16 16s16-7.2 16-16V464h16c30.9 0 56-25.1 56-56s-25.1-56-56-56H176zm32 80H192V384h16c13.3 0 24 10.7 24 24s-10.7 24-24 24zm96-80c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16h32c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H304zm32 128H320V384h16c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16zm80-112v64 64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V384h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faSiren = {\n prefix: 'fad',\n iconName: 'siren',\n icon: [448, 512, [], \"e02d\", [\"M48 352L73 152.1C77 120 104.2 96 136.5 96h175c32.3 0 59.5 24 63.5 56.1L400 352H138.1l21.8-174c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L105.9 352H48z\", \"M32 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H32z\"]]\n};\nvar faArrowUpToDottedLine = {\n prefix: 'fad',\n iconName: 'arrow-up-to-dotted-line',\n icon: [448, 512, [], \"e0a1\", [\"M64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zm96 0A32 32 0 1 1 96 64a32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M201.4 169.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 269.3V336 448c0 17.7-14.3 32-32 32s-32-14.3-32-32V336 269.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128z\"]]\n};\nvar faImageLandscape = {\n prefix: 'fad',\n iconName: 'image-landscape',\n icon: [576, 512, [\"landscape\"], \"e1b5\", [\"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm328 64c-8 0-15.5 4-20 10.7l-56 84L234.7 265c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H424c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C343.5 196 336 192 328 192zM160 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M328 192c8 0 15.5 4 20 10.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S432.9 384 424 384H280 232 152c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C312.5 196 320 192 328 192z\"]]\n};\nvar faLandscape = faImageLandscape;\nvar faTankWater = {\n prefix: 'fad',\n iconName: 'tank-water',\n icon: [448, 512, [], \"e452\", [\"M212.2 71c2.4-4.3 6.9-7 11.8-7s9.5 2.7 11.8 7L273 139.2c4.6 8.4 7 17.9 7 27.5V168c0 30.9-25.1 56-56 56s-56-25.1-56-56v-1.4c0-9.6 2.4-19 7-27.5L212.2 71zM64 416V348 297.9c8.3-3 16.2-6.8 23.3-10.8c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 18.9 12.7c15.8 9 35.5 16.8 55.2 16.9h.4c19.6 0 39.3-7.9 55.2-16.9c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 19 12.8c7.1 4 15 7.9 23.4 10.8V348v68H64z\", \"M285.9 96l-22-40.3L251 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H197L184.1 55.7 162.1 96H64l0 320H384V96H285.9z\"]]\n};\nvar faCurlingStone = {\n prefix: 'fad',\n iconName: 'curling-stone',\n icon: [576, 512, [129356, \"curling\"], \"f44a\", [\"M576 336H0V320c0-53 43-96 96-96H480c53 0 96 43 96 96v16zm0 32v16c0 53-43 96-96 96H96c-53 0-96-43-96-96V368H576z\", \"M224 128c0-17.7 14.3-32 32-32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c-53 0-96 43-96 96v32c-35.3 0-64 28.7-64 64H480c0-35.3-28.7-64-64-64H224V128z\"]]\n};\nvar faCurling = faCurlingStone;\nvar faGamepadModern = {\n prefix: 'fad',\n iconName: 'gamepad-modern',\n icon: [640, 512, [127918, 63676, \"gamepad-alt\"], \"e5a2\", [\"M0 369.4v2.8C0 431.7 48.3 480 107.8 480c49.5 0 92.6-33.7 104.6-81.7L216 384H424l3.6 14.3c12 48 55.1 81.7 104.6 81.7C591.7 480 640 431.7 640 372.2v-2.8c0-6.3-.5-12.5-1.6-18.7L605.7 159.8c-8.6-50.2-40.9-93.2-90.3-105.5C469.5 42.9 403.8 32 320 32s-149.5 10.9-195.3 22.3C75.2 66.6 42.9 109.6 34.3 159.8L1.6 350.7C.5 356.9 0 363.1 0 369.4zM432 232a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm24-56a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm-240-8v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V248H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V168c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M192 144c13.3 0 24 10.7 24 24v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V248H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V168c0-13.3 10.7-24 24-24z\"]]\n};\nvar faGamepadAlt = faGamepadModern;\nvar faMessagesQuestion = {\n prefix: 'fad',\n iconName: 'messages-question',\n icon: [640, 512, [], \"e1e7\", [\"M64 0C28.7 0 0 28.7 0 64V256c0 35.3 28.7 64 64 64H96v48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 320H352c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm72.2 92.4c6.6-18.6 24.2-31.1 44-31.1h48.5c29.1 0 52.6 23.6 52.6 52.6c0 18.8-10.1 36.3-26.4 45.6L228 175c-.2 10.9-9.1 19.6-20 19.6c-11 0-20-9-20-20V163.5c0-7.2 3.8-13.8 10-17.3L235 124.9c3.9-2.3 6.3-6.4 6.3-10.9c0-7-5.7-12.6-12.6-12.6H180.2c-2.8 0-5.3 1.8-6.3 4.4l-.4 1c-3.7 10.4-15.1 15.9-25.5 12.2s-15.9-15.1-12.2-25.5l.4-1zM181.3 248a26.7 26.7 0 1 1 53.3 0 26.7 26.7 0 1 1 -53.3 0z\", \"M136.2 92.4c6.6-18.6 24.2-31.1 44-31.1h48.5c29.1 0 52.6 23.6 52.6 52.6c0 18.8-10.1 36.3-26.4 45.6L228 175c-.2 10.9-9.1 19.6-20 19.6c-11 0-20-9-20-20V163.5c0-7.2 3.8-13.8 10-17.3L235 124.9c3.9-2.3 6.3-6.4 6.3-10.9c0-7-5.7-12.6-12.6-12.6H180.2c-2.8 0-5.3 1.8-6.3 4.4l-.4 1c-3.7 10.4-15.1 15.9-25.5 12.2s-15.9-15.1-12.2-25.5l.4-1zM181.3 248a26.7 26.7 0 1 1 53.3 0 26.7 26.7 0 1 1 -53.3 0zM256 384V352h96c53 0 96-43 96-96V128H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H544v48c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L437.3 448H320c-35.3 0-64-28.7-64-64z\"]]\n};\nvar faBookBible = {\n prefix: 'fad',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H352 256 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H256h96 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM208 80v48H160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48V304c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192h48c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H272V80c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'fad',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", [\"M224 96a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\", \"\"]]\n};\nvar faSuitcaseMedical = {\n prefix: 'fad',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", [\"M96 480h32V96H96V480zM384 96V480h32V96H384z\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96v32V480H384V128 96 56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H96V96zM416 480h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H416V480zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faBriefcaseArrowRight = {\n prefix: 'fad',\n iconName: 'briefcase-arrow-right',\n icon: [512, 512, [], \"e2f2\", [\"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM297 191l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H152c-13.3 0-24-10.7-24-24s10.7-24 24-24H302.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\", \"M263 191c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H152c-13.3 0-24-10.7-24-24s10.7-24 24-24H302.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faExpandWide = {\n prefix: 'fad',\n iconName: 'expand-wide',\n icon: [512, 512, [], \"f320\", [\"M512 192c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32v96zM0 320c0-17.7 14.3-32 32-32s32 14.3 32 32v64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V320z\", \"M0 192c0 17.7 14.3 32 32 32s32-14.3 32-32V128h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32C14.3 64 0 78.3 0 96v96zM512 320c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V320z\"]]\n};\nvar faClockElevenThirty = {\n prefix: 'fad',\n iconName: 'clock-eleven-thirty',\n icon: [512, 512, [], \"e348\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM232 392V263.3l-60-90c-7.4-11-4.4-25.9 6.7-33.3s25.9-4.4 33.3 6.7l64 96c2.6 3.9 4 8.6 4 13.3V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M256 416c-13.3 0-24-10.7-24-24V263.3l-60-90c-7.4-11-4.4-25.9 6.7-33.3s25.9-4.4 33.3 6.7l64 96c2.6 3.9 4 8.6 4 13.3V392c0 13.3-10.7 24-24 24z\"]]\n};\nvar faRv = {\n prefix: 'fad',\n iconName: 'rv',\n icon: [640, 512, [], \"f7be\", [\"M176 512a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm320 0a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M224 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16V32H512c53 0 96 43 96 96c0 17.7-14.3 32-32 32H384V416H266.5c-13.2-37.3-48.7-64-90.5-64c-38.9 0-72.5 23.2-87.5 56.5L18.7 338.7C6.7 326.7 0 310.5 0 293.5V96C0 60.7 28.7 32 64 32H224V16zM96 144v64c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM416 320V288 216 192h24 76.6c12.9 0 25.5 4.5 35.5 12.7l67.4 55.2c13 10.6 20.5 26.5 20.5 43.3V320v64c0 17.7-14.3 32-32 32H586.5c-13.2-37.3-48.7-64-90.5-64c-33.4 0-62.8 17-80 42.9V320zm162.1-32l-56.5-46.2c-1.4-1.2-3.2-1.8-5.1-1.8H464v48H578.1z\"]]\n};\nvar faUserSecret = {\n prefix: 'fad',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", [\"M128 169.6V184c0 22.1 17.9 40 40 40h12.4c16.5 0 31.1-10.6 36.3-26.2c2.3-7 12.2-7 14.5 0c5.2 15.6 19.9 26.2 36.3 26.2H280c22.1 0 40-17.9 40-40V169.6c5.5-.8 10.9-1.7 16-2.6v17c0 61.9-50.1 112-112 112s-112-50.1-112-112V167c5.1 .9 10.5 1.8 16 2.6z\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 17.8 38.6 33.3 96 41.6V184c0 22.1 17.9 40 40 40h12.4c16.5 0 31.1-10.6 36.3-26.2c2.3-7 12.2-7 14.5 0c5.2 15.6 19.9 26.2 36.3 26.2H280c22.1 0 40-17.9 40-40V169.6c57.4-8.3 96-23.8 96-41.6c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm44.1 496H417.3c17 0 30.7-13.8 30.7-30.7c0-57-29.6-107.1-74.2-135.8L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4h-59L273.7 490.5l-34-116.6 17.8-29.6c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2l17.8 29.6-34 116.6L104.4 224h-59C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5L74.2 345.5C29.6 374.2 0 424.3 0 481.3c0 17 13.8 30.7 30.7 30.7H179.9h88.1z\"]]\n};\nvar faOtter = {\n prefix: 'fad',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", [\"M184.9 185c4.5-3 7.1-8 7.1-13.3V168c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v3.7c0 5.3 2.7 10.3 7.1 13.3l11.8 7.9-21.2 10.6c-5.9 3-12.4 4.5-19.1 4.5C83.1 208 64 188.9 64 165.4V144c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v21.4c0 23.5-19.1 42.6-42.6 42.6c-6.6 0-13.1-1.5-19.1-4.5l-21.2-10.6 11.8-7.9zM96 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm144-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 96l12.9 6.4c12.6 6.3 26.5 9.6 40.5 9.6c5.3 0 10.5-.5 15.6-1.3c12.8 38 48.7 65.3 91 65.3h64v64H224c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-35.3 0-64-28.7-64-64v-.6c3.5 .4 7 .6 10.6 .6c14.1 0 27.9-3.3 40.5-9.6L160 240z\", \"M181.5 197.1l12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2zm-8.6 49.4L160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-3.6 0-7.1-.2-10.6-.6v.6c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V336 320c0-23.7 12.9-44.4 32-55.4c9.4-5.4 20.3-8.6 32-8.6V240c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16v32 16 48c0 8.8 7.2 16 16 16s16-7.2 16-16V204.3c0-48.2-30.8-91-76.6-106.3l-8.5-2.8c-8-2.7-12.6-11.1-10.4-19.3s10.3-13.2 18.6-11.6l19.9 4C576 86.1 640 164.2 640 254.9l0 1.1h0c0 123.7-100.3 224-224 224h-1.1H256h-.6C132 480 32 380 32 256.6V256 216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 1.4 0 2.8-.1 4.3c12-6.2 25.7-9.6 40.1-9.6h8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-8c-13.3 0-24 10.7-24 24v8h56.4c-15.2 17-24.4 39.4-24.4 64H320c-42.3 0-78.2-27.4-91-65.3c-5.1 .9-10.3 1.3-15.6 1.3c-14.1 0-27.9-3.3-40.5-9.6z\"]]\n};\nvar faDreidel = {\n prefix: 'fad',\n iconName: 'dreidel',\n icon: [448, 512, [], \"f792\", [\"M438.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 146.7 225.9 84.7c-18.7-18.7-49.1-18.7-67.9 0L89.4 153.4 326.6 390.6l68.7-68.7c18.7-18.7 18.7-49.1 0-67.9L333.3 192 438.6 86.6z\", \"M326.6 390.6L89.4 153.4 18.7 224C6.7 236 0 252.3 0 269.3V416c0 35.3 28.7 64 64 64H210.7c17 0 33.3-6.7 45.3-18.7l70.6-70.6z\"]]\n};\nvar faPersonDress = {\n prefix: 'fad',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", [\"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M88 384H70.2c-10.9 0-18.6-10.7-15.2-21.1L93.3 248.1 59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l53.6-89.2c20.3-33.7 56.7-54.3 96-54.3h11.6c39.3 0 75.7 20.6 96 54.3l53.6 89.2c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9l-33.9-56.3L265 362.9c3.5 10.4-4.3 21.1-15.2 21.1H232v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H152v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384z\"]]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'fad',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20s20 9 20 20z\", \"M256 116c11 0 20 9 20 20v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V344c0 11-9 20-20 20s-20-9-20-20V329.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V136c0-11 9-20 20-20z\"]]\n};\nvar faBusinessTime = {\n prefix: 'fad',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", [\"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64v32.7c-5.3-.5-10.6-.7-16-.7c-54.7 0-103.5 24.9-135.8 64H352 192 0V160c0-35.3 28.7-64 64-64h64zM320.7 352c-.5 5.3-.7 10.6-.7 16c0 42.5 15.1 81.6 40.2 112H64c-35.3 0-64-28.7-64-64V288H192v32c0 17.7 14.3 32 32 32h96c.2 0 .5 0 .7 0z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faFlowerTulip = {\n prefix: 'fad',\n iconName: 'flower-tulip',\n icon: [512, 512, [127799], \"f801\", [\"M224 256V394.8C192.1 349.5 139.5 320 80 320H29.5C13.2 320 0 333.2 0 349.5C0 439.3 72.7 512 162.5 512H224h32 32 61.5C439.3 512 512 439.3 512 349.5c0-16.3-13.2-29.5-29.5-29.5H432c-59.5 0-112.1 29.5-144 74.8V256H224z\", \"M96 128V44c0-6.6 5.4-12 12-12c2.6 0 5.1 .8 7.2 2.4L176 80 243.2 5.3c3-3.4 7.4-5.3 11.9-5.3h1.7c4.5 0 8.9 1.9 11.9 5.3L336 80l60.8-45.6c2.1-1.6 4.6-2.4 7.2-2.4c6.6 0 12 5.4 12 12v84c0 70.7-57.3 128-128 128H224c-70.7 0-128-57.3-128-128z\"]]\n};\nvar faPeoplePantsSimple = {\n prefix: 'fad',\n iconName: 'people-pants-simple',\n icon: [512, 512, [], \"e21a\", [\"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm256 0A64 64 0 1 0 384 0a64 64 0 1 0 0 128z\", \"M25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zm256 0c3.5-41.5 38.1-73.4 79.7-73.4h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3z\"]]\n};\nvar faCloudDrizzle = {\n prefix: 'fad',\n iconName: 'cloud-drizzle',\n icon: [512, 512, [], \"f738\", [\"M64 352c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24zm96 64c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-13.3 10.7-24 24-24zm216 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-13.3 10.7-24 24-24s24 10.7 24 24zM256 352c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24zm216 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faTableCellsLarge = {\n prefix: 'fad',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", [\"M224 288V416h64V288l160 0V224l-160 0V96H224V224L64 224v64l160 0z\", \"M448 96V416H64V96H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'fad',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", [\"M384 416c0-17.7-14.3-32-32-32H32v64H352c17.7 0 32-14.3 32-32z\", \"M448 96c0-53-43-96-96-96H64 32C14.3 0 0 14.3 0 32V352c0 17.7 14.3 32 32 32H96h96H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H192 96 32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 352c53 0 96-43 96-96V96zM138.7 208l-13.9 24h27.7l-13.9-24zm13.9-24l27.7 48h55.4l27.7-48-27.7-48H180.3l-27.7 48zm-27.7 0L97.1 136c-6.2-10.7 1.5-24 13.9-24h55.4l27.7-48c6.2-10.7 21.6-10.7 27.7 0l27.7 48H305c12.3 0 20 13.3 13.9 24l-27.7 48 27.7 48c6.2 10.7-1.5 24-13.9 24H249.6l-27.7 48c-6.2 10.7-21.6 10.7-27.7 0l-27.7-48H111c-12.3 0-20-13.3-13.9-24l27.7-48zm27.7-48H124.9l13.9 24 13.9-24zm41.6-24h27.7L208 88l-13.9 24zm69.3 24l13.9 24 13.9-24H263.4zm13.9 72l-13.9 24h27.7l-13.9-24zm-55.4 48H194.1L208 280l13.9-24z\"]]\n};\nvar faTanakh = faBookTanakh;\nvar faSolarSystem = {\n prefix: 'fad',\n iconName: 'solar-system',\n icon: [512, 512, [], \"e02f\", [\"M411.8 368.2C434.6 336.6 448 297.9 448 256c0-106-86-192-192-192c-29 0-56.6 6.4-81.2 18c-4-22.5-17.4-41.8-36-53.6C173.9 10.2 213.7 0 256 0C397.4 0 512 114.6 512 256c0 56.3-18.2 108.3-48.9 150.6c-4.4-22-23.8-38.6-47.1-38.6c-1.4 0-2.8 .1-4.2 .2zm-74.7 61.9c3.8 22.6 17.1 41.9 35.6 53.8c-35 18-74.7 28.1-116.8 28.1C114.6 512 0 397.4 0 256c0-56.3 18.2-108.3 48.9-150.6C53.3 127.4 72.7 144 96 144c1.4 0 2.8-.1 4.2-.2C77.4 175.4 64 214.1 64 256c0 106 86 192 192 192c29 0 56.5-6.4 81.1-17.9zM256 152c-57.4 0-104 46.6-104 104s46.6 104 104 104s104-46.6 104-104c0-17.4-4.3-33.8-11.8-48.2c1.3 .1 2.5 .2 3.8 .2c16.9 0 31.3-10.5 37.2-25.3c12 21.7 18.8 46.7 18.8 73.3c0 83.9-68.1 152-152 152s-152-68.1-152-152s68.1-152 152-152c31.3 0 60.4 9.5 84.5 25.7C324 134.6 312 149.9 312 168c0 .1 0 .2 0 .4C295.8 158 276.6 152 256 152z\", \"M96 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM416 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM392 168a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM256 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faSealQuestion = {\n prefix: 'fad',\n iconName: 'seal-question',\n icon: [512, 512, [], \"e243\", [\"M222.1 18.4c18.7-18.7 49.1-18.7 67.9 0L335.5 64H400c26.5 0 48 21.5 48 48v64.5l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.5V400c0 26.5-21.5 48-48 48H335.5l-45.6 45.6c-18.7 18.7-49.1 18.7-67.9 0L176.5 448H112c-26.5 0-48-21.5-48-48V335.5L18.4 289.9c-18.7-18.7-18.7-49.1 0-67.9L64 176.5V112c0-26.5 21.5-48 48-48h64.5l45.6-45.6zM169.8 165.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V264c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M222.6 128c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V264c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faPhoneVolume = {\n prefix: 'fad',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", [\"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M256 24c0-13.3 10.7-24 24-24C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24zm0 200a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM280 96c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faDiscDrive = {\n prefix: 'fad',\n iconName: 'disc-drive',\n icon: [512, 512, [], \"f8b5\", [\"M256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 192a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\", \"M32 96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V416c17.7 0 32 14.3 32 32s-14.3 32-32 32H416 96 32c-17.7 0-32-14.3-32-32s14.3-32 32-32V96zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192 0A160 160 0 1 0 96 256a160 160 0 1 0 320 0z\"]]\n};\nvar faHatCowboySide = {\n prefix: 'fad',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", [\"M502.7 233.2l6.7 34.7 17.7 4.4c33.8 8.4 61.7 32 75.9 63.8c3.3 7.5 5.1 15.6 5.1 23.8V368c0 26.5-21.5 48-48 48h-.9c-6.6 0-13-2-18.3-5.8L273 222.8c-28.6-20-62.7-30.8-97.7-30.8C110.9 192 51.9 228.4 23 286.1l-9.2 18.4C4.7 322.7 0 342.8 0 363.2c0 33.4 14 63.5 36.5 84.8h80.3C70 448 32 410 32 363.2c0-15.4 3.6-30.6 10.5-44.4l9.2-18.4C75.1 253.6 123 224 175.4 224c28.4 0 56.1 8.7 79.3 25L522.4 436.4C533.2 444 546 448 559.1 448h.9c44.2 0 80-35.8 80-80v-8.1c0-12.7-2.7-25.2-7.8-36.8c-18.1-40.8-54-71-97.4-81.8l-32.1-8z\", \"M141.9 195.3l10.8-59.4c4.4-24.4 22.5-44 46.5-50.4L391.9 34.2c5.4-1.4 10.9-2.2 16.5-2.2h2.7c30.7 0 57.1 21.8 62.8 51.9l28.7 149.3 2.9 15.2 3.7 19.5 17.7 4.4c33.8 8.4 61.7 32 75.9 63.8c3.3 7.5 5.1 15.6 5.1 23.8V368c0 26.5-21.5 48-48 48h-.9c-6.6 0-13-2-18.3-5.8L273 222.8c-28.6-20-62.7-30.8-97.7-30.8c-11.4 0-22.5 1.1-33.4 3.3zM116.8 448C70 448 32 410 32 363.2c0-15.4 3.6-30.6 10.5-44.4l9.2-18.4C75.1 253.6 123 224 175.4 224c28.4 0 56.1 8.7 79.3 25L522.4 436.4C533.2 444 546 448 559.1 448H544 116.8zM560 448c2.5 0 5-.1 7.5-.3l.5 .3h-8z\"]]\n};\nvar faTableRows = {\n prefix: 'fad',\n iconName: 'table-rows',\n icon: [512, 512, [\"rows\"], \"e292\", [\"M448 224H128v64H448V224z\", \"M128 416l320 0 0-320L128 96l0 320zM64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480z\"]]\n};\nvar faRows = faTableRows;\nvar faLocationExclamation = {\n prefix: 'fad',\n iconName: 'location-exclamation',\n icon: [384, 512, [\"map-marker-exclamation\"], \"f608\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 96c13.3 0 24 10.7 24 24V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M216 120c0-13.3-10.7-24-24-24s-24 10.7-24 24V232c0 13.3 10.7 24 24 24s24-10.7 24-24V120zM192 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMapMarkerExclamation = faLocationExclamation;\nvar faFaceFearful = {\n prefix: 'fad',\n iconName: 'face-fearful',\n icon: [512, 512, [], \"e375\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM96 224a64 64 0 1 1 128 0A64 64 0 1 1 96 224zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 112c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm173 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\", \"M176 112c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-15.6 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM349 112.9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]]\n};\nvar faClipboardUser = {\n prefix: 'fad',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", [\"M113.2 66.3c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\", \"M113.2 66.3C119.6 28.7 152.5 0 192 0s72.4 28.7 78.8 66.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM216 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 432c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faBusSchool = {\n prefix: 'fad',\n iconName: 'bus-school',\n icon: [512, 512, [], \"f5dd\", [\"M112 160c0-17.7 14.3-32 32-32h96V256H144c-17.7 0-32-14.3-32-32V160zm160 96V128h96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H272zM64 480V448h96v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zm288 0V448h96v32c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32z\", \"M256 0C380.8 0 464 35.2 464 80V96v16h16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H464v20.3c9.6 5.5 16 15.9 16 27.7V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V288c0-11.8 6.4-22.2 16-27.7V240H32c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H48V96 80C48 35.2 131.2 0 256 0zM112 160v64c0 17.7 14.3 32 32 32h96V128H144c-17.7 0-32 14.3-32 32zm160 96h96c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H272V256zM112 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 80c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16z\"]]\n};\nvar faFilmSlash = {\n prefix: 'fad',\n iconName: 'film-slash',\n icon: [640, 512, [], \"e179\", [\"M400.4 411.5l87 68.5H128c-35.3 0-64-28.7-64-64V146.4l98.8 77.8c-.9-.2-1.8-.2-2.8-.2H128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-2.3-.5-4.4-1.3-6.4l71.1 56C233.1 293.9 224 305.9 224 320v64c0 17.7 14.3 32 32 32H384c6 0 11.6-1.7 16.4-4.5zM576 416c0 3.3-.2 6.5-.7 9.6L318.1 224H384c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v22.3L89.5 44.9C100.2 36.8 113.6 32 128 32H512c35.3 0 64 28.7 64 64V416zM112 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zM464 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H480c-8.8 0-16 7.2-16 16zM480 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H480z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faSquareArrowDownRight = {\n prefix: 'fad',\n iconName: 'square-arrow-down-right',\n icon: [448, 512, [], \"e262\", [\"M384 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384zM160 368c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L119 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24H160z\", \"M312 368H160c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L119 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24z\"]]\n};\nvar faBookSparkles = {\n prefix: 'fad',\n iconName: 'book-sparkles',\n icon: [448, 512, [\"book-spells\"], \"f6b8\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H352 256 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H256h96 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zM264 200l-38.8 16.6c-6.5 2.8-6.5 11.9 0 14.7L264 248l16.6 38.8c2.8 6.5 11.9 6.5 14.7 0L312 248l38.8-16.6c6.5-2.8 6.5-11.9 0-14.7L312 200l-16.6-38.8c-2.8-6.5-11.9-6.5-14.7 0L264 200zM168.8 78.3L160 96l-17.7 8.8c-5.9 2.9-5.9 11.4 0 14.3L160 128l8.8 17.7c2.9 5.9 11.4 5.9 14.3 0L192 128l17.7-8.8c5.9-2.9 5.9-11.4 0-14.3L192 96l-8.8-17.7c-2.9-5.9-11.4-5.9-14.3 0z\"]]\n};\nvar faBookSpells = faBookSparkles;\nvar faWashingMachine = {\n prefix: 'fad',\n iconName: 'washing-machine',\n icon: [448, 512, [\"washer\"], \"f898\", [\"M184 112a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm40 336c77.6 0 140.9-61.4 143.9-138.2C350 315.4 328.1 320 304 320c-32 0-56-16-80-32s-48-32-80-32c-19.7 0-40.6 4.7-59 10.4c-3.2 12-5 24.6-5 37.6c0 79.5 64.5 144 144 144z\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 160a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM64 88a24 24 0 1 1 48 0A24 24 0 1 1 64 88zM184 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faWasher = faWashingMachine;\nvar faChild = {\n prefix: 'fad',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", [\"M96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64z\", \"M144 384v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V287.8L59.1 321c-9.4 15-29.2 19.4-44.1 10S-4.5 301.9 4.9 287l39.9-63.3C69.7 184 113.2 160 160 160s90.3 24 115.2 63.6L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L240 287.8V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V384H144z\"]]\n};\nvar faLiraSign = {\n prefix: 'fad',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", [\"M48 192v64H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48zm0 96v44.5c0 6.6-.7 13.1-2 19.5H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48zm62.8 64c.8-6.4 1.2-12.9 1.2-19.5V288H224c17.7 0 32 14.3 32 32s-14.3 32-32 32H110.8zm1.2-96V192H224c17.7 0 32 14.3 32 32s-14.3 32-32 32H112z\", \"M176.4 96c-35.5 0-64.4 28.8-64.4 64.4V332.5c0 29-7.9 57.5-22.8 82.3l-.7 1.1H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-11.5 0-22.2-6.2-27.8-16.2s-5.5-22.3 .4-32.2l29.8-49.6c9-14.9 13.7-32 13.7-49.4V160.4C48 89.5 105.5 32 176.4 32c13.8 0 27.5 2.2 40.6 6.6l81.2 27.1c16.8 5.6 25.8 23.7 20.2 40.5s-23.7 25.8-40.5 20.2L196.7 99.3c-6.6-2.2-13.4-3.3-20.4-3.3z\"]]\n};\nvar faUserVisor = {\n prefix: 'fad',\n iconName: 'user-visor',\n icon: [448, 512, [], \"e04c\", [\"M336 176c2.4 0 4.7-.3 7-.8C324.2 222.5 278 256 224 256s-100.2-33.5-119-80.8c2.3 .5 4.6 .8 7 .8H336zM224 0c40.4 0 76.5 18.7 99.9 48H124.1C147.5 18.7 183.6 0 224 0zM328.9 437.4c-9.5 0-22.5 11.4-31.7 19.5c-2.6 2.2-4.8 4.2-6.6 5.6c-2.8 2-6.8 .1-6.5-3.5c3.9-36.5 15.9-66.5 35.7-89.5c1.5-1.8 4.9-1.9 6.1 .1c18.9 24.6 29 55 30.1 90.2c0 3.9-4.9 5.7-7.3 2.5c-12.2-17.2-17.6-23-19.9-25z\", \"M80 80c0-17.7 14.3-32 32-32H336c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V80zm48 32c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zm348.7-19.9c2.4 3.2 7.3 1.4 7.3-2.5c-1.1-35.3-11.3-65.6-30.1-90.2c-1.2-2-4.6-1.9-6.1-.1c-19.9 23-31.9 53-35.7 89.5c-.3 3.5 3.7 5.5 6.5 3.5c1.8-1.4 4.1-3.4 6.6-5.6l0 0c9.2-8.1 22.3-19.5 31.7-19.5c2.3 2 7.6 7.8 19.9 25z\"]]\n};\nvar faFilePlusMinus = {\n prefix: 'fad',\n iconName: 'file-plus-minus',\n icon: [384, 512, [], \"e177\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM208 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V288h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V208zM128 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM208 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V288h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V208zM128 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]]\n};\nvar faChessClockFlip = {\n prefix: 'fad',\n iconName: 'chess-clock-flip',\n icon: [640, 512, [\"chess-clock-alt\"], \"f43e\", [\"M384 56c0-13.3 10.7-24 24-24H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H488v48H440V80H408c-13.3 0-24-10.7-24-24zM96 112c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16v16H96V112zM235.3 244.7c6.2 6.2 6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l48-48c6.2-6.2 16.4-6.2 22.6 0zM480 240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M0 192c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zM288 304A112 112 0 1 0 64 304a112 112 0 1 0 224 0zM464 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]]\n};\nvar faChessClockAlt = faChessClockFlip;\nvar faSatellite = {\n prefix: 'fad',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", [\"M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4L322.3 96.4 233 7zM375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4L285.7 319.6 375 409z\", \"M377.4 41.4c12.5-12.5 32.8-12.5 45.3 0l48 48c12.5 12.5 12.5 32.8 0 45.3L270.2 335.1c11.4 24.6 17.8 52 17.8 80.9c0 31.7-7.7 61.5-21.2 87.8c-4.7 9-16.7 10.3-23.8 3.1L135.3 399.3l-16.4 16.4c.7 2.6 1.1 5.4 1.1 8.3c0 17.7-14.3 32-32 32s-32-14.3-32-32s14.3-32 32-32c2.9 0 5.6 .4 8.3 1.1l16.4-16.4L5.1 269.1c-7.2-7.2-5.9-19.2 3.1-23.8C34.5 231.7 64.3 224 96 224c28.9 0 56.3 6.4 80.9 17.8L377.4 41.4z\"]]\n};\nvar faPlaneLock = {\n prefix: 'fad',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", [\"M256 0c-35 0-64 59.5-64 93.7v84.6L8.1 283.4c-5 2.8-8.1 8.2-8.1 13.9v65.5c0 10.6 10.2 18.3 20.4 15.4l171.6-49 0 70.9-57.6 43.2c-4 3-6.4 7.8-6.4 12.8v42c0 7.8 6.3 14 14 14c1.3 0 2.6-.2 3.9-.5L256 480l110.1 31.5c1.3 .4 2.6 .5 3.9 .5c7.8 0 14-6.3 14-14V480 456c0-5-2.4-9.8-6.4-12.8L320 400V329.1l64.2 18.3c1.5-21.8 13.9-40.6 31.8-50.9V272c0-12.4 2-24.4 5.8-35.6L320 178.3V93.7C320 59.5 292 0 256 0z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faSteeringWheel = {\n prefix: 'fad',\n iconName: 'steering-wheel',\n icon: [512, 512, [], \"f622\", [\"M288 445.3c-10.4 1.7-21.1 2.7-32 2.7s-21.6-.9-32-2.7V358.9L168.9 288H66.7c-1.7-10.4-2.7-21.1-2.7-32s.9-21.6 2.7-32H160l7.2-14.3c5.4-10.8 16.5-17.7 28.6-17.7H316.2c12.1 0 23.2 6.8 28.6 17.7L352 224h93.3c1.7 10.4 2.7 21.1 2.7 32s-.9 21.6-2.7 32H343.1L288 358.9v86.5z\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]]\n};\nvar faTag = {\n prefix: 'fad',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", [\"M0 80V229.5c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80zm112 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"\"]]\n};\nvar faStretcher = {\n prefix: 'fad',\n iconName: 'stretcher',\n icon: [640, 512, [], \"f825\", [\"M327.2 366.5L219.2 288h81.6L368 336.9 435.2 288h81.6l-108 78.5 37.3 27.1c9.8-6.1 21.4-9.7 33.9-9.7c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-5.3 .7-10.5 1.9-15.5L368 396.2l-49.9 36.3c1.2 5 1.9 10.2 1.9 15.5c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c12.4 0 24 3.5 33.9 9.7l37.3-27.1zM256 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm224 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M15.2 77C34.5 58.9 64.9 59.8 83 79.2L188.8 192H592c26.5 0 48 21.5 48 48s-21.5 48-48 48H181.9c-22.1 0-43.2-9.2-58.4-25.3L13 144.8C-5.1 125.5-4.2 95.1 15.2 77z\"]]\n};\nvar faBookSection = {\n prefix: 'fad',\n iconName: 'book-section',\n icon: [448, 512, [\"book-law\"], \"e0c1\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zM228.5 241.3c-22.1-5.9-68-18.1-59.5-62.7c2.1-11.2 7.9-20.4 16.7-27.5c-12.2-9.4-20.7-23.1-16.7-44.5c6.1-31.8 40.4-48 87.5-41.3c8.3 1.2 18 3.5 30.2 7.3c8.4 2.6 13.2 11.6 10.5 20c-2.6 8.4-11.7 13.1-20 10.5c-10.6-3.3-18.6-5.3-25.2-6.2c-27.8-4-49.1 2.5-51.6 15.7c-1.8 9.3-.2 16.1 36.2 25.8l7.3 1.9 0 0c30.1 7.8 75.6 19.6 67 64.7c-2.1 11.2-8 20.5-16.7 27.6c12.6 9.5 20.7 23.2 16.7 44.4c-5.2 27-30.8 42.8-67.3 42.8c-6.4 0-13.2-.5-20.2-1.5c-12.9-1.8-26.6-6.2-38.6-10.1l0 0-5.8-1.9c-8.4-2.7-13.1-11.7-10.4-20.1c2.7-8.4 11.7-13.1 20.1-10.4l5.9 1.9c10.7 3.5 22.9 7.5 33.1 8.9c28 3.9 49.2-2.5 51.7-15.7c2.4-12.8-5.7-17.9-43.6-27.7l-7.5-2zm-2.9-72.8c-8.7 1.2-23 4.8-25.2 16.1c-1.8 9.3-.2 16.1 36.2 25.8c0 0 14.1 3.7 17.7 4.7c8.7-1.2 23-4.8 25.2-16.1c2.4-12.8-5.7-17.9-43.6-27.7c0 0-9.4-2.5-10.3-2.7z\"]]\n};\nvar faBookLaw = faBookSection;\nvar faInboxes = {\n prefix: 'fad',\n iconName: 'inboxes',\n icon: [512, 512, [], \"e1bb\", [\"M79.3 160l38.4-96H394.3l38.4 96h-45c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7h-45zM48 352h76.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\", \"M79.3 160l38.4-96H394.3l38.4 96h-45c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7h-45zm33-160c-22.9 0-43.5 13.9-52 35.2L4 175.8c-2.6 6.6-4 13.7-4 20.8V264c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V196.6c0-7.1-1.4-14.2-4-20.8L451.7 35.2C443.2 13.9 422.6 0 399.8 0H112.2z\"]]\n};\nvar faCoffeeBean = {\n prefix: 'fad',\n iconName: 'coffee-bean',\n icon: [448, 512, [], \"e13e\", [\"M337 208.9c25.6-25.8 47.1-69.8 61.6-104.2c3.4-8 6.4-15.7 9.2-22.8c66 75.9 44.1 210.4-51.7 306.2C270.2 474 153.2 500.4 75.2 457.5c3.9-9.1 8.6-19.5 13.9-30.5c16.5-34.5 37.1-71.1 55.9-90.1c28.7-28.9 57.5-43.4 89.7-59.4l.8-.4c31.9-15.9 67-33.4 101.5-68.2zM36.5 426.5c-67-75.7-45.3-211 50.9-307.1c86-86 203.2-112.4 281.1-69.2c-3.7 10.2-8.5 22.7-14.1 36c-14.5 34.5-33 70.5-51.4 89c-28.7 28.9-57.5 43.4-89.7 59.4l-.8 .4c-31.9 15.9-67 33.4-101.5 68.2c-25.2 25.4-48.7 68.8-65.1 103.2c-3.4 7-6.5 13.8-9.4 20.2z\", \"M337 208.9c25.6-25.8 47.1-69.8 61.6-104.2c3.4-8 6.4-15.7 9.2-22.8c-2.2-2.5-4.5-5-6.9-7.4c-9.8-9.8-20.7-17.9-32.5-24.4c-3.7 10.2-8.5 22.7-14.1 36c-14.5 34.5-33 70.5-51.4 89c-28.7 28.9-57.5 43.4-89.7 59.4l-.8 .4c-31.9 15.9-67 33.4-101.5 68.2c-25.2 25.4-48.7 68.8-65.1 103.2c-3.4 7-6.5 13.8-9.4 20.2c1.9 2.2 4 4.3 6.1 6.4c9.8 9.8 20.8 18 32.7 24.6c3.9-9.1 8.6-19.5 13.9-30.5c16.5-34.5 37.1-71.1 55.9-90.1c28.7-28.9 57.5-43.4 89.7-59.4l.8-.4c31.9-15.9 67-33.4 101.5-68.2z\"]]\n};\nvar faCircleYen = {\n prefix: 'fad',\n iconName: 'circle-yen',\n icon: [512, 512, [], \"e5d0\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.9 150.2c9.8-8.9 25-8.2 33.9 1.6L256 220.3l62.2-68.5c8.9-9.8 24.1-10.5 33.9-1.6s10.5 24.1 1.6 33.9L303 240h25c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v16h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v25c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V288H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h25l-50.8-55.9c-8.9-9.8-8.2-25 1.6-33.9z\", \"M193.8 151.9c-8.9-9.8-24.1-10.5-33.9-1.6s-10.5 24.1-1.6 33.9L209 240H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v16H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v25c0 13.3 10.7 24 24 24s24-10.7 24-24V352h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V288h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H303l50.8-55.9c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6L256 220.3l-62.2-68.5z\"]]\n};\nvar faBracketsCurly = {\n prefix: 'fad',\n iconName: 'brackets-curly',\n icon: [576, 512, [], \"f7ea\", [\"M512 128c0-53-43-96-96-96H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32 14.3 32 32v37.5c0 25.5 10.1 49.9 28.1 67.9L498.7 256l-22.6 22.6c-18 18-28.1 42.4-28.1 67.9V384c0 17.7-14.3 32-32 32H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c53 0 96-43 96-96V346.5c0-8.5 3.4-16.6 9.4-22.6l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3l-45.3-45.3c-6-6-9.4-14.1-9.4-22.6V128z\", \"M64 128c0-53 43-96 96-96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32 14.3-32 32v37.5c0 25.5-10.1 49.9-28.1 67.9L77.3 256l22.6 22.6c18 18 28.1 42.4 28.1 67.9V384c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-53 0-96-43-96-96V346.5c0-8.5-3.4-16.6-9.4-22.6L9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l45.3-45.3c6-6 9.4-14.1 9.4-22.6V128z\"]]\n};\nvar faEllipsisStrokeVertical = {\n prefix: 'fad',\n iconName: 'ellipsis-stroke-vertical',\n icon: [192, 512, [\"ellipsis-v-alt\"], \"f39c\", [\"M96 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\", \"M96 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 96A72 72 0 1 1 96 24a72 72 0 1 1 0 144zm0 224a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 96a72 72 0 1 1 0-144 72 72 0 1 1 0 144z\"]]\n};\nvar faEllipsisVAlt = faEllipsisStrokeVertical;\nvar faComment = {\n prefix: 'fad',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", [\"M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4l0 0 0 0 0 0 0 0 .3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z\", \"\"]]\n};\nvar faSquare1 = {\n prefix: 'fad',\n iconName: 'square-1',\n icon: [448, 512, [], \"e256\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm236 35.2c-7.4-4.3-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L200 193.4V336H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V152c0-8.6-4.6-16.5-12-20.8z\", \"M248 152c0-8.6-4.6-16.5-12-20.8s-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L200 193.4V336H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V152z\"]]\n};\nvar faCakeCandles = {\n prefix: 'fad',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", [\"M86.4 5.5C88.4 2.1 92 0 96 0s7.6 2.1 9.6 5.5l24.5 42.1c3.8 6.5 5.8 14 5.8 21.6V72c0 22.1-17.9 40-40 40s-40-17.9-40-40V69.2c0-7.6 2-15 5.8-21.6L86.4 5.5zM0 288c0-35.3 28.7-64 64-64H384c35.3 0 64 28.7 64 64v89.2c-8.4 4-18.1 6.8-28.8 6.8c-35.9 0-67.2-32-67.2-32s-28.1 32-64 32s-64-32-64-32s-28.1 32-64 32s-64-32-64-32s-31.3 32-67.2 32c-10.7 0-20.4-2.8-28.8-6.8V288zM189.8 47.6L214.4 5.5C216.4 2.1 220 0 224 0s7.6 2.1 9.6 5.5l24.5 42.1c3.8 6.5 5.8 14 5.8 21.6V72c0 22.1-17.9 40-40 40s-40-17.9-40-40V69.2c0-7.6 2-15 5.8-21.6zM342.4 5.5C344.4 2.1 348 0 352 0s7.6 2.1 9.6 5.5l24.5 42.1c3.8 6.5 5.8 14 5.8 21.6V72c0 22.1-17.9 40-40 40s-40-17.9-40-40V69.2c0-7.6 2-15 5.8-21.6L342.4 5.5z\", \"M128 176v48H64V176c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v48H192V176c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0v48H320V176c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 464V377.2c8.4 4 18.1 6.8 28.8 6.8C64.7 384 96 352 96 352s28.1 32 64 32s64-32 64-32s28.1 32 64 32s64-32 64-32s31.3 32 67.2 32c10.7 0 20.4-2.8 28.8-6.8V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z\"]]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faHeadSide = {\n prefix: 'fad',\n iconName: 'head-side',\n icon: [512, 512, [], \"f6e9\", [\"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M320 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faEnvelope = {\n prefix: 'fad',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", [\"M0 112V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V112c0 15.1-7.1 29.3-19.2 38.4L275.2 313.6c-11.4 8.5-27 8.5-38.4 0L19.2 150.4C7.1 141.3 0 127.1 0 112z\", \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48z\"]]\n};\nvar faDollyEmpty = {\n prefix: 'fad',\n iconName: 'dolly-empty',\n icon: [576, 512, [], \"f473\", [\"M256 512a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64h72.9L197 340.2c16.3-12.7 36.7-20.2 59-20.2c.6 0 1.2 0 1.7 0L165.7 43.8C156.9 17.6 132.5 0 104.9 0H32zM331.8 357c12.7 16.3 20.2 36.7 20.2 59c0 .6 0 1.2 0 1.7l202.1-67.4c16.8-5.6 25.8-23.7 20.2-40.5s-23.7-25.8-40.5-20.2L331.8 357z\"]]\n};\nvar faFaceTissue = {\n prefix: 'fad',\n iconName: 'face-tissue',\n icon: [512, 512, [], \"e39c\", [\"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256c0 11.5 .8 22.9 2.2 34c1.9-.6 3.9-1 5.9-1.4l192-32c15.3-2.5 30.9 2.4 41.8 13.4s16 26.5 13.4 41.8l-7.9 47.2 8.5 5.7 39.1-26.1c5.4-3.6 12.4-3.6 17.8 0l40.3 26.8 23.7-11.8c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-32 16c-5.1 2.6-11.3 2.2-16-1L304 371.2l-39.1 26.1c-5.4 3.6-12.4 3.6-17.8 0l-5.4-3.6L223.3 503.9c-.3 2-.8 4-1.4 5.9c11.1 1.5 22.5 2.2 34 2.2zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9z\", \"M223.8 306.6c.8-5.1-.8-10.3-4.5-13.9s-8.8-5.3-13.9-4.5l-192 32c-6.7 1.1-11.9 6.3-13.1 13s1.9 13.4 7.8 16.7l45.5 26L32.5 460.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l84.2-21.1 26 45.5c3.4 5.9 10 9 16.7 7.8s11.9-6.4 13-13.1l32-192z\"]]\n};\nvar faAnglesUp = {\n prefix: 'fad',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", [\"M201.4 233.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 301.3 86.6 438.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\", \"M201.4 41.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 109.3 86.6 246.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"]]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faBinRecycle = {\n prefix: 'fad',\n iconName: 'bin-recycle',\n icon: [576, 512, [], \"e5f7\", [\"M0 64C0 46.3 14.3 32 32 32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zm32 64H544L517.3 421.8c-3 33-30.6 58.2-63.7 58.2H122.4c-33.1 0-60.7-25.2-63.7-58.2L32 128zm256 88c2.2 0 4.3 1.1 5.5 2.9l20.7 29.6c7.3 10.5 21.6 13.4 32.4 6.6c11.7-7.3 14.8-22.9 6.9-34.1l-20.7-29.6c-10.2-14.6-27-23.3-44.8-23.3s-34.6 8.7-44.8 23.3l-20.7 29.6c-7.9 11.3-4.7 26.8 6.9 34.1c10.8 6.8 25.1 3.9 32.4-6.6l20.7-29.6c1.3-1.8 3.3-2.9 5.5-2.9zm-88.3 77.1c-10.8-6.8-25.1-3.9-32.4 6.6l-21.5 30.7c-6.4 9.1-9.8 20-9.8 31.2c0 30.1 24.4 54.4 54.4 54.4H240c13.3 0 24-10.7 24-24s-10.7-24-24-24H190.4c-3.5 0-6.4-2.9-6.4-6.4c0-1.3 .4-2.6 1.2-3.7l21.5-30.7c7.9-11.3 4.7-26.8-6.9-34.1zM312 392c0 13.3 10.7 24 24 24h49.6c30.1 0 54.4-24.4 54.4-54.4c0-11.2-3.4-22.1-9.8-31.2l-21.5-30.7c-7.3-10.5-21.6-13.4-32.4-6.6c-11.7 7.3-14.8 22.9-6.9 34.1l21.5 30.7c.8 1.1 1.2 2.4 1.2 3.7c0 3.5-2.9 6.4-6.4 6.4H336c-13.3 0-24 10.7-24 24z\", \"M282.5 218.9c1.3-1.8 3.3-2.9 5.5-2.9s4.3 1.1 5.5 2.9l20.7 29.6c7.3 10.5 21.6 13.4 32.4 6.6c11.7-7.3 14.8-22.9 6.9-34.1l-20.7-29.6c-10.2-14.6-27-23.3-44.8-23.3s-34.6 8.7-44.8 23.3l-20.7 29.6c-7.9 11.3-4.7 26.8 6.9 34.1c10.8 6.8 25.1 3.9 32.4-6.6l20.7-29.6zM206.6 327.2c7.9-11.3 4.7-26.8-6.9-34.1c-10.8-6.8-25.1-3.9-32.4 6.6l-21.5 30.7c-6.4 9.1-9.8 20-9.8 31.2c0 30.1 24.4 54.4 54.4 54.4H240c13.3 0 24-10.7 24-24s-10.7-24-24-24H190.4c-3.5 0-6.4-2.9-6.4-6.4c0-1.3 .4-2.6 1.2-3.7l21.5-30.7zM336 368c-13.3 0-24 10.7-24 24s10.7 24 24 24h49.6c30.1 0 54.4-24.4 54.4-54.4c0-11.2-3.4-22.1-9.8-31.2l-21.5-30.7c-7.3-10.5-21.6-13.4-32.4-6.6c-11.7 7.3-14.8 22.9-6.9 34.1l21.5 30.7c.8 1.1 1.2 2.4 1.2 3.7c0 3.5-2.9 6.4-6.4 6.4H336z\"]]\n};\nvar faPaperclip = {\n prefix: 'fad',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", [\"M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z\", \"\"]]\n};\nvar faChartLineDown = {\n prefix: 'fad',\n iconName: 'chart-line-down',\n icon: [512, 512, [128201], \"f64d\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M326.6 121.4c-12.5-12.5-32.8-12.5-45.3 0L208 194.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0L304 189.3l57.4 57.4L329 279c-15.1 15.1-4.4 41 17 41H456c13.3 0 24-10.7 24-24V185.9c0-21.4-25.9-32.1-41-17l-32.4 32.4-80-80z\"]]\n};\nvar faArrowRightToCity = {\n prefix: 'fad',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", [\"M336 0c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48h96H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16zm144 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\", \"M121.4 153.4c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H146.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3z\"]]\n};\nvar faLockA = {\n prefix: 'fad',\n iconName: 'lock-a',\n icon: [448, 512, [], \"e422\", [\"M224 64c44.2 0 80 35.8 80 80v48H144V144c0-44.2 35.8-80 80-80zM80 144v48H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H368V144C368 64.5 303.5 0 224 0S80 64.5 80 144zm49.7 280.8L209.6 265c.8-1.6 1.8-3 3-4.3c1.4-1.5 3.1-2.6 5-3.4c2.1-.9 4.2-1.3 6.4-1.3s4.3 .4 6.4 1.3c1.8 .8 3.5 1.9 5 3.4c1.3 1.3 2.3 2.7 3.1 4.3l79.9 159.9c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L270.1 400H177.9l-19.6 39.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5zM193.9 368h60.2L224 307.8 193.9 368z\", \"M235.3 260.7c-1.4-1.4-3.1-2.6-4.9-3.4c-2.1-.9-4.2-1.3-6.4-1.3s-4.3 .4-6.4 1.3c-1.8 .8-3.5 1.9-4.9 3.4c-1.3 1.3-2.3 2.7-3.1 4.3L129.7 424.8c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L177.9 400h92.2l19.6 39.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5L238.4 265c-.8-1.6-1.8-3-3.1-4.3zM254.1 368l-60.2 0L224 307.8 254.1 368z\"]]\n};\nvar faRibbon = {\n prefix: 'fad',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", [\"M146 118.6c7.8-5.1 37-22.6 78-22.6s70.2 17.4 78 22.6L352 64 328 32C312.9 11.9 289.2 0 264 0H184c-25.2 0-48.9 11.9-64 32L96 64l50 54.6zm-2.4 172.7L27.1 418.5c-13.9 15.1-10.1 39.2 7.7 49.4l55.1 31.5c13 7.4 29.3 4.9 39.4-6.1l97.7-106.3-83.3-95.6z\", \"M96 64L420.9 418.5c13.9 15.1 10.1 39.2-7.7 49.4L358.8 499c-13.2 7.6-30 4.7-40-6.8L87.6 227.1C72.4 209.6 64 187.2 64 164v-23c0-19 5.6-37.5 16.1-53.3L96 64zM328.4 270.2L245.7 180 352 64l19.4 33.9c8.3 14.5 12.6 30.9 12.6 47.6v25.8c0 23.6-8.7 46.4-24.5 64l-31.2 34.8z\"]]\n};\nvar faLungs = {\n prefix: 'fad',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", [\"M256 210.8V165.3C256 127 225 96 186.7 96c-21.7 0-42.8 10.2-55.8 28.8c-15.4 22.1-44.3 65.4-71 116.9C33.4 292.6 7.5 354.2 .2 412c-.2 1.3-.2 2.6-.2 4v7c0 49.1 39.8 89 89 89c7.3 0 14.5-.9 21.6-2.7l72.7-18.2C226 480.5 256 442.1 256 398V286.7L161.2 347c-14.9 9.5-34.7 5.1-44.2-9.8s-5.1-34.7 9.8-44.2L256 210.8zM478.8 347L384 286.7V398c0 44.1 30 82.5 72.7 93.1l72.7 18.2c7.1 1.8 14.3 2.7 21.6 2.7c49.1 0 89-39.8 89-89v-7c0-1.3-.1-2.7-.2-4c-7.2-57.9-33.1-119.4-59.6-170.3c-26.8-51.5-55.6-94.8-71-116.9c-13-18.6-34-28.8-55.8-28.8C415 96 384 127 384 165.3v45.5L513.2 293c14.9 9.5 19.3 29.3 9.8 44.2s-29.3 19.3-44.2 9.8z\", \"M352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V164.1c0 16.4-8.4 31.7-22.2 40.5L126.8 293c-14.9 9.5-19.3 29.3-9.8 44.2s29.3 19.3 44.2 9.8l139-88.4c7.3-4.6 13.9-10.1 19.9-16.1c5.9 6 12.6 11.5 19.9 16.1l139 88.4c14.9 9.5 34.7 5.1 44.2-9.8s5.1-34.7-9.8-44.2l-139-88.4c-13.8-8.8-22.2-24.1-22.2-40.5V32z\"]]\n};\nvar faPersonPinball = {\n prefix: 'fad',\n iconName: 'person-pinball',\n icon: [640, 512, [], \"e21d\", [\"M544 0c-17.7 0-32 14.3-32 32V74.8c0 6.9 1.1 13.7 3.3 20.2l32.8 98.5-295 49.2c1.9 4 2.9 8.6 2.9 13.3c0 17.7-14.3 32-32 32H192V480c0 17.7 14.3 32 32 32s32-14.3 32-32V384H576v96c0 17.7 14.3 32 32 32s32-14.3 32-32V224v-8V178.2 32c0-17.7-14.3-32-32-32H544zM256 312a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M32 48a48 48 0 1 1 96 0A48 48 0 1 1 32 48zM96 241.7v65.1l49.9 49.9c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L18.7 320C6.7 308 0 291.7 0 274.7V186.6C0 154.2 26.2 128 58.6 128c24.1 0 46.5 12 59.9 32l42.6 64H224c17.7 0 32 14.3 32 32s-14.3 32-32 32H152.6c-16 0-31-8-39.9-21.4L96 241.7zM0 480L0 346.5l64 64V480v0c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]]\n};\nvar faArrowUp91 = {\n prefix: 'fad',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", [\"M445.7 148.9A32 32 0 1 0 418.3 91a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 192.4 344 159.2 344 120c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 251c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2zM464 320v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V364.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4s13.3 15.7 13.3 26z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faAppleCore = {\n prefix: 'fad',\n iconName: 'apple-core',\n icon: [384, 512, [], \"e08f\", [\"M208 112H192c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80z\", \"M29.9 462.4c-6.2-6.8-4.4-17.3 2.7-23.1C71.3 407 96 358.4 96 304c0-55.4-25.6-104.7-65.5-137c-8-6.5-9.3-18.7-.7-24.3C43.9 133.4 60.7 128 80 128c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c19.3 0 36.1 5.4 50.3 14.7c8.6 5.6 7.3 17.9-.7 24.3c-40 32.3-65.5 81.7-65.5 137c0 54.4 24.7 103 63.4 135.3c7 5.9 8.8 16.3 2.7 23.1C325.8 493.7 290.9 512 256 512c-16.5 0-38.1-6.6-51.5-11.3c-8.1-2.8-16.9-2.8-25 0c-13.4 4.7-35 11.3-51.5 11.3c-34.9 0-69.8-18.3-98.1-49.6z\"]]\n};\nvar faCircleY = {\n prefix: 'fad',\n iconName: 'circle-y',\n icon: [512, 512, [], \"e12f\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM170.1 152.3L256 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L280 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L133.9 183.7c-8.7-10-7.6-25.2 2.4-33.9s25.2-7.6 33.9 2.4z\", \"M136.3 149.9c10-8.7 25.2-7.6 33.9 2.4L256 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L280 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L133.9 183.7c-8.7-10-7.6-25.2 2.4-33.9z\"]]\n};\nvar faH6 = {\n prefix: 'fad',\n iconName: 'h6',\n icon: [640, 512, [], \"e413\", [\"M32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\", \"M537 116c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5L389 198.5c-24 29.9-37 67.1-37 105.5c0 79.5 64.5 144 144 144s144-64.5 144-144c0-77.6-61.4-140.9-138.3-143.9L537 116zm39 188a80 80 0 1 1 -160 0 80 80 0 1 1 160 0z\"]]\n};\nvar faLitecoinSign = {\n prefix: 'fad',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", [\"M64 213.6L23.2 225.2c-17 4.9-26.8 22.6-22 39.6s22.6 26.8 39.6 22L64 280.1V213.6zm64 48.3l136.8-39.1c17-4.9 26.8-22.6 22-39.6s-22.6-26.8-39.6-22L128 195.3v66.6z\", \"M96 32c17.7 0 32 14.3 32 32V416H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCircleSmall = {\n prefix: 'fad',\n iconName: 'circle-small',\n icon: [320, 512, [], \"e122\", [\"M0 256a160 160 0 1 1 320 0A160 160 0 1 1 0 256z\", \"\"]]\n};\nvar faBorderNone = {\n prefix: 'fad',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", [\"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"\"]]\n};\nvar faArrowTurnDownLeft = {\n prefix: 'fad',\n iconName: 'arrow-turn-down-left',\n icon: [512, 512, [], \"e2e1\", [\"M448 64c0-17.7 14.3-32 32-32s32 14.3 32 32V224c0 53-43 96-96 96H109.3l-32-32 32-32H416c17.7 0 32-14.3 32-32V64z\", \"M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 288 182.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"]]\n};\nvar faCircleNodes = {\n prefix: 'fad',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", [\"M418.4 157.9c-5.9 1.4-12 2.1-18.4 2.1c-16.5 0-31.9-5-44.6-13.6L317.6 354.1c5.9-1.4 12-2.1 18.4-2.1c16.5 0 31.9 5 44.6 13.6l37.8-207.7zM114.1 280.4L259.7 407.8c6.8-21.3 22.2-38.7 42.1-48.2L156.3 232.2c-6.8 21.3-22.2 38.7-42.1 48.2zM160 210.5l183.8-73.5C329.1 122.4 320 102.3 320 80c0-.8 0-1.7 0-2.5L136.2 151.1C150.9 165.6 160 185.7 160 208c0 .8 0 1.7 0 2.5z\", \"M320 80a80 80 0 1 1 160 0A80 80 0 1 1 320 80zM256 432a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM80 128a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faParachuteBox = {\n prefix: 'fad',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", [\"M24.9 192L165.2 346.3c-3.3 6.5-5.2 13.9-5.2 21.7v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-7.8-1.9-15.2-5.2-21.7L487.1 192H443.8L323.7 324.2c-6-2.7-12.7-4.2-19.7-4.2H272V192H240V320H208c-7 0-13.7 1.5-19.7 4.2L68.2 192H24.9z\", \"M128.5 192H383.5c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16zM358.9 16.7C393.8 54.8 416 112.1 416 176c0 5.4-.2 10.7-.5 16h77.6c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7zm-205.7 0C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192H96.5c-.3-5.3-.5-10.6-.5-16c0-64 22.2-121.2 57.1-159.3z\"]]\n};\nvar faMessageMedical = {\n prefix: 'fad',\n iconName: 'message-medical',\n icon: [512, 512, [\"comment-alt-medical\"], \"f7f4\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm224 64v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H288V128c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\", \"M240 112c-8.8 0-16 7.2-16 16v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16l-48 0V128c0-8.8-7.2-16-16-16H240z\"]]\n};\nvar faCommentAltMedical = faMessageMedical;\nvar faRugbyBall = {\n prefix: 'fad',\n iconName: 'rugby-ball',\n icon: [512, 512, [], \"e3c6\", [\"M368 16H336C159.3 16 16 159.3 16 336v32c0 30.1 10.4 57.7 27.7 79.6C17.9 395.7 73.4 280.2 176.8 176.8S395.7 17.9 447.5 43.7C425.7 26.4 398.1 16 368 16zM468.3 64.5c25.8 51.9-29.7 167.3-133.1 270.7S116.3 494.1 64.4 468.3C86.3 485.6 113.9 496 144 496h32c176.7 0 320-143.3 320-320V144c0-30.1-10.4-57.7-27.7-79.5z\", \"M64.4 468.3c-7.7-6.1-14.6-13.1-20.7-20.7C17.9 395.7 73.4 280.2 176.8 176.8S395.7 17.9 447.5 43.7c7.7 6.1 14.6 13.1 20.7 20.7c25.8 51.9-29.7 167.3-133.1 270.7S116.3 494.1 64.4 468.3z\"]]\n};\nvar faCommentMusic = {\n prefix: 'fad',\n iconName: 'comment-music',\n icon: [512, 512, [], \"f8b0\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm96-320v32V288c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V183.1l-96 36V320c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V208 176c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8s6.9 7.9 6.9 13.2z\", \"M345.1 114.8c4.3 3 6.9 7.9 6.9 13.2v32V288c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V183.1l-96 36V320c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V208 176c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8z\"]]\n};\nvar faIndent = {\n prefix: 'fad',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM224 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zM192 320c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M127.8 243.4c8.2 6.4 8.2 18.9 0 25.3L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3z\"]]\n};\nvar faTreeDeciduous = {\n prefix: 'fad',\n iconName: 'tree-deciduous',\n icon: [512, 512, [127795, \"tree-alt\"], \"f400\", [\"M351.6 86.8c9.9-4.4 20.9-6.8 32.4-6.8c44.2 0 80 35.8 80 80c0 14.4-3.8 27.9-10.5 39.6C487.9 214.2 512 248.3 512 288c0 53-43 96-96 96H288V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V384H96c-53 0-96-43-96-96c0-39.7 24.1-73.8 58.5-88.4C51.8 187.9 48 174.4 48 160c0-44.2 35.8-80 80-80c11.5 0 22.5 2.4 32.4 6.8C165 38.1 206.1 0 256 0s91 38.1 95.6 86.8z\", \"M256 128c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32z\"]]\n};\nvar faTreeAlt = faTreeDeciduous;\nvar faPuzzlePieceSimple = {\n prefix: 'fad',\n iconName: 'puzzle-piece-simple',\n icon: [640, 512, [\"puzzle-piece-alt\"], \"e231\", [\"M264.8 64C277.6 64 288 74.4 288 87.2v0c0 9.2-5.8 17.3-13.2 22.8c-11.6 8.7-18.8 20.7-18.8 34c0 26.5 28.7 48 64 48s64-21.5 64-48c0-13.3-7.2-25.3-18.8-34c-7.4-5.5-13.2-13.6-13.2-22.8v0C352 74.4 362.4 64 375.2 64H464c26.5 0 48 21.5 48 48v88.8c0 12.8 10.4 23.2 23.2 23.2v0c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2v0c-12.8 0-23.2 10.4-23.2 23.2V400c0 26.5-21.5 48-48 48H375.2c-12.8 0-23.2-10.4-23.2-23.2v0c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8v0c0 12.8-10.4 23.2-23.2 23.2H176c-26.5 0-48-21.5-48-48V311.2c0-12.8-10.4-23.2-23.2-23.2v0c-9.2 0-17.3 5.8-22.8 13.2C73.3 312.8 61.3 320 48 320c-26.5 0-48-28.7-48-64s21.5-64 48-64c13.3 0 25.3 7.2 34 18.8c5.5 7.4 13.6 13.2 22.8 13.2v0c12.8 0 23.2-10.4 23.2-23.2V112c0-26.5 21.5-48 48-48h88.8z\", \"\"]]\n};\nvar faPuzzlePieceAlt = faPuzzlePieceSimple;\nvar faTruckFieldUn = {\n prefix: 'fad',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", [\"M176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm288 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M96 32C60.7 32 32 60.7 32 96v32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v32c-17.7 0-32 14.3-32 32s14.3 32 32 32H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h66.3c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c0-35.3-28.7-64-64-64h-4.2c-.4-1.1-.9-2.1-1.3-3.2L485.7 102c-10.3-23.1-33.2-38-58.5-38H375.4C364.4 44.9 343.7 32 320 32H96zm288 96h43.2l42.7 96H384V128zm-130.7 7.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faNfcTrash = {\n prefix: 'fad',\n iconName: 'nfc-trash',\n icon: [640, 512, [], \"e1fd\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H381.6l-6.1-84.8C366.9 407.8 352.4 416 336 416H112c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V240 144c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48v50.7c5-1.8 10.4-2.7 16-2.7h18.3l2.7-5.5c5.7-11.3 15.4-19.7 26.9-23.8V96c0-35.3-28.7-64-64-64H64z\", \"M464 192c-6.1 0-11.6 3.4-14.3 8.8L438.1 224H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H576h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H585.9l-11.6-23.2c-2.7-5.4-8.2-8.8-14.3-8.8H464zm-64 96l13.9 194.3C415.1 499 429 512 445.8 512H578.2c16.8 0 30.7-13 31.9-29.7L624 288H400z\"]]\n};\nvar faHourglass = {\n prefix: 'fad',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", [\"M32 75V64H96V75c0 25.5 10.1 49.9 28.1 67.9L192 210.7l67.9-67.9c18-18 28.1-42.4 28.1-67.9V64h64V75c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11H288V437c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11H32V437c0-42.4 16.9-83.1 46.9-113.1L146.7 256 78.9 188.1l22.6-22.6L78.9 188.1C48.9 158.1 32 117.4 32 75z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'fad',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", [\"M396.6 224H272c-10.1 0-19.6 4.7-25.6 12.8l-25.6 34.1c-6.4 8.5-19.2 8.5-25.6 0l-59.5-79.3L225.2 49c6.6-10.6 18.3-17 30.8-17s24.1 6.4 30.8 17L396.6 224z\", \"M396.6 224H272c-10.1 0-19.6 4.7-25.6 12.8l-25.6 34.1c-6.4 8.5-19.2 8.5-25.6 0l-59.5-79.3L8.6 394.4C3 403.3 0 413.6 0 424.1C0 455 25 480 55.9 480H456.1c30.9 0 55.9-25 55.9-55.9c0-10.5-3-20.8-8.6-29.7L396.6 224z\"]]\n};\nvar faFileXmark = {\n prefix: 'fad',\n iconName: 'file-xmark',\n icon: [384, 512, [\"file-times\"], \"f317\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM111 239c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM111 239c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faFileTimes = faFileXmark;\nvar faHouseHeart = {\n prefix: 'fad',\n iconName: 'house-heart',\n icon: [576, 512, [\"home-heart\"], \"f4c9\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H128.1c-35.3 0-64-28.6-64-64zM176 317.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2l-256-224zM176 317.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]]\n};\nvar faHomeHeart = faHouseHeart;\nvar faHouseChimneyBlank = {\n prefix: 'fad',\n iconName: 'house-chimney-blank',\n icon: [576, 512, [], \"e3b0\", [\"M64 270.5L64.1 448c0 35.3 28.7 64 64 64H448.5c35.4 0 64.1-28.7 64-64.1l-.4-177.3L288 74.5 64 270.5z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2L512 185.5V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v37.5L309.1 7.9z\"]]\n};\nvar faMeterBolt = {\n prefix: 'fad',\n iconName: 'meter-bolt',\n icon: [640, 512, [], \"e1e9\", [\"M442.8 431c-46.7 49.8-113.1 81-186.8 81C114.6 512 0 397.4 0 256S114.6 0 256 0C393 0 504.8 107.5 511.7 242.8L402 330.5c-15.9 12.7-22.1 34.1-15.3 53.4s24.9 32.1 45.3 32.1h18.3l-7.5 15zM160 128c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zm96 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zm96 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32z\", \"M606.3 247.2c3.4-6.7 1.6-14.9-4.2-19.6s-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L449.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H553.9l52.4-104.8z\"]]\n};\nvar faUserDoctor = {\n prefix: 'fad',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", [\"M352 128A128 128 0 1 1 96 128a128 128 0 1 1 256 0z\", \"M280 304c2.7 0 5.3 .1 8 .2V362c-27.6 7.1-48 32.2-48 62v40c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16V424c0-17.7 14.3-32 32-32s32 14.3 32 32v24c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V424c0-29.8-20.4-54.9-48-62V308.8C393.5 326.7 448 393 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-79 54.5-145.3 128-163.2v61.5c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V304.2c2.7-.1 5.3-.2 8-.2H280zM144 400a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faUserMd = faUserDoctor;\nvar faSlashBack = {\n prefix: 'fad',\n iconName: 'slash-back',\n icon: [320, 512, [], \"5c\", [\"M16.1 4.2C.8 13-4.6 32.5 4.2 47.9l256 448c8.8 15.3 28.3 20.7 43.7 11.9s20.7-28.3 11.9-43.7l-256-448C51 .8 31.5-4.6 16.1 4.2z\", \"\"]]\n};\nvar faCircleInfo = {\n prefix: 'fad',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M256 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V272H216c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faInfoCircle = faCircleInfo;\nvar faFishingRod = {\n prefix: 'fad',\n iconName: 'fishing-rod',\n icon: [448, 512, [], \"e3a8\", [\"M287 49.2c2.9-.8 5.8-1.2 8.8-1.2C313.6 48 328 62.4 328 80.1V136c0 13.3 10.7 24 24 24s24-10.7 24-24V80.1C376 35.9 340.1 0 295.9 0c-7.4 0-14.9 1-22 3.1L196.7 25.1C103.9 51.6 40 136.4 40 232.8V288H32c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H88V232.8c0-75 49.7-140.9 121.8-161.5L287 49.2z\", \"M345 195.9c-33.5 20.3-89 76.6-89 148.1c0 32 16 80 64 112l-27.3 27.3c-3 3-4.7 7.1-4.7 11.3V496c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-1.4c0-4.2-1.7-8.3-4.7-11.3L384 456c48-32 64-80 64-112c0-71.6-55.6-127.8-89-148.1c-4.3-2.6-9.6-2.6-14 0zM360 288a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faHammerCrash = {\n prefix: 'fad',\n iconName: 'hammer-crash',\n icon: [640, 512, [], \"e414\", [\"M302.2 318.4l-18.3 60.1c-1.9 6.3 .2 13.1 5.3 17.2s12.2 4.6 17.9 1.4l91.4-52.2 59.7 86.8c3.7 5.4 10.3 8 16.7 6.5s11.2-6.7 12.2-13.1l16.2-104.1 105.1 7.4c6.5 .5 12.7-3.1 15.5-9s1.8-12.9-2.6-17.8L550.1 224l71.3-77.5c4.4-4.8 5.5-11.9 2.6-17.8s-9-9.5-15.5-9l-105.1 7.4L487.3 23c-1-6.5-5.9-11.7-12.2-13.1s-13 1.1-16.7 6.5L405.6 93c12 18.4 14.2 42.5 3.7 63.6l-64 128c-8.9 17.8-25 29.7-43.1 33.8z\", \"M43.4 33.7C48.8 22.8 59.9 16 72 16H192c5 0 9.9 1.2 14.3 3.4l160 80c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-7.9 15.8-27.1 22.2-42.9 14.3l-65.9-32.9 0 0L122 208.8l0 0L17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80zM5.1 442.5L107.6 237.4l85.9 42.9L90.9 485.5c-11.9 23.7-40.7 33.3-64.4 21.5S-6.8 466.2 5.1 442.5z\"]]\n};\nvar faMessageHeart = {\n prefix: 'fad',\n iconName: 'message-heart',\n icon: [512, 512, [], \"e5c9\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM144 173.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\", \"M205.3 112c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]]\n};\nvar faCloudMeatball = {\n prefix: 'fad',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", [\"M221.2 320c-12.5-11.7-32.2-11.4-44.4 .8c-12.5 12.5-12.5 32.8 0 45.3c.7 .7 1.5 1.4 2.3 2.1c-1-.1-2.1-.1-3.1-.1c-17.7 0-32 14.3-32 32s14.3 32 32 32c1 0 2.1-.1 3.1-.1c-.8 .7-1.6 1.3-2.3 2.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0c.7-.7 1.4-1.5 2.1-2.3c-.1 1-.1 2.1-.1 3.1c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1-.1-2.1-.1-3.1c.7 .8 1.3 1.6 2.1 2.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3c-.7-.7-1.5-1.4-2.3-2.1c1 .1 2.1 .1 3.1 .1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1 0-2.1 .1-3.1 .1c.8-.7 1.6-1.3 2.3-2.1c12.5-12.5 12.5-32.8 0-45.3c-12.2-12.2-31.9-12.5-44.4-.8H288c0-17.7-14.3-32-32-32s-32 14.3-32 32h-2.8zM48 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm416 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96H371.3c-9.5-23.5-32.5-40-59.3-40c-2 0-3.9 .1-5.8 .3C294.4 265.5 276.3 256 256 256s-38.4 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-26.9 0-49.9 16.5-59.3 40H96z\"]]\n};\nvar faCameraPolaroid = {\n prefix: 'fad',\n iconName: 'camera-polaroid',\n icon: [576, 512, [], \"f8aa\", [\"M288 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM0 361.7c0-3.3 .2-6.5 .7-9.7H575.3c.5 3.2 .7 6.4 .7 9.7V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V361.7zM112 400c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M64 96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V246.3l53.3 79.9c5.2 7.8 8.6 16.6 10 25.8H.7c1.4-9.2 4.8-18 10-25.8L64 246.3V96zM288 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM448 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faCamera = {\n prefix: 'fad',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", [\"M256 384a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\", \"M149.1 64.8L138.7 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H373.3L362.9 64.8C356.4 45.2 338.1 32 317.4 32H194.6c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'fad',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM223.8 93.7c13.3 0 24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24z\", \"M247.8 117.7c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 29.3-35.4 43.9-56.1 23.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.7 20.7 6 56.1-23.2 56.1c-13.3 0-24 10.7-24 24s10.7 24 24 24c29.3 0 43.9 35.4 23.2 56.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.7-20.7 56.1-6 56.1 23.2c0 13.3 10.7 24 24 24s24-10.7 24-24c0-29.3 35.4-43.9 56.1-23.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-20.7-20.7-6-56.1 23.2-56.1c13.3 0 24-10.7 24-24s-10.7-24-24-24c-29.3 0-43.9-35.4-23.2-56.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-20.7 20.7-56.1 6-56.1-23.2zM160 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faCartArrowUp = {\n prefix: 'fad',\n iconName: 'cart-arrow-up',\n icon: [576, 512, [], \"e3ee\", [\"M312 288H170.7L124.5 45.5c-.9-4.8-2.4-9.3-4.4-13.5h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H360l0-110.1 23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23L312 288z\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5l-51.6-271C119.5 19.1 96.4 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM312 177.9L312 288h48V177.9l23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23z\"]]\n};\nvar faMeteor = {\n prefix: 'fad',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", [\"M493.7 .9L299.4 75.6l2.3-29.3c1-12.8-12.8-21.5-24-15.1L101.3 133.4C38.6 169.7 0 236.6 0 309C0 421.1 90.9 512 203 512c72.4 0 139.4-38.6 175.7-101.3L480.8 234.3c6.5-11.1-2.2-25-15.1-24l-29.3 2.3L511.1 18.3c.6-1.5 .9-3.2 .9-4.8C512 6 506 0 498.5 0c-1.7 0-3.3 .3-4.8 .9zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\", \"M64 320a128 128 0 1 1 256 0A128 128 0 1 1 64 320zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faCarOn = {\n prefix: 'fad',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", [\"M256 0c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM39 39c9.4-9.4 24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L39 73c-9.4-9.4-9.4-24.6 0-33.9zm400 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48-48z\", \"M170.8 234.6L151.7 288H360.3l-19.1-53.4c-2.3-6.4-8.3-10.6-15.1-10.6H185.8c-6.8 0-12.8 4.3-15.1 10.6zM82.2 292.4l28.3-79.3C121.9 181.3 152 160 185.8 160H326.2c33.8 0 64 21.3 75.3 53.1l28.3 79.3c20.1 8.5 34.2 28.4 34.2 51.6v40 64 32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H128v32c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V448 384 344c0-23.2 14.1-43.1 34.2-51.6zM152 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faSleigh = {\n prefix: 'fad',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", [\"M608 352c17.7 0 32 14.3 32 32v8c0 48.6-39.4 88-88 88H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H552c13.3 0 24-10.7 24-24v-8c0-17.7 14.3-32 32-32z\", \"M0 64C0 46.3 14.3 32 32 32H55h9c2.3 0 4.6 .2 6.7 .7c54.2 4.9 103.5 34.9 132.7 81.6l4.3 6.9c40 64 110.1 102.9 185.6 102.9c30.2 0 54.7-24.5 54.7-54.7V128c0-17.7 14.3-32 32-32h32 32c17.7 0 32 14.3 32 32s-14.3 32-32 32v96c0 53-43 96-96 96v64H384V352H192v64H128V352c-53 0-96-43-96-96V96C14.3 96 0 81.7 0 64z\"]]\n};\nvar faArrowDown19 = {\n prefix: 'fad',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", [\"M464 64v96h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H432 384c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V108.4l-5.9 2c-16.8 5.6-34.9-3.5-40.5-20.2s3.5-34.9 20.2-40.5l48-16c9.8-3.3 20.5-1.6 28.8 4.4s13.3 15.7 13.3 26zM445.7 364.9A32 32 0 1 0 418.3 307a32 32 0 1 0 27.4 57.9zm-40.7 54.9C369.6 408.4 344 375.2 344 336c0-48.6 39.4-88 88-88s88 39.4 88 88c0 23.5-7.5 46.3-21.5 65.2L449.7 467c-10.5 14.2-30.6 17.2-44.8 6.7s-17.2-30.6-6.7-44.8l6.8-9.2z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faBuoyMooring = {\n prefix: 'fad',\n iconName: 'buoy-mooring',\n icon: [576, 512, [], \"e5b6\", [\"M288 0c-17.7 0-32 14.3-32 32V68.7c-38 11.5-67.8 43.2-75.9 83.7L153 288H423L395.9 152.5C387.8 111.9 358 80.3 320 68.7V32c0-17.7-14.3-32-32-32zm18.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\", \"M153 288L131.5 395.2c.4 .3 .9 .6 1.3 .9c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c.4-.3 .9-.6 1.3-.9L423 288H357.8 218.2 153z\"]]\n};\nvar faSquare4 = {\n prefix: 'fad',\n iconName: 'square-4',\n icon: [448, 512, [], \"e259\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm191.6 33.2c-12.6-4.2-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H240v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H169.3l37.5-112.4c4.2-12.6-2.6-26.2-15.2-30.4z\", \"M206.8 159.6c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H240v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H169.3l37.5-112.4z\"]]\n};\nvar faHandHoldingDroplet = {\n prefix: 'fad',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M209.2 103L275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3z\"]]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faTricycleAdult = {\n prefix: 'fad',\n iconName: 'tricycle-adult',\n icon: [640, 512, [], \"e5c4\", [\"M94.1 117.2c-6-16.6-24.3-25.3-40.9-19.3s-25.3 24.3-19.3 40.9l14.9 41.7c9.4 26.2 31.7 45.6 58.9 51.3l77.7 16.3c17.3 3.6 34.3-7.4 37.9-24.7s-7.4-34.3-24.7-37.9l-77.7-16.3c-5.4-1.1-9.9-5-11.8-10.3L94.1 117.2zM96 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144c17.5 0 33.9-4.7 48-12.8c14.1 8.2 30.5 12.8 48 12.8c53 0 96-43 96-96c0-4.1-.3-8.2-.8-12.2l-52.8-10.3c3.6 6.7 5.6 14.4 5.6 22.5c0 26.5-21.5 48-48 48c-4.1 0-8.2-.5-12-1.5c7.6-13.8 12-29.6 12-46.5c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm400-96a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm144 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\", \"M312 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h31.4c2.6 0 5 1.3 6.5 3.4l79.2 112.5-48.2 64.3c-5.6 7.5-14.4 11.9-23.7 11.9c-1.9 0-3.8-.2-5.7-.5l-322.9-63c-13-2.5-25.6 6-28.2 19s6 25.6 19 28.2l4.6 .9C41.6 268.6 67.4 256 96 256c41.9 0 77.5 26.8 90.6 64.2l155.7 30.4c4.9 1 9.9 1.4 14.9 1.4c24.4 0 47.4-11.5 62.1-31.1l38.8-51.8 13.7 19.5c10.6-12.1 24.2-21.5 39.7-27L389.2 87.8C378.7 72.9 361.6 64 343.4 64H312z\"]]\n};\nvar faWaveform = {\n prefix: 'fad',\n iconName: 'waveform',\n icon: [640, 512, [], \"f8f1\", [\"M320 0c12 0 22.1 8.8 23.8 20.7l42 304.4L424.3 84.2c1.9-11.7 12-20.3 23.9-20.2s21.9 8.9 23.6 20.6l28.2 197.3 20.5-102.6c2.2-10.8 11.3-18.7 22.3-19.3s20.9 6.4 24.2 16.9L593.7 264H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c-10.5 0-19.8-6.9-22.9-16.9l-4.1-13.4-29.4 147c-2.3 11.5-12.5 19.6-24.2 19.3s-21.4-9-23.1-20.6L446.7 248.3l-39 243.5c-1.9 11.7-12.1 20.3-24 20.2s-21.9-8.9-23.5-20.7L320 199.6 279.8 491.3c-1.6 11.8-11.6 20.6-23.5 20.7s-22.1-8.5-24-20.2l-39-243.5L167.8 427.4c-1.7 11.6-11.4 20.3-23.1 20.6s-21.9-7.8-24.2-19.3l-29.4-147-4.1 13.4C83.8 305.1 74.5 312 64 312H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H46.3l26.8-87.1c3.2-10.5 13.2-17.5 24.2-16.9s20.2 8.5 22.3 19.3l20.5 102.6L168.2 84.6c1.7-11.7 11.7-20.5 23.6-20.6s22 8.5 23.9 20.2l38.5 240.9 42-304.4C297.9 8.8 308 0 320 0z\", \"\"]]\n};\nvar faWater = {\n prefix: 'fad',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", [\"M269.5 213.9c11.1-7.9 25.9-7.9 37 0C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1z\", \"M306.5 69.9c-11.1-7.9-25.9-7.9-37 0C247 85.4 219.5 96 192 96c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7C61 83.5 42.8 92.6 24.7 96.8c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 149.7 159 160 192 160c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 85.2 410.9 96 384 96c-27.5 0-55-10.6-77.5-26.1zM384 384c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 373.4 219.5 384 192 384c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 437.7 159 448 192 448c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 373.2 410.9 384 384 384z\"]]\n};\nvar faStarSharpHalfStroke = {\n prefix: 'fad',\n iconName: 'star-sharp-half-stroke',\n icon: [576, 512, [\"star-sharp-half-alt\"], \"e28d\", [\"M288 406.4l0 0 112.2 87.3 .3 .3 3.7 2.9 13 10.1c8.3 6.5 19.8 6.8 28.5 .7s12.3-16.9 9.1-27l-5-15.7-1.4-4.5-.1-.4L403.9 320.7l114-88.7 .1-.1 2-1.5 14.7-11.5c8.1-6.3 11.3-17 8-26.7s-12.4-16.2-22.7-16.2H501.3h-2.5-.1H361.6L317.4 37.2l-.1-.3-1.3-4-5.2-16.2C307.7 6.8 298.5 0 288 0c0 0 0 0 0 0V129.5l0 0L308.2 193l12.4 39h41 65.2l-57.2 44.5-30.8 24 11.8 37.2 19.7 61.8-47.9-37.2L288 335.5l0 0v70.9z\", \"M254.4 50.4L214.5 176H90.3 88 74.7 56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L56 230.4l10.5 8.2 1.8 1.4 103.7 80.7L132 446.7l-1.1 3.5L126.1 465l-5 15.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7l13-10.1 12.3-9.5 2.9-2.3L288 406.4V325.3 155.9 0c-10.5 0-19.7 6.8-22.9 16.7L260 32.9l0 0-4.6 14.3-1 3.2z\"]]\n};\nvar faStarSharpHalfAlt = faStarSharpHalfStroke;\nvar faNfcSignal = {\n prefix: 'fad',\n iconName: 'nfc-signal',\n icon: [512, 512, [], \"e1fb\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H224.1c.7-22.1 4-43.6 9.8-64H112c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H245.3c21.9-51.1 59.5-93.9 106.7-122.3V144c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48V245.3c20.2-8.7 41.6-14.9 64-18.3V96c0-35.3-28.7-64-64-64H64z\", \"M512 280c0-13.3-10.7-24-24-24c-128.1 0-232 103.9-232 232c0 13.3 10.7 24 24 24s24-10.7 24-24c0-101.6 82.4-184 184-184c13.3 0 24-10.7 24-24zM448 480a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40-128c-75.1 0-136 60.9-136 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-48.6 39.4-88 88-88c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]]\n};\nvar faPlaneProp = {\n prefix: 'fad',\n iconName: 'plane-prop',\n icon: [576, 512, [], \"e22b\", [\"M231.7 317.6L254.2 498c1 8 7.8 14 15.9 14h35.8c8.1 0 14.9-6 15.9-14L344 320H256l-24.3-2.4zm0-123.1L256 192h88L321.8 14c-1-8-7.8-14-15.9-14H270.1c-8.1 0-14.9 6-15.9 14L231.7 194.4z\", \"M231.7 317.6L256 320h88l138.3 0c34.2 0 93.7-28 93.7-64c0-35-59.5-64-93.7-64H344 256l-24.3 2.4-110 11L113.8 142c-1-8-7.8-14-15.9-14H62.1c-8.1 0-14.9 6-15.9 14L36 224.2c-1.3-.2-2.6-.2-4-.2c-17.7 0-32 14.3-32 32s14.3 32 32 32c1.3 0 2.7-.1 4-.2L46.2 370c1 8 7.8 14 15.9 14H97.9c8.1 0 14.9-6 15.9-14l7.9-63.4 110 11zM336 128h32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V112c8.8 0 16-7.2 16-16s-7.2-16-16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H328l8 64zM248 64H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h16l8-64zm-8 320H224c-17.7 0-32 14.3-32 32s14.3 32 32 32h24l-8-64zm88 64h40v16c0 8.8 7.2 16 16 16s16-7.2 16-16V432c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H336l-8 64z\"]]\n};\nvar faCalendarCheck = {\n prefix: 'fad',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", [\"M448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM329 305L217 417c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z\"]]\n};\nvar faClockDesk = {\n prefix: 'fad',\n iconName: 'clock-desk',\n icon: [448, 512, [], \"e134\", [\"M224 448A224 224 0 1 0 224 0a224 224 0 1 0 0 448zm24-328v94.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M248 120c0-13.3-10.7-24-24-24s-24 10.7-24 24V224c0 6.4 2.5 12.5 7 17l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41-41V120zM448 224c0 123.7-100.3 224-224 224S0 347.7 0 224V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V224z\"]]\n};\nvar faCalendarClock = {\n prefix: 'fad',\n iconName: 'calendar-clock',\n icon: [576, 512, [\"calendar-time\"], \"e0d2\", [\"M432 192H0V464c0 26.5 21.5 48 48 48H330.8C285.6 480.1 256 427.5 256 368c0-97.2 78.8-176 176-176zm0 0c5.4 0 10.7 .2 16 .7V192H432z\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]]\n};\nvar faCalendarTime = faCalendarClock;\nvar faBraille = {\n prefix: 'fad',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", [\"M592 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zM224 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm240 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM576 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm16 224a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-80 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M64 160A64 64 0 1 0 64 32a64 64 0 1 0 0 128zm0 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM288 96A64 64 0 1 0 160 96a64 64 0 1 0 128 0zm128 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'fad',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", [\"M352 96H32V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V96zM160 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V320H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\", \"M32 0C14.3 0 0 14.3 0 32V64C0 81.7 14.3 96 32 96H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM160 208v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H224V208c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faPlateUtensils = {\n prefix: 'fad',\n iconName: 'plate-utensils',\n icon: [640, 512, [58713], \"e43b\", [\"M152 383.8C192.5 441.9 259.8 480 336 480c89.4 0 166.6-52.4 202.6-128.2c-23.9-2-44-17.2-53.2-38.2C462.2 373.5 404.1 416 336 416c-88.4 0-160-71.6-160-160c0-.2 0-.4 0-.6c-7.4 4.8-15.5 8.6-24 11.4V383.8zm69.4-239.4C250.5 114.5 291.1 96 336 96c63.3 0 118.1 36.8 144 90.2V160c0-25 4.3-46.7 11.3-65.5C451 55.8 396.3 32 336 32c-48.9 0-94.2 15.7-131.1 42.3l16.3 69.2c.1 .3 .1 .5 .2 .8zM464 256a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\", \"M48 23.5c-.2-4-3.3-7.2-7.3-7.5s-7.6 2.3-8.5 6.1L1.9 150.9C.6 156.3 0 161.9 0 167.5c0 39.9 32.2 72.2 72 72.5V472c0 13.3 10.7 24 24 24s24-10.7 24-24V240c39.8-.3 72-32.6 72-72.5c0-5.6-.6-11.2-1.9-16.6L159.8 22.2c-.9-3.9-4.5-6.5-8.5-6.1s-7.1 3.5-7.3 7.5L136.5 152H119.1L103.9 23.1c-.5-4-3.9-7.1-7.9-7.1s-7.5 3-7.9 7.1L72.9 152H55.5L48 23.5zM512 160V288c0 17.7 14.3 32 32 32h48V472c0 13.3 10.7 24 24 24s24-10.7 24-24V320 216 36.9c0-11.5-9.3-20.9-20.9-20.9c-2.1 0-4.1 .3-6.1 1C596.2 23.2 512 59.2 512 160z\"]]\n};\nvar faFamilyPants = {\n prefix: 'fad',\n iconName: 'family-pants',\n icon: [512, 512, [], \"e302\", [\"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM25.9 233.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c13.5 0 25.7-5.6 34.4-14.5c-1.6-5.5-2.4-11.4-2.4-17.5V423.6c-19.6-17.6-32-43.1-32-71.6V336c0-43.1 24.3-80.5 60-99.2c-17.1-14.7-28-36.5-28-60.8c0-3.9 .3-7.8 .8-11.5c-8.3-2.9-17.2-4.5-26.4-4.5H105.6c-41.6 0-76.3 31.9-79.7 73.4zM333.6 497.5c8.7 9 20.9 14.5 34.4 14.5h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C482.7 191.9 448 160 406.4 160H361.6c-9.2 0-18.1 1.6-26.4 4.5c.5 3.8 .8 7.6 .8 11.5c0 24.3-10.9 46.1-28 60.8c35.7 18.7 60 56.1 60 99.2v16c0 28.4-12.4 54-32 71.6V480c0 6.1-.8 11.9-2.4 17.5zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0z\", \"M208 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM176 336c0-44.2 35.8-80 80-80s80 35.8 80 80v16c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V407.4c-19.1-11.1-32-31.7-32-55.4V336z\"]]\n};\nvar faHoseReel = {\n prefix: 'fad',\n iconName: 'hose-reel',\n icon: [640, 512, [], \"e41a\", [\"M128 256c0-106 86-192 192-192s192 86 192 192v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256C576 114.6 461.4 0 320 0S64 114.6 64 256s114.6 256 256 256c54.3 0 104.8-17 146.3-45.9c14.5-10.1 18-30.1 7.9-44.6s-30.1-18-44.6-7.9C398.6 435.3 360.8 448 320 448c-106 0-192-86-192-192zm192 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM160 256a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm224 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\", \"M480 376c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.3l-11.5 80.2c7.8 1.1 13.7 7.8 13.7 15.8c0 8.8-7.2 16-16 16H520c-8.8 0-16-7.2-16-16c0-8.1 6-14.7 13.7-15.8L506.3 400H504c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faHouseWindow = {\n prefix: 'fad',\n iconName: 'house-window',\n icon: [576, 512, [], \"e3b3\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H128.1c-35.3 0-64-28.6-64-64zM248 240c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H248z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9l256 224c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224z\"]]\n};\nvar faLandmark = {\n prefix: 'fad',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", [\"M128 192H64V420.3c-.6 .3-1.2 .7-1.7 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V192H384V416H344V192H280V416H232V192H168V416H128V192z\", \"M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128c-12.6 7.2-18.8 22-15.1 36S17.5 192 32 192H480c14.5 0 27.2-9.8 30.9-23.8s-2.5-28.8-15-36l-224-128z\"]]\n};\nvar faTruck = {\n prefix: 'fad',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", [\"M176 512a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm288 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M48 0C21.5 0 0 21.5 0 48V368c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h66.3c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H576h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288 256 237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H48zM416 160h50.7L544 237.3V256H416V160z\"]]\n};\nvar faCrosshairs = {\n prefix: 'fad',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", [\"M42.4 224C56.3 130.3 130.3 56.3 224 42.4v65C165.7 119.9 119.9 165.7 107.4 224h-65zm0 64h65c12.5 58.3 58.4 104.1 116.6 116.6v65C130.3 455.7 56.3 381.7 42.4 288zM288 469.6v-65c58.3-12.5 104.1-58.4 116.6-116.6h65c-13.9 93.7-88 167.7-181.6 181.6zM469.6 224h-65C392.1 165.7 346.3 119.9 288 107.4v-65c93.7 13.9 167.7 88 181.6 181.6z\", \"M256 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm256 32H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32zM256 352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7 14.3-32 32-32zM128 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]]\n};\nvar faCloudRainbow = {\n prefix: 'fad',\n iconName: 'cloud-rainbow',\n icon: [576, 512, [], \"f73e\", [\"M560 64.4c8.8-.5 16-7.6 16-16.4V16c0-8.8-7.2-16-16-15.6C430.9 6.1 319.9 81.4 263.6 189.7c6.5 5 12.5 10.4 18 16.4c16.1-9 34.7-14.1 54.4-14.1c.2 0 .3 0 .5 0C385.4 119 466.8 69.5 560 64.4zM424 234.7c32.1-41.5 80.7-69.5 136-74c8.8-.7 16-7.8 16-16.7V112c0-8.8-7.2-16.1-16-15.5c-76.9 4.7-144.6 43.4-188.4 101.3c20.9 7 39 20 52.3 36.9zm23.4 57.2c15.2 3.8 29.3 10.4 41.8 19.1c13.2-27.9 39.5-48.4 70.9-53.7c8.7-1.5 15.9-8.5 15.9-17.3V208c0-8.8-7.2-16.1-16-15.2c-49.9 4.9-93 32.8-118.8 72.9c3 8.3 5.1 17.1 6.1 26.2zm-165.8 110c-13.8 14.9-30.8 26.9-49.9 34.9c5.9 6.8 14.6 11.2 24.3 11.2c17.5 0 31.7-14 32-31.4l0-.6 0-1.4v-9.3c-2.2-1-4.3-2.1-6.4-3.3z\", \"M0 416c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28c-18.7-35.7-56.1-60-99.2-60c-61.9 0-112 50.1-112 112c0 7.1 .7 14.1 1.9 20.8C27.6 337.4 0 373.5 0 416z\"]]\n};\nvar faPersonCane = {\n prefix: 'fad',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", [\"M360 368c-4.4 0-8 3.6-8 8v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-30.9 25.1-56 56-56s56 25.1 56 56V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-4.4-3.6-8-8-8z\", \"M176 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM120 256.9L91.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6H213c28.6 0 55.6 12.7 73.9 34.7l73.7 88.9c11.3 13.6 9.4 33.8-4.2 45.1s-33.8 9.4-45.1-4.2L264 235.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H184V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9z\"]]\n};\nvar faAlien = {\n prefix: 'fad',\n iconName: 'alien',\n icon: [448, 512, [128125], \"f8f5\", [\"M224 0C100.3 0 0 100.3 0 224C0 359.3 148.8 471.7 194.7 503.2c8.6 5.9 18.9 8.8 29.3 8.8s20.7-2.9 29.3-8.8C299.2 471.7 448 359.3 448 224C448 100.3 347.7 0 224 0zm32 306.3c0-45.4 36.8-82.3 82.3-82.3h32c7.6 0 13.7 6.1 13.7 13.7c0 45.4-36.8 82.3-82.3 82.3h-32c-7.6 0-13.7-6.1-13.7-13.7zM109.7 224c45.4 0 82.3 36.8 82.3 82.3c0 7.6-6.1 13.7-13.7 13.7h-32C100.8 320 64 283.2 64 237.7c0-7.6 6.1-13.7 13.7-13.7h32z\", \"M109.7 224c45.4 0 82.3 36.8 82.3 82.3c0 7.6-6.1 13.7-13.7 13.7h-32C100.8 320 64 283.2 64 237.7c0-7.6 6.1-13.7 13.7-13.7h32zm228.6 0h32c7.6 0 13.7 6.1 13.7 13.7c0 45.4-36.8 82.3-82.3 82.3h-32c-7.6 0-13.7-6.1-13.7-13.7c0-45.4 36.8-82.3 82.3-82.3z\"]]\n};\nvar faTent = {\n prefix: 'fad',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", [\"M269.4 6C280.5-2 295.5-2 306.6 6l224 160c7.4 5.3 12.2 13.5 13.2 22.5l32 288c1 9-1.9 18.1-8 24.9s-14.7 10.7-23.8 10.7H448L288 256V512H32c-9.1 0-17.8-3.9-23.8-10.7s-9-15.8-8-24.9l32-288c1-9 5.8-17.2 13.2-22.5L269.4 6z\", \"M288 256V512H448L288 256z\"]]\n};\nvar faLaptopBinary = {\n prefix: 'fad',\n iconName: 'laptop-binary',\n icon: [640, 512, [], \"e5e7\", [\"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\", \"M512 96H128V352h64V304c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v64h80 64 48V304c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v64h64V96zM368 352V312c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40v40l32 0V312c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v40l32 0zM200 128h16c22.1 0 40 17.9 40 40v32c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm-8 40v32c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8zm112-40h16c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm80 40c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v32c0 22.1-17.9 40-40 40H424c-22.1 0-40-17.9-40-40V168zm40-8c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H424z\"]]\n};\nvar faVestPatches = {\n prefix: 'fad',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", [\"M224 88c-31.4 0-55.4-8.3-72.8-18.3L131.6 10.9C129.5 4.6 123.7 .3 117.1 0c.4 0 .8 0 1.2 0c18.8 0 34.1 9.7 44.1 18.8C171.6 27.2 190.8 40 224 40s52.4-12.8 61.7-21.2C295.7 9.7 311 0 329.7 0c.4 0 .8 0 1.2 0c-6.6 .3-12.4 4.6-14.6 10.9L296.8 69.7C279.4 79.7 255.4 88 224 88zm80 200v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H320c-8.8 0-16-7.2-16-16V288zM56 416a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\", \"M207.1 237.4l-11 33.1c-2.7 8.2-4.1 16.7-4.1 25.3V464c0 14.5 3.9 28.2 10.7 39.9C195 509 185.9 512 176 512H48c-26.5 0-48-21.5-48-48V270.5c0-9.5 2.8-18.7 8.1-26.6l47.9-71.8c5.3-7.9 8.1-17.1 8.1-26.6V48C64 21.5 85.5 0 112 0h4.5c6.9 0 13 4.4 15.2 10.9l75.5 226.5zM224 464V295.8c0-5.2 .8-10.3 2.5-15.2L316.4 10.9C318.5 4.4 324.6 0 331.5 0H336c26.5 0 48 21.5 48 48v97.5c0 9.5 2.8 18.7 8.1 26.6l47.9 71.8c5.3 7.9 8.1 17.1 8.1 26.6V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48zM96 456a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM63.5 255.5c-4.7 4.7-4.7 12.3 0 17L79 288 63.5 303.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L96 305l15.5 15.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L113 288l15.5-15.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L96 271 80.5 255.5c-4.7-4.7-12.3-4.7-17 0zM304 280v8 32c0 8.8 7.2 16 16 16h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]]\n};\nvar faPeopleDressSimple = {\n prefix: 'fad',\n iconName: 'people-dress-simple',\n icon: [512, 512, [], \"e218\", [\"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm256 0A64 64 0 1 0 384 0a64 64 0 1 0 0 128z\", \"M50.7 206.4c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H192v80c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4zm256 0c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448v80c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V384H298.4c-21.3 0-36.6-20.3-30.8-40.8l39.1-136.8z\"]]\n};\nvar faCheckDouble = {\n prefix: 'fad',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", [\"M342.6 41.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 178.7 297.4 41.4c12.5-12.5 32.8-12.5 45.3 0z\", \"M438.6 169.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 402.7 393.4 169.4c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faArrowDownAZ = {\n prefix: 'fad',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", [\"M416 32c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 224H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128C392.8 38.8 403.9 32 416 32zM395.8 176h40.4L416 135.6 395.8 176zM352 352c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 416H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 352H352z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faBowlingBallPin = {\n prefix: 'fad',\n iconName: 'bowling-ball-pin',\n icon: [576, 512, [], \"e0c3\", [\"M416 64v1.1c0 7.4 1 14.8 2.9 22l17.7 64.8c.7 2.7 1.3 5.4 1.8 8.1h83.1c.5-2.7 1.1-5.4 1.8-8.1L541 87.1c2-7.2 3-14.6 3-22V64c0-35.3-28.7-64-64-64s-64 28.7-64 64zm22.8 128c-1 6.3-2.6 12.4-4.8 18.4l-2.4 6.5c10.5 27 16.3 56.4 16.3 87.1c0 53.8-17.7 103.4-47.5 143.4l17.8 44.5C423.1 504 434.9 512 448 512h64c13.1 0 24.9-8 29.7-20.1L564.5 435c7.6-19.1 11.5-39.4 11.5-59.9c0-19-3.4-37.9-10-55.8L525.9 210.4c-2.2-6-3.8-12.1-4.8-18.4H438.8zM196 200a28 28 0 1 0 0-56 28 28 0 1 0 0 56zm28 60a28 28 0 1 0 -56 0 28 28 0 1 0 56 0zM124 248a28 28 0 1 0 0-56 28 28 0 1 0 0 56z\", \"M0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zM224 172a28 28 0 1 0 -56 0 28 28 0 1 0 56 0zM196 288a28 28 0 1 0 0-56 28 28 0 1 0 0 56zm-44-68a28 28 0 1 0 -56 0 28 28 0 1 0 56 0zm286.5-60h83.1c-1 5.7-1.5 11.4-1.5 17.2c0 5 .4 9.9 1.2 14.8H438.8c.8-4.9 1.2-9.9 1.2-14.8c0-5.8-.5-11.5-1.5-17.2z\"]]\n};\nvar faBellSchoolSlash = {\n prefix: 'fad',\n iconName: 'bell-school-slash',\n icon: [640, 512, [], \"f5d6\", [\"M570.7 422c3.4-6.6 5.3-14.1 5.3-22c0-26.5-21.5-48-48-48c-12.1 0-23.1 4.5-31.5 11.8L570.7 422zM445 323.5c22.1-33 35-72.8 35-115.5C480 93.1 386.9 0 272 0C211.2 0 156.6 26.1 118.5 67.6L220 147.2c14-11.9 32.1-19.2 52-19.2c44.2 0 80 35.8 80 80c0 12.9-3.1 25.1-8.5 35.9L445 323.5zm-127.6-100c1.7-4.9 2.6-10.1 2.6-15.5c0-26.5-21.5-48-48-48c-9.5 0-18.4 2.8-25.9 7.6l71.3 55.9zm190.9 273L465.8 463c-3.2 .7-6.4 1-9.8 1H416V423.8l-16.1-12.7C362.9 434.5 319 448 272 448c-54 0-103.9-17.9-144-48v64c0 26.5 21.5 48 48 48H384h32 40c19.3 0 37.3-5.7 52.3-15.5zM373 389.9L71.5 152.4C66.6 170.1 64 188.7 64 208c0 114.9 93.1 208 208 208c36.7 0 71.1-9.5 101-26.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faPlusLarge = {\n prefix: 'fad',\n iconName: 'plus-large',\n icon: [512, 512, [], \"e59e\", [\"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H224V480c0 17.7 14.3 32 32 32s32-14.3 32-32V288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V32z\", \"\"]]\n};\nvar faMoneyBillWheat = {\n prefix: 'fad',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", [\"M48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM96 464H48V416c26.5 0 48 21.5 48 48zM48 352V304H96c0 26.5-21.5 48-48 48zM416 464c0-26.5 21.5-48 48-48v48H416zm48-112c-26.5 0-48-21.5-48-48h48v48zM256 320a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M160 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zM32 40c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 64 32 53.3 32 40zM0 112C0 98.7 10.7 88 24 88H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm56 48h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM288 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80c0-8.8 7.2-16 16-16zm96 16c0-8.8 7.2-16 16-16c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16c-44.2 0-80-35.8-80-80zm80 112c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-96 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16zM240 128c8.8 0 16 7.2 16 16c0 44.2-35.8 80-80 80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\"]]\n};\nvar faCameraViewfinder = {\n prefix: 'fad',\n iconName: 'camera-viewfinder',\n icon: [512, 512, [\"screenshot\"], \"e0da\", [\"M24 0C10.7 0 0 10.7 0 24V136c0 13.3 10.7 24 24 24s24-10.7 24-24V48h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM488 0H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM0 488c0 13.3 10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V376c0-13.3-10.7-24-24-24s-24 10.7-24 24V488zm488 24c13.3 0 24-10.7 24-24V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H376c-13.3 0-24 10.7-24 24s10.7 24 24 24H488z\", \"M186.2 111.6L180 128H144c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H332l-6.2-16.4c-3.5-9.4-12.5-15.6-22.5-15.6H208.6c-10 0-19 6.2-22.5 15.6zM256 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]]\n};\nvar faScreenshot = faCameraViewfinder;\nvar faMessageMusic = {\n prefix: 'fad',\n iconName: 'message-music',\n icon: [512, 512, [\"comment-alt-music\"], \"f8af\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM352 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V187.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V128 96z\", \"M345.1 82.8c4.3 3 6.9 7.9 6.9 13.2v32V256c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V151.1l-96 36V288c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V176 144c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8z\"]]\n};\nvar faCommentAltMusic = faMessageMusic;\nvar faCarBuilding = {\n prefix: 'fad',\n iconName: 'car-building',\n icon: [640, 512, [], \"f859\", [\"M0 48C0 21.5 21.5 0 48 0H272c26.5 0 48 21.5 48 48v88.4c-29.5 12.1-53.1 36.6-63.7 68.2l-.5 1.4c-1-7.9-7.7-14-15.9-14H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h31.2l-5.6 16.9C208.5 290.2 192 319.2 192 352v96 32H48c-26.5 0-48-21.5-48-48V48zM64 208v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm0-96v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM208 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H208zM64 304v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16z\", \"M347.4 234.9L329.7 288H534.3l-17.7-53.1c-2.2-6.5-8.3-10.9-15.2-10.9H362.6c-6.9 0-13 4.4-15.2 10.9zm-87.3 59.4l26.6-79.7C297.6 182 328.2 160 362.6 160H501.4c34.4 0 65 22 75.9 54.7l26.6 79.7C625.2 304.7 640 326.6 640 352v96h0v32c0 17.7-14.3 32-32 32H592c-17.7 0-32-14.3-32-32V448H304v32c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V448h0V352c0-25.4 14.8-47.3 36.1-57.6zM328 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faBorderBottomRight = {\n prefix: 'fad',\n iconName: 'border-bottom-right',\n icon: [448, 512, [\"border-style-alt\"], \"f854\", [\"M32 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM128 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\", \"M416 32c17.7 0 32 14.3 32 32l0 336c0 44.2-35.8 80-80 80L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l336 0c8.8 0 16-7.2 16-16l0-336c0-17.7 14.3-32 32-32z\"]]\n};\nvar faBorderStyleAlt = faBorderBottomRight;\nvar faOctagon = {\n prefix: 'fad',\n iconName: 'octagon',\n icon: [512, 512, [128721], \"f306\", [\"M191.5 .1c-19.1 0-37.4 7.6-50.9 21.1L21.2 140.6C7.7 154.1 .1 172.4 .1 191.5v129c0 19.1 7.6 37.4 21.1 50.9L140.6 490.8c13.5 13.5 31.8 21.1 50.9 21.1h129c19.1 0 37.4-7.6 50.9-21.1L490.8 371.4c13.5-13.5 21.1-31.8 21.1-50.9v-129c0-19.1-7.6-37.4-21.1-50.9L371.4 21.2C357.9 7.7 339.6 .1 320.5 .1h-129z\", \"\"]]\n};\nvar faCommentArrowUpRight = {\n prefix: 'fad',\n iconName: 'comment-arrow-up-right',\n icon: [512, 512, [], \"e145\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM200 160H312c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V241.9l-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M176 184c0-13.3 10.7-24 24-24H312c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V241.9l-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87H200c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faOctagonDivide = {\n prefix: 'fad',\n iconName: 'octagon-divide',\n icon: [512, 512, [], \"e203\", [\"M140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2zM256 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-88 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-80 96c0-13.3 10.7-24 24-24H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24zm112 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faCookie = {\n prefix: 'fad',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", [\"M247.2 17c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9l-14.6-82.8c-3.9-22.1-14.6-42.3-30.7-57.9L388.9 57.5c-16.1-15.6-36.6-25.6-58.7-28.7L247.2 17zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176 176a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faArrowRotateLeft = {\n prefix: 'fad',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", [\"M125.7 160l17.1-17.1c62.5-62.5 163.8-62.5 226.3 0s62.5 163.8 0 226.3s-163.8 62.5-226.3 0c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3c87.5 87.5 229.3 87.5 316.8 0s87.5-229.3 0-316.8s-229.3-87.5-316.8 0L80 115.2V160h45.7z\", \"M16 192c0 17.7 14.3 32 32 32H176c17.7 0 32-14.3 32-32s-14.3-32-32-32H80V64c0-17.7-14.3-32-32-32S16 46.3 16 64V192z\"]]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faTvMusic = {\n prefix: 'fad',\n iconName: 'tv-music',\n icon: [640, 512, [], \"f8e6\", [\"M64 64V352H576V64H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M576 64H64V352H576V64zM416 112v40V256c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V175.1l-96 36V288c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V200 160c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8s6.9 7.9 6.9 13.2z\"]]\n};\nvar faHardDrive = {\n prefix: 'fad',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", [\"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V320c0 5.5-.7 10.9-2 16c-7.1-27.6-32.2-48-62-48H64c-29.8 0-54.9 20.4-62 48c-1.3-5.1-2-10.5-2-16V96zM320 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M0 352c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352zm352 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faHdd = faHardDrive;\nvar faReel = {\n prefix: 'fad',\n iconName: 'reel',\n icon: [448, 512, [], \"e238\", [\"M384 64H64V88c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24V64zM88 400c-13.3 0-24 10.7-24 24v24H384V424c0-13.3-10.7-24-24-24H88zM80 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faFaceGrinSquintTears = {\n prefix: 'fad',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", [\"M382.2 33.2c-1.5 4.8-2.9 9.6-4.1 14.3c-4.8 18.9-8 38.5-9.7 50.3c-4 26.8 18.9 49.7 45.7 45.8c11.9-1.6 31.5-4.8 50.4-9.6c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c4.8-18.9 8-38.5 9.7-50.3c4-26.8-18.9-49.7-45.7-45.8c-11.9 1.6-31.5 4.8-50.4 9.7c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75C158.2-8.3 284.5-22.2 382.2 33.2zm34.3 169.1c-4.8-11.9-20.9-10.9-26.9 .4c-19.4 36.7-46.3 73.2-79.8 106.7s-70 60.3-106.7 79.8c-11.3 6-12.3 22.1-.4 26.9c59.4 24.1 129.9 12.2 177.9-35.8s59.9-118.5 35.8-177.9zM87.1 285.1c2 2 4.6 3.2 7.3 3.4l56.1 5.1 5.1 56.1c.3 2.8 1.5 5.4 3.4 7.3c6.3 6.3 17.2 3.6 19.8-4.9l29.7-97.4c3.5-11.6-7.3-22.5-19-19L92 265.3c-8.6 2.6-11.3 13.4-4.9 19.8zM265.3 92l-29.7 97.4c-3.5 11.6 7.3 22.5 19 19l97.4-29.7c8.6-2.6 11.3-13.4 4.9-19.8c-2-2-4.6-3.2-7.3-3.4l-56.1-5.1-5.1-56.1c-.3-2.8-1.5-5.4-3.4-7.3c-6.3-6.3-17.2-3.6-19.8 4.9z\", \"M497.1 14.9c19.6 19.6 20 51 .7 70.3c-14.8 14.8-65.7 23.6-88.3 26.7c-5.6 .9-10.3-3.9-9.5-9.5C403.3 79.9 412 29 426.8 14.2C446-5 477.5-4.6 497.1 14.9zM87.1 285.1c-6.3-6.3-3.6-17.2 4.9-19.8l97.4-29.7c11.6-3.5 22.5 7.3 19 19l-29.7 97.4c-2.6 8.6-13.4 11.3-19.8 4.9c-2-2-3.2-4.6-3.4-7.3l-5.1-56.1-56.1-5.1c-2.8-.3-5.4-1.5-7.3-3.4zM265.3 92c2.6-8.6 13.4-11.3 19.8-4.9c2 2 3.2 4.6 3.4 7.3l5.1 56.1 56.1 5.1c2.8 .3 5.4 1.5 7.3 3.4c6.3 6.3 3.6 17.2-4.9 19.8l-97.4 29.7c-11.6 3.5-22.5-7.3-19-19L265.3 92zM14.9 497.1c-19.6-19.6-20-51-.7-70.3C29 412 79.8 403.2 102.4 400.1c5.6-.9 10.3 3.9 9.5 9.5c-3.2 22.5-11.9 73.5-26.7 88.3C66 517 34.5 516.6 14.9 497.1z\"]]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'fad',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", [\"M0 256c0-17.7 14.3-32 32-32v64c-17.7 0-32-14.3-32-32zm448 32H192V224H448v64zm160 0V224c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M128 32c-17.7 0-32 14.3-32 32v64H64c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H96v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H128zm384 0H480c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384h32c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H544V64c0-17.7-14.3-32-32-32z\"]]\n};\nvar faRectangleList = {\n prefix: 'fad',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", [\"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-248c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224zM200 352c0 13.3 10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224c-13.3 0-24 10.7-24 24zm24-120c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\", \"M200 160c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 192c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm24-120H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'fad',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", [\"M64 128H197.5c13.2 37.3 48.7 64 90.5 64s77.4-26.7 90.5-64H512c35.3 0 64 28.7 64 64V352l-128 0c-17.7 0-32 14.3-32 32l0 128L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zM96 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M288 160c35.3 0 64-26.9 64-60c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C257.7 29.9 224 76 224 100c0 33.1 28.7 60 64 60zM416 512L576 352H448c-17.7 0-32 14.3-32 32V512z\"]]\n};\nvar faAlarmExclamation = {\n prefix: 'fad',\n iconName: 'alarm-exclamation',\n icon: [512, 512, [], \"f843\", [\"M390.2 467.4C352.8 495.4 306.3 512 256 512s-96.8-16.6-134.1-44.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l35.2-35.2C48.6 384.8 32 338.3 32 288C32 164.3 132.3 64 256 64s224 100.3 224 224c0 50.3-16.6 96.8-44.6 134.2l35.2 35.2c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-35.2-35.2zM288 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-200c0-13.3-10.7-24-24-24s-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\", \"M160 25.4L14.9 146.4C5.5 131.6 0 114 0 95.2C0 42.6 42.6 0 95.2 0c25 0 47.8 9.6 64.8 25.4zm192 0C369 9.6 391.8 0 416.8 0C469.4 0 512 42.6 512 95.2c0 18.8-5.5 36.3-14.9 51.1L352 25.4zM224 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm56-200V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'fad',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", [\"M394.8 512C349.5 480.1 320 427.5 320 368c0-5.4 .2-10.7 .7-16H320v16c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h40.2c32.3-39.1 81.1-64 135.8-64c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H394.8z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faTrafficCone = {\n prefix: 'fad',\n iconName: 'traffic-cone',\n icon: [512, 512, [], \"f636\", [\"M173.7 128H338.3l25.1 64H148.6l25.1-64zM110.9 288H401.1l25.1 64H85.7l25.1-64z\", \"M173.7 128L216 20.3C220.8 8.1 232.7 0 245.8 0h20.4c13.2 0 25 8.1 29.8 20.3L338.3 128H173.7zm-25.1 64H363.4l37.7 96H110.9l37.7-96zM48 448l37.7-96H426.3L464 448h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48z\"]]\n};\nvar faGrate = {\n prefix: 'fad',\n iconName: 'grate',\n icon: [448, 512, [], \"e193\", [\"M96 224V96h64V224h32V96h64V224h32V96h64V224h40v64H352V416H288V288H256V416H192V288H160V416H96V288H64V224H96z\", \"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0V416H384V96H64z\"]]\n};\nvar faArrowDownRight = {\n prefix: 'fad',\n iconName: 'arrow-down-right',\n icon: [384, 512, [], \"e093\", [\"M288 306.7L86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 352H288V306.7z\", \"M352 384c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V160c0-17.7 14.3-32 32-32s32 14.3 32 32V384z\"]]\n};\nvar faPersonSkiingNordic = {\n prefix: 'fad',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", [\"M402.3 464l27.1-176H448c5.1 0 10-1.2 14.2-3.3L434.6 464H504c13.3 0 24-10.7 24-24v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 39.8-32.2 72-72 72H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H67l55.6-264.2c8.7 7.8 20.7 10 31.3 6.6L99.7 464H402.3z\", \"M336 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM227.2 160c-14.1 0-27.5 5.6-37.5 15.5l-23.1 23.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l23.1-23.1C166.4 108.3 196.2 96 227.2 96c11.7 0 23.3 1.7 34.4 5.2l48.7 15c36.4 11.2 65.9 38 80.5 73.1l6.3 15c5 11.9 16.6 19.7 29.5 19.7H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H426.7c-38.8 0-73.7-23.3-88.6-59.1l-5.1-12.3L302 299l56.7 35.4c18.1 11.3 26.6 33.3 20.7 53.9L357.8 464H291.3l23.3-81.6-86.2-53.9c-25.1-15.7-36.1-46.5-26.8-74.5l31.2-93.7c-1.9-.2-3.7-.3-5.6-.3zM202.8 464H132.2l58.7-125.7c5.9 6.6 12.8 12.5 20.6 17.3l32.4 20.3L202.8 464zm-42.1 48c-.4 0-.9 0-1.4 0h1.4zm160.1 0c-.5 0-1 0-1.4 0h1.4z\"]]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'fad',\n iconName: 'calendar-plus',\n icon: [512, 512, [], \"f271\", [\"M32 192H480V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V192zm224 56c-13.3 0-24 10.7-24 24v56H176c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v56c0 13.3 10.7 24 24 24s24-10.7 24-24V376h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V272c0-13.3-10.7-24-24-24z\", \"M128 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H320V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v80H32V112c0-26.5 21.5-48 48-48h48V32zM256 248c13.3 0 24 10.7 24 24v56h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H176c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V272c0-13.3 10.7-24 24-24z\"]]\n};\nvar faPersonFromPortal = {\n prefix: 'fad',\n iconName: 'person-from-portal',\n icon: [512, 512, [\"portal-exit\"], \"e023\", [\"M154.2 352c3.8-29.6 5.8-62.1 5.8-96c0-18.3-.6-36.1-1.7-53.4c-1.7-1.2-3.4-2.5-4.9-4c-12.5-12.5-12.5-32.7-.1-45.2C141 63.1 112.8 0 80 0C35.8 0 0 114.6 0 256S35.8 512 80 512c25.3 0 47.8-37.5 62.5-96H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h26.2z\", \"M416 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM221.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L233.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L334 299l30.9-82.4 5.1 12.3C385 264.7 419.9 288 458.7 288H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H458.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM187.2 352H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L253 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L187.2 352z\"]]\n};\nvar faPortalExit = faPersonFromPortal;\nvar faPlaneArrival = {\n prefix: 'fad',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", [\"M128 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 480c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM256 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M0 68l.2 98.9c0 8.4 3.4 16.5 9.3 22.5l82.9 83.5c8.1 8.1 18.2 14 29.3 16.9l298.4 77.7c42.6 11.1 87.6 8.6 128.8-7c28.8-10.9 34.8-49 10.7-68.2l-34.4-27.6c-13-10.4-27.8-18.1-43.7-22.8L374.2 210.2 265.2 16.3C259.5 6.2 248.8 0 237.3 0L197.2 0c-10.6 0-18.3 10.2-15.4 20.4l41.5 145.2L96 128 78.1 80.2c-3.8-10.1-12.5-17.7-23-20L19.5 52.3C9.5 50.1 0 57.7 0 68z\"]]\n};\nvar faCowbellCirclePlus = {\n prefix: 'fad',\n iconName: 'cowbell-circle-plus',\n icon: [576, 512, [\"cowbell-more\"], \"f8b4\", [\"M128 96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H262.6c-4.3-15.3-6.6-31.4-6.6-48c0-86.4 62.3-158.3 144.4-173.2l-18.3-64C376.3 110.2 357.4 96 336 96H320V40c0-22.1-17.9-40-40-40H168c-22.1 0-40 17.9-40 40V96zM275.2 448H160c0 35.3 28.7 64 64 64c29.2 0 53.9-19.6 61.5-46.4c-3.8-5.7-7.2-11.5-10.3-17.6zM176 96V48h96V96H176z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faCowbellMore = faCowbellCirclePlus;\nvar faCircleLeft = {\n prefix: 'fad',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", [\"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9L117.5 269.8c-3.5-3.8-5.5-8.7-5.5-13.8s2-10.1 5.5-13.8l99.9-107.1c4.2-4.5 10.1-7.1 16.3-7.1c12.3 0 22.3 10 22.3 22.3l0 57.7 96 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-96 0 0 57.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.3-7.1z\", \"M117.5 269.8l99.9 107.1c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8z\"]]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faDistributeSpacingVertical = {\n prefix: 'fad',\n iconName: 'distribute-spacing-vertical',\n icon: [512, 512, [], \"e366\", [\"M96 208c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V208z\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]]\n};\nvar faSignalBarsFair = {\n prefix: 'fad',\n iconName: 'signal-bars-fair',\n icon: [640, 512, [\"signal-alt-2\"], \"f692\", [\"M560 0c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V48c0-26.5-21.5-48-48-48zM400 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48z\", \"M240 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\"]]\n};\nvar faSignalAlt2 = faSignalBarsFair;\nvar faSportsball = {\n prefix: 'fad',\n iconName: 'sportsball',\n icon: [512, 512, [], \"e44b\", [\"M487.6 48.9c-.1-.5-.2-1-.3-1.5L365.3 169.3c34.8 30.2 79 49.8 127.6 53.9c9.3-63 4.7-125.5-5.4-174.3zM464.8 24.6c-1.1-.3-2.2-.5-3.3-.7c-65.6-11-122.9-12.5-172.8-6c3.9 49.1 23.6 93.7 54 128.8L464.8 24.6zM446 358.4c19.8-32.3 33-67.7 41.1-103.6c-55.1-5.3-105.1-28.1-144.4-62.8l-64 64L418.5 395.9c10.3-11.8 19.4-24.4 27.4-37.5zM320 169.4C285 129.7 262.1 79 257 23.3c-17 3.6-33 8.3-48.1 13.9c-37 13.7-67.8 33-93.1 56L256 233.4l64-64zM233.4 256L93.4 116.1C83.2 127.9 74.1 140.5 66 153.6c-19.8 32.3-33 67.7-41.1 103.6c55.1 5.3 105.1 28.1 144.4 62.8l64-64zM192 342.6c35 39.7 58 90.3 63 146.1c17-3.6 33-8.3 48.1-13.9c37-13.7 67.8-33 93.1-56L256 278.6l-64 64zm-45.3 .1c-34.8-30.2-79-49.8-127.6-53.9c-9.3 63-4.7 125.5 5.4 174.3c.1 .5 .2 1 .3 1.5L146.7 342.7zm22.6 22.6L47.2 487.4c1.1 .3 2.2 .5 3.3 .7c65.6 11 123 12.5 172.8 6c-3.9-49.1-23.6-93.7-54-128.8z\", \"M464.8 24.6L256 233.4 115.8 93.2c-8 7.3-15.4 14.9-22.3 22.9L233.4 256 24.8 464.6c2.9 11.1 11.4 19.8 22.4 22.9L256 278.6 396.2 418.8c8-7.3 15.4-14.9 22.3-22.9L278.6 256 487.2 47.4c-2.9-11.1-11.4-19.8-22.4-22.9z\"]]\n};\nvar faGameConsoleHandheldCrank = {\n prefix: 'fad',\n iconName: 'game-console-handheld-crank',\n icon: [576, 512, [], \"e5b9\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm16 224c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H128v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H96V336c0-8.8 7.2-16 16-16zm112 40a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM504 144c-13.3 0-24 10.7-24 24v56h48 24c13.3 0 24-10.7 24-24V168c0-13.3-10.7-24-24-24H504z\", \"M96 96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96zM528 296V224H480v48H448v48h56c13.3 0 24-10.7 24-24z\"]]\n};\nvar faTrainSubway = {\n prefix: 'fad',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", [\"M64 128v96c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM81.1 446.9l-46 46C28.1 499.9 33.1 512 43 512H82.7c8.5 0 16.6-3.4 22.6-9.4L160 448H96c-5.1 0-10-.4-14.9-1.1zM288 448l54.6 54.6c6 6 14.1 9.4 22.6 9.4H405c10 0 15-12.1 7.9-19.1l-46-46c-4.8 .8-9.8 1.1-14.9 1.1H288zM272 96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H272z\", \"M0 96C0 43 43 0 96 0H352c53 0 96 43 96 96V352c0 53-43 96-96 96H96c-53 0-96-43-96-96V96zm64 32v96c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zM272 96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H272zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm224 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'fad',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M160 96c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zm64 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zm160 96c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H384z\"]]\n};\nvar faFaceSmileUpsideDown = {\n prefix: 'fad',\n iconName: 'face-smile-upside-down',\n icon: [512, 512, [], \"e395\", [\"M256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm91.9 186.5C330 165.8 299.4 144 256 144s-74 21.8-91.9 42.5c-5.8 6.7-15.9 7.4-22.6 1.6s-7.4-15.9-1.6-22.6c22.2-25.7 61-53.5 116.1-53.5s93.8 27.9 116.1 53.5c5.8 6.7 5.1 16.8-1.6 22.6s-16.8 5.1-22.6-1.6zM367.6 304a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M175.6 272a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm160 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]]\n};\nvar faBallPile = {\n prefix: 'fad',\n iconName: 'ball-pile',\n icon: [576, 512, [], \"f77e\", [\"M288 160A80 80 0 1 0 288 0a80 80 0 1 0 0 160zM80 512a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm288-80a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm128 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M176 328a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm224 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]]\n};\nvar faBadgeDollar = {\n prefix: 'fad',\n iconName: 'badge-dollar',\n icon: [512, 512, [], \"f645\", [\"M256 0c36.8 0 68.8 20.7 84.9 51.1C373.8 41 411 49 437 75s34 63.3 23.9 96.1C491.3 187.2 512 219.2 512 256s-20.7 68.8-51.1 84.9C471 373.8 463 411 437 437s-63.3 34-96.1 23.9C324.8 491.3 292.8 512 256 512s-68.8-20.7-84.9-51.1C138.2 471 101 463 75 437s-34-63.3-23.9-96.1C20.7 324.8 0 292.8 0 256s20.7-68.8 51.1-84.9C41 138.2 49 101 75 75s63.3-34 96.1-23.9C187.2 20.7 219.2 0 256 0zm20.9 140.4c0-11-9-20-20-20s-20 9-20 20v17.4c-8.8 1.8-17.7 4.8-25.7 9.6c-15 8.9-27.7 24.4-27.6 46.9c.1 21.5 12.6 35.1 26.3 43.4c11.9 7.2 27 11.7 39.1 15.4l1.9 .6c13.9 4.2 24.4 7.6 31.7 12.2c6.1 3.8 7.5 6.8 7.6 11c.1 6.5-2.5 10.4-7.6 13.6c-6 3.7-15.2 5.9-25.1 5.6c-12.7-.4-24.6-4.4-39.7-9.6l0 0 0 0 0 0 0 0c-2.6-.9-5.2-1.8-8-2.7c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c2.2 .7 4.5 1.5 6.8 2.3c9.7 3.3 20.9 7.2 32.8 9.6v18c0 11 9 20 20 20s20-9 20-20V354.4c9.3-1.7 18.6-4.9 26.8-10.1c15.3-9.5 26.8-25.7 26.5-48.1c-.3-21.6-12.4-35.6-26.3-44.3c-12.5-7.9-28.3-12.6-40.8-16.4l-.6-.2c-14.1-4.3-24.6-7.5-31.9-11.9c-6.2-3.7-7-6.3-7-9.3c0-5.1 2.1-8.8 7.9-12.3c6.5-3.8 16-6 25-5.8c10.9 .2 22.9 2.6 35.2 5.8c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-7.8-2.1-16.3-4.1-25.1-5.4V140.4z\", \"M256.9 120.4c11 0 20 9 20 20v17.3c8.9 1.4 17.4 3.4 25.1 5.4c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-12.3-3.3-24.2-5.7-35.2-5.8c-9.1-.1-18.5 2-25 5.8c-5.8 3.4-8 7.2-7.9 12.3c0 3 .8 5.6 7 9.3c7.3 4.4 17.8 7.7 31.9 11.9l.6 .2c12.5 3.8 28.3 8.5 40.8 16.4c13.9 8.7 26 22.8 26.3 44.3c.3 22.4-11.2 38.6-26.5 48.1c-8.2 5.1-17.5 8.3-26.8 10.1v17.1c0 11-9 20-20 20s-20-9-20-20l0-18c-12-2.4-23.1-6.3-32.8-9.6c-2.4-.8-4.6-1.6-6.8-2.3c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.8 .9 5.4 1.8 8 2.7l0 0 0 0c15.1 5.1 27 9.2 39.7 9.6c9.8 .3 19.1-1.9 25.1-5.6c5.1-3.2 7.7-7.1 7.6-13.6c-.1-4.1-1.4-7.1-7.6-11c-7.3-4.6-17.8-8-31.7-12.2l-1.9-.6c-12.1-3.7-27.2-8.2-39.1-15.4c-13.7-8.3-26.2-21.9-26.3-43.4c-.1-22.5 12.6-38 27.6-46.9c8-4.7 16.9-7.8 25.7-9.6V140.4c0-11 9-20 20-20z\"]]\n};\nvar faMoneyBillsSimple = {\n prefix: 'fad',\n iconName: 'money-bills-simple',\n icon: [640, 512, [\"money-bills-alt\"], \"e1f4\", [\"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120zM368 288a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zm208 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faMoneyBillsAlt = faMoneyBillsSimple;\nvar faListTimeline = {\n prefix: 'fad',\n iconName: 'list-timeline',\n icon: [512, 512, [], \"e1d1\", [\"M153.1 83.2c-8.5 6.4-8.5 19.2 0 25.6l38.4 28.8c5.5 4.2 12.3 6.4 19.2 6.4H424c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H210.7c-6.9 0-13.7 2.2-19.2 6.4L153.1 83.2zm38.4 131.2l-38.4 28.8c-8.5 6.4-8.5 19.2 0 25.6l38.4 28.8c5.5 4.2 12.3 6.4 19.2 6.4H488c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H210.7c-6.9 0-13.7 2.2-19.2 6.4zm0 160l-38.4 28.8c-8.5 6.4-8.5 19.2 0 25.6l38.4 28.8c5.5 4.2 12.3 6.4 19.2 6.4H424c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H210.7c-6.9 0-13.7 2.2-19.2 6.4z\", \"M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]]\n};\nvar faIndianRupeeSign = {\n prefix: 'fad',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", [\"M185.3 144H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H185.3c4.3-9.8 6.7-20.6 6.7-32s-2.4-22.2-6.7-32zm67.1 64H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H252.4c2.3 10.3 3.6 21 3.6 32s-1.2 21.7-3.6 32z\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H96h16c44.2 0 80 35.8 80 80s-35.8 80-80 80H32c-13.9 0-26.2 9-30.5 22.2S2.1 306 13.4 314l224 160c14.4 10.3 34.4 6.9 44.6-7.4s6.9-34.4-7.4-44.6L130.3 318.9C201.2 309.9 256 249.3 256 176c0-29.6-8.9-57.1-24.2-80H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H112 96 32z\"]]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'fad',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", [\"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V384c0 35.3 28.7 64 64 64H384V384H128V32zM480 384H448v64h32c17.7 0 32-14.3 32-32s-14.3-32-32-32z\", \"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H64V64H32zM384 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-352c0-35.3-28.7-64-64-64H128v64l256 0 0 352z\"]]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'fad',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", [\"M448 128H128c0 35.3-28.7 64-64 64V320c35.3 0 64 28.7 64 64H448c0-35.3 28.7-64 64-64V192c-35.3 0-64-28.7-64-64zM288 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm128 0c0 35.3-28.7 64-64 64V320c35.3 0 64 28.7 64 64H448c0-35.3 28.7-64 64-64V192c-35.3 0-64-28.7-64-64H128zm144 60h16c11 0 20 9 20 20v68h4c11 0 20 9 20 20s-9 20-20 20H288 264c-11 0-20-9-20-20s9-20 20-20h4V227.6c-9.1-1.9-16-9.9-16-19.6c0-11 9-20 20-20z\"]]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'fad',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", [\"M192 192l0 128 0 0 0 0 288 0c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l-160 0 0 0-128 0z\", \"M151.5 102.6c7-6.6 17.2-8.4 26-4.6s14.5 12.5 14.5 22l0 72 0 128 0 72c0 9.6-5.7 18.2-14.5 22s-19 2-26-4.6l-144-136C2.7 268.9 0 262.6 0 256s2.7-12.9 7.5-17.4l144-136z\"]]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faKeyboardDown = {\n prefix: 'fad',\n iconName: 'keyboard-down',\n icon: [576, 512, [], \"e1c2\", [\"M0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V224c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H464zM160 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM272 64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H272zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM464 64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H464z\", \"M80 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm73.8 302.8c3.7-9 12.5-14.8 22.2-14.8H400c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2L305 505c-9.4 9.4-24.6 9.4-33.9 0L159 393c-6.9-6.9-8.9-17.2-5.2-26.2zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V176zm400-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zM160 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V80zM272 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80zM464 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16z\"]]\n};\nvar faCircleUpRight = {\n prefix: 'fad',\n iconName: 'circle-up-right',\n icon: [512, 512, [], \"e129\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm96 313.4V176c0-8.8-7.2-16-16-16H198.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L216 232l-66.3 66.3C146 302 144 306.9 144 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L280 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\", \"M352 176V313.4c0 12.5-10.1 22.6-22.6 22.6c-6 0-11.8-2.4-16-6.6L280 296l-66.3 66.3C210 366 205.1 368 200 368s-10-2-13.7-5.7l-36.7-36.7C146 322 144 317.1 144 312s2-10 5.7-13.7L216 232l-33.4-33.4c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H336c8.8 0 16 7.2 16 16z\"]]\n};\nvar faCloudBoltMoon = {\n prefix: 'fad',\n iconName: 'cloud-bolt-moon',\n icon: [576, 512, [\"thunderstorm-moon\"], \"f76d\", [\"M481.2 0c3.7 0 7.3 .2 10.9 .5c7 .6 12.8 5.7 14.3 12.6s-1.7 13.9-7.8 17.4c-26.9 15.1-44.9 43.6-44.9 76.1c0 48.1 39.4 87.4 88.4 87.4c5.2 0 10.3-.4 15.2-1.3c6.9-1.2 13.8 2.3 17 8.6s1.9 13.9-3.2 18.7c-23.3 22.4-55 36.1-89.9 36.1c-.8 0-1.6 0-2.4 0c-5.4-37.8-29.7-69.5-63-85.3c-1.8-38.6-23.1-72.1-54.3-90.8C380.6 33 427.1 0 481.2 0zM282.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L233.9 352H304c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L182.1 384H112c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\", \"M447.9 271.9c0 44.2-35.8 80-80 80H349.2C342.4 332.8 324.3 320 304 320H285.7l29.3-58.5c10.1-20.2 4.8-44.6-12.8-58.8s-42.6-14.2-60.2-.2L82 330.5c-6 4.8-10.5 10.7-13.6 17.4C28.8 336 0 299.4 0 255.9c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]]\n};\nvar faThunderstormMoon = faCloudBoltMoon;\nvar faDna = {\n prefix: 'fad',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", [\"M416 512c17.7 0 32-14.3 32-32c0-59.8-30.3-107.5-69.4-146.6c-28-28-62.5-53.5-97.3-77.4c-13.1 9-26.4 17.9-39.5 26.6l-4 2.7c-4.6 3.1-9.2 6.2-13.8 9.2c20.9 14 40.8 27.7 59.3 41.5H164.8c-21.6 16.2-40.2 32.1-55.4 48H338.6c29.5 31 45.4 61.8 45.4 96c0 17.7 14.3 32 32 32zM166.7 256c11.8-8.1 23.8-16.1 35.6-24l3.9-2.6c6-4 11.9-8 17.8-11.9c-41.8-28.1-80.1-54.9-109.4-84.1C102.2 120.9 91.9 108.5 83.9 96H364.1c13-20.5 19.9-41.5 19.9-64H64C64 14.3 49.7 0 32 0S0 14.3 0 32C0 91.8 30.3 139.5 69.4 178.6c28 28 62.5 53.5 97.3 77.4z\", \"M448 32c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 34.2-15.9 65-45.4 96H109.4c15.2 15.9 33.8 31.8 55.4 48H283.3c-23.6 17.7-49.7 35.2-77 53.4l-1.6 1 0 0 0 0c-46.9 31.2-97.1 64.7-135.3 102.9C30.3 372.5 0 420.2 0 480c0 17.7 14.3 32 32 32s32-14.3 32-32H384c0-22.6-7-43.6-19.9-64H83.9c8-12.5 18.3-24.9 30.7-37.4c33.3-33.3 78.4-63.5 127.1-96l1.6-1 0 0c46.9-31.2 97.1-64.7 135.3-102.9C417.7 139.5 448 91.8 448 32z\"]]\n};\nvar faVirusSlash = {\n prefix: 'fad',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", [\"M476.5 348.1c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L264.6 182.1c6.9-3.9 14.9-6.1 23.4-6.1c26.5 0 48 21.5 48 48c0 4.4-.6 8.7-1.7 12.7L476.5 348.1zM402 412.7L144.7 210c-9.5 8.5-22.2 14-37.2 14H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBracketRoundRight = {\n prefix: 'fad',\n iconName: 'bracket-round-right',\n icon: [192, 512, [], \"29\", [\"M37.4 46.2C27.6 61 31.5 80.8 46.3 90.6C71.9 107.7 128 167 128 256s-56.1 148.3-81.8 165.4c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9C120.1 449 192 371.8 192 256S120.1 62.9 81.8 37.4C67 27.6 47.2 31.5 37.4 46.2z\", \"\"]]\n};\nvar faCircleSterling = {\n prefix: 'fad',\n iconName: 'circle-sterling',\n icon: [512, 512, [], \"e5cf\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm5.5-352c-16.8 0-30.4 13.7-30.3 30.5l.2 33.5H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H231.7c-.6 16.4-3.8 32.6-9.5 48H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.4 0-16.1-4.4-20.5-11.5s-4.7-16-.8-23.5l9.6-18.6c6.8-13.2 10.7-27.6 11.4-42.4c-13.1-.2-23.6-10.9-23.6-24c0-13.1 10.5-23.7 23.5-24l-.2-33.1c-.3-43.5 34.8-78.9 78.3-78.9c10 0 19.8 1.9 29.1 5.6l30.3 12.1c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4l-30.3-12.1c-3.6-1.4-7.4-2.2-11.3-2.2z\", \"M231.2 190.5c-.1-16.8 13.5-30.5 30.3-30.5c3.9 0 7.7 .7 11.3 2.2l30.3 12.1c12.3 4.9 26.3-1.1 31.2-13.4s-1.1-26.3-13.4-31.2l-30.3-12.1c-9.2-3.7-19.1-5.6-29.1-5.6c-43.5 0-78.6 35.4-78.3 78.9l.2 33.1c-13 .3-23.5 10.9-23.5 24c0 13.1 10.6 23.8 23.6 24c-.7 14.8-4.6 29.2-11.4 42.4L162.7 333c-3.8 7.4-3.5 16.3 .8 23.5s12.1 11.5 20.5 11.5H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H222.2c5.7-15.4 9-31.6 9.5-48H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H231.5l-.2-33.5z\"]]\n};\nvar faCircle5 = {\n prefix: 'fad',\n iconName: 'circle-5',\n icon: [512, 512, [], \"e0f2\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 128H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H228l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88c2.1-11.4 12-19.7 23.6-19.7z\", \"M184.4 147.7c2.1-11.4 12-19.7 23.6-19.7H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H228l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88z\"]]\n};\nvar faMinus = {\n prefix: 'fad',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", [\"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\", \"\"]]\n};\nvar faSubtract = faMinus;\nvar faFireFlame = {\n prefix: 'fad',\n iconName: 'fire-flame',\n icon: [384, 512, [\"flame\"], \"f6df\", [\"M372.5 256.5l-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6C0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zM188.8 148.3c2-2.7 5.2-4.3 8.5-4.3c5.9 0 10.7 4.8 10.7 10.7v11.4c0 8.9 3.6 17.4 9.9 23.6l51.5 50.7C291.5 262.2 304 292 304 323c0 60.2-48.8 109-109 109h-3c-61.9 0-112-50.1-112-112v-8.2c0-21.2 7.8-41.6 21.8-57.4l6.9-7.8c2.1-2.4 5.1-3.7 8.3-3.7c6.1 0 11 4.9 11 11v44c0 24.3 19.8 44 44.1 44c24.2 0 43.9-19.6 43.9-43.8c0-11.6-4.6-22.8-12.8-31l-13.2-13.2c-14-14-21.9-33.1-21.9-53c0-16.2 5.3-32 15-44.9l5.8-7.8z\", \"M183 156l5.8-7.8c2-2.7 5.2-4.3 8.5-4.3c5.9 0 10.7 4.8 10.7 10.7v11.4c0 8.9 3.6 17.4 9.9 23.6l51.5 50.7C291.5 262.2 304 292 304 323c0 60.2-48.8 109-109 109h-3c-61.9 0-112-50.1-112-112v-8.2c0-21.2 7.8-41.6 21.8-57.4l6.9-7.8c2.1-2.4 5.1-3.7 8.3-3.7c6.1 0 11 4.9 11 11v44c0 24.3 19.8 44 44.1 44c24.2 0 43.9-19.6 43.9-43.8c0-11.6-4.6-22.8-12.8-31l-13.2-13.2c-14-14-21.9-33.1-21.9-53c0-16.2 5.3-32 15-44.9z\"]]\n};\nvar faFlame = faFireFlame;\nvar faRightToLine = {\n prefix: 'fad',\n iconName: 'right-to-line',\n icon: [448, 512, [\"arrow-alt-to-right\"], \"f34c\", [\"M416 448c-17.7 0-32-14.3-32-32l0-320c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32z\", \"M340.7 228.7L217.9 105.9c-6.4-6.4-15-9.9-24-9.9c-18.7 0-33.9 15.2-33.9 33.9l0 62.1L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l128 0 0 62.1c0 18.7 15.2 33.9 33.9 33.9c9 0 17.6-3.6 24-9.9L340.7 283.3c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3z\"]]\n};\nvar faArrowAltToRight = faRightToLine;\nvar faGif = {\n prefix: 'fad',\n iconName: 'gif',\n icon: [576, 512, [], \"e190\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM192 192c-35.3 0-64 28.7-64 64s28.7 64 64 64c11.7 0 22.6-3.1 32-8.6V280H184c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c8.8 0 16 7.2 16 16v56c0 5-2.4 9.8-6.4 12.8c-16 12.1-36 19.2-57.6 19.2c-53 0-96-43-96-96s43-96 96-96c21.6 0 41.6 7.1 57.6 19.2c7.1 5.3 8.5 15.3 3.2 22.4s-15.3 8.5-22.4 3.2c-10.7-8-24-12.8-38.4-12.8zm112-32c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm48 16c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v48h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V256 176z\", \"M128 256c0-35.3 28.7-64 64-64c14.4 0 27.7 4.8 38.4 12.8c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4c-16-12.1-36-19.2-57.6-19.2c-53 0-96 43-96 96s43 96 96 96c21.6 0 41.6-7.1 57.6-19.2c4-3 6.4-7.8 6.4-12.8V264c0-8.8-7.2-16-16-16H184c-8.8 0-16 7.2-16 16s7.2 16 16 16h40v31.4c-9.4 5.4-20.3 8.6-32 8.6c-35.3 0-64-28.7-64-64zm192-80c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176zm48-16c-8.8 0-16 7.2-16 16v80 80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368z\"]]\n};\nvar faChess = {\n prefix: 'fad',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", [\"M304 208v51.9c0 7.8 2.8 15.3 8 21.1L339.2 312 337 384H462.5l-3.3-72 28.3-30.8c5.4-5.9 8.5-13.6 8.5-21.7V208c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v16H424V208c0-8.8-7.2-16-16-16H392c-8.8 0-16 7.2-16 16v16H352V208c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zm80 96c0-8.8 7.2-16 16-16s16 7.2 16 16v32H384V304zM292.8 473.6c-3.1 4.2-4.8 9.2-4.8 14.4c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L464 416H336l-43.2 57.6z\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H60.2C49.1 96 40 105.1 40 116.2c0 2.5 .5 4.9 1.3 7.3L73.8 208H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4L60 384H196L180 256h4c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.8l32.5-84.5c.9-2.3 1.3-4.8 1.3-7.3c0-11.2-9.1-20.2-20.2-20.2H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zM48 416L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416H48z\"]]\n};\nvar faTrashSlash = {\n prefix: 'fad',\n iconName: 'trash-slash',\n icon: [640, 512, [], \"e2b3\", [\"M132.5 200.4L488 480.5C481.2 499 463.5 512 442.9 512H197.1c-25.3 0-46.3-19.7-47.9-45L132.5 200.4zM512 128L497.2 364.4 195.6 128H512zm0-32H154.8L98.4 51.8C103.2 40.2 114.6 32 128 32h96l7.2-14.3C236.6 6.8 247.7 0 259.8 0H380.2c12.1 0 23.2 6.8 28.6 17.7L416 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faArrowLeftLong = {\n prefix: 'fad',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", [\"M109.3 288L480 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-370.7 0-32 32 32 32z\", \"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L77.3 256 182.6 361.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-128-128z\"]]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'fad',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", [\"M128 32v96H64V32C64 14.3 78.3 0 96 0s32 14.3 32 32zm192 0v96H256V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32c0 2.3-.3 4.6-.7 6.8C309.8 220 256 287.7 256 368c0 11.4 1.1 22.5 3.1 33.3c-11.1 5.1-22.9 9-35.1 11.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faFontCase = {\n prefix: 'fad',\n iconName: 'font-case',\n icon: [640, 512, [], \"f866\", [\"M512 160c-70.7 0-128 57.3-128 128v64c0 70.7 57.3 128 128 128c24.5 0 47.4-6.9 66.8-18.8c5 11.1 16.2 18.8 29.2 18.8c17.7 0 32-14.3 32-32V352 288 192c0-17.7-14.3-32-32-32c-13 0-24.1 7.7-29.2 18.8C559.4 166.9 536.5 160 512 160zm64 128v64c0 35.3-28.7 64-64 64s-64-28.7-64-64V288c0-35.3 28.7-64 64-64s64 28.7 64 64z\", \"M206 52.8C201.3 40.3 189.3 32 176 32s-25.3 8.3-30 20.8L2 436.8c-6.2 16.5 2.2 35 18.7 41.2s35-2.2 41.2-18.7L96.2 368H255.8L290 459.2c6.2 16.5 24.7 24.9 41.2 18.7s24.9-24.6 18.7-41.2L206 52.8zM231.8 304H120.2L176 155.1 231.8 304z\"]]\n};\nvar faStreetView = {\n prefix: 'fad',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", [\"M197.5 337.8c-41.1 2.6-79 8-109.9 16C65.2 359.6 45 367.1 29.8 377C15.1 386.6 0 401.9 0 424s15.1 37.4 29.8 47c15.2 9.9 35.5 17.5 57.8 23.3C132.7 505.9 192.9 512 256 512s123.3-6.1 168.4-17.8c22.4-5.8 42.6-13.3 57.8-23.3c14.7-9.6 29.8-24.9 29.8-47s-15.1-37.4-29.8-47c-15.2-9.9-35.5-17.5-57.8-23.3c-30.9-8-68.8-13.4-109.9-16l-5.3 47.8c39.6 2.4 75.3 7.5 103.2 14.7c56.6 14.6 56.6 32.9 0 47.5C372.5 458.1 316.6 464 256 464s-116.5-5.9-156.4-16.2c-56.6-14.6-56.6-32.9 0-47.5c27.9-7.2 63.6-12.3 103.2-14.7l-5.3-47.8z\", \"M256 0a64 64 0 1 1 0 128A64 64 0 1 1 256 0zM160 224c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v48c0 17.7-14.3 32-32 32h-1.8l-11.1 99.5c-1.8 16.2-15.5 28.5-31.8 28.5H236.6c-16.3 0-30-12.3-31.8-28.5L193.8 304H192c-17.7 0-32-14.3-32-32V224z\"]]\n};\nvar faArrowDownLeft = {\n prefix: 'fad',\n iconName: 'arrow-down-left',\n icon: [384, 512, [], \"e091\", [\"M96 306.7L297.4 105.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L141.3 352H96V306.7z\", \"M32 384c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V160c0-17.7-14.3-32-32-32s-32 14.3-32 32V384z\"]]\n};\nvar faFrancSign = {\n prefix: 'fad',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", [\"M48 320H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H48V320zm64 64h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H112v64z\", \"M80 32C62.3 32 48 46.3 48 64V224 448c0 17.7 14.3 32 32 32s32-14.3 32-32V256H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V96H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z\"]]\n};\nvar faFlaskRoundPoison = {\n prefix: 'fad',\n iconName: 'flask-round-poison',\n icon: [448, 512, [\"flask-poison\"], \"f6e0\", [\"M328.5 172.1c-5.2-3-8.5-8.4-8.5-14.4V64c17.7 0 32-14.3 32-32s-14.3-32-32-32H304 256 192 144 128C110.3 0 96 14.3 96 32s14.3 32 32 32v93.7c0 6-3.3 11.4-8.5 14.4l0 0c-5.3 3.1-10.4 6.4-15.4 9.9C50.8 219.7 16 281.8 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9zM300 376.6c-7.1 5.2-12 13-12 21.8V408c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24v-9.6c0-8.8-4.9-16.7-12-21.8c-22.1-16.1-36-39.1-36-64.6c0-48.6 50.1-88 112-88s112 39.4 112 88c0 25.5-13.9 48.6-36 64.6z\", \"M288 398.4c0-8.8 4.9-16.7 12-21.8c22.1-16.1 36-39.1 36-64.6c0-48.6-50.1-88-112-88s-112 39.4-112 88c0 25.5 13.9 48.6 36 64.6c7.1 5.2 12 13 12 21.8V408c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-9.6zM160 312a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faFlaskPoison = faFlaskRoundPoison;\nvar faVolumeOff = {\n prefix: 'fad',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", [\"\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]]\n};\nvar faBookCircleArrowRight = {\n prefix: 'fad',\n iconName: 'book-circle-arrow-right',\n icon: [640, 512, [], \"e0bc\", [\"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V198.6C374.1 219.5 320 287.4 320 368c0 5.4 .2 10.7 .7 16H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H339.2c13.1 25.6 32.2 47.6 55.6 64H384 96c-53 0-96-43-96-96V96z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm19.3-211.3l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]]\n};\nvar faChartUser = {\n prefix: 'fad',\n iconName: 'chart-user',\n icon: [640, 512, [\"user-chart\"], \"f6a3\", [\"M160 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-11.8-25.5-29.9-47.5-52.4-64H576V64L224 64v49.1C205.2 102.2 183.3 96 160 96V64zm252.7 75.3c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h88c8.8 0 16 7.2 16 16v88c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-27-27L401 273c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 55.7-55.7-27-27z\", \"M160 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-26.7 32C59.7 352 0 411.7 0 485.3C0 500.1 11.9 512 26.7 512H293.3c14.7 0 26.7-11.9 26.7-26.7C320 411.7 260.3 352 186.7 352H133.3z\"]]\n};\nvar faUserChart = faChartUser;\nvar faHandsAslInterpreting = {\n prefix: 'fad',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", [\"M497.7 508.6c-15.8-7.9-22.2-27.1-14.3-42.9l23-46L404.5 504.6c-13.6 11.3-33.8 9.5-45.1-4.1s-9.5-33.8 4.1-45.1l81.6-68L344.4 414.9c-17 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3l80.8-22c-24.9-7.9-45.6-25-58.4-47.1c-8.9-15.3-3.6-34.9 11.7-43.7s34.9-3.6 43.7 11.7c7 12 19.9 20 34.7 20c22.1 0 40-17.9 40-40s-17.9-40-40-40c-14.8 0-27.7 8-34.7 20c-8.9 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.7-28.8 46.9-49 82.1-51.7V128h8 72c70.7 0 128 57.3 128 128v9.3c0 19.9-4.6 39.5-13.5 57.2L540.6 494.3c-7.9 15.8-27.1 22.2-42.9 14.3z\", \"M142.3 3.4c15.8 7.9 22.2 27.1 14.3 42.9l-23 46L235.5 7.4c13.6-11.3 33.8-9.5 45.1 4.1s9.5 33.8-4.1 45.1l-81.6 68L295.6 97.1c17.1-4.7 34.6 5.4 39.3 22.5s-5.4 34.6-22.5 39.3l-80.8 22c24.9 7.9 45.6 24.9 58.4 47.1c8.8 15.3 3.6 34.9-11.7 43.7s-34.9 3.6-43.7-11.7c-7-12-19.9-20-34.7-20c-22.1 0-40 17.9-40 40s17.9 40 40 40c14.8 0 27.7-8 34.7-20c8.8-15.3 28.4-20.5 43.7-11.7s20.5 28.4 11.7 43.7c-16.7 28.8-46.9 49-82.1 51.7v.3h-8H128C57.3 384 0 326.7 0 256v-9.3c0-19.9 4.6-39.5 13.5-57.2L99.4 17.7c7.9-15.8 27.1-22.2 42.9-14.3z\"]]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faPresentationScreen = {\n prefix: 'fad',\n iconName: 'presentation-screen',\n icon: [576, 512, [\"presentation\"], \"f685\", [\"M32 288V64H96V288H480V64h64V288c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64z\", \"M0 32C0 14.3 14.3 0 32 0H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 64 0 49.7 0 32zM256 386.7V352h64v34.7l70.6 70.6c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 445.3l-57.4 57.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L256 386.7z\"]]\n};\nvar faPresentation = faPresentationScreen;\nvar faCircleBolt = {\n prefix: 'fad',\n iconName: 'circle-bolt',\n icon: [512, 512, [], \"e0fe\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm74.1-396.4c5.8 4.7 7.6 12.9 4.2 19.6L281.9 240H352c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L230.1 272H160c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\", \"M334.3 135.2c3.4-6.7 1.6-14.9-4.2-19.6s-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L177.7 376.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H281.9l52.4-104.8z\"]]\n};\nvar faFaceSmileHalo = {\n prefix: 'fad',\n iconName: 'face-smile-halo',\n icon: [512, 512, [], \"e38f\", [\"M45.6 156.5C26.7 190.7 16 230.1 16 272c0 132.5 107.5 240 240 240s240-107.5 240-240c0-41.9-10.7-81.3-29.6-115.5C413.9 178.3 339 192 256 192s-157.9-13.7-210.4-35.5zm95.9 199.4c6.7-5.8 16.8-5.1 22.6 1.6C182 378.2 212.6 400 256 400s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 404.1 311.1 432 256 432s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6zm76.1-55.1l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm160 0l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\", \"M512 80c0 44.2-114.6 80-256 80S0 124.2 0 80S114.6 0 256 0S512 35.8 512 80zm-64 0c0-17.7-86-32-192-32S64 62.3 64 80s86 32 192 32s192-14.3 192-32zM217.6 300.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\"]]\n};\nvar faCartCircleArrowDown = {\n prefix: 'fad',\n iconName: 'cart-circle-arrow-down',\n icon: [640, 512, [], \"e3ef\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c29.1-57 88.4-96 156.8-96c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M352 368a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm211.3 19.3l-56 56c-6.2 6.2-16.4 6.2-22.6 0l-56-56c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 393.4l0-89.4c0-8.8 7.2-16 16-16s16 7.2 16 16l0 89.4 28.7-28.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faHousePersonReturn = {\n prefix: 'fad',\n iconName: 'house-person-return',\n icon: [640, 512, [\"house-person-arrive\", \"house-return\"], \"e011\", [\"M261.7 16.5c-12.3-11.3-31.2-11.3-43.4 0l-208 192c-9.7 8.9-12.9 22.9-8.1 35.2S18.8 264 32 264H64V376c0 26.5 21.5 48 48 48H340l12.9-51.6c3.2-12.9 9.6-24.8 18.6-34.7l6.8-7.5c-31.2 14.1-68.2 1.2-83.6-29.7c-15.8-31.6-3-70.1 28.6-85.9l10.7-5.4 10.7-25.8c8.9-21.3 22.6-39.7 39.5-54L261.7 16.5zM160 192h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16z\", \"M384 48a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM513.5 199.3c1 .4 1.9 .8 2.9 1.2l8 3.5c16.4 7.3 29 21.2 34.7 38.2l2.6 7.8c5.6 16.8 23.7 25.8 40.5 20.2s25.8-23.7 20.2-40.5l-2.6-7.8c-11.4-34.1-36.6-61.9-69.4-76.5l-8-3.5c-20.8-9.2-43.3-14-66.1-14c-44.6 0-84.8 26.8-101.9 67.9L359 232.7l-21.4 10.7c-15.8 7.9-22.2 27.1-14.3 42.9s27.1 22.2 42.9 14.3L393 287.3c10.3-5.2 18.4-13.8 22.8-24.5l9.6-23 19.3 65.5-49.5 54c-5.4 5.9-9.2 13-11.2 20.8l-23 92.1c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l22-88.1 70.7-77.1c14.8-16.1 20.3-38.6 14.7-59.7l-16.9-63.5zM571.3 398l-25-62.4c-2.1 3-4.5 5.8-7 8.6l-40.7 44.4 14.5 36.2c2.4 6 6 11.5 10.6 16.1l61.7 61.7c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L571.3 398z\"]]\n};\nvar faHousePersonArrive = faHousePersonReturn;\nvar faHouseReturn = faHousePersonReturn;\nvar faMessageXmark = {\n prefix: 'fad',\n iconName: 'message-xmark',\n icon: [512, 512, [\"comment-alt-times\", \"message-times\"], \"f4ab\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm175 63c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M209 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faCommentAltTimes = faMessageXmark;\nvar faMessageTimes = faMessageXmark;\nvar faFileCertificate = {\n prefix: 'fad',\n iconName: 'file-certificate',\n icon: [512, 512, [\"file-award\"], \"f5f3\", [\"M192 0c-35.3 0-64 28.7-64 64V168.6c1 0 2.1-.2 3-.6l15.8-6.5c10-4.1 21.5-1 28.1 7.5l10.5 13.5c1.3 1.7 3.2 2.7 5.2 3l16.9 2.3c10.7 1.5 19.1 9.9 20.5 20.5l2.3 16.9c.3 2.1 1.4 4 3 5.2l13.5 10.5c8.5 6.6 11.6 18.1 7.5 28.1L248 285c-.8 1.9-.8 4.1 0 6.1l6.5 15.8c4.1 10 1 21.5-7.5 28.1l-13.5 10.5c-1.7 1.3-2.7 3.2-3 5.2l-2.3 16.9c-1.5 10.7-9.9 19.1-20.5 20.6L192 390.2V496c0 5.9-3.2 11.3-8.5 14.1c-.7 .4-1.5 .7-2.3 1c3.5 .6 7.1 .9 10.7 .9H448c35.3 0 64-28.7 64-64V160H384c-17.7 0-32-14.3-32-32V0H192z\", \"M512 160L352 0V128c0 17.7 14.3 32 32 32H512zm-402.8 1.6c-10-4.1-21.5-1-28.1 7.5L70.6 182.6c-1.3 1.7-3.2 2.7-5.2 3l-16.9 2.3c-10.7 1.5-19.1 9.9-20.5 20.5l-2.3 16.9c-.3 2.1-1.4 4-3 5.2L9.1 241.1c-8.5 6.6-11.6 18.1-7.5 28.1L8 285c.8 1.9 .8 4.1 0 6.1L1.6 306.8c-4.1 10-1 21.5 7.5 28.1l13.5 10.5c1.7 1.3 2.7 3.2 3 5.2l2.3 16.9c1.5 10.7 9.9 19.1 20.5 20.6L64 390.2V496c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L128 483.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V390.2l15.5-2.1c10.7-1.5 19.1-9.9 20.5-20.6l2.3-16.9c.3-2.1 1.4-4 3-5.2l13.5-10.5c8.5-6.6 11.6-18.1 7.5-28.1L248 291c-.8-1.9-.8-4.1 0-6.1l6.5-15.8c4.1-10 1-21.5-7.5-28.1l-13.5-10.5c-1.7-1.3-2.7-3.2-3-5.2l-2.3-16.9c-1.5-10.7-9.9-19.1-20.5-20.5l-16.9-2.3c-2.1-.3-4-1.4-5.2-3l-10.5-13.5c-6.6-8.5-18.1-11.6-28.1-7.5L131 168c-1.9 .8-4.1 .8-6.1 0l-15.8-6.5zM64 288a64 64 0 1 1 128 0A64 64 0 1 1 64 288z\"]]\n};\nvar faFileAward = faFileCertificate;\nvar faUserDoctorHairLong = {\n prefix: 'fad',\n iconName: 'user-doctor-hair-long',\n icon: [448, 512, [], \"e459\", [\"M257.9 66.2C241 93.7 210.6 112 176 112H128l0 32c0 53 43 96 96 96s96-43 96-96l0-48h-8c-22.8 0-42.8-11.9-54.1-29.8z\", \"M176 112H128h0v32c0 53 43 96 96 96s96-43 96-96V128h0V96h-8c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112zm48 160H70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128h0C96 57.3 153.3 0 224 0c70.6 0 127.8 57.1 128 127.6v.8l0 .2V139c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224zm64 32.2V362c-27.6 7.1-48 32.2-48 62v40c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16V424c0-17.7 14.3-32 32-32s32 14.3 32 32v24c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V424c0-29.8-20.4-54.9-48-62V308.8C393.5 326.7 448 393 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-79 54.5-145.3 128-163.2v61.5c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V304.2c2.7-.1 5.3-.2 8-.2H280c2.7 0 5.3 .1 8 .2zM120 424a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faCameraSecurity = {\n prefix: 'fad',\n iconName: 'camera-security',\n icon: [448, 512, [\"camera-home\"], \"f8fe\", [\"M224 304a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H310l59 36.9c12.1 7.6 17.7 22.2 13.8 36S366.3 512 352 512H96c-14.3 0-26.8-9.5-30.8-23.2s1.7-28.4 13.8-36L138 416H64c-35.3 0-64-28.7-64-64V64zM224 336a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]]\n};\nvar faCameraHome = faCameraSecurity;\nvar faGear = {\n prefix: 'fad',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", [\"M192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M489.6 191.2c6.9-6.2 9.6-15.9 6.4-24.6c-4.4-11.9-9.7-23.3-15.8-34.3l-4.7-8.1c-6.6-11-14-21.4-22.1-31.2c-5.9-7.2-15.7-9.6-24.5-6.8L389.1 98.8c-10 3.2-20.8 1.1-29.7-4.6c-4.9-3.1-9.9-6.1-15.1-8.7c-9.3-4.8-16.5-13.2-18.8-23.4l-8.9-40.7c-2-9.1-9-16.3-18.2-17.8C284.7 1.2 270.5 0 256 0s-28.7 1.2-42.5 3.5c-9.2 1.5-16.2 8.7-18.2 17.8l-8.9 40.7c-2.2 10.2-9.5 18.6-18.8 23.4c-5.2 2.7-10.2 5.6-15.1 8.7c-8.8 5.7-19.7 7.7-29.7 4.6L83.1 86.1c-8.8-2.8-18.6-.3-24.5 6.8c-8.1 9.8-15.5 20.2-22.1 31.2l-4.7 8.1c-6.1 11-11.4 22.4-15.8 34.3c-3.2 8.7-.5 18.4 6.4 24.6l30.9 28.1c7.7 7.1 11.4 17.5 10.9 27.9c-.1 2.9-.2 5.8-.2 8.8s.1 5.9 .2 8.8c.5 10.5-3.1 20.9-10.9 27.9L22.4 320.8c-6.9 6.2-9.6 15.9-6.4 24.6c4.4 11.9 9.7 23.3 15.8 34.3l4.7 8.1c6.6 11 14 21.4 22.1 31.2c5.9 7.2 15.7 9.6 24.5 6.8l39.7-12.6c10-3.2 20.8-1.1 29.7 4.6c4.9 3.1 9.9 6.1 15.1 8.7c9.3 4.8 16.5 13.2 18.8 23.4l8.9 40.7c2 9.1 9 16.3 18.2 17.8c13.8 2.3 28 3.5 42.5 3.5s28.7-1.2 42.5-3.5c9.2-1.5 16.2-8.7 18.2-17.8l8.9-40.7c2.2-10.2 9.4-18.6 18.8-23.4c5.2-2.7 10.2-5.6 15.1-8.7c8.8-5.7 19.7-7.7 29.7-4.6l39.7 12.6c8.8 2.8 18.6 .3 24.5-6.8c8.1-9.8 15.5-20.2 22.1-31.2l4.7-8.1c6.1-11 11.3-22.4 15.8-34.3c3.2-8.7 .5-18.4-6.4-24.6l-30.9-28.1c-7.7-7.1-11.4-17.5-10.9-27.9c.1-2.9 .2-5.8 .2-8.8s-.1-5.9-.2-8.8c-.5-10.5 3.1-20.9 10.9-27.9l30.9-28.1zM256 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'fad',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", [\"M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM205.8 136L505.2 370.7c4.4-16.1 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTintSlash = faDropletSlash;\nvar faBookHeart = {\n prefix: 'fad',\n iconName: 'book-heart',\n icon: [448, 512, [], \"f499\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm32 157.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4C258.9 102.5 274.5 96 290.7 96c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]]\n};\nvar faMosque = {\n prefix: 'fad',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", [\"M412.8 6.4C409.8 2.4 405 0 400 0s-9.8 2.4-12.8 6.4c-34.7 46.3-78.1 74.9-133.5 111.5l0 0c-5.2 3.5-10.6 7-16 10.6c-28.9 19.2-45.7 51.7-45.7 86.1c0 28.6 11.3 54.5 29.8 73.4H578.2c18.4-19 29.8-44.9 29.8-73.4c0-34.4-16.7-66.9-45.7-86.1c-5.4-3.6-10.8-7.1-16-10.6l0 0C490.9 81.3 447.5 52.7 412.8 6.4zM89.6 5.2C83.9 .9 76.1 .9 70.4 5.2l-16 12C20.2 42.9 0 83.2 0 126v34H160V126c0-42.8-20.2-83.1-54.4-108.8l-16-12z\", \"M160 160V264.6c-19.1 11.1-32 31.7-32 55.4V480c0 9.6 2.1 18.6 5.8 26.8c-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V176 160H160zM352 512H288V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H560V440c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H448V454c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58z\"]]\n};\nvar faDuck = {\n prefix: 'fad',\n iconName: 'duck',\n icon: [512, 512, [129414], \"f6d8\", [\"M400 224c.2-8.5 3.9-16.4 9.2-23c14.3-17.8 22.8-40.4 22.8-65c0-3.4-.2-6.7-.5-10.1l.6 .1c10.5 1.3 21.2 1.3 31.8 0l35.3-4.4c6.8-.8 12.8 4.4 12.8 11.3c0 50.3-40.8 91.1-91.1 91.1H400z\", \"M409.2 201c-5.4 6.8-9.2 15-9.2 23.7v24c0 6.6 2.8 12.8 7.2 17.7C427.6 289.1 440 319.1 440 352c0 70.7-57.3 128-128 128H196C87.8 480 0 392.2 0 284v-5.4C0 266.1 10.1 256 22.6 256c6 0 11.8 2.4 16 6.6L54 278c6.2 6.2 15.2 8.5 23.6 6.1l172.8-49.4c10.4-3 15.7-14.5 7.8-21.7v0c-21-19-34.1-46.5-34.1-77c0-57.4 46.6-104 104-104s104 46.6 104 104c0 24.6-8.5 47.2-22.8 65zM368 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM340.6 296.9c.5-8.8-6.2-16.4-15-16.9s-16.4 6.2-16.9 15c-2.4 41.2-32.6 79-77.3 90.1c-40.3 10.1-80.5-4.6-103.7-33.5c-5.5-6.9-15.6-8-22.5-2.5s-8 15.6-2.5 22.5c31.1 38.7 84 57.6 136.4 44.5c58-14.5 98.3-63.8 101.5-119.3z\"]]\n};\nvar faMosquito = {\n prefix: 'fad',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", [\"M320 237.1L154.6 388.3C97.6 448.2 0 405.8 0 321.1c0-48 34-88.4 79.3-94.3l219.3-34.4 42.7 0 219.3 34.4c45.3 5.9 79.4 46.4 79.4 94.4c0 84.7-97.6 127.1-154.6 67.2L320 237.1z\", \"M463.6 505.6c9.8-8.9 10.7-24.3 2.1-34.3l-42-49V367.6c0-5.5-1.8-10.8-5.1-15.1L352 266v0l-32-29.2L288 266v0l-66.6 86.4c-3.3 4.3-5.1 9.6-5.1 15.1l0 54.7-42 49c-8.6 10.1-7.7 25.5 2.1 34.3s24.7 7.9 33.4-2.1l48-55.9c3.8-4.4 5.9-10.2 5.9-16.1l0-55.4L288 344.4l0 63.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-63.2 24.4 31.6 0 55.4c0 5.9 2.1 11.7 5.9 16.1l48 55.9c8.6 10.1 23.6 11 33.4 2.1zm-231.3-303l66.4-10.4h42.7l66.3 10.4 40.8-40.8c7.8-7.8 9.4-20.1 3.9-29.8L428.5 90.3l38.2-50.8c8-10.6 6.1-25.9-4.3-34.1s-25.2-6.2-33.2 4.4l-48 63.8c-5.9 7.9-6.6 18.6-1.7 27.2l22.6 39.4L352 190.4l0-38.1c0-14.9-10.2-27.4-24-31l0-57.1c0-4.4-3.6-8-8-8s-8 3.6-8 8l0 57.1c-13.8 3.6-24 16.1-24 31l0 38.1-50.2-50.2 22.6-39.4c4.9-8.6 4.2-19.3-1.7-27.2l-48-63.8c-8-10.6-22.9-12.6-33.2-4.4s-12.3 23.5-4.3 34.1l38.2 50.8L187.6 132c-5.5 9.7-3.9 21.9 3.9 29.8l40.8 40.8z\"]]\n};\nvar faStarOfDavid = {\n prefix: 'fad',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", [\"M229 400l27 44L371.4 256l32.9 53.5-111.7 182C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H229zM128.9 344L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l-34.4 56H86.6l108 176H128.9zM229 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87-32.9-53.5L425.4 168H194.6L229 112z\", \"M283 112L256 68 140.6 256l-32.9-53.5 111.7-182C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H283zm100.1 56L490.5 343c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l34.4-56h42.3l-108-176h65.7zM283 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87 32.9 53.5L86.6 344H317.4L283 400z\"]]\n};\nvar faFlagSwallowtail = {\n prefix: 'fad',\n iconName: 'flag-swallowtail',\n icon: [448, 512, [\"flag-alt\"], \"f74c\", [\"M424 32H64V352H424c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L352 192 443.2 70.4c3.1-4.2 4.8-9.2 4.8-14.4c0-13.3-10.7-24-24-24z\", \"M32 0C49.7 0 64 14.3 64 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z\"]]\n};\nvar faFlagAlt = faFlagSwallowtail;\nvar faPersonMilitaryRifle = {\n prefix: 'fad',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", [\"M437.9 40l13.9 8 13.9 8c7.7 4.4 10.3 14.2 5.9 21.9L416 173.9l1.6 .9c15.3 8.8 20.6 28.4 11.7 43.7l-30.4 52.7c-1.9 3.2-4.2 6-6.9 8.3c-16.1-22.6-38.6-39.5-64.2-48.8L421.9 67.7c-7.7-4.4-10.3-14.2-5.9-21.9s14.2-10.3 21.9-5.9zM182.7 78.6H329.4c4.3 9.8 6.7 20.6 6.7 32c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-11.4 2.4-22.2 6.7-32zm148.4 430L149.7 249.5c8.6-6.4 18-11.8 27.9-16L351.8 482.4c-1.4 12.1-9.6 22.2-20.7 26.2z\", \"M178.1 19.5L334.1 .8C343.6-.4 352 7.1 352 16.6v46c0 8.8-7.2 16-16 16H181.7c-16.4 0-29.7-13.3-29.7-29.7c0-15 11.2-27.7 26.1-29.5zM113.7 289.4c9.4-15.8 21.7-29.3 36-40L331.1 508.6c-3.5 1.3-7.2 2-11.1 2H192c-17.7 0-32-14.3-32-32V368.3L106.4 459C95.2 478 70.7 484.3 51.7 473s-25.3-35.8-14.1-54.8l76.1-128.8zM352 478.6c0 1.3-.1 2.5-.2 3.8L177.5 233.5c16.6-7.1 34.6-10.9 53.3-10.9h50.4c48.1 0 92.6 25.4 117.1 66.8l76.1 128.8c11.2 19 4.9 43.5-14.1 54.8s-43.5 4.9-54.8-14.1L352 368.3V478.6zm-56-160a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faCarGarage = {\n prefix: 'fad',\n iconName: 'car-garage',\n icon: [640, 512, [], \"f5e2\", [\"M296.2 6.3c14.8-8.4 32.9-8.4 47.6 0L615.9 161.8c15.3 8.8 20.7 28.3 11.9 43.7s-28.3 20.7-43.7 11.9L320 66.4 55.9 217.4c-15.3 8.8-34.9 3.4-43.7-11.9s-3.4-34.9 11.9-43.7L296.2 6.3z\", \"M234.8 234.6L215.7 288H424.3l-19.1-53.4c-2.3-6.4-8.3-10.6-15.1-10.6H249.8c-6.8 0-12.8 4.3-15.1 10.6zm-88.6 57.8l28.3-79.3C185.9 181.3 216 160 249.8 160H390.2c33.8 0 64 21.3 75.3 53.1l28.3 79.3c20.1 8.5 34.2 28.4 34.2 51.6v40 64 32c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V448H192v32c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V448 384 344c0-23.2 14.1-43.1 34.2-51.6zM216 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faCartShopping = {\n prefix: 'fad',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", [\"M170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411c2 4.2 3.5 8.8 4.4 13.5L170.7 288z\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l51.6 271c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faShoppingCart = faCartShopping;\nvar faBookFont = {\n prefix: 'fad',\n iconName: 'book-font',\n icon: [448, 512, [], \"e0bf\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zM254.3 72.8l64 128 32 64c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L294.1 224H185.9l-27.6 55.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l32-64 64-128c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8zM240 115.8L201.9 192h76.2L240 115.8z\"]]\n};\nvar faShieldPlus = {\n prefix: 'fad',\n iconName: 'shield-plus',\n icon: [512, 512, [], \"e24a\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M232 280v64c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faVials = {\n prefix: 'fad',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", [\"M0 64C0 46.3 14.3 32 32 32H88h48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80L32 96C14.3 96 0 81.7 0 64zM136 96H88V400c0 13.3 10.7 24 24 24s24-10.7 24-24V96zM288 64c0-17.7 14.3-32 32-32h56 48 56c17.7 0 32 14.3 32 32s-14.3 32-32 32V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V96c-17.7 0-32-14.3-32-32zM424 96H376V400c0 13.3 10.7 24 24 24s24-10.7 24-24V96z\", \"M136 256H88V400c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm288 0H376V400c0 13.3 10.7 24 24 24s24-10.7 24-24V256z\"]]\n};\nvar faEyeDropperFull = {\n prefix: 'fad',\n iconName: 'eye-dropper-full',\n icon: [512, 512, [], \"e172\", [\"M198.7 180L55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L332 313.3 286.7 268 143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L244 225.3 198.7 180z\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM143.4 411.3L261.4 293.4l-42.7-42.7L100.7 368.6c-3 3-4.7 7.1-4.7 11.3V416h36.1c4.2 0 8.3-1.7 11.3-4.7z\"]]\n};\nvar faDistributeSpacingHorizontal = {\n prefix: 'fad',\n iconName: 'distribute-spacing-horizontal',\n icon: [512, 512, [], \"e365\", [\"M160 144c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V144z\", \"M56 0C42.7 0 32 10.7 32 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24C80 10.7 69.3 0 56 0zM456 0c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24z\"]]\n};\nvar faTabletRugged = {\n prefix: 'fad',\n iconName: 'tablet-rugged',\n icon: [448, 512, [], \"f48f\", [\"M32 176L8.8 164.4C3.4 161.7 0 156.2 0 150.1V73.9c0-6.1 3.4-11.6 8.8-14.3L34.3 46.8C41.8 19.8 66.6 0 96 0H352c29.4 0 54.2 19.8 61.7 46.8l25.5 12.7c5.4 2.7 8.8 8.3 8.8 14.3v76.2c0 6.1-3.4 11.6-8.8 14.3L416 176v16l23.2 11.6c5.4 2.7 8.8 8.3 8.8 14.3v76.2c0 6.1-3.4 11.6-8.8 14.3L416 320v16l23.2 11.6c5.4 2.7 8.8 8.2 8.8 14.3v76.2c0 6.1-3.4 11.6-8.8 14.3l-25.5 12.7c-7.5 27-32.3 46.8-61.7 46.8H96c-29.4 0-54.2-19.8-61.7-46.8L8.8 452.4C3.4 449.7 0 444.2 0 438.1V361.9c0-6.1 3.4-11.6 8.8-14.3L32 336V320L8.8 308.4C3.4 305.7 0 300.2 0 294.1V217.9c0-6.1 3.4-11.6 8.8-14.3L32 192V176zM112 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112z\", \"M96 80c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V80z\"]]\n};\nvar faTemperatureSnow = {\n prefix: 'fad',\n iconName: 'temperature-snow',\n icon: [576, 512, [\"temperature-frigid\"], \"f768\", [\"M432 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C358.2 332.6 352 349.5 352 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM320 112C320 50.2 370.1 0 432 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144s-144-64.5-144-144c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M288 131.6l-88 50.8V126.6l35.3-35.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L200 81.4V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V81.4L139.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L152 126.6v55.8l-48.3-27.9L90.7 106.3C88.5 97.7 79.7 92.7 71.2 95s-13.6 11.1-11.3 19.6l4.6 17.3-22-12.7C31 112.6 16.3 116.5 9.7 128s-2.7 26.2 8.8 32.8l22 12.7-17.3 4.6c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l48.2-12.9L128 224 79.7 251.9 31.4 239c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l17.3 4.6-22 12.7C7 293.8 3.1 308.5 9.7 320s21.3 15.4 32.8 8.8l22-12.7-4.6 17.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l12.9-48.2L152 265.6v55.8l-35.3 35.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L152 366.6V392c0 13.3 10.7 24 24 24s24-10.7 24-24V366.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L200 321.4V265.6l67.7 39.1c5.2-13.5 12-26.2 20.3-37.9v-5.8l-64-37 64-37V131.6zM432 256c-8.8 0-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16z\"]]\n};\nvar faTemperatureFrigid = faTemperatureSnow;\nvar faMoped = {\n prefix: 'fad',\n iconName: 'moped',\n icon: [640, 512, [], \"e3b9\", [\"M128 96c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H128zM512 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM64 384c0 53 43 96 96 96s96-43 96-96H208c0 26.5-21.5 48-48 48s-48-21.5-48-48H64z\", \"M328 56c0-13.3 10.7-24 24-24h41.3c23.8 0 45.1 15.1 52.9 37.6l8.1 23.3 51-25.5c4.4-2.2 9.3-3.4 14.3-3.4H528c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-8.4c-5 0-9.9-1.2-14.3-3.4l-34.9-17.5L500 224.4c4-.3 8-.4 12-.4c43.7 0 83.3 17.5 112.1 45.8c9.5 9.3 9.6 24.5 .3 33.9s-24.5 9.6-33.9 .3C570.2 284.2 542.6 272 512 272c-55.1 0-101 39.8-110.3 92.3c-2 11.5-12 19.8-23.6 19.8H336c-.9 0-1.7 0-2.6-.1H32c-17.7 0-32-14.3-32-32V320c0-70.7 57.3-128 128-128h96c17.7 0 32 14.3 32 32v64c0 17.7 14.3 32 32 32h77.3c16.8-38.5 48.4-69.2 87.6-84.7L400.8 85.4c-1.1-3.2-4.2-5.4-7.6-5.4H352c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faFaceSmilePlus = {\n prefix: 'fad',\n iconName: 'face-smile-plus',\n icon: [640, 512, [\"smile-plus\"], \"f5b9\", [\"M224 512a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM144.4 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM140 346.1c20.5 23.3 50.6 37.9 84 37.9s63.5-14.6 84-37.9c5.8-6.6 16-7.3 22.6-1.4s7.3 16 1.4 22.6C305.6 397.1 267 416 224 416s-81.6-18.9-108-48.7c-5.8-6.6-5.2-16.7 1.4-22.6s16.7-5.2 22.6 1.4z\", \"M544 0c13.3 0 24 10.7 24 24V72h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H568v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V120H472c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V24c0-13.3 10.7-24 24-24zM144.4 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faSmilePlus = faFaceSmilePlus;\nvar faRadioTuner = {\n prefix: 'fad',\n iconName: 'radio-tuner',\n icon: [512, 512, [\"radio-alt\"], \"f8d8\", [\"M64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zM384 320a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM64 352c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 64c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM96 192H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M511 17.2c3.7 12.7-3.6 26.1-16.3 29.8L218.5 128H64c-13.9 0-26.9 4.5-37.4 12c7.3-5.9 15.7-10.4 25.1-13.2L481.3 1C494-2.8 507.3 4.5 511 17.2zM64 224c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM320 384a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]]\n};\nvar faRadioAlt = faRadioTuner;\nvar faFaceSwear = {\n prefix: 'fad',\n iconName: 'face-swear',\n icon: [640, 512, [], \"e399\", [\"M64 256H576C576 114.6 461.4 0 320 0S64 114.6 64 256zm208.4-64c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-8.8 3.6-16.8 9.3-22.6l-30.7-10.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l96 32c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-10.9-3.6c.2 1.5 .3 2.9 .3 4.4zm128 32c-17.7 0-32-14.3-32-32c0-1.6 .1-3.2 .3-4.7l-11.7 3.9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l96-32c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2l-30.2 10.1c5.9 5.8 9.5 13.9 9.5 22.8c0 17.7-14.3 32-32 32z\", \"M0 336c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336zm416 32c0-8.8-7.2-16-16-16l-16 0V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H320V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V448h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V384h16c8.8 0 16-7.2 16-16zm-64 16v32H320V384h32zm220.1-29.6c5.8-6.7 5-16.8-1.7-22.6s-16.8-5-22.6 1.7l-96 112c-5.8 6.7-5 16.8 1.7 22.6s16.8 5 22.6-1.7l96-112zM472 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM224 336c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336zM208 480a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM112 320c-8.8 0-16 7.2-16 16v1.5c-5.6 1.2-11.6 3.3-16.9 7c-7.5 5.3-12.7 13.3-14.5 23.5c-1.3 7.2-.6 14.4 2.5 20.9c3 6.4 7.8 10.9 12.4 14.1c8.1 5.5 18.7 8.7 26.4 11l1.5 .5c9.4 2.8 15.2 4.9 18.7 7.4c1.4 1 1.6 1.5 1.6 1.6l0 0c0 .1 .1 .2 .1 .6c0 .4 0 1.2-.2 2.3c-.5 3.1-1.5 3.7-2 4l0 0c-1.1 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c4.9 1.6 12.1 4 20.2 5.9v3c0 8.8 7.2 16 16 16s16-7.2 16-16v-.8c5.1-.8 10.4-2.4 15.3-5.4c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.1c-2.8-6.6-7.4-11.3-12.1-14.7c-8.5-6.2-19.6-9.5-27.6-11.9l-.7-.2c-9.6-2.9-15.5-4.8-19.2-7.3c-1-.7-1.4-1.1-1.5-1.3c0-.2-.1-.8 .1-1.8c.3-1.9 .9-2.4 1.5-2.9c1.1-.8 3.3-1.7 7.4-2.2c8.3-.9 18.9 .8 26.8 2.9c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.6V336c0-8.8-7.2-16-16-16zM96.1 375.4c0 0 0 0 0-.1c0 0 0 .1 0 .1s0 0 0 0z\"]]\n};\nvar faWaterArrowDown = {\n prefix: 'fad',\n iconName: 'water-arrow-down',\n icon: [576, 512, [\"water-lower\"], \"f774\", [\"M306.5 293.9c-11.1-7.9-25.9-7.9-37 0C247 309.4 219.5 320 192 320c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 373.7 159 384 192 384c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 309.2 410.9 320 384 320c-27.5 0-55-10.6-77.5-26.1zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\", \"M320 135.7l34.5-31.3c13.1-11.9 33.3-10.9 45.2 2.2s10.9 33.3-2.2 45.2l-88 80c-12.2 11.1-30.8 11.1-43.1 0l-88-80c-13.1-11.9-14-32.1-2.2-45.2s32.1-14 45.2-2.2L256 135.7 256 32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 103.7z\"]]\n};\nvar faWaterLower = faWaterArrowDown;\nvar faScannerTouchscreen = {\n prefix: 'fad',\n iconName: 'scanner-touchscreen',\n icon: [512, 512, [], \"f48a\", [\"M64 96C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm24 64H264c13.3 0 24 10.7 24 24V424c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\", \"M152 0c-13.3 0-24 10.7-24 24V64h64V24c0-13.3-10.7-24-24-24H152zM312 0c-13.3 0-24 10.7-24 24V64h64V24c0-13.3-10.7-24-24-24H312zM224 16V64h32V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM400 0c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zm48 24V264c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H472c-13.3 0-24 10.7-24 24zM88 160c-13.3 0-24 10.7-24 24V424c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24H88z\"]]\n};\nvar faCircle7 = {\n prefix: 'fad',\n iconName: 'circle-7',\n icon: [512, 512, [], \"e0f4\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H328c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 152c0-13.3 10.7-24 24-24H328c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faPlugCirclePlus = {\n prefix: 'fad',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", [\"M128 32v96H64V32C64 14.3 78.3 0 96 0s32 14.3 32 32zm192 0v96H256V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32c0 2.3-.3 4.6-.7 6.8C309.8 220 256 287.7 256 368c0 11.4 1.1 22.5 3.1 33.3c-11.1 5.1-22.9 9-35.1 11.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]]\n};\nvar faPersonSkiJumping = {\n prefix: 'fad',\n iconName: 'person-ski-jumping',\n icon: [512, 512, [\"ski-jump\"], \"f7c7\", [\"M488 168c13.3 0 24 10.7 24 24v7.3c0 38.9-21.7 74.5-56.2 92.4L35 509.3C23.3 515.4 8.8 510.8 2.7 499s-1.5-26.3 10.3-32.3L433.7 249.1c18.6-9.6 30.3-28.8 30.3-49.7V192c0-13.3 10.7-24 24-24z\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 128c0-17.7 14.3-32 32-32H304.5c46 0 65.7 58.4 29 86.2L230.1 260.8l-6.4 7.5c-2.4 2.8-4.4 6.1-5.7 9.6L179.5 380.6l-55.3 28.6c-10.7-8.4-15.2-23-10.2-36.4l44-117.4c3.9-10.5 9.7-20.2 17-28.8L232.1 160H160c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faSkiJump = faPersonSkiJumping;\nvar faPlaceOfWorship = {\n prefix: 'fad',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", [\"M160 272L28.3 331.3C11.1 339 0 356.2 0 375v89c0 26.5 21.5 48 48 48H160V272zM480 512H592c26.5 0 48-21.5 48-48V375c0-18.9-11.1-36-28.3-43.8L480 272V512z\", \"M224 201.6V109.3c0-8.5 3.4-16.6 9.4-22.6l75.3-75.3c6.2-6.2 16.4-6.2 22.6 0l75.3 75.3c6 6 9.4 14.1 9.4 22.6v92.3L456.7 226c14.5 8.7 23.3 24.3 23.3 41.2V512H384V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v96H160V267.2c0-16.9 8.8-32.5 23.3-41.2L224 201.6z\"]]\n};\nvar faWaterArrowUp = {\n prefix: 'fad',\n iconName: 'water-arrow-up',\n icon: [576, 512, [\"water-rise\"], \"f775\", [\"M306.5 293.9c-11.1-7.9-25.9-7.9-37 0C247 309.4 219.5 320 192 320c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 373.7 159 384 192 384c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.5-27.3-10.1-39.2-1.7l0 0C439.4 309.2 410.9 320 384 320c-27.5 0-55-10.6-77.5-26.1zM384 448c-27.5 0-55-10.6-77.5-26.1c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448z\", \"M320 104.3l34.5 31.3c13.1 11.9 33.3 10.9 45.2-2.2s10.9-33.3-2.2-45.2l-88-80c-12.2-11.1-30.8-11.1-43.1 0l-88 80c-13.1 11.9-14 32.1-2.2 45.2s32.1 14 45.2 2.2L256 104.3 256 208c0 17.7 14.3 32 32 32s32-14.3 32-32l0-103.7z\"]]\n};\nvar faWaterRise = faWaterArrowUp;\nvar faWaveformLines = {\n prefix: 'fad',\n iconName: 'waveform-lines',\n icon: [640, 512, [\"waveform-path\"], \"f8f2\", [\"M320 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM128 192c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\", \"M256 128c0-17.7-14.3-32-32-32s-32 14.3-32 32V384c0 17.7 14.3 32 32 32s32-14.3 32-32V128zm192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V352c0 17.7 14.3 32 32 32s32-14.3 32-32V160zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm576 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]]\n};\nvar faWaveformPath = faWaveformLines;\nvar faSplit = {\n prefix: 'fad',\n iconName: 'split',\n icon: [512, 512, [], \"e254\", [\"M165.5 288c8.5 0 16.6 3.4 22.6 9.4l90.5 90.5c18 18 42.4 28.1 67.9 28.1H384v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c6-6 9.4-14.1 9.4-22.6s-3.4-16.6-9.4-22.6l-64-64c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6v32H346.5c-8.5 0-16.6-3.4-22.6-9.4L237.3 256l-3.9 3.9c-18 18-42.4 28.1-67.9 28.1z\", \"M438.6 41.4c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6V96H346.5c-25.5 0-49.9 10.1-67.9 28.1l-90.5 90.5c-6 6-14.1 9.4-22.6 9.4H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H165.5c25.5 0 49.9-10.1 67.9-28.1l90.5-90.5c6-6 14.1-9.4 22.6-9.4H384v32c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l64-64c6-6 9.4-14.1 9.4-22.6s-3.4-16.6-9.4-22.6l-64-64z\"]]\n};\nvar faFilmCanister = {\n prefix: 'fad',\n iconName: 'film-canister',\n icon: [576, 512, [\"film-cannister\"], \"f8b7\", [\"M32 96H320V448H32V96z\", \"M96 32c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H96zM0 480c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM320 128H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32 14.3-32 32v32c0 17.7-14.3 32-32 32H320V128zm72 56v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184c0-8.8-7.2-16-16-16H408c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184c0-8.8-7.2-16-16-16H504zM392 344v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V344c0-8.8-7.2-16-16-16H408c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faFilmCannister = faFilmCanister;\nvar faFolderXmark = {\n prefix: 'fad',\n iconName: 'folder-xmark',\n icon: [512, 512, [\"folder-times\"], \"f65f\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM175 207c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M209 207c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faFolderTimes = faFolderXmark;\nvar faToiletPaperBlank = {\n prefix: 'fad',\n iconName: 'toilet-paper-blank',\n icon: [640, 512, [\"toilet-paper-alt\"], \"f71f\", [\"M48 512c-11.5 0-22.2-6.2-27.8-16.2s-5.6-22.3 .4-32.2C63.6 385.7 64 277.3 64 192C64 86 107 0 160 0H512c-53 0-96 86-96 192c0 158.8-27.3 247-42.7 283.9c-10 24-33.2 36.1-55.4 36.1H48z\", \"M399.6 384H512c53 0 96-86 96-192S565 0 512 0s-96 86-96 192c0 81.9-7.3 145-16.4 192zM544 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64z\"]]\n};\nvar faToiletPaperAlt = faToiletPaperBlank;\nvar faTabletScreen = {\n prefix: 'fad',\n iconName: 'tablet-screen',\n icon: [448, 512, [\"tablet-android-alt\"], \"f3fc\", [\"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 448c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM384 64H64V384H384V64z\", \"M64 64H384V384H64V64z\"]]\n};\nvar faTabletAndroidAlt = faTabletScreen;\nvar faHexagonVerticalNftSlanted = {\n prefix: 'fad',\n iconName: 'hexagon-vertical-nft-slanted',\n icon: [448, 512, [], \"e506\", [\"M260.9 495.5c-22.3 12.9-49.7 12.9-72 0L36 407.2C13.7 394.4 0 370.6 0 344.9V168.3c0-25.7 13.7-49.5 36-62.4L188.9 17.7c22.3-12.9 49.7-12.9 72 0l152.9 88.3c22.3 12.9 36 36.6 36 62.4V344.9c0 25.7-13.7 49.5-36 62.4L260.9 495.5zm11.1-372c0-5.7-3.1-11-8.1-13.9L216.1 82.3c-2-1.2-4.3-2-6.8-2.2c-.5 0-1-.1-1.4-.1l-.1 0c-3.3 0-6.3 1-8.8 2.6c-1.5 1-2.9 2.2-4 3.7c-1.2 1.5-2.1 3.3-2.6 5.2c-.4 1.6-.6 3.1-.6 4.7V256.6v144c0 8.8 7.2 16 16 16s16-7.2 16-16v-128h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-32v-117l24.2 13.8c10.7 6.1 23.9-1.6 23.9-13.9zm16 27.4c0 5.7 3.1 11 8.1 13.9l23.8 13.6V352.6c0 8.8 7.2 16 16 16s16-7.2 16-16V196.6l16.2 9.3c7.7 4.4 17.4 1.7 21.8-6s1.7-17.4-6-21.8l-72-41.1c-10.7-6.1-23.9 1.6-23.9 13.9zM143.8 128.6c-8.8 0-16 7.2-16 16V270L95 171.5c-2.5-7.4-10-12-17.7-10.7s-13.4 7.9-13.4 15.8v160c0 8.8 7.2 16 16 16s16-7.2 16-16V275.2l32.8 98.5c2.5 7.4 10 12 17.7 10.7s13.4-7.9 13.4-15.8v-224c0-8.8-7.2-16-16-16z\", \"M263.9 109.6c5 2.8 8.1 8.2 8.1 13.9c0 12.3-13.3 20-23.9 13.9l-24.2-13.8v117h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v128c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144V96.3c0-1.6 .2-3.2 .6-4.7c.5-1.9 1.4-3.7 2.6-5.2c1.1-1.5 2.5-2.8 4-3.7c2.5-1.7 5.6-2.6 8.8-2.6c0 0 .1 0 .1 0c.5 0 1 0 1.4 .1c2.5 .2 4.8 1 6.8 2.2l47.8 27.3zm32.1 55.2c-5-2.8-8.1-8.2-8.1-13.9c0-12.3 13.3-20 23.9-13.9l72 41.1c7.7 4.4 10.3 14.2 6 21.8s-14.2 10.3-21.8 6l-16.2-9.3V352.6c0 8.8-7.2 16-16 16s-16-7.2-16-16V178.4l-23.8-13.6zM159.8 144.6v224c0 7.8-5.7 14.5-13.4 15.8s-15.3-3.3-17.7-10.7L95.8 275.2v61.4c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.8 5.7-14.5 13.4-15.8s15.3 3.3 17.7 10.7L127.8 270V144.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faFolderMusic = {\n prefix: 'fad',\n iconName: 'folder-music',\n icon: [512, 512, [], \"e18d\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM352 192c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V283.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V224 192z\", \"M345.1 178.8c4.3 3 6.9 7.9 6.9 13.2v32V352c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V247.1l-96 36V384c0 17.7-21.5 32-48 32s-48-14.3-48-32s21.5-32 48-32c5.6 0 11 .6 16 1.8V272 240c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8z\"]]\n};\nvar faDisplayMedical = {\n prefix: 'fad',\n iconName: 'display-medical',\n icon: [576, 512, [\"desktop-medical\"], \"e166\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\", \"M64 64H512V352H64V64zM346.7 448H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416h96l10.7 32zM256 128v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H320V128c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faDesktopMedical = faDisplayMedical;\nvar faShareAll = {\n prefix: 'fad',\n iconName: 'share-all',\n icon: [576, 512, [], \"f367\", [\"M371 34.8c-11.5 5.1-19 16.6-19 29.2v43.3l85.4 76.9c6.7 6.1 10.6 14.7 10.6 23.8s-3.8 17.7-10.6 23.8L352 308.7V352c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\", \"M243 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h32v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4z\"]]\n};\nvar faPeapod = {\n prefix: 'fad',\n iconName: 'peapod',\n icon: [512, 512, [], \"e31c\", [\"M368 200a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm-56 56a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zM200 368A56 56 0 1 0 88 368a56 56 0 1 0 112 0z\", \"M464 0H416C186.2 0 0 186.2 0 416v48c0 26.5 21.5 48 48 48H96c229.8 0 416-186.2 416-416V48c0-26.5-21.5-48-48-48zM256 200a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM88 368a56 56 0 1 1 112 0A56 56 0 1 1 88 368zM368 88a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]]\n};\nvar faChessClock = {\n prefix: 'fad',\n iconName: 'chess-clock',\n icon: [640, 512, [], \"f43d\", [\"M256 56c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v48h48V80h32c13.3 0 24-10.7 24-24zm128 56v16H544V112c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16zM523.3 244.7c-6.2-6.2-16.4-6.2-22.6 0l-48 48c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l48-48c6.2-6.2 6.2-16.4 0-22.6zM160 240v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16s-16 7.2-16 16z\", \"M0 192c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zM288 304A112 112 0 1 0 64 304a112 112 0 1 0 224 0zM464 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]]\n};\nvar faAxe = {\n prefix: 'fad',\n iconName: 'axe',\n icon: [640, 512, [129683], \"f6b2\", [\"M486.6 9.4l16 16c12.5 12.5 12.5 32.8 0 45.3L469.3 104 408 42.7 441.4 9.4c12.5-12.5 32.8-12.5 45.3 0zM266.7 184L328 245.3 70.6 502.6c-12.5 12.5-32.8 12.5-45.3 0l-16-16c-12.5-12.5-12.5-32.8 0-45.3L266.7 184zM576 160h32c17.7 0 32 14.3 32 32c0 123.7-100.3 224-224 224c-17.7 0-32-14.3-32-32V352h32c11 0 21.7-1.1 32-3.2c62.7-12.7 112.1-62.1 124.8-124.8c2.1-10.3 3.2-21 3.2-32V160z\", \"M329.4 9.4c12.5-12.5 32.8-12.5 45.3 0L525.3 160H576v32c0 88.4-71.6 160-160 160H384V301.3L233.4 150.6c-12.5-12.5-12.5-32.8 0-45.3l96-96z\"]]\n};\nvar faSquareD = {\n prefix: 'fad',\n iconName: 'square-d',\n icon: [448, 512, [], \"e268\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm24 208h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H176V336z\", \"M128 152c0-13.3 10.7-24 24-24h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H152c-13.3 0-24-10.7-24-24V152zm48 24V336h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H176z\"]]\n};\nvar faGripVertical = {\n prefix: 'fad',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", [\"M232 480c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zm0-160c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zm0-288l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z\", \"M40 480l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zm0-160l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM40 32C17.9 32 0 49.9 0 72l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40L40 32z\"]]\n};\nvar faMobileSignalOut = {\n prefix: 'fad',\n iconName: 'mobile-signal-out',\n icon: [512, 512, [], \"e1f0\", [\"M224 64H64V448H288V288h64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H224V64zM128 400c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16z\", \"M256 24c0-13.3 10.7-24 24-24C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24zm0 200a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM280 96c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faArrowTurnUp = {\n prefix: 'fad',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", [\"M160 109.3L160 416c0 17.7-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c53 0 96-43 96-96l0-306.7-32-32-32 32z\", \"M41.4 182.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L192 77.3 86.6 182.6c-12.5 12.5-32.8 12.5-45.3 0z\"]]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'fad',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", [\"M32 32c17.7 0 32 14.3 32 32V288c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7 14.3-32 32-32s32 14.3 32 32V288c0 106-86 192-192 192S0 394 0 288V64C0 46.3 14.3 32 32 32z\", \"\"]]\n};\nvar faArrowUpFromDottedLine = {\n prefix: 'fad',\n iconName: 'arrow-up-from-dotted-line',\n icon: [448, 512, [], \"e09b\", [\"M64 448A32 32 0 1 1 0 448a32 32 0 1 1 64 0zm96 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M201.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 141.3V208 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V208 141.3l-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128z\"]]\n};\nvar faSquareRootVariable = {\n prefix: 'fad',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", [\"M282.6 78.1c8-27.3 33-46.1 61.4-46.1H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H344L238.7 457c-3.6 12.3-14.1 21.2-26.8 22.8s-25.1-4.6-31.5-15.6L77.6 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H77.6c22.8 0 43.8 12.1 55.3 31.8l65.2 111.8L282.6 78.1z\", \"M521.4 233.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L525.3 320l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L480 365.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 320l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L480 274.7l41.4-41.4z\"]]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faLightSwitchOn = {\n prefix: 'fad',\n iconName: 'light-switch-on',\n icon: [384, 512, [], \"e019\", [\"M160 96c-35.3 0-64 28.7-64 64v96H288V160c0-35.3-28.7-64-64-64H160z\", \"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm96 96V352c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM208 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faArrowDownArrowUp = {\n prefix: 'fad',\n iconName: 'arrow-down-arrow-up',\n icon: [576, 512, [\"sort-alt\"], \"f883\", [\"M393.4 41.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L448 141.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V141.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96z\", \"M137.4 470.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 370.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V370.7L86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96z\"]]\n};\nvar faSortAlt = faArrowDownArrowUp;\nvar faRaindrops = {\n prefix: 'fad',\n iconName: 'raindrops',\n icon: [448, 512, [], \"f75c\", [\"M148.5 39.2l-46.1 94.4c-4.2 8.6-6.4 18-6.4 27.6c0 34.7 28.1 62.8 62.8 62.8h2.4c34.7 0 62.8-28.1 62.8-62.8c0-9.6-2.2-19-6.4-27.6L171.5 39.2c-2.1-4.4-6.6-7.2-11.5-7.2s-9.4 2.8-11.5 7.2zm-96 192L6.4 325.6c-4.2 8.6-6.4 18-6.4 27.6C0 387.9 28.1 416 62.8 416h2.4c34.7 0 62.8-28.1 62.8-62.8c0-9.6-2.2-19-6.4-27.6L75.5 231.2c-2.1-4.4-6.6-7.2-11.5-7.2s-9.4 2.8-11.5 7.2z\", \"M210 294.2l97.8-159.4c2.6-4.2 7.2-6.8 12.2-6.8s9.6 2.6 12.2 6.8L430 294.2c11.8 19.2 18 41.3 18 63.8c0 67.4-54.6 122-122 122H314c-67.4 0-122-54.6-122-122c0-22.5 6.2-44.6 18-63.8z\"]]\n};\nvar faDash = {\n prefix: 'fad',\n iconName: 'dash',\n icon: [512, 512, [\"minus-large\"], \"e404\", [\"M0 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"\"]]\n};\nvar faMinusLarge = faDash;\nvar faClock = {\n prefix: 'fad',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\", \"M256 96c-13.3 0-24 10.7-24 24V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24z\"]]\n};\nvar faClockFour = faClock;\nvar faInputNumeric = {\n prefix: 'fad',\n iconName: 'input-numeric',\n icon: [640, 512, [], \"e1bd\", [\"M576 128V384H64V128H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\", \"M294.6 214.4c5.7-8 17.5-8.6 24-1.2c5.2 5.9 5 14.7-.3 20.5l-72 78c-6.5 7-8.2 17.2-4.3 25.9s12.5 14.4 22 14.4h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H318.8l34.8-37.7c22-23.8 22.4-60.3 1.1-84.7c-26.9-30.7-75.4-28.4-99.2 4.9l-11.1 15.6c-7.7 10.8-5.2 25.8 5.6 33.5s25.8 5.2 33.5-5.6l11.1-15.6zM128 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V184c0-13.3-10.7-24-24-24H128z\"]]\n};\nvar faTruckTow = {\n prefix: 'fad',\n iconName: 'truck-tow',\n icon: [640, 512, [], \"e2b8\", [\"M96 0h49.5c9.2 0 18 4 24.1 10.9L384 256H192L96 64V176c0 26.5-21.5 48-48 48s-48-21.5-48-48V160c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V32C64 14.3 78.3 0 96 0zm0 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm400-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M416 96c-17.7 0-32 14.3-32 32V256H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H384h1.1c7.8-54.3 54.4-96 110.9-96c56.2 0 102.8 41.4 110.8 95.4c18.9-3.2 33.2-19.6 33.2-39.4V288 256 237.3c0-17-6.7-33.3-18.7-45.3L544 114.7c-12-12-28.3-18.7-45.3-18.7H416zM576 256H448V160h50.7L576 237.3V256z\"]]\n};\nvar faBackwardStep = {\n prefix: 'fad',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", [\"M32 448c-17.7 0-32-14.3-32-32V96C0 78.3 14.3 64 32 64s32 14.3 32 32V416c0 17.7-14.3 32-32 32z\", \"M301.6 445c-11.2 5.3-24.5 3.6-34.1-4.4l-192-160L64 271V241l11.5-9.6 192-160c9.5-7.9 22.8-9.7 34.1-4.4S320 83.6 320 96V416c0 12.4-7.2 23.7-18.4 29z\"]]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'fad',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", [\"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96 320 544h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H544 320 96 32zm96 64H288v64H128V384zm224 0H512v64H352V384z\", \"\"]]\n};\nvar faCarBolt = {\n prefix: 'fad',\n iconName: 'car-bolt',\n icon: [512, 512, [], \"e341\", [\"M96 400H0v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V400zm416 0H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V400z\", \"M74.8 96.3L39.6 196.8C16.4 206.4 0 229.3 0 256V400H512V256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM96 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM318.3 119.2L281.9 192H336c6.9 0 13 4.4 15.2 10.9s-.1 13.7-5.6 17.9l-128 96c-5.9 4.5-14.2 4.2-19.9-.5s-7.4-12.8-4.1-19.4L230.1 224H176c-6.9 0-13-4.4-15.2-10.9s.1-13.7 5.6-17.9l128-96c5.9-4.5 14.2-4.2 19.9 .5s7.4 12.8 4.1 19.4z\"]]\n};\nvar faArrowsMaximize = {\n prefix: 'fad',\n iconName: 'arrows-maximize',\n icon: [512, 512, [\"expand-arrows\"], \"f31d\", [\"M192 32c17.7 0 32 14.3 32 32s-14.3 32-32 32H141.3L256 210.7 210.7 256 96 141.3V192c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192zm64 269.3L301.3 256 416 370.7V320c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h50.7L256 301.3z\", \"M288 64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32s-32-14.3-32-32V141.3L141.3 416H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32s32 14.3 32 32v50.7L370.7 96H320c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faExpandArrows = faArrowsMaximize;\nvar faFaucet = {\n prefix: 'fad',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", [\"M192 96v12l32 4 32-4V96c0-17.7-14.3-32-32-32s-32 14.3-32 32zm0 52v76H173.3c-8.5 0-16.6 3.4-22.6 9.4L128 256H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H132.1c20.2 29 53.9 48 91.9 48s71.7-19 91.9-48H352c17.7 0 32 14.3 32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32c0-88.4-71.6-160-160-160H320l-22.6-22.6c-6-6-14.1-9.4-22.6-9.4H256V148l-32-4-32 4z\", \"M96 160l128-16 128 16c17.7 0 32-14.3 32-32s-14.3-32-32-32L224 112 96 96c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]]\n};\nvar faCloudSleet = {\n prefix: 'fad',\n iconName: 'cloud-sleet',\n icon: [512, 512, [], \"f741\", [\"M94.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zm272 0c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zM192 352c-13.3 0-24 10.7-24 24v16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V376c0-13.3-10.7-24-24-24zm256 0c-13.3 0-24 10.7-24 24v16H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V376c0-13.3-10.7-24-24-24z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faLampStreet = {\n prefix: 'fad',\n iconName: 'lamp-street',\n icon: [512, 512, [], \"e1c5\", [\"M176 64C114.1 64 64 114.1 64 176V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V176C0 78.8 78.8 0 176 0s176 78.8 176 176v18.7c-10.4-1.7-21.1-2.7-32-2.7s-21.6 .9-32 2.7V176c0-61.9-50.1-112-112-112zM384 384c0 35.3-28.7 64-64 64s-64-28.7-64-64H384z\", \"M320 192c-95.2 0-174.2 69.3-189.4 160.1C127.7 369.6 142.3 384 160 384H480c17.7 0 32.3-14.4 29.4-31.9C494.2 261.3 415.2 192 320 192z\"]]\n};\nvar faListRadio = {\n prefix: 'fad',\n iconName: 'list-radio',\n icon: [512, 512, [], \"e1d0\", [\"M160 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm32 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M64 160A64 64 0 1 0 64 32a64 64 0 1 0 0 128zm0 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 88a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 88a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faPenNibSlash = {\n prefix: 'fad',\n iconName: 'pen-nib-slash',\n icon: [640, 512, [], \"e4a1\", [\"M306.4 337.4L404.9 415c-3.3 1.8-6.8 3.4-10.5 4.6L130.2 508.2c-11.3 3.8-23.9 1-32.4-7.3L251.3 347.3c6.3 3 13.3 4.7 20.7 4.7c13.5 0 25.7-5.6 34.4-14.6zm-160-126.1l85 67c-4.7 7.4-7.4 16.2-7.4 25.7c0 7.4 1.7 14.4 4.7 20.7L75.1 478.3c-8.3-8.6-11.2-21.1-7.3-32.4l78.6-234.5zm332.3 21.9l-28.3 94.4L208.1 137.8 342.8 97.3l9.2-2.8L481.4 224l-2.8 9.2zM432.4 18.3c21.9-21.9 57.3-21.9 79.2 0l46.1 46.1c21.9 21.9 21.9 57.3 0 79.2l-55.7 55.7L376.7 74.1l55.7-55.7z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBaseballBatBall = {\n prefix: 'fad',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", [\"M150.1 294.1l67.9 67.9-27.6 17.4c-11.5 7.3-22.2 15.8-31.9 25.5l-51.9 51.9L55.3 405.4l51.9-51.9c9.6-9.6 18.2-20.3 25.5-31.9l17.4-27.6zM432 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M424 0c-12.4 0-24.2 4.9-33 13.7L233.5 171.2c-10.5 10.5-19.8 22.1-27.7 34.6l-55.7 88.2 67.9 67.9 88.2-55.7c12.5-7.9 24.1-17.2 34.6-27.7L498.3 121c8.7-8.7 13.7-20.6 13.7-33s-4.9-24.2-13.7-33L457 13.7C448.2 4.9 436.4 0 424 0zM49 399c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L49 399z\"]]\n};\nvar faSquareUpLeft = {\n prefix: 'fad',\n iconName: 'square-up-left',\n icon: [448, 512, [], \"e282\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm64 281.4V176c0-8.8 7.2-16 16-16H281.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16L264 232l66.3 66.3c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C290 366 285.1 368 280 368s-10-2-13.7-5.7L200 296l-33.4 33.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6z\", \"M128 176V313.4c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L200 296l66.3 66.3c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l36.7-36.7c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7L264 232l33.4-33.4c4.2-4.2 6.6-10 6.6-16c0-12.5-10.1-22.6-22.6-22.6H144c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faOverline = {\n prefix: 'fad',\n iconName: 'overline',\n icon: [448, 512, [], \"f876\", [\"M400 304A176 176 0 1 1 48 304a176 176 0 1 1 352 0zM224 192a112 112 0 1 0 0 224 112 112 0 1 0 0-224z\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64z\"]]\n};\nvar faS = {\n prefix: 'fad',\n iconName: 's',\n icon: [320, 512, [115], \"53\", [\"M99.1 105.4C79 114 68.2 127.2 65.2 144.8c-2.4 14.1-.7 23.2 2 29.4c2.8 6.3 7.9 12.4 16.7 18.6c19.2 13.4 48.3 22.1 84.9 32.5c1 .3 1.9 .6 2.9 .8c32.7 9.3 72 20.6 100.9 40.7c15.7 10.9 29.9 25.5 38.6 45.1c8.8 19.8 10.8 42 6.6 66.3c-7.3 42.5-35.3 71.7-71.8 87.3c-35.4 15.2-79.1 17.9-123.7 10.9l-.2 0 0 0c-24-3.9-62.7-17.1-87.6-25.6c-4.8-1.7-9.2-3.1-12.8-4.3C5.1 440.8-3.9 422.7 1.6 405.9s23.7-25.8 40.5-20.3c4.9 1.6 10.2 3.4 15.9 5.4c25.4 8.6 56.4 19.2 74.4 22.1c36.8 5.7 67.5 2.5 88.5-6.5c20.1-8.6 30.8-21.8 33.9-39.4c2.4-14.1 .7-23.2-2-29.4c-2.8-6.3-7.9-12.4-16.7-18.6c-19.2-13.4-48.3-22.1-84.9-32.5c-1-.3-1.9-.6-2.9-.8c-32.7-9.3-72-20.6-100.9-40.7c-15.7-10.9-29.9-25.5-38.6-45.1c-8.8-19.8-10.8-42-6.6-66.3l31.5 5.5L2.1 133.9C9.4 91.4 37.4 62.2 73.9 46.6c35.4-15.2 79.1-17.9 123.7-10.9c13 2 52.4 9.6 66.6 13.4c17.1 4.5 27.2 22.1 22.7 39.2s-22.1 27.2-39.2 22.7c-11.2-3-48.1-10.2-60.1-12l4.9-31.5-4.9 31.5c-36.9-5.8-67.5-2.5-88.6 6.5z\", \"\"]]\n};\nvar faTimeline = {\n prefix: 'fad',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", [\"M512 176c11.4 0 22.2-2.4 32-6.7V224h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H352v54.7c-9.8-4.3-20.6-6.7-32-6.7s-22.2 2.4-32 6.7V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96V169.3c9.8 4.3 20.6 6.7 32 6.7s22.2-2.4 32-6.7V224H480V169.3c9.8 4.3 20.6 6.7 32 6.7z\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM512 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM296 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faKeyboard = {\n prefix: 'fad',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm16 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM160 336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336zM272 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM368 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM352 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240zM464 128h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM448 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\", \"M80 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H80zm0 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zM64 336v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H176zM160 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM272 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H272zM256 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM368 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H368zM352 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM464 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H464zM448 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H464z\"]]\n};\nvar faArrowsFromDottedLine = {\n prefix: 'fad',\n iconName: 'arrows-from-dotted-line',\n icon: [448, 512, [], \"e0a3\", [\"M64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm96 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M201.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H256v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l64-64zM192 384V352c0-17.7 14.3-32 32-32s32 14.3 32 32v32h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32z\"]]\n};\nvar faUsbDrive = {\n prefix: 'fad',\n iconName: 'usb-drive',\n icon: [640, 512, [], \"f8e9\", [\"M480 128H608c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H480V128zm56 80a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\", \"M0 160c0-35.3 28.7-64 64-64H448c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V160z\"]]\n};\nvar faBallot = {\n prefix: 'fad',\n iconName: 'ballot',\n icon: [448, 512, [], \"f732\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112zm0 128c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zM80 352h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm112 32c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16-272H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM192 256c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16z\", \"M64 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112zm0 128c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zM80 352h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\"]]\n};\nvar faCaretDown = {\n prefix: 'fad',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", [\"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\", \"\"]]\n};\nvar faLocationDotSlash = {\n prefix: 'fad',\n iconName: 'location-dot-slash',\n icon: [640, 512, [\"map-marker-alt-slash\"], \"f605\", [\"M459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4l90.2 70.7C255 134.7 284.9 112 320 112c44.2 0 80 35.8 80 80c0 28.3-14.7 53.1-36.8 67.4L459 334.5zm-52.8 81.6L128.1 196.9c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0c16.2-20.2 39-49.6 62.5-83.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faMapMarkerAltSlash = faLocationDotSlash;\nvar faCards = {\n prefix: 'fad',\n iconName: 'cards',\n icon: [640, 512, [], \"e3ed\", [\"M306.4 472.3l137-79.1c3.3-1.9 6.4-4.1 9.2-6.6c19.4-17.2 24.7-46.2 11.2-69.5L324.8 76.4C334.4 68.7 346.7 64 360 64H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360c-25.3 0-46.6-16.7-53.6-39.7zM582 187.6c14-14.5 13.2-38.5-2.2-51.9c-14-11.7-34.5-9.5-46.9 3.2l-4.7 5.2-5-5.2c-12.5-12.7-33.2-15-46.7-3.2c-15.7 13.5-16.5 37.5-2.5 51.9l48.4 49.9c3 3.2 8.2 3.2 11.5 0L582 187.6z\", \"M27.8 118.8C1.2 134.2-7.9 168.2 7.5 194.9l167 289.3c15.4 26.6 49.4 35.8 76.1 20.4L443.4 393.2c26.6-15.4 35.8-49.4 20.4-76.1L296.8 27.8C281.4 1.2 247.3-7.9 220.7 7.5L27.8 118.8zm143.6 55.5c3-11.1 14.4-17.7 25.6-14.8l26.9 7.2 76.1 20.4c26 7 41.4 33.7 34.4 59.7s-33.7 41.4-59.7 34.4l-8.8-2.4c-.4-.1-.8-.2-1.1-.3l17.7 30.7 12.1-7c6.7-3.8 15.2-1.6 19 5.1s1.6 15.2-5.1 19l-48.2 27.8c-6.7 3.8-15.2 1.6-19-5.1s-1.6-15.2 5.1-19l12.1-7-17.7-30.7c-.1 .4-.2 .7-.3 1.1l-2.4 8.8c-7 26-33.7 41.4-59.7 34.4s-41.4-33.7-34.4-59.7l20.4-76.1 7.2-26.9z\"]]\n};\nvar faHouseChimneyMedical = {\n prefix: 'fad',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H128.1c-35.3 0-64-28.6-64-64zM256 240v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H320V240c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9L416 101.5V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V185.5l53.1 46.4c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224zM256 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V352H208c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faBoxingGlove = {\n prefix: 'fad',\n iconName: 'boxing-glove',\n icon: [448, 512, [129354, \"glove-boxing\"], \"f438\", [\"M163.2 400H32v48c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V400H220.8l28 18.7c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4L192 419.2l-39.1 26.1c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2l28-18.7z\", \"M96 0C43 0 0 43 0 96V288c0 28.4 12.4 54 32 71.6V400H163.2l-28-18.7c-7.4-4.9-9.3-14.8-4.4-22.2s14.8-9.3 22.2-4.4L192 380.8l39.1-26.1c7.4-4.9 17.3-2.9 22.2 4.4s2.9 17.3-4.4 22.2l-28 18.7h132c2.2-13.1 8.4-25.2 17.9-34.7l49.1-49.1c18-18 28.1-42.4 28.1-67.9V224c0-35.3-28.7-64-64-64H352c-26.5 0-48 21.5-48 48c0 22.3 15.3 41.2 36 46.5c8.6 2.2 13.7 10.9 11.5 19.5s-10.9 13.7-19.5 11.5c-34.5-8.9-60-40.2-60-77.5c0-5.5 .6-10.8 1.6-16H144c-26.8 0-45.7-6.7-58.2-14.3c-6.2-3.7-10.7-7.6-13.8-10.7c-1.5-1.5-2.7-2.9-3.6-4c-.4-.5-.8-1-1.1-1.4l-.4-.5-.1-.2-.1-.1 0 0 0 0c0 0 0 0 13.3-8.9l-13.3 8.9c-4.9-7.4-2.9-17.3 4.4-22.2c7.3-4.8 17-3 22 4.2l0 0 .1 .1c.2 .2 .6 .8 1.3 1.5c1.4 1.4 3.9 3.6 7.7 5.8c7.4 4.5 20.6 9.7 41.8 9.7H288c14.6-19.4 37.8-32 64-32h32V96c0-53-43-96-96-96H96z\"]]\n};\nvar faGloveBoxing = faBoxingGlove;\nvar faTemperatureThreeQuarters = {\n prefix: 'fad',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", [\"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M176 176c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V176z\"]]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faBellSchool = {\n prefix: 'fad',\n iconName: 'bell-school',\n icon: [512, 512, [], \"f5d5\", [\"M288 208a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM0 208a208 208 0 1 1 416 0A208 208 0 1 1 0 208z\", \"M208 160a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 256c55.9 0 106.6-22 144-57.9V464h40c18.6 0 34.7-10.6 42.7-26c-11.4-8.8-18.7-22.5-18.7-38c0-26.5 21.5-48 48-48s48 21.5 48 48c0 19.4-11.5 36.1-28 43.7c-11.9 39.5-48.6 68.3-92 68.3l-40 0H112c-26.5 0-48-21.5-48-48V358.1C101.4 394 152.1 416 208 416z\"]]\n};\nvar faMobileScreen = {\n prefix: 'fad',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", [\"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM144 448c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM304 64H80V384H304V64z\", \"M80 64H304V384H80V64z\"]]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'fad',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", [\"M192 160L14.2 278.5C5.3 284.4 0 294.4 0 305.1v56.7c0 10.9 10.7 18.6 21.1 15.2L192 320V160zm128 0V320l170.9 57c10.4 3.5 21.1-4.3 21.1-15.2V305.1c0-10.7-5.3-20.7-14.2-26.6L320 160z\", \"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7L320 400l57.6 43.2c4 3 6.4 7.8 6.4 12.8v42c0 7.8-6.3 14-14 14c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400V93.7z\"]]\n};\nvar faFolderHeart = {\n prefix: 'fad',\n iconName: 'folder-heart',\n icon: [512, 512, [], \"e189\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM144 253.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\", \"M205.3 192c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]]\n};\nvar faCircleLocationArrow = {\n prefix: 'fad',\n iconName: 'circle-location-arrow',\n icon: [512, 512, [\"location-circle\"], \"f602\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM358.2 182.7l-84 196c-3.5 8.1-11.4 13.3-20.2 13.3c-1.4 0-2.9-.1-4.4-.4C239.4 389.5 232 380.4 232 370V280H142c-10.4 0-19.5-7.4-21.5-17.6c-2.1-10.2 3.3-20.5 12.9-24.6l196-84c8.5-3.5 18-1.7 24.2 4.7c6.4 6.3 8.2 15.9 4.7 24.2z\", \"M274.2 378.7l84-196c3.6-8.3 1.7-17.9-4.7-24.2c-6.3-6.3-15.8-8.2-24.2-4.7l-196 84c-9.6 4.1-15 14.5-12.9 24.6c2.1 10.2 11.1 17.6 21.5 17.6h90v90c0 10.4 7.4 19.5 17.6 21.6c1.5 .3 2.9 .4 4.4 .4c8.8 0 16.7-5.2 20.2-13.3z\"]]\n};\nvar faLocationCircle = faCircleLocationArrow;\nvar faFaceHeadBandage = {\n prefix: 'fad',\n iconName: 'face-head-bandage',\n icon: [576, 512, [], \"e37a\", [\"M544 256c0 141.4-114.6 256-256 256c-99.5 0-185.8-56.8-228.2-139.8c2.5-3.8 4.8-7.5 6.7-10.7c1.9-3.1 3.5-5.7 4.7-7.5c29.1-43.1 64.6-81.6 105.1-114c0 17.7 14.3 32 32 32s32-14.3 32-32c0-14.1-9.2-26.1-21.9-30.4c9-5.8 18.2-11.4 27.6-16.6c13.9-.7 27.9-1 41.9-1c83.4 0 163.9 12.3 239.8 35.1l15 4.5c.8 8 1.1 16.2 1.1 24.4zM210.5 67.1c-37.5 3-74.5 8.2-110.7 15.4C146.6 31.8 213.6 0 288 0c28 0 54.9 4.5 80.1 12.8C312.6 24 259.7 42.5 210.5 67.1zM373.2 397.5c6.5 5.9 16.7 5.5 22.6-1.1s5.5-16.7-1.1-22.6C373.2 354.3 340.2 336 296 336c-16.4 0-31.4 2.5-44.8 6.8c-8.4 2.7-13.1 11.6-10.5 20.1s11.6 13.1 20.1 10.5c10.4-3.3 22.1-5.3 35.2-5.3c34.8 0 60.4 14.2 77.2 29.5zM368.4 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M476.2 82.4c-16.4-17.8-35.3-33.2-56.1-45.7c-41.3 5.1-81.2 14.4-119.5 27.4c60 .8 118.7 7.1 175.6 18.4zM506 121.8c-32.7-7.9-66.1-14-100.1-18.3C367.3 98.5 328 96 288 96c-23.1 0-46.1 .8-68.8 2.5c-51 3.7-100.9 11.6-149.3 23.2c-14.1 22.8-24.6 47.9-31 74.7c19.1-5.7 38.5-10.8 58.1-15.3c45.4-10.2 92.2-16.9 140-19.7c16.9-1 33.8-1.5 51-1.5c86.6 0 170.2 12.7 249 36.4c-6.4-26.8-17-51.9-31-74.7zM177 199.3c-43.4 5.8-85.7 14.9-126.6 27.1c-6.2 6.7-12.3 13.5-18.2 20.5c-.1 3-.2 6.1-.2 9.1c0 28 4.5 54.9 12.8 80.1c35.7-52.9 80.5-99.3 132.2-136.7zm41.6 10.3c-14.6 9.4-28.6 19.6-42.1 30.4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-14.1-9.2-26.1-21.9-30.4zM368.4 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSushiRoll = {\n prefix: 'fad',\n iconName: 'sushi-roll',\n icon: [448, 512, [\"maki-roll\", \"makizushi\"], \"e48b\", [\"M308.2 198.4c-35.3-13.5-63.8-36.1-82-63.4c-16 3.8-36.4 10.5-56.9 20.8c-18.6 9.3-36.6 21.3-51.4 36.1c-15.1-5.4-27.7-11.8-36.9-19.1c20.4-23.3 45.9-40.4 70.3-52.7c20.1-10.1 40.2-17.3 57.5-21.9c-1.7-5.8-3-11.7-3.8-17.7c6.2-.3 12.5-.4 18.9-.4c7.4 0 14.7 .2 21.8 .6c9.3 42.5 53.3 85.3 122.8 90.8c-13.2 11.2-34.3 20.6-60.4 27z\", \"M448 368V144C448 82.1 347.7 32 224 32S0 82.1 0 144V368c0 61.9 100.3 112 224 112s224-50.1 224-112zM224 208c-88.4 0-160-28.7-160-64s71.6-64 160-64s160 28.7 160 64s-71.6 64-160 64z\"]]\n};\nvar faMakiRoll = faSushiRoll;\nvar faMakizushi = faSushiRoll;\nvar faCarBump = {\n prefix: 'fad',\n iconName: 'car-bump',\n icon: [640, 512, [], \"f5e0\", [\"M589.1 512H402.9c-9.9 0-17.4-8.9-14.1-18.2C400.6 460.4 432 416 496 416s95.4 44.4 107.2 77.8c3.3 9.3-4.2 18.2-14.1 18.2z\", \"M121.6 148.1l-7 63.6 249.6-66.9L326.4 93.2c-7.8-10.6-21.3-15.4-34.1-12L145.1 120.6c-12.7 3.4-22.1 14.3-23.5 27.4zM47.8 234.2L58 141.1c4.3-39.4 32.3-72 70.6-82.3L275.8 19.4c38.2-10.2 78.9 4 102.3 36l55.4 75.5c25.3 3 47.4 20.9 54.4 47L521 301.5l12.4 46.4c4.6 17.1-5.6 34.6-22.6 39.2l-30.9 8.3c-17.1 4.6-34.6-5.6-39.2-22.6l-12.4-46.4L150 400.9l12.4 46.4c4.6 17.1-5.6 34.6-22.6 39.2l-30.9 8.3c-17.1 4.6-34.6-5.6-39.2-22.6L57.3 425.8 24.2 302.1c-7-26.1 3.2-52.7 23.6-67.9zm108.3 65.7A32 32 0 1 0 94.3 316.5a32 32 0 1 0 61.8-16.6zm255.6-35.3a32 32 0 1 0 -16.6-61.8 32 32 0 1 0 16.6 61.8z\"]]\n};\nvar faPiggyBank = {\n prefix: 'fad',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", [\"M400 96c0 11.3-2 22.2-5.6 32.3c-3.4-.2-6.9-.3-10.4-.3H256c-14 0-27.6 1.8-40.5 5.2c-4.8-11.4-7.5-24-7.5-37.2c0-53 43-96 96-96s96 43 96 96z\", \"M507 115.9l-13.8 55.2c15.8 14.8 28.7 32.8 37.5 52.9H544c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H512c-9.1 12.1-19.9 22.9-32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H256v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416c-34.9-26.2-58.7-66.3-63.2-112H68c-37.6 0-68-30.4-68-68s30.4-68 68-68h4c13.3 0 24 10.7 24 24s-10.7 24-24 24H68c-11 0-20 9-20 20s9 20 20 20H99.2C114 183 178.6 128 256 128H384c7.8 0 15.5 .6 23 1.6C424.6 109.1 450.8 96 480 96h11.5c10.4 0 18 9.8 15.5 19.9zM424 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faRacquet = {\n prefix: 'fad',\n iconName: 'racquet',\n icon: [512, 512, [], \"f45a\", [\"M65.4 369.4c12.5-12.5 32.8-12.5 45.3 0l32 32c12.5 12.5 12.5 32.8 0 45.3l-56 56c-12.5 12.5-32.8 12.5-45.3 0l-32-32c-12.5-12.5-12.5-32.8 0-45.3l56-56z\", \"M349 64c-36 0-76.4 15.8-108.8 48.2S192 184.9 192 221c0 28.2 9.6 53.2 27.7 71.3c40.4 40.4 120.7 38.9 180.1-20.5C432.2 239.4 448 199.1 448 163c0-28.2-9.6-53.2-27.7-71.3S377.1 64 349 64zm-154 2.9C238.5 23.4 294.8 0 349 0c42.8 0 84.9 14.8 116.6 46.5S512 120.2 512 163c0 54.2-23.4 110.5-66.9 154c-54.4 54.4-131.9 78.7-198.2 61.7c-29.4-7.5-62.9-5.5-84.3 16L148.3 409c-1.5-2.7-3.3-5.3-5.6-7.6l-32-32c-2.3-2.3-4.9-4.2-7.6-5.6l14.5-14.5c21.4-21.4 23.5-54.7 16-84C129.8 250.9 128 236 128 221c0-54.2 23.4-110.5 66.9-154z\"]]\n};\nvar faCarMirrors = {\n prefix: 'fad',\n iconName: 'car-mirrors',\n icon: [576, 512, [], \"e343\", [\"M197.4 96c-13.6 0-25.7 8.6-30.2 21.4L141.1 192H434.9l-26.1-74.6C404.3 104.6 392.2 96 378.6 96H197.4zM32 400v48c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V400H32zm512 0H448v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V400z\", \"M167.2 117.4c4.5-12.8 16.6-21.4 30.2-21.4H378.6c13.6 0 25.7 8.6 30.2 21.4L434.9 192H141.1l26.1-74.6zM32 224h8.6c-5.4 9.4-8.6 20.3-8.6 32V400H544V256c0-11.7-3.1-22.6-8.6-32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H491.5L469.2 96.3C455.7 57.8 419.4 32 378.6 32H197.4c-40.8 0-77.1 25.8-90.6 64.3L84.5 160H32c-17.7 0-32 14.3-32 32s14.3 32 32 32zm64 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm352-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faIndustryWindows = {\n prefix: 'fad',\n iconName: 'industry-windows',\n icon: [576, 512, [127981, \"industry-alt\"], \"f3b3\", [\"M32 64c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V210.1v5.3 50L352 155.6v54.4 5.3 50L544 155.6V304 432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V352 304 64zM136 312c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H136zm128 0c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H264zm112 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H392c-8.8 0-16 7.2-16 16z\", \"M363.9 148.8c11.5-6.6 15.5-21.2 8.9-32.7s-21.2-15.5-32.7-8.9L160 210.1v55.3L363.9 148.8zm192 0c11.5-6.6 15.5-21.2 8.9-32.7s-21.2-15.5-32.7-8.9L352 210.1v55.3L555.9 148.8zM136 312c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H136zm128 0c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H264zm112 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V328c0-8.8-7.2-16-16-16H392c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faIndustryAlt = faIndustryWindows;\nvar faBoltAuto = {\n prefix: 'fad',\n iconName: 'bolt-auto',\n icon: [576, 512, [], \"e0b6\", [\"M317.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224C.9 240.7-2.6 254.8 2 267.3S18.7 288 32 288H143.5L66.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H240.5L317.4 44.6z\", \"M492.6 305.7C487.2 294.8 476.1 288 464 288s-23.2 6.8-28.6 17.7l-80 160c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-80-160zM480.2 424H447.8L464 391.6 480.2 424z\"]]\n};\nvar faBatteryHalf = {\n prefix: 'fad',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", [\"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\", \"M96 192H288V320H96z\"]]\n};\nvar faBattery3 = faBatteryHalf;\nvar faFluxCapacitor = {\n prefix: 'fad',\n iconName: 'flux-capacitor',\n icon: [448, 512, [], \"f8ba\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM172.1 226.7L208 262.6v11c-36.5 7.4-64 39.7-64 78.4c0 44.2 35.8 80 80 80s80-35.8 80-80c0-38.7-27.5-71-64-78.4v-11l35.9-35.9c12.6 8.4 27.8 13.3 44.1 13.3c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80c0 16.3 4.9 31.5 13.3 44.1L224 233.4l-29.3-29.3c8.4-12.6 13.3-27.8 13.3-44.1c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c16.3 0 31.5-4.9 44.1-13.3z\", \"M171.3 180.7c3-6.3 4.7-13.3 4.7-20.7c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48c7.4 0 14.4-1.7 20.7-4.7L208 262.6v44.1c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V262.6l59.3-59.3c6.3 3 13.3 4.7 20.7 4.7c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48c0 7.4 1.7 14.4 4.7 20.7L224 233.4l-52.7-52.7z\"]]\n};\nvar faMountainCity = {\n prefix: 'fad',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", [\"M336 0c-26.5 0-48 21.5-48 48v92.1l71.4 118.4c2.5-1.6 5.4-2.5 8.6-2.5h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-3.5l73.8 122.4c12.4 20.6 12.9 46.3 1.2 67.3c-.4 .8-.9 1.6-1.4 2.3H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm160 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\", \"M150.4 310.8L175 352l48-64h60.8L224 188.9 150.4 310.8zM224 128c12 0 23.1 6.3 29.4 16.7L442.9 458.9c6.5 10.8 6.7 24.3 .7 35.3s-17.6 17.8-30.1 17.8H34.5c-12.5 0-24-6.8-30.1-17.8s-5.8-24.5 .7-35.3L194.6 144.7C200.9 134.3 212 128 224 128z\"]]\n};\nvar faCoins = {\n prefix: 'fad',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", [\"M512 80c0 18-14.3 34.6-38.4 48c-29.1 16.1-72.5 27.5-122.3 30.9c-3.7-1.8-7.4-3.5-11.3-5C300.6 137.4 248.2 128 192 128c-8.3 0-16.4 .2-24.5 .6c-.4-.2-.7-.4-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80S512 35.8 512 80zM416 341.3V278.1c19-4.2 36.5-9.5 52.1-16c16.3-6.8 31.5-15.2 43.9-25.5V272c0 29.6-38.6 55.5-96 69.3zm0-96V240c0-21.9-10.6-39.9-24.1-53.4c28.3-4.4 54.2-11.4 76.2-20.5c16.3-6.8 31.5-15.2 43.9-25.5V176c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9c-14.6 7.4-32.2 13.6-52.2 18.4z\", \"M384 240c0 18-14.3 34.6-38.4 48c-35 19.4-90.8 32-153.6 32c-59.6 0-112.9-11.3-148.2-29.1c-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-44.2 86-80 192-80s192 35.8 192 80zM192 352c56.2 0 108.6-9.4 148.1-25.9c16.3-6.8 31.5-15.2 43.9-25.5V336c0 18-14.3 34.6-38.4 48c-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336V300.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352zm148.1 70.1c16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432V396.6c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448s108.6-9.4 148.1-25.9z\"]]\n};\nvar faHoneyPot = {\n prefix: 'fad',\n iconName: 'honey-pot',\n icon: [448, 512, [127855], \"e418\", [\"M128 32V136c0 13.3 10.7 24 24 24s24-10.7 24-24V32H128zM448 224H0c0 50.4 10.5 93 25.5 128h397c15-35 25.5-77.6 25.5-128z\", \"M64 32h64V136c0 13.3 10.7 24 24 24s24-10.7 24-24V32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32c38.9 29.2 64 75.7 64 128H0c0-52.3 25.1-98.8 64-128C46.3 96 32 81.7 32 64s14.3-32 32-32zM25.5 352h397c-26.3 61.4-66.4 99.8-87.8 117.1c-9.3 7.5-21.1 10.9-33.1 10.9H146.4c-12 0-23.7-3.3-33.1-10.9C91.9 451.8 51.8 413.4 25.5 352z\"]]\n};\nvar faOlive = {\n prefix: 'fad',\n iconName: 'olive',\n icon: [448, 512, [], \"e316\", [\"M374.9 214.9c-18.2 18.2-57.5 8.4-87.8-21.9s-40.1-69.6-21.9-87.8s57.5-8.4 87.8 21.9s40.1 69.6 21.9 87.8z\", \"M160 480C71.6 480 0 408.4 0 320C0 128 181.9 32 280 32c56 0 112 56 112 56s56 56 56 112c0 98.1-96 280-288 280zM287.1 192.9c30.3 30.3 69.6 40.1 87.8 21.9s8.4-57.5-21.9-87.8s-69.6-40.1-87.8-21.9s-8.4 57.5 21.9 87.8z\"]]\n};\nvar faKhanda = {\n prefix: 'fad',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", [\"M266.2 3.7c-5.9-4.9-14.6-4.9-20.5 0l-48 40c-5.9 4.9-7.5 13.2-3.8 19.9l0 0 0 0 0 0 .1 .1 .3 .6c.3 .5 .7 1.3 1.2 2.3c1 2 2.6 5 4.4 8.6c3.6 7.4 8.5 17.7 13.3 29.4c10 24.1 18.8 51.5 18.8 71.3s-8.8 47.2-18.8 71.3c-4.8 11.7-9.7 22-13.3 29.4c-1.8 3.7-3.3 6.6-4.4 8.6c-.5 1-.9 1.8-1.2 2.3l-.3 .6-.1 .1 0 0 0 0 0 0c-3.6 6.7-2 15 3.8 19.9L240 343.5v19.1l16.5 11.4L272 363.3V343.5l42.2-35.2c5.9-4.9 7.5-13.2 3.8-19.9l0 0 0 0-.1-.1-.3-.6c-.3-.5-.7-1.3-1.2-2.3c-1-2-2.6-5-4.4-8.6c-3.6-7.4-8.5-17.7-13.3-29.4c-10-24.1-18.8-51.5-18.8-71.3s8.8-47.2 18.8-71.3c4.8-11.7 9.7-22 13.3-29.4c1.8-3.7 3.3-6.6 4.4-8.6c.5-1 .9-1.8 1.2-2.3l.3-.6 .1-.1 0 0 0 0 0 0 0 0c3.6-6.7 2-15-3.8-19.9l-48-40zM288 480c0-11.8-6.4-22.2-16-27.7V423.4l-15.5-10.6L240 424.1v28.1c-9.6 5.5-16 15.9-16 27.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M389.1 69.4c4.8-5.4 12.7-7 19.2-3.7L401.1 80c7.2-14.3 7.2-14.3 7.2-14.3l0 0 0 0 .1 0 .3 .2 1 .5c.8 .4 2 1.1 3.5 1.9c2.9 1.7 7 4.1 11.8 7.3c9.6 6.4 22.5 16.1 35.4 29c25.7 25.7 52.7 65.6 52.7 119.3c0 53.1-26.4 100.5-51.2 133.6c-12.6 16.7-25.1 30.3-34.5 39.7c-4.7 4.7-8.7 8.4-11.5 10.9c-1.4 1.3-2.5 2.2-3.3 2.9l-.9 .8-.3 .2-.1 .1 0 0 0 0s0 0-10.2-12.3l10.2 12.3c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21l-55.7-38.3-56.8 39.1C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6L112 400c-10.2 12.3-10.2 12.3-10.3 12.3l0 0 0 0-.1-.1-.3-.2-.9-.8c-.8-.7-1.9-1.7-3.3-2.9c-2.8-2.5-6.7-6.2-11.5-10.9c-9.4-9.4-21.9-23-34.5-39.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c12.9-12.9 25.8-22.6 35.4-29C93 72.5 97 70 99.9 68.4c1.5-.8 2.6-1.5 3.5-1.9l1-.5 .3-.2 .1 0 0 0 0 0s0 0 7.2 14.3l-7.2-14.3c6.5-3.2 14.3-1.7 19.2 3.7s5.3 13.4 1.3 19.5l-2.8 4.2C105.2 119 96 149.5 96 180.6c0 51.9 25.6 100.6 68.4 130l41.1 28.2 51.1 35.1 51.1-35.1 41.1-28.2c42.8-29.4 68.4-78 68.4-130c0-31.1-9.2-61.6-26.5-87.5l-2.8-4.2c-4-6-3.5-14 1.3-19.5zM144 176c0-42 23.1-78.6 57.3-97.8c3.4 7.1 7.7 16.3 11.9 26.5c2.4 5.9 4.8 12.1 7 18.2c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1c-2.2 6.2-4.6 12.3-7 18.2c-4.2 10.2-8.5 19.4-11.9 26.5C167.1 254.6 144 218 144 176zm154.8-71.3c4.2-10.2 8.5-19.4 11.9-26.5C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c-3.4-7.1-7.7-16.3-11.9-26.5c-2.4-5.9-4.8-12.1-7-18.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1c2.2-6.2 4.6-12.3 7-18.2z\"]]\n};\nvar faFilterList = {\n prefix: 'fad',\n iconName: 'filter-list',\n icon: [512, 512, [], \"e17c\", [\"M3.5 87.7C9.9 73.3 24.2 64 40 64H312c15.8 0 30.1 9.3 36.5 23.7s3.8 31.3-6.8 43L240 243.8V416c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V243.8L10.3 130.8C-.3 119-3 102.2 3.5 87.7z\", \"M416 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-17.7 0-32-14.3-32-32s14.3-32 32-32zM320 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faOutlet = {\n prefix: 'fad',\n iconName: 'outlet',\n icon: [448, 512, [], \"e01c\", [\"M113.7 139.4C94.8 156.9 64 194.9 64 256s30.8 99 49.7 116.6c8.8 8.2 20.7 11.4 32.6 11.4H301.6c12 0 23.9-3.3 32.6-11.4C353.2 355 384 317.1 384 256s-30.8-99.1-49.7-116.6c-8.8-8.2-20.7-11.4-32.6-11.4H146.4c-12 0-23.9 3.3-32.6 11.4zM160 192c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm128 0c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm-64 96c13.3 0 24 10.7 24 24v16c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8V312c0-13.3 10.7-24 24-24z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm0 224c0-61.1 30.8-99.1 49.7-116.6c8.8-8.2 20.7-11.4 32.6-11.4H301.6c12 0 23.9 3.3 32.6 11.4C353.2 156.9 384 194.9 384 256s-30.8 99-49.7 116.6c-8.8 8.2-20.7 11.4-32.6 11.4H146.4c-12 0-23.9-3.3-32.6-11.4C94.8 355 64 317.1 64 256z\"]]\n};\nvar faSliders = {\n prefix: 'fad',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", [\"M0 416c0-17.7 14.3-32 32-32l54.7 0c-4.3 9.8-6.7 20.6-6.7 32s2.4 22.2 6.7 32L32 448c-17.7 0-32-14.3-32-32zm233.3 32c4.3-9.8 6.7-20.6 6.7-32s-2.4-22.2-6.7-32L480 384c17.7 0 32 14.3 32 32s-14.3 32-32 32l-246.7 0zM0 256c0-17.7 14.3-32 32-32l246.7 0c-4.3 9.8-6.7 20.6-6.7 32s2.4 22.2 6.7 32L32 288c-17.7 0-32-14.3-32-32zm425.3 32c4.3-9.8 6.7-20.6 6.7-32s-2.4-22.2-6.7-32l54.7 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-54.7 0zM32 64l86.7 0c-4.3 9.8-6.7 20.6-6.7 32s2.4 22.2 6.7 32L32 128C14.3 128 0 113.7 0 96S14.3 64 32 64zm233.3 64c4.3-9.8 6.7-20.6 6.7-32s-2.4-22.2-6.7-32L480 64c17.7 0 32 14.3 32 32s-14.3 32-32 32l-214.7 0z\", \"M128 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0A80 80 0 1 0 80 416a80 80 0 1 0 160 0zm80-160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-112a80 80 0 1 0 0 160 80 80 0 1 0 0-160z\"]]\n};\nvar faSlidersH = faSliders;\nvar faCauldron = {\n prefix: 'fad',\n iconName: 'cauldron',\n icon: [448, 512, [], \"f6bf\", [\"M128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 128V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V160h64zM272 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M35.1 224C16.5 257 0 297.1 0 334.4c0 37.4 11.9 69.4 32 95.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V473c40.4 25.5 91.8 39 144 39s103.6-13.5 144-39v15c0 13.3 10.7 24 24 24s24-10.7 24-24V429.9c20.1-26.1 32-58.1 32-95.5c0-37.3-16.5-77.4-35.1-110.4H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H368 224 160V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V160H80 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h3.1z\"]]\n};\nvar faPeople = {\n prefix: 'fad',\n iconName: 'people',\n icon: [640, 512, [], \"e216\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M59.4 304.5L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9c9.8-5.9 15.3-16.3 15.5-26.9c.2 10.7 5.7 21 15.5 26.9c15.1 9.1 34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-3 5-4.5 10.5-4.6 15.9c-.1-5.4-1.6-10.9-4.6-15.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9z\"]]\n};\nvar faFolderTree = {\n prefix: 'fad',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", [\"M32 0C49.7 0 64 14.3 64 32V96H288v64H64V384H288v64H64c-35.3 0-64-28.7-64-64V128 32C0 14.3 14.3 0 32 0z\", \"M288 32V192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32zm0 288V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faNetworkWired = {\n prefix: 'fad',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", [\"M352 224H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H512v32H448V288H192v32H128V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V192h64v32z\", \"M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 384H224v64H96V384zM80 320c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H80zM416 448V384H544v64H416zm-64-80v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H400c-26.5 0-48 21.5-48 48z\"]]\n};\nvar faCroissant = {\n prefix: 'fad',\n iconName: 'croissant',\n icon: [512, 512, [129360], \"f7f6\", [\"M259.4 1.4c3.9 5.9 7 12.5 9.1 19.5l59.9 199.7c1.2 4.1 2 8.2 2.4 12.4L440.3 92.2c13.6-17.4 10.5-42.8-8.6-53.9C389.4 14 340.3 0 288 0c-9.7 0-19.2 .5-28.6 1.4zM233 330.8c-4.1-.4-8.3-1.2-12.4-2.4L20.9 268.5c-7-2.1-13.6-5.2-19.5-9.1C.5 268.8 0 278.3 0 288c0 52.3 14 101.4 38.4 143.7c11 19.1 36.4 22.2 53.9 8.6L233 330.8z\", \"M232.7 19l0 0 0 0c2 3 3.6 6.4 4.8 10c-1.2-3.6-2.8-6.9-4.8-10zm235.8 88.8c17.2 20.5 31.2 43.8 41.3 69c1.5 3.9 2.3 8 2.3 12.2v5.4c0 16.3-13.2 29.6-29.6 29.6c-1.6 0-3.3-.1-4.9-.4L390 209l75.6-97.1c1-1.3 2-2.6 2.9-4zM223.6 477.6c.3 1.6 .4 3.2 .4 4.9c0 16.3-13.2 29.6-29.6 29.6H189c-4.2 0-8.3-.7-12.2-2.3c-25.2-10.1-48.5-24.1-69-41.3c1.4-.9 2.7-1.9 4-2.9L209 390l14.6 87.6zM19 232.7l0 0 0 0C7.4 225 0 211.8 0 197.4c0-4.6 .7-9.2 2.3-13.5C33 99.7 99.7 33 183.9 2.3C188.2 .7 192.8 0 197.4 0c18.7 0 35.1 12.2 40.5 30.1l59.9 199.7c3.4 11.3 .3 23.5-8 31.8l-28.1 28.1c-8.3 8.3-20.5 11.4-31.8 8L30.1 237.8c-1.3-.4-2.6-.8-3.8-1.3c-2.6-1-5-2.3-7.3-3.8z\"]]\n};\nvar faMapPin = {\n prefix: 'fad',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", [\"M128 284.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V284.4c-10.3 2.3-21 3.6-32 3.6s-21.7-1.2-32-3.6z\", \"M160 288A144 144 0 1 0 160 0a144 144 0 1 0 0 288zM96 144c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-53 43-96 96-96c8.8 0 16 7.2 16 16s-7.2 16-16 16c-35.3 0-64 28.7-64 64z\"]]\n};\nvar faHamsa = {\n prefix: 'fad',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", [\"M80 288H34.6C15.5 288 0 303.5 0 322.6c0 8.6 3.2 16.9 9 23.3L95.4 441c41.1 45.2 99.4 71 160.6 71s119.4-25.8 160.6-71L503 345.9c5.8-6.4 9-14.7 9-23.3c0-19.1-15.5-34.6-34.6-34.6H432c-8.8 0-16-7.2-16-16V72c0-22.1-17.9-40-40-40s-40 17.9-40 40V204c0 11-9 20-20 20s-20-9-20-20V40c0-22.1-17.9-40-40-40s-40 17.9-40 40V204c0 11-9 20-20 20s-20-9-20-20V72c0-22.1-17.9-40-40-40s-40 17.9-40 40V272c0 8.8-7.2 16-16 16zm85.4 50.2C179.2 323.8 217.6 288 256 288s76.8 35.8 90.6 50.2c3.6 3.7 5.4 8.7 5.4 13.8s-1.8 10.1-5.4 13.8C332.8 380.2 294.4 416 256 416s-76.8-35.8-90.6-50.2c-3.6-3.7-5.4-8.7-5.4-13.8s1.8-10.1 5.4-13.8z\", \"M224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faCentSign = {\n prefix: 'fad',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", [\"M224 0c-17.7 0-32 14.3-32 32V66.7c10.4-1.7 21.1-2.7 32-2.7s21.6 .9 32 2.7V32c0-17.7-14.3-32-32-32zM192 445.3V480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-34.7c-10.4 1.7-21.1 2.7-32 2.7s-21.6-.9-32-2.7z\", \"M224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c28.9 0 55.4-9.5 76.8-25.6c14.1-10.6 34.2-7.8 44.8 6.4s7.8 34.2-6.4 44.8C307.1 433.7 267.2 448 224 448C118 448 32 362 32 256S118 64 224 64c43.2 0 83.1 14.3 115.2 38.4c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4C279.4 137.5 252.9 128 224 128z\"]]\n};\nvar faSwordsLaser = {\n prefix: 'fad',\n iconName: 'swords-laser',\n icon: [640, 512, [], \"e03d\", [\"M135 7c9.1-9.1 23.7-9.4 33.2-.7L384 203.7V313.1L134.3 40.2c-8.7-9.5-8.3-24.1 .7-33.2zm87.8 227l24.7-22.6 50.7 55.5L224 348.1V240c0-2.1-.4-4.1-1.1-5.9zM505.7 40.2l-115.3 126-46.7-42.7L471.8 6.3c9.5-8.7 24.1-8.3 33.2 .7s9.4 23.7 .7 33.2z\", \"M384 322.7c0 12.7 5.1 24.9 14.1 33.9l49 49 27.3-27.3 32-32L533.7 319 411.3 196.7c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V322.7zM545.9 504.5c4.8 4.8 11.3 7.5 18.1 7.5s13.3-2.7 18.1-7.5l3.5-3.5L480 395.3 458.3 417l87.5 87.5zM617.7 469L512 363.3 491.3 384 597 489.7 617.7 469zm14.8-14.8c4.8-4.8 7.5-11.3 7.5-18.1s-2.7-13.3-7.5-18.1L545 330.3 523.3 352 629 457.7l3.5-3.5zM224 240c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-25.4 25.4-4.9-4.9c-12.5-12.3-32.6-12.2-45 .2c-12.5 12.5-12.5 32.8 0 45.3l4.7 4.7L7.5 417.9C2.7 422.7 0 429.2 0 436s2.7 13.3 7.5 18.1l50.3 50.3c4.8 4.8 11.3 7.5 18.1 7.5s13.3-2.7 18.1-7.5L209.9 388.7c9-9 14.1-21.2 14.1-33.9V240zM152 344a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faFlask = {\n prefix: 'fad',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", [\"M160 0H288h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V196.8c0 11.8 3.3 23.5 9.5 33.5L437.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h32zm32 64V196.8c0 23.7-6.6 46.9-19 67.1L64.8 439.8c-.5 .9-.8 1.8-.8 2.8c0 3 2.4 5.4 5.4 5.4H378.6c3 0 5.4-2.4 5.4-5.4c0-1-.3-2-.8-2.8L275 263.9c-12.4-20.2-19-43.4-19-67.1V64H192z\", \"M309.5 320h-171L64.8 439.8c-.5 .9-.8 1.8-.8 2.8c0 3 2.4 5.4 5.4 5.4H378.6c3 0 5.4-2.4 5.4-5.4c0-1-.3-2-.8-2.8L309.5 320z\"]]\n};\nvar faPersonPregnant = {\n prefix: 'fad',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", [\"M144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M196.1 128.3c35.7 2.9 65.4 29.3 72.1 65l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3v32c0 17.7-14.3 32-32 32H304 264v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V384h-8-8v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V383c-13.8-3.6-24-16.1-24-31V296.9l-4.6 7.6c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c15-24.9 40.3-41.5 68.7-45.6c4.1-.6 8.2-1 12.5-1h1.1 12.5H192c1.4 0 2.8 .1 4.1 .3z\"]]\n};\nvar faSquareU = {\n prefix: 'fad',\n iconName: 'square-u',\n icon: [448, 512, [], \"e281\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 136V288c0 35.3 28.7 64 64 64s64-28.7 64-64V168c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V168c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M136 144c13.3 0 24 10.7 24 24V288c0 35.3 28.7 64 64 64s64-28.7 64-64V168c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V168c0-13.3 10.7-24 24-24z\"]]\n};\nvar faWandSparkles = {\n prefix: 'fad',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", [\"M208 0c-3.7 0-6.9 2.5-7.8 6.1l-6.8 27.3-27.3 6.8c-3.6 .9-6.1 4.1-6.1 7.8s2.5 6.9 6.1 7.8l27.3 6.8 6.8 27.3c.9 3.6 4.1 6.1 7.8 6.1s6.9-2.5 7.8-6.1l6.8-27.3 27.3-6.8c3.6-.9 6.1-4.1 6.1-7.8s-2.5-6.9-6.1-7.8l-27.3-6.8L215.8 6.1C214.9 2.5 211.7 0 208 0zM87.7 69.8c-1-3.4-4.1-5.8-7.7-5.8s-6.7 2.4-7.7 5.8L57.5 121.5 5.8 136.3c-3.4 1-5.8 4.1-5.8 7.7s2.4 6.7 5.8 7.7l51.7 14.8 14.8 51.7c1 3.4 4.1 5.8 7.7 5.8s6.7-2.4 7.7-5.8l14.8-51.7 51.7-14.8c3.4-1 5.8-4.1 5.8-7.7s-2.4-6.7-5.8-7.7l-51.7-14.8L87.7 69.8zm352 224c-1-3.4-4.1-5.8-7.7-5.8s-6.7 2.4-7.7 5.8l-14.8 51.7-51.7 14.8c-3.4 1-5.8 4.1-5.8 7.7s2.4 6.7 5.8 7.7l51.7 14.8 14.8 51.7c1 3.4 4.1 5.8 7.7 5.8s6.7-2.4 7.7-5.8l14.8-51.7 51.7-14.8c3.4-1 5.8-4.1 5.8-7.7s-2.4-6.7-5.8-7.7l-51.7-14.8-14.8-51.7z\", \"M497 7c-9-9-23.5-9.4-33-.9L189.3 251.9c-2.9 2.6-6.7 4.1-10.7 4.1H144c-8.8 0-16 7.2-16 16v27.6c0 4.6-1.9 8.9-5.3 11.9L11.1 411.3C4 417.7 0 426.7 0 436.2c0 8.8 3.5 17.3 9.7 23.5l42.6 42.6c6.2 6.2 14.7 9.8 23.5 9.8c9.5 0 18.5-4 24.8-11.1L372.3 197.3c3-3.4 7.4-5.3 11.9-5.3H400c8.8 0 16-7.2 16-16V154.6c0-3.9 1.5-7.7 4.1-10.7L505.9 48c8.5-9.5 8.1-24-.9-33l-8-8z\"]]\n};\nvar faRouter = {\n prefix: 'fad',\n iconName: 'router',\n icon: [576, 512, [], \"f8da\", [\"M352 48c-58.8 0-112.5 21.8-153.4 57.9c-9.9 8.8-25.1 7.8-33.9-2.1s-7.8-25.1 2.1-33.9C216.2 26.4 281.1 0 352 0s135.8 26.4 185.1 69.9c9.9 8.8 10.9 23.9 2.1 33.9s-23.9 10.9-33.9 2.1C464.5 69.8 410.8 48 352 48zM64 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM276.5 186.7c-10.3 8.3-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C275.2 126 312 112 352 112s76.8 14 105.7 37.4c10.3 8.3 11.9 23.5 3.5 33.8s-23.5 11.9-33.8 3.5C406.9 170 380.6 160 352 160s-54.9 10-75.5 26.7z\", \"M376 248c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V384c0-35.3-28.7-64-64-64H376V248zM96 384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faEllipsisVertical = {\n prefix: 'fad',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", [\"M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256z\", \"M120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0zm0 320A56 56 0 1 0 8 416a56 56 0 1 0 112 0z\"]]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faSwordLaserAlt = {\n prefix: 'fad',\n iconName: 'sword-laser-alt',\n icon: [512, 512, [], \"e03c\", [\"M505 7c9.1 9.1 9.4 23.7 .7 33.2L307.8 256.5c-1.2-.3-2.5-.5-3.8-.5H198.9L471.8 6.3c9.5-8.7 24.1-8.3 33.2 .7z\", \"M155.3 270.1c9-9 21.2-14.1 33.9-14.1H304c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4L193 405.7l-27.3-27.3-32-32L106.3 319l49-49zM95 330.3L116.7 352 11 457.7l-3.5-3.5C2.7 449.3 0 442.8 0 436s2.7-13.3 7.5-18.1L95 330.3zM22.3 469L128 363.3 148.7 384 43 489.7 22.3 469zm32 32L160 395.3 181.7 417 94.1 504.5C89.3 509.3 82.8 512 76 512s-13.3-2.7-18.1-7.5L54.3 501z\"]]\n};\nvar faTicket = {\n prefix: 'fad',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", [\"M64 64C28.7 64 0 92.7 0 128v64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V128c0-35.3-28.7-64-64-64H64zm64 96l0 192H448V160H128zm-32 0c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160z\", \"M448 160V352H128l0-192H448zM128 128c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H128z\"]]\n};\nvar faPowerOff = {\n prefix: 'fad',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", [\"M256 0c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32z\", \"M147.7 75.5c11.3 13.6 9.4 33.8-4.1 45.1C104.7 152.9 80 201.6 80 256c0 97.2 78.8 176 176 176s176-78.8 176-176c0-54.4-24.7-103.1-63.5-135.4c-13.6-11.3-15.4-31.5-4.1-45.1s31.5-15.4 45.1-4.1C462.2 115.4 496 181.8 496 256c0 132.5-107.5 240-240 240S16 388.6 16 256c0-74.2 33.7-140.6 86.6-184.6c13.6-11.3 33.8-9.4 45.1 4.1z\"]]\n};\nvar faCoin = {\n prefix: 'fad',\n iconName: 'coin',\n icon: [512, 512, [129689], \"f85c\", [\"M0 208c0 79.5 114.6 144 256 144s256-64.5 256-144s-114.6-144-256-144S0 128.5 0 208zm64-8c0-20.5 10.5-36.7 22.6-48.2c12-11.4 27.7-20.1 44.4-26.8c33.6-13.4 77.8-21 125-21s91.4 7.6 125 21c16.7 6.7 32.4 15.4 44.4 26.8C437.5 163.3 448 179.5 448 200s-10.5 36.7-22.6 48.2c-12 11.4-27.7 20.1-44.4 26.8c-33.6 13.4-77.8 21-125 21s-91.4-7.6-125-21c-16.7-6.7-32.4-15.4-44.4-26.8C74.5 236.7 64 220.5 64 200zm192 64c88.4 0 160-28.7 160-64s-71.6-64-160-64s-160 28.7-160 64s71.6 64 160 64z\", \"M464 394.6c30.2-21 48-46.8 48-74.6l0-29.9c-13.2 15.6-29.7 29.3-48 40.9l0 63.7zM336 377.3l0 64.3c36.2-6 68.9-15.9 96-28.7l0-64.7c-28.4 13.1-60.9 23-96 29zM208 445.8c15.5 1.5 31.6 2.2 48 2.2s32.5-.8 48-2.2l0-64.1c-15.7 1.6-31.7 2.4-48 2.4s-32.3-.8-48-2.4l0 64.1zM80 348.3L80 413c27.1 12.8 59.8 22.7 96 28.7l0-64.3c-35.1-6-67.6-15.9-96-29zM48 331c-18.3-11.5-34.8-25.2-48-40.9L0 320c0 27.9 17.8 53.6 48 74.6L48 331zM64 200c0 20.5 10.5 36.7 22.6 48.2c12 11.4 27.7 20.1 44.4 26.8c33.6 13.4 77.8 21 125 21s91.4-7.6 125-21c16.7-6.7 32.4-15.4 44.4-26.8C437.5 236.7 448 220.5 448 200s-10.5-36.7-22.6-48.2c-12-11.4-27.7-20.1-44.4-26.8c-33.6-13.4-77.8-21-125-21s-91.4 7.6-125 21c-16.7 6.7-32.4 15.4-44.4 26.8C74.5 163.3 64 179.5 64 200zm192 64c-88.4 0-160-28.7-160-64s71.6-64 160-64s160 28.7 160 64s-71.6 64-160 64z\"]]\n};\nvar faLaptopSlash = {\n prefix: 'fad',\n iconName: 'laptop-slash',\n icon: [640, 512, [], \"e1c7\", [\"M365.5 384H19.2C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H487.4L365.5 384zM64 146.4V352h64V196.8L64 146.4zM522.2 384l94.6 74.2c14.3-13.9 23.2-33.4 23.2-55c0-10.6-8.6-19.2-19.2-19.2H522.2zM89.5 44.9L154.8 96H512V352h64V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faRightLong = {\n prefix: 'fad',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", [\"M320 320l0-128 0 0 0 0L32 192c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l160 0 0 0 128 0z\", \"M360.5 409.4c-7 6.6-17.2 8.4-26 4.6s-14.5-12.5-14.5-22l0-72 0-128 0-72c0-9.6 5.7-18.2 14.5-22s19-2 26 4.6l144 136c4.8 4.5 7.5 10.8 7.5 17.4s-2.7 12.9-7.5 17.4l-144 136z\"]]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faCircleB = {\n prefix: 'fad',\n iconName: 'circle-b',\n icon: [512, 512, [], \"e0fd\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152c0-13.3 10.7-24 24-24h92c42 0 76 34 76 76c0 16.2-5.1 31.3-13.8 43.7C356.3 261.6 368 283.4 368 308c0 42-34 76-76 76H184c-13.3 0-24-10.7-24-24V256 152zm144 52c0-15.5-12.5-28-28-28H208v56h68c15.5 0 28-12.5 28-28zM208 336h84c15.5 0 28-12.5 28-28s-12.5-28-28-28H276 208v56z\", \"M184 128c-13.3 0-24 10.7-24 24V256 360c0 13.3 10.7 24 24 24H292c42 0 76-34 76-76c0-24.6-11.7-46.4-29.8-60.3c8.7-12.4 13.8-27.4 13.8-43.7c0-42-34-76-76-76H184zm92 104H208V176h68c15.5 0 28 12.5 28 28s-12.5 28-28 28zm-68 48h68 16c15.5 0 28 12.5 28 28s-12.5 28-28 28H208V280z\"]]\n};\nvar faPersonDressSimple = {\n prefix: 'fad',\n iconName: 'person-dress-simple',\n icon: [256, 512, [], \"e21c\", [\"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64z\", \"M112.3 160c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V384h21.6c21.3 0 36.6-20.3 30.8-40.8L205.3 206.4c-7.9-27.5-33-46.4-61.5-46.4H112.3z\"]]\n};\nvar faPipeCollar = {\n prefix: 'fad',\n iconName: 'pipe-collar',\n icon: [512, 512, [], \"e437\", [\"M80 64A16 16 0 1 0 48 64a16 16 0 1 0 32 0zm0 384a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM448 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 368a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM256 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\", \"M18.7 18.7c25-25 65.5-25 90.5 0L126 35.4C164.1 12.9 208.5 0 256 0s91.9 12.9 130 35.4l16.7-16.7c25-25 65.5-25 90.5 0s25 65.5 0 90.5L476.6 126c22.5 38.1 35.4 82.6 35.4 130s-12.9 91.9-35.4 130l16.7 16.7c25 25 25 65.5 0 90.5s-65.5 25-90.5 0L386 476.6C347.9 499.1 303.5 512 256 512s-91.9-12.9-130-35.4l-16.7 16.7c-25 25-65.5 25-90.5 0s-25-65.5 0-90.5L35.4 386C12.9 347.9 0 303.5 0 256s12.9-91.9 35.4-130L18.7 109.3c-25-25-25-65.5 0-90.5zM64 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM256 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM80 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM448 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 368a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faLightsHoliday = {\n prefix: 'fad',\n iconName: 'lights-holiday',\n icon: [640, 512, [], \"f7b2\", [\"M139.9 227.4c-41.5-15.1-87.4 6.3-102.5 47.8C21 320.3 46.2 414.6 68.8 422.8s102.5-47.8 119-92.9c15.1-41.5-6.3-87.4-47.8-102.5zM320 256c-44.2 0-80 35.8-80 80c0 48 56 128 80 128s80-80 80-128c0-44.2-35.8-80-80-80zm282.6 19.2c-15.1-41.5-61-62.9-102.5-47.8s-62.9 61-47.8 102.5c16.4 45.1 96.4 101.1 119 92.9s47.8-102.5 31.4-147.6z\", \"M5.4 78.2c9.8-14.7 29.6-18.7 44.3-9l0 0 .4 .3c.5 .3 1.3 .8 2.5 1.5c2.4 1.4 6.3 3.6 11.7 6.3C75 82.7 91.6 90.1 114.1 97.6C159 112.6 227.6 128 320 128s161-15.4 205.9-30.4c22.5-7.5 39.1-14.9 49.8-20.3c5.4-2.7 9.3-4.9 11.7-6.3c1.2-.7 2.1-1.2 2.5-1.5l.4-.2 0 0 0 0c14.7-9.7 34.5-5.8 44.3 8.9c9.8 14.7 5.8 34.6-8.9 44.4L608 96c17.8 26.6 17.7 26.6 17.7 26.6l0 0-.1 0-.2 .1-.4 .3c-.3 .2-.7 .5-1.2 .8c-1 .6-2.4 1.5-4.2 2.5c-3.6 2.1-8.7 4.9-15.3 8.2c-13.3 6.6-32.7 15.2-58.2 23.7c-10.2 3.4-21.4 6.8-33.5 10l19.8 54.3c-10.7-.7-21.7 .8-32.3 4.7s-20.1 9.8-27.8 17.2l-22.8-62.7c-28.9 4.7-61.4 8.2-97.4 9.6v71.2c-9.8-4.3-20.6-6.7-32-6.7s-22.2 2.4-32 6.7V191.4c-36-1.3-68.5-4.8-97.4-9.6l-22.8 62.7c-7.7-7.4-17.1-13.3-27.8-17.2s-21.7-5.4-32.3-4.7l19.8-54.3c-12.1-3.2-23.3-6.6-33.5-10c-25.5-8.5-44.9-17.1-58.2-23.7c-6.6-3.3-11.7-6.1-15.3-8.2c-1.8-1-3.2-1.9-4.2-2.5c-.5-.3-.9-.6-1.2-.8l-.4-.3-.1-.1-.1 0 0 0c0 0 0 0 17.7-26.6L14.2 122.6C-.5 112.8-4.4 93 5.4 78.2z\"]]\n};\nvar faCitrus = {\n prefix: 'fad',\n iconName: 'citrus',\n icon: [512, 512, [], \"e2f4\", [\"M304 128h80c19 0 36.8-5.5 51.7-15.1C473.2 155.3 496 211 496 272c0 132.5-107.5 240-240 240S16 404.5 16 272S123.5 32 256 32c17.8 0 35.1 1.9 51.8 5.6C295.4 53.8 288 74 288 96v16c0 8.8 7.2 16 16 16z\", \"M384 128H304c-8.8 0-16-7.2-16-16V96c0-53 43-96 96-96h80c8.8 0 16 7.2 16 16V32c0 53-43 96-96 96z\"]]\n};\nvar faFlagUsa = {\n prefix: 'fad',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", [\"M192 185.9V122.1c17.4 2.1 34.4 6.7 50.6 13.9l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 136.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9zm0-96V27c18.8 2.2 37.2 7.7 54.4 16.3c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v36.1l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-20.3-9-41.8-14.7-63.6-16.9zM128.3 383.9L64 400V331.8l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 328.3v33.5c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4zm-.7-98.5L64 299.1V235.8l70.2-15.1c36.4-7.8 74.3-3.9 108.4 11.3l16.1 7.2c49.2 21.9 105 23.8 155.6 5.4L448 232.3v62l-44.7 16.2c-42.8 15.6-90 13.9-131.6-4.6l-16.1-7.2c-40.2-17.9-85-22.5-128.1-13.3z\", \"M192 122.1V89.9 27c-19.6-2.3-39.6-1.1-59 3.8L64 48V32C64 14.3 49.7 0 32 0S0 14.3 0 32V64v56.8 32.7 63.3 32.7 63.3 32.7V416v64c0 17.7 14.3 32 32 32s32-14.3 32-32V400 331.8 299.1 235.8 224 203.1l63.5-13.6c21.3-4.6 43-5.7 64.5-3.6V122.1zM80 96a16 16 0 1 1 32 0A16 16 0 1 1 80 96zm64-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faLaptopFile = {\n prefix: 'fad',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", [\"M64 64C64 28.7 92.7 0 128 0H448c35.3 0 64 28.7 64 64V96H448V64H128V288H320v96H76.8C34.4 384 0 349.6 0 307.2C0 296.6 8.6 288 19.2 288H64V64z\", \"M400 128H512v96c0 17.7 14.3 32 32 32h96V464c0 26.5-21.5 48-48 48H400c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48zm240 96H544V128l96 96z\"]]\n};\nvar faTty = {\n prefix: 'fad',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", [\"M15.1 200.6l23.1 40.7c7.5 13.2 23.3 19.3 37.8 14.6l81.1-26.6c13.1-4.3 22-16.6 22-30.4V144c49.6-18.1 104-18.1 153.6 0v54.8c0 13.8 8.9 26.1 22 30.4l81.1 26.6c14.5 4.7 30.3-1.4 37.8-14.6l23.1-40.7c9.2-16.2 8.4-36.5-4.5-50C450.6 106.8 367.3 48 256 48S61.4 106.8 19.6 150.6c-12.9 13.5-13.7 33.8-4.5 50z\", \"M48 320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H80c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H48zm0 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H80c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H48zm80-80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H240zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H432zM416 432v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16zM144 416c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H144z\"]]\n};\nvar faTeletype = faTty;\nvar faChartTreeMap = {\n prefix: 'fad',\n iconName: 'chart-tree-map',\n icon: [512, 512, [], \"e0ea\", [\"M304 192c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H304zM48 272c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V320c0-26.5-21.5-48-48-48H48z\", \"M0 80C0 53.5 21.5 32 48 32H176c26.5 0 48 21.5 48 48V192c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zm256 0c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80zm48 272H464c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]]\n};\nvar faDiagramNext = {\n prefix: 'fad',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", [\"M379.3 337.9c14.4-14.4 17.1-33.7 11.3-49.9H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64l57.4 0c-5.8 16.2-3.1 35.5 11.3 49.9l89.4 89.4c18.7 18.7 49.1 18.7 67.9 0l89.4-89.4z\", \"M448 224c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H232v64l-46.1 0c-21.4 0-32.1 25.9-17 41L239 399c9.4 9.4 24.6 9.4 33.9 0L343 329c15.1-15.1 4.4-41-17-41L280 288V224H448z\"]]\n};\nvar faPersonRifle = {\n prefix: 'fad',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", [\"M336 211.9c-21-12.8-45.4-19.9-70.8-19.9H214.8c-48.1 0-92.6 25.4-117.1 66.8L21.6 387.7c-11.2 19-4.9 43.5 14.1 54.8s43.5 4.9 54.8-14.1L144 337.7V512H336V211.9zM240 160A80 80 0 1 0 240 0a80 80 0 1 0 0 160z\", \"M432 0h16c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16z\"]]\n};\nvar faClockFiveThirty = {\n prefix: 'fad',\n iconName: 'clock-five-thirty',\n icon: [512, 512, [], \"e34a\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V335.3l20 30c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3l-64-96c-5.9-8.8-16.8-12.7-26.9-9.7s-17 12.4-17 23V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 416c13.3 0 24-10.7 24-24V335.3l20 30c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3l-64-96c-5.9-8.8-16.8-12.7-26.9-9.7s-17 12.4-17 23V392c0 13.3 10.7 24 24 24z\"]]\n};\nvar faPipeValve = {\n prefix: 'fad',\n iconName: 'pipe-valve',\n icon: [512, 512, [], \"e439\", [\"M256 32c17.7 0 32 14.3 32 32V76l-32 4-32-4V64c0-17.7 14.3-32 32-32zm0 80l32 4v76H448V448H64V192H224V116l32-4z\", \"M128 128l128-16 128 16c17.7 0 32-14.3 32-32s-14.3-32-32-32L256 80 128 64c-17.7 0-32 14.3-32 32s14.3 32 32 32zM32 160c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-17.7-14.3-32-32-32zm480 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V192z\"]]\n};\nvar faArrowUpFromArc = {\n prefix: 'fad',\n iconName: 'arrow-up-from-arc',\n icon: [512, 512, [], \"e4b4\", [\"M64 256c0 106 86 192 192 192s192-86 192-192c0-17.7 14.3-32 32-32s32 14.3 32 32c0 141.4-114.6 256-256 256S0 397.4 0 256c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M121.4 166.6c-12.5-12.5-12.5-32.8 0-45.3l112-112c12.5-12.5 32.8-12.5 45.3 0l112 112c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3 288 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-210.7-57.4 57.4c-12.5 12.5-32.8 12.5-45.3 0z\"]]\n};\nvar faFaceSpiralEyes = {\n prefix: 'fad',\n iconName: 'face-spiral-eyes',\n icon: [512, 512, [], \"e485\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56.9-137.1l14.8-9.9c14.3-9.6 32.7-10.7 48.1-3l15.4 7.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-15.4-7.7c-5.1-2.6-11.3-2.2-16 1l-14.8 9.9c-16.1 10.7-37.1 10.7-53.3 0l-12.5-8.3c-5.4-3.6-12.4-3.6-17.8 0l-12.5 8.3c-16.1 10.7-37.1 10.7-53.3 0l-14.8-9.9c-4.8-3.2-10.9-3.6-16-1l-15.4 7.7c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l15.4-7.7c15.4-7.7 33.8-6.6 48.1 3l14.8 9.9c5.4 3.6 12.4 3.6 17.8 0l12.5-8.3c16.1-10.7 37.1-10.7 53.3 0l12.5 8.3c5.4 3.6 12.4 3.6 17.8 0zm-147-263.3c.3 6.6-4.9 12.2-11.5 12.5c-46.9 1.9-82.2 45-78.1 84.3l0 .3 0 .3c2 40.2 40.8 70.7 76.2 66.7l.3 0 .3 0c36.3-2 62.1-35.7 58.4-64.5l0-.3 0-.3c-2.1-29.8-31.3-51-56-47.5l-.3 0-.3 0c-25.7 2.2-42 26.2-38.9 44.5l.1 .4 0 .4c2.1 19.5 21.5 31.3 35.5 28.6l.3-.1 .3 0c15.2-2.1 22-16.3 19.9-24l-.1-.4-.1-.4c-.9-4.3-3.4-7.4-6.5-9.2c-.9-.5-1.8-.9-2.6-1.2c1.7 1.9 2.8 4.2 3 6.9c1 11.1-8.8 15.8-14.1 16.4c-6.6 .8-13.4-2.2-17.6-8.5c-5-6.8-4.4-15.6-1.8-21.8c2.9-7 8.9-13.2 17.8-16c9.2-3.3 19.4-1.3 27.5 3.3c8.3 4.9 15.5 13.4 17.9 24.8c5.8 22.8-11.9 49.5-39.5 53.6c-27.7 5.3-59.8-16.2-63.6-49.2c-5.4-33 21.9-68.7 60.3-72.1c38.2-5.2 79.6 25.8 82.9 69.3c5.4 43.3-31.5 88.2-80.6 91.2c-48.8 5.3-99.6-35.2-102.5-89.1c-5.5-53.8 41.1-108.1 101-110.5c6.6-.3 12.2 4.9 12.5 11.5zM357.6 292c46.9-1.9 82.2-45 78.1-84.3l0-.3 0-.3c-2-40.2-40.8-70.7-76.2-66.7l-.3 0-.3 0c-36.3 2-62.1 35.7-58.4 64.5l0 .3 0 .3c2.1 29.8 31.3 51 56 47.5l.3 0 .3 0c25.7-2.2 42-26.2 38.9-44.5l-.1-.4 0-.4c-2.1-19.5-21.5-31.3-35.5-28.6l-.3 .1-.3 0c-15.2 2.1-21.9 16.3-19.9 24l.1 .4 .1 .4c.9 4.3 3.4 7.4 6.5 9.2c.9 .5 1.8 .9 2.6 1.2c-1.7-1.9-2.8-4.2-3-6.9c-1-11.1 8.8-15.8 14.1-16.4c6.6-.8 13.4 2.2 17.6 8.5c5 6.8 4.4 15.6 1.8 21.8c-2.9 7-8.9 13.2-17.8 16c-9.2 3.3-19.4 1.3-27.5-3.3c-8.3-4.9-15.5-13.4-17.9-24.8c-5.8-22.8 11.9-49.5 39.5-53.6c27.7-5.3 59.8 16.2 63.6 49.2c5.4 33-21.9 68.7-60.3 72.1c-38.2 5.2-79.6-25.8-82.9-69.3c-5.4-43.3 31.5-88.2 80.6-91.2c48.8-5.3 99.6 35.2 102.5 89.1c5.5 53.8-41.1 108.1-101 110.5c-6.6 .3-12.2-4.9-12.5-11.5s4.9-12.2 11.5-12.5z\", \"M154.4 124c6.6-.3 11.8-5.8 11.5-12.5s-5.8-11.8-12.5-11.5c-59.9 2.4-106.5 56.7-101 110.5c2.9 53.9 53.7 94.3 102.5 89.1c49.1-3 85.9-47.9 80.6-91.2c-3.3-43.5-44.7-74.4-82.9-69.3c-38.4 3.4-65.7 39.2-60.3 72.1c3.8 33 35.9 54.5 63.6 49.2c27.7-4.1 45.3-30.8 39.5-53.6c-2.4-11.5-9.5-20-17.9-24.8c-8-4.7-18.3-6.6-27.5-3.3c-8.9 2.8-14.9 9-17.8 16c-2.6 6.3-3.2 15 1.8 21.8c4.2 6.3 11.1 9.2 17.6 8.5c5.3-.6 15.1-5.3 14.1-16.4c-.2-2.7-1.3-5.1-3-6.9c.8 .3 1.7 .6 2.6 1.2c3.1 1.8 5.7 4.9 6.5 9.2l.1 .4 .1 .4c2.1 7.7-4.7 21.9-19.9 24l-.3 0-.3 .1c-14 2.8-33.3-9.1-35.5-28.6l0-.4-.1-.4c-3.1-18.3 13.2-42.4 38.9-44.5l.3 0 .3 0c24.7-3.5 53.8 17.7 56 47.5l0 .3 0 .3c3.7 28.8-22.1 62.5-58.4 64.5l-.3 0-.3 0c-35.4 4-74.2-26.5-76.2-66.7l0-.3 0-.3c-4.2-39.3 31.1-82.4 78.1-84.3zM357.6 292c-6.6 .3-11.8 5.8-11.5 12.5s5.8 11.8 12.5 11.5c59.9-2.4 106.5-56.7 101-110.5c-2.9-53.9-53.7-94.3-102.5-89.1c-49.1 3-85.9 47.9-80.6 91.2c3.3 43.5 44.7 74.4 82.9 69.3c38.4-3.4 65.7-39.2 60.3-72.1c-3.8-33-35.9-54.5-63.6-49.2c-27.7 4.1-45.3 30.8-39.5 53.6c2.4 11.5 9.6 20 17.9 24.8c8 4.7 18.3 6.6 27.5 3.3c8.9-2.8 14.9-9 17.8-16c2.6-6.3 3.2-15-1.8-21.8c-4.2-6.3-11.1-9.2-17.6-8.5c-5.3 .6-15.1 5.3-14.1 16.4c.2 2.7 1.3 5.1 3 6.9c-.8-.3-1.7-.6-2.6-1.2c-3.1-1.8-5.7-4.9-6.5-9.2l-.1-.4-.1-.4c-2.1-7.7 4.7-21.9 19.9-24l.3 0 .3-.1c14-2.8 33.3 9.1 35.5 28.6l0 .4 .1 .4c3.1 18.3-13.2 42.4-38.9 44.5l-.3 0-.3 0c-24.7 3.5-53.9-17.7-56-47.5l0-.3 0-.3c-3.7-28.8 22.1-62.5 58.4-64.5l.3 0 .3 0c35.4-4 74.2 26.5 76.2 66.7l0 .3 0 .3c4.2 39.3-31.1 82.4-78.1 84.3z\"]]\n};\nvar faCompressWide = {\n prefix: 'fad',\n iconName: 'compress-wide',\n icon: [512, 512, [], \"f326\", [\"M352 96c0-17.7 14.3-32 32-32s32 14.3 32 32v64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V96zM160 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32v96z\", \"M160 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V96zM352 416c0 17.7 14.3 32 32 32s32-14.3 32-32V352h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H384c-17.7 0-32 14.3-32 32v96z\"]]\n};\nvar faCirclePhoneHangup = {\n prefix: 'fad',\n iconName: 'circle-phone-hangup',\n icon: [512, 512, [\"phone-circle-down\"], \"e11d\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM391.4 310c-5.3 8.6-16.8 12.3-26.7 8.5l-46.2-17.6c-8.7-3.3-14.1-11.6-13.1-20.3l2.9-26.7c-33.8-10.8-70.8-10.8-104.6 0l2.9 26.7c.9 8.7-4.4 16.9-13.1 20.3l-46.2 17.6c-9.9 3.8-21.4 .2-26.7-8.5L98.8 274.8c-4.8-7.8-3.4-17.5 3.4-23.8c84.9-78.6 222.6-78.6 307.5 0c6.8 6.3 8.2 16.1 3.4 23.8L391.4 310z\", \"M364.7 318.5c9.9 3.8 21.4 .2 26.7-8.5l21.7-35.2c4.8-7.8 3.4-17.5-3.4-23.8c-84.9-78.6-222.6-78.6-307.5 0c-6.8 6.3-8.2 16.1-3.4 23.8L120.6 310c5.3 8.6 16.8 12.3 26.7 8.5l46.2-17.6c8.7-3.3 14.1-11.6 13.1-20.3L203.7 254c33.8-10.8 70.8-10.8 104.6 0l-2.9 26.7c-.9 8.7 4.4 16.9 13.1 20.3l46.2 17.6z\"]]\n};\nvar faPhoneCircleDown = faCirclePhoneHangup;\nvar faGearComplexCode = {\n prefix: 'fad',\n iconName: 'gear-complex-code',\n icon: [512, 512, [], \"e5eb\", [\"M305.4 21.8c-1.3-10.4-9.1-18.8-19.5-20C276.1 .6 266.1 0 256 0c-11.1 0-22.1 .7-32.8 2.1c-10.3 1.3-18 9.7-19.3 20l-2.9 23.1c-.8 6.4-5.4 11.6-11.5 13.7c-9.6 3.2-19 7.2-27.9 11.7c-5.8 3-12.8 2.5-18-1.5l-18-14c-8.2-6.4-19.7-6.8-27.9-.4c-16.6 13-31.5 28-44.4 44.7c-6.3 8.2-5.9 19.6 .5 27.8l14.2 18.3c4 5.1 4.4 12 1.5 17.8c-4.4 8.8-8.2 17.9-11.3 27.4c-2 6.2-7.3 10.8-13.7 11.6l-22.8 2.9c-10.3 1.3-18.7 9.1-20 19.4C.7 234.8 0 245.3 0 256c0 10.6 .6 21.1 1.9 31.4c1.3 10.3 9.7 18.1 20 19.4l22.8 2.9c6.4 .8 11.7 5.4 13.7 11.6c3.1 9.5 6.9 18.7 11.3 27.5c2.9 5.8 2.4 12.7-1.5 17.8L54 384.8c-6.4 8.2-6.8 19.6-.5 27.8c12.9 16.7 27.8 31.7 44.4 44.7c8.2 6.4 19.7 6 27.9-.4l18-14c5.1-4 12.2-4.4 18-1.5c9 4.6 18.3 8.5 27.9 11.7c6.1 2.1 10.7 7.3 11.5 13.7l2.9 23.1c1.3 10.3 9 18.7 19.3 20c10.7 1.4 21.7 2.1 32.8 2.1c10.1 0 20.1-.6 29.9-1.7c10.4-1.2 18.2-9.7 19.5-20l2.8-22.5c.8-6.5 5.5-11.8 11.7-13.8c10-3.2 19.7-7.2 29-11.8c5.8-2.9 12.7-2.4 17.8 1.5L385 457.9c8.2 6.4 19.6 6.8 27.8 .5c2.8-2.2 5.5-4.4 8.2-6.7L451.7 421c1.8-2.2 3.6-4.4 5.4-6.6c6.5-8.2 6-19.7-.4-27.9l-14-17.9c-4-5.1-4.4-12.2-1.5-18c4.8-9.4 9-19.3 12.3-29.5c2-6.2 7.3-10.8 13.7-11.6l22.8-2.8c10.3-1.3 18.8-9.1 20-19.4c.2-1.7 .4-3.5 .6-5.2V230.1c-.2-1.7-.4-3.5-.6-5.2c-1.3-10.3-9.7-18.1-20-19.4l-22.8-2.8c-6.4-.8-11.7-5.4-13.7-11.6c-3.4-10.2-7.5-20.1-12.3-29.5c-3-5.8-2.5-12.8 1.5-18l14-17.9c6.4-8.2 6.8-19.7 .4-27.9c-1.8-2.2-3.6-4.4-5.4-6.6L421 60.3c-2.7-2.3-5.4-4.5-8.2-6.7c-8.2-6.4-19.6-5.9-27.8 .5L366.7 68.3c-5.1 4-12.1 4.4-17.8 1.5c-9.3-4.6-19-8.6-29-11.8c-6.2-2-10.9-7.3-11.7-13.7l-2.8-22.5zM287.8 162.6l-32 192c-1.5 8.7-9.7 14.6-18.4 13.2s-14.6-9.7-13.2-18.4l32-192c1.5-8.7 9.7-14.6 18.4-13.2s14.6 9.7 13.2 18.4zM187.3 227.3L158.6 256l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6l40-40c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm160-22.6l40 40c6.2 6.2 6.2 16.4 0 22.6l-40 40c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L353.4 256l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\", \"M274.6 144.2c8.7 1.5 14.6 9.7 13.2 18.4l-32 192c-1.5 8.7-9.7 14.6-18.4 13.2s-14.6-9.7-13.2-18.4l32-192c1.5-8.7 9.7-14.6 18.4-13.2zm-87.3 60.5c6.2 6.2 6.2 16.4 0 22.6L158.6 256l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6l40-40c6.2-6.2 16.4-6.2 22.6 0zm137.4 0c6.2-6.2 16.4-6.2 22.6 0l40 40c6.2 6.2 6.2 16.4 0 22.6l-40 40c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L353.4 256l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'fad',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", [\"M394.8 512C349.5 480.1 320 427.5 320 368c0-5.4 .2-10.7 .7-16H320v16c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h40.2c32.3-39.1 81.1-64 135.8-64c8.9 0 17.6 .7 26.1 1.9L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32V448c0 35.3 28.7 64 64 64H394.8z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faBadminton = {\n prefix: 'fad',\n iconName: 'badminton',\n icon: [576, 512, [], \"e33a\", [\"M512 352c-26.5 0-48 21.5-48 48v32h96V400c0-26.5-21.5-48-48-48zm-50.3 96l-13 43.4c-2.5 8.5 2.3 17.4 10.7 19.9s17.4-2.3 19.9-10.7L495.1 448H461.7zm34.3 0v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448H496zm32.9 0l15.8 52.6c2.5 8.5 11.5 13.3 19.9 10.7s13.3-11.5 10.7-19.9l-13-43.4H528.9zM110.6 369.4c-12.5-12.5-32.8-12.5-45.3 0l-56 56c-12.5 12.5-12.5 32.8 0 45.3l32 32c12.5 12.5 32.8 12.5 45.3 0l56-56c12.5-12.5 12.5-32.8 0-45.3l-32-32z\", \"M349 64c-36 0-76.4 15.8-108.8 48.2S192 184.9 192 221c0 28.2 9.6 53.2 27.7 71.3c40.4 40.4 120.7 38.9 180.1-20.5C432.2 239.4 448 199.1 448 163c0-28.2-9.6-53.2-27.7-71.3S377.1 64 349 64zm-154 2.9C238.5 23.4 294.8 0 349 0c42.8 0 84.9 14.8 116.6 46.5S512 120.2 512 163c0 54.2-23.4 110.5-66.9 154c-54.4 54.4-131.9 78.7-198.2 61.7c-29.4-7.5-62.9-5.5-84.3 16L148.3 409c-1.5-2.7-3.3-5.3-5.6-7.6l-32-32c-2.3-2.3-4.9-4.2-7.6-5.6l14.5-14.5c21.4-21.4 23.5-54.7 16-84C129.8 250.9 128 236 128 221c0-54.2 23.4-110.5 66.9-154z\"]]\n};\nvar faClosedCaptioning = {\n prefix: 'fad',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", [\"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\", \"M152 256c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48zm192 0c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]]\n};\nvar faPersonHiking = {\n prefix: 'fad',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", [\"M136.5 125.8L101.4 266.5c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8zM360 160c13.3 0 24 10.7 24 24v55.7c-.1-17.6-14.4-31.7-32-31.7H336V184c0-13.3 10.7-24 24-24zM336 272h16c17.6 0 31.9-14.2 32-31.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272z\", \"M192 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4c19 4.8 35.6 16.4 46.4 32.7L305.1 208H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H296.6c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9L117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9L142.9 488.1c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1z\"]]\n};\nvar faHiking = faPersonHiking;\nvar faRightFromLine = {\n prefix: 'fad',\n iconName: 'right-from-line',\n icon: [448, 512, [\"arrow-alt-from-left\"], \"f347\", [\"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64z\", \"M436.7 228.7L313.9 105.9c-6.4-6.4-15-9.9-24-9.9c-18.7 0-33.9 15.2-33.9 33.9l0 62.1-128 0c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l128 0 0 62.1c0 18.7 15.2 33.9 33.9 33.9c9 0 17.6-3.6 24-9.9L436.7 283.3c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3z\"]]\n};\nvar faArrowAltFromLeft = faRightFromLine;\nvar faVenusDouble = {\n prefix: 'fad',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", [\"M344 318c14.6-15.6 26.8-33.4 36-53c18.8 14.4 42.4 23 68 23c61.9 0 112-50.1 112-112s-50.1-112-112-112c-25.6 0-49.1 8.6-68 23c-9.3-19.5-21.5-37.4-36-53C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H480v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1c-26.6-4.9-51.1-15.7-72-31.1zM192 96a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M192 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM368 176c0 86.3-62.1 158.1-144 173.1V384h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H224v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V349.1C78.1 334.1 16 262.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zm32 0c0-19.8-2.8-39-8-57.2C406.5 104.7 426.2 96 448 96c44.2 0 80 35.8 80 80s-35.8 80-80 80c-21.8 0-41.5-8.7-56-22.8c5.2-18.2 8-37.3 8-57.2z\"]]\n};\nvar faImages = {\n prefix: 'fad',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", [\"M96 96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96zm280 32c-8 0-15.5 4-20 10.7l-56 84L282.7 201c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H472c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C391.5 132 384 128 376 128zM224 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm348 18.7C391.5 132 384 128 376 128s-15.5 4-20 10.7l-56 84L282.7 201c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H472c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144z\"]]\n};\nvar faCalculator = {\n prefix: 'fad',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", [\"M96 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]]\n};\nvar faShuttlecock = {\n prefix: 'fad',\n iconName: 'shuttlecock',\n icon: [512, 512, [], \"f45b\", [\"M192 464L48 320 29.8 338.2C10.7 357.3 0 383.2 0 410.2C0 466.4 45.6 512 101.8 512c27 0 52.9-10.7 72-29.8L192 464z\", \"M320 32c0 8.8-7.2 16-16 16c-24.4 0-46 15.8-53.4 39.1l-29.3 92.8c-1.3 4.1-4.2 7.6-8.1 9.5l-32.4 16.2c-3.1 1.5-5.6 4.1-7.2 7.2l-32.5 64.9c-3.1 6.2-1.9 13.6 3 18.5L163 315l71.9-71.9L281.1 96.8C284.3 86.8 293.5 80 304 80H408c13.3 0 24 10.7 24 24V208c0 10.5-6.8 19.7-16.8 22.9L268.8 277.1 197 349l18.9 18.9c4.9 4.9 12.3 6.1 18.5 3l64.9-32.5c3.1-1.5 5.6-4.1 7.2-7.2l16.2-32.4c1.9-3.9 5.4-6.8 9.5-8.1l92.8-29.3c23.3-7.4 39.1-29 39.1-53.4c0-8.8 7.2-16 16-16h8c13.3 0 24 10.7 24 24v51.7c0 12.4-7.2 23.7-18.4 29L250.1 411.2c-6.7 3.1-12.8 7.4-18 12.7L192 464 48 320l40.1-40.1c5.2-5.2 9.5-11.3 12.7-18L215.4 18.4C220.6 7.2 231.9 0 244.3 0H296c13.3 0 24 10.7 24 24v8z\"]]\n};\nvar faUserHair = {\n prefix: 'fad',\n iconName: 'user-hair',\n icon: [448, 512, [], \"e45a\", [\"M176 112H120c-7.9 0-15.5-1.7-22.3-4.6C96.6 114.1 96 121 96 128c0 70.7 57.3 128 128 128s128-57.3 128-128c0-11-1.4-21.8-4-32H312c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112z\", \"M120 112h56c34.6 0 65-18.3 81.9-45.8C269.2 84.1 289.2 96 312 96h36C333.8 40.8 283.6 0 224 0C160.3 0 107.5 46.5 97.7 107.4c6.8 3 14.4 4.6 22.3 4.6zm41.3 208C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3z\"]]\n};\nvar faEyeEvil = {\n prefix: 'fad',\n iconName: 'eye-evil',\n icon: [640, 512, [], \"f6db\", [\"M294.8 222c-3.9 9.4-6.8 20.8-6.8 34c0 31.5 16.5 52.7 23.8 60.6c2.1 2.3 5.1 3.4 8.2 3.4s6.1-1.1 8.2-3.4c7.3-7.9 23.8-29.2 23.8-60.6c0-13.2-2.9-24.6-6.8-34c-8.2 1.3-16.6 2-25.2 2s-17-.7-25.2-2z\", \"M224 122.6c9.8-4.1 20.1-7.6 30.9-10.4l42.7-97.6C301.5 5.8 310.3 0 320 0s18.5 5.8 22.4 14.7l42.7 97.6c10.7 2.8 21.1 6.3 30.9 10.4L525.6 76.1c8.7-3.7 18.7-1 24.4 6.5s5.5 17.9-.4 25.2l-57.3 70.8c7 9 12.8 18.6 17.3 28.6l114.9 28.7c9.1 2.3 15.5 10.5 15.5 19.9s-6.4 17.6-15.5 19.9L509.6 304.6c-4.5 10.1-10.3 19.7-17.3 28.6l57.3 70.8c5.9 7.3 6.1 17.7 .4 25.2s-15.7 10.2-24.4 6.5L416 389.4c-9.8 4.1-20.1 7.6-30.9 10.4l-42.7 97.6c-3.9 8.9-12.7 14.7-22.4 14.7s-18.5-5.8-22.4-14.7l-42.7-97.6c-10.7-2.8-21.1-6.3-30.9-10.4L114.4 435.9c-8.7 3.7-18.7 1-24.4-6.5s-5.5-17.9 .4-25.2l57.3-70.8c-7-9-12.8-18.6-17.3-28.6L15.5 275.9C6.4 273.6 0 265.4 0 256s6.4-17.6 15.5-19.9l114.9-28.7c4.5-10.1 10.3-19.6 17.3-28.6L90.4 107.9c-5.9-7.3-6.1-17.7-.4-25.2s15.7-10.2 24.4-6.5L224 122.6zM416 256c0-19.7-6-38.1-16.2-53.3C376.3 216.2 349.1 224 320 224s-56.3-7.8-79.8-21.3C230 217.9 224 236.3 224 256c0 53 43 96 96 96s96-43 96-96z\"]]\n};\nvar faPeoplePulling = {\n prefix: 'fad',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", [\"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM64 128c-35.3 0-64 28.7-64 64V320c0 17.7 14.3 32 32 32c9.8 0 18.5-4.4 24.4-11.2L80.4 485.3c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8L123.1 352h15.7l30 134.9c3.8 17.3 20.9 28.1 38.2 24.3s28.1-20.9 24.3-38.2l-58-260.8 102.4 42.6c-3.9-7.4-4.9-16.4-2-25l2.6-7.8c3.6-10.8 8.5-20.9 14.7-30.2L155.2 135.4c-11.7-4.9-24.2-7.4-36.9-7.4H64z\", \"M416 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM382.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L537 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L503 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM324.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1l-61.7 61.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L324.7 398z\"]]\n};\nvar faN = {\n prefix: 'fad',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", [\"M21.1 33.9c12.7-4.6 26.9-.7 35.5 9.6L320 359.6V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 13.5-8.4 25.5-21.1 30.1s-26.9 .7-35.5-9.6L64 152.4V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 50.5 8.4 38.5 21.1 33.9z\", \"\"]]\n};\nvar faGarage = {\n prefix: 'fad',\n iconName: 'garage',\n icon: [640, 512, [], \"e009\", [\"M512 224v96H128V224H512zM128 352H512V512H128V352zm128 80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M0 171.3V488c0 13.3 10.7 24 24 24H72c13.3 0 24-10.7 24-24V224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V488c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V171.3c0-26.2-15.9-49.7-40.2-59.4L331.9 4.8c-7.6-3.1-16.1-3.1-23.8 0L40.2 111.9C15.9 121.6 0 145.2 0 171.3z\"]]\n};\nvar faCableCar = {\n prefix: 'fad',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", [\"M492.9 103.5c13-2.7 21.3-15.4 18.6-28.4s-15.4-21.3-28.4-18.6l-232 48-232 48c-13 2.7-21.3 15.4-18.6 28.4s15.4 21.3 28.4 18.6l203.1-42V200v24h48V200 147.5l212.9-44zM96 288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352z\", \"M320 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 88a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM96 224c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H96zm0 64h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V304zm144-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H352c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]]\n};\nvar faTram = faCableCar;\nvar faShovelSnow = {\n prefix: 'fad',\n iconName: 'shovel-snow',\n icon: [512, 512, [], \"f7c3\", [\"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-31.4 31.4c-15.1 15.1-35.6 23.6-57 23.6c-13.5 0-26.2-3.3-37.4-9.2l-83.5 83.5-33.9-33.9 83.5-83.5c-5.9-11.2-9.2-23.9-9.2-37.4c0-21.4 8.5-41.9 23.6-57L391 7zm17 50.9L393.5 72.4c-6.1 6.1-9.5 14.4-9.5 23c0 18 14.6 32.6 32.6 32.6c8.6 0 16.9-3.4 23-9.5L454.1 104 408 57.9zM203.3 267.3l-80 80c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l80-80c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm64 64l-80 80c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l80-80c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M172.8 166.4c12.7-9.6 30.6-8.3 41.8 3l128 128c11.3 11.3 12.5 29.1 3 41.8l-120 160c-5.6 7.4-14.1 12.1-23.3 12.7s-18.3-2.7-24.9-9.3l-168-168C2.8 328.1-.6 319 .1 309.7s5.3-17.8 12.7-23.3l160-120zm30.5 100.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80zm64 64c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80z\"]]\n};\nvar faCloudRain = {\n prefix: 'fad',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", [\"M54.2 436.6L89.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3zm160 0L249.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3zM409.2 372c1.3-2.5 3.9-4 6.8-4s5.4 1.5 6.8 4l35.1 64.6c4.1 7.5 6.2 15.8 6.2 24.3v3c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3c0-8.5 2.1-16.9 6.2-24.3L409.2 372z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faFaceLying = {\n prefix: 'fad',\n iconName: 'face-lying',\n icon: [512, 512, [], \"e37e\", [\"M494 350.5c-4.5 1-9.2 1.5-14 1.5H352c-8.8 0-16-7.2-16-16s7.2-16 16-16H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-8.8 0-16-7.2-16-16s7.2-16 16-16H480c11.2 0 21.7 2.9 30.9 7.9C498.8 101.8 389.3 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c108 0 200.4-66.9 238-161.5zM144.4 176a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM188.8 393.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4C180.7 351.1 208.6 336 240 336c13.6 0 26.6 2.8 38.4 8c8.1 3.5 11.8 13 8.3 21.1s-13 11.8-21.1 8.3c-7.8-3.4-16.5-5.3-25.6-5.3c-20.9 0-39.5 10-51.2 25.6z\", \"M176.4 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSprinkler = {\n prefix: 'fad',\n iconName: 'sprinkler',\n icon: [512, 512, [], \"e035\", [\"M0 24a24 24 0 1 1 48 0A24 24 0 1 1 0 24zm24 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM88 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM64 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM512 232a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM488 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24-80a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM424 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24 136a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-88-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V256H123.8C108.4 256 96 268.4 96 283.8c0 7.8 3.3 15.2 9 20.5L192 384v96c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384l87-79.7c5.7-5.3 9-12.7 9-20.5c0-15.3-12.4-27.8-27.8-27.8H288V96z\"]]\n};\nvar faBuildingCircleXmark = {\n prefix: 'fad',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V232.2c-39.1 32.3-64 81.1-64 135.8c0 49.5 20.4 94.2 53.3 126.2C364.5 505.1 351.1 512 336 512H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faPersonSledding = {\n prefix: 'fad',\n iconName: 'person-sledding',\n icon: [512, 512, [\"sledding\"], \"f7cb\", [\"M2.7 236.9c6.1-11.8 20.6-16.3 32.4-10.2L418.5 425.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 269.3C1.2 263.2-3.4 248.7 2.7 236.9z\", \"M400 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM361 196.3L301.3 256H336c26.5 0 48 21.5 48 48v80c0 7.6-2.7 14.7-7.2 20.2L320 374.6V320H214.7L171 297.3c-12.2-20.2-9.8-48.8 13.8-64.9L244 192H160c-17.7 0-32-14.3-32-32s14.3-32 32-32H332.7c35.6 0 53.5 43.1 28.3 68.3z\"]]\n};\nvar faSledding = faPersonSledding;\nvar faGameConsoleHandheld = {\n prefix: 'fad',\n iconName: 'game-console-handheld',\n icon: [384, 512, [], \"f8bb\", [\"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V64zM96 80V192c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32V80c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM232 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM96 304v16H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H96v16c0 8.8 7.2 16 16 16s16-7.2 16-16V352h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H128V304c0-8.8-7.2-16-16-16s-16 7.2-16 16z\", \"M96 80c0-8.8 7.2-16 16-16H272c8.8 0 16 7.2 16 16V192c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V80z\"]]\n};\nvar faShip = {\n prefix: 'fad',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", [\"M269.5 421.9c11.1-7.9 25.9-7.9 37 0C329 437.4 356.5 448 384 448c26.9 0 55.3-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1z\", \"M224 0c-17.7 0-32 14.3-32 32V64H144c-26.5 0-48 21.5-48 48V240L51.6 254.8c-23.1 7.7-29.5 37.5-11.5 53.9l101 92.6c16.2 9.4 34.7 15.1 50.9 15.1c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c16.2 0 34.7-5.7 50.9-15.1l101-92.6c18-16.5 11.6-46.2-11.5-53.9L480 240V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32H224zm43.8 182.7L160 218.7V128H416v90.7L308.2 182.7c-13.1-4.4-27.3-4.4-40.5 0z\"]]\n};\nvar faClockSixThirty = {\n prefix: 'fad',\n iconName: 'clock-six-thirty',\n icon: [512, 512, [], \"e353\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm24-120V256c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\", \"M256 416c13.3 0 24-10.7 24-24V256c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 13.3 10.7 24 24 24z\"]]\n};\nvar faBatterySlash = {\n prefix: 'fad',\n iconName: 'battery-slash',\n icon: [640, 512, [], \"f377\", [\"M324.9 352H112c-8.8 0-16-7.2-16-16V176c0-1.4 .2-2.7 .5-4L45.4 131.7C36.9 144.4 32 159.6 32 176V336c0 44.2 35.8 80 80 80H406.2l-81.2-64zM496 352H481.4l61.9 48.5C563.1 386 576 362.5 576 336V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H154.8l81.7 64H496c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTugrikSign = {\n prefix: 'fad',\n iconName: 'tugrik-sign',\n icon: [384, 512, [], \"e2ba\", [\"M160 199v66L71.8 287c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8L160 199zm0 96v66L71.8 383c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8L160 295zm64 50V279L312.2 257c17.1-4.3 34.5 6.1 38.8 23.3s-6.1 34.5-23.3 38.8L224 345zm0-96V183L312.2 161c17.1-4.3 34.5 6.1 38.8 23.3s-6.1 34.5-23.3 38.8L224 249z\", \"M0 64C0 46.3 14.3 32 32 32H192 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H224V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H32C14.3 96 0 81.7 0 64z\"]]\n};\nvar faArrowsDownToLine = {\n prefix: 'fad',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", [\"M576 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l512 0c17.7 0 32-14.3 32-32z\", \"M521.4 233.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L416 274.7 416 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 210.7 41.4-41.4zm-320 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L96 274.7 96 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 210.7 41.4-41.4z\"]]\n};\nvar faDownload = {\n prefix: 'fad',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", [\"M178.7 352H64c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H333.3l-54.6 54.6c-12.5 12.5-32.8 12.5-45.3 0L178.7 352zM408 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M256 0c17.7 0 32 14.3 32 32V306.7l73.4-73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 306.7V32c0-17.7 14.3-32 32-32z\"]]\n};\nvar faShelves = {\n prefix: 'fad',\n iconName: 'shelves',\n icon: [640, 512, [\"inventory\"], \"f480\", [\"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V192 448v32c0 17.7 14.3 32 32 32s32-14.3 32-32H576c0 17.7 14.3 32 32 32s32-14.3 32-32V448 192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V160H64V32zm0 192H576V416H64V224z\", \"M384 0c-17.7 0-32 14.3-32 32V96c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384zM96 288v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm160 0v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faInventory = faShelves;\nvar faCloudSnow = {\n prefix: 'fad',\n iconName: 'cloud-snow',\n icon: [512, 512, [127784], \"f742\", [\"M88 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H40v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H88V376zm192 32c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V408zm168-56c-13.3 0-24 10.7-24 24v16H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V376c0-13.3-10.7-24-24-24z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faFaceGrin = {\n prefix: 'fad',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'fad',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", [\"M576 128c0-35.3-28.7-64-64-64H205.3c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128zM433 175c9.4 9.4 9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0z\", \"M399 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47z\"]]\n};\nvar faBackspace = faDeleteLeft;\nvar faOven = {\n prefix: 'fad',\n iconName: 'oven',\n icon: [448, 512, [], \"e01d\", [\"M448 160v32H0V160H448zM64 256H384V448H64V256zm32 48c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\", \"M96 0H352c53 0 96 43 96 96v64H0V96C0 43 43 0 96 0zM80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM200 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM392 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM64 256l0 192H384V256H64zM0 192H64 384h64v64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256 192z\"]]\n};\nvar faCloudBinary = {\n prefix: 'fad',\n iconName: 'cloud-binary',\n icon: [640, 512, [], \"e601\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm16-280v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8zm88-16c0 8.8 7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm136-16c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H424zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V200zM176 320c0 8.8 7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm96 24v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V344c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8V344c0-4.4 3.6-8 8-8zm104-32c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H416z\", \"M200 160c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H200zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V200zm112-40c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16H304zm80 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H424c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8zM192 304c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H192zm120 0c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V344c0-22.1-17.9-40-40-40H312zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8V344zm96-24c0 8.8 7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faEyeDropper = {\n prefix: 'fad',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", [\"M198.7 180L55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L332 313.3 286.7 268 143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L244 225.3 198.7 180z\", \"M240.1 130.8L341.6 29.2c39-39 102.2-39 141.1 0s39 102.2 0 141.1L381.2 271.9l9.4 9.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l9.4 9.4z\"]]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faCommentCaptions = {\n prefix: 'fad',\n iconName: 'comment-captions',\n icon: [512, 512, [], \"e146\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM120 208H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm224 0h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24s10.7-24 24-24zM120 288h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm128 0H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M96 232c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm224 0c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zM96 312c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faCommentsQuestion = {\n prefix: 'fad',\n iconName: 'comments-question',\n icon: [640, 512, [], \"e14e\", [\"M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4c-3.5 9.4-8.7 17.7-14.2 24.7c-4.8 6.2-9.7 11-13.3 14.3c-1.8 1.6-3.3 2.9-4.3 3.7c-.5 .4-.9 .7-1.1 .8l-.2 .2 0 0 0 0C1 327.2-1.4 334.4 .8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5c9.2-3.5 17.8-7.4 25.2-11.4C134.1 343.3 169.8 352 208 352zM136.2 108.4c6.6-18.6 24.2-31.1 44-31.1h48.5c29.1 0 52.6 23.6 52.6 52.6c0 18.8-10.1 36.3-26.4 45.6L228 191c-.2 10.9-9.1 19.6-20 19.6c-11 0-20-9-20-20V179.5c0-7.2 3.8-13.8 10-17.3L235 140.9c3.9-2.3 6.3-6.4 6.3-10.9c0-7-5.7-12.6-12.6-12.6H180.2c-2.8 0-5.3 1.8-6.3 4.4l-.4 1c-3.7 10.4-15.1 15.9-25.5 12.2s-15.9-15.1-12.2-25.5l.4-1zM181.3 264a26.7 26.7 0 1 1 53.3 0 26.7 26.7 0 1 1 -53.3 0z\", \"M136.2 108.4l-.4 1c-3.7 10.4 1.8 21.8 12.2 25.5s21.8-1.8 25.5-12.2l.4-1c.9-2.7 3.5-4.4 6.3-4.4h48.5c7 0 12.6 5.7 12.6 12.6c0 4.5-2.4 8.7-6.3 10.9L198 162.1c-6.2 3.6-10 10.2-10 17.3v11.2c0 11 9 20 20 20c10.9 0 19.8-8.8 20-19.6l26.9-15.4c16.3-9.4 26.4-26.8 26.4-45.6c0-29.1-23.6-52.6-52.6-52.6H180.2c-19.8 0-37.4 12.4-44 31.1zM234.7 264a26.7 26.7 0 1 0 -53.3 0 26.7 26.7 0 1 0 53.3 0zM448 176c0 112.3-99.1 196.9-216.5 207C255.8 457.4 336.4 512 432 512c38.2 0 73.9-8.7 104.7-23.9c7.5 3.9 16 7.9 25.2 11.4c18.3 6.9 40.3 12.5 62.1 12.5c6.9 0 13.1-4.5 15.2-11.1s-.2-13.8-5.8-17.9l0 0 0 0-.2-.2c-.2-.2-.6-.5-1.1-.8c-1-.8-2.5-2-4.3-3.7c-3.6-3.3-8.5-8.1-13.3-14.3c-5.5-7-10.7-15.4-14.2-24.7c24.9-29 39.6-64.7 39.6-103.4c0-92.8-84.9-168.9-192.6-175.5c.4 5.1 .6 10.3 .6 15.5zm-32 0c0 50.1-24.8 95.3-64.5 127.4C391.2 271.3 416 226.1 416 176c0-5.2-.3-10.3-.8-15.4l0 0c.5 5.1 .8 10.2 .8 15.4z\"]]\n};\nvar faScribble = {\n prefix: 'fad',\n iconName: 'scribble',\n icon: [512, 512, [], \"e23f\", [\"M170 23.3C186.5 8.3 208 0 230.3 0h1.1C280.3 0 320 39.7 320 88.6c0 23.5-9.3 46-25.9 62.6L103.2 342.1c-4.6 4.6-7.2 10.9-7.2 17.4C96 373 107 384 120.6 384c6.5 0 12.8-2.6 17.4-7.2L360.8 153.9c16.6-16.6 39.1-25.9 62.6-25.9c48.9 0 88.6 39.7 88.6 88.6c0 23.5-9.3 46-25.9 62.6l-88.2 88.2c-8.8 8.8-13.8 20.9-13.8 33.4c0 26 21.1 47.1 47 47.1c6.2 0 12.4-1.5 18-4.2l16.7-8.4c15.8-7.9 35-1.5 42.9 14.3s1.5 35-14.3 42.9L477.6 501c-14.5 7.2-30.4 11-46.6 11c-61.4 0-111-49.9-111-111.1c0-29.5 11.7-57.8 32.6-78.7l88.2-88.2c4.6-4.6 7.2-10.9 7.2-17.4c0-13.6-11-24.6-24.6-24.6c-6.5 0-12.8 2.6-17.4 7.2L183.2 422.1c-16.6 16.6-39.1 25.9-62.6 25.9C71.7 448 32 408.3 32 359.4c0-23.5 9.3-46 25.9-62.6L248.8 105.9c4.6-4.6 7.2-10.9 7.2-17.4C256 75 245 64 231.4 64h-1.1c-6.4 0-12.6 2.4-17.3 6.7L53.5 215.7c-13.1 11.9-33.3 10.9-45.2-2.2s-10.9-33.3 2.2-45.2L170 23.3z\", \"\"]]\n};\nvar faRotateExclamation = {\n prefix: 'fad',\n iconName: 'rotate-exclamation',\n icon: [512, 512, [], \"e23c\", [\"M432 117.4C391 65.4 327.4 32 256 32C158.4 32 75.5 94.4 44.8 181.3c-5.9 16.7 2.8 34.9 19.5 40.8s34.9-2.8 40.8-19.5C127.1 140.5 186.4 96 256 96c52.3 0 98.8 25.1 128 64H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h84.3c.5 0 1 0 1.5 0H464c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v37.4zm35.2 213.2c5.9-16.7-2.8-34.9-19.5-40.8s-34.9 2.8-40.8 19.5C384.9 371.5 325.6 416 256 416c-52.3 0-98.8-25.1-128-64h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H48c-17.7 0-32 14.3-32 32V432c0 17.7 14.3 32 32 32s32-14.3 32-32V394.6c41 52 104.6 85.4 176 85.4c97.6 0 180.5-62.4 211.2-149.3z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faFileCircleCheck = {\n prefix: 'fad',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faGlass = {\n prefix: 'fad',\n iconName: 'glass',\n icon: [384, 512, [129371], \"f804\", [\"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L355.1 437.7c-3 41.9-37.8 74.3-79.8 74.3H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L317.6 64H66.4z\", \"M313.1 128H70.9L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L313.1 128z\"]]\n};\nvar faLoader = {\n prefix: 'fad',\n iconName: 'loader',\n icon: [512, 512, [], \"e1d4\", [\"M346.5 120.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L437 120.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-45.3 45.3zM384 256c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H416c-17.7 0-32 14.3-32 32zM256 384c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416c0-17.7-14.3-32-32-32zm135.8-37.5c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L391.8 437c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-45.3-45.3zM75 437c12.5 12.5 32.8 12.5 45.3 0l45.3-45.3c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L75 391.8c-12.5 12.5-12.5 32.8 0 45.3z\", \"M256 0c-17.7 0-32 14.3-32 32V96c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32zM0 256c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM120.2 75C107.7 62.5 87.5 62.5 75 75s-12.5 32.8 0 45.3l45.3 45.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L120.2 75z\"]]\n};\nvar faForward = {\n prefix: 'fad',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", [\"M18.4 445c11.2 5.3 24.5 3.6 34.1-4.4L256 271V241L52.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S0 83.6 0 96V416c0 12.4 7.2 23.7 18.4 29z\", \"M308.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4s-18.4-16.6-18.4-29V96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160z\"]]\n};\nvar faUserPilot = {\n prefix: 'fad',\n iconName: 'user-pilot',\n icon: [448, 512, [], \"e2c0\", [\"M101.7 154.2C98 166.1 96 178.8 96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-13.2-2-25.9-5.7-37.8C308.2 168.3 267 176 224 176s-84.2-7.7-122.3-21.8z\", \"M230.1 .8l152 40c8.6 2.3 15.3 9.1 17.3 17.8s-1 17.8-7.8 23.6l-23.8 20.4c.1 1 .1 2 .1 3.1v21.2c0 10.7-5.3 20.8-15.1 25.2c-24.1 10.8-68.6 24-128.9 24s-104.8-13.2-128.9-24C85.3 147.7 80 137.6 80 126.9V105.7c0-1 0-2.1 .1-3.1L56.4 82.2c-6.8-5.8-9.8-14.9-7.8-23.6s8.7-15.6 17.3-17.8l152-40c4-1.1 8.2-1.1 12.2 0zM161.7 72.8c-4 7.9-.7 17.5 7.2 21.5l48 24c4.5 2.3 9.8 2.3 14.3 0l48-24c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L224 86.1 183.2 65.7c-7.9-4-17.5-.7-21.5 7.2zM142.1 354.6l72.3 54.2c5.7 4.3 13.5 4.3 19.2 0l72.3-54.2c2.2-1.7 4.9-2.6 7.7-2.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352c2.8 0 5.5 .9 7.7 2.6zM320 432c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faMobile = {\n prefix: 'fad',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", [\"M368 384H16v64c0 35.3 28.7 64 64 64H304c35.3 0 64-28.7 64-64V384zM160 432h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V384H16V64z\"]]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faCodePullRequestClosed = {\n prefix: 'fad',\n iconName: 'code-pull-request-closed',\n icon: [512, 512, [], \"e3f9\", [\"M144 153.3c-9.8 4.3-20.6 6.7-32 6.7s-22.2-2.4-32-6.7V358.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V153.3zM400 192c-17.7 0-32 14.3-32 32V358.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V224c0-17.7-14.3-32-32-32z\", \"M329.4 9.4c12.5-12.5 32.8-12.5 45.3 0L400 34.7 425.4 9.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L445.3 80l25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L400 125.3l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L354.7 80 329.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zM136 80A24 24 0 1 0 88 80a24 24 0 1 0 48 0zM32 80a80 80 0 1 1 160 0A80 80 0 1 1 32 80zm80 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-104a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM400 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-104a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faFaceMeh = {\n prefix: 'fad',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176.4 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'fad',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", [\"M128 352c-17.7 0-32-14.3-32-32s14.3-32 32-32H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H128zm0-256c-17.7 0-32-14.3-32-32s14.3-32 32-32H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H128z\", \"M32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32zm0-256c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32z\"]]\n};\nvar faBookSkull = {\n prefix: 'fad',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zM320 112c0 20.9-12.6 39.5-32 51.2V176c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V163.2c-19.4-11.7-32-30.3-32-51.2c0-35.3 35.8-64 80-64s80 28.7 80 64zM208 128a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM134.3 209.3L240 254.6l105.7-45.3c8.1-3.5 17.5 .3 21 8.4s-.3 17.5-8.4 21L280.6 272l77.7 33.3c8.1 3.5 11.9 12.9 8.4 21s-12.9 11.9-21 8.4L240 289.4 134.3 334.7c-8.1 3.5-17.5-.3-21-8.4s.3-17.5 8.4-21L199.4 272l-77.7-33.3c-8.1-3.5-11.9-12.9-8.4-21s12.9-11.9 21-8.4z\"]]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'fad',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", [\"M576 128H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128zM117.3 352H234.7c29.5 0 53.3 23.9 53.3 53.3c0 5.9-4.8 10.7-10.7 10.7H74.7c-5.9 0-10.7-4.8-10.7-10.7c0-29.5 23.9-53.3 53.3-53.3zM112 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM240 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM64 405.3c0 5.9 4.8 10.7 10.7 10.7H277.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H117.3C87.9 352 64 375.9 64 405.3z\"]]\n};\nvar faDriversLicense = faIdCard;\nvar faFaceDotted = {\n prefix: 'fad',\n iconName: 'face-dotted',\n icon: [512, 512, [129765], \"e47f\", [\"M216 3.1C229 1.1 242.4 0 256 0s27 1.1 40 3.1c17.5 2.7 29.4 19.1 26.6 36.6s-19.1 29.4-36.6 26.6C276.3 64.8 266.3 64 256 64s-20.3 .8-30.1 2.3c-17.5 2.7-33.8-9.2-36.6-26.6S198.5 5.9 216 3.1zM150.2 55.9c10.4 14.3 7.2 34.3-7 44.7c-16.3 11.9-30.7 26.2-42.5 42.5c-10.4 14.3-30.4 17.4-44.7 7s-17.4-30.4-7-44.7c15.8-21.7 34.9-40.8 56.6-56.6c14.3-10.4 34.3-7.2 44.7 7zm211.6 0c10.4-14.3 30.4-17.4 44.7-7c21.7 15.8 40.8 34.9 56.6 56.6c10.4 14.3 7.2 34.3-7 44.7s-34.3 7.2-44.7-7c-11.9-16.3-26.2-30.7-42.5-42.5c-14.3-10.4-17.4-30.4-7-44.7zM472.3 189.3c17.5-2.7 33.8 9.2 36.6 26.6c2.1 13.1 3.1 26.4 3.1 40s-1.1 27-3.1 40c-2.7 17.5-19.1 29.4-36.6 26.6s-29.4-19.1-26.6-36.6c1.5-9.8 2.3-19.8 2.3-30.1s-.8-20.3-2.3-30.1c-2.7-17.5 9.2-33.8 26.6-36.6zm-432.6 0c17.5 2.7 29.4 19.1 26.6 36.6C64.8 235.7 64 245.7 64 256s.8 20.3 2.3 30.1c2.7 17.5-9.2 33.8-26.6 36.6S5.9 313.5 3.1 296C1.1 283 0 269.6 0 256s1.1-27 3.1-40c2.7-17.5 19.1-29.4 36.6-26.6zM55.9 361.8c14.3-10.4 34.3-7.2 44.7 7c11.9 16.3 26.2 30.7 42.5 42.5c14.3 10.4 17.4 30.4 7 44.7s-30.4 17.4-44.7 7c-21.7-15.8-40.8-34.9-56.6-56.6c-10.4-14.3-7.2-34.3 7-44.7zm400.1 0c14.3 10.4 17.4 30.4 7 44.7c-15.8 21.7-34.9 40.8-56.6 56.6c-14.3 10.4-34.3 7.2-44.7-7s-7.2-34.3 7-44.7c16.3-11.9 30.7-26.2 42.5-42.5c10.4-14.3 30.4-17.4 44.7-7zM189.3 472.3c2.7-17.5 19.1-29.4 36.6-26.6c9.8 1.5 19.8 2.3 30.1 2.3s20.3-.8 30.1-2.3c17.5-2.7 33.8 9.2 36.6 26.6s-9.2 33.8-26.6 36.6c-13.1 2.1-26.4 3.1-40 3.1s-27-1.1-40-3.1c-17.5-2.7-29.4-19.1-26.6-36.6z\", \"M208.4 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]]\n};\nvar faFaceWorried = {\n prefix: 'fad',\n iconName: 'face-worried',\n icon: [512, 512, [], \"e3a3\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm-73.6-97.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 272a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\", \"M192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-15.6 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM333 160.9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]]\n};\nvar faOutdent = {\n prefix: 'fad',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM224 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H224zM192 320c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M.2 243.4c-8.2 6.4-8.2 18.9 0 25.3l101.9 79.3c10.5 8.2 25.8 .7 25.8-12.6V176.7c0-13.3-15.3-20.8-25.8-12.6L.2 243.4z\"]]\n};\nvar faDedent = faOutdent;\nvar faHeartCircleExclamation = {\n prefix: 'fad',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", [\"M228.3 469.1L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 6.6-.4 13.2-1.3 19.6C487 198.7 460.3 192 432 192c-97.2 0-176 78.8-176 176c0 36.6 11.2 70.6 30.3 98.7l-2.6 2.4c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faHouse = {\n prefix: 'fad',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", [\"M64 270.5L64.1 472c0 22.1 17.9 40 40 40H184c22.1 0 40-17.9 40-40V383.7c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V472c0 22.1 17.9 40 40 40h80.5c22.1 0 40-18 40-40.1l-.4-201.3L288 74.5 64 270.5z\", \"M266.9 7.9C279-2.6 297-2.6 309.1 7.9l256 224c13.3 11.6 14.6 31.9 3 45.2s-31.9 14.6-45.2 3L288 74.5 53.1 280.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2l256-224z\"]]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faVectorCircle = {\n prefix: 'fad',\n iconName: 'vector-circle',\n icon: [512, 512, [], \"e2c6\", [\"M41.3 192C62.8 119.8 119.8 62.8 192 41.3V96c0 4.3 .9 8.5 2.4 12.3c-38.9 16.2-70 47.3-86.2 86.2c-3.8-1.6-7.9-2.4-12.3-2.4H41.3zm0 128H96c4.3 0 8.5-.9 12.3-2.4c16.2 38.9 47.3 70 86.2 86.2c-1.6 3.8-2.4 7.9-2.4 12.3v54.7C119.8 449.2 62.8 392.2 41.3 320zm429.4 0C449.2 392.2 392.2 449.2 320 470.7V416c0-4.3-.9-8.5-2.4-12.3c38.9-16.2 70-47.3 86.2-86.2c3.8 1.6 7.9 2.4 12.3 2.4h54.7zm0-128H416c-4.3 0-8.5 .9-12.3 2.4c-16.2-38.9-47.3-70-86.2-86.2c1.6-3.8 2.4-7.9 2.4-12.3V41.3C392.2 62.8 449.2 119.8 470.7 192z\", \"M240 80h32V48H240V80zM192 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V32zM48 272H80V240H48v32zM0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224zM240 432v32h32V432H240zm-16-48h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zM432 272h32V240H432v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V224z\"]]\n};\nvar faCarCircleBolt = {\n prefix: 'fad',\n iconName: 'car-circle-bolt',\n icon: [640, 512, [], \"e342\", [\"M165.4 96H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256V400v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V400H322.9c-1.9-10.4-2.9-21.1-2.9-32c0-88.8 65.8-162.3 151.3-174.3L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM96 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm194.5-66.2c2.8-5 1.7-11.1-2.6-14.9s-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2z\"]]\n};\nvar faCalendarWeek = {\n prefix: 'fad',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", [\"M448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM80 256H368c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16z\", \"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v80H0V112C0 85.5 21.5 64 48 64H96V32z\"]]\n};\nvar faFlyingDisc = {\n prefix: 'fad',\n iconName: 'flying-disc',\n icon: [448, 512, [], \"e3a9\", [\"M313 77.9c30.7 30.7-4.1 115.4-77.9 189.2S76.7 375.8 46 345s4.1-115.4 77.9-189.2S282.3 47.2 313 77.9z\", \"M424.3 55.7c55.3 55.3 10.5 189.8-100.2 300.5S79 511.6 23.7 456.3C-1.5 431.1-5.9 389.6 7.1 341.4c3.2 9.5 8.4 18.5 16.2 26.3c15.6 15.6 36 20.7 55 20.5c18.9-.1 38.8-5.3 58.2-13.3c39-16.1 82-46 121.2-85.1s69-82.2 85.1-121.2c8-19.4 13.2-39.4 13.3-58.2c.1-19-5-39.5-20.5-55c-7.8-7.8-16.8-13-26.3-16.2c48.2-13 89.8-8.6 114.9 16.6z\"]]\n};\nvar faLaptopMedical = {\n prefix: 'fad',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", [\"M128 32C92.7 32 64 60.7 64 96V352h64V96H512V352h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2z\", \"M512 96H128V352H512V96zM288 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H352v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V256H240c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16l48 0V144z\"]]\n};\nvar faSquareDownRight = {\n prefix: 'fad',\n iconName: 'square-down-right',\n icon: [448, 512, [], \"e26c\", [\"M384 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384zM320 198.6V336c0 8.8-7.2 16-16 16H166.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16L184 280l-66.3-66.3C114 210 112 205.1 112 200s2-10 5.7-13.7l36.7-36.7c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 216l33.4-33.4c4.2-4.2 10-6.6 16-6.6c12.5 0 22.6 10.1 22.6 22.6z\", \"M320 336V198.6c0-12.5-10.1-22.6-22.6-22.6c-6 0-11.8 2.4-16 6.6L248 216l-66.3-66.3C178 146 173.1 144 168 144s-10 2-13.7 5.7l-36.7 36.7C114 190 112 194.9 112 200s2 10 5.7 13.7L184 280l-33.4 33.4c-4.2 4.2-6.6 10-6.6 16c0 12.5 10.1 22.6 22.6 22.6H304c8.8 0 16-7.2 16-16z\"]]\n};\nvar faB = {\n prefix: 'fad',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", [\"M64 32C28.7 32 0 60.7 0 96V256 416c0 35.3 28.7 64 64 64H192c70.7 0 128-57.3 128-128c0-46.5-24.8-87.3-62-109.7c18.7-22.3 30-51 30-82.3c0-70.7-57.3-128-128-128H64zm96 192H64V96h96c35.3 0 64 28.7 64 64s-28.7 64-64 64zM64 288h96 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64V288z\", \"\"]]\n};\nvar faSeatAirline = {\n prefix: 'fad',\n iconName: 'seat-airline',\n icon: [448, 512, [], \"e244\", [\"M216 416v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H264V416H216zM108 256H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H80.5L108 256z\", \"M32 0C49.7 0 64 14.3 64 32V143.6c0 6.5 1.3 12.9 3.9 18.9L121.7 288H416c12.1 0 23.2 6.8 28.6 17.7s4.3 23.8-3 33.5l-43.2 57.6C389.3 408.9 375.1 416 360 416H170.2c-38.4 0-73.1-22.9-88.2-58.2L9.1 187.7c-6-13.9-9.1-29-9.1-44.1V32C0 14.3 14.3 0 32 0z\"]]\n};\nvar faMoonOverSun = {\n prefix: 'fad',\n iconName: 'moon-over-sun',\n icon: [512, 512, [\"eclipse-alt\"], \"f74a\", [\"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.9c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l19.8 107.9c1 5.3 4.6 9.8 9.6 11.9s10.7 1.5 15.2-1.6L256 446.9l90.3 62.3c4.5 3.1 10.2 3.7 15.2 1.6s8.6-6.6 9.6-11.9L391 391l107.9-19.8c5.3-1 9.8-4.6 11.9-9.6s1.5-10.7-1.6-15.2L446.9 256l62.3-90.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L391 121 371.1 13.1zM256 112a144 144 0 1 1 0 288 144 144 0 1 1 0-288z\", \"M257 142c-63.4 0-115 50.9-115 114s51.6 114 115 114c31.1 0 59.4-12.3 80.1-32.2c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.2 .7-8.5 1.1-13 1.1c-41.8 0-75.4-33.5-75.4-74.5c0-27.7 15.3-52 38.3-64.8c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.2-.3-6.5-.4-9.7-.4z\"]]\n};\nvar faEclipseAlt = faMoonOverSun;\nvar faPipe = {\n prefix: 'fad',\n iconName: 'pipe',\n icon: [64, 512, [], \"7c\", [\"M32 0C49.7 0 64 14.3 64 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z\", \"\"]]\n};\nvar faFileMedical = {\n prefix: 'fad',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM160 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H224v48c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V352H112c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240z\"]]\n};\nvar faPotato = {\n prefix: 'fad',\n iconName: 'potato',\n icon: [512, 512, [129364], \"e440\", [\"M512 144c0 41.5-17.6 78.9-45.7 105.2c-25.8 24.2-46.1 57.9-55.2 92.1c-12.9 48.3-49 84.3-93.1 99.2c-32.3 10.9-64.4 26.9-92.5 46.2C202.4 502.7 174.3 512 144 512C64.5 512 0 447.5 0 368c0-39.8 16.2-75.9 42.3-102C69.8 238.6 95 205 113.6 170.9c13.2-24.1 33.1-44 57.3-57.3C205 95 238.6 69.8 266 42.3C292.1 16.2 328.2 0 368 0c79.5 0 144 64.5 144 144z\", \"M360 192a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM168 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-8 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faDiceOne = {\n prefix: 'fad',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faCircleA = {\n prefix: 'fad',\n iconName: 'circle-a',\n icon: [512, 512, [], \"e0f7\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-400c9.1 0 17.4 5.1 21.5 13.3l104 208c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L321.2 320H190.8l-17.4 34.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l104-208c4.1-8.1 12.4-13.3 21.5-13.3zm0 77.7L214.8 272h82.3L256 189.7z\", \"M277.5 125.3c-4.1-8.1-12.4-13.3-21.5-13.3s-17.4 5.1-21.5 13.3l-104 208c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L190.8 320H321.2l17.4 34.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-104-208zM297.2 272H214.8L256 189.7 297.2 272z\"]]\n};\nvar faHelmetBattle = {\n prefix: 'fad',\n iconName: 'helmet-battle',\n icon: [576, 512, [], \"f6eb\", [\"M66.4 .2c8.3 1.2 14.2 8.6 13.6 17L65.1 225.7c-1.2 17-15.4 30.2-32.5 30.2H30.4C13.6 256 0 242.4 0 225.6c0-2.3 .3-4.6 .8-6.8L48.4 12.4c1.9-8.1 9.7-13.5 18-12.2zm443.2 0c8.3-1.2 16.1 4.1 18 12.2l47.6 206.4c.5 2.2 .8 4.5 .8 6.8c0 16.8-13.6 30.4-30.4 30.4h-2.2c-17.1 0-31.3-13.2-32.5-30.2L496 17.1c-.6-8.3 5.3-15.7 13.6-17z\", \"M320 352V488c0 18.4 20.8 30.1 36.5 20.5l144-88c9.2-5.6 13.5-16.7 10.6-27.1C494.1 333.6 480 270.2 480 208c0-85-89.1-149.2-153.1-189c-1.9-1.2-4-2.6-6.3-4.1C311.2 8.4 298.7 0 288 0s-23.2 8.4-32.7 14.9c-2.3 1.5-4.4 3-6.3 4.1C185.1 58.8 96 123 96 208c0 62.2-14.1 125.6-31.1 185.4c-3 10.4 1.4 21.4 10.6 27.1l144 88c15.7 9.6 36.5-2.1 36.5-20.5V296h0V267.5c0-6.9-4.4-13-10.9-15.2l-72.3-24.1c-7.6-2.5-12.7-9.6-12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H397.4c10.3 0 18.6 8.3 18.6 18.6c0 8-5.1 15.1-12.7 17.6l-72.3 24.1c-6.5 2.2-10.9 8.3-10.9 15.2V352h0z\"]]\n};\nvar faButter = {\n prefix: 'fad',\n iconName: 'butter',\n icon: [640, 512, [129480], \"e3e4\", [\"M128 64c-35.3 0-64 28.7-64 64V320H448V64H128zm384 0H480V320h96V128c0-35.3-28.7-64-64-64z\", \"M32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V384c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faBlanketFire = {\n prefix: 'fad',\n iconName: 'blanket-fire',\n icon: [640, 512, [], \"e3da\", [\"M0 96V320c0 70.7 57.3 128 128 128H314.4c-11.3-19.5-19.4-41.2-23.4-64H128c-35.3 0-64-28.7-64-64s28.7-64 64-64H317.4c2.5-4.5 5.1-8.9 7.8-13.3c21.7-35.2 51.9-71.2 87.3-102.8c10-8.9 23-12.8 35.5-11.7V96c0-53-43-96-96-96H96C43 0 0 43 0 96zM288 350.1c0-20.2 5.3-41.3 13.8-62.1H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H288l0-1.9zm193 97.8c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\", \"M433.8 163.6c5.6-5 14.2-5 19.8 0c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 56.7 24.2 76.9c0 87.8-71.3 161.9-160 161.9c-89.7 0-160-74.2-160-161.9c0-26.4 12.7-58.6 32.4-90.6c20-32.4 48.1-66.1 81.4-95.8zM481 447.9c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faKiwiBird = {\n prefix: 'fad',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", [\"M477.6 348.6L546 471.8c3.5 6.4 10.9 9.5 18 7.7s12-8.2 12-15.5V224.3c-.1 60.4-42.1 111-98.4 124.3zM208 415.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V405.1c-15.2 5.4-31.3 8.9-48 10.3zm-112-25V456c0 13.3 10.7 24 24 24s24-10.7 24-24V410c-17-4.4-33.1-11-48-19.6z\", \"M291.2 388.4c31.2-18.8 64.7-36.4 101.1-36.4H448c70.7 0 128-57.3 128-128s-57.3-128-128-128H392.3c-36.4 0-69.9-17.6-101.1-36.4C262.3 42.1 228.3 32 192 32C86 32 0 118 0 224S86 416 192 416c36.3 0 70.3-10.1 99.2-27.6zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faCastle = {\n prefix: 'fad',\n iconName: 'castle',\n icon: [640, 512, [], \"e0de\", [\"M128 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h48V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h32V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64h48V16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V64 208v16H496 464 176 144 128V208 64 16z\", \"M0 176c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v48H576V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v96V464c0 26.5-21.5 48-48 48H384V384c0-35.3-28.7-64-64-64s-64 28.7-64 64V512H48c-26.5 0-48-21.5-48-48V272 176z\"]]\n};\nvar faGolfClub = {\n prefix: 'fad',\n iconName: 'golf-club',\n icon: [512, 512, [], \"f451\", [\"M508.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L264 392.5l0-.5L42.1 318C21.4 311.1 0 326.6 0 348.4V376H48c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v32H48c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v8c0 17.7 14.3 32 32 32H255.3c12 .3 23.6-6.3 29.3-17.7l224-448z\", \"M0 408H48c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v32zm0 64H48c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v32z\"]]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'fad',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", [\"M9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96z\", \"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 160 32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32l306.7 0L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96z\"]]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'fad',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", [\"M413.4 96.6l-45.3 45.3c-62.6-61.5-163.1-61.2-225.3 1c-62.5 62.5-62.5 163.8 0 226.3s163.8 62.5 226.3 0c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-87.5 87.5-229.3 87.5-316.8 0s-87.5-229.3 0-316.8c87.2-87.2 228.3-87.5 315.8-1z\", \"M344 224H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8z\"]]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'fad',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", [\"M288 176C288 32 400 0 416 0c17.7 0 32 14.3 32 32V352H352c-35.3 0-64-28.7-64-64V176zM49.7 .1C57.9 1 64 7.8 64 16V150.2c0 5.4 4.4 9.8 9.8 9.8c5.1 0 9.3-3.9 9.8-9L96.1 14.6C96.8 6.3 103.7 0 112 0s15.2 6.3 15.9 14.6L140.3 151c.5 5.1 4.7 9 9.8 9c5.4 0 9.8-4.4 9.8-9.8V16c0-8.2 6.1-15 14.3-15.9s15.6 4.5 17.4 12.4l30.3 136.3c1.4 6.3 2.1 12.7 2.1 19.1c0 48.6-39.4 88.1-88.1 88.1H88.1C39.4 256 0 216.6 0 167.9c0-6.4 .7-12.8 2.1-19.1L32.4 12.5C34.2 4.6 41.6-.8 49.7 .1zM112 167.4l-.3 .7 .3 0 .3 0-.3-.7z\", \"M144 480V256H80V480c0 17.7 14.3 32 32 32s32-14.3 32-32zm304 0V352H384V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'fad',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", [\"M288 448c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0-128c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0-128c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0-128c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32z\", \"M128 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L160 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L63.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C110.5 35.8 119 32 128 32z\"]]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faChartPieSimpleCircleDollar = {\n prefix: 'fad',\n iconName: 'chart-pie-simple-circle-dollar',\n icon: [640, 512, [], \"e605\", [\"M509.8 192.5c-4.6-.4-9.2-.5-13.8-.5c-46.8 0-89.3 18.2-120.8 48H272V16.6c0-9 7-16.6 16-16.6C401 0 494.5 83.7 509.8 192.5zM339.2 288c-12.3 24-19.2 51.2-19.2 80c0 42.5 15 81.4 40.1 111.8C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V288H339.2z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM472.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]]\n};\nvar faBalloons = {\n prefix: 'fad',\n iconName: 'balloons',\n icon: [640, 512, [], \"e2e4\", [\"M324.7 261.9c18.5 76.2 86.8 139.7 113 161.8c5.9 5 7.8 13.4 4.4 20.3l-24.7 49.3c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9H531.1c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8L518 443.9c-3.5-6.9-1.6-15.3 4.4-20.3C552.8 398 640 316.5 640 224c0-88.4-71.6-160-160-160c-53.7 0-101.2 26.4-130.2 67c1.4 9.5 2.2 19.2 2.2 29c0 37.2-11.5 71.8-27.3 101.9zM464 160c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16z\", \"M160 0c88.4 0 160 71.6 160 160c0 92.5-87.2 174-117.7 199.7c-5.9 5-7.8 13.4-4.4 20.3l24.7 49.3c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H108.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8L122 379.9c3.5-6.9 1.6-15.3-4.4-20.3C87.2 334 0 252.5 0 160C0 71.6 71.6 0 160 0zM96 144c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]]\n};\nvar faMillSign = {\n prefix: 'fad',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", [\"M302.1 42.8c5.9-16.6-2.7-35-19.4-40.9s-35 2.7-40.9 19.4L208 116.1C226.1 103.4 248.2 96 272 96c3.7 0 7.3 .2 10.9 .5l19.2-53.8zM259.7 161.6C239.1 167 224 185.7 224 208v53.5l35.7-100zM163.6 430.7c-2.3-4.4-3.6-9.4-3.6-14.7V250.5L81.9 469.2c-5.9 16.6 2.7 35 19.4 40.9s35-2.7 40.9-19.4l21.4-60z\", \"M112 160c-26.5 0-48 21.5-48 48V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V208 128c0-17.7 14.3-32 32-32c10.9 0 20.5 5.4 26.3 13.7C74.2 101 92.5 96 112 96c31.3 0 59.7 12.9 80 33.6C212.3 108.9 240.7 96 272 96c61.9 0 112 50.1 112 112V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V208c0-26.5-21.5-48-48-48s-48 21.5-48 48V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V208c0-26.5-21.5-48-48-48z\"]]\n};\nvar faBowlRice = {\n prefix: 'fad',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", [\"M176 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24zm24 48h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zM32 200c0-13.3 10.7-24 24-24H72c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zm192 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H392c-13.3 0-24-10.7-24-24s10.7-24 24-24zM296 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H296c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M27.4 256C12.3 256 0 268.3 0 283.4c0 70.5 44.4 130.7 106.7 154.1l1.8 14.4c2 16 15.6 28 31.8 28H371.8c16.1 0 29.8-12 31.8-28l1.8-14.4C467.6 414.1 512 353.9 512 283.4c0-15.1-12.3-27.4-27.4-27.4H27.4z\"]]\n};\nvar faTimelineArrow = {\n prefix: 'fad',\n iconName: 'timeline-arrow',\n icon: [640, 512, [], \"e29d\", [\"M352 176c11.4 0 22.2-2.4 32-6.7V224H530.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L530.7 288H256v54.7c-9.8-4.3-20.6-6.7-32-6.7s-22.2 2.4-32 6.7V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96V169.3c9.8 4.3 20.6 6.7 32 6.7s22.2-2.4 32-6.7V224H320V169.3c9.8 4.3 20.6 6.7 32 6.7z\", \"M128 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM352 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM200 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faSkull = {\n prefix: 'fad',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", [\"M416 398.9c58.5-41.1 96-104.1 96-174.9C512 100.3 397.4 0 256 0S0 100.3 0 224c0 70.7 37.5 133.8 96 174.9c0 .4 0 .7 0 1.1v64c0 26.5 21.5 48 48 48h48V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V464c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c26.5 0 48-21.5 48-48V400c0-.4 0-.7 0-1.1zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M160 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm192 0a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faGameBoardSimple = {\n prefix: 'fad',\n iconName: 'game-board-simple',\n icon: [448, 512, [\"game-board-alt\"], \"f868\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 96V416H64V96H384z\", \"M64 96l0 160H224V96H64zM224 256V416H384l0-160H224z\"]]\n};\nvar faGameBoardAlt = faGameBoardSimple;\nvar faCircleVideo = {\n prefix: 'fad',\n iconName: 'circle-video',\n icon: [512, 512, [\"video-circle\"], \"e12b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM128 192c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192zM396.9 317.9L352 288V224l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V307.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\", \"M160 160c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160zM352 288l44.9 29.9c2 1.3 4.4 2.1 6.8 2.1c6.8 0 12.3-5.5 12.3-12.3V204.3c0-6.8-5.5-12.3-12.3-12.3c-2.4 0-4.8 .7-6.8 2.1L352 224v64z\"]]\n};\nvar faVideoCircle = faCircleVideo;\nvar faChartScatterBubble = {\n prefix: 'fad',\n iconName: 'chart-scatter-bubble',\n icon: [512, 512, [], \"e0e9\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M384 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-96-16a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm64 176a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-176 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faHouseTurret = {\n prefix: 'fad',\n iconName: 'house-turret',\n icon: [640, 512, [], \"e1b4\", [\"M24 0C10.7 0 0 10.7 0 24V96v8 93.5c0 17 6.7 33.3 18.7 45.3L64 288V464c0 26.5 21.5 48 48 48H240c-10-13.4-16-30-16-48V277.1c0-22.4 9.4-43.8 25.9-59L352 124.6V104 96 24c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24V96H224V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24V96H96V24C96 10.7 85.3 0 72 0H24zM176 160c22.1 0 40 17.9 40 40v24c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V200c0-22.1 17.9-40 40-40z\", \"M256 464V277.1c0-13.5 5.6-26.3 15.6-35.4l144-132c18.4-16.8 46.5-16.8 64.9 0l144 132c9.9 9.1 15.6 21.9 15.6 35.4V464c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48zM424 272c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H424z\"]]\n};\nvar faBanana = {\n prefix: 'fad',\n iconName: 'banana',\n icon: [576, 512, [], \"e2e5\", [\"M304 144c0 47.1-12.7 91.2-34.9 129.2c2.9 1.9 5.7 3.9 8.3 6l48.1 38.5 96.7-25.8c6.1-1.6 12.3-2.7 18.5-3.4c4.8-20.8 7.3-42.4 7.3-64.6c0-84.7-36.6-160.9-94.8-213.6C345.6 3.6 335.9 0 326.1 0c-29.4 0-47.5 29.4-38 55c10.3 27.7 15.9 57.7 15.9 89z\", \"M177.1 315.2c9.7-7.3 21.5-11.2 33.6-11.2h1.3c10.3 0 20.4 2.8 29.1 8.2C194.1 366 125 400 48 400c-26.5 0-48 21.5-48 48v16c0 26.5 21.5 48 48 48l112 0c117.3 0 218.2-70.1 263.1-170.6l12-3.2c5.4-1.4 10.9-2.2 16.5-2.2h2.6c22.5 0 43.3 11.8 54.9 31.1l22.4 37.3c6.8 11.4 21.6 15 32.9 8.2s15-21.6 8.2-32.9l-22.4-37.3c-20.2-33.7-56.7-54.4-96-54.4h-2.6c-9.7 0-19.4 1.3-28.9 3.8l-.3 .1c-.1 0-.1 0-.2 .1l-96.7 25.8-48.1-38.5-.5-.4c-18.4-14.8-41.4-22.8-65-22.8h-1.3c-22.5 0-44.4 7.3-62.4 20.8l-42.7 32c-10.6 8-12.8 23-4.8 33.6s23 12.8 33.6 4.8l42.7-32z\"]]\n};\nvar faHandHoldingSkull = {\n prefix: 'fad',\n iconName: 'hand-holding-skull',\n icon: [576, 512, [], \"e1a4\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M363.6 250c-1.4-7 2-13.9 8-17.7C408.2 209 432 171 432 128C432 57.3 367.5 0 288 0S144 57.3 144 128c0 43 23.8 81 60.4 104.2c6 3.8 9.4 10.8 8 17.7l-4.1 20.6c-.2 .9-.3 1.9-.3 2.9c0 8 6.5 14.6 14.6 14.6H353.4c8 0 14.6-6.5 14.6-14.6c0-1-.1-1.9-.3-2.9L363.6 250zM208 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faPeopleDress = {\n prefix: 'fad',\n iconName: 'people-dress',\n icon: [640, 512, [], \"e217\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M70.2 384H88v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L226.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9c9.8-5.9 15.3-16.2 15.5-26.9c.2 10.7 5.7 21 15.5 26.9c15.1 9.1 34.8 4.2 43.9-10.9l33.9-56.3L375 362.9c-3.5 10.4 4.3 21.1 15.2 21.1H408v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h16v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h17.8c10.9 0 18.6-10.7 15.2-21.1L546.7 248.1l33.9 56.3c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-53.6-89.2c-20.2-33.7-56.7-54.3-96-54.3H474.2c-39.3 0-75.7 20.6-96 54.3l-53.6 89.2c-3 5-4.5 10.5-4.6 15.9c-.1-5.4-1.6-10.9-4.6-15.9l-53.6-89.2c-20.3-33.7-56.7-54.3-96-54.3H154.2c-39.3 0-75.7 20.6-96 54.3L4.6 271.5c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l33.9-56.3L55 362.9C51.6 373.3 59.3 384 70.2 384z\"]]\n};\nvar faLoveseat = {\n prefix: 'fad',\n iconName: 'loveseat',\n icon: [512, 512, [\"couch-small\"], \"f4cc\", [\"M192 32C121.3 32 64 89.3 64 160v66.7c18.6 6.6 32 24.4 32 45.3v80H416V272c0-20.9 13.4-38.7 32-45.3V160c0-70.7-57.3-128-128-128H192z\", \"M48 224c-26.5 0-48 21.5-48 48V448c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32H416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V272c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H96V272c0-26.5-21.5-48-48-48z\"]]\n};\nvar faCouchSmall = faLoveseat;\nvar faTowerBroadcast = {\n prefix: 'fad',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", [\"M80.3 44C86.9 27.6 79 9 62.6 2.3S27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84zM555.1 20C548.4 3.6 529.8-4.3 513.4 2.3S489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108zM170.6 76.8c7.1-16.2-.3-35.1-16.5-42.1s-35.1 .3-42.1 16.5C101.7 74.8 96 100.8 96 128s5.7 53.2 16 76.8c7.1 16.2 25.9 23.6 42.1 16.5s23.6-25.9 16.5-42.1C163.8 163.6 160 146.3 160 128s3.8-35.6 10.6-51.2zM464 51.2c-7.1-16.2-25.9-23.6-42.1-16.5s-23.6 25.9-16.5 42.1C412.2 92.4 416 109.7 416 128s-3.8 35.6-10.6 51.2c-7.1 16.2 .3 35.1 16.5 42.1s35.1-.3 42.1-16.5c10.3-23.6 16-49.6 16-76.8s-5.7-53.2-16-76.8z\", \"M320 183.4c19.1-11.1 32-31.7 32-55.4c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 23.7 12.9 44.4 32 55.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32V183.4z\"]]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'fad',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", [\"M160 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm320 0a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M288 96v96H445.4L368.6 96H288zM418.6 56L527.4 192H576c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32H581.2c-18-37.8-56.5-64-101.2-64s-83.2 26.2-101.2 64H261.2c-18-37.8-56.5-64-101.2-64s-83.2 26.2-101.2 64H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V224c0-17.7 14.3-32 32-32H224V80c0-26.5 21.5-48 48-48h96.6c19.4 0 37.8 8.8 50 24z\"]]\n};\nvar faBlockQuote = {\n prefix: 'fad',\n iconName: 'block-quote',\n icon: [448, 512, [], \"e0b5\", [\"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM128 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zm32 128H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M0 256c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256z\"]]\n};\nvar faUpLong = {\n prefix: 'fad',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", [\"M224 192H96v0h0l0 288c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32l0-160h0V192z\", \"M313.4 151.5c6.6 7 8.4 17.2 4.6 26s-12.5 14.5-22 14.5H224L96 192H24c-9.6 0-18.2-5.7-22-14.5s-2-19 4.6-26l136-144C147.1 2.7 153.4 0 160 0s12.9 2.7 17.4 7.5l136 144z\"]]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'fad',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", [\"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\", \"\"]]\n};\nvar faCodeMerge = {\n prefix: 'fad',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", [\"M112.4 153.2c-9.9 4.4-20.9 6.8-32.4 6.8c-11.4 0-22.2-2.4-32-6.7V358.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V272c26.7 20.1 60 32 96 32h86.7c-4.3-9.8-6.7-20.6-6.7-32s2.4-22.2 6.7-32H208c-49.9 0-91-38.1-95.6-86.8z\", \"M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104A80 80 0 1 0 80 0a80 80 0 1 0 0 160zm0 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faMoneyCheckDollarPen = {\n prefix: 'fad',\n iconName: 'money-check-dollar-pen',\n icon: [640, 512, [\"money-check-edit-alt\"], \"f873\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H330.5l6-23.9c2.8-11.3 8.6-21.5 16.8-29.7L534.6 213.1c11.6-11.6 26.3-18.5 41.4-20.5V128c0-35.3-28.7-64-64-64H64zM272 288h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16-80c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm-92-56v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\", \"M557.2 235.7l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-52 52L375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71z\"]]\n};\nvar faMoneyCheckEditAlt = faMoneyCheckDollarPen;\nvar faUpFromLine = {\n prefix: 'fad',\n iconName: 'up-from-line',\n icon: [384, 512, [\"arrow-alt-from-bottom\"], \"f346\", [\"M0 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M164.7 43.3L41.9 166.1c-6.4 6.4-9.9 15-9.9 24C32 208.8 47.2 224 65.9 224H128V352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224h62.1c18.7 0 33.9-15.2 33.9-33.9c0-9-3.6-17.6-9.9-24L219.3 43.3C212.1 36.1 202.2 32 192 32s-20.1 4.1-27.3 11.3z\"]]\n};\nvar faArrowAltFromBottom = faUpFromLine;\nvar faUpload = {\n prefix: 'fad',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", [\"M288 352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H64c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H288zm120 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M256 416c17.7 0 32-14.3 32-32V109.3l73.4 73.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3V384c0 17.7 14.3 32 32 32z\"]]\n};\nvar faHurricane = {\n prefix: 'fad',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", [\"M174.9 2.6C75.7 18.5 0 104.4 0 208C0 312.4 77 398.9 177.3 413.7c8.3 1.2 14.7 8.1 14.7 16.5v63.3c0 9.3 8 16.7 17.1 15.2C308.3 492.9 384 407 384 303.4C384 199 307 112.5 206.7 97.6c-8.3-1.2-14.7-8.1-14.7-16.5V17.9c0-9.3-8-16.7-17.1-15.2zM192 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0-128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faGridRound2Plus = {\n prefix: 'fad',\n iconName: 'grid-round-2-plus',\n icon: [512, 512, [], \"e5dc\", [\"M224 128A96 96 0 1 1 32 128a96 96 0 1 1 192 0zm0 256A96 96 0 1 1 32 384a96 96 0 1 1 192 0zM384 224a96 96 0 1 1 0-192 96 96 0 1 1 0 192z\", \"M408 296c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H296c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V408h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H408V296z\"]]\n};\nvar faPeoplePants = {\n prefix: 'fad',\n iconName: 'people-pants',\n icon: [640, 512, [], \"e219\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M59.4 304.5L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9c9.8-5.9 15.3-16.2 15.5-26.9c.2 10.7 5.7 21 15.5 26.9c15.1 9.1 34.8 4.2 43.9-10.9L408 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H465.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-3 5-4.5 10.5-4.6 15.9c-.1-5.4-1.6-10.9-4.6-15.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9z\"]]\n};\nvar faMound = {\n prefix: 'fad',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", [\"M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z\", \"\"]]\n};\nvar faWindsock = {\n prefix: 'fad',\n iconName: 'windsock',\n icon: [512, 512, [], \"f777\", [\"M272 78V338l96-20V98L272 78zM486.5 293.3c14.8-3.1 25.5-16.2 25.5-31.3V154c0-15.2-10.6-28.2-25.5-31.3L432 111.3V304.7l54.5-11.4zM208 64.7L166.5 56c-19.9-4.1-38.5 11-38.5 31.3V96H64v48h64V272H64v48h64v8.6c0 20.3 18.7 35.5 38.5 31.3l41.5-8.6V64.7z\", \"M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM208 64.7V351.3L272 338V78L208 64.7zM368 318l64-13.3V111.3L368 98V318z\"]]\n};\nvar faCircleHalf = {\n prefix: 'fad',\n iconName: 'circle-half',\n icon: [512, 512, [], \"e110\", [\"M256 0C397.4 0 512 114.6 512 256s-114.6 256-256 256V0z\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512V0z\"]]\n};\nvar faBrakeWarning = {\n prefix: 'fad',\n iconName: 'brake-warning',\n icon: [640, 512, [], \"e0c7\", [\"M320 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zm0-352c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M91.1 109c7.2-11.1 4-26-7.2-33.2s-26-4-33.2 7.2C18.6 132.9 0 192.3 0 256s18.6 123.1 50.7 173c7.2 11.1 22 14.4 33.2 7.2s14.4-22 7.2-33.2C63.8 360.6 48 310.2 48 256s15.8-104.6 43.1-147zM589.3 83c-7.2-11.1-22-14.4-33.2-7.2s-14.4 22-7.2 33.2c27.3 42.4 43.1 92.8 43.1 147s-15.8 104.6-43.1 147c-7.2 11.1-4 26 7.2 33.2s26 4 33.2-7.2C621.4 379.1 640 319.7 640 256s-18.6-123.1-50.7-173zM320 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faToiletPortable = {\n prefix: 'fad',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", [\"M0 64H24 296h24V88 488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V88 64zM256 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\", \"M32 0C14.3 0 0 14.3 0 32V64H320V32c0-17.7-14.3-32-32-32H32zM256 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]]\n};\nvar faCompactDisc = {\n prefix: 'fad',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-160a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM96 240c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-45.4 22.3-89.2 54.5-121.5S194.6 64 240 64c8.8 0 16 7.2 16 16s-7.2 16-16 16c-35 0-71.1 17.5-98.8 45.2S96 205 96 240z\", \"M256 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 32a96 96 0 1 1 -192 0 96 96 0 1 1 192 0z\"]]\n};\nvar faFileArrowDown = {\n prefix: 'fad',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM216 232c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V232z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM216 232c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V232z\"]]\n};\nvar faFileDownload = faFileArrowDown;\nvar faSaxophoneFire = {\n prefix: 'fad',\n iconName: 'saxophone-fire',\n icon: [640, 512, [\"sax-hot\"], \"f8db\", [\"M237.5 224L171.4 338.1c-2.2 3.8-3.4 8.2-3.4 12.6v2.6c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L319 257l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8L367 209l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8L415 161l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8 44.3-44.3c12-12 28.3-18.7 45.3-18.7h30.3c15 0 29.5 5.2 41 14.8l24.3 20.3c3.7 3.1 5.9 7.7 5.9 12.6c0 9-7.3 16.3-16.3 16.3H559.5c-9.8 0-19 4.5-25.1 12.1L288.6 450.6C257.9 489.4 211.2 512 161.8 512C72.4 512 0 439.6 0 350.2v-3.1c0-12.7 1.5-25.4 4.4-37.8L24.5 224H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H240c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.5zM120 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm8-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M102.6 0c2.5 0 4.9 .9 6.9 2.6c13.8 12.4 26.8 25.9 38.8 40.4c5.5-6.9 11.8-14.5 18.5-20.7c3.9-3.6 10.1-3.6 14 0c17.3 15.9 31.9 36.9 42.3 56.8c10.2 19.6 16.9 41.2 16.9 55.3c0 14.6-2.8 28.6-8 41.5H176.8c8.9-15.4 9.3-35.4 .2-52.1c-1.4-2.8-2.8-5.6-4.9-8.4l-25.2 29.4s-40.6-51.8-43.4-55.3C82.5 115.5 72 130.2 72 147c0 11.2 2.7 21 7.5 29H23.9c-5.1-12.9-7.9-26.9-7.9-41.5C16 116 24.9 92 38.7 69.7c14-22.7 33.7-46.3 57-67.1c2-1.8 4.5-2.6 7-2.6zM353 223L319 257l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8zm48-48L367 209l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8zm48-48L415 161l-8-8c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8zM128 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faSaxHot = faSaxophoneFire;\nvar faCameraWebSlash = {\n prefix: 'fad',\n iconName: 'camera-web-slash',\n icon: [640, 512, [\"webcam-slash\"], \"f833\", [\"M359.4 379.1c-12.6 3.2-25.8 4.9-39.4 4.9c-88.4 0-160-71.6-160-160c0-.6 0-1.3 0-1.9l-58.8-46.3C97.8 191.3 96 207.4 96 224c0 79.5 41.4 149.3 103.8 189.1l-58.2 40.7c-11.4 8-16.4 22.5-12.2 35.8S146 512 160 512H480c11.6 0 22.1-6.2 27.7-16L359.4 379.1zM194.5 249.2C206.2 307.8 257.9 352 320 352c1.6 0 3.2 0 4.8-.1L194.5 249.2zM448 224c0-70.7-57.3-128-128-128c-41.3 0-78.1 19.6-101.5 50l37.8 29.6C270.9 156.4 294 144 320 144c8.8 0 16 7.2 16 16s-7.2 16-16 16c-15.8 0-29.8 7.6-38.5 19.3L420 303.9c17.5-21.9 28-49.7 28-79.9zm32 0c0 37.7-13 72.3-34.8 99.6l50.4 39.5C525.9 324.9 544 276.6 544 224C544 100.3 443.7 0 320 0C248 0 183.9 34 143 86.7l50.4 39.5C222.6 88.4 268.5 64 320 64c88.4 0 160 71.6 160 160z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faWebcamSlash = faCameraWebSlash;\nvar faFolderMedical = {\n prefix: 'fad',\n iconName: 'folder-medical',\n icon: [512, 512, [], \"e18c\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\", \"M240 192c-8.8 0-16 7.2-16 16v48l-48 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16l-48 0V208c0-8.8-7.2-16-16-16H240z\"]]\n};\nvar faFolderGear = {\n prefix: 'fad',\n iconName: 'folder-gear',\n icon: [512, 512, [\"folder-cog\"], \"e187\", [\"M512 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416zM368.6 259.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3l-2.9 1.7c-9.2 5.3-20.4 4-29.6-1.3s-16.1-14.5-16.1-25.1v-3.4c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v3.4c0 10.6-6.9 19.8-16.1 25.1s-20.4 6.6-29.6 1.3l-2.9-1.7c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 18l2.9 1.7c9.2 5.3 13.7 15.8 13.7 26.4s-4.5 21.1-13.7 26.4l-3 1.7c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3.1 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3l2.9-1.7c9.2-5.3 20.4-4 29.6 1.3s16.1 14.5 16.1 25.1v3.4c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-3.4c0-10.6 6.9-19.8 16.1-25.1s20.4-6.6 29.6-1.3l2.9 1.7c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-3-1.7c-9.2-5.3-13.7-15.8-13.7-26.4s4.5-21.1 13.7-26.4l3-1.7zM216 288a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\", \"M375.5 242c2.6 6.8-.5 14.3-6.8 18l-3 1.7c-9.2 5.3-13.7 15.8-13.7 26.4s4.5 21.1 13.7 26.4l3 1.7c6.3 3.6 9.5 11.1 6.8 17.9c-2.1 5.5-4.6 10.7-7.4 15.8l-2.4 4.2c-3 5.1-6.4 9.9-10.1 14.5c-4.6 5.7-12.7 6.7-19 3l-2.9-1.7c-9.2-5.3-20.4-4-29.6 1.3s-16.1 14.5-16.1 25.1v3.4c0 7.3-4.9 13.8-12.1 14.9c-6.5 1-13.1 1.5-19.9 1.5s-13.4-.5-19.9-1.5c-7.2-1.1-12.1-7.6-12.1-14.9v-3.4c0-10.6-6.9-19.8-16.1-25.1s-20.4-6.6-29.6-1.3l-2.9 1.7c-6.3 3.6-14.4 2.6-19-3c-3.7-4.6-7.1-9.4-10.1-14.5l-2.4-4.1c-2.8-5.1-5.3-10.4-7.4-15.8c-2.6-6.8 .5-14.3 6.8-17.9l3-1.7c9.2-5.3 13.7-15.8 13.7-26.4s-4.5-21.1-13.7-26.4l-2.9-1.7c-6.3-3.6-9.5-11.1-6.8-18c2.1-5.5 4.6-10.8 7.4-15.9l2.3-3.9c3.1-5.1 6.5-10 10.2-14.6c4.6-5.7 12.7-6.7 19-3l2.9 1.7c9.2 5.3 20.4 4 29.6-1.3s16.1-14.5 16.1-25.1v-3.4c0-7.3 4.9-13.8 12.1-14.9c6.5-1 13.1-1.5 19.9-1.5s13.4 .5 19.9 1.5c7.2 1.1 12.1 7.6 12.1 14.9v3.4c0 10.6 6.9 19.8 16.1 25.1s20.4 6.6 29.6 1.3l2.9-1.7c6.3-3.6 14.4-2.6 19 3c3.7 4.6 7.1 9.5 10.2 14.5l2.3 4c2.8 5.1 5.3 10.4 7.4 15.9zM256 328a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]]\n};\nvar faFolderCog = faFolderGear;\nvar faHandWave = {\n prefix: 'fad',\n iconName: 'hand-wave',\n icon: [512, 512, [], \"e1a7\", [\"M185.4 70.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192c3.3 3.3 9.4 1.1 9.4-3.7l0-77.7c0-22.1 17.9-40 40-40s40 17.9 40 40V312.3c0 60.2-27.9 116.9-75.5 153.7C385.7 505.3 321 515.7 263 498.7c-28.4-7.1-55.3-21.8-77.6-44.1l-4.9-4.9L73.4 342.6l-32-32c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l31.9 31.9 .1 .1L165.3 344c5.2 5.2 13.6 5.2 18.7 0s5.2-13.6 0-18.7L57.4 198.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L229.3 280c5.2 5.2 13.6 5.2 18.7 0s5.2-13.6 0-18.7L105.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L293.3 216c5.2 5.2 13.6 5.2 18.7 0s5.2-13.6 0-18.7L185.4 70.6z\", \"M352.2 82.3c1.3 8.7 9.4 14.8 18.1 13.6s14.8-9.4 13.6-18.1l-1.2-8.5c-5-35.2-32.7-62.9-67.9-67.9L306.3 .2c-8.7-1.2-16.9 4.8-18.1 13.6s4.8 16.9 13.6 18.1l8.5 1.2c21.1 3 37.7 19.6 40.7 40.7l1.2 8.5zM31.8 365.7c-1.2-8.7-9.4-14.8-18.1-13.6S-1.1 361.5 .2 370.3l1.2 8.5c5 35.2 32.7 62.9 67.9 67.9l8.5 1.2c8.7 1.2 16.9-4.8 18.1-13.6s-4.8-16.9-13.6-18.1L73.8 415c-21.1-3-37.7-19.6-40.7-40.7l-1.2-8.5z\"]]\n};\nvar faArrowUpArrowDown = {\n prefix: 'fad',\n iconName: 'arrow-up-arrow-down',\n icon: [576, 512, [\"sort-up-down\"], \"e099\", [\"M393.4 470.6c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L448 370.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V370.7l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96z\", \"M137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L192 141.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V141.3L86.6 182.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96z\"]]\n};\nvar faSortUpDown = faArrowUpArrowDown;\nvar faCaravan = {\n prefix: 'fad',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", [\"M64 160c0-17.7 14.3-32 32-32H224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160zm256 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64H416c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v96H348.8c-7.7-15-17.4-28.7-28.8-40.8V160zM192 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M0 112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0H302.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H80c-44.2 0-80-35.8-80-80V112zM348.8 352H448V160c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32V311.2c11.4 12.1 21.2 25.8 28.8 40.8zM96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faShieldCat = {\n prefix: 'fad',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM160 154.4c0-5.8 4.7-10.4 10.4-10.4h.2c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3h.2c5.8 0 10.4 4.7 10.4 10.4V272c0 53-43 96-96 96s-96-43-96-96V154.4z\", \"M160 272V154.4c0-5.8 4.7-10.4 10.4-10.4h.2c3.4 0 6.5 1.6 8.5 4.3l40 53.3c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l40-53.3c2-2.7 5.2-4.3 8.5-4.3h.2c5.8 0 10.4 4.7 10.4 10.4V272c0 53-43 96-96 96s-96-43-96-96zm72 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faMessageSlash = {\n prefix: 'fad',\n iconName: 'message-slash',\n icon: [640, 512, [\"comment-alt-slash\"], \"f4a9\", [\"M406.2 416L64 146.4V352c0 35.3 28.7 64 64 64h96v80c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L373.3 416h32.8zm142.3-11.4C565.1 393 576 373.8 576 352V64c0-35.3-28.7-64-64-64H128C104.4 0 83.8 12.7 72.7 31.7L548.5 404.6z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCommentAltSlash = faMessageSlash;\nvar faBolt = {\n prefix: 'fad',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", [\"M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z\", \"\"]]\n};\nvar faZap = faBolt;\nvar faTrashCanCheck = {\n prefix: 'fad',\n iconName: 'trash-can-check',\n icon: [448, 512, [], \"e2a9\", [\"M416 96H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V96zM337 241L209 369c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 207c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM337 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 241z\"]]\n};\nvar faGlassWater = {\n prefix: 'fad',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", [\"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L355.1 437.7c-3 41.9-37.8 74.3-79.8 74.3H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L317.6 64H66.4z\", \"M311 156.5l-24.2 12.1c-19.4 9.7-42.2 9.7-61.6 0c-20.9-10.4-45.5-10.4-66.4 0c-19.4 9.7-42.2 9.7-61.6 0L73 156.5 92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L311 156.5z\"]]\n};\nvar faOilWell = {\n prefix: 'fad',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", [\"M302.2 149.4l6.3 18.1-80.4 20.8 13.6-39c4.5-12.8 16.6-21.4 30.2-21.4s25.7 8.6 30.2 21.4zM137.3 448l53.1-151.7L265 277l-26.3 75h66.6l-27.4-78.4L340 257.5 406.7 448H338.9l-11.2-32H216.3l-11.2 32H137.3z\", \"M528.3 61.3c-11.4-42.7-55.3-68-98-56.6L414.9 8.8C397.8 13.4 387.7 31 392.3 48l24.5 91.4L96 222.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V288.8l337.4-87.5 25.2 94c4.6 17.1 22.1 27.2 39.2 22.6l15.5-4.1c42.7-11.4 68-55.3 56.6-98L528.3 61.3z\"]]\n};\nvar faPersonSimple = {\n prefix: 'fad',\n iconName: 'person-simple',\n icon: [256, 512, [], \"e220\", [\"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64z\", \"M105.6 160c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6z\"]]\n};\nvar faVault = {\n prefix: 'fad',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", [\"M64 0C28.7 0 0 28.7 0 64V416c0 35.3 28.7 64 64 64H80l16 32h64l16-32H400l16 32h64l16-32h16c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 240a160 160 0 1 1 320 0A160 160 0 1 1 64 240zm416-18.7V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3z\", \"M304 240a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM64 240a160 160 0 1 1 320 0A160 160 0 1 1 64 240zm448-64c0 20.9-13.4 38.7-32 45.3V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48z\"]]\n};\nvar faMars = {\n prefix: 'fad',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", [\"M96 304a80 80 0 1 1 160 0A80 80 0 1 1 96 304z\", \"M289.8 46.8c3.7-9 12.5-14.8 22.2-14.8H424c13.3 0 24 10.7 24 24V168c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-33.4-33.4L321 204.2c19.5 28.4 31 62.7 31 99.8c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c37 0 71.4 11.4 99.8 31l52.6-52.6L295 73c-6.9-6.9-8.9-17.2-5.2-26.2zM400 80l0 0h0v0zM176 416a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]]\n};\nvar faToilet = {\n prefix: 'fad',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm88 80c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M416 196.9c1.9 1.4 3.8 2.9 5.6 4.4C437.1 214.5 448 232.9 448 256c0 46.9-14.3 84.1-37 112.5c-14.2 17.7-31.1 31.3-48.5 41.8l19.8 59.5c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H96c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l19.8-59.5C68.1 399.8 51.2 386.2 37 368.5C14.3 340.1 0 302.9 0 256c0-23.1 10.9-41.5 26.4-54.6c1.8-1.5 3.7-3 5.6-4.4V48H416V196.9zM384 256l0-.1c0-1 0-2.5-3.8-5.8c-4.8-4.1-14-9-29.3-13.4C320.5 228 276.1 224 224 224s-96.5 4-126.9 12.8c-15.3 4.4-24.5 9.3-29.3 13.4C64 253.4 64 255 64 255.9l0 .1 0 .3c0 1 .3 2.6 3.8 5.6c4.8 4.1 14 9 29.3 13.4C127.5 284 171.9 288 224 288s96.5-4 126.9-12.8c15.3-4.4 24.5-9.3 29.3-13.4c3.5-3 3.8-4.6 3.8-5.6l0-.3zM112 80c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]]\n};\nvar faPlaneCircleXmark = {\n prefix: 'fad',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", [\"M192 93.7C192 59.5 221 0 256 0c36 0 64 59.5 64 93.7v84.6l77.1 44.1C350.6 254 320 307.4 320 368c0 54.2 24.5 102.7 63.1 135c-2 5.3-7.1 9-13.1 9c-1.3 0-2.6-.2-3.9-.5L256 480 145.9 511.5c-1.3 .4-2.6 .5-3.9 .5c-7.8 0-14-6.3-14-14V456c0-5 2.4-9.8 6.4-12.8L192 400l0-70.9-171.6 49C10.2 381.1 0 373.4 0 362.8V297.3c0-5.7 3.1-11 8.1-13.9L192 178.3V93.7z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faYenSign = {\n prefix: 'fad',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", [\"M100.2 224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80V265.7L100.2 224zM192 288h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H219.8L192 265.7V288zm-64 32H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h80V320zm64 64h80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192v64z\", \"M58.6 46.2C48.8 31.5 29 27.6 14.3 37.4S-4.4 67 5.4 81.7L128 265.7V448c0 17.7 14.3 32 32 32s32-14.3 32-32V265.7L314.6 81.7c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9L160 198.3 58.6 46.2z\"]]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faGearCode = {\n prefix: 'fad',\n iconName: 'gear-code',\n icon: [512, 512, [], \"e5e8\", [\"M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-30.9 28.1c-7.7 7.1-11.4 17.5-10.9 27.9c.1 2.9 .2 5.8 .2 8.8s-.1 5.9-.2 8.8c-.5 10.5 3.1 20.9 10.9 27.9l30.9 28.1c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-39.7-12.6c-10-3.2-20.8-1.1-29.7 4.6c-4.9 3.1-9.9 6.1-15.1 8.7c-9.3 4.8-16.5 13.2-18.8 23.4l-8.9 40.7c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-8.9-40.7c-2.2-10.2-9.5-18.6-18.8-23.4c-5.2-2.7-10.2-5.6-15.1-8.7c-8.8-5.7-19.7-7.8-29.7-4.6L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l30.9-28.1c7.7-7.1 11.4-17.5 10.9-27.9c-.1-2.9-.2-5.8-.2-8.8s.1-5.9 .2-8.8c.5-10.5-3.1-20.9-10.9-27.9L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l39.7 12.6c10 3.2 20.8 1.1 29.7-4.6c4.9-3.1 9.9-6.1 15.1-8.7c9.3-4.8 16.5-13.2 18.8-23.4l8.9-40.7c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l8.9 40.7c2.2 10.2 9.4 18.6 18.8 23.4c5.2 2.7 10.2 5.6 15.1 8.7c8.8 5.7 19.7 7.7 29.7 4.6l39.7-12.6c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zm-208.2-3.9c1.5-8.7-4.4-17-13.2-18.4s-17 4.4-18.4 13.2l-32 192c-1.5 8.7 4.4 17 13.2 18.4s17-4.4 18.4-13.2l32-192zM187.3 227.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-40 40c-6.2 6.2-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L158.6 256l28.7-28.7zm160-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L353.4 256l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l40-40c6.2-6.2 6.2-16.4 0-22.6l-40-40z\", \"M274.6 144.2c8.7 1.5 14.6 9.7 13.2 18.4l-32 192c-1.5 8.7-9.7 14.6-18.4 13.2s-14.6-9.7-13.2-18.4l32-192c1.5-8.7 9.7-14.6 18.4-13.2zm-87.3 60.5c6.2 6.2 6.2 16.4 0 22.6L158.6 256l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6l40-40c6.2-6.2 16.4-6.2 22.6 0zm137.4 0c6.2-6.2 16.4-6.2 22.6 0l40 40c6.2 6.2 6.2 16.4 0 22.6l-40 40c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L353.4 256l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]]\n};\nvar faNotes = {\n prefix: 'fad',\n iconName: 'notes',\n icon: [512, 512, [], \"e202\", [\"M160 32c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H352V320c0-17.7 14.3-32 32-32h96V96c0-35.3-28.7-64-64-64H160z\", \"M296 464c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 224c0 48.6 39.4 88 88 88H296zm56-48V320c0-17.7 14.3-32 32-32h96L352 416z\"]]\n};\nvar faRubleSign = {\n prefix: 'fad',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", [\"M64 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V352zm64 64H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H128v64z\", \"M64 64c0-17.7 14.3-32 32-32H240c79.5 0 144 64.5 144 144s-64.5 144-144 144H128V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64V64zm64 192H240c44.2 0 80-35.8 80-80s-35.8-80-80-80H128V256z\"]]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faTrashUndo = {\n prefix: 'fad',\n iconName: 'trash-undo',\n icon: [448, 512, [\"trash-arrow-turn-left\"], \"f895\", [\"M32 96H416L394.6 466.8c-1.5 25.4-22.5 45.2-47.9 45.2H101.3c-25.4 0-46.5-19.8-47.9-45.2L32 96zm185.8 71.9c-8.9-9.9-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L182.5 280H240c22.1 0 40 17.9 40 40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320c0-48.6-39.4-88-88-88H182.5l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9z\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zm54.1 167.9c8.9 9.9 8.1 25-1.8 33.9L182.5 232H240c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V320c0-22.1-17.9-40-40-40H182.5l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8z\"]]\n};\nvar faTrashArrowTurnLeft = faTrashUndo;\nvar faChampagneGlass = {\n prefix: 'fad',\n iconName: 'champagne-glass',\n icon: [320, 512, [\"glass-champagne\"], \"f79e\", [\"M56.3 27.9C58.3 12 71.9 0 88 0H232c16.1 0 29.7 12 31.7 27.9l23 180.1c8.4 65.4-34.1 124.3-94.8 140V448h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H160 80c-17.7 0-32-14.3-32-32s14.3-32 32-32h48V348C67.3 332.4 24.9 273.4 33.2 208l23-180.1zM116.2 64L96.7 216.1C91.9 254.3 121.6 288 160 288s68.1-33.7 63.3-71.9L203.8 64H116.2z\", \"M212 128H108L96.7 216.1C91.9 254.3 121.6 288 160 288s68.1-33.7 63.3-71.9L212 128z\"]]\n};\nvar faGlassChampagne = faChampagneGlass;\nvar faObjectsAlignCenterHorizontal = {\n prefix: 'fad',\n iconName: 'objects-align-center-horizontal',\n icon: [512, 512, [], \"e3bc\", [\"M80 64c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H80zm64 224c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H144z\", \"M232 24c0-13.3 10.7-24 24-24s24 10.7 24 24V64H232V24zm0 264V224h48v64H232zm0 160h48v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448z\"]]\n};\nvar faSun = {\n prefix: 'fad',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", [\"M361.5 1.2c5 2.1 8.6 6.6 9.6 11.9L391 121l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L446.9 256l62.3 90.3c3.1 4.5 3.7 10.2 1.6 15.2s-6.6 8.6-11.9 9.6L391 391 371.1 498.9c-1 5.3-4.6 9.8-9.6 11.9s-10.7 1.5-15.2-1.6L256 446.9l-90.3 62.3c-4.5 3.1-10.2 3.7-15.2 1.6s-8.6-6.6-9.6-11.9L121 391 13.1 371.1c-5.3-1-9.8-4.6-11.9-9.6s-1.5-10.7 1.6-15.2L65.1 256 2.8 165.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L121 121 140.9 13.1c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L256 65.1 346.3 2.8c4.5-3.1 10.2-3.7 15.2-1.6zM256 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\", \"M256 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192z\"]]\n};\nvar faTrashCanSlash = {\n prefix: 'fad',\n iconName: 'trash-can-slash',\n icon: [640, 512, [\"trash-alt-slash\"], \"e2ad\", [\"M431.5 436l66.3 52.2C486.1 502.7 468.1 512 448 512H192c-35.3 0-64-28.7-64-64V196.8l80 63V432c0 8.8 7.2 16 16 16s16-7.2 16-16V285.1l64 50.4V432c0 8.8 7.2 16 16 16s16-7.2 16-16V360.7l64 50.4V432c0 8.8 7.2 16 16 16c7.5 0 13.7-5.1 15.5-12zM336 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v5L195.6 128H512V376l-80-62.7V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v80.2L336 238V208zM512 96H154.8L98.4 51.8C103.2 40.2 114.6 32 128 32h96l7.2-14.3C236.6 6.8 247.7 0 259.8 0H380.2c12.1 0 23.2 6.8 28.6 17.7L416 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTrashAltSlash = faTrashCanSlash;\nvar faScreenUsers = {\n prefix: 'fad',\n iconName: 'screen-users',\n icon: [640, 512, [\"users-class\"], \"f63d\", [\"M32 64C32 28.7 60.7 0 96 0H544c35.3 0 64 28.7 64 64V248.4c-17-15.2-39.4-24.4-64-24.4V64L96 64V224c-24.6 0-47 9.2-64 24.4V64z\", \"M96 384a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm256-32a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H288zm320-96a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM448 480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H512c-35.3 0-64 28.7-64 64z\"]]\n};\nvar faUsersClass = faScreenUsers;\nvar faGuitar = {\n prefix: 'fad',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", [\"M284.6 182.2c-45.1-29.4-99.3-30.2-131 1.6c-11 11-18 24.6-21.4 39.6c-3.7 16.6-19.1 30.7-36.1 31.6c-25.6 1.3-49.3 10.7-67.3 28.6C-16 328.4-7.6 409.4 47.5 464.5s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3c.9-17 15-32.3 31.6-36.1c15-3.4 28.6-10.5 39.6-21.4c31.8-31.8 31-85.9 1.6-131l-73.9 73.9c0 .9 .1 1.8 .1 2.7c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c.9 0 1.8 0 2.7 .1l73.9-73.9z\", \"M431 7c9.4-9.4 24.6-9.4 33.9 0l40 40c9.4 9.4 9.4 24.6 0 33.9l-48 48c-2.4 2.4-5.3 4.3-8.5 5.5l-41 15.4L255.9 301.3c-1.3-24.4-20.9-43.9-45.3-45.3L362.1 104.6l15.4-41c1.2-3.2 3.1-6.1 5.5-8.5L431 7z\"]]\n};\nvar faSquareArrowLeft = {\n prefix: 'fad',\n iconName: 'square-arrow-left',\n icon: [448, 512, [\"arrow-square-left\"], \"f33a\", [\"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM87 239L199 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L344 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L87 273c-9.4-9.4-9.4-24.6 0-33.9z\", \"M87 273c-9.4-9.4-9.4-24.6 0-33.9L199 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71 71L344 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-182.1 0 71 71c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L87 273z\"]]\n};\nvar faArrowSquareLeft = faSquareArrowLeft;\nvar faSquare8 = {\n prefix: 'fad',\n iconName: 'square-8',\n icon: [448, 512, [], \"e25d\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm232 32H216c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42c0-39.8-32.2-72-72-72zm-16 96c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24c0 0 0 0 0 0H216s0 0 0 0zm0 48c0 0 0 0 0 0h16c0 0 0 0 0 0h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-17.7 0-32-14.3-32-32s14.3-32 32-32h8z\", \"M304 200c0-39.8-32.2-72-72-72H216c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42zm-72 72h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c0 0 0 0 0 0h16c0 0 0 0 0 0zm0-48H216c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]]\n};\nvar faFaceSmileHearts = {\n prefix: 'fad',\n iconName: 'face-smile-hearts',\n icon: [640, 512, [], \"e390\", [\"M468.7 89.2c-15-15.1-21.8-35.2-20.5-54.9C410.5 12.5 366.7 0 320 0C178.6 0 64 114.6 64 256c0 25.7 3.8 50.5 10.8 73.8c1.8 1.1 3.5 2.2 5.2 3.4c27.7-19.9 66.4-17.3 91.3 7.7c27.6 27.7 27.6 72.6 0 100.4l-13.1 13.1C202.4 490.4 258.7 512 320 512c53.3 0 102.8-16.3 143.8-44.2c-22.6-27.9-21-68.9 4.9-94.9c23-23.1 57.8-27 84.8-11.8C568 329 576 293.4 576 256c0-34-6.6-66.4-18.6-96.1c-12.1-.6-24-5.6-33.2-14.9L468.7 89.2zM228.1 325.5C246 346.2 276.6 368 320 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C413.8 372.1 375.1 400 320 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm47.1-91.9c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\", \"M573.7 11.5L560 25.3 546.3 11.4c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2s-39.8-15.3-54.9 0zM275.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm160 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM628.6 395.5c-15.2-15.3-39.8-15.3-54.9 0L560 409.3l-13.7-13.8c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2zm-534.9-32L80 377.3 66.3 363.4c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2s-39.8-15.3-54.9 0z\"]]\n};\nvar faBracketsSquare = {\n prefix: 'fad',\n iconName: 'brackets-square',\n icon: [448, 512, [\"brackets\"], \"f7e9\", [\"M448 96c0-35.3-28.7-64-64-64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h64V416H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c35.3 0 64-28.7 64-64V96z\", \"M0 96C0 60.7 28.7 32 64 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64V416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V96z\"]]\n};\nvar faBrackets = faBracketsSquare;\nvar faLaptopArrowDown = {\n prefix: 'fad',\n iconName: 'laptop-arrow-down',\n icon: [640, 512, [], \"e1c6\", [\"M296 32H128C92.7 32 64 60.7 64 96V352h64V96H296V32zm48 64H512V352h64V96c0-35.3-28.7-64-64-64H344V96zM0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2C8.6 384 0 392.6 0 403.2z\", \"M296 96H128V352H512V96H344V206.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V96z\"]]\n};\nvar faHockeyStickPuck = {\n prefix: 'fad',\n iconName: 'hockey-stick-puck',\n icon: [640, 512, [], \"e3ae\", [\"M476.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L252.2 352H96V480v32h32 32 44.2c24.2 0 46.4-13.7 57.2-35.4L476.6 46.3zM32 352c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H64V352H32z\", \"M96 352H64V512H96V352zm320 64c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H416z\"]]\n};\nvar faHouseTree = {\n prefix: 'fad',\n iconName: 'house-tree',\n icon: [640, 512, [], \"e1b3\", [\"M438.6 9.4c-12.5-12.5-32.8-12.5-45.3 0L282.9 119.9l107.2 98.3c16.5 15.2 25.9 36.5 25.9 59V464c0 18-6 34.6-16 48H608c12.3 0 23.5-7 28.8-18.1s3.8-24.2-3.9-33.9L546.6 352H576c12.3 0 23.5-7 28.8-18.1s3.8-24.2-3.9-33.9L514.6 192H544c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\", \"M0 464V277.1c0-13.5 5.6-26.3 15.6-35.4l144-132c18.4-16.8 46.5-16.8 64.9 0l144 132c9.9 9.1 15.6 21.9 15.6 35.4V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zM168 272c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168z\"]]\n};\nvar faSignalFair = {\n prefix: 'fad',\n iconName: 'signal-fair',\n icon: [640, 512, [\"signal-2\"], \"f68d\", [\"M576 0c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM448 96c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32zM352 224V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M224 320c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320zM96 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V416z\"]]\n};\nvar faSignal2 = faSignalFair;\nvar faFaceLaughWink = {\n prefix: 'fad',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1H393.6c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm156.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\", \"M176.4 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm124.4-6.4c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\"]]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDollar = {\n prefix: 'fad',\n iconName: 'circle-dollar',\n icon: [512, 512, [\"dollar-circle\", \"usd-circle\"], \"f2e8\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392v15.8c10.8 1.3 21.6 4.4 32.2 7.4c2.1 .6 4.1 1.2 6.2 1.7c12.8 3.5 20.3 16.8 16.8 29.5s-16.8 20.3-29.5 16.7c-1.7-.5-3.4-1-5.2-1.4c-7.8-2.2-15.6-4.4-23.5-5.9c-14.6-2.8-31.6-1.5-45.4 4.4c-12.3 5.3-22.3 18.2-8.4 27.1c10.9 7 24.2 10.6 36.8 14c2.6 .7 5.2 1.4 7.8 2.1c17.3 4.9 39.5 11.2 56.1 22.6c21.6 14.8 31.7 38.8 26.9 64.6c-4.6 24.9-21.9 41.2-42.7 49.6c-8.7 3.5-18.1 5.7-28 6.9l0 16.9c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-19.3c-16.1-3.6-31.9-8.8-47.5-13.9c-12.6-4.2-19.4-17.7-15.3-30.3s17.7-19.4 30.3-15.3c2.8 .9 5.6 1.9 8.4 2.8c12.6 4.3 25.4 8.6 38.3 10.6c18.9 2.8 34 1.1 43.9-2.9c13.4-5.4 19.6-21.2 6.6-30.1c-11.2-7.7-25.1-11.4-38.4-15c-2.5-.7-5-1.4-7.5-2.1c-16.8-4.7-37.7-10.7-53.5-20.8c-21.7-13.8-32.7-37-28-62.6c4.5-24.3 23.3-40.4 43.3-49c6.1-2.6 12.6-4.7 19.5-6.3V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24v15.8c12.9 1.6 25.8 5.6 38.4 9.1c12.8 3.5 20.3 16.8 16.8 29.5s-16.8 20.3-29.5 16.7c-9.5-2.6-19-5.5-28.7-7.3c-14.6-2.8-31.6-1.5-45.4 4.4c-12.3 5.3-22.3 18.2-8.4 27.1c13.2 8.4 29.7 11.9 44.6 16.1c17.3 4.9 39.5 11.2 56.1 22.6c21.6 14.8 31.7 38.8 26.9 64.6c-4.6 24.9-21.9 41.2-42.7 49.6c-8.7 3.5-18.1 5.7-28 6.9l0 16.9c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-19.3c-16.1-3.6-31.9-8.8-47.5-13.9c-12.6-4.2-19.4-17.7-15.3-30.3s17.7-19.4 30.3-15.3c15.2 5 30.9 11 46.7 13.4c18.9 2.8 34 1.1 43.9-2.9c13.4-5.4 19.6-21.2 6.6-30.1c-13.4-9.1-30.5-12.7-45.9-17.1c-16.8-4.7-37.7-10.7-53.5-20.8c-21.7-13.8-32.7-37-28-62.6c4.5-24.3 23.3-40.4 43.3-49c6.1-2.6 12.6-4.7 19.5-6.3V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faDollarCircle = faCircleDollar;\nvar faUsdCircle = faCircleDollar;\nvar faHorseHead = {\n prefix: 'fad',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", [\"M306.8 348.1c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l-23.8-35.8z\", \"M64 464V316.9c0-108.4 68.3-205.1 170.5-241.3L404.2 15.5C425.6 7.9 448 23.8 448 46.4c0 11-5.5 21.2-14.6 27.3L400 96c48.1 0 91.2 29.8 108.1 74.9l48.6 129.5c11.8 31.4 4.1 66.8-19.6 90.5c-16 16-37.8 25.1-60.5 25.1h-3.4c-26.1 0-50.9-11.6-67.6-31.7l-32.3-38.7c-11.7 4.1-24.2 6.4-37.3 6.4l-.1 0 0 0c-6.3 0-12.5-.5-18.6-1.5c-3.6-.6-7.2-1.4-10.7-2.3l0 0c-28.9-7.8-53.1-26.8-67.8-52.2c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c24 41.5 68.3 70 119.3 71.9l47.2 70.8c4 6.1 6.2 13.2 6.2 20.4c0 20.3-16.5 36.8-36.8 36.8H112c-26.5 0-48-21.5-48-48zM392 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faArrowsRepeat = {\n prefix: 'fad',\n iconName: 'arrows-repeat',\n icon: [512, 512, [\"repeat-alt\"], \"f364\", [\"M490.1 257.6c16.8 5.6 25.8 23.7 20.2 40.5C486.9 368.5 421 416 346.8 416H173.3l41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L173.3 352H346.8c46.7 0 88.1-29.9 102.8-74.1c5.6-16.8 23.7-25.8 40.5-20.2z\", \"M21.9 254.4C5.1 248.8-3.9 230.6 1.6 213.9C25.1 143.5 91 96 165.2 96H338.7L297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 160H165.2c-46.7 0-88.1 29.9-102.8 74.1c-5.6 16.8-23.7 25.8-40.5 20.2z\"]]\n};\nvar faRepeatAlt = faArrowsRepeat;\nvar faBoreHole = {\n prefix: 'fad',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", [\"M48 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H384c-17.7 0-32 14.3-32 32V352c0 53-43 96-96 96s-96-43-96-96V160c0-17.7-14.3-32-32-32H48z\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V296.6c-19.1 11.1-32 31.7-32 55.4c0 35.3 28.7 64 64 64s64-28.7 64-64c0-23.7-12.9-44.4-32-55.4V32z\"]]\n};\nvar faIndustry = {\n prefix: 'fad',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", [\"M64 32C46.3 32 32 46.3 32 64V304v48 80c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304 155.6L352 265.4v-50-5.3V155.6L160 265.4v-50-5.3V64c0-17.7-14.3-32-32-32H64z\", \"M372.8 116.1c6.6 11.5 2.6 26.2-8.9 32.7L160 265.4V210.1L340.1 107.2c11.5-6.6 26.2-2.6 32.7 8.9zm192 0c6.6 11.5 2.6 26.2-8.9 32.7L352 265.4V210.1L532.1 107.2c11.5-6.6 26.2-2.6 32.7 8.9z\"]]\n};\nvar faImagePolaroid = {\n prefix: 'fad',\n iconName: 'image-polaroid',\n icon: [448, 512, [], \"f8c4\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 96H352c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\", \"M64 128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zm184 32c-5.3 0-10.2 2.6-13.2 6.9l-52.4 76.3-9.6-12.8c-3-4-7.8-6.4-12.8-6.4s-9.8 2.4-12.8 6.4l-48 64c-3.6 4.8-4.2 11.3-1.5 16.8s8.3 8.8 14.3 8.8h48 48 40 88c5.9 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-88-128c-3-4.3-7.9-6.9-13.2-6.9zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faWaveTriangle = {\n prefix: 'fad',\n iconName: 'wave-triangle',\n icon: [640, 512, [], \"f89a\", [\"M176 32c10.1 0 19.6 4.7 25.6 12.8L464 394.7 582.4 236.8c10.6-14.1 30.7-17 44.8-6.4s17 30.7 6.4 44.8l-144 192c-6 8.1-15.5 12.8-25.6 12.8s-19.6-4.7-25.6-12.8L176 117.3 57.6 275.2c-10.6 14.1-30.7 17-44.8 6.4s-17-30.7-6.4-44.8l144-192c6-8.1 15.5-12.8 25.6-12.8z\", \"\"]]\n};\nvar faPersonRunningFast = {\n prefix: 'fad',\n iconName: 'person-running-fast',\n icon: [512, 512, [], \"e5ff\", [\"M16 95.8H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zM187.2 352l54.9-123.6L233.6 254c-9.3 28 1.7 58.8 26.8 74.5l5.7 3.6-24.6 55.4c-7.7 17.3-24.9 28.5-43.9 28.5H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h59.2zM0 175.8c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zm16 48H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M368 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM259.2 160c-14.1 0-27.5 5.6-37.5 15.5l-23.1 23.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l23.1-23.1C198.4 108.3 228.2 96 259.2 96c11.7 0 23.3 1.7 34.4 5.2l48.7 15c36.4 11.2 65.9 38 80.5 73.1l6.3 15c5 11.9 16.6 19.7 29.5 19.7H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H458.7c-38.8 0-73.7-23.3-88.6-59.1l-5.1-12.3L334 299l56.7 35.4c18.1 11.3 26.6 33.3 20.7 53.9L382.8 488.8c-4.9 17-22.6 26.8-39.6 22s-26.8-22.6-22-39.6l25.4-88.8-86.2-53.9c-25.1-15.7-36.1-46.5-26.8-74.5l31.2-93.7c-1.9-.2-3.7-.3-5.6-.3z\"]]\n};\nvar faCircleDown = {\n prefix: 'fad',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", [\"M256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM135.1 294.6l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3H304V160c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32v96H150.3C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3z\", \"M242.2 394.5L135.1 294.6c-4.5-4.2-7.1-10.1-7.1-16.3c0-12.3 10-22.3 22.3-22.3H208V160c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v96h57.7c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.1 16.3L269.8 394.5c-3.8 3.5-8.7 5.5-13.8 5.5s-10.1-2-13.8-5.5z\"]]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faGrill = {\n prefix: 'fad',\n iconName: 'grill',\n icon: [448, 512, [], \"e5a3\", [\"M106.1 352.8L129.2 299c14.4 6.7 29.7 12 45.6 15.6L151.8 368H296.2l-22.9-53.4c15.9-3.6 31.1-8.8 45.6-15.6l63.2 147.5c5.2 12.2-.4 26.3-12.6 31.5s-26.3-.4-31.5-12.6L316.7 416H160s0 0 0 0c0-31.9-23.3-58.4-53.9-63.2z\", \"M40 32C17.9 32 0 49.9 0 72V96C0 219.7 100.3 320 224 320s224-100.3 224-224V72c0-22.1-17.9-40-40-40H40zM72 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0A64 64 0 1 0 32 416a64 64 0 1 0 128 0z\"]]\n};\nvar faArrowsTurnToDots = {\n prefix: 'fad',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", [\"M262.6 281.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 352 96 352c-53 0-96 43-96 96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448c0-17.7 14.3-32 32-32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM448 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]]\n};\nvar faChartMixed = {\n prefix: 'fad',\n iconName: 'chart-mixed',\n icon: [512, 512, [\"analytics\"], \"f643\", [\"M192 224c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32zM64 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32zm224 0V448c0 17.7 14.3 32 32 32s32-14.3 32-32V320c0-17.7-14.3-32-32-32s-32 14.3-32 32zm160-96c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32z\", \"M505 44c11 13.8 8.8 33.9-5 45L340 217c-11.4 9.1-27.5 9.4-39.2 .6L192.6 136.5 52 249c-13.8 11-33.9 8.8-45-5s-8.8-33.9 5-45L172 71c11.4-9.1 27.5-9.4 39.2-.6l108.2 81.1L460 39c13.8-11 33.9-8.8 45 5z\"]]\n};\nvar faAnalytics = faChartMixed;\nvar faFlorinSign = {\n prefix: 'fad',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", [\"M170.7 224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h80l26.7-64zm42.7 64H320c17.7 0 32-14.3 32-32s-14.3-32-32-32H240l-26.7 64z\", \"M226.1 91.1C241 55.3 275.9 32 314.7 32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H314.7c-12.9 0-24.6 7.8-29.5 19.7L157.9 420.9C143 456.7 108.1 480 69.3 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H69.3c12.9 0 24.6-7.8 29.5-19.7L226.1 91.1z\"]]\n};\nvar faArrowDownShortWide = {\n prefix: 'fad',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", [\"M288 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm0 128c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm0 128c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm0 128c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32z\", \"M128 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L160 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L63.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C110.5 476.2 119 480 128 480z\"]]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'fad',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", [\"M380.6 81.7c7.9 15.8 1.5 35-14.3 42.9L103.6 256 366.3 387.4c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-320-160C6.8 279.2 0 268.1 0 256s6.8-23.2 17.7-28.6l320-160c15.8-7.9 35-1.5 42.9 14.3z\", \"\"]]\n};\nvar faDisplayCode = {\n prefix: 'fad',\n iconName: 'display-code',\n icon: [576, 512, [\"desktop-code\"], \"e165\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\", \"M64 64H512V352H64V64zM346.7 448H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h69.3L240 416h96l10.7 32zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]]\n};\nvar faDesktopCode = faDisplayCode;\nvar faFaceDrooling = {\n prefix: 'fad',\n iconName: 'face-drooling',\n icon: [512, 512, [], \"e372\", [\"M384 477.8c76.5-44.3 128-127 128-221.8C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c33.9 0 66.4-6.6 96-18.6V370.9c-9.7 6.4-20.3 12.2-32 16.9V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V397.1c-10.1 1.9-20.8 2.9-32 2.9c-67 0-113.8-36.7-140.5-70c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5c22.8 28.5 61.3 58 115.5 58s92.7-29.5 115.5-58c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5c-3.8 4.7-7.9 9.5-12.5 14.2V477.8zM158.6 189.6c-8.4 8-13.5 17.7-15.4 23.5c-2.8 8.4-11.9 12.9-20.2 10.1s-12.9-11.9-10.1-20.2c3.4-10.2 11.1-24.6 23.8-36.5C149.5 154.2 167.9 144 192 144c8.8 0 16 7.2 16 16s-7.2 16-16 16c-14.3 0-25.2 5.8-33.4 13.6zm210.2 23.5c-1.9-5.8-7-15.4-15.4-23.5c-8.2-7.8-19-13.6-33.4-13.6c-8.8 0-16-7.2-16-16s7.2-16 16-16c24.1 0 42.5 10.2 55.4 22.4c12.6 12 20.4 26.3 23.8 36.5c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1z\", \"M158.6 189.6c8.2-7.8 19.1-13.6 33.4-13.6c8.8 0 16-7.2 16-16s-7.2-16-16-16c-24.1 0-42.5 10.2-55.4 22.4c-12.6 12-20.4 26.3-23.8 36.5c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1c1.9-5.8 7-15.4 15.4-23.5zm194.8 0c8.4 8 13.5 17.7 15.4 23.5c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2c-3.4-10.2-11.1-24.6-23.8-36.5C362.5 154.2 344.1 144 320 144c-8.8 0-16 7.2-16 16s7.2 16 16 16c14.3 0 25.2 5.8 33.4 13.6zM288 448c0 8.8 7.2 16 16 16s16-7.2 16-16V387.8c-9.9 4-20.6 7.2-32 9.3V448zm64 48c0 8.8 7.2 16 16 16s16-7.2 16-16V344.2c-9.1 9.4-19.7 18.6-32 26.8V496z\"]]\n};\nvar faOilTemperature = {\n prefix: 'fad',\n iconName: 'oil-temperature',\n icon: [576, 512, [\"oil-temp\"], \"f614\", [\"M380 367.9c12.6-18.1 20-40.2 20-63.9c0-.4 0-.8 0-1.2c21.9-3.2 43.7-12.6 61.5-24.9l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 357.7 417 368 384 368c-1.4 0-2.7 0-4-.1zm-183.9 0c-1.3 0-2.7 .1-4 .1c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7l0 0c17.8 12.3 39.6 21.7 61.4 24.9c0 .4 0 .8 0 1.2c0 23.8 7.4 45.8 20 63.9zm110.5 54C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z\", \"M288 0c-17.7 0-32 14.3-32 32v96V230.7c-28.3 12.3-48 40.5-48 73.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3V160h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320V64h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H288z\"]]\n};\nvar faOilTemp = faOilTemperature;\nvar faSquareQuestion = {\n prefix: 'fad',\n iconName: 'square-question',\n icon: [448, 512, [\"question-square\"], \"f2fd\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm73.8 133.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L248 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H190.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M190.6 128c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V264c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H190.6zM224 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faQuestionSquare = faSquareQuestion;\nvar faAirConditioner = {\n prefix: 'fad',\n iconName: 'air-conditioner',\n icon: [576, 512, [], \"f8f4\", [\"M80 128H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 96V416c0 53-43 96-96 96s-96-43-96-96c0-35.6 19.4-66.6 48-83.1c15.3-8.9 34.9-3.6 43.7 11.7s3.6 34.9-11.7 43.7c-9.6 5.6-16 15.9-16 27.7c0 17.7 14.3 32 32 32s32-14.3 32-32V224h64zm64 0h64V384c0 17.7 14.3 32 32 32s32-14.3 32-32c0-11.8-6.4-22.2-16-27.7c-15.3-8.9-20.5-28.4-11.7-43.7s28.4-20.5 43.7-11.7c28.6 16.6 48 47.6 48 83.1c0 53-43 96-96 96s-96-43-96-96V224z\", \"M64 0C28.7 0 0 28.7 0 64v96c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 128H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faAngleDown = {\n prefix: 'fad',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", [\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\", \"\"]]\n};\nvar faMountains = {\n prefix: 'fad',\n iconName: 'mountains',\n icon: [640, 512, [9968], \"f6fd\", [\"M412.7 249.7l48.2-79C465 164.1 472.2 160 480 160s15 4.1 19.1 10.7l132 216.3c5.8 9.6 8.9 20.6 8.9 31.8c0 33.8-27.4 61.1-61.1 61.1H456.1c30.9 0 55.9-25 55.9-55.9c0-10.5-3-20.8-8.6-29.7L412.7 249.7z\", \"M55.9 480H456.1c30.9 0 55.9-25 55.9-55.9c0-10.5-3-20.8-8.6-29.7L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1C0 455 25 480 55.9 480z\"]]\n};\nvar faOmega = {\n prefix: 'fad',\n iconName: 'omega',\n icon: [448, 512, [], \"f67a\", [\"M224 96C135.6 96 64 167.6 64 256c0 56.4 29.1 106 73.3 134.5c13.3 8.6 22.7 23.7 22.7 41.2c0 26.7-21.6 48.3-48.3 48.3H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H67.2C25.8 375.4 0 318.7 0 256C0 132.3 100.3 32 224 32s224 100.3 224 224c0 62.7-25.8 119.4-67.2 160H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H336.3c-26.7 0-48.3-21.6-48.3-48.3c0-17.5 9.4-32.6 22.7-41.2C354.9 362 384 312.4 384 256c0-88.4-71.6-160-160-160z\", \"\"]]\n};\nvar faCarTunnel = {\n prefix: 'fad',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", [\"M256 0C114.6 0 0 114.6 0 256V448c0 35.3 28.7 64 64 64h42.8c-6.6-5.9-10.8-14.4-10.8-24V376c0-20.8 11.3-38.9 28.1-48.6l21-64.7c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7l21 64.7c16.8 9.7 28.2 27.8 28.2 48.6V488c0 9.6-4.2 18.1-10.8 24H448c35.3 0 64-28.7 64-64V256C512 114.6 397.4 0 256 0zM362.8 512c-6.6-5.9-10.8-14.4-10.8-24V448H160v40c0 9.6-4.2 18.1-10.8 24H362.8z\", \"M198.4 272H313.6c3.5 0 6.5 2.2 7.6 5.5L335 320H177l13.8-42.5c1.1-3.3 4.1-5.5 7.6-5.5zm-53.3-9.3l-21 64.7C107.3 337.1 96 355.2 96 376V488c0 9.6 4.2 18.1 10.8 24h42.3c6.6-5.9 10.8-14.4 10.8-24V448H352v40c0 9.6 4.2 18.1 10.8 24h42.3c6.6-5.9 10.8-14.4 10.8-24V376c0-20.8-11.3-38.9-28.2-48.6l-21-64.7c-7.5-23.1-29-38.7-53.3-38.7H198.4c-24.3 0-45.8 15.6-53.3 38.7zM144 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm200-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faPersonDollyEmpty = {\n prefix: 'fad',\n iconName: 'person-dolly-empty',\n icon: [512, 512, [], \"f4d1\", [\"M218.2 168.7c12.9-3.2 25.9 4.6 29.1 17.5l49.6 198.4c17.6 2.4 32.9 12 42.8 25.7l134.4-33.6c12.9-3.2 25.9 4.6 29.1 17.5s-4.6 25.9-17.5 29.1L351.4 456.9C347.1 488 320.3 512 288 512c-35.3 0-64-28.7-64-64c0-21.3 10.4-40.1 26.3-51.7L200.7 197.8c-3.2-12.9 4.6-25.9 17.5-29.1zM288 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM96 306.7V241.7l16.6 24.9c8.9 13.4 23.9 21.4 39.9 21.4h70.7l-16-64H161.1l-42.6-64c-13.3-20-35.8-32-59.9-32C26.2 128 0 154.2 0 186.6v88.1c0 17 6.7 33.3 18.7 45.3l79.4 79.4 14.3 85.9c2.9 17.4 19.4 29.2 36.8 26.3s29.2-19.4 26.3-36.8l-15.2-90.9c-1.6-9.9-6.3-19-13.4-26.1l-51-51zM0 346.5L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32v0V410.5l-64-64z\"]]\n};\nvar faPanFood = {\n prefix: 'fad',\n iconName: 'pan-food',\n icon: [640, 512, [129368], \"e42b\", [\"M112 256a208 208 0 1 1 416 0 208 208 0 1 1 -416 0zM320 80c-37.2 0-69.3 26.3-76.6 62.8l-.6 3.2c-1.5 7.3 4.1 14 11.5 14H385.7c7.4 0 12.9-6.8 11.5-14l-.6-3.2C389.3 106.3 357.2 80 320 80zM243.3 268.7c-6.2-6.2-16.4-6.2-22.6 0l-8 8-8 8c-6.2 6.2-6.2 16.4 0 22.6c2.1 2.1 4.6 3.5 7.3 4.2c1.7 .4 3.4 .8 5.1 1.1c5.4 1.1 11 2.1 14.7 5.9l3.4 3.4c3 3 4.7 7.1 4.7 11.3V360c0 30.9 25.1 56 56 56s56-25.1 56-56s-25.1-56-56-56H269.3c-4.2 0-8.3-1.7-11.3-4.7l-3.4-3.4c-3.8-3.8-4.8-9.3-5.9-14.7c-.3-1.7-.7-3.5-1.1-5.1c-.7-2.7-2.1-5.2-4.2-7.3zM440 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM230.1 214.1c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0l-32 32c-7.8 7.8-7.8 20.5 0 28.3s20.5 7.8 28.3 0l32-32zM344 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm32.2 39.8c-4.5 4.5-4.5 11.9 0 16.4l2.4 2.4c13.7 13.7 32.4 21.4 51.8 21.4l4.1 0c14 0 27.6-4.8 38.5-13.5c14.6-11.7 23.1-29.4 23.1-48.1v-4.8c0-19-7.5-37.2-21-50.6l-2.8-2.8c-4.5-4.5-11.9-4.5-16.4 0l-79.6 79.6z\", \"M528 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM64 256a256 256 0 1 1 512 0A256 256 0 1 1 64 256zM48 184V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24zm568-24c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24zM230.1 214.1l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zM296 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80.2 39.8l79.6-79.6c4.5-4.5 11.9-4.5 16.4 0l2.8 2.8c13.4 13.4 21 31.6 21 50.6v4.8c0 18.7-8.5 36.4-23.1 48.1C462 299.2 448.4 304 434.4 304l-4.1 0c-19.4 0-38-7.7-51.8-21.4l-2.4-2.4c-4.5-4.5-4.5-11.9 0-16.4z\"]]\n};\nvar faHeadSideCough = {\n prefix: 'fad',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", [\"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v0 32L339.2 365.6c-11 1.4-19.2 10.7-19.2 21.8c0 11.6 9 21.2 20.6 21.9L448 416v16c0 26.5-21.5 48-48 48H320v8c0 13.3-10.7 24-24 24H256v0H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm352-.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M592 288a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-40 24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm128 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM592 480a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-40-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faGripLines = {\n prefix: 'fad',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", [\"M416 288c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0z\", \"M416 160c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0z\"]]\n};\nvar faThumbsDown = {\n prefix: 'fad',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", [\"M351.1 422.6c5.2 26-11.7 51.3-37.7 56.5s-51.3-11.7-56.5-37.7L254.6 430c-6.6-33.2-24.8-63-51.2-84.2l-7.4-5.9c-22.8-18.2-36-45.8-36-75V240 192 153.7c0-32.1 16-62.1 42.7-79.9l38.5-25.7C257.1 37.6 275.6 32 294.5 32H392c26.5 0 48 21.5 48 48c0 3.6-.4 7-1.1 10.4C458.1 96.6 472 114.7 472 136c0 9.1-2.5 17.6-6.9 24.9c22.2 4.2 38.9 23.7 38.9 47.1c0 15.1-7 28.6-17.9 37.4c15.4 8 25.9 24.1 25.9 42.6c0 26.5-21.5 48-48 48H320c13.7 23.1 23.5 48.5 28.8 75.2l2.3 11.4z\", \"M0 352c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H32C14.3 96 0 110.3 0 128V352z\"]]\n};\nvar faUserLock = {\n prefix: 'fad',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c43.6 0 83.6 15.7 114.6 41.7c-.2 2.1-.3 4.2-.3 6.3V480c0 11.7 3.1 22.6 8.6 32H29.7C13.3 512 0 498.7 0 482.3z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faArrowRightLong = {\n prefix: 'fad',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", [\"M402.7 224L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0 32-32-32-32z\", \"M502.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 256 329.4 150.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l128 128z\"]]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faTicketsAirline = {\n prefix: 'fad',\n iconName: 'tickets-airline',\n icon: [640, 512, [], \"e29b\", [\"M160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V272c0-8.8-7.4-15.7-15.7-18.6C605.5 246.9 592 229 592 208s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6V96c0-35.3-28.7-64-64-64H160zM528 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM288.4 176l-23.2-69.5c-1.7-5.2 2.1-10.5 7.6-10.5H304c8.5 0 16.4 4.5 20.7 11.9L364.4 176h40.3c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5c-11.4 11.4-26.8 17.7-42.8 17.7H364.4l-39.7 68.1c-4.3 7.4-12.2 11.9-20.7 11.9H272.9c-5.5 0-9.3-5.3-7.6-10.5L288.4 240H245.8l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H200c-5.2 0-9-4.9-7.8-9.9l12.5-50.2c.6-2.5 .6-5.2 0-7.8l-12.5-50.2c-1.3-5 2.6-9.9 7.8-9.9h13.8c5 0 9.8 2.4 12.8 6.4L245.8 176h42.7z\", \"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120zm240.4 56H245.8l-19.2-25.6c-3-4-7.8-6.4-12.8-6.4H200c-5.2 0-9 4.9-7.8 9.9l12.5 50.2c.6 2.5 .6 5.2 0 7.8l-12.5 50.2c-1.3 5 2.6 9.9 7.8 9.9h13.8c5 0 9.8-2.4 12.8-6.4L245.8 240h42.7l-23.2 69.5c-1.7 5.2 2.1 10.5 7.6 10.5H304c8.5 0 16.4-4.5 20.7-11.9L364.4 240h40.3c16.1 0 31.5-6.4 42.8-17.7c7.9-7.9 7.9-20.7 0-28.5c-11.4-11.4-26.8-17.7-42.8-17.7H364.4l-39.7-68.1C320.4 100.5 312.5 96 304 96H272.9c-5.5 0-9.3 5.3-7.6 10.5L288.4 176z\"]]\n};\nvar faAnchorCircleXmark = {\n prefix: 'fad',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", [\"M288 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 32c0 33.4-17 62.8-42.9 80H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H320V368v80h19.2c12.6 24.7 30.9 46 53 62.2c-7.9 1.2-16 1.8-24.2 1.8H288 208c-88.4 0-160-71.6-160-160v-6.1l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56-56c9.4-9.4 24.6-9.4 33.9 0l56 56c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7V352c0 53 43 96 96 96h48V240H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.9C209 158.8 192 129.4 192 96c0-53 43-96 96-96s96 43 96 96z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faEllipsis = {\n prefix: 'fad',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", [\"M168 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\", \"M64 312a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm320 0a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]]\n};\nvar faEllipsisH = faEllipsis;\nvar faNfcSlash = {\n prefix: 'fad',\n iconName: 'nfc-slash',\n icon: [640, 512, [], \"e1fc\", [\"M406.2 416H208c-26.5 0-48-21.5-48-48V222.1L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4L406.2 416zM192 247.3V368c0 8.8 7.2 16 16 16H365.5L192 247.3zM208 128c-3.3 0-6.4 1-8.9 2.7l103 80.7c.6-.3 1.3-.5 1.9-.7V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48V350.9l64 50.2V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1l65.8 51.6c8.7-9 21-14.7 34.5-14.7h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208zM448 325.8V144c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 2.3-.2 4.6-.5 6.8L448 325.8z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faChessPawn = {\n prefix: 'fad',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", [\"M256 432H64L22.6 473.4c-4.2 4.2-6.6 10-6.6 16C16 501.9 26.1 512 38.6 512H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L256 432z\", \"M264 136c0 37.1-19.4 69.6-48.5 88H224c17.7 0 32 14.3 32 32c0 15.7-11.3 28.8-26.3 31.5L256 432H64L90.3 287.5C75.3 284.8 64 271.7 64 256c0-17.7 14.3-32 32-32h8.5C75.4 205.6 56 173.1 56 136C56 78.6 102.6 32 160 32s104 46.6 104 104z\"]]\n};\nvar faKitMedical = {\n prefix: 'fad',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", [\"M96 480h32V32H96V480zM448 32V480h32V32H448z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H96V32H64zm64 0V480H448V32H128zM512 480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H480V480h32zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]]\n};\nvar faFirstAid = faKitMedical;\nvar faGrid2Plus = {\n prefix: 'fad',\n iconName: 'grid-2-plus',\n icon: [512, 512, [], \"e197\", [\"M32 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80zm0 256c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336zM336 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48z\", \"M408 296c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H296c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V408h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H408V296z\"]]\n};\nvar faBells = {\n prefix: 'fad',\n iconName: 'bells',\n icon: [640, 512, [], \"f77f\", [\"M230.8 245.5l18.7 51.2c11.7 31.8 12.9 66.5 3.5 99.1l-1.1 3.9L21.4 315.8C10 311.7 2 301.5 .6 289.5s4.1-23.8 14.3-30.4l8.2-5.4C57.6 231 84 197.8 98.2 159l14.7-40C138 50.4 214 15.1 282.6 40.1c4.8 1.7 9.4 3.7 13.9 6c-64.1 42.2-93.3 124.2-65.7 199.5zm30.1-10.9c-26.1-71.3 10.5-150.2 81.9-176.2s150.4 10.8 176.5 82.1L538 191.7c14 38.2 39.8 71 73.6 93.6l13.7 9.2c10 6.7 15.4 18.5 14 30.4s-9.5 22.1-20.8 26.2L321.1 459.4c-11.3 4.1-24 1.5-32.8-6.7s-12.3-20.7-9-32.2l4.6-15.8c11.2-39 9.7-80.7-4.3-118.9l-18.8-51.2z\", \"M211.9 419.5L94.3 376.1c-.3 2.5-.4 5-.4 7.5c0 35.5 28.9 64.3 64.5 64.3c22.3 0 41.9-11.3 53.5-28.4zM480.8 480c35.6 0 64.5-28.8 64.5-64.3c0-1.3 0-2.6-.1-3.9L429.1 454.1c11.8 15.7 30.6 25.9 51.7 25.9z\"]]\n};\nvar faPersonThroughWindow = {\n prefix: 'fad',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", [\"M352 73.8l0-9.8H288l0 9.8c0 39-23.7 74-59.9 88.4C167.6 186.5 128 245 128 310.2l0 73.8c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10.2 1.6-20.1 4.7-29.5L341.4 497.8c9.8 14.7 29.7 18.7 44.4 8.9s18.7-29.7 8.9-44.4L310.5 336l74.6 0 40 48h83.3l-3.7-4.5-75.2-90.2c-9.1-10.9-22.6-17.3-36.9-17.3l-71.1 0-41-63.1c-.3-.5-.6-1-1-1.4c44.7-29 72.5-79 72.5-133.6zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\", \"M64 64V384h64c0 17.7 14.3 32 32 32s32-14.3 32-32h73.5l42.7 64H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0H592c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H385.1l-42.7-64H576V64L352 64l-64 0L64 64z\"]]\n};\nvar faToolbox = {\n prefix: 'fad',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", [\"M176 88v40H128V88c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56v40H336V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM0 320H128v32c0 17.7 14.3 32 32 32s32-14.3 32-32V320H320v32c0 17.7 14.3 32 32 32s32-14.3 32-32V320H512v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320z\", \"M0 320V234.5c0-17 6.7-33.3 18.7-45.3l42.5-42.5c12-12 28.3-18.7 45.3-18.7h299c17 0 33.3 6.7 45.3 18.7l42.5 42.5c12 12 18.7 28.3 18.7 45.3V320H384V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v32H192V288c0-17.7-14.3-32-32-32s-32 14.3-32 32v32H0z\"]]\n};\nvar faEnvelopeDot = {\n prefix: 'fad',\n iconName: 'envelope-dot',\n icon: [576, 512, [\"envelope-badge\"], \"e16f\", [\"M417.6 64c-1 5.2-1.6 10.5-1.6 16c0 39.3 28.3 72 65.7 78.7L275.2 313.6c-11.4 8.5-27 8.5-38.4 0L19.2 150.4C7.1 141.3 0 127.1 0 112C0 85.5 21.5 64 48 64H417.6zM0 384V176L217.6 339.2c22.8 17.1 54 17.1 76.8 0L512 176V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z\", \"M416 80a80 80 0 1 1 160 0A80 80 0 1 1 416 80z\"]]\n};\nvar faEnvelopeBadge = faEnvelopeDot;\nvar faHandsHoldingCircle = {\n prefix: 'fad',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", [\"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"M320 0a128 128 0 1 0 0 256A128 128 0 1 0 320 0z\"]]\n};\nvar faBug = {\n prefix: 'fad',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", [\"M256 0c-53 0-96 43-96 96v3.6c0 15.7 12.7 28.4 28.4 28.4H323.6c15.7 0 28.4-12.7 28.4-28.4V96c0-53-43-96-96-96zm0 480c5.4 0 10.7-.3 16-.8V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c5.3 .5 10.6 .8 16 .8z\", \"M86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c.7 .7 1.4 1.3 2.1 1.9c-6.2 12-10.1 25.3-11.1 39.5H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H96c0 24.6 5.5 47.8 15.4 68.6c-2.2 1.3-4.2 2.9-6 4.8l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l63.1-63.1c24.5 21.8 55.8 36.2 90.3 39.6V240c0-8.8 7.2-16 16-16s16 7.2 16 16V479.2c34.5-3.4 65.8-17.8 90.3-39.6l63.1 63.1c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64c-1.9-1.9-3.9-3.4-6-4.8c9.9-20.8 15.4-44.1 15.4-68.6h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H415.7c-1.1-14.1-5-27.5-11.1-39.5c.7-.6 1.4-1.2 2.1-1.9l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-.7 .7-1.3 1.4-1.9 2.1C345.2 164.1 329.1 160 312 160H200c-17.1 0-33.2 4.1-47.5 11.4c-.6-.7-1.2-1.4-1.9-2.1l-64-64z\"]]\n};\nvar faBowlChopsticks = {\n prefix: 'fad',\n iconName: 'bowl-chopsticks',\n icon: [512, 512, [], \"e2e9\", [\"M18.5 125.1l473.8-74c11.3-1.8 19.7-11.5 19.7-23c0-14.6-13.3-25.6-27.6-22.9L13.1 93.6C5.5 95 0 101.6 0 109.3c0 9.8 8.8 17.3 18.5 15.8zm-2.7 18.4C7 143.8 0 151 0 159.7c0 9 7.3 16.2 16.2 16.2H488.4c13 0 23.6-10.6 23.6-23.6c0-13.3-11-24-24.4-23.6L15.7 143.5z\", \"M33.6 224C15.4 224 .9 239.3 2 257.5c5.4 91.7 59.7 169.7 136.4 209.7l1.2 9.7c2.5 20 19.5 35 39.7 35H332.7c20.2 0 37.2-15 39.7-35l1.2-9.7c76.8-40 131-118 136.4-209.7c1.1-18.2-13.4-33.5-31.6-33.5H33.6z\"]]\n};\nvar faCreditCard = {\n prefix: 'fad',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", [\"M64 32C28.7 32 0 60.7 0 96v32H576V96c0-35.3-28.7-64-64-64H64zM576 224H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224zM112 352h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\", \"M576 224H0V128H576v96z\"]]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCircleS = {\n prefix: 'fad',\n iconName: 'circle-s',\n icon: [512, 512, [], \"e121\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM207.6 196.2c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4l2 .6c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4l-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7c-20.3-3.1-36.8-1.4-47.8 2.9c-10.3 4.1-14.2 9.6-15.4 15.8z\", \"M223 180.4c-10.3 4.1-14.2 9.6-15.4 15.8c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4c.7 .2 1.3 .4 2 .6c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23.1 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4c-.7-.2-1.3-.4-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23.1-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7l3.6-23.7-3.6 23.7c-20.3-3.1-36.8-1.4-47.8 2.9z\"]]\n};\nvar faBoxBallot = {\n prefix: 'fad',\n iconName: 'box-ballot',\n icon: [576, 512, [128499], \"f735\", [\"M48 160h80v64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H448h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V160h80c26.5 0 48 21.5 48 48V320H0V208c0-26.5 21.5-48 48-48z\", \"M160 0H416c17.7 0 32 14.3 32 32V256H128V32c0-17.7 14.3-32 32-32zM32 512c-17.7 0-32-14.3-32-32V320H576V480c0 17.7-14.3 32-32 32H32z\"]]\n};\nvar faCar = {\n prefix: 'fad',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", [\"M165.4 96c-13.6 0-25.7 8.6-30.2 21.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4zM0 400v48c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V400H0zm512 0H416v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V400z\", \"M135.2 117.4L109.1 192H402.9l-26.1-74.6C372.3 104.6 360.2 96 346.6 96H165.4c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32H346.6c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2V400H0V256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'fad',\n iconName: 'hand-holding-hand',\n icon: [576, 512, [], \"e4f7\", [\"M16.3 151.8c-17.8 13.1-21.6 38.1-8.5 55.9s38.1 21.6 55.9 8.5L183.4 128H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 224c-17.7 0-32 14.3-32 32s14.3 32 32 32h64 16 78.3c29.1 0 57.3-9.9 80-28l44.9-36H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H384 223.5c-29 0-57.3 9.3-80.7 26.5L16.3 151.8zm366.1 8.3a.5 .5 0 1 1 .9-.1 .5 .5 0 1 1 -.9 .1z\", \"M559.7 360.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 384H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 352H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .1 .5 .5 0 1 1 .9-.1z\"]]\n};\nvar faUserTieHair = {\n prefix: 'fad',\n iconName: 'user-tie-hair',\n icon: [448, 512, [], \"e45f\", [\"M176 112H120c-7.9 0-15.5-1.7-22.3-4.6C96.6 114.1 96 121 96 128c0 70.7 57.3 128 128 128s128-57.3 128-128c0-11-1.4-21.8-4-32H312c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112z\", \"M120 112c-7.9 0-15.5-1.7-22.3-4.6C107.5 46.5 160.3 0 224 0c59.6 0 109.8 40.8 124 96H312c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112H120zm89.1 247.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 39.5-161.2c77.2 12 136.3 78.8 136.3 159.4c0 17-13.8 30.7-30.7 30.7H265.1 182.9 30.7C13.8 512 0 498.2 0 481.3c0-80.6 59.1-147.4 136.3-159.4l39.5 161.2 33.4-123.9z\"]]\n};\nvar faPodiumStar = {\n prefix: 'fad',\n iconName: 'podium-star',\n icon: [448, 512, [], \"f758\", [\"M137.3 512H310.7c32.6 0 60-24.5 63.6-56.9L403.6 192H44.4L73.7 455.1c3.6 32.4 31 56.9 63.6 56.9zm94-251.2l20.2 45.4c1.2 2.6 3.6 4.4 6.3 4.8l47.9 5.9c6.8 .8 9.5 9.5 4.5 14.3l-35.4 34c-2 2-3 4.9-2.4 7.7l9.4 49.1c1.3 6.9-5.8 12.3-11.8 8.9l-42.1-24.4c-2.4-1.4-5.4-1.4-7.8 0L178 430.9c-6 3.5-13.1-1.9-11.8-8.9l9.4-49.1c.5-2.8-.4-5.8-2.4-7.7l-35.4-34c-5-4.8-2.3-13.5 4.5-14.3l47.9-5.9c2.8-.3 5.2-2.1 6.3-4.8l20.2-45.4c2.9-6.4 11.7-6.4 14.5 0z\", \"M182.4 72H168c-22.1 0-40 17.9-40 40v32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H80V112c0-48.6 39.4-88 88-88h14.4C190.7 9.7 206.2 0 224 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H224c-17.8 0-33.3-9.7-41.6-24z\"]]\n};\nvar faUserHairMullet = {\n prefix: 'fad',\n iconName: 'user-hair-mullet',\n icon: [448, 512, [\"business-front\", \"party-back\", \"trian-balbot\"], \"e45c\", [\"M144 112h0c33.4 0 62.8-17 80-42.9C241.2 95 270.6 112 304 112h0 8 31.1c.6 5.2 .9 10.6 .9 16c0 70.7-49.3 128-120 128s-120-57.3-120-128c0-5.4 .3-10.8 .9-16H136h8z\", \"M144 112h0c33.4 0 62.8-17 80-42.9C241.2 95 270.6 112 304 112h0 8 32c8.8 0 16-7.2 16-16V94.8c0-9.1-5.1-17.4-13.3-21.5l-9.2-4.6C316.1 27.9 273.3 0 224 0c-48.4 0-90.5 26.8-112.2 66.4l-11.7 6.7C92.6 77.4 88 85.3 88 93.9V96c0 8.8 7.2 16 16 16h32 8zm196.1 49.9c-11.4 47.7-46.9 84.3-95.4 92.4L283 287.2c4.2 3.6 9.7 5.3 15.2 4.7s10.5-3.5 13.8-7.9l14-18.6 17.1 8.5c8.8 4.4 19.4 1.8 25.2-6.2s4.9-18.9-2.1-25.8c-13.9-13.9-19.7-24.7-22.7-37.4c-2.6-11-3.3-23.9-3.4-42.5zM204.5 254.5c-49.1-7.7-85-44.5-96.6-92.6c-.2 18.6-.8 31.5-3.4 42.5c-3 12.7-8.8 23.6-22.7 37.4c-6.9 6.9-7.8 17.9-2.1 25.8s16.4 10.6 25.2 6.2l17.1-8.5L136 284c3.3 4.4 8.2 7.2 13.6 7.9s10.9-1 15.1-4.5l39.8-32.9zM161.3 320C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3z\"]]\n};\nvar faBusinessFront = faUserHairMullet;\nvar faPartyBack = faUserHairMullet;\nvar faTrianBalbot = faUserHairMullet;\nvar faMicrophoneStand = {\n prefix: 'fad',\n iconName: 'microphone-stand',\n icon: [512, 512, [127908], \"f8cb\", [\"M316.1 37.5L293.5 60.1 451.9 218.5l11.3-11.3 11.3-11.3L316.1 37.5zM41.4 502.6c11.9 11.9 30.9 12.6 43.6 1.6L371.4 255.9 256.1 140.6 7.8 427c-11 12.7-10.3 31.7 1.6 43.6l32 32z\", \"M479.2 32.8c43.7 43.7 43.7 114.7 0 158.4l-4.7 4.7L316.1 37.5l4.7-4.7c43.7-43.7 114.7-43.7 158.4 0zM293.5 60.1L451.9 218.5l-4.7 4.7c-21 21-48.3 31.9-75.8 32.8l0 0L256.1 140.6l0 0c.8-27.5 11.7-54.8 32.8-75.8l4.7-4.7zM224 480V383.7l64-55.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32z\"]]\n};\nvar faBookOpenReader = {\n prefix: 'fad',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", [\"\", \"M256 0a96 96 0 1 0 0 192A96 96 0 1 0 256 0zM240 512V248c-52.1-36.4-114.1-56-177.7-56H32c-17.7 0-32 14.3-32 32V427c0 16.4 12.5 30.2 28.8 31.8l96 9.6c23.2 2.3 45.9 8.9 66.8 19.3L240 512zm32 0l48.4-24.2c20.9-10.4 43.5-17 66.8-19.3l96-9.6c16.4-1.6 28.8-15.4 28.8-31.8V224c0-17.7-14.3-32-32-32H449.7c-63.6 0-125.6 19.6-177.7 56V512z\"]]\n};\nvar faBookReader = faBookOpenReader;\nvar faFamilyDress = {\n prefix: 'fad',\n iconName: 'family-dress',\n icon: [512, 512, [], \"e301\", [\"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM112.3 160h31.4c11.8 0 23 3.2 32.6 8.9c-.2 2.3-.3 4.7-.3 7.1c0 24.3 10.9 46.1 28 60.8c-35.7 18.7-60 56.1-60 99.2v16c0 28.4 12.4 54 32 71.6V480c0 6.1 .8 11.9 2.4 17.5c-8.7 9-20.9 14.5-34.4 14.5H112c-26.5 0-48-21.5-48-48V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4c7.8-27.5 33-46.4 61.5-46.4zM368 512c-13.5 0-25.7-5.6-34.4-14.5c1.6-5.5 2.4-11.4 2.4-17.5V423.6c19.6-17.6 32-43.1 32-71.6V336c0-43.1-24.3-80.5-60-99.2c17.1-14.7 28-36.5 28-60.8c0-2.4-.1-4.8-.3-7.1c9.6-5.7 20.8-8.9 32.6-8.9h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448v80c0 26.5-21.5 48-48 48H368zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0z\", \"M208 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM176 336c0-44.2 35.8-80 80-80s80 35.8 80 80v16c0 23.7-12.9 44.4-32 55.4V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V407.4c-19.1-11.1-32-31.7-32-55.4V336z\"]]\n};\nvar faCircleX = {\n prefix: 'fad',\n iconName: 'circle-x',\n icon: [512, 512, [], \"e12e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.3 136.5L256 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L287.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L256 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L224.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8z\", \"M152.5 133.7c10.1-8.6 25.3-7.3 33.8 2.8L256 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L287.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L256 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L224.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8z\"]]\n};\nvar faCabin = {\n prefix: 'fad',\n iconName: 'cabin',\n icon: [512, 512, [], \"e46d\", [\"M32 280c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V280zm24 72H168c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24zm0 96H168c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V472c0-13.3 10.7-24 24-24zM344 256H456c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V280c0-13.3 10.7-24 24-24zM320 472c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V472zm24-120H456c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24z\", \"M237.4 6C248.5-2 263.5-2 274.6 6L384 84.1V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v88.7L498.6 166c11.3 8.1 16.1 22.6 11.9 35.8S493.9 224 480 224H448 416 32c-13.9 0-26.2-9-30.5-22.2S2.1 174 13.4 166L237.4 6zM256 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMountainSun = {\n prefix: 'fad',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", [\"M480 80a80 80 0 1 1 160 0A80 80 0 1 1 480 80z\", \"M381.1 512H55.9C25 512 0 487 0 456.1c0-10.5 3-20.8 8.6-29.7L225.2 81c6.6-10.6 18.3-17 30.8-17s24.1 6.4 30.8 17l126 200.7 48.2-79C465 196.1 472.2 192 480 192s15 4.1 19.1 10.7l132 216.3c5.8 9.6 8.9 20.6 8.9 31.8c0 33.8-27.4 61.1-61.1 61.1H456.1h-75z\"]]\n};\nvar faChartSimpleHorizontal = {\n prefix: 'fad',\n iconName: 'chart-simple-horizontal',\n icon: [448, 512, [], \"e474\", [\"M400 320c26.5 0 48-21.5 48-48l0-32c0-26.5-21.5-48-48-48L48 192c-26.5 0-48 21.5-48 48l0 32c0 26.5 21.5 48 48 48l352 0z\", \"M384 112c0 26.5-21.5 48-48 48L48 160c-26.5 0-48-21.5-48-48L0 80C0 53.5 21.5 32 48 32l288 0c26.5 0 48 21.5 48 48l0 32zM256 432c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 32z\"]]\n};\nvar faBluetooth = {\n prefix: 'fad',\n iconName: 'bluetooth',\n icon: [384, 512, [], \"f293\", [\"M178.8 2.9c11.4-5.2 24.8-3.2 34.3 5.1l128 112C348 126 352 134.8 352 144s-4 18-10.9 24.1L240.6 256l100.5 87.9C348 350 352 358.8 352 368s-4 18-10.9 24.1l-128 112c-9.4 8.3-22.9 10.2-34.3 5.1S160 492.6 160 480V326.5L85.1 392.1c-13.3 11.6-33.5 10.3-45.2-3s-10.3-33.5 3-45.2L143.4 256 42.9 168.1c-13.3-11.6-14.6-31.9-3-45.2s31.9-14.6 45.2-3L160 185.5V32c0-12.6 7.3-24 18.8-29.1zM224 326.5v83L271.4 368 224 326.5zm0-141L271.4 144 224 102.5v83z\", \"\"]]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'fad',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", [\"M64 96c0-17.7-14.3-32-32-32S0 78.3 0 96V416c0 17.7 14.3 32 32 32s32-14.3 32-32L64 96zm576 0c0-17.7-14.3-32-32-32s-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96z\", \"M246.6 137.4c12.5 12.5 12.5 32.8 0 45.3L205.3 224l229.5 0-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L434.7 288l-229.5 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faHandBackPointLeft = {\n prefix: 'fad',\n iconName: 'hand-back-point-left',\n icon: [512, 512, [], \"e19f\", [\"M0 184c0-22.1 17.9-40 40-40l200 0h7l73 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-55.7 0c1.4-2 3-3.9 4.5-5.8l16-19.2C297 72.4 315 64 334 64L372 64c38 0 74 16.9 98.3 46.1l4.5 5.4c24 28.8 37.1 65 37.1 102.4V336c0 70.7-57.3 128-128 128l-64 0H288c-26.5 0-48-21.5-48-48c0-12.4 4.7-23.6 12.3-32.1C227.5 382 208 361.3 208 336c0-12.4 4.7-23.6 12.3-32.1C195.5 302 176 281.3 176 256c0-12.3 4.6-23.5 12.2-32L40 224c-22.1 0-40-17.9-40-40z\", \"\"]]\n};\nvar faMessageDots = {\n prefix: 'fad',\n iconName: 'message-dots',\n icon: [512, 512, [\"comment-alt-dots\", \"messaging\"], \"f4a3\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM128 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M96 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faCommentAltDots = faMessageDots;\nvar faMessaging = faMessageDots;\nvar faFileHeart = {\n prefix: 'fad',\n iconName: 'file-heart',\n icon: [384, 512, [], \"e176\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM80 301.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9C107.4 240 80 267.4 80 301.3z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zM80 301.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 344.6C86.5 333.1 80 317.5 80 301.3z\"]]\n};\nvar faBeerMug = {\n prefix: 'fad',\n iconName: 'beer-mug',\n icon: [512, 512, [\"beer-foam\"], \"e0b3\", [\"M32 163.2V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64v-2.3l82.4-36.6c27.7-12.3 45.6-39.8 45.6-70.2V236.8c0-42.4-34.4-76.8-76.8-76.8H389.1c-15.2 10.1-33.5 16-53.1 16c-18.7 0-36.2-5.4-51-14.7c-20 19-47.2 30.7-77 30.7s-57-11.7-77-30.7C116.2 170.6 98.7 176 80 176c-17.5 0-33.9-4.7-48-12.8zM295.5 64c-5.5 1.1-10.9 1.4-15.8 1c-2.4-.2-4.9-.5-7.5-1H143.8c-2.6 .5-5.1 .9-7.5 1c-5 .4-10.4 .1-15.8-1H96c-18.9 0-35.9 8.2-47.6 21.2C50.9 100.4 64.1 112 80 112c7.3 0 14-2.4 19.3-6.5c11.6-8.8 25.4-11.4 37-10.5c11.6 .8 25.5 5.4 35.9 17c8.8 9.9 21.6 16 35.8 16s27-6.1 35.8-16c10.3-11.6 24.3-16.2 35.9-17c11.6-.8 25.4 1.7 37 10.5c5.4 4.1 12 6.5 19.3 6.5c15.9 0 29.1-11.6 31.6-26.8C355.9 72.2 338.9 64 320 64H295.5zM384 224h51.2c7.1 0 12.8 5.7 12.8 12.8V338.9c0 5.1-3 9.6-7.6 11.7L384 375.6V224zm-240 0c8.8 0 16 7.2 16 16V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\", \"M267.7 133.3c6.9-7.7 21.4-8.6 29.6-2.3c10.8 8.2 24.2 13 38.7 13c35.3 0 64-28.7 64-64s-28.7-64-64-64c-14.6 0-28 4.9-38.7 13c-8.2 6.3-22.7 5.4-29.6-2.3C253 10.3 231.7 0 208 0s-45 10.3-59.7 26.7c-6.9 7.7-21.4 8.6-29.6 2.3C108 20.9 94.6 16 80 16C44.7 16 16 44.7 16 80s28.7 64 64 64c14.6 0 28-4.9 38.7-13c8.2-6.3 22.7-5.4 29.6 2.3C163 149.7 184.3 160 208 160s45-10.3 59.7-26.7zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]]\n};\nvar faBeerFoam = faBeerMug;\nvar faDiceD20 = {\n prefix: 'fad',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", [\"M47.9 98.8L189.9 1.4c1.4-.9 3-1.4 4.6-1.4c6.2 0 10.1 6.7 7.1 12.1L124.1 151.7c-4.4 7.9-14.5 10.6-22.2 5.9L48.7 125.8c-10-6-10.4-20.3-.8-26.9zM317.5 0c1.6 0 3.3 .5 4.6 1.4L464.1 98.8c9.6 6.6 9.2 20.9-.8 26.9l-53.2 31.9c-7.8 4.7-17.8 2-22.2-5.9L310.4 12.1c-3-5.4 .9-12.1 7.1-12.1zm20.1 176H174.4c-12.2 0-19.9-13.1-14-23.8l80-144c2.8-5.1 8.2-8.2 14-8.2h3.2c5.8 0 11.2 3.2 14 8.2l80 144c5.9 10.7-1.8 23.8-14 23.8z\", \"M40.2 158C29.6 151.6 16 159.3 16 171.7V295.3c0 8 10.4 11 14.7 4.4l60-92c5-7.6 2.6-17.8-5.2-22.5L40.2 158zm431.5 0l-45.3 27.2c-7.8 4.7-10.1 14.9-5.2 22.5l60 92c4.3 6.7 14.7 3.6 14.7-4.4V171.7c0-12.4-13.6-20.1-24.2-13.7zM464 433.1c0-9.3-8.1-16.5-17.3-15.4L286.1 436.6c-8.1 .9-14.1 7.8-14.1 15.9v52.8c0 3.7 3 6.8 6.8 6.8c.8 0 1.6-.1 2.4-.4l172.7-64c6.1-2.2 10.1-8 10.1-14.5zM240 505.2V452.6c0-8.1-6.1-14.9-14.1-15.9l-160.6-19c-9.2-1.1-17.3 6.1-17.3 15.4c0 6.5 4 12.3 10.1 14.5l172.7 64c.8 .3 1.6 .4 2.4 .4c3.7 0 6.8-3 6.8-6.8zM30.2 358.2c-6.5 9.9-.3 23.3 11.5 24.7l170.9 20.2c7.8 .9 13.4-7.5 9.5-14.3l-85.7-150c-5.9-10.4-20.7-10.8-27.3-.8L30.2 358.2zm439.5 24.5c11.8-1.4 18-14.7 11.5-24.6L402.9 238.1c-6.5-10-21.4-9.6-27.3 .8L290.2 388.5c-3.9 6.8 1.6 15.2 9.5 14.3l170.1-20zm-222-13.6c3.7 6.4 13 6.4 16.7 0l78.4-137.2c6.1-10.7-1.6-23.9-13.9-23.9H183.1c-12.3 0-20 13.3-13.9 23.9l78.4 137.2z\"]]\n};\nvar faDrone = {\n prefix: 'fad',\n iconName: 'drone',\n icon: [512, 512, [], \"f85f\", [\"M213.3 159.9c6.9-14.5 10.7-30.8 10.7-47.9C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c17.2 0 33.4-3.9 47.9-10.7l-29.9-39.8c-5.7 1.7-11.8 2.6-18.1 2.6c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64c0 6.3-.9 12.3-2.6 18.1l39.8 29.9zm138.8 53.3c14.5 6.9 30.8 10.7 47.9 10.7c61.9 0 112-50.1 112-112S461.9 0 400 0S288 50.1 288 112c0 17.2 3.9 33.4 10.7 47.9l39.8-29.9c-1.7-5.7-2.6-11.8-2.6-18.1c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-6.3 0-12.3-.9-18.1-2.6l-29.9 39.8zM298.7 352.1C291.9 366.6 288 382.8 288 400c0 61.9 50.1 112 112 112s112-50.1 112-112s-50.1-112-112-112c-17.2 0-33.4 3.9-47.9 10.7l29.9 39.8c5.7-1.7 11.8-2.6 18.1-2.6c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-6.3 .9-12.3 2.6-18.1l-39.8-29.9zM159.9 298.7C145.4 291.9 129.2 288 112 288C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-17.2-3.9-33.4-10.7-47.9l-39.8 29.9c1.7 5.7 2.6 11.8 2.6 18.1c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c6.3 0 12.3 .9 18.1 2.6l29.9-39.8z\", \"M80 112c0 16.2 12.1 29.7 27.8 31.7L160 213.3v85.3l-52.2 69.6C92.1 370.3 80 383.8 80 400c0 17.7 14.3 32 32 32c16.2 0 29.7-12.1 31.7-27.8L213.3 352h85.3l69.6 52.2c2.1 15.7 15.5 27.8 31.7 27.8c17.7 0 32-14.3 32-32c0-16.2-12.1-29.7-27.8-31.7L352 298.7V213.3l52.2-69.6c15.7-2.1 27.8-15.5 27.8-31.7c0-17.7-14.3-32-32-32c-16.2 0-29.7 12.1-31.7 27.8L298.7 160H213.3l-69.6-52.2C141.7 92.1 128.2 80 112 80c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faTruckDroplet = {\n prefix: 'fad',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", [\"M280 190c0 36.5-32.2 66-72 66s-72-29.6-72-66c0-27 39.4-82.9 59.9-110.3c6.1-8.2 18.1-8.2 24.2 0C240.6 107 280 163 280 190zM96 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm368-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576h-1.1c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zm-208 0c39.8 0 72-29.6 72-66c0-27-39.4-82.9-59.9-110.3c-6.1-8.2-18.1-8.2-24.2 0C175.4 107 136 163 136 190c0 36.5 32.2 66 72 66z\"]]\n};\nvar faFileCircleXmark = {\n prefix: 'fad',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm48 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faTemperatureArrowUp = {\n prefix: 'fad',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", [\"M176 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C102.2 332.6 96 349.5 96 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM64 112C64 50.2 114.1 0 176 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S32 447.5 32 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M480 160h32c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V160zM224 368c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48z\"]]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'fad',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", [\"M124.6 218.9L4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0H133.9c11.2 0 21.7 5.9 27.4 15.5L248 160l-.4 .2c-48.9 2.3-92.5 24.5-123 58.7zm262.8 0c-30.5-34.2-74.2-56.4-123-58.7l-.4-.2L350.7 15.5C356.5 5.9 366.9 0 378.1 0H487.4C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6L387.4 218.9z\", \"M256 512a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm30.8-225.5c1.4 2.8 4 4.7 7 5.1l50.1 7.3c7.7 1.1 10.7 10.5 5.2 16l-36.3 35.4c-2.2 2.2-3.2 5.2-2.7 8.3l8.6 49.9c1.3 7.6-6.7 13.5-13.6 9.9l-44.8-23.6c-2.7-1.4-6-1.4-8.7 0l-44.8 23.6c-6.9 3.6-14.9-2.2-13.6-9.9l8.6-49.9c.5-3-.5-6.1-2.7-8.3l-36.3-35.4c-5.6-5.4-2.5-14.8 5.2-16l50.1-7.3c3-.4 5.7-2.4 7-5.1l22.4-45.4c3.4-7 13.3-7 16.8 0l22.4 45.4z\"]]\n};\nvar faBed = {\n prefix: 'fad',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", [\"M176 128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm112 32c0-17.7 14.3-32 32-32H544c53 0 96 43 96 96v64 32H608 320 288V288 160z\", \"M32 32c17.7 0 32 14.3 32 32V320H608h32v32 96c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32z\"]]\n};\nvar faBookCopy = {\n prefix: 'fad',\n iconName: 'book-copy',\n icon: [576, 512, [], \"e0be\", [\"M160 96H96C43 96 0 139 0 192V416c0 53 43 96 96 96H320h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H320 272 96c-17.7 0-32-14.3-32-32s14.3-32 32-32h74.8c-6.9-14.5-10.8-30.8-10.8-48V96z\", \"M288 0c-53 0-96 43-96 96V320c0 53 43 96 96 96H512h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V288c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H512 288zm0 288H480v64H288c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faSquareH = {\n prefix: 'fad',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM336 152V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M312 128c13.3 0 24 10.7 24 24l0 104V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80 128 0 0-80c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHSquare = faSquareH;\nvar faSquareC = {\n prefix: 'fad',\n iconName: 'square-c',\n icon: [448, 512, [], \"e266\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM167.4 199.4c-31.2 31.2-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0z\", \"M280.6 199.4c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]]\n};\nvar faClockTwo = {\n prefix: 'fad',\n iconName: 'clock-two',\n icon: [512, 512, [], \"e35a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392v91.2L338.7 172c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3l-96 64c-7.4 4.9-16.8 5.4-24.6 1.2S232 264.9 232 256V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24v91.2L338.7 172c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3l-96 64c-7.4 4.9-16.8 5.4-24.6 1.2S232 264.9 232 256V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faSquareEllipsisVertical = {\n prefix: 'fad',\n iconName: 'square-ellipsis-vertical',\n icon: [448, 512, [], \"e26f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M192 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faCalendarUsers = {\n prefix: 'fad',\n iconName: 'calendar-users',\n icon: [640, 512, [], \"e5e2\", [\"M192 32V64H144c-26.5 0-48 21.5-48 48v48h32H512h32V112c0-26.5-21.5-48-48-48H448V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H256V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zm55.4 480H392.6c-5.4-9.4-8.6-20.3-8.6-32c0-43.8 29.4-80.8 69.6-92.3c-23-20.5-37.6-50.4-37.6-83.7c0-56.4 41.7-103.1 96-110.9V192H128v1.1c54.3 7.8 96 54.4 96 110.9c0 33.3-14.5 63.2-37.6 83.7C226.6 399.2 256 436.2 256 480c0 11.7-3.1 22.6-8.6 32z\", \"M32 304a80 80 0 1 1 160 0A80 80 0 1 1 32 304zM0 480c0-35.3 28.7-64 64-64h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 304a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM416 480c0-35.3 28.7-64 64-64h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faPodcast = {\n prefix: 'fad',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", [\"M319.4 372c48.5-31.3 80.6-85.9 80.6-148c0-97.2-78.8-176-176-176S48 126.8 48 224c0 62.1 32.1 116.6 80.6 148c1.2 17.3 4 38 7.2 57.1c.1 .3 .1 .6 .2 1C56 395.8 0 316.5 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 92.5-56 171.9-136 206.1c.1-.4 .1-.7 .2-1.1c3.1-19.2 6-39.8 7.2-57zm-2.3-38.1c-1.6-5.7-3.9-11.1-7-16.2c-5.8-9.7-13.5-17-21.9-22.4c19.5-17.6 31.8-43 31.8-71.3c0-53-43-96-96-96s-96 43-96 96c0 28.3 12.3 53.8 31.8 71.3c-8.4 5.4-16.1 12.7-21.9 22.4c-3.1 5.1-5.4 10.5-7 16.2C99.8 307.5 80 268 80 224c0-79.5 64.5-144 144-144s144 64.5 144 144c0 44-19.8 83.5-50.9 109.9z\", \"M224 168a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM160 355.8c0-35.1 31.1-43.8 64-43.8s64 8.6 64 43.8c0 33-12.9 104.1-20.6 132.9c-5.1 19-24.5 23.4-43.4 23.4s-38.2-4.4-43.4-23.4c-7.8-28.5-20.6-99.7-20.6-132.8z\"]]\n};\nvar faBee = {\n prefix: 'fad',\n iconName: 'bee',\n icon: [576, 512, [], \"e0b2\", [\"M208.5 120.9c-22-15.6-50-24.9-80.5-24.9C57.3 96 0 146.1 0 208s57.3 112 128 112c5.8 0 11.5-.3 17.1-1c-.7-5-1.1-10-1.1-15c0-60.3 37-111.9 89.6-133.4c-13.7-12.7-22.9-30.2-25.1-49.7zm133.9 49.7C395 192.1 432 243.7 432 304c0 5-.4 10-1.1 15c5.6 .6 11.3 1 17.1 1c70.7 0 128-50.1 128-112s-57.3-112-128-112c-30.5 0-58.5 9.3-80.5 24.9c-2.2 19.6-11.4 37-25.1 49.7z\", \"M196.7 4.7c6.2-6.2 16.4-6.2 22.6 0l34.8 34.8C264.4 34.7 275.9 32 288 32s23.6 2.7 33.9 7.5L356.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L347.8 58.8C360.4 73 368 91.6 368 112c0 23.2-9.8 44-25.6 58.6c37.9 15.5 67.7 46.6 81.4 85.4H152.2c13.7-38.8 43.5-69.9 81.4-85.4C217.8 156 208 135.2 208 112c0-20.4 7.6-39 20.2-53.2L196.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zM144 304c0-5.4 .3-10.7 .9-16H431.1c.6 5.3 .9 10.6 .9 16c0 10.5-1.6 21.3-4.6 32H148.6c-2.9-10.7-4.6-21.5-4.6-32zm45.9 112c-11.1-15.2-21.3-31.4-29.2-48H415.3c-8 16.6-18.1 32.8-29.2 48H189.9zm84 90.8c-10.8-9.4-34.3-30.9-58.5-58.8H360.6c-24.2 27.9-47.8 49.4-58.5 58.8c-3.9 3.4-8.9 5.2-14.1 5.2s-10.2-1.8-14.1-5.2z\"]]\n};\nvar faTemperatureFull = {\n prefix: 'fad',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", [\"M160 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M176 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112z\"]]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'fad',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", [\"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32z\", \"M288 448c0 17-6.7 33.3-18.7 45.3s-28.3 18.7-45.3 18.7s-33.3-6.7-45.3-18.7s-18.7-28.3-18.7-45.3l64 0h64z\"]]\n};\nvar faCandyBar = {\n prefix: 'fad',\n iconName: 'candy-bar',\n icon: [640, 512, [127851, \"chocolate-bar\"], \"e3e8\", [\"M288 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H288V64z\", \"M0 224v96H128V224H0zM0 352v32c0 35.3 28.7 64 64 64h64V352H0zm160 96H288V352H160v96zM288 320V224H160v96H288zm0-128V64H160V192H288zM44.2 192H96v0h32V160h0V108.2c0-7.1-9-11.1-15-7.4C101 107.9 87 112 72 112c-4 0-7.9-.3-11.7-.9c-7-1-14.2 6.2-13.1 13.1c.6 3.8 .9 7.7 .9 11.7c0 15-4.1 29-11.3 41c-3.6 6.1 .4 15 7.4 15z\"]]\n};\nvar faChocolateBar = faCandyBar;\nvar faXmarkLarge = {\n prefix: 'fad',\n iconName: 'xmark-large',\n icon: [448, 512, [], \"e59b\", [\"M393.4 41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 256 438.6 425.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 301.3 54.6 470.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0L224 210.7 393.4 41.4z\", \"\"]]\n};\nvar faPinata = {\n prefix: 'fad',\n iconName: 'pinata',\n icon: [512, 512, [], \"e3c3\", [\"M400 435.2V400H224v35.2l-7.4 4.9c-9.6 6.4-21.8 7.1-32.1 2L168 433.9l-17.7 8.8c-9 4.5-19.6 4.5-28.6 0l-9.7-4.8V402.1l24 12 17.7-8.8c9-4.5 19.6-4.5 28.6 0l16.5 8.3 16.3-10.9c2.6-1.8 5.7-2.7 8.9-2.7H400c3.2 0 6.2 .9 8.9 2.7l16.3 10.9 16.5-8.3c9-4.5 19.6-4.5 28.6 0l17.7 8.8 24-12v35.8l-9.7 4.8c-9 4.5-19.6 4.5-28.6 0L456 433.9l-16.5 8.3c-10.3 5.1-22.5 4.4-32.1-2l-7.4-4.9zM512 317.2v34.5l-11.4 4.6c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-2.4-1.2V318.1l16.7 8.4 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 23.3-9.3zM240 198.1V224h19.8l-76.8 38.4c-14.1 7-30.5 7.8-45.1 2.2L112 254.7V224L38.8 192.6c-1.5-.6-2.9-1.3-4.3-2.1l114.8 44.2c6.3 2.4 13.3 2.1 19.3-.9L240 198.1z\", \"M112 318.1V254.7l25.8 9.9c14.7 5.6 31.1 4.9 45.1-2.2L259.8 224H288 432c44.2 0 80 35.8 80 80v13.2l-23.3 9.3-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7L112 318.1zm0 35.8l2.4 1.2c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l11.4-4.6v50.5l-24 12-17.7-8.8c-9-4.5-19.6-4.5-28.6 0l-16.5 8.3-16.3-10.8c-2.6-1.8-5.7-2.7-8.9-2.7H224c-3.2 0-6.2 .9-8.9 2.7l-16.3 10.8-16.5-8.3c-9-4.5-19.6-4.5-28.6 0L136 414.1l-24-12V353.9zm37.3-119.2L34.4 190.6C13.4 179.6 0 157.8 0 133.8V128C0 92.7 28.7 64 64 64H176V32c0-17.7 14.3-32 32-32s32 14.3 32 32V198.1l-71.4 35.7c-6 3-13.1 3.4-19.3 .9zM112 437.9l9.7 4.8c9 4.5 19.6 4.5 28.6 0l17.7-8.8 16.5 8.3c10.3 5.1 22.5 4.4 32.1-2l7.4-4.9V480c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V437.9zm288-2.7l7.4 4.9c9.6 6.4 21.8 7.1 32.1 2l16.5-8.3 17.7 8.8c9 4.5 19.6 4.5 28.6 0l9.7-4.8V480c0 17.7-14.3 32-32 32H432c-17.7 0-32-14.3-32-32V435.2zM200 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faArrowsFromLine = {\n prefix: 'fad',\n iconName: 'arrows-from-line',\n icon: [448, 512, [], \"e0a4\", [\"M0 256c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 224c-17.7 0-32 14.3-32 32z\", \"M201.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H256v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l64-64zM192 384V352c0-17.7 14.3-32 32-32s32 14.3 32 32v32h32c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8h32z\"]]\n};\nvar faSuperscript = {\n prefix: 'fad',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", [\"M0 96C0 78.3 14.3 64 32 64H64c10.4 0 20.2 5.1 26.2 13.6L176 200.2 261.8 77.6c6-8.6 15.8-13.6 26.2-13.6h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H304.7L215.1 256l89.6 128H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H288c-10.4 0-20.2-5.1-26.2-13.6L176 311.8 90.2 434.4C84.2 442.9 74.4 448 64 448H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H47.3l89.6-128L47.3 128H32C14.3 128 0 113.7 0 96z\", \"M464.8 4.8C474.3 10.6 480 20.9 480 32V160c17.7 0 32 14.3 32 32s-14.3 32-32 32H448 416c-17.7 0-32-14.3-32-32s14.3-32 32-32V80c-11.7 0-23-6.5-28.6-17.7c-7.9-15.8-1.5-35 14.3-42.9l32-16c9.9-5 21.7-4.4 31.1 1.4z\"]]\n};\nvar faBowlSpoon = {\n prefix: 'fad',\n iconName: 'bowl-spoon',\n icon: [512, 512, [129379], \"e3e0\", [\"M217.6 128c-15.4 37.3-56.9 64-105.6 64C50.1 192 0 149 0 96S50.1 0 112 0c48.8 0 90.3 26.7 105.6 64H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H217.6z\", \"M33.6 224C15.4 224 .9 239.3 2 257.5c5.4 91.7 59.7 169.7 136.4 209.7l1.2 9.7c2.5 20 19.5 35 39.7 35H332.7c20.2 0 37.2-15 39.7-35l1.2-9.7c76.8-40 131-118 136.4-209.7c1.1-18.2-13.4-33.5-31.6-33.5H33.6z\"]]\n};\nvar faHexagonCheck = {\n prefix: 'fad',\n iconName: 'hexagon-check',\n icon: [512, 512, [], \"e416\", [\"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\", \"M369 175c9.4 9.4 9.4 24.6 0 33.9L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faPlugCircleXmark = {\n prefix: 'fad',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", [\"M128 32v96H64V32C64 14.3 78.3 0 96 0s32 14.3 32 32zm192 0v96H256V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32c0 2.3-.3 4.6-.7 6.8C309.8 220 256 287.7 256 368c0 11.4 1.1 22.5 3.1 33.3c-11.1 5.1-22.9 9-35.1 11.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faStarOfLife = {\n prefix: 'fad',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", [\"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V172.9l122-70.4c15.3-8.8 34.9-3.6 43.7 11.7l16 27.7c8.8 15.3 3.6 34.9-11.7 43.7L352 256l122 70.4c15.3 8.8 20.5 28.4 11.7 43.7l-16 27.7c-8.8 15.3-28.4 20.6-43.7 11.7L304 339.1V480c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V339.1L86 409.6c-15.3 8.8-34.9 3.6-43.7-11.7l-16-27.7c-8.8-15.3-3.6-34.9 11.7-43.7L160 256 38 185.6c-15.3-8.8-20.5-28.4-11.7-43.7l16-27.7C51.1 98.8 70.7 93.6 86 102.4l122 70.4V32z\", \"\"]]\n};\nvar faPhoneSlash = {\n prefix: 'fad',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", [\"M325.7 343.7l-91.3 72C310.7 476 407.1 512 512 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368c-15-7.1-29.3-15.2-43-24.3zM64 64c0 107.4 37.8 206 100.8 283.1L253 278c-17.8-21.5-32.9-45.2-45-70.7L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64z\", \"M634.9 9.2c-8.2-10.4-23.3-12.3-33.7-4.1l-592 464c-10.4 8.2-12.3 23.3-4.1 33.7s23.3 12.3 33.7 4.1l592-464c10.4-8.2 12.3-23.3 4.1-33.7z\"]]\n};\nvar faTrafficLightStop = {\n prefix: 'fad',\n iconName: 'traffic-light-stop',\n icon: [320, 512, [], \"f63a\", [\"M160 64a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]]\n};\nvar faPaintRoller = {\n prefix: 'fad',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", [\"M512 160c0-53-43-96-96-96v64c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H272c-44.2 0-80 35.8-80 80v16c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V304c0-8.8 7.2-16 16-16H416c53 0 96-43 96-96V160z\", \"M64 0C28.7 0 0 28.7 0 64v64c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faAccentGrave = {\n prefix: 'fad',\n iconName: 'accent-grave',\n icon: [192, 512, [], \"60\", [\"M108.3 204.8L41.2 95c-6-9.8-9.2-21.2-9.2-32.7C32 28.1 59.7 0 93.9 0c29.2 0 54.4 20.4 60.6 49l27.1 126.6C187 200.5 168 224 142.5 224c-14 0-26.9-7.3-34.2-19.2z\", \"\"]]\n};\nvar faHandshakeAngle = {\n prefix: 'fad',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", [\"M534.6 260.7c-6 6-14.1 9.4-22.6 9.4h-4.5c2.9-6.8 4.5-14.2 4.5-22.1c0-30.9-25.1-56-56-56H320v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V137.1 128h.6c4.5-36.1 35.3-64 72.6-64H416l.8 0 39.6-39.6c21.9-21.9 57.3-21.9 79.2 0l78.1 78.1c21.9 21.9 21.9 57.3 0 79.2l-79 79z\", \"M218.2 128c-38.4 0-73.1 22.9-88.2 58.2L101 253.7 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1H384c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16H432c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.8-5 45.2-27.7 45.2-55c0-30.9-25.1-56-56-56H320v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V128h-5.8z\"]]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faCircle0 = {\n prefix: 'fad',\n iconName: 'circle-0',\n icon: [512, 512, [], \"e0ed\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-48 96v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48s-48 21.5-48 48z\", \"M160 224c0-53 43-96 96-96s96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224zm96-48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48z\"]]\n};\nvar faDialMedLow = {\n prefix: 'fad',\n iconName: 'dial-med-low',\n icon: [576, 512, [], \"e160\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M158.9 192.4c-46.2 62.6-41 151.3 15.7 208c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-56.7-56.7-145.4-62-208-15.7L304.7 270.4c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L158.9 192.4z\"]]\n};\nvar faLocationDot = {\n prefix: 'fad',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 112a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M192 144a48 48 0 1 0 0 96 48 48 0 1 0 0-96z\"]]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faCrab = {\n prefix: 'fad',\n iconName: 'crab',\n icon: [512, 512, [129408], \"e3ff\", [\"M208 128c-8.8 0-16 7.2-16 16v49c5.2-.7 10.6-1 16-1h16V144c0-8.8-7.2-16-16-16zM89.3 272H51.8L23.2 257.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l32 16c2.2 1.1 4.7 1.7 7.2 1.7H81c1.4-11.2 4.2-21.9 8.3-32zM80 329.8l-21.1 7c-2.4 .8-4.5 2.1-6.3 3.9l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L72.6 366l28-9.3L80 336v-6.2zm51.4 57.5L90.9 400.8c-2.4 .8-4.5 2.1-6.3 3.9l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L104.6 430l52-17.3-25.3-25.3zm41 41l-36.6 21.9c-4.8 2.9-7.8 8.1-7.8 13.7v32c0 8.8 7.2 16 16 16s16-7.2 16-16V473.1L201.8 448H192l-19.7-19.7zM310.2 448L352 473.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16V464c0-5.6-3-10.8-7.8-13.7l-36.6-21.9L320 448h-9.8zm45.1-35.4l52 17.3 29.3 29.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32c-1.8-1.8-3.9-3.1-6.3-3.9l-40.4-13.5-25.3 25.3zm56-56l28 9.3 29.3 29.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32c-1.8-1.8-3.9-3.1-6.3-3.9l-21.1-7V336l-20.6 20.6zM431 304h33c2.5 0 4.9-.6 7.2-1.7l32-16c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L460.2 272H422.7c4.1 10.1 6.9 20.8 8.3 32zM320 193V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h16c5.4 0 10.8 .3 16 1z\", \"M128 0C60 0 4.4 53 .2 120c0 .2 0 .3 0 .5L0 128H7.9l.1 0H0v33.3c0 28.1 16.3 53.6 41.8 65.4L98.9 253C86.9 272.5 80 295.4 80 320v16L192 448H320L432 336V320c0-24.6-6.9-47.5-18.9-67l57.1-26.3c25.5-11.8 41.8-37.3 41.8-65.4V128h-8c0 0 .1 0 .1 0H512l-.2-7.5c0-.1 0-.3 0-.4l0 0 0 0C507.6 53 452 0 384 0H339.3c-7.1 0-10.7 8.6-5.7 13.7l36.7 36.7c5 5 1.5 13.7-5.7 13.7H328c-4.4 0-8.1 3.6-7.5 8c3.9 31.6 30.9 56 63.5 56h80v33.3c0 9.4-5.4 17.9-13.9 21.8L378.7 216c-21-15.1-46.8-24-74.7-24H208c-27.9 0-53.7 8.9-74.7 24L61.9 183.1C53.4 179.2 48 170.6 48 161.3V128h80c32.6 0 59.6-24.4 63.5-56c.5-4.4-3.1-8-7.5-8H147.3c-7.1 0-10.7-8.6-5.7-13.7l36.7-36.7c5-5 1.5-13.7-5.7-13.7H128z\"]]\n};\nvar faBoxOpenFull = {\n prefix: 'fad',\n iconName: 'box-open-full',\n icon: [640, 512, [\"box-full\"], \"f49c\", [\"M17.2 253.5c-9 17.9 .6 39.6 19.8 45.1l163.3 46.7c13.9 4 28.8-1.9 36.2-14.3L320 192 75.2 161.4c-6.7-.8-13.3 2.7-16.3 8.7L17.2 253.5zm605.5 0l-41.7-83.4c-3-6.1-9.6-9.6-16.3-8.7L320 192l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l163.3-46.7c19.3-5.5 28.8-27.2 19.8-45.1z\", \"M480.9 3.1c24.8 9.3 37.4 37 28.1 61.8l-27.5 73.4L320 158.5l-7.2-.9c4.6-8.8 7.2-18.9 7.2-29.6c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.1 .6 10 1.7 14.7l-65.5-8.2c-.1-2.2-.2-4.3-.2-6.5C128 57.3 185.3 0 256 0c69.6 0 126.2 55.6 128 124.7l35.1-93.6c9.3-24.8 37-37.4 61.8-28.1zM236.6 331L320 192l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l136.4-39V410.5c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.5-20.9 2.5-31 0l-204.1-51C79 451.7 64 432.5 64 410.5V306.3l136.4 39c13.9 4 28.8-1.9 36.2-14.3z\"]]\n};\nvar faBoxFull = faBoxOpenFull;\nvar faFile = {\n prefix: 'fad',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64z\", \"M224 0L384 160H256c-17.7 0-32-14.3-32-32V0z\"]]\n};\nvar faGreaterThan = {\n prefix: 'fad',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", [\"M3.4 81.7c-7.9 15.8-1.5 35 14.3 42.9L280.5 256 17.7 387.4C1.9 395.3-4.5 414.5 3.4 430.3s27.1 22.2 42.9 14.3l320-160c10.8-5.4 17.7-16.5 17.7-28.6s-6.8-23.2-17.7-28.6l-320-160c-15.8-7.9-35-1.5-42.9 14.3z\", \"\"]]\n};\nvar faQuotes = {\n prefix: 'fad',\n iconName: 'quotes',\n icon: [576, 512, [], \"e234\", [\"M256 320c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48l0 24 0 24v56c0 48.6-39.4 88-88 88h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c13.3 0 24-10.7 24-24v-8H304c-26.5 0-48-21.5-48-48V320zM488 512h-8c-17.7 0-32-14.3-32-32s14.3-32 32-32h8c13.3 0 24-10.7 24-24v-8H480c-26.5 0-48-21.5-48-48V320c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48v24 24 56c0 48.6-39.4 88-88 88z\", \"M88 0C39.4 0 0 39.4 0 88v56 24 24c0 26.5 21.5 48 48 48H96c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H64V88c0-13.3 10.7-24 24-24h8c17.7 0 32-14.3 32-32s-14.3-32-32-32H88zM264 0c-48.6 0-88 39.4-88 88v56 24 24c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H240V88c0-13.3 10.7-24 24-24h8c17.7 0 32-14.3 32-32s-14.3-32-32-32h-8z\"]]\n};\nvar faPretzel = {\n prefix: 'fad',\n iconName: 'pretzel',\n icon: [512, 512, [129384], \"e441\", [\"M0 170.6C0 94.1 62.1 32 138.6 32H148c42.6 0 81 18 108 46.8C283 50 321.4 32 364 32h9.4C449.9 32 512 94.1 512 170.6c0 82.7-40.9 155.9-103.7 200.4l32.4 46c12.7 18.1 8.4 43-9.7 55.7s-43 8.4-55.7-9.7l-40-56.8c-21.8 6.4-44.9 9.8-68.7 9.8H256 245.4c-23.9 0-46.9-3.4-68.7-9.8l-40 56.8C124 481.1 99 485.4 81 472.7S58.6 435 71.3 417l32.4-46C40.9 326.5 0 253.3 0 170.6zM148 112h-9.4C106.2 112 80 138.2 80 170.6c0 55.7 27.5 105 69.7 134.9l52.5-74.7c8.9-12.7 13.7-27.9 13.7-43.4V180c0-37.6-30.4-68-68-68zm78.8 223c6.1 .7 12.3 1 18.6 1H256h10.6c6.3 0 12.5-.3 18.6-1L256 293.5 226.8 335zm135.5-29.4c42.2-30 69.7-79.2 69.7-134.9c0-32.4-26.2-58.6-58.6-58.6H364c-37.6 0-68 30.4-68 68v7.4c0 15.5 4.8 30.7 13.7 43.4l52.5 74.7zM112 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM448 304a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM176 384a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM288 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM400 448a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM64 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm400-80a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M112 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM432 288a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM176 352a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM48 192a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM464 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM272 128a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM400 416a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]]\n};\nvar faPersonSwimming = {\n prefix: 'fad',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", [\"M269.5 325.9c11.1-7.9 25.9-7.9 37 0C329 341.4 356.5 352 384 352c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 405.7 417 416 384 416c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 341.2 165.1 352 192 352c27.5 0 55-10.6 77.5-26.1z\", \"M447.9 297.1L309.5 178.4C331.7 166.6 357.1 160 384 160h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H384c-121.8 0-220.9 97.2-223.9 218.2c10.8 4 21.8 6.2 31.9 6.2c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c1.6-1.1 3.1-2.1 4.8-3zM96 224A64 64 0 1 0 96 96a64 64 0 1 0 0 128z\"]]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'fad',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", [\"M160 370.7V64c0-17.7 14.3-32 32-32s32 14.3 32 32V370.7l-32 32-32-32z\", \"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7 54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"]]\n};\nvar faUserRobotXmarks = {\n prefix: 'fad',\n iconName: 'user-robot-xmarks',\n icon: [448, 512, [], \"e4a7\", [\"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64h32V16zM64 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H80V128H64zM176 464c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h32V464zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h32V464zm48-16c-8.8 0-16 7.2-16 16v48h32V464c0-8.8-7.2-16-16-16zM416 160c0-17.7-14.3-32-32-32H368V256h16c17.7 0 32-14.3 32-32V160z\", \"M80 128c0-35.3 28.7-64 64-64H304c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H144c-35.3 0-64-28.7-64-64V128zm64 128a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm80-16a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48 16a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zM136.5 119.5c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17L143 160l-23.5 23.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L160 177l23.5 23.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L177 160l23.5-23.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L160 143l-23.5-23.5zm111 0c-4.7 4.7-4.7 12.3 0 17L271 160l-23.5 23.5c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0L288 177l23.5 23.5c4.7 4.7 12.3 4.7 17 0s4.7-12.3 0-17L305 160l23.5-23.5c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0L288 143l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0zM0 448c0-53 43-96 96-96H352c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32H352V448c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32-14.3-32-32V448z\"]]\n};\nvar faMessageQuote = {\n prefix: 'fad',\n iconName: 'message-quote',\n icon: [512, 512, [\"comment-alt-quote\"], \"e1e4\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm160 48c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192 168 144c0-17.7-14.3-32-32-32H160zm224 80V168 144c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192z\", \"M128 144c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V224H160c-17.7 0-32-14.3-32-32V144zm256 87.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V224H304c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24 39.3z\"]]\n};\nvar faCommentAltQuote = faMessageQuote;\nvar faCandyCorn = {\n prefix: 'fad',\n iconName: 'candy-corn',\n icon: [640, 512, [], \"f6bd\", [\"M640 56c0-17.2-11-32.5-27.4-37.9C570.4 4.2 524.1 0 480 0c-44 0-90 4.4-132.2 17.9C331.4 23.4 320 38.8 320 56c0 14.3 3.6 34.7 8.7 56.8C357 105.7 408.8 96 480 96s123 9.7 151.3 16.8C636.4 90.7 640 70.3 640 56zM380.7 278.8c10.3 27 21 52.4 31.2 72.9c13.4 27 32.9 64.3 68.1 64.3s54.6-37.3 68.1-64.3c10.2-20.6 20.9-46 31.2-72.9c-26.8-3.8-60.1-6.8-99.3-6.8s-72.5 2.9-99.3 6.8zm-142.9-155c-12.2-12.2-30.8-15.2-46.2-7.5c-39.6 20.1-75.4 49.9-106.6 81C54 228.4 24.5 264 4.3 303.4c-7.7 15.4-4.9 34.4 7.3 46.6c10.1 10.1 27 22 46.3 33.9c15-25 44.8-68.5 95.1-118.8s93.8-80.1 118.8-95.1c-12-19.3-23.8-36.2-33.9-46.3zM212 464.6c26.3 11.8 51.9 22.2 73.6 29.5c28.6 9.6 68.7 22.2 93.6-2.7s12.2-65 2.7-93.6c-7.3-21.8-17.7-47.3-29.5-73.6c-21.6 16.2-47.3 37.7-75 65.4s-49.2 53.3-65.4 75z\", \"M336.4 142.9C365.9 136.1 414.8 128 480 128s114.1 8.1 143.6 14.9c-9 33.1-21 71.2-33.9 107.5c-3.4 9.5-6.9 19-10.4 28.3c-26.8-3.8-60.1-6.8-99.3-6.8s-72.5 2.9-99.3 6.8c-3.5-9.3-7-18.8-10.4-28.3c-12.9-36.3-24.9-74.4-33.9-107.5zM84.6 399.9c16.1-25.7 44.9-66 91-112.1s86.4-74.9 112.1-91c17.1 29.8 35.5 65.2 52 100c4.3 9.2 8.6 18.3 12.7 27.4c-21.6 16.2-47.3 37.7-75 65.4s-49.2 53.3-65.4 75c-9.1-4.1-18.3-8.3-27.4-12.7c-34.8-16.5-70.2-35-100-52z\"]]\n};\nvar faFolderMagnifyingGlass = {\n prefix: 'fad',\n iconName: 'folder-magnifying-glass',\n icon: [512, 512, [\"folder-search\"], \"e18b\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM336 272c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L327 393.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M322.7 320.9c8.5-14.3 13.3-31 13.3-48.9c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L327 393.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3zM192 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]]\n};\nvar faFolderSearch = faFolderMagnifyingGlass;\nvar faNotebook = {\n prefix: 'fad',\n iconName: 'notebook',\n icon: [512, 512, [], \"e201\", [\"M192 0H432c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H192V0z\", \"M112 0C85.5 0 64 21.5 64 48v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v80H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v80H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v56c0 26.5 21.5 48 48 48h80V0H112z\"]]\n};\nvar faDroplet = {\n prefix: 'fad',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", [\"M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\", \"M80 320c8.8 0 16 7.2 16 16c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16z\"]]\n};\nvar faTint = faDroplet;\nvar faBullseyePointer = {\n prefix: 'fad',\n iconName: 'bullseye-pointer',\n icon: [512, 512, [], \"f649\", [\"M448 256c0 106-86 192-192 192c-3.9 0-7.8-.1-11.7-.4l-18.4 62.6c9.9 1.2 19.9 1.8 30.1 1.8c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256c0 10.2 .6 20.2 1.8 30.1l62.6-18.4c-.2-3.9-.4-7.8-.4-11.7C64 150 150 64 256 64s192 86 192 192zm-48 0c0-79.5-64.5-144-144-144c-78.8 0-142.8 63.2-144 141.7L179.1 234c9.6-33.5 40.4-58 76.9-58c44.2 0 80 35.8 80 80c0 36.5-24.5 67.4-58 76.9l-19.7 67C336.8 398.8 400 334.8 400 256z\", \"M243.9 248.3L39 308.5c-13.9 4.1-15.6 23.2-2.6 29.7l57.3 28.7c1.3 .7 2.6 1.5 3.7 2.5l-88 88c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l88-88c1 1.1 1.9 2.3 2.5 3.7l28.7 57.3c6.5 13 25.6 11.3 29.7-2.6l60.2-204.8c3.6-12.1-7.7-23.4-19.9-19.9z\"]]\n};\nvar faEraser = {\n prefix: 'fad',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", [\"M409.9 393.9l-45.3-45.3L297.4 416H288l-105.4 0-80-80L227.3 211.3l-45.3-45.3L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7H288h9.4H512c17.7 0 32-14.3 32-32s-14.3-32-32-32H387.9l22.1-22.1z\", \"M409.9 393.9L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0L182.1 166.1l45.3 45.3L364.7 348.7l45.3 45.3z\"]]\n};\nvar faHexagonImage = {\n prefix: 'fad',\n iconName: 'hexagon-image',\n icon: [512, 512, [], \"e504\", [\"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220zm141.2 59.8c4.5-4.9 10.8-7.7 17.4-7.8s13 2.6 17.6 7.4L232.2 320l71.6-86.2c4.6-5.5 11.3-8.7 18.5-8.7s13.9 3.2 18.5 8.7l72.6 87.4-55.2 95.7c-2.9 5-8.1 8-13.9 8l-176.6 0c-5.7 0-11-3-13.9-8l-46.8-81 51.2-56.1zM192 120a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\", \"M158.3 279.8l-51.2 56.1 46.8 81c2.9 5 8.1 8 13.9 8l176.6 0c5.7 0 11-3 13.9-8l55.2-95.7-72.6-87.4c-4.6-5.5-11.3-8.7-18.5-8.7s-13.9 3.2-18.5 8.7L232.2 320l-38.9-40.6c-4.6-4.8-11-7.5-17.6-7.4s-13 2.9-17.4 7.8z\"]]\n};\nvar faEarthAmericas = {\n prefix: 'fad',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", [\"M23.9 147.8L67 212.4c8.4 12.6 21.1 21.9 35.7 26L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l16.1-18.8c8.6-10 10.2-24.3 3.9-36L241.4 .4c4.8-.3 9.7-.4 14.6-.4c97.3 0 182 54.3 225.3 134.3l-70.2 30.1c-15.3 6.6-23 23.7-17.8 39.5l17.6 52.9c3.2 9.6 10.7 17.1 20.2 20.2l76.6 25.5C485.9 421.7 381.5 512 256 512C114.6 512 0 397.4 0 256c0-38.6 8.6-75.3 23.9-108.2z\", \"M241.5 .4C145 5.8 62.7 64.7 23.9 147.8L67 212.4c8.4 12.6 21.1 21.9 35.7 26L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v39c0 15.6 14.9 26.9 29.9 22.6c16.1-4.6 28.6-17.5 32.7-33.8l2.8-11.2c4.2-16.9 15.2-31.4 30.3-40l8.1-4.6c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l16.1-18.8c8.6-10 10.2-24.3 3.9-36L241.5 .4zM481.3 134.3l-70.2 30.1c-15.3 6.6-23 23.7-17.8 39.5l17.6 52.9c3.2 9.6 10.7 17.1 20.2 20.2l76.6 25.5c2.8-15.1 4.2-30.7 4.2-46.6c0-44-11.1-85.5-30.7-121.7z\"]]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faCrateApple = {\n prefix: 'fad',\n iconName: 'crate-apple',\n icon: [512, 512, [\"apple-crate\"], \"f6b1\", [\"M48 224c-26.5 0-48 21.5-48 48v80H512V272c0-26.5-21.5-48-48-48H48zM512 384H0v80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V384zM64 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM48 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\", \"M160 54.9C160 24.6 184.6 0 214.9 0c5 0 9.1 4.1 9.1 9.1C224 39.4 199.4 64 169.1 64c-5 0-9.1-4.1-9.1-9.1zM32 171.4C32 127.8 52.4 80 96 80c15.6 0 34.1 5.9 47.2 11c10.7 4.2 22.8 4.2 33.5 0c13.1-5.1 31.6-11 47.2-11c43.6 0 64 47.8 64 91.4c0 19-3.1 36.7-8.4 52.6H40.4c-5.4-15.9-8.4-33.6-8.4-52.6zM313 224c4.5-16.4 7-34.1 7-52.6c0-26.1-6-55.1-20.3-78.6c-2.7-4.4-5.7-8.7-9-12.7c15 .6 32.2 6.1 44.6 11c10.7 4.2 22.8 4.2 33.5 0c13.1-5.1 31.6-11 47.2-11c43.6 0 64 47.8 64 91.4c0 19-3.1 36.7-8.4 52.6H313zM406.9 0c5 0 9.1 4.1 9.1 9.1C416 39.4 391.4 64 361.1 64c-5 0-9.1-4.1-9.1-9.1C352 24.6 376.6 0 406.9 0zM48 288a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 160a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faAppleCrate = faCrateApple;\nvar faPersonBurst = {\n prefix: 'fad',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", [\"M176 8c6.6 0 12.4 4 14.9 10.1l29.4 74 76.2-23.1c6.3-1.9 13.1 .2 17.2 5.3s4.6 12.2 1.4 17.9l-39.5 69.1 65.6 45.1c5.4 3.7 8 10.3 6.5 16.7s-6.7 11.2-13.1 12.2l-78.7 12.2 5.6 79.4c.5 6.5-3.1 12.7-9 15.5s-12.9 1.8-17.8-2.6L176 286.1l-58.6 53.9c-4.8 4.4-11.9 5.5-17.8 2.6s-9.5-9-9-15.5l5.6-79.4L17.6 235.4c-6.5-1-11.7-5.9-13.1-12.2s1.1-13 6.5-16.7l65.6-45.1L37 92.2c-3.3-5.7-2.7-12.8 1.4-17.9s10.9-7.2 17.2-5.3l76.2 23.1 29.4-74C163.6 12 169.4 8 176 8z\", \"M432 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9l-28.6 47.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l58.3 97c9.1 15.1 4.2 34.8-10.9 43.9s-34.8 4.2-43.9-10.9L552 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H472z\"]]\n};\nvar faGameBoard = {\n prefix: 'fad',\n iconName: 'game-board',\n icon: [448, 512, [], \"f867\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 96V416H64V96H384z\", \"M64 256l0 80h80V256H64zM384 416l0-80H304v80h80zm-240 0h80V336H144v80 0zM64 96l0 80h80V96H64zm160 80H144v80h80V176zm0 80v80h80V256H224zm160 0V176H304v80h80zM304 96H224v80h80V96z\"]]\n};\nvar faHatChef = {\n prefix: 'fad',\n iconName: 'hat-chef',\n icon: [512, 512, [], \"f86b\", [\"M256 0c-41.9 0-79 20.1-102.4 51.2C137.6 39.1 117.6 32 96 32c-7.1 0-14.4 .8-21.6 2.5C30 44.7-.1 84.3 0 128c0 7.1 .8 14.4 2.5 21.6C16 224 64 320 64 320h74.4L112.2 162.6c-1.5-8.7 4.4-17 13.2-18.4s17 4.4 18.4 13.2L170.9 320H240V160c0-8.8 7.2-16 16-16s16 7.2 16 16V320h69.1l27.1-162.6c1.5-8.7 9.7-14.6 18.4-13.2s14.6 9.7 13.2 18.4L373.6 320H448s48-96 61.5-170.4c1.7-7.2 2.5-14.5 2.5-21.6c0-43.7-30-83.3-74.4-93.5C430.3 32.8 423.1 32 416 32c-21.6 0-41.5 7.1-57.6 19.2C335 20.1 297.9 0 256 0z\", \"M64 320H448V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V320z\"]]\n};\nvar faHandBackPointRight = {\n prefix: 'fad',\n iconName: 'hand-back-point-right',\n icon: [512, 512, [], \"e1a1\", [\"M512 168c0-22.1-17.9-40-40-40l-200 0-7 0-73 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l55.7 0c-1.4-2-3-3.9-4.5-5.8L227.2 71C215 56.4 197 48 178 48L140 48c-38 0-74 16.9-98.3 46.1l-4.5 5.4C13.1 128.3 0 164.5 0 201.9L0 320c0 70.7 57.3 128 128 128l64 0 32 0c26.5 0 48-21.5 48-48c0-12.4-4.7-23.6-12.3-32.1C284.5 366 304 345.3 304 320c0-12.4-4.7-23.6-12.3-32.1C316.5 286 336 265.3 336 240c0-12.3-4.6-23.5-12.2-32L472 208c22.1 0 40-17.9 40-40z\", \"\"]]\n};\nvar faDove = {\n prefix: 'fad',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", [\"M32 176C32 112.1 46.8 65.9 57.9 43c3.4-7.1 10.9-11 18.8-11c11.3 0 20.8 8 24.1 18.8C135 164.2 259.2 202.9 320 208l0-64c0-44.2 35.8-80 80-80h99.7c6.8 0 12.3 5.5 12.3 12.3c0 2.4-.7 4.8-2.1 6.8L480 128V288c0 88.4-71.6 160-160 160H245.6L170 508.5c-2.8 2.3-6.4 3.5-10 3.5C77.3 512 21.7 466.2 3.2 441.6C0 437.4-.9 431.8 .9 426.8s5.8-8.8 10.9-10.2l138.6-37.8C112.1 356.5 32 292.9 32 176zm368-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M209.2 9.3c-16.7 19.3-42.9 60.1-59.4 121.8c-.1 .2-.1 .5-.2 .7C201.9 183.9 276.9 204.4 320 208l0-33.4C282.2 139.4 250.6 90.5 248.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8z\"]]\n};\nvar faSnowflakeDroplets = {\n prefix: 'fad',\n iconName: 'snowflake-droplets',\n icon: [640, 512, [], \"e5c1\", [\"M320 0c17.7 0 32 14.3 32 32V62.1l15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49v70.3l61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.7 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L383.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 21.5 12.6-29.3 57-22.7-13.2 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L352 311.7v70.3l49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V449.9l-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49V311.7l-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L145 395.1l-29.3-57 21.5-12.6-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L256.5 256l-60.9-35.5-67.7 18.1c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8-25.3-14.8c-15.3-8.9-20.4-28.5-11.5-43.8s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L288 200.3V129.9L239 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15V32c0-17.7 14.3-32 32-32z\", \"M54.7 325.7L7.1 418.1C2.4 427.2 0 437.4 0 447.7C0 483 28.7 512 64 512s64-29 64-64.3c0-10.2-2.4-20.4-7.1-29.5L73.3 325.7c-1.8-3.5-5.4-5.7-9.3-5.7s-7.5 2.2-9.3 5.7zm512 0l-47.5 92.4c-4.7 9.1-7.1 19.3-7.1 29.5c0 35.3 28.7 64.3 64 64.3s64-29 64-64.3c0-10.2-2.4-20.4-7.1-29.5l-47.5-92.4c-1.8-3.5-5.4-5.7-9.3-5.7s-7.5 2.2-9.3 5.7z\"]]\n};\nvar faBatteryEmpty = {\n prefix: 'fad',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", [\"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\", \"\"]]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faGrid4 = {\n prefix: 'fad',\n iconName: 'grid-4',\n icon: [448, 512, [], \"e198\", [\"M119.5 48v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H135.5c-8.8 0-16 7.2-16 16zM16 151.5c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H16zm0 238.9c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H16zM135.5 270.9c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H135.5zM238.9 167.5v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16zm16 222.9c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H254.9zM358.4 48v57.6c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H374.4c-8.8 0-16 7.2-16 16zm16 222.9c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H374.4z\", \"M16 32C7.2 32 0 39.2 0 48v57.6c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H16zm0 238.9c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H16zM119.5 167.5v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H135.5c-8.8 0-16 7.2-16 16zm16 222.9c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H135.5zM238.9 48v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16zm16 222.9c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H254.9zM358.4 167.5v57.6c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H374.4c-8.8 0-16 7.2-16 16zm16 222.9c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H374.4z\"]]\n};\nvar faSocks = {\n prefix: 'fad',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", [\"M298.7 8.1C291 3 281.9 0 272 0H176c-26.5 0-48 21.5-48 48V64H288V48c0-14.5 3.9-28.2 10.7-39.9zM128 96v32H288V96H128zm0 64v80c0 20.1-9.5 39.1-25.6 51.2l-64 48C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l21.6-16.2c-9.7-18-15.2-38.7-15.2-60.6c0-40.3 19-78.2 51.2-102.4l64-48c8.1-6 12.8-15.5 12.8-25.6V160H128zM320 64V96H512V64H320zm192 64H320v32H512V128z\", \"M320 128H512V96H320v32zm0 32v80c0 20.1-9.5 39.1-25.6 51.2l-64 48C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96c20.8 0 41-6.7 57.6-19.2l115.2-86.4C493 382.2 512 344.3 512 304V160H320zM512 64V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V64H512zM128 64V96H288V64H128zm160 64H128v32H288V128z\"]]\n};\nvar faFaceSunglasses = {\n prefix: 'fad',\n iconName: 'face-sunglasses',\n icon: [512, 512, [], \"e398\", [\"M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256c0-22.8 3-44.8 8.5-65.8c2.2 1.2 4.8 1.8 7.5 1.8H50.7l6.6 39.9C61.2 255 81.2 272 104.7 272h78.7c23.5 0 43.5-17 47.3-40.1l8-48c.4-2.7 .7-5.3 .7-7.9h33.3c0 2.6 .2 5.2 .7 7.9l8 48c3.9 23.1 23.9 40.1 47.3 40.1h78.7c23.5 0 43.5-17 47.3-40.1l6.6-39.9H496c2.7 0 5.2-.7 7.5-1.8c5.6 21 8.5 43.1 8.5 65.8zM256 0C363.4 0 455.4 66.2 493.4 160H460.6c-6.5-18.4-24.1-32-45.3-32H320.7c-14.4 0-27.1 6.2-35.8 16H227.1c-8.7-9.8-21.4-16-35.8-16H96.7c-21.2 0-38.7 13.6-45.3 32H18.6C56.6 66.2 148.6 0 256 0zM164.1 341.5c-5.8-6.7-15.9-7.4-22.6-1.6s-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 362.2 299.4 384 256 384s-74-21.8-91.9-42.5z\", \"M183.3 272H104.7c-23.5 0-43.5-17-47.3-40.1L50.7 192H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H51.4c6.5-18.4 24.1-32 45.3-32h94.7c14.4 0 27.1 6.2 35.8 16h57.8c8.7-9.8 21.4-16 35.8-16h94.7c21.2 0 38.7 13.6 45.3 32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H461.3l-6.6 39.9C450.8 255 430.8 272 407.3 272H328.7c-23.5 0-43.5-17-47.3-40.1l-8-48c-.4-2.7-.7-5.3-.7-7.9H239.3c0 2.6-.2 5.2-.7 7.9l-8 48C226.8 255 206.8 272 183.3 272z\"]]\n};\nvar faInbox = {\n prefix: 'fad',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", [\"M391 96H121L73 288h51.2c12.1 0 23.2 6.8 28.6 17.7l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7H316.2c12.1 0 23.2-6.8 28.6-17.7l14.3-28.6c5.4-10.8 16.5-17.7 28.6-17.7H439L391 96z\", \"M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V323.9c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32H121zm0 64H391l48 192H387.8c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7H195.8c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7H73L121 96z\"]]\n};\nvar faSquare0 = {\n prefix: 'fad',\n iconName: 'square-0',\n icon: [448, 512, [], \"e255\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-48 96v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48s-48 21.5-48 48z\", \"M128 224c0-53 43-96 96-96s96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224zm96-48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48z\"]]\n};\nvar faSection = {\n prefix: 'fad',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", [\"M1.7 243c4.8-28 20.6-48.9 41.7-62.5c22.2 15.2 50.8 24.2 73.7 31.4l0 0 3.7 1.2c17.5 5.5 31.8 10.3 43.1 15.5l-16.4-2.6c-26.7-4.2-48-1.7-62.1 4.3c-12.6 5.4-18.6 13-20.5 22.7c-.8 8.1 .5 12.7 2.1 15.7c1.7 3.3 4.9 7.1 11 11.3c13.8 9.3 34.3 15.6 61.7 23.8l1.4 .4c24.1 7.2 54.7 16.4 77.5 33c12.4 9.1 23.7 21.2 30.7 37.6c7 16.5 8.4 34.6 5 53.9c-6 35-29.2 58.9-58.5 71.4c-28.3 12.1-62.7 14.1-97.2 8.7l-.2 0 0 0c-18.8-3-48.7-13.3-67.3-19.6c-3.5-1.2-6.7-2.3-9.2-3.1C5.1 480.7-3.9 462.6 1.6 445.8s23.7-25.8 40.5-20.3c3.8 1.3 8 2.7 12.3 4.1l0 0c19 6.5 41.4 14.1 54.1 16.2c26.6 4.2 48 1.6 62-4.4c13-5.6 18.9-13.4 20.7-23.5c1.6-9.5 .4-14.9-.9-18.1c-1.4-3.3-4.1-6.9-9.5-10.9c-12.5-9.2-32.2-15.6-59.4-23.8l-3.7-1.1 0 0c-23.5-7-53-15.8-75.4-31c-12.5-8.5-24.4-19.9-32.3-35.5c-8-15.9-10.7-33.7-8.4-53c.1-.6 .1-1.1 .2-1.7z\", \"M64.9 96C67.1 84.4 73.7 76.2 86 70.6c13.8-6.2 34.8-8.9 61.2-4.5c8.8 1.4 36.1 7.1 44.1 9.3c17 4.8 34.7-5.1 39.5-22.2s-5.1-34.7-22.2-39.5c-11.1-3.1-41-9.2-50.9-10.8C123-2.7 88.3-.6 59.7 12.3C29.9 25.8 7.5 50.9 1.6 86.5c-.1 .5-.2 1.1-.2 1.6c-2.2 19.7 .3 37.9 8.1 54.1c7.7 16.1 19.4 28 32 36.9c22.5 16.1 52.1 25.4 75.6 32.8l0 0 3.7 1.2c27.2 8.6 46.8 15.4 59.2 25c5.5 4.2 8.4 8.2 10 12.2c1.6 4 2.8 10.4 1.1 20.9c-2.4 14.7-12.8 26.4-37.1 31l-12.4 2.3c24 7.2 54.3 16.3 76.9 32.9c1 .8 2.1 1.5 3.1 2.3c16.5-13.9 28.5-33.2 32.6-58.2c3.2-19.8 1.9-38.3-4.8-55.1c-6.7-16.8-17.8-29.4-30.2-39c-22.8-17.6-53.6-27.4-77.7-35l-1.4-.5c-27.4-8.7-47.8-15.3-61.5-25c-6.1-4.4-9.5-8.5-11.4-12.4c-1.8-3.7-3.2-9.3-2.3-18.5z\"]]\n};\nvar faSquareThisWayUp = {\n prefix: 'fad',\n iconName: 'square-this-way-up',\n icon: [448, 512, [\"box-up\"], \"f49f\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM80 384H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM265.4 192c-9.6 0-17.4-7.8-17.4-17.4c0-4.3 1.6-8.4 4.4-11.6L306.7 102c3.4-3.8 8.2-6 13.3-6s9.9 2.2 13.3 6l54.3 61.1c2.8 3.2 4.4 7.3 4.4 11.6c0 9.6-7.8 17.4-17.4 17.4H352V304c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V192H265.4zm-192 0c-9.6 0-17.4-7.8-17.4-17.4c0-4.3 1.6-8.4 4.4-11.6L114.7 102c3.4-3.8 8.2-6 13.3-6s9.9 2.2 13.3 6l54.3 61.1c2.8 3.2 4.4 7.3 4.4 11.6c0 9.6-7.8 17.4-17.4 17.4H160V304c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V192H73.4z\", \"M73.4 192c-9.6 0-17.4-7.8-17.4-17.4c0-4.3 1.6-8.4 4.4-11.6L114.7 102c3.4-3.8 8.2-6 13.3-6s9.9 2.2 13.3 6l54.3 61.1c2.8 3.2 4.4 7.3 4.4 11.6c0 9.6-7.8 17.4-17.4 17.4H160V304c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V192H73.4zM352 192V304c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V192H265.4c-9.6 0-17.4-7.8-17.4-17.4c0-4.3 1.6-8.4 4.4-11.6L306.7 102c3.4-3.8 8.2-6 13.3-6s9.9 2.2 13.3 6l54.3 61.1c2.8 3.2 4.4 7.3 4.4 11.6c0 9.6-7.8 17.4-17.4 17.4H352z\"]]\n};\nvar faBoxUp = faSquareThisWayUp;\nvar faGaugeHigh = {\n prefix: 'fad',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M322 142.3c5.3-12.1 19.5-17.6 31.6-12.3s17.6 19.5 12.3 31.6L301.9 307.4C313.1 318.9 320 334.6 320 352c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c.6 0 1.3 0 1.9 0L322 142.3z\"]]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faSquareAmpersand = {\n prefix: 'fad',\n iconName: 'square-ampersand',\n icon: [448, 512, [], \"e260\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM184 191.6c0 4.1 1.6 8.1 4.6 11L203 217.1l23.6-17.3c3.4-2.5 5.4-6.4 5.4-10.6c0-7.3-5.9-13.2-13.2-13.2H199.6c-8.6 0-15.6 7-15.6 15.6zm71 46.9l-17.6 12.9 28.7 28.7 26.2-37.8c7.5-10.9 22.5-13.6 33.4-6.1s13.6 22.5 6.1 33.4l-31.1 45L329 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-22.4-22.4c-15.1 18.5-37.8 29.4-62 29.4H178.5c-36.7 0-66.5-29.8-66.5-66.5c0-21.2 10.1-41.1 27.2-53.6l24.7-18.1-9.2-9.2c-11.9-11.9-18.6-28.1-18.6-45c0-35.1 28.5-63.6 63.6-63.6h19.2c33.8 0 61.2 27.4 61.2 61.2c0 19.5-9.3 37.8-25 49.3zm-87.5 64.1c-4.7 3.5-7.5 9-7.5 14.9c0 10.2 8.3 18.5 18.5 18.5h32.2c10.5 0 20.3-5.2 26.3-13.8l1.4-2-40.1-40.1-30.7 22.5z\", \"M199.6 176h19.2c7.3 0 13.2 5.9 13.2 13.2c0 4.2-2 8.1-5.4 10.6L203 217.1l-14.5-14.5c-2.9-2.9-4.6-6.9-4.6-11c0-8.6 7-15.6 15.6-15.6zm37.8 75.4L255 238.5c15.7-11.5 25-29.8 25-49.3c0-33.8-27.4-61.2-61.2-61.2H199.6c-35.1 0-63.6 28.5-63.6 63.6c0 16.9 6.7 33 18.6 45l9.2 9.2-24.7 18.1c-17.1 12.5-27.2 32.4-27.2 53.6c0 36.7 29.8 66.5 66.5 66.5h32.2c24.1 0 46.9-10.9 62-29.4L295 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-28.4-28.4 31.1-45c7.5-10.9 4.8-25.8-6.1-33.4s-25.8-4.8-33.4 6.1l-26.2 37.8-28.7-28.7zm-39.2 28.7l40.1 40.1-1.4 2c-6 8.6-15.8 13.8-26.3 13.8H178.5c-10.2 0-18.5-8.3-18.5-18.5c0-5.9 2.8-11.4 7.5-14.9l30.7-22.5z\"]]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fad',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", [\"M96 32C78.3 32 64 46.3 64 64V249.7L236.7 377.6c5.6 4.1 12.4 6.4 19.3 6.4s13.7-2.2 19.3-6.4L448 249.7V64c0-17.7-14.3-32-32-32H96zm80 96H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M511.8 202.5c-1.6-18.1-10.9-34.9-25.7-45.8L448 128.5v79.6 41.6l63.8-47.2zM512 448V242.1L294.4 403.3C283.3 411.6 269.8 416 256 416s-27.3-4.4-38.4-12.7L0 242.1V448v0c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64v0zM64 249.7V208.1l0-79.6L25.9 156.7C11.1 167.6 1.8 184.4 .2 202.5L64 249.7zM289.5 11.1C279.8 3.9 268.1 0 256 0s-23.8 3.9-33.5 11L194.2 32H317.8L289.5 11.1zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]]\n};\nvar faLampDesk = {\n prefix: 'fad',\n iconName: 'lamp-desk',\n icon: [512, 512, [], \"e014\", [\"M105.4 233.4L218.7 120 256 157.3v16l-92.6 92.6L209 448H143L97 263.8c-2.7-10.9 .5-22.4 8.4-30.4zM183.3 512c.5 0 .9 0 1.4 0h-1.4zM446.2 175.1c11 10.2 17.8 24.8 17.8 40.9c0 30.9-25.1 56-56 56c-16.2 0-30.7-6.8-40.9-17.8l79.1-79.1z\", \"M192 65.9C192 29.5 221.5 0 257.9 0c17.5 0 34.3 6.9 46.6 19.3L349.3 64H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-192 192c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V157.3l-44.7-44.7C198.9 100.2 192 83.4 192 65.9zM32 448H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faHospital = {\n prefix: 'fad',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", [\"M48 96C21.5 96 0 117.5 0 144v48H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v64H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H0V464c0 26.5 21.5 48 48 48H160V96H48zm544 0H480V512H592c26.5 0 48-21.5 48-48V320H560c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V224H560c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V144c0-26.5-21.5-48-48-48z\", \"M208 0c-26.5 0-48 21.5-48 48V512H272V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80H480V48c0-26.5-21.5-48-48-48H208zM640 224V192H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80zm0 96V288H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h80zM80 224c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v32H80zm0 96c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v32H80zM312 64h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H344v24c0 8.8-7.2 16-16 16H312c-8.8 0-16-7.2-16-16V152H272c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16h24V80c0-8.8 7.2-16 16-16z\"]]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faPollPeople = {\n prefix: 'fad',\n iconName: 'poll-people',\n icon: [640, 512, [], \"f759\", [\"M480 192H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H480V96h96v32H480v64zM384 480H592c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H384v64H576v32H384v64z\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM64 128c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm64 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zM224 80c0-26.5 21.5-48 48-48H480V192H272c-26.5 0-48-21.5-48-48V80zm0 288c0-26.5 21.5-48 48-48H384V480H272c-26.5 0-48-21.5-48-48V368z\"]]\n};\nvar faWhiskeyGlassIce = {\n prefix: 'fad',\n iconName: 'whiskey-glass-ice',\n icon: [512, 512, [\"glass-whiskey-rocks\"], \"f7a1\", [\"M7.8 43.1C13.9 36 22.7 32 32 32H480c9.3 0 18.1 4 24.2 11.1s8.8 16.4 7.5 25.5l-50 342.9c-5.7 39.3-39.4 68.5-79.2 68.5h-253c-39.7 0-73.4-29.1-79.2-68.5L.3 68.6C-1 59.4 1.7 50.1 7.8 43.1zM69 96l44.7 306.3c1.1 7.9 7.9 13.7 15.8 13.7h253c7.9 0 14.7-5.8 15.8-13.7L443 96H69z\", \"M83 192H429L398.3 402.3c-1.1 7.9-7.9 13.7-15.8 13.7h-253c-7.9 0-14.7-5.8-15.8-13.7L83 192zm93 32c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h48c3.4 0 6.6-.5 9.7-1.5c-1.1-4.4-1.7-9-1.7-13.7v-1.7c0-14.9 5.9-29.1 16.4-39.6L256 272V256c0-17.7-14.3-32-32-32H176zm89.4 72.5c-6 6-9.4 14.1-9.4 22.6v1.7c0 8.5 3.4 16.6 9.4 22.6l31.2 31.2c6 6 14.1 9.4 22.6 9.4h1.7c8.5 0 16.6-3.4 22.6-9.4l31.2-31.2c6-6 9.4-14.1 9.4-22.6v-1.7c0-8.5-3.4-16.6-9.4-22.6l-31.2-31.2c-6-6-14.1-9.4-22.6-9.4h-1.7c-8.5 0-16.6 3.4-22.6 9.4l-31.2 31.2z\"]]\n};\nvar faGlassWhiskeyRocks = faWhiskeyGlassIce;\nvar faWineBottle = {\n prefix: 'fad',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", [\"M417.9 161.9L350.1 94.1l32-32 9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3c-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-32 32zM54.7 278.7L180.2 153.3c.8-.8 1.7-1.7 2.5-2.5l82.6 82.6c12.5 12.5 12.5 32.8 0 45.3l-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0L54.7 278.7z\", \"M350.1 94.1l67.9 67.9-16.8 16.8c-9.2 9.2-11.5 22.9-8.6 35.6c9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5l36-36 82.6 82.6c12.5 12.5 32.8 12.5 45.3 0l82.7-82.7c12.5-12.5 12.5-32.8 0-45.3l-82.6-82.6c31.7-30 75.1-40.4 115-31.3c12.6 2.9 26.4 .5 35.5-8.6l16.8-16.8z\"]]\n};\nvar faChessRook = {\n prefix: 'fad',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", [\"M368 432H80L38.6 473.4c-4.2 4.2-6.6 10-6.6 16C32 501.9 42.1 512 54.6 512H393.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L368 432z\", \"M32 48V192c0 10.1 4.7 19.6 12.8 25.6L96 256 80 432H368L352 256l51.2-38.4c8.1-6 12.8-15.5 12.8-25.6V48c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16V88c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V48c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16V88c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8V48c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM192 304V256c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faUserBountyHunter = {\n prefix: 'fad',\n iconName: 'user-bounty-hunter',\n icon: [448, 512, [], \"e2bf\", [\"M64 16C64 7.2 71.2 0 80 0H96c8.8 0 16 7.2 16 16s-7.2 16-16 16V70c-13.5 21-22 45.6-23.7 72.2L65 256.5c-.2 3.5 0 6.9 .6 10.2c-1-3.4-1.6-7-1.6-10.7V16zm49.3 236.6l5.3-82.4c29 16.3 64.2 48.1 71.9 97.8l-77.2-15.4zM257.5 268c7.6-49.7 42.9-81.5 71.9-97.8l5.3 82.4L257.5 268zM166.4 459.2l48-36c5.7-4.3 13.5-4.3 19.2 0l48 36c4 3 6.4 7.8 6.4 12.8v40H160V472c0-5 2.4-9.8 6.4-12.8z\", \"M224 48c46 0 85.4 30 99 72H125c13.6-42 52.9-72 99-72zm24 123.5l80.5-15.1 6.2 96.2L248 269.9V171.5zm-48 0v98.4l-86.7-17.3 6.2-96.2L200 171.5zM224 0C143.9 0 77.5 62.2 72.3 142.2L65 256.5c-1.3 20 12.4 37.9 32.1 41.8l100.8 20.2c5.2 1 10.4 1.6 15.7 1.6h20.9c5.3 0 10.5-.5 15.7-1.6L351 298.3c19.7-3.9 33.4-21.8 32.1-41.8l-7.4-114.3C370.5 62.2 304.1 0 224 0zM0 486.4C0 500.5 11.5 512 25.6 512H160V472c0-5 2.4-9.8 6.4-12.8l48-36c5.7-4.3 13.5-4.3 19.2 0l48 36c4 3 6.4 7.8 6.4 12.8v40H422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352H134.4C60.2 352 0 412.2 0 486.4z\"]]\n};\nvar faBarsStaggered = {\n prefix: 'fad',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", [\"M64 256c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32z\", \"M448 96c0-17.7-14.3-32-32-32H32C14.3 64 0 78.3 0 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32zm0 320c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z\"]]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDiagramSankey = {\n prefix: 'fad',\n iconName: 'diagram-sankey',\n icon: [576, 512, [], \"e158\", [\"M32 256c-17.7 0-32 14.3-32 32s14.3 32 32 32H141.9l86.7 144.5c5.8 9.6 16.2 15.5 27.4 15.5H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H274.1l-57.6-96H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M294.4 44.8c6-8.1 15.5-12.8 25.6-12.8H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H336L249.6 211.2c-6 8.1-15.5 12.8-25.6 12.8H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H208L294.4 44.8z\"]]\n};\nvar faCloudHailMixed = {\n prefix: 'fad',\n iconName: 'cloud-hail-mixed',\n icon: [512, 512, [], \"f73a\", [\"M214.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zm232 0c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zM313.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-10.3 24c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l10.3-24c5.2-12.2-.4-26.3-12.6-31.5zM94.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-10.3 24c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l10.3-24zM64 480A32 32 0 1 0 0 480a32 32 0 1 0 64 0zm192 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faCircleUpLeft = {\n prefix: 'fad',\n iconName: 'circle-up-left',\n icon: [512, 512, [], \"e128\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 313.4V176c0-8.8 7.2-16 16-16H313.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16L296 232l66.3 66.3c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C322 366 317.1 368 312 368s-10-2-13.7-5.7L232 296l-33.4 33.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6z\", \"M160 176V313.4c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L232 296l66.3 66.3c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l36.7-36.7c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7L296 232l33.4-33.4c4.2-4.2 6.6-10 6.6-16c0-12.5-10.1-22.6-22.6-22.6H176c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faDharmachakra = {\n prefix: 'fad',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", [\"M337.8 205.7l48.6-42.5c-10.3-14.5-23-27.2-37.6-37.6l-42.5 48.6c12.8 7.9 23.6 18.7 31.5 31.5zm76 23.7l-64.4 4.3c1.7 7.1 2.6 14.6 2.6 22.3s-.9 15.1-2.6 22.3l64.4 4.3c1.4-8.6 2.2-17.5 2.2-26.6s-.8-17.9-2.2-26.6zm64.1 57.4l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1c1.4 10.1 2.1 20.4 2.1 30.8s-.7 20.8-2.1 30.8zm-91.5 62l-48.6-42.5c-7.9 12.8-18.7 23.6-31.5 31.5l42.5 48.6c14.5-10.3 27.2-23 37.6-37.6zm4.7 85.9l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c-12.5 16.5-27.1 31.1-43.6 43.6zM282.6 413.8l-4.3-64.4c-7.1 1.7-14.6 2.6-22.3 2.6s-15.1-.9-22.3-2.6l-4.3 64.4c8.6 1.4 17.5 2.2 26.6 2.2s17.9-.8 26.6-2.2zm-57.4 64.1l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c-10.1 1.4-20.4 2.1-30.8 2.1s-20.8-.7-30.8-2.1zm-62-91.5l42.5-48.6c-12.8-7.9-23.6-18.7-31.5-31.5l-48.6 42.5c10.3 14.5 23 27.2 37.6 37.6zm-85.9 4.7l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c-16.5-12.5-31.1-27.1-43.6-43.6zM98.2 282.6l64.4-4.3c-1.7-7.1-2.6-14.6-2.6-22.3s.9-15.1 2.6-22.3l-64.4-4.3C96.8 238.1 96 247 96 256s.8 17.9 2.2 26.6zM34.1 225.2l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1C32.7 276.8 32 266.5 32 256s.7-20.8 2.1-30.8zm91.5-62l48.6 42.5c7.9-12.8 18.7-23.6 31.5-31.5l-42.5-48.6c-14.5 10.3-27.2 23-37.6 37.6zm-4.7-85.9l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c12.5-16.5 27.1-31.1 43.6-43.6zM229.4 98.2l4.3 64.4c7.1-1.7 14.6-2.6 22.3-2.6s15.1 .9 22.3 2.6l4.3-64.4C273.9 96.8 265 96 256 96s-17.9 .8-26.6 2.2zm57.4-64.1l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1C235.2 32.7 245.5 32 256 32s20.8 .7 30.8 2.1zm147.9 86.8l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c16.5 12.5 31.1 27.1 43.6 43.6z\", \"M256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 384a224 224 0 1 0 0-448 224 224 0 1 0 0 448zm96-224a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-96-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faObjectsAlignLeft = {\n prefix: 'fad',\n iconName: 'objects-align-left',\n icon: [512, 512, [], \"e3be\", [\"M128 112c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-288 0c-26.5 0-48-21.5-48-48l0-64zm0 224c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-64z\", \"M24 0C10.7 0 0 10.7 0 24L0 488c0 13.3 10.7 24 24 24s24-10.7 24-24L48 24C48 10.7 37.3 0 24 0z\"]]\n};\nvar faOilCanDrip = {\n prefix: 'fad',\n iconName: 'oil-can-drip',\n icon: [640, 512, [], \"e205\", [\"M352 96c0 17.7-14.3 32-32 32H288v32H224V128H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H320c17.7 0 32 14.3 32 32zM592 448c-26.5 0-48-21.5-48-48c0-21 20.6-62.6 34.9-88.8c5.8-10.6 20.5-10.6 26.3 0C619.4 337.4 640 379 640 400c0 32-21.5 48-48 48z\", \"M368.9 160c9.9 0 19.7 2.3 28.6 6.8L448 192l167-35.8c18.1-3.9 30.7 17.6 18.4 31.5L451.1 394.3c-12.1 13.8-29.6 21.7-48 21.7H144c-26.5 0-48-21.5-48-48V346.7l-67.5-30C11.2 309 0 291.8 0 272.8V208c0-26.5 21.5-48 48-48H96h48H368.9zM96 208H48v64.8l48 21.3V208z\"]]\n};\nvar faFaceSmilingHands = {\n prefix: 'fad',\n iconName: 'face-smiling-hands',\n icon: [640, 512, [], \"e396\", [\"M320 512c-32.1 0-62.8-5.9-91.1-16.7c17-21.6 27.1-48.9 27.1-78.5V386c18.1 8.4 39.4 14 64 14s45.9-5.6 64-14v30.8c0 29.6 10.1 56.9 27.1 78.5c-28.3 10.8-59 16.7-91.1 16.7zM64.3 242.6C71.3 107.5 183.1 0 320 0S568.7 107.5 575.7 242.6c-16.8-5.8-36.2-2-49.6 11.4L479 301.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52v19.2c-16.8 10.6-38.1 18.4-64 18.4s-47.2-7.7-64-18.4V330.4c0-28.7-23.3-52-52-52c-17.9 0-33.6 9-43 22.7l-47.1-47.1c-13.4-13.4-32.8-17.2-49.6-11.4zm217.3-13.8l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\", \"M281.6 228.8l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zM68.7 276.7c-6.2 6.2-6.2 16.4 0 22.6L120 350.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L43.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L88 382.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 340.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L56 414.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 404.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.8 56.8C79.3 502 103.6 512 128.8 512c52.6 0 95.2-42.6 95.2-95.2V384 330.4c0-11-9-20-20-20s-20 9-20 20v19.7c0 7.1-8.6 10.7-13.7 5.7l-79-79c-6.2-6.2-16.4-6.2-22.6 0zm502.6 0c-6.2-6.2-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L593.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L561.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L529.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6zM441.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faBroccoli = {\n prefix: 'fad',\n iconName: 'broccoli',\n icon: [512, 512, [129382], \"e3e2\", [\"M112 352s47.7 54.5 80.2 138.3c5 12.8 17.1 21.7 30.9 21.7h65.9c13.8 0 25.9-8.9 30.9-21.7C352.3 406.5 400 352 400 352H288v.9c0 9.9-2.3 19.7-6.8 28.6l-18.1 36.2c-2.9 5.9-11.4 5.9-14.3 0l-18.1-36.2c-4.4-8.9-6.8-18.7-6.8-28.6V352H112z\", \"M416 352H96c-53 0-96-43-96-96c0-45.5 31.6-83.6 74.1-93.5C67.7 152.6 64 140.7 64 128c0-35.3 28.7-64 64-64c12.7 0 24.6 3.7 34.5 10.1C172.4 31.6 210.5 0 256 0s83.6 31.6 93.5 74.1C359.4 67.7 371.3 64 384 64c35.3 0 64 28.7 64 64c0 12.7-3.7 24.6-10.1 34.5c42.5 9.9 74.1 48 74.1 93.5c0 53-43 96-96 96z\"]]\n};\nvar faRouteInterstate = {\n prefix: 'fad',\n iconName: 'route-interstate',\n icon: [512, 512, [], \"f61b\", [\"M21.2 192h469c-.8 51.2-9 97.7-27.2 139.8c-32.5 75.1-94.6 130.9-190.3 175.7c-10.2 4.8-22.1 5-32.5 .6c-98.4-41.4-161-97.6-193-173.9C29.3 291.5 21.7 244 21.2 192z\", \"M235.1 7.3c12.8-7.8 29-7.8 41.8 0c27.5 16.8 50.2 26 73.4 30c23.3 4 49.2 3.2 83.7-3.2c22.1-4.1 43.6 11 46.9 33.6c6.5 44.2 10 85.6 9.4 124.3H21.2c-.3-38.9 3.4-80.4 9.8-124.3C34.4 45 55.9 30 78 34.1c34.4 6.3 60.3 7.2 83.7 3.2c23.2-4 45.9-13.2 73.4-30z\"]]\n};\nvar faEarMuffs = {\n prefix: 'fad',\n iconName: 'ear-muffs',\n icon: [640, 512, [], \"f795\", [\"M160 224c0-88.4 71.6-160 160-160s160 71.6 160 160v2.7c5-1.8 10.4-2.7 16-2.7c22.1 0 40.8 15 46.3 35.4c.6-.2 1.1-.4 1.7-.6V224C544 100.3 443.7 0 320 0S96 100.3 96 224v34.7c.6 .2 1.1 .4 1.7 .6C103.2 239 121.9 224 144 224c5.6 0 11 1 16 2.7V224z\", \"M192 272c0 12.3-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32s-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32s-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32c0 26.5-21.5 48-48 48c-22.1 0-40.8-15-46.3-35.4C92.2 478.8 86.2 480 80 480c-26.5 0-48-21.5-48-48c0-6.2 1.2-12.2 3.4-17.7C15 408.8 0 390.1 0 368s15-40.8 35.4-46.3C33.2 316.2 32 310.2 32 304c0-26.5 21.5-48 48-48c6.2 0 12.2 1.2 17.7 3.4C103.2 239 121.9 224 144 224c26.5 0 48 21.5 48 48zm256 0c0-26.5 21.5-48 48-48c22.1 0 40.8 15 46.3 35.4c5.5-2.2 11.4-3.4 17.7-3.4c26.5 0 48 21.5 48 48c0 6.2-1.2 12.2-3.4 17.7C625 327.2 640 345.9 640 368s-15 40.8-35.4 46.3c2.2 5.5 3.4 11.4 3.4 17.7c0 26.5-21.5 48-48 48c-6.2 0-12.2-1.2-17.7-3.4C536.8 497 518.1 512 496 512c-26.5 0-48-21.5-48-48c0-12.3 4.6-23.5 12.2-32c-7.6-8.5-12.2-19.7-12.2-32s4.6-23.5 12.2-32c-7.6-8.5-12.2-19.7-12.2-32s4.6-23.5 12.2-32c-7.6-8.5-12.2-19.7-12.2-32z\"]]\n};\nvar faHotdog = {\n prefix: 'fad',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", [\"M488.6 136.6c31.2-31.2 31.2-81.9 0-113.1s-81.9-31.2-113.1 0l-352 352c-31.2 31.2-31.2 81.9 0 113.1s81.9 31.2 113.1 0l352-352zm-45.3-21.3c-19.5 19.5-38.9 23.6-54.4 26.4l-.9 .2c-14.7 2.7-23.5 4.3-32.7 13.4c-9.6 9.6-12.3 20.5-15.7 36.1l-.2 1c-3.2 14.9-7.4 34.2-24.1 50.9s-36 20.9-50.9 24.1l-1 .2c-15.6 3.4-26.4 6-36.1 15.7s-12.3 20.5-15.7 36.1l-.2 1c-3.2 14.9-7.4 34.2-24.1 50.9c-16.4 16.4-34.2 19.5-48 22l-2.5 .4c-13.7 2.5-25.1 5.1-37.5 17.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c19.5-19.5 38.9-23.6 54.4-26.4l.9-.2 0 0c14.7-2.7 23.5-4.3 32.7-13.4c9.6-9.6 12.3-20.5 15.7-36.1l.2-1c3.2-14.9 7.4-34.2 24.1-50.9s36-20.9 50.9-24.1l1-.2c15.6-3.4 26.4-6 36.1-15.7s12.3-20.5 15.7-36.1l.2-1v0c3.2-14.9 7.4-34.2 24.1-50.9c16.4-16.4 34.2-19.5 48-22l2.5-.4c13.7-2.5 25.1-5.1 37.5-17.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M495 257L257 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-22.5-22.5 320-320L495 175c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41zM359.4 39.4l-320 320L17 337C6.1 326.1 0 311.4 0 296s6.1-30.1 17-41L255 17C265.9 6.1 280.6 0 296 0s30.1 6.1 41 17l22.5 22.5zm83.9 75.9c-19.5 19.5-38.9 23.6-54.4 26.4l-.9 .2c-14.7 2.7-23.5 4.3-32.7 13.4c-9.6 9.6-12.3 20.5-15.7 36.1l-.2 1c-3.2 14.9-7.4 34.2-24.1 50.9s-36 20.9-50.9 24.1l-1 .2c-15.6 3.4-26.4 6-36.1 15.7s-12.3 20.5-15.7 36.1l-.2 1c-3.2 14.9-7.4 34.2-24.1 50.9c-16.4 16.4-34.2 19.5-48 22l-2.5 .4c-13.7 2.5-25.1 5.1-37.5 17.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c19.5-19.5 38.9-23.6 54.4-26.4l.9-.2 0 0c14.7-2.7 23.5-4.3 32.7-13.4c9.6-9.6 12.3-20.5 15.7-36.1l.2-1c3.2-14.9 7.4-34.2 24.1-50.9s36-20.9 50.9-24.1l1-.2c15.6-3.4 26.4-6 36.1-15.7s12.3-20.5 15.7-36.1l.2-1v0c3.2-14.9 7.4-34.2 24.1-50.9c16.4-16.4 34.2-19.5 48-22l2.5-.4c13.7-2.5 25.1-5.1 37.5-17.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faTransporterEmpty = {\n prefix: 'fad',\n iconName: 'transporter-empty',\n icon: [512, 512, [], \"e046\", [\"\", \"M96 480c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'fad',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", [\"M332.6 334.3L450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L358.9 316.1c-2.8 3.8-6.1 7.3-10.1 10.3c-5 3.8-10.5 6.4-16.2 7.9z\", \"M128 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM81.7 181.1C98 148.5 131.2 128 167.6 128H192c30.2 0 58.7 14.2 76.8 38.4l76.8 102.4c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L224 213.3v93.4l49.9 49.9c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V397.3L146.7 320c-12-12-18.7-28.3-18.7-45.3V231.6L92.6 302.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l46.3-92.6zM97 472.2l31.4-125.4 52.8 52.8-22 88.2c-4.3 17.1-21.7 27.6-38.8 23.3s-27.6-21.7-23.3-38.8z\"]]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faAngle90 = {\n prefix: 'fad',\n iconName: 'angle-90',\n icon: [448, 512, [], \"e08d\", [\"M225.8 139.9l-27.4 39.6c-30.9-17.6-65.5-29.3-102.4-33.6V97.6c47 4.7 91 19.5 129.8 42.3zm72.3 137.6c-18.7-31.5-43.5-58.9-72.9-80.5l27.3-39.5c35.2 25.7 65 58.5 87.2 96.2l-41.7 23.8zM312.8 306L354.7 282c14.6 31.6 24.1 65.9 27.7 102H334.1c-3.2-27.5-10.5-53.7-21.3-78z\", \"M32 32c17.7 0 32 14.3 32 32V416H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V64C0 46.3 14.3 32 32 32z\"]]\n};\nvar faRectangleTerminal = {\n prefix: 'fad',\n iconName: 'rectangle-terminal',\n icon: [512, 512, [], \"e236\", [\"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm102.3 55.8c-9 9.8-8.3 25 1.5 33.9L180.5 256l-76.7 70.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM248 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\", \"M103.8 185.7c-9.8-9-10.4-24.1-1.5-33.9s24.1-10.4 33.9-1.5l96 88c5 4.5 7.8 11 7.8 17.7s-2.8 13.1-7.8 17.7l-96 88c-9.8 9-25 8.3-33.9-1.5s-8.3-25 1.5-33.9L180.5 256l-76.7-70.3zM248 336H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faKite = {\n prefix: 'fad',\n iconName: 'kite',\n icon: [640, 512, [129665], \"f6f4\", [\"M321 319s0 0 0 0l-79.6 79.6c-6.6-6.6-9.9-15.5-9.3-24.6l-85.4 85.4c-2.9 2.9-6.9 4.6-11 4.6c-8.6 0-15.6-7-15.6-15.6V324l-9.7-4.8c-9-4.5-19.6-4.5-28.6 0L72 324V448.4c0 35.1 28.5 63.6 63.6 63.6c16.9 0 33-6.7 45-18.6L266 407.9c1.8-.1 3.5-.4 5.2-.8l344-80c7.9-1.8 14.6-6.6 19-12.9L480 160 630.6 9.4C624.8 3.6 616.8 0 608 0H344c-6.7 0-13 2.1-18.3 5.7L480 160 321 319zM24 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h8c22.1 0 40 17.9 40 40v68l9.7 4.8c9 4.5 19.6 4.5 28.6 0L120 284V216c0-48.6-39.4-88-88-88H24z\", \"M312.8 24.8c1.8-7.9 6.6-14.6 12.9-19L480 160 241.4 398.6c-7.8-7.8-11-19.1-8.5-29.9l80-344zM480 160L630.6 9.4c5.8 5.8 9.4 13.8 9.4 22.6V296c0 6.7-2.1 13-5.7 18.3L480 160zM0 268.9C0 261.8 5.8 256 12.9 256c2 0 4 .5 5.8 1.4l63 31.5c9 4.5 19.6 4.5 28.6 0l63-31.5c1.8-.9 3.8-1.4 5.8-1.4c7.1 0 12.9 5.8 12.9 12.9v70.1c0 7.1-5.8 12.9-12.9 12.9c-2 0-4-.5-5.8-1.4l-63-31.5c-9-4.5-19.6-4.5-28.6 0l-63 31.5c-1.8 .9-3.8 1.4-5.8 1.4C5.8 352 0 346.2 0 339.1V268.9z\"]]\n};\nvar faDrum = {\n prefix: 'fad',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", [\"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9l-232 152c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l232-152zM256 480c8.1 0 16.1-.2 24-.5V376c0-13.3-10.7-24-24-24s-24 10.7-24 24V479.5c7.9 .3 15.9 .5 24 .5zM72 446.7c14.3 6.4 30.5 12 48 16.7V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V446.7zm320 16.7c17.5-4.7 33.7-10.3 48-16.7V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V463.4z\", \"M370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208V368c0 31.3 27.4 58.8 72 78.7V344c0-13.3 10.7-24 24-24s24 10.7 24 24V463.4c33 8.9 71.1 14.5 112 16.1V376c0-13.3 10.7-24 24-24s24 10.7 24 24V479.5c40.9-1.6 79-7.2 112-16.1V344c0-13.3 10.7-24 24-24s24 10.7 24 24V446.7c44.6-19.9 72-47.4 72-78.7V208c0-41.1-30.2-69.5-78.8-87.4l-53 34.7c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6l62.8-41.1z\"]]\n};\nvar faScrubber = {\n prefix: 'fad',\n iconName: 'scrubber',\n icon: [512, 512, [], \"f2f8\", [\"M256 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-320a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]]\n};\nvar faIceCream = {\n prefix: 'fad',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", [\"M368 144c0 5.4-.3 10.7-.9 16h.9c26.5 0 48 21.5 48 48s-21.5 48-48 48H314.5h-181H80c-26.5 0-48-21.5-48-48s21.5-48 48-48h.9c-.6-5.3-.9-10.6-.9-16C80 64.5 144.5 0 224 0s144 64.5 144 144z\", \"M199.8 495.6L80 256H372.6L252.7 495.6c-5 10-15.3 16.4-26.5 16.4s-21.5-6.3-26.5-16.4z\"]]\n};\nvar faHeartCircleBolt = {\n prefix: 'fad',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", [\"M228.3 469.1L47.6 300.4C17.2 272.1 0 232.4 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l12 12 12-12c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 6.6-.4 13.2-1.3 19.6C487 198.7 460.3 192 432 192c-97.2 0-176 78.8-176 176c0 36.6 11.2 70.6 30.3 98.7l-2.6 2.4c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm194.5-66.2c2.8-5 1.7-11.1-2.6-14.9s-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H452.4l30.1-54.2z\"]]\n};\nvar faFishBones = {\n prefix: 'fad',\n iconName: 'fish-bones',\n icon: [576, 512, [], \"e304\", [\"M96 166.9V192h0v40 48 40h0v25.1c0 7.2-3.3 14.1-8.9 18.7l-48 38.9c-8.8 7.1-21.3 7.1-30.1 .1s-11.5-19.2-6.6-29.3L54.9 266.6c3.3-6.7 3.3-14.5 0-21.2L2.5 138.6c-5-10.1-2.2-22.3 6.6-29.3s21.3-7 30.1 .1l48 38.9c5.6 4.6 8.9 11.4 8.9 18.7zM416 280h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H416V130.9c0-16.9 17.1-28.4 31.8-20c16 9.1 30.6 19.7 43.7 30.7c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8c-13.1 11-27.7 21.6-43.7 30.7c-14.7 8.4-31.8-3.1-31.8-20V280z\", \"M184 160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H96v48h40v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H376V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H280V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H184V160z\"]]\n};\nvar faDeerRudolph = {\n prefix: 'fad',\n iconName: 'deer-rudolph',\n icon: [576, 512, [], \"f78f\", [\"M256 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 30.9 25.1 56 56 56h8 8 56c8.8 0 16-7.2 16-16s-7.2-16-16-16h-5.4c3.5-7.3 5.4-15.4 5.4-24V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24h-8-8c-13.3 0-24-10.7-24-24V16zm216 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24H400c-2.3 0-4.6 .5-6.6 1.4c18 3.2 34.9 11.6 48.3 24.3C459.7 80.4 472 61.7 472 40V16zm48 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\", \"M320 96l-50.4 12.6c-8 2-13.6 9.2-13.6 17.4c0 9.9 8 18 18 18h38l-9.6 32H196.3c-.8 0-1.7 0-2.5 0c-.6 0-1.2 0-1.7 0H128 113.9h-7.9C51.7 176 6.6 217.8 2.4 272L.1 302.2c-1 13.2 8.9 24.8 22.1 25.8c13 1 24.4-8.6 25.7-21.5c2.4 3.3 5.2 6.5 8.1 9.5c9 9 9 23.5 2.4 34.4c-17.4 28.6-21.5 63.9-10 96.3l15.5 44C68.4 503.4 80.5 512 94.1 512H128c22.1 0 37.5-21.8 30.2-42.6l-19.3-54.7c-2.2-6.2-.6-13 4-17.7l10.6-10.6c12.1-12.1 19.8-27.9 21.9-44.8c21 16.5 47.5 26.4 76.3 26.4H288V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V368 304l26.7-80H416h50.7c25 0 45.3-20.3 45.3-45.3c0-1.2 0-2.4-.1-3.6C493.7 171.4 480 155.3 480 136c0-2.5 .2-5 .7-7.3L443.4 91.4C425.9 73.9 402.1 64 377.3 64c-5.7 0-11.3 .9-16.6 2.5c4.4 2.8 7.3 7.8 7.3 13.5c0 8.8-7.2 16-16 16l-32 0zm80 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faFax = {\n prefix: 'fad',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", [\"M192 0c-35.3 0-64 28.7-64 64V192h64V64H386.7L416 93.3V192h64V93.3c0-17-6.7-33.3-18.7-45.3L432 18.7C420 6.7 403.7 0 386.7 0H192zm96 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 448a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-96-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M32 128c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H32zm448 64H128V480c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM256 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faParagraph = {\n prefix: 'fad',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", [\"M320 448l0-352 64 0V448c0 17.7-14.3 32-32 32s-32-14.3-32-32z\", \"M192 32h64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H288V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H192c-88.4 0-160-71.6-160-160s71.6-160 160-160z\"]]\n};\nvar faHeadSideHeart = {\n prefix: 'fad',\n iconName: 'head-side-heart',\n icon: [512, 512, [], \"e1aa\", [\"M0 224.2C0 100.6 100.2 0 224 0h24c95.2 0 181.2 69.3 197.3 160.2c2.3 13 6.8 25.7 15.1 36l42 52.6c6.2 7.8 9.6 17.4 9.6 27.4c0 24.2-19.6 43.8-43.8 43.8H448v64c0 35.3-28.7 64-64 64H320v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V407.3c0-16.7-6.9-32.5-17.1-45.8C16.6 322.4 0 274.1 0 224.2zm128-35c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\", \"M189.3 128c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]]\n};\nvar faSquareE = {\n prefix: 'fad',\n iconName: 'square-e',\n icon: [448, 512, [], \"e26d\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 96H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V256 152c0-13.3 10.7-24 24-24z\", \"M128 152c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V256 152z\"]]\n};\nvar faMeterFire = {\n prefix: 'fad',\n iconName: 'meter-fire',\n icon: [640, 512, [], \"e1eb\", [\"M351.1 493.7C321.7 505.5 289.6 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C361.7 0 452.5 64.1 491.5 155.5c-5.4-5.3-10.9-10.4-16.6-15.5c-17.7-16-44.7-16-62.5-.1c-9.9 8.9-19.4 18.1-28.5 27.5V160c0-17.7-14.3-32-32-32s-32 14.3-32 32v32c0 13.2 7.9 24.5 19.3 29.4c-5 7.1-9.8 14.2-14.1 21.3C304.3 276.5 288 314.9 288 350.1c0 56.1 24.1 107.8 63.1 143.7zM160 128c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zm96 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32z\", \"M443.7 159.9c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79c0 87.8-71.3 159.8-160 159.8c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7zm37.3 288c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faCloudHail = {\n prefix: 'fad',\n iconName: 'cloud-hail',\n icon: [512, 512, [], \"f739\", [\"M128 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faCheckToSlot = {\n prefix: 'fad',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", [\"M144 32c-26.5 0-48 21.5-48 48V400H480V80c0-26.5-21.5-48-48-48H144zM409 161L281 289c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L375 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M409 161L281 289c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L375 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM48 288H96v80H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V288h48c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48z\"]]\n};\nvar faVoteYea = faCheckToSlot;\nvar faMoneyFromBracket = {\n prefix: 'fad',\n iconName: 'money-from-bracket',\n icon: [640, 512, [], \"e312\", [\"M512 448l0-352L128 96l0 352c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64zM192 384c35.3 0 64 28.7 64 64l-64 0 0-64zm192 64c0-35.3 28.7-64 64-64l0 64-64 0zM224 272c0-44.2 43-80 96-80s96 35.8 96 80s-43 80-96 80s-96-35.8-96-80z\", \"M96 64C78.3 64 64 78.3 64 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96C0 43 43 0 96 0H544c53 0 96 43 96 96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faStarHalf = {\n prefix: 'fad',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", [\"M143.1 512h3.2c-1.1 .1-2.1 .1-3.2 0zM288 439.8V0c0 0 .1 0 .1 0c12.2 0 23.4 7 28.8 18l64.3 132.3 143.6 21.2c12 1.8 22 10.2 25.7 21.7s.7 24.2-7.9 32.7L438.5 329l24.6 145.7c2 12-3 24.2-12.9 31.3s-23 8-33.8 2.3L288.1 439.8l-.1 .1z\", \"M288 0c-12.2 .1-23.3 7-28.6 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3L288 439.8V0zM429.9 512c1.1 .1 2.1 .1 3.2 0h-3.2z\"]]\n};\nvar faCarBus = {\n prefix: 'fad',\n iconName: 'car-bus',\n icon: [640, 512, [], \"f85a\", [\"M48 416H32c-17.7 0-32-14.3-32-32V74.5c0-16.2 9.2-31 23.7-38.3C71.2 12.4 123.7 0 176.9 0h30.3c53.2 0 105.6 12.4 153.2 36.2C374.8 43.4 384 58.2 384 74.5V128H362.6c-14.9 0-29.4 3-42.6 8.4V120c0-13.3-10.7-24-24-24H208V224h41.9l-16.3 48.9C208.5 290.2 192 319.2 192 352v64H128v32c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V416zM64 120v80c0 13.3 10.7 24 24 24h88V96H88c-13.3 0-24 10.7-24 24zm56 200a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\", \"M347.4 234.9L329.7 288H534.3l-17.7-53.1c-2.2-6.5-8.3-10.9-15.2-10.9H362.6c-6.9 0-13 4.4-15.2 10.9zm-87.3 59.4l26.6-79.7C297.6 182 328.2 160 362.6 160H501.4c34.4 0 65 22 75.9 54.7l26.6 79.7C625.2 304.7 640 326.6 640 352v96h0v32c0 17.7-14.3 32-32 32H592c-17.7 0-32-14.3-32-32V448H304v32c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V448h0V352c0-25.4 14.8-47.3 36.1-57.6zM328 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faSpeaker = {\n prefix: 'fad',\n iconName: 'speaker',\n icon: [384, 512, [], \"f8df\", [\"M0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM304 336A112 112 0 1 0 80 336a112 112 0 1 0 224 0zM192 160a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M192 160a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0 288a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM128 336a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]]\n};\nvar faTimer = {\n prefix: 'fad',\n iconName: 'timer',\n icon: [512, 512, [], \"e29e\", [\"M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256s-114.6 256-256 256S0 397.4 0 256C0 184.4 29.5 119.6 76.8 73.1c12.6-12.4 32.9-12.2 45.3 .5s12.2 32.9-.5 45.3C86 153.7 64 202.3 64 256c0 106 86 192 192 192s192-86 192-192c0-95.1-69.2-174.1-160-189.3V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32z\", \"M159 159c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faBoxesStacked = {\n prefix: 'fad',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", [\"M248 80V16c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM104 336V256h80v80c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16zm288-80h80v80c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V256z\", \"M248 0H208c-26.5 0-48 21.5-48 48V160c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V48c0-26.5-21.5-48-48-48H328V80c0 8.8-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V0zM64 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H184v80c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V256H64zM352 512H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H472v80c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V256H352c-15 0-28.8 5.1-39.7 13.8c4.9 10.4 7.7 22 7.7 34.2V464c0 12.2-2.8 23.8-7.7 34.2C323.2 506.9 337 512 352 512z\"]]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faGrillHot = {\n prefix: 'fad',\n iconName: 'grill-hot',\n icon: [448, 512, [], \"e5a5\", [\"M144 24c0-13.3-10.7-24-24-24S96 10.7 96 24v2.6C96 48 106.7 68 124.5 79.8l12.4 8.3c4.5 3 7.1 8 7.1 13.3V104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.6C192 80 181.3 60 163.5 48.2l-12.4-8.3c-4.5-3-7.1-8-7.1-13.3V24zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v2.6C208 48 218.7 68 236.5 79.8l12.4 8.3c4.5 3 7.1 8 7.1 13.3V104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.6C304 80 293.3 60 275.5 48.2l-12.4-8.3c-4.5-3-7.1-8-7.1-13.3V24z\", \"M0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32c0 78.1-46.6 145.3-113.6 175.3l47.7 111.2c5.2 12.2-.4 26.3-12.6 31.5s-26.3-.4-31.5-12.6L327 472H155.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c3.4 0 6.8 .3 10.1 .8l7.5-17.5C46.6 337.3 0 270.1 0 192zM155.3 424H306.5l-18.3-42.7C277.7 383.1 267 384 256 384H192c-11 0-21.7-.9-32.2-2.7L147.5 410c3.2 4.3 5.8 9 7.8 14zM96 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faBallotCheck = {\n prefix: 'fad',\n iconName: 'ballot-check',\n icon: [448, 512, [], \"f733\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112zm0 256c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368zm144 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM192 128c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 112H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-52.7-27.3c6.2 6.2 6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0l-24-24c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L96 249.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0z\", \"M64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm0 256v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm91.3-132.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L96 249.4 83.3 236.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48z\"]]\n};\nvar faLink = {\n prefix: 'fad',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", [\"M579.8 63.2c56.5 56.5 56.5 148 0 204.5L467.5 380c-56.5 56.5-148 56.5-204.5 0c-50-50-56.5-128.8-15.4-186.3l1.1-1.6c10.3-14.4 30.3-17.7 44.6-7.4s17.7 30.3 7.4 44.6l-1.1 1.6c-22.9 32.1-19.3 76 8.6 103.8c31.5 31.5 82.5 31.5 114 0L534.5 222.5c31.5-31.5 31.5-82.5 0-114C506.7 80.6 462.7 77 430.7 99.9l-1.6 1.1c-14.4 10.3-34.4 6.9-44.6-7.4s-6.9-34.4 7.4-44.6l1.6-1.1C451 6.7 529.8 13.3 579.8 63.2z\", \"M60.2 448.8c-56.5-56.5-56.5-148 0-204.5L172.5 132c56.5-56.5 148-56.5 204.5 0c50 50 56.5 128.8 15.4 186.3l-1.1 1.6c-10.3 14.4-30.3 17.7-44.6 7.4s-17.7-30.3-7.4-44.6l1.1-1.6c22.9-32.1 19.3-76-8.6-103.9c-31.5-31.5-82.5-31.5-114 0L105.5 289.5C74 321 74 372 105.5 403.5c27.9 27.9 71.8 31.5 103.8 8.6l1.6-1.1c14.4-10.3 34.4-6.9 44.6 7.4s6.9 34.4-7.4 44.6l-1.6 1.1C189 505.3 110.2 498.7 60.2 448.8z\"]]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'fad',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", [\"M355.4 17.7c7.9-15.8 27.1-22.2 42.9-14.3L384 32C398.3 3.4 398.3 3.4 398.3 3.4l0 0 .1 0 .2 .1 .4 .2c.3 .2 .7 .4 1.2 .7c1 .5 2.3 1.3 4 2.2c3.3 1.9 7.7 4.7 13 8.3c10.5 7.3 24.4 18.3 38.3 33.3C483.5 78.6 512 126 512 192c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-46-19.5-78.6-39.5-100.3c-10.1-10.9-20.2-18.9-27.7-24.2c-3.7-2.6-6.8-4.5-8.7-5.6c-1-.6-1.7-1-2.1-1.2l-.4-.2c-15.7-7.9-22-27.1-14.2-42.9zM160 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm54.6-86.6l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-64-64c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0z\", \"M128.7 227.5c6.2-56 53.7-99.5 111.3-99.5c61.9 0 112 50.1 112 112c0 29.3-11.2 55.9-29.6 75.9c-17 18.4-34.4 45.1-34.4 78V400c0 26.5-21.5 48-48 48c-17.7 0-32 14.3-32 32s14.3 32 32 32c61.9 0 112-50.1 112-112v-6.1c0-9.8 5.4-21.7 17.4-34.7C398.3 327.9 416 286 416 240c0-97.2-78.8-176-176-176C149.4 64 74.8 132.5 65.1 220.5c-1.9 17.6 10.7 33.4 28.3 35.3s33.4-10.7 35.3-28.3zM208 240c0-17.7 14.3-32 32-32s32 14.3 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faFileMinus = {\n prefix: 'fad',\n iconName: 'file-minus',\n icon: [384, 512, [], \"f318\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM120 304c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM120 304c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]]\n};\nvar faTreeCity = {\n prefix: 'fad',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", [\"M336 0c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48h96H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H568V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H480V48c0-26.5-21.5-48-48-48H336zm32 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM352 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V176zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16zm144 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V272zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\", \"M222 176c1-5 2-10 2-16c0-53-43-96-96-96c-54 0-96 43-96 96c0 6 0 11 1 16C13 190 0 214 0 240c0 45 35 80 80 80H96V480c0 18 14 32 32 32c17 0 32-14 32-32V320h16c44 0 80-35 80-80c0-26-14-50-34-64z\"]]\n};\nvar faPlay = {\n prefix: 'fad',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", [\"\", \"M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80V432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z\"]]\n};\nvar faFont = {\n prefix: 'fad',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", [\"M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-1.8l18-48H303.8l18 48H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H390.2L254 52.8zM279.8 304H168.2L224 155.1 279.8 304z\", \"\"]]\n};\nvar faCupTogo = {\n prefix: 'fad',\n iconName: 'cup-togo',\n icon: [448, 512, [\"coffee-togo\"], \"f6c5\", [\"M70 392l5.1 61.3c2.8 33.2 30.5 58.7 63.8 58.7H309.1c33.3 0 61-25.5 63.8-58.7L378 392H70zM56.7 232H391.3L400 128H48l8.7 104z\", \"M55.2 17.7L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32L392.8 17.7C387.4 6.8 376.3 0 364.2 0H83.8C71.7 0 60.6 6.8 55.2 17.7zM378 392l13.3-160H56.7L70 392H378z\"]]\n};\nvar faCoffeeTogo = faCupTogo;\nvar faSquareDownLeft = {\n prefix: 'fad',\n iconName: 'square-down-left',\n icon: [448, 512, [], \"e26b\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm64-281.4V336c0 8.8 7.2 16 16 16H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L264 280l66.3-66.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-36.7-36.7C290 146 285.1 144 280 144s-10 2-13.7 5.7L200 216l-33.4-33.4c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6z\", \"M128 336V198.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6L200 216l66.3-66.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7l36.7 36.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L264 280l33.4 33.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H144c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faBurgerLettuce = {\n prefix: 'fad',\n iconName: 'burger-lettuce',\n icon: [512, 512, [], \"e3e3\", [\"M61.1 224C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1H61.1zM144 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm240 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM48 384H464c8.8 0 16 7.2 16 16v16c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V400c0-8.8 7.2-16 16-16z\", \"M136.2 333c-12 7.2-31.6 19-56.2 19c-21.5 0-38.4-5.4-50.3-11.4c-5.9-3-10.5-6-13.9-8.5c-1.7-1.3-3.1-2.4-4.1-3.3c-.5-.5-1-.9-1.4-1.2l-.5-.5-.2-.2-.1-.1 0 0 0 0c0 0 0 0 22.4-22.4L9.4 326.6c-12.5-12.5-12.5-32.8 0-45.3c12.3-12.3 32-12.5 44.5-.7c.1 .1 .2 .1 .3 .2c.6 .5 2 1.4 4.1 2.5c4.1 2 11.2 4.6 21.7 4.6c5.6 0 10.7-2.4 25.9-11.5c.2-.1 .3-.2 .5-.3c13.2-7.9 33.9-20.2 61.6-20.2c27.5 0 46.3 12.2 58.3 20c.6 .4 1.2 .8 1.8 1.1c11.9 7.7 18 10.9 28 10.9c9.7 0 14.6-2.9 26.2-10.6c.3-.2 .5-.3 .8-.5c12.4-8.3 31.3-20.9 61-20.9c29.5 0 50.1 12.3 63.8 20.7c15.1 9.3 19 11.3 24.2 11.3c10.5 0 17.6-2.6 21.7-4.6c2.1-1 3.5-2 4.1-2.5c.1-.1 .2-.2 .3-.2c12.5-11.8 32.3-11.6 44.5 .7c12.5 12.5 12.5 32.8 0 45.3L480 304c22.6 22.6 22.6 22.6 22.6 22.6l0 0 0 0-.1 .1-.2 .2-.5 .5c-.4 .4-.8 .8-1.4 1.2c-1.1 .9-2.4 2.1-4.1 3.3c-3.4 2.5-8 5.6-13.9 8.5c-11.9 6-28.8 11.4-50.3 11.4c-24.7 0-43.6-11.9-55-19c-1-.6-1.9-1.2-2.8-1.7C361.9 323.7 354.5 320 344 320c-9.7 0-14.6 2.9-26.2 10.6c-.3 .2-.5 .3-.8 .5c-12.4 8.3-31.3 20.9-61 20.9c-29.8 0-49.5-12.6-62.4-21l-.2-.1c-13-8.4-17.7-10.9-25.4-10.9c-8.5 0-15.7 3.3-29.3 11.5c-.8 .5-1.6 1-2.5 1.5z\"]]\n};\nvar faRupiahSign = {\n prefix: 'fad',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", [\"M288 192c0-17.7 14.3-32 32-32h80c61.9 0 112 50.1 112 112s-50.1 112-112 112H352v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 192zm64 128h48c26.5 0 48-21.5 48-48s-21.5-48-48-48H352v96z\", \"M32 32C14.3 32 0 46.3 0 64V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h42.3l56 139.9c6.6 16.4 25.2 24.4 41.6 17.8s24.4-25.2 17.8-41.6L170.3 307.7C220.8 285.3 256 234.8 256 176c0-79.5-64.5-144-144-144H32zm80 224H64V96h48c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]]\n};\nvar faMagnifyingGlass = {\n prefix: 'fad',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", [\"M208 64a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 352A208 208 0 1 0 208 0a208 208 0 1 0 0 416z\", \"M330.7 376L457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L376 330.7C363.3 348 348 363.3 330.7 376z\"]]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'fad',\n iconName: 'table-tennis-paddle-ball',\n icon: [512, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", [\"\", \"M416 320a96 96 0 1 0 0 192 96 96 0 1 0 0-192zM301.4 358.8c21-42 64.4-70.8 114.6-70.8c29 0 55.8 9.6 77.2 25.9c35.9-82 20.3-181.2-46.8-248.3c-87.5-87.5-229.3-87.5-316.8 0L69.5 125.7l-.6 .6L301.4 358.8zm-11.3 33.9L49.3 151.9C38.1 171.3 32 193.5 32 216.2V219c0 33.9 13.5 66.5 37.5 90.5l9.8 9.8c13.1 13.1 12.4 34.6-1.7 46.8L11 423.8C4.3 429.6 .3 438 0 446.9s3.1 17.5 9.4 23.8l32 32c6.3 6.3 14.9 9.7 23.8 9.4s17.2-4.3 23-11l57.7-66.6c12.2-14 33.7-14.8 46.8-1.7l9.8 9.8c24 24 56.6 37.5 90.5 37.5h2.7c3.1 0 6.1-.1 9.2-.3C294.2 460.9 288 439.2 288 416c0-7.9 .7-15.7 2.1-23.3z\"]]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'fad',\n iconName: 'person-dots-from-line',\n icon: [640, 512, [\"diagnoses\"], \"f470\", [\"M232 88a88 88 0 1 1 176 0A88 88 0 1 1 232 88zM208 322.7c-47.3 15.8-82.3 37.7-97.3 50.1c-20.4 17-50.6 14.2-67.6-6.1s-14.2-50.6 6.1-67.6c8-6.6 18.6-14.4 31.7-22.5c8.4 7.1 19.2 11.4 31 11.4c26.5 0 48-21.5 48-48c0-.7 0-1.4 0-2.1c45.1-17 99.8-29.9 160-29.9c47.3 0 91.1 7.9 129.6 19.6c-1.1 4-1.6 8.1-1.6 12.4c0 26.5 21.5 48 48 48c17.7 0 33.2-9.6 41.5-23.9c23.1 12.5 41.2 25 53.2 35c20.4 17 23.1 47.2 6.1 67.6s-47.2 23.1-67.6 6.1c-15-12.5-50-34.4-97.3-50.1V432H208V322.7zM304 280a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M96 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM32 488c0-13.3 10.7-24 24-24H584c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM496 224a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faChevronsDown = {\n prefix: 'fad',\n iconName: 'chevrons-down',\n icon: [512, 512, [\"chevron-double-down\"], \"f322\", [\"M278.6 278.6c-12.5 12.5-32.8 12.5-45.3 0l-192-192c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L256 210.7 425.4 41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-192 192z\", \"M278.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-192-192c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L256 402.7 425.4 233.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-192 192z\"]]\n};\nvar faChevronDoubleDown = faChevronsDown;\nvar faTrashCanArrowUp = {\n prefix: 'fad',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", [\"M32 96H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V96zM248 241.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V376c0 13.3 10.7 24 24 24s24-10.7 24-24V241.9z\", \"M163.8 0c-12.1 0-23.2 6.8-28.6 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8zM248 241.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V376c0 13.3 10.7 24 24 24s24-10.7 24-24V241.9z\"]]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faSignalGood = {\n prefix: 'fad',\n iconName: 'signal-good',\n icon: [640, 512, [\"signal-3\"], \"f68e\", [\"M608 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM480 128c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V128z\", \"M320 192c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM192 288c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32zM96 416v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]]\n};\nvar faSignal3 = faSignalGood;\nvar faLocationQuestion = {\n prefix: 'fad',\n iconName: 'location-question',\n icon: [384, 512, [\"map-marker-question\"], \"f60b\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM105.8 133.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 232.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V218.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M158.6 96c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V232c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H158.6zM192 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMapMarkerQuestion = faLocationQuestion;\nvar faFloppyDiskCircleXmark = {\n prefix: 'fad',\n iconName: 'floppy-disk-circle-xmark',\n icon: [576, 512, [\"floppy-disk-times\", \"save-circle-xmark\", \"save-times\"], \"e181\", [\"M0 96C0 60.7 28.7 32 64 32H306.7c17 0 33.3 6.7 45.3 18.7L429.3 128c12 12 18.7 28.3 18.7 45.3v19.5c-5.3-.5-10.6-.7-16-.7c-75 0-139.1 47-164.4 113.1C256.1 294.5 240.8 288 224 288c-35.3 0-64 28.7-64 64s28.7 64 64 64c13.3 0 25.7-4.1 35.9-11c6 28.1 18.7 53.7 36.3 75H64c-35.3 0-64-28.7-64-64V96zm96 0c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faFloppyDiskTimes = faFloppyDiskCircleXmark;\nvar faSaveCircleXmark = faFloppyDiskCircleXmark;\nvar faSaveTimes = faFloppyDiskCircleXmark;\nvar faNairaSign = {\n prefix: 'fad',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", [\"M64 256H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V256zm64 64H228.2l-42.7-64H128v64zm134.5-64l42.7 64H320V256H262.5zM384 256v64h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H384z\", \"M86.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L320 342.3V64c0-17.7 14.3-32 32-32s32 14.3 32 32V448c0 14.1-9.2 26.5-22.7 30.6s-28.1-1.1-35.9-12.9L128 169.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-14.1 9.2-26.5 22.7-30.6z\"]]\n};\nvar faPeach = {\n prefix: 'fad',\n iconName: 'peach',\n icon: [512, 512, [], \"e20b\", [\"M218.9 119.9c-16.1-5.1-33.2-7.9-50.9-7.9C75.2 112 0 187.2 0 280C0 416.2 199.3 494.6 240.6 509.4c5 1.8 10.1 2.6 15.4 2.6s10.4-.8 15.4-2.6C312.7 494.6 512 416.2 512 280c0-92.8-75.2-168-168-168c-18.3 0-35.9 2.9-52.3 8.3c-.8 .3-1.5 .5-2.3 .7c43.8 33.5 73.4 84.7 78 143c.7 8.8-6.5 16-15.4 16s-15.9-7.2-16.8-16c-6.4-68-53.3-124.1-116.3-144.2z\", \"M377.5 82.8C366.6 81 355.4 80 344 80c-31.5 0-61.4 7.3-88 20.4C229.4 87.3 199.5 80 168 80c-11.4 0-22.6 1-33.5 2.8C120.5 67.2 112 46.6 112 24c0-13.3 10.7-24 24-24h24c53 0 96 43 96 96c0-53 43-96 96-96h24c13.3 0 24 10.7 24 24c0 22.6-8.5 43.2-22.5 58.8z\"]]\n};\nvar faTaxiBus = {\n prefix: 'fad',\n iconName: 'taxi-bus',\n icon: [640, 512, [], \"e298\", [\"M32 416H48v32c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V416h64V352c0-32.8 16.5-61.8 41.6-79.1L249.9 224H208V96h88c13.3 0 24 10.7 24 24v16.4c5.7-2.4 11.7-4.3 17.8-5.6C343.6 110.7 362.1 96 384 96V74.5c0-16.2-9.2-31-23.7-38.3C312.8 12.4 260.3 0 207.1 0H176.9C123.7 0 71.2 12.4 23.7 36.2C9.2 43.4 0 58.2 0 74.5V384c0 17.7 14.3 32 32 32zM88 96h88V224H88c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm8 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M392 128c-13.3 0-24 10.7-24 24v8h-5.4c-34.4 0-65 22-75.9 54.7l-26.6 79.7C238.8 304.7 224 326.6 224 352v96h0v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448H560v32c0 17.7 14.3 32 32 32h16c17.7 0 32-14.3 32-32V448h0V352c0-25.4-14.8-47.3-36.1-57.6l-26.6-79.7C566.4 182 535.8 160 501.4 160H496v-8c0-13.3-10.7-24-24-24H392zm-29.4 96H501.4c6.9 0 13 4.4 15.2 10.9L534.3 288H329.7l17.7-53.1c2.2-6.5 8.3-10.9 15.2-10.9zM304 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm232 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faBracketCurly = {\n prefix: 'fad',\n iconName: 'bracket-curly',\n icon: [256, 512, [\"bracket-curly-left\"], \"7b\", [\"M64 128c0-53 43-96 96-96h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32 14.3-32 32v37.5c0 25.5-10.1 49.9-28.1 67.9L77.3 256l22.6 22.6c18 18 28.1 42.4 28.1 67.9V384c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-53 0-96-43-96-96V346.5c0-8.5-3.4-16.6-9.4-22.6L9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l45.3-45.3c6-6 9.4-14.1 9.4-22.6V128z\", \"\"]]\n};\nvar faBracketCurlyLeft = faBracketCurly;\nvar faLobster = {\n prefix: 'fad',\n iconName: 'lobster',\n icon: [512, 512, [129438], \"e421\", [\"M160.2 29.4c-1.5 8.7 4.4 17 13.2 18.4l7.9 1.3C196.7 51.7 208 65 208 80.7v91.1c9.3-14.4 21.2-25.8 32-33.7V80.7c0-31.3-22.6-58-53.5-63.1l-7.9-1.3c-8.7-1.5-17 4.4-18.4 13.2zM192 256H143.1c-7.5 0-14.8-1.7-21.5-5.1L87.2 233.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l34.5 17.2c11.1 5.6 23.4 8.4 35.8 8.4H192V256zm0 48H122.4c-5.2 0-10.3-.8-15.2-2.5L69.1 288.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l38.1 12.7c8.2 2.7 16.7 4.1 25.3 4.1H192V304zm0 48H175.1c-12.4 0-24.7 2.9-35.8 8.4l-18.5 9.2c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l18.5-9.2c6.7-3.3 14-5.1 21.5-5.1H192l0 0V352zm128 32h16.9c7.4 0 14.8 1.7 21.5 5.1l18.5 9.2c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-18.5-9.2c-11.1-5.6-23.4-8.4-35.8-8.4H320v32l0 0zm0-48h69.6c8.6 0 17.1-1.4 25.3-4.1l38.1-12.7c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-38.1 12.7c-4.9 1.6-10 2.5-15.2 2.5H320v32zm0-48h48.9c12.4 0 24.7-2.9 35.8-8.4l34.5-17.2c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-34.5 17.2c-6.7 3.3-14 5.1-21.5 5.1H320v32zM304 171.8V80.7c0-15.6 11.3-29 26.7-31.6l7.9-1.3c8.7-1.5 14.6-9.7 13.2-18.4s-9.7-14.6-18.4-13.2l-7.9 1.3C294.6 22.7 272 49.4 272 80.7V138c10.8 8 22.7 19.4 32 33.7z\", \"M80 8.2c0-3.7-2.5-6.9-6.1-7.5C70.7 .3 67.4 0 64 0C28.7 0 0 28.7 0 64v64c0 35.3 28.7 64 64 64l.7 0 41.8 27.9C126.2 233 149.4 240 173.1 240H192V384l21.4 64.1c-29.8 1.8-53.4 26.5-53.4 56.8c0 3.9 3.2 7.1 7.1 7.1H344.9c3.9 0 7.1-3.2 7.1-7.1c0-30.2-23.6-55-53.4-56.8L320 384V240h18.9c23.7 0 46.9-7 66.6-20.2L447.3 192l.7 0c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64c-3.4 0-6.7 .3-9.9 .8c-3.6 .6-6.1 3.8-6.1 7.5V72c0 7.7-9.8 11-14.4 4.8L397.4 49.9c-3.7-4.9-11.2-3.9-12.3 2.1c-.7 3.9-1.1 7.9-1.1 11.9v64c0 14.9 5.1 28.6 13.6 39.4l-18.7 12.5C367 187.8 353.1 192 338.9 192H314.2c-10.8-29.1-34.4-49.8-51.2-60.1c-4.3-2.6-9.7-2.6-13.9 0c-16.8 10.3-40.4 31-51.2 60.1H173.1c-14.2 0-28.1-4.2-39.9-12.1l-18.7-12.5c8.5-10.9 13.6-24.6 13.6-39.4V64c0-4.1-.4-8.1-1.1-11.9c-1.1-6-8.6-7.1-12.3-2.1L94.4 76.8C89.8 83 80 79.7 80 72V8.2z\"]]\n};\nvar faCartFlatbedEmpty = {\n prefix: 'fad',\n iconName: 'cart-flatbed-empty',\n icon: [640, 512, [\"dolly-flatbed-empty\"], \"f476\", [\"M162.7 448c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H162.7zm288 0c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7z\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32z\"]]\n};\nvar faDollyFlatbedEmpty = faCartFlatbedEmpty;\nvar faColon = {\n prefix: 'fad',\n iconName: 'colon',\n icon: [192, 512, [], \"3a\", [\"M32 384a64 64 0 1 1 128 0A64 64 0 1 1 32 384z\", \"M32 128a64 64 0 1 1 128 0A64 64 0 1 1 32 128z\"]]\n};\nvar faCartArrowDown = {\n prefix: 'fad',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", [\"M312 32H120.1c2 4.2 3.5 8.8 4.4 13.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32H360l0 110.1 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23L312 32z\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5l-51.6-271C119.5 19.1 96.4 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM360 142.1V32l-48 0V142.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23z\"]]\n};\nvar faWand = {\n prefix: 'fad',\n iconName: 'wand',\n icon: [512, 512, [], \"f72a\", [\"\", \"M497 7c-9-9-23.5-9.4-33-.9L189.3 251.9c-2.9 2.6-6.7 4.1-10.7 4.1H144c-8.8 0-16 7.2-16 16v27.6c0 4.6-1.9 8.9-5.3 11.9L11.1 411.3C4 417.7 0 426.7 0 436.2c0 8.8 3.5 17.3 9.7 23.5l42.6 42.6c6.2 6.2 14.7 9.8 23.5 9.8c9.5 0 18.5-4 24.8-11.1L372.3 197.3c3-3.4 7.4-5.3 11.9-5.3H400c8.8 0 16-7.2 16-16V154.6c0-3.9 1.5-7.7 4.1-10.7L505.9 48c8.5-9.5 8.1-24-.9-33l-8-8z\"]]\n};\nvar faWalkieTalkie = {\n prefix: 'fad',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", [\"M192 64c17.7 0 32 14.3 32 32h32c0-17.7 14.3-32 32-32s32 14.3 32 32h16c26.5 0 48 21.5 48 48V300.1c0 12.7-5.1 24.9-14.1 33.9l-3.9 3.9c-9 9-14.1 21.2-14.1 33.9V464c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V371.9c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-14.1-21.2-14.1-33.9V144c0-26.5 21.5-48 48-48H160c0-17.7 14.3-32 32-32zm-80 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96h48V24zm0 136c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]]\n};\nvar faFilePen = {\n prefix: 'fad',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V299.5l-94.7 94.7c-8.2 8.2-14 18.5-16.8 29.7l-15 60.1c-2.3 9.4-1.8 19.1 1.4 27.9H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160H256c-17.7 0-32-14.3-32-32V0L384 160zm165.9 75.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.5-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417.1L441.2 287.8l71 71L382.9 488.1c-4.1 4.1-9.2 7-14.9 8.4l-60.2 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.2c1.4-5.6 4.3-10.8 8.4-14.9z\"]]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'fad',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", [\"M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.3-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\", \"M80 160c0-8.8 7.2-16 16-16H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zm0 192c0-8.8 7.2-16 16-16H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM96 240H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faTablePicnic = {\n prefix: 'fad',\n iconName: 'table-picnic',\n icon: [512, 512, [], \"e32d\", [\"M320.7 64h-1.5c.5 0 1 0 1.5 0zM416 128L96 128c-14.6 0-26.8-9.7-30.7-23c3.9 13.3 16.2 23 30.7 23h48.7l-38.4 96h68.9l38.4-96h84.7l38.4 96h68.9l-38.4-96H416zM0 256c0 17.7 14.3 32 32 32H80.7L34.3 404.1c-6.6 16.4 1.4 35 17.8 41.6s35-1.4 41.6-17.8l56-139.9H362.3l56 139.9c6.6 16.4 25.2 24.4 41.6 17.8s24.4-25.2 17.8-41.6L431.3 288H480L32 288c-17.7 0-32-14.3-32-32zM191.3 64c.5 0 1 0 1.5 0h-1.5zM64 96s0 0 0 0z\", \"M96 64C78.3 64 64 78.3 64 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H96zM32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faSquarePen = {\n prefix: 'fad',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM325.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\", \"M269.2 139.7l-21.4 21.4 71 71 21.4-21.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-44 44L119.9 289c-4.1 4.1-7 9.2-8.4 14.9L96.5 364c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L296.1 254.7l-71-71z\"]]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faCircleMicrophoneLines = {\n prefix: 'fad',\n iconName: 'circle-microphone-lines',\n icon: [512, 512, [\"microphone-circle-alt\"], \"e117\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 96c-26.5 0-48 21.5-48 48V256c0 26.5 21.5 48 48 48s48-21.5 48-48V240H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V176H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c0-26.5-21.5-48-48-48zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 65.3 48.9 119.1 112 127v17c0 8.8 7.2 16 16 16s16-7.2 16-16V383c63.1-7.9 112-61.7 112-127V240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53-43 96-96 96s-96-43-96-96V240z\", \"M208 144c0-26.5 21.5-48 48-48s48 21.5 48 48H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v16c0 26.5-21.5 48-48 48s-48-21.5-48-48V144zm-64 80c8.8 0 16 7.2 16 16v16c0 53 43 96 96 96s96-43 96-96V240c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 65.3-48.9 119.1-112 127v17c0 8.8-7.2 16-16 16s-16-7.2-16-16V383c-63.1-7.9-112-61.7-112-127V240c0-8.8 7.2-16 16-16z\"]]\n};\nvar faMicrophoneCircleAlt = faCircleMicrophoneLines;\nvar faDisplaySlash = {\n prefix: 'fad',\n iconName: 'display-slash',\n icon: [640, 512, [\"desktop-slash\"], \"e2fa\", [\"M446.8 448H378.7L368 416h38.2l-81.2-64H96V171.6L32 121.2V352c0 35.3 28.7 64 64 64H272l-10.7 32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H448c17.7 0 32-14.3 32-32c0-2.2-.2-4.3-.6-6.3L446.8 448zM544 352H481.4l79 61.9c27.4-7.2 47.6-32.2 47.6-61.9V64c0-35.3-28.7-64-64-64H96C79.6 0 64.6 6.2 53.2 16.4L113.9 64H544V352z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faDesktopSlash = faDisplaySlash;\nvar faSuitcaseRolling = {\n prefix: 'fad',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", [\"M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H152C121.1 0 96 25.1 96 56v72h48V56zM96 512c17.7 0 32-14.3 32-32H64c0 17.7 14.3 32 32 32zm192 0c17.7 0 32-14.3 32-32H256c0 17.7 14.3 32 32 32z\", \"M64 128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm48 96H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faPersonCircleExclamation = {\n prefix: 'fad',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c1.4 2.3 3.1 4.5 4.9 6.3c7.9-23 20.5-43.9 36.6-61.5l-44.9-74.7c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faTransporter2 = {\n prefix: 'fad',\n iconName: 'transporter-2',\n icon: [512, 512, [], \"e044\", [\"M64 32L56.7 6.6C55.6 2.7 52.1 0 48 0s-7.6 2.7-8.7 6.6L32 32 6.6 39.3C2.7 40.4 0 43.9 0 48s2.7 7.6 6.6 8.7L32 64l7.3 25.4C40.4 93.3 43.9 96 48 96s7.6-2.7 8.7-6.6L64 64l25.4-7.3C93.3 55.6 96 52.1 96 48s-2.7-7.6-6.6-8.7L64 32zM480 352l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 352l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 352zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm8 464H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H384c17.7 0 32 14.3 32 32s-14.3 32-32 32H296 216zM351.3 164l48.1 60H112.6l48.1-60c18.2-22.7 45.8-36 74.9-36h40.7c29.1 0 56.7 13.2 74.9 36zM96 256.5v-1c0 .3 0 .7 0 1z\"]]\n};\nvar faHandsHoldingDiamond = {\n prefix: 'fad',\n iconName: 'hands-holding-diamond',\n icon: [640, 512, [\"hand-receiving\"], \"f47c\", [\"M80 104c0-22.1-17.9-40-40-40S0 81.9 0 104v56 64V325.5c0 25.5 10.1 49.9 28.1 67.9L128 493.3c12 12 28.3 18.7 45.3 18.7H240c26.5 0 48-21.5 48-48V385.1c0-29.7-11.8-58.2-32.8-79.2l-25.3-25.3 0 0-15.2-15.2-32-32c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l32 32 15.2 15.2c11 11 9.2 29.2-3.7 37.8c-9.7 6.5-22.7 5.2-31-3.1L98.7 309.5c-12-12-18.7-28.3-18.7-45.3V224 144 104zm480 0v40 80 40.2c0 17-6.7 33.3-18.7 45.3l-51.1 51.1c-8.3 8.3-21.3 9.6-31 3.1c-12.9-8.6-14.7-26.9-3.7-37.8l15.2-15.2 32-32c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-32 32-15.2 15.2 0 0-25.3 25.3c-21 21-32.8 49.5-32.8 79.2V464c0 26.5 21.5 48 48 48h66.7c17 0 33.3-6.7 45.3-18.7l99.9-99.9c18-18 28.1-42.4 28.1-67.9V224 160 104c0-22.1-17.9-40-40-40s-40 17.9-40 40z\", \"M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96z\"]]\n};\nvar faHandReceiving = faHandsHoldingDiamond;\nvar faMoneyBillSimpleWave = {\n prefix: 'fad',\n iconName: 'money-bill-simple-wave',\n icon: [576, 512, [], \"e1f2\", [\"M288 352c44.2 0 80-43 80-96s-35.8-96-80-96s-80 43-80 96s35.8 96 80 96z\", \"M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\"]]\n};\nvar faChevronDown = {\n prefix: 'fad',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", [\"M278.6 406.6c-12.5 12.5-32.8 12.5-45.3 0l-192-192c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L256 338.7 425.4 169.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-192 192z\", \"\"]]\n};\nvar faBatteryFull = {\n prefix: 'fad',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", [\"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\", \"M96 192H448V320H96z\"]]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faBellPlus = {\n prefix: 'fad',\n iconName: 'bell-plus',\n icon: [448, 512, [], \"f849\", [\"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 152c13.3 0 24 10.7 24 24v40h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264H160c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V176c0-13.3 10.7-24 24-24z\", \"M224 152c13.3 0 24 10.7 24 24v40h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264H160c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V176c0-13.3 10.7-24 24-24zm45.3 341.3c-12 12-28.3 18.7-45.3 18.7s-33.3-6.7-45.3-18.7s-18.7-28.3-18.7-45.3h64 64c0 17-6.7 33.3-18.7 45.3z\"]]\n};\nvar faBookArrowRight = {\n prefix: 'fad',\n iconName: 'book-arrow-right',\n icon: [640, 512, [], \"e0b9\", [\"M553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80zM96 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H416V384H96z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V232H248c-13.3 0-24-10.7-24-24s10.7-24 24-24H448V32c0-17.7-14.3-32-32-32H384 96z\"]]\n};\nvar faHospitals = {\n prefix: 'fad',\n iconName: 'hospitals',\n icon: [576, 512, [], \"f80e\", [\"M256 48c0-26.5 21.5-48 48-48H528c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H311.4c5.4-9.4 8.6-20.3 8.6-32V128c0-35.3-28.7-64-64-64V48zM424 80c-8.8 0-16 7.2-16 16v24H384c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H456V96c0-8.8-7.2-16-16-16H424zM576 288H432c-8.8 0-16-7.2-16-16s7.2-16 16-16H576v32zm0 96V352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16H576z\", \"M408 96v24H384c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H456V96c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16zM48 96C21.5 96 0 117.5 0 144V384H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H0v48c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H48zm88 80h16c8.8 0 16 7.2 16 16v24h24c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H168v24c0 8.8-7.2 16-16 16H136c-8.8 0-16-7.2-16-16V264H96c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16h24V192c0-8.8 7.2-16 16-16z\"]]\n};\nvar faClub = {\n prefix: 'fad',\n iconName: 'club',\n icon: [512, 512, [9827], \"f327\", [\"M288 372.7V256c0-17.7-14.3-32-32-32s-32 14.3-32 32V372.7c-23.5 26.6-57.8 43.3-96 43.3C57.3 416 0 358.7 0 288s57.3-128 128-128c1.4 0 2.7 0 4 .1c-2.6-10.2-4-21-4-32.1C128 57.3 185.3 0 256 0s128 57.3 128 128c0 11.1-1.4 21.8-4 32.1c1.3 0 2.7-.1 4-.1c70.7 0 128 57.3 128 128s-57.3 128-128 128c-38.2 0-72.5-16.8-96-43.3z\", \"M256 224c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V256c0-17.7 14.3-32 32-32z\"]]\n};\nvar faSkullCrossbones = {\n prefix: 'fad',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", [\"M46.3 259.4c-15.8-7.9-35-1.5-42.9 14.3s-1.5 35 14.3 42.9L152.4 384 17.7 451.4C1.9 459.3-4.5 478.5 3.4 494.3s27.1 22.2 42.9 14.3L224 419.8l177.7 88.8c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L295.6 384l134.8-67.4c15.8-7.9 22.2-27.1 14.3-42.9s-27.1-22.2-42.9-14.3L224 348.2 46.3 259.4z\", \"M304 234.4c38.6-23 64-62.1 64-106.4C368 57.3 303.5 0 224 0S80 57.3 80 128c0 44.4 25.4 83.5 64 106.4V256c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V234.4zM136 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm144-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faDropletDegree = {\n prefix: 'fad',\n iconName: 'droplet-degree',\n icon: [512, 512, [\"dewpoint\"], \"f748\", [\"M432 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320z\"]]\n};\nvar faDewpoint = faDropletDegree;\nvar faCodeCompare = {\n prefix: 'fad',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", [\"M400 153.3c9.8 4.3 20.6 6.7 32 6.7s22.2-2.4 32-6.7V320c0 70.7-57.3 128-128 128H320v40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v40h16c35.3 0 64-28.7 64-64V153.3zM112 358.7c-9.8-4.3-20.6-6.7-32-6.7s-22.2 2.4-32 6.7V192c0-70.7 57.3-128 128-128h16V24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V128H176c-35.3 0-64 28.7-64 64V358.7z\", \"M408 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 0A80 80 0 1 0 352 80a80 80 0 1 0 160 0zM104 432a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM0 432a80 80 0 1 0 160 0A80 80 0 1 0 0 432z\"]]\n};\nvar faListUl = {\n prefix: 'fad',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", [\"M160 96c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm32 128H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]]\n};\nvar faListDots = faListUl;\nvar faHandHoldingMagic = {\n prefix: 'fad',\n iconName: 'hand-holding-magic',\n icon: [576, 512, [], \"f6e5\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M208 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-44.2 0-80-35.8-80-80s35.8-80 80-80H320c70.7 0 128 57.3 128 128s-57.3 128-128 128H288c0 17.7-14.3 32-32 32s-32-14.3-32-32V224c0-17.7 14.3-32 32-32h64c35.3 0 64-28.7 64-64s-28.7-64-64-64H208z\"]]\n};\nvar faWatermelonSlice = {\n prefix: 'fad',\n iconName: 'watermelon-slice',\n icon: [512, 512, [], \"e337\", [\"M16.2 385.3L385.3 16.2c-2.9 8.4-1 18.1 5.7 24.8c96.9 96.9 97.1 253.6 .3 350.4S137.9 487.9 41 391c-6.7-6.7-16.4-8.6-24.8-5.7zM339.3 156.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm-80 80c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm88 8c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm-168 72c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm88 8c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16z\", \"M41 391c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c96.9 96.9 97.1 253.6 .3 350.4S137.9 487.9 41 391zM339.3 156.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm-80 80c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm88 8c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm-168 72c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm88 8c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16z\"]]\n};\nvar faCircleEllipsis = {\n prefix: 'fad',\n iconName: 'circle-ellipsis',\n icon: [512, 512, [], \"e10a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M128 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faSchoolLock = {\n prefix: 'fad',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", [\"M337.8 5.4C327-1.8 313-1.8 302.2 5.4L166.3 96H48C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H320v0H256V416c0-35.3 28.7-64 64-64l.3 0H384c0-23.7 12.9-44.4 32-55.4V272c0-61.9 50.1-112 112-112s112 50.1 112 112V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM232 176a88 88 0 1 1 176 0 88 88 0 1 1 -176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V144c0-8.8-7.2-16-16-16z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faTowerCell = {\n prefix: 'fad',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", [\"M80.3 44C86.9 27.6 79 9 62.6 2.3S27.6 3.6 20.9 20C7.4 53.4 0 89.9 0 128s7.4 74.6 20.9 108c6.6 16.4 25.3 24.3 41.7 17.7S86.9 228.4 80.3 212C69.8 186.1 64 157.8 64 128s5.8-58.1 16.3-84zM555.1 20C548.4 3.6 529.8-4.3 513.4 2.3S489.1 27.6 495.7 44C506.2 69.9 512 98.2 512 128s-5.8 58.1-16.3 84c-6.6 16.4 1.3 35 17.7 41.7s35-1.3 41.7-17.7c13.5-33.4 20.9-69.9 20.9-108s-7.4-74.6-20.9-108zM163.3 73.6c5.3-12.1-.2-26.3-12.4-31.6s-26.3 .2-31.6 12.4C109.5 77 104 101.9 104 128s5.5 51 15.3 73.6c5.3 12.1 19.5 17.7 31.6 12.4s17.7-19.5 12.4-31.6C156 165.8 152 147.4 152 128s4-37.8 11.3-54.4zM456.7 54.4c-5.3-12.1-19.5-17.7-31.6-12.4s-17.7 19.5-12.4 31.6C420 90.2 424 108.6 424 128s-4 37.8-11.3 54.4c-5.3 12.1 .2 26.3 12.4 31.6s26.3-.2 31.6-12.4C466.5 179 472 154.1 472 128s-5.5-51-15.3-73.6z\", \"M340.1 165.2c7.5-10.5 11.9-23.3 11.9-37.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 13.9 4.4 26.7 11.9 37.2L98.9 466.8c-7.3 16.1-.2 35.1 15.9 42.4s35.1 .2 42.4-15.9L177.7 448H398.3l20.6 45.2c7.3 16.1 26.3 23.2 42.4 15.9s23.2-26.3 15.9-42.4L340.1 165.2zM369.2 384H206.8l14.5-32H354.7l14.5 32zM288 205.3L325.6 288H250.4L288 205.3z\"]]\n};\nvar faSdCards = {\n prefix: 'fad',\n iconName: 'sd-cards',\n icon: [448, 512, [], \"e240\", [\"M304 88c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V88zm80 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V88zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\", \"M448 64c0-35.3-28.7-64-64-64H237.3C220.3 0 204 6.7 192 18.7L114.7 96c-12 12-18.7 28.3-18.7 45.3V352c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64zM304 88v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faJugBottle = {\n prefix: 'fad',\n iconName: 'jug-bottle',\n icon: [640, 512, [], \"e5fb\", [\"M448 88c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v40H448V88zM416 392.6c.3-.2 .7-.4 1-.6c-.3-.2-.7-.4-1-.6V256c0-24.7-5.6-48.1-15.6-69c5.1-5.3 11.1-9.8 18-13l13.1-6.2c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l13.1 6.2c21 9.9 34.5 31 34.5 54.2c0 22.8-12.7 42.6-31.5 52.7C627.4 292 640 312.5 640 336c0 24.1-13.3 45.1-33 56c19.7 10.9 33 31.9 33 56c0 35.3-28.7 64-64 64H448c-17 0-32.5-6.7-44-17.5c7.6-13.8 12-29.6 12-46.5V392.6z\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm256 0v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]]\n};\nvar faDownLong = {\n prefix: 'fad',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", [\"M224 320H96v0h0L96 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l0 160h0V320z\", \"M313.4 360.5c6.6-7 8.4-17.2 4.6-26s-12.5-14.5-22-14.5H224L96 320H24c-9.6 0-18.2 5.7-22 14.5s-2 19 4.6 26l136 144c4.5 4.8 10.8 7.5 17.4 7.5s12.9-2.7 17.4-7.5l136-144z\"]]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faEnvelopes = {\n prefix: 'fad',\n iconName: 'envelopes',\n icon: [576, 512, [], \"e170\", [\"M96.7 86.7l220 163c5.6 4.1 12.4 6.4 19.3 6.4s13.7-2.2 19.3-6.4l220-163C570.8 55.7 544.2 32 512 32H160c-32.2 0-58.8 23.7-63.3 54.7zM576 126L374.4 275.3C363.3 283.6 349.8 288 336 288s-27.3-4.4-38.4-12.7L96 126V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V126z\", \"M96 96v30L297.6 275.3c11.1 8.2 24.6 12.7 38.4 12.7s27.3-4.4 38.4-12.7L576 126V96c0-3.2-.2-6.3-.7-9.3l-220 163c-5.6 4.1-12.4 6.4-19.3 6.4s-13.7-2.2-19.3-6.4l-220-163c-.4 3-.7 6.2-.7 9.3zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]]\n};\nvar faPhoneOffice = {\n prefix: 'fad',\n iconName: 'phone-office',\n icon: [576, 512, [], \"f67d\", [\"M128 0C110.3 0 96 14.3 96 32V384c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H128zM320 288a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM320 416a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\", \"M64 32H96V384c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V32H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32zM352 96c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H352zM320 288a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm160-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM448 416a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-96-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]]\n};\nvar faRankingStar = {\n prefix: 'fad',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", [\"M224 288c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V288zM0 352c0-17.7 14.3-32 32-32H160c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V352zm480 32H608c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\", \"M330.2 6.3l23.6 47.8 52.3 7.5c9.3 1.4 13.2 12.9 6.4 19.8l-38 36.6 9 52.1c1.4 9.3-8.2 16.5-16.8 12.2l-46.6-24.4-46.9 24.8c-8.6 4.3-18.3-2.9-16.8-12.2l9-52.1-38-37c-6.8-6.8-2.9-18.3 6.4-19.8l52.3-7.5L309.8 6.3c4.3-8.6 16.5-8.3 20.4 0z\"]]\n};\nvar faChessKing = {\n prefix: 'fad',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", [\"M368 432H80L38.6 473.4c-4.2 4.2-6.6 10-6.6 16C32 501.9 42.1 512 54.6 512H393.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L368 432z\", \"M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V48H176c-17.7 0-32 14.3-32 32s14.3 32 32 32h16v48H40.9C18.3 160 0 178.3 0 200.9c0 4.7 .8 9.3 2.4 13.8L80 432H368l77.6-217.3c1.6-4.4 2.4-9.1 2.4-13.8c0-22.6-18.3-40.9-40.9-40.9H256V112h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V32z\"]]\n};\nvar faNfcPen = {\n prefix: 'fad',\n iconName: 'nfc-pen',\n icon: [576, 512, [], \"e1fa\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H258.5l14-55.9c.7-2.8 1.6-5.5 2.6-8.1H112c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H299.6L352 331.6V144c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v66.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-26.5 21.5-48 48-48h80c26.5 0 48 21.5 48 48V299.6l64-64V96c0-35.3-28.7-64-64-64H64z\", \"M493.2 235.7l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4c-15.6-15.6-40.9-15.6-56.6 0zm-52 52L311.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 358.7l-71-71z\"]]\n};\nvar faPersonHarassing = {\n prefix: 'fad',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", [\"M432 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm88 0c-30.9 0-56 25.1-56 56v58.7l-41.4-41.4c-7.3-7.3-17.6-10.6-27.8-9s-18.9 8.1-23.5 17.3l-48 96c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L408.8 438l54.7 54.7c12.4 12.4 29.1 19.3 46.6 19.3c36.4 0 65.9-29.5 65.9-65.9V344c0-30.9-25.1-56-56-56z\", \"M144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM88 256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6H181c28.6 0 55.6 12.7 73.9 34.7l73.7 88.9c11.3 13.6 9.4 33.8-4.2 45.1s-33.8 9.4-45.1-4.2L232 235.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9zM288 48c0-8.8 7.2-16 16-16h56c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16zm-.8 49.7l48 24c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-48-24c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2z\"]]\n};\nvar faHatWinter = {\n prefix: 'fad',\n iconName: 'hat-winter',\n icon: [512, 512, [], \"f7a8\", [\"M256 0c-12.7 0-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C185.8 57 176 67.3 176 80s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C233 150.2 243.3 160 256 160s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C326.2 103 336 92.7 336 80s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2C279 9.8 268.7 0 256 0zM48 416c-26.5 0-48 21.5-48 48s21.5 48 48 48H464c26.5 0 48-21.5 48-48s-21.5-48-48-48H48z\", \"M199 136.1c.1 .2 .3 .3 .4 .4c8.9 8.9 23.2 9.4 32.6 1.2C233 150.2 243.3 160 256 160s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2c.1-.1 .3-.3 .4-.4c78.9 24 120.7 96.7 142.8 162.1l-.7 .3c-4.5 2.3-9.8 2.3-14.3 0l-35.4-17.7c-13.5-6.8-29.4-6.8-42.9 0l-35.4 17.7c-4.5 2.3-9.8 2.3-14.3 0l-35.4-17.7c-13.5-6.8-29.4-6.8-42.9 0l-35.4 17.7c-4.5 2.3-9.8 2.3-14.3 0l-35.4-17.7c-13.5-6.8-29.4-6.8-42.9 0L71.2 298.5c-4.5 2.3-9.8 2.3-14.3 0l-.7-.3c22.1-65.3 64-138.1 142.8-162.1zM46.9 329.1c12.5 4.8 26.5 4.1 38.6-1.9l35.4-17.7c4.5-2.3 9.8-2.3 14.3 0l35.4 17.7c13.5 6.8 29.4 6.8 42.9 0l35.4-17.7c4.5-2.3 9.8-2.3 14.3 0l35.4 17.7c13.5 6.8 29.4 6.8 42.9 0l35.4-17.7c4.5-2.3 9.8-2.3 14.3 0l35.4 17.7c12.1 6 26.1 6.7 38.6 1.9C477.9 377.7 480 416 480 416v2.7c-5-1.8-10.4-2.7-16-2.7H48c-5.6 0-11 1-16 2.7V416s2.1-38.3 14.9-86.9z\"]]\n};\nvar faBrazilianRealSign = {\n prefix: 'fad',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", [\"M400 0c17.7 0 32 14.3 32 32V50.2c12.5 2.3 24.7 6.4 36.2 12.1l10.1 5.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-10.2-5.1c-9.9-5-20.9-7.5-32-7.5h-1.7c-29.8 0-53.9 24.1-53.9 53.9c0 22 13.4 41.8 33.9 50l52 20.8c44.7 17.9 74.1 61.2 74.1 109.4v3.4c0 51.2-33.6 94.6-80 109.2V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V460.6c-15-3.5-29.4-9.7-42.3-18.3l-23.4-15.6c-14.7-9.8-18.7-29.7-8.9-44.4s29.7-18.7 44.4-8.9L361.2 389c10.8 7.2 23.4 11 36.3 11c27.9 0 50.5-22.6 50.5-50.5v-3.4c0-22-13.4-41.8-33.9-50l-52-20.8C317.3 257.4 288 214.1 288 165.9C288 114 321.5 70 368 54.2V32c0-17.7 14.3-32 32-32z\", \"M32 32C14.3 32 0 46.3 0 64V288 448c0 17.7 14.3 32 32 32s32-14.3 32-32V320h42.3l56 139.9c6.6 16.4 25.2 24.4 41.6 17.8s24.4-25.2 17.8-41.6L170.3 307.7C220.8 285.3 256 234.8 256 176c0-79.5-64.5-144-144-144H32zm80 224H64V96h48c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]]\n};\nvar faLandmarkDome = {\n prefix: 'fad',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", [\"M128 256H64V420.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V256H384V416H344V256H280V416H232V256H168V416H128V256z\", \"M248 0c-13.3 0-24 10.7-24 24V34.7C143.6 48.1 80.1 111.6 66.7 192H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H448c17.7 0 32-14.3 32-32s-14.3-32-32-32h-2.7C431.9 111.6 368.4 48.1 288 34.7V24c0-13.3-10.7-24-24-24H248z\"]]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faBoneBreak = {\n prefix: 'fad',\n iconName: 'bone-break',\n icon: [640, 512, [], \"f5d8\", [\"M80 192c26.1 0 49.3 12.5 63.9 31.8c10.1 13.3 25.7 23.8 42.1 20.5l70.6-14.1c17.3-3.5 34.2 7.8 37.7 25.1L320 384 210.6 405.9C199 408.2 192 420.1 192 432c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-24.5 11.1-46.5 28.5-61.2c3.7-3.1 5.7-7.9 4.8-12.6s-4.7-8.4-9.3-9.8C23.5 338.1 0 307.8 0 272c0-44.2 35.8-80 80-80zm416.1 31.8C510.7 204.5 533.9 192 560 192c44.2 0 80 35.8 80 80c0 35.8-23.5 66.1-55.9 76.3c-4.6 1.5-8.3 5.1-9.3 9.8s1.1 9.5 4.8 12.6C596.9 385.5 608 407.5 608 432c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-11.9-7-23.8-18.6-26.1L320 384l25.7-128.6c3.5-17.3 20.3-28.6 37.7-25.1L454 244.4c16.4 3.3 32.1-7.2 42.1-20.5z\", \"M320 0c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM167 71c9.4-9.4 24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9zM473 71c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faArrowUp = {\n prefix: 'fad',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", [\"M160 141.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l-32-32-32 32z\", \"M169.4 41.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L192 109.3 54.6 246.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\"]]\n};\nvar faDownFromDottedLine = {\n prefix: 'fad',\n iconName: 'down-from-dotted-line',\n icon: [448, 512, [], \"e407\", [\"M384 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM224 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM96 64a32 32 0 1 0 64 0A32 32 0 1 0 96 64zM32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\", \"M196.7 468.7L73.9 345.9c-6.4-6.4-9.9-15-9.9-24C64 303.2 79.2 288 97.9 288H160V160c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V288h62.1c18.7 0 33.9 15.2 33.9 33.9c0 9-3.6 17.6-9.9 24L251.3 468.7c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3z\"]]\n};\nvar faTv = {\n prefix: 'fad',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", [\"M64 64V352H576V64H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32z\", \"M64 64H576V352H64V64z\"]]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faBorderLeft = {\n prefix: 'fad',\n iconName: 'border-left',\n icon: [448, 512, [], \"f84f\", [\"M128 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-448a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\", \"M32 480c-17.7 0-32-14.3-32-32L0 64C0 46.3 14.3 32 32 32s32 14.3 32 32l0 384c0 17.7-14.3 32-32 32z\"]]\n};\nvar faCircleDivide = {\n prefix: 'fad',\n iconName: 'circle-divide',\n icon: [512, 512, [], \"e106\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM168 232H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-80 96c0-13.3 10.7-24 24-24H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24zm112 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faShrimp = {\n prefix: 'fad',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", [\"M0 96C0 60.7 28.7 32 64 32H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H64C46.3 64 32 78.3 32 96s14.3 32 32 32v32C28.7 160 0 131.3 0 96zM288 320V128h32V320H288zm76.9 8.5l133.5-92.4c4.3 10.2 7.6 20.9 9.9 32.1L382.8 355.1c-2.6-10.9-9.1-20.2-17.9-26.6zm17.2 50.3L472.6 415c-7.3 9-15.5 17.3-24.5 24.7l-86.5-34.6c9.7-5.7 17.2-15 20.5-26.2zM352 409.4v69.9c-5.3 .5-10.6 .7-16 .7H320V407.8l3.2 1.1c9.9 3.4 19.9 3.3 28.8 .5z\", \"M64 128H88.8 256h32V320H256 232h0c-92.8 0-168-75.2-168-168V128zM320 320V128h16c73.1 0 135.8 44.6 162.4 108.1L364.9 328.5c-7.5-5.4-16.7-8.5-26.6-8.5H320zm62.8 35.1l125.6-86.9c2.4 11.6 3.7 23.6 3.7 35.9c0 42.1-14.8 80.7-39.4 111l-90.5-36.2c1.2-4.1 1.9-8.5 1.9-13.1c0-3.7-.4-7.2-1.2-10.6zm-21.2 50l86.5 34.6c-26.6 22-59.8 36.3-96.1 39.6V409.4c3.4-1.1 6.6-2.5 9.6-4.3zM320 407.8V480H248c-13.3 0-24-10.7-24-24c0-12.1 9-22.1 20.6-23.8l-4.5-1.6c-12.5-4.4-19.1-18.1-14.7-30.6s18.1-19.1 30.6-14.7L320 407.8zM192 216a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faListCheck = {\n prefix: 'fad',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", [\"M160 416c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm64-160c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c-17.7 0-32 14.3-32 32zm32-128H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H256c-17.7 0-32 14.3-32 32s14.3 32 32 32z\", \"M153.8 72.1c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 101.1 41 79C31.6 69.7 16.4 69.7 7 79s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zm0 160c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 261.1 41 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zM48 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faTasks = faListCheck;\nvar faDiagramSubtask = {\n prefix: 'fad',\n iconName: 'diagram-subtask',\n icon: [512, 512, [], \"e479\", [\"M96 320V224h64v96c0 17.7 14.3 32 32 32h32v64H192c-53 0-96-43-96-96z\", \"M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM288 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H288z\"]]\n};\nvar faJugDetergent = {\n prefix: 'fad',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", [\"M120 0C106.7 0 96 10.7 96 24V48H88C74.7 48 64 58.7 64 72s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V24c0-13.3-10.7-24-24-24H120z\", \"M128 128C57.3 128 0 185.3 0 256V480c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V256c0-70.7-57.3-128-128-128H128zm160 96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCircleUser = {\n prefix: 'fad',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", [\"M399 384.2C376.9 345.8 335.4 320 288 320H224c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8s107.8-24.7 143-63.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 16a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\", \"M256 272a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm0 176c56.8 0 107.8-24.7 143-63.8C376.9 345.8 335.4 320 288 320H224c-47.4 0-88.9 25.8-111 64.2c35.2 39.2 86.2 63.8 143 63.8z\"]]\n};\nvar faUserCircle = faCircleUser;\nvar faSquareY = {\n prefix: 'fad',\n iconName: 'square-y',\n icon: [448, 512, [], \"e287\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm74.1 120.3L224 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L248 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L101.9 183.7c-8.7-10-7.6-25.2 2.4-33.9s25.2-7.6 33.9 2.4z\", \"M104.3 149.9c10-8.7 25.2-7.6 33.9 2.4L224 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L248 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L101.9 183.7c-8.7-10-7.6-25.2 2.4-33.9z\"]]\n};\nvar faUserDoctorHair = {\n prefix: 'fad',\n iconName: 'user-doctor-hair',\n icon: [448, 512, [], \"e458\", [\"M176 112H120c-7.9 0-15.5-1.7-22.3-4.6C96.6 114.1 96 121 96 128c0 70.7 57.3 128 128 128s128-57.3 128-128c0-11-1.4-21.8-4-32H312c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112z\", \"M120 112h56c34.6 0 65-18.3 81.9-45.8C269.2 84.1 289.2 96 312 96h36C333.8 40.8 283.6 0 224 0C160.3 0 107.5 46.5 97.7 107.4c6.8 3 14.4 4.6 22.3 4.6zM288 304.2c-2.7-.1-5.3-.2-8-.2H168c-2.7 0-5.3 .1-8 .2v66.1c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V308.8C54.5 326.7 0 393 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-79-54.5-145.3-128-163.2V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V304.2zM168 424a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faPlanetRinged = {\n prefix: 'fad',\n iconName: 'planet-ringed',\n icon: [512, 512, [129680], \"e020\", [\"M503.9 8.1c35.2 35.2-47.3 174.7-184.2 311.6S43.3 539.1 8.1 503.9c-22.1-22.1 2.3-85.6 57.6-163.7c9.1 20.7 21.8 40.2 38 57.5c-5.7 8.8-11.1 17.8-16.3 26.9c69.3-39.6 130.8-94 187-150.1s110.6-117.7 150.1-187c-9.1 5.2-18 10.6-26.9 16.3c-17.4-16.2-36.9-28.9-57.5-38C418.3 10.4 481.7-14 503.9 8.1z\", \"M408.3 114.3C370.3 73.5 316.1 48 256 48C141.1 48 48 141.1 48 256c0 60.1 25.5 114.3 66.3 152.3c58.5-37.6 111.3-85 160.1-133.8s96.3-101.7 133.8-160.1zm38 57.5c-32.6 46-75.8 97.1-126.6 147.9s-101.8 94-147.9 126.6C197.6 457.7 226 464 256 464c114.9 0 208-93.1 208-208c0-30-6.3-58.4-17.7-84.2z\"]]\n};\nvar faMushroom = {\n prefix: 'fad',\n iconName: 'mushroom',\n icon: [512, 512, [127812], \"e425\", [\"M224 176c44.2 0 80-35.8 80-80c0-26-12.4-49.2-31.7-63.8c-3.5-.2-6.9-.2-10.4-.2H250.1c-33.1 0-64.5 7.1-92.9 19.9C148.9 64.5 144 79.7 144 96c0 44.2 35.8 80 80 80zm208-64c-35.3 0-64 28.7-64 64s28.7 64 64 64c21.2 0 40-10.3 51.7-26.2c-7.6-38.3-24.9-73.1-49.2-101.7c-.8 0-1.7 0-2.5 0zM160 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm153 96H199L169 440.2c-2.4 9.6-.2 19.7 5.8 27.5s15.4 12.3 25.2 12.3H312c9.9 0 19.2-4.5 25.2-12.3s8.2-17.9 5.8-27.5L313 320z\", \"M224 176c44.2 0 80-35.8 80-80c0-26-12.4-49.2-31.7-63.8c65 2.9 122.8 33.3 162.2 79.8c-.8 0-1.7 0-2.5 0c-35.3 0-64 28.7-64 64s28.7 64 64 64c21.2 0 40-10.3 51.7-26.2c2.8 14.3 4.3 29.1 4.3 44.3c0 34.2-27.7 61.9-61.9 61.9H85.9C51.7 320 24 292.3 24 258.1C24 166.3 78.7 87.3 157.3 51.9C148.9 64.5 144 79.7 144 96c0 44.2 35.8 80 80 80zm-96 80a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faUserShield = {\n prefix: 'fad',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c17.6 0 34.6 2.6 50.7 7.3c3.3 59.2 26.8 145.1 103.1 200.2c-1.7 .3-3.5 .5-5.3 .5H29.7C13.3 512 0 498.7 0 482.3z\", \"M504.9 225.7c-5.7-2.3-12.1-2.3-17.8 0l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48zm-8.9 236V273.8L591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7z\"]]\n};\nvar faMegaphone = {\n prefix: 'fad',\n iconName: 'megaphone',\n icon: [576, 512, [128227], \"f675\", [\"M64 190.9L512 64V448L64 321.1C63.4 338.2 49.3 352 32 352c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32c17.3 0 31.4 13.8 32 30.9z\", \"M544 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32zM160 384c0 53 43 96 96 96c46.8 0 85.8-33.5 94.3-77.8L303.7 389c-2.5 24.2-22.9 43-47.7 43c-26.5 0-48-21.5-48-48c0-7.4 1.7-14.5 4.7-20.8L166.2 350c-4 10.6-6.2 22-6.2 34z\"]]\n};\nvar faWreathLaurel = {\n prefix: 'fad',\n iconName: 'wreath-laurel',\n icon: [640, 512, [], \"e5d2\", [\"M384 0c61.9 0 112 50.1 112 112v1c10.2-26.2 29-49.2 55.3-64.4c7.7-4.4 17.4-1.8 21.9 5.9l8 13.9c24.5 42.4 21.9 93.1-2.3 131.9c14.1-5.3 29.3-8.2 45.2-8.2c8.8 0 16 7.2 16 16v16c0 49-27.5 91.6-68 113.1c14.8 2.4 29.5 7.5 43.2 15.5c7.7 4.4 10.3 14.2 5.9 21.9l-8 13.9c-33.6 58.1-105.8 80-165.4 51.8c-5.3 3.7-10.7 7.1-16.3 10.3c-31.8-12.1-65.6-18.4-99.8-18.4H320c97.2 0 176-78.8 176-176c0-40.6-13.1-79.9-37-112.1C399.5 141.3 352 92.2 352 32V16c0-8.8 7.2-16 16-16h16zM208.6 450.4C241.4 469.2 279.5 480 320 480H308.4c-36 0-71.5 8.4-103.8 24.5l-9.9 5c-11.9 5.9-26.3 1.1-32.2-10.7s-1.1-26.3 10.7-32.2l9.9-5c8.3-4.2 16.8-7.9 25.4-11.2z\", \"M144 112C144 50.1 194.1 0 256 0h16c8.8 0 16 7.2 16 16V32c0 60.2-47.5 109.3-107 111.9c-23.9 32.2-37 71.5-37 112.1c0 97.2 78.8 176 176 176h11.6c43.5 0 86.3 10.1 125.2 29.6l9.9 5c11.9 5.9 16.7 20.3 10.7 32.2s-20.3 16.7-32.2 10.7l-9.9-5C403.1 488.4 367.6 480 331.6 480H320c-47.5 0-91.5-14.8-127.7-39.9c-59.6 28.2-131.9 6.3-165.4-51.8l-8-13.9c-4.4-7.7-1.8-17.4 5.9-21.9c13.8-8 28.4-13.1 43.3-15.5C27.5 315.6 0 273 0 224V208c0-8.8 7.2-16 16-16c15.9 0 31.1 2.9 45.2 8.2c-24.3-38.8-26.8-89.5-2.3-131.9l8-13.9c4.4-7.7 14.2-10.3 21.9-5.9C115 63.7 133.8 86.8 144 113v-1z\"]]\n};\nvar faCircleExclamationCheck = {\n prefix: 'fad',\n iconName: 'circle-exclamation-check',\n icon: [640, 512, [], \"e10d\", [\"M480 229.5L506.5 203C482.1 87 379.2 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c94.8 0 177.5-51.5 221.8-128c-15.6-.5-31.1-6.8-43-18.7l-64-64c-25-25-25-65.5 0-90.5s65.5-25 90.5 0L480 229.5zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM625 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L625 209z\"]]\n};\nvar faWind = {\n prefix: 'fad',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", [\"M352 384c0 17.7 14.3 32 32 32h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H384c-17.7 0-32 14.3-32 32z\", \"M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c53 0 96-43 96-96s-43-96-96-96H320zM128 512h32c53 0 96-43 96-96s-43-96-96-96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]]\n};\nvar faBoxDollar = {\n prefix: 'fad',\n iconName: 'box-dollar',\n icon: [448, 512, [\"box-usd\"], \"f4a0\", [\"M93.7 32C75.5 32 58.9 42.3 50.7 58.5L0 160H208V32H93.7zM240 32V160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240z\", \"M448 160H240V32H208V160H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V160zM244 216v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2 0 0c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V424c0 11-9 20-20 20s-20-9-20-20V409.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4l0 0c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V216c0-11 9-20 20-20s20 9 20 20z\"]]\n};\nvar faBoxUsd = faBoxDollar;\nvar faCarBurst = {\n prefix: 'fad',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", [\"M160.6 18.8c2.7-6.7 12.2-6.7 14.9 0l26.3 66.6c1.5 3.9 5.8 5.9 9.8 4.7l68.5-21c6.9-2.1 12.9 5.3 9.3 11.6L266.7 120l-36.3 52.5c-27.4 8.9-49.9 31-57.9 60.9L166.8 255c-1.5 .2-3 .9-4.2 2L110 305.6c-5.3 4.9-13.9 .8-13.4-6.5l5.2-71.4c.3-4.2-2.6-7.9-6.8-8.5L24.2 208.4c-7.2-1.1-9.3-10.4-3.3-14.5L80 153.5c3.4-2.4 4.5-7 2.4-10.6L46.8 80.8c-3.6-6.3 2.3-13.8 9.3-11.6l68.5 21c4 1.2 8.3-.8 9.8-4.7l26.3-66.6zm42.9 222.9c1.5-5.6 3.8-10.8 6.7-15.4c-2.9 4.7-5.2 9.8-6.7 15.4l0 0z\", \"M350.4 167.8l-32.2 46.6 201.5 54L515 212c-.5-6.7-5.3-12.4-11.8-14.2L367.7 161.5c-6.5-1.8-13.5 .8-17.3 6.4zM249.8 200.7l47.9-69.3c19.2-27.8 53.9-40.5 86.5-31.8L519.8 136c32.7 8.8 56.3 37.1 59 70.8l6.8 84c17.2 13.4 25.6 36.3 19.6 58.7L595 388l-16.6 61.8-8.3 30.9c-4.6 17.1-22.1 27.2-39.2 22.6l-15.5-4.1c-17.1-4.6-27.2-22.1-22.6-39.2l8.3-30.9L253.8 362.9l-8.3 30.9c-4.6 17.1-22.1 27.2-39.2 22.6l-15.5-4.1c-17.1-4.6-27.2-22.1-22.6-39.2l8.3-30.9 16.6-61.8 10.4-38.6c6-22.4 24.7-38 46.3-41zm47.9 91.1a24 24 0 1 0 -46.4-12.4 24 24 0 1 0 46.4 12.4zm217.9 83.2A24 24 0 1 0 528 328.7a24 24 0 1 0 -12.4 46.4z\"]]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'fad',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", [\"M58 45.4C47.8 31 27.8 27.7 13.4 38S-4.3 68.2 6 82.6L160 298.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V298.3L378 82.6c10.3-14.4 6.9-34.4-7.4-44.6S336.2 31 326 45.4L192 232.9 58 45.4z\", \"\"]]\n};\nvar faUserHeadset = {\n prefix: 'fad',\n iconName: 'user-headset',\n icon: [448, 512, [], \"f82d\", [\"M96 192c0-70.7 57.3-128 128-128s128 57.3 128 128c0 13.9-2.2 27.3-6.3 39.8C337.4 246.3 321.8 256 304 256h-8.6c-11.1-19.1-31.7-32-55.4-32H208c-35.3 0-64 28.7-64 64c0 1.4 0 2.7 .1 4C114.8 268.6 96 232.5 96 192z\", \"M224 32C135.6 32 64 103.6 64 192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192C32 86 118 0 224 0S416 86 416 192v16c0 61.9-50.1 112-112 112H240 224 208c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32h32c44.2 0 80-35.8 80-80V192c0-88.4-71.6-160-160-160zM134.4 352H313.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352z\"]]\n};\nvar faArrowsRetweet = {\n prefix: 'fad',\n iconName: 'arrows-retweet',\n icon: [640, 512, [\"retweet-alt\"], \"f361\", [\"M304 128c0-17.7 14.3-32 32-32H448c53 0 96 43 96 96V338.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L480 338.7V192c0-17.7-14.3-32-32-32H336c-17.7 0-32-14.3-32-32z\", \"M105.4 73.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L160 173.3V320c0 17.7 14.3 32 32 32H304c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V173.3L54.6 214.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96z\"]]\n};\nvar faRetweetAlt = faArrowsRetweet;\nvar faPersonSnowboarding = {\n prefix: 'fad',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", [\"M7 295c9.4-9.4 24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1L429.5 461.4c4.6 1.7 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H443.8c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9z\", \"M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21L297.9 411c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44 0 18.8c0 20.7-13.2 39-32.8 45.5L139 350.1l-39.2-15c-.8-1.6-1.5-3.2-2.1-4.9c-5.6-16.8 3.5-34.9 20.2-40.5L192 264.9l0-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faSquareChevronRight = {\n prefix: 'fad',\n iconName: 'square-chevron-right',\n icon: [448, 512, [\"chevron-square-right\"], \"f32b\", [\"M448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320zM313 273L209 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L313 239c9.4 9.4 9.4 24.6 0 33.9z\", \"M313 239c9.4 9.4 9.4 24.6 0 33.9L209 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L313 239z\"]]\n};\nvar faChevronSquareRight = faSquareChevronRight;\nvar faLacrosseStickBall = {\n prefix: 'fad',\n iconName: 'lacrosse-stick-ball',\n icon: [576, 512, [], \"e3b6\", [\"M9.4 457.4l136-136c11 18.7 26.6 34.3 45.3 45.3l-136 136c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zM496 352a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M264.8 117.7l-3.3 11.5c-5.6 19.6-15.1 37.9-27.8 53.9L205.8 218c-8.9 11.1-13.8 25-13.8 39.2c0 34.7 28.1 62.8 62.8 62.8c14.3 0 28.1-4.9 39.2-13.8l34.9-27.9c15.9-12.8 34.3-22.2 53.9-27.8l11.5-3.3c31.8-9.1 53.7-38.1 53.7-71.2h0c0-.1 0-.2 0-.3c0-19.9-13.6-48.1-38.6-73.1s-53.2-38.6-73.1-38.6c-.1 0-.2 0-.3 0v0c-33.1 0-62.1 21.9-71.2 53.7zM512 176h0c0 61.6-40.9 115.8-100.1 132.7L400.3 312c-11.5 3.3-22.2 8.8-31.5 16.2l-34.9 27.9c-22.5 18-50.4 27.8-79.2 27.8c-70 0-126.8-56.8-126.8-126.8c0-28.8 9.8-56.7 27.8-79.2l27.9-34.9c7.4-9.3 13-20 16.2-31.5l3.3-11.5C220.2 40.9 274.4 0 336 0V0c.1 0 .2 0 .3 0c43.8 0 87.4 26.4 118.4 57.3s57.3 74.5 57.3 118.4c0 .1 0 .2 0 .3z\"]]\n};\nvar faTruckFast = {\n prefix: 'fad',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", [\"M288 112c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H272c8.8 0 16 7.2 16 16zm-48 48c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H240zm-32 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H208zM96 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm288 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M64 48C64 21.5 85.5 0 112 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576h-1.1c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96c-48.1 0-89.2 30.4-105 73c-4.4-7.3-7-15.8-7-25V256H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V192H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V128H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V48zM416 256H544V237.3L466.7 160H416v96z\"]]\n};\nvar faShippingFast = faTruckFast;\nvar faUserMagnifyingGlass = {\n prefix: 'fad',\n iconName: 'user-magnifying-glass',\n icon: [640, 512, [], \"e5c5\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c6.4 0 12.7 .3 19 1c-.5 4.9-.7 9.9-.7 15c0 88.4 71.6 160 160 160c0 .8 0 1.5 0 2.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\", \"M528 320.2a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM519.9 426c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426z\"]]\n};\nvar faStarSharp = {\n prefix: 'fad',\n iconName: 'star-sharp',\n icon: [576, 512, [], \"e28b\", [\"M310.9 16.7C307.7 6.8 298.5 0 288 0s-19.7 6.8-22.9 16.7L214.5 176H56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L172.1 320.7 121.1 480.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7L288 406.4 417.3 506.9c8.3 6.5 19.8 6.8 28.5 .7s12.3-16.9 9.1-27L403.9 320.7 534.7 218.9c8.1-6.3 11.3-17 8-26.7s-12.4-16.2-22.7-16.2H361.6L310.9 16.7z\", \"\"]]\n};\nvar faCommentHeart = {\n prefix: 'fad',\n iconName: 'comment-heart',\n icon: [512, 512, [], \"e5c8\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM144 205.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\", \"M205.3 144c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]]\n};\nvar faCircle1 = {\n prefix: 'fad',\n iconName: 'circle-1',\n icon: [512, 512, [], \"e0ee\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM268 131.2c-7.4-4.3-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L232 193.4V336H192c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V152c0-8.6-4.6-16.5-12-20.8z\", \"M280 152c0-8.6-4.6-16.5-12-20.8s-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L232 193.4V336H192c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V152z\"]]\n};\nvar faCircleStar = {\n prefix: 'fad',\n iconName: 'circle-star',\n icon: [512, 512, [\"star-circle\"], \"e123\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 104c-6.1 0-11.7 3.5-14.3 8.9l-36.2 73.4-81 11.8c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.8 1.2L256 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.9-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81.1-11.8-36.2-73.4c-2.7-5.5-8.3-8.9-14.3-8.9z\", \"M270.3 112.9c-2.7-5.5-8.3-8.9-14.3-8.9s-11.7 3.5-14.3 8.9l-36.2 73.4-81.1 11.8c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.9 1.2L256 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.9-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81-11.8-36.2-73.4z\"]]\n};\nvar faStarCircle = faCircleStar;\nvar faFish = {\n prefix: 'fad',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", [\"M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M416 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]]\n};\nvar faCloudFog = {\n prefix: 'fad',\n iconName: 'cloud-fog',\n icon: [640, 512, [127787, \"fog\"], \"f74e\", [\"M24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm64 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zm208 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H296z\", \"M64 224c0 53 43 96 96 96H480c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C320.5 24.3 283.1 0 240 0C178.1 0 128 50.1 128 112c0 7.1 .7 14.1 1.9 20.8C91.6 145.4 64 181.5 64 224z\"]]\n};\nvar faFog = faCloudFog;\nvar faWaffle = {\n prefix: 'fad',\n iconName: 'waffle',\n icon: [512, 512, [129479], \"e466\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM160 80c-8.8 0-16 7.2-16 16v48H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V368h64v80c0 8.8 7.2 16 16 16s16-7.2 16-16V368h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V368h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V176h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H272V64c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H176V96c0-8.8-7.2-16-16-16zm16 256V272h64v64H176zm96 0V272h64v64H272zm64-160v64H272V176h64zm-96 0v64H176V176h64z\", \"M272 64c0-8.8-7.2-16-16-16s-16 7.2-16 16v80l-64 0V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V368h64v80c0 8.8 7.2 16 16 16s16-7.2 16-16V368h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V368h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V176h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H368V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v48l-64 0V64zm64 272H272V272h64v64zm-96 0H176V272h64v64zm0-96H176V176l64 0v64zm96 0H272V176h64v64z\"]]\n};\nvar faMusicNote = {\n prefix: 'fad',\n iconName: 'music-note',\n icon: [384, 512, [\"music-alt\"], \"f8cf\", [\"M384 32c0-9.9-4.5-19.2-12.3-25.2S353.8-1.4 344.2 1l-128 32C202 36.5 192 49.3 192 64v64V359.7c37.8 12.8 64 40.4 64 72.3V153L359.8 127C374 123.5 384 110.7 384 96V32z\", \"M144 352a112 80 0 1 0 0 160 112 80 0 1 0 0-160z\"]]\n};\nvar faMusicAlt = faMusicNote;\nvar faHexagonExclamation = {\n prefix: 'fad',\n iconName: 'hexagon-exclamation',\n icon: [512, 512, [], \"e417\", [\"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faCartShoppingFast = {\n prefix: 'fad',\n iconName: 'cart-shopping-fast',\n icon: [640, 512, [], \"e0dc\", [\"M523.2 288H234.7L188.5 45.5c-.9-4.8-2.4-9.3-4.4-13.5h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3zM24 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M64 24C64 10.7 74.7 0 88 0h45.5c26.9 0 50 19.1 55 45.5l51.6 271c2.2 11.3 12.1 19.5 23.6 19.5H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H263.7c-34.6 0-64.3-24.6-70.7-58.5l-51.6-271c-.7-3.8-4-6.5-7.9-6.5H88C74.7 48 64 37.3 64 24zM192 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faObjectUnion = {\n prefix: 'fad',\n iconName: 'object-union',\n icon: [512, 512, [], \"e49f\", [\"\", \"M64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h96v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V64c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faUserGraduate = {\n prefix: 'fad',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", [\"M96 160V144H352v16c0 70.7-57.3 128-128 128s-128-57.3-128-128z\", \"M219.3 .5c3.1-.6 6.3-.6 9.4 0l200 40C439.9 42.7 448 52.6 448 64s-8.1 21.3-19.3 23.5L352 102.9V144H96V102.9L48 93.3v65.1l15.7 78.4c.9 4.7-.3 9.6-3.3 13.3s-7.6 5.9-12.4 5.9H16c-4.8 0-9.3-2.1-12.4-5.9s-4.3-8.6-3.3-13.3L16 158.4V86.6C6.5 83.3 0 74.3 0 64C0 52.6 8.1 42.7 19.3 40.5l200-40zM111.9 327.7c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6z\"]]\n};\nvar faStarfighter = {\n prefix: 'fad',\n iconName: 'starfighter',\n icon: [640, 512, [], \"e037\", [\"M48 72c13.3 0 24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24zm544 0c13.3 0 24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24zM320 224c17.7 0 32 14.3 32 32v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V256c0-17.7 14.3-32 32-32zM128 320c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V320zm352-32c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h32z\", \"M353.8 14c-1-8-7.8-14-15.9-14H302.1c-8.1 0-14.9 6-15.9 14L256 256v96H224v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V352H72v92l88 26.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32h48 96 48c0 17.7 14.3 32 32 32s32-14.3 32-32v-9.6L568 444V352H512v64c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352H384V256L353.8 14zM288 256c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V256z\"]]\n};\nvar faCircleHalfStroke = {\n prefix: 'fad',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", [\"M512 256C512 114.6 397.4 0 256 0V64c106 0 192 86 192 192s-86 192-192 192v64c141.4 0 256-114.6 256-256z\", \"M256 0C114.6 0 0 114.6 0 256S114.6 512 256 512V0z\"]]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faArrowRightLongToLine = {\n prefix: 'fad',\n iconName: 'arrow-right-long-to-line',\n icon: [640, 512, [], \"e3d5\", [\"M608 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V96c0-17.7 14.3-32 32-32z\", \"M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l370.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z\"]]\n};\nvar faSquareArrowDown = {\n prefix: 'fad',\n iconName: 'square-arrow-down',\n icon: [448, 512, [\"arrow-square-down\"], \"f339\", [\"M64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zm177-87L353 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L207 393c9.4 9.4 24.6 9.4 33.9 0z\", \"M207 393c9.4 9.4 24.6 9.4 33.9 0L353 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L207 393z\"]]\n};\nvar faArrowSquareDown = faSquareArrowDown;\nvar faDiamondHalfStroke = {\n prefix: 'fad',\n iconName: 'diamond-half-stroke',\n icon: [512, 512, [], \"e5b8\", [\"M256 512c10.2 0 20.5-3.9 28.3-11.7l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216C276.5 3.9 266.2 0 256 0V78.5L433.5 256 256 433.5V512z\", \"M256 0c-10.2 0-20.5 3.9-28.3 11.7l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c7.8 7.8 18 11.7 28.3 11.7V0z\"]]\n};\nvar faClapperboard = {\n prefix: 'fad',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", [\"M0 160H512V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160z\", \"M453.8 32.3L327 159l-1 1H233.9L361 33l1-1H448c2 0 3.9 .1 5.8 .3zM393.9 160L498 56c8.8 11 14 24.9 14 40v64H393.9zM201.9 32h92.1L167 159l-1 1H73.9L201 33l1-1zm-67.9 0L7 159l-1 1H0V96C0 60.7 28.7 32 64 32h70.1z\"]]\n};\nvar faSquareChevronLeft = {\n prefix: 'fad',\n iconName: 'square-chevron-left',\n icon: [448, 512, [\"chevron-square-left\"], \"f32a\", [\"M0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416zM135 239L239 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L135 273c-9.4-9.4-9.4-24.6 0-33.9z\", \"M135 273c-9.4-9.4-9.4-24.6 0-33.9L239 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L135 273z\"]]\n};\nvar faChevronSquareLeft = faSquareChevronLeft;\nvar faPhoneIntercom = {\n prefix: 'fad',\n iconName: 'phone-intercom',\n icon: [512, 512, [], \"e434\", [\"M224 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H224zm48 288a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm80 16c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zM256 96H416c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\", \"M48 32C21.5 32 0 53.5 0 80V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM368 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368z\"]]\n};\nvar faLinkHorizontal = {\n prefix: 'fad',\n iconName: 'link-horizontal',\n icon: [640, 512, [\"chain-horizontal\"], \"e1cb\", [\"M640 303.4C640 383.3 575.3 448 495.4 448H336.6C256.7 448 192 383.3 192 303.4c0-70.7 51.1-131 120.8-142.6l1.9-.3c17.4-2.9 33.9 8.9 36.8 26.3s-8.9 33.9-26.3 36.8l-1.9 .3C284.5 230.4 256 264 256 303.4c0 44.5 36.1 80.6 80.6 80.6H495.4c44.5 0 80.6-36.1 80.6-80.6c0-39.4-28.5-73-67.4-79.5l-1.9-.3c-17.4-2.9-29.2-19.4-26.3-36.8s19.4-29.2 36.8-26.3l1.9 .3c69.7 11.6 120.8 72 120.8 142.6z\", \"M0 208.6C0 128.7 64.7 64 144.6 64H303.4C383.3 64 448 128.7 448 208.6c0 70.7-51.1 131-120.8 142.6l-1.9 .3c-17.4 2.9-33.9-8.9-36.8-26.3s8.9-33.9 26.3-36.8l1.9-.3c38.9-6.5 67.4-40.1 67.4-79.5c0-44.5-36.1-80.6-80.6-80.6H144.6C100.1 128 64 164.1 64 208.6c0 39.4 28.5 73 67.4 79.5l1.9 .3c17.4 2.9 29.2 19.4 26.3 36.8s-19.4 29.2-36.8 26.3l-1.9-.3C51.1 339.6 0 279.3 0 208.6z\"]]\n};\nvar faChainHorizontal = faLinkHorizontal;\nvar faMango = {\n prefix: 'fad',\n iconName: 'mango',\n icon: [512, 512, [], \"e30f\", [\"M320 96c-49.1 0-98.3 18.7-135.8 56.2c-45.8 37.2-67.8 76.7-88.4 113.5c-19.1 34.1-36.9 66-71.2 91.8C15 365 7.4 375.4 3.3 387.9c-11.1 33.5 7.1 69.8 40.6 80.9c0 0 100.1 43.3 244.1 43.3c166.5 0 224-147.4 224-224c0-49.1-18.7-98.3-56.2-135.8c-25.2-25.2-55.6-41.9-87.8-50.2V128c0 13.3-10.7 24-24 24s-24-10.7-24-24V96zm96 192c8.8 0 16 7.2 16 16c0 70.7-57.3 128-128 128c-8.8 0-16-7.2-16-16s7.2-16 16-16c53 0 96-43 96-96c0-8.8 7.2-16 16-16z\", \"M352 0h-8c-13.3 0-24 10.7-24 24V128c0 13.3 10.7 24 24 24s24-10.7 24-24V53.1C385.2 79 414.6 96 448 96h40c13.3 0 24-10.7 24-24c0-39.8-32.2-72-72-72H384h-8H352z\"]]\n};\nvar faMusicNoteSlash = {\n prefix: 'fad',\n iconName: 'music-note-slash',\n icon: [640, 512, [\"music-alt-slash\"], \"f8d0\", [\"M512 32c0-9.9-4.5-19.2-12.3-25.2S481.8-1.4 472.2 1l-128 32C330 36.5 320 49.3 320 64v64 97.5l64 50.2V153L487.8 127C502 123.5 512 110.7 512 96V32zM320 348.1v11.6c-14.5-4.9-30.8-7.7-48-7.7c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V398.5l-64-50.4z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faMusicAltSlash = faMusicNoteSlash;\nvar faCircleRadiation = {\n prefix: 'fad',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", [\"M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5z\"]]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faFaceTongueSweat = {\n prefix: 'fad',\n iconName: 'face-tongue-sweat',\n icon: [576, 512, [], \"e39e\", [\"M99.6 429.3c28.9 31.4 65.5 55.5 106.9 69.4C197.3 484 192 466.6 192 448V416.7c-10.2-7.2-16-15.7-16-24.7c0-26.5 50.1-48 112-48s112 21.5 112 48c0 9-5.8 17.5-16 24.7V448c0 18.6-5.3 36-14.5 50.8C470.9 464.7 544 368.9 544 256C544 114.6 429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8c7 9.2 18.1 24.6 27.7 40.7c4.8 8.1 9.6 17 13.2 25.7c3.4 8 7.1 19 7.1 30.5c0 24.5-11.1 46-28.4 60.3zM399.6 272a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm19.7-91.3c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm121.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\", \"M227.3 148.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zM207.6 240a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-18.9-68.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4zM352 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6zM48 416c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C67.6 308.6 96 349 96 369c0 26-21.5 47-48 47z\"]]\n};\nvar faGlobeStand = {\n prefix: 'fad',\n iconName: 'globe-stand',\n icon: [640, 512, [], \"f5f6\", [\"\", \"M304 64a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM111 367c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l18.5-18.5c34.3 27.7 74.9 43.8 116.5 48.3V464H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H328V430.7c49.1-5.3 96.8-26.7 134.4-64.3c81.7-81.7 87.1-211 16.1-298.9L497 49c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L428.5 49.6c-9.4 9.4-9.4 24.6 0 33.9c68.7 68.7 68.7 180.2 0 248.9s-180.2 68.7-248.9 0c-9.4-9.4-24.6-9.4-33.9 0L111 367z\"]]\n};\nvar faBaseball = {\n prefix: 'fad',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", [\"M62.7 223.4c-4.8 .4-9.7 .6-14.7 .6c-15.6 0-30.8-2-45.2-5.9C19.2 107.1 107.1 19.2 218.1 2.8C222 17.2 224 32.4 224 48c0 4.9-.2 9.8-.6 14.7c-.7 8.8 5.8 16.5 14.6 17.3s16.5-5.8 17.3-14.6c.5-5.7 .7-11.5 .7-17.3c0-16.5-1.9-32.6-5.6-47.9c1.8 0 3.7-.1 5.6-.1C397.4 0 512 114.6 512 256c0 1.9 0 3.7-.1 5.6c-15.4-3.6-31.4-5.6-47.9-5.6c-5.8 0-11.6 .2-17.3 .7c-8.8 .7-15.4 8.5-14.6 17.3s8.5 15.4 17.3 14.6c4.8-.4 9.7-.6 14.7-.6c15.6 0 30.8 2 45.2 5.9C492.8 404.9 404.9 492.8 293.9 509.2C290 494.8 288 479.6 288 464c0-4.9 .2-9.8 .6-14.7c.7-8.8-5.8-16.5-14.6-17.3s-16.5 5.8-17.3 14.6c-.5 5.7-.7 11.5-.7 17.3c0 16.5 1.9 32.6 5.6 47.9c-1.8 0-3.7 .1-5.6 .1C114.6 512 0 397.4 0 256c0-1.9 0-3.7 .1-5.6C15.4 254.1 31.5 256 48 256c5.8 0 11.6-.2 17.3-.7c8.8-.7 15.4-8.5 14.6-17.3s-8.5-15.4-17.3-14.6zM121.3 208c-8 3.7-11.6 13.2-7.9 21.2s13.2 11.6 21.2 7.9c45.2-20.8 81.7-57.2 102.5-102.5c3.7-8 .2-17.5-7.9-21.2s-17.5-.2-21.2 7.9c-17.6 38.3-48.5 69.2-86.7 86.7zm277.2 74.7c-3.7-8-13.2-11.6-21.2-7.9c-45.2 20.8-81.7 57.2-102.5 102.5c-3.7 8-.2 17.5 7.9 21.2s17.5 .2 21.2-7.9c17.6-38.3 48.5-69.2 86.7-86.7c8-3.7 11.6-13.2 7.9-21.2z\", \"M48 224c4.9 0 9.8-.2 14.7-.6c8.8-.7 16.5 5.8 17.3 14.6s-5.8 16.5-14.6 17.3c-5.7 .5-11.5 .7-17.3 .7c-16.5 0-32.6-1.9-47.9-5.6c.2-11 1.2-21.7 2.7-32.3C17.2 222 32.4 224 48 224zM250.4 .1C254.1 15.4 256 31.5 256 48c0 5.8-.2 11.6-.7 17.3c-.7 8.8-8.5 15.4-17.3 14.6s-15.4-8.5-14.6-17.3c.4-4.8 .6-9.7 .6-14.7c0-15.6-2-30.8-5.9-45.2c10.6-1.6 21.4-2.5 32.3-2.7zM511.9 261.6c-.2 11-1.2 21.7-2.7 32.3C494.8 290 479.6 288 464 288c-5 0-9.8 .2-14.7 .6c-8.8 .7-16.5-5.8-17.3-14.6s5.8-16.5 14.6-17.3c5.7-.5 11.5-.7 17.3-.7c16.5 0 32.6 1.9 47.9 5.6zM293.9 509.2c-10.6 1.6-21.4 2.5-32.3 2.7c-3.6-15.4-5.6-31.4-5.6-47.9c0-5.8 .2-11.6 .7-17.3c.7-8.8 8.5-15.4 17.3-14.6s15.4 8.5 14.6 17.3c-.4 4.8-.6 9.7-.6 14.7c0 15.6 2 30.8 5.9 45.2zm-180.4-280c-3.7-8-.2-17.5 7.9-21.2c38.3-17.6 69.2-48.5 86.7-86.7c3.7-8 13.2-11.6 21.2-7.9s11.6 13.2 7.9 21.2c-20.8 45.2-57.2 81.7-102.5 102.5c-8 3.7-17.5 .2-21.2-7.9zm285.1 53.5c3.7 8 .2 17.5-7.9 21.2c-38.3 17.6-69.2 48.5-86.7 86.7c-3.7 8-13.2 11.6-21.2 7.9s-11.6-13.2-7.9-21.2c20.8-45.2 57.2-81.7 102.5-102.5c8-3.7 17.5-.2 21.2 7.9z\"]]\n};\nvar faBaseballBall = faBaseball;\nvar faCircleP = {\n prefix: 'fad',\n iconName: 'circle-p',\n icon: [512, 512, [], \"e11a\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H208v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152c0-13.3 10.7-24 24-24zm92 136c24.3 0 44-19.7 44-44s-19.7-44-44-44H208v88h68z\", \"M160 152c0-13.3 10.7-24 24-24h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H208v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152zm48 112h68c24.3 0 44-19.7 44-44s-19.7-44-44-44H208v88z\"]]\n};\nvar faAwardSimple = {\n prefix: 'fad',\n iconName: 'award-simple',\n icon: [384, 512, [], \"e0ab\", [\"M95.4 357.9l-31 134.5c-1.3 5.5 .5 11.3 4.6 15.2s10 5.3 15.4 3.8L192 480.6l107.6 30.7c5.4 1.6 11.3 .1 15.4-3.8s5.8-9.7 4.6-15.2l-31-134.5c-5.8 3.5-12.5 5.3-19.4 5.1l-20.9-.5c-6.9-.2-13.7 1.7-19.6 5.2l-17.9 10.9c-11.5 7-26 7-37.5 0l-17.9-10.9c-5.9-3.6-12.7-5.4-19.6-5.2l-20.9 .5c-7 .2-13.7-1.7-19.4-5.1z\", \"M210.7 5.3c-11.5-7-26-7-37.5 0L155.4 16.1c-5.9 3.6-12.7 5.4-19.6 5.2l-20.9-.5c-13.5-.3-26 6.9-32.5 18.7L72.4 58c-3.3 6.1-8.3 11-14.3 14.3l-18.4 10c-11.8 6.5-19.1 19-18.7 32.5l.5 20.9c.2 6.9-1.7 13.7-5.2 19.6L5.3 173.3c-7 11.5-7 26 0 37.5l10.9 17.9c3.6 5.9 5.4 12.7 5.2 19.6l-.5 20.9c-.3 13.5 6.9 26 18.7 32.5l18.4 10c6.1 3.3 11 8.3 14.3 14.3l10 18.4c6.5 11.8 19 19.1 32.5 18.7l20.9-.5c6.9-.2 13.7 1.7 19.6 5.2l17.9 10.9c11.5 7 26 7 37.5 0l17.9-10.9c5.9-3.6 12.7-5.4 19.6-5.2l20.9 .5c13.5 .3 26-6.9 32.5-18.7l10-18.4c3.3-6.1 8.3-11 14.3-14.3l18.4-10c11.8-6.5 19.1-19 18.7-32.5l-.5-20.9c-.2-6.9 1.7-13.7 5.2-19.6l10.9-17.9c7-11.5 7-26 0-37.5l-10.9-17.9c-3.6-5.9-5.4-12.7-5.2-19.6l.5-20.9c.3-13.5-6.9-26-18.7-32.5L326 72.4c-6.1-3.3-11-8.3-14.3-14.3l-10-18.4c-6.5-11.8-19-19.1-32.5-18.7l-20.9 .5c-6.9 .2-13.7-1.7-19.6-5.2L210.7 5.3zM192 112a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faJetFighterUp = {\n prefix: 'fad',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", [\"M48 384V296l144-80V384H48zm416 0H320V216l144 80v88z\", \"M270.7 9.7C268.2 3.8 262.4 0 256 0s-12.2 3.8-14.7 9.7L197.2 112.6c-3.4 8-5.2 16.5-5.2 25.2V416.7L133.5 468c-3.5 3-5.5 7.4-5.5 12v16c0 8.8 7.2 16 16 16h96V448c0-8.8 7.2-16 16-16s16 7.2 16 16v64h96c8.8 0 16-7.2 16-16V480c0-4.6-2-9-5.5-12L320 416.7V137.9c0-8.7-1.8-17.2-5.2-25.2L270.7 9.7zM24 256c-13.3 0-24 10.7-24 24V392c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-13.3-10.7-24-24-24zm488 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 13.3 10.7 24 24 24s24-10.7 24-24V280z\"]]\n};\nvar faDiagramProject = {\n prefix: 'fad',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", [\"M144 224l80.3 107c2.5-24.2 22.9-43 47.7-43L191.7 181c-2.5 24.2-22.9 43-47.7 43zm48-64H384V96H192v64z\", \"M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM224 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336zM432 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48z\"]]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faPedestal = {\n prefix: 'fad',\n iconName: 'pedestal',\n icon: [448, 512, [], \"e20d\", [\"M32 64C32 28.7 60.7 0 96 0H352c35.3 0 64 28.7 64 64V448H32V64zM144 88A24 24 0 1 0 96 88a24 24 0 1 0 48 0zm184 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M144 88A24 24 0 1 0 96 88a24 24 0 1 0 48 0zm208 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faChartPyramid = {\n prefix: 'fad',\n iconName: 'chart-pyramid',\n icon: [512, 512, [], \"e0e6\", [\"M144.3 192L51 352H461L367.7 192H144.3z\", \"M221.4 59.7L144.3 192H367.7L290.6 59.7c-15.4-26.5-53.7-26.5-69.1 0zM51 352L11.4 419.8C-4.2 446.5 15.1 480 45.9 480H466.1c30.9 0 50.1-33.5 34.6-60.2L461 352H51z\"]]\n};\nvar faSidebar = {\n prefix: 'fad',\n iconName: 'sidebar',\n icon: [512, 512, [], \"e24e\", [\"M512 96c0-35.3-28.7-64-64-64H224V480H448c35.3 0 64-28.7 64-64V96z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H224V32H64zM88 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24s10.7-24 24-24zM64 216c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zm24 72h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faSnowmanHead = {\n prefix: 'fad',\n iconName: 'snowman-head',\n icon: [448, 512, [\"frosty-head\"], \"f79b\", [\"M310.8 512c12.6 0 25.1-3.5 34.9-11.5C388.6 465.3 416 411.8 416 352c0-35-9.4-67.8-25.7-96H57.7C41.3 284.2 32 317 32 352c0 59.8 27.4 113.3 70.3 148.5c9.7 8 22.3 11.5 34.9 11.5H310.8zM195.5 398.9c-2.3-4.5-3.5-9.6-3.5-14.7c0-17.7 14.3-32.2 32-32.2s32 14.5 32 32.2c0 5.1-1.2 10.2-3.5 14.7l-23.8 46.3c-.9 1.7-2.7 2.8-4.7 2.8s-3.8-1.1-4.7-2.8l-23.8-46.3z\", \"M64 64C64 28.7 92.7 0 128 0H320c35.3 0 64 28.7 64 64v96H64V64zm88 224a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm144 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM32 192H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]]\n};\nvar faFrostyHead = faSnowmanHead;\nvar faCopy = {\n prefix: 'fad',\n iconName: 'copy',\n icon: [512, 512, [], \"f0c5\", [\"M192 128H48c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V416H256v32H64V192H192V128z\", \"M224 48c0-26.5 21.5-48 48-48H396.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V48z\"]]\n};\nvar faBurgerGlass = {\n prefix: 'fad',\n iconName: 'burger-glass',\n icon: [640, 512, [], \"e0ce\", [\"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L374 173.6c-24.6 8.3-44.7 19.6-60.9 32c-32.2 24.8-47.2 52.7-52.7 65.3c-3.4 7.7-4.4 15.3-4.4 21.5c0 17.8 7.9 33.9 20.3 44.8C263.8 348.9 256 365.5 256 384c0 16.7 6.4 32 17 43.4c-10.4 8.8-17 21.9-17 36.6c0 18 6 34.6 16 48H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64l6.9 96H310.8l6.9-96H66.4z\", \"M612.5 319.8c15.2 0 27.5-12.3 27.5-27.5c0-3-.5-5.9-1.7-8.6c-8.1-18.4-48.4-91.9-174.3-91.9s-166.2 73.5-174.3 91.9c-1.2 2.7-1.7 5.7-1.7 8.6c0 15.2 12.3 27.5 27.5 27.5H612.5zM368 255.8a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm96-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-240 128c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zm0 80c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faVolumeXmark = {\n prefix: 'fad',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", [\"M391 167c9.4-9.4 24.6-9.4 33.9 0l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9z\", \"M320 64c0-12.6-7.4-24-18.9-29.2s-25-3.1-34.4 5.3L131.8 160H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h67.8L266.7 471.9c9.4 8.4 22.9 10.4 34.4 5.3S320 460.6 320 448V64z\"]]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'fad',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", [\"M352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L131.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L188.8 448c43.1 41.1 100.4 64 160 64H368c41.9 0 80.4-14.6 110.6-39.1c-18.1-5.3-30.6-22-30.6-40.9c0-19 12.6-35.7 30.9-41l31.2-8.9 8.9-31.2c3.7-12.9 13.1-23 25-27.8V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32zM320 352l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L320 384l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L288 384l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L288 352l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6L320 352z\", \"M90.2 71.7L104 120l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L104 168 90.2 216.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 168 7.7 154.2C3.1 152.9 0 148.7 0 144s3.1-8.9 7.7-10.2L56 120 69.8 71.7C71.1 67.1 75.3 64 80 64s8.9 3.1 10.2 7.7zm480 288L584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7z\"]]\n};\nvar faBarsFilter = {\n prefix: 'fad',\n iconName: 'bars-filter',\n icon: [448, 512, [], \"e0ad\", [\"M64 256c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32z\", \"M448 96c0-17.7-14.3-32-32-32H32C14.3 64 0 78.3 0 96s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM288 416c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32z\"]]\n};\nvar faPaintbrushPencil = {\n prefix: 'fad',\n iconName: 'paintbrush-pencil',\n icon: [576, 512, [], \"e206\", [\"M164.7 19.3L298.5 153.1 194.4 257.2c-6-.8-12.2-1.2-18.4-1.2c-.8 0-1.7 0-2.5 0L50.7 133.3c-25-25-25-65.5 0-90.5L74.2 19.3c25-25 65.5-25 90.5 0zM384.6 467.1L320 402.5c0-.8 0-1.7 0-2.5c0-6.2-.4-12.4-1.2-18.4L422.9 277.5l75.6 75.6c6.7 6.7 11.6 15.1 14.2 24.2l29.7 104c2.4 8.4 .1 17.4-6.1 23.6s-15.2 8.5-23.6 6.1l-104-29.7c-9.1-2.6-17.5-7.5-24.2-14.2z\", \"M559.6 16.4c21.9 21.9 21.9 57.3 0 79.2L306.9 348.3l-79.2-79.2L480.4 16.4c21.9-21.9 57.3-21.9 79.2 0zM205.1 291.7l79.2 79.2-.1 .1c2.5 9.3 3.8 19 3.8 29c0 61.9-50.1 112-112 112H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h4.8c17.6 0 29.6-18.9 27.8-36.4c-.4-3.8-.6-7.7-.6-11.6c0-61.9 50.1-112 112-112c10 0 19.8 1.3 29 3.8l.1-.1z\"]]\n};\nvar faPartyBell = {\n prefix: 'fad',\n iconName: 'party-bell',\n icon: [512, 512, [], \"e31a\", [\"M448 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM320 480a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM393 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8.2 8.3c24.4 24.4 56.4 39.8 90.7 43.6l27.4 3c13.2 1.5 25-8 26.5-21.2s-8-25-21.2-26.5l-27.4-3c-23.5-2.6-45.4-13.1-62.1-29.8L393 167zM167 359c-9.4 9.4-9.4 24.6 0 33.9l8.3 8.3c16.7 16.7 27.2 38.6 29.8 62.1l3 27.4c1.5 13.2 13.3 22.7 26.5 21.2s22.7-13.3 21.2-26.5l-3-27.4c-3.8-34.3-19.2-66.3-43.6-90.7L201 359c-9.4-9.4-24.6-9.4-33.9 0zM469.7 503.5c8.6 10.1 23.7 11.4 33.8 2.8s11.4-23.7 2.8-33.8l-8.5-10c-4.9-5.8-7.5-13.2-7.3-20.7c1.1-42.5-31.7-78.3-74.2-80.8l-30-1.8c-16.6-1-29.4-15-29-31.6c.5-19.4-6.1-38.2-18.6-53l-8.5-10c-8.6-10.1-23.7-11.4-33.8-2.8s-11.4 23.7-2.8 33.8l8.5 10c4.9 5.8 7.5 13.2 7.3 20.7c-1.1 42.5 31.7 78.3 74.2 80.8l30 1.8c16.6 1 29.4 15 29 31.6c-.5 19.4 6.1 38.2 18.6 53l8.5 10z\", \"M224 0C100.3 0 0 100.3 0 224c0 35.3 8.2 68.9 22.8 98.7C32.3 341.9 51.7 352 70.7 352c14.5 0 28.3-5.7 38.5-16L336 109.2c10.2-10.2 16-24.1 16-38.5c0-19-10.1-38.4-29.3-47.8C292.9 8.2 259.3 0 224 0z\"]]\n};\nvar faUserVneckHair = {\n prefix: 'fad',\n iconName: 'user-vneck-hair',\n icon: [448, 512, [], \"e462\", [\"M176 112H120c-7.9 0-15.5-1.7-22.3-4.6C96.6 114.1 96 121 96 128c0 70.7 57.3 128 128 128s128-57.3 128-128c0-11-1.4-21.8-4-32H312c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112z\", \"M120 112h56c34.6 0 65-18.3 81.9-45.8C269.2 84.1 289.2 96 312 96h36C333.8 40.8 283.6 0 224 0C160.3 0 107.5 46.5 97.7 107.4c6.8 3 14.4 4.6 22.3 4.6zm25.9 202.9c-3.5-5.2-9.8-8-15.9-6.6C55.5 325.5 0 392.3 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-79.7-55.5-146.5-130-163.7c-6.1-1.4-12.4 1.4-15.9 6.6L237.3 412c-6.3 9.5-20.3 9.5-26.6 0l-64.8-97.1z\"]]\n};\nvar faJackOLantern = {\n prefix: 'fad',\n iconName: 'jack-o-lantern',\n icon: [576, 512, [127875], \"f30e\", [\"M157.5 171.7c-7.5 4.5-16-3.4-10.4-10.1c9.6-11.4 20.6-21.7 32.7-30.5c-.6-.1-1.2-.2-1.8-.3c-8.5-1.8-17.2-2.8-26-2.8C68.1 128 0 214 0 320S68.1 512 152 512c19.3 0 37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8s37.8-4.5 54.7-12.8c8.3-4.1 18.2-4.1 26.5 0c17 8.3 35.4 12.8 54.7 12.8c83.9 0 152-86 152-192s-68.1-192-152-192c-8.9 0-17.6 1-26 2.8c-.6 .1-1.2 .2-1.8 .3c12.1 8.8 23.1 19.1 32.7 30.5c5.6 6.7-2.9 14.6-10.4 10.1C380.3 149 335.7 136 288 136s-92.3 13-130.5 35.7zM208 208c5.3 0 10.3 2.7 13.3 7.1l32 48c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H176c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l32-48c3-4.5 8-7.1 13.3-7.1zm173.3 7.1l32 48c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H336c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l32-48c3-4.5 8-7.1 13.3-7.1s10.3 2.7 13.3 7.1zM368 437.5C346.2 444 319.8 448 288 448s-58.2-4-80-10.5V416c0-8.8-7.2-16-16-16H176c-8.6 0-15.7 6.9-16 15.4c-36.9-24.7-49.9-56.7-54.1-71.4c-1.4-5 .3-10.2 4-13.8c5.8-5.8 15.1-6.6 22.2-2.4c18 10.6 55.5 29.1 107.9 36.8V384c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V368c77.6 0 132.8-26.6 155.9-40.2c7.1-4.2 16.4-3.4 22.2 2.4c3.7 3.7 5.4 8.8 4 13.8c-4.2 14.7-17.3 46.8-54.1 71.4c-.3-8.6-7.3-15.4-16-15.4H384c-8.8 0-16 7.2-16 16v21.5z\", \"M275.5 10.4l-40.9 93.5C251.5 98.8 269.4 96 288 96c22.5 0 44.1 4 64 11.4v-72c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4zM221.3 215.1c-3-4.5-8-7.1-13.3-7.1s-10.3 2.7-13.3 7.1l-32 48c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h64c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-32-48zm160 0c-3-4.5-8-7.1-13.3-7.1s-10.3 2.7-13.3 7.1l-32 48c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h64c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-32-48zM416 415.4c36.9-24.7 49.9-56.7 54.1-71.4c1.4-5-.3-10.2-4-13.8c-5.8-5.8-15.1-6.6-22.2-2.4C420.8 341.4 365.6 368 288 368v16c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V364.5c-52.4-7.7-89.9-26.2-107.9-36.8c-7.1-4.2-16.4-3.4-22.2 2.4c-3.7 3.7-5.4 8.8-4 13.8c4.2 14.7 17.2 46.8 54.1 71.4c.3-8.6 7.3-15.4 16-15.4h16c8.8 0 16 7.2 16 16v21.5c21.8 6.5 48.2 10.5 80 10.5s58.2-4 80-10.5V416c0-8.8 7.2-16 16-16h16c8.6 0 15.7 6.9 16 15.4z\"]]\n};\nvar faGrip = {\n prefix: 'fad',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", [\"M0 328c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48zm160 0c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48zm288 0l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40z\", \"M0 136c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48zm160 0c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48zm288 0l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40z\"]]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'fad',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", [\"M80 96c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V384c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H80z\", \"M352 224v64c0 17.7 14.3 32 32 32h3.7c7.9 0 15.5-2.9 21.4-8.2l139-125.1c7.6-6.8 11.9-16.5 11.9-26.7s-4.3-19.9-11.9-26.7L409.9 8.9C403.5 3.2 395.3 0 386.7 0C367.5 0 352 15.5 352 34.7V96H272c-79.5 0-144 64.5-144 144c0 93.4 82.8 134.8 100.6 142.6c2.2 1 4.6 1.4 7.1 1.4h2.5c9.8 0 17.8-8 17.8-17.8c0-8.3-5.9-15.5-12.8-20.3c-8.9-6.2-19.2-18.2-19.2-40.5c0-45 36.5-81.5 81.5-81.5H352z\"]]\n};\nvar faShareSquare = faShareFromSquare;\nvar faKeynote = {\n prefix: 'fad',\n iconName: 'keynote',\n icon: [512, 512, [], \"f66c\", [\"M184 72h14.4c8.3 14.3 23.8 24 41.6 24h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H240c-17.8 0-33.3 9.7-41.6 24H184c-48.6 0-88 39.4-88 88v48h48V112c0-22.1 17.9-40 40-40zM160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32h96 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288V352H224v96H160z\", \"M80 160c-12.1 0-23.2 6.8-28.6 17.7l-48 96C1.2 278.1 0 283 0 288v32c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V288c0-5-1.2-9.9-3.4-14.3l-48-96C455.2 166.8 444.1 160 432 160H80z\"]]\n};\nvar faChildCombatant = {\n prefix: 'fad',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", [\"M112 64a64 64 0 1 1 128 0A64 64 0 1 1 112 64zm56 288V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V300.5L91.1 321c-9.4 15-29.2 19.4-44.1 10s-19.4-29.2-10-44.1l51.7-82.1c17.6-27.9 48.3-44.9 81.2-44.9h12.3c33 0 63.7 16.9 81.2 44.9L315.1 287c9.4 15 4.9 34.7-10 44.1s-34.7 4.9-44.1-10L248 300.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H168z\", \"M432 0h16c8.8 0 16 7.2 16 16V132.3c9.6 5.5 16 15.9 16 27.7V269.3l16-5.3V208c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v84.5c0 6.9-4.4 13-10.9 15.2L480 325.3V352h48c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H484l23 92.1c2.5 10.1-5.1 19.9-15.5 19.9H432c-8.8 0-16-7.2-16-16V400H400c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32V160c0-11.8 6.4-22.2 16-27.7V32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16z\"]]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'fad',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", [\"M80 128H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM321.4 352H217l12-48h92.5c3.4 0 6.4-2.1 7.5-5.3l21-58.7h51l-26.7 74.8c-8 22.3-29.1 37.2-52.7 37.2z\", \"M504 32c13.3 0 24 10.7 24 24v8h16c17.7 0 32 14.3 32 32v80c0 17.7-14.3 32-32 32H477.3l-22.6 22.6c-6 6-14.1 9.4-22.6 9.4H245L191 455.8C187.5 470 174.7 480 160 480H64c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5L73.1 279.8c5-20.2-10.2-39.8-31-39.8H32c-17.7 0-32-14.3-32-32V96C0 78.3 14.3 64 32 64H480V56c0-13.3 10.7-24 24-24zM80 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]]\n};\nvar faSquarePhone = {\n prefix: 'fad',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.7 96.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\", \"M178.5 140.3c-3.9-9.3-14-14.2-23.7-11.6l-44 12C102 143.1 96 151 96 160c0 123.7 100.3 224 224 224c9 0 16.9-6 19.3-14.7l12-44c2.6-9.7-2.3-19.9-11.6-23.7l-48-20c-8.2-3.4-17.6-1-23.2 5.8L248.3 312c-35.2-16.6-63.7-45.1-80.3-80.3l24.7-20.2c6.8-5.6 9.2-15 5.8-23.2l-20-48z\"]]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faHatBeach = {\n prefix: 'fad',\n iconName: 'hat-beach',\n icon: [640, 512, [], \"e606\", [\"M464 304l-2.7 2.7c-8.5 8.5-20 13.3-32 13.3c-22.3 0-40.9-16.2-44.6-37.4C364.9 286.1 343 288 320 288c-88.4 0-160-28.7-160-64c0-18 3-35.4 8.5-51.5C174.7 201.3 240.1 224 320 224c23.6 0 46-2 66-5.5c-1.3-4.2-2-8.7-2-13.2c0-25 20.3-45.3 45.3-45.3c12 0 23.5 4.8 32 13.3L464 176l2.7-2.7c8.5-8.5 20-13.3 32-13.3c25 0 45.3 20.3 45.3 45.3c0 12-4.8 23.5-13.3 32L528 240l2.7 2.7c8.5 8.5 13.3 20 13.3 32c0 25-20.3 45.3-45.3 45.3c-12 0-23.5-4.8-32-13.3L464 304zm0-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M320 448c176.7 0 320-57.3 320-128c0-19.3-11.8-36.7-29.7-43.9L533 245.2c7 8.2 11 18.7 11 29.5c0 25-20.3 45.3-45.3 45.3c-12 0-23.5-4.8-32-13.3L464 304l-2.7 2.7c-8.5 8.5-20 13.3-32 13.3c-22.3 0-40.9-16.2-44.6-37.4C364.9 286.1 343 288 320 288c-88.4 0-160-28.7-160-64L29.7 276.1C11.8 283.3 0 300.7 0 320c0 70.7 143.3 128 320 128zM470.6 169.8C448.4 108.1 389.3 64 320 64c-70.3 0-130.1 45.4-151.5 108.5C174.7 201.3 240.1 224 320 224c23.6 0 46-2 66-5.5c-1.3-4.2-2-8.7-2-13.2c0-25 20.3-45.3 45.3-45.3c12 0 23.5 4.8 32 13.3L464 176l2.7-2.7c1.2-1.2 2.5-2.4 3.8-3.4z\"]]\n};\nvar faPlus = {\n prefix: 'fad',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", [\"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\", \"\"]]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'fad',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", [\"M448 64c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352c0-17.7-14.3-32-32-32z\", \"M0 64C0 46.3 14.3 32 32 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H64v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zM416 320c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h64V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faComputer = {\n prefix: 'fad',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", [\"M528 32c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528zm16 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M64 96H384V320H64V96zM48 32C21.5 32 0 53.5 0 80V336c0 26.5 21.5 48 48 48H181.3l-10.7 32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H277.3l-10.7-32H400c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48z\"]]\n};\nvar faFort = {\n prefix: 'fad',\n iconName: 'fort',\n icon: [640, 512, [], \"e486\", [\"M16 0C7.2 0 0 7.2 0 16V96v16 64c0 26.5 21.5 48 48 48H208c26.5 0 48-21.5 48-48V112 96 16c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16V64H160V16c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16V64H64V16C64 7.2 56.8 0 48 0H16zM448 64V16c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16V96v16 64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V112 96 16c0-8.8-7.2-16-16-16H592c-8.8 0-16 7.2-16 16V64H544V16c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16V64H448z\", \"M384 160H256v16c0 26.5-21.5 48-48 48H48c-5.6 0-11-1-16-2.7V464c0 26.5 21.5 48 48 48H256V384c0-35.3 28.7-64 64-64s64 28.7 64 64V512H560c26.5 0 48-21.5 48-48V221.3c-5 1.8-10.4 2.7-16 2.7H432c-26.5 0-48-21.5-48-48V160z\"]]\n};\nvar faCloudCheck = {\n prefix: 'fad',\n iconName: 'cloud-check',\n icon: [640, 512, [], \"e35c\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM433 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L433 241z\", \"M433 207c9.4 9.4 9.4 24.6 0 33.9L305 369c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L399 207c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faXmark = {\n prefix: 'fad',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", [\"M297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6z\", \"\"]]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faFaceSmirking = {\n prefix: 'fad',\n iconName: 'face-smirking',\n icon: [512, 512, [], \"e397\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM375.8 338.6l-.2 1.2c-5.8 34.7-35.8 60.2-71 60.2H192c-8.8 0-16-7.2-16-16s7.2-16 16-16H304.6c19.6 0 36.2-14.1 39.5-33.4l.2-1.2c1.5-8.7 9.7-14.6 18.4-13.2s14.6 9.7 13.2 18.4zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\", \"M96 208c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16zm192 0c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faArrowsUpDownLeftRight = {\n prefix: 'fad',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", [\"M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4V224h32 32V109.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64zM288 288H256 224V402.7l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4V288z\", \"M118.6 169.4c12.5 12.5 12.5 32.8 0 45.3l-9.4 9.4H256 402.7l-9.4-9.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l9.4-9.4H256 109.3l9.4 9.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-64-64c-12.5-12.5-12.5-32.8 0-45.3l64-64c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'fad',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", [\"M224 0c-35.3 0-64 28.7-64 64V96c23.3 0 45.2 6.2 64 17.1V64l352 0V352H284.4c22.4 16.5 40.6 38.5 52.4 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224z\", \"M64 224a96 96 0 1 1 192 0A96 96 0 1 1 64 224zM0 485.3C0 411.7 59.7 352 133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3zM416 288h64c17.7 0 32 14.3 32 32v32H384V320c0-17.7 14.3-32 32-32z\"]]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faRhombus = {\n prefix: 'fad',\n iconName: 'rhombus',\n icon: [448, 512, [], \"e23b\", [\"M254.4 14.1C246.8 5.1 235.7 0 224 0s-22.8 5.1-30.4 14.1l-184 216C-3.2 245-3.2 267 9.6 281.9l184 216c7.6 8.9 18.7 14.1 30.4 14.1s22.8-5.1 30.4-14.1l184-216c12.7-14.9 12.7-36.9 0-51.9l-184-216z\", \"\"]]\n};\nvar faClawMarks = {\n prefix: 'fad',\n iconName: 'claw-marks',\n icon: [576, 512, [], \"f6c2\", [\"M310.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L288 77.3V128c0 17.7 14.3 32 32 32h50.7L416 205.3V256c0 17.7 14.3 32 32 32h50.7l22.6 22.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-64-64-64-64-64-64-32-32zm-224 224c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L96 333.3V416c0 17.7 14.3 32 32 32h82.7l54.6 54.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64-96-96-64-64z\", \"M41.4 9.4C53.9-3.1 74.1-3.1 86.6 9.4l96 96 64 64 160 160 64 64 64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L434.7 448H384c-17.7 0-32-14.3-32-32V365.3L210.7 224H160c-17.7 0-32-14.3-32-32V141.3L41.4 54.6c-12.5-12.5-12.5-32.8 0-45.3z\"]]\n};\nvar faPesoSign = {\n prefix: 'fad',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", [\"M32 128l0 64c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96l0 64c-17.7 0-32-14.3-32-32s14.3-32 32-32zm64 64V224H286.9c-3.6 24.9-15.3 47.2-32.5 64H96zm236.8 0c10-19.5 16.4-41.1 18.5-64h.7c17.7 0 32 14.3 32 32s-14.3 32-32 32H332.8zm18.5-96c-2.1-22.9-8.5-44.5-18.5-64H352c17.7 0 32 14.3 32 32s-14.3 32-32 32h-.7zM96 128H254.4c17.1 16.8 28.9 39.1 32.5 64H96V128z\", \"M32 64c0-17.7 14.3-32 32-32H176c97.2 0 176 78.8 176 176s-78.8 176-176 176H96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V352 64zM96 320h80c61.9 0 112-50.1 112-112s-50.1-112-112-112H96V320z\"]]\n};\nvar faFaceSmileTongue = {\n prefix: 'fad',\n iconName: 'face-smile-tongue',\n icon: [512, 512, [], \"e394\", [\"M503.4 322c5.6-21.1 8.6-43.2 8.6-66C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c61.5 0 118-21.7 162.1-57.9c-2.8-1.2-5.5-2.7-8.2-4.2l-68.1-40.4C316.3 423.8 287.1 432 256 432c-84.1 0-154-59.7-175.5-139.9c-2.3-8.5 2.8-17.3 11.3-19.6s17.3 2.8 19.6 11.3C129.5 351.5 187.9 400 256 400s126.5-48.5 144.5-116.1c2.3-8.5 11.1-13.6 19.6-11.3c1.5 .4 2.9 1 4.2 1.8l65.4 37.8c5 2.9 9.6 6.2 13.7 10zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\", \"M217.6 228.8l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm207.5 82.9c-11.7 30.4-30.5 57.1-54.5 77.6l55.7 33.1c22.6 13.4 51.8 5.8 65-17c13.3-23 5.4-52.3-17.6-65.6l-48.6-28.1zm-47.5-82.9l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]]\n};\nvar faCartCircleXmark = {\n prefix: 'fad',\n iconName: 'cart-circle-xmark',\n icon: [640, 512, [], \"e3f4\", [\"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c29.1-57 88.4-96 156.8-96c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-59.3c-6.2-6.2-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]]\n};\nvar faBuildingShield = {\n prefix: 'fad',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", [\"M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c6.7 0 13.1-1.4 18.9-3.9c-74.6-56.7-96.4-143.4-98.7-201.5c-.1-.8-.2-1.7-.2-2.6v-7.8V272 240c0-8.8 7.2-16 16-16h32 37.6L384 207V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z\", \"M440.9 225.7c-5.7-2.3-12.1-2.3-17.8 0l-120 48C294 277.4 288 286.2 288 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C550.1 464.8 576 359.3 576 296c0-9.8-6-18.6-15.1-22.3l-120-48zm-8.9 236V273.8L527.4 312c-3.9 50.7-27.2 116.7-95.4 149.7z\"]]\n};\nvar faCirclePhoneFlip = {\n prefix: 'fad',\n iconName: 'circle-phone-flip',\n icon: [512, 512, [\"phone-circle-alt\"], \"e11c\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm69.3 128.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L312 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C143.1 378 151 384 160 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\", \"M301.5 140.3c3.9-9.3 14-14.2 23.7-11.6l44 12C378 143.1 384 151 384 160c0 123.7-100.3 224-224 224c-9 0-16.9-6-19.3-14.7l-12-44c-2.6-9.7 2.3-19.9 11.6-23.7l48-20c8.2-3.4 17.6-1 23.2 5.8L231.7 312c35.2-16.6 63.7-45.1 80.3-80.3l-24.7-20.2c-6.8-5.6-9.2-15-5.8-23.2l20-48z\"]]\n};\nvar faPhoneCircleAlt = faCirclePhoneFlip;\nvar faBaby = {\n prefix: 'fad',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", [\"M152 88a72 72 0 1 1 144 0A72 72 0 1 1 152 88zM39.7 144.5c13-17.9 38-21.8 55.9-8.8L131.8 162c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128V251.7c-15.2-6.7-29.7-15.1-43.3-25L48.5 200.3c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8l60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53l60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6L284 419.4l-26-37.2z\", \"M192 384l-64-56V288H320v40l-64 56H192z\"]]\n};\nvar faUsersLine = {\n prefix: 'fad',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", [\"M147.2 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM96 192c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h85.6c10.1-39.4 38.6-71.5 75.8-86.6c-9.7-6-21.2-9.4-33.4-9.4H96zm480 96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-11.7 0-22.7 3.1-32.1 8.6c38.1 14.8 67.4 47.3 77.7 87.4H576zm-115.9 0c-10.8-30.7-36.8-54.2-68.9-61.6c-6.9-1.6-14.2-2.4-21.6-2.4h-96c-8.5 0-16.7 1.1-24.5 3.1c-30.8 8.1-55.6 31.1-66.1 60.9c-3.5 10-5.5 20.8-5.5 32c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-11.2-1.9-22-5.5-32zm39.1-128a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-97.6-48a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\", \"M0 448c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faQuoteLeft = {\n prefix: 'fad',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", [\"M376 96c-66.3 0-120 53.7-120 120v72 32 32c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H320v-8c0-30.9 25.1-56 56-56h8c17.7 0 32-14.3 32-32s-14.3-32-32-32h-8z\", \"M120 96C53.7 96 0 149.7 0 216v72 32 32c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H64v-8c0-30.9 25.1-56 56-56h8c17.7 0 32-14.3 32-32s-14.3-32-32-32h-8z\"]]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'fad',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", [\"M128 192c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v8.2c4.8 1.7 9.5 3.7 14.1 5.8l5.8-5.8c12.5-12.5 32.8-12.5 45.3 0l22.6 22.6c12.5 12.5 12.5 32.8 0 45.3l-5.8 5.8c2.2 4.6 4.1 9.3 5.8 14.1H320c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8V480c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0L40.2 449.1c-12.5-12.5-12.5-32.8 0-45.3l5.8-5.8c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c12.5-12.5 32.8-12.5 45.3 0l5.8 5.8c4.6-2.2 9.3-4.1 14.1-5.8V192zM256 336A80 80 0 1 0 96 336a80 80 0 1 0 160 0zm296 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-112 0a88 88 0 1 1 176 0 88 88 0 1 1 -176 0z\", \"M160 0C124.7 0 96 28.7 96 64v96 32 .6c4.4 1.5 8.6 4.1 12.1 7.6l5.8 5.8c4.6-2.2 9.3-4.1 14.1-5.8V192c0-17.7 14.3-32 32-32V64H266.3l38.4 96H192c17.7 0 32 14.3 32 32v8.2c4.8 1.7 9.5 3.7 14.1 5.8l5.8-5.8c12.5-12.5 32.8-12.5 45.3 0l22.6 22.6c12.5 12.5 12.5 32.8 0 45.3l-5.8 5.8c2.2 4.6 4.1 9.3 5.8 14.1H320c17.7 0 32 14.3 32 32v32h80c21.9-29.1 56.7-48 96-48c16.3 0 31.9 3.3 46.1 9.2l43.3-27.1c14-8.8 22.6-24.2 22.6-40.7V200c0-22.1-17.9-40-40-40H544V126.2c0-14.9 3.5-29.6 10.1-42.9l2.5-5c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3l-2.5 5C485.8 76.9 480 101.4 480 126.2V160H373.7L325.8 40.2C316 15.9 292.5 0 266.3 0H160z\"]]\n};\nvar faKeySkeleton = {\n prefix: 'fad',\n iconName: 'key-skeleton',\n icon: [448, 512, [128477], \"f6f3\", [\"M182.1 220.7L9.4 393.4c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 416 96 397.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L141.3 352l86.1-86.1c-18.3-11.5-33.8-27-45.3-45.3z\", \"M304 64a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 224A144 144 0 1 0 304 0a144 144 0 1 0 0 288z\"]]\n};\nvar faTrashArrowUp = {\n prefix: 'fad',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", [\"M32 96H416L394.6 466.8c-1.5 25.4-22.5 45.2-47.9 45.2H101.3c-25.4 0-46.5-19.8-47.9-45.2L32 96zM248 241.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V376c0 13.3 10.7 24 24 24s24-10.7 24-24V241.9z\", \"M163.8 0c-12.1 0-23.2 6.8-28.6 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8zM248 241.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V376c0 13.3 10.7 24 24 24s24-10.7 24-24V241.9z\"]]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'fad',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", [\"M246.6 406.6l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L96 402.7V288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0h64l128 0V109.3l-41.4 41.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c6-6 14.1-9.4 22.6-9.4s16.6 3.4 22.6 9.4l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V224h74.8c-6.9 14.5-10.8 30.8-10.8 48v16H160V402.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM160 64V192H96V64c0-17.7 14.3-32 32-32s32 14.3 32 32zM288 448V320h64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faArrowDownToBracket = {\n prefix: 'fad',\n iconName: 'arrow-down-to-bracket',\n icon: [448, 512, [], \"e094\", [\"M32 320c17.7 0 32 14.3 32 32v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32z\", \"M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V242.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]]\n};\nvar faLinesLeaning = {\n prefix: 'fad',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", [\"M190.4 74.1c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2l-128 384c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l128-384zM384 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32s32-14.3 32-32V64z\", \"M261.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8l-64 384c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l64-384c2.9-17.4 19.4-29.2 36.8-26.3z\"]]\n};\nvar faSquareQ = {\n prefix: 'fad',\n iconName: 'square-q',\n icon: [448, 512, [], \"e27b\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 224c0 44.2 35.8 80 80 80c13.4 0 25.9-3.3 37-9.1l-30-30c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l30 30c5.8-11.1 9.1-23.7 9.1-37c0-44.2-35.8-80-80-80s-80 35.8-80 80zm208 0c0 26.7-8.2 51.4-22.1 71.9L345 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15.1-15.1c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\", \"M224 176c44.2 0 80 35.8 80 80c0 13.4-3.3 25.9-9.1 37l-30-30c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l30 30c-11.1 5.8-23.7 9.1-37 9.1c-44.2 0-80-35.8-80-80s35.8-80 80-80zM329.9 327.9c14-20.5 22.1-45.3 22.1-71.9c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128c26.7 0 51.4-8.2 71.9-22.1L311 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-15.1-15.1z\"]]\n};\nvar faRulerCombined = {\n prefix: 'fad',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", [\"M.2 468.9C2.7 493.1 23.1 512 48 512l96 0 320 0c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-48 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-64 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-64-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l80 0 0-48c0-26.5-21.5-48-48-48L48 0C21.5 0 0 21.5 0 48L0 368l0 96c0 1.7 .1 3.3 .2 4.9z\", \"M112 96c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0V96H112zm80 96l-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V192zm0 96l-80 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l80 0v80c0 8.8 7.2 16 16 16s16-7.2 16-16V320H192V288zm128 32H288v80c0 8.8 7.2 16 16 16s16-7.2 16-16V320zm96 80V320H384v80c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]]\n};\nvar faSymbols = {\n prefix: 'fad',\n iconName: 'symbols',\n icon: [512, 512, [128291, \"icons-alt\"], \"f86e\", [\"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM502.6 342.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zM0 128c0 17.7 14.3 32 32 32H80v32c0 17.7 14.3 32 32 32s32-14.3 32-32V160h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H112 32C14.3 96 0 110.3 0 128zM368 328a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM472 512a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32V176c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V71L352 90.2V208c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48V64c0-15.3 10.8-28.4 25.7-31.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zm-374 356.9l19.6 20.7 23.5-23.5c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-24.7 24.7L215.2 458c12.2 12.8 11.6 33.1-1.2 45.2s-33.1 11.6-45.2-1.2l-24.1-25.4-12.8 12.8C117.4 503.9 97.7 512 77.3 512C34.6 512 0 477.4 0 434.7v-.9c0-19.4 7.2-38.2 20.3-52.6l14.5-15.9C23.2 353.7 16 337.7 16 320c0-35.3 28.7-64 64-64s64 28.7 64 64c0 17.1-6.7 32.7-17.7 44.2zM67.7 424.3c-2.4 2.6-3.7 6-3.7 9.5v.9c0 7.3 5.9 13.3 13.3 13.3c3.5 0 6.9-1.4 9.4-3.9l14-14L81.1 409.5 67.7 424.3zM96 320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faIconsAlt = faSymbols;\nvar faCopyright = {\n prefix: 'fad',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c31.2 31.2 81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1z\", \"M312.6 199.4c-31.2-31.2-81.9-31.2-113.1 0s-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0z\"]]\n};\nvar faFlaskGear = {\n prefix: 'fad',\n iconName: 'flask-gear',\n icon: [640, 512, [], \"e5f1\", [\"M160 0H288h32c17.7 0 32 14.3 32 32s-14.3 32-32 32V196.8c0 11.8 3.3 23.5 9.5 33.5L336 241c-4.9 6.4-9.5 13.1-13.6 20.3c-7 12.1-12.4 24.7-16.4 37.6c-1.3 4.1-1.9 8.2-2 12.2l-29-47.1c-12.4-20.2-19-43.4-19-67.1V64H192V196.8c0 23.7-6.6 46.9-19 67.1L118.8 352h207c.1 .1 .2 .1 .2 .2c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 6.7 1.5 13.5 4.2 19.7c-9 4.3-19 6.6-29.7 6.6H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V64c-17.7 0-32-14.3-32-32s14.3-32 32-32h32z\", \"M447.3 203.4c-6.8 1.5-11.3 7.8-11.3 14.8v17.4c0 7.9-4.9 15-11.7 18.9c-6.8 3.9-15.2 4.5-22 .6l-13.6-7.8c-6.1-3.5-13.7-2.7-18.5 2.4c-7.5 8.1-14.3 17.2-20.1 27.2s-10.3 20.4-13.5 31c-2.1 6.7 1.1 13.7 7.2 17.2l14 8.1c6.5 3.8 10.1 11 10.1 18.6s-3.5 14.8-10.1 18.6l-14 8.1c-6.1 3.5-9.2 10.5-7.2 17.2c3.3 10.6 7.8 21 13.5 31s12.5 19.1 20.1 27.2c4.8 5.1 12.5 5.9 18.5 2.4l13.5-7.8c6.8-3.9 15.2-3.3 22 .6c6.9 3.9 11.7 11 11.7 18.9l0 17.4c0 7 4.5 13.3 11.3 14.8c10.5 2.4 21.5 3.7 32.7 3.7s22.2-1.3 32.7-3.7c6.8-1.5 11.3-7.8 11.3-14.8l0-17.7c0-7.8 4.8-14.8 11.6-18.7c6.7-3.9 15.1-4.5 21.8-.6l13.8 7.9c6.1 3.5 13.7 2.7 18.5-2.4c7.6-8.1 14.3-17.2 20.1-27.2s10.3-20.4 13.5-31c2.1-6.7-1.1-13.7-7.2-17.2l-14.4-8.3c-6.5-3.7-10-10.9-10-18.4s3.5-14.7 10-18.4l14.4-8.3c6.1-3.5 9.2-10.5 7.2-17.2c-3.3-10.6-7.8-21-13.5-31s-12.5-19.1-20.1-27.2c-4.8-5.1-12.5-5.9-18.5-2.4l-13.8 7.9c-6.7 3.9-15.1 3.3-21.8-.6c-6.8-3.9-11.6-10.9-11.6-18.7V218.2c0-7-4.5-13.3-11.3-14.8c-10.5-2.4-21.5-3.7-32.7-3.7s-22.2 1.3-32.7 3.7zM480 303.7a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faHighlighterLine = {\n prefix: 'fad',\n iconName: 'highlighter-line',\n icon: [576, 512, [], \"e1af\", [\"M183.3 183.3L360.7 360.7l-26.3 35.7c-9 12.3-23.4 19.5-38.6 19.5H224l-57.4 57.4c-12.5 12.5-32.8 12.5-45.3 0L70.6 422.6c-12.5-12.5-12.5-32.8 0-45.3L128 320l0 0V248.3c0-15.3 7.2-29.6 19.5-38.6l35.7-26.3zM224 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M360.7 360.7L183.3 183.3 420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L360.7 360.7zM7 466.3l56-56c1.5 4.5 4.1 8.7 7.6 12.2l50.7 50.7c3.6 3.6 7.8 6.1 12.2 7.6l-24 24c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17z\"]]\n};\nvar faBracketSquare = {\n prefix: 'fad',\n iconName: 'bracket-square',\n icon: [192, 512, [\"bracket\", \"bracket-left\"], \"5b\", [\"M0 96C0 60.7 28.7 32 64 32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64V416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V96z\", \"\"]]\n};\nvar faBracket = faBracketSquare;\nvar faBracketLeft = faBracketSquare;\nvar faIslandTropical = {\n prefix: 'fad',\n iconName: 'island-tropical',\n icon: [512, 512, [127965, \"island-tree-palm\"], \"f811\", [\"M246.8 158l30-30h24.7c28 79.9 21.2 170.2 9.9 226.1c-7.6-1.4-15.4-2.1-23.4-2.1H224c29.7-79.3 29.4-150.9 22.8-194z\", \"M108.7 96c2.1 0 4.2-.8 5.7-2.3l24-24c3.1-3.1 8.2-3.1 11.3 0l24 24c.3 .3 .6 .6 1 .8c-1.4 1.3-2.8 2.6-4.1 4c-54.7 54.7-50.8 114.1-32.3 145.7c4.5 7.6 14.7 7.6 21 1.4L276.8 128H380.7c2.1 0 4.2-.8 5.7-2.3l24-24c3.1-3.1 8.2-3.1 11.3 0l24 24c1.5 1.5 3.5 2.3 5.7 2.3H496c8.8 0 16.1-7.2 13.8-15.8C500.6 76.8 461.4 32 384 32c-33.8 0-60.4 8.6-80.3 21.2C285.2 25.5 248.6 0 190.2 0C112.8 0 73.6 44.8 64.4 80.2C62.2 88.8 69.4 96 78.2 96h30.4zM160 352C89.3 352 32 409.3 32 480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32c0-70.7-57.3-128-128-128H160z\"]]\n};\nvar faIslandTreePalm = faIslandTropical;\nvar faArrowRightFromLine = {\n prefix: 'fad',\n iconName: 'arrow-right-from-line',\n icon: [448, 512, [8614, \"arrow-from-left\"], \"f343\", [\"M32 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64z\", \"M438.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L338.7 288 272 288l-112 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l112 0 66.7 0-73.4-73.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l128 128z\"]]\n};\nvar faArrowFromLeft = faArrowRightFromLine;\nvar faH2 = {\n prefix: 'fad',\n iconName: 'h2',\n icon: [640, 512, [], \"f314\", [\"M32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\", \"M491.5 128c-15.3 0-30.1 5.5-41.7 15.4l-29 24.9c-13.4 11.5-33.6 9.9-45.1-3.5s-9.9-33.6 3.5-45.1l29-24.9C431.4 74.9 461 64 491.5 64H496c70.7 0 128 57.3 128 128v5.8c0 35.9-15.1 70.1-41.5 94.4L482.3 384H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H400c-13.2 0-25-8.1-29.8-20.4s-1.5-26.3 8.2-35.2L539.2 244.9c13.2-12.1 20.8-29.2 20.8-47.2V192c0-35.3-28.7-64-64-64h-4.5z\"]]\n};\nvar faEquals = {\n prefix: 'fad',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", [\"M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H48z\", \"\"]]\n};\nvar faCakeSlice = {\n prefix: 'fad',\n iconName: 'cake-slice',\n icon: [512, 512, [127856, \"shortcake\"], \"e3e5\", [\"M448 288H0v80H448V288zm0 112H0v48c0 17.7 14.3 32 32 32H448V400z\", \"M296 32c-7.2 0-14.2 2.4-19.8 6.9l-264 208C4.5 252.9 0 262.2 0 272v16H64 448v.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .1 32 .1 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .2 .3 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 64c35.3 0 64-28.6 64-64v-.2-.2-.2-.2-.2V415v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V413v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V411v-.2-.2-.2-.2V410v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V406v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V401v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V398v-.2-.2-.2-.2-.2-.2-.2-.2V396v-.2-.2-.2-.2-.2-.2-.2-.2V394v-.2-.2-.2V393v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V390v-.2-.2-.2V389v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V379v-.3-.3-.3V378v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V374v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V371v-.3-.3-.3-.3-.3-.3V369v-.3-.3-.3-.3-.3-.3V367v-.3-.3-.3-.3-.3-.3V365v-.3-.3-.3-.3-.3-.3V363v-.3-.3-.3-.3-.3-.3-.3-.3-.3V360v-.3-.3-.3-.3-.3-.3-.3-.3-.3V357v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V353v-.3-.3V352v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V346v-.3-.3V345v-.3-.3V344v-.3-.3V343v-.3-.3V342v-.3-.3V341v-.3-.3V340v-.3-.3V339v-.3-.3V338v-.3-.3V337v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.4-.4V330v-.4-.4V329v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V325v-.4-.4V324v-.4-.4-.4-.4-.4-.4-.4V321v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V312v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V307v-.4-.4-.4-.4V305v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V297v-.4-.4-.4-.4V295v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V290v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V285v-.4-.4-.4-.4-.4-.4V282v-.4-.4-.4-.4-.4-.4V279v-.4-.4-.4-.4-.4-.4-.4-.4V275v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.5V267v-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5V262v-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5V256c0-74.3-32.8-130.8-76.1-168.2C393.6 51.2 340.3 32 296 32z\"]]\n};\nvar faShortcake = faCakeSlice;\nvar faPeanut = {\n prefix: 'fad',\n iconName: 'peanut',\n icon: [512, 512, [], \"e430\", [\"M432 0H364c-20.1 0-39.2 4-56.7 11.2c-17.4 7.2-33.7 17.8-47.8 32l-.4 .4C245 57.8 234.4 74 227.2 91.4c-4 9.5-6.9 19.6-8.8 30c-4.8 24.5-12.6 49.1-30.3 66.7s-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C4 324.8 0 343.9 0 364v68c0 44.2 35.8 80 80 80h68c40.5 0 77.1-16.2 103.8-42.5c.6-.6 1.1-1.1 1.7-1.7c13.8-14 24.2-30.1 31.3-47.2c4-9.5 6.9-19.6 8.8-30c4.8-24.5 12.6-49.1 30.3-66.7s42.2-25.4 66.7-30.3c10.4-1.9 20.5-4.9 30-8.8c17.3-7.2 33.5-17.7 47.6-31.7l.9-.9C495.6 225.4 512 188.6 512 148V80c0-44.2-35.8-80-80-80zM396.8 128a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm0 64a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-64 0a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-224 224a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM192 396.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zm0-64a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4z\", \"M416 147.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm0 64a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-64 0a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-224 224a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM211.2 416a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zm0-64a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0z\"]]\n};\nvar faWrenchSimple = {\n prefix: 'fad',\n iconName: 'wrench-simple',\n icon: [384, 512, [], \"e2d1\", [\"M96 342.3V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V342.3c-28.2 16.3-61 25.7-96 25.7s-67.8-9.4-96-25.7z\", \"M203.3 212.7c-6.2 6.2-16.4 6.2-22.6 0l-48-48c-3-3-4.7-7.1-4.7-11.3V17.6c0-11-10.9-18.7-20.8-13.8C43.7 35 0 100.4 0 176C0 282 86 368 192 368s192-86 192-192c0-75.6-43.7-141-107.2-172.3C266.9-1.2 256 6.5 256 17.6V153.4c0 4.2-1.7 8.3-4.7 11.3l-48 48z\"]]\n};\nvar faBlender = {\n prefix: 'fad',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", [\"M64 0C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64h85.3L160 384H416l24-96H336c-8.8 0-16-7.2-16-16s7.2-16 16-16H448l16-64H336c-8.8 0-16-7.2-16-16s7.2-16 16-16H472l16-64H336c-8.8 0-16-7.2-16-16s7.2-16 16-16H496l6.1-24.2C507.1 19.6 491.8 0 471 0H160 128 64zm69.3 64L144 192H64V64h69.3z\", \"M336 64H496l-8 32H336c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H472l-8 32H336c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H448l-8 32H336c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 432c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432zm224 16a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faTeeth = {\n prefix: 'fad',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", [\"M224 128c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zm128 0c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V312c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\", \"M0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zM96 384c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48V312c0-13.3-10.7-24-24-24H200c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V208c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48V312c0-13.3-10.7-24-24-24H456c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z\"]]\n};\nvar faTally2 = {\n prefix: 'fad',\n iconName: 'tally-2',\n icon: [640, 512, [], \"e295\", [\"M128 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\", \"M256 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faShekelSign = {\n prefix: 'fad',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", [\"M448 352c0 70.7-57.3 128-128 128H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32s32 14.3 32 32V416H320c35.3 0 64-28.7 64-64V64c0-17.7 14.3-32 32-32s32 14.3 32 32V352z\", \"M0 64C0 46.3 14.3 32 32 32H192c70.7 0 128 57.3 128 128V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-35.3-28.7-64-64-64H64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64z\"]]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faCars = {\n prefix: 'fad',\n iconName: 'cars',\n icon: [640, 512, [], \"f85b\", [\"M138.6 64H277.4c6.9 0 13 4.4 15.2 10.9L310.3 128H105.7l17.7-53.1c2.2-6.5 8.3-10.9 15.2-10.9zM62.7 54.7L36.1 134.4C14.8 144.7 0 166.6 0 192v96H0v32c0 17.7 14.3 32 32 32H48c17.7 0 32-14.3 32-32V288H216.5c5.1-5.7 10.8-10.7 17.1-15.1l22.8-68.3c15.2-45.7 58-76.6 106.3-76.6h15.1L353.3 54.7C342.4 22 311.8 0 277.4 0H138.6c-34.4 0-65 22-75.9 54.7zM80 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M347.4 234.9L329.7 288H534.3l-17.7-53.1c-2.2-6.5-8.3-10.9-15.2-10.9H362.6c-6.9 0-13 4.4-15.2 10.9zm-87.3 59.4l26.6-79.7C297.6 182 328.2 160 362.6 160H501.4c34.4 0 65 22 75.9 54.7l26.6 79.7C625.2 304.7 640 326.6 640 352v96h0v32c0 17.7-14.3 32-32 32H592c-17.7 0-32-14.3-32-32V448H304v32c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V448h0V352c0-25.4 14.8-47.3 36.1-57.6zM328 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm232 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faAxeBattle = {\n prefix: 'fad',\n iconName: 'axe-battle',\n icon: [512, 512, [], \"f6b3\", [\"M95.9 14.1l0-.1 0 0C95.1 7.7 90.6 2.5 84.5 .7c-6.1-1.8-12.7 .2-16.8 5L80 16C67.8 5.7 67.8 5.7 67.8 5.7l0 0 0 0-.1 .1L67.5 6l-.6 .8c-.5 .7-1.3 1.6-2.3 2.9c-1.9 2.5-4.6 6.1-7.7 10.6c-6.3 9.2-14.7 22.4-23.1 38.9C17 92.1 0 138.7 0 192s17 99.9 33.7 132.7c8.4 16.5 16.8 29.7 23.1 38.9c3.2 4.6 5.8 8.2 7.7 10.6c1 1.2 1.7 2.2 2.3 2.9l.6 .8 .2 .2 .1 .1 0 0 0 0s0 0 12.2-10.3L67.8 378.3c3.9 4.6 10 6.6 15.8 5.3s10.4-5.9 11.9-11.7l0 0 0-.1 .2-.8c.2-.7 .6-1.9 1.1-3.5c1-3.1 2.7-7.6 5.1-13.1c4.8-11 12.6-25.7 24.5-40.3c19.4-23.9 50-48 97.6-55.6V126c-54.6-7.1-85.4-31.9-103.2-55.6c-10.7-14.3-17-28.7-20.6-39.5c-1.8-5.4-2.9-9.8-3.5-12.8c-.3-1.5-.5-2.6-.6-3.3c-.1-.4-.1-.6-.1-.7zM288 126V258.4c47.6 7.6 78.2 31.7 97.6 55.6c13.6 16.8 25 36.7 30.9 57.7c1.5 5.8 6.1 10.5 11.9 11.8s12.3-1 16.1-5.6c33.1-41.1 56.5-93.6 64.5-146.6c.5-3.5-1.4-7-4.7-8.4l-55.1-23.6c-6.5-2.8-6.5-11.9 0-14.7L504.3 161c3.3-1.4 5.3-4.8 4.7-8.4c-5.6-36.8-18.3-68.9-30.7-93.4c-9.5-18.7-20.7-37.2-33.9-53.4c-4.1-4.9-10.8-7-16.9-5.2c-6.1 1.8-10.5 7-11.3 13.3c-3.3 20-12.9 40.3-24.9 56.4C373.4 94.1 342.6 119 288 126z\", \"M256 32c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faUserHairLong = {\n prefix: 'fad',\n iconName: 'user-hair-long',\n icon: [448, 512, [], \"e45b\", [\"M257.9 66.2C241 93.7 210.6 112 176 112H128l0 48c0 53 43 96 96 96s96-43 96-96l0-64h-8c-22.8 0-42.8-11.9-54.1-29.8z\", \"M176 112H128h0v48c0 53 43 96 96 96s96-43 96-96V128h0V96h-8c-22.8 0-42.8-11.9-54.1-29.8C241 93.7 210.6 112 176 112zm48 160H70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128h0C96 57.3 153.3 0 224 0c70.6 0 127.8 57.1 128 127.6v.8l0 .2V139c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224zm-62.7 48H286.7C375.8 320 448 392.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3C0 392.2 72.2 320 161.3 320z\"]]\n};\nvar faMap = {\n prefix: 'fad',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", [\"M192.1 416L384 480V96L192 32l.1 384z\", \"M0 114.5V464c0 11.3 11.5 19 22 14.8L192 416l-.1-384L10.1 99.6C4 102 0 107.9 0 114.5zM554 33.2L384 96V480l181.9-67.6c6.1-2.4 10.1-8.3 10.1-14.9V48c0-11.3-11.4-19.1-22-14.9z\"]]\n};\nvar faFileCircleInfo = {\n prefix: 'fad',\n iconName: 'file-circle-info',\n icon: [576, 512, [58604], \"e493\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm48 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-240a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-32 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v64c8.8 0 16 7.2 16 16s-7.2 16-16 16H432 416c-8.8 0-16-7.2-16-16s7.2-16 16-16h0V384h0c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faFaceDisappointed = {\n prefix: 'fad',\n iconName: 'face-disappointed',\n icon: [512, 512, [], \"e36f\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm60.1-101.3c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM211.3 267.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\", \"M211.3 267.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]]\n};\nvar faLassoSparkles = {\n prefix: 'fad',\n iconName: 'lasso-sparkles',\n icon: [576, 512, [], \"e1c9\", [\"M290.7 0c-.9 0-1.8 0-2.7 0C128.9 0 0 78.8 0 176c0 57.2 44.7 108.1 113.9 140.2l-.2 .4L160.5 340c19.3 9.7 31.5 29.4 31.5 51c0 31.5-25.5 57-57 57H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h71c66.8 0 121-54.2 121-121c0-14.1-2.4-27.8-7-40.6c12.8 1.1 25.8 1.6 39 1.6c159.1 0 288-78.8 288-176c0-76.4-79.6-141.4-191-165.8l5.6 15.1 26 9.6C435.5 42 448 59.9 448 80c0 5.6-1 11.1-2.8 16.2C486.4 116.5 512 144.8 512 176c0 61.9-100.3 112-224 112S64 237.9 64 176c0-51 68.2-94 161.4-107.6c3.8-15.2 14.8-27.9 29.9-33.4l26-9.6L290.7 0z\", \"M336 0c6.7 0 12.7 4.2 15 10.4l14.7 39.8L405.6 65c6.3 2.3 10.4 8.3 10.4 15s-4.2 12.7-10.4 15l-39.8 14.7L351 149.6c-2.3 6.3-8.3 10.4-15 10.4s-12.7-4.2-15-10.4l-14.7-39.8L266.4 95c-6.3-2.3-10.4-8.3-10.4-15s4.2-12.7 10.4-15l39.8-14.7L321 10.4C323.3 4.2 329.3 0 336 0zM496 352c6.7 0 12.7 4.2 15 10.4l14.7 39.8L565.6 417c6.3 2.3 10.4 8.3 10.4 15s-4.2 12.7-10.4 15l-39.8 14.7L511 501.6c-2.3 6.3-8.3 10.4-15 10.4s-12.7-4.2-15-10.4l-14.7-39.8L426.4 447c-6.3-2.3-10.4-8.3-10.4-15s4.2-12.7 10.4-15l39.8-14.7L481 362.4c2.3-6.3 8.3-10.4 15-10.4z\"]]\n};\nvar faClockEleven = {\n prefix: 'fad',\n iconName: 'clock-eleven',\n icon: [512, 512, [], \"e347\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120v56.7l-20-30c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l64 96c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\", \"M256 96c-13.3 0-24 10.7-24 24v56.7l-20-30c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l64 96c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V120c0-13.3-10.7-24-24-24z\"]]\n};\nvar faRocket = {\n prefix: 'fad',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", [\"M198.6 130c-28.5 45.8-60.7 114.5-80.1 158H24c-8.7 0-16.7-4.7-20.9-12.2s-4.1-16.8 .4-24.2l52.8-86.9C69.3 143.2 92.6 130 117.8 130h80.8zM224 391.8c43.9-19.1 112.4-50.3 158-78.4v80.8c0 25.2-13.1 48.5-34.6 61.5l-86.9 52.8c-7.4 4.5-16.7 4.7-24.2 .4s-12.2-12.2-12.2-20.9l0-96.2z\", \"M166.5 394.8l-50.7-50.7c-9.2-9.2-11.9-23-6.7-34.9c18.3-41.9 62.7-140.2 98.1-192.5C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7C342.6 340.5 243 383.9 201 401.7c-11.8 5-25.4 2.2-34.5-6.9zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]]\n};\nvar faSirenOn = {\n prefix: 'fad',\n iconName: 'siren-on',\n icon: [640, 512, [], \"e02e\", [\"M144 352l25-199.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L496 352H234.1l21.8-174c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L201.9 352H144z\", \"M69.3 36c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM597.3 76c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM128 352c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H128z\"]]\n};\nvar faClockTen = {\n prefix: 'fad',\n iconName: 'clock-ten',\n icon: [512, 512, [], \"e354\", [\"M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120v91.2L173.3 172c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l96 64c7.4 4.9 16.8 5.4 24.6 1.2S280 264.9 280 256V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\", \"M256 96c-13.3 0-24 10.7-24 24v91.2L173.3 172c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l96 64c7.4 4.9 16.8 5.4 24.6 1.2S280 264.9 280 256V120c0-13.3-10.7-24-24-24z\"]]\n};\nvar faCandleHolder = {\n prefix: 'fad',\n iconName: 'candle-holder',\n icon: [448, 512, [128367], \"f6bc\", [\"M80 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-39.6-49.1-90.1-66.2-106.6C170.1 1.9 165.2 0 160 0s-10.1 1.9-13.8 5.4C129.1 21.9 80 72.4 80 112zM376 416a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96c39.8 0 72-32.2 72-72s-32.2-72-72-72s-72 32.2-72 72c0 8.4 1.4 16.5 4.1 24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H376z\", \"M128 224v48c0 8.8 7.2 16 16 16s16-7.2 16-16V224h64c17.7 0 32 14.3 32 32V464H64V256c0-17.7 14.3-32 32-32h32z\"]]\n};\nvar faVideoArrowDownLeft = {\n prefix: 'fad',\n iconName: 'video-arrow-down-left',\n icon: [576, 512, [], \"e2c8\", [\"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM232 352H120c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v54.1L247 167c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-103 103H232c13.3 0 24 10.7 24 24s-10.7 24-24 24z\", \"M559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6L384 315.8V196.2l142.2-94.8c9.8-6.5 22.4-7.2 32.9-1.6zM232 352H120c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24v54.1L247 167c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-103 103H232c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]]\n};\nvar faPhotoFilm = {\n prefix: 'fad',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", [\"M192 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64zM456 96c-8 0-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H552c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144C471.5 100 464 96 456 96zM304 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M476 106.7l96 144c4.9 7.4 5.4 16.8 1.2 24.6S560.9 288 552 288H408 360 280c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64-80c4.6-5.7 11.4-9 18.7-9s14.2 3.3 18.7 9l17.3 21.6 56-84C440.5 100 448 96 456 96s15.5 4 20 10.7zM64 128H192v64c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V352H512v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H72zm0 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H88c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H72zm336 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFloppyDiskCircleArrowRight = {\n prefix: 'fad',\n iconName: 'floppy-disk-circle-arrow-right',\n icon: [576, 512, [\"save-circle-arrow-right\"], \"e180\", [\"M0 96C0 60.7 28.7 32 64 32H306.7c17 0 33.3 6.7 45.3 18.7L429.3 128c12 12 18.7 28.3 18.7 45.3v19.5c-5.3-.5-10.6-.7-16-.7c-75 0-139.1 47-164.4 113.1C256.1 294.5 240.8 288 224 288c-35.3 0-64 28.7-64 64s28.7 64 64 64c13.3 0 25.7-4.1 35.9-11c6 28.1 18.7 53.7 36.3 75H64c-35.3 0-64-28.7-64-64V96zm96 0c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H96z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm19.3-211.3l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]]\n};\nvar faSaveCircleArrowRight = faFloppyDiskCircleArrowRight;\nvar faFolderMinus = {\n prefix: 'fad',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", [\"M448 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H192c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\", \"M160 296c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faPlanetMoon = {\n prefix: 'fad',\n iconName: 'planet-moon',\n icon: [576, 512, [], \"e01f\", [\"M224 512c123.7 0 224-100.3 224-224c0-112.8-83.4-206.2-192-221.7v82.1c0 7.5-2.6 14.7-7.4 20.5l-52.7 63.2c-11.3 13.5-10.4 33.5 2.1 45.9c6.4 6.4 15.1 10 24.1 10H288c17.7 0 32 14.3 32 32v15.9c0 10.6-2.6 21-7.6 30.3l-41.3 76.6c-4.4 8.1-12.8 13.2-22 13.2c-13.8 0-25-11.2-25-25V384c-17.7 0-32-14.3-32-32V320l-49.9-49.9c-9-9-21.2-14.1-33.9-14.1H74.5c-17 0-33.3-6.7-45.3-18.7L10.9 218.9C3.8 240.6 0 263.9 0 288C0 411.7 100.3 512 224 512z\", \"M512 128A64 64 0 1 0 512 0a64 64 0 1 0 0 128zM224 64C124.4 64 40 129 10.9 218.9l18.4 18.4c12 12 28.3 18.7 45.3 18.7h33.6c12.7 0 24.9 5.1 33.9 14.1L192 320v32c0 17.7 14.3 32 32 32v47c0 13.8 11.2 25 25 25c9.2 0 17.7-5.1 22-13.2l41.3-76.6c5-9.3 7.6-19.8 7.6-30.3V320c0-17.7-14.3-32-32-32H222.1c-9 0-17.7-3.6-24.1-10c-12.5-12.5-13.4-32.4-2.1-45.9l52.7-63.2c4.8-5.8 7.4-13 7.4-20.5V66.3c-10.5-1.5-21.1-2.3-32-2.3z\"]]\n};\nvar faFaceEyesXmarks = {\n prefix: 'fad',\n iconName: 'face-eyes-xmarks',\n icon: [512, 512, [], \"e374\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM123.3 132.7L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm192 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM256 304c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\", \"M196.7 132.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L160 169.4l36.7-36.7zm96 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]]\n};\nvar faChartScatter = {\n prefix: 'fad',\n iconName: 'chart-scatter',\n icon: [512, 512, [], \"f7ee\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M384 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-224 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faDisplayArrowDown = {\n prefix: 'fad',\n iconName: 'display-arrow-down',\n icon: [576, 512, [], \"e164\", [\"M264 0H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H312V64H512V352H64V64H264V0z\", \"M264 64H64V352H512V64H312V206.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V64zm82.7 384L336 416H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7z\"]]\n};\nvar faStore = {\n prefix: 'fad',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", [\"M64 219.1V384v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 219.1c-5.1 2-10.6 3.4-16.5 4.1c-4 .5-7.9 .8-12.1 .8c-12.7 0-24.6-2.7-35.4-7.5V384H128V216.5c-10.8 4.8-22.9 7.5-35.6 7.5c-4.1 0-8.2-.3-12.1-.8c-5.7-.8-11.2-2.2-16.2-4.1z\", \"M490.3 13.1l57.3 90.7c29.7 46.9 3.4 112-52.1 119.4c-4 .5-7.9 .8-12.1 .8c-26.1 0-49.2-11.4-65.2-29c-15.9 17.6-39 29-65.2 29c-26.1 0-49.3-11.4-65.2-29c-15.9 17.6-39 29-65.2 29c-26.1 0-49.3-11.4-65.2-29c-15.9 17.6-39.1 29-65.2 29c-4.1 0-8.2-.3-12.1-.8c-55.3-7.4-81.5-72.6-51.9-119.4L85.7 13.1C90.8 5 99.9 0 109.6 0H466.4c9.7 0 18.8 5 23.9 13.1z\"]]\n};\nvar faArrowTrendUp = {\n prefix: 'fad',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", [\"M466.7 160L320 306.7 214.6 201.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 269.3 297.4 374.6c12.5 12.5 32.8 12.5 45.3 0L512 205.3V160H466.7z\", \"M352 128c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V160H384c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faPlugCircleMinus = {\n prefix: 'fad',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", [\"M128 32v96H64V32C64 14.3 78.3 0 96 0s32 14.3 32 32zm192 0v96H256V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32c0 2.3-.3 4.6-.7 6.8C309.8 220 256 287.7 256 368c0 11.4 1.1 22.5 3.1 33.3c-11.1 5.1-22.9 9-35.1 11.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm64-128l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]]\n};\nvar faOliveBranch = {\n prefix: 'fad',\n iconName: 'olive-branch',\n icon: [640, 512, [], \"e317\", [\"M336 512c79.5 0 144-86 144-192s-64.5-192-144-192s-144 86-144 192s64.5 192 144 192zm269.4-67.2c56.2-58.3 41-168.6-33.9-246.4c-42.9-44.5-96.1-68.7-144.2-70.3c13.6 10.4 25.7 22.9 36.2 36.9C494 205.8 512 260.7 512 320c0 57.8-17.1 111.4-46.3 151.8c52.9 16.5 105.5 8.4 139.6-27z\", \"M128 0C59 0 13.8 41.6 2.7 53.1C.9 55 0 57.4 0 60s.9 5 2.7 6.9c8.6 8.9 37.7 35.9 82.5 47.6C34.5 141.4 0 194.6 0 256v16c0 8.8 7.2 16 16 16H32c86.6 0 157.1-68.7 159.9-154.6L326.4 70.1C357.3 55.5 391.1 48 425.2 48H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H425.2C384 0 343.3 9.1 306 26.7L252.2 52C239.4 39.1 194.9 0 128 0z\"]]\n};\nvar faAngle = {\n prefix: 'fad',\n iconName: 'angle',\n icon: [448, 512, [], \"e08c\", [\"M315.5 253.2c-20.7-30.1-46.1-56.7-75.1-78.9l-21.9 43.8c21.4 17.4 40.4 37.7 56.2 60.4l40.8-25.3zm-23.9 52.5c13.3 24.2 23.3 50.5 29.5 78.3h49c-7-37-19.8-71.9-37.6-103.7l-40.8 25.3z\", \"M238.3 35.4c15.8 7.9 22.2 27.1 14.3 42.9L83.8 416H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l192-384c7.9-15.8 27.1-22.2 42.9-14.3z\"]]\n};\nvar faVacuumRobot = {\n prefix: 'fad',\n iconName: 'vacuum-robot',\n icon: [512, 512, [], \"e04e\", [\"M212.7 212.7c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-80 16c6.2-6.2 16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6zm-16 102.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64z\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM155.3 155.3c55.6-55.6 145.8-55.6 201.4 0s55.6 145.8 0 201.4c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c68.1-68.1 68.1-178.5 0-246.6s-178.5-68.1-246.6 0c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zm80 57.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64zm-80 16c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l128 128c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-128-128zm-38.6 80c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0z\"]]\n};\nvar faSignHanging = {\n prefix: 'fad',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", [\"M128 32c0-17.7-14.3-32-32-32S64 14.3 64 32V64H32C14.3 64 0 78.3 0 96s14.3 32 32 32H64V480c0 17.7 14.3 32 32 32s32-14.3 32-32V128l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L128 64V32z\", \"M192 160c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H192z\"]]\n};\nvar faSign = faSignHanging;\nvar faSquareDivide = {\n prefix: 'fad',\n iconName: 'square-divide',\n icon: [448, 512, [], \"e26a\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM136 232H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M192 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-80 96c0-13.3 10.7-24 24-24H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-13.3 0-24-10.7-24-24zm112 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faSignalStreamSlash = {\n prefix: 'fad',\n iconName: 'signal-stream-slash',\n icon: [640, 512, [], \"e250\", [\"M576 256c0 51.3-13.4 99.5-36.9 141.2l-51.1-40.1C503.3 326.8 512 292.4 512 256c0-53-18.4-101.6-49.1-140c-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5C552.3 125.3 576 187.9 576 256zm-112 0c0 25.2-5.3 49.1-14.8 70.8l-53-41.6c2.5-9.3 3.8-19.1 3.8-29.2c0-28.7-10.8-54.8-28.5-74.7c-11.8-13.2-10.7-33.4 2.5-45.2s33.4-10.7 45.2 2.5C447 169.8 464 210.9 464 256zM288 200c26.5 0 48.7 18.4 54.5 43.2L287.5 200l.5 0zm-164.5-6.7l54.3 42.8c-1.2 6.5-1.8 13.1-1.8 19.9c0 28.7 10.8 54.8 28.5 74.7c11.8 13.2 10.7 33.4-2.5 45.2s-33.4 10.7-45.2-2.5C129 342.2 112 301.1 112 256c0-22.1 4.1-43.2 11.5-62.7zM33 122l51.4 40.5C71.3 190.9 64 222.6 64 256c0 53 18.4 101.6 49.1 140c11.1 13.8 8.8 33.9-5 45s-33.9 8.8-45-5C23.7 386.7 0 324.1 0 256c0-48.4 11.9-94 33-134z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBezierCurve = {\n prefix: 'fad',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", [\"M240 84H121.6C111.2 62.7 89.3 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c25.3 0 47.2-14.7 57.6-36h66.9c-58.9 39.6-98.9 105-104 180h56.2c5.9-67 48.5-123.4 107.5-149.1C243 163.2 240 154 240 144V84zm151.8 86.9c59 25.7 101.6 82.1 107.5 149.1h56.2c-5-75-45.1-140.4-104-180h66.9c10.4 21.3 32.3 36 57.6 36c35.3 0 64-28.7 64-64s-28.7-64-64-64c-25.3 0-47.2 14.7-57.6 36H400v60c0 10-3 19.2-8.2 26.9z\", \"M296 136h48V88H296v48zM240 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H288c-26.5 0-48-21.5-48-48V80zM88 376v48h48V376H88zm-8-56h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm424 56v48h48V376H504zm-8-56h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\"]]\n};\nvar faEyeDropperHalf = {\n prefix: 'fad',\n iconName: 'eye-dropper-half',\n icon: [512, 512, [], \"e173\", [\"M198.7 180L55.4 323.3c-15 15-23.4 35.4-23.4 56.6v42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480h42.4c21.2 0 41.6-8.4 56.6-23.4L332 313.3 286.7 268 143.4 411.3c-3 3-7.1 4.7-11.3 4.7H96V379.9c0-4.2 1.7-8.3 4.7-11.3L244 225.3 198.7 180z\", \"M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM143.4 411.3L234.7 320H149.3l-48.6 48.6c-3 3-4.7 7.1-4.7 11.3V416h36.1c4.2 0 8.3-1.7 11.3-4.7z\"]]\n};\nvar faStoreLock = {\n prefix: 'fad',\n iconName: 'store-lock',\n icon: [640, 512, [], \"e4a6\", [\"M490.3 13.1l57.3 90.7c11.9 18.8 14.8 40.5 10.4 60.3c-9.6-2.7-19.7-4.1-30.1-4.1c-38.7 0-72.8 19.6-92.9 49.5c-6.2-4.1-11.9-9-16.8-14.4c-15.9 17.6-39 29-65.2 29c-26.1 0-49.3-11.4-65.2-29c-15.9 17.6-39 29-65.2 29c-26.1 0-49.3-11.4-65.2-29c-15.9 17.6-39.1 29-65.2 29c-4.1 0-8.2-.3-12.1-.8c-55.3-7.4-81.5-72.6-51.9-119.4L85.7 13.1C90.8 5 99.9 0 109.6 0H466.4c9.7 0 18.8 5 23.9 13.1zM384 384v96c0 11.7 3.1 22.6 8.6 32H128c-35.3 0-64-28.7-64-64V384 252.6c3.9 1 7.9 1.7 12 2.3l.1 0c5.3 .7 10.7 1.1 16.3 1.1c12.5 0 24.4-1.9 35.6-5.4V384H384z\", \"M496 272v48h64V272c0-17.7-14.3-32-32-32s-32 14.3-32 32zm-48 48V272c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32z\"]]\n};\nvar faBellSlash = {\n prefix: 'fad',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", [\"M540.6 398.4c.2-.4 .4-.9 .6-1.3c5.2-11.5 3.1-25-5.3-34.4l-7.4-8.3C497.3 319.2 480 273.9 480 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V51.2c-42.6 8.6-79 34.2-102 69.3L540.6 398.4zM406.2 416L160 222.1v4.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S115.4 416 128 416H406.2zm-40.9 77.3c12-12 18.7-28.3 18.7-45.3H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCloudBoltSun = {\n prefix: 'fad',\n iconName: 'cloud-bolt-sun',\n icon: [640, 512, [\"thunderstorm-sun\"], \"f76e\", [\"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm266.1 83.5c5.8 4.7 7.6 12.9 4.3 19.6L425.9 352H496c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L374.1 384H304c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\", \"M639.9 303.9c0 44.2-35.8 80-80 80H541.3c3.5-10.1 3.7-21.3 0-31.8C534.5 332.9 516.4 320 496 320H477.7l29.3-58.5c10.1-20.2 4.8-44.6-12.8-58.8s-42.6-14.2-60.2-.2l-160 128c-14.5 11.6-20.9 30.5-16.8 48.4c-37.9-12.8-65.2-48.7-65.2-90.9c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]]\n};\nvar faThunderstormSun = faCloudBoltSun;\nvar faCameraSlash = {\n prefix: 'fad',\n iconName: 'camera-slash',\n icon: [640, 512, [], \"e0d9\", [\"M356.4 376.8c-11.2 4.6-23.5 7.2-36.4 7.2c-53 0-96-43-96-96c0-5 .4-9.9 1.1-14.6L65.2 147.4c-.8 4.1-1.2 8.3-1.2 12.6V416c0 35.3 28.7 64 64 64H487.4L356.4 376.8zM416 288c0 4.1-.3 8.2-.8 12.2l160 125.4c.5-3.1 .7-6.3 .7-9.6V160c0-35.3-28.7-64-64-64H437.3L426.9 64.8C420.4 45.2 402.1 32 381.4 32H258.6c-20.7 0-39 13.2-45.5 32.8L202.7 96H154.8L285.4 198.4c10.7-4.1 22.4-6.4 34.6-6.4c53 0 96 43 96 96z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCommentQuote = {\n prefix: 'fad',\n iconName: 'comment-quote',\n icon: [512, 512, [], \"e14c\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM160 144h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V256H160c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32zm224 80v39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V256H304c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24z\", \"M128 176c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24 39.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V256H160c-17.7 0-32-14.3-32-32V176zm256 87.3c0 35.2-25.4 65.2-60.2 71l-7.9 1.3c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l7.9-1.3c11.6-1.9 20.1-11.9 20.1-23.7V256H304c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32h48c17.7 0 32 14.3 32 32v24 24 39.3z\"]]\n};\nvar faTablet = {\n prefix: 'fad',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", [\"M448 384H0v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384zM176 432h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V384H0V64z\"]]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'fad',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", [\"M255.3 96l-89.6 64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H240V400c0-26.5 21.5-48 48-48s48 21.5 48 48V512H512c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H410.3L320.7 96H255.3zM288 192a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm400-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM64 368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368zm384 0c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V368z\", \"M297.4 1.4c2-.9 4.2-1.4 6.6-1.4h96c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H320 304 256V32c0-17.7 14.3-32 32-32c3.3 0 6.4 .5 9.4 1.4zM80 224h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm384 0h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM64 368c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368zm400-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\"]]\n};\nvar faMessageCode = {\n prefix: 'fad',\n iconName: 'message-code',\n icon: [512, 512, [], \"e1df\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm217 97c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM329 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\", \"M217 127c9.4 9.4 9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0zm78.1 0c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]]\n};\nvar faGlassHalf = {\n prefix: 'fad',\n iconName: 'glass-half',\n icon: [384, 512, [\"glass-half-empty\", \"glass-half-full\"], \"e192\", [\"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L355.1 437.7c-3 41.9-37.8 74.3-79.8 74.3H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L317.6 64H66.4z\", \"M306.2 224H77.8L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L306.2 224z\"]]\n};\nvar faGlassHalfEmpty = faGlassHalf;\nvar faGlassHalfFull = faGlassHalf;\nvar faFill = {\n prefix: 'fad',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", [\"M386.7 288H67.5c-2.7 10.6 .1 22.3 8.4 30.6L193.4 436.1c12.5 12.5 32.8 12.5 45.3 0L386.7 288z\", \"M86.6 9.4C74.1-3.1 53.9-3.1 41.4 9.4s-12.5 32.8 0 45.3L122.7 136 30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L168 90.7 86.6 9.4zM168 181.3l49.4 49.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L213.3 136l53.1-53.1c3.1-3.1 8.2-3.1 11.3 0L429.1 234.3c3.1 3.1 3.1 8.2 0 11.3L238.6 436.1c-12.5 12.5-32.8 12.5-45.3 0L75.9 318.6c-12.5-12.5-12.5-32.8 0-45.3L168 181.3z\"]]\n};\nvar faMessageMinus = {\n prefix: 'fad',\n iconName: 'message-minus',\n icon: [512, 512, [\"comment-alt-minus\"], \"f4a7\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zM184 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\", \"M160 208c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faCommentAltMinus = faMessageMinus;\nvar faAngleUp = {\n prefix: 'fad',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", [\"M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z\", \"\"]]\n};\nvar faDinosaur = {\n prefix: 'fad',\n iconName: 'dinosaur',\n icon: [640, 512, [], \"e5fe\", [\"M446.2 0H448C554 0 640 86 640 192v30.6c0 88-51.5 165.6-128 201.5V480c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V458c-15.3 3.9-31.4 6-48 6c-6.8 0-13.5-.4-20.1-1c-7.5-18.9-24.4-33.3-45.4-36.8L162 408.1c-19.6-3.3-34-20.2-34-40.1c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 35.5 25.7 65.8 60.7 71.7l108.5 18.1c13.2 2.2 22.8 13.6 22.8 26.9c0 15.1-12.2 27.3-27.3 27.3H256 224 192 120.7C54.1 512 0 457.9 0 391.3c0-34 14.4-66.5 39.5-89.3l89.7-81.6C172 181.5 227.6 160 285.3 160c50.2 0 99 16.3 139.2 46.4L480 248c6.9 5.2 15.3 8 24 8c22.1 0 40-17.9 40-40V192c0-35.3-28.7-64-64-64H448 415.7c-26.3 0-47.7-21.4-47.7-47.7V75.6c0-16.7 10.1-31.6 25.6-37.8l1.7-.7c8.2-3.3 14.8-9.4 18.7-17.2C420.2 7.7 432.6 0 446.2 0zM464 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M448 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faDrumstickBite = {\n prefix: 'fad',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", [\"M160.2 278.2c3 39.2 34.3 70.5 73.5 73.5l-36.4 36.4c-12.3 12.3-11.4 32.5-7.2 49.4c1.1 4.6 1.8 9.5 1.8 14.5c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c5 0 9.8 .6 14.5 1.8c16.9 4.2 37.1 5.2 49.4-7.2l36.4-36.4z\", \"M160 272V176C160 78.8 238.8 0 336 0c86.5 0 158.5 62.5 173.2 144.8c2.1 11.8-10.3 20.1-22 17.6c-7.5-1.6-15.3-2.4-23.2-2.4c-61.9 0-112 50.1-112 112c0 19.2 4.8 37.2 13.3 53c5.7 10.5 1.1 24.8-10.8 26c-6.1 .6-12.3 1-18.5 1H240c-44.2 0-80-35.8-80-80z\"]]\n};\nvar faLinkHorizontalSlash = {\n prefix: 'fad',\n iconName: 'link-horizontal-slash',\n icon: [640, 512, [\"chain-horizontal-slash\"], \"e1cc\", [\"M574.1 424.7c39.6-25.8 65.9-70.5 65.9-121.3c0-70.7-51.1-131-120.8-142.6l-1.9-.3c-17.4-2.9-33.9 8.9-36.8 26.3s8.9 33.9 26.3 36.8l1.9 .3c38.9 6.5 67.4 40.1 67.4 79.5c0 36.6-24.4 67.6-57.9 77.4l56.1 43.9zM415.3 300.2c20.5-25.1 32.7-57.1 32.7-91.6C448 128.7 383.3 64 303.4 64H144.6c-9.4 0-18.5 .9-27.4 2.6L195.6 128H303.4c44.5 0 80.6 36.1 80.6 80.6c0 19.7-7.1 38-19.1 52.1l50.4 39.5zM446.8 448l-81.2-64H336.6c-44.5 0-80.6-36.1-80.6-80.6c0-1.9 .1-3.7 .2-5.5l-55.5-43.8c-5.6 15.4-8.6 32.1-8.6 49.3C192 383.3 256.7 448 336.6 448H446.8zM30.4 119.9C11.3 144.4 0 175.2 0 208.6c0 70.7 51.1 131 120.8 142.6l1.9 .3c17.4 2.9 33.9-8.9 36.8-26.3s-8.9-33.9-26.3-36.8l-1.9-.3C92.5 281.6 64 248 64 208.6c0-18.5 6.2-35.5 16.6-49.1L30.4 119.9z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faChainHorizontalSlash = faLinkHorizontalSlash;\nvar faHollyBerry = {\n prefix: 'fad',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", [\"M280 384c-1.1 0-2.2-.1-3.2-.2c5.1-10.7 6.8-23.2 4-35.9L275.4 324c-1.9-8.3-2-16.9-.5-25.3l6.3-34.8c2.1-11.5 .5-22.6-3.7-32.3c2.8-.3 5.8-.1 8.7 .7l29.6 8.1c18.3 5 37.6 4.4 55.6-1.5l12.8-4.3c15.5-5.2 31.6 6.4 31.6 22.8v32c0 34.6 28.1 62.7 62.7 62.7c16.4 0 27.9 16 22.8 31.6l-4.3 12.8c-6 18-6.5 37.3-1.5 55.6l5.3 19.4c4.9 17.9-11.6 34.4-29.5 29.5L452 495.6c-18.3-5-37.6-4.5-55.6 1.5l-12.8 4.3c-15.5 5.2-31.6-6.4-31.6-22.8V456c0-39.8-32.2-72-72-72zM96 257.3c0-16.4 16-27.9 31.6-22.8l12.8 4.3c18 6 37.3 6.5 55.6 1.5l19.4-5.3c17.9-4.9 34.4 11.6 29.5 29.5L239.6 284c-5 18.3-4.4 37.6 1.5 55.6l4.3 12.8c5.2 15.5-6.4 31.6-22.8 31.6c-34.6 0-62.7 28.1-62.7 62.7v32c0 16.4-16 27.9-31.6 22.8l-12.8-4.3c-18-6-37.3-6.5-55.6-1.5L40.5 501c-17.9 4.9-34.4-11.6-29.5-29.5L16.4 452c5-18.3 4.4-37.6-1.5-55.6l-4.3-12.8C5.4 368 16.9 352 33.3 352C67.9 352 96 323.9 96 289.3v-32z\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-32 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm160 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]]\n};\nvar faNose = {\n prefix: 'fad',\n iconName: 'nose',\n icon: [448, 512, [], \"e5bd\", [\"M88 0C74.7 0 64 10.7 64 24V254.5c0 6.6 6.6 11.3 13 9.7c6.7-1.7 13.6-2.9 20.7-3.6l44.7-4.5c8.8-.9 16.6 5.5 17.5 14.3s-5.5 16.6-14.3 17.5l-44.7 4.5C44.3 298 1 345.3 0 401.9c1 61 50.8 110.1 112 110.1h12c-7.5-10-12-22.5-12-36c0-33.1 26.9-60 60-60h4.8c19.7 0 38.3 9 50.6 24.3l15.4 19.2c25.8 32.3 64.6 51.4 105.8 52.4c55.2-1.6 99.4-46.8 99.4-102.3c0-28.1-11.4-54.4-30.4-74.1C369.9 286 259.3 163 181.3 12.9C177.2 5 169 0 160 0H88z\", \"M124 512c-7.5-10-12-22.5-12-36c0-33.1 26.9-60 60-60h4.8c19.7 0 38.3 9 50.6 24.3l15.4 19.2c25.8 32.3 64.6 51.4 105.8 52.4L124 512z\"]]\n};\nvar faChevronLeft = {\n prefix: 'fad',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", [\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\", \"\"]]\n};\nvar faBacteria = {\n prefix: 'fad',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", [\"M304.9 .7c9.6 2.7 15.1 12.7 12.4 22.3l-4.5 15.6c13.5 7.5 24.9 18.7 32.6 32.6L361 66.7c9.6-2.7 19.5 2.8 22.3 12.4s-2.8 19.5-12.4 22.3l-15.2 4.3c1.3 16.6-2.4 32.7-10.1 46.6l9 9c7 7 7 18.4 0 25.5s-18.4 7-25.5 0l-7.2-7.2c-9 6.7-19.5 11.7-31.1 14.4c-4.2 1-8.1 2-11.9 3.1l2.3 8.1c2.7 9.6-2.8 19.5-12.4 22.3s-19.5-2.8-22.3-12.4l-1.3-4.4c-19.7 10.8-30.5 23.3-36.9 33.3l8.6 3.7c9.1 3.9 13.4 14.5 9.5 23.6s-14.5 13.4-23.6 9.5l-7.1-3c-1.1 16.7-7 32-16.3 44.5l7.2 7.2c7 7 7 18.4 0 25.5s-18.4 7-25.5 0l-9-9c-12.7 7-27.4 10.7-43 10.2c-1.2 0-2.4-.1-3.6-.2l-4.3 15.2c-2.7 9.6-12.7 15.1-22.3 12.4S64 370.6 66.7 361l4.5-15.6c-13.7-7.6-25-19-32.6-32.6l-15.6 4.5C13.4 320 3.4 314.5 .7 304.9s2.8-19.5 12.4-22.3l15.2-4.3c-.2-3-.3-6-.2-9.1l29.1 .9 .1 0c-29.1-1-29.1-1-29.1-1l0-.1 0-.2 0-.5 .1-1.1c0-.8 .1-1.7 .2-2.8c.2-2.1 .4-4.8 .8-7.8c.7-6.1 2-14.1 4.1-23.4c.2-.8 .4-1.5 .5-2.3l-10.4-4.2c-9.2-3.7-13.7-14.2-10-23.4s14.2-13.7 23.4-10l8 3.2c4.2-10.5 9.4-21.6 16-33c1.6-2.8 3.4-5.7 5.1-8.5l-11.1-8.9c-7.8-6.2-9-17.5-2.8-25.3s17.5-9 25.3-2.8l10 8C97.5 113.8 109.4 102 123 91l-6-9c-5.5-8.3-3.3-19.4 5-25s19.4-3.3 25 5l5.5 8.3c13.7-8.4 28.8-16.1 45.4-22.8l-4.4-10.4c-3.9-9.1 .3-19.7 9.5-23.6s19.7 .3 23.6 9.5L232 35.6c6.8-2 13.9-3.8 21.1-5.5c8.5-2 17-2.6 25.2-1.9l4.3-15.2C285.4 3.5 295.4-2 304.9 .7zM112 272c-20.7-.7-36.3-1.2-48-1.6l0 0 48 1.5zm16-16a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 416a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\", \"M322.7 489c-2.7 9.6 2.8 19.5 12.4 22.3s19.5-2.8 22.2-12.4l4.3-15.2c8.3 .6 16.8 0 25.2-1.9c7.3-1.7 14.3-3.5 21.1-5.5l5.5 12.7c3.9 9.1 14.5 13.4 23.6 9.5s13.4-14.5 9.5-23.6l-4.4-10.4c16.6-6.7 31.7-14.4 45.4-22.8L493 450c5.5 8.3 16.7 10.5 25 5s10.5-16.7 5-25l-6-9c13.7-11 25.5-22.8 35.8-34.9l10 8c7.8 6.2 19.1 5 25.3-2.8s5-19.1-2.8-25.3L574.1 357c1.8-2.8 3.5-5.7 5.1-8.5c6.6-11.4 11.8-22.6 16-33l8 3.2c9.2 3.7 19.7-.8 23.4-10s-.8-19.7-10-23.4l-10.4-4.2c.2-.8 .4-1.5 .5-2.3c2.2-9.3 3.4-17.3 4.1-23.4c.4-3.1 .6-5.7 .8-7.8c.1-1.1 .1-2 .2-2.8l.1-1.1 0-.5 0-.2 0-.1c0 0 0-.1-29.1-1l.1 0 29.1 .9c.1-3.1 0-6.1-.2-9.1l15.2-4.3c9.6-2.7 15.1-12.7 12.4-22.3s-12.7-15.1-22.3-12.4l-15.6 4.5c-7.6-13.6-18.9-25-32.6-32.6l4.5-15.6c2.7-9.6-2.8-19.5-12.4-22.3s-19.5 2.8-22.2 12.4l-4.3 15.2c-1.2-.1-2.4-.2-3.6-.2c-15.6-.5-30.3 3.3-43 10.2l-9-9c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l7.2 7.2c-9.3 12.6-15.2 27.8-16.3 44.5l-7.1-3c-9.1-3.9-19.7 .3-23.6 9.5s.3 19.7 9.5 23.6l8.6 3.7c-6.4 9.9-17.3 22.4-36.9 33.3l-1.3-4.4c-2.7-9.6-12.7-15.1-22.3-12.4s-15.1 12.7-12.4 22.3l2.3 8.1c-3.8 1.1-7.7 2.1-11.9 3.1c-11.6 2.7-22.1 7.7-31.1 14.4l-7.2-7.2c-7-7-18.4-7-25.5 0s-7 18.4 0 25.5l9 9c-7.6 13.9-11.3 30.1-10.1 46.6l-15.2 4.3c-9.6 2.7-15.1 12.7-12.4 22.2s12.7 15.1 22.3 12.4l15.6-4.5c7.7 13.9 19.1 25.1 32.6 32.6L322.7 489zM576 241.5l0 0c-11.7-.4-27.3-.9-48-1.6l48 1.5zM448 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faClouds = {\n prefix: 'fad',\n iconName: 'clouds',\n icon: [640, 512, [], \"f744\", [\"M304 160c-74.1 0-135.2 56-143.1 128H96c-53 0-96-43-96-96s43-96 96-96l1.1 0C104.9 41.7 151.6 0 208 0c47.9 0 88.8 30.1 104.8 72.4C324.8 67 338 64 352 64c53 0 96 43 96 96c0 12.1-2.2 23.6-6.3 34.2c-11.4 2.3-22.2 6.4-32.1 11.9C383.3 177.7 345.7 160 304 160z\", \"M128 416c0 53 43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28c-18.7-35.7-56.1-60-99.2-60c-61.9 0-112 50.1-112 112c0 7.1 .7 14.1 1.9 20.8C155.6 337.4 128 373.5 128 416z\"]]\n};\nvar faMoneyBillSimple = {\n prefix: 'fad',\n iconName: 'money-bill-simple',\n icon: [576, 512, [], \"e1f1\", [\"M288 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm224 96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]]\n};\nvar faHandLizard = {\n prefix: 'fad',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", [\"M0 112C0 85.5 21.5 64 48 64H160h80 46.5c36.8 0 71.2 18 92.1 48.2l113.5 164c13 18.7 19.9 41 19.9 63.8v12 16 48c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V402.2L273.9 352H240 160 112c-26.5 0-48-21.5-48-48s21.5-48 48-48h48 80c26.5 0 48-21.5 48-48s-21.5-48-48-48H160 48c-26.5 0-48-21.5-48-48z\", \"\"]]\n};\nvar faTablePivot = {\n prefix: 'fad',\n iconName: 'table-pivot',\n icon: [512, 512, [], \"e291\", [\"M0 192V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160V160H448V416H128V192H0z\", \"M64 32h64V160H0V96C0 60.7 28.7 32 64 32zM414.8 246.1c-2.5 6-8.3 9.9-14.8 9.9H384v48c0 26.5-21.5 48-48 48H288v16c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-32-32c-6.2-6.2-6.2-16.4 0-22.6l32-32c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8v16h48c8.8 0 16-7.2 16-16V256H336c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l32-32c6.2-6.2 16.4-6.2 22.6 0l32 32c4.6 4.6 5.9 11.5 3.5 17.4z\"]]\n};\nvar faFilterSlash = {\n prefix: 'fad',\n iconName: 'filter-slash',\n icon: [640, 512, [], \"e17d\", [\"M202.5 255.5L384 398.5V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9l-53.5-65.4zM567 97.3l-160.4 196L81.7 38.8C88.2 34.4 95.9 32 104 32H536c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTrashCanUndo = {\n prefix: 'fad',\n iconName: 'trash-can-undo',\n icon: [448, 512, [\"trash-can-arrow-turn-left\", \"trash-undo-alt\"], \"f896\", [\"M32 96H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V96zm185.8 71.9c-8.9-9.9-24-10.7-33.9-1.8l-80 72c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L182.5 280H240c22.1 0 40 17.9 40 40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320c0-48.6-39.4-88-88-88H182.5l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9z\", \"M163.8 0H284.2c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zm54.1 167.9c8.9 9.9 8.1 25-1.8 33.9L182.5 232H240c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V320c0-22.1-17.9-40-40-40H182.5l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8z\"]]\n};\nvar faTrashCanArrowTurnLeft = faTrashCanUndo;\nvar faTrashUndoAlt = faTrashCanUndo;\nvar faNotdef = {\n prefix: 'fad',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", [\"M64 64l0 0v57.7L153.5 256 64 390.3V448h38.5L192 313.7 281.5 448H320V390.3L230.5 256 320 121.7V64H281.5L192 198.3 102.5 64H64z\", \"M64 64V448H320V64H64zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]]\n};\nvar faDisease = {\n prefix: 'fad',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", [\"M236.4 61.4L227 75.5c-21.3 32-59.4 48.5-97.3 42.1l-59.6-9.9C33.4 101.6 0 129.9 .1 167.1c0 15.9 6.4 31.2 17.6 42.5l29.2 29.2c11 11 17.2 25.9 17.2 41.5c0 15.8-6.4 30.9-17.7 42L33.3 335.1C22.2 345.9 16 360.7 16 376.2c0 36.8 34.1 64.2 70.1 56.2l62.3-13.8c7.7-1.7 15.7-2.6 23.6-2.6h10c27.2 0 53.7 9.3 75 26.3L287.8 467c10.5 8.4 23.6 13 37 13c32.7 0 59.3-26.5 59.3-59.3l0-25.2c0-34.9 21.4-66.2 53.9-78.8l36.9-14.3c22.4-8.7 37.2-30.3 37.2-54.3c0-28.1-20.1-52.3-47.8-57.3l-28-5.1c-36.5-6.7-65.4-34.5-73.6-70.7l-7.1-31.5C348.9 53.4 322.1 32 291.3 32c-22 0-42.6 11-54.9 29.4zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M304 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM288 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faPersonToDoor = {\n prefix: 'fad',\n iconName: 'person-to-door',\n icon: [576, 512, [58704], \"e433\", [\"M432 0c-26.5 0-48 21.5-48 48V224c17.7 0 32 14.3 32 32s-14.3 32-32 32V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H432z\", \"M320 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5c1.9 0 3.8 .1 5.6 .3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3C289 264.7 323.9 288 362.7 288H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H362.7c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15c-11.1-3.4-22.7-5.2-34.4-5.2c-31 0-60.8 12.3-82.7 34.3L57.4 153.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5L157 361.6l-9.5-6c-17.5-10.9-30.5-26.8-37.9-44.9L91.2 352z\"]]\n};\nvar faTurntable = {\n prefix: 'fad',\n iconName: 'turntable',\n icon: [576, 512, [], \"f8e4\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm272 0c8.8 0 16 7.2 16 16V272.4c0 7.5-1.7 14.8-5.1 21.5l-16.2 32.4c6.1 9.2 7.2 21.4 1.9 31.9l-16 32c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32c5.3-10.6 15.7-17 26.7-17.6l16.2-32.5c1.1-2.2 1.7-4.7 1.7-7.2V112c0-8.8 7.2-16 16-16z\", \"M64 256a160 160 0 1 1 320 0A160 160 0 1 1 64 256zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM496 96c8.8 0 16 7.2 16 16V272.4c0 7.5-1.7 14.8-5.1 21.5l-16.2 32.4c6.1 9.2 7.2 21.4 1.9 31.9l-16 32c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32c5.3-10.6 15.7-17 26.7-17.6l16.2-32.5c1.1-2.2 1.7-4.7 1.7-7.2V112c0-8.8 7.2-16 16-16z\"]]\n};\nvar faBriefcaseMedical = {\n prefix: 'fad',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", [\"M184 48c-4.4 0-8 3.6-8 8V96H128V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96H336V56c0-4.4-3.6-8-8-8H184z\", \"M64 96C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H288v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V320H176c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]]\n};\nvar faGenderless = {\n prefix: 'fad',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", [\"M112 256a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M192 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 288a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]]\n};\nvar faChevronRight = {\n prefix: 'fad',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", [\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\", \"\"]]\n};\nvar faSignalWeak = {\n prefix: 'fad',\n iconName: 'signal-weak',\n icon: [640, 512, [\"signal-1\"], \"f68c\", [\"M608 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM480 128c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V128zM320 192c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32zM224 320c0-17.7-14.3-32-32-32s-32 14.3-32 32V480c0 17.7 14.3 32 32 32s32-14.3 32-32V320z\", \"M64 384c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c0-17.7 14.3-32 32-32z\"]]\n};\nvar faSignal1 = faSignalWeak;\nvar faClockFive = {\n prefix: 'fad',\n iconName: 'clock-five',\n icon: [512, 512, [], \"e349\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392V248.7l60 90c7.4 11 4.4 25.9-6.7 33.3s-25.9 4.4-33.3-6.7l-64-96c-2.6-3.9-4-8.6-4-13.3V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24V248.7l60 90c7.4 11 4.4 25.9-6.7 33.3s-25.9 4.4-33.3-6.7l-64-96c-2.6-3.9-4-8.6-4-13.3V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faRetweet = {\n prefix: 'fad',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", [\"M272 128c0-17.7 14.3-32 32-32l112 0c53 0 96 43 96 96l0 128 32 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l32 0 0-128c0-17.7-14.3-32-32-32l-112 0c-17.7 0-32-14.3-32-32z\", \"M304 384c0 17.7-14.3 32-32 32l-112 0c-53 0-96-43-96-96l0-128-32 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-32 0 0 128c0 17.7 14.3 32 32 32l112 0c17.7 0 32 14.3 32 32z\"]]\n};\nvar faCarRear = {\n prefix: 'fad',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", [\"M135.2 117.4c4.5-12.8 16.6-21.4 30.2-21.4H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6zM32 448V391.4c9.4 5.4 20.3 8.6 32 8.6h64v48c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zm352 0V400h64c11.7 0 22.6-3.1 32-8.6V448c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32z\", \"M165.4 96H346.6c13.6 0 25.7 8.6 30.2 21.4L402.9 192H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zm-90.6 .3L39.6 196.8C16.4 206.4 0 229.3 0 256v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V256c0-26.7-16.4-49.6-39.6-59.2L437.2 96.3C423.7 57.8 387.4 32 346.6 32H165.4c-40.8 0-77.1 25.8-90.6 64.3zM208 272h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16zM48 280c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24-10.7-24-24zm360-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H408c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'fad',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", [\"M117.4 160c-33.3 0-61 25.5-63.8 58.7L35 442.7C31.9 480 61.3 512 98.8 512H285.2c37.4 0 66.9-32 63.8-69.3l-18.7-224c-2.8-33.2-30.5-58.7-63.8-58.7H117.4zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\", \"M128 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h60.1c21.2 0 41.6 8.4 56.6 23.4l33.9 33.9c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-33.9-33.9c-3-3-7.1-4.7-11.3-4.7H256v64H128V32zM256 360c0 35.3-28.7 56-64 56s-64-20.7-64-56c0-32.5 37-80.9 50.9-97.9c3.2-3.9 8.1-6.1 13.1-6.1s9.9 2.2 13.1 6.1C219 279.1 256 327.5 256 360z\"]]\n};\nvar faComputerClassic = {\n prefix: 'fad',\n iconName: 'computer-classic',\n icon: [448, 512, [], \"f8b1\", [\"M0 48C0 21.5 21.5 0 48 0H400c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48zM32 480V448H416v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM96 64C78.3 64 64 78.3 64 96V224c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96zM80 360a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm144-24c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\", \"M64 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96z\"]]\n};\nvar faFrame = {\n prefix: 'fad',\n iconName: 'frame',\n icon: [448, 512, [], \"e495\", [\"M64 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 288H64L64 64zm0 384V416h64l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32zm320 0c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-288 64 0 0 288zm0-384V96l-64 0V64c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M416 96c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0V96H416zM32 96H64v64l-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 320c-17.7 0-32-14.3-32-32s14.3-32 32-32l288 0v64L32 416zm384 0H384V352h32c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]]\n};\nvar faVideoSlash = {\n prefix: 'fad',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", [\"M32.3 121.5L407 416.7c-11.2 18.7-31.6 31.3-55 31.3H96c-35.3 0-64-28.7-64-64V128c0-2.2 .1-4.4 .3-6.5zM448 325.8V320 192 174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6s16.9 16.4 16.9 28.2V384c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-13.8-9.2L448 325.8zM113.9 64H352c35.3 0 64 28.7 64 64V300.8L113.9 64z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBatteryQuarter = {\n prefix: 'fad',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", [\"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\", \"M96 192h96V320H96z\"]]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faEllipsisStroke = {\n prefix: 'fad',\n iconName: 'ellipsis-stroke',\n icon: [512, 512, [\"ellipsis-h-alt\"], \"f39b\", [\"M256 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-96a72 72 0 1 0 0 144 72 72 0 1 0 0-144z\", \"M392 256a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm96 0a72 72 0 1 1 -144 0 72 72 0 1 1 144 0zM72 256a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm96 0A72 72 0 1 1 24 256a72 72 0 1 1 144 0z\"]]\n};\nvar faEllipsisHAlt = faEllipsisStroke;\nvar faRadio = {\n prefix: 'fad',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", [\"M0 192c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zM448 320a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 304c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm16 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\", \"M511 17.2c3.7 12.7-3.6 26.1-16.3 29.8L218.5 128H64c-13.9 0-26.9 4.5-37.4 12c7.3-5.9 15.7-10.4 25.1-13.2L481.3 1C494-2.8 507.3 4.5 511 17.2zM368 240a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faBabyCarriage = {\n prefix: 'fad',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", [\"M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M448 96c-35.3 0-64 28.7-64 64v64H224L0 224c0 25.2 5.8 50.2 17.1 73.5s27.8 44.5 48.6 62.3s45.5 32 72.7 41.6S194.6 416 224 416s58.5-5 85.7-14.6s51.9-23.8 72.7-41.6s37.3-39 48.6-62.3s17-48.3 17-73.5V160h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H448z\"]]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faFaceExpressionless = {\n prefix: 'fad',\n iconName: 'face-expressionless',\n icon: [512, 512, [], \"e373\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 336H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zM128 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm176-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\", \"M144 192c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm160 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304z\"]]\n};\nvar faDownToDottedLine = {\n prefix: 'fad',\n iconName: 'down-to-dotted-line',\n icon: [448, 512, [], \"e408\", [\"M0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm96 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M251.3 372.7L374.1 249.9c6.4-6.4 9.9-15 9.9-24c0-18.7-15.2-33.9-33.9-33.9L288 192l0-128c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 128-62.1 0C79.2 192 64 207.2 64 225.9c0 9 3.6 17.6 9.9 24L196.7 372.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3z\"]]\n};\nvar faCloudMusic = {\n prefix: 'fad',\n iconName: 'cloud-music',\n icon: [640, 512, [], \"f8ae\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM416 207.1c0-22.3-22.3-37.8-43.2-30l-96 36c-12.5 4.7-20.8 16.6-20.8 30v87.2c-5-1.5-10.4-2.3-16-2.3c-26.5 0-48 17.9-48 40s21.5 40 48 40s48-17.9 48-40v0V275.1l96-36v59.2c-5-1.5-10.4-2.3-16-2.3c-26.5 0-48 17.9-48 40s21.5 40 48 40s48-17.9 48-40v0V207.1z\", \"M372.8 177.1c20.9-7.8 43.2 7.6 43.2 30V336v0c0 22.1-21.5 40-48 40s-48-17.9-48-40s21.5-40 48-40c5.6 0 11 .8 16 2.3V239.1l-96 36V368v0c0 22.1-21.5 40-48 40s-48-17.9-48-40s21.5-40 48-40c5.6 0 11 .8 16 2.3V243.1c0-13.3 8.3-25.3 20.8-30l96-36z\"]]\n};\nvar faTrafficLight = {\n prefix: 'fad',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", [\"M160 160a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0 32a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0 128a48 48 0 1 0 0 96 48 48 0 1 0 0-96z\", \"M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]]\n};\nvar faCloudMinus = {\n prefix: 'fad',\n iconName: 'cloud-minus',\n icon: [640, 512, [], \"e35d\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zM248 264c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\", \"M224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faThermometer = {\n prefix: 'fad',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", [\"M96 382.1V293.3c0-14.9 5.9-29.1 16.4-39.6l27.3-27.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 45.5-45.5C355.2 10.9 381.4 0 408.8 0C465.8 0 512 46.2 512 103.2c0 27.4-10.9 53.6-30.2 73L258.3 399.6c-10.5 10.5-24.7 16.4-39.6 16.4H129.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l89-89z\", \"M139.7 226.3l57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57-22.6 22.6zm64-64l57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57-22.6 22.6zm64-64l57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57L267.7 98.3z\"]]\n};\nvar faShieldMinus = {\n prefix: 'fad',\n iconName: 'shield-minus',\n icon: [512, 512, [], \"e249\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 256c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faVrCardboard = {\n prefix: 'fad',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", [\"M576 64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H184.4c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M160 304a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm320 0a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faCarTilt = {\n prefix: 'fad',\n iconName: 'car-tilt',\n icon: [640, 512, [], \"f5e5\", [\"M0 496c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48v16H0V496z\", \"M145.1 120.6L292.4 81.2c12.7-3.4 26.3 1.3 34.1 12l37.8 51.6L114.6 211.6l7-63.6c1.4-13.1 10.8-24 23.5-27.4zM58 141.1L47.8 234.2C27.4 249.4 17.2 276 24.2 302.1L57.3 425.8l6 22.2 99.4 0c-.1-.2-.1-.5-.2-.7L150 400.9l278.2-74.5 12.4 46.4c4.6 17.1 22.1 27.2 39.2 22.6l30.9-8.3c17.1-4.6 27.2-22.1 22.6-39.2L521 301.5 487.8 177.9c-7-26.1-29.1-44.1-54.4-47L378.1 55.3c-23.4-31.9-64-46.2-102.3-36L128.5 58.8C90.3 69.1 62.3 101.7 58 141.1zm58.9 136.2a32 32 0 1 1 16.6 61.8 32 32 0 1 1 -16.6-61.8zm255.6-35.3a32 32 0 1 1 61.8-16.6 32 32 0 1 1 -61.8 16.6z\"]]\n};\nvar faGaugeCircleMinus = {\n prefix: 'fad',\n iconName: 'gauge-circle-minus',\n icon: [640, 512, [], \"e497\", [\"M504 192.2c-2.6-.1-5.3-.2-8-.2c-97.2 0-176 78.8-176 176c0 45.9 17.6 87.7 46.4 119C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2zM256 416c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V292.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM368 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm64-128l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]]\n};\nvar faBrightnessLow = {\n prefix: 'fad',\n iconName: 'brightness-low',\n icon: [512, 512, [], \"e0ca\", [\"M256 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM432 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM48 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 384a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\", \"M160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]]\n};\nvar faHandMiddleFinger = {\n prefix: 'fad',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", [\"M232 0c-22.1 0-40 17.9-40 40V204.2c-8.5-7.6-19.7-12.2-32-12.2c-26.5 0-48 21.5-48 48v7 73c0 8.8-7.2 16-16 16s-16-7.2-16-16V264.3c-2 1.4-3.9 3-5.8 4.5L55 284.8C40.4 297 32 315 32 334V372c0 38 16.9 74 46.1 98.3l5.4 4.5c28.8 24 65 37.1 102.4 37.1H304c70.7 0 128-57.3 128-128V320 288c0-26.5-21.5-48-48-48c-12.4 0-23.6 4.7-32.1 12.3C350 227.5 329.3 208 304 208c-12.3 0-23.5 4.6-32 12.2V40c0-22.1-17.9-40-40-40z\", \"\"]]\n};\nvar faPercent = {\n prefix: 'fad',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", [\"M374.6 73.4c12.5 12.5 12.5 32.8 0 45.3l-320 320c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l320-320c12.5-12.5 32.8-12.5 45.3 0z\", \"M64 192A64 64 0 1 0 64 64a64 64 0 1 0 0 128zM320 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'fad',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", [\"M96 352a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm160 0a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm288 0a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\", \"M64 32C28.7 32 0 60.7 0 96V384H5.5c13.2-37.3 48.7-64 90.5-64c33.4 0 62.8 17 80 42.9C193.2 337 222.6 320 256 320c41.8 0 77.4 26.7 90.5 64H416h37.5c13.2-37.3 48.7-64 90.5-64c38.2 0 71.2 22.3 86.6 54.6c5.8-5.8 9.4-13.8 9.4-22.6V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H480V96c0-35.3-28.7-64-64-64H64zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256z\"]]\n};\nvar faGlassWaterDroplet = {\n prefix: 'fad',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", [\"M8.6 10.2C14.6 3.7 23.1 0 32 0H352c8.9 0 17.4 3.7 23.4 10.2s9.1 15.2 8.5 24.1L355.1 437.7c-3 41.9-37.8 74.3-79.8 74.3H108.7c-42 0-76.8-32.4-79.8-74.3L.1 34.3c-.6-8.9 2.4-17.6 8.5-24.1zM66.4 64L92.7 433.1c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L317.6 64H66.4z\", \"M301 297.5L288 304c-20.1 10.1-43.9 10.1-64 0s-43.9-10.1-64 0s-43.9 10.1-64 0l-13-6.5 9.7 135.6c.6 8.4 7.6 14.9 16 14.9H275.3c8.4 0 15.4-6.5 16-14.9L301 297.5zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]]\n};\nvar faConveyorBelt = {\n prefix: 'fad',\n iconName: 'conveyor-belt',\n icon: [640, 512, [], \"f46e\", [\"M256 0h16 96 16V16v96c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L320 99.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V16 0zM0 416c0-53 43-96 96-96H544c53 0 96 43 96 96s-43 96-96 96H96c-53 0-96-43-96-96zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M256 0H176c-26.5 0-48 21.5-48 48V208c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H384V112c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L320 99.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V0z\"]]\n};\nvar faLocationCheck = {\n prefix: 'fad',\n iconName: 'location-check',\n icon: [384, 512, [\"map-marker-check\"], \"f606\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM305 145L177 273c-9.4 9.4-24.6 9.4-33.9 0L79 209c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M305 111c9.4 9.4 9.4 24.6 0 33.9L177 273c-9.4 9.4-24.6 9.4-33.9 0L79 209c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 111c9.4-9.4 24.6-9.4 33.9 0z\"]]\n};\nvar faMapMarkerCheck = faLocationCheck;\nvar faCoinVertical = {\n prefix: 'fad',\n iconName: 'coin-vertical',\n icon: [384, 512, [], \"e3fd\", [\"M144 512c79.5 0 144-114.6 144-256S223.5 0 144 0S0 114.6 0 256S64.5 512 144 512zm-8-64c-20.5 0-36.7-10.5-48.2-22.6C76.5 413.4 67.7 397.7 61 381c-13.4-33.6-21-77.8-21-125s7.6-91.4 21-125c6.7-16.7 15.4-32.4 26.8-44.4C99.3 74.5 115.5 64 136 64s36.7 10.5 48.2 22.6c11.4 12 20.1 27.7 26.8 44.4c13.4 33.6 21 77.8 21 125s-7.6 91.4-21 125c-6.7 16.7-15.4 32.4-26.8 44.4C172.7 437.5 156.5 448 136 448zm64-192c0-88.4-28.7-160-64-160s-64 71.6-64 160s28.7 160 64 160s64-71.6 64-160z\", \"M330.6 48C309.6 17.8 283.8 0 256 0H226.1c15.6 13.2 29.3 29.7 40.9 48h63.7zM313.3 176h64.3c-6-36.2-15.9-68.9-28.7-96H284.3c13.2 28.4 23 60.9 29 96zm68.4 128c1.5-15.5 2.2-31.6 2.2-48s-.8-32.5-2.2-48H317.6c1.6 15.7 2.4 31.7 2.4 48s-.8 32.3-2.4 48h64.1zM284.3 432H349c12.8-27.1 22.7-59.8 28.7-96H313.3c-6 35.1-15.9 67.6-29 96zM267 464c-11.5 18.3-25.2 34.8-40.9 48H256c27.9 0 53.6-17.8 74.6-48H267zM136 448c20.5 0 36.7-10.5 48.2-22.6c11.4-12 20.1-27.7 26.8-44.4c13.4-33.6 21-77.8 21-125s-7.6-91.4-21-125c-6.7-16.7-15.4-32.4-26.8-44.4C172.7 74.5 156.5 64 136 64s-36.7 10.5-48.2 22.6C76.5 98.6 67.7 114.3 61 131c-13.4 33.6-21 77.8-21 125s7.6 91.4 21 125c6.7 16.7 15.4 32.4 26.8 44.4C99.3 437.5 115.5 448 136 448zm64-192c0 88.4-28.7 160-64 160s-64-71.6-64-160s28.7-160 64-160s64 71.6 64 160z\"]]\n};\nvar faDisplay = {\n prefix: 'fad',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z\", \"M512 64H64V352H512V64zM416 448H346.7L336 416H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32z\"]]\n};\nvar faPersonSign = {\n prefix: 'fad',\n iconName: 'person-sign',\n icon: [512, 512, [], \"f757\", [\"M438.1 32.2c4.5-12.5-1.9-26.2-14.3-30.8S397.5 3.3 393 15.8l-4.6 12.7L328.7 6.7c-12.5-4.5-26.2 1.9-30.8 14.3L259.6 126.3c-4.5 12.5 1.9 26.2 14.3 30.8l59.7 21.7L289 301.5c-4.5 12.5 1.9 26.2 14.3 30.8s26.2-1.9 30.8-14.3l44.6-122.6 60.6 22c12.5 4.5 26.2-1.9 30.8-14.3L508.4 97.7c4.5-12.5-1.9-26.2-14.3-30.8l-60.6-22 4.6-12.7z\", \"M318.3 221.2l-28.8-10.8c-9.7-3.7-18.4-9.6-25.4-17.4L235 160.2c-18.2-20.5-44.3-32.2-71.8-32.2H135.6c-36.4 0-69.6 20.5-85.9 53.1L3.4 273.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3L80 263.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V352h20.2L192 407.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V407.6c0-9.9-2.3-19.7-6.8-28.6L216 312.4V235.2l.3 .3c13.8 15.6 31.2 27.5 50.7 34.8l29.3 11 21.9-60.1zM144 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faFaceSmile = {\n prefix: 'fad',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSmile = faFaceSmile;\nvar faPhoneHangup = {\n prefix: 'fad',\n iconName: 'phone-hangup',\n icon: [640, 512, [], \"e225\", [\"M224 225.6c-64.2 8-128.3 25.8-203.8 59.8l13 29.2c71.2-32.1 131.2-49 190.8-56.8V225.6zM416 240s0 0 0 0v17.9c59.6 7.9 119.7 24.8 190.8 56.8l13-29.2c-75.5-34-139.6-51.8-203.8-59.8V240z\", \"M20.2 285.5l-8.5-19.2c-7.2-16.2-5.1-35.1 7.4-47.7C69.2 168.1 175.8 96 320 96s250.8 72.1 300.9 122.6c12.5 12.6 14.6 31.5 7.4 47.7l-8.5 19.2C507.2 234.7 420 220.1 320 220.1s-187.2 14.7-299.8 65.4zm13 29.2c71.2-32.1 131.2-49 190.8-56.8v67.9c0 15.3-10.8 28.4-25.7 31.4L89.1 379c-14.7 2.9-29.4-4.7-35.5-18.4L33.2 314.7zM416 257.9c59.6 7.9 119.7 24.8 190.8 56.8l-20.4 45.9c-6.1 13.7-20.8 21.3-35.5 18.4L441.7 357.1c-15-3-25.7-16.1-25.7-31.4V257.9z\"]]\n};\nvar faSignatureSlash = {\n prefix: 'fad',\n iconName: 'signature-slash',\n icon: [640, 512, [], \"e3cb\", [\"M345.2 368H305.9c-6.7 16.3-14.2 32.3-22.3 48H406.2l-60.9-48zM181.1 238.7l-16.7 5c-40.6 12.2-68.4 49.6-68.4 92v71.9c0 40 32.5 72.5 72.5 72.5c26 0 50-13.9 62.9-36.5l13.9-24.3c17.5-30.5 31.9-62.7 43.1-95.9L181.1 238.7zm217.1 1.7l-12.3 36.8L440.6 320H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H460.4l18-53.9c3.8-11.3 .9-23.8-7.4-32.4s-20.7-11.8-32.2-8.4L316.4 198.1c2.4-20.7 3.6-41.4 3.6-62.3V128c0-53-43-96-96-96c-37 0-69.1 20.9-85.1 51.6l53.2 41.7C193.5 108.9 207.2 96 224 96c17.7 0 32 14.3 32 32v7.8c0 12.8-.5 25.6-1.5 38.3l100.9 79.1 42.8-12.8zM501.8 368L563 416h53c13.3 0 24-10.7 24-24s-10.7-24-24-24H501.8zm-270-77.7c-10.4 33.8-24.5 66.4-42.1 97.2l-13.9 24.3c-1.5 2.6-4.3 4.3-7.4 4.3c-4.7 0-8.5-3.8-8.5-8.5V335.6c0-14.1 9.3-26.6 22.8-30.7l49-14.7zM64 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.3c-.2-2.8-.3-5.6-.3-8.5V368z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faThumbtack = {\n prefix: 'fad',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", [\"M32 32C32 14.3 46.3 0 64 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H290.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8s-15.7 13.3-26 13.3H224V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64C46.3 64 32 49.7 32 32z\", \"M192 224c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256c0-17.7 14.3-32 32-32z\"]]\n};\nvar faThumbTack = faThumbtack;\nvar faWheatSlash = {\n prefix: 'fad',\n iconName: 'wheat-slash',\n icon: [640, 512, [], \"e339\", [\"M362.5 258.8l28.7-28.7 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0L550.5 231c6.2-6.2 6.2-16.4 0-22.6L539.2 197c-34.1-34.1-82.6-44.9-125.9-32.5c12.4-43.3 1.5-91.8-32.5-125.9L369.5 27.3c-6.2-6.2-16.4-6.2-22.6 0L335.5 38.6c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4-30.5 30.5c-3.4-27.3-15.5-53.8-36.5-74.8l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-3.3 3.3-6.3 6.8-9 10.4l137.8 108zm-68.7 68.7l-50.6-39.9-29.5 29.5c-3.4-27.3-15.5-53.8-36.5-74.8L165.8 231c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-37.5 37.5-37.5 98.3 0 135.8l10.4 10.4L73.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9 12.2 12.2c37.5 37.5 98.3 37.5 135.8 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-21.8-21.8-49.6-34.1-78.1-36.9l36.3-36.3zM536 0c-48.6 0-88 39.4-88 88v24c0 8.8 7.2 16 16 16h24c48.6 0 88-39.4 88-88V16c0-8.8-7.2-16-16-16H536z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTrophy = {\n prefix: 'fad',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", [\"M441.8 112c1.8-15.1 3.3-31.1 4.3-48H552c13.3 0 24 10.7 24 24c0 134.5-70.4 207.7-140.5 246.1c-34.5 18.9-68.8 29.3-94.3 35c-12.2 2.7-22.5 4.4-30 5.4c18.1-9.9 44.1-29.5 68.6-67.3c10.6-4.2 21.6-9.2 32.6-15.2c53.7-29.4 107.1-82 114.6-179.9H441.8zM196.1 307.2c24.5 37.8 50.6 57.4 68.6 67.3c-7.5-1-17.8-2.7-30-5.4c-25.5-5.7-59.8-16.1-94.3-35C70.4 295.7 0 222.5 0 88C0 74.7 10.7 64 24 64H129.9c1 16.9 2.5 32.9 4.3 48H48.9c7.5 97.9 60.9 150.6 114.6 179.9c11 6 22 11 32.6 15.2z\", \"M256 395.5c0-16.3-8.6-31.2-20.8-42C192.2 315.3 137.3 231 129 48c-1.2-26.5 20.4-48 47-48H400c26.5 0 48.1 21.6 47 48c-8.2 183-63.2 267.2-106.2 305.4c-12.2 10.8-20.8 25.7-20.8 42V400c0 26.5 21.5 48 48 48h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h16c26.5 0 48-21.5 48-48v-4.5z\"]]\n};\nvar faCloudsSun = {\n prefix: 'fad',\n iconName: 'clouds-sun',\n icon: [640, 512, [], \"f746\", [\"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 30.7 5.1c-26.4 10.6-47 32.6-55.7 59.9C276.8 132.7 244.8 112 208 112c-53 0-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17.1c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M495.9 224c-12.9 0-25.3 2.2-36.8 6.2C435.9 206.6 403.7 192 368 192c-16.7 0-32.6 3.2-47.3 9c-.4-2.9-.6-5.9-.6-8.9c0-35.3 28.6-64 64-64c7.4 0 14.6 1.3 21.2 3.6c11.5-30.1 40.6-51.6 74.8-51.6c38.9 0 71.3 27.8 78.5 64.6c3.1-.4 6.3-.6 9.5-.6c39.8 0 72 32.2 72 72c0 30.4-18.8 56.3-45.4 66.9c-18.9-35.1-56-59-98.7-59zm144 207.9c0 44.2-35.8 80-80 80H288c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z\"]]\n};\nvar faPersonPraying = {\n prefix: 'fad',\n iconName: 'person-praying',\n icon: [640, 512, [128720, \"pray\"], \"f683\", [\"M320 64a64 64 0 1 1 128 0A64 64 0 1 1 320 64z\", \"M283.7 354l116.1 85.8c13.9 10.3 19.6 28.3 14.2 44.7s-20.7 27.5-38 27.5H168c-22.1 0-40-17.9-40-40s17.9-40 40-40h86.6l-53.2-39.3c-34.9-25.8-45.8-73.3-25.6-111.8l48.7-92.5C238.9 161.1 267.2 144 298 144c26.6 0 51.6 12.7 67.2 34.2l26.2 36L446.7 169c17.1-14 42.3-11.5 56.3 5.6s11.5 42.3-5.6 56.3l-88 72c-8.5 7-19.5 10.1-30.4 8.7s-20.8-7.2-27.2-16.1L328.7 264l-45 90z\"]]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'fad',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", [\"M285.5 162.1L27.4 377.1C10.1 391.6 0 413.1 0 435.7C0 477.8 34.1 512 76.3 512c22.6 0 44.1-10.1 58.6-27.4L350.7 225.6c-6.1-3.7-11.9-8.2-17.2-13.5l-38.1-38.1c-3.7-3.7-6.9-7.7-9.8-11.9z\", \"M333.5 212.1c21.8 21.8 51.9 30.2 80 25.4L431 255l-8 8c-9.4 9.4-9.4 24.6 0 33.9l24 24c9.4 9.4 24.6 9.4 33.9 0l88-88c9.4-9.4 9.4-24.6 0-33.9l-24-24c-9.4-9.4-24.6-9.4-33.9 0l-8 8-15.9-15.9c6.6-30.3-2.4-63.2-26.6-86l-44.6-42C389.2 14 353.9 0 317.2 0H299.2C279 0 259.1 4.2 240.7 12.4l-47.2 21c-5.6 2.5-9.2 7.9-9.5 14s3 11.8 8.3 14.7L272 105.5v12.1c0 21.1 8.4 41.4 23.3 56.3l38.1 38.1z\"]]\n};\nvar faFaceVomit = {\n prefix: 'fad',\n iconName: 'face-vomit',\n icon: [576, 512, [], \"e3a0\", [\"M465.5 440.5C513.9 393.9 544 328.5 544 256C544 114.6 429.4 0 288 0S32 114.6 32 256c0 72.5 30.1 137.9 78.5 184.5l16.7-5.6c11.9-4 21.5-12.3 27.2-22.9c-16.7-12.6-26.4-27.7-26.4-44c0-44.2 71.6-80 160-80s160 35.8 160 80c0 16.3-9.7 31.4-26.4 44c5.7 10.6 15.2 19 27.2 22.9l16.7 5.6zm-300-309.8l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM428 141.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\", \"M192 396.1V338.7c23.6-11.1 57.3-18.7 96-18.7s72.4 7.6 96 18.7v57.4c0 31 19.8 58.5 49.2 68.3l34.1 11.4c7.6 2.5 12.7 9.6 12.7 17.6c0 10.3-8.3 18.6-18.6 18.6H114.6c-10.3 0-18.6-8.3-18.6-18.6c0-8 5.1-15.1 12.7-17.6l34.1-11.4c29.4-9.8 49.2-37.3 49.2-68.3zM304 384a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-48 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm256 16a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 480a32 32 0 1 1 64 0A32 32 0 1 1 0 480z\"]]\n};\nvar faSpeakers = {\n prefix: 'fad',\n iconName: 'speakers',\n icon: [640, 512, [], \"f8e0\", [\"M256 64c0-24.6 9.2-47 24.4-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H280.4c-15.2-17-24.4-39.4-24.4-64V414.4c-20.3 20.7-48.7 33.6-80 33.6c-61.9 0-112-50.1-112-112s50.1-112 112-112c31.3 0 59.7 12.9 80 33.6V64zM128 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM352 0c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H352zM464 224a112 112 0 1 1 0 224 112 112 0 1 1 0-224zM416 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\", \"M176 224c31.3 0 59.7 12.9 80 33.6V414.4c-20.3 20.7-48.7 33.6-80 33.6c-61.9 0-112-50.1-112-112s50.1-112 112-112zm0-160a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm64 272a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM416 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM352 336a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm112 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faTtyAnswer = {\n prefix: 'fad',\n iconName: 'tty-answer',\n icon: [640, 512, [\"teletype-answer\"], \"e2b9\", [\"M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M304 0c-8.8 0-16 7.2-16 16V48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H304zm0 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H304zm32-80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zM400 0c-8.8 0-16 7.2-16 16V48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H400zm32 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H448c-8.8 0-16 7.2-16 16zM496 0c-8.8 0-16 7.2-16 16V48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H496zm32 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H544c-8.8 0-16 7.2-16 16zM592 0c-8.8 0-16 7.2-16 16V48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H592zM576 208v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H592c-8.8 0-16 7.2-16 16zM400 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H528c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H400z\"]]\n};\nvar faTeletypeAnswer = faTtyAnswer;\nvar faMugTeaSaucer = {\n prefix: 'fad',\n iconName: 'mug-tea-saucer',\n icon: [640, 512, [], \"e1f5\", [\"M208 32V82.7c0 8.5-3.4 16.6-9.4 22.6l-29.3 29.3c-6 6-9.4 14.1-9.4 22.6V224c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V157.3c0-8.5-3.4-16.6-9.4-22.6l-29.3-29.3c-6-6-9.4-14.1-9.4-22.6V32H208zM32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\", \"M208 32V82.7c0 8.5-3.4 16.6-9.4 22.6l-29.3 29.3c-6 6-9.4 14.1-9.4 22.6V224c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V157.3c0-8.5-3.4-16.6-9.4-22.6l-29.3-29.3c-6-6-9.4-14.1-9.4-22.6V32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64c0-17.7 14.3-32 32-32h80zM480 224h32c35.3 0 64-28.7 64-64s-28.7-64-64-64H480V224z\"]]\n};\nvar faDiagramLeanCanvas = {\n prefix: 'fad',\n iconName: 'diagram-lean-canvas',\n icon: [640, 512, [], \"e156\", [\"M128 96H64V304h64V96zm448 0H512V304h64V96z\", \"M512 96V304h64V96H512zm-48 0H400v80h64V96zM352 96H288V304h64V96zM240 96H176v80h64V96zM128 96H64V304h64V96zM64 352v64H296V352H64zm280 64H576V352H344v64zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM240 304V224H176v80h64zm224-80H400v80h64V224z\"]]\n};\nvar faAlt = {\n prefix: 'fad',\n iconName: 'alt',\n icon: [640, 512, [], \"e08a\", [\"M416 416c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H448c-17.7 0-32-14.3-32-32z\", \"M423 76c6.1-7.6 15.3-12 25-12H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H463.4L217 436c-6.1 7.6-15.3 12-25 12H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H176.6L423 76z\"]]\n};\nvar faDial = {\n prefix: 'fad',\n iconName: 'dial',\n icon: [576, 512, [\"dial-med-high\"], \"e15b\", [\"M256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM512 288a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 96a32 32 0 1 1 64 0A32 32 0 1 1 64 96zM480 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 480a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm416-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M383.2 158.5c-62.6-46.2-151.3-41-208 15.7c-62.5 62.5-62.5 163.8 0 226.3s163.8 62.5 226.3 0c56.7-56.7 61.9-145.4 15.7-208L305.2 304.3c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L383.2 158.5z\"]]\n};\nvar faDialMedHigh = faDial;\nvar faHandPeace = {\n prefix: 'fad',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", [\"M224 0c17.7 0 32 14.3 32 32V240H192V32c0-17.7 14.3-32 32-32zM93.3 51.2L175.9 240H106.1L34.7 76.8C27.6 60.6 35 41.8 51.2 34.7s35.1 .3 42.1 16.5zm27 221.3l-.2-.5h69.9H216c22.1 0 40 17.9 40 40s-17.9 40-40 40H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c39.8 0 72-32.2 72-72l0-.6c9.4 5.4 20.3 8.6 32 8.6c13.2 0 25.4-4 35.6-10.8c8.7 24.9 32.5 42.8 60.4 42.8c11.7 0 22.6-3.1 32-8.6V352c0 88.4-71.6 160-160 160H226.3c-42.4 0-83.1-16.9-113.1-46.9l-11.6-11.6C77.5 429.5 64 396.9 64 363V336c0-32.7 24.6-59.7 56.3-63.5z\", \"M320 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-17.7-14.3-32-32-32zm96 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32z\"]]\n};\nvar faCircleTrash = {\n prefix: 'fad',\n iconName: 'circle-trash',\n icon: [512, 512, [\"trash-circle\"], \"e126\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 128h41.4l11.3-11.3c3-3 7.1-4.7 11.3-4.7h64c4.2 0 8.3 1.7 11.3 4.7L310.6 128H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H352L338.4 354.7c-1.4 16.6-15.2 29.3-31.9 29.3H205.4c-16.6 0-30.5-12.8-31.9-29.3L160 192z\", \"M212.7 116.7L201.4 128H160c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H310.6l-11.3-11.3c-3-3-7.1-4.7-11.3-4.7H224c-4.2 0-8.3 1.7-11.3 4.7zM160 192l13.6 162.7c1.4 16.6 15.2 29.3 31.9 29.3H306.6c16.6 0 30.5-12.8 31.9-29.3L352 192H160z\"]]\n};\nvar faTrashCircle = faCircleTrash;\nvar faRotate = {\n prefix: 'fad',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", [\"M16 319.6l0-7.6c0-13.3 10.7-24 24-24h7.6c.2 0 .5 0 .7 0H168c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6c0-.2 0-.5 0-.7z\", \"M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8H463.5c0 0 0 0 0 0H472c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5z\"]]\n};\nvar faSyncAlt = faRotate;\nvar faCircleQuarters = {\n prefix: 'fad',\n iconName: 'circle-quarters',\n icon: [512, 512, [], \"e3f8\", [\"M256 256L120.2 391.8C155 426.5 203 448 256 448s101-21.5 135.8-56.2L256 256zM391.8 120.2C357 85.5 309 64 256 64s-101 21.5-135.8 56.2L256 256 391.8 120.2z\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]]\n};\nvar faSpinner = {\n prefix: 'fad',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", [\"M369.1 75A48 48 0 1 1 437 142.9 48 48 0 1 1 369.1 75zM416 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM208 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM75 369.1A48 48 0 1 1 142.9 437 48 48 0 1 1 75 369.1zm294.2 0A48 48 0 1 1 437 437a48 48 0 1 1 -67.9-67.9z\", \"M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 256A48 48 0 1 0 0 256a48 48 0 1 0 96 0zM75 142.9A48 48 0 1 0 142.9 75 48 48 0 1 0 75 142.9z\"]]\n};\nvar faTowerControl = {\n prefix: 'fad',\n iconName: 'tower-control',\n icon: [448, 512, [], \"e2a2\", [\"M74.4 192H128V320H111c-.1-.3-.1-.5-.2-.8L74.4 192zM176 192h96V320H176V192zm144 0h53.6L337.2 319.2c-.1 .3-.1 .5-.2 .8H320V192zM4.1 179L44.5 320.2C28.5 321.9 16 335.5 16 352c0 17.7 14.3 32 32 32l352 0c17.7 0 32-14.3 32-32c0-16.5-12.5-30.1-28.5-31.8L443.9 179c7.3-25.6-11.9-51-38.5-51H42.6C16 128-3.2 153.4 4.1 179z\", \"M160 24c0-13.3 10.7-24 24-24h40 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V96h40c17.7 0 32 14.3 32 32H288 248 200 160 128c0-17.7 14.3-32 32-32h40V48H184c-13.3 0-24-10.7-24-24zM368 384v96c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V384H368z\"]]\n};\nvar faArrowUpTriangleSquare = {\n prefix: 'fad',\n iconName: 'arrow-up-triangle-square',\n icon: [576, 512, [\"sort-shapes-up\"], \"f88a\", [\"M416 32c11 0 21.3 5.7 27.1 15l80 128c6.2 9.9 6.5 22.3 .9 32.5s-16.4 16.5-28 16.5H336c-11.6 0-22.3-6.3-28-16.5s-5.3-22.6 .9-32.5l80-128c5.8-9.4 16.1-15 27.1-15zM368 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortShapesUp = faArrowUpTriangleSquare;\nvar faWhale = {\n prefix: 'fad',\n iconName: 'whale',\n icon: [640, 512, [128011], \"f72c\", [\"M175.8 13.4c-1-5.9-5.2-10.8-10.9-12.6s-12-.3-16.2 3.9L108 45.4C89.7 63.7 81.4 89.6 85.6 115.1l7.9 47.4L43.6 212.4C15.7 240.3 0 278.2 0 317.6C0 407.3 72.7 480 162.4 480H544c53 0 96-43 96-96V272.1C640 192.5 575.5 128 495.9 128c-82.5 0-162.4 29.5-225 83.2L156.4 309.4c-8 6.8-18.1 10.6-28.6 10.6h-1.1c-18.3 0-34.5-11.7-40.3-29c-4-12-2.4-25.2 4.3-35.9l37.6-60.1 44.7 7.5c25.5 4.2 51.5-4.1 69.7-22.3l40.7-40.7c4.2-4.2 5.8-10.5 3.9-16.2s-6.7-9.9-12.6-10.9L189.9 98.1 175.8 13.4zM400 280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M376 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faRobot = {\n prefix: 'fad',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", [\"M320 0c-17.7 0-32 14.3-32 32V96h64V32c0-17.7-14.3-32-32-32zM192 400c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm96 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm96 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400c-8.8 0-16 7.2-16 16zM80 224c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H96V224H80zm480 0H544V416h16c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48z\", \"M168 96c-39.8 0-72 32.2-72 72V440c0 39.8 32.2 72 72 72H472c39.8 0 72-32.2 72-72V168c0-39.8-32.2-72-72-72H168zm40 288h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16zM184 256a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm232-40a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]]\n};\nvar faPeace = {\n prefix: 'fad',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", [\"M288 445.3c-10.4 1.7-21.1 2.7-32 2.7s-21.6-.9-32-2.7V323.5l-94.3 77.1c-16.1-14.1-29.9-30.8-40.6-49.5L224 240.8V66.7c10.4-1.7 21.1-2.7 32-2.7s21.6 .9 32 2.7V240.8L422.8 351.1c-10.7 18.7-24.4 35.4-40.6 49.5L288 323.5V445.3z\", \"M256 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 448A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]]\n};\nvar faPartyHorn = {\n prefix: 'fad',\n iconName: 'party-horn',\n icon: [512, 512, [], \"e31b\", [\"M32 32a32 32 0 1 1 64 0A32 32 0 1 1 32 32zM448 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM167 153c-9.4-9.4-9.4-24.6 0-33.9l8.3-8.3c16.7-16.7 27.2-38.6 29.8-62.1l3-27.4C209.6 8.2 221.5-1.3 234.7 .1s22.7 13.3 21.2 26.5l-3 27.4c-3.8 34.3-19.2 66.3-43.6 90.7L201 153c-9.4 9.4-24.6 9.4-33.9 0zM359 311l8.2-8.3c24.4-24.4 56.4-39.8 90.7-43.6l27.4-3c13.2-1.5 25 8 26.5 21.2s-8 25-21.2 26.5l-27.4 3c-23.5 2.6-45.4 13.1-62.1 29.8L393 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM506.3 8.5c8.6 10.1 7.3 25.3-2.8 33.8l-10 8.5c-14.8 12.5-33.7 19.1-53 18.6c-16.6-.4-30.6 12.4-31.6 29l-1.8 30c-2.5 42.5-38.3 75.3-80.8 74.2c-7.6-.2-15 2.4-20.7 7.3l-10 8.5c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l10-8.5c14.8-12.5 33.7-19.1 53-18.6c16.6 .4 30.6-12.4 31.6-29l1.8-30c2.5-42.5 38.3-75.3 80.8-74.2c7.6 .2 15-2.4 20.7-7.3l10-8.5c10.1-8.6 25.3-7.3 33.8 2.8zM83.1 252.5L259.5 428.9l-32.9 12.3L70.8 285.4l12.3-32.9zM48.2 345.6L166.4 463.8l-32.9 12.3L35.9 378.5l12.3-32.9z\", \"M121.2 192.7c10.6-2.3 21.7 1 29.4 8.6l160 160c7.7 7.7 11 18.8 8.6 29.4s-9.9 19.4-20 23.2l-39.7 14.9L83.1 252.5 98 212.8c3.8-10.2 12.6-17.7 23.2-20zM70.8 285.4L226.6 441.2l-60.2 22.6L48.2 345.6l22.6-60.2zm62.7 190.7L43.2 510c-11.7 4.4-25 1.5-33.9-7.3S-2.4 480.5 2 468.8l33.8-90.3 97.6 97.6z\"]]\n};\nvar faGears = {\n prefix: 'fad',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", [\"M529.7 506.7c-8.7 3.7-18.6 .9-25-6.2l-19.8-22.2c-6.8 1.1-13.8 1.7-20.9 1.7s-14.1-.6-20.9-1.7l-19.8 22.2c-6.3 7.1-16.2 9.9-25 6.2c-5.3-2.3-10.5-4.8-15.5-7.6l-5.4-3.1c-5-3-9.9-6.3-14.6-9.8c-7.6-5.7-10.1-15.7-7.1-24.7l9.3-28.2c-8.8-10.7-16-23-20.9-36.2L315.1 391c-9.3-1.9-16.7-9.1-17.8-18.5c-.8-6.7-1.2-13.5-1.2-20.4s.4-13.7 1.2-20.4c1.1-9.4 8.6-16.6 17.8-18.5l29.1-6.1c5-13.3 12.1-25.5 20.9-36.2l-9.3-28.2c-3-9-.5-19 7.1-24.7c4.7-3.5 9.6-6.8 14.6-9.9l5.2-3c5-2.8 10.2-5.3 15.6-7.6c8.7-3.7 18.6-.9 25 6.2l19.8 22.2c6.8-1.1 13.8-1.7 20.9-1.7s14.1 .6 20.9 1.7l19.8-22.2c6.3-7.1 16.2-9.9 25-6.2c5.3 2.3 10.5 4.8 15.6 7.6l5.3 3c5.1 3 9.9 6.3 14.6 9.9c7.6 5.7 10.1 15.7 7.1 24.7l-9.3 28.2c8.8 10.7 16 23 20.9 36.2l29.1 6.1c9.3 1.9 16.7 9.1 17.8 18.5c.8 6.7 1.2 13.5 1.2 20.4s-.4 13.7-1.2 20.4c-1.1 9.4-8.6 16.6-17.8 18.5L583.9 397c-5 13.3-12.1 25.5-20.9 36.2l9.3 28.2c3 9 .5 19-7.1 24.7c-4.7 3.5-9.5 6.8-14.6 9.8l-5.4 3.1c-5 2.8-10.2 5.3-15.5 7.6zM416 352a48 48 0 1 0 96 0 48 48 0 1 0 -96 0z\", \"M314.7 110.3c3.7 8.7 .9 18.6-6.2 25l-22.2 19.8c1.1 6.8 1.7 13.8 1.7 20.9s-.6 14.1-1.7 20.9l22.2 19.8c7.1 6.3 9.9 16.2 6.2 25c-2.3 5.3-4.8 10.5-7.6 15.5l-3.1 5.4c-3 5-6.3 9.9-9.8 14.6c-5.7 7.6-15.7 10.1-24.7 7.1l-28.2-9.3c-10.7 8.8-23 16-36.2 20.9L199 324.9c-1.9 9.3-9.1 16.7-18.5 17.8c-6.7 .8-13.5 1.2-20.4 1.2s-13.7-.4-20.4-1.2c-9.4-1.1-16.6-8.6-18.5-17.8L115 295.9c-13.3-5-25.5-12.1-36.2-20.9l-28.2 9.3c-9 3-19 .5-24.7-7.1c-3.5-4.7-6.8-9.6-9.9-14.6l-3-5.2c-2.8-5-5.3-10.2-7.6-15.6c-3.7-8.7-.9-18.6 6.2-25l22.2-19.8C32.6 190.1 32 183.1 32 176s.6-14.1 1.7-20.9L11.5 135.3c-7.1-6.3-9.9-16.2-6.2-25c2.3-5.3 4.8-10.5 7.6-15.6l3-5.3c3-5.1 6.3-9.9 9.9-14.6c5.7-7.6 15.7-10.1 24.7-7.1l28.2 9.3c10.7-8.8 23-16 36.2-20.9L121 27.1c1.9-9.3 9.1-16.7 18.5-17.8C146.3 8.4 153.1 8 160 8s13.7 .4 20.4 1.2c9.4 1.1 16.6 8.6 18.5 17.8L205 56.1c13.3 5 25.5 12.1 36.2 20.9l28.2-9.3c9-3 19-.5 24.7 7.1c3.5 4.7 6.8 9.5 9.8 14.6l3.1 5.4c2.8 5 5.3 10.2 7.6 15.5zM160 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]]\n};\nvar faCogs = faGears;\nvar faSunBright = {\n prefix: 'fad',\n iconName: 'sun-bright',\n icon: [512, 512, [\"sun-alt\"], \"e28f\", [\"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V88c0 13.3 10.7 24 24 24s24-10.7 24-24V24zm0 400c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V424zM512 256c0-13.3-10.7-24-24-24H424c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24zM88 280c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H88zM437 75c-9.4-9.4-24.6-9.4-33.9 0l-45.3 45.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L437 108.9c9.4-9.4 9.4-24.6 0-33.9zM154.2 391.8c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L75 403.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l45.3-45.3zM437 437c9.4-9.4 9.4-24.6 0-33.9l-45.3-45.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L403.1 437c9.4 9.4 24.6 9.4 33.9 0zM120.2 154.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L108.9 75c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l45.3 45.3z\", \"M256 144a112 112 0 1 0 0 224 112 112 0 1 0 0-224z\"]]\n};\nvar faSunAlt = faSunBright;\nvar faWarehouse = {\n prefix: 'fad',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", [\"M512 488c0 13.3-10.7 24-24 24l-336 0c-13.3 0-24-10.7-24-24V432H512l0 56zm0-88H128V336H512v64zm0-96H128V224H512l0 80z\", \"M0 171.3V488c0 13.3 10.7 24 24 24H72c13.3 0 24-10.7 24-24V224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V488c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V171.3c0-26.2-15.9-49.7-40.2-59.4L331.9 4.8c-7.6-3.1-16.1-3.1-23.8 0L40.2 111.9C15.9 121.6 0 145.2 0 171.3z\"]]\n};\nvar faConveyorBeltArm = {\n prefix: 'fad',\n iconName: 'conveyor-belt-arm',\n icon: [640, 512, [], \"e5f8\", [\"M96 320c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H96zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M240.9 0H320c17.7 0 32 14.3 32 32s-14.3 32-32 32H267.1l-5.7 34c.8 1 1.5 2 2.3 3l204.5 27.3c17.5 2.3 29.8 18.4 27.5 35.9c-1.4 10.2-7.4 18.7-15.7 23.5V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V190.1L255.2 164.5c-8.4 7.2-19.3 11.6-31.2 11.6c-26.5 0-48-21.5-48-48c0-17.1 8.9-32 22.3-40.6L202.2 64H160c-17.7 0-32-14.3-32-32s14.3-32 32-32h79c.6 0 1.2 0 1.9 0zM240 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM96 280c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v40H96V280zm184-24h48c13.3 0 24 10.7 24 24v40H256V280c0-13.3 10.7-24 24-24zm160 0h48c13.3 0 24 10.7 24 24v40H416V280c0-13.3 10.7-24 24-24z\"]]\n};\nvar faLockKeyholeOpen = {\n prefix: 'fad',\n iconName: 'lock-keyhole-open',\n icon: [576, 512, [\"lock-open-alt\"], \"f3c2\", [\"M432 64c-44.2 0-80 35.8-80 80v48H288V144C288 64.5 352.5 0 432 0s144 64.5 144 144v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V144c0-44.2-35.8-80-80-80z\", \"M64 192c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H64zM256 384H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h64c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]]\n};\nvar faLockOpenAlt = faLockKeyholeOpen;\nvar faSquareFragile = {\n prefix: 'fad',\n iconName: 'square-fragile',\n icon: [448, 512, [\"box-fragile\", \"square-wine-glass-crack\"], \"f49b\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm86.3 64H297.7C310 96 320 106 320 118.3V208c0 47.6-34.6 87.1-80 94.7V384h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V302.7c-45.4-7.6-80-47.1-80-94.7V118.3C128 106 138 96 150.3 96z\", \"M150.3 96C138 96 128 106 128 118.3V208c0 47.6 34.6 87.1 80 94.7l0 81.3H160c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H240l0-81.3c45.4-7.6 80-47.1 80-94.7V118.3C320 106 310 96 297.7 96H240l32 64-48 32 32 64-80-64 32-32L176 96H150.3z\"]]\n};\nvar faBoxFragile = faSquareFragile;\nvar faSquareWineGlassCrack = faSquareFragile;\nvar faArrowUpRightDots = {\n prefix: 'fad',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", [\"M528 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM400 256a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm128 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM320 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm336-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-176a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\", \"M128 32c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32V160c0 17.7-14.3 32-32 32s-32-14.3-32-32V109.3L54.6 310.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 64H160c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faSquareN = {\n prefix: 'fad',\n iconName: 'square-n',\n icon: [448, 512, [], \"e277\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm90.3 104.5L288 294.5V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.1-6.3 19.1-15.7 22.5s-20.1 .7-26.6-7L160 217.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.1 6.3-19.1 15.7-22.5s20.1-.7 26.6 7z\", \"M127.7 129.5c9.5-3.5 20.1-.7 26.6 7L288 294.5V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.1-6.3 19.1-15.7 22.5s-20.1 .7-26.6-7L160 217.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.1 6.3-19.1 15.7-22.5z\"]]\n};\nvar faSplotch = {\n prefix: 'fad',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", [\"M208.5 62.3l28.1-36.9C248.8 9.4 267.8 0 288 0c28.5 0 53.6 18.7 61.8 46l17.8 59.4c10.3 34.4 36.1 62 69.8 74.6l39.8 14.9c20.9 7.9 34.8 27.9 34.8 50.2c0 16.9-7.9 32.8-21.5 42.9l-67.3 50.5c-24.3 18.2-37.2 47.9-33.8 78.1l2.5 22.7c4.3 38.7-26 72.6-65 72.6c-14.8 0-29.3-5.1-40.8-14.3l-55.4-44.3c-4.5-3.6-9.3-6.7-14.5-9.2c-15.8-7.9-33.7-10.4-51-7.3L82.4 451.9C47.8 458.2 16 431.6 16 396.5c0-13.2 4.7-26 13.1-36.2l11.2-13.4c14.6-17.4 22.6-39.4 22.6-62.1c0-18.8-5.5-37.2-15.8-53L8.8 173.5C3.1 164.7 0 154.4 0 143.9c0-33.4 30.1-58.8 63-53.2l51.3 8.7c35.9 6.1 72.2-8.2 94.2-37.1z\", \"\"]]\n};\nvar faFaceGrinHearts = {\n prefix: 'fad',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM388.1 312.8c12.3-3.8 24.3 6.9 19.3 18.7C382.4 390.6 324.2 432 256.3 432s-126.2-41.4-151.1-100.5c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19zM199.3 129.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm154.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\", \"M158.4 152.7c4.8-17.8 23.1-28.4 40.8-23.6s28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1zm195.2 0l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faMeter = {\n prefix: 'fad',\n iconName: 'meter',\n icon: [512, 512, [], \"e1e8\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zm96 0v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32z\", \"M160 128c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32z\"]]\n};\nvar faMandolin = {\n prefix: 'fad',\n iconName: 'mandolin',\n icon: [512, 512, [], \"f6f9\", [\"M276.9 189.8C189.6 188.3 0 200.5 0 336c0 97.2 78.8 176 176 176c135.5 0 147.7-189.6 146.2-276.9l-66.2 66.2c0 .9 .1 1.8 .1 2.7c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c.9 0 1.8 0 2.7 .1l66.2-66.2z\", \"M465 7c-7.9-7.9-20.2-9.3-29.7-3.4l-64 40c-5.1 3.2-8.8 8.2-10.4 14L342.8 124 210.7 256.1c24.4 1.3 43.9 20.9 45.3 45.3L388 169.2l66.3-18.1c5.8-1.6 10.8-5.3 14-10.4l40-64c5.9-9.5 4.5-21.8-3.4-29.7L465 7z\"]]\n};\nvar faDiceFour = {\n prefix: 'fad',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSimCard = {\n prefix: 'fad',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", [\"M64 0H242.7c17 0 33.3 6.7 45.3 18.7L365.3 96c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM96 192c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H96z\", \"M128 192H96c-17.7 0-32 14.3-32 32v32h64V192zM64 288v64h80 96 80V288H240 144 64zm256-32V224c0-17.7-14.3-32-32-32H256v64h64zm-96-64H160v64h64V192zm96 192H256v64h32c17.7 0 32-14.3 32-32V384zm-96 64V384H160v64h64zm-96 0V384H64v32c0 17.7 14.3 32 32 32h32z\"]]\n};\nvar faTransgender = {\n prefix: 'fad',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", [\"M192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M112 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-31 31L112 78.1l7-7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7 15.2 15.2C187.7 107.6 220.5 96 256 96s68.3 11.6 94.9 31.2l68.8-68.8-31-31c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h96c8.8 0 16 7.2 16 16v96c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-31-31-68.8 68.8C404.4 187.7 416 220.5 416 256c0 80.2-59 146.6-136 158.2V432h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V414.2C155 402.6 96 336.2 96 256c0-35.5 11.6-68.3 31.2-94.9L112 145.9l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l7-7L58.3 92.3l-31 31c-4.6 4.6-11.5 5.9-17.4 3.5S0 118.5 0 112V16C0 7.2 7.2 0 16 0h96zM352 256a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'fad',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", [\"M112 224a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\", \"M72.1 7C85.8-4 106-1.8 117 12c17.6 22 44.7 36 75 36s57.3-14 75-36c11.1-13.8 31.2-16 45-5s16 31.2 5 45c-7.8 9.7-16.6 18.4-26.4 26.1C337.3 109.7 368 163.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-60.7 30.7-114.3 77.5-145.9C83.7 70.5 74.9 61.7 67.1 52c-11.1-13.8-8.8-33.9 5-45zM80 224a112 112 0 1 0 224 0A112 112 0 1 0 80 224z\"]]\n};\nvar faUpFromBracket = {\n prefix: 'fad',\n iconName: 'up-from-bracket',\n icon: [448, 512, [], \"e590\", [\"M32 320c17.7 0 32 14.3 32 32v64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V352c0-17.7 14.3-32 32-32s32 14.3 32 32v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-17.7 14.3-32 32-32z\", \"M196.7 11.3L73.9 134.1c-6.4 6.4-9.9 15-9.9 24C64 176.8 79.2 192 97.9 192H160V320c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V192h62.1c18.7 0 33.9-15.2 33.9-33.9c0-9-3.6-17.6-9.9-24L251.3 11.3C244.1 4.1 234.2 0 224 0s-20.1 4.1-27.3 11.3z\"]]\n};\nvar faKnifeKitchen = {\n prefix: 'fad',\n iconName: 'knife-kitchen',\n icon: [576, 512, [128298], \"f6f5\", [\"M273.3 222.7L262 211.4l-11.3 11.3-246 246c-3.9 3.9-5.5 9.6-4.3 15s5.3 9.8 10.5 11.5L16 480c-5.1 15.2-5.1 15.2-5.1 15.2l0 0 0 0 0 0 .1 0 .5 .2c.4 .1 1 .3 1.8 .6c1.5 .5 3.7 1.1 6.5 1.9c5.5 1.6 13.3 3.7 22.7 5.7c18.6 4.1 43.9 8.4 69.5 8.4c123.3 0 209.4-62.8 287.3-140.7c6.2-6.2 6.2-16.4 0-22.6l-126-126z\", \"M463 10.3C469.7 3.7 478.6 0 488 0s18.3 3.7 25 10.3L557.7 55c6.6 6.6 10.3 15.6 10.3 25s-3.7 18.3-10.3 25l-97 97c-3 3-4.7 7.1-4.7 11.3v31.9c0 17.4-9.4 33.5-24.7 42L375.8 318l-4.6 2.6-97.9-97.9L262 211.4l6.7-6.7L463 10.3zM448 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faBorderRight = {\n prefix: 'fad',\n iconName: 'border-right',\n icon: [448, 512, [], \"f852\", [\"M320 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192-32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M416 32c17.7 0 32 14.3 32 32l0 384c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-384c0-17.7 14.3-32 32-32z\"]]\n};\nvar faArrowTurnDown = {\n prefix: 'fad',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", [\"M160 402.7L160 96c0-17.7-14.3-32-32-32H32C14.3 64 0 49.7 0 32S14.3 0 32 0h96c53 0 96 43 96 96l0 306.7-32 32-32-32z\", \"M41.4 329.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 434.7 86.6 329.4c-12.5-12.5-32.8-12.5-45.3 0z\"]]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faSpade = {\n prefix: 'fad',\n iconName: 'spade',\n icon: [512, 512, [9824], \"f2f4\", [\"M278 12.5c-12.3-11.7-31.7-11.7-44 0L168 75.1 40 196.3c-51.3 48.6-53.5 129.6-4.9 181s129.6 53.5 181 4.9l8-7.6V256c0-17.7 14.3-32 32-32s32 14.3 32 32V374.6l8 7.6c51.3 48.6 132.3 46.4 181-4.9s46.4-132.3-4.9-181L344 75.1 278 12.5z\", \"M256 224c17.7 0 32 14.3 32 32V448h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V256c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCardSpade = {\n prefix: 'fad',\n iconName: 'card-spade',\n icon: [384, 512, [], \"e3ec\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM175 137.8c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6 64 64c21.9 21.9 21.9 57.3 0 79.2s-57.3 21.9-79.2 0l-7.4-7.4c-.3-.3-.6-.6-1-.9V336h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V295.2c-.3 .3-.7 .6-1 .9l-7.4 7.4c-21.9 21.9-57.3 21.9-79.2 0s-21.9-57.3 0-79.2l64-64L175 137.8z\", \"M209 137.8c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6-64 64c-21.9 21.9-21.9 57.3 0 79.2s57.3 21.9 79.2 0l7.4-7.4c.3-.3 .6-.6 1-.9V336H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V295.2c.3 .3 .7 .6 1 .9l7.4 7.4c21.9 21.9 57.3 21.9 79.2 0s21.9-57.3 0-79.2l-64-64L209 137.8z\"]]\n};\nvar faLineColumns = {\n prefix: 'fad',\n iconName: 'line-columns',\n icon: [512, 512, [], \"f870\", [\"M512 64c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32zm0 128c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32zM288 320c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 448c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32z\", \"M224 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H192c17.7 0 32-14.3 32-32zm0 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM0 320c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM224 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32z\"]]\n};\nvar faArrowRightToLine = {\n prefix: 'fad',\n iconName: 'arrow-right-to-line',\n icon: [448, 512, [8677, \"arrow-to-right\"], \"f340\", [\"M416 64c17.7 0 32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-320c0-17.7 14.3-32 32-32z\", \"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-128 128c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 288 32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l178.7 0-73.4-73.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l128 128z\"]]\n};\nvar faArrowToRight = faArrowRightToLine;\nvar faPersonFallingBurst = {\n prefix: 'fad',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", [\"M398.9 343.6c2.4-.7 4.6-1.9 6.5-3.6L464 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 78.7-12.2c6.5-1 11.7-5.9 13.1-12.2s-1.1-13-6.5-16.7l-65.6-45.1L603 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L508.3 92.1l-29.4-74C476.4 12 470.6 8 464 8s-12.4 4-14.9 10.1l-29.4 74L343.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1-65.6 45.1c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L379.5 314l14.1 18.8c2.5 3.3 4.2 7 5.3 10.8z\", \"M224 0c17.7 0 32 14.3 32 32l0 9.8c0 54.6-27.9 104.6-72.5 133.6l.2 .3L240.5 256l71.5 0c15.1 0 29.3 7.1 38.4 19.2l43.2 57.6c10.6 14.1 7.7 34.2-6.4 44.8s-34.2 7.7-44.8-6.4L304 320l-80 0h-1.4l92.3 142.6c9.6 14.8 5.4 34.6-9.5 44.3s-34.6 5.4-44.3-9.5L100.5 249.2c-2.9 9.2-4.5 19-4.5 29L96 352c0 17.7-14.3 32-32 32s-32-14.3-32-32V278.2C32 213 71.6 154.5 132.1 130.3C168.3 115.8 192 80.8 192 41.8l0-9.8c0-17.7 14.3-32 32-32zM48 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faFlagPennant = {\n prefix: 'fad',\n iconName: 'flag-pennant',\n icon: [448, 512, [128681, \"pennant\"], \"f456\", [\"M64 352L433 213.6c9-3.4 15-12 15-21.6s-6-18.2-15-21.6L64 32V352z\", \"M32 0C49.7 0 64 14.3 64 32V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z\"]]\n};\nvar faPennant = faFlagPennant;\nvar faConveyorBeltEmpty = {\n prefix: 'fad',\n iconName: 'conveyor-belt-empty',\n icon: [640, 512, [], \"e150\", [\"M96 320c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H96zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"\"]]\n};\nvar faUserGroupSimple = {\n prefix: 'fad',\n iconName: 'user-group-simple',\n icon: [640, 512, [], \"e603\", [\"M480 32a104 104 0 1 1 0 208 104 104 0 1 1 0-208zM448 480c-38.3 0-72.7-16.8-96.1-43.5c.1-1.5 .1-3 .1-4.5V416c0-34.9-11.2-67.1-30.1-93.4c5.8-20 24.2-34.6 46.1-34.6H592c26.5 0 48 21.5 48 48v16c0 70.7-57.3 128-128 128H448z\", \"M160 240a104 104 0 1 0 0-208 104 104 0 1 0 0 208zm-32 48C57.3 288 0 345.3 0 416v16c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V416c0-70.7-57.3-128-128-128H128z\"]]\n};\nvar faAward = {\n prefix: 'fad',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", [\"M56.9 309.7L1.3 441.8c-2.2 5.3-1.4 11.4 2.1 16s9.3 6.9 15 6l56.1-8.3 32.2 49.2c3.2 5 8.9 7.7 14.8 7.2s11-4.3 13.3-9.7l50.1-119c-3.9-.9-7.6-2.4-11-4.7L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7l-1.8-.9zm142.3 73.5l50.1 119c2.3 5.5 7.4 9.2 13.3 9.7s11.6-2.2 14.8-7.2l32.2-49.2 56.1 8.3c5.7 .8 11.4-1.5 15-6s4.3-10.7 2.1-16L327.1 309.7l-1.8 .9c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-3.4 2.3-7.2 3.8-11 4.7z\", \"M210.2 5.5c-11-7.3-25.4-7.3-36.4 0L156 17.2c-6 3.9-13 5.8-20.1 5.4l-21.3-1.3c-13.2-.8-25.6 6.4-31.5 18.2L73.4 58.6C70.2 65 65 70.2 58.6 73.4L39.5 83c-11.8 5.9-19 18.3-18.2 31.5l1.3 21.3c.4 7.1-1.5 14.2-5.4 20.1L5.5 173.8c-7.3 11-7.3 25.4 0 36.4L17.2 228c3.9 6 5.8 13 5.4 20.1l-1.3 21.3c-.8 13.2 6.4 25.6 18.2 31.5l19.1 9.6c6.4 3.2 11.5 8.4 14.7 14.7L83 344.5c5.9 11.8 18.3 19 31.5 18.2l21.3-1.3c7.1-.4 14.2 1.5 20.1 5.4l17.8 11.8c11 7.3 25.4 7.3 36.4 0L228 366.8c6-3.9 13-5.8 20.1-5.4l21.3 1.3c13.2 .8 25.6-6.4 31.5-18.2l9.6-19.1c3.2-6.4 8.4-11.5 14.7-14.7l19.1-9.6c11.8-5.9 19-18.3 18.2-31.5l-1.3-21.3c-.4-7.1 1.5-14.2 5.4-20.1l11.8-17.8c7.3-11 7.3-25.4 0-36.4L366.8 156c-3.9-6-5.8-13-5.4-20.1l1.3-21.3c.8-13.2-6.4-25.6-18.2-31.5l-19.1-9.6c-6.4-3.2-11.5-8.4-14.7-14.7L301 39.5c-5.9-11.8-18.3-19-31.5-18.2l-21.3 1.3c-7.1 .4-14.2-1.5-20.1-5.4L210.2 5.5zM192 112a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faTicketSimple = {\n prefix: 'fad',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", [\"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192V128z\", \"\"]]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'fad',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", [\"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H240V432c0-26.5-21.5-48-48-48s-48 21.5-48 48v80H48c-26.5 0-48-21.5-48-48V48zM80 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272zM64 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM176 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\", \"M80 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H80zm0 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H80zm96 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H176zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM160 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM272 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H272z\"]]\n};\nvar faAnglesLeft = {\n prefix: 'fad',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", [\"M233.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L301.3 256 438.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\", \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\"]]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faCamcorder = {\n prefix: 'fad',\n iconName: 'camcorder',\n icon: [576, 512, [128249, \"video-handheld\"], \"f8a8\", [\"M128 96c-17.7 0-32 14.3-32 32v32H320c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-23.7 12.9-44.4 32-55.4V128c0-53 43-96 96-96H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H128zM80 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\", \"M559.1 163.8c10.4 5.6 16.9 16.4 16.9 28.2V448c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6L384 379.8V260.2l142.2-94.8c9.8-6.5 22.4-7.2 32.9-1.6zM80 224H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]]\n};\nvar faVideoHandheld = faCamcorder;\nvar faPancakes = {\n prefix: 'fad',\n iconName: 'pancakes',\n icon: [512, 512, [129374], \"e42d\", [\"M0 160c0-9.5 5.3-18.6 14.9-27c2.2 2.5 4.5 4.8 6.8 6.8c10.9 9.6 24.9 17 39.6 22.9c1.2 .5 2 1.2 2.4 1.8c.1 .2 .2 .3 .2 .4v48.1C24.2 198.8 0 180.3 0 160zm512 0c0 41-98.7 74.8-225.9 79.5c1.2-4.9 1.9-10.1 1.9-15.5l0-32s.1-.1 .1-.2c.3-.3 .7-.5 1.2-.5c56.2-2.3 107.3-10.4 145.3-22.8c18.8-6.2 36.3-14 49.8-24c4.2-3.1 8.6-7 12.7-11.5c9.7 8.4 14.9 17.5 14.9 27zM64 246.7V272c0 7.8 1.4 15.4 4 22.3C25.8 280 0 261 0 240c0-6.5 2.5-12.8 7.2-18.9c15.7 10.3 35.3 18.7 56.8 25.6zm110.6 69.2c9.2-9.8 15.4-22.5 17-36.7c9.5 5.6 20.6 8.8 32.4 8.8c16.3 0 31.1-6.1 42.4-16.1c69-.8 132.4-9.9 180.2-24.8c22-6.9 42.2-15.5 58.3-26c4.7 6.1 7.2 12.4 7.2 18.9c0 44.2-114.6 80-256 80c-28.5 0-55.8-1.5-81.4-4.1zm330.2-14.8c4.7 6.1 7.2 12.4 7.2 18.9c0 44.2-114.6 80-256 80S0 364.2 0 320c0-6.5 2.5-12.8 7.2-18.9c16.1 10.6 36.2 19.1 58.3 26C115.6 342.8 183 352 256 352s140.4-9.2 190.6-24.9c22-6.9 42.2-15.4 58.3-26zm0 80c4.7 6.1 7.2 12.4 7.2 18.9c0 44.2-114.6 80-256 80S0 444.2 0 400c0-6.5 2.5-12.8 7.2-18.9c16.1 10.6 36.2 19.1 58.3 26C115.6 422.8 183 432 256 432s140.4-9.2 190.6-24.9c22-6.9 42.2-15.4 58.3-26z\", \"M288 159.4c-17.7 .7-32 15-32 32.6v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V171.7c0-8.1-6.5-14.9-14.5-15.7c-9.4-1-17.5 6.3-17.5 15.7V272c0 17.7-14.3 32-32 32s-32-14.3-32-32V164.8c0-14.2-9.5-26.5-22.7-31.8C47.3 122.6 32 109.8 32 96c0-35.3 100.3-64 224-64s224 28.7 224 64c0 32.2-83.4 58.9-192 63.4zM208 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]]\n};\nvar faAlbumCircleUser = {\n prefix: 'fad',\n iconName: 'album-circle-user',\n icon: [576, 512, [], \"e48d\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-16.2-19.7-28.3-42.9-34.8-68.4c-12 2.9-24.5 4.4-37.4 4.4c-88.4 0-160-71.6-160-160s71.6-160 160-160c69.3 0 128.3 44 150.5 105.6c18-6.2 37.4-9.6 57.5-9.6c5.4 0 10.7 .2 16 .7V96c0-35.3-28.7-64-64-64H64zM256 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-32c-30.2 0-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7C489.5 468.1 462.2 480 432 480zm0-192a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faQrcode = {\n prefix: 'fad',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", [\"M48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm80 64v64H64V96h64zM48 288c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zm80 64v64H64V352h64zM256 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zm64 16h64v64H320V96z\", \"M256 464V304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm128 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm64 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z\"]]\n};\nvar faDiceD10 = {\n prefix: 'fad',\n iconName: 'dice-d10',\n icon: [512, 512, [], \"f6cd\", [\"M198 0c8.5 0 14.4 8.3 11.7 16.3L142.6 217.8c-1.8 5.3-6.2 9.3-11.7 10.6L13.2 254.4C6.4 256 0 250.8 0 243.8c0-2.5 .8-4.9 2.4-6.8L188.3 4.6C190.6 1.7 194.2 0 198 0zM512 243.8c0 7-6.4 12.1-13.2 10.6L381.2 228.3c-5.5-1.2-9.9-5.2-11.7-10.6L302.3 16.3C299.6 8.3 305.6 0 314 0c3.8 0 7.3 1.7 9.7 4.6L509.6 237c1.5 1.9 2.4 4.3 2.4 6.8zM256 0c4.3 0 8 2.7 9.4 6.8l71.8 215.5c2.2 6.7-.2 14.2-6.1 18.2l-66.1 45.7c-5.5 3.8-12.7 3.8-18.2 0l-66.1-45.7c-5.8-4-8.3-11.5-6.1-18.2L246.6 6.8C248 2.7 251.7 0 256 0z\", \"M0 299.1c0-5.2 3.6-9.8 8.7-10.9l133.1-29.6c4.4-1 8.9-.1 12.6 2.5l78.7 54.5c4.3 3 6.9 7.9 6.9 13.2V500.5c0 6.3-5.1 11.5-11.5 11.5c-2.9 0-5.7-1.1-7.8-3.1L3.6 307.3c-2.3-2.1-3.6-5.1-3.6-8.2zM283.5 512c-6.3 0-11.5-5.1-11.5-11.5V328.8c0-5.3 2.6-10.2 6.9-13.2l78.7-54.5c3.7-2.5 8.2-3.4 12.6-2.5l133.1 29.6c5.1 1.1 8.7 5.7 8.7 10.9c0 3.1-1.3 6.1-3.6 8.2L291.3 508.9c-2.1 2-4.9 3.1-7.8 3.1z\"]]\n};\nvar faFireplace = {\n prefix: 'fad',\n iconName: 'fireplace',\n icon: [640, 512, [], \"f79a\", [\"M32 0C14.3 0 0 14.3 0 32V64C0 81.7 14.3 96 32 96H608c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM300.6 258.7c-2-1.8-4.6-2.7-7.1-2.7c-2.6 0-5.2 .9-7.3 2.7c-24.2 21.6-44.7 46.1-59.2 69.7c-14.3 23.2-23.6 48.2-23.6 67.4c0 63.8 51.1 116.3 116.4 116.3c64.5 0 116.4-52.4 116.4-116.3c0-14.7-7-37-17.6-57.4c-10.7-20.7-25.9-42.5-43.9-59c-4.1-3.7-10.4-3.8-14.5 0c-7 6.4-13.5 14.3-19.2 21.5c-12.6-15.1-26-29-40.4-42zm55.6 195.8c-10.9 7.3-22.5 10.9-35.6 10.9c-32.7 0-58.9-21.1-58.9-56.7c0-17.5 10.9-32.7 32.7-59.6c2.9 3.6 45.1 57.5 45.1 57.5L365.7 376c2.2 2.9 3.6 5.8 5.1 8.7c13.1 24 7.3 54.5-14.5 69.8z\", \"M32 96H608V480c0 17.7-14.3 32-32 32H480V352c0-88.4-71.6-160-160-160s-160 71.6-160 160V512H64c-17.7 0-32-14.3-32-32V96zM320.6 465.5c-32.7 0-58.9-21.1-58.9-56.7c0-17.5 10.9-32.7 32.7-59.6c2.9 3.6 45.1 57.5 45.1 57.5L365.7 376c2.2 2.9 3.6 5.8 5.1 8.7c13.1 24 7.3 54.5-14.5 69.8c-10.9 7.3-22.5 10.9-35.6 10.9z\"]]\n};\nvar faBrowser = {\n prefix: 'fad',\n iconName: 'browser',\n icon: [512, 512, [128468], \"f37e\", [\"M96 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM448 480c35.3 0 64-28.7 64-64V224L0 224V416c0 35.3 28.7 64 64 64l384 0z\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V224H0V96zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm120-24c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]]\n};\nvar faPenPaintbrush = {\n prefix: 'fad',\n iconName: 'pen-paintbrush',\n icon: [576, 512, [\"pencil-paintbrush\"], \"f618\", [\"M226.3 147.1L95.6 16.4C73.7-5.5 38.3-5.5 16.4 16.4s-21.9 57.3 0 79.2L147.1 226.3l79.2-79.2zm64.2 276.8c11 50.3 55.8 88.1 109.4 88.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4.8c-17.6 0-29.6-18.9-27.8-36.4c.4-3.8 .6-7.7 .6-11.6c0-53.6-37.7-98.5-88.1-109.4L290.6 423.9z\", \"M410.7 19.3L354.3 75.7 468.3 189.7l56.4-56.4c25-25 25-65.5 0-90.5L501.3 19.3c-25-25-65.5-25-90.5 0zm-79 79L76.9 353.2c-6.7 6.7-11.6 15.1-14.2 24.2l-29.7 104c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l104-29.7c9.2-2.6 17.5-7.5 24.2-14.2L445.7 212.3 331.7 98.3z\"]]\n};\nvar faPencilPaintbrush = faPenPaintbrush;\nvar faFishCooked = {\n prefix: 'fad',\n iconName: 'fish-cooked',\n icon: [576, 512, [], \"f7fe\", [\"M320 64c120 0 256 128 256 192s-136 192-256 192c-74.8 0-155.9-49.8-206.3-102.8c-6-6.3-15.8-7.2-22.5-1.7L26.1 396.4c-5.3 4.3-12.9 4.8-18.7 1.1s-8.6-10.7-6.9-17.4L30.5 259.9c.6-2.5 .6-5.2 0-7.8L.5 131.9c-1.6-6.5 .9-13.2 6.4-17s12.7-3.8 18.2 0l72 49.5c6.6 4.5 15.5 3.5 21.1-2.2C168.9 110.9 247.4 64 320 64zm-4.7 84.7c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6zm112 16c-6.2-6.2-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160c6.2-6.2 6.2-16.4 0-22.6zm16 112c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6z\", \"M315.3 148.7c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0zm112 16c6.2 6.2 6.2 16.4 0 22.6l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0zm16 112c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0z\"]]\n};\nvar faChairOffice = {\n prefix: 'fad',\n iconName: 'chair-office',\n icon: [448, 512, [], \"f6c1\", [\"M160 0C124.7 0 96 28.7 96 64V288H352V64c0-35.3-28.7-64-64-64H160zm0 448c-17.7 0-32 14.3-32 32s14.3 32 32 32h64 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V384H192v64H160z\", \"M64 160c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160zm384 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V160zM80 288c-12.1 0-23.2 6.8-28.6 17.7l-16 32c-5 9.9-4.4 21.7 1.4 31.1S52.9 384 64 384H384c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-16-32C391.2 294.8 380.1 288 368 288H80z\"]]\n};\nvar faNestingDolls = {\n prefix: 'fad',\n iconName: 'nesting-dolls',\n icon: [640, 512, [], \"e3ba\", [\"M80 112C80 50.1 130.1 0 192 0s112 50.1 112 112V256H80V112zM200.7 64.9c-4.1-5.3-13.2-5.3-17.3 0c-11.7 15.1-28.7 26-48.2 29.7c-4 .8-7.2 4.2-6.8 8.2c1.5 14 7.6 27.7 18.4 38.5c25 25 65.5 25 90.5 0c10.8-10.8 16.9-24.4 18.4-38.5c.4-4.1-2.7-7.5-6.8-8.2c-19.5-3.7-36.5-14.6-48.2-29.7zm254.7 256c4.1-5.3 13.2-5.3 17.3 0C487.3 339.8 510.2 352 536 352c4.3 0 8 3.3 7.6 7.6c-1.7 17.9-9.4 35.3-23.1 49c-31.2 31.2-81.9 31.2-113.1 0c-13.7-13.7-21.4-31.1-23.1-49c-.4-4.3 3.3-7.6 7.6-7.6c25.8 0 48.7-12.2 63.3-31.1z\", \"M637.3 499c4.1-8 3.4-17.6-1.8-24.9l0 0 0 0-.2-.3c-.2-.3-.6-.8-1-1.5c-.9-1.4-2.3-3.5-4-6.3c-3.4-5.6-7.9-13.8-12.5-23.8C608.6 421.7 600 395.3 600 368v-8c0-75.1-60.9-136-136-136s-136 60.9-136 136v8c0 27.3-8.6 53.7-17.8 74.1c-4.6 10-9.1 18.2-12.5 23.8c-1.7 2.8-3.1 5-4 6.3c-.5 .7-.8 1.2-1 1.5l-.2 .3 0 0c-5.2 7.3-5.9 16.9-1.8 24.9c4.1 8 12.3 13 21.3 13H616c9 0 17.2-5 21.3-13zM472.7 320.9C487.3 339.8 510.2 352 536 352c4.3 0 8 3.3 7.6 7.6c-1.7 17.9-9.4 35.3-23.1 49c-31.2 31.2-81.9 31.2-113.1 0c-13.7-13.7-21.4-31.1-23.1-49c-.4-4.3 3.3-7.6 7.6-7.6c25.8 0 48.7-12.2 63.3-31.1c4.1-5.3 13.2-5.3 17.3 0zM296 360c0-39.3 13.5-75.4 36.1-104H51.9c-5.9 0-11.3 3.3-14 8.6C20.2 299.6 0 339.6 0 384c0 48.8 17.9 85.7 31.8 107.1C41.1 505.3 57.5 512 74.5 512H261.4c-8.7-18.2-6.8-39.8 4.9-56.3l0 0 0 0 0-.1 0 0c.1-.1 .3-.5 .7-1c.7-1 1.8-2.8 3.2-5.2c2.9-4.8 6.8-11.9 10.8-20.6c8.2-18.1 15-39.8 15-60.8v-8z\"]]\n};\nvar faClockRotateLeft = {\n prefix: 'fad',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", [\"M120.2 120.2C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8z\", \"M256 128c13.3 0 24 10.7 24 24v94.1l65 65c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72c-4.5-4.5-7-10.6-7-17V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faHistory = faClockRotateLeft;\nvar faTrumpet = {\n prefix: 'fad',\n iconName: 'trumpet',\n icon: [640, 512, [127930], \"f8e3\", [\"M448 258.2c22.7 4 44.3 13.4 64 25.4V320c0 70.7-57.3 128-128 128H288 192c-70.7 0-128-57.3-128-128c0-23.3 6.2-45.2 17.1-64H224V384h40V256h48V384h40V256h48V382c27.6-7.1 48-32.2 48-62V258.2zM400 192H352V160c0-13.3 10.7-24 24-24s24 10.7 24 24v32zm-88 0H264V160c0-13.3 10.7-24 24-24s24 10.7 24 24v32zm-87.9 0H176V160c0-13.3 10.7-24 24-24s24 10.7 24 24v32c0 0 .1 0 .1 0zM176 258c-27.6 7.1-48 32.2-48 62s20.4 54.9 48 62V258z\", \"M640 80c0-7-4.6-13.2-11.3-15.3s-14 .4-17.9 6.2l0 0 0 0-.1 .2-.7 .9c-.6 .8-1.5 2.1-2.8 3.8c-2.5 3.3-6.2 8.1-11 13.9c-9.6 11.6-23.6 26.9-40.8 42.3c-35 31.1-81.3 60-131.4 60H46.6c-3.3-9.3-12.2-16-22.6-16c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24c10.4 0 19.3-6.7 22.6-16H424c50.1 0 96.4 28.8 131.4 60c17.3 15.3 31.2 30.7 40.8 42.3c4.8 5.8 8.5 10.6 11 13.9c1.2 1.7 2.2 2.9 2.8 3.8l.7 .9 .1 .2 0 0 0 0c4 5.8 11.2 8.3 17.9 6.2s11.3-8.3 11.3-15.3V80z\"]]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'fad',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", [\"M256 0c51.4 0 99.3 15.2 139.4 41.2c-1.5 3.1-3 6.2-4.3 9.3c-3.4 8-7.1 19-7.1 30.5c0 44.3 36.6 79 80 79c9.6 0 18.8-1.7 27.4-4.8c13.3 30.9 20.6 65 20.6 100.8c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0zM388.1 312.8c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c25 59.1 83.2 100.5 151.1 100.5s126.2-41.4 151.1-100.5c5-11.8-7-22.5-19.3-18.7zm-170.5-84l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\", \"M512 81c0 26-21.5 47-48 47s-48-21-48-47c0-20 28.4-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C483.4 20.6 512 61 512 81zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFireSmoke = {\n prefix: 'fad',\n iconName: 'fire-smoke',\n icon: [640, 512, [], \"f74b\", [\"M283.7 0c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79c0 35.9-11.9 69.1-32 95.9c-14.3-19-32.6-34.7-53.8-45.8c8.1-20.4 7.1-44.6-4.2-65.2c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 11.9 2.1 22.7 6 32.1c-21.3 11.1-39.8 27-54.2 46.1c-20.1-26.8-31.9-60.1-31.9-96c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7z\", \"M112 512C50.1 512 0 461.9 0 400s50.1-112 112-112c37 0 69.9 18 90.3 45.7C221.8 288 267.2 256 320 256s98.2 32 117.7 77.7C458.1 306 491 288 528 288c61.9 0 112 50.1 112 112s-50.1 112-112 112H320 112z\"]]\n};\nvar faPhoneMissed = {\n prefix: 'fad',\n iconName: 'phone-missed',\n icon: [640, 512, [], \"e226\", [\"M537.5 509c19.9 7.6 42.7 .3 53.4-17l43.5-70.5c9.6-15.5 6.7-35-6.9-47.6c-169.8-157.2-445.1-157.2-615 0c-13.6 12.6-16.5 32.1-6.9 47.6L49.1 492c10.7 17.3 33.5 24.5 53.4 17l92.4-35.2c17.5-6.7 28.1-23.1 26.3-40.6l-5.8-53.3c67.6-21.7 141.5-21.7 209.1 0l-5.8 53.3c-1.9 17.4 8.8 33.9 26.3 40.6L537.5 509z\", \"M120 0H232c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-39 39 58.7 58.7C282.3 152.4 300.8 160 320 160s37.7-7.6 51.3-21.3L503 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L405.3 172.7C382.6 195.3 352 208 320 208s-62.6-12.7-85.3-35.3L176 113.9l-39 39c-6.9 6.9-17.2 8.9-26.2 5.2s-14.8-12.5-14.8-22.2V24c0-13.3 10.7-24 24-24z\"]]\n};\nvar faFileExport = {\n prefix: 'fad',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V288H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm105 55c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H494.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'fad',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", [\"M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0z\", \"\"]]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'fad',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", [\"M288 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm0 128c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm0 128c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zm0 128c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H320c-17.7 0-32-14.3-32-32z\", \"M128 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L160 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L63.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C110.5 35.8 119 32 128 32z\"]]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faArrowsRepeat1 = {\n prefix: 'fad',\n iconName: 'arrows-repeat-1',\n icon: [512, 512, [\"repeat-1-alt\"], \"f366\", [\"M1.6 213.9c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2C77.1 189.9 118.5 160 165.2 160H416c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96H165.2C91 96 25.1 143.5 1.6 213.9zm508.7 84.2c5.6-16.8-3.5-34.9-20.2-40.5s-34.9 3.5-40.5 20.2C434.9 322.1 393.5 352 346.8 352H96c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L173.3 416H346.8c74.2 0 140.1-47.5 163.6-117.9z\", \"M278 196.5c6.3 4.5 10 11.8 10 19.5v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c-10 0-19.4-6.4-22.8-16.4c-4.2-12.6 2.6-26.2 15.2-30.4l24-8c7.3-2.4 15.4-1.2 21.6 3.3z\"]]\n};\nvar faRepeat1Alt = faArrowsRepeat1;\nvar faGunSlash = {\n prefix: 'fad',\n iconName: 'gun-slash',\n icon: [640, 512, [], \"e19c\", [\"M412.3 297.8L432.9 240H464c8.5 0 16.6-3.4 22.6-9.4L509.3 208H576c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H560V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H113.9l81.7 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H236.4l102.1 80h43.4l-9.5 26.6 39.8 31.2zM324.9 352L32 121.2V208c0 17.7 14.3 32 32 32H74c20.8 0 36.1 19.6 31 39.8L65 440.2c-2.4 9.6-.2 19.7 5.8 27.5S86.1 480 96 480h96c14.7 0 27.5-10 31-24.2L249 352h75.9z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faAvocado = {\n prefix: 'fad',\n iconName: 'avocado',\n icon: [512, 512, [], \"e0aa\", [\"M459.4 255.3c-18.5 15.2-33.5 35.6-38.1 59.1c-10.2 51.9-34 104.5-66.3 136.7c-81.2 81.2-212.9 81.2-294.2 0s-81.2-212.9 0-294.2c32.3-32.3 84.9-56.1 136.7-66.3c23.5-4.6 43.9-19.6 59.1-38.1C283.1 20.5 323.2 0 368 0c79.5 0 144 64.5 144 144c0 44.8-20.5 84.9-52.6 111.3zM283.2 347.2c41.7-41.7 49.1-102.1 16.4-134.8s-93-25.3-134.8 16.4s-49.1 102.1-16.4 134.8s93 25.3 134.8-16.4z\", \"M299.6 212.4c32.7 32.7 25.3 93-16.4 134.8s-102.1 49.1-134.8 16.4s-25.3-93 16.4-134.8s102.1-49.1 134.8-16.4z\"]]\n};\nvar faBinary = {\n prefix: 'fad',\n iconName: 'binary',\n icon: [384, 512, [], \"e33b\", [\"M64 0C28.7 0 0 28.7 0 64v96c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 64h64v96H64V64zM256 288c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H256zm0 64h64v96H256V352z\", \"M336 32c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16c-16.8 5.6-25.8 23.7-20.2 40.5s23.7 25.8 40.5 20.2l5.9-2V160H256c-17.7 0-32 14.3-32 32s14.3 32 32 32h48 48c17.7 0 32-14.3 32-32s-14.3-32-32-32H336V32zM112 320c0-10.3-4.9-19.9-13.3-26s-19.1-7.7-28.8-4.4l-48 16C5.1 311.2-3.9 329.4 1.6 346.1s23.7 25.8 40.5 20.2l5.9-2V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H80h48c17.7 0 32-14.3 32-32s-14.3-32-32-32H112V320z\"]]\n};\nvar faGlassesRound = {\n prefix: 'fad',\n iconName: 'glasses-round',\n icon: [576, 512, [128083, \"glasses-alt\"], \"f5f5\", [\"M136 432a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm304 0a88 88 0 1 0 0-176 88 88 0 1 0 0 176z\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L64.4 228.3C85.2 215.4 109.7 208 136 208c55.1 0 102.6 32.8 124 80H316c21.3-47.2 68.8-80 124-80c26.3 0 50.8 7.4 71.6 20.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l40.5 173.7c4.9 20.9 7.3 42.2 7.3 63.6V336c0 .8 0 1.6-.1 2.4c.1 1.9 .1 3.8 .1 5.6c0 75.1-60.9 136-136 136c-72.4 0-131.6-56.6-135.8-128H271.8c-4.1 71.4-63.3 128-135.8 128C60.9 480 0 419.1 0 344c0-1.9 0-3.8 .1-5.6c-.1-.8-.1-1.6-.1-2.4V325.5c0-21.4 2.5-42.8 7.3-63.6L47.9 88.2C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM136 432a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm392-88a88 88 0 1 0 -176 0 88 88 0 1 0 176 0z\"]]\n};\nvar faGlassesAlt = faGlassesRound;\nvar faPhonePlus = {\n prefix: 'fad',\n iconName: 'phone-plus',\n icon: [640, 512, [], \"f4d2\", [\"M228.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C76.1 30.2 64 46 64 64c0 247.4 200.6 448 448 448c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L368.7 368C298.3 334.7 241.3 277.7 208 207.3L257.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z\", \"M456 136v64c0 13.3 10.7 24 24 24s24-10.7 24-24V136h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H504V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V88H392c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faDitto = {\n prefix: 'fad',\n iconName: 'ditto',\n icon: [320, 512, [], \"22\", [\"M0 98.3V96C0 60.7 28.7 32 64 32s64 28.7 64 64v2.3c0 3.8-.3 7.6-1 11.4L101.5 256.5C98.3 274.7 82.5 288 64 288s-34.3-13.3-37.5-31.5L1 109.6c-.7-3.8-1-7.5-1-11.4z\", \"M192 98.3V96c0-35.3 28.7-64 64-64s64 28.7 64 64v2.3c0 3.8-.3 7.6-1 11.4L293.5 256.5c-3.2 18.2-19 31.5-37.5 31.5s-34.3-13.3-37.5-31.5L193 109.6c-.7-3.8-1-7.5-1-11.4z\"]]\n};\nvar faPersonSeat = {\n prefix: 'fad',\n iconName: 'person-seat',\n icon: [384, 512, [], \"e21e\", [\"M32 128c17.7 0 32 14.3 32 32V320c0 35.3 28.7 64 64 64h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H128C57.3 448 0 390.7 0 320V160c0-17.7 14.3-32 32-32z\", \"M96 80a48 48 0 1 1 96 0A48 48 0 1 1 96 80zm96 176v32h53.6c40.3 0 74.4 30 79.4 70.1l7.2 57.9H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H304c-16.1 0-29.8-12-31.8-28l-10.7-86c-1-8-7.8-14-15.9-14H160c-35.3 0-64-28.7-64-64V208c0-26.5 21.5-48 48-48c20.9 0 38.7 13.4 45.3 32H256c17.7 0 32 14.3 32 32s-14.3 32-32 32H192z\"]]\n};\nvar faHouseMedical = {\n prefix: 'fad',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", [\"M64 270.5L64.1 448c0 35.3 28.7 64 64 64H448.5c35.4 0 64.1-28.7 64-64.1l-.4-177.3L288 74.5 64 270.5zM272 224h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V352H208c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h48V240c0-8.8 7.2-16 16-16z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2l-256-224zM256 240v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H320V240c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faGolfBallTee = {\n prefix: 'fad',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", [\"M85.8 352H298.2c51.7-34.4 85.8-93.2 85.8-160C384 86 298 0 192 0S0 86 0 192c0 66.8 34.1 125.6 85.8 160zm122.8-61.9c18.5 0 33.5-15 33.5-33.5c0-4.9 5.1-9.1 8.4-5.4c5.2 5.9 8.4 13.7 8.4 22.1c0 18.5-15 33.5-33.5 33.5c-8.5 0-16.2-3.2-22.1-8.4c-3.7-3.3 .5-8.4 5.4-8.4zm14.7-116.3c0-4.9 5.1-9.1 8.4-5.4c5.2 5.9 8.4 13.7 8.4 22.1c0 18.5-15 33.5-33.5 33.5c-8.5 0-16.2-3.2-22.1-8.4c-3.7-3.3 .5-8.4 5.4-8.4c18.5 0 33.5-15 33.5-33.5zm46.5 49.5c18.5 0 33.5-15 33.5-33.5c0-4.9 5.1-9.1 8.4-5.4c5.2 5.9 8.4 13.7 8.4 22.1c0 18.5-15 33.5-33.5 33.5c-8.5 0-16.2-3.2-22.1-8.4c-3.7-3.3 .5-8.4 5.4-8.4z\", \"M128 384c-17.7 0-32 14.3-32 32s14.3 32 32 32h16c8.8 0 16 7.2 16 16v16c0 17.7 14.3 32 32 32s32-14.3 32-32V464c0-8.8 7.2-16 16-16h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 128z\"]]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'fad',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", [\"M512 256A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135z\", \"M167 273c-9.4-9.4-9.4-24.6 0-33.9L271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L167 273z\"]]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'fad',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", [\"M64.1 448L64 270.5l224-196L512.1 270.6l.4 177.3c.1 35.4-28.6 64.1-64 64.1H128.1c-35.3 0-64-28.6-64-64zM248 240c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H248z\", \"M309.1 7.9C297-2.6 279-2.6 266.9 7.9l-256 224c-13.3 11.6-14.6 31.9-3 45.2s31.9 14.6 45.2 3L288 74.5 522.9 280.1c13.3 11.6 33.5 10.3 45.2-3s10.3-33.5-3-45.2L512 185.5V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v37.5L309.1 7.9z\"]]\n};\nvar faScythe = {\n prefix: 'fad',\n iconName: 'scythe',\n icon: [640, 512, [], \"f710\", [\"M582.1 0H352C114.8 0 15 151.1 1.6 173.3c-1.1 1.8-1.6 3.8-1.6 6c0 7 5.7 12.7 12.7 12.7H541L576.7 25.3 582.1 0z\", \"M639 24.1C636.1 12.7 627 3.3 614.7 .7c-2.2-.5-4.5-.7-6.7-.7H582.1l-5.4 25.3s0 0 0 0l-7.7 36L520.4 288H416c-17.7 0-32 14.3-32 32s14.3 32 32 32h90.7l-26 121.3c-3.7 17.3 7.3 34.3 24.6 38s34.3-7.3 38-24.6l34.3-160L634.4 61.3l4.8-22.6s0 0 0 0c1.1-5 .9-10-.3-14.6z\"]]\n};\nvar faPenNib = {\n prefix: 'fad',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", [\"M293.9 92.8L419.2 218.1l-4.5 15.1L371.4 377.3c-6 19.9-21.2 35.7-41 42.3L66.2 508.2c-11.3 3.8-23.9 1-32.4-7.4L187.3 347.3c6.3 3 13.3 4.7 20.7 4.7c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48c0 7.4 1.7 14.4 4.7 20.7L11.1 478.3C2.8 469.7 0 457.2 3.8 445.8L92.4 181.5c6.6-19.7 22.4-35 42.3-41L278.8 97.4l15.1-4.5 0 0z\", \"M368.4 18.3c21.9-21.9 57.3-21.9 79.2 0l46.1 46.1c21.9 21.9 21.9 57.3 0 79.2l-71 71-3.4 3.4 0 0L293.9 92.8l0 0 0 0 3.4-3.4 71-71z\"]]\n};\nvar faBanParking = {\n prefix: 'fad',\n iconName: 'ban-parking',\n icon: [512, 512, [\"parking-circle-slash\"], \"f616\", [\"M342.3 297c20.6-17.6 33.7-43.8 33.7-73c0-53-43-96-96-96H208c-9.7 0-18.6 3.5-25.5 9.2L237.3 192H280c17.7 0 32 14.3 32 32c0 11.6-6.2 21.7-15.4 27.4L342.3 297zM168 288v64c0 17.7 14.3 32 32 32s32-14.3 32-32V325.3l-64-64V288z\", \"M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]]\n};\nvar faParkingCircleSlash = faBanParking;\nvar faTentArrowTurnLeft = {\n prefix: 'fad',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", [\"M268.6 166.5c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160c1.4 9.2-1.3 18.6-7.4 25.6s-14.9 11.1-24.2 11.1H384L288 352V512H96c-9.3 0-18.2-4.1-24.2-11.1s-8.8-16.4-7.4-25.6l24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128z\", \"M121.8 7.9c8.9 9.9 8.1 25-1.8 33.9L86.5 72 456 72c66.3 0 120 53.7 120 120l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40c0-39.8-32.2-72-72-72L86.5 120l33.5 30.2c9.9 8.9 10.7 24 1.8 33.9s-24 10.7-33.9 1.8l-80-72C2.9 109.3 0 102.8 0 96s2.9-13.3 7.9-17.8l80-72c9.9-8.9 25-8.1 33.9 1.8z\"]]\n};\nvar faFaceDiagonalMouth = {\n prefix: 'fad',\n iconName: 'face-diagonal-mouth',\n icon: [512, 512, [129764], \"e47e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM372.4 319.4l-224 64c-8.5 2.4-17.4-2.5-19.8-11s2.5-17.4 11-19.8l224-64c8.5-2.4 17.4 2.5 19.8 11s-2.5 17.4-11 19.8zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faDiagramCells = {\n prefix: 'fad',\n iconName: 'diagram-cells',\n icon: [512, 512, [], \"e475\", [\"M448 480c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0z\", \"M448 224c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l384 0z\"]]\n};\nvar faCricketBatBall = {\n prefix: 'fad',\n iconName: 'cricket-bat-ball',\n icon: [512, 512, [127951, \"cricket\"], \"f449\", [\"M192 158.1L16.1 334C6.1 344-.6 358.4 .5 374.4c.8 11.3 2.8 28.6 8.2 46.4C13.8 438.1 22.9 457.9 39 473c15 16.2 34.9 25.2 52.2 30.4c17.8 5.4 35.1 7.4 46.4 8.2c16 1.1 30.4-5.6 40.4-15.6L353.9 320H240c-26.5 0-48-21.5-48-48V158.1zM385.9 288l23-23c4.5-4.5 7-10.6 7-17s-2.5-12.5-7-17L281 103c-9.4-9.4-24.6-9.4-33.9 0l-23 23V272c0 8.8 7.2 16 16 16H385.9z\", \"M502.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-135 135 45.3 45.3 135-135c12.5-12.5 12.5-32.8 0-45.3zM385.9 288H240c-8.8 0-16-7.2-16-16V126.1l-32 32V272c0 26.5 21.5 48 48 48H353.9l32-32zM512 432a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]]\n};\nvar faCricket = faCricketBatBall;\nvar faTents = {\n prefix: 'fad',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", [\"M435.4 6.5c-11.5-8.7-27.3-8.7-38.8 0L235.8 129.1c9.6 1.8 18.9 5.8 27 12l168 128c13.2 10.1 22 24.9 24.5 41.4l6.2 41.5H608c9.3 0 18.2-4.1 24.2-11.1s8.8-16.4 7.4-25.6l-24-160c-1.2-8.2-5.6-15.7-12.3-20.7l-168-128z\", \"M204.6 166.5c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160c1.4 9.2-1.3 18.6-7.4 25.6s-14.9 11.1-24.2 11.1H320L224 352V512H32c-9.3 0-18.2-4.1-24.2-11.1S-1 484.5 .4 475.3l24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128z\"]]\n};\nvar faWandMagic = {\n prefix: 'fad',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", [\"M387.2 227.2L497.9 116.5c18.7-18.7 18.7-49.1 0-67.9L463.3 14.1c-18.7-18.7-49.1-18.7-67.9 0L284.7 124.7l39.6 39.6 105-105 23.3 23.3-105 105 39.6 39.6z\", \"M387.2 227.2L284.7 124.7 14.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L387.2 227.2z\"]]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'fad',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", [\"M421.6 222.5l-112-64L304 192h-.2L416 256.1V256l5.6-33.5z\", \"M309.6 158.5L332.7 19.8C334.6 8.4 344.5 0 356.1 0c7.5 0 14.5 3.5 19 9.5L392 32h52.1c12.7 0 24.9 5.1 33.9 14.1L496 64h56c13.3 0 24 10.7 24 24v24c0 44.2-35.8 80-80 80H464 448 426.7l-5.1 30.5-112-64zM416 256.1L416 480c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V364.8c-24 12.3-51.2 19.2-80 19.2s-56-6.9-80-19.2V480c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1 167.8c-4.3-17.1 6.1-34.5 23.3-38.8s34.5 6.1 38.8 23.3l3.9 15.5C70.5 182 83.3 192 98 192h30 16H303.8L416 256.1zM464 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faPenLine = {\n prefix: 'fad',\n iconName: 'pen-line',\n icon: [576, 512, [], \"e212\", [\"M453.3 19.3c-25-25-65.5-25-90.5 0L303 79 433 209l59.7-59.7c25-25 25-65.5 0-90.5L453.3 19.3zM248 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\", \"M433 209L303 79 52.8 329.3c-6.6 6.6-11.5 14.8-14.1 23.8L1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1l128.2-37.7c9-2.6 17.2-7.5 23.8-14.1L433 209z\"]]\n};\nvar faAtomSimple = {\n prefix: 'fad',\n iconName: 'atom-simple',\n icon: [512, 512, [\"atom-alt\"], \"f5d3\", [\"M100.9 411.1c-1.3-1.3-12.4-16.8 3.3-64c3.5-10.4 8-21.4 13.6-32.9c11.6 14.2 24.3 28.3 38 41.9s27.7 26.4 41.9 38c-11.4 5.6-22.4 10.2-32.8 13.6c-47.2 15.7-62.7 4.6-64 3.3zM153.7 256c13.5-18.3 29.3-36.8 47.4-54.9s36.6-33.9 54.9-47.4c18.3 13.5 36.8 29.3 54.9 47.4s33.9 36.6 47.4 54.9c-13.5 18.3-29.3 36.8-47.4 54.9s-36.6 33.9-54.9 47.4c-18.3-13.5-36.8-29.3-54.9-47.4s-33.9-36.6-47.4-54.9zm44.1-138.1c-14.2 11.6-28.3 24.3-41.9 38s-26.4 27.7-38 41.9c-5.6-11.4-10.2-22.4-13.6-32.8c-15.7-47.2-4.6-62.7-3.3-64s16.8-12.4 64 3.3c10.4 3.5 21.4 8 32.8 13.6zM256 76.8C173.9 27.6 94.9 16.5 55.7 55.7S27.6 173.9 76.8 256C27.6 338.1 16.5 417.1 55.7 456.3s118.2 28.1 200.3-21.1c82.1 49.2 161.1 60.3 200.3 21.1s28.1-118.2-21.1-200.3c49.2-82.1 60.3-161.1 21.1-200.3S338.1 27.6 256 76.8zm58.2 41.1c11.4-5.6 22.4-10.2 32.9-13.6c47.2-15.7 62.7-4.6 64-3.3s12.4 16.8-3.3 64c-3.5 10.4-8 21.4-13.6 32.8c-11.6-14.2-24.3-28.3-38-41.9s-27.7-26.4-41.9-38zm79.9 196.3c5.6 11.4 10.2 22.4 13.6 32.9c15.7 47.2 4.6 62.7 3.3 64s-16.8 12.4-64-3.3c-10.4-3.5-21.4-8-32.9-13.6c14.2-11.6 28.3-24.3 41.9-38s26.4-27.7 38-41.9z\", \"M224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faAtomAlt = faAtomSimple;\nvar faAmpersand = {\n prefix: 'fad',\n iconName: 'ampersand',\n icon: [448, 512, [], \"26\", [\"M180.7 96h38c20.6 0 37.3 16.7 37.3 37.3c0 11.8-5.5 22.8-14.9 29.9l-48 36-39-41.3c-6.4-6.8-10-15.8-10-25.2c0-20.3 16.4-36.7 36.7-36.7zm56.6 150l42.2-31.6C305 195.3 320 165.2 320 133.3C320 77.4 274.6 32 218.7 32h-38C125.1 32 80 77.1 80 132.7c0 25.7 9.8 50.4 27.5 69.1l34 36L74.7 288C47.8 308.1 32 339.8 32 373.3C32 432.2 79.8 480 138.7 480h74.5c37.4 0 72.4-18.7 93.2-49.9l6.9-10.4L360.7 470c12.1 12.8 32.4 13.4 45.2 1.3s13.4-32.4 1.3-45.2l-57.5-60.9 60.9-91.4c9.8-14.7 5.8-34.6-8.9-44.4s-34.6-5.8-44.4 8.9l-52.7 79.1L237.3 246zm-51.5 38.6L268.2 372l-15.1 22.6C244.2 408 229.2 416 213.2 416H138.7C115.1 416 96 396.9 96 373.3c0-13.4 6.3-26.1 17.1-34.1l72.7-54.5z\", \"\"]]\n};\nvar faCarrot = {\n prefix: 'fad',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", [\"M142.9 184.2c24.6-30.1 61.7-48.2 101.7-48.2C317.2 136 376 194.8 376 267.4c0 51.2-29.7 97.7-76.2 119.2L199.7 433l-60.4-60.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l52.1 52.1L34.1 509.8C25 514 14.1 512.1 7 505s-9-17.9-4.8-27.1L125.4 212.2c0 0 0-.1 0-.1l55.3 55.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-60.5-60.5z\", \"M320 72c0-29.7 17.6-55 26.7-66c3.3-4 8.2-6 13.3-6s10 2 13.2 6C382.3 17.4 400 44.3 400 80c0 32-8 40-8 40s8-8 40-8c35.7 0 62.6 17.7 74 26.8c4 3.2 6 8.1 6 13.2s-2 10-6 13.3C495 174.4 469.7 192 440 192c-40 0-55.3-15.3-80-40s-40-40-40-80z\"]]\n};\nvar faArrowUpFromLine = {\n prefix: 'fad',\n iconName: 'arrow-up-from-line',\n icon: [384, 512, [8613, \"arrow-from-bottom\"], \"f342\", [\"M0 448c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M169.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 141.3V208 320c0 17.7-14.3 32-32 32s-32-14.3-32-32V208 141.3L86.6 214.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128z\"]]\n};\nvar faArrowFromBottom = faArrowUpFromLine;\nvar faMoon = {\n prefix: 'fad',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", [\"\", \"M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z\"]]\n};\nvar faPenSlash = {\n prefix: 'fad',\n iconName: 'pen-slash',\n icon: [640, 512, [], \"e213\", [\"M195.8 250.3L341.2 364.8l-88.6 88.6c-10.4 10.4-23.3 18-37.4 22.2L94.8 511c-8.4 2.5-17.5 .2-23.7-6.1s-8.5-15.3-6.1-23.7l35.4-120.3c4.2-14.1 11.8-27 22.2-37.4l73.2-73.2zm289.9-30L409.9 296 264.3 181.8l91.5-91.5L485.7 220.3zm-58.9-201c25-25 65.5-25 90.5 0l39.4 39.4c25 25 25 65.5 0 90.5l-48.4 48.4L378.3 67.7l48.4-48.4z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faWineGlassEmpty = {\n prefix: 'fad',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", [\"M64 0C47.4 0 33.5 12.8 32.1 29.3l-14 168.4c-6 72 42.5 135.2 109.9 150.6V448H80c-17.7 0-32 14.3-32 32s14.3 32 32 32h80 80c17.7 0 32-14.3 32-32s-14.3-32-32-32H192V348.4c67.4-15.4 115.9-78.6 109.9-150.6l-14-168.4C286.5 12.8 272.6 0 256 0H64zM81.9 203.1L93.4 64H226.6l11.6 139.1C242 248.8 205.9 288 160 288s-82-39.2-78.1-84.9z\", \"\"]]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faSquareStar = {\n prefix: 'fad',\n iconName: 'square-star',\n icon: [448, 512, [], \"e27f\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 8c-6.1 0-11.7 3.5-14.3 8.9l-36.2 73.4-81 11.8c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.8 1.2L224 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81.1-11.8-36.2-73.4c-2.7-5.5-8.3-8.9-14.3-8.9z\", \"M238.3 112.9c-2.7-5.5-8.3-8.9-14.3-8.9s-11.7 3.5-14.3 8.9l-36.2 73.4L92.4 198.1c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.9 1.2L224 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81-11.8-36.2-73.4z\"]]\n};\nvar faCheese = {\n prefix: 'fad',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", [\"M512 256V240.2C512 125.2 418.8 32 303.8 32c-10.3 0-20.3 3-28.9 8.7L26.6 206.2C10 217.3 0 236 0 256H512z\", \"M0 256H512V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256z\"]]\n};\nvar faSendBackward = {\n prefix: 'fad',\n iconName: 'send-backward',\n icon: [512, 512, [], \"f87f\", [\"M448 224V448H224V224H448zM224 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H224z\", \"M0 64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v96H224c-35.3 0-64 28.7-64 64V352H64c-35.3 0-64-28.7-64-64V64z\"]]\n};\nvar faYinYang = {\n prefix: 'fad',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", [\"M512 256c0 141.4-114.6 256-256 256c-70.7 0-128-57.3-128-128s57.3-128 128-128s128-57.3 128-128S326.7 0 256 0C397.4 0 512 114.6 512 256zM224 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M0 256C0 114.6 114.6 0 256 0c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128 57.3-128 128s57.3 128 128 128C114.6 512 0 397.4 0 256zM288 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]]\n};\nvar faMusic = {\n prefix: 'fad',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", [\"M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v72V368c0-34.8-26.7-64.5-64-75.4V147L192 223.8V432c0-34.8-26.7-64.5-64-75.4V200 128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z\", \"M416 448c53 0 96-35.8 96-80s-43-80-96-80s-96 35.8-96 80s43 80 96 80zM96 512c53 0 96-35.8 96-80s-43-80-96-80s-96 35.8-96 80s43 80 96 80z\"]]\n};\nvar faCompassSlash = {\n prefix: 'fad',\n iconName: 'compass-slash',\n icon: [640, 512, [], \"f5e9\", [\"M535.4 394.4C561.1 354.5 576 307 576 256C576 114.6 461.4 0 320 0C246.8 0 180.9 30.7 134.2 79.9l136 106.6 143.3-55.1c19.4-7.5 38.5 11.6 31 31L397.1 285.9 535.4 394.4zm-67.3 70.5L317 345.8l-90.6 34.8c-19.4 7.5-38.5-11.6-31-31l29.4-76.5L82.3 160.8C70.5 190.2 64 222.4 64 256c0 141.4 114.6 256 256 256c55.2 0 106.3-17.5 148.1-47.2z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faClockOne = {\n prefix: 'fad',\n iconName: 'clock-one',\n icon: [512, 512, [], \"e34e\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-392v56.7l20-30c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3l-64 96c-5.9 8.8-16.8 12.7-26.9 9.7s-17-12.4-17-23V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 96c13.3 0 24 10.7 24 24v56.7l20-30c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3l-64 96c-5.9 8.8-16.8 12.7-26.9 9.7s-17-12.4-17-23V120c0-13.3 10.7-24 24-24z\"]]\n};\nvar faFileMusic = {\n prefix: 'fad',\n iconName: 'file-music',\n icon: [384, 512, [], \"f8b6\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM288 224c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V315.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V256 224z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm-96 64c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V315.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V256 224z\"]]\n};\nvar faCodeCommit = {\n prefix: 'fad',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", [\"M476.8 288c2.1-10.3 3.2-21 3.2-32s-1.1-21.7-3.2-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H476.8zm-313.6 0H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H163.2c-2.1 10.3-3.2 21-3.2 32s1.1 21.7 3.2 32z\", \"M320 176a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 240a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\"]]\n};\nvar faTemperatureLow = {\n prefix: 'fad',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", [\"M144 64c-26.5 0-48 21.5-48 48V276.5c0 17.3-7.1 31.9-15.3 42.5C70.2 332.6 64 349.5 64 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM32 112C32 50.2 82.1 0 144 0s112 50.1 112 112V276.5c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S0 447.5 0 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6V112z\", \"M416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM144 256c-8.8 0-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16z\"]]\n};\nvar faPersonBiking = {\n prefix: 'fad',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", [\"M200 384A72 72 0 1 0 56 384a72 72 0 1 0 144 0zM0 384a128 128 0 1 1 256 0A128 128 0 1 1 0 384zm584 0a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-200 0a128 128 0 1 1 256 0 128 128 0 1 1 -256 0z\", \"M400 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM365.4 111.2L427.2 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c-7.3 0-14.3-2.5-20-7l-40.7-32.6L295 232.9l42.7 28.5c8.9 5.9 14.2 15.9 14.2 26.6V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V305.1l-60.5-38.4c-32.8-20.8-35-67.9-4.3-91.6l83.1-64.2c17.4-13.5 41.8-13.3 59.1 .3z\"]]\n};\nvar faBiking = faPersonBiking;\nvar faDisplayChartUpCircleCurrency = {\n prefix: 'fad',\n iconName: 'display-chart-up-circle-currency',\n icon: [640, 512, [], \"e5e5\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H394.8C349.5 480.1 320 427.5 320 368c0-5.4 .2-10.7 .7-16H64V64H512V192.7c22.9 2.1 44.5 8.5 64 18.5V64c0-35.3-28.7-64-64-64H64zM480 192.7V120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 1.3 .1 2.6 .3 3.9c15-5.8 31-9.7 47.7-11.2z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm25.4-169.4a35.9 35.9 0 1 0 -50.7 50.7 35.9 35.9 0 1 0 50.7-50.7zM460.7 426l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L438 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L460.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L554 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L531.3 426c-21.6 13.2-49.1 13.2-70.7 0z\"]]\n};\nvar faSkeleton = {\n prefix: 'fad',\n iconName: 'skeleton',\n icon: [512, 512, [], \"f620\", [\"M224 64H96C78.3 64 64 78.3 64 96s14.3 32 32 32H224V64zm0 96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H224V160zm64 64H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H288v64zm-64 32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32h96V256zm64 64h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288v64zm0-192H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H288v64z\", \"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V386.3l-67.5-28.9c-8.3-3.5-17.2-5.4-26.1-5.4C93.7 352 64 381.7 64 418.4v1.5c0 18 7.2 35.3 19.9 48l25.8 25.8c11.7 11.7 27.6 18.3 44.1 18.3H358.1c16.6 0 32.4-6.6 44.1-18.3l25.8-25.8c12.7-12.7 19.9-30 19.9-48v-1.5c0-36.7-29.7-66.4-66.4-66.4c-9 0-17.9 1.8-26.1 5.4L288 386.3V32zM136 440a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm216-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]]\n};\nvar faCircleG = {\n prefix: 'fad',\n iconName: 'circle-g',\n icon: [512, 512, [], \"e10f\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0 44.2 35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C295.2 183.7 276.5 176 256 176c-44.2 0-80 35.8-80 80z\", \"M256 176c-44.2 0-80 35.8-80 80s35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C295.2 183.7 276.5 176 256 176z\"]]\n};\nvar faCircleArrowUpLeft = {\n prefix: 'fad',\n iconName: 'circle-arrow-up-left',\n icon: [512, 512, [], \"e0fb\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm64-368c13.3 0 24 10.7 24 24s-10.7 24-24 24H225.9L361 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24H320z\", \"M168 144H320c13.3 0 24 10.7 24 24s-10.7 24-24 24H225.9L361 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24z\"]]\n};\nvar faCoinBlank = {\n prefix: 'fad',\n iconName: 'coin-blank',\n icon: [512, 512, [], \"e3fb\", [\"M256 352C114.6 352 0 287.5 0 208S114.6 64 256 64s256 64.5 256 144s-114.6 144-256 144z\", \"M48 331c-18.3-11.5-34.8-25.2-48-40.9L0 320c0 27.9 17.8 53.6 48 74.6L48 331zm32 17.3L80 413c27.1 12.8 59.8 22.7 96 28.7l0-64.3c-35.1-6-67.6-15.9-96-29zM256 448c-16.4 0-32.5-.8-48-2.2l0-64.1c15.7 1.6 31.7 2.4 48 2.4s32.3-.8 48-2.4l0 64.1c-15.5 1.5-31.6 2.2-48 2.2zm80-70.7l0 64.3c36.2-6 68.9-15.9 96-28.7l0-64.7c-28.4 13.1-60.9 23-96 29zM512 320c0 27.9-17.8 53.6-48 74.6l0-63.7c18.3-11.5 34.8-25.2 48-40.9l0 29.9z\"]]\n};\nvar faBroom = {\n prefix: 'fad',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", [\"M566.6 9.4c12.5 12.5 12.5 32.8 0 45.3l-192 192-45.3-45.3 192-192c12.5-12.5 32.8-12.5 45.3 0z\", \"M409.4 281.4L294.6 166.6c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6v29.1L364.3 320h29.1c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16zm-68.3 72L222.6 234.9c-42.7-3.7-85.2 11.7-115.8 42.3l-8 8C76.5 307.5 64 337.7 64 369.2c0 6.8 7.1 11.2 13.2 8.2l29.9-15c8.3-4.2 15.9 6.9 8.9 13.1L7.3 473.4C2.7 477.6 0 483.6 0 489.9C0 502.1 9.9 512 22.1 512l173.3 0c38.8 0 75.9-15.4 103.4-42.8c30.6-30.6 45.9-73.1 42.3-115.8z\"]]\n};\nvar faVacuum = {\n prefix: 'fad',\n iconName: 'vacuum',\n icon: [640, 512, [], \"e04d\", [\"M416 128c-35.3 0-64 28.7-64 64V325.5c10-3.5 20.8-5.5 32-5.5c53 0 96 43 96 96s-43 96-96 96H544c35.3 0 64-28.7 64-64V320c0-106-86-192-192-192z\", \"M301.6 64H512c35.3 0 64 28.7 64 64c0 21.9-11 41.2-27.8 52.8c15.5 14.7 28.6 32 38.5 51.2C619 208.7 640 170.8 640 128C640 57.3 582.7 0 512 0H301.6C241.3 0 189.1 42.2 176.4 101.2L150.1 224h65.5L239 114.6C245.4 85.1 271.4 64 301.6 64zM208.7 256H143.3L109 416H83.8c-33.8 0-64.7 18.9-80 49C1.4 469.5 0 474.6 0 480c0 17.7 14.3 32 32 32h95.4c.4 0 .9 0 1.3 0H176c26.5 0 48-21.5 48-48s-21.5-48-48-48h-1.6l34.3-160zM384 512a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0-128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faShieldHeart = {\n prefix: 'fad',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM144 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\", \"M205.3 160c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]]\n};\nvar faCardHeart = {\n prefix: 'fad',\n iconName: 'card-heart',\n icon: [384, 512, [], \"e3eb\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM202.2 351.7c-5.7 5.7-14.9 5.7-20.1 0L97.4 264.3C72.9 239 74.2 197 101.7 173.4c23.6-20.5 59.9-16.6 81.7 5.7l8.7 9.2 8.3-9.2c21.8-22.3 57.7-26.2 82.2-5.7c27.1 23.6 28.4 65.6 3.9 90.9l-84.3 87.4z\", \"M286.6 264.3l-84.3 87.4c-5.7 5.7-14.9 5.7-20.1 0L97.4 264.3C72.9 239 74.2 197 101.7 173.4c23.6-20.5 59.9-16.6 81.7 5.7l8.7 9.2 8.3-9.2c21.8-22.3 57.7-26.2 82.2-5.7c27.1 23.6 28.4 65.6 3.9 90.9z\"]]\n};\nvar faLightbulbCflOn = {\n prefix: 'fad',\n iconName: 'lightbulb-cfl-on',\n icon: [640, 512, [], \"e5a7\", [\"M327.8 63l-128 32c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8l128-32c17.1-4.3 34.5 6.1 38.8 23.3s-6.1 34.5-23.3 38.8zM479 88.2c4.3 17.1-6.1 34.5-23.3 38.8l-256 64c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8l256-64c17.1-4.3 34.5 6.1 38.8 23.3zm0 96c4.3 17.1-6.1 34.5-23.3 38.8L259.9 272l-3.9 1L199.8 287c-17.1 4.3-34.5-6.1-38.8-23.3s6.1-34.5 23.3-38.8l256-64c17.1-4.3 34.5 6.1 38.8 23.3zM256 306l48-12v90H256V306zm223-25.7c4.3 17.1-6.1 34.5-23.3 38.8l-64 16L384 337v47H336V308.7c0-.5 0-.9 0-1.4V304l.2 0c1.6-12.7 10.8-23.7 24-27l16-4 64-16c17.1-4.3 34.5 6.1 38.8 23.3z\", \"M53.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S42.3-3.3 53.3 4zM613.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM101.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm464-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM224 416c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H352c0 17.7-14.3 32-32 32s-32-14.3-32-32H256c-17.7 0-32-14.3-32-32V416z\"]]\n};\nvar faMelon = {\n prefix: 'fad',\n iconName: 'melon',\n icon: [512, 512, [], \"e310\", [\"M256 512c-38.5 0-75-8.5-107.7-23.7c67.1-5.8 149.8-48.2 220.8-119.2s113.4-153.8 119.2-220.8C503.5 181 512 217.5 512 256c0 141.4-114.6 256-256 256zM74.7 436.8c-19.1-19.4-26.8-55.8-11.9-108c14.6-51.2 49.6-110.2 102.7-163.3s112.1-88.1 163.3-102.7c52.4-15 88.9-7.1 108.2 12.2s27.2 55.9 12.2 108.2c-14.6 51.2-49.6 110.2-102.7 163.3s-112.1 88.1-163.3 102.7c-52.1 14.9-88.6 7.2-108-11.9c-.2-.2-.4-.4-.5-.5zm-51-73.1C8.5 331 0 294.5 0 256C0 114.6 114.6 0 256 0c38.5 0 75 8.5 107.7 23.7c-67.1 5.8-149.8 48.2-220.8 119.2s-113.4 153.8-119.2 220.8z\", \"M363.7 23.7c54.8 25.5 99.2 69.8 124.6 124.6c-5.8 67.1-48.2 149.8-119.2 220.8s-153.8 113.4-220.8 119.2c-27.3-12.7-52-30-73.1-51c19.4 19.1 55.8 26.8 108 11.9c51.2-14.6 110.2-49.6 163.3-102.7s88.1-112.1 102.7-163.3c15-52.4 7.1-88.9-12.2-108.2s-55.9-27.2-108.2-12.2c-51.2 14.6-110.2 49.6-163.3 102.7S77.4 277.6 62.8 328.8c-14.9 52.1-7.2 88.6 11.9 108c-21-21.1-38.4-45.8-51-73.1c5.8-67.1 48.2-149.8 119.2-220.8s153.8-113.4 220.8-119.2z\"]]\n};\nvar faGopuram = {\n prefix: 'fad',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", [\"M320 128v96h32V128H320zm64 224V224H352V352h32zm0 0V512h32V352H384zM160 224H128V352H96V512h32V352h32V224zm0 0h32V128H160v96z\", \"M120 0c13.3 0 24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64v64c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32v96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H416V352H384V224H352V128H320v96h32V352h32V512H304V464c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H128V352h32V224h32V128H160v96H128V352H96V512H32c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32V256c0-17.7 14.3-32 32-32V160c0-17.7 14.3-32 32-32V64 32 24c0-13.3 10.7-24 24-24zM256 272c-17.7 0-32 14.3-32 32v48h64V304c0-17.7-14.3-32-32-32zm-32-80v32h64V192c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]]\n};\nvar faEarthOceania = {\n prefix: 'fad',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 432c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM431.2 298.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M273.8 142.5c-9.5-9.5-23-13.6-36.1-10.9l-38.5 7.7c-15.3 3.1-17.6 24-3.4 30.3l42.8 19c5.1 2.3 10.6 3.4 16.2 3.4h29.9c14.3 0 21.4-17.2 11.3-27.3l-22.2-22.2zM169.6 343.8l39 13.5c2.4 .8 4.7 2 6.9 3.4L240.9 377c7.1 4.6 15.3 7 23.7 7c13.4 0 26.1-6.2 34.4-16.8L311 351.8c5.8-7.4 9-16.6 9-26s-3.2-18.6-9-26l-17.9-22.9c-4.8-6.1-8.7-12.9-11.5-20.2l-10.1-25.9c-1.6-4.1-5.6-6.8-10-6.8c-3.4 0-6.7 1.6-8.7 4.4l-10.4 14.2c-4.7 6.4-12.7 9.5-20.4 7.9c-3.2-.7-6.1-2.5-8.1-5.1l-4.6-6.1c-7.2-9.6-18.6-15.3-30.6-15.3s-23.4 5.7-30.6 15.3l-5.3 7c-1.6 2.1-3.6 3.7-5.9 4.8l-35.3 16.8c-20.5 9.8-28.8 34.6-18.2 54.7l3.3 6.2c9 17.1 29 25.4 47.5 19.5l15.3-4.9c6.6-2.1 13.6-2 20.1 .3zM248 432c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H264c-8.8 0-16 7.2-16 16zM431.2 298.9c-2.8-8.4-11.9-12.9-20.2-10.1s-12.9 11.9-10.1 20.2l8 24c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2l-8-24zm-19.9 80.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faContainerStorage = {\n prefix: 'fad',\n iconName: 'container-storage',\n icon: [640, 512, [], \"f4b7\", [\"M608 96H32V416H608V96zM176 152V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faFacePouting = {\n prefix: 'fad',\n iconName: 'face-pouting',\n icon: [512, 512, [], \"e387\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM161.3 382.1c-5.4 12.3 8.7 21.6 21.1 16.4c22.4-9.5 47.4-14.8 73.7-14.8s51.3 5.3 73.7 14.8c12.4 5.2 26.5-4.1 21.1-16.4c-16-36.6-52.4-62.1-94.8-62.1s-78.8 25.6-94.8 62.1zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M133.1 176.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32zm256 30.4c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1z\"]]\n};\nvar faSquareXmark = {\n prefix: 'fad',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M177 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faFaceExplode = {\n prefix: 'fad',\n iconName: 'face-explode',\n icon: [512, 512, [\"exploding-head\"], \"e2fe\", [\"M481.4 265.2L512 253.5c0 .8 0 1.7 0 2.5c0 141.4-114.6 256-256 256S0 397.4 0 256c0-.8 0-1.7 0-2.5l30.5 11.7c14.1 5.4 29.9 3.9 42.7-4.1l20.7-12.9c5.2-3.2 11.8-3.2 17 0L128.2 259c15.6 9.7 35.3 9.7 50.9 0l17.3-10.8c5.2-3.2 11.8-3.2 17 0L230.6 259c15.6 9.7 35.3 9.7 50.9 0l17.3-10.8c5.2-3.2 11.8-3.2 17 0L333 259c15.6 9.7 35.3 9.7 50.9 0l17.3-10.8c5.2-3.2 11.8-3.2 17 0l20.7 12.9c12.8 8 28.6 9.5 42.7 4.1zM176.4 368a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-123 48c-29.5 0-53.3 23.9-53.3 53.3c0 5.9 4.8 10.7 10.7 10.7H309.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H245.3z\", \"M320 197.3c0 7.3 2.1 14.3 5.9 20.2c-14.3-6.1-30.8-4.9-44.2 3.5l-17.3 10.8c-5.2 3.2-11.8 3.2-17 0L230.2 221c-13.4-8.4-29.9-9.5-44.2-3.5c3.8-6 5.9-13 5.9-20.2V192c0-17.7-14.3-32-32-32H120c-30.9 0-56-25.1-56-56s25.1-56 56-56c8.9 0 17.3 2.1 24.8 5.8C149.7 23.3 176.1 0 208 0c19.1 0 36.3 8.4 48 21.7C267.7 8.4 284.9 0 304 0c31.9 0 58.3 23.3 63.2 53.8c7.5-3.7 15.9-5.8 24.8-5.8c30.9 0 56 25.1 56 56s-25.1 56-56 56H352c-17.7 0-32 14.3-32 32v5.3zM144.4 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faExplodingHead = faFaceExplode;\nvar faHashtag = {\n prefix: 'fad',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", [\"M207.6 69.3c2.9-17.4-8.9-33.9-26.3-36.8s-33.9 8.9-36.8 26.3L132.9 128h64.9l9.8-58.7zM187.1 192H122.2L80.4 442.7c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3L187.1 192zM367.6 69.3c2.9-17.4-8.9-33.9-26.3-36.8s-33.9 8.9-36.8 26.3L260.9 320h64.9L367.6 69.3zM315.1 384H250.2l-9.8 58.7c-2.9 17.4 8.9 33.9 26.3 36.8s33.9-8.9 36.8-26.3L315.1 384z\", \"M292.9 128H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H282.2l10.7-64zm54.2 64H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.8l-10.7 64zm-192 192H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H165.8l-10.7 64zm-54.2-64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H90.2l10.7-64z\"]]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'fad',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", [\"M24 512H168c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-39-39 87-87c9.4-9.4 9.4-24.6 0-33.9l-32-32c-9.4-9.4-24.6-9.4-33.9 0l-87 87L41 327c-6.9-6.9-17.2-8.9-26.2-5.2S0 334.3 0 344V488c0 13.3 10.7 24 24 24z\", \"M488 0H344c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l39 39-87 87c-9.4 9.4-9.4 24.6 0 33.9l32 32c9.4 9.4 24.6 9.4 33.9 0l87-87 39 39c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V24c0-13.3-10.7-24-24-24z\"]]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'fad',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", [\"M320 128c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v32h64V128h32z\", \"M368.9 160c9.9 0 19.7 2.3 28.6 6.8L448 192l167-35.8c18.1-3.9 30.7 17.6 18.4 31.5L451.1 394.3c-12.1 13.8-29.6 21.7-48 21.7H144c-26.5 0-48-21.5-48-48V346.7l-67.5-30C11.2 309 0 291.8 0 272.8V208c0-26.5 21.5-48 48-48H96h48H368.9zM96 208H48v64.8l48 21.3V208z\"]]\n};\nvar faT = {\n prefix: 'fad',\n iconName: 't',\n icon: [384, 512, [116], \"54\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96H160V448c0 17.7 14.3 32 32 32s32-14.3 32-32V96H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H192 32z\", \"\"]]\n};\nvar faTransformerBolt = {\n prefix: 'fad',\n iconName: 'transformer-bolt',\n icon: [384, 512, [], \"e2a4\", [\"M136 24c0-13.3-10.7-24-24-24S88 10.7 88 24v8H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H136V24zm160 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H296V24zM48 112c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm160 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm31.2 133.1c2.3-6.8-.3-14.3-6.3-18.3s-13.9-3.6-19.3 1.1l-112 96c-5.1 4.4-6.9 11.4-4.6 17.7s8.3 10.4 15 10.4h57.8l-25 74.9c-2.3 6.8 .3 14.3 6.3 18.3s13.9 3.6 19.3-1.1l112-96c5.1-4.4 6.9-11.4 4.6-17.7s-8.3-10.4-15-10.4H214.2l25-74.9z\", \"M0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32V448c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V224c-17.7 0-32-14.3-32-32zm232.9 34.7c-6-4-13.9-3.6-19.3 1.1l-112 96c-5.1 4.4-6.9 11.4-4.6 17.7s8.3 10.4 15 10.4h57.8l-25 74.9c-2.3 6.8 .3 14.3 6.3 18.3s13.9 3.6 19.3-1.1l112-96c5.1-4.4 6.9-11.4 4.6-17.7s-8.3-10.4-15-10.4H214.2l25-74.9c2.3-6.8-.3-14.3-6.3-18.3z\"]]\n};\nvar faHippo = {\n prefix: 'fad',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", [\"M407 47c9.4-9.4 24.6-9.4 33.9 0l17.2 17.2c1.9-.1 3.9-.2 5.8-.2h32c11.2 0 21.9 2.3 31.6 6.5L543 55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L564 101.9c7.6 12.2 12 26.7 12 42.1c0 10.2 7.4 18.8 16.7 23c27.9 12.5 47.3 40.5 47.3 73c0 44.2-35.8 80-80 80H432c-18 0-34.6-6-48-16c-1-.7-1.9-1.5-2.9-2.3C363.3 287.1 352 264.9 352 240c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 44.7 26.2 83.2 64 101.2V352c0 17.7 14.3 32 32 32h32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V372c-19.8 7.7-41.4 12-64 12s-44.2-4.3-64-12v76c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V329.1L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 155.7 117.2 68 223.8 64.1l.2-.1h7.2H256h32c41.7 0 83.4 12.1 117.2 25.7c1.7-1.8 3.5-3.6 5.3-5.2L407 81c-9.4-9.4-9.4-24.6 0-33.9zm73 185a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\", \"M480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16 176H544v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c-13.4 10-30 16-48 16zm-128 0c-5.5 0-10.8-.6-16-1.6V336c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320H432z\"]]\n};\nvar faChartColumn = {\n prefix: 'fad',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", [\"M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32z\", \"M480 96c0-17.7-14.3-32-32-32s-32 14.3-32 32V320c0 17.7 14.3 32 32 32s32-14.3 32-32V96zM288 160c0-17.7-14.3-32-32-32s-32 14.3-32 32V320c0 17.7 14.3 32 32 32s32-14.3 32-32V160zm-96 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V256zm160-64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V224c0-17.7-14.3-32-32-32z\"]]\n};\nvar faCassetteVhs = {\n prefix: 'fad',\n iconName: 'cassette-vhs',\n icon: [576, 512, [128252, \"vhs\"], \"f8ec\", [\"M576 128H0V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128zM108.1 384C90.5 362.1 80 334.3 80 304s10.5-58.1 28.1-80H160V384H108.1zm359.9 0H416V224h51.9c17.6 21.9 28.1 49.7 28.1 80s-10.5 58.1-28.1 80zM256 224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32z\", \"M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64v32H0V96zM160 384H108.1C90.5 362.1 80 334.3 80 304s10.5-58.1 28.1-80H160v34.7c-18.6 6.6-32 24.4-32 45.3s13.4 38.7 32 45.3V384zm307.9 0H416V349.3c18.6-6.6 32-24.4 32-45.3s-13.4-38.7-32-45.3V224h51.9c17.6 21.9 28.1 49.7 28.1 80s-10.5 58.1-28.1 80z\"]]\n};\nvar faVhs = faCassetteVhs;\nvar faInfinity = {\n prefix: 'fad',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", [\"M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z\", \"\"]]\n};\nvar faVialCircleCheck = {\n prefix: 'fad',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96V384c0 53 43 96 96 96c32.6 0 61.5-16.3 78.8-41.2C197.3 417.1 192 393.2 192 368c0-37.7 11.8-72.6 32-101.2V96c17.7 0 32-14.3 32-32s-14.3-32-32-32H160 96 32zM160 96v96H96V96h64z\", \"M368 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L352 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faChimney = {\n prefix: 'fad',\n iconName: 'chimney',\n icon: [448, 512, [], \"f78b\", [\"M128 192H32V320h96V192zm288 0H160V320H416V192zM288 352H32V480H288V352zm128 0H320V480h96V352z\", \"M32 32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32z\"]]\n};\nvar faObjectIntersect = {\n prefix: 'fad',\n iconName: 'object-intersect',\n icon: [512, 512, [], \"e49d\", [\"M64 64H288v96h64v64h96V448H224V352H160V288H64V64zm96 288v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h96z\", \"M160 224c0-35.3 28.7-64 64-64H352V288c0 35.3-28.7 64-64 64H160V224z\"]]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'fad',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", [\"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352V352h16v96h64V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6H177.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L120 256.9V448h64z\", \"M496 32c-17.7 0-32 14.3-32 32l0 242.7-25.4-25.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L528 306.7 528 64c0-17.7-14.3-32-32-32zM32 448c-17.7 0-32 14.3-32 32s14.3 32 32 32H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z\"]]\n};\nvar faVoicemail = {\n prefix: 'fad',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", [\"M144 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm352 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\", \"M144 320a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm119.8 0c15.3-22.9 24.2-50.4 24.2-80c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 29.6 8.9 57.1 24.2 80H263.8zM496 160a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faBlockBrick = {\n prefix: 'fad',\n iconName: 'block-brick',\n icon: [448, 512, [\"wall-brick\"], \"e3db\", [\"M96 32v80H352V32H96zM64 112V32C28.7 32 0 60.7 0 96v16H64zM0 144v96H208V144H0zM0 368H64V272H0v96zm0 32v16c0 35.3 28.7 64 64 64H208V400H0zm240 0v80H384c35.3 0 64-28.7 64-64V400H240zm208-32V272H384v96h64zm-96 0V272H96v96H352zm96-224H240v96H448V144zm0-32V96c0-35.3-28.7-64-64-64v80h64z\", \"M64 112H0v32H208v96H0v32H64v96H0v32H208v80h32V400H448V368H384V272h64V240H240V144H448V112H384V32H352v80H96V32H64v80zM352 368H96V272H352v96z\"]]\n};\nvar faWallBrick = faBlockBrick;\nvar faFan = {\n prefix: 'fad',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", [\"M258.6 0c-1.7 0-3.4 .1-5.1 .5C168 17 115.6 102.3 130.5 189.3c2.9 17 8.4 32.9 15.9 47.4L32 224H29.4C13.2 224 0 237.2 0 253.4c0 1.7 .1 3.4 .5 5.1C17 344 102.3 396.4 189.3 381.5c17-2.9 32.9-8.4 47.4-15.9L224 480v2.6c0 16.2 13.2 29.4 29.4 29.4c1.7 0 3.4-.1 5.1-.5C344 495 396.4 409.7 381.5 322.7c-2.9-17-8.4-32.9-15.9-47.4L480 288h2.6c16.2 0 29.4-13.2 29.4-29.4c0-1.7-.1-3.4-.5-5.1C495 168 409.7 115.6 322.7 130.5c-17 2.9-32.9 8.4-47.4 15.9L288 32V29.4C288 13.2 274.8 0 258.6 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M256 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]]\n};\nvar faBagsShopping = {\n prefix: 'fad',\n iconName: 'bags-shopping',\n icon: [576, 512, [128717], \"f847\", [\"M224 48c-26.5 0-48 21.5-48 48v64h96V96c0-26.5-21.5-48-48-48zM64 160h64V96c0-53 43-96 96-96s96 43 96 96v64h64c35.3 0 64 28.7 64 64H240c-44.2 0-80 35.8-80 80V464c0 5.5 .6 10.8 1.6 16H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64zM320 336v16c0 35.3 28.7 64 64 64s64-28.7 64-64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 53-43 96-96 96s-96-43-96-96V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M256 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H256zm64 80v16c0 35.3 28.7 64 64 64s64-28.7 64-64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 53-43 96-96 96s-96-43-96-96V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faParagraphLeft = {\n prefix: 'fad',\n iconName: 'paragraph-left',\n icon: [384, 512, [\"paragraph-rtl\"], \"f878\", [\"M144 0h16H320c17.7 0 32 14.3 32 32s-14.3 32-32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-224H224l0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64H144C82.1 224 32 173.9 32 112S82.1 0 144 0z\", \"M128 384V337.6c0-9.7-7.9-17.6-17.6-17.6c-4.2 0-8.2 1.5-11.3 4.2l-93 78.7C2.2 406.1 0 410.9 0 416s2.2 9.9 6.1 13.2l93 78.7c3.2 2.7 7.2 4.2 11.3 4.2c9.7 0 17.6-7.9 17.6-17.6V448H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H128z\"]]\n};\nvar faParagraphRtl = faParagraphLeft;\nvar faPersonWalkingLuggage = {\n prefix: 'fad',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", [\"M261.9 296c4.4-7.7 1.8-17.4-5.9-21.9s-17.4-1.8-21.9 5.9l-32 55.4L147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c1.5-2.6 2.6-5.2 3.3-8L261.9 296z\", \"M384 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM350.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L505 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L471 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM292.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1l-61.7 61.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L292.7 398z\"]]\n};\nvar faCaravanSimple = {\n prefix: 'fad',\n iconName: 'caravan-simple',\n icon: [640, 512, [\"caravan-alt\"], \"e000\", [\"M64 160v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32zm256 0v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zM192 512a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M80 32C35.8 32 0 67.8 0 112V336c0 44.2 35.8 80 80 80h1.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H576l32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32H576V192c0-88.4-71.6-160-160-160H80zM64 160c0-17.7 14.3-32 32-32H224c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160zm288-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32z\"]]\n};\nvar faCaravanAlt = faCaravanSimple;\nvar faTurtle = {\n prefix: 'fad',\n iconName: 'turtle',\n icon: [576, 512, [128034], \"f726\", [\"M474.1 287.7c1.9 .2 3.9 .3 5.9 .3h32c35.3 0 64-28.7 64-64V208c0-53-43-96-96-96c-35.3 0-64 28.7-64 64v16 32 24c0 39.8-32.2 72-72 72H312 264 152 104 32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64v56c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V384h32v56c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V383.8c57.8-3.4 105.9-42.8 122.1-96zM496 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M384 249.2V208c0-97.2-78.8-176-176-176S32 110.8 32 208v41.2C32 270.6 49.4 288 70.8 288H345.2c21.4 0 38.8-17.4 38.8-38.8z\"]]\n};\nvar faPencilMechanical = {\n prefix: 'fad',\n iconName: 'pencil-mechanical',\n icon: [512, 512, [], \"e5ca\", [\"M500.7 36.7L475.3 11.3C468.1 4.1 458.2 0 448 0s-20.1 4.1-27.3 11.3L365.5 66.5c5.1 1.9 9.8 4.9 13.8 8.9l57.4 57.4c3.9 3.9 6.9 8.6 8.9 13.8l55.1-55.1C507.9 84.1 512 74.2 512 64s-4.1-20.1-11.3-27.3z\", \"M253.7 87.6c-3.1-3.1-8.2-3.1-11.3 0L137 193c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L208.4 53.7c21.9-21.9 57.3-21.9 79.2 0L317 83l7.7-7.7C331.9 68.1 341.8 64 352 64s20.1 4.1 27.3 11.3l57.4 57.4c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L184.8 439.2c-5.8 5.8-12.9 10-20.8 12.2L66.7 479.2 41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l25.7-25.7L60.6 348c2.2-7.8 6.4-15 12.2-20.8L283 117 253.7 87.6zM106.4 362.4L89.1 422.9l60.5-17.3-43.2-43.2z\"]]\n};\nvar faUpDown = {\n prefix: 'fad',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", [\"M128 512c6.7 0 13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4H176V256H80v96H24c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7z\", \"M128 0c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4H176v96H80V160H24c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112C115 2.8 121.3 0 128 0z\"]]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'fad',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", [\"M353.6 107.6C363.5 46.5 417 0 481.2 0c3.7 0 7.3 .2 10.9 .5c7 .6 12.8 5.7 14.3 12.6s-1.7 13.9-7.8 17.4c-26.9 15.1-44.9 43.6-44.9 76.1c0 48.1 39.4 87.4 88.4 87.4c5.2 0 10.3-.4 15.2-1.3c6.9-1.2 13.8 2.3 17 8.6s1.9 13.9-3.2 18.7c-23.3 22.4-55 36.1-89.9 36.1c-4.1 0-8.2-.2-12.3-.6c-11.1-23.1-29.9-41.8-53.1-52.7c-1.9-41.7-26.7-77.5-62.1-95.1zM92.1 453.4l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3zm96 0l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3zm96 0l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3zm96 0l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3z\", \"M367.9 383.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.3 114.6 210.8 96 176 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H367.9z\"]]\n};\nvar faBoothCurtain = {\n prefix: 'fad',\n iconName: 'booth-curtain',\n icon: [512, 512, [], \"f734\", [\"M0 64C0 28.7 28.7 0 64 0h96V64L64 64V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V64zM448 0c35.3 0 64 28.7 64 64V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V64 0z\", \"M160 0h96 96 96V400c0 26.5-21.5 48-48 48s-48-21.5-48-48c0 26.5-21.5 48-48 48s-48-21.5-48-48c0 26.5-21.5 48-48 48s-48-21.5-48-48V0z\"]]\n};\nvar faCalendar = {\n prefix: 'fad',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", [\"M0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192z\", \"M160 32c0-17.7-14.3-32-32-32S96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32z\"]]\n};\nvar faBoxHeart = {\n prefix: 'fad',\n iconName: 'box-heart',\n icon: [448, 512, [], \"f49d\", [\"M93.7 32C75.5 32 58.9 42.3 50.7 58.5L0 160H208V32H93.7zM240 32V160H448L397.3 58.5C389.1 42.3 372.5 32 354.3 32H240z\", \"M448 160H240V32H208V160H0V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V160zM212.7 404.7l-77.3-77.3c-20.5-20.5-20.5-53.8 0-74.3s53.8-20.5 74.3 0L224 267.4l14.3-14.3c20.5-20.5 53.8-20.5 74.3 0s20.5 53.8 0 74.3l-77.3 77.3c-6.2 6.2-16.4 6.2-22.6 0z\"]]\n};\nvar faTrailer = {\n prefix: 'fad',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", [\"M80 96c-8.8 0-16 7.2-16 16V264.2c9.8-8.1 20.6-15.2 32-21L96 112c0-8.8-7.2-16-16-16zm96 128c5.4 0 10.7 .2 16 .7L192 112c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 112.7c5.3-.5 10.6-.7 16-.7zm80 19.2c11.4 5.9 22.2 12.9 32 21L288 112c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 131.2zM368 96c-8.8 0-16 7.2-16 16l0 192c0 8.8 7.2 16 16 16s16-7.2 16-16l0-192c0-8.8-7.2-16-16-16zm112 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 192c0 8.8 7.2 16 16 16s16-7.2 16-16l0-192zM176 480a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\", \"M48 32C21.5 32 0 53.5 0 80V336c0 26.5 21.5 48 48 48H65.1c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96H488h8H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H544V80c0-26.5-21.5-48-48-48H48zM80 96c8.8 0 16 7.2 16 16l0 131.2c-11.4 5.9-22.2 12.9-32 21V112c0-8.8 7.2-16 16-16zm96 128c-5.4 0-10.7 .2-16 .7L160 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 112.7c-5.3-.5-10.6-.7-16-.7zm80 19.2L256 112c0-8.8 7.2-16 16-16s16 7.2 16 16l0 152.2c-9.8-8.1-20.6-15.2-32-21zM368 96c8.8 0 16 7.2 16 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16zm112 16l0 192c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-192c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faUserDoctorMessage = {\n prefix: 'fad',\n iconName: 'user-doctor-message',\n icon: [640, 512, [\"user-md-chat\"], \"f82e\", [\"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-96 55.2C54 332.9 0 401.3 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-81-54-149.4-128-171.1V362c27.6 7.1 48 32.2 48 62v40c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16V424c0-17.7-14.3-32-32-32s-32 14.3-32 32v24c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V424c0-29.8 20.4-54.9 48-62V304.9c-6-.6-12.1-.9-18.3-.9H178.3c-6.2 0-12.3 .3-18.3 .9v65.4c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7V311.2zM144 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\", \"M384 48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H544l-83.2 62.4c-2.4 1.8-5.7 2.1-8.4 .8s-4.4-4.1-4.4-7.2V224H432c-26.5 0-48-21.5-48-48V48z\"]]\n};\nvar faUserMdChat = faUserDoctorMessage;\nvar faBahai = {\n prefix: 'fad',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", [\"M288 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\", \"M288 0c14.5 0 27.2 9.7 30.9 23.8l23.9 89.6 75.9-53.3c11.9-8.3 27.8-7.6 39 1.7s14.6 24.9 8.4 38.1l-39.3 84 92.4 8c14.4 1.2 26.2 12 28.8 26.3s-4.9 28.5-18 34.6l-84.1 39.1 65.7 65.5c10.3 10.2 12.4 26.1 5.1 38.7s-22 18.7-36 14.9L391 386.8l8.2 92.4c1.3 14.4-7.3 27.9-20.9 32.9s-28.9 .1-37.2-11.7l-53.1-76-53.1 76c-8.3 11.9-23.6 16.7-37.2 11.7s-22.2-18.5-20.9-32.9l8.2-92.4L95.4 410.9c-14 3.8-28.8-2.3-36-14.9s-5.2-28.4 5.1-38.7l65.7-65.5L46 252.7c-13.1-6.1-20.5-20.3-18-34.6s14.3-25.1 28.8-26.3l92.4-8-39.3-84c-6.1-13.1-2.7-28.8 8.4-38.1s27.1-10 39-1.7l75.9 53.3 23.9-89.6C260.8 9.7 273.5 0 288 0zm0 156.2l-4.8 18c-2.7 10.1-10.2 18.2-20 21.8s-20.8 2.1-29.3-3.9l-15.2-10.7 7.9 16.8c4.4 9.5 4 20.5-1.3 29.6s-14.5 15-25 15.9l-18.5 1.6 16.8 7.8c9.5 4.4 16.2 13.2 18 23.5s-1.5 20.8-8.9 28.2l-13.2 13.1 17.9-4.8c10.1-2.7 20.9-.3 28.9 6.4s12.2 16.9 11.3 27.3l-1.6 18.5 10.6-15.2c6-8.6 15.8-13.7 26.2-13.7s20.2 5.1 26.2 13.7l10.6 15.2-1.6-18.5c-.9-10.4 3.3-20.6 11.3-27.3s18.8-9.1 28.9-6.4l17.9 4.8-13.2-13.1c-7.4-7.4-10.7-17.9-8.9-28.2s8.5-19.1 18-23.5l16.8-7.8-18.5-1.6c-10.4-.9-19.7-6.8-25-15.9s-5.7-20.1-1.3-29.6l7.9-16.8-15.2 10.7c-8.6 6-19.5 7.5-29.3 3.9s-17.3-11.7-20-21.8l-4.8-18z\"]]\n};\nvar faHaykal = faBahai;\nvar faAmpGuitar = {\n prefix: 'fad',\n iconName: 'amp-guitar',\n icon: [512, 512, [], \"f8a1\", [\"M134.4 53.8C163.5 28.8 207.1 0 256 0s92.5 28.8 121.6 53.8c15 12.9 27.3 25.7 35.8 35.3c2.3 2.6 4.3 4.9 6 6.9H352.9c-2.1-1.9-4.3-3.8-6.5-5.8C319.5 67.2 287.1 48 256 48s-63.5 19.2-90.4 42.2c-2.3 1.9-4.4 3.9-6.5 5.8H92.5c1.7-2.1 3.7-4.4 6-6.9c8.5-9.6 20.8-22.4 35.8-35.3zM112 304a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM240 400a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM368 400a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\", \"M64 96C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm32 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm56 80V448H64V256H448z\"]]\n};\nvar faSdCard = {\n prefix: 'fad',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", [\"M160 88c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V88zm80 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V88zm80 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V88z\", \"M320 0H141.3C124.3 0 108 6.7 96 18.7L18.7 96C6.7 108 0 124.3 0 141.3V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 88v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]]\n};\nvar faVolumeSlash = {\n prefix: 'fad',\n iconName: 'volume-slash',\n icon: [640, 512, [128263], \"f2e2\", [\"M82.9 161.3L352 373.3V448c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L163.8 352H96c-35.3 0-64-28.7-64-64V224c0-30.9 21.8-56.6 50.9-62.7zM410.8 296.7c1-1.2 2.2-2.4 3.4-3.4C425.1 284.4 432 271 432 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5C466.1 199.1 480 225.9 480 256c0 27.9-12 53.1-31 70.6l-38.2-29.9zm76.3 59.8c25.3-26 40.9-61.4 40.9-100.5c0-45.1-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5c43.2 35.2 70.9 88.9 70.9 149c0 50.3-19.3 96-50.9 130.2l-37.9-29.7zM197.8 129.8L298.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3S352 51.4 352 64V250.6L197.8 129.8z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faBorderBottom = {\n prefix: 'fad',\n iconName: 'border-bottom',\n icon: [448, 512, [], \"f84d\", [\"M384 352a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM0 352a32 32 0 1 0 64 0A32 32 0 1 0 0 352zm256 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 160a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 160A32 32 0 1 0 0 160a32 32 0 1 0 64 0zm128 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm256 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm256 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 64A32 32 0 1 0 0 64a32 32 0 1 0 64 0zm128 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM352 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM288 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM96 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\", \"M448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z\"]]\n};\nvar faWifiWeak = {\n prefix: 'fad',\n iconName: 'wifi-weak',\n icon: [640, 512, [\"wifi-1\"], \"f6aa\", [\"M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2 .9zM171.8 312c39.5-34.9 91.3-56 148.2-56s108.6 21.1 148.2 56c13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8z\", \"M256 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]]\n};\nvar faWifi1 = faWifiWeak;\nvar faDragon = {\n prefix: 'fad',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", [\"M130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1L352 220.8V227c0 33.6 10.6 66.1 29.8 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5z\", \"M300.1 111.5l51.9 13v57V227c0 42.4 16.9 83.1 46.9 113.1l44.4 44.4c3 3 4.7 7.1 4.7 11.4c0 8.4-6.4 15.4-14.7 16.1L29.5 448.1c-3.3 .3-6.6 1-9.5 2.2C11 454 4.2 461.5 1.4 470.7c-1 3.4-1.5 7-1.3 10.7c.2 3.8 1 7.3 2.3 10.7c3.6 9 11.2 15.8 20.4 18.6c3 .9 6.3 1.4 9.6 1.4H432h64 34.2C590.9 512 640 462.9 640 402.2c0-37.8-19.5-73-51.6-93.1L481.8 242.5c-21.1-13.2-33.8-36.2-33.8-61.1V160h32l13.3 13.3c12 12 28.3 18.7 45.3 18.7H560c26.5 0 48-21.5 48-48c0-10.4-3.4-20.5-9.6-28.8L540.8 38.4C522.7 14.2 494.2 0 464 0H448 416 304c-6.9 0-13 4.4-15.2 10.9s.1 13.7 5.6 17.9l43.3 32.5L296.8 81.7c-6 3-9.5 9.4-8.7 16.1s5.5 12.2 12 13.8zM510.7 79.7C507.5 89.2 498.6 96 488 96c-13.3 0-24-10.7-24-24c0-1.3 .1-2.6 .3-3.9l46.4 11.6zm1.3-7.4v-.6c0 .1 0 .2 0 .3s0 .2 0 .3z\"]]\n};\nvar faShoePrints = {\n prefix: 'fad',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", [\"M128 480s96.3 32 160 32c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32V480zm-64 0H96V352H64c-35.3 0-64 28.7-64 64s28.7 64 64 64z\", \"M256 32s96.3-32 160-32c96 0 224 48 224 128s-119.6 96-176 96c-48 0-76-16-104-32s-56-32-104-32V32zm-64 0h32V160H192c-35.3 0-64-28.7-64-64s28.7-64 64-64z\"]]\n};\nvar faCirclePlus = {\n prefix: 'fad',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M232 280v64c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'fad',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", [\"M174.5 498.8C73.1 464.7 0 368.9 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 112.9-73.1 208.7-174.5 242.8C346.7 484 352 466.6 352 448V401.1c24.3-17.5 43.6-41.6 55.4-69.6c5-11.8-7-22.5-19.3-18.7c-39.7 12.2-84.5 19-131.8 19s-92.1-6.8-131.8-19c-12.3-3.8-24.3 6.9-19.3 18.7c11.7 27.8 30.8 51.7 54.8 69.2V448c0 18.6 5.3 36 14.5 50.8zm20.7-265.2c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zM336 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M336 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM195.2 233.6c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zM320 402.6V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V402.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6z\"]]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'fad',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"\"]]\n};\nvar faPlugCircleExclamation = {\n prefix: 'fad',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", [\"M128 32v96H64V32C64 14.3 78.3 0 96 0s32 14.3 32 32zm192 0v96H256V32c0-17.7 14.3-32 32-32s32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32c0 2.3-.3 4.6-.7 6.8C309.8 220 256 287.7 256 368c0 11.4 1.1 22.5 3.1 33.3c-11.1 5.1-22.9 9-35.1 11.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V412.8C87 398 32 333.4 32 256V224c-17.7 0-32-14.3-32-32z\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faLinkSlash = {\n prefix: 'fad',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", [\"M220.9 270L406.6 416.4C357.4 431 301.9 418.9 263 380c-29.9-29.9-44.3-70.2-42.2-110zM116.6 187.9l50.6 39.9-61.8 61.8C74 321 74 372 105.5 403.5c27.9 27.9 71.8 31.5 103.8 8.6l1.6-1.1c14.4-10.3 34.4-6.9 44.6 7.4s6.9 34.4-7.4 44.6l-1.6 1.1C189 505.3 110.2 498.7 60.2 448.8c-56.5-56.5-56.5-148 0-204.5l56.4-56.4zm215.1-10.6C306.6 152.1 269.1 147 239 162l-53.2-41.7C242.5 75.8 324.7 79.7 377 132c43.1 43.1 53.9 107.6 29.7 161.5l-53.2-41.7c5.8-26.2-1.7-54.5-21.7-74.5zm248 90.5l-90.5 90.5-50.7-39.8 96-96c31.5-31.5 31.5-82.5 0-114C506.7 80.6 462.7 77 430.7 99.9l-1.6 1.1c-14.4 10.3-34.4 6.9-44.6-7.4s-6.9-34.4 7.4-44.6l1.6-1.1C451 6.7 529.8 13.3 579.8 63.2c56.5 56.5 56.5 148 0 204.5z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'fad',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", [\"M288 448H64V224h96V160H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V352H288v96z\", \"M160 288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64V288z\"]]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'fad',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", [\"\", \"M486.6 454.6c-12.5 12.5-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L461.3 320H480c53 0 96-43 96-96s-43-96-96-96l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l128 0c88.4 0 160 71.6 160 160s-71.6 160-160 160H461.3l25.4 25.4c12.5 12.5 12.5 32.8 0 45.3zM160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]]\n};\nvar faArrowUpZA = {\n prefix: 'fad',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", [\"M352 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9L429.3 160H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H352c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9L402.7 96H352zm64 160c12.1 0 23.2 6.8 28.6 17.7l64 128 16 32c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3L460.2 448H371.8l-7.2 14.3c-7.9 15.8-27.1 22.2-42.9 14.3s-22.2-27.1-14.3-42.9l16-32 64-128c5.4-10.8 16.5-17.7 28.6-17.7zM395.8 400h40.4L416 359.6 395.8 400z\", \"M160 32c9 0 17.5 3.8 23.6 10.4l88 96c11.9 13 11.1 33.3-2 45.2s-33.3 11.1-45.2-2L192 146.3V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V146.3L95.6 181.6c-11.9 13-32.2 13.9-45.2 2s-13.9-32.2-2-45.2l88-96C142.5 35.8 151 32 160 32z\"]]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'fad',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", [\"M169.6 8.5l-16 21.3C137 52 128 79.1 128 106.8c0 33.9 13.5 66.7 37.5 90.7l38.6 38.6c12.7 12.7 19.9 30 19.9 48V288c0 35.3-28.7 64-64 64s-64-28.7-64-64V198.6C96 186.1 85.9 176 73.4 176c-6 0-11.8 2.4-16 6.6l-3.5 3.5C19.4 220.6 0 267.4 0 316.2V320C0 426 86 512 192 512h17.7C306 512 384 434 384 337.7c0-67.5-27.6-132-76.4-178.6L222.9 78.2C213.4 69.1 208 56.6 208 43.5V21.3C208 9.6 198.4 0 186.7 0c-6.7 0-13 3.2-17.1 8.5zM118.3 424.7c-7.3-5.1 .2-14.6 8.8-12.1c97.6 27.5 182.5-86.7 148.5-179.8c-1.9-5.3 5.3-11 8.8-6.6c25.9 32 35.6 69.8 35.6 111.6C320 398.6 270.6 448 209.7 448H192c-27.4 0-52.8-8.6-73.7-23.3z\", \"M127.1 412.6c-8.6-2.4-16.1 7-8.8 12.1C139.2 439.4 164.6 448 192 448h17.7C270.6 448 320 398.6 320 337.7c0-41.8-9.7-79.6-35.6-111.6c-3.6-4.4-10.8 1.4-8.8 6.6c34 93.1-50.9 207.4-148.5 179.8z\"]]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'fad',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", [\"M0 32V45.6C0 62.7 1.7 79.6 5 96H357.8c3.2-6.9 7.5-13.3 13-18.8l38.6-38.6c4.2-4.2 6.6-10 6.6-16C416 10.1 405.9 0 393.4 0H32C14.3 0 0 14.3 0 32zm352.2 96H13.6c12.2 35.9 32.3 68.7 58.8 96H412l-47.2-62.9c-7.3-9.7-11.6-21.2-12.6-33.1zm-226 138.2l116.4 68.5c8.2 4.8 15.8 10.7 22.5 17.3H445c2-9.8 3-19.9 3-30.1c0-23-5.3-45.5-15.3-65.9H110.2c5.2 3.6 10.5 7 16 10.2zM288 384c10.3 21.4 13.8 45.5 9.9 69l-5.9 35.7c-2 12.2 7.4 23.4 19.8 23.4c5.3 0 10.4-2.1 14.2-5.9l78.2-78.2c12.8-12.8 23.1-27.7 30.4-43.9H288z\", \"M13.6 128C10.1 117.6 7.2 106.9 5 96H357.8c-3.8 8.3-5.8 17.3-5.8 26.6c0 1.8 .1 3.6 .2 5.4H13.6zm96.6 128c-13.7-9.5-26.3-20.2-37.8-32H412l6 8c5.7 7.5 10.6 15.6 14.7 24H110.2zM288 384c-.2-.5-.5-1-.7-1.5c-5.7-11.4-13.2-21.7-22.1-30.5H445c-2.3 11-5.8 21.8-10.4 32H288z\"]]\n};\nvar faFileCirclePlus = {\n prefix: 'fad',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384v38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zm48 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faDeleteRight = {\n prefix: 'fad',\n iconName: 'delete-right',\n icon: [576, 512, [], \"e154\", [\"M0 128C0 92.7 28.7 64 64 64H370.7c17 0 33.3 6.7 45.3 18.7L566.6 233.4c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6L416 429.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V128zm143 47c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\", \"M177 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faBookQuran = {\n prefix: 'fad',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", [\"M384 416c0-17.7-14.3-32-32-32H32v64H352c17.7 0 32-14.3 32-32z\", \"M448 96c0-53-43-96-96-96H64 32C14.3 0 0 14.3 0 32V352c0 17.7 14.3 32 32 32H96h96H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H192 96 32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64 352c53 0 96-43 96-96V96zM274.1 150.2c2.2-5.3 9.6-5.3 11.8 0l8.9 21.4 23.1 1.9c5.7 .5 8 7.5 3.7 11.2L304 199.8l5.4 22.6c1.3 5.5-4.7 9.9-9.6 6.9L280 217.2l-19.8 12.1c-4.9 3-10.9-1.4-9.6-6.9l5.4-22.6-17.6-15.1c-4.3-3.7-2-10.8 3.7-11.2l23.1-1.9 8.9-21.4zM96 192c0-70.7 57.3-128 128-128c25.6 0 49.5 7.5 69.5 20.5c3.2 2.1 4.5 6.2 3.1 9.7s-5.2 5.6-9 4.8c-6.1-1.2-12.5-1.9-19-1.9c-52.4 0-94.9 42.5-94.9 94.9s42.5 94.9 94.9 94.9c6.5 0 12.8-.7 19-1.9c3.8-.8 7.5 1.3 9 4.8s.2 7.6-3.1 9.7c-20 13-43.9 20.5-69.5 20.5c-70.7 0-128-57.3-128-128z\"]]\n};\nvar faQuran = faBookQuran;\nvar faCircleQuarter = {\n prefix: 'fad',\n iconName: 'circle-quarter',\n icon: [512, 512, [], \"e11f\", [\"M256 0C397.4 0 512 114.6 512 256s-114.6 256-256 256S0 397.4 0 256H256V0z\", \"M0 256C0 114.6 114.6 0 256 0V256H0z\"]]\n};\nvar faAnchor = {\n prefix: 'fad',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", [\"M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-53 0-96 43-96 96c0 33.4 17 62.8 42.9 80H224c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H341.1C367 158.8 384 129.4 384 96c0-53-43-96-96-96z\", \"M256 448V240h64V448h48c53 0 96-43 96-96v-6.1l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56-56c9.4-9.4 24.6-9.4 33.9 0l56 56c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7V352c0 88.4-71.6 160-160 160H288 208c-88.4 0-160-71.6-160-160v-6.1l-7 7c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l56-56c9.4-9.4 24.6-9.4 33.9 0l56 56c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7V352c0 53 43 96 96 96h48z\"]]\n};\nvar faBorderAll = {\n prefix: 'fad',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", [\"M192 288V432h64V288H400V224H256V80H192V224H48v64H192z\", \"M384 96V416H64L64 96H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faFunction = {\n prefix: 'fad',\n iconName: 'function',\n icon: [640, 512, [], \"f661\", [\"M330.7 177.7C303.7 218.4 288 267.3 288 320s15.7 101.6 42.7 142.3c9.8 14.7 5.7 34.6-9 44.3s-34.6 5.7-44.3-9C243.6 446.7 224 385.6 224 320s19.6-126.7 53.3-177.7c9.8-14.7 29.6-18.8 44.3-9s18.8 29.6 9 44.3zm202.6 0c-9.8-14.7-5.7-34.6 9-44.3s34.6-5.7 44.3 9C620.4 193.3 640 254.4 640 320s-19.6 126.7-53.3 177.7c-9.8 14.7-29.6 18.8-44.3 9s-18.8-29.6-9-44.3c27-40.7 42.7-89.6 42.7-142.3s-15.7-101.6-42.7-142.3z\", \"M160 0C107 0 64 43 64 96v96H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H64V383.5c0 16.1-12 29.8-28 31.8l-7.9 1C10.5 418.4-1.9 434.4 .3 452s18.2 30 35.7 27.8l7.9-1c48-6 84.1-46.8 84.1-95.3V256h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H128V96c0-17.7 14.3-32 32-32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zM398.6 241.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L386.7 320l-33.4 33.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L432 365.3l33.4 33.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L477.3 320l33.4-33.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L432 274.7l-33.4-33.4z\"]]\n};\nvar faFaceAngry = {\n prefix: 'fad',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM338.7 395.9c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M133.1 176.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32zm256 30.4c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1z\"]]\n};\nvar faAngry = faFaceAngry;\nvar faPeopleSimple = {\n prefix: 'fad',\n iconName: 'people-simple',\n icon: [512, 512, [], \"e21b\", [\"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm256 0A64 64 0 1 0 384 0a64 64 0 1 0 0 128z\", \"M25.9 233.4C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3zm280.9-26.9c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448v80c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V384H298.4c-21.3 0-36.6-20.3-30.8-40.8l39.1-136.8z\"]]\n};\nvar faCookieBite = {\n prefix: 'fad',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", [\"M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176 176a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faArrowTrendDown = {\n prefix: 'fad',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", [\"M466.7 352L320 205.3 214.6 310.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 242.7 297.4 137.4c12.5-12.5 32.8-12.5 45.3 0L512 306.7V352H466.7z\", \"M352 384c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32s-32 14.3-32 32V352H384c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faRss = {\n prefix: 'fad',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", [\"M32 32C14.3 32 0 46.3 0 64S14.3 96 32 96c194.4 0 352 157.6 352 352c0 17.7 14.3 32 32 32s32-14.3 32-32C448 218.2 261.8 32 32 32zm0 128c-17.7 0-32 14.3-32 32s14.3 32 32 32c123.7 0 224 100.3 224 224c0 17.7 14.3 32 32 32s32-14.3 32-32c0-159.1-128.9-288-288-288z\", \"M0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416z\"]]\n};\nvar faFeed = faRss;\nvar faFaceMonocle = {\n prefix: 'fad',\n iconName: 'face-monocle',\n icon: [512, 512, [], \"e380\", [\"M427.2 446.3C381.9 487.2 321.8 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 62.8-22.6 120.3-60.1 164.9c-2.5-8.6-3.9-17.7-3.9-26.9V224c0-61.9-50.1-112-112-112s-112 50.1-112 112s50.1 112 112 112c31.3 0 59.7-12.9 80-33.6v91.5c0 18.4 3.9 36.2 11.2 52.4zM176.4 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM144 352c0 8.8 7.2 16 16 16c14.3 0 37.9 2.9 60.6 11.7c22.8 8.8 42.7 22.7 53.1 43.4c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5c-15.3-30.5-43.3-48.6-70.1-59C205.3 339.5 177.7 336 160 336c-8.8 0-16 7.2-16 16zM305.2 89.9c8-6.4 18-9.9 28.2-9.9c8.9 0 17.6 2.6 25.1 7.6l8.6 5.7c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2L376.3 61c-12.7-8.5-27.6-13-42.8-13c-17.5 0-34.5 6-48.2 16.9L262 83.5c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l23.2-18.6z\", \"M305.2 89.9L282 108.5c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5l23.2-18.6C298.9 54 315.9 48 333.5 48c15.2 0 30.1 4.5 42.8 13l8.6 5.7c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4l-8.6-5.7c-7.4-5-16.2-7.6-25.1-7.6c-10.3 0-20.2 3.5-28.2 9.9zM416 224a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm0 169.9V302.4c-20.3 20.7-48.7 33.6-80 33.6c-61.9 0-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112V393.9c0 33.1 17.1 63.9 45.1 81.4l11.4 7.1c7.5 4.7 9.8 14.6 5.1 22s-14.6 9.8-22 5.1l-11.4-7.1C438.7 479.1 416 438.1 416 393.9zM112.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm176 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]]\n};\nvar faDrawPolygon = {\n prefix: 'fad',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", [\"M128 96c0 11.7-3.1 22.6-8.6 32H328.6c-5.4-9.4-8.6-20.3-8.6-32s3.1-22.6 8.6-32H119.4c5.4 9.4 8.6 20.3 8.6 32zM96 360.6V151.4c-9.4 5.4-20.3 8.6-32 8.6s-22.6-3.1-32-8.6V360.6c9.4-5.4 20.3-8.6 32-8.6s22.6 3.1 32 8.6zM119.4 448H328.6c-5.4-9.4-8.6-20.3-8.6-32s3.1-22.6 8.6-32H119.4c5.4 9.4 8.6 20.3 8.6 32s-3.1 22.6-8.6 32zM384 352l.3 0-4.5-7.9-32-56-2.3-4c-9.8 20.1-29.8 34.2-53.3 35.7l0 0 32 56 4.5 7.9c11.1-19 31.7-31.7 55.3-31.7zM292.2 192.1c23.5 1.5 43.5 15.7 53.3 35.7l2.3-4 32-56 4.5-7.9-.3 0c-23.6 0-44.2-12.8-55.3-31.7l-4.5 7.9-32 56 0 0z\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zm320 0a64 64 0 1 1 128 0A64 64 0 1 1 320 96zM64 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM288 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]]\n};\nvar faScaleBalanced = {\n prefix: 'fad',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", [\"M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32z\", \"M126.8 195.8L199.3 320H54.4l72.4-124.2zM.9 337.1C11.7 382 64 416 126.8 416s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L150.9 141.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L7.6 305.1c-5.7 9.8-9.3 21.1-6.7 32.1zM512 195.8L584.4 320H439.6L512 195.8zM386 337.1C396.8 382 449.1 416 512 416s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 141.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 305.1c-5.7 9.8-9.3 21.1-6.7 32.1z\"]]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faCalendarLines = {\n prefix: 'fad',\n iconName: 'calendar-lines',\n icon: [448, 512, [\"calendar-note\"], \"e0d5\", [\"M0 192H448V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zM96 296c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm24 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\", \"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v80H0V112C0 85.5 21.5 64 48 64H96V32zm0 264c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]]\n};\nvar faCalendarNote = faCalendarLines;\nvar faArrowDownBigSmall = {\n prefix: 'fad',\n iconName: 'arrow-down-big-small',\n icon: [576, 512, [\"sort-size-down\"], \"f88c\", [\"M368 32c-26.5 0-48 21.5-48 48V208c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368zm0 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H368z\", \"M160 480c9 0 17.5-3.8 23.6-10.4l88-96c11.9-13 11.1-33.3-2-45.2s-33.3-11.1-45.2 2L192 365.7V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V365.7L95.6 330.4c-11.9-13-32.2-13.9-45.2-2s-13.9 32.2-2 45.2l88 96C142.5 476.2 151 480 160 480z\"]]\n};\nvar faSortSizeDown = faArrowDownBigSmall;\nvar faGaugeSimpleHigh = {\n prefix: 'fad',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm192 96c0-35.3 28.7-64 64-64c2.1 0 4.1 .1 6.1 .3l76.6-147.4c6.1-11.8 20.6-16.3 32.4-10.2s16.3 20.6 10.2 32.4L304.7 310.4c9.6 11.2 15.3 25.7 15.3 41.6c0 35.3-28.7 64-64 64s-64-28.7-64-64z\", \"M338.7 140.9c6.1-11.8 20.6-16.3 32.4-10.2s16.3 20.6 10.2 32.4L304.7 310.4c9.6 11.2 15.3 25.7 15.3 41.6c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c2.1 0 4.1 .1 6.1 .3l76.6-147.4z\"]]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faDoNotEnter = {\n prefix: 'fad',\n iconName: 'do-not-enter',\n icon: [512, 512, [], \"f5ec\", [\"M80 224c0-8.8 7.2-16 16-16H416c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V224z\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96 208H416c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16z\"]]\n};\nvar faShower = {\n prefix: 'fad',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", [\"M384 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-64 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-32 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M99.9 96C80.1 96 64 112.1 64 131.9V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V131.9C0 76.7 44.7 32 99.9 32c26.5 0 51.9 10.5 70.6 29.3l16.2 16.2c38.9-21 87.5-17.4 123 10.9L311 87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L185 281c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l1.3-1.3c-28.3-35.5-31.9-84.2-10.9-123l-16.2-16.2C118.5 99.8 109.4 96 99.9 96z\"]]\n};\nvar faDiceD8 = {\n prefix: 'fad',\n iconName: 'dice-d8',\n icon: [512, 512, [], \"f6d2\", [\"M230 1.2C236 3.6 240 9.5 240 16V312c0 5.3-2.6 10.2-6.9 13.2s-9.9 3.6-14.8 1.7l-208-80c-5-1.9-8.7-6.2-9.9-11.5s.4-10.7 4.1-14.6l208-216C217 .2 223.9-1.3 230 1.2zm52 0c6.1-2.4 13-1 17.5 3.7l208 216c3.7 3.9 5.3 9.3 4.1 14.6s-4.9 9.5-9.9 11.5l-208 80c-4.9 1.9-10.5 1.2-14.8-1.7s-6.9-7.9-6.9-13.2V16c0-6.5 4-12.4 10-14.8z\", \"M34.6 307.5c-4.1 6.3-3.3 14.6 1.9 20l176 179.7c4.5 4.6 11.5 6.1 17.5 3.6s10-8.3 10-14.8V384c0-6.6-4.1-12.6-10.3-14.9l-176-67.7c-7-2.7-15-.1-19.1 6.1zm442.7 0c-4.1-6.3-12.1-8.8-19.1-6.1l-176 67.7c-6.2 2.4-10.3 8.3-10.3 14.9V496c0 6.5 3.9 12.4 10 14.8s12.9 1 17.5-3.6l176-179.7c5.3-5.4 6.1-13.7 1.9-20z\"]]\n};\nvar faDesktop = {\n prefix: 'fad',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", [\"M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V288H64V64H512z\", \"M512 64H64V288H512V64zM416 448H346.7L336 416H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32z\"]]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'fad',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", [\"M22.7 33.4c13.5-4.1 28.1 1.1 35.9 12.9L224 294.3 389.4 46.3c7.8-11.7 22.4-17 35.9-12.9S448 49.9 448 64V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V169.7L250.6 369.8c-5.9 8.9-15.9 14.2-26.6 14.2s-20.7-5.3-26.6-14.2L64 169.7V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 49.9 9.2 37.5 22.7 33.4z\", \"\"]]\n};\nvar faGripDotsVertical = {\n prefix: 'fad',\n iconName: 'grip-dots-vertical',\n icon: [256, 512, [], \"e411\", [\"M160 96a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm0 160a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 112a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\", \"M0 96a48 48 0 1 1 96 0A48 48 0 1 1 0 96zM0 256a48 48 0 1 1 96 0A48 48 0 1 1 0 256zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]]\n};\nvar faFaceViewfinder = {\n prefix: 'fad',\n iconName: 'face-viewfinder',\n icon: [512, 512, [], \"e2ff\", [\"M0 56C0 25.1 25.1 0 56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56zM352 24c0-13.3 10.7-24 24-24h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-4.4-3.6-8-8-8H376c-13.3 0-24-10.7-24-24zM24 352c13.3 0 24 10.7 24 24v80c0 4.4 3.6 8 8 8h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24zm464 0c13.3 0 24 10.7 24 24v80c0 30.9-25.1 56-56 56H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24z\", \"M256 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM200 192a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm88 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-95.5 76.9C208.5 309.6 231 320 256 320s47.5-10.4 63.5-27.1c6.1-6.4 16.2-6.6 22.6-.5s6.6 16.2 .5 22.6C320.8 337.8 290 352 256 352s-64.8-14.2-86.6-36.9c-6.1-6.4-5.9-16.5 .5-22.6s16.5-5.9 22.6 .5z\"]]\n};\nvar faSoftServe = {\n prefix: 'fad',\n iconName: 'soft-serve',\n icon: [384, 512, [127846, \"creemee\"], \"e400\", [\"M310.6 161.5c6-9.7 9.4-21.2 9.4-33.5C320 57.3 262.7 0 192 0l6.1 6.1c6.4 6.4 9.9 15 9.9 24C208 48.8 192.8 64 174.1 64H128c-35.3 0-64 28.7-64 64c0 12.3 3.5 23.7 9.4 33.5C40.7 168.2 16 197.2 16 232c0 39.8 32.2 72 72 72H296c39.8 0 72-32.2 72-72c0-34.8-24.7-63.8-57.4-70.5z\", \"M80 304c-17.7 0-32 14.3-32 32v16c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5H259.4c16.3 0 30-12.3 31.8-28.5L302.2 384H304c17.7 0 32-14.3 32-32V336c0-17.7-14.3-32-32-32H80z\"]]\n};\nvar faCreemee = faSoftServe;\nvar faH5 = {\n prefix: 'fad',\n iconName: 'h5',\n icon: [640, 512, [], \"e412\", [\"M32 64c17.7 0 32 14.3 32 32V224H256V96c0-17.7 14.3-32 32-32s32 14.3 32 32V256 416c0 17.7-14.3 32-32 32s-32-14.3-32-32V288H64V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V256 96C0 78.3 14.3 64 32 64z\", \"M400.7 89.4C403.8 74.6 416.9 64 432 64H576c17.7 0 32 14.3 32 32s-14.3 32-32 32H458l-18.5 88H524c64.1 0 116 51.9 116 116s-51.9 116-116 116H456.4c-37.9 0-71.5-24.2-83.5-60.2l-3.2-9.7c-5.6-16.8 3.5-34.9 20.2-40.5s34.9 3.5 40.5 20.2l3.2 9.7c3.3 9.8 12.4 16.4 22.8 16.4H524c28.7 0 52-23.3 52-52s-23.3-52-52-52H400c-9.6 0-18.8-4.3-24.8-11.8s-8.5-17.3-6.5-26.8l32-152z\"]]\n};\nvar faHandBackPointDown = {\n prefix: 'fad',\n iconName: 'hand-back-point-down',\n icon: [448, 512, [], \"e19e\", [\"M136 512c-22.1 0-40-17.9-40-40V272v-7V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v55.7c-2-1.4-3.9-3-5.8-4.5L39 227.2C24.4 215 16 197 16 178V140c0-38 16.9-74 46.1-98.3l5.4-4.5C96.3 13.1 132.5 0 169.9 0H288c70.7 0 128 57.3 128 128v64 32c0 26.5-21.5 48-48 48c-12.4 0-23.6-4.7-32.1-12.3C334 284.5 313.3 304 288 304c-12.4 0-23.6-4.7-32.1-12.3C254 316.5 233.3 336 208 336c-12.3 0-23.5-4.6-32-12.2V472c0 22.1-17.9 40-40 40z\", \"\"]]\n};\nvar faTableList = {\n prefix: 'fad',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", [\"M128 160V96h64v64H448v64H192v64H448v64H192v64H128V352H64V288h64V224H64V160h64z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM448 96V416H64V96H448z\"]]\n};\nvar faThList = faTableList;\nvar faCommentSms = {\n prefix: 'fad',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM202.9 176.8c6.5-2.2 13.7 .1 17.9 5.6L256 229.3l35.2-46.9c4.1-5.5 11.3-7.8 17.9-5.6s10.9 8.3 10.9 15.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V240l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L224 240v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-6.9 4.4-13 10.9-15.2zm173.1 38c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.2-.4-23.7-4.4-32.6-7.4l0 0 0 0c-1.4-.5-2.7-.9-4-1.4c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.7 .6 3.3 1.1 4.9 1.6l0 0 0 0c9.1 3.1 15.6 5.3 22.6 5.5c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4c-7.2-2.2-16.7-5-24.3-9.6c-9-5.4-17.7-14.7-17.7-29.4c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c10 .2 19.7 2.3 27.9 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.3-1.9-14.1-3.3-20.1-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9zm-272 0c0 .2 0 .4 0 .4c.1 .1 .6 .8 2.2 1.7c3.9 2.3 9.6 4.1 18.3 6.8l.6 .2c7.4 2.2 17.3 5.2 25.2 10.2c9.1 5.7 17.4 15.2 17.6 29.9c.2 15-7.6 26-17.8 32.3c-9.5 5.9-20.9 7.9-30.7 7.6c-12.3-.4-24.2-4.5-33.2-7.6l0 0 0 0c-1.3-.4-2.5-.8-3.6-1.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c1.4 .5 2.8 .9 4.1 1.4l0 0 0 0c9.5 3.2 16.5 5.6 23.7 5.8c5.3 .2 10-1 12.8-2.8c1.2-.8 1.8-1.5 2.1-2c.2-.4 .6-1.2 .6-2.7l0-.2c0-.7 0-1.4-2.7-3.1c-3.8-2.4-9.6-4.3-18-6.9l-1.2-.4 0 0c-7.2-2.2-16.7-5-24.3-9.6C80.8 239 72.1 229.7 72 215c-.1-15.2 8.6-25.7 18.5-31.6c9.4-5.5 20.5-7.5 29.7-7.4c9.5 .1 22.2 2.1 31.1 4.4c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-6.6-1.8-16.8-3.3-23.3-3.4c-4.9-.1-9.8 1.1-12.9 2.9c-1.4 .8-2.1 1.6-2.4 2c-.2 .3-.4 .8-.4 1.9z\", \"M220.8 182.4c-4.1-5.5-11.3-7.8-17.9-5.6S192 185.1 192 192v96c0 8.8 7.2 16 16 16s16-7.2 16-16V240l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 240v48c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 229.3l-35.2-46.9zM376.5 213c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.3 .4 2.6 .9 4 1.4l0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4c0-1.1 .2-1.6 .4-1.9zm-272 0c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 189.3 72 199.8 72 215c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4c0-1.1 .2-1.6 .4-1.9z\"]]\n};\nvar faSms = faCommentSms;\nvar faRectangle = {\n prefix: 'fad',\n iconName: 'rectangle',\n icon: [512, 512, [9644, \"rectangle-landscape\"], \"f2fa\", [\"M0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\", \"\"]]\n};\nvar faRectangleLandscape = faRectangle;\nvar faClipboardListCheck = {\n prefix: 'fad',\n iconName: 'clipboard-list-check',\n icon: [384, 512, [], \"f737\", [\"M113.2 66.3c.1-.8 .3-1.6 .4-2.3H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H270.4c.2 .8 .3 1.6 .4 2.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zm74.2 162.3c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L112 281.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0zM192 304c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm112 80c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16H304zM72 400a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\", \"M113.2 66.3C119.6 28.7 152.5 0 192 0s72.4 28.7 78.8 66.3C290.1 72.6 304 90.7 304 112v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112c0-21.3 13.9-39.4 33.2-45.7zM216 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM187.3 228.7c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L112 281.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0zM72 400a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]]\n};\nvar faTurkey = {\n prefix: 'fad',\n iconName: 'turkey',\n icon: [640, 512, [], \"f725\", [\"M472 56c0 22.1-1.2 49.3-19.3 62l-31.6 22.3C375.9 112.2 327.9 96 288 96C176 96 0 224 0 384C0 512 160 512 288 512s288 0 288-128c0-63-27.3-121.1-67.3-168.3c-.4 .2-.7 .4-1 .6l-28.3 20c-8.3 5.9-15.1 15-21.2 28.3c-6.1 13.4-10.5 28.6-15.4 46l-.3 1c-7.9 27.5-24 53-47.9 72.3c-61.8 50-152.5 40.5-202.5-21.4c-13.9-17.2-23.2-36.6-28.1-56.7c-2.3-9.4 5.3-17.9 15-17.9c8.1 0 14.8 6 17 13.8c4 14.4 10.9 28.3 20.9 40.7c19.5 24 46.8 37.9 75.3 40.9c24.1 2.5 49-2.7 70.6-16.1c4-2.5 7.9-5.2 11.6-8.2c18.6-15 31.1-34.8 37.2-56.2c.2-.7 .4-1.3 .6-2c9.6-33.7 20.1-70.5 48.7-90.6L486.7 192l2.5-1.8c18.3-12.9 43.3-10.4 67.4-8c9.4 .9 18.6 1.8 27.3 1.8c30.9 0 56-25.1 56-56s-25.1-56-56-56c-1.1 0-2-1.1-1.7-2.2c1.1-4.4 1.7-9 1.7-13.8c0-30.9-25.1-56-56-56s-56 25.1-56 56z\", \"M486.7 192l-25.8 18.2c-28.6 20.2-39 56.9-48.7 90.6l-.6 2c-6.1 21.4-18.6 41.2-37.2 56.2c-48.1 38.9-118.6 31.5-157.5-16.6c-10-12.4-17-26.2-20.9-40.7c-2.1-7.8-8.9-13.8-17-13.8c-9.7 0-17.3 8.5-15 17.9c4.9 20.1 14.2 39.5 28.1 56.7c50 61.8 140.7 71.4 202.5 21.4c23.9-19.3 40-44.8 47.9-72.3l.3-1c5-17.4 9.3-32.6 15.4-46c6.1-13.3 12.9-22.5 21.2-28.3l28.3-20c.3-.2 .6-.4 1-.6c-7-8.2-14.3-16.2-22-23.7z\"]]\n};\nvar faBook = {\n prefix: 'fad',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M0 96C0 43 43 0 96 0H384h32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H352 256 96c-17.7 0-32 14.3-32 32s14.3 32 32 32H256h96 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H384 96c-53 0-96-43-96-96V96zm144 32c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm-16 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16z\"]]\n};\nvar faUserPlus = {\n prefix: 'fad',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", [\"M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\", \"M504 248v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552V136c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H440c-13.3 0-24 10.7-24 24s10.7 24 24 24h64z\"]]\n};\nvar faIceSkate = {\n prefix: 'fad',\n iconName: 'ice-skate',\n icon: [576, 512, [9976], \"f7ac\", [\"M24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24V464zm552-32c0-13.3-10.7-24-24-24s-24 10.7-24 24h48zm0 8v-8H528v8h48zM24 512h96V464H24v48zM96 384V488h48V384H96zm24 128H408V464H120v48zm288 0h96V464H408v48zm24-24V384H384V488h48zm96-48c0 13.3-10.7 24-24 24v48c39.8 0 72-32.2 72-72H528z\", \"M32 336c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V315c0-44.1-30-82.4-72.7-93.1L320 192H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V128H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V32c0-17.7-14.3-32-32-32s-32 14.3-32 32L66.8 86.1C46.2 91.9 32 110.8 32 132.2V336z\"]]\n};\nvar faCheck = {\n prefix: 'fad',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", [\"\", \"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fad',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", [\"M80 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\", \"M96 192H352V320H96z\"]]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faTomato = {\n prefix: 'fad',\n iconName: 'tomato',\n icon: [512, 512, [], \"e330\", [\"M146.1 144H112c-6 0-11.4-3.4-14.1-8.5C38.3 170.7 0 228.4 0 304C0 434.9 114.6 512 256 512s256-77.1 256-208c0-75.5-38.1-133-97.5-168.3c-2.8 5-8.1 8.3-14 8.3H365.9l15.4 23.1c3.9 5.9 3.5 13.7-1 19.1s-12.1 7.3-18.6 4.5L256 145.4 150.3 190.7c-6.5 2.8-14.1 1-18.6-4.5s-4.9-13.2-1-19.1L146.1 144z\", \"M252.6 11.7C245.8 .3 231-3.4 219.7 3.4s-15.1 21.6-8.2 32.9l10.3 17.2c5 8.4 8.3 17.6 9.6 27.2c-46.3 3-89.6 14.3-126.5 32.9c-6.6 3.3-10.1 10.8-8.4 18s8.2 12.3 15.6 12.3h34.1l-15.4 23.1c-3.9 5.9-3.5 13.7 1 19.1s12.1 7.3 18.6 4.5L256 145.4l105.7 45.3c6.5 2.8 14.1 1 18.6-4.5s4.9-13.2 1-19.1L365.9 144h34.6c7.4 0 13.8-5.1 15.6-12.3s-1.7-14.6-8.3-18c-37.5-19-81.3-30.2-128.2-33c-1.5-18.3-7.2-36-16.7-51.8L252.6 11.7z\"]]\n};\nvar faSwordLaser = {\n prefix: 'fad',\n iconName: 'sword-laser',\n icon: [512, 512, [], \"e03b\", [\"M505.7 40.2c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L207.1 248.5l56.4 56.4L505.7 40.2z\", \"M172.7 236.7c-6.1 6.1-6.2 15.8-.5 22.1l81 81c6.3 5.8 16 5.6 22.1-.5c6.2-6.2 6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0zm-11.3 33.9l-23.7 23.7 80 80 23.7-23.7-80-80zm45 115l-80-80-20.7 20.7 80 80 20.7-20.7zM181.7 425L87 330.3l-2.3 2.3L10.3 407C3.7 413.7 0 422.6 0 432s3.7 18.3 10.3 25L55 501.7c6.6 6.6 15.6 10.3 25 10.3s18.3-3.7 25-10.3l74.3-74.3 2.3-2.3z\"]]\n};\nvar faHouseCircleCheck = {\n prefix: 'fad',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", [\"M496 192c-91.8 0-167.2 70.3-175.3 160l-.7 0H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L522.1 193.9c-8.5-1.3-17.3-1.9-26.1-1.9z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faBuildings = {\n prefix: 'fad',\n iconName: 'buildings',\n icon: [512, 512, [], \"e0cc\", [\"M256 0c-35.3 0-64 28.7-64 64v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256 448c35.3 0 64-28.7 64-64V192 64c0-35.3-28.7-64-64-64H256zM64 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V304zm208 16c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272zm112-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 192h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM256 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V80zM400 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM256 208V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm144 16c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400z\", \"M256 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V80zM80 192h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM272 320c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272zM80 288h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zm304 16V272c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM400 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM256 208V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm144 16c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400z\"]]\n};\nvar faAngleLeft = {\n prefix: 'fad',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", [\"M41.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256 246.6 393.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-160-160z\", \"\"]]\n};\nvar faCartFlatbedBoxes = {\n prefix: 'fad',\n iconName: 'cart-flatbed-boxes',\n icon: [640, 512, [\"dolly-flatbed-alt\"], \"f475\", [\"M224 32c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224zm224 0c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H448zM416 224v64c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32zM160 464c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H162.7c-1.8 5-2.7 10.4-2.7 16zm288 0c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16z\", \"M0 32C0 14.3 14.3 0 32 0H48c44.2 0 80 35.8 80 80V368c0 8.8 7.2 16 16 16H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H144c-44.2 0-80-35.8-80-80V80c0-8.8-7.2-16-16-16H32C14.3 64 0 49.7 0 32z\"]]\n};\nvar faDollyFlatbedAlt = faCartFlatbedBoxes;\nvar faDiagramSuccessor = {\n prefix: 'fad',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", [\"M224 224c35.3 0 64-28.7 64-64V96l80 0c8.8 0 16 7.2 16 16v16H345.9c-21.4 0-32.1 25.9-17 41L399 239c9.4 9.4 24.6 9.4 33.9 0L503 169c15.1-15.1 4.4-41-17-41H448V112c0-44.2-35.8-80-80-80H224 208 64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64l160 0z\", \"M448 480c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0z\"]]\n};\nvar faTruckArrowRight = {\n prefix: 'fad',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", [\"M223 79c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H96c-13.3 0-24-10.7-24-24s10.7-24 24-24H262.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9zM96 432a80 80 0 1 1 160 0A80 80 0 1 1 96 432zm368-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M0 48C0 21.5 21.5 0 48 0H368c26.5 0 48 21.5 48 48V96h50.7c17 0 33.3 6.7 45.3 18.7L589.3 192c12 12 18.7 28.3 18.7 45.3V256v32 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H576h-1.1c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H286.9c-7.8-54.3-54.4-96-110.9-96s-103.1 41.7-110.9 96H48c-26.5 0-48-21.5-48-48V48zM416 256H544V237.3L466.7 160H416v96zM257 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H262.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9L257 79z\"]]\n};\nvar faSquareW = {\n prefix: 'fad',\n iconName: 'square-w',\n icon: [448, 512, [], \"e285\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm54.9 136.7L160 297.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L288 297.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L224 254.7 182.9 383.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2s26.1 2.9 30.2 15.5z\", \"M88.7 153.1c12.6-4 26.1 2.9 30.2 15.5L160 297.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L288 297.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L224 254.7 182.9 383.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2z\"]]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'fad',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", [\"M246.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L352 109.3V384c0-47.4-25.7-88.7-64-110.9V109.3l-41.4 41.4z\", \"M2.4 275.8c1.6-3.8 3.9-7.3 6.9-10.4l96-96c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L109.3 256 224 256c70.7 0 128 57.3 128 128c0 35.3 28.7 64 64 64l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-70.7 0-128-57.3-128-128c0-35.3-28.7-64-64-64l-114.7 0 41.4 41.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-96-96s0 0 0 0c0 0 0 0-.1-.1C3.6 304.8 0 296.9 0 288.1c0-.1 0-.1 0-.2c0-4.1 .8-8.3 2.4-12.2zM0 288.1c0 0 0-.1 0-.1s0-.1 0-.1c0-4.3 .9-8.4 2.4-12.2\"]]\n};\nvar faLamp = {\n prefix: 'fad',\n iconName: 'lamp',\n icon: [448, 512, [], \"f4ca\", [\"M288 256H160v48s-64 66.5-64 128c0 24.4 8.3 44.6 16.4 58.7c8.5 14.7 25.2 21.3 42.1 21.3h139c17 0 33.6-6.6 42.1-21.3c8.1-14 16.4-34.3 16.4-58.7c0-61.5-64-128-64-128V256z\", \"M112 0C99.1 0 87.4 7.8 82.5 19.7l-80 192c-4.1 9.9-3 21.2 2.9 30.1S21.3 256 32 256H416c10.7 0 20.7-5.3 26.6-14.2s7-20.2 2.9-30.1l-80-192C360.6 7.8 348.9 0 336 0H112z\"]]\n};\nvar faAirplay = {\n prefix: 'fad',\n iconName: 'airplay',\n icon: [576, 512, [], \"e089\", [\"M96 96H480c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H410.5l50.7 50.7c4 4 7.4 8.5 10.2 13.3H480c53 0 96-43 96-96V128c0-53-43-96-96-96H96C43 32 0 75 0 128V320c0 53 43 96 96 96h8.6c2.8-4.8 6.2-9.2 10.2-13.3L165.5 352H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\", \"M310.6 297.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8H416c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z\"]]\n};\nvar faHandFist = {\n prefix: 'fad',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", [\"M256 215.4c0 .2 0 .4 0 .6c0 39.8-32.2 72-72 72H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h56c22.1 0 40-17.9 40-40s-17.9-40-40-40H96c-35.3 0-64 28.7-64 64v27c0 33.9 13.5 66.5 37.5 90.5l11.6 11.6c13.7 13.7 29.6 24.6 46.9 32.5V480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V384c38.9-29.2 64-75.7 64-128v-8.6c-9.4 5.4-20.3 8.6-32 8.6c-27.9 0-51.7-17.9-60.4-42.8C313.4 220 301.2 224 288 224c-11.7 0-22.6-3.1-32-8.6z\", \"M160 32V144h64V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM96 32C78.3 32 64 46.3 64 64v80h64V64c0-17.7-14.3-32-32-32zm192 0c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32zm96 64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32s32-14.3 32-32V128c0-17.7-14.3-32-32-32z\"]]\n};\nvar faFistRaised = faHandFist;\nvar faShieldQuartered = {\n prefix: 'fad',\n iconName: 'shield-quartered',\n icon: [512, 512, [], \"e575\", [\"M256.7 0L256 0c-4.6 0-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.1 24 2.6 52.9 8.7 84H256V0h.7zM488 224H256.7V509.1c9 0 18.1-2 26.4-6C413.7 440.7 468.8 321.3 488 224z\", \"M256.4 0l.3 0c4.6 0 9.2 1 13.4 2.9L458.4 82.8c22 9.3 38.4 31 38.3 57.2c-.1 24-2.6 52.9-8.7 84H256.7V0H256l0 0h-.7l.7 0 .3 0zM229.6 503.2C99 440.7 44 321.3 24.7 224H256V509.1c-9 0-18.1-2-26.4-6z\"]]\n};\nvar faSlashForward = {\n prefix: 'fad',\n iconName: 'slash-forward',\n icon: [320, 512, [], \"2f\", [\"M303.9 4.2c15.3 8.8 20.7 28.3 11.9 43.7l-256 448c-8.8 15.3-28.3 20.7-43.7 11.9S-4.6 479.5 4.2 464.1l256-448C269 .8 288.5-4.6 303.9 4.2z\", \"\"]]\n};\nvar faLocationPen = {\n prefix: 'fad',\n iconName: 'location-pen',\n icon: [384, 512, [\"map-marker-edit\"], \"f607\", [\"M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM276.8 107c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L208.6 122 223.5 107c14.7-14.7 38.6-14.7 53.3 0zM114.1 216.5L186 144.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.7c1.4-5.6 4.3-10.8 8.4-14.9z\", \"M223.5 107L208.6 122l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3c-14.7-14.7-38.6-14.7-53.3 0zM186 144.6l-71.9 71.9c-4.1 4.1-7 9.2-8.4 14.9L96.5 268c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L186 144.6z\"]]\n};\nvar faMapMarkerEdit = faLocationPen;\nvar faCloudMoon = {\n prefix: 'fad',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", [\"M304 192.2C304 86.1 389.8 0 495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-3.5 0-7-.1-10.5-.3c-13.6-28.6-39-50.6-69.9-59.6c-5.7-55.6-52-99.1-108.8-100.4c-1.7-10.4-2.6-21-2.6-31.8z\", \"M383.9 511.9H96c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16h1.6c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]]\n};\nvar faPotFood = {\n prefix: 'fad',\n iconName: 'pot-food',\n icon: [640, 512, [127858], \"e43f\", [\"M112 24c0 26.5 10.5 38.7 25.9 56.1l.4 .4C154.8 99 176 122.9 176 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C85.2 93 64 69.1 64 24C64 10.7 74.7 0 88 0s24 10.7 24 24zm112 0c0 26.5 10.5 38.7 25.9 56.1l.4 .4C266.8 99 288 122.9 288 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C197.2 93 176 69.1 176 24c0-13.3 10.7-24 24-24s24 10.7 24 24zm208 88c61.9 0 112 50.1 112 112H320c0-61.9 50.1-112 112-112z\", \"M65.9 256c-.2-17.5 14-32 31.7-32H542.4c17.7 0 31.9 14.5 31.7 32H592c17.7 0 32 14.3 32 32s-14.3 32-32 32H562.3c-20.6 64-66.1 116.7-124.7 147.2l-1.2 9.7c-2.5 20-19.5 35-39.7 35H243.3c-20.2 0-37.2-15-39.7-35l-1.2-9.7C143.8 436.7 98.3 384 77.7 320H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H65.9z\"]]\n};\nvar faBriefcase = {\n prefix: 'fad',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", [\"M192 288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288z\", \"M384 96h80c25.6 0 48 22.4 48 48V288H0V144c0-25.6 22.4-48 48-48h80V56 48c0-25.6 22.4-48 48-48h8H328h8c25.6 0 48 22.4 48 48v8V96zm-48 0V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8V96H336z\"]]\n};\nvar faPersonFalling = {\n prefix: 'fad',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", [\"M64 80a48 48 0 1 1 96 0A48 48 0 1 1 64 80z\", \"M320 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 9.8c0 39-23.7 74-59.9 88.4C135.6 154.5 96 213 96 278.2V352c0 17.7 14.3 32 32 32s32-14.3 32-32l0-73.8c0-10 1.6-19.8 4.5-29L325.1 497.4c9.6 14.8 29.4 19.1 44.3 9.5s19.1-29.4 9.5-44.3L286.6 320H288l80 0 38.4 51.2c10.6 14.1 30.7 17 44.8 6.4s17-30.7 6.4-44.8l-43.2-57.6C405.3 263.1 391.1 256 376 256l-71.5 0-56.8-80.2-.2-.3c44.7-29 72.5-79 72.5-133.6l0-9.8z\"]]\n};\nvar faImagePortrait = {\n prefix: 'fad',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", [\"M384 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\", \"M192 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-43.4 32C110.7 288 80 318.7 80 356.6c0 15.1 12.3 27.4 27.4 27.4H276.6c15.1 0 27.4-12.3 27.4-27.4c0-37.9-30.7-68.6-68.6-68.6H148.6z\"]]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'fad',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c17.5 0 34.3 2.5 50.3 7.2v33c0 21.1 8.4 41.2 23.3 56.1l99.2 99.2c-5.4 7.5-14.2 12.5-24.2 12.5H29.7C13.3 512 0 498.7 0 482.3z\", \"M352 256c0-17.7 14.3-32 32-32h82.7c17 0 33.3 6.7 45.3 18.7L619.3 350.1c18.7 18.7 18.7 49.1 0 67.9l-73.4 73.4c-18.7 18.7-49.1 18.7-67.9 0L370.7 384c-12-12-18.7-28.3-18.7-45.3V256zm80 72a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faRug = {\n prefix: 'fad',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", [\"M80 64V448h80V64H80zm400 0V448h80V64H480zm-32 0H192V448H448V64z\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h8v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 80V424 336 256 176 88 64H56 24zm592 0H584 560V88v88 80 80 88 24h24 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V360h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V280h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V200h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V112h8c13.3 0 24-10.7 24-24s-10.7-24-24-24zM160 64V448h32V64H160zm320 0H448V448h32V64z\"]]\n};\nvar faPrintSlash = {\n prefix: 'fad',\n iconName: 'print-slash',\n icon: [640, 512, [], \"f686\", [\"M446.8 448l51 40.2C486.1 502.7 468.1 512 448 512H192c-35.3 0-64-28.7-64-64V384H96c-17.7 0-32-14.3-32-32V256c0-33.4 25.6-60.8 58.2-63.7L324.9 352H192v16 16 64H446.8zM544 384H522.2l-245-192H512c35.3 0 64 28.7 64 64v96c0 17.7-14.3 32-32 32zM192 64v61.2L128 75V64c0-35.3 28.7-64 64-64H418.7c17 0 33.3 6.7 45.3 18.7L493.3 48c12 12 18.7 28.3 18.7 45.3V160H448V93.3L418.7 64H192zM520 272a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faEarthEurope = {\n prefix: 'fad',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", [\"M192 210.3v-4.3c0-9 3.6-17.6 9.9-24l17.9-17.9c2.6-2.6 4.1-6.2 4.1-10c0-6.1 3.9-11.5 9.6-13.4l26.5-8.8c7.8-2.6 14.9-7 20.7-12.8l19.9-19.9c2.1-2.1 3.3-5 3.3-8c0-6.2-5.1-11.3-11.3-11.3h-1c-2.4 0-4.8 .7-6.8 2.1l-41.8 27.9c-2 1.3-4.4 2.1-6.8 2.1c-6.8 0-12.3-5.5-12.3-12.3V91.2c0-7 3.5-13.5 9.3-17.3l95.1-63.4C305.5 3.6 281.2 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c5.4 0 10.7-.2 16-.5V477.3c0-25-20.3-45.3-45.3-45.3c-12 0-23.5-4.8-32-13.3l-16-16c-12-12-18.7-28.3-18.7-45.3v-3.2c0-21.4 10.7-41.4 28.5-53.3l27.4-18.3c10.5-7 22.9-10.7 35.5-10.7h20.9c15.3 0 30.1 5.5 41.7 15.4l26.6 22.8c7.4 6.3 16.8 9.8 26.6 9.8c10.8 0 21.2 4.3 28.9 12l4 4c10.2 10.2 24.1 16 38.6 16h54.8c4.2-10.3 7.7-21 10.5-32H446.6c-14.5 0-28.4-5.8-38.6-16l-18.3-18.3C386 282 384 277.1 384 272s2-10 5.7-13.7l7.5-7.5c1.8-1.8 2.8-4.3 2.8-6.8s-1-5-2.8-6.8l-6.5-6.5c-4.2-4.2-10-6.6-16-6.6H363.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L360 200c5.1-5.1 12.1-8 19.3-8H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H370.6c-10.3 0-18.6 8.3-18.6 18.6c0 8-5.1 15.1-12.7 17.6l-21.2 7.1c-7.5 2.5-11 11-7.5 18l1.1 2.3c3.8 7.5-1.7 16.4-10.1 16.4c-3.6 0-6.9-1.7-9.1-4.5l-16.3-21.7c-2.7-3.6-6.9-5.7-11.4-5.7c-5.4 0-10.4 3.1-12.8 7.9l-4 8.1c-4.9 9.8-15.1 16-26.1 16c-16.4 0-29.9-13.3-29.9-29.7zm-4.7-87l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\", \"M192 210.3v-4.3c0-9 3.6-17.6 9.9-24l17.9-17.9c2.6-2.6 4.1-6.2 4.1-10c0-6.1 3.9-11.5 9.6-13.4l26.5-8.8c7.8-2.6 14.9-7 20.7-12.8l19.9-19.9c2.1-2.1 3.3-5 3.3-8c0-6.2-5.1-11.3-11.3-11.3h-1c-2.4 0-4.8 .7-6.8 2.1l-41.8 27.9c-2 1.3-4.4 2.1-6.8 2.1c-6.8 0-12.3-5.5-12.3-12.3V91.2c0-7 3.5-13.5 9.3-17.3l95.1-63.4C434.5 41.6 512 139.8 512 256c0 22.1-2.8 43.5-8.1 64H446.6c-14.5 0-28.4-5.8-38.6-16l-18.3-18.3C386 282 384 277.1 384 272s2-10 5.7-13.7l7.5-7.5c1.8-1.8 2.8-4.3 2.8-6.8s-1-5-2.8-6.8l-6.5-6.5c-4.2-4.2-10-6.6-16-6.6H363.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8L360 200c5.1-5.1 12.1-8 19.3-8H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H370.6c-10.3 0-18.6 8.3-18.6 18.6c0 8-5.1 15.1-12.7 17.6l-21.2 7.1c-7.5 2.5-11 11-7.5 18l1.1 2.3c3.8 7.5-1.7 16.4-10.1 16.4c-3.6 0-6.9-1.7-9.1-4.5l-16.3-21.7c-2.7-3.6-6.9-5.7-11.4-5.7c-5.4 0-10.4 3.1-12.8 7.9l-4 8.1c-4.9 9.8-15.1 16-26.1 16c-16.4 0-29.9-13.3-29.9-29.7zM493.4 352C457.3 441.1 372.5 505.3 272 511.5V477.3c0-25-20.3-45.3-45.3-45.3c-12 0-23.5-4.8-32-13.3l-16-16c-12-12-18.7-28.3-18.7-45.3v-3.2c0-21.4 10.7-41.4 28.5-53.2l27.4-18.3c10.5-7 22.9-10.7 35.5-10.7h20.9c15.3 0 30.1 5.5 41.7 15.4l26.6 22.8c7.4 6.3 16.8 9.8 26.6 9.8c10.8 0 21.2 4.3 28.9 12l4 4c10.2 10.2 24.1 16 38.6 16h54.8zM187.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0z\"]]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'fad',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", [\"M344 48h80c4.4 0 8 3.6 8 8V96H336V56c0-4.4 3.6-8 8-8zm-56 8V96 320H480V96 56c0-30.9-25.1-56-56-56H344c-30.9 0-56 25.1-56 56zM512 320h16c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H512V320zM240 96c-26.5 0-48 21.5-48 48V272c0 26.5 21.5 48 48 48h16V96H240zM160 464c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H162.7c-1.8 5-2.7 10.4-2.7 16zm288 0c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16H450.7c-1.8 5-2.7 10.4-2.7 16z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H48c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80H608c17.7 0 32-14.3 32-32s-14.3-32-32-32H144c-8.8 0-16-7.2-16-16V80C128 35.8 92.2 0 48 0H32zM256 96V320h32V96H256zm224 0V320h32V96H480z\"]]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faHandBackPointRibbon = {\n prefix: 'fad',\n iconName: 'hand-back-point-ribbon',\n icon: [448, 512, [], \"e1a0\", [\"M112.8 32C116.5 13.7 132.6 0 152 0s35.5 13.7 39.2 32H112.8zM112 240V160h80v28.2c8.5-7.6 19.7-12.2 32-12.2c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c25.3 0 46 19.5 47.9 44.3c8.5-7.7 19.8-12.3 32.1-12.3c26.5 0 48 21.5 48 48v32 64c0 70.7-57.3 128-128 128H185.9c-37.4 0-73.7-13.1-102.4-37.1l-5.4-4.5C48.9 446.1 32 410 32 372V334c0-19 8.4-37 23-49.2l19.2-16c1.9-1.6 3.8-3.1 5.8-4.5V320c0 8.8 7.2 16 16 16s16-7.2 16-16V247v-7z\", \"M224 112V48c0-8.8-7.2-16-16-16H43.8C37.3 32 32 37.3 32 43.8c0 3.9 1.9 7.5 5.1 9.7L75.6 80 37.1 106.5c-3.2 2.2-5.1 5.8-5.1 9.7c0 6.5 5.3 11.8 11.8 11.8H208c8.8 0 16-7.2 16-16z\"]]\n};\nvar faRectangleXmark = {\n prefix: 'fad',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M209 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faTireRugged = {\n prefix: 'fad',\n iconName: 'tire-rugged',\n icon: [512, 512, [], \"f634\", [\"M256 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-224a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-75.9 96.6a24 24 0 1 1 14.8-45.7 24 24 0 1 1 -14.8 45.7zm167.2-30.2a24 24 0 1 1 -45.7 14.8 24 24 0 1 1 45.7-14.8zm-29.6 73.8a24 24 0 1 1 -38.8 28.2 24 24 0 1 1 38.8-28.2zM199.6 333.7a24 24 0 1 1 28.2-38.8 24 24 0 1 1 -28.2 38.8z\", \"M296 0c13.3 0 24 10.7 24 24V40c0 .4 0 .8 0 1.3c14.9 4.4 29.2 10.4 42.6 17.7c.3-.3 .6-.6 .9-.9l11.3-11.3c9.4-9.4 24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9L454 148.5c-.3 .3-.6 .6-.9 .9c7.3 13.4 13.2 27.7 17.7 42.6c.4 0 .8 0 1.3 0h16c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H472c-.4 0-.8 0-1.3 0c-4.4 14.9-10.4 29.2-17.7 42.6c.3 .3 .6 .6 .9 .9l11.3 11.3c9.4 9.4 9.4 24.6 0 33.9l-56.6 56.6c-9.4 9.4-24.6 9.4-33.9 0L363.5 454c-.3-.3-.6-.6-.9-.9c-13.4 7.3-27.7 13.2-42.6 17.7c0 .4 0 .8 0 1.3v16c0 13.3-10.7 24-24 24H216c-13.3 0-24-10.7-24-24V472c0-.4 0-.8 0-1.3c-14.9-4.4-29.2-10.4-42.6-17.7c-.3 .3-.6 .6-.9 .9l-11.3 11.3c-9.4 9.4-24.6 9.4-33.9 0L46.7 408.7c-9.4-9.4-9.4-24.6 0-33.9L58 363.5c.3-.3 .6-.6 .9-.9c-7.3-13.4-13.2-27.7-17.7-42.6c-.4 0-.8 0-1.3 0H24c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24H40c.4 0 .8 0 1.3 0c4.4-14.9 10.4-29.2 17.7-42.6c-.3-.3-.6-.6-.9-.9L46.7 137.2c-9.4-9.4-9.4-24.6 0-33.9l56.6-56.6c9.4-9.4 24.6-9.4 33.9 0L148.5 58c.3 .3 .6 .6 .9 .9c13.4-7.3 27.7-13.2 42.6-17.7c0-.4 0-.8 0-1.3V24c0-13.3 10.7-24 24-24h80zm88 256a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]]\n};\nvar faLightbulbDollar = {\n prefix: 'fad',\n iconName: 'lightbulb-dollar',\n icon: [384, 512, [], \"f670\", [\"M321.2 297.8c-19.8 27.1-39.7 54.4-49.2 86.2H112c-9.6-31.9-29.5-59.1-49.2-86.2c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4zM212 88c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V296c0 11 9 20 20 20s20-9 20-20V282.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V88z\", \"M192 512c44.2 0 80-35.8 80-80V384H112v48c0 44.2 35.8 80 80 80z\"]]\n};\nvar faCowbell = {\n prefix: 'fad',\n iconName: 'cowbell',\n icon: [448, 512, [], \"f8b3\", [\"M112 96c-22 0-41.2 15-46.6 36.4l-64 256c-3.6 14.3-.4 29.5 8.7 41.2S33.2 448 48 448H400c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-64-256C377.2 111 358 96 336 96V40c0-22.1-17.9-40-40-40H152c-22.1 0-40 17.9-40 40V96zm48 0V48H288V96H160z\", \"M224 512c35.3 0 64-28.7 64-64H160c0 35.3 28.7 64 64 64z\"]]\n};\nvar faBahtSign = {\n prefix: 'fad',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", [\"M144 0c17.7 0 32 14.3 32 32V64H112V32c0-17.7 14.3-32 32-32zm32 288v96H112V288h64zm0-160v96H112V128h64zM112 448h64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448z\", \"M64 224H176c26.5 0 48-21.5 48-48s-21.5-48-48-48H64v96zM0 265.7V224 101.6C0 80.8 16.8 64 37.6 64H176c61.9 0 112 50.1 112 112c0 24.2-7.7 46.6-20.7 64.9c31.7 19.8 52.7 55 52.7 95.1c0 61.9-50.1 112-112 112H41.7C18.7 448 0 429.3 0 406.3V288 265.7zM176 288H64v96H208c26.5 0 48-21.5 48-48s-21.5-48-48-48H176z\"]]\n};\nvar faCorner = {\n prefix: 'fad',\n iconName: 'corner',\n icon: [448, 512, [], \"e3fe\", [\"M0 192c0-17.7 14.3-32 32-32H384c35.3 0 64 28.7 64 64V352c0 17.7-14.3 32-32 32s-32-14.3-32-32V224H32c-17.7 0-32-14.3-32-32z\", \"\"]]\n};\nvar faChevronsRight = {\n prefix: 'fad',\n iconName: 'chevrons-right',\n icon: [512, 512, [\"chevron-double-right\"], \"f324\", [\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 41.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\", \"M470.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L402.7 256 233.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"]]\n};\nvar faChevronDoubleRight = faChevronsRight;\nvar faBookOpen = {\n prefix: 'fad',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", [\"M288 72V480s92.8-32 144-32c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-64 0-128 24-144 40z\", \"M288 72V480s-92.8-32-144-32c-38.5 0-88.4 12.1-119.9 22.6C12.8 474.3 0 466 0 454.1V83.8C0 71.7 6.8 60.5 18.1 56.1C46.3 45.3 93.5 32 144 32c64 0 128 24 144 40z\"]]\n};\nvar faBookJournalWhills = {\n prefix: 'fad',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm58.4 181.6c3.1 3.1 8.1 3.1 11.2 0s3.1-8.1 0-11.2l-26.4-26.5c8.2-17 20.6-31.6 35.8-42.6c2.7-1.9 6.2 1.4 5 4.5c-8.5 22.4-3.5 48 13.1 65.5c3.2 3.4 3.6 8.8 .9 12.7c-9.8 14-12.7 31.9-7.6 48.5c5.9 19.4 22 34.1 41.9 38.3l1.4-32.8-10.4 7.1c-.6 .4-1.5 .6-2.2 .6c-1 0-2-.4-2.8-1c-.8-.9-1.2-1.9-1.2-3c0-.6 .2-1.4 .5-2l8.6-14.2-18-3.8c-1.8-.4-3.1-2.1-3.1-4s1.4-3.5 3.1-3.9l18-3.7-8.6-14.3c-.9-1.6-.6-3.7 .8-5s3.5-1.5 5-.4l12 8.1L236 87.9c.1-2.2 1.9-3.9 4-3.9s3.9 1.6 4 3.9l4.8 112.3 14.1-9.6c.6-.5 1.4-.6 2.1-.7l.1 0c1.5 0 2.7 .7 3.5 2s.6 2.9-.1 4.1L260 210.1l18 3.7c1.8 .4 3.1 2 3.1 3.9s-1.4 3.6-3.1 4l-18 3.6 8.5 14.4c.8 1.2 .9 2.7 .1 4s-2 2-3.5 2c-.8 0-1.6-.2-2.3-.6l-12.6-8.6 1.4 34.3c19.9-4.1 36-18.9 41.9-38.3c5.1-16.5 2.2-34.5-7.5-48.5c-2.7-3.9-2.4-9.3 .9-12.7c16.6-17.5 21.6-43.1 13-65.6c-1.2-3.1 2.3-6.4 5-4.5c15.3 10.9 27.7 25.6 35.9 42.6l-26.4 26.5c-3.1 3.1-3.1 8.1 0 11.2s8.1 3.1 11.3 0l21.2-21.2c3 10.1 5.1 20.6 5.1 31.6c0 .2 0 .5-.1 .8s-.1 .5-.1 .8L314.8 226c-1.6 1.6-2.6 3.8-2.8 6c.1 1.9 .7 3.8 2 5.2c1.6 1.6 3.8 2.6 6 2.8c2 0 3.9-.8 5.3-2l23.6-20.6C337.3 267 293.1 304 240 304s-97.2-37-108.9-86.6L154.8 238c1.5 1.2 3.4 1.9 5.2 2c3.4 0 6.2-2.1 7.5-5.1c1.1-3.1 .2-6.7-2.3-8.9l-37.1-32.5c0-.3 0-.5-.1-.8s-.1-.5-.1-.8c0-11 2.1-21.5 5.1-31.6l21.2 21.2z\"]]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faInhaler = {\n prefix: 'fad',\n iconName: 'inhaler',\n icon: [576, 512, [], \"f5f9\", [\"M429.8 32.7c-12.7-3.2-25.6 4.4-29 17l-24.2 89.9c2.6 .7 5 2.1 7.1 4.2L523.5 283.5 575.2 94.3c1.7-6.2 .8-12.9-2.4-18.4s-8.6-9.6-14.9-11.2l-128-32zM32 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M534.1 305.5c1.5-5.5-.1-11.5-4.1-15.5L383.8 143.8c-8.7-8.7-23.6-4.7-26.8 7.2l-16.5 61.2c-1.9 7-8.2 11.8-15.4 11.8H232c-22.1 0-40 17.9-40 40V440c0 22.1 17.9 40 40 40H456c18 0 33.8-12.1 38.6-29.5l39.5-145z\"]]\n};\nvar faHandcuffs = {\n prefix: 'fad',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", [\"M272 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 80h64c0-17.7-14.3-32-32-32s-32 14.3-32 32zm320 0h64c0-17.7-14.3-32-32-32s-32 14.3-32 32zM400 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm48 80a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M96 184c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184zm64 264a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]]\n};\nvar faSnake = {\n prefix: 'fad',\n iconName: 'snake',\n icon: [512, 512, [128013], \"f716\", [\"M192 64H176c-5.4 0-10.7 .3-16 .9V112c0 8.8 7.2 16 16 16s16-7.2 16-16V64zm64 0v48c0 8.8 7.2 16 16 16s16-7.2 16-16V64H256zM64 426.7V464c0 8.8 7.2 16 16 16s16-7.2 16-16V417.3c-5 .8-9.9 2-14.8 3.7L64 426.7zM160 416v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416H160zm96 0v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416H256zm72.3-1.1l28.4 28.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-28.4-28.4c-2.9 11-11.6 19.7-22.6 22.6zm22.6-39.2l28.4-28.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-28.4 28.4c11 2.9 19.7 11.6 22.6 22.6zM288 352V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h32zm-96 0V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v47.1c5.3 .6 10.6 .9 16 .9h16zM86.1 320.5l21.2-21.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L63.5 297.9c6.7 8.4 14.3 15.9 22.6 22.6zM32.9 224H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H32.9c-.6 5.3-.9 10.6-.9 16s.3 10.7 .9 16zM86.1 95.5c-8.4 6.7-15.9 14.3-22.6 22.6l21.2 21.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L86.1 95.5z\", \"M403.6 25.8l79.8 39.9C500.9 74.5 512 92.4 512 112s-11.1 37.5-28.6 46.3l-79.8 39.9c-30.8 15.4-68 9.4-92.3-15L288 160H176c-26.5 0-48 21.5-48 48s21.5 48 48 48H320c70.7 0 128 57.3 128 128s-57.3 128-128 128H176l-.1 0H111.6c-10.3 0-20.6-1.7-30.4-4.9l-66-22C6.1 482 0 473.6 0 464s6.1-18 15.2-21.1L64 426.7V464c0 8.8 7.2 16 16 16s16-7.2 16-16V417.3c5.1-.8 10.4-1.3 15.6-1.3H160v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h32c2.9 0 5.6-.4 8.3-1.1l28.4 28.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-28.4-28.4c.7-2.6 1.1-5.4 1.1-8.3s-.4-5.6-1.1-8.3l28.4-28.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-28.4 28.4c-2.6-.7-5.4-1.1-8.3-1.1H288V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H192V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v47.1c-27.8-3.1-53.2-14-73.9-30.6l21.2-21.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L63.5 297.9C46.9 277.2 35.9 251.8 32.9 224H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H32.9c3.1-27.8 14-53.2 30.6-73.9l21.2 21.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L86.1 95.5c20.7-16.6 46.1-27.5 73.9-30.6V112c0 8.8 7.2 16 16 16s16-7.2 16-16V64h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V64l23.2-23.2c24.3-24.3 61.5-30.4 92.3-15zM368 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]]\n};\nvar faTriangleExclamation = {\n prefix: 'fad',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", [\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M280 184c0-13.3-10.7-24-24-24s-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184zM256 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faNoteMedical = {\n prefix: 'fad',\n iconName: 'note-medical',\n icon: [448, 512, [], \"e200\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320H320c-17.7 0-32 14.3-32 32V480H64c-35.3 0-64-28.7-64-64V96zm192 48v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H256V144c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\", \"M192 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48l48 0c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H256v48c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V256H144c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16l48 0V144zm96 336V352c0-17.7 14.3-32 32-32H448v5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7H288z\"]]\n};\nvar faDatabase = {\n prefix: 'fad',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", [\"M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z\", \"M0 186.1V128c0 44.2 100.3 80 224 80s224-35.8 224-80v58.1c-14.9 11.8-34 21.2-54.8 28.6C348.3 230.7 288.5 240 224 240s-124.3-9.3-169.2-25.3C34 207.3 14.9 197.8 0 186.1zm0 160V288c0 44.2 100.3 80 224 80s224-35.8 224-80v58.1c-14.9 11.8-34 21.2-54.8 28.6C348.3 390.7 288.5 400 224 400s-124.3-9.3-169.2-25.3C34 367.3 14.9 357.8 0 346.1z\"]]\n};\nvar faDownLeft = {\n prefix: 'fad',\n iconName: 'down-left',\n icon: [384, 512, [], \"e16a\", [\"M238.6 305.4L372.7 171.3c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3L331.3 75.3C324.1 68.1 314.2 64 304 64s-20.1 4.1-27.3 11.3L142.6 209.4l96 96z\", \"M48 432H288c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-240-240c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6V400c0 17.7 14.3 32 32 32z\"]]\n};\nvar faShare = {\n prefix: 'fad',\n iconName: 'share',\n icon: [512, 512, [\"arrow-turn-right\", \"mail-forward\"], \"f064\", [\"M288 288V128H176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h96z\", \"M288 64c0-12.6 7.4-24.1 19-29.2s25-3 34.4 5.4l160 144c6.7 6.1 10.6 14.7 10.6 23.8s-3.8 17.7-10.6 23.8l-160 144c-9.4 8.5-22.9 10.6-34.4 5.4s-19-16.6-19-29.2V64z\"]]\n};\nvar faArrowTurnRight = faShare;\nvar faMailForward = faShare;\nvar faFaceThinking = {\n prefix: 'fad',\n iconName: 'face-thinking',\n icon: [512, 512, [], \"e39b\", [\"M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256c0 45 11.6 87.3 32 124V352c0-30.9 25.1-56 56-56s56 25.1 56 56v3l92.2-33.5-82.4-34.7c-8.1-3.4-12-12.8-8.5-21s12.8-12 21-8.5l122.5 51.6c22.7 9.6 37.9 31.2 39.2 55.6c1.5 24.2-12.9 47.4-36.8 56.1l-35.8 13-21 57.7c-2.5 6.8-5.8 13.1-9.8 18.8c10.3 1.3 20.8 1.9 31.4 1.9zM176.4 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 48a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-88-63.2c-20.5-17.6-49.9-20.4-73.4-7l-7.1 4c-7.7 4.4-17.4 1.7-21.8-6s-1.7-17.4 6-21.8l7.1-4c35.2-20.1 79.3-15.9 110.1 10.5l13.2 11.3c6.7 5.8 7.5 15.9 1.7 22.6s-15.9 7.5-22.6 1.7l-13.2-11.3z\", \"M143 121.9c23.5-13.4 52.9-10.6 73.4 7l13.2 11.3c6.7 5.8 16.8 5 22.6-1.7s5-16.8-1.7-22.6l-13.2-11.3C206.4 78.1 162.3 74 127.1 94.1l-7.1 4c-7.7 4.4-10.3 14.2-6 21.8s14.2 10.3 21.8 6l7.1-4zM176.4 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM112 352c0-13.3-10.7-24-24-24s-24 10.7-24 24V464c0 26.5 21.5 48 48 48h47.2c20.2 0 38.2-12.6 45.1-31.6l26.1-71.7 49.8-18.1c12.5-4.5 18.9-18.3 14.4-30.8s-18.3-18.9-30.8-14.4L112 400.6V352zM368.4 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faTurnDownRight = {\n prefix: 'fad',\n iconName: 'turn-down-right',\n icon: [512, 512, [], \"e455\", [\"M320 240v96H112C50.1 336 0 285.9 0 224V64C0 46.3 14.3 32 32 32H64c17.7 0 32 14.3 32 32V224c0 8.8 7.2 16 16 16H320z\", \"M360.5 441.4c-7 6.6-17.2 8.4-26 4.6s-14.5-12.5-14.5-22l0-272c0-9.6 5.7-18.2 14.5-22s19-2 26 4.6l144 136c4.8 4.5 7.5 10.8 7.5 17.4s-2.7 12.9-7.5 17.4l-144 136z\"]]\n};\nvar faBottleDroplet = {\n prefix: 'fad',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", [\"M104 120.9V48H216v72.9c0 12.2 7.2 23.1 17.2 30.1c33.1 23.1 54.8 61.5 54.8 105V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V256c0-43.5 21.7-81.9 54.8-105c10-7 17.2-17.9 17.2-30.1zM160 384c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C135 284 112 313.8 112 336c0 26.5 21.5 48 48 48z\", \"M96 0C82.7 0 72 10.7 72 24s10.7 24 24 24l128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L96 0zm64 384c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C135 284 112 313.8 112 336c0 26.5 21.5 48 48 48z\"]]\n};\nvar faMaskFace = {\n prefix: 'fad',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", [\"M128 128H56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4l108 27c-26.6-17.1-49.3-39.7-66.5-66.1l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96V160c0-17.7 14.3-32 32-32zM441.1 412.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512c17.7 0 32 14.3 32 32v16h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9l-29.8 7.4c-17.3 26.4-40 49-66.5 66.1z\", \"M320 64c-27.2 0-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H128c-17.7 0-32 14.3-32 32v64c0 123.7 100.3 224 224 224s224-100.3 224-224V160c0-17.7-14.3-32-32-32H486.8c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64zM192 208c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 48H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 80c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faHillRockslide = {\n prefix: 'fad',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", [\"M192 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm60.4 24.2c-2.7 4.9-2.7 10.8 0 15.7l27 48c2.8 5 8.2 8.2 13.9 8.2l53.3 0c5.8 0 11.1-3.1 13.9-8.2l27-48c2.7-4.9 2.7-10.8 0-15.7l-27-48c-2.8-5-8.2-8.2-13.9-8.2H293.4c-5.8 0-11.1 3.1-13.9 8.2l-27 48zM504.2 403.6c4.9 2.7 10.8 2.7 15.7 0l48-27c5-2.8 8.2-8.2 8.2-13.9V309.4c0-5.8-3.1-11.1-8.2-13.9l-48-27c-4.9-2.7-10.8-2.7-15.7 0l-48 27c-5 2.8-8.2 8.2-8.2 13.9v53.3c0 5.8 3.1 11.1 8.2 13.9l48 27zM384 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M54.6 73.4c-9.2-9.2-22.9-11.9-34.9-6.9S0 83.1 0 96V480c0 17.7 14.3 32 32 32H416c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-384-384z\"]]\n};\nvar faScannerKeyboard = {\n prefix: 'fad',\n iconName: 'scanner-keyboard',\n icon: [512, 512, [], \"f489\", [\"M64 96C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm24 64H264c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24zM80 288h64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zM64 400c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V400zM208 288h64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16zM192 400c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V400z\", \"M152 0h16c13.3 0 24 10.7 24 24V64H128V24c0-13.3 10.7-24 24-24zM312 0h16c13.3 0 24 10.7 24 24V64H288V24c0-13.3 10.7-24 24-24zM224 16c0-8.8 7.2-16 16-16s16 7.2 16 16V64H224V16zM400 0c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16zm48 24c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24H472c-13.3 0-24-10.7-24-24V24zM88 160H264c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"]]\n};\nvar faCircleO = {\n prefix: 'fad',\n iconName: 'circle-o',\n icon: [512, 512, [], \"e119\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\", \"M256 176a80 80 0 1 0 0 160 80 80 0 1 0 0-160zm128 80a128 128 0 1 1 -256 0 128 128 0 1 1 256 0z\"]]\n};\nvar faGridHorizontal = {\n prefix: 'fad',\n iconName: 'grid-horizontal',\n icon: [448, 512, [], \"e307\", [\"M160 168c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V168zM0 328c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V328zm360-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V328c0-22.1 17.9-40 40-40z\", \"M0 168c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V168zM160 328c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V328zM448 168v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40z\"]]\n};\nvar faMessageDollar = {\n prefix: 'fad',\n iconName: 'message-dollar',\n icon: [512, 512, [\"comment-alt-dollar\"], \"f650\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm276 40c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\", \"M256 84c11 0 20 9 20 20v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V312c0 11-9 20-20 20s-20-9-20-20V297.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V104c0-11 9-20 20-20z\"]]\n};\nvar faCommentAltDollar = faMessageDollar;\nvar faRightLeft = {\n prefix: 'fad',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", [\"M512 384c0-17.7-14.3-32-32-32l-320 0 0-64c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-96 96c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6l96 96c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-64 320 0c17.7 0 32-14.3 32-32z\", \"M0 128c0-17.7 14.3-32 32-32l320 0 0-64c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-64L32 160c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faExchangeAlt = faRightLeft;\nvar faColumns3 = {\n prefix: 'fad',\n iconName: 'columns-3',\n icon: [640, 512, [], \"e361\", [\"M192 96h64V416H192V96zm192 0h64V416H384V96z\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM576 96V416H64V96H576z\"]]\n};\nvar faPaperPlane = {\n prefix: 'fad',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", [\"M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L224 402.7V389.4L380.7 185.8c5.2-6.7 4.2-16.4-2.3-21.9s-16.1-5.1-22 1.1L178.8 350.6l-14.1 14.1c-3 3-4.7 7.1-4.7 11.3l-28.3-11.8-112-46.7C8.4 312.8 .8 302.2 .1 290s5.5-23.7 16.1-29.8l448-256c10.7-6.1 23.9-5.5 34 1.4z\", \"M380.7 185.8c5.1-6.7 4.2-16.2-2.1-21.8s-15.9-5.3-21.9 .7l-179 179-13 13c-3 3-4.7 7.1-4.7 11.3v8 56 48c0 13.2 8.1 25 20.3 29.8s26.2 1.6 35.2-8.1L284 427.7l-60-25V389.4L380.7 185.8z\"]]\n};\nvar faRoadCircleExclamation = {\n prefix: 'fad',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", [\"M288 32H213.2c-27.1 0-51.3 17.1-60.3 42.6L35.1 407.2c-2.1 5.9-3.1 12-3.1 18.2C32 455.5 56.5 480 86.6 480H288V416c0-17.7 14.3-32 32-32l.7 0c-.5-5.3-.7-10.6-.7-16c0-16.9 2.4-33.3 6.8-48.7c-2.2 .5-4.5 .7-6.8 .7c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32s32 14.3 32 32v42.8c31.9-45.2 84.5-74.8 144-74.8c11.6 0 22.9 1.1 33.8 3.2L487.1 74.6C478 49.1 453.9 32 426.8 32H352V96c0 17.7-14.3 32-32 32s-32-14.3-32-32V32z\", \"M352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm168 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-152c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288z\"]]\n};\nvar faDungeon = {\n prefix: 'fad',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", [\"M256 176c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16zm-64 32c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16zm128 0c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16z\", \"M327.1 125.3l30.5-76.2c5.2-12.9 20.3-18.8 32.1-11.6c21.2 13 40.3 29 56.9 47.4c9.1 10.2 6.3 25.8-5.1 33.4l-67.6 45.1c-10.3 6.9-24.1 4.6-33.4-3.6c-1.3-1.1-2.6-2.3-3.9-3.3c-9.3-7.5-13.9-20.1-9.5-31.2zM313 6.4c13.4 3.1 20.1 17.6 15 30.5l-30.3 75.8c-4.5 11.3-16.8 17.2-29 16c-4.2-.4-8.4-.6-12.7-.6s-8.6 .2-12.7 .6c-12.1 1.2-24.4-4.7-29-16L184 36.8C178.8 24 185.5 9.4 199 6.4C217.3 2.2 236.4 0 256 0s38.7 2.2 57 6.4zM70.5 118.5C59.1 110.9 56.3 95.2 65.5 85C82 66.6 101.1 50.6 122.3 37.6c11.9-7.3 26.9-1.4 32.1 11.6l30.5 76.2c4.4 11.1-.2 23.6-9.5 31.2c-1.3 1.1-2.7 2.2-4 3.3c-9.3 8.2-23 10.5-33.4 3.6L70.5 118.5zm319 73.1l68.6-45.7c11.7-7.8 27.6-4 33.1 8.9c10.4 24.1 17.2 50.1 19.7 77.3c1.2 13.2-9.6 24-22.9 24H408c-13.3 0-23.8-10.8-26.2-23.9c-.6-3.4-1.4-6.7-2.3-10c-3.1-11.4 .2-24 10-30.5zM20.8 154.7c5.5-12.9 21.4-16.6 33.1-8.9l68.6 45.7c9.8 6.5 13.2 19.2 10 30.5c-.9 3.3-1.7 6.6-2.3 10c-2.5 13-13 23.9-26.2 23.9H24C10.7 256-.1 245.2 1.1 232c2.5-27.2 9.3-53.2 19.7-77.3zM128 312v48c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V312c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24zm256 0c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H408c-13.3 0-24-10.7-24-24V312zM0 440c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V440zm384 0c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H408c-13.3 0-24-10.7-24-24V440z\"]]\n};\nvar faHandHoldingBox = {\n prefix: 'fad',\n iconName: 'hand-holding-box',\n icon: [576, 512, [], \"f47b\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M224 0V121.7c0 3.5 2.8 6.3 6.3 6.3c1.1 0 2.2-.3 3.1-.8l46.6-26.6c4.9-2.8 11-2.8 15.9 0l46.6 26.6c1 .5 2 .8 3.1 .8c3.5 0 6.3-2.8 6.3-6.3V0h80c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48h80z\"]]\n};\nvar faInputText = {\n prefix: 'fad',\n iconName: 'input-text',\n icon: [640, 512, [], \"e1bf\", [\"M576 128V384H64V128H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\", \"M205.9 174.3c-3.9-8.7-12.4-14.3-21.9-14.3s-18.1 5.6-21.9 14.3l-64 144c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l4.3-9.7h75.5l4.3 9.7c5.4 12.1 19.6 17.6 31.7 12.2s17.6-19.6 12.2-31.7l-64-144zM200.4 280H167.6L184 243.1 200.4 280zM304 184v8 64 64 8c0 13.3 10.7 24 24 24h68c33.1 0 60-26.9 60-60c0-18.6-8.5-35.3-21.8-46.3c3.7-7.8 5.8-16.5 5.8-25.7c0-33.1-26.9-60-60-60H328c-13.3 0-24 10.7-24 24zm48 24h28c6.6 0 12 5.4 12 12s-5.4 12-12 12H352V208zm0 96V280h28 16c6.6 0 12 5.4 12 12s-5.4 12-12 12H352z\"]]\n};\nvar faWindowFlip = {\n prefix: 'fad',\n iconName: 'window-flip',\n icon: [512, 512, [\"window-alt\"], \"f40f\", [\"M384 128a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V224L0 224V416zM320 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M448 32c35.3 0 64 28.7 64 64V224H0V96C0 60.7 28.7 32 64 32H448zM416 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 128a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faWindowAlt = faWindowFlip;\nvar faAlignRight = {\n prefix: 'fad',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", [\"M192 352c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H192zm0-256c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H192z\", \"M32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32zm0-256c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32z\"]]\n};\nvar faScannerGun = {\n prefix: 'fad',\n iconName: 'scanner-gun',\n icon: [576, 512, [\"scanner\"], \"f488\", [\"M112 32C50.1 32 0 82.1 0 144c0 50.7 33.8 93.6 80 107.4L8.1 374.7c-13.3 22.8-5.7 52.2 17.1 65.6l53.4 31.4c22.8 13.4 52.3 5.8 65.7-17L261.2 256H304c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H112z\", \"M440 32c-13.3 0-24 10.7-24 24V72c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H440zm0 160c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H440zM416 440v16c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V440c0-13.3-10.7-24-24-24H440c-13.3 0-24 10.7-24 24zm16-312c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432zM416 304c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16 7.2-16 16zm16 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432z\"]]\n};\nvar faScanner = faScannerGun;\nvar faTire = {\n prefix: 'fad',\n iconName: 'tire',\n icon: [512, 512, [], \"f631\", [\"M239.9 318l0 65c-44.2-5.5-81.5-33.6-99.8-72.4l61.9-20.1c8.6 13.4 22.1 23.4 37.9 27.5zm32 0c15.9-4.1 29.4-14.1 38-27.6l61.9 20.1c-18.3 38.8-55.6 66.9-99.8 72.4l0-65zm47.9-58c.1-1.3 .1-2.7 .1-4c0-15.4-5.5-29.6-14.5-40.6l38.2-52.6C368.5 186.1 384 219.2 384 256c0 8.3-.8 16.3-2.3 24.2L319.9 260zm-40.2-63.5c-7.3-2.9-15.3-4.5-23.6-4.5s-16.3 1.6-23.6 4.5l-10-13.8-28.1-38.8C212.5 133.8 233.6 128 256 128s43.5 5.8 61.8 15.9l-38.2 52.6zm-73.1 18.9c-9.1 11-14.5 25.2-14.5 40.6c0 1.4 0 2.7 .1 4l-61.8 20.1c-1.5-7.8-2.3-15.9-2.3-24.2c0-36.8 15.5-69.9 40.3-93.3l28.1 38.7 10.1 13.9zM256 416a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm416 0A160 160 0 1 0 96 256a160 160 0 1 0 320 0zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faEngine = {\n prefix: 'fad',\n iconName: 'engine',\n icon: [640, 512, [], \"e16e\", [\"M424 88c0-13.3-10.7-24-24-24H208c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0v32h48V112l72 0c13.3 0 24-10.7 24-24zM24 136c-13.3 0-24 10.7-24 24V352c0 13.3 10.7 24 24 24s24-10.7 24-24V280H96V232H48V160c0-13.3-10.7-24-24-24zm552 56c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H576z\", \"M96 176c0-17.7 14.3-32 32-32h32 48H409.5c14.5 0 28.6 4.9 40 14L488 188.8c15.2 12.1 24 30.5 24 50V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H128c-17.7 0-32-14.3-32-32V176zM288 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-64-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faMoneyBill1Wave = {\n prefix: 'fad',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", [\"M512 160c-33.9 0-61.6-26.3-63.9-59.7c-40 .9-83.5 10.5-134.2 23.2c-4.6 1.2-9.4 2.3-14.2 3.6l0 0c-51.1 12.8-110.4 27.8-172.9 28.6C121.5 185.4 95.4 208 64 208V352c33.9 0 61.6 26.3 63.9 59.7c40-.9 83.5-10.5 134.2-23.2c4.7-1.2 9.4-2.3 14.2-3.6l0 0c51.1-12.8 110.4-27.8 172.9-28.6c5.5-29.8 31.6-52.4 63-52.4V160zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\", \"M0 418.3V115.8C0 92 25.4 76.2 48.4 82.4C128.2 103.9 208.1 84 288 64c86.9-21.7 173.8-43.5 260.7-11.8C565.8 58.5 576 75.5 576 93.7V396.2c0 23.8-25.4 39.5-48.3 33.3C447.8 408.1 367.9 428 288 448c-86.9 21.7-173.8 43.4-260.7 11.8C10.2 453.5 0 436.5 0 418.3zm448.1-318c-40 .9-83.5 10.5-134.2 23.2c-4.6 1.2-9.4 2.3-14.2 3.6l0 0c-51.1 12.8-110.4 27.8-172.9 28.6C121.5 185.4 95.4 208 64 208V352c33.9 0 61.6 26.3 63.9 59.7c40-.9 83.5-10.5 134.2-23.2c4.7-1.2 9.4-2.3 14.2-3.6l0 0c51.1-12.8 110.4-27.8 172.9-28.6c5.5-29.8 31.6-52.4 63-52.4V160c-33.9 0-61.6-26.3-63.9-59.7zM272 188h16c11 0 20 9 20 20v68h4c11 0 20 9 20 20s-9 20-20 20H288 264c-11 0-20-9-20-20s9-20 20-20h4V227.6c-9.1-1.9-16-9.9-16-19.6c0-11 9-20 20-20z\"]]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'fad',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", [\"M214.7 169.5c12.5-6 26.5-9.5 41.3-9.5s28.8 3.5 41.3 9.5c-.1 .1 .1-.1 0 0L412.8 53.9C369.5 20.3 315.2 0 256 0S142.5 20.3 99.2 53.9L214.7 169.5c.1 .1-.1-.1 0 0zM169.5 297.3c-6-12.5-9.5-26.5-9.5-41.3s3.5-28.8 9.5-41.3c-.1-.1 .1 .1 0 0L53.9 99.2C20.3 142.5 0 196.8 0 256s20.3 113.5 53.9 156.8L169.5 297.3c.1-.1-.1 .1 0 0zM458.1 99.2L342.5 214.7c-.1 .1 .1-.1 0 0c6 12.5 9.5 26.5 9.5 41.3s-3.5 28.8-9.5 41.3c-.1-.1 .1 .1 0 0L458.1 412.8C491.7 369.5 512 315.2 512 256s-20.3-113.5-53.9-156.8zM297.3 342.5c-12.5 6-26.5 9.5-41.3 9.5s-28.8-3.5-41.3-9.5c-.1 .1 .1-.1 0 0L99.2 458.1C142.5 491.7 196.8 512 256 512s113.5-20.3 156.8-53.9L297.3 342.5c.1 .1-.1-.1 0 0z\", \"M57.4 57.4c-12.5 12.5-12.5 32.8 0 45.3l112 112c9.5-19.8 25.5-35.8 45.3-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm112 240l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c-19.8-9.5-35.8-25.5-45.3-45.3zm128 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-112-112c-9.5 19.8-25.5 35.8-45.3 45.3zm45.3-128l112-112c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-112 112c19.8 9.5 35.8 25.5 45.3 45.3z\"]]\n};\nvar faHands = {\n prefix: 'fad',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", [\"M544 160c0-17.7-14.3-32-32-32s-32 14.3-32 32l-.1 49.3L426.1 116l0 0 0 0L368.6 16.5C362 5 347.3 1.1 335.8 7.7s-15.4 21.3-8.8 32.8l51.5 89.1c3.3 5.7 1.3 13.1-4.4 16.4s-13.1 1.3-16.4-4.4L290.3 24.8C283.6 13.3 269 9.4 257.5 16s-15.4 21.3-8.8 32.8l45.9 79.5c9.4 1 18.7 4.1 27.3 9.4l60.2 37.6C443 213.4 480 280.2 480 352v8c0 1.9 0 3.8-.1 5.7c40.1-32.1 64-80.9 64-133.1L544 160zM268.5 131L243.9 88.5c-6.6-11.5-21.3-15.4-32.8-8.8s-15.4 21.3-8.8 32.8l28.9 50c.8-1.5 1.6-3 2.5-4.4c8.4-13.4 20.8-22.6 34.7-27zm-44.1 67.5l-26.8-46.4c-6.6-11.5-21.3-15.4-32.8-8.8s-15.4 21.3-8.8 32.8L179 216h31.8l0 0H224h4.7c-2.2-5.6-3.7-11.4-4.3-17.4z\", \"M305 164.9c-15-9.4-34.7-4.8-44.1 10.2s-4.8 34.7 10.2 44.1L317.2 248H224l0 0 0 0H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H212c6.6 0 12 5.4 12 12s-5.4 12-12 12H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H212c6.6 0 12 5.4 12 12s-5.4 12-12 12H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H212c6.6 0 12 5.4 12 12s-5.4 12-12 12H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H296c83.9 0 152-68.1 152-152v-8c0-60.8-31.3-117.3-82.9-149.5L305 164.9z\"]]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCircleCaretRight = {\n prefix: 'fad',\n iconName: 'circle-caret-right',\n icon: [512, 512, [\"caret-circle-right\"], \"f330\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm368 0c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\", \"M360.3 273.6c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 208c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104z\"]]\n};\nvar faCaretCircleRight = faCircleCaretRight;\nvar faWheat = {\n prefix: 'fad',\n iconName: 'wheat',\n icon: [512, 512, [], \"f72d\", [\"M281.9 184.8l-30.5 30.5c2.1 17 .8 34.4-4 51c15.6-4.5 31.8-5.9 47.8-4.3l31.9-31.9-10.4-10.4L294.2 197l-12.2-12.2zM225.4 331.9L215 321.5l0 0-34.8-34.8-30.5 30.5c2.1 17 .8 34.4-4 51c15.6-4.5 31.8-5.9 47.8-4.3l31.9-31.9zM123.5 433.7l-10.4-10.4 0 0L78.3 388.5 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l68.9-68.9z\", \"M384 88c0-48.6 39.4-88 88-88h24c8.8 0 16 7.2 16 16V40c0 48.6-39.4 88-88 88H400c-8.8 0-16-7.2-16-16V88zM181 129.1c6.2-6.2 16.4-6.2 22.6 0L215 140.5c34.1 34.1 44.9 82.6 32.5 125.9c43.3-12.4 91.8-1.5 125.9 32.5l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-37.5 37.5-98.3 37.5-135.8 0L215 321.5l0 0-45.3-45.3c-37.5-37.5-37.5-98.3 0-135.8L181 129.1zM282.8 27.3c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c34.1 34.1 44.9 82.6 32.5 125.9c43.3-12.4 91.8-1.5 125.9 32.5l11.3 11.3c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-37.5 37.5-98.3 37.5-135.8 0l-22.6-22.6 0 0-45.3-45.3c-37.5-37.5-37.5-98.3 0-135.8l11.3-11.3zM79.2 231c6.2-6.2 16.4-6.2 22.6 0l11.3 11.3c34.1 34.1 44.9 82.6 32.5 125.9c43.3-12.4 91.8-1.5 125.9 32.5L282.8 412c6.2 6.2 6.2 16.4 0 22.6l-11.3 11.3c-37.5 37.5-98.3 37.5-135.8 0l-22.6-22.6s0 0 0 0L67.9 378c-37.5-37.5-37.5-98.3 0-135.8L79.2 231z\"]]\n};\nvar faFileSpreadsheet = {\n prefix: 'fad',\n iconName: 'file-spreadsheet',\n icon: [384, 512, [], \"f65b\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM88 224c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H296c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H88z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM88 224c-17.7 0-32 14.3-32 32v16 80 64c0 17.7 14.3 32 32 32h64 80 64c17.7 0 32-14.3 32-32V352 272 256c0-17.7-14.3-32-32-32H88zm0 112V288h48v48H88zm80 0V288h48v48H168zm80 0V288h48v48H248zm0 32h48v48H248V368zm-32 0v48H168V368h48zm-80 0v48H88V368h48z\"]]\n};\nvar faAudioDescriptionSlash = {\n prefix: 'fad',\n iconName: 'audio-description-slash',\n icon: [640, 512, [], \"e0a8\", [\"M314.3 343.6L487.4 480H96c-35.3 0-64-28.7-64-64V121.2L173 232.3l-42.5 85c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7l9.4-18.9h82.2l9.4 18.9c5.9 11.9 20.3 16.7 32.2 10.7c3-1.5 5.5-3.5 7.5-5.9zM211.5 262.6l21.8 17.2H202.9l8.6-17.2zM608 416c0 10.7-2.6 20.7-7.2 29.6L464.6 338.8C493 322.1 512 291.3 512 256c0-53-43-96-96-96H360c-13.3 0-24 10.7-24 24v54L76.8 34.9C82.9 33 89.3 32 96 32H544c35.3 0 64 28.7 64 64V416zM464 256c0 25.2-19.4 45.8-44.1 47.8L384 275.7V208h32c26.5 0 48 21.5 48 48z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCalendarDay = {\n prefix: 'fad',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", [\"M448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM80 256h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16z\", \"M96 32c0-17.7 14.3-32 32-32s32 14.3 32 32V64H288V32c0-17.7 14.3-32 32-32s32 14.3 32 32V64h48c26.5 0 48 21.5 48 48v80H0V112C0 85.5 21.5 64 48 64H96V32z\"]]\n};\nvar faWaterLadder = {\n prefix: 'fad',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", [\"M269.5 389.9c11.1-7.9 25.9-7.9 37 0C329 405.4 356.5 416 384 416c26.9 0 55.4-10.8 77.4-26.1l0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 469.7 417 480 384 480c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7l0 0C136.7 405.2 165.1 416 192 416c27.5 0 55-10.6 77.5-26.1z\", \"M223.7 32C170.9 32 128 74.9 128 127.7V361c1.7 1 3.3 2 4.9 3.1c18 12.4 40.1 20.3 59.1 20.3V288H384v96.5s0 0 0 0c19 0 41.2-7.9 59.2-20.3c1.6-1.1 3.2-2.1 4.8-3.1V127.7c0-17.5 14.2-31.7 31.7-31.7c16 0 29.5 11.9 31.5 27.8l1 8.2c2.2 17.5 18.2 30 35.7 27.8s30-18.2 27.8-35.7l-1-8.2C568.7 68 528 32 479.7 32C426.9 32 384 74.9 384 127.7V224H192V127.7c0-17.5 14.2-31.7 31.7-31.7c16 0 29.5 11.9 31.5 27.8l1 8.2c2.2 17.5 18.2 30 35.7 27.8s30-18.2 27.8-35.7l-1-8.2C312.7 68 272 32 223.7 32z\"]]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'fad',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", [\"M182.6 502.6c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L128 402.7V256h64V402.7l41.4-41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-96 96z\", \"M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L128 109.3V256h64V109.3l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z\"]]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faChessPawnPiece = {\n prefix: 'fad',\n iconName: 'chess-pawn-piece',\n icon: [256, 512, [\"chess-pawn-alt\"], \"f444\", [\"M208 416H48L4.8 473.6C1.7 477.8 0 482.8 0 488c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L208 416z\", \"M176 240c19.4-14.6 32-37.8 32-64c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 26.2 12.6 49.4 32 64H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h4.4L48 416H208L179.6 288H184c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8z\"]]\n};\nvar faChessPawnAlt = faChessPawnPiece;\nvar faFaceGrimace = {\n prefix: 'fad',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-112h-8V360l55.3 0c-3.8 22.7-23.6 40-47.3 40zm47.3-56L344 344V304h8c23.8 0 43.5 17.3 47.3 40zM328 344H264V304h64v40zm0 56H264V360h64v40zm-80-96v40l-64 0V304h64zm0 56v40H184V360l64 0zm-80-16H112.7c3.8-22.7 23.6-40 47.3-40h8v40zm0 56h-8c-23.8 0-43.5-17.3-47.3-40H168v40zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'fad',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", [\"M160 512a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm0-256a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM172.8 54.4c9.5-7.1 22.1-8.4 32.8-3.4l116.5 54.8c29.1 13.7 36.8 51.6 15.2 75.5L299.1 224h97.4c30.3 0 53 27.7 47.1 57.4L415.4 422.3c-3.5 17.3-20.3 28.6-37.7 25.1s-28.6-20.3-25.1-37.7L377 288H306.7c-20.5-46.9-62.9-82.1-114.3-92.7l54.2-54.2-50.8-23.9-48.6 36.4c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l64-48z\"]]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'fad',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", [\"M144 320l96 0 0-208C240 50.1 189.9 0 128 0L32 0C14.3 0 0 14.3 0 32L0 64C0 81.7 14.3 96 32 96l96 0c8.8 0 16 7.2 16 16l0 208z\", \"M40.3 368.3L178.3 506.3c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L343.7 368.3c5.3-5.3 8.3-12.5 8.3-20c0-15.6-12.7-28.3-28.3-28.3L60.3 320C44.7 320 32 332.7 32 348.3c0 7.5 3 14.7 8.3 20z\"]]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faSquareS = {\n prefix: 'fad',\n iconName: 'square-s',\n icon: [448, 512, [], \"e27d\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM175.6 196.2c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4l2 .6 0 0c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23.1 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4l-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23.1-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7c-20.3-3.1-36.8-1.4-47.8 2.9c-10.3 4.1-14.2 9.6-15.4 15.8z\", \"M191 180.4c-10.3 4.1-14.2 9.6-15.4 15.8c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4c.7 .2 1.3 .4 2 .6c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23.1 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4c-.7-.2-1.3-.4-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23.1-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7l3.6-23.7-3.6 23.7c-20.3-3.1-36.8-1.4-47.8 2.9z\"]]\n};\nvar faRectangleBarcode = {\n prefix: 'fad',\n iconName: 'rectangle-barcode',\n icon: [576, 512, [\"barcode-alt\"], \"f463\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 96c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm56 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm88-16c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm88 24c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm112-24c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\", \"M96 152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm80-8c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm88-16c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm88 24c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm112-24c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]]\n};\nvar faBarcodeAlt = faRectangleBarcode;\nvar faPersonWalkingArrowRight = {\n prefix: 'fad',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", [\"\", \"M505.4 153.4c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L530.7 288H384c-17.7 0-32-14.3-32-32s14.3-32 32-32H530.7l-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3zM160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM126.5 199.3c-1 .4-1.9 .8-2.9 1.2l-8 3.5c-16.4 7.3-29 21.2-34.7 38.2l-2.6 7.8c-5.6 16.8-23.7 25.8-40.5 20.2s-25.8-23.7-20.2-40.5l2.6-7.8c11.4-34.1 36.6-61.9 69.4-76.5l8-3.5c20.8-9.2 43.3-14 66.1-14c44.6 0 84.8 26.8 101.9 67.9L281 232.7l21.4 10.7c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3L247 287.3c-10.3-5.2-18.4-13.8-22.8-24.5l-9.6-23-19.3 65.5 49.5 54c5.4 5.9 9.2 13 11.2 20.8l23 92.1c4.3 17.1-6.1 34.5-23.3 38.8s-34.5-6.1-38.8-23.3l-22-88.1-70.7-77.1c-14.8-16.1-20.3-38.6-14.7-59.7l16.9-63.5zM68.7 398l25-62.4c2.1 3 4.5 5.8 7 8.6l40.7 44.4-14.5 36.2c-2.4 6-6 11.5-10.6 16.1L54.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L68.7 398z\"]]\n};\nvar faSquareEnvelope = {\n prefix: 'fad',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM218 271.7L64.2 172.4C66 156.4 79.5 144 96 144H352c16.5 0 30 12.4 31.8 28.4L230 271.7c-1.8 1.2-3.9 1.8-6 1.8s-4.2-.6-6-1.8zm29.4 26.9L384 210.4V336c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V210.4l136.6 88.2c7 4.5 15.1 6.9 23.4 6.9s16.4-2.4 23.4-6.9z\", \"M64.2 172.4L218 271.7c1.8 1.2 3.9 1.8 6 1.8s4.2-.6 6-1.8l153.8-99.3C382 156.4 368.5 144 352 144H96c-16.5 0-30 12.4-31.8 28.4zm319.8 38L247.4 298.6c-7 4.5-15.1 6.9-23.4 6.9s-16.4-2.4-23.4-6.9L64 210.4V336c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V210.4z\"]]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'fad',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", [\"M173.1 34.3c28.1-28.1 73.7-28.1 101.8 0L413.7 173.1c28.1 28.1 28.1 73.7 0 101.8L274.9 413.7c-28.1 28.1-73.7 28.1-101.8 0L34.3 274.9c-28.1-28.1-28.1-73.7 0-101.8L173.1 34.3zM224 248a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM248 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM376 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM248 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\", \"M224 120a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm128 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 176a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM352 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM320 448V413.8L436.3 297.5c28.6-28.6 37-69.6 25.4-105.5H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H384c-35.3 0-64-28.7-64-64zm160-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faUnicorn = {\n prefix: 'fad',\n iconName: 'unicorn',\n icon: [640, 512, [129412], \"f727\", [\"M560 90.7l73.6-24.5c3.8-1.3 6.4-4.8 6.4-8.8c0-5.1-4.2-9.3-9.3-9.3H551.4c5.4 9.4 8.6 20.3 8.6 32V90.7zM48 256c0-13.4 6.6-25.2 16.7-32.5c-.4-3.5-.7-7.1-.7-10.7c0-16.1 4.5-31.2 12.3-44.1C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24V256z\", \"M448 238.1V160l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26c20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48H544c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 464 448C377.3 0 320 57.3 320 128H224 203.2 148.8C102 128 64 166 64 212.8c0 16.8 5 33.1 14.2 47.1l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6c-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7c0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7h0v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faBowlingBall = {\n prefix: 'fad',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", [\"M208 112a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faPompebled = {\n prefix: 'fad',\n iconName: 'pompebled',\n icon: [512, 512, [], \"e43d\", [\"M460.3 172c-46.2-33.2-117-14.1-165.1 44.3c-5.9 8.6-17.2 10.6-25.6 4.5s-10.3-17.6-4.4-26.2c36.9-66.9 29-141.3-17.7-173.5C188.6-20.6 103.1 1.5 56.9 70.4c-85.5 126.3-77.6 313.4 44.2 400.4c121.4 87 296.3 27.7 381.8-98.6c46.2-68.4 36.4-158.5-22.6-200.2z\", \"\"]]\n};\nvar faBrain = {\n prefix: 'fad',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", [\"M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z\", \"M240 456V56h32V456H240z\"]]\n};\nvar faWatchSmart = {\n prefix: 'fad',\n iconName: 'watch-smart',\n icon: [384, 512, [], \"e2cc\", [\"M80 64C35.8 64 0 99.8 0 144V368c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H80zm136 96v86.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V160c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6c5.2-1 10.5-1.6 16-1.6H304c5.5 0 10.8 .6 16 1.6V48.3C320 21.6 298.4 0 271.7 0H112.3zM64 464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c-5.2 1-10.5 1.6-16 1.6H80c-5.5 0-10.8-.6-16-1.6V464zM216 160c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 6.4 2.5 12.5 7 17l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41-41V160z\"]]\n};\nvar faBookUser = {\n prefix: 'fad',\n iconName: 'book-user',\n icon: [448, 512, [], \"f7e7\", [\"M64 416c0-17.7 14.3-32 32-32H416v64H96c-17.7 0-32-14.3-32-32z\", \"M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 256 96c-17.7 0-32-14.3-32-32s14.3-32 32-32H256h96 64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm80 128a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM128 304c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faSensorCloud = {\n prefix: 'fad',\n iconName: 'sensor-cloud',\n icon: [640, 512, [\"sensor-smoke\"], \"e02c\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V234.8c-14.5-6.9-30.8-10.8-48-10.8c-60.1 0-109.1 47.3-111.9 106.7C250.2 348.7 224 387.3 224 432c0 17.2 3.9 33.5 10.8 48H64c-35.3 0-64-28.7-64-64V96zm88 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24z\", \"M256 432c0 44.2 35.8 80 80 80H560c44.2 0 80-35.8 80-80c0-39-27.9-71.5-64.8-78.6c.5-3.1 .8-6.2 .8-9.4c0-30.9-25.1-56-56-56c-18.1 0-34.1 8.6-44.4 21.8C464.8 278.5 435 256 400 256c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C284.4 359.9 256 392.6 256 432z\"]]\n};\nvar faSensorSmoke = faSensorCloud;\nvar faClapperboardPlay = {\n prefix: 'fad',\n iconName: 'clapperboard-play',\n icon: [512, 512, [], \"e132\", [\"M512 160H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160zM216.5 241.9c5.2-2.8 11.5-2.5 16.4 .8l96 64c4.4 3 7.1 8 7.1 13.3s-2.7 10.3-7.1 13.3l-96 64c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V256c0-5.9 3.2-11.3 8.5-14.1z\", \"M448 32H361.9l-1 1-127 127h92.1l1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128V96c0-15.1-5.3-29.1-14-40l-104 104H512zM294.1 32H201.9l-1 1L73.9 160h92.1l1-1 127-127zM64 32C28.7 32 0 60.7 0 96v64H6.1l1-1 127-127H64zM216.5 241.9c-5.2 2.8-8.5 8.2-8.5 14.1V384c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8l96-64c4.4-3 7.1-8 7.1-13.3s-2.7-10.3-7.1-13.3l-96-64c-4.9-3.3-11.2-3.6-16.4-.8z\"]]\n};\nvar faBandage = {\n prefix: 'fad',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", [\"M480 416h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H480V416zM448 96H192V416H448V96zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64h96V96H64zM248 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM248 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M192 96H160V416h32V96zm288 0H448V416h32V96z\"]]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'fad',\n iconName: 'calendar-minus',\n icon: [512, 512, [], \"f272\", [\"M480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM344 376H168c-13.3 0-24-10.7-24-24s10.7-24 24-24H344c13.3 0 24 10.7 24 24s-10.7 24-24 24z\", \"M160 0c-17.7 0-32 14.3-32 32V64H80c-26.5 0-48 21.5-48 48v80H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32zM344 376c13.3 0 24-10.7 24-24s-10.7-24-24-24H168c-13.3 0-24 10.7-24 24s10.7 24 24 24H344z\"]]\n};\nvar faCircleXmark = {\n prefix: 'fad',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M209 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faCircle4 = {\n prefix: 'fad',\n iconName: 'circle-4',\n icon: [512, 512, [], \"e0f1\", [\"M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM223.6 129.2c-12.6-4.2-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H272v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H201.3l37.5-112.4c4.2-12.6-2.6-26.2-15.2-30.4z\", \"M238.8 159.6c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H272v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H201.3l37.5-112.4z\"]]\n};\nvar faGifts = {\n prefix: 'fad',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", [\"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l9.4 28.3L71.2 37.4C60.9 29 45.8 30.5 37.4 40.8S30.5 66.2 40.8 74.6L67 96H221l26.2-21.4c10.3-8.4 11.8-23.5 3.4-33.8s-23.5-11.8-33.8-3.4L191.3 58.3 200.6 32zM592 224h-4.1c-9.9 28-36.6 48-67.9 48H448v80H640V272c0-26.5-21.5-48-48-48zM448 384V512H592c26.5 0 48-21.5 48-48V384H448zm-32 0H224v80c0 26.5 21.5 48 48 48H416V384zm0-32V272H400 344c-31.3 0-58-20-67.9-48H272c-26.5 0-48 21.5-48 48v80H416z\", \"M48 96C21.5 96 0 117.5 0 144V464c0 26.5 21.5 48 48 48H200.6c-5.4-9.4-8.6-20.3-8.6-32V256c0-29.9 20.5-55 48.2-62c1.8-31 17.1-58.2 40.1-76.1C271.7 104.7 256.9 96 240 96H48zm315.5 89.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM344 272h56 16v80H224v32H416V512h32V384H640V352H448V272h72c39.8 0 72-32.2 72-72c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72c0 39.8 32.2 72 72 72zm175.8-96c13.4 0 24.2 10.9 24.2 24c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5z\"]]\n};\nvar faAlbumCollection = {\n prefix: 'fad',\n iconName: 'album-collection',\n icon: [512, 512, [], \"f8a0\", [\"M12 176.2C21.1 165.9 34.2 160 48 160H464c13.8 0 26.9 5.9 36 16.2s13.4 24.1 11.6 37.7l-32 256c-3 24-23.4 42-47.6 42H80c-24.2 0-44.6-18-47.6-42L.4 214c-1.7-13.7 2.5-27.4 11.6-37.7zM256 480c101.6 0 184-60.9 184-136s-82.4-136-184-136S72 268.9 72 344s82.4 136 184 136z\", \"M32 24c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM256 480c101.6 0 184-60.9 184-136s-82.4-136-184-136S72 268.9 72 344s82.4 136 184 136zm0-104c-17.7 0-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24s-14.3 24-32 24zM40 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H472c13.3 0 24-10.7 24-24s-10.7-24-24-24H40z\"]]\n};\nvar faHotel = {\n prefix: 'fad',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", [\"M480 64H32V448c-17.7 0-32 14.3-32 32s14.3 32 32 32H208V464c0-26.5 21.5-48 48-48s48 21.5 48 48v48H480c17.7 0 32-14.3 32-32s-14.3-32-32-32V64zM96 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V112zM240 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V112zM112 192h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V208zm144-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM328 384H184c-13.3 0-24.3-10.9-21-23.8c10.6-41.5 48.2-72.2 93-72.2s82.5 30.7 93 72.2c3.3 12.8-7.8 23.8-21 23.8z\", \"M32 0C14.3 0 0 14.3 0 32S14.3 64 32 64H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm80 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H112zm128 0c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H240zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM112 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H368zM328 384c13.3 0 24.3-10.9 21-23.8c-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8H328z\"]]\n};\nvar faEarthAsia = {\n prefix: 'fad',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", [\"M1.1 280.3l81.7 20.4c8.2 2 16.8-.4 22.8-6.3l14.8-14.8c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9h2.3c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17.6-4.4c7.2-1.8 13.1-6.8 16.1-13.5l37.7-84.9C443.2 53 512 146.5 512 256c0 25.2-3.6 49.6-10.4 72.6c-.3-.3-.7-.6-1.1-.8l-31.9-23c-5.9-4.3-13.4-5.6-20.5-3.6l-13.5 3.8c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.4 21.1l3.7-1.4c9.4-3.5 20-2.4 28.4 3.1l45.1 28.9C382.7 486.8 322.3 512 256 512C122.8 512 13.4 410.3 1.1 280.3zm162.7 56.2c-8.6-2.1-17.3 3.1-19.4 11.6s3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8zm84.2 11c8.6 2.1 17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32c-2.1 8.6 3.1 17.3 11.6 19.4zM350.3 135.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32z\", \"M1.1 280.3l81.7 20.4c8.2 2 16.8-.4 22.8-6.3l14.8-14.8c11.6-11.6 31.1-8.4 38.4 6.2l9.3 18.5c4.8 9.6 14.6 15.7 25.4 15.7c15.2 0 26.1-14.6 21.7-29.2l-6-19.9c-4.6-15.4 6.9-30.9 23-30.9h2.3c13.4 0 25.9-6.7 33.3-17.8l10.7-16.1c5.6-8.5 5.3-19.6-.8-27.7l-16.1-21.5c-10.3-13.7-3.3-33.5 13.4-37.7l17.6-4.4c7.2-1.8 13.1-6.8 16.1-13.5l37.7-84.9C318.3 5.8 287.8 0 256 0C114.6 0 0 114.6 0 256c0 8.2 .4 16.3 1.1 24.3zm500.4 48.3c-.3-.3-.7-.6-1.1-.8l-31.9-23c-5.9-4.3-13.4-5.6-20.5-3.6l-13.5 3.8c-6.7 1.9-13.8-.9-17.5-6.7l-2-3.1c-6-9.4-16.4-15.1-27.6-15.1s-21.6 5.7-27.6 15.1l-6.1 9.5c-1.4 2.2-3.4 4.1-5.7 5.3L312 330.1c-18.1 10.1-25.5 32.4-17 51.3l5.5 12.4c8.6 19.2 30.7 28.5 50.4 21.1l3.7-1.4c9.4-3.5 20-2.4 28.4 3.1l45.1 28.9c34.2-31.1 60-71.4 73.5-116.9zM144.5 348.1c-2.1 8.6 3.1 17.3 11.6 19.4l32 8c8.6 2.1 17.3-3.1 19.4-11.6s-3.1-17.3-11.6-19.4l-32-8c-8.6-2.1-17.3 3.1-19.4 11.6zm92-20c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l8-32c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-8 32zM343.2 113.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l16-32c4-7.9 .7-17.5-7.2-21.5z\"]]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'fad',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", [\"M64 64H224v64H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64zM176 437.3c0 5.9 4.8 10.7 10.7 10.7H389.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H229.3c-29.5 0-53.3 23.9-53.3 53.3zM288 352a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\", \"M256 0c-17.7 0-32 14.3-32 32v96H352V32c0-17.7-14.3-32-32-32H256zm96 288a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM176 437.3c0 5.9 4.8 10.7 10.7 10.7H389.3c5.9 0 10.7-4.8 10.7-10.7c0-29.5-23.9-53.3-53.3-53.3H229.3c-29.5 0-53.3 23.9-53.3 53.3z\"]]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'fad',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", [\"M208 416A208 208 0 1 0 208 0a208 208 0 1 0 0 416zM184 296V232H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V120c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H232v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\", \"M184 296V232H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V120c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H232v64c0 13.3-10.7 24-24 24s-24-10.7-24-24zM457.4 502.6L330.7 376C348 363.3 363.3 348 376 330.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0z\"]]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'fad',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", [\"M351.1 89.4c5.2-26-11.7-51.3-37.7-56.5s-51.3 11.7-56.5 37.7L254.6 82c-6.6 33.2-24.8 63-51.2 84.2l-7.4 5.9c-22.8 18.2-36 45.8-36 75V272v48 38.3c0 32.1 16 62.1 42.7 79.9l38.5 25.7c15.8 10.5 34.3 16.1 53.3 16.1H392c26.5 0 48-21.5 48-48c0-3.6-.4-7-1.1-10.4c19.2-6.3 33.1-24.3 33.1-45.6c0-9.1-2.5-17.6-6.9-24.9c22.2-4.2 38.9-23.7 38.9-47.1c0-15.1-7-28.6-17.9-37.4c15.4-8 25.9-24.1 25.9-42.6c0-26.5-21.5-48-48-48H320c13.7-23.1 23.5-48.5 28.8-75.2l2.3-11.4z\", \"M0 224c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V224z\"]]\n};\nvar faCloudShowers = {\n prefix: 'fad',\n iconName: 'cloud-showers',\n icon: [512, 512, [], \"f73f\", [\"M136 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V376zm192 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V376zm-120 8c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408c0-13.3-10.7-24-24-24zm216 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408z\", \"M0 224c0 53 43 96 96 96H416c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0c1.1-5.2 1.6-10.5 1.6-16c0-44.2-35.8-80-80-80c-24.3 0-46.1 10.9-60.8 28C256.5 24.3 219.1 0 176 0C114.1 0 64 50.1 64 112c0 7.1 .7 14.1 1.9 20.8C27.6 145.4 0 181.5 0 224z\"]]\n};\nvar faUserClock = {\n prefix: 'fad',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", [\"M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3z\", \"M496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]]\n};\nvar faOnion = {\n prefix: 'fad',\n iconName: 'onion',\n icon: [448, 512, [129477], \"e427\", [\"M213.5 10.9l3.4 6.8c2.9 5.9 11.4 5.9 14.3 0l3.4-6.8C237.9 4.2 244.7 0 252.2 0c10.9 0 19.6 9 21.3 19.8C281 67.8 316 96.2 352.7 126C399 163.7 448 203.5 448 288c0 112-112.8 174.4-224 176C112.8 462.4 0 400 0 288c0-84.5 49-124.3 95.3-162C132 96.2 167 67.8 174.5 19.8C176.2 9 184.9 0 195.8 0c7.5 0 14.3 4.2 17.7 10.9zM97.5 185.2l-.4 .9c-.4 .8-.9 1.9-1.6 3.4c-1.3 2.9-3.2 7.1-5.4 12.3c-4.3 10.4-9.8 25-14.5 41.8c-9.2 32.7-16.5 76.9-2.6 114c3.1 8.3 12.3 12.5 20.6 9.4s12.5-12.3 9.4-20.6c-10.1-27-5.4-62.7 3.4-94c4.3-15.3 9.3-28.6 13.3-38.2c2-4.8 3.7-8.6 4.9-11.2c.6-1.3 1.1-2.3 1.4-2.9l.3-.7c.6-1.1 1-2.3 1.3-3.6c.5-2 .6-4 .3-5.9c-.6-4.5-3.1-8.6-7-11.2c-1.6-1-3.3-1.8-5.2-2.2s-3.8-.5-5.6-.3c-4.7 .6-8.8 3.2-11.3 6.9c-.5 .7-.9 1.4-1.2 2.2zm111.9-63.9l-.6 1.2c-.5 1.1-1.2 2.6-2.1 4.6c-1.8 4-4.3 9.7-7.1 17c-5.7 14.5-12.9 35.2-19.1 60c-12.3 49.4-20.9 116.3-4 183.8c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-15.1-60.5-7.7-121.6 4-168.2c5.8-23.2 12.6-42.5 17.9-56c2.6-6.7 4.9-12 6.5-15.5c.8-1.8 1.4-3.1 1.8-4l.5-1 0 0c.6-1.2 1.1-2.4 1.4-3.7c.4-1.9 .5-3.8 .3-5.6c-.6-4.7-3.2-8.8-7-11.4c-1.6-1-3.3-1.8-5.2-2.2s-3.8-.5-5.6-.3c-4.5 .6-8.7 3-11.4 7c-.4 .7-.8 1.4-1.2 2.1l-.1 .1zm84.2 50.9c0 0 0 .1 .1 .1c1.6 3.1 3.9 7.6 6.5 13.2c5.3 11.4 12.2 27.3 18.4 45.6c12.6 37.3 21.2 81.4 11.2 116.5c-2.4 8.5 2.5 17.3 11 19.8s17.4-2.5 19.8-11c12.7-44.9 1.4-96.8-11.7-135.5c-6.7-19.7-14-36.8-19.8-48.9c-2.9-6.1-5.3-11-7.1-14.3c-.9-1.7-1.6-3-2.1-3.9l-.6-1.1-.2-.3 0-.1 0 0 0 0s0 0-1 .5c0 0 0 0 0 0l1-.6c-3-5.4-8.8-8.4-14.6-8.2c-.2 0-.4 0-.6 0c-8.8 0-16 7.2-16 16c0 4.9 2.2 9.3 5.7 12.2z\", \"M131.9 448.3l-10.7 32.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2L178.6 460c-16-2.6-31.7-6.5-46.7-11.6zM200 462.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24V462.7c-8 .7-16 1.2-24 1.3c-8-.1-16-.5-24-1.3zm69.4-2.7l11.9 35.6c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-10.7-32.1c-15 5.1-30.7 9-46.7 11.6z\"]]\n};\nvar faClockTwelveThirty = {\n prefix: 'fad',\n iconName: 'clock-twelve-thirty',\n icon: [512, 512, [], \"e359\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-360V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M256 128c13.3 0 24 10.7 24 24V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faArrowDownToDottedLine = {\n prefix: 'fad',\n iconName: 'arrow-down-to-dotted-line',\n icon: [448, 512, [], \"e095\", [\"M0 448a32 32 0 1 0 64 0A32 32 0 1 0 0 448zm96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7V176 64c0-17.7-14.3-32-32-32s-32 14.3-32 32V176v66.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128z\"]]\n};\nvar faHandDots = {\n prefix: 'fad',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", [\"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V336c0 1.5 0 3.1 .1 4.6L67.6 283c-16-15.2-41.3-14.6-56.6 1.4s-14.6 41.3 1.4 56.6L124.8 448c43.1 41.1 100.4 64 160 64H304c97.2 0 176-78.8 176-176V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V32zM240 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM240 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-48-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\", \"M304 368a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM192 384a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'fad',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", [\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zm0 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 112c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256zM224 432c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM96 224c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H96zm0 32H288v64H96V256zM240 416c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\"]]\n};\nvar faWindowMinimize = {\n prefix: 'fad',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", [\"M0 448c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"\"]]\n};\nvar faRectangleWide = {\n prefix: 'fad',\n iconName: 'rectangle-wide',\n icon: [640, 512, [], \"f2fc\", [\"M0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\", \"\"]]\n};\nvar faCommentArrowUp = {\n prefix: 'fad',\n iconName: 'comment-arrow-up',\n icon: [512, 512, [], \"e144\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm24-120c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.9l-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31V328z\", \"M256 352c13.3 0 24-10.7 24-24V209.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V328c0 13.3 10.7 24 24 24z\"]]\n};\nvar faGarlic = {\n prefix: 'fad',\n iconName: 'garlic',\n icon: [512, 512, [129476], \"e40e\", [\"M122.1 137.6c-1 4.2-2.1 8.2-3.3 11.9c-5.4 17.1-12.7 30.1-20.5 43.3c-.8 1.4-1.6 2.8-2.5 4.2c-7.1 11.9-14.8 24.8-20.7 40.5c-6.7 17.8-11 38.8-11 66.5c0 48.6 21 86.5 52.7 111.2C85.5 411.7 0 392.6 0 288c0-55.3 42.3-87.5 83.4-118.9c13.5-10.3 26.9-20.6 38.7-31.5zM314.3 416c32.2-24.7 53.7-62.8 53.7-112c0-52.8-20.4-80.5-39.4-106.3l0 0c-1.2-1.7-2.4-3.3-3.6-5c-9.8-13.4-18.8-26.6-25.5-43.8c-6.7-17-11.4-38.7-11.4-69V0h16c26.5 0 48 21.5 48 48V64c0 46.6 37.8 75.5 76.6 105.1C469.7 200.5 512 232.7 512 288c0 128-128 128-128 128H314.3zM256 0V80c0 33.8 5.3 59.5 13.6 80.7c8.3 21.1 19.3 37 29.5 50.9c1.2 1.6 2.3 3.1 3.4 4.7l0 0C321 241.5 336 261.9 336 304c0 69.3-54.9 112-120 112s-120-42.7-120-112c0-24.2 3.7-41.3 9-55.2c4.9-12.8 11.1-23.3 18.3-35.5l2.5-4.2c8.2-13.8 16.9-29.3 23.5-49.9C155.8 138.5 160 113.4 160 80V64 48c0-26.5 21.5-48 48-48h48z\", \"M136 488V448h48v40c0 13.3-10.7 24-24 24s-24-10.7-24-24zm64 0V448h48v40c0 13.3-10.7 24-24 24s-24-10.7-24-24zm64 0V448h48v40c0 13.3-10.7 24-24 24s-24-10.7-24-24zm64 0V448h48v40c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]]\n};\nvar faMugSaucer = {\n prefix: 'fad',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", [\"M0 448c0-17.7 14.3-32 32-32H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M128 32c-17.7 0-32 14.3-32 32V288c0 53 43 96 96 96H384c53 0 96-43 96-96h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H448 128zM480 96h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H480V96z\"]]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'fad',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", [\"M162.4 6c-1.5-3.6-5-6-8.9-6h-19c-3.9 0-7.5 2.4-8.9 6L104.9 57.7c-3.2 8-14.6 8-17.8 0L66.4 6c-1.5-3.6-5-6-8.9-6H48C21.5 0 0 21.5 0 48V256v22.4V288H9.6 374.4 384v-9.6V256 48c0-26.5-21.5-48-48-48H230.5c-3.9 0-7.5 2.4-8.9 6L200.9 57.7c-3.2 8-14.6 8-17.8 0L162.4 6z\", \"M0 288H384v32c0 35.3-28.7 64-64 64H256v64c0 35.3-28.7 64-64 64s-64-28.7-64-64V384H64c-35.3 0-64-28.7-64-64V288zM192 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faTreeDecorated = {\n prefix: 'fad',\n iconName: 'tree-decorated',\n icon: [448, 512, [], \"f7dc\", [\"M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L28.5 313.7c-2.9 4.1-4.5 9-4.5 14.1C24 341.1 34.8 352 48.2 352H80L3.8 474c-2.5 4-3.8 8.5-3.8 13.2C0 500.9 11.1 512 24.9 512H423.1c13.7 0 24.9-11.1 24.9-24.9c0-4.7-1.3-9.2-3.8-13.2L368 352h31.8c13.4 0 24.2-10.9 24.2-24.2c0-5-1.6-10-4.5-14.1L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9zM160 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72-104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm56 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\", \"M256 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm32 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]]\n};\nvar faMask = {\n prefix: 'fad',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", [\"M288 64C64 64 0 160 0 272S80 448 176 448h8.4c24.2 0 46.4-13.7 57.2-35.4l23.2-46.3c4.4-8.8 13.3-14.3 23.2-14.3s18.8 5.5 23.2 14.3l23.2 46.3c10.8 21.7 33 35.4 57.2 35.4H400c96 0 176-64 176-176s-64-208-288-208zM96 256a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\", \"M160 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm256 0a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]]\n};\nvar faCalendarHeart = {\n prefix: 'fad',\n iconName: 'calendar-heart',\n icon: [448, 512, [], \"e0d3\", [\"M448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM112 317.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\", \"M128 0C110.3 0 96 14.3 96 32V64H48C21.5 64 0 85.5 0 112v80H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32zM112 317.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'fad',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", [\"M208 416A208 208 0 1 0 208 0a208 208 0 1 0 0 416zM136 184H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136zM330.7 376L457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L376 330.7C363.3 348 348 363.3 330.7 376z\"]]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faFlower = {\n prefix: 'fad',\n iconName: 'flower',\n icon: [448, 512, [127804, 10047], \"f7ff\", [\"M128 480c38.2 0 72.5-16.8 96-43.3c23.5 26.6 57.8 43.3 96 43.3c70.7 0 128-57.3 128-128c0-38.2-16.8-72.5-43.3-96c26.6-23.5 43.3-57.8 43.3-96c0-70.7-57.3-128-128-128c-38.2 0-72.5 16.8-96 43.3C200.5 48.8 166.2 32 128 32C57.3 32 0 89.3 0 160c0 38.2 16.8 72.5 43.3 96C16.8 279.5 0 313.8 0 352c0 70.7 57.3 128 128 128zm96-304a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\", \"M224 176a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]]\n};\nvar faRightLeftLarge = {\n prefix: 'fad',\n iconName: 'right-left-large',\n icon: [640, 512, [], \"e5e1\", [\"M133.8 491c13.4 13.4 31.6 21 50.6 21c37 0 67.4-28 71.2-64l64.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0H208c-8.8 0-16 7.2-16 16v16 24.4c0 4.2-3.4 7.6-7.6 7.6c-2 0-3.9-.8-5.4-2.2L69.3 336 179 226.2c1.4-1.4 3.4-2.2 5.4-2.2c4.2 0 7.6 3.4 7.6 7.6V256v16c0 8.8 7.2 16 16 16h16 96l0-64H255.6c-3.8-36-34.2-64-71.2-64c-19 0-37.2 7.5-50.6 21L15 299.7C5.4 309.3 0 322.4 0 336s5.4 26.7 15 36.3L133.8 491z\", \"M506.2 21C492.8 7.5 474.6 0 455.6 0c-37 0-67.4 28-71.2 64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0h16c8.8 0 16-7.2 16-16V96 71.6c0-4.2 3.4-7.6 7.6-7.6c2 0 3.9 .8 5.4 2.2L570.7 176 461 285.8c-1.4 1.4-3.4 2.2-5.4 2.2c-4.2 0-7.6-3.4-7.6-7.6V256 240c0-8.8-7.2-16-16-16H416 320v64h64.4c3.8 36 34.2 64 71.2 64c19 0 37.2-7.5 50.6-21L625 212.3c9.6-9.6 15-22.7 15-36.3s-5.4-26.7-15-36.3L506.2 21z\"]]\n};\nvar faRulerVertical = {\n prefix: 'fad',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", [\"M0 48C0 21.5 21.5 0 48 0H208c26.5 0 48 21.5 48 48V96H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\", \"M176 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V96H176zM160 208c0 8.8 7.2 16 16 16h80V192H176c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V288H176zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V384H176z\"]]\n};\nvar faCirclesOverlap = {\n prefix: 'fad',\n iconName: 'circles-overlap',\n icon: [640, 512, [], \"e600\", [\"M213.4 383.7c10.9 23.1 25.7 44 43.4 62c-10.7 1.6-21.7 2.4-32.8 2.4C100.3 448 0 347.7 0 224S100.3 0 224 0c62.3 0 118.6 25.4 159.2 66.4C393.9 64.8 404.8 64 416 64c123.7 0 224 100.3 224 224s-100.3 224-224 224c-62.3 0-118.6-25.4-159.2-66.4c25.6-3.8 49.8-11.9 71.8-23.5C353.8 438.5 383.8 448 416 448c88.4 0 160-71.6 160-160c0-84.8-66-154.2-149.4-159.7c-10.9-23.1-25.7-44-43.4-62c-25.6 3.8-49.8 11.9-71.8 23.5C286.2 73.5 256.2 64 224 64C135.6 64 64 135.6 64 224c0 84.8 66 154.2 149.4 159.7z\", \"M256.8 445.6C365 429.7 448 336.6 448 224c0-61.5-24.8-117.1-64.8-157.6C275 82.3 192 175.4 192 288c0 61.5 24.8 117.1 64.8 157.6z\"]]\n};\nvar faUserLarge = {\n prefix: 'fad',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", [\"M112 144a144 144 0 1 1 288 0 144 144 0 1 1 -288 0z\", \"M0 481.3C0 392.2 72.2 320 161.3 320H350.7C439.8 320 512 392.2 512 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]]\n};\nvar faUserAlt = faUserLarge;\nvar faStarshipFreighter = {\n prefix: 'fad',\n iconName: 'starship-freighter',\n icon: [576, 512, [], \"e03a\", [\"M0 256C0 379.7 100.3 480 224 480c34.3 0 68.3-5.2 100.9-15.3c-1-1.1-2-2.2-2.9-3.4L225.2 336l-1.2 0c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80c0 7.4-1 14.5-2.9 21.3L383.6 384H432c17.7 0 33.2 9.6 41.5 23.9l82.1-31.9c12.3-4.8 20.4-16.6 20.4-29.8V304c0-8.8-7.2-16-16-16H445.7 432c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h13.7H560c8.8 0 16-7.2 16-16V165.9c0-13.2-8.1-25-20.4-29.8L347.6 55.2C308.2 39.9 266.3 32 224 32C100.3 32 0 132.3 0 256zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 352a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\", \"M128 160a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM301.1 277.3c1.9-6.8 2.9-13.9 2.9-21.3c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80l1.2 0L322 461.4c9.1 11.8 23.1 18.6 38 18.6h72c26.5 0 48-21.5 48-48s-21.5-48-48-48H383.6L301.1 277.3zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm32 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]]\n};\nvar faTrainTram = {\n prefix: 'fad',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", [\"M86.8 48c-12.2 0-23.6 5.5-31.2 15L42.7 79C34.5 89.3 19.4 91 9 82.7S-3 59.4 5.3 49L18 33C34.7 12.2 60 0 86.8 0H361.2c26.7 0 52 12.2 68.7 33l12.8 16c8.3 10.4 6.6 25.5-3.8 33.7s-25.5 6.6-33.7-3.7L392.5 63c-7.6-9.5-19.1-15-31.2-15H248V96H200V48H86.8zM35.1 492.9l65.5-65.5c16.3 12.9 37 20.6 59.4 20.6l-54.6 54.6c-6 6-14.1 9.4-22.6 9.4H43c-10 0-15-12.1-7.9-19.1zm307.5 9.7L288 448c22.4 0 43.1-7.7 59.4-20.6l65.5 65.5c7.1 7.1 2.1 19.1-7.9 19.1H365.3c-8.5 0-16.6-3.4-22.6-9.4zM160 160H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\", \"M160 96c-53 0-96 43-96 96V352c0 53 43 96 96 96H288c53 0 96-43 96-96V192c0-53-43-96-96-96H160zm0 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zM128 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faBridgeSuspension = {\n prefix: 'fad',\n iconName: 'bridge-suspension',\n icon: [640, 512, [], \"e4cd\", [\"M128 8c9.1 0 17 5 21 12.5C184.2 81.6 249.7 120 320 120c70.3 0 135.8-38.4 170.9-99.5C495 13.1 502.9 8 512 8c8.8 0 16.5 4.7 20.6 11.8c13.1 21.2 26.6 42.2 42.1 59.8c15.5 17.7 31.7 30.6 49.4 36.9c12.5 4.5 18.9 18.2 14.4 30.7s-18.2 18.9-30.7 14.4c-25.5-9.2-46.4-25.8-63.9-44.5V256H480V108.1c-12.4 10.7-25.8 20.1-40 28.2V256H392V157c-15.5 4.8-31.6 8.1-48 9.8V256H296V166.8c-16.4-1.6-32.5-4.9-48-9.8v99H200V136.3c-14.2-8-27.6-17.5-40-28.2V256H96V117.1c-17.4 18.7-38.4 35.3-63.9 44.5c-12.5 4.5-26.2-2-30.7-14.4s2-26.2 14.4-30.7c17.7-6.4 33.9-19.3 49.4-36.9c15.4-17.6 29-38.5 42-59.7C111.5 12.7 119.2 8 128 8z\", \"M32 256c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32c35.3 0 64 28.7 64 64v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-53 43-96 96-96h64c53 0 96 43 96 96v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-35.3 28.7-64 64-64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H32z\"]]\n};\nvar faTrashCheck = {\n prefix: 'fad',\n iconName: 'trash-check',\n icon: [448, 512, [], \"e2af\", [\"M416 96H32L53.4 466.8c1.5 25.4 22.5 45.2 47.9 45.2H346.7c25.4 0 46.5-19.8 47.9-45.2L416 96zM337 241L209 369c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 207c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\", \"M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM337 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 241z\"]]\n};\nvar faUserNurse = {\n prefix: 'fad',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", [\"M96 160H352c0 70.7-57.3 128-128 128s-128-57.3-128-128z\", \"M96 70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V160H96V70.2zm15.9 257.5c10.5-3.4 21.8 .4 29.4 8.5l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.5 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]]\n};\nvar faBoombox = {\n prefix: 'fad',\n iconName: 'boombox',\n icon: [640, 512, [128254], \"f8a5\", [\"M0 224c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224zM288 336A112 112 0 1 0 64 336a112 112 0 1 0 224 0zM464 448a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\", \"M120 48C97.9 48 80 65.9 80 88v72H64c-11.7 0-22.6 3.1-32 8.6V88C32 39.4 71.4 0 120 0H520c48.6 0 88 39.4 88 88v80.6c-9.4-5.4-20.3-8.6-32-8.6H560V88c0-22.1-17.9-40-40-40H120zM448 160H384c0-17.7 14.3-32 32-32s32 14.3 32 32zm-96 0H288c0-17.7 14.3-32 32-32s32 14.3 32 32zm-96 0H192c0-17.7 14.3-32 32-32s32 14.3 32 32zM176 416a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-192a112 112 0 1 1 0 224 112 112 0 1 1 0-224zM544 336a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-192 0a112 112 0 1 1 224 0 112 112 0 1 1 -224 0z\"]]\n};\nvar faSyringe = {\n prefix: 'fad',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", [\"M294.1 72l-83.7 83.7 57 57c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-57-57-41.4 41.4 57 57c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-57-57L80.4 285.7C69.9 296.2 64 310.4 64 325.3v88.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h88.8c14.9 0 29.1-5.9 39.6-16.4L440 217.9c-.3-.3-.7-.6-1-.9l-16-16-56-56L311 89 295 73c-.3-.3-.6-.7-.9-1z\", \"M441 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l15 15L384 94.1 329 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72 72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55L456 89.9l15 15c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L473 39 441 7zM210.3 155.7l-22.6 22.6 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57zm-64 64l-22.6 22.6 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z\"]]\n};\nvar faCloudSun = {\n prefix: 'fad',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", [\"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1c0-.4 0-.7 0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17.1c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\", \"M559.9 511.9c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.3 242.6 402.8 224 368 224c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.6c0 53 43 96 96 96H559.9z\"]]\n};\nvar faShieldExclamation = {\n prefix: 'fad',\n iconName: 'shield-exclamation',\n icon: [512, 512, [], \"e247\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faStopwatch20 = {\n prefix: 'fad',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", [\"M176 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V98.4C92.3 113.8 16 200 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-41.8-12.3-80.7-33.5-113.2l24.1-24.1c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L355.7 143c-28.1-23-62.2-38.8-99.7-44.6V64h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176zM288 204c28.7 0 52 23.3 52 52v96c0 28.7-23.3 52-52 52s-52-23.3-52-52V256c0-28.7 23.3-52 52-52zm-12 52v96c0 6.6 5.4 12 12 12s12-5.4 12-12V256c0-6.6-5.4-12-12-12s-12 5.4-12 12zM159.5 244c-5.4 0-10.2 3.5-11.9 8.6l-.6 1.7c-3.5 10.5-14.8 16.1-25.3 12.6s-16.1-14.8-12.6-25.3l.6-1.7c7.2-21.5 27.2-35.9 49.8-35.9c29 0 52.5 23.5 52.5 52.5v2.2c0 13.4-4.9 26.4-13.8 36.4l-39 43.9c-6.2 7-10 15.7-10.9 24.9H192c11 0 20 9 20 20s-9 20-20 20H128c-11 0-20-9-20-20V368.3c0-20.6 7.5-40.4 21.2-55.8l39-43.9c2.4-2.7 3.7-6.2 3.7-9.8v-2.2c0-6.9-5.6-12.5-12.5-12.5z\", \"M147.6 252.6c1.7-5.1 6.5-8.6 11.9-8.6c6.9 0 12.5 5.6 12.5 12.5v2.2c0 3.6-1.3 7.1-3.7 9.8l-39 43.9c-13.7 15.4-21.2 35.2-21.2 55.8V384c0 11 9 20 20 20h64c11 0 20-9 20-20s-9-20-20-20H148.2c.9-9.2 4.7-17.9 10.9-24.9l39-43.9c8.9-10 13.8-23 13.8-36.4v-2.2c0-29-23.5-52.5-52.5-52.5c-22.6 0-42.7 14.5-49.8 35.9l-.6 1.7c-3.5 10.5 2.2 21.8 12.6 25.3s21.8-2.2 25.3-12.6l.6-1.7zM288 204c-28.7 0-52 23.3-52 52v96c0 28.7 23.3 52 52 52s52-23.3 52-52V256c0-28.7-23.3-52-52-52zm-12 52c0-6.6 5.4-12 12-12s12 5.4 12 12v96c0 6.6-5.4 12-12 12s-12-5.4-12-12V256z\"]]\n};\nvar faSquareFull = {\n prefix: 'fad',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", [\"M0 0H512V512H0V0z\", \"\"]]\n};\nvar faGripDots = {\n prefix: 'fad',\n iconName: 'grip-dots',\n icon: [448, 512, [], \"e410\", [\"M384 288a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM112 336a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\", \"M384 128a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM112 176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]]\n};\nvar faCommentExclamation = {\n prefix: 'fad',\n iconName: 'comment-exclamation',\n icon: [512, 512, [], \"f4af\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zm0-336c13.3 0 24 10.7 24 24V248c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24zM224 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M280 136c0-13.3-10.7-24-24-24s-24 10.7-24 24V248c0 13.3 10.7 24 24 24s24-10.7 24-24V136zM256 368a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faPenSwirl = {\n prefix: 'fad',\n iconName: 'pen-swirl',\n icon: [512, 512, [], \"e214\", [\"M256 8c30.1 0 59 5.4 85.7 15.2L303.6 61.7C288.3 58 272.4 56 256 56C145.5 56 56 145.5 56 256s89.5 200 200 200c13.3 0 24 10.7 24 24s-10.7 24-24 24C119 504 8 393 8 256S119 8 256 8zM456 256c0-16-1.9-31.7-5.5-46.6L489 170.9c9.7 26.5 15 55.2 15 85.1c0 83.9-68.1 152-152 152c-13.1 0-25.8-1.7-38-4.8c-12.8-3.3-20.6-16.4-17.3-29.2s16.4-20.6 29.2-17.3c8.3 2.1 17 3.3 26 3.3c57.4 0 104-46.6 104-104z\", \"M406.1 16L366.4 55.7l89.3 89.3 39.8-38.9c19.1-18.7 19.2-49.4 .4-68.2L473.9 16c-18.8-18.8-49.2-18.7-67.9 0zM343.7 78.4L200.5 221.8c-7 7-12.3 15.6-15.4 25l-23.8 71.3c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l71.5-23.9c9.2-3.1 17.6-8.2 24.5-15L432.8 167.5 343.7 78.4z\"]]\n};\nvar faFalafel = {\n prefix: 'fad',\n iconName: 'falafel',\n icon: [576, 512, [129478], \"e40a\", [\"M565.4 373.4c-21.9 21.9-70.8 8.6-109.1-29.8s-51.7-87.2-29.8-109.1s70.8-8.6 109.1 29.8s51.7 87.2 29.8 109.1z\", \"M166.6 125.5c-8.8 10.7-8.8 26.3 0 37c5.9 7.1 8 16.7 5.7 25.7c-.3 1.3-.6 2.6-.7 3.9c17.2 .6 33.9 8.6 45.1 22.8c28.3 .2 52.1 20.3 58.1 47.4c4.8 2.4 9.2 5.4 13.1 8.8c3.9-3.4 8.3-6.4 13.1-8.8c6-27.1 29.8-47.1 58.1-47.4c17.3-21.9 47.4-29.2 72.8-17c1.5-.7 3-1.4 4.5-1.9c.1-2.6-.2-5.2-.9-7.8c-2.3-9-.1-18.6 5.7-25.7c8.8-10.7 8.8-26.3 0-37c-5.9-7.1-8-16.7-5.7-25.7c3.4-13.5-3.2-27.6-15.7-33.3c-8.3-3.8-14.3-11.5-16.1-20.6c-2.7-13.7-14.6-23.5-28.3-23.1c-9.1 .3-17.8-4-23.2-11.4C344 .3 329.1-3.2 316.9 3.2c-8.1 4.3-17.7 4.3-25.8 0C278.9-3.2 264 .3 255.8 11.4c-5.5 7.4-14.1 11.7-23.2 11.4c-13.7-.4-25.7 9.4-28.3 23.1c-1.8 9.1-7.8 16.8-16.1 20.6c-12.5 5.7-19.2 19.8-15.7 33.3c2.3 9 .1 18.6-5.7 25.7zm76.4 141.4c-3.7-12.1-14.9-20.4-27.6-20.1c-3.6 .1-7.2-.5-10.5-1.8c-5-1.9-9.4-5.2-12.7-9.6c-8.2-11.2-23.2-14.6-35.3-8.2c-8.1 4.3-17.7 4.3-25.8 0c-12.2-6.4-27.1-2.9-35.3 8.2c-5.5 7.4-14.1 11.7-23.2 11.4c-13.7-.4-25.7 9.4-28.3 23.1c-1.8 9.1-7.8 16.8-16.1 20.6c-12.5 5.7-19.2 19.8-15.7 33.3c2.3 9 .1 18.6-5.7 25.7c-8.8 10.7-8.8 26.3 0 37c5.9 7.1 8 16.7 5.7 25.7c-3.4 13.5 3.2 27.6 15.7 33.3c8.3 3.8 14.3 11.5 16.1 20.6c2.7 13.7 14.6 23.5 28.3 23.1c9.1-.3 17.8 4 23.2 11.4c8.2 11.2 23.2 14.6 35.3 8.2c8.1-4.3 17.7-4.3 25.8 0c12.2 6.4 27.1 2.9 35.3-8.2c5.5-7.4 14.1-11.7 23.2-11.4c13.7 .4 25.7-9.4 28.3-23.1c1.8-9.1 7.8-16.8 16.1-20.6c4.1-1.9 7.6-4.7 10.3-8.1c-3.1-10.1-3.7-21-1.2-31.7c-17.3-22.1-17.3-53.3 0-75.4c-2.4-10.7-1.9-21.7 1.2-31.7c-2.7-3.4-6.2-6.2-10.3-8.1c-8.3-3.8-14.3-11.5-16.1-20.6c-.2-1-.5-2-.8-3zM240 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM64 368a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm469.4-58.6c-21.9 21.9-70.8 8.6-109.1-29.8s-51.7-87.2-29.8-109.1c1.6-1.6 3.3-2.9 5.1-4.2c-4.3-.1-8.6-1.1-12.5-3.2c-12.2-6.4-27.1-2.9-35.3 8.2c-5.5 7.4-14.1 11.7-23.2 11.4c-13.7-.4-25.7 9.4-28.3 23.1c-1.8 9.1-7.8 16.8-16.1 20.6c-12.5 5.7-19.2 19.8-15.7 33.3c2.3 9 .1 18.6-5.7 25.7c-8.8 10.7-8.8 26.3 0 37c5.9 7.1 8 16.7 5.7 25.7c-3.4 13.5 3.2 27.6 15.7 33.3c8.3 3.8 14.3 11.5 16.1 20.6c2.7 13.7 14.6 23.5 28.3 23.1c9.1-.3 17.8 4 23.2 11.4c8.2 11.2 23.2 14.6 35.3 8.2c8.1-4.3 17.7-4.3 25.8 0c12.2 6.4 27.1 2.9 35.3-8.2c5.5-7.4 14.1-11.7 23.2-11.4c13.7 .4 25.7-9.4 28.3-23.1c1.8-9.1 7.8-16.8 16.1-20.6c12.5-5.7 19.2-19.8 15.7-33.3c-2.3-9-.1-18.6 5.7-25.7c6.7-8.1 8.3-19 4.9-28.4c-1.7 5.9-4.6 11.2-8.8 15.4zM456.8 224c1.9 0 3.8 .2 5.8 .4c-1.9-.3-3.8-.5-5.8-.4zM368 352a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faCircle2 = {\n prefix: 'fad',\n iconName: 'circle-2',\n icon: [512, 512, [], \"e0ef\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM222.7 168.7l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L244.7 320H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L276.3 224.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1c-9.1-.1-18 2.8-25.3 8.3z\", \"M248 160.3c-9.1-.1-18 2.8-25.3 8.3l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L244.7 320H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L276.3 224.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.5-37.1l-3.4-.1z\"]]\n};\nvar faMagnet = {\n prefix: 'fad',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", [\"M0 160H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v96zm320 0H448V64c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32v96z\", \"M0 160v96C0 379.7 100.3 480 224 480s224-100.3 224-224V160H320v96c0 53-43 96-96 96s-96-43-96-96V160H0z\"]]\n};\nvar faJar = {\n prefix: 'fad',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", [\"M64 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM96 192H224c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\", \"M64 0C46.3 0 32 14.3 32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM96 192c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H96z\"]]\n};\nvar faGramophone = {\n prefix: 'fad',\n iconName: 'gramophone',\n icon: [384, 512, [], \"f8bd\", [\"M150.6 15.9C147.1 6.1 137.5-.4 127 0c-10.5 .4-19.5 7.7-22.2 17.8L32.8 289.7c-.1 .3-.2 .7-.3 1c-.7 3.3-.8 6.5-.2 9.6c.6 3.1 1.7 6.1 3.5 8.8c2.4 3.7 5.9 6.8 10.2 8.7c1.4 .6 2.8 1.1 4.3 1.5c3.4 .8 6.8 .9 10 .2c3-.6 5.9-1.7 8.7-3.5c.3-.2 .7-.5 1-.7c108.2-77.3 197.2-76.6 241.4-69.4c4.7 .8 9.3 3.7 12.4 8.6c2.6 4.9 4 10.3 4.1 15.6c-.2 18.7-15.3 33.7-34 33.7l-110 0c-11.6 0-21.3 8.2-23.5 19.2c-.3 1.6-.5 3.2-.5 4.8v56h48V352l86.6 0c45 0 81.4-36.5 81.4-81.4l0-.3 0-.3c0-12-2.8-24.1-8.2-35c-8.5-17.5-22.9-31.7-40.1-40.4C257.9 159.3 213.4 114 186.4 77.8c-13.5-18.1-22.6-34-28.2-45.1c-2.8-5.6-4.8-9.9-6-12.8c-.6-1.4-1-2.5-1.3-3.2l-.3-.7 0-.1z\", \"M64 384c-17.7 0-32 14.3-32 32v32c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32V416c0-17.7-14.3-32-32-32H64z\"]]\n};\nvar faDiceD12 = {\n prefix: 'fad',\n iconName: 'dice-d12',\n icon: [512, 512, [], \"f6ce\", [\"M330.2 3.2c-3.6-2.1-7.8-3.2-12-3.2H193.8c-4.2 0-8.4 1.1-12 3.2l-72 41.6c-5.9 3.4-5.1 12.2 1.3 14.5l136.8 48.9c5.2 1.9 10.9 1.9 16.1 0L400.9 59.3c6.4-2.3 7.2-11.1 1.3-14.5l-72-41.6zM12.7 165.3c-3.6 6.3-2.6 14.2 2.5 19.3L123 292.4c4.9 4.9 12.3 6.1 18.5 3l89.7-44.8c5.4-2.7 8.8-8.3 8.8-14.3V150.6c0-6.8-4.3-12.8-10.6-15.1L76.6 80.9c-7.3-2.6-15.4 .4-19.2 7.1L12.7 165.3zM435.4 80.9L282.6 135.5c-6.4 2.3-10.6 8.3-10.6 15.1v85.7c0 6.1 3.4 11.6 8.8 14.3l89.7 44.8c6.2 3.1 13.6 1.9 18.5-3L496.7 184.7c5.1-5.1 6.2-13 2.5-19.3L454.6 88c-3.9-6.7-12-9.7-19.2-7.1z\", \"M161.6 481c2.2 7-5.3 13-11.6 9.3L74.2 446.6c-3.6-2.1-6.7-5.1-8.8-8.8L3.2 330.2c-2.1-3.6-3.2-7.8-3.2-12V233.9c0-7.1 8.6-10.7 13.7-5.7l96.1 96.1c2.7 2.7 4.8 6.1 5.9 9.8L161.6 481zM498.3 228.3c5-5 13.7-1.5 13.7 5.7v84.2c0 4.2-1.1 8.4-3.2 12L446.6 437.8c-2.1 3.6-5.1 6.7-8.8 8.8l-75.8 43.7c-6.3 3.6-13.8-2.4-11.6-9.3l45.9-146.9c1.2-3.7 3.2-7.1 5.9-9.8l96.1-96.1zM310.7 500.8c-2.1 6.7-8.3 11.2-15.3 11.2H216.5c-7 0-13.2-4.5-15.3-11.2L151.4 341.2c-2.3-7.5 1.1-15.6 8.1-19.1l89.3-44.7c4.5-2.3 9.8-2.3 14.3 0l89.3 44.7c7 3.5 10.5 11.6 8.1 19.1L310.7 500.8z\"]]\n};\nvar faNoteSticky = {\n prefix: 'fad',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H288V352c0-17.7 14.3-32 32-32H448V96c0-35.3-28.7-64-64-64H64z\", \"M288 352V480h5.5c17 0 33.3-6.7 45.3-18.7l90.5-90.5c12-12 18.7-28.3 18.7-45.3V320H320c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faStickyNote = faNoteSticky;\nvar faDown = {\n prefix: 'fad',\n iconName: 'down',\n icon: [384, 512, [\"arrow-alt-down\"], \"f354\", [\"M256 256H128V72c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40l0 184z\", \"M128 256v0l-96 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l160 160c12.5 12.5 32.8 12.5 45.3 0l160-160c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8l-96 0v0H128z\"]]\n};\nvar faArrowAltDown = faDown;\nvar faHundredPoints = {\n prefix: 'fad',\n iconName: 'hundred-points',\n icon: [512, 512, [128175, \"100\"], \"e41c\", [\"M484.5 351.7c17.5-2.5 29.7-18.7 27.2-36.2s-18.7-29.7-36.2-27.2l-448 64C10 354.8-2.2 371 .3 388.5S19 418.2 36.5 415.7l448-64zm0 96c17.5-2.5 29.7-18.7 27.2-36.2s-18.7-29.7-36.2-27.2l-224 32c-17.5 2.5-29.7 18.7-27.2 36.2s18.7 29.7 36.2 27.2l224-32z\", \"M163 101.8C168 61.9 201.9 32 242 32c47.9 0 85 42 79 89.5L309 218.2c-5 39.8-38.9 69.8-79 69.8c-47.9 0-85-42-79-89.5L163 101.8zM242 96c-7.9 0-14.5 5.9-15.5 13.7l-12.1 96.7c-1.2 9.3 6.1 17.6 15.5 17.6c7.9 0 14.5-5.9 15.5-13.7l12.1-96.7c1.2-9.3-6.1-17.6-15.5-17.6zM123.5 38.3c9.2 6.9 13.8 18.2 12.2 29.7l-32 224c-2.5 17.5-18.7 30-36.2 27.7S37.8 301.5 40.3 284L64.3 116.5l-19.7 8.7c-16.2 7.2-35.1 0-42-16.1s.6-35.1 16.8-42.3l72-32c10.6-4.7 22.9-3.4 32.1 3.5zM427.7 32c46.9 0 83.7 40.3 79.5 87l-7.3 80.4c-3.7 41.1-38.2 72.6-79.5 72.6c-46.9 0-83.7-40.3-79.5-87l7.3-80.4C351.9 63.5 386.4 32 427.7 32zm-15.7 78.4l-7.3 80.4c-.8 9.3 6.4 17.2 15.7 17.2c8.2 0 15-6.2 15.7-14.4l7.3-80.4c.8-9.3-6.4-17.2-15.7-17.2c-8.2 0-15 6.2-15.7 14.4z\"]]\n};\nvar fa100 = faHundredPoints;\nvar faPaperclipVertical = {\n prefix: 'fad',\n iconName: 'paperclip-vertical',\n icon: [384, 512, [], \"e3c2\", [\"M32 128C32 57.3 89.3 0 160 0s128 57.3 128 128V320c0 44.2-35.8 80-80 80s-80-35.8-80-80V160c0-17.7 14.3-32 32-32s32 14.3 32 32V320c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-35.3-28.7-64-64-64s-64 28.7-64 64V336c0 61.9 50.1 112 112 112s112-50.1 112-112V160c0-17.7 14.3-32 32-32s32 14.3 32 32V336c0 97.2-78.8 176-176 176s-176-78.8-176-176V128z\", \"\"]]\n};\nvar faWindWarning = {\n prefix: 'fad',\n iconName: 'wind-warning',\n icon: [640, 512, [\"wind-circle-exclamation\"], \"f776\", [\"M433.3 336C401.1 420.2 319.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 5.4-.2 10.7-.6 16H384c-17.7 0-32 14.3-32 32s14.3 32 32 32h49.3zM248 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM224 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\", \"M433.3 176c7.7 20.1 12.6 41.6 14.1 64H544c53 0 96-43 96-96s-43-96-96-96H512c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H433.3zM472 432c0 17.7 14.3 32 32 32h32c53 0 96-43 96-96s-43-96-96-96H384c-17.7 0-32 14.3-32 32s14.3 32 32 32H536c17.7 0 32 14.3 32 32s-14.3 32-32 32H504c-17.7 0-32 14.3-32 32zM224 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]]\n};\nvar faWindCircleExclamation = faWindWarning;\nvar faLocationPinSlash = {\n prefix: 'fad',\n iconName: 'location-pin-slash',\n icon: [640, 512, [\"map-marker-slash\"], \"f60c\", [\"M459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4l305 239zm-52.8 81.6L128.1 196.9c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0c16.2-20.2 39-49.6 62.5-83.1z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faMapMarkerSlash = faLocationPinSlash;\nvar faFaceSadSweat = {\n prefix: 'fad',\n iconName: 'face-sad-sweat',\n icon: [576, 512, [], \"e38a\", [\"M288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8c7 9.2 18.1 24.6 27.7 40.7c4.8 8.1 9.6 17 13.2 25.7c3.4 8 7.1 19 7.1 30.5c0 24.5-11.1 46-28.4 60.3C146.4 480.2 213.5 512 288 512zm82.7-100.1c-6.6 5.9-16.7 5.4-22.6-1.2c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C220.2 371.4 248.3 352 288 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6zM227.3 148.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zM207.6 240a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-18.9-68.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\", \"M227.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM239.6 272a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm160 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM348.7 148.7c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM48 416c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C67.6 308.6 96 349 96 369c0 26-21.5 47-48 47z\"]]\n};\nvar faBugSlash = {\n prefix: 'fad',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", [\"M336 360.7l94.8 74.7c-25.1 24.1-58.2 40.1-94.8 43.8V360.7zM166.7 227.3L304 335.5V479.2c-34.5-3.4-65.8-17.8-90.3-39.6l-63.1 63.1c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C165.5 367.8 160 344.6 160 320H96c-17.7 0-32-14.3-32-32s14.3-32 32-32h64.3c.8-10 2.9-19.7 6.4-28.7zM480 320c0 9.9-.9 19.5-2.6 28.9L240 162.8c7.7-1.8 15.8-2.8 24-2.8H376c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H544c17.7 0 32 14.3 32 32s-14.3 32-32 32H480zM320 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H252.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faCupcake = {\n prefix: 'fad',\n iconName: 'cupcake',\n icon: [448, 512, [129473], \"e402\", [\"M225.2 9.9c2.5-6 8.3-9.9 14.8-9.9h4.6C303.9 0 352 48.1 352 107.4c0 7.3-.9 14.3-2.6 21c4.2 .5 8.4 1.5 12.5 2.8l22.6 7.5C422.4 151.5 448 187 448 227c0 51.4-41.6 93-93 93H93c-51.4 0-93-41.6-93-93c0-40 25.6-75.6 63.6-88.2l22.6-7.5c3.2-1.1 6.5-1.9 9.9-2.4c0-.3 0-.6 0-.8c0-35.3 28.7-64 64-64h62.1C232 64 240 56 240 46.1c0-4.8-1.9-9.3-5.3-12.7l-6.1-6.1c-4.6-4.6-5.9-11.5-3.5-17.4z\", \"M64.6 315.6l25 156c3.7 23.3 23.8 40.4 47.4 40.4h10.9l-24-192H93c-9.9 0-19.5-1.5-28.4-4.4zm91.6 4.4l24 192h87.8l24-192H156.1zm168 0l-24 192h10.9c23.6 0 43.7-17.1 47.4-40.4l25-156c-9 2.9-18.5 4.4-28.4 4.4H324.1z\"]]\n};\nvar faLightSwitchOff = {\n prefix: 'fad',\n iconName: 'light-switch-off',\n icon: [384, 512, [], \"e018\", [\"M160 416c-35.3 0-64-28.7-64-64V256H288v96c0 35.3-28.7 64-64 64H160z\", \"M0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zm96-96V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64zm80 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0-416a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]]\n};\nvar faToggleLargeOff = {\n prefix: 'fad',\n iconName: 'toggle-large-off',\n icon: [576, 512, [], \"e5b0\", [\"M192 128c-70.7 0-128 57.3-128 128s57.3 128 128 128H384c70.7 0 128-57.3 128-128s-57.3-128-128-128H192zM384 64c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256S86 64 192 64H384z\", \"M192 128a128 128 0 1 0 0 256 128 128 0 1 0 0-256z\"]]\n};\nvar faPenFancySlash = {\n prefix: 'fad',\n iconName: 'pen-fancy-slash',\n icon: [640, 512, [], \"e210\", [\"M211 262.3l107 84.3-18.1 78.6c-3.9 17.1-16.9 30.7-33.8 35.4L88.4 510.3l95.4-95.4c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L65.7 487.6 115.5 310c4.7-16.9 18.3-29.9 35.4-33.8L211 262.3zM548.9 138.5l-161 140.2-100.8-79L437.5 27.1C452.5 9.9 474.2 0 497 0c43.6 0 79 35.4 79 79c0 22.8-9.9 44.6-27.1 59.6z\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]]\n};\nvar faTruckContainer = {\n prefix: 'fad',\n iconName: 'truck-container',\n icon: [640, 512, [], \"f4dc\", [\"M48 32C21.5 32 0 53.5 0 80V224c0 26.5 21.5 48 48 48H352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM80 72c8.8 0 16 7.2 16 16V216c0 8.8-7.2 16-16 16s-16-7.2-16-16V88c0-8.8 7.2-16 16-16zM224 88c0-8.8 7.2-16 16-16s16 7.2 16 16V216c0 8.8-7.2 16-16 16s-16-7.2-16-16V88zM160 72c8.8 0 16 7.2 16 16V216c0 8.8-7.2 16-16 16s-16-7.2-16-16V88c0-8.8 7.2-16 16-16zM304 88c0-8.8 7.2-16 16-16s16 7.2 16 16V216c0 8.8-7.2 16-16 16s-16-7.2-16-16V88zM32 416a64 64 0 1 0 128 0A64 64 0 1 0 32 416zm160 0a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zm288 0a64 64 0 1 0 128 0 64 64 0 1 0 -128 0z\", \"M456 144c-13.3 0-24 10.7-24 24v88 32 16H32c-17.7 0-32 14.3-32 32v16c0 8.8 3.6 16.8 9.4 22.6C24.8 342.3 57.8 320 96 320c33.4 0 62.8 17 80 42.9C193.2 337 222.6 320 256 320c41.8 0 77.4 26.7 90.5 64H432h21.5c13.2-37.3 48.7-64 90.5-64c38.2 0 71.2 22.3 86.6 54.6c5.8-5.8 9.4-13.8 9.4-22.6V288 272 261.7c0-9.2-3.2-18.2-9-25.3l-58.8-71.8c-10.6-13-26.5-20.5-43.3-20.5H456zM585 256H480V192h48.8c2.4 0 4.7 1.1 6.2 2.9L585 256z\"]]\n};\nvar faBoot = {\n prefix: 'fad',\n iconName: 'boot',\n icon: [512, 512, [129406], \"f782\", [\"M0 96V448H512V379c0-44.1-30-82.4-72.7-93.1L320 256H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V192H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V96H0z\", \"M32 0C14.3 0 0 14.3 0 32V96H320c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM0 448v9.4c0 14.5 5.8 28.4 16 38.6s24.1 16 38.6 16H69.5c17 0 33.3-6.7 45.3-18.7l7.6-7.6c3.1-3.1 8.2-3.1 11.3 0l7.6 7.6c12 12 28.3 18.7 45.3 18.7h11c17 0 33.3-6.7 45.3-18.7l7.6-7.6c3.1-3.1 8.2-3.1 11.3 0l7.6 7.6c12 12 28.3 18.7 45.3 18.7h11c17 0 33.3-6.7 45.3-18.7l7.6-7.6c3.1-3.1 8.2-3.1 11.3 0l7.6 7.6c12 12 28.3 18.7 45.3 18.7h14.9c14.5 0 28.4-5.8 38.6-16s16-24.1 16-38.6V448H0z\"]]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'fad',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", [\"M112 0C85.5 0 64 21.5 64 48V256H48c-26.5 0-48 21.5-48 48v96c0 8 2 15.6 5.4 22.2c3.8-1.7 7.8-3.1 12-4.1c13.1-3.1 26.7-9.8 37.3-18.6c22.2-18.7 54.3-20.1 78.1-3.4c18 12.4 40.1 20.3 59.2 20.3c21.1 0 42-8.5 59.2-20.3c22.1-15.5 51.6-15.5 73.7 0c18.4 12.7 39.6 20.3 59.2 20.3c19 0 41.2-7.9 59.2-20.3c23.8-16.7 55.8-15.3 78.1 3.4c10.6 8.8 24.2 15.6 37.3 18.6c4.2 1 8.2 2.4 12 4.1C574 415.6 576 408 576 400V304c0-26.5-21.5-48-48-48H288V48c0-26.5-21.5-48-48-48H112z\", \"M550.6 134.6c12.5-12.5 12.5-32.8 0-45.3l-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 109.3 416 256h64l0-146.7 25.4 25.4c12.5 12.5 32.8 12.5 45.3 0zM306.5 421.9c-11.1-7.9-25.9-7.9-37 0C247 437.4 219.5 448 192 448c-26.9 0-55.3-10.8-77.4-26.1l0 0c-11.9-8.5-28.1-7.8-39.2 1.7c-14.4 11.9-32.5 21-50.6 25.2c-17.2 4-27.9 21.2-23.9 38.4s21.2 27.9 38.4 23.9c24.5-5.7 44.9-16.5 58.2-25C126.5 501.7 159 512 192 512c31.9 0 60.6-9.9 80.4-18.9c5.8-2.7 11.1-5.3 15.6-7.7c4.5 2.4 9.7 5.1 15.6 7.7c19.8 9 48.5 18.9 80.4 18.9c33 0 65.5-10.3 94.5-25.8c13.4 8.4 33.7 19.3 58.2 25c17.2 4 34.4-6.7 38.4-23.9s-6.7-34.4-23.9-38.4c-18.1-4.2-36.2-13.3-50.6-25.2c-11.1-9.4-27.3-10.1-39.2-1.7l0 0C439.4 437.2 410.9 448 384 448c-27.5 0-55-10.6-77.5-26.1z\"]]\n};\nvar faFileCheck = {\n prefix: 'fad',\n iconName: 'file-check',\n icon: [384, 512, [], \"f316\", [\"M0 64C0 28.7 28.7 0 64 0H224V128c0 17.7 14.3 32 32 32H384V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM305 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L305 281z\", \"M384 160L224 0V128c0 17.7 14.3 32 32 32H384zM305 281c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L305 281z\"]]\n};\nvar faBone = {\n prefix: 'fad',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", [\"M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2H384c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336H192c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z\", \"\"]]\n};\nvar faCardsBlank = {\n prefix: 'fad',\n iconName: 'cards-blank',\n icon: [640, 512, [], \"e4df\", [\"M306.4 472.3l137-79.1c3.3-1.9 6.4-4.1 9.2-6.6c19.4-17.2 24.7-46.2 11.2-69.5L324.8 76.4C334.4 68.7 346.7 64 360 64H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360c-25.3 0-46.6-16.7-53.6-39.7z\", \"M7.5 194.9c-15.4-26.6-6.3-60.7 20.4-76.1L220.7 7.5c26.6-15.4 60.7-6.3 76.1 20.4l167 289.3c15.4 26.6 6.2 60.7-20.4 76.1L250.5 504.5c-26.6 15.4-60.7 6.3-76.1-20.4L7.5 194.9z\"]]\n};\nvar faCircle3 = {\n prefix: 'fad',\n iconName: 'circle-3',\n icon: [512, 512, [], \"e0f0\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128H312c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H240c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L250.3 176H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M160 152c0-13.3 10.7-24 24-24H312c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H240c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L250.3 176H184c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faBenchTree = {\n prefix: 'fad',\n iconName: 'bench-tree',\n icon: [640, 512, [], \"e2e7\", [\"M606.8 111.1c.8-4.9 1.2-10 1.2-15.1c0-53-43-96-96-96s-96 43-96 96c0 5.1 .4 10.2 1.2 15.1C397.1 125.7 384 149.3 384 176c0 44.2 35.8 80 80 80h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256h16c44.2 0 80-35.8 80-80c0-26.7-13.1-50.3-33.2-64.9z\", \"M64 192H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32zM0 384c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H96v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faKeyboardBrightnessLow = {\n prefix: 'fad',\n iconName: 'keyboard-brightness-low',\n icon: [640, 512, [], \"e1c1\", [\"M288 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM128 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm352-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM96 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M192 384c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32z\"]]\n};\nvar faSkiBootSki = {\n prefix: 'fad',\n iconName: 'ski-boot-ski',\n icon: [640, 512, [], \"e3cd\", [\"M269.5 32H184c-15.3 0-28.4 10.8-31.4 25.7L116.8 237c39.8-9.3 125.1-47.4 152.7-205zM640 416c0-17.7-14.3-32-32-32s-32 14.3-32 32s-14.3 32-32 32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H544c53 0 96-43 96-96z\", \"M415.4 38.3c3.5-17.3-7.8-34.2-25.1-37.7s-34.2 7.8-37.7 25.1L351.4 32H269.5c-27.6 157.6-113 195.8-152.7 205L88.6 377.7c-1.9 9.4 .6 19.1 6.6 26.6s15.2 11.7 24.7 11.7H448c17.7 0 32-14.3 32-32V304c0-12.7-7.5-24.2-19.1-29.3L382.2 240H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h61.4l9.6-48H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h61.4L409 70.3l6.4-32z\"]]\n};\nvar faBrainCircuit = {\n prefix: 'fad',\n iconName: 'brain-circuit',\n icon: [512, 512, [], \"e0c6\", [\"M240 56c0-30.9-25.1-56-56-56c-28.9 0-52.7 21.9-55.7 49.9C100.6 56.9 80 82.1 80 112c0 6 .8 11.9 2.4 17.4C53.6 135.7 32 161.3 32 192c0 15 5.1 28.8 13.8 39.7C18.7 244.5 0 272.1 0 304c0 34.2 21.4 63.4 51.6 74.8C49.3 385.4 48 392.6 48 400c0 35.3 28.7 64 64 64c5.6 0 11.1-.7 16.3-2.1c2.9 28.2 26.8 50.1 55.7 50.1c30.9 0 56-25.1 56-56V272H192c-8.8 0-16 7.2-16 16v34.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V288c0-26.5 21.5-48 48-48h48V160H205.3c-6.6 18.6-24.4 32-45.3 32c-26.5 0-48-21.5-48-48s21.5-48 48-48c20.9 0 38.7 13.4 45.3 32H240V56zm32 104V352h34.7c6.6-18.6 24.4-32 45.3-32c26.5 0 48 21.5 48 48s-21.5 48-48 48c-20.9 0-38.7-13.4-45.3-32H272v72c0 30.9 25.1 56 56 56c28.9 0 52.7-21.9 55.7-50.1c5.2 1.4 10.7 2.1 16.3 2.1c35.3 0 64-28.7 64-64c0-7.4-1.3-14.6-3.6-21.2C490.6 367.4 512 338.2 512 304c0-31.9-18.7-59.5-45.8-72.3C474.9 220.8 480 207 480 192c0-30.7-21.6-56.3-50.4-62.6c1.6-5.5 2.4-11.4 2.4-17.4c0-29.9-20.6-55.1-48.3-62.1C380.6 21.9 356.9 0 328 0c-30.9 0-56 25.1-56 56v72h48c26.5 0 48 21.5 48 48v2.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V176c0-8.8-7.2-16-16-16H272z\", \"M240 272V456h32V384h34.7c6.6 18.6 24.4 32 45.3 32c26.5 0 48-21.5 48-48s-21.5-48-48-48c-20.9 0-38.7 13.4-45.3 32H272V160h48c8.8 0 16 7.2 16 16v2.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V176c0-26.5-21.5-48-48-48H272V56H240v72H205.3c-6.6-18.6-24.4-32-45.3-32c-26.5 0-48 21.5-48 48s21.5 48 48 48c20.9 0 38.7-13.4 45.3-32H240v80H192c-26.5 0-48 21.5-48 48v34.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V288c0-8.8 7.2-16 16-16h48zM176 144a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm176 96a16 16 0 1 1 0-32 16 16 0 1 1 0 32zM176 368a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm192 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z\"]]\n};\nvar faUserInjured = {\n prefix: 'fad',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", [\"M96 128c0-11 1.4-21.8 4-32H348c2.6 10.2 4 21 4 32c0 70.7-57.3 128-128 128s-128-57.3-128-128zM272 512h-9.6l-57.6-96H272c26.5 0 48 21.5 48 48s-21.5 48-48 48zm0-128H185.6l-45.5-75.9c12.3-2.7 25.1-4.1 38.2-4.1h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H336c10-13.4 16-30 16-48c0-44.2-35.8-80-80-80zM0 482.3c0-55 24.9-104.1 64-136.8V512H29.7C13.3 512 0 498.7 0 482.3z\", \"M348 96c-6.7-25.9-21.3-48.7-41.1-65.5L222.6 96H348zM224 0C164.4 0 114.2 40.8 100 96h70.5L278.4 12.1C261.9 4.3 243.4 0 224 0zm38.4 512L140.1 308.1c-28.5 6.2-54.5 19.3-76.1 37.3V512H262.4z\"]]\n};\nvar faBlockBrickFire = {\n prefix: 'fad',\n iconName: 'block-brick-fire',\n icon: [640, 512, [\"firewall\"], \"e3dc\", [\"M384 32H128v80H384V32zM96 32C60.7 32 32 60.7 32 96v16H96V32zM32 240H240V144H32v96zm0 32v96H96V272H32zm0 144c0 35.3 28.7 64 64 64H240V400H32v16zm240 64h65.6c-20.2-22.6-35.1-50-43.1-80H272v80zM480 144.6V144h-.6c.2 .2 .4 .4 .6 .6zm-72.1-.6H272v96h54.9c20.6-32.8 48.5-66.2 81-96zM309 272H128v96H288.8c-.5-5.9-.8-11.9-.8-17.9c0-25.4 8.5-52.4 21-78.1zM480 96c0-35.3-28.7-64-64-64v80h64V96z\", \"M443.7 160c3.5 0 7 1.3 9.8 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7zM481 448c18 0 34-5 49-15c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78z\"]]\n};\nvar faFirewall = faBlockBrickFire;\nvar faFaceSadTear = {\n prefix: 'fad',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", [\"M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm240 80c0-8.8 7.2-16 16-16c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16zm-80 80c-26.5 0-48-21-48-47c0-20 28.6-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C179.6 308.6 208 349 208 369c0 26-21.5 47-48 47zM367.6 208a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\", \"M303.6 208a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM112 369c0 26 21.5 47 48 47s48-21 48-47c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0C140.6 308.6 112 349 112 369zm63.6-129a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'fad',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", [\"M214.9 320l150.9 0L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1l-56.2 0c-10.6 0-18.3-10.2-15.4-20.4l49-171.6zM365.7 192l-150.9 0-49-171.6C162.9 10.2 170.6 0 181.2 0l56.2 0c11.5 0 22.1 6.2 27.8 16.1L365.7 192z\", \"M482.3 192c34.2 0 93.7 29 93.7 64c0 36-59.5 64-93.7 64L112 320 68.8 377.6c-3 4-7.8 6.4-12.8 6.4l-42 0c-7.8 0-14-6.3-14-14c0-1.3 .2-2.6 .5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8 6.3-14 14-14l42 0c5 0 9.8 2.4 12.8 6.4L112 192l370.3 0z\"]]\n};\nvar faTentArrowsDown = {\n prefix: 'fad',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", [\"M268.6 166.5c11.5-8.7 27.3-8.7 38.8 0l168 128c6.6 5 11 12.5 12.3 20.7l24 160c1.4 9.2-1.3 18.6-7.4 25.6s-14.9 11.1-24.2 11.1H384L288 352V512H96c-9.3 0-18.2-4.1-24.2-11.1s-8.8-16.4-7.4-25.6l24-160c1.2-8.2 5.6-15.7 12.3-20.7l168-128z\", \"M208.1 145.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72zm352 0c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72z\"]]\n};\nvar faExclamation = {\n prefix: 'fad',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", [\"M-8 440a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\", \"M32 32c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32s-32-14.3-32-32V64C0 46.3 14.3 32 32 32z\"]]\n};\nvar faArrowsSpin = {\n prefix: 'fad',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", [\"M72 49.4H177.4c8.8 0 16 7.2 16 16V170.7c0 14.3-17.2 21.4-27.3 11.3l-30.5-30.5c-23.9 28-38.4 64.3-38.4 104c0 11.1 1.1 22 3.3 32.5h-65c-1.5-10.6-2.3-21.4-2.3-32.5c0-57.4 21.6-109.7 57-149.3L60.7 76.7C50.6 66.6 57.7 49.4 72 49.4zM348.2 332.2l29 29c24.8-28.2 39.9-65.2 39.9-105.7c0-10.8-1.1-21.3-3.1-31.5h64.9c1.5 10.3 2.2 20.8 2.2 31.5c0 58.2-22.2 111.2-58.6 151l31 31c10.1 10.1 2.9 27.3-11.3 27.3H336.9c-8.8 0-16-7.2-16-16V343.5c0-14.3 17.2-21.4 27.3-11.3z\", \"M35.5 288l0 0h65l0 0h-65zM257.1 95.5c-11.4 0-22.4 1.2-33.1 3.4V34c10.8-1.6 21.9-2.4 33.1-2.4c58.2 0 111.2 22.2 151 58.6l29.4-29.4c10.1-10.1 27.3-2.9 27.3 11.3l0 105.4c0 8.8-7.2 16-16 16l-105.4 0c-14.3 0-21.4-17.2-11.3-27.3l30.6-30.6c-28.2-24.8-65.2-39.9-105.7-39.9zM182.1 348.2l-28.9 28.9c28 23.9 64.3 38.4 104 38.4c10.6 0 20.9-1 30.9-3v64.9c-10.1 1.4-20.4 2.1-30.9 2.1c-57.4 0-109.7-21.6-149.3-57L76.7 453.6c-10.1 10.1-27.3 2.9-27.3-11.3l0-105.4c0-8.8 7.2-16 16-16l105.4 0c14.3 0 21.4 17.2 11.3 27.3z\"]]\n};\nvar faFaceSmileRelaxed = {\n prefix: 'fad',\n iconName: 'face-smile-relaxed',\n icon: [512, 512, [], \"e392\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM164.1 325.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm47.1-91.9c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\", \"M140.8 233.6c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zm160 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2z\"]]\n};\nvar faCommentXmark = {\n prefix: 'fad',\n iconName: 'comment-xmark',\n icon: [512, 512, [\"comment-times\"], \"f4b5\", [\"M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM175 159c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\", \"M209 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47z\"]]\n};\nvar faCommentTimes = faCommentXmark;\nvar faPrint = {\n prefix: 'fad',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", [\"M128 0C92.7 0 64 28.7 64 64V192h64V64H354.7L384 93.3V192h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zM64 384v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384H384v64H128V384H64z\", \"M0 256c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v96c0 17.7-14.3 32-32 32H384V352H128v32H32c-17.7 0-32-14.3-32-32V256zm456 16a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]]\n};\nvar faTurkishLiraSign = {\n prefix: 'fad',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", [\"M64 117.6v66.6l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 117.6zm0 96v66.6l-23.2 6.6c-17 4.9-34.7-5-39.6-22s5-34.7 22-39.6L64 213.6zm64 48.3V195.3l119.2-34.1c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 261.9zm0-96V99.3L247.2 65.2c17-4.9 34.7 5 39.6 22s-5 34.7-22 39.6L128 165.9z\", \"M96 32c17.7 0 32 14.3 32 32V416h63.8c68.2 0 124.4-53.5 127.8-121.6l.4-8c.9-17.7 15.9-31.2 33.6-30.4s31.2 15.9 30.4 33.6l-.4 8C378.5 399.8 294.1 480 191.8 480H96c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32z\"]]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faFaceNoseSteam = {\n prefix: 'fad',\n iconName: 'face-nose-steam',\n icon: [512, 512, [], \"e382\", [\"M512 256c0 29.1-4.9 57-13.8 83.1c-5.3-1.7-10.8-2.8-16.3-3.1c-1.2-1.4-2.4-2.7-3.7-4c-23.3-23.3-60.1-24.9-85.3-4.7l-56.5-33.9c-12.6-7.6-28.7-5.6-39.1 4.8s-12.4 26.5-4.8 39.1l33.9 56.5c-20.2 25.1-18.6 62 4.7 85.3c1.3 1.3 2.6 2.5 4 3.7c.3 5.3 1.3 10.6 2.9 15.8c-25.8 8.7-53.3 13.4-82 13.4c-29.4 0-57.6-5-83.9-14.1c1.7-5.2 2.7-10.6 3-16c1.4-1.2 2.7-2.4 4-3.7c23.3-23.3 24.9-60.1 4.7-85.3l33.9-56.5c7.6-12.6 5.6-28.7-4.8-39.1s-26.5-12.4-39.1-4.8l-56.5 33.9c-25.1-20.2-62-18.6-85.3 4.7l4 4-4-4c-1.3 1.3-2.5 2.6-3.7 4c-5.1 .3-10.1 1.2-15 2.7C4.7 312.1 0 284.6 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm304 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h96zM389.1 143.2c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1c-41.3 13.8-74.2 39.9-86.3 51.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c9.3-9.3 38.2-32.3 73.7-44.1zm-266.1 0c35.5 11.8 64.4 34.8 73.7 44.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-12-12-45-38.1-86.3-51.9c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2z\", \"M9.4 421.7c2.1 2.1 4.3 3.8 6.7 5.2C1.7 445.6 3 472.7 20.3 489.9s44.3 18.6 63.1 4.2c1.4 2.4 3.1 4.7 5.2 6.7c12.5 12.5 32.8 12.5 45.3 0c9.9-9.9 11.9-24.6 6.2-36.5c6-1.2 11.7-4.1 16.4-8.8c12.5-12.5 12.5-32.8 0-45.3c-3.6-3.6-7.9-6.2-12.5-7.7l44.9-69.8c1.8-2.8 1.4-6.5-.9-8.8c-2.3-2.3-5.9-2.7-8.7-1L108 367.5c-1.5-5-4.2-9.7-8.1-13.7c-12.5-12.5-32.8-12.5-45.3 0c-4.7 4.7-7.6 10.4-8.8 16.4c-11.9-5.7-26.6-3.6-36.5 6.2c-12.5 12.5-12.5 32.8 0 45.3zm491.5 .9c12.5-12.5 12.5-32.8 0-45.3c-9.9-9.9-24.6-11.9-36.5-6.2c-1.2-6-4.1-11.7-8.8-16.4c-12.5-12.5-32.8-12.5-45.3 0c-3.7 3.7-6.3 8.1-7.8 12.8L332.8 323c-2.8-1.8-6.5-1.4-8.8 1c-2.3 2.3-2.7 6-1 8.8l44.2 70.4c-4.9 1.5-9.6 4.1-13.4 8c-12.5 12.5-12.5 32.8 0 45.3c4.7 4.7 10.4 7.6 16.4 8.8c-5.7 11.9-3.6 26.6 6.2 36.5c12.5 12.5 32.8 12.5 45.3 0c2.1-2.1 3.8-4.3 5.2-6.7c18.8 14.5 45.9 13.1 63.1-4.2s18.6-44.3 4.2-63.1c2.4-1.4 4.7-3.1 6.7-5.2z\"]]\n};\nvar faCircleWaveformLines = {\n prefix: 'fad',\n iconName: 'circle-waveform-lines',\n icon: [512, 512, [\"waveform-circle\"], \"e12d\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-368V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zM160 176V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 24V312c0 8.8-7.2 16-16 16s-16-7.2-16-16V200c0-8.8 7.2-16 16-16s16 7.2 16 16zM224 216v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V216c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 24v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\", \"M272 128c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM144 160c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm192 24c8.8 0 16 7.2 16 16V312c0 8.8-7.2 16-16 16s-16-7.2-16-16V200c0-8.8 7.2-16 16-16zM208 200c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V216c0-8.8 7.2-16 16-16zm192 24c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\"]]\n};\nvar faWaveformCircle = faCircleWaveformLines;\nvar faDollarSign = {\n prefix: 'fad',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", [\"M160 0c17.7 0 32 14.3 32 32V67.7c-21.9-2.9-43.6-3-64-.3V32c0-17.7 14.3-32 32-32zM128 445.1c21.9 3.2 43.6 3.8 64 1.5V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.1z\", \"M108.5 137.8c-19.4 7.7-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3c.9 .3 1.9 .5 2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-31.6 12.9-70.3 15.2-109.7 9.3l-.2 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3c-.9-.2-1.8-.5-2.8-.7C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c32.4-12.9 72.1-15.9 111.9-10c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2z\"]]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faFerrisWheel = {\n prefix: 'fad',\n iconName: 'ferris-wheel',\n icon: [512, 512, [], \"e174\", [\"M293 286.6c6.9-8.3 11-19 11-30.6c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 11.6 4.1 22.3 11 30.6L130.2 477.9c-3.5 7.4-2.9 16.1 1.5 23s12 11.1 20.2 11.1H360c8.2 0 15.8-4.2 20.2-11.1s5-15.6 1.5-23L293 286.6z\", \"M302.7 36.9c27.7 5.9 53.5 16.9 76.4 31.9c6.3-3.1 13.4-4.8 20.9-4.8c26.5 0 48 21.5 48 48c0 7.5-1.7 14.6-4.8 20.9c15.1 22.9 26 48.7 31.9 76.4c21.1 5 36.9 24 36.9 46.7s-15.7 41.7-36.9 46.7c-5.9 27.7-16.9 53.5-31.9 76.4c3.1 6.3 4.8 13.4 4.8 20.9c0 26.5-21.5 48-48 48c-7.5 0-14.6-1.7-20.9-4.8c-3.4 2.2-6.9 4.4-10.4 6.4l-27.1-58.4c5-3.2 9.8-6.6 14.4-10.3c4.8-11.2 13.8-20.2 25.1-25.1c17.2-21.5 29-47.5 33.2-75.9H297.6c4.1-7.1 6.4-15.3 6.4-24c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 8.7 2.3 16.9 6.4 24H97.8c4.3 28.5 16.1 54.4 33.2 75.9c11.2 4.8 20.2 13.8 25.1 25.1c4.6 3.7 9.4 7.1 14.4 10.3l-27.1 58.4c-3.5-2.1-7-4.2-10.4-6.4c-6.3 3.1-13.4 4.8-20.9 4.8c-26.5 0-48-21.5-48-48c0-7.5 1.7-14.6 4.8-20.9c-15.1-22.9-26.1-48.7-31.9-76.4C15.7 297.7 0 278.7 0 256s15.7-41.7 36.9-46.7c5.9-27.7 16.9-53.5 31.9-76.4C65.7 126.6 64 119.5 64 112c0-26.5 21.5-48 48-48c7.5 0 14.6 1.7 20.9 4.8c22.9-15.1 48.7-26.1 76.4-31.9C214.3 15.7 233.3 0 256 0s41.7 15.7 46.7 36.9zM127.2 161.1c-15.1 20.5-25.4 44.6-29.4 70.9H198.1l-70.9-70.9zm33.9-33.9L232 198.1V97.8c-26.3 4-50.4 14.3-70.9 29.4zM280 97.8V198.1l70.9-70.9c-20.5-15.1-44.6-25.4-70.9-29.4zm104.8 63.3L313.9 232H414.2c-3.9-26.3-14.3-50.4-29.4-70.9z\"]]\n};\nvar faComputerSpeaker = {\n prefix: 'fad',\n iconName: 'computer-speaker',\n icon: [640, 512, [], \"f8b2\", [\"M288 432V416H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H304c-10-13.4-16-30-16-48zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H288V320H64V96H288V80c0-18 6-34.6 16-48H64zm304 0c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368zM480 224a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm-32-96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\", \"M64 96H288V320H64V96zm384 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm80 192a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-144 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]]\n};\nvar faSkullCow = {\n prefix: 'fad',\n iconName: 'skull-cow',\n icon: [640, 512, [], \"f8de\", [\"M576.8 21.1c-2.5-7.4 .7-15.4 7.5-19.1s15.3-2 20.1 4.1l7.5 9.3c18.2 22.7 28 51.1 28 80.1C640 166.1 582.8 224 512 224H480V176c0-18-6-34.6-16-48h48 23c28.7 0 52.7-21.7 55.6-50.3c.8-7.8-.1-15.8-2.6-23.2L576.8 21.1zM176 128c-10 13.4-16 30-16 48v48H128C57.2 224 0 166.1 0 95.5C0 66.4 9.9 38 28 15.3L35.5 6C40.3 0 48.8-1.8 55.6 1.9s10 11.8 7.5 19.1L52 54.5c-2.5 7.5-3.4 15.4-2.6 23.2C52.3 106.3 76.3 128 105 128h23 48z\", \"M240 96c-44.2 0-80 35.8-80 80V288c0 37 25.2 68.2 59.3 77.3l27.6 110.3c5.3 21.4 24.5 36.4 46.6 36.4h53c22 0 41.2-15 46.6-36.4l27.6-110.3C454.8 356.2 480 325 480 288V176c0-44.2-35.8-80-80-80H240zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faX = {\n prefix: 'fad',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", [\"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\", \"\"]]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'fad',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", [\"M208 416A208 208 0 1 0 208 0a208 208 0 1 0 0 416zm20-312v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V312c0 11-9 20-20 20s-20-9-20-20V297.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V104c0-11 9-20 20-20s20 9 20 20z\", \"M228 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104zM330.7 376L457.4 502.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L376 330.7C363.3 348 348 363.3 330.7 376z\"]]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'fad',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", [\"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2-2.4-4.1-.1-.2-.1-.2c-3.4-6.2-6.4-12.6-9-19.3c-8.2-21.2 2.2-42.6 19-52.3l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7z\", \"M631.5 338c2.6 6.8-.5 14.3-6.8 18l-3 1.7c-9.2 5.3-13.7 15.8-13.7 26.4s4.5 21.1 13.7 26.4l3 1.7c6.3 3.6 9.5 11.1 6.8 17.9c-2.1 5.5-4.6 10.7-7.4 15.8l-2.4 4.2c-3 5.1-6.4 9.9-10.1 14.5c-4.6 5.7-12.7 6.7-19 3l-2.9-1.7c-9.2-5.3-20.4-4-29.6 1.3s-16.1 14.5-16.1 25.1v3.4c0 7.3-4.9 13.8-12.1 14.9c-6.5 1-13.1 1.5-19.9 1.5s-13.4-.5-19.9-1.5c-7.2-1.1-12.1-7.6-12.1-14.9v-3.4c0-10.6-6.9-19.8-16.1-25.1s-20.4-6.6-29.6-1.3l-2.9 1.7c-6.3 3.6-14.4 2.6-19-3c-3.7-4.6-7.1-9.4-10.1-14.5l-2.4-4.1c-2.8-5.1-5.3-10.4-7.4-15.8c-2.6-6.8 .5-14.3 6.8-17.9l3-1.7c9.2-5.3 13.7-15.8 13.7-26.4s-4.5-21.1-13.7-26.4l-2.9-1.7c-6.3-3.6-9.5-11.1-6.8-17.9c2.1-5.5 4.6-10.8 7.4-15.9l2.3-3.9c3.1-5.1 6.5-10 10.2-14.6c4.6-5.7 12.7-6.7 19-3l2.9 1.7c9.2 5.3 20.4 4 29.6-1.3s16.1-14.5 16.1-25.1v-3.4c0-7.3 4.9-13.8 12.1-14.9c6.5-1 13.1-1.5 19.9-1.5s13.4 .5 19.9 1.5c7.2 1.1 12.1 7.6 12.1 14.9v3.4c0 10.6 6.9 19.8 16.1 25.1s20.4 6.6 29.6 1.3l2.9-1.7c6.3-3.6 14.4-2.6 19 3c3.7 4.6 7.1 9.5 10.2 14.5l2.3 4c2.8 5.1 5.3 10.4 7.4 15.9zM512 424a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'fad',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", [\"M240 112c0-11.4 2.4-22.2 6.7-32H393.3c4.3 9.8 6.7 20.6 6.7 32c0 44.2-35.8 80-80 80s-80-35.8-80-80zM386.8 230.5c10.9 3.5 21.2 8.3 30.9 14.4L246.6 416H416v32H224V393.4L386.8 230.5z\", \"M237.8 28.5c-12.6 2-21.8 12.9-21.8 25.6C216 68.4 227.6 80 241.9 80H400c8.8 0 16-7.2 16-16V18.8c0-9.8-8.8-17.4-18.5-15.8L237.8 28.5zM345.2 224H240 72c-22.1 0-40 17.9-40 40s17.9 40 40 40H224v89.4L386.8 230.5c-13.3-4.3-27.3-6.5-41.6-6.5zM224 480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V448H224v32zm22.6-64H416V369.7l53.6 90.7c11.2 19 35.8 25.3 54.8 14.1s25.3-35.8 14.1-54.8L462.3 290.8c-11.2-18.9-26.6-34.5-44.6-45.9L246.6 416z\"]]\n};\nvar faBuildingColumns = {\n prefix: 'fad',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", [\"M128 192H64V420.3c-.6 .3-1.2 .7-1.7 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V192H384V416H344V192H280V416H232V192H168V416H128V192z\", \"M268.6 2.6c-8-3.4-17.2-3.4-25.2 0l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v8c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24l0-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faCircleT = {\n prefix: 'fad',\n iconName: 'circle-t',\n icon: [512, 512, [], \"e124\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM152 144H256 360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M128 168c0-13.3 10.7-24 24-24H256 360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H152c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faSack = {\n prefix: 'fad',\n iconName: 'sack',\n icon: [512, 512, [], \"f81c\", [\"M192 96H320l47.4-71.1C374.5 14.2 366.9 0 354.1 0H157.9c-12.8 0-20.4 14.2-13.3 24.9L192 96zm128 32H192c-3.8 2.5-8.1 5.3-13 8.4l0 0C122.3 172.7 0 250.9 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-165.1-122.3-243.3-179-279.6c-4.8-3.1-9.2-5.9-13-8.4z\", \"M176 112c0-8.8 7.2-16 16-16H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\"]]\n};\nvar faGrid2 = {\n prefix: 'fad',\n iconName: 'grid-2',\n icon: [512, 512, [], \"e196\", [\"M480 72c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40V184c0 22.1 17.9 40 40 40H440c22.1 0 40-17.9 40-40V72zM224 328c0-22.1-17.9-40-40-40H72c-22.1 0-40 17.9-40 40V440c0 22.1 17.9 40 40 40H184c22.1 0 40-17.9 40-40V328z\", \"M224 80c0-26.5-21.5-48-48-48H80C53.5 32 32 53.5 32 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80zM480 336c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336z\"]]\n};\nvar faCameraCctv = {\n prefix: 'fad',\n iconName: 'camera-cctv',\n icon: [576, 512, [\"cctv\"], \"f8ac\", [\"M362.6 330l150.8 68.5c3.9 1.8 8.4 1.9 12.5 .3s7.2-4.7 8.9-8.7l40-96c3.3-8-.3-17.2-8.3-20.8l-71.3-31.7L362.6 330zM236.9 320l-59.1-24.6L137.9 400H64V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v48 48c0 17.7 14.3 32 32 32s32-14.3 32-32V464h96c13.3 0 25.2-8.2 29.9-20.6l47-123.4z\", \"M140.3 2.5c-14.9-6.2-32.1-.3-40.1 13.7l-96 168c-4.6 8-5.5 17.5-2.5 26.2s9.5 15.7 18 19.2l288 120c9.9 4.1 21.2 3 30.1-2.9l192-128c9.8-6.5 15.2-18 14.1-29.7s-8.6-21.9-19.5-26.5l-384-160z\"]]\n};\nvar faCctv = faCameraCctv;\nvar faUmbrella = {\n prefix: 'fad',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", [\"M256 278.7c9.8-4.3 20.6-6.7 32-6.7s22.2 2.4 32 6.7V430.6c0 45-36.5 81.4-81.4 81.4c-30.8 0-59-17.4-72.8-45l-2.3-4.7c-7.9-15.8-1.5-35 14.3-42.9s35-1.5 42.9 14.3l2.3 4.7c3 5.9 9 9.6 15.6 9.6c9.6 0 17.4-7.8 17.4-17.4V278.7z\", \"M320 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V49.7C124.2 63.4 18.3 161 2.1 285.9c-2 15.6 17.3 24.4 27.8 12.7C43.9 283 71.2 272 96 272c38.7 0 71 27.5 78.4 64.1c1.7 8.7 8.7 15.9 17.6 15.9s15.8-7.2 17.6-15.9C217 299.5 249.3 272 288 272s71 27.5 78.4 64.1c1.7 8.7 8.7 15.9 17.6 15.9s15.8-7.2 17.6-15.9C409 299.5 441.3 272 480 272c24.8 0 52.1 11 66.1 26.7c10.5 11.7 29.8 2.9 27.8-12.7C557.7 161 451.8 63.4 320 49.7V32z\"]]\n};\nvar faTrowel = {\n prefix: 'fad',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", [\"M298.6 168.1c.1 .1 .2 .2 .3 .3l44.7 44.7c.1 .1 .2 .2 .3 .3L245.3 312l65.4 65.4c7.9 7.9 11.1 19.4 8.4 30.3s-10.8 19.6-21.5 22.9l-256 80c-11.4 3.5-23.8 .5-32.2-7.9S-2.1 481.8 1.5 470.5l80-256c3.3-10.7 12-18.9 22.9-21.5s22.4 .5 30.3 8.4L200 266.7l98.6-98.6z\", \"M298.9 115.6c-14.6 14.6-14.6 38.2 0 52.8l44.7 44.7c14.6 14.6 38.2 14.6 52.8 0l95.4-95.4c26.9-26.9 26.9-70.5 0-97.5s-70.5-26.9-97.5 0l-95.4 95.4z\"]]\n};\nvar faHorizontalRule = {\n prefix: 'fad',\n iconName: 'horizontal-rule',\n icon: [640, 512, [8213], \"f86c\", [\"M0 256c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"\"]]\n};\nvar faBedFront = {\n prefix: 'fad',\n iconName: 'bed-front',\n icon: [512, 512, [\"bed-alt\"], \"f8f7\", [\"M0 288c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v32 32H480 32 0V320 288z\", \"M32 80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V232.6c-9.4-5.4-20.3-8.6-32-8.6H432V160c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v64H240V160c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32v64H64c-11.7 0-22.6 3.1-32 8.6V80zm0 272H480h32v32 64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V384 352H32z\"]]\n};\nvar faBedAlt = faBedFront;\nvar faD = {\n prefix: 'fad',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", [\"M0 96C0 60.7 28.7 32 64 32h96c123.7 0 224 100.3 224 224s-100.3 224-224 224H64c-35.3 0-64-28.7-64-64V96zm160 0H64V416h96c88.4 0 160-71.6 160-160s-71.6-160-160-160z\", \"\"]]\n};\nvar faStapler = {\n prefix: 'fad',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", [\"M448 288v64H96c-17.7 0-32-14.3-32-32V219.4L448 288z\", \"M640 304v-4.7c0-36.4-20.5-69.6-53.1-85.9L260.7 50.4C236.6 38.3 209.9 32 182.9 32C128.2 32 76.7 57.8 43.8 101.6L8.2 149.1C2.9 156.2 0 164.8 0 173.7c0 19.9 14.2 36.9 33.8 40.4L448 288V416H64c-17.7 0-32 14.3-32 32s14.3 32 32 32H448h64 80c26.5 0 48-21.5 48-48V304z\"]]\n};\nvar faMasksTheater = {\n prefix: 'fad',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", [\"M240.7 446.9c-58.2 8.8-124.5-37.5-166.1-73.7c-28.3-24.5-44.3-59.8-49.8-97.2L.6 111.8C-.8 102 0 91.9 5.7 83.9C20.5 63 63 22.7 175.7 5.6s164.9 8.9 185.1 24.5c7.8 6 11.5 15.4 12.9 25.2l1.2 8.1c-53 3.2-81.9 18.8-95.7 29.5c-7.8 6-11.5 15.4-12.9 25.2L246.9 249.4c-12.3-4.4-25.8-6-39.5-3.9c-35.2 5.3-61.8 32.7-68.2 66.3c-1.6 8.2 8.3 12.2 14.8 7c17-13.5 37.5-22.9 60.4-26.4c9-1.4 17.9-1.7 26.7-1.2c-3.5 34.5 2.3 69.5 20.7 98.8c7.5 11.9 16.3 24.9 26.2 37.9c-14.9 9.7-30.7 16.6-47.1 19.1zM174.1 157c-1-5.3-7.4-6.4-11.8-3.3c-7.7 5.5-16.8 9.3-26.8 10.8s-19.8 .6-28.7-2.4c-5.1-1.7-10.9 1.3-10.3 6.7c.1 .5 .1 1.1 .2 1.6c3.2 21.8 23.2 36.8 44.7 33.5s36.3-23.5 33.1-45.3c-.1-.5-.2-1.1-.3-1.6z\", \"M399.3 509.7c-58.2-8.8-108.2-72.8-137.6-119.7c-20-31.9-25.1-70.3-19.6-107.7L266.3 118c1.4-9.8 5.1-19.2 12.9-25.2c20.2-15.6 72.4-41.5 185.1-24.5s155.2 57.4 170 78.3c5.7 8 6.5 18.1 5.1 27.9L615.2 338.8c-5.5 37.3-21.5 72.6-49.8 97.2c-41.7 36.1-108 82.5-166.1 73.7zm17.1-277.7c.1-.5 .2-1.1 .3-1.6c3.2-21.8-11.6-42-33.1-45.3s-41.5 11.8-44.7 33.5c-.1 .5-.1 1.1-.2 1.6c-.6 5.4 5.2 8.4 10.3 6.7c9-3 18.8-3.9 28.7-2.4s19.1 5.3 26.8 10.8c4.4 3.1 10.8 2 11.8-3.3zm112.6 22.2c4.4 3.1 10.8 2 11.8-3.3c.1-.5 .2-1.1 .3-1.6c3.2-21.8-11.6-42-33.1-45.3s-41.5 11.8-44.7 33.5c-.1 .5-.1 1.1-.2 1.6c-.6 5.4 5.2 8.4 10.3 6.7c9-3 18.8-3.9 28.7-2.4s19.1 5.3 26.8 10.8zm-11.5 85.2c-28.8 12.8-61.4 17.8-94.9 12.8s-63.2-19.5-87-40.3c-6.3-5.5-16.2-1.7-15.2 6.7c5.9 48.5 43 89.1 93 96.7s97.2-20.2 116.8-64.9c3.4-7.7-5-14.3-12.6-10.9z\"]]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faKipSign = {\n prefix: 'fad',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", [\"M64 224v32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H64zm118.5 64l-37.3-32 37.3-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H182.5z\", \"M340.8 88.3c13.4-11.5 15-31.7 3.5-45.1s-31.7-15-45.1-3.5L128 186.4V64c0-17.7-14.3-32-32-32S64 46.3 64 64V256 448c0 17.7 14.3 32 32 32s32-14.3 32-32V325.6L299.2 472.3c13.4 11.5 33.6 9.9 45.1-3.5s9.9-33.6-3.5-45.1L145.2 256 340.8 88.3z\"]]\n};\nvar faFaceWoozy = {\n prefix: 'fad',\n iconName: 'face-woozy',\n icon: [512, 512, [], \"e3a2\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM411.3 347.3L372 386.6c-13.7 13.7-32.3 21.4-51.7 21.4c-13.7 0-27.1-3.8-38.7-11.1L267.4 388c-18.2-11.4-40.8-13.4-60.7-5.4c-30.4 12.2-64.8 8.6-92-9.6l-11.5-7.7c-7.4-4.9-9.3-14.8-4.4-22.2s14.8-9.3 22.2-4.4l11.5 7.7c18.5 12.3 41.8 14.7 62.4 6.5c29.4-11.8 62.7-8.8 89.6 8l14.2 8.9c6.5 4.1 14.1 6.2 21.8 6.2c10.9 0 21.3-4.3 29-12l39.3-39.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM200.9 98.7c7.4 4.9 9.3 14.8 4.4 22.2c-28 42-69.6 64.1-88.3 70.3c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2c13.4-4.5 48.5-22.9 71.7-57.7c4.9-7.4 14.8-9.3 22.2-4.4zm22.6 121.4c2.1 8.6-3.1 17.3-11.6 19.4l-64 16c-8.6 2.1-17.3-3.1-19.4-11.6s3.1-17.3 11.6-19.4l64-16c8.6-2.1 17.3 3.1 19.4 11.6zM336 272c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\", \"M205.3 120.9c4.9-7.4 2.9-17.3-4.4-22.2s-17.3-2.9-22.2 4.4c-23.2 34.8-58.4 53.2-71.7 57.7c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1c18.6-6.2 60.3-28.3 88.3-70.3zm6.6 118.6c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6l-64 16c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l64-16zM336 272c17.7 0 32-28.7 32-64s-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64z\"]]\n};\nvar faCloudQuestion = {\n prefix: 'fad',\n iconName: 'cloud-question',\n icon: [640, 512, [], \"e492\", [\"M144 480C64.5 480 0 415.5 0 336c0-62.8 40.2-116.2 96.2-135.9c-.1-2.7-.2-5.4-.2-8.1c0-88.4 71.6-160 160-160c59.3 0 111 32.2 138.7 80.2C409.9 102 428.3 96 448 96c53 0 96 43 96 96c0 12.2-2.3 23.8-6.4 34.6C596 238.4 640 290.1 640 352c0 70.7-57.3 128-128 128H144zm89.8-282.7l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V296c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H286.6c-23.7 0-44.8 14.9-52.8 37.3zM352 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\", \"M286.6 160c-23.7 0-44.8 14.9-52.8 37.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V296c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H286.6zM320 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]]\n};\nvar faPineapple = {\n prefix: 'fad',\n iconName: 'pineapple',\n icon: [512, 512, [], \"e31f\", [\"M45.3 429.3l37.5 37.5c29 29 68.3 45.3 109.3 45.3s80.3-16.3 109.3-45.3L402.7 365.3c29-29 45.3-68.3 45.3-109.3s-16.3-80.3-45.3-109.3l-37.5-37.5C336.3 80.3 297 64 256 64s-80.3 16.3-109.3 45.3L45.3 210.7C16.3 239.7 0 279 0 320s16.3 80.3 45.3 109.3zM187.3 212.7L208 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80L128 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM288 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L288 313.4zM164.7 372.7c6.2-6.2 16.4-6.2 22.6 0L208 393.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6z\", \"M423.1 1.7c4.2 2.1 7.3 5.9 8.4 10.5l3.6 14.3C447 19.6 460.6 16 474.5 16H480c8.8 0 16 7.2 16 16v5.5c0 13.9-3.6 27.5-10.4 39.4l14.3 3.6c4.5 1.1 8.4 4.2 10.5 8.4s2.2 9.1 .4 13.4c-6.8 15.9-19.5 26.7-34.1 31.6l14.7 14.7c6.2 6.2 6.2 16.4 0 22.6c-15.4 15.4-35.3 23.6-55.5 24.5c-7.7-18.2-18.8-34.8-33-49.1l-37.5-37.5C351 95 334.4 83.9 316.2 76.2c.9-20.2 9.1-40.1 24.5-55.5c6.2-6.2 16.4-6.2 22.6 0l14.7 14.7C383 20.8 393.8 8.1 409.7 1.3c4.3-1.8 9.2-1.7 13.4 .4zm-235.8 211L208 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80L128 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm160 0L288 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-102.6 80c6.2-6.2 16.4-6.2 22.6 0L208 393.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6z\"]]\n};\nvar faHandPointLeft = {\n prefix: 'fad',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", [\"M0 128c0 17.7 14.3 32 32 32l208 0 0-64L32 96C14.3 96 0 110.3 0 128zM312 288l-.6 0c5.4 9.4 8.6 20.3 8.6 32c0 13.2-4 25.4-10.8 35.6c24.9 8.7 42.8 32.5 42.8 60.4c0 11.7-3.1 22.6-8.6 32l8.6 0c88.4 0 160-71.6 160-160l0-61.7c0-42.4-16.9-83.1-46.9-113.1l-11.6-11.6C429.5 77.5 396.9 64 363 64l-27 0c-35.3 0-64 28.7-64 64l0 88c0 22.1 17.9 40 40 40s40-17.9 40-40l0-56c0-8.8 7.2-16 16-16s16 7.2 16 16l0 56c0 39.8-32.2 72-72 72z\", \"M160 192c-17.7 0-32 14.3-32 32s14.3 32 32 32l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32H160zm32 96c-17.7 0-32 14.3-32 32s14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0zm0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H224c-17.7 0-32 14.3-32 32z\"]]\n};\nvar faGalleryThumbnails = {\n prefix: 'fad',\n iconName: 'gallery-thumbnails',\n icon: [576, 512, [], \"e3aa\", [\"M32 416c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H32zm160 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H192zm128 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H512z\", \"M512 64V288H64L64 64H512zM64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]]\n};\nvar faCircleJ = {\n prefix: 'fad',\n iconName: 'circle-j',\n icon: [512, 512, [], \"e112\", [\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-360V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\", \"M312 128c13.3 0 24 10.7 24 24V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24z\"]]\n};\nvar faEyes = {\n prefix: 'fad',\n iconName: 'eyes',\n icon: [640, 512, [], \"e367\", [\"M65.3 231.8c-.8 7.9-1.3 15.9-1.3 24.2c0 36.2 8.5 69 22.4 95.3c3.1 .5 6.4 .7 9.6 .7c35.3 0 64-28.7 64-64s-28.7-64-64-64c-11.1 0-21.6 2.8-30.7 7.8zM374.4 351.3c3.1 .5 6.4 .7 9.6 .7c35.3 0 64-28.7 64-64s-28.7-64-64-64c-11.1 0-21.6 2.8-30.7 7.8c-.8 7.9-1.3 15.9-1.3 24.2c0 36.2 8.5 69 22.4 95.3z\", \"M64 256c0-46.8 14.3-87.9 35.8-116.6C121.3 110.8 148.6 96 176 96s54.7 14.8 76.2 43.4C273.7 168.1 288 209.2 288 256s-14.3 87.9-35.8 116.6S203.4 416 176 416s-54.7-14.8-76.2-43.4S64 302.8 64 256zM320 126.7c-5-9.1-10.5-17.6-16.6-25.7C272.8 60.2 228.1 32 176 32s-96.8 28.2-127.4 69C18 141.8 0 196.7 0 256s18 114.2 48.6 155c30.6 40.8 75.3 69 127.4 69s96.8-28.2 127.4-69c6-8 11.6-16.6 16.6-25.7c5 9.1 10.5 17.6 16.6 25.7c30.6 40.8 75.3 69 127.4 69s96.8-28.2 127.4-69C622 370.2 640 315.3 640 256s-18-114.2-48.6-155C560.8 60.2 516.1 32 464 32s-96.8 28.2-127.4 69c-6 8-11.6 16.6-16.6 25.7zM352 256c0-46.8 14.3-87.9 35.8-116.6C409.3 110.8 436.6 96 464 96s54.7 14.8 76.2 43.4C561.7 168.1 576 209.2 576 256s-14.3 87.9-35.8 116.6S491.4 416 464 416s-54.7-14.8-76.2-43.4S352 302.8 352 256z\"]]\n};\nvar faHandshakeSimple = {\n prefix: 'fad',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", [\"M576 128h16c26.5 0 48 21.5 48 48V304c0 26.5-21.5 48-48 48H509.3c-2.5-7.2-6.8-13.9-12.8-19.4L341.1 190.2l-57.2 40.8c-21.6 15.4-51.6 10.4-67-11.2s-10.4-51.6 11.2-67l98.6-70.4c16.9-12 37-18.5 57.7-18.5c19.6 0 38.8 5.8 55.1 16.7l71 47.3H576z\", \"M48 352H156.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c7.4-8.1 11.5-18 12.4-28.2l7.8 7.1c19.5 17.9 49.9 16.6 67.8-2.9c12.9-14 15.8-33.7 9.2-50.3c-2.6-6.5-6.6-12.5-12.1-17.5L354.2 202.3l-13.1-12-57.2 40.8c-21.6 15.4-51.6 10.4-67-11.2s-10.4-51.6 11.2-67l89.3-63.8-2.7-2.3C297.5 72.1 275.5 64 252.8 64C234 64 215.7 69.6 200 80l-72 48H48c-26.5 0-48 21.5-48 48V304c0 26.5 21.5 48 48 48z\"]]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faPageCaretUp = {\n prefix: 'fad',\n iconName: 'page-caret-up',\n icon: [384, 512, [\"file-caret-up\"], \"e42a\", [\"M320 512c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320zM192 192c4.5 0 8.8 1.9 11.8 5.2l75.7 82.6c14.1 15.4 3.2 40.2-17.7 40.2H122.2c-20.9 0-31.8-24.8-17.7-40.2l75.7-82.6c3-3.3 7.3-5.2 11.8-5.2z\", \"M203.8 197.2c-3-3.3-7.3-5.2-11.8-5.2s-8.8 1.9-11.8 5.2l-75.7 82.6c-14.1 15.4-3.2 40.2 17.7 40.2H261.8c20.9 0 31.8-24.8 17.7-40.2l-75.7-82.6z\"]]\n};\nvar faFileCaretUp = faPageCaretUp;\nvar faJetFighter = {\n prefix: 'fad',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", [\"M192 192V48h88L384 192H192zm0 128H384L280 464H192V320z\", \"M160 24c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm32 168H160l-54.6-54.6c-6-6-14.1-9.4-22.6-9.4H48c-8.8 0-16 7.2-16 16v80c-17.7 0-32 14.3-32 32s14.3 32 32 32v80c0 8.8 7.2 16 16 16H82.7c8.5 0 16.6-3.4 22.6-9.4L160 320h32H500.4c7.7 0 15.3-1.4 22.5-4.1L625 277.6c9-3.4 15-12 15-21.6s-6-18.2-15-21.6L522.9 196.1c-7.2-2.7-14.8-4.1-22.5-4.1H192zM80 240h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM184 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]]\n};\nvar faFighterJet = faJetFighter;\nvar faComet = {\n prefix: 'fad',\n iconName: 'comet',\n icon: [512, 512, [], \"e003\", [\"M299.4 75.6L493.7 .9c1.5-.6 3.2-.9 4.8-.9C506 0 512 6 512 13.5c0 1.7-.3 3.3-.9 4.8L436.4 212.6l29.3-2.3c12.8-1 21.5 12.8 15.1 24L378.6 410.7C342.3 473.4 275.4 512 203 512C90.9 512 0 421.1 0 309c0-72.4 38.6-139.4 101.3-175.7L277.7 31.2c11.1-6.5 25 2.2 24 15.1l-2.3 29.3zM192 200c-6.1 0-11.7 3.5-14.3 8.9l-29.2 59.2-65.3 9.5c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l47.2 46-11.2 65c-1 6 1.4 12.1 6.4 15.7s11.5 4.1 16.8 1.2L192 402.1l58.4 30.7c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.7l-11.2-65 47.2-46c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-65.3-9.5-29.2-59.2c-2.7-5.5-8.3-8.9-14.3-8.9z\", \"M206.3 208.9c-2.7-5.5-8.3-8.9-14.3-8.9s-11.7 3.5-14.3 8.9l-29.2 59.2-65.3 9.5c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l47.2 46-11.2 65c-1 6 1.4 12.1 6.4 15.7s11.5 4.1 16.8 1.2L192 402.1l58.4 30.7c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.7l-11.2-65 47.2-46c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-65.3-9.5-29.2-59.2z\"]]\n};\nvar faSquareShareNodes = {\n prefix: 'fad',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM384 160c0 35.3-28.7 64-64 64c-15.4 0-29.5-5.4-40.6-14.5L194.1 256l85.3 46.5c11-9.1 25.2-14.5 40.6-14.5c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-2.5 .1-4.9 .4-7.3L174.5 300c-11.7 12.3-28.2 20-46.5 20c-35.3 0-64-28.7-64-64s28.7-64 64-64c18.3 0 34.8 7.7 46.5 20l81.9-44.7c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64z\", \"M320 224c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 2.5 .1 4.9 .4 7.3L174.5 212c-11.7-12.3-28.2-20-46.5-20c-35.3 0-64 28.7-64 64s28.7 64 64 64c18.3 0 34.8-7.7 46.5-20l81.9 44.7c-.3 2.4-.4 4.9-.4 7.3c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-15.4 0-29.5 5.4-40.6 14.5L194.1 256l85.3-46.5c11 9.1 25.2 14.5 40.6 14.5z\"]]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faShieldKeyhole = {\n prefix: 'fad',\n iconName: 'shield-keyhole',\n icon: [512, 512, [], \"e248\", [\"M269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L269.4 2.9zM312 208c0 22.3-13.1 41.6-32 50.6V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V258.6c-18.9-9-32-28.3-32-50.6c0-30.9 25.1-56 56-56s56 25.1 56 56z\", \"M280 258.6c18.9-9 32-28.3 32-50.6c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 22.3 13.1 41.6 32 50.6V328c0 13.3 10.7 24 24 24s24-10.7 24-24V258.6z\"]]\n};\nvar faBarcode = {\n prefix: 'fad',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", [\"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24H40c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H184zm96 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H280zM448 56V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24H472c-13.3 0-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\", \"\"]]\n};\nvar faPlusMinus = {\n prefix: 'fad',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", [\"M0 480c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\", \"M224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H160V320c0 17.7 14.3 32 32 32s32-14.3 32-32V208H336c17.7 0 32-14.3 32-32s-14.3-32-32-32H224V32z\"]]\n};\nvar faSquareSlidersVertical = {\n prefix: 'fad',\n iconName: 'square-sliders-vertical',\n icon: [448, 512, [\"sliders-v-square\"], \"f3f2\", [\"M0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 0c-17.7 0-32 14.3-32 32v32H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h16V384c0 17.7 14.3 32 32 32s32-14.3 32-32V224h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H176V128c0-17.7-14.3-32-32-32zm192 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V288H256c-17.7 0-32 14.3-32 32s14.3 32 32 32h16v32c0 17.7 14.3 32 32 32s32-14.3 32-32V352h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H336V128z\", \"M96 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H96zM256 288c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H256z\"]]\n};\nvar faSlidersVSquare = faSquareSlidersVertical;\nvar faVideo = {\n prefix: 'fad',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", [\"M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\", \"M576 128c0-11.8-6.5-22.6-16.9-28.2s-23-5-32.9 1.6L384 196.2V315.8l142.2 94.8c9.8 6.5 22.4 7.2 32.9 1.6s16.9-16.4 16.9-28.2V128z\"]]\n};\nvar faVideoCamera = faVideo;\nvar faMessageMiddle = {\n prefix: 'fad',\n iconName: 'message-middle',\n icon: [512, 512, [\"comment-middle-alt\"], \"e1e1\", [\"M343.5 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H168.5l75.2 90.2c3 3.6 7.5 5.8 12.3 5.8s9.3-2.1 12.3-5.8L343.5 416z\", \"\"]]\n};\nvar faCommentMiddleAlt = faMessageMiddle;\nvar faGraduationCap = {\n prefix: 'fad',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", [\"M325.6 139.8c8.3-3.1 12.5-12.3 9.4-20.6s-12.3-12.5-20.6-9.4L154.9 169.6C92.4 193.1 50.4 251.8 48.1 318.2c-.1 .6-.1 1.2-.1 1.8c0 28.4-10.8 57.8-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7c-3.2-14-7.5-28.3-13.4-41.5c2.8-52.5 36.4-98.7 86-117.3l159.4-59.8z\", \"M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l77.4 27.9c16.8-17.8 37.8-31.9 61.7-40.9l159.4-59.8c8.3-3.1 17.5 1.1 20.6 9.4s-1.1 17.5-9.4 20.6L166.2 199.6c-14.6 5.5-27.8 13.4-39.3 23.1l169.5 61.2c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z\"]]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'fad',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", [\"M559.7 392.2c17.8-13.1 21.6-38.1 8.5-55.9s-38.1-21.6-55.9-8.5L392.6 416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16 64c17.7 0 32-14.3 32-32s-14.3-32-32-32H288 272 193.7c-29.1 0-57.3 9.9-80 28L68.8 384H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H192 352.5c29 0 57.3-9.3 80.7-26.5l126.6-93.3zm-366.1-8.3a.5 .5 0 1 1 -.9 .2 .5 .5 0 1 1 .9-.2z\", \"M248 0c-13.3 0-24 10.7-24 24V80H168c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h56v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V176h56c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H320V24c0-13.3-10.7-24-24-24H248z\"]]\n};\nvar faPersonCircleCheck = {\n prefix: 'fad',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", [\"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 384V352h16V480c0 17.7 14.3 32 32 32s32-14.3 32-32V256.9l28.6 47.5c1.4 2.3 3.1 4.5 4.9 6.3c7.9-23 20.5-43.9 36.6-61.5l-44.9-74.7c-17.4-28.9-48.6-46.6-82.3-46.6H145.1c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9L88 256.9V480c0 17.7 14.3 32 32 32s32-14.3 32-32z\", \"M432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-164.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]]\n};\nvar faSquareZ = {\n prefix: 'fad',\n iconName: 'square-z',\n icon: [448, 512, [], \"e288\", [\"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm72 96H312c9.3 0 17.8 5.4 21.8 13.9s2.6 18.5-3.5 25.6L187.7 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.5 3.5-25.6L260.3 176H136c-13.3 0-24-10.7-24-24s10.7-24 24-24z\", \"M112 152c0-13.3 10.7-24 24-24H312c9.3 0 17.8 5.4 21.8 13.9s2.6 18.5-3.5 25.6L187.7 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.5 3.5-25.6L260.3 176H136c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faMessageText = {\n prefix: 'fad',\n iconName: 'message-text',\n icon: [512, 512, [\"comment-alt-text\"], \"e1e6\", [\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm168 48c-13.3 0-24 10.7-24 24s10.7 24 24 24h64V296c0 13.3 10.7 24 24 24s24-10.7 24-24V160h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 168z\", \"M144 136c0-13.3 10.7-24 24-24h88 88c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V160H168c-13.3 0-24-10.7-24-24z\"]]\n};\nvar faCommentAltText = faMessageText;\nvar faTurnUp = {\n prefix: 'fad',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", [\"M144 192h96V400c0 61.9-50.1 112-112 112H32c-17.7 0-32-14.3-32-32V448c0-17.7 14.3-32 32-32h96c8.8 0 16-7.2 16-16V192z\", \"M345.4 151.5c6.6 7 8.4 17.2 4.6 26s-12.5 14.5-22 14.5L56 192c-9.6 0-18.2-5.7-22-14.5s-2-19 4.6-26l136-144C179.1 2.7 185.4 0 192 0s12.9 2.7 17.4 7.5l136 144z\"]]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faWagonCovered: faWagonCovered,\n faLineHeight: faLineHeight,\n faBagel: faBagel,\n faTransporter7: faTransporter7,\n faAt: faAt,\n faRectanglesMixed: faRectanglesMixed,\n faPhoneArrowUpRight: faPhoneArrowUpRight,\n faPhoneArrowUp: faPhoneArrowUp,\n faPhoneOutgoing: faPhoneOutgoing,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faCircleL: faCircleL,\n faHeadSideGoggles: faHeadSideGoggles,\n faHeadVr: faHeadVr,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faFaceHandYawn: faFaceHandYawn,\n faGaugeSimpleMin: faGaugeSimpleMin,\n faTachometerSlowest: faTachometerSlowest,\n faStethoscope: faStethoscope,\n faCoffin: faCoffin,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faSalad: faSalad,\n faBowlSalad: faBowlSalad,\n faInfo: faInfo,\n faRobotAstromech: faRobotAstromech,\n faRingDiamond: faRingDiamond,\n faFonduePot: faFonduePot,\n faTheta: faTheta,\n faFaceHandPeeking: faFaceHandPeeking,\n faSquareUser: faSquareUser,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faTirePressureWarning: faTirePressureWarning,\n faWifiFair: faWifiFair,\n faWifi2: faWifi2,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faMp3Player: faMp3Player,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faTally4: faTally4,\n faRectangleHistory: faRectangleHistory,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faSunHaze: faSunHaze,\n faTextSize: faTextSize,\n faUfo: faUfo,\n faFork: faFork,\n faUtensilFork: faUtensilFork,\n faArrowsUpToLine: faArrowsUpToLine,\n faMobileSignal: faMobileSignal,\n faBarcodeScan: faBarcodeScan,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faFolderArrowDown: faFolderArrowDown,\n faFolderDownload: faFolderDownload,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faFaceIcicles: faFaceIcicles,\n faShovel: faShovel,\n faDoorOpen: faDoorOpen,\n faFilms: faFilms,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faFaceGlasses: faFaceGlasses,\n faNfc: faNfc,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faClosedCaptioningSlash: faClosedCaptioningSlash,\n faCalculatorSimple: faCalculatorSimple,\n faCalculatorAlt: faCalculatorAlt,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faSlidersUp: faSlidersUp,\n faSlidersV: faSlidersV,\n faLocationMinus: faLocationMinus,\n faMapMarkerMinus: faMapMarkerMinus,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faSkiBoot: faSkiBoot,\n faStandardDefinition: faStandardDefinition,\n faRectangleSd: faRectangleSd,\n faH1: faH1,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faMessageBot: faMessageBot,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faLightCeiling: faLightCeiling,\n faMessageExclamation: faMessageExclamation,\n faCommentAltExclamation: faCommentAltExclamation,\n faBowlScoop: faBowlScoop,\n faBowlShavedIce: faBowlShavedIce,\n faSquareX: faSquareX,\n faUtilityPoleDouble: faUtilityPoleDouble,\n faFlagCheckered: faFlagCheckered,\n faChevronsUp: faChevronsUp,\n faChevronDoubleUp: faChevronDoubleUp,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faUserVneck: faUserVneck,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faSquareArrowRight: faSquareArrowRight,\n faArrowSquareRight: faArrowSquareRight,\n faLocationPlus: faLocationPlus,\n faMapMarkerPlus: faMapMarkerPlus,\n faLightbulbExclamationOn: faLightbulbExclamationOn,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faCrateEmpty: faCrateEmpty,\n faDiagramPredecessor: faDiagramPredecessor,\n faTransporter: faTransporter,\n faCalendarCircleUser: faCalendarCircleUser,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faPersonCarryBox: faPersonCarryBox,\n faPersonCarry: faPersonCarry,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faUnion: faUnion,\n faChevronsLeft: faChevronsLeft,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faCircleHeart: faCircleHeart,\n faHeartCircle: faHeartCircle,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faBringForward: faBringForward,\n faSquareP: faSquareP,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faSigma: faSigma,\n faCameraMovie: faCameraMovie,\n faBong: faBong,\n faClarinet: faClarinet,\n faTruckFlatbed: faTruckFlatbed,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faLeafHeart: faLeafHeart,\n faHouseBuilding: faHouseBuilding,\n faCheeseSwiss: faCheeseSwiss,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faBowArrow: faBowArrow,\n faCartXmark: faCartXmark,\n faHexagonXmark: faHexagonXmark,\n faTimesHexagon: faTimesHexagon,\n faXmarkHexagon: faXmarkHexagon,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faMerge: faMerge,\n faPager: faPager,\n faCartMinus: faCartMinus,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faPanFrying: faPanFrying,\n faGrid: faGrid,\n faGrid3: faGrid3,\n faFootballHelmet: faFootballHelmet,\n faHandLove: faHandLove,\n faTrees: faTrees,\n faStrikethrough: faStrikethrough,\n faPage: faPage,\n faK: faK,\n faDiagramPrevious: faDiagramPrevious,\n faGaugeMin: faGaugeMin,\n faTachometerAltSlowest: faTachometerAltSlowest,\n faFolderGrid: faFolderGrid,\n faEggplant: faEggplant,\n faRam: faRam,\n faLandmarkFlag: faLandmarkFlag,\n faLips: faLips,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faDesktopArrowDown: faDesktopArrowDown,\n faCodePullRequest: faCodePullRequest,\n faPumpkin: faPumpkin,\n faClipboardList: faClipboardList,\n faPenField: faPenField,\n faBlueberries: faBlueberries,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faNote: faNote,\n faArrowDownToSquare: faArrowDownToSquare,\n faUserCheck: faUserCheck,\n faCloudXmark: faCloudXmark,\n faVialVirus: faVialVirus,\n faBookBlank: faBookBlank,\n faBookAlt: faBookAlt,\n faGolfFlagHole: faGolfFlagHole,\n faMessageArrowDown: faMessageArrowDown,\n faCommentAltArrowDown: faCommentAltArrowDown,\n faFaceUnamused: faFaceUnamused,\n faSheetPlastic: faSheetPlastic,\n faCircle9: faCircle9,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPencilSlash: faPencilSlash,\n faBowlingPins: faBowlingPins,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faDownRight: faDownRight,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faWebhook: faWebhook,\n faBlindsOpen: faBlindsOpen,\n faFence: faFence,\n faUp: faUp,\n faArrowAltUp: faArrowAltUp,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faDrumstick: faDrumstick,\n faSquareV: faSquareV,\n faFaceAwesome: faFaceAwesome,\n faGaveDandy: faGaveDandy,\n faDialOff: faDialOff,\n faToggleOff: faToggleOff,\n faFaceSmileHorns: faFaceSmileHorns,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faGrapes: faGrapes,\n faPersonDrowning: faPersonDrowning,\n faDialMax: faDialMax,\n faCircleM: faCircleM,\n faCalendarImage: faCalendarImage,\n faCircleCaretDown: faCircleCaretDown,\n faCaretCircleDown: faCaretCircleDown,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faShishKebab: faShishKebab,\n faSprayCan: faSprayCan,\n faAlarmSnooze: faAlarmSnooze,\n faScarecrow: faScarecrow,\n faTruckMonster: faTruckMonster,\n faGiftCard: faGiftCard,\n faW: faW,\n faCodePullRequestDraft: faCodePullRequestDraft,\n faSquareB: faSquareB,\n faElephant: faElephant,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faMessageQuestion: faMessageQuestion,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faSquare3: faSquare3,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faMicrowave: faMicrowave,\n faChfSign: faChfSign,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faCartCircleArrowUp: faCartCircleArrowUp,\n faTrashClock: faTrashClock,\n faGavel: faGavel,\n faLegal: faLegal,\n faSprinklerCeiling: faSprinklerCeiling,\n faBrowsers: faBrowsers,\n faTrillium: faTrillium,\n faMusicSlash: faMusicSlash,\n faTruckRamp: faTruckRamp,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faCircleC: faCircleC,\n faStarChristmas: faStarChristmas,\n faChartBullet: faChartBullet,\n faMotorcycle: faMotorcycle,\n faTreeChristmas: faTreeChristmas,\n faTireFlat: faTireFlat,\n faSunglasses: faSunglasses,\n faBadge: faBadge,\n faMessagePen: faMessagePen,\n faCommentAltEdit: faCommentAltEdit,\n faMessageEdit: faMessageEdit,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faArrowProgress: faArrowProgress,\n faChessRookPiece: faChessRookPiece,\n faChessRookAlt: faChessRookAlt,\n faSquareRoot: faSquareRoot,\n faAlbumCollectionCirclePlus: faAlbumCollectionCirclePlus,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faFaceAngryHorns: faFaceAngryHorns,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faTombstone: faTombstone,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faListMusic: faListMusic,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faMustache: faMustache,\n faHyphen: faHyphen,\n faTable: faTable,\n faUserChef: faUserChef,\n faMessageImage: faMessageImage,\n faCommentAltImage: faCommentAltImage,\n faUsersMedical: faUsersMedical,\n faSensorTriangleExclamation: faSensorTriangleExclamation,\n faSensorAlert: faSensorAlert,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faFaceMask: faFaceMask,\n faPickleball: faPickleball,\n faStarSharpHalf: faStarSharpHalf,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faMeat: faMeat,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faEmptySet: faEmptySet,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faBird: faBird,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faHeartHalfStroke: faHeartHalfStroke,\n faHeartHalfAlt: faHeartHalfAlt,\n faFileCircleQuestion: faFileCircleQuestion,\n faLaptopCode: faLaptopCode,\n faJoystick: faJoystick,\n faGrillFire: faGrillFire,\n faRectangleVerticalHistory: faRectangleVerticalHistory,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faKeyboardLeft: faKeyboardLeft,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faFaceBeamHandOverMouth: faFaceBeamHandOverMouth,\n faDropletPercent: faDropletPercent,\n faHumidity: faHumidity,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faCorn: faCorn,\n faRollerCoaster: faRollerCoaster,\n faPhotoFilmMusic: faPhotoFilmMusic,\n faRadar: faRadar,\n faSickle: faSickle,\n faFilm: faFilm,\n faCoconut: faCoconut,\n faRulerHorizontal: faRulerHorizontal,\n faShieldCross: faShieldCross,\n faCassetteTape: faCassetteTape,\n faSquareTerminal: faSquareTerminal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCommentMiddle: faCommentMiddle,\n faTrashCanList: faTrashCanList,\n faBlock: faBlock,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faFaceFrownSlight: faFaceFrownSlight,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faSidebarFlip: faSidebarFlip,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faTemperatureList: faTemperatureList,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faPipeSection: faPipeSection,\n faSpaceStationMoonConstruction: faSpaceStationMoonConstruction,\n faSpaceStationMoonAlt: faSpaceStationMoonAlt,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faFaceSleeping: faFaceSleeping,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faSquirrel: faSquirrel,\n faArrowUpToLine: faArrowUpToLine,\n faArrowToTop: faArrowToTop,\n faFlag: faFlag,\n faFaceCowboyHat: faFaceCowboyHat,\n faHanukiah: faHanukiah,\n faChartScatter3d: faChartScatter3d,\n faDisplayChartUp: faDisplayChartUp,\n faSquareCode: faSquareCode,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faXmarkToSlot: faXmarkToSlot,\n faTimesToSlot: faTimesToSlot,\n faVoteNay: faVoteNay,\n faBoxTaped: faBoxTaped,\n faBoxAlt: faBoxAlt,\n faCommentSlash: faCommentSlash,\n faSwords: faSwords,\n faCloudSunRain: faCloudSunRain,\n faAlbum: faAlbum,\n faCircleN: faCircleN,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faKeySkeletonLeftRight: faKeySkeletonLeftRight,\n faCommentLines: faCommentLines,\n faLuchadorMask: faLuchadorMask,\n faLuchador: faLuchador,\n faMaskLuchador: faMaskLuchador,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faShredder: faShredder,\n faBookOpenCover: faBookOpenCover,\n faBookOpenAlt: faBookOpenAlt,\n faSandwich: faSandwich,\n faPesetaSign: faPesetaSign,\n faSquareParkingSlash: faSquareParkingSlash,\n faParkingSlash: faParkingSlash,\n faTrainTunnel: faTrainTunnel,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faFaceAnguished: faFaceAnguished,\n faHockeySticks: faHockeySticks,\n faAbacus: faAbacus,\n faFilmSimple: faFilmSimple,\n faFilmAlt: faFilmAlt,\n faList: faList,\n faListSquares: faListSquares,\n faTreePalm: faTreePalm,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faBorderCenterV: faBorderCenterV,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faClipboardMedical: faClipboardMedical,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faUpToLine: faUpToLine,\n faArrowAltToTop: faArrowAltToTop,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faWatchFitness: faWatchFitness,\n faClockNineThirty: faClockNineThirty,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faJug: faJug,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faSnowBlowing: faSnowBlowing,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faArrowDownFromLine: faArrowDownFromLine,\n faArrowFromTop: faArrowFromTop,\n faGasPump: faGasPump,\n faSignalBarsSlash: faSignalBarsSlash,\n faSignalAltSlash: faSignalAltSlash,\n faMonkey: faMonkey,\n faRectanglePro: faRectanglePro,\n faPro: faPro,\n faHouseNight: faHouseNight,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faBlanket: faBlanket,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faCommentsQuestionCheck: faCommentsQuestionCheck,\n faTree: faTree,\n faArrowsCross: faArrowsCross,\n faBackpack: faBackpack,\n faSquareSmall: faSquareSmall,\n faFolderArrowUp: faFolderArrowUp,\n faFolderUpload: faFolderUpload,\n faBridgeLock: faBridgeLock,\n faCrosshairsSimple: faCrosshairsSimple,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faSquareSliders: faSquareSliders,\n faSlidersHSquare: faSlidersHSquare,\n faCarSide: faCarSide,\n faMessageMiddleTop: faMessageMiddleTop,\n faCommentMiddleTopAlt: faCommentMiddleTopAlt,\n faLightbulbOn: faLightbulbOn,\n faKnife: faKnife,\n faUtensilKnife: faUtensilKnife,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faDisplayChartUpCircleDollar: faDisplayChartUpCircleDollar,\n faWaveSine: faWaveSine,\n faHeartCircleMinus: faHeartCircleMinus,\n faCircleW: faCircleW,\n faCircleCalendar: faCircleCalendar,\n faCalendarCircle: faCalendarCircle,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSunset: faSunset,\n faSink: faSink,\n faCalendarExclamation: faCalendarExclamation,\n faTruckContainerEmpty: faTruckContainerEmpty,\n faHandHeart: faHandHeart,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faReplyClock: faReplyClock,\n faReplyTime: faReplyTime,\n faPersonRays: faPersonRays,\n faRight: faRight,\n faArrowAltRight: faArrowAltRight,\n faCircleF: faCircleF,\n faUsers: faUsers,\n faFacePleading: faFacePleading,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faPoliceBox: faPoliceBox,\n faCucumber: faCucumber,\n faHeadSideBrain: faHeadSideBrain,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faPersonBikingMountain: faPersonBikingMountain,\n faBikingMountain: faBikingMountain,\n faUtensilsSlash: faUtensilsSlash,\n faPrintMagnifyingGlass: faPrintMagnifyingGlass,\n faPrintSearch: faPrintSearch,\n faFolderBookmark: faFolderBookmark,\n faOm: faOm,\n faPi: faPi,\n faFlaskRoundPotion: faFlaskRoundPotion,\n faFlaskPotion: faFlaskPotion,\n faFaceShush: faFaceShush,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faCalendarCircleExclamation: faCalendarCircleExclamation,\n faSquareI: faSquareI,\n faChevronUp: faChevronUp,\n faFaceSaluting: faFaceSaluting,\n faGaugeSimpleLow: faGaugeSimpleLow,\n faTachometerSlow: faTachometerSlow,\n faFacePersevering: faFacePersevering,\n faCircleCamera: faCircleCamera,\n faCameraCircle: faCameraCircle,\n faHandSpock: faHandSpock,\n faSpiderWeb: faSpiderWeb,\n faCircleMicrophone: faCircleMicrophone,\n faMicrophoneCircle: faMicrophoneCircle,\n faBookArrowUp: faBookArrowUp,\n faPopsicle: faPopsicle,\n faCommand: faCommand,\n faBlinds: faBlinds,\n faStopwatch: faStopwatch,\n faSaxophone: faSaxophone,\n faSquare2: faSquare2,\n faFieldHockeyStickBall: faFieldHockeyStickBall,\n faFieldHockey: faFieldHockey,\n faArrowUpSquareTriangle: faArrowUpSquareTriangle,\n faSortShapesUpAlt: faSortShapesUpAlt,\n faFaceScream: faFaceScream,\n faSquareM: faSquareM,\n faCameraWeb: faCameraWeb,\n faWebcam: faWebcam,\n faCommentArrowDown: faCommentArrowDown,\n faLightbulbCfl: faLightbulbCfl,\n faWindowFrameOpen: faWindowFrameOpen,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faPeriod: faPeriod,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faUpToDottedLine: faUpToDottedLine,\n faThoughtBubble: faThoughtBubble,\n faSkeletonRibs: faSkeletonRibs,\n faRaygun: faRaygun,\n faFlute: faFlute,\n faAcorn: faAcorn,\n faVideoArrowUpRight: faVideoArrowUpRight,\n faGrateDroplet: faGrateDroplet,\n faSealExclamation: faSealExclamation,\n faChessBishop: faChessBishop,\n faMessageSms: faMessageSms,\n faCoffeeBeans: faCoffeeBeans,\n faHatWitch: faHatWitch,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faClockThreeThirty: faClockThreeThirty,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faAlarmClock: faAlarmClock,\n faEclipse: faEclipse,\n faFaceRelieved: faFaceRelieved,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faOctagonMinus: faOctagonMinus,\n faMinusOctagon: faMinusOctagon,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faFaceZany: faFaceZany,\n faTricycle: faTricycle,\n faLandMineOn: faLandMineOn,\n faSquareArrowUpLeft: faSquareArrowUpLeft,\n faICursor: faICursor,\n faChartMixedUpCircleDollar: faChartMixedUpCircleDollar,\n faSaltShaker: faSaltShaker,\n faStamp: faStamp,\n faFilePlus: faFilePlus,\n faDrawSquare: faDrawSquare,\n faToiletPaperUnderSlash: faToiletPaperUnderSlash,\n faToiletPaperReverseSlash: faToiletPaperReverseSlash,\n faStairs: faStairs,\n faDroneFront: faDroneFront,\n faDroneAlt: faDroneAlt,\n faGlassEmpty: faGlassEmpty,\n faDialHigh: faDialHigh,\n faUserHelmetSafety: faUserHelmetSafety,\n faUserConstruction: faUserConstruction,\n faUserHardHat: faUserHardHat,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faArrowDownLeftAndArrowUpRightToCenter: faArrowDownLeftAndArrowUpRightToCenter,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faBasketballHoop: faBasketballHoop,\n faObjectsAlignBottom: faObjectsAlignBottom,\n faV: faV,\n faSparkles: faSparkles,\n faSquid: faSquid,\n faLeafyGreen: faLeafyGreen,\n faCircleArrowUpRight: faCircleArrowUpRight,\n faCalendars: faCalendars,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faHammerWar: faHammerWar,\n faCircleD: faCircleD,\n faSpiderBlackWidow: faSpiderBlackWidow,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faPear: faPear,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faTriangle: faTriangle,\n faApartment: faApartment,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faPepper: faPepper,\n faPiano: faPiano,\n faGunSquirt: faGunSquirt,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faUserAlien: faUserAlien,\n faShieldCheck: faShieldCheck,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faChartCandlestick: faChartCandlestick,\n faBriefcaseBlank: faBriefcaseBlank,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faBracketRound: faBracketRound,\n faParenthesis: faParenthesis,\n faJoint: faJoint,\n faHorseSaddle: faHorseSaddle,\n faMugMarshmallows: faMugMarshmallows,\n faFilters: faFilters,\n faBellOn: faBellOn,\n faAngleRight: faAngleRight,\n faDialMed: faDialMed,\n faHorse: faHorse,\n faQ: faQ,\n faMonitorWaveform: faMonitorWaveform,\n faMonitorHeartRate: faMonitorHeartRate,\n faLinkSimple: faLinkSimple,\n faWhistle: faWhistle,\n faG: faG,\n faWineGlassCrack: faWineGlassCrack,\n faFragile: faFragile,\n faSlotMachine: faSlotMachine,\n faNotesMedical: faNotesMedical,\n faCarWash: faCarWash,\n faEscalator: faEscalator,\n faCommentImage: faCommentImage,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faDonut: faDonut,\n faDoughnut: faDoughnut,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faTally1: faTally1,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faSquareDashed: faSquareDashed,\n faSquareJ: faSquareJ,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faArrowUpBigSmall: faArrowUpBigSmall,\n faSortSizeUp: faSortSizeUp,\n faBarcodeRead: faBarcodeRead,\n faBaguette: faBaguette,\n faBowlSoftServe: faBowlSoftServe,\n faFaceHoldingBackTears: faFaceHoldingBackTears,\n faSquareUp: faSquareUp,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faTrainSubwayTunnel: faTrainSubwayTunnel,\n faSubwayTunnel: faSubwayTunnel,\n faSquareExclamation: faSquareExclamation,\n faExclamationSquare: faExclamationSquare,\n faSemicolon: faSemicolon,\n faBookmark: faBookmark,\n faFanTable: faFanTable,\n faAlignJustify: faAlignJustify,\n faBatteryLow: faBatteryLow,\n faBattery1: faBattery1,\n faCreditCardFront: faCreditCardFront,\n faBrainArrowCurvedRight: faBrainArrowCurvedRight,\n faMindShare: faMindShare,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faLocationSmile: faLocationSmile,\n faMapMarkerSmile: faMapMarkerSmile,\n faArrowLeftToLine: faArrowLeftToLine,\n faArrowToLeft: faArrowToLeft,\n faBullseye: faBullseye,\n faSushi: faSushi,\n faNigiri: faNigiri,\n faMessageCaptions: faMessageCaptions,\n faCommentAltCaptions: faCommentAltCaptions,\n faTrashList: faTrashList,\n faBacon: faBacon,\n faOption: faOption,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faTrashPlus: faTrashPlus,\n faObjectsAlignTop: faObjectsAlignTop,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFaceAnxiousSweat: faFaceAnxiousSweat,\n faCreditCardBlank: faCreditCardBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faMicrochipAi: faMicrochipAi,\n faMug: faMug,\n faPlaneUpSlash: faPlaneUpSlash,\n faRadiation: faRadiation,\n faPenCircle: faPenCircle,\n faBagSeedling: faBagSeedling,\n faChartSimple: faChartSimple,\n faCrutches: faCrutches,\n faCircleParking: faCircleParking,\n faParkingCircle: faParkingCircle,\n faMarsStroke: faMarsStroke,\n faLeafOak: faLeafOak,\n faSquareBolt: faSquareBolt,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faLambda: faLambda,\n faE: faE,\n faPizza: faPizza,\n faBowlChopsticksNoodles: faBowlChopsticksNoodles,\n faH3: faH3,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faBadgePercent: faBadgePercent,\n faUser: faUser,\n faSensor: faSensor,\n faComma: faComma,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faToiletPaperUnder: faToiletPaperUnder,\n faToiletPaperReverse: faToiletPaperReverse,\n faLightEmergency: faLightEmergency,\n faArrowDownToArc: faArrowDownToArc,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faLightSwitch: faLightSwitch,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faWavePulse: faWavePulse,\n faHeartRate: faHeartRate,\n faKey: faKey,\n faHatSanta: faHatSanta,\n faTamale: faTamale,\n faBoxCheck: faBoxCheck,\n faBullhorn: faBullhorn,\n faSteak: faSteak,\n faLocationCrosshairsSlash: faLocationCrosshairsSlash,\n faLocationSlash: faLocationSlash,\n faPersonDolly: faPersonDolly,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faFileChartColumn: faFileChartColumn,\n faFileChartLine: faFileChartLine,\n faPersonHalfDress: faPersonHalfDress,\n faFolderImage: faFolderImage,\n faCalendarPen: faCalendarPen,\n faCalendarEdit: faCalendarEdit,\n faRoadBridge: faRoadBridge,\n faFaceSmileTear: faFaceSmileTear,\n faMessagePlus: faMessagePlus,\n faCommentAltPlus: faCommentAltPlus,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faRectangleHistoryCircleUser: faRectangleHistoryCircleUser,\n faBuildingLock: faBuildingLock,\n faChartLineUp: faChartLineUp,\n faMailbox: faMailbox,\n faTruckBolt: faTruckBolt,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faCircleThreeQuartersStroke: faCircleThreeQuartersStroke,\n faPersonCircleMinus: faPersonCircleMinus,\n faScalpel: faScalpel,\n faBan: faBan,\n faCancel: faCancel,\n faBellExclamation: faBellExclamation,\n faCircleBookmark: faCircleBookmark,\n faBookmarkCircle: faBookmarkCircle,\n faEggFried: faEggFried,\n faFaceWeary: faFaceWeary,\n faUniformMartialArts: faUniformMartialArts,\n faCameraRotate: faCameraRotate,\n faSunDust: faSunDust,\n faCommentText: faCommentText,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faSignalBars: faSignalBars,\n faSignalAlt: faSignalAlt,\n faSignalAlt4: faSignalAlt4,\n faSignalBarsStrong: faSignalBarsStrong,\n faDiamondExclamation: faDiamondExclamation,\n faStar: faStar,\n faDialMin: faDialMin,\n faRepeat: faRepeat,\n faCross: faCross,\n faPageCaretDown: faPageCaretDown,\n faFileCaretDown: faFileCaretDown,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faClockSevenThirty: faClockSevenThirty,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faClockFourThirty: faClockFourThirty,\n faSignalBarsGood: faSignalBarsGood,\n faSignalAlt3: faSignalAlt3,\n faCactus: faCactus,\n faLightbulbGear: faLightbulbGear,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faPlaneTail: faPlaneTail,\n faGaugeSimpleMax: faGaugeSimpleMax,\n faTachometerFastest: faTachometerFastest,\n faCircleU: faCircleU,\n faShieldSlash: faShieldSlash,\n faSquarePhoneHangup: faSquarePhoneHangup,\n faPhoneSquareDown: faPhoneSquareDown,\n faArrowUpLeft: faArrowUpLeft,\n faTransporter1: faTransporter1,\n faPeanuts: faPeanuts,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faBinBottlesRecycle: faBinBottlesRecycle,\n faArrowUpFromSquare: faArrowUpFromSquare,\n faFileDashedLine: faFileDashedLine,\n faPageBreak: faPageBreak,\n faBracketCurlyRight: faBracketCurlyRight,\n faSpider: faSpider,\n faClockThree: faClockThree,\n faHandsBound: faHandsBound,\n faScalpelLineDashed: faScalpelLineDashed,\n faScalpelPath: faScalpelPath,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPipeSmoking: faPipeSmoking,\n faFaceAstonished: faFaceAstonished,\n faWindow: faWindow,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faEar: faEar,\n faFileLock: faFileLock,\n faDiagramVenn: faDiagramVenn,\n faXRay: faXRay,\n faGoalNet: faGoalNet,\n faCoffinCross: faCoffinCross,\n faSpellCheck: faSpellCheck,\n faLocationXmark: faLocationXmark,\n faMapMarkerTimes: faMapMarkerTimes,\n faMapMarkerXmark: faMapMarkerXmark,\n faCircleQuarterStroke: faCircleQuarterStroke,\n faLasso: faLasso,\n faSlash: faSlash,\n faPersonToPortal: faPersonToPortal,\n faPortalEnter: faPortalEnter,\n faCalendarStar: faCalendarStar,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faPegasus: faPegasus,\n faFilesMedical: faFilesMedical,\n faNfcLock: faNfcLock,\n faPersonSkiLift: faPersonSkiLift,\n faSkiLift: faSkiLift,\n faSquare6: faSquare6,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faWindTurbine: faWindTurbine,\n faSlidersSimple: faSlidersSimple,\n faGridRound: faGridRound,\n faBadgeSheriff: faBadgeSheriff,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faIntersection: faIntersection,\n faShopLock: faShopLock,\n faFamily: faFamily,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faUserHairBuns: faUserHairBuns,\n faBlenderPhone: faBlenderPhone,\n faHourglassClock: faHourglassClock,\n faPersonSeatReclined: faPersonSeatReclined,\n faPaperPlaneTop: faPaperPlaneTop,\n faPaperPlaneAlt: faPaperPlaneAlt,\n faSend: faSend,\n faMessageArrowUp: faMessageArrowUp,\n faCommentAltArrowUp: faCommentAltArrowUp,\n faLightbulbExclamation: faLightbulbExclamation,\n faLayerMinus: faLayerMinus,\n faLayerGroupMinus: faLayerGroupMinus,\n faChartPieSimpleCircleCurrency: faChartPieSimpleCircleCurrency,\n faCircleE: faCircleE,\n faBuildingWheat: faBuildingWheat,\n faGaugeMax: faGaugeMax,\n faTachometerAltFastest: faTachometerAltFastest,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faApostrophe: faApostrophe,\n faFireHydrant: faFireHydrant,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVideoPlus: faVideoPlus,\n faSquareRight: faSquareRight,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faCommentSmile: faCommentSmile,\n faVenus: faVenus,\n faPassport: faPassport,\n faInboxIn: faInboxIn,\n faInboxArrowDown: faInboxArrowDown,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faCircle8: faCircle8,\n faCloudsMoon: faCloudsMoon,\n faClockTenThirty: faClockTenThirty,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faFolderUser: faFolderUser,\n faTrashCanXmark: faTrashCanXmark,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faLeftLongToLine: faLeftLongToLine,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faCalendarRange: faCalendarRange,\n faFlowerDaffodil: faFlowerDaffodil,\n faHandBackPointUp: faHandBackPointUp,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faStarExclamation: faStarExclamation,\n faBooks: faBooks,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faLayerPlus: faLayerPlus,\n faLayerGroupPlus: faLayerGroupPlus,\n faPlayPause: faPlayPause,\n faBlockQuestion: faBlockQuestion,\n faSnooze: faSnooze,\n faZzz: faZzz,\n faScannerImage: faScannerImage,\n faTvRetro: faTvRetro,\n faSquareT: faSquareT,\n faFarm: faFarm,\n faBarnSilo: faBarnSilo,\n faChessKnight: faChessKnight,\n faBarsSort: faBarsSort,\n faPalletBoxes: faPalletBoxes,\n faPaletteBoxes: faPaletteBoxes,\n faPalletAlt: faPalletAlt,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faCodeSimple: faCodeSimple,\n faBoltSlash: faBoltSlash,\n faPanelFire: faPanelFire,\n faBinaryCircleCheck: faBinaryCircleCheck,\n faCommentMinus: faCommentMinus,\n faBurrito: faBurrito,\n faViolin: faViolin,\n faObjectsColumn: faObjectsColumn,\n faSquareChevronDown: faSquareChevronDown,\n faChevronSquareDown: faChevronSquareDown,\n faCommentPlus: faCommentPlus,\n faTriangleInstrument: faTriangleInstrument,\n faTriangleMusic: faTriangleMusic,\n faWheelchair: faWheelchair,\n faUserPilotTie: faUserPilotTie,\n faPianoKeyboard: faPianoKeyboard,\n faBedEmpty: faBedEmpty,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faRectangleVertical: faRectangleVertical,\n faRectanglePortrait: faRectanglePortrait,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faSignalStream: faSignalStream,\n faDownToBracket: faDownToBracket,\n faCircleZ: faCircleZ,\n faStars: faStars,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faHouseDay: faHouseDay,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faShirtLongSleeve: faShirtLongSleeve,\n faChartPieSimple: faChartPieSimple,\n faChartPieAlt: faChartPieAlt,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faAlbumCollectionCircleUser: faAlbumCollectionCircleUser,\n faCandy: faCandy,\n faBowlHot: faBowlHot,\n faSoup: faSoup,\n faFlatbread: faFlatbread,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faSignalBarsWeak: faSignalBarsWeak,\n faSignalAlt1: faSignalAlt1,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faClockTwelve: faClockTwelve,\n faPepperHot: faPepperHot,\n faCitrusSlice: faCitrusSlice,\n faSheep: faSheep,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faBadgerHoney: faBadgerHoney,\n faH4: faH4,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faSignalSlash: faSignalSlash,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faTaco: faTaco,\n faHexagonPlus: faHexagonPlus,\n faPlusHexagon: faPlusHexagon,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faMessages: faMessages,\n faCommentsAlt: faCommentsAlt,\n faBath: faBath,\n faBathtub: faBathtub,\n faUmbrellaSimple: faUmbrellaSimple,\n faUmbrellaAlt: faUmbrellaAlt,\n faRectangleHistoryCirclePlus: faRectangleHistoryCirclePlus,\n faUnderline: faUnderline,\n faPrescriptionBottlePill: faPrescriptionBottlePill,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faBinarySlash: faBinarySlash,\n faSquareO: faSquareO,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faTransporter3: faTransporter3,\n faEngineWarning: faEngineWarning,\n faEngineExclamation: faEngineExclamation,\n faCircleDownRight: faCircleDownRight,\n faSquareK: faSquareK,\n faManatSign: faManatSign,\n faMoneyCheckPen: faMoneyCheckPen,\n faMoneyCheckEdit: faMoneyCheckEdit,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faTilde: faTilde,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faArrowDownSquareTriangle: faArrowDownSquareTriangle,\n faSortShapesDownAlt: faSortShapesDownAlt,\n faMugHot: faMugHot,\n faDogLeashed: faDogLeashed,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faFaceDowncastSweat: faFaceDowncastSweat,\n faMailboxFlagUp: faMailboxFlagUp,\n faMemoCircleInfo: faMemoCircleInfo,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faVolume: faVolume,\n faVolumeMedium: faVolumeMedium,\n faTransporter5: faTransporter5,\n faGaugeCircleBolt: faGaugeCircleBolt,\n faCoinFront: faCoinFront,\n faFileSlash: faFileSlash,\n faMessageArrowUpRight: faMessageArrowUpRight,\n faTreasureChest: faTreasureChest,\n faChessQueen: faChessQueen,\n faPaintbrushFine: faPaintbrushFine,\n faPaintBrushAlt: faPaintBrushAlt,\n faPaintBrushFine: faPaintBrushFine,\n faPaintbrushAlt: faPaintbrushAlt,\n faGlasses: faGlasses,\n faHoodCloak: faHoodCloak,\n faSquareQuote: faSquareQuote,\n faUpLeft: faUpLeft,\n faBringFront: faBringFront,\n faChessBoard: faChessBoard,\n faBurgerCheese: faBurgerCheese,\n faCheeseburger: faCheeseburger,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faRepeat1: faRepeat1,\n faArrowDownToLine: faArrowDownToLine,\n faArrowToBottom: faArrowToBottom,\n faGrid5: faGrid5,\n faRightLongToLine: faRightLongToLine,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faGridRound5: faGridRound5,\n faTally: faTally,\n faTally5: faTally5,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faUpFromDottedLine: faUpFromDottedLine,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faTrafficLightGo: faTrafficLightGo,\n faFaceExhaling: faFaceExhaling,\n faSensorFire: faSensorFire,\n faUserUnlock: faUserUnlock,\n faHexagonDivide: faHexagonDivide,\n fa00: fa00,\n faCrow: faCrow,\n faCassetteBetamax: faCassetteBetamax,\n faBetamax: faBetamax,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faNfcMagnifyingGlass: faNfcMagnifyingGlass,\n faFileBinary: faFileBinary,\n faCircleV: faCircleV,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faBowlScoops: faBowlScoops,\n faMistletoe: faMistletoe,\n faCustard: faCustard,\n faLacrosseStick: faLacrosseStick,\n faHockeyMask: faHockeyMask,\n faSunrise: faSunrise,\n faPanelEws: faPanelEws,\n faToriiGate: faToriiGate,\n faCloudExclamation: faCloudExclamation,\n faMessageLines: faMessageLines,\n faCommentAltLines: faCommentAltLines,\n faFrog: faFrog,\n faBucket: faBucket,\n faFloppyDiskPen: faFloppyDiskPen,\n faImage: faImage,\n faWindowFrame: faWindowFrame,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faFileZip: faFileZip,\n faSquareRing: faSquareRing,\n faDownFromLine: faDownFromLine,\n faArrowAltFromTop: faArrowAltFromTop,\n faCaretUp: faCaretUp,\n faShieldXmark: faShieldXmark,\n faShieldTimes: faShieldTimes,\n faScrewdriver: faScrewdriver,\n faCircleSortDown: faCircleSortDown,\n faSortCircleDown: faSortCircleDown,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faForklift: faForklift,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faBracketSquareRight: faBracketSquareRight,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faSquareA: faSquareA,\n faTick: faTick,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faRefrigerator: faRefrigerator,\n faMonument: faMonument,\n faOctagonXmark: faOctagonXmark,\n faTimesOctagon: faTimesOctagon,\n faXmarkOctagon: faXmarkOctagon,\n faAlignSlash: faAlignSlash,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faTruckRampCouch: faTruckRampCouch,\n faTruckCouch: faTruckCouch,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faArrowUpRightAndArrowDownLeftFromCenter: faArrowUpRightAndArrowDownLeftFromCenter,\n faTablets: faTablets,\n fa360Degrees: fa360Degrees,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faSquareDashedCirclePlus: faSquareDashedCirclePlus,\n faMoneySimpleFromBracket: faMoneySimpleFromBracket,\n faBat: faBat,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faHeadSideHeadphones: faHeadSideHeadphones,\n faPhoneRotary: faPhoneRotary,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faCalendarCircleMinus: faCalendarCircleMinus,\n faChopsticks: faChopsticks,\n faCarWrench: faCarWrench,\n faCarMechanic: faCarMechanic,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faKazoo: faKazoo,\n faMarker: faMarker,\n faBinBottles: faBinBottles,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faSquareArrowDownLeft: faSquareArrowDownLeft,\n faBatteryBolt: faBatteryBolt,\n faTreeLarge: faTreeLarge,\n faHelicopterSymbol: faHelicopterSymbol,\n faAperture: faAperture,\n faUniversalAccess: faUniversalAccess,\n faGearComplex: faGearComplex,\n faFileMagnifyingGlass: faFileMagnifyingGlass,\n faFileSearch: faFileSearch,\n faUpRight: faUpRight,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faUserPolice: faUserPolice,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faTeddyBear: faTeddyBear,\n faStocking: faStocking,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faImageSlash: faImageSlash,\n faMaskSnorkel: faMaskSnorkel,\n faSmoke: faSmoke,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faBatteryExclamation: faBatteryExclamation,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faCrystalBall: faCrystalBall,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faStarShooting: faStarShooting,\n faBinaryLock: faBinaryLock,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faCommentPen: faCommentPen,\n faCommentEdit: faCommentEdit,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faBanjo: faBanjo,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faLightEmergencyOn: faLightEmergencyOn,\n faKerning: faKerning,\n faBoxOpen: faBoxOpen,\n faSquareF: faSquareF,\n faScroll: faScroll,\n faSpa: faSpa,\n faArrowLeftFromLine: faArrowLeftFromLine,\n faArrowFromRight: faArrowFromRight,\n faStrawberry: faStrawberry,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faClockEightThirty: faClockEightThirty,\n faPlaneEngines: faPlaneEngines,\n faPlaneAlt: faPlaneAlt,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faGaugeLow: faGaugeLow,\n faTachometerAltSlow: faTachometerAltSlow,\n faRegistered: faRegistered,\n faTrashCanPlus: faTrashCanPlus,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faGlobeSnow: faGlobeSnow,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faIntegral: faIntegral,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faBlindsRaised: faBlindsRaised,\n faSmog: faSmog,\n faUfoBeam: faUfoBeam,\n faCircleCaretUp: faCircleCaretUp,\n faCaretCircleUp: faCaretCircleUp,\n faUserVneckHairLong: faUserVneckHairLong,\n faSquareALock: faSquareALock,\n faCrutch: faCrutch,\n faGasPumpSlash: faGasPumpSlash,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faTransporter4: faTransporter4,\n faChartMixedUpCircleCurrency: faChartMixedUpCircleCurrency,\n faObjectsAlignRight: faObjectsAlignRight,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faPig: faPig,\n faInboxFull: faInboxFull,\n faCircleEnvelope: faCircleEnvelope,\n faEnvelopeCircle: faEnvelopeCircle,\n faTrianglePersonDigging: faTrianglePersonDigging,\n faConstruction: faConstruction,\n faFerry: faFerry,\n faBullseyeArrow: faBullseyeArrow,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faClockSeven: faClockSeven,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faFlashlight: faFlashlight,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faSquare9: faSquare9,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faSquareDollar: faSquareDollar,\n faDollarSquare: faDollarSquare,\n faUsdSquare: faUsdSquare,\n faPhoneArrowRight: faPhoneArrowRight,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faMessageCheck: faMessageCheck,\n faCommentAltCheck: faCommentAltCheck,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faChartLineUpDown: faChartLineUpDown,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faWatch: faWatch,\n faCircleDownLeft: faCircleDownLeft,\n faText: faText,\n faProjector: faProjector,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faTombstoneBlank: faTombstoneBlank,\n faTombstoneAlt: faTombstoneAlt,\n faChessKingPiece: faChessKingPiece,\n faChessKingAlt: faChessKingAlt,\n faCircle6: faCircle6,\n faLeft: faLeft,\n faArrowAltLeft: faArrowAltLeft,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faSquareDown: faSquareDown,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faObjectsAlignCenterVertical: faObjectsAlignCenterVertical,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faWreath: faWreath,\n faChildren: faChildren,\n faMeterDroplet: faMeterDroplet,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faSignalStrong: faSignalStrong,\n faSignal4: faSignal4,\n faLollipop: faLollipop,\n faLollypop: faLollypop,\n faListTree: faListTree,\n faEnvelopeOpen: faEnvelopeOpen,\n faDrawCircle: faDrawCircle,\n faCatSpace: faCatSpace,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faRabbitRunning: faRabbitRunning,\n faRabbitFast: faRabbitFast,\n faMemoPad: faMemoPad,\n faMattressPillow: faMattressPillow,\n faAlarmPlus: faAlarmPlus,\n faAlicorn: faAlicorn,\n faCommentQuestion: faCommentQuestion,\n faGingerbreadMan: faGingerbreadMan,\n faGuaraniSign: faGuaraniSign,\n faBurgerFries: faBurgerFries,\n faMugTea: faMugTea,\n faBorderTop: faBorderTop,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faCircleBookOpen: faCircleBookOpen,\n faBookCircle: faBookCircle,\n faArrowsToDottedLine: faArrowsToDottedLine,\n faFireExtinguisher: faFireExtinguisher,\n faGarageOpen: faGarageOpen,\n faShelvesEmpty: faShelvesEmpty,\n faCruzeiroSign: faCruzeiroSign,\n faWatchApple: faWatchApple,\n faWatchCalculator: faWatchCalculator,\n faListDropdown: faListDropdown,\n faCabinetFiling: faCabinetFiling,\n faBurgerSoda: faBurgerSoda,\n faSquareArrowUp: faSquareArrowUp,\n faArrowSquareUp: faArrowSquareUp,\n faGreaterThanEqual: faGreaterThanEqual,\n faPalletBox: faPalletBox,\n faFaceConfounded: faFaceConfounded,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faTruckPlow: faTruckPlow,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faGridRound2: faGridRound2,\n faCommentMiddleTop: faCommentMiddleTop,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faRestroomSimple: faRestroomSimple,\n faArrowsToDot: faArrowsToDot,\n faBorderOuter: faBorderOuter,\n faHashtagLock: faHashtagLock,\n faClockTwoThirty: faClockTwoThirty,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faHeartHalf: faHeartHalf,\n faCommentCheck: faCommentCheck,\n faSquare: faSquare,\n faMemo: faMemo,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faGlassCitrus: faGlassCitrus,\n faCalendarLinesPen: faCalendarLinesPen,\n faChurch: faChurch,\n faPersonSnowmobiling: faPersonSnowmobiling,\n faSnowmobile: faSnowmobile,\n faFaceHushed: faFaceHushed,\n faCommentsDollar: faCommentsDollar,\n faPickaxe: faPickaxe,\n faLinkSimpleSlash: faLinkSimpleSlash,\n faDemocrat: faDemocrat,\n faFaceConfused: faFaceConfused,\n faPinball: faPinball,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faDeer: faDeer,\n faInputPipe: faInputPipe,\n faRoadLock: faRoadLock,\n faA: faA,\n faBookmarkSlash: faBookmarkSlash,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faMace: faMace,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faSausage: faSausage,\n faTrashCanClock: faTrashCanClock,\n faP: faP,\n faBroomWide: faBroomWide,\n faSnowflake: faSnowflake,\n faStomach: faStomach,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faGuitarElectric: faGuitarElectric,\n faArrowTurnDownRight: faArrowTurnDownRight,\n faMoonCloud: faMoonCloud,\n faBreadSliceButter: faBreadSliceButter,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faUserGroupCrown: faUserGroupCrown,\n faUsersCrown: faUsersCrown,\n faCircleI: faCircleI,\n faToiletPaperCheck: faToiletPaperCheck,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faChartWaterfall: faChartWaterfall,\n faSparkle: faSparkle,\n faFaceParty: faFaceParty,\n faKidneys: faKidneys,\n faWifiExclamation: faWifiExclamation,\n faChartNetwork: faChartNetwork,\n faPersonDressBurst: faPersonDressBurst,\n faDiceD4: faDiceD4,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faWheatAwnSlash: faWheatAwnSlash,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faDagger: faDagger,\n faPodium: faPodium,\n faMemoCircleCheck: faMemoCircleCheck,\n faRouteHighway: faRouteHighway,\n faDownToLine: faDownToLine,\n faArrowAltToBottom: faArrowAltToBottom,\n faFilter: faFilter,\n faSquareG: faSquareG,\n faCirclePhone: faCirclePhone,\n faPhoneCircle: faPhoneCircle,\n faClipboardPrescription: faClipboardPrescription,\n faUserNurseHair: faUserNurseHair,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faToggleLargeOn: faToggleLargeOn,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faDryerHeat: faDryerHeat,\n faDryerAlt: faDryerAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faArrowUpSmallBig: faArrowUpSmallBig,\n faSortSizeUpAlt: faSortSizeUpAlt,\n faTrainTrack: faTrainTrack,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExclamation: faFileExclamation,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faMoonStars: faMoonStars,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faClothesHanger: faClothesHanger,\n faMobileNotch: faMobileNotch,\n faMobileIphone: faMobileIphone,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faImagesUser: faImagesUser,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faImagePolaroidUser: faImagePolaroidUser,\n faVirusCovid: faVirusCovid,\n faSquareEllipsis: faSquareEllipsis,\n faPie: faPie,\n faChessKnightPiece: faChessKnightPiece,\n faChessKnightAlt: faChessKnightAlt,\n faAustralSign: faAustralSign,\n faCloudPlus: faCloudPlus,\n faF: faF,\n faLeaf: faLeaf,\n faBedBunk: faBedBunk,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faClockEight: faClockEight,\n faSackXmark: faSackXmark,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faCircleQ: faCircleQ,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faFaceDisguise: faFaceDisguise,\n faCircleArrowDownRight: faCircleArrowDownRight,\n faAlien8bit: faAlien8bit,\n faAlienMonster: faAlienMonster,\n faHandPointRibbon: faHandPointRibbon,\n faPoop: faPoop,\n faObjectExclude: faObjectExclude,\n faTelescope: faTelescope,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faSquareList: faSquareList,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faCommentCode: faCommentCode,\n faSimCards: faSimCards,\n faStarship: faStarship,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faSeal: faSeal,\n faUserCowboy: faUserCowboy,\n faHexagonVerticalNft: faHexagonVerticalNft,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faBreadLoaf: faBreadLoaf,\n faRingsWedding: faRingsWedding,\n faObjectGroup: faObjectGroup,\n faFrenchFries: faFrenchFries,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faCalendarArrowDown: faCalendarArrowDown,\n faCalendarDownload: faCalendarDownload,\n faSendBack: faSendBack,\n faMaskVentilator: faMaskVentilator,\n faSignatureLock: faSignatureLock,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faOctagonPlus: faOctagonPlus,\n faPlusOctagon: faPlusOctagon,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faMelonSlice: faMelonSlice,\n faSpaceStationMoon: faSpaceStationMoon,\n faMessageSmile: faMessageSmile,\n faCommentAltSmile: faCommentAltSmile,\n faCupStraw: faCupStraw,\n faLeftFromLine: faLeftFromLine,\n faArrowAltFromRight: faArrowAltFromRight,\n faH: faH,\n faBasketShoppingSimple: faBasketShoppingSimple,\n faShoppingBasketAlt: faShoppingBasketAlt,\n faHandsHoldingHeart: faHandsHoldingHeart,\n faHandsHeart: faHandsHeart,\n faClockNine: faClockNine,\n faTarp: faTarp,\n faFaceSleepy: faFaceSleepy,\n faHandHorns: faHandHorns,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faCircleThreeQuarters: faCircleThreeQuarters,\n faTrophyStar: faTrophyStar,\n faTrophyAlt: faTrophyAlt,\n faPlugCircleBolt: faPlugCircleBolt,\n faFaceThermometer: faFaceThermometer,\n faGridRound4: faGridRound4,\n faShirtRunning: faShirtRunning,\n faBookCircleArrowUp: faBookCircleArrowUp,\n faFaceNauseated: faFaceNauseated,\n faHeart: faHeart,\n faFileChartPie: faFileChartPie,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faCircleArrowDownLeft: faCircleArrowDownLeft,\n faDumpsterFire: faDumpsterFire,\n faHexagonMinus: faHexagonMinus,\n faMinusHexagon: faMinusHexagon,\n faLeftToLine: faLeftToLine,\n faArrowAltToLeft: faArrowAltToLeft,\n faHouseCrack: faHouseCrack,\n faPawSimple: faPawSimple,\n faPawAlt: faPawAlt,\n faArrowLeftLongToLine: faArrowLeftLongToLine,\n faBracketsRound: faBracketsRound,\n faParentheses: faParentheses,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faUserShakespeare: faUserShakespeare,\n faArrowRightToArc: faArrowRightToArc,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faGaugeCirclePlus: faGaugeCirclePlus,\n faFolders: faFolders,\n faAngel: faAngel,\n faValueAbsolute: faValueAbsolute,\n faRabbit: faRabbit,\n faToiletPaperSlash: faToiletPaperSlash,\n faCircleEuro: faCircleEuro,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faDiamondHalf: faDiamondHalf,\n faLockKeyhole: faLockKeyhole,\n faLockAlt: faLockAlt,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faSquareInfo: faSquareInfo,\n faInfoSquare: faInfoSquare,\n faWifiSlash: faWifiSlash,\n faToiletPaperXmark: faToiletPaperXmark,\n faHandsHoldingDollar: faHandsHoldingDollar,\n faHandsUsd: faHandsUsd,\n faCube: faCube,\n faArrowDownTriangleSquare: faArrowDownTriangleSquare,\n faSortShapesDown: faSortShapesDown,\n faBitcoinSign: faBitcoinSign,\n faShutters: faShutters,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faTableTree: faTableTree,\n faHouseChimneyHeart: faHouseChimneyHeart,\n faTally3: faTally3,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faCartCircleExclamation: faCartCircleExclamation,\n faSword: faSword,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faInterrobang: faInterrobang,\n faPlaneSlash: faPlaneSlash,\n faCircleDashed: faCircleDashed,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faForkKnife: faForkKnife,\n faUtensilsAlt: faUtensilsAlt,\n faSatelliteDish: faSatelliteDish,\n faBadgeCheck: faBadgeCheck,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faSlider: faSlider,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faClockOneThirty: faClockOneThirty,\n faInboxOut: faInboxOut,\n faInboxArrowUp: faInboxArrowUp,\n faCloudSlash: faCloudSlash,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faOctagonCheck: faOctagonCheck,\n faFlatbreadStuffed: faFlatbreadStuffed,\n faClipboardCheck: faClipboardCheck,\n faCartCirclePlus: faCartCirclePlus,\n faTruckClock: faTruckClock,\n faShippingTimed: faShippingTimed,\n faPool8Ball: faPool8Ball,\n faFileAudio: faFileAudio,\n faTurnDownLeft: faTurnDownLeft,\n faLockHashtag: faLockHashtag,\n faChartRadar: faChartRadar,\n faStaff: faStaff,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faUtilityPole: faUtilityPole,\n faTransporter6: faTransporter6,\n faWrench: faWrench,\n faBugs: faBugs,\n faVectorPolygon: faVectorPolygon,\n faDiagramNested: faDiagramNested,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faImageUser: faImageUser,\n faBuoy: faBuoy,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faBorderCenterH: faBorderCenterH,\n faCanFood: faCanFood,\n faTypewriter: faTypewriter,\n faArrowRightFromArc: faArrowRightFromArc,\n faCircleK: faCircleK,\n faFaceHandOverMouth: faFaceHandOverMouth,\n faPopcorn: faPopcorn,\n faHouseWater: faHouseWater,\n faHouseFlood: faHouseFlood,\n faObjectSubtract: faObjectSubtract,\n faCodeBranch: faCodeBranch,\n faWarehouseFull: faWarehouseFull,\n faWarehouseAlt: faWarehouseAlt,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faArrowDownFromDottedLine: faArrowDownFromDottedLine,\n faFileDoc: faFileDoc,\n faSquareQuarters: faSquareQuarters,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faTrashXmark: faTrashXmark,\n faCircleCaretLeft: faCircleCaretLeft,\n faCaretCircleLeft: faCaretCircleLeft,\n faFiles: faFiles,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faFaceClouds: faFaceClouds,\n faUserCrown: faUserCrown,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faCartCircleCheck: faCartCircleCheck,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faUserTieHairLong: faUserTieHairLong,\n faFileCircleMinus: faFileCircleMinus,\n faHeadSideMedical: faHeadSideMedical,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faUserRobot: faUserRobot,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faCardDiamond: faCardDiamond,\n faFaceZipper: faFaceZipper,\n faFaceRaisedEyebrow: faFaceRaisedEyebrow,\n faHouseSignal: faHouseSignal,\n faSquareChevronUp: faSquareChevronUp,\n faChevronSquareUp: faChevronSquareUp,\n faNfcSymbol: faNfcSymbol,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faArrowsToLine: faArrowsToLine,\n faDolphin: faDolphin,\n faArrowUpRight: faArrowUpRight,\n faCircleR: faCircleR,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faCircleSortUp: faCircleSortUp,\n faSortCircleUp: faSortCircleUp,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faChestnut: faChestnut,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faHeat: faHeat,\n faTicketAirline: faTicketAirline,\n faBootHeeled: faBootHeeled,\n faArrowsMinimize: faArrowsMinimize,\n faCompressArrows: faCompressArrows,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faHexagon: faHexagon,\n faManhole: faManhole,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFloppyDisks: faFloppyDisks,\n faToiletPaperBlankUnder: faToiletPaperBlankUnder,\n faToiletPaperReverseAlt: faToiletPaperReverseAlt,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faPump: faPump,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faArrowUpLeftFromCircle: faArrowUpLeftFromCircle,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faDryer: faDryer,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faChessBishopPiece: faChessBishopPiece,\n faChessBishopAlt: faChessBishopAlt,\n faShirtTankTop: faShirtTankTop,\n faDiploma: faDiploma,\n faScrollRibbon: faScrollRibbon,\n faScreencast: faScreencast,\n faWalker: faWalker,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faFaceKissClosedEyes: faFaceKissClosedEyes,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faFileUser: faFileUser,\n faUserPoliceTie: faUserPoliceTie,\n faFaceTongueMoney: faFaceTongueMoney,\n faTennisBall: faTennisBall,\n faSquareL: faSquareL,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCalendarArrowUp: faCalendarArrowUp,\n faCalendarUpload: faCalendarUpload,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faScarf: faScarf,\n faAlbumCirclePlus: faAlbumCirclePlus,\n faUserNurseHairLong: faUserNurseHairLong,\n faDiamond: faDiamond,\n faSquareLeft: faSquareLeft,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faCircleEllipsisVertical: faCircleEllipsisVertical,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faGridDividers: faGridDividers,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faFacePensive: faFacePensive,\n faUserMusic: faUserMusic,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faMessagesDollar: faMessagesDollar,\n faCommentsAltDollar: faCommentsAltDollar,\n faSensorOn: faSensorOn,\n faBalloon: faBalloon,\n faBiohazard: faBiohazard,\n faChessQueenPiece: faChessQueenPiece,\n faChessQueenAlt: faChessQueenAlt,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faHousePersonLeave: faHousePersonLeave,\n faHouseLeave: faHouseLeave,\n faHousePersonDepart: faHousePersonDepart,\n faRulerTriangle: faRulerTriangle,\n faCardClub: faCardClub,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faSpinnerThird: faSpinnerThird,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faComputerMouseScrollwheel: faComputerMouseScrollwheel,\n faMouseAlt: faMouseAlt,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faTableLayout: faTableLayout,\n faNarwhal: faNarwhal,\n faRampLoading: faRampLoading,\n faCalendarCirclePlus: faCalendarCirclePlus,\n faToothbrush: faToothbrush,\n faBorderInner: faBorderInner,\n faPawClaws: faPawClaws,\n faKiwiFruit: faKiwiFruit,\n faTrafficLightSlow: faTrafficLightSlow,\n faRectangleCode: faRectangleCode,\n faHeadSideVirus: faHeadSideVirus,\n faKeyboardBrightness: faKeyboardBrightness,\n faBooksMedical: faBooksMedical,\n faLightbulbSlash: faLightbulbSlash,\n faHouseBlank: faHouseBlank,\n faHomeBlank: faHomeBlank,\n faSquare5: faSquare5,\n faSquareHeart: faSquareHeart,\n faHeartSquare: faHeartSquare,\n faPuzzle: faPuzzle,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faPipeCircleCheck: faPipeCircleCheck,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faOctagonExclamation: faOctagonExclamation,\n faDialLow: faDialLow,\n faDoorClosed: faDoorClosed,\n faLaptopMobile: faLaptopMobile,\n faPhoneLaptop: faPhoneLaptop,\n faConveyorBeltBoxes: faConveyorBeltBoxes,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faShieldVirus: faShieldVirus,\n faStarfighterTwinIonEngineAdvanced: faStarfighterTwinIonEngineAdvanced,\n faStarfighterAltAdvanced: faStarfighterAltAdvanced,\n faDiceSix: faDiceSix,\n faStarfighterTwinIonEngine: faStarfighterTwinIonEngine,\n faStarfighterAlt: faStarfighterAlt,\n faRocketLaunch: faRocketLaunch,\n faMosquitoNet: faMosquitoNet,\n faVentDamper: faVentDamper,\n faBridgeWater: faBridgeWater,\n faBanBug: faBanBug,\n faDebug: faDebug,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faGarageCar: faGarageCar,\n faSquareKanban: faSquareKanban,\n faHatWizard: faHatWizard,\n faPenFancy: faPenFancy,\n faCoffeePot: faCoffeePot,\n faMouseField: faMouseField,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faShowerDown: faShowerDown,\n faShowerAlt: faShowerAlt,\n faBoxCircleCheck: faBoxCircleCheck,\n faBrightness: faBrightness,\n faCarSideBolt: faCarSideBolt,\n faOrnament: faOrnament,\n faPhoneArrowDownLeft: faPhoneArrowDownLeft,\n faPhoneArrowDown: faPhoneArrowDown,\n faPhoneIncoming: faPhoneIncoming,\n faCloudWord: faCloudWord,\n faHandFingersCrossed: faHandFingersCrossed,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faArrowDownSmallBig: faArrowDownSmallBig,\n faSortSizeDownAlt: faSortSizeDownAlt,\n faBookMedical: faBookMedical,\n faFaceMelting: faFaceMelting,\n faPoo: faPoo,\n faPenClipSlash: faPenClipSlash,\n faPenAltSlash: faPenAltSlash,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faScrollOld: faScrollOld,\n faGuitars: faGuitars,\n faPhoneXmark: faPhoneXmark,\n faHose: faHose,\n faClockSix: faClockSix,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faBillboard: faBillboard,\n faSquareR: faSquareR,\n faCubes: faCubes,\n faEnvelopeOpenDollar: faEnvelopeOpenDollar,\n faDivide: faDivide,\n faSunCloud: faSunCloud,\n faLampFloor: faLampFloor,\n faSquare7: faSquare7,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faCampfire: faCampfire,\n faCircleAmpersand: faCircleAmpersand,\n faSnowflakes: faSnowflakes,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faLeafMaple: faLeafMaple,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faCupStrawSwoosh: faCupStrawSwoosh,\n faTemperatureSun: faTemperatureSun,\n faTemperatureHot: faTemperatureHot,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faHighDefinition: faHighDefinition,\n faRectangleHd: faRectangleHd,\n faJ: faJ,\n faGalaxy: faGalaxy,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faCherries: faCherries,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faCircleSort: faCircleSort,\n faSortCircle: faSortCircle,\n faTableCells: faTableCells,\n faTh: faTh,\n faFilePdf: faFilePdf,\n faSiren: faSiren,\n faArrowUpToDottedLine: faArrowUpToDottedLine,\n faImageLandscape: faImageLandscape,\n faLandscape: faLandscape,\n faTankWater: faTankWater,\n faCurlingStone: faCurlingStone,\n faCurling: faCurling,\n faGamepadModern: faGamepadModern,\n faGamepadAlt: faGamepadAlt,\n faMessagesQuestion: faMessagesQuestion,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faBriefcaseArrowRight: faBriefcaseArrowRight,\n faExpandWide: faExpandWide,\n faClockElevenThirty: faClockElevenThirty,\n faRv: faRv,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faDreidel: faDreidel,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faFlowerTulip: faFlowerTulip,\n faPeoplePantsSimple: faPeoplePantsSimple,\n faCloudDrizzle: faCloudDrizzle,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faSolarSystem: faSolarSystem,\n faSealQuestion: faSealQuestion,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faDiscDrive: faDiscDrive,\n faHatCowboySide: faHatCowboySide,\n faTableRows: faTableRows,\n faRows: faRows,\n faLocationExclamation: faLocationExclamation,\n faMapMarkerExclamation: faMapMarkerExclamation,\n faFaceFearful: faFaceFearful,\n faClipboardUser: faClipboardUser,\n faBusSchool: faBusSchool,\n faFilmSlash: faFilmSlash,\n faSquareArrowDownRight: faSquareArrowDownRight,\n faBookSparkles: faBookSparkles,\n faBookSpells: faBookSpells,\n faWashingMachine: faWashingMachine,\n faWasher: faWasher,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faUserVisor: faUserVisor,\n faFilePlusMinus: faFilePlusMinus,\n faChessClockFlip: faChessClockFlip,\n faChessClockAlt: faChessClockAlt,\n faSatellite: faSatellite,\n faPlaneLock: faPlaneLock,\n faSteeringWheel: faSteeringWheel,\n faTag: faTag,\n faStretcher: faStretcher,\n faBookSection: faBookSection,\n faBookLaw: faBookLaw,\n faInboxes: faInboxes,\n faCoffeeBean: faCoffeeBean,\n faCircleYen: faCircleYen,\n faBracketsCurly: faBracketsCurly,\n faEllipsisStrokeVertical: faEllipsisStrokeVertical,\n faEllipsisVAlt: faEllipsisVAlt,\n faComment: faComment,\n faSquare1: faSquare1,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faHeadSide: faHeadSide,\n faEnvelope: faEnvelope,\n faDollyEmpty: faDollyEmpty,\n faFaceTissue: faFaceTissue,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faBinRecycle: faBinRecycle,\n faPaperclip: faPaperclip,\n faChartLineDown: faChartLineDown,\n faArrowRightToCity: faArrowRightToCity,\n faLockA: faLockA,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faPersonPinball: faPersonPinball,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faAppleCore: faAppleCore,\n faCircleY: faCircleY,\n faH6: faH6,\n faLitecoinSign: faLitecoinSign,\n faCircleSmall: faCircleSmall,\n faBorderNone: faBorderNone,\n faArrowTurnDownLeft: faArrowTurnDownLeft,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faMessageMedical: faMessageMedical,\n faCommentAltMedical: faCommentAltMedical,\n faRugbyBall: faRugbyBall,\n faCommentMusic: faCommentMusic,\n faIndent: faIndent,\n faTreeDeciduous: faTreeDeciduous,\n faTreeAlt: faTreeAlt,\n faPuzzlePieceSimple: faPuzzlePieceSimple,\n faPuzzlePieceAlt: faPuzzlePieceAlt,\n faTruckFieldUn: faTruckFieldUn,\n faNfcTrash: faNfcTrash,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faFileXmark: faFileXmark,\n faFileTimes: faFileTimes,\n faHouseHeart: faHouseHeart,\n faHomeHeart: faHomeHeart,\n faHouseChimneyBlank: faHouseChimneyBlank,\n faMeterBolt: faMeterBolt,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faSlashBack: faSlashBack,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faFishingRod: faFishingRod,\n faHammerCrash: faHammerCrash,\n faMessageHeart: faMessageHeart,\n faCloudMeatball: faCloudMeatball,\n faCameraPolaroid: faCameraPolaroid,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faCartArrowUp: faCartArrowUp,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faBuoyMooring: faBuoyMooring,\n faSquare4: faSquare4,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faTricycleAdult: faTricycleAdult,\n faWaveform: faWaveform,\n faWater: faWater,\n faStarSharpHalfStroke: faStarSharpHalfStroke,\n faStarSharpHalfAlt: faStarSharpHalfAlt,\n faNfcSignal: faNfcSignal,\n faPlaneProp: faPlaneProp,\n faCalendarCheck: faCalendarCheck,\n faClockDesk: faClockDesk,\n faCalendarClock: faCalendarClock,\n faCalendarTime: faCalendarTime,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPlateUtensils: faPlateUtensils,\n faFamilyPants: faFamilyPants,\n faHoseReel: faHoseReel,\n faHouseWindow: faHouseWindow,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faCrosshairs: faCrosshairs,\n faCloudRainbow: faCloudRainbow,\n faPersonCane: faPersonCane,\n faAlien: faAlien,\n faTent: faTent,\n faLaptopBinary: faLaptopBinary,\n faVestPatches: faVestPatches,\n faPeopleDressSimple: faPeopleDressSimple,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faBowlingBallPin: faBowlingBallPin,\n faBellSchoolSlash: faBellSchoolSlash,\n faPlusLarge: faPlusLarge,\n faMoneyBillWheat: faMoneyBillWheat,\n faCameraViewfinder: faCameraViewfinder,\n faScreenshot: faScreenshot,\n faMessageMusic: faMessageMusic,\n faCommentAltMusic: faCommentAltMusic,\n faCarBuilding: faCarBuilding,\n faBorderBottomRight: faBorderBottomRight,\n faBorderStyleAlt: faBorderStyleAlt,\n faOctagon: faOctagon,\n faCommentArrowUpRight: faCommentArrowUpRight,\n faOctagonDivide: faOctagonDivide,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faTvMusic: faTvMusic,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faReel: faReel,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faAlarmExclamation: faAlarmExclamation,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faTrafficCone: faTrafficCone,\n faGrate: faGrate,\n faArrowDownRight: faArrowDownRight,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPersonFromPortal: faPersonFromPortal,\n faPortalExit: faPortalExit,\n faPlaneArrival: faPlaneArrival,\n faCowbellCirclePlus: faCowbellCirclePlus,\n faCowbellMore: faCowbellMore,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faDistributeSpacingVertical: faDistributeSpacingVertical,\n faSignalBarsFair: faSignalBarsFair,\n faSignalAlt2: faSignalAlt2,\n faSportsball: faSportsball,\n faGameConsoleHandheldCrank: faGameConsoleHandheldCrank,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faFaceSmileUpsideDown: faFaceSmileUpsideDown,\n faBallPile: faBallPile,\n faBadgeDollar: faBadgeDollar,\n faMoneyBillsSimple: faMoneyBillsSimple,\n faMoneyBillsAlt: faMoneyBillsAlt,\n faListTimeline: faListTimeline,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faKeyboardDown: faKeyboardDown,\n faCircleUpRight: faCircleUpRight,\n faCloudBoltMoon: faCloudBoltMoon,\n faThunderstormMoon: faThunderstormMoon,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faBracketRoundRight: faBracketRoundRight,\n faCircleSterling: faCircleSterling,\n faCircle5: faCircle5,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faFireFlame: faFireFlame,\n faFlame: faFlame,\n faRightToLine: faRightToLine,\n faArrowAltToRight: faArrowAltToRight,\n faGif: faGif,\n faChess: faChess,\n faTrashSlash: faTrashSlash,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faFontCase: faFontCase,\n faStreetView: faStreetView,\n faArrowDownLeft: faArrowDownLeft,\n faFrancSign: faFrancSign,\n faFlaskRoundPoison: faFlaskRoundPoison,\n faFlaskPoison: faFlaskPoison,\n faVolumeOff: faVolumeOff,\n faBookCircleArrowRight: faBookCircleArrowRight,\n faChartUser: faChartUser,\n faUserChart: faUserChart,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faPresentationScreen: faPresentationScreen,\n faPresentation: faPresentation,\n faCircleBolt: faCircleBolt,\n faFaceSmileHalo: faFaceSmileHalo,\n faCartCircleArrowDown: faCartCircleArrowDown,\n faHousePersonReturn: faHousePersonReturn,\n faHousePersonArrive: faHousePersonArrive,\n faHouseReturn: faHouseReturn,\n faMessageXmark: faMessageXmark,\n faCommentAltTimes: faCommentAltTimes,\n faMessageTimes: faMessageTimes,\n faFileCertificate: faFileCertificate,\n faFileAward: faFileAward,\n faUserDoctorHairLong: faUserDoctorHairLong,\n faCameraSecurity: faCameraSecurity,\n faCameraHome: faCameraHome,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faBookHeart: faBookHeart,\n faMosque: faMosque,\n faDuck: faDuck,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faFlagSwallowtail: faFlagSwallowtail,\n faFlagAlt: faFlagAlt,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCarGarage: faCarGarage,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faBookFont: faBookFont,\n faShieldPlus: faShieldPlus,\n faVials: faVials,\n faEyeDropperFull: faEyeDropperFull,\n faDistributeSpacingHorizontal: faDistributeSpacingHorizontal,\n faTabletRugged: faTabletRugged,\n faTemperatureSnow: faTemperatureSnow,\n faTemperatureFrigid: faTemperatureFrigid,\n faMoped: faMoped,\n faFaceSmilePlus: faFaceSmilePlus,\n faSmilePlus: faSmilePlus,\n faRadioTuner: faRadioTuner,\n faRadioAlt: faRadioAlt,\n faFaceSwear: faFaceSwear,\n faWaterArrowDown: faWaterArrowDown,\n faWaterLower: faWaterLower,\n faScannerTouchscreen: faScannerTouchscreen,\n faCircle7: faCircle7,\n faPlugCirclePlus: faPlugCirclePlus,\n faPersonSkiJumping: faPersonSkiJumping,\n faSkiJump: faSkiJump,\n faPlaceOfWorship: faPlaceOfWorship,\n faWaterArrowUp: faWaterArrowUp,\n faWaterRise: faWaterRise,\n faWaveformLines: faWaveformLines,\n faWaveformPath: faWaveformPath,\n faSplit: faSplit,\n faFilmCanister: faFilmCanister,\n faFilmCannister: faFilmCannister,\n faFolderXmark: faFolderXmark,\n faFolderTimes: faFolderTimes,\n faToiletPaperBlank: faToiletPaperBlank,\n faToiletPaperAlt: faToiletPaperAlt,\n faTabletScreen: faTabletScreen,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faHexagonVerticalNftSlanted: faHexagonVerticalNftSlanted,\n faFolderMusic: faFolderMusic,\n faDisplayMedical: faDisplayMedical,\n faDesktopMedical: faDesktopMedical,\n faShareAll: faShareAll,\n faPeapod: faPeapod,\n faChessClock: faChessClock,\n faAxe: faAxe,\n faSquareD: faSquareD,\n faGripVertical: faGripVertical,\n faMobileSignalOut: faMobileSignalOut,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faArrowUpFromDottedLine: faArrowUpFromDottedLine,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faLightSwitchOn: faLightSwitchOn,\n faArrowDownArrowUp: faArrowDownArrowUp,\n faSortAlt: faSortAlt,\n faRaindrops: faRaindrops,\n faDash: faDash,\n faMinusLarge: faMinusLarge,\n faClock: faClock,\n faClockFour: faClockFour,\n faInputNumeric: faInputNumeric,\n faTruckTow: faTruckTow,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faCarBolt: faCarBolt,\n faArrowsMaximize: faArrowsMaximize,\n faExpandArrows: faExpandArrows,\n faFaucet: faFaucet,\n faCloudSleet: faCloudSleet,\n faLampStreet: faLampStreet,\n faListRadio: faListRadio,\n faPenNibSlash: faPenNibSlash,\n faBaseballBatBall: faBaseballBatBall,\n faSquareUpLeft: faSquareUpLeft,\n faOverline: faOverline,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faArrowsFromDottedLine: faArrowsFromDottedLine,\n faUsbDrive: faUsbDrive,\n faBallot: faBallot,\n faCaretDown: faCaretDown,\n faLocationDotSlash: faLocationDotSlash,\n faMapMarkerAltSlash: faMapMarkerAltSlash,\n faCards: faCards,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faBoxingGlove: faBoxingGlove,\n faGloveBoxing: faGloveBoxing,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faBellSchool: faBellSchool,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faFolderHeart: faFolderHeart,\n faCircleLocationArrow: faCircleLocationArrow,\n faLocationCircle: faLocationCircle,\n faFaceHeadBandage: faFaceHeadBandage,\n faSushiRoll: faSushiRoll,\n faMakiRoll: faMakiRoll,\n faMakizushi: faMakizushi,\n faCarBump: faCarBump,\n faPiggyBank: faPiggyBank,\n faRacquet: faRacquet,\n faCarMirrors: faCarMirrors,\n faIndustryWindows: faIndustryWindows,\n faIndustryAlt: faIndustryAlt,\n faBoltAuto: faBoltAuto,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faFluxCapacitor: faFluxCapacitor,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faHoneyPot: faHoneyPot,\n faOlive: faOlive,\n faKhanda: faKhanda,\n faFilterList: faFilterList,\n faOutlet: faOutlet,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faCauldron: faCauldron,\n faPeople: faPeople,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faCroissant: faCroissant,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faSwordsLaser: faSwordsLaser,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faSquareU: faSquareU,\n faWandSparkles: faWandSparkles,\n faRouter: faRouter,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faSwordLaserAlt: faSwordLaserAlt,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faCoin: faCoin,\n faLaptopSlash: faLaptopSlash,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faCircleB: faCircleB,\n faPersonDressSimple: faPersonDressSimple,\n faPipeCollar: faPipeCollar,\n faLightsHoliday: faLightsHoliday,\n faCitrus: faCitrus,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faChartTreeMap: faChartTreeMap,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faClockFiveThirty: faClockFiveThirty,\n faPipeValve: faPipeValve,\n faArrowUpFromArc: faArrowUpFromArc,\n faFaceSpiralEyes: faFaceSpiralEyes,\n faCompressWide: faCompressWide,\n faCirclePhoneHangup: faCirclePhoneHangup,\n faPhoneCircleDown: faPhoneCircleDown,\n faGearComplexCode: faGearComplexCode,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faBadminton: faBadminton,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faRightFromLine: faRightFromLine,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faShuttlecock: faShuttlecock,\n faUserHair: faUserHair,\n faEyeEvil: faEyeEvil,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faGarage: faGarage,\n faCableCar: faCableCar,\n faTram: faTram,\n faShovelSnow: faShovelSnow,\n faCloudRain: faCloudRain,\n faFaceLying: faFaceLying,\n faSprinkler: faSprinkler,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faPersonSledding: faPersonSledding,\n faSledding: faSledding,\n faGameConsoleHandheld: faGameConsoleHandheld,\n faShip: faShip,\n faClockSixThirty: faClockSixThirty,\n faBatterySlash: faBatterySlash,\n faTugrikSign: faTugrikSign,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faShelves: faShelves,\n faInventory: faInventory,\n faCloudSnow: faCloudSnow,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faOven: faOven,\n faCloudBinary: faCloudBinary,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faCommentCaptions: faCommentCaptions,\n faCommentsQuestion: faCommentsQuestion,\n faScribble: faScribble,\n faRotateExclamation: faRotateExclamation,\n faFileCircleCheck: faFileCircleCheck,\n faGlass: faGlass,\n faLoader: faLoader,\n faForward: faForward,\n faUserPilot: faUserPilot,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faCodePullRequestClosed: faCodePullRequestClosed,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faFaceDotted: faFaceDotted,\n faFaceWorried: faFaceWorried,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faVectorCircle: faVectorCircle,\n faCarCircleBolt: faCarCircleBolt,\n faCalendarWeek: faCalendarWeek,\n faFlyingDisc: faFlyingDisc,\n faLaptopMedical: faLaptopMedical,\n faSquareDownRight: faSquareDownRight,\n faB: faB,\n faSeatAirline: faSeatAirline,\n faMoonOverSun: faMoonOverSun,\n faEclipseAlt: faEclipseAlt,\n faPipe: faPipe,\n faFileMedical: faFileMedical,\n faPotato: faPotato,\n faDiceOne: faDiceOne,\n faCircleA: faCircleA,\n faHelmetBattle: faHelmetBattle,\n faButter: faButter,\n faBlanketFire: faBlanketFire,\n faKiwiBird: faKiwiBird,\n faCastle: faCastle,\n faGolfClub: faGolfClub,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faChartPieSimpleCircleDollar: faChartPieSimpleCircleDollar,\n faBalloons: faBalloons,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faTimelineArrow: faTimelineArrow,\n faSkull: faSkull,\n faGameBoardSimple: faGameBoardSimple,\n faGameBoardAlt: faGameBoardAlt,\n faCircleVideo: faCircleVideo,\n faVideoCircle: faVideoCircle,\n faChartScatterBubble: faChartScatterBubble,\n faHouseTurret: faHouseTurret,\n faBanana: faBanana,\n faHandHoldingSkull: faHandHoldingSkull,\n faPeopleDress: faPeopleDress,\n faLoveseat: faLoveseat,\n faCouchSmall: faCouchSmall,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faBlockQuote: faBlockQuote,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faMoneyCheckDollarPen: faMoneyCheckDollarPen,\n faMoneyCheckEditAlt: faMoneyCheckEditAlt,\n faUpFromLine: faUpFromLine,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faGridRound2Plus: faGridRound2Plus,\n faPeoplePants: faPeoplePants,\n faMound: faMound,\n faWindsock: faWindsock,\n faCircleHalf: faCircleHalf,\n faBrakeWarning: faBrakeWarning,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faSaxophoneFire: faSaxophoneFire,\n faSaxHot: faSaxHot,\n faCameraWebSlash: faCameraWebSlash,\n faWebcamSlash: faWebcamSlash,\n faFolderMedical: faFolderMedical,\n faFolderGear: faFolderGear,\n faFolderCog: faFolderCog,\n faHandWave: faHandWave,\n faArrowUpArrowDown: faArrowUpArrowDown,\n faSortUpDown: faSortUpDown,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faMessageSlash: faMessageSlash,\n faCommentAltSlash: faCommentAltSlash,\n faBolt: faBolt,\n faZap: faZap,\n faTrashCanCheck: faTrashCanCheck,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faPersonSimple: faPersonSimple,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faGearCode: faGearCode,\n faNotes: faNotes,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faTrashUndo: faTrashUndo,\n faTrashArrowTurnLeft: faTrashArrowTurnLeft,\n faChampagneGlass: faChampagneGlass,\n faGlassChampagne: faGlassChampagne,\n faObjectsAlignCenterHorizontal: faObjectsAlignCenterHorizontal,\n faSun: faSun,\n faTrashCanSlash: faTrashCanSlash,\n faTrashAltSlash: faTrashAltSlash,\n faScreenUsers: faScreenUsers,\n faUsersClass: faUsersClass,\n faGuitar: faGuitar,\n faSquareArrowLeft: faSquareArrowLeft,\n faArrowSquareLeft: faArrowSquareLeft,\n faSquare8: faSquare8,\n faFaceSmileHearts: faFaceSmileHearts,\n faBracketsSquare: faBracketsSquare,\n faBrackets: faBrackets,\n faLaptopArrowDown: faLaptopArrowDown,\n faHockeyStickPuck: faHockeyStickPuck,\n faHouseTree: faHouseTree,\n faSignalFair: faSignalFair,\n faSignal2: faSignal2,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDollar: faCircleDollar,\n faDollarCircle: faDollarCircle,\n faUsdCircle: faUsdCircle,\n faHorseHead: faHorseHead,\n faArrowsRepeat: faArrowsRepeat,\n faRepeatAlt: faRepeatAlt,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faImagePolaroid: faImagePolaroid,\n faWaveTriangle: faWaveTriangle,\n faPersonRunningFast: faPersonRunningFast,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faGrill: faGrill,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faChartMixed: faChartMixed,\n faAnalytics: faAnalytics,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faDisplayCode: faDisplayCode,\n faDesktopCode: faDesktopCode,\n faFaceDrooling: faFaceDrooling,\n faOilTemperature: faOilTemperature,\n faOilTemp: faOilTemp,\n faSquareQuestion: faSquareQuestion,\n faQuestionSquare: faQuestionSquare,\n faAirConditioner: faAirConditioner,\n faAngleDown: faAngleDown,\n faMountains: faMountains,\n faOmega: faOmega,\n faCarTunnel: faCarTunnel,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPanFood: faPanFood,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faTicketsAirline: faTicketsAirline,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faNfcSlash: faNfcSlash,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faGrid2Plus: faGrid2Plus,\n faBells: faBells,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faEnvelopeDot: faEnvelopeDot,\n faEnvelopeBadge: faEnvelopeBadge,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faBowlChopsticks: faBowlChopsticks,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCircleS: faCircleS,\n faBoxBallot: faBoxBallot,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faUserTieHair: faUserTieHair,\n faPodiumStar: faPodiumStar,\n faUserHairMullet: faUserHairMullet,\n faBusinessFront: faBusinessFront,\n faPartyBack: faPartyBack,\n faTrianBalbot: faTrianBalbot,\n faMicrophoneStand: faMicrophoneStand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faFamilyDress: faFamilyDress,\n faCircleX: faCircleX,\n faCabin: faCabin,\n faMountainSun: faMountainSun,\n faChartSimpleHorizontal: faChartSimpleHorizontal,\n faBluetooth: faBluetooth,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faHandBackPointLeft: faHandBackPointLeft,\n faMessageDots: faMessageDots,\n faCommentAltDots: faCommentAltDots,\n faMessaging: faMessaging,\n faFileHeart: faFileHeart,\n faBeerMug: faBeerMug,\n faBeerFoam: faBeerFoam,\n faDiceD20: faDiceD20,\n faDrone: faDrone,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faBed: faBed,\n faBookCopy: faBookCopy,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faSquareC: faSquareC,\n faClockTwo: faClockTwo,\n faSquareEllipsisVertical: faSquareEllipsisVertical,\n faCalendarUsers: faCalendarUsers,\n faPodcast: faPodcast,\n faBee: faBee,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faCandyBar: faCandyBar,\n faChocolateBar: faChocolateBar,\n faXmarkLarge: faXmarkLarge,\n faPinata: faPinata,\n faArrowsFromLine: faArrowsFromLine,\n faSuperscript: faSuperscript,\n faBowlSpoon: faBowlSpoon,\n faHexagonCheck: faHexagonCheck,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faTrafficLightStop: faTrafficLightStop,\n faPaintRoller: faPaintRoller,\n faAccentGrave: faAccentGrave,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faCircle0: faCircle0,\n faDialMedLow: faDialMedLow,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faCrab: faCrab,\n faBoxOpenFull: faBoxOpenFull,\n faBoxFull: faBoxFull,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faQuotes: faQuotes,\n faPretzel: faPretzel,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faUserRobotXmarks: faUserRobotXmarks,\n faMessageQuote: faMessageQuote,\n faCommentAltQuote: faCommentAltQuote,\n faCandyCorn: faCandyCorn,\n faFolderMagnifyingGlass: faFolderMagnifyingGlass,\n faFolderSearch: faFolderSearch,\n faNotebook: faNotebook,\n faDroplet: faDroplet,\n faTint: faTint,\n faBullseyePointer: faBullseyePointer,\n faEraser: faEraser,\n faHexagonImage: faHexagonImage,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faCrateApple: faCrateApple,\n faAppleCrate: faAppleCrate,\n faPersonBurst: faPersonBurst,\n faGameBoard: faGameBoard,\n faHatChef: faHatChef,\n faHandBackPointRight: faHandBackPointRight,\n faDove: faDove,\n faSnowflakeDroplets: faSnowflakeDroplets,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faGrid4: faGrid4,\n faSocks: faSocks,\n faFaceSunglasses: faFaceSunglasses,\n faInbox: faInbox,\n faSquare0: faSquare0,\n faSection: faSection,\n faSquareThisWayUp: faSquareThisWayUp,\n faBoxUp: faBoxUp,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faSquareAmpersand: faSquareAmpersand,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faLampDesk: faLampDesk,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faPollPeople: faPollPeople,\n faWhiskeyGlassIce: faWhiskeyGlassIce,\n faGlassWhiskeyRocks: faGlassWhiskeyRocks,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faUserBountyHunter: faUserBountyHunter,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDiagramSankey: faDiagramSankey,\n faCloudHailMixed: faCloudHailMixed,\n faCircleUpLeft: faCircleUpLeft,\n faDharmachakra: faDharmachakra,\n faObjectsAlignLeft: faObjectsAlignLeft,\n faOilCanDrip: faOilCanDrip,\n faFaceSmilingHands: faFaceSmilingHands,\n faBroccoli: faBroccoli,\n faRouteInterstate: faRouteInterstate,\n faEarMuffs: faEarMuffs,\n faHotdog: faHotdog,\n faTransporterEmpty: faTransporterEmpty,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faAngle90: faAngle90,\n faRectangleTerminal: faRectangleTerminal,\n faKite: faKite,\n faDrum: faDrum,\n faScrubber: faScrubber,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFishBones: faFishBones,\n faDeerRudolph: faDeerRudolph,\n faFax: faFax,\n faParagraph: faParagraph,\n faHeadSideHeart: faHeadSideHeart,\n faSquareE: faSquareE,\n faMeterFire: faMeterFire,\n faCloudHail: faCloudHail,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faMoneyFromBracket: faMoneyFromBracket,\n faStarHalf: faStarHalf,\n faCarBus: faCarBus,\n faSpeaker: faSpeaker,\n faTimer: faTimer,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faGrillHot: faGrillHot,\n faBallotCheck: faBallotCheck,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faFileMinus: faFileMinus,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faCupTogo: faCupTogo,\n faCoffeeTogo: faCoffeeTogo,\n faSquareDownLeft: faSquareDownLeft,\n faBurgerLettuce: faBurgerLettuce,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faChevronsDown: faChevronsDown,\n faChevronDoubleDown: faChevronDoubleDown,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faSignalGood: faSignalGood,\n faSignal3: faSignal3,\n faLocationQuestion: faLocationQuestion,\n faMapMarkerQuestion: faMapMarkerQuestion,\n faFloppyDiskCircleXmark: faFloppyDiskCircleXmark,\n faFloppyDiskTimes: faFloppyDiskTimes,\n faSaveCircleXmark: faSaveCircleXmark,\n faSaveTimes: faSaveTimes,\n faNairaSign: faNairaSign,\n faPeach: faPeach,\n faTaxiBus: faTaxiBus,\n faBracketCurly: faBracketCurly,\n faBracketCurlyLeft: faBracketCurlyLeft,\n faLobster: faLobster,\n faCartFlatbedEmpty: faCartFlatbedEmpty,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faColon: faColon,\n faCartArrowDown: faCartArrowDown,\n faWand: faWand,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faTablePicnic: faTablePicnic,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faCircleMicrophoneLines: faCircleMicrophoneLines,\n faMicrophoneCircleAlt: faMicrophoneCircleAlt,\n faDisplaySlash: faDisplaySlash,\n faDesktopSlash: faDesktopSlash,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faTransporter2: faTransporter2,\n faHandsHoldingDiamond: faHandsHoldingDiamond,\n faHandReceiving: faHandReceiving,\n faMoneyBillSimpleWave: faMoneyBillSimpleWave,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faBellPlus: faBellPlus,\n faBookArrowRight: faBookArrowRight,\n faHospitals: faHospitals,\n faClub: faClub,\n faSkullCrossbones: faSkullCrossbones,\n faDropletDegree: faDropletDegree,\n faDewpoint: faDewpoint,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faHandHoldingMagic: faHandHoldingMagic,\n faWatermelonSlice: faWatermelonSlice,\n faCircleEllipsis: faCircleEllipsis,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faSdCards: faSdCards,\n faJugBottle: faJugBottle,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faEnvelopes: faEnvelopes,\n faPhoneOffice: faPhoneOffice,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faNfcPen: faNfcPen,\n faPersonHarassing: faPersonHarassing,\n faHatWinter: faHatWinter,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faBoneBreak: faBoneBreak,\n faArrowUp: faArrowUp,\n faDownFromDottedLine: faDownFromDottedLine,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faBorderLeft: faBorderLeft,\n faCircleDivide: faCircleDivide,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faDiagramSubtask: faDiagramSubtask,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faSquareY: faSquareY,\n faUserDoctorHair: faUserDoctorHair,\n faPlanetRinged: faPlanetRinged,\n faMushroom: faMushroom,\n faUserShield: faUserShield,\n faMegaphone: faMegaphone,\n faWreathLaurel: faWreathLaurel,\n faCircleExclamationCheck: faCircleExclamationCheck,\n faWind: faWind,\n faBoxDollar: faBoxDollar,\n faBoxUsd: faBoxUsd,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faUserHeadset: faUserHeadset,\n faArrowsRetweet: faArrowsRetweet,\n faRetweetAlt: faRetweetAlt,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faSquareChevronRight: faSquareChevronRight,\n faChevronSquareRight: faChevronSquareRight,\n faLacrosseStickBall: faLacrosseStickBall,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faUserMagnifyingGlass: faUserMagnifyingGlass,\n faStarSharp: faStarSharp,\n faCommentHeart: faCommentHeart,\n faCircle1: faCircle1,\n faCircleStar: faCircleStar,\n faStarCircle: faStarCircle,\n faFish: faFish,\n faCloudFog: faCloudFog,\n faFog: faFog,\n faWaffle: faWaffle,\n faMusicNote: faMusicNote,\n faMusicAlt: faMusicAlt,\n faHexagonExclamation: faHexagonExclamation,\n faCartShoppingFast: faCartShoppingFast,\n faObjectUnion: faObjectUnion,\n faUserGraduate: faUserGraduate,\n faStarfighter: faStarfighter,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faArrowRightLongToLine: faArrowRightLongToLine,\n faSquareArrowDown: faSquareArrowDown,\n faArrowSquareDown: faArrowSquareDown,\n faDiamondHalfStroke: faDiamondHalfStroke,\n faClapperboard: faClapperboard,\n faSquareChevronLeft: faSquareChevronLeft,\n faChevronSquareLeft: faChevronSquareLeft,\n faPhoneIntercom: faPhoneIntercom,\n faLinkHorizontal: faLinkHorizontal,\n faChainHorizontal: faChainHorizontal,\n faMango: faMango,\n faMusicNoteSlash: faMusicNoteSlash,\n faMusicAltSlash: faMusicAltSlash,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faFaceTongueSweat: faFaceTongueSweat,\n faGlobeStand: faGlobeStand,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faCircleP: faCircleP,\n faAwardSimple: faAwardSimple,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faPedestal: faPedestal,\n faChartPyramid: faChartPyramid,\n faSidebar: faSidebar,\n faSnowmanHead: faSnowmanHead,\n faFrostyHead: faFrostyHead,\n faCopy: faCopy,\n faBurgerGlass: faBurgerGlass,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faBarsFilter: faBarsFilter,\n faPaintbrushPencil: faPaintbrushPencil,\n faPartyBell: faPartyBell,\n faUserVneckHair: faUserVneckHair,\n faJackOLantern: faJackOLantern,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faKeynote: faKeynote,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faHatBeach: faHatBeach,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faFort: faFort,\n faCloudCheck: faCloudCheck,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faFaceSmirking: faFaceSmirking,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faRhombus: faRhombus,\n faClawMarks: faClawMarks,\n faPesoSign: faPesoSign,\n faFaceSmileTongue: faFaceSmileTongue,\n faCartCircleXmark: faCartCircleXmark,\n faBuildingShield: faBuildingShield,\n faCirclePhoneFlip: faCirclePhoneFlip,\n faPhoneCircleAlt: faPhoneCircleAlt,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faKeySkeleton: faKeySkeleton,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faArrowDownToBracket: faArrowDownToBracket,\n faLinesLeaning: faLinesLeaning,\n faSquareQ: faSquareQ,\n faRulerCombined: faRulerCombined,\n faSymbols: faSymbols,\n faIconsAlt: faIconsAlt,\n faCopyright: faCopyright,\n faFlaskGear: faFlaskGear,\n faHighlighterLine: faHighlighterLine,\n faBracketSquare: faBracketSquare,\n faBracket: faBracket,\n faBracketLeft: faBracketLeft,\n faIslandTropical: faIslandTropical,\n faIslandTreePalm: faIslandTreePalm,\n faArrowRightFromLine: faArrowRightFromLine,\n faArrowFromLeft: faArrowFromLeft,\n faH2: faH2,\n faEquals: faEquals,\n faCakeSlice: faCakeSlice,\n faShortcake: faShortcake,\n faPeanut: faPeanut,\n faWrenchSimple: faWrenchSimple,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faTally2: faTally2,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faCars: faCars,\n faAxeBattle: faAxeBattle,\n faUserHairLong: faUserHairLong,\n faMap: faMap,\n faFileCircleInfo: faFileCircleInfo,\n faFaceDisappointed: faFaceDisappointed,\n faLassoSparkles: faLassoSparkles,\n faClockEleven: faClockEleven,\n faRocket: faRocket,\n faSirenOn: faSirenOn,\n faClockTen: faClockTen,\n faCandleHolder: faCandleHolder,\n faVideoArrowDownLeft: faVideoArrowDownLeft,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFloppyDiskCircleArrowRight: faFloppyDiskCircleArrowRight,\n faSaveCircleArrowRight: faSaveCircleArrowRight,\n faFolderMinus: faFolderMinus,\n faPlanetMoon: faPlanetMoon,\n faFaceEyesXmarks: faFaceEyesXmarks,\n faChartScatter: faChartScatter,\n faDisplayArrowDown: faDisplayArrowDown,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faOliveBranch: faOliveBranch,\n faAngle: faAngle,\n faVacuumRobot: faVacuumRobot,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faSquareDivide: faSquareDivide,\n faSignalStreamSlash: faSignalStreamSlash,\n faBezierCurve: faBezierCurve,\n faEyeDropperHalf: faEyeDropperHalf,\n faStoreLock: faStoreLock,\n faBellSlash: faBellSlash,\n faCloudBoltSun: faCloudBoltSun,\n faThunderstormSun: faThunderstormSun,\n faCameraSlash: faCameraSlash,\n faCommentQuote: faCommentQuote,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faMessageCode: faMessageCode,\n faGlassHalf: faGlassHalf,\n faGlassHalfEmpty: faGlassHalfEmpty,\n faGlassHalfFull: faGlassHalfFull,\n faFill: faFill,\n faMessageMinus: faMessageMinus,\n faCommentAltMinus: faCommentAltMinus,\n faAngleUp: faAngleUp,\n faDinosaur: faDinosaur,\n faDrumstickBite: faDrumstickBite,\n faLinkHorizontalSlash: faLinkHorizontalSlash,\n faChainHorizontalSlash: faChainHorizontalSlash,\n faHollyBerry: faHollyBerry,\n faNose: faNose,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faClouds: faClouds,\n faMoneyBillSimple: faMoneyBillSimple,\n faHandLizard: faHandLizard,\n faTablePivot: faTablePivot,\n faFilterSlash: faFilterSlash,\n faTrashCanUndo: faTrashCanUndo,\n faTrashCanArrowTurnLeft: faTrashCanArrowTurnLeft,\n faTrashUndoAlt: faTrashUndoAlt,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faPersonToDoor: faPersonToDoor,\n faTurntable: faTurntable,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faSignalWeak: faSignalWeak,\n faSignal1: faSignal1,\n faClockFive: faClockFive,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faComputerClassic: faComputerClassic,\n faFrame: faFrame,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faEllipsisStroke: faEllipsisStroke,\n faEllipsisHAlt: faEllipsisHAlt,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faFaceExpressionless: faFaceExpressionless,\n faDownToDottedLine: faDownToDottedLine,\n faCloudMusic: faCloudMusic,\n faTrafficLight: faTrafficLight,\n faCloudMinus: faCloudMinus,\n faThermometer: faThermometer,\n faShieldMinus: faShieldMinus,\n faVrCardboard: faVrCardboard,\n faCarTilt: faCarTilt,\n faGaugeCircleMinus: faGaugeCircleMinus,\n faBrightnessLow: faBrightnessLow,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faConveyorBelt: faConveyorBelt,\n faLocationCheck: faLocationCheck,\n faMapMarkerCheck: faMapMarkerCheck,\n faCoinVertical: faCoinVertical,\n faDisplay: faDisplay,\n faPersonSign: faPersonSign,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faPhoneHangup: faPhoneHangup,\n faSignatureSlash: faSignatureSlash,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faWheatSlash: faWheatSlash,\n faTrophy: faTrophy,\n faCloudsSun: faCloudsSun,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faFaceVomit: faFaceVomit,\n faSpeakers: faSpeakers,\n faTtyAnswer: faTtyAnswer,\n faTeletypeAnswer: faTeletypeAnswer,\n faMugTeaSaucer: faMugTeaSaucer,\n faDiagramLeanCanvas: faDiagramLeanCanvas,\n faAlt: faAlt,\n faDial: faDial,\n faDialMedHigh: faDialMedHigh,\n faHandPeace: faHandPeace,\n faCircleTrash: faCircleTrash,\n faTrashCircle: faTrashCircle,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faCircleQuarters: faCircleQuarters,\n faSpinner: faSpinner,\n faTowerControl: faTowerControl,\n faArrowUpTriangleSquare: faArrowUpTriangleSquare,\n faSortShapesUp: faSortShapesUp,\n faWhale: faWhale,\n faRobot: faRobot,\n faPeace: faPeace,\n faPartyHorn: faPartyHorn,\n faGears: faGears,\n faCogs: faCogs,\n faSunBright: faSunBright,\n faSunAlt: faSunAlt,\n faWarehouse: faWarehouse,\n faConveyorBeltArm: faConveyorBeltArm,\n faLockKeyholeOpen: faLockKeyholeOpen,\n faLockOpenAlt: faLockOpenAlt,\n faSquareFragile: faSquareFragile,\n faBoxFragile: faBoxFragile,\n faSquareWineGlassCrack: faSquareWineGlassCrack,\n faArrowUpRightDots: faArrowUpRightDots,\n faSquareN: faSquareN,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faMeter: faMeter,\n faMandolin: faMandolin,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faUpFromBracket: faUpFromBracket,\n faKnifeKitchen: faKnifeKitchen,\n faBorderRight: faBorderRight,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faSpade: faSpade,\n faCardSpade: faCardSpade,\n faLineColumns: faLineColumns,\n faArrowRightToLine: faArrowRightToLine,\n faArrowToRight: faArrowToRight,\n faPersonFallingBurst: faPersonFallingBurst,\n faFlagPennant: faFlagPennant,\n faPennant: faPennant,\n faConveyorBeltEmpty: faConveyorBeltEmpty,\n faUserGroupSimple: faUserGroupSimple,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faCamcorder: faCamcorder,\n faVideoHandheld: faVideoHandheld,\n faPancakes: faPancakes,\n faAlbumCircleUser: faAlbumCircleUser,\n faQrcode: faQrcode,\n faDiceD10: faDiceD10,\n faFireplace: faFireplace,\n faBrowser: faBrowser,\n faPenPaintbrush: faPenPaintbrush,\n faPencilPaintbrush: faPencilPaintbrush,\n faFishCooked: faFishCooked,\n faChairOffice: faChairOffice,\n faNestingDolls: faNestingDolls,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faTrumpet: faTrumpet,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFireSmoke: faFireSmoke,\n faPhoneMissed: faPhoneMissed,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faArrowsRepeat1: faArrowsRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faGunSlash: faGunSlash,\n faAvocado: faAvocado,\n faBinary: faBinary,\n faGlassesRound: faGlassesRound,\n faGlassesAlt: faGlassesAlt,\n faPhonePlus: faPhonePlus,\n faDitto: faDitto,\n faPersonSeat: faPersonSeat,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faScythe: faScythe,\n faPenNib: faPenNib,\n faBanParking: faBanParking,\n faParkingCircleSlash: faParkingCircleSlash,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faFaceDiagonalMouth: faFaceDiagonalMouth,\n faDiagramCells: faDiagramCells,\n faCricketBatBall: faCricketBatBall,\n faCricket: faCricket,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faPenLine: faPenLine,\n faAtomSimple: faAtomSimple,\n faAtomAlt: faAtomAlt,\n faAmpersand: faAmpersand,\n faCarrot: faCarrot,\n faArrowUpFromLine: faArrowUpFromLine,\n faArrowFromBottom: faArrowFromBottom,\n faMoon: faMoon,\n faPenSlash: faPenSlash,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faSquareStar: faSquareStar,\n faCheese: faCheese,\n faSendBackward: faSendBackward,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCompassSlash: faCompassSlash,\n faClockOne: faClockOne,\n faFileMusic: faFileMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faDisplayChartUpCircleCurrency: faDisplayChartUpCircleCurrency,\n faSkeleton: faSkeleton,\n faCircleG: faCircleG,\n faCircleArrowUpLeft: faCircleArrowUpLeft,\n faCoinBlank: faCoinBlank,\n faBroom: faBroom,\n faVacuum: faVacuum,\n faShieldHeart: faShieldHeart,\n faCardHeart: faCardHeart,\n faLightbulbCflOn: faLightbulbCflOn,\n faMelon: faMelon,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faContainerStorage: faContainerStorage,\n faFacePouting: faFacePouting,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faFaceExplode: faFaceExplode,\n faExplodingHead: faExplodingHead,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faTransformerBolt: faTransformerBolt,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faCassetteVhs: faCassetteVhs,\n faVhs: faVhs,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faChimney: faChimney,\n faObjectIntersect: faObjectIntersect,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faBlockBrick: faBlockBrick,\n faWallBrick: faWallBrick,\n faFan: faFan,\n faBagsShopping: faBagsShopping,\n faParagraphLeft: faParagraphLeft,\n faParagraphRtl: faParagraphRtl,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faCaravanSimple: faCaravanSimple,\n faCaravanAlt: faCaravanAlt,\n faTurtle: faTurtle,\n faPencilMechanical: faPencilMechanical,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faBoothCurtain: faBoothCurtain,\n faCalendar: faCalendar,\n faBoxHeart: faBoxHeart,\n faTrailer: faTrailer,\n faUserDoctorMessage: faUserDoctorMessage,\n faUserMdChat: faUserMdChat,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faAmpGuitar: faAmpGuitar,\n faSdCard: faSdCard,\n faVolumeSlash: faVolumeSlash,\n faBorderBottom: faBorderBottom,\n faWifiWeak: faWifiWeak,\n faWifi1: faWifi1,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faDeleteRight: faDeleteRight,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faCircleQuarter: faCircleQuarter,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFunction: faFunction,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faPeopleSimple: faPeopleSimple,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faFaceMonocle: faFaceMonocle,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faCalendarLines: faCalendarLines,\n faCalendarNote: faCalendarNote,\n faArrowDownBigSmall: faArrowDownBigSmall,\n faSortSizeDown: faSortSizeDown,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faDoNotEnter: faDoNotEnter,\n faShower: faShower,\n faDiceD8: faDiceD8,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faGripDotsVertical: faGripDotsVertical,\n faFaceViewfinder: faFaceViewfinder,\n faSoftServe: faSoftServe,\n faCreemee: faCreemee,\n faH5: faH5,\n faHandBackPointDown: faHandBackPointDown,\n faTableList: faTableList,\n faThList: faThList,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faRectangle: faRectangle,\n faRectangleLandscape: faRectangleLandscape,\n faClipboardListCheck: faClipboardListCheck,\n faTurkey: faTurkey,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faIceSkate: faIceSkate,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faTomato: faTomato,\n faSwordLaser: faSwordLaser,\n faHouseCircleCheck: faHouseCircleCheck,\n faBuildings: faBuildings,\n faAngleLeft: faAngleLeft,\n faCartFlatbedBoxes: faCartFlatbedBoxes,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faSquareW: faSquareW,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faLamp: faLamp,\n faAirplay: faAirplay,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faShieldQuartered: faShieldQuartered,\n faSlashForward: faSlashForward,\n faLocationPen: faLocationPen,\n faMapMarkerEdit: faMapMarkerEdit,\n faCloudMoon: faCloudMoon,\n faPotFood: faPotFood,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faPrintSlash: faPrintSlash,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faHandBackPointRibbon: faHandBackPointRibbon,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faTireRugged: faTireRugged,\n faLightbulbDollar: faLightbulbDollar,\n faCowbell: faCowbell,\n faBahtSign: faBahtSign,\n faCorner: faCorner,\n faChevronsRight: faChevronsRight,\n faChevronDoubleRight: faChevronDoubleRight,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faInhaler: faInhaler,\n faHandcuffs: faHandcuffs,\n faSnake: faSnake,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faNoteMedical: faNoteMedical,\n faDatabase: faDatabase,\n faDownLeft: faDownLeft,\n faShare: faShare,\n faArrowTurnRight: faArrowTurnRight,\n faMailForward: faMailForward,\n faFaceThinking: faFaceThinking,\n faTurnDownRight: faTurnDownRight,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faScannerKeyboard: faScannerKeyboard,\n faCircleO: faCircleO,\n faGridHorizontal: faGridHorizontal,\n faMessageDollar: faMessageDollar,\n faCommentAltDollar: faCommentAltDollar,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faColumns3: faColumns3,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faHandHoldingBox: faHandHoldingBox,\n faInputText: faInputText,\n faWindowFlip: faWindowFlip,\n faWindowAlt: faWindowAlt,\n faAlignRight: faAlignRight,\n faScannerGun: faScannerGun,\n faScanner: faScanner,\n faTire: faTire,\n faEngine: faEngine,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCircleCaretRight: faCircleCaretRight,\n faCaretCircleRight: faCaretCircleRight,\n faWheat: faWheat,\n faFileSpreadsheet: faFileSpreadsheet,\n faAudioDescriptionSlash: faAudioDescriptionSlash,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faChessPawnPiece: faChessPawnPiece,\n faChessPawnAlt: faChessPawnAlt,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faSquareS: faSquareS,\n faRectangleBarcode: faRectangleBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faUnicorn: faUnicorn,\n faBowlingBall: faBowlingBall,\n faPompebled: faPompebled,\n faBrain: faBrain,\n faWatchSmart: faWatchSmart,\n faBookUser: faBookUser,\n faSensorCloud: faSensorCloud,\n faSensorSmoke: faSensorSmoke,\n faClapperboardPlay: faClapperboardPlay,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faCircle4: faCircle4,\n faGifts: faGifts,\n faAlbumCollection: faAlbumCollection,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faCloudShowers: faCloudShowers,\n faUserClock: faUserClock,\n faOnion: faOnion,\n faClockTwelveThirty: faClockTwelveThirty,\n faArrowDownToDottedLine: faArrowDownToDottedLine,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faRectangleWide: faRectangleWide,\n faCommentArrowUp: faCommentArrowUp,\n faGarlic: faGarlic,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faTreeDecorated: faTreeDecorated,\n faMask: faMask,\n faCalendarHeart: faCalendarHeart,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faFlower: faFlower,\n faRightLeftLarge: faRightLeftLarge,\n faRulerVertical: faRulerVertical,\n faCirclesOverlap: faCirclesOverlap,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faStarshipFreighter: faStarshipFreighter,\n faTrainTram: faTrainTram,\n faBridgeSuspension: faBridgeSuspension,\n faTrashCheck: faTrashCheck,\n faUserNurse: faUserNurse,\n faBoombox: faBoombox,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faShieldExclamation: faShieldExclamation,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faGripDots: faGripDots,\n faCommentExclamation: faCommentExclamation,\n faPenSwirl: faPenSwirl,\n faFalafel: faFalafel,\n faCircle2: faCircle2,\n faMagnet: faMagnet,\n faJar: faJar,\n faGramophone: faGramophone,\n faDiceD12: faDiceD12,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faDown: faDown,\n faArrowAltDown: faArrowAltDown,\n faHundredPoints: faHundredPoints,\n fa100: fa100,\n faPaperclipVertical: faPaperclipVertical,\n faWindWarning: faWindWarning,\n faWindCircleExclamation: faWindCircleExclamation,\n faLocationPinSlash: faLocationPinSlash,\n faMapMarkerSlash: faMapMarkerSlash,\n faFaceSadSweat: faFaceSadSweat,\n faBugSlash: faBugSlash,\n faCupcake: faCupcake,\n faLightSwitchOff: faLightSwitchOff,\n faToggleLargeOff: faToggleLargeOff,\n faPenFancySlash: faPenFancySlash,\n faTruckContainer: faTruckContainer,\n faBoot: faBoot,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faFileCheck: faFileCheck,\n faBone: faBone,\n faCardsBlank: faCardsBlank,\n faCircle3: faCircle3,\n faBenchTree: faBenchTree,\n faKeyboardBrightnessLow: faKeyboardBrightnessLow,\n faSkiBootSki: faSkiBootSki,\n faBrainCircuit: faBrainCircuit,\n faUserInjured: faUserInjured,\n faBlockBrickFire: faBlockBrickFire,\n faFirewall: faFirewall,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faFaceSmileRelaxed: faFaceSmileRelaxed,\n faCommentXmark: faCommentXmark,\n faCommentTimes: faCommentTimes,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faFaceNoseSteam: faFaceNoseSteam,\n faCircleWaveformLines: faCircleWaveformLines,\n faWaveformCircle: faWaveformCircle,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faFerrisWheel: faFerrisWheel,\n faComputerSpeaker: faComputerSpeaker,\n faSkullCow: faSkullCow,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faCircleT: faCircleT,\n faSack: faSack,\n faGrid2: faGrid2,\n faCameraCctv: faCameraCctv,\n faCctv: faCctv,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faHorizontalRule: faHorizontalRule,\n faBedFront: faBedFront,\n faBedAlt: faBedAlt,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faKipSign: faKipSign,\n faFaceWoozy: faFaceWoozy,\n faCloudQuestion: faCloudQuestion,\n faPineapple: faPineapple,\n faHandPointLeft: faHandPointLeft,\n faGalleryThumbnails: faGalleryThumbnails,\n faCircleJ: faCircleJ,\n faEyes: faEyes,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faPageCaretUp: faPageCaretUp,\n faFileCaretUp: faFileCaretUp,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faComet: faComet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faShieldKeyhole: faShieldKeyhole,\n faBarcode: faBarcode,\n faPlusMinus: faPlusMinus,\n faSquareSlidersVertical: faSquareSlidersVertical,\n faSlidersVSquare: faSlidersVSquare,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faMessageMiddle: faMessageMiddle,\n faCommentMiddleAlt: faCommentMiddleAlt,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faSquareZ: faSquareZ,\n faMessageText: faMessageText,\n faCommentAltText: faCommentAltText,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\nexport { icons as fad, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faWagonCovered, faLineHeight, faBagel, faTransporter7, faAt, faRectanglesMixed, faPhoneArrowUpRight, faPhoneArrowUp, faPhoneOutgoing, faTrashCan, faTrashAlt, faCircleL, faHeadSideGoggles, faHeadVr, faTextHeight, faUserXmark, faUserTimes, faFaceHandYawn, faGaugeSimpleMin, faTachometerSlowest, faStethoscope, faCoffin, faMessage, faCommentAlt, faSalad, faBowlSalad, faInfo, faRobotAstromech, faRingDiamond, faFonduePot, faTheta, faFaceHandPeeking, faSquareUser, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faTirePressureWarning, faWifiFair, faWifi2, faCalendarDays, faCalendarAlt, faMp3Player, faAnchorCircleCheck, faTally4, faRectangleHistory, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faSunHaze, faTextSize, faUfo, faFork, faUtensilFork, faArrowsUpToLine, faMobileSignal, faBarcodeScan, faSortDown, faSortDesc, faFolderArrowDown, faFolderDownload, faCircleMinus, faMinusCircle, faFaceIcicles, faShovel, faDoorOpen, faFilms, faRightFromBracket, faSignOutAlt, faFaceGlasses, faNfc, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faClosedCaptioningSlash, faCalculatorSimple, faCalculatorAlt, faBridgeCircleCheck, faSlidersUp, faSlidersV, faLocationMinus, faMapMarkerMinus, faPumpMedical, faFingerprint, faSkiBoot, faStandardDefinition, faRectangleSd, faH1, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faMessageBot, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faLightCeiling, faMessageExclamation, faCommentAltExclamation, faBowlScoop, faBowlShavedIce, faSquareX, faUtilityPoleDouble, faFlagCheckered, faChevronsUp, faChevronDoubleUp, faFootball, faFootballBall, faUserVneck, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faSquareArrowRight, faArrowSquareRight, faLocationPlus, faMapMarkerPlus, faLightbulbExclamationOn, faPeopleLine, faBeerMugEmpty, faBeer, faCrateEmpty, faDiagramPredecessor, faTransporter, faCalendarCircleUser, faArrowUpLong, faLongArrowUp, faPersonCarryBox, faPersonCarry, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faUnion, faChevronsLeft, faChevronDoubleLeft, faCircleHeart, faHeartCircle, faTruckPlane, faRecordVinyl, faBringForward, faSquareP, faFaceGrinStars, faGrinStars, faSigma, faCameraMovie, faBong, faClarinet, faTruckFlatbed, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faLeafHeart, faHouseBuilding, faCheeseSwiss, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faBowArrow, faCartXmark, faHexagonXmark, faTimesHexagon, faXmarkHexagon, faCircleH, faHospitalSymbol, faMerge, faPager, faCartMinus, faAddressBook, faContactBook, faPanFrying, faGrid, faGrid3, faFootballHelmet, faHandLove, faTrees, faStrikethrough, faPage, faK, faDiagramPrevious, faGaugeMin, faTachometerAltSlowest, faFolderGrid, faEggplant, faRam, faLandmarkFlag, faLips, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faDesktopArrowDown, faCodePullRequest, faPumpkin, faClipboardList, faPenField, faBlueberries, faTruckRampBox, faTruckLoading, faNote, faArrowDownToSquare, faUserCheck, faCloudXmark, faVialVirus, faBookBlank, faBookAlt, faGolfFlagHole, faMessageArrowDown, faCommentAltArrowDown, faFaceUnamused, faSheetPlastic, faCircle9, faBlog, faUserNinja, faPencilSlash, faBowlingPins, faPersonArrowUpFromLine, faDownRight, faScrollTorah, faTorah, faWebhook, faBlindsOpen, faFence, faUp, faArrowAltUp, faBroomBall, faQuidditch, faQuidditchBroomBall, faDrumstick, faSquareV, faFaceAwesome, faGaveDandy, faDialOff, faToggleOff, faFaceSmileHorns, faBoxArchive, faArchive, faGrapes, faPersonDrowning, faDialMax, faCircleM, faCalendarImage, faCircleCaretDown, faCaretCircleDown, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faShishKebab, faSprayCan, faAlarmSnooze, faScarecrow, faTruckMonster, faGiftCard, faW, faCodePullRequestDraft, faSquareB, faElephant, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faMessageQuestion, faCloud, faTrowelBricks, faSquare3, faFaceFlushed, faFlushed, faHospitalUser, faMicrowave, faChfSign, faTentArrowLeftRight, faCartCircleArrowUp, faTrashClock, faGavel, faLegal, faSprinklerCeiling, faBrowsers, faTrillium, faMusicSlash, faTruckRamp, faBinoculars, faMicrophoneSlash, faBoxTissue, faCircleC, faStarChristmas, faChartBullet, faMotorcycle, faTreeChristmas, faTireFlat, faSunglasses, faBadge, faMessagePen, faCommentAltEdit, faMessageEdit, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faArrowProgress, faChessRookPiece, faChessRookAlt, faSquareRoot, faAlbumCollectionCirclePlus, faPeopleArrows, faPeopleArrowsLeftRight, faFaceAngryHorns, faMarsAndVenusBurst, faTombstone, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faListMusic, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faMustache, faHyphen, faTable, faUserChef, faMessageImage, faCommentAltImage, faUsersMedical, faSensorTriangleExclamation, faSensorAlert, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faFaceMask, faPickleball, faStarSharpHalf, faUsersSlash, faClover, faMeat, faReply, faMailReply, faStarAndCrescent, faEmptySet, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faBird, faCompass, faSquareCaretDown, faCaretSquareDown, faHeartHalfStroke, faHeartHalfAlt, faFileCircleQuestion, faLaptopCode, faJoystick, faGrillFire, faRectangleVerticalHistory, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faKeyboardLeft, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faFaceBeamHandOverMouth, faDropletPercent, faHumidity, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faCorn, faRollerCoaster, faPhotoFilmMusic, faRadar, faSickle, faFilm, faCoconut, faRulerHorizontal, faShieldCross, faCassetteTape, faSquareTerminal, faPeopleRobbery, faLightbulb, faCaretLeft, faCommentMiddle, faTrashCanList, faBlock, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faFaceFrownSlight, faCircleChevronDown, faChevronCircleDown, faSidebarFlip, faUnlockKeyhole, faUnlockAlt, faTemperatureList, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faPipeSection, faSpaceStationMoonConstruction, faSpaceStationMoonAlt, faCircleDollarToSlot, faDonate, faMemory, faFaceSleeping, faRoadSpikes, faFireBurner, faSquirrel, faArrowUpToLine, faArrowToTop, faFlag, faFaceCowboyHat, faHanukiah, faChartScatter3d, faDisplayChartUp, faSquareCode, faFeather, faVolumeLow, faVolumeDown, faXmarkToSlot, faTimesToSlot, faVoteNay, faBoxTaped, faBoxAlt, faCommentSlash, faSwords, faCloudSunRain, faAlbum, faCircleN, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faKeySkeletonLeftRight, faCommentLines, faLuchadorMask, faLuchador, faMaskLuchador, faSquareCheck, faCheckSquare, faShredder, faBookOpenCover, faBookOpenAlt, faSandwich, faPesetaSign, faSquareParkingSlash, faParkingSlash, faTrainTunnel, faHeading, faHeader, faGhost, faFaceAnguished, faHockeySticks, faAbacus, faFilmSimple, faFilmAlt, faList, faListSquares, faTreePalm, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faBorderCenterV, faCircleDot, faDotCircle, faClipboardMedical, faFaceDizzy, faDizzy, faEgg, faUpToLine, faArrowAltToTop, faHouseMedicalCircleXmark, faWatchFitness, faClockNineThirty, faCampground, faFolderPlus, faJug, faFutbol, faFutbolBall, faSoccerBall, faSnowBlowing, faPaintbrush, faPaintBrush, faLock, faArrowDownFromLine, faArrowFromTop, faGasPump, faSignalBarsSlash, faSignalAltSlash, faMonkey, faRectanglePro, faPro, faHouseNight, faHotTubPerson, faHotTub, faBlanket, faMapLocation, faMapMarked, faHouseFloodWater, faCommentsQuestionCheck, faTree, faArrowsCross, faBackpack, faSquareSmall, faFolderArrowUp, faFolderUpload, faBridgeLock, faCrosshairsSimple, faSackDollar, faPenToSquare, faEdit, faSquareSliders, faSlidersHSquare, faCarSide, faMessageMiddleTop, faCommentMiddleTopAlt, faLightbulbOn, faKnife, faUtensilKnife, faShareNodes, faShareAlt, faDisplayChartUpCircleDollar, faWaveSine, faHeartCircleMinus, faCircleW, faCircleCalendar, faCalendarCircle, faHourglassHalf, faHourglass2, faMicroscope, faSunset, faSink, faCalendarExclamation, faTruckContainerEmpty, faHandHeart, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faReplyClock, faReplyTime, faPersonRays, faRight, faArrowAltRight, faCircleF, faUsers, faFacePleading, faEyeSlash, faFlaskVial, faPoliceBox, faCucumber, faHeadSideBrain, faHand, faHandPaper, faPersonBikingMountain, faBikingMountain, faUtensilsSlash, faPrintMagnifyingGlass, faPrintSearch, faFolderBookmark, faOm, faPi, faFlaskRoundPotion, faFlaskPotion, faFaceShush, faWorm, faHouseCircleXmark, faPlug, faCalendarCircleExclamation, faSquareI, faChevronUp, faFaceSaluting, faGaugeSimpleLow, faTachometerSlow, faFacePersevering, faCircleCamera, faCameraCircle, faHandSpock, faSpiderWeb, faCircleMicrophone, faMicrophoneCircle, faBookArrowUp, faPopsicle, faCommand, faBlinds, faStopwatch, faSaxophone, faSquare2, faFieldHockeyStickBall, faFieldHockey, faArrowUpSquareTriangle, faSortShapesUpAlt, faFaceScream, faSquareM, faCameraWeb, faWebcam, faCommentArrowDown, faLightbulbCfl, faWindowFrameOpen, faFaceKiss, faKiss, faBridgeCircleXmark, faPeriod, faFaceGrinTongue, faGrinTongue, faUpToDottedLine, faThoughtBubble, faSkeletonRibs, faRaygun, faFlute, faAcorn, faVideoArrowUpRight, faGrateDroplet, faSealExclamation, faChessBishop, faMessageSms, faCoffeeBeans, faHatWitch, faFaceGrinWink, faGrinWink, faClockThreeThirty, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faAlarmClock, faEclipse, faFaceRelieved, faRoadCircleCheck, faDiceFive, faOctagonMinus, faMinusOctagon, faSquareRss, faRssSquare, faFaceZany, faTricycle, faLandMineOn, faSquareArrowUpLeft, faICursor, faChartMixedUpCircleDollar, faSaltShaker, faStamp, faFilePlus, faDrawSquare, faToiletPaperUnderSlash, faToiletPaperReverseSlash, faStairs, faDroneFront, faDroneAlt, faGlassEmpty, faDialHigh, faUserHelmetSafety, faUserConstruction, faUserHardHat, faI, faHryvniaSign, faHryvnia, faArrowDownLeftAndArrowUpRightToCenter, faPills, faFaceGrinWide, faGrinAlt, faTooth, faBasketballHoop, faObjectsAlignBottom, faV, faSparkles, faSquid, faLeafyGreen, faCircleArrowUpRight, faCalendars, faBangladeshiTakaSign, faBicycle, faHammerWar, faCircleD, faSpiderBlackWidow, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faPear, faHeadSideCoughSlash, faTriangle, faApartment, faTruckMedical, faAmbulance, faPepper, faPiano, faGunSquirt, faWheatAwnCircleExclamation, faSnowman, faUserAlien, faShieldCheck, faMortarPestle, faRoadBarrier, faChartCandlestick, faBriefcaseBlank, faSchool, faIgloo, faBracketRound, faParenthesis, faJoint, faHorseSaddle, faMugMarshmallows, faFilters, faBellOn, faAngleRight, faDialMed, faHorse, faQ, faMonitorWaveform, faMonitorHeartRate, faLinkSimple, faWhistle, faG, faWineGlassCrack, faFragile, faSlotMachine, faNotesMedical, faCarWash, faEscalator, faCommentImage, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faDonut, faDoughnut, faCapsules, faPooStorm, faPooBolt, faTally1, faFaceFrownOpen, faFrownOpen, faSquareDashed, faSquareJ, faHandPointUp, faMoneyBill, faArrowUpBigSmall, faSortSizeUp, faBarcodeRead, faBaguette, faBowlSoftServe, faFaceHoldingBackTears, faSquareUp, faArrowAltSquareUp, faTrainSubwayTunnel, faSubwayTunnel, faSquareExclamation, faExclamationSquare, faSemicolon, faBookmark, faFanTable, faAlignJustify, faBatteryLow, faBattery1, faCreditCardFront, faBrainArrowCurvedRight, faMindShare, faUmbrellaBeach, faHelmetUn, faLocationSmile, faMapMarkerSmile, faArrowLeftToLine, faArrowToLeft, faBullseye, faSushi, faNigiri, faMessageCaptions, faCommentAltCaptions, faTrashList, faBacon, faOption, faHandPointDown, faArrowUpFromBracket, faTrashPlus, faObjectsAlignTop, faFolder, faFolderBlank, faFaceAnxiousSweat, faCreditCardBlank, faFileWaveform, faFileMedicalAlt, faMicrochipAi, faMug, faPlaneUpSlash, faRadiation, faPenCircle, faBagSeedling, faChartSimple, faCrutches, faCircleParking, faParkingCircle, faMarsStroke, faLeafOak, faSquareBolt, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faLambda, faE, faPizza, faBowlChopsticksNoodles, faH3, faPenClip, faPenAlt, faBridgeCircleExclamation, faBadgePercent, faUser, faSensor, faComma, faSchoolCircleCheck, faToiletPaperUnder, faToiletPaperReverse, faLightEmergency, faArrowDownToArc, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faLightSwitch, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faWavePulse, faHeartRate, faKey, faHatSanta, faTamale, faBoxCheck, faBullhorn, faSteak, faLocationCrosshairsSlash, faLocationSlash, faPersonDolly, faGlobe, faSynagogue, faFileChartColumn, faFileChartLine, faPersonHalfDress, faFolderImage, faCalendarPen, faCalendarEdit, faRoadBridge, faFaceSmileTear, faMessagePlus, faCommentAltPlus, faLocationArrow, faC, faTabletButton, faRectangleHistoryCircleUser, faBuildingLock, faChartLineUp, faMailbox, faTruckBolt, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faCircleThreeQuartersStroke, faPersonCircleMinus, faScalpel, faBan, faCancel, faBellExclamation, faCircleBookmark, faBookmarkCircle, faEggFried, faFaceWeary, faUniformMartialArts, faCameraRotate, faSunDust, faCommentText, faSprayCanSparkles, faAirFreshener, faSignalBars, faSignalAlt, faSignalAlt4, faSignalBarsStrong, faDiamondExclamation, faStar, faDialMin, faRepeat, faCross, faPageCaretDown, faFileCaretDown, faBox, faVenusMars, faClockSevenThirty, faArrowPointer, faMousePointer, faClockFourThirty, faSignalBarsGood, faSignalAlt3, faCactus, faLightbulbGear, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faPlaneTail, faGaugeSimpleMax, faTachometerFastest, faCircleU, faShieldSlash, faSquarePhoneHangup, faPhoneSquareDown, faArrowUpLeft, faTransporter1, faPeanuts, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faBinBottlesRecycle, faArrowUpFromSquare, faFileDashedLine, faPageBreak, faBracketCurlyRight, faSpider, faClockThree, faHandsBound, faScalpelLineDashed, faScalpelPath, faFileInvoiceDollar, faPipeSmoking, faFaceAstonished, faWindow, faPlaneCircleExclamation, faEar, faFileLock, faDiagramVenn, faXRay, faGoalNet, faCoffinCross, faSpellCheck, faLocationXmark, faMapMarkerTimes, faMapMarkerXmark, faCircleQuarterStroke, faLasso, faSlash, faPersonToPortal, faPortalEnter, faCalendarStar, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faPegasus, faFilesMedical, faNfcLock, faPersonSkiLift, faSkiLift, faSquare6, faShopSlash, faStoreAltSlash, faWindTurbine, faSlidersSimple, faGridRound, faBadgeSheriff, faServer, faVirusCovidSlash, faIntersection, faShopLock, faFamily, faHourglassStart, faHourglass1, faUserHairBuns, faBlenderPhone, faHourglassClock, faPersonSeatReclined, faPaperPlaneTop, faPaperPlaneAlt, faSend, faMessageArrowUp, faCommentAltArrowUp, faLightbulbExclamation, faLayerMinus, faLayerGroupMinus, faChartPieSimpleCircleCurrency, faCircleE, faBuildingWheat, faGaugeMax, faTachometerAltFastest, faPersonBreastfeeding, faApostrophe, faFireHydrant, faRightToBracket, faSignInAlt, faVideoPlus, faSquareRight, faArrowAltSquareRight, faCommentSmile, faVenus, faPassport, faInboxIn, faInboxArrowDown, faHeartPulse, faHeartbeat, faCircle8, faCloudsMoon, faClockTenThirty, faPeopleCarryBox, faPeopleCarry, faFolderUser, faTrashCanXmark, faTemperatureHigh, faMicrochip, faLeftLongToLine, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faCalendarRange, faFlowerDaffodil, faHandBackPointUp, faWeightScale, faWeight, faStarExclamation, faBooks, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faLayerPlus, faLayerGroupPlus, faPlayPause, faBlockQuestion, faSnooze, faZzz, faScannerImage, faTvRetro, faSquareT, faFarm, faBarnSilo, faChessKnight, faBarsSort, faPalletBoxes, faPaletteBoxes, faPalletAlt, faFaceLaughSquint, faLaughSquint, faCodeSimple, faBoltSlash, faPanelFire, faBinaryCircleCheck, faCommentMinus, faBurrito, faViolin, faObjectsColumn, faSquareChevronDown, faChevronSquareDown, faCommentPlus, faTriangleInstrument, faTriangleMusic, faWheelchair, faUserPilotTie, faPianoKeyboard, faBedEmpty, faCircleArrowUp, faArrowCircleUp, faToggleOn, faRectangleVertical, faRectanglePortrait, faPersonWalking, faWalking, faL, faSignalStream, faDownToBracket, faCircleZ, faStars, faFire, faBedPulse, faProcedures, faHouseDay, faShuttleSpace, faSpaceShuttle, faShirtLongSleeve, faChartPieSimple, faChartPieAlt, faFaceLaugh, faLaugh, faFolderOpen, faAlbumCollectionCircleUser, faCandy, faBowlHot, faSoup, faFlatbread, faHeartCirclePlus, faCodeFork, faCity, faSignalBarsWeak, faSignalAlt1, faMicrophoneLines, faMicrophoneAlt, faClockTwelve, faPepperHot, faCitrusSlice, faSheep, faUnlock, faColonSign, faHeadset, faBadgerHoney, faH4, faStoreSlash, faRoadCircleXmark, faSignalSlash, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faTaco, faHexagonPlus, faPlusHexagon, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faMessages, faCommentsAlt, faBath, faBathtub, faUmbrellaSimple, faUmbrellaAlt, faRectangleHistoryCirclePlus, faUnderline, faPrescriptionBottlePill, faUserPen, faUserEdit, faBinarySlash, faSquareO, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faTransporter3, faEngineWarning, faEngineExclamation, faCircleDownRight, faSquareK, faManatSign, faMoneyCheckPen, faMoneyCheckEdit, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faTilde, faJedi, faSquarePollVertical, faPoll, faArrowDownSquareTriangle, faSortShapesDownAlt, faMugHot, faDogLeashed, faCarBattery, faBatteryCar, faFaceDowncastSweat, faMailboxFlagUp, faMemoCircleInfo, faGift, faDiceTwo, faVolume, faVolumeMedium, faTransporter5, faGaugeCircleBolt, faCoinFront, faFileSlash, faMessageArrowUpRight, faTreasureChest, faChessQueen, faPaintbrushFine, faPaintBrushAlt, faPaintBrushFine, faPaintbrushAlt, faGlasses, faHoodCloak, faSquareQuote, faUpLeft, faBringFront, faChessBoard, faBurgerCheese, faCheeseburger, faBuildingCircleCheck, faRepeat1, faArrowDownToLine, faArrowToBottom, faGrid5, faRightLongToLine, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faGridRound5, faTally, faTally5, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faUpFromDottedLine, faEyeLowVision, faLowVision, faTrafficLightGo, faFaceExhaling, faSensorFire, faUserUnlock, faHexagonDivide, fa00, faCrow, faCassetteBetamax, faBetamax, faSailboat, faWindowRestore, faNfcMagnifyingGlass, faFileBinary, faCircleV, faSquarePlus, faPlusSquare, faBowlScoops, faMistletoe, faCustard, faLacrosseStick, faHockeyMask, faSunrise, faPanelEws, faToriiGate, faCloudExclamation, faMessageLines, faCommentAltLines, faFrog, faBucket, faFloppyDiskPen, faImage, faWindowFrame, faMicrophone, faCow, faFileZip, faSquareRing, faDownFromLine, faArrowAltFromTop, faCaretUp, faShieldXmark, faShieldTimes, faScrewdriver, faCircleSortDown, faSortCircleDown, faFolderClosed, faHouseTsunami, faSquareNfi, faForklift, faArrowUpFromGroundWater, faBracketSquareRight, faMartiniGlass, faGlassMartiniAlt, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faSquareA, faTick, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faRefrigerator, faMonument, faOctagonXmark, faTimesOctagon, faXmarkOctagon, faAlignSlash, faSnowplow, faAnglesRight, faAngleDoubleRight, faTruckRampCouch, faTruckCouch, faCannabis, faCirclePlay, faPlayCircle, faArrowUpRightAndArrowDownLeftFromCenter, faTablets, fa360Degrees, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faSquareDashedCirclePlus, faMoneySimpleFromBracket, faBat, faCircleStop, faStopCircle, faHeadSideHeadphones, faPhoneRotary, faCompassDrafting, faDraftingCompass, faPlateWheat, faCalendarCircleMinus, faChopsticks, faCarWrench, faCarMechanic, faIcicles, faPersonShelter, faNeuter, faIdBadge, faKazoo, faMarker, faBinBottles, faFaceLaughBeam, faLaughBeam, faSquareArrowDownLeft, faBatteryBolt, faTreeLarge, faHelicopterSymbol, faAperture, faUniversalAccess, faGearComplex, faFileMagnifyingGlass, faFileSearch, faUpRight, faCircleChevronUp, faChevronCircleUp, faUserPolice, faLariSign, faVolcano, faTeddyBear, faStocking, faPersonWalkingDashedLineArrowRight, faImageSlash, faMaskSnorkel, faSmoke, faSterlingSign, faGbp, faPoundSign, faBatteryExclamation, faViruses, faSquarePersonConfined, faUserTie, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faCrystalBall, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faStarShooting, faBinaryLock, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faCommentPen, faCommentEdit, faFileImport, faArrowRightToFile, faBanjo, faSquareArrowUpRight, faExternalLinkSquare, faLightEmergencyOn, faKerning, faBoxOpen, faSquareF, faScroll, faSpa, faArrowLeftFromLine, faArrowFromRight, faStrawberry, faLocationPinLock, faPause, faClockEightThirty, faPlaneEngines, faPlaneAlt, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faGaugeLow, faTachometerAltSlow, faRegistered, faTrashCanPlus, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faGlobeSnow, faSubscript, faDiamondTurnRight, faDirections, faIntegral, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faBlindsRaised, faSmog, faUfoBeam, faCircleCaretUp, faCaretCircleUp, faUserVneckHairLong, faSquareALock, faCrutch, faGasPumpSlash, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faTransporter4, faChartMixedUpCircleCurrency, faObjectsAlignRight, faArrowsTurnRight, faVest, faPig, faInboxFull, faCircleEnvelope, faEnvelopeCircle, faTrianglePersonDigging, faConstruction, faFerry, faBullseyeArrow, faArrowsDownToPeople, faSeedling, faSprout, faClockSeven, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faFlashlight, faGroupArrowsRotate, faBowlFood, faSquare9, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faSquareDollar, faDollarSquare, faUsdSquare, faPhoneArrowRight, faHandHoldingSeedling, faMessageCheck, faCommentAltCheck, faCloudBolt, faThunderstorm, faChartLineUpDown, faTextSlash, faRemoveFormat, faWatch, faCircleDownLeft, faText, faProjector, faFaceSmileWink, faSmileWink, faTombstoneBlank, faTombstoneAlt, faChessKingPiece, faChessKingAlt, faCircle6, faLeft, faArrowAltLeft, faFileWord, faFilePowerpoint, faSquareDown, faArrowAltSquareDown, faObjectsAlignCenterVertical, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faWreath, faChildren, faMeterDroplet, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faSignalStrong, faSignal4, faLollipop, faLollypop, faListTree, faEnvelopeOpen, faDrawCircle, faCatSpace, faHandshakeSimpleSlash, faHandshakeAltSlash, faRabbitRunning, faRabbitFast, faMemoPad, faMattressPillow, faAlarmPlus, faAlicorn, faCommentQuestion, faGingerbreadMan, faGuaraniSign, faBurgerFries, faMugTea, faBorderTop, faArrowsRotate, faRefresh, faSync, faCircleBookOpen, faBookCircle, faArrowsToDottedLine, faFireExtinguisher, faGarageOpen, faShelvesEmpty, faCruzeiroSign, faWatchApple, faWatchCalculator, faListDropdown, faCabinetFiling, faBurgerSoda, faSquareArrowUp, faArrowSquareUp, faGreaterThanEqual, faPalletBox, faFaceConfounded, faShieldHalved, faShieldAlt, faTruckPlow, faBookAtlas, faAtlas, faVirus, faGridRound2, faCommentMiddleTop, faEnvelopeCircleCheck, faLayerGroup, faRestroomSimple, faArrowsToDot, faBorderOuter, faHashtagLock, faClockTwoThirty, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faHeartHalf, faCommentCheck, faSquare, faMemo, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faGlassCitrus, faCalendarLinesPen, faChurch, faPersonSnowmobiling, faSnowmobile, faFaceHushed, faCommentsDollar, faPickaxe, faLinkSimpleSlash, faDemocrat, faFaceConfused, faPinball, faZ, faPersonSkiing, faSkiing, faDeer, faInputPipe, faRoadLock, faA, faBookmarkSlash, faTemperatureArrowDown, faTemperatureDown, faMace, faFeatherPointed, faFeatherAlt, faSausage, faTrashCanClock, faP, faBroomWide, faSnowflake, faStomach, faNewspaper, faRectangleAd, faAd, faGuitarElectric, faArrowTurnDownRight, faMoonCloud, faBreadSliceButter, faCircleArrowRight, faArrowCircleRight, faUserGroupCrown, faUsersCrown, faCircleI, faToiletPaperCheck, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faChartWaterfall, faSparkle, faFaceParty, faKidneys, faWifiExclamation, faChartNetwork, faPersonDressBurst, faDiceD4, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faWheatAwnSlash, faFaceKissWinkHeart, faKissWinkHeart, faDagger, faPodium, faMemoCircleCheck, faRouteHighway, faDownToLine, faArrowAltToBottom, faFilter, faSquareG, faCirclePhone, faPhoneCircle, faClipboardPrescription, faUserNurseHair, faQuestion, faFileSignature, faToggleLargeOn, faUpDownLeftRight, faArrowsAlt, faDryerHeat, faDryerAlt, faHouseChimneyUser, faHandHoldingHeart, faArrowUpSmallBig, faSortSizeUpAlt, faTrainTrack, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faFileExclamation, faCode, faWhiskeyGlass, faGlassWhiskey, faMoonStars, faBuildingCircleExclamation, faClothesHanger, faMobileNotch, faMobileIphone, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faImagesUser, faWonSign, faKrw, faWon, faImagePolaroidUser, faVirusCovid, faSquareEllipsis, faPie, faChessKnightPiece, faChessKnightAlt, faAustralSign, faCloudPlus, faF, faLeaf, faBedBunk, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faClockEight, faSackXmark, faFileExcel, faFileContract, faFishFins, faCircleQ, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faFaceDisguise, faCircleArrowDownRight, faAlien8bit, faAlienMonster, faHandPointRibbon, faPoop, faObjectExclude, faTelescope, faLocationPin, faMapMarker, faSquareList, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faCommentCode, faSimCards, faStarship, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faSeal, faUserCowboy, faHexagonVerticalNft, faFaceRollingEyes, faMehRollingEyes, faBreadLoaf, faRingsWedding, faObjectGroup, faFrenchFries, faChartLine, faLineChart, faCalendarArrowDown, faCalendarDownload, faSendBack, faMaskVentilator, faSignatureLock, faArrowRight, faSignsPost, faMapSigns, faOctagonPlus, faPlusOctagon, faCashRegister, faPersonCircleQuestion, faMelonSlice, faSpaceStationMoon, faMessageSmile, faCommentAltSmile, faCupStraw, faLeftFromLine, faArrowAltFromRight, faH, faBasketShoppingSimple, faShoppingBasketAlt, faHandsHoldingHeart, faHandsHeart, faClockNine, faTarp, faFaceSleepy, faHandHorns, faScrewdriverWrench, faTools, faArrowsToEye, faCircleThreeQuarters, faTrophyStar, faTrophyAlt, faPlugCircleBolt, faFaceThermometer, faGridRound4, faShirtRunning, faBookCircleArrowUp, faFaceNauseated, faHeart, faFileChartPie, faMarsAndVenus, faHouseUser, faHomeUser, faCircleArrowDownLeft, faDumpsterFire, faHexagonMinus, faMinusHexagon, faLeftToLine, faArrowAltToLeft, faHouseCrack, faPawSimple, faPawAlt, faArrowLeftLongToLine, faBracketsRound, faParentheses, faMartiniGlassCitrus, faCocktail, faUserShakespeare, faArrowRightToArc, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faGaugeCirclePlus, faFolders, faAngel, faValueAbsolute, faRabbit, faToiletPaperSlash, faCircleEuro, faAppleWhole, faAppleAlt, faKitchenSet, faDiamondHalf, faLockKeyhole, faLockAlt, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faSquareInfo, faInfoSquare, faWifiSlash, faToiletPaperXmark, faHandsHoldingDollar, faHandsUsd, faCube, faArrowDownTriangleSquare, faSortShapesDown, faBitcoinSign, faShutters, faShieldDog, faSolarPanel, faLockOpen, faTableTree, faHouseChimneyHeart, faTally3, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faCartCircleExclamation, faSword, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faInterrobang, faPlaneSlash, faCircleDashed, faTrademark, faBasketball, faBasketballBall, faForkKnife, faUtensilsAlt, faSatelliteDish, faBadgeCheck, faCircleUp, faArrowAltCircleUp, faSlider, faMobileScreenButton, faMobileAlt, faClockOneThirty, faInboxOut, faInboxArrowUp, faCloudSlash, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faOctagonCheck, faFlatbreadStuffed, faClipboardCheck, faCartCirclePlus, faTruckClock, faShippingTimed, faPool8Ball, faFileAudio, faTurnDownLeft, faLockHashtag, faChartRadar, faStaff, faBurger, faHamburger, faUtilityPole, faTransporter6, faWrench, faBugs, faVectorPolygon, faDiagramNested, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faImageUser, faBuoy, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faBorderCenterH, faCanFood, faTypewriter, faArrowRightFromArc, faCircleK, faFaceHandOverMouth, faPopcorn, faHouseWater, faHouseFlood, faObjectSubtract, faCodeBranch, faWarehouseFull, faWarehouseAlt, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faArrowDownFromDottedLine, faFileDoc, faSquareQuarters, faTruckFront, faCat, faTrashXmark, faCircleCaretLeft, faCaretCircleLeft, faFiles, faAnchorCircleExclamation, faFaceClouds, faUserCrown, faTruckField, faRoute, faCartCircleCheck, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faUserTieHairLong, faFileCircleMinus, faHeadSideMedical, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faUserRobot, faSquareParking, faParking, faCardDiamond, faFaceZipper, faFaceRaisedEyebrow, faHouseSignal, faSquareChevronUp, faChevronSquareUp, faNfcSymbol, faBarsProgress, faTasksAlt, faFaucetDrip, faArrowsToLine, faDolphin, faArrowUpRight, faCircleR, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faCircleSortUp, faSortCircleUp, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faChestnut, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faHeat, faTicketAirline, faBootHeeled, faArrowsMinimize, faCompressArrows, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faHexagon, faManhole, faUserSlash, faPen, faTowerObservation, faFloppyDisks, faToiletPaperBlankUnder, faToiletPaperReverseAlt, faFileCode, faSignal, faSignal5, faSignalPerfect, faPump, faBus, faHeartCircleXmark, faArrowUpLeftFromCircle, faHouseChimney, faHomeLg, faWindowMaximize, faDryer, faFaceFrown, faFrown, faChessBishopPiece, faChessBishopAlt, faShirtTankTop, faDiploma, faScrollRibbon, faScreencast, faWalker, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faFaceKissClosedEyes, faScaleUnbalanced, faBalanceScaleLeft, faFileUser, faUserPoliceTie, faFaceTongueMoney, faTennisBall, faSquareL, faSortUp, faSortAsc, faCalendarArrowUp, faCalendarUpload, faCommentDots, faCommenting, faPlantWilt, faScarf, faAlbumCirclePlus, faUserNurseHairLong, faDiamond, faSquareLeft, faArrowAltSquareLeft, faFaceGrinSquint, faGrinSquint, faCircleEllipsisVertical, faHandHoldingDollar, faHandHoldingUsd, faGridDividers, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faFacePensive, faUserMusic, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faMessagesDollar, faCommentsAltDollar, faSensorOn, faBalloon, faBiohazard, faChessQueenPiece, faChessQueenAlt, faLocationCrosshairs, faLocation, faMarsDouble, faHousePersonLeave, faHouseLeave, faHousePersonDepart, faRulerTriangle, faCardClub, faChildDress, faUsersBetweenLines, faLungsVirus, faSpinnerThird, faFaceGrinTears, faGrinTears, faPhone, faComputerMouseScrollwheel, faMouseAlt, faCalendarXmark, faCalendarTimes, faChildReaching, faTableLayout, faNarwhal, faRampLoading, faCalendarCirclePlus, faToothbrush, faBorderInner, faPawClaws, faKiwiFruit, faTrafficLightSlow, faRectangleCode, faHeadSideVirus, faKeyboardBrightness, faBooksMedical, faLightbulbSlash, faHouseBlank, faHomeBlank, faSquare5, faSquareHeart, faHeartSquare, faPuzzle, faUserGear, faUserCog, faPipeCircleCheck, faArrowUp19, faSortNumericUp, faOctagonExclamation, faDialLow, faDoorClosed, faLaptopMobile, faPhoneLaptop, faConveyorBeltBoxes, faConveyorBeltAlt, faShieldVirus, faStarfighterTwinIonEngineAdvanced, faStarfighterAltAdvanced, faDiceSix, faStarfighterTwinIonEngine, faStarfighterAlt, faRocketLaunch, faMosquitoNet, faVentDamper, faBridgeWater, faBanBug, faDebug, faPersonBooth, faTextWidth, faGarageCar, faSquareKanban, faHatWizard, faPenFancy, faCoffeePot, faMouseField, faPersonDigging, faDigging, faShowerDown, faShowerAlt, faBoxCircleCheck, faBrightness, faCarSideBolt, faOrnament, faPhoneArrowDownLeft, faPhoneArrowDown, faPhoneIncoming, faCloudWord, faHandFingersCrossed, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faArrowDownSmallBig, faSortSizeDownAlt, faBookMedical, faFaceMelting, faPoo, faPenClipSlash, faPenAltSlash, faQuoteRight, faQuoteRightAlt, faScrollOld, faGuitars, faPhoneXmark, faHose, faClockSix, faShirt, faTShirt, faTshirt, faBillboard, faSquareR, faCubes, faEnvelopeOpenDollar, faDivide, faSunCloud, faLampFloor, faSquare7, faTengeSign, faTenge, faHeadphones, faHandsHolding, faCampfire, faCircleAmpersand, faSnowflakes, faHandsClapping, faRepublican, faLeafMaple, faArrowLeft, faPersonCircleXmark, faRuler, faCupStrawSwoosh, faTemperatureSun, faTemperatureHot, faAlignLeft, faDiceD6, faRestroom, faHighDefinition, faRectangleHd, faJ, faGalaxy, faUsersViewfinder, faFileVideo, faCherries, faUpRightFromSquare, faExternalLinkAlt, faCircleSort, faSortCircle, faTableCells, faTh, faFilePdf, faSiren, faArrowUpToDottedLine, faImageLandscape, faLandscape, faTankWater, faCurlingStone, faCurling, faGamepadModern, faGamepadAlt, faMessagesQuestion, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faBriefcaseArrowRight, faExpandWide, faClockElevenThirty, faRv, faUserSecret, faOtter, faDreidel, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faFlowerTulip, faPeoplePantsSimple, faCloudDrizzle, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faSolarSystem, faSealQuestion, faPhoneVolume, faVolumeControlPhone, faDiscDrive, faHatCowboySide, faTableRows, faRows, faLocationExclamation, faMapMarkerExclamation, faFaceFearful, faClipboardUser, faBusSchool, faFilmSlash, faSquareArrowDownRight, faBookSparkles, faBookSpells, faWashingMachine, faWasher, faChild, faLiraSign, faUserVisor, faFilePlusMinus, faChessClockFlip, faChessClockAlt, faSatellite, faPlaneLock, faSteeringWheel, faTag, faStretcher, faBookSection, faBookLaw, faInboxes, faCoffeeBean, faCircleYen, faBracketsCurly, faEllipsisStrokeVertical, faEllipsisVAlt, faComment, faSquare1, faCakeCandles, faBirthdayCake, faCake, faHeadSide, faEnvelope, faDollyEmpty, faFaceTissue, faAnglesUp, faAngleDoubleUp, faBinRecycle, faPaperclip, faChartLineDown, faArrowRightToCity, faLockA, faRibbon, faLungs, faPersonPinball, faArrowUp91, faSortNumericUpAlt, faAppleCore, faCircleY, faH6, faLitecoinSign, faCircleSmall, faBorderNone, faArrowTurnDownLeft, faCircleNodes, faParachuteBox, faMessageMedical, faCommentAltMedical, faRugbyBall, faCommentMusic, faIndent, faTreeDeciduous, faTreeAlt, faPuzzlePieceSimple, faPuzzlePieceAlt, faTruckFieldUn, faNfcTrash, faHourglass, faHourglassEmpty, faMountain, faFileXmark, faFileTimes, faHouseHeart, faHomeHeart, faHouseChimneyBlank, faMeterBolt, faUserDoctor, faUserMd, faSlashBack, faCircleInfo, faInfoCircle, faFishingRod, faHammerCrash, faMessageHeart, faCloudMeatball, faCameraPolaroid, faCamera, faCameraAlt, faSquareVirus, faCartArrowUp, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faBuoyMooring, faSquare4, faHandHoldingDroplet, faHandHoldingWater, faTricycleAdult, faWaveform, faWater, faStarSharpHalfStroke, faStarSharpHalfAlt, faNfcSignal, faPlaneProp, faCalendarCheck, faClockDesk, faCalendarClock, faCalendarTime, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faPlateUtensils, faFamilyPants, faHoseReel, faHouseWindow, faLandmark, faTruck, faCrosshairs, faCloudRainbow, faPersonCane, faAlien, faTent, faLaptopBinary, faVestPatches, faPeopleDressSimple, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faBowlingBallPin, faBellSchoolSlash, faPlusLarge, faMoneyBillWheat, faCameraViewfinder, faScreenshot, faMessageMusic, faCommentAltMusic, faCarBuilding, faBorderBottomRight, faBorderStyleAlt, faOctagon, faCommentArrowUpRight, faOctagonDivide, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faTvMusic, faHardDrive, faHdd, faReel, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faAlarmExclamation, faHouseMedicalCircleCheck, faTrafficCone, faGrate, faArrowDownRight, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPersonFromPortal, faPortalExit, faPlaneArrival, faCowbellCirclePlus, faCowbellMore, faCircleLeft, faArrowAltCircleLeft, faDistributeSpacingVertical, faSignalBarsFair, faSignalAlt2, faSportsball, faGameConsoleHandheldCrank, faTrainSubway, faSubway, faChartGantt, faFaceSmileUpsideDown, faBallPile, faBadgeDollar, faMoneyBillsSimple, faMoneyBillsAlt, faListTimeline, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faKeyboardDown, faCircleUpRight, faCloudBoltMoon, faThunderstormMoon, faDna, faVirusSlash, faBracketRoundRight, faCircleSterling, faCircle5, faMinus, faSubtract, faFireFlame, faFlame, faRightToLine, faArrowAltToRight, faGif, faChess, faTrashSlash, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faFontCase, faStreetView, faArrowDownLeft, faFrancSign, faFlaskRoundPoison, faFlaskPoison, faVolumeOff, faBookCircleArrowRight, faChartUser, faUserChart, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faPresentationScreen, faPresentation, faCircleBolt, faFaceSmileHalo, faCartCircleArrowDown, faHousePersonReturn, faHousePersonArrive, faHouseReturn, faMessageXmark, faCommentAltTimes, faMessageTimes, faFileCertificate, faFileAward, faUserDoctorHairLong, faCameraSecurity, faCameraHome, faGear, faCog, faDropletSlash, faTintSlash, faBookHeart, faMosque, faDuck, faMosquito, faStarOfDavid, faFlagSwallowtail, faFlagAlt, faPersonMilitaryRifle, faCarGarage, faCartShopping, faShoppingCart, faBookFont, faShieldPlus, faVials, faEyeDropperFull, faDistributeSpacingHorizontal, faTabletRugged, faTemperatureSnow, faTemperatureFrigid, faMoped, faFaceSmilePlus, faSmilePlus, faRadioTuner, faRadioAlt, faFaceSwear, faWaterArrowDown, faWaterLower, faScannerTouchscreen, faCircle7, faPlugCirclePlus, faPersonSkiJumping, faSkiJump, faPlaceOfWorship, faWaterArrowUp, faWaterRise, faWaveformLines, faWaveformPath, faSplit, faFilmCanister, faFilmCannister, faFolderXmark, faFolderTimes, faToiletPaperBlank, faToiletPaperAlt, faTabletScreen, faTabletAndroidAlt, faHexagonVerticalNftSlanted, faFolderMusic, faDisplayMedical, faDesktopMedical, faShareAll, faPeapod, faChessClock, faAxe, faSquareD, faGripVertical, faMobileSignalOut, faArrowTurnUp, faLevelUp, faU, faArrowUpFromDottedLine, faSquareRootVariable, faSquareRootAlt, faLightSwitchOn, faArrowDownArrowUp, faSortAlt, faRaindrops, faDash, faMinusLarge, faClock, faClockFour, faInputNumeric, faTruckTow, faBackwardStep, faStepBackward, faPallet, faCarBolt, faArrowsMaximize, faExpandArrows, faFaucet, faCloudSleet, faLampStreet, faListRadio, faPenNibSlash, faBaseballBatBall, faSquareUpLeft, faOverline, faS, faTimeline, faKeyboard, faArrowsFromDottedLine, faUsbDrive, faBallot, faCaretDown, faLocationDotSlash, faMapMarkerAltSlash, faCards, faHouseChimneyMedical, faClinicMedical, faBoxingGlove, faGloveBoxing, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faBellSchool, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faFolderHeart, faCircleLocationArrow, faLocationCircle, faFaceHeadBandage, faSushiRoll, faMakiRoll, faMakizushi, faCarBump, faPiggyBank, faRacquet, faCarMirrors, faIndustryWindows, faIndustryAlt, faBoltAuto, faBatteryHalf, faBattery3, faFluxCapacitor, faMountainCity, faCoins, faHoneyPot, faOlive, faKhanda, faFilterList, faOutlet, faSliders, faSlidersH, faCauldron, faPeople, faFolderTree, faNetworkWired, faCroissant, faMapPin, faHamsa, faCentSign, faSwordsLaser, faFlask, faPersonPregnant, faSquareU, faWandSparkles, faRouter, faEllipsisVertical, faEllipsisV, faSwordLaserAlt, faTicket, faPowerOff, faCoin, faLaptopSlash, faRightLong, faLongArrowAltRight, faCircleB, faPersonDressSimple, faPipeCollar, faLightsHoliday, faCitrus, faFlagUsa, faLaptopFile, faTty, faTeletype, faChartTreeMap, faDiagramNext, faPersonRifle, faClockFiveThirty, faPipeValve, faArrowUpFromArc, faFaceSpiralEyes, faCompressWide, faCirclePhoneHangup, faPhoneCircleDown, faGearComplexCode, faHouseMedicalCircleExclamation, faBadminton, faClosedCaptioning, faPersonHiking, faHiking, faRightFromLine, faArrowAltFromLeft, faVenusDouble, faImages, faCalculator, faShuttlecock, faUserHair, faEyeEvil, faPeoplePulling, faN, faGarage, faCableCar, faTram, faShovelSnow, faCloudRain, faFaceLying, faSprinkler, faBuildingCircleXmark, faPersonSledding, faSledding, faGameConsoleHandheld, faShip, faClockSixThirty, faBatterySlash, faTugrikSign, faArrowsDownToLine, faDownload, faShelves, faInventory, faCloudSnow, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faOven, faCloudBinary, faEyeDropper, faEyeDropperEmpty, faEyedropper, faCommentCaptions, faCommentsQuestion, faScribble, faRotateExclamation, faFileCircleCheck, faGlass, faLoader, faForward, faUserPilot, faMobile, faMobileAndroid, faMobilePhone, faCodePullRequestClosed, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faFaceDotted, faFaceWorried, faOutdent, faDedent, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faVectorCircle, faCarCircleBolt, faCalendarWeek, faFlyingDisc, faLaptopMedical, faSquareDownRight, faB, faSeatAirline, faMoonOverSun, faEclipseAlt, faPipe, faFileMedical, faPotato, faDiceOne, faCircleA, faHelmetBattle, faButter, faBlanketFire, faKiwiBird, faCastle, faGolfClub, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faChartPieSimpleCircleDollar, faBalloons, faMillSign, faBowlRice, faTimelineArrow, faSkull, faGameBoardSimple, faGameBoardAlt, faCircleVideo, faVideoCircle, faChartScatterBubble, faHouseTurret, faBanana, faHandHoldingSkull, faPeopleDress, faLoveseat, faCouchSmall, faTowerBroadcast, faBroadcastTower, faTruckPickup, faBlockQuote, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faMoneyCheckDollarPen, faMoneyCheckEditAlt, faUpFromLine, faArrowAltFromBottom, faUpload, faHurricane, faGridRound2Plus, faPeoplePants, faMound, faWindsock, faCircleHalf, faBrakeWarning, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faSaxophoneFire, faSaxHot, faCameraWebSlash, faWebcamSlash, faFolderMedical, faFolderGear, faFolderCog, faHandWave, faArrowUpArrowDown, faSortUpDown, faCaravan, faShieldCat, faMessageSlash, faCommentAltSlash, faBolt, faZap, faTrashCanCheck, faGlassWater, faOilWell, faPersonSimple, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faGearCode, faNotes, faRubleSign, faRouble, faRub, faRuble, faTrashUndo, faTrashArrowTurnLeft, faChampagneGlass, faGlassChampagne, faObjectsAlignCenterHorizontal, faSun, faTrashCanSlash, faTrashAltSlash, faScreenUsers, faUsersClass, faGuitar, faSquareArrowLeft, faArrowSquareLeft, faSquare8, faFaceSmileHearts, faBracketsSquare, faBrackets, faLaptopArrowDown, faHockeyStickPuck, faHouseTree, faSignalFair, faSignal2, faFaceLaughWink, faLaughWink, faCircleDollar, faDollarCircle, faUsdCircle, faHorseHead, faArrowsRepeat, faRepeatAlt, faBoreHole, faIndustry, faImagePolaroid, faWaveTriangle, faPersonRunningFast, faCircleDown, faArrowAltCircleDown, faGrill, faArrowsTurnToDots, faChartMixed, faAnalytics, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faDisplayCode, faDesktopCode, faFaceDrooling, faOilTemperature, faOilTemp, faSquareQuestion, faQuestionSquare, faAirConditioner, faAngleDown, faMountains, faOmega, faCarTunnel, faPersonDollyEmpty, faPanFood, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faTicketsAirline, faAnchorCircleXmark, faEllipsis, faEllipsisH, faNfcSlash, faChessPawn, faKitMedical, faFirstAid, faGrid2Plus, faBells, faPersonThroughWindow, faToolbox, faEnvelopeDot, faEnvelopeBadge, faHandsHoldingCircle, faBug, faBowlChopsticks, faCreditCard, faCreditCardAlt, faCircleS, faBoxBallot, faCar, faAutomobile, faHandHoldingHand, faUserTieHair, faPodiumStar, faUserHairMullet, faBusinessFront, faPartyBack, faTrianBalbot, faMicrophoneStand, faBookOpenReader, faBookReader, faFamilyDress, faCircleX, faCabin, faMountainSun, faChartSimpleHorizontal, faBluetooth, faArrowsLeftRightToLine, faHandBackPointLeft, faMessageDots, faCommentAltDots, faMessaging, faFileHeart, faBeerMug, faBeerFoam, faDiceD20, faDrone, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faBed, faBookCopy, faSquareH, faHSquare, faSquareC, faClockTwo, faSquareEllipsisVertical, faCalendarUsers, faPodcast, faBee, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faCandyBar, faChocolateBar, faXmarkLarge, faPinata, faArrowsFromLine, faSuperscript, faBowlSpoon, faHexagonCheck, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faTrafficLightStop, faPaintRoller, faAccentGrave, faHandshakeAngle, faHandsHelping, faCircle0, faDialMedLow, faLocationDot, faMapMarkerAlt, faCrab, faBoxOpenFull, faBoxFull, faFile, faGreaterThan, faQuotes, faPretzel, faPersonSwimming, faSwimmer, faArrowDown, faUserRobotXmarks, faMessageQuote, faCommentAltQuote, faCandyCorn, faFolderMagnifyingGlass, faFolderSearch, faNotebook, faDroplet, faTint, faBullseyePointer, faEraser, faHexagonImage, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faCrateApple, faAppleCrate, faPersonBurst, faGameBoard, faHatChef, faHandBackPointRight, faDove, faSnowflakeDroplets, faBatteryEmpty, faBattery0, faGrid4, faSocks, faFaceSunglasses, faInbox, faSquare0, faSection, faSquareThisWayUp, faBoxUp, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faSquareAmpersand, faEnvelopeOpenText, faLampDesk, faHospital, faHospitalAlt, faHospitalWide, faPollPeople, faWhiskeyGlassIce, faGlassWhiskeyRocks, faWineBottle, faChessRook, faUserBountyHunter, faBarsStaggered, faReorder, faStream, faDiagramSankey, faCloudHailMixed, faCircleUpLeft, faDharmachakra, faObjectsAlignLeft, faOilCanDrip, faFaceSmilingHands, faBroccoli, faRouteInterstate, faEarMuffs, faHotdog, faTransporterEmpty, faPersonWalkingWithCane, faBlind, faAngle90, faRectangleTerminal, faKite, faDrum, faScrubber, faIceCream, faHeartCircleBolt, faFishBones, faDeerRudolph, faFax, faParagraph, faHeadSideHeart, faSquareE, faMeterFire, faCloudHail, faCheckToSlot, faVoteYea, faMoneyFromBracket, faStarHalf, faCarBus, faSpeaker, faTimer, faBoxesStacked, faBoxes, faBoxesAlt, faGrillHot, faBallotCheck, faLink, faChain, faEarListen, faAssistiveListeningSystems, faFileMinus, faTreeCity, faPlay, faFont, faCupTogo, faCoffeeTogo, faSquareDownLeft, faBurgerLettuce, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faChevronsDown, faChevronDoubleDown, faTrashCanArrowUp, faTrashRestoreAlt, faSignalGood, faSignal3, faLocationQuestion, faMapMarkerQuestion, faFloppyDiskCircleXmark, faFloppyDiskTimes, faSaveCircleXmark, faSaveTimes, faNairaSign, faPeach, faTaxiBus, faBracketCurly, faBracketCurlyLeft, faLobster, faCartFlatbedEmpty, faDollyFlatbedEmpty, faColon, faCartArrowDown, faWand, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faTablePicnic, faSquarePen, faPenSquare, faPencilSquare, faCircleMicrophoneLines, faMicrophoneCircleAlt, faDisplaySlash, faDesktopSlash, faSuitcaseRolling, faPersonCircleExclamation, faTransporter2, faHandsHoldingDiamond, faHandReceiving, faMoneyBillSimpleWave, faChevronDown, faBatteryFull, faBattery, faBattery5, faBellPlus, faBookArrowRight, faHospitals, faClub, faSkullCrossbones, faDropletDegree, faDewpoint, faCodeCompare, faListUl, faListDots, faHandHoldingMagic, faWatermelonSlice, faCircleEllipsis, faSchoolLock, faTowerCell, faSdCards, faJugBottle, faDownLong, faLongArrowAltDown, faEnvelopes, faPhoneOffice, faRankingStar, faChessKing, faNfcPen, faPersonHarassing, faHatWinter, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faBoneBreak, faArrowUp, faDownFromDottedLine, faTv, faTelevision, faTvAlt, faBorderLeft, faCircleDivide, faShrimp, faListCheck, faTasks, faDiagramSubtask, faJugDetergent, faCircleUser, faUserCircle, faSquareY, faUserDoctorHair, faPlanetRinged, faMushroom, faUserShield, faMegaphone, faWreathLaurel, faCircleExclamationCheck, faWind, faBoxDollar, faBoxUsd, faCarBurst, faCarCrash, faY, faUserHeadset, faArrowsRetweet, faRetweetAlt, faPersonSnowboarding, faSnowboarding, faSquareChevronRight, faChevronSquareRight, faLacrosseStickBall, faTruckFast, faShippingFast, faUserMagnifyingGlass, faStarSharp, faCommentHeart, faCircle1, faCircleStar, faStarCircle, faFish, faCloudFog, faFog, faWaffle, faMusicNote, faMusicAlt, faHexagonExclamation, faCartShoppingFast, faObjectUnion, faUserGraduate, faStarfighter, faCircleHalfStroke, faAdjust, faArrowRightLongToLine, faSquareArrowDown, faArrowSquareDown, faDiamondHalfStroke, faClapperboard, faSquareChevronLeft, faChevronSquareLeft, faPhoneIntercom, faLinkHorizontal, faChainHorizontal, faMango, faMusicNoteSlash, faMusicAltSlash, faCircleRadiation, faRadiationAlt, faFaceTongueSweat, faGlobeStand, faBaseball, faBaseballBall, faCircleP, faAwardSimple, faJetFighterUp, faDiagramProject, faProjectDiagram, faPedestal, faChartPyramid, faSidebar, faSnowmanHead, faFrostyHead, faCopy, faBurgerGlass, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faBarsFilter, faPaintbrushPencil, faPartyBell, faUserVneckHair, faJackOLantern, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faKeynote, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faHatBeach, faPlus, faAdd, faExpand, faComputer, faFort, faCloudCheck, faXmark, faClose, faMultiply, faRemove, faTimes, faFaceSmirking, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faRhombus, faClawMarks, faPesoSign, faFaceSmileTongue, faCartCircleXmark, faBuildingShield, faCirclePhoneFlip, faPhoneCircleAlt, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faKeySkeleton, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faArrowDownToBracket, faLinesLeaning, faSquareQ, faRulerCombined, faSymbols, faIconsAlt, faCopyright, faFlaskGear, faHighlighterLine, faBracketSquare, faBracket, faBracketLeft, faIslandTropical, faIslandTreePalm, faArrowRightFromLine, faArrowFromLeft, faH2, faEquals, faCakeSlice, faShortcake, faPeanut, faWrenchSimple, faBlender, faTeeth, faTally2, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faCars, faAxeBattle, faUserHairLong, faMap, faFileCircleInfo, faFaceDisappointed, faLassoSparkles, faClockEleven, faRocket, faSirenOn, faClockTen, faCandleHolder, faVideoArrowDownLeft, faPhotoFilm, faPhotoVideo, faFloppyDiskCircleArrowRight, faSaveCircleArrowRight, faFolderMinus, faPlanetMoon, faFaceEyesXmarks, faChartScatter, faDisplayArrowDown, faStore, faArrowTrendUp, faPlugCircleMinus, faOliveBranch, faAngle, faVacuumRobot, faSignHanging, faSign, faSquareDivide, faSignalStreamSlash, faBezierCurve, faEyeDropperHalf, faStoreLock, faBellSlash, faCloudBoltSun, faThunderstormSun, faCameraSlash, faCommentQuote, faTablet, faTabletAndroid, faSchoolFlag, faMessageCode, faGlassHalf, faGlassHalfEmpty, faGlassHalfFull, faFill, faMessageMinus, faCommentAltMinus, faAngleUp, faDinosaur, faDrumstickBite, faLinkHorizontalSlash, faChainHorizontalSlash, faHollyBerry, faNose, faChevronLeft, faBacteria, faClouds, faMoneyBillSimple, faHandLizard, faTablePivot, faFilterSlash, faTrashCanUndo, faTrashCanArrowTurnLeft, faTrashUndoAlt, faNotdef, faDisease, faPersonToDoor, faTurntable, faBriefcaseMedical, faGenderless, faChevronRight, faSignalWeak, faSignal1, faClockFive, faRetweet, faCarRear, faCarAlt, faPumpSoap, faComputerClassic, faFrame, faVideoSlash, faBatteryQuarter, faBattery2, faEllipsisStroke, faEllipsisHAlt, faRadio, faBabyCarriage, faCarriageBaby, faFaceExpressionless, faDownToDottedLine, faCloudMusic, faTrafficLight, faCloudMinus, faThermometer, faShieldMinus, faVrCardboard, faCarTilt, faGaugeCircleMinus, faBrightnessLow, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faConveyorBelt, faLocationCheck, faMapMarkerCheck, faCoinVertical, faDisplay, faPersonSign, faFaceSmile, faSmile, faPhoneHangup, faSignatureSlash, faThumbtack, faThumbTack, faWheatSlash, faTrophy, faCloudsSun, faPersonPraying, faPray, faHammer, faFaceVomit, faSpeakers, faTtyAnswer, faTeletypeAnswer, faMugTeaSaucer, faDiagramLeanCanvas, faAlt, faDial, faDialMedHigh, faHandPeace, faCircleTrash, faTrashCircle, faRotate, faSyncAlt, faCircleQuarters, faSpinner, faTowerControl, faArrowUpTriangleSquare, faSortShapesUp, faWhale, faRobot, faPeace, faPartyHorn, faGears, faCogs, faSunBright, faSunAlt, faWarehouse, faConveyorBeltArm, faLockKeyholeOpen, faLockOpenAlt, faSquareFragile, faBoxFragile, faSquareWineGlassCrack, faArrowUpRightDots, faSquareN, faSplotch, faFaceGrinHearts, faGrinHearts, faMeter, faMandolin, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faUpFromBracket, faKnifeKitchen, faBorderRight, faArrowTurnDown, faLevelDown, faSpade, faCardSpade, faLineColumns, faArrowRightToLine, faArrowToRight, faPersonFallingBurst, faFlagPennant, faPennant, faConveyorBeltEmpty, faUserGroupSimple, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faCamcorder, faVideoHandheld, faPancakes, faAlbumCircleUser, faQrcode, faDiceD10, faFireplace, faBrowser, faPenPaintbrush, faPencilPaintbrush, faFishCooked, faChairOffice, faNestingDolls, faClockRotateLeft, faHistory, faTrumpet, faFaceGrinBeamSweat, faGrinBeamSweat, faFireSmoke, faPhoneMissed, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faArrowsRepeat1, faRepeat1Alt, faGunSlash, faAvocado, faBinary, faGlassesRound, faGlassesAlt, faPhonePlus, faDitto, faPersonSeat, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faScythe, faPenNib, faBanParking, faParkingCircleSlash, faTentArrowTurnLeft, faFaceDiagonalMouth, faDiagramCells, faCricketBatBall, faCricket, faTents, faWandMagic, faMagic, faDog, faPenLine, faAtomSimple, faAtomAlt, faAmpersand, faCarrot, faArrowUpFromLine, faArrowFromBottom, faMoon, faPenSlash, faWineGlassEmpty, faWineGlassAlt, faSquareStar, faCheese, faSendBackward, faYinYang, faMusic, faCompassSlash, faClockOne, faFileMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faDisplayChartUpCircleCurrency, faSkeleton, faCircleG, faCircleArrowUpLeft, faCoinBlank, faBroom, faVacuum, faShieldHeart, faCardHeart, faLightbulbCflOn, faMelon, faGopuram, faEarthOceania, faGlobeOceania, faContainerStorage, faFacePouting, faSquareXmark, faTimesSquare, faXmarkSquare, faFaceExplode, faExplodingHead, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faTransformerBolt, faHippo, faChartColumn, faCassetteVhs, faVhs, faInfinity, faVialCircleCheck, faChimney, faObjectIntersect, faPersonArrowDownToLine, faVoicemail, faBlockBrick, faWallBrick, faFan, faBagsShopping, faParagraphLeft, faParagraphRtl, faPersonWalkingLuggage, faCaravanSimple, faCaravanAlt, faTurtle, faPencilMechanical, faUpDown, faArrowsAltV, faCloudMoonRain, faBoothCurtain, faCalendar, faBoxHeart, faTrailer, faUserDoctorMessage, faUserMdChat, faBahai, faHaykal, faAmpGuitar, faSdCard, faVolumeSlash, faBorderBottom, faWifiWeak, faWifi1, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faDeleteRight, faBookQuran, faQuran, faCircleQuarter, faAnchor, faBorderAll, faFunction, faFaceAngry, faAngry, faPeopleSimple, faCookieBite, faArrowTrendDown, faRss, faFeed, faFaceMonocle, faDrawPolygon, faScaleBalanced, faBalanceScale, faCalendarLines, faCalendarNote, faArrowDownBigSmall, faSortSizeDown, faGaugeSimpleHigh, faTachometer, faTachometerFast, faDoNotEnter, faShower, faDiceD8, faDesktop, faDesktopAlt, faM, faGripDotsVertical, faFaceViewfinder, faSoftServe, faCreemee, faH5, faHandBackPointDown, faTableList, faThList, faCommentSms, faSms, faRectangle, faRectangleLandscape, faClipboardListCheck, faTurkey, faBook, faUserPlus, faIceSkate, faCheck, faBatteryThreeQuarters, faBattery4, faTomato, faSwordLaser, faHouseCircleCheck, faBuildings, faAngleLeft, faCartFlatbedBoxes, faDollyFlatbedAlt, faDiagramSuccessor, faTruckArrowRight, faSquareW, faArrowsSplitUpAndLeft, faLamp, faAirplay, faHandFist, faFistRaised, faShieldQuartered, faSlashForward, faLocationPen, faMapMarkerEdit, faCloudMoon, faPotFood, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faPrintSlash, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faHandBackPointRibbon, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faTireRugged, faLightbulbDollar, faCowbell, faBahtSign, faCorner, faChevronsRight, faChevronDoubleRight, faBookOpen, faBookJournalWhills, faJournalWhills, faInhaler, faHandcuffs, faSnake, faTriangleExclamation, faExclamationTriangle, faWarning, faNoteMedical, faDatabase, faDownLeft, faShare, faArrowTurnRight, faMailForward, faFaceThinking, faTurnDownRight, faBottleDroplet, faMaskFace, faHillRockslide, faScannerKeyboard, faCircleO, faGridHorizontal, faMessageDollar, faCommentAltDollar, faRightLeft, faExchangeAlt, faColumns3, faPaperPlane, faRoadCircleExclamation, faDungeon, faHandHoldingBox, faInputText, faWindowFlip, faWindowAlt, faAlignRight, faScannerGun, faScanner, faTire, faEngine, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCircleCaretRight, faCaretCircleRight, faWheat, faFileSpreadsheet, faAudioDescriptionSlash, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faChessPawnPiece, faChessPawnAlt, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faSquareS, faRectangleBarcode, faBarcodeAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faUnicorn, faBowlingBall, faPompebled, faBrain, faWatchSmart, faBookUser, faSensorCloud, faSensorSmoke, faClapperboardPlay, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faCircle4, faGifts, faAlbumCollection, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faCloudShowers, faUserClock, faOnion, faClockTwelveThirty, faArrowDownToDottedLine, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faRectangleWide, faCommentArrowUp, faGarlic, faMugSaucer, faCoffee, faBrush, faTreeDecorated, faMask, faCalendarHeart, faMagnifyingGlassMinus, faSearchMinus, faFlower, faRightLeftLarge, faRulerVertical, faCirclesOverlap, faUserLarge, faUserAlt, faStarshipFreighter, faTrainTram, faBridgeSuspension, faTrashCheck, faUserNurse, faBoombox, faSyringe, faCloudSun, faShieldExclamation, faStopwatch20, faSquareFull, faGripDots, faCommentExclamation, faPenSwirl, faFalafel, faCircle2, faMagnet, faJar, faGramophone, faDiceD12, faNoteSticky, faStickyNote, faDown, faArrowAltDown, faHundredPoints, fa100, faPaperclipVertical, faWindWarning, faWindCircleExclamation, faLocationPinSlash, faMapMarkerSlash, faFaceSadSweat, faBugSlash, faCupcake, faLightSwitchOff, faToggleLargeOff, faPenFancySlash, faTruckContainer, faBoot, faArrowUpFromWaterPump, faFileCheck, faBone, faCardsBlank, faCircle3, faBenchTree, faKeyboardBrightnessLow, faSkiBootSki, faBrainCircuit, faUserInjured, faBlockBrickFire, faFirewall, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faFaceSmileRelaxed, faCommentXmark, faCommentTimes, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faFaceNoseSteam, faCircleWaveformLines, faWaveformCircle, faDollarSign, faDollar, faUsd, faFerrisWheel, faComputerSpeaker, faSkullCow, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faCircleT, faSack, faGrid2, faCameraCctv, faCctv, faUmbrella, faTrowel, faHorizontalRule, faBedFront, faBedAlt, faD, faStapler, faMasksTheater, faTheaterMasks, faKipSign, faFaceWoozy, faCloudQuestion, faPineapple, faHandPointLeft, faGalleryThumbnails, faCircleJ, faEyes, faHandshakeSimple, faHandshakeAlt, faPageCaretUp, faFileCaretUp, faJetFighter, faFighterJet, faComet, faSquareShareNodes, faShareAltSquare, faShieldKeyhole, faBarcode, faPlusMinus, faSquareSlidersVertical, faSlidersVSquare, faVideo, faVideoCamera, faMessageMiddle, faCommentMiddleAlt, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faSquareZ, faMessageText, faCommentAltText, faTurnUp, faLevelUpAlt };\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n// SPDX-License-Identifier: Apache-2.0\r\n\r\nimport { CacheConfig, CacheItem, CacheItemOptions } from '../types';\r\nimport { StorageHelper } from '@aws-amplify/core';\r\n/**\r\n * Default cache config\r\n */\r\nexport const defaultConfig: CacheConfig = {\r\n\tkeyPrefix: 'aws-amplify-cache',\r\n\tcapacityInBytes: 1048576, // 1MB\r\n\titemMaxSize: 210000, // about 200kb\r\n\tdefaultTTL: 259200000, // about 3 days\r\n\tdefaultPriority: 5,\r\n\twarningThreshold: 0.8,\r\n\t// the storage helper will check if localStorage exists,\r\n\t// if not, will use a in-memory object instead\r\n\tstorage: new StorageHelper().getStorage(),\r\n};\r\n\r\n/**\r\n * return the byte size of the string\r\n * @param str\r\n */\r\nexport function getByteLength(str: string): number {\r\n\tlet ret: number = 0;\r\n\tret = str.length;\r\n\r\n\tfor (let i = str.length; i >= 0; i -= 1) {\r\n\t\tconst charCode: number = str.charCodeAt(i);\r\n\t\tif (charCode > 0x7f && charCode <= 0x7ff) {\r\n\t\t\tret += 1;\r\n\t\t} else if (charCode > 0x7ff && charCode <= 0xffff) {\r\n\t\t\tret += 2;\r\n\t\t}\r\n\t\t// trail surrogate\r\n\t\tif (charCode >= 0xdc00 && charCode <= 0xdfff) {\r\n\t\t\ti -= 1;\r\n\t\t}\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n/**\r\n * get current time\r\n */\r\nexport function getCurrTime(): number {\r\n\tconst currTime = new Date();\r\n\treturn currTime.getTime();\r\n}\r\n\r\n/**\r\n * check if passed value is an integer\r\n */\r\nexport function isInteger(value): boolean {\r\n\tif (Number.isInteger) {\r\n\t\treturn Number.isInteger(value);\r\n\t}\r\n\r\n\treturn _isInteger(value);\r\n}\r\n\r\nfunction _isInteger(value): boolean {\r\n\treturn (\r\n\t\ttypeof value === 'number' && isFinite(value) && Math.floor(value) === value\r\n\t);\r\n}\r\n\r\n/**\r\n * provide an object as the in-memory cache\r\n */\r\nlet store = {};\r\nexport class CacheObject {\r\n\tstatic clear(): void {\r\n\t\tstore = {};\r\n\t}\r\n\r\n\tstatic getItem(key: string): string | null {\r\n\t\treturn store[key] || null;\r\n\t}\r\n\r\n\tstatic setItem(key: string, value: string): void {\r\n\t\tstore[key] = value;\r\n\t}\r\n\r\n\tstatic removeItem(key: string): void {\r\n\t\tdelete store[key];\r\n\t}\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n// SPDX-License-Identifier: Apache-2.0\r\n\r\nimport { getCurrTime, getByteLength, defaultConfig, isInteger } from './Utils';\r\n\r\nimport { CacheConfig, CacheItem, CacheItemOptions } from './types';\r\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\r\n\r\nconst logger = new Logger('StorageCache');\r\n\r\n/**\r\n * Initialization of the cache\r\n *\r\n */\r\nexport class StorageCache {\r\n\tprotected cacheCurSizeKey: string;\r\n\tprotected config: CacheConfig;\r\n\r\n\t/**\r\n\t * Initialize the cache\r\n\t * @param config - the configuration of the cache\r\n\t */\r\n\tconstructor(config: CacheConfig) {\r\n\t\tthis.config = Object.assign({}, config);\r\n\t\tthis.cacheCurSizeKey = this.config.keyPrefix + 'CurSize';\r\n\t\tthis.checkConfig();\r\n\t}\r\n\r\n\tpublic getModuleName() {\r\n\t\treturn 'Cache';\r\n\t}\r\n\r\n\tprivate checkConfig(): void {\r\n\t\t// check configuration\r\n\t\tif (!isInteger(this.config.capacityInBytes)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.capacityInBytes = defaultConfig.capacityInBytes;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.itemMaxSize)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.itemMaxSize = defaultConfig.itemMaxSize;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.defaultTTL)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultTTL. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultTTL = defaultConfig.defaultTTL;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.defaultPriority)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultPriority. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultPriority = defaultConfig.defaultPriority;\r\n\t\t}\r\n\r\n\t\tif (this.config.itemMaxSize > this.config.capacityInBytes) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.itemMaxSize = defaultConfig.itemMaxSize;\r\n\t\t}\r\n\r\n\t\tif (this.config.defaultPriority > 5 || this.config.defaultPriority < 1) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultPriority = defaultConfig.defaultPriority;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tNumber(this.config.warningThreshold) > 1 ||\r\n\t\t\tNumber(this.config.warningThreshold) < 0\r\n\t\t) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.warningThreshold = defaultConfig.warningThreshold;\r\n\t\t}\r\n\t\t// set 5MB limit\r\n\t\tconst cacheLimit: number = 5 * 1024 * 1024;\r\n\t\tif (this.config.capacityInBytes > cacheLimit) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.capacityInBytes = defaultConfig.capacityInBytes;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * produce a JSON object with meta-data and data value\r\n\t * @param value - the value of the item\r\n\t * @param options - optional, the specified meta-data\r\n\t *\r\n\t * @return - the item which has the meta-data and the value\r\n\t */\r\n\tprotected fillCacheItem(\r\n\t\tkey: string,\r\n\t\tvalue: object | number | string | boolean,\r\n\t\toptions: CacheItemOptions\r\n\t): CacheItem {\r\n\t\tconst ret: CacheItem = {\r\n\t\t\tkey,\r\n\t\t\tdata: value,\r\n\t\t\ttimestamp: getCurrTime(),\r\n\t\t\tvisitedTime: getCurrTime(),\r\n\t\t\tpriority: options.priority,\r\n\t\t\texpires: options.expires,\r\n\t\t\ttype: typeof value,\r\n\t\t\tbyteSize: 0,\r\n\t\t};\r\n\r\n\t\tret.byteSize = getByteLength(JSON.stringify(ret));\r\n\r\n\t\t// for accurate size\r\n\t\tret.byteSize = getByteLength(JSON.stringify(ret));\r\n\t\treturn ret;\r\n\t}\r\n\r\n\t/**\r\n\t * set cache with customized configuration\r\n\t * @param config - customized configuration\r\n\t *\r\n\t * @return - the current configuration\r\n\t */\r\n\tpublic configure(config?: CacheConfig): CacheConfig {\r\n\t\tif (!config) {\r\n\t\t\treturn this.config;\r\n\t\t}\r\n\t\tif (config.keyPrefix) {\r\n\t\t\tlogger.warn(`Don't try to configure keyPrefix!`);\r\n\t\t}\r\n\r\n\t\tthis.config = Object.assign({}, this.config, config, config.Cache);\r\n\t\tthis.checkConfig();\r\n\t\treturn this.config;\r\n\t}\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n// SPDX-License-Identifier: Apache-2.0\r\n\r\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\r\nimport { defaultConfig, getCurrTime } from './Utils';\r\nimport { StorageCache } from './StorageCache';\r\nimport { ICache, CacheConfig, CacheItem, CacheItemOptions } from './types';\r\n\r\nconst logger = new Logger('Cache');\r\n\r\n/**\r\n * Customized storage based on the SessionStorage or LocalStorage with LRU implemented\r\n */\r\nexport class BrowserStorageCacheClass extends StorageCache implements ICache {\r\n\t/**\r\n\t * initialize the cache\r\n\t * @param config - the configuration of the cache\r\n\t */\r\n\tconstructor(config?: CacheConfig) {\r\n\t\tconst cacheConfig = config\r\n\t\t\t? Object.assign({}, defaultConfig, config)\r\n\t\t\t: defaultConfig;\r\n\t\tsuper(cacheConfig);\r\n\t\tthis.config.storage = cacheConfig.storage;\r\n\t\tthis.getItem = this.getItem.bind(this);\r\n\t\tthis.setItem = this.setItem.bind(this);\r\n\t\tthis.removeItem = this.removeItem.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * decrease current size of the cache\r\n\t *\r\n\t * @private\r\n\t * @param amount - the amount of the cache size which needs to be decreased\r\n\t */\r\n\tprivate _decreaseCurSizeInBytes(amount: number): void {\r\n\t\tconst curSize: number = this.getCacheCurSize();\r\n\t\tthis.config.storage.setItem(\r\n\t\t\tthis.cacheCurSizeKey,\r\n\t\t\t(curSize - amount).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * increase current size of the cache\r\n\t *\r\n\t * @private\r\n\t * @param amount - the amount of the cache szie which need to be increased\r\n\t */\r\n\tprivate _increaseCurSizeInBytes(amount: number): void {\r\n\t\tconst curSize: number = this.getCacheCurSize();\r\n\t\tthis.config.storage.setItem(\r\n\t\t\tthis.cacheCurSizeKey,\r\n\t\t\t(curSize + amount).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * update the visited time if item has been visited\r\n\t *\r\n\t * @private\r\n\t * @param item - the item which need to be refreshed\r\n\t * @param prefixedKey - the key of the item\r\n\t *\r\n\t * @return the refreshed item\r\n\t */\r\n\tprivate _refreshItem(item: CacheItem, prefixedKey: string): CacheItem {\r\n\t\titem.visitedTime = getCurrTime();\r\n\t\tthis.config.storage.setItem(prefixedKey, JSON.stringify(item));\r\n\t\treturn item;\r\n\t}\r\n\r\n\t/**\r\n\t * check wether item is expired\r\n\t *\r\n\t * @private\r\n\t * @param key - the key of the item\r\n\t *\r\n\t * @return true if the item is expired.\r\n\t */\r\n\tprivate _isExpired(key: string): boolean {\r\n\t\tconst text: string | null = this.config.storage.getItem(key);\r\n\t\tconst item: CacheItem = JSON.parse(text);\r\n\t\tif (getCurrTime() >= item.expires) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/**\r\n\t * delete item from cache\r\n\t *\r\n\t * @private\r\n\t * @param prefixedKey - the key of the item\r\n\t * @param size - optional, the byte size of the item\r\n\t */\r\n\tprivate _removeItem(prefixedKey: string, size?: number): void {\r\n\t\tconst itemSize: number = size\r\n\t\t\t? size\r\n\t\t\t: JSON.parse(this.config.storage.getItem(prefixedKey)).byteSize;\r\n\t\tthis._decreaseCurSizeInBytes(itemSize);\r\n\t\t// remove the cache item\r\n\t\tthis.config.storage.removeItem(prefixedKey);\r\n\t}\r\n\r\n\t/**\r\n\t * put item into cache\r\n\t *\r\n\t * @private\r\n\t * @param prefixedKey - the key of the item\r\n\t * @param itemData - the value of the item\r\n\t * @param itemSizeInBytes - the byte size of the item\r\n\t */\r\n\tprivate _setItem(prefixedKey: string, item: CacheItem): void {\r\n\t\t// update the cache size\r\n\t\tthis._increaseCurSizeInBytes(item.byteSize);\r\n\r\n\t\ttry {\r\n\t\t\tthis.config.storage.setItem(prefixedKey, JSON.stringify(item));\r\n\t\t} catch (setItemErr) {\r\n\t\t\t// if failed, we need to rollback the cache size\r\n\t\t\tthis._decreaseCurSizeInBytes(item.byteSize);\r\n\t\t\tlogger.error(`Failed to set item ${setItemErr}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * total space needed when poping out items\r\n\t *\r\n\t * @private\r\n\t * @param itemSize\r\n\t *\r\n\t * @return total space needed\r\n\t */\r\n\tprivate _sizeToPop(itemSize: number): number {\r\n\t\tconst spaceItemNeed =\r\n\t\t\tthis.getCacheCurSize() + itemSize - this.config.capacityInBytes;\r\n\t\tconst cacheThresholdSpace =\r\n\t\t\t(1 - this.config.warningThreshold) * this.config.capacityInBytes;\r\n\t\treturn spaceItemNeed > cacheThresholdSpace\r\n\t\t\t? spaceItemNeed\r\n\t\t\t: cacheThresholdSpace;\r\n\t}\r\n\r\n\t/**\r\n\t * see whether cache is full\r\n\t *\r\n\t * @private\r\n\t * @param itemSize\r\n\t *\r\n\t * @return true if cache is full\r\n\t */\r\n\tprivate _isCacheFull(itemSize: number): boolean {\r\n\t\treturn itemSize + this.getCacheCurSize() > this.config.capacityInBytes;\r\n\t}\r\n\r\n\t/**\r\n\t * scan the storage and find out all the keys owned by this cache\r\n\t * also clean the expired keys while scanning\r\n\t *\r\n\t * @private\r\n\t *\r\n\t * @return array of keys\r\n\t */\r\n\tprivate _findValidKeys(): string[] {\r\n\t\tconst keys: string[] = [];\r\n\t\tconst keyInCache: string[] = [];\r\n\t\t// get all keys in Storage\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tkeyInCache.push(this.config.storage.key(i));\r\n\t\t}\r\n\r\n\t\t// find those items which belong to our cache and also clean those expired items\r\n\t\tfor (let i = 0; i < keyInCache.length; i += 1) {\r\n\t\t\tconst key: string = keyInCache[i];\r\n\t\t\tif (\r\n\t\t\t\tkey.indexOf(this.config.keyPrefix) === 0 &&\r\n\t\t\t\tkey !== this.cacheCurSizeKey\r\n\t\t\t) {\r\n\t\t\t\tif (this._isExpired(key)) {\r\n\t\t\t\t\tthis._removeItem(key);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tkeys.push(key);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn keys;\r\n\t}\r\n\r\n\t/**\r\n\t * get all the items we have, sort them by their priority,\r\n\t * if priority is same, sort them by their last visited time\r\n\t * pop out items from the low priority (5 is the lowest)\r\n\t *\r\n\t * @private\r\n\t * @param keys - all the keys in this cache\r\n\t * @param sizeToPop - the total size of the items which needed to be poped out\r\n\t */\r\n\tprivate _popOutItems(keys: string[], sizeToPop: number): void {\r\n\t\tconst items: CacheItem[] = [];\r\n\t\tlet remainedSize: number = sizeToPop;\r\n\t\t// get the items from Storage\r\n\t\tfor (let i = 0; i < keys.length; i += 1) {\r\n\t\t\tconst val: string | null = this.config.storage.getItem(keys[i]);\r\n\t\t\tif (val != null) {\r\n\t\t\t\tconst item: CacheItem = JSON.parse(val);\r\n\t\t\t\titems.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// first compare priority\r\n\t\t// then compare visited time\r\n\t\titems.sort((a, b) => {\r\n\t\t\tif (a.priority > b.priority) {\r\n\t\t\t\treturn -1;\r\n\t\t\t} else if (a.priority < b.priority) {\r\n\t\t\t\treturn 1;\r\n\t\t\t} else {\r\n\t\t\t\tif (a.visitedTime < b.visitedTime) {\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t} else return 1;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfor (let i = 0; i < items.length; i += 1) {\r\n\t\t\t// pop out items until we have enough room for new item\r\n\t\t\tthis._removeItem(items[i].key, items[i].byteSize);\r\n\t\t\tremainedSize -= items[i].byteSize;\r\n\t\t\tif (remainedSize <= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set item into cache. You can put number, string, boolean or object.\r\n\t * The cache will first check whether has the same key.\r\n\t * If it has, it will delete the old item and then put the new item in\r\n\t * The cache will pop out items if it is full\r\n\t * You can specify the cache item options. The cache will abort and output a warning:\r\n\t * If the key is invalid\r\n\t * If the size of the item exceeds itemMaxSize.\r\n\t * If the value is undefined\r\n\t * If incorrect cache item configuration\r\n\t * If error happened with browser storage\r\n\t *\r\n\t * @param key - the key of the item\r\n\t * @param value - the value of the item\r\n\t * @param {Object} [options] - optional, the specified meta-data\r\n\t */\r\n\tpublic setItem(\r\n\t\tkey: string,\r\n\t\tvalue: object | number | string | boolean,\r\n\t\toptions?: CacheItemOptions\r\n\t): void {\r\n\t\tlogger.log(\r\n\t\t\t`Set item: key is ${key}, value is ${value} with options: ${options}`\r\n\t\t);\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\t\t// invalid keys\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\tlogger.warn(`Invalid key: should not be empty or 'CurSize'`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'undefined') {\r\n\t\t\tlogger.warn(`The value of item should not be undefined!`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst cacheItemOptions: CacheItemOptions = {\r\n\t\t\tpriority:\r\n\t\t\t\toptions && options.priority !== undefined\r\n\t\t\t\t\t? options.priority\r\n\t\t\t\t\t: this.config.defaultPriority,\r\n\t\t\texpires:\r\n\t\t\t\toptions && options.expires !== undefined\r\n\t\t\t\t\t? options.expires\r\n\t\t\t\t\t: this.config.defaultTTL + getCurrTime(),\r\n\t\t};\r\n\r\n\t\tif (cacheItemOptions.priority < 1 || cacheItemOptions.priority > 5) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t`Invalid parameter: priority due to out or range. It should be within 1 and 5.`\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst item: CacheItem = this.fillCacheItem(\r\n\t\t\tprefixedKey,\r\n\t\t\tvalue,\r\n\t\t\tcacheItemOptions\r\n\t\t);\r\n\r\n\t\t// check wether this item is too big;\r\n\t\tif (item.byteSize > this.config.itemMaxSize) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t`Item with key: ${key} you are trying to put into is too big!`\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// first look into the storage, if it exists, delete it.\r\n\t\t\tconst val: string | null = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (val) {\r\n\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(val).byteSize);\r\n\t\t\t}\r\n\r\n\t\t\t// check whether the cache is full\r\n\t\t\tif (this._isCacheFull(item.byteSize)) {\r\n\t\t\t\tconst validKeys: string[] = this._findValidKeys();\r\n\t\t\t\t// check again and then pop out items\r\n\t\t\t\tif (this._isCacheFull(item.byteSize)) {\r\n\t\t\t\t\tconst sizeToPop: number = this._sizeToPop(item.byteSize);\r\n\t\t\t\t\tthis._popOutItems(validKeys, sizeToPop);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// put item in the cache\r\n\t\t\t// may failed due to storage full\r\n\t\t\tthis._setItem(prefixedKey, item);\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`setItem failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Get item from cache. It will return null if item doesn’t exist or it has been expired.\r\n\t * If you specified callback function in the options,\r\n\t * then the function will be executed if no such item in the cache\r\n\t * and finally put the return value into cache.\r\n\t * Please make sure the callback function will return the value you want to put into the cache.\r\n\t * The cache will abort output a warning:\r\n\t * If the key is invalid\r\n\t * If error happened with browser storage\r\n\t *\r\n\t * @param key - the key of the item\r\n\t * @param {Object} [options] - the options of callback function\r\n\t *\r\n\t * @return - return the value of the item\r\n\t */\r\n\tpublic getItem(key: string, options?: CacheItemOptions): any {\r\n\t\tlogger.log(`Get item: key is ${key} with options ${options}`);\r\n\t\tlet ret: string | null = null;\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\tlogger.warn(`Invalid key: should not be empty or 'CurSize'`);\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tret = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (ret != null) {\r\n\t\t\t\tif (this._isExpired(prefixedKey)) {\r\n\t\t\t\t\t// if expired, remove that item and return null\r\n\t\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(ret).byteSize);\r\n\t\t\t\t\tret = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// if not expired, great, return the value and refresh it\r\n\t\t\t\t\tlet item: CacheItem = JSON.parse(ret);\r\n\t\t\t\t\titem = this._refreshItem(item, prefixedKey);\r\n\t\t\t\t\treturn item.data;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (options && options.callback !== undefined) {\r\n\t\t\t\tconst val: object | string | number | boolean = options.callback();\r\n\t\t\t\tif (val !== null) {\r\n\t\t\t\t\tthis.setItem(key, val, options);\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`getItem failed! ${e}`);\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * remove item from the cache\r\n\t * The cache will abort output a warning:\r\n\t * If error happened with browser storage\r\n\t * @param key - the key of the item\r\n\t */\r\n\tpublic removeItem(key: string): void {\r\n\t\tlogger.log(`Remove item: key is ${key}`);\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst val: string | null = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (val) {\r\n\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(val).byteSize);\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`removeItem failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * clear the entire cache\r\n\t * The cache will abort output a warning:\r\n\t * If error happened with browser storage\r\n\t */\r\n\tpublic clear(): void {\r\n\t\tlogger.log(`Clear Cache`);\r\n\t\tconst keysToRemove: string[] = [];\r\n\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tconst key = this.config.storage.key(i);\r\n\t\t\tif (key.indexOf(this.config.keyPrefix) === 0) {\r\n\t\t\t\tkeysToRemove.push(key);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tfor (let i = 0; i < keysToRemove.length; i += 1) {\r\n\t\t\t\tthis.config.storage.removeItem(keysToRemove[i]);\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`clear failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Return all the keys in the cache.\r\n\t *\r\n\t * @return - all keys in the cache\r\n\t */\r\n\tpublic getAllKeys(): string[] {\r\n\t\tconst keys: string[] = [];\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tconst key = this.config.storage.key(i);\r\n\t\t\tif (\r\n\t\t\t\tkey.indexOf(this.config.keyPrefix) === 0 &&\r\n\t\t\t\tkey !== this.cacheCurSizeKey\r\n\t\t\t) {\r\n\t\t\t\tkeys.push(key.substring(this.config.keyPrefix.length));\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn keys;\r\n\t}\r\n\r\n\t/**\r\n\t * return the current size of the cache\r\n\t *\r\n\t * @return - current size of the cache\r\n\t */\r\n\tpublic getCacheCurSize(): number {\r\n\t\tlet ret: string | null = this.config.storage.getItem(this.cacheCurSizeKey);\r\n\t\tif (!ret) {\r\n\t\t\tthis.config.storage.setItem(this.cacheCurSizeKey, '0');\r\n\t\t\tret = '0';\r\n\t\t}\r\n\t\treturn Number(ret);\r\n\t}\r\n\r\n\t/**\r\n\t * Return a new instance of cache with customized configuration.\r\n\t * @param config - the customized configuration\r\n\t *\r\n\t * @return - new instance of Cache\r\n\t */\r\n\tpublic createInstance(config: CacheConfig): ICache {\r\n\t\tif (!config.keyPrefix || config.keyPrefix === defaultConfig.keyPrefix) {\r\n\t\t\tlogger.error('invalid keyPrefix, setting keyPrefix with timeStamp');\r\n\t\t\tconfig.keyPrefix = getCurrTime.toString();\r\n\t\t}\r\n\r\n\t\treturn new BrowserStorageCacheClass(config);\r\n\t}\r\n}\r\n\r\nexport const BrowserStorageCache: ICache = new BrowserStorageCacheClass();\r\n\r\nAmplify.register(BrowserStorageCache);\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * Date & time utility functions to abstract the `aws-sdk` away from users.\n * (v2 => v3 modularization is a breaking change)\n *\n * @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262\n */\n\n// Comment - TODO: remove\n\nconst FIVE_MINUTES_IN_MS = 1000 * 60 * 5;\n\nexport const DateUtils = {\n\t/**\n\t * Milliseconds to offset the date to compensate for clock skew between device & services\n\t */\n\tclockOffset: 0,\n\n\tgetDateWithClockOffset() {\n\t\tif (DateUtils.clockOffset) {\n\t\t\treturn new Date(new Date().getTime() + DateUtils.clockOffset);\n\t\t} else {\n\t\t\treturn new Date();\n\t\t}\n\t},\n\n\t/**\n\t * @returns {number} Clock offset in milliseconds\n\t */\n\tgetClockOffset() {\n\t\treturn DateUtils.clockOffset;\n\t},\n\n\tgetHeaderStringFromDate(date: Date = DateUtils.getDateWithClockOffset()) {\n\t\treturn date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n\t},\n\n\tgetDateFromHeaderString(header: string) {\n\t\tconst [, year, month, day, hour, minute, second] = header.match(\n\t\t\t/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2}).+/\n\t\t);\n\n\t\treturn new Date(\n\t\t\tDate.UTC(\n\t\t\t\tNumber(year),\n\t\t\t\tNumber(month) - 1,\n\t\t\t\tNumber(day),\n\t\t\t\tNumber(hour),\n\t\t\t\tNumber(minute),\n\t\t\t\tNumber(second)\n\t\t\t)\n\t\t);\n\t},\n\n\tisClockSkewed(serverDate: Date) {\n\t\t// API gateway permits client calls that are off by no more than ±5 minutes\n\t\treturn (\n\t\t\tMath.abs(\n\t\t\t\tserverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()\n\t\t\t) >= FIVE_MINUTES_IN_MS\n\t\t);\n\t},\n\n\tisClockSkewError(error: any) {\n\t\tif (!error.response || !error.response.headers) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { headers } = error.response;\n\n\t\treturn Boolean(\n\t\t\t['BadRequestException', 'InvalidSignatureException'].includes(\n\t\t\t\theaders['x-amzn-errortype']\n\t\t\t) &&\n\t\t\t\t(headers.date || headers.Date)\n\t\t);\n\t},\n\n\t/**\n\t * @param {number} offset Clock offset in milliseconds\n\t */\n\tsetClockOffset(offset: number) {\n\t\tDateUtils.clockOffset = offset;\n\t},\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HttpRequest } from '../../../../../types';\n\n/**\n * Returns signed headers.\n *\n * @param headers `headers` from the request.\n * @returns List of headers included in canonical headers, separated by semicolons (;). This indicates which headers\n * are part of the signing process. Header names must use lowercase characters and must appear in alphabetical order.\n *\n * @internal\n */\nexport const getSignedHeaders = (headers: HttpRequest['headers']): string =>\n\tObject.keys(headers)\n\t\t.map(key => key.toLowerCase())\n\t\t.sort()\n\t\t.join(';');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// query params\nexport const ALGORITHM_QUERY_PARAM = 'X-Amz-Algorithm';\nexport const AMZ_DATE_QUERY_PARAM = 'X-Amz-Date';\nexport const CREDENTIAL_QUERY_PARAM = 'X-Amz-Credential';\nexport const EXPIRES_QUERY_PARAM = 'X-Amz-Expires';\nexport const REGION_SET_PARAM = 'X-Amz-Region-Set';\nexport const SIGNATURE_QUERY_PARAM = 'X-Amz-Signature';\nexport const SIGNED_HEADERS_QUERY_PARAM = 'X-Amz-SignedHeaders';\nexport const TOKEN_QUERY_PARAM = 'X-Amz-Security-Token';\n\n// headers\nexport const AUTH_HEADER = 'authorization';\nexport const HOST_HEADER = 'host';\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\n\n// identifiers\nexport const KEY_TYPE_IDENTIFIER = 'aws4_request';\nexport const SHA256_ALGORITHM_IDENTIFIER = 'AWS4-HMAC-SHA256';\nexport const SIGNATURE_IDENTIFIER = 'AWS4';\n\n// preset values\nexport const EMPTY_HASH =\n\t'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';\nexport const UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SignRequestOptions } from '../types';\nimport { SigningValues } from '../types/signer';\nimport { getCredentialScope } from './getCredentialScope';\nimport { getFormattedDates } from './getFormattedDates';\n\n/**\n * Extracts common values used for signing both requests and urls.\n *\n * @param options `SignRequestOptions` object containing values used to construct the signature.\n * @returns Common `SigningValues` used for signing.\n *\n * @internal\n */\nexport const getSigningValues = ({\n\tcredentials,\n\tsigningDate = new Date(),\n\tsigningRegion,\n\tsigningService,\n}: SignRequestOptions): SigningValues => {\n\t// get properties from credentials\n\tconst { accessKeyId, secretAccessKey, sessionToken } = credentials;\n\t// get formatted dates for signing\n\tconst { longDate, shortDate } = getFormattedDates(signingDate);\n\t// copy header and set signing properties\n\tconst credentialScope = getCredentialScope(\n\t\tshortDate,\n\t\tsigningRegion,\n\t\tsigningService\n\t);\n\treturn {\n\t\taccessKeyId,\n\t\tcredentialScope,\n\t\tlongDate,\n\t\tsecretAccessKey,\n\t\tsessionToken,\n\t\tshortDate,\n\t\tsigningRegion,\n\t\tsigningService,\n\t};\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { FormattedDates } from '../types/signer';\n\n/**\n * Returns expected date strings to be used in signing.\n *\n * @param date JavaScript `Date` object.\n * @returns `FormattedDates` object containing the following:\n * - longDate: A date string in 'YYYYMMDDThhmmssZ' format\n * - shortDate: A date string in 'YYYYMMDD' format\n *\n * @internal\n */\nexport const getFormattedDates = (date: Date): FormattedDates => {\n\tconst longDate = date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n\treturn {\n\t\tlongDate,\n\t\tshortDate: longDate.slice(0, 8),\n\t};\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { KEY_TYPE_IDENTIFIER } from '../constants';\n\n/**\n * Returns the credential scope which restricts the resulting signature to the specified region and service.\n *\n * @param date Current date in the format 'YYYYMMDD'.\n * @param region AWS region in which the service resides.\n * @param service Service to which the signed request is being sent.\n *\n * @returns A string representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.\n *\n * @internal\n */\nexport const getCredentialScope = (\n\tdate: string,\n\tregion: string,\n\tservice: string\n): string => `${date}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// TODO: V6 update to different crypto dependency?\nimport { Sha256 } from '@aws-crypto/sha256-js';\nimport { SourceData } from '@aws-sdk/types';\nimport { toHex } from '@aws-sdk/util-hex-encoding';\n\n/**\n * Returns the hashed data a `Uint8Array`.\n *\n * @param key `SourceData` to be used as hashing key.\n * @param data Hashable `SourceData`.\n * @returns `Uint8Array` created from the data as input to a hash function.\n */\nexport const getHashedData = (\n\tkey: SourceData | null,\n\tdata: SourceData\n): Uint8Array => {\n\tconst sha256 = new Sha256(key);\n\tsha256.update(data);\n\t// TODO: V6 flip to async digest\n\tconst hashedData = sha256.digestSync();\n\treturn hashedData;\n};\n\n/**\n * Returns the hashed data as a hex string.\n *\n * @param key `SourceData` to be used as hashing key.\n * @param data Hashable `SourceData`.\n * @returns String using lowercase hexadecimal characters created from the data as input to a hash function.\n *\n * @internal\n */\nexport const getHashedDataAsHex = (\n\tkey: SourceData | null,\n\tdata: SourceData\n): string => {\n\tconst hashedData = getHashedData(key, data);\n\treturn toHex(hashedData);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HttpRequest } from '../../../../../types';\n\n/**\n * Returns canonical headers.\n *\n * @param headers Headers from the request.\n * @returns Request headers that will be signed, and their values, separated by newline characters. Header names must\n * use lowercase characters, must appear in alphabetical order, and must be followed by a colon (:). For the values,\n * trim any leading or trailing spaces, convert sequential spaces to a single space, and separate the values\n * for a multi-value header using commas.\n *\n * @internal\n */\nexport const getCanonicalHeaders = (headers: HttpRequest['headers']): string =>\n\tObject.entries(headers)\n\t\t.map(([key, value]) => ({\n\t\t\tkey: key.toLowerCase(),\n\t\t\tvalue: value?.trim().replace(/\\s+/g, ' ') ?? '',\n\t\t}))\n\t\t.sort((a, b) => (a.key < b.key ? -1 : 1))\n\t\t.map(entry => `${entry.key}:${entry.value}\\n`)\n\t\t.join('');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Returns a canonical query string.\n *\n * @param searchParams `searchParams` from the request url.\n * @returns URL-encoded query string parameters, separated by ampersands (&). Percent-encode reserved characters,\n * including the space character. Encode names and values separately. If there are empty parameters, append the equals\n * sign to the parameter name before encoding. After encoding, sort the parameters alphabetically by key name. If there\n * is no query string, use an empty string (\"\").\n *\n * @internal\n */\nexport const getCanonicalQueryString = (\n\tsearchParams: URLSearchParams\n): string =>\n\tArray.from(searchParams)\n\t\t.sort(([keyA, valA], [keyB, valB]) => {\n\t\t\tif (keyA === keyB) {\n\t\t\t\treturn valA < valB ? -1 : 1;\n\t\t\t}\n\t\t\treturn keyA < keyB ? -1 : 1;\n\t\t})\n\t\t.map(([key, val]) => `${escapeUri(key)}=${escapeUri(val)}`)\n\t\t.join('&');\n\nconst escapeUri = (uri: string): string =>\n\tencodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n\nconst hexEncode = (c: string) =>\n\t`%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from '@aws-sdk/types';\nimport { HttpRequest } from '../../../../../types';\nimport { EMPTY_HASH, UNSIGNED_PAYLOAD } from '../constants';\nimport { getHashedDataAsHex } from './dataHashHelpers';\n\n/**\n * Returns the hashed payload.\n *\n * @param body `body` (payload) from the request.\n * @returns String created using the payload in the body of the HTTP request as input to a hash function. This string\n * uses lowercase hexadecimal characters. If the payload is empty, return precalculated result of an empty hash.\n *\n * @internal\n */\nexport const getHashedPayload = (body: HttpRequest['body']): string => {\n\t// return precalculated empty hash if body is undefined or null\n\tif (body == null) {\n\t\treturn EMPTY_HASH;\n\t}\n\n\tif (isSourceData(body)) {\n\t\tconst hashedData = getHashedDataAsHex(null, body);\n\t\treturn hashedData;\n\t}\n\n\t// Defined body is not signable. Return unsigned payload which may or may not be accepted by the service.\n\treturn UNSIGNED_PAYLOAD;\n};\n\nconst isSourceData = (body: HttpRequest['body']): body is SourceData =>\n\ttypeof body === 'string' || ArrayBuffer.isView(body) || isArrayBuffer(body);\n\nconst isArrayBuffer = (arg: any): arg is ArrayBuffer =>\n\t(typeof ArrayBuffer === 'function' && arg instanceof ArrayBuffer) ||\n\tObject.prototype.toString.call(arg) === '[object ArrayBuffer]';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HttpRequest } from '../../../../../types';\nimport { SigningValues } from '../types/signer';\nimport { getHashedDataAsHex } from './dataHashHelpers';\nimport { getCanonicalRequest } from './getCanonicalRequest';\nimport { getSigningKey } from './getSigningKey';\nimport { getStringToSign } from './getStringToSign';\n\n/**\n * Calculates and returns an AWS API Signature.\n * https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html\n *\n * @param request `HttpRequest` to be signed.\n * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.\n * @returns AWS API Signature to sign a request or url with.\n *\n * @internal\n */\nexport const getSignature = (\n\trequest: HttpRequest,\n\t{\n\t\tcredentialScope,\n\t\tlongDate,\n\t\tsecretAccessKey,\n\t\tshortDate,\n\t\tsigningRegion,\n\t\tsigningService,\n\t}: SigningValues\n): string => {\n\t// step 1: create a canonical request\n\tconst canonicalRequest = getCanonicalRequest(request);\n\n\t// step 2: create a hash of the canonical request\n\tconst hashedRequest = getHashedDataAsHex(null, canonicalRequest);\n\n\t// step 3: create a string to sign\n\tconst stringToSign = getStringToSign(\n\t\tlongDate,\n\t\tcredentialScope,\n\t\thashedRequest\n\t);\n\n\t// step 4: calculate the signature\n\tconst signature = getHashedDataAsHex(\n\t\tgetSigningKey(secretAccessKey, shortDate, signingRegion, signingService),\n\t\tstringToSign\n\t);\n\n\treturn signature;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HttpRequest } from '../../../../../types';\nimport { getCanonicalHeaders } from './getCanonicalHeaders';\nimport { getCanonicalQueryString } from './getCanonicalQueryString';\nimport { getCanonicalUri } from './getCanonicalUri';\nimport { getHashedPayload } from './getHashedPayload';\nimport { getSignedHeaders } from './getSignedHeaders';\n\n/**\n * Returns a canonical request.\n *\n * @param request `HttpRequest` from which to create the canonical request from.\n * @returns String created by by concatenating the following strings, separated by newline characters:\n * - HTTPMethod\n * - CanonicalUri\n * - CanonicalQueryString\n * - CanonicalHeaders\n * - SignedHeaders\n * - HashedPayload\n *\n * @internal\n */\nexport const getCanonicalRequest = ({\n\tbody,\n\theaders,\n\tmethod,\n\turl,\n}: HttpRequest): string =>\n\t[\n\t\tmethod,\n\t\tgetCanonicalUri(url.pathname),\n\t\tgetCanonicalQueryString(url.searchParams),\n\t\tgetCanonicalHeaders(headers),\n\t\tgetSignedHeaders(headers),\n\t\tgetHashedPayload(body),\n\t].join('\\n');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Returns a canonical uri.\n *\n * @param pathname `pathname` from request url.\n * @returns URI-encoded version of the absolute path component URL (everything between the host and the question mark\n * character (?) that starts the query string parameters). If the absolute path is empty, a forward slash character (/).\n *\n * @internal\n */\nexport const getCanonicalUri = (pathname: string): string =>\n\tpathname ? encodeURIComponent(pathname).replace(/%2F/g, '/') : '/';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SHA256_ALGORITHM_IDENTIFIER } from '../constants';\n\n/**\n * Returns a string to be signed.\n *\n * @param date Current date in the format 'YYYYMMDDThhmmssZ'.\n * @param credentialScope String representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.\n * @param hashedRequest Hashed canonical request.\n *\n * @returns A string created by by concatenating the following strings, separated by newline characters:\n * - Algorithm\n * - RequestDateTime\n * - CredentialScope\n * - HashedCanonicalRequest\n *\n * @internal\n */\nexport const getStringToSign = (\n\tdate: string,\n\tcredentialScope: string,\n\thashedRequest: string\n): string =>\n\t[SHA256_ALGORITHM_IDENTIFIER, date, credentialScope, hashedRequest].join(\n\t\t'\\n'\n\t);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { KEY_TYPE_IDENTIFIER, SIGNATURE_IDENTIFIER } from '../constants';\nimport { getHashedData } from './dataHashHelpers';\n\n/**\n * Returns a signing key to be used for signing requests.\n *\n * @param secretAccessKey AWS secret access key from credentials.\n * @param date Current date in the format 'YYYYMMDD'.\n * @param region AWS region in which the service resides.\n * @param service Service to which the signed request is being sent.\n *\n * @returns `Uint8Array` calculated from its composite parts.\n *\n * @internal\n */\nexport const getSigningKey = (\n\tsecretAccessKey: string,\n\tdate: string,\n\tregion: string,\n\tservice: string\n): Uint8Array => {\n\tconst key = `${SIGNATURE_IDENTIFIER}${secretAccessKey}`;\n\tconst dateKey = getHashedData(key, date);\n\tconst regionKey = getHashedData(dateKey, region);\n\tconst serviceKey = getHashedData(regionKey, service);\n\tconst signingKey = getHashedData(serviceKey, KEY_TYPE_IDENTIFIER);\n\treturn signingKey;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Presignable, PresignUrlOptions } from './types';\nimport {\n\tALGORITHM_QUERY_PARAM,\n\tAMZ_DATE_QUERY_PARAM,\n\tCREDENTIAL_QUERY_PARAM,\n\tEXPIRES_QUERY_PARAM,\n\tHOST_HEADER,\n\tSHA256_ALGORITHM_IDENTIFIER,\n\tSIGNATURE_QUERY_PARAM,\n\tSIGNED_HEADERS_QUERY_PARAM,\n\tTOKEN_QUERY_PARAM,\n} from './constants';\nimport { getSigningValues } from './utils/getSigningValues';\nimport { getSignature } from './utils/getSignature';\n\n/**\n * Given a `Presignable` object, returns a Signature Version 4 presigned `URL` object.\n *\n * @param presignable `Presignable` object containing at least a url to be presigned with authentication query params.\n * @param presignUrlOptions `PresignUrlOptions` object containing values used to construct the signature.\n * @returns A `URL` with authentication query params which can grant temporary access to AWS resources.\n */\nexport const presignUrl = (\n\t{ body, method = 'GET', url }: Presignable,\n\t{ expiration, ...options }: PresignUrlOptions\n): URL => {\n\tconst signingValues = getSigningValues(options);\n\tconst { accessKeyId, credentialScope, longDate, sessionToken } =\n\t\tsigningValues;\n\n\t// create the request to sign\n\t// @ts-ignore URL constructor accepts a URL object\n\tconst presignedUrl = new URL(url);\n\tObject.entries({\n\t\t[ALGORITHM_QUERY_PARAM]: SHA256_ALGORITHM_IDENTIFIER,\n\t\t[CREDENTIAL_QUERY_PARAM]: `${accessKeyId}/${credentialScope}`,\n\t\t[AMZ_DATE_QUERY_PARAM]: longDate,\n\t\t[SIGNED_HEADERS_QUERY_PARAM]: HOST_HEADER,\n\t\t...(expiration && { [EXPIRES_QUERY_PARAM]: expiration.toString() }),\n\t\t...(sessionToken && { [TOKEN_QUERY_PARAM]: sessionToken }),\n\t}).forEach(([key, value]) => {\n\t\tpresignedUrl.searchParams.append(key, value);\n\t});\n\tconst requestToSign = {\n\t\tbody,\n\t\theaders: { [HOST_HEADER]: url.host },\n\t\tmethod,\n\t\turl: presignedUrl,\n\t};\n\n\t// calculate and add the signature to the url\n\tconst signature = getSignature(requestToSign, signingValues);\n\tpresignedUrl.searchParams.append(SIGNATURE_QUERY_PARAM, signature);\n\n\treturn presignedUrl;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { DateUtils } from './Util';\nimport {\n\tpresignUrl,\n\tsignRequest,\n\tTOKEN_QUERY_PARAM,\n} from './clients/middleware/signing/signer/signatureV4';\n\nconst IOT_SERVICE_NAME = 'iotdevicegateway';\n// Best practice regex to parse the service and region from an AWS endpoint\nconst AWS_ENDPOINT_REGEX = /([^\\.]+)\\.(?:([^\\.]*)\\.)?amazonaws\\.com(.cn)?$/;\n\nexport class Signer {\n\t/**\n * Sign a HTTP request, add 'Authorization' header to request param\n * @method sign\n * @memberof Signer\n * @static\n *\n * @param {object} request - HTTP request object\n <pre>\n request: {\n method: GET | POST | PUT ...\n url: ...,\n headers: {\n header1: ...\n },\n data: data\n }\n </pre>\n * @param {object} access_info - AWS access credential info\n <pre>\n access_info: {\n access_key: ...,\n secret_key: ...,\n session_token: ...\n }\n </pre>\n * @param {object} [service_info] - AWS service type and region, optional,\n * if not provided then parse out from url\n <pre>\n service_info: {\n service: ...,\n region: ...\n }\n </pre>\n *\n * @returns {object} Signed HTTP request\n */\n\tstatic sign(request, accessInfo, serviceInfo) {\n\t\trequest.headers = request.headers || {};\n\n\t\tif (request.body && !request.data) {\n\t\t\tthrow new Error(\n\t\t\t\t'The attribute \"body\" was found on the request object. Please use the attribute \"data\" instead.'\n\t\t\t);\n\t\t}\n\n\t\tconst requestToSign = {\n\t\t\t...request,\n\t\t\tbody: request.data,\n\t\t\turl: new URL(request.url as string),\n\t\t};\n\n\t\tconst options = getOptions(requestToSign, accessInfo, serviceInfo);\n\t\tconst signedRequest: any = signRequest(requestToSign, options);\n\t\t// Prior to using `signRequest`, Signer accepted urls as strings and outputted urls as string. Coerce the property\n\t\t// back to a string so as not to disrupt consumers of Signer.\n\t\tsignedRequest.url = signedRequest.url.toString();\n\t\t// HTTP headers should be case insensitive but, to maintain parity with the previous Signer implementation and\n\t\t// limit the impact of this implementation swap, replace lowercased headers with title cased ones.\n\t\tsignedRequest.headers.Authorization = signedRequest.headers.authorization;\n\t\tsignedRequest.headers['X-Amz-Security-Token'] =\n\t\t\tsignedRequest.headers['x-amz-security-token'];\n\t\tdelete signedRequest.headers.authorization;\n\t\tdelete signedRequest.headers['x-amz-security-token'];\n\t\treturn signedRequest;\n\t}\n\n\tstatic signUrl(\n\t\turlToSign: string,\n\t\taccessInfo: any,\n\t\tserviceInfo?: any,\n\t\texpiration?: number\n\t): string;\n\tstatic signUrl(\n\t\trequest: any,\n\t\taccessInfo: any,\n\t\tserviceInfo?: any,\n\t\texpiration?: number\n\t): string;\n\tstatic signUrl(\n\t\turlOrRequest: string | any,\n\t\taccessInfo: any,\n\t\tserviceInfo?: any,\n\t\texpiration?: number\n\t): string {\n\t\tconst urlToSign: string =\n\t\t\ttypeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;\n\t\tconst method: string =\n\t\t\ttypeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';\n\t\tconst body: any =\n\t\t\ttypeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;\n\n\t\tconst presignable = {\n\t\t\tbody,\n\t\t\tmethod,\n\t\t\turl: new URL(urlToSign),\n\t\t};\n\n\t\tconst options = getOptions(\n\t\t\tpresignable,\n\t\t\taccessInfo,\n\t\t\tserviceInfo,\n\t\t\texpiration\n\t\t);\n\t\tconst signedUrl = presignUrl(presignable, options);\n\t\tif (\n\t\t\taccessInfo.session_token &&\n\t\t\t!sessionTokenRequiredInSigning(options.signingService)\n\t\t) {\n\t\t\tsignedUrl.searchParams.append(\n\t\t\t\tTOKEN_QUERY_PARAM,\n\t\t\t\taccessInfo.session_token\n\t\t\t);\n\t\t}\n\t\treturn signedUrl.toString();\n\t}\n}\n\nconst getOptions = (request, accessInfo, serviceInfo, expiration?) => {\n\tconst { access_key, secret_key, session_token } = accessInfo ?? {};\n\tconst { region: urlRegion, service: urlService } = parseServiceInfo(\n\t\trequest.url\n\t);\n\tconst { region = urlRegion, service = urlService } = serviceInfo ?? {};\n\tconst credentials = {\n\t\taccessKeyId: access_key,\n\t\tsecretAccessKey: secret_key,\n\t\t...(sessionTokenRequiredInSigning(service)\n\t\t\t? { sessionToken: session_token }\n\t\t\t: {}),\n\t};\n\treturn {\n\t\tcredentials,\n\t\tsigningDate: DateUtils.getDateWithClockOffset(),\n\t\tsigningRegion: region,\n\t\tsigningService: service,\n\t\t...(expiration && { expiration }),\n\t};\n};\n\n// TODO: V6 investigate whether add to custom clients' general signer implementation.\nconst parseServiceInfo = (url: URL) => {\n\tconst host = url.host;\n\tconst matched = host.match(AWS_ENDPOINT_REGEX) ?? [];\n\tlet parsed = matched.slice(1, 3);\n\n\tif (parsed[1] === 'es') {\n\t\t// Elastic Search\n\t\tparsed = parsed.reverse();\n\t}\n\n\treturn {\n\t\tservice: parsed[0],\n\t\tregion: parsed[1],\n\t};\n};\n\n// IoT service does not allow the session token in the canonical request\n// https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html\n// TODO: V6 investigate whether add to custom clients' general signer implementation.\nconst sessionTokenRequiredInSigning = (service: string) =>\n\tservice !== IOT_SERVICE_NAME;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HttpRequest } from '../../../../types';\nimport { SignRequestOptions } from './types/signer';\nimport { getSignedHeaders } from './utils/getSignedHeaders';\nimport { getSigningValues } from './utils/getSigningValues';\nimport {\n\tAMZ_DATE_HEADER,\n\tAUTH_HEADER,\n\tHOST_HEADER,\n\tSHA256_ALGORITHM_IDENTIFIER,\n\tTOKEN_HEADER,\n} from './constants';\nimport { getSignature } from './utils/getSignature';\n\n/**\n * Given a `HttpRequest`, returns a Signature Version 4 signed `HttpRequest`.\n *\n * @param request `HttpRequest` to be signed.\n * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.\n * @returns A `HttpRequest` with authentication headers which can grant temporary access to AWS resources.\n */\nexport const signRequest = (\n\trequest: HttpRequest,\n\toptions: SignRequestOptions\n): HttpRequest => {\n\tconst signingValues = getSigningValues(options);\n\tconst { accessKeyId, credentialScope, longDate, sessionToken } =\n\t\tsigningValues;\n\n\t// create the request to sign\n\tconst headers = { ...request.headers };\n\theaders[HOST_HEADER] = request.url.host;\n\theaders[AMZ_DATE_HEADER] = longDate;\n\tif (sessionToken) {\n\t\theaders[TOKEN_HEADER] = sessionToken;\n\t}\n\tconst requestToSign = { ...request, headers };\n\n\t// calculate and add the signature to the request\n\tconst signature = getSignature(requestToSign, signingValues);\n\tconst credentialEntry = `Credential=${accessKeyId}/${credentialScope}`;\n\tconst signedHeadersEntry = `SignedHeaders=${getSignedHeaders(headers)}`;\n\tconst signatureEntry = `Signature=${signature}`;\n\theaders[\n\t\tAUTH_HEADER\n\t] = `${SHA256_ALGORITHM_IDENTIFIER} ${credentialEntry}, ${signedHeadersEntry}, ${signatureEntry}`;\n\n\treturn requestToSign;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n\tConsoleLogger as Logger,\n\tCredentials,\n\tDateUtils,\n\tSigner,\n\tPlatform,\n} from '@aws-amplify/core';\n\nimport { apiOptions, ApiInfo } from './types';\nimport axios, { CancelTokenSource } from 'axios';\nimport { parse, format } from 'url';\n\nconst logger = new Logger('RestClient');\n\n/**\n* HTTP Client for REST requests. Send and receive JSON data.\n* Sign request with AWS credentials if available\n* Usage:\n<pre>\nconst restClient = new RestClient();\nrestClient.get('...')\n .then(function(data) {\n console.log(data);\n })\n .catch(err => console.log(err));\n</pre>\n*/\nexport class RestClient {\n\tprivate _options;\n\tprivate _region: string = 'us-east-1'; // this will be updated by endpoint function\n\tprivate _service: string = 'execute-api'; // this can be updated by endpoint function\n\tprivate _custom_header = undefined; // this can be updated by endpoint function\n\n\t/**\n\t * This weak map provides functionality to let clients cancel\n\t * in-flight axios requests. https://github.com/axios/axios#cancellation\n\t *\n\t * 1. For every axios request, a unique cancel token is generated and added in the request.\n\t * 2. Promise for fulfilling the request is then mapped to that unique cancel token.\n\t * 3. The promise is returned to the client.\n\t * 4. Clients can either wait for the promise to fulfill or call `API.cancel(promise)` to cancel the request.\n\t * 5. If `API.cancel(promise)` is called, then the corresponding cancel token is retrieved from the map below.\n\t * 6. Promise returned to the client will be in rejected state with the error provided during cancel.\n\t * 7. Clients can check if the error is because of cancelling by calling `API.isCancel(error)`.\n\t *\n\t * For more details, see https://github.com/aws-amplify/amplify-js/pull/3769#issuecomment-552660025\n\t */\n\tprivate _cancelTokenMap: WeakMap<any, CancelTokenSource> = null;\n\n\tCredentials = Credentials;\n\n\t/**\n\t * @param {RestClientOptions} [options] - Instance options\n\t */\n\tconstructor(options: apiOptions) {\n\t\tthis._options = options;\n\t\tlogger.debug('API Options', this._options);\n\t\tif (this._cancelTokenMap == null) {\n\t\t\tthis._cancelTokenMap = new WeakMap();\n\t\t}\n\t}\n\n\t/**\n * Update AWS credentials\n * @param {AWSCredentials} credentials - AWS credentials\n *\n updateCredentials(credentials: AWSCredentials) {\n this.options.credentials = credentials;\n }\n*/\n\t/**\n\t * Basic HTTP request. Customizable\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {string} method - Request HTTP method\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tasync ajax(urlOrApiInfo: string | ApiInfo, method: string, init) {\n\t\tlogger.debug(method, urlOrApiInfo);\n\n\t\tlet parsed_url;\n\t\tlet url: string;\n\t\tlet region: string = 'us-east-1';\n\t\tlet service: string = 'execute-api';\n\t\tlet custom_header: () => {\n\t\t\t[key: string]: string;\n\t\t} = undefined;\n\n\t\tif (typeof urlOrApiInfo === 'string') {\n\t\t\tparsed_url = this._parseUrl(urlOrApiInfo);\n\t\t\turl = urlOrApiInfo;\n\t\t} else {\n\t\t\t({ endpoint: url, custom_header, region, service } = urlOrApiInfo);\n\t\t\tparsed_url = this._parseUrl(urlOrApiInfo.endpoint);\n\t\t}\n\n\t\tconst params = {\n\t\t\tmethod,\n\t\t\turl,\n\t\t\thost: parsed_url.host,\n\t\t\tpath: parsed_url.path,\n\t\t\theaders: {},\n\t\t\tdata: null,\n\t\t\tresponseType: 'json',\n\t\t\ttimeout: 0,\n\t\t\tcancelToken: null,\n\t\t};\n\n\t\tlet libraryHeaders = {};\n\n\t\tif (Platform.isReactNative) {\n\t\t\tconst userAgent = Platform.userAgent || 'aws-amplify/0.1.x';\n\t\t\tlibraryHeaders = {\n\t\t\t\t'User-Agent': userAgent,\n\t\t\t};\n\t\t}\n\n\t\tconst initParams = Object.assign({}, init);\n\t\tconst isAllResponse = initParams.response;\n\t\tif (initParams.body) {\n\t\t\tif (\n\t\t\t\ttypeof FormData === 'function' &&\n\t\t\t\tinitParams.body instanceof FormData\n\t\t\t) {\n\t\t\t\tlibraryHeaders['Content-Type'] = 'multipart/form-data';\n\t\t\t\tparams.data = initParams.body;\n\t\t\t} else {\n\t\t\t\tlibraryHeaders['Content-Type'] = 'application/json; charset=UTF-8';\n\t\t\t\tparams.data = JSON.stringify(initParams.body);\n\t\t\t}\n\t\t}\n\t\tif (initParams.responseType) {\n\t\t\tparams.responseType = initParams.responseType;\n\t\t}\n\t\tif (initParams.withCredentials) {\n\t\t\tparams['withCredentials'] = initParams.withCredentials;\n\t\t}\n\t\tif (initParams.timeout) {\n\t\t\tparams.timeout = initParams.timeout;\n\t\t}\n\t\tif (initParams.cancellableToken) {\n\t\t\tparams.cancelToken = initParams.cancellableToken.token;\n\t\t}\n\n\t\tparams['signerServiceInfo'] = initParams.signerServiceInfo;\n\n\t\t// custom_header callback\n\t\tconst custom_header_obj =\n\t\t\ttypeof custom_header === 'function' ? await custom_header() : undefined;\n\n\t\tparams.headers = {\n\t\t\t...libraryHeaders,\n\t\t\t...custom_header_obj,\n\t\t\t...initParams.headers,\n\t\t};\n\n\t\t// Intentionally discarding search\n\t\tconst { search, ...parsedUrl } = parse(url, true, true);\n\t\tparams.url = format({\n\t\t\t...parsedUrl,\n\t\t\tquery: {\n\t\t\t\t...parsedUrl.query,\n\t\t\t\t...(initParams.queryStringParameters || {}),\n\t\t\t},\n\t\t});\n\n\t\t// Do not sign the request if client has added 'Authorization' header,\n\t\t// which means custom authorizer.\n\t\tif (typeof params.headers['Authorization'] !== 'undefined') {\n\t\t\tparams.headers = Object.keys(params.headers).reduce((acc, k) => {\n\t\t\t\tif (params.headers[k]) {\n\t\t\t\t\tacc[k] = params.headers[k];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t\t// tslint:disable-next-line:align\n\t\t\t}, {});\n\t\t\treturn this._request(params, isAllResponse);\n\t\t}\n\n\t\t// Signing the request in case there credentials are available\n\t\treturn this.Credentials.get().then(\n\t\t\tcredentials => {\n\t\t\t\treturn this._signed({ ...params }, credentials, isAllResponse, {\n\t\t\t\t\tregion,\n\t\t\t\t\tservice,\n\t\t\t\t}).catch(error => {\n\t\t\t\t\tif (DateUtils.isClockSkewError(error)) {\n\t\t\t\t\t\tconst { headers } = error.response;\n\t\t\t\t\t\tconst dateHeader = headers && (headers.date || headers.Date);\n\t\t\t\t\t\tconst responseDate = new Date(dateHeader);\n\t\t\t\t\t\tconst requestDate = DateUtils.getDateFromHeaderString(\n\t\t\t\t\t\t\tparams.headers['x-amz-date']\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Compare local clock to the server clock\n\t\t\t\t\t\tif (DateUtils.isClockSkewed(responseDate)) {\n\t\t\t\t\t\t\tDateUtils.setClockOffset(\n\t\t\t\t\t\t\t\tresponseDate.getTime() - requestDate.getTime()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\treturn this.ajax(urlOrApiInfo, method, init);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t},\n\t\t\terr => {\n\t\t\t\tlogger.debug('No credentials available, the request will be unsigned');\n\t\t\t\treturn this._request(params, isAllResponse);\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * GET HTTP request\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {JSON} init - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tget(urlOrApiInfo: string | ApiInfo, init) {\n\t\treturn this.ajax(urlOrApiInfo, 'GET', init);\n\t}\n\n\t/**\n\t * PUT HTTP request\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {json} init - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tput(urlOrApiInfo: string | ApiInfo, init) {\n\t\treturn this.ajax(urlOrApiInfo, 'PUT', init);\n\t}\n\n\t/**\n\t * PATCH HTTP request\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {json} init - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tpatch(urlOrApiInfo: string | ApiInfo, init) {\n\t\treturn this.ajax(urlOrApiInfo, 'PATCH', init);\n\t}\n\n\t/**\n\t * POST HTTP request\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {json} init - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tpost(urlOrApiInfo: string | ApiInfo, init) {\n\t\treturn this.ajax(urlOrApiInfo, 'POST', init);\n\t}\n\n\t/**\n\t * DELETE HTTP request\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {json} init - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tdel(urlOrApiInfo: string | ApiInfo, init) {\n\t\treturn this.ajax(urlOrApiInfo, 'DELETE', init);\n\t}\n\n\t/**\n\t * HEAD HTTP request\n\t * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n\t * @param {json} init - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\thead(urlOrApiInfo: string | ApiInfo, init) {\n\t\treturn this.ajax(urlOrApiInfo, 'HEAD', init);\n\t}\n\n\t/**\n\t * Cancel an inflight API request\n\t * @param {Promise<any>} request - The request promise to cancel\n\t * @param {string} [message] - A message to include in the cancelation exception\n\t */\n\tcancel(request: Promise<any>, message?: string) {\n\t\tconst source = this._cancelTokenMap.get(request);\n\t\tif (source) {\n\t\t\tsource.cancel(message);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check if the request has a corresponding cancel token in the WeakMap.\n\t * @params request - The request promise\n\t * @return if the request has a corresponding cancel token.\n\t */\n\thasCancelToken(request: Promise<any>) {\n\t\treturn this._cancelTokenMap.has(request);\n\t}\n\n\t/**\n\t * Checks to see if an error thrown is from an api request cancellation\n\t * @param {any} error - Any error\n\t * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n\t */\n\tisCancel(error): boolean {\n\t\treturn axios.isCancel(error);\n\t}\n\n\t/**\n\t * Retrieves a new and unique cancel token which can be\n\t * provided in an axios request to be cancelled later.\n\t */\n\tgetCancellableToken(): CancelTokenSource {\n\t\treturn axios.CancelToken.source();\n\t}\n\n\t/**\n\t * Updates the weakmap with a response promise and its\n\t * cancel token such that the cancel token can be easily\n\t * retrieved (and used for cancelling the request)\n\t */\n\tupdateRequestToBeCancellable(\n\t\tpromise: Promise<any>,\n\t\tcancelTokenSource: CancelTokenSource\n\t) {\n\t\tthis._cancelTokenMap.set(promise, cancelTokenSource);\n\t}\n\n\t/**\n\t * Getting endpoint for API\n\t * @param {string} apiName - The name of the api\n\t * @return {string} - The endpoint of the api\n\t */\n\tendpoint(apiName: string) {\n\t\tconst cloud_logic_array = this._options.endpoints;\n\t\tlet response = '';\n\n\t\tif (!Array.isArray(cloud_logic_array)) {\n\t\t\treturn response;\n\t\t}\n\n\t\tcloud_logic_array.forEach(v => {\n\t\t\tif (v.name === apiName) {\n\t\t\t\tresponse = v.endpoint;\n\t\t\t\tif (typeof v.region === 'string') {\n\t\t\t\t\tthis._region = v.region;\n\t\t\t\t} else if (typeof this._options.region === 'string') {\n\t\t\t\t\tthis._region = this._options.region;\n\t\t\t\t}\n\t\t\t\tif (typeof v.service === 'string') {\n\t\t\t\t\tthis._service = v.service || 'execute-api';\n\t\t\t\t} else {\n\t\t\t\t\tthis._service = 'execute-api';\n\t\t\t\t}\n\t\t\t\tif (typeof v.custom_header === 'function') {\n\t\t\t\t\tthis._custom_header = v.custom_header;\n\t\t\t\t} else {\n\t\t\t\t\tthis._custom_header = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn response;\n\t}\n\n\t/** private methods **/\n\n\tprivate _signed(params, credentials, isAllResponse, { service, region }) {\n\t\tconst { signerServiceInfo: signerServiceInfoParams, ...otherParams } =\n\t\t\tparams;\n\n\t\tconst endpoint_region: string =\n\t\t\tregion || this._region || this._options.region;\n\t\tconst endpoint_service: string =\n\t\t\tservice || this._service || this._options.service;\n\n\t\tconst creds = {\n\t\t\tsecret_key: credentials.secretAccessKey,\n\t\t\taccess_key: credentials.accessKeyId,\n\t\t\tsession_token: credentials.sessionToken,\n\t\t};\n\n\t\tconst endpointInfo = {\n\t\t\tregion: endpoint_region,\n\t\t\tservice: endpoint_service,\n\t\t};\n\n\t\tconst signerServiceInfo = Object.assign(\n\t\t\tendpointInfo,\n\t\t\tsignerServiceInfoParams\n\t\t);\n\n\t\tconst signed_params = Signer.sign(otherParams, creds, signerServiceInfo);\n\n\t\tif (signed_params.data) {\n\t\t\tsigned_params.body = signed_params.data;\n\t\t}\n\n\t\tlogger.debug('Signed Request: ', signed_params);\n\n\t\tdelete signed_params.headers['host'];\n\n\t\treturn axios(signed_params)\n\t\t\t.then(response => (isAllResponse ? response : response.data))\n\t\t\t.catch(error => {\n\t\t\t\tlogger.debug(error);\n\t\t\t\tthrow error;\n\t\t\t});\n\t}\n\n\tprivate _request(params, isAllResponse = false) {\n\t\treturn axios(params)\n\t\t\t.then(response => (isAllResponse ? response : response.data))\n\t\t\t.catch(error => {\n\t\t\t\tlogger.debug(error);\n\t\t\t\tthrow error;\n\t\t\t});\n\t}\n\n\tprivate _parseUrl(url) {\n\t\tconst parts = url.split('/');\n\n\t\treturn {\n\t\t\thost: parts[2],\n\t\t\tpath: '/' + parts.slice(3).join('/'),\n\t\t};\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RestClient } from './RestClient';\nimport {\n\tAmplify,\n\tConsoleLogger as Logger,\n\tCredentials,\n} from '@aws-amplify/core';\nimport { ApiInfo } from './types';\n\nconst logger = new Logger('RestAPI');\n\n/**\n * Export Cloud Logic APIs\n */\nexport class RestAPIClass {\n\t/**\n\t * @private\n\t */\n\tprivate _options;\n\tprivate _api: RestClient = null;\n\n\tCredentials = Credentials;\n\n\t/**\n\t * Initialize Rest API with AWS configuration\n\t * @param {Object} options - Configuration object for API\n\t */\n\tconstructor(options) {\n\t\tthis._options = options;\n\t\tlogger.debug('API Options', this._options);\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'RestAPI';\n\t}\n\n\t/**\n\t * Configure API part with aws configurations\n\t * @param {Object} config - Configuration of the API\n\t * @return {Object} - The current configuration\n\t */\n\tconfigure(options) {\n\t\tconst { API = {}, ...otherOptions } = options || {};\n\t\tlet opt = { ...otherOptions, ...API };\n\t\tlogger.debug('configure Rest API', { opt });\n\n\t\tif (opt['aws_project_region']) {\n\t\t\tif (opt['aws_cloud_logic_custom']) {\n\t\t\t\tconst custom = opt['aws_cloud_logic_custom'];\n\t\t\t\topt.endpoints =\n\t\t\t\t\ttypeof custom === 'string' ? JSON.parse(custom) : custom;\n\t\t\t}\n\n\t\t\topt = Object.assign({}, opt, {\n\t\t\t\tregion: opt['aws_project_region'],\n\t\t\t\theader: {},\n\t\t\t});\n\t\t}\n\n\t\tif (Array.isArray(opt.endpoints)) {\n\t\t\t// Check if endpoints has custom_headers and validate if is a function\n\t\t\topt.endpoints.forEach(endpoint => {\n\t\t\t\tif (\n\t\t\t\t\ttypeof endpoint.custom_header !== 'undefined' &&\n\t\t\t\t\ttypeof endpoint.custom_header !== 'function'\n\t\t\t\t) {\n\t\t\t\t\tlogger.warn(\n\t\t\t\t\t\t'Rest API ' + endpoint.name + ', custom_header should be a function'\n\t\t\t\t\t);\n\t\t\t\t\tendpoint.custom_header = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (this._options && Array.isArray(this._options.endpoints)) {\n\t\t\topt.endpoints = this._options.endpoints;\n\t\t} else {\n\t\t\topt.endpoints = [];\n\t\t}\n\n\t\tthis._options = Object.assign({}, this._options, opt);\n\n\t\tthis.createInstance();\n\n\t\treturn this._options;\n\t}\n\n\t/**\n\t * Create an instance of API for the library\n\t * @return - A promise of true if Success\n\t */\n\tcreateInstance() {\n\t\tlogger.debug('create Rest API instance');\n\t\tthis._api = new RestClient(this._options);\n\n\t\t// Share Amplify instance with client for SSR\n\t\tthis._api.Credentials = this.Credentials;\n\t\treturn true;\n\t}\n\n\t/**\n\t * Make a GET request\n\t * @param {string} apiName - The api name of the request\n\t * @param {string} path - The path of the request\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tget(apiName, path, init): Promise<any> {\n\t\ttry {\n\t\t\tconst apiInfo = this.getEndpointInfo(apiName, path);\n\n\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\n\t\t\tconst initParams = Object.assign({}, init);\n\t\t\tinitParams.cancellableToken = cancellableToken;\n\n\t\t\tconst responsePromise = this._api.get(apiInfo, initParams);\n\n\t\t\tthis._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n\n\t\t\treturn responsePromise;\n\t\t} catch (err) {\n\t\t\treturn Promise.reject(err.message);\n\t\t}\n\t}\n\n\t/**\n\t * Make a POST request\n\t * @param {string} apiName - The api name of the request\n\t * @param {string} path - The path of the request\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tpost(apiName, path, init): Promise<any> {\n\t\ttry {\n\t\t\tconst apiInfo = this.getEndpointInfo(apiName, path);\n\n\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\n\t\t\tconst initParams = Object.assign({}, init);\n\t\t\tinitParams.cancellableToken = cancellableToken;\n\n\t\t\tconst responsePromise = this._api.post(apiInfo, initParams);\n\n\t\t\tthis._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n\n\t\t\treturn responsePromise;\n\t\t} catch (err) {\n\t\t\treturn Promise.reject(err.message);\n\t\t}\n\t}\n\n\t/**\n\t * Make a PUT request\n\t * @param {string} apiName - The api name of the request\n\t * @param {string} path - The path of the request\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tput(apiName, path, init): Promise<any> {\n\t\ttry {\n\t\t\tconst apiInfo = this.getEndpointInfo(apiName, path);\n\n\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\n\t\t\tconst initParams = Object.assign({}, init);\n\t\t\tinitParams.cancellableToken = cancellableToken;\n\n\t\t\tconst responsePromise = this._api.put(apiInfo, initParams);\n\n\t\t\tthis._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n\n\t\t\treturn responsePromise;\n\t\t} catch (err) {\n\t\t\treturn Promise.reject(err.message);\n\t\t}\n\t}\n\n\t/**\n\t * Make a PATCH request\n\t * @param {string} apiName - The api name of the request\n\t * @param {string} path - The path of the request\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tpatch(apiName, path, init): Promise<any> {\n\t\ttry {\n\t\t\tconst apiInfo = this.getEndpointInfo(apiName, path);\n\n\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\n\t\t\tconst initParams = Object.assign({}, init);\n\t\t\tinitParams.cancellableToken = cancellableToken;\n\n\t\t\tconst responsePromise = this._api.patch(apiInfo, initParams);\n\n\t\t\tthis._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n\n\t\t\treturn responsePromise;\n\t\t} catch (err) {\n\t\t\treturn Promise.reject(err.message);\n\t\t}\n\t}\n\n\t/**\n\t * Make a DEL request\n\t * @param {string} apiName - The api name of the request\n\t * @param {string} path - The path of the request\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tdel(apiName, path, init): Promise<any> {\n\t\ttry {\n\t\t\tconst apiInfo = this.getEndpointInfo(apiName, path);\n\n\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\n\t\t\tconst initParams = Object.assign({}, init);\n\t\t\tinitParams.cancellableToken = cancellableToken;\n\n\t\t\tconst responsePromise = this._api.del(apiInfo, initParams);\n\n\t\t\tthis._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n\n\t\t\treturn responsePromise;\n\t\t} catch (err) {\n\t\t\treturn Promise.reject(err.message);\n\t\t}\n\t}\n\n\t/**\n\t * Make a HEAD request\n\t * @param {string} apiName - The api name of the request\n\t * @param {string} path - The path of the request\n\t * @param {json} [init] - Request extra params\n\t * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\thead(apiName, path, init): Promise<any> {\n\t\ttry {\n\t\t\tconst apiInfo = this.getEndpointInfo(apiName, path);\n\n\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\n\t\t\tconst initParams = Object.assign({}, init);\n\t\t\tinitParams.cancellableToken = cancellableToken;\n\n\t\t\tconst responsePromise = this._api.head(apiInfo, initParams);\n\n\t\t\tthis._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n\n\t\t\treturn responsePromise;\n\t\t} catch (err) {\n\t\t\treturn Promise.reject(err.message);\n\t\t}\n\t}\n\n\t/**\n\t * Checks to see if an error thrown is from an api request cancellation\n\t * @param {any} error - Any error\n\t * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n\t */\n\tisCancel(error) {\n\t\treturn this._api.isCancel(error);\n\t}\n\n\t/**\n\t * Cancels an inflight request\n\t * @param {any} request - request to cancel\n\t * @return {boolean} - A boolean indicating if the request was cancelled\n\t */\n\tcancel(request: Promise<any>, message?: string) {\n\t\treturn this._api.cancel(request, message);\n\t}\n\n\t/**\n\t * Check if the request has a corresponding cancel token in the WeakMap.\n\t * @params request - The request promise\n\t * @return if the request has a corresponding cancel token.\n\t */\n\thasCancelToken(request: Promise<any>) {\n\t\treturn this._api.hasCancelToken(request);\n\t}\n\n\t/**\n\t * Getting endpoint for API\n\t * @param {string} apiName - The name of the api\n\t * @return {string} - The endpoint of the api\n\t */\n\tasync endpoint(apiName) {\n\t\treturn this._api.endpoint(apiName);\n\t}\n\n\t/**\n\t * Getting endpoint info for API\n\t * @param {string} apiName - The name of the api\n\t * @param {string} path - The path of the api that is going to accessed\n\t * @return {ApiInfo} - The endpoint information for that api-name\n\t */\n\tprivate getEndpointInfo(apiName: string, path: string): ApiInfo {\n\t\tconst cloud_logic_array = this._options.endpoints;\n\n\t\tif (!Array.isArray(cloud_logic_array)) {\n\t\t\tthrow new Error(`API category not configured`);\n\t\t}\n\n\t\tconst apiConfig = cloud_logic_array.find(api => api.name === apiName);\n\n\t\tif (!apiConfig) {\n\t\t\tthrow new Error(`API ${apiName} does not exist`);\n\t\t}\n\n\t\tconst response: ApiInfo = {\n\t\t\tendpoint: apiConfig.endpoint + path,\n\t\t};\n\n\t\tif (typeof apiConfig.region === 'string') {\n\t\t\tresponse.region = apiConfig.region;\n\t\t} else if (typeof this._options.region === 'string') {\n\t\t\tresponse.region = this._options.region;\n\t\t}\n\n\t\tif (typeof apiConfig.service === 'string') {\n\t\t\tresponse.service = apiConfig.service || 'execute-api';\n\t\t} else {\n\t\t\tresponse.service = 'execute-api';\n\t\t}\n\n\t\tif (typeof apiConfig.custom_header === 'function') {\n\t\t\tresponse.custom_header = apiConfig.custom_header;\n\t\t} else {\n\t\t\tresponse.custom_header = undefined;\n\t\t}\n\n\t\treturn response;\n\t}\n}\n\nexport const RestAPI = new RestAPIClass(null);\nAmplify.register(RestAPI);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '<SOF>',\n EOF: '<EOF>',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n","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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // <BOM>\n\n case 9: // \\t\n\n case 32: // <space>\n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This Symbol is used to reference an internal-only PubSub provider that\n * is used for AppSync/GraphQL subscriptions in the API category.\n */\nconst hasSymbol =\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function';\n\nexport const INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER = hasSymbol\n\t? Symbol.for('INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER')\n\t: '@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER';\n\nexport const USER_AGENT_HEADER = 'x-amz-user-agent';\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ZenObservable } from 'zen-observable-ts';\n\nexport interface SubscriptionObserver<T> {\n\tclosed: boolean;\n\tnext(value: T): void;\n\terror(errorValue: any): void;\n\tcomplete(): void;\n}\n\nexport enum CONTROL_MSG {\n\tCONNECTION_CLOSED = 'Connection closed',\n\tCONNECTION_FAILED = 'Connection failed',\n\tREALTIME_SUBSCRIPTION_INIT_ERROR = 'AppSync Realtime subscription init error',\n\tSUBSCRIPTION_ACK = 'Subscription ack',\n\tTIMEOUT_DISCONNECT = 'Timeout disconnect',\n}\n\n/** @enum {string} */\nexport enum ConnectionState {\n\t/*\n\t * The connection is alive and healthy\n\t */\n\tConnected = 'Connected',\n\t/*\n\t * The connection is alive, but the connection is offline\n\t */\n\tConnectedPendingNetwork = 'ConnectedPendingNetwork',\n\t/*\n\t * The connection has been disconnected while in use\n\t */\n\tConnectionDisrupted = 'ConnectionDisrupted',\n\t/*\n\t * The connection has been disconnected and the network is offline\n\t */\n\tConnectionDisruptedPendingNetwork = 'ConnectionDisruptedPendingNetwork',\n\t/*\n\t * The connection is in the process of connecting\n\t */\n\tConnecting = 'Connecting',\n\t/*\n\t * The connection is not in use and is being disconnected\n\t */\n\tConnectedPendingDisconnect = 'ConnectedPendingDisconnect',\n\t/*\n\t * The connection is not in use and has been disconnected\n\t */\n\tDisconnected = 'Disconnected',\n\t/*\n\t * The connection is alive, but a keep alive message has been missed\n\t */\n\tConnectedPendingKeepAlive = 'ConnectedPendingKeepAlive',\n}\n\nexport type PubSubContent = Record<string, unknown> | string;\nexport type PubSubContentObserver =\n\tZenObservable.SubscriptionObserver<PubSubContent>;\n","/* tslint:disable */\n\nimport zenObservable from 'zen-observable';\n\nnamespace Observable {\n\n}\n\nimport { ZenObservable } from './types';\n\nexport { ZenObservable };\n\nexport type Observer<T> = ZenObservable.Observer<T>;\nexport type Subscriber<T> = ZenObservable.Subscriber<T>;\nexport type ObservableLike<T> = ZenObservable.ObservableLike<T>;\n\nexport const Observable: {\n new <T>(subscriber: Subscriber<T>): Observable<T>;\n from<R>(\n observable: Observable<R> | ZenObservable.ObservableLike<R> | ArrayLike<R>,\n ): Observable<R>;\n of<R>(...args: Array<R>): Observable<R>;\n} = <any>zenObservable;\n\nexport interface Observable<T> {\n subscribe(\n observerOrNext: ((value: T) => void) | ZenObservable.Observer<T>,\n error?: (error: any) => void,\n complete?: () => void,\n ): ZenObservable.Subscription;\n\n forEach(fn: (value: T) => void): Promise<void>;\n\n map<R>(fn: (value: T) => R): Observable<R>;\n\n filter(fn: (value: T) => boolean): Observable<T>;\n\n reduce<R = T>(\n fn: (previousValue: R | T, currentValue: T) => R | T,\n initialValue?: R | T,\n ): Observable<R | T>;\n\n flatMap<R>(fn: (value: T) => ZenObservable.ObservableLike<R>): Observable<R>;\n\n from<R>(\n observable: Observable<R> | ZenObservable.ObservableLike<R> | ArrayLike<R>,\n ): Observable<R>;\n of<R>(...args: Array<R>): Observable<R>;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Amplify } from './Amplify';\nimport { Platform } from './Platform';\n\nexport { Amplify } from './Amplify';\nexport { AmplifyClass } from './Amplify';\nexport { ClientDevice } from './ClientDevice';\nexport { ConsoleLogger, ConsoleLogger as Logger } from './Logger';\nexport { invalidParameter, missingConfig } from './Errors';\nexport { Hub, HubCapsule, HubCallback, HubPayload } from './Hub';\nexport { I18n } from './I18n';\nexport {\n\tbrowserOrNode,\n\tfilenameToContentType,\n\tgenerateRandomString,\n\tisEmpty,\n\tisStrictObject,\n\tisTextFile,\n\tisWebWorker,\n\tmakeQuerablePromise,\n\tobjectLessAttributes,\n\tsortByField,\n\ttransferKeyToLowerCase,\n\ttransferKeyToUpperCase,\n} from './JS';\nexport { Signer } from './Signer';\nexport { parseAWSExports } from './parseAWSExports';\nexport { AWSCloudWatchProvider } from './Providers';\nexport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nexport { AppState, AsyncStorage, Linking } from './RNComponents';\nexport { Credentials, CredentialsClass } from './Credentials';\nexport { ServiceWorker } from './ServiceWorker';\nexport { ICredentials } from './types';\nexport { StorageHelper, MemoryStorage } from './StorageHelper';\nexport { UniversalStorage } from './UniversalStorage';\nexport { Platform, getAmplifyUserAgent } from './Platform';\nexport {\n\tINTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n\tUSER_AGENT_HEADER,\n} from './constants';\n\nexport const Constants = {\n\tuserAgent: Platform.userAgent,\n};\n\nexport {\n\tAWS_CLOUDWATCH_BASE_BUFFER_SIZE,\n\tAWS_CLOUDWATCH_CATEGORY,\n\tAWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE,\n\tAWS_CLOUDWATCH_MAX_EVENT_SIZE,\n\tAWS_CLOUDWATCH_PROVIDER_NAME,\n\tBackgroundManagerNotOpenError,\n\tBackgroundProcessManager,\n\tBackgroundProcessManagerState,\n\tDateUtils,\n\tMutex,\n\tNO_CREDS_ERROR_STRING,\n\tNonRetryableError,\n\tRETRY_ERROR_CODES,\n\tReachability,\n\tisNonRetryableError,\n\tjitteredBackoff,\n\tjitteredExponentialRetry,\n\tretry,\n\turlSafeDecode,\n\turlSafeEncode,\n} from './Util';\n\n/**\n * @deprecated use named import\n */\nexport default Amplify;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport Observable from 'zen-observable-ts';\nimport { PubSubProvider, ProviderOptions } from '../types/Provider';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { PubSubContent } from '../types/PubSub';\n\nconst logger = new Logger('AbstractPubSubProvider');\n\nexport abstract class AbstractPubSubProvider<T extends ProviderOptions>\n\timplements PubSubProvider\n{\n\tprivate _config: T;\n\n\tconstructor(options: T) {\n\t\tthis._config = options;\n\t}\n\n\tconfigure(config: T): T {\n\t\tthis._config = { ...config, ...this._config };\n\n\t\tlogger.debug(`configure ${this.getProviderName()}`, this._config);\n\n\t\treturn this.options;\n\t}\n\n\tgetCategory() {\n\t\treturn 'PubSub';\n\t}\n\n\tabstract getProviderName(): string;\n\n\tprotected get options(): T {\n\t\treturn { ...this._config };\n\t}\n\n\tpublic abstract newClient(clientOptions: T): Promise<any>;\n\n\tpublic abstract publish(\n\t\ttopics: string[] | string,\n\t\tmsg: PubSubContent,\n\t\toptions?: T\n\t): void;\n\n\tpublic abstract subscribe(\n\t\ttopics: string[] | string,\n\t\toptions?: T\n\t): Observable<PubSubContent>;\n}\n","export const MAX_DELAY_MS = 5000;\n\nexport const NON_RETRYABLE_CODES = [400, 401, 403];\n\nexport const CONNECTION_STATE_CHANGE = 'ConnectionStateChange';\n\nexport enum MESSAGE_TYPES {\n\t/**\n\t * Client -> Server message.\n\t * This message type is the first message after handshake and this will initialize AWS AppSync RealTime communication\n\t */\n\tGQL_CONNECTION_INIT = 'connection_init',\n\t/**\n\t * Server -> Client message\n\t * This message type is in case there is an issue with AWS AppSync RealTime when establishing connection\n\t */\n\tGQL_CONNECTION_ERROR = 'connection_error',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message\n\t */\n\tGQL_CONNECTION_ACK = 'connection_ack',\n\t/**\n\t * Client -> Server message.\n\t * This message type is for register subscriptions with AWS AppSync RealTime\n\t */\n\tGQL_START = 'start',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for the ack response from AWS AppSync RealTime for GQL_START message\n\t */\n\tGQL_START_ACK = 'start_ack',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for subscription message from AWS AppSync RealTime\n\t */\n\tGQL_DATA = 'data',\n\t/**\n\t * Server -> Client message.\n\t * This message type helps the client to know is still receiving messages from AWS AppSync RealTime\n\t */\n\tGQL_CONNECTION_KEEP_ALIVE = 'ka',\n\t/**\n\t * Client -> Server message.\n\t * This message type is for unregister subscriptions with AWS AppSync RealTime\n\t */\n\tGQL_STOP = 'stop',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message\n\t */\n\tGQL_COMPLETE = 'complete',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for sending error messages from AWS AppSync RealTime to the client\n\t */\n\tGQL_ERROR = 'error', // Server -> Client\n}\n\nexport enum SUBSCRIPTION_STATUS {\n\tPENDING,\n\tCONNECTED,\n\tFAILED,\n}\n\nexport enum SOCKET_STATUS {\n\tCLOSED,\n\tREADY,\n\tCONNECTING,\n}\n\nexport const AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nexport const AWS_APPSYNC_REALTIME_HEADERS = {\n\taccept: 'application/json, text/javascript',\n\t'content-encoding': 'amz-1.0',\n\t'content-type': 'application/json; charset=UTF-8',\n};\n\n/**\n * Time in milleseconds to wait for GQL_CONNECTION_INIT message\n */\nexport const CONNECTION_INIT_TIMEOUT = 15000;\n\n/**\n * Time in milleseconds to wait for GQL_START_ACK message\n */\nexport const START_ACK_TIMEOUT = 15000;\n\n/**\n * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message\n */\nexport const DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;\n\n/**\n * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message\n */\nexport const DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;\n\n/**\n * Default delay time in milleseconds between when reconnect is triggered vs when it is attempted\n */\nexport const RECONNECT_DELAY = 5 * 1000;\n\n/**\n * Default interval time in milleseconds between when reconnect is re-attempted\n */\nexport const RECONNECT_INTERVAL = 60 * 1000;\n","import { Observer } from 'zen-observable-ts';\nimport { RECONNECT_DELAY, RECONNECT_INTERVAL } from '../Providers/constants';\n\nexport enum ReconnectEvent {\n\tSTART_RECONNECT = 'START_RECONNECT',\n\tHALT_RECONNECT = 'HALT_RECONNECT',\n}\n\n/**\n * Captures the reconnect event logic used to determine when to reconnect to PubSub providers.\n * Reconnnect attempts are delayed by 5 seconds to let the interface settle.\n * Attempting to reconnect only once creates unrecoverable states when the network state isn't\n * supported by the browser, so this keeps retrying every minute until halted.\n */\nexport class ReconnectionMonitor {\n\tprivate reconnectObservers: Observer<void>[] = [];\n\tprivate reconnectIntervalId?: ReturnType<typeof setInterval>;\n\tprivate reconnectSetTimeoutId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Add reconnect observer to the list of observers to alert on reconnect\n\t */\n\taddObserver(reconnectObserver: Observer<void>) {\n\t\tthis.reconnectObservers.push(reconnectObserver);\n\t}\n\n\t/**\n\t * Given a reconnect event, start the appropriate behavior\n\t */\n\trecord(event: ReconnectEvent) {\n\t\tif (event === ReconnectEvent.START_RECONNECT) {\n\t\t\t// If the reconnection hasn't been started\n\t\t\tif (\n\t\t\t\tthis.reconnectSetTimeoutId === undefined &&\n\t\t\t\tthis.reconnectIntervalId === undefined\n\t\t\t) {\n\t\t\t\tthis.reconnectSetTimeoutId = setTimeout(() => {\n\t\t\t\t\t// Reconnect now\n\t\t\t\t\tthis._triggerReconnect();\n\t\t\t\t\t// Retry reconnect every periodically until it works\n\t\t\t\t\tthis.reconnectIntervalId = setInterval(() => {\n\t\t\t\t\t\tthis._triggerReconnect();\n\t\t\t\t\t}, RECONNECT_INTERVAL);\n\t\t\t\t}, RECONNECT_DELAY);\n\t\t\t}\n\t\t}\n\n\t\tif (event === ReconnectEvent.HALT_RECONNECT) {\n\t\t\tif (this.reconnectIntervalId) {\n\t\t\t\tclearInterval(this.reconnectIntervalId);\n\t\t\t\tthis.reconnectIntervalId = undefined;\n\t\t\t}\n\t\t\tif (this.reconnectSetTimeoutId) {\n\t\t\t\tclearTimeout(this.reconnectSetTimeoutId);\n\t\t\t\tthis.reconnectSetTimeoutId = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Complete all reconnect observers\n\t */\n\tclose() {\n\t\tthis.reconnectObservers.forEach(reconnectObserver => {\n\t\t\treconnectObserver.complete?.();\n\t\t});\n\t}\n\n\tprivate _triggerReconnect() {\n\t\tthis.reconnectObservers.forEach(reconnectObserver => {\n\t\t\treconnectObserver.next?.();\n\t\t});\n\t}\n}\n","import { browserOrNode, isWebWorker } from '@aws-amplify/core';\nimport Observable, { ZenObservable } from 'zen-observable-ts';\n\ntype NetworkStatus = {\n\tonline: boolean;\n};\n\nexport default class ReachabilityNavigator implements Reachability {\n\tprivate static _observers: Array<\n\t\tZenObservable.SubscriptionObserver<NetworkStatus>\n\t> = [];\n\n\tnetworkMonitor(netInfo?: any): Observable<NetworkStatus> {\n\t\tif (browserOrNode().isNode) {\n\t\t\treturn Observable.from([{ online: true }]);\n\t\t}\n\n\t\tconst globalObj = isWebWorker() ? self : window;\n\n\t\treturn new Observable(observer => {\n\t\t\tobserver.next({ online: globalObj.navigator.onLine });\n\n\t\t\tconst notifyOnline = () => observer.next({ online: true });\n\t\t\tconst notifyOffline = () => observer.next({ online: false });\n\n\t\t\tglobalObj.addEventListener('online', notifyOnline);\n\t\t\tglobalObj.addEventListener('offline', notifyOffline);\n\n\t\t\tReachabilityNavigator._observers.push(observer);\n\n\t\t\treturn () => {\n\t\t\t\tglobalObj.removeEventListener('online', notifyOnline);\n\t\t\t\tglobalObj.removeEventListener('offline', notifyOffline);\n\n\t\t\t\tReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(\n\t\t\t\t\t_observer => _observer !== observer\n\t\t\t\t);\n\t\t\t};\n\t\t});\n\t}\n\n\t// expose observers to simulate offline mode for integration testing\n\tprivate static _observerOverride(status: NetworkStatus): void {\n\t\tfor (const observer of ReachabilityNavigator._observers) {\n\t\t\tif (observer.closed) {\n\t\t\t\tReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(\n\t\t\t\t\t_observer => _observer !== observer\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tobserver.next(status);\n\t\t}\n\t}\n}\n\ninterface Reachability {\n\tnetworkMonitor(netInfo?: any): Observable<NetworkStatus>;\n}\n","import { Reachability } from '@aws-amplify/core';\n\nexport const ReachabilityMonitor = () => new Reachability().networkMonitor();\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport Observable, { ZenObservable } from 'zen-observable-ts';\nimport { ConnectionState } from '../types/PubSub';\nimport { ReachabilityMonitor } from './ReachabilityMonitor';\n\n// Internal types for tracking different connection states\ntype LinkedConnectionState = 'connected' | 'disconnected';\ntype LinkedHealthState = 'healthy' | 'unhealthy';\ntype LinkedConnectionStates = {\n\tnetworkState: LinkedConnectionState;\n\tconnectionState: LinkedConnectionState | 'connecting';\n\tintendedConnectionState: LinkedConnectionState;\n\tkeepAliveState: LinkedHealthState;\n};\n\nexport const CONNECTION_CHANGE: {\n\t[key in\n\t\t| 'KEEP_ALIVE_MISSED'\n\t\t| 'KEEP_ALIVE'\n\t\t| 'CONNECTION_ESTABLISHED'\n\t\t| 'CONNECTION_FAILED'\n\t\t| 'CLOSING_CONNECTION'\n\t\t| 'OPENING_CONNECTION'\n\t\t| 'CLOSED'\n\t\t| 'ONLINE'\n\t\t| 'OFFLINE']: Partial<LinkedConnectionStates>;\n} = {\n\tKEEP_ALIVE_MISSED: { keepAliveState: 'unhealthy' },\n\tKEEP_ALIVE: { keepAliveState: 'healthy' },\n\tCONNECTION_ESTABLISHED: { connectionState: 'connected' },\n\tCONNECTION_FAILED: {\n\t\tintendedConnectionState: 'disconnected',\n\t\tconnectionState: 'disconnected',\n\t},\n\tCLOSING_CONNECTION: { intendedConnectionState: 'disconnected' },\n\tOPENING_CONNECTION: {\n\t\tintendedConnectionState: 'connected',\n\t\tconnectionState: 'connecting',\n\t},\n\tCLOSED: { connectionState: 'disconnected' },\n\tONLINE: { networkState: 'connected' },\n\tOFFLINE: { networkState: 'disconnected' },\n};\n\nexport class ConnectionStateMonitor {\n\t/**\n\t * @private\n\t */\n\tprivate _linkedConnectionState: LinkedConnectionStates;\n\tprivate _linkedConnectionStateObservable: Observable<LinkedConnectionStates>;\n\tprivate _linkedConnectionStateObserver: ZenObservable.SubscriptionObserver<LinkedConnectionStates>;\n\tprivate _networkMonitoringSubscription?: ZenObservable.Subscription;\n\tprivate _initialNetworkStateSubscription?: ZenObservable.Subscription;\n\n\tconstructor() {\n\t\tthis._networkMonitoringSubscription = undefined;\n\t\tthis._linkedConnectionState = {\n\t\t\tnetworkState: 'connected',\n\t\t\tconnectionState: 'disconnected',\n\t\t\tintendedConnectionState: 'disconnected',\n\t\t\tkeepAliveState: 'healthy',\n\t\t};\n\n\t\t// Attempt to update the state with the current actual network state\n\t\tthis._initialNetworkStateSubscription = ReachabilityMonitor().subscribe(\n\t\t\t({ online }) => {\n\t\t\t\tthis.record(\n\t\t\t\t\tonline ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE\n\t\t\t\t);\n\t\t\t\tthis._initialNetworkStateSubscription?.unsubscribe();\n\t\t\t}\n\t\t);\n\n\t\tthis._linkedConnectionStateObservable =\n\t\t\tnew Observable<LinkedConnectionStates>(connectionStateObserver => {\n\t\t\t\tconnectionStateObserver.next(this._linkedConnectionState);\n\t\t\t\tthis._linkedConnectionStateObserver = connectionStateObserver;\n\t\t\t});\n\t}\n\n\t/**\n\t * Turn network state monitoring on if it isn't on already\n\t */\n\tprivate enableNetworkMonitoring() {\n\t\t// If no initial network state was discovered, stop trying\n\t\tthis._initialNetworkStateSubscription?.unsubscribe();\n\n\t\t// Maintain the network state based on the reachability monitor\n\t\tif (this._networkMonitoringSubscription === undefined) {\n\t\t\tthis._networkMonitoringSubscription = ReachabilityMonitor().subscribe(\n\t\t\t\t({ online }) => {\n\t\t\t\t\tthis.record(\n\t\t\t\t\t\tonline ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Turn network state monitoring off if it isn't off already\n\t */\n\tprivate disableNetworkMonitoring() {\n\t\tthis._networkMonitoringSubscription?.unsubscribe();\n\t\tthis._networkMonitoringSubscription = undefined;\n\t}\n\n\t/**\n\t * Get the observable that allows us to monitor the connection state\n\t *\n\t * @returns {Observable<ConnectionState>} - The observable that emits ConnectionState updates\n\t */\n\tpublic get connectionStateObservable(): Observable<ConnectionState> {\n\t\tlet previous: ConnectionState;\n\n\t\t// The linked state aggregates state changes to any of the network, connection,\n\t\t// intendedConnection and keepAliveHealth. Some states will change these independent\n\t\t// states without changing the overall connection state.\n\n\t\t// After translating from linked states to ConnectionState, then remove any duplicates\n\t\treturn this._linkedConnectionStateObservable\n\t\t\t.map(value => {\n\t\t\t\treturn this.connectionStatesTranslator(value);\n\t\t\t})\n\t\t\t.filter(current => {\n\t\t\t\tconst toInclude = current !== previous;\n\t\t\t\tprevious = current;\n\t\t\t\treturn toInclude;\n\t\t\t});\n\t}\n\n\t/*\n\t * Updates local connection state and emits the full state to the observer.\n\t */\n\trecord(statusUpdates: Partial<LinkedConnectionStates>) {\n\t\t// Maintain the network monitor\n\t\tif (statusUpdates.intendedConnectionState === 'connected') {\n\t\t\tthis.enableNetworkMonitoring();\n\t\t} else if (statusUpdates.intendedConnectionState === 'disconnected') {\n\t\t\tthis.disableNetworkMonitoring();\n\t\t}\n\n\t\t// Maintain the socket state\n\t\tconst newSocketStatus = {\n\t\t\t...this._linkedConnectionState,\n\t\t\t...statusUpdates,\n\t\t};\n\n\t\tthis._linkedConnectionState = { ...newSocketStatus };\n\n\t\tthis._linkedConnectionStateObserver.next(this._linkedConnectionState);\n\t}\n\n\t/*\n\t * Translate the ConnectionState structure into a specific ConnectionState string literal union\n\t */\n\tprivate connectionStatesTranslator({\n\t\tconnectionState,\n\t\tnetworkState,\n\t\tintendedConnectionState,\n\t\tkeepAliveState,\n\t}: LinkedConnectionStates): ConnectionState {\n\t\tif (connectionState === 'connected' && networkState === 'disconnected')\n\t\t\treturn ConnectionState.ConnectedPendingNetwork;\n\n\t\tif (\n\t\t\tconnectionState === 'connected' &&\n\t\t\tintendedConnectionState === 'disconnected'\n\t\t)\n\t\t\treturn ConnectionState.ConnectedPendingDisconnect;\n\n\t\tif (\n\t\t\tconnectionState === 'disconnected' &&\n\t\t\tintendedConnectionState === 'connected' &&\n\t\t\tnetworkState === 'disconnected'\n\t\t)\n\t\t\treturn ConnectionState.ConnectionDisruptedPendingNetwork;\n\n\t\tif (\n\t\t\tconnectionState === 'disconnected' &&\n\t\t\tintendedConnectionState === 'connected'\n\t\t)\n\t\t\treturn ConnectionState.ConnectionDisrupted;\n\n\t\tif (connectionState === 'connected' && keepAliveState === 'unhealthy')\n\t\t\treturn ConnectionState.ConnectedPendingKeepAlive;\n\n\t\t// All remaining states directly correspond to the connection state\n\t\tif (connectionState === 'connecting') return ConnectionState.Connecting;\n\t\tif (connectionState === 'disconnected') return ConnectionState.Disconnected;\n\t\treturn ConnectionState.Connected;\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Source, DocumentNode, GraphQLError } from 'graphql';\nexport { OperationTypeNode } from 'graphql';\nimport { GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';\nexport { GRAPHQL_AUTH_MODE };\n\nexport interface GraphQLOptions {\n\tquery: string | DocumentNode;\n\tvariables?: object;\n\tauthMode?: keyof typeof GRAPHQL_AUTH_MODE;\n\tauthToken?: string;\n\tuserAgentSuffix?: string;\n}\n\nexport interface GraphQLResult<T = object> {\n\tdata?: T;\n\terrors?: GraphQLError[];\n\textensions?: {\n\t\t[key: string]: any;\n\t};\n}\n\nexport enum GraphQLAuthError {\n\tNO_API_KEY = 'No api-key configured',\n\tNO_CURRENT_USER = 'No current user',\n\tNO_CREDENTIALS = 'No credentials',\n\tNO_FEDERATED_JWT = 'No federated jwt',\n\tNO_AUTH_TOKEN = 'No auth token specified',\n}\n\n/**\n * GraphQLSource or string, the type of the parameter for calling graphql.parse\n * @see: https://graphql.org/graphql-js/language/#parse\n */\nexport type GraphQLOperation = Source | string;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport Observable, { ZenObservable } from 'zen-observable-ts';\nimport { GraphQLError } from 'graphql';\nimport * as url from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { Buffer } from 'buffer';\nimport { ProviderOptions } from '../../types/Provider';\nimport {\n\tLogger,\n\tCredentials,\n\tSigner,\n\tHub,\n\tConstants,\n\tUSER_AGENT_HEADER,\n\tjitteredExponentialRetry,\n\tNonRetryableError,\n\tICredentials,\n\tisNonRetryableError,\n} from '@aws-amplify/core';\nimport { Cache } from '@aws-amplify/cache';\nimport { Auth, GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';\nimport { AbstractPubSubProvider } from '../PubSubProvider';\nimport {\n\tCONTROL_MSG,\n\tConnectionState,\n\tPubSubContent,\n\tPubSubContentObserver,\n} from '../../types/PubSub';\n\nimport {\n\tAMPLIFY_SYMBOL,\n\tAWS_APPSYNC_REALTIME_HEADERS,\n\tCONNECTION_INIT_TIMEOUT,\n\tDEFAULT_KEEP_ALIVE_TIMEOUT,\n\tDEFAULT_KEEP_ALIVE_ALERT_TIMEOUT,\n\tMAX_DELAY_MS,\n\tMESSAGE_TYPES,\n\tNON_RETRYABLE_CODES,\n\tSOCKET_STATUS,\n\tSTART_ACK_TIMEOUT,\n\tSUBSCRIPTION_STATUS,\n\tCONNECTION_STATE_CHANGE,\n} from '../constants';\nimport {\n\tConnectionStateMonitor,\n\tCONNECTION_CHANGE,\n} from '../../utils/ConnectionStateMonitor';\nimport {\n\tReconnectEvent,\n\tReconnectionMonitor,\n} from '../../utils/ReconnectionMonitor';\n\nconst logger = new Logger('AWSAppSyncRealTimeProvider');\n\nconst dispatchApiEvent = (\n\tevent: string,\n\tdata: Record<string, unknown>,\n\tmessage: string\n) => {\n\tHub.dispatch('api', { event, data, message }, 'PubSub', AMPLIFY_SYMBOL);\n};\n\nexport type ObserverQuery = {\n\tobserver: PubSubContentObserver;\n\tquery: string;\n\tvariables: Record<string, unknown>;\n\tsubscriptionState: SUBSCRIPTION_STATUS;\n\tsubscriptionReadyCallback?: Function;\n\tsubscriptionFailedCallback?: Function;\n\tstartAckTimeoutId?: ReturnType<typeof setTimeout>;\n};\n\nconst standardDomainPattern =\n\t/^https:\\/\\/\\w{26}\\.appsync\\-api\\.\\w{2}(?:(?:\\-\\w{2,})+)\\-\\d\\.amazonaws.com(?:\\.cn)?\\/graphql$/i;\n\nconst customDomainPath = '/realtime';\n\ntype GraphqlAuthModes = keyof typeof GRAPHQL_AUTH_MODE;\n\ntype DataObject = {\n\tdata: Record<string, unknown>;\n};\n\ntype DataPayload = {\n\tid: string;\n\tpayload: DataObject;\n\ttype: string;\n};\n\ntype ParsedMessagePayload = {\n\ttype: string;\n\tpayload: {\n\t\tconnectionTimeoutMs: number;\n\t\terrors?: [{ errorType: string; errorCode: number }];\n\t};\n};\n\nexport interface AWSAppSyncRealTimeProviderOptions extends ProviderOptions {\n\tappSyncGraphqlEndpoint?: string;\n\tauthenticationType?: GraphqlAuthModes;\n\tquery?: string;\n\tvariables?: Record<string, unknown>;\n\tapiKey?: string;\n\tregion?: string;\n\tgraphql_headers?: () => {} | (() => Promise<{}>);\n\tadditionalHeaders?: { [key: string]: string };\n}\n\ntype AWSAppSyncRealTimeAuthInput =\n\tPartial<AWSAppSyncRealTimeProviderOptions> & {\n\t\tcanonicalUri: string;\n\t\tpayload: string;\n\t\thost?: string | undefined;\n\t};\n\nexport class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider<AWSAppSyncRealTimeProviderOptions> {\n\tprivate awsRealTimeSocket?: WebSocket;\n\tprivate socketStatus: SOCKET_STATUS = SOCKET_STATUS.CLOSED;\n\tprivate keepAliveTimeoutId?: ReturnType<typeof setTimeout>;\n\tprivate keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT;\n\tprivate keepAliveAlertTimeoutId?: ReturnType<typeof setTimeout>;\n\tprivate subscriptionObserverMap: Map<string, ObserverQuery> = new Map();\n\tprivate promiseArray: Array<{ res: Function; rej: Function }> = [];\n\tprivate connectionState: ConnectionState;\n\tprivate readonly connectionStateMonitor = new ConnectionStateMonitor();\n\tprivate readonly reconnectionMonitor = new ReconnectionMonitor();\n\tprivate connectionStateMonitorSubscription: ZenObservable.Subscription;\n\n\tconstructor(options: ProviderOptions = {}) {\n\t\tsuper(options);\n\t\t// Monitor the connection state and pass changes along to Hub\n\t\tthis.connectionStateMonitorSubscription =\n\t\t\tthis.connectionStateMonitor.connectionStateObservable.subscribe(\n\t\t\t\tconnectionState => {\n\t\t\t\t\tdispatchApiEvent(\n\t\t\t\t\t\tCONNECTION_STATE_CHANGE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprovider: this,\n\t\t\t\t\t\t\tconnectionState,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t`Connection state is ${connectionState}`\n\t\t\t\t\t);\n\t\t\t\t\tthis.connectionState = connectionState;\n\n\t\t\t\t\t// Trigger START_RECONNECT when the connection is disrupted\n\t\t\t\t\tif (connectionState === ConnectionState.ConnectionDisrupted) {\n\t\t\t\t\t\tthis.reconnectionMonitor.record(ReconnectEvent.START_RECONNECT);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trigger HALT_RECONNECT to halt reconnection attempts when the state is anything other than\n\t\t\t\t\t// ConnectionDisrupted or Connecting\n\t\t\t\t\tif (\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tConnectionState.Connected,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingDisconnect,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingKeepAlive,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingNetwork,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingNetwork,\n\t\t\t\t\t\t\tConnectionState.ConnectionDisruptedPendingNetwork,\n\t\t\t\t\t\t\tConnectionState.Disconnected,\n\t\t\t\t\t\t].includes(connectionState)\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.reconnectionMonitor.record(ReconnectEvent.HALT_RECONNECT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t}\n\n\t/**\n\t * Mark the socket closed and release all active listeners\n\t */\n\tclose() {\n\t\t// Mark the socket closed both in status and the connection monitor\n\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n\n\t\t// Turn off the subscription monitor Hub publishing\n\t\tthis.connectionStateMonitorSubscription.unsubscribe();\n\t\t// Complete all reconnect observers\n\t\tthis.reconnectionMonitor.close();\n\t}\n\n\tgetNewWebSocket(url: string, protocol: string) {\n\t\treturn new WebSocket(url, protocol);\n\t}\n\n\tgetProviderName() {\n\t\treturn 'AWSAppSyncRealTimeProvider';\n\t}\n\n\tnewClient(): Promise<any> {\n\t\tthrow new Error('Not used here');\n\t}\n\n\tpublic async publish(\n\t\t_topics: string[] | string,\n\t\t_msg: PubSubContent,\n\t\t_options?: AWSAppSyncRealTimeProviderOptions\n\t) {\n\t\tthrow new Error('Operation not supported');\n\t}\n\n\t// Check if url matches standard domain pattern\n\tprivate isCustomDomain(url: string): boolean {\n\t\treturn url.match(standardDomainPattern) === null;\n\t}\n\n\tsubscribe(\n\t\t_topics: string[] | string,\n\t\toptions?: AWSAppSyncRealTimeProviderOptions\n\t): Observable<Record<string, unknown>> {\n\t\tconst appSyncGraphqlEndpoint = options?.appSyncGraphqlEndpoint;\n\n\t\treturn new Observable(observer => {\n\t\t\tif (!options || !appSyncGraphqlEndpoint) {\n\t\t\t\tobserver.error({\n\t\t\t\t\terrors: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...new GraphQLError(\n\t\t\t\t\t\t\t\t`Subscribe only available for AWS AppSync endpoint`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tobserver.complete();\n\t\t\t} else {\n\t\t\t\tlet subscriptionStartActive = false;\n\t\t\t\tconst subscriptionId = uuid();\n\t\t\t\tconst startSubscription = () => {\n\t\t\t\t\tif (!subscriptionStartActive) {\n\t\t\t\t\t\tsubscriptionStartActive = true;\n\t\t\t\t\t\tconst startSubscriptionPromise =\n\t\t\t\t\t\t\tthis._startSubscriptionWithAWSAppSyncRealTime({\n\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\tobserver,\n\t\t\t\t\t\t\t\tsubscriptionId,\n\t\t\t\t\t\t\t}).catch<any>(err => {\n\t\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t\t`${CONTROL_MSG.REALTIME_SUBSCRIPTION_INIT_ERROR}: ${err}`\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tstartSubscriptionPromise.finally(() => {\n\t\t\t\t\t\t\tsubscriptionStartActive = false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tlet reconnectSubscription: ZenObservable.Subscription;\n\n\t\t\t\t// Add an observable to the reconnection list to manage reconnection for this subscription\n\t\t\t\treconnectSubscription = new Observable(observer => {\n\t\t\t\t\tthis.reconnectionMonitor.addObserver(observer);\n\t\t\t\t}).subscribe(() => {\n\t\t\t\t\tstartSubscription();\n\t\t\t\t});\n\n\t\t\t\tstartSubscription();\n\n\t\t\t\treturn async () => {\n\t\t\t\t\t// Cleanup reconnection subscription\n\t\t\t\t\treconnectSubscription?.unsubscribe();\n\n\t\t\t\t\t// Cleanup after unsubscribing or observer.complete was called after _startSubscriptionWithAWSAppSyncRealTime\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Waiting that subscription has been connected before trying to unsubscribe\n\t\t\t\t\t\tawait this._waitForSubscriptionToBeConnected(subscriptionId);\n\n\t\t\t\t\t\tconst { subscriptionState } =\n\t\t\t\t\t\t\tthis.subscriptionObserverMap.get(subscriptionId) || {};\n\n\t\t\t\t\t\tif (!subscriptionState) {\n\t\t\t\t\t\t\t// subscription already unsubscribed\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (subscriptionState === SUBSCRIPTION_STATUS.CONNECTED) {\n\t\t\t\t\t\t\tthis._sendUnsubscriptionMessage(subscriptionId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error('Subscription never connected');\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tlogger.debug(`Error while unsubscribing ${err}`);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis._removeSubscriptionObserver(subscriptionId);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected get isSSLEnabled() {\n\t\treturn !this.options[\n\t\t\t'aws_appsync_dangerously_connect_to_http_endpoint_for_testing'\n\t\t];\n\t}\n\n\tprivate async _startSubscriptionWithAWSAppSyncRealTime({\n\t\toptions,\n\t\tobserver,\n\t\tsubscriptionId,\n\t}: {\n\t\toptions: AWSAppSyncRealTimeProviderOptions;\n\t\tobserver: PubSubContentObserver;\n\t\tsubscriptionId: string;\n\t}) {\n\t\tconst {\n\t\t\tappSyncGraphqlEndpoint,\n\t\t\tauthenticationType,\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\tapiKey,\n\t\t\tregion,\n\t\t\tgraphql_headers = () => ({}),\n\t\t\tadditionalHeaders = {},\n\t\t} = options;\n\n\t\tconst subscriptionState: SUBSCRIPTION_STATUS = SUBSCRIPTION_STATUS.PENDING;\n\t\tconst data = {\n\t\t\tquery,\n\t\t\tvariables,\n\t\t};\n\t\t// Having a subscription id map will make it simple to forward messages received\n\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\tobserver,\n\t\t\tquery: query ?? '',\n\t\t\tvariables: variables ?? {},\n\t\t\tsubscriptionState,\n\t\t\tstartAckTimeoutId: undefined,\n\t\t});\n\n\t\t// Preparing payload for subscription message\n\n\t\tconst dataString = JSON.stringify(data);\n\t\tconst headerObj = {\n\t\t\t...(await this._awsRealTimeHeaderBasedAuth({\n\t\t\t\tapiKey,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tauthenticationType,\n\t\t\t\tpayload: dataString,\n\t\t\t\tcanonicalUri: '',\n\t\t\t\tregion,\n\t\t\t\tadditionalHeaders,\n\t\t\t})),\n\t\t\t...(await graphql_headers()),\n\t\t\t...additionalHeaders,\n\t\t\t[USER_AGENT_HEADER]: Constants.userAgent,\n\t\t};\n\n\t\tconst subscriptionMessage = {\n\t\t\tid: subscriptionId,\n\t\t\tpayload: {\n\t\t\t\tdata: dataString,\n\t\t\t\textensions: {\n\t\t\t\t\tauthorization: {\n\t\t\t\t\t\t...headerObj,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttype: MESSAGE_TYPES.GQL_START,\n\t\t};\n\n\t\tconst stringToAWSRealTime = JSON.stringify(subscriptionMessage);\n\n\t\ttry {\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.OPENING_CONNECTION);\n\t\t\tawait this._initializeWebSocketConnection({\n\t\t\t\tapiKey,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tauthenticationType,\n\t\t\t\tregion,\n\t\t\t\tadditionalHeaders,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tthis._logStartSubscriptionError(subscriptionId, observer, err);\n\t\t\treturn;\n\t\t}\n\n\t\t// Potential race condition can occur when unsubscribe is called during _initializeWebSocketConnection.\n\t\t// E.g.unsubscribe gets invoked prior to finishing WebSocket handshake or START_ACK.\n\t\t// Both subscriptionFailedCallback and subscriptionReadyCallback are used to synchronized this.\n\n\t\tconst { subscriptionFailedCallback, subscriptionReadyCallback } =\n\t\t\tthis.subscriptionObserverMap.get(subscriptionId) ?? {};\n\n\t\t// This must be done before sending the message in order to be listening immediately\n\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\tobserver,\n\t\t\tsubscriptionState,\n\t\t\tquery: query ?? '',\n\t\t\tvariables: variables ?? {},\n\t\t\tsubscriptionReadyCallback,\n\t\t\tsubscriptionFailedCallback,\n\t\t\tstartAckTimeoutId: setTimeout(() => {\n\t\t\t\tthis._timeoutStartSubscriptionAck.call(this, subscriptionId);\n\t\t\t}, START_ACK_TIMEOUT),\n\t\t});\n\t\tif (this.awsRealTimeSocket) {\n\t\t\tthis.awsRealTimeSocket.send(stringToAWSRealTime);\n\t\t}\n\t}\n\n\t// Log logic for start subscription failures\n\tprivate _logStartSubscriptionError(\n\t\tsubscriptionId: string,\n\t\tobserver: PubSubContentObserver,\n\t\terr: { message?: string }\n\t) {\n\t\tlogger.debug({ err });\n\t\tconst message = String(err.message ?? '');\n\t\t// Resolving to give the state observer time to propogate the update\n\t\tPromise.resolve(\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED)\n\t\t);\n\n\t\t// Capture the error only when the network didn't cause disruption\n\t\tif (\n\t\t\tthis.connectionState !== ConnectionState.ConnectionDisruptedPendingNetwork\n\t\t) {\n\t\t\t// When the error is non-retriable, error out the observable\n\t\t\tif (isNonRetryableError(err)) {\n\t\t\t\tobserver.error({\n\t\t\t\t\terrors: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...new GraphQLError(\n\t\t\t\t\t\t\t\t`${CONTROL_MSG.CONNECTION_FAILED}: ${message}`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlogger.debug(`${CONTROL_MSG.CONNECTION_FAILED}: ${message}`);\n\t\t\t}\n\n\t\t\tconst { subscriptionFailedCallback } =\n\t\t\t\tthis.subscriptionObserverMap.get(subscriptionId) || {};\n\n\t\t\t// Notify concurrent unsubscription\n\t\t\tif (typeof subscriptionFailedCallback === 'function') {\n\t\t\t\tsubscriptionFailedCallback();\n\t\t\t}\n\t\t}\n\t}\n\n\t// Waiting that subscription has been connected before trying to unsubscribe\n\tprivate async _waitForSubscriptionToBeConnected(subscriptionId: string) {\n\t\tconst subscriptionObserver =\n\t\t\tthis.subscriptionObserverMap.get(subscriptionId);\n\t\tif (subscriptionObserver) {\n\t\t\tconst { subscriptionState } = subscriptionObserver;\n\t\t\t// This in case unsubscribe is invoked before sending start subscription message\n\t\t\tif (subscriptionState === SUBSCRIPTION_STATUS.PENDING) {\n\t\t\t\treturn new Promise((res, rej) => {\n\t\t\t\t\tconst { observer, subscriptionState, variables, query } =\n\t\t\t\t\t\tsubscriptionObserver;\n\t\t\t\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\t\t\t\tobserver,\n\t\t\t\t\t\tsubscriptionState,\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tsubscriptionReadyCallback: res,\n\t\t\t\t\t\tsubscriptionFailedCallback: rej,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _sendUnsubscriptionMessage(subscriptionId: string) {\n\t\ttry {\n\t\t\tif (\n\t\t\t\tthis.awsRealTimeSocket &&\n\t\t\t\tthis.awsRealTimeSocket.readyState === WebSocket.OPEN &&\n\t\t\t\tthis.socketStatus === SOCKET_STATUS.READY\n\t\t\t) {\n\t\t\t\t// Preparing unsubscribe message to stop receiving messages for that subscription\n\t\t\t\tconst unsubscribeMessage = {\n\t\t\t\t\tid: subscriptionId,\n\t\t\t\t\ttype: MESSAGE_TYPES.GQL_STOP,\n\t\t\t\t};\n\t\t\t\tconst stringToAWSRealTime = JSON.stringify(unsubscribeMessage);\n\t\t\t\tthis.awsRealTimeSocket.send(stringToAWSRealTime);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// If GQL_STOP is not sent because of disconnection issue, then there is nothing the client can do\n\t\t\tlogger.debug({ err });\n\t\t}\n\t}\n\n\tprivate _removeSubscriptionObserver(subscriptionId: string) {\n\t\tthis.subscriptionObserverMap.delete(subscriptionId);\n\n\t\t// Verifying 1000ms after removing subscription in case there are new subscription unmount/mount\n\t\tsetTimeout(this._closeSocketIfRequired.bind(this), 1000);\n\t}\n\n\tprivate _closeSocketIfRequired() {\n\t\tif (this.subscriptionObserverMap.size > 0) {\n\t\t\t// Active subscriptions on the WebSocket\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.awsRealTimeSocket) {\n\t\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSING_CONNECTION);\n\n\t\tif (this.awsRealTimeSocket.bufferedAmount > 0) {\n\t\t\t// Still data on the WebSocket\n\t\t\tsetTimeout(this._closeSocketIfRequired.bind(this), 1000);\n\t\t} else {\n\t\t\tlogger.debug('closing WebSocket...');\n\t\t\tif (this.keepAliveTimeoutId) {\n\t\t\t\tclearTimeout(this.keepAliveTimeoutId);\n\t\t\t}\n\t\t\tif (this.keepAliveAlertTimeoutId) {\n\t\t\t\tclearTimeout(this.keepAliveAlertTimeoutId);\n\t\t\t}\n\t\t\tconst tempSocket = this.awsRealTimeSocket;\n\t\t\t// Cleaning callbacks to avoid race condition, socket still exists\n\t\t\ttempSocket.onclose = null;\n\t\t\ttempSocket.onerror = null;\n\t\t\ttempSocket.close(1000);\n\t\t\tthis.awsRealTimeSocket = undefined;\n\t\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t}\n\t}\n\n\tprivate _handleIncomingSubscriptionMessage(message: MessageEvent) {\n\t\tif (typeof message.data !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlogger.debug(\n\t\t\t`subscription message from AWS AppSync RealTime: ${message.data}`\n\t\t);\n\t\tconst {\n\t\t\tid = '',\n\t\t\tpayload,\n\t\t\ttype,\n\t\t}: DataPayload = JSON.parse(String(message.data));\n\t\tconst {\n\t\t\tobserver = null,\n\t\t\tquery = '',\n\t\t\tvariables = {},\n\t\t\tstartAckTimeoutId,\n\t\t\tsubscriptionReadyCallback,\n\t\t\tsubscriptionFailedCallback,\n\t\t} = this.subscriptionObserverMap.get(id) || {};\n\n\t\tlogger.debug({ id, observer, query, variables });\n\n\t\tif (type === MESSAGE_TYPES.GQL_DATA && payload && payload.data) {\n\t\t\tif (observer) {\n\t\t\t\tobserver.next(payload);\n\t\t\t} else {\n\t\t\t\tlogger.debug(`observer not found for id: ${id}`);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === MESSAGE_TYPES.GQL_START_ACK) {\n\t\t\tlogger.debug(\n\t\t\t\t`subscription ready for ${JSON.stringify({ query, variables })}`\n\t\t\t);\n\t\t\tif (typeof subscriptionReadyCallback === 'function') {\n\t\t\t\tsubscriptionReadyCallback();\n\t\t\t}\n\t\t\tif (startAckTimeoutId) clearTimeout(startAckTimeoutId);\n\t\t\tdispatchApiEvent(\n\t\t\t\tCONTROL_MSG.SUBSCRIPTION_ACK,\n\t\t\t\t{ query, variables },\n\t\t\t\t'Connection established for subscription'\n\t\t\t);\n\t\t\tconst subscriptionState = SUBSCRIPTION_STATUS.CONNECTED;\n\t\t\tif (observer) {\n\t\t\t\tthis.subscriptionObserverMap.set(id, {\n\t\t\t\t\tobserver,\n\t\t\t\t\tquery,\n\t\t\t\t\tvariables,\n\t\t\t\t\tstartAckTimeoutId: undefined,\n\t\t\t\t\tsubscriptionState,\n\t\t\t\t\tsubscriptionReadyCallback,\n\t\t\t\t\tsubscriptionFailedCallback,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.connectionStateMonitor.record(\n\t\t\t\tCONNECTION_CHANGE.CONNECTION_ESTABLISHED\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === MESSAGE_TYPES.GQL_CONNECTION_KEEP_ALIVE) {\n\t\t\tif (this.keepAliveTimeoutId) clearTimeout(this.keepAliveTimeoutId);\n\t\t\tif (this.keepAliveAlertTimeoutId)\n\t\t\t\tclearTimeout(this.keepAliveAlertTimeoutId);\n\t\t\tthis.keepAliveTimeoutId = setTimeout(\n\t\t\t\t() => this._errorDisconnect(CONTROL_MSG.TIMEOUT_DISCONNECT),\n\t\t\t\tthis.keepAliveTimeout\n\t\t\t);\n\t\t\tthis.keepAliveAlertTimeoutId = setTimeout(() => {\n\t\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE_MISSED);\n\t\t\t}, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT);\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE);\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === MESSAGE_TYPES.GQL_ERROR) {\n\t\t\tconst subscriptionState = SUBSCRIPTION_STATUS.FAILED;\n\t\t\tif (observer) {\n\t\t\t\tthis.subscriptionObserverMap.set(id, {\n\t\t\t\t\tobserver,\n\t\t\t\t\tquery,\n\t\t\t\t\tvariables,\n\t\t\t\t\tstartAckTimeoutId,\n\t\t\t\t\tsubscriptionReadyCallback,\n\t\t\t\t\tsubscriptionFailedCallback,\n\t\t\t\t\tsubscriptionState,\n\t\t\t\t});\n\n\t\t\t\tlogger.debug(\n\t\t\t\t\t`${CONTROL_MSG.CONNECTION_FAILED}: ${JSON.stringify(payload)}`\n\t\t\t\t);\n\n\t\t\t\tobserver.error({\n\t\t\t\t\terrors: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...new GraphQLError(\n\t\t\t\t\t\t\t\t`${CONTROL_MSG.CONNECTION_FAILED}: ${JSON.stringify(payload)}`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\tif (startAckTimeoutId) clearTimeout(startAckTimeoutId);\n\n\t\t\t\tif (typeof subscriptionFailedCallback === 'function') {\n\t\t\t\t\tsubscriptionFailedCallback();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _errorDisconnect(msg: string) {\n\t\tlogger.debug(`Disconnect error: ${msg}`);\n\n\t\tif (this.awsRealTimeSocket) {\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t\tthis.awsRealTimeSocket.close();\n\t\t}\n\n\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t}\n\n\tprivate _timeoutStartSubscriptionAck(subscriptionId: string) {\n\t\tconst subscriptionObserver =\n\t\t\tthis.subscriptionObserverMap.get(subscriptionId);\n\t\tif (subscriptionObserver) {\n\t\t\tconst { observer, query, variables } = subscriptionObserver;\n\t\t\tif (!observer) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\t\tobserver,\n\t\t\t\tquery,\n\t\t\t\tvariables,\n\t\t\t\tsubscriptionState: SUBSCRIPTION_STATUS.FAILED,\n\t\t\t});\n\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t\tlogger.debug(\n\t\t\t\t'timeoutStartSubscription',\n\t\t\t\tJSON.stringify({ query, variables })\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate _initializeWebSocketConnection({\n\t\tappSyncGraphqlEndpoint,\n\t\tauthenticationType,\n\t\tapiKey,\n\t\tregion,\n\t\tadditionalHeaders,\n\t}: AWSAppSyncRealTimeProviderOptions) {\n\t\tif (this.socketStatus === SOCKET_STATUS.READY) {\n\t\t\treturn;\n\t\t}\n\t\treturn new Promise(async (res, rej) => {\n\t\t\tthis.promiseArray.push({ res, rej });\n\n\t\t\tif (this.socketStatus === SOCKET_STATUS.CLOSED) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.socketStatus = SOCKET_STATUS.CONNECTING;\n\n\t\t\t\t\tconst payloadString = '{}';\n\n\t\t\t\t\tconst authHeader = await this._awsRealTimeHeaderBasedAuth({\n\t\t\t\t\t\tauthenticationType,\n\t\t\t\t\t\tpayload: payloadString,\n\t\t\t\t\t\tcanonicalUri: '/connect',\n\t\t\t\t\t\tapiKey,\n\t\t\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\t\t\tregion,\n\t\t\t\t\t\tadditionalHeaders,\n\t\t\t\t\t});\n\n\t\t\t\t\tconst headerString = authHeader ? JSON.stringify(authHeader) : '';\n\t\t\t\t\tconst headerQs = Buffer.from(headerString).toString('base64');\n\n\t\t\t\t\tconst payloadQs = Buffer.from(payloadString).toString('base64');\n\n\t\t\t\t\tlet discoverableEndpoint = appSyncGraphqlEndpoint ?? '';\n\n\t\t\t\t\tif (this.isCustomDomain(discoverableEndpoint)) {\n\t\t\t\t\t\tdiscoverableEndpoint =\n\t\t\t\t\t\t\tdiscoverableEndpoint.concat(customDomainPath);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdiscoverableEndpoint = discoverableEndpoint\n\t\t\t\t\t\t\t.replace('appsync-api', 'appsync-realtime-api')\n\t\t\t\t\t\t\t.replace('gogi-beta', 'grt-beta');\n\t\t\t\t\t}\n\n\t\t\t\t\t// Creating websocket url with required query strings\n\t\t\t\t\tconst protocol = this.isSSLEnabled ? 'wss://' : 'ws://';\n\t\t\t\t\tdiscoverableEndpoint = discoverableEndpoint\n\t\t\t\t\t\t.replace('https://', protocol)\n\t\t\t\t\t\t.replace('http://', protocol);\n\n\t\t\t\t\tconst awsRealTimeUrl = `${discoverableEndpoint}?header=${headerQs}&payload=${payloadQs}`;\n\n\t\t\t\t\tawait this._initializeRetryableHandshake(awsRealTimeUrl);\n\n\t\t\t\t\tthis.promiseArray.forEach(({ res }) => {\n\t\t\t\t\t\tlogger.debug('Notifying connection successful');\n\t\t\t\t\t\tres();\n\t\t\t\t\t});\n\t\t\t\t\tthis.socketStatus = SOCKET_STATUS.READY;\n\t\t\t\t\tthis.promiseArray = [];\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger.debug('Connection exited with', err);\n\t\t\t\t\tthis.promiseArray.forEach(({ rej }) => rej(err));\n\t\t\t\t\tthis.promiseArray = [];\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.awsRealTimeSocket &&\n\t\t\t\t\t\tthis.awsRealTimeSocket.readyState === WebSocket.OPEN\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.awsRealTimeSocket.close(3001);\n\t\t\t\t\t}\n\t\t\t\t\tthis.awsRealTimeSocket = undefined;\n\t\t\t\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _initializeRetryableHandshake(awsRealTimeUrl: string) {\n\t\tlogger.debug(`Initializaling retryable Handshake`);\n\t\tawait jitteredExponentialRetry(\n\t\t\tthis._initializeHandshake.bind(this),\n\t\t\t[awsRealTimeUrl],\n\t\t\tMAX_DELAY_MS\n\t\t);\n\t}\n\n\tprivate async _initializeHandshake(awsRealTimeUrl: string) {\n\t\tlogger.debug(`Initializing handshake ${awsRealTimeUrl}`);\n\t\t// Because connecting the socket is async, is waiting until connection is open\n\t\t// Step 1: connect websocket\n\t\ttry {\n\t\t\tawait (() => {\n\t\t\t\treturn new Promise<void>((res, rej) => {\n\t\t\t\t\tconst newSocket = this.getNewWebSocket(awsRealTimeUrl, 'graphql-ws');\n\t\t\t\t\tnewSocket.onerror = () => {\n\t\t\t\t\t\tlogger.debug(`WebSocket connection error`);\n\t\t\t\t\t};\n\t\t\t\t\tnewSocket.onclose = () => {\n\t\t\t\t\t\trej(new Error('Connection handshake error'));\n\t\t\t\t\t};\n\t\t\t\t\tnewSocket.onopen = () => {\n\t\t\t\t\t\tthis.awsRealTimeSocket = newSocket;\n\t\t\t\t\t\treturn res();\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})();\n\t\t\t// Step 2: wait for ack from AWS AppSyncReaTime after sending init\n\t\t\tawait (() => {\n\t\t\t\treturn new Promise((res, rej) => {\n\t\t\t\t\tif (this.awsRealTimeSocket) {\n\t\t\t\t\t\tlet ackOk = false;\n\t\t\t\t\t\tthis.awsRealTimeSocket.onerror = error => {\n\t\t\t\t\t\t\tlogger.debug(`WebSocket error ${JSON.stringify(error)}`);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.awsRealTimeSocket.onclose = event => {\n\t\t\t\t\t\t\tlogger.debug(`WebSocket closed ${event.reason}`);\n\t\t\t\t\t\t\trej(new Error(JSON.stringify(event)));\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tthis.awsRealTimeSocket.onmessage = (message: MessageEvent) => {\n\t\t\t\t\t\t\tif (typeof message.data !== 'string') {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t`subscription message from AWS AppSyncRealTime: ${message.data} `\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst data = JSON.parse(message.data) as ParsedMessagePayload;\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tconnectionTimeoutMs = DEFAULT_KEEP_ALIVE_TIMEOUT,\n\t\t\t\t\t\t\t\t} = {},\n\t\t\t\t\t\t\t} = data;\n\t\t\t\t\t\t\tif (type === MESSAGE_TYPES.GQL_CONNECTION_ACK) {\n\t\t\t\t\t\t\t\tackOk = true;\n\t\t\t\t\t\t\t\tif (this.awsRealTimeSocket) {\n\t\t\t\t\t\t\t\t\tthis.keepAliveTimeout = connectionTimeoutMs;\n\t\t\t\t\t\t\t\t\tthis.awsRealTimeSocket.onmessage =\n\t\t\t\t\t\t\t\t\t\tthis._handleIncomingSubscriptionMessage.bind(this);\n\t\t\t\t\t\t\t\t\tthis.awsRealTimeSocket.onerror = err => {\n\t\t\t\t\t\t\t\t\t\tlogger.debug(err);\n\t\t\t\t\t\t\t\t\t\tthis._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tthis.awsRealTimeSocket.onclose = event => {\n\t\t\t\t\t\t\t\t\t\tlogger.debug(`WebSocket closed ${event.reason}`);\n\t\t\t\t\t\t\t\t\t\tthis._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tres('Cool, connected to AWS AppSyncRealTime');\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (type === MESSAGE_TYPES.GQL_CONNECTION_ERROR) {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\terrors: [{ errorType = '', errorCode = 0 } = {}] = [],\n\t\t\t\t\t\t\t\t\t} = {},\n\t\t\t\t\t\t\t\t} = data;\n\n\t\t\t\t\t\t\t\trej({ errorType, errorCode });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst gqlInit = {\n\t\t\t\t\t\t\ttype: MESSAGE_TYPES.GQL_CONNECTION_INIT,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.awsRealTimeSocket.send(JSON.stringify(gqlInit));\n\n\t\t\t\t\t\tconst checkAckOk = (ackOk: boolean) => {\n\t\t\t\t\t\t\tif (!ackOk) {\n\t\t\t\t\t\t\t\tthis.connectionStateMonitor.record(\n\t\t\t\t\t\t\t\t\tCONNECTION_CHANGE.CONNECTION_FAILED\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t`Connection timeout: ack from AWSAppSyncRealTime was not received after ${CONNECTION_INIT_TIMEOUT} ms`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tsetTimeout(() => checkAckOk(ackOk), CONNECTION_INIT_TIMEOUT);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})();\n\t\t} catch (err) {\n\t\t\tconst { errorType, errorCode } = err as {\n\t\t\t\terrorType: string;\n\t\t\t\terrorCode: number;\n\t\t\t};\n\n\t\t\tif (NON_RETRYABLE_CODES.includes(errorCode)) {\n\t\t\t\tthrow new NonRetryableError(errorType);\n\t\t\t} else if (errorType) {\n\t\t\t\tthrow new Error(errorType);\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async _awsRealTimeHeaderBasedAuth({\n\t\tauthenticationType,\n\t\tpayload,\n\t\tcanonicalUri,\n\t\tappSyncGraphqlEndpoint,\n\t\tapiKey,\n\t\tregion,\n\t\tadditionalHeaders,\n\t}: AWSAppSyncRealTimeAuthInput): Promise<\n\t\tRecord<string, unknown> | undefined\n\t> {\n\t\tconst headerHandler: {\n\t\t\t[key in GraphqlAuthModes]: (AWSAppSyncRealTimeAuthInput) => {};\n\t\t} = {\n\t\t\tAPI_KEY: this._awsRealTimeApiKeyHeader.bind(this),\n\t\t\tAWS_IAM: this._awsRealTimeIAMHeader.bind(this),\n\t\t\tOPENID_CONNECT: this._awsRealTimeOPENIDHeader.bind(this),\n\t\t\tAMAZON_COGNITO_USER_POOLS: this._awsRealTimeCUPHeader.bind(this),\n\t\t\tAWS_LAMBDA: this._customAuthHeader,\n\t\t};\n\n\t\tif (!authenticationType || !headerHandler[authenticationType]) {\n\t\t\tlogger.debug(`Authentication type ${authenticationType} not supported`);\n\t\t\treturn undefined;\n\t\t} else {\n\t\t\tconst handler = headerHandler[authenticationType];\n\n\t\t\tconst { host } = url.parse(appSyncGraphqlEndpoint ?? '');\n\n\t\t\tlogger.debug(`Authenticating with ${authenticationType}`);\n\n\t\t\tconst result = await handler({\n\t\t\t\tpayload,\n\t\t\t\tcanonicalUri,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tapiKey,\n\t\t\t\tregion,\n\t\t\t\thost,\n\t\t\t\tadditionalHeaders,\n\t\t\t});\n\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tprivate async _awsRealTimeCUPHeader({ host }: AWSAppSyncRealTimeAuthInput) {\n\t\tconst session = await Auth.currentSession();\n\t\treturn {\n\t\t\tAuthorization: session.getAccessToken().getJwtToken(),\n\t\t\thost,\n\t\t};\n\t}\n\n\tprivate async _awsRealTimeOPENIDHeader({\n\t\thost,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tlet token;\n\t\t// backwards compatibility\n\t\tconst federatedInfo = await Cache.getItem('federatedInfo');\n\t\tif (federatedInfo) {\n\t\t\ttoken = federatedInfo.token;\n\t\t} else {\n\t\t\tconst currentUser = await Auth.currentAuthenticatedUser();\n\t\t\tif (currentUser) {\n\t\t\t\ttoken = currentUser.token;\n\t\t\t}\n\t\t}\n\t\tif (!token) {\n\t\t\tthrow new Error('No federated jwt');\n\t\t}\n\t\treturn {\n\t\t\tAuthorization: token,\n\t\t\thost,\n\t\t};\n\t}\n\n\tprivate async _awsRealTimeApiKeyHeader({\n\t\tapiKey,\n\t\thost,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tconst dt = new Date();\n\t\tconst dtStr = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n\n\t\treturn {\n\t\t\thost,\n\t\t\t'x-amz-date': dtStr,\n\t\t\t'x-api-key': apiKey,\n\t\t};\n\t}\n\n\tprivate async _awsRealTimeIAMHeader({\n\t\tpayload,\n\t\tcanonicalUri,\n\t\tappSyncGraphqlEndpoint,\n\t\tregion,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tconst endpointInfo = {\n\t\t\tregion,\n\t\t\tservice: 'appsync',\n\t\t};\n\n\t\tconst credentialsOK = await this._ensureCredentials();\n\t\tif (!credentialsOK) {\n\t\t\tthrow new Error('No credentials');\n\t\t}\n\t\tconst creds = await Credentials.get().then((credentials: any) => {\n\t\t\tconst { secretAccessKey, accessKeyId, sessionToken } =\n\t\t\t\tcredentials as ICredentials;\n\n\t\t\treturn {\n\t\t\t\tsecret_key: secretAccessKey,\n\t\t\t\taccess_key: accessKeyId,\n\t\t\t\tsession_token: sessionToken,\n\t\t\t};\n\t\t});\n\n\t\tconst request = {\n\t\t\turl: `${appSyncGraphqlEndpoint}${canonicalUri}`,\n\t\t\tdata: payload,\n\t\t\tmethod: 'POST',\n\t\t\theaders: { ...AWS_APPSYNC_REALTIME_HEADERS },\n\t\t};\n\n\t\tconst signed_params = Signer.sign(request, creds, endpointInfo);\n\t\treturn signed_params.headers;\n\t}\n\n\tprivate _customAuthHeader({\n\t\thost,\n\t\tadditionalHeaders,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tif (!additionalHeaders || !additionalHeaders['Authorization']) {\n\t\t\tthrow new Error('No auth token specified');\n\t\t}\n\n\t\treturn {\n\t\t\tAuthorization: additionalHeaders.Authorization,\n\t\t\thost,\n\t\t};\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_ensureCredentials() {\n\t\treturn Credentials.get()\n\t\t\t.then((credentials: any) => {\n\t\t\t\tif (!credentials) return false;\n\t\t\t\tconst cred = Credentials.shear(credentials);\n\t\t\t\tlogger.debug('set credentials for AWSAppSyncRealTimeProvider', cred);\n\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((err: any) => {\n\t\t\t\tlogger.warn('ensure credentials error', err);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// import '../Common/Polyfills';\nimport Observable from 'zen-observable-ts';\n\nimport {\n\tAmplify,\n\tbrowserOrNode,\n\tConsoleLogger as Logger,\n\tINTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n} from '@aws-amplify/core';\nimport { PubSubProvider, PubSubOptions, ProviderOptions } from './types';\nimport { AWSAppSyncRealTimeProvider } from './Providers';\nimport { PubSubContent } from './types/PubSub';\n\nconst { isNode } = browserOrNode();\nconst logger = new Logger('PubSub');\n\ntype PubSubObservable = {\n\tprovider: PubSubProvider;\n\tvalue: string | Record<string, unknown>;\n};\n\nexport class PubSubClass {\n\tprivate _options: PubSubOptions;\n\n\tprivate _pluggables: PubSubProvider[];\n\n\t/**\n\t * Internal instance of AWSAppSyncRealTimeProvider used by the API category to subscribe to AppSync\n\t */\n\tprivate _awsAppSyncRealTimeProvider?: AWSAppSyncRealTimeProvider;\n\n\t/**\n\t * Lazy instantiate AWSAppSyncRealTimeProvider when it is required by the API category\n\t */\n\tprivate get awsAppSyncRealTimeProvider() {\n\t\tif (!this._awsAppSyncRealTimeProvider) {\n\t\t\tthis._awsAppSyncRealTimeProvider = new AWSAppSyncRealTimeProvider(\n\t\t\t\tthis._options\n\t\t\t);\n\t\t}\n\t\treturn this._awsAppSyncRealTimeProvider;\n\t}\n\n\t/**\n\t * Initialize PubSub with AWS configurations\n\t *\n\t * @param {PubSubOptions} options - Configuration object for PubSub\n\t */\n\tconstructor(options?: PubSubOptions) {\n\t\tthis._options = options ?? {};\n\t\tlogger.debug('PubSub Options', this._options);\n\t\tthis._pluggables = [];\n\t\tthis.subscribe = this.subscribe.bind(this);\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'PubSub';\n\t}\n\n\t/**\n\t * Configure PubSub part with configurations\n\t *\n\t * @param {PubSubOptions} config - Configuration for PubSub\n\t * @return {Object} - The current configuration\n\t */\n\tconfigure(options: PubSubOptions) {\n\t\tconst opt: Record<string, unknown> = options\n\t\t\t? options.PubSub || options\n\t\t\t: {};\n\t\tlogger.debug('configure PubSub', { opt });\n\n\t\tthis._options = Object.assign({}, this._options, opt);\n\n\t\tthis._pluggables.map(pluggable => pluggable.configure(this._options));\n\n\t\treturn this._options;\n\t}\n\n\t/**\n\t * add plugin into Analytics category\n\t * @param {Object} pluggable - an instance of the plugin\n\t */\n\tpublic async addPluggable(pluggable: PubSubProvider) {\n\t\tif (pluggable && pluggable.getCategory() === 'PubSub') {\n\t\t\tthis._pluggables.push(pluggable);\n\n\t\t\tconst config = pluggable.configure(this._options);\n\n\t\t\treturn config;\n\t\t}\n\t}\n\n\t/**\n\t * remove plugin from PubSub category\n\t * @param providerName - the name of the plugin\n\t */\n\tremovePluggable(providerName: string): void {\n\t\tthis._pluggables = this._pluggables.filter(\n\t\t\tpluggable => pluggable.getProviderName() !== providerName\n\t\t);\n\t}\n\n\tprivate getProviderByName(providerName: string | symbol) {\n\t\tif (providerName === INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER) {\n\t\t\treturn this.awsAppSyncRealTimeProvider;\n\t\t}\n\n\t\treturn this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === providerName\n\t\t);\n\t}\n\n\tprivate getProviders(options: ProviderOptions = {}) {\n\t\tconst providerName = options.provider;\n\t\tif (!providerName) {\n\t\t\treturn this._pluggables;\n\t\t}\n\n\t\tconst provider = this.getProviderByName(providerName);\n\t\tif (!provider) {\n\t\t\tthrow new Error(`Could not find provider named ${String(providerName)}`);\n\t\t}\n\n\t\treturn [provider];\n\t}\n\n\tasync publish(\n\t\ttopics: string[] | string,\n\t\tmsg: PubSubContent,\n\t\toptions?: ProviderOptions\n\t) {\n\t\treturn Promise.all(\n\t\t\tthis.getProviders(options).map(provider =>\n\t\t\t\tprovider.publish(topics, msg, options)\n\t\t\t)\n\t\t);\n\t}\n\n\tsubscribe(\n\t\ttopics: string[] | string,\n\t\toptions?: ProviderOptions\n\t): Observable<PubSubObservable> {\n\t\tif (isNode && this._options && this._options.ssr) {\n\t\t\tthrow new Error(\n\t\t\t\t'Subscriptions are not supported for Server-Side Rendering (SSR)'\n\t\t\t);\n\t\t}\n\n\t\tlogger.debug('subscribe options', options);\n\n\t\tconst providers = this.getProviders(options);\n\n\t\treturn new Observable<PubSubObservable>(observer => {\n\t\t\tconst observables = providers.map(provider => ({\n\t\t\t\tprovider,\n\t\t\t\tobservable: provider.subscribe(topics, options),\n\t\t\t}));\n\n\t\t\tconst subscriptions = observables.map(({ provider, observable }) =>\n\t\t\t\tobservable.subscribe({\n\t\t\t\t\tstart: console.error,\n\t\t\t\t\tnext: (value: PubSubContent) => observer.next({ provider, value }),\n\t\t\t\t\terror: (error: unknown) => observer.error({ provider, error }),\n\t\t\t\t\t// complete: observer.complete, // TODO: when all completed, complete the outer one\n\t\t\t\t})\n\t\t\t);\n\n\t\t\treturn () =>\n\t\t\t\tsubscriptions.forEach(subscription => subscription.unsubscribe());\n\t\t});\n\t}\n}\n\nexport const PubSub = new PubSubClass();\nAmplify.register(PubSub);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n\tDocumentNode,\n\tOperationDefinitionNode,\n\tprint,\n\tparse,\n\tGraphQLError,\n\tOperationTypeNode,\n} from 'graphql';\nimport Observable from 'zen-observable-ts';\nimport {\n\tAmplify,\n\tConsoleLogger as Logger,\n\tCredentials,\n\tgetAmplifyUserAgent,\n\tINTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n} from '@aws-amplify/core';\nimport { PubSub } from '@aws-amplify/pubsub';\nimport { Auth } from '@aws-amplify/auth';\nimport { Cache } from '@aws-amplify/cache';\nimport {\n\tGraphQLAuthError,\n\tGraphQLOptions,\n\tGraphQLResult,\n\tGraphQLOperation,\n} from './types';\nimport { RestClient } from '@aws-amplify/api-rest';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\n\nconst logger = new Logger('GraphQLAPI');\n\nexport const graphqlOperation = (\n\tquery,\n\tvariables = {},\n\tauthToken?: string,\n\tuserAgentSuffix?: string\n) => ({\n\tquery,\n\tvariables,\n\tauthToken,\n\tuserAgentSuffix,\n});\n\n/**\n * Export Cloud Logic APIs\n */\nexport class GraphQLAPIClass {\n\t/**\n\t * @private\n\t */\n\tprivate _options;\n\tprivate _api = null;\n\n\tAuth = Auth;\n\tCache = Cache;\n\tCredentials = Credentials;\n\n\t/**\n\t * Initialize GraphQL API with AWS configuration\n\t * @param {Object} options - Configuration object for API\n\t */\n\tconstructor(options) {\n\t\tthis._options = options;\n\t\tlogger.debug('API Options', this._options);\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'GraphQLAPI';\n\t}\n\n\t/**\n\t * Configure API\n\t * @param {Object} config - Configuration of the API\n\t * @return {Object} - The current configuration\n\t */\n\tconfigure(options) {\n\t\tconst { API = {}, ...otherOptions } = options || {};\n\t\tlet opt = { ...otherOptions, ...API };\n\t\tlogger.debug('configure GraphQL API', { opt });\n\n\t\tif (opt['aws_project_region']) {\n\t\t\topt = Object.assign({}, opt, {\n\t\t\t\tregion: opt['aws_project_region'],\n\t\t\t\theader: {},\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\ttypeof opt.graphql_headers !== 'undefined' &&\n\t\t\ttypeof opt.graphql_headers !== 'function'\n\t\t) {\n\t\t\tlogger.warn('graphql_headers should be a function');\n\t\t\topt.graphql_headers = undefined;\n\t\t}\n\n\t\tthis._options = Object.assign({}, this._options, opt);\n\n\t\tthis.createInstance();\n\n\t\treturn this._options;\n\t}\n\n\t/**\n\t * Create an instance of API for the library\n\t * @return - A promise of true if Success\n\t */\n\tcreateInstance() {\n\t\tlogger.debug('create Rest instance');\n\t\tif (this._options) {\n\t\t\tthis._api = new RestClient(this._options);\n\t\t\t// Share instance Credentials with client for SSR\n\t\t\tthis._api.Credentials = this.Credentials;\n\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn Promise.reject('API not configured');\n\t\t}\n\t}\n\n\tprivate async _headerBasedAuth(\n\t\tdefaultAuthenticationType?,\n\t\tadditionalHeaders: { [key: string]: string } = {}\n\t) {\n\t\tconst { aws_appsync_authenticationType, aws_appsync_apiKey: apiKey } =\n\t\t\tthis._options;\n\t\tconst authenticationType =\n\t\t\tdefaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n\t\tlet headers = {};\n\n\t\tswitch (authenticationType) {\n\t\t\tcase 'API_KEY':\n\t\t\t\tif (!apiKey) {\n\t\t\t\t\tthrow new Error(GraphQLAuthError.NO_API_KEY);\n\t\t\t\t}\n\t\t\t\theaders = {\n\t\t\t\t\tAuthorization: null,\n\t\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'AWS_IAM':\n\t\t\t\tconst credentialsOK = await this._ensureCredentials();\n\t\t\t\tif (!credentialsOK) {\n\t\t\t\t\tthrow new Error(GraphQLAuthError.NO_CREDENTIALS);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'OPENID_CONNECT':\n\t\t\t\ttry {\n\t\t\t\t\tlet token;\n\t\t\t\t\t// backwards compatibility\n\t\t\t\t\tconst federatedInfo = await Cache.getItem('federatedInfo');\n\t\t\t\t\tif (federatedInfo) {\n\t\t\t\t\t\ttoken = federatedInfo.token;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst currentUser = await Auth.currentAuthenticatedUser();\n\t\t\t\t\t\tif (currentUser) {\n\t\t\t\t\t\t\ttoken = currentUser.token;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!token) {\n\t\t\t\t\t\tthrow new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n\t\t\t\t\t}\n\t\t\t\t\theaders = {\n\t\t\t\t\t\tAuthorization: token,\n\t\t\t\t\t};\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new Error(GraphQLAuthError.NO_CURRENT_USER);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'AMAZON_COGNITO_USER_POOLS':\n\t\t\t\ttry {\n\t\t\t\t\tconst session = await this.Auth.currentSession();\n\t\t\t\t\theaders = {\n\t\t\t\t\t\tAuthorization: session.getAccessToken().getJwtToken(),\n\t\t\t\t\t};\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthrow new Error(GraphQLAuthError.NO_CURRENT_USER);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'AWS_LAMBDA':\n\t\t\t\tif (!additionalHeaders.Authorization) {\n\t\t\t\t\tthrow new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n\t\t\t\t}\n\t\t\t\theaders = {\n\t\t\t\t\tAuthorization: additionalHeaders.Authorization,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\theaders = {\n\t\t\t\t\tAuthorization: null,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn headers;\n\t}\n\n\t/**\n\t * to get the operation type\n\t * @param operation\n\t */\n\tgetGraphqlOperationType(operation: GraphQLOperation): OperationTypeNode {\n\t\tconst doc = parse(operation);\n\t\tconst definitions =\n\t\t\tdoc.definitions as ReadonlyArray<OperationDefinitionNode>;\n\t\tconst [{ operation: operationType }] = definitions;\n\n\t\treturn operationType;\n\t}\n\n\t/**\n\t * Executes a GraphQL operation\n\t *\n\t * @param options - GraphQL Options\n\t * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n\t * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n\t */\n\tgraphql<T = any>(\n\t\t{\n\t\t\tquery: paramQuery,\n\t\t\tvariables = {},\n\t\t\tauthMode,\n\t\t\tauthToken,\n\t\t\tuserAgentSuffix,\n\t\t}: GraphQLOptions,\n\t\tadditionalHeaders?: { [key: string]: string }\n\t): Observable<GraphQLResult<T>> | Promise<GraphQLResult<T>> {\n\t\tconst query =\n\t\t\ttypeof paramQuery === 'string'\n\t\t\t\t? parse(paramQuery)\n\t\t\t\t: parse(print(paramQuery));\n\n\t\tconst [operationDef = {}] = query.definitions.filter(\n\t\t\tdef => def.kind === 'OperationDefinition'\n\t\t);\n\t\tconst { operation: operationType } =\n\t\t\toperationDef as OperationDefinitionNode;\n\n\t\tconst headers = additionalHeaders || {};\n\n\t\t// if an authorization header is set, have the explicit authToken take precedence\n\t\tif (authToken) {\n\t\t\theaders.Authorization = authToken;\n\t\t}\n\n\t\tswitch (operationType) {\n\t\t\tcase 'query':\n\t\t\tcase 'mutation':\n\t\t\t\tthis.createInstanceIfNotCreated();\n\t\t\t\tconst cancellableToken = this._api.getCancellableToken();\n\t\t\t\tconst initParams = {\n\t\t\t\t\tcancellableToken,\n\t\t\t\t\twithCredentials: this._options.withCredentials,\n\t\t\t\t};\n\t\t\t\tconst responsePromise = this._graphql<T>(\n\t\t\t\t\t{ query, variables, authMode, userAgentSuffix },\n\t\t\t\t\theaders,\n\t\t\t\t\tinitParams\n\t\t\t\t);\n\t\t\t\tthis._api.updateRequestToBeCancellable(\n\t\t\t\t\tresponsePromise,\n\t\t\t\t\tcancellableToken\n\t\t\t\t);\n\t\t\t\treturn responsePromise;\n\t\t\tcase 'subscription':\n\t\t\t\treturn this._graphqlSubscribe({ query, variables, authMode }, headers);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`invalid operation type: ${operationType}`);\n\t\t}\n\t}\n\n\tprivate async _graphql<T = any>(\n\t\t{ query, variables, authMode, userAgentSuffix }: GraphQLOptions,\n\t\tadditionalHeaders = {},\n\t\tinitParams = {}\n\t): Promise<GraphQLResult<T>> {\n\t\tthis.createInstanceIfNotCreated();\n\t\tconst {\n\t\t\taws_appsync_region: region,\n\t\t\taws_appsync_graphqlEndpoint: appSyncGraphqlEndpoint,\n\t\t\tgraphql_headers = () => ({}),\n\t\t\tgraphql_endpoint: customGraphqlEndpoint,\n\t\t\tgraphql_endpoint_iam_region: customEndpointRegion,\n\t\t} = this._options;\n\n\t\tconst headers = {\n\t\t\t...(!customGraphqlEndpoint &&\n\t\t\t\t(await this._headerBasedAuth(authMode, additionalHeaders))),\n\t\t\t...(customGraphqlEndpoint &&\n\t\t\t\t(customEndpointRegion\n\t\t\t\t\t? await this._headerBasedAuth(authMode, additionalHeaders)\n\t\t\t\t\t: { Authorization: null })),\n\t\t\t...(await graphql_headers({ query, variables })),\n\t\t\t...additionalHeaders,\n\t\t\t...(!customGraphqlEndpoint && {\n\t\t\t\t[USER_AGENT_HEADER]: getAmplifyUserAgent(userAgentSuffix),\n\t\t\t}),\n\t\t};\n\n\t\tconst body = {\n\t\t\tquery: print(query as DocumentNode),\n\t\t\tvariables,\n\t\t};\n\n\t\tconst init = Object.assign(\n\t\t\t{\n\t\t\t\theaders,\n\t\t\t\tbody,\n\t\t\t\tsignerServiceInfo: {\n\t\t\t\t\tservice: !customGraphqlEndpoint ? 'appsync' : 'execute-api',\n\t\t\t\t\tregion: !customGraphqlEndpoint ? region : customEndpointRegion,\n\t\t\t\t},\n\t\t\t},\n\t\t\tinitParams\n\t\t);\n\n\t\tconst endpoint = customGraphqlEndpoint || appSyncGraphqlEndpoint;\n\n\t\tif (!endpoint) {\n\t\t\tconst error = new GraphQLError('No graphql endpoint provided.');\n\n\t\t\tthrow {\n\t\t\t\tdata: {},\n\t\t\t\terrors: [error],\n\t\t\t};\n\t\t}\n\n\t\tlet response;\n\t\ttry {\n\t\t\tresponse = await this._api.post(endpoint, init);\n\t\t} catch (err) {\n\t\t\t// If the exception is because user intentionally\n\t\t\t// cancelled the request, do not modify the exception\n\t\t\t// so that clients can identify the exception correctly.\n\t\t\tif (this._api.isCancel(err)) {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t\tresponse = {\n\t\t\t\tdata: {},\n\t\t\t\terrors: [new GraphQLError(err.message, null, null, null, null, err)],\n\t\t\t};\n\t\t}\n\n\t\tconst { errors } = response;\n\n\t\tif (errors && errors.length) {\n\t\t\tthrow response;\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tasync createInstanceIfNotCreated() {\n\t\tif (!this._api) {\n\t\t\tawait this.createInstance();\n\t\t}\n\t}\n\n\t/**\n\t * Checks to see if an error thrown is from an api request cancellation\n\t * @param {any} error - Any error\n\t * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n\t */\n\tisCancel(error) {\n\t\treturn this._api.isCancel(error);\n\t}\n\n\t/**\n\t * Cancels an inflight request. Only applicable for graphql queries and mutations\n\t * @param {any} request - request to cancel\n\t * @return {boolean} - A boolean indicating if the request was cancelled\n\t */\n\tcancel(request: Promise<any>, message?: string) {\n\t\treturn this._api.cancel(request, message);\n\t}\n\n\t/**\n\t * Check if the request has a corresponding cancel token in the WeakMap.\n\t * @params request - The request promise\n\t * @return if the request has a corresponding cancel token.\n\t */\n\thasCancelToken(request: Promise<any>) {\n\t\treturn this._api.hasCancelToken(request);\n\t}\n\n\tprivate _graphqlSubscribe(\n\t\t{\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\tauthMode: defaultAuthenticationType,\n\t\t\tauthToken,\n\t\t}: GraphQLOptions,\n\t\tadditionalHeaders = {}\n\t): Observable<any> {\n\t\tconst {\n\t\t\taws_appsync_region: region,\n\t\t\taws_appsync_graphqlEndpoint: appSyncGraphqlEndpoint,\n\t\t\taws_appsync_authenticationType,\n\t\t\taws_appsync_apiKey: apiKey,\n\t\t\tgraphql_headers = () => ({}),\n\t\t} = this._options;\n\t\tconst authenticationType =\n\t\t\tdefaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n\n\t\tif (PubSub && typeof PubSub.subscribe === 'function') {\n\t\t\treturn PubSub.subscribe('', {\n\t\t\t\tprovider: INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tauthenticationType,\n\t\t\t\tapiKey,\n\t\t\t\tquery: print(query as DocumentNode),\n\t\t\t\tregion,\n\t\t\t\tvariables,\n\t\t\t\tgraphql_headers,\n\t\t\t\tadditionalHeaders,\n\t\t\t\tauthToken,\n\t\t\t});\n\t\t} else {\n\t\t\tlogger.debug('No pubsub module applied for subscription');\n\t\t\tthrow new Error('No pubsub module applied for subscription');\n\t\t}\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_ensureCredentials() {\n\t\treturn this.Credentials.get()\n\t\t\t.then(credentials => {\n\t\t\t\tif (!credentials) return false;\n\t\t\t\tconst cred = this.Credentials.shear(credentials);\n\t\t\t\tlogger.debug('set credentials for api', cred);\n\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch(err => {\n\t\t\t\tlogger.warn('ensure credentials error', err);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n}\n\nexport const GraphQLAPI = new GraphQLAPIClass(null);\nAmplify.register(GraphQLAPI);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Auth } from '@aws-amplify/auth';\nimport { Cache } from '@aws-amplify/cache';\nimport { AWSAppSyncRealTimeProvider } from '@aws-amplify/pubsub';\nimport { RestAPIClass } from '@aws-amplify/api-rest';\nimport {\n\tGraphQLAPIClass,\n\tGraphQLOptions,\n\tGraphQLResult,\n\tGraphQLOperation,\n\tOperationTypeNode,\n} from '@aws-amplify/api-graphql';\nimport {\n\tAmplify,\n\tConsoleLogger as Logger,\n\tCredentials,\n} from '@aws-amplify/core';\nimport Observable from 'zen-observable-ts';\nimport { GraphQLQuery, GraphQLSubscription } from './types';\n\nconst logger = new Logger('API');\n/**\n * @deprecated\n * Use RestApi or GraphQLAPI to reduce your application bundle size\n * Export Cloud Logic APIs\n */\nexport class APIClass {\n\t/**\n\t * Initialize API with AWS configuration\n\t * @param {Object} options - Configuration object for API\n\t */\n\tprivate _options;\n\tprivate _restApi: RestAPIClass;\n\tprivate _graphqlApi: GraphQLAPIClass;\n\n\tAuth = Auth;\n\tCache = Cache;\n\tCredentials = Credentials;\n\n\t/**\n\t * Initialize API with AWS configuration\n\t * @param {Object} options - Configuration object for API\n\t */\n\tconstructor(options) {\n\t\tthis._options = options;\n\t\tthis._restApi = new RestAPIClass(options);\n\t\tthis._graphqlApi = new GraphQLAPIClass(options);\n\t\tlogger.debug('API Options', this._options);\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'API';\n\t}\n\n\t/**\n\t * Configure API part with aws configurations\n\t * @param {Object} config - Configuration of the API\n\t * @return {Object} - The current configuration\n\t */\n\tconfigure(options) {\n\t\tthis._options = Object.assign({}, this._options, options);\n\n\t\t// Share Amplify instance with client for SSR\n\t\tthis._restApi.Credentials = this.Credentials;\n\n\t\tthis._graphqlApi.Auth = this.Auth;\n\t\tthis._graphqlApi.Cache = this.Cache;\n\t\tthis._graphqlApi.Credentials = this.Credentials;\n\n\t\tconst restAPIConfig = this._restApi.configure(this._options);\n\t\tconst graphQLAPIConfig = this._graphqlApi.configure(this._options);\n\n\t\treturn { ...restAPIConfig, ...graphQLAPIConfig };\n\t}\n\n\t/**\n\t * Make a GET request\n\t * @param apiName - The api name of the request\n\t * @param path - The path of the request\n\t * @param [init] - Request extra params\n\t * @return A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tget(\n\t\tapiName: string,\n\t\tpath: string,\n\t\tinit: { [key: string]: any }\n\t): Promise<any> {\n\t\treturn this._restApi.get(apiName, path, init);\n\t}\n\n\t/**\n\t * Make a POST request\n\t * @param apiName - The api name of the request\n\t * @param path - The path of the request\n\t * @param [init] - Request extra params\n\t * @return A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tpost(\n\t\tapiName: string,\n\t\tpath: string,\n\t\tinit: { [key: string]: any }\n\t): Promise<any> {\n\t\treturn this._restApi.post(apiName, path, init);\n\t}\n\n\t/**\n\t * Make a PUT request\n\t * @param apiName - The api name of the request\n\t * @param path - The path of the request\n\t * @param [init] - Request extra params\n\t * @return A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tput(\n\t\tapiName: string,\n\t\tpath: string,\n\t\tinit: { [key: string]: any }\n\t): Promise<any> {\n\t\treturn this._restApi.put(apiName, path, init);\n\t}\n\n\t/**\n\t * Make a PATCH request\n\t * @param apiName - The api name of the request\n\t * @param path - The path of the request\n\t * @param [init] - Request extra params\n\t * @return A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tpatch(\n\t\tapiName: string,\n\t\tpath: string,\n\t\tinit: { [key: string]: any }\n\t): Promise<any> {\n\t\treturn this._restApi.patch(apiName, path, init);\n\t}\n\n\t/**\n\t * Make a DEL request\n\t * @param apiName - The api name of the request\n\t * @param path - The path of the request\n\t * @param [init] - Request extra params\n\t * @return A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\tdel(\n\t\tapiName: string,\n\t\tpath: string,\n\t\tinit: { [key: string]: any }\n\t): Promise<any> {\n\t\treturn this._restApi.del(apiName, path, init);\n\t}\n\n\t/**\n\t * Make a HEAD request\n\t * @param apiName - The api name of the request\n\t * @param path - The path of the request\n\t * @param [init] - Request extra params\n\t * @return A promise that resolves to an object with response status and JSON data, if successful.\n\t */\n\thead(\n\t\tapiName: string,\n\t\tpath: string,\n\t\tinit: { [key: string]: any }\n\t): Promise<any> {\n\t\treturn this._restApi.head(apiName, path, init);\n\t}\n\n\t/**\n\t * Checks to see if an error thrown is from an api request cancellation\n\t * @param error - Any error\n\t * @return If the error was from an api request cancellation\n\t */\n\tisCancel(error: any): boolean {\n\t\treturn this._restApi.isCancel(error);\n\t}\n\t/**\n\t * Cancels an inflight request for either a GraphQL request or a Rest API request.\n\t * @param request - request to cancel\n\t * @param [message] - custom error message\n\t * @return If the request was cancelled\n\t */\n\tcancel(request: Promise<any>, message?: string): boolean {\n\t\tif (this._restApi.hasCancelToken(request)) {\n\t\t\treturn this._restApi.cancel(request, message);\n\t\t} else if (this._graphqlApi.hasCancelToken(request)) {\n\t\t\treturn this._graphqlApi.cancel(request, message);\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Getting endpoint for API\n\t * @param apiName - The name of the api\n\t * @return The endpoint of the api\n\t */\n\tasync endpoint(apiName: string): Promise<string> {\n\t\treturn this._restApi.endpoint(apiName);\n\t}\n\n\t/**\n\t * to get the operation type\n\t * @param operation\n\t */\n\tgetGraphqlOperationType(operation: GraphQLOperation): OperationTypeNode {\n\t\treturn this._graphqlApi.getGraphqlOperationType(operation);\n\t}\n\n\t/**\n\t * Executes a GraphQL operation\n\t *\n\t * @param options - GraphQL Options\n\t * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n\t * @returns An Observable if queryType is 'subscription', else a promise of the graphql result from the query.\n\t */\n\tgraphql<T>(\n\t\toptions: GraphQLOptions,\n\t\tadditionalHeaders?: { [key: string]: string }\n\t): T extends GraphQLQuery<T>\n\t\t? Promise<GraphQLResult<T>>\n\t\t: T extends GraphQLSubscription<T>\n\t\t? Observable<{\n\t\t\t\tprovider: AWSAppSyncRealTimeProvider;\n\t\t\t\tvalue: GraphQLResult<T>;\n\t\t }>\n\t\t: Promise<GraphQLResult<any>> | Observable<object>;\n\tgraphql<T = any>(\n\t\toptions: GraphQLOptions,\n\t\tadditionalHeaders?: { [key: string]: string }\n\t): Promise<GraphQLResult<any>> | Observable<object> {\n\t\treturn this._graphqlApi.graphql(options, additionalHeaders);\n\t}\n}\n\nexport const API = new APIClass(null);\nAmplify.register(API);\n","import React, { useState, useEffect, useRef } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faUserPlus } from \"@fortawesome/pro-duotone-svg-icons\";\n\n\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n//Form\nimport Form, { GroupItem, Label, Item } from 'devextreme-react/form';\n\n//Validator\nimport { EmailRule, CustomRule, RequiredRule } from 'devextreme-react/validator';\n\nexport default function Register() {\n const [signUpPayload, setSignUpPayload] = useState({\n emailaddress: '',\n username: '',\n password: ''\n });\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n const [ok, setOk] = useState(false);\n\n //Ref para el form\n const [formSignUpRef, setFormSignUpRef] = useState(React.createRef());\n\n var passwordEditorOptions = { width: '40%', disabled: false, mode: 'password' };\n var userNameEditorOptions = { width: '40%', readOnly: false };\n var emailEditorOptions = { width: '40%', disabled: false, mode: 'email' };\n\n\n async function saveButton() {\n if (formSignUpRef.current) {\n var formSignUp = formSignUpRef.current.instance;\n var isValid = formSignUp.validate();\n var okAdmin = false;\n\n if (!isValid.isValid) {\n setVisibleToast(true);\n setMessageToast(isValid.brokenRules[0].message);\n setTypeToast('error');\n return;\n }\n }\n\n var user = await Auth.currentAuthenticatedUser();\n\n var groups = user.signInUserSession.accessToken.payload[\"cognito:groups\"];\n\n for (var groupIndex in groups) {\n var singleGroup = groups[groupIndex];\n\n if (singleGroup === 'Admin') {\n okAdmin = true;\n }\n }\n\n if (okAdmin === false) {\n setVisibleToast(true);\n setMessageToast('Unauthorized');\n setTypeToast('error');\n return;\n }\n\n var email = signUpPayload.emailaddress;\n var username = signUpPayload.username;\n var password = signUpPayload.password;\n\n if (password.length < 10) {\n setVisibleToast(true);\n setMessageToast('La contraseña debe tener mínimo 10 caracteres');\n setTypeToast('error')\n return;\n }\n\n setVisibleLoadPanel(true);\n\n try {\n // Obtenemos el token\n let apiNameToken = 'portalvinoteca';\n let pathToken = '/getValidationToken';\n\n let myInitToken = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n queryStringParameters: {\n }\n }\n\n var validationToken = await API.post(apiNameToken, pathToken, myInitToken);\n\n await Auth.signUp({\n username,\n password,\n attributes: {\n email, // optional but not in this case as MFA/Verification code wil be emailed\n },\n validationData: {\n qs: validationToken[0].Value\n }\n });\n\n setVisibleToast(true);\n setMessageToast('Usuario creado con éxito');\n setTypeToast('success')\n\n } catch (error) {\n setVisibleToast(true);\n setMessageToast(error.message);\n setTypeToast('error')\n }\n\n setVisibleLoadPanel(false);\n }\n\n function onHidingToast() {\n setVisibleToast(false);\n }\n\n useEffect(() => {\n async function initialize() {\n var user = await Auth.currentAuthenticatedUser();\n\n var groups = user.signInUserSession.accessToken.payload[\"cognito:groups\"];\n\n for (var groupIndex in groups) {\n var singleGroup = groups[groupIndex];\n\n if (singleGroup === 'Admin') {\n setOk(true);\n }\n }\n }\n\n initialize();\n });\n\n return (\n <div>\n {ok === true ? (\n <div>\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faUserPlus} /> Agregar Usuario</h1>\n </div>\n <div className=\"bg-white p-4 shadow-xl\">\n\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={{\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }}\n />\n <Form\n id=\"formSignUp\"\n labelMode={'outside'}\n formData={signUpPayload}\n disabled={false}\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={1}\n ref={formSignUpRef}\n >\n <GroupItem caption=\"Datos usuario\">\n <Item dataField=\"emailaddress\" editorOptions={emailEditorOptions}>\n <Label text={\"Correo Electrónico\"} />\n <EmailRule message=\"eMail incorrecto\" />\n <RequiredRule message=\"eMail es requerido\" />\n </Item>\n <Item dataField=\"username\" editorOptions={userNameEditorOptions}>\n <Label text={\"Usuario\"} />\n <RequiredRule message=\"Usuario es requerido\" />\n </Item>\n <Item dataField=\"password\" editorOptions={passwordEditorOptions}>\n <Label text={\"Contraseña\"} />\n <RequiredRule message=\"Contraseña es requerida\" />\n </Item>\n </GroupItem>\n </Form>\n\n <button onClick={saveButton} type=\"submit\" class=\"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n </div>\n </div>\n ) : (<div></div>)\n }\n </div>\n )\n}","import React, { useState, useEffect, useRef } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faKey } from \"@fortawesome/pro-duotone-svg-icons\";\n\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n//Form\nimport Form, { GroupItem, Label, Item } from 'devextreme-react/form';\n\n//Validator\nimport { EmailRule, CustomRule, RequiredRule } from 'devextreme-react/validator';\n\nexport default function PasswordChange(props) {\n useEffect(() => {\n async function initialize() {\n var checkLoggedIn = await Auth.currentAuthenticatedUser();\n\n var newState = {\n userName: checkLoggedIn.username,\n oldPassword: '',\n newPassword: '',\n confirmPassword: ''\n };\n\n setPasswordPayload(newState);\n }\n\n initialize();\n // eslint-disable-next-line\n }, []);\n\n const history = useHistory();\n\n const [passwordPayload, setPasswordPayload] = useState({\n userName: '',\n oldPassword: '',\n newPassword: '',\n confirmPassword: ''\n });\n\n var userNameEditorOptions = { width: '40%', readOnly: true };\n var passwordEditorOptions = { width: '40%', disabled: false, mode: 'password' };\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n\n //Ref para el form\n const [formPasswordRef, setFormPasswordRef] = useState(React.createRef());\n\n async function saveButton() {\n if (formPasswordRef.current) {\n var formSignUp = formPasswordRef.current.instance;\n var isValid = formSignUp.validate();\n\n if (!isValid.isValid) {\n setVisibleToast(true);\n setMessageToast(isValid.brokenRules[0].message);\n setTypeToast('error');\n return;\n }\n }\n\n var userName = passwordPayload.userName;\n var oldPassword = passwordPayload.oldPassword;\n var newPassword = passwordPayload.newPassword;\n var confirmPassword = passwordPayload.confirmPassword;\n\n if (!newPassword)\n newPassword = '';\n if (!confirmPassword)\n confirmPassword = '';\n\n if (!userName) {\n setVisibleToast(true);\n setMessageToast('Usuario incorrecto');\n setTypeToast('error')\n\n return;\n }\n if (!oldPassword) {\n setVisibleToast(true);\n setMessageToast('Contraseña actual incorrecta');\n setTypeToast('error')\n\n return;\n }\n if (!oldPassword) {\n setVisibleToast(true);\n setMessageToast('Contraseña actual incorrecta');\n setTypeToast('error')\n\n return;\n }\n\n if ((newPassword !== confirmPassword) || newPassword === '' || confirmPassword === '') {\n setVisibleToast(true);\n setMessageToast('Las contraseñas no coinciden');\n setTypeToast('error')\n\n return;\n }\n\n setVisibleLoadPanel(true);\n\n var user = await Auth.currentAuthenticatedUser();\n\n try {\n var result = await Auth.changePassword(user, oldPassword, newPassword);\n\n setVisibleToast(true);\n setMessageToast('Se cambió la contraseña con éxito');\n setTypeToast('success')\n\n setVisibleLoadPanel(false);\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (e.toString().indexOf('LimitExceededException') >= 0) {\n setVisibleToast(true);\n setMessageToast('Ha excedido los intentos. Intente más tarde');\n setTypeToast('error')\n }\n else if (e.toString().indexOf('NotAuthorizedException') >= 0) {\n setVisibleToast(true);\n setMessageToast('Usuario o contraseña incorrectos');\n setTypeToast('error')\n }\n else if (e.toString().indexOf('InvalidPasswordException: Password did not conform with policy: Password not long enough') >= 0) {\n setVisibleToast(true);\n setMessageToast('La contraseña nueva no cumple con la política. Longitud Incorrecta');\n setTypeToast('error');\n }\n else {\n setVisibleToast(true);\n setMessageToast(e);\n setTypeToast('error');\n }\n }\n }\n\n function onHidingToast() {\n setVisibleToast(false);\n }\n\n return (\n <div>\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faKey} /> Cambio de contraseña</h1>\n </div>\n <button onClick={saveButton} type=\"submit\" class=\"mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n <div className=\"bg-white p-4 shadow-xl\">\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={{\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }}\n />\n <Form\n id=\"formPassword\"\n labelMode={'outside'}\n formData={passwordPayload}\n disabled={false}\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={1}\n ref={formPasswordRef}\n >\n <Item cssClass=\"boldText\" dataField=\"userName\" editorOptions={userNameEditorOptions}>\n <Label text={\"Usuario\"} />\n <RequiredRule message=\"Usuario es requerido\" />\n </Item>\n <Item dataField=\"oldPassword\" editorOptions={passwordEditorOptions}>\n <Label text={\"Contraseña Actual\"} />\n <RequiredRule message=\"Contraseña Actual es requerida\" />\n </Item>\n <Item dataField=\"newPassword\" editorOptions={passwordEditorOptions}>\n <Label text={\"Nueva Contraseña\"} />\n <RequiredRule message=\"Nueva Contraseña es requerida\" />\n </Item>\n <Item dataField=\"confirmPassword\" editorOptions={passwordEditorOptions}>\n <Label text={\"Confirmar Contraseña\"} />\n <RequiredRule message=\"Confirmar Contraseña es requerida\" />\n </Item>\n </Form>\n </div>\n </div>\n )\n};","/**\r\n * DevExtreme (esm/ui/tag_box.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport devices from \"../core/devices\";\r\nimport {\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport {\r\n noop,\r\n ensureDefined,\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nimport {\r\n SelectionFilterCreator as FilterCreator\r\n} from \"../core/utils/selection_filter\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n createTextElementHiddenCopy\r\n} from \"../core/utils/dom\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n isDefined,\r\n isObject,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n removeDuplicates,\r\n getIntersection\r\n} from \"../core/utils/array\";\r\nimport messageLocalization from \"../localization/message\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../events/utils/index\";\r\nimport {\r\n name as clickEvent\r\n} from \"../events/click\";\r\nimport caret from \"./text_box/utils.caret\";\r\nimport {\r\n normalizeLoadResult\r\n} from \"../data/data_source/utils\";\r\nimport Guid from \"../core/guid\";\r\nimport SelectBox from \"./select_box\";\r\nimport {\r\n BindableTemplate\r\n} from \"../core/templates/bindable_template\";\r\nimport {\r\n allowScroll\r\n} from \"./text_box/utils.scroll\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar TAGBOX_TAG_DATA_KEY = \"dxTagData\";\r\nvar TAGBOX_CLASS = \"dx-tagbox\";\r\nvar TAGBOX_TAG_CONTAINER_CLASS = \"dx-tag-container\";\r\nvar TAGBOX_TAG_CLASS = \"dx-tag\";\r\nvar TAGBOX_MULTI_TAG_CLASS = \"dx-tagbox-multi-tag\";\r\nvar TAGBOX_CUSTOM_TAG_CLASS = \"dx-tag-custom\";\r\nvar TAGBOX_TAG_REMOVE_BUTTON_CLASS = \"dx-tag-remove-button\";\r\nvar TAGBOX_ONLY_SELECT_CLASS = \"dx-tagbox-only-select\";\r\nvar TAGBOX_SINGLE_LINE_CLASS = \"dx-tagbox-single-line\";\r\nvar TAGBOX_POPUP_WRAPPER_CLASS = \"dx-tagbox-popup-wrapper\";\r\nvar TAGBOX_TAG_CONTENT_CLASS = \"dx-tag-content\";\r\nvar TAGBOX_DEFAULT_FIELD_TEMPLATE_CLASS = \"dx-tagbox-default-template\";\r\nvar TAGBOX_CUSTOM_FIELD_TEMPLATE_CLASS = \"dx-tagbox-custom-template\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TAGBOX_MOUSE_WHEEL_DELTA_MULTIPLIER = -.3;\r\nvar TagBox = SelectBox.inherit({\r\n _supportedKeys: function() {\r\n var parent = this.callBase();\r\n var sendToList = options => this._list._keyboardHandler(options);\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n return extend({}, parent, {\r\n backspace: function(e) {\r\n if (!this._isCaretAtTheStart()) {\r\n return\r\n }\r\n this._processKeyboardEvent(e);\r\n this._isTagRemoved = true;\r\n var $tagToDelete = this._$focusedTag || this._tagElements().last();\r\n if (this._$focusedTag) {\r\n this._moveTagFocus(\"prev\", true)\r\n }\r\n if (0 === $tagToDelete.length) {\r\n return\r\n }\r\n this._preserveFocusedTag = true;\r\n this._removeTagElement($tagToDelete);\r\n delete this._preserveFocusedTag\r\n },\r\n upArrow: (e, opts) => e.altKey || !this._list ? parent.upArrow.call(this, e) : sendToList(opts),\r\n downArrow: (e, opts) => e.altKey || !this._list ? parent.downArrow.call(this, e) : sendToList(opts),\r\n del: function(e) {\r\n if (!this._$focusedTag || !this._isCaretAtTheStart()) {\r\n return\r\n }\r\n this._processKeyboardEvent(e);\r\n this._isTagRemoved = true;\r\n var $tagToDelete = this._$focusedTag;\r\n this._moveTagFocus(\"next\", true);\r\n this._preserveFocusedTag = true;\r\n this._removeTagElement($tagToDelete);\r\n delete this._preserveFocusedTag\r\n },\r\n enter: function(e, options) {\r\n var isListItemFocused = this._list && null !== this._list.option(\"focusedElement\");\r\n var isCustomItem = this.option(\"acceptCustomValue\") && !isListItemFocused;\r\n if (isCustomItem) {\r\n e.preventDefault();\r\n \"\" !== this._searchValue() && this._customItemAddedHandler(e);\r\n return\r\n }\r\n if (this.option(\"opened\")) {\r\n this._saveValueChangeEvent(e);\r\n sendToList(options);\r\n e.preventDefault()\r\n }\r\n },\r\n space: function(e, options) {\r\n var isOpened = this.option(\"opened\");\r\n var isInputActive = this._shouldRenderSearchEvent();\r\n if (isOpened && !isInputActive) {\r\n this._saveValueChangeEvent(e);\r\n sendToList(options);\r\n e.preventDefault()\r\n }\r\n },\r\n leftArrow: function(e) {\r\n if (!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && rtlEnabled && !this._$focusedTag) {\r\n return\r\n }\r\n e.preventDefault();\r\n var direction = rtlEnabled ? \"next\" : \"prev\";\r\n this._moveTagFocus(direction);\r\n !this.option(\"multiline\") && this._scrollContainer(direction)\r\n },\r\n rightArrow: function(e) {\r\n if (!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && !rtlEnabled && !this._$focusedTag) {\r\n return\r\n }\r\n e.preventDefault();\r\n var direction = rtlEnabled ? \"prev\" : \"next\";\r\n this._moveTagFocus(direction);\r\n !this.option(\"multiline\") && this._scrollContainer(direction)\r\n }\r\n })\r\n },\r\n _processKeyboardEvent: function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e)\r\n },\r\n _isEmpty: function() {\r\n return 0 === this._getValue().length\r\n },\r\n _updateTagsContainer: function($element) {\r\n this._$tagsContainer = $element.addClass(TAGBOX_TAG_CONTAINER_CLASS)\r\n },\r\n _allowSelectItemByTab: function() {\r\n return false\r\n },\r\n _isCaretAtTheStart: function() {\r\n var position = caret(this._input());\r\n return 0 === position.start && 0 === position.end\r\n },\r\n _updateInputAriaActiveDescendant(id) {\r\n this.setAria(\"activedescendant\", id, this._input())\r\n },\r\n _moveTagFocus: function(direction, clearOnBoundary) {\r\n if (!this._$focusedTag) {\r\n var tagElements = this._tagElements();\r\n this._$focusedTag = \"next\" === direction ? tagElements.first() : tagElements.last();\r\n this._toggleFocusClass(true, this._$focusedTag);\r\n this._updateInputAriaActiveDescendant(this._$focusedTag.attr(\"id\"));\r\n return\r\n }\r\n var $nextFocusedTag = this._$focusedTag[direction](\".\".concat(TAGBOX_TAG_CLASS));\r\n if ($nextFocusedTag.length > 0) {\r\n this._replaceFocusedTag($nextFocusedTag);\r\n this._updateInputAriaActiveDescendant($nextFocusedTag.attr(\"id\"))\r\n } else if (clearOnBoundary || \"next\" === direction && this._isEditable()) {\r\n this._clearTagFocus();\r\n this._updateInputAriaActiveDescendant()\r\n }\r\n },\r\n _replaceFocusedTag: function($nextFocusedTag) {\r\n this._toggleFocusClass(false, this._$focusedTag);\r\n this._$focusedTag = $nextFocusedTag;\r\n this._toggleFocusClass(true, this._$focusedTag)\r\n },\r\n _clearTagFocus: function() {\r\n if (!this._$focusedTag) {\r\n return\r\n }\r\n this._toggleFocusClass(false, this._$focusedTag);\r\n this._updateInputAriaActiveDescendant();\r\n delete this._$focusedTag\r\n },\r\n _focusClassTarget: function($element) {\r\n if ($element && $element.length && $element[0] !== this._focusTarget()[0]) {\r\n return $element\r\n }\r\n return this.callBase()\r\n },\r\n _getLabelContainer: function() {\r\n return this._$tagsContainer\r\n },\r\n _getFieldElement() {\r\n return this._input()\r\n },\r\n _scrollContainer: function(direction) {\r\n if (this.option(\"multiline\") || !hasWindow()) {\r\n return\r\n }\r\n if (!this._$tagsContainer) {\r\n return\r\n }\r\n var scrollPosition = this._getScrollPosition(direction);\r\n this._$tagsContainer.scrollLeft(scrollPosition)\r\n },\r\n _getScrollPosition: function(direction) {\r\n if (\"start\" === direction || \"end\" === direction) {\r\n return this._getBorderPosition(direction)\r\n }\r\n return this._$focusedTag ? this._getFocusedTagPosition(direction) : this._getBorderPosition(\"end\")\r\n },\r\n _getBorderPosition: function(direction) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isScrollLeft = \"end\" === direction ^ rtlEnabled;\r\n var scrollSign = rtlEnabled ? -1 : 1;\r\n return isScrollLeft ^ !rtlEnabled ? 0 : scrollSign * (this._$tagsContainer.get(0).scrollWidth - getOuterWidth(this._$tagsContainer))\r\n },\r\n _getFocusedTagPosition: function(direction) {\r\n var rtlEnabled = this.option(\"rtlEnabled\");\r\n var isScrollLeft = \"next\" === direction ^ rtlEnabled;\r\n var {\r\n left: scrollOffset\r\n } = this._$focusedTag.position();\r\n var scrollLeft = this._$tagsContainer.scrollLeft();\r\n if (isScrollLeft) {\r\n scrollOffset += getOuterWidth(this._$focusedTag, true) - getOuterWidth(this._$tagsContainer)\r\n }\r\n if (isScrollLeft ^ scrollOffset < 0) {\r\n scrollLeft += scrollOffset\r\n }\r\n return scrollLeft\r\n },\r\n _setNextValue: noop,\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n value: [],\r\n showDropDownButton: false,\r\n maxFilterQueryLength: 1500,\r\n tagTemplate: \"tag\",\r\n selectAllText: messageLocalization.format(\"dxList-selectAll\"),\r\n hideSelectedItems: false,\r\n selectedItems: [],\r\n selectAllMode: \"page\",\r\n onSelectAllValueChanged: null,\r\n maxDisplayedTags: void 0,\r\n showMultiTagOnly: true,\r\n onMultiTagPreparing: null,\r\n multiline: true,\r\n useSubmitBehavior: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._selectedItems = [];\r\n this._initSelectAllValueChangedAction()\r\n },\r\n _initActions: function() {\r\n this.callBase();\r\n this._initMultiTagPreparingAction()\r\n },\r\n _initMultiTagPreparingAction: function() {\r\n this._multiTagPreparingAction = this._createActionByOption(\"onMultiTagPreparing\", {\r\n beforeExecute: function(e) {\r\n this._multiTagPreparingHandler(e.args[0])\r\n }.bind(this),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _multiTagPreparingHandler: function(args) {\r\n var {\r\n length: selectedCount\r\n } = this._getValue();\r\n if (!this.option(\"showMultiTagOnly\")) {\r\n args.text = messageLocalization.getFormatter(\"dxTagBox-moreSelected\")(selectedCount - this.option(\"maxDisplayedTags\") + 1)\r\n } else {\r\n args.text = messageLocalization.getFormatter(\"dxTagBox-selected\")(selectedCount)\r\n }\r\n },\r\n _initDynamicTemplates: function() {\r\n this.callBase();\r\n this._templateManager.addDefaultTemplates({\r\n tag: new BindableTemplate(($container, data) => {\r\n var _data$text;\r\n var $tagContent = $(\"<div>\").addClass(TAGBOX_TAG_CONTENT_CLASS);\r\n $(\"<span>\").text(null !== (_data$text = data.text) && void 0 !== _data$text ? _data$text : data).appendTo($tagContent);\r\n $(\"<div>\").addClass(TAGBOX_TAG_REMOVE_BUTTON_CLASS).appendTo($tagContent);\r\n $container.append($tagContent)\r\n }, [\"text\"], this.option(\"integrationOptions.watchMethod\"), {\r\n text: this._displayGetter\r\n })\r\n })\r\n },\r\n _toggleSubmitElement: function(enabled) {\r\n if (enabled) {\r\n this._renderSubmitElement();\r\n this._setSubmitValue()\r\n } else {\r\n this._$submitElement && this._$submitElement.remove();\r\n delete this._$submitElement\r\n }\r\n },\r\n _renderSubmitElement: function() {\r\n if (!this.option(\"useSubmitBehavior\")) {\r\n return\r\n }\r\n this._$submitElement = $(\"<select>\").attr({\r\n multiple: \"multiple\",\r\n \"aria-label\": \"Selected items\"\r\n }).css(\"display\", \"none\").appendTo(this.$element())\r\n },\r\n _setSubmitValue: function() {\r\n if (!this.option(\"useSubmitBehavior\")) {\r\n return\r\n }\r\n var value = this._getValue();\r\n var $options = [];\r\n for (var i = 0, n = value.length; i < n; i++) {\r\n var useDisplayText = this._shouldUseDisplayValue(value[i]);\r\n $options.push($(\"<option>\").val(useDisplayText ? this._displayGetter(value[i]) : value[i]).attr(\"selected\", \"selected\"))\r\n }\r\n this._getSubmitElement().empty().append($options)\r\n },\r\n _initMarkup: function() {\r\n this._tagElementsCache = $();\r\n var isSingleLineMode = !this.option(\"multiline\");\r\n this.$element().addClass(TAGBOX_CLASS).toggleClass(TAGBOX_ONLY_SELECT_CLASS, !(this.option(\"searchEnabled\") || this.option(\"acceptCustomValue\"))).toggleClass(TAGBOX_SINGLE_LINE_CLASS, isSingleLineMode);\r\n this.setAria({\r\n role: \"group\",\r\n roledescription: \"tagbox\"\r\n }, this.$element());\r\n this._initTagTemplate();\r\n this.callBase()\r\n },\r\n _getNewLabelId(actualId, newId, shouldRemove) {\r\n if (!actualId) {\r\n return newId\r\n }\r\n if (shouldRemove) {\r\n if (actualId === newId) {\r\n return\r\n }\r\n return actualId.split(\" \").filter(id => id !== newId).join(\" \")\r\n }\r\n return \"\".concat(actualId, \" \").concat(newId)\r\n },\r\n _updateElementAria(id, shouldRemove) {\r\n var shouldClearLabel = !id;\r\n if (shouldClearLabel) {\r\n this.setAria(\"labelledby\", void 0, this.$element());\r\n return\r\n }\r\n var labelId = this.$element().attr(\"aria-labelledby\");\r\n var newLabelId = this._getNewLabelId(labelId, id, shouldRemove);\r\n this.setAria(\"labelledby\", newLabelId, this.$element())\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderTagRemoveAction();\r\n this._renderSingleLineScroll();\r\n this._scrollContainer(\"start\")\r\n },\r\n _initTagTemplate: function() {\r\n this._tagTemplate = this._getTemplateByOption(\"tagTemplate\")\r\n },\r\n _renderField: function() {\r\n var isDefaultFieldTemplate = !isDefined(this.option(\"fieldTemplate\"));\r\n this.$element().toggleClass(TAGBOX_DEFAULT_FIELD_TEMPLATE_CLASS, isDefaultFieldTemplate).toggleClass(TAGBOX_CUSTOM_FIELD_TEMPLATE_CLASS, !isDefaultFieldTemplate);\r\n this.callBase()\r\n },\r\n _renderTagRemoveAction: function() {\r\n var tagRemoveAction = this._createAction(this._removeTagHandler.bind(this));\r\n var eventName = addNamespace(clickEvent, \"dxTagBoxTagRemove\");\r\n eventsEngine.off(this._$tagsContainer, eventName);\r\n eventsEngine.on(this._$tagsContainer, eventName, \".\".concat(TAGBOX_TAG_REMOVE_BUTTON_CLASS), event => {\r\n tagRemoveAction({\r\n event: event\r\n })\r\n })\r\n },\r\n _renderSingleLineScroll: function() {\r\n var mouseWheelEvent = addNamespace(\"dxmousewheel\", this.NAME);\r\n var $element = this.$element();\r\n var isMultiline = this.option(\"multiline\");\r\n eventsEngine.off($element, mouseWheelEvent);\r\n if (\"desktop\" !== devices.real().deviceType) {\r\n this._$tagsContainer && this._$tagsContainer.css(\"overflowX\", isMultiline ? \"\" : \"auto\");\r\n return\r\n }\r\n if (isMultiline) {\r\n return\r\n }\r\n eventsEngine.on($element, mouseWheelEvent, this._tagContainerMouseWheelHandler.bind(this))\r\n },\r\n _tagContainerMouseWheelHandler: function(e) {\r\n var scrollLeft = this._$tagsContainer.scrollLeft();\r\n var delta = e.delta * TAGBOX_MOUSE_WHEEL_DELTA_MULTIPLIER;\r\n if (!isCommandKeyPressed(e) && allowScroll(this._$tagsContainer, delta, true)) {\r\n this._$tagsContainer.scrollLeft(scrollLeft + delta);\r\n return false\r\n }\r\n },\r\n _renderEvents: function() {\r\n this.callBase();\r\n var input = this._input();\r\n var namespace = addNamespace(\"keydown\", this.NAME);\r\n eventsEngine.on(input, namespace, e => {\r\n var keyName = normalizeKeyName(e);\r\n if (!this._isControlKey(keyName) && this._isEditable()) {\r\n this._clearTagFocus()\r\n }\r\n })\r\n },\r\n _popupWrapperClass: function() {\r\n return this.callBase() + \" \" + TAGBOX_POPUP_WRAPPER_CLASS\r\n },\r\n _renderInput: function() {\r\n this.callBase();\r\n this._renderPreventBlurOnInputClick()\r\n },\r\n _renderPreventBlurOnInputClick: function() {\r\n var eventName = addNamespace(\"mousedown\", \"dxTagBox\");\r\n eventsEngine.off(this._inputWrapper(), eventName);\r\n eventsEngine.on(this._inputWrapper(), eventName, e => {\r\n if (e.target !== this._input()[0] && this._isFocused()) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _renderInputValueImpl: function() {\r\n return this._renderMultiSelect()\r\n },\r\n _loadInputValue: function() {\r\n return when()\r\n },\r\n _clearTextValue: function() {\r\n this._input().val(\"\");\r\n this._toggleEmptinessEventHandler();\r\n this.option(\"text\", \"\")\r\n },\r\n _focusInHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this._scrollContainer(\"end\")\r\n }\r\n this.callBase(e)\r\n },\r\n _renderInputValue: function() {\r\n this.option(\"displayValue\", this._searchValue());\r\n return this.callBase()\r\n },\r\n _restoreInputText: function(saveEditingValue) {\r\n if (!saveEditingValue) {\r\n this._clearTextValue()\r\n }\r\n },\r\n _focusOutHandler: function(e) {\r\n if (!this._preventNestedFocusEvent(e)) {\r\n this._clearTagFocus();\r\n this._scrollContainer(\"start\")\r\n }\r\n this.callBase(e)\r\n },\r\n _getFirstPopupElement: function() {\r\n return this.option(\"showSelectionControls\") ? this._list._focusTarget() : this.callBase()\r\n },\r\n _initSelectAllValueChangedAction: function() {\r\n this._selectAllValueChangeAction = this._createActionByOption(\"onSelectAllValueChanged\")\r\n },\r\n _renderList: function() {\r\n this.callBase();\r\n this._setListDataSourceFilter();\r\n if (this.option(\"showSelectionControls\")) {\r\n this._list.registerKeyHandler(\"tab\", e => this._popupElementTabHandler(e));\r\n this._list.registerKeyHandler(\"escape\", e => this._popupElementEscHandler(e))\r\n }\r\n },\r\n _canListHaveFocus: function() {\r\n return \"useButtons\" === this.option(\"applyValueMode\")\r\n },\r\n _listConfig: function() {\r\n var selectionMode = this.option(\"showSelectionControls\") ? \"all\" : \"multiple\";\r\n return extend(this.callBase(), {\r\n selectionMode: selectionMode,\r\n selectAllText: this.option(\"selectAllText\"),\r\n onSelectAllValueChanged: _ref => {\r\n var {\r\n value: value\r\n } = _ref;\r\n this._selectAllValueChangeAction({\r\n value: value\r\n })\r\n },\r\n selectAllMode: this.option(\"selectAllMode\"),\r\n selectedItems: this._selectedItems,\r\n onFocusedItemChanged: null\r\n })\r\n },\r\n _renderMultiSelect: function() {\r\n var d = new Deferred;\r\n this._updateTagsContainer(this._$textEditorInputContainer);\r\n this._renderInputSize();\r\n this._renderTags().done(() => {\r\n this._popup && this._popup.refreshPosition();\r\n d.resolve()\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n _listItemClickHandler: function(e) {\r\n !this.option(\"showSelectionControls\") && this._clearTextValue();\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n return\r\n }\r\n this.callBase(e);\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _shouldClearFilter: function() {\r\n var shouldClearFilter = this.callBase();\r\n var showSelectionControls = this.option(\"showSelectionControls\");\r\n return !showSelectionControls && shouldClearFilter\r\n },\r\n _renderInputSize: function() {\r\n var $input = this._input();\r\n var value = $input.val();\r\n var isEmptyInput = isString(value) && value;\r\n var width = \"\";\r\n var size = \"\";\r\n var canTypeText = this.option(\"searchEnabled\") || this.option(\"acceptCustomValue\");\r\n if (isEmptyInput && canTypeText) {\r\n var $calculationElement = createTextElementHiddenCopy($input, value, {\r\n includePaddings: true\r\n });\r\n $calculationElement.insertAfter($input);\r\n width = getOuterWidth($calculationElement) + 5;\r\n $calculationElement.remove()\r\n } else if (!value) {\r\n size = 1\r\n }\r\n $input.css(\"width\", width);\r\n $input.attr(\"size\", size)\r\n },\r\n _renderInputSubstitution: function() {\r\n this.callBase();\r\n this._updateWidgetHeight()\r\n },\r\n _getValue: function() {\r\n return this.option(\"value\") || []\r\n },\r\n _multiTagRequired: function() {\r\n var values = this._getValue();\r\n var maxDisplayedTags = this.option(\"maxDisplayedTags\");\r\n return isDefined(maxDisplayedTags) && values.length > maxDisplayedTags\r\n },\r\n _renderMultiTag: function($input) {\r\n var $tag = $(\"<div>\").addClass(TAGBOX_TAG_CLASS).addClass(TAGBOX_MULTI_TAG_CLASS);\r\n var args = {\r\n multiTagElement: getPublicElement($tag),\r\n selectedItems: this.option(\"selectedItems\")\r\n };\r\n this._multiTagPreparingAction(args);\r\n if (args.cancel) {\r\n return false\r\n }\r\n $tag.data(TAGBOX_TAG_DATA_KEY, args.text);\r\n $tag.insertBefore($input);\r\n this._tagTemplate.render({\r\n model: args.text,\r\n container: getPublicElement($tag)\r\n });\r\n return $tag\r\n },\r\n _getFilter: function(creator) {\r\n var dataSourceFilter = this._dataController.filter();\r\n var filterExpr = creator.getCombinedFilter(this.option(\"valueExpr\"), dataSourceFilter);\r\n var filterQueryLength = encodeURI(JSON.stringify(filterExpr)).length;\r\n var maxFilterQueryLength = this.option(\"maxFilterQueryLength\");\r\n if (filterQueryLength <= maxFilterQueryLength) {\r\n return filterExpr\r\n }\r\n errors.log(\"W1019\", maxFilterQueryLength)\r\n },\r\n _getFilteredItems: function(values) {\r\n var _this$_loadFilteredIt, _this$_list;\r\n null === (_this$_loadFilteredIt = this._loadFilteredItemsPromise) || void 0 === _this$_loadFilteredIt ? void 0 : _this$_loadFilteredIt.reject();\r\n var creator = new FilterCreator(values);\r\n var listSelectedItems = null === (_this$_list = this._list) || void 0 === _this$_list ? void 0 : _this$_list.option(\"selectedItems\");\r\n var isListItemsLoaded = !!listSelectedItems && this._list._dataController.isLoaded();\r\n var selectedItems = listSelectedItems || this.option(\"selectedItems\");\r\n var clientFilterFunction = creator.getLocalFilter(this._valueGetter);\r\n var filteredItems = selectedItems.filter(clientFilterFunction);\r\n var selectedItemsAlreadyLoaded = filteredItems.length === values.length;\r\n var d = new Deferred;\r\n var dataController = this._dataController;\r\n if ((!this._isDataSourceChanged || isListItemsLoaded) && selectedItemsAlreadyLoaded) {\r\n return d.resolve(filteredItems).promise()\r\n } else {\r\n var {\r\n customQueryParams: customQueryParams,\r\n expand: expand,\r\n select: select\r\n } = dataController.loadOptions();\r\n var filter = this._getFilter(creator);\r\n dataController.loadFromStore({\r\n filter: filter,\r\n customQueryParams: customQueryParams,\r\n expand: expand,\r\n select: select\r\n }).done((data, extra) => {\r\n this._isDataSourceChanged = false;\r\n if (this._disposed) {\r\n d.reject();\r\n return\r\n }\r\n var {\r\n data: items\r\n } = normalizeLoadResult(data, extra);\r\n var mappedItems = dataController.applyMapFunction(items);\r\n d.resolve(mappedItems.filter(clientFilterFunction))\r\n }).fail(d.reject);\r\n this._loadFilteredItemsPromise = d;\r\n return d.promise()\r\n }\r\n },\r\n _createTagsData: function(values, filteredItems) {\r\n var items = [];\r\n var cache = {};\r\n var isValueExprSpecified = \"this\" === this._valueGetterExpr();\r\n var filteredValues = {};\r\n filteredItems.forEach(filteredItem => {\r\n var filteredItemValue = isValueExprSpecified ? JSON.stringify(filteredItem) : this._valueGetter(filteredItem);\r\n filteredValues[filteredItemValue] = filteredItem\r\n });\r\n var loadItemPromises = [];\r\n values.forEach((value, index) => {\r\n var currentItem = filteredValues[isValueExprSpecified ? JSON.stringify(value) : value];\r\n if (isValueExprSpecified && !isDefined(currentItem)) {\r\n loadItemPromises.push(this._loadItem(value, cache).always(item => {\r\n var newItem = this._createTagData(items, item, value, index);\r\n items.splice(index, 0, newItem)\r\n }))\r\n } else {\r\n var newItem = this._createTagData(items, currentItem, value, index);\r\n items.splice(index, 0, newItem)\r\n }\r\n });\r\n var d = new Deferred;\r\n when.apply(this, loadItemPromises).always((function() {\r\n d.resolve(items)\r\n }));\r\n return d.promise()\r\n },\r\n _createTagData: function(items, item, value, valueIndex) {\r\n if (isDefined(item)) {\r\n this._selectedItems.push(item);\r\n return item\r\n } else {\r\n var selectedItem = this.option(\"selectedItem\");\r\n var customItem = this._valueGetter(selectedItem) === value ? selectedItem : value;\r\n return customItem\r\n }\r\n },\r\n _isGroupedData: function() {\r\n return this.option(\"grouped\") && !this._dataController.group()\r\n },\r\n _getItemsByValues: function(values) {\r\n var resultItems = [];\r\n values.forEach(function(value) {\r\n var item = this._getItemFromPlain(value);\r\n if (isDefined(item)) {\r\n resultItems.push(item)\r\n }\r\n }.bind(this));\r\n return resultItems\r\n },\r\n _getFilteredGroupedItems: function(values) {\r\n var selectedItems = new Deferred;\r\n if (this._filteredGroupedItemsLoadPromise) {\r\n this._dataController.cancel(this._filteredGroupedItemsLoadPromise.operationId)\r\n }\r\n if (!this._dataController.items().length) {\r\n this._filteredGroupedItemsLoadPromise = this._dataController.load().done(() => {\r\n selectedItems.resolve(this._getItemsByValues(values))\r\n }).fail(() => {\r\n selectedItems.resolve([])\r\n }).always(() => {\r\n this._filteredGroupedItemsLoadPromise = void 0\r\n })\r\n } else {\r\n selectedItems.resolve(this._getItemsByValues(values))\r\n }\r\n return selectedItems.promise()\r\n },\r\n _loadTagsData: function() {\r\n var values = this._getValue();\r\n var tagData = new Deferred;\r\n this._selectedItems = [];\r\n var filteredItemsPromise = this._isGroupedData() ? this._getFilteredGroupedItems(values) : this._getFilteredItems(values);\r\n filteredItemsPromise.done(filteredItems => {\r\n var items = this._createTagsData(values, filteredItems);\r\n items.always((function(data) {\r\n tagData.resolve(data)\r\n }))\r\n }).fail(tagData.reject.bind(this));\r\n return tagData.promise()\r\n },\r\n _renderTags: function() {\r\n var d = new Deferred;\r\n var isPlainDataUsed = false;\r\n if (this._shouldGetItemsFromPlain(this._valuesToUpdate)) {\r\n this._selectedItems = this._getItemsFromPlain(this._valuesToUpdate);\r\n if (this._selectedItems.length === this._valuesToUpdate.length) {\r\n this._renderTagsImpl(this._selectedItems);\r\n isPlainDataUsed = true;\r\n d.resolve()\r\n }\r\n }\r\n if (!isPlainDataUsed) {\r\n this._loadTagsData().done(items => {\r\n if (this._disposed) {\r\n d.reject();\r\n return\r\n }\r\n this._renderTagsImpl(items);\r\n d.resolve()\r\n }).fail(d.reject)\r\n }\r\n return d.promise()\r\n },\r\n _renderTagsImpl: function(items) {\r\n this._renderTagsCore(items);\r\n this._renderEmptyState();\r\n if (!this._preserveFocusedTag) {\r\n this._clearTagFocus()\r\n }\r\n },\r\n _shouldGetItemsFromPlain: function(values) {\r\n return values && this._dataController.isLoaded() && values.length <= this._getPlainItems().length\r\n },\r\n _getItemsFromPlain: function(values) {\r\n var selectedItems = this._getSelectedItemsFromList(values);\r\n var needFilterPlainItems = 0 === selectedItems.length && values.length > 0 || selectedItems.length < values.length;\r\n if (needFilterPlainItems) {\r\n var plainItems = this._getPlainItems();\r\n selectedItems = this._filterSelectedItems(plainItems, values)\r\n }\r\n return selectedItems\r\n },\r\n _getSelectedItemsFromList: function(values) {\r\n var _this$_list2;\r\n var listSelectedItems = null === (_this$_list2 = this._list) || void 0 === _this$_list2 ? void 0 : _this$_list2.option(\"selectedItems\");\r\n var selectedItems = [];\r\n if (values.length === (null === listSelectedItems || void 0 === listSelectedItems ? void 0 : listSelectedItems.length)) {\r\n selectedItems = this._filterSelectedItems(listSelectedItems, values)\r\n }\r\n return selectedItems\r\n },\r\n _filterSelectedItems: function(plainItems, values) {\r\n var selectedItems = plainItems.filter(dataItem => {\r\n var currentValue;\r\n for (var i = 0; i < values.length; i++) {\r\n currentValue = values[i];\r\n if (isObject(currentValue)) {\r\n if (this._isValueEquals(dataItem, currentValue)) {\r\n return true\r\n }\r\n } else if (this._isValueEquals(this._valueGetter(dataItem), currentValue)) {\r\n return true\r\n }\r\n }\r\n return false\r\n }, this);\r\n return selectedItems\r\n },\r\n _integrateInput: function() {\r\n this._isInputReady.resolve();\r\n this.callBase();\r\n var tagsContainer = this.$element().find(\".\".concat(TEXTEDITOR_INPUT_CONTAINER_CLASS));\r\n this._updateTagsContainer(tagsContainer);\r\n this._renderTagRemoveAction()\r\n },\r\n _renderTagsCore: function(items) {\r\n var _this$_isInputReady;\r\n null === (_this$_isInputReady = this._isInputReady) || void 0 === _this$_isInputReady ? void 0 : _this$_isInputReady.reject();\r\n this._isInputReady = new Deferred;\r\n this._renderField();\r\n this.option(\"selectedItems\", this._selectedItems.slice());\r\n this._cleanTags();\r\n if (this._input().length > 0) {\r\n this._isInputReady.resolve()\r\n }\r\n when(this._isInputReady).done(() => {\r\n this._renderTagsElements(items)\r\n })\r\n },\r\n _renderTagsElements(items) {\r\n var $multiTag = this._multiTagRequired() && this._renderMultiTag(this._input());\r\n var showMultiTagOnly = this.option(\"showMultiTagOnly\");\r\n var maxDisplayedTags = this.option(\"maxDisplayedTags\");\r\n items.forEach((item, index) => {\r\n if ($multiTag && showMultiTagOnly || $multiTag && !showMultiTagOnly && index - maxDisplayedTags >= -1) {\r\n return false\r\n }\r\n this._renderTag(item, $multiTag || this._input())\r\n });\r\n if (this._isFocused()) {\r\n this._scrollContainer(\"end\")\r\n }\r\n this._refreshTagElements()\r\n },\r\n _cleanTags: function() {\r\n if (this._multiTagRequired()) {\r\n this._tagElements().remove()\r\n } else {\r\n var $tags = this._tagElements();\r\n var values = this._getValue();\r\n each($tags, (function(_, tag) {\r\n var $tag = $(tag);\r\n var tagData = $tag.data(TAGBOX_TAG_DATA_KEY);\r\n if (!(null !== values && void 0 !== values && values.includes(tagData))) {\r\n $tag.remove()\r\n }\r\n }))\r\n }\r\n this._updateElementAria()\r\n },\r\n _renderEmptyState: function() {\r\n var isEmpty = !(this._getValue().length || this._selectedItems.length || this._searchValue());\r\n this._toggleEmptiness(isEmpty);\r\n this._renderDisplayText()\r\n },\r\n _renderDisplayText: function() {\r\n this._renderInputSize()\r\n },\r\n _refreshTagElements: function() {\r\n this._tagElementsCache = this.$element().find(\".\".concat(TAGBOX_TAG_CLASS))\r\n },\r\n _tagElements: function() {\r\n return this._tagElementsCache\r\n },\r\n _applyTagTemplate: function(item, $tag) {\r\n this._tagTemplate.render({\r\n model: item,\r\n container: getPublicElement($tag)\r\n })\r\n },\r\n _renderTag: function(item, $input) {\r\n var value = this._valueGetter(item);\r\n if (!isDefined(value)) {\r\n return\r\n }\r\n var $tag = this._getTag(value);\r\n var displayValue = this._displayGetter(item);\r\n var itemModel = this._getItemModel(item, displayValue);\r\n if ($tag) {\r\n if (isDefined(displayValue)) {\r\n $tag.empty();\r\n this._applyTagTemplate(itemModel, $tag)\r\n }\r\n $tag.removeClass(TAGBOX_CUSTOM_TAG_CLASS);\r\n this._updateElementAria($tag.attr(\"id\"))\r\n } else {\r\n var tagId = \"dx-\".concat(new Guid);\r\n $tag = this._createTag(value, $input, tagId);\r\n if (isDefined(item)) {\r\n this._applyTagTemplate(itemModel, $tag)\r\n } else {\r\n $tag.addClass(TAGBOX_CUSTOM_TAG_CLASS);\r\n this._applyTagTemplate(value, $tag)\r\n }\r\n this._updateElementAria(tagId)\r\n }\r\n },\r\n _getItemModel: function(item, displayValue) {\r\n if (isObject(item) && isDefined(displayValue)) {\r\n return item\r\n } else {\r\n return ensureDefined(displayValue, \"\")\r\n }\r\n },\r\n _getTag: function(value) {\r\n var $tags = this._tagElements();\r\n var tagsLength = $tags.length;\r\n var result = false;\r\n for (var i = 0; i < tagsLength; i++) {\r\n var $tag = $tags[i];\r\n var tagData = elementData($tag, TAGBOX_TAG_DATA_KEY);\r\n if (value === tagData || equalByValue(value, tagData)) {\r\n result = $($tag);\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _createTag: function(value, $input, tagId) {\r\n return $(\"<div>\").attr(\"id\", tagId).addClass(TAGBOX_TAG_CLASS).data(TAGBOX_TAG_DATA_KEY, value).insertBefore($input)\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n this._toggleEmptiness(!this._getValue().length && !this._searchValue().length)\r\n },\r\n _customItemAddedHandler: function(e) {\r\n this.callBase(e);\r\n this._clearTextValue()\r\n },\r\n _removeTagHandler: function(args) {\r\n var e = args.event;\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n var $tag = $(e.target).closest(\".\".concat(TAGBOX_TAG_CLASS));\r\n this._removeTagElement($tag)\r\n },\r\n _removeTagElement: function($tag) {\r\n if ($tag.hasClass(TAGBOX_MULTI_TAG_CLASS)) {\r\n if (!this.option(\"showMultiTagOnly\")) {\r\n this.option(\"value\", this._getValue().slice(0, this.option(\"maxDisplayedTags\")))\r\n } else {\r\n this.reset()\r\n }\r\n return\r\n }\r\n var itemValue = $tag.data(TAGBOX_TAG_DATA_KEY);\r\n var itemId = $tag.attr(\"id\");\r\n this._removeTagWithUpdate(itemValue);\r\n this._updateElementAria(itemId, true);\r\n this._refreshTagElements()\r\n },\r\n _updateField: noop,\r\n _removeTagWithUpdate: function(itemValue) {\r\n var value = this._getValue().slice();\r\n this._removeTag(value, itemValue);\r\n this.option(\"value\", value);\r\n if (0 === value.length) {\r\n this._clearTagFocus()\r\n }\r\n },\r\n _getCurrentValue: function() {\r\n return this._lastValue()\r\n },\r\n _selectionChangeHandler: function(e) {\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n return\r\n }\r\n var value = this._getValue().slice();\r\n each(e.removedItems || [], (_, removedItem) => {\r\n this._removeTag(value, this._valueGetter(removedItem))\r\n });\r\n each(e.addedItems || [], (_, addedItem) => {\r\n this._addTag(value, this._valueGetter(addedItem))\r\n });\r\n this._updateWidgetHeight();\r\n if (!equalByValue(this._list.option(\"selectedItemKeys\"), this.option(\"value\"))) {\r\n var listSelectionChangeEvent = this._list._getSelectionChangeEvent();\r\n listSelectionChangeEvent && this._saveValueChangeEvent(listSelectionChangeEvent);\r\n this.option(\"value\", value)\r\n }\r\n this._list._saveSelectionChangeEvent(void 0)\r\n },\r\n _removeTag: function(value, item) {\r\n var index = this._valueIndex(item, value);\r\n if (index >= 0) {\r\n value.splice(index, 1)\r\n }\r\n },\r\n _addTag: function(value, item) {\r\n var index = this._valueIndex(item);\r\n if (index < 0) {\r\n value.push(item)\r\n }\r\n },\r\n _fieldRenderData: function() {\r\n return this._selectedItems.slice()\r\n },\r\n _completeSelection: function(value) {\r\n if (!this.option(\"showSelectionControls\")) {\r\n this._setValue(value)\r\n }\r\n },\r\n _setValue: function(value) {\r\n if (null === value) {\r\n return\r\n }\r\n var useButtons = \"useButtons\" === this.option(\"applyValueMode\");\r\n var valueIndex = this._valueIndex(value);\r\n var values = (useButtons ? this._list.option(\"selectedItemKeys\") : this._getValue()).slice();\r\n if (valueIndex >= 0) {\r\n values.splice(valueIndex, 1)\r\n } else {\r\n values.push(value)\r\n }\r\n if (\"useButtons\" === this.option(\"applyValueMode\")) {\r\n this._list.option(\"selectedItemKeys\", values)\r\n } else {\r\n this.option(\"value\", values)\r\n }\r\n },\r\n _isSelectedValue: function(value, cache) {\r\n return this._valueIndex(value, null, cache) > -1\r\n },\r\n _valueIndex: function(value, values, cache) {\r\n var result = -1;\r\n if (cache && \"object\" !== typeof value) {\r\n if (!cache.indexByValues) {\r\n cache.indexByValues = {};\r\n values = values || this._getValue();\r\n values.forEach((function(value, index) {\r\n cache.indexByValues[value] = index\r\n }))\r\n }\r\n if (value in cache.indexByValues) {\r\n return cache.indexByValues[value]\r\n }\r\n }\r\n values = values || this._getValue();\r\n each(values, (index, selectedValue) => {\r\n if (this._isValueEquals(value, selectedValue)) {\r\n result = index;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _lastValue: function() {\r\n var values = this._getValue();\r\n var lastValue = values[values.length - 1];\r\n return null !== lastValue && void 0 !== lastValue ? lastValue : null\r\n },\r\n _shouldRenderSearchEvent: function() {\r\n return this.option(\"searchEnabled\") || this.option(\"acceptCustomValue\")\r\n },\r\n _searchHandler: function(e) {\r\n if (this.option(\"searchEnabled\") && !!e && !this._isTagRemoved) {\r\n this.callBase(arguments);\r\n this._setListDataSourceFilter()\r\n }\r\n this._updateWidgetHeight();\r\n delete this._isTagRemoved\r\n },\r\n _updateWidgetHeight: function() {\r\n var element = this.$element();\r\n var originalHeight = getHeight(element);\r\n this._renderInputSize();\r\n var currentHeight = getHeight(element);\r\n if (this._popup && this.option(\"opened\") && this._isEditable() && currentHeight !== originalHeight) {\r\n this._popup.repaint()\r\n }\r\n },\r\n _refreshSelected: function() {\r\n var _this$_list3;\r\n (null === (_this$_list3 = this._list) || void 0 === _this$_list3 ? void 0 : _this$_list3.getDataSource()) && this._list.option(\"selectedItems\", this._selectedItems)\r\n },\r\n _resetListDataSourceFilter: function() {\r\n var dataController = this._dataController;\r\n delete this._userFilter;\r\n dataController.filter(null);\r\n dataController.reload()\r\n },\r\n _setListDataSourceFilter: function() {\r\n if (!this.option(\"hideSelectedItems\") || !this._list) {\r\n return\r\n }\r\n var dataController = this._dataController;\r\n var valueGetterExpr = this._valueGetterExpr();\r\n if (isString(valueGetterExpr) && \"this\" !== valueGetterExpr) {\r\n var filter = this._dataSourceFilterExpr();\r\n if (void 0 === this._userFilter) {\r\n this._userFilter = dataController.filter() || null\r\n }\r\n this._userFilter && filter.push(this._userFilter);\r\n filter.length ? dataController.filter(filter) : dataController.filter(null)\r\n } else {\r\n dataController.filter(this._dataSourceFilterFunction.bind(this))\r\n }\r\n dataController.load()\r\n },\r\n _dataSourceFilterExpr: function() {\r\n var filter = [];\r\n this._getValue().forEach(value => filter.push([\"!\", [this._valueGetterExpr(), value]]));\r\n return filter\r\n },\r\n _dataSourceFilterFunction: function(itemData) {\r\n var itemValue = this._valueGetter(itemData);\r\n var result = true;\r\n each(this._getValue(), (index, value) => {\r\n if (this._isValueEquals(value, itemValue)) {\r\n result = false;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _dataSourceChangedHandler: function() {\r\n this._isDataSourceChanged = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _applyButtonHandler: function(args) {\r\n this._saveValueChangeEvent(args.event);\r\n this.option(\"value\", this._getSortedListValues());\r\n this._clearTextValue();\r\n this.callBase();\r\n this._cancelSearchIfNeed()\r\n },\r\n _getSortedListValues: function() {\r\n var listValues = this._getListValues();\r\n var currentValue = this.option(\"value\") || [];\r\n var existedItems = listValues.length ? getIntersection(currentValue, listValues) : [];\r\n var newItems = existedItems.length ? removeDuplicates(listValues, currentValue) : listValues;\r\n return existedItems.concat(newItems)\r\n },\r\n _getListValues: function() {\r\n if (!this._list) {\r\n return []\r\n }\r\n return this._getPlainItems(this._list.option(\"selectedItems\")).map(item => this._valueGetter(item))\r\n },\r\n _setListDataSource: function() {\r\n var currentValue = this._getValue();\r\n this.callBase();\r\n if (currentValue !== this.option(\"value\")) {\r\n this.option(\"value\", currentValue)\r\n }\r\n this._refreshSelected()\r\n },\r\n _renderOpenedState: function() {\r\n this.callBase();\r\n if (\"useButtons\" === this.option(\"applyValueMode\") && !this.option(\"opened\")) {\r\n this._refreshSelected()\r\n }\r\n },\r\n reset: function() {\r\n this._restoreInputText();\r\n var defaultValue = this._getDefaultOptions().value;\r\n var currentValue = this.option(\"value\");\r\n if (defaultValue && 0 === defaultValue.length && currentValue && defaultValue.length === currentValue.length) {\r\n return\r\n }\r\n this.callBase()\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n delete this._defaultTagTemplate;\r\n delete this._valuesToUpdate;\r\n delete this._tagTemplate\r\n },\r\n _getSelectedItemsDifference(newItems, previousItems) {\r\n if (!newItems.length) {\r\n return {\r\n addedItems: [],\r\n removedItems: previousItems.slice()\r\n }\r\n }\r\n if (!previousItems.length) {\r\n return {\r\n addedItems: newItems.slice(),\r\n removedItems: []\r\n }\r\n }\r\n var previousItemsValuesMap = previousItems.reduce((map, item) => {\r\n var value = this._valueGetter(item);\r\n map[value] = item;\r\n return map\r\n }, {});\r\n var addedItems = [];\r\n newItems.forEach(item => {\r\n var value = this._valueGetter(item);\r\n if (!previousItemsValuesMap[value]) {\r\n addedItems.push(item)\r\n }\r\n delete previousItemsValuesMap[value]\r\n });\r\n return {\r\n addedItems: addedItems,\r\n removedItems: Object.values(previousItemsValuesMap)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n var {\r\n name: name,\r\n value: value,\r\n previousValue: previousValue\r\n } = args;\r\n switch (name) {\r\n case \"onSelectAllValueChanged\":\r\n this._initSelectAllValueChangedAction();\r\n break;\r\n case \"onMultiTagPreparing\":\r\n this._initMultiTagPreparingAction();\r\n this._renderTags();\r\n break;\r\n case \"hideSelectedItems\":\r\n if (value) {\r\n this._setListDataSourceFilter()\r\n } else {\r\n this._resetListDataSourceFilter()\r\n }\r\n break;\r\n case \"useSubmitBehavior\":\r\n this._toggleSubmitElement(value);\r\n break;\r\n case \"displayExpr\":\r\n this.callBase(args);\r\n this._initTemplates();\r\n this._invalidate();\r\n break;\r\n case \"tagTemplate\":\r\n this._initTagTemplate();\r\n this._invalidate();\r\n break;\r\n case \"selectAllText\":\r\n this._setListOption(\"selectAllText\", this.option(\"selectAllText\"));\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this.callBase(args);\r\n !value && this._refreshEvents();\r\n break;\r\n case \"value\":\r\n this._valuesToUpdate = value;\r\n this.callBase(args);\r\n this._valuesToUpdate = void 0;\r\n this._setListDataSourceFilter();\r\n break;\r\n case \"maxDisplayedTags\":\r\n case \"showMultiTagOnly\":\r\n this._renderTags();\r\n break;\r\n case \"selectAllMode\":\r\n this._setListOption(name, value);\r\n break;\r\n case \"selectedItem\":\r\n break;\r\n case \"selectedItems\":\r\n this._selectionChangedAction(this._getSelectedItemsDifference(value, previousValue));\r\n break;\r\n case \"multiline\":\r\n this.$element().toggleClass(TAGBOX_SINGLE_LINE_CLASS, !value);\r\n this._renderSingleLineScroll();\r\n break;\r\n case \"maxFilterQueryLength\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getActualSearchValue: function() {\r\n return this.callBase() || this._searchValue()\r\n },\r\n _popupHidingHandler: function() {\r\n this.callBase();\r\n this._clearFilter()\r\n }\r\n});\r\nregisterComponent(\"dxTagBox\", TagBox);\r\nexport default TagBox;\r\n","/**\r\n * DevExtreme (esm/data/data_source.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data_source/data_source\";\r\nexport default DataSource;\r\n","/**\r\n * DevExtreme (esm/localization/language_codes.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport localizationCoreUtils from \"./core\";\r\nvar LANGUAGE_CODES = {\r\n ar: 1,\r\n bg: 2,\r\n ca: 3,\r\n \"zh-Hans\": 4,\r\n cs: 5,\r\n da: 6,\r\n de: 7,\r\n el: 8,\r\n en: 9,\r\n es: 10,\r\n fi: 11,\r\n fr: 12,\r\n he: 13,\r\n hu: 14,\r\n is: 15,\r\n it: 16,\r\n ja: 17,\r\n ko: 18,\r\n nl: 19,\r\n no: 20,\r\n pl: 21,\r\n pt: 22,\r\n rm: 23,\r\n ro: 24,\r\n ru: 25,\r\n hr: 26,\r\n sk: 27,\r\n sq: 28,\r\n sv: 29,\r\n th: 30,\r\n tr: 31,\r\n ur: 32,\r\n id: 33,\r\n uk: 34,\r\n be: 35,\r\n sl: 36,\r\n et: 37,\r\n lv: 38,\r\n lt: 39,\r\n tg: 40,\r\n fa: 41,\r\n vi: 42,\r\n hy: 43,\r\n az: 44,\r\n eu: 45,\r\n hsb: 46,\r\n mk: 47,\r\n tn: 50,\r\n xh: 52,\r\n zu: 53,\r\n af: 54,\r\n ka: 55,\r\n fo: 56,\r\n hi: 57,\r\n mt: 58,\r\n se: 59,\r\n ga: 60,\r\n ms: 62,\r\n kk: 63,\r\n ky: 64,\r\n sw: 65,\r\n tk: 66,\r\n uz: 67,\r\n tt: 68,\r\n bn: 69,\r\n pa: 70,\r\n gu: 71,\r\n or: 72,\r\n ta: 73,\r\n te: 74,\r\n kn: 75,\r\n ml: 76,\r\n as: 77,\r\n mr: 78,\r\n sa: 79,\r\n mn: 80,\r\n bo: 81,\r\n cy: 82,\r\n km: 83,\r\n lo: 84,\r\n gl: 86,\r\n kok: 87,\r\n syr: 90,\r\n si: 91,\r\n iu: 93,\r\n am: 94,\r\n tzm: 95,\r\n ne: 97,\r\n fy: 98,\r\n ps: 99,\r\n fil: 100,\r\n dv: 101,\r\n ha: 104,\r\n yo: 106,\r\n quz: 107,\r\n nso: 108,\r\n ba: 109,\r\n lb: 110,\r\n kl: 111,\r\n ig: 112,\r\n ii: 120,\r\n arn: 122,\r\n moh: 124,\r\n br: 126,\r\n ug: 128,\r\n mi: 129,\r\n oc: 130,\r\n co: 131,\r\n gsw: 132,\r\n sah: 133,\r\n qut: 134,\r\n rw: 135,\r\n wo: 136,\r\n prs: 140,\r\n gd: 145,\r\n \"ar-SA\": 1025,\r\n \"bg-BG\": 1026,\r\n \"ca-ES\": 1027,\r\n \"zh-TW\": 1028,\r\n \"cs-CZ\": 1029,\r\n \"da-DK\": 1030,\r\n \"de-DE\": 1031,\r\n \"el-GR\": 1032,\r\n \"en-US\": 1033,\r\n \"fi-FI\": 1035,\r\n \"fr-FR\": 1036,\r\n \"he-IL\": 1037,\r\n \"hu-HU\": 1038,\r\n \"is-IS\": 1039,\r\n \"it-IT\": 1040,\r\n \"ja-JP\": 1041,\r\n \"ko-KR\": 1042,\r\n \"nl-NL\": 1043,\r\n \"nb-NO\": 1044,\r\n \"pl-PL\": 1045,\r\n \"pt-BR\": 1046,\r\n \"rm-CH\": 1047,\r\n \"ro-RO\": 1048,\r\n \"ru-RU\": 1049,\r\n \"hr-HR\": 1050,\r\n \"sk-SK\": 1051,\r\n \"sq-AL\": 1052,\r\n \"sv-SE\": 1053,\r\n \"th-TH\": 1054,\r\n \"tr-TR\": 1055,\r\n \"ur-PK\": 1056,\r\n \"id-ID\": 1057,\r\n \"uk-UA\": 1058,\r\n \"be-BY\": 1059,\r\n \"sl-SI\": 1060,\r\n \"et-EE\": 1061,\r\n \"lv-LV\": 1062,\r\n \"lt-LT\": 1063,\r\n \"tg-Cyrl-TJ\": 1064,\r\n \"fa-IR\": 1065,\r\n \"vi-VN\": 1066,\r\n \"hy-AM\": 1067,\r\n \"az-Latn-AZ\": 1068,\r\n \"eu-ES\": 1069,\r\n \"hsb-DE\": 1070,\r\n \"mk-MK\": 1071,\r\n \"tn-ZA\": 1074,\r\n \"xh-ZA\": 1076,\r\n \"zu-ZA\": 1077,\r\n \"af-ZA\": 1078,\r\n \"ka-GE\": 1079,\r\n \"fo-FO\": 1080,\r\n \"hi-IN\": 1081,\r\n \"mt-MT\": 1082,\r\n \"se-NO\": 1083,\r\n \"ms-MY\": 1086,\r\n \"kk-KZ\": 1087,\r\n \"ky-KG\": 1088,\r\n \"sw-KE\": 1089,\r\n \"tk-TM\": 1090,\r\n \"uz-Latn-UZ\": 1091,\r\n \"tt-RU\": 1092,\r\n \"bn-IN\": 1093,\r\n \"pa-IN\": 1094,\r\n \"gu-IN\": 1095,\r\n \"or-IN\": 1096,\r\n \"ta-IN\": 1097,\r\n \"te-IN\": 1098,\r\n \"kn-IN\": 1099,\r\n \"ml-IN\": 1100,\r\n \"as-IN\": 1101,\r\n \"mr-IN\": 1102,\r\n \"sa-IN\": 1103,\r\n \"mn-MN\": 1104,\r\n \"bo-CN\": 1105,\r\n \"cy-GB\": 1106,\r\n \"km-KH\": 1107,\r\n \"lo-LA\": 1108,\r\n \"gl-ES\": 1110,\r\n \"kok-IN\": 1111,\r\n \"syr-SY\": 1114,\r\n \"si-LK\": 1115,\r\n \"iu-Cans-CA\": 1117,\r\n \"am-ET\": 1118,\r\n \"ne-NP\": 1121,\r\n \"fy-NL\": 1122,\r\n \"ps-AF\": 1123,\r\n \"fil-PH\": 1124,\r\n \"dv-MV\": 1125,\r\n \"ha-Latn-NG\": 1128,\r\n \"yo-NG\": 1130,\r\n \"quz-BO\": 1131,\r\n \"nso-ZA\": 1132,\r\n \"ba-RU\": 1133,\r\n \"lb-LU\": 1134,\r\n \"kl-GL\": 1135,\r\n \"ig-NG\": 1136,\r\n \"ii-CN\": 1144,\r\n \"arn-CL\": 1146,\r\n \"moh-CA\": 1148,\r\n \"br-FR\": 1150,\r\n \"ug-CN\": 1152,\r\n \"mi-NZ\": 1153,\r\n \"oc-FR\": 1154,\r\n \"co-FR\": 1155,\r\n \"gsw-FR\": 1156,\r\n \"sah-RU\": 1157,\r\n \"qut-GT\": 1158,\r\n \"rw-RW\": 1159,\r\n \"wo-SN\": 1160,\r\n \"prs-AF\": 1164,\r\n \"gd-GB\": 1169,\r\n \"ar-IQ\": 2049,\r\n \"zh-CN\": 2052,\r\n \"de-CH\": 2055,\r\n \"en-GB\": 2057,\r\n \"es-MX\": 2058,\r\n \"fr-BE\": 2060,\r\n \"it-CH\": 2064,\r\n \"nl-BE\": 2067,\r\n \"nn-NO\": 2068,\r\n \"pt-PT\": 2070,\r\n \"sr-Latn-CS\": 2074,\r\n \"sv-FI\": 2077,\r\n \"az-Cyrl-AZ\": 2092,\r\n \"dsb-DE\": 2094,\r\n \"se-SE\": 2107,\r\n \"ga-IE\": 2108,\r\n \"ms-BN\": 2110,\r\n \"uz-Cyrl-UZ\": 2115,\r\n \"bn-BD\": 2117,\r\n \"mn-Mong-CN\": 2128,\r\n \"iu-Latn-CA\": 2141,\r\n \"tzm-Latn-DZ\": 2143,\r\n \"quz-EC\": 2155,\r\n \"ar-EG\": 3073,\r\n \"zh-HK\": 3076,\r\n \"de-AT\": 3079,\r\n \"en-AU\": 3081,\r\n \"es-ES\": 3082,\r\n \"fr-CA\": 3084,\r\n \"sr-Cyrl-CS\": 3098,\r\n \"se-FI\": 3131,\r\n \"quz-PE\": 3179,\r\n \"ar-LY\": 4097,\r\n \"zh-SG\": 4100,\r\n \"de-LU\": 4103,\r\n \"en-CA\": 4105,\r\n \"es-GT\": 4106,\r\n \"fr-CH\": 4108,\r\n \"hr-BA\": 4122,\r\n \"smj-NO\": 4155,\r\n \"ar-DZ\": 5121,\r\n \"zh-MO\": 5124,\r\n \"de-LI\": 5127,\r\n \"en-NZ\": 5129,\r\n \"es-CR\": 5130,\r\n \"fr-LU\": 5132,\r\n \"bs-Latn-BA\": 5146,\r\n \"smj-SE\": 5179,\r\n \"ar-MA\": 6145,\r\n \"en-IE\": 6153,\r\n \"es-PA\": 6154,\r\n \"fr-MC\": 6156,\r\n \"sr-Latn-BA\": 6170,\r\n \"sma-NO\": 6203,\r\n \"ar-TN\": 7169,\r\n \"en-ZA\": 7177,\r\n \"es-DO\": 7178,\r\n \"sr-Cyrl-BA\": 7194,\r\n \"sma-SE\": 7227,\r\n \"ar-OM\": 8193,\r\n \"en-JM\": 8201,\r\n \"es-VE\": 8202,\r\n \"bs-Cyrl-BA\": 8218,\r\n \"sms-FI\": 8251,\r\n \"ar-YE\": 9217,\r\n \"en-029\": 9225,\r\n \"es-CO\": 9226,\r\n \"sr-Latn-RS\": 9242,\r\n \"smn-FI\": 9275,\r\n \"ar-SY\": 10241,\r\n \"en-BZ\": 10249,\r\n \"es-PE\": 10250,\r\n \"sr-Cyrl-RS\": 10266,\r\n \"ar-JO\": 11265,\r\n \"en-TT\": 11273,\r\n \"es-AR\": 11274,\r\n \"sr-Latn-ME\": 11290,\r\n \"ar-LB\": 12289,\r\n \"en-ZW\": 12297,\r\n \"es-EC\": 12298,\r\n \"sr-Cyrl-ME\": 12314,\r\n \"ar-KW\": 13313,\r\n \"en-PH\": 13321,\r\n \"es-CL\": 13322,\r\n \"ar-AE\": 14337,\r\n \"es-UY\": 14346,\r\n \"ar-BH\": 15361,\r\n \"es-PY\": 15370,\r\n \"ar-QA\": 16385,\r\n \"en-IN\": 16393,\r\n \"es-BO\": 16394,\r\n \"en-MY\": 17417,\r\n \"es-SV\": 17418,\r\n \"en-SG\": 18441,\r\n \"es-HN\": 18442,\r\n \"es-NI\": 19466,\r\n \"es-PR\": 20490,\r\n \"es-US\": 21514,\r\n \"bs-Cyrl\": 25626,\r\n \"bs-Latn\": 26650,\r\n \"sr-Cyrl\": 27674,\r\n \"sr-Latn\": 28698,\r\n smn: 28731,\r\n \"az-Cyrl\": 29740,\r\n sms: 29755,\r\n zh: 30724,\r\n nn: 30740,\r\n bs: 30746,\r\n \"az-Latn\": 30764,\r\n sma: 30779,\r\n \"uz-Cyrl\": 30787,\r\n \"mn-Cyrl\": 30800,\r\n \"iu-Cans\": 30813,\r\n \"zh-Hant\": 31748,\r\n nb: 31764,\r\n sr: 31770,\r\n \"tg-Cyrl\": 31784,\r\n dsb: 31790,\r\n smj: 31803,\r\n \"uz-Latn\": 31811,\r\n \"mn-Mong\": 31824,\r\n \"iu-Latn\": 31837,\r\n \"tzm-Latn\": 31839,\r\n \"ha-Latn\": 31848\r\n};\r\nexport function getLanguageId() {\r\n return LANGUAGE_CODES[localizationCoreUtils.locale()]\r\n}\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_format.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n format as stringFormat\r\n} from \"../../core/utils/string\";\r\nimport numberFormatter from \"../../localization/number\";\r\nimport dateLocalization from \"../../localization/date\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isObject,\r\n isNumeric\r\n} from \"../../core/utils/type\";\r\nimport {\r\n getFormat\r\n} from \"../../localization/ldml/date.format\";\r\nimport {\r\n getLanguageId\r\n} from \"../../localization/language_codes\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport \"../../localization/currency\";\r\nvar ARABIC_ZERO_CODE = 1632;\r\nvar DEFINED_NUMBER_FORMTATS = {\r\n thousands: \"#,##0{0},"K"\",\r\n millions: \"#,##0{0},,"M"\",\r\n billions: \"#,##0{0},,,"B"\",\r\n trillions: \"#,##0{0},,,,"T"\",\r\n percent: \"0{0}%\",\r\n decimal: \"#{0}\",\r\n fixedpoint: \"#,##0{0}\",\r\n exponential: \"0{0}E+00\",\r\n currency: \" \"\r\n};\r\nvar PERIOD_REGEXP = /a+/g;\r\nvar DAY_REGEXP = /E/g;\r\nvar DO_REGEXP = /dE+/g;\r\nvar STANDALONE_MONTH_REGEXP = /L/g;\r\nvar HOUR_REGEXP = /h/g;\r\nvar ANY_REGEXP = /./g;\r\n\r\nfunction _applyPrecision(format, precision) {\r\n var result;\r\n var i;\r\n if (precision > 0) {\r\n result = \"decimal\" !== format ? \".\" : \"\";\r\n for (i = 0; i < precision; i++) {\r\n result += \"0\"\r\n }\r\n return result\r\n }\r\n return \"\"\r\n}\r\n\r\nfunction _hasArabicDigits(text) {\r\n var code;\r\n for (var i = 0; i < text.length; i++) {\r\n code = text.charCodeAt(i);\r\n if (code >= ARABIC_ZERO_CODE && code < ARABIC_ZERO_CODE + 10) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction _convertDateFormat(format) {\r\n var formattedValue = (dateLocalization.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = getFormat(value => dateLocalization.format(value, format));\r\n if (result) {\r\n result = _convertDateFormatToOpenXml(result);\r\n result = _getLanguageInfo(formattedValue) + result\r\n }\r\n return result\r\n}\r\n\r\nfunction _getLanguageInfo(defaultPattern) {\r\n var languageID = getLanguageId();\r\n var languageIDStr = languageID ? languageID.toString(16) : \"\";\r\n var languageInfo = \"\";\r\n if (_hasArabicDigits(defaultPattern)) {\r\n while (languageIDStr.length < 3) {\r\n languageIDStr = \"0\" + languageIDStr\r\n }\r\n languageInfo = \"[$-2010\" + languageIDStr + \"]\"\r\n } else if (languageIDStr) {\r\n languageInfo = \"[$-\" + languageIDStr + \"]\"\r\n }\r\n return languageInfo\r\n}\r\n\r\nfunction _convertDateFormatToOpenXml(format) {\r\n return format.split(\"/\").join(\"\\\\/\").split(\"'\").map((function(datePart, index) {\r\n if (index % 2 === 0) {\r\n return datePart.replace(PERIOD_REGEXP, \"AM/PM\").replace(DO_REGEXP, \"d\").replace(DAY_REGEXP, \"d\").replace(STANDALONE_MONTH_REGEXP, \"M\").replace(HOUR_REGEXP, \"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\")\r\n }\r\n if (datePart) {\r\n return datePart.replace(ANY_REGEXP, \"\\\\$&\")\r\n }\r\n return \"'\"\r\n })).join(\"\")\r\n}\r\n\r\nfunction _convertNumberFormat(format, precision, currency) {\r\n var result;\r\n var excelFormat;\r\n if (\"currency\" === format) {\r\n excelFormat = numberFormatter.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = stringFormat(excelFormat, _applyPrecision(format, precision))\r\n }\r\n return result\r\n}\r\n\r\nfunction _hasCSVInjection(value) {\r\n if (!value || value.length < 2) {\r\n return false\r\n }\r\n return _includesCSVExpression(value)\r\n}\r\n\r\nfunction _hasCSVQuotedInjection(value, textQualifier) {\r\n if (!value || value.length < 4 || value[0] !== textQualifier) {\r\n return false\r\n }\r\n return _includesCSVExpression(value.substring(1, value.length - 1))\r\n}\r\n\r\nfunction _includesCSVExpression(value) {\r\n if (!value) {\r\n return false\r\n }\r\n if (/^[@=\\t\\r]/.test(value)) {\r\n return true\r\n }\r\n if (!/^[+-]/.test(value)) {\r\n return false\r\n }\r\n return !isNumeric(value)\r\n}\r\nexport var ExportFormat = {\r\n formatObjectConverter(format, dataType) {\r\n var result = {\r\n format: format,\r\n precision: format && format.precision,\r\n dataType: dataType\r\n };\r\n if (isObject(format)) {\r\n return extend(result, format, {\r\n format: format.formatter || format.type,\r\n currency: format.currency\r\n })\r\n }\r\n return result\r\n },\r\n convertFormat(format, precision, type, currency) {\r\n if (isDefined(format)) {\r\n if (\"date\" === type) {\r\n return _convertDateFormat(format)\r\n } else if (isString(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return _convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n },\r\n encode(value) {\r\n var escaped = false;\r\n if (_hasCSVInjection(value)) {\r\n escaped = true\r\n } else if (_hasCSVQuotedInjection(value, '\"')) {\r\n value = value.substring(1, value.length - 1);\r\n escaped = true\r\n }\r\n if (escaped) {\r\n var escapedTextQualifier = \"\".concat('\"').concat('\"');\r\n return \"\\\"'\" + value.replaceAll('\"', escapedTextQualifier) + '\"'\r\n }\r\n return value\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/grid_core/ui.grid_core.utils.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport gridCoreUtils from \"../../__internal/grids/grid_core/m_utils\";\r\nexport default gridCoreUtils;\r\n","/**\r\n * DevExtreme (esm/exporter/common/export_load_panel.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport messageLocalization from \"../../localization/message\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport LoadPanel from \"../../ui/load_panel\";\r\nimport gridUtils from \"../../ui/grid_core/ui.grid_core.utils\";\r\nvar EXPORT_LOAD_PANEL_CLASS = \"dx-export-loadpanel\";\r\nclass ExportLoadPanel {\r\n constructor(component, $targetElement, $container, options) {\r\n this._$targetElement = $targetElement;\r\n this._$container = $container;\r\n this._loadPanel = component._createComponent($(\"<div>\").addClass(EXPORT_LOAD_PANEL_CLASS).appendTo(this._$container), LoadPanel, this.getOptions(options))\r\n }\r\n getDefaultOptions() {\r\n return {\r\n animation: null,\r\n shading: false,\r\n height: 90,\r\n width: 200,\r\n container: this._$container\r\n }\r\n }\r\n getOptions(options) {\r\n if (isDefined(options.text)) {\r\n options.message = options.text\r\n } else {\r\n options.message = messageLocalization.format(\"dxDataGrid-exporting\")\r\n }\r\n return extend(this.getDefaultOptions(), options)\r\n }\r\n show() {\r\n this._loadPanel.option(\"position\", gridUtils.calculateLoadPanelPosition(this._$targetElement));\r\n this._loadPanel.show()\r\n }\r\n dispose() {\r\n $(this._loadPanel.element()).remove();\r\n delete this._loadPanel\r\n }\r\n}\r\nexport {\r\n ExportLoadPanel\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isString,\r\n isDate,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n ExportFormat\r\n} from \"./export_format\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n ExportLoadPanel\r\n} from \"../common/export_load_panel\";\r\nimport {\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar MAX_EXCEL_COLUMN_WIDTH = 255;\r\nexport var Export = {\r\n getFullOptions(options) {\r\n var fullOptions = extend({}, options);\r\n if (!(isDefined(fullOptions.worksheet) && isObject(fullOptions.worksheet))) {\r\n throw Error('The \"worksheet\" field must contain an object.')\r\n }\r\n if (!isDefined(fullOptions.topLeftCell)) {\r\n fullOptions.topLeftCell = {\r\n row: 1,\r\n column: 1\r\n }\r\n } else if (isString(fullOptions.topLeftCell)) {\r\n var {\r\n row: row,\r\n col: col\r\n } = fullOptions.worksheet.getCell(fullOptions.topLeftCell);\r\n fullOptions.topLeftCell = {\r\n row: row,\r\n column: col\r\n }\r\n }\r\n if (!isDefined(fullOptions.keepColumnWidths)) {\r\n fullOptions.keepColumnWidths = true\r\n }\r\n if (!isDefined(fullOptions.loadPanel)) {\r\n fullOptions.loadPanel = {}\r\n }\r\n if (!isDefined(fullOptions.loadPanel.enabled)) {\r\n fullOptions.loadPanel.enabled = true\r\n }\r\n if (!isDefined(fullOptions.encodeExecutableContent)) {\r\n fullOptions.encodeExecutableContent = false\r\n }\r\n return fullOptions\r\n },\r\n convertDateForExcelJS: date => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())),\r\n setNumberFormat(excelCell, numberFormat) {\r\n excelCell.numFmt = numberFormat\r\n },\r\n getCellStyles(dataProvider) {\r\n var styles = dataProvider.getStyles();\r\n styles.forEach(style => {\r\n var numberFormat = this.tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if (isDefined(numberFormat)) {\r\n numberFormat = numberFormat.replace(/"/g, '\"')\r\n }\r\n style.numberFormat = numberFormat\r\n });\r\n return styles\r\n },\r\n tryConvertToExcelNumberFormat(format, dataType) {\r\n var newFormat = ExportFormat.formatObjectConverter(format, dataType);\r\n var currency = newFormat.currency;\r\n format = newFormat.format;\r\n dataType = newFormat.dataType;\r\n return ExportFormat.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n setAlignment(excelCell, wrapText, horizontalAlignment) {\r\n var _excelCell$alignment;\r\n excelCell.alignment = null !== (_excelCell$alignment = excelCell.alignment) && void 0 !== _excelCell$alignment ? _excelCell$alignment : {};\r\n if (isDefined(wrapText)) {\r\n excelCell.alignment.wrapText = wrapText\r\n }\r\n if (isDefined(horizontalAlignment)) {\r\n excelCell.alignment.horizontal = horizontalAlignment\r\n }\r\n excelCell.alignment.vertical = \"top\"\r\n },\r\n setColumnsWidth(worksheet, widths, startColumnIndex) {\r\n if (!isDefined(widths)) {\r\n return\r\n }\r\n for (var i = 0; i < widths.length; i++) {\r\n var columnWidth = widths[i];\r\n if (\"number\" === typeof columnWidth && isFinite(columnWidth)) {\r\n worksheet.getColumn(startColumnIndex + i).width = Math.min(MAX_EXCEL_COLUMN_WIDTH, Math.floor(columnWidth / MAX_DIGIT_WIDTH_IN_PIXELS * 100) / 100)\r\n }\r\n }\r\n },\r\n export (options, Helpers, getLoadPanelTargetElement, getLoadPanelContainer) {\r\n var _component$_getIntern;\r\n var {\r\n component: component,\r\n worksheet: worksheet,\r\n topLeftCell: topLeftCell,\r\n keepColumnWidths: keepColumnWidths,\r\n selectedRowsOnly: selectedRowsOnly,\r\n loadPanel: loadPanel,\r\n encodeExecutableContent: encodeExecutableContent\r\n } = options;\r\n var dataProvider = component.getDataProvider(selectedRowsOnly);\r\n var internalComponent = (null === (_component$_getIntern = component._getInternalInstance) || void 0 === _component$_getIntern ? void 0 : _component$_getIntern.call(component)) || component;\r\n var initialLoadPanelEnabledOption = internalComponent.option(\"loadPanel\") && internalComponent.option(\"loadPanel\").enabled;\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", false)\r\n }\r\n var exportLoadPanel;\r\n if (loadPanel.enabled && hasWindow()) {\r\n var $targetElement = getLoadPanelTargetElement(component);\r\n var $container = getLoadPanelContainer(component);\r\n exportLoadPanel = new ExportLoadPanel(component, $targetElement, $container, loadPanel);\r\n exportLoadPanel.show()\r\n }\r\n var wrapText = !!component.option(\"wordWrapEnabled\");\r\n worksheet.properties.outlineProperties = {\r\n summaryBelow: false,\r\n summaryRight: false\r\n };\r\n var cellRange = {\r\n from: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n },\r\n to: {\r\n row: topLeftCell.row,\r\n column: topLeftCell.column\r\n }\r\n };\r\n return new Promise(resolve => {\r\n dataProvider.ready().done(() => {\r\n var columns = dataProvider.getColumns();\r\n var dataRowsCount = dataProvider.getRowsCount();\r\n var helpers = new Helpers(component, dataProvider, worksheet, options);\r\n if (keepColumnWidths) {\r\n this.setColumnsWidth(worksheet, dataProvider.getColumnsWidths(), cellRange.from.column)\r\n }\r\n helpers._exportAllFieldHeaders(columns, this.setAlignment);\r\n var fieldHeaderRowsCount = helpers._getFieldHeaderRowsCount();\r\n cellRange.to.row = cellRange.from.row + fieldHeaderRowsCount;\r\n var styles = this.getCellStyles(dataProvider);\r\n for (var rowIndex = 0; rowIndex < dataRowsCount; rowIndex++) {\r\n var currentRowIndex = cellRange.from.row + fieldHeaderRowsCount + rowIndex;\r\n var row = worksheet.getRow(currentRowIndex);\r\n var startColumnIndex = 0;\r\n if (helpers._isRowFieldHeadersRow(rowIndex)) {\r\n startColumnIndex = dataProvider.getRowAreaColCount();\r\n helpers._exportFieldHeaders(\"row\", currentRowIndex, 0, startColumnIndex, this.setAlignment)\r\n }\r\n helpers._trySetOutlineLevel(row, rowIndex);\r\n this.exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columns.length, wrapText, styles, encodeExecutableContent);\r\n cellRange.to.row = currentRowIndex\r\n }\r\n helpers.mergedRangesManager.applyMergedRages();\r\n cellRange.to.column += columns.length > 0 ? columns.length - 1 : 0;\r\n var worksheetViewSettings = worksheet.views[0] || {};\r\n if (component.option(\"rtlEnabled\")) {\r\n worksheetViewSettings.rightToLeft = true\r\n }\r\n if (helpers._isFrozenZone(dataProvider)) {\r\n if (-1 === Object.keys(worksheetViewSettings).indexOf(\"state\")) {\r\n extend(worksheetViewSettings, helpers._getWorksheetFrozenState(cellRange))\r\n }\r\n helpers._trySetAutoFilter(cellRange)\r\n }\r\n if (Object.keys(worksheetViewSettings).length > 0) {\r\n worksheet.views = [worksheetViewSettings]\r\n }\r\n resolve(cellRange)\r\n }).always(() => {\r\n if (initialLoadPanelEnabledOption) {\r\n component.option(\"loadPanel.enabled\", initialLoadPanelEnabledOption)\r\n }\r\n if (loadPanel.enabled && hasWindow()) {\r\n exportLoadPanel.dispose()\r\n }\r\n })\r\n })\r\n },\r\n exportRow(dataProvider, helpers, row, rowIndex, startColumnIndex, columnsCount, wrapText, styles, encodeExecutableContent) {\r\n for (var cellIndex = startColumnIndex; cellIndex < columnsCount; cellIndex++) {\r\n var cellData = dataProvider.getCellData(rowIndex, cellIndex, true);\r\n var excelCell = row.getCell(helpers._getFirstColumnIndex() + cellIndex);\r\n helpers.mergedRangesManager.updateMergedRanges(excelCell, rowIndex, cellIndex, helpers);\r\n var cellInfo = helpers.mergedRangesManager.findMergedCellInfo(rowIndex, cellIndex, helpers._isHeaderCell(rowIndex, cellIndex));\r\n if (isDefined(cellInfo) && excelCell !== cellInfo.masterCell) {\r\n excelCell.style = cellInfo.masterCell.style;\r\n excelCell.value = cellInfo.masterCell.value\r\n } else {\r\n if (isDate(cellData.value)) {\r\n excelCell.value = this.convertDateForExcelJS(cellData.value)\r\n } else {\r\n excelCell.value = cellData.value\r\n }\r\n if (isDefined(excelCell.value)) {\r\n var {\r\n bold: bold,\r\n alignment: horizontalAlignment,\r\n numberFormat: numberFormat\r\n } = styles[dataProvider.getStyleId(rowIndex, cellIndex)];\r\n if (isDefined(numberFormat)) {\r\n this.setNumberFormat(excelCell, numberFormat)\r\n } else if (isString(excelCell.value) && /^[@=+-]/.test(excelCell.value)) {\r\n this.setNumberFormat(excelCell, \"@\")\r\n }\r\n helpers._trySetFont(excelCell, bold);\r\n this.setAlignment(excelCell, wrapText, horizontalAlignment)\r\n }\r\n }\r\n helpers._customizeCell(excelCell, cellData.cellSourceData);\r\n if (encodeExecutableContent) {\r\n excelCell.value = ExportFormat.encode(excelCell.value)\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_merged_ranges_manager.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nclass MergedRangesManager {\r\n constructor(dataProvider, worksheet) {\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedCells = [];\r\n this.mergedRanges = []\r\n }\r\n updateMergedRanges(excelCell, rowIndex, cellIndex, helpers) {\r\n if (helpers._isHeaderCell(rowIndex, cellIndex) && !this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n var {\r\n rowspan: rowspan,\r\n colspan: colspan\r\n } = this.dataProvider.getCellMerging(rowIndex, cellIndex);\r\n var isMasterCellOfMergedRange = colspan || rowspan;\r\n if (isMasterCellOfMergedRange) {\r\n var allowToMergeRange = helpers._allowToMergeRange(rowIndex, cellIndex, rowspan, colspan);\r\n this.updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan);\r\n if (allowToMergeRange) {\r\n var shouldReduceInfoRange = helpers._isInfoCell(rowIndex, cellIndex) && helpers._allowExportRowFieldHeaders();\r\n this.mergedRanges.push({\r\n masterCell: excelCell,\r\n rowspan: rowspan - (shouldReduceInfoRange && rowspan > 0),\r\n colspan: colspan\r\n })\r\n }\r\n }\r\n }\r\n }\r\n isCellInMergedRanges(rowIndex, cellIndex) {\r\n return this.mergedCells[rowIndex] && this.mergedCells[rowIndex][cellIndex]\r\n }\r\n findMergedCellInfo(rowIndex, cellIndex, isHeaderCell) {\r\n if (isHeaderCell && this.isCellInMergedRanges(rowIndex, cellIndex)) {\r\n return this.mergedCells[rowIndex][cellIndex]\r\n }\r\n }\r\n updateMergedCells(excelCell, rowIndex, cellIndex, rowspan, colspan) {\r\n for (var i = rowIndex; i <= rowIndex + rowspan; i++) {\r\n for (var j = cellIndex; j <= cellIndex + colspan; j++) {\r\n if (!this.mergedCells[i]) {\r\n this.mergedCells[i] = []\r\n }\r\n this.mergedCells[i][j] = {\r\n masterCell: excelCell\r\n }\r\n }\r\n }\r\n }\r\n addMergedRange(masterCell, rowspan, colspan) {\r\n this.mergedRanges.push({\r\n masterCell: masterCell,\r\n rowspan: rowspan,\r\n colspan: colspan\r\n })\r\n }\r\n applyMergedRages() {\r\n this.mergedRanges.forEach(range => {\r\n var startRowIndex = range.masterCell.fullAddress.row;\r\n var startColumnIndex = range.masterCell.fullAddress.col;\r\n var endRowIndex = startRowIndex + range.rowspan;\r\n var endColumnIndex = startColumnIndex + range.colspan;\r\n this.worksheet.mergeCells(startRowIndex, startColumnIndex, endRowIndex, endColumnIndex)\r\n })\r\n }\r\n}\r\nexport {\r\n MergedRangesManager\r\n};\r\n","/**\r\n * DevExtreme (esm/exporter/exceljs/export_data_grid.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined,\r\n isObject,\r\n isFunction\r\n} from \"../../core/utils/type\";\r\nimport {\r\n Export\r\n} from \"./export\";\r\nimport {\r\n MergedRangesManager\r\n} from \"./export_merged_ranges_manager\";\r\nclass DataGridHelpers {\r\n constructor(component, dataProvider, worksheet, options) {\r\n this.component = component;\r\n this.dataProvider = dataProvider;\r\n this.worksheet = worksheet;\r\n this.mergedRangesManager = new MergedRangesManager(dataProvider, worksheet);\r\n this.topLeftCell = options.topLeftCell;\r\n this.customizeCell = options.customizeCell;\r\n this.autoFilterEnabled = options.autoFilterEnabled\r\n }\r\n _getFirstColumnIndex() {\r\n return this.topLeftCell.column\r\n }\r\n _getFieldHeaderRowsCount() {\r\n return 0\r\n }\r\n _trySetAutoFilter(cellRange) {\r\n if (this.autoFilterEnabled) {\r\n if (!isDefined(this.worksheet.autoFilter) && this.dataProvider.getRowsCount() > 0) {\r\n var dataRange = {\r\n from: {\r\n row: cellRange.from.row + this.dataProvider.getHeaderRowCount() - 1,\r\n column: cellRange.from.column\r\n },\r\n to: cellRange.to\r\n };\r\n this.worksheet.autoFilter = dataRange\r\n }\r\n }\r\n }\r\n _trySetFont(excelCell, bold) {\r\n if (isDefined(bold)) {\r\n excelCell.font = excelCell.font || {};\r\n excelCell.font.bold = bold\r\n }\r\n }\r\n _getWorksheetFrozenState(cellRange) {\r\n return {\r\n state: \"frozen\",\r\n ySplit: cellRange.from.row + this.dataProvider.getFrozenArea().y - 1\r\n }\r\n }\r\n _trySetOutlineLevel(row, rowIndex) {\r\n if (rowIndex >= this.dataProvider.getHeaderRowCount()) {\r\n row.outlineLevel = this.dataProvider.getGroupLevel(rowIndex)\r\n }\r\n }\r\n _isFrozenZone(dataProvider) {\r\n return dataProvider.getHeaderRowCount() > 0\r\n }\r\n _isHeaderCell(rowIndex) {\r\n return rowIndex < this.dataProvider.getHeaderRowCount()\r\n }\r\n _isInfoCell() {\r\n return false\r\n }\r\n _allowToMergeRange() {\r\n return true\r\n }\r\n _getAllFieldHeaders() {\r\n return []\r\n }\r\n _customizeCell(excelCell, gridCell) {\r\n if (isFunction(this.customizeCell)) {\r\n this.customizeCell({\r\n excelCell: excelCell,\r\n gridCell: gridCell\r\n })\r\n }\r\n }\r\n _exportFieldHeaders() {}\r\n _exportAllFieldHeaders() {}\r\n _isRowFieldHeadersRow() {}\r\n}\r\n\r\nfunction exportDataGrid(options) {\r\n return Export.export(_getFullOptions(options), DataGridHelpers, _getLoadPanelTargetElement, _getLoadPanelContainer)\r\n}\r\n\r\nfunction _getFullOptions(options) {\r\n if (!(isDefined(options) && isObject(options))) {\r\n throw Error('The \"exportDataGrid\" method requires a configuration object.')\r\n }\r\n if (!(isDefined(options.component) && isObject(options.component) && \"dxDataGrid\" === options.component.NAME)) {\r\n throw Error('The \"component\" field must contain a DataGrid instance.')\r\n }\r\n if (!isDefined(options.selectedRowsOnly)) {\r\n options.selectedRowsOnly = false\r\n }\r\n if (!isDefined(options.autoFilterEnabled)) {\r\n options.autoFilterEnabled = false\r\n }\r\n return Export.getFullOptions(options)\r\n}\r\n\r\nfunction _getLoadPanelTargetElement(component) {\r\n return component.getView(\"rowsView\").element()\r\n}\r\n\r\nfunction _getLoadPanelContainer(component) {\r\n return component.getView(\"rowsView\").element().parent()\r\n}\r\nexport {\r\n exportDataGrid\r\n};\r\n","import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Grid\nimport DataGrid, {\n Column, FilterRow, HeaderFilter, FilterPanel, FilterBuilderPopup,\n GroupPanel, Grouping, SearchPanel, Sorting, Editing, Lookup, Toolbar, Item, RequiredRule,\n Scrolling, Pager, Paging, Summary, TotalItem, StateStoring, ColumnChooser, Export,\n ColumnChooserSearch, ColumnChooserSelection\n} from 'devextreme-react/data-grid';\n\n//CheckBox\nimport CheckBox from 'devextreme-react/check-box';\n\n//TagBox\nimport TagBox from \"devextreme/ui/tag_box\";\n\n//Form\nimport Form, { GroupItem, Label, TabbedItem, TabPanelOptions, Tab } from 'devextreme-react/form';\n\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faPencilAlt } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faArrowRotateLeft } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faList } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faUser } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faTrashAlt } from \"@fortawesome/pro-solid-svg-icons\";\n\nimport './Users.css';\n\nimport DataSource from 'devextreme/data/data_source';\n\nimport '../ListStyle.css';\n\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { exportDataGrid } from 'devextreme/excel_exporter'\n\nexport default function Users(props) {\n const history = useHistory();\n\n const [isDetail, setIsDetail] = useState(false);\n const [userName, setUserName] = useState();\n const [userRecords, setUserRecords] = useState([]);\n const [employees, setEmployees] = useState([]);\n\n const [userPayload, setUserPayload] = useState({\n });\n\n const [autoExpandAll, setAutoExpandAll] = useState(true);\n\n //Controles para expander los grupos del grid de checklist\n const [autoExpandAllChecklist, setAutoExpandAllChecklist] = useState(true);\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n\n const [ok, setOk] = useState(false);\n\n function getOrderDay(rowData) {\n return (new Date(rowData.OrderDate)).getDay();\n };\n\n const filterBuilder = useMemo(() => {\n return {\n customOperations: [{\n name: 'weekends',\n caption: 'Weekends',\n dataTypes: ['date'],\n icon: 'check',\n hasValue: false,\n calculateFilterExpression: () => [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]],\n }],\n allowHierarchicalFields: true,\n };\n }, []);\n\n const filterBuilderPopupPosition = useMemo(() => {\n return {\n of: window,\n at: 'top',\n my: 'top',\n offset: { y: 10 },\n };\n }, []);\n\n const allowedPageSizes = useMemo(() => {\n return [5, 10, 15, 20, 'all'];\n }, []);\n\n const exportFormats = useMemo(() => {\n return ['xlsx'];\n }, []);\n\n const getEmployeeList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'employeeList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var employeesGet = await API.post(apiName, path, myInit);\n\n setEmployees(employeesGet.data);\n\n }, []);\n\n const getUsersList = React.useCallback(async () => {\n // Obtenemos los usuarios de Cognito\n let apiNameCognito = 'AdminQueries';\n let pathCognito = '/listUsers';\n\n let myInitCognito = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n }\n }\n\n const { NextToken, ...restCognito } = await API.get(apiNameCognito, pathCognito, myInitCognito);\n\n var users = [];\n\n // Obtenemos los atributos de los usuarios desde Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesausuario';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'list',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var usersGet = await API.post(apiName, path, myInit);\n\n for (var singleUserIndex in restCognito.Users) {\n var singleUser = restCognito.Users[singleUserIndex];\n\n var addUser = {\n Username: singleUser.Username,\n Enabled: singleUser.Enabled,\n isAdmin: singleUser.isAdmin\n };\n\n if (singleUser.Enabled)\n addUser.Enabled = 'Activo'\n else\n addUser.Enabled = 'Inactivo'\n\n if (singleUser.isAdmin)\n addUser.isAdmin = 'Admin'\n else\n addUser.isAdmin = ''\n\n // Agregamos el email\n for (var attributeIndex in singleUser.Attributes) {\n var singleAttribute = singleUser.Attributes[attributeIndex];\n\n if (singleAttribute.Name === 'email')\n addUser.Email = singleAttribute.Value;\n }\n\n // Agregamos el resto de los atributos\n for (var usersGetIndex in usersGet.data) {\n var singleUserGet = usersGet.data[usersGetIndex];\n\n if (singleUserGet.userName === singleUser.Username) {\n addUser.internalid = singleUserGet.internalid;\n addUser.cluster = singleUserGet.cluster;\n addUser.clusterLevel = singleUserGet.clusterLevel;\n addUser.location = singleUserGet.location;\n addUser.locationLevel = singleUserGet.locationLevel;\n addUser.clusterType = singleUserGet.clusterType;\n addUser.clusterType = singleUserGet.clusterTypeLevel;\n addUser.productCluster = singleUserGet.productCluster;\n addUser.productClusterLevel = singleUserGet.productClusterLevel;\n addUser.custrecord_al_portal_employee = singleUserGet.custrecord_al_portal_employee;\n\n }\n }\n users.push(addUser);\n }\n\n setUserRecords(users);\n }, []);\n\n const getUserPayload = React.useCallback(async (Username, internalid) => {\n try {\n // Obtenemos los usuarios de Cognito\n let apiNameCognito = 'AdminQueries';\n let pathCognito = '/getUser';\n\n let myInitCognito = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n queryStringParameters: {\n username: Username,\n q: JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username\n }\n }\n\n var userGetCognito = await API.get(apiNameCognito, pathCognito, myInitCognito);\n\n var user = {\n Username: userGetCognito.Username,\n Enabled: userGetCognito.Enabled,\n isAdmin: ''\n };\n\n // Obtenemos los atributos de los usuarios desde Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesausuario';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'payload',\n userName: Username,\n internalid: internalid,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var userAttributes = await API.post(apiName, path, myInit);\n\n user.internalid = userAttributes.data.internalid;\n\n // Asignamos los atributos\n if (!userAttributes.data.custrecord_al_portal_employee)\n user.custrecord_al_portal_employee = ''\n else\n user.custrecord_al_portal_employee = userAttributes.data.custrecord_al_portal_employee;\n\n if (!userAttributes.data.cluster)\n user.cluster = false\n else\n user.cluster = userAttributes.data.cluster;\n\n user.clusterLevel = userAttributes.data.clusterLevel;\n\n if (!userAttributes.data.location)\n user.location = false\n else\n user.location = userAttributes.data.location;\n\n user.locationLevel = userAttributes.data.locationLevel;\n\n if (!userAttributes.data.clusterType)\n user.clusterType = false\n else\n user.clusterType = userAttributes.data.clusterType;\n\n user.clusterTypeLevel = userAttributes.data.clusterTypeLevel;\n\n if (!userAttributes.data.productCluster)\n user.productCluster = false\n else\n user.productCluster = userAttributes.data.productCluster;\n\n user.productClusterLevel = userAttributes.data.productClusterLevel;\n\n if (user.Enabled)\n user.Enabled = 'Activo'\n else\n user.Enabled = 'Inactivo'\n\n for (var attributeIndex in userGetCognito.UserAttributes) {\n var singleAttribute = userGetCognito.UserAttributes[attributeIndex];\n\n if (singleAttribute.Name === 'email')\n user.Email = singleAttribute.Value;\n }\n\n let apiNameGroups = 'AdminQueries';\n let pathGroups = '/listGroupsForUser';\n\n let myInitGroups = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n queryStringParameters: {\n username: Username,\n q: JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username\n }\n }\n\n var userGroupsGet = await API.get(apiNameGroups, pathGroups, myInitGroups);\n\n for (var groupIndex in userGroupsGet.Groups) {\n var singleGroup = userGroupsGet.Groups[groupIndex];\n\n user.isAdmin = singleGroup.GroupName;\n }\n }\n catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n\n return user;\n }, [history]);\n\n const editUserButton = React.useCallback(async (Username, internalid) => {\n if (!(window.event && (window.event.metaKey || window.event.ctrlKey))) {\n setVisibleLoadPanel(true);\n\n setIsDetail(true);\n\n setUserName(Username);\n\n var payload = await getUserPayload(Username, internalid);\n\n setUserPayload(payload);\n\n setVisibleLoadPanel(false);\n }\n }, [getUserPayload]);\n\n const cancelEditButton = React.useCallback(async () => {\n setVisibleLoadPanel(true);\n\n setIsDetail(false);\n\n await getUsersList();\n\n setVisibleLoadPanel(false);\n\n history.push('/Users');\n }, [getUsersList, history]);\n\n const deleteUser = React.useCallback(async () => {\n try {\n var username = userPayload.Username;\n\n if (username) {\n var r = window.confirm('Se eliminará el usuario ' + username + '. ¿Desea Continuar?');\n\n if (r) {\n let apiNameCognito = 'AdminQueries';\n let pathCognito = '/deleteUser';\n\n let myInitCognito = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n username: username,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n try {\n setVisibleLoadPanel(true);\n\n await API.post(apiNameCognito, pathCognito, myInitCognito);\n\n setVisibleToast(true);\n setMessageToast('Usuario eliminado con éxito');\n setTypeToast('success')\n\n setIsDetail(false);\n\n await getUsersList();\n\n setVisibleLoadPanel(false);\n\n history.push('/Users');\n\n }\n catch (error) {\n setVisibleLoadPanel(false);\n\n setVisibleToast(true);\n setMessageToast(error.message);\n setTypeToast('error')\n }\n }\n }\n }\n catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [getUsersList, history, userPayload.Username]);\n\n const saveButton = React.useCallback(async () => {\n try {\n var username = userPayload.Username;\n var internalid = userPayload.internalid;\n var password = userPayload.Password;\n var confirmpassword = userPayload.ConfirmPassword;\n var group = userPayload.isAdmin;\n var sucursal = userPayload.Sucursal;\n var empleado = userPayload.custrecord_al_portal_employee;\n var email = userPayload.Email;\n var isenabled = userPayload.Enabled;\n\n if (username) {\n if (!password)\n password = '';\n if (!confirmpassword)\n confirmpassword = '';\n if (!group)\n group = '';\n\n if (!sucursal && sucursal !== 0)\n sucursal = '';\n\n if (password) {\n if (password.length < 8) {\n setVisibleToast(true);\n setMessageToast('La contraseña debe tener mínimo 10 caracteres');\n setTypeToast('error')\n return;\n }\n if (password !== confirmpassword) {\n setVisibleToast(true);\n setMessageToast('Las contraseñas no coinciden');\n setTypeToast('error')\n return;\n }\n }\n\n // Actualizamos los datos en Cognito\n let apiNameCognito = 'AdminQueries';\n let pathCognito = '/updateUser';\n\n let myInitCognito = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n email: email,\n username: username,\n password: password,\n confirmpassword: confirmpassword,\n isenabled: isenabled,\n group: group,\n custrecord_al_portal_employee: empleado\n }\n }\n\n // Actualizamos los datos en Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesausuario';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n userName: username,\n internalid: internalid,\n action: 'postData',\n data: userPayload,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n\n }\n\n try {\n setVisibleLoadPanel(true);\n\n await API.post(apiNameCognito, pathCognito, myInitCognito);\n\n await API.post(apiName, path, myInit);\n\n setVisibleLoadPanel(false);\n\n setVisibleToast(true);\n setMessageToast('Usuario actualizado con éxito');\n setTypeToast('success')\n }\n catch (error) {\n setVisibleLoadPanel(false);\n\n setVisibleToast(true);\n setMessageToast(error.message);\n setTypeToast('error')\n }\n }\n }\n catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history, userPayload]);\n\n const onFieldDataChanged = React.useCallback((e) => {\n }, []);\n\n const editUser = React.useCallback((data) => {\n return (\n <Link to={`/Users/${data.data.Username}`}>\n <button class=\"bg-blue-500 hover:bg-blue-700 text-white py-1 px-3 rounded\" onClick={() => editUserButton(data.data.Username, data.data.internalid)}><FontAwesomeIcon icon={faPencilAlt} /> Editar</button>\n </Link>\n )\n }, [editUserButton])\n\n const userEnabled = React.useCallback((data) => {\n return (\n <span className={data.data.Enabled === \"Activo\" ? \"px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-sm\" : \"px-2 py-1 font-semibold leading-tight text-red-700 bg-red-100 rounded-sm\"}> {data.data.Enabled} </span>\n )\n }, []);\n\n const userAdmin = React.useCallback((data) => {\n return (\n <span className={data.data.isAdmin === \"Admin\" ? \"px-2 py-1 font-semibold leading-tight text-pink-700 bg-pink-100 rounded-sm}\" : \"\"} > {data.data.isAdmin === \"Admin\" ? \"Si\" : \"\"}</span>\n )\n }, []);\n\n const onAutoExpandAllChanged = React.useCallback(() => {\n setAutoExpandAll(!autoExpandAll)\n }, [autoExpandAll]);\n\n const onAutoExpandAllChecklistChanged = React.useCallback(() => {\n setAutoExpandAllChecklist(!autoExpandAllChecklist)\n }, [autoExpandAllChecklist]);\n\n var internalidEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: false };\n }, []);\n\n var userNameEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true };\n }, []);\n\n var emailEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true };\n }, []);\n\n var passwordEditorOptions = useMemo(() => {\n return { width: '100%', disabled: false, mode: 'password' };\n }, []);\n\n //Opciones Grupo del Usuario\n const isAdminOptions = useMemo(() => {\n return [\n { value: '', name: '' },\n { value: 'Admin', name: 'Admin' }\n ];\n }, []);\n\n try {\n var isAdminEditorOptions = useMemo(() => {\n return {\n items: isAdminOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (userPayload.isAdmin ? userPayload.isAdmin : ''), width: '100%'\n };\n }, [isAdminOptions, userPayload.isAdmin]);\n }\n catch (e) {\n var isAdminEditorOptions = {\n items: isAdminOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%'\n };\n }\n\n //Opciones Estatus del Usuario\n const enabledOptions = useMemo(() => {\n return [\n { value: 'Activo', name: 'Activo' },\n { value: 'Inactivo', name: 'Inactivo' }\n ];\n }, []);\n\n try {\n var enabledEditorOptions = useMemo(() => {\n return {\n items: enabledOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (userPayload.Enabled ? userPayload.Enabled : ''), width: '100%'\n };\n }, [enabledOptions, userPayload.Enabled]);\n }\n catch (e) {\n var enabledEditorOptions = {\n items: enabledOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%'\n };\n }\n\n //Opciones Nivel de Permiso\n const levelOptions = useMemo(() => {\n return [\n { value: 'Ver', name: 'Ver' },\n { value: 'Editar', name: 'Editar' }\n ];\n }, []);\n\n //Opciones Nivel de Permiso Product Cluster\n const productClusterlevelOptions = useMemo(() => {\n return [\n { value: 'Ver', name: 'Ver' },\n { value: 'Editar', name: 'Editar' },\n { value: 'Procesar', name: 'Procesar' }\n ];\n }, []);\n\n try {\n var clusterLevelEditorOptions = useMemo(() => {\n return {\n items: levelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: (userPayload.clusterLevel ? userPayload.clusterLevel : ''), width: '50%', disabled: false\n };\n }, [levelOptions, userPayload.clusterLevel]);\n\n }\n catch (e) {\n var clusterLevelEditorOptions = {\n items: levelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: '',\n width: '50%'\n };\n }\n\n try {\n var employeeEditorOptions = useMemo(() => {\n return {\n items: employees,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (userPayload.custrecord_al_portal_employee ? userPayload.custrecord_al_portal_employee : ''),\n width: '100%',\n disabled: false\n };\n }, [employees, userPayload.custrecord_al_portal_employee]);\n\n }\n catch (e) {\n var employeeEditorOptions = {\n items: employees,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%'\n };\n }\n\n\n try {\n var locationLevelEditorOptions = useMemo(() => {\n return {\n items: levelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: (userPayload.locationLevel ? userPayload.locationLevel : ''), width: '50%', disabled: false\n };\n }, [levelOptions, userPayload.locationLevel]);\n } catch (error) {\n var locationLevelEditorOptions = {\n items: levelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: '',\n width: '50%'\n };\n }\n\n try {\n var clusterTypeLevelEditorOptions = useMemo(() => {\n return {\n items: levelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: (userPayload.clusterTypeLevel ? userPayload.clusterTypeLevel : ''), width: '50%', disabled: false\n };\n }, [levelOptions, userPayload.clusterTypeLevel]);\n } catch (error) {\n var clusterTypeLevelEditorOptions = {\n items: levelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: '',\n width: '50%'\n };\n }\n\n\n try {\n var productClusterLevelEditorOptions = useMemo(() => {\n return {\n items: productClusterlevelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: (userPayload.productClusterLevel ? userPayload.productClusterLevel : ''), width: '50%', disabled: false\n };\n }, [productClusterlevelOptions, userPayload.productClusterLevel]);\n } catch (error) {\n var productClusterLevelEditorOptions = {\n items: productClusterlevelOptions,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: false,\n value: '',\n width: '50%'\n };\n }\n var toastPosition = useMemo(() => {\n return {\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }\n }, []);\n\n useEffect(() => {\n async function initialize() {\n setVisibleLoadPanel(true);\n\n var user = await Auth.currentAuthenticatedUser();\n\n var groups = user.signInUserSession.accessToken.payload[\"cognito:groups\"];\n\n var okAdmin = false;\n\n for (var groupIndex in groups) {\n var singleGroup = groups[groupIndex];\n\n if (singleGroup === 'Admin') {\n setOk(true);\n okAdmin = true;\n }\n }\n\n if (okAdmin === true) {\n await getUsersList();\n await getEmployeeList();\n }\n \n setVisibleLoadPanel(false);\n }\n\n initialize();\n\n // En caso de solicitar un ID especifico, redireccionamos a ese ID\n if (!props.match.isExact) {\n var urlID = props.location.pathname.replace('/Users/', '');\n\n editUserButton(urlID);\n }\n\n // eslint-disable-next-line\n }, []);\n\n const onHidingToast = React.useCallback(() => {\n setVisibleToast(false);\n }, []);\n\n function onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Datos');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Datos.xlsx');\n });\n });\n e.cancel = true;\n };\n \n return (\n <div>\n {isDetail === false ? (\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faList} size=\"lg\" /> Usuarios</h1>\n </div>\n ) :\n (\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1 pl-3\"><FontAwesomeIcon icon={faUser} size=\"xl\" /> {userPayload.Username}</h1>\n </div>\n )}\n\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={toastPosition}\n />\n\n <div class=\"bg-gray-200 m-2\">\n {isDetail === false ? (\n <div class=\"bg-white p-3 shadow-xl\">\n <div className=\"options mb-2\">\n <div className=\"option\">\n <CheckBox text=\"Expandir todos los grupos\"\n value={autoExpandAll}\n onValueChanged={onAutoExpandAllChanged}>\n </CheckBox>\n </div>\n </div>\n <DataGrid\n id=\"gridContainer\"\n columnsAutoWidth={true}\n filterBuilder={filterBuilder}\n dataSource={userRecords}\n allowColumnReordering={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n showBorders={true}\n rowAlternationEnabled={true}\n showRowLines={true}\n showColumnLines={true}\n onExporting={onExporting}\n >\n <Scrolling rowRenderingMode='virtual'></Scrolling>\n <Paging defaultPageSize={10} />\n <Pager\n visible={true}\n allowedPageSizes={allowedPageSizes}\n displayMode='compact'\n showPageSizeSelector={true}\n showInfo={true}\n showNavigationButtons={true} />\n <FilterRow visible={true} />\n <FilterPanel visible={true} />\n <FilterBuilderPopup position={filterBuilderPopupPosition} />\n\n <HeaderFilter visible={true} />\n\n <GroupPanel visible={true} />\n <SearchPanel visible={true} />\n <ColumnChooser\n enabled={true}\n mode='select'\n >\n <ColumnChooserSearch\n enabled={true}\n />\n\n <ColumnChooserSelection\n allowSelectAll={true}\n selectByClick={true}\n recursive={true}\n />\n </ColumnChooser>\n <Grouping autoExpandAll={autoExpandAll} />\n <Export enabled={true} />\n <StateStoring enabled={true} type=\"localStorage\" storageKey=\"gridContainerListUsers\" />\n\n <Column caption=\"\" alignment=\"center\" width={100} cellRender={editUser} />\n\n <Column caption=\"Usuario\" dataField=\"Username\" dataType=\"string\" width={150} />\n <Column caption=\"Correo Electronico\" dataField=\"Email\" dataType=\"string\" width={200} />\n\n <Column caption=\"Estatus\" alignment=\"center\" width={120} cellRender={userEnabled} />\n\n <Column caption=\"Administrador\" alignment=\"center\" width={200} cellRender={userAdmin} />\n <Column caption=\"Clusters\" dataField=\"cluster\" dataType=\"boolean\" width={200} visible={false} />\n <Column caption=\"Nivel Clusters\" dataField=\"clusterLevel\" dataType=\"string\" width={200} visible={false} />\n <Column caption=\"Location\" dataField=\"location\" dataType=\"boolean\" width={200} visible={false} />\n <Column caption=\"Nivel Location\" dataField=\"locationLevel\" dataType=\"string\" width={200} visible={false} />\n <Column caption=\"Product-Clusters\" dataField=\"productCluster\" dataType=\"boolean\" width={200} visible={false} />\n <Column caption=\"Nivel Product-Clusters\" dataField=\"productClusterLevel\" dataType=\"string\" width={200} visible={false} />\n <Column caption=\"Cluster Type\" dataField=\"clusterType\" dataType=\"boolean\" width={200} visible={false} />\n <Column caption=\"Nivel Cluster Type\" dataField=\"clusterTypeLevel\" dataType=\"string\" width={200} visible={false} />\n <Column caption=\"Empleado Netsuite\" dataField=\"custrecord_al_portal_employee\" dataType=\"string\" width={250} visible={false} />\n\n <Column caption=\"internalid\" dataField=\"internalid\" dataType=\"number\" width={200} visible={false} />\n\n </DataGrid>\n </div>\n ) : (<div />)}\n <Route exact path=\"/Users/:userName\" render={({ match }) => {\n return (\n <div class=\"m-3 bg-gray-200\">\n {isDetail.toString() === 'true' ?\n (\n <div>\n <Link to=\"/Users\">\n <button onClick={cancelEditButton} type=\"submit\" class=\"mb-4 bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faArrowRotateLeft} /> Regresar\n </button>\n </Link>\n\n <button onClick={saveButton} type=\"submit\" class=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n\n <button onClick={deleteUser} type=\"submit\" class=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faTrashAlt} /> Eliminar Usuario\n </button>\n\n <div class=\"mt-1 bg-white pt-3 shadow-xl\">\n <div class=\"ml-4 mr-4 bg-white pt-3\">\n <Form\n id=\"datosGenerales\"\n labelMode={'outside'}\n formData={userPayload}\n\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={2}\n onFieldDataChanged={onFieldDataChanged}\n >\n <GroupItem caption=\"Datos Generales\">\n <Item cssClass=\"boldText\" dataField=\"internalid\" editorOptions={internalidEditorOptions} >\n <Label text=\"\" visible={false} />\n </Item>\n <Item cssClass=\"boldText\" dataField=\"Username\" editorOptions={userNameEditorOptions} />\n <Item cssClass=\"boldText\" dataField=\"Email\" editorOptions={emailEditorOptions} />\n <Item dataField=\"Enabled\" editorType=\"dxSelectBox\" editorOptions={enabledEditorOptions} >\n <Label text=\"Estatus\" />\n </Item>\n <Item dataField=\"isAdmin\" editorType=\"dxSelectBox\" editorOptions={isAdminEditorOptions} >\n <Label text=\"Grupo\" />\n </Item>\n <Item dataField=\"custrecord_al_portal_employee\" editorType=\"dxSelectBox\" editorOptions={employeeEditorOptions}>\n <Label text=\"Empleado Netsuite\" />\n </Item>\n </GroupItem>\n <GroupItem caption=\"Contraseña\">\n <Item dataField=\"Password\" editorOptions={passwordEditorOptions} >\n <Label text=\"Contraseña\" />\n </Item>\n <Item dataField=\"ConfirmPassword\" editorOptions={passwordEditorOptions} >\n <Label text=\"Confirmar Contraseña\" />\n </Item>\n </GroupItem>\n <GroupItem caption=\"Accesos\" colSpan={2}>\n </GroupItem>\n <GroupItem caption=\"Clusters\">\n <TabbedItem>\n <TabPanelOptions deferRendering={false} showNavButtons={true} />\n <Tab title=\"Cluster Types\">\n <Item dataField=\"clusterType\" editorType=\"dxCheckBox\">\n <Label text=\"Cluster Types\" />\n </Item>\n <Item dataField=\"clusterTypeLevel\" editorType=\"dxSelectBox\" editorOptions={clusterTypeLevelEditorOptions} >\n <Label text=\"Nivel Permiso\" />\n </Item>\n </Tab>\n <Tab title=\"Clusters\">\n <Item dataField=\"cluster\" editorType=\"dxCheckBox\">\n <Label text=\"Clusters\" />\n </Item>\n <Item dataField=\"clusterLevel\" editorType=\"dxSelectBox\" editorOptions={clusterLevelEditorOptions} >\n <Label text=\"Nivel Permiso\" />\n </Item>\n </Tab>\n <Tab title=\"Locations\">\n <Item dataField=\"location\" editorType=\"dxCheckBox\">\n <Label text=\"Locations\" />\n </Item>\n <Item dataField=\"locationLevel\" editorType=\"dxSelectBox\" editorOptions={locationLevelEditorOptions} >\n <Label text=\"Nivel Permiso\" />\n </Item>\n </Tab>\n <Tab title=\"Product-Clusters\">\n <Item dataField=\"productCluster\" editorType=\"dxCheckBox\">\n <Label text=\"Product Clusters\" />\n </Item>\n <Item dataField=\"productClusterLevel\" editorType=\"dxSelectBox\" editorOptions={productClusterLevelEditorOptions} >\n <Label text=\"Nivel Permiso\" />\n </Item>\n </Tab>\n </TabbedItem>\n </GroupItem>\n </Form>\n </div>\n </div>\n </div>\n ) :\n (<div></div>)\n }\n </div>\n );\n }}\n />\n </div>\n </div>\n );\n}","import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Grid\nimport DataGrid, {\n Column, FilterRow, HeaderFilter, FilterPanel, FilterBuilderPopup,\n GroupPanel, Grouping, SearchPanel, Sorting, Editing, Lookup, Toolbar, Item, RequiredRule,\n Scrolling, Pager, ColumnFixing, Paging, Summary, TotalItem, StateStoring, ColumnChooser, ColumnChooserSearch, ColumnChooserSelection, Export,\n Template, Checkbox, Search\n} from 'devextreme-react/data-grid';\n\n//CheckBox\nimport CheckBox from 'devextreme-react/check-box';\n\n//confirm\nimport { confirm } from 'devextreme/ui/dialog';\n\nimport DataSource from 'devextreme/data/data_source';\n//Form\nimport Form, { GroupItem, Label, TabbedItem, TabPanelOptions, Tab } from 'devextreme-react/form';\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faGlasses } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faPencilAlt } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faArrowRotateLeft } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faList } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faTrash } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faLock } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faArrowsRotate } from \"@fortawesome/pro-solid-svg-icons\";\n\nimport { faLocationDot } from \"@fortawesome/pro-duotone-svg-icons\";\n\n\nimport './Locations.css';\n\nimport '../ListStyle.css';\n\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { exportDataGrid } from 'devextreme/excel_exporter'\n\nexport default function Locations(props) {\n const history = useHistory();\n\n const [isDetail, setIsDetail] = useState(false);\n const [selectedRowIndex, setSelectedRowIndex] = useState(false);\n\n const [permissionLevel, setPermissionLevel] = useState(props.nivel);\n const [locationRecords, setLocationRecords] = useState([]);\n\n const [updateCount, setUpdateCount] = useState(0);\n\n const [locationPayload, setLocationPayload] = useState({});\n const [clusters, setClusters] = useState([]);\n\n const [clusterType, setClusterType] = useState([]);\n\n const [activateUpdateGrid, setActivateUpdateGrid] = useState(false);\n const [activateSaveButton, setActivateSaveButton] = useState(false);\n const [activateUpdateForm, setActivateUpdateForm] = useState(false);\n\n const [autoExpandAll, setAutoExpandAll] = useState(true);\n\n const [gridClustersRef, setGridClustersRef] = useState(React.createRef());\n const [gridProductLocationRef, setGridProductLocationRef] = useState(React.createRef());\n\n //Controles para expander los grupos del grid de checklist\n const [autoExpandAllChecklist, setAutoExpandAllChecklist] = useState(true);\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n\n\n const [productsFromLocationList, setProductsFromLocationList] = useState([]);\n const [clusterList, setClusterList] = useState([]);\n const [clusterTypeList, setClusterTypeList] = useState([]);\n const [departamentos, setDepartamentos] = useState([]);\n const [itemType, setItemType] = useState([]);\n const [categorias, setCategorias] = useState([]);\n const [exclusivo, setExclusivo] = useState([]);\n const [proveedores, setProveedores] = useState([]);\n const [formDatosGeneralesRef, setFormDatosGeneralesRef] = useState(React.createRef());\n\n\n function getOrderDay(rowData) {\n return (new Date(rowData.OrderDate)).getDay();\n };\n\n const filterBuilder = useMemo(() => {\n return {\n customOperations: [{\n name: 'weekends',\n caption: 'Weekends',\n dataTypes: ['date'],\n icon: 'check',\n hasValue: false,\n calculateFilterExpression: () => [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]],\n }],\n allowHierarchicalFields: true,\n };\n }, []);\n\n const filterBuilderPopupPosition = useMemo(() => {\n return {\n of: window,\n at: 'top',\n my: 'top',\n offset: { y: 10 },\n };\n }, []);\n\n const allowedPageSizes = useMemo(() => {\n return [5, 10, 15, 20, 'all'];\n }, []);\n\n const exportFormats = useMemo(() => {\n return ['xlsx'];\n }, []);\n\n const getLocationsList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesalocation';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'list',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var locationsGet = await API.post(apiName, path, myInit);\n\n setLocationRecords(locationsGet.data);\n }, []);\n\n\n const getClusterList = React.useCallback(async () => {\n var locations = [];\n\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'clusterList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var clustersGet = await API.post(apiName, path, myInit);\n\n setClusters(clustersGet.data);\n\n }, []);\n\n const getClusterTypeList = React.useCallback(async () => {\n var locations = [];\n\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'clusterTypeList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var clusterTypeGet = await API.post(apiName, path, myInit);\n\n setClusterType(clusterTypeGet.data);\n }, []);\n\n const getLocationPayload = React.useCallback(async (internalid) => {\n try {\n let apiName = 'portalvinoteca';\n let path = '/procesalocation';\n var location = {};\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'payload',\n internalid: internalid,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var locationPayload = await API.post(apiName, path, myInit);\n\n setLocationPayload(locationPayload.data);\n }\n catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history]);\n\n\n const getProductsFromLocation = React.useCallback(async (internalid) => {\n var custitem_al_ecommerce_categoria = locationPayload.custitem_al_ecommerce_categoria;\n var custitem_al_ecommerce_departamento = locationPayload.custitem_al_ecommerce_departamento;\n var custitem_efx_cmp_exclusivo = locationPayload.custitem_efx_cmp_exclusivo;\n var vendor = locationPayload.vendor;\n var internalid = locationPayload.internalid;\n var filters = [];\n\n if (custitem_al_ecommerce_categoria) {\n filters.push(['custrecord_gv_rlx_articulo.custitem_al_ecommerce_categoria', 'is', custitem_al_ecommerce_categoria])\n }\n if (custitem_al_ecommerce_departamento) {\n if (filters.length > 0) {\n filters.push('and');\n }\n\n filters.push(['custrecord_gv_rlx_articulo.custitem_al_ecommerce_departamento', 'is', custitem_al_ecommerce_departamento])\n }\n if (custitem_efx_cmp_exclusivo) {\n if (filters.length > 0) {\n filters.push('and');\n }\n\n filters.push(['custrecord_gv_rlx_articulo.custitem_efx_cmp_exclusivo', 'is', custitem_efx_cmp_exclusivo])\n }\n if (vendor) {\n if (filters.length > 0) {\n filters.push('and');\n }\n\n filters.push(['custrecord_gv_rlx_articulo.vendor', 'is', vendor])\n }\n\n let apiName = 'portalvinoteca';\n let path = '/procesalocation';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'getDetail',\n filters: filters,\n internalid: internalid,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var itemsGet = await API.post(apiName, path, myInit);\n if (itemsGet.data.products) {\n setProductsFromLocationList(itemsGet.data.products);\n\n }\n\n }, [locationPayload, setProductsFromLocationList]);\n\n\n const editLocationButton = React.useCallback(async (internalid) => {\n if (!(window.event && (window.event.metaKey || window.event.ctrlKey))) {\n setVisibleLoadPanel(true);\n\n setIsDetail(true);\n\n await getLocationPayload(internalid);\n\n if (permissionLevel === 'Editar') {\n setActivateUpdateForm(true);\n setActivateUpdateGrid(true);\n setActivateSaveButton(true);\n }\n else {\n setActivateUpdateForm(false);\n setActivateUpdateGrid(false);\n setActivateSaveButton(false);\n }\n\n setVisibleLoadPanel(false);\n }\n }, [getLocationPayload, permissionLevel]);\n\n const cancelEditButton = React.useCallback(async () => {\n setVisibleLoadPanel(true);\n\n setIsDetail(false);\n\n await getLocationsList();\n\n setVisibleLoadPanel(false);\n\n history.push('/Locations');\n }, [getLocationsList, history]);\n\n const saveButton = React.useCallback(async () => {\n var locationName = locationPayload.name;\n var internalid = locationPayload.internalid;\n\n try {\n //Primero guardamos los cambios del grid Clusters\n if (gridClustersRef.current) {\n var gridClusters = gridClustersRef.current.instance;\n // Check if any row has empty or null cells before saving\n for (var i = 0; i < gridClusters.getDataSource().items().length; i++) {\n var row = gridClusters.getDataSource().items()[i];\n var hasEmptyCells = Object.values(row).some(x => (x === null || x === ''));\n\n if (hasEmptyCells) {\n setVisibleToast(true);\n setMessageToast(\"No se puede guardar una fila con una celda vacía. Por favor, borre la fila.\");\n setTypeToast('warning');\n setVisibleLoadPanel(false);\n return; // prevent saving and further processing\n }\n }\n\n gridClusters.saveEditData();\n }\n\n var result = confirm(\"<i>La asociación o desasociación de clusters a la ubicación actualizará miles de registros en Netsuite y solo debe realizarse por las mañanas. ¿Desea continuar?</i>\", \"Asociación de Clusters\");\n\n result.then(async (dialogResult) => {\n if (dialogResult) {\n setVisibleLoadPanel(true);\n\n // Actualizamos los datos en Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesalocation';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n locationName: locationName,\n internalid: internalid,\n action: 'postData',\n data: locationPayload,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var payloadPost = await API.post(apiName, path, myInit);\n\n if (payloadPost.success) {\n setVisibleToast(true);\n setMessageToast('Se actualizó con éxito');\n setTypeToast('success')\n }\n else if (!payloadPost.success) {\n setVisibleToast(true);\n setMessageToast(payloadPost.message);\n setTypeToast('error')\n }\n\n editLocationButton(internalid);\n\n setVisibleLoadPanel(false);\n }\n });\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (e === 'No current user') {\n history.push('/');\n\n //window.location.reload();\n }\n }\n }, [history, locationPayload, editLocationButton, gridClustersRef]);\n\n const onFieldDataChanged = React.useCallback((e) => {\n }, []);\n\n const editLocation = React.useCallback((data) => {\n return (\n <Link to={`/Locations/${data.data.internalid}`}>\n <button className=\"bg-blue-500 hover:bg-blue-700 text-white py-1 px-3 rounded\" onClick={() => editLocationButton(data.data.internalid)}><FontAwesomeIcon icon={permissionLevel === 'Editar' ? faPencilAlt : faGlasses} /> {permissionLevel === 'Editar' ? 'Editar' : 'Ver'}</button>\n </Link>\n )\n }, [editLocationButton, permissionLevel])\n\n const onAutoExpandAllChanged = React.useCallback(() => {\n setAutoExpandAll(!autoExpandAll)\n }, [autoExpandAll]);\n //-----------------------------------------------------------------------------------------------------------------\n\n try {\n var departamentoEditorOptions = useMemo(() => {\n return {\n items: departamentos,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (productsFromLocationList.custitem_al_ecommerce_departamento ? productsFromLocationList.custitem_al_ecommerce_departamento : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [productsFromLocationList.custitem_al_ecommerce_departamento, departamentos]);\n\n }\n catch (e) {\n var departamentoEditorOptions = {\n items: departamentos,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n try {\n var categoriaEditorOptions = useMemo(() => {\n return {\n items: categorias,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (productsFromLocationList.custitem_al_ecommerce_categoria ? productsFromLocationList.custitem_al_ecommerce_categoria : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [productsFromLocationList.custitem_al_ecommerce_categoria, categorias]);\n\n }\n catch (e) {\n var categoriaEditorOptions = {\n items: categorias,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n try {\n var exclusivoEditorOptions = useMemo(() => {\n return {\n items: exclusivo,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (locationPayload.custitem_efx_cmp_exclusivo ? locationPayload.custitem_efx_cmp_exclusivo : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [locationPayload.custitem_efx_cmp_exclusivo, exclusivo]);\n\n }\n catch (e) {\n var exclusivoEditorOptions = {\n items: exclusivo,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n var proveedorDataSource = useMemo(() => {\n return new DataSource({\n paginate: true,\n store: {\n type: \"array\",\n key: \"value\",\n data: proveedores\n }\n });\n }, [proveedores]);\n\n try {\n var vendorEditorOptions = useMemo(() => {\n return {\n dataSource: proveedorDataSource,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (locationPayload.vendor ? locationPayload.vendor : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [locationPayload.vendor, proveedorDataSource]);\n\n }\n catch (e) {\n var vendorEditorOptions = {\n items: proveedores,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n //-----------------------------------------------------------------------------------------------------------------\n var internalidEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: false };\n }, []);\n\n var tipoUbicacionEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var nombreCortoEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var parentEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var subsidiaryEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexLocationTypeEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexOpeningDateEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexClosingDateEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexSafetyLeadTimeEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexCDCEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexCDCIDEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexIDEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexReceiptLocationEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexReceiptLocationIDEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexTMKLocationEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var relexTMKIDLocationEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: true };\n }, []);\n\n var toastPosition = useMemo(() => {\n return {\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }\n }, []);\n\n\n\n\n\n\n const getDepartmentList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'departmentList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var departmentsGet = await API.post(apiName, path, myInit);\n\n setDepartamentos(departmentsGet.data);\n\n }, []);\n\n const getCategoryList = React.useCallback(async (Departamento) => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'categoryList',\n filter: ['custrecord_al_ecommerce_categoria_depto', 'is', Departamento],\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var categoriesGet = await API.post(apiName, path, myInit);\n\n setCategorias(categoriesGet.data);\n\n }, []);\n\n const getExclusiveList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'exclusiveList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var exclusiveGet = await API.post(apiName, path, myInit);\n\n setExclusivo(exclusiveGet.data);\n\n }, []);\n\n const getVendorList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'vendorList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var vendorGet = await API.post(apiName, path, myInit);\n\n setProveedores(vendorGet.data);\n }, []);\n\n\n const refreshButton = React.useCallback(async () => {\n if (updateCount > 0) {\n if (!window.confirm('Existen ' + updateCount + ' cambios pendientes. ¿Desea descartarlos?'))\n return;\n }\n\n setUpdateCount(0);\n setActivateSaveButton(false);\n\n if (gridProductLocationRef.current) {\n var gridProductLocation = gridProductLocationRef.current.instance;\n\n setVisibleLoadPanel(true);\n\n\n var departamento = locationPayload.custitem_al_ecommerce_departamento;\n var exclusivo = locationPayload.custitem_efx_cmp_exclusivo;\n var vendor = locationPayload.vendor;\n var has_filters = departamento || exclusivo || vendor\n //var has_filters = false;\n if (has_filters) {\n await getProductsFromLocation();\n }\n else {\n setVisibleToast(true);\n setMessageToast(\"Seleccione filtros para actualizar la lista de productos.\");\n setTypeToast('warning');\n }\n\n\n setVisibleLoadPanel(false);\n\n gridProductLocation.refresh();\n }\n }, [getProductsFromLocation, gridProductLocationRef, updateCount, locationPayload]);\n\n\n useEffect(() => {\n\n async function initialize() {\n setVisibleLoadPanel(true);\n\n await getLocationsList();\n\n await getClusterList();\n await getClusterTypeList();\n await getDepartmentList();\n\n await getExclusiveList();\n\n await getVendorList();\n\n\n setVisibleLoadPanel(false);\n }\n\n initialize();\n\n // En caso de solicitar un ID especifico, redireccionamos a ese ID\n if (!props.match.isExact) {\n var urlID = props.location.pathname.replace('/Locations/', '');\n\n editLocationButton(urlID);\n }\n\n }, [editLocationButton, getLocationsList, props.location.pathname, props.match.isExact, getClusterList, getClusterTypeList, getDepartmentList, getExclusiveList, getVendorList]);\n\n const onHidingToast = React.useCallback(() => {\n setVisibleToast(false);\n }, []);\n\n const onEditorClustersPreparing = React.useCallback((e) => {\n if (e.parentType === 'dataRow' && e.dataField === 'custrecord_al_portal_loc_cluster_clus') {\n if (e.row.data.internalid) {\n e.editorElement.classList.add('locked-lookup');\n }\n }\n }, []);\n\n const onCellClickClusters = React.useCallback((e) => {\n if (gridClustersRef.current) {\n setSelectedRowIndex(gridClustersRef.current.instance.getRowIndexByKey(e.key));\n }\n\n }, [gridClustersRef]);\n const onCellEditingStart = React.useCallback((e) => {\n if (gridClustersRef.current) {\n setSelectedRowIndex(gridClustersRef.current.instance.getRowIndexByKey(e.key));\n }\n\n }, [gridClustersRef]);\n\n const deleteRow = React.useCallback(() => {\n if (selectedRowIndex !== null && gridClustersRef.current) {\n\n try {\n gridClustersRef.current.instance.deleteRow(selectedRowIndex);\n } catch (error) {\n }\n\n }\n }, [gridClustersRef, selectedRowIndex]);\n\n const onFormFieldChanged = React.useCallback(async (e) => {\n var dataField = e.dataField;\n var value = e.value;\n\n if (formDatosGeneralesRef.current) {\n var formDatosGenerales = formDatosGeneralesRef.current.instance;\n\n if (e.dataField === 'custitem_al_ecommerce_departamento') {\n formDatosGenerales.updateData('custitem_al_ecommerce_categoria', undefined);\n\n if (e.value) {\n await getCategoryList(e.value);\n }\n }\n }\n }, [formDatosGeneralesRef, getCategoryList]);\n\n\n const setCellValueCluster = React.useCallback((rowData, value) => {\n var clusterID = parseInt(value);\n var editingRow = locationPayload.clusterList[selectedRowIndex];\n\n if (clusterID) {\n var input_cluster_type = clusters.find(cluster => parseInt(cluster.value) === clusterID).tipo;\n\n var duplicate = locationPayload.clusterList.find(cluster => (cluster.clusterType === input_cluster_type && cluster.isinactive === false));\n if (editingRow && (editingRow.internalid)) {\n setVisibleToast(true);\n setMessageToast(\"Cluster previamente asociado a la ubicación. No es posible modificarlo.\");\n setTypeToast('warning')\n if (gridClustersRef.current) {\n if (selectedRowIndex >= 0) {\n gridClustersRef.current.instance.cancelEditData();\n }\n }\n }\n else if (duplicate) {\n setVisibleToast(true);\n setMessageToast(\"Ya agregó un Cluster tipo \" + input_cluster_type + \" a la Ubicación.\");\n setTypeToast('warning')\n if (gridClustersRef.current) {\n\n // discard all changes\n if (selectedRowIndex >= 0) {\n // Delete the row\n deleteRow();\n }\n }\n }\n else {\n rowData.custrecord_al_portal_loc_cluster_clus = clusterID;\n\n for (var clusterIndex in clusters) {\n var singleCluster = clusters[clusterIndex];\n\n if (parseInt(singleCluster.value) === clusterID) {\n rowData.clusterName = singleCluster.name;\n rowData.clusterType = singleCluster.tipo;\n rowData.isinactive = false;\n }\n }\n }\n } else {\n var gridClusters = gridClustersRef.current.instance;\n gridClusters.deleteRow(selectedRowIndex) // discard all changes\n\n }\n }, [gridClustersRef, locationPayload, clusters, selectedRowIndex, deleteRow]);\n\n\n\n const setCellValueInactive = React.useCallback((rowData, value) => {\n var cluster_inactive = value;\n var editingRow = locationPayload.clusterList[selectedRowIndex];\n if (editingRow) {\n var internalid = editingRow.internalid ? editingRow.internalid : 0;\n var tipo = editingRow.clusterType ? editingRow.clusterType : null;\n var duplicate = locationPayload.clusterList.find(cluster => (parseInt(cluster.internalid) !== parseInt(internalid) && cluster.clusterType === tipo && cluster.isinactive === false));\n\n if (duplicate && cluster_inactive === false) {\n rowData.isinactive = true;\n setVisibleToast(true);\n setMessageToast(\"Otro cluster del mismo tipo está activo. No es posible activarlo.\");\n setTypeToast('warning')\n\n if (gridClustersRef.current) {\n if (selectedRowIndex >= 0) {\n gridClustersRef.current.instance.cancelEditData();\n }\n }\n }\n else {\n rowData.isinactive = cluster_inactive;\n }\n }\n else {\n rowData.isinactive = cluster_inactive;\n }\n }, [gridClustersRef, locationPayload, selectedRowIndex,]);\n\n function onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Datos');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Datos.xlsx');\n });\n });\n e.cancel = true;\n };\n \n return (\n <div>\n {isDetail === false ? (\n <div className=\"bg-gray-200 m-2\">\n <h1 className=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faList} size=\"lg\" /> Locations</h1>\n </div>\n ) :\n (\n <div className=\"bg-gray-200 m-2\">\n <h1 className=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1 pl-3\"><FontAwesomeIcon icon={faLocationDot} size=\"xl\" /> {locationPayload.name}</h1>\n </div>\n )}\n\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={toastPosition}\n />\n <div className=\"bg-gray-200 m-2\">\n {isDetail === false ? (\n <div className=\"bg-white p-3 shadow-xl\">\n <div className=\"options mb-2\">\n <div className=\"option\">\n <CheckBox text=\"Expandir todos los grupos\"\n value={autoExpandAll}\n onValueChanged={onAutoExpandAllChanged}>\n </CheckBox>\n </div>\n </div>\n <DataGrid\n id=\"gridLocationContainer\"\n columnsAutoWidth={true}\n filterBuilder={filterBuilder}\n dataSource={locationRecords}\n allowColumnReordering={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n showBorders={true}\n rowAlternationEnabled={true}\n showRowLines={true}\n showColumnLines={true}\n onExporting={onExporting}\n >\n <Scrolling rowRenderingMode='virtual'></Scrolling>\n <Paging defaultPageSize={10} />\n <Pager\n visible={true}\n allowedPageSizes={allowedPageSizes}\n displayMode='compact'\n showPageSizeSelector={true}\n showInfo={true}\n showNavigationButtons={true} />\n <FilterRow visible={true} />\n <FilterPanel visible={true} />\n <FilterBuilderPopup position={filterBuilderPopupPosition} />\n\n <HeaderFilter visible={true} />\n\n <GroupPanel visible={true} />\n <SearchPanel visible={true} />\n <ColumnChooser\n enabled={true}\n mode='select'\n >\n <ColumnChooserSearch\n enabled={true}\n />\n\n <ColumnChooserSelection\n allowSelectAll={true}\n selectByClick={true}\n recursive={true}\n />\n </ColumnChooser>\n\n <Grouping autoExpandAll={autoExpandAll} />\n <Export enabled={true} />\n <StateStoring enabled={true} type=\"localStorage\" storageKey=\"gridContainerListLocations\" />\n\n <Column caption=\"\" alignment=\"center\" width={100} cellRender={editLocation} />\n\n <Column dataField=\"parent\" caption=\"Ubicación Padre\" dataType=\"string\" width={250} groupIndex={0} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"name\" caption=\"Ubicación\" dataType=\"string\" width={250} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"subsidiary\" caption=\"Subsidiaria\" dataType=\"string\" width={250} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_vm_tipo_ubicacion\" caption=\"Tipo de Ubicación\" dataType=\"string\" width={250} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"city\" caption=\"Ciudad\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"internalid\" caption=\"internalid\" dataType=\"number\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecordcustrecord_vm_nombrecorto\" caption=\"Nombre Corto\" dataType=\"string\" width={200} visible={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_idrelex\" caption=\"ID Ubicación Relex\" dataType=\"string\" width={200} visible={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_al_rlx_safety_lead_time\" caption=\"Relex Safety Lead Time\" dataType=\"number\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_al_rlx_closing_date\" caption=\"Relex Closing Date\" dataType=\"date\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_al_rlx_opening_date\" caption=\"Relex Opening Date\" dataType=\"date\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_al_rlx_location_type\" caption=\"Relex Location Type\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_tmklocation\" caption=\"Telemarketing Location\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_cdclocation\" caption=\"Consumption Center Location\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_receiptlocation\" caption=\"Receipt Location\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_tmklocation_id\" caption=\"Telemarketing Location ID\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_cdclocation_id\" caption=\"Consumption Center Location ID\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custrecord_gv_rlx_receiptlocation_id\" caption=\"Receipt Location ID\" dataType=\"string\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n </DataGrid>\n </div>\n ) : (<div />)}\n <Route exact path=\"/Locations/:locationId\" render={({ match }) => {\n return (\n <div className=\"m-3 bg-gray-200\">\n {isDetail.toString() === 'true' ?\n (\n <div>\n <Link to=\"/Locations\">\n <button onClick={cancelEditButton} type=\"submit\" className=\"mb-4 bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faArrowRotateLeft} /> Regresar\n </button>\n </Link>\n {activateSaveButton.toString() === 'true' ?\n (\n <button onClick={saveButton} type=\"submit\" className=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n ) : (\n <div className=\"inline-block\"></div>\n )}\n\n <div className=\"mt-1 bg-white pt-3 shadow-xl\">\n <div className=\"ml-4 mr-4 bg-white pt-3\">\n <Form\n id=\"datosGenerales\"\n labelMode={'outside'}\n formData={locationPayload}\n\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={2}\n ref={formDatosGeneralesRef}\n onFieldDataChanged={onFormFieldChanged}\n >\n <GroupItem caption=\"Datos Generales\">\n <Item dataField=\"internalid\" editorOptions={internalidEditorOptions} >\n <Label text=\"internalid\" visible={false} />\n </Item>\n <Item dataField=\"custrecord_vm_tipo_ubicacion\" editorOptions={tipoUbicacionEditorOptions} >\n <Label text=\"Tipo de Ubicación\" />\n </Item>\n <Item dataField=\"custrecordcustrecord_vm_nombrecorto\" editorOptions={nombreCortoEditorOptions} >\n <Label text=\"Nombre Corto\" />\n </Item>\n <Item dataField=\"parent\" editorOptions={parentEditorOptions} >\n <Label text=\"Ubicación Padre\" />\n </Item>\n <Item dataField=\"subsidiary\" editorOptions={subsidiaryEditorOptions} >\n <Label text=\"Subsidiaria\" />\n </Item>\n </GroupItem>\n <GroupItem caption=\"Datos Relex\" colCount={2}>\n <Item dataField=\"custrecord_al_rlx_location_type\" editorOptions={relexLocationTypeEditorOptions} >\n <Label text=\"Location Type\" />\n </Item>\n <Item dataField=\"custrecord_al_rlx_opening_date\" editorType=\"dxDateBox\" editorOptions={relexOpeningDateEditorOptions} >\n <Label text=\"Opening Date\" />\n </Item>\n <Item dataField=\"custrecord_al_rlx_closing_date\" editorType=\"dxDateBox\" editorOptions={relexClosingDateEditorOptions} >\n <Label text=\"Closing Date\" />\n </Item>\n <Item dataField=\"custrecord_al_rlx_safety_lead_time\" editorOptions={relexSafetyLeadTimeEditorOptions} >\n <Label text=\"Safety Lead Time\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_cdclocation\" editorOptions={relexCDCEditorOptions} >\n <Label text=\"Consumption Center Location\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_cdclocation_id\" editorOptions={relexCDCIDEditorOptions} >\n <Label text=\"Consumption Center Location ID\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_idrelex\" editorOptions={relexIDEditorOptions} >\n <Label text=\"ID Ubicación\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_receiptlocation\" editorOptions={relexReceiptLocationEditorOptions} >\n <Label text=\"Receipt Location\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_receiptlocation_id\" editorOptions={relexReceiptLocationIDEditorOptions} >\n <Label text=\"Receipt Location ID\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_tmklocation\" editorOptions={relexTMKLocationEditorOptions} >\n <Label text=\"Telemarketing Location\" />\n </Item>\n <Item dataField=\"custrecord_gv_rlx_tmklocation_id\" editorOptions={relexTMKIDLocationEditorOptions} >\n <Label text=\"Telemarketing Location ID\" />\n </Item>\n\n </GroupItem>\n\n\n <GroupItem caption=\"Clusters\" colSpan={2}>\n <TabbedItem>\n <TabPanelOptions deferRendering={false} showNavButtons={true} />\n <Tab title=\"Clusters\">\n <DataGrid\n id=\"gridClusters\"\n ref={gridClustersRef}\n columnsAutoWidth={true}\n dataSource={locationPayload.clusterList}\n showBorders={true}\n showColumnLines={true}\n showRowLines={true}\n rowAlternationEnabled={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n allowColumnReordering={false}\n repaintChangesOnly={true}\n\n onEditorPreparing={onEditorClustersPreparing}\n onCellClick={onCellClickClusters}\n onEditingStart={onCellEditingStart}\n >\n <Scrolling\n mode='virtual'\n />\n <Editing\n mode=\"row\"\n newRowPosition=\"last\"\n allowUpdating={activateUpdateGrid}\n allowAdding={activateUpdateGrid}\n allowDeleting={false}\n confirmDelete={false}\n useIcons={true}\n />\n\n <Sorting mode=\"none\" />\n <Column dataField=\"clusterName\" dataType=\"string\" width={100} visible={false} allowEditing={false} />\n <Column\n dataField=\"custrecord_al_portal_loc_cluster_clus\"\n caption=\"Cluster\"\n setCellValue={setCellValueCluster}\n width={300}\n cellTemplate={(cellElement, cellInfo) => {\n const { data } = cellInfo;\n if (data.internalid) {\n cellElement.innerHTML = `🔒 ${data.clusterName}`;\n cellElement.classList.add('locked-cell');\n } else {\n cellElement.innerHTML = data.clusterName;\n cellElement.classList.remove('locked-cell');\n }\n }}\n >\n <Lookup\n dataSource={clusters}\n valueExpr=\"value\"\n displayExpr={(data) => `${data.tipo}: ${data.name}`}\n />\n <RequiredRule message=\"Cluster is required\" />\n </Column>\n <Column dataField=\"clusterType\" caption=\"Tipo de Cluster\" dataType=\"string\" width={150} visible={true} allowEditing={false} />\n <Column\n width={100}\n dataField=\"isinactive\"\n caption=\"Inactivo\"\n setCellValue={setCellValueInactive}\n dataType=\"boolean\"\n cellTemplate={(cellElement, cellInfo) => {\n const { data } = cellInfo;\n const checkboxSymbol = data.isinactive ? \"🚫\" : \" \";\n cellElement.innerHTML = checkboxSymbol;\n }}\n />\n\n <Column width={100} cellRender={(cellData) =>\n !cellData.row.data.internalid ? ( // put your condition here\n <button\n style={{ color: \"darkred\", marginLeft: '5px', textDecoration: 'underline' }}\n\n onClick={(event) => {\n event.preventDefault();\n deleteRow();\n }}\n >\n <FontAwesomeIcon icon={faTrash} /> Eliminar\n </button>\n ) : null\n } />\n </DataGrid>\n </Tab>\n <Tab title=\"Product-Location\">\n <GroupItem caption=\"Filtros\" colCount={4}>\n <Item colSpan={4} >\n <button onClick={refreshButton} type=\"submit\" className=\"mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faArrowsRotate} /> Actualizar\n </button></Item>\n <Item dataField=\"custitem_al_ecommerce_departamento\" editorType=\"dxSelectBox\" editorOptions={departamentoEditorOptions} colSpan={2} >\n <Label text={\"Departamento\"} />\n </Item>\n <Item dataField=\"custitem_al_ecommerce_categoria\" editorType=\"dxSelectBox\" editorOptions={categoriaEditorOptions} colSpan={2} >\n <Label text={\"Categoría\"} />\n </Item>\n <Item dataField=\"custitem_efx_cmp_exclusivo\" editorType=\"dxSelectBox\" editorOptions={exclusivoEditorOptions} colSpan={2} >\n <Label text={\"Exclusivo\"} />\n </Item>\n <Item dataField=\"vendor\" editorType=\"dxSelectBox\" editorOptions={vendorEditorOptions} colSpan={2} >\n <Label text={\"Proveedor\"} />\n </Item>\n\n <Item badge=\"First\" colSpan={4} >\n <DataGrid\n id=\"gridProductLocation\"\n ref={gridProductLocationRef}\n columnsAutoWidth={true}\n dataSource={productsFromLocationList}\n showBorders={true}\n showColumnLines={true}\n showRowLines={true}\n rowAlternationEnabled={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n allowColumnReordering={true}\n repaintChangesOnly={true}\n filterBuilder={filterBuilder}\n onExporting={onExporting}\n >\n <Scrolling mode='virtual' />\n <Paging defaultPageSize={50} />\n\n <Pager\n visible={true}\n allowedPageSizes={allowedPageSizes}\n displayMode='compact'\n showPageSizeSelector={true}\n showInfo={true}\n showNavigationButtons={true} />\n <FilterRow visible={true} />\n <FilterPanel visible={true} />\n <FilterBuilderPopup position={filterBuilderPopupPosition} />\n\n <HeaderFilter visible={true} />\n\n <GroupPanel visible={true} />\n <SearchPanel visible={true} />\n <ColumnChooser\n enabled={true}\n mode='select'\n >\n <ColumnChooserSearch\n enabled={true}\n />\n\n <ColumnChooserSelection\n allowSelectAll={true}\n selectByClick={true}\n recursive={true}\n />\n </ColumnChooser>\n <ColumnFixing enabled={true} />\n <Grouping autoExpandAll={autoExpandAll} />\n <Export enabled={true} />\n\n <StateStoring enabled={true} type=\"localStorage\" storageKey=\"gridContainerProductLocation\" />\n\n <Editing\n mode=\"cell\"\n newRowPosition=\"last\"\n allowUpdating={false}\n allowAdding={false}\n allowDeleting={false}\n />\n\n <Column dataField=\"isinactive\" caption=\"Inactivo\" allowEditing={false} dataType=\"boolean\" width={120} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"itemid\" caption=\"Nombre/Número del Artículo\" allowEditing={false} dataType=\"string\" width={250} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"displayname\" caption=\"Nombre/Código para mostrar\" allowEditing={false} dataType=\"string\" width={400} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_gv_rlx_startsupplydate\" caption=\"Fecha Inicio Abastecimiento\" dataType=\"date\" allowEditing={false} width={220} visible={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_gv_rlx_endsupplydate\" caption=\"Fecha Fin Abastecimiento\" dataType=\"date\" allowEditing={false} width={220} visible={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_categoria\" caption=\"eCommerce Categoría\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_departamento\" caption=\"eCommerce Departamento\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_familia\" caption=\"eCommerce Familia\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_marca\" caption=\"eCommerce Marca\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_pais\" caption=\"eCommerce País\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_region\" caption=\"eCommerce Región\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_subfamilia\" caption=\"eCommerce Subfamilia\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_submarca\" caption=\"eCommerce Submarca\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_subregion\" caption=\"eCommerce Subregión\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_tipo_organico\" caption=\"eCommerce Tipo Orgánico\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_varietal\" caption=\"eCommerce Varietal\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n\n <Column dataField=\"custitem_efx_cmp_exclusivo\" caption=\"Exclusivo\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"vendor\" caption=\"Proveedor Principal\" dataType=\"string\" width={300} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n </DataGrid>\n </Item>\n </GroupItem>\n </Tab>\n </TabbedItem>\n </GroupItem>\n </Form>\n </div>\n </div>\n </div>\n ) :\n (<div></div>)\n }\n </div>\n );\n }}\n />\n </div>\n </div >\n );\n}","import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Grid\nimport DataGrid, {\n Column, FilterRow, HeaderFilter, FilterPanel, FilterBuilderPopup,\n GroupPanel, Grouping, SearchPanel, Sorting, Editing, Lookup, Toolbar, Item, RequiredRule,\n Scrolling, Pager, Paging, Summary, TotalItem, StateStoring, ColumnChooser, Export,\n ColumnChooserSearch, ColumnChooserSelection, Search\n} from 'devextreme-react/data-grid';\n\n//CheckBox\nimport CheckBox from 'devextreme-react/check-box';\n\n//confirm\nimport { confirm } from 'devextreme/ui/dialog';\n\n//Form\nimport Form, { GroupItem, Label, TabbedItem, TabPanelOptions, Tab } from 'devextreme-react/form';\n\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faGlasses } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faPencilAlt } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faArrowRotateLeft } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faList } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faBox } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faFileAlt } from \"@fortawesome/pro-solid-svg-icons\";\n\nimport './Clusters.css';\n\nimport '../ListStyle.css';\n\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { exportDataGrid } from 'devextreme/excel_exporter'\n\nexport default function Clusters(props) {\n const history = useHistory();\n\n const [isDetail, setIsDetail] = useState(false);\n const [id, setId] = useState();\n const [permissionLevel, setPermissionLevel] = useState(props.nivel);\n const [clusterRecords, setClusterRecords] = useState([]);\n const [clusterType, setClusterType] = useState([]);\n\n const [clusterPayload, setClusterPayload] = useState({});\n\n const [activateSaveButton, setActivateSaveButton] = useState(false);\n const [activateUpdateForm, setActivateUpdateForm] = useState(false);\n\n const [autoExpandAll, setAutoExpandAll] = useState(true);\n\n //Controles para expander los grupos del grid de checklist\n const [autoExpandAllChecklist, setAutoExpandAllChecklist] = useState(true);\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n\n //Ref para el form\n const [formDatosGeneralesRef, setFormDatosGeneralesRef] = useState(React.createRef());\n\n function getOrderDay(rowData) {\n return (new Date(rowData.OrderDate)).getDay();\n };\n\n const filterBuilder = useMemo(() => {\n return {\n customOperations: [{\n name: 'weekends',\n caption: 'Weekends',\n dataTypes: ['date'],\n icon: 'check',\n hasValue: false,\n calculateFilterExpression: () => [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]],\n }],\n allowHierarchicalFields: true,\n };\n }, []);\n\n const filterBuilderPopupPosition = useMemo(() => {\n return {\n of: window,\n at: 'top',\n my: 'top',\n offset: { y: 10 },\n };\n }, []);\n\n const allowedPageSizes = useMemo(() => {\n return [5, 10, 15, 20, 'all'];\n }, []);\n\n const exportFormats = useMemo(() => {\n return ['xlsx'];\n }, []);\n\n const getClusterList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesacluster';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'list',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var clustersGet = await API.post(apiName, path, myInit);\n\n setClusterRecords(clustersGet.data);\n }, []);\n\n const getClusterTypeList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'clusterTypeList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var clusterTypeGet = await API.post(apiName, path, myInit);\n\n setClusterType(clusterTypeGet.data);\n }, []);\n\n const getClusterPayload = React.useCallback(async (internalid, clusterName) => {\n try {\n let apiName = 'portalvinoteca';\n let path = '/procesacluster';\n var location = {};\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n 'action': 'payload'\n , 'internalid': internalid\n , 'name': clusterName\n , 'q': window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n },\n }\n\n var clusterPayload = await API.post(apiName, path, myInit);\n\n setClusterPayload(clusterPayload.data);\n }\n catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history]);\n\n const newButton = React.useCallback(async () => {\n try {\n setVisibleLoadPanel(true);\n\n setClusterPayload({});\n\n setIsDetail(true);\n setId(undefined);\n\n setActivateUpdateForm(true);\n setActivateSaveButton(true);\n\n setVisibleLoadPanel(false);\n }\n catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history]);\n\n const editClusterButton = React.useCallback(async (internalid, clusterName) => {\n try {\n if (!(window.event && (window.event.metaKey || window.event.ctrlKey))) {\n setVisibleLoadPanel(true);\n\n await getClusterPayload(internalid, clusterName);\n\n setIsDetail(true);\n setId(internalid);\n\n if (permissionLevel === 'Editar') {\n setActivateUpdateForm(true);\n setActivateSaveButton(true);\n }\n else {\n setActivateUpdateForm(false);\n setActivateSaveButton(false);\n }\n\n setVisibleLoadPanel(false);\n }\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (!internalid || internalid === 'undefined') {\n newButton();\n }\n }\n }, [getClusterPayload, permissionLevel, newButton]);\n\n const cancelEditButton = React.useCallback(async () => {\n setVisibleLoadPanel(true);\n\n setIsDetail(false);\n\n await getClusterList();\n\n setVisibleLoadPanel(false);\n\n history.push('/Clusters');\n\n }, [getClusterList, history]);\n\n const saveButton = React.useCallback(async () => {\n var locationName = clusterPayload.name;\n var internalid = clusterPayload.internalid;\n\n if (formDatosGeneralesRef.current) {\n var formDatosGenerales = formDatosGeneralesRef.current.instance;\n var isValid = formDatosGenerales.validate();\n\n if (!isValid.isValid) {\n setVisibleToast(true);\n setMessageToast(isValid.brokenRules[0].message);\n setTypeToast('error');\n return;\n }\n }\n\n var result = confirm(\"<i>La creación o actualización de clusters actualizará miles de registros en Netsuite y solo debe realizarse por las mañanas. ¿Desea continuar?</i>\", \"Actualización de Clusters\");\n\n result.then(async (dialogResult) => {\n if (dialogResult) {\n try {\n setVisibleLoadPanel(true);\n\n // Actualizamos los datos en Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesacluster';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n locationName: locationName,\n internalid: internalid,\n action: 'postData',\n data: clusterPayload,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var payloadPost = await API.post(apiName, path, myInit);\n\n if (payloadPost.success) {\n if (!internalid) {\n setVisibleToast(true);\n setMessageToast('Se creó el Cluster con éxito');\n setTypeToast('success')\n\n var newID = payloadPost.data.id;\n\n editClusterButton(newID);\n\n history.push('/Clusters/' + newID.toString());\n }\n else {\n setVisibleToast(true);\n setMessageToast('Se actualizó el Cluster con éxito');\n setTypeToast('success')\n }\n }\n else if (!payloadPost.success) {\n setVisibleToast(true);\n setMessageToast(payloadPost.message);\n setTypeToast('error')\n }\n\n editClusterButton(internalid);\n\n setVisibleLoadPanel(false);\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }\n });\n }, [history, clusterPayload, editClusterButton, formDatosGeneralesRef]);\n\n const onFieldDataChanged = React.useCallback((e) => {\n }, []);\n\n const editCluster = React.useCallback((data) => {\n return (\n <Link to={`/Clusters/${data.data.internalid}`}>\n <button class=\"bg-blue-500 hover:bg-blue-700 text-white py-1 px-3 rounded\" onClick={() => editClusterButton(data.data.internalid, data.data.name)}><FontAwesomeIcon icon={permissionLevel === 'Editar' ? faPencilAlt : faGlasses} /> {permissionLevel === 'Editar' ? 'Editar' : 'Ver'}</button>\n </Link>\n )\n }, [editClusterButton, permissionLevel]);\n\n const onAutoExpandAllChanged = React.useCallback(() => {\n setAutoExpandAll(!autoExpandAll)\n }, [autoExpandAll]);\n\n const clusterEnabled = React.useCallback((data) => {\n var statusText = '';\n\n if (!data.data.custrecord_al_por_clu_inactive)\n statusText = 'Activo';\n else\n statusText = 'Inactivo';\n\n return (\n <span className={!data.data.custrecord_al_por_clu_inactive ? \"px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-sm\" : \"px-2 py-1 font-semibold leading-tight text-red-700 bg-red-100 rounded-sm\"}> {statusText} </span>\n )\n }, []);\n\n var internalidEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: false };\n }, []);\n\n var clusterNameEditorOptions = useMemo(() => {\n return { width: '100%', inputAttr: { 'style': 'text-transform: uppercase' } };\n }, []);\n\n var capacityEditorOptions = useMemo(() => {\n return { width: '100%', visible: true, format: '#,##0' };\n }, []);\n\n var descriptionEditorOptions = useMemo(() => {\n return { width: '100%', visible: true, inputAttr: { 'style': 'text-transform: uppercase' } };\n }, []);\n\n //Opciones Tipo de Cluster\n try {\n var tipoClusterEditorOptions = useMemo(() => {\n return {\n dataSource: clusterType,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (clusterPayload.custrecord_al_por_clu_type ? clusterPayload.custrecord_al_por_clu_type : ''), width: '100%'\n };\n }, [clusterType, clusterPayload.custrecord_al_por_clu_type]);\n }\n catch (e) {\n var tipoClusterEditorOptions = {\n dataSource: clusterType,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%'\n };\n }\n\n //Opciones Nivel de Permiso\n const levelOptions = useMemo(() => {\n return [\n { value: 1, name: 'Ver' },\n { value: 2, name: 'Editar' }\n ];\n }, []);\n\n var toastPosition = useMemo(() => {\n return {\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }\n }, []);\n\n useEffect(() => {\n async function initialize() {\n setVisibleLoadPanel(true);\n\n await getClusterList();\n\n await getClusterTypeList();\n\n setVisibleLoadPanel(false);\n }\n\n initialize();\n\n // En caso de solicitar un ID especifico, redireccionamos a ese ID\n if (!props.match.isExact) {\n var urlID = props.location.pathname.replace('/Clusters/', '');\n\n if (urlID === 'undefined')\n urlID = undefined;\n\n if (urlID)\n editClusterButton(urlID);\n else\n newButton();\n }\n\n }, [editClusterButton, getClusterList, props.location.pathname, props.match.isExact, newButton, getClusterTypeList]);\n\n const onHidingToast = React.useCallback(() => {\n setVisibleToast(false);\n }, []);\n\n function onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Datos');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Datos.xlsx');\n });\n });\n e.cancel = true;\n };\n\n return (\n <div>\n {isDetail === false ? (\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faList} size=\"lg\" /> Clusters</h1>\n </div>\n ) :\n (\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1 pl-3\"><FontAwesomeIcon icon={faBox} size=\"xl\" /> {clusterPayload.name}</h1>\n </div>\n )}\n\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={toastPosition}\n />\n\n <div class=\"bg-gray-200 m-2\">\n {isDetail === false ? (\n <div class=\"bg-white p-3 shadow-xl\">\n\n {permissionLevel === 'Editar' ?\n (\n <div>\n <Link to=\"/Clusters/undefined\">\n <button class=\"mb-2 bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded\" onClick={() => newButton()}><FontAwesomeIcon icon={faFileAlt} /> Nuevo Cluster</button>\n </Link>\n </div>\n ) :\n (\n <div>\n </div>\n )}\n\n <div className=\"options mb-2\">\n <div className=\"option\">\n <CheckBox text=\"Expandir todos los grupos\"\n value={autoExpandAll}\n onValueChanged={onAutoExpandAllChanged}>\n </CheckBox>\n </div>\n </div>\n <DataGrid\n id=\"gridContainer\"\n columnsAutoWidth={true}\n filterBuilder={filterBuilder}\n dataSource={clusterRecords}\n allowColumnReordering={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n showBorders={true}\n rowAlternationEnabled={true}\n showRowLines={true}\n showColumnLines={true}\n onExporting={onExporting}\n >\n <Scrolling rowRenderingMode='virtual'></Scrolling>\n <Paging defaultPageSize={10} />\n <Pager\n visible={true}\n allowedPageSizes={allowedPageSizes}\n displayMode='compact'\n showPageSizeSelector={true}\n showInfo={true}\n showNavigationButtons={true} />\n <FilterRow visible={true} />\n <FilterPanel visible={true} />\n <FilterBuilderPopup position={filterBuilderPopupPosition} />\n\n <HeaderFilter visible={true} />\n\n <GroupPanel visible={true} />\n <SearchPanel visible={true} />\n <ColumnChooser\n enabled={true}\n mode='select'\n >\n <ColumnChooserSearch\n enabled={true}\n />\n\n <ColumnChooserSelection\n allowSelectAll={true}\n selectByClick={true}\n recursive={true}\n />\n </ColumnChooser>\n <Grouping autoExpandAll={autoExpandAll} />\n <Export enabled={true} />\n <StateStoring enabled={true} type=\"localStorage\" storageKey=\"gridContainerListClusters\" />\n\n <Column caption=\"\" alignment=\"center\" width={100} cellRender={editCluster} />\n <Column caption=\"Tipo de Cluster\" dataField=\"custrecord_al_por_clu_type\" dataType=\"string\" width={300} groupIndex={0} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"Cluster\" dataField=\"name\" dataType=\"string\" width={200} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"Descripción\" dataField=\"custrecord_al_por_clu_desc\" dataType=\"string\" width={300} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"Capacidad\" dataField=\"custrecord_al_por_clu_capacity\" format=\"#,##0\" dataType=\"number\" width={130} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"internalid\" dataField=\"internalid\" dataType=\"number\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"Estatus\" alignment=\"center\" width={120} cellRender={clusterEnabled} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n </DataGrid>\n </div>\n ) : (<div />)}\n <Route exact path=\"/Clusters/:clusterId\" render={({ match }) => {\n return (\n <div class=\"m-3 bg-gray-200\">\n {isDetail.toString() === 'true' ?\n (\n <div>\n <Link to=\"/Clusters\">\n <button onClick={cancelEditButton} type=\"submit\" class=\"mb-4 bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faArrowRotateLeft} /> Regresar\n </button>\n </Link>\n\n {activateSaveButton.toString() === 'true' ?\n (\n <button onClick={saveButton} type=\"submit\" class=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n ) : (\n <div class=\"inline-block\"></div>\n )}\n\n <div class=\"mt-1 bg-white pt-3 shadow-xl\">\n <div class=\"ml-4 mr-4 bg-white pt-3\">\n <Form id=\"datosGenerales\"\n labelMode={'outside'}\n formData={clusterPayload}\n readOnly={!activateUpdateForm}\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={2}\n onFieldDataChanged={onFieldDataChanged}\n ref={formDatosGeneralesRef}\n >\n <GroupItem caption=\"Datos Generales\">\n <Item cssClass=\"boldText\" dataField=\"internalid\" editorOptions={internalidEditorOptions} >\n <Label text=\"\" visible={false} />\n </Item>\n <Item cssClass=\"boldText\" dataField=\"name\" editorOptions={clusterNameEditorOptions} >\n <Label text={\"Nombre\"} />\n <RequiredRule message=\"Nombre es requerido\" />\n </Item>\n <Item dataField=\"custrecord_al_por_clu_type\" editorType=\"dxSelectBox\" editorOptions={tipoClusterEditorOptions} >\n <Label text=\"Tipo de Cluster\" />\n <RequiredRule message=\"Tipo de Cluster es requerido\" />\n </Item>\n <Item dataField=\"custrecord_al_por_clu_desc\" editorType=\"dxTextArea\" editorOptions={descriptionEditorOptions} >\n <Label text=\"Descripción\" />\n </Item>\n <Item dataField=\"custrecord_al_por_clu_capacity\" editorType=\"dxNumberBox\" editorOptions={capacityEditorOptions} >\n <Label text=\"Capacidad\" />\n </Item>\n <Item dataField=\"custrecord_al_por_clu_inactive\" editorType=\"dxCheckBox\" >\n <Label text=\"Inactivo\" />\n </Item>\n\n </GroupItem>\n </Form>\n </div>\n </div>\n </div>\n ) :\n (<div></div>)\n }\n </div>\n );\n }}\n />\n </div>\n </div>\n );\n}","import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Grid\nimport DataGrid, {\n Column, FilterRow, HeaderFilter, FilterPanel, FilterBuilderPopup,\n GroupPanel, Grouping, SearchPanel, Sorting, Editing, Lookup, Toolbar, Item, RequiredRule,\n Scrolling, Pager, Paging, Summary, TotalItem, StateStoring, ColumnChooser, Export,\n ColumnChooserSearch, ColumnChooserSelection, Search\n} from 'devextreme-react/data-grid';\n\n//CheckBox\nimport CheckBox from 'devextreme-react/check-box';\nimport TextArea from 'devextreme-react/text-area';\n\n//TagBox\nimport TagBox from \"devextreme/ui/tag_box\";\n\n//Form\nimport Form, { GroupItem, Label, TabbedItem, TabPanelOptions, Tab } from 'devextreme-react/form';\n\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faGlasses } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faPencilAlt } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faArrowRotateLeft } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faList } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faTag } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faFileAlt } from \"@fortawesome/pro-solid-svg-icons\";\n\nimport './ClusterType.css';\n\nimport '../ListStyle.css';\n\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { exportDataGrid } from 'devextreme/excel_exporter'\n\nexport default function Clusters(props) {\n const history = useHistory();\n\n const [isDetail, setIsDetail] = useState(false);\n const [id, setId] = useState();\n const [permissionLevel, setPermissionLevel] = useState(props.nivel);\n const [clusterRecords, setClusterRecords] = useState([]);\n\n const [clusterTypePayload, setClusterTypePayload] = useState({});\n\n const [activateSaveButton, setActivateSaveButton] = useState(false);\n const [activateUpdateForm, setActivateUpdateForm] = useState(false);\n\n const [autoExpandAll, setAutoExpandAll] = useState(true);\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n\n //Ref para el form\n const [formDatosGeneralesRef, setFormDatosGeneralesRef] = useState(React.createRef());\n\n function getOrderDay(rowData) {\n return (new Date(rowData.OrderDate)).getDay();\n };\n\n const filterBuilder = useMemo(() => {\n return {\n customOperations: [{\n name: 'weekends',\n caption: 'Weekends',\n dataTypes: ['date'],\n icon: 'check',\n hasValue: false,\n calculateFilterExpression: () => [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]],\n }],\n allowHierarchicalFields: true,\n };\n }, []);\n\n const filterBuilderPopupPosition = useMemo(() => {\n return {\n of: window,\n at: 'top',\n my: 'top',\n offset: { y: 10 },\n };\n }, []);\n\n const allowedPageSizes = useMemo(() => {\n return [5, 10, 15, 20, 'all'];\n }, []);\n\n const exportFormats = useMemo(() => {\n return ['xlsx'];\n }, []);\n\n const getClusterTypeList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesaclustertype';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'list',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var clustersGet = await API.post(apiName, path, myInit);\n\n setClusterRecords(clustersGet.data);\n }, []);\n\n const getClusterTypePayload = React.useCallback(async (internalid, clusterTypeName) => {\n try {\n let apiName = 'portalvinoteca';\n let path = '/procesaclustertype';\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n 'action': 'payload'\n , 'internalid': internalid\n , 'name': clusterTypeName\n , 'q': window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var clusterTypePayload = await API.post(apiName, path, myInit);\n\n setClusterTypePayload(clusterTypePayload.data);\n } catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history]);\n\n const newButton = React.useCallback(async () => {\n try {\n setVisibleLoadPanel(true);\n\n setClusterTypePayload({});\n\n setIsDetail(true);\n setId(undefined);\n\n setActivateUpdateForm(true);\n setActivateSaveButton(true);\n\n setVisibleLoadPanel(false);\n } catch (e) {\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history]);\n\n const editClusterTypeButton = React.useCallback(async (internalid, clusterTypeName) => {\n try {\n if (!(window.event && (window.event.metaKey || window.event.ctrlKey))) {\n setVisibleLoadPanel(true);\n\n await getClusterTypePayload(internalid, clusterTypeName);\n\n setIsDetail(true);\n setId(internalid);\n\n if (permissionLevel === 'Editar') {\n setActivateUpdateForm(true);\n setActivateSaveButton(true);\n }\n else {\n setActivateUpdateForm(false);\n setActivateSaveButton(false);\n }\n\n setVisibleLoadPanel(false);\n }\n } catch (e) {\n setVisibleLoadPanel(false);\n\n if (!internalid || internalid === 'undefined') {\n newButton();\n }\n }\n }, [getClusterTypePayload, permissionLevel, newButton]);\n\n const cancelEditButton = React.useCallback(async () => {\n setVisibleLoadPanel(true);\n\n setIsDetail(false);\n\n await getClusterTypeList();\n\n setVisibleLoadPanel(false);\n\n history.push('/ClusterType');\n\n }, [getClusterTypeList, history]);\n\n const saveButton = React.useCallback(async () => {\n var locationName = clusterTypePayload.name;\n var internalid = clusterTypePayload.internalid;\n\n if (formDatosGeneralesRef.current) {\n var formDatosGenerales = formDatosGeneralesRef.current.instance;\n var isValid = formDatosGenerales.validate();\n\n if (!isValid.isValid) {\n setVisibleToast(true);\n setMessageToast(isValid.brokenRules[0].message);\n setTypeToast('error');\n return;\n }\n }\n\n try {\n setVisibleLoadPanel(true);\n\n // Actualizamos los datos en Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesaclustertype';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n locationName: locationName,\n internalid: internalid,\n action: 'postData',\n data: clusterTypePayload,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var payloadPost = await API.post(apiName, path, myInit);\n\n if (payloadPost.success) {\n if (!internalid) {\n setVisibleToast(true);\n setMessageToast('Se creó el Cluster Type con éxito');\n setTypeToast('success')\n\n var newID = payloadPost.data.id;\n\n editClusterTypeButton(newID);\n\n history.push('/ClusterType/' + newID.toString());\n }\n else {\n setVisibleToast(true);\n setMessageToast('Se actualizó el Cluster Type con éxito');\n setTypeToast('success')\n }\n }\n else if (!payloadPost.success) {\n setVisibleToast(true);\n setMessageToast(payloadPost.message);\n setTypeToast('error')\n }\n\n editClusterTypeButton(internalid);\n\n setVisibleLoadPanel(false);\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history, clusterTypePayload, editClusterTypeButton, formDatosGeneralesRef]);\n\n const onFieldDataChanged = React.useCallback((e) => {\n }, []);\n\n const editClusterType = React.useCallback((data) => {\n return (\n <Link to={`/ClusterType/${data.data.internalid}`}>\n <button class=\"bg-blue-500 hover:bg-blue-700 text-white py-1 px-3 rounded\" onClick={() => editClusterTypeButton(data.data.internalid, data.data.name)}><FontAwesomeIcon icon={permissionLevel === 'Editar' ? faPencilAlt : faGlasses} /> {permissionLevel === 'Editar' ? 'Editar' : 'Ver'}</button>\n </Link>\n )\n }, [editClusterTypeButton, permissionLevel]);\n\n const onAutoExpandAllChanged = React.useCallback(() => {\n setAutoExpandAll(!autoExpandAll)\n }, [autoExpandAll]);\n\n const clusterTypeEnabled = React.useCallback((data) => {\n var statusText = '';\n\n if (!data.data.isinactive)\n statusText = 'Activo';\n else\n statusText = 'Inactivo';\n\n return (\n <span className={!data.data.isinactive ? \"px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-sm\" : \"px-2 py-1 font-semibold leading-tight text-red-700 bg-red-100 rounded-sm\"}> {statusText} </span>\n )\n }, []);\n\n var internalidEditorOptions = useMemo(() => {\n return { width: '100%', readOnly: true, visible: false };\n }, []);\n\n var clusterTypeNameEditorOptions = useMemo(() => {\n return { width: '100%', inputAttr: { 'style': 'text-transform: uppercase' } };\n }, []);\n\n //Opciones Nivel de Permiso\n const levelOptions = useMemo(() => {\n return [\n { value: 1, name: 'Ver' },\n { value: 2, name: 'Editar' }\n ];\n }, []);\n\n var toastPosition = useMemo(() => {\n return {\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }\n }, []);\n\n useEffect(() => {\n async function initialize() {\n setVisibleLoadPanel(true);\n\n await getClusterTypeList();\n\n setVisibleLoadPanel(false);\n }\n\n initialize();\n\n // En caso de solicitar un ID especifico, redireccionamos a ese ID\n if (!props.match.isExact) {\n var urlID = props.location.pathname.replace('/ClusterType/', '');\n\n if (urlID === 'undefined')\n urlID = undefined;\n\n if (urlID)\n editClusterTypeButton(urlID);\n else\n newButton();\n }\n\n }, [editClusterTypeButton, getClusterTypeList, props.location.pathname, props.match.isExact, newButton]);\n\n const onHidingToast = React.useCallback(() => {\n setVisibleToast(false);\n }, []);\n\n function onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Datos');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Datos.xlsx');\n });\n });\n e.cancel = true;\n };\n\n return (\n <div>\n {isDetail === false ? (\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faList} size=\"lg\" /> Cluster Types</h1>\n </div>\n ) :\n (\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1 pl-3\"><FontAwesomeIcon icon={faTag} size=\"xl\" /> {clusterTypePayload.name}</h1>\n </div>\n )}\n\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={toastPosition}\n />\n\n <div class=\"bg-gray-200 m-2\">\n {isDetail === false ? (\n <div class=\"bg-white p-3 shadow-xl\">\n\n {permissionLevel === 'Editar' ?\n (\n <div>\n <Link to=\"/ClusterType/undefined\">\n <button class=\"mb-2 bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded\" onClick={() => newButton()}><FontAwesomeIcon icon={faFileAlt} /> Nuevo Cluster Type</button>\n </Link>\n </div>\n ) :\n (\n <div>\n </div>\n )}\n\n <div className=\"options mb-2\">\n <div className=\"option\">\n <CheckBox text=\"Expandir todos los grupos\"\n value={autoExpandAll}\n onValueChanged={onAutoExpandAllChanged}>\n </CheckBox>\n </div>\n </div>\n <DataGrid\n id=\"gridContainer\"\n columnsAutoWidth={true}\n filterBuilder={filterBuilder}\n dataSource={clusterRecords}\n allowColumnReordering={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n showBorders={true}\n rowAlternationEnabled={true}\n showRowLines={true}\n showColumnLines={true}\n onExporting={onExporting}\n >\n <Scrolling rowRenderingMode='virtual'></Scrolling>\n <Paging defaultPageSize={10} />\n <Pager\n visible={true}\n allowedPageSizes={allowedPageSizes}\n displayMode='compact'\n showPageSizeSelector={true}\n showInfo={true}\n showNavigationButtons={true} />\n <FilterRow visible={true} />\n <FilterPanel visible={true} />\n <FilterBuilderPopup position={filterBuilderPopupPosition} />\n\n <HeaderFilter visible={true} />\n\n <GroupPanel visible={true} />\n <SearchPanel visible={true} />\n <ColumnChooser\n enabled={true}\n mode='select'\n >\n <ColumnChooserSearch\n enabled={true}\n />\n\n <ColumnChooserSelection\n allowSelectAll={true}\n selectByClick={true}\n recursive={true}\n />\n </ColumnChooser>\n <Grouping autoExpandAll={autoExpandAll} />\n <Export enabled={true} />\n <StateStoring enabled={true} type=\"localStorage\" storageKey=\"gridContainerListClusters\" />\n\n <Column caption=\"\" alignment=\"center\" width={100} cellRender={editClusterType} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"Nombre\" dataField=\"name\" dataType=\"string\" width={400} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"internalid\" dataField=\"internalid\" dataType=\"number\" width={200} visible={false} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column caption=\"Estatus\" alignment=\"center\" width={200} cellRender={clusterTypeEnabled} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n </DataGrid>\n </div>\n ) : (<div />)}\n <Route exact path=\"/ClusterType/:clusterId\" render={({ match }) => {\n return (\n <div class=\"m-3 bg-gray-200\">\n {isDetail.toString() === 'true' ?\n (\n <div>\n <Link to=\"/ClusterType\">\n <button onClick={cancelEditButton} type=\"submit\" class=\"mb-4 bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faArrowRotateLeft} /> Regresar\n </button>\n </Link>\n\n {activateSaveButton.toString() === 'true' ?\n (\n <button onClick={saveButton} type=\"submit\" class=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n ) : (\n <div class=\"inline-block\"></div>\n )}\n\n <div class=\"mt-1 bg-white pt-3 shadow-xl\">\n <div class=\"ml-4 mr-4 bg-white pt-3\">\n <Form id=\"datosGenerales\"\n labelMode={'outside'}\n formData={clusterTypePayload}\n readOnly={!activateUpdateForm}\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={2}\n onFieldDataChanged={onFieldDataChanged}\n ref={formDatosGeneralesRef}\n >\n <GroupItem caption=\"Datos Generales\">\n <Item cssClass=\"boldText\" dataField=\"internalid\" editorOptions={internalidEditorOptions} >\n <Label text=\"\" visible={false} />\n </Item>\n <Item cssClass=\"boldText\" dataField=\"name\" editorOptions={clusterTypeNameEditorOptions} >\n <Label text={\"Nombre\"} />\n <RequiredRule message=\"Nombre es requerido\" />\n </Item>\n <Item dataField=\"isinactive\" editorType=\"dxCheckBox\" >\n <Label text=\"Inactivo\" />\n </Item>\n\n </GroupItem>\n </Form>\n </div>\n </div>\n </div>\n ) :\n (<div></div>)\n }\n </div>\n );\n }}\n />\n </div>\n </div>\n );\n}","import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// LoadPanel\nimport { LoadPanel } from 'devextreme-react/load-panel';\n\n// Toast\nimport { Toast } from 'devextreme-react/toast';\n\n// Grid\nimport DataGrid, {\n Column, FilterRow, HeaderFilter, FilterPanel, FilterBuilderPopup,\n GroupPanel, Grouping, SearchPanel, Sorting, Editing, Lookup, Toolbar, Item, RequiredRule,\n Scrolling, Pager, Paging, StateStoring, ColumnChooser, ColumnFixing, Format, Selection, Summary, TotalItem,\n Export, Search, ColumnChooserSearch, ColumnChooserSelection\n} from 'devextreme-react/data-grid';\nimport { GroupItem as GroupItemGrid } from 'devextreme-react/data-grid'\n\n//Form\nimport Form, { GroupItem, Label, TabbedItem, TabPanelOptions, Tab } from 'devextreme-react/form';\n\nimport { Auth, API, Storage } from 'aws-amplify';\n\n// Ruteador\nimport { Route, Link, useHistory } from \"react-router-dom\";\n\n// Iconos\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faBoxOpenFull } from \"@fortawesome/pro-duotone-svg-icons\";\nimport { faArrowsRotate } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSave } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faLightbulbGear } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faFilter } from \"@fortawesome/pro-solid-svg-icons\";\n\nimport './ProductCluster.css';\n\nimport '../ListStyle.css';\n\nimport DataSource from 'devextreme/data/data_source';\n\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { exportDataGrid } from 'devextreme/excel_exporter'\n\nexport default function ProductCluster(props) {\n const history = useHistory();\n\n const [permissionLevel, setPermissionLevel] = useState(props.nivel);\n const [usuario, setUsuario] = useState(props.usuario);\n\n const [productClusterPayload, setProductClusterPayload] = useState({\n });\n\n const [updateCount, setUpdateCount] = useState(0);\n\n const [itemList, setItemList] = useState([]);\n const [clusterList, setClusterList] = useState([]);\n const [clusterTypeList, setClusterTypeList] = useState([]);\n const [departamentos, setDepartamentos] = useState([]);\n const [itemType, setItemType] = useState([]);\n const [categorias, setCategorias] = useState([]);\n const [exclusivo, setExclusivo] = useState([]);\n const [proveedores, setProveedores] = useState([]);\n\n const [activateSaveButton, setActivateSaveButton] = useState(false);\n const [activateUpdateGrid, setActivateUpdateGrid] = useState((props.nivel === 'Editar' || props.nivel === 'Procesar' ? true : false));\n\n const [autoExpandAll, setAutoExpandAll] = useState(true);\n\n const [visibleLoadPanel, setVisibleLoadPanel] = useState(false);\n\n const [visibleToast, setVisibleToast] = useState(false);\n const [messageToast, setMessageToast] = useState('');\n const [typeToast, setTypeToast] = useState('success');\n\n //Ref para el form\n const [formDatosGeneralesRef, setFormDatosGeneralesRef] = useState(React.createRef());\n\n //Ref para el grid Tablero de Control\n const [gridProductClusterRef, setGridProductClusterRef] = useState(React.createRef());\n\n function getOrderDay(rowData) {\n return (new Date(rowData.OrderDate)).getDay();\n };\n\n const filterBuilder = useMemo(() => {\n return {\n customOperations: [{\n name: 'weekends',\n caption: 'Weekends',\n dataTypes: ['date'],\n icon: 'check',\n hasValue: false,\n calculateFilterExpression: () => [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]],\n }],\n allowHierarchicalFields: true,\n };\n }, []);\n\n const filterBuilderPopupPosition = useMemo(() => {\n return {\n of: window,\n at: 'top',\n my: 'top',\n offset: { y: 10 },\n };\n }, []);\n\n const allowedPageSizes = useMemo(() => {\n return [5, 10, 15, 20, 50, 100, 150, 'all'];\n }, []);\n\n const exportFormats = useMemo(() => {\n return ['xlsx'];\n }, []);\n\n const onAutoExpandAllChanged = React.useCallback(() => {\n setAutoExpandAll(!autoExpandAll)\n }, [autoExpandAll]);\n\n var toastPosition = useMemo(() => {\n return {\n my: 'top center',\n at: 'top center',\n of: window,\n offset: '0 130'\n }\n }, []);\n\n try {\n var departamentoEditorOptions = useMemo(() => {\n return {\n items: departamentos,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (productClusterPayload.custitem_al_ecommerce_departamento ? productClusterPayload.custitem_al_ecommerce_departamento : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [productClusterPayload.custitem_al_ecommerce_departamento, departamentos]);\n\n }\n catch (e) {\n var departamentoEditorOptions = {\n items: departamentos,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n try {\n var categoriaEditorOptions = useMemo(() => {\n return {\n items: categorias,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (productClusterPayload.custitem_al_ecommerce_categoria ? productClusterPayload.custitem_al_ecommerce_categoria : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [productClusterPayload.custitem_al_ecommerce_categoria, categorias]);\n\n }\n catch (e) {\n var categoriaEditorOptions = {\n items: categorias,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n try {\n var exclusivoEditorOptions = useMemo(() => {\n return {\n items: exclusivo,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (productClusterPayload.custitem_efx_cmp_exclusivo ? productClusterPayload.custitem_efx_cmp_exclusivo : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [productClusterPayload.custitem_efx_cmp_exclusivo, exclusivo]);\n\n }\n catch (e) {\n var exclusivoEditorOptions = {\n items: exclusivo,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n var proveedorDataSource = useMemo(() => {\n return new DataSource({\n paginate: true,\n store: {\n type: \"array\",\n key: \"value\",\n data: proveedores\n }\n });\n }, [proveedores]);\n\n try {\n var vendorEditorOptions = useMemo(() => {\n return {\n dataSource: proveedorDataSource,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: (productClusterPayload.vendor ? productClusterPayload.vendor : ''),\n width: '100%',\n disabled: false,\n showClearButton: true\n };\n }, [productClusterPayload.vendor, proveedorDataSource]);\n\n }\n catch (e) {\n var vendorEditorOptions = {\n items: proveedores,\n displayExpr: 'name',\n valueExpr: 'value',\n searchEnabled: true,\n value: '',\n width: '100%',\n showClearButton: true\n };\n }\n\n const getItemList = React.useCallback(async () => {\n var custitem_al_ecommerce_categoria = productClusterPayload.custitem_al_ecommerce_categoria;\n var custitem_al_ecommerce_departamento = productClusterPayload.custitem_al_ecommerce_departamento;\n var custitem_efx_cmp_exclusivo = productClusterPayload.custitem_efx_cmp_exclusivo;\n var vendor = productClusterPayload.vendor;\n\n var filters = [];\n\n if (custitem_al_ecommerce_categoria) {\n filters.push(['custitem_al_ecommerce_categoria', 'is', custitem_al_ecommerce_categoria])\n }\n if (custitem_al_ecommerce_departamento) {\n if (filters.length > 0) {\n filters.push('and');\n }\n\n filters.push(['custitem_al_ecommerce_departamento', 'is', custitem_al_ecommerce_departamento])\n }\n if (custitem_efx_cmp_exclusivo) {\n if (filters.length > 0) {\n filters.push('and');\n }\n\n filters.push(['custitem_efx_cmp_exclusivo', 'is', custitem_efx_cmp_exclusivo])\n }\n if (vendor) {\n if (filters.length > 0) {\n filters.push('and');\n }\n\n filters.push(['vendor', 'is', vendor])\n }\n\n let apiName = 'portalvinoteca';\n let path = '/procesaproductcluster';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'list',\n filters: filters,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var itemsGet = await API.post(apiName, path, myInit);\n\n setItemList(itemsGet.data.items);\n\n setClusterList(itemsGet.data.clusters);\n\n setClusterTypeList(itemsGet.data.clusterTypes);\n }, [productClusterPayload]);\n\n const getDepartmentList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'departmentList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var departmentsGet = await API.post(apiName, path, myInit);\n\n setDepartamentos(departmentsGet.data);\n\n }, []);\n\n const getCategoryList = React.useCallback(async (Departamento) => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'categoryList',\n filter: ['custrecord_al_ecommerce_categoria_depto', 'is', Departamento],\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var categoriesGet = await API.post(apiName, path, myInit);\n\n setCategorias(categoriesGet.data);\n\n }, []);\n\n const getExclusiveList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'exclusiveList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var exclusiveGet = await API.post(apiName, path, myInit);\n\n setExclusivo(exclusiveGet.data);\n\n }, []);\n\n const getVendorList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'vendorList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var vendorGet = await API.post(apiName, path, myInit);\n\n setProveedores(vendorGet.data);\n }, []);\n\n const getItemTypeList = React.useCallback(async () => {\n let apiName = 'portalvinoteca';\n let path = '/procesahelper';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'itemTypeList',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var itemTypeGet = await API.post(apiName, path, myInit);\n\n setItemType(itemTypeGet.data);\n }, []);\n\n const refreshButton = React.useCallback(async () => {\n if (updateCount > 0) {\n if (!window.confirm('Existen ' + updateCount + ' cambios pendientes. ¿Desea descartarlos?'))\n return;\n }\n\n setUpdateCount(0);\n setActivateSaveButton(false);\n\n if (gridProductClusterRef.current) {\n var gridProductCluster = gridProductClusterRef.current.instance;\n\n setVisibleLoadPanel(true);\n\n await getItemList();\n\n setVisibleLoadPanel(false);\n\n gridProductCluster.refresh();\n }\n }, [getItemList, gridProductClusterRef, updateCount]);\n\n const filterButton = React.useCallback(async () => {\n if (gridProductClusterRef.current) {\n var gridProductCluster = gridProductClusterRef.current.instance;\n\n gridProductCluster.clearFilter();\n\n if (itemList.length > 0) {\n var firstItem = itemList[0];\n\n try{\n var columns = Object.keys(firstItem);\n\n for (var columnIndex in columns) {\n var singleColumn = columns[columnIndex];\n\n if (singleColumn.indexOf('c_') === 0) {\n gridProductCluster.columnOption(singleColumn, \"filterValue\", false);\n }\n }\n }\n catch(e) {\n }\n }\n }\n }, [gridProductClusterRef, itemList]);\n\n const saveButton = React.useCallback(async () => {\n if (updateCount === 0) {\n setVisibleToast(true);\n setMessageToast('No hay cambios pendientes por guardar');\n setTypeToast('error');\n\n return;\n }\n\n try {\n setVisibleLoadPanel(true);\n\n var updateList = [];\n\n for (var itemListIndex in itemList) {\n var singleItemList = itemList[itemListIndex];\n var productClusterAssociation = {};\n\n if (singleItemList.wasupdated) {\n for (var clusterListIndex in clusterList) {\n var singleClusterList = clusterList[clusterListIndex];\n\n productClusterAssociation[\"c_\" + singleClusterList.internalid] = singleItemList[\"c_\" + singleClusterList.internalid]\n }\n\n updateList.push({\n internalid: singleItemList.productClusterId,\n itemid: singleItemList.internalid,\n custrecord_al_por_pro_clu_item: parseInt(singleItemList.internalid),\n custrecord_al_por_proclu_association: JSON.stringify(productClusterAssociation),\n custitem_gv_rlx_startsupplydate: singleItemList.custitem_gv_rlx_startsupplydate,\n custitem_gv_rlx_endsupplydate: singleItemList.custitem_gv_rlx_endsupplydate,\n custitem_efx_cmp_tip_art: singleItemList.custitem_efx_cmp_tip_art,\n usuario: usuario\n });\n }\n }\n\n let apiName = 'portalvinoteca';\n let path = '/procesaproductcluster';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'postData',\n data: updateList,\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var payloadPost = await API.post(apiName, path, myInit);\n\n setVisibleLoadPanel(false);\n\n if (payloadPost.success) {\n setActivateSaveButton(false);\n setItemList([]);\n setUpdateCount(0);\n \n setVisibleToast(true);\n setMessageToast('Se envió la petición a Netsuite correctamente.');\n setTypeToast('success')\n }\n else if (!payloadPost.success) {\n setVisibleToast(true);\n setMessageToast(payloadPost.message);\n setTypeToast('error')\n }\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [updateCount, itemList, clusterList, history, usuario]);\n\n const processButton = React.useCallback(async () => {\n try {\n setVisibleLoadPanel(true);\n\n let apiName = 'portalvinoteca';\n let path = '/procesaproductcluster';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'processData',\n q: window.btoa(JSON.parse(JSON.stringify(await Auth.currentAuthenticatedUser())).username)\n }\n }\n\n var payloadPost = await API.post(apiName, path, myInit);\n\n setVisibleLoadPanel(false);\n\n if (payloadPost.success) {\n setVisibleToast(true);\n setMessageToast('Se envió la petición a Netsuite correctamente.');\n setTypeToast('success')\n }\n else if (!payloadPost.success) {\n setVisibleToast(true);\n setMessageToast(payloadPost.message);\n setTypeToast('error')\n }\n }\n catch (e) {\n setVisibleLoadPanel(false);\n\n if (e === 'No current user') {\n history.push('/');\n\n window.location.reload();\n }\n }\n }, [history]);\n\n useEffect(() => {\n async function initialize() {\n\n setVisibleLoadPanel(true);\n\n await getDepartmentList();\n\n await getExclusiveList();\n\n await getVendorList();\n\n await getItemTypeList();\n\n setVisibleLoadPanel(false);\n }\n\n initialize();\n }, [getDepartmentList, getCategoryList, getExclusiveList, getVendorList, getItemTypeList]);\n\n const onHidingToast = React.useCallback(() => {\n setVisibleToast(false);\n }, []);\n\n const onRowUpdating = React.useCallback((e) => {\n e.newData.wasupdated = true;\n\n var currentCount = updateCount;\n\n currentCount++;\n\n setActivateSaveButton(true);\n\n setUpdateCount(currentCount++);\n\n }, [updateCount]);\n\n const calculaTotalizadores = React.useCallback((options) => {\n if (options.summaryProcess === 'start') {\n options.totalValue = 0;\n }\n else if (options.summaryProcess === 'calculate') {\n if (options.value[options.name] === true)\n options.totalValue += 1;\n }\n }, []);\n\n const onFormFieldChanged = React.useCallback(async (e) => {\n var dataField = e.dataField;\n var value = e.value;\n\n if (formDatosGeneralesRef.current) {\n var formDatosGenerales = formDatosGeneralesRef.current.instance;\n\n if (e.dataField === 'custitem_al_ecommerce_departamento') {\n formDatosGenerales.updateData('custitem_al_ecommerce_categoria', undefined);\n\n if (e.value) {\n await getCategoryList(e.value);\n }\n }\n }\n }, [formDatosGeneralesRef, getCategoryList]);\n\n function onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Datos');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Datos.xlsx');\n });\n });\n e.cancel = true;\n };\n \n return (\n <div>\n <div class=\"bg-gray-200 m-2\">\n <h1 class=\"font-sans inline-block text-xl font-bold text-gray-700 leading-8 align-top mb-1\"><FontAwesomeIcon icon={faBoxOpenFull} size=\"lg\" />Product-Cluster</h1>\n </div>\n\n <LoadPanel\n shadingColor=\"rgba(0,0,0,0.4)\"\n visible={visibleLoadPanel}\n showIndicator={true}\n message=\"Por favor espere...\"\n shading={true}\n showPane={true}\n hideOnOutsideClick={false}\n />\n\n <Toast\n visible={visibleToast}\n message={messageToast}\n type={typeToast}\n onHiding={onHidingToast}\n displayTime={5000}\n width={'auto'}\n position={toastPosition}\n />\n\n <div class=\"bg-white p-3 shadow-xl\">\n <button onClick={refreshButton} type=\"submit\" class=\"mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faArrowsRotate} /> Actualizar\n </button>\n\n <button onClick={filterButton} type=\"submit\" class=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faFilter} /> Filtrar productos no asociados\n </button>\n\n {activateSaveButton.toString() === 'true' && (permissionLevel === 'Editar' || permissionLevel === 'Procesar') ?\n (\n <button onClick={saveButton} type=\"submit\" class=\"ml-4 mb-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faSave} /> Guardar Cambios\n </button>\n ) : (\n <div class=\"inline-block\"></div>\n )}\n\n {permissionLevel === 'Procesar' ?\n (\n <button onClick={processButton} type=\"submit\" class=\"ml-4 mb-4 bg-slate-500 hover:bg-slate-700 text-white font-bold py-2 px-4 rounded\">\n <FontAwesomeIcon icon={faLightbulbGear} /> Procesar Datos\n </button>\n ) : (\n <div class=\"inline-block\"></div>\n )}\n\n <Form\n id=\"datosGenerales\"\n labelMode={'outside'}\n formData={productClusterPayload}\n\n showColonAfterLabel={false}\n labelLocation={'left'}\n colCount={1}\n\n ref={formDatosGeneralesRef}\n\n onFieldDataChanged={onFormFieldChanged}\n >\n <GroupItem caption=\"Filtros\" colCount={2}>\n <Item dataField=\"custitem_al_ecommerce_departamento\" editorType=\"dxSelectBox\" editorOptions={departamentoEditorOptions} >\n <Label text={\"Departamento\"} />\n </Item>\n <Item dataField=\"custitem_al_ecommerce_categoria\" editorType=\"dxSelectBox\" editorOptions={categoriaEditorOptions} >\n <Label text={\"Categoría\"} />\n </Item>\n <Item dataField=\"custitem_efx_cmp_exclusivo\" editorType=\"dxSelectBox\" editorOptions={exclusivoEditorOptions} >\n <Label text={\"Exclusivo\"} />\n </Item>\n <Item dataField=\"vendor\" editorType=\"dxSelectBox\" editorOptions={vendorEditorOptions} >\n <Label text={\"Proveedor\"} />\n </Item>\n </GroupItem>\n <GroupItem caption=\"Productos\" colCount={2}>\n <DataGrid\n id=\"gridProductCluster\"\n columnsAutoWidth={true}\n filterBuilder={filterBuilder}\n dataSource={itemList}\n allowColumnReordering={true}\n allowColumnResizing={true}\n columnResizingMode=\"widget\"\n showBorders={true}\n rowAlternationEnabled={true}\n showRowLines={true}\n showColumnLines={true}\n ref={gridProductClusterRef}\n onRowUpdating={onRowUpdating}\n filterSyncEnabled={true}\n onExporting={onExporting}\n >\n <Scrolling rowRenderingMode='virtual'></Scrolling>\n <Paging defaultPageSize={50} />\n <Pager\n visible={true}\n allowedPageSizes={allowedPageSizes}\n displayMode='compact'\n showPageSizeSelector={true}\n showInfo={true}\n showNavigationButtons={true} />\n <FilterRow visible={true} />\n <FilterPanel visible={true} />\n <FilterBuilderPopup position={filterBuilderPopupPosition} />\n\n <HeaderFilter visible={true} />\n\n <GroupPanel visible={true} />\n <SearchPanel visible={true} />\n <ColumnFixing enabled={true} />\n <ColumnChooser\n enabled={true}\n mode='select'\n >\n <ColumnChooserSearch\n enabled={true}\n />\n\n <ColumnChooserSelection\n allowSelectAll={true}\n selectByClick={true}\n recursive={true}\n />\n </ColumnChooser>\n <Grouping autoExpandAll={autoExpandAll} />\n <Export enabled={true} />\n\n <Editing\n mode=\"cell\"\n allowUpdating={activateUpdateGrid}\n allowAdding={false}\n allowDeleting={false}\n useIcons={true}\n />\n\n <Column dataField=\"internalid\" caption=\"internal id\" dataType=\"number\" allowEditing={false} width={300} visible={false} />\n <Column dataField=\"productClusterId\" caption=\"Product Cluster internal id\" dataType=\"number\" allowEditing={false} width={300} visible={false} />\n\n <Column dataField=\"wasupdated\" caption=\"Act.\" dataType=\"boolean\" allowEditing={false} width={100} visible={true} />\n <Column dataField=\"itemid\" caption=\"Nombre/Número del Artículo\" allowEditing={false} dataType=\"string\" width={250} fixed={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"displayname\" caption=\"Nombre/Código para mostrar\" allowEditing={false} dataType=\"string\" width={400} fixed={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_gv_rlx_startsupplydate\" caption=\"Fecha Inicio Abastecimiento\" dataType=\"date\" allowEditing={activateUpdateGrid} width={220} visible={true} >\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n <RequiredRule message=\"Fecha Inicio Abastecimiento es requerido\" />\n </Column>\n <Column dataField=\"custitem_gv_rlx_endsupplydate\" caption=\"Fecha Fin Abastecimiento\" dataType=\"date\" allowEditing={activateUpdateGrid} width={220} visible={true} >\n <RequiredRule message=\"Fecha Fin Abastecimiento es requerido\" />\n </Column>\n <Column dataField=\"custitem_efx_cmp_tip_art\" dataType=\"string\" caption=\"Tipo de Artículo\" allowEditing={activateUpdateGrid} width={220} visible={true} >\n <Lookup dataSource={itemType} valueExpr=\"value\" displayExpr=\"name\" />\n <RequiredRule message=\"Tipo de Artículo es requerido\" />\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_categoria\" caption=\"eCommerce Categoría\" dataType=\"string\" width={300} visible={false}>\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_departamento\" caption=\"eCommerce Departamento\" dataType=\"string\" width={300} visible={false}>\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"custitem_al_ecommerce_familia\" caption=\"eCommerce Familia\" dataType=\"string\" width={300} visible={false}>\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n\n <Column dataField=\"custitem_efx_cmp_exclusivo\" caption=\"Exclusivo\" dataType=\"string\" width={300} visible={false}>\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n <Column dataField=\"vendor\" caption=\"Proveedor Principal\" dataType=\"string\" width={300} visible={false}>\n <HeaderFilter>\n <Search enabled={true} />\n </HeaderFilter>\n </Column>\n\n {\n clusterTypeList.map((clusterType, indexType) => (\n <Column caption={clusterType} >\n\n {\n clusterList.map((cluster, indexCluster) => (\n clusterType === cluster.custrecord_al_por_clu_type ? (<Column dataField={\"c_\" + cluster.internalid} caption={cluster.name} width={140} visible={true} />) : (<></>)\n ))\n }\n </Column>\n ))\n }\n\n <Summary calculateCustomSummary={calculaTotalizadores} recalculateWhileEditing={true}>\n {\n clusterList.map((cluster, indexCluster) => (\n <TotalItem\n name={\"c_\" + cluster.internalid}\n summaryType=\"custom\"\n displayFormat=\"SKUs: {0}\"\n showInColumn={\"c_\" + cluster.internalid}\n />\n ))\n }\n </Summary>\n </DataGrid>\n </GroupItem>\n </Form>\n </div>\n </div>\n );\n}","var prefix = \"far\";\nvar fa0 = {\n prefix: 'far',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 80C98.1 80 48 130.1 48 192V320c0 61.9 50.1 112 112 112s112-50.1 112-112V192c0-61.9-50.1-112-112-112z\"]\n};\nvar fa1 = {\n prefix: 'far',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M152 56c0-8.7-4.7-16.7-12.3-21s-16.9-4-24.3 .5l-104 64c-11.3 6.9-14.8 21.7-7.9 33s21.7 14.8 33 7.9L104 98.9V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H128 232c13.3 0 24-10.7 24-24s-10.7-24-24-24H152V56z\"]\n};\nvar fa2 = {\n prefix: 'far',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M147.5 80c-26.6 0-52.2 10.6-71 29.4L41 145c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L42.6 75.5C70.4 47.6 108.2 32 147.5 32h7.3C232.8 32 296 95.2 296 173.2c0 39.1-16.2 76.4-44.7 103.1L84.8 432H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-9.9 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L218.5 241.2c18.8-17.6 29.5-42.2 29.5-68c0-51.5-41.7-93.2-93.2-93.2h-7.3z\"]\n};\nvar fa3 = {\n prefix: 'far',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 56C0 42.7 10.7 32 24 32H280c9.8 0 18.6 6 22.3 15.1s1.4 19.5-5.7 26.3L147.7 216H188c72.9 0 132 59.1 132 132s-59.1 132-132 132H97.4c-39.4 0-75.4-22.3-93-57.5l-1.9-3.8c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l1.9 3.8c9.5 19 28.9 31 50.1 31H188c46.4 0 84-37.6 84-84s-37.6-84-84-84H88c-9.8 0-18.6-6-22.3-15.1s-1.4-19.5 5.7-26.3L220.3 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar fa4 = {\n prefix: 'far',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M189.2 67.2c6.2-11.7 1.7-26.2-10-32.4s-26.2-1.7-32.4 10l-144 272c-3.9 7.4-3.7 16.4 .6 23.6S15.6 352 24 352H272V456c0 13.3 10.7 24 24 24s24-10.7 24-24V352h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H320V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V304H63.9L189.2 67.2z\"]\n};\nvar fa5 = {\n prefix: 'far',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M32.4 51.9C34.4 40.4 44.3 32 56 32H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H76.2L52.5 216H188c72.9 0 132 59.1 132 132s-59.1 132-132 132H92.5c-36.4 0-69.6-20.5-85.9-53.1l-4.1-8.2c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l4.1 8.2C57.7 421.7 74.3 432 92.5 432H188c46.4 0 84-37.6 84-84s-37.6-84-84-84H24c-7.1 0-13.8-3.1-18.4-8.6S-.9 242.9 .4 235.9l32-184z\"]\n};\nvar fa6 = {\n prefix: 'far',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M272 320c0-61.9-50.1-112-112-112c-32.3 0-61.5 13.7-81.9 35.6l-5.1 6.3C56.8 269.7 48 294.5 48 320c0 61.9 50.1 112 112 112s112-50.1 112-112zM145.7 160.6c4.7-.4 9.5-.6 14.3-.6c88.4 0 160 71.6 160 160s-71.6 160-160 160S0 408.4 0 320c0-41.5 15.8-79.4 41.8-107.8L181.4 40.8c8.4-10.3 23.5-11.8 33.8-3.4s11.8 23.5 3.4 33.8l-72.9 89.5z\"]\n};\nvar fa7 = {\n prefix: 'far',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 56C0 42.7 10.7 32 24 32H296c8.6 0 16.6 4.7 20.9 12.2s4.1 16.8-.3 24.2l-240 400c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9L253.6 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar fa8 = {\n prefix: 'far',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 156c0-68.5-55.5-124-124-124H140C71.5 32 16 87.5 16 156c0 37.7 16.8 71.4 43.3 94.2C23.7 272 0 311.2 0 356c0 68.5 55.5 124 124 124h72c68.5 0 124-55.5 124-124c0-44.8-23.7-84-59.3-105.8C287.2 227.4 304 193.7 304 156zM180.1 280H196c42 0 76 34 76 76s-34 76-76 76H124c-42 0-76-34-76-76s34-76 76-76h15.9c0 0 0 0 .1 0h40c0 0 0 0 .1 0zm0-48c0 0 0 0 0 0H140c0 0 0 0 0 0c-42 0-76-34-76-76c0-42 34-76 76-76l40 0c42 0 76 34 76 76c0 42-34 76-76 76z\"]\n};\nvar fa9 = {\n prefix: 'far',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M48 192c0 61.9 50.1 112 112 112c32.3 0 61.5-13.7 81.9-35.6l5.1-6.3C263.2 242.3 272 217.5 272 192c0-61.9-50.1-112-112-112S48 130.1 48 192zM174.3 351.4c-4.7 .4-9.5 .6-14.3 .6C71.6 352 0 280.4 0 192S71.6 32 160 32s160 71.6 160 160c0 41.5-15.8 79.4-41.8 107.8L138.6 471.2c-8.4 10.3-23.5 11.8-33.8 3.4s-11.8-23.5-3.4-33.8l72.9-89.5z\"]\n};\nvar faFillDrip = {\n prefix: 'far',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M39 7C48.4-2.3 63.6-2.3 73 7l89.4 89.4 58.7-58.7c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8l97.8-97.8L39 41C29.7 31.6 29.7 16.4 39 7zM231 233l-68.7-68.7L64.6 262.1c-7.3 7.3-11.8 16.4-13.4 25.9H409.4l31-31c9.4-9.4 9.4-24.6 0-33.9L289 71.6c-9.4-9.4-24.6-9.4-33.9 0l-58.7 58.7L265 199c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"]\n};\nvar faArrowsToCircle = {\n prefix: 'far',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M7 7C16.4-2.3 31.6-2.3 41 7l119 119V88c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24s10.7-24 24-24h38.1L7 41C-2.3 31.6-2.3 16.4 7 7zM633 7c9.4 9.4 9.4 24.6 0 33.9l-119 119H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24v38.1L599 7c9.4-9.4 24.6-9.4 33.9 0zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM432 424V328c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H513.9L633 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-119-119V424c0 13.3-10.7 24-24 24s-24-10.7-24-24zm-224 0c0 13.3-10.7 24-24 24s-24-10.7-24-24V385.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l119-119H88c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24v96z\"]\n};\nvar faCircleChevronRight = {\n prefix: 'far',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377L345 273c9.4-9.4 9.4-24.6 0-33.9L241 135c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faWagonCovered = {\n prefix: 'far',\n iconName: 'wagon-covered',\n icon: [640, 512, [], \"f8ee\", \"M569.8 4.1c45.9-3.1 79.9 41.8 64.6 85.2L567.8 278c5 4.4 8.2 10.9 8.2 18c0 12.9-10.2 23.5-23 24l0 0H542.4c20.7 20.3 33.6 48.7 33.6 80c0 61.9-50.1 112-112 112c-56.4 0-103.1-41.7-110.9-96H286.9c-7.8 54.3-54.4 96-110.9 96c-61.9 0-112-50.1-112-112c0-31.3 12.9-59.7 33.6-80H87l0 0c-12.8-.5-23-11.1-23-24c0-7.2 3.2-13.6 8.2-18L5.6 89.3C-9.7 45.9 24.3 1 70.2 4.1l119.7 8c21.6 1.4 41 10.6 55.5 24.7C258.4 23.9 276.3 16 296 16h48c19.7 0 37.6 7.9 50.6 20.8c14.5-14.1 33.9-23.3 55.5-24.7l119.7-8zM519 272L589.2 73.3C593 62.4 584.5 51.2 573 52L453.3 60c-21 1.4-37.3 18.9-37.3 39.9L416 272H519zM186.7 60L67 52c-11.5-.8-20 10.5-16.2 21.3L121 272H224V99.9c0-21.1-16.3-38.5-37.3-39.9zM368 272V88c0-13.3-10.7-24-24-24H296c-13.3 0-24 10.7-24 24V99.9 272h96zM160 416H114c5.8 22.5 23.5 40.2 46 46V416zm0-32V338c-22.5 5.8-40.2 23.5-46 46h46zm32 78c22.5-5.8 40.2-23.5 46-46H192v46zm0-124v46h46c-5.8-22.5-23.5-40.2-46-46zM448 462V416H402c5.8 22.5 23.5 40.2 46 46zm-46-78h46V338c-22.5 5.8-40.2 23.5-46 46zm124 32H480v46c22.5-5.8 40.2-23.5 46-46zm0-32c-5.8-22.5-23.5-40.2-46-46v46h46z\"]\n};\nvar faLineHeight = {\n prefix: 'far',\n iconName: 'line-height',\n icon: [576, 512, [], \"f871\", \"M113.8 39.9c-4.6-5.1-11-7.9-17.8-7.9s-13.3 2.9-17.8 7.9l-72 80c-8.9 9.9-8.1 25 1.8 33.9s25 8.1 33.9-1.8L72 118.5V393.5L41.8 359.9c-8.9-9.9-24-10.7-33.9-1.8s-10.7 24-1.8 33.9l72 80c4.6 5.1 11 7.9 17.8 7.9s13.3-2.9 17.8-7.9l72-80c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L120 393.5V118.5l30.2 33.5c8.9 9.9 24 10.7 33.9 1.8s10.7-24 1.8-33.9l-72-80zM248 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248zM224 416c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBagel = {\n prefix: 'far',\n iconName: 'bagel',\n icon: [640, 512, [129391], \"e3d7\", \"M640 208c0 114.9-93.1 208-208 208c-3.9 0-7.7-.1-11.5-.3c6.5-12.3 12-25.3 16.3-38.8c4.7-.7 9.3-2.5 13.3-5.3L471 357.3c5.1-3.5 11-5.4 17.2-5.6l25.3-.7c13.2-.4 24.8-8.8 29.3-21.3l8.5-23.9c2.1-5.8 5.8-10.9 10.6-14.6L582 275.8c10.5-8.1 14.9-21.7 11.2-34.4L586 217c-1.7-5.9-1.7-12.2 0-18.1l7.2-24.3c3.7-12.7-.7-26.3-11.2-34.4l-20.1-15.5c-4.9-3.8-8.6-8.8-10.6-14.6l-8.5-23.9c-4.4-12.5-16.1-20.9-29.3-21.3l-25.3-.7c-6.2-.2-12.1-2.1-17.2-5.6L450.1 44.4c-10.9-7.5-25.3-7.5-36.2 0L393 58.7c-5.1 3.5-11 5.4-17.2 5.6L350.5 65c-13.2 .4-24.8 8.8-29.3 21.3l-1.8 5.1c-14.4-7.6-29.7-13.7-45.7-18.3C311.8 28.4 368.6 0 432 0C546.9 0 640 93.1 640 208zm-144 0c0 30.6-21.5 56.3-50.3 62.5c-6-43.3-23.6-82.9-49.5-115.6c10.2-6.9 22.6-11 35.9-11c35.3 0 64 28.7 64 64zM48 304a160 160 0 1 0 320 0A160 160 0 1 0 48 304zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zm144-96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm160 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM128 368a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM96 256a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm96 48a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128z\"]\n};\nvar faTransporter7 = {\n prefix: 'far',\n iconName: 'transporter-7',\n icon: [512, 512, [], \"e2a8\", \"M480 64l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 64l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 96l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 96l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 64zM64 288l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 288 6.6 295.3C2.7 296.4 0 299.9 0 304s2.7 7.6 6.6 8.7L32 320l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 320l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 288zm56 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faAt = {\n prefix: 'far',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c13.3 0 24 10.7 24 24s-10.7 24-24 24C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v28c0 50.8-41.2 92-92 92c-31.1 0-58.7-15.5-75.3-39.2C322.7 360.9 291.1 376 256 376c-66.3 0-120-53.7-120-120s53.7-120 120-120c28.8 0 55.2 10.1 75.8 27c4.3-6.6 11.7-11 20.2-11c13.3 0 24 10.7 24 24v80 28c0 24.3 19.7 44 44 44s44-19.7 44-44V256c0-114.9-93.1-208-208-208zm72 208a72 72 0 1 0 -144 0 72 72 0 1 0 144 0z\"]\n};\nvar faRectanglesMixed = {\n prefix: 'far',\n iconName: 'rectangles-mixed',\n icon: [576, 512, [], \"e323\", \"M256 80c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H256zM64 32C28.7 32 0 60.7 0 96v96c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM512 80c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H448c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16h64zM448 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H448zM128 352H272c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zM64 368v48c0 35.3 28.7 64 64 64H272c35.3 0 64-28.7 64-64V368c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64z\"]\n};\nvar faPhoneArrowUpRight = {\n prefix: 'far',\n iconName: 'phone-arrow-up-right',\n icon: [512, 512, [\"phone-arrow-up\", \"phone-outgoing\"], \"e224\", \"M295 183l135-135H376c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9L329 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zm34 103.6c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2z\"]\n};\nvar faPhoneArrowUp = faPhoneArrowUpRight;\nvar faPhoneOutgoing = faPhoneArrowUpRight;\nvar faTrashCan = {\n prefix: 'far',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faCircleL = {\n prefix: 'far',\n iconName: 'circle-l',\n icon: [512, 512, [], \"e114\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V152z\"]\n};\nvar faHeadSideGoggles = {\n prefix: 'far',\n iconName: 'head-side-goggles',\n icon: [512, 512, [\"head-vr\"], \"f6ea\", \"M.6 240H48.7C52 275.9 66 308.7 87.5 335.1c13.6 16.6 24.5 38.5 24.5 63.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6c0-10.7-4.8-22.2-13.7-33.1C22 330.8 3.9 287.4 .6 240zM122.8 80h93.7C234 60.4 259.6 48 288 48H257.5L256 48H224c-37.7 0-72.6 11.8-101.2 32zM64 80H52.4C93.5 31.1 155.1 0 224 0h32c48.7 0 93.2 18.1 127 48h1 24 24 32c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432 408 384 288c-28.4 0-54-12.4-71.6-32H64c-35.3 0-64-28.7-64-64s28.7-64 64-64zM464 272.4l0-.4h48l0 .4c0 35.1-28.5 63.6-63.6 63.6H448v48c0 35.3-28.7 64-64 64H320v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V424c0-13.3 10.7-24 24-24h88c8.8 0 16-7.2 16-16V312c0-13.3 10.7-24 24-24h24.4c8.6 0 15.6-7 15.6-15.6zM64 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H193.3c-.9-5.2-1.3-10.5-1.3-16s.5-10.8 1.3-16H64zM384 96H288c-26.5 0-48 21.5-48 48s21.5 48 48 48h96V96zm48 0v96h32V96H432z\"]\n};\nvar faHeadVr = faHeadSideGoggles;\nvar faTextHeight = {\n prefix: 'far',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M48 128V80h88l0 352H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H184l0-352h88v48c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72v56c0 13.3 10.7 24 24 24s24-10.7 24-24zM497 39c-9.4-9.4-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23V398.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V113.9l23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L497 39z\"]\n};\nvar faUserXmark = {\n prefix: 'far',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM269.7 352c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112h91.4zm-91.4-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H224 178.3zM455 143c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faUserTimes = faUserXmark;\nvar faFaceHandYawn = {\n prefix: 'far',\n iconName: 'face-hand-yawn',\n icon: [512, 512, [], \"e379\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 59.4-24.9 113-64.9 150.9c2.9 15.1-1.5 31.3-13.2 43l-49 49C438.7 465.1 512 369.1 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 94.5 51.2 177 127.3 221.4c-9.8-18-15.3-38.6-15.3-60.5V406.1C72.6 368.2 48 315 48 256zm208-48c-44.2 0-81.3 29.8-92.5 70.4l.5 0c17.9 0 33.6 9 43 22.7l47.1-47.1c18.7-18.7 49.1-18.7 67.9 0c1 1 2 2.1 3 3.2c4.7-1.1 9.5-1.5 14.3-1.2C322.6 227.4 291.6 208 256 208zM226.7 105c-8.3-10.4-23.4-12-33.7-3.7l-80 64c-10.4 8.3-12 23.4-3.7 33.7s23.4 12 33.7 3.7l80-64c10.4-8.3 12-23.4 3.7-33.7zM289 138.7l80 64c10.3 8.3 25.5 6.6 33.7-3.7s6.6-25.5-3.8-33.7l-80-64c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7zm10.3 137.9c-6.2-6.2-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L257.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGaugeSimpleMin = {\n prefix: 'far',\n iconName: 'gauge-simple-min',\n icon: [512, 512, [\"tachometer-slowest\"], \"f62d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-30.9-25.1-56-56-56c-10.3 0-19.9 2.8-28.2 7.6L117.6 228.2c-10.9-7.5-25.9-4.7-33.4 6.3s-4.7 25.9 6.3 33.4l110.2 75.4c-.4 2.9-.7 5.8-.7 8.8c0 30.9 25.1 56 56 56s56-25.1 56-56z\"]\n};\nvar faTachometerSlowest = faGaugeSimpleMin;\nvar faStethoscope = {\n prefix: 'far',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M142.5 15.6c4.7 12.4-1.6 26.2-14 30.9L85.2 62.7c-3.1 1.2-5.2 4.2-5.2 7.5V200c0 57.4 46.6 104 104 104h8 8c57.4 0 104-46.6 104-104V70.2c0-3.3-2.1-6.3-5.2-7.5L255.6 46.5c-12.4-4.7-18.7-18.5-14-30.9s18.5-18.7 30.9-14l43.2 16.2C337.5 25.9 352 46.8 352 70.2V200c0 78.5-59.5 143.1-135.8 151.1C219.9 414.1 272.1 464 336 464c66.3 0 120-53.7 120-120V268.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V344c0 92.8-75.2 168-168 168c-90.4 0-164.1-71.4-167.8-160.8C91.7 343.3 32 278.6 32 200V70.2c0-23.3 14.5-44.2 36.3-52.4L111.6 1.5c12.4-4.7 26.2 1.6 30.9 14zM480 160a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faCoffin = {\n prefix: 'far',\n iconName: 'coffin',\n icon: [384, 512, [9904], \"f6c6\", \"M48.2 145.8L133.8 48H250.2l85.6 97.8L243.9 464H140.1L48.2 145.8zM102.4 10.9l-91 104C4.1 123.3 0 134.2 0 145.4c0 4.4 .6 8.7 1.8 12.9L97.3 488.9c4 13.7 16.5 23.1 30.7 23.1H255.9c14.3 0 26.8-9.4 30.7-23.1l95.5-330.6c1.2-4.2 1.8-8.5 1.8-12.9c0-11.2-4.1-22.1-11.5-30.6l-91-104C275.5 4 266.7 0 257.5 0h-131c-9.2 0-18 4-24.1 10.9z\"]\n};\nvar faMessage = {\n prefix: 'far',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h96zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V474.7v-6.4V468v-4V416H112 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L208 492z\"]\n};\nvar faCommentAlt = faMessage;\nvar faSalad = {\n prefix: 'far',\n iconName: 'salad',\n icon: [512, 512, [129367, \"bowl-salad\"], \"f81e\", \"M416 96c-70.7 0-128 57.3-128 128c0 11 1.4 21.8 4 32H240V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V249.4L107.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256H96c-53 0-96-43-96-96s43-96 96-96c8.7 0 17.2 1.2 25.3 3.4C138.5 27.7 178 0 224 0s85.5 27.7 102.7 67.4c8-2.2 16.5-3.4 25.3-3.4c28.5 0 54.2 12.5 71.8 32.2c-2.6-.2-5.2-.2-7.8-.2zM117.9 422.3c12.9 5.7 22.7 16.7 26.8 30.3c2 6.6 8.2 11.4 15.3 11.4H352c7.2 0 13.4-4.8 15.3-11.4c4-13.5 13.8-24.6 26.8-30.3c35.2-15.4 61.2-47.6 68.1-86.3H49.8c6.9 38.7 32.9 70.9 68.1 86.3zM0 315.4C0 300.3 12.3 288 27.4 288H484.6c15.1 0 27.4 12.3 27.4 27.4c0 67.4-40.6 125.4-98.6 150.8C405.5 492.7 381 512 352 512H160c-29 0-53.5-19.3-61.4-45.7C40.6 440.8 0 382.9 0 315.4zM464 224c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 12.3 4.6 23.5 12.2 32H325.5c-3.5-10-5.5-20.8-5.5-32c0-53 43-96 96-96s96 43 96 96c0 11.2-1.9 22-5.5 32H451.8c7.6-8.5 12.2-19.7 12.2-32z\"]\n};\nvar faBowlSalad = faSalad;\nvar faInfo = {\n prefix: 'far',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M56 72a40 40 0 1 1 80 0A40 40 0 1 1 56 72zM16 200c0-13.3 10.7-24 24-24H96c13.3 0 24 10.7 24 24V464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H72V224H40c-13.3 0-24-10.7-24-24z\"]\n};\nvar faRobotAstromech = {\n prefix: 'far',\n iconName: 'robot-astromech',\n icon: [512, 512, [], \"e2d2\", \"M256 0C185.3 0 128 57.3 128 128v16H88c-30.9 0-56 25.1-56 56V410.9L2.1 478.3c-3.3 7.4-2.6 16 1.8 22.8S15.9 512 24 512H136c13.3 0 24-10.7 24-24V415.1l22.1 24.8c4.6 5.1 11.1 8.1 17.9 8.1H312c6.9 0 13.4-2.9 17.9-8.1L352 415.1V488c0 13.3 10.7 24 24 24H488c8.1 0 15.7-4.1 20.1-10.9s5.1-15.4 1.8-22.8L480 410.9V200c0-30.9-25.1-56-56-56H384V128C384 57.3 326.7 0 256 0zM192 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM88 192h24V352 464H60.9l17-38.3c1.4-3.1 2.1-6.4 2.1-9.7V200c0-4.4 3.6-8 8-8zm72 0H352V342.9L301.2 400H210.8L160 342.9V192zm240 0h24c4.4 0 8 3.6 8 8V416c0 3.4 .7 6.7 2.1 9.7l17 38.3H400V352 192zM208 224c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faRingDiamond = {\n prefix: 'far',\n iconName: 'ring-diamond',\n icon: [384, 512, [], \"e5ab\", \"M144 0c-8 0-15.5 4-20 10.7l-32 48c-5 7.5-5.4 17.1-1 25l31.8 57.2C51 168.6 0 238.4 0 320C0 426 86 512 192 512s192-86 192-192c0-81.6-51-151.4-122.8-179.1L293 83.7c4.4-7.9 4-17.5-1-25l-32-48C255.5 4 248 0 240 0H144zm68.8 129.1C206 128.4 199 128 192 128s-14 .4-20.8 1.1l-31.1-56L156.8 48h70.3l16.8 25.1-31.1 56zM48 320a144 144 0 1 1 288 0A144 144 0 1 1 48 320z\"]\n};\nvar faFonduePot = {\n prefix: 'far',\n iconName: 'fondue-pot',\n icon: [512, 512, [129749], \"e40d\", \"M319 39.8l-24 96c-2.9 11.5-11.6 20-22.2 23L264.5 192h-33l10.2-41c-7.9-7.7-11.7-19.3-8.8-30.8l24-96C261.2 7.1 278.6-3.3 295.8 1s27.6 21.7 23.3 38.8zm62.9 120.2L360.6 192H322.1l33.2-49.8c-4.9-9.9-4.5-22.1 2.1-31.9l64-96C431.2-.5 451-4.4 465.8 5.4s18.7 29.7 8.9 44.4l-64 96c-6.6 9.9-17.7 14.9-28.7 14.2zM48 320c0 61.9 50.1 112 112 112H288c61.9 0 112-50.1 112-112V272H192v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V280c0-4.4-3.6-8-8-8s-8 3.6-8 8v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H48v48zM0 256c0-17.7 14.3-32 32-32H400h16 32 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448v48c0 52.3-25.1 98.8-64 128v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V472.7c-15.2 4.8-31.3 7.3-48 7.3H160c-16.7 0-32.8-2.6-48-7.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V448C25.1 418.8 0 372.3 0 320V256z\"]\n};\nvar faTheta = {\n prefix: 'far',\n iconName: 'theta',\n icon: [384, 512, [], \"f69e\", \"M56 256c0-55 16.6-103.9 42.1-138.4S157.2 64 192 64s68.3 19 93.9 53.6S328 201 328 256s-16.6 103.9-42.1 138.5S226.8 448 192 448s-68.3-19-93.9-53.5S56 311 56 256zM192 16C138.4 16 91.9 45.4 59.6 89S8 191.7 8 256s19.3 123.4 51.6 167s78.9 73 132.4 73s100.1-29.4 132.4-73S376 320.3 376 256s-19.3-123.4-51.6-167S245.6 16 192 16zM120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faFaceHandPeeking = {\n prefix: 'far',\n iconName: 'face-hand-peeking',\n icon: [640, 512, [129763], \"e481\", \"M496.4 145.7c.4-.5 .9-1 1.4-1.4c12.9-12.9 31.8-16.1 47.7-9.6C502.2 54.5 417.5 0 320 0C248.5 0 183.8 29.3 137.3 76.6c7.7 1.8 14.9 5.7 20.9 11.7c6.6 6.6 10.6 14.7 12.2 23.2C208.2 72.3 261.3 48 320 48c74.4 0 139.6 39 176.4 97.7zm40.7 246c-5.4 .7-10.8 1.1-16.3 1.1H476.6C438.5 436.5 382.5 464 320 464c-79.9 0-149.3-45-184.1-111.1H119.2c-13.3 0-26.4-2.2-38.8-6.5C117 443.2 210.4 512 320 512c91.5 0 171.8-48 217.1-120.2zM352.8 264c-10.4-10.2-16.8-24.3-16.8-40c0-28.5 21.2-52 48.7-55.5c1-5.5 3.3-10.9 6.7-15.7c5.1-7.1 12.1-12.1 19.7-14.6c-6.2-1.4-12.6-2.1-19.2-2.1c-48.6 0-88 39.4-88 88c0 40.3 27.1 74.3 64.1 84.7c.1-1.4 .3-2.8 .6-4.2C358.6 297.3 352 285.4 352 272c0-2.7 .3-5.4 .8-8zM320 432c35.3 0 64-21.5 64-48s-28.7-48-64-48s-64 21.5-64 48s28.7 48 64 48zm90.3-192c3.8-4.2 6.1-9.9 6.1-16c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 6.1 2.3 11.8 6.1 16h35.8zM248 192c0-8.8-7.2-16-16-16H118.2c-7.1 0-10.7-8.6-5.7-13.7l28.8-28.8c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L51.9 166.4l-.8 .8C14.7 204.4 15 264.1 51.9 301c17.9 17.9 42.1 27.9 67.3 27.9H184c8.8 0 16-7.2 16-16s-7.2-16-16-16H170c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5h62c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l78.4 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l62.4 0c8.8 0 16-7.2 16-16zm163-25.3c-5.1 7.2-3.5 17.2 3.7 22.3l59.7 42.6c3.5 2.5 5.6 6.6 5.6 10.9c0 7.4-6 13.4-13.4 13.4L392 256c-8.8 0-16 7.2-16 16s7.2 16 16 16h84c2.2 0 4 1.8 4 4s-1.8 4-4 4H408c-8.8 0-16 7.2-16 16s7.2 16 16 16l67.5 0c2.5 0 4.5 2 4.5 4.5s-2 4.5-4.5 4.5H456c-8.8 0-16 7.2-16 16s7.2 16 16 16h64.8c25.2 0 49.5-10 67.3-27.9c36.9-36.9 37.2-96.6 .8-133.8l-.8-.8L543 161.3c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3l14.8 14.8c6.6 6.6 2.7 18-6.6 19c-2.8 .3-5.6-.4-7.8-2L433.3 163c-7.2-5.1-17.2-3.5-22.3 3.7z\"]\n};\nvar faSquareUser = {\n prefix: 'far',\n iconName: 'square-user',\n icon: [448, 512, [], \"e283\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16h-1c-7.9-63.1-61.7-112-127-112H192c-65.3 0-119.1 48.9-127 112H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM334.4 432H113.6c7.4-36.5 39.7-64 78.4-64h64c38.7 0 71 27.5 78.4 64zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 240a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z\"]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'far',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M296 256H444.7c19.5 0 35.3-15.8 35.3-35.3c0-9.4-3.7-18.3-10.3-25L441.9 168 496 113.9c18.7-18.7 18.7-49.1 0-67.9L465.9 16c-18.7-18.7-49.1-18.7-67.9 0L344 70.1 316.3 42.3c-6.6-6.6-15.6-10.3-25-10.3C271.8 32 256 47.8 256 67.3V216c0 22.1 17.9 40 40 40zm95-71l23 23H304V97.9l23 23c9.4 9.4 24.6 9.4 33.9 0l71-71L462.1 80l-71 71c-9.4 9.4-9.4 24.6 0 33.9zM67.3 256C47.8 256 32 271.8 32 291.3c0 9.4 3.7 18.3 10.3 25L70.1 344 16 398.1c-18.7 18.7-18.7 49.1 0 67.9L46.1 496c18.7 18.7 49.1 18.7 67.9 0L168 441.9l27.7 27.7c6.6 6.6 15.6 10.3 25 10.3c19.5 0 35.3-15.8 35.3-35.3V296c0-22.1-17.9-40-40-40H67.3zM121 327l-23-23H208V414.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0l-71 71L49.9 432l71-71c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'far',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M543.2 30.2c3.1-11.6-2.8-23.7-13.9-28.3s-23.9-.4-30 9.9L344.7 274.1 311.2 145.9C308.5 135.4 298.9 128 288 128s-20.5 7.4-23.2 17.9L227.4 289.4 145 207c-7.6-7.6-19.4-9.2-28.8-3.9s-14.1 16.2-11.5 26.7l23.9 95.7-70.8-5.4c-9.2-.7-18 4-22.7 12s-4.2 18 1.1 25.6L87.7 432h58.4l-41.7-60.2 53.7 4.1c7.7 .6 15.2-2.6 20.2-8.4s6.8-13.8 4.9-21.3l-11-43.9L223 353c6.1 6.1 15 8.4 23.3 6.2s14.8-8.8 16.9-17.1l24.8-95 24.8 95c2.4 9.4 10.3 16.4 19.9 17.7s19.1-3.2 24-11.6L451.2 188 408.8 345.8c-2 7.6-.2 15.7 4.8 21.7s12.7 9.2 20.5 8.4l36.9-3.4L429.9 432h58.4l51.5-74.3c5.3-7.7 5.7-17.7 1-25.8s-13.6-12.7-22.9-11.8L464.1 325 543.2 30.2zM465.9 464H430.1l0 0H389.2c-10.8-45.9-52-80-101.2-80s-90.4 34.1-101.2 80H145.9l0 0H110.1l0 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H465.9l0 0zm-228.5 0c9-18.9 28.3-32 50.6-32s41.6 13.1 50.6 32H237.4zM312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24z\"]\n};\nvar faFileLines = {\n prefix: 'far',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'far',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M136 56c0-13.3 10.7-24 24-24H320c13.3 0 24 10.7 24 24V432H456V256c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H504V456c0 13.3-10.7 24-24 24H320c-13.3 0-24-10.7-24-24V80H184V256c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H136V56z\"]\n};\nvar faRing = {\n prefix: 'far',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M59.7 168c8.9-9.4 22.9-19 42.1-27.6C140 123.2 194.5 112 256 112s116 11.2 154.2 28.4c19.1 8.6 33.2 18.2 42.1 27.6c8.8 9.3 11.7 17.4 11.7 24s-2.9 14.7-11.7 24c-.8 .9-1.7 1.7-2.5 2.6C402.4 191.8 332.2 176 256 176s-146.4 15.8-193.8 42.6c-.9-.9-1.7-1.7-2.5-2.6C50.9 206.7 48 198.6 48 192s2.9-14.7 11.7-24zM464 268.6V320c0 6.6-2.9 14.7-11.7 24c-8.9 9.4-22.9 19-42.1 27.6C372 388.8 317.5 400 256 400s-116-11.2-154.2-28.4c-19.1-8.6-33.2-18.2-42.1-27.6C50.9 334.7 48 326.6 48 320V268.6c10.3 7.1 21.8 13.3 34.1 18.9C127.9 307.9 189.4 320 256 320s128.1-12.1 173.9-32.6c12.4-5.5 23.9-11.8 34.1-18.9zM0 192V320c0 22.1 10.1 41.4 24.8 57c14.6 15.4 34.5 28.2 57.4 38.5C127.9 435.9 189.4 448 256 448s128.1-12.1 173.9-32.6c22.8-10.2 42.8-23 57.4-38.5c14.7-15.6 24.8-34.9 24.8-57V192c0-22.1-10.1-41.4-24.8-57c-14.6-15.4-34.5-28.2-57.4-38.5C384.1 76.1 322.6 64 256 64S127.9 76.1 82.1 96.6C59.3 106.8 39.3 119.6 24.8 135C10.1 150.6 0 169.9 0 192zm256 80c-56.1 0-106.4-9.3-143.8-24c37.1-14.5 87.3-24 143.8-24s106.7 9.5 143.8 24c-37.4 14.7-87.7 24-143.8 24z\"]\n};\nvar faBuildingUn = {\n prefix: 'far',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM104 248h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V264c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V264zM237.3 87.1l34.7 52V96c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 96v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDiceThree = {\n prefix: 'far',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faTirePressureWarning = {\n prefix: 'far',\n iconName: 'tire-pressure-warning',\n icon: [512, 512, [], \"f633\", \"M424 0c-13.3 0-24 10.7-24 24V54.5c0 30.1 4.9 60 14.4 88.5l2.5 7.4c6.1 18.4 14.4 35.6 22.2 51.5c15 30.5 26.3 66.3 22 105.3c-4 36.7-22.3 79.2-70.5 124.8H121.4c-48.2-45.6-66.4-88.1-70.5-124.8c-4.3-39 7-74.8 22-105.3c7.8-15.8 16.1-33 22.2-51.5l2.5-7.4c9.5-28.6 14.4-58.4 14.4-88.5V24c0-13.3-10.7-24-24-24S64 10.7 64 24V54.5c0 24.9-4 49.7-11.9 73.4l-2.5 7.4c-5 15-11.9 29.6-19.7 45.4C12.7 215.5-2.5 260.9 3.2 312.4c5.5 49.7 30 102.1 84.8 154.1V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V466.5c54.8-51.9 79.3-104.3 84.8-154.1c5.7-51.5-9.5-96.9-26.7-131.8c-7.8-15.8-14.7-30.4-19.7-45.4l-2.5-7.4C452 104.2 448 79.4 448 54.5V24c0-13.3-10.7-24-24-24zM256 96c-13.3 0-24 10.7-24 24V232c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWifiFair = {\n prefix: 'far',\n iconName: 'wifi-fair',\n icon: [640, 512, [\"wifi-2\"], \"f6ab\", \"M152.4 321.2C196.5 280.7 255.4 256 320 256s123.5 24.7 167.6 65.2c9.8 9 24.9 8.3 33.9-1.5s8.3-24.9-1.5-33.9C467.4 237.5 397.1 208 320 208s-147.4 29.5-200.1 77.9c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5zM320 480a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faWifi2 = faWifiFair;\nvar faCalendarDays = {\n prefix: 'far',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192h80v56H48V192zm0 104h80v64H48V296zm128 0h96v64H176V296zm144 0h80v64H320V296zm80-48H320V192h80v56zm0 160v40c0 8.8-7.2 16-16 16H320V408h80zm-128 0v56H176V408h96zm-144 0v56H64c-8.8 0-16-7.2-16-16V408h80zM272 248H176V192h96v56z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faMp3Player = {\n prefix: 'far',\n iconName: 'mp3-player',\n icon: [384, 512, [], \"f8ce\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM192 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM112 80c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32H272c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H112z\"]\n};\nvar faAnchorCircleCheck = {\n prefix: 'far',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c17.2 0 33.9-2.4 49.7-6.8c-14.7-11.8-27.4-25.9-37.6-41.7c-4 .4-8 .5-12.1 .5H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faTally4 = {\n prefix: 'far',\n iconName: 'tally-4',\n icon: [640, 512, [], \"e297\", \"M152 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64zm128 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64zM384 40c-13.3 0-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-13.3-10.7-24-24-24zM536 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64z\"]\n};\nvar faRectangleHistory = {\n prefix: 'far',\n iconName: 'rectangle-history',\n icon: [512, 512, [], \"e4a2\", \"M464 224c0-8.8-7.2-16-16-16L64 208c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-224zm-16-64c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l384 0zm-8-80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24L392 0z\"]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'far',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM492.7 300.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faVolleyball = {\n prefix: 'far',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M371.5 429c-71.4 7-145.1-8.2-210-47.1c-8.8 14.8-16.2 30.3-22.3 46.3C172.5 450.8 212.7 464 256 464c42.7 0 82.5-12.9 115.5-35zm60.1-61.5c9.2-14.4 16.6-30.1 22.1-46.7c-65.9 7.3-134.5-4.3-197.1-37.1c-25.9 16.5-48.4 36.5-67.2 58.9c75.2 43.8 163.6 51 242.3 24.9zm31.8-96.4c.4-5 .5-10 .5-15.1c0-77.9-42.8-145.8-106.3-181.5c35.6 58.4 54.2 127.7 49.6 200.3c18.8 .5 37.6-.7 56.1-3.8zM101 394.7C127.6 334 172 280.5 231.7 242.7c-1.3-30-7.1-58.9-16.8-85.9C140.2 189.5 85.7 249.6 58.1 320.3c9 27.9 23.8 53.1 42.9 74.5zm-52-159.9C84.1 182.9 133.8 140 195.2 113c-8.7-15.7-18.7-30.4-29.9-44.2C101.9 99.6 56.5 161.6 49.1 234.8zM213.3 52.4c39.3 53.4 63.5 118.6 66.4 189.2c25.7 13.4 52.6 22.6 79.9 27.9c4.6-84.1-26.8-163-81.5-220.4c-7.2-.8-14.6-1.2-22.1-1.2c-14.6 0-28.9 1.5-42.7 4.4zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 0l0 0h0l0 0z\"]\n};\nvar faVolleyballBall = faVolleyball;\nvar faSunHaze = {\n prefix: 'far',\n iconName: 'sun-haze',\n icon: [640, 512, [], \"f765\", \"M439.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L320 61.1 237.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L83.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L125.1 256l0 0h53.2c0-4.8-1.4-9.5-4.2-13.6l-45.2-65.6 78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L306.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L466 242.4c-2.8 4.1-4.2 8.9-4.2 13.6h53.2l0 0 56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L439.7 19.7zM432 256c0-61.9-50.1-112-112-112s-112 50.1-112 112v0h48v0c0-35.3 28.7-64 64-64s64 28.7 64 64v0h48v0zm184 32H504c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-208 0H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24s-10.7-24-24-24zM576 400c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24zM88 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zm208 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H296z\"]\n};\nvar faTextSize = {\n prefix: 'far',\n iconName: 'text-size',\n icon: [640, 512, [], \"f894\", \"M48 128V80H168l0 352H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H216l0-352H336v48c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72v56c0 13.3 10.7 24 24 24s24-10.7 24-24zM360 296V272h96l0 160H424c-13.3 0-24 10.7-24 24s10.7 24 24 24H536c13.3 0 24-10.7 24-24s-10.7-24-24-24H504l0-160h88v24c0 13.3 10.7 24 24 24s24-10.7 24-24V264c0-22.1-17.9-40-40-40H352c-22.1 0-40 17.9-40 40v32c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faUfo = {\n prefix: 'far',\n iconName: 'ufo',\n icon: [640, 512, [128760], \"e047\", \"M176.6 246.3c-17.5 16.4-17.5 16.4-17.5 16.5l0 0 0 .1 .1 .1 .3 .3c.2 .2 .4 .4 .7 .7c.6 .5 1.3 1.2 2.2 2.1c1.8 1.6 4.3 3.7 7.6 6.2c6.6 4.8 16.1 10.9 29.1 16.8c26.1 11.9 65.3 23 120.8 23s94.7-11.1 120.8-23c13-5.9 22.6-12 29.1-16.8c3.3-2.4 5.8-4.5 7.6-6.2c.9-.8 1.6-1.5 2.2-2.1c.3-.3 .5-.5 .7-.7l.3-.3 .1-.1 0-.1 0 0c0 0 0 0-17.5-16.5l17.5 16.4c3.7-3.9 6-9 6.4-14.4c.5-5.8 .7-11.6 .6-17.2c30 8.9 54.6 19.9 72.5 31.8c24.1 16.2 31.5 30.9 31.5 41.6c0 7.9-3.8 17.7-15.8 29.1c-12 11.5-30.8 23-55.8 33.1C470.3 387 399.4 400 320 400s-150.3-13-200.3-33.2c-25.1-10.1-43.8-21.6-55.8-33.1C51.8 322.2 48 312.4 48 304.5c0-10.7 7.4-25.4 31.5-41.6c17.9-12 42.4-23 72.5-31.8c-.1 5.7 .1 11.4 .6 17.2c.5 5.4 2.7 10.5 6.4 14.4l17.5-16.4zm302.8-67.2C456.8 110.9 392.6 64 320 64s-136.8 46.9-159.4 115.1c-42.7 10.5-80 25.4-107.8 44C23.4 242.9 0 270.2 0 304.5c0 25.1 12.7 46.7 30.7 63.9c17.9 17.1 42.6 31.4 71 42.9C158.8 434.3 236 448 320 448s161.2-13.7 218.3-36.7c28.5-11.5 53.1-25.8 71-42.9c18-17.1 30.7-38.7 30.7-63.9c0-34.3-23.4-61.7-52.8-81.4c-27.8-18.6-65.1-33.5-107.8-44zM440 234.6c-4.1 2.9-10.4 6.8-19.1 10.8c-19.6 8.9-52 18.7-100.9 18.7s-81.3-9.7-100.9-18.7c-8.7-4-15-7.9-19.1-10.8C199.2 164.7 255 112 320 112s120.8 52.7 120 122.6zM152 312a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm192 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168-16a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFork = {\n prefix: 'far',\n iconName: 'fork',\n icon: [512, 512, [\"utensil-fork\"], \"f2e3\", \"M398.4 43.2c10.6-8 12.8-23 4.8-33.6s-23-12.8-33.6-4.8l-122.7 92c-4.4 3.3-8.6 7-12.6 10.9l-1.9 1.9c-20.8 20.8-32.5 49-32.5 78.4c0 24.5 8.1 48.1 22.8 67.3L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L256.7 289.2C275.9 303.9 299.5 312 324 312c29.4 0 57.6-11.7 78.4-32.5l1.9-1.9c3.9-3.9 7.6-8.1 10.9-12.6l92-122.7c8-10.6 5.8-25.6-4.8-33.6s-25.6-5.8-33.6 4.8l-92 122.7c-2 2.6-4.1 5.1-6.4 7.4l-1.9 1.9C356.7 257.4 340.7 264 324 264s-32.7-6.6-44.5-18.4l-6.5-6.5c0 0 0 0 0 0s0 0 0 0l-6.5-6.5C254.6 220.7 248 204.7 248 188s6.6-32.7 18.4-44.5l1.9-1.9c2.3-2.3 4.8-4.5 7.4-6.4l122.7-92zM457 89c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L307 171c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L457 89z\"]\n};\nvar faUtensilFork = faFork;\nvar faArrowsUpToLine = {\n prefix: 'far',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M24 80l528 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 32C10.7 32 0 42.7 0 56S10.7 80 24 80zM7 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l63-63L104 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-246.1 63 63c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L145 135c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7L7 239zM327 273c9.4 9.4 24.6 9.4 33.9 0l63-63L424 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-246.1 63 63c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L465 135c-9.4-9.4-24.6-9.4-33.9 0L327 239c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faMobileSignal = {\n prefix: 'far',\n iconName: 'mobile-signal',\n icon: [512, 512, [], \"e1ef\", \"M64 48H288c8.8 0 16 7.2 16 16V298.7c14.5-14.1 30.6-26.5 48-37V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H224V488c0-8.1 .4-16.1 1.1-24H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm80 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM488 256c-128.1 0-232 103.9-232 232c0 13.3 10.7 24 24 24s24-10.7 24-24c0-101.6 82.4-184 184-184c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-136c0-13.3-10.7-24-24-24c-75.1 0-136 60.9-136 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-48.6 39.4-88 88-88c13.3 0 24-10.7 24-24z\"]\n};\nvar faBarcodeScan = {\n prefix: 'far',\n iconName: 'barcode-scan',\n icon: [640, 512, [], \"f465\", \"M88 32C74.7 32 64 42.7 64 56V192h48V56c0-13.3-10.7-24-24-24zM64 456c0 13.3 10.7 24 24 24s24-10.7 24-24V320H64V456zm96 8c0 8.8 7.2 16 16 16s16-7.2 16-16V320H160V464zm64-8c0 13.3 10.7 24 24 24s24-10.7 24-24V320H224V456zm0-400V192h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zM336 456c0 13.3 10.7 24 24 24s24-10.7 24-24V320H336V456zm0-400V192h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zM464 464c0 8.8 7.2 16 16 16s16-7.2 16-16V320H464V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64 408c0 13.3 10.7 24 24 24s24-10.7 24-24V320H528V456zm0-400V192h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zM160 192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V192zM0 256c0 13.3 10.7 24 24 24l592 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 232c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSortDown = {\n prefix: 'far',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M160 425.4L70.6 336H249.4L160 425.4zm-22.6 45.3c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"]\n};\nvar faSortDesc = faSortDown;\nvar faFolderArrowDown = {\n prefix: 'far',\n iconName: 'folder-arrow-down',\n icon: [512, 512, [\"folder-download\"], \"e053\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM280 200c0-13.3-10.7-24-24-24s-24 10.7-24 24V302.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V200z\"]\n};\nvar faFolderDownload = faFolderArrowDown;\nvar faCircleMinus = {\n prefix: 'far',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMinusCircle = faCircleMinus;\nvar faFaceIcicles = {\n prefix: 'far',\n iconName: 'face-icicles',\n icon: [512, 512, [], \"e37c\", \"M256 48C141.1 48 48 141.1 48 256c0 1.4-.1 2.7-.3 4l-15 180c-.4 4.5-4.1 8-8.7 8s-8.3-3.5-8.7-8L.3 260c-.2-1.3-.3-2.6-.3-4C0 114.6 114.6 0 256 0S512 114.6 512 256c0 1-.1 2-.2 3L496.5 504c-.3 4.5-4 8-8.5 8s-8.2-3.5-8.5-8L464.2 259c-.1-1-.2-2-.2-3c0-114.9-93.1-208-208-208zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56c0 15.7-6.4 29.8-16.8 40l-8.9 86.7c-.5 5.3-5 9.3-10.3 9.3s-9.7-4-10.3-9.3l-7.3-70.8c-.8 0-1.6 .1-2.5 .1H317.3l-6.5 38.8c-.9 5.3-5.5 9.2-10.9 9.2s-10-3.9-10.9-9.2L282.7 400H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-23.6-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM256 512c-75.5 0-143.3-32.7-190.2-84.6L72 353.1C106.9 419.1 176.2 464 256 464c3.5 0 6.9-.1 10.3-.3c7.9 10 20.2 16.3 33.7 16.3c7.9 0 15.4-2.2 21.9-6c1 10.1 5.6 19.1 12.4 25.8c-24.7 7.9-51 12.2-78.3 12.2zm151.3-49.5l7.4-72c8.9-10.5 16.8-21.9 23.5-34.1l4.7 74.6c-10.8 11.6-22.8 22.2-35.6 31.6z\"]\n};\nvar faShovel = {\n prefix: 'far',\n iconName: 'shovel',\n icon: [512, 512, [], \"f713\", \"M375 7c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9l-44.1 44.1c-17.2 17.2-40.6 26.9-65 26.9c-16.7 0-32.3-4.4-45.8-12.2L241 305l56.4 56.4c12.5 12.5 12.5 32.8 0 45.3l-58.5 58.5c-30 30-70.7 46.9-113.1 46.9H32c-17.7 0-32-14.3-32-32V386.3c0-42.4 16.9-83.1 46.9-113.1l58.5-58.5c12.5-12.5 32.8-12.5 45.3 0L207 271 316.2 161.9c-7.8-13.5-12.2-29.1-12.2-45.8c0-24.4 9.7-47.7 26.9-65L375 7zm17 50.9L364.9 85.1c-8.2 8.2-12.9 19.4-12.9 31c0 24.2 19.6 43.9 43.9 43.9c11.6 0 22.8-4.6 31-12.9L454.1 120 392 57.9zM125.7 464c29.7 0 58.2-11.8 79.2-32.8L252.1 384 128 259.9 80.8 307.1c-21 21-32.8 49.5-32.8 79.2V464h77.7z\"]\n};\nvar faDoorOpen = {\n prefix: 'far',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M272 49.7V464H112l0-371.2L272 49.7zM320 464V42.4C320 19 301 0 277.6 0c-3.7 0-7.4 .5-11 1.5L99.5 46.4C78.6 52.1 64 71.1 64 92.8V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64 96h16H272h48V464zM224 288c13.2 0 24-14.4 24-32s-10.8-32-24-32s-24 14.4-24 32s10.7 32 24 32zM352 112H456c4.4 0 8 3.6 8 8V488c0 13.3 10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H512V120c0-30.9-25.1-56-56-56H352v48z\"]\n};\nvar faFilms = {\n prefix: 'far',\n iconName: 'films',\n icon: [576, 512, [], \"e17a\", \"M256 264V232H416v32 72H256V264zm0-80V152 80H416v72 32H256zM440 32H416 256 232 208 160c-35.3 0-64 28.7-64 64v32 24 24 64 24 24 32c0 35.3 28.7 64 64 64h48 24 24H416h24 24 48c35.3 0 64-28.7 64-64V288 264 240 176 152 128 96c0-35.3-28.7-64-64-64H464 440zM160 80h48v48H144V96c0-8.8 7.2-16 16-16zm-16 96h64v32 32H144V176zm0 112h64v48H160c-8.8 0-16-7.2-16-16V288zm368 48H464V288h64v32c0 8.8-7.2 16-16 16zm16-96H464V208 176h64v64zm0-112H464V80h48c8.8 0 16 7.2 16 16v32zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faRightFromBracket = {\n prefix: 'far',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M352 146.2L462 256 352 365.8l0-53.8c0-13.3-10.7-24-24-24l-120 0 0-64 120 0c13.3 0 24-10.7 24-24l0-53.8zM512 256c0-11.5-4.6-22.5-12.7-30.6L383.2 109.6c-8.7-8.7-20.5-13.6-32.8-13.6c-25.6 0-46.4 20.8-46.4 46.4l0 33.6-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 33.6c0 25.6 20.8 46.4 46.4 46.4c12.3 0 24.1-4.9 32.8-13.6L499.3 286.6c8.1-8.1 12.7-19.1 12.7-30.6zM168 80c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 32C39.4 32 0 71.4 0 120L0 392c0 48.6 39.4 88 88 88l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l80 0z\"]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faFaceGlasses = {\n prefix: 'far',\n iconName: 'face-glasses',\n icon: [512, 512, [], \"e377\", \"M256 464C141.1 464 48 370.9 48 256c0-1.8 0-3.5 .1-5.3C49.5 280.4 74 304 104 304h80c30.9 0 56-25.1 56-56V200c0-2.7-.2-5.4-.6-8h33.1c-.4 2.6-.6 5.3-.6 8v48c0 30.9 25.1 56 56 56h80c30 0 54.5-23.6 55.9-53.3c0 1.8 .1 3.5 .1 5.3c0 114.9-93.1 208-208 208zM224 160.8c-10.2-10.4-24.3-16.8-40-16.8H104c-10.1 0-19.6 2.7-27.8 7.4C112.2 89.6 179.3 48 256 48s143.8 41.6 179.8 103.4c-8.2-4.7-17.7-7.4-27.8-7.4H328c-15.7 0-29.8 6.4-40 16.8V160H224v.8zM256 512c141.4 0 256-114.6 256-256c0-22.8-3-44.8-8.5-65.8c5.1-2.7 8.5-8 8.5-14.2c0-8.8-7.2-16-16-16h-2.6C455.4 66.2 363.4 0 256 0S56.6 66.2 18.6 160H16c-8.8 0-16 7.2-16 16c0 6.1 3.5 11.5 8.5 14.2C3 211.2 0 233.2 0 256C0 397.4 114.6 512 256 512zM143.7 332.7c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C319.2 350.5 293.2 368 256 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zM304 200c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V200zM104 176h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24zm88.4 48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faNfc = {\n prefix: 'far',\n iconName: 'nfc',\n icon: [448, 512, [], \"e1f7\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM272 256c0-17.8-9.7-33.3-24-41.6V160h72V352H128V160h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-22.1 0-40 17.9-40 40V360c0 22.1 17.9 40 40 40H328c22.1 0 40-17.9 40-40V152c0-22.1-17.9-40-40-40H240c-22.1 0-40 17.9-40 40v62.4c-14.3 8.3-24 23.8-24 41.6c0 26.5 21.5 48 48 48s48-21.5 48-48z\"]\n};\nvar faAtom = {\n prefix: 'far',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M306.3 417.2c-16.3-4.7-33.1-10.9-50.3-18.4c-17.1 7.5-34 13.6-50.3 18.4C224.1 455.5 243.1 464 256 464s31.9-8.5 50.3-46.8zM293 325.7c14.8-8.9 28.7-18.1 41.4-27.6c1-13.5 1.6-27.6 1.6-42.1s-.5-28.6-1.6-42.1c-12.8-9.4-26.6-18.7-41.4-27.6c-12.5-7.5-24.9-14.2-37-20.2c-12.1 6-24.5 12.7-37 20.2c-14.8 8.9-28.7 18.1-41.4 27.6c-1 13.5-1.6 27.6-1.6 42.1s.5 28.6 1.6 42.1c12.8 9.4 26.6 18.7 41.4 27.6c12.5 7.5 24.9 14.2 37 20.2c12.1-6 24.5-12.7 37-20.2zm120.5-32.2c-10.2 10.2-21.3 20.2-33.4 29.9c-2.4 20.1-5.8 39.2-10.3 57c37.2 2.2 51.9-9.1 57.8-19.7c6.5-11.7 8.2-32.8-14.1-67.2zM469.6 128c20.7 37.1 9.4 82.8-23.6 128c33 45.2 44.3 90.9 23.6 128c-20.2 36.3-62.5 49.3-115.2 43.2c-22 52.1-55.6 84.8-98.4 84.8s-76.4-32.7-98.4-84.8c-52.7 6.1-95-6.8-115.2-43.2C21.7 346.9 33 301.2 66 256c-33-45.2-44.3-90.9-23.6-128c20.2-36.3 62.5-49.3 115.2-43.2C179.6 32.7 213.2 0 256 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2zM84.4 360.7c5.9 10.6 20.6 22 57.8 19.7c-4.5-17.8-7.9-36.9-10.3-57c-12-9.7-23.2-19.8-33.4-29.9C76.2 327.8 77.8 349 84.4 360.7zM98.5 218.5c10.2-10.2 21.3-20.2 33.4-29.9c2.4-20.1 5.8-39.2 10.3-57c-37.2-2.3-51.9 9.1-57.8 19.7c-6.5 11.7-8.2 32.8 14.1 67.2zM256 113.2c17.1-7.5 34-13.6 50.3-18.4C287.9 56.5 268.9 48 256 48s-31.9 8.5-50.3 46.8c16.3 4.7 33.1 10.9 50.3 18.4zm124.2 75.4c12 9.7 23.2 19.8 33.4 29.9c22.3-34.3 20.6-55.5 14.1-67.2c-5.9-10.6-20.6-22-57.8-19.7c4.5 17.8 7.9 36.9 10.3 57zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSoap = {\n prefix: 'far',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M208 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM96 192H209.1c2.5 17.7 9.2 34 18.9 48H96c-26.5 0-48 21.5-48 48V416c0 26.5 21.5 48 48 48H416c26.5 0 48-21.5 48-48V288c0-26.5-21.5-48-48-48h-4.1c9.6-13.7 16.1-29.6 18.8-46.9c46 7.1 81.3 46.9 81.3 94.9V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V288c0-53 43-96 96-96zm224 96h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H160c-35.3 0-64-28.7-64-64s28.7-64 64-64H320zM128 352c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM320 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-112a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faIcons = {\n prefix: 'far',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M59.6 54.4c11.1-9.4 30.8-8.7 43.5 3.7l8 8.1 17.5 17.8 17.1-18.3 7.3-7.8c12.5-12 31.7-13.1 43.8-3.4c14.2 12.1 14.8 33.3 2 46.2l0 0-70.7 70.8-71-70.8 0 0C44.3 87.9 44.9 66.6 59.5 54.5l0 0 .1-.1zM28.8 17.6C-7.7 47.9-9.4 102 23.1 134.6l0 0L101.7 213c14.7 15.1 38.3 14.1 52.5 .4l0 0 .3-.3 78.3-78.5 0 0C265.4 102 263.6 48 227.6 17.7l0 0-.3-.3c-29.9-24.3-71-21.9-99.3-1C99.7-4.4 58.2-7 28.8 17.6zM512 24c0-7.2-3.2-14-8.8-18.6s-12.9-6.4-19.9-5l-160 32C312.1 34.7 304 44.6 304 56V161.5c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V75.7L464 53.3v76.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V24zM106.9 309.5l2.7-5.5h68.7l2.7 5.5c8.1 16.3 24.8 26.5 42.9 26.5c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16c18.2 0 34.8-10.3 42.9-26.5zM224 288l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H99.8c-12.1 0-23.2 6.8-28.6 17.7L64 288c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64zM192 392a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM473.4 259.1c-6-4.4-14.3-4-19.9 .9l-128 112c-5 4.4-6.8 11.4-4.4 17.7s8.3 10.4 15 10.4h55.7l-38.4 89.7c-2.9 6.9-.7 14.9 5.3 19.2s14.3 4 19.9-.9l128-112c5-4.4 6.8-11.4 4.4-17.7s-8.3-10.4-15-10.4H440.3l38.4-89.7c2.9-6.9 .7-14.9-5.3-19.2z\"]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'far',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L408 294.5c5.2-11.8 8-24.8 8-38.5V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7zM272 187.9V96c0-26.5 21.5-48 48-48s48 21.5 48 48H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v64c0 2.3-.2 4.6-.5 6.8L272 187.9zm86.2 190.3C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9z\"]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faClosedCaptioningSlash = {\n prefix: 'far',\n iconName: 'closed-captioning-slash',\n icon: [640, 512, [], \"e135\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zM134.4 80H544c8.8 0 16 7.2 16 16V413.6l-92.1-72.2c10.5-5.4 19.9-12.7 27.7-21.4c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-1.4 0-2.7-.1-4.1-.2l-41.4-32.5c-1.6-4.8-2.5-10-2.5-15.4c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-45.4 0-83.4 31.5-93.4 73.8l-22.4-17.5c2.9-8.1 1.5-17.4-4.7-24.3c-16.6-18.5-40.4-30.6-67-31.9L134.4 80zm353 400l-60.9-48H96c-8.8 0-16-7.2-16-16V159L32 121.2V416c0 35.3 28.7 64 64 64H487.4zM295 328.4l-39.1-30.8c-7 4.1-15.2 6.4-23.9 6.4c-26.5 0-48-21.5-48-48c0-4.7 .7-9.2 1.9-13.5l-39.1-30.8C139.9 224.9 136 240 136 256c0 53 43 96 96 96c24.1 0 46.2-8.9 63-23.6z\"]\n};\nvar faCalculatorSimple = {\n prefix: 'far',\n iconName: 'calculator-simple',\n icon: [512, 512, [\"calculator-alt\"], \"f64c\", \"M256 0c13.3 0 24 10.7 24 24V232H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V24c0-13.3 10.7-24 24-24zM400 32c13.3 0 24 10.7 24 24V88h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H424v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V136H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V56c0-13.3 10.7-24 24-24zM55.4 343.4c9.4-9.4 24.6-9.4 33.9 0L112 366.1l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L145.9 400l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L112 433.9 89.4 456.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L78.1 400 55.4 377.4c-9.4-9.4-9.4-24.6 0-33.9zM64 88h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-13.3 0-24-10.7-24-24s10.7-24 24-24zM352 336h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCalculatorAlt = faCalculatorSimple;\nvar faBridgeCircleCheck = {\n prefix: 'far',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 496h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM339.1 288.1c8-15.7 18.3-30 30.4-42.5C359 241.9 347.8 240 336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c1.1 0 2.1 0 3.1 .1zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faSlidersUp = {\n prefix: 'far',\n iconName: 'sliders-up',\n icon: [512, 512, [\"sliders-v\"], \"f3f1\", \"M96 0c13.3 0 24 10.7 24 24V83.7c32.5 10.2 56 40.5 56 76.3s-23.5 66.1-56 76.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V236.3C39.5 226.1 16 195.8 16 160s23.5-66.1 56-76.3V24C72 10.7 82.7 0 96 0zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 35.8-23.5 66.1-56 76.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V428.3c-32.5-10.2-56-40.5-56-76.3s23.5-66.1 56-76.3V24c0-13.3 10.7-24 24-24s24 10.7 24 24V275.7c32.5 10.2 56 40.5 56 76.3zM448 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8 76.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V268.3c-32.5-10.2-56-40.5-56-76.3s23.5-66.1 56-76.3V24c0-13.3 10.7-24 24-24s24 10.7 24 24v91.7c32.5 10.2 56 40.5 56 76.3s-23.5 66.1-56 76.3z\"]\n};\nvar faSlidersV = faSlidersUp;\nvar faLocationMinus = {\n prefix: 'far',\n iconName: 'location-minus',\n icon: [384, 512, [\"map-marker-minus\"], \"f609\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM120 168H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMapMarkerMinus = faLocationMinus;\nvar faPumpMedical = {\n prefix: 'far',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M168 0h48c25.4 0 46.8 16.9 53.7 40h46.4c19.1 0 37.4 7.6 50.9 21.1L409 103c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L333.1 95c-4.5-4.5-10.6-7-17-7H272v40H224V56c0-4.4-3.6-8-8-8H168c-4.4 0-8 3.6-8 8v72H112V56c0-30.9 25.1-56 56-56zM101.5 222.7l-18.7 224C82.1 456 89.4 464 98.8 464H285.2c9.4 0 16.7-8 15.9-17.3l-18.7-224c-.7-8.3-7.6-14.7-15.9-14.7H117.4c-8.3 0-15.3 6.4-15.9 14.7zm-47.8-4c2.8-33.2 30.5-58.7 63.8-58.7H266.6c33.3 0 61 25.5 63.8 58.7l18.7 224c3.1 37.3-26.3 69.3-63.8 69.3H98.8c-37.4 0-66.9-32-63.8-69.3l18.7-224zM216 296v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V296c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFingerprint = {\n prefix: 'far',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7V256c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM352 256c0-53-43-96-96-96s-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256zm-96-24c-13.3 0-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9V256c0-13.3-10.7-24-24-24z\"]\n};\nvar faSkiBoot = {\n prefix: 'far',\n iconName: 'ski-boot',\n icon: [512, 512, [], \"e3cc\", \"M364.1 .3c13.1 2.2 21.8 14.6 19.6 27.7l-45 262.4L449 345.7c19 9.5 31 28.9 31 50.1V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H456 63.2c-35.4 0-61.9-32.5-54.9-67.2L88.5 51.2C90.8 40 100.6 32 112 32H334.3l2.1-12.1C338.6 6.9 351-1.9 364.1 .3zM202.4 80H131.6L97.7 246.4c37.7-27.1 79.9-76.4 104.7-166.4zm33.1 0C203.5 204.3 140 262.5 88.9 289.4l-33.6 165c-1 5 2.8 9.6 7.8 9.6H432V395.8c0-3-1.7-5.8-4.4-7.2L301.3 325.5c-2.8-1.4-5.2-3.3-7.2-5.5H224c-8.8 0-16-7.2-16-16s7.2-16 16-16h66.4l11-64H256c-8.8 0-16-7.2-16-16s7.2-16 16-16h50.8L326.1 80H235.5z\"]\n};\nvar faStandardDefinition = {\n prefix: 'far',\n iconName: 'standard-definition',\n icon: [576, 512, [\"rectangle-sd\"], \"e28a\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 184V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328c-13.3 0-24 10.7-24 24zm48 24h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H352V208zm-189.8 4.5c.7-.7 2.1-1.9 5.4-2.9c7.1-2.3 18.8-2.9 35.5-.6c5.1 .7 21 3.3 25.6 4.4c12.9 2.9 25.8-5.1 28.7-18.1s-5.1-25.8-18.1-28.7c-6.6-1.5-24.1-4.4-29.9-5.2c-19-2.5-39.3-3.1-56.7 2.5c-19.2 6.2-34.9 20.3-39.6 43.5c-.1 .4-.2 .9-.2 1.3c-1.7 11.7-.3 23 5.2 33.2c5.3 9.9 13.3 16.7 21.1 21.3c13.9 8.3 32 12.5 45.5 15.6l1.8 .4c16.1 3.8 26.9 6.5 33.6 10.5c1.4 .8 2.2 1.5 2.7 2c.5 .4 .6 .7 .6 .7c0 0 .1 .1 .1 .5c.1 .4 .1 1.4-.1 3.2c-.4 2.4-1 3.2-1.3 3.5c-.4 .5-1.8 1.6-5.1 2.7c-7.3 2.3-19.5 2.8-36.2 .6c-7.2-1-20-4.7-31.1-8l0 0 0 0c-2.6-.7-5-1.5-7.3-2.1c-12.7-3.6-26 3.7-29.7 16.5s3.7 26 16.5 29.7c1.4 .4 3.2 .9 5.3 1.5c10.8 3.2 28.6 8.4 39.7 9.9l.1 0c19 2.5 39.6 3.2 57.1-2.4c9.1-2.9 18.2-7.7 25.6-15.6c7.6-8.1 12.1-18.1 13.8-29.3c1.7-11.7 .3-23-5.2-33.2c-5.3-9.9-13.3-16.7-21.1-21.3c-13.9-8.3-32-12.5-45.5-15.6l-1.8-.4c-16.1-3.8-26.9-6.5-33.6-10.5c-1.4-.8-2.2-1.5-2.7-2c-.5-.4-.6-.7-.6-.7l0 0c0 0-.1-.1-.1-.5s-.1-1.2 0-2.5c.5-2.3 1.3-3.3 1.8-3.8z\"]\n};\nvar faRectangleSd = faStandardDefinition;\nvar faH1 = {\n prefix: 'far',\n iconName: 'h1',\n icon: [576, 512, [], \"f313\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zm456 0c0-8.5-4.5-16.4-11.8-20.7s-16.4-4.4-23.8-.3l-72 40c-11.6 6.4-15.8 21-9.3 32.6s21 15.8 32.6 9.3L456 128.8V400H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H504V88z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z\"]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'far',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm80-240c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-112 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faMessageBot = {\n prefix: 'far',\n iconName: 'message-bot',\n icon: [640, 512, [], \"e3b8\", \"M272 368H224 160c-8.8 0-16-7.2-16-16V192 64c0-8.8 7.2-16 16-16H480c8.8 0 16 7.2 16 16V192 352c0 8.8-7.2 16-16 16H373.3h-16l-12.8 9.6L272 432V416 368zM96 208V352c0 35.3 28.7 64 64 64h16 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L266.7 496l5.1-3.8 .2-.2 101.3-76H480c35.3 0 64-28.7 64-64V208h36.3c5.5 9.6 15.9 16 27.7 16c17.7 0 32-14.3 32-32s-14.3-32-32-32c-11.8 0-22.2 6.4-27.7 16H544V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V176H59.7c-5.5-9.6-15.9-16-27.7-16c-17.7 0-32 14.3-32 32s14.3 32 32 32c11.8 0 22.2-6.4 27.7-16H96zm80-80V256c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H208c-17.7 0-32 14.3-32 32zm32 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faForwardStep = {\n prefix: 'far',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M240 88c0-13.3 10.7-24 24-24s24 10.7 24 24V226.7v58.6V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V318.9L63.3 442.6c-5.1 3.5-11.1 5.4-17.3 5.4C29.5 448 16 434.5 16 417.9V94.1C16 77.5 29.5 64 46.1 64c6.2 0 12.2 1.9 17.3 5.4L240 193.1V88zm0 172.3v-8.6L64 128.5v255L240 260.3z\"]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'far',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm40-89.3l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faLightCeiling = {\n prefix: 'far',\n iconName: 'light-ceiling',\n icon: [512, 512, [], \"e016\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V161.1C112.4 172.2 16.7 265.6 2 384.1C-.2 401.6 14.3 416 32 416H480c17.7 0 32.2-14.4 30-31.9c-14.7-118.5-110.5-211.8-230-223V24zM458.4 368H53.6C75.2 276.3 157.7 208 256 208s180.8 68.3 202.4 160zM256 512c35.3 0 64-28.7 64-64H192c0 35.3 28.7 64 64 64z\"]\n};\nvar faMessageExclamation = {\n prefix: 'far',\n iconName: 'message-exclamation',\n icon: [512, 512, [\"comment-alt-exclamation\"], \"f4a5\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM256 80c-13.3 0-24 10.7-24 24V216c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCommentAltExclamation = faMessageExclamation;\nvar faBowlScoop = {\n prefix: 'far',\n iconName: 'bowl-scoop',\n icon: [448, 512, [127847, \"bowl-shaved-ice\"], \"e3de\", \"M32 224H416c0-106-86-192-192-192S32 118 32 224zM173.8 368h-2.2H145c-41.4 0-77.2-26.3-90.5-64H393.5c-13.3 37.7-49.1 64-90.5 64H276.3h-2.2H173.8zm36.9 78.7L224 430.8l13.3 15.9L251.7 464H196.3l14.4-17.3zm92.3 3.9L274.2 416H303c10.6 0 20.9-1.1 30.9-3.3c58.5-12.8 104.3-61.2 112-122.8l2-15.9c.6-4.6-.8-9.1-3.9-12.6s-7.4-5.4-12-5.4H16c-4.6 0-9 2-12 5.4s-4.5 8-3.9 12.6l2 15.9c7.7 61.6 53.5 110 112 122.8c10 2.2 20.3 3.3 30.9 3.3h28.8L145 450.6l-10.9 13.1-.3 .3-.4 .5L128 471l-12.3 14.7c-4 4.8-4.8 11.4-2.2 17s8.3 9.2 14.5 9.2h19.2 8.5 .6H291.7h.6 8.5H320c6.2 0 11.9-3.6 14.5-9.2s1.8-12.3-2.2-17L320 471l-5.5-6.5-.4-.5-.3-.3L303 450.6z\"]\n};\nvar faBowlShavedIce = faBowlScoop;\nvar faSquareX = {\n prefix: 'far',\n iconName: 'square-x',\n icon: [448, 512, [], \"e286\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm154.3 40.5L224 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L255.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L224 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L192.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8z\"]\n};\nvar faUtilityPoleDouble = {\n prefix: 'far',\n iconName: 'utility-pole-double',\n icon: [512, 512, [], \"e2c4\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H128V56c0-13.3-10.7-24-24-24S80 42.7 80 56V80H64.2c-.2 0-.3 0-.5 0H48V56c0-13.3-10.7-24-24-24S0 42.7 0 56V88c0 22.1 17.9 40 40 40H83.2L232 227.2V272H128V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H64.2c-.2 0-.3 0-.5 0H48V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 22.1 17.9 40 40 40H83.2L232 419.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V419.2L428.8 320H472c22.1 0 40-17.9 40-40V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H448.2c-.2 0-.3 0-.5 0H432V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H280V227.2L428.8 128H472c22.1 0 40-17.9 40-40V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H448.2c-.2 0-.3 0-.5 0H432V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H280V24zm91.2 104L280 188.8V128h91.2zM232 188.8L140.8 128H232v60.8zM371.2 320L280 380.8V320h91.2zM232 380.8L140.8 320H232v60.8z\"]\n};\nvar faFlagCheckered = {\n prefix: 'far',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M24 0C37.3 0 48 10.7 48 24V52l85-21.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1V345.8c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L48 388V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 350.5 64 24C0 10.7 10.7 0 24 0zM48 150.7l80-17.4V81.5l-80 20v49.3zm0 49.1v46.9l80-17.4V182.5L48 199.9zm0 96v42.7l68.6-17.2c3.8-.9 7.6-1.8 11.4-2.5V278.5L48 295.9zm128 18.8c33.1 .7 65.9 8.7 96 23.7V288.5l-55.4-16.3c-13.2-3.9-27-5.1-40.6-3.6v46zm144 37c18.7 1.5 37.7-1.1 55.6-7.8l24.4-9.1V288L374.3 294c-17.9 4.1-36.1 5.5-54.3 4.3v53.5zm80-113V192L374.3 198c-17.9 4.1-36.1 5.5-54.3 4.3v47.8c14.5 1.4 29.2 .4 43.5-2.9l36.5-8.4zm0-96V92.9c-25.6 10.4-52.8 15.6-80 15.6v45.5c14.5 1.4 29.2 .4 43.5-2.9l36.5-8.4zM272 103.1c-16.1-3.7-31.9-9.4-47-16.9c-15.3-7.7-32.1-11.8-49-12.3v50.6c18.2-1.3 36.5 .6 54.1 5.8L272 142.5V103.1zm0 89.5l-55.4-16.3c-13.2-3.9-27-5.1-40.6-3.6v47.8c18.2-1.3 36.5 .6 54.1 5.8L272 238.5v-46z\"]\n};\nvar faChevronsUp = {\n prefix: 'far',\n iconName: 'chevrons-up',\n icon: [512, 512, [\"chevron-double-up\"], \"f325\", \"M273 47c-9.4-9.4-24.6-9.4-33.9 0L47 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l175-175L431 273c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L273 47zM465 431L273 239c-9.4-9.4-24.6-9.4-33.9 0L47 431c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l175-175L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faChevronDoubleUp = faChevronsUp;\nvar faFootball = {\n prefix: 'far',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M442.6 69.4c-32.9-5-63.1-7.4-90.7-7.4l98 98c.5-32.1-2.4-63.1-7.3-90.6zm-217 12.7c-55.4 20.5-93.3 55.2-118.6 96.5c-20.6 33.7-33 72-39.5 110.9L223.6 445.6c23.2-3.4 44.1-8.8 62.8-15.8c55.4-20.5 93.3-55.2 118.6-96.5c20.6-33.7 33-72 39.5-110.9L288.4 66.4c-23.2 3.4-44.1 8.8-62.8 15.8zM62.1 352c-.5 32.1 2.4 63.1 7.3 90.6c32.9 5 63.1 7.4 90.7 7.4l-98-98zm4-198.4c30.6-50 76.8-92 142.9-116.5C274.4 12.8 357.6 6.5 461.5 23.8c13 2.2 23.4 12.1 26.1 25.1c17.5 84.8 18.6 211.3-41.6 309.5c-30.6 50-76.8 92-142.9 116.5c-65.6 24.3-148.7 30.7-252.6 13.3c-13-2.2-23.4-12.1-26.1-25.1C6.9 378.3 5.8 251.8 66 153.6zM297 151l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm-56 56l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm-56 56l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faFootballBall = faFootball;\nvar faUserVneck = {\n prefix: 'far',\n iconName: 'user-vneck',\n icon: [448, 512, [], \"e461\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm128-80A128 128 0 1 1 96 128a128 128 0 1 1 256 0zM48.3 464H399.7c-3.1-47.3-33.7-87.3-76-103.8L274 422.4c-25.6 32-74.3 32-100 0l-49.7-62.2C82 376.7 51.4 416.7 48.3 464zm85-156.4c5.6-1.2 11.3 1.1 14.9 5.6l63.4 79.2c6.4 8 18.6 8 25 0l63.4-79.2c3.6-4.5 9.3-6.7 14.9-5.6C390.9 323.6 448 391.1 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.9 57.1-148.4 133.3-164.4z\"]\n};\nvar faSchoolCircleExclamation = {\n prefix: 'far',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M333.3 4c-8.1-5.4-18.6-5.4-26.6 0l-138 92H72C32.2 96 0 128.2 0 168V440c0 39.8 32.2 72 72 72H256 384h10.8C349.5 480.1 320 427.5 320 368c0-16.5 2.3-32.5 6.5-47.7c-2.1-.2-4.3-.3-6.5-.3c-35.3 0-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V168c0-13.3 10.7-24 24-24H176c4.7 0 9.4-1.4 13.3-4L320 52.8 450.7 140c3.9 2.6 8.6 4 13.3 4H568c13.3 0 24 10.7 24 24v52.5c18.8 12.3 35.1 28 48 46.3V168c0-39.8-32.2-72-72-72H471.3L333.3 4zm20.2 260.6c10.9-15 24.1-28.2 39.1-39.1c4.7-10.2 7.3-21.5 7.3-33.5c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c12 0 23.3-2.6 33.5-7.3zM96 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zM320 144c8.8 0 16 7.2 16 16v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrop = {\n prefix: 'far',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M80 24C80 10.7 90.7 0 104 0s24 10.7 24 24V350.1L350.1 128 160 128V80l238.1 0L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-73 73L432 384h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H432v56c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-326.1L161.9 384H352v48H136c-30.9 0-56-25.1-56-56V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80H80V24z\"]\n};\nvar faAnglesDown = {\n prefix: 'far',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M401 113L241 273c-9.4 9.4-24.6 9.4-33.9 0L47 113c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143L367 79c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm0 192L241 465c-9.4 9.4-24.6 9.4-33.9 0L47 305c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143L367 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'far',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M88 0C39.4 0 0 39.4 0 88V424c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88V88c0-48.6-39.4-88-88-88H88zM48 88c0-22.1 17.9-40 40-40H552c22.1 0 40 17.9 40 40V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V88zm272 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM268.4 274c-1.1 .2-2.2 .5-3.3 .7c-25.7 6.3-47.4 22.9-60.3 45.3c-8.2 14.1-12.8 30.5-12.8 48c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32c0-17.5-4.7-33.9-12.8-48c-1.1-1.8-2.2-3.6-3.3-5.4c-13.1-19.6-33.3-34.1-56.9-39.9c-1.1-.3-2.2-.5-3.3-.7c-6.3-1.3-12.9-2-19.6-2H320 288c-6.7 0-13.3 .7-19.6 2zm7-49.5a72 72 0 1 0 89.2-113.1A72 72 0 1 0 275.4 224.5zM397.3 352H242.7c6.6-18.6 24.4-32 45.3-32h64c20.9 0 38.7 13.4 45.3 32zM223.8 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 293.3c0 14.7 11.9 26.7 26.7 26.7h46.6c13.7-33.9 41.5-60.6 76.2-72.8c-7.9-4.6-17-7.2-26.8-7.2H149.3C119.9 240 96 263.9 96 293.3zM470.7 320h46.6c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.8 0-18.9 2.6-26.8 7.2c34.6 12.2 62.5 38.9 76.2 72.8zM512 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faPeopleRoof = {\n prefix: 'far',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M332.3 3.4l296 176c11.4 6.8 15.1 21.5 8.4 32.9s-21.5 15.1-32.9 8.4L320 51.9 36.3 220.6c-11.4 6.8-26.1 3-32.9-8.4s-3-26.1 8.4-32.9l296-176c7.6-4.5 17-4.5 24.5 0zM496 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM480 464h32V400.5c-2-.3-4.1-.5-6.2-.5H486.2c-2.1 0-4.2 .2-6.2 .5V464zm98.9 27.4l-18.9-35V480c0 17.7-14.3 32-32 32H464c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8l-18.9-35V400c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V360.3l-18.9 35c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8l-18.9-35V480c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8zM280 200a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm24 104.5V384h32V304.5c-2-.3-4.1-.5-6.2-.5H310.2c-2.1 0-4.2 .2-6.2 .5zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM128 464h32V400.5c-2-.3-4.1-.5-6.2-.5H134.2c-2.1 0-4.2 .2-6.2 .5V464z\"]\n};\nvar faSquareArrowRight = {\n prefix: 'far',\n iconName: 'square-arrow-right',\n icon: [448, 512, [\"arrow-square-right\"], \"f33b\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM345 273l-88 88c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47L120 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l150.1 0-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l88 88c9.4 9.4 9.4 24.6 0 33.9z\"]\n};\nvar faArrowSquareRight = faSquareArrowRight;\nvar faLocationPlus = {\n prefix: 'far',\n iconName: 'location-plus',\n icon: [384, 512, [\"map-marker-plus\"], \"f60a\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM168 280V216H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V104c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faMapMarkerPlus = faLocationPlus;\nvar faLightbulbExclamationOn = {\n prefix: 'far',\n iconName: 'lightbulb-exclamation-on',\n icon: [640, 512, [], \"e1ca\", \"M69.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S58.3-3.3 69.3 4zM597.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM117.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm432-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM425.2 248.9C439.6 228.3 448 203.2 448 176c0-70.7-57.3-128-128-128s-128 57.3-128 128c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0 0 0 0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H237c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0 0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H354.4c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8l0 0 0 0 0 0 0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM400 432c0 44.2-35.8 80-80 80s-80-35.8-80-80V416H400v16zM336 128v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V128c0-8.8 7.2-16 16-16s16 7.2 16 16zM320 256a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPeopleLine = {\n prefix: 'far',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM304 176.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V256H304V176.5zm80 55.8l18.9 35c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l18.9-35V352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V328.3l18.9 35c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.4-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.4-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l18.9-35V352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V328.3l18.9 35c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8l18.9-35V272c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V232.3zM496 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM480 336V272.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V336H480zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM144 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM128 336V272.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V336H128z\"]\n};\nvar faBeerMugEmpty = {\n prefix: 'far',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M80 80V416c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V368.6c0-.4 0-.7 0-1.1V80H80zM384 383.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h59.2c38 0 68.8 30.8 68.8 68.8V282.7c0 27.3-16.2 52.1-41.2 63l-86.8 38zM384 144V331.3l67.5-29.5c7.6-3.3 12.5-10.8 12.5-19.1V164.8c0-11.5-9.3-20.8-20.8-20.8H384zM144 128c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]\n};\nvar faBeer = faBeerMugEmpty;\nvar faCrateEmpty = {\n prefix: 'far',\n iconName: 'crate-empty',\n icon: [512, 512, [], \"e151\", \"M56 272c-4.4 0-8 3.6-8 8v64H464V280c0-4.4-3.6-8-8-8H56zM48 392v64c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V392H48zM0 280c0-30.9 25.1-56 56-56H456c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V280zm400 24a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 304a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM96 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDiagramPredecessor = {\n prefix: 'far',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M464 416l0-64c0-8.8-7.2-16-16-16L64 336c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16zm-16 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c39.8 0 72 32.2 72 72l0 38.1 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23 0-38.1c0-13.3-10.7-24-24-24l-82 0c1.3 5.1 2 10.5 2 16l0 64z\"]\n};\nvar faTransporter = {\n prefix: 'far',\n iconName: 'transporter',\n icon: [512, 512, [], \"e042\", \"M472.7 6.6L480 32l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 64l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 64l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 32l7.3-25.4C456.4 2.7 459.9 0 464 0s7.6 2.7 8.7 6.6zm-416 64L64 96l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 128l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 128 6.6 120.7C2.7 119.6 0 116.1 0 112s2.7-7.6 6.6-8.7L32 96l7.3-25.4C40.4 66.7 43.9 64 48 64s7.6 2.7 8.7 6.6zM96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 272V432H192V208.8l-52.9 69.7c-8 10.6-23.1 12.6-33.6 4.6s-12.6-23.1-4.6-33.6l65.7-86.7c16.6-21.9 42.6-34.8 70.1-34.8h38.6c27.5 0 53.5 12.9 70.1 34.8l65.7 86.7c8 10.6 5.9 25.6-4.6 33.6s-25.6 5.9-33.6-4.6L320 208.8V432H272V320H240zm0-48h32V176H240v96z\"]\n};\nvar faCalendarCircleUser = {\n prefix: 'far',\n iconName: 'calendar-circle-user',\n icon: [576, 512, [], \"e471\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H399.4c-21 0-38.9 13.7-45.1 32.7C374.5 468.1 401.8 480 432 480s57.5-11.9 77.7-31.3zM480 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faArrowUpLong = {\n prefix: 'far',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M209 7c-9.4-9.4-24.6-9.4-33.9 0L39 143c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l95-95V488c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l95 95c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L209 7z\"]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faPersonCarryBox = {\n prefix: 'far',\n iconName: 'person-carry-box',\n icon: [384, 512, [\"person-carry\"], \"f4cf\", \"M80 0a48 48 0 1 1 0 96A48 48 0 1 1 80 0zM0 488L0 340.3c.5 .4 1.1 .9 1.6 1.3L48 378.1 48 488c0 13.3-10.7 24-24 24s-24-10.7-24-24zM59.2 176C53 176 48 181 48 187.2v85.3c0 2.5 1.1 4.8 3.1 6.3L72 295.2V179c-3.9-1.9-8.3-3-12.8-3zM120 246.2v86.7l25.8 20.3c8.1 6.4 13.4 15.6 14.9 25.8l15.1 105.6c1.9 13.1-7.2 25.3-20.4 27.2s-25.3-7.2-27.2-20.4L113.6 388.9 21.4 316.5C7.9 305.9 0 289.6 0 272.4V187.2C0 154.5 26.5 128 59.2 128c26.1 0 50.5 13.3 64.6 35.3L173.1 240H192V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32H232h-8H168.7c-13.6 0-26.3-6.9-33.6-18.4L120 246.2zM240 240h96V144H240v96z\"]\n};\nvar faPersonCarry = faPersonCarryBox;\nvar faFireFlameSimple = {\n prefix: 'far',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M209.1 8.5c72.9 68 128.7 152.4 162.7 246.1l.7 1.9c7.6 20.9 11.5 42.9 11.5 65.1C384 426.7 297.2 512 192 512S0 426.7 0 321.6c0-22.2 3.9-44.2 11.5-65.1l.7-1.9L57.3 271l-.7 1.9c-5.7 15.6-8.6 32.1-8.6 48.7C48 399.7 112.8 464 192 464s144-64.3 144-142.4c0-16.6-2.9-33.1-8.6-48.7l42.3-15.4-42.3 15.4-.7-1.9c-29-79.8-75-152.2-134.7-212.2C132.3 118.8 86.3 191.2 57.3 271L12.2 254.6C46.2 160.8 102 76.5 174.9 8.5l3.3-3C181.9 2 186.9 0 192 0s10.1 2 13.8 5.5l3.3 3zm72.6 281.4c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'far',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7l58.5 103.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144z\"]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'far',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M512 80H128c-8.8 0-16 7.2-16 16V320H64V96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V320H528V96c0-8.8-7.2-16-16-16zM96 432H544c20.9 0 38.7-13.4 45.3-32H50.7c6.6 18.6 24.4 32 45.3 32zM0 384c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faFileCsv = {\n prefix: 'far',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMenorah = {\n prefix: 'far',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M2.7 49.7L20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1zm96 0L116.8 7.4C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L212.8 7.4zm77.8 42.4L308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L404.8 7.4zm77.8 42.4L500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L596.8 7.4zM24 128c13.3 0 24 10.7 24 24V280c0 22.1 17.9 40 40 40H296V152c0-13.3 10.7-24 24-24s24 10.7 24 24V320H552c22.1 0 40-17.9 40-40V152c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 48.6-39.4 88-88 88H344v96H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 152c-13.3 0-24-10.7-24-24s10.7-24 24-24H296V368H88c-48.6 0-88-39.4-88-88V152c0-13.3 10.7-24 24-24zm128 24V264v24H104V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264v24H200V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24zm192 0V264v24H392V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264v24H488V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faUnion = {\n prefix: 'far',\n iconName: 'union',\n icon: [384, 512, [8899], \"f6a2\", \"M24 32c13.3 0 24 10.7 24 24V288c0 79.5 64.5 144 144 144s144-64.5 144-144V56c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 106-86 192-192 192S0 394 0 288V56C0 42.7 10.7 32 24 32z\"]\n};\nvar faChevronsLeft = {\n prefix: 'far',\n iconName: 'chevrons-left',\n icon: [512, 512, [\"chevron-double-left\"], \"f323\", \"M47 239c-9.4 9.4-9.4 24.6 0 33.9L239 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97.9 256 273 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L47 239zM431 47L239 239c-9.4 9.4-9.4 24.6 0 33.9L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-175-175L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faChevronDoubleLeft = faChevronsLeft;\nvar faCircleHeart = {\n prefix: 'far',\n iconName: 'circle-heart',\n icon: [512, 512, [\"heart-circle\"], \"f4c7\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM131.9 280.9L233.5 384.1c6.2 6.3 14.3 9.4 22.5 9.4s16.3-3.1 22.5-9.4L380.1 280.9c29.4-29.8 29.4-78.2 0-108s-77-29.8-106.4 0l-17.7 18-17.7-18c-29.4-29.8-77-29.8-106.4 0s-29.4 78.2 0 108z\"]\n};\nvar faHeartCircle = faCircleHeart;\nvar faTruckPlane = {\n prefix: 'far',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M183.3 18.7C192.9 8.8 206.6 0 224 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9c7.8 17.9 13 38.3 15.3 56c-23.5 14.1-40.5 37.9-45.3 65.9c-.9-2.6-1.4-5.3-1.4-8.1V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 7.3-3.3 14.2-9 18.8L53.7 289.3c-.7 .5-1.3 1-2 1.5c-2.3 1.5-3.7 4-3.7 6.7v28.7l111-44.8c7.4-3 15.8-2.1 22.4 2.4s10.6 11.9 10.6 19.9l0 72.3c0 7.6-3.6 14.7-9.6 19.2L128 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c9.1 2.8 21.9 6.7 35.5 10.8c5.4 10.5 12.7 19.9 21.4 27.7V488c0 4.4 .5 8.7 1.5 12.9l-7.6-2.3c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0-6.9-23 6.9 23c-2.2 .7-4.5 1-6.9 1C97 512 80 495 80 474.1V432c0-12.6 5.9-24.4 16-32l48-36V339.2L53.9 375.6c-.5 .2-1.1 .4-1.7 .6C26.4 384.4 0 365.2 0 338.1V297.5c0-18.6 9.2-36 24.6-46.4L144 155.8V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zM288 192c0-16.2 6-31.1 16-42.3c11.7-13.3 28.9-21.7 48-21.7H576c35.3 0 64 28.7 64 64V376v24c0 23.7-12.9 44.4-32 55.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V464H368v10.1V488c0 13.3-10.7 24-24 24c-2.1 0-4.2-.3-6.1-.8c-4.9-1.3-9.2-4.1-12.3-7.9c0 0 0 0 0 0c-3.4-4.2-5.5-9.5-5.5-15.3V459.9v-4.5c-15.5-9-26.9-24.3-30.7-42.4c-.9-4.2-1.3-8.5-1.3-13V376 281.1 204.5 192zM400 304h11.2 6.4 16.8H448h45.6 23.2H544l-11.9-37c-2.5-6.5-8.4-11-15.3-11H429.6 411.2c-6.9 0-12.9 4.5-15.3 11l-1.6 5-4.4 13.8L384 304h16zm-50.3-50.3l.5-1.4 .4-1.2 .5-1.2c.2-.6 .5-1.2 .7-1.8c3.6-8.7 9.2-16.7 16.3-23.3c3.5-3.3 7.5-6.2 11.7-8.6c9.1-5.2 19.8-8.3 31.5-8.3H516.8c28.8 0 51.4 18.7 60.2 41.9l.5 1.2 .4 1.2 11.9 37 2.3 7.2V192c0-8.8-7.2-16-16-16H352c-5.7 0-10.6 2.9-13.5 7.4c-1.6 2.5-2.5 5.4-2.5 8.6v20.5 30.3 53.7l2.3-7.2 11.4-35.6zM445.5 352H422 384h-8H360c-5.1 0-9.8 1.6-13.7 4.3c-6.2 4.3-10.3 11.5-10.3 19.7v12 12c0 8.3 6.3 15.1 14.4 15.9c.5 .1 1.1 .1 1.6 .1h12.7H576c8.8 0 16-7.2 16-16V376c0-13.3-10.7-24-24-24H544 445.5zM368 406.6a24 24 0 1 1 16-45.3 24 24 0 1 1 -16 45.3zM552 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faRecordVinyl = {\n prefix: 'far',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm120 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBringForward = {\n prefix: 'far',\n iconName: 'bring-forward',\n icon: [512, 512, [], \"f856\", \"M224 464H448c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H384V160h64c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384h48v64c0 8.8 7.2 16 16 16zm64-112H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64z\"]\n};\nvar faSquareP = {\n prefix: 'far',\n iconName: 'square-p',\n icon: [448, 512, [], \"e279\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H176v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152c0-13.3 10.7-24 24-24zm92 136c24.3 0 44-19.7 44-44s-19.7-44-44-44H176v88h68z\"]\n};\nvar faFaceGrinStars = {\n prefix: 'far',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM183.2 132.6c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L176 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L242.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm160 0c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L336 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L402.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm6.3 175.8c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c24.6 38.1 68.7 63.5 119.1 63.5s94.5-25.4 119.1-63.5c10.4-16.1-6.8-32.5-25.5-28.1z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faSigma = {\n prefix: 'far',\n iconName: 'sigma',\n icon: [384, 512, [8721], \"f68b\", \"M1.8 46.8C5.5 37.8 14.3 32 24 32H328c30.9 0 56 25.1 56 56v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-4.4-3.6-8-8-8H81.9L241 239c9.4 9.4 9.4 24.6 0 33.9L81.9 432H328c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24v48c0 30.9-25.1 56-56 56H24c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l183-183L7 73C.2 66.1-1.9 55.8 1.8 46.8z\"]\n};\nvar faCameraMovie = {\n prefix: 'far',\n iconName: 'camera-movie',\n icon: [576, 512, [127909, 127910], \"f8a9\", \"M224 120A72 72 0 1 0 80 120a72 72 0 1 0 144 0zM344 240H152C85.7 240 32 186.3 32 120S85.7 0 152 0c39.3 0 74.1 18.8 96 48c21.9-29.1 56.7-48 96-48c66.3 0 120 53.7 120 120s-53.7 120-120 120zM272 120a72 72 0 1 0 144 0 72 72 0 1 0 -144 0zM112 336V448c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H144 128c-8.8 0-16 7.2-16 16zm32-64H352c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V336c0-5.5 .7-10.9 2-16H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128h16zm384 36.6l-80 36V292l75.6-34c2.9-1.3 6-2.2 9.1-2.8c22.6-3.8 43.3 13.7 43.3 36.6V472.5c0 21.8-17.7 39.5-39.5 39.5c-5.6 0-11.1-1.2-16.2-3.5L448 476V423.4l80 36V308.6z\"]\n};\nvar faBong = {\n prefix: 'far',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M144 208.5c0 23.3-12.4 43.2-29.9 54.4C92.3 276.9 74.5 296.7 63 320H321c-11.6-23.3-29.3-43.1-51.2-57.2c-17.4-11.2-29.9-31.1-29.9-54.4V48H144V208.5zM288 48V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V48H88C74.7 48 64 37.3 64 24S74.7 0 88 0h24H272h24c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8z\"]\n};\nvar faClarinet = {\n prefix: 'far',\n iconName: 'clarinet',\n icon: [640, 512, [], \"f8ad\", \"M224 112c0-8.8 7.2-16 16-16h32 96 96 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v32h44.6c7.9 0 15.6-2.3 22.2-6.7L602.7 116c7.4-4.9 16.8-5.4 24.6-1.2S640 127.1 640 136V376c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-55.9-37.3c-6.6-4.4-14.3-6.7-22.2-6.7H113.4c-8.6 0-17.1-1.3-25.3-3.7L17.1 327C7 323.9 0 314.6 0 304V208c0-10.6 7-19.9 17.1-23l71-21.3c8.2-2.5 16.7-3.7 25.3-3.7H256V128H240c-8.8 0-16-7.2-16-16zm64 48h64V128H288v32zm96 0h64V128H384v32zM248 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm133.4-62.8C559 202.9 542 208 524.6 208H113.4c-3.9 0-7.8 .6-11.5 1.7L48 225.9v60.3l53.9 16.2c3.7 1.1 7.6 1.7 11.5 1.7H524.6c17.4 0 34.4 5.1 48.8 14.8L592 331.2V180.8l-18.6 12.4z\"]\n};\nvar faTruckFlatbed = {\n prefix: 'far',\n iconName: 'truck-flatbed',\n icon: [640, 512, [], \"e2b6\", \"M368 120c0-13.3 10.7-24 24-24h66.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96s-96-43-96-96h-8H256c0 53-43 96-96 96s-96-43-96-96H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H368V120zM557.7 239.6l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558l-.2-.2-.2-.2zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'far',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M192 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 58.3c10-11.3 16-26.1 16-42.3c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64c1.7 0 3.4-.1 5.1-.2L212.2 158c-21.1 13.6-37.7 30.2-51.4 46.4c-7.1 8.3-13.5 16.6-19.3 24l-1.4 1.8c-6.3 8.1-11.6 14.8-16.7 20.4C112.7 262.3 107.3 264 104 264c-2.5 0-4.3-.6-7.1-3.3c-3.7-3.5-7.1-8.8-12.5-17.4l-.6-.9c-4.6-7.4-11-17.6-19.4-25.7C54.7 207.4 41.5 200 24 200c-13.3 0-24 10.7-24 24s10.7 24 24 24c2.5 0 4.3 .6 7.1 3.3c3.7 3.5 7.1 8.8 12.5 17.4l.6 .9c4.6 7.4 11 17.6 19.4 25.7C73.3 304.6 86.5 312 104 312c18.5 0 32.9-8.5 44.3-18.6c3.1 4 6.6 8.3 10.5 12.7c-2.4 7.1-4.5 14.2-6.5 20.6L151 331c-3.4 11.2-6.4 20.3-9.8 27.8c-3.5 7.5-6.6 11.5-9.4 13.8c-2.3 1.8-5.5 3.4-11.7 3.4c-8.7 0-16.9-4.2-33.7-13.2c-15-8-35.7-18.8-62.3-18.8c-13.3 0-24 10.7-24 24s10.7 24 24 24c13.4 0 24.7 5.2 39.7 13.2c1 .6 2.1 1.1 3.2 1.7l0 0C80.1 414 98.6 424 120 424c16.2 0 30.2-4.8 41.7-13.9c10.9-8.7 18-20.2 23-31.1c5-10.9 8.8-22.9 12.2-34l.8-2.7c16.4 12.2 36.1 23.6 58.9 31.3c-5.6 16.6-13.8 37.5-24.6 55.5C217.2 454 203.2 464 192 464c-13.3 0-24 10.7-24 24s10.7 24 24 24c39.1 0 65.6-32 81.2-58.2c14.5-24.2 24.6-51.4 30.7-70.4c5.2 .4 10.6 .6 16 .6s10.8-.2 16-.6c6.1 19 16.3 46.3 30.7 70.4C382.4 480 408.9 512 448 512c13.3 0 24-10.7 24-24s-10.7-24-24-24c-11.2 0-25.2-10-40-34.8c-10.8-18-19-39-24.6-55.5c22.8-7.7 42.5-19 58.9-31.3l.8 2.7c3.4 11 7.2 23.1 12.2 34c5.1 10.9 12.1 22.4 23 31.1c11.5 9.1 25.5 13.9 41.7 13.9c21.4 0 39.9-10 53.1-17.1c1.1-.6 2.2-1.2 3.2-1.7c15-8 26.3-13.2 39.7-13.2c13.3 0 24-10.7 24-24s-10.7-24-24-24c-26.6 0-47.3 10.8-62.3 18.8c-16.8 9-25 13.2-33.7 13.2c-6.3 0-9.5-1.6-11.7-3.4c-2.8-2.2-6-6.3-9.4-13.8c-3.5-7.5-6.4-16.6-9.8-27.8l-1.3-4.2c-2-6.5-4.1-13.5-6.5-20.6c3.9-4.5 7.4-8.8 10.5-12.7C503.1 303.5 517.5 312 536 312c17.5 0 30.7-7.4 40.4-16.7c8.4-8.1 14.8-18.3 19.4-25.7l.6-.9c5.4-8.6 8.8-13.9 12.5-17.4c2.8-2.7 4.6-3.3 7.1-3.3c13.3 0 24-10.7 24-24s-10.7-24-24-24c-17.5 0-30.7 7.4-40.4 16.7c-8.4 8.1-14.8 18.3-19.4 25.7l-.6 .9c-5.4 8.6-8.8 13.9-12.5 17.4c-2.8 2.7-4.6 3.3-7.1 3.3c-3.3 0-8.7-1.7-19.4-13.4c-5.1-5.6-10.4-12.3-16.7-20.4l-1.4-1.8c-5.8-7.4-12.2-15.7-19.3-24c-13.8-16.2-30.4-32.8-51.4-46.4l15.1-30.2c1.7 .1 3.4 .2 5.1 .2c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 16.2 6 31.1 16 42.3l-15.6 31.2c-18.7-6-39.9-9.5-64.4-9.5s-45.8 3.5-64.4 9.5L240 106.3zM459.4 256.3c-.4 .6-.9 1.3-1.4 2c-6.3 8.8-15.8 20.5-28.3 32.2C404.5 313.8 368 336 320 336s-84.5-22.2-109.7-45.6c-12.6-11.7-22-23.4-28.3-32.2c-.5-.7-1-1.3-1.4-2c5.4-6.9 10.8-13.8 16.7-20.7c26.4-31 60.4-59.6 122.7-59.6s96.3 28.6 122.7 59.6c5.9 6.9 11.3 13.8 16.7 20.7zM448 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'far',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M143 505c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V280H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H440V81.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L433 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V232H184 136 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136V430.1L81 375c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96zm-7-313h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V192zM440 320H392V456c0 13.3 10.7 24 24 24s24-10.7 24-24V320z\"]\n};\nvar faLeafHeart = {\n prefix: 'far',\n iconName: 'leaf-heart',\n icon: [512, 512, [], \"f4cb\", \"M272 144l104 0c31.6 0 61-9.1 85.7-24.9c1.5 12.2 2.3 24.7 2.3 37.5c0 143.2-93.8 242.9-191.2 243.4l-.1 0-.8 0h-.1C201.3 400 144 342.7 144 272c0-70.7 57.3-128 128-128zM450.6 67.5C430.8 85.2 404.7 96 376 96L272 96c-93.2 0-169.5 72.5-175.6 164.1C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.6 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-26.4-2.9-51.9-8.3-76.2c-.4-1.9-.9-3.8-1.3-5.6c-2.2-9.3-4.8-18.3-7.8-27.2c-1.2-3.6-2.4-7.1-3.7-10.6c-2.6-6.9-12.7-6.6-16.2-.1c-1.4 2.7-3 5.3-4.6 7.8c-4.9 7.7-10.8 14.7-17.4 20.9c-.7 .7-1.4 1.3-2.1 1.9zM189.7 242.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faHouseBuilding = {\n prefix: 'far',\n iconName: 'house-building',\n icon: [640, 512, [], \"e1b1\", \"M352 48H576c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H416c0 18-6 34.6-16 48H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v60.6l48 44V64c0-8.8 7.2-16 16-16zm61.2 208H432c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v4.6l6.1 5.6c11.2 10.3 19.2 23.4 23.1 37.9zm2.8 96h16c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H416v64zm64-144v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H496zM400 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H400zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16zM20.8 237C7.5 249.1 0 266.2 0 284.2V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L20.8 237zM48 284.2c0-4.5 1.9-8.8 5.2-11.8L181.2 155c6.1-5.6 15.5-5.6 21.6 0l128 117.3c3.3 3 5.2 7.3 5.2 11.8V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V284.2zM144 296v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24z\"]\n};\nvar faCheeseSwiss = {\n prefix: 'far',\n iconName: 'cheese-swiss',\n icon: [512, 512, [129472], \"f7f0\", \"M464 256V240.2C464 151.7 392.3 80 303.8 80c-.8 0-1.6 .2-2.3 .7l-35 23.3c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48c-23.4 0-42.9-16.7-47.1-38.9L53.3 246.2C50 248.4 48 252.1 48 256H322.7c6.6-18.6 24.4-32 45.3-32s38.7 13.4 45.3 32H464zM48 304V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V304H403.8c-8.8 9.8-21.6 16-35.8 16s-27-6.2-35.8-16H48zm464-63.8V256 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zM176 320a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSpoon = {\n prefix: 'far',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M286.1 193.9l32 32c9.3 9.4 21.5 14 33.8 14.1c21.1 0 48.8-13.5 73.2-42.7C449 168.6 464 131.2 464 96c0-26.5-21.5-48-48-48c-35.2 0-72.6 15-101.3 38.9C285.5 111.3 272 139 272 160.1c0 12.3 4.7 24.5 14.1 33.8zm-34.9 33c-18.1-18.6-27.1-42.6-27.2-66.7C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-24.1 0-48.2-9.1-66.7-27.2L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L251.2 226.9z\"]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'far',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M32 24c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM256 128c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16H256zM64 80C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64H64zm192 85.8c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224H144h32 21.8c32.1 0 58.2-26 58.2-58.2zM250.2 256H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8zM256 357.8c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416H144v16c0 8.8 7.2 16 16 16s16-7.2 16-16V416h21.8c32.1 0 58.2-26 58.2-58.2z\"]\n};\nvar faEnvelopesBulk = {\n prefix: 'far',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M112 48H432V96h48V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48V192h48V48zM48 272H336v6.9L192.1 385.4c0 0-.1 0-.1 0s-.1 0-.1 0L48 278.9V272zm0 66.6L163.3 424c8.3 6.2 18.4 9.5 28.7 9.5s20.4-3.3 28.7-9.5L336 338.6V464H48V338.6zM0 272V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48zm272-80V176H592V368H416v48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H272c-26.5 0-48 21.5-48 48v16h48zm240 16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H512z\"]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'far',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faBowArrow = {\n prefix: 'far',\n iconName: 'bow-arrow',\n icon: [512, 512, [127993], \"f6b9\", \"M511.7 18.9c1-5.2-.7-10.5-4.4-14.3S498.2-.7 493.1 .3l-128 24c-5.8 1.1-10.6 5.3-12.3 11s-.2 11.8 4 16l35 35L144.6 333.4 93.8 320.7c-8.2-2-16.8 .4-22.8 6.3L7 391c-6.1 6.1-8.5 15-6.2 23.4s8.9 14.8 17.3 16.9l50 12.5 12.5 50c2.1 8.4 8.5 15 16.9 17.3s17.3 0 23.4-6.2l64-64c6-6 8.4-14.6 6.3-22.8l-12.7-50.8L425.7 120.3l35 35c4.2 4.2 10.4 5.7 16 4s9.9-6.5 11-12.3l24-128zM132.2 379.8l9.2 36.8L117 441.1l-5.7-22.9c-2.1-8.6-8.9-15.3-17.5-17.5L70.9 395l24.4-24.4 36.8 9.2zm-79.5-265L49 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L151.4 281.4l33.9-33.9-98-98c61.2-37.6 138.2-39.2 200.8-4.9l35.1-35.1c-82.8-51.7-189.4-50-270.6 5.2zm314.7 109c34.3 62.6 32.7 139.6-4.9 200.8l-98-98-33.9 33.9L367 497c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-3.7-3.7c55.2-81.2 57-187.8 5.2-270.6l-35.1 35.1z\"]\n};\nvar faCartXmark = {\n prefix: 'far',\n iconName: 'cart-xmark',\n icon: [576, 512, [], \"e0dd\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3L575.2 62.2c3.4-12.8-4.1-26-16.9-29.4s-26 4.1-29.4 16.9L482.4 222.2c-2.8 10.5-12.3 17.8-23.2 17.8H161.6l-37-194.5C119.5 19.1 96.4 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM257.8 65.8c-9.4 9.4-9.4 24.6 0 33.9L286.1 128l-28.3 28.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L320 161.9l28.3 28.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L353.9 128l28.3-28.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L320 94.1 291.7 65.8c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faHexagonXmark = {\n prefix: 'far',\n iconName: 'hexagon-xmark',\n icon: [512, 512, [\"times-hexagon\", \"xmark-hexagon\"], \"f2ee\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesHexagon = faHexagonXmark;\nvar faXmarkHexagon = faHexagonXmark;\nvar faCircleH = {\n prefix: 'far',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v80H192V152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 208c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80H320v80c0 13.3 10.7 24 24 24s24-10.7 24-24V256 152z\"]\n};\nvar faHospitalSymbol = faCircleH;\nvar faMerge = {\n prefix: 'far',\n iconName: 'merge',\n icon: [512, 512, [], \"e526\", \"M0 88C0 74.7 10.7 64 24 64H96h48.2c17.5 0 34 8.2 44.5 22.1L297.5 228.8c1.5 2 3.9 3.2 6.4 3.2H430.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H303.8c-2.5 0-4.9 1.2-6.4 3.2L188.7 425.9c-10.6 13.9-27.1 22.1-44.5 22.1H96 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96h48.2c2.5 0 4.9-1.2 6.4-3.2L257.8 256 150.5 115.2c-1.5-2-3.9-3.2-6.4-3.2H96 24C10.7 112 0 101.3 0 88z\"]\n};\nvar faPager = {\n prefix: 'far',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M448 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H448zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM96 192v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm16 112c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H112zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCartMinus = {\n prefix: 'far',\n iconName: 'cart-minus',\n icon: [576, 512, [], \"e0db\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM256 96H384c13.3 0 24 10.7 24 24s-10.7 24-24 24H256c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM240 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H208zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]\n};\nvar faContactBook = faAddressBook;\nvar faPanFrying = {\n prefix: 'far',\n iconName: 'pan-frying',\n icon: [576, 512, [127859], \"e42c\", \"M400 224A176 176 0 1 0 48 224a176 176 0 1 0 352 0zM364.8 398.3C326.3 429.4 277.3 448 224 448C100.3 448 0 347.7 0 224S100.3 0 224 0S448 100.3 448 224c0 33.4-7.3 65.1-20.4 93.6l123.7 79.9C566.7 409.2 576 427.1 576 448c0 35.3-28.7 64-64 64c-15.2 0-28.3-4.6-39.3-13.5L364.8 398.3zM528 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM254.1 115.6c15.2 15.8 44.5 32.9 65.8 38.4c13.7 3.5 26.4 11.6 35.5 23.9c21 28.4 15.1 68.5-13.3 89.5c-8.9 6.6-18.9 10.5-29.2 12c-18.6 2.6-42.2 16.3-51.6 32.6c-22.1 38.3-71 51.4-109.3 29.3s-51.4-71-29.3-109.3c12.4-21.4 19.4-53 21.5-77.6c1.3-14.9 7.8-29.4 19.4-40.5c25.5-24.5 66-23.7 90.5 1.8zM272 224a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faGrid = {\n prefix: 'far',\n iconName: 'grid',\n icon: [448, 512, [\"grid-3\"], \"e195\", \"M88 72v48H40V72H88zM40 32C17.9 32 0 49.9 0 72v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H40zM88 232v48H40V232H88zM40 192c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H40zm0 200H88v48H40V392zM0 392v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40zM248 72v48H200V72h48zM200 32c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H200zm0 200h48v48H200V232zm-40 0v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zm88 160v48H200V392h48zm-48-40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H200zM360 72h48v48H360V72zm-40 0v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40zm88 160v48H360V232h48zm-48-40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H360zm0 200h48v48H360V392zm-40 0v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40z\"]\n};\nvar faGrid3 = faGrid;\nvar faFootballHelmet = {\n prefix: 'far',\n iconName: 'football-helmet',\n icon: [512, 512, [], \"f44f\", \"M434.6 185.3L275.1 205.2c-38.3 4.8-67.1 37.4-67.1 76c0 11.9 2.8 23.6 8.1 34.3L254.3 392c1.1 2.2 1.7 4.7 1.7 7.2v.9c0 8.8-7.2 16-16 16h-2.9c-2.2 0-4.3-.4-6.3-1.3l-93.9-40.2c-10-4.3-20.7-6.5-31.5-6.5H100c-22.7-31.5-36-70.1-36-112C64 150 150 64 256 64c81 0 150.4 50.2 178.6 121.3zm27.9 44.9c17.5-2.2 30.2-18.3 25.7-35.3C461.1 91.9 367.4 16 256 16C123.5 16 16 123.5 16 256c0 56.3 19.4 108.1 51.9 149.1c5.7 7.1 14.4 10.9 23.5 10.9h14c4.3 0 8.6 .9 12.6 2.6l93.9 40.2c8 3.4 16.5 5.2 25.2 5.2H240c35.3 0 64-28.7 64-64v-.9c0-9.9-2.3-19.7-6.8-28.6L288 352h39.7l9.6 50.9c10.1 54 57.2 93.1 112.1 93.1h17c25.2 0 45.6-20.4 45.6-45.6V400 368c0-26.5-21.5-48-48-48H354.3l-14-74.5 122.2-15.3zM321.7 320H272l-13-26c-2-4-3-8.4-3-12.8c0-14.4 10.7-26.6 25.1-28.4l27.4-3.4L321.7 320zm44.6 64l-6-32H464c8.8 0 16 7.2 16 16v16H366.3zM480 416v34.4c0 7.5-6.1 13.6-13.6 13.6h-17c-32.7 0-61.6-19.3-74.7-48H480zM176 360a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHandLove = {\n prefix: 'far',\n iconName: 'hand-love',\n icon: [512, 512, [], \"e1a5\", \"M176 48c8.8 0 16 7.2 16 16V79.9l0 .1V207.8l0 .2v96c0 35.3 28.7 64 64 64c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14c35.3 0 64-28.7 64-64V256 240 216h0V128c0-8.8 7.2-16 16-16s16 7.2 16 16V337.9c-.3 1.2-.5 2.5-.7 3.7c-6.6 66.5-61.1 118.9-128.5 122.2c-.6 0-1.3 .1-1.9 .2H296h-8.5c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V64c0-8.8 7.2-16 16-16zM352 256v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16v16zm0-104v26c-5.1-1.3-10.5-2-16-2c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.5 0-10.9 .7-16 2V64c0-35.3-28.7-64-64-64s-64 28.7-64 64V261.5l-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75H296h8c1.5 0 3-.1 4.5-.4c87.6-5.9 158.3-72.9 169.9-158.8c1.1-2.7 1.7-5.7 1.7-8.8V128c0-35.3-28.7-64-64-64s-64 28.7-64 64v23.9l0 .1zM240 216v-8.2c.1-8.8 7.2-15.8 16-15.8c8.8 0 16 7.2 16 16v32 64c0 8.8-7.2 16-16 16s-16-7.2-16-16V216h0z\"]\n};\nvar faTrees = {\n prefix: 'far',\n iconName: 'trees',\n icon: [640, 512, [], \"f724\", \"M177.4 15.1c16-19 45.2-19 61.2 0L354.4 152.5c6 7.1 7.3 17.1 3.4 25.6s-12.4 13.9-21.8 13.9H321.9l64.8 81c5.8 7.2 6.9 17.1 2.9 25.4s-12.4 13.6-21.6 13.6H342.3l62.1 88H408V216c0-13.3 10.7-24 24-24s24 10.7 24 24V400H569.7l-69.3-98.2c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13h22.1l-64.8-81c-5.8-7.2-6.9-17.1-2.9-25.4s12.4-13.6 21.6-13.6h12.4L432 53.3l-59.9 71.1L339.9 88.1l61.5-73c16-19 45.2-19 61.2 0L578.4 152.5c6 7.1 7.3 17.1 3.4 25.6s-12.4 13.9-21.8 13.9H545.9l64.8 81c5.8 7.2 6.9 17.1 2.9 25.4s-12.4 13.6-21.6 13.6H566.3l69.3 98.2c5.2 7.3 5.8 16.9 1.7 24.9s-12.3 13-21.3 13H456v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H392 368 256 232v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H144 24c-9 0-17.2-5-21.3-13s-3.5-17.6 1.7-24.9L73.7 312H48c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64.8-81H80c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.4 3.4-25.6L177.4 15.1zM256 400h89.7l-69.3-98.2c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13h22.1l-64.8-81c-5.8-7.2-6.9-17.1-2.9-25.4s12.4-13.6 21.6-13.6h12.4L208 53.3 131.6 144H144c9.2 0 17.6 5.3 21.6 13.6s2.9 18.2-2.9 25.4L97.9 264H120c9 0 17.2 5 21.3 13s3.5 17.6-1.7 24.9L70.3 400H144h40V216c0-13.3 10.7-24 24-24s24 10.7 24 24V400h24z\"]\n};\nvar faStrikethrough = {\n prefix: 'far',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M145.5 138c4-21.5 17.9-37.4 41.7-47.4c24.7-10.4 59.4-13.7 99.9-7.5c12.8 2 52.4 9.5 64.9 12.8c12.8 3.3 25.9-4.3 29.3-17.2s-4.3-25.9-17.2-29.3c-14.7-3.8-56.1-11.7-69.7-13.8c-46.2-7.1-90.4-4.1-125.7 10.7c-36.1 15.1-63.3 43.1-70.5 83.9c-.1 .4-.1 .9-.2 1.3c-2.8 23.4 .5 44.2 9.8 62.2c9.2 17.8 23.2 31.2 38.8 41.5c2.4 1.6 5 3.2 7.5 4.7H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H295.8c-9.9-3.1-19.7-6-29.2-8.8l-.3-.1c-37.7-11.1-70.5-20.7-93.3-35.8c-10.9-7.2-18.2-14.9-22.6-23.5c-4.2-8.2-6.6-18.9-4.9-33.8zM364 337.1c3.7 8.6 5.5 20.1 2.6 36.3c-3.8 21.8-17.8 37.9-41.8 48c-24.7 10.4-59.4 13.7-99.8 7.5c-20.1-3.2-54.3-14.6-81.2-23.6l0 0 0 0c-5.9-2-11.4-3.8-16.3-5.4c-12.6-4.1-26.1 2.8-30.3 15.4s2.8 26.2 15.4 30.3c4 1.3 8.8 2.9 14 4.7c26.6 8.9 66.4 22.2 90.9 26.2l.1 0c46.2 7.1 90.4 4.1 125.7-10.7c36.1-15.1 63.3-43.1 70.5-83.9c4-22.9 2.4-43.5-5-61.7H351.6c5.7 5.3 9.7 11 12.3 17.1z\"]\n};\nvar faPage = {\n prefix: 'far',\n iconName: 'page',\n icon: [384, 512, [], \"e428\", \"M64 464H320c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L256.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm256 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64z\"]\n};\nvar faK = {\n prefix: 'far',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V328 456c0 13.3 10.7 24 24 24s24-10.7 24-24V337.9l79.6-79.6L276.4 469.8c7.6 10.8 22.6 13.5 33.4 5.8s13.4-22.6 5.8-33.4L162.1 223.9 313 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L48 270.1V56z\"]\n};\nvar faDiagramPrevious = {\n prefix: 'far',\n iconName: 'diagram-previous',\n icon: [512, 512, [], \"e478\", \"M464 416c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16l384 0c8.8 0 16 7.2 16 16v64zm48-64c0-35.3-28.7-64-64-64H280V201.9l23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23V288H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352zM64 224l74.3 0c-5.7-19.1-1-40.5 14.1-55.6l64-64c21.9-21.9 57.3-21.9 79.2 0l64 64c15 15 19.7 36.5 14.1 55.6l74.3 0c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64z\"]\n};\nvar faGaugeMin = {\n prefix: 'far',\n iconName: 'gauge-min',\n icon: [512, 512, [\"tachometer-alt-slowest\"], \"f628\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 408c30.9 0 56-25.1 56-56s-25.1-56-56-56c-10.3 0-19.9 2.8-28.2 7.6L117.6 228.2c-10.9-7.5-25.9-4.7-33.4 6.3s-4.7 25.9 6.3 33.4l110.2 75.4c-.4 2.9-.7 5.8-.7 8.8c0 30.9 25.1 56 56 56zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM400 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAltSlowest = faGaugeMin;\nvar faFolderGrid = {\n prefix: 'far',\n iconName: 'folder-grid',\n icon: [512, 512, [], \"e188\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM104 240c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H104zm128 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H232zm128 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H360z\"]\n};\nvar faEggplant = {\n prefix: 'far',\n iconName: 'eggplant',\n icon: [512, 512, [], \"e16c\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9l-9 9V192c0 8.8-7.2 16-16 16c-26.5 0-48-21.5-48-48c0-5.8-4-10.7-9.4-12.7c-13.3-4.8-25.4-13-35.1-22.8c-9.7-9.8-17.9-21.9-22.8-35.2c-2-5.4-6.9-9.4-12.6-9.4c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16H462.1l9-9c9.4-9.4 24.6-9.4 33.9 0zM169.9 139.3c40.3-19.6 81-39.3 113.4-66.6c8.4 14.1 20.9 25.5 36 32.3c-19.3 17.1-40.4 31-61.2 42.9c-21.5 12.3-47 24.8-70.4 36.2l0 0c-13.9 6.8-27 13.2-38 18.9c-33.6 17.6-59 34.3-76.1 54.5c-15.7 18.5-26.2 42-25.6 77.9c1 70 59 128.7 128.5 128.7c59 .1 115.4-40.1 163.9-107c33.3-46 59.2-99.9 76.2-148.5c10.2 13.3 24.4 23.3 40.8 28.2C410.6 362.7 311.1 512.2 176.4 512C79.9 511.9 1.4 431.3 0 336C-1.6 222.5 83.4 181.3 169.9 139.3z\"]\n};\nvar faRam = {\n prefix: 'far',\n iconName: 'ram',\n icon: [640, 512, [128015], \"f70a\", \"M336 64v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-8.8 7.2-16 16-16s16 7.2 16 16V88.4c-6.8 6.1-12.8 13.2-17.6 21l-47.8 20.5c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2V240c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V167.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-47.8-20.5c-4.9-7.8-10.8-14.9-17.6-21V64c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-35.3-28.7-64-64-64s-64 28.7-64 64v1.3c-5.2-.9-10.5-1.3-16-1.3s-10.8 .5-16 1.3V64c0-35.3-28.7-64-64-64s-64 28.7-64 64zM306.5 88.7c-8-10.3-19-18-31.8-21.9C268.8 65 262.5 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c.5 0 1 0 1.5 0l17.6 93.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7V480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c.5 0 1 0 1.5 0c26.9 0 49.9-16.5 59.3-40H456c-14.2 0-27.7-2.8-40.1-8c-.9 0-1.7-.1-2.4-.2c-24.6-3.8-48 11.9-53.9 36c-1.7 7-8.1 12.1-15.5 12.1c-3.8 0-7.2-1.3-9.9-3.4c-20.1-16-49.1-13.3-66 6c-3 3.4-7.3 5.5-12.1 5.5s-9.1-2.1-12.1-5.5c-16.9-19.3-45.9-21.9-66-6c-2.7 2.2-6.1 3.4-9.9 3.4c-7.5 0-13.8-5.1-15.5-12.1c-5.9-24.2-29.3-39.8-53.9-36c-.8 .1-1.6 .2-2.5 .2c-8.8 0-16-7.2-16-16c0-1.4 .2-2.7 .5-3.9c5.3-21.3-4.6-43.6-24-53.9C51.3 267.4 48 262 48 256s3.3-11.4 8.5-14.2c19.4-10.4 29.3-32.6 24-53.9c-.3-1.2-.5-2.5-.5-3.9c0-8.8 7.2-16 16-16c.9 0 1.7 .1 2.5 .2c24.6 3.8 48-11.9 53.9-36c1.7-7 8.1-12.1 15.5-12.1c3.8 0 7.2 1.3 9.9 3.5c20.1 16 49.1 13.3 66-6c3-3.4 7.3-5.5 12.1-5.5c5.3 0 10 2.5 13 6.7c8.6 11.9 22 19.2 36.6 19.9c2.5-10 7.7-19.3 15.2-26.6c-6.5-6.4-11.5-14.3-14.3-23.3zM464 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faLandmarkFlag = {\n prefix: 'far',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 0H256c-8.8 0-16 7.2-16 16V128H48c-13.3 0-24 10.7-24 24s10.7 24 24 24H464c13.3 0 24-10.7 24-24s-10.7-24-24-24H272V96h80c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H272zM112 208H64V384H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V208H400V384H336V208H288V384H224V208H176V384H112V208zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faLips = {\n prefix: 'far',\n iconName: 'lips',\n icon: [576, 512, [128068, 128482], \"f600\", \"M258.2 138.9c-22.5-17.8-42-26.9-58.2-26.9c-10.5 0-24.3 4.1-41.7 13.7c-17.2 9.5-34 22.1-50.5 34.9c-17.5 13.6-33.2 27.9-44.4 40.5c-6 6.8-10.3 12.2-13 17C48.3 222 48 223.8 48 224c0 .4 .1 1.7 .6 4.1s1.3 5.2 2.3 8.3c9.8 29.5 28.4 58.7 51.2 85.1C138.4 363.6 190.4 400 256 400h64c65.6 0 117.6-36.4 153.9-78.5c18.1-20.9 31.8-42.8 41-61.2c9.2-18.5 13-29.2 13.1-36.3c0-.2-.2-2-2.5-5.9c-2.7-4.8-6.9-10.2-13-17c-11.2-12.6-26.9-26.9-44.4-40.5c-16.5-12.8-33.3-25.4-50.5-34.9C400.3 116.1 386.5 112 376 112c-16.2 0-35.7 9.1-58.2 26.9c-17.5 13.8-42.1 13.8-59.5 0zm239.4-16.2c19.1 14.8 37.1 31.2 50.8 46.5c13.4 15 27.6 33.7 27.6 54.8c0 20-9.4 40.3-18.1 57.8c-10.8 21.7-26.8 46.9-47.7 71.1C468.8 400.9 404.7 448 320 448H256c-84.7 0-148.8-47.1-190.2-95.1C40.3 323.4 17.7 288.8 5.3 251.5C2.6 243.1 0 233.2 0 224c0-21.1 14.2-39.7 27.6-54.8c13.6-15.3 31.7-31.7 50.8-46.5C111.5 97 156 64 200 64c32.7 0 63 17.5 88 37.3C313 81.5 343.3 64 376 64c44 0 88.5 33 121.6 58.7zM96 236c0-6.7 39.4-27.1 118.1-28c3.5 0 7 .5 10.3 1.6c11.8 3.7 42 12.4 63.6 12.4s51.7-8.7 63.6-12.4c3.3-1 6.8-1.6 10.3-1.6c78.7 .9 118.1 21.2 118.1 28c0 6.9-68.6 84-192 84s-192-77.1-192-84z\"]\n};\nvar faPencil = {\n prefix: 'far',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M36.4 360.9L13.4 439 1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1L73 498.6l78.1-23c10.4-3 20.1-8 28.6-14.5l.3 .2 .5-.8c1.4-1.1 2.7-2.2 4-3.3c1.4-1.2 2.7-2.5 4-3.8L492.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L453.3 19.3c-25-25-65.5-25-90.5 0L58.6 323.5c-2.5 2.5-4.9 5.2-7.1 8l-.8 .5 .2 .3c-6.5 8.5-11.4 18.2-14.5 28.6zM383 191L197.4 376.6l-49.6-12.4-12.4-49.6L321 129 383 191zM97 358.9l7.7 31c2.1 8.6 8.9 15.3 17.5 17.5l31 7.7-7.4 11.2c-2.6 1.4-5.3 2.6-8.1 3.4l-23.4 6.9L59.4 452.6l16.1-54.8 6.9-23.4c.8-2.8 2-5.6 3.4-8.1L97 358.9zM315.3 218.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96z\"]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'far',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M288 94c0-16.6-13.5-30-30-30c-6.3 0-12.5 2-17.6 5.7L9.9 236.6C3.7 241.1 0 248.3 0 256s3.7 14.9 9.9 19.4L240.3 442.3c5.1 3.7 11.3 5.7 17.6 5.7c16.6 0 30-13.4 30-30V318.9L464.7 442.6c5.1 3.5 11.1 5.4 17.3 5.4c16.6 0 30.1-13.5 30.1-30.1V94.1C512 77.5 498.5 64 481.9 64c-6.2 0-12.2 1.9-17.3 5.4L288 193.1V94zm0 157.7L464 128.5v255L288 260.3v-8.6zM64.9 256L240 129.2V382.8L64.9 256z\"]\n};\nvar faCaretRight = {\n prefix: 'far',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M201.4 256L112 166.6l0 178.7L201.4 256zm45.3-22.6c12.5 12.5 12.5 32.8 0 45.3l-128 128c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-256c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l128 128z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.7 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z\"]\n};\nvar faPaste = {\n prefix: 'far',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M104.6 48H64C28.7 48 0 76.7 0 112V384c0 35.3 28.7 64 64 64h96V400H64c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H80c0 17.7 14.3 32 32 32h72.4C202 108.4 227.6 96 256 96h62c-7.1-27.6-32.2-48-62-48H215.4C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48zM144 56a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 464H256c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16l140.1 0L464 243.9V448c0 8.8-7.2 16-16 16zM256 512H448c35.3 0 64-28.7 64-64V243.9c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1H256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64z\"]\n};\nvar faFileClipboard = faPaste;\nvar faDesktopArrowDown = {\n prefix: 'far',\n iconName: 'desktop-arrow-down',\n icon: [576, 512, [], \"e155\", \"M64 0H224V48H64c-8.8 0-16 7.2-16 16V256H528V64c0-8.8-7.2-16-16-16H352V0H512c35.3 0 64 28.7 64 64V256v48 48c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48H64c-35.3 0-64-28.7-64-64V304 256 64C0 28.7 28.7 0 64 0zM48 304v48c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V304H48zM252.3 464h71.3l-8-48H260.3l-8 48zM312 24V142.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCodePullRequest = {\n prefix: 'far',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24V72h16c66.3 0 120 53.7 120 120V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V192c0-39.8-32.2-72-72-72H320v48c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM112 80A32 32 0 1 0 48 80a32 32 0 1 0 64 0zm-8 76.3V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V156.3C23.5 146.1 0 115.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3zM112 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faPumpkin = {\n prefix: 'far',\n iconName: 'pumpkin',\n icon: [576, 512, [], \"f707\", \"M352 118.1V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4L229.4 115.7c-27.3 11.4-50.6 30.6-67 54.7c-7.5 11-4.6 25.9 6.3 33.3s25.9 4.6 33.3-6.3C220.8 170 252.3 152 288 152s67.2 18 86 45.5c7.5 11 22.4 13.8 33.3 6.3s13.8-22.4 6.3-33.3c-15.4-22.5-36.7-40.7-61.7-52.4zM141.3 144.9c12.8-16.9 28.5-31.5 46.4-43.2C176.4 98 164.4 96 152 96c-45.4 0-84 26.5-110.2 64.2C15.5 198 0 248.9 0 304s15.5 106 41.8 143.8C68 485.5 106.6 512 152 512c24.9 0 48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6s48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6c45.4 0 84-26.5 110.2-64.2C560.5 410 576 359.1 576 304s-15.5-106-41.8-143.8C508 122.5 469.4 96 424 96c-12.4 0-24.4 2-35.8 5.7c17.9 11.6 33.6 26.3 46.4 43.2c21.7 3.5 42.9 17.9 60.1 42.7c20 28.8 33.2 69.9 33.2 116.4s-13.2 87.6-33.2 116.4C474.7 449.3 449.3 464 424 464c-18 0-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C323.8 456.6 306 464 288 464s-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C187.8 456.6 170 464 152 464c-25.3 0-50.7-14.7-70.8-43.6C61.2 391.6 48 350.5 48 304s13.2-87.6 33.2-116.4c17.3-24.8 38.5-39.2 60.2-42.7z\"]\n};\nvar faClipboardList = {\n prefix: 'far',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM136 272a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-64 40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPenField = {\n prefix: 'far',\n iconName: 'pen-field',\n icon: [640, 512, [], \"e211\", \"M569.2 59.1L581.1 71c9.4 9.4 9.4 24.6 0 33.9L560 126.1 514.3 80.4l20.8-21.1c9.4-9.5 24.6-9.5 34.1-.1zM359.9 236.8L480.6 114.5 526.1 160 404.6 281.6c-3.3 3.3-7.5 5.6-12 6.5L343 298.5l10.4-49.7c.9-4.5 3.2-8.7 6.4-11.9zM501 25.5L325.7 203.1c-9.7 9.8-16.4 22.3-19.2 35.8l-18 85.7c-1.7 7.9 .8 16.2 6.5 21.9s14 8.2 21.9 6.5l85.5-17.9c13.7-2.9 26.2-9.7 36.1-19.6L615.1 138.9c28.1-28.1 28.1-73.7 0-101.8L603.1 25.2C574.9-3.1 529-2.9 501 25.5zM72 128c-39.8 0-72 32.2-72 72V440c0 39.8 32.2 72 72 72H504c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H72zm56 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBlueberries = {\n prefix: 'far',\n iconName: 'blueberries',\n icon: [512, 512, [], \"e2e8\", \"M512 176C512 78.8 433.2 0 336 0C255.4 0 187.4 54.2 166.6 128.2c3.1-.1 6.3-.2 9.4-.2c114.9 0 208 93.1 208 208c0 3.2-.1 6.3-.2 9.4C457.8 324.6 512 256.6 512 176zM384 64V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 208a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm0-256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V320h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V256z\"]\n};\nvar faTruckRampBox = {\n prefix: 'far',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M352 88c0-48.6 39.4-88 88-88H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-22.1 0-40 17.9-40 40V360.7l25.7-7 .4-.1c17.6-38.7 56.7-65.6 102-65.6c61.9 0 112 50.1 112 112s-50.1 112-112 112c-59.8 0-108.7-46.9-111.8-106L30.3 511.2c-12.8 3.5-26-4.1-29.5-16.8s4.1-26 16.8-29.5L352 373.8V88zM592 400a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faNote = {\n prefix: 'far',\n iconName: 'note',\n icon: [448, 512, [], \"e1ff\", \"M384 80c8.8 0 16 7.2 16 16V320H320c-17.7 0-32 14.3-32 32v80H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 480H288h5.5c17 0 33.3-6.7 45.3-18.7l90.5-90.5c12-12 18.7-28.3 18.7-45.3V320 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64zm64-120a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM104 128a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faArrowDownToSquare = {\n prefix: 'far',\n iconName: 'arrow-down-to-square',\n icon: [512, 512, [], \"e096\", \"M385 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V270.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 345c9.4 9.4 24.6 9.4 33.9 0L385 233zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72V104c0-39.8-32.2-72-72-72H392c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24 10.7 24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faUserCheck = {\n prefix: 'far',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM269.7 352c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112h91.4zm-91.4-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H224 178.3zM625 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L625 177z\"]\n};\nvar faCloudXmark = {\n prefix: 'far',\n iconName: 'cloud-xmark',\n icon: [640, 512, [], \"e35f\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM239 207c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faVialVirus = {\n prefix: 'far',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V384c0 53 43 96 96 96c28 0 53.3-12 70.8-31.2c-.2-14.6 5.2-29.3 16.4-40.5c.2-.2 .2-.3 .3-.3l0 0c0-.1 0-.3-.1-.6s-.2-.4-.3-.5l-.1 0c-.1 0-.2 0-.4 0c-15.2 0-29-6.1-39.1-15.9c-3.4 23.2-23.4 41-47.5 41c-26.5 0-48-21.5-48-48V240h96v70.3c10-9.6 23.6-15.4 38.6-15.4c.2 0 .4 0 .4 0l.1 0c.1-.1 .2-.2 .3-.5s.1-.5 .1-.6l0 0c0-.1-.1-.2-.3-.3c-21.9-21.9-21.9-57.3 0-79.2c2.7-2.7 5.7-5.1 8.8-7.2V80h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H176 80 32 24zM80 192V80h96V192H80zm271.8-2.3c-13.3 0-24 10.7-24 24c0 29.3-35.4 43.9-56.1 23.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.7 20.7 6 56.1-23.2 56.1c-13.3 0-24 10.7-24 24s10.7 24 24 24c29.3 0 43.9 35.4 23.2 56.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.7-20.7 56.1-6 56.1 23.2c0 13.3 10.7 24 24 24s24-10.7 24-24c0-29.3 35.4-43.9 56.1-23.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-20.7-20.7-6-56.1 23.2-56.1c13.3 0 24-10.7 24-24s-10.7-24-24-24c-29.3 0-43.9-35.4-23.2-56.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-20.7 20.7-56.1 6-56.1-23.2c0-13.3-10.7-24-24-24zM320 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm40 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBookBlank = {\n prefix: 'far',\n iconName: 'book-blank',\n icon: [448, 512, [128213, 128215, 128216, 128217, \"book-alt\"], \"f5d9\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM80 352c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V344c0 4.4-3.6 8-8 8H80z\"]\n};\nvar faBookAlt = faBookBlank;\nvar faGolfFlagHole = {\n prefix: 'far',\n iconName: 'golf-flag-hole',\n icon: [512, 512, [], \"e3ac\", \"M162.7 2.5c-7.4-3.7-16.3-3.3-23.4 1.1S128 15.7 128 24V160v64 8 55.1 49.8V384c0 .7 0 1.5 .1 2.2c-.1 .6-.1 1.2-.1 1.8c0 19.9 35.8 36 80 36s80-16.1 80-36s-35.8-36-80-36c-11.4 0-22.2 1.1-32 3V326.2c24.6-3.9 51.5-6.2 80-6.2c61.7 0 116.4 10.4 154.9 26.3c19.3 8 33.3 16.9 42.1 25.5c8.7 8.6 11 15.4 11 20.2s-2.3 11.7-11 20.2c-8.8 8.6-22.8 17.5-42.1 25.5C372.4 453.6 317.7 464 256 464s-116.4-10.4-154.9-26.3c-19.3-8-33.3-16.9-42.1-25.5c-8.7-8.6-11-15.4-11-20.2s2.3-11.7 11-20.2c8-7.9 20.3-15.9 37-23.3V296.8c-4.5 1.6-9 3.3-13.2 5.1c-22.7 9.4-42.7 21.2-57.3 35.5C10.7 351.9 0 370.3 0 392s10.7 40.1 25.4 54.5c14.7 14.3 34.6 26.1 57.3 35.5C128.3 500.9 189.6 512 256 512s127.7-11.1 173.2-29.9c22.7-9.4 42.7-21.2 57.3-35.5C501.3 432.1 512 413.7 512 392s-10.7-40.1-25.4-54.5c-14.6-14.3-34.6-26.1-57.3-35.5C383.7 283.1 322.4 272 256 272c-27.8 0-54.8 1.9-80 5.6V246.8l194.7-97.4c8.1-4.1 13.3-12.4 13.3-21.5s-5.1-17.4-13.3-21.5l-208-104zM176 193.2V62.8L306.3 128 176 193.2z\"]\n};\nvar faMessageArrowDown = {\n prefix: 'far',\n iconName: 'message-arrow-down',\n icon: [512, 512, [\"comment-alt-arrow-down\"], \"e1db\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24V238.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V120z\"]\n};\nvar faCommentAltArrowDown = faMessageArrowDown;\nvar faFaceUnamused = {\n prefix: 'far',\n iconName: 'face-unamused',\n icon: [512, 512, [], \"e39f\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM294.5 392.4c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9C196.7 344.3 221.4 328 256 328s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSheetPlastic = {\n prefix: 'far',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M320 48c8.8 0 16 7.2 16 16V352H256c-17.7 0-32 14.3-32 32v80H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM0 448c0 35.3 28.7 64 64 64H236.1c12.7 0 24.9-5.1 33.9-14.1l99.9-99.9c9-9 14.1-21.2 14.1-33.9V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM203.3 84.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6zm96 54.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160z\"]\n};\nvar faCircle9 = {\n prefix: 'far',\n iconName: 'circle-9',\n icon: [512, 512, [], \"e0f6\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-80a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM230 316.4c-40.4-11.4-70-48.4-70-92.4c0-53 43-96 96-96s96 43 96 96c0 32.4-14.2 63.2-38.8 84.3l-81.6 70c-10.1 8.6-25.2 7.5-33.8-2.6s-7.5-25.2 2.6-33.8L230 316.4z\"]\n};\nvar faBlog = {\n prefix: 'far',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M216 0C379.5 0 512 132.5 512 296c0 13.3-10.7 24-24 24s-24-10.7-24-24C464 159 353 48 216 48c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 96c13.3 0 24 10.7 24 24V368c0 53 43 96 96 96s96-43 96-96s-43-96-96-96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c79.5 0 144 64.5 144 144s-64.5 144-144 144S0 447.5 0 368V120c0-13.3 10.7-24 24-24zm168 24c0-13.3 10.7-24 24-24c110.5 0 200 89.5 200 200c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-83.9-68.1-152-152-152c-13.3 0-24-10.7-24-24z\"]\n};\nvar faUserNinja = {\n prefix: 'far',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M352 128c0 70.7-57.3 128-128 128c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128zM144 112c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM49.3 464H212.4l-6.5-7.7c-.2-.2-.4-.4-.6-.7l-78.4-93.1C85.9 380.1 55.7 418.3 49.3 464zm206.1-23.5L275.2 464H398.7c-6.4-45.7-36.6-83.9-77.7-101.5l-65.7 78zM418.3 512H264.2h-.3H29.7C13.3 512 0 498.7 0 482.3c0-83.7 57.6-153.9 135.4-173.1c5.6-1.4 11.4 .7 15.1 5.1l61.3 71.6c6.4 7.4 17.9 7.4 24.3 0l61.3-71.6c3.7-4.4 9.5-6.4 15.1-5.1C390.4 328.4 448 398.6 448 482.3c0 16.4-13.3 29.7-29.7 29.7z\"]\n};\nvar faPencilSlash = {\n prefix: 'far',\n iconName: 'pencil-slash',\n icon: [640, 512, [], \"e215\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296 556.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L517.3 19.3c-25-25-65.5-25-90.5 0L264.3 181.8 38.8 5.1zM302.3 211.6L385 129 447 191l-75.1 75.1-69.6-54.5zm.9 123.2l-41.7 41.7-49.6-12.4-12.4-49.6 34.4-34.4-38-29.9-73.2 73.2c-2.5 2.5-4.9 5.2-7.1 8l-.8 .5 .2 .3c-6.5 8.5-11.4 18.2-14.5 28.6L77.4 439 65 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1L137 498.6l78.1-23c10.4-3 20.1-8 28.6-14.5l.3 .2 .5-.8c1.4-1.1 2.7-2.2 4-3.3c1.4-1.2 2.7-2.5 4-3.8l88.6-88.6-38-29.9zM161 358.9l7.7 31c2.1 8.6 8.9 15.3 17.5 17.5l31 7.7-7.4 11.2c-2.6 1.4-5.3 2.6-8.1 3.4l-23.4 6.9-54.8 16.1 16.1-54.8 6.9-23.4c.8-2.8 2-5.6 3.4-8.1l11.1-7.4z\"]\n};\nvar faBowlingPins = {\n prefix: 'far',\n iconName: 'bowling-pins',\n icon: [512, 512, [], \"f437\", \"M128 48c-17.7 0-32 14.3-32 32v4.4c0 5.8 .7 11.5 2.1 17.1l9.4 37.4c1.7 6.9 3 14 3.7 21.1h33.6c.7-7.1 2-14.2 3.7-21.1l9.4-37.4c1.4-5.6 2.1-11.3 2.1-17.1V80c0-17.7-14.3-32-32-32zM102.3 230.2L74 305.7c-6.6 17.6-10 36.3-10 55.1c0 22.4 4.8 44.5 14.1 64.9L95.5 464h65.1l17.4-38.3c9.3-20.4 14.1-42.5 14.1-64.9c0-18.8-3.4-37.5-10-55.1l-28.3-75.5c-2.7-7.2-4.9-14.6-6.4-22.2H108.8c-1.6 7.5-3.7 14.9-6.4 22.2zM48 80C48 35.8 83.8 0 128 0s80 35.8 80 80v4.4c0 9.7-1.2 19.3-3.5 28.7l-9.4 37.4c-2.1 8.2-3.1 16.7-3.1 25.2v1c0 12.5 2.2 24.8 6.6 36.5L227 288.9c8.6 23 13 47.4 13 72c0 29.3-6.3 58.2-18.4 84.8L200 493.2c-5.2 11.4-16.6 18.8-29.1 18.8H85.2c-12.5 0-23.9-7.3-29.1-18.8L34.4 445.6C22.3 419 16 390.1 16 360.8c0-24.6 4.4-48.9 13-72l28.3-75.5c4.4-11.7 6.6-24 6.6-36.5v-1c0-8.5-1-17-3.1-25.2l-9.4-37.4c-2.3-9.4-3.5-19-3.5-28.7V80zM384 48c-17.7 0-32 14.3-32 32v4.4c0 5.8 .7 11.5 2.1 17.1l9.4 37.4c1.7 6.9 3 14 3.7 21.1h33.6c.7-7.1 2-14.2 3.7-21.1l9.4-37.4c1.4-5.6 2.1-11.3 2.1-17.1V80c0-17.7-14.3-32-32-32zM358.3 230.2L330 305.7c-6.6 17.6-10 36.3-10 55.1c0 22.4 4.8 44.5 14.1 64.9L351.5 464h65.1l17.4-38.3c9.3-20.4 14.1-42.5 14.1-64.9c0-18.8-3.4-37.5-10-55.1l-28.3-75.5c-2.7-7.2-4.9-14.6-6.4-22.2H364.8c-1.6 7.5-3.7 14.9-6.4 22.2zM304 80c0-44.2 35.8-80 80-80s80 35.8 80 80v4.4c0 9.7-1.2 19.3-3.5 28.7l-9.4 37.4c-2.1 8.2-3.1 16.7-3.1 25.2v1c0 12.5 2.2 24.8 6.6 36.5L483 288.9c8.6 23 13 47.4 13 72c0 29.3-6.3 58.2-18.4 84.8L456 493.2c-5.2 11.4-16.6 18.8-29.1 18.8H341.2c-12.6 0-23.9-7.3-29.1-18.8l-21.7-47.6C278.3 419 272 390.1 272 360.8c0-24.6 4.4-48.9 13-72l28.3-75.5c4.4-11.7 6.6-24 6.6-36.5v-1c0-8.5-1-17-3.1-25.2l-9.4-37.4c-2.3-9.4-3.5-19-3.5-28.7V80z\"]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'far',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H176V176.1c.7 0 1.5-.1 2.3-.1zM176 464V352h32V464H176zm-48 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H152h80H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H256V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L282.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H178.3c-31.7 0-61 17.1-76.6 44.7L43.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L128 223.6V464zM600.1 118.2l-88-80c-9.2-8.3-23.1-8.3-32.3 0l-88 80c-9.8 8.9-10.5 24.1-1.6 33.9s24.1 10.5 33.9 1.6L472 110.3 472 392c0 13.3 10.7 24 24 24s24-10.7 24-24V110.3l47.9 43.5c9.8 8.9 25 8.2 33.9-1.6s8.2-25-1.6-33.9z\"]\n};\nvar faDownRight = {\n prefix: 'far',\n iconName: 'down-right',\n icon: [384, 512, [], \"e16b\", \"M320 384V190.6c0-1.7-.8-3.2-2.1-4.2c-2.1-1.6-5-1.4-6.9 .5L257 241c-9.4 9.4-24.6 9.4-33.9 0L98.3 116.3c-2.7-2.7-6.5-4.3-10.3-4.3s-7.6 1.5-10.3 4.3L52.3 141.7c-2.7 2.7-4.3 6.5-4.3 10.3s1.5 7.6 4.3 10.3L177 287c9.4 9.4 9.4 24.6 0 33.9L122.9 375c-1.8 1.8-2.1 4.8-.5 6.9c1 1.3 2.5 2.1 4.2 2.1H320zm48 8c0 22.1-17.9 40-40 40H126.6c-16.8 0-32.5-7.9-42.6-21.3c-15.9-21.2-13.8-50.9 4.9-69.6L126.1 304 18.3 196.3C6.6 184.5 0 168.6 0 152s6.6-32.5 18.3-44.3L43.7 82.4C55.5 70.6 71.4 64 88 64s32.5 6.6 44.3 18.3L240 190.1 277.1 153c18.7-18.7 48.4-20.8 69.6-5c13.4 10.1 21.3 25.8 21.3 42.6V392z\"]\n};\nvar faScrollTorah = {\n prefix: 'far',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M80 48C62.3 48 48 62.3 48 80V432c0 17.7 14.3 32 32 32s32-14.3 32-32V416 96 80c0-17.7-14.3-32-32-32zm73.3 416C141 492.3 112.8 512 80 512c-44.2 0-80-35.8-80-80V80C0 35.8 35.8 0 80 0c32.8 0 61 19.7 73.3 48H160 480h6.7C499 19.7 527.2 0 560 0c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80c-32.8 0-61-19.7-73.3-48H480 160h-6.7zm6.7-48H480V96H160V416zm368 16c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32V96 416v16zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\"]\n};\nvar faTorah = faScrollTorah;\nvar faWebhook = {\n prefix: 'far',\n iconName: 'webhook',\n icon: [576, 512, [], \"e5d5\", \"M306 50c41.1 9.5 67.5 49.2 61.1 90.2c-2.1 13.1 6.9 25.4 20 27.4s25.4-6.9 27.4-20C424.8 82 382.6 18.5 316.8 3.3c-68.9-15.9-137.6 27-153.5 95.9c-10.7 46.3 5.2 92.6 37.7 122.7L129.7 336c-.6 0-1.1 0-1.7 0c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48c0-8.1-2-15.8-5.6-22.5l82.8-132.5c3.4-5.4 4.5-11.9 3-18.1s-5.3-11.6-10.7-15c-28.2-17.6-43.4-51.7-35.5-85.9C220 67 262.9 40.1 306 50zM288 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm42.4 38.5c3.6-6.7 5.6-14.4 5.6-22.5c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48c.6 0 1.1 0 1.7 0l82.8 132.5c3.4 5.4 8.8 9.2 15 10.7s12.7 .3 18.1-3c30.9-19.3 72.1-15.5 99 11.3c31.2 31.2 31.2 81.9 0 113.1c-26.8 26.8-68.1 30.6-99 11.3c-11.2-7-26-3.6-33.1 7.6s-3.6 26 7.6 33.1c49.4 31 115.4 25 158.4-18c50-50 50-131 0-181c-37-37-91-46.6-136.8-28.9L330.4 150.5zM112 384a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm320 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0c0-26.5-21.5-48-48-48c-17.8 0-33.3 9.7-41.6 24H232c-6.4 0-12.5 2.5-17 7s-7 10.6-7 17c0 36.4-25 69.4-62 77.9c-43.1 9.9-86-16.9-95.9-60c-8.9-38.6 11.7-77.1 47.1-91.8c12.2-5.1 18-19.1 12.9-31.4s-19.1-18-31.4-12.9C22.1 289.4-11 351 3.3 412.8c15.9 68.9 84.6 111.8 153.5 95.9c51-11.8 87.7-52.5 97-100.7H406.4c8.3 14.3 23.8 24 41.6 24c26.5 0 48-21.5 48-48z\"]\n};\nvar faBlindsOpen = {\n prefix: 'far',\n iconName: 'blinds-open',\n icon: [512, 512, [], \"f8fc\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H144V160v48 36.1C116 254 96 280.7 96 312c0 39.8 32.2 72 72 72s72-32.2 72-72c0-31.3-20-58-48-67.9V208 160 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM144 312a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM64.3 320H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80.3c-9-14.1-14.7-30.4-16-48zm191.3 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H271.7c-1.3 17.6-7 33.9-16 48zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h88V160H24zm200 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H224v48z\"]\n};\nvar faFence = {\n prefix: 'far',\n iconName: 'fence',\n icon: [512, 512, [], \"e303\", \"M64 32c7.8 0 15 3.7 19.5 10.1l40 56c2.9 4.1 4.5 8.9 4.5 13.9v48h64V112c0-5 1.6-9.9 4.5-13.9l40-56C241 35.7 248.2 32 256 32s15 3.7 19.5 10.1l40 56c2.9 4.1 4.5 8.9 4.5 13.9v48h64V112c0-5 1.6-9.9 4.5-13.9l40-56C433 35.7 440.2 32 448 32s15 3.7 19.5 10.1l40 56c2.9 4.1 4.5 8.9 4.5 13.9V448c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V400H320v48c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V400H128v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V112c0-5 1.6-9.9 4.5-13.9l40-56C49 35.7 56.2 32 64 32zM320 352h64V208H320V352zM192 208H128V352h64V208zM48 119.7V432H80V119.7L64 97.3 48 119.7zm192 0V432h32V119.7L256 97.3l-16 22.4zM432 432h32V119.7L448 97.3l-16 22.4V432z\"]\n};\nvar faUp = {\n prefix: 'far',\n iconName: 'up',\n icon: [384, 512, [\"arrow-alt-up\"], \"f357\", \"M192 82.4L334.7 232.3c.8 .8 1.3 2 1.3 3.2c0 2.5-2 4.6-4.6 4.6H248c-13.3 0-24 10.7-24 24V432H160V264c0-13.3-10.7-24-24-24H52.6c-2.5 0-4.6-2-4.6-4.6c0-1.2 .5-2.3 1.3-3.2L192 82.4zm192 153c0-13.5-5.2-26.5-14.5-36.3L222.9 45.2C214.8 36.8 203.7 32 192 32s-22.8 4.8-30.9 13.2L14.5 199.2C5.2 208.9 0 221.9 0 235.4c0 29 23.5 52.6 52.6 52.6H112V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V288h59.4c29 0 52.6-23.5 52.6-52.6z\"]\n};\nvar faArrowAltUp = faUp;\nvar faBroomBall = {\n prefix: 'far',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M569 7c9.4 9.4 9.4 24.6 0 33.9L369 241l39 39c5.1 5.1 8 12.1 8 19.4c0 12.2-8.1 23-19.9 26.3l-55.6 15.9 .1 .6c7.1 46.4-8.3 93.4-41.5 126.7C271.5 496.5 234 512 194.9 512L22.3 512C10 512 0 502 0 489.7c0-6.2 2.6-12.1 7.2-16.4l49.9-46.1 24.3-22.4L104 384H81.3c-9.6 0-17.3-7.8-17.3-17.3c0-3.9 .2-7.8 .6-11.6c2.7-25.6 14-49.7 32.4-68l10.2-10.2c33.2-33.2 80.2-48.6 126.7-41.5l.6 .1 15.9-55.6c3.4-11.8 14.1-19.9 26.3-19.9c7.3 0 14.2 2.9 19.4 8l39 39L535 7c9.4-9.4 24.6-9.4 33.9 0zM321.2 297.2l28.1-8-62.4-62.4-8 28.1 42.3 42.3zm-84.9-12.9l-9.8-1.5c-31.3-4.8-63 5.6-85.4 28l-10.2 10.2c-5.1 5.1-9.3 11-12.4 17.3c13.5 4.3 24.8 14.5 30.1 28.3c7.2 18.4 2.4 39.3-12.1 52.7L88.1 464l106.8 0c26.4 0 51.7-10.5 70.3-29.1c22.4-22.4 32.8-54.1 28-85.4l-1.5-9.8-55.4-55.4zM528 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faDrumstick = {\n prefix: 'far',\n iconName: 'drumstick',\n icon: [512, 512, [127831], \"f6d6\", \"M512 165.4c0-40-14.1-77.6-40.9-107.8C422.7 2.6 361 0 342.8 0c-45.2 0-88.7 17.9-120.9 49.7c-26.4 26.4-61.7 69.5-61.9 139.5l.1 88.7-40.6 40.5c-6 6.1-13.9 8.9-22.1 8.9c-13.8 0-18.3-7.2-37.1-7.2c-19.8 0-38.9 9.8-50.3 27.2C3.3 357.3 0 368.8 0 380.3c0 22.4 16.8 59.6 59.1 59.6c4.9 0 9.9-.6 14.7-1.7c-1.1 4.8-1.7 9.8-1.7 14.7c0 15 5.3 29.8 16.8 41.4C100.6 506 116.1 512 131.7 512c32.9 0 60.4-26.6 60.4-60.3c0-19-7.2-23-7.2-37c0-8.2 2.8-16 8.9-22.1L234.2 352l88.8 0c38.8 0 72.8-10.1 104-31.1c53.8-35.9 85-94.6 85-155.4zm-47.4-1.2c0 61.2-52.3 139.7-141.6 139.7H240c-17.7 0-32-14.3-32-32V189.7c0-41 14.3-72.6 47.8-106c25.5-25.3 55.8-35.9 85.1-35.9c54.8 0 123.8 41.9 123.8 116.4zM240 304c-17.7 0-32-14.3-32-32V176c0-70.7 57.3-128 128-128s128 57.3 128 128s-57.3 128-128 128H240zm-37.5 78c10.2-14.4 23.9-30 41.5-30h92c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176v92c0 17.7-15.6 31.3-30 41.5c-2.4 1.7-4.6 3.6-6.8 5.7c-12 12-31.5 11.1-47.9 6.8c-4.9-1.3-10-2-15.4-2c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5.3-.7-10.5-2-15.4c-4.3-16.4-5.2-35.9 6.8-47.9c2.1-2.1 4-4.4 5.7-6.7z\"]\n};\nvar faSquareV = {\n prefix: 'far',\n iconName: 'square-v',\n icon: [448, 512, [], \"e284\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm141.5 53.3L224 314.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7z\"]\n};\nvar faFaceAwesome = {\n prefix: 'far',\n iconName: 'face-awesome',\n icon: [512, 512, [\"gave-dandy\"], \"e409\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-32V200c0-2-.1-3.9-.4-5.8c-4.2 3.6-9.6 5.8-15.6 5.8c-13.3 0-24-10.7-24-24c0-6 2.2-11.4 5.8-15.6c-1.9-.3-3.8-.4-5.8-.4c-22.1 0-40 17.9-40 40v24h80zm-40-96c39.8 0 72 32.2 72 72v24c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V200c0-39.8 32.2-72 72-72zm216 72c-13.3 0-24-10.7-24-24c0-5.4 1.8-10.3 4.7-14.3c-4.1-1.1-8.3-1.7-12.7-1.7c-26.5 0-48 21.5-48 48v16h96V208c0-4.4-.6-8.7-1.7-12.7c-4 3-8.9 4.7-14.3 4.7zm-32-72c44.2 0 80 35.8 80 80v17.9c0 16.6-13.5 30.1-30.1 30.1H286.1c-16.6 0-30.1-13.5-30.1-30.1V208c0-44.2 35.8-80 80-80zM100.4 307.8c-2.3-10.2 5.5-19.8 15.9-19.8h0H395.7h0c10.4 0 18.1 9.6 15.9 19.8c-3.9 17.4-10.6 33.6-19.5 48.2l0 0c-28.2 45.9-78.9 75.6-134.9 76l-1.1 0c-4.6 0-9.3-.2-13.8-.6c-68.5-5.9-126.7-55.6-141.8-123.6zm263.8 32.4c-8.2-2.7-16.9-4.2-25.9-4.2c-39.2 0-71.9 27.3-80.2 64c44.1-.7 83.8-24.1 106.2-59.8z\"]\n};\nvar faGaveDandy = faFaceAwesome;\nvar faDialOff = {\n prefix: 'far',\n iconName: 'dial-off',\n icon: [576, 512, [], \"e162\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM264 288V397.4c-50.3-11-88-55.8-88-109.4c0-61.9 50.1-112 112-112s112 50.1 112 112c0 53.6-37.7 98.4-88 109.4V288c0-13.3-10.7-24-24-24s-24 10.7-24 24zm24 160a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faToggleOff = {\n prefix: 'far',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 112c79.5 0 144 64.5 144 144s-64.5 144-144 144H192c-79.5 0-144-64.5-144-144s64.5-144 144-144H384zM576 256c0-106-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192zM192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faFaceSmileHorns = {\n prefix: 'far',\n iconName: 'face-smile-horns',\n icon: [640, 512, [], \"e391\", \"M320 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zM207.7 332.7c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C383.2 350.5 357.2 368 320 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zM240.4 288c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faBoxArchive = {\n prefix: 'far',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M48 80v48H464V80H48zM32 32H480c17.7 0 32 14.3 32 32v80c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V64C0 46.3 14.3 32 32 32zM160 248c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zM32 416V208H80V416c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V208h48V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64z\"]\n};\nvar faArchive = faBoxArchive;\nvar faGrapes = {\n prefix: 'far',\n iconName: 'grapes',\n icon: [512, 512, [], \"e306\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM408 264c0-44.2-35.8-80-80-80c0-44.2-35.8-80-80-80c-28 0-52.6 14.4-66.9 36.1C167 127.6 148.4 120 128 120c-44.2 0-80 35.8-80 80c0 18 6 34.6 16 48c-19.4 14.6-32 37.8-32 64c0 17.6 5.7 33.8 15.2 47C19.4 371.5 0 399.5 0 432c0 44.2 35.8 80 80 80c32.5 0 60.5-19.4 73-47.2c13.2 9.6 29.4 15.2 47 15.2c26.2 0 49.4-12.6 64-32c13.4 10 30 16 48 16c44.2 0 80-35.8 80-80c0-20.4-7.6-39-20.1-53.1C393.6 316.6 408 292 408 264zM248 144a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM128 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM72 312a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm8 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm80 8a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm152-56a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM184 288a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm144-64a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faPersonDrowning = {\n prefix: 'far',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M152 32c13.3 0 24 10.7 24 24V92.6c0 58 37.9 109.1 93.4 126c43.9 13.4 90.7 14.3 135.1 2.7l109.5-28.6c12.8-3.3 25.9 4.3 29.3 17.2s-4.3 25.9-17.2 29.3L416.5 267.8c-14.3 3.7-28.9 6.4-43.5 7.9L355.7 379.6c-10.6-3.5-21.2-8.8-30.9-15.5c-4.4-3.1-9.1-5.6-14-7.4l13.3-79.8c-23.2-1.4-46.3-5.5-68.8-12.3c-4.6-1.4-9-2.9-13.4-4.7L220.6 379.6c-9.2 3.1-18.9 4.9-28.6 4.9c-6.6 0-13.5-.9-20.6-2.7l26.3-147c-43-33.3-69.7-85.3-69.7-142.1V56c0-13.3 10.7-24 24-24zm112 96a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM111.9 398.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faDialMax = {\n prefix: 'far',\n iconName: 'dial-max',\n icon: [576, 512, [], \"e15e\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM271 305l77.4 77.4c-43.4 27.8-101.7 22.8-139.6-15.1c-43.7-43.7-43.7-114.7 0-158.4s114.7-43.7 158.4 0c37.9 37.9 43 96.2 15.1 139.6L305 271c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm130.1 96.2A160 160 0 1 0 174.9 174.9 160 160 0 1 0 401.1 401.1zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCircleM = {\n prefix: 'far',\n iconName: 'circle-m',\n icon: [512, 512, [], \"e115\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM171.5 137.9c-6.1-8.4-16.9-12-26.8-8.8s-16.6 12.4-16.6 22.8V360c0 13.3 10.7 24 24 24s24-10.7 24-24V226.2l60.5 83.8c4.5 6.2 11.7 9.9 19.5 9.9s14.9-3.7 19.5-9.9L336 226.2V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-10.4-6.7-19.6-16.6-22.8s-20.7 .3-26.8 8.8L256 255 171.5 137.9z\"]\n};\nvar faCalendarImage = {\n prefix: 'far',\n iconName: 'calendar-image',\n icon: [448, 512, [], \"e0d4\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zm99.2 136.7L99.8 390.2c-8.1 10.5-.6 25.8 12.7 25.8H338.9c12.6 0 20.3-13.9 13.5-24.6L268.9 260.3c-6.1-9.7-20.1-9.9-26.7-.5L184 344l-11.4-15.1c-6.4-8.5-19-8.5-25.5-.2zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCircleCaretDown = {\n prefix: 'far',\n iconName: 'circle-caret-down',\n icon: [512, 512, [\"caret-circle-down\"], \"f32d\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm0 368c6.7 0 13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4l-208 0c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7z\"]\n};\nvar faCaretCircleDown = faCircleCaretDown;\nvar faArrowDown91 = {\n prefix: 'far',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm409-65c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16c-12.6 4.2-19.4 17.8-15.2 30.4s17.8 19.4 30.4 15.2l16.4-5.5V432H384c-13.3 0-24 10.7-24 24s10.7 24 24 24h48 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H456V312zM424 160a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm88-40c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 42.1 29.6 77.3 69.1 86l-15.6 18.7c-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.1 33.8-3.1l64.6-77.6c13-15.6 20.3-35.1 20.9-55.3c0-.8 0-1.6 0-2.5z\"]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'far',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M464 256c0-114.9-93.1-208-208-208S48 141.1 48 256c0 81.7 47.1 152.4 115.7 186.4c-2.4-8.4-3.7-17.3-3.7-26.4V392.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V416c0 9.2-1.3 18-3.7 26.4C416.9 408.4 464 337.7 464 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm116-98.9c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faShishKebab = {\n prefix: 'far',\n iconName: 'shish-kebab',\n icon: [512, 512, [], \"f821\", \"M416 48c-26.5 0-48 21.5-48 48c0 5.7 1 11.1 2.7 16.1c6.8 19.2 11.3 51.8-11.3 74.5L337 209l24.4 24.4C375.9 247.9 384 267.5 384 288s-8.1 40.1-22.6 54.6l-18.7 18.7C328.1 375.9 308.5 384 288 384c0 20.5-8.1 40.1-22.6 54.6l-18.7 18.7C232.1 471.9 212.5 480 192 480s-40.1-8.1-54.6-22.6L113 433 41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72L54.6 374.6C40.1 360.1 32 340.5 32 320s8.1-40.1 22.6-54.6l18.7-18.7C87.9 232.1 107.5 224 128 224c0-20.5 8.1-40.1 22.6-54.6l18.7-18.7C183.9 136.1 203.5 128 224 128s40.1 8.1 54.6 22.6L303 175l22.5-22.5c1.1-1.1 2.5-3.3 2.8-7.8c.3-4.7-.6-10.6-2.7-16.6C321.9 118 320 107.2 320 96c0-53 43-96 96-96s96 43 96 96c0 19.7-6 38.1-16.2 53.4c-7.4 11-22.3 14-33.3 6.6s-14-22.3-6.6-33.3c5.1-7.6 8.1-16.8 8.1-26.7c0-26.5-21.5-48-48-48zM88.6 340.7l82.7 82.7c5.5 5.5 12.9 8.6 20.7 8.6s15.2-3.1 20.7-8.6l18.7-18.7c5.5-5.5 8.6-12.9 8.6-20.7s-3.1-15.2-8.6-20.7l-82.7-82.7c-5.5-5.5-12.9-8.6-20.7-8.6s-15.2 3.1-20.7 8.6L88.6 299.3C83.1 304.8 80 312.2 80 320s3.1 15.2 8.6 20.7zm178.7-13.3c5.5 5.5 12.9 8.6 20.7 8.6s15.2-3.1 20.7-8.6l18.7-18.7c5.5-5.5 8.6-12.9 8.6-20.7s-3.1-15.2-8.6-20.7l-82.7-82.7c-5.5-5.5-12.9-8.6-20.7-8.6s-15.2 3.1-20.7 8.6l-18.7 18.7c-5.5 5.5-8.6 12.9-8.6 20.7s3.1 15.2 8.6 20.7l82.7 82.7z\"]\n};\nvar faSprayCan = {\n prefix: 'far',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M128 0C110.3 0 96 14.3 96 32v96H224V32c0-17.7-14.3-32-32-32H128zm96 208c26.5 0 48 21.5 48 48V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V256c0-26.5 21.5-48 48-48H224zM96 160c-53 0-96 43-96 96V440c0 39.8 32.2 72 72 72H248c39.8 0 72-32.2 72-72V256c0-53-43-96-96-96H96zM224 336A64 64 0 1 0 96 336a64 64 0 1 0 128 0zM320 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM512 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM480 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faAlarmSnooze = {\n prefix: 'far',\n iconName: 'alarm-snooze',\n icon: [512, 512, [], \"f845\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 112a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400c53.2 0 102.1-18.6 140.5-49.5L439 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5C480 164.3 379.7 64 256 64S32 164.3 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l42.5-42.5c38.4 31 87.3 49.5 140.5 49.5zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM200 192c-13.3 0-24 10.7-24 24s10.7 24 24 24h62.9L181.1 345.3c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5H312c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.1l81.9-105.3c5.6-7.2 6.6-17 2.6-25.3s-12.4-13.5-21.6-13.5H200z\"]\n};\nvar faScarecrow = {\n prefix: 'far',\n iconName: 'scarecrow',\n icon: [448, 512, [], \"f70d\", \"M168 104a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm131 72h69v32H322.6c-24.5 0-43.2 21.7-39.6 45.9l13.9 92.7-13-7.4c-7.9-4.5-17.7-4.2-25.2 .9L224 363.2 189.3 340c-7.6-5-17.3-5.4-25.2-.9l-13 7.4L165 253.9c3.6-24.2-15.1-45.9-39.6-45.9H80V176h69c18.9 19.7 45.6 32 75 32s56.1-12.3 75-32zM120 104c0 8.3 1 16.3 2.8 24H64 56 32c-5.9 0-11.3 3.2-14.1 8.5s-2.5 11.5 .8 16.4l7.6 11.4L6.4 179.2C2.4 182.2 0 187 0 192s2.4 9.8 6.4 12.8l19.9 14.9-7.6 11.4c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5H56h8 52.1L96.3 388.4c-1.4 9.1 2.6 18.2 10.2 23.4s17.5 5.6 25.5 1L175 388.2 210.7 412c8.1 5.4 18.6 5.4 26.6 0L273 388.2l43.1 24.6c8 4.6 17.9 4.2 25.5-1s11.5-14.3 10.2-23.4L331.9 256H384h8 24c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-7.6-11.4 19.9-14.9c4-3 6.4-7.8 6.4-12.8s-2.4-9.8-6.4-12.8l-19.9-14.9 7.6-11.4c3.3-4.9 3.6-11.2 .8-16.4s-8.2-8.5-14.1-8.5H392h-8H325.2c1.8-7.7 2.8-15.7 2.8-24C328 46.6 281.4 0 224 0S120 46.6 120 104zm80 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM200 488c0 13.3 10.7 24 24 24s24-10.7 24-24V442.6c-15.2 7.2-32.8 7.2-48 0V488z\"]\n};\nvar faTruckMonster = {\n prefix: 'far',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M280 48h88.2c2.5 0 4.8 1.2 6.3 3.1L421.4 112H272V56c0-4.4 3.6-8 8-8zm202 64L412.6 21.9C402 8.1 385.6 0 368.2 0H280c-30.9 0-56 25.1-56 56v56H120c-48.6 0-88 39.4-88 88v30.3c-6.1 5.1-12 10.6-17.5 16.4c-9.1 9.6-8.7 24.8 1 33.9s24.8 8.7 33.9-1C77.2 250.3 116.4 232 160 232c53.3 0 100.3 27.5 127.4 69.1c4.4 6.8 12 10.9 20.1 10.9h24.9c8.1 0 15.7-4.1 20.1-10.9C379.7 259.5 426.7 232 480 232c43.6 0 82.8 18.3 110.5 47.7c9.1 9.6 24.3 10.1 33.9 1s10.1-24.3 1-33.9c-5.5-5.8-11.3-11.3-17.5-16.4V200c0-48.6-39.4-88-88-88H482zm78 88.6c-24.5-10.7-51.6-16.6-80-16.6c-65.4 0-123.5 31.5-160 80c-36.5-48.5-94.5-80-160-80c-28.4 0-55.5 5.9-80 16.6V200c0-22.1 17.9-40 40-40H520c22.1 0 40 17.9 40 40v.6zM152 256c-12.1 0-22.1 8.9-23.8 20.6c-7.6 2.2-14.9 5.3-21.7 9c-9.4-7.1-22.8-6.3-31.3 2.3L63.8 299.1c-8.6 8.6-9.3 21.9-2.3 31.3c-3.7 6.9-6.8 14.1-9 21.8C40.9 353.9 32 363.9 32 376v16c0 12.1 8.9 22.1 20.6 23.8c2.2 7.6 5.3 14.9 9 21.8c-7 9.4-6.3 22.8 2.3 31.3l11.3 11.3c8.6 8.6 21.9 9.3 31.3 2.2c6.8 3.7 14.1 6.8 21.7 9c1.7 11.6 11.7 20.6 23.8 20.6h16c12.1 0 22.1-8.9 23.8-20.6c7.6-2.2 14.9-5.3 21.7-9c9.4 7 22.8 6.3 31.3-2.2l11.3-11.3c8.6-8.6 9.3-21.9 2.3-31.3c3.7-6.8 6.8-14.1 9-21.7c11.6-1.7 20.6-11.7 20.6-23.8V376c0-12.1-8.9-22.1-20.6-23.8c-2.2-7.6-5.3-14.9-9-21.7c7-9.4 6.3-22.8-2.3-31.3l-11.3-11.3c-8.6-8.6-21.9-9.3-31.3-2.3c-6.8-3.7-14.1-6.8-21.7-9C190.1 264.9 180.1 256 168 256H152zm8 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm312-80c-12.1 0-22.1 8.9-23.8 20.6c-7.6 2.2-14.9 5.3-21.7 9c-9.4-7.1-22.8-6.3-31.3 2.3l-11.3 11.3c-8.6 8.6-9.3 21.9-2.2 31.3c-3.7 6.9-6.8 14.1-9 21.8C360.9 353.9 352 363.9 352 376v16c0 12.1 8.9 22.1 20.6 23.8c2.2 7.6 5.3 14.9 9 21.8c-7 9.4-6.3 22.8 2.2 31.3l11.3 11.3c8.6 8.6 21.9 9.3 31.3 2.2c6.8 3.7 14.1 6.8 21.7 9c1.7 11.6 11.7 20.6 23.8 20.6h16c12.1 0 22.1-8.9 23.8-20.6c7.6-2.2 14.9-5.3 21.8-9c9.4 7 22.8 6.3 31.3-2.2l11.3-11.3c8.6-8.6 9.3-21.9 2.2-31.3c3.7-6.8 6.8-14.1 9-21.7c11.6-1.7 20.6-11.7 20.6-23.8V376c0-12.1-8.9-22.1-20.6-23.8c-2.2-7.6-5.3-14.9-9-21.7c7-9.4 6.3-22.8-2.2-31.3l-11.3-11.3c-8.6-8.6-21.9-9.3-31.3-2.3c-6.9-3.7-14.1-6.8-21.8-9C510.1 264.9 500.1 256 488 256H472zm8 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faGiftCard = {\n prefix: 'far',\n iconName: 'gift-card',\n icon: [576, 512, [], \"f663\", \"M353.5 68.8L318.7 128H320h72c22.1 0 40-17.9 40-40s-17.9-40-40-40h-2.2c-14.9 0-28.8 7.9-36.3 20.8zM288 197.5l-61.6 73.9c-8.5 10.2-23.6 11.6-33.8 3.1s-11.6-23.6-3.1-33.8L243.4 176H184 64c-8.8 0-16 7.2-16 16V320H528V192c0-8.8-7.2-16-16-16H392 332.6l53.9 64.6c8.5 10.2 7.1 25.3-3.1 33.8s-25.3 7.1-33.8-3.1L288 197.5zM48 384v64c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V384H48zM256 128h1.3L222.5 68.8C214.9 55.9 201.1 48 186.2 48H184c-22.1 0-40 17.9-40 40s17.9 40 40 40h72zm7.9-83.6l24.1 41 24.1-41C328.3 16.9 357.9 0 389.8 0H392c48.6 0 88 39.4 88 88c0 14.4-3.5 28-9.6 40H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h41.6C99.5 116 96 102.4 96 88c0-48.6 39.4-88 88-88h2.2c31.9 0 61.5 16.9 77.7 44.4z\"]\n};\nvar faW = {\n prefix: 'far',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M15.9 33.4c12.5-4.5 26.2 2 30.7 14.5L165.9 379.4 265 49.1C268.1 39 277.4 32 288 32s19.9 7 23 17.1l99.1 330.3L529.4 47.9c4.5-12.5 18.2-18.9 30.7-14.5s18.9 18.2 14.5 30.7l-144 400c-3.5 9.7-12.9 16.1-23.2 15.9s-19.4-7.2-22.3-17.1L288 139.5 191 462.9c-3 9.9-12 16.8-22.3 17.1s-19.7-6.1-23.2-15.9L1.4 64.1c-4.5-12.5 2-26.2 14.5-30.7z\"]\n};\nvar faCodePullRequestDraft = {\n prefix: 'far',\n iconName: 'code-pull-request-draft',\n icon: [448, 512, [], \"e3fa\", \"M48 80a32 32 0 1 1 64 0A32 32 0 1 1 48 80zm56 76.3c32.5-10.2 56-40.5 56-76.3c0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3V355.7C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V156.3zM48 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm320-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM416 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM368 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSquareB = {\n prefix: 'far',\n iconName: 'square-b',\n icon: [448, 512, [], \"e264\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 56c0-13.3 10.7-24 24-24h92c42 0 76 34 76 76c0 16.2-5.1 31.3-13.8 43.7C324.3 261.6 336 283.4 336 308c0 42-34 76-76 76H152c-13.3 0-24-10.7-24-24V256 152zm144 52c0-15.5-12.5-28-28-28H176v56h68c15.5 0 28-12.5 28-28zM176 336h84c15.5 0 28-12.5 28-28s-12.5-28-28-28H244 176v56z\"]\n};\nvar faElephant = {\n prefix: 'far',\n iconName: 'elephant',\n icon: [640, 512, [128024], \"f6da\", \"M299.8 48c-33 0-59.8 26.8-59.8 59.8V112c0 35.3 28.7 64 64 64h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8c-61.9 0-112-50.1-112-112v-4.2c0-6.4 .6-12.7 1.6-18.9C127.5 111.6 80 174.2 80 248v19c0 15.5-1.5 31-4.6 46.3c-3.3 16.3-10.1 31.7-20.1 44.9L43.2 374.4c-8 10.6-23 12.8-33.6 4.8s-12.8-23-4.8-33.6l12.1-16.2c5.7-7.6 9.6-16.3 11.4-25.6C30.8 291.7 32 279.4 32 267V248C32 137.6 114.8 46.6 221.6 33.6C241.3 12.9 269.1 0 299.8 0c30.8 0 59 12.1 79.8 32H384c88.4 0 160 71.6 160 160V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-52.6-36.3-96.8-85.3-108.8c2.1 7.3 3.5 14.9 4.2 22.7l1 12.1c1.1 13.2-8.7 24.8-21.9 25.9s-24.8-8.7-25.9-21.9l-1-12.1c-2.9-35-32.1-61.9-67.2-61.9zM528 381v18.7c0 17.8 14.5 32.3 32.3 32.3c15.8 0 29.3-11.4 31.9-27l.2-1c2.2-13.1 14.5-21.9 27.6-19.7s21.9 14.5 19.7 27.6l-.2 1c-6.5 38.7-40 67.1-79.2 67.1C516 480 480 444 480 399.7V380.8c-24-4.1-45.9-13.9-64-28.1V464c0 26.5-21.5 48-48 48H320c-26.5 0-48-21.5-48-48V411.7c-21.2 2.8-42.8 2.8-64 0V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V392c0-13.3 10.7-24 24-24s24 10.7 24 24v72h48V384c0-7 3-13.6 8.3-18.1s12.2-6.6 19.1-5.6l24.3 3.5c18.8 2.7 37.8 2.7 56.6 0l24.3-3.5c6.9-1 13.9 1.1 19.1 5.6S320 377 320 384v80h48V312c0-13.3 10.7-24 24-24c11.2 0 20.6 7.6 23.2 18c18.7 26.7 51.6 44.9 89.5 44.9c30.1 0 57.1-11.4 76.3-29.6c6.4-6.1 16.5-5.8 22.6 .6s5.8 16.5-.6 22.6c-19.9 18.9-46 31.9-75 36.5zM432 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faEarthAfrica = {\n prefix: 'far',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M464 256c0-19.4-2.6-38.1-7.6-55.9L429 194.6c-7.7-1.5-15.4 2.3-18.9 9.2c-5.8 11.6-19.2 17.1-31.5 13l-14.1-4.7c-7.7-2.6-16.1-.6-21.8 5.1c-3.7 3.7-3.7 9.7 0 13.4l33.5 33.5c5 5 7.8 11.8 7.8 18.9c0 12.3-8.4 23-20.3 26l-5.3 1.3c-3.8 .9-6.4 4.3-6.4 8.2v12.1c0 13.8-4.5 27.3-12.8 38.4l-25.6 34.1c-6 8.1-15.5 12.8-25.6 12.8c-17.7 0-32-14.3-32-32V336c0-8.8-7.2-16-16-16H208c-26.5 0-48-21.5-48-48V244c0-12.6 5.9-24.4 16-32l39.4-29.5c5.6-4.2 12.4-6.5 19.4-6.5c3.5 0 6.9 .6 10.2 1.7l32 10.7c7.2 2.4 15 2.7 22.4 .9l35.4-8.8c10.2-2.5 17.3-11.7 17.3-22.2c0-8.7-4.9-16.6-12.6-20.5l-29.2-14.6c-3.7-1.8-8.1-1.1-11 1.8l-3.9 3.9c-4.6 4.6-10.9 7.2-17.4 7.2c-3.8 0-7.6-.9-11-2.6l-15.2-7.6c-6.7-3.4-14.9-1.6-19.6 4.3l-13.6 17c-5.5 6.9-15.8 7.4-22 1.2c-2.8-2.8-4.3-6.5-4.3-10.4V96.5c0-5.6-1.5-11-4.2-15.9l-10-17.4C101.7 94.1 48 168.8 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'far',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 88C169.8 88 48 209.8 48 360v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360C0 183.3 143.3 40 320 40s320 143.3 320 320v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360C592 209.8 470.2 88 320 88zm0 224c-26.5 0-48 21.5-48 48v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-53 43-96 96-96s96 43 96 96v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-26.5-21.5-48-48-48zM160 360v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-114.9 93.1-208 208-208s208 93.1 208 208v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"]\n};\nvar faCircleNotch = {\n prefix: 'far',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M215.1 26.3c3.6 12.7-3.7 26-16.5 29.7C111.6 80.9 48 161.1 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208c0-94.9-63.6-175.1-150.6-200c-12.7-3.6-20.1-16.9-16.5-29.7s16.9-20.1 29.7-16.5C433.6 40.5 512 139.1 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 139.1 78.4 40.5 185.4 9.9c12.7-3.6 26 3.7 29.7 16.5z\"]\n};\nvar faTabletScreenButton = {\n prefix: 'far',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M48 448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V368H48v80zm0-128H400V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V320zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'far',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M193.9 189.7c-32.3 10.6-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5s-.3 86.2-32.6 96.8zm217.7 8.9c18.9-32.4 54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3s-29.1-51.7-10.2-84.1zm-311.3 0c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM277.5 92.9c14.3-42.9 52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5s-46.9-53.9-32.6-96.8zM114.3 409.7c-1.4 3.7-2.3 8.5-2.3 14.2c0 4.5 3.6 8.1 8.1 8.1h3.4c2.2 0 4.3-.4 6.3-1.2l72.7-29.1c34.3-13.7 72.6-13.7 107 0l72.7 29.1c2 .8 4.2 1.2 6.3 1.2h3.4c4.5 0 8.1-3.6 8.1-8.1c0-5.7-.9-10.4-2.3-14.2C352.1 287.4 276.6 272 256 272s-96.1 15.4-141.7 137.7zM69.3 393C121.7 252.4 214.8 224 256 224s134.3 28.4 186.7 169c3.7 9.9 5.3 20.4 5.3 31c0 31-25.1 56.1-56.1 56.1h-3.4c-8.3 0-16.5-1.6-24.2-4.7l-72.7-29.1c-22.9-9.2-48.4-9.2-71.3 0l-72.7 29.1c-7.7 3.1-15.9 4.7-24.2 4.7h-3.4c-31 0-56.1-25.1-56.1-56.1c0-10.5 1.6-21.1 5.3-31z\"]\n};\nvar faMessageQuestion = {\n prefix: 'far',\n iconName: 'message-question',\n icon: [512, 512, [], \"e1e3\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM169.8 117.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V216c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCloud = {\n prefix: 'far',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M410.8 134.2c-19.3 8.6-42 3.5-55.9-12.5C332.8 96.1 300.3 80 264 80c-66.3 0-120 53.7-120 120c0 0 0 0 0 0s0 0 0 0l0 .2c0 20.4-12.8 38.5-32 45.3C74.6 258.7 48 294.3 48 336c0 53 43 96 96 96H504h3.3c.6-.1 1.3-.1 1.9-.2c46.2-2.7 82.8-41 82.8-87.8c0-36-21.6-67.1-52.8-80.7c-20.1-8.8-31.6-30-28.1-51.7c.6-3.8 .9-7.7 .9-11.7c0-39.8-32.2-72-72-72c-10.5 0-20.4 2.2-29.2 6.2zM512 479.8v.2h-8H464 144C64.5 480 0 415.5 0 336c0-62.7 40.1-116 96-135.8l0-.2c0-92.8 75.2-168 168-168c50.9 0 96.4 22.6 127.3 58.3C406.2 83.7 422.6 80 440 80c66.3 0 120 53.7 120 120c0 6.6-.5 13-1.5 19.3c48 21 81.5 68.9 81.5 124.7c0 72.4-56.6 131.6-128 135.8z\"]\n};\nvar faTrowelBricks = {\n prefix: 'far',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M240.8 4.8c-9.4-5.8-21.2-6.4-31.1-1.4l-192 96C6.8 104.8 0 115.9 0 128s6.8 23.2 17.7 28.6l192 96c9.9 5 21.7 4.4 31.1-1.4s15.2-16.1 15.2-27.2V152h89c3.6 13.8 16.1 24 31 24h88c26.5 0 48-21.5 48-48s-21.5-48-48-48H376c-14.9 0-27.4 10.2-31 24H256V32c0-11.1-5.7-21.4-15.2-27.2zM288 384h16 32H464v80H256V384h32zm-80 0v80H48V384H208zm256-48H336V272H464v64zM288 272v16 48H240 48c-26.5 0-48 21.5-48 48v80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V384c0-1.3-.1-2.7-.2-4c.1-1.3 .2-2.7 .2-4V272c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSquare3 = {\n prefix: 'far',\n iconName: 'square-3',\n icon: [448, 512, [], \"e258\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H280c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H208c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L218.3 176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceFlushed = {\n prefix: 'far',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM160.4 248a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H192zM160 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm144-80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'far',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M64 48H256c8.8 0 16 7.2 16 16V415.7c11.3-20 27.9-36.7 48-47.9V271.8 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H256c3.2 0 6.4-.2 9.5-.7c-6-10-9.5-21.8-9.5-34.4c0-4.4 .2-8.7 .7-13c-.2 0-.4 0-.7 0H64c-8.8 0-16-7.2-16-16V416h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V320h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V64c0-8.8 7.2-16 16-16zm72 64v24H112c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184h24c8.8 0 16-7.2 16-16V152c0-8.8-7.2-16-16-16H184V112c0-8.8-7.2-16-16-16H152c-8.8 0-16 7.2-16 16zM512 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM288 477.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faMicrowave = {\n prefix: 'far',\n iconName: 'microwave',\n icon: [576, 512, [], \"e01b\", \"M512 80c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V384c0 35.3 28.7 64 64 64l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM432 136V344c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24s-24 10.7-24 24zm-312-8c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H120z\"]\n};\nvar faChfSign = {\n prefix: 'far',\n iconName: 'chf-sign',\n icon: [640, 512, [], \"e602\", \"M0 115.3C0 69 38.2 32 83.9 32c30.9 0 59.6 17.4 73.6 45.3c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7C108.9 87.4 96.9 80 83.9 80C64.1 80 48 96.1 48 115.3V396.7C48 415.9 64.1 432 83.9 432c13 0 25-7.4 30.6-18.7c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2C143.5 462.6 114.7 480 83.9 480C38.2 480 0 443 0 396.7V115.3zM216 32c13.3 0 24 10.7 24 24V224H368V56c0-13.3 10.7-24 24-24s24 10.7 24 24V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H240V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24zM448 56c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H496V224h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H496V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56z\"]\n};\nvar faTentArrowLeftRight = {\n prefix: 'far',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M488.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L489.5 72 86.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM302.7 165c-8.6-6.7-20.7-6.7-29.3 0L107.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L69.5 448.1C64.6 481.8 90.8 512 124.9 512H451.1c34.1 0 60.3-30.2 55.4-63.9L489.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L302.7 165zM137 331l127-98.2V464H124.9c-4.9 0-8.6-4.3-7.9-9.1l16.9-118.6c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L439 331c1.6 1.3 2.7 3.1 3 5.2L459 454.9c.7 4.8-3.1 9.1-7.9 9.1H374.4L312 360z\"]\n};\nvar faCartCircleArrowUp = {\n prefix: 'far',\n iconName: 'cart-circle-arrow-up',\n icon: [640, 512, [], \"e3f0\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.6L489.1 192.1c2.3-.1 4.6-.1 6.9-.1c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM496 224a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM428.7 371.3c-6.2-6.2-6.2-16.4 0-22.6l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faTrashClock = {\n prefix: 'far',\n iconName: 'trash-clock',\n icon: [576, 512, [], \"e2b0\", \"M177.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM354.2 80L317.5 24.9C307.1 9.4 289.6 0 270.9 0H177.1c-18.7 0-36.2 9.4-46.6 24.9L93.8 80H80.1 32 24C10.7 80 0 90.7 0 104s10.7 24 24 24H35.6L59.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H324.6c2 0 3.9-.1 5.8-.3c-18.2-12.9-33.8-29.1-45.9-47.7h-161c-8.4 0-15.3-6.5-16-14.8L83.7 128H364.3l-5.9 80.1c15.3-7.1 31.9-12 49.2-14.4l4.9-65.7H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H367.9 354.2zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faGavel = {\n prefix: 'far',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M313 7c9.3 9.3 9.4 24.3 .2 33.7L471.3 198.8c9.4-9.2 24.4-9.1 33.7 .2c9.4 9.4 9.4 24.6 0 33.9l-16.7 16.8L393 345l-16 16c-9.4 9.4-24.6 9.4-33.9 0c-9-9-9.4-23.5-.9-32.9L184 169.9c-9.4 8.4-23.9 8.1-32.9-.9c-9.4-9.4-9.4-24.6 0-33.9l16-16 95.2-95.3L279 7c9.4-9.4 24.6-9.4 33.9 0zM279.2 74.7L217.9 136 376 294.1l61.3-61.3L279.2 74.7zM223.4 254.6l33.9 33.9-49.8 49.8 7 7c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0l-48-48c-12.5-12.5-12.5-32.8 0-45.3l112-112c12.5-12.5 32.8-12.5 45.3 0l7 7 49.8-49.8zm-79.4 88L54.6 432 80 457.4 169.4 368 144 342.6z\"]\n};\nvar faLegal = faGavel;\nvar faSprinklerCeiling = {\n prefix: 'far',\n iconName: 'sprinkler-ceiling',\n icon: [384, 512, [], \"e44c\", \"M0 0V96c0 11.5 8.2 21.4 19.5 23.6L128 140.2V91.4L48 76.1V0H0zM256 91.4v48.9l108.5-20.7C375.8 117.4 384 107.5 384 96V0H336V76.1L256 91.4zM160 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-48 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM24 496a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM272 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM216 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V208H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H192 296c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V56z\"]\n};\nvar faBrowsers = {\n prefix: 'far',\n iconName: 'browsers',\n icon: [576, 512, [], \"e0cb\", \"M144 352V128H528V352c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16zM160 0C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H160zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faTrillium = {\n prefix: 'far',\n iconName: 'trillium',\n icon: [448, 512, [], \"e588\", \"M203.3 16.2c11.8-11 29.8-11 41.5 0c12.1 11.3 33.1 32.5 51.2 58.8c17.9 26 34.2 58.9 34.2 93.4c0 7.3-.8 14.5-2.2 21.5c7.3 2.3 14.4 5.3 21.2 9.3l0 0c29.9 17.2 50.4 47.6 64.2 75.9c13.9 28.7 21.9 57.3 25.7 73.5c3.8 15.8-5.4 31.5-20.9 36.1c-16 4.8-44.9 12.2-76.8 14.6c-31.5 2.3-68.3-.1-98.2-17.2c-7-4-13.4-8.7-19.1-14c-5.7 5.3-12.1 10-19.1 14c-29.9 17.2-66.7 19.6-98.2 17.2c-31.9-2.4-60.9-9.8-76.8-14.6C14.3 380 5.1 364.4 8.8 348.5c3.8-16.2 11.8-44.8 25.7-73.5c13.7-28.3 34.2-58.8 64.2-75.9l0 0c6.9-3.9 14-7 21.3-9.3c-1.4-6.9-2.2-14.1-2.2-21.4c0-34.4 16.4-67.4 34.2-93.4c18.1-26.3 39.1-47.5 51.2-58.8zm122 224.5l0 0c-6.9-4-14.2-6.3-21.6-7.3c-9.9-1.3-18.6-7-23.6-15.6s-5.8-19-2-28.2c2.7-6.6 4.1-13.7 4.1-21.3v0c0-20.1-10-43.2-25.8-66.2C245.9 86.9 234 73.4 224 63.1c-9.9 10.2-21.9 23.8-32.4 39.1c-15.8 23-25.8 46.1-25.8 66.2c0 7.6 1.5 14.7 4.1 21.3c3.7 9.2 3 19.6-2 28.2s-13.8 14.3-23.6 15.6c-7.4 .9-14.8 3.3-21.7 7.3C105 250.9 89.8 271.1 77.7 296c-8 16.6-13.9 33.5-17.8 47.1c13.9 3.4 31.7 6.9 50.3 8.3c27.9 2.1 53.1-.9 70.8-11c7.1-4.1 12.9-9.3 17.4-15.4c6-8 15.5-12.8 25.6-12.8s19.5 4.7 25.6 12.8c4.5 6 10.4 11.3 17.4 15.4c17.6 10.1 42.9 13.1 70.8 11c18.6-1.4 36.4-4.9 50.3-8.3c-4-13.6-9.8-30.5-17.8-47.1c-12.1-25-27.3-45.1-44.9-55.2zM100.8 123.4c-3 11.8-4.8 24.1-4.8 36.6c0 6.2 .4 12.3 1.3 18.3c-7.8 2.7-15.4 6.1-22.7 10.3c-9.9 5.7-18.8 12.6-26.9 20.2C19 182.7 5.6 157.6 0 144.3c-5.8-13.8 3-29.1 17.9-31c14.7-1.9 44.4-2.8 83 10zm249.9 55c.9-6 1.3-12.1 1.3-18.4c0-12.5-1.8-24.8-4.8-36.6c38.6-12.8 68.2-11.9 83-10c14.9 1.9 23.7 17.1 17.9 31c-5.6 13.3-19 38.4-47.7 64.6c-8.1-7.7-17.1-14.6-27-20.3c-7.3-4.2-14.9-7.6-22.6-10.3zM205.1 497.1c-8.3-12.6-22.8-38.2-31-74.3c9.8-3.1 19.4-7.2 28.5-12.5c7.8-4.5 14.9-9.7 21.4-15.4c6.5 5.8 13.6 11 21.4 15.4c9.2 5.3 18.8 9.4 28.6 12.5c-8.2 36.1-22.6 61.6-31 74.2c-9.1 13.7-28.8 13.7-37.9 0zM184 240a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faMusicSlash = {\n prefix: 'far',\n iconName: 'music-slash',\n icon: [640, 512, [], \"f8d1\", \"M545 0c17.1 0 31 13.9 31 31V143.5c0 .4 0 .7 0 1.1V368c0 16.7-6.2 32.2-16.7 45.1l71.5 56c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L208 137.7V120c0-10.5 6.9-19.8 16.9-22.9l311-95.7c3-.9 6-1.4 9.1-1.4zM256 175.3l31.7 24.9L528 126.3V54L256 137.7v37.6zm77.7 60.9l87.4 68.5C437.4 294.3 457.8 288 480 288c17.5 0 33.9 3.9 48 10.7V176.5L333.7 236.3zM463.4 337.9l58 45.4c4.6-5.6 6.6-11.4 6.6-15.3c0-9.8-12.9-32-48-32c-6.2 0-11.7 .7-16.6 1.9zM208 259.9l48 37.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c17.5 0 33.9 3.9 48 10.7V259.9zM160 400c-35.1 0-48 22.2-48 32s12.9 32 48 32s48-22.2 48-32s-12.9-32-48-32z\"]\n};\nvar faTruckRamp = {\n prefix: 'far',\n iconName: 'truck-ramp',\n icon: [640, 512, [], \"f4e0\", \"M440 0c-48.6 0-88 39.4-88 88V373.8L17.7 464.8C4.9 468.3-2.6 481.5 .8 494.3s16.7 20.3 29.5 16.8L416.2 406c3.1 59.1 52 106 111.8 106c61.9 0 112-50.1 112-112s-50.1-112-112-112c-45.3 0-84.3 26.9-102 65.6l-.4 .1-25.7 7V88c0-22.1 17.9-40 40-40H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H440zm88 336a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faBinoculars = {\n prefix: 'far',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V80H96V64zM59.6 158c4.8-26.6 28-46 55.1-46H200c13.3 0 24 10.7 24 24v24h64V136c0-13.3 10.7-24 24-24h85.3c27.1 0 50.3 19.4 55.1 46l5 27.3c3.6 19.9 10.8 39 21.2 56.4l2.6 4.4c20.1 33.6 30.8 72 30.8 111.1V424c0 30.9-25.1 56-56 56H344c-30.9 0-56-25.1-56-56V288H224V424c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V357.2C0 318 10.6 279.6 30.8 246l2.6-4.4c10.4-17.4 17.6-36.5 21.2-56.4l5-27.3zm55.1 2c-3.9 0-7.2 2.8-7.9 6.6l-5 27.3C97.2 219.5 88 244 74.6 266.4l-2.6 4.4C56.3 296.9 48 326.7 48 357.2V424c0 4.4 3.6 8 8 8H168c4.4 0 8-3.6 8-8V160H114.7zm282.6 0H336V424c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V357.2c0-30.4-8.3-60.3-23.9-86.4l-2.6-4.4c-13.4-22.3-22.6-46.9-27.3-72.5l-5-27.3c-.7-3.8-4-6.6-7.9-6.6zM352 32h32c17.7 0 32 14.3 32 32V80H320V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'far',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L408 294.5c5.2-11.8 8-24.8 8-38.5V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM272 187.9V96c0-26.5 21.5-48 48-48s48 21.5 48 48V256c0 2.3-.2 4.6-.5 6.8L272 187.9zm-80 59.4L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7z\"]\n};\nvar faBoxTissue = {\n prefix: 'far',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M208 48H117.5l57.1 228.4 2.9 11.6H332.3l7.1-17.8L389.9 144H336c-31.1 0-56.2-9.9-75.5-28.2c-15.8-15-25.1-33.7-30.5-44.6l-.9-1.8C222.3 56 219.8 52 217.5 49.8c-.5-.5-.8-.6-1.3-.8c-.7-.3-3-1-8.2-1zM384 288h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h8l-8-32-12-48L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0H208c40 0 52 24 64 48s24 48 64 48h85.2C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L416 208l-19.2 48L384 288zM75 208l12 48H48V368H464V256H431.3l19.2-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256c0-26.5 21.5-48 48-48H75zM48 416v48H464V416H48z\"]\n};\nvar faCircleC = {\n prefix: 'far',\n iconName: 'circle-c',\n icon: [512, 512, [], \"e101\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c-31.2-31.2-31.2-81.9 0-113.1s81.9-31.2 113.1 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-31.2 31.2-81.9 31.2-113.1 0z\"]\n};\nvar faStarChristmas = {\n prefix: 'far',\n iconName: 'star-christmas',\n icon: [512, 512, [], \"f7d4\", \"M279.2 17.9C276.5 7.4 266.9 0 256 0s-20.5 7.4-23.2 17.9L188.3 188.3 17.9 232.8C7.4 235.5 0 245.1 0 256s7.4 20.5 17.9 23.2l170.4 44.4 44.4 170.4c2.8 10.6 12.3 17.9 23.2 17.9s20.5-7.4 23.2-17.9l44.4-170.4 170.4-44.4c10.6-2.8 17.9-12.3 17.9-23.2s-7.4-20.5-17.9-23.2L323.7 188.3 279.2 17.9zm-48 196.1l24.8-95 24.8 95c2.2 8.4 8.8 15 17.2 17.2l95 24.8-95 24.8c-8.4 2.2-15 8.8-17.2 17.2l-24.8 95-24.8-95c-2.2-8.4-8.8-15-17.2-17.2l-95-24.8 95-24.8c8.4-2.2 15-8.8 17.2-17.2zM71 71c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L105 71c-9.4-9.4-24.6-9.4-33.9 0zM441 71c-9.4-9.4-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9zm0 336l-48-48c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM71 441c9.4 9.4 24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 407c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faChartBullet = {\n prefix: 'far',\n iconName: 'chart-bullet',\n icon: [512, 512, [], \"e0e1\", \"M264 32c13.3 0 24 10.7 24 24v8H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H288v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48c-26.5 0-48-21.5-48-48V112C0 85.5 21.5 64 48 64H240V56c0-13.3 10.7-24 24-24zM160 112v64h80V112H160zm128 0v64H464V112H288zm-176 0H48v64h64V112zM360 256c13.3 0 24 10.7 24 24v8h80c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H384v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H336v-8c0-13.3 10.7-24 24-24zM224 336v64H336V336H224zm160 0v64h80V336H384zm-208 0H48v64H176V336z\"]\n};\nvar faMotorcycle = {\n prefix: 'far',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M292.5 224.7c11.1 14.3 20.4 30.2 27.5 47.2c15.3-36.5 40.6-67.8 72.6-90.2l-15.3-28.2-84.9 71.3zM304 384H288V352c0-88.4-71.6-160-160-160H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c49.6 0 95.1 17.3 130.8 46.3l95.2-80L337.7 80H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h62.5c14.7 0 28.2 8.1 35.2 21l13.9 25.8 46.7-39.3c5.8-4.8 13.1-7.5 20.6-7.5H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H418.2l55.1 102c12.2-3.9 25.2-6 38.7-6c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128-57.3-128-128c0-40 18.4-75.7 47.1-99.2l-15.4-28.6C377 253.4 352 299.8 352 352v32H304v0zm128-32c0 44.2 35.8 80 80 80s80-35.8 80-80s-35.8-80-80-80c-5.2 0-10.3 .5-15.2 1.4l36.3 67.1c6.3 11.7 2 26.2-9.7 32.5s-26.2 2-32.5-9.7l-36.3-67.1c-14 14.4-22.6 34.1-22.6 55.7zM204.3 328c-10.2-32.5-40.5-56-76.3-56c-44.2 0-80 35.8-80 80s35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H149.2c-5.6 5-13.1 8-21.2 8c-17.7 0-32-14.3-32-32s14.3-32 32-32c8.1 0 15.5 3 21.2 8h55.2zM128 224a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faTreeChristmas = {\n prefix: 'far',\n iconName: 'tree-christmas',\n icon: [448, 512, [127876], \"f7db\", \"M150.2 71l47.1-17.7L215 6.2c1.4-3.8 5-6.2 9-6.2s7.6 2.5 9 6.2l17.7 47.1L297.8 71c3.8 1.4 6.2 5 6.2 9s-2.5 7.6-6.2 9l-47.1 17.7L233 153.8c-1.4 3.8-5 6.2-9 6.2s-7.6-2.5-9-6.2l-17.7-47.1L150.2 89c-3.8-1.4-6.2-5-6.2-9s2.5-7.6 6.2-9zm125.3 60.5l15.8-5.9 122 193.1c4.7 7.4 4.9 16.7 .7 24.4s-12.3 12.4-21 12.4H367.7l76.5 119.5c4.7 7.4 5 16.8 .8 24.5s-12.3 12.5-21.1 12.5H24c-8.8 0-16.8-4.8-21.1-12.5s-3.9-17.1 .8-24.5L80.3 355.5H55c-8.7 0-16.8-4.8-21-12.4s-3.9-17 .7-24.4l122-193.1 15.8 5.9L185 165c.4 1.2 .9 2.3 1.4 3.4L98.6 307.5h25.6c8.8 0 16.8 4.8 21.1 12.5s3.9 17.1-.8 24.5L67.9 464H380.1L303.6 344.5c-4.7-7.4-5.1-16.8-.8-24.5s12.3-12.5 21.1-12.5h25.6L261.5 168.4c.5-1.1 1-2.2 1.4-3.4l12.6-33.5zM160 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM288 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTireFlat = {\n prefix: 'far',\n iconName: 'tire-flat',\n icon: [512, 512, [], \"f632\", \"M464 288c0-114.9-93.1-208-208-208S48 173.1 48 288c0 31 6.8 60.3 18.8 86.7c6.9 15.1 7 33-.8 48.5L48.4 458.5c-.3 .5-.4 1.1-.4 1.7c0 2.1 1.7 3.8 3.8 3.8H132 380h80.2c2.1 0 3.8-1.7 3.8-3.8c0-.6-.1-1.2-.4-1.7l-17.7-35.3c-7.8-15.6-7.7-33.4-.8-48.5C457.2 348.3 464 319 464 288zm48 0c0 38.1-8.3 74.2-23.2 106.7c-1 2.2-1 4.8 .1 7l17.7 35.3c3.6 7.2 5.5 15.1 5.5 23.2c0 28.6-23.2 51.8-51.8 51.8H380 132 51.8C23.2 512 0 488.8 0 460.2c0-8 1.9-16 5.5-23.2l17.7-35.3c1.1-2.2 1.1-4.8 .1-7C8.3 362.2 0 326.1 0 288C0 146.6 114.6 32 256 32s256 114.6 256 256zm-136 0c0-31.2-11.9-59.6-31.4-80.9l-24.2 33.4c9.8 13.3 15.6 29.7 15.6 47.5l0 .9 39.2 12.8c.5-4.5 .8-9 .8-13.6zm-54.9 46.5c-10 14-24.4 24.6-41.2 29.9l0 41.3c34.4-7 63.5-28.7 80.4-58.3l-39.3-12.8zM232 364.3c-16.7-5.3-31.1-15.9-41.1-29.8l-39.3 12.8c16.8 29.6 45.9 51.3 80.3 58.3l0-41.3zM136 288c0 4.6 .3 9.2 .8 13.6L176 288.9l0-.9c0-17.8 5.8-34.2 15.6-47.5l-1.7-2.3-22.6-31.1C147.9 228.4 136 256.8 136 288zm120-80c8.9 0 17.6 1.5 25.6 4.2l24.2-33.4c-15.2-6.9-32-10.8-49.8-10.8s-34.6 3.9-49.8 10.8L228.8 210l1.6 2.2c8-2.7 16.6-4.2 25.6-4.2zM88 288a168 168 0 1 1 336 0A168 168 0 1 1 88 288zm200 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSunglasses = {\n prefix: 'far',\n iconName: 'sunglasses',\n icon: [576, 512, [128374], \"f892\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57.1 259.8c25.6-7.8 52.6-11.8 78.6-11.8c40.1 0 82.2 9.6 118.5 27.3c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.4 7.7-9.8 13.5-12.7c36.2-17.8 78.4-27.3 118.5-27.3c26 0 53 4.1 78.6 11.8L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.2c.3 1.8 .5 3.7 .5 5.6v5.2l0 1.5V352l0 .6V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM48 352v16c0 2.6 .2 5.2 .5 7.8l144.4-72.2c-18.8-5-38.3-7.6-57.2-7.6c-29.5 0-60.5 6.4-87.7 18.2V352zm392.3-56c-29.4 0-60.4 6.3-87.7 18l3.2 57.5c0 .8 .1 1.7 .2 2.5l141-70.5c-18.6-4.9-38-7.5-56.7-7.5z\"]\n};\nvar faBadge = {\n prefix: 'far',\n iconName: 'badge',\n icon: [512, 512, [], \"f335\", \"M256 48c-24.1 0-45.1 13.5-55.7 33.5C194.9 91.7 183 96.6 172 93.2c-21.6-6.6-46.1-1.4-63.1 15.7S86.6 150.4 93.2 172c3.4 11-1.5 22.9-11.7 28.2C61.5 210.9 48 231.9 48 256s13.5 45.1 33.5 55.7C91.7 317.1 96.6 329 93.2 340c-6.6 21.6-1.4 46.1 15.7 63.1s41.5 22.3 63.1 15.7c11-3.4 22.9 1.5 28.2 11.7c10.6 20 31.6 33.5 55.7 33.5s45.1-13.5 55.7-33.5c5.4-10.2 17.2-15.1 28.2-11.7c21.6 6.6 46.1 1.4 63.1-15.7s22.3-41.5 15.7-63.1c-3.4-11 1.5-22.9 11.7-28.2c20-10.6 33.5-31.6 33.5-55.7s-13.5-45.1-33.5-55.7c-10.2-5.4-15.1-17.2-11.7-28.2c6.6-21.6 1.4-46.1-15.7-63.1S361.6 86.6 340 93.2c-11 3.4-22.9-1.5-28.3-11.7C301.1 61.5 280.1 48 256 48zm-88.1-4.6C188.2 17 220.1 0 256 0s67.8 17 88.1 43.4c33-4.3 67.6 6.2 93 31.6s35.9 60 31.6 93C495 188.2 512 220.1 512 256s-17 67.8-43.4 88.1c4.3 33-6.2 67.6-31.6 93s-60 35.9-93 31.6C323.8 495 291.9 512 256 512s-67.8-17-88.1-43.4c-33 4.3-67.6-6.2-93-31.6s-35.9-60-31.6-93C17 323.8 0 291.9 0 256s17-67.8 43.4-88.1c-4.3-33 6.2-67.6 31.6-93s60-35.9 93-31.6z\"]\n};\nvar faMessagePen = {\n prefix: 'far',\n iconName: 'message-pen',\n icon: [512, 512, [\"comment-alt-edit\", \"message-edit\"], \"f4a4\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM340.8 123c-14.7-14.7-38.6-14.7-53.3 0L272.6 138l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 232.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 284c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 160.6l-71.9 71.9z\"]\n};\nvar faCommentAltEdit = faMessagePen;\nvar faMessageEdit = faMessagePen;\nvar faBellConcierge = {\n prefix: 'far',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368H80c0-97.2 78.8-176 176-176s176 78.8 176 176h48c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'far',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M13.4 439l23-78.1c4.2-14.1 11.8-27 22.2-37.4L362.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c3.1 3.1 5.9 6.5 8.2 10c16.4 24.8 13.7 58.6-8.2 80.5L188.5 453.4c-1.3 1.3-2.6 2.6-4 3.8c-9.6 8.5-21 14.8-33.4 18.4L73 498.6 30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L13.4 439zm62.2-41.2L59.4 452.6l54.8-16.1 23.4-6.9c6.4-1.9 12.3-5.4 17-10.1L383 191 321 129 92.5 357.4c-.6 .6-1.2 1.2-1.7 1.8c-3.9 4.4-6.7 9.6-8.4 15.2l-6.9 23.4zM173.3 27.3l65.2 65.2-33.9 33.9-26.2-26.2-23 23c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l23-23L139.3 61.3c-6.2-6.2-16.4-6.2-22.6 0L61.3 116.7c-6.2 6.2-6.2 16.4 0 22.6l65.2 65.2L92.5 238.5 27.3 173.3c-25-25-25-65.5 0-90.5L82.7 27.3c25-25 65.5-25 90.5 0zM372.7 450.7c6.2 6.2 16.4 6.2 22.6 0l55.4-55.4c6.2-6.2 6.2-16.4 0-22.6l-16.4-16.4-23 23c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l23-23-26.2-26.2 33.9-33.9 65.2 65.2c25 25 25 65.5 0 90.5l-55.4 55.4c-25 25-65.5 25-90.5 0l-65.2-65.2 33.9-33.9 65.2 65.2z\"]\n};\nvar faPencilRuler = faPenRuler;\nvar faArrowProgress = {\n prefix: 'far',\n iconName: 'arrow-progress',\n icon: [512, 512, [], \"e5df\", \"M472 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 384 64zM0 160C0 93.7 53.7 40 120 40H256V17.9C256 8 264 0 273.9 0c4 0 7.8 1.3 11 3.8l60.8 47.3c4 3.1 6.3 7.9 6.3 12.9s-2.3 9.8-6.3 12.9l-60.8 47.3c-3.1 2.4-7 3.8-11 3.8c-9.9 0-17.9-8-17.9-17.9V88H120c-39.8 0-72 32.2-72 72s32.2 72 72 72H392c66.3 0 120 53.7 120 120c0 59.5-43.3 108.8-100 118.3c-9.1 24.3-32.5 41.7-60 41.7c-35.3 0-64-28.7-64-64s28.7-64 64-64c25.9 0 48.3 15.4 58.3 37.6c30.9-8.1 53.7-36.2 53.7-69.6c0-39.8-32.2-72-72-72H120C53.7 280 0 226.3 0 160zM123.3 424H160V401.9c0-9.9 8-17.9 17.9-17.9c4 0 7.8 1.3 11 3.8l60.8 47.3c4 3.1 6.3 7.9 6.3 12.9s-2.3 9.8-6.3 12.9l-60.8 47.3c-3.1 2.4-7 3.8-11 3.8c-9.9 0-17.9-8-17.9-17.9V472H123.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40zM88 448a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm264 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faChessRookPiece = {\n prefix: 'far',\n iconName: 'chess-rook-piece',\n icon: [320, 512, [\"chess-rook-alt\"], \"f448\", \"M16 120c0-13.3 10.7-24 24-24H280c13.3 0 24 10.7 24 24V224c0 5.6-2 11.1-5.6 15.4l-33.9 40.7 4.2 71.9H220.7L216 273.4c-.4-6.1 1.6-12.1 5.5-16.8L256 215.3V144H216v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V144H136v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V144H64v71.3l34.4 41.3c3.9 4.7 5.9 10.7 5.5 16.8L99.3 352H51.3l4.2-71.9L21.6 239.4C18 235.1 16 229.6 16 224V120zM136 280.9V248c0-13.3 10.7-24 24-24s24 10.7 24 24v32.9c0 3.9-3.2 7.1-7.1 7.1H143.1c-3.9 0-7.1-3.2-7.1-7.1zM52.7 464H267.3l-16.6-32H69.2L52.7 464zm207.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h201z\"]\n};\nvar faChessRookAlt = faChessRookPiece;\nvar faSquareRoot = {\n prefix: 'far',\n iconName: 'square-root',\n icon: [576, 512, [8730], \"f697\", \"M344.3 80c-3.6 0-6.7 2.4-7.7 5.8L231.1 462.5c-2.6 9.4-10.7 16.3-20.5 17.4s-19.1-3.9-23.8-12.5L83.9 276.2c-1.4-2.6-4.1-4.2-7-4.2H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H76.9c20.6 0 39.5 11.3 49.3 29.5l74.7 138.8L290.3 72.9C297.1 48.7 319.2 32 344.3 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H344.3z\"]\n};\nvar faAlbumCollectionCirclePlus = {\n prefix: 'far',\n iconName: 'album-collection-circle-plus',\n icon: [640, 512, [], \"e48e\", \"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM6.2 232.3C1.1 194 30.9 160 69.6 160H442.4c23.9 0 44.4 13 55.4 32l-1.8 0c-26.2 0-51.1 5.7-73.4 16H69.6c-9.7 0-17.1 8.5-15.9 18.1l29.5 224c1 8 7.8 13.9 15.9 13.9H348.5c12.3 18.8 28 35.1 46.3 48H99.1c-32.1 0-59.3-23.8-63.5-55.7L6.2 232.3zM256 232c38.9 0 74.2 11.1 100.1 29.2C333.4 290.8 320 327.8 320 368c0 20.1 3.4 39.4 9.6 57.4C308 434.7 282.9 440 256 440c-79.5 0-144-46.6-144-104s64.5-104 144-104zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24zM256 368c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faPeopleArrows = {\n prefix: 'far',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h40c0 14.3 5.5 28.7 16.4 39.6L192 391.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c27 0 51 13.4 65.5 34.1c-2.6 1.8-5.2 4-7.5 6.3l-28.1 28.1c-4.6-12.1-16.3-20.5-29.9-20.5H105.6zM448 488V391.2l47.6-47.6C506.5 332.7 512 318.3 512 304h40 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C564.9 220.8 551 208 534.4 208H489.6c-13.5 0-25.2 8.4-29.9 20.5l-28.1-28.1c-2.4-2.4-4.9-4.5-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H496V488c0 13.3-10.7 24-24 24s-24-10.7-24-24zm0-424a64 64 0 1 1 128 0A64 64 0 1 1 448 64zM265 257l-23 23H398.1l-23-23c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23H241.9l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faFaceAngryHorns = {\n prefix: 'far',\n iconName: 'face-angry-horns',\n icon: [640, 512, [], \"e368\", \"M320 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zm72.4-102.5c9.7-9 10.2-24.2 1.2-33.9C379.3 360.3 354.6 344 320 344s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM240.4 288c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMarsAndVenusBurst = {\n prefix: 'far',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M520 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h38.1l-54.2 54.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59 146.6 136 158.2V416H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v24c0 13.3 10.7 24 24 24s24-10.7 24-24V464h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H424V382.2c77-11.6 136-78 136-158.2c0-31.4-9-60.7-24.7-85.4L592 81.9V112c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H520zM288 224a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zM176 8c-8.9 0-17 4.9-21.2 12.7L124.7 77.5 61.6 65.6c-8.7-1.6-17.6 1.7-23.2 8.6s-6.8 16.4-3.3 24.5l25.6 58.9-48.6 42c-6.7 5.8-9.7 14.8-7.7 23.5s8.6 15.5 17.1 17.8l62 16.7 2.5 64.2c.3 8.9 5.6 16.8 13.6 20.7s17.5 3 24.6-2.3l51.7-38 51.7 38c6.4 4.7 14.7 5.9 22.1 3.3c-16.9-21.2-29.4-46.1-36.2-73.3l-23.4-17.2c-8.5-6.2-20-6.2-28.4 0l-29.5 21.7-1.4-36.6c-.4-10.5-7.6-19.5-17.7-22.2l-35.4-9.6 27.7-24c7.9-6.9 10.5-18.1 6.3-27.7L97.2 121.1l36 6.7c10.3 1.9 20.7-3.1 25.6-12.3L176 83.2l17.2 32.4c4.9 9.3 15.3 14.3 25.6 12.3l16.8-3.1c14.3-23.6 33.4-43.8 56.1-59.3c-.4 .1-.9 .1-1.3 .2L227.3 77.5 197.2 20.7C193 12.9 184.9 8 176 8z\"]\n};\nvar faTombstone = {\n prefix: 'far',\n iconName: 'tombstone',\n icon: [448, 512, [], \"f720\", \"M368 432V192c0-79.5-64.5-144-144-144S80 112.5 80 192V432H32V192C32 86 118 0 224 0S416 86 416 192V432H368zM0 488c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM248 152v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSquareCaretRight = {\n prefix: 'far',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'far',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M506.4 439.4c-8.5 10.2-23.7 11.5-33.8 3L312.4 308.2l37.4-31.3L503.4 405.6c10.2 8.5 11.5 23.7 3 33.8zM112 48a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0-48c61.9 0 112 50.1 112 112c0 17.9-4.2 34.8-11.6 49.8l75.1 62.9L472.6 69.6c10.2-8.5 25.3-7.2 33.8 3s7.2 25.3-3 33.8l-291 243.8c7.4 15 11.6 31.9 11.6 49.8c0 61.9-50.1 112-112 112S0 461.9 0 400s50.1-112 112-112c26.6 0 51.1 9.3 70.3 24.8L250.1 256l-67.8-56.8C163.1 214.7 138.6 224 112 224C50.1 224 0 173.9 0 112S50.1 0 112 0zm64 400A64 64 0 1 0 48 400a64 64 0 1 0 128 0z\"]\n};\nvar faCut = faScissors;\nvar faListMusic = {\n prefix: 'far',\n iconName: 'list-music',\n icon: [512, 512, [], \"f8c9\", \"M481.1 0C498.2 0 512 13.8 512 30.9V136c0 10.4-6.7 19.6-16.6 22.8L384 194.7V432c0 44.2-50.1 80-112 80s-112-35.8-112-80s50.1-80 112-80c23.8 0 45.9 5.3 64 14.3V64c0-10.3 6.6-19.5 16.4-22.8L471.4 1.6c3.1-1 6.4-1.6 9.8-1.6zM323.3 414.5c-11.2-8-29.2-14.5-51.3-14.5s-40.1 6.5-51.3 14.5C209.4 422.6 208 429.4 208 432s1.4 9.4 12.7 17.5c11.2 8 29.2 14.5 51.3 14.5s40.1-6.5 51.3-14.5c11.3-8.1 12.7-14.9 12.7-17.5s-1.4-9.4-12.7-17.5zM384 144.3l80-25.8V54.6L384 81.3v63zM24 48H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 96 0 85.3 0 72S10.7 48 24 48zm0 128H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSunPlantWilt = {\n prefix: 'far',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160-.2c-8.4 0-16.2 4.4-20.5 11.6L115.2 51.7 69.6 40.4c-8.2-2-16.8 .4-22.7 6.3s-8.3 14.6-6.3 22.7l11.3 45.6L11.6 139.4C4.4 143.7 0 151.5 0 159.9s4.4 16.2 11.6 20.5l40.2 24.3L40.5 250.4c-2 8.2 .4 16.8 6.3 22.7s14.6 8.3 22.7 6.3l45.6-11.3 24.3 40.2c4.3 7.2 12.1 11.6 20.5 11.6s16.2-4.4 20.5-11.6l24.3-40.2 45.6 11.3c8.2 2 16.8-.4 22.7-6.3s8.3-14.6 6.3-22.7l-11.3-45.6 40.2-24.3c7.2-4.3 11.6-12.1 11.6-20.5s-4.4-16.2-11.6-20.5l-40.2-24.3 11.3-45.6c2-8.2-.4-16.8-6.3-22.7s-14.6-8.3-22.7-6.3L204.9 51.7 180.6 11.4C176.2 4.2 168.5-.2 160-.2zm0 70.4l12.9 21.3c5.4 9 16.1 13.4 26.3 10.9l24.2-6-6 24.2c-2.5 10.2 1.9 20.9 10.9 26.3l21.3 12.9-21.3 12.9c-9 5.4-13.4 16.1-10.9 26.3l6 24.2-24.2-6c-10.2-2.5-20.9 1.9-26.3 10.9L160 249.6l-12.9-21.3c-5.4-9-16.1-13.4-26.3-10.9l-24.2 6 6-24.2c2.5-10.2-1.9-20.9-10.9-26.3L70.4 159.9 91.8 147c9-5.4 13.4-16.1 10.9-26.3l-6-24.2 24.2 6c10.2 2.5 20.9-1.9 26.3-10.9L160 70.3zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274c0-21.5-9.2-37-24-44.6V176c0-44.2-35.8-80-80-80s-80 35.8-80 80v22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80v21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338c0-21.5-9.2-37-24-44.6V272c0-17.7 14.3-32 32-32s32 14.3 32 32v8V464L24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0V280v-8V176z\"]\n};\nvar faToiletsPortable = {\n prefix: 'far',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M72 48H184c13.3 0 24 10.7 24 24V96H48V72c0-13.3 10.7-24 24-24zM48 432V144H208v80H184c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h24V432H48zm0 56v-8H208v8c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-39.8-32.2-72-72-72H72C32.2 0 0 32.2 0 72V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM392 48H504c13.3 0 24 10.7 24 24V96H368V72c0-13.3 10.7-24 24-24zM368 432V144H528v80H504c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h24V432H368zm0 56v-8H528v8c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-39.8-32.2-72-72-72H392c-39.8 0-72 32.2-72 72V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faHockeyPuck = {\n prefix: 'far',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M48 184c0 4.8 2.3 11.7 11 20.2c8.8 8.6 22.8 17.5 42.1 25.5C139.6 245.6 194.3 256 256 256s116.4-10.4 154.9-26.3c19.3-8 33.3-16.9 42.1-25.5c8.7-8.6 11-15.4 11-20.2s-2.3-11.7-11-20.2c-8.8-8.6-22.8-17.5-42.1-25.5C372.4 122.4 317.7 112 256 112s-116.4 10.4-154.9 26.3c-19.3 8-33.3 16.9-42.1 25.5c-8.7 8.6-11 15.4-11 20.2zM0 184c0-21.7 10.7-40.1 25.4-54.5c14.7-14.3 34.6-26.1 57.3-35.5C128.3 75.1 189.6 64 256 64s127.7 11.1 173.2 29.9c22.7 9.4 42.7 21.2 57.3 35.5C501.3 143.9 512 162.3 512 184V328c0 21.7-10.7 40.1-25.4 54.5c-14.6 14.3-34.6 26.1-57.3 35.5C383.7 436.9 322.4 448 256 448s-127.7-11.1-173.2-29.9c-22.7-9.4-42.7-21.2-57.3-35.5C10.7 368.1 0 349.7 0 328V184zm464 72.2c-10.5 6.7-22.2 12.6-34.8 17.9C383.7 292.9 322.4 304 256 304s-127.7-11.1-173.2-29.9c-12.6-5.2-24.3-11.1-34.8-17.9V328c0 4.8 2.3 11.7 11 20.2c8.8 8.6 22.8 17.5 42.1 25.5C139.6 389.6 194.3 400 256 400s116.4-10.4 154.9-26.3c19.3-8 33.3-16.9 42.1-25.5c8.7-8.6 11-15.4 11-20.2V256.2z\"]\n};\nvar faMustache = {\n prefix: 'far',\n iconName: 'mustache',\n icon: [640, 512, [], \"e5bc\", \"M233.4 112c-32.9 0-64.4 13.1-87.7 36.3c-28.5 28.5-74.2 29.8-104.3 3.1l-1.5-1.3c-2.7-2.4-5.8-4.1-9-5c-1.3-.4-2.7-.7-4.1-.9c-1.1-.1-2.2-.2-3.3-.2c-3.6 .1-7 .9-10.1 2.4c-2.2 1-4.2 2.4-6 4.2C2.9 154.9 0 161.1 0 168v34C0 311.4 88.6 400 198 400c42.8 0 84.5-13.9 118.8-39.6L320 358l3.2 2.4c34.3 25.7 76 39.6 118.8 39.6c109.4 0 198-88.6 198-198V168c0-6.9-2.9-13.1-7.5-17.4c-4.2-4-9.8-6.5-16.1-6.6c-.4 0-.9 0-1.3 0c-2.4 .1-4.8 .5-7.1 1.3c-2.9 1-5.6 2.6-8 4.7l-1.5 1.3c-30.1 26.7-75.8 25.4-104.3-3.1C471 125.1 439.5 112 406.6 112h-1.2c-29.7 0-58.5 10.4-81.3 29.5l-4 3.3-4-3.3c-22.8-19-51.6-29.5-81.3-29.5h-1.2zm358.3 98.7C587.3 289.5 521.9 352 442 352c-32.5 0-64-10.5-90-30l-17.6-13.2c-8.5-6.4-20.3-6.4-28.8 0L288 322c-26 19.5-57.5 30-90 30c-79.9 0-145.3-62.5-149.8-141.3c44.3 16.7 96 7 131.4-28.4C193.9 168 213.3 160 233.4 160h1.2c18.5 0 36.4 6.5 50.6 18.3l19.3 16.1c8.9 7.4 21.8 7.4 30.7 0l19.3-16.1c14.2-11.8 32.1-18.3 50.6-18.3h1.2c20.2 0 39.5 8 53.8 22.3c35.4 35.4 87.1 45.1 131.4 28.4z\"]\n};\nvar faHyphen = {\n prefix: 'far',\n iconName: 'hyphen',\n icon: [320, 512, [], \"2d\", \"M0 256c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faTable = {\n prefix: 'far',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M48 264V160H232V264H48zm0 48H232V432H64c-8.8 0-16-7.2-16-16V312zM280 432V312H464V416c0 8.8-7.2 16-16 16H280zM464 264H280V160H464V264zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faUserChef = {\n prefix: 'far',\n iconName: 'user-chef',\n icon: [448, 512, [], \"e3d2\", \"M384 48c0 20.9-13.4 38.7-32 45.3V112v64c0 70.7-57.3 128-128 128s-128-57.3-128-128V112 93.3C77.4 86.7 64 68.9 64 48C64 21.5 85.5 0 112 0c14.3 0 27.2 6.3 36 16.3C156.8 6.3 169.7 0 184 0c16.7 0 31.4 8.5 40 21.5C232.6 8.5 247.3 0 264 0c14.3 0 27.2 6.3 36 16.3C308.8 6.3 321.7 0 336 0c26.5 0 48 21.5 48 48zM304 176V160H144v16c0 44.2 35.8 80 80 80s80-35.8 80-80zM169.4 438c-5.7 2.6-9.4 8.3-9.4 14.6V464H397.1c-7.7-28.9-30.1-51.9-58.8-60.4L304 393.4V379.1l-13.1 3.8L169.4 438zM128 452.6c0-18.8 11-35.9 28.1-43.7l35.6-16.2L144 379.1v14.3l-34.3 10.2c-28.6 8.5-51 31.5-58.8 60.4H128V452.6zM0 486.4c0-60.9 40.5-112.3 96-128.8V334c0-7.8 6.3-14 14-14c1.3 0 2.6 .2 3.9 .5L224 352l110.1-31.5c1.3-.4 2.6-.5 3.9-.5c7.8 0 14 6.3 14 14v23.5c55.5 16.5 96 68 96 128.8c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4zM272 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMessageImage = {\n prefix: 'far',\n iconName: 'message-image',\n icon: [512, 512, [\"comment-alt-image\"], \"e1e0\", \"M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h96zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V474.7v-6.4V468v-4V416H112 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L208 492zm88-348c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H256 208 160c-6.1 0-11.6-3.4-14.3-8.8s-2.1-11.9 1.5-16.8l48-64c3-4 7.8-6.4 12.8-6.4s9.8 2.4 12.8 6.4l9.6 12.8 52.4-76.3c3-4.3 7.9-6.9 13.2-6.9zM176 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCommentAltImage = faMessageImage;\nvar faUsersMedical = {\n prefix: 'far',\n iconName: 'users-medical',\n icon: [640, 512, [], \"f830\", \"M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H605.3c-6.6-18.6-24.4-32-45.3-32H528c-20.9 0-38.7 13.4-45.3 32H405.3zm-26.7 32c19.3 0 37.6 4.1 54.2 11.5C422.5 372.3 416 385.4 416 400v8.6c-11.3-5.5-23.9-8.6-37.3-8.6H261.3c-39.8 0-73.2 27.2-82.6 64H428.2c8.8 9.8 21.6 16 35.8 16h16v16c0 5.6 1 11 2.7 16H154.7c-14.7 0-26.7-11.9-26.7-26.7C128 411.7 187.7 352 261.3 352H378.7zM320 272a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM512 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H576v48c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V448H464c-8.8 0-16-7.2-16-16V400c0-8.8 7.2-16 16-16h48V336z\"]\n};\nvar faSensorTriangleExclamation = {\n prefix: 'far',\n iconName: 'sensor-triangle-exclamation',\n icon: [640, 512, [\"sensor-alert\"], \"e029\", \"M64 80H384c8.8 0 16 7.2 16 16v49.9c13.1-11.4 30.1-17.9 48-17.9V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H225c-.6-4-1-8.1-1-12.3c0-12.5 3-24.7 8.9-35.7H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm80 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm21.8 293.8c-3.8 6.7-5.8 14.2-5.8 21.9c0 24.5 19.8 44.3 44.3 44.3H595.7c24.5 0 44.3-19.8 44.3-44.3c0-7.7-2-15.2-5.8-21.9l-150.4-265C476.5 168 462.8 160 448 160s-28.5 8-35.8 20.9l-150.4 265zM464 272v88c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8 7.2-16 16-16s16 7.2 16 16zM448 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSensorAlert = faSensorTriangleExclamation;\nvar faMagnifyingGlassArrowRight = {\n prefix: 'far',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm33-289c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l23 23H128c-13.3 0-24 10.7-24 24s10.7 24 24 24H230.1l-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faTachographDigital = {\n prefix: 'far',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm112 16H336c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32zM80 352c0-8.8 7.2-16 16-16H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H544c8.8 0 16 7.2 16 16s-7.2 16-16 16H416c-8.8 0-16-7.2-16-16zM96 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faFaceMask = {\n prefix: 'far',\n iconName: 'face-mask',\n icon: [576, 512, [], \"e37f\", \"M128 388.9c-27.6-33.2-45.1-75.1-47.7-121l50.1 26.7c-1.6 5.5-2.4 11.4-2.4 17.4v76.9zM36.4 208.6c-7.1-2-14.9 1.1-18.5 7.9c-4.2 7.8-1.2 17.5 6.6 21.6l7.9 4.2c-.2 4.5-.4 9.1-.4 13.7c0 141.4 114.6 256 256 256s256-114.6 256-256c0-4.6-.1-9.1-.4-13.7l7.9-4.2c7.8-4.2 10.7-13.8 6.6-21.6c-3.6-6.8-11.4-9.9-18.5-7.9C517.4 89.9 413.2 0 288 0S58.6 89.9 36.4 208.6zm45 23.6C93.2 128.5 181.2 48 288 48s194.8 80.5 206.7 184.2L429.5 267c-11.6-11.7-27.7-19-45.5-19H192c-17.8 0-33.9 7.2-45.5 19L81.3 232.2zm414.3 35.7c-2.6 45.9-20.1 87.8-47.7 121V312c0-6-.8-11.9-2.4-17.4l50.1-26.7zM170.4 207.4c4.8-5.7 26.7-23.4 61.6-23.4c13.3 0 24-10.7 24-24s-10.7-24-24-24c-50.4 0-85.4 25-98.4 40.6c-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.1 33.8-3.1zM176 312c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16v8H176v-8zm0 40H400v32H176V352zm0 64H400c0 13.3-10.7 24-24 24H288 200c-13.3 0-24-10.7-24-24zM344 184c36.4 0 58.7 15.3 63 19.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-13.5-13.5-48.1-33.7-97-33.7c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faPickleball = {\n prefix: 'far',\n iconName: 'pickleball',\n icon: [576, 512, [], \"e435\", \"M284.3 61.9c18.8-18.7 49.2-18.7 68 0L465.9 175.2c14.8 14.8 17.9 36.9 9.3 54.7c15.7 4.4 30.4 11.1 43.8 19.8c16.6-35.5 10.3-79.1-19.1-108.4L386.3 28C348.8-9.4 287.9-9.4 250.4 28L92.5 185.5c-22.9 22.9-29.8 57.3-17.3 87.2l18.3 43.8c5 12 2.2 25.7-6.9 34.9L34.8 402.9c-25 24.9-25 65.4 0 90.4s65.6 25 90.7 0l52-51.8c9.1-9.1 22.9-11.8 34.8-7l42.5 17.4c11.4 4.7 23.4 6.6 35.2 5.8c-8-15.3-13.6-32.1-16.2-49.9c-.3-.1-.5-.2-.8-.3l-42.5-17.4c-29.9-12.2-64.2-5.4-87.1 17.4l-52 51.8c-6.3 6.2-16.4 6.2-22.7 0c-6.3-6.2-6.2-16.3 0-22.6l51.7-51.5c23-22.9 29.8-57.3 17.3-87.2l-18.3-43.8c-4.5-10.9-2.7-23.3 4.6-32.3l148.4 148c1.7-19 6.6-37 14.3-53.5L158 187.9l126.3-126zM560 384a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM368 368a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm48 112a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm32-96a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm64 32a16 16 0 1 1 0-32 16 16 0 1 1 0 32zM464 304a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z\"]\n};\nvar faStarSharpHalf = {\n prefix: 'far',\n iconName: 'star-sharp-half',\n icon: [576, 512, [], \"e28c\", \"M291.7 .3C303.4 2.1 312 12.2 312 24V376c0 7.4-3.4 14.4-9.3 18.9l-144 112c-8.3 6.5-19.8 6.8-28.5 .7s-12.3-16.9-9.1-27l50.9-160.1L41.3 218.9c-8.1-6.3-11.3-17-8-26.7S45.7 176 56 176H214.5L265.1 16.7C268.7 5.4 280-1.5 291.7 .3zM264 178.6l-9.1 28.7c-3.2 10-12.4 16.7-22.9 16.7H126l88.8 69.1c7.9 6.2 11.2 16.6 8.1 26.2L190.3 421.6 264 364.3V178.6z\"]\n};\nvar faUsersSlash = {\n prefix: 'far',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM281.5 195.3c8.8-11.7 22.7-19.3 38.5-19.3c26.5 0 48 21.5 48 48c0 11.6-4.1 22.2-11 30.5l-75.5-59.2zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192H106.7zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c10.5 0 19.5-6 23.9-14.8l-49.7-39.1c.7 1.9 1.2 3.9 1.8 5.9H178.7c9.5-36.8 42.9-64 82.6-64H378.7c2.6 0 5.1 .1 7.6 .3L324.9 352H261.3zM512 160A80 80 0 1 0 512 0a80 80 0 1 0 0 160z\"]\n};\nvar faClover = {\n prefix: 'far',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M174.4 80c-14.4 0-26 11.7-26 26c0 6.6 1.7 13.2 5 18.9l35.6 63.2c5.3 9.4 3.7 21.1-3.9 28.8s-19.4 9.2-28.8 3.9L93 185.3c-5.8-3.3-12.3-5-18.9-5c-14.4 0-26 11.7-26 26V209c0 7.6 3 14.9 8.4 20.3l9.8 9.8c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-9.8 9.8C51 288.2 48 295.4 48 303v2.6c0 14.4 11.7 26 26 26c6.6 0 13.2-1.7 18.9-5l63.2-35.6c9.4-5.3 21.1-3.7 28.8 3.9s9.2 19.4 3.9 28.8L153.3 387c-3.3 5.8-5 12.3-5 18.9c0 14.4 11.7 26 26 26H177c7.6 0 14.9-3 20.3-8.4l9.8-9.8c4.5-4.5 10.6-7 17-7s12.5 2.5 17 7l9.8 9.8c5.4 5.4 12.7 8.4 20.3 8.4h2.6c14.4 0 26-11.7 26-26c0-6.6-1.7-13.2-5-18.9l-35.6-63.2c-5.3-9.4-3.7-21.1 3.9-28.8s19.4-9.2 28.8-3.9L355 326.7c5.8 3.3 12.3 5 18.9 5c14.4 0 26-11.7 26-26V303c0-7.6-3-14.9-8.4-20.3l-9.8-9.8c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l9.8-9.8c5.4-5.4 8.4-12.7 8.4-20.3v-2.8c0-14.3-11.6-25.9-25.9-25.9c-6.7 0-13.3 1.7-19.1 5.1l-61.9 35.5c-9.3 5.3-21.1 3.8-28.7-3.7s-9.4-19.2-4.2-28.7l34.7-63.4c3.1-5.7 4.8-12.2 4.8-18.7c0-14.6-11.8-26.4-26.4-26.4H271c-7.6 0-14.9 3-20.3 8.4L241 98.2c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-9.8-9.8C191.8 83 184.6 80 177 80h-2.6zm-74 26c0-40.9 33.2-74 74-74H177c17.1 0 33.7 5.7 47 16.1C237.4 37.7 253.9 32 271 32h2.3c41.1 0 74.4 33.3 74.4 74.4c0 11.1-2.1 22.1-6.3 32.4c10.3-4.2 21.4-6.4 32.7-6.4c40.8 0 73.9 33.1 73.9 73.9V209c0 17.1-5.7 33.7-16.1 47c10.4 13.4 16.1 29.9 16.1 47v2.6c0 40.9-33.2 74-74 74c-11.2 0-22.3-2.2-32.7-6.4c4.2 10.3 6.4 21.4 6.4 32.7c0 40.9-33.2 74-74 74H271c-17.1 0-33.7-5.7-47-16.1c-13.4 10.4-29.9 16.1-47 16.1h-2.6c-40.9 0-74-33.2-74-74c0-11.2 2.2-22.3 6.4-32.7c-10.3 4.2-21.4 6.4-32.7 6.4c-40.9 0-74-33.2-74-74V303c0-17.1 5.7-33.7 16.1-47C5.7 242.6 0 226.1 0 209v-2.6c0-40.9 33.2-74 74-74c11.2 0 22.3 2.2 32.7 6.4c-4.2-10.3-6.4-21.4-6.4-32.7z\"]\n};\nvar faMeat = {\n prefix: 'far',\n iconName: 'meat',\n icon: [512, 512, [127830], \"f814\", \"M443.2 138.7c8.1 13.4 13.9 26.9 17.3 39.8c.5 1.9 .9 3.8 1.3 5.7c2.4 11.6 2.8 22.5 .9 32.1c-1.9 10.1-6.2 18.8-13 25.6l-.2 .2c-29 28.7-92.5 11.9-142-37.6C258 154.8 241.2 91.1 270.2 62.2c1.8-1.8 3.7-3.4 5.8-4.8c.7-.5 1.3-.9 2-1.3c3-1.9 6.3-3.5 9.8-4.7c.6-.2 1.2-.4 1.9-.6c32.7-10.1 82.4 8.5 122.8 48.9c12.4 12.4 22.8 25.7 30.8 39.1zM388.8 302.1C363 323.9 330.1 336 296 336H208c-17.7 0-32-14.3-32-32V216c0-34.1 12.1-67 33.9-92.8c.8 5 1.9 9.9 3.1 14.6c9.3 35.3 30.9 70.9 60.6 100.6s65.3 51.4 100.6 60.6c4.7 1.2 9.6 2.3 14.6 3.1zM212.6 384H296c50.9 0 99.8-20.2 135.8-56.2L483.5 276c.1-.1 .2-.2 .3-.3c23.7-23.7 29.9-54.3 27.8-82.5c-.7-9.4-2.3-18.5-4.6-27c-5.8-22-16.4-44.1-30.7-64.8c-8.7-12.5-18.7-24.6-30-35.8C416.6 35.9 381.1 14.3 345.8 5c-34-8.9-78-8.3-109.5 23.2l-52 52c-36 36-56.2 84.8-56.2 135.8v83.4c0 7.1-2.8 13.9-7.8 18.9c-10.3 10.3-26.9 9.7-40.7 5C73.4 321.1 66.8 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-6.8-1.1-13.4-3.2-19.5c-4.7-13.8-5.3-30.4 5-40.7c5-5 11.8-7.8 18.9-7.8zm175-204.4c8.9-8.9 3.8-28.5-11.5-43.8s-34.9-20.4-43.8-11.5s-3.8 28.5 11.5 43.8s34.9 20.4 43.8 11.5z\"]\n};\nvar faReply = {\n prefix: 'far',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M224 240h96c66.2 0 122 44.7 138.8 105.5c3.3-12.4 5.2-26.2 5.2-41.5c0-70.7-57.3-128-128-128H224 200c-13.3 0-24-10.7-24-24V128 99.9L55.9 208 176 316.1V288 264c0-13.3 10.7-24 24-24h24zm0 48v48 16c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4s19 16.6 19 29.2V80v48h48 64c97.2 0 176 78.8 176 176c0 78-38.6 126.2-68.7 152.1c-4.1 3.5-8.1 6.6-11.7 9.3c-3.2 2.4-6.2 4.4-8.9 6.2c-4.5 3-8.3 5.1-10.8 6.5c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-6.8 3.6-13.2 8.3-18.1c.5-.5 .9-.9 1.4-1.4c2.4-2.3 5.1-5.1 7.7-8.6c1.7-2.3 3.4-5 5-7.9c5.3-9.7 9.5-22.9 9.5-40.2c0-53-43-96-96-96H272 224z\"]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'far',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M40 256c0 95.9 62.5 177.2 149 205.4C123.2 416.8 80 341.4 80 256s43.2-160.8 109-205.4C102.5 78.8 40 160.1 40 256zM256 0c22.2 0 43.7 2.8 64.2 8.1c2.6 .7 5.2 1.4 7.8 2.1c1.4 .4 2.8 .8 4.2 1.3c4.3 1.3 8.5 2.8 12.7 4.3c1.6 .6 3.1 1.2 4.7 1.8c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-1.7-.1-3.4-.2-5-.3c-3.2-.1-6.4-.2-9.6-.2c-.9 0-1.7 0-2.6 0c-3.2 0-6.5 .2-9.7 .3C206.6 54.7 120 145.2 120 256s86.6 201.3 195.7 207.6c3.2 .2 6.4 .3 9.7 .3c.9 0 1.7 0 2.6 0c3.2 0 6.4-.1 9.6-.2c1.7-.1 3.4-.2 5-.3c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4c-1.6 .6-3.1 1.2-4.7 1.8c-4.2 1.6-8.4 3-12.7 4.3c-1.4 .4-2.8 .8-4.2 1.3c-2.6 .8-5.2 1.5-7.8 2.1c-20.5 5.3-42 8.1-64.2 8.1C114.6 512 0 397.4 0 256S114.6 0 256 0zM357.2 174.2l1.7-3.4 10.9-22.2 5.5-11.2c3.5-7.1 13.7-7.1 17.2 0l5.5 11.2 10.9 22.2 1.7 3.4 13.3 27c1.4 2.8 4.1 4.8 7.2 5.3l29.8 4.3 3.7 .5 24.5 3.6 12.4 1.8c7.9 1.1 11 10.8 5.3 16.4l-9 8.7-17.7 17.3-2.7 2.6-21.6 21c-2.3 2.2-3.3 5.4-2.8 8.5l5.1 29.7 .6 3.7 4.2 24.4 2.1 12.3c1.3 7.8-6.9 13.8-13.9 10.1l-11.1-5.8-21.9-11.5-3.3-1.7-26.6-14c-2.8-1.5-6.1-1.5-8.9 0l-26.6 14-3.3 1.7-21.9 11.5-11.1 5.8c-7 3.7-15.3-2.3-13.9-10.1l2.1-12.3 4.2-24.4 .6-3.7 5.1-29.7c.5-3.1-.5-6.3-2.8-8.5l-21.6-21-2.7-2.6-17.7-17.3-9-8.7c-5.7-5.6-2.6-15.2 5.3-16.4l12.4-1.8 24.5-3.6 3.7-.5 29.8-4.3c3.1-.5 5.8-2.4 7.2-5.3l13.3-27zm-7.7 78.6a36.3 36.3 0 1 0 69 22.4 36.3 36.3 0 1 0 -69-22.4z\"]\n};\nvar faEmptySet = {\n prefix: 'far',\n iconName: 'empty-set',\n icon: [512, 512, [8709, 216], \"f656\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L396.5 81.5C358.1 50.6 309.2 32 256 32C132.3 32 32 132.3 32 256c0 53.2 18.6 102.1 49.5 140.5L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.5-74.5c38.4 31 87.3 49.5 140.5 49.5c123.7 0 224-100.3 224-224c0-53.2-18.6-102.1-49.5-140.5L505 41zM362.3 115.7L115.7 362.3C93.3 332.8 80 295.9 80 256c0-97.2 78.8-176 176-176c39.9 0 76.8 13.3 106.3 35.7zM149.7 396.3L396.3 149.7C418.7 179.2 432 216.1 432 256c0 97.2-78.8 176-176 176c-39.9 0-76.8-13.3-106.3-35.7z\"]\n};\nvar faHouseFire = {\n prefix: 'far',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L447.9 128.2c-12.5-1.1-25.5 2.8-35.4 11.7c-4.1 3.6-8 7.3-12 11L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32h48V312c0-22.1 17.9-40 40-40h77c-7.7 15.7-13.8 32-17.4 48H240V464h84.8c13.5 18.8 30.3 35.1 49.6 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM453.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faSquareMinus = {\n prefix: 'far',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM152 232H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'far',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M128 24c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H384v80h8 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1c84 0 152 68.1 152 152v56c0 35.4-28.7 64-64 64h-.4-.4-.4-.4H510h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H503h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H498h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H493h-.4-.4-.4-.4-.4-.4-.4H490h-.4-.4-.4-.4-.4-.4-.4H487h-.4-.4-.4-.4-.4-.4-.4H484h-.4-.4-.4-.4-.4-.4-.4H481h-.4-.4-.4-.4-.4-.4-.4H478h-.4-.4-.4-.4-.4-.4-.4H475h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H471h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H467h-.4-.4-.4-.4-.4-.4-.4H464h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H460h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H456h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H451h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H447h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H442h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H438h-.4-.4H437h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H433h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H428h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H423h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H418h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H414h-.4-.4H413h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H409h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H405h-.4-.4H404h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H400h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H396h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H392h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H388h-.4-.4-.4-.4-.4-.4-.4H385h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H381h-.4-.4-.4-.4-.4-.4-.4H378h-.4-.4-.4-.4-.4-.4-.4H375h-.4-.4-.4-.4-.4-.4-.4H372h-.4-.4-.4-.4-.4-.4-.4H369h-.4-.4-.4-.4-.4-.4-.4H366h-.4-.4-.4-.4-.4-.4-.4H363h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H358h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H353h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H346h-.4-.4-.4-.4H344h-.4-.4-.4-.4H342h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H332h-.4-.4-.4-.4H330h-.4-.4-.4-.4H328h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H321h-.4c-17 0-33.3-6.7-45.3-18.7l-88.1-88.1c-.7-.7-1.5-1.3-2.4-1.7L61.4 236.7c-16.6-7.4-28.6-22.4-32.2-40.2L12.3 111.8C7.3 87.1 26.3 64 51.5 64h6C73.6 64 89 71 99.6 83.1L138.9 128H336V48H152c-13.3 0-24-10.7-24-24zM76.3 187.1c.5 2.5 2.2 4.7 4.6 5.7l123.4 54.9c6.3 2.8 12 6.7 16.9 11.6l88.1 88.1c3 3 7.1 4.7 11.3 4.7h.4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3V176H128c-6.9 0-13.5-3-18.1-8.2L63.5 114.7c-.6-.7-1.3-1.2-2-1.7l14.8 74zM384 352h.3 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4c8.8 0 16-7.2 16-16V280c0-57.4-46.5-104-104-104H424h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H423h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H422 422h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H421 421h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H420h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H419 419h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H418h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H417 417h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H416 416h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H415h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H414 414h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H413 413h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H412 412h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H411 411h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H410h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H409h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H408h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H407h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H406 406h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H405 405h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H404 404h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H403h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H402h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H401 401h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H400 400h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H399h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H398 398h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H397h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H396 396h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H395h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H394 394h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H393 393h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H392h-8V352zM631 474.7l-22.5 18c-15.6 12.5-35 19.3-55 19.3H248c-13.3 0-24-10.7-24-24s10.7-24 24-24H553.6c9.1 0 17.9-3.1 25-8.8l22.5-18c10.4-8.3 25.5-6.6 33.7 3.8s6.6 25.5-3.8 33.7z\"]\n};\nvar faBird = {\n prefix: 'far',\n iconName: 'bird',\n icon: [512, 512, [], \"e469\", \"M48.7 208H192c44.2 0 80-35.8 80-80V112c0-35.3 28.7-64 64-64s64 28.7 64 64v80c0 97.2-78.8 176-176 176c-91.8 0-167.2-70.3-175.3-160zM0 188.4V192C0 294.3 68.5 380.5 162.1 407.4l48.6 91.9c6.2 11.7 20.7 16.2 32.4 10s16.2-20.7 10-32.4L221 416c1 0 2 0 3 0c12.6 0 25-1 37.1-3.1l45.7 86.3c6.2 11.7 20.7 16.2 32.4 10s16.2-20.7 10-32.4l-40.9-77.2C390.3 366.3 448 285.9 448 192V175.5l56.2-33.7c4.8-2.9 7.8-8.1 7.8-13.7s-2.9-10.8-7.8-13.7l-61.7-37C427.9 32.4 385.7 0 336 0C274.1 0 224 50.1 224 112v16c0 17.7-14.3 32-32 32H28.4C12.7 160 0 172.7 0 188.4zM336 144a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'far',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faHeartHalfStroke = {\n prefix: 'far',\n iconName: 'heart-half-stroke',\n icon: [512, 512, [\"heart-half-alt\"], \"e1ac\", \"M223.3 465.9l2.5 2.3c8.2 7.6 19 11.9 30.2 11.9s22-4.2 30.2-11.9l2.5-2.3L463.9 303.2c30.7-28.5 48.1-68.5 48.1-110.4v-3.3c0-70.4-50-130.8-119.2-144C353.4 37.9 313.1 47 281 69.6l0 0c-4 2.8-7.8 5.8-11.5 9c-4.7 4.1-9.3 8.5-13.5 13.3c-7.5-8.4-15.9-15.9-25-22.3C198.9 47 158.6 37.9 119.2 45.4C50 58.6 0 119.1 0 189.5v3.3c0 41.9 17.4 81.9 48.1 110.4L223.3 465.9zM256 430.7L256 152c6.4 0 12.4-2.5 16.9-7c.4-.3 .7-.7 1-1.1l17.8-20 .1-.1 .1-.1c23.1-25.9 58-37.7 92-31.2c46.5 8.9 80.1 49.5 80.1 96.9v3.3c0 28.5-11.9 55.8-32.8 75.2L256 430.7z\"]\n};\nvar faHeartHalfAlt = faHeartHalfStroke;\nvar faFileCircleQuestion = {\n prefix: 'far',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faLaptopCode = {\n prefix: 'far',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M128 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V320h48V96c0-8.8 7.2-16 16-16zM50.7 400H589.3c-6.6 18.6-24.4 32-45.3 32H96c-20.9 0-38.7-13.4-45.3-32zM32 352c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H544c53 0 96-43 96-96c0-17.7-14.3-32-32-32H32zM281 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM393 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faJoystick = {\n prefix: 'far',\n iconName: 'joystick',\n icon: [448, 512, [128377], \"f8c5\", \"M224 48a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm24 173.4c50.3-11 88-55.8 88-109.4C336 50.1 285.9 0 224 0S112 50.1 112 112c0 53.6 37.7 98.4 88 109.4V320h48V221.4zM96 320c-17.7 0-32 14.3-32 32c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H128c0-17.7-14.3-32-32-32zm0 80H384c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V416c0-8.8 7.2-16 16-16H96z\"]\n};\nvar faGrillFire = {\n prefix: 'far',\n iconName: 'grill-fire',\n icon: [576, 512, [], \"e5a4\", \"M48 80V96c0 97.2 78.8 176 176 176c7.3 0 14.5-.4 21.6-1.3c-8 16.2-14.3 32.8-18.1 49.3c-1.2 0-2.4 0-3.6 0c-16.9 0-33.4-1.9-49.3-5.4L151.8 368h73c1.5 16.6 5.2 32.7 10.7 48H160c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c3.4 0 6.8 .3 10.1 .8L129.2 299C52.9 263.3 0 185.8 0 96V72C0 49.9 17.9 32 40 32H408c22.1 0 40 17.9 40 40V96c0 24.1-3.8 47.3-10.9 69.1c-8.5-8.6-17.2-17-26.2-25.1c-4.3-3.9-9.3-6.9-14.5-8.9C398.8 119.8 400 108 400 96V80H48zm72 336a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM389.5 163.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C576 440 504.7 512 416 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM466 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faRectangleVerticalHistory = {\n prefix: 'far',\n iconName: 'rectangle-vertical-history',\n icon: [576, 512, [], \"e237\", \"M256 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H256zM192 64c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64zM96 72c0-13.3 10.7-24 24-24s24 10.7 24 24V440c0 13.3-10.7 24-24 24s-24-10.7-24-24V72zM0 120c0-13.3 10.7-24 24-24s24 10.7 24 24V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V120z\"]\n};\nvar faSwatchbook = {\n prefix: 'far',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 400c0 61.9 50.1 112 112 112H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H385.9l50.7-50.7c25-25 25-65.5 0-90.5L365.3 75.3c-25-25-65.5-25-90.5 0L224 126.1V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V400zm448 64H209.9l128-128H448c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16zM402.7 203.3L224 382.1V193.9l84.7-84.7c6.2-6.2 16.4-6.2 22.6 0l71.4 71.4c6.2 6.2 6.2 16.4 0 22.6zM112 464c-35.3 0-64-28.7-64-64V304H176v96c0 35.3-28.7 64-64 64zM48 256V176H176v80H48zm0-128V64c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16v64H48zm64 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'far',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M48 48H336V80H48V48zM40 0C17.9 0 0 17.9 0 40V88c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V40c0-22.1-17.9-40-40-40H40zM32 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160H304V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V416h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V320h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V224h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V160H32z\"]\n};\nvar faBars = {\n prefix: 'far',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24z\"]\n};\nvar faNavicon = faBars;\nvar faKeyboardLeft = {\n prefix: 'far',\n iconName: 'keyboard-left',\n icon: [640, 512, [], \"e1c3\", \"M576 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H576zM224 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H224zm80 272v16c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zm48-104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H352zM248 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H264c-8.8 0-16 7.2-16 16zm16-96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H264zm72 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm96-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H432zm72 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H520c-8.8 0-16 7.2-16 16zm16 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H520zM416 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16zM121 193c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-63-63 63-63z\"]\n};\nvar faPeopleGroup = {\n prefix: 'far',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M128 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-16 32C50.1 160 0 210.1 0 272c0 44.7 26.2 83.2 64 101.2V416c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H112l0-16V336l0-128h32c12.6 0 24.3 3.6 34.2 9.9c7.9-14.2 18.1-26.9 30.2-37.6C190.2 167.5 168 160 144 160H112zM64 229.7v84.7C54 303.1 48 288.2 48 272s6-31.1 16-42.3zM496 208h32V336v48 16H496V384c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V373.2c37.8-18 64-56.5 64-101.2c0-61.9-50.1-112-112-112H496c-24 0-46.2 7.5-64.4 20.3c12 10.7 22.3 23.4 30.2 37.6c9.9-6.3 21.6-9.9 34.2-9.9zm96 64c0 16.2-6 31.1-16 42.3V229.7c10 11.3 16 26.1 16 42.3zM560 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 144a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm-16 32c-61.9 0-112 50.1-112 112c0 44.7 26.2 83.2 64 101.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V389.2c37.8-18 64-56.5 64-101.2c0-61.9-50.1-112-112-112H304zm0 224V352 224h32l0 128v48 32H304V400zm-48-69.7c-10-11.3-16-26.1-16-42.3s6-31.1 16-42.3v84.7zm128 0V245.7c10 11.3 16 26.1 16 42.3s-6 31.1-16 42.3z\"]\n};\nvar faHourglassEnd = {\n prefix: 'far',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M0 24C0 10.7 10.7 0 24 0H360c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V67c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445v19h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V445c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67V48H24C10.7 48 0 37.3 0 24zM273.5 140.5C293 121 304 94.6 304 67V48H80V67c0 27.6 11 54 30.5 73.5L192 222.1l81.5-81.5z\"]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'far',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M223.3 465.9l2.5 2.3c8.2 7.6 19 11.9 30.2 11.9s22-4.2 30.2-11.9l2.5-2.3L463.9 303.2c30.7-28.5 48.1-68.5 48.1-110.4v-3.3c0-70.4-50-130.8-119.2-144C353.4 37.9 313.1 47 281 69.6l0 0c-4 2.8-7.8 5.8-11.5 9c-4.7 4.1-9.3 8.5-13.5 13.3c-7.5-8.4-15.9-15.9-25-22.3C198.9 47 158.6 37.9 119.2 45.4C50 58.6 0 119.1 0 189.5v3.3c0 41.9 17.4 81.9 48.1 110.4L223.3 465.9zm6.6-331.1l-67.6 67.6c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-59.7-97L316 158.9c3.6-2.1 5-6.6 3.2-10.3l-16.6-35.1c22.4-18.5 52.2-26.4 81.3-20.9c46.5 8.9 80.1 49.5 80.1 96.9v3.3c0 28.5-11.9 55.8-32.8 75.2L256 430.7 80.8 268C59.9 248.6 48 221.3 48 192.8v-3.3c0-47.3 33.6-88 80.1-96.9c34-6.5 69 5.4 92 31.2l0 0 .1 .1 9.6 10.8z\"]\n};\nvar faHeartBroken = faHeartCrack;\nvar faFaceBeamHandOverMouth = {\n prefix: 'far',\n iconName: 'face-beam-hand-over-mouth',\n icon: [512, 512, [129325], \"e47c\", \"M256 48C141.1 48 48 141.1 48 256c0 59 24.6 112.2 64 150.1v10.7c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c11.7-11.7 16.1-27.9 13.2-43C439.1 369 464 315.4 464 256c0-114.9-93.1-208-208-208zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm-78.3 47.9c6.2 6.2 6.2 16.4 0 22.6L248 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l67.3-67.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L280 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l51.3-51.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L312 414.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l19.3-19.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.8 56.8C288.7 502 264.4 512 239.2 512c-52.6 0-95.2-42.6-95.2-95.2V384 330.4c0-11 9-20 20-20s20 9 20 20v19.7c0 7.1 8.6 10.7 13.7 5.7l79-79c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faDropletPercent = {\n prefix: 'far',\n iconName: 'droplet-percent',\n icon: [384, 512, [\"humidity\"], \"f750\", \"M192 464c-79.5 0-144-64.5-144-144c0-13 5.1-33.5 17-61.1c11.5-26.6 27.6-55.8 45.5-84.7c29-46.8 61-90.2 81.5-117c20.5 26.7 52.6 70.2 81.5 117c17.9 28.9 34 58 45.5 84.7c11.9 27.6 17 48.2 17 61.1c0 79.5-64.5 144-144 144zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zm267.3-75.3c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6zM136 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHumidity = faDropletPercent;\nvar faSquareUpRight = {\n prefix: 'far',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zm64 16c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\"]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'far',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 41.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 427.1 257.4 432 240 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-68.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faCorn = {\n prefix: 'far',\n iconName: 'corn',\n icon: [512, 512, [127805], \"f6c7\", \"M448 0c-14.6 0-28.1 4.9-38.8 13.1C401.4 9.8 392.9 8 384 8c-20.3 0-38.5 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-20.4 0-38.5 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-19.9 0-37.7 9.1-49.4 23.4l3.6 3.6c11.8 11.8 21.9 25.1 30 39.5c0-.3 0-.7-.1-1c0-.5-.1-.9-.1-1.4c0-8.8 7.2-16 16-16c2.6 0 5 .6 7.1 1.7c6.3 3.1 13.7 3.3 20.1 .6s11.4-8.2 13.5-15c2-6.5 8.1-11.3 15.3-11.3c2.6 0 5 .6 7.1 1.7c6.3 3.1 13.7 3.3 20.1 .6s11.4-8.2 13.5-15c2-6.5 8.1-11.3 15.3-11.3c4.6 0 8.7 1.9 11.6 5c5.3 5.5 12.8 8.3 20.4 7.3s14.3-5.4 18-12.1c2.8-5 8-8.2 14-8.2c8.8 0 16 7.2 16 16c0 6-3.3 11.2-8.2 14c-6.7 3.7-11.2 10.4-12.1 18s1.8 15.2 7.3 20.4c3.1 2.9 5 7 5 11.6c0 7.2-4.7 13.3-11.3 15.3c-6.7 2.1-12.2 7-15 13.5s-2.6 13.8 .6 20.1c1 2.1 1.7 4.5 1.7 7.1c0 7.2-4.7 13.3-11.3 15.3c-6.7 2.1-12.2 7-15 13.5s-2.6 13.8 .6 20.1c1 2.1 1.7 4.5 1.7 7.1c0 7-4.5 12.9-10.7 15.1c7.2 4.8 14.2 10.2 20.7 16.1L435.5 287c12.6-11.7 20.5-28.4 20.5-47c0-2-.1-3.9-.3-5.8C470.5 222.5 480 204.4 480 184c0-2-.1-3.9-.3-5.8C494.5 166.5 504 148.4 504 128c0-8.9-1.8-17.4-5.1-25.2C507.1 92.1 512 78.6 512 64c0-35.3-28.7-64-64-64zM169 71c-6.1-6.1-15-8.5-23.4-6.2s-14.8 8.9-16.9 17.3l-21.9 87.4c-.4 1.4-1.1 2.7-2.1 3.7L41.9 236.1C15.1 263 0 299.4 0 337.4c0 36 13.6 70.7 38 97.1L66.1 465c27.6 30 66.6 47 107.3 47c38.7 0 75.9-15.4 103.3-42.8l62.9-62.9c.9-.9 1.9-1.5 3.1-1.9l88.8-29.6c8.1-2.7 14.2-9.5 15.9-17.9s-1.1-17-7.4-22.7l-28.5-25.7C374 274.7 325.3 256 274.8 256c-9 0-17.9 .6-26.8 1.8V213c0-40.3-16-79-44.5-107.5L169 71zm31 142v57.1c-25.9 10.2-49.7 25.7-69.8 45.7L60.9 385.2C52.5 370.8 48 354.3 48 337.4c0-25.3 10-49.5 27.9-67.3l62.8-62.8c7.2-7.2 12.3-16.2 14.7-26L165 134.9l4.5 4.5C189 159 200 185.4 200 213zM101.4 432.5l-9.6-10.3 72.3-72.3c29.3-29.3 69.1-45.8 110.6-45.8c37.7 0 74.1 13.6 102.5 38.3l-49.7 16.6c-8.2 2.7-15.7 7.4-21.9 13.5l-62.9 62.9c-18.4 18.4-43.3 28.7-69.3 28.7c-27.4 0-53.5-11.4-72.1-31.5z\"]\n};\nvar faRollerCoaster = {\n prefix: 'far',\n iconName: 'roller-coaster',\n icon: [640, 512, [], \"e324\", \"M48 184c0-40.1 22.7-74.9 56-92.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V80h5.1c15 0 29.6 3.2 42.9 9.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V132.6l48 69.1V456c0 13.3 10.7 24 24 24s24-10.7 24-24V270.9l14.9 21.5c9.4 13.6 20.6 25.6 33.1 35.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V356.1c15.3 5.9 31.4 9.7 48 11.2V456c0 13.3 10.7 24 24 24s24-10.7 24-24V365.8c20.9-4 40-13 56-25.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V240v-8c0-75.1-60.9-136-136-136h-8.1c-30.4 0-60.3 8.3-86.4 23.9L358 150.8l58 83.5V172l18.1-10.9c14.1-8.4 29.7-13.9 45.9-16V264c0 13.3 10.7 24 24 24s24-10.7 24-24V147.3c36.9 10.4 64 44.4 64 84.7v8c0 44.2-35.8 80-80 80h-8.5c-41.9 0-81.2-20.5-105.1-55L281.9 97.3C253.5 56.4 206.9 32 157.1 32H152C68.1 32 0 100.1 0 184V456c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faPhotoFilmMusic = {\n prefix: 'far',\n iconName: 'photo-film-music',\n icon: [640, 512, [], \"e228\", \"M576 48H256c-8.8 0-16 7.2-16 16V256c0 8.7 6.9 15.8 15.6 16l69.1-94.2c4.5-6.2 11.7-9.8 19.4-9.8s14.8 3.6 19.4 9.8L380 200.4l56-85.6c4.4-6.8 12-10.9 20.1-10.9s15.7 4.1 20.1 10.9l30.5 46.7L406.3 195c-22.9 7.6-38.3 29-38.3 53.1V320H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64v69.6c-12.9-6.1-27.9-7.1-41.7-2.5l-6.3 2.1V64c0-8.8-7.2-16-16-16zM289.9 448H160 136 112 64c-35.3 0-64-28.7-64-64V176c0-35.3 28.7-64 64-64h48 24 24v48 72 88 8 72H326.3c-2.3 1.4-4.6 3-6.7 4.6c-13.8 10.3-25.2 25.2-29.6 43.4zM304 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 208V160H64c-8.8 0-16 7.2-16 16v32h64zm0 144H48v32c0 8.8 7.2 16 16 16h48V352zm0-48V256H48v48h64zM630 164.5c6.3 4.5 10 11.8 10 19.5v48V392c0 1.2-.1 2.4-.3 3.6c.2 1.5 .3 2.9 .3 4.4c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V265.3l-144 48V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V296 248c0-10.3 6.6-19.5 16.4-22.8l192-64c7.3-2.4 15.4-1.2 21.6 3.3z\"]\n};\nvar faRadar = {\n prefix: 'far',\n iconName: 'radar',\n icon: [512, 512, [], \"e024\", \"M316.4 161.7C299 150.5 278.2 144 256 144c-61.9 0-112 50.1-112 112s50.1 112 112 112s112-50.1 112-112h48c0 78.2-56.1 143.3-130.3 157.2c-7.3-8.1-17.9-13.2-29.7-13.2s-22.4 5.1-29.7 13.2c-64.5-12.1-115.4-63-127.5-127.5c8.1-7.3 13.2-17.9 13.2-29.7s-5.1-22.4-13.2-29.7C112.7 152.1 177.8 96 256 96c35.5 0 68.3 11.6 94.9 31.2l34.2-34.2C349.7 64.8 304.8 48 256 48C152.7 48 66.9 123.4 50.7 222.1C39.5 229.2 32 241.7 32 256s7.5 26.8 18.7 33.9c14.4 87.7 83.6 157 171.4 171.4c7.1 11.3 19.6 18.7 33.9 18.7s26.8-7.5 33.9-18.7C388.6 445.1 464 359.3 464 256h48c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0c62.1 0 118.9 22.1 163.3 58.8L463 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-182 182c3.3 7.7 5.1 16.1 5.1 25c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c8.9 0 17.3 1.8 25 5.1l35.4-35.4z\"]\n};\nvar faSickle = {\n prefix: 'far',\n iconName: 'sickle',\n icon: [512, 512, [], \"f822\", \"M218.2 90.2c56.2-56.2 147.4-56.2 203.6 0c2.3 2.3 4.5 4.7 6.7 7.1c-16.4-6-34-9.3-52.5-9.3c-83.9 0-152 68.1-152 152c0 17.8 3.1 35 8.7 50.9l-8.7 8.7-5.8-5.8c-56.2-56.2-56.2-147.4 0-203.6zM455.8 56.2c-75-75-196.5-75-271.5 0s-75 196.5 0 271.5L207 350.6c9.4 9.4 24.6 9.4 33.9 0l37.1-37.1c7.3-7.3 9.1-18.4 4.6-27.6C275.8 272.1 272 256.5 272 240c0-57.4 46.6-104 104-104c38.7 0 72.5 21.1 90.5 52.6c5.6 9.8 17.3 14.4 28 11s17.7-13.8 16.7-25.1c-3.9-43.2-22.4-85.3-55.4-118.4zM121 311c-9.4-9.4-24.6-9.4-33.9 0L71 327c-9.4 9.4-9.4 24.6 0 33.9l7 7L7 439c-9.4 9.4-9.4 24.6 0 33.9l32 32c9.4 9.4 24.6 9.4 33.9 0l71-71 7 7c9.4 9.4 24.6 9.4 33.9 0l16-16c9.4-9.4 9.4-24.6 0-33.9l-24-24-32-32-24-24z\"]\n};\nvar faFilm = {\n prefix: 'far',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M352 432H160V320 280H352v40V432zm0-200H160V192 80H352V192v40zM64 80h48v88H48V96c0-8.8 7.2-16 16-16zM48 216h64v80H48V216zm64 216H64c-8.8 0-16-7.2-16-16V344h64v88zM400 168V80h48c8.8 0 16 7.2 16 16v72H400zm0 48h64v80H400V216zm0 128h64v72c0 8.8-7.2 16-16 16H400V344zM448 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z\"]\n};\nvar faCoconut = {\n prefix: 'far',\n iconName: 'coconut',\n icon: [512, 512, [], \"e2f6\", \"M274.5 55.3c42.7-13.2 71.9-7.4 86.7 7.5s20.6 44 7.5 86.7c-12.8 41.5-42.1 89.6-85.8 133.3s-91.8 73-133.3 85.8c-42.7 13.2-71.9 7.4-86.7-7.5s-20.6-44-7.5-86.7c12.8-41.5 42.1-89.6 85.8-133.3s91.8-73 133.3-85.8zM395.2 28.9C361.5-4.8 309.6-5.7 260.4 9.5C210 25 155.3 59.1 107.2 107.2S25 210 9.5 260.4C-5.7 309.6-4.8 361.5 28.9 395.2l41 41C118.4 484.7 184.3 512 253 512C396 512 512 396 512 253c0-68.7-27.3-134.6-75.9-183.2L395.2 28.9zm27.4 98.5c23.7 32 37.9 70.2 40.9 110.1L457 231c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l35.6 35.6c-7.2 31.1-21.2 59.6-40.4 83.7L377 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l41.2 41.2c-24.2 19.2-52.6 33.3-83.7 40.4L265 423c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l6.5 6.5c-39.9-2.9-78.1-17.2-110.1-40.9c12.1-1.5 24.2-4.3 36.3-8c50.4-15.5 105-49.7 153.1-97.8s82.2-102.7 97.8-153.1c3.7-12 6.5-24.2 8-36.3zM256 256c62.5-62.5 92.9-133.4 67.9-158.4s-95.9 5.4-158.4 67.9S72.6 298.9 97.6 323.9s95.9-5.4 158.4-67.9z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'far',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M48 320c0 8.8 7.2 16 16 16l512 0c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16l-48 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-48 0c-8.8 0-16 7.2-16 16l0 128zm16 64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64L64 384z\"]\n};\nvar faShieldCross = {\n prefix: 'far',\n iconName: 'shield-cross',\n icon: [512, 512, [9960], \"f712\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H136c-13.3 0-24 10.7-24 24s10.7 24 24 24h96V392c0 13.3 10.7 24 24 24s24-10.7 24-24V216h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120z\"]\n};\nvar faCassetteTape = {\n prefix: 'far',\n iconName: 'cassette-tape',\n icon: [576, 512, [128429], \"f8ab\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H472l-25.6-61.5c-8.7-20.9-29.1-34.5-51.7-34.5H181.3c-22.6 0-43 13.6-51.7 34.5L104 432H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM420 432H156l17.9-43.1c1.2-3 4.2-4.9 7.4-4.9H394.7c3.2 0 6.1 1.9 7.4 4.9L420 432zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM176 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 16c0-5.5-.7-10.9-2-16H338c-1.3 5.1-2 10.5-2 16s.7 10.9 2 16H238c1.3-5.1 2-10.5 2-16zm224 0c0-35.3-28.7-64-64-64H176c-35.3 0-64 28.7-64 64s28.7 64 64 64H400c35.3 0 64-28.7 64-64zm-80 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSquareTerminal = {\n prefix: 'far',\n iconName: 'square-terminal',\n icon: [448, 512, [], \"e32a\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm38.3 119.8c-9 9.8-8.3 25 1.5 33.9L180.5 256l-76.7 70.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faPeopleRobbery = {\n prefix: 'far',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M504.5 53.3C493.1 101.7 449.8 136 400 136s-93.1-34.3-104.5-82.7l-8.2-34.8c-3-12.9-16-20.9-28.9-17.9s-20.9 16-17.9 28.9l8.2 34.8c11.3 48.1 44.3 86.5 87.2 106V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V170.2c42.9-19.4 75.9-57.8 87.2-105.9l8.2-34.8c3-12.9-5-25.8-17.9-28.9s-25.8 5-28.9 17.9l-8.2 34.8zM416 183.2V304H384V183.2c5.3 .5 10.6 .8 16 .8s10.7-.3 16-.8zM400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zM16 204.5L16 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-136H96V488c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H64l0-99.5C64 188.8 76.8 176 92.5 176c9.4 0 18.1 4.6 23.4 12.3l56.3 81.4c4.5 6.5 11.9 10.3 19.7 10.3h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H204.6l-49.2-71c-14.3-20.6-37.8-33-62.9-33C50.2 128 16 162.2 16 204.5z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M297.2 248.9C311.6 228.3 320 203.2 320 176c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H109c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H226.4c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8l0 0 0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM192 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zm0 384c-44.2 0-80-35.8-80-80V416H272v16c0 44.2-35.8 80-80 80z\"]\n};\nvar faCaretLeft = {\n prefix: 'far',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M54.6 256L144 166.6l0 178.7L54.6 256zM9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-256c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-128 128z\"]\n};\nvar faCommentMiddle = {\n prefix: 'far',\n iconName: 'comment-middle',\n icon: [512, 512, [], \"e149\", \"M231.3 387.2L256 436.7l24.7-49.5c6.5-12.9 18.4-22.3 32.5-25.4C407 341 464 274.7 464 208c0-79.5-83.3-160-208-160S48 128.5 48 208c0 66.7 57 133 150.7 153.8c14.1 3.1 26.1 12.5 32.5 25.4zm92.4 21.5l-44.5 89c-4.4 8.8-13.3 14.3-23.2 14.3s-18.8-5.5-23.2-14.3l-44.5-89C79.8 384.5 0 303.8 0 208C0 93.1 114.6 0 256 0S512 93.1 512 208c0 95.8-79.8 176.5-188.3 200.7z\"]\n};\nvar faTrashCanList = {\n prefix: 'far',\n iconName: 'trash-can-list',\n icon: [640, 512, [], \"e2ab\", \"M161.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM338.2 80L301.5 24.9C291.1 9.4 273.6 0 254.9 0H161.1c-18.7 0-36.2 9.4-46.6 24.9L77.8 80H32 24C10.7 80 0 90.7 0 104s10.7 24 24 24h8V432c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V128h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H338.2zM336 128V432c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V128H336zM160 176c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16zm216-48c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H472zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H472zM448 408c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H472c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBlock = {\n prefix: 'far',\n iconName: 'block',\n icon: [640, 512, [], \"e46a\", \"M480 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H480zM160 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zm48 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM208 392a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleExclamation = {\n prefix: 'far',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'far',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M333.3 4c-8.1-5.4-18.6-5.4-26.6 0l-138 92H72C32.2 96 0 128.2 0 168V440c0 39.8 32.2 72 72 72H256 384h10.8C349.5 480.1 320 427.5 320 368c0-16.5 2.3-32.5 6.5-47.7c-2.1-.2-4.3-.3-6.5-.3c-35.3 0-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V168c0-13.3 10.7-24 24-24H176c4.7 0 9.4-1.4 13.3-4L320 52.8 450.7 140c3.9 2.6 8.6 4 13.3 4H568c13.3 0 24 10.7 24 24v52.5c18.8 12.3 35.1 28 48 46.3V168c0-39.8-32.2-72-72-72H471.3L333.3 4zm20.2 260.6c10.9-15 24.1-28.2 39.1-39.1c4.7-10.2 7.3-21.5 7.3-33.5c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c12 0 23.3-2.6 33.5-7.3zM96 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zM320 144c8.8 0 16 7.2 16 16v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faArrowRightFromBracket = {\n prefix: 'far',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M505 273c9.4-9.4 9.4-24.6 0-33.9L377 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 273zM168 80c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 32C39.4 32 0 71.4 0 120L0 392c0 48.6 39.4 88 88 88l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l80 0z\"]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faFaceFrownSlight = {\n prefix: 'far',\n iconName: 'face-frown-slight',\n icon: [512, 512, [], \"e376\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM334.4 385.9C319.2 369.5 293.2 352 256 352s-63.2 17.5-78.4 33.9c-9 9.7-24.2 10.4-33.9 1.4s-10.4-24.2-1.4-33.9c22-23.8 60-49.4 113.6-49.4s91.7 25.5 113.6 49.4c9 9.7 8.4 24.9-1.4 33.9s-24.9 8.4-33.9-1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleChevronDown = {\n prefix: 'far',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM135 241L239 345c9.4 9.4 24.6 9.4 33.9 0L377 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87-87-87c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faSidebarFlip = {\n prefix: 'far',\n iconName: 'sidebar-flip',\n icon: [512, 512, [], \"e24f\", \"M288 80V432H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H288zM512 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96zm-64 24c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24zm-24 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48zm24 120c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24z\"]\n};\nvar faUnlockKeyhole = {\n prefix: 'far',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 48c-44.2 0-80 35.8-80 80v64H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H96V128C96 57.3 153.3 0 224 0c57 0 105.2 37.2 121.8 88.6c4.1 12.6-2.8 26.1-15.5 30.2s-26.1-2.8-30.2-15.5C289.8 71.2 259.6 48 224 48zM64 240c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H64zM256 376H192c-13.3 0-24-10.7-24-24s10.7-24 24-24h64c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faTemperatureList = {\n prefix: 'far',\n iconName: 'temperature-list',\n icon: [512, 512, [], \"e299\", \"M256 112C256 50.1 205.9 0 144 0S32 50.1 32 112V278.5C12.2 303.1 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.2-64.9-32-89.5V112zM144 464c-52.9 0-96-43.1-96-96c0-27 11.8-47.3 21.5-59.5L80 295.4V112c0-35.3 28.8-64 64-64s64 28.7 64 64V295.2l10.5 13.1C228.2 320.7 240 341 240 368c0 52.9-43.1 96-96 96zm16-141.1V160c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.9c-18.6 6.6-32 24.3-32 45.1c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1zM488 32H344c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24zm0 256H376c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24zm0-128H344c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24zM80 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C74.3 301 80 288.4 80 273.9V112zM144 0C82.1 0 32 50.2 32 112V273.9c0 1.7-.7 4.4-3.2 7.8C10.7 305.7 0 335.7 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM344 32c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zm32 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'far',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM81.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm120 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm244.6 31.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zM313.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5z\"]\n};\nvar faHeadphonesSimple = {\n prefix: 'far',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM160 432V320c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm0-160h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H160c-44.2 0-80-35.8-80-80V352c0-44.2 35.8-80 80-80zm192 48V432c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32zm80 32v48c0 44.2-35.8 80-80 80H336c-17.7 0-32-14.3-32-32V304c0-17.7 14.3-32 32-32h16c44.2 0 80 35.8 80 80z\"]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'far',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M320 80v64H256V80h64zM256 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h8v40H112c-30.9 0-56 25.1-56 56v32H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8V288c0-4.4 3.6-8 8-8H264v40h-8c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8V280H464c4.4 0 8 3.6 8 8v32h-8c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8V288c0-30.9-25.1-56-56-56H312V192h8c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H256zM48 368h64v64H48V368zm208 0h64v64H256V368zm208 0h64v64H464V368z\"]\n};\nvar faPipeSection = {\n prefix: 'far',\n iconName: 'pipe-section',\n icon: [640, 512, [], \"e438\", \"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120v32V360v32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H592v8c0 13.3 10.7 24 24 24s24-10.7 24-24V360 152 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H320 48v-8zm0 56H320 592V336H48V176z\"]\n};\nvar faSpaceStationMoonConstruction = {\n prefix: 'far',\n iconName: 'space-station-moon-construction',\n icon: [512, 512, [\"space-station-moon-alt\"], \"e034\", \"M208.2 53.5C223.5 49.9 239.5 48 256 48c54.9 0 104.8 21.2 142 56H368c-13.3 0-24 10.7-24 24s10.7 24 24 24h81.5c8.8 0 17-4.9 21.1-12.6s3.7-17.2-1.1-24.6C423.7 45.6 345.2 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c81.4 0 153.9-38 200.7-97.1c8.2-10.4 6.5-25.5-3.9-33.7s-25.5-6.5-33.7 3.9C381 433.2 322.1 464 256 464c-80.8 0-150.8-46.1-185.3-113.3C109.9 362.7 168.9 376 256 376c116.9 0 183.2-23.9 218.9-36.8l0 0c4.8-1.7 9-3.2 12.7-4.5c7.5-2.5 13.3-8.6 15.5-16.2l.6-2.1c5.5-19.3 8.3-39.3 8.3-59.3V256c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.1c0 12.3-1.3 24.5-4 36.5l-.8 .3C424.3 306.5 364.4 328 256 328s-168.3-21.5-203.2-34.1l-1.5-.5C49.1 281.2 48 268.8 48 256c0-40.8 11.7-78.8 32-110.9c.6 52.5 43.3 94.9 96 94.9c53 0 96-43 96-96c0-41.7-26.6-77.2-63.8-90.5zM128 144a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm248 40c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faSpaceStationMoonAlt = faSpaceStationMoonConstruction;\nvar faCircleDollarToSlot = {\n prefix: 'far',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M256 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368A208 208 0 1 0 256 0a208 208 0 1 0 0 416zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.6-64-64-64c-13.6 18.2-29.8 34.3-48 48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V416c0-8.8 7.2-16 16-16h48c-18.2-13.7-34.3-29.8-48-48zM276 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'far',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M64 112H512c8.8 0 16 7.2 16 16v8.4c-19.6 17.5-32 43.1-32 71.6s12.4 54 32 71.6V304H48V279.6C67.6 262 80 236.5 80 208s-12.4-54-32-71.6V128c0-8.8 7.2-16 16-16zM528 352v48H472c0-13.3-10.7-24-24-24s-24 10.7-24 24H392c0-13.3-10.7-24-24-24s-24 10.7-24 24H312c0-13.3-10.7-24-24-24s-24 10.7-24 24H232c0-13.3-10.7-24-24-24s-24 10.7-24 24H152c0-13.3-10.7-24-24-24s-24 10.7-24 24H48V352H528zM64 64C28.7 64 0 92.7 0 128v23.4c0 6.8 4.4 12.6 10.1 16.3C23.3 176.3 32 191.1 32 208s-8.7 31.7-21.9 40.3C4.4 252 0 257.8 0 264.6V416c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V264.6c0-6.8-4.4-12.6-10.1-16.3C552.7 239.7 544 224.9 544 208s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zm104 80c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24zm120 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24zm120 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24z\"]\n};\nvar faFaceSleeping = {\n prefix: 'far',\n iconName: 'face-sleeping',\n icon: [512, 512, [], \"e38d\", \"M48 256C48 141.1 141.1 48 256 48c30.7 0 59.9 6.7 86.1 18.6c12.1 5.5 26.3 .2 31.8-11.9s.2-26.3-11.9-31.8C329.6 8.2 293.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-37.7-8.2-73.6-22.9-105.9c-5.5-12.1-19.7-17.4-31.8-11.9s-17.4 19.7-11.9 31.8C457.3 196.1 464 225.3 464 256c0 114.9-93.1 208-208 208S48 370.9 48 256zM256 424a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm64-296h25.4l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H358.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H320c-8.8 0-16 7.2-16 16s7.2 16 16 16zM416 16c0 8.8 7.2 16 16 16h25.4L420.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H470.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4S502.5 0 496 0H432c-8.8 0-16 7.2-16 16zM351.6 252c-10.6 0-19.9-3.8-25.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7zm-217.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7s-19.9-3.8-25.4-9.7z\"]\n};\nvar faRoadSpikes = {\n prefix: 'far',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M192 352H112 64V304 150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L112 136l80 120V150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L240 136l80 120V150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L368 136l80 120V150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L496 136 606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 496 454.3 448 384 368 326.3 320 256 240 198.3 192zm-25.7-48L112 222.5V304h54.3zM0 424c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM240 222.5V304h54.3L240 222.5zM422.3 304L368 222.5V304h54.3zM496 222.5V304h54.3L496 222.5z\"]\n};\nvar faFireBurner = {\n prefix: 'far',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M293.5 3.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C480 280 408.7 352 320 352c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM370 273c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15zM32 280c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H80v80H560V304H536c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24V384c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V280zM48 464H164.3c-2.7-4.7-4.3-10.2-4.3-16s1.6-11.3 4.3-16H48v32zm171.7 0h72.6c-2.7-4.7-4.3-10.2-4.3-16s1.6-11.3 4.3-16H219.7c2.7 4.7 4.3 10.2 4.3 16s-1.6 11.3-4.3 16zm128 0h72.6c-2.7-4.7-4.3-10.2-4.3-16s1.6-11.3 4.3-16H347.7c2.7 4.7 4.3 10.2 4.3 16s-1.6 11.3-4.3 16zM592 464V432H475.7c2.7 4.7 4.3 10.2 4.3 16s-1.6 11.3-4.3 16H592z\"]\n};\nvar faSquirrel = {\n prefix: 'far',\n iconName: 'squirrel',\n icon: [512, 512, [], \"f71a\", \"M147.7 48C92.7 48 48 92.7 48 147.7s44.7 99.7 99.7 99.7c22.4 0 40 19.2 38 41.5l-.7 7.7c-1 11-5.9 20.4-12 27.3c-13.1 14.9-21.1 34.4-21.1 55.8c0 39.1 26.6 72 62.8 81.5c-14.3-20-22.8-44.4-22.8-70.9c0-25 7.7-49.3 22-69.8l35-49.9C284.8 219.5 304 158.5 304 96V75.2C304 69 309 64 315.2 64c15.2 0 28.7 7.6 36.8 19.2C360.1 71.6 373.6 64 388.8 64C395 64 400 69 400 75.2V96h7.6c53.4 0 98.2 40.5 103.5 93.7l.8 8c.5 4.5-.4 9.1-2.4 13.1l-4.1 8.2c-14.4 28.8-42 48.1-73.4 52.3V326c24.3 19 40 48.7 40 82c0 20.6-6 39.8-16.3 56h33.4c13.3 0 24 10.7 24 24s-10.7 24-24 24H368 352 313.7 236.3c-73 0-132.3-59.2-132.3-132.3c0-32.3 11.6-61.9 30.8-84.8C59.3 288.3 0 225 0 147.7C0 66.1 66.1 0 147.7 0C207.3 0 258.6 35.3 282 86c5.5 12 .3 26.3-11.8 31.8s-26.3 .3-31.8-11.8c-15.8-34.3-50.5-58-90.6-58zM352 464h16c30.9 0 56-25.1 56-56s-25.1-56-56-56c-5.9 0-11.5 .9-16.8 2.6c-12.6 4-26.1-3.1-30.1-15.7s3.1-26.1 15.7-30.1c9.9-3.1 20.4-4.8 31.2-4.8c5.4 0 10.8 .4 16 1.2V248c0-13.3 10.7-24 24-24h11.5c18.2 0 34.8-10.3 42.9-26.5l1-2-.1-1.1c-2.9-28.6-27-50.4-55.7-50.4H400 352h-3.3c-7.6 55.2-28.2 108.1-60.4 154.2l-35 49.9c-8.7 12.4-13.3 27.1-13.3 42.2c0 40.7 33 73.7 73.7 73.7H352zm32-288a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faArrowUpToLine = {\n prefix: 'far',\n iconName: 'arrow-up-to-line',\n icon: [384, 512, [\"arrow-to-top\"], \"f341\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM209.5 167.6c-4.5-4.8-10.9-7.6-17.5-7.6s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L168 244.5V328 456c0 13.3 10.7 24 24 24s24-10.7 24-24V328 244.5l86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136z\"]\n};\nvar faArrowToTop = faArrowUpToLine;\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V64 350.5 400v88c0 13.3 10.7 24 24 24s24-10.7 24-24V388l80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52V24zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8V334.7l-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5v-237z\"]\n};\nvar faFaceCowboyHat = {\n prefix: 'far',\n iconName: 'face-cowboy-hat',\n icon: [512, 512, [], \"e36e\", \"M216 0c-36.8 0-67.4 64.9-82.4 109.8C100 99.3 70 84.6 45.1 66.8C42.6 65 39.7 64 36.7 64C27.7 64 21 72.3 23.8 80.7C50.8 163.2 144.5 224 256 224s205.2-60.8 232.2-143.3C491 72.3 484.3 64 475.3 64c-3 0-6 1-8.4 2.8C442 84.6 412 99.3 378.4 109.8C363.4 64.9 332.8 0 296 0c-9.1 0-17.9 4-26.1 10.7c-7.9 6.5-19.8 6.5-27.7 0C233.9 4 225.1 0 216 0zM75.8 200C58.1 230.6 48 266.1 48 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-37.9-10.1-73.4-27.8-104c-12.8 9.3-26.6 17.5-41.2 24.6c13.4 23.4 21 50.5 21 79.3c0 88.4-71.6 160-160 160s-160-71.6-160-160c0-28.9 7.6-55.9 21-79.3c-14.6-7.1-28.4-15.4-41.2-24.6zM366.4 367.5c5.7-11.5-6.2-22.2-18.6-18.8c-27.9 7.8-59 12.2-91.6 12.2s-63.7-4.3-91.6-12.2c-12.4-3.5-24.3 7.3-18.6 18.8C166.2 408.1 208 436 256.2 436s90-27.9 110.2-68.6zM192 304a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm152-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHanukiah = {\n prefix: 'far',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M296 56c0-19.4 13.1-43.9 18.2-52.7C315.4 1.2 317.6 0 320 0s4.6 1.2 5.8 3.3C330.9 12.1 344 36.6 344 56c0 13.3-10.7 24-24 24s-24-10.7-24-24zM0 104C0 84.6 13.1 60.1 18.2 51.3C19.4 49.2 21.6 48 24 48s4.6 1.2 5.8 3.3C34.9 60.1 48 84.6 48 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zM106.2 51.3c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C122.9 60.1 136 84.6 136 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM152 104c0-19.4 13.1-43.9 18.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C186.9 60.1 200 84.6 200 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zm82.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C250.9 60.1 264 84.6 264 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM376 104c0-19.4 13.1-43.9 18.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C410.9 60.1 424 84.6 424 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zm82.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C474.9 60.1 488 84.6 488 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM504 104c0-19.4 13.1-43.9 18.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C538.9 60.1 552 84.6 552 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zM610.2 51.3c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C626.9 60.1 640 84.6 640 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM320 112c13.3 0 24 10.7 24 24V336H552c22.1 0 40-17.9 40-40V184c0-13.3 10.7-24 24-24s24 10.7 24 24V296c0 48.6-39.4 88-88 88H344v80H496c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 144c-13.3 0-24-10.7-24-24s10.7-24 24-24H296V384H88c-48.6 0-88-39.4-88-88V184c0-13.3 10.7-24 24-24s24 10.7 24 24V296c0 22.1 17.9 40 40 40H296V136c0-13.3 10.7-24 24-24zM112 160c8.8 0 16 7.2 16 16V288v16H96V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H160V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H224V288 176c0-8.8 7.2-16 16-16zm160 0c8.8 0 16 7.2 16 16V288v16H384V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H448V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H512V288 176c0-8.8 7.2-16 16-16z\"]\n};\nvar faChartScatter3d = {\n prefix: 'far',\n iconName: 'chart-scatter-3d',\n icon: [512, 512, [], \"e0e8\", \"M32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM280 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V276.8L40.6 437.6c-10.1 8.5-11.5 23.7-2.9 33.8s23.7 11.5 33.8 2.9L256 319.3l184.6 155c10.2 8.5 25.3 7.2 33.8-2.9s7.2-25.3-2.9-33.8L280 276.8V56zM384 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM256 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDisplayChartUp = {\n prefix: 'far',\n iconName: 'display-chart-up',\n icon: [576, 512, [], \"e5e3\", \"M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM376 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24H376z\"]\n};\nvar faSquareCode = {\n prefix: 'far',\n iconName: 'square-code',\n icon: [448, 512, [], \"e267\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM255 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0zM193 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L95 239c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faFeather = {\n prefix: 'far',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M311.9 166.1L112 366.1l0-36c0-55.2 21.9-108.1 60.9-147.1L276.7 79.2c20-20 47.1-31.2 75.3-31.2s55.3 11.2 75.3 31.2l5.5 5.5c20 20 31.2 47.1 31.2 75.3c0 16.8-4 33.3-11.4 48H337.9l7.9-7.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zm-22 89.9H412.1l-48 48H241.9l48-48zm24.9 96c-37.2 30.9-84.2 48-132.9 48h-36l48-48H314.9zM64 330v84L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h84c67.9 0 133-27 181-75L466.7 269.3c29-29 45.3-68.3 45.3-109.3s-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330z\"]\n};\nvar faVolumeLow = {\n prefix: 'far',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M159.9 201.9L272 102.3V409.7L159.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H56c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM412.6 181.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C393.1 227.6 400 241 400 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C434.1 312.9 448 286.1 448 256s-13.9-56.9-35.4-74.5z\"]\n};\nvar faVolumeDown = faVolumeLow;\nvar faXmarkToSlot = {\n prefix: 'far',\n iconName: 'xmark-to-slot',\n icon: [576, 512, [\"times-to-slot\", \"vote-nay\"], \"f771\", \"M144 80V360H432V80H144zM96 360V80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V360c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 144 96c-13.3 0-24-10.7-24-24s10.7-24 24-24zM64 288v48H48l0 96H528V336H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H64zM207 135c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesToSlot = faXmarkToSlot;\nvar faVoteNay = faXmarkToSlot;\nvar faBoxTaped = {\n prefix: 'far',\n iconName: 'box-taped',\n icon: [448, 512, [\"box-alt\"], \"f49a\", \"M261.3 80h81.1c6.3 0 12.1 3.7 14.6 9.5L388.4 160H288L261.3 80zm-74.7 0L160 160 59.6 160 91 89.5c2.6-5.8 8.3-9.5 14.6-9.5h81.1zM160 208v48c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V208H400V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208H160zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70z\"]\n};\nvar faBoxAlt = faBoxTaped;\nvar faCommentSlash = {\n prefix: 'far',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zM184.2 119C219.3 95.2 265.7 80 320 80c124.7 0 208 80.5 208 160c0 38.4-19.4 77-53.5 106.6L184.2 119zM112 240c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104-17.9l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-31.6 0-61.3-5.5-87.8-15.1c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C124.4 302.8 112 272 112 240z\"]\n};\nvar faSwords = {\n prefix: 'far',\n iconName: 'swords',\n icon: [512, 512, [9876], \"f71d\", \"M54.8 89.6L51.3 51.3l38.2 3.5L367.4 332.7l33.9-33.9L123.5 20.9C115.6 12.9 105.1 8 93.9 7L17.4 .1C12.7-.4 8 1.3 4.7 4.7S-.4 12.7 .1 17.4L7 93.9c1 11.2 5.9 21.7 13.9 29.6L298.7 401.4l33.9-33.9L54.8 89.6zM459.3 308.7c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6l16 16c4.7 4.7 11.8 6 17.8 3.3l62-27.5 56.2 56.2c6.2 6.2 16.4 6.2 22.6 0l24-24c6.2-6.2 6.2-16.4 0-22.6l-56.2-56.2 27.5-62c2.7-6.1 1.4-13.1-3.3-17.8l-16-16zm-112-109.3l33.9 33.9L491.1 123.5c7.9-7.9 12.8-18.4 13.9-29.6l7-76.5c.4-4.7-1.3-9.4-4.6-12.8s-8-5.1-12.8-4.6L418.1 7c-11.2 1-21.7 5.9-29.6 13.9L278.6 130.7l33.9 33.9L422.4 54.8l38.2-3.5-3.5 38.2L347.3 199.4zM233.4 381.3l-33.9-33.9-42.7 42.7-34.7-34.7 42.7-42.7-33.9-33.9L88 321.4 75.3 308.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-4.7 4.7-6 11.8-3.3 17.8l27.5 62L4.7 460.7c-6.2 6.2-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l56.2-56.2 62 27.5c6 2.7 13.1 1.4 17.8-3.3l16-16c6.2-6.2 6.2-16.4 0-22.6L190.6 424l42.7-42.7z\"]\n};\nvar faCloudSunRain = {\n prefix: 'far',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.6 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm69.4 276c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zM320.1 192c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48s21.5 48 48 48c.6 0 1.3 0 1.9 0c.3 0 .6 0 .9 0H557.8c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V218.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-5.8 7.1-15.1 10.4-24.1 8.3s-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm48-96c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0h-266c-1.1 0-2.1 .1-3.2 .1c-53 0-96-43-96-96c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8z\"]\n};\nvar faAlbum = {\n prefix: 'far',\n iconName: 'album',\n icon: [448, 512, [128189], \"f89f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM80 256a144 144 0 1 1 288 0A144 144 0 1 1 80 256zm176 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCircleN = {\n prefix: 'far',\n iconName: 'circle-n',\n icon: [512, 512, [], \"e118\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM203.7 138.3c-6-8.6-16.9-12.4-26.9-9.2s-16.8 12.4-16.8 22.9V360c0 13.3 10.7 24 24 24s24-10.7 24-24V228.8L308.3 373.7c6 8.6 16.9 12.4 26.9 9.2s16.8-12.4 16.8-22.9V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V283.2L203.7 138.3z\"]\n};\nvar faCompress = {\n prefix: 'far',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24V56zM24 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V344c0-13.3-10.7-24-24-24H24zM336 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V168c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H336V56zM312 320c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V368h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H312z\"]\n};\nvar faWheatAwn = {\n prefix: 'far',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M504.7 7.2c9.4 9.4 9.4 24.6 0 33.9L366.1 179.7c7.9 .9 15.8 2.5 23.4 4.8L471 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71.4 71.4c3.1 2.5 6 5.2 8.9 8.1l16.9 16.9c9.4 9.4 9.4 24.6 0 33.9l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.3-11.3 0 0L41 504.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l73.5-73.5 0 0L69.3 386.1c-43.7-43.7-43.7-114.7 0-158.4l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9c2.9 2.9 5.7 5.9 8.2 9L375 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-81.6 81.6c2.3 7.6 3.9 15.4 4.8 23.2L470.7 7.2c9.4-9.4 24.6-9.4 33.9 0zM261.5 103.3c-25 25-25 65.5 0 90.5L271.7 204c20.5-31 17.2-73.3-10.2-100.6zm-79.2 79.2c-25 25-25 65.5 0 90.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6zM159.7 408.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm-56.5-56.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zm135.7-22.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm79.2-79.2c25 25 65.5 25 90.5 0C381.2 223 339 219.7 307.9 240.2l10.1 10.1z\"]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'far',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M80 128c0 42.3 22.6 78.9 50.5 107.6c10.3 10.6 20.6 19.4 29.5 26.3c8.9-6.9 19.3-15.7 29.5-26.3C217.4 206.9 240 170.3 240 128c0-44.2-35.8-80-80-80s-80 35.8-80 80zM98.9 272C66 238.9 32 189.8 32 128C32 57.3 89.3 0 160 0s128 57.3 128 128c0 61.8-34 110.9-66.9 144H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H184V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H98.9z\"]\n};\nvar faHandsHoldingChild = {\n prefix: 'far',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M320 80a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm44.7 84.3L384.5 181c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-27.9-23.6C368.7 104.8 344.7 96 320 96s-48.7 8.8-67.6 24.7l-27.9 23.6c-10.1 8.6-11.4 23.7-2.8 33.8s23.7 11.4 33.8 2.8l19.8-16.7L264.2 253c-1.6 13.2 7.7 25.1 20.8 26.8s25.1-7.7 26.8-20.8l4.4-35h7.6l4.4 35c1.6 13.2 13.6 22.5 26.8 20.8s22.5-13.6 20.8-26.8l-11.1-88.8zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faAsterisk = {\n prefix: 'far',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c13.3 0 24 10.7 24 24V212.9l131.4-81.3c11.3-7 26.1-3.5 33 7.8s3.5 26.1-7.8 33L237.6 256l135 83.6c11.3 7 14.8 21.8 7.8 33s-21.8 14.7-33 7.8L216 299.1V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V299.1L36.6 380.4c-11.3 7-26.1 3.5-33-7.8s-3.5-26.1 7.8-33l135-83.6-135-83.6c-11.3-7-14.8-21.8-7.8-33s21.8-14.8 33-7.8L168 212.9V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faKeySkeletonLeftRight = {\n prefix: 'far',\n iconName: 'key-skeleton-left-right',\n icon: [640, 512, [], \"e3b4\", \"M592 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm48 0c0 70.7-57.3 128-128 128c-62.5 0-114.5-44.8-125.8-104H304v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152H208l0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-72c0-13.3 10.7-24 24-24l202.2 0C397.5 44.8 449.5 0 512 0c70.7 0 128 57.3 128 128zM48 384a80 80 0 1 0 160 0A80 80 0 1 0 48 384zM0 384c0-70.7 57.3-128 128-128c62.5 0 114.5 44.8 125.8 104l82.2 0V312c0-13.3 10.7-24 24-24s24 10.7 24 24v48h48l0-48c0-13.3 10.7-24 24-24s24 10.7 24 24l0 72c0 13.3-10.7 24-24 24H253.8C242.5 467.2 190.5 512 128 512C57.3 512 0 454.7 0 384z\"]\n};\nvar faCommentLines = {\n prefix: 'far',\n iconName: 'comment-lines',\n icon: [512, 512, [], \"f4b0\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM152 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\"]\n};\nvar faLuchadorMask = {\n prefix: 'far',\n iconName: 'luchador-mask',\n icon: [448, 512, [\"luchador\", \"mask-luchador\"], \"f455\", \"M288 464H160C98.1 464 48 413.9 48 352V224c0-97.2 78.8-176 176-176s176 78.8 176 176V352c0 61.9-50.1 112-112 112zM224 0C100.3 0 0 100.3 0 224V352c0 88.4 71.6 160 160 160H288c88.4 0 160-71.6 160-160V224C448 100.3 347.7 0 224 0zM160 352h35.3 57.4H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm-6.4-31.7C121.2 323.5 96 350.8 96 384c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64c0-33.2-25.2-60.5-57.6-63.7c1-3.7 1.6-7.6 1.6-11.6c0-7.3-1.8-14.4-5.3-20.7H304c44.2 0 80-35.8 80-80c0-26.5-21.5-48-48-48H304c-44.2 0-80 35.8-80 80c0-44.2-35.8-80-80-80H112c-26.5 0-48 21.5-48 48c0 44.2 35.8 80 80 80h13.3c-3.4 6.3-5.3 13.4-5.3 20.7c0 4 .6 7.9 1.6 11.6zm41.7-.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8l8-8 4.2-4.2 .4-.4 10.3-10.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 288l.4 .4 4.2 4.2 8 8c2.1 2.1 3.3 5 3.3 8c0 6.2-5.1 11.3-11.3 11.3H241.4h-6-.6H213.3h-.6-6H195.3zM96 208c0-8.8 7.2-16 16-16h32c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16H144c-26.5 0-48-21.5-48-48zm240-16c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H272c-8.8 0-16-7.2-16-16c0-26.5 21.5-48 48-48h32z\"]\n};\nvar faLuchador = faLuchadorMask;\nvar faMaskLuchador = faLuchadorMask;\nvar faSquareCheck = {\n prefix: 'far',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faShredder = {\n prefix: 'far',\n iconName: 'shredder',\n icon: [512, 512, [], \"f68a\", \"M112 192V64c0-8.8 7.2-16 16-16H357.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c3 3 4.7 7.1 4.7 11.3V192H112zM64 64V192c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64V90.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H128C92.7 0 64 28.7 64 64zM448 240c8.8 0 16 7.2 16 16v80H48V256c0-8.8 7.2-16 16-16H448zM40 488c0 13.3 10.7 24 24 24s24-10.7 24-24V416H40v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H136v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H232v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H328v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H424v72z\"]\n};\nvar faBookOpenCover = {\n prefix: 'far',\n iconName: 'book-open-cover',\n icon: [640, 512, [\"book-open-alt\"], \"e0c0\", \"M512 337.2V52.4L344 77V373l168-35.8zM296 373V77L128 52.4V337.2L296 373zM523.4 2.2C542.7-.7 560 14.3 560 33.8V350.1c0 15.1-10.6 28.1-25.3 31.3l-201.3 43c-8.8 1.9-17.9 1.9-26.7 0l-201.3-43C90.6 378.3 80 365.2 80 350.1V33.8C80 14.3 97.3-.7 116.6 2.2L320 32 523.4 2.2zM38.3 23.7l10.2 2c-.3 2.7-.5 5.4-.5 8.1V74.6 342.1v66.7l265.8 54.5c2 .4 4.1 .6 6.2 .6s4.2-.2 6.2-.6L592 408.8V342.1 74.6 33.8c0-2.8-.2-5.5-.5-8.1l10.2-2C621.5 19.7 640 34.8 640 55V421.9c0 15.2-10.7 28.3-25.6 31.3L335.8 510.4c-5.2 1.1-10.5 1.6-15.8 1.6s-10.6-.5-15.8-1.6L25.6 453.2C10.7 450.2 0 437.1 0 421.9V55C0 34.8 18.5 19.7 38.3 23.7z\"]\n};\nvar faBookOpenAlt = faBookOpenCover;\nvar faSandwich = {\n prefix: 'far',\n iconName: 'sandwich',\n icon: [512, 512, [129386], \"f81f\", \"M48 112H464v32H48V112zM32 64C14.3 64 0 78.3 0 96v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H32zM48 368H464v32H48V368zM32 320c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zm-8-24c11.8 0 23.1-2.9 33.1-6.3c8.8-3 17.8-6.8 26.1-10.3l0 0 3.1-1.3c19.6-8.3 35.3-14.1 49.7-14.1c18.2 0 30.9 5.7 48.7 13.8C202.6 286 224.7 296 256 296s53.4-10 71.3-18.2c17.8-8.1 30.5-13.8 48.7-13.8c14.4 0 30.1 5.9 49.7 14.1l3.1 1.3 0 0c8.3 3.5 17.3 7.3 26.1 10.3c9.9 3.4 21.3 6.3 33.1 6.3c13.3 0 24-10.7 24-24s-10.7-24-24-24c-4.2 0-9.9-1.1-17.7-3.7c-7-2.4-14.3-5.5-22.8-9.1l0 0-3.1-1.3C425.9 226.1 401.6 216 376 216c-28.8 0-49.9 9.6-66.9 17.4l-1.7 .8C290.1 242 276.2 248 256 248s-34.1-6-51.4-13.8l-1.7-.8c-17-7.8-38.1-17.4-66.9-17.4c-25.6 0-49.9 10.1-68.3 17.9l-3.2 1.3 0 0c-8.5 3.6-15.9 6.7-22.8 9.1C33.9 246.9 28.2 248 24 248c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faPesetaSign = {\n prefix: 'far',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M93.9 32C68.6 32 48 52.6 48 77.9V176H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48V328 456c0 13.3 10.7 24 24 24s24-10.7 24-24V352h96c77.4 0 142-55 156.8-128H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8.8C343.2 95.1 275 32 192 32H93.9zM302.9 176H96V80h96c56.4 0 103.1 41.7 110.9 96zM96 224H299.4c-13.8 46.3-56.6 80-107.4 80H96V224z\"]\n};\nvar faSquareParkingSlash = {\n prefix: 'far',\n iconName: 'square-parking-slash',\n icon: [640, 512, [\"parking-slash\"], \"f617\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L38.8 5.1zM145.7 88.9c2.6-5.3 8.1-8.9 14.3-8.9H480c8.8 0 16 7.2 16 16V363.5L408.6 295c19.3-17.6 31.4-42.9 31.4-71c0-53-43-96-96-96H264c-16.5 0-30.2 12.6-31.8 28.7L145.7 88.9zM369.8 264.5L280 194.2V176h64c26.5 0 48 21.5 48 48c0 17-8.9 32-22.2 40.5zM232 278.8V296v64c0 13.3 10.7 24 24 24s24-10.7 24-24v-8V320v-3.4l-48-37.8zm-88-69.3L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4L426.5 432H160c-8.8 0-16-7.2-16-16V209.5z\"]\n};\nvar faParkingSlash = faSquareParkingSlash;\nvar faTrainTunnel = {\n prefix: 'far',\n iconName: 'train-tunnel',\n icon: [512, 512, [], \"e454\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208V488c0 13.3 10.7 24 24 24s24-10.7 24-24V256C512 114.6 397.4 0 256 0S0 114.6 0 256V488c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm304-48v48H160V208c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32zM160 368V304H352v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm32-240c-44.2 0-80 35.8-80 80V368c0 27.7 14.1 52.2 35.5 66.5L111 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57H310.1l57 57c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-36.5-36.5C385.9 420.2 400 395.7 400 368V208c0-44.2-35.8-80-80-80H192zm96 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHeading = {\n prefix: 'far',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 56C0 42.7 10.7 32 24 32H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H104V224H344V80H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H392V248 432h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V272H104V432h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V248 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'far',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M48 192V415.5c26.3-4.9 54.6 3.7 73.6 25.5l6.4 7.3 3.8-4.3c31.9-36.4 88.5-36.4 120.4 0l3.8 4.3 6.4-7.3c19.1-21.8 47.3-30.4 73.6-25.5V192c0-79.5-64.5-144-144-144S48 112.5 48 192zM256 512c-5.1 0-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L85.5 472.5c-11.6-13.3-32.1-14-44.5-1.5l-2.3 2.3c-4.2 4.2-10 6.6-16 6.6C10.1 480 0 469.9 0 457.4V192C0 86 86 0 192 0S384 86 384 192V457.4c0 12.5-10.1 22.6-22.6 22.6c-6 0-11.8-2.4-16-6.6l-2.3-2.3c-12.5-12.5-32.9-11.8-44.5 1.5L269.3 506c-3.3 3.8-8.2 6-13.3 6zM96 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faFaceAnguished = {\n prefix: 'far',\n iconName: 'face-anguished',\n icon: [512, 512, [], \"e369\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 144c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faHockeySticks = {\n prefix: 'far',\n iconName: 'hockey-sticks',\n icon: [640, 512, [], \"f454\", \"M173.3 13L302 261.7 288.4 288H261.5L130.7 35C124.6 23.3 129.2 8.8 141 2.7s26.3-1.5 32.3 10.3zM373.1 368l24.8-48H576c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H421.2c-26.9 0-51.6-15-64-38.9L338 435.9l27-52.2L399.9 451c4.1 8 12.3 13 21.3 13H496V368H373.1zM544 368v96h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16H544zM499 2.7c11.8 6.1 16.4 20.6 10.3 32.3L282.7 473.1c-12.4 23.9-37 38.9-64 38.9H64c-35.3 0-64-28.7-64-64V384c0-35.3 28.7-64 64-64H304c1.3 0 2.5 .1 3.7 .3L466.7 13C472.8 1.2 487.3-3.4 499 2.7zM283 368H144v96h74.8c9 0 17.2-5 21.3-13L283 368zM64 368c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96V368H64z\"]\n};\nvar faAbacus = {\n prefix: 'far',\n iconName: 'abacus',\n icon: [576, 512, [129518], \"f640\", \"M512 80c8.8 0 16 7.2 16 16V208H448V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h64zm-96 48h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H288V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80H416v48zm-160 0h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H160V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h96v48zm-128 0h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H48V96c0-8.8 7.2-16 16-16h64v48zM48 416V240h80v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v48H64c-8.8 0-16-7.2-16-16zm112-32h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V312h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240h96v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v48H160V384zm128-72h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240H416v96h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v48H288V384h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V312zm160 72h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240h80V416c0 8.8-7.2 16-16 16H448V384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFilmSimple = {\n prefix: 'far',\n iconName: 'film-simple',\n icon: [512, 512, [\"film-alt\"], \"f3a0\", \"M160 432H352V320 192 80H160V192 320 432zM112 80H64c-8.8 0-16 7.2-16 16v72h64V80zm0 136H48v80h64V216zm0 128H48v72c0 8.8 7.2 16 16 16h48V344zM400 80v88h64V96c0-8.8-7.2-16-16-16H400zm64 136H400v80h64V216zm0 128H400v88h48c8.8 0 16-7.2 16-16V344zM64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32z\"]\n};\nvar faFilmAlt = faFilmSimple;\nvar faList = {\n prefix: 'far',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM184 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z\"]\n};\nvar faListSquares = faList;\nvar faTreePalm = {\n prefix: 'far',\n iconName: 'tree-palm',\n icon: [576, 512, [127796], \"f82b\", \"M102.9 91.4l30.3 50.5c-4 3.5-8 7.2-12 11.2c-71 71-60.2 151-32.7 191.3c5 7.3 15.2 7.3 21.4 1L236 219.3c2.3 9.3 4.3 20.3 5.6 32.9c4.9 46.6 .5 115.1-26.4 208.3c-7.3 25.3 11.3 51.5 38.5 51.5h84.1c20 0 37.6-15 39.6-35.7c9.2-95.5-5.9-202-34.3-284.3H446.7c2.8 0 5.4-1.5 6.9-3.9l19.6-32.7c3.1-5.2 10.6-5.2 13.7 0l19.6 32.7c1.4 2.4 4.1 3.9 6.9 3.9H560c8.8 0 16.1-7.2 14.4-15.9C565.3 128.2 516.4 64 416 64c-43.7 0-77.6 12.2-102.8 29.8C296.5 49.4 248 0 160 0C59.6 0 10.7 64.2 1.6 112.1C-.1 120.8 7.2 128 16 128H62.7c2.8 0 5.4-1.5 6.9-3.9L89.1 91.4c3.1-5.2 10.6-5.2 13.7 0zM292 192c28.6 74.1 46 177.9 38.3 272H264.1c25.8-92.9 30.7-164.5 25.2-216.8c-2.2-21.5-6.2-39.9-11.4-55.2H292z\"]\n};\nvar faSquarePhoneFlip = {\n prefix: 'far',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zm64 16c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM293.3 128.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'far',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM344 48V88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H344v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V136H256c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V48c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faGamepad = {\n prefix: 'far',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 112c-79.5 0-144 64.5-144 144s64.5 144 144 144H448c79.5 0 144-64.5 144-144s-64.5-144-144-144H192zM0 256C0 150 86 64 192 64H448c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256zm232-56v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H232v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200c0-13.3 10.7-24 24-24s24 10.7 24 24zm168 72a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faBorderCenterV = {\n prefix: 'far',\n iconName: 'border-center-v',\n icon: [448, 512, [], \"f89d\", \"M448 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 352A32 32 0 1 0 0 352a32 32 0 1 0 64 0zM384 160a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 160A32 32 0 1 0 0 160a32 32 0 1 0 64 0zm320 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM384 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64zM64 448A32 32 0 1 0 0 448a32 32 0 1 0 64 0zM288 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM352 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM288 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM96 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm64-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm40 200c0 13.3 10.7 24 24 24s24-10.7 24-24l0-400c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 400z\"]\n};\nvar faCircleDot = {\n prefix: 'far',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faClipboardMedical = {\n prefix: 'far',\n iconName: 'clipboard-medical',\n icon: [384, 512, [], \"e133\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-8 160v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFaceDizzy = {\n prefix: 'far',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM103 135c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9zm192 0c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'far',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 448c-74.7 0-144-75.4-144-160c0-48.3 14.1-107.7 41.3-153.5C116.4 88.8 151.1 64 192 64s75.6 24.8 102.7 70.5C321.9 180.3 336 239.7 336 288c0 84.6-69.3 160-144 160zM0 288C0 394 86 496 192 496s192-102 192-208c0-112-64-272-192-272S0 176 0 288zM170.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C85.7 226.1 80 259.7 80 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nvar faUpToLine = {\n prefix: 'far',\n iconName: 'up-to-line',\n icon: [384, 512, [\"arrow-alt-to-top\"], \"f34d\", \"M82.2 288L192 178 301.8 288H248c-13.3 0-24 10.7-24 24V432H160V312c0-13.3-10.7-24-24-24H82.2zM192 128c-11.5 0-22.5 4.6-30.6 12.7L45.6 256.8C36.9 265.5 32 277.3 32 289.6C32 315.2 52.8 336 78.4 336H112v96c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V336h33.6c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L222.6 140.7c-8.1-8.1-19.1-12.7-30.6-12.7zM24 80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 32 0 42.7 0 56S10.7 80 24 80z\"]\n};\nvar faArrowAltToTop = faUpToLine;\nvar faHouseMedicalCircleXmark = {\n prefix: 'far',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L526.1 194.6c-9.8-1.7-19.9-2.6-30.1-2.6c-14.2 0-28.1 1.7-41.3 4.9L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32H348.5c12.3 18.8 28 35.1 46.3 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM320 256h40.2c-15.3 18.5-26.9 40.2-33.6 64H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48zm176-32a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faWatchFitness = {\n prefix: 'far',\n iconName: 'watch-fitness',\n icon: [384, 512, [], \"f63e\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6C27.5 73 0 105.3 0 144V368c0 38.7 27.5 71 64 78.4V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c36.5-7.4 64-39.7 64-78.4V144c0-38.7-27.5-71-64-78.4V48.3C320 21.6 298.4 0 271.7 0H112.3zM304 112c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304zM93.7 226.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faClockNineThirty = {\n prefix: 'far',\n iconName: 'clock-nine-thirty',\n icon: [512, 512, [], \"e34d\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V256c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCampground = {\n prefix: 'far',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M375.4 5.6c10.2 8.5 11.5 23.6 3 33.8l-59.1 70.7L555 392.1c8.4 10.1 13 22.8 13 35.9v28c0 30.9-25.1 56-56 56H288 64c-30.9 0-56-25.1-56-56V428c0-13.1 4.6-25.8 13-35.9L256.7 110.1 197.6 39.4c-8.5-10.2-7.1-25.3 3-33.8s25.3-7.1 33.8 3L288 72.7 341.6 8.6c8.5-10.2 23.6-11.5 33.8-3zM57.9 422.8c-1.2 1.4-1.9 3.3-1.9 5.1v28c0 4.4 3.6 8 8 8h62L269.1 281.2c4.5-5.8 11.5-9.2 18.9-9.2s14.4 3.4 18.9 9.2L450 464h62c4.4 0 8-3.6 8-8V428c0-1.9-.7-3.7-1.9-5.1L288 147.5 57.9 422.8zM187 464H288 389L288 334.9 187 464z\"]\n};\nvar faFolderPlus = {\n prefix: 'far',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faJug = {\n prefix: 'far',\n iconName: 'jug',\n icon: [448, 512, [], \"f8c6\", \"M192 85V48h64V85c0 17.8 5.9 35.1 16.9 49.1l37.9-29.5-37.9 29.5 78.3 100.7c10.9 14 16.9 31.3 16.9 49.1V288H80v-4.1c0-17.8 5.9-35.1 16.9-49.1l78.3-100.7c10.9-14 16.9-31.3 16.9-49.1zM80 416H368v32c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V416zM322.5 119.8l-11.8-15.1C306.4 99 304 92.1 304 85V48c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 192 144c-13.3 0-24 10.7-24 24s10.7 24 24 24V85c0 7.1-2.4 14-6.7 19.6L59 205.3c-17.5 22.5-27 50.1-27 78.6V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V283.9c0-17.4-3.5-34.5-10.3-50.3C430.6 222.3 448 197.2 448 168c0-39.8-32.2-72-72-72c-21.2 0-40.3 9.2-53.5 23.8zM400 168c0 12.4-9.4 22.6-21.4 23.9l-25.1-32.2c3.4-9.1 12.2-15.6 22.5-15.6c13.3 0 24 10.7 24 24z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M435.4 361.3l-89.7-6c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-22 87.2c-14.4 3.2-29.4 4.8-44.8 4.8s-30.3-1.7-44.8-4.8l-22-87.2c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-89.7 6C61.7 335.9 51.9 307 49 276.2L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15L100.4 118c19.9-22.4 44.6-40.5 72.4-52.7l69.1 57.6c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l69.1-57.6c27.8 12.2 52.5 30.3 72.4 52.7l-33.4 83.4c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9L463 276.2c-3 30.8-12.7 59.7-27.6 85.1zM256 48l.9 0h-1.8l.9 0zM56.7 196.2c.9-3 1.9-6.1 2.9-9.1l-2.9 9.1zM132 423l3.8 2.7c-1.3-.9-2.5-1.8-3.8-2.7zm248.1-.1c-1.3 1-2.7 2-4 2.9l4-2.9zm75.2-226.6l-3-9.2c1.1 3 2.1 6.1 3 9.2zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faSnowBlowing = {\n prefix: 'far',\n iconName: 'snow-blowing',\n icon: [640, 512, [], \"f761\", \"M176 64c13.3 0 24 10.7 24 24v25.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L200 158.6v55.8l48.3-27.9 12.9-48.2c2.3-8.5 11.1-13.6 19.6-11.3s13.6 11.1 11.3 19.6l-4.6 17.3 22-12.7c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8l-22 12.7 17.3 4.6c8.5 2.3 13.6 11.1 11.3 19.6s-11.1 13.6-19.6 11.3l-48.2-12.9L224 256l48.3 27.9L320.6 271c8.5-2.3 17.3 2.8 19.6 11.3s-2.8 17.3-11.3 19.6l-17.3 4.6 22 12.7c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8l-22-12.7 4.6 17.3c2.3 8.5-2.8 17.3-11.3 19.6s-17.3-2.8-19.6-11.3l-12.9-48.2L200 297.6v55.8l35.3 35.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L200 398.6V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L152 353.4V297.6l-48.3 27.9L90.7 373.7c-2.3 8.5-11.1 13.6-19.6 11.3s-13.6-11.1-11.3-19.6l4.6-17.3-22 12.7C31 367.4 16.4 363.5 9.7 352s-2.7-26.2 8.8-32.8l22-12.7-17.3-4.6c-8.5-2.3-13.6-11.1-11.3-19.6s11.1-13.6 19.6-11.3l48.2 12.9L128 256 79.7 228.1 31.4 241c-8.5 2.3-17.3-2.8-19.6-11.3s2.8-17.3 11.3-19.6l17.3-4.6-22-12.7C7 186.2 3.1 171.5 9.7 160s21.3-15.4 32.8-8.8l22 12.7-4.6-17.3c-2.3-8.5 2.8-17.3 11.3-19.6s17.3 2.8 19.6 11.3l12.9 48.2L152 214.4V158.6l-35.3-35.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L152 113.4V88c0-13.3 10.7-24 24-24zM480 424c0-13.3 10.7-24 24-24h48c22.1 0 40-17.9 40-40s-17.9-40-40-40H408c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c48.6 0 88 39.4 88 88s-39.4 88-88 88H504c-13.3 0-24-10.7-24-24zM504 64h48c48.6 0 88 39.4 88 88s-39.4 88-88 88H408c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c22.1 0 40-17.9 40-40s-17.9-40-40-40H504c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faPaintbrush = {\n prefix: 'far',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M278 219.5L356.5 298 524.7 73.6c4.8-6.4 4.1-15.3-1.5-20.9s-14.5-6.3-20.9-1.5L278 219.5zM199.1 321.6c-4.9-1-9.9-1.6-15.1-1.6c-39.8 0-72 32.2-72 72c0 3.8 .3 7.5 .8 11.1c3.3 21.4-2.2 43.1-13.8 60l-.7 .9H184c39.8 0 72-32.2 72-72c0-5.2-.5-10.2-1.6-15.1l-55.4-55.4zM384 341.3c-19.1 25.5-48.6 41.1-80.3 42.6c.2 2.7 .3 5.4 .3 8.1c0 66.3-53.7 120-120 120H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h6c18.1 0 30.1-19.8 27.4-37.6c-.9-6-1.4-12.1-1.4-18.4c0-66.3 53.7-120 120-120c2.7 0 5.4 .1 8.1 .3c1.5-31.7 17-61.1 42.5-80.3L473.5 12.8C499-6.3 534.6-3.8 557.2 18.7s25.1 58.2 6 83.7L384 341.3z\"]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'far',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M144 128v64H304V128c0-44.2-35.8-80-80-80s-80 35.8-80 80zM96 192V128C96 57.3 153.3 0 224 0s128 57.3 128 128v64h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H96zM48 256V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArrowDownFromLine = {\n prefix: 'far',\n iconName: 'arrow-down-from-line',\n icon: [384, 512, [8615, \"arrow-from-top\"], \"f345\", \"M174.5 472.4c4.5 4.8 10.9 7.6 17.5 7.6s12.9-2.7 17.5-7.6l128-136c9.1-9.7 8.6-24.8-1-33.9s-24.8-8.6-33.9 1L216 395.5l0-83.5 0-128c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 128 0 83.5L81.5 303.6c-9.1-9.7-24.3-10.1-33.9-1s-10.1 24.3-1 33.9l128 136zM360 80c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 32C10.7 32 0 42.7 0 56S10.7 80 24 80l336 0z\"]\n};\nvar faArrowFromTop = faArrowDownFromLine;\nvar faGasPump = {\n prefix: 'far',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M256 48c8.8 0 16 7.2 16 16V192H80V64c0-8.8 7.2-16 16-16H256zm16 192V464H80l0-224H272zM32 64V464l-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h8H80 272h48 8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0V304h8c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V155.9c0-19.1-7.6-37.4-21.1-50.9L417 31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l33 33V160c0 29.8 20.4 54.9 48 62V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64z\"]\n};\nvar faSignalBarsSlash = {\n prefix: 'far',\n iconName: 'signal-bars-slash',\n icon: [640, 512, [\"signal-alt-slash\"], \"f694\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V64c0-35.3-28.7-64-64-64s-64 28.7-64 64V325.8L424 307V192c0-35.3-28.7-64-64-64s-64 28.7-64 64v14.7L38.8 5.1zM344 244.3V192c0-8.8 7.2-16 16-16s16 7.2 16 16v77.4l-32-25.1zM496 363.5V64c0-8.8 7.2-16 16-16s16 7.2 16 16V388.5l-32-25.1zM376 392.2V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V367l-48-37.8V448c0 35.3 28.7 64 64 64s64-28.7 64-64V430.1l-48-37.8zM203.3 256.2C170.1 258.6 144 286.2 144 320V448c0 35.3 28.7 64 64 64s64-28.7 64-64V320c0-3.5-.3-7-.8-10.4l-67.9-53.5zM448 449c.3 23.3 13.1 43.5 32 54.5V474.2L448 449zm-224-1c0 8.8-7.2 16-16 16s-16-7.2-16-16V320c0-8.8 7.2-16 16-16s16 7.2 16 16V448zM80 448a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM64 384a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]\n};\nvar faSignalAltSlash = faSignalBarsSlash;\nvar faMonkey = {\n prefix: 'far',\n iconName: 'monkey',\n icon: [576, 512, [128018], \"f6fb\", \"M160 416c0-91.5 54.8-170.2 133.5-204.9c7.3 15.1 17.2 28.6 29.3 39.9C255.7 275.8 208 340.4 208 416v48H400V440c0-39.8-32.2-72-72-72H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c27 0 51.9 8.9 72 24V320 287.1c5.2 .6 10.6 .9 16 .9c11 0 21.7-1.3 32-3.8v1.8l83.5 83.5C560 398 576 436.7 576 477v11c0 13.3-10.7 24-24 24s-24-10.7-24-24V477c0-27.6-11-54-30.5-73.5L448 353.9V440v24h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H400 208 160h-8C68.1 512 0 443.9 0 360V120C0 53.7 53.7 0 120 0h8c53 0 96 43 96 96s-43 96-96 96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c26.5 0 48-21.5 48-48s-21.5-48-48-48h-8c-39.8 0-72 32.2-72 72V360c0 57.4 46.6 104 104 104h8V416zM448 251c-10.1 3.3-20.8 5-32 5c-5.4 0-10.8-.4-16-1.2c-13.5-2.1-26.1-6.8-37.4-13.5c-16.4-9.8-29.9-24.1-38.8-41.1c-1.4-2.7-2.7-5.4-3.8-8.2c-35.3 0-64-28.7-64-64s28.6-64 64-64c15.7-37.6 52.8-64 96-64s80.4 26.4 96 64c35.3 0 64 28.7 64 64s-28.6 64-64 64c-11.6 27.9-35 49.6-64 59zM384 64c-26.5 0-48 21.5-48 48c0 20.8 13.2 38.4 31.6 45.1c4.7 1.7 8.4 5.9 8.4 10.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-5 3.7-9.2 8.4-10.9c18.5-6.7 31.6-24.4 31.6-45.1c0-26.5-21.5-48-48-48H384zm0 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faRectanglePro = {\n prefix: 'far',\n iconName: 'rectangle-pro',\n icon: [640, 512, [\"pro\"], \"e235\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm104 64h56c35.3 0 64 28.7 64 64s-28.7 64-64 64H128v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184c0-13.3 10.7-24 24-24zm56 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H128v32h32zm80-56c0-13.3 10.7-24 24-24h56c35.3 0 64 28.7 64 64c0 21.9-11 41.2-27.7 52.7l24.1 38.5c7 11.2 3.6 26-7.6 33.1s-26 3.6-33.1-7.6l-33-52.7H288v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184zm48 56h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288v32zm200-80c48.6 0 88 39.4 88 88v16c0 48.6-39.4 88-88 88s-88-39.4-88-88V248c0-48.6 39.4-88 88-88zm-40 88v16c0 22.1 17.9 40 40 40s40-17.9 40-40V248c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faPro = faRectanglePro;\nvar faHouseNight = {\n prefix: 'far',\n iconName: 'house-night',\n icon: [640, 512, [], \"e010\", \"M125.2 16.1c6.2-4.4 5.4-14.8-2.2-15.6c-3.6-.4-7.3-.5-11-.5C50.1 0 0 50.1 0 112s50.1 112 112 112c32.1 0 61.1-13.5 81.5-35.2c5.2-5.6-1-14-8.6-13.2c-2.9 .3-5.9 .4-9 .4c-48.6 0-88-39.4-88-88c0-29.7 14.7-55.9 37.2-71.9zm289.9 85.3c-8.8-7.2-21.5-7.2-30.3 0l-216 176c-10.3 8.4-11.8 23.5-3.4 33.8s23.5 11.8 33.8 3.4L224 294.4V456c0 30.9 25.1 56 56 56H520c30.9 0 56-25.1 56-56V294.4l24.8 20.2c10.3 8.4 25.4 6.8 33.8-3.4s6.8-25.4-3.4-33.8l-216-176zM528 255.3V456c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V255.3L400 151 528 255.3zM352 312v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24zM248.5 12.3L236.6 44.6 204.3 56.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15L275.4 44.6 263.5 12.3c-2.6-7-12.4-7-15 0zm-145 320c-2.6-7-12.4-7-15 0L76.6 364.6 44.3 376.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15l-32.3-11.9-11.9-32.3z\"]\n};\nvar faHotTubPerson = {\n prefix: 'far',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M64 0a64 64 0 1 1 0 128A64 64 0 1 1 64 0zM48 336V448c0 8.8 7.2 16 16 16h48V304H48v16 16zM160 464h72V304H160V464zm120 0h72V304l-72 0V464zm-2.7-208H376l24 0 48 0c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V336 320 280 256c0-53 43-96 96-96c20.8 0 41 6.7 57.6 19.2l85.3 64c11.1 8.3 24.6 12.8 38.4 12.8zM48 256l88 0h40l-51.2-38.4c-8.3-6.2-18.4-9.6-28.8-9.6c-26.5 0-48 21.5-48 48zm352 48V464h48c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H400zM272 24v5.2c0 20.4 8.7 39.9 23.8 53.5l16.4 14.8c25.3 22.8 39.7 55.2 39.7 89.2V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V186.8c0-20.4-8.7-39.9-23.8-53.5l-16.4-14.8C238.4 95.7 224 63.3 224 29.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0v5.2c0 20.4 8.7 39.9 23.8 53.5l16.4 14.8c25.3 22.8 39.7 55.2 39.7 89.2V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V186.8c0-20.4-8.7-39.9-23.8-53.5l-16.4-14.8C350.4 95.7 336 63.3 336 29.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHotTub = faHotTubPerson;\nvar faBlanket = {\n prefix: 'far',\n iconName: 'blanket',\n icon: [448, 512, [], \"f498\", \"M48 144V276.1C66.1 263.4 88.2 256 112 256H380c7 0 13.7 1 20 3V144c0-35.3-28.7-64-64-64H112c-35.3 0-64 28.7-64 64zM0 368V144C0 82.1 50.1 32 112 32H336c61.9 0 112 50.1 112 112V320h-.1c.1 1.3 .1 2.7 .1 4c0 37.6-30.4 68-68 68H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H380c11 0 20-9 20-20s-9-20-20-20H112c-35.3 0-64 28.7-64 64s28.7 64 64 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H112C50.1 480 0 429.9 0 368z\"]\n};\nvar faMapLocation = {\n prefix: 'far',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M403 148.6c3.2-10.3 5-20 5-28.6C408 53.7 354.3 0 288 0C226.4 0 175.6 46.4 168.8 106.2c-.5 4.5-.8 9.1-.8 13.8c0 10.3 2.6 22 7 34.6c.7 2.1 1.5 4.2 2.3 6.3c10.4 27 28.3 57.1 46.7 84.4c18.1 26.9 36.7 51.1 49.2 66.6c7.7 9.6 22 9.6 29.6 0c12.4-15.5 31.1-39.7 49.2-66.6c.1-.2 .3-.4 .4-.6c4.6-6.8 9.1-13.7 13.5-20.8c3.3-5.3 6.5-10.7 9.6-16c0-.1 .1-.1 .1-.2c11.8-20.4 21.8-40.8 27.4-59.2zm-8.3 89.6c-13.9 22.5-29.1 44.2-42.7 62.4V453.7L224 407.2V300.6c-13.5-18.2-28.8-39.9-42.7-62.4c-1.8-2.9-3.6-5.8-5.3-8.8V407.2L48 453.7V200.8l96.9-35.2c-5.2-14.9-8.9-30.5-8.9-45.6c0-.8 0-1.5 0-2.3L15.8 161.4C6.3 164.9 0 173.9 0 184V488c0 7.8 3.8 15.2 10.2 19.7s14.6 5.6 22 2.9l167.8-61 167.8 61c5.3 1.9 11.1 1.9 16.4 0l176-64c9.5-3.4 15.8-12.5 15.8-22.6V120c0-7.8-3.8-15.2-10.2-19.7s-14.6-5.6-22-2.9l-105 38.2c-2.2 15-7.3 30.2-13.2 44.2c-2 4.6-4.1 9.3-6.3 14L528 154.3V407.2L400 453.7V229.5c-1.8 3-3.5 5.9-5.3 8.8z\"]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'far',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M301.9 4.4c-8.3-5.9-19.4-5.9-27.7 0l-192 136c-10.8 7.7-13.4 22.6-5.7 33.5s22.6 13.4 33.5 5.7l2.1-1.5v80.4c7.3 1.9 14.4 5.1 20.9 9.6c8.4 5.8 17.7 10.6 27.1 14.1V144.1L288 53.4l128 90.7V282.2c9.5-3.5 18.8-8.3 27.2-14.1c6.5-4.5 13.5-7.8 20.8-9.6V178.1l2.1 1.5c10.8 7.7 25.8 5.1 33.5-5.7s5.1-25.8-5.7-33.5l-192-136zM80 318.1C62.8 333 41 344.8 18.8 349.8C5.9 352.7-2.3 365.5 .6 378.5s15.7 21.1 28.7 18.2C58 390.2 81.6 376.2 96 366.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.7-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zm31.9 112c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faCommentsQuestionCheck = {\n prefix: 'far',\n iconName: 'comments-question-check',\n icon: [640, 512, [], \"e14f\", \"M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.8 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480zM184.3 86.3c-16.4 0-31 10.3-36.4 25.7l-.3 .9c-3 8.3 1.4 17.5 9.7 20.4s17.5-1.4 20.4-9.7l.3-.9c.9-2.7 3.5-4.4 6.3-4.4h41.3c6.5 0 11.7 5.3 11.7 11.7c0 4.2-2.2 8.1-5.9 10.2l-31.4 18c-5 2.9-8 8.1-8 13.9v9.5c0 8.8 7.2 16 16 16s16-7.2 16-16v-.3L247.4 168c13.6-7.8 22-22.3 22-37.9c0-24.2-19.6-43.7-43.7-43.7H184.3zM208 266.7a22.7 22.7 0 1 0 0-45.3 22.7 22.7 0 1 0 0 45.3zm331.3 22c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-74 74-31.4-31.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L431.4 374c6.2 6.2 16.4 6.2 22.6 0l85.3-85.3z\"]\n};\nvar faTree = {\n prefix: 'far',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M241.8 7.9C237.3 2.9 230.8 0 224 0s-13.3 2.9-17.8 7.9l-144 160c-6.3 7-7.9 17.2-4.1 25.8S70.5 208 80 208H91.8l-62 72.4c-6.1 7.1-7.5 17.1-3.6 25.6s12.4 14 21.8 14H72L4.8 409.6c-5.5 7.3-6.3 17-2.3 25.1S14.9 448 24 448H160h40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h40H424c9.1 0 17.4-5.1 21.5-13.3s3.2-17.9-2.3-25.1L376 320h24c9.4 0 17.9-5.5 21.8-14s2.5-18.5-3.6-25.6l-62-72.4H368c9.5 0 18.1-5.6 21.9-14.2s2.3-18.8-4.1-25.8l-144-160zM248 400V216c0-13.3-10.7-24-24-24s-24 10.7-24 24V400H160 72l67.2-89.6c5.5-7.3 6.3-17 2.3-25.1s-12.4-13.3-21.5-13.3H100.2l62-72.4c6.1-7.1 7.5-17.1 3.6-25.6s-12.4-14-21.8-14H133.9L224 59.9 314.1 160H304c-9.4 0-17.9 5.5-21.8 14s-2.5 18.5 3.6 25.6l62 72.4H328c-9.1 0-17.4 5.1-21.5 13.3s-3.2 17.9 2.3 25.1L376 400H288 248z\"]\n};\nvar faArrowsCross = {\n prefix: 'far',\n iconName: 'arrows-cross',\n icon: [448, 512, [], \"e0a2\", \"M296 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h70.1L7 439c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l359-359V184c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24H296zM41 39C31.6 29.7 16.4 29.7 7 39S-2.3 63.6 7 73L167.4 233.4l33.9-33.9L41 39zM246.6 312.6L366.1 432H296c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24s-24 10.7-24 24v70.1L280.6 278.6l-33.9 33.9z\"]\n};\nvar faBackpack = {\n prefix: 'far',\n iconName: 'backpack',\n icon: [448, 512, [127890], \"f5d4\", \"M192 48h64c4.4 0 8 3.6 8 8V80H184V56c0-4.4 3.6-8 8-8zm-56 8V80h-8C57.3 80 0 137.3 0 208V448c0 35.3 28.7 64 64 64h40H344h40c35.3 0 64-28.7 64-64V208c0-70.7-57.3-128-128-128h-8V56c0-30.9-25.1-56-56-56H192c-30.9 0-56 25.1-56 56zM368 464V376 312c0-39.8-32.2-72-72-72H152c-39.8 0-72 32.2-72 72v64 88H64c-8.8 0-16-7.2-16-16V208c0-44.2 35.8-80 80-80h32H288h32c44.2 0 80 35.8 80 80V448c0 8.8-7.2 16-16 16H368zm-240 0V400H320v64H128zm16-304c-13.3 0-24 10.7-24 24s10.7 24 24 24H304c13.3 0 24-10.7 24-24s-10.7-24-24-24H144zM320 352H128V312c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24v40z\"]\n};\nvar faSquareSmall = {\n prefix: 'far',\n iconName: 'square-small',\n icon: [320, 512, [], \"e27e\", \"M256 144c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16H256zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFolderArrowUp = {\n prefix: 'far',\n iconName: 'folder-arrow-up',\n icon: [512, 512, [\"folder-upload\"], \"e054\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM280 376V273.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V376c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faFolderUpload = faFolderArrowUp;\nvar faBridgeLock = {\n prefix: 'far',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 449.6c20.2-19.8 47.9-32 78.4-32c27.3 0 52.4 9.8 71.8 26.1c5-4.4 8.2-10.9 8.2-18.1c0-13.3-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c24.9 0 45.9 16.2 53.2 38.6c5.5-12.6 14.9-23.2 26.8-30v-19c-19.1-22.9-47.8-37.5-80-37.5zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faCrosshairsSimple = {\n prefix: 'far',\n iconName: 'crosshairs-simple',\n icon: [512, 512, [], \"e59f\", \"M462.6 232H392c-13.3 0-24 10.7-24 24s10.7 24 24 24h70.6c-11 95.7-86.9 171.6-182.6 182.6V392c0-13.3-10.7-24-24-24s-24 10.7-24 24v70.6C136.3 451.6 60.4 375.7 49.4 280H120c13.3 0 24-10.7 24-24s-10.7-24-24-24H49.4C60.4 136.3 136.3 60.4 232 49.4V120c0 13.3 10.7 24 24 24s24-10.7 24-24V49.4c95.7 11 171.6 86.9 182.6 182.6zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256z\"]\n};\nvar faSackDollar = {\n prefix: 'far',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M218.7 152h74.6l13.8 8.8C361.1 195.4 464 277 464 416c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48c0-139 102.9-220.6 156.9-255.2l13.8-8.8zM286 104H226l-7.5-10.8L187.4 48H324.6L293.5 93.2 286 104zM150.8 139.9C89.4 185.5 0 274.8 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-141.2-89.4-230.5-150.8-276.1c-10.4-7.7-20-14.2-28.2-19.4l27.3-39.5 29.8-43.2C401 21.7 389.6 0 370.3 0H141.7C122.4 0 111 21.7 121.9 37.6l29.8 43.2L179 120.4c-8.2 5.3-17.8 11.7-28.2 19.4zM276 216c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 11 9 20 20 20s20-9 20-20V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216z\"]\n};\nvar faPenToSquare = {\n prefix: 'far',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"]\n};\nvar faEdit = faPenToSquare;\nvar faSquareSliders = {\n prefix: 'far',\n iconName: 'square-sliders',\n icon: [448, 512, [\"sliders-h-square\"], \"f3f0\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm96 80c0-13.3 10.7-24 24-24l32 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24l0 16 128 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-128 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-32 0c-13.3 0-24-10.7-24-24zm24 184c-13.3 0-24-10.7-24-24s10.7-24 24-24l128 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24l0 16 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-128 0z\"]\n};\nvar faSlidersHSquare = faSquareSliders;\nvar faCarSide = {\n prefix: 'far',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 80H224V96v80 16H99.4l34.7-86.9C140.3 90 155 80 171.3 80zM272 192V176 96 80h81.2c12.2 0 23.6 5.5 31.2 15l77.6 97H272zm252 .6L422 65c-16.7-20.9-42-33-68.7-33H171.3c-36 0-68.3 21.9-81.7 55.3l-42.8 107C19.8 201.8 0 226.6 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-66.7-50.9-121.4-116-127.4zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zm135.8-16c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H48V256c0-8.8 7.2-16 16-16H512c44.2 0 80 35.8 80 80v32H570.5zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMessageMiddleTop = {\n prefix: 'far',\n iconName: 'message-middle-top',\n icon: [512, 512, [\"comment-middle-top-alt\"], \"e1e2\", \"M343.5 144H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16H168.5c14.2 0 27.8-6.3 36.9-17.3L256 66l50.6 60.7c9.1 10.9 22.6 17.3 36.9 17.3zm-175-48H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H343.5L268.3 5.8C265.3 2.1 260.7 0 256 0s-9.3 2.1-12.3 5.8L168.5 96z\"]\n};\nvar faCommentMiddleTopAlt = faMessageMiddleTop;\nvar faLightbulbOn = {\n prefix: 'far',\n iconName: 'lightbulb-on',\n icon: [640, 512, [], \"f672\", \"M69.3 4C58.3-3.3 43.4-.3 36 10.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L69.3 4zM597.3 44c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM117.3 332c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zm432-39.9c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM448 176c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-12.9 17.7-28.3 38.9-39.8 59.8c-10.4 19-15.7 38.8-18.3 57.5H403c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0S144 78.8 144 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-11.5-20.9-26.9-42.1-39.8-59.8l0 0 0 0c-4.7-6.4-9-12.4-12.8-17.7C200.4 228.3 192 203.2 192 176c0-70.7 57.3-128 128-128s128 57.3 128 128zm-176 0c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16zM400 432V416H240v16c0 44.2 35.8 80 80 80s80-35.8 80-80z\"]\n};\nvar faKnife = {\n prefix: 'far',\n iconName: 'knife',\n icon: [512, 512, [\"utensil-knife\"], \"f2e4\", \"M451.4 10.8C458.1 3.9 467.2 0 476.8 0C496.2 0 512 15.8 512 35.2V83.6c0 65.5-25.9 128.4-72.1 174.9l-70.2 70.6c-31.2 31.4-82 31.5-113.3 .2L233.1 306 41.3 504.7c-9.2 9.5-24.4 9.8-33.9 .6s-9.8-24.4-.6-33.9L215.5 255.1 451.4 10.8zm-185 260.7l23.8 23.8c12.5 12.5 32.8 12.5 45.3-.1l70.2-70.6c37.3-37.5 58.2-88.2 58.2-141V66.8L266.4 271.5z\"]\n};\nvar faUtensilKnife = faKnife;\nvar faShareNodes = {\n prefix: 'far',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M448 128c0 53-43 96-96 96c-28.9 0-54.8-12.8-72.4-33l-89.7 44.9c1.4 6.5 2.1 13.2 2.1 20.1s-.7 13.6-2.1 20.1L279.6 321c17.6-20.2 43.5-33 72.4-33c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-6.9 .7-13.6 2.1-20.1L168.4 319c-17.6 20.2-43.5 33-72.4 33c-53 0-96-43-96-96s43-96 96-96c28.9 0 54.8 12.8 72.4 33l89.7-44.9c-1.4-6.5-2.1-13.2-2.1-20.1c0-53 43-96 96-96s96 43 96 96zM96 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM400 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM352 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShareAlt = faShareNodes;\nvar faDisplayChartUpCircleDollar = {\n prefix: 'far',\n iconName: 'display-chart-up-circle-dollar',\n icon: [640, 512, [], \"e5e6\", \"M64 48H512c8.8 0 16 7.2 16 16V194.9c17 3.1 33.1 8.7 48 16.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h42.8c-18.3-12.9-34.1-29.2-46.3-48H323.7 288 252.3l8-48H288h27.7 11c-4.3-15.3-6.6-31.4-6.6-48H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM480 192.7V120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 1.3 .1 2.6 .3 3.9c15-5.8 31-9.7 47.7-11.2zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM472.8 335.4c-.4 .7-.9 1.6-.8 3.6l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4z\"]\n};\nvar faWaveSine = {\n prefix: 'far',\n iconName: 'wave-sine',\n icon: [640, 512, [8767], \"f899\", \"M47.3 237.8l0 0 0 0 .1-.2 .3-1.1c.3-1 .7-2.5 1.3-4.5c1.2-4 3-9.8 5.6-16.8c5.2-14.1 13.1-32.6 24-50.9C101.2 126.6 132.9 96 176 96c33.3 0 55.6 16.4 74.1 46.2c19.5 31.3 32.6 73.9 46.9 120.8l.6 1.9c13.6 44.6 28.3 93.1 51.5 130.3C373.6 434.4 409.3 464 464 464c68.9 0 113.2-49.4 138.6-91.7c13-21.7 22.1-43.1 28-59.1c2.9-8 5.1-14.7 6.5-19.5c.7-2.4 1.3-4.3 1.6-5.6c.2-.7 .3-1.2 .4-1.6l.1-.5 0-.1 0-.1 0 0s0 0-23.3-5.8l23.3 5.8c3.2-12.9-4.6-25.9-17.5-29.1s-25.9 4.6-29.1 17.4l0 0 0 0-.1 .2-.3 1.1c-.3 1-.7 2.5-1.3 4.5c-1.2 4-3 9.8-5.6 16.8c-5.2 14.1-13 32.6-24 50.9C538.8 385.4 507.1 416 464 416c-33.3 0-55.6-16.4-74.1-46.2C370.4 338.5 357.2 295.9 343 249l-.6-1.9C328.8 202.5 314 154 290.9 116.8C266.4 77.6 230.7 48 176 48C107.1 48 62.8 97.4 37.4 139.7c-13 21.7-22.1 43.1-28 59.1c-2.9 8-5.1 14.7-6.5 19.5c-.7 2.4-1.3 4.3-1.6 5.6c-.2 .7-.3 1.2-.4 1.6l-.1 .5 0 .1 0 .1 0 0s0 0 23.3 5.8L.7 226.2c-3.2 12.9 4.6 25.9 17.5 29.1s25.9-4.6 29.1-17.4z\"]\n};\nvar faHeartCircleMinus = {\n prefix: 'far',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0c8.8 0 16-7.2 16-16z\"]\n};\nvar faCircleW = {\n prefix: 'far',\n iconName: 'circle-w',\n icon: [512, 512, [], \"e12c\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM150.9 168.7c-4-12.6-17.5-19.6-30.2-15.5s-19.6 17.5-15.5 30.2l64 200c3.2 9.9 12.4 16.7 22.9 16.7s19.7-6.7 22.9-16.7L256 254.7l41.1 128.6c3.2 9.9 12.4 16.7 22.9 16.7s19.7-6.7 22.9-16.7l64-200c4-12.6-2.9-26.1-15.5-30.2s-26.1 2.9-30.2 15.5L320 297.3 278.9 168.7c-3.2-9.9-12.4-16.7-22.9-16.7s-19.7 6.7-22.9 16.7L192 297.3 150.9 168.7z\"]\n};\nvar faCircleCalendar = {\n prefix: 'far',\n iconName: 'circle-calendar',\n icon: [512, 512, [\"calendar-circle\"], \"e102\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 112c8.8 0 16 7.2 16 16v16h64V128c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c26.5 0 48 21.5 48 48v32 96c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V224 192c0-26.5 21.5-48 48-48h16V128c0-8.8 7.2-16 16-16zM176 320H336V224H176v96z\"]\n};\nvar faCalendarCircle = faCircleCalendar;\nvar faHourglassHalf = {\n prefix: 'far',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M0 24C0 10.7 10.7 0 24 0H360c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V67c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445v19h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V445c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67V48H24C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5H284.2c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67V48H80V67c0 22.1 7 43.4 19.8 61H284.2z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'far',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M192 0c-17.7 0-32 14.3-32 32c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32c0-17.7-14.3-32-32-32H192zM176 272V80h64V272H176zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H320 488c13.3 0 24-10.7 24-24s-10.7-24-24-24H447c39.9-35.2 65-86.7 65-144c0-106-86-192-192-192h0v48h0c79.5 0 144 64.5 144 144s-64.5 144-144 144h0H24zm72-56c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSunset = {\n prefix: 'far',\n iconName: 'sunset',\n icon: [576, 512, [127751], \"f767\", \"M305 217c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V24c0-13.3 10.7-24 24-24s24 10.7 24 24V142.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80zm88.3 8.8c7.5 3.1 12.9 9.8 14.4 17.8l18.1 98.5 98.5 18.1c8 1.5 14.7 6.9 17.8 14.4s2.2 16.1-2.4 22.8L493.9 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H82.1L36.2 397.5c-4.6-6.7-5.5-15.3-2.4-22.8s9.8-13 17.8-14.4l98.5-18.1 18.1-98.5c1.5-8 6.9-14.7 14.4-17.8s16.1-2.2 22.8 2.4L288 285.1l82.5-56.9c6.7-4.6 15.3-5.5 22.8-2.4zM140.4 464h36.7c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h36.7l43.6-63.2-78.3-14.4c-9.8-1.8-17.5-9.5-19.3-19.3l-14.4-78.3L301.6 334c-8.2 5.7-19 5.7-27.2 0l-65.6-45.2-14.4 78.3c-1.8 9.8-9.5 17.5-19.3 19.3L96.8 400.8 140.4 464zM350 464c-7.1-27.6-32.2-48-62-48s-54.9 20.4-62 48H350z\"]\n};\nvar faSink = {\n prefix: 'far',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M280 88c0-22.1 17.9-40 40-40s40 17.9 40 40v24c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-48.6-39.4-88-88-88s-88 39.4-88 88V288H160V264c0-30.9-25.1-56-56-56H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H256 488c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V264c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24H280V88zM32 368v24c0 66.3 53.7 120 120 120H360c66.3 0 120-53.7 120-120V368H432v24c0 39.8-32.2 72-72 72H152c-39.8 0-72-32.2-72-72V368H32z\"]\n};\nvar faCalendarExclamation = {\n prefix: 'far',\n iconName: 'calendar-exclamation',\n icon: [448, 512, [], \"f334\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zM256 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248z\"]\n};\nvar faTruckContainerEmpty = {\n prefix: 'far',\n iconName: 'truck-container-empty',\n icon: [640, 512, [], \"e2b5\", \"M432 168c0-13.3 10.7-24 24-24h72.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 80c0 17.7-14.3 32-32 32c0 44.2-35.8 80-80 80s-80-35.8-80-80H432 288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80s35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32H432V256 168zm103 26.9c-1.5-1.9-3.8-2.9-6.2-2.9H480v64H585l-50-61.1zM528 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHandHeart = {\n prefix: 'far',\n iconName: 'hand-heart',\n icon: [512, 512, [], \"f4bc\", \"M198.4 36C208.8 14.7 230.7 0 256 0s47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64v2c5.1-1.3 10.5-2 16-2c35.3 0 64 28.7 64 64V336c0 1.5-.1 3-.4 4.5c-6.2 91.7-79.4 165-171.1 171.1c-1.5 .3-2.9 .4-4.5 .4h-8-8.5c-67.9 0-133-27-181-75L18.7 349.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l2.7 2.7V96c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4zM240 232c0 13.3-10.7 24-24 24s-24-10.7-24-24V95.9c0-8.8-7.2-15.9-16-15.9c-8.8 0-16 7.2-16 16V319.4c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L75.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l87.8 87.8c39 39 91.9 60.9 147.1 60.9H296h4.9c.6-.1 1.3-.1 1.9-.2c69.7-3.4 125.6-59.3 129-129c0-.6 .1-1.3 .2-1.9V160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V152l0-.1V96c0-8.8-7.2-16-16-16s-16 7.1-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V96l0-.1V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96l0 .1V232zm-32 96.8c0-22.6 18.3-40.8 40.8-40.8c10.8 0 21.2 4.3 28.9 12l5 5 5-5c7.7-7.7 18-12 28.9-12c22.6 0 40.8 18.3 40.8 40.8c0 10.8-4.3 21.2-12 28.9l-55.2 55.2c-4.2 4.2-10.9 4.2-15.1 0L220 357.7c-7.7-7.7-12-18-12-28.9z\"]\n};\nvar faBagShopping = {\n prefix: 'far',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112v48H288V112c0-35.3-28.7-64-64-64s-64 28.7-64 64zm-48 96H48V416c0 26.5 21.5 48 48 48H352c26.5 0 48-21.5 48-48V208H336v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H160v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V208zm0-48V112C112 50.1 162.1 0 224 0s112 50.1 112 112v48h64c26.5 0 48 21.5 48 48V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V208c0-26.5 21.5-48 48-48h64z\"]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'far',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM352 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h74.6L334.1 184.1c-6.3 7.1-7.8 17.2-4 25.8S342.6 224 352 224H480c13.3 0 24-10.7 24-24s-10.7-24-24-24H405.4L497.9 71.9c6.3-7.1 7.8-17.2 4-25.8S489.4 32 480 32H352zm64 240c-9.1 0-17.4 5.1-21.5 13.3l-80 160c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L370.8 440H456c1.7 0 3.3-.2 4.9-.5l13.6 27.2c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-80-160c-4.1-8.1-12.4-13.3-21.5-13.3zM394.8 392L416 349.7 437.2 392H394.8z\"]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'far',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M0 142.6C0 63.8 63.8 0 142.6 0c63.7 0 119.6 42.2 137.1 103.4l21.4 75c15.7-11.8 35-18.4 55.2-18.4h4.5c48.2 0 87.3 39.1 87.3 87.3c0 21.9-8.3 43.1-23.1 59.2L353.3 384H304v-8c0-6 2.3-11.8 6.4-16.3l79.2-85.8c6.7-7.3 10.4-16.8 10.4-26.6c0-21.7-17.6-39.3-39.3-39.3h-4.5c-14.6 0-28.3 7.3-36.4 19.5l-9.5 14.2c-5.2 7.8-14.4 11.8-23.7 10.4s-16.8-8.1-19.4-17.1L233.5 116.6C221.9 76 184.8 48 142.6 48C90.3 48 48 90.3 48 142.6v2.5c0 7.9 1 15.8 2.9 23.5l52.4 209.5c.5 1.9 .7 3.9 .7 5.8H55.3L4.3 180.3C1.5 168.8 0 157 0 145.1v-2.5zM64 416H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448c0-17.7 14.3-32 32-32z\"]\n};\nvar faReplyClock = {\n prefix: 'far',\n iconName: 'reply-clock',\n icon: [640, 512, [\"reply-time\"], \"e239\", \"M640 144a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 64c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm16 272c0-5.6-.3-11.2-.8-16.6c-5 .4-10.1 .6-15.2 .6c-11.4 0-22.6-1.1-33.4-3.2c.9 6.2 1.4 12.6 1.4 19.2c0 15.3-1.9 29.1-5.2 41.5C442 316.7 386.2 272 320 272H224 200c-13.3 0-24 10.7-24 24v24 28.1L55.9 240 176 131.9V160v24c0 13.3 10.7 24 24 24h24H332c-5.9-15.1-9.8-31.2-11.3-48H272 224V112 96c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144C3.9 222.3 0 230.9 0 240s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V368 320h48 48c53 0 96 43 96 96c0 17.3-4.2 30.5-9.5 40.2c-1.6 2.9-3.3 5.5-5 7.9c-2.6 3.5-5.3 6.4-7.7 8.6c-.5 .5-1 .9-1.4 1.4c-4.8 4.9-8.3 11.3-8.3 18.1c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9c2.6-1.4 6.3-3.5 10.8-6.5c2.7-1.8 5.7-3.8 8.9-6.2c3.7-2.7 7.6-5.8 11.7-9.3C473.4 462.2 512 413.9 512 336z\"]\n};\nvar faReplyTime = faReplyClock;\nvar faPersonRays = {\n prefix: 'far',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H240V176.1c.7 0 1.5-.1 2.3-.1zM240 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L346.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H242.3c-31.7 0-61 17.1-76.6 44.7L107.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L192 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM7 7C-2.3 16.4-2.3 31.6 7 41l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7C31.6-2.3 16.4-2.3 7 7zM505 7c-9.4-9.4-24.6-9.4-33.9 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9zM41 505l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zm464 0c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0z\"]\n};\nvar faRight = {\n prefix: 'far',\n iconName: 'right',\n icon: [448, 512, [11157, \"arrow-alt-right\"], \"f356\", \"M397.6 256L247.7 398.7c-.8 .8-2 1.3-3.2 1.3c-2.5 0-4.6-2-4.6-4.6l0-83.4c0-13.3-10.7-24-24-24L48 288l0-64 168 0c13.3 0 24-10.7 24-24l0-83.4c0-2.5 2-4.6 4.6-4.6c1.2 0 2.3 .5 3.2 1.3L397.6 256zm-153 192c13.5 0 26.5-5.2 36.3-14.5L434.8 286.9c8.5-8.1 13.2-19.2 13.2-30.9s-4.8-22.8-13.2-30.9L280.8 78.5C271.1 69.2 258.1 64 244.6 64c-29 0-52.6 23.5-52.6 52.6l0 59.4L48 176c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l144 0 0 59.4c0 29 23.5 52.6 52.6 52.6z\"]\n};\nvar faArrowAltRight = faRight;\nvar faCircleF = {\n prefix: 'far',\n iconName: 'circle-f',\n icon: [512, 512, [], \"e10e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V176H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faUsers = {\n prefix: 'far',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM405.3 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 38.2-16.8 72.5-43.3 96c.2 0 .4 0 .7 0zM320 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-58.7 80H378.7c39.8 0 73.2 27.2 82.6 64H178.7c9.5-36.8 42.9-64 82.6-64zm0-48C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c14.7 0 26.7-11.9 26.7-26.7C512 411.7 452.3 352 378.7 352H261.3z\"]\n};\nvar faFacePleading = {\n prefix: 'far',\n iconName: 'face-pleading',\n icon: [512, 512, [], \"e386\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM266.5 412.4c-2-2.1-5.3-4.4-10.5-4.4s-8.5 2.3-10.5 4.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9c8.9-9.5 24.2-19.6 45.5-19.6s36.7 10.1 45.5 19.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM160 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0 32c-44.2 0-80-35.8-80-80c0-18 6-34.6 16-48c-8 0-14.9-5.9-15.9-14c-1.1-8.8 5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8l-1.5 5.2c-4.2 14.8-11.8 28-21.9 38.8c40.4 4 72 38.1 72 79.6c0 44.2-35.8 80-80 80zm240-80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm32 0c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-41.5 31.5-75.6 72-79.6c-10-10.8-17.6-24.1-21.9-38.8l-1.5-5.2c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9c-1 8.1-7.9 14-15.9 14c10 13.4 16 30 16 48zm-304 0c17.7 0 32-14.3 32-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm224-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32c17.7 0 32-14.3 32-32z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z\"]\n};\nvar faFlaskVial = {\n prefix: 'far',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M175 389.4l49-79.6V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H176 80 32 24C10.7 0 0 10.7 0 24S10.7 48 24 48h8V352c0 53 43 96 96 96c11.2 0 22-1.9 32-5.5c0-18.7 5.2-37.1 15-53.1zM80 48h96V160H80V48zm0 160h96V352c0 26.5-21.5 48-48 48s-48-21.5-48-48V208zM312 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V217.2L202 408.9c-6.6 10.7-10 22.9-10 35.5c0 37.4 30.3 67.6 67.6 67.6H572.4c37.4 0 67.6-30.3 67.6-67.6c0-12.5-3.5-24.8-10-35.5L512 217.2V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zM464 48V224c0 4.4 1.2 8.8 3.6 12.6L518.9 320H313.1l51.3-83.4c2.3-3.8 3.6-8.1 3.6-12.6V48h96zM242.9 434.1L283.6 368H548.4l40.6 66.1c1.9 3.1 2.9 6.7 2.9 10.3c0 10.8-8.8 19.6-19.6 19.6H259.6c-10.9 0-19.6-8.8-19.6-19.6c0-3.6 1-7.2 2.9-10.3z\"]\n};\nvar faPoliceBox = {\n prefix: 'far',\n iconName: 'police-box',\n icon: [384, 512, [], \"e021\", \"M192 0c8.8 0 16 7.2 16 16V32h80c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 64 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V96c0-17.7 14.3-32 32-32c0-17.7 14.3-32 32-32h80V16c0-8.8 7.2-16 16-16zM80 464H304V112H80V464zm24-320c0-4.4 3.6-8 8-8h24v32H104V144zm0 40h32v32H112c-4.4 0-8-3.6-8-8V184zm72-48c4.4 0 8 3.6 8 8v24H152V136h24zm-24 48h32v24c0 4.4-3.6 8-8 8H152V184zm56-48h24v32H200V144c0-4.4 3.6-8 8-8zm24 48v32H208c-4.4 0-8-3.6-8-8V184h32zm16-48h24c4.4 0 8 3.6 8 8v24H248V136zm32 48v24c0 4.4-3.6 8-8 8H248V184h32zM104 248c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V248z\"]\n};\nvar faCucumber = {\n prefix: 'far',\n iconName: 'cucumber',\n icon: [512, 512, [129362], \"e401\", \"M71.4 440.6c-31.2-31.2-31.2-81.9 0-113.1l256-256c31.2-31.2 81.9-31.2 113.1 0s31.2 81.9 0 113.1l-63 63c-4.4-4.7-10.6-7.6-17.5-7.6c-13.3 0-24 10.7-24 24c0 6.9 2.9 13.1 7.6 17.5l-159 159c-31.2 31.2-81.9 31.2-113.1 0zM37.5 474.5c47.8 47.8 124 49.9 174.3 6.3c12.6 10.3 31.1 9.6 42.9-2.2c11.6-11.6 12.4-30 2.4-42.6L436 257c12.6 10.1 31 9.3 42.6-2.4c11.7-11.7 12.5-30.3 2.2-42.9c43.6-50.3 41.5-126.5-6.3-174.3c-50-50-131-50-181 0L172 159c-12.6-10.1-31-9.3-42.6 2.4s-12.4 30-2.4 42.6L37.5 293.5c-50 50-50 131 0 181zM352 152a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM184 320a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHeadSideBrain = {\n prefix: 'far',\n iconName: 'head-side-brain',\n icon: [512, 512, [], \"f808\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm264-32c22.1 0 40-17.9 40-40s-17.9-40-40-40c-2 0-3.9 .1-5.8 .4C299.8 102.5 288.7 96 276 96c-6.2 0-12.1 1.6-17.2 4.3C252 88.2 238.9 80 224 80s-28 8.2-34.8 20.3C184.1 97.6 178.2 96 172 96c-18.5 0-33.8 14-35.8 32l-.2 0c-22.1 0-40 17.9-40 40c0 16.5 9.9 30.6 24.1 36.7c-.1 1.1-.1 2.2-.1 3.3c0 22.1 17.9 40 40 40c5.7 0 11.1-1.2 16-3.3V296c0 13.3 10.7 24 24 24s24-10.7 24-24V247.2c2.6 .5 5.3 .8 8 .8c22.1 0 40-17.9 40-40c0-5.7-1.2-11.1-3.3-16H312z\"]\n};\nvar faHand = {\n prefix: 'far',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64V261.5l-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75H296h8c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5V160c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2V96c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1c0 0 0-.1 0-.1V64c0-8.8 7.2-16 16-16s16 7.2 16 16V95.9c0 0 0 .1 0 .1V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16v55.9c0 0 0 .1 0 .1v80c0 13.3 10.7 24 24 24s24-10.7 24-24V160.1c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16V332.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2H296h-8.5c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96.1z\"]\n};\nvar faHandPaper = faHand;\nvar faPersonBikingMountain = {\n prefix: 'far',\n iconName: 'person-biking-mountain',\n icon: [640, 512, [128693, \"biking-mountain\"], \"f84b\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm.5 103c-2.7-3.4-7.5-4-11-1.4l-74.6 55c-9.6 7.1-8.4 21.8 2.3 27.2l69.6 34.8c8.1 4.1 13.3 12.4 13.3 21.5V416c0 13.3-10.7 24-24 24s-24-10.7-24-24V302.8l-56.3-28.1c-42.8-21.4-47.8-80.4-9.3-108.8l74.6-55C337.2 93.1 371.2 97.5 390 121l37.6 47H480c13.3 0 24 10.7 24 24s-10.7 24-24 24H416c-7.3 0-14.2-3.3-18.7-9l-44.8-56zM188.4 166.7c-6.9 5.2-16.7 3.9-22.1-2.8l-44-55c-5.6-7.1-4.3-17.4 2.9-22.8l65.2-48.9c27.7-20.7 66.8-15.8 88.4 11.2l14.9 18.7c5.6 7.1 4.3 17.4-2.9 22.8L188.4 166.7zM120 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C158.1 503.1 148.1 512 136 512H120c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L31.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C8.9 414.1 0 404.1 0 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9C97.9 264.9 107.9 256 120 256zm8 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM480.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C542.1 503.1 532.1 512 520 512H504c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C392.9 414.1 384 404.1 384 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM576 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBikingMountain = faPersonBikingMountain;\nvar faUtensilsSlash = {\n prefix: 'far',\n iconName: 'utensils-slash',\n icon: [640, 512, [], \"e464\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l76.5 59.9 4.9-43.7C121.6 8.2 133.5-1.3 146.7 .1s22.7 13.3 21.2 26.5l-8.1 73.2L200 131.5V24c0-13.3 10.7-24 24-24s24 10.7 24 24V168c0 .4 0 .7 0 1.1L291.2 203c3-5.6 4.8-12.1 4.8-19V169.3L280.1 26.7c-1.5-13.2 8-25 21.2-26.5s25 8 26.5 21.2l16 144 .1 1.3V168v16c0 18-5.4 34.8-14.7 48.8L384 275.7V176C384 32 496 0 512 0c17.7 0 32 14.3 32 32V248v56 48 49.1l86.8 68c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2zM104 184v-6.1L248 291.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272h-8c-48.6 0-88-39.4-88-88zM519.7 512h.6l-.3 0-.3 0zM432 176V288c0 8.8 7.2 16 16 16h48V248 55.1c-7.1 3.6-14.9 8.5-22.6 15.2C453.7 87.4 432 118.3 432 176z\"]\n};\nvar faPrintMagnifyingGlass = {\n prefix: 'far',\n iconName: 'print-magnifying-glass',\n icon: [640, 512, [\"print-search\"], \"f81a\", \"M176 160H128V64c0-35.3 28.7-64 64-64H421.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 18.7 28.3 18.7 45.3V160H464V90.5c0-4.2-1.7-8.3-4.7-11.3L432.8 52.7c-3-3-7.1-4.7-11.3-4.7H192c-8.8 0-16 7.2-16 16v96zm16 208v96H378.2c21.1 10.2 44.8 16 69.8 16c16.7 0 32.8-2.6 48-7.3V480c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V400H96c-17.7 0-32-14.3-32-32V256c0-35.3 28.7-64 64-64H352c-17.2 12.9-31.7 29.3-42.6 48H128c-8.8 0-16 7.2-16 16v96h32c0-17.7 14.3-32 32-32H288c0 16.7 2.6 32.8 7.3 48H192zm256 32.2a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0 48c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426c-20.5 14-45.3 22.1-71.9 22.1z\"]\n};\nvar faPrintSearch = faPrintMagnifyingGlass;\nvar faFolderBookmark = {\n prefix: 'far',\n iconName: 'folder-bookmark',\n icon: [512, 512, [], \"e186\", \"M251.7 127.6l0 0c1.4 1.4 2.8 2.7 4.3 3.9V304c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L336 276l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.3 8.8-14.3V144h32c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3z\"]\n};\nvar faOm = {\n prefix: 'far',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M379.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6l-16-16zm10.9 255c7.5-7.5 17.7-11.7 28.3-11.7H424c22.1 0 40 17.9 40 40V400c0 17.7-14.3 32-32 32c-25.7 0-41.4-12.5-51.2-25.6c-5-6.7-8.4-13.4-10.5-18.6c-1.1-2.5-1.8-4.6-2.2-6c-.2-.7-.4-1.2-.5-1.5l-.1-.3 0 0 0 0c-1.8-7.3-8.4-12.3-15.9-12.1s-13.8 5.5-15.3 12.9L352 384c-15.7-3.1-15.7-3.1-15.7-3.1l0 0 0 0 0 .1-.1 .3c0 .3-.1 .6-.2 1c-.1 .8-.3 1.9-.4 3.2c-.3 2.7-.6 6.4-.6 10.9c0 8.8 1.2 21 6.1 33.4c5.1 12.7 14.1 25.6 29.4 35.1c15.1 9.5 35.3 14.9 61.5 14.9c44.2 0 80-35.8 80-80V288c0-48.6-39.4-88-88-88h-5.5c-23.3 0-45.7 9.3-62.2 25.8l-26.5 26.5c-7.5 7.5-17.7 11.7-28.3 11.7H231.7C242 247.8 248 228.6 248 208c0-57.4-46.6-104-104-104c-23.4 0-45 7.7-62.4 20.8c-10.6 8-12.7 23-4.8 33.6s23 12.7 33.6 4.8c9.4-7 21-11.2 33.6-11.2c30.9 0 56 25.1 56 56s-25.1 56-56 56H108.9c-7.1 0-12.9 5.8-12.9 12.9c0 2 .5 4 1.4 5.8l5.8 11.6c5.4 10.8 16.5 17.7 28.6 17.7H144h12c42 0 76 34 76 76c0 41.5-33.2 75.2-74.5 76c-50.1-.6-77-18.5-91.6-34.7c-7.6-8.5-12.3-16.9-15-23.2c-1.3-3.1-2.2-5.6-2.7-7.3c-.2-.8-.4-1.4-.5-1.8l-.1-.3c-1.7-8-9.1-13.5-17.2-12.7C22.2 384.9 16 391.8 16 400H32c-16 0-16 0-16 0l0 0 0 .1 0 .1 0 .4c0 .3 0 .7 0 1.2c0 1 .1 2.3 .3 3.9c.3 3.2 .9 7.6 2.1 12.8c2.3 10.4 7 24.4 16.3 38.4C53.6 485.3 89.9 511 156 512v0c.5 0 1.1 0 1.6 0c.8 0 1.6 0 2.4 0c.8 0 1.5-.1 2.2-.2C227.8 508.6 280 454.4 280 388c0-28.6-9.7-55-26-76h47.5c23.3 0 45.7-9.3 62.2-25.8l26.5-26.5zm80.8-153c10.4-8.3 12-23.4 3.8-33.7l-33.7-3.8 0 0-.2 .1c-.2 .1-.5 .4-1 .7c-.9 .7-2.4 1.7-4.3 3c-3.8 2.6-9.5 6-16.4 9.5C405.1 89.6 387 96 368.2 96l-.2 0c-20.8 0-42.4-7-59.5-14.6c-8.4-3.7-15.4-7.5-20.3-10.3c-2.4-1.4-4.3-2.5-5.6-3.3c-.6-.4-1.1-.7-1.4-.9l-.3-.2 0 0 0 0 0 0c-6.3-4.2-14.8-3.4-20.2 2s-6.2 13.8-2 20.2L272 80c-13.3 8.9-13.3 8.9-13.3 8.9l0 0 0 0 .1 .1 .1 .2 .4 .6c.3 .5 .8 1.1 1.4 1.9c1.2 1.6 3 3.8 5.3 6.4c4.6 5.1 11.3 11.9 20.4 18.7c18 13.5 45.3 27.2 81.5 27.2l.1 0c29.1 0 54.9-9.6 72.7-18.5c9.1-4.5 16.4-9.1 21.6-12.5c2.6-1.7 4.6-3.2 6.1-4.3c.7-.5 1.3-1 1.7-1.3l.5-.4 .2-.1 .1-.1 0 0 0 0s0 0-15-18.7l15 18.7zM441.1 69.2L474.7 73c-8.3-10.3-23.3-12-33.7-3.8zM367.5 380.1l0 0c0 0 0 0 0 0z\"]\n};\nvar faPi = {\n prefix: 'far',\n iconName: 'pi',\n icon: [448, 512, [], \"f67e\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h88V277.4c0 44.9-11.4 89-33.2 128.2L75 412.3c-6.4 11.6-2.3 26.2 9.3 32.6s26.2 2.3 32.6-9.3l3.8-6.8c25.8-46.4 39.3-98.5 39.3-151.5V112H304V374.6c0 40.6 32.9 73.4 73.4 73.4c27.8 0 53.2-15.7 65.7-40.6l2.3-4.7c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7l-2.3 4.7c-4.3 8.6-13.1 14.1-22.8 14.1c-14.1 0-25.4-11.4-25.4-25.4V112h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faFlaskRoundPotion = {\n prefix: 'far',\n iconName: 'flask-round-potion',\n icon: [448, 512, [\"flask-potion\"], \"f6e1\", \"M176 48h96V157.7c0 24.3 13.5 44.9 32.3 55.9C352.1 241.4 384 293 384 351.9c-64.4-.9-94.8-12.3-122.5-22.7c-23.8-9-45.7-17.2-85.5-17.2c-55.8 0-92.3 16.1-111.5 27.9c4-53.9 34.8-100.4 79.2-126.3c18.8-11 32.3-31.6 32.3-55.9V48zM320 157.7V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H304 144 120C106.7 0 96 10.7 96 24s10.7 24 24 24h8V157.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4z\"]\n};\nvar faFlaskPotion = faFlaskRoundPotion;\nvar faFaceShush = {\n prefix: 'far',\n iconName: 'face-shush',\n icon: [512, 512, [], \"e38c\", \"M48 256c0 73.6 38.3 138.3 96 175.3v.7 24c0 11.8 2.3 23.1 6.5 33.3C61.8 449.1 0 359.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 82.2-38.8 155.4-99 202.3c6.4-18.5 2.7-39.4-10.4-54.7C440.5 365.9 464 313.7 464 256c0-114.9-93.1-208-208-208S48 141.1 48 256zm299.3-4.7c-8.7 8.7-20.5 17.7-35.3 24.6V248c0-2.8-.2-5.6-.6-8.4c5.2-3.5 9.6-7.3 13.3-10.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM200 248v27.9c-14.8-6.9-26.6-15.9-35.3-24.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0c3.7 3.7 8.1 7.4 13.3 10.9c-.4 2.7-.6 5.5-.6 8.4zM176.4 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM280 248v72H232V248c0-13.3 10.7-24 24-24s24 10.7 24 24zM224 408v11.5L287.6 464h10c7.1 0 13.9-3.2 18.4-8.6l25.6-30.7c8.5-10.2 23.6-11.6 33.8-3.1s11.6 23.6 3.1 33.8l-25.6 30.7c-13.7 16.4-33.9 25.9-55.3 25.9H280 232c-30.9 0-56-25.1-56-56V432 408c0-30.9 25.1-56 56-56h32c30.9 0 56 25.1 56 56v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8z\"]\n};\nvar faWorm = {\n prefix: 'far',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M400 192V368c0 35.3-28.7 64-64 64s-64-28.7-64-64V320c0-53-43-96-96-96s-96 43-96 96V448c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-35.3 28.7-64 64-64s64 28.7 64 64v48c0 53 43 96 96 96s96-43 96-96V192 120 96c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48s21.5 48 48 48h16 48v48zM176 176c15.9 0 31.2 2.6 45.5 7.3c27.7 9.2 51.7 26.6 69 49.3c5.1 6.7 9.6 13.8 13.5 21.3c10.2 19.8 16 42.2 16 66v20.3V368c0 8.8 7.2 16 16 16s16-7.2 16-16V340.3 320 243.1 240 192H336c-6.3 0-12.5-.6-18.5-1.8c-27.6-5.4-51-22.6-64.7-46.2c-8.2-14.1-12.8-30.5-12.8-48c0-53 43-96 96-96h48c53 0 96 43 96 96v24 72V368c0 79.5-64.5 144-144 144c-55.7 0-104.1-31.7-128-78c-10.2-19.8-16-42.2-16-66V347.7 320c0-8.8-7.2-16-16-16s-16 7.2-16 16v27.7V368v76.9V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V320c0-79.5 64.5-144 144-144zM376 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHouseCircleXmark = {\n prefix: 'far',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H336v0H240V320h86.6c4.8-17.1 12.2-33.2 21.7-47.8c-1.4-.2-2.9-.2-4.3-.2H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 454.7 196.9c13.3-3.2 27.1-4.9 41.3-4.9c10.3 0 20.3 .9 30.1 2.6L303.5 5.7zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faPlug = {\n prefix: 'far',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c77-11.6 136-78 136-158.2V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM192 368c-61.9 0-112-50.1-112-112V192H304v64c0 61.9-50.1 112-112 112z\"]\n};\nvar faCalendarCircleExclamation = {\n prefix: 'far',\n iconName: 'calendar-circle-exclamation',\n icon: [576, 512, [], \"e46e\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faSquareI = {\n prefix: 'far',\n iconName: 'square-i',\n icon: [448, 512, [], \"e272\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faChevronUp = {\n prefix: 'far',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M239 111c9.4-9.4 24.6-9.4 33.9 0L465 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-175-175L81 337c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 111z\"]\n};\nvar faFaceSaluting = {\n prefix: 'far',\n iconName: 'face-saluting',\n icon: [640, 512, [129761], \"e484\", \"M266.6 14C256.7-.6 236.8-4.4 222.2 5.5L35.1 132.5c-44.3 30.1-47.1 94.4-5.6 128.2l1.5 1.2c28.1 22.9 68.2 24 97.5 2.7l82.3-59.9c14.3-10.4 17.5-30.4 7.1-44.7s-30.4-17.5-44.7-7.1l-3.3 2.4s0 0 0 0l-9.9 7.2-14.2 10.4L128 185.8V146.8L258.1 58.5c14.6-9.9 18.4-29.8 8.5-44.4zm31.8-8.4c7.2 15.7 7.4 33.4 1.6 48.9c16.6-4.3 34-6.5 52-6.5c114.9 0 208 93.1 208 208s-93.1 208-208 208c-103 0-188.6-74.9-205.1-173.2c-13.8 9.9-29.2 16.3-45.2 19.2C126.5 425.5 229.2 512 352 512c141.4 0 256-114.6 256-256S493.4 0 352 0c-18.4 0-36.3 1.9-53.5 5.6zM256 180.5c-.4 13.7-5.1 27.1-13.8 38.2c4.4 12.4 16.2 21.4 30.2 21.4c17.7 0 32-14.3 32-32s-14.3-32-32-32c-6 0-11.6 1.6-16.3 4.5zm13.4 152.6c-11-7.4-25.9-4.6-33.3 6.4s-4.6 25.9 6.4 33.3C265 388.1 301.7 403 352 403s87-14.9 109.5-30.2c11-7.4 13.8-22.4 6.4-33.3s-22.4-13.8-33.3-6.4C419.9 343 392.6 355 352 355s-67.9-12-82.5-21.9zM432.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faGaugeSimpleLow = {\n prefix: 'far',\n iconName: 'gauge-simple-low',\n icon: [512, 512, [\"tachometer-slow\"], \"f62c\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM200 352c0-14 5.1-26.8 13.7-36.6L146 161.7c-5.3-12.1 .2-26.3 12.3-31.6s26.3 .2 31.6 12.3L257.6 296c30.2 .8 54.4 25.6 54.4 56c0 30.9-25.1 56-56 56s-56-25.1-56-56z\"]\n};\nvar faTachometerSlow = faGaugeSimpleLow;\nvar faFacePersevering = {\n prefix: 'far',\n iconName: 'face-persevering',\n icon: [512, 512, [], \"e385\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM294.5 408.4c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9C196.7 360.3 221.4 344 256 344s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM211.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4zM133.5 210.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 221.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faCircleCamera = {\n prefix: 'far',\n iconName: 'circle-camera',\n icon: [512, 512, [\"camera-circle\"], \"e103\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm196-96l6.2-16.4c3.5-9.4 12.5-15.6 22.5-15.6h62.7c10 0 19 6.2 22.5 15.6L316 160h36c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h36zm108 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCameraCircle = faCircleCamera;\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M221.7 25.3L215.6 2.1l6.2 23.2zm48.9 28.4l23.2-6.2v0l-23.2 6.2zM193.3 74.3l-23.2 6.2 0 0 23.2-6.2zm46.5 175.3l-22.1 9.3c4.9 11.6 17.9 17.5 29.9 13.4s18.7-16.7 15.4-28.9l-23.2 6.2zm-51-121.1l-22.1 9.3v0l22.1-9.3zm-52.4-21.3l9.3 22.1h0l-9.3-22.1zm-21.3 52.4L93 168.8h0l22.1-9.3zm5.4 144.9l14.7-18.9h0l-14.7 18.9zm-56.1 7l18.9 14.7 0 0L64.4 311.4zm7 56.1L56.7 386.5h0l14.7-18.9zm92 71.6l-14.7 18.9 14.7-18.9zm300.1-48.5l23.3 5.8-23.3-5.8zm55.2-220.9l23.3 5.8-23.3-5.8zm-29.1-48.5l5.8-23.3-5.8 23.3zm-48.5 29.1l23.3 5.8v0l-23.3-5.8zM415 255l23.3 5.8 0 0L415 255zm-2.6-.5l23.6 4.2 0 0-23.6-4.2zM439.4 103l23.6 4.2v0L439.4 103zM407 56.6l-4.2 23.6L407 56.6zM360.6 89L337 84.8 360.6 89zM331.5 252.6l-23.6-4.2 0 0 23.6 4.2zm-8 .3l23.2-6.2 0 0-23.2 6.2zM336 488l.5-24-.5 24zm-157-138L193.8 331l-14.7 18.9zM227.9 48.5c8.5-2.3 17.3 2.8 19.6 11.4l46.4-12.3c-9.1-34.2-44.1-54.5-78.3-45.4l12.3 46.4zM216.5 68.1c-2.3-8.5 2.8-17.3 11.4-19.6L215.6 2.1c-34.2 9.1-54.5 44.1-45.4 78.3l46.4-12.3zM263 243.4L216.5 68.1 170.1 80.4l46.5 175.3L263 243.4zM166.7 137.8l51 121.1L262 240.2 211 119.2l-44.2 18.6zm-21-8.5c8.1-3.4 17.5 .4 21 8.5L211 119.2C197.3 86.6 159.7 71.3 127.2 85l18.6 44.2zm-8.5 21c-3.4-8.1 .4-17.5 8.5-21L127.2 85C94.6 98.7 79.3 136.3 93 168.8l44.2-18.6zm76.2 181l-76.2-181L93 168.8l76.2 181 44.2-18.6zm-107.6-7.8l58.5 45.5L193.8 331l-58.5-45.5-29.5 37.9zm-22.5 2.8c5.4-7 15.5-8.2 22.5-2.8l29.5-37.9c-27.9-21.7-68.1-16.7-89.8 11.2l37.9 29.5zm2.8 22.5c-7-5.4-8.2-15.5-2.8-22.5L45.5 296.7c-21.7 27.9-16.7 68.1 11.2 89.8l29.5-37.9zm92 71.6l-92-71.6L56.7 386.5l92 71.6 29.5-37.9zM305.9 464c-46.3 0-91.2-15.4-127.7-43.8l-29.5 37.9C193.6 493 248.9 512 305.9 512V464zm30.1 0H305.9v48H336V464zm2.8 0c-.8 0-1.5 0-2.3 0l-1 48c1.1 0 2.2 0 3.3 0V464zm101.5-79.2C428.7 431.3 386.8 464 338.8 464v48c70 0 131.1-47.7 148-115.6l-46.6-11.6zm55.2-220.9L440.3 384.8l46.6 11.6 55.2-220.9-46.6-11.6zm-11.6-19.4c8.6 2.1 13.8 10.8 11.6 19.4l46.6 11.6c8.6-34.3-12.3-69-46.6-77.6l-11.6 46.6zm-19.4 11.6c2.1-8.6 10.8-13.8 19.4-11.6l11.6-46.6c-34.3-8.6-69 12.3-77.6 46.6l46.6 11.6zM438.3 260.8l26.2-104.7-46.6-11.6L391.7 249.2l46.6 11.6zM413.7 280c11.6 0 21.7-7.9 24.6-19.2l-46.6-11.6c2.5-10.1 11.6-17.2 22-17.2v48zm-24.9-29.7c-2.8 15.5 9.2 29.7 24.9 29.7V232c14.1 0 24.8 12.8 22.3 26.7l-47.3-8.4zM415.8 98.8L388.8 250.3l47.3 8.4L463 107.2l-47.3-8.4zm-13-18.6c8.7 1.5 14.5 9.9 13 18.6l47.3 8.4c6.2-34.8-17-68-51.8-74.2l-8.4 47.3zm-18.6 13c1.5-8.7 9.9-14.5 18.6-13L411.2 33c-34.8-6.2-68 17-74.2 51.8l47.3 8.4zM355.2 256.8L384.2 93.2 337 84.8 307.9 248.4l47.3 8.4zM327.5 280c13.6 0 25.3-9.8 27.7-23.2l-47.3-8.4c1.7-9.5 9.9-16.4 19.6-16.4v48zm-27.2-20.9c3.3 12.3 14.4 20.9 27.2 20.9V232c9 0 16.9 6.1 19.2 14.8l-46.4 12.3zM247.5 59.9l52.8 199.2 46.4-12.3L293.9 47.6 247.5 59.9zM360 488c0 13.5-11.1 24.3-24.5 24l1-48c-13.5-.3-24.5 10.5-24.5 24h48zm-24 24c13.3 0 24-10.8 24-24H312c0-13.2 10.7-24 24-24v48zM169.2 349.8c-6.4-15.2 11.6-29 24.6-18.8l-29.5 37.9c26 20.2 61.9-7.3 49.1-37.7l-44.2 18.6z\"]\n};\nvar faSpiderWeb = {\n prefix: 'far',\n iconName: 'spider-web',\n icon: [576, 512, [128376], \"f719\", \"M137.5 23.6C141.6 12.7 153 6.3 164.4 8.4l69 12.9c36.1 6.8 73 6.8 109.1 0l69-12.9c11.5-2.1 22.8 4.2 26.9 15.2l28.9 77.2c11.7 31.1 28.5 60 49.8 85.6l45.3 54.3c7.4 8.9 7.4 21.8 0 30.7l-45.3 54.3c-21.3 25.5-38.1 54.5-49.8 85.6l-28.9 77.2c-4.1 10.9-15.4 17.3-26.9 15.2l-69-12.9c-36.1-6.8-73-6.8-109.1 0l-69 12.9c-11.5 2.1-22.8-4.2-26.9-15.2l-28.9-77.2c-11.7-31.1-28.5-60-49.8-85.6L13.6 271.4c-7.4-8.9-7.4-21.8 0-30.7l45.3-54.3c21.3-25.5 38.1-54.5 49.8-85.6l28.9-77.2zm27 64.7l-11 29.3c-13.6 36.2-33.1 69.8-57.8 99.4L83.2 232h49.8c23.5-27.6 41.7-59.2 53.7-93.4l2.5-7L164.5 88.3zm42.1-23.1l24 41.9c37.7 9.5 77.2 9.5 114.9 0l24-41.9-18 3.4c-41.9 7.9-84.9 7.9-126.8 0l-18-3.4zM411.5 88.3l-24.8 43.3 2.5 7c12.1 34.2 30.3 65.8 53.8 93.4h49.8l-12.5-14.9c-24.7-29.7-44.3-63.3-57.8-99.4l-11-29.3zM492.8 280H443c-23.6 28.1-41.8 60.4-53.6 95.3l-2.1 6.1 24.2 42.4 11-29.3c13.6-36.2 33.1-69.8 57.8-99.4L492.8 280zM369.4 446.8l-22.1-38.7c-37.9-11.7-78.3-12.8-116.7-3.2l-24 41.9 18-3.4c41.9-7.9 84.9-7.9 126.8 0l18 3.4zM164.5 423.7l24.8-43.3-2.5-7c-12.1-34.2-30.3-65.8-53.7-93.4H83.2l12.5 14.9c24.7 29.7 44.3 63.3 57.8 99.4l11 29.3zM193.2 280c10.1 15 18.9 30.7 26.5 47.1L246.6 280H193.2zm67.9 71.4c18.1-1.5 36.3-1.2 54.3 1L288 304.4l-26.9 47zm95.5-23.7c7.6-16.6 16.4-32.5 26.5-47.7H329.4l27.3 47.7zM382.8 232c-10.1-15-18.9-30.7-26.5-47.1L329.4 232h53.4zm-68.1-71c-17.7 1.7-35.6 1.7-53.3 0L288 207.6 314.7 161zm-94.9 23.9c-7.6 16.4-16.5 32.1-26.5 47.1h53.4l-26.9-47.1z\"]\n};\nvar faCircleMicrophone = {\n prefix: 'far',\n iconName: 'circle-microphone',\n icon: [512, 512, [\"microphone-circle\"], \"e116\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256c0 26.5-21.5 48-48 48s-48-21.5-48-48V144zm-56 88c13.3 0 24 10.7 24 24c0 44.2 35.8 80 80 80s80-35.8 80-80c0-13.3 10.7-24 24-24s24 10.7 24 24c0 62.5-44.8 114.5-104 125.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V381.8C172.8 370.5 128 318.5 128 256c0-13.3 10.7-24 24-24z\"]\n};\nvar faMicrophoneCircle = faCircleMicrophone;\nvar faBookArrowUp = {\n prefix: 'far',\n iconName: 'book-arrow-up',\n icon: [448, 512, [], \"e0ba\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80h96V464H80c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V352H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V344c0 4.4-3.6 8-8 8H304v48h64v64H304v48H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V56c0-30.9-25.1-56-56-56H88zm55 215c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L216 488c0 13.3 10.7 24 24 24s24-10.7 24-24V209.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faPopsicle = {\n prefix: 'far',\n iconName: 'popsicle',\n icon: [320, 512, [], \"e43e\", \"M272 160c0-61.9-50.1-112-112-112S48 98.1 48 160l0 176h88V184c0-13.3 10.7-24 24-24s24 10.7 24 24V336h88V160zM136 384H48c-26.5 0-48-21.5-48-48V160C0 71.6 71.6 0 160 0s160 71.6 160 160V336c0 26.5-21.5 48-48 48H184V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384z\"]\n};\nvar faCommand = {\n prefix: 'far',\n iconName: 'command',\n icon: [512, 512, [], \"e142\", \"M0 92C0 41.2 41.2 0 92 0s92 41.2 92 92v44H328V92c0-50.8 41.2-92 92-92s92 41.2 92 92v4c0 53-43 96-96 96H376V320h40c53 0 96 43 96 96v4c0 50.8-41.2 92-92 92s-92-41.2-92-92V376H184v44c0 50.8-41.2 92-92 92s-92-41.2-92-92v-4c0-53 43-96 96-96h40V192H96C43 192 0 149 0 96V92zm136 52v-8V92c0-24.3-19.7-44-44-44S48 67.7 48 92v4c0 26.5 21.5 48 48 48h40zm48 176v8H328v-8V192v-8H184v8V320zm-48 48H96c-26.5 0-48 21.5-48 48v4c0 24.3 19.7 44 44 44s44-19.7 44-44V376v-8zm240 8v44c0 24.3 19.7 44 44 44s44-19.7 44-44v-4c0-26.5-21.5-48-48-48H376v8zm0-232h40c26.5 0 48-21.5 48-48V92c0-24.3-19.7-44-44-44s-44 19.7-44 44v44 8z\"]\n};\nvar faBlinds = {\n prefix: 'far',\n iconName: 'blinds',\n icon: [512, 512, [], \"f8fb\", \"M0 24C0 10.7 10.7 0 24 0H488c13.3 0 24 10.7 24 24c0 8.6-4.5 16.2-11.4 20.4l11 57.6c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H224V80H458.6l-6.1-32H192V164.1c28 9.9 48 36.6 48 67.9c0 39.8-32.2 72-72 72s-72-32.2-72-72c0-31.3 20-58 48-67.9V48H59.5L53.4 80H112v48H21.9C9.8 128 0 118.2 0 106.1c0-1.4 .1-2.8 .4-4.1l11-57.6C4.5 40.2 0 32.6 0 24zM66.8 208C65 215.7 64 223.7 64 232s1 16.3 2.8 24H21.9C9.8 256 0 246.2 0 234.1c0-1.4 .1-2.8 .4-4.1l13.3-70H62.6l-9.1 48H66.8zm202.4 48c1.8-7.7 2.8-15.7 2.8-24s-1-16.3-2.8-24H458.6l-9.1-48h48.9l13.3 70c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H269.2zM168 336H458.6l-9.1-48h48.9l13.3 70c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H21.9C9.8 384 0 374.2 0 362.1c0-1.4 .1-2.8 .4-4.1l13.3-70H62.6l-9.1 48H168zM13.7 416H62.6l-9.1 48H458.6l-9.1-48h48.9l13.3 70c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H21.9C9.8 512 0 502.2 0 490.1c0-1.4 .1-2.8 .4-4.1l13.3-70zM168 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faStopwatch = {\n prefix: 'far',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M144 24c0-13.3 10.7-24 24-24H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V97.4c43.4 5 82.8 23.3 113.8 50.9L391 119c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-31 31c24 33.9 38.1 75.3 38.1 120c0 114.9-93.1 208-208 208S16 418.9 16 304C16 197.2 96.4 109.3 200 97.4V48H168c-13.3 0-24-10.7-24-24zm80 440a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm24-248V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSaxophone = {\n prefix: 'far',\n iconName: 'saxophone',\n icon: [640, 512, [127927], \"f8dc\", \"M514.5 32c-23.3 0-45.7 9.3-62.2 25.8L448 62.1l-7-7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l7 7L400 110l-7-7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l7 7L352 158l-7-7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l7 7-90.6 90.6L265 176c12.8-.5 23-11.1 23-24c0-13.3-10.7-24-24-24H248 56 24c-13.3 0-24 10.7-24 24s10.7 24 24 24h2.1L4 275.3c-2.7 12-4 24.2-4 36.5C0 404.7 75.3 480 168.2 480h9.1c51.9 0 101.2-22.7 134.9-62.2l224.5-263c1.5-1.8 3.7-2.8 6.1-2.8h50.6c25.8 0 46.6-20.9 46.6-46.6c0-12.4-4.9-24.2-13.7-33L611.7 57.8C595.2 41.3 572.8 32 549.5 32h-35zM75.3 176H214.1L178.5 276.7c-1.7 4.7-2.5 9.7-2.5 14.8c0 24.5 19.9 44.4 44.4 44.4h2.3c12.4 0 24.2-4.9 33-13.6l112.1-112c.4-.4 .9-.8 1.3-1.2s.8-.8 1.2-1.3L416 161.9c.3-.3 .7-.6 1-1s.6-.7 1-1l46.4-46.3c.2-.2 .5-.4 .7-.7s.4-.4 .6-.7l20.6-20.6c7.5-7.5 17.7-11.7 28.3-11.7h35c10.6 0 20.8 4.2 28.3 11.7L590.1 104H542.8c-16.4 0-32 7.2-42.6 19.6l-224.5 263c-24.6 28.8-60.5 45.4-98.3 45.4h-9.1C101.8 432 48 378.2 48 311.8c0-8.8 1-17.5 2.9-26.1L75.3 176zM136 304a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquare2 = {\n prefix: 'far',\n iconName: 'square-2',\n icon: [448, 512, [], \"e257\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm190.7 88.7l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L212.7 336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L244.3 240.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1c-9.1-.1-18 2.8-25.3 8.3z\"]\n};\nvar faFieldHockeyStickBall = {\n prefix: 'far',\n iconName: 'field-hockey-stick-ball',\n icon: [512, 512, [127953, \"field-hockey\"], \"f44c\", \"M500.3 100.9C520.7 72 513.7 32 484.9 11.7S416-1.8 395.7 27.1L147.6 379.4c-2 2.8-5.1 4.4-8.5 4.4c-5.3 0-10.5-4.7-10.5-11c0-1.6 .4-3.1 .9-4.4l17-38.5c14.3-32.3-.3-70.1-32.7-84.4s-70.1 .3-84.4 32.7l-17 38.5C4.8 334 .7 352.9 .6 371.8C0 448.3 61.9 512 139.4 511.8c44.9-.1 86.9-22 112.8-58.7L500.3 100.9zM398.1 162.6L213 425.4c-16.9 24-44.4 38.3-73.7 38.4c-50.5 .1-91.1-41.4-90.7-91.6c.1-12.4 2.7-24.8 7.8-36.1l17-38.5c3.6-8.1 13-11.7 21.1-8.2s11.7 13 8.2 21.1l-17 38.5c-3.2 7.3-5 15.4-5 23.5c-.3 32.7 26.2 59.5 58.6 59.4c19-.1 36.7-9.3 47.6-24.8L372.5 143.4l25.6 19.2zM432 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faFieldHockey = faFieldHockeyStickBall;\nvar faArrowUpSquareTriangle = {\n prefix: 'far',\n iconName: 'arrow-up-square-triangle',\n icon: [576, 512, [\"sort-shapes-up-alt\"], \"f88b\", \"M528 454.9c0 13.8-11.2 25.1-25.1 25.1H329.1c-13.8 0-25.1-11.2-25.1-25.1c0-4.5 1.2-9 3.6-12.9l84.2-140.3c5.1-8.5 14.3-13.7 24.2-13.7s19.1 5.2 24.2 13.7L524.4 442c2.3 3.9 3.6 8.4 3.6 12.9zM368 80v96h96V80H368zm94.4 352L416 354.6 369.6 432h92.8zM320 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96z\"]\n};\nvar faSortShapesUpAlt = faArrowUpSquareTriangle;\nvar faFaceScream = {\n prefix: 'far',\n iconName: 'face-scream',\n icon: [640, 512, [], \"e38b\", \"M528 256c0 15.2-1.6 30-4.7 44.3c14.9-9.7 33-13.9 50.7-11.7c1.4-10.7 2.1-21.5 2.1-32.5C576 114.6 461.4 0 320 0S64 114.6 64 256c0 11 .7 21.9 2.1 32.6c17.7-2.2 35.7 2 50.7 11.7C113.6 286 112 271.2 112 256c0-114.9 93.1-208 208-208s208 93.1 208 208zM320 464c-41.6 0-80.4-12.2-112.9-33.3c6.9 20.3 11.7 41.1 14.8 61.8C252.1 505.1 285.2 512 320 512c34.8 0 68-6.9 98.2-19.5c3.1-20.7 7.9-41.5 14.8-61.8C400.5 451.8 361.7 464 320 464zM536.7 330.1C482.8 375 455 443.6 448 512l109.8 0c-.4-50.5 16.7-85.7 43.2-125.7c13.1-19.8 7.6-46.3-12.4-59.3c-16.4-10.6-37.6-8.8-51.8 3.1zM183.3 282.7c27.3 14.9 67.6-2.9 90.1-39.8s18.6-78.8-8.7-93.7s-67.6 2.9-90.1 39.8s-18.6 78.8 8.7 93.7zM320 304c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V352c0-26.5-21.5-48-48-48zm46.6-61c22.5 36.9 62.8 54.7 90.1 39.8s31.1-56.9 8.7-93.7s-62.8-54.7-90.1-39.8s-31.1 56.9-8.7 93.7zM103.4 330.1C89.1 318.2 68 316.4 51.6 327c-20 13-25.6 39.5-12.4 59.3c26.4 40 43.6 75.3 43.2 125.7L192 512c-7-68.4-34.8-137-88.7-181.9z\"]\n};\nvar faSquareM = {\n prefix: 'far',\n iconName: 'square-m',\n icon: [448, 512, [], \"e276\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm139.5 41.9L224 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L144 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8s20.7 .3 26.8 8.8z\"]\n};\nvar faCameraWeb = {\n prefix: 'far',\n iconName: 'camera-web',\n icon: [448, 512, [\"webcam\"], \"f832\", \"M224 384a168 168 0 1 0 0-336 168 168 0 1 0 0 336zm0 48c-29.1 0-56.9-5.8-82.2-16.2L104.7 464H343.3l-37.1-48.2C280.9 426.2 253.1 432 224 432zM440 216c0 72.8-36 137.2-91.3 176.4l62.3 81c5.6 7.2 6.5 17 2.5 25.2s-12.4 13.4-21.5 13.4H56c-9.1 0-17.5-5.2-21.5-13.4s-3.1-18 2.5-25.2l62.3-81C44 353.2 8 288.8 8 216C8 96.7 104.7 0 224 0S440 96.7 440 216zm-144 0a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-192 0a120 120 0 1 1 240 0 120 120 0 1 1 -240 0z\"]\n};\nvar faWebcam = faCameraWeb;\nvar faCommentArrowDown = {\n prefix: 'far',\n iconName: 'comment-arrow-down',\n icon: [512, 512, [], \"e143\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V262.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V152z\"]\n};\nvar faLightbulbCfl = {\n prefix: 'far',\n iconName: 'lightbulb-cfl',\n icon: [320, 512, [], \"e5a6\", \"M165.8 47.3l-128 32C25 82.5 11.9 74.7 8.7 61.8S13.3 35.9 26.2 32.7l128-32c12.9-3.2 25.9 4.6 29.1 17.5s-4.6 25.9-17.5 29.1zM311.3 82.2c3.2 12.9-4.6 25.9-17.5 29.1l-256 64c-12.9 3.2-25.9-4.6-29.1-17.5s4.6-25.9 17.5-29.1l256-64c12.9-3.2 25.9 4.6 29.1 17.5zm0 96c3.2 12.9-4.6 25.9-17.5 29.1l-256 64c-12.9 3.2-25.9-4.6-29.1-17.5s4.6-25.9 17.5-29.1l256-64c12.9-3.2 25.9 4.6 29.1 17.5zM144 384h80c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H184v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H96c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V306.2l48-12V384zM311.3 274.2c3.2 12.9-4.6 25.9-17.5 29.1l-64 16-5.8 1.5V384H176V302.6c-.3-11 7.1-21.1 18.2-23.9l8-2 0 0 16-4 64-16c12.9-3.2 25.9 4.6 29.1 17.5z\"]\n};\nvar faWindowFrameOpen = {\n prefix: 'far',\n iconName: 'window-frame-open',\n icon: [512, 512, [], \"e050\", \"M432 240H280V48H416c8.8 0 16 7.2 16 16V240zm-200 0H80V64c0-8.8 7.2-16 16-16H232V240zm248 48V240 64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V240v48H80 432h48zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V320H432V464H80V320H32V464H24z\"]\n};\nvar faFaceKiss = {\n prefix: 'far',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 25.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 411.1 257.4 416 240 416c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.8-.5-.1-.1-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'far',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 496h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM339.1 288.1c8-15.7 18.3-30 30.4-42.5C359 241.9 347.8 240 336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c1.1 0 2.1 0 3.1 .1zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPeriod = {\n prefix: 'far',\n iconName: 'period',\n icon: [128, 512, [], \"2e\", \"M64 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nvar faFaceGrinTongue = {\n prefix: 'far',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M464 256c0-114.9-93.1-208-208-208S48 141.1 48 256c0 81.7 47.1 152.4 115.7 186.4c-2.4-8.4-3.7-17.3-3.7-26.4V363.6c-8.9-8-16.7-17.1-23.1-27.1c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5c18.7-4.4 35.9 12 25.5 28.1c-6.4 9.9-14.2 19-23 27V416c0 9.2-1.3 18-3.7 26.4C416.9 408.4 464 337.7 464 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faUpToDottedLine = {\n prefix: 'far',\n iconName: 'up-to-dotted-line',\n icon: [448, 512, [], \"e457\", \"M114.2 288L224 178 333.8 288 280 288c-13.3 0-24 10.7-24 24l0 120-64 0 0-120c0-13.3-10.7-24-24-24l-53.8 0zM224 128c-11.5 0-22.5 4.6-30.6 12.7L77.6 256.8C68.9 265.5 64 277.3 64 289.6c0 25.6 20.8 46.4 46.4 46.4l33.6 0 0 96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96 33.6 0c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 140.7c-8.1-8.1-19.1-12.7-30.6-12.7zM416 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm-96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM192 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM128 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64z\"]\n};\nvar faThoughtBubble = {\n prefix: 'far',\n iconName: 'thought-bubble',\n icon: [512, 512, [], \"e32e\", \"M256 0c-48.7 0-91.4 25.6-115.4 64C62.6 65.9 0 129.6 0 208c0 79.5 64.5 144 144 144c9.4 0 18.7-.9 27.6-2.7C193.3 370.7 223.1 384 256 384s62.7-13.3 84.4-34.7c9 1.7 18.2 2.7 27.6 2.7c79.5 0 144-64.5 144-144c0-78.4-62.6-142.1-140.6-144C347.4 25.6 304.7 0 256 0zM176.3 98.7C190.4 68.7 220.8 48 256 48s65.6 20.7 79.7 50.7c4.3 9.1 13.8 14.6 23.8 13.7c2.8-.2 5.6-.4 8.5-.4c53 0 96 43 96 96s-43 96-96 96c-10 0-19.7-1.5-28.7-4.4c-9.6-3-20 .3-26.2 8.3C299.9 325 279.2 336 256 336s-43.9-11-57.1-28.1c-6.1-8-16.6-11.3-26.2-8.3c-9 2.8-18.7 4.4-28.7 4.4c-53 0-96-43-96-96s43-96 96-96c2.9 0 5.7 .1 8.5 .4c10 .9 19.5-4.6 23.8-13.7zM192 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 480A32 32 0 1 0 0 480a32 32 0 1 0 64 0z\"]\n};\nvar faSkeletonRibs = {\n prefix: 'far',\n iconName: 'skeleton-ribs',\n icon: [640, 512, [], \"e5cb\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H254c-32.1 0-62.3 17.5-76.7 47.4c-14.1 29.2-34.2 74.3-50.9 124.3C109.8 285.3 96 341.4 96 392v11.7c0 42.1 34.2 76.3 76.3 76.3c11.2 0 22.3-2.5 32.5-7.3l70.9-33.4c6.6-3.1 13.4-5.4 20.3-7.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V432.3c6.9 1.6 13.7 4 20.3 7.1l70.9 33.4c10.2 4.8 21.3 7.3 32.5 7.3c42.1 0 76.3-34.2 76.3-76.3V392c0-50.6-13.8-106.7-30.3-156.3c-16.7-50-36.9-95.1-50.9-124.3C448.3 81.5 418.1 64 386 64H344V24zm-48 88v60.3L193.6 192.8c9.7-23.7 19.3-44.6 27-60.6c5.9-12.3 18.7-20.2 33.5-20.2h42zM173.6 245.8L296 221.3V278L152.7 319.8c4.9-22.8 11.6-46.1 19.2-68.9c.6-1.7 1.2-3.5 1.8-5.2zM144.8 372.1L296 328v55.4c-14 2.2-27.7 6.4-40.7 12.6l-70.9 33.4c-3.8 1.8-7.9 2.7-12.1 2.7c-15.6 0-28.3-12.7-28.3-28.3V392c0-6.5 .3-13.1 .8-19.9zM344 383.4V328l151.2 44.1c.5 6.8 .8 13.4 .8 19.9v11.7c0 15.6-12.7 28.3-28.3 28.3c-4.2 0-8.3-.9-12.1-2.7l-70.9-33.4c-13.1-6.1-26.8-10.3-40.7-12.6zm143.3-63.6L344 278V221.3l122.4 24.5c.6 1.7 1.2 3.5 1.8 5.2c7.6 22.7 14.3 46 19.2 68.9zm-40.9-127L344 172.3V112h42c14.8 0 27.5 7.9 33.5 20.2c7.7 16 17.3 36.9 27 60.6zM0 128V232 488c0 13.3 10.7 24 24 24s24-10.7 24-24V232c0-6.5 3.4-12.4 8.9-15.8L94 194c21.1-12.6 34-35.4 34-60v-6c0-35.3-28.7-64-64-64S0 92.7 0 128zm48 37.6V128c0-8.8 7.2-16 16-16s16 7.2 16 16v6c0 7.7-4 14.9-10.7 18.8L48 165.6zM576 64c-35.3 0-64 28.7-64 64v6c0 24.6 12.9 47.4 34 60l37.1 22.3c5.5 3.3 8.9 9.3 8.9 15.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V232 128c0-35.3-28.7-64-64-64zm-5.3 88.8c-6.6-4-10.7-11.1-10.7-18.8v-6c0-8.8 7.2-16 16-16s16 7.2 16 16v37.6l-21.3-12.8z\"]\n};\nvar faRaygun = {\n prefix: 'far',\n iconName: 'raygun',\n icon: [576, 512, [], \"e025\", \"M288 64H192L102.2 4.1C98.2 1.4 93.4 0 88.6 0C75 0 64 11 64 24.6V74.8C26.2 92.8 0 131.3 0 176c0 59.3 46.1 107.8 104.4 111.7l-69 137.9c-7.9 15.8-1.5 35 14.3 42.9l80 40c15.8 7.9 35 1.5 42.9-14.3l103-206 .2-.3H288v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8V240 112 64 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8zM112 112H288V240H112c-35.3 0-64-28.7-64-64s28.7-64 64-64zM392 64c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V208h60.9l77.1 30.9c4.9 2 10.5 1.4 14.9-1.6s7-7.9 7-13.2V128c0-5.3-2.6-10.3-7-13.2s-10-3.6-14.9-1.6L476.9 144H416V88c0-13.3-10.7-24-24-24zM112 200a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM222 288.3L136.8 458.5 85.5 432.8l72.3-144.5H222z\"]\n};\nvar faFlute = {\n prefix: 'far',\n iconName: 'flute',\n icon: [640, 512, [], \"f8b9\", \"M144 304H576c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H144v96zm-48 0V208H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96zM64 160H96h24 24H576c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H144 120 96 64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64zm256 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faAcorn = {\n prefix: 'far',\n iconName: 'acorn',\n icon: [448, 512, [], \"f6ae\", \"M267.2 38.4c8-10.6 5.8-25.6-4.8-33.6s-25.6-5.8-33.6 4.8L224 16c-10.7 14.3-18 30.7-21.6 48H96C43 64 0 107 0 160v16c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-53-43-96-96-96H252.1c2.4-6.8 5.9-13.3 10.3-19.2l4.8-6.4zM400 160H48c0-26.5 21.5-48 48-48H352c26.5 0 48 21.5 48 48zM48.4 240c4.1 78.1 39 189.3 165.5 236.4c6.5 2.4 13.7 2.4 20.2 0C360.6 429.3 395.5 318.1 399.6 240H351.5c-3.9 65.7-32.7 150.2-127.5 188.9C129.2 390.2 100.3 305.7 96.5 240H48.4z\"]\n};\nvar faVideoArrowUpRight = {\n prefix: 'far',\n iconName: 'video-arrow-up-right',\n icon: [576, 512, [], \"e2c9\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V351 161 128c0-35.3-28.7-64-64-64H64zm464 84.6V363.4L416 313v52.6l104.3 46.9c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-241c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 146.4V199l112-50.4zM152 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1L103 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l103-103V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24H152z\"]\n};\nvar faGrateDroplet = {\n prefix: 'far',\n iconName: 'grate-droplet',\n icon: [576, 512, [], \"e194\", \"M0 88C0 57.1 25.1 32 56 32h72 96 96 72c30.9 0 56 25.1 56 56v74.2c-15.1 4.3-28.2 14.6-35.8 28.8L400 214V88c0-4.4-3.6-8-8-8H344V232h46.4L336.9 332.2C325.8 353.1 320 376.4 320 400c0 29.6 8.9 57.1 24.2 80H320 224 128 56c-30.9 0-56-25.1-56-56V256 88zm56-8c-4.4 0-8 3.6-8 8V232h56V80H56zM48 424c0 4.4 3.6 8 8 8h48V280H48V424zm152 8V280H152V432h48zm96 0V280H248V432h48zM248 80V232h48V80H248zM200 232V80H152V232h48zm240.5-25.9c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7l75.3-141.2z\"]\n};\nvar faSealExclamation = {\n prefix: 'far',\n iconName: 'seal-exclamation',\n icon: [512, 512, [], \"e242\", \"M176 112c12.7 0 24.9-5.1 33.9-14.1L256 51.9l46.1 46.1c9 9 21.2 14.1 33.9 14.1h64v64c0 12.7 5.1 24.9 14.1 33.9l45.6 45.6-45.6 45.6c-9 9-14.1 21.2-14.1 33.9V400H335.1c-12.7 0-24.9 5.1-33.9 14.1L256 459.2l-45.1-45.1c-9-9-21.2-14.1-33.9-14.1H112V335.1c0-12.7-5.1-24.9-14.1-33.9L52.4 255.5l45.6-45.6c9-9 14.1-21.2 14.1-33.9V112h64zM289.9 17.9c-18.7-18.7-49.1-18.7-67.9 0L176 64H112c-26.5 0-48 21.5-48 48v64L18.4 221.6c-18.7 18.7-18.7 49.1 0 67.9L64 335.1V400c0 26.5 21.5 48 48 48h64.9l45.1 45.1c18.7 18.7 49.1 18.7 67.9 0L335.1 448H400c26.5 0 48-21.5 48-48V335.1l45.6-45.6c18.7-18.7 18.7-49.1 0-67.9L448 176V112c0-26.5-21.5-48-48-48H336L289.9 17.9zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faChessBishop = {\n prefix: 'far',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M104 0C90.7 0 80 10.7 80 24c0 11.2 7.6 20.6 18 23.2c-7.8 8-16.1 17-24.4 27C38.2 116.7 0 178.8 0 250.9c0 44.8 24.6 72.2 48 87.8V352H96V325c0-9-5-17.2-13-21.3c-18-9.3-35-24.7-35-52.7c0-55.5 29.8-106.8 62.4-145.9c16-19.2 32.1-34.8 44.2-45.5c1.9-1.7 3.7-3.2 5.3-4.6c1.7 1.4 3.4 3 5.3 4.6c12.1 10.7 28.2 26.3 44.2 45.5c5.3 6.3 10.5 13 15.5 20L159 191c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57.8-57.8c12.8 25.9 21.2 54.3 21.2 83.8c0 28-17 43.4-35 52.7c-8 4.1-13 12.3-13 21.3v27h48V338.7c23.4-15.6 48-42.9 48-87.8c0-72.1-38.2-134.2-73.6-176.7c-8.3-9.9-16.6-19-24.4-27c10.3-2.7 18-12.1 18-23.2c0-13.3-10.7-24-24-24H160 104zM52.7 464l16.6-32H250.8l16.6 32H52.7zm207.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H279.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faMessageSms = {\n prefix: 'far',\n iconName: 'message-sms',\n icon: [512, 512, [], \"e1e5\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zm-3.6-343.6c-4.9 1.6-8.2 6.2-8.2 11.4v96c0 6.6 5.4 12 12 12s12-5.4 12-12V196l26.4 35.2c2.3 3 5.8 4.8 9.6 4.8s7.3-1.8 9.6-4.8L292 196v60c0 6.6 5.4 12 12 12s12-5.4 12-12V160c0-5.2-3.3-9.8-8.2-11.4s-10.3 .1-13.4 4.2L256 204l-38.4-51.2c-3.1-4.1-8.5-5.8-13.4-4.2zM108 182.9c0-3.1 1.3-5.3 4.8-7.4c3.9-2.3 9.6-3.6 15-3.5c6.9 .1 17.4 1.7 24.3 3.5c6.4 1.7 13-2.1 14.7-8.5s-2.1-13-8.5-14.7c-8.6-2.3-21-4.2-30.1-4.3c-8.7-.1-19 1.8-27.6 6.8C91.6 160.2 84 169.5 84 183c.1 12.9 7.6 21.1 15.8 26c7.2 4.3 16.2 7 23.5 9.2l1.1 .3c8.4 2.5 14.6 4.6 19 7.3c3.7 2.3 4.5 4.1 4.5 6.6c.1 3.9-1.5 6.3-4.6 8.2c-3.6 2.2-9.1 3.5-15 3.4c-7.9-.3-15.4-2.8-24.9-6c-1.3-.4-2.7-.9-4.1-1.4c-6.3-2.1-13.1 1.3-15.2 7.6s1.3 13.1 7.6 15.2c1.2 .4 2.4 .8 3.7 1.3l0 0 0 0c9.1 3.1 20.3 6.9 32 7.3c9.2 .3 19.8-1.6 28.5-7c9.2-5.7 16.1-15.4 15.9-28.9c-.2-12.9-7.4-21.3-15.8-26.6c-7.5-4.7-17-7.6-24.5-9.8l-.4-.1c-8.5-2.6-14.8-4.5-19.2-7.2c-3.7-2.2-4.2-3.8-4.2-5.6zm256 0c0-3.1 1.3-5.3 4.8-7.4c3.9-2.3 9.6-3.6 15-3.5c6.6 .1 13.7 1.5 21.1 3.5c6.4 1.7 13-2.1 14.7-8.5s-2.1-13-8.5-14.7c-8-2.1-17.4-4.2-26.9-4.3c-8.7-.1-19 1.8-27.6 6.8c-9 5.3-16.6 14.6-16.5 28.1c.1 12.9 7.6 21.1 15.8 26c7.2 4.3 16.2 7 23.5 9.2l1.1 .3c8.4 2.5 14.6 4.6 19 7.3c3.7 2.3 4.5 4.1 4.5 6.6c.1 3.9-1.5 6.3-4.6 8.2c-3.6 2.2-9.1 3.5-15 3.4c-7.6-.2-14.7-2.7-23.8-5.8l0 0 0 0c-1.5-.5-3.1-1.1-4.8-1.6c-6.3-2.1-13.1 1.3-15.2 7.6s1.3 13.1 7.6 15.2c1.3 .4 2.7 .9 4.1 1.4l0 0c8.9 3.1 19.8 6.8 31.3 7.2c9.2 .3 19.8-1.6 28.5-7c9.2-5.7 16.1-15.4 15.9-28.9c-.2-12.9-7.4-21.3-15.8-26.6c-7.5-4.7-17-7.6-24.5-9.8l-.4-.1c-8.5-2.6-14.8-4.5-19.2-7.2c-3.7-2.2-4.2-3.8-4.2-5.6z\"]\n};\nvar faCoffeeBeans = {\n prefix: 'far',\n iconName: 'coffee-beans',\n icon: [512, 512, [], \"e13f\", \"M476.8 258c50-50 39.9-141.2-22.6-203.6S300.5-18.2 250.5 31.8s-39.9 141.2 22.6 203.6S426.8 308 476.8 258zm-46.6-46.7c3.5 4.1 7 9.2 10.4 14.9c-25.8 22.7-83.8 25-133.5-24.7c-28-28-39.5-58.7-40.1-84.8c27.8 29.1 60 40.6 87.3 50.3l1.4 .5c30.2 10.8 54.3 19.8 74.6 43.8zm-10-123c28 28 39.5 58.7 40.1 84.8c-27.8-29.1-60-40.6-87.3-50.3l-1.4-.5c-30.2-10.8-54.3-19.8-74.6-43.8c-3.5-4.1-7-9.2-10.4-14.9c25.8-22.7 83.8-25 133.5 24.7zM128.1 446c-.4 5.4-1.6 11.5-3.1 17.9C90.7 461.7 48 422.3 48 352c0-39.7 13.6-69.5 31.6-88.3c-.9 40.2 13.7 71.1 26.1 97.3l.6 1.3c13.7 29 24.4 52.4 21.8 83.7zM208 352c0 39.7-13.6 69.5-31.6 88.3c.9-40.2-13.7-71.1-26.1-97.3l-.6-1.3c-13.7-29-24.4-52.4-21.8-83.7c.4-5.4 1.6-11.5 3.1-17.9C165.3 242.3 208 281.7 208 352zM128 512c70.7 0 128-71.6 128-160s-57.3-160-128-160S0 263.6 0 352s57.3 160 128 160z\"]\n};\nvar faHatWitch = {\n prefix: 'far',\n iconName: 'hat-witch',\n icon: [576, 512, [], \"f6e7\", \"M148.4 384H96l85.9-196.3C198.8 149 228 116.9 265 96.5l170.4-94c3-1.7 6.4-2.5 9.9-2.5c7 0 13.7 2.4 19.1 6.7L564 86.4c7.6 6.1 12 15.3 12 25V121c0 4.6-1 9.2-2.9 13.4l-39.1 84.7c-3.6 7.9-11.5 12.9-20.1 12.9c-10.4 0-19.4-7.2-21.7-17.4l-8-35.9C481.7 167.8 472 160 460.8 160c-8 0-15.5 4-19.9 10.7l-19.5 29.3c-3.5 5.3-5.4 11.5-5.4 17.8c0 4.1 .8 8.2 2.3 11.9L480 384H428.3L373.7 247.5l0 0c-3.8-9.5-5.7-19.7-5.7-29.8c0-15.7 4.6-31.2 13.4-44.5L401 144c13.3-20 35.8-32 59.8-32c22.8 0 43.6 10.7 56.9 27.9l9.8-21.2L444.6 52.3 288.2 138.6c-27.7 15.3-49.7 39.3-62.4 68.4L148.4 384zM240 336c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v48H240V336zm313.4 80c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.7-6.9 15.6C550.1 470.3 493.4 512 416 512H160C82.6 512 25.9 470.3 6.9 454.2C2.4 450.4 0 444.6 0 438.6C0 426.1 10.1 416 22.6 416H553.4z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'far',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faClockThreeThirty = {\n prefix: 'far',\n iconName: 'clock-three-thirty',\n icon: [512, 512, [], \"e357\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V256c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faEarDeaf = {\n prefix: 'far',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M505 41l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM185 361L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L151 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm55-249c-70.7 0-128 57.3-128 128c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-97.2 78.8-176 176-176s176 78.8 176 176c0 47.5-18.8 90.6-49.4 122.2c-4.8 4.9-6.6 9.9-6.6 13.8c0 75.1-60.9 136-136 136c-13.3 0-24-10.7-24-24s10.7-24 24-24c48.6 0 88-39.4 88-88c0-19.1 8.9-35.5 20.1-47.1c22.3-23 35.9-54.4 35.9-88.9c0-70.7-57.3-128-128-128zm0 88c-22.1 0-40 17.9-40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6 39.4-88 88-88s88 39.4 88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-22.1-17.9-40-40-40z\"]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faAlarmClock = {\n prefix: 'far',\n iconName: 'alarm-clock',\n icon: [512, 512, [9200], \"f34e\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 112a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400c53.2 0 102.1-18.6 140.5-49.5L439 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5C480 164.3 379.7 64 256 64S32 164.3 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l42.5-42.5c38.4 31 87.3 49.5 140.5 49.5zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM280 184c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 6.4 2.5 12.5 7 17l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41-41V184z\"]\n};\nvar faEclipse = {\n prefix: 'far',\n iconName: 'eclipse',\n icon: [640, 512, [], \"f749\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l8.1-44.3c-15.8-6.6-30.6-15.1-44.2-25.2l-4.5 24.4L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 4.5 24.4C353.2 79.1 368 70.6 383.9 64l-8.2-44.3zM256 144c-61.9 0-112 50.1-112 112s50.1 112 112 112c10.4 0 20.5-1.4 30.1-4.1c-8.4-13.9-15.3-28.9-20.3-44.6c-3.2 .5-6.5 .7-9.8 .7c-35.3 0-64-28.7-64-64s28.7-64 64-64c3.3 0 6.6 .3 9.8 .7c5-15.8 11.9-30.7 20.3-44.6c-9.6-2.7-19.7-4.1-30.1-4.1zm80 112a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm304 0a176 176 0 1 0 -352 0 176 176 0 1 0 352 0z\"]\n};\nvar faFaceRelieved = {\n prefix: 'far',\n iconName: 'face-relieved',\n icon: [512, 512, [], \"e389\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm193 87c11.8 11.8 32.7 25 63 25s51.2-13.1 63-25c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-19.1 19.1-51.6 39-97 39s-77.9-19.9-97-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm158.7-91c10.6 0 19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C391.7 285.2 371 292 351.6 292s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9c5.5 5.8 14.8 9.7 25.4 9.7zm-217.4-9.7c5.5 5.8 14.8 9.7 25.4 9.7s19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C199.7 285.2 179 292 159.6 292s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9zm73-135.4c2.8 8.4-1.7 17.4-10.1 20.2l-6.3 2.1c-23.6 7.9-44 23.4-57.8 44.1l-7.6 11.5c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l7.6-11.5c17.8-26.6 43.9-46.6 74.3-56.7l6.3-2.1c8.4-2.8 17.4 1.7 20.2 10.1zm107.8 20.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l6.3 2.1c30.4 10.1 56.5 30.1 74.3 56.7l7.6 11.5c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L379 173.4c-13.8-20.7-34.1-36.3-57.8-44.1l-6.3-2.1z\"]\n};\nvar faRoadCircleCheck = {\n prefix: 'far',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H360.2c-21.9-26.6-36.2-59.7-39.5-96c-.2 0-.5 0-.7 0c-13.3 0-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l34.9 96.9c5.4-.5 10.8-.7 16.3-.7c12.3 0 24.2 1.3 35.8 3.6L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM326.9 319c4.1-14.1 9.8-27.4 17.1-39.8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24c2.4 0 4.7-.4 6.9-1zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faDiceFive = {\n prefix: 'far',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faOctagonMinus = {\n prefix: 'far',\n iconName: 'octagon-minus',\n icon: [512, 512, [\"minus-octagon\"], \"f308\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusOctagon = faOctagonMinus;\nvar faSquareRss = {\n prefix: 'far',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 40c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm0 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faRssSquare = faSquareRss;\nvar faFaceZany = {\n prefix: 'far',\n iconName: 'face-zany',\n icon: [512, 512, [], \"e3a4\", \"M436.1 152C378.7 52.5 251.5 18.4 152 75.9S18.4 260.5 75.9 360c25 43.3 63.2 74.2 106.5 90.6c-4.1-10.7-6.4-22.4-6.4-34.6v-7.8c-10.4-6.2-20.1-13.7-28.9-22.2c-10.2-9.9-6.6-26.3 5.7-33.4L391.2 214.9c12.3-7.1 28.3-2 31.8 11.8c15.2 59.4-5.9 124.1-55 165V416c0 5.5-.5 10.9-1.4 16.1C461 373 492.3 249.2 436.1 152zM384 477.7c-27.9 16.1-57.5 26.3-87.5 31.1c-7.8 2.1-16 3.2-24.5 3.2c-1.9 0-3.7-.1-5.6-.2c-92 3.7-182.9-42.6-232.1-127.8C-36.4 261.6 5.6 105 128 34.3S407 5.6 477.7 128s28.7 279-93.7 349.7zM296.4 160c-11.1 0-20.4-7.5-23.2-17.7c-.8 3.1-1.2 6.4-1.2 9.7c0 22.1 17.9 40 40 40s40-17.9 40-40s-17.9-40-40-40c-3 0-6 .3-8.8 1c9.9 2.9 17.2 12.1 17.2 23c0 13.3-10.7 24-24 24zM312 80a72 72 0 1 1 0 144 72 72 0 1 1 0-144zM176 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 80 224zm48 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM336 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTricycle = {\n prefix: 'far',\n iconName: 'tricycle',\n icon: [512, 512, [], \"e5c3\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h73.6c7.9 0 14.4 6.4 14.4 14.4c0 4.2-1.8 8.2-5 10.9l-42.6 36.5c-.8 .7-1.6 1.4-2.3 2.2H307.2c-58.8 0-114 23.9-154.1 64.6L133.6 176H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H77.6l44 73.4c-1.3 2.2-2.6 4.5-3.9 6.7c-1.9-.1-3.9-.1-5.8-.1C50.1 256 0 306.1 0 368s50.1 112 112 112s112-50.1 112-112c0-42.4-23.6-79.4-58.4-98.4c30.7-48.1 84-77.6 141.6-77.6h12.1l11 43.8C286.4 256.1 256 300.5 256 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-2.4 0-4.8 .1-7.2 .2l-13.9-55.6 31.3-26.9C408 129.9 416 112.6 416 94.4C416 59.9 388.1 32 353.6 32H280zm62.2 251.8l18.5 74c3.2 12.9 16.2 20.7 29.1 17.5s20.7-16.2 17.5-29.1l-18.5-74c42 2.5 75.2 37.3 75.2 79.9c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-28.9 15.3-54.2 38.2-68.2zM112 304a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faLandMineOn = {\n prefix: 'far',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M344 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 336c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48v16h31.5c19.6 0 37.3 11.9 44.6 30.2l34.4 85.9c8.4 21-7.1 43.9-29.7 43.9H111.3c-22.6 0-38.1-22.9-29.7-43.9l34.4-85.9c7.3-18.2 24.9-30.2 44.6-30.2H192V336zM505.1 464l-25.6-64h-319l-25.6 64H505.1zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]\n};\nvar faSquareArrowUpLeft = {\n prefix: 'far',\n iconName: 'square-arrow-up-left',\n icon: [448, 512, [], \"e263\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm288 48c13.3 0 24 10.7 24 24s-10.7 24-24 24H193.9L329 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24H288z\"]\n};\nvar faICursor = {\n prefix: 'far',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M.1 22.2c-1 13.2 8.9 24.8 22.1 25.8l15.4 1.2C75 52 104 83.3 104 120.9V232H64c-13.3 0-24 10.7-24 24s10.7 24 24 24h40V391.1c0 37.6-29 68.9-66.5 71.8l-15.4 1.2C8.9 465.1-.9 476.6 .1 489.8s12.6 23.1 25.8 22.1l15.4-1.2c35.7-2.7 66.7-20.9 86.8-47.6c20.1 26.7 51.1 44.9 86.8 47.6l15.4 1.2c13.2 1 24.8-8.9 25.8-22.1s-8.9-24.8-22.1-25.8l-15.4-1.2C181 460 152 428.7 152 391.1V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H152V120.9c0-37.6 29-68.9 66.5-71.8l15.4-1.2c13.2-1 23.1-12.6 22.1-25.8S243.4-.9 230.2 .1L214.8 1.3C179.1 4 148.1 22.2 128 48.9C107.9 22.2 76.9 4 41.2 1.3L25.8 .1C12.6-.9 1.1 8.9 .1 22.2z\"]\n};\nvar faChartMixedUpCircleDollar = {\n prefix: 'far',\n iconName: 'chart-mixed-up-circle-dollar',\n icon: [576, 512, [], \"e5d9\", \"M408 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h52.5L320.2 168.2 207.8 69.9c-8.2-7.1-20.1-7.9-29.1-1.9L10.7 180c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7L190 118.2l114.2 99.9c9 7.9 22.4 7.9 31.4 .2L496 80.7V136c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H408zM200 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM72 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V368c0-4.4 3.6-8 8-8s8 3.6 8 8v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM408.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]\n};\nvar faSaltShaker = {\n prefix: 'far',\n iconName: 'salt-shaker',\n icon: [384, 512, [129474], \"e446\", \"M325.2 464H58.8c-6 0-10.8-4.8-10.8-10.8c0-.6 .1-1.3 .2-1.9L94.5 192H289.5l46.3 259.3c.1 .6 .2 1.3 .2 1.9c0 6-4.8 10.8-10.8 10.8zM58.8 512H325.2c32.5 0 58.8-26.3 58.8-58.8c0-3.5-.3-6.9-.9-10.3L323.7 110.3C312.3 46.5 256.8 0 192 0S71.7 46.5 60.3 110.3L.9 442.9c-.6 3.4-.9 6.9-.9 10.3C0 485.7 26.3 512 58.8 512zM192 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM128 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM240 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faStamp = {\n prefix: 'far',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M299.3 116.7c3-6.2 4.7-13.2 4.7-20.7c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 7.5 1.7 14.5 4.7 20.7l.3 .6c7 14.6 19 39.6 19 68.7c0 65.2-52.8 118-118 118H96c-26.5 0-48 21.5-48 48v8c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8v-8c0-26.5-21.5-48-48-48H398c-65.2 0-118-52.8-118-118c0-29 12-54.1 19-68.6l0 0 .3-.6zm43.3 20.8C335.2 152.9 328 168.9 328 186c0 38.7 31.4 70 70 70h18c53 0 96 43 96 96v8c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56v-8c0-53 43-96 96-96h18c38.7 0 70-31.3 70-70c0-17.1-7.2-33.1-14.6-48.5c-6-12.6-9.4-26.6-9.4-41.5c0-53 43-96 96-96s96 43 96 96c0 14.9-3.4 28.9-9.4 41.5zM32 480c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32z\"]\n};\nvar faFilePlus = {\n prefix: 'far',\n iconName: 'file-plus',\n icon: [384, 512, [], \"f319\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM192 208c-13.3 0-24 10.7-24 24v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V328h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V232c0-13.3-10.7-24-24-24z\"]\n};\nvar faDrawSquare = {\n prefix: 'far',\n iconName: 'draw-square',\n icon: [448, 512, [], \"f5ef\", \"M64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm24 43.3V356.7c16 6.5 28.9 19.3 35.3 35.3H324.7c6.5-16 19.3-28.9 35.3-35.3V155.3c-16-6.5-28.9-19.3-35.3-35.3H123.3c-6.5 16-19.3 28.9-35.3 35.3zM123.3 440c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V155.3C16.5 145.9 0 122.9 0 96C0 60.7 28.7 32 64 32c26.9 0 49.9 16.5 59.3 40H324.7c9.5-23.5 32.5-40 59.3-40c35.3 0 64 28.7 64 64c0 26.9-16.5 49.9-40 59.3V356.7c23.5 9.5 40 32.5 40 59.3c0 35.3-28.7 64-64 64c-26.9 0-49.9-16.5-59.3-40H123.3zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm320 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0-320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faToiletPaperUnderSlash = {\n prefix: 'far',\n iconName: 'toilet-paper-under-slash',\n icon: [640, 512, [\"toilet-paper-reverse-slash\"], \"e2a1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V192c0-49.5-10.5-95.4-28.5-129.9C530 28.7 501.7 0 464 0H176c-33.8 0-60 23-77.6 51.8L38.8 5.1zm97.7 76.6c14-25.4 29-33.7 39.5-33.7H388.7c-3 4.5-5.7 9.3-8.2 14.1C362.5 96.6 352 142.5 352 192c0 22 2.1 43.3 6 63.3L136.5 81.7zM460.6 335.7l-30.2-23.7c-2.5-3.6-5-7.7-7.4-12.4c-13.8-26.3-23-64.3-23-107.7s9.2-81.3 23-107.7C437.4 56.9 453.1 48 464 48s26.6 8.9 41 36.3c13.8 26.3 23 64.3 23 107.7s-9.2 81.3-23 107.7c-14.4 27.5-30.1 36.3-41 36.3c-1.1 0-2.2-.1-3.4-.3zm45.1 35.3c8.2-5.4 15.6-12.2 22.3-20v37.5l-22.3-17.5zm21.7 140.5L467.1 464H280c-4.4 0-8-3.6-8-8V416H224v40c0 30.9 25.1 56 56 56H520c2.5 0 5-.2 7.4-.5zM304.6 336H176c-10.9 0-26.6-8.9-41-36.3c-13.8-26.3-23-64.3-23-107.7c0-2.6 0-5.1 .1-7.7L66.8 148.6c-1.8 14-2.8 28.6-2.8 43.4c0 49.5 10.5 95.4 28.5 129.9C110 355.3 138.3 384 176 384H365.5l-60.9-48zM488 192c0-26.5-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48s24-21.5 24-48z\"]\n};\nvar faToiletPaperReverseSlash = faToiletPaperUnderSlash;\nvar faStairs = {\n prefix: 'far',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M384 56c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H432V200c0 13.3-10.7 24-24 24H304V328c0 13.3-10.7 24-24 24H176V456c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128V328c0-13.3 10.7-24 24-24H256V200c0-13.3 10.7-24 24-24H384V56z\"]\n};\nvar faDroneFront = {\n prefix: 'far',\n iconName: 'drone-front',\n icon: [640, 512, [\"drone-alt\"], \"f860\", \"M136 96c10.4 0 19.3 6.7 22.6 16H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h89.4c3.3-9.3 12.2-16 22.6-16zm345.4 16c3.3-9.3 12.2-16 22.6-16s19.3 6.7 22.6 16H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24H481.4zM112 256V192h48v49.6l10.8 5.7 47.7-27.8c30.8-18 65.9-27.5 101.6-27.5s70.7 9.5 101.6 27.5l47.7 27.8 10.8-5.7V192h48v64c0 8.9-4.9 17.1-12.8 21.2l-51.6 27.3 4.5 5.4c18 21.6 27.8 48.8 27.8 76.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24v-5.2c0-16.8-5.9-33.2-16.7-46.1l-11-13.2-41.1 21.7c-3.5 1.8-7.3 2.8-11.2 2.8H272c-3.9 0-7.8-1-11.2-2.8l-41.1-21.7-11 13.2c-10.8 12.9-16.7 29.3-16.7 46.1V392c0 13.3-10.7 24-24 24s-24-10.7-24-24v-5.2c0-28.1 9.8-55.3 27.8-76.8l4.5-5.4-51.6-27.3c-7.9-4.2-12.8-12.3-12.8-21.2zm307.3 17.7l-21.9-12.8C373.9 247.2 347.2 240 320 240s-53.9 7.2-77.4 20.9l-21.9 12.8L278 304H362l57.2-30.3z\"]\n};\nvar faDroneAlt = faDroneFront;\nvar faGlassEmpty = {\n prefix: 'far',\n iconName: 'glass-empty',\n icon: [384, 512, [], \"e191\", \"M6.3 7.8C10.9 2.8 17.3 0 24 0H360c6.7 0 13.1 2.8 17.7 7.8s6.8 11.6 6.2 18.3L347.7 446.2C344.5 483.4 313.3 512 276 512H108c-37.4 0-68.5-28.6-71.7-65.8L.1 26.1C-.5 19.4 1.8 12.7 6.3 7.8zM50.2 48l34 394.1C85.2 454.5 95.6 464 108 464H276c12.5 0 22.8-9.5 23.9-21.9L333.8 48H50.2z\"]\n};\nvar faDialHigh = {\n prefix: 'far',\n iconName: 'dial-high',\n icon: [576, 512, [], \"e15c\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 248H397.4c-11 50.3-55.8 88-109.4 88c-61.9 0-112-50.1-112-112s50.1-112 112-112c53.6 0 98.4 37.7 109.4 88H288c-13.3 0-24 10.7-24 24s10.7 24 24 24zm160-24a160 160 0 1 0 -320 0 160 160 0 1 0 320 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUserHelmetSafety = {\n prefix: 'far',\n iconName: 'user-helmet-safety',\n icon: [448, 512, [128119, \"user-construction\", \"user-hard-hat\"], \"f82c\", \"M216 0h16c13.3 0 24 10.7 24 24V80l28.4-56.9c38 20.4 64.5 59.4 67.3 104.9h.2c13.3 0 24 10.7 24 24s-10.7 24-24 24H96c-13.3 0-24-10.7-24-24s10.7-24 24-24h.2C99 82.6 125.6 43.5 163.6 23.1L192 80V24c0-13.3 10.7-24 24-24zM162 304c-34.9-19.4-59.8-54.6-65-96h48.6c7.4 36.5 39.7 64 78.4 64s71-27.5 78.4-64H351c-5.2 41.4-30.1 76.6-65 96c-18.4 10.2-39.5 16-62 16s-43.6-5.8-62-16zm-11.4 48H224h73.4 16.2C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352h16.2zM397.1 464c-9.9-36.9-43.5-64-83.5-64H134.4c-40 0-73.6 27.1-83.5 64H397.1z\"]\n};\nvar faUserConstruction = faUserHelmetSafety;\nvar faUserHardHat = faUserHelmetSafety;\nvar faI = {\n prefix: 'far',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H136V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V80H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H160 24z\"]\n};\nvar faHryvniaSign = {\n prefix: 'far',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M105.7 104.6C125.6 88.7 150.3 80 175.8 80H227c33.7 0 61 27.3 61 61c0 20.7-10.5 39.8-27.5 51H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H171l-65.3 34.8c-7 3.7-13.5 8.2-19.4 13.2H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H53.8C50 347.1 48 358.9 48 371c0 60.2 48.8 109 109 109h51.2c36.4 0 71.7-12.4 100.1-35.1l2.7-2.2c10.4-8.3 12-23.4 3.7-33.7s-23.4-12-33.7-3.8l-2.7 2.2c-19.9 15.9-44.6 24.6-70.1 24.6H157c-33.7 0-61-27.3-61-61c0-12.8 4-24.9 11-35H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H183l90-48h87c13.3 0 24-10.7 24-24s-10.7-24-24-24H323.3c8.2-15.4 12.7-32.9 12.7-51c0-60.2-48.8-109-109-109H175.8c-36.4 0-71.7 12.4-100.1 35.1L73 69.3C62.7 77.5 61 92.6 69.3 103s23.4 12 33.7 3.7l2.7-2.2z\"]\n};\nvar faHryvnia = faHryvniaSign;\nvar faArrowDownLeftAndArrowUpRightToCenter = {\n prefix: 'far',\n iconName: 'arrow-down-left-and-arrow-up-right-to-center',\n icon: [512, 512, [], \"e092\", \"M489 57c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V72c0-13.3-10.7-24-24-24s-24 10.7-24 24V216c0 13.3 10.7 24 24 24H440c13.3 0 24-10.7 24-24s-10.7-24-24-24H353.9L489 57zM23 455c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V440c0 13.3 10.7 24 24 24s24-10.7 24-24V296c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L23 455z\"]\n};\nvar faPills = {\n prefix: 'far',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 80c35.3 0 64 28.7 64 64V256H48V144c0-35.3 28.7-64 64-64zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112S0 82.1 0 144zM416 432c-61.9 0-112-50.1-112-112c0-22.2 6.5-43 17.7-60.4L476.4 414.3C459 425.5 438.2 432 416 432zM355.6 225.7C373 214.5 393.8 208 416 208c61.9 0 112 50.1 112 112c0 22.2-6.5 43-17.7 60.4L355.6 225.7zM416 480a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\"]\n};\nvar faFaceGrinWide = {\n prefix: 'far',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM224 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm96 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'far',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M64 143.3c0 12.5 2.9 24.9 8.5 36.1l17.1 34.2c8.8 17.7 15.2 36.4 18.9 55.8L139.6 431c.1 .6 .6 1 1.2 1c.5 0 1-.4 1.2-.9l28.4-102.4C177.1 304.6 199 288 224 288s46.9 16.6 53.5 40.7L306 431.1c.1 .5 .6 .9 1.2 .9c.6 0 1.1-.4 1.2-1l31.1-161.6c3.7-19.4 10.1-38.2 18.9-55.8l15.1-30.2c6.9-13.9 10.6-29.2 10.6-44.8c0-32.4-26.3-58.7-58.7-58.7H314.6C298 80 282 85.9 269.4 96.7l-7 6 8.1 6c10.6 8 12.8 23 4.8 33.6s-23 12.8-33.6 4.8l-32-24-32-24-8-6C158.2 84.6 144.3 80 130 80h-2.7C92.3 80 64 108.3 64 143.3zm159-70l15.1-13C259.4 42 286.5 32 314.6 32h10.7C384.2 32 432 79.8 432 138.7c0 23-5.4 45.7-15.6 66.2l-15.1 30.2c-6.9 13.7-11.8 28.3-14.7 43.4L355.5 440.1C351 463.3 330.8 480 307.2 480c-22.1 0-41.5-14.7-47.4-36L231.3 341.5c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.3-7.3 5.5L188.3 444c-5.9 21.3-25.3 36-47.4 36c-23.6 0-43.9-16.7-48.3-39.9L61.4 278.5c-2.9-15.1-7.8-29.7-14.7-43.4L29.6 200.8C20.7 183 16 163.3 16 143.3C16 81.8 65.8 32 127.3 32H130c24.7 0 48.7 8 68.4 22.8l8 6L223 73.2z\"]\n};\nvar faBasketballHoop = {\n prefix: 'far',\n iconName: 'basketball-hoop',\n icon: [640, 512, [], \"f435\", \"M49.2 209.4C64.9 179.7 144.6 48 320 48s255.1 131.7 270.8 161.4c.7 1.4 1.2 3.1 1.2 5.5V331.2c0 6.3-3.7 12.1-9.5 14.6l-60.3 26.8-8 56.1 87.8-39c23.1-10.3 38-33.2 38-58.5V214.9c0-8.9-1.8-18.6-6.8-28C615.3 153.1 523.3 0 320 0S24.7 153.1 6.8 187C1.8 196.3 0 206 0 214.9V331.2c0 25.3 14.9 48.2 38 58.5l87.8 39-8-56.1L57.5 345.8c-5.8-2.6-9.5-8.3-9.5-14.6V214.9c0-2.4 .5-4.2 1.2-5.5zM142.1 288l7.3 50.8 0 0 0 .1 22.9 152c1.1 7.5 6.4 13.8 13.7 16.1s15.2 .3 20.5-5.2l48.7-50.6 50.7 50.9c3.8 3.8 8.8 5.9 14.2 5.9s10.4-2.1 14.2-5.9l50.7-50.9 48.7 50.6c5.3 5.5 13.2 7.5 20.5 5.2s12.6-8.6 13.7-16.1l22.9-152 0 0 0-.1 7.3-50.8H504c13.3 0 24-10.7 24-24s-10.7-24-24-24H480 432 208 160 136c-13.3 0-24 10.7-24 24s10.7 24 24 24h6.1zm315.4 0l-4.1 28.9L418.6 288H456h1.5zM356 288l.5 .4L320 326.2l-36.4-37.8 .5-.4H356zm-134.5 0l-34.8 28.9L182.5 288H184h37.4zm61.5 134.4L320 383.9l37.1 38.5L320 459.7l-37.1-37.2zm9.3-67.4l-37.6 39-44.5-44.7L252.7 314l39.5 41.1zM198.1 394l28.8 28.9-21.2 22L198.1 394zm149.7-38.9L387.3 314l42.6 35.4-44.5 44.7-37.6-39zM441.9 394l-7.7 50.9-21.2-22L441.9 394zM208 176H432v32h48V168c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40v40h48V176z\"]\n};\nvar faObjectsAlignBottom = {\n prefix: 'far',\n iconName: 'objects-align-bottom',\n icon: [512, 512, [], \"e3bb\", \"M24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24zM176 336V48H112V336h64zm-64 48c-26.5 0-48-21.5-48-48V48C64 21.5 85.5 0 112 0h64c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H112zm288-48V176H336V336h64zm-64 48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H336z\"]\n};\nvar faV = {\n prefix: 'far',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M14.7 33.9c12.2-5.1 26.3 .6 31.4 12.8L192 394 337.9 46.7c5.1-12.2 19.2-18 31.4-12.8s18 19.2 12.8 31.4l-168 400c-3.7 8.9-12.5 14.7-22.1 14.7s-18.4-5.8-22.1-14.7L1.9 65.3C-3.3 53.1 2.5 39 14.7 33.9z\"]\n};\nvar faSparkles = {\n prefix: 'far',\n iconName: 'sparkles',\n icon: [512, 512, [10024], \"f890\", \"M327.5 85.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 128l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 128l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 64 426.8 7.5C425.1 3 420.8 0 416 0s-9.1 3-10.8 7.5L384 64 327.5 85.2zM9.3 240C3.6 242.6 0 248.3 0 254.6s3.6 11.9 9.3 14.5L26.3 277l8.1 3.7 .6 .3 88.3 40.8L164.1 410l.3 .6 3.7 8.1 7.9 17.1c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l7.9-17.1 3.7-8.1 .3-.6 40.8-88.3L346 281l.6-.3 8.1-3.7 17.1-7.9c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-17.1-7.9-8.1-3.7-.6-.3-88.3-40.8L217 99.1l-.3-.6L213 90.3l-7.9-17.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-7.9 17.1-3.7 8.1-.3 .6-40.8 88.3L35.1 228.1l-.6 .3-8.1 3.7L9.3 240zm83 14.5l51.2-23.6c10.4-4.8 18.7-13.1 23.5-23.5l23.6-51.2 23.6 51.2c4.8 10.4 13.1 18.7 23.5 23.5l51.2 23.6-51.2 23.6c-10.4 4.8-18.7 13.1-23.5 23.5l-23.6 51.2-23.6-51.2c-4.8-10.4-13.1-18.7-23.5-23.5L92.3 254.6zM384 384l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 448l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 448l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 384l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L384 384z\"]\n};\nvar faSquid = {\n prefix: 'far',\n iconName: 'squid',\n icon: [512, 512, [129425], \"e450\", \"M261.5 4.8C265.3 .9 270.7-.8 276 .3L392.7 23.6C423 14.4 456.7 6.5 494.3 .2c5.1-.8 10.3 .8 13.9 4.5s5.3 8.8 4.5 13.9c-6.3 37.6-14.2 71.3-23.4 101.5l23.3 116.7c1.1 5.3-.6 10.8-4.5 14.6s-9.4 5.4-14.7 4.2l-58.9-13.1C388.4 314.5 332.8 346 286.2 353.2l16 16 .1 .1 22.5 22.5c6.2 6.2 16.4 6.2 22.6 0l56.4-56.3c18.9-18.9 49.5-18.7 68.2 .3l36.4 37.1c6.1 6.3 6.1 16.3-.1 22.5l-2.8 2.8c-34 34-87.7 33.3-121 1.9L370 414.4c-18.7 18.7-49.1 18.7-67.9 0L273.7 386c-9.4-9.2-24.4-9.2-33.7 0l-.1 .1-.1 .1c-9.2 9.4-9.2 24.4 0 33.8l.1 .1 5.7 5.7 9.9 9.9c19.5 19.5 18.6 51.5-2.1 69.8l-2.8 2.5c-6.6 5.9-16.7 5.3-22.6-1.3s-5.3-16.7 1.3-22.6l2.8-2.5c6.9-6.1 7.2-16.8 .7-23.3l-9.9-9.8-.1-.1-22.4-22.4-.1-.1c-10.2-10.1-27-9-35.8 2.3l-15.6 20c-2.7 3.5-4.2 7.7-4.2 12.1c0 10.9 8.8 19.7 19.7 19.7h12.3c8.8 0 16 7.2 16 16s-7.2 16-16 16H164.6c-28.6 0-51.7-23.2-51.7-51.7c0-11.5 3.8-22.7 10.9-31.8l21.9-28.2c7.3-9.4 6.5-22.8-1.9-31.2s-21.8-9.3-31.2-1.9L84.4 389.1C75.3 396.2 64.1 400 52.6 400C24.1 400 .9 376.8 .9 348.3L.9 336c0-8.8 7.2-16 16-16s16 7.2 16 16v12.3c0 10.9 8.8 19.7 19.7 19.7c4.4 0 8.7-1.5 12.1-4.2l20-15.6c11.3-8.8 12.4-25.5 2.4-35.8L64.6 289.9l-.2-.2L53.8 279.2c-6.4-6.4-16.7-6.2-22.9 .3L27.6 283c-6.1 6.4-16.2 6.7-22.6 .6s-6.7-16.2-.6-22.6l3.3-3.5c18.6-19.6 49.7-20 68.7-.9L93 273.1c9.4 9.2 24.4 9.1 33.8-.2c9.4-9.4 9.4-24.5 0-33.9l0 0-5.7-5.7 0 0L98.5 210.7c-18.7-18.7-18.7-49.1 0-67.9l14.3-14.3c-31.4-33.3-32.1-87 1.9-121l2.8-2.8c6.2-6.2 16.3-6.3 22.5-.1l37.1 36.4c19.1 18.7 19.2 49.3 .3 68.2l-56.4 56.4c-6.2 6.2-6.2 16.4 0 22.6l22.6 22.6 2 2 14 14c7.2-46.6 38.7-102.2 110.6-148.4L257.3 19.5c-1.2-5.3 .4-10.8 4.2-14.7zM184.9 296a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM432.3 62C266.7 103.7 228.1 174.4 222.4 215.4c-1.9 13.9 6 30.8 25.1 49.9s36 27 49.9 25.1c41-5.6 111.8-44.3 153.5-209.8c2.8-11.3-7.3-21.5-18.6-18.6z\"]\n};\nvar faLeafyGreen = {\n prefix: 'far',\n iconName: 'leafy-green',\n icon: [576, 512, [129388], \"e41d\", \"M233.8 27c-38-36.5-98.4-36-135.8 1.5C92 34.4 87 40.8 83 47.7C70 69.6 50.6 89.9 30.9 105.9c-2.3 1.8-4.4 3.8-6.5 5.9C-1.4 137.6-6.8 176.2 8.5 207.2c5.7 11.7 11 24.1 11 37.1v35.7c0 14.7 5.8 28.8 16.3 39.2l26.3 26.3c10.4 10.4 16.3 24.5 16.3 39.2l0 12.9c0 2.9 .2 5.8 .7 8.7l7.6-7.6c6-6 9.4-14.1 9.4-22.6V330.5c0-25.5 10.1-49.9 28.1-67.9l10.5-10.5c6-6 9.4-14.1 9.4-22.6v-43c0-25.5 10.1-49.9 28.1-67.9l29.1-29.1c5-5 8.8-12.9 13.7-27c4.4-12.9 10.8-24.8 18.9-35.5zM526 128c-9.1 35.4-9.7 73.9-6.3 106.9c.2 1.7 .3 3.4 .3 5.1c0 21-13.5 38.9-32.4 45.4c-14.5 5-38.5 13.6-57.7 32.8l-29.1 29.1c-3 3-7.1 4.7-11.3 4.7h-43c-29.7 0-58.2 11.8-79.2 32.8l-10.5 10.5c-3 3-7.1 4.7-11.3 4.7H209.9L313 297l41-41H440c13.3 0 24-10.7 24-24s-10.7-24-24-24H401.9l71-71c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L327 215l-7 7V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v86.1l-96 96V330.5c0-4.2 1.7-8.3 4.7-11.3l10.5-10.5c21-21 32.8-49.5 32.8-79.2v-43c0-4.2 1.7-8.3 4.7-11.3l29.1-29.1c19.2-19.2 27.8-43.2 32.8-57.7C297.1 69.5 315 56 336 56c1.7 0 3.5 .1 5.1 .3c33 3.5 71.4 2.8 106.9-6.3c5.1-1.3 10.4-2 16-2c35.3 0 64 28.7 64 64c0 5.6-.7 10.9-2 16zM105 505l38.2-38.2c12-12 28.3-18.7 45.3-18.7h57c17 0 33.3-6.7 45.3-18.7l10.5-10.5c12-12 28.3-18.7 45.3-18.7h43c17 0 33.3-6.7 45.3-18.7l29.1-29.1c10.7-10.7 25-16.4 39.3-21.3C540.9 317.9 568 282.1 568 240c0-3.4-.2-6.8-.5-10.1c-3.1-29.1-2.3-61.5 5-89.9c2.3-8.9 3.5-18.3 3.5-28C576 50.1 525.9 0 464 0c-9.7 0-19 1.2-28 3.5c-28.4 7.3-60.8 8.1-89.9 5c-3.3-.3-6.7-.5-10.1-.5c-42.1 0-77.9 27.1-90.8 64.9c-4.9 14.3-10.6 28.6-21.3 39.3l-29.1 29.1c-12 12-18.7 28.3-18.7 45.3v43c0 17-6.7 33.3-18.7 45.3l-10.5 10.5c-12 12-18.7 28.3-18.7 45.3v57c0 17-6.7 33.3-18.7 45.3L71 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faCircleArrowUpRight = {\n prefix: 'far',\n iconName: 'circle-arrow-up-right',\n icon: [512, 512, [], \"e0fc\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM192 144H344c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V225.9L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l135-135H192c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCalendars = {\n prefix: 'far',\n iconName: 'calendars',\n icon: [512, 512, [], \"e0d7\", \"M224 0c13.3 0 24 10.7 24 24V64H360V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v48 16V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V192 176 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM144 192V352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V192H144zm-96-8V392c0 39.8 32.2 72 72 72H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120C53.7 512 0 458.3 0 392V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'far',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M26.4 32.1C13.2 30.8 1.4 40.4 .1 53.6s8.3 25 21.5 26.3L44 82.1c20.4 2 36 19.3 36 39.8V176H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80V392c0 48.6 39.4 88 88 88h32c101.6 0 184-82.4 184-184V264c0-48.6-39.4-88-88-88H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c22.1 0 40 17.9 40 40v32c0 75.1-60.9 136-136 136H168c-22.1 0-40-17.9-40-40V224h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H128V121.9c0-45.2-34.3-83.1-79.2-87.6L26.4 32.1z\"]\n};\nvar faBicycle = {\n prefix: 'far',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h49c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM454.6 296.3l36.3 67.1c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-36.3-67.1c4.9-.9 10-1.4 15.2-1.4c44.2 0 80 35.8 80 80s-35.8 80-80 80s-80-35.8-80-80c0-21.7 8.6-41.3 22.6-55.7zM136.9 272.5l-28.1 56.1c-9 18.1 4.1 39.4 24.3 39.4h73.2c-7.4 36.5-39.7 64-78.4 64c-44.2 0-80-35.8-80-80s35.8-80 80-80c3 0 6 .2 8.9 .5zM166.8 320l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"]\n};\nvar faHammerWar = {\n prefix: 'far',\n iconName: 'hammer-war',\n icon: [384, 512, [], \"f6e4\", \"M216 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V52L36.7 32.4C17.7 29.5 0 44.7 0 64V256c0 19.3 17.7 34.5 36.7 31.6l150.5-22.6c3.1-.5 6.3-.5 9.5 0l150.5 22.6c19.1 2.9 36.7-12.4 36.7-31.6V64c0-19.3-17.7-34.5-36.7-31.6L216 52V24zm0 276.3l-24-3.6-24 3.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V300.3zm-35.9-82.7L48 237.4V82.6l132.1 19.8c7.9 1.2 15.9 1.2 23.7 0L336 82.6V237.4L203.9 217.6c-7.9-1.2-15.9-1.2-23.7 0z\"]\n};\nvar faCircleD = {\n prefix: 'far',\n iconName: 'circle-d',\n icon: [512, 512, [], \"e104\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V360c0 13.3 10.7 24 24 24h72c70.7 0 128-57.3 128-128s-57.3-128-128-128H184zm72 208H208V176h48c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faSpiderBlackWidow = {\n prefix: 'far',\n iconName: 'spider-black-widow',\n icon: [512, 512, [], \"f718\", \"M144.6 1.6c12.4 4.8 18.5 18.6 13.8 31l-32.5 84.6c-1.1 3-.4 6.3 1.8 8.5L160 158.1c.6-32.8 17.8-61.6 43.3-78.4c5.8-3.8 13.1-4.9 19.8-3s12.3 6.7 15.2 13L256 128.1l17.7-38.3c2.9-6.3 8.5-11.1 15.2-13s13.9-.8 19.8 3c25.6 16.8 42.7 45.5 43.3 78.4l32.3-32.3c2.2-2.2 2.9-5.6 1.8-8.5L353.6 32.6c-4.8-12.4 1.4-26.3 13.8-31s26.3 1.4 31 13.8L430.9 100c7.9 20.7 3 44.1-12.7 59.7l-57.4 57.4 80.4-26.8c2.4-.8 4.3-2.7 5.1-5.1l18.9-56.8c4.2-12.6 17.8-19.4 30.4-15.2s19.4 17.8 15.2 30.4l-18.9 56.8c-5.6 16.7-18.7 29.8-35.4 35.4L395.9 256l60.5 20.2c16.7 5.6 29.8 18.7 35.4 35.4l18.9 56.8c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-18.9-56.8c-.8-2.4-2.7-4.3-5.1-5.1l-68.8-22.9c.8 3.2 1.5 6.4 2 9.7l43.8 43.8c15.6 15.6 20.6 39 12.7 59.7l-32.5 84.6c-4.8 12.4-18.6 18.5-31 13.8s-18.5-18.6-13.8-31l32.5-84.6c1.1-3 .4-6.3-1.8-8.5l-12.1-12.1C358.8 425.8 311.9 464 256 464s-102.8-38.2-116.2-89.9l-12.1 12.1c-2.2 2.2-2.9 5.6-1.8 8.5l32.5 84.6c4.8 12.4-1.4 26.3-13.8 31s-26.3-1.4-31-13.8L81.1 412c-7.9-20.7-3-44.1 12.7-59.7l43.8-43.8c.5-3.3 1.2-6.5 2-9.7L70.8 321.7c-2.4 .8-4.3 2.7-5.1 5.1L46.8 383.6C42.6 396.2 29 403 16.4 398.8S-3 381 1.2 368.4l18.9-56.8c5.6-16.7 18.7-29.8 35.4-35.4L116.1 256 55.6 235.8c-16.7-5.6-29.8-18.7-35.4-35.4L1.2 143.6C-3 131 3.8 117.4 16.4 113.2s26.2 2.6 30.4 15.2l18.9 56.8c.8 2.4 2.7 4.3 5.1 5.1l80.4 26.8L93.7 159.7C78.1 144 73.1 120.6 81.1 100l32.5-84.6c4.8-12.4 18.6-18.5 31-13.8zm66 142.7c-1.7 4.9-2.6 10.2-2.6 15.7v88c0 3.4 .4 6.7 1 9.9c1.6 7.6-.6 15.5-5.9 21.2C191.2 292 184 309.1 184 328v16c0 39.8 32.2 72 72 72s72-32.2 72-72V328c0-18.9-7.2-36-19.1-48.9c-5.3-5.7-7.5-13.6-5.9-21.2c.7-3.2 1-6.5 1-9.9V160c0-5.5-.9-10.8-2.6-15.7l-15.6 33.8c-3.9 8.5-12.4 13.9-21.8 13.9H248c-9.4 0-17.9-5.4-21.8-13.9l-15.6-33.8zm7.8 162.9c-1.6-2.1-2.4-4.6-2.4-7.2c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12c0 2.6-.8 5.1-2.4 7.2L272 336l21.6 28.8c1.6 2.1 2.4 4.6 2.4 7.2c0 6.6-5.4 12-12 12H228c-6.6 0-12-5.4-12-12c0-2.6 .8-5.1 2.4-7.2L240 336l-21.6-28.8z\"]\n};\nvar faStaffSnake = {\n prefix: 'far',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.1 4.8H296c48.6 0 88 39.4 88 88s-39.4 88-88 88H248V176h48c22.1 0 40-17.9 40-40s-17.9-40-40-40H221l-6 192h25c44.2 0 80 35.8 80 80s-35.8 80-80 80V400c17.7 0 32-14.3 32-32s-14.3-32-32-32H213.5l-3.6 115.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1.4-43.5L174 448H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h52.5l-2-64H144c-44.2 0-80-35.8-80-80c0-41.5 31.6-75.6 72-79.6V225c-13.8 3.6-24 16.1-24 31c0 17.7 14.3 32 32 32h25L163 96H127.4c.4 2.6 .6 5.3 .6 8c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56S25.1 48 56 48h8 8 89.5l-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faPear = {\n prefix: 'far',\n iconName: 'pear',\n icon: [512, 512, [], \"e20c\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9L457.9 88.1c14 20.5 22.1 45.3 22.1 71.9c0 30.7-10.8 58.9-28.9 81c-29.9 36.5-61.4 81.8-73.3 127.4c-8.3 32-25 62.3-50.1 87.3c-75 75-196.5 75-271.5 0s-75-196.5 0-271.5c25.1-25.1 55.3-41.8 87.3-50.1c45.7-11.8 90.9-43.4 127.4-73.3c22.1-18 50.3-28.9 81-28.9c26.7 0 51.4 8.2 71.9 22.1L471 7c9.4-9.4 24.6-9.4 33.9 0zM367 111l22-22c-11.1-5.8-23.7-9.1-37-9.1c-19.2 0-36.8 6.7-50.6 18C264 128.6 212 166 155.6 180.6c-23.9 6.2-46.6 18.7-65.5 37.5c-56.2 56.2-56.2 147.4 0 203.6s147.4 56.2 203.6 0c18.9-18.9 31.3-41.5 37.5-65.5C346 300 383.4 248 414 210.6c11.3-13.8 18-31.3 18-50.6c0-13.4-3.3-25.9-9.1-37l-22 22c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM288 320c0 53-43 96-96 96c-8.8 0-16-7.2-16-16s7.2-16 16-16c35.3 0 64-28.7 64-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'far',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M129 75.8C156.4 58.2 189 48 224 48h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-6.3 0-12 2.4-16.2 6.3L129 75.8zM459.7 335c29.7-5.3 52.3-31.3 52.3-62.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C173.5 0 127 16.7 89.5 44.8L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459.7 335zM27 117.3C9.8 149 0 185.4 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224c0-27.4 6.3-53.3 17.4-76.4L27 117.3zM339.2 363.2l-1.3 .3c-10.5 2.6-17.8 12-17.8 22.8c0 12.2 9.4 22.4 21.6 23.4l58.4 4.9V424v8c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24c10.4 0 19.3-6.7 22.6-16H384c30 0 55.2-20.6 62.1-48.5l-107-84.3zM640 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88-24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faTriangle = {\n prefix: 'far',\n iconName: 'triangle',\n icon: [512, 512, [9650], \"f2ec\", \"M248.4 84.3c1.6-2.7 4.5-4.3 7.6-4.3s6 1.6 7.6 4.3L461.9 410c1.4 2.3 2.1 4.9 2.1 7.5c0 8-6.5 14.5-14.5 14.5H62.5c-8 0-14.5-6.5-14.5-14.5c0-2.7 .7-5.3 2.1-7.5L248.4 84.3zm-41-25L9.1 385c-6 9.8-9.1 21-9.1 32.5C0 452 28 480 62.5 480h387c34.5 0 62.5-28 62.5-62.5c0-11.5-3.2-22.7-9.1-32.5L304.6 59.3C294.3 42.4 275.9 32 256 32s-38.3 10.4-48.6 27.3z\"]\n};\nvar faApartment = {\n prefix: 'far',\n iconName: 'apartment',\n icon: [576, 512, [], \"e468\", \"M176 96V64c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V192c0 26.5 21.5 48 48 48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H384 352 320V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H192 64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h64c26.5 0 48-21.5 48-48zm16 416h64 64 32 32H512c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H496 448V144 64c0-35.3-28.7-64-64-64H192c-35.3 0-64 28.7-64 64V96H80 64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H192zM352 336c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm144 80V384c0-8.8-7.2-16-16-16H448c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM128 336c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm16 80V384c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm112-80c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM368 96c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96zM256 80H224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM368 224V192c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM480 336c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H448c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM144 224V192c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm112 16c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32z\"]\n};\nvar faTruckMedical = {\n prefix: 'far',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240v48c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16V208H128c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h48V96z\"]\n};\nvar faAmbulance = faTruckMedical;\nvar faPepper = {\n prefix: 'far',\n iconName: 'pepper',\n icon: [512, 512, [129745], \"e432\", \"M252.6 11.7C245.8 .3 231-3.4 219.7 3.4s-15.1 21.6-8.2 32.9l10.3 17.2c6.7 11.2 10.3 24 10.3 37v10.9c-17.1-6.1-36.2-7.4-55.1-2.7l-.2 0c-10.5 2.6-20.1 6.9-28.7 12.4C126.5 97.5 99.5 92.2 72.7 98.9C21.3 111.7-10 163.8 2.9 215.3l56 224c12.9 51.4 65 82.7 116.4 69.8c10.5-2.6 20.1-6.9 28.7-12.4c5.7 3.6 11.8 6.7 18.3 9.2c10.6 4 22 6.1 33.7 6.1h0l0-24 0 24h0c11.7 0 23.1-2.1 33.7-6.1c6.5-2.4 12.6-5.5 18.3-9.2c8.6 5.5 18.3 9.8 28.7 12.4c51.4 12.9 103.6-18.4 116.4-69.8l56-224c12.9-51.4-18.4-103.6-69.8-116.4c-26.8-6.7-53.8-1.4-75.3 12.4c-8.6-5.6-18.3-9.8-28.7-12.4c-19-4.8-38.1-3.5-55.3 2.6V90.6c0-21.7-5.9-43.1-17.1-61.7L252.6 11.7zM84.4 145.4c10.5-2.6 21.1-1.6 30.4 2.4c-10.4 20-13.8 43.8-7.9 67.5l33.6 134.4c3.2 12.9 16.2 20.7 29.1 17.5s20.7-16.2 17.5-29.1L153.4 203.6c-6.2-25 8.3-50.3 32.7-57.6c.7-.2 1.5-.4 2.2-.6c18.7-4.7 37.6 2.3 49 16.4c4.6 5.6 11.4 8.9 18.7 8.9s14.1-3.3 18.7-8.9c11.4-14.1 30.3-21.1 49-16.4c9.2 2.3 17 7 23 13.3c4.5 4.7 10.8 7.4 17.3 7.4s12.8-2.7 17.3-7.4c11.6-12.1 29-17.7 46.3-13.4c25.7 6.4 41.4 32.5 34.9 58.2l-56 224c-6.4 25.7-32.5 41.4-58.2 34.9c-9.2-2.3-17-7-23-13.3c-4.5-4.7-10.8-7.4-17.3-7.4s-12.8 2.7-17.3 7.4c-.2 .2-.5 .5-.7 .7l0 0c-4.7 4.7-10.5 8.5-17.1 11l0 0c-5.3 2-11 3.1-16.8 3.1h0c-5.8 0-11.5-1.1-16.8-3.1l0 0c-6.6-2.4-12.3-6.2-17-10.9l0 0c-.2-.2-.5-.5-.7-.8c-4.5-4.7-10.8-7.4-17.3-7.4s-12.8 2.7-17.3 7.4c-6 6.3-13.9 11-23 13.3c-25.7 6.4-51.8-9.2-58.2-34.9l-56-224c-6.4-25.7 9.2-51.8 34.9-58.2z\"]\n};\nvar faPiano = {\n prefix: 'far',\n iconName: 'piano',\n icon: [512, 512, [], \"f8d4\", \"M432 384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H240v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H112v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H48v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V384H432zM48 336H464v-8.4c0-6.1-3.4-11.6-8.8-14.3L396.8 284c-37.2-18.6-60.8-56.7-60.8-98.3C336 109.7 274.3 48 198.3 48H192C112.5 48 48 112.5 48 192V336zm464-8.4V336v24 24 64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V384 360 336 192C0 86 86 0 192 0h6.3C300.8 0 384 83.2 384 185.7c0 23.5 13.2 44.9 34.2 55.4l58.4 29.2c21.7 10.8 35.4 33 35.4 57.2z\"]\n};\nvar faGunSquirt = {\n prefix: 'far',\n iconName: 'gun-squirt',\n icon: [576, 512, [], \"e19d\", \"M104 32c13.3 0 24 10.7 24 24v8H448c41.8 0 77.4 26.7 90.5 64H552c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H538.5c-13.2 37.3-48.7 64-90.5 64H249l-18 72h41V312c0-13.3 10.7-24 24-24s24 10.7 24 24v40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H219L199 455.8C195.5 470 182.7 480 168 480H64c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5L79.4 254.6C34.3 246.7 0 207.3 0 160c0-47.6 34.6-87.1 80-94.7V56c0-13.3 10.7-24 24-24zm24.5 224l-44 176h71l44-176h-71zM448 208c26.5 0 48-21.5 48-48s-21.5-48-48-48H104 96c-26.5 0-48 21.5-48 48s21.5 48 48 48H211.5 261 448zM96 144H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWheatAwnCircleExclamation = {\n prefix: 'far',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M504.7 7.2c9.4 9.4 9.4 24.6 0 33.9L366.1 179.7c7.9 .9 15.8 2.5 23.4 4.8L471 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63.7 63.7c-21.6 7.1-41.4 18.2-58.4 32.5c-24.3-10.1-52.5-7.8-75 7l10.1 10.1c9.4 9.4 21 15.3 33.1 17.6c-11.9 17.2-20.9 36.7-26.1 57.7c-27.3-23.7-66.9-25.8-96.4-6.2l10.1 10.1c23 23 59.1 24.8 84.2 5.5c-2 10.7-3.1 21.7-3.1 32.9c0 7.4 .5 14.8 1.4 21.9c-5.8 2-11.8 3.6-17.8 4.7c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.3-11.3 0 0L41 504.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l73.5-73.5 0 0L69.3 386.1c-43.7-43.7-43.7-114.7 0-158.4l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9c2.9 2.9 5.7 5.9 8.2 9L375 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-81.6 81.6c2.3 7.6 3.9 15.4 4.8 23.2L470.7 7.2c9.4-9.4 24.6-9.4 33.9 0zM261.5 103.3c-25 25-25 65.5 0 90.5L271.7 204c20.5-31 17.2-73.3-10.2-100.6zm-79.2 79.2c-25 25-25 65.5 0 90.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6zM159.7 408.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm-56.5-56.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faSnowman = {\n prefix: 'far',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M256 0C189.7 0 136 53.7 136 120c0 19 4.4 37 12.3 53c-7.2 9.3-13.2 19.6-17.8 30.6L104 192.2V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v19.6l-22.5-9.7c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l56 24 49.5 21.2c-.1 1.6-.1 3.1-.1 4.7c0 12.5 1.7 24.7 4.9 36.3C106.7 318.2 96 349.9 96 384c0 39.2 14.1 75.1 37.5 102.9c15.6 18.6 38.4 25.1 58.3 25.1H320.3c19.8 0 42.6-6.5 58.3-25.1C401.9 459.1 416 423.2 416 384c0-34.1-10.7-65.8-28.9-91.7c3.2-11.6 4.9-23.7 4.9-36.3c0-1.6 0-3.1-.1-4.7l49.5-21.2 56-24c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L456 171.6V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v40.2l-26.5 11.4c-4.6-11-10.6-21.3-17.8-30.6c7.9-16 12.3-34 12.3-53C376 53.7 322.3 0 256 0zM184 120c0-39.8 32.2-72 72-72s72 32.2 72 72c0 15.6-5 30-13.4 41.8c-6.9 9.6-5.7 22.9 2.8 31.1c16.4 16 26.6 38.3 26.6 63c0 11.3-2.1 22.1-6 32c-3.2 8.2-1.7 17.4 3.9 24.1C358.2 331.6 368 356.6 368 384c0 27.5-9.8 52.5-26.2 72c-3.8 4.6-11.1 8-21.5 8H191.7c-10.4 0-17.7-3.4-21.5-8c-16.4-19.5-26.2-44.6-26.2-72c0-27.4 9.8-52.4 26.1-71.8c5.6-6.7 7.1-16 3.9-24.1c-3.9-9.9-6-20.7-6-32c0-24.7 10.2-47 26.6-63c8.5-8.3 9.7-21.5 2.8-31.1C189 150 184 135.6 184 120zm56-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24v3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V144c0-8.8-7.2-16-16-16s-16 7.2-16 16zm16 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faUserAlien = {\n prefix: 'far',\n iconName: 'user-alien',\n icon: [448, 512, [], \"e04a\", \"M112 167c0-67.7 52.1-119 112-119s112 51.3 112 119c0 33.9-18.3 69.4-46.1 102.4c-23.3 27.7-49.6 49.4-65.9 61.6c-16.3-12.2-42.6-34-65.9-61.6C130.3 236.4 112 201 112 167zM224 0C135.6 0 64 74.8 64 167c0 101 106.6 185 139.2 208.3c6.1 4.3 13.4 6.5 20.8 6.5s14.7-2.1 20.8-6.5C277.4 352 384 268.1 384 167C384 74.8 312.4 0 224 0zM0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6c0-71.4-55.7-129.8-126.1-134.1c-22.6 22.1-44 38.6-56.7 47.7h48.3c40 0 73.6 27.1 83.5 64H50.9c9.9-36.9 43.5-64 83.5-64h48.3c-12.7-9.2-34-25.6-56.7-47.7C55.7 356.6 0 415 0 486.4zM208 222.9c0-30.3-24.6-54.9-54.9-54.9h-16c-5 0-9.1 4.1-9.1 9.1c0 30.3 24.6 54.9 54.9 54.9h16c5 0 9.1-4.1 9.1-9.1zM294.9 168c-30.3 0-54.9 24.6-54.9 54.9c0 5 4.1 9.1 9.1 9.1h16c30.3 0 54.9-24.6 54.9-54.9c0-5-4.1-9.1-9.1-9.1h-16z\"]\n};\nvar faShieldCheck = {\n prefix: 'far',\n iconName: 'shield-check',\n icon: [512, 512, [], \"f2f7\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faMortarPestle = {\n prefix: 'far',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M504.3 11.1c10.9 12.7 10.2 31.7-1.6 43.5L397.3 160H252.3L461 6.2c13.5-9.9 32.3-7.8 43.2 4.9zM80 240v16c0 62.9 31.3 109.5 91.9 131c14.6 5.2 25.8 17.1 30.1 32.1s1 31-8.6 43.1c-.5 .6-1 1.2-1.4 1.8H320c-.5-.6-.9-1.2-1.4-1.8c-9.7-12.1-12.9-28.2-8.6-43.1s15.5-26.9 30.1-32.1c60.7-21.6 91.9-68.1 91.9-131V240H80zm432-24c0 13.3-10.7 24-24 24h-8v16c0 66-27.8 120.8-80 154.8c-13.1 8.5-27.7 15.7-43.9 21.5c10 12.6 17.7 27.1 22.5 42.9c.5 1.7 1 3.5 1.4 5.2c4.4 17.1-10.4 31.7-28.1 31.7H160c-17.7 0-32.4-14.6-28.1-31.7c.4-1.8 .9-3.5 1.4-5.2c4.7-15.8 12.5-30.3 22.5-42.9c-16.1-5.7-30.8-12.9-43.9-21.5C59.8 376.8 32 322 32 256V240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H480h8c13.3 0 24 10.7 24 24z\"]\n};\nvar faRoadBarrier = {\n prefix: 'far',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M24 32c13.3 0 24 10.7 24 24V80H592V56c0-13.3 10.7-24 24-24s24 10.7 24 24V80v48V256v48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 42.7 10.7 32 24 32zM592 256V128H570.8l-64 128H592zM48 256H69.2l64-128H48V256zM389.2 128H314.8l-64 128h74.3l64-128zM378.8 256h74.3l64-128H442.8l-64 128zm-192-128l-64 128h74.3l64-128H186.8z\"]\n};\nvar faChartCandlestick = {\n prefix: 'far',\n iconName: 'chart-candlestick',\n icon: [512, 512, [], \"e0e2\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zm272-8c0-8.8-7.2-16-16-16s-16 7.2-16 16V96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32V48zm64 176v64c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c-17.7 0-32 14.3-32 32zM160 128c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48z\"]\n};\nvar faBriefcaseBlank = {\n prefix: 'far',\n iconName: 'briefcase-blank',\n icon: [512, 512, [], \"e0c8\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm232 48H152 64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H360z\"]\n};\nvar faSchool = {\n prefix: 'far',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M306.7 4c8.1-5.4 18.6-5.4 26.6 0l138 92H568c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H384 256 72c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72h96.7l138-92zM568 464c13.3 0 24-10.7 24-24V168c0-13.3-10.7-24-24-24H464c-4.7 0-9.4-1.4-13.3-4L320 52.8 189.3 140c-3.9 2.6-8.6 4-13.3 4H72c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24H256V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80H568zM112 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm368 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V208zM112 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm368 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V336zM240 192a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm80-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V160c0-8.8-7.2-16-16-16z\"]\n};\nvar faIgloo = {\n prefix: 'far',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M512 432H400V368H528v48c0 8.8-7.2 16-16 16zM395.4 320c-13.8-46.3-56.6-80-107.4-80s-93.6 33.7-107.4 80H144V192H432V320H395.4zm95.7-128c23.4 37 36.9 80.9 36.9 128H480V192h11.1zM96 192V320H48c0-47.1 13.5-91 36.9-128H96zM288 80c5.4 0 10.7 .2 16 .5V144H124.8C167.7 104.3 225 80 288 80zm64 64V88.6c37.6 10.4 71.4 29.6 99.2 55.4H352zM176 368v64H64c-8.8 0-16-7.2-16-16V368H176zM64 480H176 400 512c35.3 0 64-28.7 64-64V320C576 160.9 447.1 32 288 32S0 160.9 0 320v96c0 35.3 28.7 64 64 64zM288 288c35.3 0 64 28.7 64 64v80H224V352c0-35.3 28.7-64 64-64z\"]\n};\nvar faBracketRound = {\n prefix: 'far',\n iconName: 'bracket-round',\n icon: [192, 512, [\"parenthesis\"], \"28\", \"M156.6 43.7c6.8 11.4 3 26.1-8.3 32.9C115.3 96.3 48 160.7 48 256s67.3 159.7 100.3 179.4c11.4 6.8 15.1 21.5 8.3 32.9s-21.5 15.1-32.9 8.3C82 451.8 0 374.1 0 256S82 60.2 123.7 35.4c11.4-6.8 26.1-3 32.9 8.3z\"]\n};\nvar faParenthesis = faBracketRound;\nvar faJoint = {\n prefix: 'far',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M464 24V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v19c0 13.3-10.7 24-24 24s-24-10.7-24-24V245c0-17-6.7-33.3-18.7-45.3l-21-21C436.2 142.7 416 93.9 416 43V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM592 264V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24V43c0 17 6.7 33.3 18.7 45.3l21 21c36 36 56.2 84.8 56.2 135.8v19c0 13.3-10.7 24-24 24s-24-10.7-24-24zM120.2 436.8C171.7 450.7 235.2 464 288 464h27.4l-52.6-63.1c-47 3.2-99.1 14.6-142.6 26.3c-5.8 1.6-11.7 3.2-17.5 4.8c5.8 1.7 11.6 3.3 17.5 4.8zM324.6 400l53.3 64h97.5l-53.3-64H324.6zm160 0l53.3 64H592V400H484.6zM15.8 409.5c30.1-11 61.1-20.3 92-28.6C160.3 366.7 228.8 352 288 352H600c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H288c-59.2 0-127.7-14.7-180.2-28.8c-30.8-8.3-62-17.8-92-28.6C6.3 451.1 0 442.1 0 432s6.3-19.1 15.8-22.5z\"]\n};\nvar faHorseSaddle = {\n prefix: 'far',\n iconName: 'horse-saddle',\n icon: [576, 512, [], \"f8c3\", \"M426.8 .6c1.7-.4 3.4-.6 5.2-.6h8 32 .5c2.5 0 5 .1 7.5 .3V0h56c13.3 0 24 10.7 24 24c0 8.5-4.4 16-11.1 20.3c5.4 9.4 9.1 20 10.7 31.3l9.9 69.2c5.2 36.7-15.3 72.2-49.7 86c-18.3 7.3-38 7.5-55.8 1.5V240l0 .7 0 1.6c0 33.2-12.2 62.9-32 85.5V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V364.5l-51.8-15.1c-1 3.8-2.2 7.5-3.6 11.2l-12.1 32.3c-.6 1.6-.7 3.3-.2 5l14.8 53.3c8.5 30.6-14.5 60.8-46.2 60.8H139.1c-21.6 0-40.5-14.4-46.2-35.2L81.6 436.4c-8.6-31-7.2-63.9 4.1-94.1l8.2-21.7L72 265.9c-5.3-13.3-8-27.4-8-41.7c0-2.9 .1-5.7 .3-8.5C54.4 223 48 234.8 48 248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-47.3 37.3-85.9 84.1-87.9c20.3-29.1 54-48.1 92.1-48.1h22.6H232h61.3C309.8 51.5 362.6 6.1 426.8 .6zM416 239V184c0-10.2 6.4-19.3 16.1-22.6s20.3-.3 26.7 7.7l5.9 7.3c8.9 11.1 24.1 15.1 37.3 9.8c13.9-5.5 22.2-19.9 20-34.7l-9.9-69.2C509.3 62.6 492.4 48 472.5 48H472 440h-4.6c-.6 .1-1.3 .2-2 .2c-50 3.1-90.5 41.6-96.6 90.8c-.2 1.4-.4 2.7-.8 3.9c0 .4 0 .7 0 1.1v32c0 40.3-27.1 74.2-64 84.7v49.1l38.7 11.3c2.1 .6 4.2 1.1 6.3 1.6c11.1 2.3 19 12.1 19 23.5V464h48V318.2c0-6.5 2.6-12.7 7.3-17.2c15.1-14.8 24.7-35.3 24.7-58.8c0-.6 0-1.2 0-1.7c0-.5 0-1 0-1.5zM288 160H232 208v16c0 22.1 17.9 40 40 40s40-17.9 40-40V160zm-128 2.1c-27.6 7.2-48 32.3-48 62.2c0 8.2 1.6 16.3 4.6 23.9l21.9 54.6c4.4 11.1 4.6 23.5 .4 34.7l-8.2 21.7c-7.7 20.6-8.7 43.1-2.8 64.4L139.1 464h49.8l-14.8-53.3c-3.2-11.4-2.6-23.6 1.5-34.6l12.1-32.3c2.8-7.5 4.3-15.4 4.3-23.5c0-.4 0-.9 0-1.3c-.2-7.6 3.3-14.9 9.4-19.5s14-6.1 21.3-4l1.3 .4V260.7c-36.9-10.4-64-44.4-64-84.7V162.1zM464 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMugMarshmallows = {\n prefix: 'far',\n iconName: 'mug-marshmallows',\n icon: [512, 512, [], \"f7b7\", \"M197.7 125.7C194 122 192 117.1 192 112s2-10 5.7-13.7l60.7-60.7C262 34 266.9 32 272 32s10 2 13.7 5.7l60.7 60.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L344 128H200l-2.3-2.3zM32 64c0-17.7 14.3-32 32-32H192c7.5 0 14.4 2.6 19.8 6.9L175 75.7c-9.6 9.6-15 22.7-15 36.3c0 5.5 .9 10.9 2.6 16H32V64zM48 384c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V208H152v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H48V384zM0 192c0-17.7 14.3-32 32-32H352h48c61.9 0 112 50.1 112 112s-50.1 112-112 112H384c0 53-43 96-96 96H96c-53 0-96-43-96-96V192zM384 336h16c35.3 0 64-28.7 64-64s-28.7-64-64-64H384V336z\"]\n};\nvar faFilters = {\n prefix: 'far',\n iconName: 'filters',\n icon: [640, 512, [], \"e17e\", \"M233.8 32C210.7 32 192 50.7 192 73.8c0 9.3 3.1 18.4 8.9 25.8L336 272.3v63.9c0 12.3 5.6 23.9 15.3 31.5l92.9 73c21 16.5 51.8 1.5 51.8-25.2V272.3L631.1 99.6c5.8-7.4 8.9-16.4 8.9-25.8C640 50.7 621.3 32 598.2 32H233.8zM378.9 249.2L246.5 80h339L453.1 249.2c-3.3 4.2-5.1 9.4-5.1 14.8V382.6l-64-50.3V264c0-5.4-1.8-10.6-5.1-14.8zM163.4 96H41.8C18.7 96 0 114.7 0 137.8c0 9.3 3.1 18.4 8.9 25.8L144 336.3v31.9c0 12.3 5.6 23.9 15.3 31.5l92.9 73c21 16.5 51.8 1.5 51.8-25.2V336.3v-.1V283.3l-9.7-12.5-33.2 42.4c-3.3 4.2-5.1 9.4-5.1 14.8v86.6l-64-50.3V328c0-5.4-1.8-10.6-5.1-14.8L54.5 144H195l-19.3-24.6c-5.5-7-9.6-15-12.3-23.4z\"]\n};\nvar faBellOn = {\n prefix: 'far',\n iconName: 'bell-on',\n icon: [640, 512, [128365], \"f8fa\", \"M320 0c-17.7 0-32 14.3-32 32V49.9C215.5 61.4 160 124.2 160 200v33.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6H520c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C495.5 322.9 480 278.8 480 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32zm0 96h8c57.4 0 104 46.6 104 104v33.4c0 47.9 13.9 94.6 39.7 134.6H168.3c25.8-40 39.7-86.7 39.7-134.6V200c0-57.4 46.6-104 104-104h8zm64 352H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM0 200c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm536-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536zM597.5 21.3c-5.9-11.9-20.3-16.7-32.2-10.7l-64 32c-11.9 5.9-16.7 20.3-10.7 32.2s20.3 16.7 32.2 10.7l64-32c11.9-5.9 16.7-20.3 10.7-32.2zM53.3 53.5l64 32c11.9 5.9 26.3 1.1 32.2-10.7s1.1-26.3-10.7-32.2l-64-32C62.9 4.6 48.5 9.4 42.5 21.3s-1.1 26.3 10.7 32.2z\"]\n};\nvar faAngleRight = {\n prefix: 'far',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M273 239c9.4 9.4 9.4 24.6 0 33.9L113 433c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l143-143L79 113c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L273 239z\"]\n};\nvar faDialMed = {\n prefix: 'far',\n iconName: 'dial-med',\n icon: [576, 512, [], \"e15f\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM176 288c0-53.6 37.7-98.4 88-109.4V288c0 13.3 10.7 24 24 24s24-10.7 24-24V178.6c50.3 11 88 55.8 88 109.4c0 61.9-50.1 112-112 112s-112-50.1-112-112zM288 128a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHorse = {\n prefix: 'far',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M432 0c-1.8 0-3.5 .2-5.2 .6c-64.2 5.5-117 51-133.5 111.4H232 198.9 176.2c-38.1 0-71.8 19-92.1 48.1C37.3 162.1 0 200.7 0 248v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-13.2 6.4-25 16.3-32.2c-.2 2.8-.3 5.6-.3 8.5c0 14.3 2.7 28.4 8 41.7l21.9 54.6-8.2 21.7c-11.3 30.1-12.7 63.1-4.1 94.1l11.2 40.5c5.8 20.8 24.7 35.2 46.2 35.2h49.8c31.7 0 54.7-30.3 46.2-60.8l-14.8-53.3c-.5-1.6-.4-3.4 .2-5l12.1-32.3c1.4-3.7 2.6-7.4 3.6-11.2L288 364.5V464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V327.8c19.8-22.6 32-52.3 32-85.5l0-1.6 0-.7v-7.8c17.7 6 37.5 5.8 55.8-1.5c34.4-13.8 55-49.3 49.7-86l-9.9-69.2c-1.6-11.3-5.3-21.9-10.7-31.3C555.6 40 560 32.5 560 24c0-13.3-10.7-24-24-24H480V.3c-2.5-.2-5-.3-7.5-.3H472 440h-8zM416 240.5c0 .6 0 1.2 0 1.7c0 23.5-9.6 44.1-24.7 58.8c-4.6 4.5-7.3 10.7-7.3 17.2V464H336V346.2c0-11.3-7.9-21.1-19-23.5c-2.1-.4-4.2-1-6.3-1.6l-88-25.7c-7.3-2.1-15.3-.7-21.3 4s-9.6 11.9-9.4 19.5c0 .4 0 .9 0 1.3c0 8-1.4 16-4.3 23.5L175.6 376c-4.2 11.1-4.7 23.2-1.5 34.6L188.9 464H139.1l-11.2-40.5c-5.9-21.2-4.9-43.7 2.8-64.4l8.2-21.7c4.2-11.2 4.1-23.6-.4-34.7l-21.9-54.6c-3-7.6-4.6-15.7-4.6-23.9c0-35.5 28.8-64.2 64.2-64.2h22.6H232h81c12.1 0 22.3-9 23.8-21c6.1-49.1 46.6-87.7 96.6-90.8c.7 0 1.3-.1 2-.2H440h32 .5c19.9 0 36.8 14.6 39.6 34.3l9.9 69.2c2.1 14.8-6.2 29.1-20 34.7c-13.3 5.3-28.4 1.3-37.3-9.8l-5.9-7.3c-6.4-8-17.1-11-26.7-7.7s-16.1 12.5-16.1 22.6v55c0 .5 0 1 0 1.5zM480 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faQ = {\n prefix: 'far',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M48 256c0 97.2 78.8 176 176 176c35.7 0 69-10.6 96.7-28.9l-91-107.6c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8l90.5 107C383.7 340.6 400 300.2 400 256c0-97.2-78.8-176-176-176S48 158.8 48 256zM351.9 439.9C315.6 465.2 271.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 58.9-22.7 112.5-59.9 152.4l54.2 64.1c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8l-53.8-63.6z\"]\n};\nvar faMonitorWaveform = {\n prefix: 'far',\n iconName: 'monitor-waveform',\n icon: [576, 512, [\"monitor-heart-rate\"], \"f611\", \"M64 80c-8.8 0-16 7.2-16 16V240H176c8.4 0 16.2 4.4 20.6 11.7l25.5 42.5 60.4-120.9c3.9-7.8 11.8-12.9 20.5-13.2s17 4.1 21.5 11.6l41 68.3H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-8.4 0-16.2-4.4-20.6-11.7l-25.5-42.5L245.5 354.7c-3.9 7.8-11.8 12.9-20.5 13.2s-17-4.1-21.5-11.6l-41-68.3H48V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faMonitorHeartRate = faMonitorWaveform;\nvar faLinkSimple = {\n prefix: 'far',\n iconName: 'link-simple',\n icon: [576, 512, [], \"e1cd\", \"M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faWhistle = {\n prefix: 'far',\n iconName: 'whistle',\n icon: [640, 512, [], \"f460\", \"M119 95.2C107.8 76.5 87.4 64 64 64C28.7 64 0 92.7 0 128c0 28.4 18.5 52.5 44.1 60.8C36.3 209.7 32 232.4 32 256c0 106 86 192 192 192c64.7 0 121.9-32 156.7-81L529 444.4c4.6 2.4 9.6 3.6 14.8 3.6h2c9 0 17.6-3.8 23.7-10.5l63.4-69.7c4.6-5 7.1-11.6 7.1-18.4c0-8.5-3.9-16.5-10.6-21.6L353.5 114.3C319.4 83.1 273.9 64 224 64c-38.8 0-74.8 11.5-105 31.2zM68.5 143.4c-1.4 .4-2.9 .6-4.5 .6c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16c0 .3 0 .7 0 1c-4 4.6-7.9 9.4-11.5 14.3zM402.9 324.4c-21.3-11.1-47.5-4.8-61.4 14.8C315.4 376.1 272.5 400 224 400c-79.5 0-144-64.5-144-144s64.5-144 144-144c37.5 0 71.5 14.2 97.1 37.7c1 .9 2 1.7 3 2.5L391 204l-10.2 13.6c-8 10.6-5.8 25.6 4.8 33.6s25.6 5.8 33.6-4.8l9.8-13L582.3 352.1l-40.7 44.7L402.9 324.4zM224 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faG = {\n prefix: 'far',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 80C126.8 80 48 158.8 48 256s78.8 176 176 176c89.1 0 162.7-66.2 174.4-152h-149c-13.3 0-24-10.7-24-24s10.7-24 24-24H408c21.6 0 41.2 17.9 39.3 41.9C438.2 389.3 341.7 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C310.2 96.9 269.1 80 224 80z\"]\n};\nvar faWineGlassCrack = {\n prefix: 'far',\n iconName: 'wine-glass-crack',\n icon: [320, 512, [\"fragile\"], \"f4bb\", \"M184 464V350c44.4-7.5 81.5-35.5 101.7-73.6c13.6-24.4 20.4-53.2 17.7-83.7L287.5 14.5C286.8 6.2 279.9 0 271.8 0H264 194.9h-29H56 48.2c-8.1 0-15 6.2-15.8 14.5L16.6 192.6c-2.7 30.5 4 59.3 17.7 83.7C54.5 314.5 91.6 342.5 136 350V464H72c-1 0-2.1 .1-3.1 .2C57.1 465.7 48 475.8 48 488c0 12.2 9.1 22.2 20.8 23.8c.9 .1 1.9 .2 2.9 .2l.3 0h88 88c1 0 2.1-.1 3.1-.2c11.8-1.5 20.9-11.6 20.9-23.8c0-12.2-9.1-22.2-20.8-23.8c-.9-.1-1.9-.2-2.9-.2l-.3 0H184zM163.3 48c-.4 3.4-2 6.7-4.6 9.3l-52.3 52.3c-5.9 5.9-6.3 15.3-.9 21.6l76 89.8c1.6 1.9 3.9 3 6.4 3c5.8 0 9.9-5.9 7.8-11.3l-30.9-80.4c-2.8-7.2 0-15.3 6.5-19.3l43.4-27.1c5.6-3.5 8.5-10.2 7.2-16.7L217.6 48h24.2L254 202.3c4.3 54.8-39 101.7-94 101.7s-98.3-46.9-94-101.7L78.2 48h85.1z\"]\n};\nvar faFragile = faWineGlassCrack;\nvar faSlotMachine = {\n prefix: 'far',\n iconName: 'slot-machine',\n icon: [640, 512, [], \"e3ce\", \"M400 416H112v32c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V416zm48 32c0 5.5-.7 10.9-2 16h82c22.1 0 40-17.9 40-40V217.6c-14.3-8.3-24-23.8-24-41.6c0-26.5 21.5-48 48-48s48 21.5 48 48c0 17.8-9.7 33.3-24 41.6V424c0 48.6-39.4 88-88 88H384 128c-35.3 0-64-28.7-64-64V416c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64V64C64 28.7 92.7 0 128 0H384c35.3 0 64 28.7 64 64V96c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64l0 32zM400 96V64c0-8.8-7.2-16-16-16L128 48c-8.8 0-16 7.2-16 16l0 32H400zm48 48H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zM112 176h56c7.8 0 15.1 3.8 19.6 10.2s5.6 14.5 3 21.9l-40 112c-4.5 12.5-18.2 19-30.7 14.5s-19-18.2-14.5-30.7L133.9 224H112c-13.3 0-24-10.7-24-24s10.7-24 24-24zm96 24c0-13.3 10.7-24 24-24h56c7.8 0 15.1 3.8 19.6 10.2s5.6 14.5 3 21.9l-40 112c-4.5 12.5-18.2 19-30.7 14.5s-19-18.2-14.5-30.7L253.9 224H232c-13.3 0-24-10.7-24-24zm144-24h56c7.8 0 15.1 3.8 19.6 10.2s5.6 14.5 3 21.9l-40 112c-4.5 12.5-18.2 19-30.7 14.5s-19-18.2-14.5-30.7L373.9 224H352c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faNotesMedical = {\n prefix: 'far',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M144 96c0-8.8 7.2-16 16-16H416c8.8 0 16 7.2 16 16V293.5c0 4.2-1.7 8.3-4.7 11.3l-58.5 58.5c-3 3-7.1 4.7-11.3 4.7H160c-8.8 0-16-7.2-16-16V96zM96 96V352c0 35.3 28.7 64 64 64H357.5c17 0 33.3-6.7 45.3-18.7l58.5-58.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm176 32c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16H272zm24 336H136c-48.6 0-88-39.4-88-88l0-224c0-13.3-10.7-24-24-24s-24 10.7-24 24V376c0 75.1 60.9 136 136 136H296c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faCarWash = {\n prefix: 'far',\n iconName: 'car-wash',\n icon: [448, 512, [], \"f5e6\", \"M224 128c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C199 28 176 57.8 176 80c0 26.5 21.5 48 48 48zm-70.2 80H294.2c10.1 0 19.2 6.4 22.6 15.9L333.9 272H114.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM57.4 287.9c-.2 .5-.3 .9-.5 1.4C32.2 306.7 16 335.5 16 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H384v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.6c-.1-.5-.3-.9-.5-1.4L362 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H153.8c-30.4 0-57.6 19.1-67.8 47.8L57.4 287.9zM384 368v32H64V368c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48zM128 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM112 80c0-22.2-23-52-37.2-68.2C69 5.1 59 5.1 53.2 11.8C39 28 16 57.8 16 80c0 26.5 21.5 48 48 48s48-16 48-48zm272 48c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C359 28 336 57.8 336 80c0 26.5 21.5 48 48 48z\"]\n};\nvar faEscalator = {\n prefix: 'far',\n iconName: 'escalator',\n icon: [640, 512, [], \"e171\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm182.1 85.8c16-14 36.6-21.8 57.9-21.8H552c48.6 0 88 39.4 88 88s-39.4 88-88 88H481.1L249.9 490.2c-16 14-36.6 21.8-57.9 21.8H88c-48.6 0-88-39.4-88-88s39.4-88 88-88h70.9L390.1 133.8zM448 160c-9.7 0-19 3.5-26.3 9.9L183.8 378.1c-4.4 3.8-10 5.9-15.8 5.9H88c-22.1 0-40 17.9-40 40s17.9 40 40 40H192c9.7 0 19-3.5 26.3-9.9L456.2 245.9c4.4-3.8 10-5.9 15.8-5.9h80c22.1 0 40-17.9 40-40s-17.9-40-40-40H448zM256 128c23.7 0 44.4 12.9 55.5 32L192 264.5V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faCommentImage = {\n prefix: 'far',\n iconName: 'comment-image',\n icon: [512, 512, [], \"e148\", \"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9l-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9l.3-.5zM296 160c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H256 208 160c-6.1 0-11.6-3.4-14.3-8.8s-2.1-11.9 1.5-16.8l48-64c3-4 7.8-6.4 12.8-6.4s9.8 2.4 12.8 6.4l9.6 12.8 52.4-76.3c3-4.3 7.9-6.9 13.2-6.9zM176 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTemperatureHalf = {\n prefix: 'far',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V200c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'far',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M296 32c-13.3 0-24 10.7-24 24v8H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v76.1c-21.9-17.6-49.7-28.1-80-28.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c30.3 0 58.1-10.5 80-28.1V392c0 13.3 10.7 24 24 24s24-10.7 24-24V288 112h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V56c0-13.3-10.7-24-24-24zM112 288a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM24 448c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faDonut = {\n prefix: 'far',\n iconName: 'donut',\n icon: [512, 512, [127849, \"doughnut\"], \"e406\", \"M48 289.9c7.7 5 14.4 11.5 19.5 19.2c9.4 13 22 23.4 36.5 30.2c14.7 6.8 30.8 9.7 46.9 8.4l.6 0 .6 0c17.7-.2 35.3 3.3 51.7 10.1l.1 0c16.4 7 34.1 10.5 51.9 10.3l.3 0 0 0c17.8 .2 35.5-3.3 51.9-10.3l.1 0 0 0c16.4-6.8 34-10.2 51.7-10.1l.6 0 .6 0c16.1 1.3 32.2-1.5 46.9-8.3c14.6-6.7 27.1-17.1 36.5-30.1c5.1-7.8 11.8-14.3 19.5-19.3v14c0 21.7-14.2 48.5-52.4 72.4C374 399.9 319.1 416 256 416s-118-16.1-155.6-39.6C62.2 352.5 48 325.7 48 304V289.9zM256 48C114.6 48 0 119.6 0 208v96c0 88.4 114.6 160 256 160s256-71.6 256-160V208c0-88.4-114.6-160-256-160zm64 144c0 17.7-28.7 32-64 32s-64-14.3-64-32s28.7-32 64-32s64 14.3 64 32zM283.3 84.7c6.2 6.2 6.2 16.4 0 22.6l-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16c6.2-6.2 16.4-6.2 22.6 0zm-112 38.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm224 9.4l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM64 192H96c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16s7.2-16 16-16zm331.3 36.7l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-240 16l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm176 38.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faDoughnut = faDonut;\nvar faCapsules = {\n prefix: 'far',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M48 144c0-35.3 28.7-64 64-64s64 28.7 64 64V256H48V144zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V189.6c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83V144c0-61.9-50.1-112-112-112S0 82.1 0 144zm283.4 73.3c-20.9-30.4-13.3-72.2 15.8-93c28.5-20.4 68-13.7 88.5 16.2l66.9 97.5L348.5 312.2l-65.1-94.9z\"]\n};\nvar faPooStorm = {\n prefix: 'far',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M175.3 10.1C179.8 3.8 187 0 194.8 0c58.8 0 132.5 41.8 140.5 121.2C364.2 135.7 384 165.5 384 200c0 2.2-.1 4.4-.2 6.6C421.3 221 448 257.4 448 300c0 55.2-44.8 100-100 100h-8.2c11.5-12.9 15.4-31.2 9.5-47.9l0-.1c28.1-.7 50.7-23.7 50.7-52c0-27-20.7-49.3-47-51.8c-7.6-.7-14.4-5-18.3-11.5s-4.5-14.5-1.7-21.5c1.9-4.7 3-9.8 3-15.2c0-18.6-12.7-34.3-30-38.7c-10.9-2.8-18.4-12.8-18-24.1c0-.5 0-1 0-1.5c0-40.2-26.7-68.8-58.4-81c1.3 5.6 2.4 11.6 2.4 16.8c0 38-19.6 61-39 73.6c-9.3 6-18.5 9.6-25.2 11.7c-3.4 1.1-6.3 1.8-8.4 2.2l-.4 .1c-2.2 .7-4.5 1-6.9 1H152c-22.1 0-40 17.9-40 40c0 5.4 1.1 10.5 3 15.2c2.9 7 2.3 15-1.7 21.5s-10.7 10.8-18.3 11.5C68.7 250.7 48 273 48 300c0 18 9.1 33.8 22.9 43.1c-7.3 12-9.1 27-4.2 40.8c1.6 4.6 3.8 8.8 6.6 12.5C31 384.7 0 346 0 300c0-42.6 26.7-79 64.2-93.4c-.2-2.2-.2-4.4-.2-6.6c0-47.6 37.8-86.3 84.9-87.9l.5-.1c.9-.2 2.4-.6 4.3-1.1c3.8-1.2 8.6-3.1 13.3-6.1c8.6-5.5 17-14.7 17-33.3c0 0 0 0 0 0c0-.3-.2-1.5-.7-4c-.6-2.8-1.5-6.1-2.6-9.9c-2.2-7.5-5-15.3-7.1-21.3l0 0 0 0 0-.1c-.5-1.6-1.1-3.1-1.5-4.3c-2.5-7.3-1.3-15.4 3.2-21.7zM282.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L233.9 352H304c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L182.1 384H112c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faPooBolt = faPooStorm;\nvar faTally1 = {\n prefix: 'far',\n iconName: 'tally-1',\n icon: [640, 512, [], \"e294\", \"M128 40c13.3 0 24 10.7 24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24z\"]\n};\nvar faFaceFrownOpen = {\n prefix: 'far',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM182.4 382.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faSquareDashed = {\n prefix: 'far',\n iconName: 'square-dashed',\n icon: [448, 512, [], \"e269\", \"M88 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-22.1 0-40 17.9-40 40v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V120C0 71.4 39.4 32 88 32zM24 192c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zm400 0c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zm0-32c-13.3 0-24-10.7-24-24V120c0-22.1-17.9-40-40-40H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c48.6 0 88 39.4 88 88v16c0 13.3-10.7 24-24 24zm24 216v16c0 48.6-39.4 88-88 88H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c22.1 0 40-17.9 40-40V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM48 376v16c0 22.1 17.9 40 40 40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-48.6 0-88-39.4-88-88V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM184 480c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H184zM160 56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]\n};\nvar faSquareJ = {\n prefix: 'far',\n iconName: 'square-j',\n icon: [448, 512, [], \"e273\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm304 56V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M64 64V241.6c5.2-1 10.5-1.6 16-1.6H96V208 64c0-8.8-7.2-16-16-16s-16 7.2-16 16zM80 288c-17.7 0-32 14.3-32 32c0 0 0 0 0 0v24c0 66.3 53.7 120 120 120h48c52.5 0 97.1-33.7 113.4-80.7c-3.1 .5-6.2 .7-9.4 .7c-20 0-37.9-9.2-49.7-23.6c-9 4.9-19.4 7.6-30.3 7.6c-15.1 0-29-5.3-40-14c-11 8.8-24.9 14-40 14H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H120 80zM0 320s0 0 0 0c0-18 6-34.6 16-48V64C16 28.7 44.7 0 80 0s64 28.7 64 64v82c5.1-1.3 10.5-2 16-2c25.3 0 47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c20 0 37.9 9.2 49.7 23.6c9-4.9 19.4-7.6 30.3-7.6c35.3 0 64 28.7 64 64v64 24c0 92.8-75.2 168-168 168H168C75.2 512 0 436.8 0 344V320zm336-64c0-8.8-7.2-16-16-16s-16 7.2-16 16v48 16c0 8.8 7.2 16 16 16s16-7.2 16-16V256zM160 240c5.5 0 10.9 .7 16 2v-2V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v32h16zm64 24v40c0 8.8 7.2 16 16 16s16-7.2 16-16V256 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v24z\"]\n};\nvar faMoneyBill = {\n prefix: 'far',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M112 112c0 35.3-28.7 64-64 64V336c35.3 0 64 28.7 64 64H464c0-35.3 28.7-64 64-64V176c-35.3 0-64-28.7-64-64H112zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm288 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faArrowUpBigSmall = {\n prefix: 'far',\n iconName: 'arrow-up-big-small',\n icon: [576, 512, [\"sort-size-up\"], \"f88e\", \"M368 208V80l128 0V208H368zm-48 0c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V208zM177 39c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 39zM368 368h64v64H368V368zm-48 0v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortSizeUp = faArrowUpBigSmall;\nvar faBarcodeRead = {\n prefix: 'far',\n iconName: 'barcode-read',\n icon: [576, 512, [], \"f464\", \"M56 48c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56zm64 80c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm56 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm272 0c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm-208 8c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm152-24c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM528 56c0-4.4-3.6-8-8-8H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56zM56 464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 4.4 3.6 8 8 8zm472-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 30.9-25.1 56-56 56H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8z\"]\n};\nvar faBaguette = {\n prefix: 'far',\n iconName: 'baguette',\n icon: [640, 512, [129366], \"e3d8\", \"M578.6 83.6c-24.5-36.8-74.2-46.7-110.9-22.2l-69.7 46.5L433 143c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-41.9-41.9-74.5 49.6L321 223c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-45.1-45.1-74.5 49.6L209 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48.3-48.3L83.6 317.4c-36.8 24.5-46.7 74.2-22.2 110.9s74.2 46.7 110.9 22.2l384-256c36.8-24.5 46.7-74.2 22.2-110.9zM618.5 57c39.2 58.8 23.3 138.3-35.5 177.5l-384 256C140.2 529.7 60.7 513.8 21.5 455S-1.8 316.7 57 277.5l384-256C499.8-17.7 579.3-1.8 618.5 57z\"]\n};\nvar faBowlSoftServe = {\n prefix: 'far',\n iconName: 'bowl-soft-serve',\n icon: [512, 512, [], \"e46b\", \"M256 0c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l10.8 16.3c.7 1.1 1.1 2.4 1.1 3.7c0 3.7-3 6.7-6.7 6.7H172c-42 0-76 34-76 76c0 4.7 .4 9.3 1.2 13.8C51 162.5 16 203.2 16 252c0 29 12.3 55.1 32 73.3V344c0 57.4 46.6 104 104 104h30.1l-20.4 40.8c-1.1 2.3-1.7 4.7-1.7 7.2c0 2.9 .8 5.8 2.4 8.4c2.9 4.7 8.1 7.6 13.6 7.6H336c5.5 0 10.7-2.9 13.6-7.6c1.6-2.6 2.4-5.5 2.4-8.4c0-2.4-.6-4.9-1.7-7.2L329.9 448H360c57.4 0 104-46.6 104-104V325.3c19.7-18.3 32-44.4 32-73.3c0-49.1-35.3-89.9-82-98.4c1.3-5.7 2-11.6 2-17.6C416 60.9 355.1 0 280 0H256zM396 304H116c-28.7 0-52-23.3-52-52s23.3-52 52-52h12 6.5H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H146.7c-1.7-3.6-2.7-7.7-2.7-12c0-15.5 12.5-28 28-28h69.3c30.2 0 54.7-24.5 54.7-54.7c0-2.7-.2-5.3-.6-8C336.7 56.6 368 92.7 368 136c0 5.8-1.5 11.3-4.3 16H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h95.2H384h12c28.7 0 52 23.3 52 52s-23.3 52-52 52z\"]\n};\nvar faFaceHoldingBackTears = {\n prefix: 'far',\n iconName: 'face-holding-back-tears',\n icon: [512, 512, [129401], \"e482\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208-16a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm32 32v16 16c0 8.8-7.2 16-16 16s-16-7.2-16-16c-13.4 10-30 16-48 16c-11.4 0-22.2-2.4-32-6.7V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c-10-13.4-16-30-16-48s6-34.6 16-48c-8 0-14.9-5.9-15.9-14c-1.1-8.8 5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8l-1.5 5.2c-4.2 14.8-11.8 28-21.9 38.8c40.4 4 72 38.1 72 79.6v32zm112 16a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16v-6.7c-9.8 4.3-20.6 6.7-32 6.7c-44.2 0-80-35.8-80-80c0-41.5 31.5-75.6 72-79.6c-10-10.8-17.6-24.1-21.9-38.8l-1.5-5.2c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9c-1 8.1-7.9 14-15.9 14c10 13.4 16 30 16 48s-6 34.6-16 48zM310.4 362.5c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9C328.3 413.8 298.3 434 256 434s-72.3-20.2-89.6-38.9c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4C212.1 373.9 230.1 386 256 386s43.9-12.1 54.4-23.5zM128 240c17.7 0 32-14.3 32-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm224-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32c17.7 0 32-14.3 32-32z\"]\n};\nvar faSquareUp = {\n prefix: 'far',\n iconName: 'square-up',\n icon: [448, 512, [11014, \"arrow-alt-square-up\"], \"f353\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM119.2 217.4l91-84c3.8-3.5 8.7-5.4 13.9-5.4s10.1 1.9 13.9 5.4l91 84c4.6 4.2 7.2 10.1 7.2 16.4c0 12.3-10 22.3-22.3 22.3H272v96c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V256H134.3C122 256 112 246 112 233.7c0-6.2 2.6-12.1 7.2-16.4z\"]\n};\nvar faArrowAltSquareUp = faSquareUp;\nvar faTrainSubwayTunnel = {\n prefix: 'far',\n iconName: 'train-subway-tunnel',\n icon: [512, 512, [\"subway-tunnel\"], \"e2a3\", \"M256 48C141.1 48 48 141.1 48 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-114.9-93.1-208-208-208zm24 128l0 80h72V208c0-17.7-14.3-32-32-32H280zm-48 0H192c-17.7 0-32 14.3-32 32v48h72l0-80zM160 304v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V304H160zm-48-96c0-44.2 35.8-80 80-80H320c44.2 0 80 35.8 80 80V368c0 27.7-14.1 52.2-35.5 66.5L401 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-57-57H201.9l-57 57c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l36.5-36.5C126.1 420.2 112 395.7 112 368V208zm64 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm136-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSubwayTunnel = faTrainSubwayTunnel;\nvar faSquareExclamation = {\n prefix: 'far',\n iconName: 'square-exclamation',\n icon: [448, 512, [\"exclamation-square\"], \"f321\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faExclamationSquare = faSquareExclamation;\nvar faSemicolon = {\n prefix: 'far',\n iconName: 'semicolon',\n icon: [192, 512, [], \"3b\", \"M72 128a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm96 0A72 72 0 1 0 24 128a72 72 0 1 0 144 0zM84.4 347c1.4-6.4 7.1-11 13.6-11c7.3 0 13.9 6.2 13.9 14.3c0 2.7-.8 5.4-2.1 7.6L67.1 428l17.3-81zm-.7 145.8L150.8 383c6-9.8 9.2-21.2 9.2-32.7c0-34.2-27.7-62.3-61.9-62.3c-29.2 0-54.4 20.4-60.6 49L10.4 463.6C5 488.5 24 512 49.5 512c14 0 26.9-7.3 34.2-19.2z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48C0 21.5 21.5 0 48 0l0 48V441.4l130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4V48H48V0H336c26.5 0 48 21.5 48 48V488c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488V48z\"]\n};\nvar faFanTable = {\n prefix: 'far',\n iconName: 'fan-table',\n icon: [448, 512, [], \"e004\", \"M224 400a176 176 0 1 0 0-352 176 176 0 1 0 0 352zM448 224c0 115.6-87.6 210.8-200 222.7V464H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H224 88c-13.3 0-24-10.7-24-24s10.7-24 24-24H200V446.7C87.6 434.8 0 339.6 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM118.4 197.6c-16.6-41 3.2-87.6 44.2-104.1c12.3-5 26.3 1 31.2 13.3l29.2 72.2c16.7-23.7 45.8-37.5 76.6-33.2c43.8 6.1 74.2 46.6 68.1 90.4c-1.8 13.1-14 22.3-27.1 20.4l-77.1-10.8c12.2 26.4 9.6 58.4-9.6 82.9c-27.2 34.8-77.5 41-112.3 13.8c-10.4-8.2-12.3-23.2-4.1-33.7l47.9-61.4c-28.9-2.6-55.4-21-67-49.7zM224 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAlignJustify = {\n prefix: 'far',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M24 40C10.7 40 0 50.7 0 64S10.7 88 24 88H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM0 320c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM24 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faBatteryLow = {\n prefix: 'far',\n iconName: 'battery-low',\n icon: [576, 512, [\"battery-1\"], \"e0b1\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm80 96H96V320h64V192z\"]\n};\nvar faBattery1 = faBatteryLow;\nvar faCreditCardFront = {\n prefix: 'far',\n iconName: 'credit-card-front',\n icon: [576, 512, [], \"f38a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 360c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zM96 280c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM376 128h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]\n};\nvar faBrainArrowCurvedRight = {\n prefix: 'far',\n iconName: 'brain-arrow-curved-right',\n icon: [640, 512, [\"mind-share\"], \"f677\", \"M153.5 76.9c-1.9 6.8-6.8 12.4-13.2 15.3c-16.6 7.5-28.2 24.1-28.3 43.5c-.1 9.1-5.2 17.3-13.3 21.3C82.8 164.9 72 181.2 72 200c0 7.1 1.5 13.7 4.2 19.7c4.4 9.7 1.9 21-6.1 28C56.5 259.4 48 276.7 48 296c0 20.2 9.3 38.1 23.9 49.9c6.7 5.4 10 14 8.7 22.5c-.4 2.5-.6 5-.6 7.6c0 26.1 20.8 47.3 46.7 48c9.2 .3 17.4 5.7 21.2 14.1c6.9 15.3 22.3 25.9 40.1 25.9c24.3 0 44-19.7 44-44V88c0-22.1-17.9-40-40-40c-18.2 0-33.7 12.2-38.5 28.9zM256 482c-16.8 18.5-41.1 30-68 30c-32.2 0-60.5-16.5-76.9-41.5c-45-8-79.1-47.3-79.1-94.5c0-.5 0-1.1 0-1.6C12.2 354.2 0 326.5 0 296c0-27.8 10.1-53.2 26.8-72.7C25 215.8 24 208 24 200c0-32.6 16.3-61.5 41.1-78.8c4.5-28.9 21.8-53.5 45.9-67.8C124.5 22 155.7 0 192 0c25.2 0 48 10.6 64 27.6C272 10.6 294.8 0 320 0c36.3 0 67.5 22 80.9 53.4c24.1 14.3 41.5 38.9 45.9 67.8C471.7 138.5 488 167.4 488 200c0 8-1 15.8-2.8 23.3c1.3 1.5 2.6 3.1 3.8 4.8c-5.7 8-9 17.7-9 28v16H459.4c-3.8-9.4-9.8-17.8-17.4-24.3c-8-6.9-10.5-18.3-6.1-28c2.7-6 4.2-12.6 4.2-19.7c0-18.8-10.8-35.1-26.7-43c-8.1-4-13.3-12.3-13.3-21.3c-.1-19.3-11.7-36-28.3-43.5c-6.4-2.9-11.3-8.5-13.2-15.3C353.7 60.2 338.2 48 320 48c-22.1 0-40 17.9-40 40V420c0 19.8 13.1 36.5 31 42.1c6.5 20.5 16.6 36.8 26.4 49c-4.4 .6-8.8 1-13.4 1c-26.9 0-51.2-11.6-68-30zM539.3 244.7l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-4.6 4.6-11.5 5.9-17.4 3.5s-9.9-8.3-9.9-14.8V400H464c-35.3 0-64 28.7-64 64v35.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.7-2.2c-10.5-8.2-45-39.5-45-93.8c0-61.9 50.1-112 112-112h64V256c0-6.5 3.9-12.3 9.9-14.8s12.9-1.1 17.4 3.5z\"]\n};\nvar faMindShare = faBrainArrowCurvedRight;\nvar faUmbrellaBeach = {\n prefix: 'far',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M399.7 18.8c0 0 0 0 0 0c1.3 .5 2.6 .9 4 1.4c4.1 1.5 8.1 3 12 4.7c0 0 0 0 0 0C519.4 68.6 580.3 173.8 571.4 281.8c-1.6 19.2-21.5 30-39.6 23.4L349.7 239l-45.1-16.4L122.5 156.3c-18.1-6.6-26.4-27.7-15.3-43.4c64.2-90.8 182.8-132 292.6-94zM288.8 54.6c-48 6.4-92.7 29.5-125.8 65.4l68.8 25c14.2-32.9 33.4-63.4 57-90.4zM413.3 211c9.4-32.5 13.2-66.4 11.2-100.2c-1.1-18.2-12-34.2-28.2-41.9c-3-1.2-6-2.4-9-3.5c-1-.4-2-.7-2.9-1c-18.2-5.9-38.3-.9-51.5 13.1c-23.3 24.6-42.2 53.1-55.9 84L413.3 211zm45.2 16.4L524 251.3c-2.2-47-20.3-91.9-51-127.2c.4 35-4.5 69.8-14.5 103.3zM552 464c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24l192.7 0 76.9-211.4L338.7 269l-71 195L552 464z\"]\n};\nvar faHelmetUn = {\n prefix: 'far',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M240 48c106 0 192 86 192 192H256c-9.4 0-18 5.5-21.8 14.1L196.9 336H82.4c-19 0-34.4-15.4-34.4-34.4V240C48 134 134 48 240 48zm80 372.7l-77.7-68.6L271.5 288H320V420.7zm48 42.4V288H488c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8C480 107.5 372.5 0 240 0S0 107.5 0 240v61.6C0 347.1 36.9 384 82.4 384H205.9l2.3 2 136 120c4.4 3.9 10 6 15.9 6h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.1l-1.1-.9zM285.3 103.1c-3.9-5.9-11.2-8.5-17.9-6.4s-11.4 8.3-11.4 15.3v96c0 8.8 7.2 16 16 16s16-7.2 16-16V164.8l34.7 52c3.9 5.9 11.2 8.5 17.9 6.4s11.4-8.3 11.4-15.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v43.2l-34.7-52zM160 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 26.5 21.5 48 48 48s48-21.5 48-48V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V112z\"]\n};\nvar faLocationSmile = {\n prefix: 'far',\n iconName: 'location-smile',\n icon: [384, 512, [\"map-marker-smile\"], \"f60d\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM136 128a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm88 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-79.4 76.9c4.5 6.7 21.6 23.1 47.4 23.1s42.9-16.4 47.4-23.1c6.1-9.2 18.5-11.7 27.7-5.5s11.7 18.5 5.5 27.7C262.9 265.7 234.5 292 192 292s-70.9-26.3-80.6-40.9c-6.1-9.2-3.6-21.6 5.5-27.7s21.6-3.6 27.7 5.5z\"]\n};\nvar faMapMarkerSmile = faLocationSmile;\nvar faArrowLeftToLine = {\n prefix: 'far',\n iconName: 'arrow-left-to-line',\n icon: [448, 512, [8676, \"arrow-to-left\"], \"f33e\", \"M0 424c0 13.3 10.7 24 24 24s24-10.7 24-24L48 88c0-13.3-10.7-24-24-24S0 74.7 0 88L0 424zM135.6 238.5c-4.8 4.5-7.6 10.9-7.6 17.5s2.7 12.9 7.6 17.5l136 128c9.7 9.1 24.8 8.6 33.9-1s8.6-24.8-1-33.9L212.5 280l83.5 0 128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-128 0-83.5 0 91.9-86.5c9.7-9.1 10.1-24.3 1-33.9s-24.3-10.1-33.9-1l-136 128z\"]\n};\nvar faArrowToLeft = faArrowLeftToLine;\nvar faBullseye = {\n prefix: 'far',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-272a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSushi = {\n prefix: 'far',\n iconName: 'sushi',\n icon: [576, 512, [127843, \"nigiri\"], \"e48a\", \"M524.5 302.9c23.1 7.7 46-12.3 41.5-36.3l-8.6-46c-7.1-37.7-24.8-71-49.8-97.2L421.7 268.8l102.8 34.1zM393.7 65.6L296.5 230.2c9 1 17.9 2.9 26.6 5.8l67.5 22.4 92.5-156.6C457.4 82.7 426.7 70 393.7 65.6zM357.5 64H246.6L119.9 278.4l120.9-41.9c5.7-2 11.6-3.6 17.5-4.7L357.5 64zM207.3 64C115 64 35.7 129.8 18.6 220.6l-8.5 45.2C5.6 290 28.9 310 52.1 302l21.1-7.3L209.5 64h-2.1zM32 336.7V352c0 53 43 96 96 96c17.3 0 33.6-4.6 47.6-12.6c2.7-1.6 6.1-1.6 8.8 0c14 8 30.3 12.6 47.6 12.6c18.8 0 36.4-5.4 51.2-14.8c2.9-1.8 6.6-1.8 9.5 0c14.8 9.4 32.4 14.8 51.2 14.8c17.3 0 33.6-4.6 47.6-12.6c2.7-1.6 6.1-1.6 8.8 0c14 8 30.3 12.6 47.6 12.6c53 0 96-43 96-96V337.4c-8.5 .8-17.4-.1-26.2-3.1L496 327.1V352c0 26.5-21.5 48-48 48c-8.7 0-16.8-2.3-23.8-6.3c-17.5-10-39-10-56.5 0c-7 4-15 6.3-23.8 6.3c-9.5 0-18.2-2.7-25.6-7.4c-18.6-11.7-42.3-11.7-60.8 0c-7.4 4.7-16.1 7.4-25.6 7.4c-8.7 0-16.8-2.3-23.8-6.3c-17.5-10-39-10-56.5 0c-7 4-15 6.3-23.8 6.3c-26.5 0-48-21.5-48-48V326.1l-20.9 7.2c-9.1 3.2-18.3 4.2-27.1 3.3z\"]\n};\nvar faNigiri = faSushi;\nvar faMessageCaptions = {\n prefix: 'far',\n iconName: 'message-captions',\n icon: [512, 512, [\"comment-alt-captions\"], \"e1de\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM120 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM120 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCommentAltCaptions = faMessageCaptions;\nvar faTrashList = {\n prefix: 'far',\n iconName: 'trash-list',\n icon: [640, 512, [], \"e2b1\", \"M170.5 51.6L151.5 80h113l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm115-26.6L322.2 80h13.7H384h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H380.4L356.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h61.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H292.6c8.4 0 15.3-6.5 16-14.8L332.3 128H83.7zM472 128H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H584c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24zM448 408c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBacon = {\n prefix: 'far',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M441.7 216c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6l-96-96c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8c11.2-3.2 23.2-.1 31.4 8.1l96 96c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2zM262.9 196.4l0 0c-41.7 60.7-89.2 129.6-204.1 191.7l24.3 24.3C197.6 352.8 242.8 287 284.5 226.3l2.3-3.3c21.9-31.9 43.9-63.5 75.1-90.9c26.6-23.5 59.5-43.6 104.2-59.3L443.4 50.1c-49 15.1-82.4 35.1-108.3 58c-27.8 24.5-47.8 53-69.9 85.1l0 0-2.3 3.4zM106.8 436.1l24.3 24.3c114.5-59.7 159.8-125.5 201.3-186l.2-.3 0 0 2.2-3.2 0 0c21.9-31.9 43.9-63.5 75.1-90.9c26.6-23.5 59.5-43.6 104.2-59.3L491.4 98c-49 15.1-82.4 35.1-108.3 58c-27.8 24.5-47.8 52.9-69.9 85.1l-2.2 3.3C269.3 304.9 221.9 374 106.8 436.1z\"]\n};\nvar faOption = {\n prefix: 'far',\n iconName: 'option',\n icon: [640, 512, [], \"e318\", \"M172.1 120.4c-4.6-5.3-11.2-8.4-18.2-8.4H24C10.7 112 0 101.3 0 88S10.7 64 24 64H153.9c21 0 41 9.2 54.7 25.1L467.9 391.6c4.6 5.3 11.2 8.4 18.2 8.4H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H486.1c-21 0-41-9.2-54.7-25.1L172.1 120.4zM616 64c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24s10.7-24 24-24H616z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M64 448l0-177.6c5.2 1 10.5 1.6 16 1.6l16 0 0 32 0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16zM80 224c-17.7 0-32-14.3-32-32c0 0 0 0 0 0l0-24c0-66.3 53.7-120 120-120l48 0c52.5 0 97.1 33.7 113.4 80.7c-3.1-.5-6.2-.7-9.4-.7c-20 0-37.9 9.2-49.7 23.6c-9-4.9-19.4-7.6-30.3-7.6c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0-40 0zM0 192s0 0 0 0c0 18 6 34.6 16 48l0 208c0 35.3 28.7 64 64 64s64-28.7 64-64l0-82c5.1 1.3 10.5 2 16 2c25.3 0 47.2-14.7 57.6-36c7 2.6 14.5 4 22.4 4c20 0 37.9-9.2 49.7-23.6c9 4.9 19.4 7.6 30.3 7.6c35.3 0 64-28.7 64-64l0-64 0-24C384 75.2 308.8 0 216 0L168 0C75.2 0 0 75.2 0 168l0 24zm336 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64zM160 272c5.5 0 10.9-.7 16-2l0 2 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 16 0zm64-24l0-40c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24z\"]\n};\nvar faArrowUpFromBracket = {\n prefix: 'far',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L79 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V328c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 7zM48 344c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V344c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V344z\"]\n};\nvar faTrashPlus = {\n prefix: 'far',\n iconName: 'trash-plus',\n icon: [448, 512, [], \"e2b2\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zM204 376V308H136c-11 0-20-9-20-20s9-20 20-20h68V200c0-11 9-20 20-20s20 9 20 20v68h68c11 0 20 9 20 20s-9 20-20 20H244v68c0 11-9 20-20 20s-20-9-20-20z\"]\n};\nvar faObjectsAlignTop = {\n prefix: 'far',\n iconName: 'objects-align-top',\n icon: [512, 512, [], \"e3c0\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM176 176V464H112V176h64zm-64-48c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H112zm288 48V336H336V176h64zm-64-48c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H336z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M0 96C0 60.7 28.7 32 64 32H196.1c19.1 0 37.4 7.6 50.9 21.1L289.9 96H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H286.6c-10.6 0-20.8-4.2-28.3-11.7L213.1 87c-4.5-4.5-10.6-7-17-7H64z\"]\n};\nvar faFolderBlank = faFolder;\nvar faFaceAnxiousSweat = {\n prefix: 'far',\n iconName: 'face-anxious-sweat',\n icon: [576, 512, [], \"e36a\", \"M496 256c0 114.9-93.1 208-208 208c-65.4 0-123.8-30.2-162-77.5c-3.9 17.1-13.4 32-26.4 42.8C146.4 480.2 213.5 512 288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8l.7 .9c-.5-5.6-.7-11.3-.7-17C80 141.1 173.1 48 288 48s208 93.1 208 208zM48 416c12 0 23-4.3 31.5-11.5C89.6 395.9 96 383.2 96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47zM335.6 272a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm19.7-155.3c-6.2-6.2-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4c6.2-6.2 6.2-16.4 0-22.6zm121.4 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM288 320c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80z\"]\n};\nvar faCreditCardBlank = {\n prefix: 'far',\n iconName: 'credit-card-blank',\n icon: [576, 512, [], \"f389\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 360c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24z\"]\n};\nvar faFileWaveform = {\n prefix: 'far',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M384 464H128c-8.8 0-16-7.2-16-16V352H64v96c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L338.7 18.7C326.7 6.7 310.5 0 293.5 0H128C92.7 0 64 28.7 64 64V240h48V64c0-8.8 7.2-16 16-16H288v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM276.8 228.1c-4.4-7.7-12.7-12.3-21.5-12.1s-16.8 5.3-20.8 13.3l-45.5 91L164 282.7C159.5 276 152 272 144 272H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H131.2L172 381.3c4.7 7.1 12.9 11.2 21.5 10.6s16.1-5.6 20-13.2l43.9-87.9 9.8 17.1c4.3 7.5 12.2 12.1 20.8 12.1h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H301.9l-25.1-43.9z\"]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faMicrochipAi = {\n prefix: 'far',\n iconName: 'microchip-ai',\n icon: [512, 512, [], \"e1ec\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h-8c-35.3 0-64 28.7-64 64v8H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v8c0 35.3 28.7 64 64 64h8v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h8c35.3 0 64-28.7 64-64v-8h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V184h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v-8c0-35.3-28.7-64-64-64h-8V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM112 128c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V128zm224 44c-11 0-20 9-20 20V320c0 11 9 20 20 20s20-9 20-20V192c0-11-9-20-20-20zM234.3 184c-3.2-7.3-10.4-12-18.3-12s-15.1 4.7-18.3 12l-56 128c-4.4 10.1 .2 21.9 10.3 26.3s21.9-.2 26.3-10.3l5.3-12h64.8l5.3 12c4.4 10.1 16.2 14.7 26.3 10.3s14.7-16.2 10.3-26.3l-56-128zM216 241.9L230.9 276H201.1L216 241.9z\"]\n};\nvar faMug = {\n prefix: 'far',\n iconName: 'mug',\n icon: [576, 512, [], \"f874\", \"M80 352c0 26.5 21.5 48 48 48H320c26.5 0 48-21.5 48-48V112H80V352zM32 96c0-17.7 14.3-32 32-32H384h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H416v32c0 53-43 96-96 96H128c-53 0-96-43-96-96V96zM416 272h32c44.2 0 80-35.8 80-80s-35.8-80-80-80H416V272z\"]\n};\nvar faPlaneUpSlash = {\n prefix: 'far',\n iconName: 'plane-up-slash',\n icon: [640, 512, [], \"e22e\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L38.8 5.1zM576 338.1V297.5c0-19.1-9.7-36.9-25.8-47.2L400 154.2V128c0-20.6-5.8-49.8-16.5-74.4c-5.4-12.4-12.7-25-22.4-34.9C351.2 8.6 337.4 0 320 0c-17.4 0-31.1 8.8-40.7 18.7c-9.6 9.9-16.9 22.4-22.4 34.8C250 69.2 245 86.8 242.3 102.9L288 139V128c0-13.4 4.4-36.1 12.8-55.1c4.2-9.4 8.7-16.4 12.9-20.7c4.1-4.2 6.1-4.2 6.3-4.2l0 0c.6 0 2.8 .1 6.8 4.2c4.2 4.3 8.6 11.2 12.7 20.6C347.8 91.7 352 114.4 352 128v39.4c0 8.2 4.2 15.8 11.1 20.2L524.3 290.8c2.3 1.5 3.7 4 3.7 6.7v29.6l-2.9-.9 43.8 34.6c4.4-6.4 7.1-14.2 7.1-22.7zM148.8 212.6l-59 37.8 12.9 20.2L89.8 250.3C73.7 260.6 64 278.4 64 297.5v40.6c0 27.1 26.4 46.4 52.2 38.1L240 336.6l0 27.4-48 36c-10.1 7.6-16 19.4-16 32v42.1c0 20.9 17 37.9 37.9 37.9c2.3 0 4.6-.3 6.9-1l-6.9-23 6.9 23 0 0 0 0 0 0 .2 0 .6-.2 2.4-.7 8.9-2.7c7.5-2.2 17.8-5.4 29.2-8.8c19.5-5.9 42-12.6 57.8-17.5l95 29.2c24 7.4 49.1-10.7 49.1-36.2V461.4l-48-37.9V436v12 12.4l-88.9-27.4c-4.6-1.4-9.5-1.4-14.1 0c-15.5 4.8-42 12.8-64.6 19.6c-9.1 2.7-17.5 5.3-24.3 7.3V436l54.4-40.8c6-4.5 9.6-11.6 9.6-19.2V322.5l-46.6-36.8L112 327.1V297.5c0-2.7 1.4-5.3 3.7-6.7l73-46.7-39.9-31.5z\"]\n};\nvar faRadiation = {\n prefix: 'far',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M113.2 104.7l41.9 72.5c-7.3 9.3-13.3 19.6-17.8 30.8l-83.8 0c9.5-40.1 30.6-75.8 59.7-103.3zm83.1 350.6l41.9-72.6c5.8 .8 11.8 1.2 17.8 1.2s11.9-.4 17.8-1.2l41.9 72.6C296.8 461 276.8 464 256 464s-40.8-3-59.7-8.7zM398.8 104.7c29.1 27.5 50.2 63.1 59.7 103.3l-83.8 0c-4.5-11.1-10.5-21.5-17.8-30.8l41.9-72.5zM160 256c8.8 0 15.8-7.2 17.6-15.9c3.5-17.4 12.7-32.8 25.5-44.1c6.6-5.8 9.4-15.5 5-23.2L144 62c-8.8-15.3-28.6-20.7-42.7-10C47.8 92.7 10.7 154 2 224.1C-.2 241.6 14.3 256 32 256l128 0zm48 83.2L144 450.1c-8.8 15.3-3.7 35.1 12.6 41.9c30.6 12.9 64.2 20 99.4 20s68.9-7.1 99.4-20c16.3-6.9 21.4-26.6 12.6-41.9L304 339.2c-4.4-7.7-14.2-10.1-22.6-7.3c-8 2.7-16.5 4.1-25.4 4.1s-17.4-1.4-25.4-4.1c-8.4-2.8-18.2-.4-22.6 7.3zm126.4-99.1c1.7 8.7 8.7 15.9 17.6 15.9l128 0c17.7 0 32.2-14.4 30-31.9C501.3 154 464.2 92.7 410.7 52c-14.1-10.7-33.8-5.3-42.7 10L304 172.9c-4.4 7.6-1.7 17.3 5 23.2c12.8 11.3 22 26.7 25.5 44.1zM256 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPenCircle = {\n prefix: 'far',\n iconName: 'pen-circle',\n icon: [512, 512, [], \"e20e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM357.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM151.9 289L257.1 183.8l71 71L222.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faBagSeedling = {\n prefix: 'far',\n iconName: 'bag-seedling',\n icon: [512, 512, [], \"e5f2\", \"M91.9 150.1C84 181.9 80 214.4 80 247.2v17.7c0 32.7 4 65.3 11.9 97L97.5 384h317l5.5-22.1c7.9-31.7 11.9-64.3 11.9-97V247.2c0-32.7-4-65.3-11.9-97L414.5 128H97.5l-5.5 22.1zM427.5 48H84.5L98.7 80H413.3l14.2-32zM83.7 464H428.3l-12.8-32H96.5L83.7 464zM55 99.8L35.4 55.7C33.2 50.6 32 45.1 32 39.6C32 17.7 49.7 0 71.6 0H440.4C462.3 0 480 17.7 480 39.6c0 5.5-1.2 11-3.4 16.1L457 99.8l9.7 38.7c8.9 35.5 13.4 72 13.4 108.7v17.7c0 36.6-4.5 73.1-13.4 108.7l-8.8 35.1 19.3 48.2c1.9 4.8 2.9 9.8 2.9 14.9c0 22.2-18 40.2-40.2 40.2H72.2C50 512 32 494 32 471.8c0-5.1 1-10.2 2.9-14.9l19.3-48.2-8.8-35.1C36.5 338 32 301.5 32 264.8V247.2c0-36.6 4.5-73.1 13.4-108.7L55 99.8zM144 160h2c47.3 0 88.4 26 110 64.5C277.6 186 318.7 160 366 160h2c8.8 0 16 7.2 16 16c0 59.2-45.9 107.6-104 111.7V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V287.7c-58.1-4.1-104-52.6-104-111.7c0-8.8 7.2-16 16-16z\"]\n};\nvar faChartSimple = {\n prefix: 'far',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M240 80V432H208V80h32zM208 32c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H208zM80 272V432H48V272H80zM48 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48zm320-80h32V432H368V144zm-48 0V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faCrutches = {\n prefix: 'far',\n iconName: 'crutches',\n icon: [640, 512, [], \"f7f8\", \"M183 7L7 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l15-15L201.9 347.8c1.9 1.9 3.8 3.6 5.8 5.3l3.5-3.5c1.1-1.1 1.8-2.4 2.2-3.9l9.9-44.4L89.9 168 168 89.9l95.7 95.7c1.9-2.2 3.9-4.3 5.9-6.4l27.8-27.8L201.9 56l15-15c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM402 402.7l-27.2 6L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-77.2-77.2c-8.2 3.9-16.8 6.9-25.8 8.9zM423 7c-9.4 9.4-9.4 24.6 0 33.9L599 217c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L457 7c-9.4-9.4-24.6-9.4-33.9 0zm-7.6 71.6L292.2 201.9c-11.8 11.8-20 26.8-23.7 43.1L244.6 352.6c-1.7 7.4-5.4 14.2-10.8 19.6L135 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l98.8-98.8c5.4-5.4 12.2-9.1 19.6-10.8L395 371.5c16.3-3.6 31.3-11.8 43.1-23.7L561.4 224.6l-33.9-33.9L456 262.1 377.9 184l71.4-71.4L415.4 78.6zM326.2 235.8L344 217.9 422.1 296l-17.8 17.9c-5.4 5.4-12.2 9.1-19.6 10.8l-89 19.8 19.8-89c1.7-7.4 5.4-14.2 10.8-19.6z\"]\n};\nvar faCircleParking = {\n prefix: 'far',\n iconName: 'circle-parking',\n icon: [512, 512, [\"parking-circle\"], \"f615\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm216 16h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H216v96zm64 48H216v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 160c0-17.7 14.3-32 32-32h80c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParkingCircle = faCircleParking;\nvar faMarsStroke = {\n prefix: 'far',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M352 24c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9L409.9 136l31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31-27.7 27.7C370.7 227.2 384 264.1 384 304c0 97.2-78.8 176-176 176s-176-78.8-176-176s78.8-176 176-176c39.9 0 76.8 13.3 106.3 35.7L342.1 136l-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31L430.1 48H376c-13.3 0-24-10.7-24-24zM208 432a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faLeafOak = {\n prefix: 'far',\n iconName: 'leaf-oak',\n icon: [512, 512, [], \"f6f7\", \"M302 0c-33.4 0-62.4 22.7-70.5 55.1l-1.9 7.5c-25.2-23.7-64.8-23.2-89.4 1.4c-14.3 14.3-21 34.5-18.2 54.6l5.4 37.6c-20.5-2-41.6 5-57 20.4l-3.2 3.2c-23.2 23.2-29 58.7-14.3 88.1l12.4 24.7c7.2 14.4 11 30.4 11 46.5v62.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72.4-72.4h56.3c16.1 0 32.1 3.8 46.5 11l24.7 12.4c29.4 14.7 64.9 8.9 88.1-14.3l3.2-3.2c15.4-15.4 22.4-36.5 20.4-57l37.6 5.4c20 2.9 40.2-3.9 54.6-18.2c24.6-24.6 25.1-64.2 1.4-89.4l7.5-1.9c32.4-8.1 55.1-37.2 55.1-70.5c0-24.3-12.2-47-32.4-60.5l-7-4.6 2.8-11.3c6.6-26.4-1.1-54.3-20.3-73.5s-47.1-26.9-73.5-20.4l-11.3 2.8-4.6-7C349 12.1 326.3 0 302 0zM161.3 384.6L313.9 232.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L124.1 353.9V339.1c0-23.6-5.5-46.9-16-68L95.7 246.4c-5.4-10.9-3.3-24.1 5.3-32.7l3.2-3.2c7.7-7.7 19.7-8.8 28.7-2.8c21.5 14.3 49.7-3.5 46.1-29l-9.5-66.8c-.7-5.1 1-10.2 4.6-13.8c6.4-6.4 16.7-6.4 23 0l18.5 18.5c17.6 17.6 47.6 9.3 53.7-14.9L278 66.7c2.7-11 12.6-18.7 24-18.7c8.3 0 16 4.1 20.6 11l7.8 11.7c9.4 14.1 26.6 20.7 43 16.6L390 83.1c10-2.5 20.6 .4 27.9 7.7s10.2 17.9 7.7 27.9l-4.2 16.7c-4.1 16.4 2.6 33.6 16.6 43l11.7 7.8c6.9 4.6 11 12.3 11 20.6c0 11.3-7.7 21.2-18.7 24l-34.9 8.7c-24.1 6-32.5 36.1-14.9 53.7l18.5 18.5c6.4 6.4 6.4 16.7 0 23c-3.6 3.6-8.7 5.3-13.8 4.6l-66.8-9.5c-25.5-3.6-43.4 24.6-29 46.1c6 9 4.8 21-2.8 28.7l-3.2 3.2c-8.6 8.6-21.8 10.7-32.7 5.3l-24.7-12.4c-21.1-10.6-44.4-16-68-16h-8.3z\"]\n};\nvar faSquareBolt = {\n prefix: 'far',\n iconName: 'square-bolt',\n icon: [448, 512, [], \"e265\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm298.1 19.6c5.8 4.7 7.6 12.9 4.3 19.6L249.9 240H320c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L198.1 272H128c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faVial = {\n prefix: 'far',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M329 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l15 15L30.2 335.8C10.9 355.2 0 381.4 0 408.8C0 465.8 46.2 512 103.2 512c27.4 0 53.6-10.9 73-30.2L456 201.9l15 15c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-32-32L361 39 329 7zm-151 249L344 89.9 422.1 168l-88 88H177.9z\"]\n};\nvar faGauge = {\n prefix: 'far',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-22.3-13.1-41.6-32-50.6V120c0-13.3-10.7-24-24-24s-24 10.7-24 24V301.4c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56s56-25.1 56-56zM160 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm256 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'far',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM461.4 48L496 82.6 386.2 192.3l-34.6-34.6L461.4 48zM80 429.4L317.7 191.7l34.6 34.6L114.6 464 80 429.4zM427.4 14.1L46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faLambda = {\n prefix: 'far',\n iconName: 'lambda',\n icon: [448, 512, [], \"f66e\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H132.6c3 0 5.7 1.7 7.1 4.3l10.2 19.6L2 446.5c-5.3 12.2 .4 26.3 12.5 31.5s26.3-.3 31.5-12.5L178.4 158.9l151.3 291c9.6 18.5 28.8 30.2 49.7 30.2H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H379.4c-3 0-5.7-1.7-7.1-4.3L182.3 62.2C172.6 43.6 153.5 32 132.6 32H24z\"]\n};\nvar faE = {\n prefix: 'far',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M56 32C25.1 32 0 57.1 0 88V256 424c0 30.9 25.1 56 56 56H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-4.4 0-8-3.6-8-8V272H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V88c0-4.4 3.6-8 8-8H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56z\"]\n};\nvar faPizza = {\n prefix: 'far',\n iconName: 'pizza',\n icon: [576, 512, [127829], \"f817\", \"M254.2 322.1c-8.4 3.8-14.2 12.2-14.2 21.9c0 13.3 10.7 24 24 24c9.8 0 18.2-5.8 21.9-14.2L318.1 386c-18.8 9-39.8 14-62.1 14c-79.5 0-144-64.5-144-144s64.5-144 144-144c22.2 0 43.3 5 62.1 14l-84.7 84.7c-25 25-25 65.5 0 90.5l20.8 20.8zm87.6 87.6l23.4 23.4C333.5 452.7 296.1 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c40.1 0 77.5 11.3 109.2 30.9l-23.4 23.4C316.4 88.1 287.1 80 256 80C158.8 80 80 158.8 80 256s78.8 176 176 176c31.1 0 60.4-8.1 85.8-22.3zM425.4 448c6.6-5.8 6.6-16 .3-22.3L267.3 267.3c-6.2-6.2-6.2-16.4 0-22.6L425.7 86.3C432 80 432 69.9 425.4 64C380.2 24.2 320.9 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c64.9 0 124.2-24.2 169.4-64zm71.7-82.8l-23.4-23.4C487.9 316.4 496 287.1 496 256s-8.1-60.4-22.3-85.8l23.4-23.4C516.7 178.5 528 215.9 528 256s-11.3 77.5-30.9 109.2zM464 256c0 22.2-5 43.3-14 62.1L387.9 256 450 193.9c9 18.8 14 39.8 14 62.1zm48 169.4c39.8-45.1 64-104.4 64-169.4s-24.2-124.2-64-169.4c-5.8-6.6-16-6.6-22.3-.3L331.3 244.7c-6.2 6.2-6.2 16.4 0 22.6L489.7 425.7c6.2 6.2 16.4 6.3 22.3-.3zM216 192a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBowlChopsticksNoodles = {\n prefix: 'far',\n iconName: 'bowl-chopsticks-noodles',\n icon: [512, 512, [], \"e2ea\", \"M13.1 93.6L128 72V56c0-13.3 10.7-24 24-24s24 10.7 24 24v7 37.5 38V176v48h32V176 137.5v-42V57 40c0-13.3 10.7-24 24-24s24 10.7 24 24v8V88v48 40 48h32H464c26.5 0 48 21.5 48 48c0 90.8-54.1 169-131.7 204.2c-8.1 21-28.4 35.8-52.3 35.8H184c-23.8 0-44.2-14.9-52.3-35.8C54.1 441 0 362.8 0 272c0-26.5 21.5-48 48-48h80V176H16.2C7.3 176 0 168.7 0 159.7c0-8.8 7-16 15.7-16.2L128 140V108L18.5 125.1C8.8 126.6 0 119.1 0 109.3C0 101.6 5.5 95 13.1 93.6zM488.4 176H288V135l199.6-6.2C501 128.3 512 139 512 152.4c0 13-10.6 23.6-23.6 23.6zm3.9-124.9L288 83V42L484.4 5.2C498.7 2.5 512 13.5 512 28.1c0 11.5-8.4 21.2-19.7 23zM151.5 432.5c11.5 5.2 20.4 14.7 25 26.4c1.2 3.1 4.2 5.1 7.5 5.1H328c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C421.6 404.8 464 343.3 464 272H48c0 71.3 42.4 132.8 103.5 160.5z\"]\n};\nvar faH3 = {\n prefix: 'far',\n iconName: 'h3',\n icon: [640, 512, [], \"f315\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zM400 64c-13.3 0-24 10.7-24 24s10.7 24 24 24H542.1L423 231c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8h88c35.3 0 64 28.7 64 64s-28.7 64-64 64H455.4c-15.6 0-29-11.3-31.6-26.7l-.2-1.2c-2.2-13.1-14.5-21.9-27.6-19.7s-21.9 14.5-19.7 27.6l.2 1.2c6.4 38.6 39.8 66.8 78.9 66.8H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H497.9L617 105c6.9-6.9 8.9-17.2 5.2-26.2S609.7 64 600 64H400z\"]\n};\nvar faPenClip = {\n prefix: 'far',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M320 62.1l42.7-42.7c25-25 65.5-25 90.5 0l39.4 39.4c25 25 25 65.5 0 90.5L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L286.1 96 273 82.9c-9.4-9.4-24.6-9.4-33.9 0L137 185c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L205.1 49c28.1-28.1 73.7-28.1 101.8 0L320 62.1zm0 67.9L133.5 316.5c-38.8 38.8-66 87.5-78.6 140.7c53.2-12.7 101.9-39.9 140.7-78.6L382.1 192 320 129.9z\"]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'far',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 496h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM339.1 288.1c8-15.7 18.3-30 30.4-42.5C359 241.9 347.8 240 336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c1.1 0 2.1 0 3.1 .1zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faBadgePercent = {\n prefix: 'far',\n iconName: 'badge-percent',\n icon: [512, 512, [], \"f646\", \"M200.3 81.5C210.9 61.5 231.9 48 256 48s45.1 13.5 55.7 33.5C317.1 91.7 329 96.6 340 93.2c21.6-6.6 46.1-1.4 63.1 15.7s22.3 41.5 15.7 63.1c-3.4 11 1.5 22.9 11.7 28.2c20 10.6 33.5 31.6 33.5 55.7s-13.5 45.1-33.5 55.7c-10.2 5.4-15.1 17.2-11.7 28.2c6.6 21.6 1.4 46.1-15.7 63.1s-41.5 22.3-63.1 15.7c-11-3.4-22.9 1.5-28.2 11.7c-10.6 20-31.6 33.5-55.7 33.5s-45.1-13.5-55.7-33.5c-5.4-10.2-17.2-15.1-28.2-11.7c-21.6 6.6-46.1 1.4-63.1-15.7S86.6 361.6 93.2 340c3.4-11-1.5-22.9-11.7-28.2C61.5 301.1 48 280.1 48 256s13.5-45.1 33.5-55.7C91.7 194.9 96.6 183 93.2 172c-6.6-21.6-1.4-46.1 15.7-63.1S150.4 86.6 172 93.2c11 3.4 22.9-1.5 28.2-11.7zM256 0c-35.9 0-67.8 17-88.1 43.4c-33-4.3-67.6 6.2-93 31.6s-35.9 60-31.6 93C17 188.2 0 220.1 0 256s17 67.8 43.4 88.1c-4.3 33 6.2 67.6 31.6 93s60 35.9 93 31.6C188.2 495 220.1 512 256 512s67.8-17 88.1-43.4c33 4.3 67.6-6.2 93-31.6s35.9-60 31.6-93C495 323.8 512 291.9 512 256s-17-67.8-43.4-88.1c4.3-33-6.2-67.6-31.6-93s-60-35.9-93-31.6C323.8 17 291.9 0 256 0zM192 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM337 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L175 303c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L337 209z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"]\n};\nvar faSensor = {\n prefix: 'far',\n iconName: 'sensor',\n icon: [448, 512, [], \"e028\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 56V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faComma = {\n prefix: 'far',\n iconName: 'comma',\n icon: [192, 512, [], \"2c\", \"M120 353.4c0-9.6-7.8-17.4-17.4-17.4c-8.4 0-15.6 6-17.1 14.3L66.7 453.6l50.4-85.7c1.9-3.3 2.9-7 2.9-10.7v-3.8zm48 0v3.8c0 12.3-3.3 24.4-9.5 35.1l-57.2 97.2C93.1 503.4 78 512 61.8 512H60c-24.3 0-44-19.7-44-44c0-2.6 .2-5.3 .7-7.9L38.2 341.7C43.9 310.6 71 288 102.6 288c36.1 0 65.4 29.3 65.4 65.4z\"]\n};\nvar faSchoolCircleCheck = {\n prefix: 'far',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M333.3 4c-8.1-5.4-18.6-5.4-26.6 0l-138 92H72C32.2 96 0 128.2 0 168V440c0 39.8 32.2 72 72 72H256 384h10.8C349.5 480.1 320 427.5 320 368c0-16.5 2.3-32.5 6.5-47.7c-2.1-.2-4.3-.3-6.5-.3c-35.3 0-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V168c0-13.3 10.7-24 24-24H176c4.7 0 9.4-1.4 13.3-4L320 52.8 450.7 140c3.9 2.6 8.6 4 13.3 4H568c13.3 0 24 10.7 24 24v52.5c18.8 12.3 35.1 28 48 46.3V168c0-39.8-32.2-72-72-72H471.3L333.3 4zm20.2 260.6c10.9-15 24.1-28.2 39.1-39.1c4.7-10.2 7.3-21.5 7.3-33.5c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c12 0 23.3-2.6 33.5-7.3zM96 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zM320 144c8.8 0 16 7.2 16 16v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faToiletPaperUnder = {\n prefix: 'far',\n iconName: 'toilet-paper-under',\n icon: [512, 512, [\"toilet-paper-reverse\"], \"e2a0\", \"M48 192c0 43.3 9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3H324.7c-3-4.5-5.7-9.3-8.2-14.1C298.5 287.4 288 241.5 288 192s10.5-95.4 28.5-129.9c2.5-4.8 5.3-9.5 8.2-14.1H112c-10.9 0-26.6 8.9-41 36.3C57.2 110.7 48 148.7 48 192zM359 84.3c-13.8 26.3-23 64.3-23 107.7s9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3s26.6-8.9 41-36.3c13.8-26.3 23-64.3 23-107.7s-9.2-81.3-23-107.7C426.6 56.9 410.9 48 400 48s-26.6 8.9-41 36.3zM464 456V351.1c-16.6 19.3-38.1 32.9-64 32.9H112c-37.7 0-66-28.7-83.5-62.1C10.5 287.4 0 241.5 0 192S10.5 96.6 28.5 62.1C46 28.7 74.3 0 112 0H400c37.7 0 66 28.7 83.5 62.1C501.5 96.6 512 142.5 512 192V456c0 30.9-25.1 56-56 56H216c-30.9 0-56-25.1-56-56V416h48v40c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8zM400 240c-13.3 0-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48s-10.7 48-24 48zM112 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faToiletPaperReverse = faToiletPaperUnder;\nvar faLightEmergency = {\n prefix: 'far',\n iconName: 'light-emergency',\n icon: [448, 512, [], \"e41f\", \"M352 304V208c0-70.7-57.3-128-128-128S96 137.3 96 208v96H48V208c0-97.2 78.8-176 176-176s176 78.8 176 176v96H352zM48 384l0 48H400V384H48zm0-48H400c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V384c0-26.5 21.5-48 48-48zM160 208c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-53 43-96 96-96c8.8 0 16 7.2 16 16s-7.2 16-16 16c-35.3 0-64 28.7-64 64z\"]\n};\nvar faArrowDownToArc = {\n prefix: 'far',\n iconName: 'arrow-down-to-arc',\n icon: [512, 512, [], \"e4ae\", \"M256 464c114.9 0 208-93.1 208-208c0-13.3 10.7-24 24-24s24 10.7 24 24c0 141.4-114.6 256-256 256S0 397.4 0 256c0-13.3 10.7-24 24-24s24 10.7 24 24c0 114.9 93.1 208 208 208zM377.6 232.3l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7s-13-2.8-17.6-7.7l-104-112c-9-9.7-8.5-24.9 1.3-33.9s24.9-8.5 33.9 1.3L232 266.9 232 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 242.9 62.4-67.2c9-9.7 24.2-10.3 33.9-1.3s10.3 24.2 1.3 33.9z\"]\n};\nvar faDumpster = {\n prefix: 'far',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0H428.5L402.9 32H304V160zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l25.6 128zM86.4 240H489.6l-20 160H106.4l-20-160zM112 448H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8l22-176h18c13.3 0 24-10.7 24-24s-10.7-24-24-24H540l4-32H495.6 80.4 32l4 32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H42L64 448v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8z\"]\n};\nvar faVanShuttle = {\n prefix: 'far',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M48 96v96H176V80H64c-8.8 0-16 7.2-16 16zm0 144v80c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H396.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H576c8.8 0 16-7.2 16-16V240H360 200 48zm176-48H336V80H224V192zm160 0H564.1L471.3 82.8c-1.5-1.8-3.7-2.8-6.1-2.8H384V192zM640 320c0 35.3-28.7 64-64 64c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H200 360 465.2c16.4 0 32 7.2 42.7 19.7L626.7 191.5c8.6 10.1 13.3 23 13.3 36.3V320zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'far',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M64 48H320c8.8 0 16 7.2 16 16V415.7c11.3-20 27.9-36.7 48-47.9V271.8 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c3.2 0 6.4-.2 9.5-.7c-6-10-9.5-21.8-9.5-34.4c0-4.4 .2-8.7 .7-13c-.2 0-.4 0-.7 0H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zm344 56a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faLightSwitch = {\n prefix: 'far',\n iconName: 'light-switch',\n icon: [384, 512, [], \"e017\", \"M192 64c-10.4 0-19.3-6.7-22.6-16H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H169.4c3.3-9.3 12.2-16 22.6-16s19.3 6.7 22.6 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H214.6c-3.3 9.3-12.2 16-22.6 16zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM144 368h96V280H144v88zm0-224v88h96V144H144zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V144z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'far',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm64-224c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'far',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M184 296.6v-48l22.5-16.2 113 113L303.4 368l-48 0c-12.7 0-24.9 5.1-33.9 14.1l-38.1 38.1-51.5-51.5 38.1-38.1c9-9 14.1-21.2 14.1-33.9zM502.8 90.2L347.9 306 246 204.1 461.8 49.2c1.1-.8 2.4-1.2 3.7-1.2c1.7 0 3.3 .7 4.5 1.9L502.1 82c1.2 1.2 1.9 2.8 1.9 4.5c0 1.3-.4 2.6-1.2 3.7zM255.4 416h48c15.5 0 30-7.4 39-20L541.8 118.2C548.4 109 552 97.9 552 86.5c0-14.4-5.7-28.2-15.9-38.4L503.9 15.9C493.7 5.7 479.9 0 465.5 0C454.1 0 443 3.6 433.8 10.2L156 209.6c-12.6 9-20 23.5-20 39v48L92.3 340.3c-10.7 10.7-14.1 26-10.1 39.5L9.4 452.7c-6 6-9.4 14.1-9.4 22.6V480c0 17.7 14.3 32 32 32h84.7c8.5 0 16.6-3.4 22.6-9.4l32.8-32.8c13.6 4 28.8 .6 39.5-10.1L255.4 416zM134.7 439.3L110.1 464H65.9l46.7-46.7 22.1 22.1z\"]\n};\nvar faWavePulse = {\n prefix: 'far',\n iconName: 'wave-pulse',\n icon: [640, 512, [\"heart-rate\"], \"f5f8\", \"M319.4 0c11.1-.3 21 7.1 23.8 17.9l79.3 303.9 27.1-57.7c9.2-19.6 29-32.2 50.7-32.2H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H500.3c-3.1 0-5.9 1.8-7.2 4.6L437.7 402.2c-4.3 9.1-13.9 14.6-23.9 13.7s-18.5-8.1-21-17.8L322.7 129.4 247.5 492.9c-2.2 10.9-11.6 18.8-22.7 19.1s-21-6.9-23.9-17.6L143.3 285.9c-1-3.5-4.1-5.9-7.7-5.9H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H135.6c25.2 0 47.3 16.8 54 41.1l31 112.6L296.5 19.1C298.8 8.2 308.2 .3 319.4 0z\"]\n};\nvar faHeartRate = faWavePulse;\nvar faKey = {\n prefix: 'far',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M208 176c0-70.7 57.3-128 128-128s128 57.3 128 128s-57.3 128-128 128c-10.4 0-20.5-1.2-30.1-3.6c-8.1-2-16.7 .4-22.6 6.4L254.1 336H200c-13.3 0-24 10.7-24 24v40H136c-13.3 0-24 10.7-24 24v40H48V385.9L205.2 228.7c5.9-5.9 8.3-14.5 6.4-22.6c-2.3-9.6-3.6-19.7-3.6-30.1zM336 0C238.8 0 160 78.8 160 176c0 9.5 .7 18.8 2.2 27.9L7 359c-4.5 4.5-7 10.6-7 17V488c0 13.3 10.7 24 24 24H136c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l27.2-27.2c9.1 1.4 18.4 2.2 27.9 2.2c97.2 0 176-78.8 176-176S433.2 0 336 0zm32 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHatSanta = {\n prefix: 'far',\n iconName: 'hat-santa',\n icon: [640, 512, [], \"f7a7\", \"M64 352h51.7l78.6-196.4C212.5 109.9 256.8 80 305.9 80c35.4 0 69 15.6 91.8 42.6l19 22.5c-4-.7-8-1.1-12-1.1h-1.2c-37.3 0-67.6 30.3-67.6 67.6c0 10 2.2 19.8 6.4 28.8L395 352h53L385.9 220c-1.2-2.6-1.9-5.5-1.9-8.4c0-10.8 8.8-19.6 19.6-19.6h1.2c2.1 0 4.2 .3 6.3 1l47.1 14.9c1.9-2.7 4-5.1 6.3-7.4c0-14.3 5.5-28.7 16.4-39.6c2.2-2.2 4.6-4.2 7.1-6L434.4 91.6c-32-37.8-79-59.6-128.5-59.6c-68.8 0-130.7 41.9-156.3 105.8L64 352zM583.9 182.2C583 169.8 572.7 160 560 160s-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C489.8 217 480 227.3 480 240s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C537 310.2 547.3 320 560 320s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C630.2 263 640 252.7 640 240s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2zM0 432c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48s-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\"]\n};\nvar faTamale = {\n prefix: 'far',\n iconName: 'tamale',\n icon: [320, 512, [129748], \"e451\", \"M319.6 69.3L296.4 208l-.4 0H247.8L270.7 70.3c-6.4-4.6-14.9-8.8-25.4-12.1L229.2 208H197.1L213.8 51.3c-12.5-1.8-25.3-2.7-37.8-3V208H160 144V48.2c-12.5 .4-25.4 1.3-37.8 3L122.9 208H90.8L74.7 58.2c-10.6 3.4-19 7.5-25.4 12.1L72.2 208H24l-.4 0L.4 69.3c-1.7-10.2 1.7-20.6 9-27.9C46 5 112.3 0 160 0s114 5 150.6 41.3c7.3 7.3 10.7 17.7 9 27.9zM296 304l.4 0 23.1 138.7c1.7 10.2-1.7 20.6-9 27.9C274 507 207.7 512 160 512s-114-5-150.6-41.3c-7.3-7.3-10.7-17.7-9-27.9L23.6 304l.4 0H66.7c-3.7 10.5-3.6 22 .1 32.3L49.3 441.7c6.4 4.6 14.9 8.8 25.4 12.1l10.1-94.3c9.5 6.5 20.6 9.2 31.3 8.3l-10 92.9c12.5 1.8 25.3 2.6 37.8 3v-108c2.3-2.1 4.5-4.4 6.4-7L160 336l9.6 12.8c1.9 2.6 4.1 4.9 6.4 7v108c12.5-.4 25.4-1.3 37.8-3l-10-92.9c10.7 .9 21.8-1.7 31.3-8.3l10.1 94.3c10.6-3.4 19-7.5 25.4-12.1L253.2 336.3c3.7-10.3 3.8-21.7 .1-32.3H296zM24 240H160 296c8.8 0 16 7.2 16 16s-7.2 16-16 16H192l28.8 38.4c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2L160 282.7l-35.2 46.9c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4L128 272H24c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBoxCheck = {\n prefix: 'far',\n iconName: 'box-check',\n icon: [448, 512, [], \"f467\", \"M248 80h94.4c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80zM48 208H400V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208zm152-48H59.6L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM337 265c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 265z\"]\n};\nvar faBullhorn = {\n prefix: 'far',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M432 73.9L421.3 84.6C364.5 141.4 288.1 174 208 175.9v.1V304v0 .1c80.1 1.9 156.5 34.5 213.3 91.3L432 406.1V73.9zM160 128h40.7c70 0 137.2-27.8 186.7-77.3l38-38C445.5-7.5 480 6.8 480 35.3V179.6c18.6 8.8 32 32.5 32 60.4s-13.4 51.6-32 60.4V444.7c0 28.5-34.5 42.8-54.6 22.6l-38-38c-47.8-47.8-112-75.4-179.4-77.2V456c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56l0-104c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h96zM112 352V456c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V352H112zM64 176c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16l0 0h48 48V176l-96 0z\"]\n};\nvar faSteak = {\n prefix: 'far',\n iconName: 'steak',\n icon: [576, 512, [129385], \"f824\", \"M301.5 72.6c-15.9 14.8-25.5 34.1-32.8 50.6c-4.2 9.6-7.7 18-10.9 25.7l-1.3 3.2c-9.3 22.5-18.4 44.6-39.1 65.3c-26.6 26.6-56.8 42.7-81.6 55.3c-2.8 1.4-5.5 2.8-8.1 4.1l0 0c-22.4 11.4-39.6 20.1-55.1 32.5C57.7 321.2 48 337.8 48 360c0 50 42.8 75.3 77.6 87.3C162.2 459.8 206.1 464 240 464c70.2 0 140.7-26.7 194-66.3c52.5-39.1 94-95.4 94-157.7c0-48.1-19-95-47-130c-27.6-34.5-67.9-62-113-62c-27.4 0-49.4 8.6-66.5 24.6zM268.8 37.4C295.7 12.4 329.7 0 368 0c65 0 117.7 39 150.5 80c33.9 42.4 57.5 99.6 57.5 160c0 83.9-55.1 152.8-113.4 196.2C402.1 481.2 321.7 512 240 512c-36.8 0-86.5-4.4-130-19.3C73.4 480.1 0 444.3 0 360c0-38.6 17.8-68.3 42.5-88.1c19.6-15.8 41.4-26.8 63.3-37.8c27.3-13.8 54.6-27.6 77.7-50.7c13.8-13.8 19.7-27.9 30-52.9c3.2-7.7 6.8-16.5 11.2-26.6c7.7-17.6 20.6-44.7 44.1-66.5zm36.8 122c2.5-6 4.8-11.8 7.1-17c6.9-15.7 13.3-27.1 21.5-34.7c7.5-7 17.5-11.7 33.9-11.7c25.4 0 53.3 16.2 75.5 44c22 27.5 36.5 64.1 36.5 100c0 40.8-28.3 84.6-74.7 119.2C359.4 393.4 298.6 416 240 416c-31 0-69.1-3.9-98.8-14.1C110.1 391.2 96 376.7 96 360c0-9 2.6-13.2 6.9-16.9c5.8-5 15-9.1 30.2-15.5l1.2-.5c29.3-12.4 71.2-30 117-75.8c28.6-28.6 42.9-63.7 54.3-91.9zM416 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faLocationCrosshairsSlash = {\n prefix: 'far',\n iconName: 'location-crosshairs-slash',\n icon: [640, 512, [\"location-slash\"], \"f603\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-146-114.5c13.4-22.3 22.4-47.6 25.8-74.6H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H510.5C499.7 145.2 430.8 76.3 344 65.5V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V65.5c-43.1 5.4-81.8 25-111.1 54.1L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-22 0-42.2 7.4-58.4 19.8l-38.6-30.2zM367.5 262.8l-65.5-51.3c5.5-2.2 11.6-3.5 17.9-3.5c26.5 0 48 21.5 48 48c0 2.3-.2 4.6-.5 6.8zm47.4 160.2l-41.9-33c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2l-41.9-33c-2.7 9.5-4.7 19.2-6 29.3H88c-13.3 0-24 10.7-24 24s10.7 24 24 24h41.5c10.8 86.8 79.7 155.7 166.5 166.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V446.5c25.5-3.2 49.5-11.4 70.9-23.6z\"]\n};\nvar faLocationSlash = faLocationCrosshairsSlash;\nvar faPersonDolly = {\n prefix: 'far',\n iconName: 'person-dolly',\n icon: [512, 512, [], \"f4d0\", \"M128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zM0 340.3L0 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-109.9L1.6 341.6c-.5-.4-1.1-.9-1.6-1.3zM48 187.2C48 181 53 176 59.2 176c4.5 0 8.9 1.1 12.8 3V295.2L51.1 278.7c-1.9-1.5-3.1-3.8-3.1-6.3V187.2zm72 145.7V246.2l15.1 23.5c7.4 11.4 20 18.4 33.6 18.4h54.5l27.1 108.3c-16 11.6-26.3 30.5-26.3 51.7c0 35.3 28.7 64 64 64c32.3 0 59.1-24 63.4-55.1l134.4-33.6c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L339.7 410.3c-10-13.7-25.3-23.3-42.8-25.7L247.3 186.2c-3.2-12.9-16.2-20.7-29.1-17.5s-20.7 16.2-17.5 29.1L211.3 240H173.1l-49.3-76.7c-14.1-22-38.5-35.3-64.6-35.3C26.5 128 0 154.5 0 187.2v85.3c0 17.2 7.9 33.4 21.4 44l92.2 72.4 14.6 102.5c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2L160.7 379c-1.5-10.2-6.8-19.4-14.9-25.8L120 332.9zM288 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm69.4-55.8L449 353.4c17.1-4.3 27.6-21.7 23.3-38.8L449.4 223c-4.3-17.1-21.7-27.6-38.8-23.3L319 222.6c-17.1 4.3-27.6 21.7-23.3 38.8L318.6 353c4.3 17.1 21.7 27.6 38.8 23.3z\"]\n};\nvar faGlobe = {\n prefix: 'far',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M256 464c7.4 0 27-7.2 47.6-48.4c8.8-17.7 16.4-39.2 22-63.6H186.4c5.6 24.4 13.2 45.9 22 63.6C229 456.8 248.6 464 256 464zM178.5 304h155c1.6-15.3 2.5-31.4 2.5-48s-.9-32.7-2.5-48h-155c-1.6 15.3-2.5 31.4-2.5 48s.9 32.7 2.5 48zm7.9-144H325.6c-5.6-24.4-13.2-45.9-22-63.6C283 55.2 263.4 48 256 48s-27 7.2-47.6 48.4c-8.8 17.7-16.4 39.2-22 63.6zm195.3 48c1.5 15.5 2.2 31.6 2.2 48s-.8 32.5-2.2 48h76.7c3.6-15.4 5.6-31.5 5.6-48s-1.9-32.6-5.6-48H381.8zm58.8-48c-21.4-41.1-56.1-74.1-98.4-93.4c14.1 25.6 25.3 57.5 32.6 93.4h65.9zm-303.3 0c7.3-35.9 18.5-67.7 32.6-93.4c-42.3 19.3-77 52.3-98.4 93.4h65.9zM53.6 208c-3.6 15.4-5.6 31.5-5.6 48s1.9 32.6 5.6 48h76.7c-1.5-15.5-2.2-31.6-2.2-48s.8-32.5 2.2-48H53.6zM342.1 445.4c42.3-19.3 77-52.3 98.4-93.4H374.7c-7.3 35.9-18.5 67.7-32.6 93.4zm-172.2 0c-14.1-25.6-25.3-57.5-32.6-93.4H71.4c21.4 41.1 56.1 74.1 98.4 93.4zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512z\"]\n};\nvar faSynagogue = {\n prefix: 'far',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M305.1 5.2c8.7-6.9 21-6.9 29.7 0L462.5 105.9C483.7 122.6 496 148.1 496 175v63l31-31c9.4-9.4 24.6-9.4 33.9 0l62.6 62.6c10.5 10.5 16.4 24.7 16.4 39.6V440c0 39.8-32.2 72-72 72H472 384 256 168 72c-39.8 0-72-32.2-72-72V309.3c0-14.9 5.9-29.1 16.4-39.6L79 207c9.4-9.4 24.6-9.4 33.9 0l31 31V175c0-26.9 12.3-52.4 33.5-69.1L305.1 5.2zM496 464h72c13.3 0 24-10.7 24-24V309.3c0-2.1-.8-4.2-2.3-5.7L544 257.9l-45.7 45.7c-1.5 1.5-2.3 3.5-2.3 5.7V464zM448 175c0-12.2-5.6-23.8-15.2-31.4L320 54.6l-112.8 89c-9.6 7.6-15.2 19.2-15.2 31.4V309.3 464h64V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80h64V309.3 175zM144 309.3c0-2.1-.8-4.2-2.3-5.7L96 257.9 50.3 303.6c-1.5 1.5-2.3 3.5-2.3 5.7V440c0 13.3 10.7 24 24 24h72V309.3zM327 124.3l15.9 28.1 32.3-.3c6.2-.1 10.1 6.7 7 12.1L365.7 192l16.4 27.8c3.2 5.4-.7 12.1-7 12.1l-32.3-.3L327 259.7c-3.1 5.4-10.9 5.4-13.9 0l-15.9-28.1-32.3 .3c-6.2 .1-10.1-6.7-7-12.1L274.3 192l-16.4-27.8c-3.2-5.4 .7-12.1 7-12.1l32.3 .3L313 124.3c3.1-5.4 10.9-5.4 13.9 0z\"]\n};\nvar faFileChartColumn = {\n prefix: 'far',\n iconName: 'file-chart-column',\n icon: [384, 512, [\"file-chart-line\"], \"f659\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 280c0-13.3-10.7-24-24-24s-24 10.7-24 24V408c0 13.3 10.7 24 24 24s24-10.7 24-24V280zm88 32c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V312zM128 344c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V344z\"]\n};\nvar faFileChartLine = faFileChartColumn;\nvar faPersonHalfDress = {\n prefix: 'far',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M154 .4A48 48 0 1 1 166 95.6 48 48 0 1 1 154 .4zM176 352V304h0V176.1l0 0V128c30.8 .8 59.1 17.7 74.3 44.6l58.5 103.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352h0zM62.9 184.6c17.1-30.3 47.2-50.6 81.1-55.5V237.7L113.3 336H144v48h0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H69.8c-10.8 0-18.5-10.5-15.3-20.8l46.3-148L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5z\"]\n};\nvar faFolderImage = {\n prefix: 'far',\n iconName: 'folder-image',\n icon: [512, 512, [], \"e18a\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM160 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm155.2 9.6c-4.5-6-11.6-9.6-19.2-9.6s-14.7 3.6-19.2 9.6l-54.2 72.2L202.7 265c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c9.1 0 17.4-5.1 21.5-13.3s3.2-17.9-2.3-25.1l-96-128z\"]\n};\nvar faCalendarPen = {\n prefix: 'far',\n iconName: 'calendar-pen',\n icon: [512, 512, [\"calendar-edit\"], \"f333\", \"M160 0c13.3 0 24 10.7 24 24V64H328V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192 144 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM432 192H80V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V192zm-91.2 51c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L272.6 258 287.5 243c14.7-14.7 38.6-14.7 53.3 0zM178.1 352.5L250 280.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.6c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faCalendarEdit = faCalendarPen;\nvar faRoadBridge = {\n prefix: 'far',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M576 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H504V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H384c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h72v56c0 13.3 10.7 24 24 24s24-10.7 24-24V48h72zm0-48H384c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM480 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24zM24 96C10.7 96 0 106.7 0 120s10.7 24 24 24H72v64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H96 224h64V208H248V144h40V96H24zM272 304c-57.4 0-104 46.6-104 104v56H120V400c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48v72c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V408c0-30.9 25.1-56 56-56h16V304H272zM200 144v64H120V144h80z\"]\n};\nvar faFaceSmileTear = {\n prefix: 'far',\n iconName: 'face-smile-tear',\n icon: [512, 512, [], \"e393\", \"M338.7 446.9c4.3 .7 8.8 1.1 13.3 1.1c43.4 0 80-34.6 80-79c0-.7 0-1.4 0-2c20.3-32.1 32-70.2 32-111c0-114.9-93.1-208-208-208S48 141.1 48 256s93.1 208 208 208c29.4 0 57.4-6.1 82.7-17.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm136.3 61.9c10-8.7 25.2-7.6 33.9 2.4C187 339.8 215.5 360 256 360c13.3 0 24 10.7 24 24s-10.7 24-24 24c-58 0-98.8-29.4-122.1-56.3c-8.7-10-7.6-25.2 2.4-33.9zM352 416c-26.5 0-48-21-48-47c0-20 28.4-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C371.4 308.6 400 349 400 369c0 26-21.5 47-48 47zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMessagePlus = {\n prefix: 'far',\n iconName: 'message-plus',\n icon: [512, 512, [\"comment-alt-plus\"], \"f4a8\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM232 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faCommentAltPlus = faMessagePlus;\nvar faLocationArrow = {\n prefix: 'far',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M224 208H129.4l241.4-98.7L272 350.6V256c0-26.5-21.5-48-48-48zm-48 48h48v48V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H176z\"]\n};\nvar faC = {\n prefix: 'far',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M343.5 131.7C275.8 63 166 63 98.3 131.7s-67.7 180 0 248.7s177.5 68.7 245.2 0c9.3-9.4 24.4-9.4 33.7 0s9.3 24.7 0 34.2c-86.3 87.5-226.3 87.5-312.6 0s-86.3-229.5 0-317s226.3-87.5 312.6 0c9.3 9.4 9.3 24.7 0 34.2s-24.4 9.4-33.7 0z\"]\n};\nvar faTabletButton = {\n prefix: 'far',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faRectangleHistoryCircleUser = {\n prefix: 'far',\n iconName: 'rectangle-history-circle-user',\n icon: [640, 512, [], \"e4a4\", \"M64 464l284.5 0c12.3 18.8 28 35.1 46.3 48L64 512c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64l384 0c23.8 0 44.5 12.9 55.5 32.2c-2.5-.1-5-.2-7.5-.2c-26.2 0-51.1 5.7-73.4 16L64 208c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM440 80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24H392zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H463.4c-21 0-38.9 13.7-45.1 32.7C438.5 468.1 465.8 480 496 480s57.5-11.9 77.7-31.3zM544 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faBuildingLock = {\n prefix: 'far',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M64 48H320c8.8 0 16 7.2 16 16V309.7c4.6-5.2 10-9.6 16-13.1V272c0-30.5 12.2-58.2 32-78.4V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c2.8 0 5.6-.2 8.3-.5c-5.3-9.3-8.3-20-8.3-31.5V464H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zm232 24c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faChartLineUp = {\n prefix: 'far',\n iconName: 'chart-line-up',\n icon: [512, 512, [], \"e0e5\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zm272 96c0 13.3 10.7 24 24 24h54.1L304 270.1l-79-79c-9.4-9.4-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l63-63 79 79c9.4 9.4 24.6 9.4 33.9 0l111-111V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faMailbox = {\n prefix: 'far',\n iconName: 'mailbox',\n icon: [576, 512, [128234], \"f813\", \"M48 208c0-53 43-96 96-96s96 43 96 96V400H64c-8.8 0-16-7.2-16-16V208zM240 448h48H512c35.3 0 64-28.7 64-64V208c0-79.5-64.5-144-144-144H144C64.5 64 0 128.5 0 208V384c0 35.3 28.7 64 64 64H240zm48-240c0-36.9-13.9-70.5-36.7-96H432c53 0 96 43 96 96V384c0 8.8-7.2 16-16 16H288V208zM104 192c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H104zm256 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v24c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H440 360z\"]\n};\nvar faTruckBolt = {\n prefix: 'far',\n iconName: 'truck-bolt',\n icon: [640, 512, [], \"e3d0\", \"M352 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H320 243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H352zm32 368c0 53 43 96 96 96s96-43 96-96h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V245.3c0-14.9-5.9-29.1-16.4-39.6l-93.3-93.3C487.8 101.9 473.6 96 458.7 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96h64 32 24 8zM557.7 239.6c.1 .1 .3 .3 .4 .4H416V144h42.7c2.1 0 4.2 .8 5.7 2.3l93.3 93.3zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM267.2 84.6c-5.3-5.2-13.4-6.1-19.7-2.2l-128 80c-6.1 3.8-8.9 11.1-6.9 18s8.2 11.6 15.4 11.6h51.7l-33.5 55.8c-3.8 6.3-2.8 14.5 2.5 19.6s13.4 6.1 19.7 2.2l128-80c6.1-3.8 8.9-11.1 6.9-18s-8.2-11.6-15.4-11.6H236.3l33.5-55.8c3.8-6.3 2.8-14.5-2.5-19.6z\"]\n};\nvar faPizzaSlice = {\n prefix: 'far',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M122.2 35.6L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L476.4 389.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9c-22.8-1.6-41.9 14-47.5 34.7zM144.6 138C264.3 152.7 359.3 247.7 374 367.4L61.2 450.8 144.6 138zm12.5-46.8l11.3-42.3C325.6 60.7 451.3 186.4 463.1 343.7l-42.3 11.3c-19.7-136.2-127.5-244-263.7-263.7zM192 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'far',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M265.7 407.9c4.5-1.1 9-2.3 13.5-3.4l0 0c55.9-14.3 119.4-30.6 185.3-28.7c4.1-31.4 30.9-55.7 63.5-55.7V144c-35.3 0-63.9-28.6-64-63.9c-47-1.7-96.8 9.5-153.7 24c-4.5 1.1-9 2.3-13.5 3.5l0 0c-55.9 14.3-119.4 30.6-185.3 28.7C107.4 167.7 80.5 192 48 192V368c35.3 0 63.9 28.6 64 63.9c47 1.7 96.8-9.5 153.7-24zM0 421.5V113C0 88.8 25.4 72.7 48.4 79C128.2 101 208.1 80.6 288 60.3c86.9-22.1 173.8-44.3 260.7-12C565.8 54.6 576 72 576 90.5V399c0 24.3-25.4 40.3-48.3 34C447.8 411 367.9 431.4 288 451.7c-86.9 22.1-173.8 44.3-260.7 12C10.2 457.4 0 440 0 421.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\"]\n};\nvar faChartArea = {\n prefix: 'far',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM286.1 225.9c9 9 21.2 14.1 33.9 14.1s24.9-5.1 33.9-14.1l27.3-27.3L432 257.8l0 78.2H144l0-92.1 80-80 62.1 62.1zM320 192l-33.9-33.9-39.4-39.4c-12.5-12.5-32.8-12.5-45.3 0l-91.3 91.3c-9 9-14.1 21.2-14.1 33.9V352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V257.8c0-11.5-4.1-22.5-11.6-31.2l-62-72.3c-12.1-14.2-33.7-15-46.9-1.8l-5.6 5.6L320 192z\"]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'far',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M472 0c-13.3 0-24 10.7-24 24v8V192 512h48V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H496V24c0-13.3-10.7-24-24-24zM416 133L286.3 36.7c-8.5-6.3-20.1-6.3-28.6 0l-248 184c-10.6 7.9-12.9 22.9-5 33.6s22.9 12.9 33.6 5L64 240.2V432c0 44.2 35.8 80 80 80l256 0c5.5 0 10.8-.6 16-1.6V459.7c-4.7 2.7-10.2 4.3-16 4.3H352V344c0-22.1-17.9-40-40-40H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.6L272 85.9 416 192.7V133zM304 352V464l-64 0V352h64z\"]\n};\nvar faCircleThreeQuartersStroke = {\n prefix: 'far',\n iconName: 'circle-three-quarters-stroke',\n icon: [512, 512, [], \"e5d4\", \"M256 48V224c0 17.7 14.3 32 32 32H464c0-114.9-93.1-208-208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPersonCircleMinus = {\n prefix: 'far',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zm144 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faScalpel = {\n prefix: 'far',\n iconName: 'scalpel',\n icon: [512, 512, [], \"f61d\", \"M200 288c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L200 247.2l5.6-6.7 .4-.5L387.4 25.1C400.8 9.2 420.6 0 441.4 0c39 0 70.6 31.6 70.6 70.6v4c0 17.6-6.2 34.6-17.6 48.1l-36.7-31c4-4.8 6.3-10.9 6.3-17.1v-4C464 58.1 453.9 48 441.4 48c-6.7 0-13 2.9-17.3 8L268.9 240h63.8L457.7 91.7l36.7 31L369.3 271c-9.1 10.8-22.5 17-36.7 17H228.4h-.7H219 200zm-35.3 36.7l4.7-4.7H176h96 16v16c0 74.9-65.5 118.6-126.1 142.9C100.1 503.6 34.1 512 16 512c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l160-160z\"]\n};\nvar faBan = {\n prefix: 'far',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M385.1 419.1L92.9 126.9C64.8 162.3 48 207.2 48 256c0 114.9 93.1 208 208 208c48.8 0 93.7-16.8 129.1-44.9zm33.9-33.9C447.2 349.7 464 304.8 464 256c0-114.9-93.1-208-208-208c-48.8 0-93.7 16.8-129.1 44.9L419.1 385.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCancel = faBan;\nvar faBellExclamation = {\n prefix: 'far',\n iconName: 'bell-exclamation',\n icon: [448, 512, [], \"f848\", \"M224 0c-17.7 0-32 14.3-32 32V49.9C119.5 61.4 64 124.2 64 200v33.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32zm0 96h8c57.4 0 104 46.6 104 104v33.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V200c0-57.4 46.6-104 104-104h8zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM256 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-168c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V152z\"]\n};\nvar faCircleBookmark = {\n prefix: 'far',\n iconName: 'circle-bookmark',\n icon: [512, 512, [\"bookmark-circle\"], \"e100\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 176V368c0 6.2 3.5 11.8 9.1 14.4s12.1 1.9 16.9-1.9l70-56 70 56c4.8 3.8 11.4 4.6 16.9 1.9s9.1-8.3 9.1-14.4V176c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48z\"]\n};\nvar faBookmarkCircle = faCircleBookmark;\nvar faEggFried = {\n prefix: 'far',\n iconName: 'egg-fried',\n icon: [512, 512, [], \"f7fc\", \"M403.9 162.5c-26.9-6.9-56.4-20.3-82.6-35.6s-52.4-34.3-71.6-54.3c-30.6-31.9-81.3-32.9-113.1-2.2c-14.5 14-22.6 32-24.3 50.6C107.7 173.6 92.7 244.5 63 296c-30.9 53.6-12.6 122.1 41 153s122.1 12.6 153-41c14.7-25.4 38.1-45.6 61.1-59.7c23.3-14.3 50.6-25.3 77.1-29c12.7-1.8 25.3-6.7 36.4-15c35.5-26.3 42.9-76.4 16.6-111.9c-11.4-15.4-27.2-25.4-44.4-29.8zM284.3 39.3c30.4 31.6 89.1 65.9 131.5 76.7c27.5 7 52.8 23.2 71 47.8c42.1 56.8 30.2 137-26.6 179.1c-17.8 13.2-37.9 21.1-58.4 24c-37.2 5.2-84.5 32.7-103.3 65.2c-44.2 76.5-142 102.7-218.6 58.6S-22.7 348.5 21.4 272c24.8-42.9 38.7-105.9 43.1-155.2C67.1 87 80.1 58 103.3 35.7c51-49 132-47.4 181 3.6zM112 240a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm112-32c8.8 0 16-7.2 16-16s-7.2-16-16-16c-39.8 0-72 32.2-72 72c0 8.8 7.2 16 16 16s16-7.2 16-16c0-22.1 17.9-40 40-40z\"]\n};\nvar faFaceWeary = {\n prefix: 'far',\n iconName: 'face-weary',\n icon: [512, 512, [], \"e3a1\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.5 64.3C196.1 302.1 223.8 288 256 288s59.9 14.1 79.5 32.3C354.5 338.1 368 362 368 384c0 5.4-2.7 10.4-7.2 13.4s-10.2 3.4-15.2 1.3l-17.2-7.5c-22.8-10-47.5-15.1-72.4-15.1s-49.6 5.2-72.4 15.1l-17.2 7.5c-4.9 2.2-10.7 1.7-15.2-1.3s-7.2-8-7.2-13.4c0-22 13.5-45.9 32.5-63.7zm34.8-155.6c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faUniformMartialArts = {\n prefix: 'far',\n iconName: 'uniform-martial-arts',\n icon: [640, 512, [], \"e3d1\", \"M188.4 48c-26.3 0-50.4 14.3-63.1 37.3L58.9 206C51.7 219 48 233.6 48 248.4V392c0 4.4 3.6 8 8 8H88c4.4 0 8-3.6 8-8V248.4c0-6.7 1.7-13.4 5-19.3l62-112.8c5.3-9.6 16.4-14.4 27-11.7s18 12.3 18 23.2V288H160V221.4l-16 29.1V392c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V248.4c0-22.9 5.8-45.5 16.8-65.5L83.2 62.2C104.3 23.8 144.6 0 188.4 0h.1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1c9 0 17.2 5 21.3 13L320 127.1 378.7 13C382.8 5 391 0 400 0h.1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1c43.8 0 84.1 23.8 105.1 62.2l66.4 120.7c11 20.1 16.8 42.6 16.8 65.5V392c0 30.9-25.1 56-56 56H552c-30.9 0-56-25.1-56-56V250.5l-16-29.1V288H432V128c0-11 7.4-20.5 18-23.2s21.7 2.1 27 11.7l62 112.8-21 11.6 21-11.6c3.2 5.9 5 12.5 5 19.3V392c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V248.4c0-14.8-3.7-29.4-10.9-42.4L514.7 85.3C502.1 62.3 477.9 48 451.6 48h-.1-.1-.1-.1-.1-.1-.1H451 451h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H450h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H449h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H448h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H447h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H446h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H445h-.1-.1-.1-.1-.1-.1-.1-.1-.1H444 444h-.1-.1-.1-.1-.1-.1-.1-.1-.1H443h-.1-.1-.1-.1-.1-.1-.1-.1-.1H442h-.1-.1-.1-.1-.1-.1-.1-.1H441h-.1-.1-.1-.1-.1-.1-.1-.1-.1H440h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H438h-.1-.1-.1-.1-.1-.1-.1-.1H437h-.1-.1-.1-.1-.1-.1-.1-.1H436h-.1-.1-.1-.1-.1-.1-.1-.1H435h-.1-.1-.1-.1-.1-.1-.1-.1H434h-.1-.1-.1-.1-.1-.1-.1-.1H433h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H431h-.1-.1-.1-.1-.1-.1-.1-.1H430h-.1-.1-.1-.1-.1-.1-.1-.1H429h-.1-.1-.1-.1-.1-.1-.1H428h-.1-.1-.1-.1-.1-.1-.1-.1H427h-.1-.1-.1-.1-.1-.1-.1H426h-.1-.1-.1-.1-.1-.1-.1-.1H425h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H423h-.1-.1-.1-.1-.1-.1-.1-.1H422h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H420h-.1-.1-.1-.1-.1-.1-.1-.1H419h-.1-.1-.1-.1-.1-.1-.1-.1H418h-.1-.1-.1-.1-.1-.1-.1-.1H417h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H415h-.1-.1-.1L341.3 190.5 291.2 288h-54L293 179.6 225.4 48h-.1-.1H225h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H223h-.1-.1-.1-.1-.1-.1-.1-.1H222h-.1-.1-.1-.1-.1-.1-.1-.1H221h-.1-.1-.1-.1-.1-.1-.1-.1H220h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H218h-.1-.1-.1-.1-.1-.1-.1-.1H217h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H215h-.1-.1-.1-.1-.1-.1-.1-.1H214h-.1-.1-.1-.1-.1-.1-.1H213h-.1-.1-.1-.1-.1-.1-.1-.1H212h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H210h-.1-.1-.1-.1-.1-.1-.1-.1H209h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H207h-.1-.1-.1-.1-.1-.1-.1-.1H206h-.1-.1-.1-.1-.1-.1-.1-.1H205h-.1-.1-.1-.1-.1-.1-.1-.1H204h-.1-.1-.1-.1-.1-.1-.1-.1H203h-.1-.1-.1-.1-.1-.1-.1-.1H202h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H200h-.1-.1-.1-.1-.1-.1-.1-.1-.1H199h-.1-.1-.1-.1-.1-.1-.1-.1H198h-.1-.1-.1-.1-.1-.1-.1-.1-.1H197h-.1-.1-.1-.1-.1-.1-.1-.1-.1H196 196h-.1-.1-.1-.1-.1-.1-.1-.1-.1H195h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H194h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H193h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H192h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H191h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H190h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H189h-.1-.1-.1-.1-.1-.1-.1-.1-.1zM160 384h48v64c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384zm16-64H320 464h16v32H464 349.9l47.4 71.1c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-50.7-76-50.7 76c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2L290.1 352H176 160V320h16z\"]\n};\nvar faCameraRotate = {\n prefix: 'far',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M263.1 32c-24.1 0-45.5 15.4-53.1 38.3l22.8 7.6-22.8-7.6L201.4 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H438.6l-8.6-25.7C422.4 47.4 401 32 376.9 32H263.1zm-7.6 53.5c1.1-3.3 4.1-5.5 7.6-5.5H376.9c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4H512c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h90.7c10.3 0 19.5-6.6 22.8-16.4l14-42.1zM362.4 237.6l-15 15c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3H416c8.8 0 16-7.2 16-16V195.3c0-6.2-5.1-11.3-11.3-11.3c-3 0-5.9 1.2-8 3.3l-16.1 16.1C375.1 185.8 348 176 320 176c-32 0-62.6 12.7-85.3 35.3L231 215c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l3.7-3.7C282.3 231.6 300.8 224 320 224c15.3 0 30.1 4.8 42.4 13.6zM208 380.7c0 6.2 5.1 11.3 11.3 11.3c3 0 5.9-1.2 8-3.3l16.1-16.1C264.9 390.2 292 400 320 400c32 0 62.6-12.7 85.3-35.3L409 361c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-3.7 3.7C357.7 344.4 339.2 352 320 352c-15.3 0-30.1-4.8-42.4-13.6l15-15c2.1-2.1 3.3-5 3.3-8c0-6.2-5.1-11.3-11.3-11.3H224c-8.8 0-16 7.2-16 16v60.7z\"]\n};\nvar faSunDust = {\n prefix: 'far',\n iconName: 'sun-dust',\n icon: [512, 512, [], \"f764\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 0 0 37.6-37.6c-3.4-3.4-7.7-5.7-12.6-6.6L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 14.4 78.3c.9 4.9 3.3 9.3 6.6 12.6l37.6-37.6 0 0L375.7 19.7zM256 144c-61.9 0-112 50.1-112 112c0 30.9 12.5 58.9 32.8 79.2l33.9-33.9C199.2 289.7 192 273.7 192 256c0-35.3 28.7-64 64-64c17.7 0 33.7 7.2 45.3 18.7l33.9-33.9C314.9 156.5 286.9 144 256 144zm256 16a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-80 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm48 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-80 80a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM432 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommentText = {\n prefix: 'far',\n iconName: 'comment-text',\n icon: [512, 512, [], \"e14d\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM184 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V312c0 13.3 10.7 24 24 24s24-10.7 24-24V208h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 184z\"]\n};\nvar faSprayCanSparkles = {\n prefix: 'far',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M128 0h64c17.7 0 32 14.3 32 32v96H96V32c0-17.7 14.3-32 32-32zM96 208c-26.5 0-48 21.5-48 48V448c0 8.8 7.2 16 16 16H256c8.8 0 16-7.2 16-16V256c0-26.5-21.5-48-48-48H96zM0 256c0-53 43-96 96-96H224c53 0 96 43 96 96V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zM381.8 51.6L352 64 339.6 93.8C339 95 337.4 96 336 96s-3-1-3.6-2.2L320 64 290.2 51.6C289 51 288 49.4 288 48c0-1.4 1-3 2.2-3.6L320 32 332.4 2.2C333 1 334.6 0 336 0s3 1 3.6 2.2L352 32l29.8 12.4C383 45 384 46.6 384 48c0 1.4-1 3-2.2 3.6zM448 64L418.2 51.6C417 51 416 49.4 416 48c0-1.4 1-3 2.2-3.6L448 32 460.4 2.2C461 1 462.6 0 464 0s3 1 3.6 2.2L480 32l29.8 12.4C511 45 512 46.6 512 48c0 1.4-1 3-2.2 3.6L480 64 467.6 93.8C467 95 465.4 96 464 96s-3-1-3.6-2.2L448 64zm32 160l29.8 12.4c1.2 .6 2.2 2.2 2.2 3.6c0 1.4-1 3-2.2 3.6L480 256l-12.4 29.8c-.6 1.2-2.2 2.2-3.6 2.2s-3-1-3.6-2.2L448 256l-29.8-12.4c-1.2-.6-2.2-2.2-2.2-3.6c0-1.4 1-3 2.2-3.6L448 224l12.4-29.8c.6-1.2 2.2-2.2 3.6-2.2s3 1 3.6 2.2L480 224zm-34.2-76.4L416 160l-12.4 29.8c-.6 1.2-2.2 2.2-3.6 2.2s-3-1-3.6-2.2L384 160l-29.8-12.4c-1.2-.6-2.2-2.2-2.2-3.6c0-1.4 1-3 2.2-3.6L384 128l12.4-29.8C397 97 398.6 96 400 96s3 1 3.6 2.2L416 128l29.8 12.4c1.2 .6 2.2 2.2 2.2 3.6c0 1.4-1 3-2.2 3.6zM160 272a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faSignalBars = {\n prefix: 'far',\n iconName: 'signal-bars',\n icon: [576, 512, [\"signal-alt\", \"signal-alt-4\", \"signal-bars-strong\"], \"f690\", \"M528 448V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 8.8 7.2 16 16 16s16-7.2 16-16zM448 64c0-35.3 28.7-64 64-64s64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V64zM376 448V192c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 8.8 7.2 16 16 16s16-7.2 16-16zM296 192c0-35.3 28.7-64 64-64s64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V192zM208 464c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm0-208c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V320c0-35.3 28.7-64 64-64zM64 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64-16A64 64 0 1 1 0 448a64 64 0 1 1 128 0z\"]\n};\nvar faSignalAlt = faSignalBars;\nvar faSignalAlt4 = faSignalBars;\nvar faSignalBarsStrong = faSignalBars;\nvar faDiamondExclamation = {\n prefix: 'far',\n iconName: 'diamond-exclamation',\n icon: [512, 512, [], \"e405\", \"M51.3 256L256 51.3 460.7 256 256 460.7 51.3 256zm233-244.3c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.6 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z\"]\n};\nvar faDialMin = {\n prefix: 'far',\n iconName: 'dial-min',\n icon: [576, 512, [], \"e161\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM271 271l-77.4 77.4c-27.8-43.4-22.8-101.7 15.1-139.6c43.7-43.7 114.7-43.7 158.4 0s43.7 114.7 0 158.4c-37.9 37.9-96.2 43-139.6 15.1L305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM174.9 401.1A160 160 0 1 0 401.1 174.9 160 160 0 1 0 174.9 401.1zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRepeat = {\n prefix: 'far',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M22.8 280C9.6 279.3-.6 268 0 254.8l.4-8C5.3 148.9 86.2 72 184.2 72H304l0-36.4C304 15.9 319.9 0 339.6 0c8.8 0 17.3 3.3 23.8 9.1l76.7 69c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-76.7 69c-6.5 5.9-15 9.1-23.8 9.1c-19.6 0-35.6-15.9-35.6-35.6V120H184.2C111.7 120 52 176.8 48.4 249.2l-.4 8C47.3 270.4 36 280.6 22.8 280zM352 128.5L388.1 96 352 63.5l0 65zM489.2 232c13.2 .7 23.4 11.9 22.8 25.2l-.4 8C506.7 363.1 425.8 440 327.8 440L208 440v36.4c0 19.6-15.9 35.6-35.6 35.6c-8.8 0-17.3-3.3-23.8-9.1l-76.7-69c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l76.7-69c6.5-5.9 15-9.1 23.8-9.1c19.6 0 35.6 15.9 35.6 35.6V392l119.8 0c72.5 0 132.2-56.8 135.8-129.2l.4-8c.7-13.2 11.9-23.4 25.2-22.8zM160 383.5L123.9 416 160 448.5v-65z\"]\n};\nvar faCross = {\n prefix: 'far',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M112 48c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H272V464c0 26.5-21.5 48-48 48H160c-26.5 0-48-21.5-48-48V272H48c-26.5 0-48-21.5-48-48V160c0-26.5 21.5-48 48-48h64V48zm112 0H160v88c0 13.3-10.7 24-24 24H48v64h88c13.3 0 24 10.7 24 24V464h64V248c0-13.3 10.7-24 24-24h88V160H248c-13.3 0-24-10.7-24-24V48z\"]\n};\nvar faPageCaretDown = {\n prefix: 'far',\n iconName: 'page-caret-down',\n icon: [384, 512, [\"file-caret-down\"], \"e429\", \"M48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L256.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16V448zm272 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64zM192 352c-4.5 0-8.8-1.9-11.8-5.2l-75.7-82.6c-14.1-15.4-3.2-40.2 17.7-40.2l139.6 0c20.9 0 31.8 24.8 17.7 40.2l-75.7 82.6c-3 3.3-7.3 5.2-11.8 5.2z\"]\n};\nvar faFileCaretDown = faPageCaretDown;\nvar faBox = {\n prefix: 'far',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M342.4 80H248v80H388.4L357 89.5c-2.6-5.8-8.3-9.5-14.6-9.5zM400 208H48V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V208zM59.6 160H200V80H105.6c-6.3 0-12.1 3.7-14.6 9.5L59.6 160zM342.4 32c25.3 0 48.2 14.9 58.5 38l41.6 93.6c3.6 8.2 5.5 17 5.5 26V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V189.6c0-9 1.9-17.8 5.5-26L47.1 70c10.3-23.1 33.2-38 58.5-38H342.4z\"]\n};\nvar faVenusMars = {\n prefix: 'far',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 304a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM352 176c0 89.1-66.2 162.7-152 174.4V400h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H200v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V350.4C66.2 338.7 0 265.1 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c14.6-7.6 28.1-16.8 40.4-27.5C335.2 354.8 366 368 400 368c70.7 0 128-57.3 128-128s-57.3-128-128-128c-8.6 0-17.1 .9-25.2 2.5c-4.9-15.8-11.6-30.7-19.9-44.7C369.3 66 384.4 64 400 64c39.9 0 76.8 13.3 106.3 35.7L558.1 48H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H616c13.3 0 24 10.7 24 24V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-51.7 51.7C562.7 163.2 576 200.1 576 240c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nvar faClockSevenThirty = {\n prefix: 'far',\n iconName: 'clock-seven-thirty',\n icon: [512, 512, [], \"e351\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V335.3l-20 30c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l64-96c5.9-8.8 16.8-12.7 26.9-9.7s17 12.4 17 23V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faArrowPointer = {\n prefix: 'far',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M144 272h85.8L48 110.4V356.8l59.9-68.4C117 278 130.2 272 144 272zM0 426V55.2C0 42.4 10.4 32 23.2 32c5.7 0 11.2 2.1 15.4 5.9l274 243.6c4.7 4.2 7.4 10.2 7.4 16.5c0 12.2-9.9 22.1-22.1 22.1H170.5l59.1 126.8c5.6 12 .4 26.3-11.6 31.9s-26.3 .4-31.9-11.6L126.7 339.7 38.6 440.5C34.4 445.3 28.4 448 22 448c-12.2 0-22-9.9-22-22z\"]\n};\nvar faMousePointer = faArrowPointer;\nvar faClockFourThirty = {\n prefix: 'far',\n iconName: 'clock-four-thirty',\n icon: [512, 512, [], \"e34b\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V300.8L338.7 340c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-96-64c-7.4-4.9-16.8-5.4-24.6-1.2S232 247.1 232 256V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faSignalBarsGood = {\n prefix: 'far',\n iconName: 'signal-bars-good',\n icon: [640, 512, [\"signal-alt-3\"], \"f693\", \"M376 192V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm-16-64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64s64-28.7 64-64V192c0-35.3-28.7-64-64-64zM208 464c-8.8 0-16-7.2-16-16V320c0-8.8 7.2-16 16-16s16 7.2 16 16V448c0 8.8-7.2 16-16 16zm0-208c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64s64-28.7 64-64V320c0-35.3-28.7-64-64-64zM64 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM0 448a64 64 0 1 0 128 0A64 64 0 1 0 0 448z\"]\n};\nvar faSignalAlt3 = faSignalBarsGood;\nvar faCactus = {\n prefix: 'far',\n iconName: 'cactus',\n icon: [512, 512, [127797], \"f8a7\", \"M304 448c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V96c0-26.5 21.5-48 48-48s48 21.5 48 48V448zM256 0c-53 0-96 43-96 96V224H112c-8.8 0-16-7.2-16-16V144c0-26.5-21.5-48-48-48S0 117.5 0 144v64c0 61.9 50.1 112 112 112h48V448c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64h48c61.9 0 112-50.1 112-112V272c0-26.5-21.5-48-48-48s-48 21.5-48 48v64c0 8.8-7.2 16-16 16H352V96c0-53-43-96-96-96zm0 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLightbulbGear = {\n prefix: 'far',\n iconName: 'lightbulb-gear',\n icon: [576, 512, [], \"e5fd\", \"M314.4 213.6c3.6-11.9 5.6-24.5 5.6-37.6c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H109c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0c97 0 175.6 78.4 176 175.3c-17.8 7.7-28 25.6-28 43.3v.9c-7.7-4.3-16.7-6.4-25.6-5.9zM245.6 416c3.5 9.2 7.7 18.3 12.8 27c2.9 5 6 9.9 9.4 14.6C257.1 489.2 227.2 512 192 512c-44.2 0-80-35.8-80-80V416H245.6zM144 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-26.5 0-48 21.5-48 48zm228 42.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v17.7c0 7.8 4.8 14.8 11.6 18.7c6.8 3.9 15.1 4.5 21.8 .6l13.8-7.9c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-14.4 8.3c-6.5 3.7-10 10.9-10 18.4s3.5 14.7 10 18.4l14.4 8.3c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-13.8-7.9c-6.7-3.9-15.1-3.3-21.8 .6c-6.8 3.9-11.6 10.9-11.6 18.7l0 17.7c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V467.8c0-7.9-4.9-14.9-11.7-18.9c-6.8-3.9-15.2-4.5-22-.6l-13.5 7.8c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l14-8.1c6.5-3.8 10.1-11.1 10.1-18.6s-3.5-14.8-10.1-18.6l-14-8.1c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l13.6 7.8c6.8 3.9 15.2 3.3 22-.6c6.9-3.9 11.7-11 11.7-18.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faMaximize = {\n prefix: 'far',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z\"]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'far',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M96 48c-8.8 0-16 7.2-16 16V464H272V64c0-8.8-7.2-16-16-16H96zM32 464V64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V256h8c48.6 0 88 39.4 88 88v28c0 15.5 12.5 28 28 28s28-12.5 28-28V268.3c-32.5-10.2-56-40.5-56-76.3V152c0-13.3 10.7-24 24-24h8V80c0-8.8 7.2-16 16-16s16 7.2 16 16v48h32V80c0-8.8 7.2-16 16-16s16 7.2 16 16v48h8c13.3 0 24 10.7 24 24v40c0 35.8-23.5 66.1-56 76.3V372c0 42-34 76-76 76s-76-34-76-76V344c0-22.1-17.9-40-40-40h-8V464l8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H272 80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0zM464 192c0 17.7 14.3 32 32 32s32-14.3 32-32V176H464v16zM222.9 117.9L199.6 176H240c6.7 0 12.8 4.2 15 10.6s.4 13.4-4.8 17.7l-96 80c-5.6 4.7-13.7 5-19.6 .7s-8.2-12.1-5.5-18.9L152.4 208H112c-6.7 0-12.8-4.2-15-10.6s-.4-13.4 4.8-17.7l96-80c5.6-4.7 13.7-5 19.6-.7s8.2 12.1 5.5 18.9z\"]\n};\nvar faShapes = {\n prefix: 'far',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M164.6 175.5l96-160C266.3 5.9 276.8 0 288 0s21.7 5.9 27.4 15.5l96 160c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H192c-11.5 0-22.2-6.2-27.8-16.2s-5.5-22.3 .4-32.2zM288 63.1L220.3 176H355.7L288 63.1zM464 320H336V448H464V320zM328 272H472c22.1 0 40 17.9 40 40V456c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V312c0-22.1 17.9-40 40-40zM208 384A80 80 0 1 0 48 384a80 80 0 1 0 160 0zM0 384a128 128 0 1 1 256 0A128 128 0 1 1 0 384z\"]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faPlaneTail = {\n prefix: 'far',\n iconName: 'plane-tail',\n icon: [512, 512, [], \"e22c\", \"M.8 39L61.5 308.8l-15.5 4.3C18.8 320.5 0 345.2 0 373.4c0 26 16.1 49.3 40.4 58.5l196.1 74.4c10 3.8 20.5 5.7 31.2 5.7H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H267.7c-4.8 0-9.7-.9-14.2-2.6L57.4 387c-5.7-2.1-9.4-7.6-9.4-13.6c0-6.6 4.4-12.3 10.7-14.1L254 305.4c3.5-1 7-1.4 10.6-1.4H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H384L154.9 19.5C142.8 7 126.2 0 108.9 0H32C11.5 0-3.7 19 .8 39zM216 352c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faGaugeSimpleMax = {\n prefix: 'far',\n iconName: 'gauge-simple-max',\n icon: [512, 512, [\"tachometer-fastest\"], \"f62b\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM200 352c0-30.9 25.1-56 56-56c10.3 0 19.9 2.8 28.2 7.6l110.2-75.4c10.9-7.5 25.9-4.7 33.4 6.3s4.7 25.9-6.3 33.4L311.3 343.2c.4 2.9 .7 5.8 .7 8.8c0 30.9-25.1 56-56 56s-56-25.1-56-56z\"]\n};\nvar faTachometerFastest = faGaugeSimpleMax;\nvar faCircleU = {\n prefix: 'far',\n iconName: 'circle-u',\n icon: [512, 512, [], \"e127\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 168c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 61.9 50.1 112 112 112s112-50.1 112-112V168c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 35.3-28.7 64-64 64s-64-28.7-64-64V168z\"]\n};\nvar faShieldSlash = {\n prefix: 'far',\n iconName: 'shield-slash',\n icon: [640, 512, [], \"e24b\", \"M174.2 111.2L320 49.4 503 127c5.9 2.5 9.1 7.8 9 12.8c-.3 52.8-13 127.8-52.2 195.3L174.2 111.2zM497.9 365c47.4-78.8 61.8-166.3 62.1-225c.1-26.2-16.3-47.9-38.3-57.2L333.4 2.9C329.2 1 324.7 0 320 0s-9.2 1-13.4 2.9L131 77.4 38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L497.9 365zM80.6 159.5c5.5 102 51.5 266.3 213.1 343.7c16.7 8 36.1 8 52.8 0c35.7-17.1 65.8-38.5 91.1-62.5l-38.2-30.1c-20.8 18.9-45.1 35.7-73.5 49.3c-3.6 1.7-7.8 1.7-11.3 0C195.8 403.1 147.9 290.6 133.3 201L80.6 159.5z\"]\n};\nvar faSquarePhoneHangup = {\n prefix: 'far',\n iconName: 'square-phone-hangup',\n icon: [448, 512, [\"phone-square-down\"], \"e27a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM345.9 303.3c-4.8 7.6-15.1 10.7-24 7.4l-41.6-15.4c-7.9-2.9-12.7-10.1-11.8-17.7l2.6-23.3c-30.4-9.5-63.7-9.5-94.1 0l2.6 23.3c.8 7.6-4 14.8-11.8 17.7l-41.6 15.4c-8.9 3.3-19.2 .1-24-7.4L82.5 272.4c-4.3-6.8-3-15.3 3.1-20.8c76.4-68.8 200.3-68.8 276.7 0c6.1 5.5 7.4 14.1 3.1 20.8l-19.6 30.8z\"]\n};\nvar faPhoneSquareDown = faSquarePhoneHangup;\nvar faArrowUpLeft = {\n prefix: 'far',\n iconName: 'arrow-up-left',\n icon: [384, 512, [], \"e09d\", \"M56 96c-13.3 0-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V177.9L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-231-231H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56z\"]\n};\nvar faTransporter1 = {\n prefix: 'far',\n iconName: 'transporter-1',\n icon: [512, 512, [], \"e043\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 288h48V176h32V288h48V208.8l52.9 69.7c8 10.6 23.1 12.6 33.6 4.6s12.6-23.1 4.6-33.6l-65.7-86.7c-16.6-21.9-42.6-34.8-70.1-34.8H236.7c-27.5 0-53.5 12.9-70.1 34.8l-65.7 86.7c-8 10.6-5.9 25.6 4.6 33.6s25.6 5.9 33.6-4.6L192 208.8V288zM480 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 160l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 160zM64 352l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 352 6.6 359.3C2.7 360.4 0 363.9 0 368s2.7 7.6 6.6 8.7L32 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 352zm56 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm56-144c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faPeanuts = {\n prefix: 'far',\n iconName: 'peanuts',\n icon: [640, 512, [129372], \"e431\", \"M123 504.9c-16.8-19.6-27-45-27-72.9c0-5.2-.1-10.6-.1-16.1v0 0l0 0c-.6-55.4-1.3-125.1 52.8-179.2c26.5-26.5 59-43.2 94.7-49.8c22.9-4.6 39.5-10.9 50-21.5s16.9-27.1 21.5-50c1.6-8.9 3.9-17.5 6.7-26L299.2 38.9C284.4 5.8 245.7-9 212.6 5.7L161.7 28.3c-15 6.7-28 16.1-38.7 27.3c-10.6 11.2-19.3 24.6-25.2 39.9l-.2 .5c-5.8 15.3-8.3 31-7.9 46.4c.2 8.5 1.3 17 3.4 25.4c4.5 19.9 6.9 41-.4 60s-23.1 33.1-39.8 44.9c-7.2 4.9-13.7 10.5-19.5 16.6C22.7 300.5 14 314 8.1 329.4C2.2 344.7-.4 360.6 0 376c.4 15.5 3.8 31.1 10.5 46.2l22.7 50.9c14.7 33.1 53.5 48 86.6 33.2l3.2-1.4zM563 218.4l-.6 .6 0 0c-9.6 9.5-20.5 16.6-32.2 21.4l0 0c-6.4 2.7-13.2 4.7-20.2 5.9l-.4 .1-.4 .1c-26.6 5.3-63.2 15.3-91.3 43.4s-38.2 64.7-43.4 91.3l-.1 .4-.1 .4c-1.3 7-3.3 13.8-5.9 20.2l0 0c-4.8 11.5-11.8 22.3-21.1 31.9l0 0c-.2 .2-.5 .5-.7 .7c-.1 .1-.3 .3-.4 .4l32.7 33.2-32.7-33.2C328.1 453.1 303.4 464 276 464H208c-17.7 0-32-14.3-32-32V364c0-13.6 2.7-26.5 7.6-38.3l0 0c4.9-11.7 12.1-22.8 21.7-32.4c9.7-9.7 20.7-16.9 32.5-21.7l0 0c6.4-2.7 13.2-4.7 20.2-5.9l.4-.1 .4-.1c26.6-5.3 63.2-15.3 91.3-43.4s38.2-64.7 43.4-91.3l.1-.4 .1-.4c1.3-7 3.3-13.8 5.9-20.2l0 0c4.8-11.7 12-22.6 21.5-32.2l0 0 .3-.3c9.6-9.6 20.6-16.8 32.3-21.6l0 0C465.5 50.7 478.4 48 492 48h68c17.7 0 32 14.3 32 32v68c0 27.5-11 52.3-29 70.4l0 0zm34.1 33.8C623.6 225.4 640 188.6 640 148V80c0-44.2-35.8-80-80-80H492c-20.1 0-39.2 4-56.7 11.2c-17.4 7.2-33.7 17.8-47.8 32l-.4 .4C373 57.8 362.4 74 355.2 91.4c-4 9.5-6.9 19.6-8.8 30c-4.8 24.5-12.6 49.1-30.3 66.7s-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C132 324.8 128 343.9 128 364v68c0 44.2 35.8 80 80 80h68c40.5 0 77.1-16.2 103.8-42.5c.6-.6 1.1-1.1 1.7-1.7c13.8-14 24.2-30.1 31.3-47.2c4-9.5 6.9-19.6 8.8-30c4.8-24.5 12.6-49.1 30.3-66.7s42.2-25.4 66.7-30.3c10.4-1.9 20.5-4.9 30-8.8c17.3-7.2 33.5-17.7 47.6-31.7l.9-.9zm-77.1-97a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-64 64a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-192 192a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM347.2 392a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zM520 219.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM347.2 328a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0z\"]\n};\nvar faShuffle = {\n prefix: 'far',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M425 31l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H352c-12.6 0-24.4 5.9-32 16l-46 61.3-30-40 37.6-50.1C298.2 117 324.3 104 352 104h78.1L391 65c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM204 322.7l-37.6 50.1C149.8 395 123.7 408 96 408H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96c12.6 0 24.4-5.9 32-16l46-61.3 30 40zM391 287c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H352c-27.7 0-53.8-13-70.4-35.2L128 168c-7.6-10.1-19.4-16-32-16H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96c27.7 0 53.8 13 70.4 35.2L320 344c7.6 10.1 19.4 16 32 16h78.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'far',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M224 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm-85.3 60.6c14-3.5 28.7-3.5 42.7 0l95 23.7c19 4.8 34.2 19.1 39.9 37.9L336 234.4c1 3.4 4.1 5.6 7.6 5.6H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H343.6c-24.6 0-46.3-16-53.5-39.5l-5.6-18.2-28.1 84.4 32.1 18c16.5 9.3 24.2 28.8 18.6 46.8L270.9 495.2c-4 12.7-17.4 19.7-30.1 15.8s-19.7-17.4-15.7-30.1l34.2-109.5-88-49.5c-23.4-13.2-34.2-41.1-25.7-66.5l32.7-98-8.6-2.1c-6.4-1.6-13-1.6-19.4 0l-1.8 .5c-6 1.5-11.6 4.4-16.3 8.4L87.6 202.2c-10.1 8.6-25.2 7.5-33.8-2.6s-7.5-25.2 2.6-33.8l44.5-38.2c10.4-8.9 22.7-15.2 35.9-18.6l1.8-.5zm75.1 182.1l38.3-115L225 169 191.1 270.5c-1.2 3.6 .3 7.6 3.7 9.5l19 10.7zM103.4 368l19.1-50.9c7.7 13.3 18.9 24.7 33 32.6l4.9 2.8-14.1 37.6c-5.9 15.6-20.8 25.9-37.4 25.9H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h79.4z\"]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'far',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M256 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H256zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 160v64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32zM96 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'far',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M32 32C18.7 32 8 42.7 8 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm128 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faBinBottlesRecycle = {\n prefix: 'far',\n iconName: 'bin-bottles-recycle',\n icon: [640, 512, [], \"e5f6\", \"M152 0h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24c0-13.3 10.7-24 24-24zM32 192c0-53 43-96 96-96H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192h32c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5H608h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8L584.3 441.3c-4.7 40.3-38.9 70.7-79.5 70.7H135.1c-40.6 0-74.7-30.4-79.5-70.7L32 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8zm48.3 48l23 195.7c1.9 16.1 15.6 28.3 31.8 28.3H504.9c16.2 0 29.9-12.1 31.8-28.3l23-195.7H80.3zm228.1 70.1l-7.6 11.4c-4.8 7.2-14.5 9.3-21.8 4.7c-7.6-4.8-9.8-14.9-4.8-22.4l7.6-11.4c8.5-12.7 22.8-20.4 38.1-20.4c15.4 0 29.8 7.7 38.2 20.6l8.5 12.9c4.9 7.5 2.7 17.6-4.9 22.4c-7.4 4.6-17.1 2.5-21.8-4.8l-8.5-12.9c-2.6-3.9-6.9-6.2-11.5-6.2c-4.6 0-8.9 2.3-11.5 6.1zm-43.1 64.7l-7.9 11.9c-.9 1.4-1.4 3.1-1.4 4.7c0 4.7 3.8 8.6 8.6 8.6h25.2c8.8 0 16 7.2 16 16s-7.2 16-16 16H264.6c-22.4 0-40.6-18.2-40.6-40.6c0-8 2.4-15.8 6.8-22.5l7.9-11.9c4.8-7.2 14.5-9.3 21.8-4.7c7.6 4.8 9.8 14.9 4.8 22.4zM353.7 400h20.9c4.8 0 8.6-3.9 8.6-8.6c0-1.7-.5-3.3-1.4-4.7l-6.6-10.1c-4.9-7.5-2.7-17.6 4.9-22.4c7.4-4.6 17.1-2.5 21.8 4.8l6.6 10.1c4.4 6.6 6.7 14.4 6.7 22.4c0 22.4-18.2 40.6-40.6 40.6H353.7c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faArrowUpFromSquare = {\n prefix: 'far',\n iconName: 'arrow-up-from-square',\n icon: [512, 512, [], \"e09c\", \"M273 7c-9.4-9.4-24.6-9.4-33.9 0L127 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l71-71V328c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l71 71c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L273 7zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72V104c0-39.8-32.2-72-72-72h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8c13.3 0 24 10.7 24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faFileDashedLine = {\n prefix: 'far',\n iconName: 'file-dashed-line',\n icon: [640, 512, [\"page-break\"], \"f877\", \"M448 464H192c-8.8 0-16-7.2-16-16V368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V368H464v80c0 8.8-7.2 16-16 16zm16-304v96h48V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V256h48V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80zM56 288c-13.3 0-24 10.7-24 24s10.7 24 24 24H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H280zm192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H472z\"]\n};\nvar faPageBreak = faFileDashedLine;\nvar faBracketCurlyRight = {\n prefix: 'far',\n iconName: 'bracket-curly-right',\n icon: [256, 512, [], \"7d\", \"M192 120c0-48.6-39.4-88-88-88H56C42.7 32 32 42.7 32 56s10.7 24 24 24h48c22.1 0 40 17.9 40 40v45.5c0 23.3 9.3 45.7 25.8 62.2L198.1 256l-28.3 28.3c-16.5 16.5-25.8 38.9-25.8 62.2V392c0 22.1-17.9 40-40 40H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c48.6 0 88-39.4 88-88V346.5c0-10.6 4.2-20.8 11.7-28.3L249 273c9.4-9.4 9.4-24.6 0-33.9l-45.3-45.3c-7.5-7.5-11.7-17.7-11.7-28.3V120z\"]\n};\nvar faSpider = {\n prefix: 'far',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l68.8-22.9c-.8 3.2-1.5 6.4-2 9.7L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5l12.1-12.1C153.2 425.8 200.1 464 256 464s102.8-38.2 116.2-89.9l12.1 12.1c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-43.8-43.8c-.5-3.3-1.2-6.5-2-9.7l68.8 22.9c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L352 158.1c-.6-32.8-17.8-61.6-43.3-78.4c-5.8-3.8-13.1-4.9-19.8-3s-12.3 6.7-15.2 13L256 128.1 238.3 89.7c-2.9-6.3-8.5-11.1-15.2-13s-13.9-.8-19.8 3c-25.6 16.8-42.7 45.5-43.3 78.4l-32.3-32.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6zM208 160c0-5.5 .9-10.8 2.6-15.7l15.6 33.8c3.9 8.5 12.4 13.9 21.8 13.9h16c9.4 0 17.9-5.4 21.8-13.9l15.6-33.8c1.7 4.9 2.6 10.2 2.6 15.7v88c0 3.4-.4 6.7-1 9.9c-1.6 7.6 .6 15.5 5.9 21.2C320.8 292 328 309.1 328 328v16c0 39.8-32.2 72-72 72s-72-32.2-72-72V328c0-18.9 7.2-36 19.1-48.9c5.3-5.7 7.5-13.6 5.9-21.2c-.7-3.2-1-6.5-1-9.9V160z\"]\n};\nvar faClockThree = {\n prefix: 'far',\n iconName: 'clock-three',\n icon: [512, 512, [], \"e356\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faHandsBound = {\n prefix: 'far',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M16 72V206.6c0 22.2 7.4 43.7 21.1 61.2l69.2 88.6C100 360.7 96 367.9 96 376c0 13.3 10.7 24 24 24H520c13.3 0 24-10.7 24-24c0-8.1-4-15.3-10.2-19.7l69.2-88.6c13.7-17.5 21.1-39 21.1-61.2V72c0-39.8-32.2-72-72-72s-72 32.2-72 72v66.3c-.5-.5-1-.9-1.6-1.4c-29.8-25.2-74.3-22-100.2 7.2l-46.7 52.5c-4.2 4.7-8 9.7-11.5 14.8c-3.5-5.2-7.3-10.1-11.5-14.8l-46.7-52.5c-25.9-29.2-70.4-32.4-100.2-7.2c-.5 .5-1.1 .9-1.6 1.4V72c0-39.8-32.2-72-72-72S16 32.2 16 72zM163.8 352L74.9 238.2C67.8 229.2 64 218 64 206.6V72c0-13.3 10.7-24 24-24s24 10.7 24 24V179.4l71.5 95.3c.1 .2 .3 .4 .4 .6c7.5 9.4 20.9 11.6 31 5c11.4-7.4 14.1-22.9 6-33.7c-.1-.2-.3-.4-.4-.6L189.3 207c-2.7-3.3-4.3-7.2-5-11.2c-1.3-8.1 1.6-16.6 8.2-22.2c9.9-8.4 24.8-7.3 33.4 2.4l46.7 52.5c15.1 16.9 23.4 38.8 23.4 61.5V352H163.8zM344 352V290.1c0-22.7 8.3-44.6 23.4-61.5l46.7-52.5c8.6-9.7 23.5-10.8 33.4-2.4c6.7 5.6 9.5 14.1 8.2 22.2c-.6 4-2.3 7.8-5 11.2l-31.3 39.1c-.2 .2-.3 .4-.4 .6c-8.1 10.8-5.4 26.3 6 33.7c10.1 6.6 23.5 4.3 31-5c.2-.2 .3-.4 .4-.6L528 179.4V72c0-13.3 10.7-24 24-24s24 10.7 24 24V206.6c0 11.5-3.8 22.6-10.9 31.7L476.2 352H344zM120 424c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472H296v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472H464v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faScalpelLineDashed = {\n prefix: 'far',\n iconName: 'scalpel-line-dashed',\n icon: [576, 512, [\"scalpel-path\"], \"f61e\", \"M441.4 48c-6.7 0-13 2.9-17.3 8L268.9 240h63.8L457.7 91.7l36.7 31L369.3 271c-9.1 10.8-22.5 17-36.7 17H228.4h-.7H219 200c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L200 247.2l5.6-6.7 .4-.5L387.4 25.1C400.8 9.2 420.6 0 441.4 0c39 0 70.6 31.6 70.6 70.6v4c0 17.6-6.2 34.6-17.6 48.1l-36.7-31c4-4.8 6.3-10.9 6.3-17.1v-4C464 58.1 453.9 48 441.4 48zm-272 272H176h96 16v16c0 74.9-65.5 118.6-126.1 142.9C100.1 503.6 34.1 512 16 512c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l160-160 4.7-4.7zM248 464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24zm128 0h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zm176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h48z\"]\n};\nvar faScalpelPath = faScalpelLineDashed;\nvar faFileInvoiceDollar = {\n prefix: 'far',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M336 448V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 215.6c11 0 20 9 20 20v10.1c7.2 1.1 14.2 2.5 20.6 4.1c10.7 2.5 17.4 13.3 14.9 24.1s-13.3 17.4-24.1 14.9c-11-2.6-21.8-4.5-31.7-4.7c-8.2-.1-16.7 1.6-22.4 4.6c-5.2 2.8-5.3 4.7-5.3 5.9c0 .4 0 .4 0 .4c0 0 0 0 0 0c.3 .4 1.4 1.6 4.4 3.2c6.5 3.5 15.8 6 28.6 9.5l.7 .2c11.2 3 25.4 6.8 36.8 13.2c12.4 7 25.2 19.2 25.4 39.3c.3 20.7-11.7 34.8-25.7 42.5c-6.9 3.8-14.6 6.3-22.3 7.8v10.1c0 11-9 20-20 20s-20-9-20-20V409.7c-10-1.9-19.3-4.8-27.5-7.3l0 0c-2.1-.7-4.2-1.3-6.1-1.9c-10.6-3.1-16.6-14.3-13.5-24.9s14.3-16.6 24.9-13.5c2.5 .7 4.9 1.5 7.2 2.2l0 0 0 0c13.6 4.1 24.2 7.3 35.7 7.7c8.9 .3 17.2-1.5 22.4-4.4c4.4-2.5 5.1-4.5 5-6.9l0-.1c0-.5 .2-2-5-4.8c-6.4-3.6-15.7-6.3-28.3-9.7l-1.7-.5c-10.9-2.9-24.5-6.6-35.4-12.4c-12.2-6.5-25.4-18.4-25.6-38.6c-.1-21 13.2-34.4 26.7-41.5c6.7-3.5 14-5.9 21.3-7.3V235.6c0-11 9-20 20-20zM96 96h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPipeSmoking = {\n prefix: 'far',\n iconName: 'pipe-smoking',\n icon: [640, 512, [], \"e3c4\", \"M586.8 48c-36.4 0-70.1 19-89 50.2L412.1 239.8c13 16 14.6 39.3 2.4 57.2L318.7 438.3c-31.3 46.1-83.3 73.7-139 73.7H168C75.2 512 0 436.8 0 344V232c0-30.9 25.1-56 56-56H216c30.9 0 56 25.1 56 56v9.4l23-29.9c12.3-16 32.9-22.2 51.4-16.9l111.2-138C486.4 20.8 529.9 0 575.9 0h10.9H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H586.8zM56 224c-4.4 0-8 3.6-8 8V344c0 66.3 53.7 120 120 120h11.7c39.8 0 77-19.7 99.3-52.6l95.9-141.3L333 240.8l-66 85.8c-6.3 8.1-17 11.4-26.8 8.1s-16.3-12.4-16.3-22.7V232c0-4.4-3.6-8-8-8H56z\"]\n};\nvar faFaceAstonished = {\n prefix: 'far',\n iconName: 'face-astonished',\n icon: [512, 512, [], \"e36b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 48c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V352c0-26.5 21.5-48 48-48zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 144c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faWindow = {\n prefix: 'far',\n iconName: 'window',\n icon: [512, 512, [], \"f40e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64 48 16V416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V224 208 160 96zM464 224H48l0 192c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-192zM96 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'far',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l84.8 54.3c-16 7.5-30.6 17.4-43.5 29.2l-78.3-50.1c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6l17.3 5.2c10.6 17.7 24.3 33.3 40.3 46.2c-6.4 5-14.5 7.9-23.2 7.9c-2.3 0-4.6-.3-6.9-1l6.9-23-6.9 23 0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0-6.9-23 6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm104 262.1l20.1 6.4C327 311.3 320 338.6 320 367.5c0 17.4 2.5 34.1 7.2 49.9l-29.6-22.2c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faEar = {\n prefix: 'far',\n iconName: 'ear',\n icon: [384, 512, [128066], \"f5f0\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192V368c0 53 43 96 96 96s96-43 96-96c0-21.7 10.9-42.6 29.8-54.8C309.7 287.5 336 242.8 336 192zm48 0c0 67.8-35.1 127.4-88.2 161.5c-4.9 3.2-7.8 8.6-7.8 14.5c0 79.5-64.5 144-144 144S0 447.5 0 368V192C0 86 86 0 192 0S384 86 384 192zm-256 0v20.2c0 3 1.7 5.8 4.4 7.2l14 7c18.1 9.1 29.5 27.6 29.5 47.8c0 15.9-7 30.9-19.2 41.1l-37.4 31.2c-10.2 8.5-25.3 7.1-33.8-3.1s-7.1-25.3 3.1-33.8L126 278.4c1.2-1 2-2.6 2-4.2c0-2.1-1.2-4-3-4.9l-14-7c-19-9.5-31-28.9-31-50.1V192c0-61.9 50.1-112 112-112s112 50.1 112 112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-35.3-28.7-64-64-64s-64 28.7-64 64z\"]\n};\nvar faFileLock = {\n prefix: 'far',\n iconName: 'file-lock',\n icon: [576, 512, [], \"e3a6\", \"M320 464H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V309.7c4.6-5.2 10-9.6 16-13.1V272c0-30.5 12.2-58.2 32-78.4V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c2.8 0 5.6-.2 8.3-.5c-5.3-9.3-8.3-20-8.3-31.5V464zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faDiagramVenn = {\n prefix: 'far',\n iconName: 'diagram-venn',\n icon: [640, 512, [], \"e15a\", \"M270 425.9c-47.8-41.1-78-102-78-169.9s30.3-128.8 78-169.9c-14.7-4-30.1-6.1-46-6.1C126.8 80 48 158.8 48 256s78.8 176 176 176c15.9 0 31.4-2.1 46-6.1zM252 320H388c5.9-15.1 9.8-31.2 11.3-48H240.7c1.5 16.8 5.4 32.9 11.3 48zm16.5 32c13.4 20.6 31 38.1 51.5 51.5c20.6-13.4 38.1-31 51.5-51.5H268.5zM252 192c-5.9 15.1-9.8 31.2-11.3 48H399.3c-1.5-16.8-5.4-32.9-11.3-48H252zm119.5-32c-13.4-20.6-31-38.1-51.5-51.5c-20.6 13.4-38.1 31-51.5 51.5H371.5zM320 458.4c-29.1 13.8-61.6 21.6-96 21.6C100.3 480 0 379.7 0 256S100.3 32 224 32c34.4 0 66.9 7.7 96 21.6C349.1 39.7 381.6 32 416 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-34.4 0-66.9-7.7-96-21.6z\"]\n};\nvar faXRay = {\n prefix: 'far',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H456 56 24zM80 432V80H432V432H80zM256 96c-8.8 0-16 7.2-16 16v32H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v32H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96v54.6L189.1 275c-5.2-2-10.6-3-16.2-3h-2.1c-23.6 0-42.8 19.2-42.8 42.8c0 9.6 3.2 18.9 9.1 26.4l18.2 23.2c9.7 12.4 24.6 19.6 40.3 19.6H316.4c15.7 0 30.6-7.2 40.3-19.6l18.2-23.2c5.9-7.5 9.1-16.8 9.1-26.4c0-23.6-19.2-42.8-42.8-42.8H339c-5.5 0-11 1-16.2 3L272 294.6V240h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V176h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16zM208 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faGoalNet = {\n prefix: 'far',\n iconName: 'goal-net',\n icon: [640, 512, [], \"e3ab\", \"M48 120c0-22.1 17.9-40 40-40H552c22.1 0 40 17.9 40 40V456c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-48.6-39.4-88-88-88H88C39.4 32 0 71.4 0 120V456c0 13.3 10.7 24 24 24s24-10.7 24-24V120zm128 8c-8.8 0-16 7.2-16 16v48H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V320h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V224h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H384V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H288V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H192V144c0-8.8-7.2-16-16-16zm80 256H192V320h64v64zm96 0H288V320h64v64zm96 0H384V320h64v64zm0-96H384V224h64v64zm-96 0H288V224h64v64zm-96 0H192V224h64v64z\"]\n};\nvar faCoffinCross = {\n prefix: 'far',\n iconName: 'coffin-cross',\n icon: [384, 512, [], \"e051\", \"M140.1 464H243.9l91.9-318.2L250.2 48H133.8L48.2 145.8 140.1 464zM11.5 114.9l91-104C108.5 4 117.3 0 126.5 0h131c9.2 0 18 4 24.1 10.9l91 104c7.4 8.5 11.5 19.3 11.5 30.6c0 4.4-.6 8.7-1.8 12.9L286.7 488.9c-4 13.7-16.5 23.1-30.7 23.1H128.1c-14.3 0-26.8-9.4-30.7-23.1L1.8 158.3C.6 154.1 0 149.8 0 145.4c0-11.2 4.1-22.1 11.5-30.6zM216 120v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSpellCheck = {\n prefix: 'far',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M134.1 14.6C130.4 5.8 121.6 0 112 0s-18.3 5.8-22.1 14.6l-88 208c-5.2 12.2 .5 26.3 12.8 31.5s26.3-.5 31.5-12.8L56.8 216H167.2l10.7 25.4c5.2 12.2 19.2 17.9 31.5 12.8s17.9-19.2 12.8-31.5l-88-208zM146.9 168H77.1L112 85.6 146.9 168zM256 24V128 232c0 13.3 10.7 24 24 24h92c42 0 76-34 76-76c0-24.6-11.7-46.4-29.8-60.3C426.9 107.3 432 92.2 432 76c0-42-34-76-76-76H280c-13.3 0-24 10.7-24 24zm100 80H304V48h52c15.5 0 28 12.5 28 28s-12.5 28-28 28zm-52 48h52 16c15.5 0 28 12.5 28 28s-12.5 28-28 28H304V152zM568.6 313.3c9.6-9.2 9.9-24.4 .7-33.9s-24.4-9.9-33.9-.7l-183 175.7L265 367c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L335 505c9.2 9.2 24.2 9.4 33.6 .3l200-192z\"]\n};\nvar faLocationXmark = {\n prefix: 'far',\n iconName: 'location-xmark',\n icon: [384, 512, [\"map-marker-times\", \"map-marker-xmark\"], \"f60e\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM111 111c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faMapMarkerTimes = faLocationXmark;\nvar faMapMarkerXmark = faLocationXmark;\nvar faCircleQuarterStroke = {\n prefix: 'far',\n iconName: 'circle-quarter-stroke',\n icon: [512, 512, [], \"e5d3\", \"M464 256c0-114.9-93.1-208-208-208c-1.4 0-2.9 0-4.3 0c2.7 4.6 4.3 10.1 4.3 16V224c0 17.7-14.3 32-32 32H64c-5.8 0-11.3-1.6-16-4.3c0 1.4 0 2.9 0 4.3c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faLasso = {\n prefix: 'far',\n iconName: 'lasso',\n icon: [576, 512, [], \"f8c8\", \"M576 176c0 97.2-128.9 176-288 176c-14.9 0-29.6-.7-43.9-2c7.7 15.3 11.9 32.4 11.9 50.2C256 461.9 205.9 512 144.2 512H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h88.2c35.2 0 63.8-28.6 63.8-63.8c0-24.9-14.5-47.5-37.1-57.9l-44.3-20.5C50.2 290.1 0 236.6 0 176C0 78.8 128.9 0 288 0S576 78.8 576 176zM288 304c132.5 0 240-57.3 240-128s-107.5-128-240-128S48 105.3 48 176s107.5 128 240 128z\"]\n};\nvar faSlash = {\n prefix: 'far',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]\n};\nvar faPersonToPortal = {\n prefix: 'far',\n iconName: 'person-to-portal',\n icon: [512, 512, [\"portal-enter\"], \"e022\", \"M272 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6L56.4 165.8c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l44.5-38.2c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L225.1 480.8c-4 12.7 3.1 26.1 15.7 30.1s26.1-3.1 30.1-15.8L307 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2c7.2 23.5 28.9 39.5 53.5 39.5H352h16.5H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H368.1c1.2-82.9 11.4-134.5 24.1-164c12.4-28.7 22.4-28.1 23.7-28l.1 0 .1 0c1.3-.1 11.3-.7 23.7 28c13.5 31.4 24.2 87.7 24.2 180s-10.7 148.6-24.2 180c-12.4 28.7-22.4 28.1-23.7 28l-.1 0-.1 0c-1.3 .1-11.3 .7-23.7-28c-10.1-23.4-18.6-60.5-22.2-116H352 321.9c8.8 140.7 47.6 192 94.1 192c53 0 96-66.6 96-256S469 0 416 0c-46.2 0-84.8 50.6-93.9 189.1l-5.8-18.9c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zm70.8 67.2l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L225 169l27.1 6.8zM122.5 317.1L103.4 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h84.9c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6z\"]\n};\nvar faPortalEnter = faPersonToPortal;\nvar faCalendarStar = {\n prefix: 'far',\n iconName: 'calendar-star',\n icon: [512, 512, [], \"f736\", \"M160 0c13.3 0 24 10.7 24 24V64H328V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192 144 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM432 192H80V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V192zM265.3 242.9l23.6 47.8 52.7 7.7c8.5 1.2 11.9 11.7 5.8 17.7l-38.2 37.2 9 52.5c1.5 8.5-7.5 15-15.1 11L256 392l-47.2 24.8c-7.6 4-16.5-2.5-15.1-11l9-52.5-38.2-37.2c-6.2-6-2.8-16.5 5.8-17.7l52.7-7.7 23.6-47.8c3.8-7.7 14.8-7.7 18.7 0z\"]\n};\nvar faComputerMouse = {\n prefix: 'far',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M192 224H48V352c0 61.9 50.1 112 112 112h64c61.9 0 112-50.1 112-112V224H192zm192-48v24 24V352c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V224 200 176 160C0 71.6 71.6 0 160 0h8 24 24 8c88.4 0 160 71.6 160 160v16zM216 48V176H336V160c0-61.9-50.1-112-112-112h-8zm-48 0h-8C98.1 48 48 98.1 48 160v16H168V48z\"]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'far',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faPegasus = {\n prefix: 'far',\n iconName: 'pegasus',\n icon: [576, 512, [], \"f703\", \"M109.6 133.9c-9.9 7.3-18.5 16.1-25.5 26.2C37.3 162.1 0 200.7 0 248v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-13.2 6.4-25 16.3-32.2c-.2 2.8-.3 5.6-.3 8.5c0 14.3 2.7 28.4 8 41.7l21.9 54.6-8.2 21.7c-11.3 30.1-12.7 63.1-4.1 94.1l11.2 40.5c5.8 20.8 24.7 35.2 46.2 35.2h49.8c31.7 0 54.7-30.3 46.2-60.8l-14.8-53.3c-.5-1.6-.4-3.4 .2-5l12.1-32.3c1.4-3.7 2.6-7.4 3.6-11.2L288 364.5V464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V327.8c19.8-22.6 32-52.3 32-85.5l0-1.6 0-.7v-7.8c17.7 6 37.5 5.8 55.8-1.5c34.4-13.8 55-49.3 49.7-86l-9.9-69.2c-1.6-11.3-5.3-21.9-10.7-31.3C555.6 40 560 32.5 560 24c0-13.3-10.7-24-24-24H480V.3c-2.5-.2-5-.3-7.5-.3H472 440h-8c-1.8 0-3.5 .2-5.2 .6C365 5.9 313.7 48.2 295.3 105.3L164.3 27.4c-7.4-4.4-16.6-4.5-24.1-.2S128 39.4 128 48c0 76.3 36.1 130.2 71.3 164.2c17.5 17 35 29.3 48.1 37.3c6.6 4 12.1 7.1 16.1 9.1c2 1 3.6 1.8 4.8 2.4c.6 .3 1 .5 1.4 .6l.4 .2 .1 .1 .1 0 0 0c0 0 0 0 9.6-22l-9.6 22c12.1 5.3 26.3-.2 31.6-12.4s-.2-26.3-12.4-31.6l0 0-.1 0-.7-.3c-.7-.3-1.9-.9-3.4-1.7c-3-1.5-7.5-4-12.9-7.3c-10.9-6.7-25.4-16.9-39.9-30.9c-20.8-20.2-41.2-47.8-50.8-84.1l19.4 11.6 86.4 51.4c2.6 1.6 5.4 2.6 8.3 3v.3h3.6c.3 0 .6 0 .8 0H313c12.1 0 22.3-9 23.8-21c6.1-49.1 46.6-87.7 96.6-90.8c.7 0 1.3-.1 2-.2H440h32 .5c19.9 0 36.8 14.6 39.6 34.3l9.9 69.2c2.1 14.8-6.2 29.1-20 34.7c-13.3 5.3-28.4 1.3-37.3-9.8l-5.9-7.3c-6.4-8-17.1-11-26.7-7.7s-16.1 12.5-16.1 22.6v55c0 .5 0 1 0 1.5c0 .6 0 1.2 0 1.7c0 23.5-9.6 44.1-24.7 58.8c-4.6 4.5-7.3 10.7-7.3 17.2V464H336V346.2c0-11.3-7.9-21.1-19-23.5c-2.1-.4-4.2-1-6.3-1.6l-88-25.7c-7.3-2.1-15.3-.7-21.3 4s-9.6 11.9-9.4 19.5c0 .4 0 .9 0 1.3c0 8-1.4 16-4.3 23.5L175.6 376c-4.2 11.1-4.7 23.2-1.5 34.6L188.9 464H139.1l-11.2-40.5c-5.9-21.2-4.9-43.7 2.8-64.4l8.2-21.7c4.2-11.2 4.1-23.6-.4-34.7l-21.9-54.6c-3-7.6-4.6-15.7-4.6-23.9c0-17.4 7-33.3 18.2-44.8c-8-13.7-15-28.9-20.6-45.5zM464 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faFilesMedical = {\n prefix: 'far',\n iconName: 'files-medical',\n icon: [448, 512, [], \"f7fd\", \"M384 368H160c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320V96c0 17.7 14.3 32 32 32h48V352c0 8.8-7.2 16-16 16zM160 416H384c35.3 0 64-28.7 64-64V122.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0H160C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm197.3 72v37.3H208c-8.8 0-16 7.2-16 16v21.3c0 8.8 7.2 16 16 16h37.3V320c0 8.8 7.2 16 16 16h21.3c8.8 0 16-7.2 16-16V282.7H336c8.8 0 16-7.2 16-16V245.3c0-8.8-7.2-16-16-16H298.7V192c0-8.8-7.2-16-16-16H261.3c-8.8 0-16 7.2-16 16z\"]\n};\nvar faNfcLock = {\n prefix: 'far',\n iconName: 'nfc-lock',\n icon: [576, 512, [], \"e1f8\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H320v48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v65.1c-17.7 2.5-34 9.2-48 18.9V96c0-8.8-7.2-16-16-16zm-16 72v62.3c-10.2 16.9-16 36.6-16 57.7v24.6c-19.1 11.1-32 31.7-32 55.4V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40zM128 352H320v48H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352zM464 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faPersonSkiLift = {\n prefix: 'far',\n iconName: 'person-ski-lift',\n icon: [512, 512, [\"ski-lift\"], \"f7c8\", \"M240 0c8.8 0 16 7.2 16 16V207.9l-32 7.5V16c0-8.8 7.2-16 16-16zM112 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM13.6 178.3c12-5.7 26.3-.7 32 11.3l65 135.8c8.3 17.4 28 26.4 46.6 21.3l36.5-9.9c12.8-3.5 26 4.1 29.5 16.8s-4.1 26-16.8 29.5l-36.5 9.9c-41 11.2-84.2-8.6-102.5-46.9L2.3 210.4c-5.7-12-.7-26.3 11.3-32zM488 288c13.3 0 24 10.7 24 24v1c0 33.5-20.9 63.4-52.3 75L128.3 510.5c-12.4 4.6-26.2-1.8-30.8-14.2s1.8-26.2 14.2-30.8L272 406.2V286.3l-94.2 22.2c-18 4.2-36.6-4.5-44.9-21L90.3 202.3C78.8 179.2 95.5 152 121.4 152c13.2 0 25.2 7.4 31.1 19.2l42 84L280.7 235c20.1-4.7 39.3 10.5 39.3 31.1V388.5L443.1 343c12.6-4.6 20.9-16.6 20.9-30v-1c0-13.3 10.7-24 24-24z\"]\n};\nvar faSkiLift = faPersonSkiLift;\nvar faSquare6 = {\n prefix: 'far',\n iconName: 'square-6',\n icon: [448, 512, [], \"e25b\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-96 48c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C142.2 224.8 128 255.6 128 288z\"]\n};\nvar faShopSlash = {\n prefix: 'far',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224h25.8c21.1 0 38.2-17.1 38.2-38.2c0-6.4-1.6-12.7-4.7-18.3L557.6 25C549.2 9.6 533.1 0 515.5 0h-391C106.9 0 90.8 9.6 82.4 25L76.9 35 38.8 5.1zM115.2 65l9.3-17 391 0 69.8 128H256.8L115.2 65zM318.1 224H528V388.5L318.1 224zM0 185.8C0 206.9 17.1 224 38.2 224H64V472c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V398.5L284.3 320H112V224h50.5l-60.9-48H54.7l14.1-25.8L30.5 120 4.7 167.4C1.6 173.1 0 179.4 0 185.8zM112 464V368H336v96H112z\"]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faWindTurbine = {\n prefix: 'far',\n iconName: 'wind-turbine',\n icon: [512, 512, [], \"f89b\", \"M315.7 414.8c9.1 14.8 32 6.5 29.5-10.7L316.8 212c-.5-3.4 .1-6.9 1.8-9.9L411 31.2c8.3-15.3-10.4-31-24-20.1L234.7 131.7c-2.7 2.1-6 3.4-9.5 3.5L31.1 140.6C13.7 141 9.5 165 25.7 171.4l180.6 71.5c3.2 1.3 5.9 3.5 7.7 6.5L315.7 414.8zM232 339.8V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H256 360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V417.8l-48-78zM256 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSlidersSimple = {\n prefix: 'far',\n iconName: 'sliders-simple',\n icon: [512, 512, [], \"e253\", \"M80 336a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm76.3 8L488 344c13.3 0 24 10.7 24 24s-10.7 24-24 24l-331.7 0c-10.2 32.5-40.5 56-76.3 56c-44.2 0-80-35.8-80-80s35.8-80 80-80c35.8 0 66.1 23.5 76.3 56zM400 144a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-44.3-24c10.2-32.5 40.5-56 76.3-56c44.2 0 80 35.8 80 80s-35.8 80-80 80c-35.8 0-66.1-23.5-76.3-56L24 168c-13.3 0-24-10.7-24-24s10.7-24 24-24l331.7 0z\"]\n};\nvar faGridRound = {\n prefix: 'far',\n iconName: 'grid-round',\n icon: [448, 512, [], \"e5da\", \"M88 96A24 24 0 1 1 40 96a24 24 0 1 1 48 0zM64 32a64 64 0 1 0 0 128A64 64 0 1 0 64 32zM88 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM64 192a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM0 416a64 64 0 1 0 128 0A64 64 0 1 0 0 416zM248 96a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 32a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64 24a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zm88 160a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-24-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM384 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM320 96a64 64 0 1 0 128 0A64 64 0 1 0 320 96zm88 160a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-24-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64 24a64 64 0 1 0 128 0 64 64 0 1 0 -128 0z\"]\n};\nvar faBadgeSheriff = {\n prefix: 'far',\n iconName: 'badge-sheriff',\n icon: [448, 512, [], \"f8a2\", \"M256.1 63.9c5-6.7 7.9-14.9 7.9-23.9c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 9 2.9 17.2 7.9 23.9c-.9 1.2-1.7 2.4-2.5 3.8l-37.3 64-74 .3c-1.2 0-2.3 .1-3.5 .2c-6.9-12-19.9-20-34.7-20c-22.1 0-40 17.9-40 40s17.9 40 40 40c1.2 0 2.4-.1 3.6-.2L80.4 256 43.6 320.2c-1.2-.1-2.4-.2-3.6-.2c-22.1 0-40 17.9-40 40s17.9 40 40 40c14.8 0 27.8-8.1 34.7-20c1.1 .1 2.3 .2 3.5 .2l74 .3 37.3 64c.8 1.3 1.6 2.6 2.5 3.8c-5 6.7-7.9 14.9-7.9 23.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-9-2.9-17.2-7.9-23.9c.9-1.2 1.7-2.4 2.5-3.8l37.3-64 74-.3c1.2 0 2.3-.1 3.5-.2c6.9 12 19.9 20 34.7 20c22.1 0 40-17.9 40-40s-17.9-40-40-40c-1.2 0-2.4 .1-3.6 .2L367.6 256l36.7-64.2c1.2 .1 2.4 .2 3.6 .2c22.1 0 40-17.9 40-40s-17.9-40-40-40c-14.8 0-27.8 8.1-34.7 20c-1.1-.1-2.3-.2-3.5-.2l-74-.3-37.3-64c-.8-1.3-1.6-2.6-2.5-3.8zM272 256a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-80.7-96.3l32.7-56 32.7 56c7.1 12.2 20.2 19.8 34.4 19.9l64.9 .3-32.2 56.3c-7 12.3-7 27.4 0 39.7l32.2 56.3-64.9 .3c-14.2 .1-27.3 7.6-34.4 19.9l-32.7 56-32.7-56c-7.1-12.2-20.2-19.8-34.4-19.9l-64.9-.3 32.2-56.3c7-12.3 7-27.4 0-39.7L92.1 179.8l64.9-.3c14.2-.1 27.3-7.6 34.4-19.9z\"]\n};\nvar faServer = {\n prefix: 'far',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM64 336c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V352c0-8.8-7.2-16-16-16H64zM0 352c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352zm392 32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24-280a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM328 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24-280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faVirusCovidSlash = {\n prefix: 'far',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zm197 154.4C258.3 139.9 287.8 128 320 128c70.7 0 128 57.3 128 128c0 21.2-5.1 41.1-14.2 58.7L235.8 159.5zM145.6 232H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128c0-2.9 .1-5.7 .3-8.5l-43.1-34c-1.5 6-2.7 12.2-3.5 18.5z\"]\n};\nvar faIntersection = {\n prefix: 'far',\n iconName: 'intersection',\n icon: [384, 512, [8898], \"f668\", \"M24 480c13.3 0 24-10.7 24-24V224c0-79.5 64.5-144 144-144s144 64.5 144 144V456c0 13.3 10.7 24 24 24s24-10.7 24-24V224c0-106-86-192-192-192S0 118 0 224V456c0 13.3 10.7 24 24 24z\"]\n};\nvar faShopLock = {\n prefix: 'far',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M0 185.8c0-6.4 1.6-12.7 4.7-18.3L82.4 25C90.8 9.6 106.9 0 124.5 0h391c17.6 0 33.7 9.6 42.1 25l77.7 142.4c3.1 5.6 4.7 11.9 4.7 18.3c0 12.4-5.9 23.3-14.9 30.3c-9.6-16.7-23.4-30.6-39.9-40.4L515.5 48l-391 0L54.7 176H470.3c-18.8 11.3-34 28-43.5 48H384V472c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V224H38.2C17.1 224 0 206.9 0 185.8zM112 224v96H336V224H112zm0 240H336V368H112v96zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faFamily = {\n prefix: 'far',\n iconName: 'family',\n icon: [512, 512, [], \"e300\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM105.6 208H128h22.4 32.3c-4.3-9.8-6.7-20.6-6.7-32c0-3.9 .3-7.8 .8-11.5c-8.3-2.9-17.2-4.5-26.4-4.5H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h32V336c0-11.1 1.6-21.9 4.6-32H88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3C75.1 220.8 89 208 105.6 208zM336 176c0 11.4-2.4 22.2-6.7 32h38.9H384h15.7c7.1 0 13.4 4.7 15.4 11.6L448.4 336H368v16c0 11.2-1.9 22-5.5 32H400V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3c-11.8 0-23 3.2-32.6 8.9c.2 2.3 .3 4.7 .3 7.1zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0zM256 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm32 112v16c0 8.8-7.2 16-16 16H256 240c-8.8 0-16-7.2-16-16V336c0-17.7 14.3-32 32-32s32 14.3 32 32zm48 16V336c0-44.2-35.8-80-80-80s-80 35.8-80 80v16c0 24 13.2 44.9 32.7 55.8c-.5 2.7-.7 5.4-.7 8.2v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-2.8-.2-5.5-.7-8.2C322.8 396.9 336 376 336 352z\"]\n};\nvar faHourglassStart = {\n prefix: 'far',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M0 488c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V445c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 0 0 10.7 0 24S10.7 48 24 48h8V67c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445v19H24c-13.3 0-24 10.7-24 24zM273.5 371.5C293 391 304 417.4 304 445v19H80V445c0-27.6 11-54 30.5-73.5L192 289.9l81.5 81.5z\"]\n};\nvar faHourglass1 = faHourglassStart;\nvar faUserHairBuns = {\n prefix: 'far',\n iconName: 'user-hair-buns',\n icon: [448, 512, [], \"e3d3\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H160c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32h14.4c1 5.2 1.6 10.5 1.6 16zM84 192c7 0 13.7-1.6 19.6-4.6c17.8 49.3 65 84.6 120.4 84.6s102.7-35.3 120.4-84.6c5.9 2.9 12.5 4.6 19.6 4.6c24.3 0 44-19.7 44-44V108c0-24.3-19.7-44-44-44c-9.3 0-17.9 2.9-25 7.8C318.2 29.3 274.5 0 224 0s-94.2 29.3-115 71.8C101.9 66.9 93.3 64 84 64c-24.3 0-44 19.7-44 44v40c0 24.3 19.7 44 44 44zM49.3 464c8.3-54.4 55.3-96 112-96H286.7c56.7 0 103.7 41.6 112 96H49.3zM0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3C72.2 320 0 392.2 0 481.3z\"]\n};\nvar faBlenderPhone = {\n prefix: 'far',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M158.1 64.1c4.7-12.4 .2-26.7-10.6-33.4l-44-27.2c-9.7-6-21.9-4.2-29.8 4.3C-24.6 114-24.6 286 73.7 392.2c7.9 8.5 20.1 10.3 29.8 4.3l44-27.2c10.8-6.7 15.3-21 10.6-33.4l-22-57.8c-4.2-10.9-14.5-17.6-25.3-16.4l-33.3 3.6c-13.6-42.2-13.6-88.4 0-130.7l33.3 3.6c10.9 1.2 21.2-5.5 25.3-16.4l22-57.8zM268.2 336H442.5l28-112H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H478.5l16-64H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H502.5l12-48H244.2l24 288zM566.1 39.8L489.6 345.5C521.8 361 544 393.9 544 432v16c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V432c0-40.5 25.1-75.1 60.6-89.2L196.3 52C194 24 216.1 0 244.2 0H535c20.8 0 36.1 19.6 31 39.8zM208 432v16c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16V432c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48zm144-32a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHourglassClock = {\n prefix: 'far',\n iconName: 'hourglass-clock',\n icon: [576, 512, [], \"e41b\", \"M0 24C0 10.7 10.7 0 24 0H360c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V67c0 40.3-16 79-44.5 107.5L225.9 256l43.8 43.8c-8.8 21-13.7 44-13.7 68.2c0 59.5 29.6 112.1 74.8 144H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V445c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67V48H24C10.7 48 0 37.3 0 24zM99.8 128H284.2C297 110.4 304 89 304 67V48H80V67c0 22.1 7 43.4 19.8 61zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faPersonSeatReclined = {\n prefix: 'far',\n iconName: 'person-seat-reclined',\n icon: [512, 512, [], \"e21f\", \"M176 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm16.9 189.6l16.9 76.2c.8 3.7 4.1 6.3 7.8 6.3h16.4l-19.4-87.3c-1.1-5.1-5.7-8.7-10.9-8.7c-7.1 0-12.4 6.6-10.9 13.6zm68.6-15.2l.4 1.7H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H272.6l10.7 48h35.5c30 0 56.9 18.6 67.4 46.7l28.5 76.1 34.7-9.9c12.7-3.6 26 3.7 29.7 16.5s-3.7 26-16.5 29.7l-56 16c-12 3.4-24.7-2.9-29.1-14.6l-36.3-96.9c-3.5-9.4-12.5-15.6-22.5-15.6H264.5c-.3 0-.7 0-1 0H217.7c-26.2 0-49-18.2-54.7-43.9L146.1 232c-8.2-36.9 19.9-72 57.7-72c27.7 0 51.7 19.3 57.7 46.3zM79.6 147.8l34 192.7c6.1 34.4 36 59.5 70.9 59.5H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H184.5c-58.2 0-108.1-41.8-118.2-99.1l-34-192.7c-2.3-13.1 6.4-25.5 19.5-27.8s25.5 6.4 27.8 19.5z\"]\n};\nvar faPaperPlaneTop = {\n prefix: 'far',\n iconName: 'paper-plane-top',\n icon: [512, 512, [\"paper-plane-alt\", \"send\"], \"e20a\", \"M133.9 232L65.8 95.9 383.4 232H133.9zm0 48H383.4L65.8 416.1l68-136.1zM44.6 34.6C32.3 29.3 17.9 32.3 8.7 42S-2.6 66.3 3.4 78.3L92.2 256 3.4 433.7c-6 12-3.9 26.5 5.3 36.3s23.5 12.7 35.9 7.5l448-192c11.8-5 19.4-16.6 19.4-29.4s-7.6-24.4-19.4-29.4l-448-192z\"]\n};\nvar faPaperPlaneAlt = faPaperPlaneTop;\nvar faSend = faPaperPlaneTop;\nvar faMessageArrowUp = {\n prefix: 'far',\n iconName: 'message-arrow-up',\n icon: [512, 512, [\"comment-alt-arrow-up\"], \"e1dc\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM280 296V177.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V296c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCommentAltArrowUp = faMessageArrowUp;\nvar faLightbulbExclamation = {\n prefix: 'far',\n iconName: 'lightbulb-exclamation',\n icon: [384, 512, [], \"f671\", \"M320 176c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8.1 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-12.9 17.7-28.3 38.9-39.8 59.8c-10.4 19-15.7 38.8-18.3 57.5H275c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-11.5-20.9-26.9-42.1-39.8-59.8l0 0 0 0c-4.7-6.4-9-12.4-12.8-17.7C72.4 228.3 64 203.2 64 176c0-70.7 57.3-128 128-128s128 57.3 128 128zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zm0-400c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16zm24 168a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faLayerMinus = {\n prefix: 'far',\n iconName: 'layer-minus',\n icon: [576, 512, [\"layer-group-minus\"], \"f5fe\", \"M408 60H520c11 0 20 9 20 20s-9 20-20 20H408c-11 0-20-9-20-20s9-20 20-20zM263.2 133.1c7.8-3.4 16.3-5.1 24.8-5.1s17 1.7 24.8 5.1l209.3 89.7c13.3 5.7 21.9 18.8 21.9 33.2s-8.6 27.5-21.9 33.2L312.8 378.9c-7.8 3.4-16.3 5.1-24.8 5.1s-17-1.7-24.8-5.1L53.9 289.2C40.6 283.5 32 270.5 32 256s8.6-27.5 21.9-33.2l209.3-89.7zM288 176c-2 0-4 .4-5.9 1.2L98.3 256l183.8 78.8c1.9 .8 3.9 1.2 5.9 1.2s4-.4 5.9-1.2L477.7 256 293.9 177.2c-1.9-.8-3.9-1.2-5.9-1.2zM53.9 350.8l31.2-13.4L146 363.5 98.3 384l183.8 78.8c1.9 .8 3.9 1.2 5.9 1.2s4-.4 5.9-1.2L477.7 384 430 363.5l60.9-26.1 31.2 13.4c13.3 5.7 21.9 18.8 21.9 33.2s-8.6 27.5-21.9 33.2L312.8 506.9c-7.8 3.4-16.3 5.1-24.8 5.1s-17-1.7-24.8-5.1L53.9 417.2C40.6 411.5 32 398.5 32 384s8.6-27.5 21.9-33.2z\"]\n};\nvar faLayerGroupMinus = faLayerMinus;\nvar faChartPieSimpleCircleCurrency = {\n prefix: 'far',\n iconName: 'chart-pie-simple-circle-currency',\n icon: [640, 512, [], \"e604\", \"M496 192c-46.8 0-89.3 18.2-120.8 48H272V16.6c0-9 7-16.6 16-16.6C401 0 494.5 83.7 509.8 192.5c-4.6-.4-9.2-.5-13.8-.5zM272 288h67.2c-7.6 14.9-13.2 31-16.3 48H224c-26.5 0-48-21.5-48-48V90.9C101.4 117.3 48 188.4 48 272c0 106 86 192 192 192c34.5 0 66.9-9.1 94.9-25c6.5 14.8 15 28.6 25.2 40.9C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V240v48h48zm80 80a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm118.6-25.4a35.9 35.9 0 1 1 50.7 50.7 35.9 35.9 0 1 1 -50.7-50.7zM531.3 426l17.3 17.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L554 403.3c13.2-21.6 13.2-49.1 0-70.7l17.3-17.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L531.3 310c-21.6-13.2-49.1-13.2-70.7 0l-17.3-17.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L438 332.7c-13.2 21.6-13.2 49.1 0 70.7l-17.3 17.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L460.7 426c21.6 13.2 49.1 13.2 70.7 0z\"]\n};\nvar faCircleE = {\n prefix: 'far',\n iconName: 'circle-e',\n icon: [512, 512, [], \"e109\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V256 360c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V280h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V176H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBuildingWheat = {\n prefix: 'far',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm40 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104zm112 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16zM104 216c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104zm112 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16zm424-40H624c-44.2 0-80 35.8-80 80v16h16c44.2 0 80-35.8 80-80V192zm0 128V304H624c-44.2 0-80 35.8-80 80v16h16c44.2 0 80-35.8 80-80zm0 112V416H624c-44.2 0-80 35.8-80 80v16h16c44.2 0 80-35.8 80-80zM512 496c0-44.2-35.8-80-80-80H416v16c0 44.2 35.8 80 80 80h16V496zm0-96V384c0-44.2-35.8-80-80-80H416v16c0 44.2 35.8 80 80 80h16zm0-128c0-44.2-35.8-80-80-80H416v16c0 44.2 35.8 80 80 80h16V272zM528 32c-13.3 0-24 10.7-24 24V160c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm96 64c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 13.3 10.7 24 24 24s24-10.7 24-24V96zM456 72c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0-13.3-10.7-24-24-24z\"]\n};\nvar faGaugeMax = {\n prefix: 'far',\n iconName: 'gauge-max',\n icon: [512, 512, [\"tachometer-alt-fastest\"], \"f626\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm32 112a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 408c-30.9 0-56-25.1-56-56s25.1-56 56-56c10.3 0 19.9 2.8 28.2 7.6l110.2-75.4c10.9-7.5 25.9-4.7 33.4 6.3s4.7 25.9-6.3 33.4L311.3 343.2c.4 2.9 .7 5.8 .7 8.8c0 30.9-25.1 56-56 56zM384 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM112 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80-64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faTachometerAltFastest = faGaugeMax;\nvar faPersonBreastfeeding = {\n prefix: 'far',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M192 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0A80 80 0 1 0 144 80a80 80 0 1 0 160 0zM116.9 282.2c19.6-26.5 50.6-42.2 83.6-42.2h58.3c27.6 0 54.1 11 73.7 30.6l55.2 55.3c12 12 12.5 31.3 1.2 43.9L326.1 440c-8.8 9.9-8 25.1 1.9 33.9s25.1 8 33.9-1.9l62.8-70.2c28.3-31.6 27-79.8-3-109.8l-55.2-55.3C338 208.1 299.3 192 258.9 192H200.6c-48.2 0-93.6 22.9-122.2 61.7l-56 75.7C-8.1 370.6 7.5 429.5 54.5 450.2L190.3 510c12.1 5.3 26.3-.2 31.6-12.3s-.2-26.3-12.3-31.6L73.8 406.2c-18.8-8.3-25-31.8-12.8-48.3l56-75.7zM192 328c0-13.3-10.7-24-24-24s-24 10.7-24 24v43.4c0 7.5 2.1 14.8 6.1 21.2C177.8 437 226.5 464 278.9 464H280c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.1c-35.1 0-67.7-17.7-86.9-46.9V328zm80 56a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faApostrophe = {\n prefix: 'far',\n iconName: 'apostrophe',\n icon: [192, 512, [], \"27\", \"M128 176c8.8 0 16-7.2 16-16V128 96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64zm16 46c-5.1 1.3-10.5 2-16 2H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32h64c35.3 0 64 28.7 64 64v32 32 72c0 66.3-53.7 120-120 120H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H72c39.8 0 72-32.2 72-72V222z\"]\n};\nvar faFireHydrant = {\n prefix: 'far',\n iconName: 'fire-hydrant',\n icon: [384, 512, [], \"e17f\", \"M192 0c-17.7 0-32 14.3-32 32v4c-45 11.6-80.4 47-92 92H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H316c-11.6-45-47-80.4-92-92V32c0-17.7-14.3-32-32-32zM56 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V384h16c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H320V208H272V464H112V208H64v48H48c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H64v80H56zM248 320a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faRightToBracket = {\n prefix: 'far',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M192 365.8L302 256 192 146.2l0 53.8c0 13.3-10.7 24-24 24L48 224l0 64 120 0c13.3 0 24 10.7 24 24l0 53.8zM352 256c0 11.5-4.6 22.5-12.7 30.6L223.2 402.4c-8.7 8.7-20.5 13.6-32.8 13.6c-25.6 0-46.4-20.8-46.4-46.4l0-33.6-96 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l96 0 0-33.6c0-25.6 20.8-46.4 46.4-46.4c12.3 0 24.1 4.9 32.8 13.6L339.3 225.4c8.1 8.1 12.7 19.1 12.7 30.6zm-8 176l80 0c22.1 0 40-17.9 40-40l0-272c0-22.1-17.9-40-40-40l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l80 0c48.6 0 88 39.4 88 88l0 272c0 48.6-39.4 88-88 88l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVideoPlus = {\n prefix: 'far',\n iconName: 'video-plus',\n icon: [576, 512, [], \"f4e1\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V351 161 128c0-35.3-28.7-64-64-64H64zm464 84.6V363.4L416 313v52.6l104.3 46.9c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-241c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 146.4V199l112-50.4zM216 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V184z\"]\n};\nvar faSquareRight = {\n prefix: 'far',\n iconName: 'square-right',\n icon: [448, 512, [10145, \"arrow-alt-square-right\"], \"f352\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM262.6 151.2l84 91c3.5 3.8 5.4 8.7 5.4 13.9s-1.9 10.1-5.4 13.9l-84 91c-4.2 4.6-10.1 7.2-16.4 7.2C234 368 224 358 224 345.7V304H128c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32l96 0V166.3c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.4 7.2z\"]\n};\nvar faArrowAltSquareRight = faSquareRight;\nvar faCommentSmile = {\n prefix: 'far',\n iconName: 'comment-smile',\n icon: [512, 512, [], \"f4b4\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM192 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM150.5 270.1c-9.9 8.8-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32c-8.8-9.9-24-10.7-33.9-1.9z\"]\n};\nvar faVenus = {\n prefix: 'far',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M64 176a128 128 0 1 1 256 0A128 128 0 1 1 64 176zM216 350.4c85.8-11.7 152-85.3 152-174.4C368 78.8 289.2 0 192 0S16 78.8 16 176c0 89.1 66.2 162.7 152 174.4V400H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V350.4z\"]\n};\nvar faPassport = {\n prefix: 'far',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 400c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm33.3-176h39.1c1.6 30.4 7.7 53.8 14.6 70.8c-27.9-13.2-48.4-39.4-53.7-70.8zM224 304l-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5l-.3 0zm94.7-80c-5.3 31.4-25.8 57.6-53.7 70.8c6.8-17.1 12.9-40.4 14.6-70.8h39.1zm0-32H279.6c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8zM224 112l.3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5l.3 0zm-94.7 80c5.3-31.4 25.8-57.6 53.7-70.8c-6.8 17.1-12.9 40.4-14.6 70.8H129.3zM224 336a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faInboxIn = {\n prefix: 'far',\n iconName: 'inbox-in',\n icon: [512, 512, [128229, \"inbox-arrow-down\"], \"f310\", \"M280 24V230.1l63-63c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 305c-9.4 9.4-24.6 9.4-33.9 0L135 201c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l63 63V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM149.1 405.5L130.3 368H48v96H464V368H381.7l-18.7 37.5C354.8 421.7 338.2 432 320 432H192c-18.2 0-34.8-10.3-42.9-26.5zm24.2-58.9L192 384H320l18.7-37.5c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h82.3c18.2 0 34.8 10.3 42.9 26.5z\"]\n};\nvar faInboxArrowDown = faInboxIn;\nvar faHeartPulse = {\n prefix: 'far',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M256 163.9L222.1 130l-12-12c-21.7-21.7-52.5-31.6-82.7-26.5C81.6 99.1 48 138.7 48 185.1v5.8c0 23.9 8.4 46.9 23.5 65.1h51.1c6.5 0 12.3-3.9 14.8-9.8l31.8-76.3c2.5-5.9 8.2-9.8 14.5-9.8s12.2 3.6 14.8 9.4l58.2 129.3 48.9-97.9c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8l23.2 46.3c2.7 5.4 8.2 8.8 14.3 8.8h68.7c15.1-18.2 23.5-41.2 23.5-65.1v-5.8c0-46.4-33.6-86-79.3-93.6c-30.2-5-61.1 4.8-82.7 26.5l-12 12L256 163.9zM456 288H407.4 371.8c-18.2 0-34.8-10.3-42.9-26.5L320 243.8l-49.7 99.4c-2.8 5.5-8.5 9-14.6 8.8s-11.7-3.8-14.3-9.4L184.6 216.2 167 258.5C159.5 276.3 142 288 122.7 288h-18H56 35.7C12.8 261.1 0 226.7 0 190.9v-5.8c0-69.9 50.5-129.5 119.4-141C165 36.5 211.4 51.4 244 84l0 0 12 12 12-12 0 0c32.6-32.6 79-47.5 124.6-39.9C461.5 55.6 512 115.2 512 185.1v5.8c0 35.8-12.8 70.1-35.7 97.1H456zM68.6 320h70.3L256 429.3 373.1 320h70.3L283.7 469.1c-7.5 7-17.4 10.9-27.7 10.9s-20.2-3.9-27.7-10.9L68.6 320z\"]\n};\nvar faHeartbeat = faHeartPulse;\nvar faCircle8 = {\n prefix: 'far',\n iconName: 'circle-8',\n icon: [512, 512, [], \"e0f5\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM264 128c39.8 0 72 32.2 72 72c0 15.7-5 30.1-13.5 42c18 14.7 29.5 37 29.5 62c0 44.2-35.8 80-80 80H240c-44.2 0-80-35.8-80-80c0-25 11.5-47.4 29.5-62C181 230.1 176 215.7 176 200c0-39.8 32.2-72 72-72h16zm-16 96s0 0 0 0h16s0 0 0 0c13.2 0 24-10.8 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24s10.7 24 24 24zm16 48H248h-8c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-8z\"]\n};\nvar faCloudsMoon = {\n prefix: 'far',\n iconName: 'clouds-moon',\n icon: [640, 512, [], \"f745\", \"M352 160c0 11.5 1.2 22.7 3.5 33.4c53.7 8.2 96.5 49.8 106.4 103c14.2 5.5 27.2 13.4 38.5 23.2c3.7 .3 7.4 .4 11.2 .4c43.2 0 82.5-17.3 111.2-45.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-6.5 1.1-13.2 1.7-20 1.7c-64.3 0-116.5-52.3-116.5-116.9c0-43.7 23.9-81.8 59.3-101.9c6.1-3.5 9.2-10.5 7.7-17.3S532 1.2 525.1 .6c-4.5-.4-9-.6-13.5-.6C423.4 0 352 71.7 352 160zM335.8 272c26.5 0 48 21.5 48 48c0 .8 0 1.7 .1 2.5l2 23.8c1.1 13.2 12.7 23 25.9 21.9c1.3-.1 2.6-.2 4-.2c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.3 0-1.9 0c-.3 0-.6 0-.9 0H146.1c-.3 0-.6 0-1 0c-.4 0-.9 0-1.3 0c-17.7 0-32-14.3-32-32s14.3-32 32-32c1.6 0 3.1 .1 4.6 .3c6.9 1 13.9-1.1 19.1-5.6s8.3-11.2 8.3-18.1V346.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c.1-.6 .2-1.1 .3-1.7c2.5-19.6 19.3-34.8 39.7-34.8c12.6 0 23.8 5.8 31.1 14.9c5.8 7.1 15.1 10.4 24.1 8.3s15.9-9.1 18-18c4.9-21.3 24-37.2 46.8-37.2zm96 46.8c-.6-52.5-43.4-94.8-96-94.8c-33 0-62 16.6-79.3 41.9c-12.2-6.3-26-9.9-40.6-9.9c-43 0-78.8 30.9-86.5 71.7c-1 2.6-1.5 5.4-1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c-36.5 7.4-64 39.7-64 78.4c0 44.2 35.8 80 80 80c.9 0 1.8 0 2.7 0h266c1.1 0 2.1 .1 3.2 .1c53 0 96-43 96-96c0-47.5-34.5-86.9-79.8-94.6l-.2-2.5zM320 192.1h0c0-35.3-28.6-64-64-64c-7.4 0-14.6 1.3-21.2 3.6c-11.5-30.1-40.6-51.6-74.8-51.6c-38.9 0-71.3 27.8-78.5 64.6c-3.1-.4-6.3-.6-9.5-.6c-39.8 0-72 32.2-72 72s32.2 72 72 72l0 0h34.8c9.4-19.9 24.6-36.6 43.4-48H73.8c-.6 0-1.2 0-1.7 0c-13.2 0-24-10.7-24-24s10.7-24 24-24c1.1 0 2.2 .1 3.2 .2c25.1 3.3 48.5-13.5 53.4-38.4c2.9-14.7 15.9-25.8 31.4-25.8c13.6 0 25.3 8.5 29.9 20.6c9.2 24.3 36.2 36.9 60.8 28.2c1.6-.6 3.4-.9 5.3-.9c8.8 0 16 7.2 16 16l0 .9c-.1 6.6-1.6 12.9-4.1 18.6c15.5-9.7 33.2-16.3 52.1-18.7l0-.9z\"]\n};\nvar faClockTenThirty = {\n prefix: 'far',\n iconName: 'clock-ten-thirty',\n icon: [512, 512, [], \"e355\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V256c0-8-4-15.5-10.7-20l-96-64c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3L232 268.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faPeopleCarryBox = {\n prefix: 'far',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M176 48A48 48 0 1 0 80 48a48 48 0 1 0 96 0zM53 344.3L1.6 479.5c-4.7 12.4 1.5 26.3 13.9 31s26.3-1.5 31-13.9L92.6 375.4 53 344.3zM96 187.5c0-6.4 5.2-11.5 11.5-11.5c4.4 0 8.6 1 12.5 2.8V295.2L99.1 278.7c-1.9-1.5-3.1-3.8-3.1-6.3V187.5zm72 145.4V243.3l26 39.1c3.3 4.9 7.6 9.1 12.7 12.1l26.1 15.7c5.6 5.9 13.5 9.6 22.3 9.9c.4 0 .9 0 1.3 0H383.6c.4 0 .9 0 1.3 0c8.7-.2 16.6-4 22.2-9.9l26.1-15.7c5.1-3 9.4-7.2 12.7-12.1l26-39.1v89.6l-25.8 20.3c-8.1 6.4-13.4 15.6-14.9 25.8L416.2 484.6c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l14.6-102.5 92.2-72.4c13.5-10.6 21.4-26.9 21.4-44V187.5c0-32.9-26.6-59.5-59.5-59.5c-25.8 0-50 12.9-64.3 34.4L416 240.7V160c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v80.7l-52.2-78.3c-14.3-21.5-38.5-34.4-64.3-34.4C74.6 128 48 154.6 48 187.5v84.9c0 17.2 7.9 33.4 21.4 44l92.2 72.4 14.6 102.5c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2L208.7 379c-1.5-10.2-6.8-19.4-14.9-25.8L168 332.9zM272 176h96v96H272V176zM512 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM638.4 479.5L587 344.3l-39.5 31.1 46.2 121.2c4.7 12.4 18.6 18.6 31 13.9s18.6-18.6 13.9-31zM532.5 176c6.4 0 11.5 5.2 11.5 11.5v84.9c0 2.5-1.1 4.8-3.1 6.3L520 295.2V178.8c3.8-1.8 8.1-2.8 12.5-2.8z\"]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faFolderUser = {\n prefix: 'far',\n iconName: 'folder-user',\n icon: [512, 512, [], \"e18e\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H368c0-44.2-35.8-80-80-80H224c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM320 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faTrashCanXmark = {\n prefix: 'far',\n iconName: 'trash-can-xmark',\n icon: [448, 512, [], \"e2ae\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm63 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'far',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM80 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C74.3 301 80 288.4 80 273.9V112zM144 0C82.1 0 32 50.2 32 112V273.9c0 1.7-.7 4.4-3.2 7.8C10.7 305.7 0 335.7 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faMicrochip = {\n prefix: 'far',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h-8c-35.3 0-64 28.7-64 64v8H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v8c0 35.3 28.7 64 64 64h8v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h8c35.3 0 64-28.7 64-64v-8h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V184h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v-8c0-35.3-28.7-64-64-64h-8V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM400 128V384c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16zM192 160c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H192zm16 48h96v96H208V208z\"]\n};\nvar faLeftLongToLine = {\n prefix: 'far',\n iconName: 'left-long-to-line',\n icon: [640, 512, [], \"e41e\", \"M0 88C0 74.7 10.7 64 24 64s24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88zM134.5 272.4c-8.7-9.2-8.7-23.7 0-32.9l121.4-129c8.8-9.3 21-14.6 33.7-14.6c25.6 0 46.3 20.7 46.3 46.3l0 33.7 248 0c30.9 0 56 25.1 56 56l0 48c0 30.9-25.1 56-56 56l-248 0 0 33.7c0 25.6-20.7 46.3-46.3 46.3c-12.8 0-25-5.3-33.7-14.6l-121.4-129zM288 200l0-53.5L185 256 288 365.5l0-53.5c0-13.3 10.7-24 24-24l272 0c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-272 0c-13.3 0-24-10.7-24-24z\"]\n};\nvar faCrown = {\n prefix: 'far',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34l-5.8 11.6L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7l-72-57.6L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0l4.4 23.9L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6l41.4-227.5 4.4-23.9c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-17.1 13.7-72 57.6c-15.9 12.7-39.5 7.5-48.6-10.7L314.8 117.7 309 106zM133.7 418.9L102.2 245.6l28.9 23.1c39.8 31.8 98.8 18.9 121.5-26.7L288 171.3l35.4 70.7c22.8 45.6 81.8 58.5 121.5 26.7l28.9-23.1L442.3 418.9c-1.4 7.6-8 13.1-15.7 13.1H149.4c-7.7 0-14.4-5.5-15.7-13.1z\"]\n};\nvar faWeightHanging = {\n prefix: 'far',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M216 88a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm118.4 40c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 14.4 3.5 28 9.6 40H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H334.4zM256 176H392l72 288H48l72-288H256z\"]\n};\nvar faXmarksLines = {\n prefix: 'far',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M24 32H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56S10.7 32 24 32zm0 400H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM41 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55L41 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55L7 201c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm224 0l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM455 167c9.4-9.4 24.6-9.4 33.9 0l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFilePrescription = {\n prefix: 'far',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm40 192c-13.3 0-24 10.7-24 24v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V320h22.1c.3 .3 .6 .7 .9 1l55 55-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23 23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-23-23 23-23c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23-31.1-31.1C227.5 299.7 240 279.3 240 256c0-35.3-28.7-64-64-64H104zm72 80H128V240h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faCalendarRange = {\n prefix: 'far',\n iconName: 'calendar-range',\n icon: [512, 512, [], \"e0d6\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H96c-35.3 0-64 28.7-64 64v16 48V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H376V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM80 192H432V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V192zm48 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm224 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 288c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zm40 72H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faFlowerDaffodil = {\n prefix: 'far',\n iconName: 'flower-daffodil',\n icon: [512, 512, [9880], \"f800\", \"M112 88c0-48.6 39.4-88 88-88c21.3 0 40.8 7.6 56 20.1C271.2 7.6 290.7 0 312 0c48.6 0 88 39.4 88 88c0 21.3-7.6 40.8-20.1 56c12.6 15.2 20.1 34.7 20.1 56c0 48.6-39.4 88-88 88c-11.3 0-22.1-2.1-32-6v91.4c41-52 104.6-85.4 176-85.4h28c15.5 0 28 12.5 28 28c0 108.2-87.8 196-196 196H280 232 196C87.8 512 0 424.2 0 316c0-15.5 12.5-28 28-28H56c71.4 0 135 33.4 176 85.4V282c-9.9 3.9-20.7 6-32 6c-48.6 0-88-39.4-88-88c0-21.3 7.6-40.8 20.1-56C119.6 128.8 112 109.3 112 88zm88-40c-22.1 0-40 17.9-40 40c0 15 8.3 28.2 20.6 35c7.6 4.2 12.4 12.3 12.4 21s-4.7 16.8-12.4 21c-12.4 6.9-20.6 20-20.6 35c0 22.1 17.9 40 40 40c15 0 28.2-8.3 35-20.6c4.2-7.6 12.3-12.4 21-12.4s16.8 4.7 21 12.4c6.9 12.4 20 20.6 35 20.6c22.1 0 40-17.9 40-40c0-15-8.3-28.2-20.6-35c-7.6-4.2-12.4-12.3-12.4-21s4.7-16.8 12.4-21c12.4-6.9 20.6-20 20.6-35c0-22.1-17.9-40-40-40c-15 0-28.2 8.3-35 20.6C272.8 76.3 264.7 81 256 81s-16.8-4.7-21-12.4C228.2 56.3 215 48 200 48zM49.3 336C59.1 408.3 121 464 196 464h29.4C204.5 390.1 136.6 336 56 336H49.3zm413.3 0H456c-80.6 0-148.5 54.1-169.4 128H316c75 0 136.9-55.7 146.7-128zM256 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandBackPointUp = {\n prefix: 'far',\n iconName: 'hand-back-point-up',\n icon: [448, 512, [], \"e1a2\", \"M144 0C108.7 0 80 28.7 80 64V252.8c-5.2 3.6-10.2 7.6-14.9 11.9L44.8 283.2C26.5 299.9 16 323.5 16 348.3v10.2c0 54.1 28.7 104.1 75.4 131.3l2.6 1.5c23.2 13.6 49.7 20.7 76.6 20.7H296c66.3 0 120-53.7 120-120v-8V288c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5c-11-19.4-31.8-32.5-55.7-32.5c-5.3 0-10.5 .7-15.5 1.9c-10.8-20.2-32-33.9-56.5-33.9c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zM128 64c0-8.8 7.2-16 16-16s16 7.2 16 16V200c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16v8c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16v96 8c0 39.8-32.2 72-72 72H170.6c-18.4 0-36.5-4.9-52.4-14.2l-11.7 20 11.7-20-2.6-1.5C83.6 429.7 64 395.5 64 358.5V348.3c0-11.3 4.8-22 13.1-29.6L96 301.5V344c0 8.8 7.2 16 16 16s16-7.2 16-16V266v-2V64z\"]\n};\nvar faWeightScale = {\n prefix: 'far',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M128 176a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm304 0c0-22.6-4.3-44.2-12-64h28c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H92c-7.7 19.8-12 41.4-12 64c0 97.2 78.8 176 176 176s176-78.8 176-176zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faWeight = faWeightScale;\nvar faStarExclamation = {\n prefix: 'far',\n iconName: 'star-exclamation',\n icon: [576, 512, [], \"f2f3\", \"M309.5 13.5C305.5 5.2 297.1 0 287.9 0s-17.6 5.2-21.6 13.5L197.7 154.8 44.5 177.5c-9 1.3-16.5 7.6-19.3 16.3s-.5 18.1 5.9 24.5L142.2 328.4 116 483.9c-1.5 9 2.2 18.1 9.7 23.5s17.3 6 25.3 1.7l137-73.2 137 73.2c8.1 4.3 17.9 3.7 25.3-1.7s11.2-14.5 9.7-23.5L433.6 328.4 544.8 218.2c6.5-6.4 8.7-15.9 5.9-24.5s-10.3-14.9-19.3-16.3L378.1 154.8 309.5 13.5zM235.4 187.2L287.9 79l52.6 108.2c3.5 7.1 10.2 12.1 18.1 13.3l118.3 17.5L391 303c-5.5 5.5-8.1 13.3-6.8 21l20.2 119.6L299.2 387.5c-7.1-3.8-15.6-3.8-22.6 0L171.4 443.7l20.2-119.6c1.3-7.7-1.2-15.5-6.8-21L99 217.9l118.3-17.5c7.8-1.2 14.6-6.1 18.1-13.3zM288 168c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-13.3-10.7-24-24-24zm32 168a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBooks = {\n prefix: 'far',\n iconName: 'books',\n icon: [512, 512, [128218], \"f5db\", \"M48 416v48h64V416H48zm88 89.6c-7.1 4.1-15.3 6.4-24 6.4H48c-26.5 0-48-21.5-48-48V416 392 368 144 120 96 48C0 21.5 21.5 0 48 0h64c8.7 0 16.9 2.3 24 6.4C143.1 2.3 151.3 0 160 0h64c20.6 0 38.1 12.9 45 31.1c5.6-6.1 12.9-10.7 21.4-13L349.9 1.6c24.7-6.8 50.1 8.3 56.7 33.8l18 69.2 6 23.2 61.8 238.3 6 23.2 11.9 46c6.6 25.5-8 51.7-32.7 58.5l-59.6 16.5c-24.7 6.8-50.1-8.3-56.7-33.8l-18-69.2-6-23.2L275.6 145.9 272 132.2V144 368v24 24 48c0 26.5-21.5 48-48 48H160c-8.7 0-16.9-2.3-24-6.4zM160 464h64V416H160v48zM112 48H48V96h64V48zm0 96H48V368h64V144zm48-48h64V48H160V96zm64 272V144H160V368h64zm216.1-12.3l-55.8-215-56.5 15.6 55.8 215 56.5-15.6zm-44.4 62.1l11.9 45.7L464 447.9c0-.1 0-.2 0-.3l0-.1-11.7-45.2-56.5 15.6zm-79.9-308l56.5-15.6L360.4 48.5 304 64.1c0 .1 0 .2 0 .4l11.7 45.2z\"]\n};\nvar faUserGroup = {\n prefix: 'far',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M1.5 458.7c6-45.5 29.2-85.6 62.8-113.6C95.3 319.4 135 304 178.3 304H224h45.7c43.3 0 83 15.4 113.9 41.1c33.6 28 56.8 68.1 62.8 113.6c1 7.7 1.5 15.6 1.5 23.6c0 16.4-13.3 29.7-29.7 29.7H398.7 49.3 29.7C13.3 512 0 498.7 0 482.3c0-8 .5-15.9 1.5-23.6zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zm208 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM178.3 352c-47.8 0-89.5 25.7-112.2 64c-8.6 14.4-14.4 30.7-16.8 48H98 350h48.8c-.4-2.7-.8-5.3-1.4-8c-2.9-14.3-8.2-27.8-15.5-40c-22.7-38.3-64.4-64-112.2-64H178.3zm431 160H472.4c4.9-8.8 7.6-18.9 7.6-29.7c0-65-29.5-123.2-75.9-161.8c4.3-.4 8.7-.5 13.2-.5h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9C372.4 196.5 384 163.6 384 128c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z\"]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'far',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M416 32c9.1 0 17.4 5.1 21.5 13.3l80 160c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-13.6-27.2c-1.6 .3-3.2 .5-4.9 .5H370.8l-13.4 26.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l80-160C398.6 37.1 406.9 32 416 32zM394.8 152h42.3L416 109.7 394.8 152zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM352 288H480c9.4 0 18 5.5 21.9 14.2s2.3 18.7-4 25.8L405.4 432H480c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-9.4 0-18-5.5-21.9-14.2s-2.3-18.7 4-25.8L426.6 336H352c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faLayerPlus = {\n prefix: 'far',\n iconName: 'layer-plus',\n icon: [576, 512, [\"layer-group-plus\"], \"f5ff\", \"M464 4c-11 0-20 9-20 20V60H408c-11 0-20 9-20 20s9 20 20 20h36v36c0 11 9 20 20 20s20-9 20-20V100h36c11 0 20-9 20-20s-9-20-20-20H484V24c0-11-9-20-20-20zM288 128c-8.5 0-17 1.7-24.8 5.1L53.9 222.8C40.6 228.5 32 241.5 32 256s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2L312.8 133.1c-7.8-3.4-16.3-5.1-24.8-5.1zm-5.9 49.2c1.9-.8 3.9-1.2 5.9-1.2s4 .4 5.9 1.2L477.7 256 293.9 334.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 256l183.8-78.8zM85.1 337.4L53.9 350.8C40.6 356.5 32 369.5 32 384s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2l-31.2-13.4L430 363.5 477.7 384 293.9 462.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 384 146 363.5 85.1 337.4z\"]\n};\nvar faLayerGroupPlus = faLayerPlus;\nvar faPlayPause = {\n prefix: 'far',\n iconName: 'play-pause',\n icon: [640, 512, [], \"e22f\", \"M432 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V88zm144 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V88zM112 381.8V130.2L263 256 112 381.8zm4.5-310.4c-9.5-7.9-22.8-9.7-34.1-4.4S64 83.6 64 96V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4l192-160c7.3-6.1 11.5-15.1 11.5-24.6s-4.2-18.5-11.5-24.6l-192-160z\"]\n};\nvar faBlockQuestion = {\n prefix: 'far',\n iconName: 'block-question',\n icon: [640, 512, [], \"e3dd\", \"M160 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H160zM96 96c0-35.3 28.7-64 64-64H480c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96zm137.8 77.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L344 272.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V258.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H286.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM288 360a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM456 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM160 392a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm296-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSnooze = {\n prefix: 'far',\n iconName: 'snooze',\n icon: [448, 512, [128164, \"zzz\"], \"f880\", \"M184 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h59.1l-77.2 88.2c-6.2 7.1-7.7 17.1-3.8 25.7S174.6 176 184 176H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H236.9l77.2-88.2c6.2-7.1 7.7-17.1 3.8-25.7S305.4 0 296 0H184zM312 224c-13.3 0-24 10.7-24 24s10.7 24 24 24h62.9L293.1 377.3c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H361.1l81.9-105.3c5.6-7.2 6.6-17 2.6-25.3s-12.4-13.5-21.6-13.5H312zM24 224c-13.3 0-24 10.7-24 24s10.7 24 24 24H152.6L4.6 473.8c-5.3 7.3-6.1 17-2.1 25S15 512 24 512H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H71.4l148-201.8c5.3-7.3 6.1-17 2.1-25S209 224 200 224H24z\"]\n};\nvar faZzz = faSnooze;\nvar faScannerImage = {\n prefix: 'far',\n iconName: 'scanner-image',\n icon: [576, 512, [], \"f8f3\", \"M66.7 34.5c-11.9-5.9-26.3-1.1-32.2 10.7s-1.1 26.3 10.7 32.2L466.3 288H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V384 352v-8.4c0-33.3-18.8-63.8-48.6-78.7L66.7 34.5zM528 352v32 32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16zM120 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTvRetro = {\n prefix: 'far',\n iconName: 'tv-retro',\n icon: [512, 512, [128250], \"f401\", \"M135 7c9.4-9.4 24.6-9.4 33.9 0l87 87L343 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55H432c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H190.1L135 41c-9.4-9.4-9.4-24.6 0-33.9zM80 144c-17.7 0-32 14.3-32 32V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H80zm336 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM392 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM144 192H304c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V240c0-26.5 21.5-48 48-48z\"]\n};\nvar faSquareT = {\n prefix: 'far',\n iconName: 'square-t',\n icon: [448, 512, [], \"e280\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm120 48H224 328c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFarm = {\n prefix: 'far',\n iconName: 'farm',\n icon: [576, 512, [\"barn-silo\"], \"f864\", \"M48 464l0-288H163.3l23.4-50.2c7.2-15.5 19.8-27.9 35.3-35C212.1 39.1 166.6 0 112 0C50.1 0 0 50.1 0 112V464c0 26.5 21.5 48 48 48H148.1c-11-13.3-18.1-29.8-19.8-48H48zM176 128H48V112c0-35.3 28.7-64 64-64s64 28.7 64 64v16zm81.9 34.4L368 114.2l110.1 48.2 49.9 107V456c0 4.4-3.6 8-8 8H432V408c0-22.1-17.9-40-40-40H344c-22.1 0-40 17.9-40 40v56H216c-4.4 0-8-3.6-8-8V269.3l49.9-107zM384 68.8c-10.2-4.5-21.8-4.5-32.1 0L235.9 119.6c-8.9 3.9-16.1 10.9-20.2 19.7L163.8 250.6c-2.5 5.3-3.8 11.1-3.8 16.9V456c0 30.9 25.1 56 56 56H520c30.9 0 56-25.1 56-56V267.5c0-5.8-1.3-11.6-3.8-16.9L520.3 139.3c-4.1-8.8-11.3-15.8-20.2-19.7L384 68.8zM320 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBarnSilo = faFarm;\nvar faChessKnight = {\n prefix: 'far',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M226.6 48H117.3l17.1 12.8c6 4.5 9.6 11.6 9.6 19.2s-3.6 14.7-9.6 19.2l-6.5 4.9c-10 7.5-16 19.3-16 31.9l-.3 91c0 10.2 4.9 19.9 13.2 25.8l1.9 1.3c9.9 7.1 23.3 7 33.2-.1l49.9-36.3c10.7-7.8 25.7-5.4 33.5 5.3s5.4 25.7-5.3 33.5l-49.9 36.3-53.8 39.1c-7.3 5.3-13 12.2-16.9 20.1H66.8c5.3-22.1 17.8-41.9 35.9-56.3c-1.3-.8-2.6-1.7-3.8-2.6L97 291.8c-21-15-33.4-39.2-33.3-65l.3-91c.1-19.8 6.7-38.7 18.6-53.9l-.4-.3C70.7 73 64 59.6 64 45.3C64 20.3 84.3 0 109.3 0H226.6C331.2 0 416 84.8 416 189.4c0 11.1-1 22.2-2.9 33.2L390.1 352H341.3l24.5-137.8c1.5-8.2 2.2-16.5 2.2-24.8C368 111.3 304.7 48 226.6 48zM85.2 432L68.7 464H379.3l-16.6-32H85.2zm315.7-30.7l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H56.8C34.2 512 16 493.8 16 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C52.5 390.7 63.5 384 75.5 384h297c12 0 22.9 6.7 28.4 17.3zM172 128a20 20 0 1 1 0 40 20 20 0 1 1 0-40z\"]\n};\nvar faBarsSort = {\n prefix: 'far',\n iconName: 'bars-sort',\n icon: [448, 512, [], \"e0ae\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM192 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H168c13.3 0 24 10.7 24 24z\"]\n};\nvar faPalletBoxes = {\n prefix: 'far',\n iconName: 'pallet-boxes',\n icon: [640, 512, [57863, \"palette-boxes\", \"pallet-alt\"], \"f483\", \"M272 48H112V208H272V48zM112 0H272c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V48C64 21.5 85.5 0 112 0zM528 112H432v96h96V112zM432 64h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48zM0 344c0-13.3 10.7-24 24-24H88 320 552h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H576v96h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H552 320 88 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V368H24c-13.3 0-24-10.7-24-24zM112 464H296V368H112v96zm232 0H528V368H344v96z\"]\n};\nvar faPaletteBoxes = faPalletBoxes;\nvar faPalletAlt = faPalletBoxes;\nvar faFaceLaughSquint = {\n prefix: 'far',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zm2.8-183.3l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 141.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faCodeSimple = {\n prefix: 'far',\n iconName: 'code-simple',\n icon: [576, 512, [], \"e13d\", \"M216.6 105.4c9.6-9.2 9.9-24.3 .8-33.9s-24.3-9.9-33.9-.8l-176 168C2.7 243.2 0 249.4 0 256s2.7 12.8 7.4 17.4l176 168c9.6 9.2 24.8 8.8 33.9-.8s8.8-24.8-.8-33.9L58.8 256 216.6 105.4zm142.9 0L517.2 256 359.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9z\"]\n};\nvar faBoltSlash = {\n prefix: 'far',\n iconName: 'bolt-slash',\n icon: [640, 512, [], \"e0b8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L450.2 327.6l49.5-42c7.8-6.6 12.3-16.4 12.3-26.6c0-19.3-15.6-34.9-34.9-34.9H391.8L445.4 36.6C450.6 18.3 436.8 0 417.7 0c-6.8 0-13.5 2.4-18.7 6.9L227.9 153.3 38.8 5.1zM266.4 183.5L381.6 85 337.5 239.3l-71.1-55.7zM379.3 272h62.2l-29.8 25.3L379.3 272zm-42.9 89.1l-78.2 66.4L288.1 323l-40.7-32.1L194.6 475.4c-5.2 18.4 8.5 36.6 27.6 36.6c6.8 0 13.4-2.4 18.6-6.8L374.9 391.4l-38.5-30.3zm-183-144.2l-13.7 11.7c-7.5 6.4-11.8 15.8-11.8 25.6c0 18.6 15.1 33.7 33.7 33.7h82l-90.2-71.1z\"]\n};\nvar faPanelFire = {\n prefix: 'far',\n iconName: 'panel-fire',\n icon: [640, 512, [], \"e42f\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H306.1c8.1 17.5 18.8 33.7 31.5 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v32.2c-12.6-1.2-25.5 2.7-35.5 11.7c-4.2 3.8-8.4 7.6-12.5 11.5V96c0-8.8-7.2-16-16-16zM293.8 311.3c-1.8 .5-3.8 .7-5.8 .7c-13.3 0-24-10.7-24-24s10.7-24 24-24c8.2 0 15.5 4.1 19.8 10.4c-5.8 12.1-10.6 24.5-14 36.9zM96 160c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160zm32 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM453.5 163.6c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79c0 87.8-71.3 159.8-160 159.8c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 432.9c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faBinaryCircleCheck = {\n prefix: 'far',\n iconName: 'binary-circle-check',\n icon: [640, 512, [], \"e33c\", \"M318 4.5C324.3 9 328 16.3 328 24V176h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H304 248c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V57.3l-16.4 5.5C251 67 237.4 60.2 233.2 47.6S235.8 21.4 248.4 17.2l48-16C303.7-1.2 311.8 0 318 4.5zM94 292.5c6.3 4.5 10 11.8 10 19.5V464h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H80 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V345.3l-16.4 5.5C27 355 13.4 348.2 9.2 335.6S11.8 309.4 24.4 305.2l48-16c7.3-2.4 15.4-1.2 21.6 3.3zM72 0h48c39.8 0 72 32.2 72 72v80c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72V72C0 32.2 32.2 0 72 0zM48 72v80c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72C58.7 48 48 58.7 48 72zM192 360c0-39.8 32.2-72 72-72h48c8.8 0 17.2 1.6 25 4.5c-6.8 14.4-11.8 29.8-14.5 45.9c-3.2-1.5-6.7-2.4-10.5-2.4H264c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h48l.1 0h36.4c5.4 8.2 11.4 15.9 18 23.1C353.2 502.4 333.7 512 312 512H264c-39.8 0-72-32.2-72-72V360zm160 8a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faCommentMinus = {\n prefix: 'far',\n iconName: 'comment-minus',\n icon: [512, 512, [], \"f4b1\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM184 216c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBurrito = {\n prefix: 'far',\n iconName: 'burrito',\n icon: [512, 512, [127791], \"f7ed\", \"M67.9 304c-4.4 4.4-8.1 9.4-11.2 14.7c17.3 6 35.9 9.3 55.3 9.3c75.6 0 139.5-49.9 160.6-118.6c4.8-15.6 7.4-32.2 7.4-49.4c0-20.3-3.6-39.8-10.2-57.9L67.9 304zm-53.8-7.4l0 0c5.3-9.7 11.9-18.6 19.8-26.5L242 62c8.2-35.5 40-62 78-62c11.4 0 22.2 2.4 32 6.7C361.8 2.4 372.6 0 384 0c34.6 0 64.1 22 75.2 52.8C490 63.9 512 93.4 512 128c0 11.4-2.4 22.2-6.7 32c2.7 6.1 4.6 12.7 5.7 19.6c6.6 41.7-20.4 81-61 90.4L241.9 478.1C220.2 499.8 190.7 512 160 512s-60.2-12.2-81.9-33.9L112 444.1c12.7 12.7 30 19.9 48 19.9s35.3-7.2 48-19.9L409.9 242.2c-18-6.6-37.5-10.2-57.9-10.2c-13 0-25.7 1.5-37.9 4.3C283.3 317.9 204.5 376 112 376c-21.7 0-42.6-3.2-62.4-9.1c2.8 12.5 9.1 24 18.2 33.1L112 444.1 78.1 478.1 33.9 433.9C12.2 412.2 0 382.7 0 352c0-2.4 .1-4.8 .2-7.1l0 0c1-17 5.8-33.5 13.9-48.3z\"]\n};\nvar faViolin = {\n prefix: 'far',\n iconName: 'violin',\n icon: [640, 512, [127931], \"f8ed\", \"M496 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM345 41L41 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L311 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM198.4 403.2c6.4-4.8 15.3-4.1 20.9 1.5l16 16c5.6 5.6 6.3 14.5 1.5 20.9l-5.3 7.1c16.6 9.7 35.9 15.3 56.5 15.3c25.2 0 48.3-8.2 67-22.2c-2-8.3-3-17-3-25.8c0-60 47.3-109.1 106.6-111.9c8.2-19.7 8.4-46.6-12.7-76.1L361 313c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L412 194.1c-29.5-21-56.4-20.8-76.1-12.7C333.1 240.8 284 288 224 288c-8.8 0-17.5-1-25.8-3c-14 18.7-22.2 41.8-22.2 67c0 20.6 5.6 39.9 15.3 56.5l7.1-5.3zm-45.7 34.3c-15.7-24.7-24.7-54-24.7-85.5c0-41.2 15.5-78.7 41.1-107c9.7-10.7 25.8-10.1 39.8-6.7c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64c0-11.6 2.6-24 12.4-30.1c39.3-24.7 94.3-26.4 145.8 14L599 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L480.2 193.8c40.3 51.5 38.6 106.5 14 145.8C488 349.4 475.6 352 464 352c-35.3 0-64 28.7-64 64c0 5.2 .6 10.2 1.8 15.1c3.4 14.1 4 30.2-6.7 39.8C366.7 496.5 329.2 512 288 512c-31.4 0-60.7-9.1-85.5-24.7l-13.7 18.3c-2.8 3.7-7 6-11.7 6.4s-9.2-1.4-12.4-4.6l-32-32c-3.3-3.3-5-7.8-4.6-12.4s2.6-8.9 6.4-11.7l18.3-13.7zM448 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faObjectsColumn = {\n prefix: 'far',\n iconName: 'objects-column',\n icon: [448, 512, [], \"e3c1\", \"M48 80V240h96V80H48zM0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM304 272V432h96V272H304zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V272zM144 368H48v64h96V368zM48 320h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zM304 80v64h96V80H304zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faSquareChevronDown = {\n prefix: 'far',\n iconName: 'square-chevron-down',\n icon: [448, 512, [\"chevron-square-down\"], \"f329\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM207 345L103 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L241 345c-9.4 9.4-24.6 9.4-33.9 0z\"]\n};\nvar faChevronSquareDown = faSquareChevronDown;\nvar faCommentPlus = {\n prefix: 'far',\n iconName: 'comment-plus',\n icon: [512, 512, [], \"f4b2\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM232 328c0 13.3 10.7 24 24 24s24-10.7 24-24V264h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faTriangleInstrument = {\n prefix: 'far',\n iconName: 'triangle-instrument',\n icon: [576, 512, [\"triangle-music\"], \"f8e2\", \"M312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V67.3c-21.3 5.9-40 19.5-52.1 38.7L46.5 367.7C37 382.8 32 400.2 32 418c0 51.9 42.1 94 94 94H450c51.9 0 94-42.1 94-94c0-17.8-5-35.2-14.5-50.2L448.2 239l-34.8 34.8 75.5 119.5c4.6 7.4 7.1 15.9 7.1 24.6c0 25.4-20.6 46-46 46H126c-25.4 0-46-20.6-46-46c0-8.7 2.5-17.2 7.1-24.6L252.4 131.6c7.7-12.2 21.1-19.6 35.6-19.6s27.9 7.4 35.6 19.6l46 72.9-62.8 62.8c-5.9-2.1-12.2-3.2-18.8-3.2c-30.9 0-56 25.1-56 56s25.1 56 56 56s56-25.1 56-56c0-6.6-1.1-12.9-3.2-18.8l55.1-55.1 34.8-34.8L537 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-98.6 98.6L364.1 106C352 86.8 333.3 73.2 312 67.3V24z\"]\n};\nvar faTriangleMusic = faTriangleInstrument;\nvar faWheelchair = {\n prefix: 'far',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M192 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120.5 247.2C78.1 263.2 48 304.1 48 352c0 61.9 50.1 112 112 112c42.8 0 80-24 98.9-59.3c6.2-11.7 20.8-16.1 32.5-9.9s16.1 20.8 9.9 32.5C274.3 477.7 221.2 512 160 512C71.6 512 0 440.4 0 352c0-68.5 43.1-126.9 103.5-149.7c12.4-4.7 26.2 1.6 30.9 14s-1.6 26.2-14 30.9zm67.2-118.8c13-2.4 25.5 6.3 27.9 19.3l5.1 28.3H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H229.5l13.4 73.4c.7 3.8 4 6.6 7.9 6.6H373.5c15.9 0 30.3 9.4 36.6 24l43 98.3 27.2-9.1c12.6-4.2 26.2 2.6 30.4 15.2s-2.6 26.2-15.2 30.4l-48 16c-11.8 3.9-24.6-1.8-29.6-13.1L368.3 352H250.7c-27.1 0-50.3-19.4-55.1-46L168.4 156.3c-2.4-13 6.3-25.5 19.3-27.9z\"]\n};\nvar faUserPilotTie = {\n prefix: 'far',\n iconName: 'user-pilot-tie',\n icon: [448, 512, [], \"e2c1\", \"M217.9 .8l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40c-4-1.1-8.2-1.1-12.2 0zM183.2 65.7L224 86.1l40.8-20.4c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-48 24c-4.5 2.3-9.8 2.3-14.3 0l-48-24c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2c-14 5.4-28.5 9.9-43.3 13.4c.4 3.2 .6 6.5 .6 9.8c0 46-37.2 83.2-83.2 83.2s-83.2-37.2-83.2-83.2c0-3.3 .2-6.6 .6-9.8c-14.8-3.6-29.3-8.1-43.3-13.4C96.7 176.3 96 184.1 96 192zm91.6 183.2L208 416l-12.2 48.9 0 0-.5-.9 0 0L133 360.3c-3-5-8.6-8.1-14.4-7.4C51.8 360.8 0 417.5 0 486.4C0 500.5 11.5 512 25.6 512H168h0 1 21.2H192v0h64v0h1.7 21.2 1 0H422.4c14.1 0 25.6-11.5 25.6-25.6c0-68.9-51.8-125.6-118.6-133.5c-5.8-.7-11.4 2.4-14.4 7.4L252.8 464l0 0-.5 .9 0 0L240 416l20.4-40.8c5.3-10.6-2.4-23.2-14.3-23.2H201.9c-11.9 0-19.6 12.5-14.3 23.2zM139.2 464H50.9c7.2-27 27.3-48.8 53.2-58.5L139.2 464zm257.8 0H308.8l35.1-58.5c25.9 9.7 45.9 31.5 53.2 58.5z\"]\n};\nvar faPianoKeyboard = {\n prefix: 'far',\n iconName: 'piano-keyboard',\n icon: [576, 512, [127929], \"f8d5\", \"M528 224V384c0 8.8-7.2 16-16 16H432V315.7c9.6-5.5 16-15.9 16-27.7V224h80zM400 400H304V315.7c9.6-5.5 16-15.9 16-27.7V224h64v64c0 11.8 6.4 22.2 16 27.7V400zm-128 0H176V315.7c9.6-5.5 16-15.9 16-27.7V224h64v64c0 11.8 6.4 22.2 16 27.7V400zm-128 0H64c-8.8 0-16-7.2-16-16V224h80v64c0 11.8 6.4 22.2 16 27.7V400zM528 176H416 288 160 48V128c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16v48zm48 0V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128v48 24 24V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224 200 176z\"]\n};\nvar faBedEmpty = {\n prefix: 'far',\n iconName: 'bed-empty',\n icon: [640, 512, [128719], \"f8f9\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V184 360v96c0 13.3 10.7 24 24 24s24-10.7 24-24V384H592v80c0 13.3 10.7 24 24 24s24-10.7 24-24V360 280c0-66.3-53.7-120-120-120H48V56zM592 336H48V208H520c39.8 0 72 32.2 72 72v56z\"]\n};\nvar faCircleArrowUp = {\n prefix: 'far',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM361 223l-88-88c-9.4-9.4-24.6-9.4-33.9 0l-88 88c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47V360c0 13.3 10.7 24 24 24s24-10.7 24-24V209.9l47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'far',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M192 112c-79.5 0-144 64.5-144 144s64.5 144 144 144H384c79.5 0 144-64.5 144-144s-64.5-144-144-144H192zM0 256C0 150 86 64 192 64H384c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256zm384-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faRectangleVertical = {\n prefix: 'far',\n iconName: 'rectangle-vertical',\n icon: [384, 512, [\"rectangle-portrait\"], \"f2fb\", \"M336 448c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l256 0c8.8 0 16 7.2 16 16l0 384zM384 64c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384z\"]\n};\nvar faRectanglePortrait = faRectangleVertical;\nvar faPersonWalking = {\n prefix: 'far',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm11.7 128.8l-29.9 89.8c-1.1 3.2 0 6.6 2.5 8.7l16.4 13.3 32.4-103.8c.1-.3 .2-.7 .3-1c-6.7-3.5-14-5.9-21.7-7.1zm57.6 53.1l-28.5 91.3 50.1 40.7c6.9 5.6 11.7 13.4 13.8 22.1l22.8 98.6c3 12.9-5.1 25.8-18 28.8s-25.8-5.1-28.8-18l-22.1-96L114 312.6C96 297.9 88.9 273.5 96.2 251.4L119 183.1c-24.7 9.8-44.7 28.9-55.6 53.3l-9.5 21.3c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7L19.5 217c17.1-38.5 49.6-68 89.5-81.3c15.3-5.1 31.3-7.7 47.4-7.7h4.9c52.5 0 98.7 34.8 113.2 85.4l10.9 38.1L313 279c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L250 283.9c-4.8-4.8-8.3-10.8-10.2-17.3l-10.5-36.7zM75.5 402.5l24.1-60.4 39 31.7-19.2 48c-2 5-5 9.6-8.9 13.4L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.5-68.5z\"]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'far',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M56 32c13.3 0 24 10.7 24 24V432H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignalStream = {\n prefix: 'far',\n iconName: 'signal-stream',\n icon: [576, 512, [], \"f8dd\", \"M99.8 69.4c10.2 8.4 11.6 23.6 3.2 33.8C68.6 144.7 48 197.9 48 256s20.6 111.3 55 152.8c8.4 10.2 7 25.3-3.2 33.8s-25.3 7-33.8-3.2C24.8 389.6 0 325.7 0 256S24.8 122.4 66 72.6c8.4-10.2 23.6-11.6 33.8-3.2zm376.5 0c10.2-8.4 25.3-7 33.8 3.2c41.2 49.8 66 113.8 66 183.4s-24.8 133.6-66 183.4c-8.4 10.2-23.6 11.6-33.8 3.2s-11.6-23.6-3.2-33.8c34.3-41.5 55-94.7 55-152.8s-20.6-111.3-55-152.8c-8.4-10.2-7-25.3 3.2-33.8zM248 256a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm-61.1-78.5C170 199.2 160 226.4 160 256s10 56.8 26.9 78.5c8.1 10.5 6.3 25.5-4.2 33.7s-25.5 6.3-33.7-4.2c-23.2-29.8-37-67.3-37-108s13.8-78.2 37-108c8.1-10.5 23.2-12.3 33.7-4.2s12.3 23.2 4.2 33.7zM427 148c23.2 29.8 37 67.3 37 108s-13.8 78.2-37 108c-8.1 10.5-23.2 12.3-33.7 4.2s-12.3-23.2-4.2-33.7C406 312.8 416 285.6 416 256s-10-56.8-26.9-78.5c-8.1-10.5-6.3-25.5 4.2-33.7s25.5-6.3 33.7 4.2z\"]\n};\nvar faDownToBracket = {\n prefix: 'far',\n iconName: 'down-to-bracket',\n icon: [448, 512, [], \"e4e7\", \"M114.2 192L224 302 333.8 192H280c-13.3 0-24-10.7-24-24V48l-64 0 0 120c0 13.3-10.7 24-24 24l-53.8 0zM224 352c-11.5 0-22.5-4.6-30.6-12.7L77.6 223.2C68.9 214.5 64 202.7 64 190.4c0-25.6 20.8-46.4 46.4-46.4l33.6 0 0-96c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 339.3c-8.1 8.1-19.1 12.7-30.6 12.7zM48 344l0 80c0 22.1 17.9 40 40 40l272 0c22.1 0 40-17.9 40-40V344c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 48.6-39.4 88-88 88L88 512c-48.6 0-88-39.4-88-88l0-80c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCircleZ = {\n prefix: 'far',\n iconName: 'circle-z',\n icon: [512, 512, [], \"e130\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h98.2L164.3 346.3c-5.1 7.3-5.7 16.9-1.5 24.8S175.1 384 184 384H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H229.8L347.7 165.7c5.1-7.3 5.7-16.9 1.5-24.8S336.9 128 328 128H184z\"]\n};\nvar faStars = {\n prefix: 'far',\n iconName: 'stars',\n icon: [512, 512, [], \"f762\", \"M325.8 152.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104l13.8 48.3zM115.7 346.2L75.5 307l55.5-8.1c15.6-2.3 29.2-12.1 36.1-26.3l24.8-50.3 24.8 50.3c7 14.2 20.5 24 36.1 26.3l55.5 8.1-40.2 39.2c-11.3 11-16.4 26.9-13.8 42.4l9.5 55.4-49.5-26.1c-14-7.4-30.7-7.4-44.7 0L120 444l9.5-55.4c2.7-15.6-2.5-31.4-13.8-42.4zm54.7-188.8l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94c-8.8-17.9-34.3-17.9-43.1 0zm258.4 85.8l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z\"]\n};\nvar faFire = {\n prefix: 'far',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M89.3 156.3C113 115 143.2 77 170.5 50.4c18.7 18.7 40.9 47.2 60.1 71.7c3.8 4.8 7.4 9.5 10.9 13.9c4.6 5.8 11.7 9.2 19.1 9.1s14.4-3.6 18.9-9.5c3.3-4.3 7.7-10.8 12.3-17.4c2.6-3.8 5.3-7.6 7.8-11.2c5.6-7.9 10.5-14.5 14.4-19.1c20 20.8 41 53 57.4 88.4c17.7 38.2 28.6 77 28.6 106.3c0 103-78.8 181.4-176 181.4c-98.3 0-176-78.4-176-181.4c0-37.5 16.2-82.4 41.3-126.2zM199.5 11.6C183.3-3.8 158-3.9 141.8 11.5c-32 30.1-67 73.6-94.1 121C20.7 179.5 0 233 0 282.6C0 410.9 98.1 512 224 512c124.6 0 224-100.9 224-229.4c0-39.1-13.9-85.2-33.1-126.5C395.7 114.6 369.8 74.9 343 49c-16.3-15.8-42-15.8-58.3-.1c-7.9 7.6-17 20-24.3 30.3l-1.1 1.6C240.6 57 218.4 29.5 199.5 11.6zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\"]\n};\nvar faBedPulse = {\n prefix: 'far',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24H352c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM288 216c0-27.3 19.5-50 45.4-55l20 30.1c4.7 7 10.8 12.7 17.8 16.9H344c-4.4 0-8 3.6-8 8V368H592V280c0-39.8-32.2-72-72-72H428.8c9.3-5.6 17-13.9 21.8-24.2L461.9 160H520c66.3 0 120 53.7 120 120V392 496c0 13.3-10.7 24-24 24s-24-10.7-24-24V416H312 48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V392 88C0 74.7 10.7 64 24 64s24 10.7 24 24V368H288V216zm-80 32a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM80 248a88 88 0 1 1 176 0A88 88 0 1 1 80 248z\"]\n};\nvar faProcedures = faBedPulse;\nvar faHouseDay = {\n prefix: 'far',\n iconName: 'house-day',\n icon: [640, 512, [], \"e00e\", \"M174.2 8.3C171.4 3.2 166-.1 160.1-.1s-11.3 3.2-14.1 8.4L118.4 59.5 62.8 42.8c-5.6-1.7-11.7-.1-15.9 4s-5.7 10.3-4 15.9l16.7 55.7L8.3 146c-5.2 2.8-8.4 8.2-8.4 14.1s3.2 11.3 8.4 14.1l51.2 27.6L42.8 257.4c-1.7 5.6-.1 11.7 4 15.9s10.3 5.7 15.9 4l55.7-16.7 6.2 11.5 24-19.6 14.5-11.8c-1 0-2.1 .1-3.1 .1c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80c0 6.6-.8 13-2.3 19.2l54.6-44.5-31.7-17.1 16.7-55.7c1.7-5.6 .1-11.7-4-15.9s-10.3-5.7-15.9-4L201.8 59.5 174.2 8.3zM208 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm207.2-58.6c-8.8-7.2-21.5-7.2-30.3 0l-216 176c-10.3 8.4-11.8 23.5-3.4 33.8s23.5 11.8 33.8 3.4L224 294.4V456c0 30.9 25.1 56 56 56H520c30.9 0 56-25.1 56-56V294.4l24.8 20.2c10.3 8.4 25.4 6.8 33.8-3.4s6.8-25.4-3.4-33.8l-216-176zM528 255.3V456c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V255.3L400 151 528 255.3zM352 312v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24z\"]\n};\nvar faShuttleSpace = {\n prefix: 'far',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M32 384H24c-13.3 0-24-10.7-24-24V328 184 152c0-13.3 10.7-24 24-24h8V80c0-26.5 21.5-48 48-48h50c40.6 0 80.4 11 115.2 31.9L405.3 160H456c69.3 0 135 22.7 179.2 81.6c6.4 8.5 6.4 20.3 0 28.8C591 329.3 525.3 352 456 352H405.3L245.2 448.1C210.4 469 170.6 480 130 480H80c-26.5 0-48-21.5-48-48V384zm280-32H168c-9.9 13.2-23.9 23.3-40 28.3V432h2c31.9 0 63.2-8.7 90.6-25.1L312 352zm0-192l-91.5-54.9C193.2 88.7 161.9 80 130 80h-2v51.7c16.1 5.1 30.1 15.1 40 28.3H312zM48 184V328v8h56c12.7 0 23.8-7.4 28.9-18.3c4-8.4 12.4-13.7 21.7-13.7H456c32.6 0 62.4-5.8 88-18.5V226.5c-25.6-12.6-55.4-18.5-88-18.5H154.6c-9.3 0-17.7-5.3-21.7-13.7C127.8 183.4 116.7 176 104 176H48v8zm416 40c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faShirtLongSleeve = {\n prefix: 'far',\n iconName: 'shirt-long-sleeve',\n icon: [640, 512, [], \"e3c7\", \"M104.3 73.7l-21-11.6 0 0 21 11.6zM37.9 194.5l21 11.6-21-11.6zM122 240.7l21 11.6 0 0-21-11.6zM184 128h24c0-11-7.4-20.5-18-23.2s-21.7 2.1-27 11.7L184 128zm272 0l21-11.6c-5.3-9.6-16.4-14.4-27-11.7s-18 12.3-18 23.2h24zm62 112.8l21-11.6 0 0-21 11.6zm84.1-46.3l-21 11.6v0l21-11.6zM535.7 73.7l21-11.6v0l-21 11.6zM441.5 24.1L439.3 48c1.1 .1 2.3 .1 3.4 .1l-1.2-24zm-43 15.8l23.5 4.7v0l-23.5-4.7zm-156.8 0l23.5-4.7v0l-23.5 4.7zm-43-15.8l-1.2 24c1.1 .1 2.3 0 3.4-.1l-2.2-23.9zM125.3 85.3c12.7-23 36.8-37.3 63.1-37.3V0C144.6 0 104.3 23.8 83.2 62.2l42.1 23.1zM58.9 206L125.3 85.3 83.2 62.2 16.8 182.9 58.9 206zM48 248.4c0-14.8 3.7-29.4 10.9-42.4L16.8 182.9C5.8 203 0 225.5 0 248.4H48zM48 392V248.4H0V392H48zm8 8c-4.4 0-8-3.6-8-8H0c0 30.9 25.1 56 56 56V400zm32 0H56v48H88V400zm8-8c0 4.4-3.6 8-8 8v48c30.9 0 56-25.1 56-56H96zm0-143.6V392h48V248.4H96zm5-19.3c-3.2 5.9-5 12.5-5 19.3h48c0 1.3-.3 2.7-1 3.9L101 229.2zm62-112.8L101 229.2 143 252.3l62-112.8L163 116.4zM208 448V128H160V448h48zm16 16c-8.8 0-16-7.2-16-16H160c0 35.3 28.7 64 64 64V464zm192 0H224v48H416V464zm16-16c0 8.8-7.2 16-16 16v48c35.3 0 64-28.7 64-64H432zm0-320V448h48V128H432zM539 229.2L477 116.4 435 139.5l62 112.8L539 229.2zm5 19.3c0-6.7-1.7-13.4-5-19.3L497 252.3c-.6-1.2-1-2.5-1-3.9h48zM544 392V248.4H496V392h48zm8 8c-4.4 0-8-3.6-8-8H496c0 30.9 25.1 56 56 56V400zm32 0H552v48h32V400zm8-8c0 4.4-3.6 8-8 8v48c30.9 0 56-25.1 56-56H592zm0-143.6V392h48V248.4H592zM581.1 206c7.1 13 10.9 27.6 10.9 42.4h48c0-22.9-5.8-45.5-16.8-65.5L581.1 206zM514.7 85.3L581.1 206l42.1-23.1L556.8 62.2 514.7 85.3zM451.6 48c26.3 0 50.4 14.3 63.1 37.3l42.1-23.1C535.7 23.8 495.4 0 451.6 0V48zM444 48h7.6V0H444V48zm-1.3 0c.4 0 .9 0 1.3 0V0c-1.3 0-2.5 0-3.8 .1L442.7 48zM440 48c-.2 0-.5 0-.7 0L443.6 .2c-1.2-.1-2.4-.2-3.6-.2V48zm-24 0h24V0H416V48zm5.9-3.4c-.1 .3-.3 .9-.9 1.5c-.8 .8-2.6 1.8-5 1.8V0c-23 0-37.7 18.2-41.1 35.2l47.1 9.5zM320 128c50.4 0 92.4-35.8 101.9-83.4l-47.1-9.5C369.7 60.7 347.1 80 320 80v48zM218.1 44.6C227.6 92.2 269.6 128 320 128V80c-27.1 0-49.7-19.3-54.9-44.8l-47.1 9.5zM224 48c-2.4 0-4.2-1.1-5-1.8c-.7-.7-.9-1.2-.9-1.5l47.1-9.5C261.7 18.2 247 0 224 0V48zm-24 0h24V0H200V48zm.7 0c-.2 0-.5 0-.7 0V0c-1.2 0-2.4 .1-3.6 .2L200.7 48zM196 48c.4 0 .9 0 1.3 0L199.8 .1C198.5 0 197.3 0 196 0V48zm-7.6 0H196V0h-7.6V48z\"]\n};\nvar faChartPieSimple = {\n prefix: 'far',\n iconName: 'chart-pie-simple',\n icon: [512, 512, [\"chart-pie-alt\"], \"f64e\", \"M495.4 240c9 0 16.6-7 16.6-16C512 100.3 411.7 0 288 0c-9 0-16 7.6-16 16.6V240H495.4zM176 288c0 26.5 21.5 48 48 48H421.1C394.7 410.6 323.6 464 240 464C134 464 48 378 48 272c0-83.6 53.4-154.7 128-181.1V288zM224 66.7c0-18.5-15.7-33.3-33.8-29.5C81.5 60.1 0 156.5 0 272C0 404.6 107.5 512 240 512c115.5 0 211.9-81.5 234.8-190.2c3.8-18.1-11-33.8-29.5-33.8H272 224V240 66.7z\"]\n};\nvar faChartPieAlt = faChartPieSimple;\nvar faFaceLaugh = {\n prefix: 'far',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M384 480h48c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144c-11.4 0-21.9 6-27.6 15.9L48 357.1V96c0-8.8 7.2-16 16-16H181.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H416c8.8 0 16 7.2 16 16v32h48V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H87.7 384z\"]\n};\nvar faAlbumCollectionCircleUser = {\n prefix: 'far',\n iconName: 'album-collection-circle-user',\n icon: [640, 512, [], \"e48f\", \"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM6.2 232.3C1.1 194 30.9 160 69.6 160H442.4c23.9 0 44.4 13 55.4 32l-1.8 0c-26.2 0-51.1 5.7-73.4 16H69.6c-9.7 0-17.1 8.5-15.9 18.1l29.5 224c1 8 7.8 13.9 15.9 13.9H348.5c12.3 18.8 28 35.1 46.3 48H99.1c-32.1 0-59.3-23.8-63.5-55.7L6.2 232.3zM256 232c38.9 0 74.2 11.1 100.1 29.2C333.4 290.8 320 327.8 320 368c0 20.1 3.4 39.4 9.6 57.4C308 434.7 282.9 440 256 440c-79.5 0-144-46.6-144-104s64.5-104 144-104zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24zM256 368c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zm96 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H463.4c-21 0-38.9 13.7-45.1 32.7C438.5 468.1 465.8 480 496 480s57.5-11.9 77.7-31.3zM544 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCandy = {\n prefix: 'far',\n iconName: 'candy',\n icon: [640, 512, [127852], \"e3e7\", \"M309 399.6L198.5 178.7C184.3 201 176 227.5 176 256c0 75.8 58.6 137.9 133 143.6zM233.3 141L360 394.4c17.1-4.9 32.8-12.9 46.7-23.4L280 117.6c-17.1 4.9-32.8 12.9-46.7 23.4zM331 112.4L441.5 333.3C455.7 311 464 284.5 464 256c0-75.8-58.6-137.9-133-143.6zM320 64c88 0 162.1 59.1 184.8 139.8l91.9-49c10.5-5.6 23.5-2.7 30.6 6.9s6.1 22.9-2.3 31.3l-29.6 29.6 29.1 10.9C633.8 237 640 246 640 256s-6.2 19-15.6 22.5l-29.1 10.9L625 319c8.4 8.4 9.4 21.7 2.3 31.3s-20.1 12.5-30.6 6.9l-91.9-49C482.1 388.9 408 448 320 448s-162.1-59.1-184.8-139.8l-91.9 49c-10.5 5.6-23.5 2.7-30.6-6.9S6.6 327.4 15 319l29.6-29.6L15.6 278.5C6.2 275 0 266 0 256s6.2-19 15.6-22.5l29.1-10.9L15 193c-8.4-8.4-9.4-21.7-2.3-31.3s20.1-12.5 30.6-6.9l91.9 49C157.9 123.1 232 64 320 64z\"]\n};\nvar faBowlHot = {\n prefix: 'far',\n iconName: 'bowl-hot',\n icon: [512, 512, [\"soup\"], \"f823\", \"M152 0c13.3 0 24 10.7 24 24v8c0 17.6 8.3 34.2 22.4 44.8C224.6 96.4 240 127.3 240 160v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-17.6-8.3-34.2-22.4-44.8C143.4 95.6 128 64.7 128 32V24c0-13.3 10.7-24 24-24zm-.5 432.5c11.5 5.2 20.4 14.7 25 26.4c1.2 3.1 4.2 5.1 7.5 5.1H328c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C421.6 404.8 464 343.3 464 272H48c0 71.3 42.4 132.8 103.5 160.5zM0 272c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48c0 90.8-54.1 169-131.7 204.2c-8.1 21-28.4 35.8-52.3 35.8H184c-23.8 0-44.2-14.9-52.3-35.8C54.1 441 0 362.8 0 272zM304 24v8c0 17.6 8.3 34.2 22.4 44.8C352.6 96.4 368 127.3 368 160v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-17.6-8.3-34.2-22.4-44.8C271.4 95.6 256 64.7 256 32V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSoup = faBowlHot;\nvar faFlatbread = {\n prefix: 'far',\n iconName: 'flatbread',\n icon: [512, 512, [129747], \"e40b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm361-71L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L327 151c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM241 111c9.4 9.4 9.4 24.6 0 33.9l-96 96c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96c9.4-9.4 24.6-9.4 33.9 0zM401 305l-96 96c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faHeartCirclePlus = {\n prefix: 'far',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faCodeFork = {\n prefix: 'far',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 35.8-23.5 66.1-56 76.3V192c0 22.1 17.9 40 40 40H304c22.1 0 40-17.9 40-40V156.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V192c0 48.6-39.4 88-88 88H248v75.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V280H144c-48.6 0-88-39.4-88-88V156.3C23.5 146.1 0 115.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCity = {\n prefix: 'far',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M104 0C90.7 0 80 10.7 80 24V64H72C32.2 64 0 96.2 0 136V440c0 39.8 32.2 72 72 72H240c-10-13.4-16-30-16-48H72c-13.3 0-24-10.7-24-24V136c0-13.3 10.7-24 24-24h8 48 48 48V64 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H128V24c0-13.3-10.7-24-24-24zM464 160c0 26.5 21.5 48 48 48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H448 320c-8.8 0-16-7.2-16-16V224 64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16v96zm48-48V64c0-35.3-28.7-64-64-64H320c-35.3 0-64 28.7-64 64V224 448c0 35.3 28.7 64 64 64H448 576c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H560 512V112zM352 336c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v32zM368 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H368zM352 240c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v32zM496 416h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zM480 304c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16v32zM112 320h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zM96 400c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32zm16-176h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16z\"]\n};\nvar faSignalBarsWeak = {\n prefix: 'far',\n iconName: 'signal-bars-weak',\n icon: [640, 512, [\"signal-alt-1\"], \"f691\", \"M80 448a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM64 384a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]\n};\nvar faSignalAlt1 = faSignalBarsWeak;\nvar faMicrophoneLines = {\n prefix: 'far',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M240 128v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c0 26.5-21.5 48-48 48s-48-21.5-48-48V96c0-26.5 21.5-48 48-48s48 21.5 48 48H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32zM96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96S96 43 96 96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faClockTwelve = {\n prefix: 'far',\n iconName: 'clock-twelve',\n icon: [512, 512, [], \"e358\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V256c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faPepperHot = {\n prefix: 'far',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24V152c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zm-256 302.7L261.7 160l42.3 0v22.8l-90.7 148c-24.9 40.7-65.3 69.5-111.9 79.8L66 418.5c-10.5 2.3-18 11.7-18 22.5c0 12.7 10.3 23 23 23h32.1c133.7 0 254.1-68.7 323.6-176h1.4l23.9 47.8C372.3 443.9 244.3 512 103.2 512H71c-39.2 0-71-31.8-71-71c0-33.3 23.1-62.1 55.6-69.3L91 363.8c33.9-7.5 63.2-28.5 81.4-58.1z\"]\n};\nvar faCitrusSlice = {\n prefix: 'far',\n iconName: 'citrus-slice',\n icon: [512, 512, [], \"e2f5\", \"M7 391c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0L7 391zm384.3 .3c-91.1 91.1-235.2 96.2-332.6 15.8l22.4-22.4C118.1 414.3 165 432 216 432c119.3 0 216-96.7 216-216c0-51-17.7-97.9-47.2-134.8l22.4-22.4c80.4 97.4 75.3 241.5-15.8 332.6zm-40.8-276c13.3 17.8 23.2 38.3 28.7 60.6H289.9l60.6-60.6zM272 208H383.8c.1 2.7 .2 5.3 .2 8c0 40.6-14.4 77.9-38.4 106.9l-82.4-82.4c5.9-10 8.9-21.3 8.9-32.5zm-31.5 55.1l82.4 82.4C293.9 369.6 256.6 384 216 384c-2.7 0-5.3-.1-8-.2V272c11.3 0 22.5-3 32.5-8.9zM115.4 350.6L176 289.9v89.3c-22.3-5.4-42.8-15.3-60.6-28.7z\"]\n};\nvar faSheep = {\n prefix: 'far',\n iconName: 'sheep',\n icon: [640, 512, [128017], \"f711\", \"M384 135.8V208c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V135.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5L561.6 77.4C544.7 50.2 514.5 32 480 32s-64.7 18.2-81.6 45.4L350.5 97.9c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2zm80-7.8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-203.1-1l-.4-.9c-6.9-16.1-5.7-33.5 1.8-47.9c-7.4-11.8-18.5-21-31.7-26C271.6 65.5 264 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c.5 0 1 0 1.5 0l17.6 93.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7V480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c.5 0 1 0 1.5 0c35.3 0 64-28.7 64-64c0-2.7-.2-5.4-.5-8H464c-11.8 0-23.2-1.8-33.8-5.2c.2 3.1 .6 6.2 1.4 9.3c.3 1.2 .5 2.5 .5 3.9c0 8.8-7.2 16-16 16c-.9 0-1.7-.1-2.5-.2c-24.6-3.8-48 11.9-53.9 36c-1.7 7-8.1 12.1-15.5 12.1c-3.8 0-7.2-1.3-9.9-3.4c-20.1-16-49.1-13.3-66 6c-3 3.4-7.3 5.5-12.1 5.5s-9.1-2.1-12.1-5.5c-16.9-19.3-45.9-21.9-66-6c-2.7 2.2-6.1 3.4-9.9 3.4c-7.5 0-13.8-5.1-15.5-12.1c-5.9-24.2-29.3-39.8-53.9-36c-.8 .1-1.6 .2-2.5 .2c-8.8 0-16-7.2-16-16c0-1.4 .2-2.7 .5-3.9c5.3-21.3-4.6-43.6-24-53.9C51.3 267.4 48 262 48 256s3.3-11.4 8.5-14.2c19.4-10.4 29.3-32.6 24-53.9c-.3-1.2-.5-2.5-.5-3.9c0-8.8 7.2-16 16-16c.9 0 1.7 .1 2.5 .2c24.6 3.8 48-11.9 53.9-36c1.7-7 8.1-12.1 15.5-12.1c3.8 0 7.2 1.3 9.9 3.5c20.1 16 49.1 13.3 66-6c3-3.4 7.3-5.5 12.1-5.5c5.8 0 10.9 3 13.7 7.8c8 13.3 22 21.9 37.4 23.1c.6 0 1.2 .1 1.7 .1z\"]\n};\nvar faUnlock = {\n prefix: 'far',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M144 128c0-44.2 35.8-80 80-80c35.6 0 65.8 23.2 76.1 55.4c4.1 12.6 17.6 19.5 30.2 15.5s19.5-17.6 15.5-30.2C329.2 37.2 281 0 224 0C153.3 0 96 57.3 96 128v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V128zM48 256c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256z\"]\n};\nvar faColonSign = {\n prefix: 'far',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255.3 29.6c3.1-12.9-4.8-25.9-17.7-29s-25.9 4.8-29 17.7l-13.5 56C103.6 88.3 32 163.2 32 256c0 63 33 117.8 82.9 150.8L96.7 482.4c-3.1 12.9 4.8 25.9 17.7 29s25.9-4.8 29-17.7L159 428.7c9.3 3.2 18.9 5.8 28.8 7.7l-11.1 46c-3.1 12.9 4.8 25.9 17.7 29s25.9-4.8 29-17.7l13-53.9c39.3-2 75.7-15.1 105.5-36.1c10.8-7.7 13.4-22.6 5.7-33.5s-22.6-13.4-33.5-5.7c-18.8 13.3-41.3 22.5-65.9 26l59.6-247c2.1 1.3 4.2 2.7 6.3 4.2c10.8 7.7 25.8 5.1 33.5-5.7s5.1-25.8-5.7-33.5c-7.1-5-14.5-9.5-22.3-13.6l15.7-65.2c3.1-12.9-4.8-25.9-17.7-29s-25.9 4.8-29 17.7L274.3 77.8c-9.6-2.3-19.4-4-29.4-4.9l10.4-43.2zm-72.7 96.4l-55.5 230C98 331 80 295.1 80 256c0-60.1 42.5-112.6 102.7-129.9zM170.3 381.8l63.2-261.6c10.2 .5 20.1 1.9 29.6 4.2L199 389.7c-10-1.7-19.6-4.4-28.7-7.9z\"]\n};\nvar faHeadset = {\n prefix: 'far',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208V400.1c0 22.1-17.9 40-40 40L313.6 440c-8.3-14.4-23.8-24-41.6-24H240c-26.5 0-48 21.5-48 48s21.5 48 48 48h32c17.8 0 33.3-9.7 41.6-24l110.4 .1c48.6 0 88.1-39.4 88.1-88V256C512 114.6 397.4 0 256 0S0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm112-32V336c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zM80 256v48c0 44.2 35.8 80 80 80h16c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H160c-44.2 0-80 35.8-80 80zm272-32c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32V224zm80 32c0-44.2-35.8-80-80-80H336c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h16c44.2 0 80-35.8 80-80V256z\"]\n};\nvar faBadgerHoney = {\n prefix: 'far',\n iconName: 'badger-honey',\n icon: [640, 512, [129441], \"f6b4\", \"M465 112c16.9 0 33.6 3.7 49 10.9L559.2 144H486.9c-49.3 0-97.7 13.4-139.9 38.8l-69.4 41.7c-17 10.2-36.4 15.6-56.2 15.6c-55.4 0-101.1-41.2-108.3-94.6c4.9-.9 9.9-1.4 15-1.4H332.2c27.3 0 54.1-6.3 78.5-18.5l2.5-1.2c16.1-8 33.8-12.2 51.8-12.2zm126.8 64c-.6 4.7-2.8 9-6.1 12.4L583 191l16.4 16.4L583 191c-5.5 5.5-13.8 9.2-23.9 10.1c-67.9 6.4-128.1 37.5-169.4 67.9c-7.8 5.7-11.4 15.6-9.1 25c0 .2 .1 .4 .1 .6l0 0 21.3 128c.8 4.9-2.9 9.3-7.9 9.3H363.1c-3.9 0-7.2-2.8-7.9-6.7L338.3 324.1c-1.9-11.6-11.9-20.1-23.7-20.1H204.6c-9.6 0-18.3 5.7-22.1 14.5l-16 37.3c-5.2 12.1-5.9 25.6-2.2 38.2l8.3 27.7c1.5 5.1-2.3 10.3-7.7 10.3H135.8c-3.5 0-6.6-2.3-7.7-5.7L115 382.6c-1.3-4.4-1.3-9.1-.1-13.5l10.7-37.6c1.8-6.2 1-13-2.3-18.6s-8.6-9.7-14.9-11.3C73.7 292.9 48 261.4 48 224c0-27.3 13.7-51.5 34.7-65.9C95.4 223 152.6 272 221.3 272c25.6 0 50.7-7 72.7-20.1l69.4-41.7c33.2-19.9 70.6-31.5 109.1-33.8c2 8.9 10 15.6 19.5 15.6c9.7 0 17.7-6.9 19.6-16h80.2zM48 323.9c7.8 6.2 16.3 11.6 25.4 15.9l-4.6 16.1c-3.8 13.2-3.7 27.3 .3 40.5l13.1 43.7c7.1 23.7 28.9 39.9 53.6 39.9H165c37.5 0 64.4-36.2 53.6-72.1l-8.3-27.7c-.5-1.8-.4-3.7 .3-5.4l9.8-22.8h73.9l13.5 81.2c4.5 27 27.9 46.8 55.2 46.8h31.1c34.6 0 60.9-31.1 55.2-65.2L430.2 299.3c28.6-19.1 64.3-36.8 103.4-45.6l19.6 31.4c3.1 5 10.4 5 13.6 0l27.8-44.5c8.1-3.8 15.7-9 22.4-15.7l2.6-2.6c13.1-13.1 20.4-30.8 20.4-49.3c0-27.1-15.7-51.7-40.2-63.1L534.2 79.4C512.6 69.2 488.9 64 465 64c-25.4 0-50.5 5.9-73.2 17.3l-2.5 1.2C371.6 91.4 352 96 332.2 96H128C57.3 96 0 153.3 0 224V328c0 13.3 10.7 24 24 24s24-10.7 24-24v-4.1z\"]\n};\nvar faH4 = {\n prefix: 'far',\n iconName: 'h4',\n icon: [640, 512, [], \"f86a\", \"M455.5 92.9L421.5 256H592V88c0-13.3 10.7-24 24-24s24 10.7 24 24V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V304H392c-7.2 0-14.1-3.3-18.6-8.9s-6.3-13-4.9-20l40-192c2.7-13 15.4-21.3 28.4-18.6s21.3 15.4 18.6 28.4zM24 64c13.3 0 24 10.7 24 24V224H272V88c0-13.3 10.7-24 24-24s24 10.7 24 24V248 424c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H48V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V248 88C0 74.7 10.7 64 24 64z\"]\n};\nvar faStoreSlash = {\n prefix: 'far',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V384 336 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-6.6 0-13.1-.5-19.4-1.6V336H461L301.2 210.7c1.9-1.2 3.7-2.4 5.5-3.7c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c14.5 10.7 32.5 17.2 52.2 17.2c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm94.1 73.7L152.4 48H487.6l51.5 81.5 0 0c5.8 9.2 6.4 20.5 2.3 30.1c-3.9 9.2-11.1 14.8-20.1 16c-2 .3-3.9 .4-5.8 .4c-11.7 0-22.2-5.1-29.7-13.2c-9.1-10-22-15.7-35.6-15.7s-26.5 5.8-35.5 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-6.9 7.6-16.5 12.5-27.5 13.1L132.9 78.9zm-84 55.7c-6.1 40.6 19.5 82.8 63.3 88.7c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6L48.9 134.5zM365.5 384l-60.9-48H144V254.4c-6.4 1.1-12.9 1.6-19.6 1.6c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V336v48 64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3L467.1 464H160c-8.8 0-16-7.2-16-16V384H365.5z\"]\n};\nvar faRoadCircleXmark = {\n prefix: 'far',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H360.2c-21.9-26.6-36.2-59.7-39.5-96c-.2 0-.5 0-.7 0c-13.3 0-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l34.9 96.9c5.4-.5 10.8-.7 16.3-.7c12.3 0 24.2 1.3 35.8 3.6L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM326.9 319c4.1-14.1 9.8-27.4 17.1-39.8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24c2.4 0 4.7-.4 6.9-1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faSignalSlash = {\n prefix: 'far',\n iconName: 'signal-slash',\n icon: [640, 512, [], \"f695\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L600 445V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V407.3l-80-62.7V120c0-13.3-10.7-24-24-24s-24 10.7-24 24V307l-80-62.7V216c0-13.3-10.7-24-24-24c-10.4 0-19.2 6.6-22.6 15.8L38.8 5.1zM576 512l-.2 0h.5l-.2 0zM472 488V467.9l-48-37.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM344 367l-48-37.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V367zM192 288c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V312c0-13.3-10.7-24-24-24zM64 384c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408c0-13.3-10.7-24-24-24z\"]\n};\nvar faUserMinus = {\n prefix: 'far',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM269.7 352c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112h91.4zm-91.4-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H224 178.3zM472 200c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H472z\"]\n};\nvar faMarsStrokeUp = {\n prefix: 'far',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M175.6 5.8c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l16.4-14V128H104c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v17.8C59 205.4 0 271.8 0 352c0 88.4 71.6 160 160 160s160-71.6 160-160c0-80.2-59-146.6-136-158.2V176h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V76.2l16.4 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48zM160 240a112 112 0 1 1 0 224 112 112 0 1 1 0-224z\"]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'far',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M159.2 12.6c5.7-10.5 18.1-15.2 29.3-11.1L320 49.3 451.5 1.5c11.2-4.1 23.7 .7 29.3 11.1l81.6 151c32.4 60.1 10.6 133.3-45.6 167L552.6 429l55.2-20.1c12.5-4.5 26.2 1.9 30.8 14.3s-1.9 26.2-14.3 30.8l-77.8 28.3-77.8 28.3c-12.5 4.5-26.2-1.9-30.8-14.3s1.9-26.2 14.3-30.8l55.2-20.1-35.8-98.5c-61.2 9.4-121.7-29.6-136.3-92.5L320 188.6l-15.3 65.8c-14.6 62.9-75.1 101.9-136.3 92.5l-35.8 98.5 55.2 20.1c12.5 4.5 18.9 18.3 14.3 30.8s-18.3 18.9-30.8 14.3L93.6 482.3 15.8 454C3.3 449.4-3.1 435.7 1.5 423.2s18.3-18.9 30.8-14.3L87.4 429l35.8-98.4c-56.2-33.7-78.1-106.9-45.6-167l81.6-151zm32.4 41L156.8 118 277 161.7l16.5-71L191.6 53.6zM119.8 186.4c-22.4 41.5-2.8 93.3 41.6 109.4c41.3 15 86.5-9.4 96.5-52.3l8.1-34.7L133.7 160.7l-13.9 25.7zM448.4 53.6L346.5 90.7l16.5 71L483.2 118 448.4 53.6zm71.7 132.7l-13.9-25.7L374 208.8l8.1 34.7c10 42.9 55.2 67.3 96.5 52.3c44.3-16.1 64-67.9 41.6-109.4z\"]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faTaco = {\n prefix: 'far',\n iconName: 'taco',\n icon: [512, 512, [127790], \"f826\", \"M274.8 38.4c-11-8.6-26.5-8.6-37.5 0L193.1 72.6c-5.6 4.4-12.6 6.6-19.7 6.4l-55.8-1.7c-14-.4-26.5 8.6-30.4 22.1L71.7 152.9c-2 6.8-6.3 12.8-12.2 16.8L13.4 201C1.9 208.9-2.9 223.6 1.8 236.7l17.1 47.7C70.9 209.2 157.7 160 256 160s185.1 49.2 237.1 124.4l17.1-47.7c4.7-13.1 0-27.8-11.6-35.7l-46.1-31.4c-5.9-4-10.2-9.9-12.2-16.8L424.7 99.3c-3.9-13.4-16.4-22.5-30.4-22.1L338.6 79c-7.1 .2-14.1-2-19.7-6.4L274.8 38.4zM256 240c109.5 0 199.2 84.6 207.4 192H48.6C56.8 324.6 146.5 240 256 240zM32 480H480c17.7 0 32-14.3 32-32c0-141.4-114.6-256-256-256S0 306.6 0 448c0 17.7 14.3 32 32 32zM168 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHexagonPlus = {\n prefix: 'far',\n iconName: 'hexagon-plus',\n icon: [512, 512, [\"plus-hexagon\"], \"f300\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusHexagon = faHexagonPlus;\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M280 64h40c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h40 9.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64H280zM64 112c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H304v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHouseCircleExclamation = {\n prefix: 'far',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H336v0H240V320h86.6c4.8-17.1 12.2-33.2 21.7-47.8c-1.4-.2-2.9-.2-4.3-.2H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 454.7 196.9c13.3-3.2 27.1-4.9 41.3-4.9c10.3 0 20.3 .9 30.1 2.6L303.5 5.7zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileArrowUp = {\n prefix: 'far',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 408V305.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V408c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'far',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M39.9 185.7C114.6 119.9 212.6 80 320 80s205.4 39.9 280.1 105.7c9.9 8.8 25.1 7.8 33.9-2.2s7.8-25.1-2.2-33.9C548.7 76.4 439.5 32 320 32S91.3 76.4 8.2 149.6c-9.9 8.8-10.9 23.9-2.2 33.9s23.9 10.9 33.9 2.2zM320 256c64.6 0 123.5 24.7 167.6 65.2c9.8 9 24.9 8.3 33.9-1.5s8.3-24.9-1.5-33.9C467.4 237.5 397.1 208 320 208s-147.4 29.5-200.1 77.9c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5C196.5 280.7 255.4 256 320 256zm56 168a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faMessages = {\n prefix: 'far',\n iconName: 'messages',\n icon: [640, 512, [\"comments-alt\"], \"f4b6\", \"M48 72c0-13.3 10.7-24 24-24H344c13.3 0 24 10.7 24 24V248c0 13.3-10.7 24-24 24H216c-4.7 0-9.4 1.4-13.3 4L144 315.2V296c0-13.3-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V72zM72 0C32.2 0 0 32.2 0 72V248c0 39.8 32.2 72 72 72H96v40c0 8.9 4.9 17 12.7 21.2s17.3 3.7 24.6-1.2l90-60H344c39.8 0 72-32.2 72-72V72c0-39.8-32.2-72-72-72H72zM256 376c0 39.8 32.2 72 72 72h88.7l90 60c7.4 4.9 16.8 5.4 24.6 1.2S544 496.9 544 488V448h24c39.8 0 72-32.2 72-72V200c0-39.8-32.2-72-72-72H448v48H568c13.3 0 24 10.7 24 24V376c0 13.3-10.7 24-24 24H520c-13.3 0-24 10.7-24 24v19.2L437.3 404c-3.9-2.6-8.6-4-13.3-4H328c-13.3 0-24-10.7-24-24V352H256v24z\"]\n};\nvar faCommentsAlt = faMessages;\nvar faBath = {\n prefix: 'far',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M101.3 48C89.5 48 80 57.5 80 69.3V256H432h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H432 80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V69.3C32 31 63 0 101.3 0c18.4 0 36 7.3 49 20.3l4.8 4.8c11.1-5.8 23.7-9.1 37-9.1c23.9 0 45.4 10.5 60.1 27.2c9.2-5.3 21.1-4 28.9 3.9c9.4 9.4 9.4 24.6 0 33.9L177 185c-9.4 9.4-24.6 9.4-33.9 0c-7.8-7.8-9.1-19.7-3.9-28.9C122.5 141.4 112 119.9 112 96c0-13.4 3.3-25.9 9.1-37l-4.8-4.8c-4-4-9.4-6.2-15-6.2zM32 336H80v32c0 26.5 21.5 48 48 48H384c26.5 0 48-21.5 48-48V336h48v32c0 28.4-12.4 54-32 71.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V462.7c-5.2 .9-10.5 1.3-16 1.3H128c-5.5 0-10.8-.5-16-1.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V439.6C44.4 422 32 396.4 32 368V336zM192 64c-17.7 0-32 14.3-32 32c0 10.4 4.9 19.6 12.6 25.5l44.8-44.8C211.6 68.9 202.4 64 192 64z\"]\n};\nvar faBathtub = faBath;\nvar faUmbrellaSimple = {\n prefix: 'far',\n iconName: 'umbrella-simple',\n icon: [512, 512, [\"umbrella-alt\"], \"e2bc\", \"M256 0c13.3 0 24 10.7 24 24v9.1c119.6 11.1 215.3 104.5 230 223c2.2 17.5-12.4 31.9-30 31.9H32C14.3 288-.2 273.6 2 256.1C16.7 137.6 112.4 44.2 232 33.1V24c0-13.3 10.7-24 24-24zM458.4 240C436.8 148.3 354.3 80 256 80S75.2 148.3 53.6 240H458.4zM280 438.6c0 40.6-32.9 73.4-73.4 73.4c-27.8 0-53.2-15.7-65.7-40.6l-2.3-4.7c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l2.3 4.7c4.3 8.6 13.1 14.1 22.8 14.1c14.1 0 25.4-11.4 25.4-25.4V320h48V438.6z\"]\n};\nvar faUmbrellaAlt = faUmbrellaSimple;\nvar faRectangleHistoryCirclePlus = {\n prefix: 'far',\n iconName: 'rectangle-history-circle-plus',\n icon: [640, 512, [], \"e4a3\", \"M64 464l284.5 0c12.3 18.8 28 35.1 46.3 48L64 512c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64l384 0c23.8 0 44.5 12.9 55.5 32.2c-2.5-.1-5-.2-7.5-.2c-26.2 0-51.1 5.7-73.4 16L64 208c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM440 80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24H392zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faUnderline = {\n prefix: 'far',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M16 56c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H112V224c0 61.9 50.1 112 112 112s112-50.1 112-112V80H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V80H40C26.7 80 16 69.3 16 56zM0 456c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPrescriptionBottlePill = {\n prefix: 'far',\n iconName: 'prescription-bottle-pill',\n icon: [576, 512, [], \"e5c0\", \"M48 48H336V80H48V48zM40 0C17.9 0 0 17.9 0 40V88c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V40c0-22.1-17.9-40-40-40H40zM32 160V448c0 35.3 28.7 64 64 64H288c11.6 0 22.4-3.1 31.8-8.4c-13.7-11.3-25.6-24.7-35.3-39.6H96c-8.8 0-16-7.2-16-16V416h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V320h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V224h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V160H32zm320 0H304v87.2c13.8-14.6 30-26.8 48-36V160zm80 112a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 240a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM383 319c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faUserPen = {\n prefix: 'far',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H326.5l-5.1 20.2c-2.3 9.4-1.8 19 1.4 27.8H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c48.1 0 91.8 19.1 123.9 50.1L359.6 388c-23.4-22.3-55.1-36-89.9-36H178.3c-65.7 0-120.1 48.7-129 112zM613.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM375.9 417L505.1 287.8l71 71L446.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faUserEdit = faUserPen;\nvar faBinarySlash = {\n prefix: 'far',\n iconName: 'binary-slash',\n icon: [640, 512, [], \"e33e\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V360c0-39.8-32.2-72-72-72H399.7L295.4 206.2C310.5 193 320 173.6 320 152V72c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v3L38.8 5.1zM176 112.6V72c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v80c0 10.7-7 19.7-16.6 22.8L176 112.6zM456 24c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16C363.8 21.4 357 35 361.2 47.6S379 67 391.6 62.8L408 57.3V176H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h56 56c13.3 0 24-10.7 24-24s-10.7-24-24-24H456V24zM232 312c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16c-12.6 4.2-19.4 17.8-15.2 30.4s17.8 19.4 30.4 15.2l16.4-5.5V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h56 56c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V312zm88 48v80c0 39.8 32.2 72 72 72h48c22.2 0 42-10 55.2-25.8l-37.8-29.7c-4.4 4.7-10.6 7.6-17.5 7.6H392c-13.3 0-24-10.7-24-24V385.9l-47.1-37.1c-.6 3.7-.9 7.4-.9 11.2z\"]\n};\nvar faSquareO = {\n prefix: 'far',\n iconName: 'square-o',\n icon: [448, 512, [], \"e278\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM144 256a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\"]\n};\nvar faSignature = {\n prefix: 'far',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M176 128c0-26.5 21.5-48 48-48s48 21.5 48 48v7.9c0 27.5-2.3 55-7 82.1L158 251.1c-36.9 11.4-62 45.5-62 84.1V410c0 38.6 31.3 70 70 70c24.6 0 47.4-12.9 60-34l15.9-26.4c29.6-49.4 51.1-103.3 63.6-159.5l1-4.7 110.8-34.3-23.9 66.8c-2.6 7.4-1.5 15.5 3 21.9s11.8 10.2 19.6 10.2H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H450.1l28.5-79.9c3.1-8.6 1-18.1-5.3-24.7s-15.7-9-24.4-6.3l-133 41.2c2.7-22 4.1-44.2 4.1-66.4V128c0-53-43-96-96-96s-96 43-96 96v40c0 13.3 10.7 24 24 24s24-10.7 24-24V128zm-3.8 169l80.9-25c-11.7 43.2-29.4 84.5-52.4 123l-15.9 26.4c-4 6.6-11.1 10.7-18.8 10.7c-12.1 0-22-9.8-22-22V335.2c0-17.5 11.4-33 28.2-38.2zM64 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.2c-.1-2-.2-4-.2-6V368zm216.8 48H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H304.1c-7 16.3-14.8 32.4-23.3 48z\"]\n};\nvar faStroopwafel = {\n prefix: 'far',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm97.6-45.3l22.6 22.6 45.3-45.3-22.6-22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l22.6 22.6 45.3-45.3L210.7 97.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 97.6 278.6 75c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-22.6 22.6 45.3 45.3 22.6-22.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-22.6 22.6 45.3 45.3 22.6-22.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L414.4 256 437 278.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-22.6-22.6-45.3 45.3 22.6 22.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-22.6-22.6-45.3 45.3 22.6 22.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 414.4 233.4 437c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-45.3-45.3-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-45.3-45.3L97.6 301.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.6 256 75 233.4c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm90.5 0L142.9 256l45.3 45.3L233.4 256l-45.3-45.3zM256 233.4l45.3-45.3L256 142.9l-45.3 45.3L256 233.4zM278.6 256l45.3 45.3L369.1 256l-45.3-45.3L278.6 256zM256 278.6l-45.3 45.3L256 369.1l45.3-45.3L256 278.6z\"]\n};\nvar faBold = {\n prefix: 'far',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 56C0 42.7 10.7 32 24 32H72 88 212c68.5 0 124 55.5 124 124c0 34.7-14.3 66.2-37.3 88.7C339.7 264.9 368 307.1 368 356c0 68.5-55.5 124-124 124H88 72 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48V256 80H24C10.7 80 0 69.3 0 56zM212 232c42 0 76-34 76-76s-34-76-76-76H96V232H212zM96 280V432H244c42 0 76-34 76-76s-34-76-76-76H212 96z\"]\n};\nvar faAnchorLock = {\n prefix: 'far',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c18.3 0 36.1-2.7 52.8-7.7c-3.1-7.5-4.8-15.7-4.8-24.3V455.3c-14.9 5.6-31.1 8.7-48 8.7H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBuildingNgo = {\n prefix: 'far',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M320 48H64 2C9.1 20.4 34.2 0 64 0H320c29.8 0 54.9 20.4 62 48H320zm16 192h48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V240H48V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V240zM168 80h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V96c0-8.8 7.2-16 16-16zm136 32c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V128zM61.3 87.1l34.7 52V96c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 148.8V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM88 264c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V264zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V264c0-8.8 7.2-16 16-16z\"]\n};\nvar faTransporter3 = {\n prefix: 'far',\n iconName: 'transporter-3',\n icon: [512, 512, [], \"e045\", \"M480 32L472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32zM64 128l-7.3-25.4C55.6 98.7 52.1 96 48 96s-7.6 2.7-8.7 6.6L32 128 6.6 135.3C2.7 136.4 0 139.9 0 144s2.7 7.6 6.6 8.7L32 160l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 160l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 128zm56 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faEngineWarning = {\n prefix: 'far',\n iconName: 'engine-warning',\n icon: [640, 512, [\"engine-exclamation\"], \"f5f2\", \"M424 88c0 13.3-10.7 24-24 24l-72 0v32l81.5 0c14.5 0 28.6 4.9 40 14L488 188.8c15.2 12.1 24 30.5 24 50V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H144c-35.3 0-64-28.7-64-64V280H48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72H80V208c0-35.3 28.7-64 64-64h16 32l88 0V112l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24H400c13.3 0 24 10.7 24 24zM304 212c11 0 20 9 20 20v56c0 11-9 20-20 20s-20-9-20-20V232c0-11 9-20 20-20zM280 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM172.8 336c14.6 0 28.4 6.6 37.5 18l32 40c3 3.8 7.6 6 12.5 6H448c8.8 0 16-7.2 16-16V238.8c0-4.9-2.2-9.5-6-12.5l-38.4-30.8c-2.8-2.3-6.4-3.5-10-3.5H192 160 144c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16h28.8zM576 192h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faEngineExclamation = faEngineWarning;\nvar faCircleDownRight = {\n prefix: 'far',\n iconName: 'circle-down-right',\n icon: [512, 512, [], \"e108\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm96 198.6c0-12.5-10.1-22.6-22.6-22.6c-6 0-11.8 2.4-16 6.6L280 216l-66.3-66.3C210 146 205.1 144 200 144s-10 2-13.7 5.7l-36.7 36.7C146 190 144 194.9 144 200s2 10 5.7 13.7L216 280l-33.4 33.4c-4.2 4.2-6.6 10-6.6 16c0 12.5 10.1 22.6 22.6 22.6H336c8.8 0 16-7.2 16-16V198.6z\"]\n};\nvar faSquareK = {\n prefix: 'far',\n iconName: 'square-k',\n icon: [448, 512, [], \"e274\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm313.1 72.8l-73 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L206 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L278.9 135.2c9.3-9.5 24.5-9.6 33.9-.3s9.6 24.5 .3 33.9z\"]\n};\nvar faManatSign = {\n prefix: 'far',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-13.3 0-24 10.7-24 24V97.5C73.3 109.3 0 190.1 0 288V456c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-71.4 51.9-130.6 120-142V456c0 13.3 10.7 24 24 24s24-10.7 24-24V146c68.1 11.4 120 70.7 120 142V456c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-97.9-73.3-178.7-168-190.5V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faMoneyCheckPen = {\n prefix: 'far',\n iconName: 'money-check-pen',\n icon: [640, 512, [\"money-check-edit\"], \"f872\", \"M64 112H512c8.8 0 16 7.2 16 16v91.6l6.6-6.6c11.6-11.6 26.3-18.5 41.4-20.5V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H330.5l6-23.9c2.2-8.8 6.2-17 11.8-24.1H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16zm56 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM96 200c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm517.8 35.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faMoneyCheckEdit = faMoneyCheckPen;\nvar faNotEqual = {\n prefix: 'far',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M373.5 36.2c11 7.5 13.8 22.4 6.3 33.3L329.2 144H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H296.5l-87 128H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H176.9l-69 101.5c-7.5 11-22.4 13.8-33.3 6.3s-13.8-22.4-6.4-33.3L118.8 368H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H151.5l87-128H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H271.1l69-101.5c7.5-11 22.4-13.8 33.3-6.4z\"]\n};\nvar faBorderTopLeft = {\n prefix: 'far',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-352c0-13.3 10.7-24 24-24l352 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L72 32C32.2 32 0 64.2 0 104L0 456zm128-40a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm-96 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'far',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 8.6-1.8 18.3-5 28.6c-5.7 18.4-15.6 38.8-27.4 59.2l-.1 .2c-3.1 5.4-6.3 10.7-9.6 16c-4.4 7-8.9 14-13.5 20.8l-.4 .6c-18.1 26.9-36.7 51.1-49.2 66.6c-7.7 9.6-22 9.6-29.6 0c-12.4-15.5-31.1-39.7-49.2-66.6c-18.4-27.3-36.3-57.5-46.7-84.4c-.8-2.1-1.6-4.2-2.3-6.3c-4.4-12.6-7-24.4-7-34.6c0-4.7 .3-9.3 .8-13.8C175.6 46.4 226.4 0 288 0c66.3 0 120 53.7 120 120zM352 300.6c13.5-18.2 28.8-39.9 42.7-62.4c1.8-2.9 3.6-5.8 5.3-8.8V453.7l128-46.5V154.3L419.3 193.8c2.2-4.7 4.4-9.3 6.3-14c5.9-14 11-29.2 13.2-44.2l105-38.2c7.4-2.7 15.6-1.6 22 2.9s10.2 11.8 10.2 19.7V424c0 10.1-6.3 19.1-15.8 22.6l-176 64c-5.3 1.9-11.1 1.9-16.4 0L200 449.5l-167.8 61c-7.4 2.7-15.6 1.6-22-2.9S0 495.8 0 488V184c0-10.1 6.3-19.1 15.8-22.6L136 117.7c0 .8 0 1.5 0 2.3c0 15.1 3.7 30.7 8.9 45.6L48 200.8V453.7l128-46.5V229.5c1.8 3 3.5 5.9 5.3 8.8c13.9 22.5 29.1 44.2 42.7 62.4V407.2l128 46.5V300.6zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faTilde = {\n prefix: 'far',\n iconName: 'tilde',\n icon: [448, 512, [63135], \"7e\", \"M100.5 176c-29 0-52.5 23.5-52.5 52.5V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V228.5C0 173 45 128 100.5 128c29.6 0 57.6 13 76.7 35.6L307.4 317.4c10 11.8 24.6 18.6 40.1 18.6c29 0 52.5-23.5 52.5-52.5V192c0-13.3 10.7-24 24-24s24 10.7 24 24v91.5C448 339 403 384 347.5 384c-29.6 0-57.6-13-76.7-35.6L140.6 194.6c-10-11.8-24.6-18.6-40.1-18.6z\"]\n};\nvar faJedi = {\n prefix: 'far',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M224.8 267.9L246 299.7c1.3 1.9 .2 4.5-2 4.9l-37.6 7.5c-3.7 .7-6.4 4-6.4 7.8s2.7 7.1 6.4 7.8l37.6 7.5c2.2 .4 3.3 3 2 4.9l-21.2 31.9c-2.1 3.2-1.7 7.4 1 10.1s6.9 3.1 10.1 1l26.9-17.9c2.2-1.4 5.1 .2 5 2.8l-2.1 61.7C214.5 419.4 176 374.2 176 320c0-29.6 11.5-56.5 30.2-76.5c4.5-4.8 6.8-11.2 6.4-17.7s-3.3-12.6-8.3-16.9C177.2 185.4 160 150.7 160 112c0-26.9 8.3-51.9 22.5-72.5c6.4-9.3 5.5-21.7-2.2-30s-20-10-29.7-4.4C70.1 52.4 16 139.9 16 240c0 150.2 121.8 272 272 272s272-121.8 272-272C560 139.9 505.9 52.4 425.4 5.2c-9.7-5.7-22.1-3.9-29.7 4.4s-8.6 20.7-2.2 30C407.7 60.1 416 85.1 416 112c0 38.7-17.2 73.4-44.4 96.9c-4.9 4.3-7.9 10.4-8.3 16.9s2 12.9 6.4 17.7c18.8 20 30.2 46.9 30.2 76.5c0 54.2-38.5 99.4-89.7 109.8l-2.1-61.7c-.1-2.6 2.8-4.2 5-2.8l26.9 17.9c3.2 2.1 7.4 1.7 10.1-1s3.1-6.9 1-10.1L330 340.3c-1.3-1.9-.2-4.5 2-4.9l37.5-7.5c3.7-.7 6.4-4 6.4-7.8s-2.7-7.1-6.4-7.8L332 304.6c-2.2-.4-3.3-3-2-4.9l21.2-31.9c2.1-3.2 1.7-7.4-1-10.1s-6.9-3.1-10.1-1l-30 20c-2.1 1.4-4.9 0-5-2.6L296.3 8c-.1-4.5-3.8-8-8.3-8s-8.1 3.5-8.3 8l-8.9 266.2c-.1 2.5-2.9 3.9-5 2.6l-30-20c-3.2-2.1-7.4-1.7-10.1 1s-3.1 6.9-1 10.1zM64.1 233.5c.3-10.7 1.4-21.3 3.1-31.6l17.5 17.5c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L76.5 165.9c8.3-23.7 20.5-45.6 35.8-64.9c-.2 3.6-.3 7.3-.3 11c0 44.9 16.8 85.8 44.4 116.9C138.5 254.8 128 286.2 128 320c0 44.5 18.1 84.7 47.4 113.7c-54.9-32-94.9-86.6-107.4-151l16.6 16.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L64.1 233.5zm447.8 0l-43.2 43.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16.6-16.6c-12.4 64.4-52.5 119.1-107.4 151c29.3-29 47.4-69.2 47.4-113.7c0-33.8-10.5-65.2-28.4-91.1c27.6-31.1 44.4-72 44.4-116.9c0-3.7-.1-7.4-.3-11c15.3 19.3 27.5 41.2 35.8 64.9l-30.8 30.8c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l17.5-17.5c1.8 10.3 2.8 20.9 3.1 31.6z\"]\n};\nvar faSquarePollVertical = {\n prefix: 'far',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 224c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm72-72c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zM320 288c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24z\"]\n};\nvar faPoll = faSquarePollVertical;\nvar faArrowDownSquareTriangle = {\n prefix: 'far',\n iconName: 'arrow-down-square-triangle',\n icon: [576, 512, [\"sort-shapes-down-alt\"], \"f889\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm481 78c0-4.5-1.2-9-3.6-12.9L440.2 301.7c-5.1-8.5-14.3-13.7-24.2-13.7s-19.1 5.2-24.2 13.7L307.6 442c-2.3 3.9-3.6 8.4-3.6 12.9c0 13.8 11.2 25.1 25.1 25.1H502.9c13.8 0 25.1-11.2 25.1-25.1zM368 80h96v96H368V80zm94.4 352H369.6L416 354.6 462.4 432zM320 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortShapesDownAlt = faArrowDownSquareTriangle;\nvar faMugHot = {\n prefix: 'far',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M88 0c13.3 0 24 10.7 24 24c0 16.1 7.5 23.7 23.8 37.9l1.1 1C152.6 76.6 176 97.1 176 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-16.1-7.5-23.7-23.8-37.9l-1.1-1C87.4 83.4 64 62.9 64 24C64 10.7 74.7 0 88 0zM48 416c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V240H48V416zM0 224c0-17.7 14.3-32 32-32H352h48c61.9 0 112 50.1 112 112s-50.1 112-112 112H384c0 53-43 96-96 96H96c-53 0-96-43-96-96V224zM384 368h16c35.3 0 64-28.7 64-64s-28.7-64-64-64H384V368zM224 24c0 16.1 7.5 23.7 23.8 37.9l1.1 1C264.6 76.6 288 97.1 288 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-16.1-7.5-23.7-23.8-37.9l-1.1-1C199.4 83.4 176 62.9 176 24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faDogLeashed = {\n prefix: 'far',\n iconName: 'dog-leashed',\n icon: [576, 512, [129454], \"f6d4\", \"M69.6 8.6C78.1-1.6 93.3-2.9 103.4 5.6L292.6 164.5 313.5 39.3l.1-.4 .9-5.6 3.1-18.4C319 6.3 326.4 0 335.1 0c5.6 0 10.9 2.6 14.3 7.1l11.2 14.9 3.4 4.6 .2 .3L368 32h76.1c12.7 0 24.9 5.1 33.9 14.1L496 64h32c26.5 0 48 21.5 48 48v32c0 53-43 96-96 96H434.7L432 256V448c0 35.3-28.7 64-64 64H352c-35.3 0-64-28.7-64-64V428.6 379.6c-10.4 2.3-21.1 3.7-32 4.2c-2.7 .1-5.3 .2-8 .2s-5.3-.1-8-.2c-10.9-.5-21.6-1.9-32-4.2v48.9V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224c0-1.3 .1-2.6 .2-3.8c-1.1-.3-2.2-.7-3.3-1.1c-27.4-9.6-49-32.4-56.4-61.8L.7 141.8c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l0 0 3.9 15.5C55.6 163.5 71.6 176 90 176h54 87.6L72.6 42.4C62.4 33.9 61.1 18.7 69.6 8.6zM318 342.2c11.4 9.1 18 22.9 18 37.4V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V274.8l-96-48V331.6c10.8 0 21.4 3.7 30 10.6zm-78-6.4V224H144 112.1l-.1 .8V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V379.6c0-14.6 6.6-28.3 18-37.4s26.2-12.6 40.4-9.4c7 1.5 14.2 2.6 21.6 3zm94.2-139.5l55.3 27.6c6.7-18.8 24.6-31.9 45.2-31.9H480c26.5 0 48-21.5 48-48V112H496c-12.7 0-24.9-5.1-33.9-14.1L444.1 80 368 80c-4.2 0-8.4-.6-12.4-1.6L338 183.9c-.7 4.4-2 8.5-3.8 12.4zM416 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faCarBattery = {\n prefix: 'far',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64l16 0zM64 144c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H64zm304 32c8.8 0 16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V192c0-8.8 7.2-16 16-16zM96 224h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBatteryCar = faCarBattery;\nvar faFaceDowncastSweat = {\n prefix: 'far',\n iconName: 'face-downcast-sweat',\n icon: [512, 512, [], \"e371\", \"M35.2 126.3C14.9 120.8 0 102.7 0 81C0 61 28.6 20.6 41.6 3.3c3.2-4.4 9.6-4.4 12.8 0c9.5 12.6 27.1 37.2 36 57.5c.3 .7 .6 1.4 .9 2.1C94.2 69.7 96 76 96 81c0 26-21.5 47-48 47c-4.4 0-8.7-.6-12.8-1.7zm81.4-85.1C156.7 15.2 204.6 0 256 0C397.4 0 512 114.6 512 256s-114.6 256-256 256S0 397.4 0 256c0-35.8 7.3-69.9 20.6-100.8c8.6 3.1 17.8 4.8 27.4 4.8c8.9 0 17.6-1.5 25.7-4.2C57.3 185.5 48 219.7 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208s-93.1-208-208-208c-48.7 0-93.4 16.7-128.9 44.7c.6-3.8 .9-7.7 .9-11.7c0-11.4-3.8-22.4-7.1-30.5c-1.3-3.1-2.7-6.2-4.3-9.3zM96 272c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm208-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM183.6 409.5c-9.7-9-10.2-24.2-1.2-33.9C196.7 360.3 221.4 344 256 344s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2z\"]\n};\nvar faMailboxFlagUp = {\n prefix: 'far',\n iconName: 'mailbox-flag-up',\n icon: [576, 512, [], \"e5bb\", \"M376 224c-13.3 0-24-10.7-24-24V88 56c0-13.3 10.7-24 24-24h64c13.3 0 24 10.7 24 24V88c0 13.3-10.7 24-24 24H400v88c0 13.3-10.7 24-24 24zM144 112c-53 0-96 43-96 96V384c0 8.8 7.2 16 16 16H240V208c0-53-43-96-96-96zm107.3 0c22.8 25.5 36.7 59.1 36.7 96V400H512c8.8 0 16-7.2 16-16V208c0-34.9-18.7-65.5-46.6-82.3c9.1-9.9 14.6-23.2 14.6-37.7V79c47.4 23.6 80 72.5 80 129V384c0 35.3-28.7 64-64 64H288 240 64c-35.3 0-64-28.7-64-64V208C0 128.5 64.5 64 144 64l176 0V88v24H251.3zM104 192h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMemoCircleInfo = {\n prefix: 'far',\n iconName: 'memo-circle-info',\n icon: [576, 512, [], \"e49a\", \"M320 48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V198.6c-17.2 4.9-33.4 12.3-48 21.8V64c0-8.8-7.2-16-16-16zM96 152c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm312-96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 48c0 8.8 7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]\n};\nvar faGift = {\n prefix: 'far',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M231.9 44.4C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88c0 14.4 3.5 28 9.6 40H48c-26.5 0-48 21.5-48 48v64c0 20.9 13.4 38.7 32 45.3V288 448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288v-2.7c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41zM464 176v64H432 288V176h72H464zm-240 0v64H80 48V176H152h72zm0 112V464H96c-8.8 0-16-7.2-16-16V288H224zm64 176V288H432V448c0 8.8-7.2 16-16 16H288zm72-336H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40s-17.9 40-40 40zm-136 0H152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8L225.3 128H224z\"]\n};\nvar faDiceTwo = {\n prefix: 'far',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faVolume = {\n prefix: 'far',\n iconName: 'volume',\n icon: [576, 512, [128265, \"volume-medium\"], \"f6a8\", \"M191.9 201.9L304 102.3V409.7L191.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H88c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM322.2 32c-7.3 0-14.3 2.7-19.8 7.5L166.9 160H88c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L302.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C352 45.3 338.7 32 322.2 32zm182.9 75c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C507.3 170.7 528 210.9 528 256s-20.7 85.3-53.2 111.8c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5c43.2-35.2 70.9-88.9 70.9-149s-27.7-113.8-70.9-149zm-60.5 74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C425.1 227.6 432 241 432 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C466.1 312.9 480 286.1 480 256s-13.9-56.9-35.4-74.5z\"]\n};\nvar faVolumeMedium = faVolume;\nvar faTransporter5 = {\n prefix: 'far',\n iconName: 'transporter-5',\n icon: [512, 512, [], \"e2a6\", \"M224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-56 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM64 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 160 6.6 167.3C2.7 168.4 0 171.9 0 176s2.7 7.6 6.6 8.7L32 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 160zM472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32 472.7 6.6z\"]\n};\nvar faGaugeCircleBolt = {\n prefix: 'far',\n iconName: 'gauge-circle-bolt',\n icon: [640, 512, [], \"e496\", \"M256 464c29.4 0 57.3-6.1 82.6-17.1c7.4 14.7 16.7 28.2 27.7 40.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-14 0-27.5 1.6-40.6 4.7C429.9 110.7 350.3 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zm0-56c-30.9 0-56-25.1-56-56c0-22.3 13.1-41.6 32-50.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24V301.4c18.9 9 32 28.3 32 50.6c0 30.9-25.1 56-56 56zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm176 64a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.7 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faCoinFront = {\n prefix: 'far',\n iconName: 'coin-front',\n icon: [512, 512, [], \"e3fc\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm24-248c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faFileSlash = {\n prefix: 'far',\n iconName: 'file-slash',\n icon: [640, 512, [], \"e3a7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zM176 112.6V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V338.4L176 112.6zM448 464H192c-8.8 0-16-7.2-16-16V234.7l-48-37.8V448c0 35.3 28.7 64 64 64H448c20.1 0 38.1-9.3 49.8-23.8l-37.7-29.7c-2.9 3.4-7.3 5.5-12.1 5.5z\"]\n};\nvar faMessageArrowUpRight = {\n prefix: 'far',\n iconName: 'message-arrow-up-right',\n icon: [512, 512, [], \"e1dd\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM216 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24H216z\"]\n};\nvar faTreasureChest = {\n prefix: 'far',\n iconName: 'treasure-chest',\n icon: [576, 512, [], \"f723\", \"M160 80H416V240H352V224c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v16H160V80zM48 160c0-38.7 27.5-71 64-78.4V240H48l0-80zm0 272l0-144h64V432H48zM416 288V432H160V288h64v32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288h64zM528 432H464V288h64V432zm0-272v80H464V81.6c36.5 7.4 64 39.7 64 78.4zM128 32C57.3 32 0 89.3 0 160V432c0 26.5 21.5 48 48 48H528c26.5 0 48-21.5 48-48V160c0-70.7-57.3-128-128-128H128zM304 256v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessQueen = {\n prefix: 'far',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-95.2-8c-18.1 0-31.3 12.8-35.6 26.9c-8 26.2-32.4 45.2-61.2 45.2c-10 0-19.4-2.3-27.7-6.3c-7.6-3.7-16.7-3.3-24 1.2C.7 162.1-3.1 177.1 3.7 188.9L97.6 352H153l-83-144.1c40.5-2.2 75.3-25.9 93.1-59.8c22 26.8 55.4 43.9 92.8 43.9s70.8-17.1 92.8-43.9c17.8 34 52.6 57.7 93.1 59.8L359 352h55.4l93.9-163.1c6.8-11.7 3-26.7-8.6-33.8c-7.3-4.5-16.4-4.9-24-1.2c-8.4 4-17.7 6.3-27.7 6.3c-28.8 0-53.2-19-61.2-45.2C382.5 100.8 369.3 88 351.2 88c-14.5 0-26.3 8.5-32.4 19.3c-12.4 22-35.9 36.7-62.8 36.7s-50.4-14.8-62.8-36.7C187.1 96.5 175.4 88 160.8 88zM133.2 432H378.8l16.6 32H116.7l16.6-32zm283.7-30.7c-5.5-10.6-16.5-17.3-28.4-17.3h-265c-12 0-22.9 6.7-28.4 17.3L68.6 452.5c-3 5.8-4.6 12.2-4.6 18.7c0 22.5 18.2 40.8 40.8 40.8H407.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2z\"]\n};\nvar faPaintbrushFine = {\n prefix: 'far',\n iconName: 'paintbrush-fine',\n icon: [576, 512, [\"paint-brush-alt\", \"paint-brush-fine\", \"paintbrush-alt\"], \"f5a9\", \"M489 57L306.2 239.7l30.1 30.1L519 87c8.3-8.3 8.3-21.8 0-30.1s-21.8-8.3-30.1 0zM210.5 325c-8.2-3.3-17.2-5-26.5-5c-39.8 0-72 32.2-72 72c0 3.8 .3 7.5 .8 11.1c3.3 21.4-2.2 43.1-13.8 60l-.7 .9H184c39.8 0 72-32.2 72-72c0-9.4-1.8-18.3-5-26.5L210.5 325zm-6.2-51.3L455 23c27-27 70.9-27 97.9 0s27 70.9 0 97.9L302.3 371.7c1.1 6.6 1.7 13.4 1.7 20.3c0 66.3-53.7 120-120 120H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h6c18.1 0 30.1-19.8 27.4-37.6c-.9-6-1.4-12.1-1.4-18.4c0-66.3 53.7-120 120-120c6.9 0 13.7 .6 20.3 1.7z\"]\n};\nvar faPaintBrushAlt = faPaintbrushFine;\nvar faPaintBrushFine = faPaintbrushFine;\nvar faPaintbrushAlt = faPaintbrushFine;\nvar faGlasses = {\n prefix: 'far',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57.1 259.8c25.6-7.8 52.6-11.8 78.6-11.8c40.1 0 82.2 9.6 118.5 27.3c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.4 7.7-9.8 13.5-12.7c36.2-17.8 78.4-27.3 118.5-27.3c26 0 53 4.1 78.6 11.8L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.2c.3 1.8 .5 3.7 .5 5.6v5.2c0 .5 0 1 0 1.5V352c0 .2 0 .4 0 .6V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM48 352v16c0 35.3 28.7 64 64 64h44.3c34 0 62-26.5 63.9-60.5l3.2-57.5c-27.3-11.7-58.3-18-87.7-18c-29.5 0-60.5 6.4-87.7 18.2V352zm392.3-56c-29.4 0-60.4 6.3-87.7 18l3.2 57.5c1.9 33.9 29.9 60.5 63.9 60.5H464c35.3 0 64-28.7 64-64V314.2c-27.2-11.8-58.2-18.2-87.7-18.2z\"]\n};\nvar faHoodCloak = {\n prefix: 'far',\n iconName: 'hood-cloak',\n icon: [576, 512, [], \"f6ef\", \"M454.4 15.3c3 7.7 1.8 16.2-2.9 22.7c-1 1.3-2.1 2.6-3.3 3.7l-32 29c11.4 10.2 22.6 21.8 33.1 34.8C484.5 149.1 512 208.6 512 288c0 58.5 14.6 101.6 28.6 129.7c7 14.1 14 24.5 19 31.1c2.5 3.3 4.5 5.7 5.7 7.1c.6 .7 1.1 1.2 1.3 1.4l.1 .1 0 0 0 0 0 0c9 9.2 11.7 22.8 6.8 34.7c-5 12-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8c-4.9-11.9-2.2-25.6 6.8-34.7l.2-.2c.2-.2 .7-.7 1.3-1.4c1.3-1.4 3.2-3.8 5.7-7.1c5-6.6 11.9-17 19-31.1C49.4 389.6 64 346.5 64 288C64 151.8 111.4 76.9 167.7 37.7C222 0 278.2 0 288 0h0H432c9.9 0 18.8 6.1 22.4 15.3zm43.3 423.8c-17-34-33.7-84.4-33.7-151.2c0-86.7-38.5-144.2-79.9-181.5c-10.1-9.1-15.9-22-15.9-35.6c0-8.1 2-16 5.8-22.9H288h0c-7.2 0-51 0-92.8 29.1C154.3 105.5 112 164 112 288c0 66.8-16.7 117.2-33.7 151.2c-4.8 9.6-9.6 17.9-14.1 24.8H160V336c0-70.7 57.3-128 128-128s128 57.3 128 128V464h95.8c-4.5-7-9.3-15.2-14.1-24.8zM208 464H368V336c0-44.2-35.8-80-80-80s-80 35.8-80 80V464z\"]\n};\nvar faSquareQuote = {\n prefix: 'far',\n iconName: 'square-quote',\n icon: [448, 512, [], \"e329\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM208 240V216 192c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V240zm144 39.3V240 216 192c0-17.7-14.3-32-32-32H272c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71z\"]\n};\nvar faUpLeft = {\n prefix: 'far',\n iconName: 'up-left',\n icon: [384, 512, [], \"e2bd\", \"M64 128V321.4c0 1.7 .8 3.2 2.1 4.2c2.1 1.6 5 1.4 6.9-.5L127 271c9.4-9.4 24.6-9.4 33.9 0L285.7 395.7c2.7 2.7 6.5 4.3 10.3 4.3s7.6-1.5 10.3-4.3l25.4-25.4c2.7-2.7 4.3-6.5 4.3-10.3s-1.5-7.6-4.3-10.3L207 225c-9.4-9.4-9.4-24.6 0-33.9L261.1 137c1.8-1.8 2.1-4.8 .5-6.9c-1-1.3-2.5-2.1-4.2-2.1H64zm-48-8c0-22.1 17.9-40 40-40H257.4c16.8 0 32.5 7.9 42.6 21.3c15.9 21.2 13.8 50.9-4.9 69.6L257.9 208 365.7 315.7C377.4 327.5 384 343.4 384 360s-6.6 32.5-18.3 44.3l-25.4 25.4C328.5 441.4 312.6 448 296 448s-32.5-6.6-44.3-18.3L144 321.9 106.9 359c-18.7 18.7-48.4 20.8-69.6 5C23.9 353.9 16 338.1 16 321.4V120z\"]\n};\nvar faBringFront = {\n prefix: 'far',\n iconName: 'bring-front',\n icon: [640, 512, [], \"f857\", \"M64 48H192c8.8 0 16 7.2 16 16h48c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64h64V208H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM448 512H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H512v48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H448c-8.8 0-16-7.2-16-16H384c0 35.3 28.7 64 64 64zM224 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H224z\"]\n};\nvar faChessBoard = {\n prefix: 'far',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 0v64h64V96h64v64h64V96h64v64H320v64h64v64H320v64h64v64H320V352H256v64H192V352H128v64H64V352h64V288H64V224h64V160H64V96h64zm64 128h64V160H192v64zm0 64V224H128v64h64zm64 0H192v64h64V288zm0 0h64V224H256v64z\"]\n};\nvar faBurgerCheese = {\n prefix: 'far',\n iconName: 'burger-cheese',\n icon: [512, 512, [127828, \"cheeseburger\"], \"f7f1\", \"M396.5 134.9c-7.7-8.5-17-17.1-28.6-24.9c.1 .6 .1 1.3 .1 2c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-6.5 3.8-12 9.3-14.6c-19.9-9.1-44.5-15.6-75.3-17.1c1.2 2.3 1.9 4.9 1.9 7.7c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.8 .7-5.4 1.9-7.7c-30.7 1.5-55.4 8-75.3 17.1c5.5 2.5 9.3 8.1 9.3 14.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.7 0-1.3 .1-2c-11.6 7.8-21 16.4-28.6 24.9c-12.8 14.2-21.5 29-27.1 41.1H423.6c-5.7-12.1-14.3-26.9-27.1-41.1zM450.9 224H61.1C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1zM128 432H384c20.9 0 38.7-13.4 45.3-32H82.7c6.6 18.6 24.4 32 45.3 32zM32 384c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96zM253.5 262.8l52.2 26.1c9 4.5 19.6 4.5 28.6 0l52.2-26.1c8.9-4.4 18.7-6.8 28.6-6.8H432h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H208h16.9c9.9 0 19.7 2.3 28.6 6.8z\"]\n};\nvar faCheeseburger = faBurgerCheese;\nvar faBuildingCircleCheck = {\n prefix: 'far',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faRepeat1 = {\n prefix: 'far',\n iconName: 'repeat-1',\n icon: [512, 512, [128258], \"f365\", \"M0 254.8C-.6 268 9.6 279.3 22.8 280s24.5-9.5 25.2-22.8l.4-8C52 176.8 111.7 120 184.2 120H304v36.4c0 19.6 15.9 35.6 35.6 35.6c8.8 0 17.3-3.3 23.8-9.1l76.7-69c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-76.7-69c-6.5-5.9-15-9.1-23.8-9.1C319.9 0 304 15.9 304 35.6L304 72H184.2C86.2 72 5.3 148.9 .4 246.8l-.4 8zM388.1 96L352 128.5l0-65L388.1 96zM512 257.2c.7-13.2-9.5-24.5-22.8-25.2s-24.5 9.5-25.2 22.8l-.4 8C460 335.2 400.3 392 327.8 392H208V355.6c0-19.6-15.9-35.6-35.6-35.6c-8.8 0-17.3 3.3-23.8 9.1l-76.7 69c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l76.7 69c6.5 5.9 15 9.1 23.8 9.1c19.6 0 35.6-15.9 35.6-35.6V440H327.8c98 0 178.9-76.9 183.8-174.8l.4-8zM123.9 416L160 383.5v65L123.9 416zM288 208c0-9.1-5.1-17.4-13.3-21.5s-17.9-3.2-25.1 2.3l-32 24c-10.6 8-12.8 23-4.8 33.6c6.5 8.6 17.6 11.6 27.2 8.2V304c0 13.3 10.7 24 24 24s24-10.7 24-24V208z\"]\n};\nvar faArrowDownToLine = {\n prefix: 'far',\n iconName: 'arrow-down-to-line',\n icon: [384, 512, [\"arrow-to-bottom\"], \"f33d\", \"M360 480c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0zM174.5 344.4c4.5 4.8 10.9 7.6 17.5 7.6s12.9-2.7 17.5-7.6l128-136c9.1-9.7 8.6-24.8-1-33.9s-24.8-8.6-33.9 1L216 267.5l0-83.5 0-128c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 128 0 83.5L81.5 175.6c-9.1-9.7-24.3-10.1-33.9-1s-10.1 24.3-1 33.9l128 136z\"]\n};\nvar faArrowToBottom = faArrowDownToLine;\nvar faGrid5 = {\n prefix: 'far',\n iconName: 'grid-5',\n icon: [448, 512, [], \"e199\", \"M0 48c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H16C7.2 96 0 88.8 0 80V48zm0 96c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V144zm16 80H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM0 336c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V336zm16 80H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V48zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM96 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM96 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V432zM208 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM192 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM192 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM288 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V48zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM288 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM288 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V432zM400 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM384 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM384 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16z\"]\n};\nvar faRightLongToLine = {\n prefix: 'far',\n iconName: 'right-long-to-line',\n icon: [640, 512, [], \"e444\", \"M640 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 336c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336zM505.5 272.4c8.7-9.2 8.7-23.7 0-32.9l-121.4-129c-8.8-9.3-21-14.6-33.7-14.6c-25.6 0-46.3 20.7-46.3 46.3l0 33.7L56 176c-30.9 0-56 25.1-56 56l0 48c0 30.9 25.1 56 56 56l248 0 0 33.7c0 25.6 20.7 46.3 46.3 46.3c12.8 0 25-5.3 33.7-14.6l121.4-129zM352 200l0-53.5L455 256 352 365.5l0-53.5c0-13.3-10.7-24-24-24L56 288c-4.4 0-8-3.6-8-8l0-48c0-4.4 3.6-8 8-8l272 0c13.3 0 24-10.7 24-24z\"]\n};\nvar faPersonChalkboard = {\n prefix: 'far',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80H208V304H176V176.1c.7 0 1.5-.1 2.3-.1zM176 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V176H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H368V48H592V272H368V224H320v48c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 178.3c-31.7 0-61 17.1-76.6 44.7L43.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L128 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMarsStrokeRight = {\n prefix: 'far',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M80 256a128 128 0 1 1 256 0A128 128 0 1 1 80 256zm302.4-24C370.7 146.2 297.1 80 208 80C110.8 80 32 158.8 32 256s78.8 176 176 176c89.1 0 162.7-66.2 174.4-152H416v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280h78.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H464V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H382.4z\"]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'far',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 64c0-8.8 7.2-16 16-16s16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16V264c0 31.3-20 58-48 67.9c-9.6 3.4-16 12.5-16 22.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V370.2c38-20.1 64-60.1 64-106.2V160c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5C332.8 77.1 311.9 64 288 64c-2.8 0-5.6 .2-8.3 .5C268.8 45.1 247.9 32 224 32c-2.8 0-5.6 .2-8.3 .5C204.8 13.1 183.9 0 160 0C124.7 0 96 28.7 96 64v64.3c-11.7 7.4-22.5 16.4-32 26.9l17.8 16.1L64 155.2l-9.4 10.5C40 181.8 32 202.8 32 224.6v12.8c0 49.6 24.2 96.1 64.8 124.5l13.8-19.7L96.8 361.9l8.9 6.2c6.9 4.8 14.4 8.6 22.3 11.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V359.9c0-12.6-9.8-23.1-22.4-23.9c-7.3-.5-14.3-2.9-20.3-7.1l-13.1 18.7 13.1-18.7-8.9-6.2C96.6 303.1 80 271.3 80 237.4V224.6c0-9.9 3.7-19.4 10.3-26.8l9.4-10.5c3.8-4.2 7.9-8.1 12.3-11.6V208c0 8.8 7.2 16 16 16s16-7.2 16-16V142.3 128 64z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faGridRound5 = {\n prefix: 'far',\n iconName: 'grid-round-5',\n icon: [448, 512, [], \"e5de\", \"M64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zm0 96A32 32 0 1 1 0 160a32 32 0 1 1 64 0zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64A32 32 0 1 1 0 352a32 32 0 1 1 64 0zM32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM160 64A32 32 0 1 1 96 64a32 32 0 1 1 64 0zM128 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faTally = {\n prefix: 'far',\n iconName: 'tally',\n icon: [640, 512, [\"tally-5\"], \"f69c\", \"M128 40c13.3 0 24 10.7 24 24V286.7L232 260V64c0-13.3 10.7-24 24-24s24 10.7 24 24V244l80-26.7V64c0-13.3 10.7-24 24-24s24 10.7 24 24V201.4l80-26.7V64c0-13.3 10.7-24 24-24s24 10.7 24 24v94.7l64.4-21.5c12.6-4.2 26.2 2.6 30.4 15.2s-2.6 26.2-15.2 30.4L536 209.3V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V225.3L408 252V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V268l-80 26.7V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V310.6l-80 26.7V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V353.3L39.6 374.8C27 379 13.4 372.2 9.2 359.6S11.8 333.4 24.4 329.2L104 302.7V64c0-13.3 10.7-24 24-24z\"]\n};\nvar faTally5 = faTally;\nvar faSquareCaretUp = {\n prefix: 'far',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm224 64c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'far',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M184.1 107.8C186.3 74.4 214.1 48 248 48c23.4 0 43.9 12.6 55.1 31.5c3.4 5.7 9 9.8 15.5 11.2s13.3 .1 18.8-3.7c6.4-4.4 14.2-7 22.6-7c19.1 0 35.2 13.4 39.1 31.4c2.4 11 12.2 18.9 23.4 18.9h10.6c17 0 30.9 13.8 30.9 30.9s-13.8 30.9-30.9 30.9H142.9c-17 0-30.9-13.8-30.9-30.9s13.8-30.9 30.9-30.9h17.3c12.7 0 23.1-9.8 24-22.5zM248 0c-51.6 0-95 34.9-108 82.3c-42.2 1.5-76 36.2-76 78.8c0 43.6 35.3 78.9 78.9 78.9H433.1c43.6 0 78.9-35.3 78.9-78.9c0-41.4-31.8-75.3-72.4-78.6C425.6 52.7 395.2 32 360 32c-10.1 0-19.9 1.7-28.9 4.9C310.6 14.3 281 0 248 0zM132.6 308.3c6.8-11.4 3.1-26.1-8.2-32.9s-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80zm327.8-32.9c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zM244.6 308.3c6.8-11.4 3.1-26.1-8.2-32.9s-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80zm103.8-32.9c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24zm24 72H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'far',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", \"M416 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM528 64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM144 464a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-112a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM48 143.8v84.6c0 39.8 16 77.3 43.4 104.7c-14.4 7.6-26.9 18.3-36.6 31.2C20.1 328.3 0 279.8 0 228.4V143.8c0-35.3 28.7-64 64-64c22.6 0 42.5 11.7 53.9 29.4L164.7 28C180.2 1.2 214.4-8 241.2 7.5c3.8 2.2 7.2 4.8 10.3 7.6c17.4-12.7 41.3-14.8 61.1-3.3s30 33.2 27.7 54.6c4 1.2 8 2.9 11.7 5.1c12.4 7.2 21.1 18.4 25.2 31c-21.4-8.7-46.2-9.1-69 1l-53 23.5 20.2-35 0-.1 16-27.7c2.2-3.8 .9-8.7-2.9-10.9s-8.7-.9-10.9 2.9l-8 13.8 0 .1-8 13.9-31.5 54.5c-19.1 9.6-36.4 21.8-51.5 36.1c-9.8-7.1-12.9-20.7-6.7-31.4l48-83.1 0-.1c2.2-3.8 .9-8.7-2.9-10.9s-8.7-.9-10.9 2.9L124.8 193.2c-5.4 9.4-16.5 14-27 11.2S80 192.1 80 181.2V143.8c0-8.8-7.2-16-16-16s-16 7.2-16 16zM326.1 512c-31.3 0-60.7-7.9-86.4-21.8c8.4-13.8 13.9-29.5 15.7-46.4c20.5 12.8 44.7 20.1 70.7 20.1H456c4.4 0 8-3.6 8-8c0-4.4-3.5-7.9-7.9-8H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h63.9l.2 0H488c4.4 0 8-3.6 8-8c0-4.4-3.5-8-7.9-8H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h95.8l.2 0h32c4.4 0 8-3.6 8-8s-3.6-8-8-8H504.2l-.2 0H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h95.8l.2 0c4.4 0 8-3.6 8-8s-3.6-8-8-8H335.9c-11.2 0-21-7.8-23.4-18.8s3-22.2 13.2-27l25.1-11.8c8-3.8 11.4-13.3 7.7-21.3s-13.3-11.4-21.3-7.7l-56.4 26.5c-27.6 13-50.1 33.5-65.5 58.4c-.2 .2-.3 .5-.5 .7c-14.6 21.7-22.8 47.6-22.8 74.8l0 .9c-14.5-6.9-30.7-10.7-47.7-10.8c1.8-33.2 12.6-64.6 30.4-91.3c20.2-32.4 49.6-59.2 85.7-76.1l56.4-26.5c32-15.1 70.1-1.3 85.2 30.7c7.9 16.8 7.9 35.3 1.4 51.3H488c30.9 0 56 25.1 56 56c0 4.4-.5 8.6-1.5 12.7c19.7 8.7 33.5 28.4 33.5 51.3s-13.8 42.6-33.5 51.3c1 4.1 1.5 8.3 1.5 12.7c0 22.9-13.8 42.6-33.5 51.3c1 4.1 1.5 8.3 1.5 12.7c0 30.9-25.1 56-56 56H326.1z\"]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'far',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M401 78.2c12.3-5 18.2-19 13.2-31.3s-19-18.2-31.3-13.2L47 169.8c-9.1 3.7-15 12.5-15 22.2s5.9 18.6 15 22.2l336 136c12.3 5 26.3-1 31.3-13.2s-1-26.3-13.2-31.3L120 192 401 78.2zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faTrain = {\n prefix: 'far',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M352 48c26.5 0 48 21.5 48 48v96H48V96c0-26.5 21.5-48 48-48H352zM48 352V240H400V352c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48zM96 0C43 0 0 43 0 96V352c0 42.8 28 79 66.6 91.4L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57H318.1l57 57c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6C420 431 448 394.8 448 352V96c0-53-43-96-96-96H96zM224 360a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faUpFromDottedLine = {\n prefix: 'far',\n iconName: 'up-from-dotted-line',\n icon: [448, 512, [], \"e456\", \"M114.2 192L224 82 333.8 192H280c-13.3 0-24 10.7-24 24V336H192V216c0-13.3-10.7-24-24-24H114.2zM224 32c-11.5 0-22.5 4.6-30.6 12.7L77.6 160.8C68.9 169.5 64 181.3 64 193.6c0 25.6 20.8 46.4 46.4 46.4H144v96c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V240h33.6c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 44.7C246.5 36.6 235.5 32 224 32zM32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faEyeLowVision = {\n prefix: 'far',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm51.3 163.3L83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8zM34.5 268.3c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c3.1 0 6.1-.1 9.2-.2l-74-58c-36.7-11.8-68.5-32.9-95-57.5c-18.3-17-34-35.6-46.8-53.6L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5z\"]\n};\nvar faLowVision = faEyeLowVision;\nvar faTrafficLightGo = {\n prefix: 'far',\n iconName: 'traffic-light-go',\n icon: [320, 512, [], \"f638\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM160 424a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-184a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM144 136a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faFaceExhaling = {\n prefix: 'far',\n iconName: 'face-exhaling',\n icon: [576, 512, [], \"e480\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 7-.3 13.9-1 20.7c11.6-8 25.6-12.7 40.8-12.7c2.7 0 5.4 .2 8.1 .5c.1-2.8 .1-5.6 .1-8.5C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c55.8 0 107.4-17.9 149.5-48.2c-10.5-9.3-17.9-22.1-20.5-36.5l-7.7-2.3c-34.1 24.5-76 39-121.3 39C141.1 464 48 370.9 48 256zM256 424a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm95.6-172c-10.6 0-19.9-3.8-25.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7zm-217.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7s-19.9-3.8-25.4-9.7zm409.2 96.2c.1-.8 .1-1.7 .1-2.5c0-22.1-17.9-40-39.9-40c-16.9 0-31.4 10.5-37.2 25.4c-3.3-.9-6.9-1.4-10.5-1.4c-20.7 0-37.7 15.8-39.7 35.9l-72.3 18.1c-4.6 1.1-7.8 5.2-7.8 9.9s3.2 8.8 7.8 9.9L416.1 412c-.1 1.3-.2 2.6-.2 4c0 22.1 17.9 40 39.9 40c4.9 0 9.6-.9 14-2.5c7.1 11.1 19.5 18.5 33.7 18.5c22.1 0 39.9-17.9 39.9-40c0-.8 0-1.7-.1-2.5c19-6.4 32.6-24.4 32.6-45.5s-13.6-39.1-32.6-45.5z\"]\n};\nvar faSensorFire = {\n prefix: 'far',\n iconName: 'sensor-fire',\n icon: [640, 512, [], \"e02a\", \"M64 80H384c8.8 0 16 7.2 16 16v55.4c4.1-3.9 8.2-7.7 12.5-11.5c10-8.9 23-12.8 35.5-11.7V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H337.6c-12.7-14.3-23.4-30.5-31.5-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm80 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm213.5 11.6c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8C332.7 291.3 320 325.6 320 352c0 87.8 70.3 159.8 160 159.8c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 432.9c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faUserUnlock = {\n prefix: 'far',\n iconName: 'user-unlock',\n icon: [640, 512, [], \"e058\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H384v16c0 11.7 3.1 22.6 8.6 32H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c43.6 0 83.6 15.7 114.6 41.7c-.2 2.1-.3 4.2-.3 6.3v67.7C361.9 379.3 319 352 269.7 352H178.3c-65.7 0-120.1 48.7-129 112zM496 272v48h16 48 48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272c0-44.2 35.8-80 80-80s80 35.8 80 80H560c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faHexagonDivide = {\n prefix: 'far',\n iconName: 'hexagon-divide',\n icon: [512, 512, [], \"e1ad\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM256 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM168 232H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar fa00 = {\n prefix: 'far',\n iconName: '00',\n icon: [640, 512, [], \"e467\", \"M144 32C64.5 32 0 96.5 0 176V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM48 176c0-53 43-96 96-96s96 43 96 96V336c0 53-43 96-96 96s-96-43-96-96V176zM496 32c-79.5 0-144 64.5-144 144V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM400 176c0-53 43-96 96-96s96 43 96 96V336c0 53-43 96-96 96s-96-43-96-96V176z\"]\n};\nvar faCrow = {\n prefix: 'far',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M39.2 442.6l72-58.6H259.2l46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384H352c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192V128v-8l96-24c-9.4-37.6-43.2-64-82-64H515C496.1 12.3 469.5 0 440 0C382.6 0 336 46.6 336 104v35.1L94.1 336 80.9 346.8l-72 58.6 0 0 0 0C-1.4 413.8-3 428.9 5.4 439.2s23.5 11.8 33.8 3.5l0 0zM195.4 315.4L333.1 203.4c-10.9 51.4-51 93.1-104 104.7l-33.7 7.4zM384 161.9l0 0V139.1 104c0-30.9 25.1-56 56-56s56 25.1 56 56v24 64c0 79.5-64.5 144-144 144H289.5c57.1-31.8 94.5-92.7 94.5-160.8V161.9zM464 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCassetteBetamax = {\n prefix: 'far',\n iconName: 'cassette-betamax',\n icon: [576, 512, [\"betamax\"], \"f8a4\", \"M48 416V160H528V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM368 256h80v80H368V256zm-48-16V352c0 17.7 14.3 32 32 32H464c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm-136 0a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm0 160a104 104 0 1 0 0-208 104 104 0 1 0 0 208zm0-80a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBetamax = faCassetteBetamax;\nvar faSailboat = {\n prefix: 'far',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M284.6 6.2c-4.2-5.4-11.4-7.5-17.8-5.3S256 9.2 256 16V304c0 8.8 7.2 16 16 16H496c6.1 0 11.7-3.5 14.4-9s2-12-1.7-16.9l-224-288zm-72 90.5c-6.7-2-14 .6-17.9 6.4l-128 192c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.4 14.1 8.4H208c8.8 0 16-7.2 16-16V112c0-7.1-4.6-13.3-11.4-15.3zM60 400H516l-.4 1.6c-8.2 36.5-40.6 62.4-78 62.4H138.4c-37.4 0-69.8-25.9-78-62.4L60 400zM20 352c-10.3 0-17.9 9.5-15.6 19.5l9.1 40.6c13.1 58.4 65 99.9 124.9 99.9H437.6c59.9 0 111.7-41.5 124.9-99.9l9.1-40.6c2.2-10-5.4-19.5-15.6-19.5H20z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 48H208c-17.7 0-32 14.3-32 32V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V336h16c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zM48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V256H48V448zM64 128H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faNfcMagnifyingGlass = {\n prefix: 'far',\n iconName: 'nfc-magnifying-glass',\n icon: [640, 512, [], \"e1f9\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H333.7c20.2 20.6 46 35.8 74.8 43.1c-7.6 3.2-15.9 4.9-24.6 4.9H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v64c-16.7 0-32.8 2.6-48 7.3V96c0-8.8-7.2-16-16-16zm-16 72v29.4c-18.7 10.8-35.1 25.4-48 42.6V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40zM309.4 400H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H291.2c3.5 17.2 9.7 33.3 18.2 48zm138.6 .2a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0 48c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426c-20.5 14-45.3 22.1-71.9 22.1z\"]\n};\nvar faFileBinary = {\n prefix: 'far',\n iconName: 'file-binary',\n icon: [384, 512, [], \"e175\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm64 240c-30.9 0-56 25.1-56 56v64c0 30.9 25.1 56 56 56h16c30.9 0 56-25.1 56-56V296c0-30.9-25.1-56-56-56H128zm-8 56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v64c0 4.4-3.6 8-8 8H128c-4.4 0-8-3.6-8-8V296zm120-56c-13.3 0-24 10.7-24 24s10.7 24 24 24v80c-13.3 0-24 10.7-24 24s10.7 24 24 24h24 24c13.3 0 24-10.7 24-24s-10.7-24-24-24V264c0-13.3-10.7-24-24-24H240z\"]\n};\nvar faCircleV = {\n prefix: 'far',\n iconName: 'circle-v',\n icon: [512, 512, [], \"e12a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM173.5 157.3c-5.9-11.9-20.3-16.7-32.2-10.7s-16.7 20.3-10.7 32.2l104 208c4.1 8.1 12.4 13.3 21.5 13.3s17.4-5.1 21.5-13.3l104-208c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7L256 322.3 173.5 157.3z\"]\n};\nvar faSquarePlus = {\n prefix: 'far',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faBowlScoops = {\n prefix: 'far',\n iconName: 'bowl-scoops',\n icon: [448, 512, [127813], \"e3df\", \"M224 208c0 5.4 .4 10.8 1.1 16H446.9c.7-5.2 1.1-10.6 1.1-16c0-61.9-50.1-112-112-112l-1.1 0c-38.7 .4-72.7 20.4-92.6 50.6C230.7 164.2 224 185.3 224 208zM0 208c0 5.4 .4 10.8 1.1 16H192.9c-.6-5.3-.9-10.6-.9-16c0-22 4.9-42.8 13.7-61.4c-19.8-30.2-53.8-50.2-92.6-50.6L112 96C50.1 96 0 146.1 0 208zM325.4 64.4C307.5 26.3 268.8 0 224 0s-83.5 26.3-101.4 64.4c40.9 3 77.1 23 101.4 53.1c24.3-30.1 60.5-50.1 101.4-53.1zM173.8 368h-2.2H145c-41.4 0-77.2-26.3-90.5-64H393.5c-13.3 37.7-49.1 64-90.5 64H276.3h-2.2H173.8zm36.9 78.7L224 430.8l13.3 15.9L251.7 464H196.3l14.4-17.3zm92.3 3.9L274.2 416H303c10.6 0 20.9-1.1 30.9-3.3c58.5-12.8 104.3-61.2 112-122.8l2-15.9c.6-4.6-.8-9.1-3.9-12.6s-7.4-5.4-12-5.4H16c-4.6 0-9 2-12 5.4s-4.5 8-3.9 12.6l2 15.9c7.7 61.6 53.5 110 112 122.8c10 2.2 20.3 3.3 30.9 3.3h28.8L145 450.6l-10.9 13.1-.3 .3-.4 .5L128 471l-12.3 14.7c-4 4.8-4.8 11.4-2.2 17s8.3 9.2 14.5 9.2h19.2 8.5 .6H291.7h.6 8.5H320c6.2 0 11.9-3.6 14.5-9.2s1.8-12.3-2.2-17L320 471l-5.5-6.5-.4-.5-.3-.3L303 450.6z\"]\n};\nvar faMistletoe = {\n prefix: 'far',\n iconName: 'mistletoe',\n icon: [576, 512, [], \"f7b4\", \"M288 0c13.3 0 24 10.7 24 24V86.1l98 98 8.7 1.7 65.9 12.7C537.7 208.6 576 255 576 309c0 41.4-33.6 75-75 75c-54 0-100.3-38.3-110.5-91.3l-12.7-65.9-1.7-8.7L312 153.9V288l6 8 46.8 62.4C377.3 375 384 395.2 384 416c0 53-43 96-96 96s-96-43-96-96c0-20.8 6.7-41 19.2-57.6L258 296l6-8V153.9L199.9 218l-1.4 7.4c3-.9 6.2-1.4 9.5-1.4c17.7 0 32 14.3 32 32s-14.3 32-32 32c-7.6 0-14.7-2.7-20.2-7.2l-2.3 11.9C175.4 345.7 129 384 75 384c-41.4 0-75-33.6-75-75c0-54 38.3-100.3 91.3-110.5l65.9-12.7 8.7-1.7 98-98V24c0-13.3 10.7-24 24-24zM100.4 245.6C70 251.4 48 278 48 309c0 14.9 12.1 27 27 27c30.9 0 57.5-22 63.4-52.4l9.1-47.1-47.1 9.1zm328.2-9.1l9.1 47.1C443.4 314 470 336 501 336c14.9 0 27-12.1 27-27c0-30.9-22-57.5-52.4-63.4l-47.1-9.1zM249.6 387.2c-6.2 8.3-9.6 18.4-9.6 28.8c0 26.5 21.5 48 48 48s48-21.5 48-48c0-10.4-3.4-20.5-9.6-28.8L288 336l-38.4 51.2zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCustard = {\n prefix: 'far',\n iconName: 'custard',\n icon: [576, 512, [127854], \"e403\", \"M116.1 112.8L53.7 368h49.4l33.6-137.6c14.1-3.8 27.9-6.4 39.3-6.4c16.7 0 28.8 5.6 45.6 13.6l1 .5C238.9 246 259.8 256 288 256s49.1-10 65.4-17.9l1-.5c16.8-8.1 28.9-13.6 45.6-13.6c11.4 0 25.2 2.6 39.3 6.4L472.9 368h49.4L459.9 112.8c-7-28.6-32.7-48.8-62.2-48.8H178.2c-29.5 0-55.2 20.2-62.2 48.8zm310.5 65.6c-9-1.5-18-2.4-26.6-2.4c-28.2 0-49.1 10-65.4 17.9l-1 .5C316.8 202.4 304.7 208 288 208s-28.8-5.6-45.6-13.6l-1-.5C225.1 186 204.2 176 176 176c-8.6 0-17.6 .9-26.6 2.4l13.3-54.2c1.8-7.2 8.2-12.2 15.5-12.2H397.8c7.4 0 13.8 5 15.5 12.2l13.3 54.2zM0 424c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faLacrosseStick = {\n prefix: 'far',\n iconName: 'lacrosse-stick',\n icon: [512, 512, [], \"e3b5\", \"M261.5 107.5l-6.6 19.7c-6.3 18.9-16 36.5-28.6 51.9l-34.4 42c-10.3 12.6-15.9 28.3-15.9 44.5c0 38.8 31.5 70.3 70.3 70.3c16.2 0 32-5.6 44.5-15.9l42-34.4c15.4-12.6 33-22.3 51.9-28.6l19.7-6.6C440 238.7 464 205.4 464 168h0l0-.3c0-22.9-15.2-53-40.9-78.8S367.2 48 344.3 48l-.3 0v0c-37.4 0-70.7 24-82.5 59.5zM344 0V0l.3 0C385.1 0 426.8 24.8 457 55s55 71.9 55 112.7l0 .3h0c0 58.1-37.2 109.7-92.3 128.1L400 302.6c-13.4 4.5-25.8 11.3-36.7 20.2l-42 34.4c-21.1 17.3-47.6 26.7-74.9 26.7c-24 0-46.3-7.1-65-19.4L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L147.4 330.6c-12.3-18.6-19.4-41-19.4-65c0-27.3 9.5-53.8 26.7-74.9l34.4-42c8.9-10.9 15.8-23.3 20.2-36.7l6.6-19.7C234.3 37.2 285.9 0 344 0z\"]\n};\nvar faHockeyMask = {\n prefix: 'far',\n iconName: 'hockey-mask',\n icon: [448, 512, [], \"f6ee\", \"M48 240c0-57.4 14.3-105.3 41.1-137.9C114.7 70.9 156.1 48 224 48s109.3 22.9 134.9 54.1C385.7 134.7 400 182.6 400 240c0 95.1-12.6 148.4-36 178.6C343.4 445.3 306 464 224 464s-119.4-18.7-140-45.4C60.6 388.4 48 335.1 48 240zM224 0C64 0 0 111 0 240C0 432 48 512 224 512s224-80 224-272C448 111 384 0 224 0zM200 208c0-17.7-14.3-32-32-32H104c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64s64-28.7 64-64zm112 64c35.3 0 64-28.7 64-64c0-17.7-14.3-32-32-32H280c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64zM176 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM208 304a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM288 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSunrise = {\n prefix: 'far',\n iconName: 'sunrise',\n icon: [576, 512, [127749], \"f766\", \"M271 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L271 7zM393.3 225.8c7.5 3.1 12.9 9.8 14.4 17.8l18.1 98.5 98.5 18.1c8 1.5 14.7 6.9 17.8 14.4s2.2 16.1-2.4 22.8L493.9 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H82.1L36.2 397.5c-4.6-6.7-5.5-15.3-2.4-22.8s9.8-13 17.8-14.4l98.5-18.1 18.1-98.5c1.5-8 6.9-14.7 14.4-17.8s16.1-2.2 22.8 2.4L288 285.1l82.5-56.9c6.7-4.6 15.3-5.5 22.8-2.4zM140.4 464h36.7c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h36.7l43.6-63.2-78.3-14.4c-9.8-1.8-17.5-9.5-19.3-19.3l-14.4-78.3L301.6 334c-8.2 5.7-19 5.7-27.2 0l-65.6-45.2-14.4 78.3c-1.8 9.8-9.5 17.5-19.3 19.3L96.8 400.8 140.4 464zM350 464c-7.1-27.6-32.2-48-62-48s-54.9 20.4-62 48H350z\"]\n};\nvar faPanelEws = {\n prefix: 'far',\n iconName: 'panel-ews',\n icon: [512, 512, [], \"e42e\", \"M64 48c-8.8 0-16 7.2-16 16V294.7C76.3 307 96 335.2 96 368v16c0 17.7 14.3 32 32 32s32-14.3 32-32V352c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V368c0-14.2-6.2-27-16-35.8V448c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 160h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]\n};\nvar faToriiGate = {\n prefix: 'far',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M48 112c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V64.5l-1.6 .6C437.9 75 411.6 80 385.2 80H126.8c-26.5 0-52.7-5-77.2-14.9L48 64.5V112zM0 112V13.4C0 6 6 0 13.4 0c1.7 0 3.4 .3 5 1l49 19.6C86.3 28.1 106.5 32 126.8 32H385.2c20.4 0 40.5-3.9 59.4-11.4L493.6 1c1.6-.6 3.3-1 5-1C506 0 512 6 512 13.4V112c0 35.3-28.7 64-64 64v64h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V288l-144 0-144 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V288H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V176c-35.3 0-64-28.7-64-64zM112 240l120 0V176H112v64zm168-64v64l120 0V176H280z\"]\n};\nvar faCloudExclamation = {\n prefix: 'far',\n iconName: 'cloud-exclamation',\n icon: [640, 512, [], \"e491\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM320 144c-13.3 0-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faMessageLines = {\n prefix: 'far',\n iconName: 'message-lines',\n icon: [512, 512, [\"comment-alt-lines\"], \"f4a6\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM152 144c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\"]\n};\nvar faCommentAltLines = faMessageLines;\nvar faFrog = {\n prefix: 'far',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M322.4 113c-5.9 17.8-21.6 30.6-40.2 32.7C150.4 160.5 48 272.3 48 408v16c0 4.4 3.6 8 8 8H238.1c.3-.3 .6-.7 .9-1l56.8-56.8c10.4-10.3 16.2-24.4 16.2-39c0-30.5-24.7-55.2-55.2-55.2c-14.6 0-28.7 5.8-39 16.2L169 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48.8-48.8c19.4-19.4 45.6-30.2 73-30.2c50.2 0 92 35.8 101.3 83.2c3-6.3 7.4-11.9 12.9-16.4c4.6-3.8 9.5-7.3 14.5-10.5l135.9-86.5c4.1-2.6 6.5-7.1 6.5-11.9c0-6.2-4-11.7-10-13.5l-70-21.5c-16.8-5.2-29.5-19.1-32.9-36.4C410.6 96.5 391.2 80 368 80c-21.2 0-39.3 13.8-45.6 33zM434.1 371.3l54 58.1c1.5 1.6 3.6 2.6 5.9 2.6h58c13.3 0 24 10.7 24 24s-10.7 24-24 24H494c-15.6 0-30.4-6.5-41-17.9l-23.5-25.3-28.7-31-16.4-17.6-16.4-17.6L355.4 384l-20.3 21.8L310.9 432h48.6 .5c4.7 0 9.2 1.4 12.9 3.7C379.6 440 384 447.5 384 456c0 .8 0 1.5-.1 2.3C382.7 470.5 372.5 480 360 480H310.9 56c-30.9 0-56-25.1-56-56V408C0 247.6 121.1 115.5 276.8 98c12.6-38.3 48.7-66 91.2-66c46.5 0 85.3 33.1 94.1 77l70 21.5c26.1 8 43.9 32.1 43.9 59.4c0 21.2-10.9 41-28.8 52.4L442 309.3l-30.7 19.6c-3.5 2.2-6.8 4.6-9.9 7.2l1.7 1.9 0 0 31 33.4zM368 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBucket = {\n prefix: 'far',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 152v8H48v-8C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v8H352v-8c0-57.4-46.6-104-104-104H200C142.6 48 96 94.6 96 152zM0 216c0-13.3 10.7-24 24-24H72.4 375.6 424c13.3 0 24 10.7 24 24s-10.7 24-24 24h-6L389.3 470c-3 24-23.4 42-47.6 42H106.4c-24.2 0-44.6-18-47.6-42L30 240H24c-13.3 0-24-10.7-24-24zm78.4 24l28 224H341.6l28-224H78.4z\"]\n};\nvar faFloppyDiskPen = {\n prefix: 'far',\n iconName: 'floppy-disk-pen',\n icon: [576, 512, [], \"e182\", \"M48 96V416c0 8.8 7.2 16 16 16H270.5l-12 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm381.3 29.3c12 12 18.7 28.3 18.7 45.3v65.1l-48 48V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9zM128 80v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm389.8-84.2l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417.1L441.1 287.9l71 71L382.9 488.1c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M448 80c8.8 0 16 7.2 16 16V415.8l-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWindowFrame = {\n prefix: 'far',\n iconName: 'window-frame',\n icon: [512, 512, [129695], \"e04f\", \"M80 464H232V272H80V464zm-48 0V64C32 28.7 60.7 0 96 0H416c35.3 0 64 28.7 64 64V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H432 80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8zm400 0V272H280V464H432zM80 224H232V48H96c-8.8 0-16 7.2-16 16V224zm200 0H432V64c0-8.8-7.2-16-16-16H280V224z\"]\n};\nvar faMicrophone = {\n prefix: 'far',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M240 96V256c0 26.5-21.5 48-48 48s-48-21.5-48-48V96c0-26.5 21.5-48 48-48s48 21.5 48 48zM96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96S96 43 96 96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faCow = {\n prefix: 'far',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M72 184c0-23 10.7-43.4 27.5-56.6C97.2 135.2 96 143.5 96 152V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V378.6c2.5 .6 5.2 1.2 8 1.7V392c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.1c2.6 .1 5.3 .1 8 .1s5.4 0 8-.1V392c0 8.8 7.2 16 16 16s16-7.2 16-16V380.4c2.8-.5 5.5-1.1 8-1.7V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V271.1l16 18V336c0 4.6 1.3 9 3.8 12.9l42.3 66.5C523 435.7 545.4 448 569.5 448c38.9 0 70.5-31.6 70.5-70.5V274.9c0-12.4-4.1-24.4-11.7-34.2l-4.3-5.6V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v5l-48.2-62.4C505.1 81.2 470 64 432.9 64H256 184 144C77.7 64 24 117.7 24 184v54C9.4 249.8 0 267.8 0 288v17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4V256 224 184zm91.2-66.1c3.6 12.3 10.3 23.6 19.5 32.8l7.4 7.4C211.8 179.8 241.3 192 272 192s60.2-12.2 81.9-33.9l7.4-7.4c10.7-10.7 17.9-24.1 21-38.6h50.5c22.3 0 43.3 10.3 57 28L590.3 270c1.1 1.4 1.7 3.1 1.7 4.9V377.5c0 12.4-10.1 22.5-22.5 22.5c-7.7 0-14.8-3.9-19-10.4L512 329V280c0-5.9-2.2-11.6-6.1-15.9l-64-72c-6.6-7.4-17.2-10-26.5-6.5S400 198 400 208V400H368V352v-8-8c0-53-43-96-96-96s-96 43-96 96v8 8 48H144V152c0-14.5 7.7-27.1 19.2-34.1zm62.4 211.4l-1.1-.4C228 305.7 247.9 288 272 288s44 17.7 47.5 40.9l-1.1 .4c-9.7 3.2-25.1 6.8-46.4 6.8s-36.7-3.5-46.4-6.8zM576 320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faFileZip = {\n prefix: 'far',\n iconName: 'file-zip',\n icon: [512, 512, [], \"e5ee\", \"M64 464h96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM240 352h64c5.5 0 10.7 2.9 13.6 7.6s3.2 10.6 .7 15.6L265.9 480H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6L278.1 384H240c-8.8 0-16-7.2-16-16s7.2-16 16-16zm144 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16zm32 0c0-8.8 7.2-16 16-16h24c30.9 0 56 25.1 56 56s-25.1 56-56 56h-8v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368zm32 64h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48z\"]\n};\nvar faSquareRing = {\n prefix: 'far',\n iconName: 'square-ring',\n icon: [448, 512, [], \"e44f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM304 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 256a128 128 0 1 1 256 0A128 128 0 1 1 96 256z\"]\n};\nvar faDownFromLine = {\n prefix: 'far',\n iconName: 'down-from-line',\n icon: [384, 512, [\"arrow-alt-from-top\"], \"f349\", \"M82.2 320L192 430 301.8 320H248c-13.3 0-24-10.7-24-24V176H160V296c0 13.3-10.7 24-24 24H82.2zM192 480c-11.5 0-22.5-4.6-30.6-12.7L45.6 351.2C36.9 342.5 32 330.7 32 318.4C32 292.8 52.8 272 78.4 272H112V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L222.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM24 80C10.7 80 0 69.3 0 56S10.7 32 24 32H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24z\"]\n};\nvar faArrowAltFromTop = faDownFromLine;\nvar faCaretUp = {\n prefix: 'far',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M160 182.6L70.6 272H249.4L160 182.6zm-22.6-45.3c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128z\"]\n};\nvar faShieldXmark = {\n prefix: 'far',\n iconName: 'shield-xmark',\n icon: [512, 512, [\"shield-times\"], \"e24c\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faShieldTimes = faShieldXmark;\nvar faScrewdriver = {\n prefix: 'far',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M445.9 55.9l10.2 10.2L396.2 144H368V115.8l77.9-59.9zM507 78.6c7.4-9.6 6.5-23.1-2.1-31.6L465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v54.1l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192H408c7.5 0 14.5-3.5 19-9.4l80-104zM155.3 315.3c11.4-11.4 29.9-11.4 41.4 0s11.4 29.9 0 41.4L96 457.4 54.6 416 155.3 315.3zm75.3-33.9c-30.2-30.2-79.1-30.2-109.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3z\"]\n};\nvar faCircleSortDown = {\n prefix: 'far',\n iconName: 'circle-sort-down',\n icon: [512, 512, [\"sort-circle-down\"], \"e031\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM267.3 411.3l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96c6.2 6.2 16.4 6.2 22.6 0zm0-310.6c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zM313.4 192H198.6L256 134.6 313.4 192z\"]\n};\nvar faSortCircleDown = faCircleSortDown;\nvar faFolderClosed = {\n prefix: 'far',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zM48 240H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V240zM285.7 93.7L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3z\"]\n};\nvar faHouseTsunami = {\n prefix: 'far',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M50 176.4C62 104.5 127.8 48 209.4 48c18.8 0 36.7 3 53.4 8.5c12.6 4.2 26.2-2.7 30.3-15.3s-2.7-26.2-15.3-30.3C256.4 3.8 233.4 0 209.4 0C95 0 0 88.4 0 200c0 93.2 54.7 174 144.8 194.8c12.7 3.4 26 5.2 39.7 5.2c.6 0 1.2 0 1.8-.1c1.8 0 3.6 .1 5.4 .1c.1 0 .3 0 .4 0v0c34.6 0 67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9v0c-.1 0-.3 0-.4 0c-12.9 0-25.2-1.4-36.7-4.2c-43.4-12.7-75-52.6-75-99.8c0-57.4 46.7-104 104.4-104c15.9 0 30.9 3.5 44.3 9.8c12 5.6 26.3 .4 31.9-11.6s.4-26.3-11.6-31.9C229.4 101.1 207.5 96 184.4 96C126.3 96 75.6 128.5 50 176.4zM368 286.8V152l79.9-60L527.5 152l.3 124.4c9.4 6.4 20.2 11.3 30.8 13.7c6.2 1.4 12 3.7 17.2 6.8l-.3-153c0-10-4.7-19.5-12.7-25.5L467.2 46.5c-11.4-8.6-27.1-8.6-38.5 0l-96 72c-8.1 6-12.8 15.5-12.8 25.6V265c1.7 1 3.3 2 4.8 3.1c13.4 9.3 28.4 15.9 43.2 18.7zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faSquareNfi = {\n prefix: 'far',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M64 80H384c8.8 0 16 7.2 16 16v32h48V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v32H48V96c0-8.8 7.2-16 16-16zM48 384H0v32c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384H400v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V384zm1-223c-10.1 3.1-17 12.4-17 23V328c0 13.3 10.7 24 24 24s24-10.7 24-24V263.3l52 78c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v64.7l-52-78C70.1 161.9 59.2 158 49 161zm167 23v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V288h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H264V208h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H240c-13.3 0-24 10.7-24 24zm200 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faForklift = {\n prefix: 'far',\n iconName: 'forklift',\n icon: [640, 512, [], \"f47a\", \"M80 160H96V40c0-22.1 17.9-40 40-40H293c16.6 0 31.5 10.3 37.4 25.8l83 218.9c1.7 4.5 2.6 9.3 2.6 14.2V272v72.4c19.6 17.6 32 43.1 32 71.6c0 53-43 96-96 96s-96-43-96-96H192c0 53-43 96-96 96s-96-43-96-96V368 240c0-44.2 35.8-80 80-80zm160 80H360.3L287.4 48H144V171.4L240 240zm0 48c-10 0-19.8-3.1-27.9-8.9L112.6 208H80c-17.7 0-32 14.3-32 32v92.8C62.1 324.7 78.5 320 96 320c35.5 0 66.6 19.3 83.2 48h89.7c16.6-28.7 47.6-48 83.2-48c5.5 0 10.8 .5 16 1.3V288H240zM96 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm256 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM528 24V400h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'far',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c13.3 0 24-10.7 24-24V81.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L305 7c-9.4-9.4-24.6-9.4-33.9 0L191 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V328c0 13.3 10.7 24 24 24zM80 430.1C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zM192 192H64c-35.3 0-64 28.7-64 64V425c5.3-3.1 11.2-5.4 17.5-6.9c10.4-2.4 21.2-7.2 30.5-13.5L48 256c0-8.8 7.2-16 16-16H192V192zm384 64c0-35.3-28.7-64-64-64H384v48H512c8.8 0 16 7.2 16 16V404.6c9.3 6.3 20.1 11.1 30.5 13.6c6.3 1.5 12.1 3.8 17.5 6.9V256z\"]\n};\nvar faBracketSquareRight = {\n prefix: 'far',\n iconName: 'bracket-square-right',\n icon: [192, 512, [], \"5d\", \"M192 88c0-30.9-25.1-56-56-56H72C58.7 32 48 42.7 48 56s10.7 24 24 24h64c4.4 0 8 3.6 8 8V424c0 4.4-3.6 8-8 8H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c30.9 0 56-25.1 56-56V88z\"]\n};\nvar faMartiniGlass = {\n prefix: 'far',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M35.3 0C15.8 0 0 15.8 0 35.3c0 9.4 3.7 18.3 10.3 25L232 281.9V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H256 360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V281.9L501.7 60.3c6.6-6.6 10.3-15.6 10.3-25C512 15.8 496.2 0 476.7 0H35.3zM318.1 176L256 238.1 193.9 176H318.1zm48-48H145.9l-80-80H446.1l-80 80z\"]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'far',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M140.8 122.9C171.7 96.2 212 80 256 80c97.2 0 176 78.8 176 176s-78.8 176-176 176c-39.7 0-76.2-13.1-105.6-35.2c-10.6-8-25.6-5.8-33.6 4.8s-5.8 25.6 4.8 33.6C159 463.3 205.6 480 256 480c123.7 0 224-100.3 224-224S379.7 32 256 32c-57.3 0-109.6 21.5-149.2 56.9L76.3 58.3C69.7 51.7 60.7 48 51.3 48C31.8 48 16 63.8 16 83.3V200c0 13.3 10.7 24 24 24H156.7c19.5 0 35.3-15.8 35.3-35.3c0-9.4-3.7-18.3-10.3-25l-40.8-40.8zm-76.8-9L126.1 176H64V113.9z\"]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'far',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M48 416V160H232V432H64c-8.8 0-16-7.2-16-16zm232 16V160H464V416c0 8.8-7.2 16-16 16H280zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faColumns = faTableColumns;\nvar faSquareA = {\n prefix: 'far',\n iconName: 'square-a',\n icon: [448, 512, [], \"e25f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c9.1 0 17.4 5.1 21.5 13.3l104 208c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L289.2 336H158.8l-17.4 34.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l104-208c4.1-8.1 12.4-13.3 21.5-13.3zm0 77.7L182.8 288h82.3L224 205.7z\"]\n};\nvar faTick = {\n prefix: 'far',\n iconName: 'tick',\n icon: [128, 512, [], \"e32f\", \"M40 104c0-13.3 10.7-24 24-24s24 10.7 24 24v1.9c0 1.4-.1 2.8-.4 4.3c0 0 0 0 0 0L64 252 40.4 110.1c-.2-1.4-.4-2.8-.4-4.3V104zm95 14c.7-4 1-8.1 1-12.1V104c0-39.8-32.2-72-72-72S-8 64.2-8 104v1.9c0 4.1 .3 8.1 1 12.1L17.4 264.5C21.2 287.3 40.9 304 64 304s42.8-16.7 46.6-39.5L135 118z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M368 80c-3.2 0-6.2 .4-8.9 1.3C340 86.8 313 91.9 284.8 84.6C227.4 69.7 160.2 92 110.1 142.1S37.7 259.4 52.6 316.8c7.3 28.2 2.2 55.2-3.3 74.3c-.8 2.8-1.3 5.8-1.3 8.9c0 17.7 14.3 32 32 32c3.2 0 6.2-.4 8.9-1.3c19.1-5.5 46.1-10.7 74.3-3.3c57.4 14.9 124.6-7.4 174.7-57.5s72.4-117.3 57.5-174.7c-7.3-28.2-2.2-55.2 3.3-74.3c.8-2.8 1.3-5.8 1.3-8.9c0-17.7-14.3-32-32-32zm0-48c44.2 0 80 35.8 80 80c0 7.7-1.1 15.2-3.1 22.3c-4.6 15.8-7.1 32.9-3 48.9c20.1 77.6-10.9 161.5-70 220.7s-143.1 90.2-220.7 70c-16-4.1-33-1.6-48.9 3c-7.1 2-14.6 3.1-22.3 3.1c-44.2 0-80-35.8-80-80c0-7.7 1.1-15.2 3.1-22.3c4.6-15.8 7.1-32.9 3-48.9C-14 251.3 17 167.3 76.2 108.2S219.3 18 296.8 38.1c16 4.1 33 1.6 48.9-3c7.1-2 14.6-3.1 22.3-3.1zM246.7 167c-52 15.2-96.5 59.7-111.7 111.7c-3.7 12.7-17.1 20-29.8 16.3s-20-17.1-16.3-29.8c19.8-67.7 76.6-124.5 144.3-144.3c12.7-3.7 26.1 3.6 29.8 16.3s-3.6 26.1-16.3 29.8z\"]\n};\nvar faHeadSideMask = {\n prefix: 'far',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M80 224c0-8 .5-15.8 1.5-23.4L256 316.8V320 480c0 17.7 14.3 32 32 32H431.7c28.6 0 53.7-18.9 61.5-46.4L534.9 320l4.7-16.6c1.5-5.1 2.6-10.4 3.3-15.6c.7-3.1 1.1-6.2 1.1-9.5c0-.8 0-1.6-.1-2.3c0-1.3 .1-2.6 .1-3.9h-.5c-1.1-7.2-4.1-14.1-8.7-19.9l-18-22.5c-11.5-14.4-20.1-31.5-28-50.9c-3.7-8.9-7.1-18-10.6-27.5l-1-2.6c-3.9-10.3-7.9-21-12.4-31.6C435.6 48.3 367.5 0 288 0H256C132.3 0 32 100.3 32 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C94.8 304.8 80 266.2 80 224zm195.3 48L95.3 152C122.8 90.7 184.4 48 256 48h32c59.5 0 110.7 36.2 132.6 87.8c4 9.5 7.8 19.3 11.6 29.7l1 2.6 0 0c3.5 9.4 7.2 19.2 11.1 28.8c8.6 21.1 19.3 43.1 35 62.7l9.9 12.4H456l-.6 0H304 275.3zM368 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm63.7 240H304V320H484.9l-6.9 24H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H468.9l-9.1 32H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h82.6l-3.5 12.4c-2 6.9-8.2 11.6-15.4 11.6z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M272.2 64.6l-51.1 51.1c-15.3 4.2-29.5 11.9-41.5 22.5L153 161.9C142.8 171 129.5 176 115.8 176H96V304c20.4 .6 39.8 8.9 54.3 23.4l35.6 35.6 7 7 0 0L219.9 397c6.2 6.2 16.4 6.2 22.6 0c1.7-1.7 3-3.7 3.7-5.8c2.8-7.7 9.3-13.5 17.3-15.3s16.4 .6 22.2 6.5L296.5 393c11.6 11.6 30.4 11.6 41.9 0c5.4-5.4 8.3-12.3 8.6-19.4c.4-8.8 5.6-16.6 13.6-20.4s17.3-3 24.4 2.1c9.4 6.7 22.5 5.8 30.9-2.6c9.4-9.4 9.4-24.6 0-33.9L340.1 243l-35.8 33c-27.3 25.2-69.2 25.6-97 .9c-31.7-28.2-32.4-77.4-1.6-106.5l70.1-66.2C303.2 78.4 339.4 64 377.1 64c36.1 0 71 13.3 97.9 37.2L505.1 128H544h40 40c8.8 0 16 7.2 16 16V352c0 17.7-14.3 32-32 32H576c-11.8 0-22.2-6.4-27.7-16H463.4c-3.4 6.7-7.9 13.1-13.5 18.7c-17.1 17.1-40.8 23.8-63 20.1c-3.6 7.3-8.5 14.1-14.6 20.2c-27.3 27.3-70 30-100.4 8.1c-25.1 20.8-62.5 19.5-86-4.1L159 404l-7-7-35.6-35.6c-5.5-5.5-12.7-8.7-20.4-9.3C96 369.7 81.6 384 64 384H32c-17.7 0-32-14.3-32-32V144c0-8.8 7.2-16 16-16H56 96h19.8c2 0 3.9-.7 5.3-2l26.5-23.6C175.5 77.7 211.4 64 248.7 64H259c4.4 0 8.9 .2 13.2 .6zM544 320V176H496c-5.9 0-11.6-2.2-15.9-6.1l-36.9-32.8c-18.2-16.2-41.7-25.1-66.1-25.1c-25.4 0-49.8 9.7-68.3 27.1l-70.1 66.2c-10.3 9.8-10.1 26.3 .5 35.7c9.3 8.3 23.4 8.1 32.5-.3l71.9-66.4c9.7-9 24.9-8.4 33.9 1.4s8.4 24.9-1.4 33.9l-.8 .8 74.4 74.4c10 10 16.5 22.3 19.4 35.1H544zM64 336a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm528 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M168.5 72L256 165l87.5-93h-175zM383.9 99.1L311.5 176h129L383.9 99.1zm50 124.9H256 78.1L256 420.3 433.9 224zM71.5 176h129L128.1 99.1 71.5 176zm434.3 40.1l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4z\"]\n};\nvar faDolly = {\n prefix: 'far',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h80.8c3.5 0 6.5 2.2 7.6 5.5l91.9 281.6C177.7 352.1 160 382 160 416c0 53 43 96 96 96s96-43 96-96c0-2.8-.1-5.5-.3-8.2L560 334.6c12.5-4.4 19.1-18.1 14.7-30.6s-18.1-19.1-30.6-14.7L335.8 362.5C318.5 336.9 289.2 320 256 320c-2 0-4 .1-6 .2L158 38.6C150.5 15.6 129 0 104.8 0H24zM256 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM457.4 117.3c-10.6-28.7-42.2-43.7-71.1-33.5L224.9 140.5l14.9 45.6 57.5-20.2 24.1 66.3c4.5 12.5 18.3 18.9 30.8 14.4s18.9-18.3 14.4-30.8L342.6 150l59.6-20.9c4.1-1.4 8.7 .7 10.2 4.8L467 282.5l45.3-15.9L457.4 117.3z\"]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'far',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M440 0c13.3 0 24 10.7 24 24V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v19c0 13.3-10.7 24-24 24s-24-10.7-24-24V245c0-17-6.7-33.3-18.7-45.3l-21-21C436.2 142.7 416 93.9 416 43V24c0-13.3 10.7-24 24-24zM616 288c-13.3 0-24-10.7-24-24V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24V43c0 17 6.7 33.3 18.7 45.3l21 21c36 36 56.2 84.8 56.2 135.8v19c0 13.3-10.7 24-24 24zm-56 88V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM224 464H432V400H224v64zM0 416c0-35.3 28.7-64 64-64H448c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V416z\"]\n};\nvar faMinimize = {\n prefix: 'far',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z\"]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faRefrigerator = {\n prefix: 'far',\n iconName: 'refrigerator',\n icon: [384, 512, [], \"e026\", \"M288 48c26.5 0 48 21.5 48 48v64H288V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H48V96c0-26.5 21.5-48 48-48H288zM240 208V344c0 13.3 10.7 24 24 24s24-10.7 24-24V208h48V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208H240zM96 0C43 0 0 43 0 96V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V96c0-53-43-96-96-96H96z\"]\n};\nvar faMonument = {\n prefix: 'far',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M175 7c9.4-9.4 24.6-9.4 33.9 0l80 80c3.8 3.8 6.2 8.7 6.8 14l41.4 331H288.8L249.2 115.1 192 57.9l-57.2 57.2L95.2 432H46.8L88.2 101c.7-5.3 3.1-10.2 6.8-14L175 7zM42.8 464H91.2 292.8h48.4H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 64 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H42.8zM144 312c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24z\"]\n};\nvar faOctagonXmark = {\n prefix: 'far',\n iconName: 'octagon-xmark',\n icon: [512, 512, [\"times-octagon\", \"xmark-octagon\"], \"f2f0\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesOctagon = faOctagonXmark;\nvar faXmarkOctagon = faOctagonXmark;\nvar faAlignSlash = {\n prefix: 'far',\n iconName: 'align-slash',\n icon: [640, 512, [], \"f846\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L471.2 344H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H409.9L307.9 216H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H246.6L144.6 88H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-9 0-16.9 5-21 12.3L38.8 5.1zM152.3 216l-50.4-39.7C98.2 180.5 96 186 96 192c0 13.3 10.7 24 24 24h32.3zM314.8 344l-60.9-48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H314.8zM120 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H477.2l-60.9-48H120z\"]\n};\nvar faSnowplow = {\n prefix: 'far',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M298.8 48c3.2 0 6.1 1.9 7.4 4.9L371.8 208H219.5l-56.8-71-2.7-3.4V48H298.8zM429 220.3c-.4-1.2-.9-2.4-1.4-3.6L350.4 34.2C341.6 13.5 321.3 0 298.8 0H152c-22.1 0-40 17.9-40 40v88H96c-26.5 0-48 21.5-48 48V308.1C19 328.3 0 361.9 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-20.4-5.5-39.5-15-56h47v56c0 6 2.2 11.7 6.2 16.1l80 88c8.9 9.8 24.1 10.5 33.9 1.6s10.5-24.1 1.6-33.9L560 390.7V249.3l73.8-81.1c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6l-80 88c-4 4.4-6.2 10.2-6.2 16.1v56H432V238.5 232c0-4.2-1.1-8.2-3-11.7zm-45 68.8c-5.2-.7-10.6-1.1-16-1.1H112c-5.4 0-10.8 .4-16 1.1V176h36.5l56.8 71c4.6 5.7 11.4 9 18.7 9H384v33.1zM112 336H368c35.3 0 64 28.7 64 64s-28.7 64-64 64H112c-35.3 0-64-28.7-64-64s28.7-64 64-64zm32 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAnglesRight = {\n prefix: 'far',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M113 433L273 273c9.4-9.4 9.4-24.6 0-33.9L113 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l143 143L79 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zm192 0L465 273c9.4-9.4 9.4-24.6 0-33.9L305 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l143 143L271 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faTruckRampCouch = {\n prefix: 'far',\n iconName: 'truck-ramp-couch',\n icon: [640, 512, [\"truck-couch\"], \"f4dd\", \"M352 88c0-48.6 39.4-88 88-88H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-22.1 0-40 17.9-40 40V360.7l25.7-7 .4-.1c17.6-38.7 56.7-65.6 102-65.6c61.9 0 112 50.1 112 112s-50.1 112-112 112c-59.8 0-108.7-46.9-111.8-106L30.3 511.2c-12.8 3.5-26-4.1-29.5-16.8s4.1-26 16.8-29.5L352 373.8V88zM592 400a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM294.5 209.2c8.7-2.3 17.4-2.1 25.5 .2V334.8l-38.7 10.4L126.7 386.6 64.9 403.2c-17.1 4.6-34.6-5.6-39.2-22.6L13.3 334.2c-6.9-25.6 8.3-51.9 33.9-58.8s51.9 8.3 58.8 33.9l4.1 15.5 154.5-41.4-4.1-15.5c-6.9-25.6 8.3-51.9 33.9-58.8zM8 252.8c-9.1-34.1 11.1-69.2 45.3-78.4l185.5-49.7c34.1-9.1 69.2 11.1 78.4 45.3l1.7 6.4c-10.6-1.6-21.6-1.1-32.6 1.9c-37.4 10-61.5 44.9-59.2 82.1L131.2 286c-16.6-33.4-54.9-51.5-92.3-41.5c-11 2.9-20.8 8-29.2 14.7L8 252.8z\"]\n};\nvar faTruckCouch = faTruckRampCouch;\nvar faCannabis = {\n prefix: 'far',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M275.9 10.6C271.5 4 264 0 256 0s-15.5 4-19.9 10.6c-16.1 24.1-36.5 67.2-49.2 115.1c-6.8 25.8-11.7 54.2-12 82.5c-15-10.3-30.7-19-45.9-26.4c-34.5-16.7-68.6-27-92.3-31.7c-7.9-1.6-16 .9-21.7 6.6s-8.1 13.8-6.5 21.7c6.9 34.4 26.5 93.6 62.3 143.2c-21.3 8.1-39.3 17.5-50.5 23.7C12.7 349.5 8 357.6 8 366.3s4.7 16.8 12.4 21c14.6 8.1 40.5 21.5 70.1 30.4c17.6 5.3 37.8 9.5 58.5 9.3l-5.8 23.2c-2.3 9.1 .9 18.7 8.2 24.5s17.3 7 25.7 2.8L232 450.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V450.2l54.9 27.3c8.4 4.2 18.4 3.1 25.7-2.8s10.5-15.5 8.2-24.5L363.1 427c20.6 .2 40.8-4 58.5-9.3c29.6-8.9 55.6-22.3 70.1-30.4c7.6-4.2 12.4-12.3 12.4-21s-4.7-16.8-12.4-21c-11.1-6.2-29.1-15.6-50.5-23.7C477 272.2 496.6 213 503.5 178.4c1.6-7.9-.9-16-6.5-21.7s-13.8-8.2-21.7-6.6c-23.7 4.7-57.7 15-92.3 31.7c-15.3 7.4-30.9 16.1-45.9 26.4c-.3-28.3-5.2-56.7-12-82.5c-12.6-47.9-33-91.1-49.2-115.1zM280 396.6V344c0-13.3-10.7-24-24-24s-24 10.7-24 24v52.6l-29.6 14.7 2-7.8c2.2-8.6-.6-17.6-7.1-23.6s-15.8-7.8-24.1-4.9c-19 6.7-43.3 4.3-68.7-3.3c-5.5-1.6-10.8-3.5-16-5.4c9.3-3.5 19.2-6.7 29.3-9c8.5-1.9 15.2-8.3 17.7-16.6s.3-17.3-5.8-23.5c-30.1-31-50.9-73.8-63.1-109.2c13.1 4.5 27.3 10.1 41.7 17.1C139 240 168.8 260 189.6 285c7.4 9 20.2 11.3 30.3 5.5s14.7-17.9 10.8-28.9c-12.4-34.8-8.9-79.8 2.6-123.7c6.2-23.5 14.4-45.4 22.7-63.6c8.3 18.2 16.5 40.2 22.7 63.6c11.6 43.8 15 88.8 2.6 123.7c-3.9 11 .6 23.1 10.8 28.9s22.9 3.4 30.3-5.5c20.8-25.1 50.6-45 81.5-59.9c14.3-6.9 28.6-12.6 41.7-17.1c-11.1 32-29.2 70.2-55 100.3c-2.6 3.1-5.3 6-8.1 8.9c-6 6.2-8.2 15.2-5.8 23.5s9.2 14.6 17.7 16.6c10.1 2.3 20 5.5 29.3 9c-5.2 2-10.5 3.8-16 5.4c-25.4 7.7-49.7 10-68.7 3.3c-8.3-2.9-17.6-1.1-24.1 4.9s-9.3 15-7.1 23.6l2 7.8L280 396.6z\"]\n};\nvar faCirclePlay = {\n prefix: 'far',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9V168c0-8.7 4.7-16.7 12.3-20.9z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faArrowUpRightAndArrowDownLeftFromCenter = {\n prefix: 'far',\n iconName: 'arrow-up-right-and-arrow-down-left-from-center',\n icon: [512, 512, [], \"e0a0\", \"M295 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L295 183zM217 329c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L48 430.1V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V488c0 13.3 10.7 24 24 24H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H81.9L217 329z\"]\n};\nvar faTablets = {\n prefix: 'far',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M608.8 254.9c-4.7 6.4-9.9 12.5-15.7 18.2s-11.9 11-18.2 15.7c-62.6 46.2-151.3 41-208-15.7s-62-145.4-15.7-208c4.7-6.4 9.9-12.5 15.7-18.2s11.9-11 18.2-15.7c62.6-46.2 151.3-41 208 15.7s62 145.4 15.7 208zM559.2 80.8c-37.9-37.9-96.2-43-139.6-15.1L574.3 220.4c27.8-43.4 22.8-101.7-15.1-139.6zM540.4 254.3L385.7 99.6c-27.8 43.4-22.8 101.7 15.1 139.6s96.2 43 139.6 15.1zM318.2 328c1.2 7.8 1.8 15.8 1.8 24s-.6 16.2-1.8 24c-11.6 77-78 136-158.2 136S13.4 453 1.8 376C.6 368.2 0 360.2 0 352s.6-16.2 1.8-24c11.6-77 78-136 158.2-136s146.6 59 158.2 136zM160 240c-53.6 0-98.4 37.7-109.4 88H269.4c-11-50.3-55.8-88-109.4-88zm0 224c53.6 0 98.4-37.7 109.4-88H50.6c11 50.3 55.8 88 109.4 88z\"]\n};\nvar fa360Degrees = {\n prefix: 'far',\n iconName: '360-degrees',\n icon: [640, 512, [], \"e2dc\", \"M608 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h83.2L36 218.7c-4.9 7.4-5.4 16.8-1.2 24.6S47.1 256 56 256H88c30.9 0 56 25.1 56 56v40c0 26.5-21.5 48-48 48H94.5c-16 0-31-8-39.9-21.4L44 362.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l10.6 15.9C32.5 432 62.4 448 94.5 448H96c53 0 96-43 96-96V312c0-53.3-40-97.2-91.6-103.3L172 101.3c4.9-7.4 5.4-16.8 1.2-24.6S160.9 64 152 64H24zm440 80c0-17.7 14.3-32 32-32s32 14.3 32 32V368c0 17.7-14.3 32-32 32s-32-14.3-32-32V144zM576 368V144c0-44.2-35.8-80-80-80s-80 35.8-80 80V368c0 44.2 35.8 80 80 80s80-35.8 80-80zM272 160c0-26.5 21.5-48 48-48c13.3 0 24-10.7 24-24s-10.7-24-24-24c-53 0-96 43-96 96V288l0 .2V368c0 44.2 35.8 80 80 80s80-35.8 80-80V272c0-44.2-35.8-80-80-80c-11.4 0-22.2 2.4-32 6.7V160zm32 80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V272c0-17.7 14.3-32 32-32z\"]\n};\nvar faEthernet = {\n prefix: 'far',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M128 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H400 304 208 112 32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H64V160c0-17.7 14.3-32 32-32h32V96zm48 16v40c0 13.3-10.7 24-24 24H112v40c0 13.3-10.7 24-24 24H48V400H88V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h40V240H424c-13.3 0-24-10.7-24-24V176H360c-13.3 0-24-10.7-24-24V112H176z\"]\n};\nvar faEuroSign = {\n prefix: 'far',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.6 240c-.4 5.3-.6 10.6-.6 16s.2 10.7 .6 16H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H57.3C84.8 412.5 170.5 480 272 480h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H272c-74.6 0-138.4-46.4-164-112H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H96.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H108c25.6-65.6 89.4-112 164-112h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H272C170.5 32 84.8 99.5 57.3 192H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48.6z\"]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'far',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M248 48H200V224H152V58.7c-23.9 13.8-40 39.7-40 69.3v96H64V128C64 57.3 121.3 0 192 0h64c70.7 0 128 57.3 128 128v96H336V128c0-29.6-16.1-55.5-40-69.3V224H248V48zM67.1 304l-18 48H398.9l-18-48H67.1zM22.1 287.1c7-18.7 24.9-31.1 44.9-31.1H380.9c20 0 37.9 12.4 44.9 31.1l19.2 51.3c1.9 5.1 2.9 10.5 2.9 16c0 20.4-13.5 37.7-32 43.5v90c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H80v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V398c-18.5-5.8-32-23.1-32-43.5c0-5.5 1-10.9 2.9-16l19.2-51.3z\"]\n};\nvar faCircleCheck = {\n prefix: 'far',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faSquareDashedCirclePlus = {\n prefix: 'far',\n iconName: 'square-dashed-circle-plus',\n icon: [576, 512, [], \"e5c2\", \"M104 32H88C39.4 32 0 71.4 0 120v16c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-22.1 17.9-40 40-40h16c13.3 0 24-10.7 24-24s-10.7-24-24-24zM0 296c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80zm24 56c-13.3 0-24 10.7-24 24v16c0 48.6 39.4 88 88 88h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-22.1 0-40-17.9-40-40V376c0-13.3-10.7-24-24-24zM424 192c13.3 0 24-10.7 24-24V120c0-48.6-39.4-88-88-88H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c22.1 0 40 17.9 40 40v48c0 13.3 10.7 24 24 24zM256 456c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24zm8-376c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h80zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faMoneySimpleFromBracket = {\n prefix: 'far',\n iconName: 'money-simple-from-bracket',\n icon: [640, 512, [], \"e313\", \"M48 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88C0 39.4 39.4 0 88 0H552c48.6 0 88 39.4 88 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-22.1-17.9-40-40-40H88C65.9 48 48 65.9 48 88zm416 8h48l0 352c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64l0-352h48l0 352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16l0-352zM320 352c-53 0-96-35.8-96-80s43-80 96-80s96 35.8 96 80s-43 80-96 80z\"]\n};\nvar faBat = {\n prefix: 'far',\n iconName: 'bat',\n icon: [576, 512, [], \"f6b5\", \"M356.3 187.3c-13.3-6.8-22.7-19.3-25.4-33.9l-6.5-34.9c-11.1 6.2-23.6 9.5-36.4 9.5s-25.3-3.3-36.4-9.5l-6.5 34.9c-2.7 14.6-12.1 27.2-25.4 33.9s-28.9 7-42.4 .6l-68.7-32.7C70.1 202.4 48.7 261.3 48 322.3l13.3-6.6c29.9-15 66.3-4.4 83.5 24.3l8.7 14.6 7.6-7.6c27.3-27.3 72.4-24.4 96 6.2L288 393.3l30.8-40.1c23.6-30.6 68.7-33.6 96-6.2l7.6 7.6 8.7-14.6c17.2-28.7 53.6-39.3 83.5-24.3l13.3 6.6c-.6-61-22-120-60.6-167.2l-68.7 32.7c-13.5 6.4-29.1 6.2-42.4-.6zM576 346.3v0 2 28.5c0 10.6-11.2 17.5-20.6 12.8l-25.5-12.8L528 376l0 0-34.7-17.4c-7.5-3.7-16.6-1.1-20.9 6.1l-29.8 49.7c-5.4 8.9-17.7 10.4-25 3.1l-36.6-36.6c-6.8-6.8-18.1-6.1-24 1.6l-56.2 73.1c-6.4 8.3-19 8.3-25.4 0l-56.2-73.1c-5.9-7.7-17.2-8.4-24-1.6l-36.6 36.6c-7.4 7.4-19.7 5.8-25-3.1l-29.8-49.7c-4.3-7.2-13.4-9.8-20.9-6.1L48 376l0 0-1.8 .9L20.7 389.7C11.2 394.4 0 387.5 0 376.9V348.4v-2 0V325.2C0 249.6 27.1 176.4 76.3 119c11.6-13.6 30.9-17.7 47.1-10l29.7 14.1 44.8 21.3 9.2-48.8 6.8-36.2c1.3-6.7 7.1-11.5 13.9-11.5c2.8 0 5.5 .8 7.8 2.4l37.8 25.2c4.3 2.9 9.4 4.4 14.7 4.4s10.3-1.5 14.7-4.4l37.8-25.2c2.3-1.5 5-2.4 7.8-2.4c6.8 0 12.6 4.8 13.9 11.5l6.8 36.2 9.2 48.8 44.8-21.3L452.6 109c16.2-7.7 35.5-3.6 47.1 10C548.9 176.4 576 249.6 576 325.2v21.1z\"]\n};\nvar faCircleStop = {\n prefix: 'far',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faHeadSideHeadphones = {\n prefix: 'far',\n iconName: 'head-side-headphones',\n icon: [512, 512, [], \"f8c2\", \"M184 52.6C106.1 70.7 48 140.5 48 224c0 42.2 14.8 80.8 39.5 111.1c13.6 16.6 24.5 38.5 24.5 63.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6c0-10.7-4.8-22.2-13.7-33.1C18.9 326.9 0 277.6 0 224C0 100.3 100.3 0 224 0h24c78.8 0 151.4 47.6 183.2 116.2c4.2 9.1 8.2 18.4 12 27.3l1.5 3.5c4.3 10.1 8.5 19.7 13 29c9 18.6 18.7 34.5 31.4 47.1l4.4 4.4c11.9 11.9 18.6 28.1 18.6 45c0 35.1-28.5 63.6-63.6 63.6H448v48c0 35.3-28.7 64-64 64H320v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V424c0-13.3 10.7-24 24-24h88c8.8 0 16-7.2 16-16V312c0-13.3 10.7-24 24-24h24.4c8.6 0 15.6-7 15.6-15.6c0-4.1-1.6-8.1-4.6-11L455 257c-18.1-18.1-30.6-39.4-40.6-60.1c-5-10.4-9.6-21-13.9-31.1l-1.5-3.5c-3.8-9-7.5-17.6-11.4-25.9C363.7 84.7 308.1 48 248 48H232V98.6c50.3 11 88 55.8 88 109.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-53.6 37.7-98.4 88-109.4v-46zM272 208a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPhoneRotary = {\n prefix: 'far',\n iconName: 'phone-rotary',\n icon: [512, 512, [9742], \"f8d3\", \"M0 176V141.3c0-8.5 3.4-16.6 9.9-22.1C38.2 95.4 125.9 32 256 32s217.8 63.4 246.1 87.2c6.5 5.5 9.9 13.6 9.9 22.1V176c0 17.7-14.3 32-32 32H437.7c-13.1 0-24.9-8-29.7-20.1l-19.4-48.6c-2.9-7.3-8.4-13.2-15.7-16c-18.6-7-59.5-19.3-116.8-19.3s-98.2 12.3-116.8 19.3c-7.3 2.8-12.8 8.7-15.7 16L104 187.9C99.2 200 87.4 208 74.3 208H32c-17.7 0-32-14.3-32-32zM80 401v31H432V401c0-2.8-.7-5.5-2.1-7.9l-101.1-177c-2.8-5-8.2-8.1-13.9-8.1H197.1c-5.7 0-11 3.1-13.9 8.1L82.1 393.1c-1.4 2.4-2.1 5.2-2.1 7.9zm61.6-208.7C153 172.3 174.2 160 197.1 160H314.9c23 0 44.2 12.3 55.6 32.2l101.1 177c5.5 9.7 8.4 20.6 8.4 31.8v31c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V401c0-11.1 2.9-22.1 8.4-31.8l101.1-177zM256 256a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCompassDrafting = {\n prefix: 'far',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M304 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-19.6 91.7c-9 2.8-18.5 4.3-28.4 4.3s-19.4-1.5-28.4-4.3L158.1 306.4C187.9 320.3 221 328 256 328c85.8 0 160.8-46.6 201-116c6.6-11.5 21.3-15.4 32.8-8.8s15.4 21.3 8.8 32.8C450.2 319.6 359.7 376 256 376c-43.8 0-85.3-10.1-122.2-28L44.7 500.1c-6.7 11.4-21.4 15.3-32.8 8.6S-3.4 487.3 3.3 475.9L92.6 323.4C60.4 300.2 33.4 270.4 13.5 236c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8c15.8 27.2 36.9 51 61.9 69.7l69.8-119.2C170.2 145.2 160 121.8 160 96c0-53 43-96 96-96s96 43 96 96c0 25.8-10.2 49.2-26.7 66.5l53.5 91.4c-12.6 9.8-26.4 18.1-41.1 24.7l-53.2-90.9zM508.7 475.9c6.7 11.4 2.9 26.1-8.6 32.8s-26.1 2.9-32.8-8.6L394.4 375.7c14.4-7.1 28.2-15.4 41.2-24.6l73 124.8z\"]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'far',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M176 32c-8.8 0-16 7.2-16 16V64c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80zM56 64C42.7 64 32 74.7 32 88s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM24 136c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm8 96c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24zM272 48V64c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM400 32c-8.8 0-16 7.2-16 16V64c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80zm80 160c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80v16c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V192zM352 176c-44.2 0-80 35.8-80 80v16c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V192c0-8.8-7.2-16-16-16zm-96 16c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80v16c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V192zM130 423.7c-7.3-13.2-20.4-22.2-35.3-24.3C76 396.8 60.3 384.6 52.8 368H459.2c-7.5 16.6-23.2 28.8-41.9 31.5c-14.9 2.1-28 11.1-35.3 24.3c-2.8 5-8.1 8.3-14 8.3H144c-6 0-11.2-3.2-14-8.3zM25.6 320C11.5 320 0 331.5 0 345.6C0 397.3 38.3 440 88 447c10.9 19.7 31.9 33 56 33H368c24.1 0 45.1-13.3 56-33c49.7-7 88-49.7 88-101.4c0-14.1-11.5-25.6-25.6-25.6H25.6z\"]\n};\nvar faCalendarCircleMinus = {\n prefix: 'far',\n iconName: 'calendar-circle-minus',\n icon: [576, 512, [], \"e46f\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faChopsticks = {\n prefix: 'far',\n iconName: 'chopsticks',\n icon: [640, 512, [], \"e3f7\", \"M144.9 332.9L332.9 54.7c3.5-4.3 8.4-6.7 13.6-6.7c9.2 0 18.1 8 18.1 19.5c0 4.6-1.4 8.7-3.8 11.9L144.9 332.9zM346.5 0c-21.4 0-40.3 10.4-52.2 26.1l-.4 .5-.4 .6L7.4 450.7c-12 16.4-9.2 39.8 6.8 52.8C30.8 517 54.7 514 67.7 497.6L397.9 109.9l.4-.5 .4-.5c8.7-11.5 13.9-25.9 13.9-41.4C412.6 31 383.7 0 346.5 0zm-37 356.7L561.1 116.2c3.2-2.6 7.3-4.2 11.9-4.2c10.4 0 18.9 8.4 18.9 18.9c0 5.5-2.4 10.5-6.2 14L309.5 356.7zM573 64c-16.6 0-31.8 6.1-43.5 16.1l-.5 .4-.5 .4-381 364.2c-15.5 13.8-17.1 37.6-3.5 53.5s37.3 17.9 53.4 4.7L615.5 182.4l.5-.4 .5-.4c14.3-12.2 23.3-30.4 23.3-50.8C639.9 93.9 609.9 64 573 64z\"]\n};\nvar faCarWrench = {\n prefix: 'far',\n iconName: 'car-wrench',\n icon: [512, 512, [\"car-mechanic\"], \"f5e3\", \"M468.9 104H456l-.5 0c-.7 0-1.4-.1-2.1-.1C441.3 102.5 432 92.4 432 80s9.3-22.5 21.3-23.9c.7-.1 1.4-.1 2.1-.1l.5 0h12.9 17.6c10.8 0 18.4-10.6 12.5-19.6c-3.6-5.5-7.8-10.5-12.5-14.9c-4.2-3.9-8.8-7.4-13.8-10.3C470.8 10 468.9 9 466.9 8C456.4 2.9 444.5 0 432 0c-29.1 0-54.5 15.5-68.5 38.7c-3.3 5.4-8.9 9.3-15.3 9.3H163.8c-6.4 0-12-3.8-15.3-9.3C134.5 15.5 109.1 0 80 0C67.5 0 55.6 2.9 45.1 8c-2 1-3.9 2-5.8 3.1c-5 2.9-9.6 6.4-13.8 10.3c-4.7 4.4-9 9.4-12.5 14.9C7 45.4 14.7 56 25.5 56H43.1 56l.5 0c.7 0 1.4 .1 2.1 .1C70.7 57.5 80 67.6 80 80s-9.3 22.5-21.3 23.9c-.7 .1-1.4 .1-2.1 .1l-.5 0H43.1 25.5C14.7 104 7 114.6 12.9 123.6c3.6 5.5 7.8 10.5 12.5 14.9c4.2 3.9 8.8 7.4 13.8 10.3c1.9 1.1 3.8 2.2 5.8 3.1c10.6 5.1 22.4 8 34.9 8c29.1 0 54.5-15.5 68.5-38.7c3.3-5.4 8.9-9.3 15.3-9.3H348.2c6.4 0 12 3.8 15.3 9.3c14 23.2 39.5 38.7 68.5 38.7c12.5 0 24.4-2.9 34.9-8c2-1 3.9-2 5.8-3.1c5-2.9 9.6-6.4 13.8-10.3c4.7-4.4 9-9.4 12.5-14.9c5.9-9-1.7-19.6-12.5-19.6H468.9zM185.8 208H326.2c10.1 0 19.2 6.4 22.6 15.9L365.9 272H146.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM89.4 287.9c-.2 .5-.3 .9-.5 1.4C64.2 306.7 48 335.5 48 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H416v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L394 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H185.8c-30.4 0-57.6 19.1-67.8 47.8L89.4 287.9zM368 320c26.5 0 48 21.5 48 48v32H96V368c0-26.5 21.5-48 48-48H368zM160 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCarMechanic = faCarWrench;\nvar faIcicles = {\n prefix: 'far',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M5.2 9.1C9.7 3.4 16.7 0 24 0H488c6.9 0 13.5 3 18.1 8.2s6.6 12.2 5.7 19L448.9 483c-2.3 16.6-16.5 29-33.2 29c-15.8 0-29.4-11-32.8-26.4L332.6 256.5l-11.2 38.2c-4.4 15-18.1 25.2-33.7 25.2c-14.5 0-27.6-9-32.8-22.5l-9.4-24.6-20.2 84.9C221.5 373.1 207.8 384 192 384s-29.5-10.9-33.2-26.2l-20.2-84.9-9.5 24.8C123.9 311.1 111 320 96.6 320c-16.2 0-30.2-11.1-33.9-26.8L.6 29.5C-1 22.4 .6 14.8 5.2 9.1zM54.3 48L99.6 240.6l22-57.2c3.8-9.8 13.5-16 24-15.3s19.3 8.2 21.7 18.4L192 290l24.7-103.5c2.4-10.2 11.3-17.7 21.7-18.4s20.2 5.5 24 15.3L286 244.8 313 153.2c3.1-10.5 12.9-17.6 23.9-17.2s20.3 8.1 22.6 18.8l53 241.4L460.5 48H54.3z\"]\n};\nvar faPersonShelter = {\n prefix: 'far',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M268.1 3.3c-7.5-4.4-16.8-4.4-24.3 0l-232 136C4.5 143.6 0 151.5 0 160V488c0 13.3 10.7 24 24 24s24-10.7 24-24V173.8L256 51.8 464 173.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V160c0-8.5-4.5-16.4-11.9-20.7l-232-136zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-16 64.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V368H240V272.5zM240 416h32v72c0 13.3 10.7 24 24 24s24-10.7 24-24V328.3l18.9 35c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l18.9-35V488c0 13.3 10.7 24 24 24s24-10.7 24-24V416z\"]\n};\nvar faNeuter = {\n prefix: 'far',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M64 176a128 128 0 1 1 256 0A128 128 0 1 1 64 176zM216 350.4c85.8-11.7 152-85.3 152-174.4C368 78.8 289.2 0 192 0S16 78.8 16 176c0 89.1 66.2 162.7 152 174.4V488c0 13.3 10.7 24 24 24s24-10.7 24-24V350.4z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M256 48V64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H256zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faKazoo = {\n prefix: 'far',\n iconName: 'kazoo',\n icon: [640, 512, [], \"f8c7\", \"M560 256c0 29.6-8.9 57.1-24.2 80H576c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H535.8c15.3 22.9 24.2 50.4 24.2 80zm16 128H482c-19.8 10.2-42.2 16-66 16s-46.3-5.8-66-16H241.7c-11.8 0-23.4-1.6-34.7-4.8c-39.3-11.1-136.7-38.7-184-52.5C9.4 322.7 0 310.2 0 296V216c0-14.2 9.4-26.7 23-30.7c47.3-13.8 144.7-41.4 184-52.5c11.3-3.2 23-4.8 34.7-4.8H350c19.8-10.2 42.2-16 66-16s46.3 5.8 66 16h94c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64zM241.7 336h54.5c-15.3-22.9-24.2-50.4-24.2-80s8.9-57.1 24.2-80H241.7c-7.4 0-14.6 1-21.7 3C183.7 189.3 97.9 213.6 48 228v56c49.9 14.5 135.7 38.7 172.1 49c7 2 14.3 3 21.7 3zM416 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM398.1 209.9L416 227.7l17.9-17.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3L444.3 256l17.9 17.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L416 284.3l-17.9 17.9c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L387.7 256l-17.9-17.9c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0z\"]\n};\nvar faMarker = {\n prefix: 'far',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M336 113.9L225.9 224 288 286.1 447 127c17.1-17.1 17.1-44.9 0-62.1s-44.9-17.1-62.1 0l-15 15L336 113.9zm-144 144l-58.5 58.5c-38.8 38.8-66 87.5-78.6 140.7c53.2-12.7 101.9-39.9 140.7-78.6L254.1 320 192 257.9zM232.4 23.7c27.9-18.4 65.9-15.4 90.5 9.2l0 0L336 46.1l15-15 0 0C386.9-4.8 445.1-4.8 481 31c35.9 35.9 35.9 94.1 0 129.9L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8l80-80L199 183l69.1-69.1 6.2-6.2L285.1 97l17-17L289 66.9l0 0c-9.4-9.4-24.6-9.3-33.9 0L169 153c-4.1 4.1-9.3 6.4-14.7 6.9c-6.9 .7-14-1.7-19.3-6.9c-9.4-9.4-9.4-24.6 0-33.9L221.1 33c3.5-3.5 7.3-6.6 11.3-9.2z\"]\n};\nvar faBinBottles = {\n prefix: 'far',\n iconName: 'bin-bottles',\n icon: [640, 512, [], \"e5f5\", \"M152 0h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24c0-13.3 10.7-24 24-24zM32 192c0-53 43-96 96-96H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192h32c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5H608h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8L584.3 441.3c-4.7 40.3-38.9 70.7-79.5 70.7H135.1c-40.6 0-74.7-30.4-79.5-70.7L32 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8zm71.4 243.7c1.9 16.1 15.6 28.3 31.8 28.3H504.9c16.2 0 29.9-12.1 31.8-28.3l23-195.7H80.3l23 195.7z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'far',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zm86.9-85.1l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faSquareArrowDownLeft = {\n prefix: 'far',\n iconName: 'square-arrow-down-left',\n icon: [448, 512, [], \"e261\", \"M64 432c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zm288-48c13.3 0 24-10.7 24-24s-10.7-24-24-24H193.9L329 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24H288z\"]\n};\nvar faBatteryBolt = {\n prefix: 'far',\n iconName: 'battery-bolt',\n icon: [576, 512, [], \"f376\", \"M80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80h92.2c-11.6-13-15.3-31.5-9.5-48H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H239.2l60-48H80zM464 368H304.8l-60 48H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H371.8c11.6 13 15.3 31.5 9.5 48H464c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32zM346.1 115.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L193.7 376.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H297.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faTreeLarge = {\n prefix: 'far',\n iconName: 'tree-large',\n icon: [448, 512, [], \"f7dd\", \"M224 0c7.4 0 14.4 3.4 18.9 9.3L381.2 186.9c5.6 7.2 6.6 17 2.6 25.3s-12.4 13.5-21.6 13.5H345.7l67.2 100.6c4.9 7.4 5.4 16.8 1.2 24.6s-12.3 12.7-21.2 12.7H369l74.9 111.1c5 7.4 5.5 16.9 1.3 24.7S432.9 512 424 512H24c-8.9 0-17-4.9-21.2-12.7s-3.7-17.3 1.3-24.7L79 363.5H55c-8.9 0-17-4.9-21.2-12.7s-3.7-17.3 1.2-24.6l67.2-100.6H85.8c-9.2 0-17.5-5.2-21.6-13.5s-3-18 2.6-25.3L205.1 9.3C209.6 3.4 216.6 0 224 0zM134.9 177.6h12.3c8.9 0 17 4.9 21.2 12.7s3.7 17.3-1.2 24.6L99.9 315.5h24.2c8.9 0 17 4.9 21.2 12.7s3.7 17.3-1.3 24.7L69.1 464H378.9L303.9 352.9c-5-7.4-5.5-16.9-1.3-24.7s12.3-12.7 21.2-12.7h24.2L280.8 214.9c-4.9-7.4-5.4-16.8-1.2-24.6s12.3-12.7 21.2-12.7h12.3L224 63.1 134.9 177.6z\"]\n};\nvar faHelicopterSymbol = {\n prefix: 'far',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M461.6 224H510C495.6 108.2 403.8 16.4 288 2V50.5C377.3 64.2 447.8 134.8 461.6 224zM510 288H461.6C447.8 377.3 377.3 447.8 288 461.6V510c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510V461.6C134.7 447.8 64.2 377.3 50.4 288H2zm0-64H50.4C64.2 134.8 134.7 64.2 224 50.5V2C108.2 16.4 16.4 108.2 2 224zm190-64c0-13.3-10.7-24-24-24s-24 10.7-24 24V352c0 13.3 10.7 24 24 24s24-10.7 24-24V280H320v72c0 13.3 10.7 24 24 24s24-10.7 24-24V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192V160z\"]\n};\nvar faAperture = {\n prefix: 'far',\n iconName: 'aperture',\n icon: [512, 512, [], \"e2df\", \"M256 464l67-116 13.8-23.8c0-.1 .1-.1 .1-.2l11.5-20 56.3 97.5C366.9 440.1 314.2 464 256 464zM163.6 208l-56.3-97.5C145.1 71.9 197.8 48 256 48L189 164l-13.9 24-11.5 20zm87.8-56l56.3-97.5c54.8 14 100.9 49.8 128.5 97.5h-134H274.7c-.1 0-.2 0-.3 0H251.4zm104.1 68.3c-.1-.1-.1-.2-.2-.3l-11.5-20H456.4c5 17.8 7.6 36.6 7.6 56c0 37.9-10.1 73.4-27.8 104l-67-116-13.7-23.7zM48 256c0-37.9 10.1-73.4 27.8-104l67 116 25.4 44H55.6c-5-17.8-7.6-36.6-7.6-56zM204.3 457.5c-54.8-14-100.9-49.8-128.5-97.5h134 50.8l-56.3 97.5zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216.7 212c4.3-7.4 12.1-11.9 20.6-12h37.3c8.5 .1 16.3 4.6 20.5 11.8l18.7 32.3c4.2 7.4 4.2 16.4 0 23.8c0 0 0 .1-.1 .1l-18.5 32c0 0 0 .1 0 .1c-4.3 7.4-12.2 11.9-20.7 11.9H237.5c-8.6 0-16.5-4.6-20.8-12l-18.5-32c-4.3-7.4-4.3-16.6 0-24l18.5-32z\"]\n};\nvar faUniversalAccess = {\n prefix: 'far',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1l11.9 5.1c26.1 11.2 54.2 17 82.7 17s56.5-5.8 82.7-17l11.9-5.1c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-11.9 5.1c-17.3 7.4-35.2 12.9-53.6 16.3v50.1c0 4.3 .7 8.6 2.1 12.6l28.7 86.1c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-24.4-73.2c-1.3-3.8-4.8-6.4-8.8-6.4s-7.6 2.6-8.8 6.4l-24.4 73.2c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4l28.7-86.1c1.4-4.1 2.1-8.3 2.1-12.6V235.5c-18.4-3.5-36.3-8.9-53.6-16.3l-11.9-5.1c-12.2-5.2-17.8-19.3-12.6-31.5s19.3-17.8 31.5-12.6zM256 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faGearComplex = {\n prefix: 'far',\n iconName: 'gear-complex',\n icon: [512, 512, [], \"e5e9\", \"M256 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192zm48 96a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM234.9 0c-22.2 0-41.5 15.2-46.7 36.7L180 71l-1.1 .4L148.9 53c-18.9-11.6-43.3-8.7-59 7L60.1 89.9c-15.7 15.7-18.6 40.1-7 59l18.4 30L71 180l-34.2 8.3C15.2 193.4 0 212.7 0 234.9v42.2c0 22.2 15.2 41.5 36.7 46.7L71 332l.4 1.1L53 363.1c-11.6 18.9-8.7 43.3 7 59l29.8 29.8c15.7 15.7 40.1 18.6 59 7l30-18.4 1.1 .4 8.3 34.2c5.2 21.6 24.5 36.7 46.7 36.7h42.2c22.2 0 41.5-15.2 46.7-36.7L332 441l1.1-.4 30 18.4c18.9 11.6 43.3 8.7 59-7l29.8-29.8c15.7-15.7 18.6-40.1 7-59l-18.4-30 .4-1.1 34.2-8.3c21.6-5.2 36.7-24.5 36.7-46.7V234.9c0-22.2-15.2-41.5-36.7-46.7L441 180l-.4-1.1 18.4-30c11.6-18.9 8.7-43.3-7-59L422.1 60.1c-15.7-15.7-40.1-18.6-59-7l-30 18.4L332 71l-8.3-34.2C318.6 15.2 299.3 0 277.1 0H234.9zm0 48l42.2 0 11.3 46.6c1.9 8 7.9 14.5 15.7 17.1c6.8 2.3 13.5 5 19.9 8.2c7.4 3.7 16.2 3.3 23.3-1l40.9-25L418 123.8l-25 40.9c-4.3 7.1-4.7 15.9-1 23.3c3.2 6.4 6 13 8.2 19.9c2.6 7.9 9.1 13.8 17.1 15.7L464 234.9v42.2l-46.6 11.3c-8 1.9-14.5 7.9-17.1 15.7c-2.3 6.8-5 13.5-8.2 19.9c-3.7 7.4-3.3 16.2 1 23.3l25 40.9L388.2 418l-40.9-25c-7.1-4.3-15.9-4.7-23.3-1c-6.4 3.2-13 6-19.9 8.2c-7.9 2.6-13.8 9.1-15.7 17.1L277.1 464H234.9l-11.3-46.6c-1.9-8-7.9-14.5-15.7-17.1c-6.8-2.3-13.5-5-19.9-8.2c-7.4-3.7-16.2-3.3-23.3 1l-40.9 25L94 388.2l25-40.9c4.3-7.1 4.7-15.9 1-23.3c-3.2-6.4-6-13-8.2-19.9c-2.6-7.9-9.1-13.8-17.1-15.7L48 277.1l0-42.2 46.6-11.3c8-1.9 14.5-7.9 17.1-15.7c2.3-6.8 5-13.5 8.2-19.9c3.7-7.4 3.3-16.2-1-23.3L94 123.8 123.8 94l40.9 25c7.1 4.3 15.9 4.7 23.3 1c6.4-3.2 13-6 19.9-8.2c7.9-2.6 13.8-9.1 15.7-17.1L234.9 48z\"]\n};\nvar faFileMagnifyingGlass = {\n prefix: 'far',\n iconName: 'file-magnifying-glass',\n icon: [384, 512, [\"file-search\"], \"f865\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFileSearch = faFileMagnifyingGlass;\nvar faUpRight = {\n prefix: 'far',\n iconName: 'up-right',\n icon: [384, 512, [], \"e2be\", \"M320 128V321.4c0 1.7-.8 3.2-2.1 4.2c-2.1 1.6-5 1.4-6.9-.5L257 271c-9.4-9.4-24.6-9.4-33.9 0L98.3 395.7c-2.7 2.7-6.5 4.3-10.3 4.3s-7.6-1.5-10.3-4.3L52.3 370.3c-2.7-2.7-4.3-6.5-4.3-10.3s1.5-7.6 4.3-10.3L177 225c9.4-9.4 9.4-24.6 0-33.9L122.9 137c-1.8-1.8-2.1-4.8-.5-6.9c1-1.3 2.5-2.1 4.2-2.1H320zm48-8c0-22.1-17.9-40-40-40H126.6c-16.8 0-32.5 7.9-42.6 21.3c-15.9 21.2-13.8 50.9 4.9 69.6L126.1 208 18.3 315.7C6.6 327.5 0 343.4 0 360s6.6 32.5 18.3 44.3l25.4 25.4C55.5 441.4 71.4 448 88 448s32.5-6.6 44.3-18.3L240 321.9 277.1 359c18.7 18.7 48.4 20.8 69.6 5c13.4-10.1 21.3-25.8 21.3-42.6V120z\"]\n};\nvar faCircleChevronUp = {\n prefix: 'far',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271L273 167c-9.4-9.4-24.6-9.4-33.9 0L135 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faUserPolice = {\n prefix: 'far',\n iconName: 'user-police',\n icon: [448, 512, [], \"e333\", \"M230.1 .8c-4-1.1-8.2-1.1-12.2 0l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40zM227 48.6l32 12.8c3 1.2 5 4.2 5 7.4c0 17.2-7 46.1-36.9 58.6c-2 .8-4.2 .8-6.2 0C191 114.9 184 86 184 68.8c0-3.3 2-6.2 5-7.4l32-12.8c1.9-.8 4-.8 5.9 0zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2c-14 5.4-28.5 9.9-43.3 13.4c.4 3.2 .6 6.5 .6 9.8c0 46-37.2 83.2-83.2 83.2s-83.2-37.2-83.2-83.2c0-3.3 .2-6.6 .6-9.8c-14.8-3.6-29.3-8.1-43.3-13.4C96.7 176.3 96 184.1 96 192zm20.6 209.8l65.2 57.1c2.1 1.9 4.3 3.6 6.6 5.1H50.9c8.4-31.2 33.8-55.5 65.7-62.2zM358.4 464l4.7-3.4c2.8-2 4-5.7 2.9-9s-4.2-5.5-7.6-5.5l-17.4 0-5.4-16.6c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5L315 446.2l-17.4 0c-3.5 0-6.6 2.2-7.6 5.5s.1 6.9 2.9 9l4.7 3.4H259.5c2.3-1.5 4.5-3.2 6.6-5.1l65.2-57.1c31.9 6.7 57.3 30.9 65.7 62.2H358.4zM137.2 356.1c-3-2.6-6.8-4.1-10.7-3.8C55.9 356.3 0 414.8 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6c0-71.6-55.9-130.1-126.5-134.2c-3.9-.2-7.8 1.2-10.7 3.8l-76.3 66.7c-6 5.3-15 5.3-21.1 0l-76.3-66.7z\"]\n};\nvar faLariSign = {\n prefix: 'far',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c13.3 0 24 10.7 24 24V97.5c7.9-1 15.9-1.5 24-1.5s16.1 .5 24 1.5V56c0-13.3 10.7-24 24-24s24 10.7 24 24v54c58.9 23.8 103.2 76 116.2 139.7c2.6 13-5.8 25.7-18.7 28.3s-25.7-5.8-28.3-18.7c-8.3-41-34-75.6-69.1-95.9V264c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-118c-7.8-1.3-15.8-2-24-2s-16.2 .7-24 2l0 118c0 13.3-10.7 24-24 24s-24-10.7-24-24V163.3C77 188.2 48 234.7 48 288c0 79.5 64.5 144 144 144H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H192 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H65C25.1 396.8 0 345.3 0 288c0-80.6 49.6-149.6 120-178V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faVolcano = {\n prefix: 'far',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM48 459.8c0 2.3 1.9 4.2 4.2 4.2H459.8c2.3 0 4.2-1.9 4.2-4.2c0-1-.4-2-1.1-2.8L361.3 342.7l-15 15c-6.6 6.6-15.5 10.3-24.8 10.3c-11 0-21.4-5.2-28-14l-18-24c-12.3-16.4-31.5-26-52-26c-15.2 0-29.9 5.3-41.6 15.1l-39.4 32.8L49.1 457.1c-.7 .8-1.1 1.7-1.1 2.8zM163.4 256.2c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"]\n};\nvar faTeddyBear = {\n prefix: 'far',\n iconName: 'teddy-bear',\n icon: [576, 512, [], \"e3cf\", \"M144 80c0-17.7 14.3-32 32-32c14 0 25.9 9 30.3 21.5c4 11.5 15.9 18.2 27.8 15.6c16-3.5 34.2-5.1 54-5.1s38 1.7 54 5.1c11.9 2.6 23.8-4.1 27.8-15.6C374.1 57 386 48 400 48c17.7 0 32 14.3 32 32c0 11.5-6.1 21.7-15.4 27.3c-9 5.5-13.3 16.2-10.8 26.4c1.3 5.3 2.1 11.3 2.1 18.3c0 54.9-51 104-120 104s-120-49.1-120-104c0-6.9 .8-13 2.1-18.3c2.6-10.2-1.8-20.9-10.8-26.4C150.1 101.7 144 91.5 144 80zM176 0C131.8 0 96 35.8 96 80c0 22.8 9.5 43.3 24.7 57.9c-.4 3.4-.6 6.8-.7 10.3c-25.2-16.9-59.5-16.5-84.6 3.3c-31.2 24.6-36.6 69.9-12 101.1l25.8 32.7c5.5 6.9 11.2 13.6 17.1 19.9C28.6 311.7 0 344.5 0 384c0 3.9 .3 7.7 .8 11.4c.1 .8 .3 1.5 .4 2.3l13 53.3c8 33 35.8 56.9 68.9 60.6c1.6 .3 3.2 .5 4.8 .5h4 28H456h28 4c1.6 0 3.3-.2 4.8-.5c33.1-3.6 60.9-27.6 68.9-60.6l13-53.3c.2-.8 .3-1.5 .4-2.3c.5-3.7 .8-7.5 .8-11.4c0-39.5-28.6-72.3-66.3-78.8c5.9-6.3 11.6-13 17.1-19.9l25.8-32.7c24.6-31.2 19.2-76.5-12-101.1c-25.1-19.8-59.4-20.2-84.6-3.3c-.1-3.5-.3-6.9-.7-10.3C470.5 123.3 480 102.8 480 80c0-44.2-35.8-80-80-80c-27.5 0-51.8 13.9-66.1 35c-14.7-2.1-30.2-3-45.9-3s-31.1 .9-45.9 3C227.8 13.9 203.5 0 176 0zM92 464H90.6c-.3 0-.6-.1-.9-.1c-13.8-1-25.5-10.7-28.8-24.3l-12.7-52c-.1-1.2-.2-2.4-.2-3.6c0-17.7 14.3-32 32-32c16.1 0 29.5 11.9 31.7 27.4c1.7 11.8 11.8 20.6 23.8 20.6h.6c13.3 0 24-10.7 24-24V332.5c0-8.1-4.1-15.7-11-20.1c-22.9-14.8-44-33.7-62.1-56.8L61.1 222.9c-8.2-10.4-6.4-25.5 4-33.7s25.5-6.4 33.7 4l25.8 32.7c83.3 105.7 243.5 105.7 326.8 0l25.8-32.7c8.2-10.4 23.3-12.2 33.7-4s12.2 23.3 4 33.7l-25.8 32.7c-18.1 23-39.2 41.9-62.1 56.8c-6.8 4.4-11 12-11 20.1V376c0 13.3 10.7 24 24 24h.6c11.9 0 22.1-8.8 23.8-20.6c2.2-15.5 15.6-27.4 31.7-27.4c17.7 0 32 14.3 32 32c0 1.2-.1 2.4-.2 3.6l-12.7 52c-3.3 13.6-15 23.4-28.8 24.3c-.3 0-.6 0-.9 .1H484 456 376V416c0-44.2-35.8-80-80-80H280c-44.2 0-80 35.8-80 80v48H120 92zm156 0V416c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32v48H248zm8-320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-16 32c0-13.3-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24s32-10.7 32-24z\"]\n};\nvar faStocking = {\n prefix: 'far',\n iconName: 'stocking',\n icon: [384, 512, [], \"f7d5\", \"M96 0C78.3 0 64 14.3 64 32V64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm48 238.9V128H96V238.9c0 10.7-5.3 20.7-14.2 26.6L55.7 282.9C20.9 306.1 0 345.1 0 386.9v2.2C0 457 55 512 122.8 512c24.2 0 48-7.2 68.1-20.6L295 422c35.6-23.7 57-63.7 57-106.5V128H304V315.5c0 26.7-13.4 51.7-35.6 66.6L164.3 451.4C152 459.6 137.6 464 122.8 464C81.5 464 48 430.5 48 389.2v-2.2c0-25.8 12.9-49.8 34.3-64.1l26.1-17.4c22.3-14.8 35.6-39.8 35.6-66.6z\"]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'far',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM141.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L160.7 288.6l-16.4-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L279 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C260.1 162.8 213.9 128 161.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7C69.1 149 36.6 178.5 19.5 217l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3C74.3 212 94.3 192.9 119 183.1L96.2 251.4c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L264.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21L75.5 402.5 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zM416 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM553 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H392c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80zM392 128c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm24 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344zm-24 72c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-13.3-10.7-24-24-24z\"]\n};\nvar faImageSlash = {\n prefix: 'far',\n iconName: 'image-slash',\n icon: [640, 512, [], \"e1b7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zM134.4 80H512c8.8 0 16 7.2 16 16V388.5l-53.4-41.9L387 233.3c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3l-7.2 9.3L256 175.3c-.4-26.2-21.7-47.3-48-47.3c-3.7 0-7.4 .4-10.8 1.2L134.4 80zm353 400L282.9 318.9 266 340.7l-30.5-42.7C231 291.7 223.8 288 216 288s-15 3.7-19.5 10.1l-80 112-4.5 6.3 0-.3V184.2L64 146.4V416c0 35.3 28.7 64 64 64H487.4z\"]\n};\nvar faMaskSnorkel = {\n prefix: 'far',\n iconName: 'mask-snorkel',\n icon: [576, 512, [], \"e3b7\", \"M552 32c13.3 0 24 10.7 24 24V160H528V56c0-13.3 10.7-24 24-24zM528 376.6V192h48V376.6C576 451.4 515.4 512 440.6 512c-67.4 0-124.5-49.5-134-116.2l-2.3-16.4c-1.9-13.1 7.2-25.3 20.4-27.2s25.3 7.2 27.2 20.4l2.3 16.4c6.2 43.1 43 75 86.5 75c48.3 0 87.4-39.1 87.4-87.4zM64 112c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h79.7c7.1 0 13.4-4.7 15.4-11.6l3.4-11.7c17.7-61.9 105.4-61.9 123.1 0l3.4 11.7c2 6.9 8.2 11.6 15.4 11.6H384c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM304.3 288c-22.3 0-42.4-11.5-54-29.6c-.7-1-1.3-2.1-1.9-3.2c-.3-.5-.6-1-.8-1.5c-2-3.8-3.6-7.8-4.8-12.1l-.6-2.2-2.7-9.6c-4.4-15.5-26.3-15.5-30.8 0l-2.7 9.6-.6 2.2c-1.2 4.2-2.8 8.3-4.8 12.1c-.3 .5-.5 1-.8 1.5c-.6 1.1-1.2 2.2-1.9 3.2c-11.5 18.1-31.7 29.6-54 29.6H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H384c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H304.3z\"]\n};\nvar faSmoke = {\n prefix: 'far',\n iconName: 'smoke',\n icon: [640, 512, [], \"f760\", \"M80 128c0-44.2 35.8-80 80-80c31.1 0 58 17.7 71.3 43.7c3.3 6.5 9.5 11.2 16.7 12.6s14.7-.5 20.2-5.3c14-11.9 32-19 51.8-19c24.3 0 46.1 10.8 60.7 27.9c4.9 2 9.7 4.3 14.4 6.8c9.3-9.9 19.8-18.6 31.2-25.9C403.4 54.5 364.3 32 320 32c-21.9 0-42.6 5.5-60.7 15.3C235.9 18.5 200.1 0 160 0C89.3 0 32 57.3 32 128c0 32 11.7 61.2 31.1 83.6c16.1-8.3 33.6-14.3 52.2-17.3C94 180 80 155.6 80 128zm512 96c0 27.5-13.8 51.7-34.9 66.1c12.3 10.4 22.8 22.9 31 36.8C619.6 303.6 640 266.2 640 224c0-70.7-57.3-128-128-128c-46.6 0-87.3 24.8-109.7 62c-22.2-18.7-51-30-82.3-30c-51.6 0-96 30.5-116.3 74.4c10.7 3.9 20.9 8.7 30.5 14.5c7.9-5 16.2-9.4 25-13C273.9 186.8 295.7 176 320 176c24.3 0 46.1 10.8 60.7 27.9c13.7 5.6 26.5 13.1 38 22.2c7.5-3 13.1-9.6 14.7-17.7c7.2-36.7 39.7-64.4 78.5-64.4c44.2 0 80 35.8 80 80zM48 368c0-53 43-96 96-96c29.5 0 55.9 13.3 73.5 34.3c4.7 5.6 11.8 8.8 19.2 8.5s14.2-3.9 18.6-9.9c14.6-20 38.1-33 64.7-33c36.6 0 67.5 24.6 77 58.2c2 7.1 7.2 12.9 14.1 15.7s14.6 2.3 21-1.4c9.4-5.4 20.2-8.5 31.9-8.5c35.3 0 64 28.7 64 64s-28.7 64-64 64H144c-53 0-96-43-96-96zm96-144C64.5 224 0 288.5 0 368s64.5 144 144 144H464c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C411.8 251.7 369.1 224 320 224c-32.7 0-62.5 12.2-85.1 32.3C210.2 236.1 178.5 224 144 224z\"]\n};\nvar faSterlingSign = {\n prefix: 'far',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M96 159.2C96 115.5 131.5 80 175.2 80c8.5 0 17 1.4 25.1 4.1l80.1 26.7c12.6 4.2 26.2-2.6 30.4-15.2s-2.6-26.2-15.2-30.4L215.5 38.5c-13-4.3-26.6-6.5-40.2-6.5C105 32 48 89 48 159.2V224H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v63.4c0 17.4-4.4 34.5-12.7 49.8L2.9 444.5c-4.1 7.4-3.9 16.5 .4 23.7S15.5 480 24 480H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H64.4l13-23.9C89.6 385.8 96 360.8 96 335.4V272H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V159.2z\"]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faBatteryExclamation = {\n prefix: 'far',\n iconName: 'battery-exclamation',\n icon: [576, 512, [], \"e0b0\", \"M208 96v48H80c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32H193.6c-1 5.2-1.6 10.5-1.6 16c0 11.4 2.4 22.2 6.7 32H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H208zM464 416H345.3c4.3-9.8 6.7-20.6 6.7-32c0-5.5-.6-10.8-1.6-16H464c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H336V96H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80zM272 96c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM240 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faViruses = {\n prefix: 'far',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M327.8 293.8c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 34 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24s24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l0 0 9.5 9.5zM285.8 192c-17.9-17.2-28-41.6-27.5-66.4c-11.1 .2-22.1-1.7-32.4-5.5c-12.7-4.7-24.4-12.2-33.9-22c-17.2 17.9-41.6 28-66.4 27.5c.5 24.8-9.6 49.2-27.5 66.4c17.9 17.2 28 41.6 27.5 66.4c24.8-.5 49.2 9.6 66.4 27.5c17.2-17.9 41.6-28 66.4-27.5c-.5-24.8 9.6-49.2 27.5-66.4zM512 240c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM152 176a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm72 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSquarePersonConfined = {\n prefix: 'far',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM292 200c33.1 0 60 26.9 60 60v88c0 31.8-24.7 57.8-56 59.9v.1c-.7 0-1.5 0-2.2 0c-.6 0-1.2 0-1.8 0c-5.7 0-11.1-.8-16.3-2.2c-19.6-4.4-37.5-15.1-50.7-30.7l-44.6-52.7-39.3 73c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l56-104c3.8-7 10.7-11.7 18.6-12.5s15.7 2.3 20.8 8.4L232 309V260c0-33.1 26.9-60 60-60zm-4.2 159.2c1.8 .3 3.7 .6 5.6 .7c6-.7 10.6-5.8 10.6-11.9V260c0-6.6-5.4-12-12-12s-12 5.4-12 12v88c0 5.2 3.2 9.5 7.8 11.2zM208 112a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faUserTie = {\n prefix: 'far',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm128-80A128 128 0 1 1 96 128a128 128 0 1 1 256 0zM209.1 359.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 15.9 59.2 43.8-87.6c3-6 9.4-9.5 15.9-8.4C390.4 335.6 448 401.7 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-79.6 57.6-145.7 133.5-158.9c6.6-1.1 12.9 2.4 15.9 8.4l43.8 87.6 15.9-59.2zm-90.6 17.1C82.3 391.1 55.4 424.2 49.3 464h113l-43.8-87.7zM285.7 464h113c-6.1-39.8-33-72.9-69.2-87.7L285.7 464z\"]\n};\nvar faArrowDownLong = {\n prefix: 'far',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M175 505c9.4 9.4 24.6 9.4 33.9 0L345 369c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95L216 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 406.1L73 335c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L175 505z\"]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'far',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zM369.3 133c8.6-6.7 20.7-6.7 29.4 0L565.2 261.7c10.7 8.3 18 20.1 20.7 33.3l33.9 169.3C631.2 466.1 640 476 640 488c0 13.3-10.7 24-24 24H600 168 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H148.3l33.8-169c2.6-13.2 10-25.1 20.7-33.3L369.3 133zm-172 331H360V200.9L232.1 299.7c-1.5 1.2-2.6 2.9-3 4.8L197.3 464zM472 464h98.7L538.8 304.4c-.4-1.9-1.4-3.6-3-4.8L408 200.9V336l64 128z\"]\n};\nvar faCertificate = {\n prefix: 'far',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M178.7 122.2c11.2-6.5 19.3-17.2 22.5-29.8l5.3-20.9 15 15.5c9 9.3 21.4 14.5 34.4 14.5s25.4-5.2 34.4-14.5l15-15.5 5.3 20.9c3.2 12.6 11.3 23.3 22.5 29.8s24.6 8.1 37 4.6l20.8-5.9-5.9 20.8c-3.5 12.5-1.9 25.8 4.6 37s17.2 19.3 29.8 22.5l20.9 5.3-15.5 15c-9.3 9-14.5 21.4-14.5 34.4s5.2 25.4 14.5 34.4l15.5 15-20.9 5.3c-12.6 3.2-23.3 11.3-29.8 22.5s-8.1 24.6-4.6 37l5.9 20.8-20.8-5.9c-12.5-3.5-25.8-1.9-37 4.6s-19.3 17.2-22.5 29.8l-5.3 20.9-15-15.5c-9-9.3-21.4-14.5-34.4-14.5s-25.4 5.2-34.4 14.5l-15 15.5-5.3-20.9c-3.2-12.6-11.3-23.3-22.5-29.8s-24.6-8.1-37-4.6l-20.8 5.9 5.9-20.8c3.5-12.5 1.9-25.8-4.6-37s-17.2-19.3-29.8-22.5l-20.9-5.3 15.5-15c9.3-9 14.5-21.4 14.5-34.4s-5.2-25.4-14.5-34.4l-15.5-15 20.9-5.3c12.6-3.2 23.3-11.3 29.8-22.5s8.1-24.6 4.6-37l-5.9-20.8 20.8 5.9c12.5 3.5 25.8 1.9 37.1-4.6zM222.5 19.1L211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3l-4 15.9L154.7 80.6 108.5 67.5 92.7 63.1c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l4.5 15.8 13.1 46.2L34.1 166.5l-15.9 4c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l11.8 11.5L53.5 256 19.1 289.5 7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l15.9 4 46.5 11.8L67.5 403.5l-4.5 15.8c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l15.8-4.5 46.2-13.1 11.8 46.5 4 15.9c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4L222.5 493 256 458.5 289.5 493 301 504.7c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l4-15.9 11.8-46.5 46.2 13.1 15.8 4.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-4.5-15.8-13.1-46.2 46.5-11.8 15.9-4c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4L493 289.5 458.5 256 493 222.5 504.7 211c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-15.9-4-46.5-11.8 13.1-46.2 4.5-15.8c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-15.8 4.5L357.3 80.6 345.5 34.1l-4-15.9c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L289.5 19.1 256 53.5 222.5 19.1z\"]\n};\nvar faCrystalBall = {\n prefix: 'far',\n iconName: 'crystal-ball',\n icon: [448, 512, [], \"e362\", \"M400 224c0 71-42 132.2-102.6 160h83.3c41.5-40.7 67.2-97.3 67.2-160C448 100.3 347.7 0 224 0S0 100.3 0 224c0 62.7 25.7 119.3 67.2 160h83.3C90 356.2 48 295 48 224c0-97.2 78.8-176 176-176s176 78.8 176 176zM167.5 100.3c-2.6-7-12.4-7-15 0l-9.8 26.4-26.4 9.8c-7 2.6-7 12.4 0 15l26.4 9.8 9.8 26.4c2.6 7 12.4 7 15 0l9.8-26.4 26.4-9.8c7-2.6 7-12.4 0-15l-26.4-9.8-9.8-26.4zm113 48l-18.4 49.8-49.8 18.4c-7 2.6-7 12.4 0 15l49.8 18.4 18.4 49.8c2.6 7 12.4 7 15 0l18.4-49.8 49.8-18.4c7-2.6 7-12.4 0-15l-49.8-18.4-18.4-49.8c-2.6-7-12.4-7-15 0zM20.3 474.2c-5.1 7.3-5.8 16.9-1.6 24.8S31.1 512 40 512H408c8.9 0 17.2-5 21.3-12.9s3.5-17.5-1.6-24.8L386.9 416H61.1L20.3 474.2z\"]\n};\nvar faReplyAll = {\n prefix: 'far',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M208.5 73.4c9.6-9.1 10-24.3 .9-33.9s-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4zM352 240l0 0H328c-13.3 0-24 10.7-24 24v24 28.1L183.9 208 304 99.9V128v24c0 13.3 10.7 24 24 24h24 48c70.7 0 128 57.3 128 128c0 15.3-1.9 29.1-5.2 41.5C506 284.7 450.2 240 384 240H352zm0 96V288h32c5.4 0 10.8 .5 16 1.3c45.4 7.6 80 47.1 80 94.7c0 17.3-4.2 30.5-9.5 40.2c-1.6 2.9-3.3 5.5-5 7.9c-2.6 3.5-5.3 6.4-7.7 8.6c-.5 .5-1 .9-1.4 1.4c-4.8 4.9-8.3 11.3-8.3 18.1c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9c2.6-1.4 6.3-3.5 10.8-6.5c2.7-1.8 5.7-3.8 8.9-6.2c3.7-2.7 7.6-5.8 11.7-9.3C537.4 430.2 576 382 576 304c0-97.2-78.8-176-176-176H352V80 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V336z\"]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'far',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm232 48H152h-8V432H368V144h-8zM64 144c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H96V144H64zM448 432c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H416V432h32z\"]\n};\nvar faPersonSkating = {\n prefix: 'far',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 120c0-13.3 10.7-24 24-24H321.4c35.6 0 53.5 43.1 28.3 68.3L268.9 245l69.3 60c8.8 7.6 13.8 18.6 13.8 30.2V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V339l-85.3-74c-24.8-21.5-26-59.7-1.9-82.5c11.9-11.2 26.8-25.1 41.6-38.5H152c-13.3 0-24-10.7-24-24zM79 367L179.4 266.6c4.8 8.5 11.2 16.4 19 23.2l13.7 11.9L113 401c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zm324.9 81.4c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faSkating = faPersonSkating;\nvar faStarShooting = {\n prefix: 'far',\n iconName: 'star-shooting',\n icon: [512, 512, [127776], \"e036\", \"M313 41L265 89c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L279 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM129.5 388.7L120 444l49.5-26.1c14-7.4 30.7-7.4 44.7 0L263.8 444l-9.5-55.4c-2.7-15.6 2.5-31.4 13.8-42.4L308.3 307l-55.5-8.1c-15.6-2.3-29.2-12.1-36.1-26.3l-24.8-50.3-24.8 50.3c-7 14.2-20.5 24-36.1 26.3L75.5 307l40.2 39.2c11.3 11 16.4 26.9 13.8 42.4zm-5.4-137.3l46.3-94c8.8-17.9 34.3-17.9 43.1 0l46.3 94 103.5 15.1c19.7 2.9 27.5 27 13.3 40.9l-74.9 73.2 17.7 103.3c3.4 19.6-17.2 34.6-34.8 25.3l-92.6-48.8L99.3 509.2c-17.6 9.3-38.2-5.7-34.8-25.3L82.2 380.6 7.2 307.4C-7 293.5 .9 269.3 20.5 266.5l103.5-15.1zM505 199c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0zM505 41L361 185c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faBinaryLock = {\n prefix: 'far',\n iconName: 'binary-lock',\n icon: [640, 512, [], \"e33d\", \"M318 4.5c-6.3-4.5-14.3-5.7-21.6-3.3l-48 16C235.8 21.4 229 35 233.2 47.6S251 67 263.6 62.8L280 57.3V176H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h56 56c13.3 0 24-10.7 24-24s-10.7-24-24-24H328V24c0-7.7-3.7-15-10-19.5zM94 292.5c-6.3-4.5-14.3-5.7-21.6-3.3l-48 16C11.8 309.4 5 323 9.2 335.6S27 355 39.6 350.8L56 345.3V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H104V312c0-7.7-3.7-15-10-19.5zM72 0C32.2 0 0 32.2 0 72v80c0 39.8 32.2 72 72 72h48c39.8 0 72-32.2 72-72V72c0-39.8-32.2-72-72-72H72zM48 72c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V72zM192 360v80c0 39.8 32.2 72 72 72h48c39.8 0 72-32.2 72-72V360c0-39.8-32.2-72-72-72H264c-39.8 0-72 32.2-72 72zm72-24h48c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H264c-13.3 0-24-10.7-24-24V360c0-13.3 10.7-24 24-24zm264-96c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faFilterCircleDollar = {\n prefix: 'far',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M0 41.7C0 18.7 18.7 0 41.7 0H469.9C493.2 0 512 18.8 512 42.1c0 8.9-2.8 17.6-8.1 24.8L411.6 193.2c-30.9 3.6-59.3 15.1-83.2 32.5L458.3 48H55L218.6 248.8c3.5 4.3 5.4 9.6 5.4 15.2v68.4L256.3 358c-.2 3.3-.3 6.6-.3 10c0 20.8 3.6 40.7 10.2 59.2l-75.1-59.6c-9.6-7.6-15.1-19.1-15.1-31.3V272.5L9.4 68C3.3 60.6 0 51.3 0 41.7zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'far',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M192 112H64c-8.8 0-16 7.2-16 16v64H156.1c23.5-29.3 59.5-48 99.9-48s76.5 18.7 99.9 48H464V96c0-8.8-7.2-16-16-16H271.1c-2.5 0-4.9 .6-7.2 1.7l-50.5 25.2c-6.7 3.3-14 5.1-21.5 5.1zM48 240V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V240H380c2.6 10.2 4 21 4 32c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-11 1.4-21.8 4-32H48zM0 416V128C0 92.7 28.7 64 64 64l0-16c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V64h32l50.5-25.2c8.9-4.4 18.7-6.8 28.6-6.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM336 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faCircleArrowDown = {\n prefix: 'far',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 464A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM361 289l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-88-88c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47V152c0-13.3 10.7-24 24-24s24 10.7 24 24V302.1l47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faCommentPen = {\n prefix: 'far',\n iconName: 'comment-pen',\n icon: [512, 512, [\"comment-edit\"], \"f4ae\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM340.8 155c-14.7-14.7-38.6-14.7-53.3 0L272.6 170l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 264.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 316c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 192.6l-71.9 71.9z\"]\n};\nvar faCommentEdit = faCommentPen;\nvar faFileImport = {\n prefix: 'far',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M448 464H192c-8.8 0-16-7.2-16-16V368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V256h48V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM297 215c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faArrowRightToFile = faFileImport;\nvar faBanjo = {\n prefix: 'far',\n iconName: 'banjo',\n icon: [512, 512, [129685], \"f8a3\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-22.2 59.1-61.5 61.5-1.2 1.2c-22-16.5-48.2-27.7-76.6-31.7V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.7c-28.5 4.1-54.6 15.3-76.6 31.7l-1.2-1.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l1.2 1.2C41 241.4 29.8 267.5 25.7 296H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h1.7c4.1 28.5 15.3 54.6 31.7 76.6l-1.2 1.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l1.2-1.2c22 16.5 48.2 27.7 76.6 31.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-1.7c28.5-4.1 54.6-15.3 76.6-31.7l1.2 1.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-1.2-1.2c16.5-22 27.7-48.2 31.7-76.6H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.7c-4.1-28.5-15.3-54.6-31.7-76.6l1.2-1.2 0 0 61.5-61.5 59.1-22.2c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zM153 311c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faSquareArrowUpRight = {\n prefix: 'far',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zm64 16c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\"]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faLightEmergencyOn = {\n prefix: 'far',\n iconName: 'light-emergency-on',\n icon: [640, 512, [], \"e420\", \"M69.3 36c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM597.3 76c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm544 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H568zM448 208v96h48V208c0-97.2-78.8-176-176-176s-176 78.8-176 176v96h48V208c0-70.7 57.3-128 128-128s128 57.3 128 128zM144 432V384H496v48H144zM96 384v48c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V384c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48zM320 144c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64z\"]\n};\nvar faKerning = {\n prefix: 'far',\n iconName: 'kerning',\n icon: [640, 512, [], \"f86f\", \"M453.8 34.1c5.6-12 .4-26.3-11.6-31.9s-26.3-.4-31.9 11.6l-216 464c-5.6 12-.4 26.3 11.6 31.9s26.3 .4 31.9-11.6l216-464zM45.5 109.3C39.5 97.4 25.1 92.6 13.3 98.5S-3.4 118.9 2.5 130.7l136 272c4.1 8.1 12.4 13.3 21.5 13.3s17.4-5.1 21.5-13.3l136-272c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7L160 338.3 45.5 109.3zm328.2 293L397.3 352H562.7l23.6 50.2c5.6 12 19.9 17.1 31.9 11.5s17.1-19.9 11.5-31.9l-128-272c-4-8.4-12.4-13.8-21.7-13.8s-17.8 5.4-21.7 13.8l-128 272c-5.6 12-.5 26.3 11.5 31.9s26.3 .5 31.9-11.5zM480 176.4L540.1 304H419.9L480 176.4z\"]\n};\nvar faBoxOpen = {\n prefix: 'far',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M17.2 125.5c-9 17.9 .6 39.6 19.8 45.1l163.3 46.7c13.9 4 28.8-1.9 36.2-14.3L320 64 75.2 33.4c-6.7-.8-13.3 2.7-16.3 8.7L17.2 125.5zM320 64l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l163.3-46.7c19.3-5.5 28.8-27.2 19.8-45.1L581.1 42.1c-3-6.1-9.6-9.6-16.3-8.7L320 64zm-1.1 64h2.2l0 0h-2.2l0 0zM528 225.3V378.5l-184 46V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V424.5l-184-46V225.3L64 211.6v167c0 22 15 41.2 36.4 46.6l204.1 51c10.2 2.5 20.9 2.5 31 0l204.1-51c21.4-5.3 36.4-24.5 36.4-46.6v-167l-48 13.7z\"]\n};\nvar faSquareF = {\n prefix: 'far',\n iconName: 'square-f',\n icon: [448, 512, [], \"e270\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faScroll = {\n prefix: 'far',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M48 112c0-17.7 14.3-32 32-32s32 14.3 32 32V400c0 44.2 35.8 80 80 80H496c44.2 0 80-35.8 80-80V352c0-26.5-21.5-48-48-48h-.6-.6-.6-.6-.6-.6H524h-.6-.6-.6-.6-.6-.6-.6-.6H519h-.6-.6-.6-.6-.5-.6-.5-.6-.5-.5H513h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H507h-.5H506h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H499h-.5H498h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H487h-.5H486h-.5H485h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H456h-.5H455h-.5H454h-.5H453h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H441h-.5H440h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H431h-.5H430h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H423h-.5H422h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H415h-.5H414h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H407h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H400h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H393h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H386h-.5H385h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H378h-.5H377h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H370h-.5H369h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H360h-.5H359h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H347h-.5H346h-.5H345h-.5H344h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H315h-.5H314h-.5H313h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H302h-.5H301h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H294h-.5H293h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H287h-.5-.5-.5-.5-.5-.5-.5-.6-.6-.6H281h-.6-.6-.6-.6-.6-.6-.6-.6H276h-.6-.6-.6-.6-.6-.6H272c-26.5 0-48 21.5-48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V112c0-11.4-2.4-22.2-6.7-32H400c17.7 0 32 14.3 32 32V272h48V112c0-44.2-35.8-80-80-80H80C35.8 32 0 67.8 0 112v48c0 26.5 21.5 48 48 48H80V160H48V112zM496 432H265.3c4.3-9.8 6.7-20.6 6.7-32V352h0 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .6 .5 .6 .5 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 0v48c0 17.7-14.3 32-32 32z\"]\n};\nvar faSpa = {\n prefix: 'far',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M288 92.1c21.2 24.9 52.1 69.7 68.6 134.5c13.3-10.3 27.4-19.5 42.2-27.6c-27.3-91.6-79.3-145.6-96.8-161.8c-3.8-3.5-8.8-5.2-13.9-5.2s-10.1 1.7-13.9 5.2c-17.5 16.2-69.5 70.1-96.8 161.8c14.8 8.1 28.9 17.3 42.2 27.6c16.5-64.8 47.3-109.7 68.6-134.5zm-96 377c22.9 6.7 47 10.5 72 10.9h48c25-.4 49.1-4.1 72-10.9c111-32.7 192-135.4 192-257c0-11.1-9-20.1-20.1-20.1c-61.7 0-121.7 17.9-171.9 54.1c-41.8 30-75.1 71-96 118.7c-20.9-47.7-54.2-88.6-96-118.7C141.8 209.9 81.8 192 20.1 192C9 192 0 201 0 212.1c0 121.6 81 224.3 192 257zm0-50.5C116.8 390.9 60.8 323.2 49.9 241.4c55.1 5.9 104.6 30.5 142.1 67.2c33.5 32.9 57.4 75.5 67.2 123.2c-23.5-.9-46.1-5.5-67.2-13.3zm192 0c-21.1 7.7-43.6 12.4-67.2 13.3c9.7-47.8 33.7-90.4 67.2-123.2c37.5-36.8 87-61.3 142.1-67.2C515.2 323.2 459.2 390.9 384 418.5z\"]\n};\nvar faArrowLeftFromLine = {\n prefix: 'far',\n iconName: 'arrow-left-from-line',\n icon: [448, 512, [8612, \"arrow-from-right\"], \"f344\", \"M7.6 238.5C2.7 243.1 0 249.4 0 256s2.7 12.9 7.6 17.5l136 128c9.7 9.1 24.8 8.6 33.9-1s8.6-24.8-1-33.9L84.5 280l83.5 0 128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-128 0-83.5 0 91.9-86.5c9.7-9.1 10.1-24.3 1-33.9s-24.3-10.1-33.9-1l-136 128zM400 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 336z\"]\n};\nvar faArrowFromRight = faArrowLeftFromLine;\nvar faStrawberry = {\n prefix: 'far',\n iconName: 'strawberry',\n icon: [512, 512, [], \"e32b\", \"M494.1 33.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6C439.7 38.4 420.3 61.8 402 80c-.7 .7-1.4 1.4-2 2c0-.7 0-1.4 0-2.1c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-10.8-8.6-35.4-24.9-68.2-26.6c19.4-19.7 42.9-47.5 56.3-78.7zM192.2 112c20.5 0 40.8 7.8 56.4 23.4l128 128c15.6 15.6 23.4 36 23.4 56.6c0 59.2-62.9 144-224 144c-60 0-87.8-11.7-102.1-25.9S48 396 48 336c0-161 84.9-224 144.2-224zm0-48C96.2 64 0 160 0 336C0 464 48 512 176 512c176 0 272-96 272-192c0-32.8-12.5-65.5-37.5-90.5l-128-128C257.6 76.6 224.9 64.1 192.2 64zm-2.8 90.5c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm47.3 98.3c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-32 80c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-32 80c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm96.7-66.3c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm24-80c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm55.3 90.3c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-192-80c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-23.3 53.7c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3z\"]\n};\nvar faLocationPinLock = {\n prefix: 'far',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M192 451.7c18.5-23.7 41.6-54.7 64-88.1v83.2c-15.3 20.6-29.3 38.6-40.3 52.3c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0c95.7 0 175 70 189.6 161.5c-16.9 2.8-32.6 9.4-46.1 18.9C329.6 106.3 267.6 48 192 48C112.5 48 48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6zM224 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm288 48c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faPause = {\n prefix: 'far',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 112l0 288H96V112H48zM0 112C0 85.5 21.5 64 48 64H96c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112zm224 0V400h48V112H224zm-48 0c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H224c-26.5 0-48-21.5-48-48V112z\"]\n};\nvar faClockEightThirty = {\n prefix: 'far',\n iconName: 'clock-eight-thirty',\n icon: [512, 512, [], \"e346\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V300.8L173.3 340c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l96-64c7.4-4.9 16.8-5.4 24.6-1.2S280 247.1 280 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlaneEngines = {\n prefix: 'far',\n iconName: 'plane-engines',\n icon: [576, 512, [9992, \"plane-alt\"], \"f3de\", \"M576 256c0-17.4-8.8-31.1-18.7-40.7c-9.9-9.6-22.4-16.9-34.8-22.4C498 182.1 468.7 176 448 176H381.8l-32.5-50.9C360.3 120.1 368 109 368 96c0-17.7-14.3-32-32-32H310.1L285.7 25.8C275.4 9.7 257.6 0 238.5 0H197.9c-27.1 0-46.4 26.4-38.1 52.2L199.4 176H148l-36-48c-7.6-10.1-19.4-16-32-16H37.9C17 112 0 129 0 149.9c0 3.8 .6 7.5 1.7 11.1l0 0 19.9 64.7C9 230.1 0 242 0 256s9 25.9 21.6 30.3L1.7 350.9l0 0C.6 354.6 0 358.3 0 362.1C0 383 17 400 37.9 400H80c12.6 0 24.4-5.9 32-16L92.8 369.6 112 384l36-48h51.4L159.8 459.8c-8.3 25.8 11 52.2 38.1 52.2l40.6 0c19.1 0 36.9-9.7 47.2-25.8L310.1 448H336c17.7 0 32-14.3 32-32c0-13-7.7-24.1-18.8-29.1L381.8 336H448c20.6 0 49.8-5.8 74.4-16.5c12.4-5.4 25-12.7 34.9-22.4c10-9.8 18.7-23.6 18.7-41.1zM448 224c13.4 0 36.1 4.4 55.1 12.8c9.4 4.2 16.4 8.7 20.7 12.9c4.2 4.1 4.2 6.1 4.2 6.3v0c0 .6-.1 2.8-4.2 6.8c-4.3 4.2-11.2 8.6-20.6 12.7C484.3 283.8 461.6 288 448 288H368.6c-8.2 0-15.8 4.2-20.2 11.1L245.2 460.3c-1.5 2.3-4 3.7-6.7 3.7H208.9l46.3-144.7c2.3-7.3 1-15.3-3.5-21.5s-11.7-9.8-19.4-9.8L136 288c-7.6 0-14.7 3.6-19.2 9.6L76 352H51.6l27.4-88.9c1.4-4.6 1.4-9.5 0-14.1L51.6 160H76l40.8 54.4c4.5 6 11.6 9.6 19.2 9.6h96.3c7.7 0 14.9-3.7 19.4-9.8s5.8-14.2 3.5-21.5L208.9 48h29.6c2.7 0 5.3 1.4 6.7 3.7l20.2-12.9L245.2 51.7 348.4 212.9c4.4 6.9 12 11.1 20.2 11.1l79.4 0z\"]\n};\nvar faPlaneAlt = faPlaneEngines;\nvar faHillAvalanche = {\n prefix: 'far',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M551.1 391.1c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8zM448 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM48 440V145.9L366.1 464H72c-13.3 0-24-10.7-24-24zM68.3 98.3C43.1 73.1 0 91 0 126.6V440c0 39.8 32.2 72 72 72H385.4c35.6 0 53.5-43.1 28.3-68.3L68.3 98.3z\"]\n};\nvar faTemperatureEmpty = {\n prefix: 'far',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M96 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C90.3 301 96 288.4 96 273.9V112zM160 0C98.1 0 48 50.2 48 112V273.9c0 1.7-.7 4.4-3.2 7.8C26.7 305.7 16 335.7 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C272 50.2 221.9 0 160 0zm0 416a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'far',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M459.1 52.4l45.7 16.8c4.3 1.6 7.3 5.9 7.2 10.4c0 4.5-3 8.7-7.2 10.2l-45.7 16.8-16.5 45.8c-1.5 4.4-5.8 7.5-10.4 7.5s-8.9-3.1-10.4-7.5l-16.8-45.8L359.2 89.8c-4.2-1.5-7.2-5.7-7.2-10.2c0-4.6 3-8.9 7.2-10.4l46-16.8L421.7 6.5c1.9-3.9 6.1-6.5 10.4-6.5s8.5 2.6 10.4 6.5l16.5 45.8zM302.9 149.6c-12.1 7.2-27.1 8.8-40.7 3.8c-16.9-6.1-35.1-9.4-54.2-9.4c-88.4 0-160 71.6-160 160s71.6 160 160 160s160-71.6 160-160c0-19.1-3.3-37.4-9.4-54.2c-4.9-13.7-3.3-28.6 3.8-40.7l-59.5-59.5zm-24.4-41.3l2.9-2.9c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3l-2.9 2.9c7.9 22 12.2 45.7 12.2 70.5c0 114.9-93.1 208-208 208S0 418.9 0 304S93.1 96 208 96c24.7 0 48.5 4.3 70.5 12.3zM200 224c-39.8 0-72 32.2-72 72c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-66.3 53.7-120 120-120c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faGaugeLow = {\n prefix: 'far',\n iconName: 'gauge-low',\n icon: [512, 512, [\"tachometer-alt-slow\"], \"f627\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm32 112a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 408c-30.9 0-56-25.1-56-56c0-14 5.1-26.8 13.7-36.6L146 161.7c-5.3-12.1 .2-26.3 12.3-31.6s26.3 .2 31.6 12.3L257.6 296c30.2 .8 54.4 25.6 54.4 56c0 30.9-25.1 56-56 56zM384 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faTachometerAltSlow = faGaugeLow;\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h60.9l37.2 81.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8L315.7 275c21.8-14.3 36.3-39 36.3-67c0-44.2-35.8-80-80-80H184c-13.3 0-24 10.7-24 24zm48 88V176h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H208z\"]\n};\nvar faTrashCanPlus = {\n prefix: 'far',\n iconName: 'trash-can-plus',\n icon: [448, 512, [], \"e2ac\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zM200 376V312H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V200c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM208 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H176zM376 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'far',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M97.1 16.7c-4 12.6 2.9 26.1 15.5 30.2L240.4 87.7c3.1 32.4 25.5 59.2 55.6 68.6V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H320c13.3 0 24-10.7 24-24V156.3c14.2-4.5 26.8-12.8 36.4-23.8l132.3 42.3c12.6 4 26.1-2.9 30.2-15.5s-2.9-26.1-15.5-30.2L399.6 88.3c.3-2.7 .4-5.5 .4-8.3c0-44.2-35.8-80-80-80c-29.8 0-55.8 16.3-69.6 40.5L127.3 1.1c-12.6-4-26.1 2.9-30.2 15.5zM128 163.8L200.4 288H55.6L128 163.8zM254 305.1c2.6-11-1-22.3-6.7-32.1L152.1 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L8.7 273.1C3 282.8-.6 294.1 2 305.1C12.8 350 65.1 384 128 384s115.2-34 126-78.9zM583.3 416H438.4l72.4-124.2L583.3 416zm-72.4 96c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L534.9 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L391.6 401.1c-5.7 9.8-9.3 21.1-6.7 32.1C395.7 478 448 512 510.8 512zM320 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faGlobeSnow = {\n prefix: 'far',\n iconName: 'globe-snow',\n icon: [448, 512, [], \"f7a3\", \"M297.4 384C358 356.2 400 295 400 224c0-97.2-78.8-176-176-176S48 126.8 48 224c0 71 42 132.2 102.6 160H67.2C25.7 343.3 0 286.7 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 62.7-25.7 119.3-67.2 160H297.4zM232 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm3.3 84.7l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H271.5l44.8 53.8c4 4.8 4.8 11.4 2.2 17s-8.3 9.2-14.5 9.2H248v48H200V336H144c-6.2 0-11.9-3.6-14.5-9.2s-1.8-12.3 2.2-17L176.5 256H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64c6.2-6.2 16.4-6.2 22.6 0zM328 144a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM80 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM20.3 474.2L61.1 416H386.9l40.8 58.2c5.1 7.3 5.8 16.9 1.6 24.8S416.9 512 408 512H40c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8z\"]\n};\nvar faSubscript = {\n prefix: 'far',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24H51.2l96 144-96 144H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c8 0 15.5-4 20-10.7l92-138 92 138C272.5 444 280 448 288 448h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H300.8l-96-144 96-144H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H288c-8 0-15.5 4-20 10.7l-92 138L84 74.7C79.5 68 72 64 64 64H24zM472 312c0-8-3.9-15.4-10.5-19.9s-15-5.4-22.4-2.4l-40 16c-12.3 4.9-18.3 18.9-13.4 31.2s18.9 18.3 31.2 13.4l7.1-2.8V464H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h40 40c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V312z\"]\n};\nvar faDiamondTurnRight = {\n prefix: 'far',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M50.9 249L249 50.9c1.9-1.9 4.4-2.9 7-2.9s5.2 1 7 2.9L461.1 249c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L263 461.1c-1.9 1.9-4.4 2.9-7 2.9s-5.2-1-7-2.9L50.9 263c-1.9-1.9-2.9-4.4-2.9-7s1-5.2 2.9-7zM215 17L17 215C6.1 225.9 0 240.6 0 256s6.1 30.1 17 41L215 495c10.9 10.9 25.6 17 41 17s30.1-6.1 41-17L495 297c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L297 17C286.1 6.1 271.4 0 256 0s-30.1 6.1-41 17zM315.3 148.7c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v40H240c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V264c0-8.8 7.2-16 16-16h48v40c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l64-64c6.2-6.2 6.2-16.4 0-22.6l-64-64z\"]\n};\nvar faDirections = faDiamondTurnRight;\nvar faIntegral = {\n prefix: 'far',\n iconName: 'integral',\n icon: [320, 512, [], \"f667\", \"M216 48c-17.7 0-32 14.3-32 32V432c0 44.2-35.8 80-80 80s-80-35.8-80-80V416c0-13.3 10.7-24 24-24s24 10.7 24 24v16c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-44.2 35.8-80 80-80s80 35.8 80 80V96c0 13.3-10.7 24-24 24s-24-10.7-24-24V80c0-17.7-14.3-32-32-32z\"]\n};\nvar faBurst = {\n prefix: 'far',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M161.7 216.4c4.9-14.3 2.7-30.1-5.9-42.6l-39.2-57.1 57.1 39.2c12.5 8.6 28.3 10.7 42.6 5.9s25.5-16.2 30.2-30.6l9.4-29.1 11.7 36c4 12.4 12.9 22.6 24.6 28.3s25.2 6.4 37.5 2l22-8-8 22.1c-4.5 12.2-3.8 25.8 2 37.5s15.9 20.6 28.3 24.6l36 11.7-32.6 10.6c-13.5 4.4-24.3 14.5-29.7 27.6s-4.6 27.9 2 40.4l17 32.2-32.2-17c-12.5-6.6-27.3-7.3-40.4-2s-23.2 16.2-27.6 29.7L256 410.1l-10.6-32.6c-4.4-13.5-14.5-24.3-27.6-29.7s-27.9-4.6-40.4 2l-32.2 17 16.9-32.2c6.6-12.5 7.3-27.3 2-40.4s-16.2-23.2-29.7-27.6L101.9 256l29.1-9.4c14.4-4.7 25.8-15.9 30.6-30.2zm-2-128.5L37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l83.7 122 28.3 41.3L68.6 216.3l-52 16.8C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l56.7 18.4 46.3 15L97 355.3 66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3L156.7 415l43.1-22.7 15 46.3 18.4 56.7c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l18.4-56.7 15-46.3L355.3 415l57.5 30.2c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L415 355.3l-22.7-43.1 46.3-15 56.7-18.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8l-60.8-19.7-45.7-14.8 16.4-45.1 9.2-25.3c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-25.3 9.2-45.1 16.4L298.5 77.4 278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-16.8 52-15.4 47.6L159.6 87.9z\"]\n};\nvar faHouseLaptop = {\n prefix: 'far',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M224.8 5.4c8.8-7.2 21.5-7.2 30.3 0l216 176c10.3 8.4 11.8 23.5 3.4 33.8s-23.5 11.8-33.8 3.4L416 198.4V240H368V159.3L240 55 112 159.3V360c0 4.4 3.6 8 8 8H272v48H120c-30.9 0-56-25.1-56-56V198.4L39.2 218.6c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176zM288 216v45.7c-6 6.8-10.6 14.9-13.3 23.8c-3.2 1.6-6.9 2.5-10.7 2.5H216c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24zm64 104V464H544V320H352zm-48-16c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V464h36c6.6 0 12 5.4 12 12c0 19.9-16.1 36-36 36H592 544 352 304 292c-19.9 0-36-16.1-36-36c0-6.6 5.4-12 12-12h36V304z\"]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'far',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.5 64.3C196.1 302.1 223.8 288 256 288s59.9 14.1 79.5 32.3C354.5 338.1 368 362 368 384c0 5.4-2.7 10.4-7.2 13.4s-10.2 3.4-15.2 1.3l-17.2-7.5c-22.8-10-47.5-15.1-72.4-15.1s-49.6 5.2-72.4 15.1l-17.2 7.5c-4.9 2.2-10.7 1.7-15.2-1.3s-7.2-8-7.2-13.4c0-22 13.5-45.9 32.5-63.7zm-43-173.6l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'far',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M528 80c0 35.3 28.7 64 64 64V272c-35.3 0-64 28.7-64 64H208c0-35.3-28.7-64-64-64V144c35.3 0 64-28.7 64-64H528zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM448 208a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faBlindsRaised = {\n prefix: 'far',\n iconName: 'blinds-raised',\n icon: [512, 512, [], \"f8fd\", \"M24 0C10.7 0 0 10.7 0 24C0 34.6 6.9 43.6 16.4 46.8l-15 45C.5 94.6 0 97.5 0 100.5C0 115.7 12.3 128 27.5 128H112V80H55.9L66.6 48H112h32V80v48 80 48V372.1C116 382 96 408.6 96 440c0 39.8 32.2 72 72 72s72-32.2 72-72c0-31.4-20-58-48-67.9V256 208 128 80 48h32H445.4l10.7 32H224v48H484.5c15.2 0 27.5-12.3 27.5-27.5c0-3-.5-5.9-1.4-8.7l-15-45C505.1 43.6 512 34.6 512 24c0-13.3-10.7-24-24-24h-8H192 144 32 24zM144 440a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM112 208H55.5l15.4-48H20.5L1.3 219.9c-.9 2.7-1.3 5.6-1.3 8.4C0 243.6 12.4 256 27.7 256H112V208zm112 48H484.3c15.3 0 27.7-12.4 27.7-27.7c0-2.9-.4-5.7-1.3-8.4L491.5 160H441.1l15.4 48H224v48z\"]\n};\nvar faSmog = {\n prefix: 'far',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M80 144c0-53 43-96 96-96c29.5 0 55.9 13.3 73.5 34.3c4.7 5.6 11.8 8.8 19.2 8.5s14.2-3.9 18.6-9.9c14.6-20 38.1-33 64.7-33c36.6 0 67.5 24.6 77 58.2c2 7.1 7.2 12.9 14.1 15.7s14.6 2.3 21-1.4c9.4-5.4 20.2-8.5 31.9-8.5c35.3 0 64 28.7 64 64s-28.7 64-64 64H459c-6.5 0-12.8 2.7-17.3 7.4c-14.6 15.2-35 24.6-57.7 24.6s-43.1-9.4-57.7-24.6c-4.5-4.7-10.8-7.4-17.3-7.4H176c-53 0-96-43-96-96zM176 0C96.5 0 32 64.5 32 144s64.5 144 144 144H299.3c22.5 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.7 0-62.5 12.2-85.1 32.3C242.2 12.1 210.5 0 176 0zM552 464H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24zm280-72c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24zM200 368H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faUfoBeam = {\n prefix: 'far',\n iconName: 'ufo-beam',\n icon: [576, 512, [], \"e048\", \"M152.5 163.3l-16.9 17c-4-4-6.5-9.2-7-14.9c-.6-7-.8-14-.5-20.7c-22 6.7-40.3 14.6-53.9 23C52.5 181.2 48 192.2 48 197.9c0 4.1 2.2 11 12.6 20.2c10.4 9.1 26.8 18.4 49.1 26.7C154.2 261.3 217.2 272 288 272s133.8-10.7 178.3-27.2c22.3-8.3 38.7-17.6 49.1-26.7c10.4-9.2 12.6-16 12.6-20.2c0-5.7-4.5-16.7-26.2-30.1c-13.7-8.4-31.9-16.3-53.9-23c.3 6.8 .1 13.7-.5 20.7c-.5 5.6-3 10.9-7 14.9l-16.9-17c16.9 17 16.9 17 16.9 17.1l0 0-.1 0-.1 .1-.3 .3c-.2 .2-.4 .4-.7 .7c-.6 .5-1.3 1.1-2.1 1.9c-1.8 1.5-4.2 3.3-7.3 5.5c-6.3 4.3-15.4 9.7-27.7 14.9C377.4 214.2 340.3 224 288 224s-89.4-9.8-114.1-20.2c-12.3-5.2-21.4-10.6-27.7-14.9c-3.1-2.2-5.6-4-7.3-5.5c-.9-.7-1.6-1.4-2.1-1.9c-.3-.3-.5-.5-.7-.7l-.3-.3-.1-.1 0 0 0 0c0 0 0 0 16.9-17.1zM49 126.9c24-14.8 55.6-26.7 91.7-35.2C165.7 36.3 224.3 0 288 0s122.3 36.3 147.3 91.7c36.1 8.6 67.8 20.4 91.7 35.2c26.1 16.1 49 39.7 49 70.9c0 23-12.6 41.9-28.9 56.2c-16.3 14.4-38.6 26.2-64.1 35.7C432 308.7 363 320 288 320s-144-11.3-195-30.2c-25.4-9.5-47.7-21.3-64.1-35.7C12.6 239.8 0 220.8 0 197.9c0-31.2 22.9-54.8 49-70.9zm351 24c-.5-57.5-50.3-103-112-103s-111.4 45.5-112 103c3.8 2.4 9.3 5.5 16.7 8.6c18.4 7.8 49.1 16.4 95.3 16.4s76.9-8.6 95.3-16.4c7.4-3.1 12.9-6.2 16.7-8.6zM117.2 363.2l-72 136c-6.2 11.7-20.7 16.2-32.4 10S-3.4 488.5 2.8 476.8l72-136c6.2-11.7 20.7-16.2 32.4-10s16.2 20.7 10 32.4zm384-22.5l72 136c6.2 11.7 1.7 26.2-10 32.4s-26.2 1.7-32.4-10l-72-136c-6.2-11.7-1.7-26.2 10-32.4s26.2-1.7 32.4 10z\"]\n};\nvar faCircleCaretUp = {\n prefix: 'far',\n iconName: 'circle-caret-up',\n icon: [512, 512, [\"caret-circle-up\"], \"f331\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-368c-6.7 0-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9s12.5 14.4 22 14.4H360c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112c-4.5-4.9-10.9-7.7-17.6-7.7z\"]\n};\nvar faCaretCircleUp = faCircleCaretUp;\nvar faUserVneckHairLong = {\n prefix: 'far',\n iconName: 'user-vneck-hair-long',\n icon: [448, 512, [], \"e463\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zM48.3 461.9H399.7c-3.1-46.7-32.9-86.2-74.4-103.1l-50.2 66.9c-25.6 34.1-76.8 34.1-102.4 0l-50.2-66.9c-41.4 16.9-71.3 56.4-74.4 103.1zm83.8-156.2c5.8-1.3 11.7 1.2 15.3 5.9l63.9 85.2c6.4 8.5 19.2 8.5 25.6 0l63.9-85.2c3.6-4.7 9.5-7.2 15.3-5.9C391.4 322.2 448 389.5 448 469.9v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.5 56.6-147.7 132.1-164.2z\"]\n};\nvar faSquareALock = {\n prefix: 'far',\n iconName: 'square-a-lock',\n icon: [576, 512, [], \"e44d\", \"M64 80H384c8.8 0 16 7.2 16 16v84.1c14-9.8 30.3-16.4 48-18.9V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H320V432H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm181.8 61.9c-3.9-8.5-12.4-13.9-21.8-13.9s-17.9 5.4-21.8 13.9l-96 208c-5.6 12-.3 26.3 11.7 31.8s26.3 .3 31.8-11.7l12-26.1H286.2l12 26.1c4 8.8 12.7 13.9 21.8 13.9V352c0-11.4 3-22.1 8.2-31.4L245.8 141.9zM224 209.3L264 296H184l40-86.7zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faCrutch = {\n prefix: 'far',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M329 7L505 183c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L295 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM164.2 201.9L287.4 78.6l33.9 33.9L249.9 184 328 262.1l71.4-71.4 33.9 33.9L310.1 347.8c-11.8 11.8-26.8 20-43.1 23.7L159.4 395.4c-7.4 1.7-14.2 5.4-19.6 10.8L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l98.8-98.8c5.4-5.4 9.1-12.2 10.8-19.6L140.5 245c3.6-16.3 11.8-31.3 23.7-43.1zM216 217.9l-17.9 17.9c-5.4 5.4-9.1 12.2-10.8 19.6l-19.8 89 89-19.8c7.4-1.7 14.2-5.4 19.6-10.8L294.1 296 216 217.9z\"]\n};\nvar faGasPumpSlash = {\n prefix: 'far',\n iconName: 'gas-pump-slash',\n icon: [640, 512, [], \"f5f4\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-67.2-52.7C571.4 404.9 576 391 576 376V155.9c0-19.1-7.6-37.4-21.1-50.9L481 31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l33 33V160c0 29.8 20.4 54.9 48 62V376c0 3.8-.9 7.4-2.5 10.6L384 275.7V64c0-35.3-28.7-64-64-64H160c-30.9 0-56.7 21.9-62.7 51L38.8 5.1zM144 87.6V64c0-8.8 7.2-16 16-16H320c8.8 0 16 7.2 16 16V238L144 87.6zM144 464V209.5L96 171.6V464l-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h8 48H336h48 8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0V398.5l-48-37.8V464H144z\"]\n};\nvar faFontAwesome = {\n prefix: 'far',\n iconName: 'font-awesome',\n icon: [448, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V124.2l12.5-2.4c16.7-3.2 31.5-8.5 44.2-13.1l0 0 0 0c3.7-1.3 7.1-2.6 10.4-3.7c15.2-5.2 30.4-9.1 51.2-9.1c25.6 0 43 6 63.5 13.3l.5 .2c20.9 7.4 44.8 15.9 79.1 15.9c32.4 0 53.7-6.8 90.5-19.6V342.9l-9.5 3.3c-41.5 14.4-55.2 19.2-81 19.2c-25.7 0-43.1-6-63.6-13.3l-.6-.2c-20.8-7.4-44.8-15.8-79-15.8c-16.8 0-31 2-43.9 5c-12.9 3-20.9 16-17.9 28.9s16 20.9 28.9 17.9c9.6-2.2 20.1-3.7 32.9-3.7c25.6 0 43 6 63.5 13.3l.5 .2c20.9 7.4 44.8 15.9 79.1 15.9c34.4 0 56.4-7.7 97.8-22.2c7.5-2.6 15.5-5.4 24.4-8.5l16.2-5.5V360 72 38.4L416.2 49.3c-9.7 3.3-18.2 6.3-25.7 8.9c-41.5 14.4-55.2 19.2-81 19.2c-25.7 0-43.1-6-63.6-13.3l-.6-.2c-20.8-7.4-44.8-15.8-79-15.8c-27.8 0-48.5 5.5-66.6 11.6c-4.9 1.7-9.3 3.3-13.6 4.8c-11.9 4.3-22 7.9-34.7 10.3L48 75.4V56z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'far',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM223 255c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V384c0 13.3 10.7 24 24 24s24-10.7 24-24V249.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'far',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M464 258.2c0 2.7-1 5.2-4.2 8c-3.8 3.1-10.1 5.8-17.8 5.8H344c-53 0-96 43-96 96c0 6.8 .7 13.4 2.1 19.8c3.3 15.7 10.2 31.1 14.4 40.6l0 0c.7 1.6 1.4 3 1.9 4.3c5 11.5 5.6 15.4 5.6 17.1c0 5.3-1.9 9.5-3.8 11.8c-.9 1.1-1.6 1.6-2 1.8c-.3 .2-.8 .3-1.6 .4c-2.9 .1-5.7 .2-8.6 .2C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208c0 .7 0 1.4 0 2.2zm48 .5c0-.9 0-1.8 0-2.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c3.5 0 7.1-.1 10.6-.2c31.8-1.3 53.4-30.1 53.4-62c0-14.5-6.1-28.3-12.1-42c-4.3-9.8-8.7-19.7-10.8-29.9c-.7-3.2-1-6.5-1-9.9c0-26.5 21.5-48 48-48h97.9c36.5 0 69.7-24.8 70.1-61.3zM160 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTransporter4 = {\n prefix: 'far',\n iconName: 'transporter-4',\n icon: [512, 512, [], \"e2a5\", \"M224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-48 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 64H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM472.7 134.6L480 160l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 192l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 192l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 160l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zm-416 224L64 384l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 416l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 416 6.6 408.7C2.7 407.6 0 404.1 0 400s2.7-7.6 6.6-8.7L32 384l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]\n};\nvar faChartMixedUpCircleCurrency = {\n prefix: 'far',\n iconName: 'chart-mixed-up-circle-currency',\n icon: [576, 512, [], \"e5d8\", \"M408 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h52.5L320.2 168.2 207.8 69.9c-8.2-7.1-20.1-7.9-29.1-1.9L10.7 180c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7L190 118.2l114.2 99.9c9 7.9 22.4 7.9 31.4 .2L496 80.7V136c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H408zM200 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM72 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V368c0-4.4 3.6-8 8-8s8 3.6 8 8v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm25.4-169.4a35.9 35.9 0 1 0 -50.7 50.7 35.9 35.9 0 1 0 50.7-50.7zM396.7 426l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L374 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L396.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L490 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L467.3 426c-21.6 13.2-49.1 13.2-70.7 0z\"]\n};\nvar faObjectsAlignRight = {\n prefix: 'far',\n iconName: 'objects-align-right',\n icon: [512, 512, [], \"e3bf\", \"M512 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 464c0 13.3 10.7 24 24 24s24-10.7 24-24l0-464zM336 176L48 176l0-64 288 0 0 64zm48-64c0-26.5-21.5-48-48-48L48 64C21.5 64 0 85.5 0 112l0 64c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48l0-64zM336 400l-160 0 0-64 160 0 0 64zm48-64c0-26.5-21.5-48-48-48l-160 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-64z\"]\n};\nvar faArrowsTurnRight = {\n prefix: 'far',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M294.4 7.7c9-9.7 24.2-10.3 33.9-1.3l112 104c4.9 4.5 7.7 10.9 7.7 17.6s-2.8 13-7.7 17.6l-112 104c-9.7 9-24.9 8.5-33.9-1.3s-8.5-24.9 1.3-33.9L362.9 152H120c-39.8 0-72 32.2-72 72v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V224c0-66.3 53.7-120 120-120H362.9L295.7 41.6c-9.7-9-10.3-24.2-1.3-33.9zm-96 256c9-9.7 24.2-10.3 33.9-1.3l112 104c4.9 4.5 7.7 10.9 7.7 17.6s-2.8 13-7.7 17.6l-112 104c-9.7 9-24.9 8.5-33.9-1.3s-8.5-24.9 1.3-33.9L266.9 408H88c-22.1 0-40 17.9-40 40v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448c0-48.6 39.4-88 88-88H266.9l-67.2-62.4c-9.7-9-10.3-24.2-1.3-33.9z\"]\n};\nvar faVest = {\n prefix: 'far',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M104 0h8.3 5c19.4 0 35.2 10 45.5 19.2C172.3 27.6 191.4 40 224 40s51.7-12.4 61.2-20.8C295.5 10 311.3 0 330.7 0h5H344c1.9 0 3.8 .1 5.7 .3C378 3.2 400 27 400 56v72 58.7c0 4.4 1.2 8.6 3.4 12.3l34.3 57.2c6.7 11.2 10.3 24 10.3 37V456c0 30.9-25.1 56-56 56H264c-30.9 0-56-25.1-56-56V295.1c0-7.1 1-14.1 3.1-20.9L269.5 81.5c-13 4-28.1 6.5-45.5 6.5s-32.5-2.6-45.5-6.5l28.8 95-25.1 82.8L119.9 53.7c-1-3.4-4.1-5.7-7.7-5.7H104c-4.4 0-8 3.6-8 8v72 58.7c0 13-3.5 25.9-10.3 37L51.4 280.9c-2.2 3.7-3.4 8-3.4 12.3V398.1l55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L51.4 462.5c1.3 .9 2.9 1.5 4.6 1.5H176.4c1.6 17.6 8.4 33.8 18.8 46.9c-3.6 .7-7.4 1.1-11.2 1.1H56c-30.9 0-56-25.1-56-56V293.3c0-13 3.5-25.9 10.3-37l34.3-57.2c2.2-3.7 3.4-8 3.4-12.3V128 56C48 25.1 73.1 0 104 0zM352 56c0-4.4-3.6-8-8-8h0-8.3c-3.5 0-6.6 2.3-7.7 5.7L257 288.2c-.7 2.3-1 4.6-1 7V456c0 4.4 3.6 8 8 8H392c1.7 0 3.3-.5 4.6-1.5L311 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55V293.3c0-4.4-1.2-8.6-3.4-12.3l-34.3-57.2c-6.7-11.2-10.3-24-10.3-37V128 56z\"]\n};\nvar faPig = {\n prefix: 'far',\n iconName: 'pig',\n icon: [640, 512, [128022], \"f706\", \"M475 32c-4 0-7.9 .5-11.8 1.5L417.1 45c-21.1 5.3-38.6 18-50.2 35H240C162.6 80 98 135 83.2 208H47.4c-8.5 0-15.4-6.9-15.4-15.4c0-7.1 4.8-13.3 11.7-15l8.2-2c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6l-8.2 2C14.8 151.8 0 170.8 0 192.6C0 218.8 21.2 240 47.4 240H80v16c0 55.8 31.8 104.2 78.1 128.1l22.3 68.3c5.4 16.5 20.7 27.6 38 27.6H264c22.1 0 40-17.9 40-40V416h16 32v24c0 22.1 17.9 40 40 40h45.5c17.3 0 32.7-11.1 38-27.6l13.7-42.1c26.1-7.5 49.6-22.2 67.8-42.4H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48h-8.7c-6.7-4.7-12.5-10.5-17.2-17.3l0 0c21-14.9 33.9-39.3 33.9-65.6C600 93 587 80 570.9 80H552v29.1c0 12.2-6.9 23.4-17.8 28.9c-4.1-3.8-8.4-7.4-12.7-10.8c4.2-10.3 6.5-21.5 6.5-33.2V82.3C528 54.5 505.5 32 477.7 32H475zm-.1 48l.1 0 0 0h2.6c1.3 0 2.3 1 2.3 2.3V94c0 9.4-3.3 18.2-8.9 25.1c-4.3 5.3-6.1 12.2-5 19s5.1 12.7 10.9 16.4c19.3 12.2 36.3 28.2 49.7 47.6c8.8 12.8 20.1 23.6 33.1 31.9c6.7 4.3 14.1 6 20.9 6H592v80H553.8c-12.8 0-23.8 6.1-31.1 14.5c-14.5 16.7-34.3 28.1-56.3 32c-8.7 1.6-15.8 7.8-18.6 16.2L431.7 432H400V392c0-13.3-10.7-24-24-24H320 280c-13.3 0-24 10.7-24 24v40H224.3l-23.7-72.7c-2.2-6.6-7.1-12-13.6-14.7c-34.7-14.5-59-48.8-59-88.6V240c0-61.9 50.1-112 112-112H381c9.6 0 18.3-5.7 22.1-14.5c4.6-10.7 13.9-19 25.7-21.9L474.9 80zM468 256a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faInboxFull = {\n prefix: 'far',\n iconName: 'inbox-full',\n icon: [512, 512, [], \"e1ba\", \"M48 416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V336H382.8l-20.9 41.9c-6.8 13.6-20.6 22.1-35.8 22.1H185.9c-15.2 0-29-8.6-35.8-22.1L129.2 336H48v80zM405.6 92.1C403.8 85 397.4 80 390 80H122c-7.3 0-13.7 5-15.5 12.1L57.5 288h76.6c15.2 0 29 8.6 35.8 22.1L190.8 352H321.2l20.9-41.9c6.8-13.6 20.6-22.1 35.8-22.1h76.6l-49-195.9zM0 416V327.9c0-5.2 .6-10.4 1.9-15.5l58-231.9C67 52 92.6 32 122 32H390c29.4 0 55 20 62.1 48.5l58 231.9c1.3 5.1 1.9 10.3 1.9 15.5V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM184 128H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-32 80H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCircleEnvelope = {\n prefix: 'far',\n iconName: 'circle-envelope',\n icon: [512, 512, [\"envelope-circle\"], \"e10c\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm-7.3-256.4c2.2 1.2 4.7 1.9 7.3 1.9s5.1-.6 7.3-1.9l120.6-66.4C382.5 172.9 368.7 160 352 160H160c-16.7 0-30.5 12.9-31.9 29.3l120.6 66.4zm30 28c-7 3.8-14.8 5.8-22.7 5.8s-15.8-2-22.7-5.8L128 225.7V320c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V225.7L278.7 283.6z\"]\n};\nvar faEnvelopeCircle = faCircleEnvelope;\nvar faTrianglePersonDigging = {\n prefix: 'far',\n iconName: 'triangle-person-digging',\n icon: [640, 512, [\"construction\"], \"f85d\", \"M70.3 464L320 55.3 570.2 464H70.3zM285.9 19.1l-264 432c-7.5 12.3-7.8 27.8-.8 40.4S41.5 512 56 512H584.5c14.5 0 27.8-7.8 34.9-20.4s6.8-28.1-.8-40.4L354.1 19.1C346.8 7.2 333.9 0 320 0s-26.9 7.3-34.1 19.1zM312 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm36.5 100.1l-19.7-49.2c-8.4-21.1-28.9-34.9-51.6-34.9c-18.6 0-35.9 9.3-46.3 24.8l-4.2 6.4c-2.5 3.7-3.3 8.2-2.3 12.5s3.8 8 7.6 10.2l153.5 88.6-15.2 25.4c-3 4.9-3 11.1-.2 16.1s8.2 8.1 13.9 8.1h96c5.8 0 11.1-3.1 13.9-8.1s2.8-11.2-.2-16.1l-48-80c-2.9-4.8-8.1-7.8-13.7-7.8s-10.8 2.9-13.7 7.8L402 355l-53.5-30.9zm-131.6-3.4l-7.5 16.8-32 72c-3.6 8.1 0 17.5 8.1 21.1s17.5 0 21.1-8.1l24.5-55.2L272 392.9V416c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-5.5-2.8-10.6-7.5-13.6l-64-40-15.6-9.8z\"]\n};\nvar faConstruction = faTrianglePersonDigging;\nvar faFerry = {\n prefix: 'far',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32h68c17.1 0 28.7 17.4 22.2 33.2L468 80h4c30.9 0 56 25.1 56 56V293.9c0 11.5-3.5 22.7-10.1 32.1l-50.2 71.7c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L463.5 320H424 152 112.5l35.2 50.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L58.1 326C51.5 316.6 48 305.4 48 293.9V136c0-30.9 25.1-56 56-56h4l-6.2-14.8C95.3 49.4 106.9 32 124 32h68zM480 272V136c0-4.4-3.6-8-8-8H448 128 104c-4.4 0-8 3.6-8 8V272h32V184c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24v88h32zM176 208v64H400V208H176zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faBullseyeArrow = {\n prefix: 'far',\n iconName: 'bullseye-arrow',\n icon: [512, 512, [127919], \"f648\", \"M361.5 218.4c4.2 11.8 6.5 24.4 6.5 37.6c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112c13.2 0 25.9 2.3 37.6 6.5l4.9-4.9-7.6-45.8C279.6 97.3 268 96 256 96C167.6 96 96 167.6 96 256s71.6 160 160 160s160-71.6 160-160c0-12-1.3-23.6-3.8-34.9l-45.8-7.6-4.9 4.9zm97.4-8.1c3.3 14.7 5 30 5 45.7c0 114.9-93.1 208-208 208S48 370.9 48 256S141.1 48 256 48c15.7 0 31 1.7 45.7 5l38.8-38.8C314 5 285.6 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-29.6-5-58-14.3-84.5L459 210.3zm-93.9-29.4l50.7 8.4c10.2 1.7 20.6-1.6 27.9-8.9l51.2-51.2c8.1-8.1 5.3-21.9-5.4-26.2L432 80 409 22.5c-4.3-10.7-18-13.5-26.2-5.4L331.6 68.4c-7.3 7.3-10.6 17.7-8.9 27.9l8.4 50.7L239 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l92.1-92.1z\"]\n};\nvar faArrowsDownToPeople = {\n prefix: 'far',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M120 24c0-13.3 10.7-24 24-24s24 10.7 24 24V142.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0L63 153c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24zm295 95c9.4-9.4 24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24s24 10.7 24 24V142.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9zm81 137a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM480 464h32V400.5c-2-.3-4.1-.5-6.2-.5H486.2c-2.1 0-4.2 .2-6.2 .5V464zm98.9 27.4l-18.9-35V480c0 17.7-14.3 32-32 32H464c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8l-18.9-35V400c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V360.3l-18.9 35c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8l-18.9-35V480c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8zM280 200a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm24 104.5V384h32V304.5c-2-.3-4.1-.5-6.2-.5H310.2c-2.1 0-4.2 .2-6.2 .5zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM128 464h32V400.5c-2-.3-4.1-.5-6.2-.5H134.2c-2.1 0-4.2 .2-6.2 .5V464z\"]\n};\nvar faSeedling = {\n prefix: 'far',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M307.3 207c82.9-9.1 148.4-75.6 156-159H456c-76.7 0-142 49.1-166.1 117.5c-8.8-16.8-19.4-32.6-31.6-47.1C296.1 48 370.5 0 456 0h24c17.7 0 32 14.3 32 32c0 113.6-84.6 207.4-194.2 222c-2.1-16.2-5.6-31.9-10.5-47.1zM48 112v16c0 97.2 78.8 176 176 176h8V288c0 0 0 0 0 0c0-97.2-78.8-176-176-176H48zM280 288v16 48l0 136c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-136h-8C100.3 352 0 251.7 0 128V96C0 78.3 14.3 64 32 64H56c123.7 0 224 100.3 224 224z\"]\n};\nvar faSprout = faSeedling;\nvar faClockSeven = {\n prefix: 'far',\n iconName: 'clock-seven',\n icon: [512, 512, [], \"e350\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V248.7l-60 90c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l64-96c2.6-3.9 4-8.6 4-13.3V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faLeftRight = {\n prefix: 'far',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M505.6 239.7c8.5 9.2 8.5 23.4 0 32.6l-89.4 96.8c-8.8 9.5-21.1 14.9-34 14.9c-25.5 0-46.3-20.7-46.3-46.3l0-9.7-160 0 0 9.7c0 25.5-20.7 46.3-46.3 46.3c-12.9 0-25.2-5.4-34-14.9L6.4 272.3c-8.5-9.2-8.5-23.4 0-32.6l89.4-96.8c8.8-9.5 21.1-14.9 34-14.9c25.5 0 46.3 20.7 46.3 46.3l0 9.7 160 0 0-9.7c0-25.5 20.7-46.3 46.3-46.3c12.9 0 25.2 5.4 34 14.9l89.4 96.8zM384 178.7l0 29.3c0 13.3-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24l0-29.3L56.7 256 128 333.3l0-29.3c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24l0 29.3L455.3 256 384 178.7zm-253-3.3s0 0 0 0l-1.3-1.2 1.3 1.2 0 0z\"]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'far',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M592 48H304v80H256V48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V464H592V48zM561 311c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V321.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0l64 64zM48 208v48H80 304h32V208H48zM0 272V192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v80c0 17.7-14.3 32-32 32V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-176c-17.7 0-32-14.3-32-32zm80 32V464H304V304H80zm72 32h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCircleArrowLeft = {\n prefix: 'far',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM223 151l-88 88c-9.4 9.4-9.4 24.6 0 33.9l88 88c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47L360 280c13.3 0 24-10.7 24-24s-10.7-24-24-24l-150.1 0 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faFlashlight = {\n prefix: 'far',\n iconName: 'flashlight',\n icon: [640, 512, [128294], \"f8b8\", \"M384 304H48V208H384c11.6 0 22.9-4.2 31.7-11.9l.1-.1c.2-.2 .7-.6 1.4-1.2c1.5-1.2 3.9-3.1 7.4-5.4c6.9-4.8 17.5-11.4 31.4-18.2c15-7.3 33.9-14.6 56.1-19.8V360.7c-22.2-5.2-41-12.5-56.1-19.8c-14-6.8-24.5-13.4-31.4-18.2c-3.4-2.4-5.9-4.3-7.4-5.4c-.7-.6-1.2-1-1.4-1.2l-.1-.1c-8.8-7.7-20-11.9-31.6-11.9zm192 64c-5.5 0-10.8-.2-16-.4V144.4c5.2-.3 10.5-.4 16-.4h16V368H576zM384 160H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H384s72 64 192 64h32c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H576c-120 0-192 64-192 64zM248 232c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faGroupArrowsRotate = {\n prefix: 'far',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M215 34.4c3.8 12.7-3.5 26.1-16.2 29.8c-14.2 4.2-27.8 10-40.5 17.1C159.4 86.1 160 91 160 96c0 35.3-28.7 64-64 64c-5 0-9.9-.6-14.6-1.7c-7.1 12.7-12.9 26.3-17.1 40.5c-3.8 12.7-17.1 19.9-29.8 16.2s-19.9-17.1-16.2-29.8c5.7-19.3 13.8-37.7 23.8-54.7C35.7 120.5 32 108.7 32 96c0-35.3 28.7-64 64-64c12.7 0 24.5 3.7 34.5 10.1c17-10 35.4-18 54.7-23.8c12.7-3.8 26.1 3.5 29.8 16.2zm82 0c3.8-12.7 17.1-19.9 29.8-16.2c19.3 5.7 37.7 13.8 54.7 23.8C391.5 35.7 403.3 32 416 32c35.3 0 64 28.7 64 64c0 12.7-3.7 24.5-10.1 34.5c10 17 18 35.4 23.8 54.7c3.8 12.7-3.5 26.1-16.2 29.8s-26.1-3.5-29.8-16.2c-4.2-14.2-10-27.8-17.1-40.5c-4.7 1.1-9.6 1.7-14.6 1.7c-35.3 0-64-28.7-64-64c0-5 .6-9.9 1.7-14.6c-12.7-7.1-26.3-12.9-40.5-17.1c-12.7-3.8-19.9-17.1-16.2-29.8zM34.4 297c12.7-3.8 26.1 3.5 29.8 16.2c4.2 14.2 10 27.8 17.1 40.5C86.1 352.6 91 352 96 352c35.3 0 64 28.7 64 64c0 5-.6 9.9-1.7 14.6c12.7 7.1 26.3 12.9 40.5 17.1c12.7 3.8 19.9 17.1 16.2 29.8s-17.1 19.9-29.8 16.2c-19.3-5.8-37.7-13.8-54.7-23.8c-10 6.4-21.8 10.1-34.5 10.1c-35.3 0-64-28.7-64-64c0-12.7 3.7-24.5 10.1-34.5c-10-17-18-35.4-23.8-54.7c-3.8-12.7 3.5-26.1 16.2-29.8zm443.1 0c12.7 3.8 19.9 17.1 16.2 29.8c-5.8 19.3-13.8 37.6-23.8 54.7c6.4 10 10.1 21.8 10.1 34.5c0 35.3-28.7 64-64 64c-12.7 0-24.5-3.7-34.5-10.1c-17 10-35.4 18-54.7 23.8c-12.7 3.8-26.1-3.5-29.8-16.2s3.5-26.1 16.2-29.8c14.2-4.2 27.8-10 40.5-17.1c-1.1-4.7-1.7-9.6-1.7-14.6c0-35.3 28.7-64 64-64c5 0 9.9 .6 14.6 1.7c7.1-12.7 12.9-26.3 17.1-40.5c3.8-12.7 17.1-19.9 29.8-16.2zM112 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zM96 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM432 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM192.8 256.8c0 24.8 14.1 46.4 34.9 57c11.8 6 16.5 20.5 10.4 32.3s-20.5 16.5-32.3 10.4c-36.2-18.5-61.1-56.2-61.1-99.8c0-28.9 11-55.2 28.9-75.1l-11.2-11.2c-6.6-6.6-1.9-17.8 7.4-17.8h60.5c5.7 0 10.4 4.7 10.4 10.4v60.5c0 9.3-11.2 13.9-17.8 7.4l-15.3-15.3c-9.3 11.1-14.9 25.4-14.9 41.1zm93.1-58.6c-11.8-6-16.5-20.5-10.4-32.3s20.5-16.5 32.3-10.4c36.2 18.5 61.1 56.2 61.1 99.8c0 28.9-11 55.2-28.9 75.1L351 341.5c6.6 6.6 1.9 17.8-7.4 17.8H283.2c-5.7 0-10.4-4.7-10.4-10.4V288.3c0-9.3 11.2-13.9 17.8-7.4l15.3 15.3c9.3-11.1 14.9-25.4 14.9-41.1c0-24.8-14.1-46.4-34.9-57z\"]\n};\nvar faBowlFood = {\n prefix: 'far',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M0 192c0 11.7 3.1 22.6 8.6 32H503.4c5.4-9.4 8.6-20.3 8.6-32c0-35.3-28.7-64-64-64c-.5 0-1.1 0-1.6 0C439 91.5 406.7 64 368 64c-15 0-29 4.1-40.9 11.2C313.8 49.6 286.9 32 256 32s-57.8 17.6-71.1 43.2C173 68.1 159 64 144 64c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64zM144.7 420.6c-4-13.5-13.8-24.6-26.8-30.3C82.7 374.9 56.7 342.7 49.8 304H462.2c-6.9 38.7-32.9 70.9-68.1 86.3c-12.9 5.7-22.7 16.7-26.8 30.3c-2 6.6-8.2 11.4-15.3 11.4H160c-7.2 0-13.4-4.8-15.3-11.4zM27.4 256C12.3 256 0 268.3 0 283.4c0 67.4 40.6 125.4 98.6 150.8C106.5 460.7 131 480 160 480H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4z\"]\n};\nvar faSquare9 = {\n prefix: 'far',\n iconName: 'square-9',\n icon: [448, 512, [], \"e25e\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 272a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-26 44.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C305.8 287.2 320 256.4 320 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\"]\n};\nvar faCandyCane = {\n prefix: 'far',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M343 82.3c5.8-1.5 11.9-2.3 18-2.3c13.8 0 26.7 3.9 37.6 10.8l23-23C404.6 55.3 383.6 48 361 48c-9.6 0-19 1.3-28.1 3.9L343 82.3zm78.3 31.1c6.8 10.9 10.8 23.8 10.8 37.6v5.6c0 3.5-.2 6.9-.7 10.3l30.7 10.2c1.3-6.7 1.9-13.6 1.9-20.5V151c0-22.7-7.3-43.6-19.7-60.7l-23 23zm30.2 93.9L420.5 197c-6.1 9.8-14.4 18.3-24.5 24.6l-51.2 32L375 272.5l37.9-23.7c16.5-10.3 29.7-24.7 38.5-41.4zm-106.6 84l-30.2-18.9-77 48.1 30.2 18.9 77-48.1zm-107.2 67l-30.2-18.9-73 45.6L164.6 404l73-45.6zM134.4 422.9L104.2 404 55.5 434.4c-7.5 4.7-9.8 14.6-5.1 22s14.6 9.8 22 5.1l61.9-38.7zM303.6 65.4l-24.1 15c-7.5 4.7-9.8 14.6-5.1 22s14.6 9.8 22 5.1l17.5-11L303.6 65.4zM361 128c-4.3 0-8.6 1.2-12.2 3.5l-26.8 16.8c-30 18.7-69.5 9.6-88.2-20.4s-9.6-69.5 20.4-88.2L280.9 23C304.9 8 332.7 0 361 0c83.4 0 151 67.6 151 151v5.6c0 54-27.8 104.2-73.6 132.8L97.9 502.3c-30 18.7-69.5 9.6-88.2-20.4s-9.6-69.5 20.4-88.2L370.5 180.9c8.4-5.2 13.5-14.4 13.5-24.3V151c0-12.7-10.3-23-23-23z\"]\n};\nvar faArrowDownWideShort = {\n prefix: 'far',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M15 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L49 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM312 480h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0-128H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0-128H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0-128H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faSquareDollar = {\n prefix: 'far',\n iconName: 'square-dollar',\n icon: [448, 512, [\"dollar-square\", \"usd-square\"], \"f2e9\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm244.8 37.6v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\"]\n};\nvar faDollarSquare = faSquareDollar;\nvar faUsdSquare = faSquareDollar;\nvar faPhoneArrowRight = {\n prefix: 'far',\n iconName: 'phone-arrow-right',\n icon: [512, 512, [], \"e5be\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2zM425 7l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H430.1L391 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faHandHoldingSeedling = {\n prefix: 'far',\n iconName: 'hand-holding-seedling',\n icon: [576, 512, [], \"f4bf\", \"M115.6 0C96 0 80 16 80 35.6C80 113.2 142.8 176 220.4 176H264v80c0 13.3 10.7 24 24 24s24-10.7 24-24V152C312 68.1 243.9 0 160 0H115.6zM160 48c49.2 0 90.4 34.1 101.2 80H220.4c-46.8 0-85.5-34.8-91.5-80H160zm5.2 310.7c6.6-4.4 14.3-6.7 22.2-6.7H344c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 256c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 24 48c4.4 0 8.8-1.2 12.6-3.6l93.5-57.5c3.1-1.9 6.7-2.9 10.3-2.9h7.4c6.8 0 12.3 5.5 12.3 12.3c0 4.2-2.1 8-5.6 10.3l-95.6 61.9C415.1 460 401.5 464 387.7 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H387.7c23.1 0 45.8-6.7 65.2-19.3l95.6-61.9c17.2-11.1 27.5-30.2 27.5-50.6c0-33.3-27-60.3-60.3-60.3h-7.4c-12.5 0-24.8 3.5-35.5 10L408 370c0-.7 0-1.3 0-2c0-35.3-28.7-64-64-64H187.4c-17.4 0-34.4 5.1-48.8 14.8L64.7 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c4.7 0 9.4-1.4 13.3-4l79.9-53.3zM355.6 176C433.2 176 496 113.2 496 35.6C496 16 480 0 460.4 0H416c-41.7 0-79.5 16.8-107 44c10 13.8 18.1 29 24 45.2C352 64.2 382.1 48 416 48h31.2c-6 45.2-44.7 80-91.5 80H342.4c1 7.9 1.6 15.9 1.6 24v24h11.6z\"]\n};\nvar faMessageCheck = {\n prefix: 'far',\n iconName: 'message-check',\n icon: [512, 512, [\"comment-alt-check\"], \"f4a2\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM369 153c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 153z\"]\n};\nvar faCommentAltCheck = faMessageCheck;\nvar faCloudBolt = {\n prefix: 'far',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M184 48c-39.8 0-72 32.2-72 72c0 2.6 .1 5.2 .4 7.7c1.3 12-6.6 23.1-18.3 25.9C67.6 159.9 48 183.7 48 212c0 32.2 25.3 58.4 57.1 59.9c.3 0 .7 0 1 .1H108h95.2l-60 48H108h-4c-1.2 0-2.4-.1-3.5-.3C44.3 315.9 0 269.1 0 212c0-44.1 26.4-81.9 64.2-98.7C67.7 50.1 120 0 184 0c33.9 0 64.5 14.1 86.3 36.6C285.1 28.6 302 24 320 24c46.9 0 86.5 31 99.5 73.7C472.1 106.9 512 152.8 512 208c0 61.9-50.1 112-112 112H352 333.7l24-48H400c35.3 0 64-28.7 64-64s-28.6-64-64-64h0l-.3 0c-12.4 0-22.7-9.3-23.9-21.6C372.9 94.1 349 72 320 72c-14.7 0-28.1 5.7-38.1 15c-5.3 4.9-12.4 7.2-19.5 6.2s-13.4-5-17.2-11.1C232.5 61.6 209.8 48 184 48zM330.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L281.9 352H352c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L230.1 384H160c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faThunderstorm = faCloudBolt;\nvar faChartLineUpDown = {\n prefix: 'far',\n iconName: 'chart-line-up-down',\n icon: [512, 512, [], \"e5d7\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zm352 80c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c6.4 0 12.5 2.5 17 7s7 10.6 7 17l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-22.1L305 273c-9.4 9.4-24.6 9.4-33.9 0l-63-63-63 63c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l63 63L398.1 112H376zm0 272c-13.3 0-24-10.7-24-24s10.7-24 24-24h22.1l-47-47L385 255l47 47 0-22.1c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80c0 6.4-2.5 12.5-7 17s-10.6 7-17 7H376z\"]\n};\nvar faTextSlash = {\n prefix: 'far',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-281.9-221L396.4 80H521.3l-8.5 34.2c-3.2 12.9 4.6 25.9 17.5 29.1s25.9-4.6 29.1-17.5l11-44.1C576.6 56.5 557.5 32 531.5 32h-335c-18.4 0-34.4 12.5-38.8 30.3l-7.5 30.1L38.8 5.1zM191.5 124.8L202.7 80H346.5L308.1 216.2 191.5 124.8zm57.4 300.7l-1.8 6.5H192c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H296.9l23.6-83.5-40.8-32.1L248.9 425.5z\"]\n};\nvar faRemoveFormat = faTextSlash;\nvar faWatch = {\n prefix: 'far',\n iconName: 'watch',\n icon: [384, 512, [8986], \"f2e1\", \"M112 0C85.5 0 64 21.5 64 48v64h1C25.1 147.2 0 198.7 0 256s25.1 108.8 65 144H64v64c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V400h-1c39.9-35.2 65-86.7 65-144s-25.1-108.8-65-144h1V48c0-26.5-21.5-48-48-48H112zM48 256a144 144 0 1 1 288 0A144 144 0 1 1 48 256zm168-80c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 8 4 15.5 10.7 20l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L216 243.2V176z\"]\n};\nvar faCircleDownLeft = {\n prefix: 'far',\n iconName: 'circle-down-left',\n icon: [512, 512, [], \"e107\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 464A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM160 198.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6L232 216l66.3-66.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7l36.7 36.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L296 280l33.4 33.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H176c-8.8 0-16-7.2-16-16V198.6z\"]\n};\nvar faText = {\n prefix: 'far',\n iconName: 'text',\n icon: [448, 512, [], \"f893\", \"M48 80v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V72C0 49.9 17.9 32 40 32H408c22.1 0 40 17.9 40 40v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H248l0 352h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48l0-352H48z\"]\n};\nvar faProjector = {\n prefix: 'far',\n iconName: 'projector',\n icon: [640, 512, [], \"f8d6\", \"M424 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM265 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56 56c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L265 39zM569 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L479 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56-56zM288 320a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm272 0c0-29.1-7.8-56.5-21.4-80H576c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H538.6c13.6-23.5 21.4-50.9 21.4-80zM400 480c36 0 69.3-11.9 96-32h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H496c-26.7-20.1-60-32-96-32s-69.3 11.9-96 32H64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H80v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H304c26.7 20.1 60 32 96 32zM240 320c0 29.1 7.8 56.5 21.4 80H64c-8.8 0-16-7.2-16-16V256c0-8.8 7.2-16 16-16H261.4c-13.6 23.5-21.4 50.9-21.4 80zm-112 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFaceSmileWink = {\n prefix: 'far',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faTombstoneBlank = {\n prefix: 'far',\n iconName: 'tombstone-blank',\n icon: [448, 512, [129702, \"tombstone-alt\"], \"f721\", \"M368 192V432h48V192C416 86 330 0 224 0S32 86 32 192V432H80V192c0-79.5 64.5-144 144-144s144 64.5 144 144zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faTombstoneAlt = faTombstoneBlank;\nvar faChessKingPiece = {\n prefix: 'far',\n iconName: 'chess-king-piece',\n icon: [256, 512, [\"chess-king-alt\"], \"f440\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H66.9C43.2 96 24 115.2 24 138.9c0 4.7 .8 9.4 2.3 13.8l19.6 57.5C37.7 214.1 32 222.4 32 232c0 11.6 8.2 21.3 19.2 23.5L49.1 352h48l2.1-96h57.6l2.1 96h48l-2.1-96.5c10.9-2.2 19.2-11.9 19.2-23.5c0-9.6-5.7-17.9-13.9-21.8l19.6-57.5c1.5-4.5 2.3-9.1 2.3-13.8c0-23.7-19.2-42.9-42.9-42.9H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zm16.2 192H95.8L74 144H182l-21.8 64zm-91 224H186.8l16.6 32H52.7l16.6-32zm-9.7-48c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H215.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3H59.5z\"]\n};\nvar faChessKingAlt = faChessKingPiece;\nvar faCircle6 = {\n prefix: 'far',\n iconName: 'circle-6',\n icon: [512, 512, [], \"e0f3\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-96-48c0-32.4 14.2-63.2 38.8-84.3l81.6-70c10.1-8.6 25.2-7.5 33.8 2.6s7.5 25.2-2.6 33.8L282 195.6c40.4 11.4 70 48.4 70 92.4c0 53-43 96-96 96s-96-43-96-96z\"]\n};\nvar faLeft = {\n prefix: 'far',\n iconName: 'left',\n icon: [448, 512, [\"arrow-alt-left\"], \"f355\", \"M50.4 256L200.3 113.3c.8-.8 2-1.3 3.2-1.3c2.5 0 4.6 2 4.6 4.6l0 83.4c0 13.3 10.7 24 24 24l168 0 0 64-168 0c-13.3 0-24 10.7-24 24l0 83.4c0 2.5-2 4.6-4.6 4.6c-1.2 0-2.3-.5-3.2-1.3L50.4 256zm153-192c-13.5 0-26.5 5.2-36.3 14.5L13.2 225.1C4.8 233.2 0 244.3 0 256s4.8 22.8 13.2 30.9L167.2 433.5c9.8 9.3 22.8 14.5 36.3 14.5c29 0 52.6-23.5 52.6-52.6l0-59.4 144 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-144 0 0-59.4c0-29-23.5-52.6-52.6-52.6z\"]\n};\nvar faArrowAltLeft = faLeft;\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm72 208c-13.3 0-24 10.7-24 24V336v56c0 13.3 10.7 24 24 24s24-10.7 24-24V360h44c42 0 76-34 76-76s-34-76-76-76H136zm68 104H160V256h44c15.5 0 28 12.5 28 28s-12.5 28-28 28z\"]\n};\nvar faSquareDown = {\n prefix: 'far',\n iconName: 'square-down',\n icon: [448, 512, [11015, \"arrow-alt-square-down\"], \"f350\", \"M400 416l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64l0 320zM328.8 294.6l-91 84c-3.8 3.5-8.7 5.4-13.9 5.4s-10.1-1.9-13.9-5.4l-91-84c-4.6-4.2-7.2-10.1-7.2-16.4c0-12.3 10-22.3 22.3-22.3H176V160c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32v96h41.7c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.2 16.4z\"]\n};\nvar faArrowAltSquareDown = faSquareDown;\nvar faObjectsAlignCenterVertical = {\n prefix: 'far',\n iconName: 'objects-align-center-vertical',\n icon: [512, 512, [], \"e3bd\", \"M112 80V432h64V80H112zM64 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V232h64V144c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448v88c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V280H224V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V80zm272 64V368h64V144H336z\"]\n};\nvar faArrowsLeftRight = {\n prefix: 'far',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M505 273c9.4-9.4 9.4-24.6 0-33.9l-96-96c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55L81.9 232l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 348.1 0-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l96-96z\"]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'far',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L492.2 165.8c-16.3 5.5-31 14.7-43 26.5L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32h48V312c0-22.1 17.9-40 40-40H344c22.1 0 40 17.9 40 40V464h0v16c0 11.7 3.1 22.6 8.6 32H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM240 464h96V320H240V464zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faCloudArrowDown = {\n prefix: 'far',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM223 313l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faWreath = {\n prefix: 'far',\n iconName: 'wreath',\n icon: [448, 512, [], \"f7e2\", \"M339.4 88.7c-24.5 7.3-50.4-5.9-58.9-30c-2.2-6.3-8.2-10.7-15.1-10.7c-4 0-7.5 1.4-10.3 3.8c-17.9 15.2-44.2 15.2-62.1 0c-2.8-2.4-6.3-3.8-10.3-3.8c-6.9 0-12.9 4.4-15.1 10.7c-8.5 24.1-34.4 37.3-58.9 30c-1.4-.4-2.9-.7-4.6-.7c-8.8 0-16 7.2-16 16c0 1.7 .2 3.2 .7 4.6c7.3 24.5-5.9 50.4-30 58.9c-6.3 2.2-10.7 8.2-10.7 15.1c0 4 1.4 7.5 3.8 10.3c15.2 17.9 15.2 44.2 0 62.2c-2.4 2.8-3.8 6.3-3.8 10.3c0 6.9 4.4 12.9 10.7 15.1c24.1 8.5 37.3 34.4 30 58.9c-.4 1.4-.7 2.9-.7 4.6c0 8.8 7.2 16 16 16c1.7 0 3.2-.2 4.6-.7c5.4-1.6 10.8-2.2 16.1-1.9c-17 8.5-28.7 26.1-28.7 46.4v3.7c-31.6-3.9-56-30.9-56-63.5c0-6.3 .9-12.5 2.6-18.2C17.8 317 0 293.3 0 265.4c0-15.8 5.7-30.2 15.2-41.4C5.7 212.8 0 198.4 0 182.6c0-27.9 17.8-51.6 42.6-60.3C40.9 116.5 40 110.3 40 104c0-35.3 28.7-64 64-64c6.3 0 12.5 .9 18.2 2.6C131 17.8 154.7 0 182.6 0c15.8 0 30.2 5.7 41.4 15.2C235.2 5.7 249.6 0 265.4 0c27.9 0 51.6 17.8 60.3 42.6c5.8-1.7 11.9-2.6 18.2-2.6c35.3 0 64 28.7 64 64c0 6.3-.9 12.5-2.6 18.2c24.8 8.8 42.6 32.5 42.6 60.3c0 15.8-5.7 30.2-15.2 41.4c9.5 11.2 15.2 25.6 15.2 41.4c0 27.9-17.8 51.6-42.6 60.3c1.7 5.8 2.6 11.9 2.6 18.2c0 32.6-24.4 59.6-56 63.5v-3.7c0-20.3-11.7-37.9-28.7-46.4c5.3-.3 10.8 .3 16.1 1.9c1.4 .4 2.9 .7 4.6 .7c8.8 0 16-7.2 16-16c0-1.7-.2-3.2-.7-4.6c-7.3-24.5 5.9-50.4 30-58.9c6.3-2.2 10.7-8.2 10.7-15.1c0-4-1.4-7.5-3.8-10.3c-15.2-17.9-15.2-44.2 0-62.2c2.4-2.8 3.8-6.3 3.8-10.3c0-6.9-4.4-12.9-10.7-15.1c-24.1-8.5-37.3-34.4-30-58.9c.4-1.4 .7-2.9 .7-4.6c0-8.8-7.2-16-16-16c-1.7 0-3.2 .2-4.6 .7zM128 492.2V403.8c0-10.9 8.9-19.8 19.8-19.8c2.8 0 5.5 .6 8 1.7L224 416l68.2-30.3c2.5-1.1 5.3-1.7 8-1.7c10.9 0 19.8 8.9 19.8 19.8v88.4c0 10.9-8.9 19.8-19.8 19.8c-2.8 0-5.5-.6-8-1.7L224 480l-68.2 30.3c-2.5 1.1-5.3 1.7-8 1.7c-10.9 0-19.8-8.9-19.8-19.8zm69.9-294.3c-2 9.3-5.6 18.2-10.8 26.1c5.2 8 8.9 16.8 10.8 26.1c9.3 2 18.2 5.6 26.1 10.8c8-5.2 16.8-8.9 26.1-10.8c2-9.3 5.6-18.2 10.8-26.1c-5.2-8-8.9-16.8-10.8-26.1c-4.7-1-9.3-2.4-13.7-4.2c-4.3-1.8-8.5-4-12.4-6.6c-8 5.2-16.8 8.9-26.1 10.8zm5.2-55.5c11.3-12.1 30.6-12.1 41.9 0c5.7 6 13.6 9.4 21.9 9.1c16.6-.6 30.2 13 29.6 29.6c-.3 8.3 3 16.3 9.1 21.9c12.1 11.3 12.1 30.6 0 41.9c-6 5.7-9.4 13.6-9.1 21.9c.6 16.6-13 30.2-29.6 29.6c-8.3-.3-16.3 3-21.9 9.1c-11.3 12.1-30.6 12.1-41.9 0c-5.7-6-13.6-9.4-21.9-9.1c-16.6 .6-30.2-13-29.6-29.6c.3-8.3-3-16.3-9.1-21.9c-12.1-11.3-12.1-30.6 0-41.9c6-5.7 9.4-13.6 9.1-21.9c-.6-16.6 13-30.2 29.6-29.6c8.3 .3 16.3-3 21.9-9.1z\"]\n};\nvar faChildren = {\n prefix: 'far',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M160 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96A72 72 0 1 0 160 0a72 72 0 1 0 0 144zm0 16c-34.6 0-67.3 16.2-88.2 43.8L12.9 281.5c-8 10.6-5.9 25.6 4.6 33.6s25.6 5.9 33.6-4.6l45.3-59.8L57.2 368.4c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H96v88c0 13.3 10.7 24 24 24s24-10.7 24-24V400h32v88c0 13.3 10.7 24 24 24s24-10.7 24-24V400h16c7.7 0 15-3.7 19.5-10s5.7-14.3 3.3-21.6L223.5 250.7l45.3 59.8c8 10.6 23.1 12.6 33.6 4.6s12.6-23.1 4.6-33.6l-58.9-77.7C227.3 176.2 194.7 160 160 160zM113.3 352L160 211.9 206.7 352H113.3zM456 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm96 0A72 72 0 1 0 408 72a72 72 0 1 0 144 0zM480 208c5.5 0 10.9 .9 16 2.6V336H464V210.6c5.1-1.7 10.5-2.6 16-2.6zM464 488V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V264.8l27.7 44c7.1 11.2 21.9 14.6 33.1 7.5s14.6-21.9 7.5-33.1l-48.4-76.9C545.8 177.5 514.1 160 480 160s-65.8 17.5-83.9 46.3l-48.4 76.9c-7.1 11.2-3.7 26 7.5 33.1s26 3.7 33.1-7.5l27.7-44V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMeterDroplet = {\n prefix: 'far',\n iconName: 'meter-droplet',\n icon: [640, 512, [], \"e1ea\", \"M256 464c48.8 0 93.8-16.8 129.2-45c2.3 17.2 7.6 33.5 15.4 48.3C359.5 495.5 309.7 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C366.8 0 461.2 70.4 496.8 169c-8.5 5.3-15.7 12.9-20.6 22.1l-15.4 28.8C443.8 122.2 358.6 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zM192 152v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm136.5 54.1c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7l75.3-141.2z\"]\n};\nvar faChalkboard = {\n prefix: 'far',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M80 88c0-4.4 3.6-8 8-8H488c4.4 0 8 3.6 8 8V400h48V88c0-30.9-25.1-56-56-56H88C57.1 32 32 57.1 32 88V400H80V88zM224 408v24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H224h24H392h24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H416V408c0-30.9-25.1-56-56-56H280c-30.9 0-56 25.1-56 56zm144 0v24H272V408c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z\"]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'far',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM224.2 150.4c-.1-2.1-.2-4.3-.2-6.4c0-53 43-96 96-96s96 43 96 96c0 47.3-34.3 86.7-79.3 94.6L224.2 150.4zM545.5 512H528l-60.9-48H113.3c8.3-54.4 55.3-96 112-96H345.2l-60.9-48h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H545.3l.3 0z\"]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faSignalStrong = {\n prefix: 'far',\n iconName: 'signal-strong',\n icon: [640, 512, [\"signal-4\"], \"f68f\", \"M448 96c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM320 192c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal4 = faSignalStrong;\nvar faLollipop = {\n prefix: 'far',\n iconName: 'lollipop',\n icon: [512, 512, [127853, \"lollypop\"], \"e424\", \"M210.8 334.8C265.3 314.2 304 261.6 304 200v-8c0-61.9-50.1-112-112-112S80 130.1 80 192c0 39.8 32.2 72 72 72s72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-35.3 28.7-64 64-64s64 28.7 64 64v8c0 53-43 96-96 96h-8C94.6 296 48 249.4 48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 73.2-54.6 133.6-125.2 142.8zM0 192C0 298 86 384 192 384c44.4 0 85.2-15 117.7-40.3L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L343.7 309.7C369 277.2 384 236.4 384 192C384 86 298 0 192 0S0 86 0 192z\"]\n};\nvar faLollypop = faLollipop;\nvar faListTree = {\n prefix: 'far',\n iconName: 'list-tree',\n icon: [512, 512, [], \"e1d2\", \"M24 48C10.7 48 0 58.7 0 72v48c0 13.3 10.7 24 24 24V256 384c0 30.9 25.1 56 56 56h48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H80c-4.4 0-8-3.6-8-8V280h56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H72V144c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H24zM160 96c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zM288 256c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24zm0 160c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M255.4 48.2c.2-.1 .4-.2 .6-.2s.4 .1 .6 .2L460.6 194c2.1 1.5 3.4 3.9 3.4 6.5v13.6L291.5 355.7c-20.7 17-50.4 17-71.1 0L48 214.1V200.5c0-2.6 1.2-5 3.4-6.5L255.4 48.2zM48 276.2L190 392.8c38.4 31.5 93.7 31.5 132 0L464 276.2V456c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V276.2zM256 0c-10.2 0-20.2 3.2-28.5 9.1L23.5 154.9C8.7 165.4 0 182.4 0 200.5V456c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V200.5c0-18.1-8.7-35.1-23.4-45.6L284.5 9.1C276.2 3.2 266.2 0 256 0z\"]\n};\nvar faDrawCircle = {\n prefix: 'far',\n iconName: 'draw-circle',\n icon: [512, 512, [], \"f5ed\", \"M256 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm54.8 17.1C299.6 115.6 279.2 128 256 128s-43.6-12.4-54.8-30.9c-48.7 16.8-87.3 55.4-104.1 104.1C115.6 212.4 128 232.8 128 256s-12.4 43.6-30.9 54.8c16.8 48.7 55.4 87.3 104.1 104.1C212.4 396.4 232.8 384 256 384s43.6 12.4 54.8 30.9c48.7-16.8 87.3-55.4 104.1-104.1C396.4 299.6 384 279.2 384 256s12.4-43.6 30.9-54.8c-16.8-48.7-55.4-87.3-104.1-104.1zm152.1 96.6c28.2 6.7 49.1 32 49.1 62.3s-20.9 55.5-49.1 62.3c-20.8 69.2-75.4 123.8-144.6 144.6c-6.7 28.2-32 49.1-62.3 49.1s-55.5-20.9-62.3-49.1C124.5 442.1 69.9 387.5 49.1 318.3C20.9 311.5 0 286.2 0 256s20.9-55.5 49.1-62.3C69.9 124.5 124.5 69.9 193.7 49.1C200.5 20.9 225.8 0 256 0s55.5 20.9 62.3 49.1c69.2 20.8 123.8 75.4 144.6 144.6zM256 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM80 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm368 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCatSpace = {\n prefix: 'far',\n iconName: 'cat-space',\n icon: [640, 512, [], \"e001\", \"M464 304c70.7 0 128-57.3 128-128c0-32.5-12.1-62.1-32-84.7V176c0 53-43 96-96 96s-96-43-96-96V91.3c-19.9 22.6-32 52.2-32 84.7c0 70.7 57.3 128 128 128zM397.8 66.4l29.4 39.2c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l29.4-39.2C510.9 54.7 488.2 48 464 48s-46.9 6.7-66.2 18.4zM464 352v96c0 8.8 7.2 16 16 16s16-7.2 16-16V349.1c-10.4 1.9-21.1 2.9-32 2.9zM640 176c0 68.4-39 127.7-96 156.8V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V394L336 441v23h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-48.6 0-88-39.4-88-88v-.1V184.5c0-20.2-15-37.2-35-39.7l-7.9-1c-13.2-1.6-22.5-13.6-20.8-26.8S45.8 94.5 59 96.2l7.9 1c44 5.5 77.1 42.9 77.1 87.3V279c34.5-46.4 85.2-80.1 144.3-92.7c-.2-3.4-.3-6.9-.3-10.3C288 78.8 366.8 0 464 0s176 78.8 176 176zM144 423.9v.1c0 22.1 17.9 40 40 40H288V400c0-17.7-14.3-32-32-32h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c39.4 0 72.2 28.5 78.8 66l73.3-43.1c-51.7-17.3-92.7-58-110.5-109.5C209 252.6 144 331.2 144 423.9zM231.5 12.3l10.7 28.8c.8 2.2 2.5 3.9 4.7 4.7l28.8 10.7c7 2.6 7 12.4 0 15L246.9 82.2c-2.2 .8-3.9 2.5-4.7 4.7l-10.7 28.8c-2.6 7-12.4 7-15 0L205.8 86.9c-.8-2.2-2.5-3.9-4.7-4.7L172.3 71.5c-7-2.6-7-12.4 0-15l28.8-10.7c2.2-.8 3.9-2.5 4.7-4.7l10.7-28.8c2.6-7 12.4-7 15 0zM432 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'far',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L501.8 368H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H456 440.6l-99.4-77.9 35.1-32.4c9.7-9 10.3-24.2 1.4-33.9s-24.2-10.3-33.9-1.4l-40.9 37.7-39-30.5 44.9-42.4c18.5-17.4 42.9-27.1 68.3-27.1c24.4 0 47.9 8.9 66.1 25.1l36.9 32.8c4.4 3.9 10.1 6.1 15.9 6.1h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H505.1L475 101.2C448 77.3 413.2 64 377.1 64c-37.6 0-73.9 14.4-101.2 40.2l-50.1 47.4-31.2-24.4c8.3-5 17.2-8.9 26.5-11.5l51.1-51.1c-4.4-.4-8.8-.6-13.2-.6H248.7c-34 0-66.9 11.4-93.6 32.2L38.8 5.1zM388.9 402.4l-42-33.1c.8 8.5-2.1 17.2-8.6 23.7c-11.6 11.6-30.4 11.6-41.9 0l-10.7-10.7c-5.8-5.8-14.2-8.2-22.2-6.5s-14.6 7.5-17.3 15.3c-.8 2.1-2 4.1-3.7 5.8c-6.2 6.2-16.4 6.2-22.6 0L193 370.1l0 0-7-7-35.6-35.6c-15-15-35.4-23.4-56.6-23.4H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H93.7c8.5 0 16.6 3.4 22.6 9.4L152 397l7 7L185.9 431c23.6 23.6 60.9 24.9 86 4.1c30.4 22 73 19.3 100.4-8.1c7.3-7.3 12.8-15.6 16.6-24.5zM101.5 176L44.4 131C37 135.1 32 143 32 152c0 13.3 10.7 24 24 24h45.5z\"]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faRabbitRunning = {\n prefix: 'far',\n iconName: 'rabbit-running',\n icon: [576, 512, [\"rabbit-fast\"], \"f709\", \"M501.8 167.8c-8.6-5.9-17.8-10.8-27.4-14.6C457.6 98 413.6 54.9 357.5 39.6l-2.7-.8L348.4 62l6.3-23.1c-12.2-3.3-25.2-1.7-36.2 4.7l12 20.8-12-20.8-1.1 .6c-20.2 11.7-29.8 35.7-23.1 58.1l7.8 26.3c1.2 4 2.5 8 4 11.9l-57.1-20.8c-13.8-5-28.4-7.6-43.1-7.6H193.7c-30.1 0-57.5 11.7-77.9 30.9C103.7 133.5 88.5 128 72 128c-39.8 0-72 32.2-72 72s32.2 72 72 72c5.9 0 11.5-.7 17-2c6 14.1 14.8 27 26.1 37.8l37.7 36.1-28.3 18.9c-29.4 19.6-37.4 59.3-17.8 88.8s59.3 37.4 88.8 17.8l52.1-34.7 5.3 5.1C269.2 455.3 291 464 313.7 464H416c35.3 0 64-28.7 64-64c0-19.1-8.4-36.3-21.7-48h33.4c46.5 0 84.3-37.7 84.3-84.3c0-25.3-11.4-49.3-31-65.3l-18.9-15.4c13.8-52.7-1.7-108.8-40.6-147l-1.4-1.4c-5.7-5.6-13.8-8-21.6-6.5l-1.6 .3c-8.8 1.7-16 8.3-18.4 16.9c-.8 2.8-1.5 5.5-2.1 8.3c28.7 25.3 49.7 59 59.4 97.4c1.1 4.2 1.7 8.5 2 12.7zM88.5 182.5c-5.1 12.4-8.1 25.9-8.4 40.1c-2.5 .9-5.2 1.4-8 1.4c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.4 0 12.2 2.5 16.5 6.5zm62.7 220.1l37.2-24.8L212 400.5l-43.2 28.8c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2zm190.3-317l.9-.5 2.5 .7c41.9 11.5 74.4 44.6 85.1 86.7c.4 10.5 7.6 19.6 17.8 22.3c11.7 3.1 22.7 8.7 32.3 16.5l34.6 28.2c8.4 6.9 13.4 17.2 13.4 28.1c0 20-16.2 36.3-36.3 36.3H392c-6.4 0-12.5 2.5-17 7l-9.9 9.9c-9.7-43.6-43.3-79.2-88-90.4l-23.3-5.8c-12.9-3.2-25.9 4.6-29.1 17.5s4.6 25.9 17.5 29.1l23.3 5.8c32.1 8 54.5 36.8 54.5 69.8v13c0 13.3 10.7 24 24 24h40l.1 0H416c8.8 0 16 7.2 16 16s-7.2 16-16 16H313.7c-10.3 0-20.2-4-27.6-11.1L148.3 273.1c-13-12.4-20.3-29.5-20.3-47.5c0-36.3 29.4-65.7 65.7-65.7H206c9.1 0 18.1 1.6 26.7 4.7l129.4 47.1c11 4 23.3-.5 29.1-10.7s3.4-23.1-5.7-30.5c-17.6-14.3-30.7-33.7-37.3-55.8l-7.8-26.3c-.3-1.1 .1-2.2 1.1-2.8zM480 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faRabbitFast = faRabbitRunning;\nvar faMemoPad = {\n prefix: 'far',\n iconName: 'memo-pad',\n icon: [448, 512, [], \"e1da\", \"M400 128V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128H400zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 200c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm0 96c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm0 96c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faMattressPillow = {\n prefix: 'far',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M240 112V400H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H240zm48 0H576c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H288V112zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM80 176V336c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32z\"]\n};\nvar faAlarmPlus = {\n prefix: 'far',\n iconName: 'alarm-plus',\n icon: [512, 512, [], \"f844\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 112a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400c53.2 0 102.1-18.6 140.5-49.5L439 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5C480 164.3 379.7 64 256 64S32 164.3 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l42.5-42.5c38.4 31 87.3 49.5 140.5 49.5zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM256 176c-13.3 0-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24z\"]\n};\nvar faAlicorn = {\n prefix: 'far',\n iconName: 'alicorn',\n icon: [640, 512, [], \"f6b0\", \"M109.6 133.9c-9.9 7.3-18.5 16.1-25.5 26.2C37.3 162.1 0 200.7 0 248v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-13.2 6.4-25 16.3-32.2c-.2 2.8-.3 5.6-.3 8.5c0 14.3 2.7 28.4 8 41.7l21.9 54.6-8.2 21.7c-11.3 30.1-12.7 63.1-4.1 94.1l11.2 40.5c5.8 20.8 24.7 35.2 46.2 35.2h49.8c31.7 0 54.7-30.3 46.2-60.8l-14.8-53.3c-.5-1.6-.4-3.4 .2-5l12.1-32.3c1.4-3.7 2.6-7.4 3.6-11.2L288 364.5V464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V327.8c19.8-22.6 32-52.3 32-85.5l0-1.6 0-.7v-7.8c17.7 6 37.5 5.8 55.8-1.5c34.4-13.8 55-49.3 49.7-86l-9.9-69.2c-1.6-11.3-5.3-21.9-10.7-31.3C555.6 40 560 32.5 560 24c0-13.3-10.7-24-24-24H480V.3c-2.5-.2-5-.3-7.5-.3H472 440h-8c-1.8 0-3.5 .2-5.2 .6C365 5.9 313.7 48.2 295.3 105.3L164.3 27.4c-7.4-4.4-16.6-4.5-24.1-.2S128 39.4 128 48c0 76.3 36.1 130.2 71.3 164.2c17.5 17 35 29.3 48.1 37.3c6.6 4 12.1 7.1 16.1 9.1c2 1 3.6 1.8 4.8 2.4c.6 .3 1 .5 1.4 .6l.4 .2 .1 .1 .1 0 0 0c0 0 0 0 9.6-22l-9.6 22c12.1 5.3 26.3-.2 31.6-12.4s-.2-26.3-12.4-31.6l0 0-.1 0-.7-.3c-.7-.3-1.9-.9-3.4-1.7c-3-1.5-7.5-4-12.9-7.3c-10.9-6.7-25.4-16.9-39.9-30.9c-20.8-20.2-41.2-47.8-50.8-84.1l19.4 11.6 86.4 51.4c2.6 1.6 5.4 2.6 8.3 3v.3h3.6c.3 0 .6 0 .8 0H313c12.1 0 22.3-9 23.8-21c6.1-49.1 46.6-87.7 96.6-90.8c.7 0 1.3-.1 2-.2H440h32 .5c19.9 0 36.8 14.6 39.6 34.3l9.9 69.2c2.1 14.8-6.2 29.1-20 34.7c-13.3 5.3-28.4 1.3-37.3-9.8l-5.9-7.3c-6.4-8-17.1-11-26.7-7.7s-16.1 12.5-16.1 22.6v55c0 .5 0 1 0 1.5c0 .6 0 1.2 0 1.7c0 23.5-9.6 44.1-24.7 58.8c-4.6 4.5-7.3 10.7-7.3 17.2V464H336V346.2c0-11.3-7.9-21.1-19-23.5c-2.1-.4-4.2-1-6.3-1.6l-88-25.7c-7.3-2.1-15.3-.7-21.3 4s-9.6 11.9-9.4 19.5c0 .4 0 .9 0 1.3c0 8-1.4 16-4.3 23.5L175.6 376c-4.2 11.1-4.7 23.2-1.5 34.6L188.9 464H139.1l-11.2-40.5c-5.9-21.2-4.9-43.7 2.8-64.4l8.2-21.7c4.2-11.2 4.1-23.6-.4-34.7l-21.9-54.6c-3-7.6-4.6-15.7-4.6-23.9c0-17.4 7-33.3 18.2-44.8c-8-13.7-15-28.9-20.6-45.5zM464 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM630.7 64H544v48l89.6-29.9c3.8-1.3 6.4-4.8 6.4-8.8c0-5.1-4.2-9.3-9.3-9.3z\"]\n};\nvar faCommentQuestion = {\n prefix: 'far',\n iconName: 'comment-question',\n icon: [512, 512, [], \"e14b\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM169.8 149.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V248c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 336a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faGingerbreadMan = {\n prefix: 'far',\n iconName: 'gingerbread-man',\n icon: [448, 512, [], \"f79d\", \"M152 120c0-39.8 32.2-72 72-72s72 32.2 72 72c0 9.5-1.8 18.4-5.1 26.6c-7.6 19 4.4 45.4 30.1 45.4h39c22.1 0 40 17.9 40 40s-17.9 40-40 40h-7c-39.2 0-60.7 45.6-35.8 75.9l41.7 50.7c14 17.1 11.6 42.3-5.5 56.3s-42.3 11.6-56.3-5.5l-37.3-45.3c-18.6-22.6-53.1-22.6-71.7 0l-37.3 45.3c-14 17.1-39.2 19.5-56.3 5.5s-19.5-39.2-5.5-56.3l41.7-50.7C155.7 317.6 134.2 272 95 272H88c-22.1 0-40-17.9-40-40s17.9-40 40-40h39c25.7 0 37.7-26.4 30.1-45.4c-3.3-8.2-5.1-17.2-5.1-26.6zM224 0C157.7 0 104 53.7 104 120c0 8.2 .8 16.2 2.4 24H88c-48.6 0-88 39.4-88 88s39.4 88 88 88h3.6L52 368.1c-30.9 37.5-25.5 93 12 123.9l14.5-17.6L64.1 492c37.5 30.9 93 25.5 123.9-12l36-43.8 36 43.8c30.9 37.5 86.3 42.9 123.9 12s42.9-86.3 12-123.9L356.4 320H360c48.6 0 88-39.4 88-88s-39.4-88-88-88H341.6c1.6-7.8 2.4-15.8 2.4-24C344 53.7 290.3 0 224 0zm0 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM208 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM240 352a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGuaraniSign = {\n prefix: 'far',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M192 0c-13.3 0-24 10.7-24 24V65.5C73.3 77.3 0 158.1 0 256s73.3 178.7 168 190.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V446.5c94.7-11.8 168-92.6 168-190.5c0-13.3-10.7-24-24-24H216V114c29.7 5 56.2 19 76.8 39.2c9.5 9.3 24.7 9.1 33.9-.3s9.1-24.7-.3-33.9C297.2 90.2 258.8 70.8 216 65.5V24c0-13.3-10.7-24-24-24zM168 114V398C99.9 386.6 48 327.4 48 256s51.9-130.6 120-142zm48 284V280H334c-10.1 60.3-57.7 107.9-118 118z\"]\n};\nvar faBurgerFries = {\n prefix: 'far',\n iconName: 'burger-fries',\n icon: [640, 512, [], \"e0cd\", \"M167.6 2.4C162.9 5.3 160 10.5 160 16V206.7l0 0v63.2c9.2 1.4 19.8 2.2 32 2.2s22.8-.8 32-2.2V31.8c-.1-6-3.5-11.4-8.8-14.1l-32-16c-5-2.5-10.8-2.2-15.6 .7zM128 261V14.7l-.2-1.3c-.8-5-4-9.3-8.5-11.6s-9.9-2.3-14.4-.1l-32 16c-6.3 3.1-9.8 10-8.6 16.9l32 192c.5 1.2 .9 2.3 1.2 3.4c2 6.3 6.7 15.9 18.7 24.3c3.2 2.2 7.1 4.5 11.8 6.6zM58.2 193L40.3 85.6 19.9 80.5c-5.3-1.3-10.8 .1-14.8 3.8S-.7 93.4 .2 98.8l16.5 93.4c1.6-.1 3.1-.2 4.7-.2H48c3.6 0 7 .4 10.2 1zm312-17.5l13.6-76.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8L346.2 85l-19 107.8c2.5-.4 5.1-.7 7.9-.8c10.4-6.1 22.1-11.7 35.1-16.4zM286.6 230c.7-2.3 1.7-4.7 2.8-7L319.8 50.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8l-32 8C262 42 257.3 47 256.2 53.2l-.2 1.4V261c4.8-2.1 8.7-4.4 11.8-6.6c2.1-1.5 4-3 5.7-4.5c3.2-4.9 7-10 11.4-15.4c.7-1.6 1.3-3.1 1.7-4.5zM192 304c-91.7 0-117.7-41-125.1-64.3C64.3 231.2 56.8 224 48 224H21.4C9.6 224 0 233.6 0 245.4c0 1.7 .2 3.4 .6 5.1l57.5 237C61.5 501.9 74.4 512 89.2 512H294.1c-14-13.1-24.9-29.5-31.3-48h-161L66.1 316.8c1.4 1.1 2.8 2.1 4.3 3.1C99.3 340.1 139.1 352 192 352c26.8 0 50.3-3.1 70.6-8.7c-4.3-11.8-6.6-24.6-6.6-37.8c0-3.2 .1-6.7 .5-10.5c-16.7 5.5-37.8 9-64.5 9zm257.9-63.8c-1.2 2.3-1.9 4.9-1.9 7.6c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.8-.7-5.3-1.9-7.6c22.5 1.3 40.8 5.5 55.7 11.3c-3.5 2.9-5.8 7.4-5.8 12.3c0 8.8 7.2 16 16 16c8.3 0 15.2-6.4 15.9-14.6c18.4 12.7 27.4 26.8 31.1 33.6c.3 .7 1 2.3 1 6.1c0 17-13.8 30.8-30.8 30.8H366.8c-17 0-30.8-13.8-30.8-30.8c0-3.7 .6-5.4 1-6.1c3.7-6.9 12.7-21 31.1-33.6c.7 8.2 7.6 14.6 15.9 14.6c8.8 0 16-7.2 16-16c0-4.9-2.2-9.4-5.8-12.3c14.8-5.8 33.1-10.1 55.7-11.3zM627.8 347.1c7.7-12.2 12.2-26.6 12.2-42.1c0-8.4-1.3-18.7-6.7-28.8C619 249.5 574.2 191.8 464 191.8s-155 57.7-169.3 84.4c-5.4 10-6.7 20.4-6.7 28.8c0 15.5 4.5 29.9 12.2 42.1c-7.5 7.3-12.2 17.5-12.2 28.7c0 8.1 2.4 15.6 6.5 21.8c-4.1 7.8-6.5 16.7-6.5 26.2c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-9.5-2.3-18.4-6.5-26.2c4.1-6.3 6.5-13.8 6.5-21.8c0-11.3-4.7-21.5-12.2-28.7zM344 415.8H584c4.4 0 8 3.6 8 8c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40c0-4.4 3.6-8 8-8z\"]\n};\nvar faMugTea = {\n prefix: 'far',\n iconName: 'mug-tea',\n icon: [576, 512, [], \"f875\", \"M80 112h72v10.7c0 8.5-3.4 16.6-9.4 22.6l-21.3 21.3c-6 6-9.4 14.1-9.4 22.6V256c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V189.3c0-8.5-3.4-16.6-9.4-22.6l-21.3-21.3c-6-6-9.4-14.1-9.4-22.6V112H368V352c0 26.5-21.5 48-48 48H128c-26.5 0-48-21.5-48-48V112zM64 64C46.3 64 32 78.3 32 96V352c0 53 43 96 96 96H320c53 0 96-43 96-96V320h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H384 64zM448 272H416V112h32c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faBorderTop = {\n prefix: 'far',\n iconName: 'border-top',\n icon: [448, 512, [], \"f855\", \"M0 56C0 42.7 10.7 32 24 32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56zM64 160A32 32 0 1 1 0 160a32 32 0 1 1 64 0zm320 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-128 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 352a32 32 0 1 1 64 0A32 32 0 1 1 0 352zm448 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-256 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm320 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-128 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm448 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-256 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faArrowsRotate = {\n prefix: 'far',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M496 200c0 13.3-10.7 24-24 24h0H360 328c-13.3 0-24-10.7-24-24s10.7-24 24-24h32 54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88l0-.4V56c0-13.3 10.7-24 24-24s24 10.7 24 24V200zM40 288H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24z\"]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faCircleBookOpen = {\n prefix: 'far',\n iconName: 'circle-book-open',\n icon: [512, 512, [\"book-circle\"], \"e0ff\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 336c23.1 0 41 11.1 46.3 14.8c1.1 .8 2.4 1.2 3.7 1.2c3.3 0 5.9-2.7 5.9-5.9V185.3c0-5.8-3.1-11.1-8.3-13.5C221.2 167.1 202.5 160 184 160s-37.2 7.1-47.7 11.9c-5.2 2.4-8.3 7.7-8.3 13.5V346.1c0 3.3 2.7 5.9 5.9 5.9c1.3 0 2.6-.4 3.7-1.2C143 347.1 160.9 336 184 336zm144 0c23.1 0 41 11.1 46.3 14.8c1.1 .8 2.4 1.2 3.7 1.2c3.3 0 5.9-2.7 5.9-5.9V185.3c0-5.8-3.1-11.1-8.3-13.5C365.2 167.1 346.5 160 328 160s-37.2 7.1-47.7 11.9c-5.2 2.4-8.3 7.7-8.3 13.5V346.1c0 3.3 2.7 5.9 5.9 5.9c1.3 0 2.6-.4 3.7-1.2C287 347.1 304.9 336 328 336z\"]\n};\nvar faBookCircle = faCircleBookOpen;\nvar faArrowsToDottedLine = {\n prefix: 'far',\n iconName: 'arrows-to-dotted-line',\n icon: [448, 512, [], \"e0a6\", \"M241 185l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31L248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 86.1L169 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM313 399l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V488c0 13.3 10.7 24 24 24s24-10.7 24-24V401.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'far',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104H200v26.6c50.3 11 88 55.8 88 109.4V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V240c0-53.6 37.7-98.4 88-109.4V104.9c-46.9 5.5-86.5 34.8-106.3 75.6c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C30.1 102.8 86.1 62.4 152 56.7V24c0-13.3 10.7-24 24-24s24 10.7 24 24V56h89c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM112 416v32c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V416H112zm0-48H240V240c0-35.3-28.7-64-64-64s-64 28.7-64 64V368z\"]\n};\nvar faGarageOpen = {\n prefix: 'far',\n iconName: 'garage-open',\n icon: [640, 512, [], \"e00b\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 320V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H144zm0-48H496V240H144v32zm88 144v16H408V416c0-8.8-7.2-16-16-16H248c-8.8 0-16 7.2-16 16zm0 64v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V416c0-35.3 28.7-64 64-64H392c35.3 0 64 28.7 64 64v72c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H232z\"]\n};\nvar faShelvesEmpty = {\n prefix: 'far',\n iconName: 'shelves-empty',\n icon: [640, 512, [], \"e246\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V184 440v48c0 13.3 10.7 24 24 24s24-10.7 24-24V464H592v24c0 13.3 10.7 24 24 24s24-10.7 24-24V440 184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V160H48V24zm0 184H592V416H48V208z\"]\n};\nvar faCruzeiroSign = {\n prefix: 'far',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M80 256c0-97 79.3-176 177.6-176c45.6 0 87 17 118.5 44.9c9.9 8.8 25.1 7.9 33.9-2s7.9-25.1-2-33.9C368 53.5 315.3 32 257.6 32C133.2 32 32 132.1 32 256s101.2 224 225.6 224c57.7 0 110.4-21.5 150.3-57c9.9-8.8 10.8-24 2-33.9s-24-10.8-33.9-2C344.6 415 303.2 432 257.6 432c-6.3 0-12.5-.3-18.6-1c.7-2.2 1-4.6 1-7V320v-1.8c0-21.1 17.1-38.2 38.2-38.2c10.1 0 19.9 4 27 11.2L311 297c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-5.8-5.8c-16.2-16.2-38.1-25.3-61-25.3c-14.1 0-27.4 3.4-39.2 9.4C236.2 231.3 227 224 216 224c-13.3 0-24 10.7-24 24v70.2V320v99.6C126.3 393.7 80 330.1 80 256z\"]\n};\nvar faWatchApple = {\n prefix: 'far',\n iconName: 'watch-apple',\n icon: [384, 512, [], \"e2cb\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6C27.5 73 0 105.3 0 144V368c0 38.7 27.5 71 64 78.4V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c36.5-7.4 64-39.7 64-78.4V144c0-38.7-27.5-71-64-78.4V48.3C320 21.6 298.4 0 271.7 0H112.3zM304 112c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304zM192 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM152 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM256 184a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM152 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-8 48a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm120 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faWatchCalculator = {\n prefix: 'far',\n iconName: 'watch-calculator',\n icon: [384, 512, [], \"f8f0\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6C27.5 73 0 105.3 0 144V368c0 38.7 27.5 71 64 78.4V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c36.5-7.4 64-39.7 64-78.4V144c0-38.7-27.5-71-64-78.4V48.3C320 21.6 298.4 0 271.7 0H112.3zM304 112c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304zM104 160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H280c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H104zM88 272a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm104-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm56 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM112 312a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm56 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm104-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faListDropdown = {\n prefix: 'far',\n iconName: 'list-dropdown',\n icon: [512, 512, [], \"e1cf\", \"M48 192V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V192H48zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm436.7 0H363.3c-7.1 0-10.7 8.6-5.7 13.7l36.7 36.7c3.1 3.1 8.2 3.1 11.3 0l36.7-36.7c5-5 1.5-13.7-5.7-13.7zM128 232H384c13.3 0 24 10.7 24 24s-10.7 24-24 24H128c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H384c13.3 0 24 10.7 24 24s-10.7 24-24 24H128c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCabinetFiling = {\n prefix: 'far',\n iconName: 'cabinet-filing',\n icon: [448, 512, [128452], \"f64b\", \"M400 232H48V64c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V232zM0 256v24V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V280 256 232 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V232v24zM400 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V280H400V448zM160 152v-8H288v8c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-22.1-17.9-40-40-40H152c-22.1 0-40 17.9-40 40v16c0 13.3 10.7 24 24 24s24-10.7 24-24zm-8 184c-22.1 0-40 17.9-40 40v16c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H288v8c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-22.1-17.9-40-40-40H152z\"]\n};\nvar faBurgerSoda = {\n prefix: 'far',\n iconName: 'burger-soda',\n icon: [640, 512, [], \"f858\", \"M249.3 0c-26 0-48.6 17.9-54.5 43.2l-20 84.8H80.2 32 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H36 84.2h89.9 35.8 89.9H348h12c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H303.8 224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3zM60.3 468c2.1 24.9 22.9 44 47.8 44H275.8c5.4 0 10.7-.9 15.5-2.6c-12.7-12.7-22.6-28.1-28.7-45.4H108.2L86.8 208H38.7L60.3 468zM449.9 240.2c-1.2 2.3-1.9 4.9-1.9 7.6c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.8-.7-5.3-1.9-7.6c22.5 1.3 40.8 5.5 55.7 11.3c-3.5 2.9-5.8 7.4-5.8 12.3c0 8.8 7.2 16 16 16c8.3 0 15.2-6.4 15.9-14.6c18.4 12.7 27.4 26.8 31.1 33.6c.3 .7 1 2.3 1 6.1c0 17-13.8 30.8-30.8 30.8H366.8c-17 0-30.8-13.8-30.8-30.8c0-3.7 .6-5.4 1-6.1c3.7-6.9 12.7-21 31.1-33.6c.7 8.2 7.6 14.6 15.9 14.6c8.8 0 16-7.2 16-16c0-4.9-2.2-9.4-5.8-12.3c14.8-5.8 33.1-10.1 55.7-11.3zM627.8 347.1c7.7-12.2 12.2-26.6 12.2-42.1c0-8.4-1.3-18.7-6.7-28.8C619 249.5 574.2 191.8 464 191.8s-155 57.7-169.3 84.4c-5.4 10-6.7 20.4-6.7 28.8c0 15.5 4.5 29.9 12.2 42.1c-7.5 7.3-12.2 17.5-12.2 28.7c0 8.1 2.4 15.6 6.5 21.8c-4.1 7.8-6.5 16.7-6.5 26.2c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-9.5-2.3-18.4-6.5-26.2c4.1-6.3 6.5-13.8 6.5-21.8c0-11.3-4.7-21.5-12.2-28.7zM344 415.8H584c4.4 0 8 3.6 8 8c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40c0-4.4 3.6-8 8-8z\"]\n};\nvar faSquareArrowUp = {\n prefix: 'far',\n iconName: 'square-arrow-up',\n icon: [448, 512, [\"arrow-square-up\"], \"f33c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm241 39l88 88c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.9l-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l88-88c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faArrowSquareUp = faSquareArrowUp;\nvar faGreaterThanEqual = {\n prefix: 'far',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M47 78.2c-12.3-5-18.2-19-13.2-31.3s19-18.2 31.3-13.2l336 136c9.1 3.7 15 12.5 15 22.2s-5.9 18.6-15 22.2L65 350.2c-12.3 5-26.3-1-31.3-13.2s1-26.3 13.2-31.3L328 192 47 78.2zM424 432c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424z\"]\n};\nvar faPalletBox = {\n prefix: 'far',\n iconName: 'pallet-box',\n icon: [640, 512, [], \"e208\", \"M384 48v80c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L320 115.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V48H176V240H464V48H384zM128 48c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V48zM0 344c0-13.3 10.7-24 24-24H88 320 552h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H576v96h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H552 320 88 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V368H24c-13.3 0-24-10.7-24-24zM112 464H296V368H112v96zm232 0H528V368H344v96z\"]\n};\nvar faFaceConfounded = {\n prefix: 'far',\n iconName: 'face-confounded',\n icon: [512, 512, [], \"e36c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm231 77.3l25 20 25-20c8.2-6.5 19.6-7 28.3-1.2l31.6 21.1L351 343c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-24 24c-8.1 8.1-20.8 9.3-30.3 3l-33.4-22.3-26.3 21c-8.8 7-21.2 7-30 0l-26.3-21L181.3 404c-9.5 6.3-22.2 5.1-30.3-3l-24-24c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l10.1 10.1L202.7 332c8.7-5.8 20.1-5.3 28.3 1.2zM133.5 178.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 189.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faShieldHalved = {\n prefix: 'far',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M232 59.6V450.3C99.2 375.7 64.4 227.3 64 139.7c0-5 3.1-10.2 9-12.8L232 59.6zm48 390.8V59.6L439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 87.5-35.2 236-168 310.6zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2z\"]\n};\nvar faShieldAlt = faShieldHalved;\nvar faTruckPlow = {\n prefix: 'far',\n iconName: 'truck-plow',\n icon: [640, 512, [], \"f7de\", \"M184 80h86.1c2.8 0 5.4 1.5 6.8 3.8L343 192H176V88c0-4.4 3.6-8 8-8zM398.6 192c-.6-1.5-1.3-3.1-2.2-4.5L317.8 58.8C307.7 42.2 289.6 32 270.1 32H184c-30.9 0-56 25.1-56 56V192H56c-30.9 0-56 25.1-56 56v96c0 19.4 13.7 35.5 32 39.2l0 .8c0 53 43 96 96 96s96-43 96-96h48c0 53 43 96 96 96s96-43 96-96h54.1l.1 .1 80 88c8.9 9.8 24.1 10.5 33.9 1.6s10.5-24.1 1.6-33.9L560 358.7V217.3l73.8-81.1c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6l-80 88c-4 4.4-6.2 10.2-6.2 16.1V336H480V248c0-30.9-25.1-56-56-56H398.6zM432 312.4c-17-15.2-39.4-24.4-64-24.4c-35.5 0-66.6 19.3-83.2 48H211.2c-16.6-28.7-47.6-48-83.2-48c-33.4 0-62.8 17-80 42.9V248c0-4.4 3.6-8 8-8H424c4.4 0 8 3.6 8 8v64.4zM80 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm288-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faBookAtlas = {\n prefix: 'far',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM176.5 216h-31c4.8 26.1 21.1 48.2 43.5 60.8c-6.6-16.9-11-37.8-12.5-60.8zm0-32c1.4-22.9 5.9-43.8 12.5-60.8c-22.4 12.6-38.7 34.7-43.5 60.8h31zM112 200a120 120 0 1 1 240 0 120 120 0 1 1 -240 0zm206.5 16h-31c-1.4 22.9-5.9 43.8-12.5 60.8c22.4-12.6 38.7-34.7 43.5-60.8zM275 123.2c6.6 16.9 11 37.8 12.5 60.8h31c-4.8-26.1-21.1-48.2-43.5-60.8zM255.4 216H208.6c1.6 22.6 6.5 41.8 12.8 55.3c4.7 10.1 8.6 14.2 10.6 15.8c2-1.6 5.9-5.7 10.6-15.8c6.3-13.5 11.2-32.7 12.8-55.3zm-46.9-32h46.9c-1.6-22.6-6.5-41.8-12.8-55.3c-4.7-10.1-8.6-14.2-10.6-15.8c-2 1.6-5.9 5.7-10.6 15.8c-6.3 13.5-11.2 32.7-12.8 55.3z\"]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'far',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M75 75c12.5-12.5 32.8-12.5 45.3 0l8.2 8.2C163.7 118.4 224 93.4 224 43.5V32c0-17.7 14.3-32 32-32s32 14.3 32 32V43.5c0 49.9 60.3 74.9 95.6 39.6l8.2-8.2c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-8.2 8.2c-35.3 35.3-10.3 95.6 39.6 95.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H468.5c-49.9 0-74.9 60.3-39.6 95.6l8.2 8.2c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-8.2-8.2c-35.3-35.3-95.6-10.3-95.6 39.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V468.5c0-49.9-60.3-74.9-95.6-39.6l-8.2 8.2c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l8.2-8.2C118.4 348.3 93.4 288 43.5 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H43.5c49.9 0 74.9-60.3 39.6-95.6L75 120.2C62.5 107.7 62.5 87.5 75 75zM256 99.6c-23.3 36.4-68.4 55.1-110.6 45.8c9.3 42.2-9.4 87.3-45.8 110.6c36.4 23.3 55.1 68.4 45.8 110.6c42.2-9.3 87.3 9.4 110.6 45.8c23.3-36.4 68.4-55.1 110.6-45.8c-9.3-42.2 9.4-87.3 45.8-110.6c-36.4-23.3-55.1-68.4-45.8-110.6c-21.2 4.7-43.1 2.3-62.6-5.8c-19.4-8.1-36.4-21.8-48-40zM192 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGridRound2 = {\n prefix: 'far',\n iconName: 'grid-round-2',\n icon: [512, 512, [], \"e5db\", \"M128 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48A96 96 0 1 1 32 128a96 96 0 1 1 192 0zM128 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48A96 96 0 1 1 32 384a96 96 0 1 1 192 0zM336 128a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zm0 208a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48a96 96 0 1 1 -192 0 96 96 0 1 1 192 0z\"]\n};\nvar faCommentMiddleTop = {\n prefix: 'far',\n iconName: 'comment-middle-top',\n icon: [512, 512, [], \"e14a\", \"M231.3 124.8L256 75.3l24.7 49.5c6.5 12.9 18.4 22.3 32.5 25.4C407 171 464 237.3 464 304c0 79.5-83.3 160-208 160S48 383.5 48 304c0-66.7 57-133 150.7-153.8c14.1-3.1 26.1-12.5 32.5-25.4zm92.4-21.5l-44.5-89C274.8 5.5 265.8 0 256 0s-18.8 5.5-23.2 14.3l-44.5 89C79.8 127.5 0 208.2 0 304C0 418.9 114.6 512 256 512s256-93.1 256-208c0-95.8-79.8-176.5-188.3-200.7z\"]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'far',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M64 112H448c8.8 0 16 7.2 16 16v22.1l-22.6 18.5C458.6 163 477 160 496 160c5.4 0 10.7 .2 16 .7V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H360.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V212.2L190 328.8c37.7 31 91.8 31.5 130.1 1.5c.9-29.2 8.9-56.5 22.4-80.4l-50.9 41.8c-20.7 17-50.4 17-71.1 0L48 150.1V128c0-8.8 7.2-16 16-16zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faLayerGroup = {\n prefix: 'far',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M288 0c-8.5 0-17 1.7-24.8 5.1L53.9 94.8C40.6 100.5 32 113.5 32 128s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2L312.8 5.1C305 1.7 296.5 0 288 0zm-5.9 49.2C284 48.4 286 48 288 48s4 .4 5.9 1.2L477.7 128 293.9 206.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 128 282.1 49.2zM53.9 222.8C40.6 228.5 32 241.5 32 256s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2l-31.2-13.4L430 235.5 477.7 256 293.9 334.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 256 146 235.5 85.1 209.4 53.9 222.8zm0 128C40.6 356.5 32 369.5 32 384s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2l-31.2-13.4L430 363.5 477.7 384 293.9 462.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 384 146 363.5 85.1 337.4 53.9 350.8z\"]\n};\nvar faRestroomSimple = {\n prefix: 'far',\n iconName: 'restroom-simple',\n icon: [640, 512, [], \"e23a\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zM73.7 237.3C75.1 220.8 89 208 105.6 208h44.8c16.6 0 30.5 12.8 31.9 29.3l4.1 49.3c.8 9.3-6.6 17.3-15.9 17.3H168 88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3zM112 352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352zM320 0c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM576 64A64 64 0 1 0 448 64a64 64 0 1 0 128 0zM496.3 208h31.4c7.1 0 13.4 4.7 15.4 11.6L576.4 336H447.6l33.3-116.4c2-6.9 8.2-11.6 15.4-11.6zm0-48c-28.6 0-53.7 18.9-61.5 46.4L395.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H448V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L589.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H496.3z\"]\n};\nvar faArrowsToDot = {\n prefix: 'far',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 86.1L201 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31L280 24zM433 345c9.4-9.4 9.4-24.6 0-33.9l-31-31H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H401.9l31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM113 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L79 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72zM167 433c9.4 9.4 24.6 9.4 33.9 0l31-31 0 86.1c0 13.3 10.7 24 24 24s24-10.7 24-24V401.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faBorderOuter = {\n prefix: 'far',\n iconName: 'border-outer',\n icon: [448, 512, [], \"f851\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-64 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faHashtagLock = {\n prefix: 'far',\n iconName: 'hashtag-lock',\n icon: [576, 512, [], \"e415\", \"M188.7 32.5c13 2.6 21.4 15.2 18.8 28.2L192.5 136h111l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8s21.4 15.2 18.8 28.2L352.5 136H424c13.3 0 24 10.7 24 24c0 .4 0 .8 0 1.1c-19.9 2.9-38.2 11-53.3 22.9H342.9L287.5 460.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L255.5 376l-111 0-16.9 84.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L95.5 376 24 376c-13.3 0-24-10.7-24-24s10.7-24 24-24l81.1 0 28.8-144H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h87.5l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8zM182.9 184L154.1 328l111 0 28.8-144h-111zM464 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faClockTwoThirty = {\n prefix: 'far',\n iconName: 'clock-two-thirty',\n icon: [512, 512, [], \"e35b\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V256c0-8 4-15.5 10.7-20l96-64c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3L280 268.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faArchway = {\n prefix: 'far',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M0 56C0 42.7 10.7 32 24 32H56 456h24c13.3 0 24 10.7 24 24s-10.7 24-24 24V432h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H456 424 360c-13.3 0-24-10.7-24-24V336c0-44.2-35.8-80-80-80s-80 35.8-80 80V456c0 13.3-10.7 24-24 24H88 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V80H24C10.7 80 0 69.3 0 56zM80 80v32H432V80H80zm0 80V432h8 40V336c0-70.7 57.3-128 128-128s128 57.3 128 128v96h40 8V160H80z\"]\n};\nvar faHeartCircleCheck = {\n prefix: 'far',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faHouseChimneyCrack = {\n prefix: 'far',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM112 204.8V432c0 17.7 14.3 32 32 32h85.9l-30.3-48.1c-4.4-6.9-2.8-16 3.6-21.1L288 327.6l-58.1-76.1c-11.3-14.8 7.4-33.6 22.3-22.5l115.2 86.2c8.4 6.3 8.6 18.8 .4 25.3L288 403.8 325.9 464H432c17.7 0 32-14.3 32-32V204.8L288 55.5 112 204.8z\"]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'far',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16h48v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm48 112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm-6.3 71.8L82.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8H136.6c-14.5 0-27.2 9.7-30.9 23.8zM128 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faHeartHalf = {\n prefix: 'far',\n iconName: 'heart-half',\n icon: [512, 512, [], \"e1ab\", \"M236.7 476.9c2.1 2 4.9 3.1 7.8 3.1c6.3 0 11.5-5.1 11.5-11.5V456.2 433.8v-4.6V96L244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5L208 450.1l3.3 3.1 16.4 15.3 9 8.4zM208 384.5L80.3 265.3C59.7 246.1 48 219.1 48 190.9v-5.8c0-46.4 33.6-86 79.3-93.6c29.3-4.9 59.1 4.2 80.7 24.5V384.5z\"]\n};\nvar faCommentCheck = {\n prefix: 'far',\n iconName: 'comment-check',\n icon: [512, 512, [], \"f4ac\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM369 193c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 193z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faMemo = {\n prefix: 'far',\n iconName: 'memo',\n icon: [384, 512, [], \"e1d8\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'far',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M0 35.3C0 15.8 15.8 0 35.3 0H476.7C496.2 0 512 15.8 512 35.3c0 9.4-3.7 18.3-10.3 25L280 281.9V464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H256 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V281.9L10.3 60.3C3.7 53.7 0 44.7 0 35.3zM256 238.1L446.1 48H65.9L256 238.1z\"]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'far',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M448 80H192c-44.2 0-80 35.8-80 80v40c-12.3-5.1-25.8-8-40-8c-2.7 0-5.4 .1-8 .3V160C64 89.3 121.3 32 192 32H448c70.7 0 128 57.3 128 128v32.3c-2.6-.2-5.3-.3-8-.3c-14.2 0-27.7 2.8-40 8V160c0-44.2-35.8-80-80-80zM568 224c2.7 0 5.4 .1 8 .4c36 4 64 34.5 64 71.6V432c0 26.5-21.5 48-48 48H544c-20.9 0-38.7-13.4-45.3-32H141.3c-6.6 18.6-24.4 32-45.3 32H48c-26.5 0-48-21.5-48-48V296c0-37.1 28-67.6 64-71.6c2.6-.3 5.3-.4 8-.4c15.2 0 29.4 4.7 41 12.8c16.7 11.6 28.2 30 30.5 51.2H496.4c2.3-21.2 13.9-39.6 30.5-51.2c11.6-8.1 25.8-12.8 41-12.8zm-24 72v40 64 32h48V296c0-13.3-10.7-24-24-24s-24 10.7-24 24zM496 400V336H144v64H496zM96 400V336 296c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 136H96V400z\"]\n};\nvar faCediSign = {\n prefix: 'far',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M216 0c13.3 0 24 10.7 24 24V72.5C277.9 75 313 88 341.9 108.4c10.8 7.7 13.4 22.6 5.7 33.5s-22.6 13.4-33.5 5.7c-20.9-14.8-46.3-24.5-74.1-27V391.4c27.8-2.5 53.2-12.2 74.1-27c10.8-7.7 25.8-5.1 33.5 5.7s5.1 25.8-5.7 33.5C313 424 277.9 437 240 439.5V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V437.2C102 422 32 347.7 32 256s70-166 160-181.2V24c0-13.3 10.7-24 24-24zM80 256c0 63.2 47 117.9 112 132.3V123.7C127 138.1 80 192.8 80 256z\"]\n};\nvar faItalic = {\n prefix: 'far',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 56c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H291.3L144.7 432H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H92.7L239.3 80H152c-13.3 0-24-10.7-24-24z\"]\n};\nvar faGlassCitrus = {\n prefix: 'far',\n iconName: 'glass-citrus',\n icon: [512, 512, [], \"f869\", \"M464 144c0-53-43-96-96-96c-35.5 0-66.6 19.3-83.2 48H232.2C252 40.1 305.3 0 368 0c79.5 0 144 64.5 144 144c0 78.4-62.7 142.2-140.7 144l4.6-48.3c49.3-4 88.1-45.3 88.1-95.7zM6.2 135.9c4.5-5 11-7.9 17.8-7.9H328c6.8 0 13.2 2.9 17.8 7.9s6.8 11.7 6.1 18.4l-29.2 307c-2.7 28.7-26.9 50.7-55.7 50.7H85.1c-28.9 0-53-21.9-55.7-50.7L.1 154.3c-.6-6.7 1.6-13.4 6.1-18.4zM62.6 304L77.1 456.8c.4 4.1 3.8 7.2 8 7.2H266.9c4.1 0 7.6-3.1 8-7.2L289.4 304H62.6zM58 256H294l7.6-80H50.4L58 256z\"]\n};\nvar faCalendarLinesPen = {\n prefix: 'far',\n iconName: 'calendar-lines-pen',\n icon: [576, 512, [], \"e472\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H400 384 48V448c0 8.8 7.2 16 16 16H262.5l-5.1 20.2c-2.3 9.4-1.8 19 1.4 27.8H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zm-8 256H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM96 376c0-13.3 10.7-24 24-24H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faChurch = {\n prefix: 'far',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v26.9L192.9 189.7c-20.5 13.3-32.9 36-32.9 60.4V464H72c-13.3 0-24-10.7-24-24V370.1c0-8.1 4.1-15.7 11-20.2l69-44.7V248.1L32.9 309.7C12.4 322.9 0 345.7 0 370.1V440c0 39.8 32.2 72 72 72H192v0H448h8H568c39.8 0 72-32.2 72-72V370.1c0-24.4-12.4-47.2-32.9-60.4L512 248.1v57.2L581 350c6.8 4.4 11 12 11 20.1V440c0 13.3-10.7 24-24 24H480V250.1c0-24.4-12.4-47.2-32.9-60.4L344 122.9V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V24zM320 164.6L421 230c6.8 4.4 11 12 11 20.1V464H368V368c0-26.5-21.5-48-48-48s-48 21.5-48 48v96H208V250.1c0-8.1 4.1-15.7 11-20.1l101-65.4z\"]\n};\nvar faPersonSnowmobiling = {\n prefix: 'far',\n iconName: 'person-snowmobiling',\n icon: [640, 512, [\"snowmobile\"], \"f7d1\", \"M240 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm99.7 75.4c11.4-6.8 26.1-3.1 32.9 8.2l46.8 78.1 138.9 69.4c10.8 5.4 17.7 16.5 17.7 28.6v59.1c0 10.7-5.3 20.7-14.2 26.6L492 392l54 72h20.1l33-33c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-40 40c-4.5 4.5-10.6 7-17 7H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h46l-48-64H313.3c4.3 9.8 6.7 20.6 6.7 32c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80c0-26.2 12.6-49.4 32-64l8-16 31.2-62.3C76.6 278.8 87.7 272 99.8 272H288l24-32H280c-7.6 0-14.7-3.6-19.2-9.6l-33.4-44.5c-4.7-6.2-12-9.9-19.8-9.9c-9.8 0-18.6 5.7-22.6 14.7l-19.1 43.1c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l19.1-43.1c11.7-26.3 37.7-43.2 66.4-43.2c22.9 0 44.4 10.8 58.2 29.1L292 192h56l18.7-24.9-35.3-58.8c-6.8-11.4-3.1-26.1 8.2-32.9zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c17.7 0 32-14.3 32-32s-14.3-32-32-32H80zm160-48H465.5L528 310.3V269.7L398.4 204.8l-72 96L312 320H288 109.7l-16 32H240z\"]\n};\nvar faSnowmobile = faPersonSnowmobiling;\nvar faFaceHushed = {\n prefix: 'far',\n iconName: 'face-hushed',\n icon: [512, 512, [], \"e37b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM179 160.9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9zm141-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9zM256 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCommentsDollar = {\n prefix: 'far',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M80.7 253.2c14.3 15 17.3 37.6 7.5 55.8c-1.1 2-2.2 4-3.2 5.9c-2.5 4.5-5.2 9-7.9 13.6c17.1-4.5 33.9-10.7 49.9-18c4.3-1.9 8.5-3.9 12.6-6c9.5-4.8 20.3-6.2 30.7-4.2c12.1 2.4 24.8 3.6 37.8 3.6c96.2 0 160-64.5 160-128s-63.8-128-160-128S48 112.5 48 176c0 28 11.4 54.9 32.7 77.2zM416 176c0 97.2-93.1 176-208 176c-16.2 0-31.9-1.6-47.1-4.5c-4.6 2.3-9.4 4.6-14.2 6.8C110.5 370.7 67 384 24 384c-9.6 0-18.2-5.7-22-14.5c-3.8-8.8-2-19 4.6-25.9c14.2-15.6 26.2-33.7 36.6-52.1c.9-1.7 1.9-3.4 2.8-5.1C17.2 256.1 0 217.8 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM245.2 381.5c17.2-2.4 34-6.3 50-11.8C322 405.5 370.3 432 432 432c13.1 0 25.8-1.3 37.8-3.6c10.4-2 21.2-.6 30.7 4.2c4.1 2.1 8.3 4.1 12.6 6c16 7.2 32.9 13.5 49.9 18c-2.8-4.6-5.4-9.1-7.9-13.6c-1.1-1.9-2.2-3.9-3.2-5.9c-9.8-18.3-6.8-40.8 7.5-55.8C580.6 358.9 592 332 592 304c0-59.9-56.8-120.7-144-127.4l0-.6c0-16.6-2.2-32.6-6.2-47.8C552.1 132.5 640 209.6 640 304c0 41.8-17.2 80.1-45.9 110.3c.9 1.7 1.9 3.5 2.8 5.1c10.3 18.4 22.3 36.5 36.6 52.1c6.6 7 8.3 17.2 4.6 25.9c-3.8 8.8-12.5 14.5-22 14.5c-43 0-86.5-13.3-122.7-29.7c-4.8-2.2-9.6-4.5-14.2-6.8c-15.1 3-30.9 4.5-47.1 4.5c-82 0-153-40.2-186.8-98.5zM224 83.6V97.4c7.2 1.1 14.1 2.7 20.5 4.4c8.5 2.2 13.7 11 11.4 19.5s-11 13.7-19.5 11.4c-10-2.6-19.7-4.5-28.6-4.7c-7.4-.1-15.1 1.6-20.5 4.7c-4.8 2.8-6.5 5.8-6.4 9.8c0 2.3 .6 4.4 5.7 7.4c6 3.6 14.5 6.2 25.9 9.6l.5 .2 0 0c10.1 3 22.9 6.8 33 13.1c11.2 7 21 18.2 21.2 35.5c.2 18-9.1 30.9-21.5 38.5c-6.7 4.1-14.2 6.7-21.7 8v13.7c0 8.8-7.2 16-16 16s-16-7.2-16-16V254.1c-9.7-1.9-18.8-5-26.7-7.7l0 0 0 0c-1.9-.7-3.8-1.3-5.5-1.9c-8.4-2.8-13-11.8-10.2-20.2s11.8-13 20.2-10.2c2.2 .7 4.4 1.5 6.5 2.2l0 0c12.2 4.1 21.9 7.4 32.3 7.7c8 .3 15.6-1.5 20.5-4.5c4.2-2.6 6.3-5.7 6.2-10.8c0-3.2-1.1-5.6-6.1-8.7c-5.9-3.7-14.5-6.4-25.7-9.8l-1.5-.4 0 0c-9.8-2.9-22-6.6-31.6-12.3c-11-6.6-21.2-17.4-21.3-34.7c-.1-18.1 10.2-30.5 22.3-37.6c6.5-3.8 13.7-6.2 20.8-7.6V83.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPickaxe = {\n prefix: 'far',\n iconName: 'pickaxe',\n icon: [512, 512, [], \"e5bf\", \"M460.3 112.6c47.6 66.4 63.4 152.5 42 231.5c-.3 .9-.5 1.9-.8 2.8c-1.3 4.4-2.6 8.9-4.1 13.2l-.2 .6c-1.5 4.5-3.2 8.9-5 13.3c-5.4 13.3-24.9 13-29.8-.5c-1.8-4.6-3.6-9.3-5.6-13.9c-1.6-3.7-3.2-7.4-4.9-11.1l-.8-1.7c-28.4-62.2-70.9-119.9-118.5-167.6C285.3 131.9 227.5 88.9 165.3 60.8l-1.7-.8c-3.7-1.7-7.5-3.3-11.3-4.9c-4.6-1.9-9.2-3.7-13.8-5.5c-13.4-5-13.7-24.5-.5-29.8c4.4-1.8 8.8-3.4 13.3-5l.2-.1c4.5-1.5 9-2.9 13.5-4.2c1-.3 2-.5 2.9-.8c78.9-21.3 165-5.5 231.3 42.1l9.5-9.9c6-6.2 14.2-9.7 22.8-9.8s16.9 3.3 22.9 9.4l16 16c6.1 6.1 9.5 14.3 9.4 22.9s-3.6 16.8-9.8 22.8l-9.9 9.5zm-62.2 .7C357 72.3 301 49.8 244.2 48.4c45.4 27.7 86.9 61.4 122.4 97c35.9 35.9 69.4 77.5 97 122.8c-1.3-57.2-24.1-113.6-65.5-154.8zM8.9 457.8l272-282.9c9.7 8.4 19.5 17.4 29.1 27s18.6 19.4 27 29.1L54.2 503.1c-12.6 12.1-32.5 11.9-44.8-.4S-3.1 470.4 8.9 457.8z\"]\n};\nvar faLinkSimpleSlash = {\n prefix: 'far',\n iconName: 'link-simple-slash',\n icon: [640, 512, [], \"e1ce\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L532.4 392c45.4-28.2 75.6-78.6 75.6-136c0-88.4-71.6-160-160-160H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h72c61.9 0 112 50.1 112 112c0 46.6-28.5 86.6-69.1 103.5L389.5 280H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H328.3L216 144h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-11.3 0-22.3 1.2-32.9 3.4L38.8 5.1zm69.6 176.3L70.7 151.7C46.6 179.7 32 216.1 32 256c0 88.4 71.6 160 160 160h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-61.9 0-112-50.1-112-112c0-28.6 10.7-54.8 28.4-74.6z\"]\n};\nvar faDemocrat = {\n prefix: 'far',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M102.2 4.7C99.8 11.1 96 23.1 96 32c0 12.7 5 22.8 11.1 30.5c-5.3 3.6-10.2 7.9-14.7 12.6l-70.6 76C7.8 166.2 0 186.1 0 206.6C0 251.4 36.2 288 81.2 288c13.8 0 27.4-3.5 39.4-10.2L157 257.5l35 75.7V456c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V432h96v24c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V328 216c0-1.4 0-2.8-.1-4.2c5.5 5.7 9.9 11.1 13.2 15.4c2.2 2.9 3.9 5.4 5 7c.5 .8 .9 1.4 1.1 1.8l.2 .3 0 0 0 0 0 0 0 0 0 0c6.8 11.3 21.5 15.1 32.9 8.3c11.4-6.8 15.1-21.5 8.4-32.9L616 224c20.6-12.3 20.6-12.3 20.6-12.3l0 0 0 0-.1-.1-.2-.3-.5-.8c-.4-.7-1-1.6-1.8-2.8c-1.5-2.3-3.8-5.5-6.6-9.3c-5.7-7.6-14.2-17.7-25.1-27.9c-21.5-20-55.1-42.4-98.3-42.4c-1.9 0-3.7 .2-5.5 .6c-3.5-.4-7-.6-10.5-.6H291.1c-1.8 0-3.5-.6-5-1.7L209.9 66.1c7.3-8 14.1-19.3 14.1-34.1c0-8.9-3.8-20.9-6.2-27.3C216.8 1.8 214 0 211 0c-1.9 0-3.8 .7-5.2 2.1L160 45.7 114.2 2.1C112.8 .7 110.9 0 109 0c-3 0-5.8 1.8-6.8 4.7zM240 352H528V456c0 4.4-3.6 8-8 8H488c-4.4 0-8-3.6-8-8V408c0-13.3-10.7-24-24-24H312c-13.3 0-24 10.7-24 24v48c0 4.4-3.6 8-8 8H248c-4.4 0-8-3.6-8-8V352zm288-48H231.4l-41.6-90.1c-2.8-6.1-8-10.7-14.3-12.8s-13.3-1.4-19.1 1.8l-59 32.8c-4.9 2.7-10.5 4.2-16.1 4.2C63 240 48 225.1 48 206.6c0-8.5 3.2-16.7 8.9-22.8l70.6-76c7.1-7.7 17.1-12.2 27.5-12.4c9.1-.2 17.9 2.7 25 8.3L256.4 164c9.9 7.8 22.1 12 34.7 12H488c22.1 0 40 17.9 40 40v88zM379.3 210.3c-.7-1.4-2.2-2.3-3.8-2.3s-3.1 .9-3.8 2.3l-8.4 16.4-18.8 2.6c-1.6 .2-2.9 1.3-3.4 2.8s-.1 3.1 1.1 4.2l13.6 12.8-3.2 18.1c-.3 1.5 .4 3.1 1.7 4s3.1 1 4.5 .3l16.8-8.5 16.8 8.5c1.4 .7 3.2 .6 4.5-.3s2-2.5 1.7-4l-3.2-18.1 13.6-12.8c1.2-1.1 1.6-2.7 1.1-4.2s-1.8-2.6-3.4-2.8l-18.8-2.6-8.4-16.4zM279.5 208c-1.6 0-3.1 .9-3.8 2.3l-8.4 16.4-18.8 2.6c-1.6 .2-2.9 1.3-3.4 2.8s-.1 3.1 1.1 4.2l13.6 12.8-3.2 18.1c-.3 1.5 .4 3.1 1.7 4s3.1 1 4.5 .3l16.8-8.5 16.8 8.5c1.4 .7 3.2 .6 4.5-.3s2-2.5 1.7-4l-3.2-18.1 13.6-12.8c1.2-1.1 1.6-2.7 1.1-4.2s-1.8-2.6-3.4-2.8l-18.8-2.6-8.4-16.4c-.7-1.4-2.2-2.3-3.8-2.3zm195.8 2.3c-.7-1.4-2.2-2.3-3.8-2.3s-3.1 .9-3.8 2.3l-8.4 16.4-18.8 2.6c-1.6 .2-2.9 1.3-3.4 2.8s-.1 3.1 1.1 4.2l13.6 12.8-3.2 18.1c-.3 1.5 .4 3.1 1.7 4s3.1 1 4.5 .3l16.8-8.5 16.8 8.5c1.4 .7 3.2 .6 4.5-.3s2-2.5 1.7-4l-3.2-18.1 13.6-12.8c1.2-1.1 1.6-2.7 1.1-4.2s-1.8-2.6-3.4-2.8l-18.8-2.6-8.4-16.4z\"]\n};\nvar faFaceConfused = {\n prefix: 'far',\n iconName: 'face-confused',\n icon: [512, 512, [], \"e36d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM203.2 385.6l-12.8 9.6c-10.6 8-25.6 5.8-33.6-4.8s-5.8-25.6 4.8-33.6l12.8-9.6c37.4-28 82.9-43.2 129.6-43.2h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H304c-36.4 0-71.7 11.8-100.8 33.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPinball = {\n prefix: 'far',\n iconName: 'pinball',\n icon: [448, 512, [], \"e229\", \"M352 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM312 408L126.8 251.2c-20.3-17-50.5-14.3-67.6 6s-14.4 50.6 6 67.7c4.5 3.8 9.8 6.8 15.9 8.8l.1 0L312 408zM66.3 379.3c-12.1-3.9-22.8-10-32-17.7c-40.6-34.1-46-94.7-11.9-135.3s94.6-45.9 135.2-11.8l246 208.3c12.6 9.8 15.8 27.1 8.4 40.6c-7.2 13.2-23.1 19.9-37.9 15L66.3 379.3zM96 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faZ = {\n prefix: 'far',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 56C0 42.7 10.7 32 24 32H360c9.3 0 17.8 5.4 21.8 13.9s2.6 18.4-3.4 25.6L75.5 432H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.4 3.4-25.6L308.5 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar faPersonSkiing = {\n prefix: 'far',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L239.8 365l49.6-74.5-82.7-87.9c-9.5-10.1-14.4-22.4-15.1-34.9l87.7 42 49.4 52.5c12.8 13.6 14.5 34.1 4.2 49.6l-50.2 75.4 135.8 70.5c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 55.5 26.6c1.7-.9 3.5-1.7 5.4-2.5l80.9-32.4c32.4-13 68.6 6.5 75.6 40.7l12.3 59.7 62.9 30.1c12 5.7 17 20 11.3 32s-20 17-32 11.3l-54.2-25.9c-1-.3-1.9-.6-2.8-1l-229.1-110-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5zm217.3 64.7c-1-4.9-6.2-7.7-10.8-5.8l-45.7 18.3 65.5 31.5-9-43.9z\"]\n};\nvar faSkiing = faPersonSkiing;\nvar faDeer = {\n prefix: 'far',\n iconName: 'deer',\n icon: [512, 512, [129420], \"f78e\", \"M256 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 30.9 25.1 56 56 56h8 8 24l-50.4 12.6c-8 2-13.6 9.2-13.6 17.4c0 9.9 8 18 18 18h28.2L295 168H104c-36.5 0-68.3 20.4-84.5 50.4c-9.2 13.7-15.1 30-16.2 47.6L0 319c-.6 8.8 6.2 16.4 15 17c8.5 .5 15.9-5.7 16.9-14.1l1.1 1.1c4.5 4.5 7 10.6 7 17v4.3c0 2.6-.4 5.1-1.2 7.6l-8.2 24.7c-5.1 15.4-4.9 32.1 .6 47.4l22.5 61.8C59.4 501.5 74.4 512 91.2 512h46c27.8 0 47.1-27.6 37.6-53.7L157 409.5l6.5-4.3c15.2-10.1 25.6-25.4 29.9-42.4c20 8.7 41.7 13.3 63.8 13.3H264v96c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V311.8c0-2.6 .4-5.1 1.2-7.6L409.3 256h42.3c37.8 0 68.4-30.6 68.4-68.4c0-19.3-8.1-37.6-22.4-50.6L444.1 88.4C460.8 78.7 472 60.7 472 40V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24H386.1 346.6c3.5-7.3 5.4-15.4 5.4-24V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24h-8-8c-13.3 0-24-10.7-24-24V16zm130.1 96c8.1 0 15.9 3 21.9 8.5l57.3 52.1c4.2 3.9 6.7 9.3 6.7 15.1c0 11.3-9.1 20.4-20.4 20.4H392c-10.3 0-19.5 6.6-22.8 16.4L347.7 289c-2.4 7.3-3.7 15-3.7 22.8V464H312V352c0-13.3-10.7-24-24-24H257.2c-22.1 0-43.7-6.5-62.1-18.8L181.3 300c-8-5.3-18.3-5.4-26.3-.2s-12.2 14.7-10.6 24.1l2.9 17.4c1.6 9.3-2.5 18.7-10.4 23.9L114.7 380c-9.2 6.1-13 17.8-9.2 28.2L125.7 464H96.8L76.3 407.5c-1.9-5.1-1.9-10.7-.2-15.8L84.3 367c2.4-7.3 3.7-15 3.7-22.8v-4.3c0-19.1-7.6-37.4-21.1-50.9L63 285.1c-4.5-4.5-7-10.6-7-17V264c0-26.5 21.5-48 48-48H312.9c10.6 0 20-7 23-17.1l19-63.6c4.1-13.8 16.8-23.2 31.2-23.2zM416 160a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faInputPipe = {\n prefix: 'far',\n iconName: 'input-pipe',\n icon: [640, 512, [], \"e1be\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm144 56V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faRoadLock = {\n prefix: 'far',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H384V432H344V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l28.3 78.5c13.8-7.8 29.4-12.7 46-14L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM344 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216zm184 24c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faA = {\n prefix: 'far',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M214.1 46.7C210.4 37.8 201.7 32 192 32s-18.4 5.8-22.1 14.7l-168 400c-5.1 12.2 .6 26.3 12.8 31.4s26.3-.6 31.4-12.8L80.3 384H303.7l34.1 81.3c5.1 12.2 19.2 18 31.4 12.8s18-19.2 12.8-31.4l-168-400zM283.6 336H100.4L192 118l91.6 218z\"]\n};\nvar faBookmarkSlash = {\n prefix: 'far',\n iconName: 'bookmark-slash',\n icon: [640, 512, [], \"e0c2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48V75L38.8 5.1zM176 112.6V48H464V338.4L176 112.6zM509.9 497.8L315.3 344.5c-3.3 .6-6.5 2-9.3 4L176 441.4V234.7l-48-37.8V488c0 9 5 17.2 13 21.3s17.6 3.4 24.9-1.8L320 397.5l154.1 110c7.3 5.2 16.9 5.9 24.9 1.8c4.9-2.5 8.8-6.7 10.9-11.6z\"]\n};\nvar faTemperatureArrowDown = {\n prefix: 'far',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M176 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C87.1 326.5 80 346.4 80 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM64 112C64 50.1 114.1 0 176 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S32 447.5 32 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM224 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3zM448 480c-6.8 0-13.3-2.9-17.8-7.9l-72-80c-8.9-9.9-8.1-25 1.8-33.9s25-8.1 33.9 1.8L424 393.5 424 56c0-13.3 10.7-24 24-24s24 10.7 24 24l0 337.5 30.2-33.5c8.9-9.9 24-10.7 33.9-1.8s10.7 24 1.8 33.9l-72 80c-4.6 5.1-11 7.9-17.8 7.9z\"]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faMace = {\n prefix: 'far',\n iconName: 'mace',\n icon: [512, 512, [], \"f6f8\", \"M244.8 95l28-84.1C275 4.4 281.1 0 288 0s13 4.4 15.2 10.9l28 84.1c40.4 13.5 72.3 45.4 85.8 85.8l84.1 28c6.5 2.2 10.9 8.3 10.9 15.2s-4.4 13-10.9 15.2l-84.1 28c-13.5 40.4-45.4 72.3-85.8 85.8l-28 84.1C301 443.6 294.9 448 288 448s-13-4.4-15.2-10.9l-28-84.1c-12.4-4.1-24-10-34.5-17.4L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L176.4 301.7c-7.3-10.5-13.2-22.1-17.4-34.5l-84.1-28C68.4 237 64 230.9 64 224s4.4-13 10.9-15.2l84.1-28c13.5-40.4 45.4-72.3 85.8-85.8zM288 312a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm-32-88a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faFeatherPointed = {\n prefix: 'far',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M117.7 343.9c-11.2-41.4-11.7-113 53.7-178.3c38.1-38.1 93.7-66.3 152.8-85.7c50.6-16.7 100.7-26 138.3-30.3c-4.3 37.6-13.6 87.7-30.3 138.3c-2.2 6.8-4.6 13.5-7 20.1H337.9l7.9-7.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L122.8 355.2c-2.6-4.1-4.2-7.9-5.1-11.3zm4.6 79.7c10 7.6 21 13.7 33.3 17c54.1 14.6 144.7 14 224.8-66.1C471.5 283.5 505 120.5 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c3.3 12.2 9.4 23.2 17 33.3L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l81.3-81.3zm34.5-34.5L193.9 352H334.3c-61.9 53.9-127.3 52.9-166.2 42.3c-3.5-.9-7.2-2.6-11.3-5.2zm220-85.2H241.9l48-48H404.6c-8.4 17-17.7 33.2-27.9 48z\"]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faSausage = {\n prefix: 'far',\n iconName: 'sausage',\n icon: [512, 512, [], \"f820\", \"M447.5 69.3l15.2-41.9c.8-2.2 1.2-4.6 1.2-7C464 9.1 454.9 0 443.6 0H388.4C377.1 0 368 9.1 368 20.4c0 2.4 .4 4.7 1.2 7l15.2 41.9C346.9 82.3 320 118 320 160c0 88.4-71.6 160-160 160c-42 0-77.7 26.9-90.7 64.5L27.4 369.2c-2.2-.8-4.6-1.2-7-1.2C9.1 368 0 377.1 0 388.4v55.2C0 454.9 9.1 464 20.4 464c2.4 0 4.7-.4 7-1.2l41.9-15.2C82.3 485.1 118 512 160 512c194.4 0 352-157.6 352-352c0-42-26.9-77.7-64.5-90.7zM112 416c0-26.5 21.5-48 48-48c114.9 0 208-93.1 208-208c0-26.5 21.5-48 48-48s48 21.5 48 48c0 167.9-136.1 304-304 304c-26.5 0-48-21.5-48-48z\"]\n};\nvar faTrashCanClock = {\n prefix: 'far',\n iconName: 'trash-can-clock',\n icon: [576, 512, [], \"e2aa\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v64.7c-16.8 1.5-32.9 5.4-48 11.3V128H80V432c0 17.7 14.3 32 32 32H284.5c12.3 18.8 28 35.1 46.3 48H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM320 192v40.2c-12.1 10-22.9 21.7-32 34.6V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm-160 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm48 176a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faP = {\n prefix: 'far',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M56 80H168c57.4 0 104 46.6 104 104s-46.6 104-104 104H48V88c0-4.4 3.6-8 8-8zM48 336H168c83.9 0 152-68.1 152-152s-68.1-152-152-152H56C25.1 32 0 57.1 0 88V312 456c0 13.3 10.7 24 24 24s24-10.7 24-24V336z\"]\n};\nvar faBroomWide = {\n prefix: 'far',\n iconName: 'broom-wide',\n icon: [512, 512, [], \"e5d1\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L335 143l-12.9-12.9c-20.2-20.2-51.4-24.6-76.3-10.7L16.4 246.9C6.3 252.5 0 263.2 0 274.8c0 8.5 3.4 16.6 9.3 22.6L214.7 502.7c6 6 14.1 9.3 22.6 9.3c11.6 0 22.3-6.3 27.9-16.4L392.6 266.2c13.9-25 9.5-56.1-10.7-76.3L369 177 505 41zM323.6 291.6l-90 162.1L137 357.1l18-53.9c2.1-6.3-3.9-12.2-10.1-10.1L90.9 311 58.4 278.5l162.1-90L323.6 291.6z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L373 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L397 328.2l37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L248 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4L75 369.8 37.9 391.2c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2L31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4L51 183.8 13.9 162.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L200 214.4V137.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faStomach = {\n prefix: 'far',\n iconName: 'stomach',\n icon: [512, 512, [], \"f623\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V96c0 66.3 53.7 120 120 120h.2c-.2 2.6-.2 5.3-.2 8v64c0 39.8-32.2 72-72 72H120C53.7 360 0 413.7 0 480v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-35.3 28.7-64 64-64c9.6 0 19 3.5 30.6 11.1c8.8 5.7 17.1 12.6 26.9 20.7c4.2 3.4 8.6 7.1 13.5 11C214.6 484 255.9 512 320 512c106 0 192-86 192-192V224c0-70.7-57.3-128-128-128c-50.6 0-94.4 29.4-115.1 72H256c-39.8 0-72-32.2-72-72V24zm18 388.3c-2-1.6-4-3.3-6-4.9c46.2-4.6 84.6-35.4 100.4-77.3c12.2-6.9 22.6-8 32.7-6.6c12.4 1.7 24.9 7.1 41.1 14.4l1.2 .6c14.8 6.6 33.1 14.8 53 17.6c11.5 1.6 23.3 1.3 35.4-1.5C444.4 417.4 387.6 464 320 464c-47.9 0-78.6-20-107-42.7c-3.5-2.8-7.2-5.8-10.9-8.9l0 0 0 0 0 0zM464 301.6c-12.4 7.1-22.9 8.2-33.1 6.8c-12.4-1.7-24.9-7.1-41.1-14.4l-1.2-.6c-14.8-6.6-33.1-14.8-53-17.6c-10.3-1.4-20.8-1.4-31.6 .7V224c0-44.2 35.8-80 80-80s80 35.8 80 80v77.6z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M168 80c-13.3 0-24 10.7-24 24V408c0 8.4-1.4 16.5-4.1 24H440c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H168zM72 480c-39.8 0-72-32.2-72-72V112C0 98.7 10.7 88 24 88s24 10.7 24 24V408c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-39.8 32.2-72 72-72H440c39.8 0 72 32.2 72 72V408c0 39.8-32.2 72-72 72H72zM176 136c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V136zm200-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM200 272H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faRectangleAd = {\n prefix: 'far',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm229.5 77.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]\n};\nvar faAd = faRectangleAd;\nvar faGuitarElectric = {\n prefix: 'far',\n iconName: 'guitar-electric',\n icon: [512, 512, [127928], \"f8be\", \"M352 126.1V81.1c0-10.7 5.3-20.7 14.2-26.6L435.6 8.3C443.7 2.9 453.2 0 462.9 0H464c26.5 0 48 21.5 48 48s-21.5 48-48 48H449.9L314.4 231.6c9.1 8.1 13.8 8.4 14.9 8.4c2.6 .1 4.3-.6 10.9-3.5l3.7-1.6c13.2-5.6 36-8.3 52.3 8.2c15.8 15.9 15.8 41.7 0 57.6l-21.6 21.8c-12.2 12.3-28.2 18.8-38.7 23l-2.1 .8c-5.5 2.2-12.7 6.3-20.3 14c-17.3 17.5-23.7 39.4-30.6 63.5c-.9 3-1.7 6-2.6 9.1c-5.2 17.5-14.1 35-28.1 49.2c-39.4 39.9-103.5 39.9-142.9 0L29.5 401.3c-39.3-39.7-39.3-104 0-143.7c14.1-14.2 31.4-23.3 48.8-28.5c2.9-.9 5.7-1.7 8.6-2.6l0 0c23.9-7.1 45.6-13.5 63-31.1c6.3-6.3 10.1-12.4 12.5-17.5c.8-1.8 1.8-3.8 2.8-6c5.4-11.9 13.1-29.1 25.6-41.7l29.9-30.2c15.9-16.1 41.8-16.1 57.7 0c16.1 16.3 14.2 39.7 5.2 54.6c-1.1 1.8-2.1 3.4-3 4.9l0 0c-4.9 8-7.8 12.7-8.8 18.2c-.6 3.2-1 9.2 8.7 19.8L352 126.1zM167 263c9.4-9.4 24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9zm-64 64c9.4-9.4 24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9zM242.4 129.8l0 0 0 0 0-.1zm-18 39.8c.4-2.3 .9-4.5 1.5-6.7l-1.2 1.2c-5.9 5.9-9.4 13.5-14.7 25.1l0 0c-1.3 2.9-2.8 6-4.4 9.4c-4.6 9.6-11.5 20.2-21.7 30.6c-26.7 27-60.7 36.8-83.8 43.5l0 0c-2.8 .8-5.5 1.6-7.9 2.3c-11.5 3.5-21.3 9-28.6 16.4c-20.8 21-20.8 55.2 0 76.2l79.9 80.8c20.6 20.9 54 20.9 74.6 0c7.3-7.4 12.8-17.4 16.3-29.1c.8-2.6 1.5-5.3 2.4-8.2c6.6-23.3 16.2-57.6 42.8-84.4c12.5-12.6 25.3-20.2 36.2-24.7c12.9-5.2 20-8.4 24.7-13.2l2.3-2.4c-4.6 1.1-9.7 1.7-15 1.6c-18-.5-35-9.6-52.1-26.9l0 0L248 233.2l-.1-.1c-20.4-20.6-27.2-42.3-23.5-63.5z\"]\n};\nvar faArrowTurnDownRight = {\n prefix: 'far',\n iconName: 'arrow-turn-down-right',\n icon: [512, 512, [], \"e3d6\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V224c0 48.6 39.4 88 88 88H430.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 305c9.4-9.4 9.4-24.6 0-33.9L377 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87H88c-22.1 0-40-17.9-40-40V56z\"]\n};\nvar faMoonCloud = {\n prefix: 'far',\n iconName: 'moon-cloud',\n icon: [640, 512, [], \"f754\", \"M635.2 416.6c-2.6 2.5-5.2 5-7.9 7.3c-4.5 4-9.1 7.8-13.9 11.4c-1.8 1.4-3.7 2.7-5.5 4C571.5 465 527.2 480 479.5 480c-60.9 0-116.1-24.4-156.4-64c11.6-12 20.3-26.9 25-43.4C380.2 409 427.2 432 479.5 432c13.3 0 26.2-1.5 38.6-4.3C430.5 397.4 367.6 314 367.6 216c0-43 12.1-83.2 33.1-117.3C343.4 127.6 304 187.1 304 256l0 .3c-13.9-8.9-30.1-14.6-47.5-16c7.6-110.9 95.8-199.6 206.3-207.7c2.3-.2 4.6-.3 6.9-.4c3.2-.1 6.5-.2 9.8-.2c2.7 0 5.5 0 8.2 .1c3.6 .1 7.2 .3 10.7 .6c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-3.2 1.8-6.4 3.8-9.6 5.8c-4.3 2.8-8.5 5.8-12.5 9c-1.1 .8-2.1 1.7-3.2 2.6c-39.2 32.3-64.1 81.2-64.1 136c0 97.1 78.5 175.8 175.2 176l.3 0c1.2 0 2.5 0 3.7 0c5.2-.1 10.3-.4 15.3-1c3.7-.4 7.4-.9 11.1-1.6c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7zM64 416c-35.3 0-64-28.7-64-64s28.7-64 64-64c.5 0 1.1 0 1.6 0c7.4-36.5 39.7-64 78.4-64c35 0 64.8 22.5 75.6 53.8c8.7-3.7 18.3-5.8 28.4-5.8c39.8 0 72 32.2 72 72s-32.2 72-72 72H64z\"]\n};\nvar faBreadSliceButter = {\n prefix: 'far',\n iconName: 'bread-slice-butter',\n icon: [512, 512, [], \"e3e1\", \"M112 256V432H400V256c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16c0-34.5-24.6-62.3-74.9-83.9C340.2 87.2 282.8 80 256 80s-84.2 7.2-133.1 28.1C72.6 129.7 48 157.5 48 192c0 8.8 7.2 16 16 16c26.5 0 48 21.5 48 48zm336 0v48V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V304 256c-35.3 0-64-28.7-64-64C0 64 192 32 256 32s256 32 256 160c0 35.3-28.7 64-64 64zm-265.4 9.4l50.7-50.7c12.5-12.5 32.8-12.5 45.3 0l50.7 50.7c12.5 12.5 12.5 32.8 0 45.3l-50.7 50.7c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faCircleArrowRight = {\n prefix: 'far',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM289 361l88-88c9.4-9.4 9.4-24.6 0-33.9l-88-88c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47L152 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l150.1 0-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faUserGroupCrown = {\n prefix: 'far',\n iconName: 'user-group-crown',\n icon: [640, 512, [\"users-crown\"], \"f6a5\", \"M144 144c0 44.2 35.8 80 80 80s80-35.8 80-80V128H144v16zm-.1-124.9l.1 .1c10.2 7.5 23.8 8.3 34.9 2L209.1 4c4.6-2.6 9.7-4 14.9-4s10.4 1.4 14.9 4l30.2 17.2c11 6.3 24.7 5.5 34.9-2l.1-.1c.3-.2 .6-.4 .8-.6l3-2.4L323.6 3.5c2.8-2.3 6.4-3.5 10-3.5H336c8.8 0 16 7.2 16 16V39v3.2 .1V144c0 70.7-57.3 128-128 128s-128-57.3-128-128V42.3v-.1V39 16c0-8.8 7.2-16 16-16h2.4c3.6 0 7.2 1.2 10 3.5L140 16l3 2.4c.3 .2 .6 .4 .8 .6zM48.3 464H399.7c-4.1-62.5-56.2-112-119.7-112H168c-63.6 0-115.6 49.5-119.7 112zM0 472c0-92.8 75.2-168 168-168H280c92.8 0 168 75.2 168 168v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8zM432 256c-27.7 0-53-10.1-72.6-26.7c.5-.8 1-1.5 1.4-2.3c12.1-19.9 20-42.6 22.4-67c.5-5.3 .8-10.6 .8-16V42.8C398.5 35.9 414.8 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7z\"]\n};\nvar faUsersCrown = faUserGroupCrown;\nvar faCircleI = {\n prefix: 'far',\n iconName: 'circle-i',\n icon: [512, 512, [], \"e111\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V336H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V176h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 184z\"]\n};\nvar faToiletPaperCheck = {\n prefix: 'far',\n iconName: 'toilet-paper-check',\n icon: [640, 512, [], \"e5b2\", \"M16.8 487.4c-1.9-8-.7-16.5 3.6-23.7l0-.1c3.8-7 7.3-14.2 10.5-21.6C63.6 366.5 64 269.6 64 192C64 86 107 0 160 0H492.1l0 .1c1.3-.1 2.5-.1 3.8-.1c24.5 0 44.1 11.4 58 24.5c13.6 13 23.7 29.4 31.1 46.1C600 104.2 608 147.1 608 192s-8 87.8-22.9 121.3c-7.4 16.7-17.5 33.2-31.1 46.1c-13.9 13.2-33.5 24.5-58 24.5c-17.8 0-33-6-45.3-14.3c3-18.3 5.8-38.5 7.9-60.8C469.1 326 482 336 496 336c35.3 0 64-64.5 64-144s-28.7-144-64-144c-1.6 0-3.1 .1-4.6 .4C458.2 53.7 432 116 432 192c0 58.9-3.8 108.1-9.3 148.6l-.1 .8c-9.4 68.1-23.7 111.3-33.3 134.5c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2c-1.5-2.7-2.6-5.5-3.3-8.4zM160 48c-.1 0-.1 0-.3 0s-.4 .1-.9 .3c-.9 .4-2.7 1.3-5.2 3.4c-5.2 4.4-11.9 12.6-18.6 26C121.7 104.5 112 144.8 112 192c0 42.3-.1 93.4-5.9 144.1C101.2 378.5 92 423.1 73.8 464H333.9c2.7 0 5.3-.8 7.3-2c1.7-1 3-2.4 3.8-4.5C357.7 427 384 345.2 384 192c0-44.9 8-87.8 22.9-121.3C410.3 63 414.3 55.3 419 48H160zM520 192c0 26.5-10.7 48-24 48s-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48zm-204.7-4.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L232 225.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFilterCircleXmark = {\n prefix: 'far',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M0 41.7C0 18.7 18.7 0 41.7 0H469.9C493.2 0 512 18.8 512 42.1c0 8.9-2.8 17.6-8.1 24.8L411.6 193.2c-30.9 3.6-59.3 15.1-83.2 32.5L458.3 48H55L218.6 248.8c3.5 4.3 5.4 9.6 5.4 15.2v68.4L256.3 358c-.2 3.3-.3 6.6-.3 10c0 20.8 3.6 40.7 10.2 59.2l-75.1-59.6c-9.6-7.6-15.1-19.1-15.1-31.3V272.5L9.4 68C3.3 60.6 0 51.3 0 41.7zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faLocust = {\n prefix: 'far',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M304 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h24c94.6 0 173.9 65.7 194.7 154c-12.9-6.4-27.4-10-42.7-10H434.6l-45.5-83.5c-3.9-7.2-11.3-11.9-19.4-12.5s-16.1 3.1-20.9 9.7l-35 47.5-29.4-46.2c-4.2-6.6-11.3-10.7-19-11.1s-15.2 3-20.1 9.1L176.6 224H102.1C63.4 224 32 255.4 32 294.1c0 26.9 15.4 51.3 39.4 63.1L5.2 441.1c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l73.5-93.1 41.5 19-33.2 45c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1l42.5-57.6c11.8 2.3 23.9 3.4 36 3.4h33.4l-16.1 28.1c-6.6 11.5-2.6 26.2 8.9 32.7s26.2 2.6 32.7-8.9L330.5 416H441.2l25.4 50.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-15.2-30.3c46.2-6.9 81.6-46.7 81.7-94.7l0-.2V280C576 143 465 32 328 32H304zm61 164.6l15 27.4H344.8L365 196.6zm-103.1-3.2L281.4 224H237.7l24.2-30.6zM102.1 272h36.5L102 318.4l-9.1-4.2C85.1 310.7 80 302.8 80 294.1c0-12.2 9.9-22.1 22.1-22.1zm97.7 0H480c26.5 0 48 21.5 48 48s-21.5 48-48 48H456.5c-.2 0-.3 0-.5 0s-.3 0-.5 0H241.8c-20.7 0-41.1-4.4-59.9-13l-35-16 52.9-67zM472 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSort = {\n prefix: 'far',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M70.6 176H249.4L160 86.6 70.6 176zm112-134.6l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128c12.5-12.5 32.8-12.5 45.3 0zM70.6 336L160 425.4 249.4 336H70.6zm112 134.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'far',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM216 72H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 160H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 160H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faChartWaterfall = {\n prefix: 'far',\n iconName: 'chart-waterfall',\n icon: [512, 512, [], \"e0eb\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM168 224c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm120-72v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm72-88c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM480 88V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSparkle = {\n prefix: 'far',\n iconName: 'sparkle',\n icon: [448, 512, [], \"e5d6\", \"M224 32c9.4 0 17.9 5.4 21.8 13.9l59.5 128.8 128.8 59.5c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8L305.3 337.3 245.8 466.1c-3.9 8.5-12.4 13.9-21.8 13.9s-17.9-5.4-21.8-13.9L142.7 337.3 13.9 277.8C5.4 273.9 0 265.4 0 256s5.4-17.9 13.9-21.8l128.8-59.5L202.2 45.9C206.1 37.4 214.6 32 224 32zm0 81.2l-41.4 89.6c-2.4 5.2-6.5 9.3-11.7 11.7L81.2 256l89.6 41.4c5.2 2.4 9.3 6.5 11.7 11.7L224 398.8l41.4-89.6c2.4-5.2 6.5-9.3 11.7-11.7L366.8 256l-89.6-41.4c-5.2-2.4-9.3-6.5-11.7-11.7L224 113.2z\"]\n};\nvar faFaceParty = {\n prefix: 'far',\n iconName: 'face-party',\n icon: [640, 512, [], \"e383\", \"M320 464c59 0 112.2-24.6 150.1-64h61.6C485.6 467.6 408 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0C433.4 0 529.7 73.8 563.3 176H560c-15.9 0-30.7 4.6-43.2 12.6C488.9 106.8 411.3 48 320 48c-114.9 0-208 93.1-208 208s93.1 208 208 208zM204.8 233.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zm160 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zM416 316c0 6.9-3.1 13.2-7.3 18.3c-.5 .6-1 1.1-1.5 1.7H592c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H407.2c.5 .6 1 1.1 1.5 1.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C378.7 427.1 361.4 432 344 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM51.3 152.2l-20-52C46.6 71.8 66 46 88.8 23.4L132 37.8C96.5 68.5 68.5 107.7 51.3 152.2zM55.1 12.2C40.9 27.6 28 44.4 16.6 62.1L1.1 21.7C-1.2 16 .2 9.4 4.4 4.9S15.2-1.1 21.1 .8L55.1 12.2z\"]\n};\nvar faKidneys = {\n prefix: 'far',\n iconName: 'kidneys',\n icon: [640, 512, [], \"f5fb\", \"M182 257.1l0 0 0 0c.2 1.8 .4 3.4 .5 4.9c4 39.7-27.2 74-66.8 74c-27.2 0-40.8-10.9-50.4-27.7C53.7 288 48 257.7 48 224c0-36.3 11.4-83.8 33.4-120.8c22-37 48.8-55.2 78.3-55.2c35.5 0 64.3 20.2 70.4 41.3L115.7 336 230.1 89.3c5.2 18.2 .1 35-22.1 60.1c-33.6 37.9-28.6 83.7-26 107.6zM276.2 76.2C262.2 26.9 207.7 0 159.7 0C53.7 0 0 135.2 0 224c0 74.9 24.3 160 115.7 160c68.1 0 121.3-58.9 114.6-126.8l-.3-2.8c-.2-1.6-.3-3.2-.5-4.8l22.1 11c2.7 1.4 4.4 4.1 4.4 7.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V267.8c0-21.2-12-40.6-31-50.1l-38.3-19.2c-.5-.2-.9-.4-1.4-.6c2.4-5.7 5.8-11.3 10.5-16.6c26.6-30 44.2-63.6 32.4-105.1zM406.6 197.9c-.5 .2-.9 .4-1.4 .6L367 217.7c-19 9.5-31 28.9-31 50.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V267.8c0-3 1.7-5.8 4.4-7.2l22.1-11c-.2 1.6-.3 3.2-.5 4.8l-.3 2.8C403 325.1 456.2 384 524.3 384C615.7 384 640 298.9 640 224C640 135.2 586.3 0 480.3 0c-48 0-102.5 26.9-116.5 76.2c-11.8 41.5 5.8 75.2 32.4 105.1c4.7 5.3 8.1 10.9 10.5 16.6zM432 149.5c-22.3-25.1-27.3-41.9-22.1-60.1L524.3 336 409.9 89.3C416 68.2 444.8 48 480.3 48c29.5 0 56.4 18.2 78.3 55.2c22 37 33.4 84.5 33.4 120.8c0 33.7-5.7 64-17.3 84.3c-9.6 16.8-23.3 27.7-50.4 27.7c-39.6 0-70.8-34.3-66.8-74c.2-1.5 .3-3.1 .5-4.9l0 0c2.6-23.9 7.6-69.7-26-107.6z\"]\n};\nvar faWifiExclamation = {\n prefix: 'far',\n iconName: 'wifi-exclamation',\n icon: [640, 512, [], \"e2cf\", \"M344 56V312c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24zM8.2 149.6C79.1 87.2 169 45.7 268.1 34.8C265.5 41.4 264 48.5 264 56V83.7c-85.3 11.2-162.6 47.8-224.1 102c-9.9 8.8-25.1 7.8-33.9-2.2s-7.8-25.1 2.2-33.9zM119.9 285.9c39.6-36.3 89.1-62 144.1-72.6v49.1c-42.4 9.8-80.6 30.4-111.6 58.9c-9.8 9-24.9 8.3-33.9-1.5s-8.3-24.9 1.5-33.9zM376 213.3c54.9 10.5 104.5 36.2 144.1 72.6c9.8 9 10.4 24.1 1.5 33.9s-24.1 10.4-33.9 1.5c-31-28.4-69.2-49.1-111.6-58.9V213.3zM376 424a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zm0-368c0-7.5-1.5-14.6-4.1-21.2c99.1 10.8 189 52.4 259.9 114.8c9.9 8.8 10.9 23.9 2.2 33.9s-23.9 10.9-33.9 2.2C538.6 131.5 461.3 94.9 376 83.7V56z\"]\n};\nvar faChartNetwork = {\n prefix: 'far',\n iconName: 'chart-network',\n icon: [640, 512, [], \"f78a\", \"M288 64c0 16.9-6.5 32.2-17.2 43.6l26.9 57.5c12.2-3.4 25-5.2 38.3-5.2c39 0 74.4 15.5 100.3 40.7l77.6-56.9c-1.3-5-1.9-10.3-1.9-15.7c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-12.3 0-23.9-3.5-33.7-9.6l-77.6 56.9c9.8 19.4 15.3 41.4 15.3 64.6c0 18.5-3.5 36.2-9.9 52.5l67.3 40.4c10.7-8.1 24.1-12.9 38.5-12.9c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-3.4 .3-6.7 .8-9.9l-67.4-40.4C419 428.5 379.8 448 336 448c-71.4 0-130.6-51.9-142-120H123.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40H194c6.6-39.1 28.9-72.9 60.2-94.5l-26.9-57.6c-1.1 .1-2.2 .1-3.3 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm48 336a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faPersonDressBurst = {\n prefix: 'far',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M480 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM587.1 299.8l-47.9-84.6 46.3 148c3.2 10.3-4.5 20.8-15.3 20.8H544V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H464V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H389.8c-10.8 0-18.5-10.5-15.3-20.8l46.3-148-47.9 84.6c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5c19.8-35 56.9-56.6 97.1-56.6s77.3 21.6 97.1 56.6l51.8 91.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1zM526.7 336L480 186.5 433.3 336h93.4zM176 8c8.9 0 17 4.9 21.2 12.7l30.1 56.7 63.1-11.8c8.7-1.6 17.6 1.7 23.2 8.6s6.8 16.4 3.3 24.5l-25.6 58.9L332.2 193l-31.7 56.1-32 8.6-2.5 64.2c-.3 8.9-5.6 16.8-13.6 20.7s-17.5 3-24.6-2.3l-51.7-38-51.7 38c-7.2 5.3-16.6 6.1-24.6 2.3s-13.2-11.8-13.6-20.7l-2.5-64.2L21.6 241c-8.6-2.3-15.2-9.2-17.1-17.8s1-17.7 7.7-23.5l48.6-42L35.1 98.8c-3.5-8.1-2.3-17.6 3.3-24.5s14.5-10.3 23.2-8.6l63.1 11.8 30.1-56.7C159 12.9 167.1 8 176 8zm0 75.2l-17.2 32.4c-4.9 9.3-15.3 14.3-25.6 12.3l-36-6.7 14.6 33.6c4.2 9.6 1.6 20.9-6.3 27.7l-27.7 24 35.4 9.6c10.1 2.7 17.3 11.7 17.7 22.2l1.4 36.6 29.5-21.7c8.5-6.2 20-6.2 28.4 0l29.5 21.7 1.4-36.6c.4-10.5 7.6-19.5 17.7-22.2l35.4-9.6-27.7-24c-7.9-6.9-10.5-18.1-6.3-27.7l14.6-33.6-36 6.7c-10.3 1.9-20.7-3.1-25.6-12.3L176 83.2z\"]\n};\nvar faDiceD4 = {\n prefix: 'far',\n iconName: 'dice-d4',\n icon: [512, 512, [], \"f6d0\", \"M256 0c7.3 0 14.1 3.3 18.7 8.9l232 288c4.1 5.1 5.9 11.5 5.1 18s-4.1 12.3-9.3 16.2l-232 176c-8.6 6.5-20.4 6.5-29 0l-232-176c-5.2-3.9-8.5-9.8-9.3-16.2s1.1-12.9 5.1-18l232-288C241.9 3.3 248.7 0 256 0zM58.2 307.8L232 439.7V92.1L58.2 307.8zM280 92.1V439.7L453.8 307.8 280 92.1z\"]\n};\nvar faMoneyCheckDollar = {\n prefix: 'far',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM280 272H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-24-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24zm-76-48v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'far',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M360 72h48v48H360V72zm-8-40c-17.7 0-32 14.3-32 32v8H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32h8l0 192H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32v-8H320v8c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32h-8V160h8c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM88 352l0-192h8c17.7 0 32-14.3 32-32v-8H320v8c0 17.7 14.3 32 32 32h8V352h-8c-17.7 0-32 14.3-32 32v8H128v-8c0-17.7-14.3-32-32-32H88zM40 440V392H88v48H40zm320 0V392h48v48H360zM40 120V72H88v48H40z\"]\n};\nvar faBreadSlice = {\n prefix: 'far',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M64 208c-8.8 0-16-7.2-16-16c0-34.5 24.6-62.3 74.9-83.9C171.8 87.2 229.2 80 256 80s84.2 7.2 133.1 28.1C439.4 129.7 464 157.5 464 192c0 8.8-7.2 16-16 16c-26.5 0-48 21.5-48 48V432H112V256c0-26.5-21.5-48-48-48zm384 96V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32S0 64 0 192c0 35.3 28.7 64 64 64v48V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V304z\"]\n};\nvar faLanguage = {\n prefix: 'far',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H272h32 16H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H320 304 272 64zm512 48c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H320V112H576zM178.3 175.9l64 144c4.5 10.1-.1 21.9-10.2 26.4s-21.9-.1-26.4-10.2L196.8 316H123.2l-8.9 20.1c-4.5 10.1-16.3 14.6-26.4 10.2s-14.6-16.3-10.2-26.4l64-144c3.2-7.2 10.4-11.9 18.3-11.9s15.1 4.7 18.3 11.9zM179 276l-19-42.8L141 276h38zM456 164c-11 0-20 9-20 20v4H384c-11 0-20 9-20 20s9 20 20 20h72 35.1c-7.3 16.7-17.4 31.9-29.8 45l-.5-.5-14.6-14.6c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3L430 298.3c-5.9 3.6-12.1 6.9-18.5 9.8l-3.6 1.6c-10.1 4.5-14.6 16.3-10.2 26.4s16.3 14.6 26.4 10.2l3.6-1.6c12-5.3 23.4-11.8 34-19.4c4.3 3 8.6 5.8 13.1 8.5l18.9 11.3c9.5 5.7 21.8 2.6 27.4-6.9s2.6-21.8-6.9-27.4l-18.9-11.3c-.9-.5-1.8-1.1-2.7-1.6c17.2-18.8 30.7-40.9 39.6-65.4L534 228h2c11 0 20-9 20-20s-9-20-20-20H520 476v-4c0-11-9-20-20-20z\"]\n};\nvar faWheatAwnSlash = {\n prefix: 'far',\n iconName: 'wheat-awn-slash',\n icon: [640, 512, [], \"e338\", \"M568.7 7.2c9.4 9.4 9.4 24.6 0 33.9L430.1 179.7c7.9 .9 15.8 2.5 23.4 4.8L535 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71.4 71.4c3.1 2.5 6 5.2 8.9 8.1l16.9 16.9c9.4 9.4 9.4 24.6 0 33.9l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c2.8 3.9 4.4 8.4 4.6 13L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L216.6 144.4l12.8-12.8c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9c2.9 2.9 5.7 5.9 8.2 9L439 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-81.6 81.6c2.3 7.6 3.9 15.4 4.8 23.2L534.7 7.2c9.4-9.4 24.6-9.4 33.9 0zM148.2 212.8L376.5 392.6c-3 .8-6 1.4-9 2c6.9 9.4 6 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.3-11.3 0 0L105 504.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l73.5-73.5 0 0-11.3-11.3c-43.7-43.7-43.7-114.7 0-158.4l15-15zM325.5 103.3c-25 25-25 65.5 0 90.5L335.7 204c20.5-31 17.2-73.3-10.2-100.6zM223.7 408.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm-56.5-56.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zM382.1 250.4c25 25 65.5 25 90.5 0C445.2 223 403 219.7 371.9 240.2l10.1 10.1z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'far',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M338.9 446.8c-25.4 11-53.4 17.2-82.9 17.2C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208c0 22.4-3.5 43.9-10.1 64.1c3.1 4.5 5.7 9.4 7.8 14.6c12.7-1.6 25.1 .4 36.2 5c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-6.5-25.3zM296 316c0-6.9-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4C258.7 276.9 241.4 272 224 272c-3.6 0-6.8 2.5-7.7 6s.6 7.2 3.8 9l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0 0 0c-2.5 1.4-4.1 4.1-4.1 7s1.6 5.6 4.1 7l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0c-3.2 1.8-4.7 5.5-3.8 9s4.1 6 7.7 6c17.4 0 34.7-4.9 47.9-12.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3s-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4c-2.7-1.5-5.7-3-8.7-4.3c3.1-1.3 6-2.7 8.7-4.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm159.3-20c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C375.7 186.8 355 180 335.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faDagger = {\n prefix: 'far',\n iconName: 'dagger',\n icon: [384, 512, [], \"f6cb\", \"M192 0c13.3 0 24 10.7 24 24V128h32 24 64c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48H272 224 192 160 112 96c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48h64 24 32V24c0-13.3 10.7-24 24-24zm32 397.9V208h48V397.9c0 11.5-3.5 22.7-10.1 32.1l-50.2 71.7c-4.5 6.4-11.8 10.2-19.7 10.2s-15.2-3.8-19.7-10.2L122.1 430c-6.6-9.4-10.1-20.6-10.1-32.1V208h48V397.9c0 1.6 .5 3.2 1.4 4.6L192 446.2l30.6-43.7c.9-1.3 1.4-2.9 1.4-4.6z\"]\n};\nvar faPodium = {\n prefix: 'far',\n iconName: 'podium',\n icon: [448, 512, [], \"f680\", \"M168 72c-22.1 0-40 17.9-40 40v32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H80V112c0-48.6 39.4-88 88-88h14.4C190.7 9.7 206.2 0 224 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H224c-17.8 0-33.3-9.7-41.6-24H168zM73.5 455.2L47.3 224H95.6l25.7 225.8c.9 8.1 7.8 14.2 15.9 14.2H310.9c8.1 0 15-6.1 15.9-14.2L352.4 224h48.3L374.5 455.2c-3.7 32.3-31 56.8-63.6 56.8H137.1c-32.6 0-59.9-24.4-63.6-56.8z\"]\n};\nvar faMemoCircleCheck = {\n prefix: 'far',\n iconName: 'memo-circle-check',\n icon: [576, 512, [], \"e1d9\", \"M64 48H320c8.8 0 16 7.2 16 16V220.5c14.6-9.5 30.8-17 48-21.8V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c3.3 0 6.6-.3 9.7-.7c-17.9-12.8-33.3-28.8-45.3-47.3H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm56 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm456 48a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faRouteHighway = {\n prefix: 'far',\n iconName: 'route-highway',\n icon: [448, 512, [], \"f61a\", \"M236.3 3.4c-7.6-4.6-17.1-4.6-24.7 0L202.3 9c-37.5 22.5-83.6 25.1-123.3 7C60.3 7.6 38.2 14.7 28.1 32.5L7.4 68.7c-6.6 11.6-7 25.8-1 37.7l8.5 16.9C26.1 145.9 32 170.8 32 196.1c0 20.7-3.9 41.2-11.6 60.4L8.7 285.7C2.9 300 0 315.3 0 330.7c0 46.7 26.8 89.2 68.8 109.4l144.8 69.5c6.6 3.2 14.2 3.2 20.8 0l144.8-69.5c42.1-20.2 68.8-62.7 68.8-109.4c0-15.4-2.9-30.7-8.7-45.1l-11.7-29.2c-7.7-19.2-11.6-39.7-11.6-60.4c0-25.2 5.9-50.1 17.2-72.7l8.5-16.9c6-12 5.6-26.1-1-37.7L419.9 32.5c-10.2-17.8-32.2-24.9-50.9-16.4c-39.8 18.1-85.9 15.4-123.3-7l-9.4-5.6zM80 192H368c0 1.4 0 2.7 0 4.1c0 26.8 5.1 53.3 15.1 78.2l11.7 29.2c3.5 8.7 5.2 17.9 5.2 27.2c0 28.2-16.2 53.9-41.6 66.1L224 461.4 89.6 396.9C64.2 384.7 48 359 48 330.7c0-9.3 1.8-18.6 5.2-27.2l11.7-29.2c10-24.9 15.1-51.4 15.1-78.2c0-1.4 0-2.7 0-4.1z\"]\n};\nvar faDownToLine = {\n prefix: 'far',\n iconName: 'down-to-line',\n icon: [384, 512, [\"arrow-alt-to-bottom\"], \"f34a\", \"M82.2 224L192 334 301.8 224H248c-13.3 0-24-10.7-24-24V80H160V200c0 13.3-10.7 24-24 24H82.2zM192 384c-11.5 0-22.5-4.6-30.6-12.7L45.6 255.2C36.9 246.5 32 234.7 32 222.4C32 196.8 52.8 176 78.4 176H112V80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L222.6 371.3c-8.1 8.1-19.1 12.7-30.6 12.7zM24 432H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faArrowAltToBottom = faDownToLine;\nvar faFilter = {\n prefix: 'far',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M0 73.7C0 50.7 18.7 32 41.7 32H470.3c23 0 41.7 18.7 41.7 41.7c0 9.6-3.3 18.9-9.4 26.3L336 304.5V447.7c0 17.8-14.5 32.3-32.3 32.3c-7.3 0-14.4-2.5-20.1-7l-92.5-73.4c-9.6-7.6-15.1-19.1-15.1-31.3V304.5L9.4 100C3.3 92.6 0 83.3 0 73.7zM55 80L218.6 280.8c3.5 4.3 5.4 9.6 5.4 15.2v68.4l64 50.8V296c0-5.5 1.9-10.9 5.4-15.2L457 80H55z\"]\n};\nvar faSquareG = {\n prefix: 'far',\n iconName: 'square-g',\n icon: [448, 512, [], \"e271\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM144 256c0 44.2 35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H248c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C263.2 183.7 244.5 176 224 176c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCirclePhone = {\n prefix: 'far',\n iconName: 'circle-phone',\n icon: [512, 512, [\"phone-circle\"], \"e11b\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.7 128.7l-44 12C134 143.1 128 151 128 160c0 123.7 100.3 224 224 224c9 0 16.9-6 19.3-14.7l12-44c2.6-9.7-2.3-19.9-11.6-23.7l-48-20c-8.2-3.4-17.6-1-23.2 5.8L280.3 312c-35.2-16.6-63.7-45.1-80.3-80.3l24.7-20.2c6.8-5.6 9.2-15 5.8-23.2l-20-48c-3.9-9.3-14-14.2-23.7-11.6z\"]\n};\nvar faPhoneCircle = faCirclePhone;\nvar faClipboardPrescription = {\n prefix: 'far',\n iconName: 'clipboard-prescription',\n icon: [384, 512, [], \"f5e8\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM104 204c-11 0-20 9-20 20v80 64c0 11 9 20 20 20s20-9 20-20V324h35.7l52 52-25.9 25.9c-7.8 7.8-7.8 20.5 0 28.3s20.5 7.8 28.3 0L240 404.3l25.9 25.9c7.8 7.8 20.5 7.8 28.3 0s7.8-20.5 0-28.3L268.3 376l25.9-25.9c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L240 347.7l-32.6-32.6C224.6 304.6 236 285.6 236 264c0-33.1-26.9-60-60-60H104zm72 80h-8H124V244h52c11 0 20 9 20 20s-9 20-20 20z\"]\n};\nvar faUserNurseHair = {\n prefix: 'far',\n iconName: 'user-nurse-hair',\n icon: [448, 512, [], \"e45d\", \"M96 70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96V70.2zM304 160h-8c-20.5 0-38.7-9.6-50.4-24.5C231.9 159.7 205.8 176 176 176l-32 0c0 44.2 35.8 80 80 80s80-35.8 80-80V160zM49.3 461.9H398.7c-6-39.3-32.2-72-67.7-87.1l-61.7 61.7c-25 25-65.5 25-90.5 0l-61.7-61.7c-35.5 15.1-61.7 47.8-67.7 87.1zm65.1-137.1c10.1-3.1 20.9 .4 28.4 7.9l69.8 69.8c6.2 6.2 16.4 6.2 22.6 0l69.8-69.8c7.5-7.5 18.3-11 28.4-7.9C399.8 344.9 448 406.4 448 479.2c0 17-13.8 30.7-30.7 30.7H30.7c-17 0-30.7-13.8-30.7-30.7c0-72.8 48.2-134.3 114.4-154.4zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faQuestion = {\n prefix: 'far',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M64 160c0-44.2 35.8-80 80-80h32c44.2 0 80 35.8 80 80v4.6c0 24.1-12 46.6-32.1 59.9l-52.3 34.9C149.4 274.2 136 299.2 136 326v2c0 13.3 10.7 24 24 24s24-10.7 24-24v-2c0-10.7 5.3-20.7 14.2-26.6l52.3-34.9c33.4-22.3 53.4-59.7 53.4-99.8V160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 13.3 10.7 24 24 24s24-10.7 24-24zm96 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFileSignature = {\n prefix: 'far',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M64 464H320c8.8 0 16-7.2 16-16v-6.7l39.8-9.9c2.8-.7 5.6-1.6 8.2-2.7V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v49.1l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-115l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h25.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-1.1 .3-2.1 .4-3.2 .5c-.8 .1-1.5 .2-2.3 .2H256c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L160 349zM549.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0z\"]\n};\nvar faToggleLargeOn = {\n prefix: 'far',\n iconName: 'toggle-large-on',\n icon: [576, 512, [], \"e5b1\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 48a144 144 0 1 1 0 288 144 144 0 1 1 0-288z\"]\n};\nvar faUpDownLeftRight = {\n prefix: 'far',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M256 55.8L289.5 96h-67L256 55.8zM229.8 12.3L168.2 86.2c-5.3 6.3-8.2 14.3-8.2 22.6c0 19.5 15.8 35.2 35.2 35.2H232v88H144V195.2c0-19.5-15.8-35.2-35.2-35.2c-8.2 0-16.2 2.9-22.6 8.2L12.3 229.8C4.5 236.2 0 245.9 0 256s4.5 19.8 12.3 26.2l73.9 61.6c6.3 5.3 14.3 8.2 22.6 8.2c19.5 0 35.2-15.8 35.2-35.2V280h88v88H195.2c-19.5 0-35.2 15.8-35.2 35.2c0 8.2 2.9 16.2 8.2 22.6l61.6 73.9c6.5 7.8 16.1 12.3 26.2 12.3s19.8-4.5 26.2-12.3l61.6-73.9c5.3-6.3 8.2-14.3 8.2-22.6c0-19.5-15.8-35.2-35.2-35.2H280V280h88v36.8c0 19.5 15.8 35.2 35.2 35.2c8.2 0 16.2-2.9 22.6-8.2l73.9-61.6c7.8-6.5 12.3-16.1 12.3-26.2s-4.5-19.8-12.3-26.2l-73.9-61.6c-6.3-5.3-14.3-8.2-22.6-8.2c-19.5 0-35.2 15.8-35.2 35.2V232H280V144h36.8c19.5 0 35.2-15.8 35.2-35.2c0-8.2-2.9-16.2-8.2-22.6L282.2 12.3C275.8 4.5 266.1 0 256 0s-19.8 4.5-26.2 12.3zM256 456.2L222.5 416h67L256 456.2zM456.2 256L416 289.5v-67L456.2 256zM96 289.5L55.8 256 96 222.5v67z\"]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faDryerHeat = {\n prefix: 'far',\n iconName: 'dryer-heat',\n icon: [448, 512, [\"dryer-alt\"], \"f862\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM104 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM80 288a144 144 0 1 1 288 0A144 144 0 1 1 80 288zm107.3-83.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L177.4 240c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16l-9.4 9.4c-10.2 10.2-16 24.1-16 38.6s5.8 28.4 16 38.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L190.6 336c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16l9.4-9.4c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6l-12.7-12.7zm80 0c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L257.4 240c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16l-9.4 9.4c-10.2 10.2-16 24.1-16 38.6s5.8 28.4 16 38.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L270.6 336c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16l9.4-9.4c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6l-12.7-12.7z\"]\n};\nvar faDryerAlt = faDryerHeat;\nvar faHouseChimneyUser = {\n prefix: 'far',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM112 432V204.8L288 55.5 464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32zM288 288a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM176 400c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256c-44.2 0-80 35.8-80 80z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'far',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faArrowUpSmallBig = {\n prefix: 'far',\n iconName: 'arrow-up-small-big',\n icon: [576, 512, [\"sort-size-up-alt\"], \"f88f\", \"M368 144V80h64v64H368zm-48 0c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v64zM177 39c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 39zM368 304H496V432H368V304zm-48 0V432c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortSizeUpAlt = faArrowUpSmallBig;\nvar faTrainTrack = {\n prefix: 'far',\n iconName: 'train-track',\n icon: [576, 512, [], \"e453\", \"M222.6 64.1c4.5-12.5-2-26.2-14.5-30.7s-26.2 2-30.7 14.5L160.1 96H112c-13.3 0-24 10.7-24 24s10.7 24 24 24h30.8L114 224H72c-13.3 0-24 10.7-24 24s10.7 24 24 24H96.7L67.9 352H32c-13.3 0-24 10.7-24 24s10.7 24 24 24H50.7L33.4 447.9c-4.5 12.5 2 26.2 14.5 30.7s26.2-2 30.7-14.5L101.7 400H474.3l23.1 64.1c4.5 12.5 18.2 18.9 30.7 14.5s18.9-18.2 14.5-30.7L525.3 400H544c13.3 0 24-10.7 24-24s-10.7-24-24-24H508.1l-28.8-80H504c13.3 0 24-10.7 24-24s-10.7-24-24-24H462l-28.8-80H464c13.3 0 24-10.7 24-24s-10.7-24-24-24H415.9L398.6 47.9c-4.5-12.5-18.2-18.9-30.7-14.5s-18.9 18.2-14.5 30.7L364.9 96H211.1l11.5-31.9zM193.8 144H382.2L411 224H165l28.8-80zM457.1 352H118.9l28.8-80H428.3l28.8 80z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'far',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M275.2 107.4L261.6 87.6l13.6 19.8zM404.6 323.2l-19.8 13.6 19.8-13.6zM275.3 470.5l-17.3-16.6 17.3 16.6zM41.5 323.3l16.6-17.3L41.5 323.3zM188.7 470.5l-17.3 16.6 17.3-16.6zM404.6 236.8l-19.8-13.6 19.8 13.6zm-363.1-.1l16.6 17.3L41.5 236.7zM188.8 107.4l-13.6 19.8 13.6-19.8zm13.6-19.8C194.4 82.1 192 76.2 192 72H144c0 23.8 13.7 43.2 31.2 55.2l27.2-39.6zM56 144H185.3V96H56v48zm-8 86.1V152H0v78.1H48zm10.1 24c4.3-4.2 9.2-6.1 13.9-6.1V200c-18.5 0-34.9 7.7-47.1 19.4l33.3 34.6zM72 248c9.9 0 24 10.7 24 32h48c0-40.6-28.9-80-72-80v48zm24 32c0 21.3-14.1 32-24 32v48c43.1 0 72-39.4 72-80H96zM72 312c-4.7 0-9.5-1.9-13.9-6.1L24.9 340.6C37.1 352.3 53.5 360 72 360V312zM48 456V329.9H0V456H48zm134.1 8H56v48H182.1V464zM152 440c0 18.5 7.7 34.9 19.4 47.1l34.6-33.3c-4.2-4.3-6.1-9.2-6.1-13.9H152zm80-72c-40.6 0-80 28.9-80 72h48c0-9.9 10.7-24 32-24V368zm80 72c0-43.1-39.4-72-80-72v48c21.3 0 32 14.1 32 24h48zm-19.4 47.1C304.3 474.9 312 458.5 312 440H264c0 4.7-1.9 9.5-6.1 13.9l34.6 33.3zM360 464H281.9v48H360V464zm8-137.3V456h48V326.7H368zm72-6.7c-4.2 0-10.1-2.4-15.6-10.4l-39.6 27.2c12 17.6 31.4 31.2 55.2 31.2V320zm24-40c0 13-4 23.8-9.3 30.9s-10.7 9.1-14.7 9.1v48c22.5 0 41-12.2 53.1-28.3S512 302.4 512 280H464zm-24-40c4 0 9.5 2.1 14.7 9.1s9.3 17.9 9.3 30.9h48c0-22.4-6.8-43.5-18.9-59.7S462.5 192 440 192v48zm-15.6 10.4c5.5-8 11.4-10.4 15.6-10.4V192c-23.8 0-43.2 13.7-55.2 31.2l39.6 27.2zM368 152v81.3h48V152H368zm-89.3-8H360V96H278.7v48zM272 72c0 4.2-2.4 10.1-10.4 15.6l27.2 39.6C306.3 115.2 320 95.8 320 72H272zM232 48c13 0 23.8 4 30.9 9.3s9.1 10.7 9.1 14.7h48c0-22.5-12.2-41-28.3-53.1S254.4 0 232 0V48zM192 72c0-4 2.1-9.5 9.1-14.7S219 48 232 48V0c-22.4 0-43.5 6.8-59.7 18.9S144 49.5 144 72h48zm104 41.3c0 6.3-3.3 11.2-7.2 13.9L261.6 87.6C253.8 93 248 102.2 248 113.3h48zM398.7 344c-6.3 0-11.2-3.3-13.9-7.2l39.6-27.2c-5.3-7.8-14.6-13.6-25.6-13.6v48zM416 326.7c0 9.5-7.7 17.3-17.3 17.3V296c-17 0-30.7 13.8-30.7 30.7h48zM360 512c30.9 0 56-25.1 56-56H368c0 4.4-3.6 8-8 8v48zM248 478.1c0 18.7 15.2 33.9 33.9 33.9V464c7.8 0 14.1 6.3 14.1 14.1H248zm9.9-24.2c-5.5 5.7-9.9 14.1-9.9 24.2h48c0 4.4-1.9 7.4-3.4 9l-34.6-33.3zM182.1 512c18.7 0 33.9-15.2 33.9-33.9H168c0-7.8 6.3-14.1 14.1-14.1v48zM33.9 296C15.2 296 0 311.2 0 329.9H48c0 7.8-6.3 14.1-14.1 14.1V296zm24.2 9.9C52.4 300.5 44 296 33.9 296v48c-4.4 0-7.4-1.9-9-3.4l33.3-34.6zM416 152c0-30.9-25.1-56-56-56v48c4.4 0 8 3.6 8 8h48zM0 230.1C0 248.8 15.2 264 33.9 264V216c7.8 0 14.1 6.3 14.1 14.1H0zM398.7 216c9.5 0 17.3 7.7 17.3 17.3H368c0 17 13.8 30.7 30.7 30.7V216zM56 96C25.1 96 0 121.1 0 152H48c0-4.4 3.6-8 8-8V96zM216 478.1c0-10.1-4.5-18.5-9.9-24.2l-34.6 33.3c-1.5-1.6-3.4-4.6-3.4-9h48zM384.8 223.2c2.7-3.9 7.6-7.2 13.9-7.2v48c11.1 0 20.3-5.8 25.6-13.6l-39.6-27.2zM168 113.3c0-9.5 7.7-17.3 17.3-17.3v48c17 0 30.7-13.8 30.7-30.7H168zM278.7 96c9.5 0 17.3 7.7 17.3 17.3H248c0 17 13.8 30.7 30.7 30.7V96zM33.9 264c10.1 0 18.5-4.5 24.2-9.9L24.9 219.4c1.6-1.5 4.6-3.4 9-3.4v48zM0 456c0 30.9 25.1 56 56 56V464c-4.4 0-8-3.6-8-8H0zM175.2 127.2c-3.9-2.7-7.2-7.6-7.2-13.9h48c0-11.1-5.8-20.3-13.6-25.6l-27.2 39.6z\"]\n};\nvar faMoneyCheck = {\n prefix: 'far',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm120 80H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM96 328c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM376 160h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"]\n};\nvar faStarHalfStroke = {\n prefix: 'far',\n iconName: 'star-half-stroke',\n icon: [640, 512, [\"star-half-alt\"], \"f5c0\", \"M341.5 13.5C337.5 5.2 329.1 0 319.9 0s-17.6 5.2-21.6 13.5L229.7 154.8 76.5 177.5c-9 1.3-16.5 7.6-19.3 16.3s-.5 18.1 5.9 24.5L174.2 328.4 148 483.9c-1.5 9 2.2 18.1 9.7 23.5s17.3 6 25.3 1.7l137-73.2 137 73.2c8.1 4.3 17.9 3.7 25.3-1.7s11.2-14.5 9.7-23.5L465.6 328.4 576.8 218.2c6.5-6.4 8.7-15.9 5.9-24.5s-10.3-14.9-19.3-16.3L410.1 154.8 341.5 13.5zM320 384.7V79.1l52.5 108.1c3.5 7.1 10.2 12.1 18.1 13.3l118.3 17.5L423 303c-5.5 5.5-8.1 13.3-6.8 21l20.2 119.6L331.2 387.5c-3.5-1.9-7.4-2.8-11.2-2.8z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExclamation = {\n prefix: 'far',\n iconName: 'file-exclamation',\n icon: [384, 512, [], \"f31a\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM192 176c-13.3 0-24 10.7-24 24V312c0 13.3 10.7 24 24 24s24-10.7 24-24V200c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCode = {\n prefix: 'far',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M399.1 1.1c-12.7-3.9-26.1 3.1-30 15.8l-144 464c-3.9 12.7 3.1 26.1 15.8 30s26.1-3.1 30-15.8l144-464c3.9-12.7-3.1-26.1-15.8-30zm71.4 118.5c-9.1 9.7-8.6 24.9 1.1 33.9L580.9 256 471.6 358.5c-9.7 9.1-10.2 24.3-1.1 33.9s24.3 10.2 33.9 1.1l128-120c4.8-4.5 7.6-10.9 7.6-17.5s-2.7-13-7.6-17.5l-128-120c-9.7-9.1-24.9-8.6-33.9 1.1zm-301 0c-9.1-9.7-24.3-10.2-33.9-1.1l-128 120C2.7 243 0 249.4 0 256s2.7 13 7.6 17.5l128 120c9.7 9.1 24.9 8.6 33.9-1.1s8.6-24.9-1.1-33.9L59.1 256 168.4 153.5c9.7-9.1 10.2-24.3 1.1-33.9z\"]\n};\nvar faWhiskeyGlass = {\n prefix: 'far',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M80.8 288H431.2L461.5 80H50.5L80.8 288zm7 48l10 68.6c2.3 15.7 15.8 27.4 31.7 27.4h253c15.9 0 29.4-11.7 31.7-27.4l10-68.6H87.8zM7.8 43.1C13.9 36 22.7 32 32 32H480c9.3 0 18.1 4 24.2 11.1s8.8 16.4 7.5 25.5l-50 342.9c-5.7 39.3-39.4 68.5-79.2 68.5h-253c-39.7 0-73.4-29.1-79.2-68.5L.3 68.6C-1 59.4 1.7 50.1 7.8 43.1z\"]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faMoonStars = {\n prefix: 'far',\n iconName: 'moon-stars',\n icon: [512, 512, [], \"f755\", \"M295.8 137.8c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11 11 38.6zM403.8 310.8c1.6 5.5 6.6 9.2 12.2 9.2s10.7-3.8 12.2-9.2l16.6-58 58-16.6c5.5-1.6 9.2-6.6 9.2-12.2s-3.8-10.7-9.2-12.2l-58-16.6-16.6-58c-1.6-5.5-6.6-9.2-12.2-9.2s-10.7 3.8-12.2 9.2l-16.6 58-58 16.6c-5.5 1.6-9.2 6.6-9.2 12.2s3.8 10.7 9.2 12.2l58 16.6 16.6 58zM48 320c0-70 50-128.3 116.2-141.3C141.6 206.3 128 241.5 128 280c0 83.2 63.5 151.6 144.7 159.3c-23 15.6-50.8 24.7-80.7 24.7c-79.5 0-144-64.5-144-144zM192 128C86 128 0 214 0 320S86 512 192 512c69.4 0 130.2-36.9 163.9-92c5.3-8.7 4.6-19.9-2-27.8s-17.3-10.8-26.9-7.2c-12.1 4.5-25.3 7-39.1 7c-61.9 0-112-50.1-112-112c0-45 26.6-83.9 65-101.7c9.3-4.3 14.8-14 13.8-24.2s-8.4-18.6-18.3-20.9c-14.3-3.4-29.2-5.2-44.4-5.2z\"]\n};\nvar faBuildingCircleExclamation = {\n prefix: 'far',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faClothesHanger = {\n prefix: 'far',\n iconName: 'clothes-hanger',\n icon: [640, 512, [], \"e136\", \"M211.4 91.3C221 38.4 267 0 320.8 0C382.2 0 432 49.8 432 111.2v2.9c0 36.5-17.5 70.8-47 92.3l-23.2 16.9L611 391.7c18.1 12.2 29 32.7 29 54.5c0 36.3-29.5 65.8-65.8 65.8H65.8C29.5 512 0 482.5 0 446.2c0-21.9 10.9-42.3 29-54.5L306.2 204.3l50.6-36.8c17.1-12.4 27.2-32.3 27.2-53.5v-2.9C384 76.3 355.7 48 320.8 48c-30.6 0-56.7 21.8-62.2 51.9l-3 16.4c-2.4 13-14.9 21.7-27.9 19.3s-21.7-14.9-19.3-27.9l3-16.4zM320 253L55.8 431.5c-4.9 3.3-7.8 8.8-7.8 14.7C48 456 56 464 65.8 464H574.2c9.8 0 17.8-8 17.8-17.8c0-5.9-2.9-11.4-7.8-14.7L320 253z\"]\n};\nvar faMobileNotch = {\n prefix: 'far',\n iconName: 'mobile-notch',\n icon: [384, 512, [\"mobile-iphone\"], \"e1ee\", \"M256 48V64c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V48H96C78.3 48 64 62.3 64 80V432c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32H256zM16 80C16 35.8 51.8 0 96 0H288c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H96c-44.2 0-80-35.8-80-80V80z\"]\n};\nvar faMobileIphone = faMobileNotch;\nvar faMagnifyingGlassChart = {\n prefix: 'far',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM104 216v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'far',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M304 24c0 13.3 10.7 24 24 24H430.1L207 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l223-223V184c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'far',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M240 80v32h32V80H240zM224 32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM136.5 268.2l27.7-16-16-27.7-27.7 16 16 27.7zM71 250.7c-8.8-15.3-3.6-34.9 11.7-43.7l55.4-32c15.3-8.8 34.9-3.6 43.7 11.7l32 55.4c8.8 15.3 3.6 34.9-11.7 43.7l-55.4 32c-15.3 8.8-34.9 3.6-43.7-11.7L71 250.7zM304 272h32V240H304v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V224zM368 432h32V400H368v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384zM208 400v32h32V400H208zm-16-48h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32zM48 432H80V400H48v32zM0 384c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384z\"]\n};\nvar faImagesUser = {\n prefix: 'far',\n iconName: 'images-user',\n icon: [576, 512, [], \"e1b9\", \"M512 80H160c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16h64c0-35.3 28.7-64 64-64h96c35.3 0 64 28.7 64 64h64c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM160 32H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zM24 96c13.3 0 24 10.7 24 24V344c0 48.6 39.4 88 88 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 480 0 419.1 0 344V120c0-13.3 10.7-24 24-24zm248 80a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faWonSign = {\n prefix: 'far',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M71.1 49.5C67.5 36.8 54.3 29.3 41.5 32.9S21.3 49.7 24.9 62.5L79.1 256H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H92.5l44.4 158.5c2.9 10.5 12.6 17.7 23.6 17.5s20.3-7.8 22.9-18.4L221.2 304h69.7l37.8 157.6c2.6 10.6 12 18.2 22.9 18.4s20.6-7 23.6-17.5L419.5 304H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H432.9L487.1 62.5c3.6-12.8-3.9-26-16.6-29.6s-26 3.9-29.6 16.6L383.1 256H328.7L279.3 50.4C276.7 39.6 267.1 32 256 32s-20.7 7.6-23.3 18.4L183.3 256H128.9L71.1 49.5zM142.4 304h29.4l-13.6 56.6L142.4 304zm90.3-48L256 158.8 279.3 256H232.7zm107.5 48h29.4l-15.9 56.6L340.2 304z\"]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faImagePolaroidUser = {\n prefix: 'far',\n iconName: 'image-polaroid-user',\n icon: [448, 512, [], \"e1b6\", \"M48 416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V368H48v48zm286-96h66V96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V320h66c7.1-27.6 32.2-48 62-48h96c29.8 0 54.9 20.4 62 48zM448 96V320v24 24 48c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368 344 320 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64zM160 176a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faVirusCovid = {\n prefix: 'far',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M216 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L125.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L46.7 103.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L92 125.9l23.8 23.8C97.9 173.2 85.8 201.3 81.6 232H48V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280H81.6c4.2 30.7 16.3 58.8 34.1 82.3L92 386.1 80.6 374.8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L125.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V430.4c30.7-4.2 58.8-16.3 82.3-34.1L386.1 420l-11.3 11.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56.6-56.6c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L420 386.1l-23.8-23.8c17.9-23.5 29.9-51.7 34.1-82.3H464v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H430.4c-4.2-30.7-16.3-58.8-34.1-82.3L420 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L408.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L386.1 92l-23.8 23.8C338.8 97.9 310.7 85.8 280 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H216zm40 128a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquareEllipsis = {\n prefix: 'far',\n iconName: 'square-ellipsis',\n icon: [448, 512, [], \"e26e\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm160-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPie = {\n prefix: 'far',\n iconName: 'pie',\n icon: [576, 512, [129383], \"f705\", \"M544 240c-7.6 0-14.3-4.9-17-12C490 132.1 397 64 288 64S86 132.1 49 228c-2.7 7.1-9.4 12-17 12c-17.7 0-32 14.3-32 32c0 17.2 13.6 31.3 30.7 32c17.7-.5 35-7 48.7-14.2c7-3.6 12.7-7.3 16.7-10c2-1.4 3.5-2.5 4.5-3.2c.5-.4 .9-.7 1.1-.8l.2-.2 0 0 20.7 .4 0 0 .2 .1c.2 .2 .5 .4 .9 .8c.9 .7 2.2 1.8 4.1 3.1c3.7 2.6 9.1 6.2 16.1 9.8c14 7.2 33.4 14.2 56.1 14.2s42.2-7 56.1-14.2c7-3.6 12.4-7.2 16.1-9.8c1.8-1.3 3.2-2.4 4.1-3.1c.4-.4 .7-.6 .9-.8l.1-.1c6.1-5.4 15.2-5.4 21.2 0l0 0 .1 .1c.2 .2 .5 .4 .9 .8c.9 .7 2.2 1.8 4.1 3.1c3.7 2.6 9.1 6.2 16.1 9.8c14 7.2 33.4 14.2 56.1 14.2s42.2-7 56.1-14.2c7-3.6 12.4-7.2 16.1-9.8c1.8-1.3 3.2-2.4 4.1-3.1c.4-.4 .7-.6 .9-.8l.1-.1c5.9-5.2 14.6-5.4 20.7-.4l0 0 0 0 0 0 0 0 0 0 0 0 .2 .2c.2 .2 .6 .5 1.1 .8c1 .7 2.5 1.9 4.5 3.2c4 2.7 9.7 6.4 16.7 10c13.7 7.2 31.1 13.7 48.7 14.2c17.1-.7 30.7-14.7 30.7-32c0-17.7-14.3-32-32-32zM122.6 276c-5.9-5.2-14.6-5.4-20.7-.4l0 0 20.7 .4s0 0 0 0zM81.4 404.2c8.7 26.1 33.2 43.8 60.7 43.8H433.9c27.5 0 52-17.6 60.7-43.8l24-71.9c-14.2-3.5-26.8-9-36.8-14.2c-2.7-1.4-5.3-2.8-7.6-4.2l-25 75.1c-2.2 6.5-8.3 10.9-15.2 10.9H142.1c-6.9 0-13-4.4-15.2-10.9l-25-75.1c-2.4 1.4-4.9 2.8-7.6 4.2c-10 5.2-22.7 10.7-36.8 14.2l24 71.9zM206.3 151.2l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5zm192-14.3l16 32c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2l-16-32c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2zM304 144v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessKnightPiece = {\n prefix: 'far',\n iconName: 'chess-knight-piece',\n icon: [320, 512, [\"chess-knight-alt\"], \"f442\", \"M68.9 112l79.8 0C216.8 112 272 167.2 272 235.3c0 11.3-1.6 22.5-4.6 33.4L243.9 352h49.9l19.8-70.3c4.3-15.1 6.4-30.7 6.4-46.4C320 140.7 243.3 64 148.7 64L40.8 64C18.5 64 .4 82.1 .4 104.5c0 11.6 5 22.5 13.3 30C5 148.3 .3 164.4 .3 181L.1 232C0 253.2 8 273.7 22.4 289.2l1.9 2c6.5 7 14 12.6 22 16.8c-8.3 13-13.1 28.2-13.8 43.9H80.5c1.1-11.5 7-22 16.2-29l25.1-15.4c2.7-1.4 5.3-3 7.8-4.8l42.9-26.3c11.3-6.9 14.8-21.7 7.9-33s-21.7-14.8-33-7.9l-42.7 26.2-.1-.2c-.5 .4-1 .8-1.5 1.2l-4.9 3c-12.8 6.4-28.7 3.8-38.8-7.1l-1.9-2c-6.2-6.6-9.6-15.4-9.5-24.4l.2-51c0-10.6 4.2-20.7 11.7-28.1l8-8c5.5-5.5 8-13.2 6.7-20.8c-.7-4.6-2.8-8.8-5.8-12.2zM96 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM52.7 464l16.6-32H250.8l16.6 32H52.7zm207.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H279.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faChessKnightAlt = faChessKnightPiece;\nvar faAustralSign = {\n prefix: 'far',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M246.1 46.7C242.4 37.8 233.7 32 224 32s-18.4 5.8-22.1 14.7L127.4 224H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h83.2L87.1 320H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H66.9L33.9 446.7c-5.1 12.2 .6 26.3 12.8 31.4s26.3-.6 31.4-12.8L119 368H329l40.9 97.3c5.1 12.2 19.2 18 31.4 12.8s18-19.2 12.8-31.4L381.1 368H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H360.9l-20.2-48H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H320.6L246.1 46.7zM268.5 224H179.5L224 118l44.5 106zM159.3 272H288.7l20.2 48H139.2l20.2-48z\"]\n};\nvar faCloudPlus = {\n prefix: 'far',\n iconName: 'cloud-plus',\n icon: [640, 512, [], \"e35e\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM296 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H232c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faF = {\n prefix: 'far',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M56 32C25.1 32 0 57.1 0 88V248 456c0 13.3 10.7 24 24 24s24-10.7 24-24V272H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V88c0-4.4 3.6-8 8-8H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56z\"]\n};\nvar faLeaf = {\n prefix: 'far',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M149.6 234.4c20.9-6.7 43.2-10.4 66.4-10.4h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-25.4 0-49.5 5.6-71 15.7C152.7 351 206.6 400 271.9 400h.1l.8 0 .1 0C370.2 399.5 464 299.7 464 156.6c0-12.8-.8-25.3-2.3-37.5C437 134.9 407.6 144 376 144l-104 0c-57.6 0-106.3 38.1-122.4 90.4zM96.4 260.1C102.5 168.5 178.8 96 272 96l104 0c28.7 0 54.8-10.8 74.6-28.5c.7-.6 1.4-1.3 2.1-1.9c6.6-6.2 12.5-13.2 17.4-20.9c1.6-2.5 3.2-5.1 4.6-7.8c3.5-6.5 13.6-6.8 16.2 .1c1.3 3.5 2.5 7 3.7 10.6c2.9 8.9 5.5 17.9 7.8 27.2c.5 1.9 .9 3.8 1.3 5.6c5.4 24.3 8.3 49.8 8.3 76.2C512 317.1 405.1 447.3 273 448l-1 0c-81.7 0-150.4-55.7-170.2-131.2C68.7 347.5 48 391.3 48 440v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-75.1 38.3-141.2 96.4-179.9z\"]\n};\nvar faBedBunk = {\n prefix: 'far',\n iconName: 'bed-bunk',\n icon: [576, 512, [], \"f8f8\", \"M24 0C37.3 0 48 10.7 48 24V160H256V40c0-22.1 17.9-40 40-40H456c66.3 0 120 53.7 120 120v64 96V439.7 488c0 13.3-10.7 24-24 24s-24-10.7-24-24V463.7H280 48V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V439.7 184 24C0 10.7 10.7 0 24 0zM256 415.7V296c0-22.1 17.9-40 40-40H528V208H280 48V415.7H256zM528 160V120c0-39.8-32.2-72-72-72H304V160H528zm0 144H304V415.7H528V304zM96 328a56 56 0 1 1 112 0A56 56 0 1 1 96 328zM152 16a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faRoad = {\n prefix: 'far',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M185.7 32c-30.4 0-57.5 19-67.7 47.6L8.6 383.6C-8.3 430.5 26.4 480 76.3 480H499.7c49.9 0 84.6-49.5 67.7-96.4L458 79.6C447.7 51 420.6 32 390.3 32H185.7zM163.2 95.9c3.4-9.5 12.5-15.9 22.6-15.9H264v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l109.4 304c5.6 15.6-6 32.1-22.6 32.1H312V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H76.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304zM312 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216z\"]\n};\nvar faTaxi = {\n prefix: 'far',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32V64c0 .1 0 .1 0 .2c-35.2 2.2-65.9 25.2-77.7 58.8L48.1 220.8C19.3 237.4 0 268.4 0 304v80 48 56c0 13.3 10.7 24 24 24s24-10.7 24-24V432H464v56c0 13.3 10.7 24 24 24s24-10.7 24-24V432 384 304c0-35.6-19.4-66.6-48.1-83.2l-34.3-97.9C417.9 89.3 387.2 66.3 352 64.2c0-.1 0-.1 0-.2V32c0-17.7-14.3-32-32-32H192zM165.4 112H346.6c17 0 32.1 10.7 37.8 26.8L408.6 208H103.4l24.2-69.2c5.6-16 20.8-26.8 37.8-26.8zM96 256H416c26.5 0 48 21.5 48 48v80H48V304c0-26.5 21.5-48 48-48zm48 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm256 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'far',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faChartPie = {\n prefix: 'far',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M493.1 192H352V50.9C423.5 64 480 120.5 493.1 192zM352 240H527.4c9 0 16.6-7 16.6-16C544 100.3 443.7 0 320 0c-9 0-16 7.6-16 16.6V192v48h48zM222.1 321.9L348.4 448.2C325 458.4 299.2 464 272 464C166 464 80 378 80 272c0-83.6 53.4-154.7 128-181.1V288c0 12.7 5.1 24.9 14.1 33.9zM239 34.3C122.1 50.3 32 150.7 32 272c0 132.5 107.5 240 240 240c51.8 0 99.8-16.4 139-44.3c7.7-5.5 8.2-16.5 1.5-23.1L256 288V49.6c0-9.2-7.8-16.6-17-15.4zM558.4 288H320L478.7 446.7c5.8 5.8 15.2 6.3 21.2 .7c39.3-36.7 66.2-86.5 73.9-142.3c1.3-9.2-6.1-17-15.4-17z\"]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'far',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M77 48L51.4 240H208c7.4 0 14.4 3.4 18.9 9.2s6.2 13.4 4.4 20.6l-23 91.8L322.8 192H176c-7.9 0-15.3-3.9-19.8-10.4s-5.4-14.9-2.6-22.2L196.9 48H77zM30.4 34.7C33 14.8 50 0 70 0H208.6c28.1 0 47.5 28.3 37.3 54.5L211.1 144H337.9c32.1 0 51.1 35.8 33.2 62.4l-199.2 295c-6.5 9.7-19 13.2-29.7 8.5s-16.3-16.4-13.5-27.7L177.3 288H42.3C18.1 288-.6 266.7 2.6 242.7l27.7-208z\"]\n};\nvar faClockEight = {\n prefix: 'far',\n iconName: 'clock-eight',\n icon: [512, 512, [], \"e345\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V256c0 8-4 15.5-10.7 20l-96 64c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3L232 243.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSackXmark = {\n prefix: 'far',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M293.3 152H218.7l-13.8 8.8C150.9 195.4 48 277 48 416c0 26.5 21.5 48 48 48H416c26.5 0 48-21.5 48-48c0-139-102.9-220.6-156.9-255.2L293.3 152zm.2-58.8L324.6 48H187.4l31.1 45.2L226 104h60l7.5-10.8zM0 416C0 274.8 89.4 185.5 150.8 139.9c10.4-7.7 20-14.2 28.2-19.4L151.8 80.9 121.9 37.6C111 21.7 122.4 0 141.7 0H370.3c19.3 0 30.7 21.7 19.8 37.6L360.2 80.9 333 120.4c8.2 5.3 17.8 11.7 28.2 19.4C422.6 185.5 512 274.8 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96zM209 239l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z\"]\n};\nvar faFileContract = {\n prefix: 'far',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM96 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm54.2 221.8L160 349l16.7 55.6c1.9 6.3 7.4 10.8 13.9 11.3s12.8-2.9 15.7-8.8l10.6-21.3c.6-1.2 1.8-1.9 3.1-1.9s2.5 .7 3.1 1.9l10.6 21.3c2.7 5.4 8.3 8.8 14.3 8.8h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H257.9l-6.2-12.4c-6-12-18.3-19.6-31.7-19.6c-8.6 0-16.8 3.1-23.1 8.6l-11.3-37.5C182.2 311.7 171.8 304 160 304s-22.2 7.7-25.6 19.1l-14.9 49.5c-2 6.8-8.3 11.4-15.3 11.4H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h8.2c21.2 0 39.9-13.9 46-34.2z\"]\n};\nvar faFishFins = {\n prefix: 'far',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M247.3 166c-13.1 6.7-25.4 14.5-36.5 22.8c-10.2 7.6-19.5 15.8-27.9 24c-14.2 13.9-35.5 17.6-53.6 9.3L70.6 195.3l21.1 36.9c8.4 14.8 8.4 32.9 0 47.6L70.6 316.7l58.7-26.9c18.1-8.3 39.4-4.6 53.6 9.3c8.4 8.3 17.8 16.4 27.9 24c11.2 8.4 23.5 16.3 36.8 23c16.7 8.4 27 25.8 26.3 44.4l-.8 23.6 46.2-36.3c7.7-6.1 17.2-9.6 27-10.2c44.7-2.5 83.7-21 114.9-44.5c29.4-22.1 51.3-48 64-67.2c-12.7-19.2-34.6-45.1-64-67.2c-31.3-23.5-70.2-42-114.9-44.5c-9.8-.5-19.2-4.1-27-10.2L272.9 97.6l.6 24.3c.5 18.5-9.7 35.7-26.3 44.1zM8.4 373.6C-1 363.3-2.7 348.2 4.2 336.1L50 256 4.2 175.9c-6.9-12.1-5.2-27.2 4.2-37.5s24.3-13.3 36.9-7.5l103.9 47.6c9.8-9.6 20.8-19.2 32.7-28.1c13.1-9.8 27.7-19.2 43.6-27.2L224 64.9c-.3-12.4 6.5-23.9 17.6-29.4s24.4-4.2 34.1 3.4L349 96.4c56.6 3.2 104.5 26.6 141.1 54c39.2 29.4 67.2 64.7 81.6 89.5c5.8 9.9 5.8 22.2 0 32.1c-14.4 24.8-42.5 60.1-81.6 89.5c-36.6 27.5-84.5 50.9-141.1 54l-73.2 57.5c-9.8 7.7-23.1 9-34.2 3.4s-17.9-17.2-17.5-29.6l1.9-57.9c-16.1-8.1-30.8-17.5-44-27.4c-12-9-22.9-18.5-32.7-28.1L45.3 381.1c-12.6 5.8-27.6 2.8-36.9-7.5zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleQ = {\n prefix: 'far',\n iconName: 'circle-q',\n icon: [512, 512, [], \"e11e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.4-3.3 25.9-9.1 37l-30-30c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l30 30c-11.1 5.8-23.7 9.1-37 9.1c-44.2 0-80-35.8-80-80zm208 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128c26.7 0 51.4-8.2 71.9-22.1L343 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-15.1-15.1c14-20.5 22.1-45.3 22.1-71.9z\"]\n};\nvar faBuildingFlag = {\n prefix: 'far',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm88 40c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V104zM232 88h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V232zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16zM448 0c17.7 0 32 14.3 32 32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H480V512H416V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'far',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M48.2 66.8c-.1-.8-.2-1.7-.2-2.5c0-.1 0-.1 0-.2c0-8.8 7.2-16 16-16c.9 0 1.9 .1 2.8 .2C74.3 49.5 80 56.1 80 64c0 8.8-7.2 16-16 16c-7.9 0-14.5-5.7-15.8-13.2zM0 64c0 26.9 16.5 49.9 40 59.3V228.7C16.5 238.1 0 261.1 0 288c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H324.7c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V123.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H123.3C113.9 16.5 90.9 0 64 0C28.7 0 0 28.7 0 64zm368 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM324.7 88c6.5 16 19.3 28.9 35.3 35.3V228.7c-16 6.5-28.9 19.3-35.3 35.3H123.3c-6.5-16-19.3-28.9-35.3-35.3V123.3c16-6.5 28.9-19.3 35.3-35.3H324.7zM384 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 288c0 7.9-5.7 14.5-13.2 15.8c-.8 .1-1.7 .2-2.5 .2l-.2 0c-8.8 0-16-7.2-16-16c0-.9 .1-1.9 .2-2.8C49.5 277.7 56.1 272 64 272c8.8 0 16 7.2 16 16zm391.3-40h45.4c6.5 16 19.3 28.9 35.3 35.3V388.7c-16 6.5-28.9 19.3-35.3 35.3H315.3c-6.5-16-19.3-28.9-35.3-35.3V352H232v36.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H516.7c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V283.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H448v16.4c9.8 8.8 17.8 19.5 23.3 31.6zm88.9-26.7a16 16 0 1 1 31.5 5.5 16 16 0 1 1 -31.5-5.5zM271.8 450.7a16 16 0 1 1 -31.5-5.5 16 16 0 1 1 31.5 5.5zm301.5 13c-7.5-1.3-13.2-7.9-13.2-15.8c0-8.8 7.2-16 16-16c7.9 0 14.5 5.7 15.8 13.2l0 .1c.1 .9 .2 1.8 .2 2.7c0 8.8-7.2 16-16 16c-.9 0-1.9-.1-2.8-.2z\"]\n};\nvar faFaceDisguise = {\n prefix: 'far',\n iconName: 'face-disguise',\n icon: [512, 512, [], \"e370\", \"M464 256c0 114.9-93.1 208-208 208S48 370.9 48 256c0-16.5 1.9-32.6 5.6-48H72c0 50.1 38.4 91.2 87.3 95.6c-9.6 7.9-15.3 19.7-15.3 32.4c0 15.9 9 30.4 23.1 37.5L147.5 398c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l23.9-29.9 7.3 3.6-10.5 26.3c-3.3 8.2 .7 17.5 8.9 20.8s17.5-.7 20.8-8.9l10-24.9c2.4 .7 4.8 1.3 7.2 1.8V432c0 8.8 7.2 16 16 16s16-7.2 16-16V406.8c2.4-.5 4.8-1.1 7.2-1.8l10 24.9c3.3 8.2 12.6 12.2 20.8 8.9s12.2-12.6 8.9-20.8l-10.5-26.3 7.3-3.6L339.5 418c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-19.6-24.5C359 366.4 368 351.9 368 336c0-12.7-5.7-24.5-15.3-32.4c49-4.4 87.3-45.5 87.3-95.6h18.4c3.6 15.4 5.6 31.5 5.6 48zM218 229.5l-21.4 35.7c-1.1 .6-1.9 1-2.6 1.3c-7.9 3.5-16.8 5.5-26.1 5.5c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64c0 2.5-.1 4.9-.4 7.3c-5.4 3.6-10.1 8.4-13.5 14.1zM280 208c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-9.3 0-18.1-2-26.1-5.5c-.6-.3-1.5-.7-2.6-1.3L294 229.5c-3.5-5.8-8.1-10.6-13.5-14.1c-.3-2.4-.4-4.9-.4-7.3zm219.4-31.6C465.9 74 369.6 0 256 0S46.1 74 12.6 176.4C5.4 177.9 0 184.3 0 192c0 4.7 2 9 5.3 11.9C1.8 220.7 0 238.1 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256c0-17.9-1.8-35.3-5.3-52.1c3.3-2.9 5.3-7.2 5.3-11.9c0-7.7-5.4-14.1-12.6-15.6zM63.9 176c6.4-15.3 14.5-29.7 24.2-42.9c-.6 4.5 .2 9.3 2.4 13.6l1.4 2.7c-6.1 8-11 16.9-14.4 26.5H63.9zm384.1 0H434.5c-3.4-9.6-8.3-18.6-14.4-26.5l1.4-2.7c2.2-4.4 2.9-9.1 2.4-13.6c9.7 13.2 17.8 27.6 24.2 42.9zM104.9 113.1C142.8 73 196.5 48 256 48s113.2 25 151.1 65.1c-9-2.8-18.7 0-24.9 6.8c-2-.9-4.1-1.7-6.2-2.4V112c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.3c-1.5 .2-2.9 .5-4.4 .8c-6.7-9.6-19.6-13-30.3-7.6s-15.7 17.8-12.1 28.9c-10.7 9.3-19.4 21-25.2 34.2c-5.8-13.2-14.4-24.9-25.2-34.2c3.6-11.1-1.3-23.5-12.1-28.9s-23.6-1.9-30.4 7.6c-1.4-.3-2.9-.6-4.4-.8V112c0-13.3-10.7-24-24-24s-24 10.7-24 24v5.5c-2.1 .7-4.2 1.6-6.2 2.4c-6.2-6.9-16-9.6-24.9-6.8zM256 240c4.3 0 8.3 2.3 10.5 6l39.8 66.3 2.4 4 4.2 2.1 17.7 8.8c3.4 1.7 5.5 5.1 5.5 8.8s-2.1 7.2-5.5 8.8l-53.1 26.5c-13.5 6.8-29.4 6.8-42.9 0l-53.1-26.5c-3.4-1.7-5.5-5.1-5.5-8.8s2.1-7.2 5.5-8.8l17.7-8.8 4.2-2.1 2.4-4L245.5 246c2.2-3.7 6.2-6 10.5-6zm-64-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm152 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleArrowDownRight = {\n prefix: 'far',\n iconName: 'circle-arrow-down-right',\n icon: [512, 512, [], \"e0fa\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM192 368H344c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V286.1L185 151c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l135 135H192c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faAlien8bit = {\n prefix: 'far',\n iconName: 'alien-8bit',\n icon: [640, 512, [128126, \"alien-monster\"], \"f8f6\", \"M152 32c13.3 0 24 10.7 24 24h24c13.3 0 24 10.7 24 24v48H416V80c0-13.3 10.7-24 24-24h24c0-13.3 10.7-24 24-24s24 10.7 24 24V80c0 13.3-10.7 24-24 24H464v48 8h24c13.3 0 24 10.7 24 24v56h8 40V152c0-13.3 10.7-24 24-24s24 10.7 24 24V264c0 13.3-10.7 24-24 24H544v72c0 13.3-10.7 24-24 24H480v72c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V384H208v48h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V384H120c-13.3 0-24-10.7-24-24V288H56c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24v88h40 8V184c0-13.3 10.7-24 24-24h24v-8V104H152c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm72 144v8c0 13.3-10.7 24-24 24H176v56c0 13.3-10.7 24-24 24h-8v48h40H456h40V288h-8c-13.3 0-24-10.7-24-24V208H440c-13.3 0-24-10.7-24-24v-8H224zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240zm144-16h32c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faAlienMonster = faAlien8bit;\nvar faHandPointRibbon = {\n prefix: 'far',\n iconName: 'hand-point-ribbon',\n icon: [448, 512, [], \"e1a6\", \"M112 48c8.8 0 16 7.2 16 16V80H96V64c0-8.8 7.2-16 16-16zm64 32V64c0-35.3-28.7-64-64-64S48 28.7 48 64V80H11.8C5.3 80 0 85.3 0 91.8c0 3.9 1.9 7.5 5.1 9.7L43.6 128 5.1 154.5c-3.2 2.2-5.1 5.8-5.1 9.7C0 170.7 5.3 176 11.8 176H48v96c-10 13.4-16 30-16 48v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V320 256c0-35.3-28.7-64-64-64c-11 0-21.3 2.8-30.3 7.6C309.9 185.2 292 176 272 176c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36V96c0-8.8-7.2-16-16-16zm-48 96v32 32H112c-5.5 0-10.8 .6-16 1.6V176h32zm24 112h40c8.8 0 16 7.2 16 16s-7.2 16-16 16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14c11 0 21.3-2.8 30.3-7.6C314.1 374.8 332 384 352 384c3.2 0 6.3-.2 9.4-.7C345.1 430.3 300.5 464 248 464H200c-66.3 0-120-53.7-120-120V320v0c0-17.7 14.3-32 32-32h40zm200-48c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 256c0-8.8 7.2-16 16-16zm-144 2c-5.1-1.3-10.5-2-16-2H176V208c0-8.8 7.2-16 16-16s16 7.2 16 16v32 2zm48-2c0-8.8 7.2-16 16-16s16 7.2 16 16v16 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V264 240z\"]\n};\nvar faPoop = {\n prefix: 'far',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M224 24V0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l17-17zM358.6 132.8l-23.7 3.6c1.3 8.6 7.2 15.9 15.3 18.9l8.4-22.5zm46.6 91.8l-23.1-6.5c-1.9 6.7-.8 13.9 3 19.7s10 9.7 16.9 10.6l3.2-23.8zm41.1 113.1l-17.8-16.2c-5 5.4-7.1 12.9-5.9 20.1s5.7 13.6 12.2 17.1l11.5-21.1zm-380.6 0l11.5 21.1c6.5-3.5 10.9-9.8 12.2-17.1s-1-14.7-5.9-20.1L65.7 337.8zm41.1-113.1l3.2 23.8c6.9-.9 13-4.8 16.9-10.6s4.9-13 3-19.7l-23.1 6.5zm57.7-95l4.9 23.5c.4-.1 .8-.2 1.2-.3l-6-23.2zm66.9-98.1l17-17v0l-17 17zM232 0h-8V48h8V0zM382.3 129.2C371.3 56.1 308.2 0 232 0V48c52.1 0 95.3 38.3 102.8 88.3l47.5-7.2zM432 204c0-43-27.1-79.6-65-93.7l-16.8 45C370 162.6 384 181.7 384 204h48zm-3.7 27.1c2.4-8.6 3.7-17.7 3.7-27.1H384c0 4.9-.7 9.7-1.9 14.1l46.2 13zM488 292c0-46.6-34.7-85.1-79.6-91.2L402 248.4c21.5 2.9 38 21.3 38 43.6h48zm-23.9 61.9C478.9 337.6 488 315.8 488 292H440c0 11.4-4.3 21.8-11.4 29.6l35.5 32.3zM512 408c0-39.4-21.9-73.7-54.2-91.3l-23 42.1c17.4 9.5 29.2 28 29.2 49.2h48zM408 512c57.4 0 104-46.6 104-104H464c0 30.9-25.1 56-56 56v48zm-304 0H408V464H104v48zM0 408c0 57.4 46.6 104 104 104V464c-30.9 0-56-25.1-56-56H0zm54.2-91.3C22 334.3 0 368.6 0 408H48c0-21.2 11.7-39.7 29.2-49.2l-23-42.1zM24 292c0 23.8 9.1 45.6 23.9 61.9l35.5-32.3C76.3 313.8 72 303.4 72 292H24zm79.6-91.2C58.7 206.9 24 245.4 24 292H72c0-22.3 16.6-40.7 38-43.6l-6.4-47.6zM80 204c0 9.4 1.3 18.5 3.7 27.1l46.2-13c-1.3-4.5-1.9-9.2-1.9-14.1H80zm79.7-97.9C114.2 115.5 80 155.7 80 204h48c0-25.1 17.8-46 41.4-50.9l-9.7-47zm17.2-2.1c-6.3 0-12.5 .8-18.4 2.4l12.1 46.4c2-.5 4.1-.8 6.3-.8V104zm3.1 0h-3.1v48H180V104zm14.7 0H180v48h14.7V104zM224 74.7c0 16.2-13.1 29.3-29.3 29.3v48c42.7 0 77.3-34.6 77.3-77.3H224zm0-3.2v3.2h48V71.4H224zm-9.5-23c6.1 6.1 9.5 14.4 9.5 23h48c0-21.4-8.5-41.9-23.6-57L214.5 48.4zM207 41l7.4 7.4 33.9-33.9L241 7 207 41z\"]\n};\nvar faObjectExclude = {\n prefix: 'far',\n iconName: 'object-exclude',\n icon: [512, 512, [], \"e49c\", \"M64 48H288c8.8 0 16 7.2 16 16v64h48V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V304H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm96 336v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H384v48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V384H160zm128-32c35.3 0 64-28.7 64-64H304c0 8.8-7.2 16-16 16H256v48h32zm64-144V160H304 288v48h16v48h48V208zM224 352l0-48H208V256H160v48 48h48 16zM160 224h48c0-8.8 7.2-16 16-16h32V160H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faTelescope = {\n prefix: 'far',\n iconName: 'telescope',\n icon: [576, 512, [128301], \"e03e\", \"M459.7 231.7l61.5-35.5-80-138.6L379.7 93.1l80 138.6zM328.4 99.6c-6.2-14.6-.6-31.9 13.5-40.1L431.1 8C446.4-.8 466 4.4 474.8 19.7l96 166.3c8.8 15.3 3.6 34.9-11.7 43.7l-89.2 51.5c-15.3 8.8-34.9 3.6-43.7-11.7l-.5-.8-42.6 23.1c.6 4 .9 8.1 .9 12.3c0 20.1-7.4 38.5-19.7 52.5l49.9 122.4c5 12.3-.9 26.3-13.2 31.3s-26.3-.9-31.3-13.2l-47-115.3c-6 1.5-12.3 2.2-18.8 2.2s-12.8-.8-18.8-2.2l-47 115.3c-5 12.3-19 18.2-31.3 13.2s-18.2-19-13.2-31.3l44.3-108.8L149.5 418c-15.2 8.2-34.3 2.9-42.9-12.1l-.7-1.3L61.7 430.1c-11.5 6.6-26.2 2.7-32.8-8.8L3.1 376.4c-6.6-11.5-2.7-26.2 8.8-32.8l44.1-25.5L52 311.4c-8.6-14.9-3.9-33.8 10.6-43L328.4 99.6zm73.3 127.5l-49.5-85.7L101.3 300.7l39.1 67.7L226 322.1c-1.3-5.8-2-11.9-2-18.1c0-44.2 35.8-80 80-80c22.7 0 43.2 9.5 57.8 24.7l39.9-21.6zM304 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLocationPin = {\n prefix: 'far',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M320.7 249.2c-10.5 24.8-25.4 52.2-42.5 79.9C249.8 375.3 216.8 420 192 451.7c-24.8-31.8-57.8-76.4-86.2-122.6c-17.1-27.7-32-55.1-42.5-79.9C52.5 223.6 48 204.4 48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 12.4-4.5 31.6-15.3 57.2zm-105 250C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0z\"]\n};\nvar faMapMarker = faLocationPin;\nvar faSquareList = {\n prefix: 'far',\n iconName: 'square-list',\n icon: [448, 512, [], \"e489\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm104 0c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm-72-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faKaaba = {\n prefix: 'far',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M288 48.8L490.4 112 288 175.2 85.6 112 288 48.8zm9.5 173.8l230.5-72v45.7L292.8 269.7c-3.1 1-6.4 1-9.5 0L48 196.2V150.5l230.5 72c6.2 1.9 12.9 1.9 19.1 0zM48 229.8l225.7 70.5c9.3 2.9 19.3 2.9 28.6 0L528 229.8v30.5l-4.8 1.5c-8.4 2.6-13.1 11.6-10.5 20c2.1 6.8 8.5 11.2 15.3 11.2v95.2l-240 75-240-75V293c6.8 0 13.1-4.4 15.3-11.2c2.6-8.4-2.1-17.4-10.5-20L48 260.2V229.8zM22.5 81.5C9.1 85.6 0 98 0 112V400c0 14 9.1 26.4 22.5 30.5l256 80c6.2 1.9 12.9 1.9 19.1 0l256-80C566.9 426.4 576 414 576 400V112c0-14-9.1-26.4-22.5-30.5l-256-80c-6.2-1.9-12.9-1.9-19.1 0l-256 80zm94.3 200.3c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nvar faToiletPaper = {\n prefix: 'far',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M16.9 487.4c-1.9-8-.7-16.5 3.6-23.7l0-.1c3.8-7 7.3-14.2 10.5-21.6C63.6 366.5 64 269.6 64 192C64 86 107 0 160 0H492.2l0 .1c1.3-.1 2.6-.1 3.8-.1c24.5 0 44.1 11.4 58 24.5c13.6 13 23.7 29.4 31.1 46.1C600 104.2 608 147.1 608 192s-8 87.8-22.9 121.3c-7.4 16.7-17.5 33.2-31.1 46.1c-13.9 13.2-33.5 24.5-58 24.5c-17.8 0-33-6-45.3-14.3c3-18.3 5.8-38.5 7.9-60.8C469.1 326 482 336 496 336c35.3 0 64-64.5 64-144s-28.7-144-64-144c-1.6 0-3.1 .1-4.6 .4C458.2 53.7 432 116 432 192c0 58.9-3.8 108.1-9.3 148.6l-.1 .8c-9.4 68.1-23.7 111.3-33.3 134.5c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2c-1.5-2.7-2.6-5.5-3.3-8.4zM160 48c-.1 0-.1 0-.3 0s-.4 .1-.9 .3c-.9 .4-2.7 1.3-5.2 3.4c-5.2 4.4-11.9 12.6-18.6 26C121.7 104.5 112 144.8 112 192c0 42.3-.1 93.4-5.9 144.1C101.2 378.5 92 423.1 73.8 464H333.9c2.7 0 5.3-.8 7.3-2c1.7-1 3-2.4 3.8-4.5C357.7 427 384 345.2 384 192c0-44.9 8-87.8 22.9-121.3C410.3 63 414.3 55.3 419 48H160zM520 192c0 26.5-10.7 48-24 48s-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48zm-344 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faHelmetSafety = {\n prefix: 'far',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M264 80h48c4.4 0 8 3.6 8 8V296c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-30.9-25.1-56-56-56H264c-30.9 0-56 25.1-56 56V296c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-4.4 3.6-8 8-8zM559.4 384H16.6C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6zM32 288v64H80V288c0-68.4 39-127.7 96-156.8V78.7C91.8 110.9 32 192.5 32 288zm464-2.2l0 66.2h48l0-64 0-2.4c-1-94.5-60.5-174.9-144-206.9v52.5c56.4 28.8 95.2 87.2 96 154.6z\"]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faCommentCode = {\n prefix: 'far',\n iconName: 'comment-code',\n icon: [512, 512, [], \"e147\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM217 193c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM329 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faSimCards = {\n prefix: 'far',\n iconName: 'sim-cards',\n icon: [448, 512, [], \"e251\", \"M144 352c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L320.8 52.7c-3-3-7.1-4.7-11.3-4.7H160c-8.8 0-16 7.2-16 16V352zM429.3 93.3c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24zm184 80h64v64H256 176V208c0-17.7 14.3-32 32-32zM176 304V272h64v64H208c-17.7 0-32-14.3-32-32zm192 0c0 17.7-14.3 32-32 32H272V272h16 80v32zm0-96v32H304V176h32c17.7 0 32 14.3 32 32z\"]\n};\nvar faStarship = {\n prefix: 'far',\n iconName: 'starship',\n icon: [640, 512, [], \"e039\", \"M0 96C0 60.7 28.7 32 64 32H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H164.8l37.7 26.1 70.1-8.4C302.6 110.7 369.9 64 448 64c106 0 192 86 192 192s-86 192-192 192c-78.1 0-145.4-46.7-175.3-113.7l-70.1-8.4L164.8 352H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H64c-35.3 0-64-28.7-64-64s28.7-64 64-64H80.5l50.1-34.7-13.7-1.6C86.7 312 64 286.4 64 256s22.7-56 52.9-59.6l13.7-1.6L80.5 160H64C28.7 160 0 131.3 0 96zM64 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H192c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zm58.6 164c-6.1 .7-10.6 5.9-10.6 12s4.6 11.3 10.6 12l135.4 16.3c-1.4-9.2-2.1-18.6-2.1-28.2s.7-19 2.1-28.2L122.6 244zM48 416c0 8.8 7.2 16 16 16H192c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm400-16a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm32-144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faEject = {\n prefix: 'far',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M4.1 323.3c-7.7-17.4-4.3-37.7 8.6-51.8l176-192C197.7 69.6 210.5 64 224 64s26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 352 400 352H48c-19 0-36.3-11.2-43.9-28.7zM48 304l352 0L224 112 48 304zM24 400H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCircleRight = {\n prefix: 'far',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1c-4.2-4.5-10.1-7.1-16.3-7.1C266 128 256 138 256 150.3V208H160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h96v57.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.3-7.1l99.9-107.1c3.5-3.8 5.5-8.7 5.5-13.8s-2-10.1-5.5-13.8L294.6 135.1z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'far',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l84.8 54.3c-16 7.5-30.6 17.4-43.5 29.2l-78.3-50.1c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6l17.3 5.2c10.6 17.7 24.3 33.3 40.3 46.2c-6.4 5-14.5 7.9-23.2 7.9c-2.3 0-4.6-.3-6.9-1l6.9-23-6.9 23 0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0-6.9-23 6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm104 262.1l20.1 6.4C327 311.3 320 338.6 320 367.5c0 17.4 2.5 34.1 7.2 49.9l-29.6-22.2c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSeal = {\n prefix: 'far',\n iconName: 'seal',\n icon: [512, 512, [], \"e241\", \"M210.4 97.9c-9 9-21.2 14.1-33.9 14.1H112v64.5c0 12.7-5.1 24.9-14.1 33.9L52.4 256l45.6 45.6c9 9 14.1 21.2 14.1 33.9V400h64.5c12.7 0 24.9 5.1 33.9 14.1L256 459.6l45.6-45.6c9-9 21.2-14.1 33.9-14.1H400V335.5c0-12.7 5.1-24.9 14.1-33.9L459.6 256l-45.6-45.6c-9-9-14.1-21.2-14.1-33.9V112H335.5c-12.7 0-24.9-5.1-33.9-14.1L256 52.4 210.4 97.9zm11.6-79.5c18.7-18.7 49.1-18.7 67.9 0L335.5 64H400c26.5 0 48 21.5 48 48v64.5l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.5V400c0 26.5-21.5 48-48 48H335.5l-45.6 45.6c-18.7 18.7-49.1 18.7-67.9 0L176.5 448H112c-26.5 0-48-21.5-48-48V335.5L18.4 289.9c-18.7-18.7-18.7-49.1 0-67.9L64 176.5V112c0-26.5 21.5-48 48-48h64.5l45.6-45.6z\"]\n};\nvar faUserCowboy = {\n prefix: 'far',\n iconName: 'user-cowboy',\n icon: [448, 512, [], \"f8ea\", \"M208.5 9.9c4.8 3.3 8.8 6.1 15.5 6.1s10.8-2.8 15.5-6.1C246.1 5.4 254 0 272 0c35.6 0 58.8 59.3 72.4 112c7.1-2.2 13.7-4.5 19.8-6.9c32.4-12.7 49.4-27.2 55-34.7c4.7-6.3 13.3-8.2 20.2-4.6s10.2 11.8 7.8 19.2c-9.3 27.9-35 62.4-72.5 89.9c-7.4 5.4-15.4 10.6-23.8 15.5c.8 5.8 1.2 11.6 1.2 17.6c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-6 .4-11.9 1.2-17.6c-8.4-4.8-16.4-10-23.8-15.5C35.8 147.5 10.1 113 .8 85.1c-2.5-7.4 .8-15.6 7.8-19.2s15.5-1.7 20.2 4.6c5.6 7.5 22.7 22 55 34.7c6.1 2.4 12.7 4.7 19.8 6.9C117.2 59.3 140.4 0 176 0c18 0 25.9 5.4 32.5 9.9zM224 224c-29 0-55.8-4.8-79.9-12.7c1.7 42.7 36.8 76.7 79.9 76.7s78.2-34.1 79.9-76.7C279.8 219.2 253 224 224 224zM54.2 458.7l-.6 5.3H394.4l-.6-5.3c-2.7-24.3-23.2-42.7-47.7-42.7H101.9c-24.5 0-45 18.4-47.7 42.7zM6.5 453.4C11.9 404.8 53 368 101.9 368H346.1c48.9 0 90 36.8 95.4 85.4l2.6 23.1c2.1 19-12.7 35.5-31.8 35.5H35.8c-19.1 0-33.9-16.6-31.8-35.5l2.6-23.1z\"]\n};\nvar faHexagonVerticalNft = {\n prefix: 'far',\n iconName: 'hexagon-vertical-nft',\n icon: [448, 512, [], \"e505\", \"M260.9 495.5c-22.3 12.9-49.7 12.9-72 0L36 407.2C13.7 394.4 0 370.6 0 344.9V168.3c0-25.7 13.7-49.5 36-62.4L188.9 17.7c22.3-12.9 49.7-12.9 72 0l152.9 88.3c22.3 12.9 36 36.6 36 62.4V344.9c0 25.7-13.7 49.5-36 62.4L260.9 495.5zm-48-41.6c7.4 4.3 16.6 4.3 24 0l152.9-88.3c7.4-4.3 12-12.2 12-20.8V168.3c0-8.6-4.6-16.5-12-20.8L236.9 59.2c-7.4-4.3-16.6-4.3-24 0L60 147.5c-7.4 4.3-12 12.2-12 20.8l0 176.6c0 8.6 4.6 16.5 12 20.8l152.9 88.3zM95.8 170.6l33.1 82.9V176.6c0-8.8 7.2-16 16-16s16 7.2 16 16v160c0 7.7-5.4 14.3-13 15.7s-15-2.6-17.9-9.8L96.9 259.7v76.9c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.7 5.4-14.3 13-15.7s15 2.6 17.9 9.8zm97.1 5.9c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v64c0 8.8-7.2 16-16 16s-16-7.2-16-16v-80-80zm112-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16h-16v144c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144h-16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFaceRollingEyes = {\n prefix: 'far',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 376c0 13.3 10.7 24 24 24H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-13.3 0-24 10.7-24 24zm-8-104c-26.5 0-48-21.5-48-48c0-14.3 6.3-27.2 16.2-36c-.2 1.3-.2 2.6-.2 4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.4-.1-2.7-.2-4c10 8.8 16.2 21.7 16.2 36c0 26.5-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm192-32c-26.5 0-48-21.5-48-48c0-14.3 6.3-27.2 16.2-36c-.2 1.3-.2 2.6-.2 4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.4-.1-2.7-.2-4c10 8.8 16.2 21.7 16.2 36c0 26.5-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faBreadLoaf = {\n prefix: 'far',\n iconName: 'bread-loaf',\n icon: [640, 512, [127838], \"f7eb\", \"M64 208c-8.8 0-16-7.2-16-16c0-36.7 23.6-63.9 68.1-84.4C160.5 87.1 213.4 80 240 80s79.5 7.1 123.9 27.6C408.4 128.1 432 155.3 432 192c0 8.8-7.2 16-16 16c-26.5 0-48 21.5-48 48V432H320 112V256c0-26.5-21.5-48-48-48zm352 48H528V432H416V304 256zm155.3-47.8c-1.1-.1-2.2-.2-3.3-.2H478c1.3-5.1 2-10.5 2-16c0-51.1-28-86.9-65.8-111.5c28.7 2 72.2 9.7 109.7 27C568.4 128.1 592 155.3 592 192c0 8.8-7.2 16-16 16c-1.6 0-3.1 .1-4.7 .2zM112 480H320h48H528c26.5 0 48-21.5 48-48V304 256c35.3 0 64-28.7 64-64C640 64 464 32 400 32H288 240C176 32 0 64 0 192c0 35.3 28.7 64 64 64v48V432c0 26.5 21.5 48 48 48z\"]\n};\nvar faRingsWedding = {\n prefix: 'far',\n iconName: 'rings-wedding',\n icon: [512, 512, [], \"f81b\", \"M119.9 105.1C50.2 128.6 0 194.4 0 272c0 97.2 78.8 176 176 176c7.8 0 15.5-.5 23-1.5c32.3 39.9 81.6 65.5 137 65.5c97.2 0 176-78.8 176-176c0-91.9-70.4-167.3-160.3-175.3c10.4 16.5 18.6 34.5 24.2 53.6C427.1 231.1 464 279.2 464 336c0 70.7-57.3 128-128 128c-32.8 0-62.7-12.3-85.3-32.6l0 0c-12.3-11-22.5-24.4-29.8-39.5l0 0C212.6 375 208 356.1 208 336c0-54.9 34.6-101.8 83.2-119.9C299.4 233 304 251.9 304 272c0 43.5-21.7 81.9-54.8 105c7 14.8 17.7 27.5 30.8 37c43.7-32 72-83.7 72-142c0-77.6-50.2-143.4-119.9-166.9l22.5-50.6c1.9-4.4 1.8-9.4-.3-13.7l-16-32C235.6 3.4 230.1 0 224 0H128c-6.1 0-11.6 3.4-14.3 8.8l-16 32c-2.1 4.3-2.3 9.3-.3 13.7l22.5 50.6zM147.8 48h56.4l.4 .8L187.2 88H164.8L147.4 48.8l.4-.8zM160 336c0 22.6 4.2 44.1 12 63.9C103.1 397.8 48 341.3 48 272c0-70.7 57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6C201.5 204.7 160 265.5 160 336z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M48 115.8C38.2 107 32 94.2 32 80c0-26.5 21.5-48 48-48c14.2 0 27 6.2 35.8 16H460.2c8.8-9.8 21.6-16 35.8-16c26.5 0 48 21.5 48 48c0 14.2-6.2 27-16 35.8V396.2c9.8 8.8 16 21.6 16 35.8c0 26.5-21.5 48-48 48c-14.2 0-27-6.2-35.8-16H115.8c-8.8 9.8-21.6 16-35.8 16c-26.5 0-48-21.5-48-48c0-14.2 6.2-27 16-35.8V115.8zM125.3 96c-4.8 13.6-15.6 24.4-29.3 29.3V386.7c13.6 4.8 24.4 15.6 29.3 29.3H450.7c4.8-13.6 15.6-24.4 29.3-29.3V125.3c-13.6-4.8-24.4-15.6-29.3-29.3H125.3zm2.7 64c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"]\n};\nvar faFrenchFries = {\n prefix: 'far',\n iconName: 'french-fries',\n icon: [384, 512, [127839], \"f803\", \"M167.6 2.4c4.7-2.9 10.6-3.2 15.6-.7l32 16c5.4 2.7 8.8 8.1 8.8 14.1v238c-9.2 1.4-19.8 2.2-32 2.2s-22.8-.8-32-2.2V206.7l0 0V16c0-5.5 2.9-10.7 7.6-13.6zM128 261c-4.8-2.1-8.7-4.4-11.8-6.6c-12-8.4-16.7-18-18.7-24.3c-.4-1.1-.8-2.3-1.2-3.4l-32-192c-1.2-6.9 2.3-13.8 8.6-16.9l32-16c4.5-2.3 9.9-2.3 14.4 .1s7.7 6.6 8.5 11.6l.2 1.3V261zM58.2 193c-3.2-.7-6.6-1-10.2-1H21.4c-1.6 0-3.2 .1-4.7 .2L.2 98.8C-.7 93.4 1.1 88 5.1 84.3s9.5-5.1 14.8-3.8l20.4 5.1L58.2 193zm309.1-.8c-1.6-.1-3.1-.2-4.7-.2H336c-3.1 0-6 .3-8.8 .8L346.2 85l17.9-4.5c5.3-1.3 10.8 .1 14.8 3.8s5.8 9.1 4.8 14.5l-16.5 93.4zM289.4 223c-1.1 2.4-2.1 4.7-2.8 7c-2 6.3-6.7 15.9-18.7 24.3c-3.2 2.2-7.1 4.5-11.8 6.6V54.6l.2-1.4C257.3 47 262 42 268.1 40.5l32-8c5.3-1.3 10.8 .1 14.8 3.8s5.8 9.1 4.8 14.5L289.4 223zM48 224c8.8 0 16.3 7.2 18.9 15.7C74.3 263 100.3 304 192 304s117.7-41 125.1-64.3c2.7-8.4 10.1-15.7 18.9-15.7h26.6c11.8 0 21.4 9.6 21.4 21.4c0 1.7-.2 3.4-.6 5.1l-57.5 237c-3.5 14.4-16.3 24.5-31.1 24.5H89.2c-14.8 0-27.6-10.1-31.1-24.5L.6 250.5c-.4-1.7-.6-3.3-.6-5.1C0 233.6 9.6 224 21.4 224H48zm269.9 92.8c-1.4 1.1-2.8 2.1-4.3 3.1C284.7 340.1 244.9 352 192 352s-92.7-11.9-121.6-32.1c-1.5-1-2.9-2.1-4.3-3.1L101.8 464H282.2l35.7-147.2z\"]\n};\nvar faChartLine = {\n prefix: 'far',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM473 169c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119-79-79c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l79-79 79 79c9.4 9.4 24.6 9.4 33.9 0L473 169z\"]\n};\nvar faLineChart = faChartLine;\nvar faCalendarArrowDown = {\n prefix: 'far',\n iconName: 'calendar-arrow-down',\n icon: [448, 512, [\"calendar-download\"], \"e0d0\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM248 248V350.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V248c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCalendarDownload = faCalendarArrowDown;\nvar faSendBack = {\n prefix: 'far',\n iconName: 'send-back',\n icon: [640, 512, [], \"f87e\", \"M192 48c8.8 0 16 7.2 16 16V192c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H192zM64 0C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM576 304c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H448c-8.8 0-16-7.2-16-16V320c0-8.8 7.2-16 16-16H576zM448 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H448zM160 288v64c0 35.3 28.7 64 64 64H352V320c0-53 43-96 96-96h32V160c0-35.3-28.7-64-64-64H288v96c0 53-43 96-96 96H160z\"]\n};\nvar faMaskVentilator = {\n prefix: 'far',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M176 300.8c0 26.7 8.9 52.3 24.7 73.6c-.5-4.3-.7-8.7-.7-13.1c0-31.9 12.4-72.4 31.4-104.9c9.6-16.5 21.7-32.1 36-43.8C281.7 200.9 299.5 192 320 192c20.4 0 38.2 8.9 52.4 20.7s26.3 27.3 36 43.8c19.1 32.5 31.6 73 31.6 104.9c0 4.3-.2 8.5-.6 12.7C455 352.8 464 327.4 464 300.8c0-38.2-17.9-96.6-49.1-145.7C382.2 103.7 346.7 80 320 80c-27.3 0-62.7 23.8-95.2 75C193.7 204.1 176 262.5 176 300.8zm72 60.5c0 21.8 9.2 41.2 24 54.5v58.6c-45.3-10.8-84-36.5-109.8-71.1L90.9 385.5C37.5 372.1 0 324.1 0 269V184c0-30.9 25.1-56 56-56H185.1C219.8 73.8 267.4 32 320 32c52.1 0 99.7 41.8 134.5 96H584c30.9 0 56 25.1 56 56v85c0 55.1-37.5 103.1-90.9 116.4l-71.6 17.9c-26 34.6-64.7 60.2-109.5 71V415.7c14.7-13.3 24-32.6 24-54.3c0-21.6-9.2-53.7-25-80.6c-7.8-13.2-16.4-23.9-25.1-31.1s-16-9.7-21.9-9.7c-6 0-13.5 2.6-22.1 9.7c-8.7 7.1-17.3 17.8-25.1 31c-15.7 26.8-24.8 59-24.8 80.6zm257.6-14.5l31.8-8c32.1-8 54.5-36.8 54.5-69.9V184c0-4.4-3.6-8-8-8H480.7c19.8 43.2 31.3 88.7 31.3 124.8c0 16-2.2 31.4-6.4 46.1zM159.1 176H56c-4.4 0-8 3.6-8 8v85c0 33 22.5 61.8 54.5 69.9l31.8 7.9c-4.1-14.7-6.3-30.1-6.3-46c0-36.1 11.4-81.6 31.1-124.8zM296 328c0-13.3 10.7-24 24-24s24 10.7 24 24V512H296V328z\"]\n};\nvar faSignatureLock = {\n prefix: 'far',\n iconName: 'signature-lock',\n icon: [640, 512, [], \"e3ca\", \"M80 128c0-26.5 21.5-48 48-48s48 21.5 48 48v7.9c0 27.5-2.3 55-7 82.1L62 251.1C25.1 262.5 0 296.6 0 335.2V410c0 38.6 31.3 70 70 70c24.6 0 47.4-12.9 60-34l15.9-26.4c29.6-49.4 51.1-103.3 63.6-159.5l1-4.7 110.8-34.3-23.9 66.8c-2.6 7.4-1.5 15.5 3 21.9s11.8 10.2 19.6 10.2h72.6c5.6-9.7 13.7-17.8 23.4-23.4V272H354.1l28.5-79.9c3.1-8.6 1-18.1-5.3-24.7s-15.7-9-24.4-6.3l-133 41.2c2.7-22 4.1-44.2 4.1-66.4V128c0-53-43-96-96-96s-96 43-96 96v40c0 13.3 10.7 24 24 24s24-10.7 24-24V128zM208.1 368c-7 16.3-14.8 32.4-23.3 48H384V368H208.1zM76.2 297l80.9-25c-11.7 43.2-29.4 84.5-52.4 123L88.8 421.3C84.8 428 77.7 432 70 432c-12.1 0-22-9.8-22-22V335.2c0-17.5 11.4-33 28.2-38.2zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRight = {\n prefix: 'far',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M440.6 273.4c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9L364.1 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l340.1 0L231.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168z\"]\n};\nvar faSignsPost = {\n prefix: 'far',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M232 24c0-13.3 10.7-24 24-24s24 10.7 24 24v8H440.3c4.9 0 9.5 2.2 12.5 6L504 102c4.7 5.8 4.7 14.1 0 20l-51.2 64c-3 3.8-7.6 6-12.5 6H280v32H448c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H71.7c-4.9 0-9.5-2.2-12.5-6L8 314c-4.7-5.8-4.7-14.1 0-20l51.2-64c3-3.8 7.6-6 12.5-6H232V192H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H232V24zM80 80v64H424.9l25.6-32L424.9 80H80zM432 336V272H87.1L61.5 304l25.6 32H432z\"]\n};\nvar faMapSigns = faSignsPost;\nvar faOctagonPlus = {\n prefix: 'far',\n iconName: 'octagon-plus',\n icon: [512, 512, [\"plus-octagon\"], \"f301\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusOctagon = faOctagonPlus;\nvar faCashRegister = {\n prefix: 'far',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32H87.5c-31.8 0-58.9 23.4-63.4 54.9L.6 379.5c-.4 3-.6 6-.6 9V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V388.5c0-3-.2-6.1-.6-9L487.8 214.9c-4.5-31.5-31.5-54.9-63.4-54.9H208V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM48 448V432H464v16c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM440.3 221.7L463.5 384H48.5L71.7 221.7c1.1-7.9 7.9-13.7 15.8-13.7h337c8 0 14.7 5.9 15.8 13.7zM112 232a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faPersonCircleQuestion = {\n prefix: 'far',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faMelonSlice = {\n prefix: 'far',\n iconName: 'melon-slice',\n icon: [512, 512, [], \"e311\", \"M7 391c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0L319 79c-6.2 6.2-8.5 15.3-6.1 23.7l0 0 .1 .4c.1 .5 .3 1.3 .6 2.4c.5 2.3 1.2 5.8 1.8 10.4c1.2 9.2 2.1 22.3 .6 37.9c-2.9 30.9-15.1 71.3-53 109.2c-42.3 42.3-82.7 54-111.6 55.9c-14.7 1-26.8-.5-35-2.2c-4.1-.8-7.2-1.7-9.2-2.3c-1-.3-1.7-.5-2-.7l-.3-.1C96 310.2 85.8 312.2 79 319L7 391zM313 102.7l0 0 0 0 0 0c0 0 0 0 0-.1zm51.8 35.2C377.1 161.3 384 187.8 384 216c0 92.8-75.2 168-168 168c-26.2 0-51-6-73.1-16.7c3.8 0 7.7-.2 11.8-.4c39.9-2.7 91.4-19 142.2-69.9c47.2-47.2 63-98.7 66.8-138.6c.7-7.2 1-14.1 1-20.4zM81.2 384.8C118.1 414.3 165 432 216 432c119.3 0 216-96.7 216-216c0-51-17.7-97.9-47.2-134.8l22.4-22.4c80.4 97.4 75.3 241.5-15.8 332.6s-235.2 96.2-332.6 15.8l22.4-22.4z\"]\n};\nvar faSpaceStationMoon = {\n prefix: 'far',\n iconName: 'space-station-moon',\n icon: [512, 512, [], \"e033\", \"M256 48c-16.5 0-32.5 1.9-47.8 5.5C245.4 66.8 272 102.3 272 144c0 53-43 96-96 96c-52.7 0-95.4-42.4-96-94.9C59.7 177.2 48 215.2 48 256c0 12.8 1.1 25.2 3.3 37.4c.5 .2 1 .3 1.5 .5C87.7 306.5 147.6 328 256 328s168.3-21.5 203.2-34.1l0 0c.5-.2 1-.4 1.5-.5c2.2-12.1 3.3-24.6 3.3-37.4c0-114.9-93.1-208-208-208zM441.3 350.7C402.1 362.7 343 376 256 376s-146.1-13.3-185.3-25.3C105.2 417.9 175.2 464 256 464s150.8-46.1 185.3-113.3zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM176 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faMessageSmile = {\n prefix: 'far',\n iconName: 'message-smile',\n icon: [512, 512, [\"comment-alt-smile\"], \"f4aa\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM192 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM150.5 238.1c-9.9 8.8-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32c-8.8-9.9-24-10.7-33.9-1.9z\"]\n};\nvar faCommentAltSmile = faMessageSmile;\nvar faCupStraw = {\n prefix: 'far',\n iconName: 'cup-straw',\n icon: [384, 512, [129380], \"e363\", \"M194.8 43.2l-20 84.8H80.2 32 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H36 84.2h89.9 35.8 89.9H348h12c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H303.8 224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3c-26 0-48.6 17.9-54.5 43.2zM38.7 208L60.3 468c2.1 24.9 22.9 44 47.8 44H275.8c25 0 45.8-19.1 47.8-44l21.7-260H297.2L275.8 464H108.2L86.8 208H38.7z\"]\n};\nvar faLeftFromLine = {\n prefix: 'far',\n iconName: 'left-from-line',\n icon: [448, 512, [\"arrow-alt-from-right\"], \"f348\", \"M160 146.2L50 256 160 365.8l0-53.8c0-13.3 10.7-24 24-24l120 0 0-64-120 0c-13.3 0-24-10.7-24-24l0-53.8zM0 256c0-11.5 4.6-22.5 12.7-30.6L128.8 109.6c8.7-8.7 20.5-13.6 32.8-13.6c25.6 0 46.4 20.8 46.4 46.4l0 33.6 96 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-96 0 0 33.6c0 25.6-20.8 46.4-46.4 46.4c-12.3 0-24.1-4.9-32.8-13.6L12.7 286.6C4.6 278.5 0 267.5 0 256zM400 88c0-13.3 10.7-24 24-24s24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-336z\"]\n};\nvar faArrowAltFromRight = faLeftFromLine;\nvar faH = {\n prefix: 'far',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M336 256l0 200c0 13.3 10.7 24 24 24s24-10.7 24-24l0-232V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V208L48 208 48 56c0-13.3-10.7-24-24-24S0 42.7 0 56L0 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-200 288 0z\"]\n};\nvar faBasketShoppingSimple = {\n prefix: 'far',\n iconName: 'basket-shopping-simple',\n icon: [576, 512, [\"shopping-basket-alt\"], \"e0af\", \"M243.1 2.7c11.8 6.1 16.3 20.6 10.2 32.4L171.7 192H404.3L322.7 35.1c-6.1-11.8-1.5-26.3 10.2-32.4s26.2-1.5 32.4 10.2L458.4 192h36.1H544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H532L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L44 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H81.5h36.1L210.7 12.9c6.1-11.8 20.6-16.3 32.4-10.2zM482.5 240H93.5l53 211.9c1.8 7.1 8.2 12.1 15.5 12.1H414c7.3 0 13.7-5 15.5-12.1l53-211.9zM144 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm264-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faShoppingBasketAlt = faBasketShoppingSimple;\nvar faHandsHoldingHeart = {\n prefix: 'far',\n iconName: 'hands-holding-heart',\n icon: [640, 512, [\"hands-heart\"], \"f4c3\", \"M180 76.6c0 20.3 8.1 39.8 22.4 54.1L305.9 234.1c7.8 7.8 20.5 7.8 28.3 0L437.6 130.7C451.9 116.4 460 96.9 460 76.6C460 34.3 425.7 0 383.4 0c-20.3 0-39.8 8.1-54.1 22.4L320 31.7l-9.3-9.3C296.4 8.1 276.9 0 256.6 0C214.3 0 180 34.3 180 76.6zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faHandsHeart = faHandsHoldingHeart;\nvar faClockNine = {\n prefix: 'far',\n iconName: 'clock-nine',\n icon: [512, 512, [], \"e34c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V256c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTarp = {\n prefix: 'far',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M48 128c0-8.8 7.2-16 16-16l448 0c8.8 0 16 7.2 16 16V288H448c-17.7 0-32 14.3-32 32v80L64 400c-8.8 0-16-7.2-16-16l0-256zm528 0c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l364.1 0c12.7 0 24.9-5.1 33.9-14.1l99.9-99.9c9-9 14.1-21.2 14.1-33.9V128zM112 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceSleepy = {\n prefix: 'far',\n iconName: 'face-sleepy',\n icon: [512, 512, [], \"e38e\", \"M256 464c47 0 90.4-15.6 125.2-41.9c2.7 14.8 2.8 29.6 2.8 41.9c0 4.5 .4 8.9 1.1 13.1C347.2 499.3 303.1 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 37-7.8 72.1-22 103.9c-7.4-6.2-15.1-11.8-22.7-16.7c-5.8-3.8-11.8-7.3-17.9-10.6C458.8 308.9 464 283 464 256c0-114.9-93.1-208-208-208S48 141.1 48 256s93.1 208 208 208zm-80-74.5C191.1 364.8 221.3 348 256 348s64.9 16.8 80.1 41.5c6.8 11.1-6 20.7-18.3 16.4c-18.9-6.5-39.8-10.1-61.8-10.1s-42.9 3.6-61.8 10.1c-12.3 4.2-25.1-5.3-18.3-16.4zM326.2 250.3c5.5 5.8 14.8 9.7 25.4 9.7s19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C391.7 293.2 371 300 351.6 300s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9zM159.6 260c10.6 0 19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C199.7 293.2 179 300 159.6 300s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9c5.5 5.8 14.8 9.7 25.4 9.7zM512 464c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-32 0-102.4-64-128c48 0 160 48 160 128z\"]\n};\nvar faHandHorns = {\n prefix: 'far',\n iconName: 'hand-horns',\n icon: [384, 512, [], \"e1a9\", \"M80 48c8.8 0 16 7.2 16 16V208v32H80c-5.5 0-10.8 .6-16 1.6V64c0-8.8 7.2-16 16-16zM16 64V272C6 285.4 0 302 0 320c0 0 0 0 0 0v24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V288 256 128c0-35.3-28.7-64-64-64s-64 28.7-64 64v50c-5.1-1.3-10.5-2-16-2c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.5 0-10.9 .7-16 2V64c0-35.3-28.7-64-64-64S16 28.7 16 64zM336 256v32 56c0 66.3-53.7 120-120 120H168c-66.3 0-120-53.7-120-120V320s0 0 0 0c0-17.7 14.3-32 32-32h40 40c8.8 0 16 7.2 16 16s-7.2 16-16 16H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14c35.3 0 64-28.7 64-64V256 240 128c0-8.8 7.2-16 16-16s16 7.2 16 16V256zM160 240H144V208c0-8.8 7.2-16 16-16s16 7.2 16 16v32 2c-5.1-1.3-10.5-2-16-2zm96 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V264 240c0-8.8 7.2-16 16-16s16 7.2 16 16v16z\"]\n};\nvar faScrewdriverWrench = {\n prefix: 'far',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM23.2 376.8C8.3 391.7 0 411.8 0 432.8C0 476.5 35.5 512 79.2 512c21 0 41.1-8.3 56-23.2L238.5 385.5c-8.9-17.6-12.8-37.1-11.6-56.3L101.3 454.9c-5.9 5.8-13.8 9.1-22.1 9.1C62 464 48 450 48 432.8c0-8.3 3.3-16.2 9.1-22.1L194.3 273.5l-33.9-33.9L23.2 376.8zM463.9 164c-1.4 38.9-22.6 72.8-53.8 91.8c1.1 1 2.1 2 3.1 3l31.6 31.6c40.7-29 67.2-76.6 67.2-130.3c0-24.8-5.7-48.3-15.7-69.3c-4.4-9.2-16.5-10.5-23.7-3.3l-67.9 67.9c-3 3-7.1 4.7-11.3 4.7H368c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l67.9-67.9c7.2-7.2 5.9-19.3-3.3-23.7C400.3 5.7 376.8 0 352 0C294.7 0 244.4 30.1 216.2 75.4C221.2 84 224 93.8 224 104v40.8l16 16 0-.8c0-60.5 48-109.9 108-111.9L322.7 73.4l0 0c-12 12-18.7 28.3-18.7 45.3V144c0 35.3 28.7 64 64 64h25.4c17 0 33.3-6.7 45.3-18.7L463.9 164z\"]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'far',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M49 15C39.6 5.7 24.4 5.7 15 15S5.7 39.6 15 49l63 63H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96c13.3 0 24-10.7 24-24V40c0-13.3-10.7-24-24-24s-24 10.7-24 24V78.1L49 15zM320 352c-64.5 0-113.8-52.1-138.5-96c24.7-43.9 74-96 138.5-96s113.8 52.1 138.5 96c-24.7 43.9-74 96-138.5 96zm0-240c-97.3 0-161.4 81.6-186.5 131.9c-3.8 7.6-3.8 16.5 0 24.2C158.6 318.4 222.7 400 320 400s161.4-81.6 186.5-131.9c3.8-7.6 3.8-16.5 0-24.2C481.4 193.6 417.3 112 320 112zM625 15c-9.4-9.4-24.6-9.4-33.9 0l-63 63V40c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H561.9l63-63c9.4-9.4 9.4-24.6 0-33.9zM49 497l63-63V472c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H78.1L15 463c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zm576 0c9.4-9.4 9.4-24.6 0-33.9l-63-63H600c13.3 0 24-10.7 24-24s-10.7-24-24-24H504c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V433.9l63 63c9.4 9.4 24.6 9.4 33.9 0zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faCircleThreeQuarters = {\n prefix: 'far',\n iconName: 'circle-three-quarters',\n icon: [512, 512, [], \"e125\", \"M256 304c-26.5 0-48-21.5-48-48V53.6C116.3 75.2 48 157.7 48 256c0 114.9 93.1 208 208 208c98.3 0 180.8-68.3 202.4-160H256zM224.1 2C241.6-.2 256 14.3 256 32V208v48h48H480c17.7 0 32.2 14.4 30 31.9C494.3 414.2 386.6 512 256 512C114.6 512 0 397.4 0 256C0 125.4 97.8 17.7 224.1 2z\"]\n};\nvar faTrophyStar = {\n prefix: 'far',\n iconName: 'trophy-star',\n icon: [576, 512, [\"trophy-alt\"], \"f2eb\", \"M176.9 48c6.4 160.7 44.3 231.4 71.8 261.7c13.7 15.1 25.9 21.4 33.1 24.1c2.6 1 4.7 1.5 6.1 1.9c1.4-.3 3.5-.9 6.1-1.9c7.2-2.7 19.4-9 33.1-24.1c27.5-30.3 65.5-101 71.8-261.7H176.9zM176 0H400c26.5 0 48.1 21.8 47.1 48.2c-.2 5.3-.4 10.6-.7 15.8H552c13.3 0 24 10.7 24 24c0 108.5-45.9 177.7-101.4 220.6c-53.9 41.7-115.7 57.6-149.5 63.7c-4.7 2.5-9.1 4.5-13.1 6.1V464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H288 184c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V378.4c-4-1.6-8.4-3.6-13.1-6.1c-33.8-6-95.5-22-149.5-63.7C45.9 265.7 0 196.5 0 88C0 74.7 10.7 64 24 64H129.6c-.3-5.2-.5-10.4-.7-15.8C127.9 21.8 149.5 0 176 0zM390.8 302.6c18.1-8 36.8-18.4 54.4-32c40.6-31.3 75.9-80.2 81.9-158.6H442.7c-9.1 90.1-29.2 150.3-51.9 190.6zm-260-32c17.5 13.6 36.3 24 54.4 32c-22.7-40.3-42.8-100.5-51.9-190.6H48.9c6 78.4 41.3 127.3 81.9 158.6zM295.2 102.5l14.5 29.3c1.2 2.4 3.4 4 6 4.4l32.4 4.7c6.6 1 9.2 9 4.4 13.6l-23.4 22.8c-1.9 1.8-2.7 4.5-2.3 7.1l5.5 32.2c1.1 6.5-5.7 11.5-11.6 8.4l-29-15.2c-2.3-1.2-5.1-1.2-7.4 0l-29 15.2c-5.9 3.1-12.7-1.9-11.6-8.4l5.5-32.2c.4-2.6-.4-5.2-2.3-7.1l-23.4-22.8c-4.7-4.6-2.1-12.7 4.4-13.6l32.4-4.7c2.6-.4 4.9-2 6-4.4l14.5-29.3c2.9-5.9 11.4-5.9 14.3 0z\"]\n};\nvar faTrophyAlt = faTrophyStar;\nvar faPlugCircleBolt = {\n prefix: 'far',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFaceThermometer = {\n prefix: 'far',\n iconName: 'face-thermometer',\n icon: [576, 512, [], \"e39a\", \"M288 48C173.1 48 80 141.1 80 256s93.1 208 208 208c65.9 0 124.7-30.7 162.8-78.5c1.5-1.3 3-2.6 4.4-4L540 301.1C518.8 421 414 512 288 512C146.6 512 32 397.4 32 256S146.6 0 288 0c97 0 181.4 54 224.8 133.5c-16.5-.3-33.1 4.4-47.3 14.1C429 87.8 363.1 48 288 48zM546.8 180.1c19.8 19.8 19.4 52.1-.9 71.4L415.1 376.1c-1.2 4.2-3.4 8.1-6.8 11.2c-9.7 9-24.9 8.4-33.9-1.4C359.2 369.5 333.2 352 296 352s-63.2 17.5-78.4 33.9c-9 9.7-24.2 10.4-33.9 1.4s-10.4-24.2-1.4-33.9c22-23.8 60-49.4 113.6-49.4c16.2 0 31.1 2.3 44.4 6.3L477 179.4c19.6-18.8 50.6-18.4 69.8 .7zM401.3 345l28-26.7-5.8-5.8c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l6.3 6.3 15.4-14.7-6.6-6.6c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l7 7 15.4-14.7-7.4-7.4c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l7.8 7.8 11.5-11c7.3-6.9 7.4-18.5 .3-25.6c-6.9-6.9-18-7-25-.3L372.5 323.9c11.2 6.3 20.8 13.7 28.9 21.1zm-193-169a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faGridRound4 = {\n prefix: 'far',\n iconName: 'grid-round-4',\n icon: [448, 512, [], \"e5dd\", \"M44.8 64a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zM0 76.8a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 76.8zM44.8 183.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zM0 196.3a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 196.3zM57.6 315.7a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM44.8 270.9a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zM0 435.2a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 435.2zM177.1 76.8a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM164.3 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm57.6 119.5a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zm-12.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM296.5 76.8a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM283.7 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm57.6 119.5a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zm-12.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM416 76.8a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM403.2 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM416 315.7a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zm-12.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0z\"]\n};\nvar faShirtRunning = {\n prefix: 'far',\n iconName: 'shirt-running',\n icon: [384, 512, [], \"e3c8\", \"M88 0c13.3 0 24 10.7 24 24V72c0 44.2 35.8 80 80 80s80-35.8 80-80V24c0-13.3 10.7-24 24-24s24 10.7 24 24c0 127.9 26.8 181 41.5 200.5c9.6 12.8 22.5 32.8 22.5 56.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V280.7c0-23.5 12.9-43.5 22.5-56.3C37.2 205 64 151.9 64 24C64 10.7 74.7 0 88 0zM60.8 253.4C52.2 264.8 48 273.9 48 280.7V390.8L299.3 209.3c-5.4-13.6-10.4-29.8-14.6-49.1C261.4 184.7 228.5 200 192 200s-69.4-15.3-92.7-39.8C89 206.9 74.1 235.7 60.8 253.4zM48.1 450c1 7.9 7.7 14 15.9 14H320c8.8 0 16-7.2 16-16V280.7c0-6.8-4.2-15.9-12.8-27.3c-.3-.4-.7-.9-1-1.4L48.1 450z\"]\n};\nvar faBookCircleArrowUp = {\n prefix: 'far',\n iconName: 'book-circle-arrow-up',\n icon: [640, 512, [], \"e0bd\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H322.9c-1.9-10.4-2.9-21.1-2.9-32c0-5.4 .2-10.7 .7-16H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V220.5c14.6-9.5 30.8-17 48-21.8V56c0-30.9-25.1-56-56-56H88zM496 224a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM428.7 371.3c-6.2-6.2-6.2-16.4 0-22.6l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faFaceNauseated = {\n prefix: 'far',\n iconName: 'face-nauseated',\n icon: [512, 512, [], \"e381\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm335.6-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-12.3-84.7l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM172 267.2C189 277 202 293 208 312h96.2c6.1-18.8 19-34.5 35.8-44.2c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8c-9.4 5.5-15.7 15.6-15.7 27.2s6.3 21.8 15.7 27.2c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8c-17.1-9.9-30.2-26-36.2-45.3H208c-6 19-19.1 35-36 44.8c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8c9.5-5.5 15.7-15.6 15.7-27.2s-6.3-21.8-15.7-27.2c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20c0 0-.1-.1-.1-.1c0 0 0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z\"]\n};\nvar faFileChartPie = {\n prefix: 'far',\n iconName: 'file-chart-pie',\n icon: [384, 512, [], \"f65a\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 240.1c8.7-1.5 16 5.8 16 14.7V320c0 8.8 7.2 16 16 16h64c8.9 0 16.3 7.4 14.6 16.1c-.5 2.5-1 5-1.7 7.4c-13.7 51.2-66.4 81.6-117.6 67.9s-81.6-66.4-67.9-117.6c10-37.4 40.8-63.7 76.5-69.8zm63.9-30.8c40.3 6.7 72 38.5 78.8 78.8c1.5 8.7-5.8 15.9-14.7 15.9H224c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16.1 15.9-14.7z\"]\n};\nvar faMarsAndVenus = {\n prefix: 'far',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M352 24c0 13.3 10.7 24 24 24h38.1L371.2 90.9C340.3 64.2 300 48 256 48C158.8 48 80 126.8 80 224c0 89.1 66.2 162.7 152 174.4v.2 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .2H208c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v.1 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0l24 0H232c0 13.3 10.7 24 24 24s24-10.7 24-24H256l24 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V486 486v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V485 485v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V484v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V483v-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1V481v-.1-.1-.1-.1-.1-.1-.1-.1V480v-.1-.1-.1-.1-.1-.1-.1V479v-.1-.1-.1-.1-.1-.1-.1V478v-.1-.1-.1-.1-.1-.1V477v-.1-.1-.1-.1-.1-.1V476v-.1-.1-.1-.1-.1-.1V475v-.1-.2-.2-.2-.2-.2V474v-.2-.2-.2-.2-.2V473v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V470v-.2-.2-.2-.2-.2V469v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V467v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V464h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H280v-.2-.3-.3-.3-.3-.3-.3-.3-.3V413v-.3-.3V412v-.3-.3V411v-.3-.3V410v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V403v-.3-.3V402v-.3-.3V401v-.3-.3V400v-.3-.3-.3-.3-.2c85.8-11.7 152-85.3 152-174.4c0-35.8-10.7-69.2-29.1-97L448 81.9V120c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24zM256 96a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faHouseUser = {\n prefix: 'far',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5 112 204.8zM224 224a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm32 96h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\"]\n};\nvar faHomeUser = faHouseUser;\nvar faCircleArrowDownLeft = {\n prefix: 'far',\n iconName: 'circle-arrow-down-left',\n icon: [512, 512, [], \"e0f9\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 464A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm64-144H168c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24V286.1L327 151c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-135 135H320c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faDumpsterFire = {\n prefix: 'far',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1c1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304V160zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2c-.1-.7-.3-1.4-.5-2.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l12.8 64.2c9.6 1 19 4.9 26.6 11.8c11.7 10.6 23 21.6 33.9 33.1c1.6-1.6 3.3-3.2 5-4.8zM80.4 192H32l4 32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H42L64 448v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H337.6c-12.7-14.3-23.4-30.5-31.5-48H106.4l-20-160H309c4.9-10 10.3-19.8 16.2-29.3c3.8-6.2 7.9-12.5 12.3-18.7H80.4zm373.2-60.2c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 407.9 390.3 480 480 480c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faHexagonMinus = {\n prefix: 'far',\n iconName: 'hexagon-minus',\n icon: [512, 512, [\"minus-hexagon\"], \"f307\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusHexagon = faHexagonMinus;\nvar faLeftToLine = {\n prefix: 'far',\n iconName: 'left-to-line',\n icon: [448, 512, [\"arrow-alt-to-left\"], \"f34b\", \"M256 146.2L146 256 256 365.8l0-53.8c0-13.3 10.7-24 24-24l120 0 0-64-120 0c-13.3 0-24-10.7-24-24l0-53.8zM96 256c0-11.5 4.6-22.5 12.7-30.6L224.8 109.6c8.7-8.7 20.5-13.6 32.8-13.6c25.6 0 46.4 20.8 46.4 46.4l0 33.6 96 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-96 0 0 33.6c0 25.6-20.8 46.4-46.4 46.4c-12.3 0-24.1-4.9-32.8-13.6L108.7 286.6C100.6 278.5 96 267.5 96 256zM48 88l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64s24 10.7 24 24z\"]\n};\nvar faArrowAltToLeft = faLeftToLine;\nvar faHouseCrack = {\n prefix: 'far',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM112 432V204.8L288 55.5 464 204.8V432c0 17.7-14.3 32-32 32H325.9L288 403.8l79.7-63.3c8.2-6.5 8-19.1-.4-25.3L252.2 229c-14.9-11.1-33.6 7.8-22.3 22.5L288 327.6l-84.8 67.3c-6.4 5.1-7.9 14.2-3.6 21.1L229.9 464H144c-17.7 0-32-14.3-32-32z\"]\n};\nvar faPawSimple = {\n prefix: 'far',\n iconName: 'paw-simple',\n icon: [448, 512, [\"paw-alt\"], \"f701\", \"M192 80A48 48 0 1 0 96 80a48 48 0 1 0 96 0zm-.7 146.1c7.1-11.3 19.4-18.1 32.7-18.1s25.7 6.9 32.7 18.1l49.2 78.6c8.7 14 20.9 22.8 32.2 28.1c17.8 8.4 30 26.4 30 47.1c0 28.7-23.3 52-52 52c-11.1 0-21.2-3.4-29.6-9.2c-19.6-13.6-43.8-17.6-62.4-17.6s-42.8 4-62.4 17.6c-8.4 5.8-18.5 9.2-29.6 9.2c-28.7 0-52-23.3-52-52c0-20.8 12.2-38.8 30-47.1c11.2-5.3 23.4-14.1 32.2-28.1l49.2-78.6zm-89.9 53.2c-2.8 4.5-7.1 7.8-11.8 10.1C55.6 305.4 32 339.9 32 380c0 55.2 44.8 100 100 100c21.2 0 40.8-6.6 56.9-17.8c17.4-12 52.8-12 70.1 0C275.2 473.4 294.8 480 316 480c55.2 0 100-44.8 100-100c0-40.1-23.6-74.6-57.6-90.6c-4.8-2.2-9-5.6-11.8-10.1l-49.1-78.6C281.6 175.4 253.9 160 224 160s-57.6 15.4-73.4 40.7l-49.2 78.6zM304 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm144 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 240a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPawAlt = faPawSimple;\nvar faArrowLeftLongToLine = {\n prefix: 'far',\n iconName: 'arrow-left-long-to-line',\n icon: [640, 512, [], \"e3d4\", \"M0 88V424c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-13.3-10.7-24-24-24S0 74.7 0 88zM135 239c-9.4 9.4-9.4 24.6 0 33.9L271 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95L616 280c13.3 0 24-10.7 24-24s-10.7-24-24-24l-406.1 0 95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L135 239z\"]\n};\nvar faBracketsRound = {\n prefix: 'far',\n iconName: 'brackets-round',\n icon: [512, 512, [\"parentheses\"], \"e0c5\", \"M148.3 76.6c11.4-6.8 15.1-21.5 8.3-32.9s-21.5-15.1-32.9-8.3C82 60.2 0 137.9 0 256S82 451.8 123.7 476.6c11.4 6.8 26.1 3 32.9-8.3s3-26.1-8.3-32.9C115.3 415.7 48 351.3 48 256s67.3-159.7 100.3-179.4zm215.4 0C396.7 96.3 464 160.7 464 256s-67.3 159.7-100.3 179.4c-11.4 6.8-15.1 21.5-8.3 32.9s21.5 15.1 32.9 8.3C430 451.8 512 374.1 512 256s-82-195.8-123.7-220.6c-11.4-6.8-26.1-3-32.9 8.3s-3 26.1 8.3 32.9z\"]\n};\nvar faParentheses = faBracketsRound;\nvar faMartiniGlassCitrus = {\n prefix: 'far',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 240c-14.3 0-27.9-3.1-40.1-8.7l-35.4 35.4C378.5 280.2 404.3 288 432 288c79.5 0 144-64.5 144-144S511.5 0 432 0C369.3 0 316 40.1 296.2 96h52.6c16.6-28.7 47.6-48 83.2-48c53 0 96 43 96 96s-43 96-96 96zM24 128c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l177 177V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V345.9L409 169c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H24zm310.1 48L208 302.1 81.9 176H334.1z\"]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faUserShakespeare = {\n prefix: 'far',\n iconName: 'user-shakespeare',\n icon: [448, 512, [], \"e2c2\", \"M224 48c-44.2 0-80 35.8-80 80v32c0 40.1 29.5 73.3 68 79.1V224c0-6.6 5.4-12 12-12s12 5.4 12 12v15.1c38.5-5.8 68-39 68-79.1V128c0-44.2-35.8-80-80-80zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v23.2c0 10.9 3.7 21.5 10.5 30L373.6 195c6.7 8.4 10.4 18.8 10.4 29.6c0 26.2-21.2 47.4-47.4 47.4H286c-18.4 10.2-39.5 16-62 16s-43.6-5.8-62-16H111.4C85.2 272 64 250.8 64 224.6c0-10.8 3.7-21.2 10.4-29.6l11.1-13.9c6.8-8.5 10.5-19.1 10.5-30V128zm96-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-7.5 39.5c2 2 6 5.3 10.7 8.1c4.9 2.9 9.4 4.4 12.8 4.4c6.6 0 12 5.4 12 12s-5.4 12-12 12c-9.5 0-18.3-3.8-24.8-7.6c-2.5-1.5-4.9-3.1-7.1-4.6C211.6 201 199 204 192 204c-6.6 0-12-5.4-12-12s5.4-12 12-12c2.1 0 12.9-1.9 23.5-12.5c4.7-4.7 12.3-4.7 17 0zM240 416.7c-.3 8.5-7.4 15.3-16 15.3s-15.6-6.8-16-15.3c-23.1 1.9-42.4 7.7-56.5 13.5c-8.6 3.5-15.2 7-19.6 9.6c-2.2 1.3-3.8 2.3-4.8 2.9c-.5 .3-.8 .6-1 .7l-.1 .1c-7.3 5.3-16.9 6-24.9 1.9C93.1 441.3 88 433 88 424V394.9C67.7 412.1 53.5 436.4 49.3 464H208c0-8.8 7.2-16 16-16s16 7.2 16 16H398.7c-4.2-27.6-18.4-51.9-38.7-69.1V424c0 9-5.1 17.3-13.1 21.4c-8 4.1-17.6 3.3-24.9-1.9l-.1-.1c-.2-.1-.5-.3-1-.7c-1-.6-2.6-1.7-4.8-2.9c-4.4-2.5-11-6-19.6-9.6c-14.1-5.8-33.3-11.6-56.5-13.5zM117.9 325.9C133.4 312.3 153.7 304 176 304h96c22.3 0 42.6 8.3 58.1 21.9c68 18.9 117.9 81.3 117.9 155.4c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-74 49.9-136.4 117.9-155.4zM224 368c35.9 0 65.8 8 87.3 16.4C307.7 366 291.5 352 272 352H176c-19.5 0-35.7 14-39.3 32.4C158.2 376 188.1 368 224 368z\"]\n};\nvar faArrowRightToArc = {\n prefix: 'far',\n iconName: 'arrow-right-to-arc',\n icon: [512, 512, [], \"e4b2\", \"M464 256c0-114.9-93.1-208-208-208c-13.3 0-24-10.7-24-24s10.7-24 24-24C397.4 0 512 114.6 512 256s-114.6 256-256 256c-13.3 0-24-10.7-24-24s10.7-24 24-24c114.9 0 208-93.1 208-208zM232.3 134.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6s-2.8 13-7.7 17.6l-112 104c-9.7 9-24.9 8.5-33.9-1.3s-8.5-24.9 1.3-33.9L266.9 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H266.9l-67.2-62.4c-9.7-9-10.3-24.2-1.3-33.9s24.2-10.3 33.9-1.3z\"]\n};\nvar faFaceSurprise = {\n prefix: 'far',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'far',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V78c10.7 3.7 20.9 9.2 30 16.2l6 4.6c22.7 17.4 36 44.4 36 73.1c0 12.5-2.5 24.4-7 35.3c4.5 10 7 21.1 7 32.8c0 11.4-2.4 22.2-6.7 32c4.3 9.8 6.7 20.6 6.7 32s-2.4 22.2-6.7 32c4.3 9.8 6.7 20.6 6.7 32s-2.4 22.2-6.7 32c4.3 9.8 6.7 20.6 6.7 32c0 44.2-35.8 80-80 80H104c-44.2 0-80-35.8-80-80c0-11.4 2.4-22.2 6.7-32c-4.3-9.8-6.7-20.6-6.7-32s2.4-22.2 6.7-32c-4.3-9.8-6.7-20.6-6.7-32s2.4-22.2 6.7-32c-4.3-9.8-6.7-20.6-6.7-32c0-11.7 2.5-22.8 7-32.8c-4.5-10.9-7-22.8-7-35.3c0-28.6 13.3-55.6 36-73.1l6-4.6c9.1-7 19.3-12.5 30-16.2V24zM237.8 208c0-4.5 1.2-8.9 3.6-12.9c4.2-6.7 6.6-14.7 6.6-23.2c0-13.7-6.4-26.7-17.3-35l-6-4.6c-10.4-8-23.1-12.3-36.2-12.3H131.4c-13.1 0-25.8 4.3-36.2 12.3l-6 4.6c-10.9 8.4-17.3 21.3-17.3 35c0 8.6 2.4 16.5 6.6 23.2c2.5 4 3.7 8.4 3.6 12.9H237.8zM82 336c0 4.8-1.4 9.6-4.3 13.7C74.1 354.9 72 361.2 72 368s2.1 13.1 5.7 18.3c5.8 8.2 5.8 19.2 0 27.5C74.1 418.9 72 425.2 72 432c0 17.7 14.3 32 32 32H216c17.7 0 32-14.3 32-32c0-6.8-2.1-13.1-5.7-18.3c-5.8-8.2-5.8-19.2 0-27.5c3.6-5.2 5.7-11.4 5.7-18.3s-2.1-13.1-5.7-18.3c-2.9-4.1-4.3-8.9-4.3-13.7H82z\"]\n};\nvar faCirclePause = {\n prefix: 'far',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-72V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faGaugeCirclePlus = {\n prefix: 'far',\n iconName: 'gauge-circle-plus',\n icon: [640, 512, [], \"e498\", \"M256 464c29.4 0 57.3-6.1 82.6-17.1c7.4 14.7 16.7 28.2 27.7 40.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-14 0-27.5 1.6-40.6 4.7C429.9 110.7 350.3 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zm0-56c-30.9 0-56-25.1-56-56c0-22.3 13.1-41.6 32-50.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24V301.4c18.9 9 32 28.3 32 50.6c0 30.9-25.1 56-56 56zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm176 64a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faFolders = {\n prefix: 'far',\n iconName: 'folders',\n icon: [576, 512, [], \"f660\", \"M512 336H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H277.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16zM160 384H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H394.5c-17 0-33.3-6.7-45.3-18.7L322.7 50.7c-12-12-28.3-18.7-45.3-18.7H160c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faAngel = {\n prefix: 'far',\n iconName: 'angel',\n icon: [576, 512, [], \"f779\", \"M384 64c0 0 0 .1 0 .2s-.1 .3-.2 .6c-.3 .6-.9 1.8-2.3 3.5c-1.4 1.7-3.4 3.6-6.2 5.6c6.7 8.3 12.2 17.6 16.3 27.7C407 91 416 78 416 64c0-35.3-57.3-64-128-64S160 28.7 160 64c0 14 9 27 24.3 37.5c4.1-10 9.6-19.3 16.3-27.7c-2.7-2-4.8-4-6.2-5.6c-1.4-1.7-2-2.8-2.3-3.5c-.1-.3-.2-.5-.2-.6s0-.1 0-.2s0-.1 0-.2s.1-.3 .2-.6c.3-.6 .9-1.8 2.3-3.5c2.9-3.5 8.4-7.9 17.3-12.4C229.6 38.4 256.5 32 288 32s58.4 6.4 76.2 15.4c8.9 4.5 14.4 8.9 17.3 12.4c1.4 1.7 2 2.8 2.3 3.5c.1 .3 .2 .5 .2 .6s0 .1 0 .2zM256 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM87.6 388.2c5.6-11.1 8.4-23.4 8.4-35.8v-.9c0-12.4-2.9-24.7-8.4-35.8L69.2 279c-3.4-6.7-5.2-14.4-5.2-22.1c0-27.1 22-48.9 48.2-48.9c12.8 0 25 5.1 34.1 14.1l66.4 66.4c-6.8 7.2-12.7 15.5-17.3 24.7L120 464H49.7l37.9-75.8zM253.8 261.8l-73.6-73.6c-18-18-42.5-28.2-68-28.2C59.1 160 16 203.8 16 256.9c0 15.1 3.5 30.1 10.2 43.6l18.4 36.7c2.2 4.4 3.4 9.3 3.4 14.3v.9c0 5-1.2 9.9-3.4 14.3L4.8 446.4C1.6 452.7 0 459.7 0 466.7c0 25 20.3 45.3 45.3 45.3H96h53.7H426.3 480h50.7c25 0 45.3-20.3 45.3-45.3c0-7-1.6-14-4.8-20.3l-39.8-79.7c-2.2-4.4-3.4-9.3-3.4-14.3v-.9c0-5 1.2-9.9 3.4-14.3l18.4-36.7C556.5 287 560 272 560 256.9c0-53.1-43.1-96.9-96.2-96.9c-25.5 0-50 10.1-68 28.2l-73.6 73.6C311.4 258 299.8 256 288 256s-23.4 2-34.2 5.8zm109.6 26.7l66.4-66.4c9-9 21.3-14.1 34.1-14.1c26.1 0 48.2 21.8 48.2 48.9c0 7.7-1.8 15.4-5.2 22.1l-18.4 36.7c-5.6 11.1-8.4 23.4-8.4 35.8v.9c0 12.4 2.9 24.7 8.4 35.8L526.3 464H456L380.6 313.2c-4.6-9.2-10.4-17.5-17.3-24.7zm-25.7 46.2L402.3 464H173.7l64.6-129.3C247.7 315.9 267 304 288 304s40.3 11.9 49.7 30.7z\"]\n};\nvar faValueAbsolute = {\n prefix: 'far',\n iconName: 'value-absolute',\n icon: [512, 512, [], \"f6a6\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zM177 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l79 79-79 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l79-79 79 79c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-79-79 79-79c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-79 79-79-79zM512 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56z\"]\n};\nvar faRabbit = {\n prefix: 'far',\n iconName: 'rabbit',\n icon: [512, 512, [128007], \"f708\", \"M245.7 0c-24.4 0-45.1 17.9-48.5 42.1l-.7 4.9c-7.8 54.3 8.4 108.9 43.5 150.1v20.6c-66.8 20.7-119.8 73-141.4 139.4C90.3 353.8 81.4 352 72 352c-39.8 0-72 32.2-72 72s32.2 72 72 72c14.7 0 28.3-4.4 39.7-11.9C127.8 501.3 150.6 512 176 512h32l96 0c23.9 0 44.7-13.1 55.7-32.4l5.1 6.8c21.2 28.3 61.3 34 89.6 12.8s34-61.3 12.8-89.6L388 304c46.4-.1 84-37.8 84-84.3c0-25.3-11.4-49.3-31-65.3L404 124.3c-5.6-4.5-11.5-8.6-17.6-12c10.1-24.8 13.6-52.1 9.8-79.4l-.9-6C393.1 11.4 379.9 0 364.3 0c-8.2 0-16.2 3.3-22 9.1l-2 2c-5.8 5.7-11 11.9-15.7 18.3c14.7 21.5 25.1 45.4 30.7 70.4c-8.4-2.1-17-3.4-25.7-3.7c-8.2-29.3-23.8-56.6-46.2-78.8l-3.1-3.1L263.4 31.1l16.8-16.9C271 5.1 258.6 0 245.7 0zM88.7 406.7c-.4 5.7-.7 11.4-.7 17.3c0 5.6 .5 11.1 1.5 16.4C85.1 445.1 78.9 448 72 448c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.5 0 12.4 2.6 16.7 6.7zm156-357.9c.1-.5 .5-.9 1-.9c.3 0 .5 .1 .7 .3l3.1 3.1 16.8-16.9L249.5 51.4c20.4 20.2 33.2 46.2 37.2 73.7c1 6.7 4.7 12.6 10.3 16.4s12.5 5 19 3.5c2.7-.6 5.5-1 8.5-1c17.9 0 35.3 6.2 49.3 17.5l36.9 30.1c8.4 6.9 13.4 17.2 13.4 28.1c0 20-16.2 36.3-36.3 36.3H352c-13.3 0-24 10.7-24 24v16c0 5.2 1.7 10.2 4.8 14.4l96 128c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2l-68.6-91.4c-4.2-5.6-10.6-9-17.5-9.5s-13.8 2.1-18.7 7L271 391c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8h16c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0H176c-22.1 0-40-17.9-40-40c0-80.8 57-148.2 133-164.3c11.1-2.4 19-12.1 19-23.5V187.9c0-6.1-2.4-12.1-6.6-16.5C251.8 140.1 237.8 96.8 244 53.8l.7-4.9zM352 208a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'far',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L518.1 380.8c14.4-4.3 26.5-12.4 35.9-21.3c13.6-13 23.7-29.4 31.1-46.1C600 279.8 608 236.9 608 192s-8-87.8-22.9-121.3C577.7 54 567.6 37.5 554 24.5C540.1 11.4 520.5 0 496 0c-1.3 0-2.6 0-3.8 .1l0-.1H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM134 79.8c.3-.7 .7-1.4 1-2.1c6.7-13.4 13.4-21.6 18.6-26c2.5-2.1 4.3-3 5.2-3.4c.5-.2 .8-.3 .9-.3s.2 0 .3 0H419c-4.7 7.3-8.6 15-12.1 22.7C392 104.2 384 147.1 384 192c0 29.8-1 57-2.7 81.6L134 79.8zM426.5 309c3.4-33.8 5.5-72.6 5.5-117c0-76 26.2-138.3 59.4-143.6c1.5-.2 3.1-.4 4.6-.4c35.3 0 64 64.5 64 144s-28.7 144-64 144H461l-34.5-27zM20.5 463.6c-4.3 7.2-5.5 15.8-3.6 23.7c.7 2.9 1.8 5.7 3.3 8.4C25.8 505.8 36.5 512 48 512H333.9c22.3 0 45.4-12.1 55.4-36.1c5.4-12.9 12.2-32.1 18.8-58.4l-41.7-32.8c-7.5 35.6-15.8 59.2-21.5 72.8c-.9 2.1-2.1 3.5-3.8 4.5c-2 1.2-4.6 2-7.3 2H73.8c18.1-40.9 27.3-85.5 32.2-127.9c5.9-50.6 5.9-101.7 5.9-144.1c0-2.6 0-5.1 .1-7.7L66.5 148.4C64.9 162.4 64 177 64 192c0 77.6-.4 174.5-32.9 250c-3.2 7.4-6.7 14.6-10.5 21.6l0 .1zM496 240c13.3 0 24-21.5 24-48s-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48z\"]\n};\nvar faCircleEuro = {\n prefix: 'far',\n iconName: 'circle-euro',\n icon: [512, 512, [], \"e5ce\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm128 16h16c-.6-5-.9-10.1-.9-15.2c0-5.7 .4-11.3 1.1-16.8H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h24.7c19.2-46.9 65.4-80 119.2-80H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-26.3 0-49.6 12.6-64.4 32H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H192.9c-1.1 5.4-1.7 11-1.7 16.8c0 5.2 .5 10.3 1.4 15.2H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H206.4c14.7 20.3 38.5 33.5 65.5 33.5H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-54.4 0-101-33.8-119.8-81.5H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faAppleWhole = {\n prefix: 'far',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112h16c44.2 0 80-35.8 80-80V16c0-8.8-7.2-16-16-16H288c-44.2 0-80 35.8-80 80V96c0 8.8 7.2 16 16 16zM48 288c0-31.7 7.6-62.5 20.4-83.7C80.5 184.3 94.7 176 112 176c17.8 0 43.2 7.4 65.3 16c30 11.7 63.5 11.7 93.5 0c22.1-8.6 47.5-16 65.3-16c17.3 0 31.5 8.3 43.6 28.3C392.4 225.5 400 256.3 400 288c0 54.2-17 100-40.4 131.2c-24 32-51.2 44.8-71.6 44.8c-4.6 0-13.6-1.7-24.9-5.1c-25.4-7.6-52.7-7.6-78.1 0c-11.3 3.4-20.3 5.1-24.9 5.1c-20.4 0-47.6-12.8-71.6-44.8C65 388 48 342.2 48 288zm64-160C35.7 128 0 211.7 0 288C0 416 80 512 160 512c11.9 0 26.5-3.4 38.8-7.1c16.4-4.9 34.1-4.9 50.5 0c12.2 3.7 26.8 7.1 38.8 7.1c80 0 160-96 160-224c0-76.3-35.7-160-112-160c-27.3 0-59.7 10.3-82.7 19.3c-18.8 7.3-39.9 7.3-58.7 0C171.7 138.3 139.3 128 112 128z\"]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'far',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M240 144A96 96 0 1 0 48 144a96 96 0 1 0 192 0zm46 24c-11.4 68.1-70.7 120-142 120C64.5 288 0 223.5 0 144S64.5 0 144 0c71.4 0 130.6 51.9 142 120h66.7c3.8-22.7 23.6-40 47.3-40h96c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H400c-23.8 0-43.5-17.3-47.3-40H286zM80 144a64 64 0 1 1 128 0A64 64 0 1 1 80 144zM376 264c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40 56c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V320h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h56 40v-8zm-40 56V464H464V320H336zM32 336c0-8.8 7.2-16 16-16h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336zm128 48h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32zM0 488c0-13.3 10.7-24 24-24H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM400 128v32h96V128H400z\"]\n};\nvar faDiamondHalf = {\n prefix: 'far',\n iconName: 'diamond-half',\n icon: [512, 512, [], \"e5b7\", \"M227.7 11.7C235.5 3.9 245.8 0 256 0V48v3.3V460.7 464v48c-10.2 0-20.5-3.9-28.3-11.7l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM208 412.7V99.3L51.3 256 208 412.7z\"]\n};\nvar faLockKeyhole = {\n prefix: 'far',\n iconName: 'lock-keyhole',\n icon: [448, 512, [\"lock-alt\"], \"f30d\", \"M224 48c44.2 0 80 35.8 80 80v64H144V128c0-44.2 35.8-80 80-80zM96 128v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V128C352 57.3 294.7 0 224 0S96 57.3 96 128zM64 240H384c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256c0-8.8 7.2-16 16-16zm184 80c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V320z\"]\n};\nvar faLockAlt = faLockKeyhole;\nvar faR = {\n prefix: 'far',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M56 32C25.1 32 0 57.1 0 88V280 456c0 13.3 10.7 24 24 24s24-10.7 24-24V304H157.9L276.5 469.9c7.7 10.8 22.7 13.3 33.5 5.6s13.3-22.7 5.6-33.5L214.5 300.6C274.9 286.7 320 232.6 320 168c0-75.1-60.9-136-136-136H56zM176 256H48V88c0-4.4 3.6-8 8-8H184c48.6 0 88 39.4 88 88s-39.4 88-88 88h-8z\"]\n};\nvar faTemperatureQuarter = {\n prefix: 'far',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faSquareInfo = {\n prefix: 'far',\n iconName: 'square-info',\n icon: [448, 512, [8505, \"info-square\"], \"f30f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM184 336h24V272H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faInfoSquare = faSquareInfo;\nvar faWifiSlash = {\n prefix: 'far',\n iconName: 'wifi-slash',\n icon: [640, 512, [], \"f6ac\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-267-209.3c47.2 8.4 89.8 30.2 123.8 61.4c9.8 9 24.9 8.3 33.9-1.5s8.3-24.9-1.5-33.9C467.4 237.5 397.1 208 320 208c-7.2 0-14.3 .3-21.4 .8L169.4 107.5C216.2 89.7 267 80 320 80c107.4 0 205.4 39.9 280.1 105.7c9.9 8.8 25.1 7.8 33.9-2.2s7.8-25.1-2.2-33.9C548.7 76.4 439.5 32 320 32c-69.1 0-134.7 14.9-193.9 41.5L38.8 5.1zM76.9 156.6L37.7 125.7c-10.2 7.6-20 15.6-29.5 23.9c-9.9 8.8-10.9 23.9-2.2 33.9s23.9 10.9 33.9 2.2c11.8-10.4 24.1-20.1 37-29.1zM226.3 274.3L184 241c-23.4 12.1-44.9 27.2-64.1 44.8c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5c21.5-19.7 46.5-35.7 73.9-46.9zM376 424a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faToiletPaperXmark = {\n prefix: 'far',\n iconName: 'toilet-paper-xmark',\n icon: [512, 512, [], \"e5b3\", \"M48 192c0 43.3 9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3H324.7c-3-4.5-5.7-9.3-8.2-14.1C298.5 287.4 288 241.5 288 192s10.5-95.4 28.5-129.9c2.5-4.8 5.3-9.5 8.2-14.1H112c-10.9 0-26.6 8.9-41 36.3C57.2 110.7 48 148.7 48 192zM359 84.3c-13.8 26.3-23 64.3-23 107.7s9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3s26.6-8.9 41-36.3c13.8-26.3 23-64.3 23-107.7s-9.2-81.3-23-107.7C426.6 56.9 410.9 48 400 48s-26.6 8.9-41 36.3zM464 456V351.1c-16.6 19.3-38.1 32.9-64 32.9H112c-37.7 0-66-28.7-83.5-62.1C10.5 287.4 0 241.5 0 192S10.5 96.6 28.5 62.1C46 28.7 74.3 0 112 0H400c37.7 0 66 28.7 83.5 62.1C501.5 96.6 512 142.5 512 192V456c0 30.9-25.1 56-56 56H216c-30.9 0-56-25.1-56-56V416h48v40c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8zM400 240c-13.3 0-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48s-10.7 48-24 48zM235.3 132.7c6.2 6.2 6.2 16.4 0 22.6L198.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L176 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L153.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L176 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHandsHoldingDollar = {\n prefix: 'far',\n iconName: 'hands-holding-dollar',\n icon: [640, 512, [\"hands-usd\"], \"f4c5\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V34.9c-6.9 1.8-13.8 4.5-20.2 8.2c-14.9 8.8-27.9 24.5-27.7 47.4c.1 22.1 13.1 36 26.6 44.1c11.4 6.9 25.6 11.2 36.4 14.4l1.9 .6c12.7 3.8 21.3 6.7 27.1 10.3c4 2.5 4 3.6 4 4.6l0 .2c0 2.3-.5 3.5-.8 4.1c-.4 .7-1.3 1.8-3.2 2.9c-4.1 2.6-11.2 4.4-19.2 4.1c-10.5-.3-20.2-3.6-33.9-8.3c-2.3-.8-4.8-1.6-7.3-2.5c-12.6-4.2-26.2 2.6-30.4 15.2s2.6 26.2 15.2 30.4c1.9 .6 3.9 1.3 6 2c7.4 2.6 16.2 5.6 25.6 7.8V232c0 13.3 10.7 24 24 24s24-10.7 24-24V221.4c7.4-1.8 14.6-4.7 21.3-8.8c15.3-9.5 27-25.9 26.7-48.5c-.3-22-12.8-36.3-26.4-44.9c-12-7.5-26.8-12-37.9-15.3l0 0-.9-.3c-12.9-3.9-21.6-6.6-27.4-10.1c-2.4-1.5-3.2-2.4-3.3-2.6c0-.1 0-.3 0-.6c0-1.6 .4-2.3 .7-2.8c.4-.6 1.4-1.8 3.5-3c4.7-2.8 12-4.5 19.4-4.4c9.1 .1 19.3 2.1 30.2 5c12.8 3.4 26-4.2 29.4-17s-4.2-26-17-29.4c-5.6-1.5-11.7-3-18.2-4.2V24zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faHandsUsd = faHandsHoldingDollar;\nvar faCube = {\n prefix: 'far',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M258.8 50.7c-1.8-.7-3.8-.7-5.7 0L63.6 122.6 256 198.2l192.4-75.6L258.8 50.7zM48 377.9c0 3.3 2.1 6.3 5.2 7.5L232 453.2V240.4L48 168.1V377.9zm232 75.3l178.8-67.8c3.1-1.2 5.2-4.2 5.2-7.5V168.1L280 240.4V453.2zM236.1 5.9c12.8-4.9 26.9-4.9 39.7 0l200 75.9C497.6 90 512 110.8 512 134.1V377.9c0 23.3-14.4 44.1-36.1 52.4l-200 75.9c-12.8 4.9-26.9 4.9-39.7 0l-200-75.9C14.4 422 0 401.2 0 377.9V134.1C0 110.8 14.4 90 36.1 81.7l200-75.9z\"]\n};\nvar faArrowDownTriangleSquare = {\n prefix: 'far',\n iconName: 'arrow-down-triangle-square',\n icon: [576, 512, [\"sort-shapes-down\"], \"f888\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM416 32c-9.9 0-19.1 5.2-24.2 13.7L307.6 186c-2.3 3.9-3.6 8.4-3.6 12.9c0 13.8 11.2 25.1 25.1 25.1H502.9c13.8 0 25.1-11.2 25.1-25.1c0-4.5-1.2-9-3.6-12.9L440.2 45.7C435.1 37.2 425.9 32 416 32zM368 432V336h96v96H368zM416 98.6L462.4 176H369.6L416 98.6zM320 432c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v96z\"]\n};\nvar faSortShapesDown = faArrowDownTriangleSquare;\nvar faBitcoinSign = {\n prefix: 'far',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M64 24C64 10.7 74.7 0 88 0s24 10.7 24 24V64h32V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64.7c54 6 96 51.8 96 107.3c0 27.5-10.3 52.6-27.2 71.6C295.9 261.5 320 297.9 320 340c0 59.6-48.4 108-108 108H192v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H112v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H41.7C18.7 448 0 429.3 0 406.3V280v-6.3V232 101.6C0 80.8 16.8 64 37.6 64H64V24zM48 232H180c33.1 0 60-26.9 60-60s-26.9-60-60-60H48V232zm132 48H48V400H212c33.1 0 60-26.9 60-60s-26.9-60-60-60H180z\"]\n};\nvar faShutters = {\n prefix: 'far',\n iconName: 'shutters',\n icon: [512, 512, [], \"e449\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM13.7 128L.4 198c-.3 1.4-.4 2.7-.4 4.1C0 214.2 9.8 224 21.9 224H490.1c12.1 0 21.9-9.8 21.9-21.9c0-1.4-.1-2.8-.4-4.1l-13.3-70H449.4l9.1 48H53.4l9.1-48H13.7zM.4 326c-.3 1.4-.4 2.7-.4 4.1C0 342.2 9.8 352 21.9 352H490.1c12.1 0 21.9-9.8 21.9-21.9c0-1.4-.1-2.8-.4-4.1l-13.3-70H449.4l9.1 48H53.4l9.1-48H13.7L.4 326zm0 128c-.3 1.4-.4 2.7-.4 4.1C0 470.2 9.8 480 21.9 480H490.1c12.1 0 21.9-9.8 21.9-21.9c0-1.4-.1-2.8-.4-4.1l-13.3-70H449.4l9.1 48H53.4l9.1-48H13.7L.4 454z\"]\n};\nvar faShieldDog = {\n prefix: 'far',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM160.9 270.2l-15 30c-1.2 2.5-1.9 5.2-1.9 8c0 7.1 4.3 13.6 10.8 16.4l98.7 42.3c1.7 .7 3.4 1.1 5.2 1.1c7.3 0 13.3-5.9 13.3-13.3V304h48c44.2 0 80-35.8 80-80V192c0-8.8-7.2-16-16-16H320l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H240v64c0 35.3-28.7 64-64 64c-5.2 0-10.3-.6-15.1-1.8zM160 144c-8.8 0-16 7.2-16 16v48c0 17.7 14.3 32 32 32s32-14.3 32-32V176 144h-8H160zm96 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSolarPanel = {\n prefix: 'far',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M114.5 48c-3.8 0-7.1 2.7-7.9 6.5L86.5 160H203.1L214.3 48H114.5zm83.8 160H77.4L54.8 326.5c-.9 4.9 2.8 9.5 7.9 9.5H185.5l12.8-128zm48.2 0L233.7 336H406.3L393.5 208h-147zm142.2-48L377.5 48h-115L251.3 160H388.7zm53 48l12.8 128H577.3c5 0 8.8-4.6 7.9-9.5L562.6 208H441.7zm111.8-48L533.4 54.5c-.7-3.8-4-6.5-7.9-6.5H425.7l11.2 112H553.5zM59.5 45.5C64.5 19.1 87.6 0 114.5 0h411c26.9 0 50 19.1 55 45.5l51.8 272c6.6 34.5-19.9 66.5-55 66.5H344v80h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V384H62.7c-35.1 0-61.6-32-55-66.5l51.8-272z\"]\n};\nvar faLockOpen = {\n prefix: 'far',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 128c0-44.2 35.8-80 80-80s80 35.8 80 80v72c0 13.3 10.7 24 24 24s24-10.7 24-24V128C560 57.3 502.7 0 432 0S304 57.3 304 128v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V128zM64 240H384c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256c0-8.8 7.2-16 16-16z\"]\n};\nvar faTableTree = {\n prefix: 'far',\n iconName: 'table-tree',\n icon: [512, 512, [], \"e293\", \"M48 160V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160H128v64c0 8.8 7.2 16 16 16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-5.6 0-11-1-16-2.7V320c0 8.8 7.2 16 16 16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-26.5 0-48-21.5-48-48V224 160H48zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 240c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240zm80 80h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\"]\n};\nvar faHouseChimneyHeart = {\n prefix: 'far',\n iconName: 'house-chimney-heart',\n icon: [576, 512, [], \"e1b2\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5 112 204.8zM237.3 208c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3c0-33.8 27.4-61.3 61.3-61.3z\"]\n};\nvar faTally3 = {\n prefix: 'far',\n iconName: 'tally-3',\n icon: [640, 512, [], \"e296\", \"M128 40c13.3 0 24 10.7 24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24zm128 0c13.3 0 24 10.7 24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24zM408 64V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faElevator = {\n prefix: 'far',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M132.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H80c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zm224 86.6l-64-64c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H432c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-64 64c-6.2 6.2-16.4 6.2-22.6 0zM64 176c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H64zM0 192c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zM272 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32zM128 352h64c26.5 0 48 21.5 48 48c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32c0-26.5 21.5-48 48-48zm176-80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM160 224a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMoneyBillTransfer = {\n prefix: 'far',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M558.1 64L535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-64.6 0 0 0H160v16c0 35.3-28.7 64-64 64H80v93.5L50.7 314.7 32 333.5V128c0-35.3 28.7-64 64-64H383.6l.4 0 174.1 0zM560 320V226.5l29.3-29.3L608 178.5V384c0 35.3-28.7 64-64 64H146.5l0 0-64.6 0 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23L256 400c.1 0 .3 0 .4 0H480V384c0-35.3 28.7-64 64-64h16zM320 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'far',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M320 24c0 13.3 10.7 24 24 24h54.1L286.7 159.3 191.6 77.8c-9-7.7-22.4-7.7-31.3 .1l-120 104c-10 8.7-11.1 23.8-2.4 33.9s23.8 11.1 33.9 2.4l104.4-90.5 96.3 82.5c9.5 8.2 23.7 7.6 32.6-1.3l127-127V136c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zM103.5 304h305c3.6 29 26.6 51.9 55.5 55.5v49c-29 3.6-51.9 26.6-55.5 55.5h-305c-3.6-29-26.6-51.9-55.5-55.5v-49c28.9-3.6 51.9-26.6 55.5-55.5zM48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM256 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'far',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M316.1 107.1c-3.5-16.5-9.4-32.2-17.2-46.7L378.1 4.4c8.3-5.9 19.4-5.9 27.7 0l192 136c10.8 7.7 13.4 22.6 5.7 33.5s-22.6 13.4-33.5 5.7l-2.1-1.5V281.4c-5.3-2.9-10.3-6.2-14.8-9.9c-9.7-8.2-21.3-13.1-33.2-14.6V144.1L392 53.4l-75.9 53.7zM143.9 318.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0zM112 430.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7zM0 144a144 144 0 1 1 288 0A144 144 0 1 1 0 144zM140.7 76.7c-6.2 6.2-6.2 16.4 0 22.6L169.4 128H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faSquarePollHorizontal = {\n prefix: 'far',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM256 160c0 13.3-10.7 24-24 24l-112 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l112 0c13.3 0 24 10.7 24 24zm72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l208 0zM192 352c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24z\"]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCartCircleExclamation = {\n prefix: 'far',\n iconName: 'cart-circle-exclamation',\n icon: [640, 512, [], \"e3f2\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.6L489.1 192.1c2.3-.1 4.6-.1 6.9-.1c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSword = {\n prefix: 'far',\n iconName: 'sword',\n icon: [512, 512, [128481], \"f71c\", \"M507.3 4.7C503.7 1 498.5-.6 493.4 .2L417.6 12.8c-16.4 2.7-31.6 10.6-43.4 22.3L166.6 242.7l33.9 33.9L408.1 69.1c4.7-4.7 10.8-7.8 17.4-8.9l31.6-5.3-5.3 31.6c-1.1 6.6-4.2 12.7-8.9 17.4L235.3 311.4l33.9 33.9L476.8 137.8c11.8-11.8 19.6-27 22.3-43.4l12.6-75.8c.8-5.1-.8-10.3-4.5-13.9zM84.7 228.7l-16 16c-5.4 5.4-6.2 13.8-2 20.2l53.1 79.6c2.1 3.2 1.7 7.4-1 10.1L79.2 394.2c-2.1 2.1-5.3 2.9-8.2 1.9L37.1 384.8c-5.7-1.9-12.1-.4-16.4 3.9l-16 16c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l16-16c4.3-4.3 5.8-10.6 3.9-16.4L115.9 441c-1-2.9-.2-6 1.9-8.2l39.6-39.6c2.7-2.7 6.9-3.1 10.1-1l79.6 53.1c6.3 4.2 14.8 3.4 20.2-2l16-16c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBackwardFast = {\n prefix: 'far',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M16 424c0 13.3 10.7 24 24 24s24-10.7 24-24V287.9L238.6 440.6c5.4 4.8 12.4 7.4 19.6 7.4c16.5 0 29.8-13.3 29.8-29.8V287.9L462.6 440.6c5.4 4.8 12.4 7.4 19.6 7.4c16.5 0 29.8-13.3 29.8-29.8V93.8C512 77.3 498.7 64 482.2 64c-7.2 0-14.2 2.6-19.6 7.4L288 224.1V93.8C288 77.3 274.7 64 258.2 64c-7.2 0-14.2 2.6-19.6 7.4L64 224.1V88c0-13.3-10.7-24-24-24S16 74.7 16 88V424zM464 133.9V378.1L324.4 256 464 133.9zM240 378.1L100.4 256 240 133.9V378.1z\"]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'far',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M181.5 40.9C197.7 15.3 226 0 256 0s58.3 15.3 74.5 40.9L392.8 139l6.6-31.8c2.7-13 15.4-21.3 28.3-18.7s21.3 15.4 18.7 28.3l-19.4 94.4c-1.4 6.7-5.6 12.5-11.5 15.9s-13.1 4.2-19.6 2l-91.4-30.4c-12.6-4.2-19.4-17.8-15.2-30.3s17.8-19.4 30.3-15.2l32.2 10.7L290 66.6C282.7 55.1 269.8 48 256 48s-26.7 7.1-34 18.6l-21.5 33.9c-7 11-21.4 14.4-32.6 7.7c-11.6-6.9-15.1-22-7.9-33.4l21.5-33.9zM439 255.5c11.2-6.7 25.6-3.3 32.6 7.7l26.8 42.2c8.8 13.9 13.5 30 13.6 46.4c.3 48.6-39 88.2-87.6 88.2l-137.2 0 24.8 22c9.9 8.8 10.8 24 2 33.9s-24 10.8-33.9 2l-72-64c-5.1-4.6-8.1-11.1-8.1-17.9s2.9-13.4 8.1-17.9l72-64c9.9-8.8 25.1-7.9 33.9 2s7.9 25.1-2 33.9L287.1 392l137.3 0c22 0 39.8-17.9 39.6-39.9c0-7.4-2.2-14.7-6.2-21l-26.8-42.2c-7.2-11.4-3.6-26.5 7.9-33.4zm-311.6 3.7l-6.7-32.8L54.2 331.1c-4 6.3-6.1 13.6-6.2 21c-.1 22 17.7 39.9 39.6 39.9l48.4 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-48.4 0C39 440-.3 400.5 0 351.9c.1-16.4 4.8-32.5 13.6-46.4L78.8 202.8 47.6 213.1c-12.6 4.2-26.2-2.6-30.3-15.2s2.6-26.2 15.2-30.3l91.4-30.4c6.5-2.2 13.6-1.4 19.6 2s10.1 9.2 11.5 15.9l19.4 94.4c2.7 13-5.7 25.7-18.7 28.3s-25.7-5.7-28.3-18.7z\"]\n};\nvar faUserAstronaut = {\n prefix: 'far',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M224 48a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm181.2 80.4C379 53.6 307.8 0 224 0S69 53.6 42.8 128.4C27.6 130.9 16 144.1 16 160v64c0 15.9 11.6 29.1 26.8 31.6c9.7 27.6 25.5 52.4 45.8 72.6C35.6 359.1 0 416.5 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-65.8-35.6-123.2-88.6-154.1c20.3-20.2 36.2-45 45.8-72.6c15.2-2.5 26.8-15.7 26.8-31.6V160c0-15.9-11.6-29.1-26.8-31.6zM319.7 358.5c44.5 18 77.1 59.3 82.6 108.7H336V448c0-17.7-14.3-32-32-32H144c-17.7 0-32 14.3-32 32v19.2H45.6c5.6-49.5 38.1-90.7 82.6-108.7C156.5 374.7 189.1 384 224 384s67.5-9.3 95.7-25.5zM160 128c-26.5 0-48 21.5-48 48v16c0 53 43 96 96 96h32c53 0 96-43 96-96V176c0-26.5-21.5-48-48-48H160zm39.3 45.5l6 21.2 21.2 6c3.3 .9 5.5 3.9 5.5 7.3s-2.2 6.4-5.5 7.3l-21.2 6-6 21.2c-.9 3.3-3.9 5.5-7.3 5.5s-6.4-2.2-7.3-5.5l-6-21.2-21.2-6c-3.3-.9-5.5-3.9-5.5-7.3s2.2-6.4 5.5-7.3l21.2-6 6-21.2c.9-3.3 3.9-5.5 7.3-5.5s6.4 2.2 7.3 5.5zM176 448c8.8 0 16 7.2 16 16v48H160V464c0-8.8 7.2-16 16-16zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faInterrobang = {\n prefix: 'far',\n iconName: 'interrobang',\n icon: [320, 512, [8253], \"e5ba\", \"M144 80c-44.2 0-80 35.8-80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24C16 89.3 73.3 32 144 32h32c70.7 0 128 57.3 128 128v4.6c0 40.1-20.1 77.6-53.4 99.8l-52.3 34.9c-8.9 5.9-14.2 15.9-14.2 26.6v2 16c0 13.3-10.7 24-24 24s-24-10.7-24-24V328v-2V168c0-13.3 10.7-24 24-24s24 10.7 24 24v83.2l39.9-26.6c20-13.4 32.1-35.8 32.1-59.9V160c0-44.2-35.8-80-80-80H144zM128 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPlaneSlash = {\n prefix: 'far',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L461 336h19c20.6 0 49.8-5.8 74.4-16.5c12.4-5.4 25-12.7 34.9-22.4c10-9.8 18.7-23.6 18.7-41.1c0-17.4-8.8-31.1-18.7-40.7c-9.9-9.6-22.4-16.9-34.8-22.4C530 182.1 500.7 176 480 176H413.8L317.7 25.8C307.4 9.7 289.6 0 270.5 0H229.9c-27.1 0-46.4 26.4-38.1 52.2l31.1 97.2L38.8 5.1zM288.3 200.7c.1-2.7-.3-5.4-1.1-8L240.9 48h29.6c2.7 0 5.3 1.4 6.7 3.7l20.2-12.9L277.2 51.7 380.4 212.9c4.4 6.9 12 11.1 20.2 11.1l79.4 0c13.4 0 36.1 4.4 55.1 12.8c9.4 4.2 16.4 8.7 20.7 12.9c4.2 4.1 4.2 6.1 4.2 6.3v0c0 .6-.1 2.8-4.2 6.8c-4.3 4.2-11.2 8.6-20.6 12.7C516.3 283.8 493.6 288 480 288H400.6c-.3 0-.6 0-.9 0L288.3 200.7zm88.9 192.5l-37.9-29.8-62.1 97c-1.5 2.3-4 3.7-6.7 3.7H240.9l45.5-142.3L243.7 288 168 288c-7.6 0-14.7 3.6-19.2 9.6L108 352H83.6l27.4-88.9c1.4-4.6 1.4-9.5 0-14.1L84.3 162.4 39.6 127.2c-4.8 6.3-7.6 14.2-7.6 22.7c0 3.8 .6 7.5 1.7 11.1l0 0L62.9 256 33.7 350.9l0 0c-1.1 3.6-1.7 7.4-1.7 11.1C32 383 49 400 69.9 400H112c12.6 0 24.4-5.9 32-16l-19.2-14.4L144 384l36-48h51.4L191.8 459.8c-8.3 25.8 11 52.2 38.1 52.2l40.6 0c19.1 0 36.9-9.7 47.2-25.8l59.5-93z\"]\n};\nvar faCircleDashed = {\n prefix: 'far',\n iconName: 'circle-dashed',\n icon: [512, 512, [], \"e105\", \"M27.7 232c12.3 0 22.5-9.3 25.2-21.3c5.3-23.9 14.7-46.2 27.4-66.2c6.6-10.4 6-24.2-2.8-32.9c-10.1-10.1-26.8-9.4-34.7 2.5c-18.2 27.3-31.3 58.3-37.9 91.6c-2.8 14 8.5 26.3 22.8 26.3zM144.5 80.4c20-12.7 42.3-22.1 66.2-27.4c12-2.7 21.3-12.9 21.3-25.2c0-14.3-12.3-25.6-26.3-22.8c-33.3 6.6-64.3 19.7-91.6 37.9c-11.9 7.9-12.6 24.6-2.5 34.7c8.7 8.7 22.5 9.4 32.9 2.8zM280 484.3c0 14.3 12.3 25.6 26.3 22.8c33.3-6.6 64.3-19.7 91.6-37.9c11.9-7.9 12.6-24.6 2.5-34.7c-8.7-8.7-22.5-9.4-32.9-2.8c-20 12.7-42.3 22.1-66.2 27.4c-12 2.7-21.3 12.9-21.3 25.2zM431.6 367.5c-6.6 10.4-6 24.2 2.8 32.9c10.1 10.1 26.8 9.4 34.7-2.5c18.2-27.3 31.3-58.3 37.9-91.6c2.8-14-8.5-26.3-22.8-26.3c-12.3 0-22.5 9.3-25.2 21.3c-5.3 23.9-14.7 46.2-27.4 66.2zm-320 66.8c-10.1 10.1-9.4 26.8 2.5 34.7c27.3 18.2 58.3 31.3 91.6 37.9c14 2.8 26.3-8.5 26.3-22.8c0-12.3-9.3-22.5-21.3-25.2c-23.9-5.3-46.2-14.7-66.2-27.4c-10.4-6.6-24.2-6-32.9 2.8zM42.9 397.9c7.9 11.9 24.6 12.6 34.7 2.5c8.7-8.7 9.4-22.5 2.8-32.9c-12.7-20-22.1-42.3-27.4-66.2c-2.7-12-12.9-21.3-25.2-21.3c-14.3 0-25.6 12.3-22.8 26.3c6.6 33.3 19.7 64.3 37.9 91.6zM400.4 77.6c10.1-10.1 9.4-26.8-2.5-34.7c-27.3-18.2-58.3-31.3-91.6-37.9c-14-2.8-26.3 8.5-26.3 22.8c0 12.3 9.3 22.5 21.3 25.2c23.9 5.3 46.2 14.7 66.2 27.4c10.4 6.6 24.2 6 32.9-2.8zm31.2 66.8c12.7 20 22.1 42.3 27.4 66.2c2.7 12 12.9 21.3 25.2 21.3c14.3 0 25.6-12.3 22.8-26.3c-6.6-33.3-19.7-64.3-37.9-91.6c-7.9-11.9-24.6-12.6-34.7-2.5c-8.7 8.7-9.4 22.5-2.8 32.9z\"]\n};\nvar faTrademark = {\n prefix: 'far',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M331.4 105.8c-6.1-8.4-17-11.9-26.8-8.7s-16.6 12.4-16.6 22.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24V193.5L444.6 342.2c4.5 6.2 11.7 9.8 19.4 9.8s14.9-3.7 19.4-9.8L592 193.5V392c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-10.4-6.7-19.6-16.6-22.8s-20.7 .3-26.8 8.7L464 287.3 331.4 105.8zM0 120c0 13.3 10.7 24 24 24h80V392c0 13.3 10.7 24 24 24s24-10.7 24-24V144h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 96 0 106.7 0 120z\"]\n};\nvar faBasketball = {\n prefix: 'far',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M304 458.4c0-.8 0-1.6 0-2.4c0-33.3 10.7-64.1 28.9-89.2l52.2 52.2c-23.5 18.6-51 32.2-81.1 39.4zM256.2 464c-.1 0-.1 0-.2 0c-48.8 0-93.7-16.8-129.1-44.9L256 289.9l42.6 42.6C271.9 366.6 256 409.4 256 456c0 2.7 .1 5.3 .2 8zm76.4-165.4L289.9 256 419.1 126.9C447.2 162.3 464 207.2 464 256c0 .1 0 .1 0 .2c-2.7-.1-5.3-.2-8-.2c-46.6 0-89.4 15.9-123.4 42.6zM458.4 304c-7.1 30.1-20.8 57.7-39.4 81.1l-52.2-52.2c25-18.2 55.9-28.9 89.2-28.9c.8 0 1.6 0 2.4 0zM256 222.1l-42.6-42.6C240.1 145.4 256 102.6 256 56c0-2.7-.1-5.3-.2-8c.1 0 .1 0 .2 0c48.8 0 93.7 16.8 129.1 44.9L256 222.1zm-76.9-76.9L126.9 92.9c23.5-18.6 51-32.2 81.1-39.4c0 .8 0 1.6 0 2.4c0 33.3-10.7 64.1-28.9 89.2zm-33.9 33.9C120.1 197.3 89.3 208 56 208c-.8 0-1.6 0-2.4 0c7.1-30.1 20.8-57.7 39.4-81.1l52.2 52.2zM48 255.8c2.7 .1 5.3 .2 8 .2c46.6 0 89.4-15.9 123.4-42.6L222.1 256 92.9 385.1C64.8 349.7 48 304.8 48 256c0-.1 0-.1 0-.2zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faBasketballBall = faBasketball;\nvar faForkKnife = {\n prefix: 'far',\n iconName: 'fork-knife',\n icon: [576, 512, [\"utensils-alt\"], \"f2e6\", \"M467.2 9.6c8 10.6 5.8 25.6-4.8 33.6l-122.7 92c-2.6 2-5.1 4.1-7.4 6.4l-1.9 1.9C318.6 155.3 312 171.3 312 188s6.6 32.7 18.4 44.5l6.5 6.5 0 0 0 0 6.5 6.5C355.3 257.4 371.3 264 388 264s32.7-6.6 44.5-18.4l1.9-1.9c2.3-2.3 4.5-4.8 6.4-7.4l92-122.7c8-10.6 23-12.8 33.6-4.8s12.8 23 4.8 33.6l-92 122.7c-3.3 4.4-7 8.6-10.9 12.6l-1.9 1.9c-20.8 20.8-49 32.5-78.4 32.5c-24.5 0-48.1-8.1-67.3-22.8L105 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L286.8 255.3C272.1 236.1 264 212.4 264 188c0-29.4 11.7-57.6 32.5-78.4l1.9-1.9c3.9-3.9 8.1-7.6 12.6-10.9l122.7-92c10.6-8 25.6-5.8 33.6 4.8zM521 55c9.4 9.4 9.4 24.6 0 33.9L405 205c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L487 55c9.4-9.4 24.6-9.4 33.9 0zM382.2 343.9l123 127.4c9.2 9.5 8.9 24.7-.6 33.9s-24.7 8.9-33.9-.6L313.4 341.8l12.1-12.1c17.6 8.5 36.8 13.4 56.7 14.2zM235.6 261.2L48 66.8V83.6c0 52.8 20.9 103.5 58.2 141l70.2 70.6c4.6 4.7 10.3 7.6 16.3 8.8l-36.3 36.3c-5-3.2-9.7-6.9-14-11.3L72.1 258.5C25.9 212 0 149.1 0 83.6V35.2C0 15.8 15.8 0 35.2 0c9.6 0 18.7 3.9 25.3 10.8L232 188.3c0 21.7 5 42.9 14.4 62.1l-10.7 10.7z\"]\n};\nvar faUtensilsAlt = faForkKnife;\nvar faSatelliteDish = {\n prefix: 'far',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M192 24c0 13.3 10.7 24 24 24c137 0 248 111 248 248c0 13.3 10.7 24 24 24s24-10.7 24-24C512 132.5 379.5 0 216 0c-13.3 0-24 10.7-24 24zm24 80c-13.3 0-24 10.7-24 24s10.7 24 24 24c79.5 0 144 64.5 144 144c0 13.3 10.7 24 24 24s24-10.7 24-24c0-106-86-192-192-192zm-7 233l40-40c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-40 40L71 199c-13.5-13.5-35.9-12.3-45.1 4.4C9.4 233.2 0 267.5 0 304C0 418.9 93.1 512 208 512c36.5 0 70.8-9.4 100.6-25.9c16.7-9.2 17.8-31.6 4.4-45.1L209 337zM48 304c0-18.1 3-35.5 8.5-51.6L259.6 455.5C243.5 461 226.1 464 208 464c-88.4 0-160-71.6-160-160z\"]\n};\nvar faBadgeCheck = {\n prefix: 'far',\n iconName: 'badge-check',\n icon: [512, 512, [], \"f336\", \"M200.3 81.5C210.9 61.5 231.9 48 256 48s45.1 13.5 55.7 33.5C317.1 91.7 329 96.6 340 93.2c21.6-6.6 46.1-1.4 63.1 15.7s22.3 41.5 15.7 63.1c-3.4 11 1.5 22.9 11.7 28.2c20 10.6 33.5 31.6 33.5 55.7s-13.5 45.1-33.5 55.7c-10.2 5.4-15.1 17.2-11.7 28.2c6.6 21.6 1.4 46.1-15.7 63.1s-41.5 22.3-63.1 15.7c-11-3.4-22.9 1.5-28.2 11.7c-10.6 20-31.6 33.5-55.7 33.5s-45.1-13.5-55.7-33.5c-5.4-10.2-17.2-15.1-28.2-11.7c-21.6 6.6-46.1 1.4-63.1-15.7S86.6 361.6 93.2 340c3.4-11-1.5-22.9-11.7-28.2C61.5 301.1 48 280.1 48 256s13.5-45.1 33.5-55.7C91.7 194.9 96.6 183 93.2 172c-6.6-21.6-1.4-46.1 15.7-63.1S150.4 86.6 172 93.2c11 3.4 22.9-1.5 28.2-11.7zM256 0c-35.9 0-67.8 17-88.1 43.4c-33-4.3-67.6 6.2-93 31.6s-35.9 60-31.6 93C17 188.2 0 220.1 0 256s17 67.8 43.4 88.1c-4.3 33 6.2 67.6 31.6 93s60 35.9 93 31.6C188.2 495 220.1 512 256 512s67.8-17 88.1-43.4c33 4.3 67.6-6.2 93-31.6s35.9-60 31.6-93C495 323.8 512 291.9 512 256s-17-67.8-43.4-88.1c4.3-33-6.2-67.6-31.6-93s-60-35.9-93-31.6C323.8 17 291.9 0 256 0zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faCircleUp = {\n prefix: 'far',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4c-4.5 4.2-7.1 10.1-7.1 16.3c0 12.3 10 22.3 22.3 22.3H208v96c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h57.7c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.1-16.3L269.8 117.5c-3.8-3.5-8.7-5.5-13.8-5.5s-10.1 2-13.8 5.5L135.1 217.4z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faSlider = {\n prefix: 'far',\n iconName: 'slider',\n icon: [512, 512, [], \"e252\", \"M352 144c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h32zM320 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64h32c35.3 0 64-28.7 64-64V280h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H416V160c0-35.3-28.7-64-64-64H320zM0 256c0 13.3 10.7 24 24 24H224V232H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faMobileScreenButton = {\n prefix: 'far',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M64 448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V368H64v80zm0-128H320V64c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16V320zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM192 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faClockOneThirty = {\n prefix: 'far',\n iconName: 'clock-one-thirty',\n icon: [512, 512, [], \"e34f\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V263.3l60-90c7.4-11 4.4-25.9-6.7-33.3s-25.9-4.4-33.3 6.7l-64 96c-2.6 3.9-4 8.6-4 13.3V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faInboxOut = {\n prefix: 'far',\n iconName: 'inbox-out',\n icon: [512, 512, [128228, \"inbox-arrow-up\"], \"f311\", \"M280 288c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-63 63c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 7c9.4-9.4 24.6-9.4 33.9 0L377 111c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-63-63V288zM149.1 405.5L130.3 368H48v96H464V368H381.7l-18.7 37.5C354.8 421.7 338.2 432 320 432H192c-18.2 0-34.8-10.3-42.9-26.5zm24.2-58.9L192 384H320l18.7-37.5c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h82.3c18.2 0 34.8 10.3 42.9 26.5z\"]\n};\nvar faInboxArrowUp = faInboxOut;\nvar faCloudSlash = {\n prefix: 'far',\n iconName: 'cloud-slash',\n icon: [640, 512, [], \"e137\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-33.4-26.2C623.6 418.1 640 383 640 344c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32c-48.5 0-92.1 20.5-122.8 53.4L38.8 5.1zm140.4 110C200.9 93.4 230.9 80 264 80c36.3 0 68.8 16.1 90.9 41.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 27.8-12.9 52.6-33.1 68.8L179.2 115.1zM426.5 432H144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c16.4-5.8 28.2-19.9 31.2-36.6L98.1 173.3C96.7 182 96 190.9 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h23.4l-60.9-48z\"]\n};\nvar faVolumeHigh = {\n prefix: 'far',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C557.5 113.8 592 180.8 592 256s-34.5 142.2-88.7 186.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C598.5 426.8 640 346.2 640 256s-41.5-170.8-106.4-223.5zM473.1 107c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C475.3 170.7 496 210.9 496 256s-20.7 85.3-53.2 111.8c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5c43.2-35.2 70.9-88.9 70.9-149s-27.7-113.8-70.9-149zm-60.5 74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C393.1 227.6 400 241 400 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C434.1 312.9 448 286.1 448 256s-13.9-56.9-35.4-74.5zM159.9 201.9L272 102.3V409.7L159.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H56c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32z\"]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'far',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M7 7C16.4-2.3 31.6-2.3 41 7l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM633 7c9.4 9.4 9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L599 7c9.4-9.4 24.6-9.4 33.9 0zM41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505zm592 0c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9zM320 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-51.6 82c6.3-1.3 12.9-2 19.6-2h32 32c6.7 0 13.3 .7 19.6 2c1.1 .2 2.2 .5 3.3 .7c23.6 5.8 43.8 20.3 56.9 39.9c1.2 1.7 2.3 3.5 3.3 5.4c8.2 14.1 12.8 30.5 12.8 48c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32c0-17.5 4.7-33.9 12.8-48c12.9-22.3 34.6-39 60.3-45.3c1.1-.3 2.2-.5 3.3-.7zm96.2-162.6A72 72 0 1 1 275.4 240.5a72 72 0 1 1 89.2-113.1zM397.3 368c-6.6-18.6-24.4-32-45.3-32H288c-20.9 0-38.7 13.4-45.3 32H397.3zM127.8 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM96 309.3c0-29.5 23.9-53.3 53.3-53.3h69.3c9.8 0 18.9 2.6 26.8 7.2c-34.6 12.2-62.5 38.9-76.2 72.8H122.7C107.9 336 96 324.1 96 309.3zM470.7 336c-13.7-33.9-41.5-60.6-76.2-72.8c7.9-4.6 17-7.2 26.8-7.2h69.3c29.5 0 53.3 23.9 53.3 53.3c0 14.7-11.9 26.7-26.7 26.7H470.7zM416 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faWallet = {\n prefix: 'far',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M88 32C39.4 32 0 71.4 0 120V392c0 48.6 39.4 88 88 88H424c48.6 0 88-39.4 88-88V216c0-48.6-39.4-88-88-88H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c22.1 0 40 17.9 40 40V392c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V120c0-22.1 17.9-40 40-40H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM384 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faOctagonCheck = {\n prefix: 'far',\n iconName: 'octagon-check',\n icon: [512, 512, [], \"e426\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faFlatbreadStuffed = {\n prefix: 'far',\n iconName: 'flatbread-stuffed',\n icon: [576, 512, [129369], \"e40c\", \"M272.2 4c-12.8-7-28.7-4.5-38.7 6.1L186.6 59.9c-4.6 4.9-10.5 8.2-17.1 9.5L102.4 82.7c-14.3 2.8-24.9 15-25.7 29.6l-3.8 68.3c-.4 6.7-2.8 13-7 18.2L23.1 252.1c-9.1 11.4-9.4 27.5-.7 39.2l40.9 54.8c4 5.3 6.2 11.8 6.4 18.5l.9 41.2c2.6-4.9 5.9-9.4 9.9-13.3l55.9-55.9C121.1 316.3 112 291.2 112 264c0-66.3 53.7-120 120-120c27.2 0 52.3 9.1 72.5 24.3L424.4 48.4c4.6-4.6 10-8.3 15.8-11.1c-6.1-3.9-13.4-5.7-21-4.8l-67.9 8.1c-6.6 .8-13.3-.5-19.2-3.7L272.2 4zM159.3 313.5L281.5 191.3C267.4 181.6 250.4 176 232 176c-48.6 0-88 39.4-88 88c0 18.4 5.6 35.4 15.3 49.5zM275 243l-86 86-86 86c-4.8 4.8-7.4 11.5-7 18.3s3.7 13.2 9 17.4C150.8 487.1 207.3 512 272 512c150.2 0 272-121.8 272-272c0-64.7-24.9-121.2-61.2-166.9c-4.3-5.4-10.6-8.6-17.4-9s-13.5 2.2-18.3 7l-43 43-43 43-86 86zM395 191l43-43 23-23c21.8 34 35 72.7 35 115c0 123.7-100.3 224-224 224c-42.4 0-81-13.2-115-35l66-66 86-86 86-86zM296 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faClipboardCheck = {\n prefix: 'far',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM289 267.6c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-89.7 89.7L129 287c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l53.3 53.3c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7L289 267.6z\"]\n};\nvar faCartCirclePlus = {\n prefix: 'far',\n iconName: 'cart-circle-plus',\n icon: [640, 512, [], \"e3f3\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.6L489.1 192.1c2.3-.1 4.6-.1 6.9-.1c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM352 368a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm208 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faTruckClock = {\n prefix: 'far',\n iconName: 'truck-clock',\n icon: [640, 512, [\"shipping-timed\"], \"f48c\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 192a112 112 0 1 1 224 0A112 112 0 1 1 96 192zm112-64c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V144c0-8.8-7.2-16-16-16z\"]\n};\nvar faShippingTimed = faTruckClock;\nvar faPool8Ball = {\n prefix: 'far',\n iconName: 'pool-8-ball',\n icon: [512, 512, [], \"e3c5\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm120-56a136 136 0 1 1 272 0 136 136 0 1 1 -272 0zm173.3-25.8C300 166 304 155.5 304 144c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 11.5 4 22 10.7 30.2C207.2 184.5 200 199.4 200 216c0 30.9 25.1 56 56 56s56-25.1 56-56c0-16.6-7.2-31.5-18.7-41.8zM240 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 464H320c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 272V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L129.4 376H112c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h17.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8zm85.8-4c11.6 20 18.2 43.3 18.2 68s-6.6 48-18.2 68c-6.6 11.5-21.3 15.4-32.8 8.8s-15.4-21.3-8.8-32.8c7.5-12.9 11.8-27.9 11.8-44s-4.3-31.1-11.8-44c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8z\"]\n};\nvar faTurnDownLeft = {\n prefix: 'far',\n iconName: 'turn-down-left',\n icon: [512, 512, [], \"e331\", \"M6.5 271.6c-8.7 9.2-8.7 23.7 0 32.9l121.4 129c8.8 9.3 21 14.6 33.7 14.6c25.6 0 46.3-20.7 46.3-46.3l0-41.7 144 0c88.4 0 160-71.6 160-160l0-112c0-30.9-25.1-56-56-56l-32 0c-30.9 0-56 25.1-56 56l0 120c0 4.4-3.6 8-8 8l-152 0 0-41.7c0-25.6-20.7-46.3-46.3-46.3c-12.8 0-25 5.3-33.7 14.6L6.5 271.6zm153.5-93l0 61.5c0 13.3 10.7 24 24 24l176 0c30.9 0 56-25.1 56-56l0-120c0-4.4 3.6-8 8-8l32 0c4.4 0 8 3.6 8 8l0 112c0 61.9-50.1 112-112 112l-168 0c-13.3 0-24 10.7-24 24l0 61.5L57 288 160 178.5z\"]\n};\nvar faLockHashtag = {\n prefix: 'far',\n iconName: 'lock-hashtag',\n icon: [448, 512, [], \"e423\", \"M144 128v32H304V128c0-44.2-35.8-80-80-80s-80 35.8-80 80zM96 160V128C96 57.3 153.3 0 224 0s128 57.3 128 128v32h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H96zm0 48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H352 304 144 96zm88 16c13.3 0 24 10.7 24 24v24h32V248c0-13.3 10.7-24 24-24s24 10.7 24 24v24h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H288v32h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H288v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H208v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V320H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V248c0-13.3 10.7-24 24-24zm24 128h32V320H208v32z\"]\n};\nvar faChartRadar = {\n prefix: 'far',\n iconName: 'chart-radar',\n icon: [512, 512, [], \"e0e7\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220zm41.6 48c-4.3-7.4-4.3-16.6 0-24L146.9 91.1c4.3-7.4 12.2-12 20.8-12l176.6 0c8.6 0 16.5 4.6 20.8 12L453.4 244c4.3 7.4 4.3 16.6 0 24L365.1 420.9c-4.3 7.4-12.2 12-20.8 12H167.7c-8.6 0-16.5-4.6-20.8-12L58.6 268zm231.5-87.2c3.7-6.1 5.8-13.2 5.8-20.8c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 3.9 .6 7.7 1.6 11.2L160 248c-22.1 0-40 17.9-40 40s17.9 40 40 40c10.2 0 19.6-3.9 26.7-10.2l97.2 19.4c6.4 13.5 20.2 22.7 36.1 22.7c22.1 0 40-17.9 40-40c0-18.5-12.6-34.1-29.6-38.6L290.2 180.8zM202 271.9l47.5-63.4 31.7 79.2L202 271.9z\"]\n};\nvar faStaff = {\n prefix: 'far',\n iconName: 'staff',\n icon: [512, 512, [], \"f71b\", \"M238.8 57.5C256.4 22.3 292.4 0 331.8 0H408c57.4 0 104 46.6 104 104V207.9c0 42.8-26.1 80.8-65.1 96.5l-17.3 30.7c-4.3 7.7-14.1 10.4-21.8 6.1l-29.4-16.6L253.7 360.1 122.9 490.9C94.8 519 49.2 519 21.1 490.9l16.8-16.8L21.1 490.9C-7 462.8-7 417.2 21.1 389.1L96 314.2V288c0-8.8 7.2-16 16-16h26.2l21-21c12.5-12.5 28-21.6 45-26.5L368 177.7V144H355.9c-19.8 29.8-59.2 40.8-92.1 24.4c-35.6-17.8-50-61-32.2-96.6l7.2-14.3zm93-9.5c-21.2 0-40.6 12-50.1 31l-7.2 14.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7l2.7-5.5c4.1-8.1 12.4-13.3 21.5-13.3H392c13.3 0 24 10.7 24 24v75.8c0 10.7-7.1 20.1-17.4 23.1L217.4 270.6c-9.2 2.6-17.5 7.5-24.2 14.2L55 423c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L224.2 321.8c2.9-2.9 6.5-5 10.4-6.1l188.8-54c24-6.9 40.6-28.8 40.6-53.8V104c0-30.9-25.1-56-56-56H331.8z\"]\n};\nvar faBurger = {\n prefix: 'far',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M396.5 134.9c-7.7-8.5-17-17.1-28.6-24.9c.1 .6 .1 1.3 .1 2c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-6.5 3.8-12 9.3-14.6c-19.9-9.1-44.5-15.6-75.3-17.1c1.2 2.3 1.9 4.9 1.9 7.7c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.8 .7-5.4 1.9-7.7c-30.7 1.5-55.4 8-75.3 17.1c5.5 2.5 9.3 8.1 9.3 14.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.7 0-1.3 .1-2c-11.6 7.8-21 16.4-28.6 24.9c-12.8 14.2-21.5 29-27.1 41.1H423.6c-5.7-12.1-14.3-26.9-27.1-41.1zM450.9 224H61.1C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1zM128 432H384c20.9 0 38.7-13.4 45.3-32H82.7c6.6 18.6 24.4 32 45.3 32zM32 384c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96zM16 288c0-17.7 14.3-32 32-32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32z\"]\n};\nvar faHamburger = faBurger;\nvar faUtilityPole = {\n prefix: 'far',\n iconName: 'utility-pole',\n icon: [512, 512, [], \"e2c3\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H128V56c0-13.3-10.7-24-24-24S80 42.7 80 56V80H64.2c-.2 0-.3 0-.5 0H48V56c0-13.3-10.7-24-24-24S0 42.7 0 56V88c0 22.1 17.9 40 40 40H83.2L232 227.2V296 488c0 13.3 10.7 24 24 24s24-10.7 24-24V296 227.2L428.8 128H472c22.1 0 40-17.9 40-40V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H448.2c-.2 0-.3 0-.5 0H432V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H280V24zm91.2 104L280 188.8V128h91.2zM232 188.8L140.8 128H232v60.8z\"]\n};\nvar faTransporter6 = {\n prefix: 'far',\n iconName: 'transporter-6',\n icon: [512, 512, [], \"e2a7\", \"M56.7 6.6L64 32l25.4 7.3C93.3 40.4 96 43.9 96 48s-2.7 7.6-6.6 8.7L64 64 56.7 89.4C55.6 93.3 52.1 96 48 96s-7.6-2.7-8.7-6.6L32 64 6.6 56.7C2.7 55.6 0 52.1 0 48s2.7-7.6 6.6-8.7L32 32 39.3 6.6C40.4 2.7 43.9 0 48 0s7.6 2.7 8.7 6.6zm416 352L480 384l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 416l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 416l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 384l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWrench = {\n prefix: 'far',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M322.3 268c9.4 2.6 19.3 4 29.7 4c60.5 0 109.8-48 111.9-108l-25.3 25.3c-12 12-28.3 18.7-45.3 18.7H368c-35.3 0-64-28.7-64-64V118.6c0-17 6.7-33.3 18.7-45.3l0 0L348 48.1C288 50.1 240 99.5 240 160c0 10.3 1.4 20.3 4 29.7c4.6 16.6-.2 34.4-12.4 46.6L57.1 410.7c-5.9 5.8-9.1 13.8-9.1 22.1C48 450 62 464 79.2 464c8.3 0 16.2-3.3 22.1-9.1L275.7 280.4c12.2-12.2 30-16.9 46.6-12.4zM424.6 39.4l-67.9 67.9c-3 3-4.7 7.1-4.7 11.3V144c0 8.8 7.2 16 16 16h25.4c4.2 0 8.3-1.7 11.3-4.7l67.9-67.9c7.2-7.2 19.3-5.9 23.7 3.3c10.1 21 15.7 44.5 15.7 69.3c0 88.4-71.6 160-160 160c-14.7 0-28.9-2-42.3-5.7L135.2 488.8c-14.9 14.9-35 23.2-56 23.2C35.5 512 0 476.5 0 432.8c0-21 8.3-41.1 23.2-56L197.7 202.3C194 188.9 192 174.7 192 160C192 71.6 263.6 0 352 0c24.8 0 48.3 5.7 69.3 15.7c9.2 4.4 10.5 16.5 3.3 23.7zM88 408a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBugs = {\n prefix: 'far',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184H64v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.7 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6zM496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2zM144 224c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v64zm307.9 97.8l-32 55.4c-4.4 7.7-14.2 10.3-21.9 5.9s-10.3-14.2-5.9-21.9l32-55.4c4.4-7.7 14.2-10.3 21.9-5.9s10.3 14.2 5.9 21.9z\"]\n};\nvar faVectorPolygon = {\n prefix: 'far',\n iconName: 'vector-polygon',\n icon: [448, 512, [], \"e2c7\", \"M360 72h48v48H360V72zm-8-40c-17.7 0-32 14.3-32 32v8H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32h8l0 192H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32v-8H320v8c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H373.6l-27.4-45.6c3.7-5.2 5.8-11.5 5.8-18.4V224c0-6.8-2.1-13.2-5.8-18.4L373.6 160H416c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM298.4 320l27.4 45.6c-3.7 5.2-5.8 11.5-5.8 18.4v8H128v-8c0-17.7-14.3-32-32-32H88l0-192h8c17.7 0 32-14.3 32-32v-8H320v8c0 6.8 2.1 13.2 5.8 18.4L298.4 192H256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h42.4zM40 440V392H88v48H40zm320 0V392h48v48H360zM40 120V72H88v48H40zM264 232h48v48H264V232z\"]\n};\nvar faDiagramNested = {\n prefix: 'far',\n iconName: 'diagram-nested',\n icon: [448, 512, [], \"e157\", \"M144 80v96H48V80h96zM48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48H72v96c0 48.6 39.4 88 88 88h96v24c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48v24H160c-22.1 0-40-17.9-40-40V224h24c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM400 336v96H304V336h96z\"]\n};\nvar faRupeeSign = {\n prefix: 'far',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 56C0 42.7 10.7 32 24 32h96c75.1 0 136 60.9 136 136c0 59.4-38.1 109.9-91.1 128.4l57.5 151c4.7 12.4-1.5 26.3-13.9 31s-26.3-1.5-31-13.9L116.4 304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V280 56zM48 256h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H48V256zm264.6 10.4c-1.2 7.9-.2 12.8 1 15.9s3.5 6.2 7.5 9.4c9.2 7.4 23.3 12.5 43.1 19.6l.8 .3c17.4 6.2 40 14.2 56.7 28.5c9 7.7 16.8 17.6 21.5 30.4c4.7 12.7 5.7 26.7 3.5 41.9c-3.9 26.6-19.1 46.5-41 57.6c-21 10.6-46.4 12.3-71.6 7.6l-.2 0 0 0c-9-1.7-20.2-5.7-29.5-9.2c-6.3-2.4-13-5.1-18.5-7.3l0 0 0 0c-2.7-1.1-5-2-6.9-2.8c-12.3-4.8-18.4-18.8-13.6-31.1s18.8-18.4 31.1-13.6c2.6 1 5.3 2.1 8.2 3.3l0 0 0 0c5.1 2.1 10.7 4.3 16.7 6.6c9.4 3.5 17 6 21.5 6.9c18.1 3.3 32.1 1.2 41.2-3.3c8.1-4.1 13.5-10.7 15.1-21.7c1.3-8.8 .4-14.5-1-18.3c-1.4-3.8-3.8-7.1-7.7-10.5c-9-7.7-22.9-13.1-42.4-20l-2.9-1c-16.8-5.9-38.1-13.5-54.1-26.2c-9-7.2-17.1-16.6-22.1-29s-6.2-26.1-4-40.8c7.8-52.8 62.2-74.5 112.6-65.2c7.1 1.3 28.4 6.1 36.5 8.7c12.6 4 19.7 17.4 15.7 30.1s-17.4 19.7-30.1 15.7c-5.5-1.7-24.7-6.1-30.8-7.3c-36.3-6.7-54.2 10.2-56.4 25z\"]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm69.2 46.9c-3-4.3-7.9-6.9-13.2-6.9s-10.2 2.6-13.2 6.9l-41.3 59.7-11.9-19.1c-2.9-4.7-8.1-7.5-13.6-7.5s-10.6 2.8-13.6 7.5l-40 64c-3.1 4.9-3.2 11.1-.4 16.2s8.2 8.2 14 8.2h48 32 40 72c6 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-72-104z\"]\n};\nvar faCircleQuestion = {\n prefix: 'far',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faImageUser = {\n prefix: 'far',\n iconName: 'image-user',\n icon: [512, 512, [], \"e1b8\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm192 96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H171.4c-15.1 0-27.4-12.3-27.4-27.4z\"]\n};\nvar faBuoy = {\n prefix: 'far',\n iconName: 'buoy',\n icon: [576, 512, [], \"e5b5\", \"M184 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h12.1L142.2 304H96c-17.7 0-32 14.3-32 32v16c0 13.3 1.8 26.1 5.2 38.3c15.8-7.3 33.9-7.9 50.2-1.5c-4.7-11.3-7.3-23.8-7.3-36.8H464c0 13.1-2.6 25.5-7.3 36.9c16.2-6.4 34.4-5.8 50.2 1.5c3.4-12.2 5.2-25.1 5.2-38.3V336c0-17.7-14.3-32-32-32H433.8L379.9 48H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM330.8 48l11.9 56.6L288 168.5l-54.8-63.9L245.2 48h85.7zM220.8 163.8l35.6 41.5-58.8 68.6 23.2-110.1zM288 242.2L341 304H235l53-61.8zm90.4 31.7l-58.8-68.6 35.6-41.5 23.2 110.1zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'far',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M154.5 87.6c9.2-3.8 19.4-4.1 28.8-.8L369 152.8c6.3 2.2 13.2 1.7 19.2-1.4l83.1-43.5c14.9-7.8 31.4-11.9 48.3-11.9h50.8c11.2 0 18.6 11.6 13.9 21.8c-17.2 36.8-46 67-81.9 85.8L251.8 335.1c-1.1 .6-2.4 .9-3.7 .9H126.7c-2.3 0-4.6-1-6.1-2.8L54.2 255.7l23-11.5c2.1-1.1 4.6-1.1 6.8-.2l58.2 25.9c6.7 3 14.4 2.7 20.9-.7l88.1-46.2c7.6-4 12.5-11.7 12.8-20.3s-3.9-16.7-11.2-21.3L124 100.4l30.5-12.7zm44.8-46c-20.6-7.3-43.1-6.7-63.3 1.7L91.3 62c-29.9 12.5-33.4 53.5-5.9 70.8L192 199.9l-40.9 21.4-47.6-21.2c-15.3-6.8-32.8-6.4-47.8 1.1L66.1 222 55.8 201.3 23.6 217.4C.3 229-5.8 259.4 11.1 279.2l73.1 85.3 17.6-15.1L84.2 364.4c10.6 12.4 26.2 19.6 42.5 19.6H248.1c9.1 0 18-2.2 26-6.4L524.5 246.1c45.3-23.8 81.5-61.7 103.1-108c19.6-42-11-90.1-57.4-90.1H519.5c-24.6 0-48.8 6-70.5 17.4L375.1 104 199.3 41.6zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'far',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L501.8 368h46.5c5.5 9.6 15.9 16 27.7 16h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H584 544 505.1L475 101.2C448 77.3 413.2 64 377.1 64c-37.6 0-73.9 14.4-101.2 40.2l-50.1 47.4-31.2-24.4c8.3-5 17.2-8.9 26.5-11.5l51.1-51.1c-4.4-.4-8.8-.6-13.2-.6H248.7c-34 0-66.9 11.4-93.6 32.2L38.8 5.1zM263.9 181.5l44.9-42.4c18.5-17.4 42.9-27.1 68.3-27.1c24.4 0 47.9 8.9 66.1 25.1l36.9 32.8c4.4 3.9 10.1 6.1 15.9 6.1h48V320H456 440.6l-99.4-77.9 35.1-32.4c9.7-9 10.3-24.2 1.4-33.9s-24.2-10.3-33.9-1.4l-40.9 37.7-39-30.5zM96 171.6L40.6 128H16c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.6 0 32-14.3 32-31.9c7.7 .5 14.9 3.8 20.4 9.3L152 397l7 7L185.9 431c23.6 23.6 60.9 24.9 86 4.1c30.4 22 73 19.3 100.4-8.1c7.3-7.3 12.8-15.6 16.6-24.5l-42-33.1c.8 8.5-2.1 17.2-8.6 23.7c-11.6 11.6-30.4 11.6-41.9 0l-10.7-10.7c-5.8-5.8-14.2-8.2-22.2-6.5s-14.6 7.5-17.3 15.3c-.8 2.1-2 4.1-3.7 5.8c-6.2 6.2-16.4 6.2-22.6 0L193 370.1l0 0-7-7-35.6-35.6C135.8 313 116.4 304.6 96 304V224 176v-4.4zM32 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm560-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBookBookmark = {\n prefix: 'far',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H352V206.7c0 13.4-15.5 20.9-26 12.5L272 176l-54 43.2c-10.5 8.4-26 .9-26-12.5V48H88C65.9 48 48 65.9 48 88V358.7z\"]\n};\nvar faBorderCenterH = {\n prefix: 'far',\n iconName: 'border-center-h',\n icon: [448, 512, [], \"f89c\", \"M32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM416 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l400 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 232z\"]\n};\nvar faCanFood = {\n prefix: 'far',\n iconName: 'can-food',\n icon: [384, 512, [129387], \"e3e6\", \"M320 434.3c-3.4 3-10.2 7.5-21.7 12.2C273.5 456.6 235.9 464 192 464s-81.5-7.4-106.3-17.5c-11.5-4.7-18.3-9.2-21.7-12.2V289.4c14.2 6.1 31 11.3 49.7 15.1c7.6 36.3 39.8 63.5 78.3 63.5s70.7-27.2 78.3-63.5c18.7-3.8 35.5-8.9 49.7-15.1V434.3zm48 5.7V240 72c0-39.8-78.8-72-176-72S16 32.2 16 72V240 440c0 39.8 78.8 72 176 72s176-32.2 176-72zM304 72c0 13.3-50.1 24-112 24S80 85.3 80 72s50.1-24 112-24s112 10.7 112 24zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTypewriter = {\n prefix: 'far',\n iconName: 'typewriter',\n icon: [512, 512, [], \"f8e7\", \"M128 64c0-8.8 7.2-16 16-16H335.4c4.2 0 8.3 1.7 11.3 4.7l32.6 32.6c3 3 4.7 7.1 4.7 11.3V160h48V96.6c0-17-6.7-33.3-18.7-45.3L380.7 18.7C368.7 6.7 352.4 0 335.4 0H144C108.7 0 80 28.7 80 64v96h48V64zM0 224v32c0 17.7 14.3 32 32 32V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H365.3c-8.5 0-16.6 3.4-22.6 9.4l-13.3 13.3c-6 6-14.1 9.4-22.6 9.4H205.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H32c-17.7 0-32 14.3-32 32zm80 64H432V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V288zm48 112v16c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm40-60a20 20 0 1 0 -40 0 20 20 0 1 0 40 0zm52 20a20 20 0 1 0 0-40 20 20 0 1 0 0 40zm92-20a20 20 0 1 0 -40 0 20 20 0 1 0 40 0zm52 20a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faArrowRightFromArc = {\n prefix: 'far',\n iconName: 'arrow-right-from-arc',\n icon: [512, 512, [], \"e4b1\", \"M48 256C48 141.1 141.1 48 256 48c13.3 0 24-10.7 24-24s-10.7-24-24-24C114.6 0 0 114.6 0 256S114.6 512 256 512c13.3 0 24-10.7 24-24s-10.7-24-24-24C141.1 464 48 370.9 48 256zM392.3 134.4c-9.7-9-24.9-8.5-33.9 1.3s-8.5 24.9 1.3 33.9L426.9 232H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H426.9l-67.2 62.4c-9.7 9-10.3 24.2-1.3 33.9s24.2 10.3 33.9 1.3l112-104c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104z\"]\n};\nvar faCircleK = {\n prefix: 'far',\n iconName: 'circle-k',\n icon: [512, 512, [], \"e113\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm89.1-343.2c9.3-9.5 9.2-24.6-.3-33.9s-24.6-9.2-33.9 .3L208 239.8V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V298.5 360c0 13.3 10.7 24 24 24s24-10.7 24-24V308.3l30-30.5 70.7 96.4c7.8 10.7 22.9 13 33.5 5.2s13-22.9 5.2-33.5L272.1 243.1l73.1-74.3z\"]\n};\nvar faFaceHandOverMouth = {\n prefix: 'far',\n iconName: 'face-hand-over-mouth',\n icon: [512, 512, [129762], \"e378\", \"M256 48C141.1 48 48 141.1 48 256c0 59 24.6 112.2 64 150.1v10.7c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c11.7-11.7 16.1-27.9 13.2-43C439.1 369 464 315.4 464 256c0-114.9-93.1-208-208-208zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM299.3 276.7c6.2 6.2 6.2 16.4 0 22.6L248 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l67.3-67.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L280 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l51.3-51.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L312 414.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l19.3-19.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.8 56.8C288.7 502 264.4 512 239.2 512c-52.6 0-95.2-42.6-95.2-95.2V384 330.4c0-11 9-20 20-20s20 9 20 20v19.7c0 7.1 8.6 10.7 13.7 5.7l79-79c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPopcorn = {\n prefix: 'far',\n iconName: 'popcorn',\n icon: [448, 512, [127871], \"f819\", \"M32 156c0-20.9 14.5-38.3 34-42.9c-1.3-4.2-2-8.6-2-13.1c0-24.3 19.7-44 44-44c1.9 0 3.7 .1 5.6 .3C118.7 37.7 135.7 24 156 24c8.5 0 16.5 2.4 23.2 6.6C186.2 12.7 203.6 0 224 0s37.8 12.7 44.8 30.6c6.7-4.2 14.7-6.6 23.2-6.6c20.3 0 37.3 13.7 42.4 32.3c1.8-.2 3.7-.3 5.6-.3c24.3 0 44 19.7 44 44c0 4.6-.7 9-2 13.1c19.5 4.5 34 22 34 42.9c0 1.3-.1 2.7-.2 4H328.2 119.8 32.2c-.1-1.3-.2-2.7-.2-4zm22.3 84l62.2 224h215l62.2-224h-47L303.6 419.7c-2.1 8.6-10.7 13.9-19.3 11.8s-13.9-10.7-11.8-19.3L313.8 240H240V416c0 8.8-7.2 16-16 16s-16-7.2-16-16V240H134.2l41.3 172.3c2.1 8.6-3.2 17.2-11.8 19.3s-17.2-3.2-19.3-11.8L101.3 240h-47zM224 192H419.8c15.6 0 28.2 12.6 28.2 28.2c0 2.5-.3 5.1-1 7.5L377.8 476.8C372 497.6 353.1 512 331.5 512h-215c-21.6 0-40.5-14.4-46.2-35.2L1 227.7c-.7-2.5-1-5-1-7.5C0 204.6 12.6 192 28.2 192H224z\"]\n};\nvar faHouseWater = {\n prefix: 'far',\n iconName: 'house-water',\n icon: [576, 512, [\"house-flood\"], \"f74f\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V393c14.6-8.5 31.9-10.7 48-6.6V204.8L288 55.5 464 204.8V386.5c16.1-4.2 33.4-1.9 48 6.5V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM256 224h64v64H256V224zm-8-48c-22.1 0-40 17.9-40 40v80c0 22.1 17.9 40 40 40h80c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H248zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faHouseFlood = faHouseWater;\nvar faObjectSubtract = {\n prefix: 'far',\n iconName: 'object-subtract',\n icon: [512, 512, [], \"e49e\", \"M64 48l32 0V0H64C28.7 0 0 28.7 0 64V96H48l0-32c0-8.8 7.2-16 16-16zm160 0V0H128V48l96 0zM48 128H0v96H48l0-96zm0 128H0v32c0 35.3 28.7 64 64 64H96l0-48H64c-8.8 0-16-7.2-16-16l0-32zm80 96h32l48 0h16V304l-96 0v48zm32 32l0 64c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64l-64 0v48l64 0c8.8 0 16 7.2 16 16l0 224c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-64H160zM352 208l0-48V128H304l0 96h48V208zm0-144c0-35.3-28.7-64-64-64H256V48l32 0c8.8 0 16 7.2 16 16V96h48V64zM256 304v48h32c35.3 0 64-28.7 64-64V256H304v32c0 8.8-7.2 16-16 16H256z\"]\n};\nvar faCodeBranch = {\n prefix: 'far',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 35.8-23.5 66.1-56 76.3V256c20.1-15.1 45-24 72-24h96c39.8 0 72-32.2 72-72v-3.7c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V160c0 66.3-53.7 120-120 120H176c-39.8 0-72 32.2-72 72v3.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V352 156.3C23.5 146.1 0 115.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm240 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 464a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faWarehouseFull = {\n prefix: 'far',\n iconName: 'warehouse-full',\n icon: [640, 512, [\"warehouse-alt\"], \"f495\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 240V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H144zM376 416h64c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V440c0-13.3 10.7-24 24-24zM176 312c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V312zm24 104h96c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V440c0-13.3 10.7-24 24-24z\"]\n};\nvar faWarehouseAlt = faWarehouseFull;\nvar faHatCowboy = {\n prefix: 'far',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M254.2 82.7c-2 2.8-4.4 6.7-7.1 11.8C236.8 114 226.9 142 218.2 173c-8.5 30.4-15.3 61-19.9 84.3c-.9 4.7-1.8 9.1-2.5 13.1c-16.8-5-32-10.6-45.7-16.6C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64s22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.4 0 84.4 152.2 97.9 221.9c-13.7 5.9-28.9 11.6-45.7 16.6c-.8-4-1.6-8.4-2.5-13.2c-4.6-23.3-11.3-54-19.9-84.3c-8.7-30.9-18.6-59-28.9-78.5c-2.7-5.1-5.1-9-7.1-11.8c-.5 .4-1 .9-1.6 1.4c-.5 .5-1.1 1-1.8 1.6l0 0 0 0C374 93.3 353.4 112 320 112s-54-18.7-62.3-26.2l0 0c-.7-.6-1.3-1.2-1.8-1.6c-.6-.5-1.2-1-1.6-1.4zM380.9 77l0 0c0 0 0 0 0 0l.1 0zm-121.7 0c0 0 0 0 0 0l.1 0s0 0 0 0zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]\n};\nvar faBridge = {\n prefix: 'far',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H72v64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H96 224 552c13.3 0 24-10.7 24-24s-10.7-24-24-24H504V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM456 80v64H376V80h80zM328 80v64H248V80h80zM200 80v64H120V80h80zM24 240c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c30.9 0 56 25.1 56 56v96c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V336c0-26.5 21.5-48 48-48c13.3 0 24-10.7 24-24s-10.7-24-24-24c-53 0-96 43-96 96v96H408V344c0-57.4-46.6-104-104-104H272c-57.4 0-104 46.6-104 104v88H120V336c0-53-43-96-96-96z\"]\n};\nvar faPhoneFlip = {\n prefix: 'far',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M136.2 275.2c16.4-7 35.4-2.4 46.7 11.4l33.2 40.6c46-26.7 84.4-65.1 111.1-111.1L286.7 183c-13.8-11.3-18.5-30.3-11.4-46.7l48-112C330.8 6.7 349.7-3.1 368.4 .9l112 24C498.8 28.8 512 45.1 512 64v0c0 231.2-175.2 421.5-400.1 445.5c-9.8 1-19.7 1.8-29.6 2.2c0 0 0 0 0 0c0 0-.1 0-.1 0c-6.1 .2-12.1 .4-18.3 .4l0 0c-18.9 0-35.2-13.2-39.1-31.6l-24-112c-4-18.7 5.8-37.6 23.4-45.1l112-48zM70.5 464C286.3 460.5 460.5 286.2 464 70.5L364.8 49.2l-43 100.4L357.6 179c18.2 14.9 22.9 40.8 11.1 61.2c-30.9 53.3-75.3 97.7-128.6 128.6c-20.4 11.8-46.3 7.1-61.2-11.1l-29.4-35.9-100.4 43L70.5 464zM464 64s0 0 0 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\"]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faArrowDownFromDottedLine = {\n prefix: 'far',\n iconName: 'arrow-down-from-dotted-line',\n icon: [448, 512, [], \"e090\", \"M241.5 472.4c-4.5 4.8-10.9 7.6-17.5 7.6s-12.9-2.7-17.5-7.6l-128-136c-9.1-9.7-8.6-24.8 1-33.9s24.8-8.6 33.9 1L200 395.5V312 184c0-13.3 10.7-24 24-24s24 10.7 24 24V312v83.5l86.5-91.9c9.1-9.7 24.3-10.1 33.9-1s10.1 24.3 1 33.9l-128 136zM32 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM256 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faFileDoc = {\n prefix: 'far',\n iconName: 'file-doc',\n icon: [512, 512, [], \"e5ed\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM176 352h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm16 128h16c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H192v96zM456 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zM288 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V392zm40-8c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H328z\"]\n};\nvar faSquareQuarters = {\n prefix: 'far',\n iconName: 'square-quarters',\n icon: [448, 512, [], \"e44e\", \"M52.7 84.7L224 256 395.3 84.7c-2.9-2.9-6.9-4.7-11.3-4.7H64c-4.4 0-8.4 1.8-11.3 4.7zm0 342.6c2.9 2.9 6.9 4.7 11.3 4.7H384c4.4 0 8.4-1.8 11.3-4.7L224 256 52.7 427.3zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faTruckFront = {\n prefix: 'far',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M80 48C62.3 48 48 62.3 48 80V232c4.2-3.2 8.7-6.1 13.3-8.7l40-85.8C113.2 112.2 138.6 96 166.6 96H345.4c28 0 53.4 16.2 65.2 41.6l40 85.8c4.6 2.6 9.1 5.5 13.3 8.7V80c0-17.7-14.3-32-32-32H80zM48 328v40c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V328c0-39.8-32.2-72-72-72H120c-39.8 0-72 32.2-72 72zM0 328V80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V328v40c0 26.2-12.6 49.4-32 64v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H80v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V432C12.6 417.4 0 394.2 0 368V328zM121.4 208H390.6l-23.4-50.1c-3.9-8.4-12.4-13.9-21.7-13.9H166.6c-9.3 0-17.8 5.4-21.7 13.9L121.4 208zM96 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCat = {\n prefix: 'far',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M361 0c10.9 0 21.3 4.3 29 12l36 36h44.1l36-36c7.7-7.7 18.1-12 29-12c22.6 0 41 18.3 41 41V160c0 70.7-57.3 128-128 128s-128-57.3-128-128V41c0-22.6 18.3-41 41-41zm7 160c0 44.2 35.8 80 80 80s80-35.8 80-80V57.9L501.7 84.3C494.2 91.8 484 96 473.4 96H422.6c-10.6 0-20.8-4.2-28.3-11.7L368 57.9V160zm48-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM285 182l4.4-.4c2.2 16.6 7 32.4 13.9 46.9l-14 1.3C188.9 238.9 112 323.1 112 423.9v.1c0 22.1 17.9 40 40 40H256V400c0-17.7-14.3-32-32-32h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c39.4 0 72.2 28.5 78.8 66l93-54.7c7.4-4.4 16.6-4.4 24.1-.1s12.1 12.2 12.1 20.8v96c0 8.8 7.2 16 16 16s16-7.2 16-16V319.2c16.9-1.7 33.1-6 48-12.5V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V394L304 441v23h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-48.6 0-88-39.4-88-88v-.1V184.5c0-20.2-15-37.2-35-39.7l-7.9-1C7.9 142.2-1.5 130.2 .2 117S13.8 94.5 27 96.2l7.9 1c44 5.5 77.1 42.9 77.1 87.3V279c40-53.7 101.7-90.5 173-97z\"]\n};\nvar faTrashXmark = {\n prefix: 'far',\n iconName: 'trash-xmark',\n icon: [448, 512, [], \"e2b4\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zm62.2 81.9c7.8-7.8 20.5-7.8 28.3 0L224 259.7l49.9-49.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3L252.3 288l49.9 49.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L224 316.3l-49.9 49.9c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L195.7 288l-49.9-49.9c-7.8-7.8-7.8-20.5 0-28.3z\"]\n};\nvar faCircleCaretLeft = {\n prefix: 'far',\n iconName: 'circle-caret-left',\n icon: [512, 512, [\"caret-circle-left\"], \"f32e\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zm-368 0c0 6.7 2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-208c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104c-4.9 4.5-7.7 10.9-7.7 17.6z\"]\n};\nvar faCaretCircleLeft = faCircleCaretLeft;\nvar faFiles = {\n prefix: 'far',\n iconName: 'files',\n icon: [448, 512, [], \"e178\", \"M160 368H384c8.8 0 16-7.2 16-16V128H352c-17.7 0-32-14.3-32-32V48H160c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16zm224 48H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H325.5c17 0 33.3 6.7 45.3 18.7l58.5 58.5c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24z\"]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'far',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c17.2 0 33.9-2.4 49.7-6.8c-14.7-11.8-27.4-25.9-37.6-41.7c-4 .4-8 .5-12.1 .5H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFaceClouds = {\n prefix: 'far',\n iconName: 'face-clouds',\n icon: [640, 512, [], \"e47d\", \"M128 0c27.9 0 51.7 17.9 60.4 42.8C198.6 36 210.8 32 224 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64C28.7 160 0 131.3 0 96S28.7 32 64 32h8.6C83.6 12.9 104.3 0 128 0zM72.1 192h50c-6.5 20.2-10 41.7-10 64c0 80.2 45.4 149.9 112 184.6c.1 22.3 7.2 42.9 19.3 59.7C139.4 467.7 64 370.6 64 256c0-22.1 2.8-43.5 8.1-64zM307.4 48.4C296.8 29.8 280.1 15.2 260.1 7c19.2-4.6 39.2-7 59.9-7C461.4 0 576 114.6 576 256c0 14.8-1.3 29.3-3.7 43.5c-12.5-10.8-28.3-17.8-45.7-19.2c.9-8 1.4-16.1 1.4-24.3c0-114.9-93.1-208-208-208c-4.2 0-8.4 .1-12.6 .4zM208.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM336 368c0-44.2 35.8-80 80-80c29.3 0 54.9 15.8 68.9 39.3c8.8-9.4 21.3-15.3 35.1-15.3c26.5 0 48 21.5 48 48c0 2.7-.2 5.4-.7 8h.7c39.8 0 72 32.2 72 72s-32.2 72-72 72H328c-39.8 0-72-32.2-72-72s32.2-72 72-72h8z\"]\n};\nvar faUserCrown = {\n prefix: 'far',\n iconName: 'user-crown',\n icon: [448, 512, [], \"f6a4\", \"M144 128H304v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128zm0-108.8l-.1-.1c-.3-.2-.6-.4-.8-.6L140 16 124.4 3.5C121.5 1.2 118 0 114.4 0H112c-8.8 0-16 7.2-16 16V39v3.2 .1V144c0 70.7 57.3 128 128 128s128-57.3 128-128V42.3v-.1V39 16c0-8.8-7.2-16-16-16h-2.4c-3.6 0-7.2 1.2-10 3.5L308 16l-3 2.4c-.3 .2-.6 .4-.8 .6l-.1 .1c-10.2 7.5-23.8 8.3-34.9 2L238.9 4c-4.6-2.6-9.7-4-14.9-4s-10.4 1.4-14.9 4L178.9 21.2c-11 6.3-24.7 5.5-34.9-2zM168 352H280c63.6 0 115.6 49.5 119.7 112H48.3c4.1-62.5 56.2-112 119.7-112zm0-48C75.2 304 0 379.2 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-92.8-75.2-168-168-168H168z\"]\n};\nvar faTruckField = {\n prefix: 'far',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M336 80c8.8 0 16 7.2 16 16v8V224v96 16H243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64V288 128 96c0-8.8 7.2-16 16-16H336zM16 283.7V336v1.4C6.7 340.7 0 349.5 0 360s6.7 19.3 16 22.6V384h8H64c0 53 43 96 96 96s96-43 96-96h96 32c0 53 43 96 96 96s96-43 96-96h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V288c0-35.3-28.7-64-64-64h-5l-.3-.7L486.4 112.2c-9.2-19.6-29-32.2-50.7-32.2H398c-7.1-27.6-32.2-48-62-48H80C44.7 32 16 60.7 16 96v36.3C6.4 137.8 0 148.2 0 160v96c0 11.8 6.4 22.2 16 27.7zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM485.9 224H400V128h35.7c3.1 0 5.9 1.8 7.2 4.6l43 91.4zM528 384a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faRoute = {\n prefix: 'far',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M438.6 155.7c-7.2 11.5-15 22.6-22.6 32.7c-7.5-10.1-15.4-21.2-22.6-32.7C375.7 127.3 368 106.3 368 96c0-26.5 21.5-48 48-48s48 21.5 48 48c0 10.3-7.7 31.3-25.4 59.7zM427.4 251C452.9 221.1 512 146.2 512 96c0-53-43-96-96-96s-96 43-96 96c0 33.3 25.9 77.3 50.8 112H328c-48.6 0-88 39.4-88 88s39.4 88 88 88h96c22.1 0 40 17.9 40 40s-17.9 40-40 40H177.8c-2.7 3.8-5.5 7.6-8.2 11.2c-10.7 14.2-21.3 26.9-30 36.8H424c48.6 0 88-39.4 88-88s-39.4-88-88-88H328c-22.1 0-40-17.9-40-40s17.9-40 40-40h84.9c5.1 1.1 10.7-.6 14.5-5zM118.9 408.4c-7.3 11-15.3 21.7-22.9 31.2c-7.6-9.5-15.6-20.2-22.9-31.2C55.4 381.7 48 361.9 48 352c0-26.5 21.5-48 48-48s48 21.5 48 48c0 9.9-7.4 29.7-25.1 56.4zm19 55.6c25.9-33.1 54.1-77.3 54.1-112c0-53-43-96-96-96s-96 43-96 96c0 50.5 59.8 121 85 148.4c6 6.5 16 6.5 21.9 0c.1-.1 .2-.2 .3-.3c.3-.3 .6-.7 .9-1c2.8-3.1 6-6.7 9.5-10.7c.1-.1 .1-.1 .2-.2c6.1-7 13-15.2 20-24.2z\"]\n};\nvar faCartCircleCheck = {\n prefix: 'far',\n iconName: 'cart-circle-check',\n icon: [640, 512, [], \"e3f1\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.6L489.1 192.1c2.3-.1 4.6-.1 6.9-.1c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faClipboardQuestion = {\n prefix: 'far',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM105.8 229.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V328c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H158.6c-23.7 0-44.8 14.9-52.8 37.3zM224 416a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPanorama = {\n prefix: 'far',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M48 80.9C72.3 88.8 177.5 120 320 120s247.7-31.2 272-39.1V431.1c-9.8-3.2-32.9-10.2-66.3-17.4c-.5-1-1-1.9-1.6-2.8l-136-208c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9L264.8 330l-29.5-40.2c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8l-88 120c-1.3 1.8-2.4 3.8-3.1 5.8c-28.7 6.5-48.6 12.6-57.5 15.5V80.9zM579.6 34.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4zM144 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommentMedical = {\n prefix: 'far',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM224 160v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272h48c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H288V160c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faTeethOpen = {\n prefix: 'far',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M480 48H96C69.5 48 48 69.5 48 96v29.4C63.9 102.8 90.2 88 120 88c15.2 0 29.5 3.9 42 10.7C178.1 77.6 203.5 64 232 64c21.3 0 40.8 7.5 56 20.1C303.2 71.5 322.7 64 344 64c28.5 0 53.9 13.6 70 34.7C426.5 91.9 440.8 88 456 88c29.8 0 56.1 14.8 72 37.4V96c0-26.5-21.5-48-48-48zm0 208H432 368 320 256 208 144 96 64c-35.3 0-64-28.7-64-64V96C0 43 43 0 96 0H480c53 0 96 43 96 96v96c0 35.3-28.7 64-64 64H480zm0-48c8.8 0 16-7.2 16-16V176c0-22.1-17.9-40-40-40c-9.2 0-17.6 3.1-24.3 8.3c-2.9 2.2-5.5 4.8-7.7 7.7c-5 6.7-8 15-8 24v16c0 8.2 6.1 14.9 14 15.9c.6 .1 1.3 .1 2 .1h48zm-112 0c.7 0 1.3 0 2-.1c7.9-1 14-7.7 14-15.9V176 152c0-6.9-1.7-13.4-4.8-19c-6.8-12.5-20-21-35.2-21c-11.2 0-21.3 4.6-28.6 12c-7.1 7.2-11.4 17.1-11.4 28v40c0 8.2 6.1 14.9 14 15.9c.7 .1 1.3 .1 2 .1h48zm-112 0c.7 0 1.3 0 2-.1c7.9-1 14-7.7 14-15.9V152c0-10.9-4.4-20.8-11.4-28c-7.3-7.4-17.4-12-28.6-12c-15.2 0-28.4 8.5-35.2 21c-3.1 5.7-4.8 12.1-4.8 19v24 16c0 8.2 6.1 14.9 14 15.9c.7 .1 1.3 .1 2 .1h48zm-112 0c.7 0 1.3 0 2-.1c7.9-1 14-7.7 14-15.9V176c0-9-3-17.3-8-24c-2.2-2.9-4.8-5.5-7.7-7.7c-6.7-5.2-15.2-8.3-24.3-8.3c-22.1 0-40 17.9-40 40v16c0 8.8 7.2 16 16 16h48zM480 464c26.5 0 48-21.5 48-48v-5.4c-15.9 22.6-42.2 37.4-72 37.4c-21.3 0-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1c-29.8 0-56.1-14.8-72-37.4V416c0 26.5 21.5 48 48 48H480zm0-128H432c-.7 0-1.3 0-2 .1c-7.9 1-14 7.7-14 15.9v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12c22.1 0 40-17.9 40-40v-8c0-8.8-7.2-16-16-16zm-112 0H320c-.7 0-1.3 0-2 .1c-7.9 1-14 7.7-14 15.9v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-8.2-6.1-14.9-14-15.9c-.6-.1-1.3-.1-2-.1zm112-48h32c35.3 0 64 28.7 64 64v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-35.3 28.7-64 64-64H96h48 64 48 64 48 64 48zM96 336c-8.8 0-16 7.2-16 16v8c0 22.1 17.9 40 40 40c11.2 0 21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-8.2-6.1-14.9-14-15.9c-.7-.1-1.3-.1-2-.1H96zm112 0c-.7 0-1.3 0-2 .1c-7.9 1-14 7.7-14 15.9v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-8.2-6.1-14.9-14-15.9c-.7-.1-1.3-.1-2-.1H208z\"]\n};\nvar faUserTieHairLong = {\n prefix: 'far',\n iconName: 'user-tie-hair-long',\n icon: [448, 512, [], \"e460\", \"M304 144c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32v16zM224 0C153.3 0 96 57.3 96 128v11c0 33.9-13.5 66.5-37.5 90.5l-3.9 3.9c-4.2 4.2-6.6 10-6.6 16C48 261.9 58.1 272 70.6 272H224 377.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-3.9-3.9c-24-24-37.5-56.6-37.5-90.5V128C352 57.3 294.7 0 224 0zM168.2 511.1l-.2 .9H280l-.2-.9H417.3c17 0 30.7-13.8 30.7-30.7c0-79.6-57.6-145.7-133.5-158.9c-6.6-1.1-12.9 2.4-15.9 8.4l-44 87.9-15.8-58.6 18.6-31c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2l18.6 31-15.8 58.6-44-87.9c-3-6-9.4-9.5-15.9-8.4C57.6 334.7 0 400.8 0 480.4c0 17 13.8 30.7 30.7 30.7H168.2zM118.5 375.5l43.8 87.7H49.3c6.1-39.8 33-72.9 69.2-87.7zm167.2 87.7l43.8-87.7c36.2 14.8 63.1 47.8 69.2 87.7h-113z\"]\n};\nvar faFileCircleMinus = {\n prefix: 'far',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm224-96a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faHeadSideMedical = {\n prefix: 'far',\n iconName: 'head-side-medical',\n icon: [512, 512, [], \"f809\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zM192 112v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H256V112c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faTags = {\n prefix: 'far',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M345 39.1c-9.3-9.4-24.5-9.5-33.9-.2s-9.5 24.5-.2 33.9L438.6 202.1c33.9 34.3 33.9 89.4 0 123.7L326.7 439.1c-9.3 9.4-9.2 24.6 .2 33.9s24.6 9.2 33.9-.2L472.8 359.6c52.4-53 52.4-138.2 0-191.2L345 39.1zM242.7 50.7c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80V229.5c0 17 6.7 33.3 18.7 45.3l168 168c25 25 65.5 25 90.5 0L410.7 309.3c25-25 25-65.5 0-90.5l-168-168zM48 80H197.5c4.2 0 8.3 1.7 11.3 4.7l168 168c6.2 6.2 6.2 16.4 0 22.6L243.3 408.8c-6.2 6.2-16.4 6.2-22.6 0l-168-168c-3-3-4.7-7.1-4.7-11.3V80zm96 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWineGlass = {\n prefix: 'far',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M184 464V350c44.4-7.5 81.5-35.5 101.7-73.6c13.6-24.4 20.4-53.2 17.7-83.7L287.5 14.5C286.8 6.2 279.9 0 271.8 0H264 56 48.2c-8.1 0-15 6.2-15.8 14.5L16.6 192.6c-2.7 30.5 4 59.3 17.7 83.7C54.5 314.5 91.6 342.5 136 350V464H72c-1 0-2.1 .1-3.1 .2C57.1 465.7 48 475.8 48 488c0 12.2 9.1 22.2 20.8 23.8c.9 .1 1.9 .2 2.9 .2l.3 0h88 88c1 0 2.1-.1 3.1-.2c11.8-1.5 20.9-11.6 20.9-23.8c0-12.2-9.1-22.2-20.8-23.8c-.9-.1-1.9-.2-2.9-.2l-.3 0H184zM78.2 48H241.8l6.3 80H71.9l6.3-80zM68.1 176H251.9l2.1 26.3c4.3 54.8-39 101.7-94 101.7s-98.3-46.9-94-101.7L68.1 176z\"]\n};\nvar faForwardFast = {\n prefix: 'far',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M496 424c0 13.3-10.7 24-24 24s-24-10.7-24-24V287.9L273.4 440.6c-5.4 4.8-12.4 7.4-19.6 7.4c-16.5 0-29.8-13.3-29.8-29.8V287.9L49.4 440.6C44 445.4 37 448 29.8 448C13.3 448 0 434.7 0 418.2V93.8C0 77.3 13.3 64 29.8 64C37 64 44 66.6 49.4 71.4L224 224.1V93.8C224 77.3 237.3 64 253.8 64c7.2 0 14.2 2.6 19.6 7.4L448 224.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V424zM48 133.9V378.1L187.6 256 48 133.9zM272 378.1L411.6 256 272 133.9V378.1z\"]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'far',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faUserRobot = {\n prefix: 'far',\n iconName: 'user-robot',\n icon: [448, 512, [], \"e04b\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H144c-44.2 0-80 35.8-80 80v96c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H240V16zm96 128v96c0 17.7-14.3 32-32 32V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H240V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H176V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304c17.7 0 32 14.3 32 32zm64 304v16H304V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H176V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H48l0-16c0-26.5 21.5-48 48-48H352c26.5 0 48 21.5 48 48zM160 512h64 64H400c26.5 0 48-21.5 48-48V448c0-53-43-96-96-96H96c-53 0-96 43-96 96v16c0 26.5 21.5 48 48 48H160zM16 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM208 176a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSquareParking = {\n prefix: 'far',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM184 272h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H184v96zm64 48H184v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 160c0-17.7 14.3-32 32-32h80c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParking = faSquareParking;\nvar faCardDiamond = {\n prefix: 'far',\n iconName: 'card-diamond',\n icon: [384, 512, [], \"e3ea\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm180.7 84.7c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6l96-96z\"]\n};\nvar faFaceZipper = {\n prefix: 'far',\n iconName: 'face-zipper',\n icon: [512, 512, [], \"e3a5\", \"M389.2 394.3l29.1 58.1c14.7 29.3 53.7 35.6 76.9 12.5l1.8-1.8c23.2-23.2 16.8-62.2-12.5-76.9l-58.1-29.1c-6.2-3.1-13.6-1.9-18.5 3l-15.7 15.7c-4.9 4.9-6.1 12.3-3 18.5zm91.3 38.2l-16 16c-4.7 4.7-12.3 4.7-17 0s-4.7-12.3 0-17l16-16c4.7-4.7 12.3-4.7 17 0s4.7 12.3 0 17zM256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c42.5 0 82-12.7 114.9-34.6l18.7 37.3c1 2 2 3.9 3.1 5.7C353.2 497.5 306.3 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 34.9-7 68.1-19.6 98.4l-43.1-21.5c9.5-23.8 14.7-49.7 14.7-76.9c0-114.9-93.1-208-208-208zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 320c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM160 336v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFaceRaisedEyebrow = {\n prefix: 'far',\n iconName: 'face-raised-eyebrow',\n icon: [512, 512, [], \"e388\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM144.4 240a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 352c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zM328.8 141.8l-29.5 29.5c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l29.5-29.5c25-25 66.6-20.9 86.2 8.5l4.9 7.4c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-4.9-7.4c-8.4-12.6-26.2-14.4-36.9-3.7zM128 144h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHouseSignal = {\n prefix: 'far',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M320.8 5.4c8.8-7.2 21.5-7.2 30.3 0l216 176c10.3 8.4 11.8 23.5 3.4 33.8s-23.5 11.8-33.8 3.4L512 198.4V360c0 30.9-25.1 56-56 56H278.1c-4.7-16.7-11.1-32.8-18.8-48H456c4.4 0 8-3.6 8-8V159.3L336 55 208 159.3V298.7c-14.5-14.1-30.6-26.5-48-37V198.4l-24.8 20.2c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176zM312 192h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM24 256c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 376c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z\"]\n};\nvar faSquareChevronUp = {\n prefix: 'far',\n iconName: 'square-chevron-up',\n icon: [448, 512, [\"chevron-square-up\"], \"f32c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm241 71L345 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 167c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faChevronSquareUp = faSquareChevronUp;\nvar faNfcSymbol = {\n prefix: 'far',\n iconName: 'nfc-symbol',\n icon: [512, 512, [], \"e531\", \"M357.4 473.6c7.7 7.2 19.2 8.5 28.3 3.2C461.4 433 512 349.3 512 256s-50.6-177-126.3-220.8c-11.5-6.6-26.2-2.7-32.8 8.8s-2.7 26.2 8.8 32.8C422.7 112.1 464 180.1 464 256c0 69.6-34.7 132.6-87.6 169.8L200.3 262.4c-9.7-9-24.9-8.4-33.9 1.3s-8.4 24.9 1.3 33.9l189.7 176zM154.6 38.4c-7.7-7.2-19.2-8.5-28.3-3.2C50.6 79 0 162.7 0 256s50.6 177 126.3 220.8c11.5 6.6 26.2 2.7 32.8-8.8s2.7-26.2-8.8-32.8C89.3 399.9 48 331.9 48 256c0-69.6 34.7-132.6 87.6-169.8L311.7 249.6c9.7 9 24.9 8.4 33.9-1.3s8.4-24.9-1.3-33.9L154.6 38.4z\"]\n};\nvar faBarsProgress = {\n prefix: 'far',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M464 112v64H320V112H464zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM464 336v64H192V336H464zM48 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'far',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V45L96 32C78.3 32 64 46.3 64 64s14.3 32 32 32L200 83v45H181.3c-14.9 0-29.1 5.9-39.6 16.4L126.1 160H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c6.4 0 12.5-2.5 17-7l22.6-22.6c1.5-1.5 3.5-2.3 5.7-2.3h93.5c2.1 0 4.2 .8 5.7 2.3L303 201c4.5 4.5 10.6 7 17 7h40c57.4 0 104 46.6 104 104v16c0 4.4-3.6 8-8 8H408c-4.4 0-8-3.6-8-8c0-30.9-25.1-56-56-56H311.7c-8.2 0-15.8 4.2-20.2 11.1C277.2 305.3 252.3 320 224 320s-53.2-14.7-67.4-36.9c-4.4-6.9-12-11.1-20.2-11.1H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H124.1c23.4 29.2 59.5 48 99.9 48s76.5-18.8 99.9-48H344c4.4 0 8 3.6 8 8c0 30.9 25.1 56 56 56h48c30.9 0 56-25.1 56-56V312c0-83.9-68.1-152-152-152H329.9l-15.6-15.6c-10.5-10.5-24.7-16.4-39.6-16.4H248V83L352 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L248 45V24zM420.8 423.4l-18.2 42.4c-1.8 4.1-2.7 8.6-2.7 13.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1l-18.2-42.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4z\"]\n};\nvar faArrowsToLine = {\n prefix: 'far',\n iconName: 'arrows-to-line',\n icon: [448, 512, [], \"e0a7\", \"M241 185l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31L248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 86.1L169 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0zM0 256c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm241 71c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V488c0 13.3 10.7 24 24 24s24-10.7 24-24V401.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72z\"]\n};\nvar faDolphin = {\n prefix: 'far',\n iconName: 'dolphin',\n icon: [512, 512, [], \"e168\", \"M80 160c0 13.3 2.3 26 6.5 37.8c3.9 10.8-.4 22.8-10.2 28.7L56.8 238.2 44.7 217.9l12.1 20.2c-5.5 3.3-8.8 9.2-8.8 15.6c0 10.1 8.2 18.2 18.2 18.2H192h24 32.9c6.3 0 12.3 2.5 16.8 6.8L304 316.3V296c0-13.3 10.7-24 24-24h16c48.6 0 88 39.4 88 88v8c0 .9 0 1.8 0 2.6c19.9-21.2 32-49.6 32-81c0-60.8-22.4-116.2-59.4-158.7c-7.2-8.2-7.9-20.3-1.7-29.3c10.4-15.3 23.4-35.5 31.4-51.9c-27.3 4-58.4 14.3-84.2 24.6c-6.4 2.5-13.5 2.2-19.6-.8C297.9 57.2 261.2 48 222.3 48H192C130.1 48 80 98.1 80 160zM277.7 408H344c22.1 0 40-17.9 40-40v-8c0-19.4-13.7-35.5-32-39.2v1.9c0 25-20.3 45.3-45.3 45.3c-11.8 0-23.2-4.6-31.7-12.9L239.1 320H216 192 66.2C29.6 320 0 290.4 0 253.8C0 230.5 12.2 209 32.1 197l3.7-2.2C33.3 183.6 32 171.9 32 160C32 71.6 103.6 0 192 0h30.3C265 0 305.6 9.3 342.2 25.9C374.9 13.5 418.7 0 456 0c7.8 0 17.9 2.4 25.2 11.3c6.7 8.1 7.5 17.4 7.3 23.2c-.4 11.3-5.2 23.4-9.7 33.1c-7 15-17.1 31.8-26.4 46.2C489.8 162.5 512 223.5 512 289.7C512 381.5 437.5 456 345.7 456H344 277.7c-19.9 34.5-56.8 56-97 56H176c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6L190.1 432l-28.4-56.8c-2.5-5-2.2-10.9 .7-15.6s8.1-7.6 13.6-7.6h4.7c40.2 0 77.1 21.5 97 56zM136 160a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faArrowUpRight = {\n prefix: 'far',\n iconName: 'arrow-up-right',\n icon: [384, 512, [], \"e09f\", \"M328 96c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V177.9L73 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l231-231H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H328z\"]\n};\nvar faCircleR = {\n prefix: 'far',\n iconName: 'circle-r',\n icon: [512, 512, [], \"e120\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h44l64.8 86.4c8 10.6 23 12.8 33.6 4.8s12.8-23 4.8-33.6L309.8 285c33.6-9.5 58.2-40.4 58.2-77c0-44.2-35.8-80-80-80H184zm80 112H208V176h80c17.7 0 32 14.3 32 32s-14.3 32-32 32H264z\"]\n};\nvar faCartFlatbed = {\n prefix: 'far',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H72c4.4 0 8 3.6 8 8V408c0 30.9 25.1 56 56 56h24c0 26.5 21.5 48 48 48s48-21.5 48-48H448c0 26.5 21.5 48 48 48s48-21.5 48-48h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H496 208 136c-4.4 0-8-3.6-8-8V56c0-30.9-25.1-56-56-56H24zM240 80h96v96c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L400 163.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V80h96V304H240V80zm-48 0V304c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'far',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M92.9 126.9L385.1 419.1C349.7 447.2 304.8 464 256 464C141.1 464 48 370.9 48 256c0-48.8 16.8-93.7 44.9-129.1zm165 97.1L126.9 92.9C162.3 64.8 207.2 48 256 48c114.9 0 208 93.1 208 208c0 48.8-16.8 93.7-44.9 129.1L353.9 320H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H257.9zm32 32H384v32H321.9l-32-32zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM112 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H240.8l-96-96H112z\"]\n};\nvar faSmokingBan = faBanSmoking;\nvar faCircleSortUp = {\n prefix: 'far',\n iconName: 'circle-sort-up',\n icon: [512, 512, [\"sort-circle-up\"], \"e032\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0zm0 310.6c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96zM313.4 320H198.6L256 377.4 313.4 320z\"]\n};\nvar faSortCircleUp = faCircleSortUp;\nvar faTerminal = {\n prefix: 'far',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M6.3 72.2c-9-9.8-8.3-24.9 1.4-33.9s24.9-8.3 33.9 1.4l184 200c8.5 9.2 8.5 23.3 0 32.5l-184 200c-9 9.8-24.2 10.4-33.9 1.4s-10.4-24.2-1.4-33.9L175.4 256 6.3 72.2zM248 432H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMobileButton = {\n prefix: 'far',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M80 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H80zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM192 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHouseMedicalFlag = {\n prefix: 'far',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M496 24v8H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H496V512H448V192 32 24c0-13.3 10.7-24 24-24s24 10.7 24 24zM286.3 36.7L416 133v59.8L272 85.9 112 204.6V432c0 17.7 14.3 32 32 32l256 0c5.8 0 11.3-1.6 16-4.3v50.7c-5.2 1-10.5 1.6-16 1.6l-256 0c-44.2 0-80-35.8-80-80V240.2L38.3 259.3c-10.6 7.9-25.7 5.7-33.6-5s-5.7-25.7 5-33.6l248-184c8.5-6.3 20.1-6.3 28.6 0zM240 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V320H192c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faBasketShopping = {\n prefix: 'far',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M243.1 2.7c11.8 6.1 16.3 20.6 10.2 32.4L171.7 192H404.3L322.7 35.1c-6.1-11.8-1.5-26.3 10.2-32.4s26.2-1.5 32.4 10.2L458.4 192h36.1H544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H532L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L44 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H81.5h36.1L210.7 12.9c6.1-11.8 20.6-16.3 32.4-10.2zM93.5 240l53 211.9c1.8 7.1 8.2 12.1 15.5 12.1H414c7.3 0 13.7-5 15.5-12.1l53-211.9H93.5zM224 312v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24s24 10.7 24 24zm64-24c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zm112 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'far',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M224 80a176 176 0 1 1 0 352 176 176 0 1 1 0-352zM362.6 432c52-41 85.4-104.6 85.4-176C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H362.6zM224 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faChestnut = {\n prefix: 'far',\n iconName: 'chestnut',\n icon: [448, 512, [127792], \"e3f6\", \"M154 90.5c13.9-11.4 27.8-22.7 41.1-34.8c7.6-6.9 12.7-12.3 15.5-16.6c3-4.5 8-7.1 13.3-7.1s10.3 2.7 13.3 7.1c2.9 4.3 7.9 9.7 15.5 16.6c13.3 12.1 27.2 23.4 41.1 34.8c19.6 16.1 39.3 32.1 57.3 50.2C400.8 190.2 448 258 448 352c0 70.7-57.3 128-128 128H128C57.3 480 0 422.7 0 352c0-94 47.2-161.8 96.7-211.3c18.1-18.1 37.7-34.1 57.3-50.2zM393.3 384H54.7C67 412.3 95.2 432 128 432H320c32.8 0 61-19.7 73.3-48zm-76-209.4c-13.6-13.6-28.6-26.3-45.2-39.9c-2.7-2.2-5.5-4.5-8.2-6.8l0 0c-12.8-10.5-26.6-21.7-39.9-33.6c-13.3 11.9-27.1 23.1-39.9 33.6l0 0c-2.8 2.3-5.6 4.5-8.2 6.8c-16.6 13.6-31.6 26.3-45.2 39.9C88.9 216.4 53.4 268 48.6 336H399.4c-4.8-68-40.3-119.6-82.1-161.4z\"]\n};\nvar faBusSimple = {\n prefix: 'far',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M51.5 96H397.2C381.4 78.9 335.2 48 224 48C121.8 48 69.8 78.3 51.5 96zM400 144H48v80H400V144zm0 128H48V376c0 13.3 10.7 24 24 24H300.2 376c13.3 0 24-10.7 24-24V272zM10.2 70C35.9 38.7 103.8 0 224 0C352.6 0 414 38.6 438.4 70.6c7.5 9.8 9.6 20.9 9.6 29.9V376c0 25-12.7 47-32 59.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H300.2 80v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V435.9C12.7 423 0 401 0 376V100.4C0 91.6 2 80 10.2 70zM112 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm224 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faFaceSadCry = {\n prefix: 'far',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M400 406.1V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V440.6c-28.7 15-61.4 23.4-96 23.4s-67.3-8.5-96-23.4V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V406.1C72.6 368.2 48 315 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 59-24.6 112.2-64 150.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C199.7 186.8 179 180 159.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zm166.6 9.7c5.5-5.8 14.8-9.7 25.4-9.7s19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C391.7 186.8 371 180 351.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9zM208 320v32c0 26.5 21.5 48 48 48s48-21.5 48-48V320c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faHeat = {\n prefix: 'far',\n iconName: 'heat',\n icon: [448, 512, [], \"e00c\", \"M176 32c13.3 0 24 10.7 24 24v88c0 36.4 11.8 71.7 33.6 100.8l19.2 25.6c28 37.4 43.2 82.9 43.2 129.6v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400c0-36.3-11.8-71.7-33.6-100.8l-19.2-25.6C167.2 236.2 152 190.7 152 144V56c0-13.3 10.7-24 24-24zM24 96c13.3 0 24 10.7 24 24v37.9c0 33.2 9.8 65.6 28.2 93.2l31.5 47.3c23.7 35.5 36.3 77.2 36.3 119.8V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V418.1c0-33.2-9.8-65.6-28.2-93.2L36.3 277.7C12.6 242.2 0 200.5 0 157.9V120c0-13.3 10.7-24 24-24zm328 24v37.9c0 33.2 9.8 65.6 28.2 93.2l31.5 47.3c23.7 35.5 36.3 77.2 36.3 119.8V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V418.1c0-33.2-9.8-65.6-28.2-93.2l-31.5-47.3C316.6 242.2 304 200.5 304 157.9V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTicketAirline = {\n prefix: 'far',\n iconName: 'ticket-airline',\n icon: [640, 512, [], \"e29a\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V349c-41.4-10.7-72-48.2-72-93s30.6-82.3 72-93V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64v61.3c0 11.2-12.8 18.7-24 18.7c-26.5 0-48 21.5-48 48s21.5 48 48 48c11.2 0 24 7.5 24 18.7V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm432 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM186.7 224l-23.2-69.5c-1.7-5.2 2.1-10.5 7.6-10.5h31.1c8.5 0 16.4 4.5 20.7 11.9L262.7 224h40.3c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5C334.4 281.6 319 288 302.9 288H262.7l-39.7 68.1c-4.3 7.4-12.2 11.9-20.7 11.9H171.1c-5.5 0-9.3-5.4-7.6-10.5L186.7 288H144l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H98.2c-5.2 0-9-4.9-7.8-9.9L103 259.9c.6-2.5 .6-5.2 0-7.8L90.5 201.9c-1.3-5 2.6-9.9 7.8-9.9H112c5 0 9.8 2.4 12.8 6.4L144 224h42.7z\"]\n};\nvar faBootHeeled = {\n prefix: 'far',\n iconName: 'boot-heeled',\n icon: [512, 512, [], \"e33f\", \"M31.3 0C14 0 0 14 0 31.3c0 1.8 .1 3.9 .6 6.2C2.6 47.1 24 154.3 24 232c0 33.2-12.8 93.5-19.7 123.2C1.6 367 0 379.3 0 391.8V440v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V465.3l121.6 40.5c12.2 4.1 25 6.2 37.9 6.2H456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V430.7c0-28.1-16.3-53.6-41.8-65.4L313.8 307.9c-25.5-11.8-41.8-37.3-41.8-65.4V24c0-13.3-10.7-24-24-24H31.3zM432 430.7V464H287.6c-7.7 0-15.4-1.2-22.8-3.7L135.6 417.2c-2.4-.8-5-1.2-7.6-1.2H104 48V391.8c0-8.5 1.1-17.2 3.1-25.8C57.6 337.7 72 271.8 72 232C72 167.4 58.5 85.7 51.5 48H96V232c0 13.3 10.7 24 24 24s24-10.7 24-24V48h80V242.6c0 46.8 27.2 89.3 69.7 109l124.3 57.4c8.5 3.9 13.9 12.4 13.9 21.8z\"]\n};\nvar faArrowsMinimize = {\n prefix: 'far',\n iconName: 'arrows-minimize',\n icon: [512, 512, [\"compress-arrows\"], \"e0a5\", \"M23 23c9.4-9.4 24.6-9.4 33.9 0l119 119V56c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h86.1L23 57c-9.4-9.4-9.4-24.6 0-33.9zM489 23c9.4 9.4 9.4 24.6 0 33.9l-119 119H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24v86.1L455 23c9.4-9.4 24.6-9.4 33.9 0zM56 336c-13.3 0-24-10.7-24-24s10.7-24 24-24H200c13.3 0 24 10.7 24 24V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V369.9L57 489c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l119-119H56zm232-24c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H369.9L489 455c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-119-119V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V312z\"]\n};\nvar faCompressArrows = faArrowsMinimize;\nvar faAudioDescription = {\n prefix: 'far',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm213.5 77.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2h42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'far',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M71 12.5L182.2 .1C191.7-1 200 6.5 200 16V30.1c0 8.8-7.2 16-16 16H72.9C63.6 46.1 56 38.6 56 29.2c0-8.6 6.5-15.8 15-16.8zM384 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM336 256v16h96V256c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm-48 0c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256zM66 80H190c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-5.5 .7-10.9 2-16zM224 432c0 6.9-3 13.5-8.2 18.1l-64 56c-10 8.7-25.1 7.7-33.9-2.3s-7.7-25.1 2.3-33.9L136.1 456 24 456c-13.3 0-24-10.7-24-24s10.7-24 24-24l112.1 0-15.9-13.9c-10-8.7-11-23.9-2.3-33.9s23.9-11 33.9-2.3l64 56c5.2 4.6 8.2 11.1 8.2 18.1zm72.2 18.1c-5.2-4.6-8.2-11.1-8.2-18.1s3-13.5 8.2-18.1l64-56c10-8.7 25.1-7.7 33.9 2.3s7.7 25.1-2.3 33.9L375.9 408 488 408c13.3 0 24 10.7 24 24s-10.7 24-24 24l-112.1 0 15.9 13.9c10 8.7 11 23.9 2.3 33.9s-23.9 11-33.9 2.3l-64-56zM32 256c0-18.8 8.1-35.7 21-47.4l144.2 111c-1.7 .3-3.4 .4-5.2 .4H64c-17.7 0-32-14.3-32-32V256zm192 32c0 3.7-.6 7.2-1.8 10.5L85.1 192.9c3.6-.6 7.2-.9 10.9-.9h64c35.3 0 64 28.7 64 64v32z\"]\n};\nvar faFileShield = {\n prefix: 'far',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M64 464H310.7c11 14.4 24.1 28.1 39.5 40.4c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V207l-48 19.2V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faHexagon = {\n prefix: 'far',\n iconName: 'hexagon',\n icon: [512, 512, [11043], \"f312\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36l176.6 0c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36l-176.6 0c-25.7 0-49.5 13.7-62.4 36L17.1 220zm41.6 48c-4.3-7.4-4.3-16.6 0-24L146.9 91.1c4.3-7.4 12.2-12 20.8-12l176.6 0c8.6 0 16.5 4.6 20.8 12L453.4 244c4.3 7.4 4.3 16.6 0 24L365.1 420.9c-4.3 7.4-12.2 12-20.8 12l-176.6 0c-8.6 0-16.5-4.6-20.8-12L58.6 268z\"]\n};\nvar faManhole = {\n prefix: 'far',\n iconName: 'manhole',\n icon: [512, 512, [], \"e1d6\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM281.4 115.4c5.8-7.5 14.5-14.7 23.6-11.8c64.4 20.7 111 81.1 111 152.4s-46.6 131.7-111 152.4c-9 2.9-17.8-4.3-23.6-11.8c-5.8-7.6-15.1-12.6-25.4-12.6s-19.6 4.9-25.4 12.6c-5.8 7.5-14.5 14.7-23.6 11.8C142.6 387.7 96 327.3 96 256s46.6-131.7 111-152.4c9-2.9 17.8 4.3 23.6 11.8c5.8 7.6 15.1 12.6 25.4 12.6s19.6-4.9 25.4-12.6zM192 176a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm80-112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-32 64a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm32 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48-144a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faUserSlash = {\n prefix: 'far',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM290.5 202.4l-35.6-27.9C245.5 161.4 240 145.3 240 128c0-44.2 35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80c-10.4 0-20.4-2-29.5-5.6zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c3.9 0 7.6-.7 11-2.1L467.1 464H145.3c8.9-63.3 63.3-112 129-112h50.6l-60.6-47.7z\"]\n};\nvar faPen = {\n prefix: 'far',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M36.4 360.9L13.4 439 1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1L73 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8L492.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L453.3 19.3c-25-25-65.5-25-90.5 0L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4zm46 13.5c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8L321 129 383 191 154.6 419.5c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9L59.4 452.6l16.1-54.8 6.9-23.4z\"]\n};\nvar faTowerObservation = {\n prefix: 'far',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M245.7 2.3c6.5-3.1 14.1-3.1 20.6 0l168 80c12 5.7 17 20 11.3 32c-5.3 11.2-18.2 16.4-29.7 12.3V200c0 27.2-19.4 49.9-45.2 55l34.8 209H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h82.3l34.8-209c-25.7-5-45.2-27.7-45.2-55V126.6c-11.4 4.1-24.3-1.1-29.7-12.3c-5.7-12-.6-26.3 11.4-32l168-80zM256 50.6L144 103.9V128H368V103.9L256 50.6zM144 176v24c0 4.4 3.6 8 8 8H360c4.4 0 8-3.6 8-8V176H144zM330.8 464L256 400.7 181.2 464H330.8zM189.7 256l-3.7 22.5L256 337.8l70.1-59.3L322.3 256H189.7zm-12.9 77.6l-13.8 83 55.9-47.3-42.1-35.6zm116.4 35.6l55.9 47.3-13.8-83-42.1 35.6z\"]\n};\nvar faFloppyDisks = {\n prefix: 'far',\n iconName: 'floppy-disks',\n icon: [512, 512, [], \"e183\", \"M144 352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9-33.9 33.9L384.8 52.7c-.3-.3-.5-.5-.8-.8V120c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V48H160c-8.8 0-16 7.2-16 16V352zM224 0H373.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64h16 48zm0 48V96H336V48H224zM48 120V376c0 48.6 39.4 88 88 88H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24s24 10.7 24 24zM240 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faToiletPaperBlankUnder = {\n prefix: 'far',\n iconName: 'toilet-paper-blank-under',\n icon: [512, 512, [\"toilet-paper-reverse-alt\"], \"e29f\", \"M71 84.3C85.4 56.9 101.1 48 112 48H324.7c-3 4.5-5.7 9.3-8.2 14.1C298.5 96.6 288 142.5 288 192s10.5 95.4 28.5 129.9c2.5 4.8 5.3 9.5 8.2 14.1H112c-10.9 0-26.6-8.9-41-36.3C57.2 273.3 48 235.3 48 192s9.2-81.3 23-107.7zM400 48c10.9 0 26.6 8.9 41 36.3c13.8 26.3 23 64.3 23 107.7s-9.2 81.3-23 107.7c-14.4 27.5-30.1 36.3-41 36.3s-26.6-8.9-41-36.3c-13.8-26.3-23-64.3-23-107.7s9.2-81.3 23-107.7C373.4 56.9 389.1 48 400 48zm64 303.1V456c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V416H160v40c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V192c0-49.5-10.5-95.4-28.5-129.9C466 28.7 437.7 0 400 0H112C74.3 0 46 28.7 28.5 62.1C10.5 96.6 0 142.5 0 192s10.5 95.4 28.5 129.9C46 355.3 74.3 384 112 384H400c25.9 0 47.4-13.6 64-32.9zM424 192c0-26.5-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48s24-21.5 24-48z\"]\n};\nvar faToiletPaperReverseAlt = faToiletPaperBlankUnder;\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm97 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L79 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM257 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faSignal = {\n prefix: 'far',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M576 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM448 96c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM320 192c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faPump = {\n prefix: 'far',\n iconName: 'pump',\n icon: [640, 512, [], \"e442\", \"M88 0C74.7 0 64 10.7 64 24s10.7 24 24 24h8V208H48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v32V376v32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H320V352H48V256h72c13.3 0 24-10.7 24-24V48h96V232c0 13.3 10.7 24 24 24h56V208H288V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H264 120 88zM458.5 146.7c2.6-1.8 5.7-2.7 8.9-2.7H576c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H467.4c-3.2 0-6.2-.9-8.9-2.7l-51.4-34.2c-4.4-3-7.1-8-7.1-13.3V194.3c0-5.3 2.7-10.3 7.1-13.3l51.4-34.3zM431.9 501.3c10.5 7 22.9 10.7 35.5 10.7H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H467.4c-12.6 0-25 3.7-35.5 10.7L380.5 141c-17.8 11.9-28.5 31.9-28.5 53.3V413.7c0 21.4 10.7 41.4 28.5 53.3l51.4 34.3zM448 224c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm0 80c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm0 80c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBus = {\n prefix: 'far',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M363.7 96h97.5C445.4 78.9 399.2 48 288 48C185.8 48 133.8 78.3 115.5 96h96.8c5.5-9.6 15.9-16 27.7-16l96 0c11.8 0 22.2 6.4 27.7 16zM464 144H312v80H464V144zm-352 0v80H264V144H112zm0 128V376c0 13.3 10.7 24 24 24H364.2 440c13.3 0 24-10.7 24-24V272H112zM74.2 70C99.9 38.7 167.8 0 288 0C416.6 0 478 38.6 502.4 70.6c7.5 9.8 9.6 20.9 9.6 29.9V128c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32V376c0 25-12.7 47-32 59.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H364.2 144v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V435.9C76.7 423 64 401 64 376V256c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V100.4C64 91.6 66 80 74.2 70zM176 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm224 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHeartCircleXmark = {\n prefix: 'far',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faArrowUpLeftFromCircle = {\n prefix: 'far',\n iconName: 'arrow-up-left-from-circle',\n icon: [512, 512, [], \"e09e\", \"M184 0H24C10.7 0 0 10.7 0 24V184c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9L295 329c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L81.9 48H184c13.3 0 24-10.7 24-24s-10.7-24-24-24zM296 64c-13.3 0-24 10.7-24 24s10.7 24 24 24c97.2 0 176 78.8 176 176s-78.8 176-176 176s-176-78.8-176-176c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 123.7 100.3 224 224 224s224-100.3 224-224S419.7 64 296 64z\"]\n};\nvar faHouseChimney = {\n prefix: 'far',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM112 204.8V432c0 17.7 14.3 32 32 32h48V312c0-22.1 17.9-40 40-40H344c22.1 0 40 17.9 40 40V464h48c17.7 0 32-14.3 32-32V204.8L288 55.5 112 204.8zM336 320H240V464h96V320z\"]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M.3 89.5C.1 91.6 0 93.8 0 96V224 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V224 96c0-35.3-28.7-64-64-64H64c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 224H464l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192z\"]\n};\nvar faDryer = {\n prefix: 'far',\n iconName: 'dryer',\n icon: [448, 512, [], \"f861\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm64 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm40 256c-44.7 0-82.3-30.6-93-72h53c13.3 0 24-10.7 24-24s-10.7-24-24-24H131c10.7-41.4 48.2-72 93-72c53 0 96 43 96 96s-43 96-96 96zm0 48a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faFaceFrown = {\n prefix: 'far',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM174.6 384.1c-4.5 12.5-18.2 18.9-30.7 14.4s-18.9-18.2-14.4-30.7C146.9 319.4 198.9 288 256 288s109.1 31.4 126.6 79.9c4.5 12.5-2 26.2-14.4 30.7s-26.2-2-30.7-14.4C328.2 358.5 297.2 336 256 336s-72.2 22.5-81.4 48.1zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrown = faFaceFrown;\nvar faChessBishopPiece = {\n prefix: 'far',\n iconName: 'chess-bishop-piece',\n icon: [256, 512, [\"chess-bishop-alt\"], \"f43b\", \"M64 56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 12.2-9.2 22.3-21 23.8c6.2 6.4 13.2 14.4 20.2 23.8C210.8 129.8 232 168.8 232 216c0 20-5.9 35.9-13.9 48.2c3.7 4.2 5.9 9.7 5.9 15.8c0 11.3-7.8 20.8-18.3 23.3l4.9 48.7H162.3l-4.8-48h-59l-4.8 48H45.5l4.9-48.7C39.8 300.8 32 291.3 32 280c0-6 2.2-11.6 5.9-15.8C29.9 251.9 24 236 24 216c0-47.2 21.2-86.2 40.8-112.4c7-9.4 14.1-17.4 20.2-23.8C73.2 78.3 64 68.2 64 56zm93.3 200l7.5-5.1c9.6-6.5 19.2-16.9 19.2-34.9c0-13.8-2.6-26.9-6.9-39.2L161 193c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l26.1-26.1c-.1-.2-.2-.3-.4-.5c-8.1-10.8-16.2-19.3-22.2-25.1c-.9-.9-1.8-1.7-2.6-2.5c-.8 .8-1.7 1.6-2.6 2.5c-6 5.8-14.1 14.4-22.2 25.1C86.8 154.2 72 183.2 72 216c0 18.1 9.6 28.5 19.2 34.9l7.5 5.1h58.7zM69.2 432L52.7 464H203.3l-16.6-32H69.2zm-9.7-48h137c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384z\"]\n};\nvar faChessBishopAlt = faChessBishopPiece;\nvar faShirtTankTop = {\n prefix: 'far',\n iconName: 'shirt-tank-top',\n icon: [384, 512, [], \"e3c9\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24c0 127.9-26.8 181-41.5 200.5C12.9 237.2 0 257.2 0 280.7V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V280.7c0-23.5-12.9-43.5-22.5-56.3C346.8 205 320 151.9 320 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V72c0 44.2-35.8 80-80 80s-80-35.8-80-80V24zM99.3 160.2C122.6 184.7 155.5 200 192 200s69.4-15.3 92.7-39.8c10.3 46.7 25.2 75.5 38.5 93.1c8.6 11.4 12.8 20.5 12.8 27.3V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V280.7c0-6.8 4.2-15.9 12.8-27.3c13.3-17.6 28.2-46.5 38.5-93.1z\"]\n};\nvar faDiploma = {\n prefix: 'far',\n iconName: 'diploma',\n icon: [640, 512, [\"scroll-ribbon\"], \"f5ea\", \"M320 80.3L302 59.7C286.6 42.1 264.4 32 241 32h-1c-44.2 0-80 35.8-80 80c0 11.4 2.4 22.2 6.7 32H96c-65.1 .3-96 71.5-96 128c0 56.9 24.1 119.2 81 140.7c10.5 4 22.5 4.2 33.4 1.8L256 383v81c0 6.2 3.6 11.9 9.2 14.5s12.3 1.8 17-2.2L320 444.8l37.8 31.5c4.8 4 11.4 4.8 17 2.2s9.2-8.3 9.2-14.5V383l141.6 31.5c10.9 2.4 22.9 2.2 33.4-1.8c56.9-21.5 81-83.8 81-140.7c0-56.5-30.9-127.7-96-128H473.3c4.3-9.8 6.7-20.6 6.7-32c0-44.2-35.8-80-80-80h-1c-23.4 0-45.6 10.1-61 27.7L320 80.3zM400 144h-8H345.6c-6.9 0-10.5-8.1-6-13.3l34.5-39.5c5.5-6.3 13.1-10.2 21.3-11.1c1.2-.1 2.3-.2 3.5-.2h1c17.7 0 32 14.3 32 32s-14.3 32-32 32zm-105.6 0H240c-17.7 0-32-14.3-32-32s14.3-32 32-32h1c9.5 0 18.6 4.1 24.8 11.3l34.5 39.5c4.5 5.2 .9 13.3-6 13.3zM240 192h16V333.8L104 367.6c-1.5 .3-3.1 .5-4.3 .4c-1.1 0-1.6-.2-1.7-.2l0 0C68.1 356.5 48 319.7 48 272c0-20.6 5.9-43.3 16.1-59.3C73.6 197.8 84 192.1 96.1 192H240zm144 0h16H543.9c12.1 .1 22.6 5.8 32.1 20.7c10.2 16 16.1 38.7 16.1 59.3c0 47.7-20.1 84.5-50 95.8l0 0c-.1 0-.6 .2-1.7 .2c-1.3 .1-2.8-.1-4.3-.4L384 333.8V192z\"]\n};\nvar faScrollRibbon = faDiploma;\nvar faScreencast = {\n prefix: 'far',\n iconName: 'screencast',\n icon: [576, 512, [], \"e23e\", \"M512 80H64c-8.8 0-16 7.2-16 16v97.1c-7.9-.7-15.9-1.1-24-1.1H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-8.1-.4-16.1-1.1-24H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z\"]\n};\nvar faWalker = {\n prefix: 'far',\n iconName: 'walker',\n icon: [448, 512, [], \"f831\", \"M186.4 48H320c22.1 0 40 17.9 40 40v88H124l23.5-97.4c4.3-18 20.4-30.6 38.9-30.6zM360 224V388.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88c0-48.6-39.4-88-88-88H186.4c-40.6 0-76 27.8-85.5 67.4L.7 482.4c-3.1 12.9 4.8 25.9 17.7 29s25.9-4.8 29-17.7L112.4 224H360zm24 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPrescription = {\n prefix: 'far',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M24 0C10.7 0 0 10.7 0 24V200v96c0 13.3 10.7 24 24 24s24-10.7 24-24V224h78.1l128 128L135 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L407 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L441 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119-95.3-95.3C246.6 214.7 288 168.2 288 112C288 50.1 237.9 0 176 0H24zM176 176H48V48H176c35.3 0 64 28.7 64 64s-28.7 64-64 64z\"]\n};\nvar faShop = {\n prefix: 'far',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M0 185.8c0-6.4 1.6-12.7 4.7-18.3L82.4 25C90.8 9.6 106.9 0 124.5 0h391c17.6 0 33.7 9.6 42.1 25l77.7 142.4c3.1 5.6 4.7 11.9 4.7 18.3c0 21.1-17.1 38.2-38.2 38.2H576V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V224H384V472c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V224H38.2C17.1 224 0 206.9 0 185.8zM112 224v96H336V224H112zM515.5 48l-391 0L54.7 176H585.3L515.5 48zM112 464H336V368H112v96z\"]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'far',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm80-16v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'far',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M308.5 61.4c-31 21.7-64.8 39-100.5 51.3V160H320 432V112.7c-35.7-12.3-69.5-29.6-100.5-51.3L320 53.3l-11.5 8.1zm173.2 65.8l-1.7-.5v39.7l1.7 1.9 2.5 2.9c27.3 31.5 62.5 55.1 102.1 68.3l4.8 1.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 7s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-7 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4H544v36.6l4.3 7.4 1.9 3.3c17.2 29.6 43.4 52.9 74.8 66.5c8.8 3.6 15 12.2 15 22.3c0 13.3-10.7 24-24 24H576v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H344v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H112v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H24c-13.3 0-24-10.7-24-24c0-10.1 6.2-18.7 15-22.3c31.4-13.6 57.6-36.9 74.8-66.5l1.9-3.3 4.3-7.4V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l4.8-1.6c39.5-13.2 74.8-36.8 102.1-68.3l2.5-2.9 1.7-1.9V126.7l-1.7 .5c-12.8 3.5-26-4.1-29.5-16.8s4.1-26 16.8-29.5l23.6-6.4C209.2 63.5 247 45.8 281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23.6 6.4c12.8 3.5 20.3 16.7 16.8 29.5s-16.7 20.3-29.5 16.8zM496 320V288H320 144v32H320 496zM152.8 240H320 487.2c-12.3-9.6-23.9-20.3-34.5-32H320 187.3c-10.6 11.7-22.2 22.4-34.5 32zM100.5 400H320 539.5c-9.5-9.8-18.1-20.5-25.5-32H320 126c-7.5 11.5-16 22.2-25.5 32z\"]\n};\nvar faFaceKissClosedEyes = {\n prefix: 'far',\n iconName: 'face-kiss-closed-eyes',\n icon: [512, 512, [], \"e37d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 41.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 427.1 257.4 432 240 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM175.6 220c-10.6 0-19.9 3.8-25.4 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7zm134.6 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faScaleUnbalanced = {\n prefix: 'far',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M542.9 16.7c4 12.6-2.9 26.1-15.5 30.2L399.6 87.7c-3.1 32.4-25.5 59.2-55.6 68.6V464H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H320c-13.3 0-24-10.7-24-24V156.3c-14.2-4.5-26.8-12.8-36.4-23.8L127.3 174.9c-12.6 4-26.1-2.9-30.2-15.5s2.9-26.1 15.5-30.2L240.4 88.3c-.3-2.7-.4-5.5-.4-8.3c0-44.2 35.8-80 80-80c29.8 0 55.8 16.3 69.6 40.5L512.7 1.1c12.6-4 26.1 2.9 30.2 15.5zM512 163.8L439.6 288H584.4L512 163.8zM386 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 350 574.9 384 512 384s-115.2-34-126-78.9zM56.7 416H201.6L129.2 291.8 56.7 416zm72.4 96C66.3 512 14 478 3.2 433.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C244.3 478 192 512 129.2 512zM320 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faFileUser = {\n prefix: 'far',\n iconName: 'file-user',\n icon: [384, 512, [], \"f65c\", \"M304 464c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H304zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM256 288a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faUserPoliceTie = {\n prefix: 'far',\n iconName: 'user-police-tie',\n icon: [448, 512, [], \"e334\", \"M217.9 .8l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40c-4-1.1-8.2-1.1-12.2 0zM221 48.6c1.9-.8 4-.8 5.9 0l32 12.8c3 1.2 5 4.2 5 7.4c0 17.2-7 46.1-36.9 58.6c-2 .8-4.2 .8-6.2 0C191 114.9 184 86 184 68.8c0-3.3 2-6.2 5-7.4l32-12.8zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2c-14 5.4-28.5 9.9-43.3 13.4c.4 3.2 .6 6.5 .6 9.8c0 46-37.2 83.2-83.2 83.2s-83.2-37.2-83.2-83.2c0-3.3 .2-6.6 .6-9.8c-14.8-3.6-29.3-8.1-43.3-13.4C96.7 176.3 96 184.1 96 192zm91.6 183.2L208 416l-12.2 48.9 0 0-.5-.9 0 0L133 360.3c-3-5-8.6-8.1-14.4-7.4C51.8 360.8 0 417.5 0 486.4C0 500.5 11.5 512 25.6 512H168h0 1 21.2H192v0h64v0h1.7 21.2 1 0H422.4c14.1 0 25.6-11.5 25.6-25.6c0-68.9-51.8-125.6-118.6-133.5c-5.8-.7-11.4 2.4-14.4 7.4L252.8 464l0 0-.5 .9 0 0L240 416l20.4-40.8c5.3-10.6-2.4-23.2-14.3-23.2H201.9c-11.9 0-19.6 12.5-14.3 23.2zM139.2 464H50.9c7.2-27 27.3-48.8 53.2-58.5L139.2 464zm257.8 0H308.8l35.1-58.5c25.9 9.7 45.9 31.5 53.2 58.5z\"]\n};\nvar faFaceTongueMoney = {\n prefix: 'far',\n iconName: 'face-tongue-money',\n icon: [512, 512, [], \"e39d\", \"M348.3 442.4c2.2-7.7 3.5-15.9 3.7-24.3c30.5-21.1 53.2-52.1 63.3-88.1c3.8-13.7-7.4-26.1-21.6-26.1H352 320 192 160 118.4c-14.2 0-25.5 12.4-21.6 26.1c10.1 36 32.8 66.9 63.3 88.1c.2 8.4 1.5 16.5 3.7 24.3C95.1 408.4 48 337.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 81.7-47.1 152.4-115.7 186.4zm-44.4 16C292.2 471.7 275.1 480 256 480s-36.2-8.3-47.9-21.5c-5.5-6.2-9.8-13.5-12.6-21.6c-2.3-6.5-3.5-13.6-3.5-20.9V336H320v80c0 7.3-1.2 14.4-3.5 20.9c-2.8 8-7.1 15.3-12.6 21.6zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 120c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.3 9 27.2 11.2l1.1 .3c9.6 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V264c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V120zm144-16c-8.8 0-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.4 9 27.2 11.2l1.1 .3c9.5 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V264c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V120c0-8.8-7.2-16-16-16zM267.2 355.6c0-6.4-5.4-11.6-12-11.6s-12 5.2-12 11.6v6.8c-4.3 .8-8.7 2.4-12.7 5.2c-5.6 4-9.5 9.8-10.8 17.2c-.9 5.3-.5 10.6 1.7 15.4c2.2 4.8 5.7 8.2 9.3 10.6c6.3 4.2 14.5 6.5 20.4 8.1l.8 .2c7.2 2 11.5 3.3 14.1 5.1c1.9 1.3 1.6 4.6-.4 5.8l0 0c-.9 .5-2.8 1.1-6.6 1.1c-7.6-.1-16.9-2.9-24-5.2c-6.3-2-13.1 1.3-15.2 7.4s1.3 12.7 7.6 14.7c3.8 1.2 9.5 3 15.8 4.4v7.8c0 6.4 5.4 11.6 12 11.6s12-5.2 12-11.6v-6.5c3.6-.6 7.3-1.8 10.8-3.8c6.8-4 11.2-10.5 12.7-18.9c.9-5.3 .5-10.6-1.7-15.4c-2.2-4.8-5.7-8.2-9.3-10.6c-5.4-3.6-11.7-5.2-17.9-6.8c-6.2-1.6-12.3-3.2-17.5-6.6c-1.8-1.2-1.8-3.9 .2-5.2c.7-.5 2.3-1.2 5.3-1.5c6.1-.6 14 .7 20.2 2.3c6.4 1.7 13-2 14.7-8.3s-2.1-12.6-8.5-14.2c-2.5-.7-5.7-1.4-9.1-2v-7.2z\"]\n};\nvar faTennisBall = {\n prefix: 'far',\n iconName: 'tennis-ball',\n icon: [512, 512, [127934], \"f45e\", \"M248 463.8c0-55.2 21.1-110.4 63.3-152.6s97.4-63.2 152.6-63.3C459.7 139.5 372.5 52.3 264 48.2c0 55.2-21.1 110.4-63.3 152.6S103.4 264 48.2 264C52.3 372.5 139.5 459.7 248 463.8zm48-3.7C378.8 444 444 378.8 460.2 296c-41.7 1-83.1 17.3-114.9 49.2S297 418.4 296 460.2zM51.9 216c41.7-1 83.1-17.3 114.9-49.2S215 93.6 216 51.9C133.2 68 68 133.2 51.9 216zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSquareL = {\n prefix: 'far',\n iconName: 'square-l',\n icon: [448, 512, [], \"e275\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm176 56V336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSortUp = {\n prefix: 'far',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M160 86.6L70.6 176H249.4L160 86.6zM137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128z\"]\n};\nvar faSortAsc = faSortUp;\nvar faCalendarArrowUp = {\n prefix: 'far',\n iconName: 'calendar-arrow-up',\n icon: [448, 512, [\"calendar-upload\"], \"e0d1\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM200 408l0-102.1-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39V408c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faCalendarUpload = faCalendarArrowUp;\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'far',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M280 112c0-35.3 28.7-64 64-64s64 28.7 64 64v18.7c-33.9 8-56 33.6-56 72.4c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-38.8-22.1-64.4-56-72.4V112C456 50.1 405.9 0 344 0S232 50.1 232 112v36.1c-18.1-12.7-40.2-20.1-64-20.1c-61.9 0-112 50.1-112 112v18.7c-33.9 8-56 33.6-56 72.4C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-38.8-22.1-64.4-56-72.4V240c0-35.3 28.7-64 64-64s64 28.7 64 64v32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V272 240 112zM54.7 311.3c3.2-2.9 9.9-6.7 22.3-7.2c1 .1 2 .2 3.1 .2s2.1-.1 3.1-.2c12.3 .5 19.1 4.3 22.3 7.2c2.9 2.6 6.7 7.9 6.7 19.8c0 0 0 0 0 0c0 .1 0 .8-.3 2.3c-.3 1.6-.8 3.7-1.8 6.4c-1.8 5.4-4.9 12.2-9.3 19.9c-5.4 9.3-12.3 19.2-20.7 28.9c-8.3-9.7-15.3-19.6-20.7-28.9c-4.4-7.7-7.4-14.4-9.3-19.9c-.9-2.7-1.4-4.8-1.8-6.4c-.3-1.5-.3-2.2-.3-2.3c0 0 0 0 0 0c0-11.9 3.8-17.1 6.7-19.8zM400 203.1c0-11.9 3.8-17.1 6.7-19.8c3.5-3.1 11-7.3 25.3-7.3s21.9 4.1 25.3 7.3c2.9 2.6 6.7 7.9 6.7 19.8c0 0 0 0 0 0c0 .1 0 .8-.3 2.3c-.3 1.6-.8 3.7-1.8 6.4c-1.8 5.4-4.9 12.2-9.3 19.9c-5.4 9.3-12.3 19.2-20.7 28.9c-8.3-9.7-15.3-19.6-20.7-28.9c-4.4-7.7-7.4-14.4-9.3-19.9c-.9-2.7-1.4-4.8-1.8-6.4c-.3-1.5-.3-2.2-.3-2.3l0 0z\"]\n};\nvar faScarf = {\n prefix: 'far',\n iconName: 'scarf',\n icon: [512, 512, [129507], \"f7c1\", \"M306.7 256l0 0 33.9 33.9L362.7 312 312 362.7 162.4 213.1c-11.7-11.7-18.4-27.7-18.4-44.3c0-10.8 2.8-21.3 8-30.7l41.5-73.8C199.2 54.2 209.9 48 221.4 48h69.1c11.6 0 22.2 6.2 27.9 16.3L360 138.1c5.3 9.4 8 20 8 30.7c0 16.6-6.6 32.6-18.3 44.3l-9 9-50.7-50.7 8-8c3.9-3.9 6.1-9.1 6.1-14.6c0-11.4-9.3-20.7-20.7-20.7H228.7c-11.4 0-20.7 9.3-20.7 20.7c0 5.5 2.2 10.7 6.1 14.6L306.7 256h0zm101.8 33.9l-11.9-11.9L374.6 256l9-9c20.8-20.8 32.4-48.9 32.4-78.2c0-19-4.9-37.7-14.2-54.2L360.3 40.8C346.1 15.6 319.5 0 290.6 0H221.4c-28.9 0-55.6 15.6-69.7 40.8l-41.5 73.8C100.9 131.1 96 149.8 96 168.8c0 29.3 11.7 57.5 32.4 78.2L278.1 396.7l30.6 30.6 0 0 3.3 3.3 76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L334.6 408l11.3-11.3L360 382.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L382.6 360l14.1-14.1L408 334.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L430.6 312l-3.3-3.3 0 0-18.7-18.7zM116.7 276.7l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l112-112-22.6-22.6zm48 48l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l112-112-22.6-22.6zm48 48l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l112-112-22.6-22.6z\"]\n};\nvar faAlbumCirclePlus = {\n prefix: 'far',\n iconName: 'album-circle-plus',\n icon: [576, 512, [], \"e48c\", \"M64 80H384c8.8 0 16 7.2 16 16v98.9c10.4-1.9 21.1-2.9 32-2.9c5.4 0 10.7 .2 16 .7V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm160 32c-79.5 0-144 64.5-144 144s64.5 144 144 144c11.8 0 23.2-1.4 34.2-4.1c-1.4-9.1-2.2-18.4-2.2-27.9c0-71.4 42.5-132.9 103.6-160.5C339.7 151.8 286.5 112 224 112zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faUserNurseHairLong = {\n prefix: 'far',\n iconName: 'user-nurse-hair-long',\n icon: [448, 512, [], \"e45e\", \"M96 70.2V128h.3c-.2 2.6-.3 5.3-.3 8v24 11c0 33.9-13.5 66.5-37.5 90.5l-3.9 3.9c-4.2 4.2-6.6 10-6.6 16C48 293.9 58.1 304 70.6 304H224 377.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-3.9-3.9c-24-24-37.5-56.6-37.5-90.5V160 136c0-2.7-.1-5.4-.3-8h.3V70.2c0-13.3-8.3-25.3-20.8-30l-96-36c-7.2-2.7-15.2-2.7-22.5 0l-96 36C104.3 44.9 96 56.8 96 70.2zM304 160v16c0 44.2-35.8 80-80 80s-80-35.8-80-80l32 0c29.8 0 55.9-16.3 69.6-40.5C257.3 150.4 275.5 160 296 160h8zM50 461.9c7.8-38.7 38-69.3 76.4-77.7l52.3 52.3c25 25 65.5 25 90.5 0l52.3-52.3c38.5 8.4 68.6 39 76.4 77.7H50zm80.4-127C56.9 343.6 0 406 0 481.8c0 15.6 12.6 28.2 28.2 28.2H419.8c15.6 0 28.2-12.6 28.2-28.2C448 406 391.1 343.6 317.6 335c-8.7-1-17.2 2.5-23.4 8.7l-58.9 58.9c-6.2 6.2-16.4 6.2-22.6 0l-58.9-58.9c-6.2-6.2-14.7-9.8-23.4-8.7zM208 48c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8V64h16c4.4 0 8 3.6 8 8V88c0 4.4-3.6 8-8 8H240v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V96H192c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h16V48z\"]\n};\nvar faDiamond = {\n prefix: 'far',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M249 50.9L50.9 249c-1.9 1.9-2.9 4.4-2.9 7s1 5.2 2.9 7L249 461.1c1.9 1.9 4.4 2.9 7 2.9s5.2-1 7-2.9L461.1 263c1.9-1.9 2.9-4.4 2.9-7s-1-5.2-2.9-7L263 50.9c-1.9-1.9-4.4-2.9-7-2.9s-5.2 1-7 2.9zM17 215L215 17C225.9 6.1 240.6 0 256 0s30.1 6.1 41 17L495 215c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L297 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17L17 297C6.1 286.1 0 271.4 0 256s6.1-30.1 17-41z\"]\n};\nvar faSquareLeft = {\n prefix: 'far',\n iconName: 'square-left',\n icon: [448, 512, [11013, \"arrow-alt-square-left\"], \"f351\", \"M48 416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zM185.4 360.8l-84-91c-3.5-3.8-5.4-8.7-5.4-13.9s1.9-10.1 5.4-13.9l84-91c4.2-4.6 10.1-7.2 16.4-7.2c12.3 0 22.3 10 22.3 22.3V208h96c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H224v41.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.4-7.2z\"]\n};\nvar faArrowAltSquareLeft = faSquareLeft;\nvar faFaceGrinSquint = {\n prefix: 'far',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zm-216-161.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faCircleEllipsisVertical = {\n prefix: 'far',\n iconName: 'circle-ellipsis-vertical',\n icon: [512, 512, [], \"e10b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandHoldingDollar = {\n prefix: 'far',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3 0 0c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faGridDividers = {\n prefix: 'far',\n iconName: 'grid-dividers',\n icon: [512, 512, [], \"e3ad\", \"M0 24C0 10.7 10.7 0 24 0H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM80 176h32V144H80v32zM32 128c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128zM80 464h32V432H80v32zM32 416c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V416zM240 144v32h32V144H240zM224 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm16 368h32V432H240v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416zM400 144v32h32V144H400zM384 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm16 368h32V432H400v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V416zM24 288H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBacterium = {\n prefix: 'far',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-8.6 14.3-16.5 29.5-23.3 45.2l-9.8-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.4 4.5c-4.8 16.8-8.2 34-10 51c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3c.6-3.9 1.4-7.7 2.5-11.5l12.7 5.5c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM207.9 372.9c-.1 .7-.2 1.4-.3 2.1c-3.8 34.6-34.6 59.9-69.4 56.8c-35.1-3.2-61-34.2-58-69.2c4.4-41 20.4-84 42.9-121.4c38-63.4 107.9-131.1 230.5-159.4c34.4-7.9 68.8 13.5 76.8 48s-13.5 68.8-48 76.8C297 226.1 254.9 270.3 232.9 306.9c-10.8 18-21.1 40.8-25 66zM192 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm48-88a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M160 64c0-8.8 7.2-16 16-16s16 7.2 16 16V200c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c7.8 0 14.3 5.6 15.7 13c1.6 8.2 7.3 15.1 15.1 18s16.7 1.6 23.3-3.6c2.7-2.1 6.1-3.4 9.9-3.4c8.8 0 16 7.2 16 16l0 16V392c0 39.8-32.2 72-72 72H272 212.3h-.9c-37.4 0-72.4-18.7-93.2-49.9L50.7 312.9c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4L116 353.2c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V320 64zM176 0c-35.3 0-64 28.7-64 64V261.7C91.2 238 55.5 232.8 28.5 250.7C-.9 270.4-8.9 310.1 10.8 339.5L78.3 440.8c29.7 44.5 79.6 71.2 133.1 71.2h.9H272h56c66.3 0 120-53.7 120-120V288l0-16c0-35.3-28.7-64-64-64c-4.5 0-8.8 .5-13 1.3c-11.7-15.4-30.2-25.3-51-25.3c-6.9 0-13.5 1.1-19.7 3.1C288.7 170.7 269.6 160 248 160c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zm48 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'far',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M528 160c0-9.9-8-29.9-55-49.8c-20-8.5-44.3-15.4-71.9-20.6c-1.2 4.1-2.4 8.8-3.6 13.8c-4.5 18.9-7.6 39.2-5.7 53.3c2.2 16.3 10.4 35.1 19.3 51.1c4 7.3 7.9 13.5 10.9 18c19.1-4.5 36.2-9.9 51-16.2c47.1-19.9 55-39.9 55-49.8zM369.1 231.2c-6.9-12.5-14.9-28.8-20.1-46.3c-15.4 8-36 15.1-61 15.1s-45.6-7.1-61-15.1c-5.2 17.5-13.2 33.8-20.1 46.3c-.7 1.3-1.4 2.5-2.1 3.8c25.7 3.3 53.7 5 83.2 5s57.5-1.8 83.2-5c-.7-1.2-1.4-2.5-2.1-3.8zM350.8 92.3c.8-3.2 1.6-6.3 2.3-9.3c-20.6-2-42.4-3-65.1-3s-44.5 1-65.1 3c.8 2.9 1.6 6 2.3 9.3c2.6 11 5.4 24.5 6.7 38.4c.1 .1 .2 .2 .3 .2c2.6 2.3 6.6 5.4 11.8 8.6c10.5 6.4 25.4 12.5 44 12.5s33.5-6.2 44-12.5c5.2-3.2 9.2-6.3 11.8-8.6c.1-.1 .2-.2 .3-.2c1.3-13.9 4.1-27.4 6.7-38.4zM103 209.8c14.8 6.3 31.9 11.7 51 16.2c3-4.5 6.9-10.8 10.9-18c8.9-16 17.1-34.9 19.3-51.1c1.9-14.2-1.1-34.5-5.7-53.3c-1.2-5-2.5-9.7-3.6-13.8c-27.6 5.1-51.9 12.1-71.9 20.6C56 130.1 48 150.1 48 160s8 29.9 55 49.8zM576 160V352c0 24.3-11.3 44.9-28.1 61c-16.5 15.8-39.1 28.3-64.8 37.8C431.7 470.1 362.6 480 288 480s-143.7-9.9-195.1-29.1c-25.6-9.6-48.2-22-64.8-37.8C11.3 396.9 0 376.3 0 352V160C0 80 128.9 32 288 32s288 48 288 128zm-48 74.9C476.4 269 388.2 288 288 288s-188.4-19-240-53.1V352c0 8.2 3.5 16.9 13.3 26.3c10.2 9.7 26.2 19.3 48.4 27.6C153.9 422.4 216.8 432 288 432s134.1-9.6 178.3-26.1c22.1-8.3 38.2-17.8 48.4-27.6c9.9-9.4 13.3-18.2 13.3-26.3V234.9z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M.2 276.3c-1.2-35.3 26.4-65 61.7-66.2l3.3-.1L57 208.1C22.5 200.5 .7 166.3 8.3 131.8S50.2 75.5 84.7 83.2l173 38.3c2.3-2.9 4.7-5.7 7.1-8.5l18.4-20.3C299.9 74.5 323.5 64 348.3 64l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 344c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-.8 0-1.6 0-2.4L66.4 338c-35.3 1.2-65-26.4-66.2-61.7zm63.4-18.2c-8.8 .3-15.7 7.7-15.4 16.5s7.7 15.7 16.5 15.4l161.5-5.6c9.8-.3 18.7 5.3 22.7 14.2s2.2 19.3-4.5 26.4c-2.8 2.9-4.4 6.7-4.4 11c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1l-17.5-15.9 17.5 15.9-18.4 20.3c-.6 .6-1.1 1.3-1.7 1.9l57 13.2c8.6 2 14 10.6 12 19.2s-10.6 14-19.2 12l-85.6-19.7L74.3 130c-8.6-1.9-17.2 3.5-19.1 12.2s3.5 17.2 12.2 19.1l187.5 41.6c10.2 2.3 17.8 10.9 18.7 21.4l.1 1c.6 6.6-1.5 13.1-5.8 18.1s-10.6 7.9-17.2 8.2L63.6 258.1z\"]\n};\nvar faHandsPraying = {\n prefix: 'far',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M277.8 48c-5.9 0-11.4 2.9-14.8 7.7l-99.8 141c-12.4 17.6-19.1 38.6-19.1 60.1v40.2c0 24.1-15.4 45.5-38.3 53.1L31.6 374.8C19 379 5.4 372.2 1.2 359.6S3.8 333.4 16.4 329.2l74.1-24.7c3.3-1.1 5.5-4.1 5.5-7.6V256.7c0-31.5 9.8-62.2 28-87.9l99.8-141C236.2 10.4 256.4 0 277.8 0c16.1 0 30.8 5.8 42.2 15.3C331.4 5.8 346.1 0 362.2 0c21.5 0 41.6 10.4 54 27.9l99.8 141c18.2 25.7 28 56.4 28 87.9v40.2c0 3.4 2.2 6.5 5.5 7.6l74.1 24.7c12.6 4.2 19.4 17.8 15.2 30.4s-17.8 19.4-30.4 15.2l-74.1-24.7c-22.9-7.6-38.3-29-38.3-53.1V256.7c0-21.5-6.7-42.5-19.1-60.1L377 55.7c-3.4-4.8-8.9-7.7-14.8-7.7c-9.6 0-18 8-18.2 18.2c0 .1 0 .3 0 .4s0 .3 0 .4c.1 3.7 1.3 7.4 3.3 10.3L416.5 178c10.1 14.7 15.5 32.1 15.5 49.9V236v60c0 13.3-10.7 24-24 24s-24-10.7-24-24V236c0-11-9-20-20-20c-10.9 0-19.8 8.7-20 19.6c0 .1 0 .3 0 .4v74c0 .3 0 .6 0 .9c.4 46.6 31.8 87.3 76.9 99.5l201.4 54.4c12.8 3.5 20.4 16.6 16.9 29.4s-16.6 20.4-29.4 16.9L408.3 456.7C370.9 446.6 339.9 423 320 392c-19.9 31-50.9 54.6-88.3 64.8L30.3 511.2c-12.8 3.5-26-4.1-29.4-16.9s4.1-26 16.9-29.4l201.4-54.4c45.1-12.2 76.5-52.9 76.9-99.5c0-.3 0-.6 0-.9V236c0-.1 0-.3 0-.4c-.2-10.8-9.1-19.6-20-19.6c-11 0-20 9-20 20v60c0 13.3-10.7 24-24 24s-24-10.7-24-24V236v-8.1c0-17.8 5.4-35.2 15.5-49.9L292.7 77.3c2-2.9 3.2-6.6 3.3-10.3c0-.1 0-.3 0-.4s0-.3 0-.4C295.8 56 287.4 48 277.8 48zM320 122.4L287.9 169c12.1 2.1 23.1 7.5 32.1 15.1c9-7.6 20-13 32.1-15.1L320 122.4z\"]\n};\nvar faPrayingHands = faHandsPraying;\nvar faFacePensive = {\n prefix: 'far',\n iconName: 'face-pensive',\n icon: [512, 512, [], \"e384\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 368h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H208c-13.3 0-24-10.7-24-24s10.7-24 24-24zm143.6-84c10.6 0 19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C391.7 317.2 371 324 351.6 324s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9c5.5 5.8 14.8 9.7 25.4 9.7zm-217.4-9.7c5.5 5.8 14.8 9.7 25.4 9.7s19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C199.7 317.2 179 324 159.6 324s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9zM81.7 215.2c-4-7.9-.7-17.5 7.2-21.5l22.9-11.4c14.5-7.2 27.2-17.6 37.4-30.2l14.4-18c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5l-14.4 18c-13 16.3-29.4 29.5-48 38.8l-22.9 11.4c-7.9 4-17.5 .7-21.5-7.2zm341.5-21.5c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2L386 210.9c-18.6-9.3-35-22.6-48.1-38.8l-14.4-18c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5l14.4 18c10.1 12.7 22.9 23 37.4 30.2l22.9 11.4z\"]\n};\nvar faUserMusic = {\n prefix: 'far',\n iconName: 'user-music',\n icon: [640, 512, [], \"f8eb\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H288v0c0 19.1 7.7 35.4 18.9 48H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c36.3 0 70.1 10.9 98.3 29.5v51.6c-3.2 .4-6.5 1-9.6 1.7C335.1 365.2 304 352 269.7 352H178.3c-65.7 0-120.1 48.7-129 112zM630 164.5c6.3 4.5 10 11.8 10 19.5v48V392c0 1.2-.1 2.4-.3 3.6c.2 1.5 .3 2.9 .3 4.4c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V265.3l-144 48V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V296 248c0-10.3 6.6-19.5 16.4-22.8l192-64c7.3-2.4 15.4-1.2 21.6 3.3z\"]\n};\nvar faArrowRotateRight = {\n prefix: 'far',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M472 224c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v80.1l-20-23.5C387 63.4 325.1 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c50.4 0 97-16.7 134.4-44.8c10.6-8 12.7-23 4.8-33.6s-23-12.7-33.6-4.8C332.2 418.9 295.7 432 256 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c54.3 0 102.9 24.6 135.2 63.4l.1 .2 0 0L418.9 176H328c-13.3 0-24 10.7-24 24s10.7 24 24 24H472z\"]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faMessagesDollar = {\n prefix: 'far',\n iconName: 'messages-dollar',\n icon: [640, 512, [\"comments-alt-dollar\"], \"f652\", \"M72 48C58.7 48 48 58.7 48 72V248c0 13.3 10.7 24 24 24h48c13.3 0 24 10.7 24 24v19.2L202.7 276c3.9-2.6 8.6-4 13.3-4H344c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72zM0 72C0 32.2 32.2 0 72 0H344c39.8 0 72 32.2 72 72V248c0 39.8-32.2 72-72 72H223.3l-90 60c-7.4 4.9-16.8 5.4-24.6 1.2S96 368.9 96 360V320H72c-39.8 0-72-32.2-72-72V72zM256 352h48v24c0 13.3 10.7 24 24 24h96c4.7 0 9.4 1.4 13.3 4L496 443.2V424c0-13.3 10.7-24 24-24h48c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H448V128H568c39.8 0 72 32.2 72 72V376c0 39.8-32.2 72-72 72H544v40c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-90-60H328c-39.8 0-72-32.2-72-72V352zM224 79.1V89.5c5.9 .9 11.6 2.3 16.8 3.6c8.6 2.2 13.7 10.9 11.5 19.5s-10.9 13.7-19.5 11.5c-8.8-2.3-17.3-3.9-25-4c-6.4-.1-13 1.4-17.4 3.9c-3.9 2.2-4.8 4.3-4.8 6.8l0 .1c0 1 0 2.2 4.1 4.6c5.1 3 12.5 5.2 22.7 8.2l.5 .2c9 2.6 20.4 6 29.6 11.6c10.2 6.3 19.6 16.6 19.8 32.8c.2 16.7-8.6 28.6-20 35.5c-5.7 3.4-12 5.7-18.4 7v10.3c0 8.8-7.2 16-16 16s-16-7.2-16-16V230c-8.2-1.7-15.8-4.3-22.5-6.5l0 0 0 0c-1.7-.6-3.3-1.1-4.9-1.6c-8.4-2.7-13-11.7-10.3-20.2s11.7-13 20.2-10.3c2 .6 3.9 1.3 5.8 1.9l0 0 0 0c10.9 3.6 19.2 6.4 28.2 6.6c6.9 .2 13.3-1.3 17.3-3.7c3.3-2 4.6-4.2 4.6-7.7c0-1.8-.4-3.4-4.5-5.9c-5-3.1-12.4-5.4-22.5-8.4l-1.4-.4c-8.7-2.5-19.7-5.8-28.4-10.9c-10.1-5.9-19.8-16-19.9-32.2c-.1-16.8 9.7-28.3 20.8-34.7c5.5-3.2 11.5-5.3 17.6-6.6V79.1c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCommentsAltDollar = faMessagesDollar;\nvar faSensorOn = {\n prefix: 'far',\n iconName: 'sensor-on',\n icon: [640, 512, [], \"e02b\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 96c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm381.3-20c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM536 232c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536zm13.3 140c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32z\"]\n};\nvar faBalloon = {\n prefix: 'far',\n iconName: 'balloon',\n icon: [384, 512, [], \"e2e3\", \"M48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 35.8-18.4 74.2-46.5 110.7c-27.5 35.7-60.2 64.2-79 79.3c-7.6 6.1-13.8 13.5-18.4 21.8c-4.6-8.3-10.9-15.8-18.4-21.8c-18.9-15.1-51.5-43.6-79-79.3C66.4 266.2 48 227.8 48 192zM150.7 450.5L144 464l-.1 .1-3 6-11.6 23.2c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9h25.9 6.7 .1 36.7 .1 6.7 25.9c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8l-11.6-23.2-3-6-.1-.1-6.7-13.5c-5.3-10.6-2.1-23.6 7.1-31C281.2 386.9 384 294.6 384 192C384 86 298 0 192 0S0 86 0 192C0 294.6 102.8 386.9 143.6 419.5c9.3 7.4 12.5 20.4 7.1 31zM128 184c0-30.9 25.1-56 56-56c13.3 0 24-10.7 24-24s-10.7-24-24-24C126.6 80 80 126.6 80 184c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faBiohazard = {\n prefix: 'far',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c3.3-6.2 5.9-12.8 7.3-19.8c-29.9-23.5-51.1-57.5-58.3-96.4c-7.1-2.2-14.4-3.4-21.7-3.8c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c3.8 6.9 8.5 13.3 14.3 18.8c18-7 37.5-10.8 57.9-10.8s40 3.8 57.9 10.8c5.8-5.5 10.5-11.9 14.3-18.8c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM445.3 301.3c-7.2 38.9-28.5 72.9-58.3 96.4c1.5 7 4 13.7 7.3 19.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-7.3 .3-14.6 1.5-21.7 3.8z\"]\n};\nvar faChessQueenPiece = {\n prefix: 'far',\n iconName: 'chess-queen-piece',\n icon: [256, 512, [\"chess-queen-alt\"], \"f446\", \"M104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM16 232c0-13.3 10.7-24 24-24h5.1L3.6 140.6c-6.4-10.4-4-24 5.7-31.5l2.5-1.9c6.1-4.7 14.1-6.3 21.5-4.1c2.1 .6 4.4 1 6.8 1c11.7 0 21.4-8.3 23.6-19.4c1.9-9.7 9.5-17.3 19.2-19s19.5 2.6 24.7 11C111.8 83.5 119.4 88 128 88s16.2-4.5 20.5-11.4c5.2-8.4 15-12.8 24.7-11s17.4 9.3 19.2 19c2.1 11 11.9 19.4 23.6 19.4c2.4 0 4.7-.3 6.8-1c7.4-2.2 15.4-.6 21.5 4.1l2.5 1.9c9.7 7.5 12.1 21.1 5.7 31.5L211 208h5c13.3 0 24 10.7 24 24s-10.7 24-24 24H200.8l4.4 96h-48l-4.4-96H103.3l-4.4 96h-48l4.4-96H40c-13.3 0-24-10.7-24-24zm138.6-24l37.1-60.2c-11.6-4.2-21.8-11.2-29.7-20.3c-10.1 5.4-21.6 8.5-33.9 8.5s-23.8-3.1-33.9-8.5c-8 9.1-18.2 16.1-29.7 20.3L101.4 208h53.2zM52.7 464H203.3l-16.6-32H69.2L52.7 464zm143.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h137z\"]\n};\nvar faChessQueenAlt = faChessQueenPiece;\nvar faLocationCrosshairs = {\n prefix: 'far',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c13.3 0 24 10.7 24 24V65.5C366.8 76.3 435.7 145.2 446.5 232H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H446.5C435.7 366.8 366.8 435.7 280 446.5V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V446.5C145.2 435.7 76.3 366.8 65.5 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H65.5C76.3 145.2 145.2 76.3 232 65.5V24c0-13.3 10.7-24 24-24zM112 256a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm192 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-144 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'far',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M288 56c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9l-83.7 83.7C338.7 227.2 352 264.1 352 304c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c39.9 0 76.8 13.3 106.3 35.7L366.1 80H312c-13.3 0-24-10.7-24-24zM176 432a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM480 158.1L558.1 80H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H616c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9l-83.7 83.7C530.7 227.2 544 264.1 544 304c0 97.2-78.8 176-176 176c-22.6 0-44.2-4.3-64-12c14.3-11.2 27.1-24.2 38-38.6c8.4 1.7 17.1 2.6 26 2.6c70.7 0 128-57.3 128-128c0-35.7-14.7-68.1-38.3-91.3C471.3 202.5 480 186.3 480 168v-9.9z\"]\n};\nvar faHousePersonLeave = {\n prefix: 'far',\n iconName: 'house-person-leave',\n icon: [640, 512, [\"house-leave\", \"house-person-depart\"], \"e00f\", \"M528 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM461.8 266.6c-1.1 3.2 0 6.6 2.5 8.7l16.3 13.3 32.4-103.8c.1-.3 .2-.7 .3-1c-6.7-3.5-14-5.9-21.7-7.1l-29.9 89.8zm59 54.6l50.1 40.7c6.9 5.6 11.8 13.4 13.8 22.1l22.8 98.6c3 12.9-5.1 25.8-18 28.8s-25.8-5.1-28.8-18l-22.1-96L434 312.6c-18.1-14.7-25.2-39.1-17.8-61.2L439 183.1c-24.7 9.8-44.7 28.9-55.6 53.3l-9.5 21.3c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l9.5-21.3c17.1-38.5 49.6-68 89.5-81.3c15.3-5.1 31.3-7.7 47.4-7.7h4.9c52.5 0 98.7 34.8 113.2 85.4l10.9 38.1L633 279c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L570 283.9c-4.8-4.8-8.3-10.8-10.2-17.3l-10.5-36.7-28.5 91.3zm-101.1 21l39 31.7-19.2 48c-2 5-5 9.6-8.9 13.4L361 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.5-68.5 24.1-60.4zM255.2 5.4L391.9 116.8c-14.8 7.8-28.4 17.5-40.5 28.9L240 55 112 159.3V360c0 4.4 3.6 8 8 8H320h40 14.9l-6.6 16.5L336.8 416H120c-30.9 0-56-25.1-56-56V198.4L39.2 218.6c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176c8.8-7.2 21.5-7.2 30.3 0zM160 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V208z\"]\n};\nvar faHouseLeave = faHousePersonLeave;\nvar faHousePersonDepart = faHousePersonLeave;\nvar faRulerTriangle = {\n prefix: 'far',\n iconName: 'ruler-triangle',\n icon: [512, 512, [128208], \"f61c\", \"M48 448V67.9l66.7 66.7-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1 57.4 57.4-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1 57.4 57.4-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1 57.4 57.4-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1L444.1 464H64c-8.8 0-16-7.2-16-16zm454.6 6.6L57.4 9.4C51.4 3.4 43.2 0 34.7 0H32C14.3 0 0 14.3 0 32V448c0 35.3 28.7 64 64 64H480c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6zM128 256V384H256L128 256z\"]\n};\nvar faCardClub = {\n prefix: 'far',\n iconName: 'card-club',\n icon: [384, 512, [], \"e3e9\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm66.1 208.3C101.9 211.3 80 235.1 80 264c0 30.9 25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V336H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V303.2c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56c0-28.9-21.9-52.7-50.1-55.7c1.4-5.2 2.1-10.7 2.1-16.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.6 .7 11.1 2.1 16.3z\"]\n};\nvar faChildDress = {\n prefix: 'far',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M184 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM88 72a72 72 0 1 1 144 0A72 72 0 1 1 88 72zm-17 129.8c21.3-25.7 52.7-40.9 86-41.8c.7 0 1.4 0 2.2 0h.9 .9c.7 0 1.4 0 2.2 0c33.3 .9 64.6 16.1 86 41.8l65.4 78.8c8.5 10.2 7.1 25.3-3.1 33.8s-25.3 7.1-33.8-3.1l-43.1-52 36.3 109c2.4 7.3 1.2 15.4-3.3 21.6s-11.8 10-19.5 10H224v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H144v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H72c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l36.3-109-43.1 52c-8.5 10.2-23.6 11.6-33.8 3.1S-2.9 290.9 5.5 280.7l65.4-78.8zM160 208c-.5 0-1 0-1.4 0c-3.2 .2-6.1 2.3-7.1 5.5L105.3 352H214.7L168.5 213.5c-1-3.1-3.9-5.3-7.1-5.5c-.5 0-1 0-1.4 0z\"]\n};\nvar faUsersBetweenLines = {\n prefix: 'far',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24S10.7 0 24 0zm0 464H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM321.6 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-60.5 80.8c4.1-.5 8.3-.8 12.5-.8h48 48c4.2 0 8.4 .3 12.5 .8c47.1 6.1 83.5 46.4 83.5 95.2c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32h0c10.5-29.7 35.3-52.8 66.1-60.9c0 0 0 0 0 0c3.9-1 7.9-1.8 11.9-2.3zM273.6 240c-19.4-14.6-32-37.8-32-64c0-44.2 35.8-80 80-80s80 35.8 80 80c0 26.2-12.6 49.4-32 64l0 0c-13.4 10-30 16-48 16s-34.6-6-48-16l0 0zM392.7 341.9c-6.8-3.8-14.7-5.9-23.1-5.9h-96c-20.9 0-38.7 13.4-45.3 32H414.9c-2.6-7.3-6.9-13.8-12.4-19c-3.7-1.7-7-4.2-9.8-7.1zM147.2 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM96 256h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32c0-35.3 28.7-64 64-64zm480 96H493.6c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32zM499.2 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faLungsVirus = {\n prefix: 'far',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M344 24V150.4c-7.1-4.1-15.3-6.4-24-6.4s-16.9 2.3-24 6.4V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM256 165.3v24.1c-14.4-9.6-32.8-10.5-48-2.9V165.3c0-11.8-9.6-21.3-21.3-21.3c-6.8 0-12.8 3.2-16.4 8.3c-14.7 21.1-42.3 62.6-67.8 111.6C77 312.8 54.3 367.9 48 417v6c0 22.6 18.3 41 41 41c3.4 0 6.7-.4 9.9-1.2l72.7-18.2c6.4-1.6 12.3-4.5 17.3-8.3c1.8 2.9 4 5.6 6.6 8.2c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3zm273.4 344l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c2.5-2.5 4.7-5.3 6.6-8.2c5 3.8 10.9 6.7 17.3 8.3l72.7 18.2c3.3 .8 6.6 1.2 9.9 1.2c22.6 0 41-18.3 41-41v-6c-6.3-49.1-29-104.2-54.4-153.1c-25.5-49-53.1-90.5-67.8-111.6c-3.6-5.1-9.6-8.3-16.4-8.3c-11.8 0-21.3 9.6-21.3 21.3v21.2c-15.2-7.6-33.6-6.6-48 2.9V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7zM320 176c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSpinnerThird = {\n prefix: 'far',\n iconName: 'spinner-third',\n icon: [512, 512, [], \"f3f4\", \"M457 372c11.5 6.6 26.3 2.7 31.8-9.3C503.7 330.2 512 294.1 512 256C512 122.7 410.1 13.2 280 1.1C266.8-.1 256 10.7 256 24v0c0 13.3 10.8 23.9 24 25.4C383.5 61.2 464 149.2 464 256c0 29.3-6.1 57.3-17 82.6c-5.3 12.2-1.5 26.8 10 33.5v0z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'far',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M516.1 325.5c1 3 2.1 6 3.3 8.9c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c1.2-2.9 2.3-5.9 3.3-8.9C152.5 406.2 229.5 464 320 464s167.5-57.8 196.1-138.5zM320 48c-101.4 0-185.8 72.5-204.3 168.5c-6.7-3.1-14.3-4.3-22.3-3.1c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-8-1.2-15.7 .1-22.3 3.1C505.8 120.5 421.4 48 320 48zM78.5 341.1C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7zm483 0c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zM439 336.5C414.4 374.6 370.3 400 319.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5c18.7-4.4 35.9 12 25.5 28.1zM281.6 228.8l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm160 0l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'far',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M375.8 275.2c-16.4-7-35.4-2.4-46.7 11.4l-33.2 40.6c-46-26.7-84.4-65.1-111.1-111.1L225.3 183c13.8-11.3 18.5-30.3 11.4-46.7l-48-112C181.2 6.7 162.3-3.1 143.6 .9l-112 24C13.2 28.8 0 45.1 0 64v0C0 295.2 175.2 485.6 400.1 509.5c9.8 1 19.6 1.8 29.6 2.2c0 0 0 0 0 0c0 0 .1 0 .1 0c6.1 .2 12.1 .4 18.2 .4l0 0c18.9 0 35.2-13.2 39.1-31.6l24-112c4-18.7-5.8-37.6-23.4-45.1l-112-48zM441.5 464C225.8 460.5 51.5 286.2 48.1 70.5l99.2-21.3 43 100.4L154.4 179c-18.2 14.9-22.9 40.8-11.1 61.2c30.9 53.3 75.3 97.7 128.6 128.6c20.4 11.8 46.3 7.1 61.2-11.1l29.4-35.9 100.4 43L441.5 464zM48 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s0 0 0 0\"]\n};\nvar faComputerMouseScrollwheel = {\n prefix: 'far',\n iconName: 'computer-mouse-scrollwheel',\n icon: [384, 512, [\"mouse-alt\"], \"f8cd\", \"M336 352V160c0-61.9-50.1-112-112-112H160C98.1 48 48 98.1 48 160V352c0 61.9 50.1 112 112 112h64c61.9 0 112-50.1 112-112zM0 160C0 71.6 71.6 0 160 0h64c88.4 0 160 71.6 160 160V352c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V160zM192 96c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\"]\n};\nvar faMouseAlt = faComputerMouseScrollwheel;\nvar faCalendarXmark = {\n prefix: 'far',\n iconName: 'calendar-xmark',\n icon: [512, 512, [\"calendar-times\"], \"f273\", \"M160 0c13.3 0 24 10.7 24 24V64H328V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192 144 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM432 192H80V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V192zm-95 89l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'far',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M192 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96A72 72 0 1 0 192 0a72 72 0 1 0 0 144zm-.2 32c-41.6 0-80-22.4-100.6-58.5L76.9 92.2c-6.5-11.5-21.2-15.6-32.7-9s-15.6 21.2-9 32.7l14.4 25.3c15 26.5 36.8 47.7 62.5 62.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h64V488c0 13.3 10.7 24 24 24s24-10.7 24-24V203c25-14 46.2-34.6 61.1-60.2l15.6-26.7c6.7-11.4 2.8-26.1-8.6-32.8s-26.1-2.8-32.8 8.6l-15.6 26.7C271 154.2 232.9 176 191.8 176zM224 336H160V220.9c10.4 2.1 21 3.1 31.8 3.1c10.9 0 21.7-1.1 32.2-3.2V336z\"]\n};\nvar faTableLayout = {\n prefix: 'far',\n iconName: 'table-layout',\n icon: [512, 512, [], \"e290\", \"M448 80c8.8 0 16 7.2 16 16v64H48V96c0-8.8 7.2-16 16-16H448zM48 416V208h96V432H64c-8.8 0-16-7.2-16-16zm144 16V208H464V416c0 8.8-7.2 16-16 16H192zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faNarwhal = {\n prefix: 'far',\n iconName: 'narwhal',\n icon: [640, 512, [], \"f6fe\", \"M639.4 20.5c2.3-7.7-1.6-16-9-19.2s-16-.4-20.1 6.5L516 167.3c-15.7-4.7-32.3-7.3-49.6-7.3c-53.1 0-104.4 19.5-144.1 54.8L177.9 343.2c-6.4 5.7-14.6 8.8-23.1 8.8c-19.2 0-34.8-15.6-34.8-34.8V304 258.7l37.9-26.5c21.4-15 34.1-39.4 34.1-65.5l0-54.7c0-6-3.3-11.4-8.6-14.2s-11.7-2.3-16.6 1.1L96 148.5 25.2 98.9c-4.9-3.4-11.3-3.8-16.6-1.1S0 106 0 112l0 54.7c0 26.1 12.7 50.6 34.1 65.5L72 258.7V304v13.2V352c0 88.4 71.6 160 160 160H464c97.2 0 176-80 176-177.2c0-50.1-21.2-95.5-55.1-127.5L639.4 20.5zM232 464c-46.3 0-86-28.1-103.1-68.1c8.1 2.7 16.8 4.1 25.9 4.1c20.3 0 39.8-7.4 55-20.9L354.2 250.7c30.9-27.5 70.9-42.7 112.2-42.7C535.4 208 592 265 592 334.8C592 405.9 534.3 464 464 464H232zM496 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRampLoading = {\n prefix: 'far',\n iconName: 'ramp-loading',\n icon: [448, 512, [], \"f4d4\", \"M96 48H352c8.8 0 16 7.2 16 16V312.4l48 88V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V400.4l48-88V64c0-8.8 7.2-16 16-16zm67 240c-20.5 0-39.3 11.2-49.2 29.2l-74 135.7C25.3 479.5 44.6 512 75 512H373c30.4 0 49.7-32.5 35.1-59.2l-74-135.7c-9.8-18-28.7-29.2-49.2-29.2H163zm-7 52.2c1.4-2.6 4.1-4.2 7-4.2H285c2.9 0 5.6 1.6 7 4.2L359.6 464H88.4L156 340.2z\"]\n};\nvar faCalendarCirclePlus = {\n prefix: 'far',\n iconName: 'calendar-circle-plus',\n icon: [576, 512, [], \"e470\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faToothbrush = {\n prefix: 'far',\n iconName: 'toothbrush',\n icon: [576, 512, [129701], \"f635\", \"M64 176c-8.8 0-16-7.2-16-16s7.2-16 16-16H288c29.4 0 55.1-11.9 71-36.1c4.3-6.5 7.4-13.2 9.7-19.9c6.4 2.7 12 6 16.6 9.7c9.5 7.7 14.6 17 14.6 30.3c0 26.5-21.5 48-48 48H64zM0 160c0 35.3 28.7 64 64 64H352c53 0 96-43 96-96c0-58.5-51.6-89.9-104-95.2c-8.8-.9-15.8 6.4-16.4 15.2c-1.5 25.3-8.4 48-39.6 48H64C28.7 96 0 124.7 0 160zM80 280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56h80 80 80 80H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H320V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H240V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H160V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H80V280z\"]\n};\nvar faBorderInner = {\n prefix: 'far',\n iconName: 'border-inner',\n icon: [448, 512, [], \"f84e\", \"M416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM384 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM384 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zM32 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm32 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 64c-13.3 0-24-10.7-24-24l0-176L24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l176 0 0-176c0-13.3 10.7-24 24-24s24 10.7 24 24l0 176 176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-176 0 0 176c0 13.3-10.7 24-24 24z\"]\n};\nvar faPawClaws = {\n prefix: 'far',\n iconName: 'paw-claws',\n icon: [512, 512, [], \"f702\", \"M178.1 15.3L138.9 58.4C121.6 77.4 112 102.3 112 128h0c-.2 11.3 1.5 23.2 5.5 35.1c14.3 42.9 52.1 69.1 84.4 58.5s46.9-53.9 32.6-96.8C226.3 100.2 210.3 81 192 71.2V20.7c0-7.3-9-10.8-13.9-5.4zm132 206.3c32.3 10.6 70.1-15.6 84.4-58.5c4-11.9 5.7-23.9 5.5-35.1h0c0-25.7-9.6-50.6-26.9-69.6L333.9 15.3C329 9.9 320 13.4 320 20.7V71.2c-18.3 9.8-34.3 28.9-42.5 53.6c-14.3 42.9 .3 86.2 32.6 96.8zm-209.7 8.9C91.1 214.7 77.9 203 64 196.8V152.6c0-7.7-9.9-11-14.5-4.7L12.2 199.2C4.3 210.1 0 223.3 0 236.8V240H0c-.1 13.3 3.7 27.8 11.6 41.4c18.9 32.4 54 47.3 78.5 33.3s29.1-51.7 10.2-84.1zM256 304c20.6 0 96.1 15.4 141.7 137.7c1.4 3.7 2.3 8.5 2.3 14.2c0 4.5-3.6 8.1-8.1 8.1h-3.4c-2.2 0-4.3-.4-6.3-1.2l-72.7-29.1c-34.3-13.7-72.6-13.7-107 0l-72.7 29.1c-2 .8-4.2 1.2-6.3 1.2h-3.4c-4.5 0-8.1-3.6-8.1-8.1c0-5.7 .9-10.4 2.3-14.2C159.9 319.4 235.4 304 256 304zm0-48c-41.2 0-134.3 28.4-186.7 169c-3.7 9.9-5.3 20.4-5.3 31c0 31 25.1 56.1 56.1 56.1h3.4c8.3 0 16.5-1.6 24.2-4.7l72.7-29.1c22.9-9.2 48.4-9.2 71.3 0l72.7 29.1c7.7 3.1 15.9 4.7 24.2 4.7h3.4c31 0 56.1-25.1 56.1-56.1c0-10.5-1.6-21.1-5.3-31C390.3 284.4 297.2 256 256 256zm165.8 58.7c24.5 14 59.7-.9 78.5-33.3c7.9-13.6 11.7-28.1 11.6-41.4h0v-3.2c0-13.5-4.3-26.7-12.2-37.6l-37.3-51.3c-4.6-6.3-14.5-3-14.5 4.7v44.2c-13.9 6.1-27.1 17.8-36.4 33.7c-18.9 32.4-14.3 70.1 10.2 84.1z\"]\n};\nvar faKiwiFruit = {\n prefix: 'far',\n iconName: 'kiwi-fruit',\n icon: [448, 512, [], \"e30c\", \"M399.8 265.3C358.7 298.6 295.3 320 224 320s-134.7-21.4-175.8-54.7C53.1 358.2 129.9 432 224 432s170.9-73.8 175.8-166.7zM448 176v80c0 123.7-100.3 224-224 224S0 379.7 0 256V176C0 96.5 100.3 32 224 32s224 64.5 224 144zM224 64c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zM64 176c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm256 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm-96 56c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V248c0-8.8-7.2-16-16-16zM139.3 92.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm192 0c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6zm-176 150.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16zm160-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zM280 176c0-13.3-25.1-24-56-24s-56 10.7-56 24s25.1 24 56 24s56-10.7 56-24z\"]\n};\nvar faTrafficLightSlow = {\n prefix: 'far',\n iconName: 'traffic-light-slow',\n icon: [320, 512, [], \"f639\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM144 376a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm0-120a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM144 136a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faRectangleCode = {\n prefix: 'far',\n iconName: 'rectangle-code',\n icon: [512, 512, [], \"e322\", \"M448 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM287 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0zM225 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'far',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zM224 72c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 160.1 129 200 96 200c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 294.5 208 311 208 344c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 271.9 319 232 352 232c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 137.5 240 121 240 88c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faKeyboardBrightness = {\n prefix: 'far',\n iconName: 'keyboard-brightness',\n icon: [640, 512, [], \"e1c0\", \"M129 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80zm167 33c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V200zm135 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-80 80zM0 392c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm216-24c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216zm320 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536z\"]\n};\nvar faBooksMedical = {\n prefix: 'far',\n iconName: 'books-medical',\n icon: [576, 512, [], \"f7e8\", \"M112 416v48h64V416H112zm88 89.6c-7.1 4.1-15.3 6.4-24 6.4H112c-26.5 0-48-21.5-48-48V416 392v-8H176V368 320h48v48h64V144H224v48H176V144 128H64v-8V96 48C64 21.5 85.5 0 112 0h64c8.7 0 16.9 2.3 24 6.4C207.1 2.3 215.3 0 224 0h64c20.6 0 38.1 12.9 45 31.1c5.6-6.1 12.9-10.7 21.4-13L413.9 1.6c24.7-6.8 50.1 8.3 56.7 33.8l18 69.2 6 23.2 61.8 238.3 6 23.2 11.9 46c6.6 25.5-8 51.7-32.7 58.5l-59.6 16.5c-24.7 6.8-50.1-8.3-56.7-33.8l-18-69.2-6-23.2L339.6 145.9 336 132.2V144 368v24 24 48c0 26.5-21.5 48-48 48H224c-8.7 0-16.9-2.3-24-6.4zM224 464h64V416H224v48zM176 48H112V96h64V48zm48 48h64V48H224V96zM504.1 355.7l-55.8-215-56.5 15.6 55.8 215 56.5-15.6zm-44.4 62.1l11.9 45.7L528 447.9c0-.1 0-.2 0-.3l0-.1-11.7-45.2-56.5 15.6zm-79.9-308l56.5-15.6L424.4 48.5 368 64.1c0 .1 0 .2 0 .4l11.7 45.2zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H128v48c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V288H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16H64V176z\"]\n};\nvar faLightbulbSlash = {\n prefix: 'far',\n iconName: 'lightbulb-slash',\n icon: [640, 512, [], \"f673\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-195-152.8c4.4-6.2 8.9-12.4 13.4-18.6l0 0 0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0C249.7 0 189.1 41.2 160.8 100.8L38.8 5.1zM200 131.4C218.1 82.7 265 48 320 48c70.7 0 128 57.3 128 128c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8.1 11.3-12.7 17.7l0 0 0 0 0 0 0 0 0 0c-4.6 6.3-9.5 13-14.4 20L268.9 185.5c1.9-2.6 3.1-5.9 3.1-9.5c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-40 0-73.1 29.3-79 67.6l-41-32.1zM400 424.9L388.7 416H240v16c0 44.2 35.8 80 80 80s80-35.8 80-80v-7.1zM152.4 229.8c5.4 16.8 13.2 32.4 23 46.6c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-2-3.7-4.2-7.5-6.5-11.2L152.4 229.8z\"]\n};\nvar faHouseBlank = {\n prefix: 'far',\n iconName: 'house-blank',\n icon: [576, 512, [\"home-blank\"], \"e487\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\"]\n};\nvar faHomeBlank = faHouseBlank;\nvar faSquare5 = {\n prefix: 'far',\n iconName: 'square-5',\n icon: [448, 512, [], \"e25a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm176 32H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H196l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88c2.1-11.4 12-19.7 23.6-19.7z\"]\n};\nvar faSquareHeart = {\n prefix: 'far',\n iconName: 'square-heart',\n icon: [448, 512, [128159, \"heart-square\"], \"f4c8\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM335.7 265.6l-91.5 92.9c-5.6 5.7-13 8.5-20.3 8.5c-7.3 0-14.6-2.9-20.1-8.5l-91.5-92.9c-26.4-26.8-26.4-70.4 0-97.2s69.3-26.8 95.8 0l16 16.2 16-16.2c26.4-26.8 69.3-26.8 95.8 0s26.4 70.4 0 97.2z\"]\n};\nvar faHeartSquare = faSquareHeart;\nvar faPuzzle = {\n prefix: 'far',\n iconName: 'puzzle',\n icon: [512, 512, [], \"e443\", \"M448 0c35.3 0 64 28.7 64 64V192c0 8.8-7.2 16-16 16H444c-6.6 0-12 5.4-12 12v4c0 17.7-14.3 32-32 32s-32-14.3-32-32v-4c0-6.6-5.4-12-12-12l-36 0c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-8.8 0-16-7.2-16-16V16c0-8.8 7.2-16 16-16H448zM0 240V128C0 92.7 28.7 64 64 64H208c8.8 0 16 7.2 16 16v52c0 6.6 5.4 12 12 12h4c17.7 0 32 14.3 32 32s-14.3 32-32 32h-4c-6.6 0-12 5.4-12 12v52c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v16c0 8.8-7.2 16-16 16H48V440c0 13.3 10.7 24 24 24H224V428c0-6.6-5.4-12-12-12h-4c-17.7 0-32-14.3-32-32s14.3-32 32-32h4c6.6 0 12-5.4 12-12V304c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v16c0 17.7 14.3 32 32 32s32-14.3 32-32V304c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16V448c0 35.3-28.7 64-64 64H256 240 72c-39.8 0-72-32.2-72-72V272 240z\"]\n};\nvar faUserGear = {\n prefix: 'far',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H336.6c3.3 4.2 6.7 8.2 10.3 12c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-3.6 2.3-7 5.1-9.9 8.4c-14.4-5.5-30.1-8.5-46.5-8.5H178.3c-65.7 0-120.1 48.7-129 112zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faUserCog = faUserGear;\nvar faPipeCircleCheck = {\n prefix: 'far',\n iconName: 'pipe-circle-check',\n icon: [640, 512, [], \"e436\", \"M24 96c13.3 0 24 10.7 24 24v8H320 464v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v32 40.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V176H320 48V336H322.9c-1.9 10.4-2.9 21.1-2.9 32c0 5.4 .2 10.7 .7 16H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V360 152 120c0-13.3 10.7-24 24-24zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm188.7-43.3L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faArrowUp19 = {\n prefix: 'far',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M456 56V176h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 384c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V89.3l-16.4 5.5C379 99 365.4 92.2 361.2 79.6S363.8 53.4 376.4 49.2l48-16c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM424 304a40 40 0 1 0 0 80 40 40 0 1 0 0-80zM406.1 430.2c-40-8.3-70.1-43.7-70.1-86.2c0-48.6 39.4-88 88-88s88 39.4 88 88c0 21.1-7.3 41.5-20.6 57.8l-56.8 69.4c-8.4 10.3-23.5 11.8-33.8 3.4s-11.8-23.5-3.4-33.8l8.7-10.6z\"]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faOctagonExclamation = {\n prefix: 'far',\n iconName: 'octagon-exclamation',\n icon: [512, 512, [], \"e204\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faDialLow = {\n prefix: 'far',\n iconName: 'dial-low',\n icon: [576, 512, [], \"e15d\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 336c-53.6 0-98.4-37.7-109.4-88H288c13.3 0 24-10.7 24-24s-10.7-24-24-24H178.6c11-50.3 55.8-88 109.4-88c61.9 0 112 50.1 112 112s-50.1 112-112 112zM128 288a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm448 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDoorClosed = {\n prefix: 'far',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M416 48c8.8 0 16 7.2 16 16V464H144V64c0-8.8 7.2-16 16-16H416zm64 416V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H96h48H432h48 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H480zM368 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faLaptopMobile = {\n prefix: 'far',\n iconName: 'laptop-mobile',\n icon: [640, 512, [\"phone-laptop\"], \"f87a\", \"M128 48H448c8.8 0 16 7.2 16 16V96h48V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V320H16c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48H352V320H112V64c0-8.8 7.2-16 16-16zM384 176V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48zm48 0H592V464H432V176z\"]\n};\nvar faPhoneLaptop = faLaptopMobile;\nvar faConveyorBeltBoxes = {\n prefix: 'far',\n iconName: 'conveyor-belt-boxes',\n icon: [640, 512, [\"conveyor-belt-alt\"], \"f46f\", \"M304 48V208H144V48H304zM144 0C117.5 0 96 21.5 96 48V208c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H144zM528 112v96H432V112h96zM432 64c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H432zm96 272c35.3 0 64 28.7 64 64s-28.7 64-64 64H112c-35.3 0-64-28.7-64-64s28.7-64 64-64H528zM112 288C50.1 288 0 338.1 0 400s50.1 112 112 112H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H112zm48 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faConveyorBeltAlt = faConveyorBeltBoxes;\nvar faShieldVirus = {\n prefix: 'far',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM256 96c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C177.5 184.1 161 224 128 224c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C200.1 318.5 240 335 240 368c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C334.5 295.9 351 256 384 256c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C311.9 161.5 272 145 272 112c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faStarfighterTwinIonEngineAdvanced = {\n prefix: 'far',\n iconName: 'starfighter-twin-ion-engine-advanced',\n icon: [640, 512, [\"starfighter-alt-advanced\"], \"e28e\", \"M118.5 7.6c9-9.7 24.2-10.2 33.9-1.2s10.2 24.2 1.2 33.9L50.2 151.2c-1.4 1.5-2.2 3.4-2.2 5.5V195l137.9-26.3C214.4 124.9 263.8 96 320 96s105.6 28.9 134.1 72.7L592 195V156.6c0-2-.8-4-2.2-5.5L486.5 40.4c-9-9.7-8.5-24.9 1.2-33.9s24.9-8.5 33.9 1.2L624.9 118.4c9.7 10.4 15.1 24 15.1 38.2v47.5V224v64 19.9 47.5c0 14.2-5.4 27.8-15.1 38.2L521.5 504.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9L589.8 360.8c1.4-1.5 2.2-3.4 2.2-5.5V317L454.1 343.3C425.6 387.1 376.2 416 320 416s-105.6-28.9-134.1-72.7L48 317v38.4c0 2 .8 4 2.2 5.5L153.5 471.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2L15.1 393.6C5.4 383.2 0 369.6 0 355.4V307.9 288 224 204.1 156.6c0-14.2 5.4-27.8 15.1-38.2L118.5 7.6zM48 268.1l115.7 22c-2.4-11-3.7-22.4-3.7-34.2s1.3-23.2 3.7-34.2L48 243.9v24.3zm428.3-46.3c2.4 11 3.7 22.4 3.7 34.2s-1.3 23.2-3.7 34.2l115.7-22V243.9l-115.7-22zM304 334.4c-10.2-2.1-19.7-6.1-28.1-11.7l-23 23c14.7 11 32.1 18.4 51.1 21.2V334.4zm-50.7-34.3c-5.6-8.4-9.6-17.9-11.7-28.1H209.1c2.7 19 10.2 36.4 21.2 51.1l23-23zM241.6 240c2.1-10.2 6.1-19.7 11.7-28.1l-23-23c-11 14.7-18.5 32.1-21.2 51.1h32.5zm34.3-50.7c8.4-5.6 17.9-9.6 28.1-11.7V145.1c-19 2.7-36.4 10.2-51.1 21.2l23 23zM336 366.9c19-2.7 36.4-10.2 51.1-21.2l-23-23c-8.4 5.6-17.9 9.6-28.1 11.7v32.5zM430.9 272H398.4c-2.1 10.2-6.1 19.7-11.7 28.1l23 23c11-14.7 18.4-32.1 21.2-51.1zm-32.5-32h32.5c-2.7-19-10.2-36.4-21.2-51.1l-23 23c5.6 8.4 9.6 17.9 11.7 28.1zM336 145.1v32.5c10.2 2.1 19.7 6.1 28.1 11.7l23-23c-14.7-11-32.1-18.4-51.1-21.2zM352 256c0-8.8-3.5-16.7-9.2-22.5l-.3-.3c-5.7-5.7-13.6-9.2-22.2-9.2h-.5c-8.7 .1-16.5 3.6-22.2 9.2l-.3 .3c-5.7 5.8-9.2 13.7-9.2 22.5c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faStarfighterAltAdvanced = faStarfighterTwinIonEngineAdvanced;\nvar faDiceSix = {\n prefix: 'far',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faStarfighterTwinIonEngine = {\n prefix: 'far',\n iconName: 'starfighter-twin-ion-engine',\n icon: [576, 512, [\"starfighter-alt\"], \"e038\", \"M24 32c13.3 0 24 10.7 24 24V193.7l105.8-24.9C182.4 125 231.8 96 288 96s105.6 29 134.2 72.8L528 193.7V56c0-13.3 10.7-24 24-24s24 10.7 24 24V205v19 64 19V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V318.3L422.2 343.2C393.6 387 344.2 416 288 416s-105.6-29-134.2-72.8L48 318.3V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V307 288 224 205 56C0 42.7 10.7 32 24 32zM444.7 288.6L528 269V243l-83.3-19.6c2.2 10.5 3.3 21.4 3.3 32.6s-1.1 22.1-3.3 32.6zM48 269l83.3 19.6c-2.2-10.5-3.3-21.4-3.3-32.6s1.1-22.1 3.3-32.6L48 243v26zm224 97.9V334.4c-10.2-2.1-19.7-6.1-28.1-11.7l-23 23c14.7 11 32.1 18.4 51.1 21.2zm-73.7-43.8l23-23c-5.6-8.4-9.6-17.9-11.7-28.1H177.1c2.7 19 10.2 36.4 21.2 51.1zM177.1 240h32.5c2.1-10.2 6.1-19.7 11.7-28.1l-23-23c-11 14.7-18.5 32.1-21.2 51.1zm43.8-73.7l23 23c8.4-5.6 17.9-9.6 28.1-11.7V145.1c-19 2.7-36.4 10.2-51.1 21.2zM355.1 345.7l-23-23c-8.4 5.6-17.9 9.6-28.1 11.7v32.5c19-2.7 36.4-10.2 51.1-21.2zm22.6-22.6c11-14.7 18.4-32.1 21.2-51.1H366.4c-2.1 10.2-6.1 19.7-11.7 28.1l23 23zm-23-111.2c5.6 8.4 9.6 17.9 11.7 28.1h32.5c-2.7-19-10.2-36.4-21.2-51.1l-23 23zm.3-45.6c-14.7-11-32.1-18.4-51.1-21.2v32.5c10.2 2.1 19.7 6.1 28.1 11.7l23-23zM310.6 278.6c5.8-5.8 9.4-13.8 9.4-22.6c0-8.8-3.5-16.7-9.2-22.5l-.3-.3c-5.7-5.7-13.6-9.2-22.3-9.2h-.5c-8.7 .1-16.5 3.6-22.3 9.2l-.3 .3c-5.7 5.8-9.2 13.7-9.2 22.5c0 17.7 14.3 32 32 32c8.8 0 16.8-3.6 22.6-9.4z\"]\n};\nvar faStarfighterAlt = faStarfighterTwinIonEngine;\nvar faRocketLaunch = {\n prefix: 'far',\n iconName: 'rocket-launch',\n icon: [512, 512, [128640], \"e027\", \"M197.9 253.9c12.9 6.4 24.7 14.8 35 25.2s18.8 22.2 25.2 35c105.8-30 156.7-79.5 181.5-126c25-46.8 27.3-97.6 22-137.7c-40.1-5.3-90.9-3-137.7 22c-46.5 24.8-96 75.8-126 181.5zM384 312.1v82.2c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9l0-114.7c0-22.6-9-44.3-25-60.3s-37.7-25-60.3-25H24c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3h82.2C281.7-3.8 408.8-8.5 483.9 5.3c11.6 2.1 20.7 11.2 22.8 22.8c13.8 75.1 9.1 202.2-122.7 284zM28.3 511.9c-16 .4-28.6-12.2-28.2-28.2C1 446 7.7 379.7 42 345.5c34.4-34.4 90.1-34.4 124.5 0s34.4 90.1 0 124.5C132.3 504.3 66 511 28.3 511.9zm50.2-64.5c12.8-.7 31.2-3.7 41.3-13.7c11.4-11.4 11.4-30 0-41.4s-30-11.4-41.4 0c-10.1 10.1-13 28.5-13.7 41.3c-.5 8 5.9 14.3 13.9 13.9zM328 144a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faMosquitoNet = {\n prefix: 'far',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4V242.2L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5V137.9c0-14.9 10.1-27.3 23.8-31V63.7c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2V107c13.7 3.6 23.8 16.1 23.8 31v22.6l45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-13.3 0-25.3 5.4-34 14.1l-11.7-1.7 7.5 6.5c-3.4 4.5-6.1 9.6-7.8 15.2c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35v23.1l32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6v50c0 17.7-14.3 32-32 32s-32-14.3-32-32v-50l-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM105.2 310c.8-.8 1.6-1.5 2.4-2.3l82-71.4L78.5 252.9c-.4 .1-.8 .1-1.1 .2C60.6 255.2 48 269.5 48 286.3c0 29.8 36.1 44.8 57.2 23.7zM512 256c8.8 0 16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H528v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H448v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V400H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V320H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16zm16 112h48V320H528v48zm0 80h48V400H528v48zM448 320v48h48V320H448zm0 80v48h48V400H448z\"]\n};\nvar faVentDamper = {\n prefix: 'far',\n iconName: 'vent-damper',\n icon: [640, 512, [], \"e465\", \"M512 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H512zM128 64c-35.3 0-64 28.7-64 64v32H32c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H64v32c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V352h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H576V128c0-35.3-28.7-64-64-64H128zm56 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBridgeWater = {\n prefix: 'far',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M48 112v50.8c45.9 10.9 80 52.2 80 101.5V361c-14.8-8.5-32-10.6-48-6.5V264.3C80 233.2 54.8 208 23.7 208C10.6 208 0 197.4 0 184.3V96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v88.3c0 13.1-10.6 23.7-23.7 23.7c-31.1 0-56.3 25.2-56.3 56.3v90.2c-16-4.1-33.2-2-48 6.6V264.3c0-49.2 34.1-90.5 80-101.5V112H48zM192 384.5c-5.2 0-10.5-.6-16-1.7V272c0-61.9 50.1-112 112-112s112 50.1 112 112V382.8c-5.5 1.1-10.8 1.7-16 1.7c-10.4 0-21.3-2.2-32-6.1V272c0-35.3-28.7-64-64-64s-64 28.7-64 64V378.4c-10.3 3.8-21.1 6.1-32 6.1zm-80.1 13.6c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faBanBug = {\n prefix: 'far',\n iconName: 'ban-bug',\n icon: [512, 512, [\"debug\"], \"f7f9\", \"M256 464C141.1 464 48 370.9 48 256c0-48.8 16.8-93.7 44.9-129.1L385.1 419.1C349.7 447.2 304.8 464 256 464zm78.9-163c.2-1.1 .3-2.1 .5-3.2l29.5 5.9c8.7 1.7 17.1-3.9 18.8-12.6s-3.9-17.1-12.6-18.8l-35.1-7V246.7l35.1-7c8.7-1.7 14.3-10.2 12.6-18.8s-10.2-14.3-18.8-12.6l-29.5 5.9c-1.1-9.2-3.8-17.8-7.7-25.8l24.5-14.7c7.6-4.5 10-14.4 5.5-22s-14.4-10-22-5.5L307.8 163c-14-11.9-32.1-19-51.8-19c-21.6 0-41.2 8.6-55.6 22.5L126.9 92.9C162.3 64.8 207.2 48 256 48c114.9 0 208 93.1 208 208c0 48.8-16.8 93.7-44.9 129.1L334.9 301zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM140.9 272.3c-8.7 1.7-14.3 10.2-12.6 18.8s10.2 14.3 18.8 12.6l29.5-5.9c1.1 9.2 3.8 17.8 7.7 25.8l-24.5 14.7c-7.6 4.5-10 14.4-5.5 22s14.4 10 22 5.5L204.2 349c14 11.9 32.1 19 51.8 19c6.6 0 13-.8 19.2-2.3L175 265.5l-34.1 6.8z\"]\n};\nvar faDebug = faBanBug;\nvar faPersonBooth = {\n prefix: 'far',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M299.2 48l75.1 191.2c2.7 6.8 2.1 14.4-1.5 20.7L316.8 358c-3.1 5.5-4.8 11.7-4.8 18c0 13.3 10.7 24 24 24c8.3 0 15.7-4.2 20-10.7c4.4-6.7 11.9-10.7 20-10.7s15.5 4 20 10.7c4.3 6.5 11.7 10.7 20 10.7c8.6 0 16.2-4.5 20.5-11.5c4.3-6.9 11.8-11.2 19.9-11.4s15.8 3.8 20.4 10.5c5.1 7.5 13.6 12.3 23.2 12.3c13.2 0 24.3-9.2 27.3-21.5c.2-.9 .5-1.7 .7-2.5V372 56c0-4.4-3.6-8-8-8H299.2zM528 442.7c-8.7 3.4-18.1 5.3-28 5.3c-15.8 0-30.5-4.8-42.6-13.1c-11.7 8.2-26 13.1-41.4 13.1c-14.8 0-28.6-4.5-40-12.1c-11.4 7.7-25.2 12.1-40 12.1c-39.8 0-72-32.2-72-72c0-14.7 3.8-29.1 11.1-41.8l50.4-88.1L247.6 48c-4.3 .2-7.6 3.7-7.6 8V208H192V56c0-30.9 25.1-56 56-56h16H520c30.9 0 56 25.1 56 56V372v12V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V442.7zM192 320h48V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V320zM64 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM61.2 208c-7.3 0-13.2 5.9-13.2 13.2v42.2l0 .6v13c.1 1.7 .7 3.4 1.8 4.7L72 309V209.9c-3.4-1.2-7.1-1.9-10.8-1.9zM0 276.6V221.2C0 187.4 27.4 160 61.2 160c24.2 0 47.2 11 62.3 29.9l40 50.1H216c13.3 0 24 10.7 24 24s-10.7 24-24 24H159.7c-12.2 0-23.6-5.5-31.2-15L120 262.4V368.1l23 28.4c5.8 7.1 9 16 9 25.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V424.5L48 355.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V277.5l0-.9z\"]\n};\nvar faTextWidth = {\n prefix: 'far',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M48 112l0-32 152 0 0 160-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-160 152 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-22.1-17.9-40-40-40L40 32C17.9 32 0 49.9 0 72l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24zM441 401c9.4-9.4 9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l23 23L81.9 360l23-23c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 367c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-23-23 284.1 0-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64z\"]\n};\nvar faGarageCar = {\n prefix: 'far',\n iconName: 'garage-car',\n icon: [640, 512, [], \"e00a\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 240V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H144zm127.9 85.9l-7 26.1H375l-7.5-26.2c-1-3.4-4.1-5.8-7.7-5.8H279.6c-3.6 0-6.8 2.4-7.7 5.9zm-59.7 37l4.6-17.2 8.7-32.3c6.6-24.4 28.8-41.4 54.1-41.4h80.2c25 0 47 16.6 53.8 40.6l9.4 32.8 5.1 17.8C445 374.7 456 394.1 456 416v72c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H232v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V416c0-22.1 11.2-41.5 28.2-53zM408 416c0-8.8-7.2-16-16-16H248c-8.8 0-16 7.2-16 16v16H408V416z\"]\n};\nvar faSquareKanban = {\n prefix: 'far',\n iconName: 'square-kanban',\n icon: [448, 512, [], \"e488\", \"M64 432c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zM128 288c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24zm168 40c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V328zm-72-72c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24z\"]\n};\nvar faHatWizard = {\n prefix: 'far',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M327.7 227.6c-5.1-11.5-7.7-23.9-7.7-36.5c0-10.1 1.7-20.1 5-29.7l27.7-79.1-98.3 56.2c-26.6 15.2-47.7 38.5-60.1 66.5L100.5 416H48L150.4 185.5c16.6-37.4 44.7-68.4 80.2-88.7L376.9 13.2l.1 0 2.1-1.2 16.6-9.5C398.5 .9 401.7 0 405 0c10.5 0 19 8.5 19 19v1.5c0 2.3-.4 4.6-1.2 6.8l-5 14.2-1.5 4.2-.1 .3-46 131.3c-1.6 4.4-2.4 9.1-2.4 13.8c0 5.9 1.2 11.7 3.6 17l-43.9 19.5zm43.9-19.5L464 416H411.5L327.7 227.6l43.9-19.5zM246.2 416H201.8l-6.5-19.4-40.4-13.5C148.4 381 144 374.9 144 368s4.4-13 10.9-15.2l40.4-13.5 13.5-40.4c2.2-6.5 8.3-10.9 15.2-10.9s13 4.4 15.2 10.9l13.5 40.4 40.4 13.5c6.5 2.2 10.9 8.3 10.9 15.2s-4.4 13-10.9 15.2l-40.4 13.5L246.2 416zM0 480c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM264 168c3.4 0 6.5 2.2 7.6 5.5l6.7 20.2 20.2 6.7c3.3 1.1 5.5 4.1 5.5 7.6s-2.2 6.5-5.5 7.6l-20.2 6.7-6.7 20.2c-1.1 3.3-4.1 5.5-7.6 5.5s-6.5-2.2-7.6-5.5l-6.7-20.2-20.2-6.7c-3.3-1.1-5.5-4.1-5.5-7.6s2.2-6.5 5.5-7.6l20.2-6.7 6.7-20.2c1.1-3.3 4.1-5.5 7.6-5.5z\"]\n};\nvar faPenFancy = {\n prefix: 'far',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M399.4 59.9c7.1-7.6 17-11.9 27.3-11.9C447.3 48 464 64.7 464 85.3c0 10.4-4.3 20.2-11.9 27.3l-195.5 182-39.2-39.2 182-195.5zM426.7 0C403 0 380.4 9.8 364.2 27.2L170.8 234.9 97.2 257.6c-22.8 7-40.6 24.9-47.6 47.6L1.9 460.1c-9.4 30.7 19.3 59.4 50 50l154.8-47.6c22.8-7 40.6-24.9 47.6-47.6l22.6-73.6L484.8 147.8C502.2 131.6 512 109 512 85.3C512 38.2 473.8 0 426.7 0zM228.8 334.8l-20.3 65.9c-2.3 7.6-8.3 13.5-15.9 15.9L85 449.7 134.7 400c.4 0 .9 0 1.3 0c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24c0 .4 0 .9 0 1.3L62.3 427 95.5 319.3c2.3-7.6 8.3-13.5 15.9-15.9l65.9-20.3 51.6 51.6z\"]\n};\nvar faCoffeePot = {\n prefix: 'far',\n iconName: 'coffee-pot',\n icon: [512, 512, [], \"e002\", \"M88 80c-22.1 0-40 17.9-40 40v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V120C0 71.4 39.4 32 88 32h34.4H192 453.6C468.2 32 480 43.8 480 58.4c0 3.7-.8 7.3-2.3 10.7l-48.4 109c50 34.7 82.7 92.5 82.7 157.9v8c0 55.5-34.6 99.4-55.9 121.2C446.2 475.3 432.3 480 418 480H158c-14.2 0-28.1-4.7-38.1-14.8C98.6 443.4 64 399.5 64 344v-8c0-65.4 32.7-123.2 82.7-157.9L103.1 80H88zm296.8 80l35.6-80H192 155.6l35.6 80H384.8zm1.2 48H190c-41.8 21.6-71.7 63.1-77.1 112H463.1c-5.4-48.9-35.3-90.4-77.1-112zm32.2 224H157.7c.1 0 .1 0 .2 0H418c.1 0 .1 0 .2 0z\"]\n};\nvar faMouseField = {\n prefix: 'far',\n iconName: 'mouse-field',\n icon: [512, 512, [], \"e5a8\", \"M393.4 50.8C397.9 49 402.8 48 408 48c22.1 0 40 17.9 40 40c0 8.1-2.4 15.6-6.5 21.9c-10.4-5.3-21.7-9.1-33.6-11.4c-.9-17.4-6.1-33.7-14.5-47.8zm86.2 88.4C489.9 124.8 496 107.1 496 88c0-48.6-39.4-88-88-88c-18.4 0-35.5 5.7-49.6 15.3C342.5 5.6 323.9 0 304 0C246.6 0 200 46.6 200 104v3.2c0 21.2 6.4 41.3 17.7 58.1C143.2 184.4 88 252 88 332.6c0 12.7 2.8 24.7 7.9 35.4H72c-39.8 0-72 32.2-72 72s32.2 72 72 72H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24s10.7-24 24-24h99.4H344h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344.2l32-80H456c30.9 0 56-25.1 56-56v-7.7c0-32.6-12.2-62.4-32.4-85.1zM292.6 368H171.4c-19.6 0-35.4-15.9-35.4-35.4C136 263.8 191.8 208 260.6 208H280c11.4 0 21.2-8 23.5-19.2s-3.6-22.4-14.1-26.9l-7.5-3.2c-20.6-8.8-33.9-29.1-33.9-51.5V104c0-30.9 25.1-56 56-56s56 25.1 56 56v16c0 12.5 9.7 23 22.2 23.9l8 .6c41.7 3.2 73.9 38 73.9 79.8V232c0 4.4-3.6 8-8 8H360c-9.8 0-18.6 6-22.3 15.1L292.6 368zM396 216a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faPersonDigging = {\n prefix: 'far',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440.8 288c8.2 .3 15.7 4.7 19.8 11.8l104 176c4.4 7.4 4.5 16.6 .2 24.1s-12.2 12.1-20.8 12.1H288c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l16-48c3.3-9.8 12.4-16.4 22.8-16.4h35.4l20.3-29.5L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4s19.1-18 31.4-12.9L61 210.1l19.8-36.2C96.2 145.6 125.8 128 158 128h3.8c52.3 0 98.5 33.8 114.4 83.6l32.3 101.6 79 32.9 32.8-47.7c4.6-6.8 12.4-10.7 20.6-10.4zm-190.4 1l-20-62.8c-9.5-29.9-37.3-50.2-68.6-50.2H158c-14.6 0-28.1 8-35.1 20.8l-17.3 31.8L250.4 289zm188.1 67.6l-66.7 97L364.6 464H501.9L438.5 356.6zM81.4 301.1l128 54.4c8.9 3.8 14.6 12.5 14.6 22.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V393.5L87.5 355.9 47 494.7c-3.7 12.7-17 20-29.8 16.3S-2.7 494 1 481.3L49 316.5l7.6-25.9 24.9 10.6z\"]\n};\nvar faDigging = faPersonDigging;\nvar faShowerDown = {\n prefix: 'far',\n iconName: 'shower-down',\n icon: [384, 512, [\"shower-alt\"], \"e24d\", \"M192 0c13.3 0 24 10.7 24 24v9.8c77 11.6 136 78 136 158.2v16h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H328 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V192C32 111.8 91 45.4 168 33.8V24c0-13.3 10.7-24 24-24zM80 208H304V192c0-61.9-50.1-112-112-112S80 130.1 80 192v16zM52.8 295.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4zm109.8 42.4l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1zm64 128l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1zm82.2-170.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4zM98.7 465.7l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1z\"]\n};\nvar faShowerAlt = faShowerDown;\nvar faBoxCircleCheck = {\n prefix: 'far',\n iconName: 'box-circle-check',\n icon: [576, 512, [], \"e0c4\", \"M342.4 80c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80h94.4zM48 208H358.6c22.3-10.3 47.2-16 73.4-16c5.4 0 10.7 .2 16 .7v-3.1c0-9-1.9-17.8-5.5-26L400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H296.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V208zm11.6-48L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80H59.6zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBrightness = {\n prefix: 'far',\n iconName: 'brightness',\n icon: [512, 512, [], \"e0c9\", \"M232 88c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V88zm24 120a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM0 256c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm424-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H424zM256 512c13.3 0 24-10.7 24-24V424c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24zM75 75c-9.4 9.4-9.4 24.6 0 33.9l45.3 45.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L108.9 75c-9.4-9.4-24.6-9.4-33.9 0zM391.8 357.8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L403.1 437c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-45.3-45.3zM75 437c9.4 9.4 24.6 9.4 33.9 0l45.3-45.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L75 403.1c-9.4 9.4-9.4 24.6 0 33.9zM357.8 120.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L437 108.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-45.3 45.3z\"]\n};\nvar faCarSideBolt = {\n prefix: 'far',\n iconName: 'car-side-bolt',\n icon: [640, 512, [], \"e344\", \"M134.2 105.1L99.4 192H128v48H64c-8.8 0-16 7.2-16 16v96H69.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H389.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H592V320c0-44.2-35.8-80-80-80H416V192h46.1L384.5 95c-7.6-9.5-19.1-15-31.2-15H171.3c-16.4 0-31.1 10-37.1 25.1zM46.8 194.3l42.8-107C103 53.9 135.3 32 171.3 32H353.2c26.7 0 52 12.2 68.7 33L524 192.6c65.1 6 116 60.8 116 127.4v48c0 17.7-14.3 32-32 32H574.7c-7.6 45.4-47.1 80-94.7 80s-87.1-34.6-94.7-80H254.7c-7.6 45.4-47.1 80-94.7 80s-87.1-34.6-94.7-80H32c-17.7 0-32-14.3-32-32V256c0-29.4 19.8-54.2 46.8-61.7zM434.7 400a48 48 0 1 0 90.5-32 48 48 0 1 0 -90.5 32zM208 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM331.2 100.6c5.3 5.2 6.3 13.3 2.5 19.6L300.3 176H352c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L243.7 208H192c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2z\"]\n};\nvar faOrnament = {\n prefix: 'far',\n iconName: 'ornament',\n icon: [384, 512, [], \"f7b8\", \"M192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm55.4 64c5.4-9.4 8.6-20.3 8.6-32c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 11.7 3.1 22.6 8.6 32H128c-17.7 0-32 14.3-32 32v25.7C38.6 186.9 0 248.9 0 320C0 426 86 512 192 512s192-86 192-192c0-71.1-38.6-133.1-96-166.3V128c0-17.7-14.3-32-32-32h-8.6zM192 176c42.6 0 81 18.5 107.3 48H84.7c26.4-29.5 64.7-48 107.3-48zM56.2 272H327.8c5.3 15 8.2 31.2 8.2 48s-2.9 33-8.2 48H56.2c-5.3-15-8.2-31.2-8.2-48s2.9-33 8.2-48zM84.7 416H299.3C273 445.5 234.6 464 192 464s-81-18.5-107.3-48z\"]\n};\nvar faPhoneArrowDownLeft = {\n prefix: 'far',\n iconName: 'phone-arrow-down-left',\n icon: [512, 512, [\"phone-arrow-down\", \"phone-incoming\"], \"e223\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2zM505 41l-135 135H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24v54.1L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faPhoneArrowDown = faPhoneArrowDownLeft;\nvar faPhoneIncoming = faPhoneArrowDownLeft;\nvar faCloudWord = {\n prefix: 'far',\n iconName: 'cloud-word',\n icon: [640, 512, [], \"e138\", \"M410.8 134.2c-19.3 8.6-42 3.5-55.9-12.5C332.8 96.1 300.3 80 264 80c-66.3 0-120 53.7-120 120v0 0l0 .2c0 20.4-12.8 38.5-32 45.3C74.6 258.7 48 294.3 48 336c0 53 43 96 96 96H504h3.3c.6-.1 1.3-.1 1.9-.2c46.2-2.7 82.8-41 82.8-87.8c0-36-21.6-67.1-52.8-80.7c-20.1-8.8-31.6-30-28.1-51.7c.6-3.8 .9-7.7 .9-11.7c0-39.8-32.2-72-72-72c-10.5 0-20.4 2.2-29.2 6.2zM512 479.8v.2h-8H464 144C64.5 480 0 415.5 0 336c0-62.7 40.1-116 96-135.8l0-.2c0-92.8 75.2-168 168-168c50.9 0 96.4 22.6 127.3 58.3C406.2 83.7 422.6 80 440 80c66.3 0 120 53.7 120 120c0 6.6-.5 13-1.5 19.3c48 21 81.5 68.9 81.5 124.7c0 72.4-56.6 131.6-128 135.8zM512 368c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16zM240 352c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96zM128 304c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm272-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHandFingersCrossed = {\n prefix: 'far',\n iconName: 'hand-fingers-crossed',\n icon: [384, 512, [], \"e1a3\", \"M169.8 57.6c3.7-8 13.3-11.5 21.3-7.7s11.5 13.3 7.7 21.3L120 240H84.7l55.7-119.5c1-1.7 1.9-3.5 2.5-5.3l26.8-57.6zM126.3 37.3l-6.5 14C102.9 24.1 68 13.1 38.3 27C6.3 41.9-7.6 80 7.3 112l42.1 90.2L22 261c-.9 2-1.5 4-1.9 6C7.6 281.1 0 299.7 0 320v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V272 256 224c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.4 0-10.7 .7-15.7 1.9l18-38.5c14.9-32 1.1-70.1-31-85.1s-70.1-1.1-85.1 31zM50.8 91.7c-3.7-8-.3-17.5 7.7-21.3s17.5-.3 21.3 7.7l13.7 29.3L75.9 145.4l-25-53.7zM240 176c8.8 0 16 7.2 16 16v32 16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16zm0 128c7.9 0 15.4-1.4 22.4-4c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2v10c0 66.3-53.7 120-120 120H168c-66.3 0-120-53.7-120-120l0-24 0 0c0-17.7 14.3-32 32-32h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2zm96-48v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V240 224c0-8.8 7.2-16 16-16s16 7.2 16 16v32z\"]\n};\nvar faTrash = {\n prefix: 'far',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M177.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM354.2 80L317.5 24.9C307.1 9.4 289.6 0 270.9 0H177.1c-18.7 0-36.2 9.4-46.6 24.9L93.8 80H80.1 32 24C10.7 80 0 90.7 0 104s10.7 24 24 24H35.6L59.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H324.6c33.5 0 61.3-25.9 63.8-59.3L412.4 128H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H367.9 354.2zm10.1 48L340.5 449.2c-.6 8.4-7.6 14.8-16 14.8H123.4c-8.4 0-15.3-6.5-16-14.8L83.7 128H364.3z\"]\n};\nvar faGaugeSimple = {\n prefix: 'far',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-22.3-13.1-41.6-32-50.6V120c0-13.3-10.7-24-24-24s-24 10.7-24 24V301.4c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56s56-25.1 56-56z\"]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faArrowDownSmallBig = {\n prefix: 'far',\n iconName: 'arrow-down-small-big',\n icon: [576, 512, [\"sort-size-down-alt\"], \"f88d\", \"M143 473L47 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55V56c0-13.3 10.7-24 24-24s24 10.7 24 24V398.1l55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-96 96c-9.4 9.4-24.6 9.4-33.9 0zM368 144h64V80H368v64zm-48 0V80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48zm48 160V432H496V304H368zm-48 0c0-26.5 21.5-48 48-48H496c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V304z\"]\n};\nvar faSortSizeDownAlt = faArrowDownSmallBig;\nvar faBookMedical = {\n prefix: 'far',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM48 432c0 17.7 14.3 32 32 32H368V400H80c-17.7 0-32 14.3-32 32zm0-73.3c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM208 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272v48c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224H160c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48V112z\"]\n};\nvar faFaceMelting = {\n prefix: 'far',\n iconName: 'face-melting',\n icon: [640, 512, [129760], \"e483\", \"M528 256c0-114.9-93.1-208-208-208s-208 93.1-208 208c0 33.5 7.9 65 21.9 93c16.7 33.4 12.5 72.2-.1 100.7c-2.1 4.7-4.6 9.5-7.6 14.4H319.9l.1 0h0 0l.1 0h164c-2.7-7.5-4.1-15.6-4.1-24c0-32.6 21.6-60.1 51.3-69c-10.9-20.5-14.2-44.9-9.1-66.1c3.8-15.6 5.8-32 5.8-48.9zm40.9 60.1c-6 24.8 11.1 51.9 36.6 51.9h0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H605.5h0L552 416c-13.3 0-24 10.7-24 24s10.7 24 24 24s24 10.7 24 24s-10.7 24-24 24H320.1l-.1 0-.1 0H46.6 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H46.6c38.9 0 61.8-58.8 44.4-93.6C73.7 336 64 297.1 64 256C64 114.6 178.6 0 320 0S576 114.6 576 256c0 20.7-2.5 40.8-7.1 60.1zm-305.1-158a32 32 0 1 1 -16.6 61.8 32 32 0 1 1 16.6-61.8zm115.4 64A32 32 0 1 1 441 238.7a32 32 0 1 1 -61.8-16.6zM220.4 279.9c11.3 23.2 33.6 50.1 72.7 60.6s71.9-1.7 93.2-16.1c11-7.4 25.9-4.6 33.3 6.4s4.6 25.9-6.4 33.3c-29.5 19.9-76.5 37.8-132.5 22.8s-87.9-54-103.4-86c-5.8-11.9-.8-26.3 11.1-32.1s26.3-.8 32.1 11.1z\"]\n};\nvar faPoo = {\n prefix: 'far',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M224 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l7.4 7.4c6.1 6.1 9.5 14.4 9.5 23v3.2c0 16.2-13.1 29.3-29.3 29.3H180h-3.1c-6.1 0-12.1 .8-17.8 2.2C113.9 115.8 80 155.9 80 204c0 1.1 0 2.2 .1 3.3C47.1 221.3 24 253.9 24 292c0 14.3 3.3 27.8 9.1 39.9C12.8 350.9 0 377.9 0 408c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104c0-30.1-12.8-57.1-33.1-76.1c5.8-12.1 9.1-25.6 9.1-39.9c0-38.1-23.1-70.7-56.1-84.7c0-1.1 .1-2.2 .1-3.3c0-38-21.2-71-52.3-87.9C363.6 49.5 303.6 0 232 0h-8zm48 71.4c0-5.5-.6-10.9-1.6-16.1c33.8 13.4 58.9 44 64.5 81c1.3 8.6 7.2 15.9 15.3 18.9C370 162.6 384 181.7 384 204c0 4.9-.7 9.7-1.9 14.1c-1.9 6.7-.8 13.9 3 19.7s10 9.7 16.9 10.6c21.5 2.9 38 21.3 38 43.6c0 11.4-4.3 21.8-11.4 29.6c-5 5.4-7.1 12.9-5.9 20.1s5.7 13.6 12.2 17.1c17.4 9.5 29.2 28 29.2 49.2c0 30.9-25.1 56-56 56H104c-30.9 0-56-25.1-56-56c0-21.2 11.7-39.7 29.2-49.2c6.5-3.5 10.9-9.8 12.2-17.1s-1-14.7-5.9-20.1C76.3 313.8 72 303.4 72 292c0-22.3 16.6-40.7 38-43.6c6.9-.9 13-4.8 16.9-10.6s4.9-13 3-19.7c-1.3-4.5-1.9-9.2-1.9-14.1c0-25.1 17.8-46 41.4-50.9c.4-.1 .8-.2 1.2-.3c2-.5 4.1-.8 6.3-.8H180h14.7c42.7 0 77.3-34.6 77.3-77.3V71.4zM192 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM172.3 352c-6.8 0-12.3 5.5-12.3 12.3c0 2.4 .7 4.8 2.2 6.7c8.2 10.5 39.5 45 93.8 45s85.6-34.6 93.8-45c1.5-1.9 2.2-4.3 2.2-6.7c0-6.8-5.5-12.3-12.3-12.3H172.3z\"]\n};\nvar faPenClipSlash = {\n prefix: 'far',\n iconName: 'pen-clip-slash',\n icon: [640, 512, [\"pen-alt-slash\"], \"e20f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296 556.7 149.3c25-25 25-65.5 0-90.5L517.3 19.3c-25-25-65.5-25-90.5 0L384 62.1 370.9 49c-28.1-28.1-73.7-28.1-101.8 0l-76.6 76.6L38.8 5.1zM230.5 155.4L303 82.9c9.4-9.4 24.6-9.4 33.9 0L350.1 96l-85.8 85.8-33.7-26.4zm71.8 56.2L384 129.9 446.1 192l-74.2 74.2-69.6-54.5zM197.5 316.5l36.3-36.3-38-29.9-32.3 32.3c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l47.7-47.7-38-29.9-43.6 43.6c-38.8 38.8-87.5 66-140.7 78.6c12.7-53.2 39.9-101.9 78.6-140.7z\"]\n};\nvar faPenAltSlash = faPenClipSlash;\nvar faQuoteRight = {\n prefix: 'far',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c39.8 0 72-32.2 72-72V286c-5.1 1.3-10.5 2-16 2H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72zm-48-72V192 160c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16zM64 240h64c8.8 0 16-7.2 16-16V192 160c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16zm128-48v32 72c0 66.3-53.7 120-120 120H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H72c39.8 0 72-32.2 72-72V286c-5.1 1.3-10.5 2-16 2H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32z\"]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faScrollOld = {\n prefix: 'far',\n iconName: 'scroll-old',\n icon: [576, 512, [], \"f70f\", \"M80 80c-17.7 0-32 14.3-32 32v48H80v48H48c-26.5 0-48-21.5-48-48V112C0 67.8 35.8 32 80 32H400c44.2 0 80 35.8 80 80V272H448 432 400c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V112c0-17.7-14.3-32-32-32H153.3c4.3 9.8 6.7 20.6 6.7 32V224h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H160V400c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-26.5 21.5-48 48-48h.6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .6 .5 .6 .5 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6c26.5 0 48 21.5 48 48v48c0 44.2-35.8 80-80 80H192c-44.2 0-80-35.8-80-80V112c0-17.7-14.3-32-32-32zM265.3 432H496c17.7 0 32-14.3 32-32V352h0-.6-.6-.6-.6-.6-.6H524h-.6-.6-.6-.6-.6-.6-.6-.6H519h-.6-.6-.6-.6-.5-.6-.5-.6-.5-.5H513h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H507h-.5H506h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H499h-.5H498h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H487h-.5H486h-.5H485h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H456h-.5H455h-.5H454h-.5H453h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H441h-.5H440h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H431h-.5H430h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H423h-.5H422h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H415h-.5H414h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H407h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H400v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V352h-.4-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H360h-.5H359h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H347h-.5H346h-.5H345h-.5H344h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H315h-.5H314h-.5H313h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H302h-.5H301h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H294h-.5H293h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H287h-.5-.5-.5-.5-.5-.5-.5-.6-.6-.6H281h-.6-.6-.6-.6-.6-.6-.6-.6H276h-.6-.6-.6-.6-.6-.6H272h0v48c0 11.4-2.4 22.2-6.7 32z\"]\n};\nvar faGuitars = {\n prefix: 'far',\n iconName: 'guitars',\n icon: [512, 512, [], \"f8bf\", \"M152 178V133.7l19.8-39.6c2.8-5.6 4.2-11.7 4.2-17.9V24c0-13.3-10.7-24-24-24H104C90.7 0 80 10.7 80 24V76.2c0 6.2 1.4 12.3 4.2 17.9L104 133.7V178c-50.3 8.6-88 43.8-88 86c0 14 4.2 27.3 11.6 39.1c8.2 13 7.5 32-2.9 43.4C9.2 363.7 0 385 0 408c0 57.4 57.3 104 128 104c29.3 0 56.3-8 77.8-21.4c-8.4-14.7-13.4-31.7-13.8-49.7c-13.1 12.9-34.3 23.2-64 23.2c-54 0-80-33.9-80-56c0-9.7 3.7-19.8 12.4-29.3c26.2-29 26.4-71.9 7.8-101.2c-3-4.8-4.2-9.2-4.2-13.5c0-9.6 11.2-29.7 40-37.1V312c0 13.3 10.7 24 24 24s24-10.7 24-24V226.9c28.8 7.4 40 27.5 40 37.1c0 4.2-1.2 8.7-4.2 13.5c-18.6 29.4-18.4 72.2 7.8 101.2c2.5 2.7 4.6 5.5 6.3 8.4c4.1-11.5 8.8-22.1 12.9-31.2l0 0 1-2.3c3.3-7.4 6.1-13.9 8.5-19.7c-3-10.1-1.5-21.8 4.1-30.7c1.1-1.7 2.1-3.5 3.1-5.3c-.9-4.9-2.7-10.7-5.7-19.3l-.4-1.3c-3.5-10-8.5-24.7-9.2-40.9c-.1-1.3-.1-2.5-.1-3.8V219.6 209.6c-15.8-15.7-38.2-27.1-64-31.5zm170.6-53.9L344 148.6V240c-23.7 0-38.6-8.8-48-19.8c-2.5-2.9-4.6-6-6.3-9.1c-3.7-6.6-6-13.3-7.4-19.1l0-.2c-2.1-8.6-9.3-15.8-18.2-15.8s-16 7.2-16 16v8 19.6 12.9c0 .8 0 1.7 .1 2.5c.5 11.5 4.2 22.3 7.9 33.1c4 11.6 8 23.3 8 35.9c0 20-9.3 40.9-19 62.5c-10.3 23.2-21 47.1-21 71.7c0 40.8 33 73.8 73.8 73.8H438.2c40.8 0 73.8-33 73.8-73.8c0-24.5-10.7-48.5-21-71.7c-9.6-21.6-19-42.5-19-62.5c0-12 4-22.9 8.1-33.8l0 0c3.3-8.9 6.6-17.8 7.6-27.2c.2-1.9 .3-3.8 .3-5.7v-1.6V222 208c0-8.8-7.2-16-16-16s-16.2 7.3-19.5 15.5l-.2 .5c-1.9 4.5-4.7 9.4-9.1 14c-1 1.1-2.1 2.1-3.2 3.1c-9.4 8.3-24.3 14.9-48 14.9V74.1c9.6-6.4 16-17.3 16-29.7V39.8C408 17.8 390.2 0 368.2 0c-18.8 0-35 13.1-38.9 31.5L315.4 96.3c-2.1 9.9 .6 20.2 7.2 27.8zM344 384c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zm81.9-99.7c-1.1 6.1-1.9 12.8-1.9 19.7c0 30.7 13.5 60.6 22.2 80l0 0c.7 1.5 1.4 3 2 4.4c10.7 24 15.8 38 15.8 49.8c0 14.2-11.6 25.8-25.8 25.8H297.8c-14.2 0-25.8-11.6-25.8-25.8c0-11.9 5.2-25.8 15.8-49.8c.6-1.4 1.3-2.9 2-4.4l0 0c8.7-19.4 22.2-49.2 22.2-80c0-7.2-.8-14.1-1.9-20.5c10.4 2.9 21.7 4.5 33.9 4.5h48c12.1 0 23.4-1.3 33.9-3.7z\"]\n};\nvar faPhoneXmark = {\n prefix: 'far',\n iconName: 'phone-xmark',\n icon: [640, 512, [], \"e227\", \"M393 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C239.2 485.6 64 295.2 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L393 286.7zm133.8 78.1l-100.4-43L397 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L112.1 70.5C115.5 286.2 289.8 460.5 505.5 464l21.3-99.2zM407 7c9.4-9.4 24.6-9.4 33.9 0l47 47L535 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47L407 41c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faHose = {\n prefix: 'far',\n iconName: 'hose',\n icon: [448, 512, [], \"e419\", \"M312 128c13.3 0 24-10.7 24-24v-2.3l80.2-11.5C417.3 98 423.9 104 432 104c8.8 0 16-7.2 16-16V40c0-8.8-7.2-16-16-16c-8.1 0-14.7 6-15.8 13.7L336 26.3V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24zM8 488c0 13.3 10.7 24 24 24H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H32c-13.3 0-24 10.7-24 24zM32 384c-13.3 0-24 10.7-24 24s10.7 24 24 24H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H32zM8 328c0 13.3 10.7 24 24 24H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H32c-13.3 0-24 10.7-24 24zM56 156c0-37.6 30.4-68 68-68H256V40H124C59.9 40 8 91.9 8 156s51.9 116 116 116H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H124c-37.6 0-68-30.4-68-68z\"]\n};\nvar faClockSix = {\n prefix: 'far',\n iconName: 'clock-six',\n icon: [512, 512, [], \"e352\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faShirt = {\n prefix: 'far',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M233.7 33.1l-23.5 4.6 0 0 23.5-4.6zm172.7 0l-23.5-4.6v0l23.5 4.6zm71.9 13.2l15.4-18.4 0 0L478.3 46.3zM604.5 151.4L619.8 133v0l-15.4 18.4zm3.6 45.7L590 181.3v0l18.1 15.8zm-56 64l18.1 15.8-18.1-15.8zm-44.6 3.5L492.2 283v0l15.4-18.4zM456 221.7l15.4-18.4c-7.2-6-17.1-7.2-25.5-3.3s-13.8 12.4-13.8 21.7h24zm-272 0h24c0-9.3-5.4-17.8-13.8-21.7s-18.4-2.7-25.5 3.3L184 221.7zm-51.5 42.9L147.9 283h0l-15.4-18.4zm-44.6-3.5L69.9 276.9l18.1-15.8zm-56-64L50 181.3l0 0L31.9 197.1zm-7.8-23.6L.2 171.6l23.9 1.9zm11.4-22.1L20.1 133l0 0 15.4 18.4zM161.7 46.3l15.4 18.4L161.7 46.3zm95.5-17.8C254.3 13.6 241.3 0 223.2 0V48c-7.8 0-12.2-5.7-13.1-10.3l47.1-9.3zM320 80c-31.1 0-57-22.2-62.8-51.5l-47.1 9.3C220.2 89.2 265.6 128 320 128V80zm62.8-51.5C377 57.8 351.1 80 320 80v48c54.4 0 99.8-38.8 109.9-90.3l-47.1-9.3zM416.8 0c-18.2 0-31.1 13.6-34 28.5l47.1 9.3C429 42.3 424.6 48 416.8 48V0zm76.8 27.8C472.1 9.8 444.9 0 416.8 0V48c16.8 0 33.2 5.9 46.1 16.7l30.7-36.9zM619.8 133L493.7 27.8 462.9 64.7 589.1 169.9 619.8 133zm20 38.6c-1.2-15-8.4-29-20-38.6l-30.7 36.9c1.7 1.4 2.7 3.4 2.9 5.5l47.9-3.8zm-13.7 41.3c9.9-11.4 14.9-26.2 13.7-41.3L592 175.4c.2 2.1-.5 4.3-2 5.9l36.1 31.6zm-56 64l56-64L590 181.3l-56 64 36.1 31.6zm-78 6.1c23.4 19.5 58 16.7 78-6.1L534 245.3c-2.9 3.3-7.8 3.7-11.1 .9L492.2 283zm-51.5-42.9L492.2 283l30.7-36.9-51.5-42.9-30.7 36.9zM432 221.7V448h48V221.7H432zM432 448c0 8.8-7.2 16-16 16v48c35.3 0 64-28.7 64-64H432zm-16 16H224v48H416V464zm-192 0c-8.8 0-16-7.2-16-16H160c0 35.3 28.7 64 64 64V464zm-16-16V221.7H160V448h48zM147.9 283l51.5-42.9-30.7-36.9-51.5 42.9L147.9 283zm-78-6.1c20 22.9 54.6 25.6 78 6.1l-30.7-36.9c-3.3 2.8-8.3 2.4-11.1-.9L69.9 276.9zm-56-64l56 64L106 245.3l-56-64L13.9 212.9zM.2 171.6c-1.2 15 3.7 29.9 13.7 41.3L50 181.3c-1.4-1.6-2.1-3.7-2-5.9L.2 171.6zm20-38.6c-11.6 9.7-18.8 23.6-20 38.6L48 175.4c.2-2.1 1.2-4.1 2.9-5.5L20.1 133zM146.3 27.8L20.1 133l30.7 36.9L177.1 64.7 146.3 27.8zM223.2 0c-28.1 0-55.3 9.8-76.8 27.8l30.7 36.9C190 53.9 206.3 48 223.2 48V0z\"]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faBillboard = {\n prefix: 'far',\n iconName: 'billboard',\n icon: [640, 512, [], \"e5cd\", \"M440 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H248V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H80C53.5 32 32 53.5 32 80V352H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80 296v88c0 13.3 10.7 24 24 24s24-10.7 24-24V400H560h56c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80c0-26.5-21.5-48-48-48H440V24zM320 352H80L80 80H200v48h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h32 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80H392v48h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h32 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80H560V352H320z\"]\n};\nvar faSquareR = {\n prefix: 'far',\n iconName: 'square-r',\n icon: [448, 512, [], \"e27c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H256c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L220 288H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24zm80 112h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H176v64h56z\"]\n};\nvar faCubes = {\n prefix: 'far',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M290.7 48.3c-1.7-.6-3.6-.6-5.4 0l-81.2 29L288 109.5l83.9-32.1-81.2-29zM176 207.2l88 31.4V151.7l-88-33.7v89.3zm136 31.4l88-31.4V117.9l-88 33.7v86.9zM448 93V207.5l91.9 34.8c21.8 8.2 36.1 29.1 36.1 52.4V413.9c0 22.2-13.1 42.3-33.5 51.3l-96.4 42.4c-14 6.1-29.8 6.3-43.9 .5L288 460.7 173.8 508c-14.1 5.8-30 5.7-43.9-.5L33.5 465.1C13.1 456.2 0 436.1 0 413.9V294.7c0-23.3 14.4-44.1 36.1-52.4L128 207.5V93c0-23.7 14.9-44.8 37.2-52.7l104-37.1c12.2-4.3 25.5-4.3 37.6 0l104 37.1C433.1 48.2 448 69.3 448 93zM264 320.2l-88 33.7V455.1l88-36.4V320.2zM52.8 421.2L128 454.3V353.9L48 323.2v90.7c0 3.2 1.9 6 4.8 7.3zM400 455.1V353.9l-88-33.7v98.6l88 36.4zm48-.9l75.2-33.1c2.9-1.3 4.8-4.2 4.8-7.3V323.2l-80 30.6V454.3zM155 250.7c-1.8-.6-3.7-.6-5.5 .1L70.8 280.6 152 311.7l83.9-32.1L155 250.7zm266 0l-80.9 28.9L424 311.7l81.2-31.1-78.7-29.8c-1.8-.7-3.7-.7-5.5-.1z\"]\n};\nvar faEnvelopeOpenDollar = {\n prefix: 'far',\n iconName: 'envelope-open-dollar',\n icon: [512, 512, [], \"f657\", \"M120 48c-4.4 0-8 3.6-8 8V225.2L69.2 190.1c-1.7-1.4-3.4-2.6-5.2-3.8V56C64 25.1 89.1 0 120 0H392c30.9 0 56 25.1 56 56V186.2c-1.8 1.2-3.5 2.5-5.2 3.8L400 225.2V56c0-4.4-3.6-8-8-8H120zM48 276.2V456c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V276.2L322 392.8c-38.4 31.5-93.7 31.5-132 0L48 276.2zM0 237.9C0 221.4 13.4 208 29.9 208c6.9 0 13.6 2.4 19 6.8l171.6 141c20.7 17 50.4 17 71.1 0l171.6-141c5.3-4.4 12.1-6.8 19-6.8c16.5 0 29.9 13.4 29.9 29.9V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V237.9zM276 88v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V296c0 11-9 20-20 20s-20-9-20-20V281.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V88c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faDivide = {\n prefix: 'far',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M264 96a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm0 320a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM408 280c13.3 0 24-10.7 24-24s-10.7-24-24-24H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H408z\"]\n};\nvar faSunCloud = {\n prefix: 'far',\n iconName: 'sun-cloud',\n icon: [640, 512, [127780], \"f763\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l8.1-44.3c-16.9 0-32.8-4.4-46.6-12.1l-2.1 11.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4-13.3 19.3c9.6-2.7 19.7-4.1 30.1-4.1c9.8 0 19.4 1.3 28.5 3.7l15.3-22.1c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM256 144c-61.9 0-112 50.1-112 112s50.1 112 112 112c11.4 0 22.3-1.7 32.6-4.8c-.4-3.7-.6-7.4-.6-11.2c0-21.4 7-41.2 18.8-57.1C295.1 310.1 276.7 320 256 320c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64c0 14.2-4.6 27.3-12.4 37.9c13.2-17.3 32.1-30 54-35.3c1.8-4 3.8-8 6.1-11.7C363 189.3 314.8 144 256 144zM384 416H568c39.8 0 72-32.2 72-72s-32.2-72-72-72c-10.1 0-19.7 2.1-28.4 5.8C528.8 246.5 499 224 464 224c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64s28.7 64 64 64z\"]\n};\nvar faLampFloor = {\n prefix: 'far',\n iconName: 'lamp-floor',\n icon: [640, 512, [], \"e015\", \"M183.6 176H456.4L405.2 48H234.8L183.6 176zM194.3 20.1C199.1 8 210.9 0 224 0H416c13.1 0 24.9 8 29.7 20.1l64 160c3.9 9.9 2.7 21-3.2 29.8s-15.9 14.1-26.5 14.1H160c-10.6 0-20.5-5.3-26.5-14.1s-7.2-20-3.2-29.8l64-160zM216 464h80V256h48V464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 216c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSquare7 = {\n prefix: 'far',\n iconName: 'square-7',\n icon: [448, 512, [], \"e25c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H296c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTengeSign = {\n prefix: 'far',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 56C0 42.7 10.7 32 24 32H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56zM0 184c0-13.3 10.7-24 24-24H192 360c13.3 0 24 10.7 24 24s-10.7 24-24 24H216V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'far',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M49.6 262C62.4 159.4 149.9 80 256 80s193.6 79.4 206.4 182c-9.4-3.9-19.6-6-30.4-6c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48c44.2 0 80-35.8 80-80V368 336 288C512 146.6 397.4 32 256 32S0 146.6 0 288v48 32 32c0 44.2 35.8 80 80 80c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48c-10.8 0-21 2.1-30.4 6zM48 336c0-17.7 14.3-32 32-32V432c-17.7 0-32-14.3-32-32V368 336zm416 0v32 32c0 17.7-14.3 32-32 32V304c17.7 0 32 14.3 32 32z\"]\n};\nvar faHandsHolding = {\n prefix: 'far',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M72 64c39.8 0 72 32.2 72 72V264.8c12.1-10.5 28-16.8 45.3-16.8c18.4 0 36 7.3 49 20.3l61.4 61.4c7.7 7.7 14.5 16.2 20.4 25.3c5.8-9.1 12.6-17.5 20.4-25.3l61.4-61.4c13-13 30.6-20.3 49-20.3c17.3 0 33.1 6.3 45.3 16.8V136c0-39.8 32.2-72 72-72s72 32.2 72 72V352.2c0 31.8-12.6 62.3-35.1 84.9L537 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l67.9-67.9c13.5-13.5 21.1-31.8 21.1-50.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V281.9c0 25.6-10.2 50.2-28.3 68.4l-15.9 15.9c0 0 0 0 0 0L473 393c0 0 0 0 0 0l-16 16c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l16-16c0 0 0 0 0 0l26.7-26.7c4-4 6.2-9.4 6.2-15c0-11.7-9.5-21.3-21.3-21.3c-5.6 0-11 2.2-15 6.2l-61.4 61.4C354.9 383 344 409.4 344 436.8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V436.8c0-27.4-10.9-53.8-30.3-73.2l-61.4-61.4c-4-4-9.4-6.2-15-6.2c-11.7 0-21.3 9.5-21.3 21.3c0 5.6 2.2 11 6.2 15L201 359l0 0 16 16c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-16-16 0 0-26.7-26.7 0 0-15.9-15.9C106.2 332.1 96 307.5 96 281.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V352.2c0 19.1 7.6 37.4 21.1 50.9L137 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L35.1 437.1C12.6 414.6 0 384.1 0 352.2V136C0 96.2 32.2 64 72 64z\"]\n};\nvar faCampfire = {\n prefix: 'far',\n iconName: 'campfire',\n icon: [512, 512, [], \"f6ba\", \"M232.2 3.4c-2.5-2.3-5.6-3.4-8.8-3.4c-3.2 0-6.4 1.1-9 3.4c-29.9 27-55.3 57.7-73.2 87.1c-17.7 29-29.2 60.2-29.2 84.2C112 254.5 175.3 320 256 320c79.9 0 144-65.5 144-145.3c0-18.3-8.7-46.3-21.7-71.8C365 77 346.2 49.7 323.9 29.1c-5-4.7-12.9-4.7-18 0c-8.7 8-16.7 17.8-23.8 26.8C266.6 37 250 19.6 232.2 3.4zM301 248.2c-13.5 9.1-27.9 13.6-44.1 13.6c-40.5 0-72.9-26.4-72.9-70.9c0-21.8 13.5-40.9 40.5-74.5c3.6 4.5 55.8 71.8 55.8 71.8L312.7 150c2.7 3.6 4.5 7.3 6.3 10.9c16.2 30 9 68.2-18 87.3zM32.5 289.6c-12.4-4.7-26.3 1.5-31 13.9s1.5 26.2 13.9 31L188.3 400 15.5 465.6c-12.4 4.7-18.6 18.6-13.9 31s18.6 18.6 31 13.9L256 425.7l223.5 84.8c12.4 4.7 26.3-1.5 31-13.9s-1.5-26.2-13.9-31L323.7 400l172.8-65.6c12.4-4.7 18.6-18.6 13.9-31s-18.6-18.6-31-13.9L256 374.3 32.5 289.6z\"]\n};\nvar faCircleAmpersand = {\n prefix: 'far',\n iconName: 'circle-ampersand',\n icon: [512, 512, [], \"e0f8\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 191.6c0-8.6 7-15.6 15.6-15.6h19.2c7.3 0 13.2 5.9 13.2 13.2c0 4.2-2 8.1-5.4 10.6L235 217.1l-14.5-14.5c-2.9-2.9-4.6-6.9-4.6-11zm71 46.9c15.7-11.5 25-29.8 25-49.3c0-33.8-27.4-61.2-61.2-61.2H231.6c-35.1 0-63.6 28.5-63.6 63.6c0 16.9 6.7 33 18.6 45l9.2 9.2-24.7 18.1c-17.1 12.5-27.2 32.4-27.2 53.6c0 36.7 29.8 66.5 66.5 66.5h32.2c24.1 0 46.9-10.9 62-29.4L327 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-28.4-28.4 31.1-45c7.5-10.9 4.8-25.8-6.1-33.4s-25.8-4.8-33.4 6.1l-26.2 37.8-28.7-28.7L287 238.5zm-87.5 64.1l30.7-22.5 40.1 40.1-1.4 2c-6 8.6-15.8 13.8-26.3 13.8H210.5c-10.2 0-18.5-8.3-18.5-18.5c0-5.9 2.8-11.4 7.5-14.9z\"]\n};\nvar faSnowflakes = {\n prefix: 'far',\n iconName: 'snowflakes',\n icon: [640, 512, [], \"f7cf\", \"M224 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L373 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L397 328.2l37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L248 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4L75 369.8 37.9 391.2c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2L31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4L51 183.8 13.9 162.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L200 214.4V137.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24zM487 7c9.4-9.4 24.6-9.4 33.9 0l23 23L567 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L487 41c-9.4-9.4-9.4-24.6 0-33.9zm32 192c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faHandsClapping = {\n prefix: 'far',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M328 0c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16zM223.1 18.7c7.4-4.9 17.3-2.9 22.2 4.4l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2zM412 152c9.5-5.1 20.4-8 32-8c37.6 0 68 30.4 68 68V329.6c0 100.5-81.3 182-181.7 182.4c27.3-16.9 50.5-39.8 67.8-66.8c39.4-23.4 65.8-66.4 65.8-115.6V212c0-11-9-20-20-20c-5 0-9.6 1.9-13.1 4.9c-2.5-16.7-9.2-32-18.9-44.9zM410.7 23.1c4.9-7.4 14.8-9.3 22.2-4.4s9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48zM320 208v40c0 3.3-.6 6.4-1.8 9.2s-2.9 5.5-5.2 7.8s-5 4-7.8 5.2s-5.9 1.8-9.2 1.8s-6.4-.6-9.2-1.8s-5.5-2.9-7.8-5.2L169 154.9c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7L233 247c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L121 202.9l-32-32c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7l24 24L185 295c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L65 242.9s0 0 0 0c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7l48 48 0 0L137 343c1.2 1.2 2.2 2.4 3.1 3.8c6.2 9.3 5.1 22-3.1 30.2c-9.4 9.4-24.6 9.4-33.9 0L65 338.9l0 0c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7l22 22 0 0 16 16 0 0 33.6 33.6c25.2 25.2 59.4 39.4 95 39.4C291.8 464 352 403.8 352 329.6V208c0-8.8-7.2-16-16-16s-16 7.2-16 16zM113.9 129.6c10.4-15.4 28.1-25.6 48.1-25.6c15.4 0 30.1 6.1 41 17L274 192.1c7.1-27.6 32.2-48.1 62-48.1c35.3 0 64 28.7 64 64V329.6C400 430.3 318.3 512 217.6 512c-48.4 0-94.8-19.2-129-53.4L55 425l0 0L39 409l0 0-22-22C6.1 376 0 361.3 0 345.9c0-19.6 9.7-36.9 24.6-47.4L17 290.9C6.1 280 0 265.3 0 249.9c0-21.2 11.4-39.8 28.4-49.9c-2.9-7-4.4-14.5-4.4-22.1c0-32 25.9-57.9 57.9-57.9c11.4 0 22.5 3.4 31.9 9.6z\"]\n};\nvar faRepublican = {\n prefix: 'far',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M152 32C68.1 32 0 100.1 0 184v80V424c0 30.9 25.1 56 56 56H88c30.9 0 56-25.1 56-56V384H304v40c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V384h48v24c0 39.8 32.2 72 72 72s72-32.2 72-72V344c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V360 264 184c0-83.9-68.1-152-152-152H152zM496 288v48H424c-13.3 0-24 10.7-24 24v64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V360c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v64c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V288H496zm0-48H48V184C48 126.6 94.6 80 152 80H392c57.4 0 104 46.6 104 104v56zM405.7 115.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L450 154.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM271.9 112c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 154.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-122.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L194 154.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6z\"]\n};\nvar faLeafMaple = {\n prefix: 'far',\n iconName: 'leaf-maple',\n icon: [512, 512, [127809], \"f6f6\", \"M344.8 13.3c-3.7-7.4-11-12.4-19.3-13.2s-16.4 2.8-21.4 9.5L249.9 82l-2.1-16.1c-.9-7-4.8-13.2-10.7-17.1s-13.2-4.9-19.9-2.9L181.8 56.4 147 15.9c-4.6-5.3-11.2-8.4-18.2-8.4s-13.7 3.1-18.2 8.4L74 58.5 27 52.6c-7.9-1-15.8 2-21 8S-1.2 74.7 .8 82.4L41.4 238 10.7 258.5c-7 4.6-11 12.6-10.7 20.9s5 15.9 12.3 20l106.9 59.4L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L153.2 392.8l59.4 106.9c4.1 7.3 11.6 12 20 12.3s16.3-3.7 20.9-10.7L274 470.6l155.6 40.6c7.7 2 15.9 .1 21.9-5.2s9-13.1 8-21l-5.4-42.8c-.3-2.7 .7-5.3 2.7-7.1l39.3-33.7c5.3-4.6 8.4-11.2 8.4-18.2s-3.1-13.7-8.4-18.2l-40.6-34.8 10.5-35.4c2-6.8 .9-14-2.9-19.9s-10.1-9.8-17.1-10.7L430 262.1l72.4-54.3c6.7-5 10.2-13.1 9.5-21.4s-5.7-15.6-13.2-19.3l-36.1-18.1c-3.4-1.7-5.2-5.7-4.1-9.4l22.6-79.2c2.4-8.4 .1-17.4-6.1-23.6s-15.2-8.5-23.6-6.1L372.2 53.5c-3.7 1.1-7.6-.7-9.4-4.1L344.8 13.3zM188.5 357.5L313.9 232.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L154.5 323.5 70.1 276.6l2.7-1.8c14.2-9.5 20.8-26.9 16.5-43.4L56.2 104.6l24.7 3.1c8 1 16-2.1 21.2-8.2l26.7-31.1 26.7 31.1c6.2 7.2 16 10.1 25.1 7.4l23.2-6.9 6 46.8c1.2 9.7 8.2 17.7 17.7 20.2s19.5-1 25.3-8.8l66.5-88.7 .7 1.4C332 95 359.5 107.1 385.4 99.7l37.7-10.8-10.8 37.7c-7.4 25.9 4.7 53.4 28.8 65.5l1.4 .7-88.7 66.5c-7.8 5.9-11.3 15.9-8.8 25.3s10.5 16.4 20.2 17.7l46.8 6-6.9 23.2c-2.7 9.1 .2 18.9 7.4 25.1l31.1 26.7-18.1 15.5c-14.3 12.2-21.5 30.8-19.1 49.5l1 7.7L280.6 422.8c-16.5-4.3-33.9 2.3-43.4 16.5l-1.8 2.7-46.9-84.5z\"]\n};\nvar faArrowLeft = {\n prefix: 'far',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M7.4 273.4C2.7 268.8 0 262.6 0 256s2.7-12.8 7.4-17.4l176-168c9.6-9.2 24.8-8.8 33.9 .8s8.8 24.8-.8 33.9L83.9 232 424 232c13.3 0 24 10.7 24 24s-10.7 24-24 24L83.9 280 216.6 406.6c9.6 9.2 9.9 24.3 .8 33.9s-24.3 9.9-33.9 .8l-176-168z\"]\n};\nvar faPersonCircleXmark = {\n prefix: 'far',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faRuler = {\n prefix: 'far',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M63.2 379.3c-6.2-6.2-6.2-16.4 0-22.6l39.4-39.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 41.4-41.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 41.4-41.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 41.4-41.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 39.4-39.4c6.2-6.2 16.4-6.2 22.6 0l69.5 69.5c6.2 6.2 6.2 16.4 0 22.6L155.3 448.8c-6.2 6.2-16.4 6.2-22.6 0L63.2 379.3zM98.7 482.7c25 25 65.5 25 90.5 0L482.7 189.3c25-25 25-65.5 0-90.5L413.3 29.3c-25-25-65.5-25-90.5 0L29.3 322.7c-25 25-25 65.5 0 90.5l69.5 69.5z\"]\n};\nvar faCupStrawSwoosh = {\n prefix: 'far',\n iconName: 'cup-straw-swoosh',\n icon: [384, 512, [], \"e364\", \"M249.3 0H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H249.3c-3.7 0-6.9 2.6-7.8 6.2L224.2 128h79.6H352h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H348 299.8 209.9 174.1 84.2 36 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H80.2h94.7l20-84.8C200.8 17.9 223.4 0 249.3 0zM60.3 468L38.7 208H86.8L99.7 362.4c15.7-3.1 27.5-7.3 36.9-11.9c19.3-9.5 30.1-22 42.8-37.6l1.9-2.3c12.3-15.2 27.4-33.8 53.1-47.7c16-8.6 35.4-15.1 59.8-18.9l3-36h48.2L323.7 468c-2.1 24.9-22.9 44-47.8 44H108.2c-25 0-45.8-19.1-47.8-44zM290 293.5c-14.1 3.1-24.6 7.1-32.9 11.6c-17.2 9.3-26.9 21.2-39.9 37.2l-.7 .8c-13.3 16.4-29.5 35.9-58.7 50.4c-14.9 7.4-32.6 13.1-54.2 17l4.5 53.5H275.8L290 293.5z\"]\n};\nvar faTemperatureSun = {\n prefix: 'far',\n iconName: 'temperature-sun',\n icon: [640, 512, [\"temperature-hot\"], \"f76a\", \"M320.6 98.5l-2.7-.5L303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6L208 363.5l70.8 49.6c4.5 3.2 10.3 3.8 15.4 1.6c.7-.3 1.5-.7 2.1-1.1c-5.4-16.9-8.3-34.9-8.3-53.7c0-37.7 11.8-72.6 32-101.2V112c0-4.5 .2-9 .6-13.5zM208 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm192 0c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5c7.1-9.5 12.8-22.1 12.8-36.6V112zM464 0C402.1 0 352 50.2 352 112V273.9c0 1.7-.7 4.4-3.2 7.8c-18.1 24.1-28.8 54-28.8 86.4c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C576 50.2 525.9 0 464 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faTemperatureHot = faTemperatureSun;\nvar faAlignLeft = {\n prefix: 'far',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M24 40C10.7 40 0 50.7 0 64S10.7 88 24 88H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM0 320c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM24 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faDiceD6 = {\n prefix: 'far',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M243.9 7.7c-12.4-7-27.6-6.9-39.9 .3L19.8 115.6C7.5 122.8 0 135.9 0 150.1V366.6c0 14.5 7.8 27.8 20.5 34.9l184 103c12.1 6.8 26.9 6.8 39.1 0l184-103c12.6-7.1 20.5-20.4 20.5-34.9V146.8c0-14.4-7.7-27.7-20.3-34.8L243.9 7.7zM71.8 140.8L224.2 51.7l152 86.2L223.8 228.2l-152-87.4zM48 182.4l152 87.4V447.1L48 361.9V182.4zM248 447.1V269.7l152-90.1V361.9L248 447.1z\"]\n};\nvar faRestroom = {\n prefix: 'far',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M128 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-7.3 80h14.6c3 0 5.9 .3 8.7 1V304H112V177c2.8-.6 5.7-1 8.7-1zM112 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V251.4l17.6 45.3c4.8 12.4 18.7 18.5 31.1 13.7s18.5-18.7 13.7-31.1l-37-95.2c-13.2-33.8-45.7-56.1-82-56.1H120.7c-36.3 0-68.9 22.3-82 56.1L1.6 279.3c-4.8 12.4 1.3 26.3 13.7 31.1s26.3-1.3 31.1-13.7L64 251.4V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM320 0c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM560 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48 80c-40.7 0-77.2 25-92 62.9l-34.4 88.4c-4.8 12.4 1.3 26.3 13.7 31.1c7.6 3 15.8 1.8 22.1-2.5l-15.7 55.8c-2.9 10.2 4.8 20.3 15.4 20.3H448V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h26.9c10.6 0 18.3-10.1 15.4-20.3l-15.7-55.8c6.3 4.2 14.5 5.4 22.1 2.5c12.4-4.8 18.5-18.7 13.7-31.1L604 190.9C589.2 153 552.7 128 512 128zm0 48c2.2 0 4 1.4 4.6 3.5l44 156.5H463.4l44-156.5c.6-2.1 2.5-3.5 4.6-3.5z\"]\n};\nvar faHighDefinition = {\n prefix: 'far',\n iconName: 'high-definition',\n icon: [576, 512, [\"rectangle-hd\"], \"e1ae\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 184V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328c-13.3 0-24 10.7-24 24zm80 24c26.5 0 48 21.5 48 48s-21.5 48-48 48H352V208h32zM160 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v72 72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V256 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H160V184z\"]\n};\nvar faRectangleHd = faHighDefinition;\nvar faJ = {\n prefix: 'far',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M296 32c13.3 0 24 10.7 24 24V320c0 88.4-71.6 160-160 160S0 408.4 0 320V280c0-13.3 10.7-24 24-24s24 10.7 24 24v40c0 61.9 50.1 112 112 112s112-50.1 112-112V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faGalaxy = {\n prefix: 'far',\n iconName: 'galaxy',\n icon: [512, 512, [], \"e008\", \"M160 184c0-68.3 50.4-124.9 116.1-134.5c-31.2 28.4-51.6 66.6-58 108.1c-1.4 9.3 2.7 18.6 10.6 23.7s18.1 5.2 26 .1C275.9 167.8 301 160 328 160c68.3 0 124.9 50.4 134.5 116.1c-28.4-31.2-66.6-51.6-108.1-58c-9.3-1.4-18.6 2.7-23.7 10.6s-5.2 18.1-.1 26C344.2 275.9 352 301 352 328c0 68.3-50.4 124.9-116.1 134.5c31.2-28.4 51.6-66.6 58-108.1c1.4-9.3-2.7-18.6-10.6-23.7s-18.1-5.2-26-.1C236.1 344.2 211 352 184 352c-68.3 0-124.9-50.4-134.5-116.1c28.4 31.2 66.6 51.6 108.1 58c9.3 1.4 18.6-2.7 23.7-10.6s5.2-18.1 .1-26C167.8 236.1 160 211 160 184zM296 0C194.4 0 112 82.4 112 184c0 15.9 2 31.3 5.8 46c-16.4-9.4-30.8-22.2-42.2-37.9l-13-17.9c-6.5-9-16.9-14.2-28-14.2C15.5 160 0 175.5 0 194.6V216C0 317.6 82.4 400 184 400c15.9 0 31.3-2 46-5.8c-9.4 16.4-22.2 30.8-37.9 42.2l-17.9 13c-9 6.5-14.2 16.9-14.2 28c0 19.1 15.5 34.6 34.6 34.6H216c101.6 0 184-82.4 184-184c0-15.9-2-31.3-5.8-46c16.4 9.4 30.8 22.2 42.2 37.9l13 17.9c6.5 9 16.9 14.2 28 14.2c19.1 0 34.6-15.5 34.6-34.6V296c0-101.6-82.4-184-184-184c-15.9 0-31.3 2-46 5.8c9.4-16.4 22.2-30.8 37.9-42.2l17.9-13-14-19.3 14 19.3c9-6.5 14.2-16.9 14.2-28C352 15.5 336.5 0 317.4 0H296zM256 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUsersViewfinder = {\n prefix: 'far',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M48 48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V32C0 14.3 14.3 0 32 0H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H48zm544 0H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H608c17.7 0 32 14.3 32 32V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V48zM136 464c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-17.7 0-32-14.3-32-32V376c0-13.3 10.7-24 24-24s24 10.7 24 24v88h88zm456 0V376c0-13.3 10.7-24 24-24s24 10.7 24 24V480c0 17.7-14.3 32-32 32H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h88zM320 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-51.6 82c6.3-1.3 12.9-2 19.6-2h32 32c6.7 0 13.3 .7 19.6 2c1.1 .2 2.2 .5 3.3 .7c23.6 5.8 43.8 20.3 56.9 39.9c1.2 1.7 2.3 3.5 3.3 5.4c8.2 14.1 12.8 30.5 12.8 48c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32c0-17.5 4.7-33.9 12.8-48c12.9-22.3 34.6-39 60.3-45.3c1.1-.3 2.2-.5 3.3-.7zm96.2-162.6A72 72 0 1 1 275.4 240.5a72 72 0 1 1 89.2-113.1zM397.3 368c-6.6-18.6-24.4-32-45.3-32H288c-20.9 0-38.7 13.4-45.3 32H397.3zM127.8 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM96 309.3c0-29.5 23.9-53.3 53.3-53.3h69.3c9.8 0 18.9 2.6 26.8 7.2c-34.6 12.2-62.5 38.9-76.2 72.8H122.7C107.9 336 96 324.1 96 309.3zM470.7 336c-13.7-33.9-41.5-60.6-76.2-72.8c7.9-4.6 17-7.2 26.8-7.2h69.3c29.5 0 53.3 23.9 53.3 53.3c0 14.7-11.9 26.7-26.7 26.7H470.7zM416 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM80 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v16l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1L240 368v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V288z\"]\n};\nvar faCherries = {\n prefix: 'far',\n iconName: 'cherries',\n icon: [640, 512, [], \"e0ec\", \"M288 24L302.1 4.5c-6.9-5-15.9-5.9-23.7-2.5s-13.2 10.7-14.2 19.1c0 0 0 0 0 0s0 0 0 0l0 0 0 .2-.1 .9c-.1 .9-.3 2.2-.6 4c-.6 3.6-1.5 9-2.9 15.8c-2.8 13.7-7.6 33.3-15.3 56.3c-14 42-37.4 94.7-75.8 143.7C152.3 233.5 126.5 224 96 224c0 0-96 0-96 112C0 480 144 512 192 512s192-16 192-176c0-112-96-112-96-112c-20.5 0-38.9 4.3-54 9.7c27.1-42.6 45-85.1 56.7-120.2c5.7-17 9.9-32.3 13-45.1c11.7 10.8 25.8 24.7 40.1 41.2c29.6 34.3 59.1 78.4 73.1 128.5c-12-5.3-27-10.3-44.2-12.7c16.3 14.8 30.1 35.3 37.4 63c1.8 1 3.3 2 4.6 2.8c1.5 1 2.6 1.8 3.2 2.2l.4 .3c17.4 13.7 41.9 13.7 59.3 0l.4-.3c.6-.4 1.6-1.2 3.2-2.2c3.1-2 8-4.9 14.2-7.8c12.6-5.9 29.3-11.3 48-11.4l.1 0 .6 0c1.1 .1 3.1 .3 5.7 .8c5.3 1 11.9 3 18 6.6c9.1 5.3 24.2 17.4 24.2 56.5c0 62-26.1 90.5-53.8 106.3c-31.5 18-69.7 21.7-90.2 21.7c-12.3 0-36.6-3.4-61.7-13.4c-9.2 14.8-20.2 27.5-32.3 38.2C390.4 506.3 427.7 512 448 512c48 0 192-16 192-176c0-112-96-112-96-112c-32.3 0-59.2 10.6-76.3 19.6C453.5 176 415.2 118.9 380.2 78.3c-19.9-23-39.2-41.3-53.6-53.9c-7.2-6.3-13.2-11.2-17.5-14.5c-2.1-1.7-3.8-3-5-3.9c-.6-.4-1.1-.8-1.4-1l-.4-.3-.1-.1 0 0 0 0s0 0-14.1 19.4zM162.4 293.8c17.4 13.7 41.9 13.7 59.3 0l.4-.3c.6-.4 1.6-1.2 3.2-2.2c3.1-2 8-4.9 14.2-7.8c12.6-5.9 29.3-11.3 48-11.4l.1 0 .6 0c1.1 .1 3.1 .3 5.7 .8c5.3 1 11.9 3 18 6.6c9.1 5.3 24.2 17.4 24.2 56.5c0 62-26.1 90.5-53.8 106.3c-31.5 18-69.7 21.7-90.2 21.7c-16.7 0-55.6-6.3-88.7-26.8C72.7 418.3 48 388.4 48 336c0-39.1 15.1-51.2 24.2-56.5c6.1-3.6 12.7-5.6 18-6.6c2.6-.5 4.6-.7 5.7-.8c.3 0 .6 0 .7-.1c18.7 .1 35.4 5.5 48 11.4c6.2 2.9 11.1 5.8 14.2 7.8c1.5 1 2.6 1.8 3.2 2.2l.4 .3z\"]\n};\nvar faUpRightFromSquare = {\n prefix: 'far',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M304 41c0 10.9 4.3 21.3 12 29L362.1 116 207 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l155-155L442.1 196c7.7 7.7 18.1 12 29 12c22.6 0 41-18.3 41-41V40c0-22.1-17.9-40-40-40H345c-22.6 0-41 18.3-41 41zm57.9 7H464V150.1L361.9 48zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faCircleSort = {\n prefix: 'far',\n iconName: 'circle-sort',\n icon: [512, 512, [\"sort-circle\"], \"e030\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0zM244.7 411.3l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faSortCircle = faCircleSort;\nvar faTableCells = {\n prefix: 'far',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M360 80v88H464V96c0-8.8-7.2-16-16-16H360zm-48 0H200v88H312V80zM152 80H64c-8.8 0-16 7.2-16 16v72H152V80zM48 216v80H152V216H48zm0 128v72c0 8.8 7.2 16 16 16h88V344H48zm152 88H312V344H200v88zm160 0h88c8.8 0 16-7.2 16-16V344H360v88zM464 296V216H360v80H464zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 296H312V216H200v80z\"]\n};\nvar faTh = faTableCells;\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm96-80h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H320v96h16zm80-112c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368z\"]\n};\nvar faSiren = {\n prefix: 'far',\n iconName: 'siren',\n icon: [448, 512, [], \"e02d\", \"M345.6 304H394L375 152.1C371 120 343.8 96 311.5 96h-175C104.2 96 77 120 73 152.1L54 304h48.4l18.2-146c1-8 7.8-14 15.9-14h175c8.1 0 14.9 6 15.9 14l18.2 146zm-165.5 0l11.8-94c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9l-12.2 98h32.2zM48 384H400v48H48l0-48zM0 384v48c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V384c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\"]\n};\nvar faArrowUpToDottedLine = {\n prefix: 'far',\n iconName: 'arrow-up-to-dotted-line',\n icon: [448, 512, [], \"e0a1\", \"M32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM320 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM241.5 151.6c-4.5-4.8-10.9-7.6-17.5-7.6s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L200 228.5V312 440c0 13.3 10.7 24 24 24s24-10.7 24-24V312 228.5l86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136z\"]\n};\nvar faImageLandscape = {\n prefix: 'far',\n iconName: 'image-landscape',\n icon: [576, 512, [\"landscape\"], \"e1b5\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H83.8l80.8-110.2c4.5-6.2 11.7-9.8 19.4-9.8s14.8 3.6 19.4 9.8L232.8 330l83.1-127.1c4.4-6.8 12-10.9 20.1-10.9s15.7 4.1 20.1 10.9L485 400h27c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM96 448H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H472 272 200 96zm64-288a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLandscape = faImageLandscape;\nvar faTankWater = {\n prefix: 'far',\n iconName: 'tank-water',\n icon: [448, 512, [], \"e452\", \"M277.2 80L263.9 55.7 251 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H197L184.1 55.7 170.8 80H64c-8.8 0-16 7.2-16 16V302.4c14.1-2.7 27.8-8.7 39.3-15.3c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 18.9 12.7c15.9 9 35.6 16.9 55.3 16.9s39.5-7.8 55.3-16.9c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 19 12.8c11.6 6.6 25.2 12.5 39.4 15.3V96c0-8.8-7.2-16-16-16H277.2zM48 416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V351c-25-3.1-47.1-13-63.1-22.1c-6.5-3.7-12.2-7.4-17-10.7c-4.7 3.3-10.5 7-16.9 10.7c-19.3 11-47.6 23.1-79.1 23.1s-59.7-12.2-79.1-23.1c-6.5-3.7-12.2-7.4-16.9-10.7c-4.7 3.3-10.5 7-16.9 10.7c-16 9.1-38.1 19-63 22.1v65zM212.2 71c2.4-4.3 6.9-7 11.8-7s9.5 2.7 11.8 7L273 139.2c4.6 8.4 7 17.9 7 27.5V168c0 30.9-25.1 56-56 56s-56-25.1-56-56v-1.4c0-9.6 2.4-19 7-27.5L212.2 71z\"]\n};\nvar faCurlingStone = {\n prefix: 'far',\n iconName: 'curling-stone',\n icon: [576, 512, [129356, \"curling\"], \"f44a\", \"M264 80c-22.1 0-40 17.9-40 40v24H416c35.3 0 64 28.7 64 64v1.1c54.3 7.8 96 54.4 96 110.9v48c0 61.9-50.1 112-112 112H112C50.1 480 0 429.9 0 368V320c0-56.4 41.7-103.1 96-110.9V208c0-35.3 28.7-64 64-64h16V120c0-48.6 39.4-88 88-88H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H264zM112 432H464c35.3 0 64-28.7 64-64H48c0 35.3 28.7 64 64 64zM48 320H528c0-35.3-28.7-64-64-64H112c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCurling = faCurlingStone;\nvar faGamepadModern = {\n prefix: 'far',\n iconName: 'gamepad-modern',\n icon: [640, 512, [127918, 63676, \"gamepad-alt\"], \"e5a2\", \"M216 336H424c22 0 41.2 15 46.6 36.4l3.6 14.3c6.7 26.6 30.6 45.3 58 45.3c33 0 59.8-26.8 59.8-59.8v-2.8c0-3.5-.3-7.1-.9-10.6L558.4 168c-6.2-36-27.8-60.4-54.6-67.1C461.4 90.3 399.7 80 320 80s-141.5 10.3-183.7 20.9C109.4 107.6 87.8 132 81.6 168L48.9 358.8c-.6 3.5-.9 7-.9 10.6v2.8c0 33 26.8 59.8 59.8 59.8c27.4 0 51.4-18.7 58-45.3l3.6-14.3C174.8 351 194 336 216 336zm211.6 62.3L424 384H216l-3.6 14.3c-12 48-55.1 81.7-104.6 81.7C48.3 480 0 431.7 0 372.2v-2.8c0-6.3 .5-12.5 1.6-18.7L34.3 159.8c8.6-50.2 40.9-93.2 90.3-105.5C170.5 42.9 236.2 32 320 32s149.5 10.9 195.3 22.3c49.4 12.3 81.7 55.3 90.3 105.5l32.7 190.9c1.1 6.2 1.6 12.4 1.6 18.7v2.8C640 431.7 591.7 480 532.2 480c-49.5 0-92.6-33.7-104.6-81.7zM232 168v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H232v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V248H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V168c0-13.3 10.7-24 24-24s24 10.7 24 24zm168 72a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faGamepadAlt = faGamepadModern;\nvar faMessagesQuestion = {\n prefix: 'far',\n iconName: 'messages-question',\n icon: [640, 512, [], \"e1e7\", \"M72 48C58.7 48 48 58.7 48 72V248c0 13.3 10.7 24 24 24h48c13.3 0 24 10.7 24 24v19.2L202.7 276c3.9-2.6 8.6-4 13.3-4H344c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72zM0 72C0 32.2 32.2 0 72 0H344c39.8 0 72 32.2 72 72V248c0 39.8-32.2 72-72 72H223.3l-90 60c-7.4 4.9-16.8 5.4-24.6 1.2S96 368.9 96 360V320H72c-39.8 0-72-32.2-72-72V72zM256 352h48v24c0 13.3 10.7 24 24 24h96c4.7 0 9.4 1.4 13.3 4L496 443.2V424c0-13.3 10.7-24 24-24h48c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H448V128H568c39.8 0 72 32.2 72 72V376c0 39.8-32.2 72-72 72H544v40c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-90-60H328c-39.8 0-72-32.2-72-72V352zM147.9 96.1c5.5-15.4 20.1-25.7 36.4-25.7h41.3c24.2 0 43.7 19.6 43.7 43.7c0 15.7-8.4 30.1-22 37.9L224 165.4v.3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-9.5c0-5.7 3.1-11 8-13.9l31.4-18c3.6-2.1 5.9-6 5.9-10.2c0-6.5-5.3-11.7-11.7-11.7H184.3c-2.8 0-5.3 1.8-6.3 4.4l-.3 .9c-3 8.3-12.1 12.7-20.4 9.7s-12.7-12.1-9.7-20.4l.3-.9zM185.3 228a22.7 22.7 0 1 1 45.3 0 22.7 22.7 0 1 1 -45.3 0z\"]\n};\nvar faBookBible = {\n prefix: 'far',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM48 432c0 17.7 14.3 32 32 32H368V400H80c-17.7 0-32 14.3-32 32zm0-73.3c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM208 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272v96c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V208H160c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h48V96z\"]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'far',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 80a176 176 0 1 0 0 352 176 176 0 1 0 0-352zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nvar faSuitcaseMedical = {\n prefix: 'far',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm240 88V432H144V144h8H360h8zM96 144V432H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16H96zM416 432V144h32c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H416zM229.3 224v37.3H192c-8.8 0-16 7.2-16 16v21.3c0 8.8 7.2 16 16 16h37.3V352c0 8.8 7.2 16 16 16h21.3c8.8 0 16-7.2 16-16V314.7H320c8.8 0 16-7.2 16-16V277.3c0-8.8-7.2-16-16-16l-37.3 0V224c0-8.8-7.2-16-16-16H245.3c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faBriefcaseArrowRight = {\n prefix: 'far',\n iconName: 'briefcase-arrow-right',\n icon: [512, 512, [], \"e2f2\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm24 88H360h88c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h88zm145 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faExpandWide = {\n prefix: 'far',\n iconName: 'expand-wide',\n icon: [512, 512, [], \"f320\", \"M136 64c13.3 0 24 10.7 24 24s-10.7 24-24 24H48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V88C0 74.7 10.7 64 24 64H136zM0 312c0-13.3 10.7-24 24-24s24 10.7 24 24v88h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V312zM488 64c13.3 0 24 10.7 24 24V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V112H376c-13.3 0-24-10.7-24-24s10.7-24 24-24H488zM464 312c0-13.3 10.7-24 24-24s24 10.7 24 24V424c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h88V312z\"]\n};\nvar faClockElevenThirty = {\n prefix: 'far',\n iconName: 'clock-eleven-thirty',\n icon: [512, 512, [], \"e348\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V263.3l-60-90c-7.4-11-4.4-25.9 6.7-33.3s25.9-4.4 33.3 6.7l64 96c2.6 3.9 4 8.6 4 13.3V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faRv = {\n prefix: 'far',\n iconName: 'rv',\n icon: [640, 512, [], \"f7be\", \"M224 24c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24v8H520c48.6 0 88 39.4 88 88v40c0 22.5-15.5 41.4-36.4 46.6l53.1 41.7c9.7 7.6 15.3 19.2 15.3 31.5V376c0 22.1-17.9 40-40 40H574.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16H408 254.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-7 .9-13.7 2.6-20.1c-1.3-.8-2.4-1.8-3.5-2.9L21.1 335C7.6 321.5 0 303.2 0 284.1V104C0 64.2 32.2 32 72 32H224V24zM72 80c-13.3 0-24 10.7-24 24V284.1c0 6.4 2.5 12.5 7 17L121.9 368H128c13.4-10 30-16 48-16s34.6 6 48 16H384V256 184c0-13.3 10.7-24 24-24h16 80 56V120c0-22.1-17.9-40-40-40H72zM556.8 256l-61.1-48H432v48H556.8zM208 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM120 128H264c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H120c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]\n};\nvar faUserSecret = {\n prefix: 'far',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 13.4 22.1 25.6 57.7 34.3C88.6 169.4 88 176.6 88 184c0 13.9 2.1 27.4 6 40H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H168 280 418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H354c3.9-12.6 6-26.1 6-40c0-7.4-.6-14.6-1.7-21.7c35.6-8.7 57.7-20.9 57.7-34.3c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm44 448l-24.8-99.1c-2.1-8.2-.8-16.9 3.6-24.2l15.7-26.2c25.7-7.6 48.3-22.6 65.2-42.5h23.8l-19.8 49.5c-8.1 20.2-1.6 43.3 15.9 56.3c27.3 20.4 46.2 51 51.2 86.2H268zM185.5 314.5l15.7 26.2c4.4 7.3 5.7 16 3.6 24.2L180 464H49.3c4.9-35.2 23.9-65.8 51.2-86.2c17.4-13 23.9-36.1 15.9-56.3L96.5 272h23.8c16.9 19.9 39.5 34.9 65.2 42.5zM224 272c-38.2 0-70.7-24.4-82.9-58.4c7.1 6.5 16.5 10.4 26.9 10.4h12.4c16.5 0 31.1-10.6 36.3-26.2c2.3-7 12.2-7 14.5 0c5.2 15.6 19.9 26.2 36.3 26.2H280c10.4 0 19.8-3.9 26.9-10.4c-12.2 34-44.7 58.4-82.9 58.4z\"]\n};\nvar faOtter = {\n prefix: 'far',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2 12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185zM160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-5.1 0-10.1-.4-14.9-1.2c9.5 28.6 36.5 49.2 68.3 49.2h64c13.3 0 24 10.7 24 24c0 2.8-.5 5.5-1.4 8H352c0-11.4 2.4-22.2 6.7-32H328c-36.7 0-68.1-22.4-81.3-54.3c-10.3 4.1-21.5 6.3-33.3 6.3c-14.1 0-27.9-3.3-40.5-9.6L160 240zm250.8 16c10.8-45.9 52-80 101.2-80c13.3 0 24 10.7 24 24v-5.7c0-38.8-24.9-73.3-61.7-85.6l-17.9-6c-12.1-4-18.9-16.8-15.6-29s15.7-19.8 28.1-17.2l16.2 3.4C575.4 78.9 640 158.5 640 250.8c0 120.3-92.6 218.9-210.4 228.5c-4.5 .5-9 .8-13.6 .8h-5.2H384 257.6C133 480 32 379 32 254.4V216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 8-1 15.7-3 23.1c12.4-7.9 27.2-12.5 43-12.5h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-16.6 0-30.2 12.6-31.8 28.7c4.9 2.1 10.2 3.3 15.8 3.3h82.8zM99.7 335.8l.1 .2h.3l-.4-.2zM410.8 432c4.7 0 9.4-.2 14.1-.5c35.6-4.4 63.1-34.7 63.1-71.5V304 256 229.4c-18.9 9-32 28.3-32 50.6c0 13.3-10.7 24-24 24c-17.7 0-32 14.3-32 32v24c0 13.3-10.7 24-24 24H136.2c31.8 29.8 74.5 48 121.4 48H384h26.8zM536 360c0 8.2-.8 16.3-2.4 24c35.9-33.1 58.4-80.6 58.4-133.3c0-16.7-2.8-32.8-8-47.9V208c0 35.5-19.3 66.6-48 83.2V360zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faDreidel = {\n prefix: 'far',\n iconName: 'dreidel',\n icon: [448, 512, [], \"f792\", \"M441 39c9.4 9.4 9.4 24.6 0 33.9L327.6 186.3l67.7 67.7c18.7 18.7 18.7 49.1 0 67.9L256 461.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V269.3c0-17 6.7-33.3 18.7-45.3L158.1 84.7c18.7-18.7 49.1-18.7 67.9 0l67.7 67.7L407 39c9.4-9.4 24.6-9.4 33.9 0zM106.3 204.3L52.7 257.9c-3 3-4.7 7.1-4.7 11.3V416c0 8.8 7.2 16 16 16H210.7c4.2 0 8.3-1.7 11.3-4.7l53.7-53.7L106.3 204.3zm33.9-33.9L309.7 339.7 361.4 288 192 118.6l-51.7 51.7z\"]\n};\nvar faPersonDress = {\n prefix: 'far',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M208 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm21.7 185.7l37.4 66.1c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7l-51.8-91.5c-19.8-35-56.9-56.6-97.1-56.6s-77.3 21.6-97.1 56.6L11.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1l37.4-66.1L53.7 363.7C50.8 373.9 58.5 384 69.1 384H96V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h26.9c10.6 0 18.3-10.1 15.4-20.3L229.7 233.7zM160 176c2.2 0 4 1.4 4.6 3.5l44 156.5H111.4l44-156.5c.6-2.1 2.5-3.5 4.6-3.5z\"]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'far',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM276 136c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V344c0 11 9 20 20 20s20-9 20-20V330.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V136z\"]\n};\nvar faBusinessTime = {\n prefix: 'far',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64v32.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V160c0-8.8-7.2-16-16-16H360 152 64c-8.8 0-16 7.2-16 16v96H192 352h8.2c-21.9 26.6-36.2 59.7-39.5 96l-.7 0H224c-17.7 0-32-14.3-32-32V304H48V416c0 8.8 7.2 16 16 16H332c6.9 17.5 16.4 33.7 28.2 48H64c-35.3 0-64-28.7-64-64V280 160c0-35.3 28.7-64 64-64h64zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faFlowerTulip = {\n prefix: 'far',\n iconName: 'flower-tulip',\n icon: [512, 512, [127799], \"f801\", \"M273.9 8.1C269.4 2.9 262.9 0 256 0s-13.4 2.9-17.9 8.1L189 63.3 134.7 21.1c-7.2-5.6-17-6.6-25.3-2.6S96 30.8 96 40V152c0 75.1 60.9 136 136 136v85.4C191 321.4 127.4 288 56 288H28c-15.5 0-28 12.5-28 28C0 424.2 87.8 512 196 512h36 48 36c108.2 0 196-87.8 196-196c0-15.5-12.5-28-28-28H456c-71.4 0-135 33.4-176 85.4V288c75.1 0 136-60.9 136-136V40c0-9.2-5.2-17.5-13.5-21.6s-18-3-25.3 2.6L323 63.3 273.9 8.1zM280 240H232c-48.6 0-88-39.4-88-88V89.1l33.3 25.9c10 7.8 24.3 6.5 32.7-3L256 60.1l46.1 51.8c8.4 9.5 22.7 10.8 32.7 3L368 89.1V152c0 48.6-39.4 88-88 88zM196 464c-75 0-136.9-55.7-146.7-128H56c80.6 0 148.5 54.1 169.4 128H196zm120 0H286.6c20.9-73.9 88.8-128 169.4-128h6.7C452.9 408.3 391 464 316 464z\"]\n};\nvar faPeoplePantsSimple = {\n prefix: 'far',\n iconName: 'people-pants-simple',\n icon: [512, 512, [], \"e21a\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM73.7 237.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h80 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C180.9 220.8 167 208 150.4 208H105.6c-16.6 0-30.5 12.8-31.9 29.3zm160.5 45.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM329.7 237.3l-4.1 49.3c-.8 9.3 6.6 17.3 15.9 17.3H344h80 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C436.9 220.8 423 208 406.4 208H361.6c-16.6 0-30.5 12.8-31.9 29.3zm160.5 45.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3c3.5-41.5 38.1-73.4 79.7-73.4h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3z\"]\n};\nvar faCloudDrizzle = {\n prefix: 'far',\n iconName: 'cloud-drizzle',\n icon: [512, 512, [], \"f738\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM88 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376zm96 64c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440zm168-24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-13.3-10.7-24-24-24zm-72-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376zm168-24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24z\"]\n};\nvar faTableCellsLarge = {\n prefix: 'far',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M280 80V232H464V96c0-8.8-7.2-16-16-16H280zm-48 0H64c-8.8 0-16 7.2-16 16V232H232V80zM48 280V416c0 8.8 7.2 16 16 16H232V280H48zM280 432H448c8.8 0 16-7.2 16-16V280H280V432zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'far',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M448 88c0-48.6-39.4-88-88-88H56C25.1 0 0 25.1 0 56V344c0 22.3 13.1 41.6 32 50.6V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H368c44.2 0 80-35.8 80-80c0-2.7-.1-5.4-.4-8h.4V88zM368 400c17.7 0 32 14.3 32 32s-14.3 32-32 32H80V400H368zm32-41.3c-9.8-4.3-20.6-6.7-32-6.7H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8H360c22.1 0 40 17.9 40 40V358.7zM216 104l13.9 24H202.1L216 104zM202.1 80l-27.7 48H119c-12.3 0-20 13.3-13.9 24l27.7 48-27.7 48c-6.2 10.7 1.5 24 13.9 24h55.4l27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48H313c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24H257.6L229.9 80c-6.2-10.7-21.6-10.7-27.7 0zm-69.3 72h27.7l-13.9 24-13.9-24zm55.4 0h55.4l27.7 48-27.7 48H188.3l-27.7-48 27.7-48zm-55.4 96l13.9-24 13.9 24H132.9zM216 296l-13.9-24h27.7L216 296zm83.1-48H271.4l13.9-24 13.9 24zm0-96l-13.9 24-13.9-24h27.7z\"]\n};\nvar faTanakh = faBookTanakh;\nvar faSolarSystem = {\n prefix: 'far',\n iconName: 'solar-system',\n icon: [512, 512, [], \"e02f\", \"M464 256c0 42.1-12.5 81.3-34 114.1c-4.4-1.3-9.1-2.1-14-2.1c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48c0-3.2-.3-6.4-.9-9.4C493.8 364.3 512 312.3 512 256C512 114.6 397.4 0 256 0c-42.3 0-82.1 10.2-117.2 28.4c14.2 9 25.3 22.3 31.6 38C196.5 54.6 225.5 48 256 48c114.9 0 208 93.1 208 208zM256 464C141.1 464 48 370.9 48 256c0-42.1 12.5-81.3 34-114.1c4.4 1.3 9.1 2.1 14 2.1c26.5 0 48-21.5 48-48s-21.5-48-48-48S48 69.5 48 96c0 3.2 .3 6.4 .9 9.4C18.2 147.7 0 199.7 0 256C0 397.4 114.6 512 256 512c42.1 0 81.7-10.1 116.8-28.1c-14.1-9.1-25.1-22.4-31.3-38.2c-26.1 11.8-55 18.3-85.5 18.3zM390.8 169.8c.8-3.1 1.2-6.4 1.2-9.8c0-22.1-17.9-40-40-40c-3.4 0-6.6 .4-9.8 1.2C317.3 105.2 287.8 96 256 96C167.6 96 96 167.6 96 256s71.6 160 160 160s160-71.6 160-160c0-31.8-9.3-61.3-25.2-86.2zM312 159c0 .3 0 .7 0 1c0 22.1 17.9 40 40 40c.3 0 .7 0 1 0c9.5 16.5 15 35.6 15 56c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112c20.4 0 39.5 5.5 56 15zm-56 81a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 80a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faSealQuestion = {\n prefix: 'far',\n iconName: 'seal-question',\n icon: [512, 512, [], \"e243\", \"M176 112c12.7 0 24.9-5.1 33.9-14.1L256 51.9l46.1 46.1c9 9 21.2 14.1 33.9 14.1h64v64c0 12.7 5.1 24.9 14.1 33.9l45.6 45.6-45.6 45.6c-9 9-14.1 21.2-14.1 33.9V400H335.1c-12.7 0-24.9 5.1-33.9 14.1L256 459.2l-45.1-45.1c-9-9-21.2-14.1-33.9-14.1H112V335.1c0-12.7-5.1-24.9-14.1-33.9L52.4 255.5l45.6-45.6c9-9 14.1-21.2 14.1-33.9V112h64zM289.9 17.9c-18.7-18.7-49.1-18.7-67.9 0L176 64H112c-26.5 0-48 21.5-48 48v64L18.4 221.6c-18.7 18.7-18.7 49.1 0 67.9L64 335.1V400c0 26.5 21.5 48 48 48h64.9l45.1 45.1c18.7 18.7 49.1 18.7 67.9 0L335.1 448H400c26.5 0 48-21.5 48-48V335.1l45.6-45.6c18.7-18.7 18.7-49.1 0-67.9L448 176V112c0-26.5-21.5-48-48-48H336L289.9 17.9zM169.8 165.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V264c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPhoneVolume = {\n prefix: 'far',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zm73 166.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2z\"]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faDiscDrive = {\n prefix: 'far',\n iconName: 'disc-drive',\n icon: [512, 512, [], \"f8b5\", \"M80 96V432H432V96c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm400 0V432h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H456 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64zM112 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm176 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHatCowboySide = {\n prefix: 'far',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M444.8 256H311.3l-31.5-25.6c-25-20.3-55-33-86.6-37.1l4.9-63.4c.3-3.6 2.9-6.5 6.4-7.2L412.3 81.2 444.8 256zM560 400H520c0-1.4-.1-2.9-.4-4.4l-26-139.6c10.2 5.4 21.6 12 32.8 19.8C563.6 301.2 592 332.9 592 368c0 17.7-14.3 32-32 32zM498 204.6c-5.9-2.8-11.1-5.1-15.3-6.9l-24.6-132C454.6 46.2 437.6 32 417.7 32c-2.7 0-5.4 .3-8.1 .8L195.1 75.7c-24.6 4.9-42.9 25.6-44.9 50.6L145 194C62.9 206.8 0 277.9 0 363.6v18.8C0 418.6 29.4 448 65.6 448H464h16 80c44.2 0 80-35.8 80-80c0-60.9-47.6-105.2-86.4-131.8c-20.3-13.9-40.5-24.5-55.5-31.6zM48 363.6C48 295.3 103.3 240 171.6 240c28.4 0 55.9 9.8 77.9 27.7L412.4 400H65.6c-9.7 0-17.6-7.9-17.6-17.6V363.6z\"]\n};\nvar faTableRows = {\n prefix: 'far',\n iconName: 'table-rows',\n icon: [512, 512, [\"rows\"], \"e292\", \"M448 432l-320 0 0-152 336 0 0 136c0 8.8-7.2 16-16 16zm16-200l-336 0 0-152 320 0c8.8 0 16 7.2 16 16l0 136zM0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416z\"]\n};\nvar faRows = faTableRows;\nvar faLocationExclamation = {\n prefix: 'far',\n iconName: 'location-exclamation',\n icon: [384, 512, [\"map-marker-exclamation\"], \"f608\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM192 96c13.3 0 24 10.7 24 24V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMapMarkerExclamation = faLocationExclamation;\nvar faFaceFearful = {\n prefix: 'far',\n iconName: 'face-fearful',\n icon: [512, 512, [], \"e375\", \"M464 256c0-43.5-13.3-83.9-36.2-117.2l-.1 .2c-6 6.5-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c8 1.1 15.7 2.8 23.2 5.2C342.4 62.2 300.9 48 256 48s-86.4 14.2-120.4 38.4c7.5-2.4 15.2-4.2 23.2-5.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8l-.1-.2C61.3 172.1 48 212.5 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM136.4 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm216-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM160 176a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm80 48A80 80 0 1 1 80 224a80 80 0 1 1 160 0zm64 0a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160z\"]\n};\nvar faClipboardUser = {\n prefix: 'far',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H304c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 208a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBusSchool = {\n prefix: 'far',\n iconName: 'bus-school',\n icon: [512, 512, [], \"f5dd\", \"M96 95v1h84.3c5.5-9.6 15.9-16 27.7-16l96 0c11.8 0 22.2 6.4 27.7 16H416V95c0-.4 0-.8-.1-1l0-.1C404.2 79.4 363.5 48 256 48C156.9 48 109.6 79.1 96 94.3c0 .2 0 .4 0 .7zm0 49v82.8c7.7-1.8 15.7-2.8 24-2.8H232V144H96zm320 82.8V144H280v80H392c8.3 0 16.3 1 24 2.8zM464 95v33h16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H467c17.9 18.7 29 44.1 29 72v56c0 29.8-20.4 54.9-48 62v42c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H112v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V446c-27.6-7.1-48-32.2-48-62V328c0-27.9 11-53.3 29-72H32c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H48V95c0-8.8 2-20.6 10.4-30.6C82.9 35.2 145.9 0 256 0C373.7 0 430.9 35.1 454.3 65c7.7 9.8 9.7 21.1 9.7 30zM112 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM120 272c-30.9 0-56 25.1-56 56v56c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V328c0-30.9-25.1-56-56-56H120z\"]\n};\nvar faFilmSlash = {\n prefix: 'far',\n iconName: 'film-slash',\n icon: [640, 512, [], \"e179\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1L89.5 44.9C100.2 36.8 113.6 32 128 32H512c35.3 0 64 28.7 64 64V416c0 3.3-.2 6.5-.7 9.6l55.5 43.5c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2zM176 112.6V80H134.4L176 112.6zM328.3 232H416V192 80H224v70.3L328.3 232zM528 388.5V344H471.2L528 388.5zM416 423.8L487.4 480H128c-35.3 0-64-28.7-64-64V146.4L152.3 216H112v80h64V234.7L233.5 280H224v40V432H416v-8.2zM176 344H112v72c0 8.8 7.2 16 16 16h48V344zM464 80v88h64V96c0-8.8-7.2-16-16-16H464zm64 136H464v80h64V216z\"]\n};\nvar faSquareArrowDownRight = {\n prefix: 'far',\n iconName: 'square-arrow-down-right',\n icon: [448, 512, [], \"e262\", \"M384 432c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384zm64-16c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416zM160 368c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L119 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24H160z\"]\n};\nvar faBookSparkles = {\n prefix: 'far',\n iconName: 'book-sparkles',\n icon: [448, 512, [\"book-spells\"], \"f6b8\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM160 112l8.8-17.7c2.9-5.9 11.4-5.9 14.3 0L192 112l17.7 8.8c5.9 2.9 5.9 11.4 0 14.3L192 144l-8.8 17.7c-2.9 5.9-11.4 5.9-14.3 0L160 144l-17.7-8.8c-5.9-2.9-5.9-11.4 0-14.3L160 112zM264 216l16.6-38.8c2.8-6.5 11.9-6.5 14.7 0L312 216l38.8 16.6c6.5 2.8 6.5 11.9 0 14.7L312 264l-16.6 38.8c-2.8 6.5-11.9 6.5-14.7 0L264 264l-38.8-16.6c-6.5-2.8-6.5-11.9 0-14.7L264 216z\"]\n};\nvar faBookSpells = faBookSparkles;\nvar faWashingMachine = {\n prefix: 'far',\n iconName: 'washing-machine',\n icon: [448, 512, [\"washer\"], \"f898\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm64 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM314.6 319.7c-3.5 .2-7 .3-10.6 .3c-32 0-56-16-80-32s-48-32-80-32c-3.5 0-7.1 .2-10.7 .4C146.4 218.9 182 192 224 192c53 0 96 43 96 96c0 11.1-1.9 21.8-5.4 31.7zM368 288A144 144 0 1 0 80 288a144 144 0 1 0 288 0z\"]\n};\nvar faWasher = faWashingMachine;\nvar faChild = {\n prefix: 'far',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M160 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-96a72 72 0 1 1 0 144A72 72 0 1 1 160 0zM128 214V336h64V214.4c-10.2-4.2-21.2-6.4-32.4-6.4c-11 0-21.6 2.1-31.6 6zm0 170V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V257.9L43.7 309.8c-7.6 10.9-22.6 13.5-33.4 5.9S-3.3 293.1 4.3 282.2L50.1 217c25-35.7 65.9-57 109.5-57c43.2 0 83.7 20.8 108.8 56L315.5 282c7.7 10.8 5.2 25.8-5.6 33.5s-25.8 5.2-33.5-5.6L240 258.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H128z\"]\n};\nvar faLiraSign = {\n prefix: 'far',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M96 159.2C96 115.5 131.5 80 175.2 80c8.5 0 17 1.4 25.1 4.1l80.1 26.7c12.6 4.2 26.2-2.6 30.4-15.2s-2.6-26.2-15.2-30.4L215.5 38.5c-13-4.3-26.6-6.5-40.2-6.5C105 32 48 89 48 159.2V192H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v4.5c0 18.8-5.1 37.3-14.8 53.5L3.4 443.7c-4.4 7.4-4.6 16.6-.3 24.2S15.4 480 24 480H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H66.4l8-13.3C88.5 395.1 96 368.1 96 340.5V336H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V240H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V159.2z\"]\n};\nvar faUserVisor = {\n prefix: 'far',\n iconName: 'user-visor',\n icon: [448, 512, [], \"e04c\", \"M224 208c26.2 0 49.4-12.6 64-32H160c14.6 19.4 37.8 32 64 32zm0 48c-54 0-100.2-33.5-119-80.8c-14.3-3.2-25-16-25-31.2V80c0-17.7 14.3-32 32-32h12.1C147.5 18.7 183.6 0 224 0s76.5 18.7 99.9 48H336c17.7 0 32 14.3 32 32v64c0 15.3-10.7 28-25 31.2C324.2 222.5 278 256 224 256zM128 112c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM269.7 352H178.3c-65.7 0-120.1 48.7-129 112H398.7c-8.9-63.3-63.3-112-129-112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM313.5 429c-7.9 0-18.8 9.5-26.5 16.3c-2.1 1.9-4 3.5-5.5 4.7c-2.3 1.7-5.7 0-5.4-2.9c3.2-30.5 13.2-55.5 29.8-74.7c1.3-1.5 4.1-1.6 5.1 .1c15.8 20.6 24.2 45.9 25.1 75.3c0 3.2-4.1 4.7-6.1 2.1c-10.2-14.4-14.7-19.2-16.6-20.9z\"]\n};\nvar faFilePlusMinus = {\n prefix: 'far',\n iconName: 'file-plus-minus',\n icon: [384, 512, [], \"e177\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 200c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H128c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V288h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V200zM128 384c-13.3 0-24 10.7-24 24s10.7 24 24 24H256c13.3 0 24-10.7 24-24s-10.7-24-24-24H128z\"]\n};\nvar faChessClockFlip = {\n prefix: 'far',\n iconName: 'chess-clock-flip',\n icon: [640, 512, [\"chess-clock-alt\"], \"f43e\", \"M384 56c0-13.3 10.7-24 24-24H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H488v32h88c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V176c0-35.3 28.7-64 64-64H96V96c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16v16H440V80H408c-13.3 0-24-10.7-24-24zM64 160c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H64zm376 32a104 104 0 1 1 0 208 104 104 0 1 1 0-208zm16 48c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V240zM126.5 222.5A104 104 0 1 1 273.5 369.5 104 104 0 1 1 126.5 222.5zm124.5 22.6c-6.2-6.2-16.4-6.2-22.6 0L194.3 279c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faChessClockAlt = faChessClockFlip;\nvar faSatellite = {\n prefix: 'far',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L95 119c-9.4 9.4-9.4 24.6 0 33.9l58.1 58.1c-50.9-9.8-105.5 3.2-147.2 39.7c-3.8 3.3-5.9 8-5.9 13v.5c0 4.9 1.9 9.6 5.4 13L103 375 55 423c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48 97.6 97.6c3.5 3.5 8.1 5.4 13 5.4h.5c5 0 9.8-2.2 13-5.9c36.5-41.7 49.6-96.3 39.7-147.2L359 417c9.4 9.4 24.6 9.4 33.9 0L505 305c9.4-9.4 9.4-24.6 0-33.9l-68-68L463 177c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L417 49c-10.9-10.9-25.6-17-41-17s-30.1 6.1-41 17L309 75 241 7zm34.6 289.5c-6.4-9.7-13.8-18.8-22.3-27.3l-10.6-10.6c-8.5-8.5-17.6-15.9-27.3-22.3L369 82.9c1.9-1.9 4.4-2.9 7-2.9s5.2 1 7 2.9L429.1 129c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L275.6 296.6zM275 109L197 187l-51-51L224 57.9l51 51zM376 366.1l-51-51L403 237l51 51L376 366.1zM219.4 303.2c38.8 38.8 47.1 97 23.8 144.1L64.7 268.8c47.1-23.2 105.3-14.9 144.1 23.8l10.6 10.6z\"]\n};\nvar faPlaneLock = {\n prefix: 'far',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l95.3 61c-8.3 14.1-13.5 30.2-14.9 47.4L299.1 187.6c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6c9 2.7 17.5 5.3 24.3 7.3V436l-54.4-40.8c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5l82.5 26.4c-11 11.5-17.8 27.1-17.8 44.3v.4l-48-15.4V364l48 36v79.3c0 7.9 1.4 15.4 4 22.4c-6.8 6.4-15.9 10.3-26 10.3c-2.3 0-4.6-.3-6.9-1l6.9-23-6.9 23 0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0-6.9-23 6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faSteeringWheel = {\n prefix: 'far',\n iconName: 'steering-wheel',\n icon: [512, 512, [], \"f622\", \"M232 369v93.6C133.7 451.3 56.2 371.4 48.6 272H156.4l74.3 95.5c.4 .5 .8 1 1.3 1.5zm48 0c.4-.5 .9-1 1.3-1.5L355.6 272H463.4c-7.6 99.4-85 179.3-183.4 190.6V369zm72-145l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H195.8c-12.1 0-23.2 6.8-28.6 17.7L160 224H50.4C65.8 124.3 152 48 256 48s190.2 76.3 205.6 176H352zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faTag = {\n prefix: 'far',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5V80C0 53.5 21.5 32 48 32H197.5zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7H48V229.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faStretcher = {\n prefix: 'far',\n iconName: 'stretcher',\n icon: [640, 512, [], \"f825\", \"M41.4 71.5c-9.1-9.6-24.3-10-33.9-.9s-10 24.3-.9 33.9L139.7 244.6c16.6 17.5 39.7 27.4 63.8 27.4H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H203.5c-11 0-21.4-4.5-29-12.4L41.4 71.5zM241.2 304l86 62.5-37.3 27.1c-9.8-6.1-21.4-9.7-33.9-9.7c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-5.3-.7-10.5-1.9-15.5L368 396.2l49.9 36.3c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-12.4 0-24 3.5-33.9 9.7l-37.3-27.1 86-62.5H413.2L368 336.9 322.8 304H241.2zM240 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm224 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faBookSection = {\n prefix: 'far',\n iconName: 'book-section',\n icon: [448, 512, [\"book-law\"], \"e0c1\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM224.7 246.1c-20.7-5.5-63.7-17-55.7-58.8c2-10.5 7.5-19.2 15.6-25.8c-11.5-8.8-19.4-21.7-15.6-41.7c5.7-29.8 37.9-45 82-38.7c7.8 1.1 16.8 3.3 28.3 6.9c7.9 2.5 12.3 10.9 9.9 18.8c-2.5 7.9-11 12.3-18.8 9.9c-9.9-3.1-17.5-4.9-23.6-5.8c-26.1-3.8-46 2.3-48.4 14.7c-1.7 8.7-.2 15.1 34 24.1l6.8 1.8 0 0c28.2 7.3 70.9 18.3 62.8 60.6c-2 10.5-7.5 19.2-15.6 25.9c11.8 8.9 19.4 21.7 15.6 41.6c-4.8 25.3-28.9 40.2-63.1 40.2c-6 0-12.3-.5-18.9-1.4c-12.1-1.7-24.9-5.8-36.1-9.5l-5.4-1.8c-7.9-2.5-12.2-11-9.7-18.8c2.5-7.9 11-12.3 18.9-9.7l5.5 1.8c10.1 3.3 21.5 7 31 8.3c26.3 3.7 46.1-2.3 48.4-14.7c2.3-11.9-5.4-16.8-40.9-26l-7-1.8zM222 177.9c-8.1 1.1-21.6 4.5-23.6 15.1c-1.7 8.7-.2 15.1 34 24.1c0 0 13.2 3.5 16.6 4.4c8.2-1.1 21.6-4.5 23.6-15c2.3-11.9-5.4-16.8-40.9-26c0 0-8.8-2.3-9.7-2.6z\"]\n};\nvar faBookLaw = faBookSection;\nvar faInboxes = {\n prefix: 'far',\n iconName: 'inboxes',\n icon: [512, 512, [], \"e1bb\", \"M62.5 96h67.9c18.2 0 34.8 10.3 42.9 26.5L192 160H320l18.7-37.5c8.1-16.3 24.8-26.5 42.9-26.5h67.8l-40-48-307 0-40 48zM48 144v96H464V144l-82.3 0-18.7 37.5C354.8 197.7 338.2 208 320 208H192c-18.2 0-34.8-10.3-42.9-26.5L130.3 144 48 144zM0 144V113.4c0-11.2 3.9-22.1 11.1-30.7L65.6 17.3C74.7 6.3 88.2 0 102.5 0h307c14.2 0 27.8 6.3 36.9 17.3l54.5 65.4c7.2 8.6 11.1 19.5 11.1 30.7V144v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144zM310.1 432H201.9c-24.2 0-46.4-13.7-57.2-35.4L130.3 368H48v96H464V368l-82.3 0-14.3 28.6-42.6-21.3 42.6 21.3c-10.8 21.7-33 35.4-57.2 35.4zM48 320h82.3c18.2 0 34.8 10.3 42.9 26.5l14.3 28.6c2.7 5.4 8.3 8.8 14.3 8.8H310.1c6.1 0 11.6-3.4 14.3-8.8l14.3-28.6c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\"]\n};\nvar faCoffeeBean = {\n prefix: 'far',\n iconName: 'coffee-bean',\n icon: [448, 512, [], \"e13e\", \"M385.4 134.2c-13.2 27.4-29.7 55.9-48.4 74.7c-34.5 34.8-69.6 52.3-101.5 68.2l-.8 .4c-32.1 16-61 30.6-89.7 59.4c-16.5 16.6-34.2 46.5-49.4 76.9c22.9 13.6 52.9 19.1 87.6 14.1c45.5-6.5 96.1-30.9 138.9-73.8s67.3-93.4 73.8-138.9c4.5-31.5 .4-59.1-10.5-81zm-34.9-39c-23.2-14.8-54.2-20.9-90.3-15.8c-45.5 6.5-96.1 30.9-138.9 73.8S54 246.7 47.5 292.2c-4.8 33.6 .2 62.7 12.8 85.3c14.6-27.4 32.1-55.8 50.7-74.4c34.5-34.8 69.6-52.3 101.5-68.2l.8-.4c32.1-16 61-30.6 89.7-59.4c16.8-16.9 33.6-48.3 47.5-79.8zm50.5-20.7c74.2 74.2 54.2 214.6-44.8 313.6s-239.4 119-313.6 44.8s-54.2-214.6 44.8-313.6s239.4-119 313.6-44.8z\"]\n};\nvar faCircleYen = {\n prefix: 'far',\n iconName: 'circle-yen',\n icon: [512, 512, [], \"e5d0\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM159.9 150.2c9.8-8.9 25-8.2 33.9 1.6L256 220.3l62.2-68.5c8.9-9.8 24.1-10.5 33.9-1.6s10.5 24.1 1.6 33.9L288.4 256H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H280v32h40c8.8 0 16 7.2 16 16s-7.2 16-16 16H280v25c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h40V288H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h31.6l-65.3-71.9c-8.9-9.8-8.2-25 1.6-33.9z\"]\n};\nvar faBracketsCurly = {\n prefix: 'far',\n iconName: 'brackets-curly',\n icon: [576, 512, [], \"f7ea\", \"M152 32c-48.6 0-88 39.4-88 88v45.5c0 10.6-4.2 20.8-11.7 28.3L7 239c-9.4 9.4-9.4 24.6 0 33.9l45.3 45.3c7.5 7.5 11.7 17.7 11.7 28.3V392c0 48.6 39.4 88 88 88h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H152c-22.1 0-40-17.9-40-40V346.5c0-23.3-9.3-45.7-25.8-62.2L57.9 256l28.3-28.3c16.5-16.5 25.8-38.9 25.8-62.2V120c0-22.1 17.9-40 40-40h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm272 0H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c22.1 0 40 17.9 40 40v45.5c0 23.3 9.3 45.7 25.8 62.2L518.1 256l-28.3 28.3c-16.5 16.5-25.8 38.9-25.8 62.2V392c0 22.1-17.9 40-40 40H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c48.6 0 88-39.4 88-88V346.5c0-10.6 4.2-20.8 11.7-28.3L569 273c9.4-9.4 9.4-24.6 0-33.9l-45.3-45.3c-7.5-7.5-11.7-17.7-11.7-28.3V120c0-48.6-39.4-88-88-88z\"]\n};\nvar faEllipsisStrokeVertical = {\n prefix: 'far',\n iconName: 'ellipsis-stroke-vertical',\n icon: [192, 512, [\"ellipsis-v-alt\"], \"f39c\", \"M96 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 88A64 64 0 1 1 96 32a64 64 0 1 1 0 128zm24 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 32 256zm88 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 32 416z\"]\n};\nvar faEllipsisVAlt = faEllipsisStrokeVertical;\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9c.1-.2 .2-.3 .3-.5z\"]\n};\nvar faSquare1 = {\n prefix: 'far',\n iconName: 'square-1',\n icon: [448, 512, [], \"e256\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm172 99.2c-7.4-4.3-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L200 193.4V336H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V152c0-8.6-4.6-16.5-12-20.8z\"]\n};\nvar faCakeCandles = {\n prefix: 'far',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM120 168c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H64c-35.3 0-64 28.7-64 64V480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V288c0-35.3-28.7-64-64-64h-8V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H248V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H120V168zM64 272H384c8.8 0 16 7.2 16 16v60.8c-5.5-2.1-10.9-5.1-15.8-8.5c-3.2-2.2-6.1-5-9.1-7.7c-6.7-6.3-13.5-12.6-23.2-12.6c-9.4 0-16.5 6.5-23.4 12.8c-2.9 2.7-5.8 5.4-8.9 7.5C310.2 347 299 352 288 352s-22.2-5-31.8-11.7c-3.2-2.2-6.1-5-9.1-7.7c-6.7-6.3-13.5-12.6-23.2-12.6c-9.4 0-16.5 6.5-23.4 12.8c-2.9 2.7-5.8 5.4-8.9 7.5C182.2 347 171 352 160 352s-22.2-5-31.8-11.7c-3.2-2.2-6.1-5-9.1-7.7C112.4 326.3 105.7 320 96 320c-9.4 0-16.5 6.5-23.4 12.8c-2.9 2.7-5.8 5.4-8.9 7.5c-4.9 3.4-10.3 6.4-15.8 8.5V288c0-8.8 7.2-16 16-16zM400 398.5V464H48V398.5c17.5-3.3 33.9-11.6 48-22.3c18.4 14 40.6 23.8 64 23.8s45.6-9.8 64-23.8c18.4 14 40.6 23.8 64 23.8s45.6-9.8 64-23.8c14.1 10.7 30.5 19 48 22.3z\"]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faHeadSide = {\n prefix: 'far',\n iconName: 'head-side',\n icon: [512, 512, [], \"f6e9\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faDollyEmpty = {\n prefix: 'far',\n iconName: 'dolly-empty',\n icon: [576, 512, [], \"f473\", \"M0 24C0 10.7 10.7 0 24 0h80.8C129 0 150.5 15.6 158 38.6L250 320.2c2-.1 4-.2 6-.2c33.2 0 62.5 16.9 79.8 42.5L544 289.4c12.5-4.4 26.2 2.2 30.6 14.7s-2.2 26.2-14.7 30.6L351.7 407.8c.2 2.7 .3 5.4 .3 8.2c0 53-43 96-96 96s-96-43-96-96c0-34 17.7-63.9 44.3-80.9L112.4 53.5c-1.1-3.3-4.1-5.5-7.6-5.5H24C10.7 48 0 37.3 0 24zM304 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faFaceTissue = {\n prefix: 'far',\n iconName: 'face-tissue',\n icon: [512, 512, [], \"e39c\", \"M256 464c114.9 0 208-93.1 208-208s-93.1-208-208-208S48 141.1 48 256c0 8.7 .5 17.3 1.6 25.7L8.1 288.7c-2 .3-4 .8-5.9 1.4C.8 278.9 0 267.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-11.5 0-22.9-.8-34-2.2c.6-1.9 1-3.9 1.4-5.9l6.9-41.5c8.4 1 17 1.6 25.7 1.6zm-13.3-76l9-54.1 4.3 3.4 25-20c8.2-6.5 19.6-7 28.3-1.2l31.6 21.1L351 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-24 24c-8.1 8.1-20.8 9.3-30.3 3l-33.4-22.3-26.3 21c-8.2 6.6-19.7 7-28.3 1.2zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zm-159.2 162c3.7 3.7 5.3 8.8 4.5 13.9l-32 192c-1.1 6.7-6.3 11.9-13 13.1s-13.4-1.9-16.7-7.8l-26-45.5L51.9 479.5c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l21.1-84.2-45.5-26c-5.9-3.4-9-10-7.8-16.7s6.4-11.9 13.1-13l192-32c5.1-.8 10.3 .8 13.9 4.5z\"]\n};\nvar faAnglesUp = {\n prefix: 'far',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M241 47c-9.4-9.4-24.6-9.4-33.9 0L47 207c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l143-143L367 241c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 47zM401 399L241 239c-9.4-9.4-24.6-9.4-33.9 0L47 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l143-143L367 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faBinRecycle = {\n prefix: 'far',\n iconName: 'bin-recycle',\n icon: [576, 512, [], \"e5f7\", \"M0 56C0 42.7 10.7 32 24 32h8H80.1 495.9 544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H540.6L516.2 420.6C513.9 454.1 486 480 452.4 480H123.6c-33.6 0-61.4-25.9-63.8-59.4L35.4 80H24C10.7 80 0 69.3 0 56zM83.6 80l24.1 337.1c.6 8.4 7.6 14.9 16 14.9H452.4c8.4 0 15.4-6.5 16-14.9L492.4 80H83.6zM288 176c-2.2 0-4.3 1.1-5.5 2.9l-20.7 29.6c-7.3 10.5-21.6 13.4-32.4 6.6c-11.7-7.3-14.8-22.9-6.9-34.1l20.7-29.6c10.2-14.6 27-23.3 44.8-23.3s34.6 8.7 44.8 23.3l20.7 29.6c7.9 11.3 4.7 26.8-6.9 34.1c-10.8 6.8-25.1 3.9-32.4-6.6l-20.7-29.6c-1.3-1.8-3.3-2.9-5.5-2.9zm-88.3 77.1c11.7 7.3 14.8 22.9 6.9 34.1l-21.5 30.7c-.8 1.1-1.2 2.4-1.2 3.7c0 3.5 2.9 6.4 6.4 6.4H240c13.3 0 24 10.7 24 24s-10.7 24-24 24H190.4c-30.1 0-54.4-24.4-54.4-54.4c0-11.2 3.4-22.1 9.8-31.2l21.5-30.7c7.3-10.5 21.6-13.4 32.4-6.6zM312 352c0-13.3 10.7-24 24-24h49.6c3.5 0 6.4-2.9 6.4-6.4c0-1.3-.4-2.6-1.2-3.7l-21.5-30.7c-7.9-11.3-4.7-26.8 6.9-34.1c10.8-6.8 25.1-3.9 32.4 6.6l21.5 30.7c6.4 9.1 9.8 20 9.8 31.2c0 30.1-24.4 54.4-54.4 54.4H336c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPaperclip = {\n prefix: 'far',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M375 73c-26-26-68.1-26-94.1 0L89 265C45.3 308.6 45.3 379.4 89 423s114.4 43.6 158.1 0L399 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L281 457c-62.4 62.4-163.5 62.4-225.9 0S-7.4 293.4 55 231L247 39C291.7-5.7 364.2-5.7 409 39s44.7 117.2 0 161.9L225.2 384.7c-31.6 31.6-83.6 28.7-111.5-6.2c-23.8-29.8-21.5-72.8 5.5-99.8L271 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L153.2 312.7c-9.7 9.7-10.6 25.1-2 35.8c10 12.5 28.7 13.6 40 2.2L375 167c26-26 26-68.1 0-94.1z\"]\n};\nvar faChartLineDown = {\n prefix: 'far',\n iconName: 'chart-line-down',\n icon: [512, 512, [128201], \"f64d\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM320 296c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v54.1L321 127c-9.4-9.4-24.6-9.4-33.9 0l-79 79-63-63c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l79-79L398.1 272H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowRightToCity = {\n prefix: 'far',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M336 56c0-4.4 3.6-8 8-8H456c4.4 0 8 3.6 8 8V216c0 13.3 10.7 24 24 24h80 16c4.4 0 8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-28.2-20.9-51.6-48-55.4V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H512V56c0-30.9-25.1-56-56-56H344c-30.9 0-56 25.1-56 56V488c0 13.3 10.7 24 24 24s24-10.7 24-24V56zm32 40v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H384zM368 288v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H512zM496 384v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16zM160.1 158.2c-9.8-8.9-25-8.2-33.9 1.6s-8.2 25 1.6 33.9L169.9 232H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H169.9l-42.1 38.2c-9.8 8.9-10.5 24.1-1.6 33.9s24.1 10.5 33.9 1.6l88-80c5-4.5 7.9-11 7.9-17.8s-2.9-13.2-7.9-17.8l-88-80z\"]\n};\nvar faLockA = {\n prefix: 'far',\n iconName: 'lock-a',\n icon: [448, 512, [], \"e422\", \"M224 48c44.2 0 80 35.8 80 80v32H144V128c0-44.2 35.8-80 80-80zM96 128v32H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V128C352 57.3 294.7 0 224 0S96 57.3 96 128zM64 208H96h48H304h48 32c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zm58.5 197.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L178.8 400h90.3l13.4 26.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2L245.6 245.5c-1.2-2.4-2.7-4.6-4.6-6.5c-2.2-2.2-4.7-3.9-7.4-5c-3.1-1.3-6.3-2-9.5-2s-6.4 .6-9.5 2c-2.7 1.2-5.3 2.9-7.4 5c-1.9 1.9-3.4 4.1-4.6 6.5L122.5 405.3zM202.8 352L224 309.7 245.2 352H202.8z\"]\n};\nvar faRibbon = {\n prefix: 'far',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M6.5 415.6l96.6-103.4L136 347.4 60.5 428.2l40.3 28.2 68.5-73.3 32.8 35.1-80.5 86.2c-8.2 8.7-21.5 10.1-31.3 3.3l-80-56c-5.7-4-9.4-10.2-10.1-17.2s1.6-13.8 6.3-18.9zM245.9 159.4l7-7.5c12.3-13.1 19.1-30.4 19.1-48.4c0-15.3-5-30.2-14.1-42.5l-9.3-12.5c-7.3-.4-15.5-.6-24.4-.6V0c14.8 0 27.9 .6 39 1.5c9.1 .7 17 1.7 23.5 2.6c21.2 3.1 38.2 15.4 49.5 30.6l40.2 53.6c15.4 20.6 23.7 45.6 23.7 71.3c0 30.1-11.4 59.1-32 81.2l-23 24.6-32.8-35.2L332.9 208c12.3-13.1 19.1-30.4 19.1-48.4c0-15.3-5-30.2-14.2-42.5L319.5 92.6c.3 3.6 .5 7.3 .5 11c0 30.1-11.4 59.1-32 81.2l-9.2 9.8-32.8-35.2zM224 48c-8.9 0-17.1 .2-24.4 .6l-9.3 12.5c-9.2 12.3-14.1 27.2-14.1 42.5c0 18 6.8 35.3 19.1 48.4L441.5 415.6c4.7 5.1 7.1 12 6.3 18.9s-4.4 13.2-10.1 17.2l-80 56c-9.8 6.9-23.1 5.5-31.3-3.3L80.1 240.7c-20.6-22-32-51-32-81.2c0-25.7 8.3-50.7 23.7-71.3L112 34.7c11.4-15.2 28.4-27.5 49.5-30.6c6.6-1 14.4-1.9 23.5-2.6C196.1 .6 209.2 0 224 0V48zM110.2 117.1c-9.2 12.3-14.1 27.2-14.1 42.5c0 18 6.8 35.3 19.1 48.4L347.3 456.4l40.3-28.2L160.1 184.7c-20.6-22-32-51-32-81.2c0-3.7 .2-7.4 .5-11l-18.4 24.5z\"]\n};\nvar faLungs = {\n prefix: 'far',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V166.8c0 18.1-8.7 35.1-23.5 45.6L256 224.2V184.7 176 165.3C256 127 225 96 186.7 96c-21.7 0-42.8 10.2-55.8 28.8c-15.4 22.1-44.3 65.4-71 116.9C33.4 292.6 7.5 354.2 .2 412c-.2 1.3-.2 2.6-.2 4v7c0 49.1 39.8 89 89 89c7.3 0 14.5-.9 21.6-2.7l72.7-18.2C226 480.5 256 442.1 256 398V322.5l-48 34.3V398c0 22-15 41.2-36.4 46.6L98.9 462.8c-3.3 .8-6.6 1.2-9.9 1.2c-22.6 0-41-18.3-41-41v-6c6.3-49.1 29-104.2 54.4-153.1c25.5-49 53.1-90.5 67.8-111.6c3.6-5.1 9.6-8.3 16.4-8.3c11.8 0 21.3 9.6 21.3 21.3V176v43.2 39.3l-69.9 50c-10.8 7.7-13.3 22.7-5.6 33.5s22.7 13.3 33.5 5.6l42.1-30 48-34.3 44.4-31.7c7.4-5.3 13.9-11.4 19.6-18.2c5.6 6.8 12.2 12.9 19.6 18.2L384 283.2l48 34.3 42.1 30c10.8 7.7 25.8 5.2 33.5-5.6s5.2-25.8-5.6-33.5l-69.9-50V219.2 176 165.3c0-11.8 9.6-21.3 21.3-21.3c6.8 0 12.8 3.2 16.4 8.3c14.7 21.1 42.3 62.6 67.8 111.6C563 312.8 585.7 367.9 592 417v6c0 22.6-18.3 41-41 41c-3.4 0-6.7-.4-9.9-1.2l-72.7-18.2C447 439.3 432 420.1 432 398V356.8l-48-34.3V398c0 44.1 30 82.5 72.7 93.1l72.7 18.2c7.1 1.8 14.3 2.7 21.6 2.7c49.1 0 89-39.8 89-89v-7c0-1.3-.1-2.7-.2-4c-7.2-57.9-33.1-119.4-59.6-170.3c-26.8-51.5-55.6-94.8-71-116.9c-13-18.6-34-28.8-55.8-28.8C415 96 384 127 384 165.3V176v8.7 39.5l-16.6-11.8c-14.7-10.5-23.4-27.5-23.4-45.6V24z\"]\n};\nvar faPersonPinball = {\n prefix: 'far',\n iconName: 'person-pinball',\n icon: [640, 512, [], \"e21d\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM48 186.2c0-5.6 4.6-10.2 10.2-10.2c4.9 0 9.7 1.3 13.8 3.7V299.8L50.6 279.9c-1.6-1.5-2.6-3.6-2.6-5.9V186.2zm72 158.2v-88l6.5 11.5c7.1 12.5 20.4 20.2 34.7 20.2H192v88V488c0 13.3 10.7 24 24 24s24-10.7 24-24V400H592v88c0 13.3 10.7 24 24 24s24-10.7 24-24V376 208 24c0-13.3-10.7-24-24-24H504c-13.3 0-24 10.7-24 24V66c0 6.9 1.3 13.8 3.8 20.3l44 113.2L251 249.3c-4.4-5.7-11.3-9.3-19-9.3H165.9l-42.3-74c-13.4-23.5-38.4-38-65.4-38C26.1 128 0 154.1 0 186.2V274c0 15.6 6.5 30.4 17.9 41L112 402.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V399c0-11.1-4.6-21.7-12.8-29.3L120 344.4zM592 352H240V300.1l32.1-5.8c0 .6-.1 1.1-.1 1.7c0 13.3 10.7 24 24 24s24-10.7 24-24c0-3.5-.8-6.9-2.2-9.9L592 236.7V352zM48 386.7L0 342.1 0 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-101.3zM528 66V48h64V187.2l-16.5 2.4L528.5 68.9c-.4-.9-.5-1.9-.5-2.9z\"]\n};\nvar faArrowUp91 = {\n prefix: 'far',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M424 80a40 40 0 1 0 0 80 40 40 0 1 0 0-80zm88 40c0 .8 0 1.6 0 2.5c-.6 20.2-7.9 39.7-20.9 55.3l-64.6 77.6c-8.5 10.2-23.6 11.6-33.8 3.1s-11.6-23.6-3.1-33.8L405.1 206c-39.5-8.6-69.1-43.8-69.1-86c0-48.6 39.4-88 88-88s88 39.4 88 88zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM456 312V432h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 384c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V345.3l-16.4 5.5c-12.6 4.2-26.2-2.6-30.4-15.2s2.6-26.2 15.2-30.4l48-16c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5z\"]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faAppleCore = {\n prefix: 'far',\n iconName: 'apple-core',\n icon: [384, 512, [], \"e08f\", \"M192 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H192zM128 464c4.6 0 13.6-1.7 24.9-5.1c25.4-7.6 52.7-7.6 78.1 0c11.3 3.4 20.3 5.1 24.9 5.1c11.4 0 24.9-3.9 38.9-13.1C260.7 411.6 240 360.2 240 304c0-46 13.9-88.8 37.7-124.4c-12.7 3-26.4 7.5-39 12.4c-30 11.7-63.5 11.7-93.5 0c-12.6-4.9-26.2-9.4-39-12.4C130.1 215.2 144 258 144 304c0 56.2-20.7 107.6-54.9 146.9c14 9.2 27.4 13.1 38.9 13.1zM304 128c6.7 0 13 .6 19.1 1.9l0 0 .5 .1c11.3 2.3 21.5 6.7 30.6 12.7c8.6 5.6 7.3 17.9-.7 24.3c-40 32.3-65.5 81.7-65.5 137c0 54.4 24.7 103 63.4 135.3c7 5.9 8.8 16.3 2.7 23.1C325.8 493.7 290.9 512 256 512c-11.9 0-26.5-3.4-38.8-7.1c-16.4-4.9-34.1-4.9-50.5 0c-12.2 3.7-26.8 7.1-38.8 7.1c-34.9 0-69.8-18.3-98.1-49.6c-6.2-6.8-4.4-17.3 2.7-23.1C71.3 407 96 358.4 96 304c0-55.4-25.6-104.7-65.5-137c-8-6.5-9.3-18.7-.7-24.3c9.2-6 19.4-10.3 30.6-12.7l.5-.1 0 0C67 128.6 73.3 128 80 128c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3z\"]\n};\nvar faCircleY = {\n prefix: 'far',\n iconName: 'circle-y',\n icon: [512, 512, [], \"e12f\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM170.1 152.3c-8.7-10-23.8-11.1-33.9-2.4s-11.1 23.8-2.4 33.9L232 297v79c0 13.3 10.7 24 24 24s24-10.7 24-24V297l98.1-113.2c8.7-10 7.6-25.2-2.4-33.9s-25.2-7.6-33.9 2.4L256 251.4l-85.9-99.1z\"]\n};\nvar faH6 = {\n prefix: 'far',\n iconName: 'h6',\n icon: [640, 512, [], \"e413\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zM519 69.3c-10.3-8.3-25.5-6.6-33.7 3.7l-98 122.5C364.4 224 352 259.5 352 296h.2c-.1 2.6-.2 5.3-.2 8c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144c-6.8 0-13.4 .5-20 1.4L522.7 103c8.3-10.4 6.6-25.5-3.8-33.7zM496 208a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faLitecoinSign = {\n prefix: 'far',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M112 56c0-13.3-10.7-24-24-24S64 42.7 64 56V220.5L17.8 232.8C5 236.2-2.6 249.4 .8 262.2s16.6 20.4 29.4 17l33.8-9V456c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V257.4l158.2-42.2c12.8-3.4 20.4-16.6 17-29.4s-16.6-20.4-29.4-17L112 207.7V56z\"]\n};\nvar faCircleSmall = {\n prefix: 'far',\n iconName: 'circle-small',\n icon: [320, 512, [], \"e122\", \"M272 256A112 112 0 1 0 48 256a112 112 0 1 0 224 0zM0 256a160 160 0 1 1 320 0A160 160 0 1 1 0 256z\"]\n};\nvar faBorderNone = {\n prefix: 'far',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faArrowTurnDownLeft = {\n prefix: 'far',\n iconName: 'arrow-turn-down-left',\n icon: [512, 512, [], \"e2e1\", \"M464 56c0-13.3 10.7-24 24-24s24 10.7 24 24V224c0 48.6-39.4 88-88 88H81.9l87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 305c-9.4-9.4-9.4-24.6 0-33.9L135 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87H424c22.1 0 40-17.9 40-40V56z\"]\n};\nvar faCircleNodes = {\n prefix: 'far',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M368 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-29.9 50.6c6.8 8.3 15.2 15.2 24.7 20.2L326 352.6c-11.5 1.4-22.2 5.3-31.7 11.1L153.3 240.2c4.3-9.9 6.7-20.7 6.7-32.2c0-2-.1-4.1-.2-6.1l178.3-71.3zM410 159.4c39.5-4.9 70-38.6 70-79.4c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 2 .1 4.1 .2 6.1L141.9 157.4C127.3 139.4 105 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c15.3 0 29.5-4.3 41.6-11.7L262.7 399.8c-4.3 9.9-6.7 20.7-6.7 32.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-30.7-17.3-57.4-42.7-70.8L410 159.4zM304 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faParachuteBox = {\n prefix: 'far',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16H232V320H208c-3.3 0-6.5 .3-9.6 1L96.3 188.9c-.2-4.3-.3-8.6-.3-12.9c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192H38L162.4 353c-1.6 4.7-2.4 9.8-2.4 15v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-5.3-.8-10.3-2.4-15L474 192h19.1c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 4.3-.1 8.6-.3 12.9L313.6 321c-3.1-.6-6.3-1-9.6-1H280V192H383.5zM208 368h96v96H208V368z\"]\n};\nvar faMessageMedical = {\n prefix: 'far',\n iconName: 'message-medical',\n icon: [512, 512, [\"comment-alt-medical\"], \"f7f4\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM224 128v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H288V128c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCommentAltMedical = faMessageMedical;\nvar faRugbyBall = {\n prefix: 'far',\n iconName: 'rugby-ball',\n icon: [512, 512, [], \"e3c6\", \"M336 16h32c70.7 0 128 57.3 128 128v32c0 176.7-143.3 320-320 320H144C73.3 496 16 438.7 16 368V336C16 159.3 159.3 16 336 16zM308.5 65.4C252.1 71 200.9 93.9 160 128.6c-11.5 9.8-22.2 20.5-32 32.1c-34.8 41.3-57.6 93.1-62.8 150C88.5 266 125.5 216.6 172 170c45.1-45.1 92.9-81.2 136.4-104.6zm-108 381.5c57.2-5.1 109.3-27.9 150.8-62.9c11.6-9.8 22.3-20.5 32.1-32c34.9-41.1 57.8-92.6 63.3-149.3c-23.4 43.7-59.7 91.7-105 137c-46.8 46.8-96.4 83.9-141.3 107.2zM90.4 421.4c2.7 2.7 8.8 5.9 22.3 5c13.4-.9 31.2-5.8 52.5-15.6c42.3-19.4 93.5-55.8 142.7-105s85.6-100.4 105-142.7c9.8-21.2 14.7-39 15.6-52.5c.9-13.5-2.3-19.6-5-22.3s-8.8-5.9-22.3-5c-13.4 .9-31.2 5.8-52.5 15.6c-42.3 19.5-93.5 55.8-142.7 105s-85.6 100.4-105 142.7c-9.8 21.2-14.7 39-15.6 52.5c-.9 13.5 2.3 19.6 5 22.3z\"]\n};\nvar faCommentMusic = {\n prefix: 'far',\n iconName: 'comment-music',\n icon: [512, 512, [], \"f8b0\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM352 128c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V219.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V160 128z\"]\n};\nvar faIndent = {\n prefix: 'far',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64C0 77.3 10.7 88 24 88H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 40 0 50.7 0 64zM192 192c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24zm24 104c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216zM0 448c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM121 268.4c7.8-6.4 7.8-18.3 0-24.7L26.2 165.6C15.7 157 0 164.4 0 177.9V334.1c0 13.5 15.7 20.9 26.2 12.4L121 268.4z\"]\n};\nvar faTreeDeciduous = {\n prefix: 'far',\n iconName: 'tree-deciduous',\n icon: [512, 512, [127795, \"tree-alt\"], \"f400\", \"M185.9 103.6c-1.4 6.2-5.3 11.6-10.7 15s-12 4.4-18.2 3c-4.1-1-8.5-1.5-13-1.5c-30.9 0-56 25.1-56 56c0 6.4 1.1 12.5 3 18.2c3.8 11.1-1 23.4-11.3 28.9C60.8 233.2 48 253.2 48 276c0 33.1 26.9 60 60 60H232V320 256 152c0-13.3 10.7-24 24-24s24 10.7 24 24V256v64 16H404c33.1 0 60-26.9 60-60c0-22.8-12.8-42.8-31.7-52.9c-10.4-5.6-15.2-17.8-11.3-28.9c1.9-5.7 3-11.8 3-18.2c0-30.9-25.1-56-56-56c-4.5 0-8.8 .5-13 1.5c-6.2 1.5-12.7 .4-18.2-3s-9.3-8.7-10.7-15C318.7 71.7 290.1 48 256 48s-62.7 23.7-70.1 55.6zM232 384H108C48.4 384 0 335.6 0 276c0-34.4 16.1-65 41.1-84.8c-.7-5-1.1-10.1-1.1-15.2C40 118.6 86.6 72 144 72c.7 0 1.3 0 2 0C164.5 29.6 206.8 0 256 0s91.5 29.6 110 72c.7 0 1.3 0 2 0c57.4 0 104 46.6 104 104c0 5.2-.4 10.2-1.1 15.2C495.9 211 512 241.6 512 276c0 59.6-48.4 108-108 108H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384z\"]\n};\nvar faTreeAlt = faTreeDeciduous;\nvar faPuzzlePieceSimple = {\n prefix: 'far',\n iconName: 'puzzle-piece-simple',\n icon: [640, 512, [\"puzzle-piece-alt\"], \"e231\", \"M276.7 406.5l17.3-16.6-17.3 16.6zm86.5 0l-17.3-16.6 17.3 16.6zM536.1 208.2l-18.4-15.5 18.4 15.5zm-432.2 0L85.6 223.7l18.4-15.5zM276.7 105.5L259.4 88.9v0l17.3 16.6zm86.5 0l-17.3 16.6 17.3-16.6zM259.4 88.9C247.7 101.1 240 117.5 240 136h48c0-4.7 1.9-9.5 6.1-13.9L259.4 88.9zM240 136c0 43.1 39.4 72 80 72V160c-21.3 0-32-14.1-32-24H240zm80 72c40.6 0 80-28.9 80-72H352c0 9.9-10.7 24-32 24v48zm80-72c0-18.5-7.7-34.9-19.4-47.1l-34.6 33.3c4.2 4.3 6.1 9.2 6.1 13.9h48zm-30.1-24H472V64H369.9v48zM480 120v79.1h48V120H480zm74.4 103.7c4.9-5.9 9.8-7.7 13.6-7.7V168c-20.8 0-38.2 10.4-50.3 24.7l36.7 30.9zM568 216c4 0 9.5 2.1 14.7 9.1s9.3 17.9 9.3 30.9h48c0-22.4-6.8-43.5-18.9-59.7S590.5 168 568 168v48zm24 40c0 13-4 23.8-9.3 30.9s-10.7 9.1-14.7 9.1v48c22.5 0 41-12.2 53.1-28.3S640 278.4 640 256H592zm-24 40c-3.7 0-8.6-1.8-13.6-7.7l-36.7 30.9c12 14.3 29.5 24.7 50.3 24.7V296zm-88 16.9V392h48V312.9H480zM472 400H369.9v48H472V400zm-91.4 23.1C392.3 410.9 400 394.5 400 376H352c0 4.7-1.9 9.5-6.1 13.9l34.6 33.3zM400 376c0-43.1-39.4-72-80-72v48c21.3 0 32 14.1 32 24h48zm-80-72c-40.6 0-80 28.9-80 72h48c0-9.9 10.7-24 32-24V304zm-80 72c0 18.5 7.7 34.9 19.4 47.1l34.6-33.3c-4.2-4.3-6.1-9.2-6.1-13.9H240zm30.1 24H168v48H270.1V400zM160 392V312.9H112V392h48zM85.6 288.3c-4.9 5.9-9.8 7.7-13.6 7.7v48c20.8 0 38.2-10.4 50.3-24.7L85.6 288.3zM72 296c-4 0-9.5-2.1-14.7-9.1S48 269 48 256H0c0 22.4 6.8 43.5 18.9 59.7S49.5 344 72 344V296zM48 256c0-13 4-23.8 9.3-30.9s10.7-9.1 14.7-9.1V168c-22.5 0-41 12.2-53.1 28.3S0 233.6 0 256H48zm24-40c3.7 0 8.6 1.8 13.6 7.7l36.7-30.9C110.2 178.4 92.8 168 72 168v48zm88-16.9V120H112v79.1h48zm8-87.1H270.1V64H168v48zM119.1 272c-15 0-26.5 8.1-33.5 16.3l36.7 30.9c.2-.3 .2-.2-.2 .1c-.5 .3-1.5 .7-3 .7V272zM256 414.1c0-7.8 6.3-14.1 14.1-14.1v48c18.7 0 33.9-15.2 33.9-33.9H256zm3.4 9c-1.5-1.6-3.4-4.6-3.4-9h48c0-10.1-4.5-18.5-9.9-24.2l-34.6 33.3zm124.6-9c0 4.4-1.9 7.4-3.4 9l-34.6-33.3c-5.5 5.7-9.9 14.1-9.9 24.2h48zM480 392c0 4.4-3.6 8-8 8v48c30.9 0 56-25.1 56-56H480zm40.9-120c-22.6 0-40.9 18.3-40.9 40.9h48c0 3.9-3.2 7.1-7.1 7.1V272zm33.5 16.3c-7-8.3-18.5-16.3-33.5-16.3v48c-1.5 0-2.5-.4-3-.7c-.4-.2-.4-.3-.2-.1l36.7-30.9zM520.9 240c15 0 26.5-8.1 33.5-16.3l-36.7-30.9c-.2 .3-.2 .2 .2-.1c.5-.3 1.5-.7 3-.7v48zM160 120c0-4.4 3.6-8 8-8V64c-30.9 0-56 25.1-56 56h48zm320 79.1c0 22.6 18.3 40.9 40.9 40.9V192c3.9 0 7.1 3.2 7.1 7.1H480zM119.1 240c22.6 0 40.9-18.3 40.9-40.9H112c0-3.9 3.2-7.1 7.1-7.1v48zM472 112c4.4 0 8 3.6 8 8h48c0-30.9-25.1-56-56-56v48zM85.6 223.7c7 8.3 18.5 16.3 33.5 16.3V192c1.5 0 2.5 .4 3 .7c.4 .2 .4 .3 .2 .1L85.6 223.7zM384 97.9c0 7.8-6.3 14.1-14.1 14.1V64C351.2 64 336 79.2 336 97.9h48zm-224 215c0-22.6-18.3-40.9-40.9-40.9v48c-3.9 0-7.1-3.2-7.1-7.1h48zm96-215c0-4.4 1.9-7.4 3.4-9l34.6 33.3c5.5-5.7 9.9-14.1 9.9-24.2H256zM369.9 400c7.8 0 14.1 6.3 14.1 14.1H336c0 18.7 15.2 33.9 33.9 33.9V400zM380.6 88.9c1.5 1.6 3.4 4.6 3.4 9H336c0 10.1 4.5 18.5 9.9 24.2l34.6-33.3zM168 400c-4.4 0-8-3.6-8-8H112c0 30.9 25.1 56 56 56V400zM304 97.9C304 79.2 288.8 64 270.1 64v48c-7.8 0-14.1-6.3-14.1-14.1h48z\"]\n};\nvar faPuzzlePieceAlt = faPuzzlePieceSimple;\nvar faTruckFieldUn = {\n prefix: 'far',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M80 80c-8.8 0-16 7.2-16 16v32V288v48H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H352V320 224 104 96c0-8.8-7.2-16-16-16H80zM16 336V283.7C6.4 278.2 0 267.8 0 256V160c0-11.8 6.4-22.2 16-27.7V96c0-35.3 28.7-64 64-64H336c29.8 0 54.9 20.4 62 48h37.7c21.7 0 41.4 12.5 50.7 32.2l52.3 111.2 .3 .7h5c35.3 0 64 28.7 64 64v48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H576c0 53-43 96-96 96s-96-43-96-96H352 256c0 53-43 96-96 96s-96-43-96-96H24 16v-1.4C6.7 379.3 0 370.5 0 360s6.7-19.3 16-22.6V336zm96 48a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM400 224h85.9l-43-91.4c-1.3-2.8-4.1-4.6-7.2-4.6H400v96zm80 208a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faNfcTrash = {\n prefix: 'far',\n iconName: 'nfc-trash',\n icon: [640, 512, [], \"e1fd\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H378.2l3.4 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v66.7c-11.5 4.1-21.3 12.5-26.9 23.8l-2.7 5.5H400V96c0-8.8-7.2-16-16-16zM352 240c0 13.7 5.8 26.1 15 34.8l1 14.3V360c0 22.1-17.9 40-40 40H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H320V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40v52.2c-9.8 8.8-16 21.6-16 35.8zm97.7-39.2c2.7-5.4 8.2-8.8 14.3-8.8h96c6.1 0 11.6 3.4 14.3 8.8L585.9 224H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H576 448 400c-8.8 0-16-7.2-16-16s7.2-16 16-16h38.1l11.6-23.2zM413.9 482.3L400 288H624L610.1 482.3C608.9 499 595 512 578.2 512H445.8c-16.8 0-30.7-13-31.9-29.7z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V67c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445v19H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V445c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM192 289.9l81.5 81.5C293 391 304 417.4 304 445v19H80V445c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67V48H304V67c0 27.6-11 54-30.5 73.5L192 222.1z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'far',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M464 424.1c0 4.4-3.5 7.9-7.9 7.9H55.9c-4.4 0-7.9-3.5-7.9-7.9c0-1.5 .4-2.9 1.2-4.2L149.6 260l39.5 50.8c4.6 5.9 11.7 9.3 19.2 9.3s14.5-3.6 19-9.6L268 256h92L462.8 419.9c.8 1.3 1.2 2.7 1.2 4.2zM329.8 208H256c-7.6 0-14.7 3.6-19.2 9.6l-29.1 38.9-30.9-39.8L256 90.3 329.8 208zM55.9 480H456.1c30.9 0 55.9-25 55.9-55.9c0-10.5-3-20.8-8.6-29.7L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1C0 455 25 480 55.9 480z\"]\n};\nvar faFileXmark = {\n prefix: 'far',\n iconName: 'file-xmark',\n icon: [384, 512, [\"file-times\"], \"f317\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm47 239c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFileTimes = faFileXmark;\nvar faHouseHeart = {\n prefix: 'far',\n iconName: 'house-heart',\n icon: [576, 512, [\"home-heart\"], \"f4c9\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM112 432V204.8L288 55.5 464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32zm64-162.7c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faHomeHeart = faHouseHeart;\nvar faHouseChimneyBlank = {\n prefix: 'far',\n iconName: 'house-chimney-blank',\n icon: [576, 512, [], \"e3b0\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM112 432V204.8L288 55.5 464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32z\"]\n};\nvar faMeterBolt = {\n prefix: 'far',\n iconName: 'meter-bolt',\n icon: [640, 512, [], \"e1e9\", \"M464 256c0 8.9-.6 17.6-1.6 26.2l49.3-39.4C504.8 107.5 393 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c73.7 0 140.1-31.1 186.8-81l7.5-15H432c-11.5 0-22.3-4.1-30.7-11.1C363.8 441.5 312.5 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208zM192 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm88 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm88 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm234.1 75.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L449.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H553.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faUserDoctor = {\n prefix: 'far',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm64 225c5.2-.7 10.6-1 16-1h96c5.4 0 10.8 .3 16 1v49c-27.6 7.1-48 32.2-48 62v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V464c0-17.7 14.3-32 32-32s32 14.3 32 32v16h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24c8.8 0 16-7.2 16-16V464c0-29.8-20.4-54.9-48-62V361.3c46.9 19 80 65 80 118.7v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-97.2-78.8-176-176-176H176C78.8 304 0 382.8 0 480v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-53.7 33.1-99.7 80-118.7v41c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V353zm-16 79a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUserMd = faUserDoctor;\nvar faSlashBack = {\n prefix: 'far',\n iconName: 'slash-back',\n icon: [320, 512, [], \"5c\", \"M11.9 3.3C.4 10-3.4 24.7 3.3 36.1l272 464c6.7 11.4 21.4 15.3 32.8 8.6s15.3-21.4 8.6-32.8l-272-464C38 .4 23.3-3.4 11.9 3.3z\"]\n};\nvar faCircleInfo = {\n prefix: 'far',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faInfoCircle = faCircleInfo;\nvar faFishingRod = {\n prefix: 'far',\n iconName: 'fishing-rod',\n icon: [448, 512, [], \"e3a8\", \"M280.4 48c-3.2 0-6.3 .5-9.3 1.4L206.6 69.2C136.1 90.9 88 156.1 88 229.8v42.9c22.7 3.8 40 23.6 40 47.3V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V320c0-23.8 17.3-43.5 40-47.3V229.8C40 135 101.8 51.2 192.5 23.4L256.9 3.5C264.5 1.2 272.4 0 280.4 0c44 0 79.6 35.7 79.6 79.6V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V79.6C312 62.2 297.8 48 280.4 48zM48 320V464H80V320H48zm208 24c0-71.6 55.6-127.8 89-148.1c4.3-2.6 9.6-2.6 14 0c33.5 20.3 89 76.6 89 148.1c0 32-16 80-64 112l27.3 27.3c3 3 4.7 7.1 4.7 11.3V496c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16v-1.4c0-4.2 1.7-8.3 4.7-11.3L320 456c-48-32-64-80-64-112zm128-32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHammerCrash = {\n prefix: 'far',\n iconName: 'hammer-crash',\n icon: [640, 512, [], \"e414\", \"M289.9 328.5l1.5 .7c15 7.5 31.5 8.6 46.4 4.2l-.3 1.8 54.1-23.5c9.6-4.2 20.9-1.6 27.7 6.3l38.6 44.6 15.4-56.9c2.7-10.1 11.7-17.3 22.2-17.7l58.9-2.3-34.9-47.5c-6.2-8.5-6.2-20 0-28.4l34.9-47.5L495.4 160c-10.5-.4-19.5-7.6-22.2-17.7L457.8 85.3l-20.3 23.6c-6-9.1-14.4-16.9-24.9-22.1L399 80l52-60.3c5.8-6.7 14.8-9.7 23.5-7.7s15.5 8.6 17.8 17.1L515 112.7l86.5 3.4c8.9 .3 16.8 5.6 20.7 13.6s3 17.5-2.3 24.6L568.6 224l51.3 69.7c5.3 7.2 6.1 16.6 2.3 24.6s-11.8 13.2-20.7 13.6L515 335.3l-22.6 83.5c-2.3 8.6-9.2 15.2-17.8 17.1s-17.7-1-23.5-7.7l-56.6-65.5-79.4 34.5c-8.1 3.5-17.6 2.3-24.5-3.3s-10.3-14.5-8.6-23.2l7.9-42.3zM81.9 64L53.5 120.8 312.8 250.5l49.7-99.4L188.2 64H81.9zM43.4 33.7C48.8 22.8 59.9 16 72 16H192c5 0 9.9 1.2 14.3 3.4l192 96c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-7.9 15.8-27.1 22.2-42.9 14.3L186.4 241 69.5 474.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2L143.4 219.5 17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80z\"]\n};\nvar faMessageHeart = {\n prefix: 'far',\n iconName: 'message-heart',\n icon: [512, 512, [], \"e5c9\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM144 173.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'far',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M184 49.2c-38.7 0-72 33.3-72 76.8c0 2.8 .1 5.6 .4 8.4c1.2 11.9-6.5 22.8-18.1 25.7C68.5 166.5 48 191.5 48 222.6c0 35.5 26.4 62.6 57.2 64.1c.3 0 .7 0 1 .1H108h63.3c-18.3 9.2-31.6 27-34.6 48H108l-4 0c-1.2 0-2.4-.1-3.6-.3C43.3 330.4 0 280.9 0 222.6C0 177.4 25.9 137.7 64.1 120C67.1 54.9 118.6 1.2 184 1.2c34.2 0 64.8 14.8 86.4 38.2c14.7-8.3 31.6-13 49.6-13c47.9 0 87.2 33.2 99.7 77.4C472.9 113.5 512 162 512 218.4c0 63.2-49.1 116.4-112 116.4H375.3c-3-21-16.3-38.8-34.6-48H400c34.3 0 64-29.5 64-68.4s-29.7-68.4-64-68.4h0l-.3 0c-12.4 0-22.8-9.4-23.9-21.7c-3-31.2-27.7-53.9-55.7-53.9c-14.4 0-27.6 5.8-37.7 15.6c-5.3 5.1-12.6 7.6-19.9 6.6s-13.7-5.2-17.5-11.6c-13-21.9-35.7-35.9-60.9-35.9zM288 320c0 1-.1 2.1-.1 3.1c.7-.8 1.3-1.6 2.1-2.3c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-.7 .7-1.5 1.4-2.3 2.1c1-.1 2.1-.2 3.1-.2c17.7 0 32 14.3 32 32s-14.3 32-32 32c-1 0-2.1-.1-3.1-.1c.8 .7 1.6 1.3 2.3 2.1c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0c-.7-.7-1.4-1.5-2.1-2.3c.1 1 .1 2.1 .1 3.1c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1 .1-2.1 .1-3.1c-.7 .8-1.3 1.6-2.1 2.3c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3c.7-.7 1.5-1.4 2.3-2.1c-1 .1-2.1 .1-3.1 .1c-17.7 0-32-14.3-32-32s14.3-32 32-32c1 0 2.1 .1 3.1 .1c-.8-.6-1.6-1.3-2.3-2.1c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c.7 .7 1.4 1.5 2.1 2.3c-.1-1-.1-2.1-.1-3.1c0-17.7 14.3-32 32-32s32 14.3 32 32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm416 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCameraPolaroid = {\n prefix: 'far',\n iconName: 'camera-polaroid',\n icon: [576, 512, [], \"f8aa\", \"M512 432H64c-8.8 0-16-7.2-16-16V384H528v32c0 8.8-7.2 16-16 16zM68.4 336l32.9-49.3c7-10.5 10.7-22.9 10.7-35.5V96c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V251.2c0 12.6 3.7 25 10.7 35.5L507.6 336H68.4zM64 480H512c35.3 0 64-28.7 64-64V371.4c0-12.6-3.7-25-10.7-35.5L514.7 260c-1.8-2.6-2.7-5.7-2.7-8.9V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V251.2c0 3.2-.9 6.2-2.7 8.9L10.7 335.9C3.7 346.4 0 358.7 0 371.4V416c0 35.3 28.7 64 64 64zM408 112a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM288 288a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-32-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCamera = {\n prefix: 'far',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M199.1 32c-24.1 0-45.5 15.4-53.1 38.3l22.8 7.6-22.8-7.6L137.4 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H374.6l-8.6-25.7C358.4 47.4 337 32 312.9 32H199.1zm-7.6 53.5c1.1-3.3 4.1-5.5 7.6-5.5H312.9c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h90.7c10.3 0 19.5-6.6 22.8-16.4l14-42.1zM256 400a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'far',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 13.6c13.3 0 24 10.7 24 24c0 23.8 28.8 35.7 45.6 18.9c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-16.8 16.8-4.9 45.6 18.9 45.6c13.3 0 24 10.7 24 24s-10.7 24-24 24c-23.8 0-35.7 28.8-18.9 45.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-16.8-16.8-45.6-4.9-45.6 18.9c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-23.8-28.8-35.7-45.6-18.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c16.8-16.8 4.9-45.6-18.9-45.6c-13.3 0-24-10.7-24-24s10.7-24 24-24c23.8 0 35.7-28.8 18.9-45.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c16.8 16.8 45.6 4.9 45.6-18.9c0-13.3 10.7-24 24-24zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm88 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCartArrowUp = {\n prefix: 'far',\n iconName: 'cart-arrow-up',\n icon: [576, 512, [], \"e3ee\", \"M296 184V81.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L303 7c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V184c0 13.3-10.7 24-24 24s-24-10.7-24-24zM0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMeteor = {\n prefix: 'far',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M474.8 0c-5.2 0-10.3 1.1-15 3.2L324 62.9l1.4-18.2c2.5-34.2-36.2-55.5-63.7-35.1L82.7 142.5C30.6 181.2 0 242.7 0 307.5C0 419.8 91 512 203.6 512c65.7 0 127.4-31.8 165.7-85.3L495.6 249.8c19.7-27.6-1.8-65.7-35.6-63.1l-10.7 .8L508.8 52.2c2.1-4.7 3.2-9.8 3.2-15C512 16.7 495.3 0 474.8 0zm-168 122.9l147-64.7L389.2 204.9c-3.4 7.7-2.5 16.7 2.4 23.5s13 10.7 21.4 10.1l33.5-2.6-116.4 163C301 439.7 253.8 464 203.6 464C117.8 464 48 393.6 48 307.5c0-49.7 23.6-96.9 63.4-126.5L276.2 58.6l-3 40.6c-.6 8.4 3.2 16.5 10.1 21.4s15.8 5.8 23.5 2.4zM200 424a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM176 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faCarOn = {\n prefix: 'far',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM185.8 208H326.2c10.1 0 19.2 6.4 22.6 15.9L365.9 272H146.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM89.4 287.9c-.2 .5-.3 .9-.5 1.4C64.2 306.7 48 335.5 48 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H416v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L394 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H185.8c-30.4 0-57.6 19.1-67.8 47.8L89.4 287.9zM416 368v32H96V368c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48zM160 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faSleigh = {\n prefix: 'far',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V256c0 62.5 44.8 114.5 104 125.8V432H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H560c44.2 0 80-35.8 80-80V384c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 17.7-14.3 32-32 32H440V383.8C507 379.6 560 324 560 256V144h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H560 536 512 456c-22.1 0-40 17.9-40 40v45.7c0 23.3-18.9 42.3-42.3 42.3c-58.3 0-112.5-30-143.4-79.5l-18.9-30.2C182.5 67.9 133.7 38.1 80 32.8c-5.1-.5-10.2-.8-15.4-.8L64 32H63 32 24zM392 432H184V384H392v48zm40-96H392 184 160c-44.2 0-80-35.8-80-80V81.1c37.2 5 70.5 26.3 90.7 58.6L189.6 170c39.7 63.5 109.2 102 184.1 102c49.9 0 90.3-40.4 90.3-90.3V144h48V256c0 44.2-35.8 80-80 80z\"]\n};\nvar faArrowDown19 = {\n prefix: 'far',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M456 56c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16C363.8 53.4 357 67 361.2 79.6S379 99 391.6 94.8L408 89.3V128v48H384c-13.3 0-24 10.7-24 24s10.7 24 24 24h48 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H456V128 56zM143 473c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96zm281-89a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-17.9 46.2l-8.7 10.6c-8.4 10.3-6.9 25.4 3.4 33.8s25.4 6.9 33.8-3.4l56.8-69.4C504.7 385.5 512 365.1 512 344c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 42.5 30.1 77.9 70.1 86.2z\"]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faBuoyMooring = {\n prefix: 'far',\n iconName: 'buoy-mooring',\n icon: [576, 512, [], \"e5b6\", \"M264 24c0-13.3 10.7-24 24-24s24 10.7 24 24V66.6c42.6 9.4 76.7 43.2 85.3 87.5l47.1 241.2c-.4 .3-.8 .6-1.2 .9c-13.3 9.2-28.9 15.9-43.8 18.8L383.9 336H192.1l-15.4 78.9c-14.9-2.9-30.5-9.6-43.8-18.8c-.4-.3-.8-.6-1.3-.9l47.1-241.2c8.6-44.3 42.8-78.1 85.3-87.5V24zm24 88c-30.3 0-56.4 21.5-62.2 51.3L201.4 288H374.6L350.2 163.3C344.4 133.5 318.3 112 288 112zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faSquare4 = {\n prefix: 'far',\n iconName: 'square-4',\n icon: [448, 512, [], \"e259\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm127.6 97.2c-12.6-4.2-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H240v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H169.3l37.5-112.4c4.2-12.6-2.6-26.2-15.2-30.4z\"]\n};\nvar faHandHoldingDroplet = {\n prefix: 'far',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faTricycleAdult = {\n prefix: 'far',\n iconName: 'tricycle-adult',\n icon: [640, 512, [], \"e5c4\", \"M288 88c0-13.3 10.7-24 24-24h38.9c18.7 0 36.2 9.4 46.6 24.9L512.4 261.3c9.9-3.4 20.5-5.3 31.6-5.3c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-24.6 9.3-47 24.5-64l-13.4-20.1-39.8 53.1c-14.7 19.5-37.7 31.1-62.1 31.1c-5 0-10-.5-14.9-1.4l-55.1-10.7c.5 4 .8 8.1 .8 12.2c0 53-43 96-96 96c-17.5 0-33.9-4.7-48-12.8c.6-.4 1.3-.8 1.9-1.1c-14.5 8.9-31.6 14-49.9 14c-53 0-96-43-96-96c0-24.4 9.1-46.6 24-63.5l-4.6-.9c-13-2.5-21.5-15.1-19-28.2s15.1-21.5 28.2-19l322.9 63c1.9 .4 3.8 .5 5.7 .5c9.3 0 18.1-4.4 23.7-11.9l50-66.6-73.3-110c-1.5-2.2-4-3.6-6.7-3.6H312c-13.3 0-24-10.7-24-24zM186.6 320.2c3.5 10 5.4 20.7 5.4 31.8c0 16.9-4.3 32.7-12 46.5c3.8 1 7.8 1.5 12 1.5c26.5 0 48-21.5 48-48c0-8.1-2-15.8-5.6-22.5l-47.8-9.3zM48.7 97.1c12.6-4 26.1 2.9 30.2 15.5l15.3 47.9c2.7 8.3 9.7 14.6 18.3 16.2l84.1 16.4c13 2.5 21.5 15.1 19 28.2s-15.1 21.5-28.2 19l-84.1-16.4c-25.8-5-46.8-23.7-54.8-48.7L33.1 127.3c-4-12.6 2.9-26.1 15.5-30.2zM144 352a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm448 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faWaveform = {\n prefix: 'far',\n iconName: 'waveform',\n icon: [640, 512, [], \"f8f1\", \"M320 0c12 0 22.1 8.8 23.8 20.7l42 304.4L424.3 84.2c1.9-11.7 12-20.3 23.9-20.2s21.9 8.9 23.6 20.6l28.2 197.3 20.5-102.6c2.2-10.8 11.3-18.7 22.3-19.3s20.9 6.4 24.2 16.9L593.7 264H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c-10.5 0-19.8-6.9-22.9-16.9l-4.1-13.4-29.4 147c-2.3 11.5-12.5 19.6-24.2 19.3s-21.4-9-23.1-20.6L446.7 248.3l-39 243.5c-1.9 11.7-12.1 20.3-24 20.2s-21.9-8.9-23.5-20.7L320 199.6 279.8 491.3c-1.6 11.8-11.6 20.6-23.5 20.7s-22.1-8.5-24-20.2l-39-243.5L167.8 427.4c-1.7 11.6-11.4 20.3-23.1 20.6s-21.9-7.8-24.2-19.3l-29.4-147-4.1 13.4C83.8 305.1 74.5 312 64 312H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H46.3l26.8-87.1c3.2-10.5 13.2-17.5 24.2-16.9s20.2 8.5 22.3 19.3l20.5 102.6L168.2 84.6c1.7-11.7 11.7-20.5 23.6-20.6s22 8.5 23.9 20.2l38.5 240.9 42-304.4C297.9 8.8 308 0 320 0z\"]\n};\nvar faWater = {\n prefix: 'far',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M80 78.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7C41 104.8 62.8 93 80 78.1zm0 288c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7zm31.9-144c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faStarSharpHalfStroke = {\n prefix: 'far',\n iconName: 'star-sharp-half-stroke',\n icon: [576, 512, [\"star-sharp-half-alt\"], \"e28d\", \"M310.9 16.7C307.7 6.8 298.5 0 288 0s-19.7 6.8-22.9 16.7L214.5 176H56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L172.1 320.7 121.1 480.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7L288 406.4 417.3 506.9c8.3 6.5 19.8 6.8 28.5 .7s12.3-16.9 9.1-27L403.9 320.7 534.7 218.9c8.1-6.3 11.3-17 8-26.7s-12.4-16.2-22.7-16.2H361.6L310.9 16.7zM288 103.2l0 0 33.1 104.1c3.2 10 12.4 16.7 22.9 16.7H450.1l-88.8 69.1c-7.9 6.2-11.2 16.6-8.1 26.2l32.5 102.3-82.9-64.5c-4.3-3.4-9.5-5.1-14.7-5.1V103.2z\"]\n};\nvar faStarSharpHalfAlt = faStarSharpHalfStroke;\nvar faNfcSignal = {\n prefix: 'far',\n iconName: 'nfc-signal',\n icon: [512, 512, [], \"e1fb\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H230c-3.4 15.5-5.3 31.6-5.8 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V227c-16.6 2.5-32.6 6.6-48 12V96c0-8.8-7.2-16-16-16zm-16 72V252.8c-17.2 8.8-33.3 19.4-48 31.6V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40zM239 400H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H261.7c-9.1 15.1-16.7 31.1-22.7 48zM488 256c13.3 0 24 10.7 24 24s-10.7 24-24 24c-101.6 0-184 82.4-184 184c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-128.1 103.9-232 232-232zm-8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-72c0 13.3-10.7 24-24 24c-48.6 0-88 39.4-88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-75.1 60.9-136 136-136c13.3 0 24 10.7 24 24z\"]\n};\nvar faPlaneProp = {\n prefix: 'far',\n iconName: 'plane-prop',\n icon: [576, 512, [], \"e22b\", \"M267.3 176h49.5L299.1 48H284.9L267.3 176zM344.7 27.6l5 36.4c.7-.1 1.5-.1 2.2-.1h16V48c0-8.8 7.2-16 16-16s16 7.2 16 16V80c8.8 0 16 7.2 16 16s-7.2 16-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128h-9.4l6.6 48h93.1c21 0 48.1 6.2 70.4 17.4C549.4 203.8 576 223.9 576 256c0 32.5-26.4 52.6-47.4 63c-22.5 11.1-49.5 17-70.3 17H365.2l-6.6 48H368V368c0-8.8 7.2-16 16-16s16 7.2 16 16v32c8.8 0 16 7.2 16 16s-7.2 16-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H352c-.8 0-1.5 0-2.2-.1l-5 36.4C342.5 500.2 329 512 313 512H271c-16 0-29.5-11.8-31.7-27.6l-5-36.4H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h1.4l-7.2-52.4-75.7-9.1-5.8 34.3C134.3 372.4 120.8 384 105 384H71c-15.9 0-29.4-11.7-31.7-27.4L28.7 287.8C12.6 286.2 0 272.5 0 256s12.6-30.2 28.7-31.8l10.7-68.7C41.6 139.7 55.1 128 71 128h34c15.8 0 29.3 11.6 31.6 27.2l5.8 34.3 75.7-9.1 7.2-52.4H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.3l5-36.4C241.5 11.8 255 0 271 0H313c16 0 29.5 11.8 31.7 27.6zM267.3 336l17.7 128h14.2l17.7-128H267.3zm191.1-48c13.4 0 33.1-4.1 49-12c17.4-8.6 20.7-16.5 20.7-20c0-2.9-3.2-10.8-20.8-19.7c-15.9-8-35.7-12.3-48.9-12.3H257.4L125.5 239.8c-12.7 1.5-24.4-7.2-26.5-19.8l-7.5-44H84.7L72.3 256l12.4 80h6.8L99 292c2.2-12.6 13.8-21.3 26.5-19.8L257.4 288H458.3z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faClockDesk = {\n prefix: 'far',\n iconName: 'clock-desk',\n icon: [448, 512, [], \"e134\", \"M400 224A176 176 0 1 0 48 224a176 176 0 1 0 352 0zM224 0C347.7 0 448 100.3 448 224V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V224C0 100.3 100.3 0 224 0zm0 96c13.3 0 24 10.7 24 24v94.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V120c0-13.3 10.7-24 24-24z\"]\n};\nvar faCalendarClock = {\n prefix: 'far',\n iconName: 'calendar-clock',\n icon: [576, 512, [\"calendar-time\"], \"e0d2\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 288 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faCalendarTime = faCalendarClock;\nvar faBraille = {\n prefix: 'far',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM224 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM88 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm248 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM224 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM352 96a64 64 0 1 1 128 0A64 64 0 1 1 352 96zm248 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zm64 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'far',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M48 48H336V80H48V48zM32 0C14.3 0 0 14.3 0 32V96c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zm0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160H304V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V160H32zm133.3 80v37.3H128c-8.8 0-16 7.2-16 16v21.3c0 8.8 7.2 16 16 16h37.3V368c0 8.8 7.2 16 16 16h21.3c8.8 0 16-7.2 16-16V330.7H256c8.8 0 16-7.2 16-16V293.3c0-8.8-7.2-16-16-16l-37.3 0V240c0-8.8-7.2-16-16-16H181.3c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faPlateUtensils = {\n prefix: 'far',\n iconName: 'plate-utensils',\n icon: [640, 512, [58713], \"e43b\", \"M24 16c13.3 0 24 10.7 24 24V168c0 4.4 3.6 8 8 8h8V40c0-13.3 10.7-24 24-24s24 10.7 24 24V176h8c4.4 0 8-3.6 8-8V40c0-13.3 10.7-24 24-24s24 10.7 24 24V168c0 30.9-25.1 56-56 56h-8V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V224H56c-30.9 0-56-25.1-56-56V40C0 26.7 10.7 16 24 16zM560 160V272h32V216 85.2c-16.6 15.3-32 39.1-32 74.8zm32 160H544c-17.7 0-32-14.3-32-32V160C512 59.2 596.2 23.2 613.1 17c2-.7 4-1 6.1-1c11.5 0 20.9 9.3 20.9 20.9V216v56 48V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V320zM336 480c-81.5 0-152.8-43.5-192-108.6V252.7c5.7-1.6 11.1-3.8 16.3-6.4c-.2 3.2-.3 6.5-.3 9.7c0 97.2 78.8 176 176 176c70.8 0 131.8-41.8 159.7-102c10.6 12.2 25.8 20.3 42.8 21.8C502.6 427.6 425.4 480 336 480zM208 72.2C244.3 46.8 288.4 32 336 32c60.3 0 115 23.8 155.3 62.5c-6.5 17.5-10.6 37.5-11.2 60.3C448.2 109.6 395.6 80 336 80c-50.4 0-95.9 21.2-128 55.2V72.2zM416 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-208 0a128 128 0 1 1 256 0 128 128 0 1 1 -256 0z\"]\n};\nvar faFamilyPants = {\n prefix: 'far',\n iconName: 'family-pants',\n icon: [512, 512, [], \"e302\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h60.6c-3 10.1-4.6 20.9-4.6 32v16H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c9.2 0 18.1 1.6 26.4 4.5c-.5 3.8-.8 7.6-.8 11.5c0 11.4 2.4 22.2 6.7 32H150.4 128 105.6zM336 176c0-3.9-.3-7.8-.8-11.5c8.3-2.9 17.2-4.5 26.4-4.5h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H368V336c0-11.1-1.6-21.9-4.6-32H424h2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C436.9 220.8 423 208 406.4 208H384 361.6 329.3c4.3-9.8 6.7-20.6 6.7-32zM320 64a64 64 0 1 1 128 0A64 64 0 1 1 320 64zm-64 64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm32 208c0-17.7-14.3-32-32-32s-32 14.3-32 32v16c0 8.8 7.2 16 16 16h16 16c8.8 0 16-7.2 16-16V336zm48 16c0 24-13.2 44.9-32.7 55.8c.5 2.7 .7 5.4 .7 8.2v64c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V416c0-2.8 .2-5.5 .7-8.2C189.2 396.9 176 376 176 352V336c0-44.2 35.8-80 80-80s80 35.8 80 80v16z\"]\n};\nvar faHoseReel = {\n prefix: 'far',\n iconName: 'hose-reel',\n icon: [640, 512, [], \"e41a\", \"M320 48c-114.9 0-208 93.1-208 208s93.1 208 208 208c45.6 0 87.7-14.6 122-39.5c10.7-7.8 25.7-5.4 33.5 5.3s5.4 25.7-5.3 33.5C428 494 376.1 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0S576 114.6 576 256v96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.3l-11.5 80.2c7.8 1.1 13.7 7.8 13.7 15.8c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16c0-8.1 6-14.7 13.7-15.8L514.3 400H512c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V256c0-114.9-93.1-208-208-208zM208 256a112 112 0 1 0 224 0 112 112 0 1 0 -224 0zM320 416a160 160 0 1 1 0-320 160 160 0 1 1 0 320zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHouseWindow = {\n prefix: 'far',\n iconName: 'house-window',\n icon: [576, 512, [], \"e3b3\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM112 432V204.8L288 55.5 464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32zM256 288V224h64v64H256zm-48-72v80c0 22.1 17.9 40 40 40h80c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H248c-22.1 0-40 17.9-40 40z\"]\n};\nvar faLandmark = {\n prefix: 'far',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M267.6 3c-7.2-4-16-4-23.2 0L17.6 128.1C6.7 134.1 0 145.5 0 157.9C0 176.8 15.2 192 34.1 192H477.9c18.8 0 34.1-15.2 34.1-34.1c0-12.4-6.7-23.8-17.6-29.8L267.6 3zM256 51.4L423.8 144H88.2L256 51.4zM112 224H64V384H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V224H400V384H336V224H288V384H224V224H176V384H112V224zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faTruck = {\n prefix: 'far',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M352 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H320 243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H352zm32 368c0 53 43 96 96 96s96-43 96-96h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V245.3c0-14.9-5.9-29.1-16.4-39.6l-93.3-93.3C487.8 101.9 473.6 96 458.7 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96h64 32 24 8zM557.7 239.6c.1 .1 .3 .3 .4 .4H416V144h42.7c2.1 0 4.2 .8 5.7 2.3l93.3 93.3zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCrosshairs = {\n prefix: 'far',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c13.3 0 24 10.7 24 24V41.3C380.1 52.4 459.6 131.9 470.7 232H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H470.7C459.6 380.1 380.1 459.6 280 470.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V470.7C131.9 459.6 52.4 380.1 41.3 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H41.3C52.4 131.9 131.9 52.4 232 41.3V24c0-13.3 10.7-24 24-24zM89.7 280c10.5 73.6 68.7 131.8 142.3 142.3V392c0-13.3 10.7-24 24-24s24 10.7 24 24v30.3c73.6-10.5 131.8-68.7 142.3-142.3H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h30.3C411.8 158.4 353.6 100.2 280 89.7V120c0 13.3-10.7 24-24 24s-24-10.7-24-24V89.7C158.4 100.2 100.2 158.4 89.7 232H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H89.7zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCloudRainbow = {\n prefix: 'far',\n iconName: 'cloud-rainbow',\n icon: [576, 512, [], \"f73e\", \"M291.5 195.2C344.7 107 441.5 48 552 48c13.3 0 24-10.7 24-24s-10.7-24-24-24C420.9 0 306.5 71.7 245.9 178.1c10.8 6 20.8 13.4 29.6 21.9c5.2-1.9 10.5-3.5 16-4.8zM394.6 216c38.1-44.1 94.5-72 157.4-72c13.3 0 24-10.7 24-24s-10.7-24-24-24c-82.4 0-155.7 38.9-202.5 99.4c16.5 3.9 31.8 11 45.2 20.6zm42.9 53.3c9.8 2.8 19.2 6.7 28 11.6C486.1 255.9 517.2 240 552 240c13.3 0 24-10.7 24-24s-10.7-24-24-24c-50.1 0-94.8 23-124.1 59.1c3.7 5.8 6.9 11.8 9.7 18.2zM112 312c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 462.4 48 436.2 48 404c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zm72-120c-64 0-116.3 50.1-119.8 113.3C26.4 322.1 0 359.9 0 404c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 247 366.9 216 320 216c-18 0-34.9 4.6-49.7 12.6C248.5 206.1 217.9 192 184 192z\"]\n};\nvar faPersonCane = {\n prefix: 'far',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M176 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 209.5L76.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L93.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h35c26 0 50.6 11.5 67.3 31.4l81.7 97.2c8.5 10.1 7.2 25.3-2.9 33.8s-25.3 7.2-33.8-2.9L256 214.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H176V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.5zm80-33.4c-.9-.1-1.8-.1-2.7-.1H176V304h32V176.1zM352 376v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-30.9 25.1-56 56-56s56 25.1 56 56V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-4.4-3.6-8-8-8s-8 3.6-8 8z\"]\n};\nvar faAlien = {\n prefix: 'far',\n iconName: 'alien',\n icon: [448, 512, [128125], \"f8f5\", \"M194.7 503.2c8.6 5.9 18.9 8.8 29.3 8.8s20.7-2.9 29.3-8.8C299.2 471.7 448 359.3 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224C0 359.3 148.8 471.7 194.7 503.2zM224 48c97.2 0 176 78.8 176 176c0 50.4-28.2 101.3-68.2 146.9c-39.2 44.7-84.2 78.1-105.6 92.7l0 0 0 0-.1 0c0 0-.1 0-.1 0s-.1 0-.1 0l-.1 0c-.3 .1-.9 .2-1.8 .2s-1.4-.1-1.8-.2c-.1 0-.2-.1-.2-.1l-.1 0-.1 0 0 0 0 0c-21.4-14.6-66.4-48-105.6-92.7C76.2 325.3 48 274.4 48 224c0-97.2 78.8-176 176-176zm16 258.3c0 7.6 6.1 13.7 13.7 13.7h32c45.4 0 82.3-36.8 82.3-82.3c0-7.6-6.1-13.7-13.7-13.7h-32c-45.4 0-82.3 36.8-82.3 82.3zM125.7 224h-32c-7.6 0-13.7 6.1-13.7 13.7c0 45.4 36.8 82.3 82.3 82.3h32c7.6 0 13.7-6.1 13.7-13.7c0-45.4-36.8-82.3-82.3-82.3z\"]\n};\nvar faTent = {\n prefix: 'far',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M274.4 4.2c8.2-5.7 19-5.7 27.3 0L521.5 155.9c13.5 9.3 22.2 24 23.9 40.2l26.7 254c3.5 33.1-22.4 61.9-55.7 61.9H440 264 59.5C26.3 512 .4 483.2 3.9 450.1l26.7-254c1.7-16.3 10.4-31 23.9-40.2L274.4 4.2zM516.5 464c4.7 0 8.5-4.1 8-8.8l-26.7-254c-.2-2.3-1.5-4.4-3.4-5.7L312 69.7V279.3L413.6 464H516.5zM264 69.7L81.7 195.4c-1.9 1.3-3.2 3.4-3.4 5.7l-26.7 254c-.5 4.7 3.2 8.8 8 8.8H264l0-136 0-136 0-122.3z\"]\n};\nvar faLaptopBinary = {\n prefix: 'far',\n iconName: 'laptop-binary',\n icon: [640, 512, [], \"e5e7\", \"M128 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V320h48V96c0-8.8 7.2-16 16-16zM50.7 400H589.3c-6.6 18.6-24.4 32-45.3 32H96c-20.9 0-38.7-13.4-45.3-32zM32 352c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H544c53 0 96-43 96-96c0-17.7-14.3-32-32-32H32zM200 128c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H200zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V168zm112-40c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16H304zm80 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H424c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V168c0-4.4 3.6-8 8-8zM192 272c-8.8 0-16 7.2-16 16s7.2 16 16 16v16h32V288c0-8.8-7.2-16-16-16H192zm240 0H416c-8.8 0-16 7.2-16 16s7.2 16 16 16v16h32V288c0-8.8-7.2-16-16-16zm-64 40c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40v8h32v-8c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v8h32v-8z\"]\n};\nvar faVestPatches = {\n prefix: 'far',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M178.5 81.5l28.8 95-25.1 82.8-64-211.2c-.3 0-.6-.1-.9-.1H104c-4.4 0-8 3.6-8 8v72 58.7c0 13-3.5 25.9-10.3 37L51.4 280.9c-2.2 3.7-3.4 8-3.4 12.3V456c0 4.4 3.6 8 8 8H176.4c1.6 17.6 8.4 33.8 18.8 46.9c-3.6 .7-7.4 1.1-11.2 1.1H56c-30.9 0-56-25.1-56-56V293.3c0-13 3.5-25.9 10.3-37l34.3-57.2c2.2-3.7 3.4-8 3.4-12.3V128 56C48 25.1 73.1 0 104 0h13.3 6.8c10.1 0 19.5 3.8 26.7 10.2c4.6 2.8 8.6 6 12 9C172.3 27.6 191.4 40 224 40s51.7-12.4 61.2-20.8c3.4-3.1 7.5-6.2 12-9C304.4 3.8 313.8 0 323.9 0h6.8H344c30.9 0 56 25.1 56 56v72 58.7c0 4.4 1.2 8.6 3.4 12.3l34.3 57.2c6.7 11.2 10.3 24 10.3 37V456c0 30.9-25.1 56-56 56H264c-30.9 0-56-25.1-56-56V295.1c0-7.1 1-14.1 3.1-20.9L269.5 81.5c-13 4-28.1 6.5-45.5 6.5s-32.5-2.6-45.5-6.5zM329.8 48.1L257 288.2c-.7 2.3-1 4.6-1 7V456c0 4.4 3.6 8 8 8H392c4.4 0 8-3.6 8-8V293.3c0-4.4-1.2-8.6-3.4-12.3l-34.3-57.2c-6.7-11.2-10.3-24-10.3-37V128 56c0-3.9-2.7-7.1-6.4-7.8c-.5-.1-1.1-.2-1.6-.2H330.7c-.3 0-.6 0-.9 .1zM288 288v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H304c-8.8 0-16-7.2-16-16V288zM84.7 260.7c6.2-6.2 16.4-6.2 22.6 0L120 273.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L142.6 296l12.7 12.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L120 318.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.4 296 84.7 283.3c-6.2-6.2-6.2-16.4 0-22.6zM112 360a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faPeopleDressSimple = {\n prefix: 'far',\n iconName: 'people-dress-simple',\n icon: [512, 512, [], \"e218\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM96.9 219.6L63.6 336H192.4L159.1 219.6c-2-6.9-8.2-11.6-15.4-11.6H112.3c-7.1 0-13.4 4.7-15.4 11.6zM50.7 206.4c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H192V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM352.9 219.6L319.6 336H448.4L415.1 219.6c-2-6.9-8.2-11.6-15.4-11.6H368.3c-7.1 0-13.4 4.7-15.4 11.6zm-46.2-13.2c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H298.4c-21.3 0-36.6-20.3-30.8-40.8l39.1-136.8z\"]\n};\nvar faCheckDouble = {\n prefix: 'far',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M337 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-143 143L97 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0L337 81zM441 201c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-247 247L41 295c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L143 465c9.4 9.4 24.6 9.4 33.9 0L441 201z\"]\n};\nvar faArrowDownAZ = {\n prefix: 'far',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm305-89c-13.3 0-24 10.7-24 24s10.7 24 24 24h74.6L334.1 440.1c-6.3 7.1-7.8 17.2-4 25.8S342.6 480 352 480H480c13.3 0 24-10.7 24-24s-10.7-24-24-24H405.4l92.5-104.1c6.3-7.1 7.8-17.2 4-25.8S489.4 288 480 288H352zM416 32c-9.1 0-17.4 5.1-21.5 13.3l-80 160c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L370.8 200H456c1.7 0 3.3-.2 4.9-.5l13.6 27.2c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-80-160C433.4 37.1 425.1 32 416 32zM394.8 152L416 109.7 437.2 152H394.8z\"]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faBowlingBallPin = {\n prefix: 'far',\n iconName: 'bowling-ball-pin',\n icon: [576, 512, [], \"e0c3\", \"M464 48c-17.7 0-32 14.3-32 32v4.4c0 5.8 .7 11.5 2.1 17.1l9.4 37.4c1.7 6.9 3 14 3.7 21.1h33.6c.7-7.1 2-14.2 3.7-21.1l9.4-37.4c1.4-5.6 2.1-11.3 2.1-17.1V80c0-17.7-14.3-32-32-32zM438.3 230.2l-1 2.7c-8.5-27.4-21.8-52.7-38.8-74.9c-.4-2.5-1-5-1.6-7.4l-9.4-37.4c-2.3-9.4-3.5-19-3.5-28.7V80c0-44.2 35.8-80 80-80s80 35.8 80 80v4.4c0 9.7-1.2 19.3-3.5 28.7l-9.4 37.4c-2.1 8.2-3.1 16.7-3.1 25.2v1c0 12.5 2.2 24.8 6.6 36.5L563 288.9c8.6 23 13 47.4 13 72c0 29.3-6.3 58.2-18.4 84.8L536 493.2c-5.2 11.4-16.6 18.8-29.1 18.8H421.2c-12.6 0-23.9-7.3-29.1-18.8l-10.6-23.3c12.6-13.1 23.7-27.7 33-43.4l17 37.5h65.1l17.4-38.3c9.3-20.4 14.1-42.5 14.1-64.9c0-18.8-3.4-37.5-10-55.1l-28.3-75.5c-2.7-7.2-4.9-14.6-6.4-22.2H444.8c-1.6 7.5-3.7 14.9-6.4 22.2zM168 196a28 28 0 1 1 56 0 28 28 0 1 1 -56 0zm28 60a28 28 0 1 1 0 56 28 28 0 1 1 0-56zM96 244a28 28 0 1 1 56 0 28 28 0 1 1 -56 0zm272 60A160 160 0 1 0 48 304a160 160 0 1 0 320 0zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304z\"]\n};\nvar faBellSchoolSlash = {\n prefix: 'far',\n iconName: 'bell-school-slash',\n icon: [640, 512, [], \"f5d6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L570.7 422c3.4-6.6 5.3-14.1 5.3-22c0-26.5-21.5-48-48-48c-12.1 0-23.1 4.5-31.5 11.8L445 323.5c22.1-33 35-72.8 35-115.5C480 93.1 386.9 0 272 0C211.2 0 156.6 26.1 118.5 67.6L38.8 5.1zM156.5 97.3C185.6 66.9 226.6 48 272 48c88.4 0 160 71.6 160 160c0 31.6-9.1 61-24.9 85.8L356.3 254c7.5-13.7 11.7-29.3 11.7-46c0-53-43-96-96-96c-25 0-47.7 9.5-64.8 25.1L156.5 97.3zm161 126.2l-71.3-55.9c7.5-4.8 16.4-7.6 25.9-7.6c26.5 0 48 21.5 48 48c0 5.4-.9 10.6-2.6 15.5zM331 356.8C312.7 364 292.8 368 272 368c-88.4 0-160-71.6-160-160c0-7.6 .5-15.2 1.6-22.5l-42-33.1C66.6 170.1 64 188.7 64 208c0 59 24.6 112.2 64 150.1V448c0 35.3 28.7 64 64 64H336h16H480c13.1 0 25.3-3.5 35.9-9.6L467.1 464H414c1.3-5.1 2-10.5 2-16V423.8l-85-67zM336 464H192c-8.8 0-16-7.2-16-16V392.6c28.7 15 61.4 23.4 96 23.4s67.3-8.5 96-23.4V448c0 8.8-7.2 16-16 16H336z\"]\n};\nvar faPlusLarge = {\n prefix: 'far',\n iconName: 'plus-large',\n icon: [512, 512, [], \"e59e\", \"M488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0 0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208L24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24H232l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208 208 0z\"]\n};\nvar faMoneyBillWheat = {\n prefix: 'far',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M176 0c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80zM56 16C42.7 16 32 26.7 32 40s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM24 88C10.7 88 0 98.7 0 112s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm8 96c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24zM272 16c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM400 0c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80zm80 144c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80zM352 128c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80c0-8.8-7.2-16-16-16zm-96 16c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80zM48 359.5c28.9-3.6 51.9-26.6 55.5-55.5h305c3.6 29 26.6 51.9 55.5 55.5v49c-29 3.6-51.9 26.6-55.5 55.5h-305c-3.6-29-26.6-51.9-55.5-55.5v-49zM48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM256 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faCameraViewfinder = {\n prefix: 'far',\n iconName: 'camera-viewfinder',\n icon: [512, 512, [\"screenshot\"], \"e0da\", \"M56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0zM376 0h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-4.4-3.6-8-8-8H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM48 376v80c0 4.4 3.6 8 8 8h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm464 0v80c0 30.9-25.1 56-56 56H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM173.8 120.2c6.3-14.7 20.8-24.2 36.8-24.2h90.9c16 0 30.5 9.5 36.8 24.2l3.3 7.8H352c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h10.5l3.3-7.8zm42 23.8l-7.5 17.5c-3.8 8.8-12.5 14.5-22.1 14.5H160c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H325.7c-9.6 0-18.3-5.7-22.1-14.5L296.2 144H215.8zM200 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faScreenshot = faCameraViewfinder;\nvar faMessageMusic = {\n prefix: 'far',\n iconName: 'message-music',\n icon: [512, 512, [\"comment-alt-music\"], \"f8af\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM352 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V187.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V128 96z\"]\n};\nvar faCommentAltMusic = faMessageMusic;\nvar faCarBuilding = {\n prefix: 'far',\n iconName: 'car-building',\n icon: [640, 512, [], \"f859\", \"M288 48H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H192v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v64.5c-17.5 1.7-33.9 7.7-48 17.1V64c0-8.8-7.2-16-16-16zM256 219.1l-13.1 36.6c-.9 .2-1.9 .3-2.9 .3H208c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v11.1zM96 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V112zM208 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM96 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208zm0 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V304zm265.8-96c-10.1 0-19.2 6.4-22.6 15.9L322.1 272H541.9l-17.2-48.1c-3.4-9.6-12.5-15.9-22.6-15.9H361.8zm-96.4 79.9L294 207.8c10.2-28.7 37.4-47.8 67.8-47.8H502.2c30.4 0 57.6 19.1 67.8 47.8l28.6 80.1c.2 .5 .3 .9 .5 1.4C623.8 306.7 640 335.5 640 368v32 16 32 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H272v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448 416 400 368c0-32.5 16.2-61.3 40.9-78.7c.1-.5 .3-.9 .5-1.4zM544 320H320c-26.5 0-48 21.5-48 48v32H592V368c0-26.5-21.5-48-48-48zM336 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBorderBottomRight = {\n prefix: 'far',\n iconName: 'border-bottom-right',\n icon: [448, 512, [\"border-style-alt\"], \"f854\", \"M448 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 352c0 13.3-10.7 24-24 24L24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l352 0c39.8 0 72-32.2 72-72l0-352zM320 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faBorderStyleAlt = faBorderBottomRight;\nvar faOctagon = {\n prefix: 'far',\n iconName: 'octagon',\n icon: [512, 512, [128721], \"f306\", \"M174.5 55.1c4.5-4.5 10.6-7 17-7h129c6.4 0 12.5 2.5 17 7L456.9 174.5c4.5 4.5 7 10.6 7 17v129c0 6.4-2.5 12.5-7 17L337.5 456.9c-4.5 4.5-10.6 7-17 7h-129c-6.4 0-12.5-2.5-17-7L55.1 337.5 21.2 371.4l33.9-33.9c-4.5-4.5-7-10.6-7-17v-129c0-6.4 2.5-12.5 7-17L174.5 55.1zM.1 320.5c0 19.1 7.6 37.4 21.1 50.9L140.6 490.8c13.5 13.5 31.8 21.1 50.9 21.1h129c19.1 0 37.4-7.6 50.9-21.1L490.8 371.4c13.5-13.5 21.1-31.8 21.1-50.9v-129c0-19.1-7.6-37.4-21.1-50.9L371.4 21.2C357.9 7.7 339.6 .1 320.5 .1h-129c-19.1 0-37.4 7.6-50.9 21.1L21.2 140.6C7.7 154.1 .1 172.4 .1 191.5v129z\"]\n};\nvar faCommentArrowUpRight = {\n prefix: 'far',\n iconName: 'comment-arrow-up-right',\n icon: [512, 512, [], \"e145\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM200 152c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V288c0 13.3 10.7 24 24 24s24-10.7 24-24V176c0-13.3-10.7-24-24-24H200z\"]\n};\nvar faOctagonDivide = {\n prefix: 'far',\n iconName: 'octagon-divide',\n icon: [512, 512, [], \"e203\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM256 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM168 232H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCookie = {\n prefix: 'far',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M240.5 64.6c-12-1.7-24.3 .5-35.1 6.2l-74 39.5C120.7 116 112 125 106.6 136L69.9 211.6c-5.4 11-7.1 23.5-5 35.6L79.4 330c2.1 12.1 8 23.2 16.8 31.7l60.3 58.4c8.8 8.5 20 14 32 15.7l83 11.7c12 1.7 24.3-.5 35.1-6.2l74-39.5C391.3 396 400 387 405.4 376l36.7-75.5c5.4-11 7.1-23.5 5-35.6L432.6 182c-2.1-12.1-8-23.2-16.8-31.7L355.5 91.9c-8.8-8.5-20-14-32-15.7l-83-11.7zM182.8 28.4c19.7-10.5 42.3-14.5 64.4-11.4l83 11.7c22.1 3.1 42.7 13.2 58.7 28.7l60.3 58.4c16.1 15.6 26.8 35.8 30.7 57.9l14.6 82.8c3.9 22.1 .7 44.8-9.1 64.9L448.6 397c-9.8 20.1-25.7 36.6-45.4 47.2l-74 39.5c-19.7 10.5-42.3 14.5-64.4 11.4l-83-11.7c-22.1-3.1-42.7-13.2-58.7-28.7L62.8 396.2C46.8 380.6 36 360.3 32.2 338.3L17.6 255.5c-3.9-22.1-.7-44.8 9.1-64.9L63.4 115c9.8-20.1 25.7-36.6 45.4-47.2l74-39.5zM288 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-96 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM320 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faArrowRotateLeft = {\n prefix: 'far',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M40 224c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24v80.1l20-23.5C125 63.4 186.9 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-50.4 0-97-16.7-134.4-44.8c-10.6-8-12.7-23-4.8-33.6s23-12.7 33.6-4.8C179.8 418.9 216.3 432 256 432c97.2 0 176-78.8 176-176s-78.8-176-176-176c-54.3 0-102.9 24.6-135.2 63.4l-.1 .2 0 0L93.1 176H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H40z\"]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faTvMusic = {\n prefix: 'far',\n iconName: 'tv-music',\n icon: [640, 512, [], \"f8e6\", \"M576 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H576zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 488c0 13.3 10.7 24 24 24H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zM416 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V187.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V128 96z\"]\n};\nvar faHardDrive = {\n prefix: 'far',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M64 80c-8.8 0-16 7.2-16 16V258c5.1-1.3 10.5-2 16-2H448c5.5 0 10.9 .7 16 2V96c0-8.8-7.2-16-16-16H64zM48 320v96c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM0 320V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V320v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320zm280 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHdd = faHardDrive;\nvar faReel = {\n prefix: 'far',\n iconName: 'reel',\n icon: [448, 512, [], \"e238\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H64V88c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24V48h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H384 344 104 64 24zm80 72V48H344V72H104zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H64h40H344h40 40c13.3 0 24-10.7 24-24s-10.7-24-24-24H384V424c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24v40H24zm320 0H104V440H344v24zM80 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faFaceGrinSquintTears = {\n prefix: 'far',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-14.8 14.8-65.7 23.6-88.3 26.7c-5.6 .9-10.3-3.9-9.5-9.5C403.3 79.9 412 29 426.8 14.2zM75 75C158.2-8.3 284.5-22.2 382.2 33.2c-1.5 4.8-2.9 9.6-4.1 14.3c-3.1 12.2-5.5 24.6-7.3 35c-80.8-53.6-190.7-44.8-261.9 26.4C37.7 180.1 28.9 290 82.5 370.8c-10.5 1.8-22.9 4.2-35 7.3c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75zm389.6 58.9c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c3.1-12.2 5.5-24.6 7.3-35c80.8 53.6 190.7 44.8 261.9-26.4c71.2-71.2 80-181.1 26.4-261.9c10.5-1.8 22.9-4.2 35-7.3zm-105.4 93c10.1-16.3 33.9-16.9 37.9 1.9c9.5 44.4-3.7 93.5-39.3 129.1s-84.8 48.8-129.1 39.3c-18.7-4-18.2-27.8-1.9-37.9c25.2-15.7 50.2-35.4 73.6-58.8s43.1-48.4 58.8-73.6zM92 265.3l97.4-29.7c11.6-3.5 22.5 7.3 19 19l-29.7 97.4c-2.6 8.6-13.4 11.3-19.8 4.9c-2-2-3.2-4.6-3.4-7.3l-5.1-56.1-56.1-5.1c-2.8-.3-5.4-1.5-7.3-3.4c-6.3-6.3-3.6-17.2 4.9-19.8zm193-178.2c2 2 3.2 4.6 3.4 7.3l5.1 56.1 56.1 5.1c2.8 .3 5.4 1.5 7.3 3.4c6.3 6.3 3.6 17.2-4.9 19.8l-97.4 29.7c-11.6 3.5-22.5-7.3-19-19L265.3 92c2.6-8.6 13.4-11.3 19.8-4.9zM14.9 497.1c-19.6-19.6-20-51-.7-70.3C29 412 79.8 403.2 102.4 400.1c5.6-.9 10.3 3.9 9.5 9.5c-3.2 22.5-11.9 73.5-26.7 88.3C66 517 34.5 516.6 14.9 497.1z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'far',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M128 88c0-30.9 25.1-56 56-56h16c30.9 0 56 25.1 56 56V232H384V88c0-30.9 25.1-56 56-56h16c30.9 0 56 25.1 56 56v16h24c30.9 0 56 25.1 56 56v72h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H592v72c0 30.9-25.1 56-56 56H512v16c0 30.9-25.1 56-56 56H440c-30.9 0-56-25.1-56-56V280H256V424c0 30.9-25.1 56-56 56H184c-30.9 0-56-25.1-56-56V408H104c-30.9 0-56-25.1-56-56V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48V160c0-30.9 25.1-56 56-56h24V88zm48 16v24V384v24 16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8v16zm-48 48H104c-4.4 0-8 3.6-8 8V352c0 4.4 3.6 8 8 8h24V152zM464 384V128 104 88c0-4.4-3.6-8-8-8H440c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V408 384zm72-24c4.4 0 8-3.6 8-8V160c0-4.4-3.6-8-8-8H512V360h24z\"]\n};\nvar faRectangleList = {\n prefix: 'far',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm104 0c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm-72-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'far',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128H197.5c7 19.8 20.3 36.6 37.5 48H64c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l352 0V384c0-17.7 14.3-32 32-32h80V192c0-8.8-7.2-16-16-16l-170.9 0c17.2-11.4 30.5-28.2 37.5-48H512c35.3 0 64 28.7 64 64V364.1c0 12.7-5.1 24.9-14.1 33.9l-99.9 99.9c-9 9-21.2 14.1-33.9 14.1L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm48 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faAlarmExclamation = {\n prefix: 'far',\n iconName: 'alarm-exclamation',\n icon: [512, 512, [], \"f843\", \"M14.9 146.4C5.5 131.6 0 114 0 95.2C0 42.6 42.6 0 95.2 0c25 0 47.8 9.6 64.8 25.4L14.9 146.4zM432 288A176 176 0 1 0 80 288a176 176 0 1 0 352 0zM396.5 462.5C358.1 493.4 309.2 512 256 512s-102.1-18.6-140.5-49.5L73 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l42.5-42.5C50.6 390.1 32 341.2 32 288C32 164.3 132.3 64 256 64s224 100.3 224 224c0 53.2-18.6 102.1-49.5 140.5L473 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-42.5-42.5zM352 25.4C369 9.6 391.8 0 416.8 0C469.4 0 512 42.6 512 95.2c0 18.8-5.5 36.3-14.9 51.1L352 25.4zM256 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm24-168V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'far',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L526.1 194.6c-9.8-1.7-19.9-2.6-30.1-2.6c-14.2 0-28.1 1.7-41.3 4.9L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32H348.5c12.3 18.8 28 35.1 46.3 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM320 256h40.2c-15.3 18.5-26.9 40.2-33.6 64H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48zm32 112a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faTrafficCone = {\n prefix: 'far',\n iconName: 'traffic-cone',\n icon: [512, 512, [], \"f636\", \"M217.8 15c3.7-9 12.5-15 22.2-15h32c9.8 0 18.6 5.9 22.2 15L476.9 464H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H35.1L217.8 15zM386 368H126L86.9 464H425.1l-39-96zm-19.5-48L320.9 208H191.1L145.5 320h221zM210.6 160h90.8L256 48.4 210.6 160z\"]\n};\nvar faGrate = {\n prefix: 'far',\n iconName: 'grate',\n icon: [448, 512, [], \"e193\", \"M56 32C25.1 32 0 57.1 0 88V256 424c0 30.9 25.1 56 56 56h72 96 96 72c30.9 0 56-25.1 56-56V256 88c0-30.9-25.1-56-56-56H320 224 128 56zm48 48V232H48V88c0-4.4 3.6-8 8-8h48zM48 280h56V432H56c-4.4 0-8-3.6-8-8V280zM152 432V280h48V432H152zm96 0V280h48V432H248zm96 0V280h56V424c0 4.4-3.6 8-8 8H344zm56-200H344V80h48c4.4 0 8 3.6 8 8V232zM296 80V232H248V80h48zm-96 0V232H152V80h48z\"]\n};\nvar faArrowDownRight = {\n prefix: 'far',\n iconName: 'arrow-down-right',\n icon: [384, 512, [], \"e093\", \"M328 416c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l231 231H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H328z\"]\n};\nvar faPersonSkiingNordic = {\n prefix: 'far',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6l-44.5 38.2c-10.1 8.6-11.2 23.8-2.6 33.8c1.2 1.5 2.6 2.7 4.1 3.8L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H311.5c.4 0 .7 0 1.1 0H504c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24H434.6l27.2-176.7c10.4-2.6 18.2-12 18.2-23.3c0-13.3-10.7-24-24-24H407.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zM429.4 288L402.3 464H344.6L371 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2C361.3 272 383 288 407.6 288h21.7zM99.7 464l55.8-265.1 40.6-34.8c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L294.4 464H190.7l36.8-109.8-8-4.5c-13.1-7.4-23.6-17.6-31.2-29.6L140.1 464H99.7zM316.1 175.8l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L289 169l27.1 6.8z\"]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [512, 512, [], \"f271\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H96c-35.3 0-64 28.7-64 64v16 48V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H376V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM80 192H432V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V192zm176 40c-13.3 0-24 10.7-24 24v48H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V352h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V256c0-13.3-10.7-24-24-24z\"]\n};\nvar faPersonFromPortal = {\n prefix: 'far',\n iconName: 'person-from-portal',\n icon: [512, 512, [\"portal-exit\"], \"e023\", \"M72.2 436C58.7 404.6 48 348.4 48 256s10.7-148.6 24.2-180C84.6 47.3 94.6 47.9 95.9 48l.1 0 .1 0c1.3-.1 11.3-.7 23.7 28c13.5 31.4 24.2 87.7 24.2 180c0 45.7-2.6 82.6-6.9 112H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h7s0 0 0 0h49.7s0 0 0 0h28.2c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6L199.4 368H185.6c4.2-31.3 6.4-68.4 6.4-112c0-21.4-.5-41.2-1.6-59.6l37.7-32.4c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L321.1 480.8c-4 12.7 3.1 26.1 15.8 30.1s26.1-3.1 30.1-15.8L403 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2C393.3 272 415 288 439.6 288H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H439.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6L184.7 138C170.3 38 136 0 96 0C43 0 0 66.6 0 256S43 512 96 512c28 0 53.2-18.6 70.7-64H113.9c-9.5 16.5-16.7 16.1-17.8 16l-.1 0-.1 0c-1.3 .1-11.3 .7-23.7-28zM368 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-19.9 79.8l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L321 169l27.1 6.8z\"]\n};\nvar faPortalExit = faPersonFromPortal;\nvar faPlaneArrival = {\n prefix: 'far',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M552.2 333.2c4.3 4 2.8 11.1-2.8 12.9c-26.5 8.8-54.9 9.7-81.9 2.6L141.9 264c-1.2-.3-2.3-.9-3.2-1.7l-87.7-75c-1.8-1.5-2.8-3.7-2.8-6.1l-.2-86.6 18.2 4.6c2.5 .6 4.5 2.4 5.5 4.8l25.9 64.8c2.8 7 8.8 12.3 16.1 14.3l113.9 30.4c8.4 2.2 17.4-.2 23.4-6.5s8.3-15.3 5.8-23.6L216.3 48 242 48 349.1 238.4c3.2 5.6 8.5 9.8 14.7 11.4l113 30.1c16.3 4.3 31.3 12.6 43.7 24l31.6 29.2zm12.3 58.5c40.3-13.3 51.5-65 20.3-93.8l-31.6-29.2c-18.1-16.7-40-28.8-63.8-35.1L386 206.1 281.5 20.4C274.4 7.8 261.1 0 246.6 0H205.5c-26.8 0-46 25.8-38.3 51.5l31.4 104.6-60.8-16.2L116.4 86.3c-6.7-16.7-21-29.2-38.4-33.5L49.7 45.7C24.5 39.4 0 58.5 0 84.6l.2 96.8 0 0c0 16.3 7.2 31.8 19.6 42.4l87.7 75c6.4 5.5 14.1 9.5 22.3 11.6l325.5 84.7c35.9 9.4 73.8 8.1 109.1-3.5zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm168-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCowbellCirclePlus = {\n prefix: 'far',\n iconName: 'cowbell-circle-plus',\n icon: [576, 512, [\"cowbell-more\"], \"f8b4\", \"M176 48h96V96H176V48zm-48-8V96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H262.6c-4.3-15.3-6.6-31.4-6.6-48H48l64-224H336l18.8 65.8c14.2-7 29.6-12.1 45.6-15l-18.3-64C376.3 110.2 357.4 96 336 96H320V40c0-22.1-17.9-40-40-40H168c-22.1 0-40 17.9-40 40zm32 408c0 35.3 28.7 64 64 64c29.2 0 53.9-19.6 61.5-46.4c-3.8-5.7-7.2-11.5-10.3-17.6H160zm272 64a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCowbellMore = faCowbellCirclePlus;\nvar faCircleLeft = {\n prefix: 'far',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3V304h96c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H256V150.3c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faDistributeSpacingVertical = {\n prefix: 'far',\n iconName: 'distribute-spacing-vertical',\n icon: [512, 512, [], \"e366\", \"M0 56C0 69.3 10.7 80 24 80H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 32 0 42.7 0 56zM368 208v96H144V208H368zM144 160c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H144zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faSignalBarsFair = {\n prefix: 'far',\n iconName: 'signal-bars-fair',\n icon: [640, 512, [\"signal-alt-2\"], \"f692\", \"M208 304c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16zm-64 16c0-35.3 28.7-64 64-64s64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V320zM64 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64-16A64 64 0 1 1 0 448a64 64 0 1 1 128 0z\"]\n};\nvar faSignalAlt2 = faSignalBarsFair;\nvar faSportsball = {\n prefix: 'far',\n iconName: 'sportsball',\n icon: [512, 512, [], \"e44b\", \"M447 99c3.8 33.4 4.4 70.2-.1 107c-25.6-8.1-49.2-20.8-69.7-37.2L447 99zm-9 154.5c-7.2 28-17.9 55.2-33 79.8c-4.7 7.7-9.9 15.1-15.5 22.3L289.9 256l53.1-53.1c27.5 22.9 59.7 40.3 94.9 50.6zM356.1 390.1c-19.4 16.1-42.4 29.6-69.7 39.8c-10.2 3.8-21 7.1-32.4 9.9c-10.2-35.9-27.8-68.7-51.1-96.7L256 289.9 356.1 390.1zM206.3 447.8c-31.5 3.2-67 3-106.9-1.3l69.3-69.3c16.6 20.8 29.5 44.6 37.5 70.6zM22.9 455.2l0 0c.5 2.7 1 5.3 1.6 7.9c1.6 7.5 5.7 14 11.4 18.6c4.2 3.3 9.2 5.6 14.6 6.5c103.9 17.4 187 11 252.6-13.3c66-24.5 112.2-66.5 142.9-116.5c60.2-98.2 59.1-224.7 41.6-309.5c-1.4-6.9-5-12.9-10-17.4c-.9-.8-1.8-1.5-2.7-2.2c-3.9-2.8-8.4-4.7-13.3-5.5c-2.1-.3-4.2-.7-6.2-1l0 0C395.7 13.3 343 11.7 296.6 16.9c0 0 0 0 0 0c-16.6 1.9-32.4 4.6-47.5 8.1c0 0 0 0 0 0c-14.1 3.3-27.5 7.4-40.3 12.1c-34.1 12.7-63 30-87.1 50.7l0 0C109.4 98.5 98.3 110 88.3 122.2l0 0c-8.2 10-15.6 20.5-22.2 31.4c-18.4 29.9-31 62.5-39.2 95.7c0 0 0 0 0 0c-3.9 15.7-6.8 31.6-8.8 47.4c0 0 0 0 0 0c-7.4 56.9-3.6 113 4.9 158.4zM65 413c-3.8-33.4-4.4-70.2 .1-107c25.6 8.1 49.2 20.8 69.7 37.2L65 413zm9-154.5c7.2-28 17.9-55.2 33-79.8c4.7-7.7 9.9-15.1 15.5-22.3L222.1 256l-53.1 53.1c-27.5-22.9-59.7-40.3-94.9-50.6zm81.9-136.6c19.4-16.1 42.4-29.6 69.7-39.8c10.2-3.8 21-7.1 32.4-9.9c10.2 35.9 27.8 68.7 51.1 96.7L256 222.1 155.9 121.9zM305.7 64.2c31.5-3.2 67-3 106.9 1.3l-69.3 69.3c-16.6-20.8-29.5-44.6-37.5-70.6z\"]\n};\nvar faGameConsoleHandheldCrank = {\n prefix: 'far',\n iconName: 'game-console-handheld-crank',\n icon: [640, 512, [], \"e5b9\", \"M96 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H96zM32 96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V272h32V200 168c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H560v72c0 13.3-10.7 24-24 24H480v96c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V96zm128 32H352c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm16 160c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V304c0-8.8 7.2-16 16-16zm120 16a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTrainSubway = {\n prefix: 'far',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M200 48l0 160H48V96c0-26.5 21.5-48 48-48H200zm48 0H352c26.5 0 48 21.5 48 48V208H248l0-160zM48 352V256H400v96c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48zM96 0C43 0 0 43 0 96V352c0 42.8 28 79 66.6 91.4L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57H318.1l57 57c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6C420 431 448 394.8 448 352V96c0-53-43-96-96-96H96zm32 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'far',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l112 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-112 0c-13.3 0-24-10.7-24-24zm88 72H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm160 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceSmileUpsideDown = {\n prefix: 'far',\n iconName: 'face-smile-upside-down',\n icon: [512, 512, [], \"e395\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM177.6 193.9C192.8 177.5 218.8 160 256 160s63.2 17.5 78.4 33.9c9 9.7 24.2 10.4 33.9 1.4s10.4-24.2 1.4-33.9c-22-23.8-60-49.4-113.6-49.4s-91.7 25.5-113.6 49.4c-9 9.7-8.4 24.9 1.4 33.9s24.9 8.4 33.9-1.4zM208.4 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faBallPile = {\n prefix: 'far',\n iconName: 'ball-pile',\n icon: [640, 512, [], \"f77e\", \"M368 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48 0c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3c53 0 96 43 96 96c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3s-19.5-1.5-28.6-4.3C405.1 365.1 416 389.3 416 416c0 53-43 96-96 96s-96-43-96-96c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3s-19.5-1.5-28.6-4.3C213.1 365.1 224 389.3 224 416c0 53-43 96-96 96s-96-43-96-96s43-96 96-96c9.9 0 19.5 1.5 28.6 4.3C138.9 306.9 128 282.7 128 256c0-53 43-96 96-96c9.9 0 19.5 1.5 28.6 4.3C234.9 146.9 224 122.7 224 96c0-53 43-96 96-96s96 43 96 96zm-96 96c-9.9 0-19.5-1.5-28.6-4.3C309.1 205.1 320 229.3 320 256c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3zm0 64c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3s19.5 1.5 28.6 4.3C330.9 306.9 320 282.7 320 256zM176 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48-112a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM368 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48-112a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM560 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faBadgeDollar = {\n prefix: 'far',\n iconName: 'badge-dollar',\n icon: [512, 512, [], \"f645\", \"M200.3 81.5C210.9 61.5 231.9 48 256 48s45.1 13.5 55.7 33.5C317.1 91.7 329 96.6 340 93.2c21.6-6.6 46.1-1.4 63.1 15.7s22.3 41.5 15.7 63.1c-3.4 11 1.5 22.9 11.7 28.2c20 10.6 33.5 31.6 33.5 55.7s-13.5 45.1-33.5 55.7c-10.2 5.4-15.1 17.2-11.7 28.2c6.6 21.6 1.4 46.1-15.7 63.1s-41.5 22.3-63.1 15.7c-11-3.4-22.9 1.5-28.2 11.7c-10.6 20-31.6 33.5-55.7 33.5s-45.1-13.5-55.7-33.5c-5.4-10.2-17.2-15.1-28.2-11.7c-21.6 6.6-46.1 1.4-63.1-15.7S86.6 361.6 93.2 340c3.4-11-1.5-22.9-11.7-28.2C61.5 301.1 48 280.1 48 256s13.5-45.1 33.5-55.7C91.7 194.9 96.6 183 93.2 172c-6.6-21.6-1.4-46.1 15.7-63.1S150.4 86.6 172 93.2c11 3.4 22.9-1.5 28.2-11.7zM256 0c-35.9 0-67.8 17-88.1 43.4c-33-4.3-67.6 6.2-93 31.6s-35.9 60-31.6 93C17 188.2 0 220.1 0 256s17 67.8 43.4 88.1c-4.3 33 6.2 67.6 31.6 93s60 35.9 93 31.6C188.2 495 220.1 512 256 512s67.8-17 88.1-43.4c33 4.3 67.6-6.2 93-31.6s35.9-60 31.6-93C495 323.8 512 291.9 512 256s-17-67.8-43.4-88.1c4.3-33-6.2-67.6-31.6-93s-60-35.9-93-31.6C323.8 17 291.9 0 256 0zm20.9 140.4c0-11-9-20-20-20s-20 9-20 20v17.4c-8.8 1.8-17.7 4.8-25.7 9.6c-15 8.9-27.7 24.4-27.6 46.9c.1 21.5 12.6 35.1 26.3 43.4c11.9 7.2 27 11.7 39.1 15.4l1.9 .6c13.9 4.2 24.4 7.6 31.7 12.2c6.1 3.8 7.5 6.8 7.6 11c.1 6.5-2.5 10.4-7.6 13.6c-6 3.7-15.2 5.9-25.1 5.6c-12.7-.4-24.6-4.4-39.7-9.6l0 0 0 0 0 0 0 0c-2.6-.9-5.2-1.8-8-2.7c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c2.2 .7 4.5 1.5 6.8 2.3c9.7 3.3 20.9 7.2 32.8 9.6v18c0 11 9 20 20 20s20-9 20-20V354.4c9.3-1.7 18.6-4.9 26.8-10.1c15.3-9.5 26.8-25.7 26.5-48.1c-.3-21.6-12.4-35.6-26.3-44.3c-12.5-7.9-28.3-12.6-40.8-16.4l-.6-.2c-14.1-4.3-24.6-7.5-31.9-11.9c-6.2-3.7-7-6.3-7-9.3c0-5.1 2.1-8.8 7.9-12.3c6.5-3.8 16-6 25-5.8c10.9 .2 22.9 2.6 35.2 5.8c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-7.8-2.1-16.3-4.1-25.1-5.4V140.4z\"]\n};\nvar faMoneyBillsSimple = {\n prefix: 'far',\n iconName: 'money-bills-simple',\n icon: [640, 512, [\"money-bills-alt\"], \"e1f4\", \"M576 80c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H576zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM448 208a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faMoneyBillsAlt = faMoneyBillsSimple;\nvar faListTimeline = {\n prefix: 'far',\n iconName: 'list-timeline',\n icon: [512, 512, [], \"e1d1\", \"M219.9 112H400V80H219.9l-16 16 16 16zm-72.6-4.7c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3zM64 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 160a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm187.9 16H400V400H219.9l-16 16 16 16zm-72.6-4.7c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3zM203.9 256l16 16H464V240H219.9l-16 16zm-13.3 54.6l-43.3-43.3c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3c6-6 14.1-9.4 22.6-9.4H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4z\"]\n};\nvar faIndianRupeeSign = {\n prefix: 'far',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 56C0 42.7 10.7 32 24 32h80H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H211.3c17.7 19.8 30.1 44.6 34.7 72h50c13.3 0 24 10.7 24 24s-10.7 24-24 24H246c-11.4 68.1-70.7 120-142 120H98.9L261.9 436.5c10.8 7.7 13.3 22.7 5.6 33.5s-22.7 13.3-33.5 5.6l-224-160C1.6 309.5-2 298.6 1.1 288.7S13.6 272 24 272h80c44.7 0 82.3-30.6 93-72H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H197c-10.7-41.4-48.2-72-93-72H24C10.7 80 0 69.3 0 56z\"]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'far',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24V80H24C10.7 80 0 90.7 0 104s10.7 24 24 24H80V376c0 30.9 25.1 56 56 56H352V384H136c-4.4 0-8-3.6-8-8V24zM384 488c0 13.3 10.7 24 24 24s24-10.7 24-24V432h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H432l0-248c0-30.9-25.1-56-56-56L160 80v48l216 0c4.4 0 8 3.6 8 8l0 352z\"]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'far',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M112 112c0 35.3-28.7 64-64 64V336c35.3 0 64 28.7 64 64H464c0-35.3 28.7-64 64-64V176c-35.3 0-64-28.7-64-64H112zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm80-48c0 8.8 7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'far',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M6.5 272.4c-8.7-9.2-8.7-23.7 0-32.9l121.4-129c8.8-9.3 21-14.6 33.7-14.6c25.6 0 46.3 20.7 46.3 46.3l0 33.7 248 0c30.9 0 56 25.1 56 56l0 48c0 30.9-25.1 56-56 56l-248 0 0 33.7c0 25.6-20.7 46.3-46.3 46.3c-12.8 0-25-5.3-33.7-14.6L6.5 272.4zm153.5 93l0-53.5c0-13.3 10.7-24 24-24l272 0c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-272 0c-6.4 0-12.5-2.5-17-7s-7-10.6-7-17l0-53.5L57 256 160 365.5z\"]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faKeyboardDown = {\n prefix: 'far',\n iconName: 'keyboard-down',\n icon: [576, 512, [], \"e1c2\", \"M64 48c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V240c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM159 359c9.4-9.4 24.6-9.4 33.9 0l95 95 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L305 505c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7L159 393c-9.4-9.4-9.4-24.6 0-33.9zm1-167c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V192zM120 88h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zm64 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V104zm96-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zm64 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V104zm96-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16z\"]\n};\nvar faCircleUpRight = {\n prefix: 'far',\n iconName: 'circle-up-right',\n icon: [512, 512, [], \"e129\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm96 313.4c0 12.5-10.1 22.6-22.6 22.6c-6 0-11.8-2.4-16-6.6L280 296l-66.3 66.3C210 366 205.1 368 200 368s-10-2-13.7-5.7l-36.7-36.7C146 322 144 317.1 144 312s2-10 5.7-13.7L216 232l-33.4-33.4c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H336c8.8 0 16 7.2 16 16V313.4z\"]\n};\nvar faCloudBoltMoon = {\n prefix: 'far',\n iconName: 'cloud-bolt-moon',\n icon: [576, 512, [\"thunderstorm-moon\"], \"f76d\", \"M361.4 79.9c31.2 18.7 52.5 52.2 54.3 90.8c33.3 15.8 57.6 47.5 63 85.3c.8 0 1.6 0 2.4 0c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5C427.1 0 380.6 33 361.4 79.9zM128.1 160c0-26.5 21.5-48 48-48c22.8 0 41.9 15.9 46.8 37.2c2.1 8.9 9 15.9 18 18s18.3-1.2 24.1-8.3c7.4-9.1 18.6-14.9 31.1-14.9c20.3 0 37.2 15.2 39.7 34.8c.1 .6 .2 1.2 .3 1.7v1.1c0 .3 0 .6 0 .9c0 .5 0 1 0 1.5s0 1 0 1.5c0 .3 0 .6 0 .9v30.2c0 7 3 13.6 8.3 18.1s12.2 6.6 19.1 5.6c1.5-.2 3-.3 4.6-.3c17.7 0 32 14.3 32 32s-14.3 32-32 32c-.4 0-.9 0-1.3 0c-.3 0-.6 0-1 0H293.7l-8 16.1H304c20.3 0 38.4 12.8 45.2 31.9h16.1c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-38.7-27.5-71-64-78.4v-6.9c0-.9 0-1.8 0-2.7s0-1.8 0-2.7V176c0-2.9-.5-5.7-1.5-8.3C374.9 126.9 339.1 96 296.1 96c-14.7 0-28.5 3.6-40.6 9.9C238.1 80.6 209.1 64 176.1 64c-52.6 0-95.4 42.4-96 94.8l-.2 2.5C34.6 169 .1 208.5 .1 256c0 43.4 28.8 80 68.3 91.9c3.1-6.6 7.6-12.6 13.6-17.4l33.3-26.6H98.9c-.3 0-.6 0-.9 0c-.6 0-1.2 0-1.9 0c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.4 0 2.7 .1 4 .2c13.2 1.1 24.8-8.7 25.9-21.9l2-23.8c.1-.8 .1-1.6 .1-2.5zm154 67.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H233.9l52.4-104.8c3.4-6.7 1.6-14.9-4.3-19.6z\"]\n};\nvar faThunderstormMoon = faCloudBoltMoon;\nvar faDna = {\n prefix: 'far',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M416 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 2.7-.1 5.4-.2 8H80.2c-.2-2.6-.2-5.3-.2-8C80 10.7 69.3 0 56 0S32 10.7 32 24c0 55.6 24.5 101.9 58.1 141.9c27.2 32.4 61.5 62 95.8 90.1c-34.3 28.1-68.6 57.7-95.8 90.1C56.5 386.1 32 432.4 32 488c0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.7 .1-5.4 .2-8H367.8c.2 2.6 .2 5.3 .2 8c0 13.3 10.7 24 24 24s24-10.7 24-24c0-55.6-24.5-101.9-58.1-141.9c-20.6-24.5-45.2-47.3-70.8-69.2c-8.7 7.1-17.3 14.1-25.7 20.9l0 0-2.2 1.8c-3.4 2.7-6.7 5.5-10.1 8.1c11.2 9.4 22.1 18.8 32.3 28.3h-115c22-20.4 46.7-40.4 72.2-61c.3-.2 .5-.4 .8-.6l.7-.6c41.3-33.4 84.7-68.6 117.7-107.9C391.5 125.9 416 79.6 416 24zM121.1 384H326.9c12.4 15.7 22.4 31.6 29.4 48H91.7c7-16.4 17-32.3 29.4-48zM91.7 80H356.3c-7 16.4-17 32.3-29.4 48H121.1c-12.4-15.7-22.4-31.6-29.4-48zm189.8 96c-17.8 16.4-37.2 32.6-57.5 49.1c-20.3-16.5-39.7-32.7-57.5-49.1h115z\"]\n};\nvar faVirusSlash = {\n prefix: 'far',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zM220 147.1c39 4.3 78.6-14.2 100-47.6c23.3 36.4 68.4 55.1 110.6 45.8c-9.3 42.2 9.4 87.3 45.8 110.6c-21.2 13.6-36.4 34.5-43.6 58L220 147.1zM402 412.7l-44.6-35.1c-14.9 8.2-27.9 20.1-37.4 34.8c-23.3-36.4-68.4-55.1-110.6-45.8c9.3-42.2-9.4-87.3-45.8-110.6c7.1-4.5 13.6-9.9 19.2-16l-38.1-30c-9.5 8.5-22.2 14-37.2 14H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7z\"]\n};\nvar faBracketRoundRight = {\n prefix: 'far',\n iconName: 'bracket-round-right',\n icon: [192, 512, [], \"29\", \"M35.4 43.7c-6.8 11.4-3 26.1 8.3 32.9C76.7 96.3 144 160.7 144 256s-67.3 159.7-100.3 179.4c-11.4 6.8-15.1 21.5-8.3 32.9s21.5 15.1 32.9 8.3C110 451.8 192 374.1 192 256S110 60.2 68.3 35.4c-11.4-6.8-26.1-3-32.9 8.3z\"]\n};\nvar faCircleSterling = {\n prefix: 'far',\n iconName: 'circle-sterling',\n icon: [512, 512, [], \"e5cf\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm261.5-96c-16.8 0-30.4 13.7-30.3 30.5l.2 33.5H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H231.7l.1 9.7c.1 18.6-3.1 37-9.6 54.3H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.4 0-16.1-4.4-20.5-11.5s-4.7-16-.8-23.5l9.6-18.6c7.7-14.9 11.6-31.5 11.5-48.3l-.1-10.1H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h7.5l-.2-33.1c-.3-43.5 34.8-78.9 78.3-78.9c10 0 19.8 1.9 29.1 5.6l30.3 12.1c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4l-30.3-12.1c-3.6-1.4-7.4-2.2-11.3-2.2z\"]\n};\nvar faCircle5 = {\n prefix: 'far',\n iconName: 'circle-5',\n icon: [512, 512, [], \"e0f2\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 128c-11.6 0-21.5 8.3-23.6 19.7l-16 88c-1.2 6.5 .4 13.3 4.4 18.6s10 8.8 16.6 9.5l86.9 9.8c15.8 1.8 27.8 15.2 27.8 31.1c0 17.3-14 31.3-31.3 31.3h-36c-11.5 0-22.3-5.7-28.8-15.3l-4.1-6.1c-7.4-11-22.3-13.9-33.3-6.5s-13.9 22.3-6.5 33.3l4.1 6.1c15.4 22.9 41.1 36.6 68.6 36.6h36c43.8 0 79.3-35.5 79.3-79.3c0-40.3-30.3-74.3-70.4-78.8L220.2 219l7.8-43h84c13.3 0 24-10.7 24-24s-10.7-24-24-24H208z\"]\n};\nvar faMinus = {\n prefix: 'far',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 13.3-10.7 24-24 24L40 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0c13.3 0 24 10.7 24 24z\"]\n};\nvar faSubtract = faMinus;\nvar faFireFlame = {\n prefix: 'far',\n iconName: 'fire-flame',\n icon: [384, 512, [\"flame\"], \"f6df\", \"M209.1 8.5c72.9 68 128.7 152.4 162.7 246.1l.7 1.9c7.6 20.9 11.5 42.9 11.5 65.1C384 426.7 297.2 512 192 512S0 426.7 0 321.6c0-22.2 3.9-44.2 11.5-65.1l.7-1.9L57.3 271l-.7 1.9c-5.7 15.6-8.6 32.1-8.6 48.7C48 399.7 112.8 464 192 464s144-64.3 144-142.4c0-16.6-2.9-33.1-8.6-48.7l42.3-15.4-42.3 15.4-.7-1.9c-29-79.8-75-152.2-134.7-212.2C132.3 118.8 86.3 191.2 57.3 271L12.2 254.6C46.2 160.8 102 76.5 174.9 8.5l3.3-3C181.9 2 186.9 0 192 0s10.1 2 13.8 5.5l3.3 3zM189.3 163.8c1.7-2.4 4.4-3.8 7.4-3.8c5 0 9.1 4.1 9.1 9.1v10.8c0 7.8 3.1 15.3 8.5 20.8l44.1 45.1c19 19.4 29.6 45.5 29.6 72.6V320c0 53-43 96-96 96s-96-43-96-96V308.6c0-18.4 6.6-36.3 18.6-50.3l6-7c1.8-2.1 4.4-3.3 7.1-3.3c5.2 0 9.4 4.2 9.4 9.4v40.9c0 20.8 16.9 37.7 37.7 37.7s37.7-16.9 37.7-37.7v-1.5c0-10.2-3.9-19.9-11-27.3l-11-11.4c-12.3-12.8-19.2-29.8-19.2-47.5c0-14.4 4.5-28.4 13-40.1l4.9-6.7z\"]\n};\nvar faFlame = faFireFlame;\nvar faRightToLine = {\n prefix: 'far',\n iconName: 'right-to-line',\n icon: [448, 512, [\"arrow-alt-to-right\"], \"f34c\", \"M192 146.2L302 256 192 365.8l0-53.8c0-13.3-10.7-24-24-24L48 288l0-64 120 0c13.3 0 24-10.7 24-24l0-53.8zM352 256c0-11.5-4.6-22.5-12.7-30.6L223.2 109.6c-8.7-8.7-20.5-13.6-32.8-13.6c-25.6 0-46.4 20.8-46.4 46.4l0 33.6-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 33.6c0 25.6 20.8 46.4 46.4 46.4c12.3 0 24.1-4.9 32.8-13.6L339.3 286.6c8.1-8.1 12.7-19.1 12.7-30.6zM400 88l0 336c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowAltToRight = faRightToLine;\nvar faGif = {\n prefix: 'far',\n iconName: 'gif',\n icon: [576, 512, [], \"e190\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 156c-11 0-20 9-20 20V336c0 11 9 20 20 20s20-9 20-20V176c0-11-9-20-20-20zm52 20v80 80c0 11 9 20 20 20s20-9 20-20V276h52c11 0 20-9 20-20s-9-20-20-20H396V196h68c11 0 20-9 20-20s-9-20-20-20H376c-11 0-20 9-20 20zM132 256c0-33.1 26.9-60 60-60c13.5 0 26 4.5 36 12c8.8 6.6 21.4 4.9 28-4s4.9-21.4-4-28c-16.7-12.6-37.5-20-60-20c-55.2 0-100 44.8-100 100s44.8 100 100 100c22.5 0 43.3-7.4 60-20c5-3.8 8-9.7 8-16V264c0-11-9-20-20-20H184c-11 0-20 9-20 20s9 20 20 20h36v25.1c-8.4 4.4-17.9 6.9-28 6.9c-33.1 0-60-26.9-60-60z\"]\n};\nvar faChess = {\n prefix: 'far',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M128 0c8.8 0 16 7.2 16 16V32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H144V96h45.1c23.7 0 42.9 19.2 42.9 42.9c0 4.7-.8 9.4-2.3 13.8l-19.6 57.5c8.2 3.8 13.9 12.1 13.9 21.8c0 11.6-8.2 21.3-19.2 23.5l2.1 96.5h-48l-2.1-96H99.2l-2.1 96h-48l2.1-96.5C40.2 253.3 32 243.6 32 232c0-9.6 5.7-17.9 13.9-21.8L26.3 152.8c-1.5-4.5-2.3-9.1-2.3-13.8C24 115.2 43.2 96 66.9 96H112V64H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V16c0-8.8 7.2-16 16-16zm54 144H74l21.8 64h64.4L182 144zM52.7 464H203.3l-16.6-32H69.2L52.7 464zm143.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h137zM280 160H488c13.3 0 24 10.7 24 24v72c0 5-1.6 9.9-4.5 13.9L472 319.7V352H424V312c0-5 1.6-9.9 4.5-13.9L464 248.3V208H432v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V208H368v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V208H304v40.3l35.5 49.7c2.9 4.1 4.5 8.9 4.5 13.9v40H296V319.7l-35.5-49.7c-2.9-4.1-4.5-8.9-4.5-13.9V184c0-13.3 10.7-24 24-24zM475.6 396.3L507 452.9c3.3 5.9 5 12.6 5 19.3c0 22-17.8 39.8-39.8 39.8H295.8c-22 0-39.8-17.8-39.8-39.8c0-6.8 1.7-13.4 5-19.3l31.4-56.6c4.2-7.6 12.3-12.3 21-12.3H454.6c8.7 0 16.7 4.7 21 12.3zM327.5 432l-17.8 32H458.2l-17.8-32H327.5z\"]\n};\nvar faTrashSlash = {\n prefix: 'far',\n iconName: 'trash-slash',\n icon: [640, 512, [], \"e2b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L491.3 359.8 508.4 128H520c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H463.9 450.2L413.5 24.9C403.1 9.4 385.6 0 366.9 0H273.1c-18.7 0-36.2 9.4-46.6 24.9L189.8 80H176.1 134.4L38.8 5.1zM195.6 128H460.3L445.8 324.1 195.6 128zm77.5-80h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM155.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H420.6c26.1 0 48.8-15.7 58.7-38.4l-42.1-33.1-.6 8.7c-.6 8.4-7.6 14.8-16 14.8H219.4c-8.4 0-15.3-6.5-16-14.8L188.3 244.4l-51.1-40.3 18.4 248.6z\"]\n};\nvar faArrowLeftLong = {\n prefix: 'far',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M7 239c-9.4 9.4-9.4 24.6 0 33.9L143 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95L488 280c13.3 0 24-10.7 24-24s-10.7-24-24-24L81.9 232l95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239z\"]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'far',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faFontCase = {\n prefix: 'far',\n iconName: 'font-case',\n icon: [640, 512, [], \"f866\", \"M198.4 47.5C194.9 38.2 186 32 176 32s-18.9 6.2-22.4 15.5l-152 400c-4.7 12.4 1.5 26.3 13.9 31s26.3-1.5 31-13.9L83.1 368H268.9l36.7 96.5c4.7 12.4 18.6 18.6 31 13.9s18.6-18.6 13.9-31l-152-400zM250.7 320H101.4L176 123.6 250.7 320zM616 160c-13.3 0-24 10.7-24 24v8.8c-22.1-20.4-51.6-32.8-84-32.8c-68.5 0-124 55.5-124 124v72c0 68.5 55.5 124 124 124c32.4 0 61.9-12.4 84-32.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zM432 284c0-42 34-76 76-76s76 34 76 76v72c0 42-34 76-76 76s-76-34-76-76V284z\"]\n};\nvar faStreetView = {\n prefix: 'far',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M256 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96A72 72 0 1 0 256 0a72 72 0 1 0 0 144zM192 280l0 0V240c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v40l0 0c-19.4 4.9-33.8 21.3-36 41.2l-6.2 55.6c-.5 4.1-3.9 7.1-8 7.1H242.1c-4.1 0-7.5-3.1-8-7.1L228 321.3c-2.2-19.9-16.6-36.3-36-41.2zm-5.6 102.2c3.2 28.4 27.1 49.8 55.7 49.8h27.8c28.5 0 52.5-21.5 55.7-49.8l6.2-55.6c20.8-5.2 36.3-24.1 36.3-46.6V240c0-44.2-35.8-80-80-80H224c-44.2 0-80 35.8-80 80v40c0 22.5 15.4 41.3 36.3 46.6l6.2 55.6zm-54.1 12c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"]\n};\nvar faArrowDownLeft = {\n prefix: 'far',\n iconName: 'arrow-down-left',\n icon: [384, 512, [], \"e091\", \"M56 416c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24V334.1L311 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-231 231H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H56z\"]\n};\nvar faFrancSign = {\n prefix: 'far',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M72 32C58.7 32 48 42.7 48 56V216 320H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v88c0 13.3 10.7 24 24 24s24-10.7 24-24V368H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V240H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V80H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faFlaskRoundPoison = {\n prefix: 'far',\n iconName: 'flask-round-poison',\n icon: [448, 512, [\"flask-poison\"], \"f6e0\", \"M176 48h96V157.7c0 24.3 13.5 44.9 32.3 55.9C352.1 241.4 384 293 384 352c0 43.1-17 82.1-44.7 110.9c-.1 .1-.3 .2-.8 .4c-.9 .4-2.5 .7-4.8 .7H114.2c-2.2 0-3.8-.4-4.8-.7c-.4-.2-.7-.3-.8-.4C81 434.1 64 395.1 64 352c0-59 31.9-110.6 79.7-138.4c18.8-11 32.3-31.6 32.3-55.9V48zM320 157.7V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H304 144 120C106.7 0 96 10.7 96 24s10.7 24 24 24h8V157.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4zM286.8 378.4c15.6-13 25.2-30.8 25.2-50.4c0-39.8-39.4-72-88-72s-88 32.2-88 72c0 19.6 9.6 37.4 25.2 50.4c4.1 3.4 6.8 8.3 6.8 13.6v8c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16v-8c0-5.3 2.7-10.2 6.8-13.6zM192 312a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faFlaskPoison = faFlaskRoundPoison;\nvar faVolumeOff = {\n prefix: 'far',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M272 102.3L159.9 201.9c-4.4 3.9-10.1 6.1-15.9 6.1H56c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h88c5.9 0 11.6 2.2 15.9 6.1L272 409.7V102.3zm-1.6-62.8c5.5-4.8 12.5-7.5 19.8-7.5C306.7 32 320 45.3 320 61.8V450.2c0 16.5-13.3 29.8-29.8 29.8c-7.3 0-14.3-2.7-19.8-7.5L134.9 352H56c-30.9 0-56-25.1-56-56V216c0-30.9 25.1-56 56-56h78.9L270.4 39.5z\"]\n};\nvar faBookCircleArrowRight = {\n prefix: 'far',\n iconName: 'book-circle-arrow-right',\n icon: [640, 512, [], \"e0bc\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H322.9c-1.9-10.4-2.9-21.1-2.9-32c0-5.4 .2-10.7 .7-16H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V220.5c14.6-9.5 30.8-17 48-21.8V56c0-30.9-25.1-56-56-56H88zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM492.7 300.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faChartUser = {\n prefix: 'far',\n iconName: 'chart-user',\n icon: [640, 512, [\"user-chart\"], \"f6a3\", \"M576 48H224c-8.8 0-16 7.2-16 16v41.3c-14.8-6-31-9.3-48-9.3V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-8.3-18-19.8-34.2-33.7-48H576c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM412.7 139.3c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h88c8.8 0 16 7.2 16 16v88c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-27-27L401 273c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 55.7-55.7-27-27zM160 272a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 400c-39.8 0-73.2 27.2-82.6 64H269.3c-9.5-36.8-42.9-64-82.6-64H133.3zm0-48h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nvar faUserChart = faChartUser;\nvar faHandsAslInterpreting = {\n prefix: 'far',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M186.3 55.8l-51.8 86.3c-5.8 9.6-17.4 14-28.1 10.5S89 138.6 90 127.5l5.9-61.9c.8-8.8-5.6-16.6-14.4-17.4s-16.6 5.6-17.4 14.4l-16 168-.1 .8v.8 32c0 61.9 50.1 112 112 112h48c31.6 0 60.5-14.5 76.2-41.6c4.4-7.7 1.8-17.4-5.8-21.9c-2.5-1.4-5.1-2.1-7.7-2.2l-.3 0-.3 0c-5.5 .1-10.7 3-13.6 8C247.4 334.1 230 344 208 344c-30.9 0-56-25.1-56-56s25.1-56 56-56c11.6 0 21.7 1.8 30.1 5.8c8.9 4.2 14.8 10.3 18.4 16.6c2.9 5 8.1 7.9 13.6 8l.3 0 .3 0c2.6 0 5.2-.7 7.7-2.2c7.6-4.4 10.3-14.2 5.8-21.9c-6-10.3-13.5-18-21.9-23.6c-7.1-4.8-11.1-12.9-10.5-21.5s5.6-16.1 13.2-19.9l46.2-23.1c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-87.4 43.7c-9.5 4.8-21.1 2.7-28.3-5.2s-8.5-19.5-3-28.7l35.6-59.4c4.5-7.6 2.1-17.4-5.5-22s-17.4-2.1-22 5.5zm92.8 349.5C257.5 417.8 232.7 424 208 424H160C71.6 424 0 352.4 0 264V232v-1.9c0-.8 0-1.5 .1-2.3l.2-1.9 16-168C19.6 22.8 50.9-3.1 86.1 .3c24.7 2.4 44.9 18.5 53.4 40.1l5.6-9.3c18.2-30.3 57.5-40.1 87.8-22c26.9 16.2 37.7 49 27 77.4l15.4-7.7c31.4-15.7 69.5-3.2 85.5 28C382.5 94.2 407.3 88 432 88h48c88.4 0 160 71.6 160 160v32 1.9c0 .8 0 1.5-.1 2.3l-.2 1.9-16 168c-3.4 35.2-34.6 61-69.8 57.6c-24.7-2.4-44.9-18.5-53.4-40.1l-5.6 9.3c-18.2 30.3-57.5 40.1-87.8 22c-26.9-16.2-37.7-49-27-77.4l-15.4 7.7c-31.4 15.7-69.5 3.2-85.5-28zm174.6 51l51.8-86.3c5.8-9.6 17.4-14 28.1-10.5s17.5 13.9 16.4 25.1l-5.9 61.9c-.8 8.8 5.6 16.6 14.4 17.4s16.6-5.6 17.4-14.4l16-168 .1-.8V280 248c0-61.9-50.1-112-112-112H432c-31.6 0-60.5 14.5-76.2 41.6c-4.4 7.6-1.8 17.4 5.8 21.9c2.5 1.4 5.1 2.1 7.7 2.2l.3 0 .3 0c5.5-.1 10.7-3 13.6-8C392.6 177.9 410 168 432 168c30.9 0 56 25.1 56 56s-25.1 56-56 56c-11.6 0-21.7-1.8-30.1-5.8c-8.9-4.2-14.8-10.3-18.4-16.6c-2.9-5-8.1-7.9-13.6-8l-.3 0-.3 0c-2.6 0-5.2 .7-7.7 2.2c-7.7 4.4-10.3 14.2-5.8 21.9c6 10.3 13.5 18 21.9 23.6c7.1 4.8 11.1 12.9 10.6 21.5s-5.6 16.1-13.2 19.9l-46.2 23.1c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l87.4-43.7c9.5-4.8 21.1-2.7 28.3 5.2s8.5 19.5 3 28.7l-35.6 59.4c-4.5 7.6-2.1 17.4 5.5 22s17.4 2.1 22-5.5zM224 288a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm208-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faPresentationScreen = {\n prefix: 'far',\n iconName: 'presentation-screen',\n icon: [576, 512, [\"presentation\"], \"f685\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm8 80V296c0 30.9 25.1 56 56 56H264v46.1l-73 73c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l63-63 63 63c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73-73V352H488c30.9 0 56-25.1 56-56V80H496V296c0 4.4-3.6 8-8 8H288 88c-4.4 0-8-3.6-8-8V80H32z\"]\n};\nvar faPresentation = faPresentationScreen;\nvar faCircleBolt = {\n prefix: 'far',\n iconName: 'circle-bolt',\n icon: [512, 512, [], \"e0fe\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM330.1 115.6c5.8 4.7 7.6 12.9 4.2 19.6L281.9 240H352c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L230.1 272H160c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faFaceSmileHalo = {\n prefix: 'far',\n iconName: 'face-smile-halo',\n icon: [512, 512, [], \"e38f\", \"M512 80C512 35.8 397.4 0 256 0S0 35.8 0 80s114.6 80 256 80s256-35.8 256-80zm-64 0c0 17.7-86 32-192 32S64 97.7 64 80s86-32 192-32s192 14.3 192 32zM45.6 156.5C26.7 190.7 16 230.1 16 272c0 132.5 107.5 240 240 240s240-107.5 240-240c0-41.9-10.7-81.3-29.6-115.5c-14 5.8-29.6 11.1-46.4 15.6c17.8 29.1 28 63.3 28 99.9c0 106-86 192-192 192S64 378 64 272c0-36.6 10.2-70.8 28-99.9c-16.9-4.6-32.4-9.8-46.4-15.6zm172 128.3l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 244.4 120 262.1 120 280c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm-73.9 47.9c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C319.2 350.5 293.2 368 256 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zm233.9-47.9l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 244.4 280 262.1 280 280c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]\n};\nvar faCartCircleArrowDown = {\n prefix: 'far',\n iconName: 'cart-circle-arrow-down',\n icon: [640, 512, [], \"e3ef\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.6L489.1 192.1c2.3-.1 4.6-.1 6.9-.1c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-147.3c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0l-56-56c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 393.4V304c0-8.8 7.2-16 16-16s16 7.2 16 16v89.4l28.7-28.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHousePersonReturn = {\n prefix: 'far',\n iconName: 'house-person-return',\n icon: [640, 512, [\"house-person-arrive\", \"house-return\"], \"e011\", \"M432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm66.2 266.6l-29.9-89.8c-7.7 1.2-15 3.6-21.7 7.1c.1 .3 .2 .7 .3 1l32.4 103.8 16.3-13.3c2.6-2.1 3.6-5.6 2.5-8.7zm-59 54.6l-28.5-91.3-10.5 36.7c-1.9 6.5-5.4 12.5-10.2 17.3L361 313c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l27.6-27.6 10.9-38.1c14.4-50.5 60.6-85.4 113.2-85.4h4.9c16.1 0 32.1 2.6 47.4 7.7c39.9 13.3 72.4 42.8 89.5 81.3l9.5 21.3c5.4 12.1-.1 26.3-12.2 31.7s-26.3-.1-31.7-12.2l-9.5-21.3c-10.9-24.4-30.9-43.5-55.6-53.3l22.8 68.3c7.4 22.1 .3 46.5-17.8 61.2L421.5 397.4l-22.1 96c-3 12.9-15.9 21-28.8 18s-21-15.9-18-28.8L375.4 384c2-8.7 6.8-16.4 13.8-22.1l50.1-40.7zm101.1 21l24.1 60.4L633 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-69.7-69.7c-3.8-3.8-6.8-8.4-8.9-13.4l-19.2-48 39-31.7zm-146.7-224l2.9 2.4c-13.5 8.9-25.6 20-35.7 32.8L240 55 112 159.3V360c0 4.4 3.6 8 8 8H346.8c-1.1 2.9-1.9 5.8-2.6 8.8L335.1 416H120c-30.9 0-56-25.1-56-56V198.4L39.2 218.6c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176c8.8-7.2 21.5-7.2 30.3 0L371.1 99.8c6.3 7.4 14 13.7 22.6 18.4zM160 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V208z\"]\n};\nvar faHousePersonArrive = faHousePersonReturn;\nvar faHouseReturn = faHousePersonReturn;\nvar faMessageXmark = {\n prefix: 'far',\n iconName: 'message-xmark',\n icon: [512, 512, [\"comment-alt-times\", \"message-times\"], \"f4ab\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM175 127c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faCommentAltTimes = faMessageXmark;\nvar faMessageTimes = faMessageXmark;\nvar faFileCertificate = {\n prefix: 'far',\n iconName: 'file-certificate',\n icon: [512, 512, [\"file-award\"], \"f5f3\", \"M448 464H224v32c0 5.5-1 10.9-2.7 16H448c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64v71.1l.1-.1c1.5-.7 4-2 6.6-3c13.6-5.5 28.3-5.4 41.3-.5V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM109.2 161.6c-10-4.1-21.5-1-28.1 7.5L70.6 182.6c-1.3 1.7-3.2 2.7-5.2 3l-16.9 2.3c-10.7 1.5-19.1 9.9-20.5 20.5l-2.3 16.9c-.3 2.1-1.4 4-3 5.2L9.1 241.1c-8.5 6.6-11.6 18.1-7.5 28.1L8 285c.8 1.9 .8 4.1 0 6.1L1.6 306.8c-4.1 10-1 21.5 7.5 28.1l13.5 10.5c1.7 1.3 2.7 3.2 3 5.2l2.3 16.9c1.5 10.7 9.9 19.1 20.5 20.6L64 390.2V496c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L128 483.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V390.2l15.5-2.1c10.7-1.5 19.1-9.9 20.5-20.6l2.3-16.9c.3-2.1 1.4-4 3-5.2l13.5-10.5c8.5-6.6 11.6-18.1 7.5-28.1L248 291c-.8-1.9-.8-4.1 0-6.1l6.5-15.8c4.1-10 1-21.5-7.5-28.1l-13.5-10.5c-1.7-1.3-2.7-3.2-3-5.2l-2.3-16.9c-1.5-10.7-9.9-19.1-20.5-20.5l-16.9-2.3c-2.1-.3-4-1.4-5.2-3l-10.5-13.5c-6.6-8.5-18.1-11.6-28.1-7.5L131 168c-1.9 .8-4.1 .8-6.1 0l-15.8-6.5zM64 288a64 64 0 1 1 128 0A64 64 0 1 1 64 288z\"]\n};\nvar faFileAward = faFileCertificate;\nvar faUserDoctorHairLong = {\n prefix: 'far',\n iconName: 'user-doctor-hair-long',\n icon: [448, 512, [], \"e459\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zm80 224c-5.4 0-10.8 .3-16 1v49.3c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7v-41c-46.9 19-80 65-80 118.7v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-97.2 78.8-176 176-176h96c97.2 0 176 78.8 176 176v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-53.7-33.1-99.7-80-118.7V402c27.6 7.1 48 32.2 48 62v32c0 8.8-7.2 16-16 16H328c-8.8 0-16-7.2-16-16s7.2-16 16-16h8V464c0-17.7-14.3-32-32-32s-32 14.3-32 32v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V464c0-29.8 20.4-54.9 48-62V353c-5.2-.7-10.6-1-16-1H176zm-8 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCameraSecurity = {\n prefix: 'far',\n iconName: 'camera-security',\n icon: [448, 512, [\"camera-home\"], \"f8fe\", \"M384 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h40.1L67.6 475.4c-4.6 7.4-4.8 16.7-.5 24.3s12.3 12.3 21 12.3H360c8.7 0 16.7-4.7 21-12.3s4-16.9-.5-24.3L343.9 416H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM287.5 416l29.5 48H130.9l29.5-48h127zM336 208a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM224 144a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCameraHome = faCameraSecurity;\nvar faGear = {\n prefix: 'far',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M256 0c17 0 33.6 1.7 49.8 4.8c7.9 1.5 21.8 6.1 29.4 20.1c2 3.7 3.6 7.6 4.6 11.8l9.3 38.5C350.5 81 360.3 86.7 366 85l38-11.2c4-1.2 8.1-1.8 12.2-1.9c16.1-.5 27 9.4 32.3 15.4c22.1 25.1 39.1 54.6 49.9 86.3c2.6 7.6 5.6 21.8-2.7 35.4c-2.2 3.6-4.9 7-8 10L459 246.3c-4.2 4-4.2 15.5 0 19.5l28.7 27.3c3.1 3 5.8 6.4 8 10c8.2 13.6 5.2 27.8 2.7 35.4c-10.8 31.7-27.8 61.1-49.9 86.3c-5.3 6-16.3 15.9-32.3 15.4c-4.1-.1-8.2-.8-12.2-1.9L366 427c-5.7-1.7-15.5 4-16.9 9.8l-9.3 38.5c-1 4.2-2.6 8.2-4.6 11.8c-7.7 14-21.6 18.5-29.4 20.1C289.6 510.3 273 512 256 512s-33.6-1.7-49.8-4.8c-7.9-1.5-21.8-6.1-29.4-20.1c-2-3.7-3.6-7.6-4.6-11.8l-9.3-38.5c-1.4-5.8-11.2-11.5-16.9-9.8l-38 11.2c-4 1.2-8.1 1.8-12.2 1.9c-16.1 .5-27-9.4-32.3-15.4c-22-25.1-39.1-54.6-49.9-86.3c-2.6-7.6-5.6-21.8 2.7-35.4c2.2-3.6 4.9-7 8-10L53 265.7c4.2-4 4.2-15.5 0-19.5L24.2 218.9c-3.1-3-5.8-6.4-8-10C8 195.3 11 181.1 13.6 173.6c10.8-31.7 27.8-61.1 49.9-86.3c5.3-6 16.3-15.9 32.3-15.4c4.1 .1 8.2 .8 12.2 1.9L146 85c5.7 1.7 15.5-4 16.9-9.8l9.3-38.5c1-4.2 2.6-8.2 4.6-11.8c7.7-14 21.6-18.5 29.4-20.1C222.4 1.7 239 0 256 0zM218.1 51.4l-8.5 35.1c-7.8 32.3-45.3 53.9-77.2 44.6L97.9 120.9c-16.5 19.3-29.5 41.7-38 65.7l26.2 24.9c24 22.8 24 66.2 0 89L59.9 325.4c8.5 24 21.5 46.4 38 65.7l34.6-10.2c31.8-9.4 69.4 12.3 77.2 44.6l8.5 35.1c24.6 4.5 51.3 4.5 75.9 0l8.5-35.1c7.8-32.3 45.3-53.9 77.2-44.6l34.6 10.2c16.5-19.3 29.5-41.7 38-65.7l-26.2-24.9c-24-22.8-24-66.2 0-89l26.2-24.9c-8.5-24-21.5-46.4-38-65.7l-34.6 10.2c-31.8 9.4-69.4-12.3-77.2-44.6l-8.5-35.1c-24.6-4.5-51.3-4.5-75.9 0zM208 256a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192z\"]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'far',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 464c37.9 0 72.4-14.6 98.1-38.6l38 30C421.4 490.3 373.2 512 320 512c-106 0-192-86-192-192c0-27.7 12-62.9 29.8-99.6l38.7 30.5c-1.2 2.7-2.4 5.4-3.6 8c-11.9 27.6-17 48.2-17 61.1c0 79.5 64.5 144 144 144zm185.2-93.3l125.6 98.4c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L205.8 136c34.9-54.7 72-103 88.9-124.3C300.6 4.2 309.5 0 319.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C381.8 57.7 512 228.8 512 320c0 17.5-2.4 34.6-6.8 50.7zm-42.3-33.1c.7-5.8 1.1-11.6 1.1-17.6c0-13-5.1-33.5-17-61.1c-11.5-26.6-27.6-55.8-45.5-84.7c-29-46.8-61-90.2-81.5-117c-19.3 25.1-48.7 65-76.3 108.5L462.9 337.5zM224 312c0-11.9 8.7-21.8 20.1-23.7l27.9 21.9c0 .6 .1 1.2 .1 1.7c0 30.9 25.1 56 56 56c13.3 0 24 10.7 24 24s-10.7 24-24 24c-57.4 0-104-46.6-104-104z\"]\n};\nvar faTintSlash = faDropletSlash;\nvar faBookHeart = {\n prefix: 'far',\n iconName: 'book-heart',\n icon: [448, 512, [], \"f499\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zm80-185.4c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faMosque = {\n prefix: 'far',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c7.6 0 14.7 3.6 19.2 9.6c18 24 40.1 42.1 66.5 59.5c15.7 10.3 31.3 19.5 48.2 29.3c13.1 7.6 26.9 15.7 42.2 25.2c31 19.2 48 53.2 48 88.3c0 25.6-8.9 49.2-23.8 67.7C623.8 291.4 640 315.8 640 344v96c0 39.8-32.2 72-72 72H448 352 240h-8H72c-39.8 0-72-32.2-72-72V176 140.7C0 96.3 20.5 54.3 55.6 27l25.7-20c8.7-6.7 20.8-6.7 29.5 0l25.7 20c26.9 20.9 45.2 50.4 52.3 83.1c-24.1 21.6-38.9 51-43.3 81.9H144 48V440c0 13.3 10.7 24 24 24h92.1c-2.7-7.5-4.1-15.6-4.1-24V344c0-28.2 16.2-52.6 39.8-64.4C184.9 261 176 237.5 176 211.8c0-35.1 17-69.1 48-88.3c15.2-9.4 29.1-17.5 42.2-25.2l0 0c16.9-9.9 32.5-19 48.2-29.3c26.4-17.4 48.5-35.5 66.4-59.5C385.3 3.6 392.4 0 400 0zM232 464h8 16V408c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V414c0-19 8.4-37 23-49.2L400 344l25 20.8C439.6 377 448 395 448 414v50h48V408c0-13.3 10.7-24 24-24s24 10.7 24 24v56h24c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24H515.8 400 284.2 232c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24zM48 144h96v-3.3c0-29.6-13.7-57.6-37.1-75.8L96 56.4 85.1 64.9C61.7 83.1 48 111.1 48 140.7V144zm528 67.8c0-19.9-9.6-37.7-25.3-47.5c-12.6-7.8-25.9-15.6-39-23.3c-18.3-10.8-36.5-21.4-52.4-31.9C438.2 95.3 418.1 80 400 61c-18.1 18.9-38.2 34.2-59.3 48.1c-16 10.5-34.1 21.1-52.4 31.9c-13.1 7.7-26.4 15.5-39 23.3C233.6 174.1 224 192 224 211.8c0 33.2 26.9 60.2 60.2 60.2H400 515.8c33.2 0 60.2-26.9 60.2-60.2z\"]\n};\nvar faDuck = {\n prefix: 'far',\n iconName: 'duck',\n icon: [512, 512, [129414], \"f6d8\", \"M69.1 324.1c11.2 4.8 23.7 5.2 35.2 1l146.5-52.7c14.6-5.3 25.8-17.3 30-32.2s.9-31-8.8-43.1c-10-12.4-15.9-28-15.9-45.1c0-39.8 32.2-72 72-72s72 32.2 72 72c0 20.1-8.2 38.2-21.5 51.4l7.5 7.6-7.5-7.6c-7.1 7-13.6 15.5-18.4 25.5c-8.7 18.2-5.1 39.9 9 54.4c14.3 14.5 22.9 34.3 22.9 56V352c0 44.2-35.8 80-80 80H196c-69.8 0-128.7-49.4-144.1-115.2l17.2 7.4zM446.8 135C438.5 76.8 388.5 32 328 32c-66.3 0-120 53.7-120 120c0 11.2 1.5 22 4.4 32.2c4.4 15.9 12.1 30.5 22.1 43l-47 16.9L88 280 37 258.1c-3.3-1.4-6.9-2.1-10.5-2.1C11.9 256 0 268.1 0 282.7C0 391 87.8 480 196 480H312c70.7 0 128-57.3 128-128V339.2c0-34.7-13.9-66.4-36.6-89.6c2.1-4.4 5.1-8.5 8.7-12c1.8-1.8 3.6-3.7 5.3-5.6h3.5c50.3 0 91.1-40.8 91.1-91.1c0-6.8-6-12.1-12.8-11.3L463.9 134c-5.7 .7-11.4 1-17.1 1zM344 176a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM299.2 289.1c-13.1-1.8-25.2 7.5-27 20.6c-2.7 20-18 38.3-40.8 44c-18.6 4.6-36.8-.5-49.3-11.6c-9.9-8.8-25.1-7.9-33.9 2s-7.9 25.1 2 33.9c24.2 21.5 58.7 30.8 92.8 22.3c41.6-10.4 71.4-44.4 76.7-84.2c1.8-13.1-7.5-25.2-20.6-27z\"]\n};\nvar faMosquito = {\n prefix: 'far',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M177.5 506.9c-10.3-8.2-12.2-23.5-4.3-34.1l43.1-57.3 0-55.6c0-5.8 2-11.4 5.7-15.8l62.3-74.6L154.6 387.8C97.6 447.6 0 405.2 0 320.6c0-47.9 34-88.3 79.3-94.2l153-23.9-40.8-40.9c-7.8-7.8-9.4-20.1-3.9-29.8l23.9-41.7L173.3 39.2c-8-10.6-6.1-25.9 4.3-34.1s25.2-6.3 33.2 4.4l48 63.9c5.9 7.9 6.6 18.6 1.7 27.2L237.8 140 288 190.3l0-38.1c0-14.9 10.2-27.4 24-31l0-57.2c0-4.4 3.6-8 8-8s8 3.6 8 8l0 57.2c13.8 3.6 24 16.1 24 31l0 38.2L402.2 140l-22.6-39.5c-4.9-8.6-4.2-19.3 1.7-27.2l48-63.9c8-10.6 22.8-12.6 33.2-4.4s12.2 23.5 4.3 34.1L428.5 90.1l23.9 41.7c5.5 9.7 3.9 22-3.9 29.8l-40.8 40.9 153 23.9c45.3 5.9 79.4 46.3 79.4 94.2c0 84.6-97.6 127-154.6 67.1L355.7 269.4 418 344c3.7 4.4 5.7 10 5.7 15.8l0 62.7 42.1 49c8.6 10.1 7.7 25.5-2.1 34.3s-24.7 7.9-33.4-2.1l-48-55.9c-3.8-4.4-5.9-10.2-5.9-16.1l0-62.9L352 339.7l0 68.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-68.1-24.3 29.2 0 54.9c0 5.4-1.7 10.6-4.9 14.9l-48 63.9c-8 10.6-22.8 12.6-33.2 4.4zM119.9 354.6c.8-.8 1.6-1.6 2.4-2.3L233.4 250.9l-146.6 23c-.4 .1-.8 .1-1.2 .2C65.8 276.6 48 295.1 48 320.6c0 22.3 12.2 37.3 27 43.7c14.5 6.3 31.3 4.5 44.9-9.7zM406.6 250.9L517.7 352.3c.8 .7 1.6 1.5 2.4 2.3c13.6 14.2 30.4 16 44.9 9.7c14.8-6.4 27-21.4 27-43.7c0-25.5-17.8-44-37.6-46.6c-.4-.1-.8-.1-1.2-.2L406.6 250.9z\"]\n};\nvar faStarOfDavid = {\n prefix: 'far',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M408.9 301.9L378.2 352h61.5l-30.8-50.1zM380.8 256l-58.9-96H190.1l-58.9 96 58.9 96H321.9l58.9-96zm56.3 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-58.9-96l30.7 50.1L439.7 160H378.2zm-85.8-48L256 52.7 219.6 112h72.8zM133.8 160H72.3l30.8 50.1L133.8 160zM103.1 301.9L72.3 352h61.5l-30.8-50.1zM219.6 400L256 459.3 292.4 400H219.6z\"]\n};\nvar faFlagSwallowtail = {\n prefix: 'far',\n iconName: 'flag-swallowtail',\n icon: [448, 512, [\"flag-alt\"], \"f74c\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24v8V80 304v48V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352H424c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L352 192 443.2 70.4c3.1-4.2 4.8-9.2 4.8-14.4c0-13.3-10.7-24-24-24H48V24zm0 56H376l-62.4 83.2c-12.8 17.1-12.8 40.5 0 57.6L376 304H48V80z\"]\n};\nvar faFlagAlt = faFlagSwallowtail;\nvar faPersonMilitaryRifle = {\n prefix: 'far',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M160 39c0 13.8 11.2 25 25 25H336c8.8 0 16-7.2 16-16V17.4C352 8 344 .7 334.7 1.4L182.9 14.1C170 15.2 160 26 160 39zm277.9 1c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9L327.2 231.6c-10.1-3.8-20.8-6.2-31.7-7.1c-2.5-.3-5-.4-7.6-.4h-2.7H226.7 224c-2.6 0-5.1 .1-7.5 .4c-35.7 3.1-68.5 22-88.9 52L36.2 410.5c-7.5 11-4.6 25.9 6.3 33.4s25.9 4.6 33.3-6.3L160 314.1V480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V314.1l84.2 123.5c7.5 11 22.4 13.8 33.4 6.3s13.8-22.4 6.3-33.3l-85.2-125 38.6-66.9c8.8-15.3 3.6-34.9-11.7-43.7l-1.6-.9 55.5-96.1c4.4-7.7 1.8-17.4-5.9-21.9l-13.9-8-13.9-8zM304 403.6L228.8 272h56.5c1.7 0 3.5 .1 5.2 .2c7.7 1.2 13.5 7.8 13.5 15.8V403.6zm-96-71.3L283.2 464H208V332.4zM176 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H283.7c2.7 4.7 4.3 10.2 4.3 16c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-5.8 1.6-11.3 4.3-16H177.6c-1 5.2-1.6 10.5-1.6 16z\"]\n};\nvar faCarGarage = {\n prefix: 'far',\n iconName: 'car-garage',\n icon: [640, 512, [], \"f5e2\", \"M331.4 2.9c-7.1-3.8-15.7-3.8-22.8 0l-296 160c-11.7 6.3-16 20.9-9.7 32.5s20.9 16 32.5 9.7L320 51.3 604.6 205.1c11.7 6.3 26.2 2 32.5-9.7s2-26.2-9.7-32.5l-296-160zM249.8 208H390.2c10.1 0 19.2 6.4 22.6 15.9L429.9 272H210.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zm-96.4 79.9c-.2 .5-.3 .9-.5 1.4C128.2 306.7 112 335.5 112 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H480v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L458 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H249.8c-30.4 0-57.6 19.1-67.8 47.8l-28.6 80.1zM432 320c26.5 0 48 21.5 48 48v32H160V368c0-26.5 21.5-48 48-48H432zM224 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCartShopping = {\n prefix: 'far',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM131.1 80H520.7L482.4 222.2c-2.8 10.5-12.3 17.8-23.2 17.8H161.6L131.1 80zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faShoppingCart = faCartShopping;\nvar faBookFont = {\n prefix: 'far',\n iconName: 'book-font',\n icon: [448, 512, [], \"e0bf\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM261.5 93.3l88 176c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L289.2 256c-.4 0-.8 0-1.2 0H192c-.4 0-.8 0-1.2 0l-17.4 34.8c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l88-176C222.6 85.1 230.9 80 240 80s17.4 5.1 21.5 13.3zM265.2 208L240 157.7 214.8 208h50.3z\"]\n};\nvar faShieldPlus = {\n prefix: 'far',\n iconName: 'shield-plus',\n icon: [512, 512, [], \"e24a\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faVials = {\n prefix: 'far',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M0 56C0 42.7 10.7 32 24 32H56 168h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V80H24C10.7 80 0 69.3 0 56zM80 80V256h64V80H80zM288 56c0-13.3 10.7-24 24-24h32H456h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V80h-8c-13.3 0-24-10.7-24-24zm80 24V256h64V80H368z\"]\n};\nvar faEyeDropperFull = {\n prefix: 'far',\n iconName: 'eye-dropper-full',\n icon: [512, 512, [], \"e172\", \"M199 169L233 202.9 309.1 279 343 313l8 8c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-8-8 33.9-33.9 71.3-71.3c19.1-19.1 29.8-45 29.8-72C512 45.6 466.4 0 410.2 0c-27 0-52.9 10.7-72 29.8l-71.3 71.3L233 135l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l0 0 8 8zm249.2-29.1L343 245.1 266.9 169 372.1 63.8C382.2 53.7 395.9 48 410.2 48c29.7 0 53.8 24.1 53.8 53.8c0 14.3-5.7 28-15.8 38.1zM53.1 329C39.6 342.5 32 360.8 32 379.9v52.9l-28 42c-6.3 9.5-5.1 22.2 3 30.3s20.8 9.3 30.3 3l42-28h52.9c19.1 0 37.4-7.6 50.9-21.1L313.4 328.6 183.4 198.6 53.1 329z\"]\n};\nvar faDistributeSpacingHorizontal = {\n prefix: 'far',\n iconName: 'distribute-spacing-horizontal',\n icon: [512, 512, [], \"e365\", \"M456 0c-13.3 0-24 10.7-24 24l0 464c0 13.3 10.7 24 24 24s24-10.7 24-24l0-464c0-13.3-10.7-24-24-24zM304 368l-96 0 0-224 96 0 0 224zm48-224c0-26.5-21.5-48-48-48l-96 0c-26.5 0-48 21.5-48 48l0 224c0 26.5 21.5 48 48 48l96 0c26.5 0 48-21.5 48-48l0-224zM80 24C80 10.7 69.3 0 56 0S32 10.7 32 24l0 464c0 13.3 10.7 24 24 24s24-10.7 24-24L80 24z\"]\n};\nvar faTabletRugged = {\n prefix: 'far',\n iconName: 'tablet-rugged',\n icon: [448, 512, [], \"f48f\", \"M352 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H352zM96 0C66.6 0 41.8 19.8 34.3 46.8L8.8 59.6C3.4 62.3 0 67.8 0 73.9v76.2c0 6.1 3.4 11.6 8.8 14.3L32 176v16L8.8 203.6C3.4 206.3 0 211.8 0 217.9v76.2c0 6.1 3.4 11.6 8.8 14.3L32 320v16L8.8 347.6C3.4 350.3 0 355.8 0 361.9v76.2c0 6.1 3.4 11.6 8.8 14.3l25.5 12.7C41.8 492.2 66.6 512 96 512H352c29.4 0 54.2-19.8 61.7-46.8l25.5-12.7c5.4-2.7 8.8-8.2 8.8-14.3V361.9c0-6.1-3.4-11.6-8.8-14.3L416 336V320l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V217.9c0-6.1-3.4-11.6-8.8-14.3L416 192V176l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V73.9c0-6.1-3.4-11.6-8.8-14.3L413.7 46.8C406.2 19.8 381.4 0 352 0H96z\"]\n};\nvar faTemperatureSnow = {\n prefix: 'far',\n iconName: 'temperature-snow',\n icon: [576, 512, [\"temperature-frigid\"], \"f768\", \"M368 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5c7.1-9.5 12.8-22.1 12.8-36.6V112zM432 0C370.1 0 320 50.1 320 112V273.9c0 1.7-.7 4.4-3.2 7.8c-18.1 24.1-28.8 54-28.8 86.4c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C544 50.1 493.9 0 432 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM288 131.6l-88 50.8V126.6l35.3-35.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L200 81.4V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V81.4L139.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L152 126.6v55.8l-48.3-27.9L90.7 106.3C88.5 97.7 79.7 92.7 71.2 95s-13.6 11.1-11.3 19.6l4.6 17.3-22-12.7C31 112.6 16.3 116.5 9.7 128s-2.7 26.2 8.8 32.8l22 12.7-17.3 4.6c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l48.2-12.9L128 224 79.7 251.9 31.4 239c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l17.3 4.6-22 12.7C7 293.8 3.1 308.5 9.7 320s21.3 15.4 32.8 8.8l22-12.7-4.6 17.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l12.9-48.2L152 265.6v55.8l-35.3 35.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L152 366.6V392c0 13.3 10.7 24 24 24s24-10.7 24-24V366.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L200 321.4V265.6l67.7 39.1c5.2-13.5 12-26.2 20.3-37.9v-5.8l-64-37 64-37V131.6z\"]\n};\nvar faTemperatureFrigid = faTemperatureSnow;\nvar faMoped = {\n prefix: 'far',\n iconName: 'moped',\n icon: [640, 512, [], \"e3b9\", \"M328 56c0-13.3 10.7-24 24-24h41.3c23.8 0 45.1 15.1 52.9 37.6l8.1 23.3 51-25.5c4.4-2.2 9.3-3.4 14.3-3.4H528c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-8.4c-5 0-9.9-1.2-14.3-3.4l-34.9-17.5L500 224.4c4-.3 8-.4 12-.4c43.7 0 83.3 17.5 112.1 45.8c9.5 9.3 9.6 24.5 .3 33.9s-24.5 9.6-33.9 .3C570.2 284.2 542.6 272 512 272c-55.1 0-101 39.8-110.3 92.3c-2 11.5-12 19.8-23.6 19.8H336c-.9 0-1.7 0-2.6-.1H288 256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32V320c0-70.7 57.3-128 128-128h96c17.7 0 32 14.3 32 32v80c0 17.7 14.3 32 32 32h40 31.3c14.5-46 49.1-83.1 93.6-100.7L400.8 85.4c-1.1-3.2-4.2-5.4-7.6-5.4H352c-13.3 0-24-10.7-24-24zM120 112H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm88 128H128c-44.2 0-80 35.8-80 80v16H214.7c-4.3-9.8-6.7-20.6-6.7-32V240zM160 432c26.5 0 48-21.5 48-48H112c0 26.5 21.5 48 48 48zm352 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faFaceSmilePlus = {\n prefix: 'far',\n iconName: 'face-smile-plus',\n icon: [640, 512, [\"smile-plus\"], \"f5b9\", \"M544 0c13.3 0 24 10.7 24 24V72h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H568v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V120H472c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V24c0-13.3 10.7-24 24-24zM400 288A176 176 0 1 0 48 288a176 176 0 1 0 352 0zM0 288a224 224 0 1 1 448 0A224 224 0 1 1 0 288zm144.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM146 332.8c19.1 21.6 46.9 35.2 78 35.2s58.9-13.6 78-35.2c8.8-9.9 23.9-10.9 33.9-2.1s10.9 23.9 2.1 33.9C310.2 396.1 269.4 416 224 416s-86.2-19.9-114-51.5c-8.8-9.9-7.8-25.1 2.1-33.9s25.1-7.8 33.9 2.1z\"]\n};\nvar faSmilePlus = faFaceSmilePlus;\nvar faRadioTuner = {\n prefix: 'far',\n iconName: 'radio-tuner',\n icon: [512, 512, [\"radio-alt\"], \"f8d8\", \"M511.1 17.6c3.5 12.8-4 26-16.8 29.5L201.2 128H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V304 192v-3.4c0-32.4 21.6-60.8 52.9-69.4L481.6 .9c12.8-3.5 26 4 29.5 16.8zM48 272v32V448c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V272H48zm256 96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM96 320H224c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faRadioAlt = faRadioTuner;\nvar faFaceSwear = {\n prefix: 'far',\n iconName: 'face-swear',\n icon: [640, 512, [], \"e399\", \"M320 48c114.9 0 208 93.1 208 208h48C576 114.6 461.4 0 320 0S64 114.6 64 256h48c0-114.9 93.1-208 208-208zM240.4 224c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32zM48 288c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zm352 96H384v32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H320v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V384H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-80 0v32h32V384H320zm250.4-52.1c6.7 5.8 7.5 15.8 1.7 22.6l-96 112c-5.8 6.7-15.8 7.5-22.6 1.7s-7.5-15.8-1.7-22.6l96-112c5.8-6.7 15.8-7.5 22.6-1.7zM448 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM208 320c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM184 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 336v1.8c4.6 .8 8.7 1.7 12.1 2.6c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.9-2.1-18.5-3.9-26.8-2.9c-4.1 .5-6.3 1.4-7.4 2.2c-.6 .4-1.2 .9-1.5 2.9c-.2 1-.1 1.6-.1 1.8c.1 .1 .5 .6 1.5 1.3c3.7 2.5 9.6 4.4 19.2 7.3l.7 .2c8 2.4 19.1 5.8 27.6 11.9c4.7 3.4 9.3 8.2 12.1 14.7c2.9 6.6 3.4 13.8 2.2 21.1c-2 11.5-7.9 20.5-17 25.9c-4.9 3-10.1 4.6-15.3 5.4v.8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c-8.1-1.9-15.3-4.2-20.2-5.9c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.2 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c.5-.3 1.4-.9 2-4c.2-1.2 .2-1.9 .2-2.3c0-.4-.1-.6-.1-.6l0 0c0-.1-.3-.6-1.6-1.6c-3.5-2.5-9.3-4.6-18.7-7.4L106 414c-7.7-2.3-18.3-5.5-26.4-11c-4.7-3.2-9.4-7.7-12.4-14.1c-3.1-6.5-3.7-13.7-2.5-20.9c1.8-10.2 7-18.1 14.5-23.5c5.3-3.8 11.2-5.9 16.9-7V336c0-8.8 7.2-16 16-16s16 7.2 16 16zM96.1 375.4a.1 .1 0 1 0 .1-.1 .1 .1 0 1 0 -.1 .1z\"]\n};\nvar faWaterArrowDown = {\n prefix: 'far',\n iconName: 'water-arrow-down',\n icon: [576, 512, [\"water-lower\"], \"f774\", \"M312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V161.7l-47.9-43.5c-9.8-8.9-25-8.2-33.9 1.6s-8.2 25 1.6 33.9l88 80c9.2 8.3 23.1 8.3 32.3 0l88-80c9.8-8.9 10.5-24.1 1.6-33.9s-24.1-10.5-33.9-1.6L312 161.7V24zM80 302.1C62.8 317 41 328.8 18.8 333.8C5.9 336.7-2.3 349.5 .6 362.5s15.7 21.1 28.7 18.2C58 374.2 81.6 360.2 96 350.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.7-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zm0 128C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0z\"]\n};\nvar faWaterLower = faWaterArrowDown;\nvar faScannerTouchscreen = {\n prefix: 'far',\n iconName: 'scanner-touchscreen',\n icon: [512, 512, [], \"f48a\", \"M128 24V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zm176 0V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zM240 0c-8.8 0-16 7.2-16 16V64h32V16c0-8.8-7.2-16-16-16zM384 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM488 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM64 144H288c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zm0-48C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm40 80c-13.3 0-24 10.7-24 24V408c0 13.3 10.7 24 24 24H248c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H104z\"]\n};\nvar faCircle7 = {\n prefix: 'far',\n iconName: 'circle-7',\n icon: [512, 512, [], \"e0f4\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H287.8l-93 172.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l112-208c4-7.4 3.8-16.4-.5-23.7s-12.2-11.7-20.6-11.7H184z\"]\n};\nvar faPlugCirclePlus = {\n prefix: 'far',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16zM104 0c13.3 0 24 10.7 24 24v88H80V24C80 10.7 90.7 0 104 0zM280 0c13.3 0 24 10.7 24 24v88H256V24c0-13.3 10.7-24 24-24zM0 168c0-13.3 10.7-24 24-24h8H80 304h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v19.2c-18 9.2-34.2 21.4-48 36V192H80v64c0 61.9 50.1 112 112 112c24.3 0 46.9-7.8 65.2-20.9c-.8 6.9-1.2 13.9-1.2 20.9c0 11.4 1.1 22.5 3.1 33.3c-13.5 6.2-28 10.7-43.1 12.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V414.2C91 402.6 32 336.2 32 256V192H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPersonSkiJumping = {\n prefix: 'far',\n iconName: 'person-ski-jumping',\n icon: [512, 512, [\"ski-jump\"], \"f7c7\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM112 120c0-13.3 10.7-24 24-24H301.2c37 0 54.2 45.9 26.3 70.2L202.4 275 171 385 433.7 249.1c18.6-9.6 30.3-28.8 30.3-49.7V192c0-13.3 10.7-24 24-24s24 10.7 24 24v7.3c0 38.9-21.7 74.5-56.2 92.4L35 509.3C23.3 515.4 8.8 510.8 2.7 499s-1.5-26.3 10.3-32.3l113.2-58.6c-5.4-5.9-7.6-14.4-5.3-22.7l37.2-130.1c.1-.2 .1-.5 .2-.7l8.3-29c2.7-9.4 7.8-18 14.9-24.9c11.1-10.7 36.2-34.6 60.8-56.8H136c-13.3 0-24-10.7-24-24z\"]\n};\nvar faSkiJump = faPersonSkiJumping;\nvar faPlaceOfWorship = {\n prefix: 'far',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M320 0c6.8 0 13.3 2.9 17.8 7.9l67.9 75.4c6.6 7.3 10.3 16.9 10.3 26.8v75.4l38.4 24.9c15.9 10.3 25.6 28 25.6 47V464h88c13.3 0 24-10.7 24-24V370.1c0-8.1-4.1-15.7-11-20.2l-69-44.7V248.1l95.1 61.5c20.5 13.3 32.9 36 32.9 60.4V440c0 39.8-32.2 72-72 72H384v0H224v0H72c-39.8 0-72-32.2-72-72V370.1c0-24.4 12.4-47.2 32.9-60.4L128 248.1v57.2L59 350c-6.8 4.4-11 12-11 20.2V440c0 13.3 10.7 24 24 24h88V257.4c0-19 9.6-36.7 25.6-47L224 185.5V110.1c0-9.9 3.7-19.4 10.3-26.8L302.2 7.9C306.7 2.9 313.2 0 320 0zM272 113.2v85.4c0 8.1-4.1 15.7-11 20.1l-49.4 32c-2.3 1.5-3.7 4-3.7 6.7V464h64V368c0-26.5 21.5-48 48-48s48 21.5 48 48v96h64V257.4c0-2.7-1.4-5.2-3.7-6.7l-49.4-32c-6.8-4.4-11-12-11-20.1V113.2L320 59.9l-48 53.3z\"]\n};\nvar faWaterArrowUp = {\n prefix: 'far',\n iconName: 'water-arrow-up',\n icon: [576, 512, [\"water-rise\"], \"f775\", \"M312 216c0 13.3-10.7 24-24 24s-24-10.7-24-24V78.3l-47.9 43.5c-9.8 8.9-25 8.2-33.9-1.6s-8.2-25 1.6-33.9l88-80c9.2-8.3 23.1-8.3 32.3 0l88 80c9.8 8.9 10.5 24.1 1.6 33.9s-24.1 10.5-33.9 1.6L312 78.3V216zM80 302.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7zm0 128c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7z\"]\n};\nvar faWaterRise = faWaterArrowUp;\nvar faWaveformLines = {\n prefix: 'far',\n iconName: 'waveform-lines',\n icon: [640, 512, [\"waveform-path\"], \"f8f2\", \"M320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM520 64c13.3 0 24 10.7 24 24V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM216 96c13.3 0 24 10.7 24 24V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm208 32c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM120 192c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM24 224c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm592 0c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24z\"]\n};\nvar faWaveformPath = faWaveformLines;\nvar faSplit = {\n prefix: 'far',\n iconName: 'split',\n icon: [512, 512, [], \"e254\", \"M391 31c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H346.5c-10.6 0-20.8 4.2-28.3 11.7L225.9 256l92.3 92.3c7.5 7.5 17.7 11.7 28.3 11.7h83.5l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H346.5c-23.3 0-45.7-9.3-62.2-25.8L182.1 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H182.1L284.3 129.8c16.5-16.5 38.9-25.8 62.2-25.8h83.5L391 65c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFilmCanister = {\n prefix: 'far',\n iconName: 'film-canister',\n icon: [576, 512, [\"film-cannister\"], \"f8b7\", \"M96 32c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32h40 32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H296 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V80H24C10.7 80 0 69.3 0 56S10.7 32 24 32H56 96zM80 80V464H272V80H80zm464 48c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32 14.3-32 32v32c0 17.7-14.3 32-32 32H352V128H544zM392 184v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184c0-8.8-7.2-16-16-16H408c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184c0-8.8-7.2-16-16-16H504zM392 344v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V344c0-8.8-7.2-16-16-16H408c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFilmCannister = faFilmCanister;\nvar faFolderXmark = {\n prefix: 'far',\n iconName: 'folder-xmark',\n icon: [512, 512, [\"folder-times\"], \"f65f\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM175 207c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFolderTimes = faFolderXmark;\nvar faToiletPaperBlank = {\n prefix: 'far',\n iconName: 'toilet-paper-blank',\n icon: [640, 512, [\"toilet-paper-alt\"], \"f71f\", \"M20.5 463.6c-4.3 7.2-5.5 15.8-3.6 23.7c.7 2.9 1.8 5.7 3.3 8.4C25.8 505.8 36.5 512 48 512H333.9c22.3 0 45.4-12.1 55.4-36.1c9.6-23.2 23.9-66.4 33.3-134.5c0-.3 .1-.6 .1-.8c5.5-40.5 9.3-89.7 9.3-148.6c0-76 26.2-138.3 59.4-143.6c1.5-.2 3.1-.4 4.6-.4c35.3 0 64 64.5 64 144s-28.7 144-64 144c-14 0-26.9-10-37.4-27.1c-2.2 22.3-4.9 42.5-7.9 60.8C463 378 478.2 384 496 384c24.5 0 44.1-11.4 58-24.5c13.6-13 23.7-29.4 31.1-46.1C600 279.8 608 236.9 608 192s-8-87.8-22.9-121.3C577.7 54 567.6 37.5 554 24.5C540.1 11.4 520.5 0 496 0c-1.3 0-2.6 0-3.8 .1l0-.1H160C107 0 64 86 64 192c0 77.6-.4 174.5-32.9 250c-3.2 7.4-6.7 14.6-10.5 21.6l0 .1zM419 48c-4.7 7.3-8.6 15-12.1 22.7C392 104.2 384 147.1 384 192c0 153.2-26.3 235-39 265.5c-.9 2.1-2.1 3.5-3.8 4.5c-2 1.2-4.6 2-7.3 2H73.8c18.1-40.9 27.3-85.5 32.2-127.9c5.9-50.6 5.9-101.7 5.9-144.1c0-47.2 9.7-87.5 23.1-114.3c6.7-13.4 13.4-21.6 18.6-26c2.5-2.1 4.3-3 5.2-3.4c.5-.2 .8-.3 .9-.3s.2 0 .3 0H419zm77 192c13.3 0 24-21.5 24-48s-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48z\"]\n};\nvar faToiletPaperAlt = faToiletPaperBlank;\nvar faTabletScreen = {\n prefix: 'far',\n iconName: 'tablet-screen',\n icon: [448, 512, [\"tablet-android-alt\"], \"f3fc\", \"M48 448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V368H48v80zm0-128H400V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V320zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroidAlt = faTabletScreen;\nvar faHexagonVerticalNftSlanted = {\n prefix: 'far',\n iconName: 'hexagon-vertical-nft-slanted',\n icon: [448, 512, [], \"e506\", \"M188.9 495.5c22.3 12.9 49.7 12.9 72 0l152.9-88.3c22.3-12.9 36-36.6 36-62.4V168.3c0-25.7-13.7-49.5-36-62.4L260.9 17.7c-22.3-12.9-49.7-12.9-72 0L36 105.9C13.7 118.8 0 142.6 0 168.3V344.9c0 25.7 13.7 49.5 36 62.4l152.9 88.3zm48-41.6c-7.4 4.3-16.6 4.3-24 0L60 365.7c-7.4-4.3-12-12.2-12-20.8l0-176.6c0-8.6 4.6-16.5 12-20.8L212.9 59.2c7.4-4.3 16.6-4.3 24 0l152.9 88.3c7.4 4.3 12 12.2 12 20.8V344.9c0 8.6-4.6 16.5-12 20.8L236.9 453.9zm27-344.3c5 2.8 8.1 8.2 8.1 13.9c0 12.3-13.3 20-23.9 13.9l-24.2-13.8v117h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v128c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144V96.3c0-1.6 .2-3.2 .6-4.7c.5-1.9 1.4-3.7 2.6-5.2c1.1-1.5 2.5-2.8 4-3.7c2.5-1.7 5.6-2.6 8.8-2.6c0 0 .1 0 .1 0c.5 0 1 0 1.4 .1c2.5 .2 4.8 1 6.8 2.2l47.8 27.3zm32.1 55.2c-5-2.8-8.1-8.2-8.1-13.9c0-12.3 13.3-20 23.9-13.9l72 41.1c7.7 4.4 10.3 14.2 6 21.8s-14.2 10.3-21.8 6l-16.2-9.3V352.6c0 8.8-7.2 16-16 16s-16-7.2-16-16V178.4l-23.8-13.6zM159.8 144.6v224c0 7.8-5.7 14.5-13.4 15.8s-15.3-3.3-17.7-10.7L95.8 275.2v61.4c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.8 5.7-14.5 13.4-15.8s15.3 3.3 17.7 10.7L127.8 270V144.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFolderMusic = {\n prefix: 'far',\n iconName: 'folder-music',\n icon: [512, 512, [], \"e18d\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM352 192c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V283.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V224 192z\"]\n};\nvar faDisplayMedical = {\n prefix: 'far',\n iconName: 'display-medical',\n icon: [576, 512, [\"desktop-medical\"], \"e166\", \"M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM256 128v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H320V128c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDesktopMedical = faDisplayMedical;\nvar faShareAll = {\n prefix: 'far',\n iconName: 'share-all',\n icon: [576, 512, [], \"f367\", \"M367.5 73.4c-9.6-9.1-10-24.3-.9-33.9s24.3-10 33.9-.9L542.2 173.2c19.9 18.9 19.9 50.7 0 69.6L400.5 377.4c-9.6 9.1-24.8 8.7-33.9-.9s-8.7-24.8 .9-33.9L509.2 208 367.5 73.4zM224 240l0 0h24c13.3 0 24 10.7 24 24v24 28.1L392.1 208 272 99.9V128v24c0 13.3-10.7 24-24 24H224 176c-70.7 0-128 57.3-128 128c0 15.3 1.9 29.1 5.2 41.5C70 284.7 125.8 240 192 240h32zm0 96V288H192c-5.5 0-10.8 .5-16 1.3c-45.4 7.6-80 47.1-80 94.7c0 17.3 4.2 30.5 9.5 40.2c1.6 2.9 3.3 5.5 5 7.9c2.6 3.5 5.3 6.4 7.7 8.6c.5 .5 1 .9 1.4 1.4c4.8 4.9 8.3 11.3 8.3 18.1c0 10.9-8.8 19.7-19.7 19.7c-2.8 0-5.6-.6-8.1-1.9c-2.6-1.4-6.3-3.5-10.8-6.5c-2.7-1.8-5.7-3.8-8.9-6.2c-3.7-2.7-7.6-5.8-11.7-9.3C38.6 430.2 0 382 0 304c0-97.2 78.8-176 176-176h48V80 64c0-12.6 7.4-24.1 19-29.2s25-3 34.4 5.4l160 144c6.7 6.1 10.6 14.7 10.6 23.8s-3.8 17.7-10.6 23.8l-160 144c-9.4 8.5-22.9 10.6-34.4 5.4s-19-16.6-19-29.2V336z\"]\n};\nvar faPeapod = {\n prefix: 'far',\n iconName: 'peapod',\n icon: [512, 512, [], \"e31c\", \"M416 48C212.8 48 48 212.8 48 416v48H96c203.2 0 368-164.8 368-368V48H416zm0-48h48c26.5 0 48 21.5 48 48V96c0 229.8-186.2 416-416 416H48c-26.5 0-48-21.5-48-48V416C0 186.2 186.2 0 416 0zM256 200a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM88 368a56 56 0 1 1 112 0A56 56 0 1 1 88 368zM368 88a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faChessClock = {\n prefix: 'far',\n iconName: 'chess-clock',\n icon: [640, 512, [], \"f43d\", \"M256 56c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v32H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V176c0-35.3-28.7-64-64-64H544V96c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v16H200V80h32c13.3 0 24-10.7 24-24zM576 160c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H576zM200 400a104 104 0 1 0 0-208 104 104 0 1 0 0 208zM184 240c0-8.8 7.2-16 16-16s16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V240zM513.5 369.5A104 104 0 1 0 366.5 222.5 104 104 0 1 0 513.5 369.5zM490.9 245.1c6.2 6.2 6.2 16.4 0 22.6L457 301.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faAxe = {\n prefix: 'far',\n iconName: 'axe',\n icon: [640, 512, [129683], \"f6b2\", \"M486.6 9.4c-12.5-12.5-32.8-12.5-45.3 0L408 42.7 374.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3L384 301.3V384c0 17.7 14.3 32 32 32c123.7 0 224-100.3 224-224c0-17.7-14.3-32-32-32H525.3l-56-56 33.4-33.4c12.5-12.5 12.5-32.8 0-45.3l-16-16zM305.4 267.9l-61.3-61.3L9.4 441.4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0L305.4 267.9zm185.9-73.9c9 9 21.2 14.1 33.9 14.1h66c-7.6 84.4-74.8 151.7-159.3 159.3v-66c0-12.7-5.1-24.9-14.1-33.9L278.6 128 352 54.6 491.3 193.9z\"]\n};\nvar faSquareD = {\n prefix: 'far',\n iconName: 'square-d',\n icon: [448, 512, [], \"e268\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm24 208h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H176V336z\"]\n};\nvar faGripVertical = {\n prefix: 'far',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M40 440l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zm192-40l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM40 232l48 0 0 48-48 0 0-48zM0 280c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48zm232 0l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM40 72l48 0 0 48-48 0 0-48zM0 120c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40L40 32C17.9 32 0 49.9 0 72l0 48zm232 0l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40z\"]\n};\nvar faMobileSignalOut = {\n prefix: 'far',\n iconName: 'mobile-signal-out',\n icon: [512, 512, [], \"e1f0\", \"M64 48H224V0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V288H304V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm80 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM280 0c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24C512 103.9 408.1 0 280 0zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 120c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowTurnUp = {\n prefix: 'far',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l104 0c48.6 0 88-39.4 88-88l0-342.1 87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L209 7c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87L168 424c0 22.1-17.9 40-40 40L24 464z\"]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'far',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M24 32c13.3 0 24 10.7 24 24V288c0 79.5 64.5 144 144 144s144-64.5 144-144V56c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 106-86 192-192 192S0 394 0 288V56C0 42.7 10.7 32 24 32z\"]\n};\nvar faArrowUpFromDottedLine = {\n prefix: 'far',\n iconName: 'arrow-up-from-dotted-line',\n icon: [448, 512, [], \"e09b\", \"M241.5 39.6C236.9 34.7 230.6 32 224 32s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L200 116.5V200 328c0 13.3 10.7 24 24 24s24-10.7 24-24V200 116.5l86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136zM32 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faSquareRootVariable = {\n prefix: 'far',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M344.3 80c-3.6 0-6.7 2.4-7.7 5.8L231.1 462.5c-2.6 9.4-10.7 16.3-20.5 17.4s-19.1-3.9-23.8-12.5L83.9 276.2c-1.4-2.6-4.1-4.2-7-4.2H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H76.9c20.6 0 39.5 11.3 49.3 29.5l74.7 138.8L290.3 72.9C297.1 48.7 319.2 32 344.3 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H344.3zM399 239c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faLightSwitchOn = {\n prefix: 'far',\n iconName: 'light-switch-on',\n icon: [384, 512, [], \"e019\", \"M169.4 48c3.3 9.3 12.2 16 22.6 16s19.3-6.7 22.6-16H320c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H214.6c-3.3-9.3-12.2-16-22.6-16s-19.3 6.7-22.6 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H169.4zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm80 256h96V368H144V256zm0-160c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H144z\"]\n};\nvar faArrowDownArrowUp = {\n prefix: 'far',\n iconName: 'arrow-down-arrow-up',\n icon: [576, 512, [\"sort-alt\"], \"f883\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM399 39l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L433 39c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faSortAlt = faArrowDownArrowUp;\nvar faRaindrops = {\n prefix: 'far',\n iconName: 'raindrops',\n icon: [448, 512, [], \"f75c\", \"M105.9 106.6l41.9-67.8C150.4 34.6 155 32 160 32s9.6 2.6 12.2 6.8l41.9 67.8c6.5 10.5 9.9 22.6 9.9 34.9V144c0 35.3-28.7 64-64 64s-64-28.7-64-64v-2.5c0-12.3 3.4-24.4 9.9-34.9zm-96 192l41.9-67.8C54.4 226.6 59 224 64 224s9.6 2.6 12.2 6.8l41.9 67.8c6.5 10.5 9.9 22.6 9.9 34.9V336c0 35.3-28.7 64-64 64s-64-28.7-64-64v-2.5c0-12.3 3.4-24.4 9.9-34.9zm242.6 11.5c-8.2 12.7-12.5 27.6-12.5 42.7c0 43.4 35.9 79.2 80 79.2s80-35.8 80-79.2c0-15.1-4.3-30-12.5-42.7L320 204.6 252.5 310.1zm-40.4-25.9l95.6-149.5c2.7-4.2 7.3-6.7 12.3-6.7s9.6 2.5 12.3 6.7l95.6 149.5C441 304.7 448 328.5 448 352.8C448 423 390.3 480 320 480s-128-57-128-127.2c0-24.3 7-48.1 20.1-68.6z\"]\n};\nvar faDash = {\n prefix: 'far',\n iconName: 'dash',\n icon: [512, 512, [\"minus-large\"], \"e404\", \"M0 256c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faMinusLarge = faDash;\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faClockFour = faClock;\nvar faInputNumeric = {\n prefix: 'far',\n iconName: 'input-numeric',\n icon: [640, 512, [], \"e1bd\", \"M576 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm40 120c0 13.3 10.7 24 24 24h8v96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V184c0-13.3-10.7-24-24-24H128c-13.3 0-24 10.7-24 24zm190.6 30.4c5.7-8 17.5-8.6 24-1.2c5.2 5.9 5 14.7-.3 20.5l-72 78c-6.5 7-8.2 17.2-4.3 25.9s12.5 14.4 22 14.4h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H318.8l34.8-37.7c22-23.8 22.4-60.3 1.1-84.7c-26.9-30.7-75.4-28.4-99.2 4.9l-11.1 15.6c-7.7 10.8-5.2 25.8 5.6 33.5s25.8 5.2 33.5-5.6l11.1-15.6z\"]\n};\nvar faTruckTow = {\n prefix: 'far',\n iconName: 'truck-tow',\n icon: [640, 512, [], \"e2b8\", \"M96 64v96c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V32C64 20.2 70.4 9.8 80 4.3C84.7 1.6 90.2 0 96 0h21.7 28c9.1 0 17.8 3.9 23.9 10.7L373.3 240H384V152c0-30.9 25.1-56 56-56h50.1c20.9 0 40.7 9.1 54.4 24.8l81.8 94.4c8.8 10.2 13.7 23.2 13.7 36.7V360c0 30.9-25.1 56-56 56h-8c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H56c-30.9 0-56-25.1-56-56V296c0-30.9 25.1-56 56-56H184L96 64zM243.2 368H396.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H584c4.4 0 8-3.6 8-8V288H432 416 384 351.8 208 56c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48zM145.8 56.3L237.7 240h71.4L145.8 56.3zM584.2 240l-76-87.7c-4.6-5.3-11.2-8.3-18.1-8.3H440c-4.4 0-8 3.6-8 8v88H584.2zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faBackwardStep = {\n prefix: 'far',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M80 88c0-13.3-10.7-24-24-24S32 74.7 32 88V226.7v58.6V424c0 13.3 10.7 24 24 24s24-10.7 24-24V318.9L256.7 442.6c5.1 3.5 11.1 5.4 17.3 5.4c16.6 0 30.1-13.5 30.1-30.1V94.1C304 77.5 290.5 64 273.9 64c-6.2 0-12.2 1.9-17.3 5.4L80 193.1V88zm0 172.3v-8.6L256 128.5v255L80 260.3z\"]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'far',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M24 320c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v96H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H88 320 552h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H576V368h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H552 320 88 24zm88 48H296v96H112V368zm232 0H528v96H344V368z\"]\n};\nvar faCarBolt = {\n prefix: 'far',\n iconName: 'car-bolt',\n icon: [512, 512, [], \"e341\", \"M127.7 106.8L103.4 176H128v48H96c-26.5 0-48 21.5-48 48v80H464V272c0-26.5-21.5-48-48-48H384V176h24.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H165.4c-17 0-32.1 10.7-37.8 26.8zm-79.6 82L82.3 90.9C94.7 55.6 128 32 165.4 32H346.6c37.4 0 70.7 23.6 83.1 58.9l34.3 97.9C492.6 205.4 512 236.4 512 272v80 48 56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H48v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-35.6 19.3-66.6 48.1-83.2zM112 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM315.2 116.6c5.3 5.2 6.3 13.3 2.5 19.6L284.3 192H336c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L227.7 224H176c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2z\"]\n};\nvar faArrowsMaximize = {\n prefix: 'far',\n iconName: 'arrows-maximize',\n icon: [512, 512, [\"expand-arrows\"], \"f31d\", \"M328 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h70.1L256 222.1 113.9 80H184c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 32 32 42.7 32 56V184c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9L222.1 256 80 398.1V328c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24H184c13.3 0 24-10.7 24-24s-10.7-24-24-24H113.9L256 289.9 398.1 432H328c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24s-24 10.7-24 24v70.1L289.9 256 432 113.9V184c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24H328z\"]\n};\nvar faExpandArrows = faArrowsMaximize;\nvar faFaucet = {\n prefix: 'far',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M224 64c13.3 0 24 10.7 24 24v21L352 96c17.7 0 32 14.3 32 32s-14.3 32-32 32L248 147v45h26.7c14.9 0 29.1 5.9 39.6 16.4L329.9 224H360c83.9 0 152 68.1 152 152v16c0 30.9-25.1 56-56 56H408c-30.9 0-56-25.1-56-56c0-4.4-3.6-8-8-8H323.9c-23.4 29.2-59.5 48-99.9 48s-76.5-18.8-99.9-48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H136.3c8.2 0 15.8 4.2 20.2 11.1C170.8 369.3 195.7 384 224 384s53.2-14.7 67.4-36.9c4.4-6.9 12-11.1 20.2-11.1H344c30.9 0 56 25.1 56 56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V376c0-57.4-46.6-104-104-104H320c-6.4 0-12.5-2.5-17-7l-22.6-22.6c-1.5-1.5-3.5-2.3-5.7-2.3H181.3c-2.1 0-4.2 .8-5.7 2.3L153 265c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H126.1l15.6-15.6c10.5-10.5 24.7-16.4 39.6-16.4H200V147L96 160c-17.7 0-32-14.3-32-32s14.3-32 32-32l104 13V88c0-13.3 10.7-24 24-24z\"]\n};\nvar faCloudSleet = {\n prefix: 'far',\n iconName: 'cloud-sleet',\n icon: [512, 512, [], \"f741\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM81.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm272 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zM216 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V376zm256 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V376z\"]\n};\nvar faLampStreet = {\n prefix: 'far',\n iconName: 'lamp-street',\n icon: [512, 512, [], \"e1c5\", \"M48 172c0-68.5 55.5-124 124-124c65 0 118.3 50 123.6 113.5c-84 10.7-151.1 75.6-164.9 158.6C127.7 337.6 142.3 352 160 352H480c17.7 0 32.3-14.4 29.4-31.9C495.5 236.9 428 171.8 343.7 161.4C338.2 71.4 263.4 0 172 0C77 0 0 77 0 172V488c0 13.3 10.7 24 24 24s24-10.7 24-24V172zM455.8 304H184.2c19.8-55.9 73.1-96 135.8-96s116.1 40.1 135.8 96zM320 448c35.3 0 64-28.7 64-64H256c0 35.3 28.7 64 64 64z\"]\n};\nvar faListRadio = {\n prefix: 'far',\n iconName: 'list-radio',\n icon: [512, 512, [], \"e1d0\", \"M64 32a64 64 0 1 0 0 128A64 64 0 1 0 64 32zM184 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM64 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-88a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM40 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0A64 64 0 1 0 0 416a64 64 0 1 0 128 0z\"]\n};\nvar faPenNibSlash = {\n prefix: 'far',\n iconName: 'pen-nib-slash',\n icon: [640, 512, [], \"e4a1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L448.6 326.3 476.2 225l10.4-10.4 71-71c21.9-21.9 21.9-57.3 0-79.2L511.6 18.3c-21.9-21.9-57.3-21.9-79.2 0l-71 71L351 99.8 209 138.5 38.8 5.1zM256.1 175.4l104.8-28.6 68.3 68.3-21.6 79.1L256.1 175.4zM272 352c13.5 0 25.7-5.6 34.4-14.6l-75-59.1c-4.7 7.4-7.4 16.2-7.4 25.7c0 7.4 1.7 14.4 4.7 20.7L126.5 426.9l63.6-181.1-39.8-31.4L71 440c-6.5 18.5-1.8 39.1 12 52.9s34.4 18.5 52.9 12l264.1-92.8 .8-.3-44.7-35.2L149.1 449.5 251.3 347.3c6.3 3 13.3 4.7 20.7 4.7z\"]\n};\nvar faBaseballBatBall = {\n prefix: 'far',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M372 17.5C383.8 6.3 399.5 0 415.7 0c16.8 0 32.9 6.7 44.7 18.5l33 33c11.9 11.9 18.5 28 18.5 44.7c0 16.3-6.3 31.9-17.5 43.7L356.3 284.7c-14.1 14.8-30.3 27.5-48 37.8L201.8 384.2c-12.6 7.3-24.3 16.3-34.6 26.6l-38.6 38.6c-.3-.3-.6-.7-1-1l-64-64c-.3-.3-.7-.6-1-1l38.6-38.6c10.3-10.3 19.3-22 26.6-34.6l61.6-106.5c10.3-17.7 23-33.9 37.8-48L372 17.5zM171.9 329.9l10.2 10.2L284.2 281c13.8-8 26.4-17.9 37.3-29.4L459.8 106.8c2.7-2.8 4.2-6.6 4.2-10.5c0-4-1.6-7.9-4.5-10.8l-33-33c-2.9-2.9-6.7-4.5-10.8-4.5c-3.9 0-7.7 1.5-10.5 4.2L260.4 190.4c-11.5 11-21.4 23.6-29.4 37.3L171.9 329.9zM464 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM15 399c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L15 433c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faSquareUpLeft = {\n prefix: 'far',\n iconName: 'square-up-left',\n icon: [448, 512, [], \"e282\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 313.4V176c0-8.8 7.2-16 16-16H281.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16L264 232l66.3 66.3c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C290 366 285.1 368 280 368s-10-2-13.7-5.7L200 296l-33.4 33.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6z\"]\n};\nvar faOverline = {\n prefix: 'far',\n iconName: 'overline',\n icon: [448, 512, [], \"f876\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm200 80c-97.2 0-176 78.8-176 176v16c0 97.2 78.8 176 176 176s176-78.8 176-176V288c0-97.2-78.8-176-176-176zM96 288c0-70.7 57.3-128 128-128s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V288z\"]\n};\nvar faS = {\n prefix: 'far',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M91.2 90.6c-24 10.1-37.9 26.2-41.8 48c-2.8 16.1-1 27.4 2.8 35.7c3.8 8.5 10.6 16.1 21.1 23.3c22.1 15.1 54.9 24.6 93.2 35.3c.8 .2 1.6 .4 2.4 .7c35.3 9.9 75.6 21.2 104.9 41.2c15.6 10.6 29.3 24.5 37.7 43.1c8.5 18.7 10.6 40 6.4 63.9c-7.2 40.8-34.4 68.8-70.5 83.9c-35.3 14.8-79.6 17.8-125.7 10.7l-.1 0c-24.5-3.9-64.3-17.2-90.9-26.2c-5.3-1.8-10-3.4-14-4.7C4 441.4-2.9 427.8 1.2 415.2s17.7-19.5 30.3-15.4c4.9 1.6 10.5 3.5 16.3 5.4c26.9 9 61.2 20.4 81.3 23.6c40.4 6.2 75.1 2.9 99.8-7.5c24-10.1 37.9-26.2 41.8-48c2.8-16.1 1-27.4-2.8-35.7c-3.8-8.5-10.6-16.1-21.1-23.3c-22.1-15.1-54.9-24.6-93.2-35.3c-.8-.2-1.6-.4-2.4-.7c-35.3-9.9-75.6-21.2-104.9-41.2c-15.6-10.6-29.3-24.5-37.7-43.1c-8.5-18.7-10.6-40-6.4-63.9l23.6 4.2L2.1 130.3C9.3 89.5 36.5 61.5 72.6 46.4c35.3-14.8 79.6-17.8 125.7-10.7c13.7 2.1 55.1 9.9 69.7 13.8c12.8 3.3 20.5 16.5 17.2 29.3s-16.5 20.5-29.3 17.2c-12.4-3.2-52-10.8-64.9-12.8l3.6-23.7L191 83.1c-40.4-6.2-75.2-2.9-99.9 7.5z\"]\n};\nvar faTimeline = {\n prefix: 'far',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm24 108.3c32.5-10.2 56-40.5 56-76.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 35.8 23.5 66.1 56 76.3V232H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H296v59.7c-32.5 10.2-56 40.5-56 76.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V280H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V172.3c32.5-10.2 56-40.5 56-76.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 35.8 23.5 66.1 56 76.3V232H152V172.3zM320 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM480 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM176 320H400c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm-72-72c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16z\"]\n};\nvar faArrowsFromDottedLine = {\n prefix: 'far',\n iconName: 'arrows-from-dotted-line',\n icon: [448, 512, [], \"e0a3\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L135 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V168c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 7zm7 337c0-13.3-10.7-24-24-24s-24 10.7-24 24v86.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V344zM32 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faUsbDrive = {\n prefix: 'far',\n iconName: 'usb-drive',\n icon: [640, 512, [], \"f8e9\", \"M64 144c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H400V144H64zM0 160c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V160zm608-32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H480V128H608zm-48 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM536 304a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faBallot = {\n prefix: 'far',\n iconName: 'ballot',\n icon: [448, 512, [], \"f732\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H96zM80 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM200 104c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200z\"]\n};\nvar faCaretDown = {\n prefix: 'far',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M160 329.4L249.4 240 70.6 240 160 329.4zm22.6 45.3c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l256 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faLocationDotSlash = {\n prefix: 'far',\n iconName: 'location-dot-slash',\n icon: [640, 512, [\"map-marker-alt-slash\"], \"f605\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4L38.8 5.1zM192.3 125.4C216.3 79.4 264.5 48 320 48c79.5 0 144 64.5 144 144c0 12.4-4.5 31.6-15.3 57.2c-7.4 17.4-16.9 36.2-27.9 55.4l-57.7-45.2C385.3 245.1 400 220.3 400 192c0-44.2-35.8-80-80-80c-35.1 0-65 22.7-75.7 54.1l-52-40.7zM318 223.9l-28.5-22.4c-.9-3-1.5-6.2-1.5-9.6c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-.7 0-1.3 0-2-.1zM191.3 249.2c-.5-1.2-1-2.5-1.5-3.7l-61.7-48.6c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0c16.2-20.2 39-49.6 62.5-83.1l-37.8-29.8c-17.3 24.6-34.2 47.2-48.5 65.4c-24.8-31.8-57.8-76.4-86.2-122.6c-17.1-27.7-32-55.1-42.5-79.9z\"]\n};\nvar faMapMarkerAltSlash = faLocationDotSlash;\nvar faCards = {\n prefix: 'far',\n iconName: 'cards',\n icon: [640, 512, [], \"e3ed\", \"M244.7 49c3.7-2.1 8.4-.9 10.5 2.8l167 289.3c2.1 3.7 .9 8.4-2.8 10.5L226.5 463c-3.7 2.1-8.4 .9-10.5-2.8L49 170.9c-2.1-3.7-.9-8.4 2.8-10.5L244.7 49zM27.8 118.8C1.2 134.2-7.9 168.2 7.5 194.9l167 289.3c15.4 26.6 49.4 35.8 76.1 20.4L443.4 393.2c26.6-15.4 35.8-49.4 20.4-76.1L296.8 27.8C281.4 1.2 247.3-7.9 220.7 7.5L27.8 118.8zM324.1 499c9.7 8.1 22.2 13 35.9 13H584c30.9 0 56-25.1 56-56V120c0-30.9-25.1-56-56-56H360c-1.8 0-3.5 .1-5.3 .2L491.5 301.1c24.2 41.9 9.8 95.6-32.1 119.8L324.1 499zM582 187.6l-48.2 49.9c-3.2 3.2-8.5 3.2-11.5 0l-48.4-49.9c-14-14.5-13.2-38.5 2.5-51.9c13.5-11.7 34.2-9.5 46.7 3.2l5 5.2 4.7-5.2c12.5-12.7 33-15 46.9-3.2c15.5 13.5 16.2 37.5 2.2 51.9zM171.4 174.3l-7.2 26.9-20.4 76.1c-7 26 8.5 52.7 34.4 59.7s52.7-8.5 59.7-34.4l2.4-8.8c.1-.4 .2-.8 .3-1.1l17.7 30.7-12.1 7c-6.7 3.8-8.9 12.4-5.1 19s12.4 8.9 19 5.1l48.2-27.8c6.7-3.8 8.9-12.4 5.1-19s-12.4-8.9-19-5.1l-12.1 7-17.7-30.7c.4 .1 .8 .2 1.1 .3l8.8 2.4c26 7 52.7-8.5 59.7-34.4s-8.5-52.7-34.4-59.7l-76.1-20.4L197 159.6c-11.1-3-22.6 3.6-25.6 14.8z\"]\n};\nvar faHouseChimneyMedical = {\n prefix: 'far',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.3 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5 112 204.8zM272 192h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16z\"]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faBoxingGlove = {\n prefix: 'far',\n iconName: 'boxing-glove',\n icon: [448, 512, [129354, \"glove-boxing\"], \"f438\", \"M48 120c0-39.8 32.2-72 72-72H272c39.8 0 72 32.2 72 72v8H312c-40.3 0-74.2 27.1-84.7 64H167.5c-19.9 0-36.8-14.6-39.6-34.3l-.2-1.1c-1.9-13.1-14-22.2-27.2-20.4s-22.2 14-20.4 27.2l.2 1.1c6.2 43.4 43.3 75.6 87.1 75.6h59.8c10.4 36.9 44.4 64 84.7 64c13.3 0 24-10.7 24-24s-10.7-24-24-24c-22.1 0-40-17.9-40-40s17.9-40 40-40h51.1c.6 .1 1.2 .2 1.9 .3c19.7 2.5 35 19.3 35 39.7v38.9c0 14.9-5.9 29.1-16.4 39.6l-60.9 60.9c-12 12-18.7 28.3-18.7 45.3V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V359.6c0-6.8-2.9-13.3-8-17.9C57.2 328.5 48 309.3 48 288V120zM120 0C53.7 0 0 53.7 0 120V288c0 31.5 12.2 60.2 32 81.6V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V400.6c0-4.2 1.7-8.3 4.7-11.3l60.9-60.9c19.5-19.5 30.5-46 30.5-73.5V216c0-37.3-23.2-69.2-56-82V120C392 53.7 338.3 0 272 0H120zm32.9 346.7c-7.4-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2l28 18.7-28 18.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4L192 411.2l39.1 26.1c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-28-18.7 28-18.7c7.4-4.9 9.3-14.8 4.4-22.2s-14.8-9.3-22.2-4.4L192 372.8l-39.1-26.1z\"]\n};\nvar faGloveBoxing = faBoxingGlove;\nvar faTemperatureThreeQuarters = {\n prefix: 'far',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V152c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faBellSchool = {\n prefix: 'far',\n iconName: 'bell-school',\n icon: [512, 512, [], \"f5d5\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM352 358.1c39.4-37.9 64-91.1 64-150.1C416 93.1 322.9 0 208 0S0 93.1 0 208c0 59 24.6 112.2 64 150.1V448c0 35.3 28.7 64 64 64H272h16H416c39.2 0 71.1-31.4 72-70.4c14.4-8.3 24-23.8 24-41.6c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 17.7 9.6 33.2 24 41.5c-.8 12.5-11.2 22.5-24 22.5H350c1.3-5.1 2-10.5 2-16V358.1zM288 464H272 128c-8.8 0-16-7.2-16-16V392.6c28.7 15 61.4 23.4 96 23.4s67.3-8.5 96-23.4V448c0 8.8-7.2 16-16 16zM208 160a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faMobileScreen = {\n prefix: 'far',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M64 448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V368H64v80zm0-128H320V64c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16V320zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM160 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'far',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M312 167.4l-24 0c0 8.2 4.2 15.8 11.1 20.2L312 167.4zM473.3 270.6l12.9-20.2h0l-12.9 20.2zm-6.1 82.8l-7.3 22.9 7.3-22.9zM312 303.7l7.3-22.9c-7.3-2.3-15.3-1-21.5 3.5s-9.8 11.7-9.8 19.4h24zm0 72.3H288c0 7.6 3.6 14.7 9.6 19.2L312 376zm57.6 43.2l-14.4 19.2h0l14.4-19.2zM358 487.4l7.1-22.9 0 0L358 487.4zM256 456l7.1-22.9c-4.6-1.4-9.5-1.4-14.1 0L256 456zM154 487.4l-7.1-22.9h0l7.1 22.9zm-11.6-68.2l14.4 19.2-14.4-19.2zM200 376l14.4 19.2c6-4.5 9.6-11.6 9.6-19.2l-24 0zm0-72.3l24 0c0-7.7-3.7-14.9-9.8-19.4s-14.2-5.8-21.5-3.5l7.3 22.9zM44.9 353.3l7.3 22.9h0l-7.3-22.9zm-6.1-82.8L25.8 250.3l0 0 12.9 20.2zM200 167.4l12.9 20.2c6.9-4.4 11.1-12 11.1-20.2H200zM256 0c-17.4 0-31.1 8.8-40.7 18.7c-9.6 9.9-16.9 22.4-22.4 34.8C182.1 78 176 107.3 176 128h48c0-13.4 4.4-36.1 12.8-55.1c4.2-9.4 8.7-16.4 12.9-20.7c4.1-4.2 6.2-4.2 6.3-4.2V0zm80 128c0-20.6-5.8-49.8-16.5-74.4c-5.4-12.4-12.7-25-22.4-34.9C287.2 8.6 273.4 0 256 0V48c.6 0 2.8 .1 6.8 4.2c4.2 4.3 8.6 11.2 12.7 20.6C283.8 91.7 288 114.4 288 128l48 0zm0 39.4V128l-48 0v39.4l48 0zm150.2 83L324.9 147.1l-25.9 40.4L460.3 290.8l25.9-40.4zM512 297.5c0-19.1-9.7-36.9-25.8-47.2l-25.9 40.4c2.3 1.5 3.7 4 3.7 6.7h48zm0 40.6V297.5H464v40.6h48zm-52.2 38.1c25.8 8.3 52.2-11 52.2-38.1H464c0-5.4 5.3-9.3 10.4-7.6l-14.6 45.7zM304.7 326.5l155.1 49.6 14.6-45.7L319.3 280.8l-14.6 45.7zM336 376V303.7H288V376h48zm-38.4 19.2l57.6 43.2L384 400l-57.6-43.2-28.8 38.4zm57.6 43.2c-2-1.5-3.2-3.9-3.2-6.4h48c0-12.6-5.9-24.4-16-32l-28.8 38.4zM352 432v42.1h48V432H352zm0 42.1c0-5.6 4.5-10.1 10.1-10.1v48c20.9 0 37.9-17 37.9-37.9H352zM362.1 464c1 0 2 .2 3 .4l-14.1 45.9c3.6 1.1 7.4 1.7 11.1 1.7V464zm3 .4l-102-31.4-14.1 45.9 102 31.4 14.1-45.9zM248.9 433.1l-102 31.4 14.1 45.9 102-31.4-14.1-45.9zm-102 31.4c1-.3 2-.4 3-.4l0 48c3.8 0 7.5-.6 11.1-1.7l-14.1-45.9zm3-.4c5.6 0 10.1 4.5 10.1 10.1H112c0 20.9 17 37.9 37.9 37.9l0-48zM160 474.1l0-42.1H112v42.1h48zm0-42.1c0 2.5-1.2 4.9-3.2 6.4L128 400c-10.1 7.6-16 19.4-16 32h48zm-3.2 6.4l57.6-43.2-28.8-38.4L128 400l28.8 38.4zM176 303.7l0 72.3 48 0 0-72.3-48 0zM52.2 376.2l155.1-49.6-14.6-45.7L37.6 330.5l14.6 45.7zM0 338.1c0 27.1 26.4 46.4 52.2 38.1L37.6 330.5c5.2-1.7 10.4 2.2 10.4 7.6H0zm0-40.6l0 40.6H48l0-40.6H0zm25.8-47.2C9.7 260.6 0 278.4 0 297.5H48c0-2.7 1.4-5.3 3.7-6.7L25.8 250.3zM187.1 147.1L25.8 250.3l25.9 40.4L212.9 187.6l-25.9-40.4zM176 128v39.4h48V128H176z\"]\n};\nvar faFolderHeart = {\n prefix: 'far',\n iconName: 'folder-heart',\n icon: [512, 512, [], \"e189\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM144 253.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCircleLocationArrow = {\n prefix: 'far',\n iconName: 'circle-location-arrow',\n icon: [512, 512, [\"location-circle\"], \"f602\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm358.2-73.3l-84 196c-3.5 8.1-11.4 13.3-20.2 13.3c-1.4 0-2.9-.1-4.4-.4C239.4 389.5 232 380.4 232 370V280H142c-10.4 0-19.5-7.4-21.5-17.6c-2.1-10.2 3.3-20.5 12.9-24.6l196-84c8.5-3.5 18-1.7 24.2 4.7c6.4 6.3 8.2 15.9 4.7 24.2z\"]\n};\nvar faLocationCircle = faCircleLocationArrow;\nvar faFaceHeadBandage = {\n prefix: 'far',\n iconName: 'face-head-bandage',\n icon: [576, 512, [], \"e37a\", \"M71.3 354c6.6-9.7 13.4-19.2 20.6-28.4C120.5 406.2 197.5 464 288 464c114.9 0 208-93.1 208-208c0-13.2-1.2-26.2-3.6-38.7c11.9 3 23.7 6.3 35.4 9.8l15 4.5c.8 8 1.1 16.2 1.1 24.4c0 141.4-114.6 256-256 256c-99.5 0-185.8-56.8-228.2-139.8c2.5-3.8 4.8-7.5 6.7-10.7c1.9-3.1 3.5-5.7 4.7-7.5zM218.5 209.6c12.7 4.2 21.9 16.2 21.9 30.4c0 17.7-14.3 32-32 32s-32-14.3-32-32c13.5-10.8 27.6-20.9 42.1-30.4zM368.1 12.8c-45.1 9.1-88.5 23-129.6 41.1c-13.9 3.4-27.2 8.2-39.8 14.2c-33.5 3.1-66.5 7.9-98.9 14.3C146.6 31.8 213.6 0 288 0c28 0 54.9 4.5 80.1 12.8zm-.3 382.7C352.2 381.2 328.4 368 296 368c-12.3 0-23.2 1.9-32.8 4.9c-12.6 4-26.1-3-30.1-15.7s3-26.1 15.7-30.1c14.2-4.5 30-7.1 47.2-7.1c46.5 0 81.4 19.3 104.2 39.9c9.8 8.9 10.5 24.1 1.6 33.9s-24.1 10.5-33.9 1.6zM336.4 240a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM300.6 64.1c38.3-13 78.3-22.2 119.5-27.4c20.8 12.6 39.7 28 56.1 45.7C419.3 71.1 360.6 64.9 300.6 64.1zM406 103.4c34 4.3 67.3 10.5 100.1 18.3c14.1 22.8 24.6 47.9 31 74.7C458.2 172.7 374.6 160 288 160c-17.1 0-34.1 .5-51 1.5c-47.8 2.8-94.6 9.4-140 19.7c-19.6 4.4-39 9.5-58.1 15.3c6.4-26.8 17-51.9 31-74.7c48.4-11.6 98.2-19.5 149.3-23.2C241.9 96.8 264.9 96 288 96c40 0 79.3 2.5 118 7.4zM50.3 226.4c41-12.2 83.3-21.3 126.6-27.1c-51.6 37.5-96.5 83.8-132.2 136.7C36.5 310.9 32 284 32 256c0-3 .1-6.1 .2-9.1c5.9-7 12-13.8 18.2-20.5z\"]\n};\nvar faSushiRoll = {\n prefix: 'far',\n iconName: 'sushi-roll',\n icon: [448, 512, [\"maki-roll\", \"makizushi\"], \"e48b\", \"M400 207.7c-13.2 11.2-29 19.7-45 26.1C319 248.2 272.7 256 224 256s-95-7.8-131-22.2c-16-6.4-31.9-14.9-45-26.1V368c0 3 3.6 18.5 39.1 36.3C119.6 420.5 168 432 224 432s104.4-11.5 136.9-27.7C396.4 386.5 400 371 400 368V207.7zM64 144c0 10.4 6.2 20.1 17.1 28.8c20.4-23.3 45.9-40.4 70.3-52.7c20.1-10.1 40.2-17.3 57.5-21.9c-1.7-5.8-3-11.7-3.8-17.7C125.7 84.2 64 111.2 64 144zm54 47.9c28.2 10 65.4 16.1 106 16.1c30.9 0 59.8-3.5 84.2-9.6c-35.3-13.5-63.8-36.1-82-63.4c-16 3.8-36.4 10.5-56.9 20.8c-18.6 9.3-36.6 21.3-51.4 36.1zM384 144c0-32.4-60.1-59.2-138.2-63.4c9.3 42.5 53.3 85.3 122.8 90.8c9.8-8.3 15.4-17.6 15.4-27.4zM224 32c123.7 0 224 50.1 224 112V368c0 61.9-100.3 112-224 112S0 429.9 0 368V144C0 82.1 100.3 32 224 32z\"]\n};\nvar faMakiRoll = faSushiRoll;\nvar faMakizushi = faSushiRoll;\nvar faCarBump = {\n prefix: 'far',\n iconName: 'car-bump',\n icon: [640, 512, [], \"f5e0\", \"M142.2 101.6L307.3 57.4c16.4-4.4 33.8 2.1 43.4 16.1l38.6 56.6L107.5 205.6l5.1-68.4c1.3-17 13.1-31.2 29.5-35.6zM64.8 133.7l-7.6 101c-21.4 23.4-30.7 56.8-21.9 89.7l18.5 69.1L60 416.5l6.2 23.3 13.9 52.1c3.3 12.3 16 19.6 28.3 16.3s19.6-16 16.3-28.3l-13.9-52.1 1.7-.5L495.8 324.7l1.7-.5 13.9 52.1c3.3 12.3 16 19.6 28.3 16.3s19.6-16 16.3-28.3l-13.9-52.1 0 0L529.8 266l-18.5-69.1c-8.8-32.9-33.6-57.1-63.8-66.7L390.4 46.4C369.3 15.5 331 1.3 294.9 11L129.8 55.2c-36.1 9.7-62.2 41.1-65 78.4zm50.8 119.5l290.5-77.8c25.6-6.9 51.9 8.3 58.8 33.9l18.5 69.1L100.2 381.1 81.7 311.9c-6.9-25.6 8.3-51.9 33.9-58.8zm56.6 46.7a30.8 30.8 0 1 0 -59.5 15.9 30.8 30.8 0 1 0 59.5-15.9zm245.9-34a30.8 30.8 0 1 0 -15.9-59.5 30.8 30.8 0 1 0 15.9 59.5zM584.8 512c19.5 0 34.7-17.7 25.8-35c-18.6-36.2-56.3-61-99.7-61s-81.2 24.8-99.7 61c-8.9 17.3 6.3 35 25.8 35H584.8z\"]\n};\nvar faPiggyBank = {\n prefix: 'far',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M277.1 48c23 0 42.5 14.7 49.8 35.2c4.4 12.5 18.1 19 30.6 14.6s19-18.1 14.6-30.6C358.3 28.1 321 0 277.1 0S195.8 28.1 182 67.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6C234.5 62.7 254.1 48 277.1 48zM66.7 197.5c11.9-5.9 16.7-20.3 10.7-32.2s-20.3-16.7-32.2-10.7l-4.7 2.3C15.7 169.3 0 194.7 0 222.6c0 37.4 28 68.3 64.2 72.9C66.4 344.7 91 388.2 128 416v48c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V448h48v16c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V426.6c18.7-10.8 35.1-25.4 48-42.6h32c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H530.7c-8.2-18.8-19.9-35.7-34.2-49.8l11.3-36.8-22.9-7 22.9 7c6.3-20.6-9.1-41.4-30.6-41.4H456c-31.5 0-60.2 12.2-81.6 32H224c-74.4 0-137 50.8-154.9 119.6c-12-2-21.1-12.5-21.1-25.1c0-9.6 5.4-18.4 14.1-22.8l4.7-2.3zM424 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM402.3 168c13.1-14.7 32.1-23.9 53.2-24L446 174.8c-2.9 9.4 .2 19.6 7.9 25.8c17.4 13.9 30.4 32.8 37.1 54.5c3.1 10.1 12.4 17 22.9 17h14v64H499.4c-8.3 0-16 4.3-20.3 11.3c-11.7 18.7-28.7 33.7-48.9 42.8C421.5 394 416 402.5 416 412v52H368V424c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24v40H176V403.4c0-8.3-4.3-16-11.3-20.3c-31.7-19.8-52.7-55-52.7-95c0-61.9 50.1-112 112-112H384h0l.4 0c6.8 0 13.4-2.9 17.9-8z\"]\n};\nvar faRacquet = {\n prefix: 'far',\n iconName: 'racquet',\n icon: [512, 512, [], \"f45a\", \"M349 48c31.9 0 61.1 10.9 82.6 32.4S464 131.2 464 163c0 40.6-17.7 84.9-52.9 120.1c-64 64-154.5 68.7-202.7 20.5C186.9 282.1 176 252.8 176 221c0-40.6 17.7-84.9 52.9-120.1S308.4 48 349 48zm0-48c-54.2 0-110.5 23.4-154 66.9s-67 99.8-66.9 154c0 17.2 2.4 34.3 7.3 50.6c8.2 27.4 7.6 58.9-9.9 80.6c-12.6-11.3-31.9-10.9-44 1.2l-72 72c-12.5 12.5-12.5 32.8 0 45.3l32 32c12.5 12.5 32.8 12.5 45.3 0l72-72c12.1-12.1 12.5-31.4 1.2-44c21.7-17.5 53.2-18 80.5-9.7c67.7 20.4 148.5-3.6 204.8-59.8c43.6-43.6 67-99.8 66.9-154c0-42.8-14.8-84.9-46.5-116.6S391.8 0 349 0zM54.6 448L104 398.6l9.4 9.4L64 457.4 54.6 448z\"]\n};\nvar faCarMirrors = {\n prefix: 'far',\n iconName: 'car-mirrors',\n icon: [576, 512, [], \"e343\", \"M197.4 80c-17 0-32.1 10.7-37.8 26.8L135.4 176H440.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H197.4zM44.8 224H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H84.6l29.8-85.1C126.7 55.6 160 32 197.4 32H378.6c37.4 0 70.7 23.6 83.1 58.9L491.4 176H536c13.3 0 24 10.7 24 24s-10.7 24-24 24h-4.8c8.2 14.1 12.8 30.5 12.8 48v80 48 56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H80v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-17.5 4.7-33.9 12.8-48zm83.2 0c-26.5 0-48 21.5-48 48v80H496V272c0-26.5-21.5-48-48-48H128zm-16 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm320-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faIndustryWindows = {\n prefix: 'far',\n iconName: 'industry-windows',\n icon: [576, 512, [127981, \"industry-alt\"], \"f3b3\", \"M80 88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8V214.7c0 8.6 4.6 16.5 12 20.8s16.6 4.2 24-.1L320 153.8l0 70.9c0 8.8 4.8 16.8 12.5 21.1s17.1 3.9 24.5-.8l139.1-89L496 304v16 88c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V352 304 88zm8-56C57.1 32 32 57.1 32 88V304v48 56c0 39.8 32.2 72 72 72H472c39.8 0 72-32.2 72-72V320 304 155.9c0-37.9-41.9-60.9-73.9-40.4L368 180.8v-27c0-37-40.2-60.1-72.2-41.5L192 172.9V88c0-30.9-25.1-56-56-56H88zm56 264c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H144zm104 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H264c-8.8 0-16 7.2-16 16zm136-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H384z\"]\n};\nvar faIndustryAlt = faIndustryWindows;\nvar faBoltAuto = {\n prefix: 'far',\n iconName: 'bolt-auto',\n icon: [576, 512, [], \"e0b6\", \"M317.4 36.6C322.6 18.3 308.8 0 289.7 0c-6.8 0-13.5 2.4-18.7 6.9L11.8 228.6C4.3 235 0 244.4 0 254.3C0 272.9 15.1 288 33.7 288h86.4L66.6 475.4C61.4 493.7 75.2 512 94.3 512c6.8 0 13.4-2.4 18.6-6.8L371.7 285.6c7.8-6.6 12.3-16.4 12.3-26.6c0-19.3-15.6-34.9-34.9-34.9H263.8L317.4 36.6zM72.4 240L253.6 85 208.9 241.4c-2.1 7.2-.6 15 3.9 21s11.6 9.5 19.2 9.5h81.5L130.3 427.5l44.8-156.9c2.1-7.2 .6-15-3.9-21s-11.6-9.5-19.2-9.5H72.4zM464 288c-9.1 0-17.4 5.1-21.5 13.3l-88 176c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L410.8 472H517.2l13.4 26.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-88-176c-4.1-8.1-12.4-13.3-21.5-13.3zm0 77.7L493.2 424H434.8L464 365.7z\"]\n};\nvar faBatteryHalf = {\n prefix: 'far',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm208 96H96V320H288V192z\"]\n};\nvar faBattery3 = faBatteryHalf;\nvar faFluxCapacitor = {\n prefix: 'far',\n iconName: 'flux-capacitor',\n icon: [448, 512, [], \"f8ba\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM283.3 253.3c6.6 1.8 13.6 2.7 20.7 2.7c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c7.2 0 14.1-.9 20.7-2.7l-49-49c-15.6-15.6-15.6-40.9 0-56.6s40.9-15.6 56.6 0L224 199.4l51.7-51.7c15.6-15.6 40.9-15.6 56.6 0s15.6 40.9 0 56.6l-49 49zM180.4 268.9c-21.9 14.3-36.4 39-36.4 67.1c0 44.2 35.8 80 80 80s80-35.8 80-80c0-28.1-14.5-52.8-36.4-67.1l-3.6 3.6V336c0 22.1-17.9 40-40 40s-40-17.9-40-40V272.6l-3.6-3.6zM155.3 164.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L208 262.6V336c0 8.8 7.2 16 16 16s16-7.2 16-16V262.6l75.3-75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 233.4l-68.7-68.7z\"]\n};\nvar faMountainCity = {\n prefix: 'far',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M344 48c-4.4 0-8 3.6-8 8V219.7l-48-79.6V56c0-30.9 25.1-56 56-56H456c30.9 0 56 25.1 56 56V192h32V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72.6c27.1 3.9 48 27.2 48 55.4V480c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-4.4-3.6-8-8-8H568 488c-13.3 0-24-10.7-24-24V56c0-4.4-3.6-8-8-8H344zm27.3 230.2c2.9-3.8 7.5-6.2 12.7-6.2h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-9.8l-34.9-57.8zM384 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM368 192c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V192zm128 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V288zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V384c0-8.8 7.2-16 16-16zM224 188.9L154.5 304.1l21.3 30.8 28-37.3c4.5-6 11.6-9.6 19.2-9.6h60.8L224 188.9zM58 464H390L312.8 336H235l-40.8 54.4c-4.6 6.2-11.9 9.7-19.7 9.6s-14.9-4-19.3-10.4l-28-40.5L58 464zM253.4 144.7L442.9 458.9c6.5 10.8 6.7 24.3 .7 35.3s-17.6 17.8-30.1 17.8H34.5c-12.5 0-24-6.8-30.1-17.8s-5.8-24.5 .7-35.3L194.6 144.7C200.9 134.3 212 128 224 128s23.1 6.3 29.4 16.7z\"]\n};\nvar faCoins = {\n prefix: 'far',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M176 88v0c0 .1 .1 .6 .6 1.5c.6 1.2 2 3.1 4.7 5.5c.4 .3 .8 .7 1.2 1c-18.7 .4-36.9 1.7-54.4 4.1V88c0-18 9.7-32.4 21.1-42.7s26.7-18.5 43.5-24.9C226.4 7.5 271.5 0 320 0s93.6 7.5 127.3 20.3c16.8 6.4 32.1 14.6 43.5 24.9S512 70 512 88V192 296c0 18-9.7 32.4-21.1 42.7s-26.7 18.5-43.5 24.9c-9.6 3.7-20.1 6.9-31.3 9.6V323.6c5.1-1.5 9.8-3.1 14.2-4.8c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.6-1.1 .6-1.5 .6-1.5v0V252.4c-5.3 2.6-10.9 5-16.7 7.2c-9.6 3.7-20.1 6.9-31.3 9.6V219.6c5.1-1.5 9.8-3.1 14.2-4.8c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0V148.4c-5.3 2.6-10.9 5-16.7 7.2c-13.7 5.2-29.4 9.6-46.3 12.9c-5.1-7.5-11-13.9-16.8-19.1c-10.1-9.1-21.8-16.5-34-22.6c31.7-2.3 59.3-8.2 80-16.1c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0 0c0 0 0-.5-.6-1.5c-.6-1.2-2-3.1-4.7-5.5c-5.5-5-14.9-10.6-28.5-15.7C403.2 54.9 364.2 48 320 48s-83.2 6.9-110.2 17.2c-13.6 5.2-23 10.8-28.5 15.7c-2.7 2.4-4.1 4.3-4.7 5.5c-.6 1.1-.6 1.5-.6 1.5l0 0zM48 216v0c0 .1 .1 .6 .6 1.5c.6 1.2 2 3.1 4.7 5.5c5.5 5 14.9 10.6 28.5 15.7c27 10.3 66 17.2 110.2 17.2s83.2-6.9 110.2-17.2c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0 0c0 0 0-.5-.6-1.5c-.6-1.2-2-3.1-4.7-5.5c-5.5-5-14.9-10.6-28.5-15.7c-27-10.3-66-17.2-110.2-17.2s-83.2 6.9-110.2 17.2c-13.6 5.2-23 10.8-28.5 15.7c-2.7 2.4-4.1 4.3-4.7 5.5c-.6 1.1-.6 1.5-.6 1.5l0 0zM0 216c0-18 9.7-32.4 21.1-42.7s26.7-18.5 43.5-24.9C98.4 135.5 143.5 128 192 128s93.6 7.5 127.3 20.3c16.8 6.4 32.1 14.6 43.5 24.9S384 198 384 216V320 424c0 18-9.7 32.4-21.1 42.7s-26.7 18.5-43.5 24.9C285.6 504.5 240.5 512 192 512s-93.6-7.5-127.3-20.3c-16.8-6.4-32-14.6-43.5-24.9S0 442 0 424V320 216zM336 320V276.4c-5.3 2.6-10.9 5-16.7 7.2C285.6 296.5 240.5 304 192 304s-93.6-7.5-127.3-20.3c-5.8-2.2-11.4-4.6-16.7-7.2V320v0c0 .1 .1 .6 .6 1.5c.6 1.2 2 3.1 4.7 5.5c5.5 5 14.9 10.6 28.5 15.7c27 10.3 66 17.2 110.2 17.2s83.2-6.9 110.2-17.2c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0zM64.7 387.7c-5.8-2.2-11.4-4.6-16.7-7.2V424l0 0c0 0 0 .5 .6 1.5c.6 1.2 2 3.1 4.7 5.5c5.5 5 14.9 10.6 28.5 15.7c27 10.3 66 17.2 110.2 17.2s83.2-6.9 110.2-17.2c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.6-1.1 .6-1.5 .6-1.5v0V380.4c-5.3 2.6-10.9 5-16.7 7.2C285.6 400.5 240.5 408 192 408s-93.6-7.5-127.3-20.3z\"]\n};\nvar faHoneyPot = {\n prefix: 'far',\n iconName: 'honey-pot',\n icon: [448, 512, [127855], \"e418\", \"M78.6 352c21.5 40.9 49 67 64.6 79.6l.1 0c.4 .1 1.4 .4 3.1 .4H301.6c1.6 0 2.6-.2 3.1-.4l.1 0c15.5-12.6 43.1-38.7 64.6-79.6H78.6zM48 224H400c0-79.5-64.5-144-144-144H192c-5.4 0-10.7 .3-16 .9V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V95c-47.4 23.6-80 72.5-80 129zM56 32h96 40 64H392c13.3 0 24 10.7 24 24s-10.7 24-24 24h-9c39.9 35.2 65 86.7 65 144c0 138.8-79.6 217.9-113.3 245.1c-9.3 7.5-21.1 10.9-33.1 10.9H146.4c-12 0-23.7-3.3-33.1-10.9C79.6 441.9 0 362.8 0 224C0 166.7 25.1 115.2 65 80H56C42.7 80 32 69.3 32 56s10.7-24 24-24z\"]\n};\nvar faOlive = {\n prefix: 'far',\n iconName: 'olive',\n icon: [448, 512, [], \"e316\", \"M160 432C98.1 432 48 381.9 48 320c0-79.2 37-138.4 85.9-179.1C184.3 99 243.7 80 280 80c13.6 0 31.8 7.5 50.4 19.9c8.5 5.7 15.7 11.4 20.8 15.8c2.5 2.1 4.4 3.9 5.6 5c.6 .6 1 1 1.2 1.2l.1 .1 .1 .1c.2 .2 .6 .6 1.2 1.2c1.1 1.2 2.9 3.1 5 5.6c4.3 5 10.1 12.2 15.8 20.8C392.5 168.2 400 186.4 400 200c0 36.3-19 95.7-60.9 146.1C298.4 395 239.2 432 160 432zM0 320c0 88.4 71.6 160 160 160c192 0 288-181.9 288-280c0-56-56-112-56-112s-56-56-112-56C181.9 32 0 128 0 320zM271.1 208.9c30.3 30.3 69.6 40.1 87.8 21.9s8.4-57.5-21.9-87.8s-69.6-40.1-87.8-21.9s-8.4 57.5 21.9 87.8z\"]\n};\nvar faKhanda = {\n prefix: 'far',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M245.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9l0 0 0 0 0 0 0 0-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1 0 0 0 0c3.6 6.7 2 15-3.8 19.9L272 343.5v19.8l35.6-24.5c0 0 0 0 .1 0h0l41.1-28.2c72.1-49.6 86.2-151.1 39.1-221.7c-4-6-3.5-14 1.3-19.5s12.8-6.9 19.3-3.6c58.5 30 104.7 91.3 104.7 158.2c0 53.1-26.4 100.5-51.2 133.6c-14.8 19.7-31.7 38.7-50.6 54.7c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L272 423.4v28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7V424.1l-40.3 27.7C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6c-19-15.9-35.8-35-50.6-54.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c15.4-15.4 32.7-29.2 52.2-39c6.5-3.2 14.3-1.7 19.2 3.7c6.9 7.8 3.4 16.3-1.5 23.7C76.1 162.6 95 262.9 164.4 310.6l41.1 28.2 .1 0L240 362.6V343.5l-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9l0 0 0 0 0 0 .1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C167.1 254.6 144 218 144 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1 0 0 0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM220.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C227 210.2 232 190.9 232 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C285 141.8 280 161.1 280 176s5 34.2 11.8 53.1zM57.3 163C47 180.1 40 200.4 40 224c0 40.4 20.4 79.2 43.2 109.6c10 13.4 20.7 25.9 32 37l36-20.5-9.5-6.5C81.5 302.2 51.5 231.7 57.3 163zM429.9 333.6c22.8-30.4 43.2-69.2 43.2-109.6c0-24.3-7.4-45.1-18.2-62.5c6.7 68.5-20.8 138.9-83.6 182l-9.5 6.5 35.9 20.4c11.4-11.1 22.1-23.6 32.1-36.9z\"]\n};\nvar faFilterList = {\n prefix: 'far',\n iconName: 'filter-list',\n icon: [512, 512, [], \"e17c\", \"M41.2 64C18.5 64 0 82.5 0 105.2c0 10.4 3.9 20.4 11 28.1l93 100.1v126c0 13.4 6.7 26 18 33.4l75.5 49.8c5.3 3.5 11.6 5.4 18 5.4c18 0 32.6-14.6 32.6-32.6v-182l93-100.1c7.1-7.6 11-17.6 11-28.1C352 82.5 333.5 64 310.8 64H41.2zM145.6 207.7L56.8 112H295.2l-88.8 95.7c-4.1 4.4-6.4 10.3-6.4 16.3V386.8l-48-31.7V224c0-6.1-2.3-11.9-6.4-16.3zM344 392c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM320 256c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zM408 72c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H408z\"]\n};\nvar faOutlet = {\n prefix: 'far',\n iconName: 'outlet',\n icon: [448, 512, [], \"e01c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM80 256c0-52.3 26.5-85.2 43.6-100.9c8.6-8 20.2-11.1 31.9-11.1h137c11.7 0 23.3 3.1 31.9 11.1c17 15.8 43.6 48.7 43.6 100.9s-26.5 85.2-43.6 100.9c-8.6 8-20.2 11.1-31.9 11.1h-137c-11.7 0-23.3-3.1-31.9-11.1C106.5 341.2 80 308.3 80 256zm96-48c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM200 296v16c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V296c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faSliders = {\n prefix: 'far',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 13.3 10.7 24 24 24l59.7 0c10.2 32.5 40.5 56 76.3 56s66.1-23.5 76.3-56L488 440c13.3 0 24-10.7 24-24s-10.7-24-24-24l-251.7 0c-10.2-32.5-40.5-56-76.3-56s-66.1 23.5-76.3 56L24 392c-13.3 0-24 10.7-24 24zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-35.8 0-66.1 23.5-76.3 56L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l251.7 0c10.2 32.5 40.5 56 76.3 56s66.1-23.5 76.3-56l59.7 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-59.7 0c-10.2-32.5-40.5-56-76.3-56zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm76.3-56C258.1 39.5 227.8 16 192 16s-66.1 23.5-76.3 56L24 72C10.7 72 0 82.7 0 96s10.7 24 24 24l91.7 0c10.2 32.5 40.5 56 76.3 56s66.1-23.5 76.3-56L488 120c13.3 0 24-10.7 24-24s-10.7-24-24-24L268.3 72z\"]\n};\nvar faSlidersH = faSliders;\nvar faCauldron = {\n prefix: 'far',\n iconName: 'cauldron',\n icon: [448, 512, [], \"f6bf\", \"M160 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm112 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM74.2 252.5c9.6-17.7 20.1-33.2 28.6-44.5H224 345.2c8.5 11.4 19 26.9 28.6 44.5c15.9 29.2 26.2 58.5 26.2 81.9c0 39.2-18.3 70-49.4 92.5C318.3 450.2 272.6 464 224 464s-94.3-13.8-126.6-37.1C66.3 404.4 48 373.6 48 334.4c0-23.3 10.3-52.6 26.2-81.9zM44.6 208C22.5 243.4 0 290.8 0 334.4c0 37.4 11.9 69.4 32 95.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V473c40.4 25.5 91.8 39 144 39s103.6-13.5 144-39v15c0 13.3 10.7 24 24 24s24-10.7 24-24V429.9c20.1-26.1 32-58.1 32-95.5c0-43.6-22.5-91-44.6-126.4H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H368 224 80 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H44.6z\"]\n};\nvar faPeople = {\n prefix: 'far',\n iconName: 'people',\n icon: [640, 512, [], \"e216\", \"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H144V176.1c.7 0 1.5-.1 2.3-.1zM144 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L250.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H146.3c-31.7 0-61 17.1-76.6 44.7L11.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L96 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM587.1 299.8c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7l-51.8-91.5c-19.8-35-56.9-56.6-97.1-56.6s-77.3 21.6-97.1 56.6l-51.8 91.5c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1l47.9-84.6-46.3 148c-3.2 10.3 4.5 20.8 15.3 20.8H416V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h26.2c10.8 0 18.5-10.5 15.3-20.8l-46.3-148 47.9 84.6zM526.7 336H433.3L480 186.5 526.7 336z\"]\n};\nvar faFolderTree = {\n prefix: 'far',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V136 392c0 30.9 25.1 56 56 56H256V400H56c-4.4 0-8-3.6-8-8V160H256V112H48V24zM336 176V48h44.1l17 17c9.6 9.6 22.6 15 36.2 15H528v96H336zM288 32V192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H433.3c-.8 0-1.7-.3-2.3-.9L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32zm48 432V336h44.1l17 17c9.6 9.6 22.6 15 36.2 15H528v96H336zM288 320V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H433.3c-.8 0-1.7-.3-2.3-.9l-21.7-21.7c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32z\"]\n};\nvar faNetworkWired = {\n prefix: 'far',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M400 48v96H240V48H400zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h56v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136v40H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H184V280H456v40H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H504V280H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V192h56c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM80 368H240v96H80V368zm480 0v96H400V368H560z\"]\n};\nvar faCroissant = {\n prefix: 'far',\n iconName: 'croissant',\n icon: [512, 512, [129360], \"f7f6\", \"M323.7 242.1c2 18.9-4.5 38.1-18.4 51.9L294 305.3c-13.9 13.9-33 20.4-51.9 18.4L208 350.2V384l15.6 93.6c.3 1.6 .4 3.2 .4 4.9c0 16.3-13.2 29.6-29.6 29.6H189c-4.2 0-8.3-.7-12.2-2.3c-35.8-14.3-67.5-36.5-93.2-64.3c-16.4 7.1-36 2.5-45.3-13.7C14 389.4 0 340.3 0 288c0-22.4 2.6-44.2 7.4-65.1C2.7 215.6 0 207 0 197.9c0-5 .8-10 2.5-14.6C33.2 99.6 99.6 33.2 183.3 2.5C188 .8 193 0 197.9 0c9.1 0 17.7 2.7 24.9 7.4C243.8 2.6 265.6 0 288 0c52.3 0 101.4 14 143.7 38.4c16.2 9.3 20.8 28.9 13.7 45.3c27.9 25.7 50 57.4 64.3 93.2c1.5 3.9 2.3 8 2.3 12.2v5.4c0 16.3-13.2 29.6-29.6 29.6c-1.6 0-3.3-.1-4.9-.4L384 208H350.2l-26.5 34.1zm-74.3-191l55.3 137.3L394.5 72.9C362.5 57 326.3 48 288 48c-13.1 0-26 1.1-38.6 3.1zM51.1 249.4C49.1 262 48 274.9 48 288c0 38.3 9 74.5 24.9 106.5l115.5-89.8L51.1 249.4zM388 160l3.9 .7 62 10.3c-10-17.9-22.6-34.3-37.2-48.4L387.6 160h.4zM171 453.9l-10.3-62L160 388v-.4l-37.4 29.1c14.2 14.6 30.5 27.2 48.4 37.2zm71.8-179c6 2.4 12.8 1 17.3-3.5l11.3-11.3c4.5-4.5 5.9-11.3 3.5-17.3l-78.2-194c-67.9 25.9-122 80-147.9 147.9l194 78.2z\"]\n};\nvar faMapPin = {\n prefix: 'far',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M64 144a96 96 0 1 1 192 0A96 96 0 1 1 64 144zM184 286c68.1-11.4 120-70.7 120-142C304 64.5 239.5 0 160 0S16 64.5 16 144c0 71.4 51.9 130.6 120 142V488c0 13.3 10.7 24 24 24s24-10.7 24-24V286z\"]\n};\nvar faHamsa = {\n prefix: 'far',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M184 104v96c0 13.3 10.7 24 24 24s24-10.7 24-24V104 72c0-13.3 10.7-24 24-24s24 10.7 24 24v32 96c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 13.3 10.7 24 24 24h48.4c8.6 0 15.6 7 15.6 15.6c0 4.1-1.6 8.1-4.6 11l-83.8 83.8C343.9 446.2 300.9 464 256 464s-87.9-17.8-119.6-49.5L52.6 330.6c-2.9-2.9-4.6-6.9-4.6-11C48 311 55 304 63.6 304H112c13.3 0 24-10.7 24-24V104c0-13.3 10.7-24 24-24s24 10.7 24 24zm7.8-64.6C182.2 34.7 171.4 32 160 32c-39.8 0-72 32.2-72 72V256H63.6C28.5 256 0 284.5 0 319.6c0 16.9 6.7 33 18.6 45l83.8 83.8c40.7 40.7 96 63.6 153.5 63.6s112.8-22.9 153.5-63.6l83.8-83.8c11.9-11.9 18.6-28.1 18.6-45c0-35.1-28.5-63.6-63.6-63.6H424V104c0-39.8-32.2-72-72-72c-11.4 0-22.2 2.7-31.8 7.4C308.3 16 284 0 256 0s-52.3 16-64.2 39.4zM165.4 338.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288s-76.8 35.8-90.6 50.2zM256 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCentSign = {\n prefix: 'far',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M216 0c13.3 0 24 10.7 24 24V72.5C277.9 75 313 88 341.9 108.4c10.8 7.7 13.4 22.6 5.7 33.5s-22.6 13.4-33.5 5.7C289.7 130.3 259.2 120 226 120c-82 0-146 62.2-146 136s64 136 146 136c33.3 0 63.7-10.3 88.2-27.6c10.8-7.7 25.8-5.1 33.5 5.7s5.1 25.8-5.7 33.5C313 424 277.9 437 240 439.5V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V437.2C102 422 32 347.7 32 256s70-166 160-181.2V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faSwordsLaser = {\n prefix: 'far',\n iconName: 'swords-laser',\n icon: [640, 512, [], \"e03d\", \"M204.6 250.7l42.9-39.3 50.7 55.5-37 40.5L281 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-.7-.7-59 59L105 501.7C98.3 508.3 89.4 512 80 512s-18.3-3.7-25-10.3L10.3 457C3.7 450.3 0 441.4 0 432s3.7-18.3 10.3-25l82.3-82.3 0 0 0 0 59-59-.7-.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l19.7 19.7zM505.7 40.2l-115.3 126-46.7-42.7L471.8 6.3c9.5-8.7 24.1-8.3 33.2 .7s9.4 23.7 .7 33.2zM177.1 361.6l-26.7-26.7-12.4 12.4 26.7 26.7 12.4-12.4zm-61.8 8.3L53.3 432 80 458.7l62.1-62.1-26.7-26.7zM173 312.3L199.7 339l12.7-12.7-26.7-26.7L173 312.3zM135 7c9.1-9.1 23.7-9.4 33.2-.7L360 181.8V286.9L134.3 40.2c-8.7-9.5-8.3-24.1 .7-33.2zM626.8 459.8l-39 39c-8.4 8.4-19.9 13.2-31.8 13.2s-23.4-4.7-31.8-13.2L398.1 372.7c-9-9-14.1-21.2-14.1-33.9V211.3c0-21.4 25.9-32.1 41-17L626.8 396.2c8.4 8.4 13.2 19.9 13.2 31.8s-4.7 23.4-13.2 31.8zM590.7 428l-66.1-66.1-34.7 34.7L556 462.7 590.7 428zm-88.7-88.7L432 269.3v69.5l35.3 35.3 34.7-34.7z\"]\n};\nvar faFlask = {\n prefix: 'far',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M176 196.8c0 20.7-5.8 41-16.6 58.7L119.7 320H328.3l-39.7-64.5c-10.9-17.7-16.6-38-16.6-58.7V48H176V196.8zM320 48V196.8c0 11.8 3.3 23.5 9.5 33.5L437.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V48h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h40H288h40c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8z\"]\n};\nvar faPersonPregnant = {\n prefix: 'far',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M240 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 352c0 17.7 14.3 32 32 32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h16 16V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h48 16c17.7 0 32-14.3 32-32V320c0-46.8-33.4-85.7-77.7-94.3l-6.1-32.5c-6.8-36.1-37.1-62.7-73.3-65.1c-1-.1-1.9-.2-2.9-.2h-2.4H176h-4.7c-32.5 0-62.3 17.9-77.6 46.5L34.8 284.7c-6.2 11.7-1.8 26.2 9.9 32.5s26.2 1.8 32.5-9.9L96 272.1V352zm80-176h13.6c15.4 0 28.6 11 31.5 26.1l6.1 32.5c3.6 19.4 18.7 34.5 38.1 38.3c22.1 4.3 38.8 23.8 38.8 47.1v16H192 144V208c0-17.7 14.3-32 32-32z\"]\n};\nvar faSquareU = {\n prefix: 'far',\n iconName: 'square-u',\n icon: [448, 512, [], \"e281\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64V280c0 35.3 28.7 64 64 64s64-28.7 64-64V160c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 61.9-50.1 112-112 112s-112-50.1-112-112V160c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faWandSparkles = {\n prefix: 'far',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M455.9 49.3c.9-.8 2.1-1.3 3.3-1.3c2.7 0 4.9 2.2 4.9 4.9c0 1.2-.4 2.4-1.3 3.3L97.3 459.6c-2.5 2.8-6.1 4.4-9.9 4.4c-3.5 0-6.9-1.4-9.4-3.9L51.9 434c-2.5-2.5-3.9-5.9-3.9-9.4c0-3.8 1.6-7.3 4.4-9.9L455.9 49.3zM459.1 0C446 0 433.4 4.9 423.6 13.7l-263 238.2c-2.9 2.7-6.8 4.1-10.7 4.1H112c-8.8 0-16 7.2-16 16v31.3c0 4.5-1.9 8.8-5.3 11.9L20.2 379.1C7.3 390.7 0 407.2 0 424.5c0 16.3 6.5 31.9 18 43.4L44.1 494c11.5 11.5 27.1 18 43.4 18c17.3 0 33.8-7.3 45.4-20.2L399.7 197.3c3-3.3 7.3-5.3 11.9-5.3H432c8.8 0 16-7.2 16-16V150.1c0-4 1.5-7.8 4.1-10.7l46.2-51C507.1 78.6 512 66 512 52.9C512 23.7 488.3 0 459.1 0zM432 288c-3.6 0-6.7 2.4-7.7 5.8l-14.8 51.7-51.7 14.8c-3.4 1-5.8 4.1-5.8 7.7s2.4 6.7 5.8 7.7l51.7 14.8 14.8 51.7c1 3.4 4.1 5.8 7.7 5.8s6.7-2.4 7.7-5.8l14.8-51.7 51.7-14.8c3.4-1 5.8-4.1 5.8-7.7s-2.4-6.7-5.8-7.7l-51.7-14.8-14.8-51.7c-1-3.4-4.1-5.8-7.7-5.8zM87.7 69.8c-1-3.4-4.1-5.8-7.7-5.8s-6.7 2.4-7.7 5.8L57.5 121.5 5.8 136.3c-3.4 1-5.8 4.1-5.8 7.7s2.4 6.7 5.8 7.7l51.7 14.8 14.8 51.7c1 3.4 4.1 5.8 7.7 5.8s6.7-2.4 7.7-5.8l14.8-51.7 51.7-14.8c3.4-1 5.8-4.1 5.8-7.7s-2.4-6.7-5.8-7.7l-51.7-14.8L87.7 69.8zM208 0c-3.7 0-6.9 2.5-7.8 6.1l-6.8 27.3-27.3 6.8c-3.6 .9-6.1 4.1-6.1 7.8s2.5 6.9 6.1 7.8l27.3 6.8 6.8 27.3c.9 3.6 4.1 6.1 7.8 6.1s6.9-2.5 7.8-6.1l6.8-27.3 27.3-6.8c3.6-.9 6.1-4.1 6.1-7.8s-2.5-6.9-6.1-7.8l-27.3-6.8L215.8 6.1C214.9 2.5 211.7 0 208 0z\"]\n};\nvar faRouter = {\n prefix: 'far',\n iconName: 'router',\n icon: [576, 512, [], \"f8da\", \"M198.6 105.9c-9.9 8.8-25.1 7.8-33.9-2.1s-7.8-25.1 2.1-33.9C216.2 26.4 281.1 0 352 0s135.8 26.4 185.1 69.9c9.9 8.8 10.9 23.9 2.1 33.9s-23.9 10.9-33.9 2.1C464.5 69.8 410.8 48 352 48s-112.5 21.8-153.4 57.9zM64 352c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64zM0 368c0-35.3 28.7-64 64-64H328V248c0-13.3 10.7-24 24-24s24 10.7 24 24v56H512c35.3 0 64 28.7 64 64v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368zm104 16a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM352 160c-28.6 0-54.9 10-75.5 26.7c-10.3 8.3-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C275.2 126 312 112 352 112s76.8 14 105.7 37.4c10.3 8.3 11.9 23.5 3.5 33.8s-23.5 11.9-33.8 3.5C406.9 170 380.6 160 352 160z\"]\n};\nvar faEllipsisVertical = {\n prefix: 'far',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z\"]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faSwordLaserAlt = {\n prefix: 'far',\n iconName: 'sword-laser-alt',\n icon: [512, 512, [], \"e03c\", \"M505.7 40.2c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L225.1 232H330.2L505.7 40.2zM13.2 459.8l39 39C60.6 507.3 72.1 512 84 512s23.4-4.7 31.8-13.2L310.6 304l1.1-1.1 8.3-8.3 11.3-11.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H304 292.3h-1.5H173.3c-12.7 0-24.9 5.1-33.9 14.1L13.2 396.2C4.7 404.6 0 416.1 0 428s4.7 23.4 13.2 31.8zM242.7 304l-70.1 70.1-34.7-34.7L173.3 304h69.5zm-92.7 92.7L84 462.7 49.3 428l66.1-66.1 34.7 34.7z\"]\n};\nvar faTicket = {\n prefix: 'far',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v60.1c0 10.2 6.4 19.2 16 22.6c18.7 6.6 32 24.4 32 45.3s-13.3 38.7-32 45.3c-9.6 3.4-16 12.5-16 22.6V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V323.9c0-10.2-6.4-19.2-16-22.6c-18.7-6.6-32-24.4-32-45.3s13.3-38.7 32-45.3c9.6-3.4 16-12.5 16-22.6V128c0-35.3-28.7-64-64-64H64zM48 128c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16v44.9c-28.7 16.6-48 47.6-48 83.1s19.3 66.6 48 83.1V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V339.1c28.7-16.6 48-47.6 48-83.1s-19.3-66.6-48-83.1V128zM400 304H176V208H400v96zM128 192V320c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z\"]\n};\nvar faPowerOff = {\n prefix: 'far',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM134.2 107.3c10.7-7.9 12.9-22.9 5.1-33.6s-22.9-12.9-33.6-5.1C46.5 112.3 8 182.7 8 262C8 394.6 115.5 502 248 502s240-107.5 240-240c0-79.3-38.5-149.7-97.8-193.3c-10.7-7.9-25.7-5.6-33.6 5.1s-5.6 25.7 5.1 33.6c47.5 35 78.2 91.2 78.2 154.7c0 106-86 192-192 192S56 368 56 262c0-63.4 30.7-119.7 78.2-154.7z\"]\n};\nvar faCoin = {\n prefix: 'far',\n iconName: 'coin',\n icon: [512, 512, [129689], \"f85c\", \"M98.5 268C59.1 245.8 48 222.7 48 208s11.1-37.8 50.5-60c37.9-21.3 93.5-36 157.5-36s119.6 14.7 157.5 36c39.4 22.2 50.5 45.3 50.5 60s-11.1 37.8-50.5 60C375.6 289.3 320 304 256 304s-119.6-14.7-157.5-36zM256 64C114.6 64 0 128.5 0 208l0 48 0 64c0 70.7 114.6 128 256 128s256-57.3 256-128l0-64 0-48c0-79.5-114.6-144-256-144zM216 350.3c13 1.1 26.4 1.7 40 1.7s27-.6 40-1.7l0 48c-12.9 1.1-26.3 1.7-40 1.7s-27.1-.6-40-1.7l0-48zm-32-4l0 48.1c-23.7-3.9-45.3-9.6-64-16.6l0-47.7c19.7 7 41.2 12.5 64 16.2zM48 292c11.6 9.1 25 17.4 40 24.7l0 46.5C54.2 344.2 48 326.8 48 320l0-28zM328 394.3l0-48.1c22.8-3.8 44.3-9.2 64-16.2l0 47.7c-18.7 7-40.3 12.7-64 16.6zm96-31.2l0-46.5c15-7.3 28.4-15.6 40-24.7l0 28c0 6.8-6.2 24.2-40 43.1zM256 184c40.2 0 75.7 5.2 100.3 12.9c11.8 3.7 19.9 7.7 24.7 11.1c-4.8 3.4-12.9 7.3-24.7 11.1c-24.6 7.8-60 12.9-100.3 12.9s-75.7-5.2-100.3-12.9c-11.8-3.7-19.9-7.7-24.7-11.1c4.8-3.4 12.9-7.3 24.7-11.1c24.6-7.8 60-12.9 100.3-12.9zm128.8 27.4a.2 .2 0 1 0 -.4 .1 .2 .2 0 1 0 .4-.1zm-.1-6.6a.2 .2 0 1 0 -.1-.5 .2 .2 0 1 0 .1 .5zm-257.4-.2a.2 .2 0 1 0 .4-.1 .2 .2 0 1 0 -.4 .1zm.1 6.6a.2 .2 0 1 0 .1 .5 .2 .2 0 1 0 -.1-.5zM432 208c0-17.7-11.3-30.3-21.6-37.9c-10.7-8-24.6-14.2-39.7-18.9c-30.4-9.6-71-15.2-114.7-15.2s-84.3 5.6-114.7 15.2c-15.1 4.8-29 10.9-39.7 18.9C91.3 177.7 80 190.3 80 208s11.3 30.3 21.6 37.9c10.7 8 24.6 14.2 39.7 18.9c30.4 9.6 71 15.2 114.7 15.2s84.3-5.6 114.7-15.2c15.1-4.8 29-10.9 39.7-18.9c10.3-7.7 21.6-20.2 21.6-37.9z\"]\n};\nvar faLaptopSlash = {\n prefix: 'far',\n iconName: 'laptop-slash',\n icon: [640, 512, [], \"e1c7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-20.3-15.9c18.2-17.5 29.5-42 29.5-69.2c0-17.7-14.3-32-32-32H481.4L134.4 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zM542.6 400h46.6c-3.3 9.3-9.4 17.3-17.3 23l-29.4-23zM426.3 432H96c-20.9 0-38.7-13.4-45.3-32H385.7l-60.9-48H32c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H487.2l-60.9-48zM112 184.4L64 146.6V320h48V184.4z\"]\n};\nvar faRightLong = {\n prefix: 'far',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M505.5 239.6c8.7 9.2 8.7 23.7 0 32.9l-121.4 129c-8.8 9.3-21 14.6-33.7 14.6c-25.6 0-46.3-20.7-46.3-46.3l0-33.7L56 336c-30.9 0-56-25.1-56-56l0-48c0-30.9 25.1-56 56-56l248 0 0-33.7c0-25.6 20.7-46.3 46.3-46.3c12.8 0 25 5.3 33.7 14.6l121.4 129zM352 146.5l0 53.5c0 13.3-10.7 24-24 24L56 224c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8l272 0c6.4 0 12.5 2.5 17 7s7 10.6 7 17l0 53.5L455 256 352 146.5z\"]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faCircleB = {\n prefix: 'far',\n iconName: 'circle-b',\n icon: [512, 512, [], \"e0fd\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V256 360c0 13.3 10.7 24 24 24H292c42 0 76-34 76-76c0-24.6-11.7-46.4-29.8-60.3c8.7-12.4 13.8-27.4 13.8-43.7c0-42-34-76-76-76H184c-13.3 0-24 10.7-24 24zm144 52c0 15.5-12.5 28-28 28H208V176h68c15.5 0 28 12.5 28 28zM208 336V280h68 16c15.5 0 28 12.5 28 28s-12.5 28-28 28H208z\"]\n};\nvar faPersonDressSimple = {\n prefix: 'far',\n iconName: 'person-dress-simple',\n icon: [256, 512, [], \"e21c\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM96.9 219.6L63.6 336H192.4L159.1 219.6c-2-6.9-8.2-11.6-15.4-11.6H112.3c-7.1 0-13.4 4.7-15.4 11.6zM50.7 206.4c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H192V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4z\"]\n};\nvar faPipeCollar = {\n prefix: 'far',\n iconName: 'pipe-collar',\n icon: [512, 512, [], \"e437\", \"M109.3 18.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L35.4 126C12.9 164.1 0 208.5 0 256s12.9 91.9 35.4 130L18.7 402.7c-25 25-25 65.5 0 90.5s65.5 25 90.5 0L126 476.6c38.1 22.5 82.6 35.4 130 35.4s91.9-12.9 130-35.4l16.7 16.7c25 25 65.5 25 90.5 0s25-65.5 0-90.5L476.6 386c22.5-38.1 35.4-82.6 35.4-130s-12.9-91.9-35.4-130l16.7-16.7c25-25 25-65.5 0-90.5s-65.5-25-90.5 0L386 35.4C347.9 12.9 303.5 0 256 0s-91.9 12.9-130 35.4L109.3 18.7zM48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zM256 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 272a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM48 64a16 16 0 1 1 32 0A16 16 0 1 1 48 64zm0 384a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm400-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faLightsHoliday = {\n prefix: 'far',\n iconName: 'lights-holiday',\n icon: [640, 512, [], \"f7b2\", \"M35.3 66.8l0 0 .1 0 .6 .3c.6 .3 1.7 .8 3.1 1.5c2.8 1.4 7.3 3.4 13.2 5.8c11.9 4.9 30 11.6 54.1 18.3C154.5 106.3 226.4 120 320 120s165.5-13.7 213.5-27.1c24-6.7 42.1-13.4 54.1-18.3c6-2.5 10.4-4.5 13.2-5.8c1.4-.7 2.5-1.2 3.1-1.5l.6-.3 0 0 0 0c11.7-6.3 26.2-1.9 32.5 9.8s1.9 26.2-9.8 32.5L616 88c11.4 21.1 11.4 21.1 11.4 21.1l0 0 0 0-.1 .1-.4 .2-1.2 .6c-1 .5-2.4 1.2-4.2 2c-3.6 1.7-8.8 4.1-15.6 6.9c-13.6 5.6-33.5 12.9-59.4 20.2C494.5 153.7 418.4 168 320 168s-174.5-14.3-226.5-28.9c-26-7.3-45.9-14.6-59.4-20.2c-6.8-2.8-12-5.2-15.6-6.9c-1.8-.9-3.2-1.5-4.2-2l-1.2-.6-.4-.2-.1-.1 0 0 0 0s0 0 11.4-21.1L12.6 109.1C1 102.8-3.4 88.3 2.9 76.6c6.3-11.7 20.8-16 32.5-9.8zm80 155.3L130 181c14.8 3.1 30.7 6.1 47.9 8.7l-17.3 48.6c27.2 20.5 39.2 56.9 27.2 90.7c-16.1 45.2-95.7 101.8-118.3 93.8s-48.6-102.2-32.5-147.4c12-33.7 44.4-54.4 78.3-53.1zM296 259.7V199.7c7.9 .2 15.9 .3 24 .3s16.1-.1 24-.3v59.9c32.5 10.2 56 40.5 56 76.3c0 48-56 128-80 128s-80-80-80-128c0-35.8 23.5-66.1 56-76.3zm183.4-21.4l-17.3-48.6c17.1-2.6 33.1-5.5 47.9-8.7l14.7 41.2c34-1.3 66.3 19.4 78.3 53.1c16.1 45.2-9.8 139.4-32.5 147.4s-102.2-48.6-118.3-93.8c-12-33.7 0-70.2 27.2-90.7zM82.2 291.4c-1.2 3.4-2.6 11-2.1 23.3c.4 11.6 2.3 24.6 5.3 37c1.3 5.3 2.7 10.2 4.2 14.6c3.9-2.5 8.1-5.4 12.5-8.7c10.2-7.7 19.9-16.6 27.5-25.4c8-9.2 11.8-16 13-19.4c5.9-16.7-2.8-35-19.4-40.9s-35 2.8-40.9 19.4zM288 336c0 3.6 1.3 11.3 5.8 22.6c4.3 10.8 10.4 22.4 17.4 33.1c3 4.6 6 8.7 8.8 12.4c2.8-3.7 5.8-7.8 8.8-12.4c7-10.7 13.1-22.3 17.4-33.1c4.5-11.4 5.8-19 5.8-22.6c0-17.7-14.3-32-32-32s-32 14.3-32 32zm228.9-64c-16.7 5.9-25.3 24.2-19.4 40.9c1.2 3.4 5 10.2 13 19.4c7.6 8.8 17.3 17.6 27.5 25.4c4.4 3.3 8.6 6.2 12.5 8.7c1.5-4.4 2.9-9.3 4.2-14.6c3-12.4 4.9-25.4 5.3-37c.4-12.2-.9-19.9-2.1-23.3c-5.9-16.7-24.2-25.3-40.9-19.4z\"]\n};\nvar faCitrus = {\n prefix: 'far',\n iconName: 'citrus',\n icon: [512, 512, [], \"e2f4\", \"M304 128h80c53 0 96-43 96-96V16c0-8.8-7.2-16-16-16H384c-31 0-58.7 14.7-76.2 37.6c-16.7-3.7-34-5.6-51.8-5.6C123.5 32 16 139.5 16 272s107.5 240 240 240s240-107.5 240-240c0-49.5-15-95.5-40.7-133.7c-13.5 9.1-28.8 15.7-45.3 19.1c23.9 32 38 71.7 38 114.6c0 106-86 192-192 192S64 378 64 272S150 80 256 80c11.2 0 22.2 1 32.9 2.8c-.6 4.3-.9 8.7-.9 13.2v16c0 8.8 7.2 16 16 16z\"]\n};\nvar faFlagUsa = {\n prefix: 'far',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M24 0C37.3 0 48 10.7 48 24V52l85-21.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v66.2 51.3 52.7 51.3 74.2c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L48 404l0 84c0 13.3-10.7 24-24 24s-24-10.7-24-24V416 366.5 313.2 264 217.2 168 64 24C0 10.7 10.7 0 24 0zM400 93c-56.4 22.9-120.2 20.6-175-6.8c-15.3-7.7-32.1-11.8-49-12.3v60.7c18.8 .6 37.5 3.6 55.6 9l49.3 14.8c35.2 10.6 72.9 9.3 107.3-3.6l11.8-4.4V93zM48 252.9l68.5-15.8c39.8-9.2 81.4-6.9 119.9 6.6l41.9 14.7c37.1 13 77.6 12.5 114.5-1.3l7.3-2.7V201.6c-42.9 14.9-89.4 15.9-132.9 2.8l-49.3-14.8c-28-8.4-57.6-9.3-86.1-2.8L48 206.2v46.7zm0 49.3v52.4l68.6-17.2c52.2-13.1 107.4-7 155.6 17.1c32.2 16.1 69.7 18.1 103.4 5.4l24.4-9.1V305.4c-44.7 14.4-93.1 13.9-137.6-1.7L220.5 289c-30-10.5-62.3-12.3-93.3-5.1L48 302.2zM96 104a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 152a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLaptopFile = {\n prefix: 'far',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M448 48H128c-8.8 0-16 7.2-16 16V320H320v64H48c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16H64V64C64 28.7 92.7 0 128 0H448c35.3 0 64 28.7 64 64V96H464V64c0-8.8-7.2-16-16-16zM400 464H592V256H544c-17.7 0-32-14.3-32-32V176l-112 0V464zm192 48H400c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H524.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5-21.5 48-48 48z\"]\n};\nvar faTty = {\n prefix: 'far',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M370 188.8v25.9l76.6 16.9 15.8-53.4c3.3-11.2-.3-17.4-2.5-19.4C421 123.4 349.4 80 256 80s-165 43.4-203.9 78.6c-2.2 2-5.8 8.2-2.5 19.4l15.8 53.4L142 214.6V188.8c0-19.5 11.8-37.1 29.9-44.5c53.9-21.9 114.2-21.9 168.1 0c18.1 7.4 29.9 24.9 29.9 44.5zm-48 25.9V188.8c-42.3-17.2-89.7-17.2-132 0v25.9c0 22.5-15.7 42-37.7 46.9L75.7 278.4c-24.6 5.4-49.2-9.1-56.4-33.3L3.5 191.7c-7.2-24.5-2.6-51.4 16.3-68.6C64.9 82.2 147.6 32 256 32s191.1 50.2 236.2 91.1c18.9 17.2 23.5 44.1 16.3 68.6l-15.8 53.4c-7.1 24.2-31.8 38.7-56.4 33.3l-76.6-16.9c-22-4.8-37.7-24.3-37.7-46.9zM32 336c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V336zm0 96c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V432zM144 320h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM128 432c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V432z\"]\n};\nvar faTeletype = faTty;\nvar faChartTreeMap = {\n prefix: 'far',\n iconName: 'chart-tree-map',\n icon: [512, 512, [], \"e0ea\", \"M176 80V192H48L48 80H176zM48 32C21.5 32 0 53.5 0 80V192c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM176 320V432H48l0-112H176zM48 272c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V320c0-26.5-21.5-48-48-48H48zM304 80H464v32H304V80zm-48 0v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zM464 240v32H304V240H464zM304 192c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H304zm0 208H464v32H304V400zm-48 0v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDiagramNext = {\n prefix: 'far',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M448 224c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H232v86.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V224H448zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64l-74.3 0c4.8 16 2.2 33.8-7.7 48h82c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H368 144l-80 0c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16h82c-9.9-14.2-12.5-32-7.7-48L64 288z\"]\n};\nvar faPersonRifle = {\n prefix: 'far',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M240 0c-44.2 0-80 35.8-80 80s35.8 80 80 80c43.9 0 79.5-35.3 80-79V79c-.5-43.7-36.1-79-80-79zm20.7 192H219.3c-45.5 0-87 25.7-107.3 66.3L34.5 413.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L152 285.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24V242.6c6.2-1.7 12.7-2.6 19.3-2.6h41.3c3.8 0 7.6 .3 11.3 .9V488c0 13.3 10.7 24 24 24s24-10.7 24-24V271.2 207.7c-17.8-10.1-38.1-15.7-59.3-15.7zM208 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32H384c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h32v48 64c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16H432 416zm16 336H416 400V240h32v96z\"]\n};\nvar faClockFiveThirty = {\n prefix: 'far',\n iconName: 'clock-five-thirty',\n icon: [512, 512, [], \"e34a\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V335.3l20 30c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3l-64-96c-5.9-8.8-16.8-12.7-26.9-9.7s-17 12.4-17 23V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faPipeValve = {\n prefix: 'far',\n iconName: 'pipe-valve',\n icon: [512, 512, [], \"e439\", \"M280 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V77L128 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l104-13v77H48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v32V424v32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V424 216 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H280V115l104 13c17.7 0 32-14.3 32-32s-14.3-32-32-32L280 77V56zM48 400V240H256 464V400H48z\"]\n};\nvar faArrowUpFromArc = {\n prefix: 'far',\n iconName: 'arrow-up-from-arc',\n icon: [512, 512, [], \"e4b4\", \"M256 464C141.1 464 48 370.9 48 256c0-13.3-10.7-24-24-24s-24 10.7-24 24C0 397.4 114.6 512 256 512s256-114.6 256-256c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 114.9-93.1 208-208 208zM134.4 119.7c-9 9.7-8.5 24.9 1.3 33.9s24.9 8.5 33.9-1.3L232 85.1 232 328c0 13.3 10.7 24 24 24s24-10.7 24-24l0-242.9 62.4 67.2c9 9.7 24.2 10.3 33.9 1.3s10.3-24.2 1.3-33.9l-104-112C269 2.8 262.7 0 256 0s-13 2.8-17.6 7.7l-104 112z\"]\n};\nvar faFaceSpiralEyes = {\n prefix: 'far',\n iconName: 'face-spiral-eyes',\n icon: [512, 512, [], \"e485\", \"M464 256c0-114.9-93.1-208-208-208c-71 0-133.6 35.5-171.1 89.8c18.5-21.6 45.8-36.5 76.6-37.7c6.6-.3 12.2 4.9 12.5 11.5s-4.9 12.2-11.5 12.5c-46.9 1.9-82.2 45-78.1 84.3l0 .3 0 .3c2 40.2 40.8 70.7 76.2 66.7l.3 0 .3 0c36.3-2 62.1-35.7 58.4-64.5l0-.3 0-.3c-2.1-29.8-31.3-51-56-47.5l-.3 0-.3 0c-25.7 2.2-42 26.2-38.9 44.5l.1 .4 0 .4c2.1 19.5 21.5 31.3 35.5 28.6l.3-.1 .3 0c15.2-2.1 22-16.3 19.9-24l-.1-.4-.1-.4c-.9-4.3-3.4-7.4-6.5-9.2c-.9-.5-1.8-.9-2.6-1.2c1.7 1.9 2.8 4.2 3 6.9c1 11.1-8.8 15.8-14.1 16.4c-6.6 .8-13.4-2.2-17.6-8.5c-5-6.8-4.4-15.6-1.8-21.8c2.9-7 8.9-13.2 17.8-16c9.2-3.3 19.4-1.3 27.5 3.3c8.3 4.9 15.5 13.4 17.9 24.8c5.8 22.8-11.9 49.5-39.5 53.6c-27.7 5.3-59.8-16.2-63.6-49.2c-5.4-33 21.9-68.7 60.3-72.1c38.2-5.2 79.6 25.8 82.9 69.3c5.4 43.3-31.5 88.2-80.6 91.2c-48.8 5.3-99.6-35.2-102.5-89.1c-1.2-11.3 0-22.5 3-33.3C53.5 201.5 48 228.1 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm338.1 48.5c-.3-6.6 4.9-12.2 11.5-12.5c46.9-1.9 82.2-45 78.1-84.3l0-.3 0-.3c-2-40.2-40.8-70.7-76.2-66.7l-.3 0-.3 0c-36.3 2-62.1 35.7-58.4 64.5l0 .3 0 .3c2.1 29.8 31.3 51 56 47.5l.3 0 .3 0c25.7-2.2 42-26.2 38.9-44.5l-.1-.4 0-.4c-2.1-19.5-21.5-31.3-35.5-28.6l-.3 .1-.3 0c-15.2 2.1-21.9 16.3-19.9 24l.1 .4 .1 .4c.9 4.3 3.4 7.4 6.5 9.2c.9 .5 1.8 .9 2.6 1.2c-1.7-1.9-2.8-4.2-3-6.9c-1-11.1 8.8-15.8 14.1-16.4c6.6-.8 13.4 2.2 17.6 8.5c5 6.8 4.4 15.6 1.8 21.8c-2.9 7-8.9 13.2-17.8 16c-9.2 3.3-19.4 1.3-27.5-3.3c-8.3-4.9-15.5-13.4-17.9-24.8c-5.8-22.8 11.9-49.5 39.5-53.6c27.7-5.3 59.8 16.2 63.6 49.2c5.4 33-21.9 68.7-60.3 72.1c-38.2 5.2-79.6-25.8-82.9-69.3c-5.4-43.3 31.5-88.2 80.6-91.2c48.8-5.3 99.6 35.2 102.5 89.1c5.5 53.8-41.1 108.1-101 110.5c-6.6 .3-12.2-4.9-12.5-11.5zm-35.9 46.6l6.7-4.5c22.2-14.8 51.8-11.9 70.7 7L385 359c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-5.4-5.4c-2.7-2.7-6.9-3.1-10.1-1l-6.7 4.5c-20.3 13.5-47 12.4-66-2.9l-1.7-1.4c-2.9-2.3-7.1-2.3-10 0l-1.7 1.4c-19 15.2-45.8 16.4-66 2.9l-6.7-4.5c-3.2-2.1-7.4-1.7-10.1 1L161 393c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l5.4-5.4c18.9-18.9 48.5-21.8 70.7-7l6.7 4.5c2.9 1.9 6.7 1.8 9.4-.4l1.7-1.4c20.5-16.4 49.5-16.4 70 0l1.7 1.4c2.7 2.2 6.5 2.3 9.4 .4z\"]\n};\nvar faCompressWide = {\n prefix: 'far',\n iconName: 'compress-wide',\n icon: [512, 512, [], \"f326\", \"M160 88c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24V88zM24 288c-13.3 0-24 10.7-24 24s10.7 24 24 24h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V312c0-13.3-10.7-24-24-24H24zM400 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V200c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V88zM376 288c-13.3 0-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V336h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faCirclePhoneHangup = {\n prefix: 'far',\n iconName: 'circle-phone-hangup',\n icon: [512, 512, [\"phone-circle-down\"], \"e11d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM391.4 294l21.7-35.2c4.8-7.8 3.4-17.5-3.4-23.8c-84.9-78.6-222.6-78.6-307.5 0c-6.8 6.3-8.2 16.1-3.4 23.8L120.6 294c5.3 8.6 16.8 12.3 26.7 8.5l46.2-17.6c8.7-3.3 14.1-11.6 13.1-20.3L203.7 238c33.8-10.8 70.8-10.8 104.6 0l-2.9 26.7c-.9 8.7 4.4 16.9 13.1 20.3l46.2 17.6c9.9 3.8 21.4 .2 26.7-8.5z\"]\n};\nvar faPhoneCircleDown = faCirclePhoneHangup;\nvar faGearComplexCode = {\n prefix: 'far',\n iconName: 'gear-complex-code',\n icon: [512, 512, [], \"e5eb\", \"M188.2 36.7C193.4 15.2 212.7 0 234.9 0h42.2c22.2 0 41.5 15.2 46.7 36.7L332 71l1.1 .4 30-18.4c18.9-11.6 43.3-8.7 59 7l29.8 29.8c15.7 15.7 18.6 40.1 7 59l-18.4 30 .4 1.1 34.2 8.3c21.6 5.2 36.7 24.5 36.7 46.7v42.2c0 22.2-15.2 41.5-36.7 46.7L441 332l-.4 1.1 18.4 30c11.6 18.9 8.7 43.3-7 59l-29.8 29.8c-15.7 15.7-40.1 18.6-59 7l-30-18.4L332 441l-8.3 34.2c-5.2 21.6-24.5 36.7-46.7 36.7H234.9c-22.2 0-41.5-15.2-46.7-36.7L180 441l-1.1-.4-30 18.4c-18.9 11.6-43.3 8.7-59-7L60.1 422.1c-15.7-15.7-18.6-40.1-7-59l18.4-30L71 332l-34.2-8.3C15.2 318.6 0 299.3 0 277.1V234.9c0-22.2 15.2-41.5 36.7-46.7L71 180l.4-1.1L53 148.9c-11.6-18.9-8.7-43.3 7-59L89.9 60.1c15.7-15.7 40.1-18.6 59-7l30 18.4L180 71l8.3-34.2zM277.1 48l-42.2 0L223.6 94.6c-1.9 8-7.9 14.5-15.7 17.1c-6.8 2.3-13.5 5-19.9 8.2c-7.4 3.7-16.2 3.3-23.3-1L123.8 94 94 123.8l25 40.9c4.3 7.1 4.7 15.9 1 23.3c-3.2 6.4-6 13-8.2 19.9c-2.6 7.9-9.1 13.8-17.1 15.7L48 234.9l0 42.2 46.6 11.3c8 1.9 14.5 7.9 17.1 15.7c2.3 6.8 5 13.5 8.2 19.9c3.7 7.4 3.3 16.2-1 23.3L94 388.2 123.8 418l40.9-25c7.1-4.3 15.9-4.7 23.3-1c6.4 3.2 13 6 19.9 8.2c7.9 2.6 13.8 9.1 15.7 17.1L234.9 464h42.2l11.3-46.6c1.9-8 7.9-14.5 15.7-17.1c6.8-2.3 13.5-5 19.9-8.2c7.4-3.7 16.2-3.3 23.3 1l40.9 25L418 388.2l-25-40.9c-4.3-7.1-4.7-15.9-1-23.3c3.2-6.4 6-13 8.2-19.9c2.6-7.9 9.1-13.8 17.1-15.7L464 277.1V234.9l-46.6-11.3c-8-1.9-14.5-7.9-17.1-15.7c-2.3-6.8-5-13.5-8.2-19.9c-3.7-7.4-3.3-16.2 1-23.3l25-40.9L388.2 94l-40.9 25c-7.1 4.3-15.9 4.7-23.3 1c-6.4-3.2-13-6-19.9-8.2c-7.9-2.6-13.8-9.1-15.7-17.1L277.1 48zm14.6 115.3l-32 192c-1.8 10.9-12.1 18.3-23 16.4s-18.3-12.1-16.4-23l32-192c1.8-10.9 12.1-18.3 23-16.4s18.3 12.1 16.4 23zm-93.6 66.9L172.3 256l25.9 25.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3l40-40c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zm144-28.3l40 40c7.8 7.8 7.8 20.5 0 28.3l-40 40c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L339.7 256l-25.9-25.9c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0z\"]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'far',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L526.1 194.6c-9.8-1.7-19.9-2.6-30.1-2.6c-14.2 0-28.1 1.7-41.3 4.9L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32H348.5c12.3 18.8 28 35.1 46.3 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM320 256h40.2c-15.3 18.5-26.9 40.2-33.6 64H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48zm176-32a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faBadminton = {\n prefix: 'far',\n iconName: 'badminton',\n icon: [576, 512, [], \"e33a\", \"M228.9 100.9C193.7 136.1 176 180.4 176 221c0 31.9 10.9 61.1 32.4 82.6c48.2 48.2 138.8 43.5 202.7-20.5C446.3 247.9 464 203.6 464 163c0-31.9-10.9-61.1-32.4-82.6S380.8 48 349 48c-40.6 0-84.9 17.7-120.1 52.9zM194.9 66.9C238.5 23.4 294.8 0 349 0c42.8 0 84.9 14.8 116.6 46.5S512 120.2 512 163c0 54.2-23.4 110.5-66.9 154c-56.3 56.3-137 80.2-204.8 59.8c-27.3-8.2-58.7-7.8-80.5 9.7c11.3 12.6 10.9 31.9-1.2 44l-72 72c-12.5 12.5-32.8 12.5-45.3 0l-32-32c-12.5-12.5-12.5-32.8 0-45.3l72-72c12.1-12.1 31.4-12.5 44-1.2c17.5-21.8 18.1-53.3 9.9-80.6c-4.9-16.3-7.3-33.4-7.3-50.6c0-54.2 23.4-110.5 66.9-154zM104 398.6L54.6 448l9.4 9.4L113.4 408l-9.4-9.4zM512 352c26.5 0 48 21.5 48 48v32H464V400c0-26.5 21.5-48 48-48zm-50.3 96h33.4l-15.8 52.6c-2.5 8.5-11.5 13.3-19.9 10.7s-13.3-11.5-10.7-19.9l13-43.4zm34.3 0h32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448zm32.9 0h33.4l13 43.4c2.5 8.5-2.3 17.4-10.7 19.9s-17.4-2.3-19.9-10.7L528.9 448z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nvar faPersonHiking = {\n prefix: 'far',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M288 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM136.5 125.8c3.8-15.1-7.7-29.8-23.3-29.8h-4.2C73 96 41.4 120.1 31.9 155L7 246.4c-3.7 13.7 5.2 27.7 19.2 30l47.9 8c12.3 2.1 24.2-5.7 27.2-17.9l35.2-140.7zM384 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H308.8l-28.7-43.1c-11.2-16.9-28.6-28.7-48.5-32.9c-32-6.9-63.6 13.3-70.9 45.2l-19.8 86.5c-4.7 20.4 2.4 41.7 18.4 55.2L240 387.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V383.4c0-11.8-5.2-22.9-14.2-30.5l-27.5-23.2 22.4-95.2 2.5 3.7c7.4 11.1 19.9 17.8 33.3 17.8H336V488c0 13.3 10.7 24 24 24s24-10.7 24-24V184zm-162.4-5.1c3.6 .8 7 2.2 10 4.1L205.3 294.9l-14.9-12.6c-2.3-1.9-3.3-5-2.6-7.9l19.8-86.5c1.4-6.3 7.7-10.3 14.1-9zM80.9 481.5c-3.6 12.8 3.8 26 16.6 29.6s26-3.8 29.6-16.6l36.7-130-24.8-21c-5.6-4.7-10.5-10.1-14.6-15.8L80.9 481.5z\"]\n};\nvar faHiking = faPersonHiking;\nvar faRightFromLine = {\n prefix: 'far',\n iconName: 'right-from-line',\n icon: [448, 512, [\"arrow-alt-from-left\"], \"f347\", \"M288 146.2L398 256 288 365.8l0-53.8c0-13.3-10.7-24-24-24l-120 0 0-64 120 0c13.3 0 24-10.7 24-24l0-53.8zM448 256c0-11.5-4.6-22.5-12.7-30.6L319.2 109.6c-8.7-8.7-20.5-13.6-32.8-13.6c-25.6 0-46.4 20.8-46.4 46.4l0 33.6-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 33.6c0 25.6 20.8 46.4 46.4 46.4c12.3 0 24.1-4.9 32.8-13.6L435.3 286.6c8.1-8.1 12.7-19.1 12.7-30.6zM48 88c0-13.3-10.7-24-24-24S0 74.7 0 88L0 424c0 13.3 10.7 24 24 24s24-10.7 24-24L48 88z\"]\n};\nvar faArrowAltFromLeft = faRightFromLine;\nvar faVenusDouble = {\n prefix: 'far',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 304a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM368 176c0 89.1-66.2 162.7-152 174.4V400h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V350.4C82.2 338.7 16 265.1 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c10.9-11.7 20.5-24.6 28.5-38.6C393.7 294.9 419.8 304 448 304c70.7 0 128-57.3 128-128s-57.3-128-128-128c-28.2 0-54.3 9.1-75.5 24.6c-8-14-17.6-26.9-28.5-38.6C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 89.1-66.2 162.7-152 174.4V400h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H472v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V350.4c-29.7-4-57-15.5-80-32.4z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 80H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H490.8L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM96 96V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCalculator = {\n prefix: 'far',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M336 176V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V176H336zm0-48H48V64c0-8.8 7.2-16 16-16H320c8.8 0 16 7.2 16 16v64zm48 0V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64v64 24 24V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V176 152 128zM80 232a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 64a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM80 408c0 13.3 10.7 24 24 24h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H104c-13.3 0-24 10.7-24 24zM192 208a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM168 320a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM280 208a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM256 320a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 64a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faShuttlecock = {\n prefix: 'far',\n iconName: 'shuttlecock',\n icon: [512, 512, [], \"f45b\", \"M247 48l-43.3 89.2L280 97.4V48H247zM168.5 209.6l-38.9 80L159 319l75.9-75.9 25.7-81.5-92.1 48zM328 40V80h72c17.7 0 32 14.3 32 32v72h40c22.1 0 40 17.9 40 40v46c0 15.3-8.7 29.3-22.5 36l-242 117.5c-.7 1.4-1.7 2.7-2.8 3.8l-51.5 51.5c-21.2 21.2-50 33.1-80 33.1C50.7 512 0 461.3 0 398.9c0-30 11.9-58.8 33.1-80l51.5-51.5c1.2-1.2 2.5-2.1 3.8-2.8L206 22.5C212.7 8.7 226.7 0 242 0h46c22.1 0 40 17.9 40 40zM222.3 382.3l80-38.9 48-92.1-81.5 25.7L193 353l29.4 29.4zm70.4-163.1L384 190.4V128H321.6l-28.8 91.2zM188.1 416L96 323.9 73.3 346.6l92.1 92.1L188.1 416zm-48.4 42.3l-86-86C50 380.6 48 389.6 48 398.9c0 36 29.2 65.1 65.1 65.1c9.2 0 18.3-2 26.6-5.7zm235.1-150L464 265V232H414.6l-39.7 76.3z\"]\n};\nvar faUserHair = {\n prefix: 'far',\n iconName: 'user-hair',\n icon: [448, 512, [], \"e45a\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zM49.6 464H398.4c-9.3-54.5-56.8-96-113.9-96H163.6c-57.2 0-104.6 41.5-113.9 96zM0 483.6C0 393.2 73.2 320 163.6 320H284.4C374.8 320 448 393.2 448 483.6c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6z\"]\n};\nvar faEyeEvil = {\n prefix: 'far',\n iconName: 'eye-evil',\n icon: [640, 512, [], \"f6db\", \"M288.4 115.5L320 65l31.6 50.6c6.3 10 16 17.4 27.4 20.7c10.6 3.1 20.6 6.9 30 11.4c11 5.3 23.5 6.2 35.2 2.6l27.7-8.6-2.3 3.6c-10.6 16.2-10.5 37.1 .3 53.2c4.2 6.2 7.6 12.5 10.3 19c5.2 12.4 15.4 22 28.1 26.5L542.1 256l-33.9 12.1c-12.7 4.5-22.8 14.1-28.1 26.5c-2.7 6.5-6.2 12.8-10.3 19c-10.8 16.1-10.9 37-.3 53.2l2.3 3.6-27.7-8.6c-11.6-3.6-24.2-2.7-35.2 2.6c-9.4 4.5-19.4 8.4-30 11.4c-11.4 3.3-21.1 10.6-27.4 20.7L320 447l-31.6-50.6c-6.3-10-16-17.4-27.4-20.7c-10.6-3.1-20.6-6.9-30-11.4c-11-5.3-23.5-6.2-35.2-2.6l-27.7 8.6 2.3-3.6c10.6-16.2 10.5-37.1-.3-53.2c-4.2-6.2-7.6-12.5-10.3-19c-5.2-12.4-15.4-22-28.1-26.5L97.9 256l33.9-12.1c12.7-4.5 22.8-14.1 28.1-26.5c2.7-6.5 6.2-12.8 10.3-19c10.8-16.1 10.9-37 .3-53.2l-2.3-3.6 27.7 8.6c11.6 3.6 24.2 2.7 35.2-2.6c9.4-4.5 19.4-8.4 30-11.4c11.4-3.3 21.1-10.6 27.4-20.7zM392.3 90.1L344.5 13.6C339.2 5.1 330 0 320 0s-19.2 5.1-24.5 13.6L247.7 90.1c-13.1 3.8-25.7 8.6-37.5 14.3L114.9 74.7c-9.2-2.9-19.1 .3-24.9 8s-6.1 18.1-.8 26.1l41.3 62.7c-5.8 8.6-10.7 17.7-14.7 27.1L15.1 234.6C6 237.8 0 246.4 0 256s6 18.2 15.1 21.4l100.6 35.9c4 9.4 8.9 18.5 14.7 27.1L89.2 403.2c-5.3 8-4.9 18.5 .8 26.1s15.7 10.9 24.9 8l95.3-29.8c11.8 5.7 24.4 10.5 37.5 14.3l47.8 76.5C300.8 506.9 310 512 320 512s19.2-5.1 24.5-13.6l47.8-76.5c13.1-3.8 25.7-8.6 37.5-14.3l95.3 29.8c9.2 2.9 19.1-.3 24.9-8s6.1-18.1 .8-26.1l-41.3-62.7c5.8-8.6 10.7-17.7 14.7-27.1l100.6-35.9c9-3.2 15.1-11.8 15.1-21.4s-6-18.2-15.1-21.4L524.3 198.7c-4-9.4-8.9-18.5-14.7-27.1l41.3-62.7c5.3-8 4.9-18.5-.8-26.1s-15.7-10.9-24.9-8l-95.3 29.8c-11.8-5.7-24.4-10.5-37.5-14.3zM256 245.5c12 4 24.5 7 37.3 8.7c.1 .4 .2 .7 .4 1.1c5.5 14.4 13.5 24.4 18.1 29.3c2.1 2.3 5.1 3.4 8.2 3.4s6.1-1.1 8.2-3.4c4.5-4.9 12.6-14.9 18.1-29.3c.1-.4 .3-.7 .4-1.1c12.9-1.7 25.3-4.6 37.3-8.7c0 .8 0 1.6 0 2.5c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-.8 0-1.6 0-2.5zM246 242l0 0c0 0 .1 0 .1 0l-.1 0c0 0 0 0 0 0zm148 0a.1 .1 0 1 0 -.1-.1 .1 .1 0 1 0 .1 .1zM220.1 219c-2.7 9.2-4.1 18.9-4.1 29c0 57.4 46.6 104 104 104s104-46.6 104-104c0-10-1.4-19.8-4.1-29c-4.9-16.8-25-20.6-41.3-14.1C360.5 212.1 340.7 216 320 216s-40.5-3.9-58.6-11.1c-16.3-6.4-36.4-2.7-41.3 14.1z\"]\n};\nvar faPeoplePulling = {\n prefix: 'far',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M80 0a48 48 0 1 1 0 96A48 48 0 1 1 80 0zM48 271.9V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-30.9 25.1-56 56-56h58.4c15.1 0 29.9 3.9 43 11.2l122.5 68.7c17.9-34 48.4-60 85.1-72.3c15.3-5.1 31.3-7.7 47.4-7.7h4.9c52.5 0 98.7 34.8 113.2 85.4l10.9 38.1L569 279c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L506 283.9c-4.8-4.8-8.3-10.8-10.2-17.3l-10.5-36.7-28.5 91.3 50.1 40.7c6.9 5.6 11.8 13.4 13.8 22.1l22.8 98.6c3 12.9-5.1 25.8-18 28.8s-25.8-5.1-28.8-18l-22.1-96L370 312.6c-18.1-14.7-25.2-39.1-17.8-61.2L375 183.1c-24.7 9.8-44.7 28.9-55.6 53.3l-9.5 21.3c-5.4 12.1-19.6 17.6-31.7 12.2c-6.8-3-11.5-8.8-13.3-15.4L160.5 196l63 286.9c2.8 12.9-5.3 25.7-18.3 28.6s-25.7-5.4-28.6-18.3L145.6 352H114.7l28.7 130.9c2.8 12.9-5.3 25.7-18.3 28.6s-25.7-5.4-28.6-18.3L48 271.9zM106.9 176H76.1l28.1 128H135L106.9 176zM464 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM397.8 266.6c-1.1 3.2 0 6.6 2.5 8.7l16.3 13.3 32.4-103.8c.1-.3 .2-.7 .3-1c-6.7-3.5-14-5.9-21.7-7.1l-29.9 89.8zm-42.1 75.6l39 31.7-19.2 48c-2 5-5 9.6-8.9 13.4L297 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.5-68.5 24.1-60.4z\"]\n};\nvar faN = {\n prefix: 'far',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M15.8 33.4c9.5-3.5 20.1-.6 26.6 7.1L336 390.1V56c0-13.3 10.7-24 24-24s24 10.7 24 24V456c0 10.1-6.3 19.1-15.8 22.6s-20.1 .6-26.6-7.1L48 121.9V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 45.9 6.3 36.9 15.8 33.4z\"]\n};\nvar faGarage = {\n prefix: 'far',\n iconName: 'garage',\n icon: [640, 512, [], \"e009\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V368H144zm0-48H496V240H144v80zm136 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCableCar = {\n prefix: 'far',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-64-8a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM432 288v64H352V272h64c8.8 0 16 7.2 16 16zm0 112v48c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V400H184 328 432zM80 352V288c0-8.8 7.2-16 16-16h64v80H80zm128-80h96v80H208V272zM96 224c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H280V147.5l212.9-44c13-2.7 21.3-15.4 18.6-28.4s-15.4-21.3-28.4-18.6l-232 48-232 48c-13 2.7-21.3 15.4-18.6 28.4s15.4 21.3 28.4 18.6l203.1-42V224H96z\"]\n};\nvar faTram = faCableCar;\nvar faShovelSnow = {\n prefix: 'far',\n iconName: 'shovel-snow',\n icon: [512, 512, [], \"f7c3\", \"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-31.4 31.4c-15.1 15.1-35.6 23.6-57 23.6c-13.5 0-26.2-3.3-37.4-9.2L297.9 248l35.3 35.3c19.8 19.8 21.9 51.2 4.9 73.5L236.7 489.9c-10.6 13.9-27.1 22.1-44.5 22.1h-2.9c-14.9 0-29.1-5.9-39.6-16.4L16.4 362.3C5.9 351.8 0 337.6 0 322.7v-2.9c0-17.5 8.2-34 22.1-44.5L155.2 173.9c22.3-17 53.7-14.9 73.5 4.9L264 214.1l81.2-81.2c-5.9-11.2-9.2-23.9-9.2-37.4c0-21.4 8.5-41.9 23.6-57L391 7zm17 50.9L393.5 72.4c-6.1 6.1-9.5 14.4-9.5 23c0 18 14.6 32.6 32.6 32.6c8.6 0 16.9-3.4 23-9.5L454.1 104 408 57.9zM184.3 212L51.2 313.5c-2 1.5-3.2 3.9-3.2 6.4v2.9c0 2.1 .8 4.2 2.3 5.7L183.6 461.7c1.5 1.5 3.5 2.3 5.7 2.3h2.9c2.5 0 4.9-1.2 6.4-3.2L300 327.7c2.4-3.2 2.1-7.7-.7-10.5L194.8 212.7c-2.8-2.8-7.3-3.1-10.5-.7zm5.8 90.1l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zm48 48l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]\n};\nvar faCloudRain = {\n prefix: 'far',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM89.2 372L54.2 436.6C50.1 444.1 48 452.5 48 461v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3L102.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4zm160 0l-35.1 64.6c-4.1 7.5-6.2 15.8-6.2 24.3v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3L262.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4zm124.9 64.6c-4.1 7.5-6.2 15.8-6.2 24.3v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3L422.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4l-35.1 64.6z\"]\n};\nvar faFaceLying = {\n prefix: 'far',\n iconName: 'face-lying',\n icon: [512, 512, [], \"e37e\", \"M431.3 368H352c-13.3 0-24-10.7-24-24s10.7-24 24-24h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H288c-13.3 0-24-10.7-24-24s10.7-24 24-24H440c7.7 0 15.1 1.2 22.1 3.4C448.1 126.1 361.2 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c73.6 0 138.3-38.3 175.3-96zm67.4-30.3C464.6 439 368.8 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 8.8-.4 17.6-1.3 26.2c.9 4.5 1.3 9.1 1.3 13.8c0 15.6-4.9 30-13.3 41.7zM144.4 176a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM195.2 390.4c-8 10.6-23 12.7-33.6 4.8s-12.7-23-4.8-33.6C175.7 336.4 206 320 240 320c14.7 0 28.8 3.1 41.6 8.7c12.1 5.3 17.7 19.5 12.4 31.6s-19.5 17.7-31.6 12.4c-6.8-3-14.4-4.6-22.4-4.6c-18.3 0-34.6 8.8-44.8 22.4z\"]\n};\nvar faSprinkler = {\n prefix: 'far',\n iconName: 'sprinkler',\n icon: [512, 512, [], \"e035\", \"M0 24a24 24 0 1 1 48 0A24 24 0 1 1 0 24zm24 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM88 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM64 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM512 232a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM488 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24-80a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM424 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24 136a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-88-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM97.8 270.8c3.7-9 12.5-14.8 22.2-14.8H232V88c0-13.3 10.7-24 24-24s24 10.7 24 24V256H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-89 89V472c0 22.1-17.9 40-40 40H232c-22.1 0-40-17.9-40-40V385.9l-89-89c-6.9-6.9-8.9-17.2-5.2-26.2zM256 304H177.9l55 55c4.5 4.5 7 10.6 7 17v88h32V376c0-6.4 2.5-12.5 7-17l55-55H256z\"]\n};\nvar faBuildingCircleXmark = {\n prefix: 'far',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPersonSledding = {\n prefix: 'far',\n iconName: 'person-sledding',\n icon: [512, 512, [\"sledding\"], \"f7cb\", \"M400 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM128 152c0-13.3 10.7-24 24-24H321.4c35.6 0 53.5 43.1 28.3 68.3L281.9 264H344c22.1 0 40 17.9 40 40v80c0 7.7-3.7 14.6-9.4 19l43.9 22.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 269.3C1.2 263.2-3.4 248.7 2.7 236.9s20.6-16.3 32.4-10.2l124.1 64.4c-4.3-11.5-2.2-25.4 8.8-35.1l90.7-80H152c-13.3 0-24-10.7-24-24zM336 312H199.3L336 383V312z\"]\n};\nvar faSledding = faPersonSledding;\nvar faGameConsoleHandheld = {\n prefix: 'far',\n iconName: 'game-console-handheld',\n icon: [384, 512, [], \"f8bb\", \"M64 48c-8.8 0-16 7.2-16 16V416c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V64zM232 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 288c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H144v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V304c0-8.8 7.2-16 16-16zM112 96H272c8.8 0 16 7.2 16 16V224c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faShip = {\n prefix: 'far',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V64h40c30.9 0 56 25.1 56 56V238.4l25.9 9.7c38.1 14.3 48.7 63.2 19.9 92L457 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.9-68.9c4.1-4.1 2.6-11.1-2.8-13.1L290.8 218.7c-1.8-.7-3.8-.7-5.6 0L87 293c-5.4 2-7 9-2.8 13.1L153 375c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L50.2 340.1c-28.8-28.8-18.2-77.7 19.9-92L96 238.4V120c0-30.9 25.1-56 56-56h40V32zm-48 88V220.4l124.3-46.6c12.7-4.8 26.6-4.8 39.3 0L432 220.4V120c0-4.4-3.6-8-8-8H152c-4.4 0-8 3.6-8 8zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faClockSixThirty = {\n prefix: 'far',\n iconName: 'clock-six-thirty',\n icon: [512, 512, [], \"e353\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V256c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faBatterySlash = {\n prefix: 'far',\n iconName: 'battery-slash',\n icon: [640, 512, [], \"f377\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6C563.1 386 576 362.5 576 336V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H154.8L38.8 5.1zM216 144H496c17.7 0 32 14.3 32 32V336c0 15.9-11.6 29.1-26.7 31.6L216 144zM345.2 368H112c-17.7 0-32-14.3-32-32V176c0-5.1 1.2-10 3.4-14.3l-38-30C36.9 144.4 32 159.6 32 176V336c0 44.2 35.8 80 80 80H406.2l-60.9-48z\"]\n};\nvar faTugrikSign = {\n prefix: 'far',\n iconName: 'tugrik-sign',\n icon: [384, 512, [], \"e2ba\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H168V205.3L58.2 232.7c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5L168 254.7v46.5L58.2 328.7c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5L168 350.7V456c0 13.3 10.7 24 24 24s24-10.7 24-24V338.7l109.8-27.5c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L216 289.3V242.7l109.8-27.5c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L216 193.3V80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H192 24z\"]\n};\nvar faArrowsDownToLine = {\n prefix: 'far',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M552 432L24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l528 0c13.3 0 24-10.7 24-24s-10.7-24-24-24zm17-159c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-63 63L472 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 246.1-63-63c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L431 377c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7L569 273zM249 239c-9.4-9.4-24.6-9.4-33.9 0l-63 63L152 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 246.1L41 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L111 377c9.4 9.4 24.6 9.4 33.9 0L249 273c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faDownload = {\n prefix: 'far',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V294.1l-95-95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 369c9.4 9.4 24.6 9.4 33.9 0L409 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95V24zM128.8 304H64c-35.3 0-64 28.7-64 64v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V368c0-35.3-28.7-64-64-64H383.2l-48 48H448c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16H176.8l-48-48zM432 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faShelves = {\n prefix: 'far',\n iconName: 'shelves',\n icon: [640, 512, [\"inventory\"], \"f480\", \"M24 0C37.3 0 48 10.7 48 24V160H592V24c0-13.3 10.7-24 24-24s24 10.7 24 24V184 440v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V464H48v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V440 184 24C0 10.7 10.7 0 24 0zM48 416H592V208H48V416zM352 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V32zM128 256h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32zm160 0h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]\n};\nvar faInventory = faShelves;\nvar faCloudSnow = {\n prefix: 'far',\n iconName: 'cloud-snow',\n icon: [512, 512, [127784], \"f742\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM64 352c-13.3 0-24 10.7-24 24v16H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H40v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H88V376c0-13.3-10.7-24-24-24zm192 32c-13.3 0-24 10.7-24 24v16H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V408c0-13.3-10.7-24-24-24zm216-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V376z\"]\n};\nvar faFaceGrin = {\n prefix: 'far',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'far',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H205.3zM528 128V384c0 8.8-7.2 16-16 16H205.3c-4.2 0-8.3-1.7-11.3-4.7L54.6 256 193.9 116.7c3-3 7.1-4.7 11.3-4.7H512c8.8 0 16 7.2 16 16zm-95 47c-9.4-9.4-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faBackspace = faDeleteLeft;\nvar faOven = {\n prefix: 'far',\n iconName: 'oven',\n icon: [448, 512, [], \"e01d\", \"M352 48c26.5 0 48 21.5 48 48v64H48V96c0-26.5 21.5-48 48-48H352zm48 160V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208H400zM96 0C43 0 0 43 0 96V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-53-43-96-96-96H96zm32 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM112 240c-17.7 0-32 14.3-32 32V400c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H112zm32 48H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCloudBinary = {\n prefix: 'far',\n iconName: 'cloud-binary',\n icon: [640, 512, [], \"e601\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM176 216v16c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H216c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8zm72-16c0 8.8 7.2 16 16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm120-16c-22.1 0-40 17.9-40 40v16c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H408zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H408c-4.4 0-8-3.6-8-8V216zM192 320c0 8.8 7.2 16 16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm80 24v16c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V344c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8V344c0-4.4 3.6-8 8-8zm88-32c-8.8 0-16 7.2-16 16s7.2 16 16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H400z\"]\n};\nvar faEyeDropper = {\n prefix: 'far',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M199 169L233 202.9 309.1 279 343 313l8 8c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-8-8 33.9-33.9 71.3-71.3c19.1-19.1 29.8-45 29.8-72C512 45.6 466.4 0 410.2 0c-27 0-52.9 10.7-72 29.8l-71.3 71.3L233 135l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l0 0 8 8zm249.2-29.1L343 245.1 266.9 169 372.1 63.8C382.2 53.7 395.9 48 410.2 48c29.7 0 53.8 24.1 53.8 53.8c0 14.3-5.7 28-15.8 38.1zM53.1 329C39.6 342.5 32 360.8 32 379.9v52.9l-28 42c-6.3 9.5-5.1 22.2 3 30.3s20.8 9.3 30.3 3l42-28h52.9c19.1 0 37.4-7.6 50.9-21.1L313.4 328.6l-33.9-33.9L149.1 425c-4.5 4.5-10.6 7-17 7H80V379.9c0-6.4 2.5-12.5 7-17L217.4 232.6l-33.9-33.9L53.1 329z\"]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faCommentCaptions = {\n prefix: 'far',\n iconName: 'comment-captions',\n icon: [512, 512, [], \"e146\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM120 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM136 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H136zm112 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H376c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCommentsQuestion = {\n prefix: 'far',\n iconName: 'comments-question',\n icon: [640, 512, [], \"e14e\", \"M80.7 253.2c14.3 15 17.3 37.6 7.5 55.8c-1.1 2-2.2 4-3.2 5.9c-2.5 4.5-5.2 9-7.9 13.6c17.1-4.5 33.9-10.7 49.9-18c4.3-1.9 8.5-3.9 12.6-6c9.5-4.8 20.3-6.2 30.7-4.2c12.1 2.4 24.8 3.6 37.8 3.6c96.2 0 160-64.5 160-128s-63.8-128-160-128S48 112.5 48 176c0 28 11.4 54.9 32.7 77.2zM416 176c0 97.2-93.1 176-208 176c-16.2 0-31.9-1.6-47.1-4.5c-4.6 2.3-9.4 4.6-14.2 6.8C110.5 370.7 67 384 24 384c-9.6 0-18.2-5.7-22-14.5c-3.8-8.8-2-19 4.6-25.9c14.2-15.6 26.2-33.7 36.6-52.1c.9-1.7 1.9-3.4 2.8-5.1C17.2 256.1 0 217.8 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM245.2 381.5c17.2-2.4 34-6.3 50-11.8C322 405.5 370.3 432 432 432c13.1 0 25.8-1.3 37.8-3.6c10.4-2 21.2-.6 30.7 4.2c4.1 2.1 8.3 4.1 12.6 6c16 7.2 32.9 13.5 49.9 18c-2.8-4.6-5.4-9.1-7.9-13.6c-1.1-1.9-2.2-3.9-3.2-5.9c-9.8-18.3-6.8-40.8 7.5-55.8C580.6 358.9 592 332 592 304c0-59.9-56.8-120.7-144-127.4l0-.6c0-16.6-2.2-32.6-6.2-47.8C552.1 132.5 640 209.6 640 304c0 41.8-17.2 80.1-45.9 110.3c.9 1.7 1.9 3.5 2.8 5.1c10.3 18.4 22.3 36.5 36.6 52.1c6.6 7 8.3 17.2 4.6 25.9c-3.8 8.8-12.5 14.5-22 14.5c-43 0-86.5-13.3-122.7-29.7c-4.8-2.2-9.6-4.5-14.2-6.8c-15.1 3-30.9 4.5-47.1 4.5c-82 0-153-40.2-186.8-98.5zM147.9 112.1c5.5-15.4 20.1-25.7 36.4-25.7h41.3c24.2 0 43.7 19.6 43.7 43.7c0 15.7-8.4 30.1-22 37.9L224 181.4v.3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-9.5c0-5.7 3.1-11 8-13.9l31.4-18c3.6-2.1 5.9-6 5.9-10.2c0-6.5-5.3-11.7-11.7-11.7H184.3c-2.8 0-5.3 1.8-6.3 4.4l-.3 .9c-3 8.3-12.1 12.7-20.4 9.7s-12.7-12.1-9.7-20.4l.3-.9zM185.3 244a22.7 22.7 0 1 1 45.3 0 22.7 22.7 0 1 1 -45.3 0z\"]\n};\nvar faScribble = {\n prefix: 'far',\n iconName: 'scribble',\n icon: [512, 512, [], \"e23f\", \"M183.3 21.4C198.3 7.7 218 0 238.4 0h1C283.9 0 320 36.1 320 80.6c0 21.4-8.5 41.9-23.6 57L89.5 344.4c-6.1 6.1-9.5 14.4-9.5 23c0 18 14.6 32.6 32.6 32.6c8.6 0 16.9-3.4 23-9.5L374.5 151.6c15.1-15.1 35.6-23.6 57-23.6c44.5 0 80.6 36.1 80.6 80.6c0 21.4-8.5 41.9-23.6 57L384.2 369.8c-10.4 10.3-16.2 24.4-16.2 39c0 30.5 24.7 55.2 55.2 55.2h4.4c5.6 0 11.2-.9 16.6-2.7l36.2-12.1c12.6-4.2 26.2 2.6 30.4 15.2s-2.6 26.2-15.2 30.4l-36.2 12.1c-10.2 3.4-21 5.2-31.8 5.2h-4.4c-57 0-103.2-46.2-103.2-103.2c0-27.4 10.9-53.6 30.2-73L454.5 231.6c6.1-6.1 9.5-14.4 9.5-23c0-18-14.6-32.6-32.6-32.6c-8.6 0-16.9 3.4-23 9.5L169.5 424.4c-15.1 15.1-35.6 23.6-57 23.6C68.1 448 32 411.9 32 367.4c0-21.4 8.5-41.9 23.6-57L262.5 103.6c6.1-6.1 9.5-14.4 9.5-23c0-18-14.6-32.6-32.6-32.6h-1c-8.4 0-16.5 3.2-22.7 8.8L40.2 217.7c-9.8 9-25 8.3-33.9-1.5s-8.3-25 1.5-33.9L183.3 21.4z\"]\n};\nvar faRotateExclamation = {\n prefix: 'far',\n iconName: 'rotate-exclamation',\n icon: [512, 512, [], \"e23c\", \"M416.5 176c-23.6-25.7-42.6-46.5-63.3-62.8C326.4 92.1 298.2 80 256 80c-77.8 0-145.9 50.4-169.3 119.7c-4.2 12.6-17.9 19.3-30.4 15.1s-19.3-17.9-15.1-30.4C71.3 95.5 157.7 32 256 32c53.9 0 92.3 16.3 126.9 43.5c21.9 17.2 42.9 39.5 65.1 63.8V104c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h40.5zM280 152V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zM256 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM40 432c-13.3 0-24-10.7-24-24V312c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l3 3.3 0 0 0 0c22 24.3 39.8 43.9 59.4 59.6c26.1 21 53.6 33.1 95.8 33.1c77.8 0 145.9-50.4 169.3-119.7c4.2-12.6 17.9-19.3 30.4-15.1s19.3 17.9 15.1 30.4C440.7 416.5 354.3 480 256 480c-53.9 0-91.9-16.4-125.8-43.6c-22.1-17.7-43.4-41-66.2-66.2V408c0 13.3-10.7 24-24 24z\"]\n};\nvar faFileCircleCheck = {\n prefix: 'far',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm224-96a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlass = {\n prefix: 'far',\n iconName: 'glass',\n icon: [384, 512, [129371], \"f804\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM57.1 128L50.2 48H333.8l-6.9 80H57.1zm4.1 48H322.8L299.9 442.1C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9L61.2 176z\"]\n};\nvar faLoader = {\n prefix: 'far',\n iconName: 'loader',\n icon: [512, 512, [], \"e1d4\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zm0 384c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408zM0 256c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm408-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H408zM437 75c-9.4-9.4-24.6-9.4-33.9 0l-56.6 56.6c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L437 108.9c9.4-9.4 9.4-24.6 0-33.9zM165.5 380.4c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L75 403.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56.6-56.6zM75 75c-9.4 9.4-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L108.9 75c-9.4-9.4-24.6-9.4-33.9 0zM380.5 346.5c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L403.1 437c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56.6-56.6z\"]\n};\nvar faForward = {\n prefix: 'far',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M224 94c0-16.6 13.5-30 30-30c6.3 0 12.5 2 17.6 5.7L502.1 236.6c6.2 4.5 9.9 11.7 9.9 19.4s-3.7 14.9-9.9 19.4L271.7 442.3c-5.1 3.7-11.3 5.7-17.6 5.7c-16.6 0-30-13.4-30-30V318.9L47.3 442.6c-5.1 3.5-11.1 5.4-17.3 5.4C13.5 448 0 434.5 0 417.9V94.1C0 77.5 13.5 64 30.1 64c6.2 0 12.2 1.9 17.3 5.4L224 193.1V94zm0 157.7L48 128.5v255L224 260.3v-8.6zM447.1 256L272 129.2V382.8L447.1 256z\"]\n};\nvar faUserPilot = {\n prefix: 'far',\n iconName: 'user-pilot',\n icon: [448, 512, [], \"e2c0\", \"M217.9 .8c4-1.1 8.2-1.1 12.2 0l152 40c8.6 2.3 15.3 9.1 17.3 17.8s-1 17.8-7.8 23.6L368 102.5v8.4c0 10.7-5.3 20.8-15.1 25.2c-24.1 10.8-68.6 24-128.9 24s-104.8-13.2-128.9-24C85.3 131.7 80 121.6 80 110.9v-8.4L56.4 82.2c-6.8-5.8-9.8-14.9-7.8-23.6s8.7-15.6 17.3-17.8l152-40zM183.2 65.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c4.5 2.3 9.8 2.3 14.3 0l48-24c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L224 86.1 183.2 65.7zM98.1 168.8c14 5.4 28.5 9.9 43.3 13.4c-.4 3.2-.6 6.5-.6 9.8c0 46 37.2 83.2 83.2 83.2s83.2-37.2 83.2-83.2c0-3.3-.2-6.6-.6-9.8c14.8-3.6 29.3-8.1 43.3-13.4c1.4 7.5 2.1 15.3 2.1 23.2c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-7.9 .7-15.7 2.1-23.2zM50.9 464H188.5c-2.3-1.5-4.5-3.2-6.6-5.1l-65.2-57.1c-31.9 6.7-57.3 30.9-65.7 62.2zm346.1 0c-8.4-31.2-33.8-55.5-65.7-62.2l-65.2 57.1c-2.1 1.9-4.3 3.6-6.6 5.1H397.1zM126.5 352.2c3.9-.2 7.8 1.2 10.7 3.8l76.3 66.7c6 5.3 15 5.3 21.1 0l76.3-66.7c3-2.6 6.8-4.1 10.7-3.8C392.1 356.3 448 414.8 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4c0-71.6 55.9-130.1 126.5-134.2z\"]\n};\nvar faMobile = {\n prefix: 'far',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H80zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM160 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faCodePullRequestClosed = {\n prefix: 'far',\n iconName: 'code-pull-request-closed',\n icon: [512, 512, [], \"e3f9\", \"M144 80A32 32 0 1 0 80 80a32 32 0 1 0 64 0zm48 0c0 35.8-23.5 66.1-56 76.3V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V156.3C55.5 146.1 32 115.8 32 80C32 35.8 67.8 0 112 0s80 35.8 80 80zM112 464a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 48c-44.2 0-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V224c0-13.3 10.7-24 24-24s24 10.7 24 24V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80zM327 7c9.4-9.4 24.6-9.4 33.9 0l39 39L439 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-39 39 39 39c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L327 41c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFaceMeh = {\n prefix: 'far',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'far',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M120 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM24 168c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM96 320c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zM24 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faBookSkull = {\n prefix: 'far',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM48 432c0 17.7 14.3 32 32 32H368V400H80c-17.7 0-32 14.3-32 32zm0-73.3c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM288 195.2V208c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V195.2c-19.4-11.7-32-30.3-32-51.2c0-35.3 35.8-64 80-64s80 28.7 80 64c0 20.9-12.6 39.5-32 51.2zM224 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM128.8 234.9c2.8-8.4 11.9-12.9 20.2-10.1L240 255.1l90.9-30.3c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2L290.6 272l50.5 16.8c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1L240 288.9l-90.9 30.3c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2L189.4 272l-50.5-16.8c-8.4-2.8-12.9-11.9-10.1-20.2z\"]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M528 160V416c0 8.8-7.2 16-16 16H320c0-44.2-35.8-80-80-80H176c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V160H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faFaceDotted = {\n prefix: 'far',\n iconName: 'face-dotted',\n icon: [512, 512, [129765], \"e47f\", \"M256 0c-13.6 0-27 1.1-40 3.1c-13.1 2.1-22 14.3-20 27.4s14.3 22 27.4 20C234 48.9 244.9 48 256 48s22 .9 32.6 2.5c13.1 2.1 25.4-6.9 27.4-20s-6.9-25.4-20-27.4C283 1.1 269.6 0 256 0zM133.7 87.7c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3C83.8 64.7 64.7 83.8 48.9 105.5c-7.8 10.7-5.4 25.7 5.3 33.5s25.7 5.4 33.5-5.3c12.8-17.6 28.4-33.2 46.1-46.1zM406.5 48.9c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5c17.6 12.8 33.2 28.4 46 46.1c7.8 10.7 22.8 13.1 33.5 5.3s13.1-22.8 5.3-33.5c-15.8-21.7-34.9-40.8-56.6-56.6zM50.5 223.4c2.1-13.1-6.9-25.4-20-27.4s-25.4 6.9-27.4 20C1.1 229 0 242.4 0 256s1.1 27 3.1 40c2.1 13.1 14.3 22 27.4 20s22-14.3 20-27.4C48.9 278 48 267.1 48 256s.9-22 2.5-32.6zM508.9 216c-2.1-13.1-14.3-22-27.4-20s-22 14.3-20 27.4c1.7 10.6 2.5 21.5 2.5 32.6s-.9 22-2.5 32.6c-2.1 13.1 6.9 25.4 20 27.4s25.4-6.9 27.4-20c2.1-13.1 3.1-26.4 3.1-40s-1.1-27-3.1-40zM87.7 378.3c-7.8-10.7-22.8-13.1-33.5-5.3s-13.1 22.8-5.3 33.5c15.8 21.7 34.9 40.8 56.6 56.6c10.7 7.8 25.7 5.4 33.5-5.3s5.4-25.7-5.3-33.5c-17.6-12.8-33.2-28.4-46.1-46zm375.4 28.2c7.8-10.7 5.4-25.7-5.3-33.5s-25.7-5.4-33.5 5.3c-12.8 17.6-28.4 33.2-46 46c-10.7 7.8-13.1 22.8-5.3 33.5s22.8 13.1 33.5 5.3c21.7-15.8 40.8-34.9 56.6-56.6zm-239.7 55c-13.1-2.1-25.4 6.9-27.4 20s6.9 25.4 20 27.4c13.1 2.1 26.4 3.1 40 3.1s27-1.1 40-3.1c13.1-2.1 22-14.3 20-27.4s-14.3-22-27.4-20C278 463.1 267.1 464 256 464s-22-.9-32.6-2.5zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faFaceWorried = {\n prefix: 'far',\n iconName: 'face-worried',\n icon: [512, 512, [], \"e3a3\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM182.4 414.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 272a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faOutdent = {\n prefix: 'far',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64C0 50.7 10.7 40 24 40H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 88 0 77.3 0 64zM192 192c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24zm24 104H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 448c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM7 268.4C-.8 262-.8 250 7 243.6l94.8-78.1c10.4-8.6 26.2-1.2 26.2 12.4V334.1c0 13.5-15.7 20.9-26.2 12.4L7 268.4z\"]\n};\nvar faDedent = faOutdent;\nvar faHeartCircleExclamation = {\n prefix: 'far',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faHouse = {\n prefix: 'far',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM112 432V204.8L288 55.5 464 204.8V432c0 17.7-14.3 32-32 32H384V312c0-22.1-17.9-40-40-40H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32zm128 32V320h96V464H240z\"]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faVectorCircle = {\n prefix: 'far',\n iconName: 'vector-circle',\n icon: [512, 512, [], \"e2c6\", \"M232 88h48V40H232V88zM192 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V49.6c67.8 21 121.4 74.5 142.4 142.4H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H462.4c-21 67.8-74.5 121.4-142.4 142.4V480c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V462.4C124.2 441.4 70.6 387.8 49.6 320H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H49.6C70.6 124.2 124.2 70.6 192 49.6V32zM100.5 192.3C116 194.5 128 207.9 128 224v64c0 16.1-12 29.5-27.5 31.7c17 41.6 50.3 74.8 91.8 91.8C194.5 396 207.9 384 224 384h64c16.1 0 29.5 12 31.7 27.5c41.6-17 74.8-50.3 91.8-91.8C396 317.5 384 304.1 384 288V224c0-16.1 12-29.5 27.5-31.7c-17-41.6-50.3-74.8-91.8-91.8C317.5 116 304.1 128 288 128H224c-16.1 0-29.5-12-31.7-27.5c-41.6 17-74.8 50.3-91.8 91.8zM424 232v48h48V232H424zM232 424v48h48V424H232zM40 232v48H88V232H40z\"]\n};\nvar faCarCircleBolt = {\n prefix: 'far',\n iconName: 'car-circle-bolt',\n icon: [640, 512, [], \"e342\", \"M127.7 106.8L103.4 176H408.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H165.4c-17 0-32.1 10.7-37.8 26.8zm-79.6 82L82.3 90.9C94.7 55.6 128 32 165.4 32H346.6c37.4 0 70.7 23.6 83.1 58.9l34.3 97.9c2.6 1.5 5.2 3.2 7.6 4.9c-28.3 3.9-54.4 14.6-76.8 30.3H96c-26.5 0-48 21.5-48 48v80H320.7c-.5 5.3-.7 10.6-.7 16c0 10.9 1 21.6 2.9 32H48v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-35.6 19.3-66.6 48.1-83.2zM112 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm384-32a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faCalendarWeek = {\n prefix: 'far',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM112 256H336c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16z\"]\n};\nvar faFlyingDisc = {\n prefix: 'far',\n iconName: 'flying-disc',\n icon: [640, 512, [], \"e3a9\", \"M486.4 89.6c7.9 7.9 16.9 31.4 .6 80.4c-15.3 45.9-49.5 101-100.7 152.2S279.9 407.6 234 422.9c-49 16.3-72.5 7.3-80.4-.6c-5.6-5.6-11.8-19.2-9-44.3c19.9 19.2 45.3 20.8 62.5 18.9c18.1-2 36.3-8.8 52.8-17c33.6-16.6 70.7-44.5 105.1-78.9s62.2-71.5 78.9-105.1c8.2-16.6 14.9-34.7 17-52.8c1.9-17.2 .3-42.6-18.9-62.5c25.1-2.8 38.7 3.3 44.3 9zM201.2 175.4C104.3 281.9 67.6 404.2 119.7 456.3c55.3 55.3 189.8 10.5 300.5-100.2S575.6 111 520.3 55.7C468.2 3.6 345.9 40.3 239.5 137.1c-6.6 6-13.2 12.2-19.7 18.7c-6.5 6.5-12.7 13-18.6 19.6zm35.6 32.2c5.4-6 11.1-11.9 17-17.8c5.9-5.9 11.9-11.6 17.9-17c57.9-52.3 116.2-78.4 135.5-59.1c21.4 21.4-12.7 90.1-76.1 153.4s-132.1 97.4-153.4 76.1c-19.4-19.4 6.8-77.7 59.1-135.6z\"]\n};\nvar faLaptopMedical = {\n prefix: 'far',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M128 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V320h48V96c0-8.8 7.2-16 16-16zM50.7 400H589.3c-6.6 18.6-24.4 32-45.3 32H96c-20.9 0-38.7-13.4-45.3-32zM32 352c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H544c53 0 96-43 96-96c0-17.7-14.3-32-32-32H32zM288 144v48H240c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H352V144c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSquareDownRight = {\n prefix: 'far',\n iconName: 'square-down-right',\n icon: [448, 512, [], \"e26c\", \"M384 432c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384zm64-16c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416zM320 198.6V336c0 8.8-7.2 16-16 16H166.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16L184 280l-66.3-66.3C114 210 112 205.1 112 200s2-10 5.7-13.7l36.7-36.7c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 216l33.4-33.4c4.2-4.2 10-6.6 16-6.6c12.5 0 22.6 10.1 22.6 22.6z\"]\n};\nvar faB = {\n prefix: 'far',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M56 32C25.1 32 0 57.1 0 88V256 424c0 30.9 25.1 56 56 56H196c68.5 0 124-55.5 124-124c0-48.9-28.3-91.1-69.3-111.3c23-22.5 37.3-53.9 37.3-88.7c0-68.5-55.5-124-124-124H56zM164 232H48V88c0-4.4 3.6-8 8-8H164c42 0 76 34 76 76s-34 76-76 76zM48 280H164h28 4c42 0 76 34 76 76s-34 76-76 76H56c-4.4 0-8-3.6-8-8V280z\"]\n};\nvar faSeatAirline = {\n prefix: 'far',\n iconName: 'seat-airline',\n icon: [448, 512, [], \"e244\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V142.9c0 14.7 3.1 29.2 9.1 42.5L89.1 364c14.2 31.6 45.6 52 80.3 52H216v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H264V416h88c29.1 0 55.3-17.5 66.5-44.3l27.7-66.5c3.1-7.4 2.3-15.9-2.2-22.5S432 272 424 272H100.5L86.2 240H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H64.6L52.9 165.8c-3.2-7.2-4.9-15-4.9-22.9V24zm84.9 320.4L122 320H388l-13.8 33.2c-3.7 8.9-12.5 14.8-22.2 14.8H169.4c-15.8 0-30.1-9.3-36.5-23.6z\"]\n};\nvar faMoonOverSun = {\n prefix: 'far',\n iconName: 'moon-over-sun',\n icon: [512, 512, [\"eclipse-alt\"], \"f74a\", \"M361.3 1.8c7.5 3.1 12.9 9.8 14.4 17.8l18.1 98.5 98.5 18.1c8 1.5 14.7 6.9 17.8 14.4s2.2 16.1-2.4 22.8L450.9 256l56.9 82.5c4.6 6.7 5.5 15.3 2.4 22.8s-9.8 13-17.8 14.4l-98.5 18.1-18.1 98.5c-1.5 8-6.9 14.7-14.4 17.8s-16.1 2.2-22.8-2.4L256 450.9l-82.5 56.9c-6.7 4.6-15.3 5.5-22.8 2.4s-12.9-9.8-14.4-17.8l-18.1-98.5L19.7 375.7c-8-1.5-14.7-6.9-17.8-14.4s-2.2-16.1 2.4-22.8L61.1 256 4.2 173.5c-4.6-6.7-5.5-15.3-2.4-22.8s9.8-12.9 17.8-14.4l98.5-18.1 18.1-98.5c1.5-8 6.9-14.7 14.4-17.8s16.1-2.2 22.8 2.4L256 61.1 338.5 4.2c6.7-4.6 15.3-5.5 22.8-2.4zm-26.1 63L269.6 110c-8.2 5.7-19 5.7-27.2 0L176.8 64.8l-14.4 78.3c-1.8 9.8-9.5 17.5-19.3 19.3L64.8 176.8 110 242.4c5.7 8.2 5.7 19 0 27.2L64.8 335.2l78.3 14.4c9.8 1.8 17.5 9.5 19.3 19.3l14.4 78.3L242.4 402c8.2-5.7 19-5.7 27.2 0l65.6 45.2 14.4-78.3c1.8-9.8 9.5-17.5 19.3-19.3l78.3-14.4L402 269.6c-5.7-8.2-5.7-19 0-27.2l45.2-65.6-78.3-14.4c-9.8-1.8-17.5-9.5-19.3-19.3L335.2 64.8zM144 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm151.7 50.2C310.5 294.5 320 276.4 320 256c0-35.3-28.7-64-64-64c-.2 0-.4 0-.5 0c-12.3 12.2-19.9 29-19.9 47.5c0 34.4 26.2 62.9 60.1 66.7z\"]\n};\nvar faEclipseAlt = faMoonOverSun;\nvar faPipe = {\n prefix: 'far',\n iconName: 'pipe',\n icon: [64, 512, [], \"7c\", \"M32 0C45.3 0 56 10.7 56 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24C8 10.7 18.7 0 32 0z\"]\n};\nvar faFileMedical = {\n prefix: 'far',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm96 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPotato = {\n prefix: 'far',\n iconName: 'potato',\n icon: [512, 512, [129364], \"e440\", \"M464 144c0-53-43-96-96-96c-26.6 0-50.5 10.7-68 28.2C269.3 107 232 134.9 194 155.7c-16.1 8.8-29.4 22.1-38.2 38.2C134.9 232 107 269.3 76.2 300C58.7 317.5 48 341.4 48 368c0 53 43 96 96 96c20.2 0 38.9-6.2 54.3-16.8c31.8-21.9 67.9-39.9 104.3-52.2c29.5-10 53.5-34 62.1-66.1c11.5-42.8 36.5-84.4 68.8-114.7C452.4 196.6 464 171.7 464 144zm48 0c0 41.5-17.6 78.9-45.7 105.2c-25.8 24.2-46.1 57.9-55.2 92.1c-12.9 48.3-49 84.3-93.1 99.2c-32.3 10.9-64.4 26.9-92.5 46.2C202.4 502.7 174.3 512 144 512C64.5 512 0 447.5 0 368c0-39.8 16.2-75.9 42.3-102C69.8 238.6 95 205 113.6 170.9c13.2-24.1 33.1-44 57.3-57.3C205 95 238.6 69.8 266 42.3C292.1 16.2 328.2 0 368 0c79.5 0 144 64.5 144 144zM352 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM168 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-8 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faDiceOne = {\n prefix: 'far',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleA = {\n prefix: 'far',\n iconName: 'circle-a',\n icon: [512, 512, [], \"e0f7\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-400c-9.1 0-17.4 5.1-21.5 13.3l-104 208c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L190.8 320H321.2l17.4 34.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-104-208c-4.1-8.1-12.4-13.3-21.5-13.3zm0 77.7L297.2 272H214.8L256 189.7z\"]\n};\nvar faHelmetBattle = {\n prefix: 'far',\n iconName: 'helmet-battle',\n icon: [576, 512, [], \"f6eb\", \"M80 17.1L65.1 225.7c-1.2 17-15.4 30.2-32.5 30.2H30.4C13.6 256 0 242.4 0 225.6c0-2.3 .3-4.6 .8-6.8L48.4 12.4c1.9-8.1 9.7-13.5 18-12.2s14.2 8.6 13.6 17zM75.5 420.5c-9.2-5.6-13.5-16.7-10.6-27.1C81.9 333.6 96 270.2 96 208c0-85 89.1-149.2 153.1-189c1.9-1.2 4-2.6 6.3-4.1C264.8 8.4 277.3 0 288 0s23.2 8.4 32.7 14.9c2.3 1.5 4.4 3 6.3 4.1C390.9 58.8 480 123 480 208c0 62.2 14.1 125.6 31.1 185.4c3 10.4-1.4 21.4-10.6 27.1L316.8 506c-8.5 3.9-17.7 6-27 6h-3.7c-9.3 0-18.6-2-27-6L75.5 420.5zM312 455.3l147.4-68.7C444.4 330.7 432 269.5 432 208c0-25-13.1-50.9-39.2-78.3c-26-27.1-60-50.6-91.2-70c-2.7-1.7-5.9-3.9-8.3-5.4l-1.5-1c-1.4-1-2.7-1.8-3.9-2.5c-1.2 .7-2.4 1.6-3.9 2.5l-1.5 1c-2.3 1.6-5.5 3.7-8.3 5.4c-31.2 19.4-65.2 42.9-91.2 70C157.1 157.1 144 183 144 208c0 61.5-12.4 122.7-27.4 178.7L264 455.3V299.2c0-6.7-4.2-12.7-10.5-15l-65.1-23.7c-7.4-2.7-12.4-9.8-12.4-17.7c0-10.4 8.4-18.8 18.8-18.8H381.2c10.4 0 18.8 8.4 18.8 18.8c0 7.9-5 15-12.4 17.7l-65.1 23.7c-6.3 2.3-10.5 8.3-10.5 15V455.3zM509.6 .2c8.3-1.2 16.1 4.1 18 12.2l47.6 206.4c.5 2.2 .8 4.5 .8 6.8c0 16.8-13.6 30.4-30.4 30.4h-2.2c-17.1 0-31.3-13.2-32.5-30.2L496 17.1c-.6-8.3 5.3-15.7 13.6-17z\"]\n};\nvar faButter = {\n prefix: 'far',\n iconName: 'butter',\n icon: [640, 512, [129480], \"e3e4\", \"M464 112V288H416V112H128c-8.8 0-16 7.2-16 16V288H64V128c0-35.3 28.7-64 64-64H416h24 24 48c35.3 0 64 28.7 64 64V288H528V128c0-8.8-7.2-16-16-16H464zM0 344c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v48c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V368H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBlanketFire = {\n prefix: 'far',\n iconName: 'blanket-fire',\n icon: [640, 512, [], \"e3da\", \"M48 112c0-35.3 28.7-64 64-64H336c35.3 0 64 28.7 64 64v39.4c4.1-3.9 8.2-7.7 12.5-11.5c10-8.9 23-12.8 35.5-11.7V112C448 50.1 397.9 0 336 0H112C50.1 0 0 50.1 0 112V336c0 61.9 50.1 112 112 112H314.4c-8.7-14.9-15.4-31-19.9-48H112c-35.3 0-64-28.7-64-64s28.7-64 64-64H309c4.9-10 10.3-19.8 16.2-29.3c3.8-6.2 7.9-12.5 12.3-18.7H112c-23.8 0-45.9 7.4-64 20.1V112zM288 350.1c0-12.4 2-25.2 5.6-38.1H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H288.3c-.2-3.3-.3-6.6-.3-9.9zM453.5 163.8c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6C320 439.9 390.3 512 480 512c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 433c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faKiwiBird = {\n prefix: 'far',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M266.4 347.3c31.2-18.9 74.9-43.3 125.9-43.3H448c44.2 0 80-35.8 80-80s-35.8-80-80-80H392.3c-51 0-94.7-24.4-125.9-43.3C244.7 87.6 219.3 80 192 80C112.5 80 48 144.5 48 224s64.5 144 144 144c27.3 0 52.7-7.6 74.4-20.7zM392.3 352c-36.4 0-69.9 17.6-101.1 36.4c-11.1 6.7-22.9 12.3-35.2 16.7V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V415.3c-5.3 .4-10.6 .7-16 .7c-16.6 0-32.7-2.1-48-6v46c0 13.3-10.7 24-24 24s-24-10.7-24-24V390.3C38.6 357.1 0 295.1 0 224C0 118 86 32 192 32c36.3 0 70.3 10.1 99.2 27.6C322.4 78.4 355.9 96 392.3 96H448c70.7 0 128 57.3 128 128V464c0 7.3-4.9 13.7-12 15.5s-14.5-1.3-18-7.7L477.6 348.6c-9.5 2.2-19.4 3.4-29.6 3.4H392.3zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCastle = {\n prefix: 'far',\n iconName: 'castle',\n icon: [640, 512, [], \"e0de\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 39.8 32.2 72 72 72H568c39.8 0 72-32.2 72-72V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H512V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H400V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H288V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zm0 88H464V224H176V112zM48 272H592V440c0 13.3-10.7 24-24 24H384V384c0-35.3-28.7-64-64-64s-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V272z\"]\n};\nvar faGolfClub = {\n prefix: 'far',\n iconName: 'golf-club',\n icon: [512, 512, [], \"f451\", \"M498.7 2.5c11.9 5.9 16.7 20.3 10.7 32.2L290.7 472.2c-12.2 24.4-37.1 39.8-64.4 39.8H56c-30.9 0-56-25.1-56-56V347.1c0-37.6 36.3-64.5 72.2-53.6L293 360.4 466.5 13.3c5.9-11.9 20.3-16.7 32.2-10.7zM271.2 404L58.3 339.5c-5.1-1.6-10.3 2.3-10.3 7.7V368H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H48v16H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H48v8c0 4.4 3.6 8 8 8H226.3c9.1 0 17.4-5.1 21.5-13.3L271.2 404z\"]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'far',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M103 497c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55L424 408c13.3 0 24-10.7 24-24s-10.7-24-24-24L81.9 360l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 367c-9.4 9.4-9.4 24.6 0 33.9l96 96zM441 145c9.4-9.4 9.4-24.6 0-33.9L345 15c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55L24 104c-13.3 0-24 10.7-24 24s10.7 24 24 24l342.1 0-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l96-96z\"]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'far',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M371.2 122.9C340.3 96.2 300 80 256 80C158.8 80 80 158.8 80 256s78.8 176 176 176c39.7 0 76.2-13.1 105.6-35.2c10.6-8 25.6-5.8 33.6 4.8s5.8 25.6-4.8 33.6C353 463.3 306.4 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32c57.3 0 109.6 21.5 149.2 56.9l30.5-30.5c6.6-6.6 15.6-10.3 25-10.3C480.2 48 496 63.8 496 83.3V200c0 13.3-10.7 24-24 24H355.3c-19.5 0-35.3-15.8-35.3-35.3c0-9.4 3.7-18.3 10.3-25l40.8-40.8zm76.8-9L385.9 176H448V113.9z\"]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'far',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M71.9 26.7c1.5-13.2-8-25-21.2-26.5s-25 8-26.5 21.2l-16 144L8 166.7V168v16c0 48.6 39.4 88 88 88h8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V272h8c48.6 0 88-39.4 88-88V168v-1.3l-.1-1.3-16-144C230.4 8.2 218.5-1.3 205.3 .1s-22.7 13.3-21.2 26.5L200 169.3V184c0 22.1-17.9 40-40 40H128 96c-22.1 0-40-17.9-40-40V169.3L71.9 26.7zM152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM336 176c0-57.7 21.7-88.6 41.4-105.7c7.7-6.6 15.5-11.6 22.6-15.2V248v56H352c-8.8 0-16-7.2-16-16V176zm64 176V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352 304 248 32c0-17.7-14.3-32-32-32C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h48z\"]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'far',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M111 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L49 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM312 480c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H312zm0-128c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H312zm0-128c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312zm0-128c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H312z\"]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faChartPieSimpleCircleDollar = {\n prefix: 'far',\n iconName: 'chart-pie-simple-circle-dollar',\n icon: [640, 512, [], \"e605\", \"M496 192c-46.8 0-89.3 18.2-120.8 48H272V16.6c0-9 7-16.6 16-16.6C401 0 494.5 83.7 509.8 192.5c-4.6-.4-9.2-.5-13.8-.5zM272 288h67.2c-7.6 14.9-13.2 31-16.3 48H224c-26.5 0-48-21.5-48-48V90.9C101.4 117.3 48 188.4 48 272c0 106 86 192 192 192c34.5 0 66.9-9.1 94.9-25c6.5 14.8 15 28.6 25.2 40.9C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V240v48h48zm80 80a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faBalloons = {\n prefix: 'far',\n iconName: 'balloons',\n icon: [640, 512, [], \"e2e4\", \"M272 160c0-61.9-50.1-112-112-112S48 98.1 48 160c0 31.6 15.3 65.1 38.2 96.6c22.5 30.8 48.7 54.8 62.4 66.3c4.4 3.7 8.2 7.9 11.4 12.5c3.2-4.6 7-8.8 11.4-12.5c13.7-11.5 39.9-35.5 62.4-66.3c23-31.5 38.2-65 38.2-96.6zM112 400l10-20.1c3.5-6.9 1.6-15.3-4.4-20.3C87.2 334 0 252.5 0 160C0 71.6 71.6 0 160 0s160 71.6 160 160c0 92.5-87.2 174-117.7 199.7c-5.9 5-7.8 13.4-4.4 20.3L208 400l.1 .1 3 6 11.6 23.2c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H185.2h-6.7-.1H141.7h-.1-6.7 0H108.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8l11.6-23.2 3-6 .1-.1zm48-264c-13.3 0-24 10.7-24 24s-10.7 24-24 24s-24-10.7-24-24c0-39.8 32.2-72 72-72c13.3 0 24 10.7 24 24s-10.7 24-24 24zM437.7 423.7c-26.2-22.1-94.5-85.6-113-161.8C340.5 231.8 352 197.2 352 160c0-9.9-.7-19.6-2.2-29c29-40.5 76.5-67 130.2-67c88.4 0 160 71.6 160 160c0 92.5-87.2 174-117.7 199.7c-5.9 5-7.8 13.4-4.4 20.3L528 464l.1 .1 3 6 11.6 23.2c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H505.2h-6.7-.1H461.7h-.1-6.7H428.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8l11.6-23.2 3-6 .1-.1 10-20.1c3.5-6.9 1.6-15.3-4.4-20.3zM480 112c-61.9 0-112 50.1-112 112c0 31.6 15.3 65.1 38.2 96.6c22.5 30.8 48.7 54.8 62.4 66.3c4.4 3.7 8.2 7.9 11.4 12.5c3.2-4.6 7-8.8 11.4-12.5c13.7-11.5 39.9-35.5 62.4-66.3c23-31.5 38.2-65 38.2-96.6c0-61.9-50.1-112-112-112zM456 224c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-39.8 32.2-72 72-72c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24 10.7-24 24z\"]\n};\nvar faMillSign = {\n prefix: 'far',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M302.4 32.5c4.7-12.4-1.5-26.3-13.9-31s-26.3 1.5-31 13.9l-36.1 95.3c-11.3 6.6-21.2 15.2-29.4 25.3C172.2 111.6 141.9 96 108 96c-22.5 0-43.3 6.9-60.6 18.6C44.9 103.9 35.4 96 24 96C10.7 96 0 106.7 0 120v80H.1c0 1.3-.1 2.7-.1 4V424c0 13.3 10.7 24 24 24s24-10.7 24-24V204c0-33.1 26.9-60 60-60s60 26.9 60 60v47.6L81.6 479.5c-4.7 12.4 1.5 26.3 13.9 31s26.3-1.5 31-13.9L168 386.9V416v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8V260.4l43.3-114c5.3-1.5 10.9-2.4 16.7-2.4c33.1 0 60 26.9 60 60V424c0 13.3 10.7 24 24 24s24-10.7 24-24V204c0-58.9-47.1-106.7-105.7-108l24.1-63.5z\"]\n};\nvar faBowlRice = {\n prefix: 'far',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 56c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H200c-13.3 0-24 10.7-24 24zm24 48c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H200zM56 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm88.7 244.6c-4-13.5-13.8-24.6-26.8-30.3C82.7 374.9 56.7 342.7 49.8 304H462.2c-6.9 38.7-32.9 70.9-68.1 86.3c-12.9 5.7-22.7 16.7-26.8 30.3c-2 6.6-8.2 11.4-15.3 11.4H160c-7.2 0-13.4-4.8-15.3-11.4zM27.4 256C12.3 256 0 268.3 0 283.4c0 67.4 40.6 125.4 98.6 150.8C106.5 460.7 131 480 160 480H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4zM224 200c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zm-96 0c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H152c-13.3 0-24 10.7-24 24zm-24-96c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H104zm216 96c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zm-24-96c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H296zm120 96c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H440c-13.3 0-24 10.7-24 24zm-24-96c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H392zM296 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H296z\"]\n};\nvar faTimelineArrow = {\n prefix: 'far',\n iconName: 'timeline-arrow',\n icon: [640, 512, [], \"e29d\", \"M160 96A32 32 0 1 0 96 96a32 32 0 1 0 64 0zm48 0c0 35.8-23.5 66.1-56 76.3V232H328V172.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V232H554.6l-58.9-54.4c-9.7-9-10.3-24.2-1.4-33.9s24.2-10.3 33.9-1.4l103.9 95.9c.1 .1 .3 .3 .4 .4c.3 .3 .6 .6 .9 .9c4 4.3 6.5 10.1 6.5 16.4s-2.5 12.1-6.5 16.4c-.3 .3-.6 .6-.9 .9c-.1 .1-.3 .3-.4 .4L528.3 369.6c-9.7 9-24.9 8.4-33.9-1.4s-8.4-24.9 1.4-33.9L554.6 280H248v59.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V172.3C71.5 162.1 48 131.8 48 96c0-44.2 35.8-80 80-80s80 35.8 80 80zM192 416a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM352 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSkull = {\n prefix: 'far',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M368 400c-.4-16 7.3-31.2 20.4-40.4C436.1 326.2 464 276.9 464 224c0-91.4-86.9-176-208-176S48 132.6 48 224c0 52.9 27.9 102.2 75.6 135.6c13.1 9.2 20.8 24.4 20.4 40.4l0 0v64h48V440c0-13.3 10.7-24 24-24s24 10.7 24 24v24h32V440c0-13.3 10.7-24 24-24s24 10.7 24 24v24h48V400l0 0zm48-1.1c0 .4 0 .7 0 1.1v64c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V400c0-.4 0-.7 0-1.1C37.5 357.8 0 294.7 0 224C0 100.3 114.6 0 256 0S512 100.3 512 224c0 70.7-37.5 133.8-96 174.9zM112 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm232-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faGameBoardSimple = {\n prefix: 'far',\n iconName: 'game-board-simple',\n icon: [448, 512, [\"game-board-alt\"], \"f868\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm16 80V256H224V112H80zM224 256V400H368V256H224z\"]\n};\nvar faGameBoardAlt = faGameBoardSimple;\nvar faCircleVideo = {\n prefix: 'far',\n iconName: 'circle-video',\n icon: [512, 512, [\"video-circle\"], \"e12b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144-56c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24V312c0 13.3-10.7 24-24 24H168c-13.3 0-24-10.7-24-24V200zM364.9 317.9L320 288V224l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V307.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nvar faVideoCircle = faCircleVideo;\nvar faChartScatterBubble = {\n prefix: 'far',\n iconName: 'chart-scatter-bubble',\n icon: [512, 512, [], \"e0e9\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM176 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm200 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM240 128a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm168 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHouseTurret = {\n prefix: 'far',\n iconName: 'house-turret',\n icon: [640, 512, [], \"e1b4\", \"M56 48c-4.4 0-8 3.6-8 8V203.8c0 2 .7 3.9 2 5.3l55.9 62.9c3.9 4.4 6.1 10.1 6.1 15.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V297.1L14.1 241C5 230.8 0 217.5 0 203.8V56C0 25.1 25.1 0 56 0H296c30.9 0 56 25.1 56 56v68.6l-48 44V56c0-4.4-3.6-8-8-8H256V88c0 13.3-10.7 24-24 24s-24-10.7-24-24V48H144V88c0 13.3-10.7 24-24 24s-24-10.7-24-24V48H56zm120 96c22.1 0 40 17.9 40 40v40c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V184c0-22.1 17.9-40 40-40zm100.8 93l128-117.3c24.5-22.4 62-22.4 86.5 0L619.2 237c13.2 12.1 20.8 29.2 20.8 47.2V448c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V284.2c0-17.9 7.5-35.1 20.8-47.2zM304 284.2V448c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V284.2c0-4.5-1.9-8.8-5.2-11.8L458.8 155c-6.1-5.6-15.5-5.6-21.6 0l-128 117.3c-3.3 3-5.2 7.3-5.2 11.8zM400 296c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H424c-13.3 0-24-10.7-24-24V296z\"]\n};\nvar faBanana = {\n prefix: 'far',\n iconName: 'banana',\n icon: [576, 512, [], \"e2e5\", \"M352 144c0 46.7-10.5 90.9-29.3 130.4l-25.3-20.2c-4.4-3.5-9.1-6.8-13.9-9.8C296.7 213.6 304 179.7 304 144c0-31.4-5.6-61.3-15.9-89c-9.5-25.5 8.6-55 38-55c9.8 0 19.5 3.6 27 10.4C411.4 63.1 448 139.3 448 224c0 10.9-.6 21.6-1.8 32.1c-10.9 .4-21.7 2.1-32.3 4.9l-17.6 4.7c2.4-13.5 3.6-27.5 3.6-41.7c0-59.5-21.7-114-57.6-156c6.2 24.3 9.6 49.7 9.6 76zM211.3 304c-12.5 0-24.7 4.1-34.7 11.6l-42.2 31.6c-10.6 8-25.6 5.8-33.6-4.8s-5.8-25.6 4.8-33.6l42.2-31.6c18.3-13.7 40.6-21.2 63.5-21.2c24 0 47.4 8.2 66.1 23.2l48.1 38.5h0l96.7-25.8h0c6.1-1.6 12.3-2.7 18.5-3.4l0 0c3.7-.4 7.5-.6 11.3-.6c40.7 0 78.4 21.3 99.3 56.2l21.3 35.4c6.8 11.4 3.1 26.1-8.2 32.9s-26.1 3.1-32.9-8.2l-21.3-35.4C497.9 348.5 475.8 336 452 336c-5.9 0-11.8 .8-17.5 2.3l-11.5 3.1C378.2 441.9 277.3 512 160 512L48 512c-26.5 0-48-21.5-48-48V448c0-26.5 21.5-48 48-48c77 0 146.1-34 193-87.8c-8.9-5.3-19.2-8.2-29.7-8.2z\"]\n};\nvar faHandHoldingSkull = {\n prefix: 'far',\n iconName: 'hand-holding-skull',\n icon: [576, 512, [], \"e1a4\", \"M192 128c0 29.9 20.4 58.1 53.8 71.8c9.9 4.1 15.9 14.2 14.7 24.9L258.8 240h58.4l-1.7-15.3c-1.2-10.6 4.8-20.8 14.7-24.9C363.6 186.1 384 157.9 384 128c0-41.1-39.6-80-96-80s-96 38.9-96 80zM288 0c76.2 0 144 54.2 144 128c0 46.7-27.7 86.1-66.9 108.2l2.8 25.2c.8 6.8-1.4 13.6-6 18.7s-11.1 8-17.9 8H232c-6.8 0-13.3-2.9-17.9-8s-6.7-11.9-6-18.7l2.8-25.2C171.7 214.1 144 174.7 144 128C144 54.2 211.8 0 288 0zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4zM224 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM328 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPeopleDress = {\n prefix: 'far',\n iconName: 'people-dress',\n icon: [640, 512, [], \"e217\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM267.1 299.8l-47.9-84.6 46.3 148c3.2 10.3-4.5 20.8-15.3 20.8H224V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H144V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H69.8c-10.8 0-18.5-10.5-15.3-20.8l46.3-148L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5c19.8-35 56.9-56.6 97.1-56.6s77.3 21.6 97.1 56.6l51.8 91.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1zM206.7 336L160 186.5 113.3 336h93.4zM480 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM587.1 299.8l-47.9-84.6 46.3 148c3.2 10.3-4.5 20.8-15.3 20.8H544V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H464V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H389.8c-10.8 0-18.5-10.5-15.3-20.8l46.3-148-47.9 84.6c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5c19.8-35 56.9-56.6 97.1-56.6s77.3 21.6 97.1 56.6l51.8 91.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1zM526.7 336L480 186.5 433.3 336h93.4z\"]\n};\nvar faLoveseat = {\n prefix: 'far',\n iconName: 'loveseat',\n icon: [512, 512, [\"couch-small\"], \"f4cc\", \"M176 80H336c44.2 0 80 35.8 80 80v34.8c7.7-1.8 15.7-2.8 24-2.8s16.3 1 24 2.8V160c0-70.7-57.3-128-128-128H176C105.3 32 48 89.3 48 160v34.8c7.7-1.8 15.7-2.8 24-2.8s16.3 1 24 2.8V160c0-44.2 35.8-80 80-80zM462.5 227.6c-7.1-2.3-14.6-3.6-22.5-3.6c-9.5 0-18.5 1.8-26.8 5.2c-24.1 9.7-41.8 32-44.7 58.8H143.6c-3-26.8-20.6-49.1-44.7-58.8C90.5 225.8 81.5 224 72 224c-7.9 0-15.4 1.3-22.5 3.6C20.7 237 0 264.1 0 296V432c0 26.5 21.5 48 48 48H96c20.9 0 38.7-13.4 45.3-32H370.7c6.6 18.6 24.4 32 45.3 32h48c26.5 0 48-21.5 48-48V296c0-31.9-20.7-59-49.5-68.4zM368 400H144V336h32H336h32v64zM96 400v32H48l0-136c0-13.3 10.7-24 24-24s24 10.7 24 24v40 64zM464 296V432H416V296c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCouchSmall = faLoveseat;\nvar faTowerBroadcast = {\n prefix: 'far',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M54.8 1.9C42.6-3.4 28.5 2.3 23.3 14.4C8.3 49.3 0 87.7 0 128s8.3 78.7 23.3 113.6c5.2 12.2 19.3 17.8 31.5 12.6s17.8-19.3 12.6-31.5C54.9 193.6 48 161.6 48 128s6.9-65.6 19.4-94.6C72.6 21.2 67 7.1 54.8 1.9zm466.4 0C509 7.1 503.4 21.2 508.6 33.4c12.5 29 19.4 61 19.4 94.6s-6.9 65.6-19.4 94.6c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6c15-34.9 23.3-73.3 23.3-113.6s-8.3-78.7-23.3-113.6C547.5 2.3 533.4-3.4 521.2 1.9zM312 187.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 26.9 16.5 49.9 40 59.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V187.3zM166.5 87.6c4.2-12.6-2.6-26.2-15.2-30.3S125.1 59.8 121 72.4c-5.8 17.5-9 36.2-9 55.6s3.1 38.1 9 55.6c4.2 12.6 17.8 19.4 30.3 15.2s19.4-17.8 15.2-30.3c-4.2-12.7-6.5-26.3-6.5-40.4s2.3-27.7 6.5-40.4zM455 72.4c-4.2-12.6-17.8-19.4-30.3-15.2s-19.4 17.8-15.2 30.3c4.2 12.7 6.5 26.3 6.5 40.4s-2.3 27.7-6.5 40.4c-4.2 12.6 2.6 26.2 15.2 30.3s26.2-2.6 30.3-15.2c5.8-17.5 9-36.2 9-55.6s-3.1-38.1-9-55.6z\"]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'far',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M272 88v88H446.9L374.7 83.1c-1.5-1.9-3.8-3.1-6.3-3.1H280c-4.4 0-8 3.6-8 8zM412.6 53.6L507.7 176H552c30.9 0 56 25.1 56 56v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H560h-1.3c.9 5.2 1.3 10.5 1.3 16c0 53-43 96-96 96s-96-43-96-96c0-5.5 .5-10.8 1.3-16H270.7c.9 5.2 1.3 10.5 1.3 16c0 53-43 96-96 96s-96-43-96-96c0-5.5 .5-10.8 1.3-16H80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V232c0-30.9 25.1-56 56-56H224V88c0-30.9 25.1-56 56-56h88.3c17.3 0 33.6 8 44.2 21.6zM96 320h8.4c17.6-19.6 43.1-32 71.6-32s54 12.4 71.6 32H256 384h8.4c17.6-19.6 43.1-32 71.6-32s54 12.4 71.6 32H544h16V232c0-4.4-3.6-8-8-8H496.2h-.5H248 88c-4.4 0-8 3.6-8 8v88H96zm128 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm240 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faBlockQuote = {\n prefix: 'far',\n iconName: 'block-quote',\n icon: [448, 512, [], \"e0b5\", \"M24 72C10.7 72 0 82.7 0 96s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM152 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM128 416c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H152c-13.3 0-24 10.7-24 24zM0 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-176c0-13.3-10.7-24-24-24s-24 10.7-24 24V424z\"]\n};\nvar faUpLong = {\n prefix: 'far',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M143.6 6.5c9.2-8.7 23.7-8.7 32.9 0l129 121.4c9.3 8.8 14.6 21 14.6 33.7c0 25.6-20.7 46.3-46.3 46.3H240V456c0 30.9-25.1 56-56 56H136c-30.9 0-56-25.1-56-56V208H46.3C20.7 208 0 187.3 0 161.7c0-12.8 5.3-25 14.6-33.7L143.6 6.5zM50.5 160H104c13.3 0 24 10.7 24 24V456c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V184c0-13.3 10.7-24 24-24h53.5L160 57 50.5 160z\"]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'far',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCodeMerge = {\n prefix: 'far',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm24.7 108.1C136.8 145.7 160 115.6 160 80c0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3V355.7C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V254.9c27.2 25.5 63.8 41.1 104 41.1h83.7c10.2 32.5 40.5 56 76.3 56c44.2 0 80-35.8 80-80s-35.8-80-80-80c-35.8 0-66.1 23.5-76.3 56H208c-53.3 0-97.3-40.2-103.3-91.9zM80 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM336 272a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMoneyCheckDollarPen = {\n prefix: 'far',\n iconName: 'money-check-dollar-pen',\n icon: [640, 512, [\"money-check-edit-alt\"], \"f873\", \"M512 112H64c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H348.3c-5.6 7.1-9.6 15.3-11.8 24.1l-6 23.9H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64.6c-15.2 2-29.8 8.8-41.4 20.5l-6.6 6.6V128c0-8.8-7.2-16-16-16zM256 296c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24zm24-120H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24zM160 132c11 0 20 9 20 20v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20zM613.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM375.9 417L505.1 287.8l71 71L446.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faMoneyCheckEditAlt = faMoneyCheckDollarPen;\nvar faUpFromLine = {\n prefix: 'far',\n iconName: 'up-from-line',\n icon: [384, 512, [\"arrow-alt-from-bottom\"], \"f346\", \"M82.2 192L192 82 301.8 192H248c-13.3 0-24 10.7-24 24V336H160V216c0-13.3-10.7-24-24-24H82.2zM192 32c-11.5 0-22.5 4.6-30.6 12.7L45.6 160.8C36.9 169.5 32 181.3 32 193.6C32 219.2 52.8 240 78.4 240H112v96c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V240h33.6c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L222.6 44.7C214.5 36.6 203.5 32 192 32zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faArrowAltFromBottom = faUpFromLine;\nvar faUpload = {\n prefix: 'far',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M280 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-95 95c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 7c9.4-9.4 24.6-9.4 33.9 0L409 143c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-95-95V360zm32-8V304H448c35.3 0 64 28.7 64 64v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368c0-35.3 28.7-64 64-64H200v48H64c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H312zm72 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faHurricane = {\n prefix: 'far',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M48 208C48 133.5 99 70.8 168 53v52.4c0 21.2 16 37.1 34.6 40.2C278.3 158.3 336 224.1 336 303.4c0 74.5-51 137.2-120 155V406c0-21.2-16-37.1-34.6-40.2C105.7 353.1 48 287.3 48 208zM216 42.1c0-22.7-20.1-43.4-45.6-38.7C73.5 21.1 0 105.9 0 208C0 309.2 72.3 393.5 168 412.2v57.1c0 22.7 20.1 43.4 45.6 38.7C310.5 490.3 384 405.4 384 303.4c0-101.2-72.3-185.5-168-204.2V42.1zM176 256a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faGridRound2Plus = {\n prefix: 'far',\n iconName: 'grid-round-2-plus',\n icon: [512, 512, [], \"e5dc\", \"M80 128a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM80 384a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM384 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM384 272c13.3 0 24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H408v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V408H296c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V296c0-13.3 10.7-24 24-24z\"]\n};\nvar faPeoplePants = {\n prefix: 'far',\n iconName: 'people-pants',\n icon: [640, 512, [], \"e219\", \"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H144V176.1c.7 0 1.5-.1 2.3-.1zM144 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L250.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H146.3c-31.7 0-61 17.1-76.6 44.7L11.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L96 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H464V176.1c.7 0 1.5-.1 2.3-.1zM464 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L570.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H466.3c-31.7 0-61 17.1-76.6 44.7L331.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L416 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMound = {\n prefix: 'far',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M485 368H91l94.8-164.9c21-36.6 60-59.1 102.2-59.1s81.2 22.6 102.2 59.1L485 368zM288 96c-59.4 0-114.2 31.7-143.9 83.2L35.6 368c-12.3 21.3 3.1 48 27.7 48H512.7c24.6 0 40-26.6 27.7-48L431.9 179.2C402.2 127.7 347.4 96 288 96z\"]\n};\nvar faWindsock = {\n prefix: 'far',\n iconName: 'windsock',\n icon: [512, 512, [], \"f777\", \"M24 0C37.3 0 48 10.7 48 24V96h80V87.4c0-20.3 18.7-35.5 38.5-31.3l320 66.7c14.8 3.1 25.5 16.2 25.5 31.3V262c0 15.2-10.6 28.2-25.5 31.3L166.5 360c-19.9 4.1-38.5-11-38.5-31.3V320H48V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 120 24C0 10.7 10.7 0 24 0zM48 144V272h80V144H48zM416 259l48-10V167l-48-10V259zm-48 10V147l-80-16.7V285.6L368 269zM240 295.6V120.4L176 107V309l64-13.3z\"]\n};\nvar faCircleHalf = {\n prefix: 'far',\n iconName: 'circle-half',\n icon: [512, 512, [], \"e110\", \"M208 53.6C116.3 75.2 48 157.7 48 256s68.3 180.8 160 202.4V53.6zM224.1 2C241.6-.2 256 14.3 256 32V480c0 17.7-14.4 32.2-31.9 30C97.8 494.3 0 386.6 0 256S97.8 17.7 224.1 2z\"]\n};\nvar faBrakeWarning = {\n prefix: 'far',\n iconName: 'brake-warning',\n icon: [640, 512, [], \"e0c7\", \"M320 80a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM83.9 75.8c-11.1-7.2-26-4-33.2 7.2C18.6 132.9 0 192.3 0 256s18.6 123.1 50.7 173c7.2 11.1 22 14.4 33.2 7.2s14.4-22 7.2-33.2C63.8 360.6 48 310.2 48 256s15.8-104.6 43.1-147c7.2-11.1 4-26-7.2-33.2zm472.2 0c-11.1 7.2-14.4 22-7.2 33.2c27.3 42.4 43.1 92.8 43.1 147s-15.8 104.6-43.1 147c-7.2 11.1-4 26 7.2 33.2s26 4 33.2-7.2C621.4 379.1 640 319.7 640 256s-18.6-123.1-50.7-173c-7.2-11.1-22-14.4-33.2-7.2zM320 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faToiletPortable = {\n prefix: 'far',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M48 72V96H272V72c0-13.3-10.7-24-24-24H72C58.7 48 48 58.7 48 72zm0 72V432H272V320H248c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24h24V144H48zm0 336v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V72C0 32.2 32.2 0 72 0H248c39.8 0 72 32.2 72 72V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48z\"]\n};\nvar faCompactDisc = {\n prefix: 'far',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0-120a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM241.8 128.8c8.8-1 15.1-8.9 14.1-17.7s-8.9-15.1-17.7-14.1C164.1 105.2 105.2 164.1 97 238.2c-1 8.8 5.4 16.7 14.1 17.7s16.7-5.4 17.7-14.1c6.6-59.3 53.7-106.4 113-113z\"]\n};\nvar faFileArrowDown = {\n prefix: 'far',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 232c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V232z\"]\n};\nvar faFileDownload = faFileArrowDown;\nvar faSaxophoneFire = {\n prefix: 'far',\n iconName: 'saxophone-fire',\n icon: [640, 512, [\"sax-hot\"], \"f8db\", \"M109.5 2.6c13.8 12.4 26.8 25.9 38.8 40.4c5.5-6.9 11.8-14.5 18.5-20.7c3.9-3.6 10.1-3.6 14 0c17.3 15.9 31.9 36.9 42.3 56.8c10.2 19.6 16.9 41.2 16.9 55.3c0 14.6-2.8 28.6-8 41.5H176.8c8.9-15.4 9.3-35.4 .2-52.1c-1.4-2.8-2.8-5.6-4.9-8.4l-25.2 29.4s-40.6-51.8-43.4-55.3C82.5 115.5 72 130.2 72 147c0 11.2 2.7 21 7.5 29H23.9c-5.1-12.9-7.9-26.9-7.9-41.5C16 116 24.9 92 38.7 69.7c14-22.7 33.7-46.3 57-67.1c2-1.8 4.5-2.6 7-2.6c2.5 0 4.9 .9 6.9 2.6zM0 232c0-13.3 10.7-24 24-24H40 232h16c13.3 0 24 10.7 24 24c0 13-10.3 23.6-23.2 24l-21.2 58.3L318 224l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l7 7L366 176l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l7 7L414 128l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l7 7 4.3-4.3C468.8 73.3 491.2 64 514.5 64h35c23.3 0 45.7 9.3 62.2 25.8l14.6 14.6c8.7 8.7 13.7 20.6 13.7 33c0 25.8-20.9 46.6-46.6 46.6H542.8c-2.3 0-4.6 1-6.1 2.8l-224.5 263c-33.7 39.5-83 62.2-134.9 62.2h-5.5C76.9 512 0 435.1 0 340.2c0-9.5 .8-18.9 2.3-28.2l9.8-59.1C4.9 248.8 0 241 0 232zm464.3-86.4L417.9 192c-.3 .3-.6 .7-1 1s-.7 .7-1 1l-45.8 45.8c-.4 .4-.8 .9-1.2 1.3s-.8 .8-1.3 1.2l-112.1 112c-8.7 8.7-20.6 13.6-33 13.6h-2.4c-24.4 0-44.3-19.8-44.3-44.3c0-5.2 .9-10.3 2.7-15.1L197.7 256H60.3L49.7 319.9c-1.1 6.7-1.7 13.5-1.7 20.3C48 408.6 103.4 464 171.8 464h5.5c37.8 0 73.8-16.6 98.3-45.4l224.5-263c10.6-12.5 26.2-19.6 42.6-19.6h47.3l-12.3-12.3c-7.5-7.5-17.7-11.7-28.3-11.7h-35c-10.6 0-20.8 4.2-28.3 11.7l-20.6 20.6c-.2 .2-.4 .5-.6 .7s-.5 .4-.7 .7zM96 312a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSaxHot = faSaxophoneFire;\nvar faCameraWebSlash = {\n prefix: 'far',\n iconName: 'camera-web-slash',\n icon: [640, 512, [\"webcam-slash\"], \"f833\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L485.3 355.1C516.9 317.5 536 269 536 216C536 96.7 439.3 0 320 0C248.3 0 184.8 34.9 145.5 88.7L38.8 5.1zM183.3 118.3C213.8 75.8 263.6 48 320 48c92.8 0 168 75.2 168 168c0 41.8-15.3 80-40.5 109.4l-37.8-29.7C428.5 274.6 440 246.6 440 216c0-66.3-53.7-120-120-120c-41 0-77.2 20.6-98.9 52l-37.8-29.7zM371.7 266.1L259 177.7c12.7-20.3 35.3-33.7 61-33.7c39.8 0 72 32.2 72 72c0 19.5-7.7 37.1-20.3 50.1zM359.6 379.3c-12.7 3.1-25.9 4.7-39.6 4.7c-92.8 0-168-75.2-168-168l0-.2-45.1-35.5C105 191.9 104 203.8 104 216c0 72.8 36 137.2 91.3 176.4l-62.3 81c-5.6 7.2-6.5 17-2.5 25.2s12.4 13.4 21.5 13.4H528l-60.9-48H200.7l37.1-48.2C263.1 426.2 290.9 432 320 432c30 0 58.6-6.1 84.6-17.2l-45-35.5z\"]\n};\nvar faWebcamSlash = faCameraWebSlash;\nvar faFolderMedical = {\n prefix: 'far',\n iconName: 'folder-medical',\n icon: [512, 512, [], \"e18c\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM224 256H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v48z\"]\n};\nvar faFolderGear = {\n prefix: 'far',\n iconName: 'folder-gear',\n icon: [512, 512, [\"folder-cog\"], \"e187\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM353.2 264.2c6.3-3.6 9.5-11.2 6.8-17.9c-1.7-4.3-3.7-8.4-5.9-12.4l-2-3.5c-2.4-4-5.1-7.9-7.9-11.5c-4.5-5.7-12.6-6.8-18.9-3.1l-1.2 .7c-8 4.6-17.9 3.5-25.9-1.2s-14.1-12.7-14.1-21.9v-1.4c0-7.3-4.9-13.8-12.2-14.8c-5.2-.7-10.5-1.1-15.8-1.1s-10.7 .4-15.8 1.1c-7.2 1-12.2 7.5-12.2 14.8v1.4c0 9.3-6.1 17.3-14.1 21.9s-17.9 5.8-25.9 1.2l-1.2-.7c-6.3-3.6-14.4-2.6-18.9 3.1c-2.9 3.7-5.5 7.5-8 11.5l-2 3.4c-2.2 4-4.2 8.2-5.9 12.5c-2.7 6.8 .4 14.3 6.8 17.9l1.2 .7c8 4.6 12 13.8 12 23.1s-4 18.4-12 23.1l-1.2 .7c-6.3 3.6-9.5 11.2-6.8 17.9c1.7 4.3 3.7 8.4 5.9 12.4l2.1 3.6c2.4 4 5 7.8 7.9 11.5c4.5 5.7 12.6 6.8 18.9 3.1l1.2-.7c8-4.6 17.9-3.5 25.9 1.2s14.1 12.7 14.1 21.9v1.4c0 7.3 4.9 13.8 12.2 14.8c5.2 .7 10.5 1.1 15.8 1.1s10.7-.4 15.8-1.1c7.2-1 12.2-7.5 12.2-14.8v-1.4c0-9.3 6.1-17.3 14.1-21.9s17.9-5.8 25.9-1.2l1.2 .7c6.3 3.6 14.4 2.6 18.9-3.1c2.9-3.6 5.5-7.5 7.9-11.4l2.1-3.6c2.2-4 4.2-8.1 5.9-12.4c2.7-6.8-.4-14.3-6.8-17.9l-1.2-.7c-8-4.6-12-13.8-12-23.1s4-18.5 12-23.1l1.2-.7zM221 288a35 35 0 1 1 70 0 35 35 0 1 1 -70 0z\"]\n};\nvar faFolderCog = faFolderGear;\nvar faHandWave = {\n prefix: 'far',\n iconName: 'hand-wave',\n icon: [512, 512, [], \"e1a7\", \"M336.2 82.3L335 73.8c-3-21.1-19.6-37.7-40.7-40.7l-8.5-1.2c-8.7-1.2-14.8-9.4-13.6-18.1S281.5-1.1 290.3 .2l8.5 1.2c35.2 5 62.9 32.7 67.9 67.9l1.2 8.5c1.2 8.7-4.8 16.9-13.6 18.1s-16.9-4.8-18.1-13.6zM80 68.7c17.9-17.9 43.8-23 66.2-15.2c3.1-6.8 7.4-13.1 13-18.7c25-25 65.5-25 90.5 0L368 153v-5.2c0-35.3 28.7-64 64-64s64 28.7 64 64V305.6c0 1.6 0 3.1-.1 4.7c0 .6 .1 1.1 .1 1.7c0 109.9-88.7 199.2-198.5 200l-.5 0h-1l0 0-6.6 0c-53 0-103.9-21.1-141.4-58.6L34.7 340.2c-25-25-25-65.5 0-90.5c3.9-3.9 8.2-7.2 12.7-9.9l-1.4-1.4c-25-25-25-65.5 0-90.5c5.6-5.6 11.9-9.9 18.7-13C57 112.5 62.1 86.6 80 68.7zm79.3 56.7l-.1-.1-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l22.5 22.5 .1 .1L232.7 244c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-96.1-96.1-.1-.1c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L119.5 244l.1 .1 56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L91.4 283.7l-.1-.1c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L181.9 419.5C210.4 448 249.1 464 289.4 464l6.6 0 0 0h.6l.2 0c82.8-.5 149.9-67.1 151.1-149.8c-.1-1-.1-2.1-.1-3.1c.1-1.8 .1-3.6 .1-5.5V147.9c0-8.8-7.2-16-16-16s-16 7.2-16 16V211c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L215.8 68.7c-6.2-6.2-16.4-6.2-22.6 0c-6.2 6.2-6.2 16.3-.1 22.6l96.2 96.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-96.1-96.1zM13.7 368.2c8.7-1.2 16.9 4.8 18.1 13.6l1.2 8.5c3 21.1 19.6 37.7 40.7 40.7l8.5 1.2c8.7 1.3 14.8 9.4 13.6 18.1s-9.4 14.8-18.1 13.6l-8.5-1.2c-35.2-5-62.9-32.7-67.9-67.9L.2 386.3c-1.2-8.7 4.8-16.9 13.6-18.1z\"]\n};\nvar faArrowUpArrowDown = {\n prefix: 'far',\n iconName: 'arrow-up-arrow-down',\n icon: [576, 512, [\"sort-up-down\"], \"e099\", \"M529 377c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1l-55-55c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96zM177 39c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 39z\"]\n};\nvar faSortUpDown = faArrowUpArrowDown;\nvar faCaravan = {\n prefix: 'far',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416 80c61.9 0 112 50.1 112 112V368H480V168c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40V368H275.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H80c-17.7 0-32-14.3-32-32V112c0-17.7 14.3-32 32-32H416zM80 416H96c0 53 43 96 96 96s96-43 96-96h64 96 80 48l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0V192c0-88.4-71.6-160-160-160H80C35.8 32 0 67.8 0 112V336c0 44.2 35.8 80 80 80zM432 224H416c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v96H368V176h64v48zM128 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H128zm64 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShieldCat = {\n prefix: 'far',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM160 154.4V272c0 53 43 96 96 96s96-43 96-96V154.4c0-5.8-4.7-10.4-10.4-10.4h-.2c-3.4 0-6.5 1.6-8.5 4.3l-40 53.3c-3 4-7.8 6.4-12.8 6.4H232c-5 0-9.8-2.4-12.8-6.4l-40-53.3c-2-2.7-5.2-4.3-8.5-4.3h-.2c-5.8 0-10.4 4.7-10.4 10.4zM216 256a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faMessageSlash = {\n prefix: 'far',\n iconName: 'message-slash',\n icon: [640, 512, [\"comment-alt-slash\"], \"f4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-82.3-64.5C565.1 393 576 373.8 576 352V64c0-35.3-28.7-64-64-64H128C104.4 0 83.8 12.7 72.7 31.7L38.8 5.1zm73.3 57.4c.7-8.1 7.6-14.5 15.9-14.5H512c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H501.8L112.1 62.5zM224 368H128c-8.8 0-16-7.2-16-16V184.2L64 146.4V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L266.7 496l5.1-3.8 .2-.2 101.3-76h32.8l-54.4-42.9c-2.5 1.3-4.9 2.8-7.2 4.5L272 432V416c0-26.5-21.5-48-48-48z\"]\n};\nvar faCommentAltSlash = faMessageSlash;\nvar faBolt = {\n prefix: 'far',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M321.7 0c19.1 0 32.9 18.3 27.6 36.6L295.8 224h85.2c19.3 0 34.9 15.6 34.9 34.9c0 10.3-4.5 20-12.3 26.6L144.9 505.2c-5.2 4.4-11.8 6.8-18.6 6.8c-19.1 0-32.9-18.3-27.6-36.6L152.2 288H65.7C47.1 288 32 272.9 32 254.3c0-9.9 4.3-19.2 11.8-25.6L303.1 6.9C308.3 2.4 314.9 0 321.7 0zM285.6 85L104.4 240H184c7.5 0 14.6 3.5 19.2 9.5s6 13.8 3.9 21L162.3 427.5 345.5 272H264c-7.5 0-14.6-3.5-19.2-9.5s-6-13.8-3.9-21L285.6 85z\"]\n};\nvar faZap = faBolt;\nvar faTrashCanCheck = {\n prefix: 'far',\n iconName: 'trash-can-check',\n icon: [448, 512, [], \"e2a9\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zM337 241L209 369c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 207c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faGlassWater = {\n prefix: 'far',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM57.6 134.3L50.2 48H333.8l-7.4 86.3-25.2 14c-16.2 9-36.2 7.3-50.7-4.3c-34.2-27.4-82.8-27.4-117 0C119 155.6 99 157.3 82.8 148.3l-25.2-14zm5 57.6c32.7 16.6 72.1 12.6 100.9-10.4c16.7-13.3 40.4-13.3 57 0c28.8 23 68.3 27 100.9 10.4L299.9 442.1C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9L62.6 191.9z\"]\n};\nvar faOilWell = {\n prefix: 'far',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M482 73.7c-4.6-17.1-22.1-27.2-39.2-22.6l58 216.4c17.1-4.6 27.2-22.1 22.6-39.2L482 73.7zm-51.6-69c42.7-11.4 86.5 13.9 98 56.6l41.4 154.5c11.4 42.7-13.9 86.5-56.6 98l-15.5 4.1c-17.1 4.6-34.6-5.6-39.2-22.6L431.3 193.6 96 280.5V464h44.1L198 294.3l55.6-14.4L229.1 352h85.9l-27.6-80.8 46.6-12.1 70 204.9H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48V184c0-13.3 10.7-24 24-24s24 10.7 24 24v46.9l135.7-35.2 17.6-51.5c3.3-9.7 12.4-16.2 22.7-16.2s19.4 6.5 22.7 16.2l11 32.3 113.1-29.3L392.3 48c-4.6-17.1 5.6-34.6 22.6-39.2l15.5-4.1zM353.2 464l-21.9-64H212.7l-21.9 64H353.2z\"]\n};\nvar faPersonSimple = {\n prefix: 'far',\n iconName: 'person-simple',\n icon: [256, 512, [], \"e220\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zM73.7 237.3C75.1 220.8 89 208 105.6 208h44.8c16.6 0 30.5 12.8 31.9 29.3l4.1 49.3c.8 9.3-6.6 17.3-15.9 17.3H168 88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3zM112 352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352z\"]\n};\nvar faVault = {\n prefix: 'far',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 48c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8c-35.3 0-64-28.7-64-64V64zM320 240a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM80 240a144 144 0 1 1 288 0A144 144 0 1 1 80 240zm144-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272-16c0 17.8-9.7 33.3-24 41.6V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V217.6c-14.3-8.3-24-23.8-24-41.6c0-26.5 21.5-48 48-48s48 21.5 48 48z\"]\n};\nvar faMars = {\n prefix: 'far',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-83.7 83.7C252.8 141.3 215.9 128 176 128C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-39.9-13.3-76.8-35.7-106.3L400 113.9V168c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24H312zM48 304a128 128 0 1 1 256 0A128 128 0 1 1 48 304z\"]\n};\nvar faToilet = {\n prefix: 'far',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M0 24C0 37.3 10.7 48 24 48H56 392h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H392 56 24C10.7 0 0 10.7 0 24zM81.6 182.9l-1.6 .5V80H32V207.1l-.4 .4C17.5 219.4 8 235.7 8 256c0 72.7 33.4 120.2 78.4 148.3c1.7 1.1 3.5 2.1 5.2 3.2L69.3 448.2c-3.5 6.3-5.3 13.5-5.3 20.7c0 23.8 19.3 43.1 43.1 43.1H340.9c23.8 0 43.1-19.3 43.1-43.1c0-7.2-1.8-14.4-5.3-20.7l-22.3-40.7c1.8-1 3.5-2.1 5.2-3.2c45-28.1 78.4-75.6 78.4-148.3c0-20.3-9.5-36.6-23.6-48.5l-.4-.4V80H368V183.4l-1.6-.5C328.4 172 277.7 168 224 168s-104.4 4-142.4 14.9zM373.8 326.8c-9.8 15.7-22.9 27.6-37.6 36.9C303 384.4 259.9 392 224 392s-79-7.6-112.2-28.3c-14.7-9.2-27.8-21.2-37.6-36.9c2.4 .8 4.9 1.5 7.4 2.3C119.6 340 170.3 344 224 344s104.4-4 142.4-14.9c2.5-.7 4.9-1.5 7.4-2.3zM56 256c0-3.7 1.2-7.4 6.6-12c6.1-5.1 16.5-10.4 32.3-15C126.3 220 171.6 216 224 216s97.7 4 129.1 13.1c15.8 4.5 26.2 9.8 32.2 15c5.4 4.6 6.6 8.2 6.6 12s-1.2 7.4-6.6 12c-6.1 5.1-16.5 10.4-32.2 15C321.7 292 276.4 296 224 296s-97.7-4-129.1-13.1c-15.8-4.5-26.2-9.8-32.3-15c-5.4-4.6-6.6-8.2-6.6-12zM312.3 426.8L332.6 464H115.4l20.4-37.2c30.5 9.7 61.8 13.2 88.3 13.2s57.7-3.5 88.3-13.2zM128 80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faPlaneCircleXmark = {\n prefix: 'far',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l84.8 54.3c-16 7.5-30.6 17.4-43.5 29.2l-78.3-50.1c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6l17.3 5.2c10.6 17.7 24.3 33.3 40.3 46.2c-6.4 5-14.5 7.9-23.2 7.9c-2.3 0-4.6-.3-6.9-1l6.9-23-6.9 23 0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0-6.9-23 6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm104 262.1l20.1 6.4C327 311.3 320 338.6 320 367.5c0 17.4 2.5 34.1 7.2 49.9l-29.6-22.2c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7z\"]\n};\nvar faYenSign = {\n prefix: 'far',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M43.8 42.5c-7.5-11-22.4-13.8-33.3-6.4S-3.3 58.5 4.2 69.5L109.2 224H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96v48H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96v88c0 13.3 10.7 24 24 24s24-10.7 24-24V368h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V272h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H210.8L315.8 69.5c7.5-11 4.6-25.9-6.4-33.3s-25.9-4.6-33.3 6.4L160 213.3 43.8 42.5z\"]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faGearCode = {\n prefix: 'far',\n iconName: 'gear-code',\n icon: [512, 512, [], \"e5e8\", \"M256 0c17 0 33.6 1.7 49.8 4.8c7.9 1.5 21.8 6.1 29.4 20.1c2 3.7 3.6 7.6 4.6 11.8l9.3 38.5C350.5 81 360.3 86.7 366 85l38-11.2c4-1.2 8.1-1.8 12.2-1.9c16.1-.5 27 9.4 32.3 15.4c22.1 25.1 39.1 54.6 49.9 86.3c2.6 7.6 5.6 21.8-2.7 35.4c-2.2 3.6-4.9 7-8 10L459 246.3c-4.2 4-4.2 15.5 0 19.5l28.7 27.3c3.1 3 5.8 6.4 8 10c8.2 13.6 5.2 27.8 2.7 35.4c-10.8 31.7-27.8 61.1-49.9 86.3c-5.3 6-16.3 15.9-32.3 15.4c-4.1-.1-8.2-.8-12.2-1.9L366 427c-5.7-1.7-15.5 4-16.9 9.8l-9.3 38.5c-1 4.2-2.6 8.2-4.6 11.8c-7.7 14-21.6 18.5-29.4 20.1C289.6 510.3 273 512 256 512s-33.6-1.7-49.8-4.8c-7.9-1.5-21.8-6.1-29.4-20.1c-2-3.7-3.6-7.6-4.6-11.8l-9.3-38.5c-1.4-5.8-11.2-11.5-16.9-9.8l-38 11.2c-4 1.2-8.1 1.8-12.2 1.9c-16.1 .5-27-9.4-32.3-15.4c-22-25.1-39.1-54.6-49.9-86.3c-2.6-7.6-5.6-21.8 2.7-35.4c2.2-3.6 4.9-7 8-10L53 265.7c4.2-4 4.2-15.5 0-19.5L24.2 218.9c-3.1-3-5.8-6.4-8-10C8 195.3 11 181.1 13.6 173.6c10.8-31.7 27.8-61.1 49.9-86.3c5.3-6 16.3-15.9 32.3-15.4c4.1 .1 8.2 .8 12.2 1.9L146 85c5.7 1.7 15.5-4 16.9-9.8l9.3-38.5c1-4.2 2.6-8.2 4.6-11.8c7.7-14 21.6-18.5 29.4-20.1C222.4 1.7 239 0 256 0zM218.1 51.4l-8.5 35.1c-7.8 32.3-45.3 53.9-77.2 44.6L97.9 120.9c-16.5 19.3-29.5 41.7-38 65.7l26.2 24.9c24 22.8 24 66.2 0 89L59.9 325.4c8.5 24 21.5 46.4 38 65.7l34.6-10.2c31.8-9.4 69.4 12.3 77.2 44.6l8.5 35.1c24.6 4.5 51.3 4.5 75.9 0l8.5-35.1c7.8-32.3 45.3-53.9 77.2-44.6l34.6 10.2c16.5-19.3 29.5-41.7 38-65.7l-26.2-24.9c-24-22.8-24-66.2 0-89l26.2-24.9c-8.5-24-21.5-46.4-38-65.7l-34.6 10.2c-31.8 9.4-69.4-12.3-77.2-44.6l-8.5-35.1c-24.6-4.5-51.3-4.5-75.9 0zm73.7 111.8l-32 192c-1.8 10.9-12.1 18.3-23 16.4s-18.3-12.1-16.4-23l32-192c1.8-10.9 12.1-18.3 23-16.4s18.3 12.1 16.4 23zm-93.6 66.9L172.3 256l25.9 25.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3l40-40c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zm144-28.3l40 40c7.8 7.8 7.8 20.5 0 28.3l-40 40c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L339.7 256l-25.9-25.9c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0z\"]\n};\nvar faNotes = {\n prefix: 'far',\n iconName: 'notes',\n icon: [512, 512, [], \"e202\", \"M144 96c0-8.8 7.2-16 16-16H416c8.8 0 16 7.2 16 16V288H384c-17.7 0-32 14.3-32 32v48H160c-8.8 0-16-7.2-16-16V96zM96 96V352c0 35.3 28.7 64 64 64H357.5c17 0 33.3-6.7 45.3-18.7l58.5-58.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM320 488c0-13.3-10.7-24-24-24H136c-48.6 0-88-39.4-88-88l0-224c0-13.3-10.7-24-24-24s-24 10.7-24 24V376c0 75.1 60.9 136 136 136H296c13.3 0 24-10.7 24-24z\"]\n};\nvar faRubleSign = {\n prefix: 'far',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M111.3 32C85.2 32 64 53.2 64 79.3V272H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V416H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H111.3zM240 272H112V80H240c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faTrashUndo = {\n prefix: 'far',\n iconName: 'trash-undo',\n icon: [448, 512, [\"trash-arrow-turn-left\"], \"f895\", \"M177.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM354.2 80L317.5 24.9C307.1 9.4 289.6 0 270.9 0H177.1c-18.7 0-36.2 9.4-46.6 24.9L93.8 80H80.1 32 24C10.7 80 0 90.7 0 104s10.7 24 24 24H35.6L59.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H324.6c33.5 0 61.3-25.9 63.8-59.3L412.4 128H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H367.9 354.2zm10.1 48L340.5 449.2c-.6 8.4-7.6 14.8-16 14.8H123.4c-8.4 0-15.3-6.5-16-14.8L83.7 128H364.3zM222.9 194.7c-7.3-8.3-20-9-28.2-1.7l-72 64c-4.3 3.8-6.7 9.2-6.7 14.9s2.4 11.2 6.7 14.9l72 64c8.3 7.3 20.9 6.6 28.2-1.7s6.6-20.9-1.7-28.2L188.6 292H240c24.3 0 44 19.7 44 44v24c0 11 9 20 20 20s20-9 20-20V336c0-46.4-37.6-84-84-84H188.6l32.7-29.1c8.3-7.3 9-20 1.7-28.2z\"]\n};\nvar faTrashArrowTurnLeft = faTrashUndo;\nvar faChampagneGlass = {\n prefix: 'far',\n iconName: 'champagne-glass',\n icon: [320, 512, [\"glass-champagne\"], \"f79e\", \"M80 0C68.1 0 58 8.7 56.3 20.5L29.7 201C19.1 272.5 67.8 337.3 136 349.8V464H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V349.8c64.4-12.2 110.8-72.8 102.6-140.6l-22.8-188C262.4 9.1 252.1 0 240 0H80zm8.9 128l11.8-80h118l9.7 80H88.9zm-7.1 48H234.2l4.7 38.9c5.7 47.4-31.2 89.1-78.9 89.1c-51.1 0-90.3-45.4-82.9-96l4.7-32z\"]\n};\nvar faGlassChampagne = faChampagneGlass;\nvar faObjectsAlignCenterHorizontal = {\n prefix: 'far',\n iconName: 'objects-align-center-horizontal',\n icon: [512, 512, [], \"e3bc\", \"M432 176L80 176l0-64 352 0 0 64zm48-64c0-26.5-21.5-48-48-48L280 64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L80 64c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l152 0 0 64-88 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l88 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 88 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-88 0 0-64 152 0c26.5 0 48-21.5 48-48l0-64zM368 400l-224 0 0-64 224 0 0 64z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l18.1-98.5 98.5-18.1c8-1.5 14.7-6.9 17.8-14.4s2.2-16.1-2.4-22.8L450.9 256l56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM269.6 110l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L402 242.4c-5.7 8.2-5.7 19 0 27.2l45.2 65.6-78.3 14.4c-9.8 1.8-17.5 9.5-19.3 19.3l-14.4 78.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faTrashCanSlash = {\n prefix: 'far',\n iconName: 'trash-can-slash',\n icon: [640, 512, [\"trash-alt-slash\"], \"e2ad\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V128h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H464 450.2L413.5 24.9C403.1 9.4 385.6 0 366.9 0H273.1c-18.7 0-36.2 9.4-46.6 24.9L189.8 80H176 134.4L38.8 5.1zM195.6 128H464V338.4l-48-37.6V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v83.7L336 238V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v21L195.6 128zm77.5-80h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM492.7 484.2l-37.8-29.8c-5.8 5.9-13.9 9.6-22.9 9.6H208c-17.7 0-32-14.3-32-32V234.7l-48-37.8V432c0 44.2 35.8 80 80 80H432c24.3 0 46-10.8 60.7-27.8zM224 272.5V400c0 8.8 7.2 16 16 16s16-7.2 16-16V297.7l-32-25.2zm80 63V400c0 8.8 7.2 16 16 16s16-7.2 16-16V360.7l-32-25.2z\"]\n};\nvar faTrashAltSlash = faTrashCanSlash;\nvar faScreenUsers = {\n prefix: 'far',\n iconName: 'screen-users',\n icon: [640, 512, [\"users-class\"], \"f63d\", \"M80 320a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0A64 64 0 1 0 32 320a64 64 0 1 0 128 0zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm240-96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H288zM544 304a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 80a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-96 96c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H512c-35.3 0-64 28.7-64 64zM544 48H96c-8.8 0-16 7.2-16 16V225.3c-18.3 3.1-34.8 11.3-48 23.1V64C32 28.7 60.7 0 96 0H544c35.3 0 64 28.7 64 64V248.4c-13.2-11.8-29.7-20.1-48-23.1V64c0-8.8-7.2-16-16-16z\"]\n};\nvar faUsersClass = faScreenUsers;\nvar faGuitar = {\n prefix: 'far',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M431 7c9.4-9.4 24.6-9.4 33.9 0l40 40c9.4 9.4 9.4 24.6 0 33.9l-48 48c-2.4 2.4-5.3 4.3-8.5 5.5l-59.1 22.2-35.8 35.8c38.2 50.8 41.4 115.2 4.6 152c-12 12-26.8 19.7-43.2 23.4c-18.1 4.1-33.5 20.8-34.5 39.4c-1.4 27.9-11.7 53.8-31.2 73.4C200.3 529.4 112 520.3 51.8 460.2S-17.4 311.7 31.4 262.8C51 243.2 76.9 233 104.8 231.5c18.5-.9 35.3-16.4 39.4-34.5c3.7-16.4 11.4-31.2 23.4-43.2c36.8-36.8 101.2-33.6 152 4.6l35.8-35.8 22.2-59.1c1.2-3.2 3.1-6.1 5.5-8.5L431 7zM254.4 291.6c1.1 4 1.6 8.1 1.6 12.4c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c4.3 0 8.5 .6 12.4 1.6l64.8-64.8c-36-24.5-70.6-18.1-83.8-5c-5 5-8.6 11.5-10.5 19.8c-8.3 37-41.6 69.7-83.8 71.9c-17.6 .9-31.7 7.1-41.9 17.3c-23.9 23.9-27.9 81.2 20.4 129.5s105.6 44.3 129.5 20.4c10.1-10.1 16.4-24.3 17.3-41.9c2.1-42.2 34.9-75.4 71.9-83.8c8.3-1.9 14.8-5.5 19.8-10.5c13.2-13.2 19.6-47.8-5-83.8l-64.8 64.8z\"]\n};\nvar faSquareArrowLeft = {\n prefix: 'far',\n iconName: 'square-arrow-left',\n icon: [448, 512, [\"arrow-square-left\"], \"f33a\", \"M48 96c0-8.8 7.2-16 16-16l320 0c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm39 241l88 88c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47L328 280c13.3 0 24-10.7 24-24s-10.7-24-24-24l-150.1 0 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-88 88c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faArrowSquareLeft = faSquareArrowLeft;\nvar faSquare8 = {\n prefix: 'far',\n iconName: 'square-8',\n icon: [448, 512, [], \"e25d\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm168 96H216c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42c0-39.8-32.2-72-72-72zm-16 96c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24c0 0 0 0 0 0H216s0 0 0 0zm0 48c0 0 0 0 0 0h16c0 0 0 0 0 0h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-17.7 0-32-14.3-32-32s14.3-32 32-32h8z\"]\n};\nvar faFaceSmileHearts = {\n prefix: 'far',\n iconName: 'face-smile-hearts',\n icon: [640, 512, [], \"e390\", \"M553.5 361.1C568 329 576 293.4 576 256c0-24.5-3.4-48.2-9.9-70.6c-3.6-12.7-16.9-20.1-29.7-16.5s-20.1 16.9-16.5 29.7c5.2 18.2 8 37.4 8 57.4c0 35.3-8.8 68.5-24.3 97.6c16.7-3.7 34.5-1.2 49.8 7.4zM448.1 419.9C412.8 447.5 368.3 464 320 464c-50.4 0-96.6-17.9-132.6-47.7c-3.4 9.1-8.8 17.7-16.1 25l-13.1 13.1C202.4 490.4 258.7 512 320 512c53.3 0 102.8-16.3 143.8-44.2c-11.2-13.9-16.5-31-15.7-47.9zm-326-99.8C115.5 299.9 112 278.4 112 256c0-114.9 93.1-208 208-208c30.7 0 59.9 6.7 86.1 18.6c12.1 5.5 26.3 .2 31.8-11.9s.2-26.3-11.9-31.8C393.6 8.2 357.7 0 320 0C178.6 0 64 114.6 64 256c0 25.7 3.8 50.5 10.8 73.8c1.8 1.1 3.5 2.2 5.2 3.4c12.5-9 27.3-13.4 42-13.2zm85.7-3.3c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C383.2 334.5 357.2 352 320 352s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zm6.5-87.1c5.5-5.8 14.8-9.7 25.4-9.7s19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C279.7 186.8 259 180 239.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9zM399.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C439.7 186.8 419 180 399.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zM573.7 11.5L560 25.3 546.3 11.4c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2s-39.8-15.3-54.9 0zm54.9 384c-15.2-15.3-39.8-15.3-54.9 0L560 409.3l-13.7-13.8c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2zm-534.9-32L80 377.3 66.3 363.4c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2s-39.8-15.3-54.9 0z\"]\n};\nvar faBracketsSquare = {\n prefix: 'far',\n iconName: 'brackets-square',\n icon: [448, 512, [\"brackets\"], \"f7e9\", \"M56 32C25.1 32 0 57.1 0 88V424c0 30.9 25.1 56 56 56h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm336 0H328c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c4.4 0 8 3.6 8 8V424c0 4.4-3.6 8-8 8H328c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56z\"]\n};\nvar faBrackets = faBracketsSquare;\nvar faLaptopArrowDown = {\n prefix: 'far',\n iconName: 'laptop-arrow-down',\n icon: [640, 512, [], \"e1c6\", \"M256 32V80H128c-8.8 0-16 7.2-16 16V320H64V96c0-35.3 28.7-64 64-64H256zM384 80V32H512c35.3 0 64 28.7 64 64V320H528V96c0-8.8-7.2-16-16-16H384zM320 32c13.3 0 24 10.7 24 24V238.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V56c0-13.3 10.7-24 24-24zM96 432H544c20.9 0 38.7-13.4 45.3-32H50.7c6.6 18.6 24.4 32 45.3 32zM0 384c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faHockeyStickPuck = {\n prefix: 'far',\n iconName: 'hockey-stick-puck',\n icon: [640, 512, [], \"e3ae\", \"M499 2.7c11.8 6.1 16.4 20.6 10.3 32.3L282.7 473.1c-12.4 23.9-37 38.9-64 38.9H64c-35.3 0-64-28.7-64-64V384c0-35.3 28.7-64 64-64H304c1.3 0 2.5 .1 3.7 .3L466.7 13C472.8 1.2 487.3-3.4 499 2.7zM283 368H144v96h74.8c9 0 17.2-5 21.3-13L283 368zM64 368c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96V368H64zm368 64v32H592V432H432zm-48 0c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V432z\"]\n};\nvar faHouseTree = {\n prefix: 'far',\n iconName: 'house-tree',\n icon: [640, 512, [], \"e1b3\", \"M417.4 7.5C412.9 2.7 406.6 0 400 0s-12.9 2.7-17.4 7.5l-103.5 109 35.4 32.4 85.5-90L496.1 160H448c-9.6 0-18.2 5.7-22 14.5s-2 19 4.6 26L528.3 304H480c-9.4 0-17.9 5.4-21.8 13.9s-2.6 18.5 3.5 25.6L564.1 464H416c0 18-6 34.6-16 48H616c9.4 0 17.9-5.4 21.8-13.9s2.6-18.5-3.5-25.6L531.9 352H584c9.6 0 18.2-5.7 22-14.5s2-19-4.6-26L503.7 208H552c9.6 0 18.3-5.7 22.1-14.5s2-19-4.7-26l-152-160zM20.8 237C7.5 249.1 0 266.2 0 284.2V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L20.8 237zM48 284.2c0-4.5 1.9-8.8 5.2-11.8L181.2 155c6.1-5.6 15.5-5.6 21.6 0l128 117.3c3.3 3 5.2 7.3 5.2 11.8V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V284.2zM144 296v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSignalFair = {\n prefix: 'far',\n iconName: 'signal-fair',\n icon: [640, 512, [\"signal-2\"], \"f68d\", \"M192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal2 = faSignalFair;\nvar faFaceLaughWink = {\n prefix: 'far',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDollar = {\n prefix: 'far',\n iconName: 'circle-dollar',\n icon: [512, 512, [\"dollar-circle\", \"usd-circle\"], \"f2e8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM276.8 133.6v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\"]\n};\nvar faDollarCircle = faCircleDollar;\nvar faUsdCircle = faCircleDollar;\nvar faHorseHead = {\n prefix: 'far',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M405.1 48.7c9.2-3.3 18.9 3.6 18.9 13.4c0 4.2-1.9 8.2-5.1 10.9l-34.3 28.5c-7.3 6.1-10.4 16-7.7 25.2s10.6 15.9 20.1 17.1l1.5 .2c31.3 3.9 58.7 23 73.3 51L520 287.8c11 21.3 7 47.2-9.9 64.2c-10.3 10.3-24.3 16.1-38.8 16.1h-7.4c-18.5 0-36-8-48.2-21.9l-26.2-30c-10.3-11.8-28-13.5-40.4-3.9c-27.6 21.5-67.3 17.2-89.7-9.7l-25-30c-8.5-10.2-23.6-11.6-33.8-3.1s-11.6 23.6-3.1 33.8l25 30c25 30 62.3 43.8 98.6 40l43.4 68.2c2.3 3.5 3.5 7.7 3.5 11.9c0 5.8-4.7 10.6-10.6 10.6H136c-13.3 0-24-10.7-24-24V316.7c0-98.2 61.8-185.7 154.3-218.6L405.1 48.7zm0 367l-21.5-33.8c21 21.7 50 34.1 80.4 34.1h7.4c27.3 0 53.5-10.8 72.8-30.1c31.7-31.7 39.2-80.4 18.5-120.2l-48.3-92.8c-14.4-27.8-37.3-49.6-64.7-63C463.8 98 472 80.5 472 62.1c0-43-42.5-73-83-58.6L250.2 52.9C138.6 92.5 64 198.2 64 316.7V440c0 39.8 32.2 72 72 72H357.4c32.4 0 58.6-26.2 58.6-58.6c0-13.3-3.8-26.4-11-37.6zM360 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsRepeat = {\n prefix: 'far',\n iconName: 'arrows-repeat',\n icon: [512, 512, [\"repeat-alt\"], \"f364\", \"M0 254.5c-.8 13.2 9.2 24.6 22.5 25.5s24.6-9.2 25.5-22.5l.5-8C51.9 194.7 97.3 152 152.2 152H366.1l-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9L345 15c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55H152.2C72 104 5.6 166.4 .5 246.5l-.5 8zm511.9 3c.8-13.2-9.2-24.6-22.5-25.5s-24.6 9.2-25.4 22.5l-.5 8c-3.4 54.8-48.9 97.5-103.8 97.5H145.9l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 367c-9.4 9.4-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55H359.8c80.3 0 146.7-62.4 151.7-142.5l.5-8z\"]\n};\nvar faRepeatAlt = faArrowsRepeat;\nvar faBoreHole = {\n prefix: 'far',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c13.3 0 24 10.7 24 24V228.7c23.5 9.5 40 32.5 40 59.3c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V24c0-13.3 10.7-24 24-24zm0 272a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM112 176H80c-17.7 0-32 14.3-32 32V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H400V288c0 79.5-64.5 144-144 144s-144-64.5-144-144V176zm16-48c17.7 0 32 14.3 32 32V288c0 53 43 96 96 96s96-43 96-96V160c0-17.7 14.3-32 32-32h48c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V208c0-44.2 35.8-80 80-80h48z\"]\n};\nvar faIndustry = {\n prefix: 'far',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M88 80c-4.4 0-8 3.6-8 8V304v48 56c0 13.3 10.7 24 24 24H472c13.3 0 24-10.7 24-24V320 304l0-148.1-139.1 89c-7.4 4.7-16.8 5-24.5 .8s-12.5-12.3-12.5-21.1l0-70.9L180.1 235.4c-7.4 4.3-16.6 4.4-24 .1s-12-12.2-12-20.8V88c0-4.4-3.6-8-8-8H88zM32 88c0-30.9 25.1-56 56-56h48c30.9 0 56 25.1 56 56v84.9l103.8-60.6c32-18.7 72.2 4.4 72.2 41.5v27l102.1-65.4C502.1 95 544 117.9 544 155.9V304v16 88c0 39.8-32.2 72-72 72H104c-39.8 0-72-32.2-72-72V352 304 88z\"]\n};\nvar faImagePolaroid = {\n prefix: 'far',\n iconName: 'image-polaroid',\n icon: [448, 512, [], \"f8c4\", \"M400 368v48c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368H400zM75.3 320H48V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V320H376.4L284.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-56 85.6-16.6-22.6c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L75.3 320zM448 320V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320v24 24 48c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V368 344 320zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWaveTriangle = {\n prefix: 'far',\n iconName: 'wave-triangle',\n icon: [640, 512, [], \"f89a\", \"M176.1 32c7.7 0 14.9 3.7 19.4 10L464.1 415.1 596.6 233.8c7.8-10.7 22.8-13 33.5-5.2s13 22.8 5.2 33.5l-152 208c-4.5 6.2-11.8 9.9-19.5 9.8s-14.9-3.7-19.4-10L175.9 96.9 43.4 278.2c-7.8 10.7-22.8 13-33.5 5.2s-13-22.8-5.2-33.5l152-208c4.5-6.2 11.8-9.9 19.5-9.8z\"]\n};\nvar faPersonRunningFast = {\n prefix: 'far',\n iconName: 'person-running-fast',\n icon: [512, 512, [], \"e5ff\", \"M368 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6l-44.5 38.2c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l44.5-38.2c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L321.1 480.8c-4 12.7 3.1 26.1 15.8 30.1s26.1-3.1 30.1-15.8L403 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2C393.3 272 415 288 439.6 288H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H439.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zm70.8 67.2l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L321 169l27.1 6.8zM218.5 317.1L199.4 368H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h84.9c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6zM16 95.8c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm-16 80c0 8.8 7.2 16 16 16H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zm16 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faCircleDown = {\n prefix: 'far',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3H304V160c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32v96H150.3C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faGrill = {\n prefix: 'far',\n iconName: 'grill',\n icon: [448, 512, [], \"e5a3\", \"M48 80H400V96c0 97.2-78.8 176-176 176S48 193.2 48 96V80zM40 32C17.9 32 0 49.9 0 72V96c0 89.8 52.9 167.3 129.2 203l-23.1 53.8c-3.3-.5-6.7-.8-10.1-.8c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64H316.7l21.2 49.5c5.2 12.2 19.3 17.8 31.5 12.6s17.8-19.3 12.6-31.5L318.8 299C395.1 263.3 448 185.8 448 96V72c0-22.1-17.9-40-40-40H40zM151.8 368l22.9-53.4c15.9 3.6 32.3 5.4 49.3 5.4s33.4-1.9 49.3-5.4L296.2 368H151.8zM72 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faArrowsTurnToDots = {\n prefix: 'far',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M255 31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-39 39L424 104c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-22.1-17.9-40-40-40l-174.1 0 39 39c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9l80-80zM257 287l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L88 408c-22.1 0-40 17.9-40 40v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448c0-48.6 39.4-88 88-88l174.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm127 97a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]\n};\nvar faChartMixed = {\n prefix: 'far',\n iconName: 'chart-mixed',\n icon: [512, 512, [\"analytics\"], \"f643\", \"M503.6 74.2c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6L320.2 168.3 207.8 69.9c-8.2-7.1-20.1-7.9-29.1-1.9L10.7 180c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7L190 118.2l114.2 99.9c9 7.9 22.4 7.9 31.4 .2l168-144zM200 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM72 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V368c0-4.4 3.6-8 8-8s8 3.6 8 8v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zm264 16v96c0 4.4-3.6 8-8 8s-8-3.6-8-8V336c0-4.4 3.6-8 8-8s8 3.6 8 8zm-56 0v96c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48zm184 96c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48z\"]\n};\nvar faAnalytics = faChartMixed;\nvar faFlorinSign = {\n prefix: 'far',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M315.3 32c-36 0-68.3 21.9-81.7 55.3L179 224H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H159.8L105.8 406.9C99.7 422 85 432 68.7 432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H68.7c36 0 68.3-21.9 81.7-55.3L211.4 272H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H230.6l47.5-118.9C284.3 90 299 80 315.3 80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H315.3z\"]\n};\nvar faArrowDownShortWide = {\n prefix: 'far',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M15 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L49 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM312 48c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H312z\"]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'far',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M381.5 77.3c5.9 11.9 1.1 26.3-10.7 32.2L77.7 256 370.7 402.5c11.9 5.9 16.7 20.3 10.7 32.2s-20.3 16.7-32.2 10.7l-336-168C5.1 273.4 0 265.1 0 256s5.1-17.4 13.3-21.5l336-168c11.9-5.9 26.3-1.1 32.2 10.7z\"]\n};\nvar faDisplayCode = {\n prefix: 'far',\n iconName: 'display-code',\n icon: [576, 512, [\"desktop-code\"], \"e165\", \"M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faDesktopCode = faDisplayCode;\nvar faFaceDrooling = {\n prefix: 'far',\n iconName: 'face-drooling',\n icon: [512, 512, [], \"e372\", \"M48 256c0 114.9 93.1 208 208 208v48C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 80.8-37.5 152.9-96 199.9V388.9c30-36 48-82.4 48-132.9c0-114.9-93.1-208-208-208S48 141.1 48 256zm110.8-32.4c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4c3.8-11.3 12.2-26.8 25.8-39.8C153.2 155.2 173.5 144 200 144c13.3 0 24 10.7 24 24s-10.7 24-24 24c-11.9 0-20.9 4.8-27.9 11.4c-7.4 7-11.8 15.5-13.4 20.2zM129 309.3c10.4-8.3 25.5-6.6 33.7 3.7c18.7 23.4 49.8 47 93.3 47s74.5-23.6 93.3-47c8.3-10.4 23.4-12 33.7-3.7s12 23.4 3.8 33.7c-.9 1.1-1.8 2.2-2.7 3.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V376.4c-9.5 7-20.2 13.3-32 18.5V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V404.9c-10 2-20.7 3.1-32 3.1c-62.6 0-106.2-34.3-130.7-65c-8.3-10.3-6.6-25.5 3.7-33.7zM339.9 203.4c-7-6.6-16-11.4-27.9-11.4c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.5 0 46.8 11.2 60.9 24.6c13.7 13 22.1 28.5 25.8 39.8c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2c-1.6-4.7-6-13.2-13.4-20.2z\"]\n};\nvar faOilTemperature = {\n prefix: 'far',\n iconName: 'oil-temperature',\n icon: [576, 512, [\"oil-temp\"], \"f614\", \"M264 24c0-13.3 10.7-24 24-24h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H312V96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H312v83.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V120 24zm24 312a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM111.9 286.1c17.8 15.4 41.2 28.5 65 32.6c2.4 18.1 9.1 34.9 19.1 49.3c-1.3 0-2.7 .1-4.1 .1c-34.6 0-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0zM384 368c-1.3 0-2.7 0-4-.1c10-14.3 16.7-31.1 19.1-49.3c23.8-4.1 47.2-17.2 65-32.6c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8zm-272 62.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faOilTemp = faOilTemperature;\nvar faSquareQuestion = {\n prefix: 'far',\n iconName: 'square-question',\n icon: [448, 512, [\"question-square\"], \"f2fd\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm137.8 69.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L248 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H190.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionSquare = faSquareQuestion;\nvar faAirConditioner = {\n prefix: 'far',\n iconName: 'air-conditioner',\n icon: [576, 512, [], \"f8f4\", \"M64 48c-8.8 0-16 7.2-16 16V192c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM368 288V392c0 22.1 17.9 40 40 40s40-17.9 40-40c0-14.8-8-27.7-20-34.7c-11.5-6.6-15.4-21.3-8.7-32.8s21.3-15.4 32.8-8.7C478.3 331 496 359.4 496 392c0 48.6-39.4 88-88 88s-88-39.4-88-88V288h48zM208 424V288h48V424c0 48.6-39.4 88-88 88s-88-39.4-88-88c0-32.6 17.7-61 43.9-76.2c11.5-6.6 26.2-2.7 32.8 8.7s2.7 26.2-8.7 32.8c-12 7-20 19.9-20 34.7c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faAngleDown = {\n prefix: 'far',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M241 337c-9.4 9.4-24.6 9.4-33.9 0L47 177c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143L367 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L241 337z\"]\n};\nvar faMountains = {\n prefix: 'far',\n iconName: 'mountains',\n icon: [640, 512, [9968], \"f6fd\", \"M464 424.1c0 4.4-3.5 7.9-7.9 7.9H55.9c-4.4 0-7.9-3.5-7.9-7.9c0-1.5 .4-2.9 1.2-4.2L256 90.3 462.8 419.9c.8 1.3 1.2 2.7 1.2 4.2zm-464 0C0 455 25 480 55.9 480H456.1 578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 164.1 487.8 160 480 160s-15 4.1-19.1 10.7l-48.2 79L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1z\"]\n};\nvar faOmega = {\n prefix: 'far',\n iconName: 'omega',\n icon: [448, 512, [], \"f67a\", \"M224 80C126.8 80 48 158.8 48 256c0 63.7 33.8 119.5 84.6 150.4c11.4 7 19.4 19.6 19.4 34.2c0 21.8-17.6 39.4-39.4 39.4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H85.4C33.4 391 0 327.4 0 256C0 132.3 100.3 32 224 32s224 100.3 224 224c0 71.4-33.4 135-85.4 176H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H335.4c-21.8 0-39.4-17.6-39.4-39.4c0-14.6 8-27.2 19.4-34.2C366.2 375.5 400 319.7 400 256c0-97.2-78.8-176-176-176z\"]\n};\nvar faCarTunnel = {\n prefix: 'far',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 48C141.1 48 48 141.1 48 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-114.9-93.1-208-208-208zM190.8 277.5L177 320H335l-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5H198.4c-3.5 0-6.5 2.2-7.6 5.5zM122.7 332l22.5-69.3c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7L389.3 332c16.1 11.6 26.7 30.6 26.7 52V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H144v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V384c0-21.4 10.5-40.4 26.7-52zM144 432H368V384c0-8.8-7.2-16-16-16H160c-8.8 0-16 7.2-16 16v48zm16-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm168-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPersonDollyEmpty = {\n prefix: 'far',\n iconName: 'person-dolly-empty',\n icon: [512, 512, [], \"f4d1\", \"M80 0a48 48 0 1 1 0 96A48 48 0 1 1 80 0zM0 488L0 340.3c.5 .4 1.1 .9 1.6 1.3L48 378.1 48 488c0 13.3-10.7 24-24 24s-24-10.7-24-24zM60.6 176c-6.9 0-12.6 5.6-12.6 12.6v83.9c0 2.5 1.1 4.8 3.1 6.3L72 295.2v-117c-3.6-1.4-7.5-2.2-11.4-2.2zM120 234.7v98.2l25.8 20.3c8.1 6.4 13.4 15.6 14.9 25.8l15.1 105.6c1.9 13.1-7.2 25.3-20.4 27.2s-25.3-7.2-27.2-20.4L113.6 388.9 21.4 316.5C7.9 305.9 0 289.6 0 272.4V188.6C0 155.1 27.1 128 60.6 128c24.8 0 48.2 11.7 63.1 31.5L172 224h35.3l-6.5-26.2c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l49.6 198.4c17.6 2.4 32.9 12 42.8 25.7l134.4-33.6c12.9-3.2 25.9 4.6 29.1 17.5s-4.6 25.9-17.5 29.1L351.4 456.9C347.1 488 320.3 512 288 512c-35.3 0-64-28.7-64-64c0-21.3 10.4-40.1 26.3-51.7L219.3 272H168c-12.6 0-24.4-5.9-32-16l-16-21.3zM304 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faPanFood = {\n prefix: 'far',\n iconName: 'pan-food',\n icon: [640, 512, [129368], \"e42b\", \"M528 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM64 256a256 256 0 1 1 512 0A256 256 0 1 1 64 256zM48 184V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24zm568-24c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24zM243.4 142.8C250.7 106.3 282.8 80 320 80s69.3 26.3 76.6 62.8l.6 3.2c1.4 7.3-4.1 14-11.5 14H254.3c-7.4 0-12.9-6.8-11.5-14l.6-3.2zm-13.3 43.1c7.8 7.8 7.8 20.5 0 28.3l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0zM296 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM416 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM227.3 284.7c2.1 2.1 3.5 4.6 4.2 7.3c.4 1.7 .8 3.4 1.1 5.1l0 0c1.1 5.4 2.1 11 5.9 14.7l3.4 3.4c3 3 7.1 4.7 11.3 4.7H280c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56V349.3c0-4.2-1.7-8.3-4.7-11.3l-3.4-3.4c-3.8-3.8-9.3-4.8-14.7-5.9c-1.7-.3-3.5-.7-5.1-1.1c-2.7-.7-5.2-2.1-7.3-4.2c-6.2-6.2-6.2-16.4 0-22.6l8-8 8-8c6.2-6.2 16.4-6.2 22.6 0zm132.9-4.9l79.6-79.6c4.5-4.5 11.9-4.5 16.4 0l2.8 2.8c13.4 13.4 21 31.6 21 50.6v4.8c0 18.7-8.5 36.4-23.1 48.1C446 315.2 432.4 320 418.4 320l-4.1 0c-19.4 0-38-7.7-51.8-21.4l-2.4-2.4c-4.5-4.5-4.5-11.9 0-16.4z\"]\n};\nvar faHeadSideCough = {\n prefix: 'far',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M224 48C126.8 48 48 126.8 48 224c0 42.2 14.8 80.8 39.5 111.1c13.6 16.6 24.5 38.5 24.5 63.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6c0-10.7-4.8-22.2-13.7-33.1C18.9 326.9 0 277.6 0 224C0 100.3 100.3 0 224 0h24c78.8 0 151.4 47.6 183.2 116.2c4.2 9.1 8.2 18.4 12 27.3l1.5 3.5c4.3 10.1 8.5 19.7 13 29c9 18.6 18.7 34.5 31.4 47.1l4.4 4.4c11.9 11.9 18.6 28.1 18.6 45c0 35.1-28.5 63.6-63.6 63.6H448v0 24 64 8c0 35.3-28.7 64-64 64H318.6c-3.3 9.3-12.2 16-22.6 16c-13.3 0-24-10.7-24-24V472c0-13.3 10.7-24 24-24h88c8.8 0 16-7.2 16-16v-8-9.3l-58.4-4.9c-12.2-1-21.6-11.2-21.6-23.4c0-10.8 7.3-20.2 17.8-22.8L400 348V336v-8V312c0-13.3 10.7-24 24-24h24.4c8.6 0 15.6-7 15.6-15.6c0-4.1-1.6-8.1-4.6-11L455 257c-18.1-18.1-30.6-39.4-40.6-60.1c-5-10.4-9.6-21-13.9-31.1l-1.5-3.5c-3.8-9-7.5-17.6-11.4-25.9C363.7 84.7 308.1 48 248 48H224zm80 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM488 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM528 336a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM528 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faGripLines = {\n prefix: 'far',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M448 192c0-13.3-10.7-24-24-24L24 168c-13.3 0-24 10.7-24 24s10.7 24 24 24l400 0c13.3 0 24-10.7 24-24zm0 128c0-13.3-10.7-24-24-24L24 296c-13.3 0-24 10.7-24 24s10.7 24 24 24l400 0c13.3 0 24-10.7 24-24z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M323.8 477.2c-38.2 10.9-78.1-11.2-89-49.4l-5.7-20c-3.7-13-10.4-25-19.5-35l-51.3-56.4c-8.9-9.8-8.2-25 1.6-33.9s25-8.2 33.9 1.6l51.3 56.4c14.1 15.5 24.4 34 30.1 54.1l5.7 20c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7l-5.7-20c-5.7-19.9-14.7-38.7-26.6-55.5c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13L448 288c8.8 0 16-7.2 16-16c0-6.8-4.3-12.7-10.4-15c-7.4-2.8-13-9-14.9-16.7s.1-15.8 5.3-21.7c2.5-2.8 4-6.5 4-10.6c0-7.8-5.6-14.3-13-15.7c-8.2-1.6-15.1-7.3-18-15.2s-1.6-16.7 3.6-23.3c2.1-2.7 3.4-6.1 3.4-9.9c0-6.7-4.2-12.6-10.2-14.9c-11.5-4.5-17.7-16.9-14.4-28.8c.4-1.3 .6-2.8 .6-4.3c0-8.8-7.2-16-16-16H286.5c-12.6 0-25 3.7-35.5 10.7l-61.7 41.1c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l61.7-41.1c18.4-12.3 40-18.8 62.1-18.8H384c34.7 0 62.9 27.6 64 62c14.6 11.7 24 29.7 24 50c0 4.5-.5 8.8-1.3 13c15.4 11.7 25.3 30.2 25.3 51c0 6.5-1 12.8-2.8 18.7C504.8 238.3 512 254.3 512 272c0 35.3-28.6 64-64 64l-92.3 0c4.7 10.4 8.7 21.2 11.8 32.2l5.7 20c10.9 38.2-11.2 78.1-49.4 89zM32 384c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H32z\"]\n};\nvar faUserLock = {\n prefix: 'far',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H384v16c0 11.7 3.1 22.6 8.6 32H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c43.6 0 83.6 15.7 114.6 41.7c-.2 2.1-.3 4.2-.3 6.3v67.7C361.9 379.3 319 352 269.7 352H178.3c-65.7 0-120.1 48.7-129 112zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faArrowRightLong = {\n prefix: 'far',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M505 273c9.4-9.4 9.4-24.6 0-33.9L369 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l95 95L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l406.1 0-95 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 273z\"]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faTicketsAirline = {\n prefix: 'far',\n iconName: 'tickets-airline',\n icon: [640, 512, [], \"e29b\", \"M144 96V320c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V281.8c-24-15.7-40-42.8-40-73.8s16-58.1 40-73.8V96c0-8.8-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zm16-64H576c35.3 0 64 28.7 64 64v56c0 8.8-7.4 15.7-15.6 19.1C610.1 177.2 600 191.4 600 208s10.1 30.8 24.4 36.9c8.1 3.4 15.6 10.3 15.6 19.1v56c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zm320 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM24 96c13.3 0 24 10.7 24 24V360c0 39.8 32.2 72 72 72H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H120C53.7 480 0 426.3 0 360V120c0-13.3 10.7-24 24-24zm264.4 80l-23.2-69.5c-1.7-5.2 2.1-10.5 7.6-10.5H304c8.5 0 16.4 4.5 20.7 11.9L364.4 176h40.3c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5c-11.4 11.4-26.8 17.7-42.8 17.7H364.4l-39.7 68.1c-4.3 7.4-12.2 11.9-20.7 11.9H272.9c-5.5 0-9.3-5.3-7.6-10.5L288.4 240H245.8l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H200c-5.2 0-9-4.9-7.8-9.9l12.5-50.2c.6-2.5 .6-5.2 0-7.8l-12.5-50.2c-1.3-5 2.6-9.9 7.8-9.9h13.8c5 0 9.8 2.4 12.8 6.4L245.8 176h42.7z\"]\n};\nvar faAnchorCircleXmark = {\n prefix: 'far',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c17.2 0 33.9-2.4 49.7-6.8c-14.7-11.8-27.4-25.9-37.6-41.7c-4 .4-8 .5-12.1 .5H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faEllipsis = {\n prefix: 'far',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M432 256a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-160 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM64 304a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faEllipsisH = faEllipsis;\nvar faNfcSlash = {\n prefix: 'far',\n iconName: 'nfc-slash',\n icon: [640, 512, [], \"e1fc\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L38.8 5.1zM145.7 88.9c2.6-5.3 8.1-8.9 14.3-8.9H480c8.8 0 16 7.2 16 16V363.5l-32-25.1V152c0-22.1-17.9-40-40-40H336c-22.1 0-40 17.9-40 40v54.7l-60-47c11.4-1.9 20-11.8 20-23.7c0-13.3-10.7-24-24-24H216c-10.5 0-20.1 4-27.2 10.7L145.7 88.9zM416 300.8l-48.5-38c.3-2.2 .5-4.5 .5-6.8c0-17.8-9.7-33.3-24-41.6V160h72V300.8zm70.9 178.9L426.5 432H160c-8.8 0-16-7.2-16-16V209.5L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4zM385.8 400l-60.9-48H224V272.5l-48-37.8V360c0 22.1 17.9 40 40 40H385.8z\"]\n};\nvar faChessPawn = {\n prefix: 'far',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M232 152A72 72 0 1 0 88 152a72 72 0 1 0 144 0zm24 120H243.4l10.7 80H205.7L195 272H160 125l-10.7 80H65.9l10.7-80H64c-13.3 0-24-10.7-24-24s10.7-24 24-24c-15.1-20.1-24-45-24-72C40 85.7 93.7 32 160 32s120 53.7 120 120c0 27-8.9 51.9-24 72c13.3 0 24 10.7 24 24s-10.7 24-24 24zM52.7 464H267.3l-16.6-32H69.2L52.7 464zm207.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h201z\"]\n};\nvar faKitMedical = {\n prefix: 'far',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M144 432H432V80H144V432zm-48 0V80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H96zM64 32H96h24 24H432h24 24 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H480 456 432 144 120 96 64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32zM480 432h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H480V432zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]\n};\nvar faFirstAid = faKitMedical;\nvar faGrid2Plus = {\n prefix: 'far',\n iconName: 'grid-2-plus',\n icon: [512, 512, [], \"e197\", \"M176 80H80v96h96V80zM80 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm96 304H80v96h96V336zM80 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48zM336 80v96h96V80H336zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80zm96 192c13.3 0 24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H408v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V408H296c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V296c0-13.3 10.7-24 24-24z\"]\n};\nvar faBells = {\n prefix: 'far',\n iconName: 'bells',\n icon: [640, 512, [], \"f77f\", \"M230.8 245.5C203.2 170.3 232.4 88.2 296.5 46c-4.5-2.2-9.1-4.2-13.9-6C214 15.1 138 50.4 112.8 119L98.2 159C84 197.8 57.6 231 23 253.7L14.9 259C4.7 265.7-.8 277.5 .6 289.5s9.4 22.2 20.8 26.3l230.5 83.9 1.1-3.9c9.4-32.5 8.1-67.2-3.5-99.1l-18.7-51.2zM306 218.2c-17-46.4 6.9-97.8 53.3-114.7s97.9 7 114.9 53.4l18.8 51.2c15.8 43.1 43.6 80.8 80.1 108.5L333.7 403.7c9.9-44.6 6.9-91.2-9-134.4L306 218.2zM283.9 404.6l-4.6 15.8c-3.3 11.6 .1 24 9 32.2s21.5 10.8 32.8 6.7L618.6 351.1c11.3-4.1 19.4-14.2 20.8-26.2s-4-23.7-14-30.4l-13.7-9.2c-33.8-22.7-59.6-55.4-73.6-93.6l-18.8-51.2C493.2 69.2 414.1 32.5 342.8 58.4s-108 104.8-81.9 176.2l18.8 51.2c14 38.2 15.5 79.8 4.3 118.9zM480.8 480c35.6 0 64.5-28.8 64.5-64.3c0-1.3 0-2.6-.1-3.9L429.1 454.1c11.8 15.7 30.6 25.9 51.7 25.9zM94.3 376.1c-.3 2.5-.4 5-.4 7.5c0 35.5 28.9 64.3 64.5 64.3c22.3 0 41.9-11.3 53.5-28.4L94.3 376.1z\"]\n};\nvar faPersonThroughWindow = {\n prefix: 'far',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M304 48V66.4c0 46.1-28.9 87.3-72.2 103.1C169.5 192.1 128 251.3 128 317.6l0 82.4H48L48 48H304zm48 0H592V400H510.3L499 385.4l-75.2-97.8c-7.6-9.8-19.3-15.6-31.7-15.6L333 272l-49.4-75.7c42.1-28.9 68.4-77.2 68.4-130V48zm97.7 352H365.9l32 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V400c0 26.5 21.5 48 48 48H303.9l36.2 53.5c7.4 11 22.4 13.8 33.3 6.4s13.8-22.4 6.4-33.3L297.2 352.5 343.6 320l44.6 0 61.5 80zm-178.3 0H176l0-82.4c0-15.7 3.3-30.8 9.4-44.5l86 126.9zm-1.1-87.3l-54.1-79.9c7.3-6 15.4-11 24.2-15l51.9 79.6-22 15.4zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faToolbox = {\n prefix: 'far',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M184 80H328c4.4 0 8 3.6 8 8v40H176V88c0-4.4 3.6-8 8-8zm-56 8v40H99.9c-12.7 0-24.9 5.1-33.9 14.1L14.1 193.9c-9 9-14.1 21.2-14.1 33.9V320v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V320 227.9c0-12.7-5.1-24.9-14.1-33.9l-51.9-51.9c-9-9-21.2-14.1-33.9-14.1H384V88c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM464 296H368V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H192V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H48V227.9L99.9 176H412.1L464 227.9V296zM48 344h96v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344H320v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344h96v72c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V344z\"]\n};\nvar faEnvelopeDot = {\n prefix: 'far',\n iconName: 'envelope-dot',\n icon: [576, 512, [\"envelope-badge\"], \"e16f\", \"M496 160A80 80 0 1 0 496 0a80 80 0 1 0 0 160zm16 224V190.9c-5.2 .7-10.6 1.1-16 1.1c-22.5 0-43.5-6.6-61-18.1L291.5 291.7c-20.7 17-50.4 17-71.1 0L48 150.1V128c0-8.8 7.2-16 16-16H388.6c-3-10.1-4.6-20.9-4.6-32c0-5.4 .4-10.8 1.1-16H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64zM48 212.2L190 328.8c38.4 31.5 93.7 31.5 132 0L464 212.2V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V212.2z\"]\n};\nvar faEnvelopeBadge = faEnvelopeDot;\nvar faHandsHoldingCircle = {\n prefix: 'far',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M320 256A128 128 0 1 0 320 0a128 128 0 1 0 0 256zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faBug = {\n prefix: 'far',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM39 103c9.4-9.4 24.6-9.4 33.9 0l72.4 72.4C161.3 165.7 180 160 200 160H312c20 0 38.7 5.7 54.6 15.5L439 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72.4 72.4C410.3 225.3 416 244 416 264h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H416v8c0 27.2-6.8 52.8-18.8 75.3L473 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-70.9-70.9C339.3 462.5 299.7 480 256 480s-83.3-17.5-112.2-45.9L73 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l75.8-75.8C102.8 372.8 96 347.2 96 320v-8H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96c0-20 5.7-38.7 15.5-54.6L39 137c-9.4-9.4-9.4-24.6 0-33.9zM144 264v56c0 53.6 37.7 98.4 88 109.4V280c0-13.3 10.7-24 24-24s24 10.7 24 24V429.4c50.3-11 88-55.8 88-109.4V264c0-30.9-25.1-56-56-56H200c-30.9 0-56 25.1-56 56z\"]\n};\nvar faBowlChopsticks = {\n prefix: 'far',\n iconName: 'bowl-chopsticks',\n icon: [512, 512, [], \"e2e9\", \"M18.5 125.1C8.8 126.6 0 119.1 0 109.3C0 101.6 5.5 95 13.1 93.6L484.4 5.2C498.7 2.5 512 13.5 512 28.1c0 11.5-8.4 21.2-19.7 23l-473.8 74zM0 159.7c0-8.8 7-16 15.7-16.2l471.9-14.7C501 128.3 512 139 512 152.4c0 13-10.6 23.6-23.6 23.6H16.2C7.3 176 0 168.7 0 159.7zM151.5 432.5c11.5 5.2 20.4 14.7 25 26.4c1.2 3.1 4.2 5.1 7.5 5.1H328c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C421.6 404.8 464 343.3 464 272H48c0 71.3 42.4 132.8 103.5 160.5zM0 272c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48c0 90.8-54.1 169-131.7 204.2c-8.1 21-28.4 35.8-52.3 35.8H184c-23.8 0-44.2-14.9-52.3-35.8C54.1 441 0 362.8 0 272z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H512zm16 144V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCircleS = {\n prefix: 'far',\n iconName: 'circle-s',\n icon: [512, 512, [], \"e121\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM207.6 196.2c1.1-6.2 5-11.8 15.4-15.8c11-4.3 27.6-6 47.8-2.9c6 .9 20.6 4 27.3 5.7c12.8 3.3 25.9-4.5 29.2-17.3s-4.5-25.9-17.3-29.2c-7.7-2-23.9-5.5-32-6.7c-25.6-3.9-51.3-2.6-72.6 5.7c-21.9 8.6-40.3 25.7-45 52c-2.6 14.4-1.3 28 4.4 40.3c5.6 12.1 14.7 20.8 24.1 27.2c17.2 11.6 40.3 18.1 58.6 23.2l2 .6c21.1 5.9 36.7 10.6 46.8 17.4c4.5 3 6.5 5.6 7.4 7.7c.9 1.9 1.8 5.2 .6 11.6c-1.1 6.2-5 11.8-15.4 15.8c-11 4.3-27.5 6-47.7 2.9c-12.2-1.9-36.1-8.9-50-13.4c-12.6-4-26.1 2.9-30.2 15.5s2.9 26.1 15.5 30.2c13.6 4.4 40.9 12.5 57.3 15.1l0 0 .1 0c25.6 3.9 51.3 2.6 72.6-5.7c21.9-8.6 40.3-25.7 45-52c2.6-14.4 1.4-28-4.4-40.3c-5.6-12.1-14.7-20.8-24.1-27.2c-17.2-11.6-40.3-18.1-58.6-23.2l-2-.6c-21.1-5.9-36.7-10.6-46.8-17.4c-4.5-3-6.5-5.6-7.4-7.7c-.9-1.9-1.8-5.2-.6-11.6z\"]\n};\nvar faBoxBallot = {\n prefix: 'far',\n iconName: 'box-ballot',\n icon: [576, 512, [128499], \"f735\", \"M176 208H400V48H176V208zM128 32c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V32zM48 160H96v48H48V320H528V208H480V160h48c26.5 0 48 21.5 48 48V320v24 24 96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368 344 320 208c0-26.5 21.5-48 48-48zM528 368H48l0 96H528V368z\"]\n};\nvar faCar = {\n prefix: 'far',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M127.7 106.8L103.4 176H408.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H165.4c-17 0-32.1 10.7-37.8 26.8zm-79.6 82L82.3 90.9C94.7 55.6 128 32 165.4 32H346.6c37.4 0 70.7 23.6 83.1 58.9l34.3 97.9C492.6 205.4 512 236.4 512 272v80 48 56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H48v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-35.6 19.3-66.6 48.1-83.2zM416 224H96c-26.5 0-48 21.5-48 48v80H464V272c0-26.5-21.5-48-48-48zM112 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'far',\n iconName: 'hand-holding-hand',\n icon: [512, 512, [], \"e4f7\", \"M146.8 318.9c5.8-3.9 12.7-6 19.7-6H305.8c7.9 0 14.2 6.4 14.2 14.2s-6.4 14.2-14.2 14.2H284.4 227.6c-11.8 0-21.3 9.6-21.3 21.3s9.6 21.3 21.3 21.3h56.9 21.3 42.7c3.9 0 7.8-1.1 11.2-3.2l83.1-51.1c2.8-1.7 5.9-2.6 9.2-2.6h6.6c6 0 10.9 4.9 10.9 10.9c0 3.7-1.9 7.1-5 9.2l-85 55c-10.4 6.7-22.4 10.3-34.8 10.3H21.3C9.6 412.4 0 422 0 433.8s9.6 21.3 21.3 21.3H344.6c20.6 0 40.7-5.9 57.9-17.1l85-55c15.3-9.9 24.5-26.8 24.5-45c0-29.6-24-53.6-53.6-53.6h-6.6c-11.1 0-22 3.1-31.5 8.9l-57.7 35.5c0-.6 0-1.2 0-1.8c0-31.4-25.5-56.9-56.9-56.9H166.6c-15.4 0-30.5 4.6-43.4 13.1L57.5 327.1H21.3C9.6 327.1 0 336.7 0 348.4s9.6 21.3 21.3 21.3H64c4.2 0 8.3-1.2 11.8-3.6l71-47.3zM365.2 193.1c-5.8 3.9-12.7 6-19.7 6H206.2c-7.9 0-14.2-6.4-14.2-14.2s6.4-14.2 14.2-14.2h21.3 56.9c11.8 0 21.3-9.6 21.3-21.3s-9.6-21.3-21.3-21.3H227.6 206.2 163.6c-3.9 0-7.8 1.1-11.2 3.2L69.3 182.3c-2.8 1.7-5.9 2.6-9.2 2.6H53.6c-6 0-10.9-4.9-10.9-10.9c0-3.7 1.9-7.1 5-9.2l85-55c10.4-6.7 22.4-10.3 34.8-10.3H490.7c11.8 0 21.3-9.6 21.3-21.3s-9.6-21.3-21.3-21.3H167.4c-20.6 0-40.7 5.9-57.9 17.1l-85 55C9.2 138.9 0 155.8 0 174c0 29.6 24 53.6 53.6 53.6h6.6c11.1 0 22-3.1 31.5-8.9l57.7-35.5c0 .6 0 1.2 0 1.8c0 31.4 25.5 56.9 56.9 56.9H345.4c15.4 0 30.5-4.6 43.4-13.1l65.6-43.8h36.2c11.8 0 21.3-9.6 21.3-21.3s-9.6-21.3-21.3-21.3H448c-4.2 0-8.3 1.2-11.8 3.6l-71 47.3z\"]\n};\nvar faUserTieHair = {\n prefix: 'far',\n iconName: 'user-tie-hair',\n icon: [448, 512, [], \"e45f\", \"M304 144V128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80zM224 0c70.7 0 128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128C96 57.3 153.3 0 224 0zm30.8 418.4l43.8-87.6c3-6 9.4-9.5 15.9-8.4C390.4 335.6 448 401.7 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-79.6 57.6-145.7 133.5-158.9c6.6-1.1 12.9 2.4 15.9 8.4l43.8 87.6 15.9-59.2-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 15.9 59.2zM118.5 376.3C82.3 391.1 55.4 424.2 49.3 464h113l-43.8-87.7zM285.7 464h113c-6.1-39.8-33-72.9-69.2-87.7L285.7 464z\"]\n};\nvar faPodiumStar = {\n prefix: 'far',\n iconName: 'podium-star',\n icon: [448, 512, [], \"f758\", \"M182.4 72c8.3 14.3 23.8 24 41.6 24h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H224c-17.8 0-33.3 9.7-41.6 24H168c-48.6 0-88 39.4-88 88v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H128V112c0-22.1 17.9-40 40-40h14.4zM47.3 224L73.5 455.2c3.7 32.3 31 56.8 63.6 56.8H310.9c32.6 0 59.9-24.4 63.6-56.8L400.7 224H352.4L326.8 449.8c-.9 8.1-7.8 14.2-15.9 14.2H137.1c-8.1 0-15-6.1-15.9-14.2L95.6 224H47.3zm201.5 77.7l-18.2-41.3c-2.6-5.8-10.5-5.8-13.1 0l-18.2 41.3c-1.1 2.4-3.2 4-5.7 4.3l-43.2 5.4c-6.1 .8-8.6 8.7-4 13l31.9 30.9c1.8 1.8 2.7 4.4 2.2 7L171.9 407c-1.2 6.3 5.2 11.2 10.6 8.1l37.9-22.2c2.2-1.3 4.9-1.3 7 0L265.5 415c5.4 3.1 11.8-1.7 10.6-8.1l-8.5-44.6c-.5-2.6 .3-5.2 2.2-7l31.9-30.9c4.5-4.4 2.1-12.3-4-13L254.5 306c-2.5-.3-4.6-2-5.7-4.3z\"]\n};\nvar faUserHairMullet = {\n prefix: 'far',\n iconName: 'user-hair-mullet',\n icon: [448, 512, [\"business-front\", \"party-back\", \"trian-balbot\"], \"e45c\", \"M304 128c0-5.7-.6-11.3-1.7-16.6c-30.6-3.1-58.5-17.9-78.3-40.6c-19.8 22.7-47.6 37.5-78.3 40.6c-1.1 5.4-1.7 10.9-1.7 16.6v16c0 18 6 34.6 16 48h0v0c14.6 19.4 37.8 32 64 32s49.4-12.6 64-32v0h0c10-13.4 16-30 16-48V128zM237.4 271.3c-4.4 .5-8.9 .7-13.4 .7s-9-.2-13.4-.7L193 289c-5.5 5.5-13.2 8-20.8 6.7s-14.2-6.1-17.6-13l-6.1-12.2-19.5 7.8c-9.3 3.7-19.8 1.3-26.6-6s-8.3-18.1-3.8-27c8.5-17 11-22.3 12.2-27.1c.7-2.9 1.1-5.9 1.2-12.3C101.8 187.5 96 166.4 96 144V128c0-7.1 .6-14 1.7-20.7C91.8 102.9 88 95.9 88 88c0-13.3 10.7-24 24-24h1.1C135.3 25.7 176.6 0 224 0s88.7 25.7 110.9 64H336c13.3 0 24 10.7 24 24c0 7.9-3.8 14.9-9.7 19.3c1.1 6.8 1.7 13.7 1.7 20.7v16c0 22.4-5.8 43.5-15.9 61.8c.1 6.4 .5 9.4 1.2 12.3c1.2 4.8 3.7 10.1 12.2 27.1c4.5 8.9 2.9 19.7-3.8 27s-17.3 9.7-26.6 6l-19.5-7.8-6.1 12.2c-3.4 6.9-10 11.7-17.6 13s-15.4-1.3-20.8-6.7l-17.7-17.7zM49.6 464H398.4c-9.3-54.5-56.8-96-113.9-96H163.6c-57.2 0-104.6 41.5-113.9 96zM0 483.6C0 393.2 73.2 320 163.6 320H284.4C374.8 320 448 393.2 448 483.6c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6z\"]\n};\nvar faBusinessFront = faUserHairMullet;\nvar faPartyBack = faUserHairMullet;\nvar faTrianBalbot = faUserHairMullet;\nvar faMicrophoneStand = {\n prefix: 'far',\n iconName: 'microphone-stand',\n icon: [512, 512, [127908], \"f8cb\", \"M476.9 204.9l1-1c45.9-46.9 45.6-122.2-1-168.7s-121.8-46.9-168.7-1l-1 .9 0 0-16 16-16 16 0 0-.9 1C251.8 91 240.4 120.7 240 150.5L17.2 388.2C6.1 400 0 415.5 0 431.6c0 16.8 6.7 33 18.6 44.9l16.8 16.8C47.4 505.3 63.5 512 80.4 512c16.1 0 31.7-6.1 43.4-17.2L232 393.4V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.4L361.5 272c29.8-.4 59.5-11.8 82.4-34.2l1-1 16-16 16-16zM361.9 224L325 187 288 150.1c.5-17.4 7.2-34.6 20.1-48L409.9 203.9c-13.4 12.9-30.7 19.6-48 20.1zm82-54L342.1 68.1c28.2-27.2 73-26.8 100.8 1s28.1 72.7 1 100.8zM80.4 464c-4.1 0-8.1-1.6-11-4.5L52.5 442.6c-2.9-2.9-4.5-6.9-4.5-11c0-3.9 1.5-7.7 4.2-10.6L264.6 194.5 291 221l26.5 26.5L91 459.8c-2.9 2.7-6.7 4.2-10.6 4.2z\"]\n};\nvar faBookOpenReader = {\n prefix: 'far',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M256 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 0a96 96 0 1 1 0 192A96 96 0 1 1 256 0zM228 279l-.2-.1c-.7-.5-2.4-1.5-5.2-2.9c-5.5-2.8-15.4-7.3-30.6-12.2c-28-9-74.2-19.3-144-22.7V417.4c84.9 5 147.1 22.3 184 35.7V282l-4-3zm52 3V453.1c36.9-13.4 99.1-30.7 184-35.7V241.1c-69.9 3.4-116 13.7-144 22.7c-15.1 4.9-25 9.4-30.6 12.2c-2.8 1.4-4.5 2.4-5.2 2.9l-.2 .1-4 3zM32 192.5C199.2 197.4 256 240 256 240s56.8-42.6 224-47.5c17.7-.5 32 13.9 32 31.5V432c0 17.7-14.4 31.9-32 32.7c-114.9 4.7-186.9 33.7-208.8 43.8c-4.8 2.2-9.9 3.5-15.1 3.5s-10.4-1.3-15.1-3.5c-21.9-10.1-93.9-39.1-208.8-43.8c-17.7-.7-32-15-32-32.7V224c0-17.7 14.4-32.1 32-31.5z\"]\n};\nvar faBookReader = faBookOpenReader;\nvar faFamilyDress = {\n prefix: 'far',\n iconName: 'family-dress',\n icon: [512, 512, [], \"e301\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM112.3 208H128h15.7 38.9c-4.3-9.8-6.7-20.6-6.7-32c0-2.4 .1-4.8 .3-7.1c-9.6-5.7-20.8-8.9-32.6-8.9H112.3c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h37.5c-3.5-10-5.5-20.8-5.5-32V336H63.6L96.9 219.6c2-6.9 8.2-11.6 15.4-11.6zM336 176c0 11.4-2.4 22.2-6.7 32h38.9H384h15.7c7.1 0 13.4 4.7 15.4 11.6L448.4 336H368v16c0 11.2-1.9 22-5.5 32H400V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3c-11.8 0-23 3.2-32.6 8.9c.2 2.3 .3 4.7 .3 7.1zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0zM256 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm32 112v16c0 8.8-7.2 16-16 16H256 240c-8.8 0-16-7.2-16-16V336c0-17.7 14.3-32 32-32s32 14.3 32 32zm48 16V336c0-44.2-35.8-80-80-80s-80 35.8-80 80v16c0 24 13.2 44.9 32.7 55.8c-.5 2.7-.7 5.4-.7 8.2v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-2.8-.2-5.5-.7-8.2C322.8 396.9 336 376 336 352z\"]\n};\nvar faCircleX = {\n prefix: 'far',\n iconName: 'circle-x',\n icon: [512, 512, [], \"e12e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.3 136.5c-8.6-10.1-23.7-11.4-33.8-2.8s-11.4 23.7-2.8 33.8L224.6 256l-74.9 88.5c-8.6 10.1-7.3 25.3 2.8 33.8s25.3 7.3 33.8-2.8L256 293.2l69.7 82.3c8.6 10.1 23.7 11.4 33.8 2.8s11.4-23.7 2.8-33.8L287.4 256l74.9-88.5c8.6-10.1 7.3-25.3-2.8-33.8s-25.3-7.3-33.8 2.8L256 218.8l-69.7-82.3z\"]\n};\nvar faCabin = {\n prefix: 'far',\n iconName: 'cabin',\n icon: [512, 512, [], \"e46d\", \"M256 54.1L95.3 176H416.7L256 54.1zM231.8 12.2c14.3-10.8 34.1-10.8 48.4 0L432 127.4V56c0-13.3 10.7-24 24-24s24 10.7 24 24V163.8l22.5 17.1c8.2 6.2 11.5 17 8.2 26.8s-12.4 16.3-22.7 16.3H24c-10.3 0-19.5-6.6-22.7-16.3s0-20.5 8.2-26.8L231.8 12.2zM32 296c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zm0 192c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM56 368H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zm264-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm24 168H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-24-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zM224 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMountainSun = {\n prefix: 'far',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M480 80a80 80 0 1 1 160 0A80 80 0 1 1 480 80zM412.7 281.7l48.2-79C465 196.1 472.2 192 480 192s15 4.1 19.1 10.7l132 216.3c5.8 9.6 8.9 20.6 8.9 31.8c0 33.8-27.4 61.1-61.1 61.1H456.1h0H55.9C25 512 0 487 0 456.1c0-10.5 3-20.8 8.6-29.7L225.2 81c6.6-10.6 18.3-17 30.8-17s24.1 6.4 30.8 17l126 200.7zm28.5 45.4l62.2 99.2c5.6 8.9 8.6 19.2 8.6 29.7c0 2.7-.2 5.3-.6 7.9h67.4c7.2 0 13.1-5.9 13.1-13.1c0-2.4-.7-4.8-1.9-6.8L480 263.6l-38.8 63.6zM456.1 464c4.4 0 7.9-3.5 7.9-7.9c0-1.5-.4-2.9-1.2-4.2L256 122.3 49.2 451.9c-.8 1.3-1.2 2.7-1.2 4.2c0 4.4 3.5 7.9 7.9 7.9H456.1z\"]\n};\nvar faChartSimpleHorizontal = {\n prefix: 'far',\n iconName: 'chart-simple-horizontal',\n icon: [448, 512, [], \"e474\", \"M400 240L48 240l0 32 352 0 0-32zm48 32c0 26.5-21.5 48-48 48L48 320c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l352 0c26.5 0 48 21.5 48 48l0 32zM208 400L48 400l0 32 160 0 0-32zm48 32c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 32zm80-320l0-32L48 80l0 32 288 0zm0 48L48 160c-26.5 0-48-21.5-48-48L0 80C0 53.5 21.5 32 48 32l288 0c26.5 0 48 21.5 48 48l0 32c0 26.5-21.5 48-48 48z\"]\n};\nvar faBluetooth = {\n prefix: 'far',\n iconName: 'bluetooth',\n icon: [384, 512, [], \"f293\", \"M182.1 2.1c8.6-3.9 18.7-2.4 25.8 3.9l136 120c5.3 4.7 8.2 11.4 8.1 18.4s-3.3 13.6-8.7 18.1L229.8 256l113.5 93.5c5.4 4.5 8.6 11.1 8.7 18.1s-2.8 13.8-8.1 18.4l-136 120c-7.1 6.2-17.2 7.8-25.8 3.9S168 497.4 168 488V306.9L71.3 386.5c-10.2 8.4-25.4 7-33.8-3.3s-7-25.4 3.3-33.8L154.2 256 40.7 162.5C30.5 154.1 29 139 37.5 128.7s23.6-11.7 33.8-3.3L168 205.1V24c0-9.4 5.5-18 14.1-21.9zM216 306.9v128l75-66.2-75-61.8zm0-101.7l75-61.8L216 77.2v128z\"]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'far',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHandBackPointLeft = {\n prefix: 'far',\n iconName: 'hand-back-point-left',\n icon: [512, 512, [], \"e19f\", \"M0 176c0-35.3 28.7-64 64-64l188.8 0c3.6-5.2 7.6-10.2 11.9-14.9l18.4-20.3C299.9 58.5 323.5 48 348.3 48l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 328c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-5.3 .7-10.5 1.9-15.5c-20.2-10.8-33.9-32-33.9-56.5c0-2.7 .2-5.4 .5-8L64 240c-35.3 0-64-28.7-64-64zm64-16c-8.8 0-16 7.2-16 16s7.2 16 16 16l136 0c10.3 0 19.5 6.6 22.8 16.4s-.1 20.6-8.3 26.8c-3.9 3-6.4 7.6-6.4 12.8c0 8.8 7.2 16 16 16l8 0c10.3 0 19.5 6.6 22.8 16.4s-.1 20.6-8.3 26.8c-3.9 3-6.4 7.6-6.4 12.8c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l20-11.7-20 11.7-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1L301.5 128l42.5 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-78 0-2 0L64 160z\"]\n};\nvar faMessageDots = {\n prefix: 'far',\n iconName: 'message-dots',\n icon: [512, 512, [\"comment-alt-dots\", \"messaging\"], \"f4a3\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM144 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommentAltDots = faMessageDots;\nvar faMessaging = faMessageDots;\nvar faFileHeart = {\n prefix: 'far',\n iconName: 'file-heart',\n icon: [384, 512, [], \"e176\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM93.7 306.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faBeerMug = {\n prefix: 'far',\n iconName: 'beer-mug',\n icon: [512, 512, [\"beer-foam\"], \"e0b3\", \"M208 0c-26.8 0-51.1 11-68.5 28.8l-.1 0C126.9 20.7 112 16 96 16C51.8 16 16 51.8 16 96s35.8 80 80 80c16 0 30.9-4.7 43.4-12.8l.1 0C156.9 181 181.2 192 208 192c26.5 0 50.6-10.8 68-28.2l0 0c12.8 8.5 28.2 13.5 44.6 13.5c44.5 0 80.6-36.1 80.6-80.6s-36.1-80.6-80.6-80.6c-16.1 0-31.2 4.8-43.9 13l0 0C259.3 11.1 234.9 0 208 0zM173.1 63c8.8-9.3 21.1-15 34.9-15c13.8 0 26.2 5.8 35 15.1c8.4 8.9 19.6 12.8 29.3 13.7c9.7 .9 20.9-1 30.4-7.4c5.2-3.4 11.3-5.4 18-5.4c18 0 32.6 14.6 32.6 32.6s-14.6 32.6-32.6 32.6c-6.8 0-13.1-2.1-18.3-5.6c-9.4-6.4-20.6-8.4-30.3-7.7c-9.7 .7-20.9 4.5-29.4 13.3c-8.8 9.1-21 14.7-34.6 14.7c-13.7 0-26.1-5.7-34.9-15c-8.4-8.9-19.6-12.7-29.2-13.6c-9.7-.8-20.8 1.1-30.3 7.3c-5 3.3-11.1 5.3-17.6 5.3c-17.7 0-32-14.3-32-32s14.3-32 32-32c6.5 0 12.6 1.9 17.6 5.3c9.5 6.3 20.6 8.2 30.3 7.3c9.7-.8 20.8-4.7 29.2-13.6zM32 187.9V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64v-.3l86.8-38c25-11 41.2-35.7 41.2-63V228.8c0-38-30.8-68.8-68.8-68.8H413.8c-17.5 25.7-45.5 43.8-77.8 48.2V431.5c0 .4 0 .7 0 1.1V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V206.9c-17.7-2.5-34-9.2-48-18.9zM208 224c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM320.3 97.2c.1 0 .1 .1 .1 .1l0 0c0 0 .1 0 .2 0c.1 0 .2 0 .2 0l0 0c0 0 .1-.1 .2-.2s.1-.2 .2-.2l0 0c0 0 0-.1 0-.2s0-.2 0-.2l0 0c0 0-.1-.1-.2-.2s-.2-.1-.2-.2l0 0c0 0-.1 0-.2 0c-.1 0-.1 0-.2 0l0 0s0 0 0 0s0 0-.1 0l-.9 .6 .8 .6zM96 96l0 0 0 0 0 0s0 0 0 0s0 0 0 0l0 0 0 0 0 0 0 0 0 0zM443.2 208c11.5 0 20.8 9.3 20.8 20.8V346.7c0 8.3-4.9 15.7-12.5 19.1L384 395.3V208h59.2zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]\n};\nvar faBeerFoam = faBeerMug;\nvar faDiceD20 = {\n prefix: 'far',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M243.7 3.4c7.6-4.6 17.1-4.6 24.7 0l200 120c7.2 4.3 11.7 12.1 11.7 20.6V368c0 8.4-4.4 16.2-11.7 20.6l-200 120c-7.6 4.6-17.1 4.6-24.7 0l-200-120C36.4 384.2 32 376.4 32 368V144c0-8.4 4.4-16.2 11.7-20.6l200-120zM80 191.1v83.4L112.8 215 80 191.1zm65.5 63.9L94.9 347l115 9.2L145.5 255.1zm10.6 145L232 445.6V406.2l-75.9-6.1zM280 406.2v39.5l75.9-45.5L280 406.2zM432 274.6V191.1L399.2 215 432 274.6zM375 173.3l37.6-27.3L327.1 94.6 375 173.3zM184.9 94.6L99.4 145.9 137 173.3l47.9-78.6zM256 70.2L186.7 184H325.3L256 70.2zM324.3 232H187.7L256 339.3 324.3 232zM302.1 356.2l115-9.2-50.6-92L302.1 356.2z\"]\n};\nvar faDrone = {\n prefix: 'far',\n iconName: 'drone',\n icon: [512, 512, [], \"f85f\", \"M224 112C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c5.2 0 10.2-.3 15.2-1L88.7 171.6C64.9 162.3 48 139.1 48 112c0-35.3 28.7-64 64-64c27.1 0 50.3 16.9 59.6 40.7L223 127.2c.7-5 1-10.1 1-15.2zm-10.7 47.9l-39.8-29.9-29.7-22.3C141.7 92.1 128.2 80 112 80c-17.7 0-32 14.3-32 32c0 16.2 12.1 29.7 27.8 31.7l22.3 29.7 29.9 39.8 .1 .1v85.3l-.1 .1-29.9 39.8-22.3 29.7C92.1 370.3 80 383.8 80 400c0 17.7 14.3 32 32 32c16.2 0 29.7-12.1 31.7-27.8l29.7-22.3 39.8-29.9 .1-.1h85.3l.1 .1 39.8 29.9 29.7 22.3c2.1 15.7 15.5 27.8 31.7 27.8c17.7 0 32-14.3 32-32c0-16.2-12.1-29.7-27.8-31.7l-22.3-29.7-29.9-39.8-.1-.1V213.3l.1-.1 29.9-39.8 22.3-29.7c15.7-2.1 27.8-15.5 27.8-31.7c0-17.7-14.3-32-32-32c-16.2 0-29.7 12.1-31.7 27.8l-29.7 22.3-39.8 29.9-.1 .1H213.3l-.1-.1zM223 384.8l-51.3 38.5C162.3 447.1 139.1 464 112 464c-35.3 0-64-28.7-64-64c0-27.1 16.9-50.3 40.7-59.6L127.2 289c-5-.7-10.1-1-15.2-1C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-5.2-.3-10.2-1-15.2zM288 112c0 5.2 .3 10.2 1 15.2l51.3-38.5C349.7 64.9 372.9 48 400 48c35.3 0 64 28.7 64 64c0 27.1-16.9 50.3-40.7 59.6L384.8 223c5 .7 10.1 1 15.2 1c61.9 0 112-50.1 112-112S461.9 0 400 0S288 50.1 288 112zm1 272.8c-.7 5-1 10.1-1 15.2c0 61.9 50.1 112 112 112s112-50.1 112-112s-50.1-112-112-112c-5.2 0-10.2 .3-15.2 1l38.5 51.3c23.8 9.3 40.7 32.5 40.7 59.6c0 35.3-28.7 64-64 64c-27.1 0-50.3-16.9-59.6-40.7L289 384.8zM224 208h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16z\"]\n};\nvar faTruckDroplet = {\n prefix: 'far',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 272c-39.8 0-72-29.6-72-66c0-27 39.4-82.9 59.9-110.3c6.1-8.2 18.1-8.2 24.2 0C240.6 123 280 179 280 206c0 36.5-32.2 66-72 66z\"]\n};\nvar faFileCircleXmark = {\n prefix: 'far',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faTemperatureArrowUp = {\n prefix: 'far',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M176 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C87.1 326.5 80 346.4 80 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM64 112C64 50.1 114.1 0 176 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S32 447.5 32 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM224 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3zM448 32c6.8 0 13.3 2.9 17.8 7.9l72 80c8.9 9.9 8.1 25-1.8 33.9s-25 8.1-33.9-1.8L472 118.5 472 456c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-337.5-30.2 33.5c-8.9 9.9-24 10.7-33.9 1.8s-10.7-24-1.8-33.9l72-80c4.6-5.1 11-7.9 17.8-7.9z\"]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'far',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M4.1 38.2L106.4 191.5c11.2-11.6 23.7-21.9 37.3-30.6L68.4 48h64.5l54.9 91.5c15.8-5.5 32.4-9.1 49.6-10.6l-6.1-10.1L169.3 15.5C163.5 5.9 153.1 0 141.9 0H24.6C11 0 0 11 0 24.6c0 4.8 1.4 9.6 4.1 13.6zm276.6 80.5l-6.1 10.1c17.2 1.5 33.8 5.2 49.6 10.6L379.2 48h64.5L368.4 160.9c13.6 8.7 26.1 19 37.3 30.6L507.9 38.2c2.7-4 4.1-8.8 4.1-13.6C512 11 501 0 487.4 0H370.1c-11.2 0-21.7 5.9-27.4 15.5L280.8 118.7zM256 208a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm7.2-257.5c-2.9-5.9-11.4-5.9-14.3 0l-19.2 38.9c-1.2 2.4-3.4 4-6 4.4L180.7 304c-6.6 1-9.2 9-4.4 13.6l31 30.2c1.9 1.8 2.7 4.5 2.3 7.1l-7.3 42.7c-1.1 6.5 5.7 11.5 11.6 8.4L252.3 386c2.3-1.2 5.1-1.2 7.4 0l38.4 20.2c5.9 3.1 12.7-1.9 11.6-8.4L302.4 355c-.4-2.6 .4-5.2 2.3-7.1l31-30.2c4.7-4.6 2.1-12.7-4.4-13.6l-42.9-6.2c-2.6-.4-4.9-2-6-4.4l-19.2-38.9z\"]\n};\nvar faBed = {\n prefix: 'far',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V360v96c0 13.3 10.7 24 24 24s24-10.7 24-24V384H312 592v80c0 13.3 10.7 24 24 24s24-10.7 24-24V360 248c0-66.3-53.7-120-120-120H344c-30.9 0-56 25.1-56 56V336H48V56zM592 248v88H336V184c0-4.4 3.6-8 8-8H520c39.8 0 72 32.2 72 72zM128 216a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm128 0A88 88 0 1 0 80 216a88 88 0 1 0 176 0z\"]\n};\nvar faBookCopy = {\n prefix: 'far',\n iconName: 'book-copy',\n icon: [576, 512, [], \"e0be\", \"M192 88c0-48.6 39.4-88 88-88H528c26.5 0 48 21.5 48 48V160v96c0 20.9-13.4 38.7-32 45.3V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H520 272c-44.2 0-80-35.8-80-80V88zM528 48H280c-22.1 0-40 17.9-40 40V262.7c9.8-4.3 20.6-6.7 32-6.7H520h8V160 48zM272 304c-17.7 0-32 14.3-32 32s14.3 32 32 32H496V304H272zM160 96v48H88c-22.1 0-40 17.9-40 40V358.7c9.8-4.3 20.6-6.7 32-6.7h81.1c2.5 17.7 9.2 34 18.9 48H80c-17.7 0-32 14.3-32 32s14.3 32 32 32H304V448h48v16h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H328 80c-44.2 0-80-35.8-80-80V184c0-48.6 39.4-88 88-88h72z\"]\n};\nvar faSquareH = {\n prefix: 'far',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm336 56V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHSquare = faSquareH;\nvar faSquareC = {\n prefix: 'far',\n iconName: 'square-c',\n icon: [448, 512, [], \"e266\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM167.4 199.4c-31.2 31.2-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0z\"]\n};\nvar faClockTwo = {\n prefix: 'far',\n iconName: 'clock-two',\n icon: [512, 512, [], \"e35a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120v91.2L338.7 172c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3l-96 64c-7.4 4.9-16.8 5.4-24.6 1.2S232 264.9 232 256V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSquareEllipsisVertical = {\n prefix: 'far',\n iconName: 'square-ellipsis-vertical',\n icon: [448, 512, [], \"e26f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCalendarUsers = {\n prefix: 'far',\n iconName: 'calendar-users',\n icon: [640, 512, [], \"e5e2\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H160c-35.3 0-64 28.7-64 64v16 48h16 32 16H480h16 32 16V144 128c0-35.3-28.7-64-64-64H440V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H248V24zm6.7 440c.9 5.2 1.3 10.5 1.3 16c0 11.7-3.1 22.6-8.6 32H392.6c-5.4-9.4-8.6-20.3-8.6-32c0-5.5 .5-10.8 1.3-16H254.7zM528 384a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-48 32c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H480zM192 304A80 80 0 1 0 32 304a80 80 0 1 0 160 0zM0 480c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faPodcast = {\n prefix: 'far',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M400 224c0 61.1-31.1 115-78.4 146.5c-1.4 17-4.1 36.6-7.1 54.9l-.6 3.8C392.8 394.7 448 315.8 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224c0 91.8 55.2 170.6 134.2 205.3l-.6-3.7c-3-18.4-5.7-38.1-7.1-55.1C79.1 338.9 48 285.1 48 224c0-97.2 78.8-176 176-176s176 78.8 176 176zm-32 0c0-79.5-64.5-144-144-144S80 144.5 80 224c0 42.4 18.3 80.5 47.5 106.9c1.6-7.1 4.3-13.9 8.1-20.3c5.1-8.5 11.7-15.2 18.8-20.5C138 272.9 128 249.6 128 224c0-53 43-96 96-96s96 43 96 96c0 25.6-10 48.9-26.4 66.1c7.2 5.2 13.7 11.9 18.8 20.5c3.8 6.3 6.4 13.1 8.1 20.3C349.7 304.5 368 266.4 368 224zM224 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 80a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM178.9 487.7c5.3 19.8 25.5 24.3 45.1 24.3s39.8-4.6 45.1-24.3c8.1-29.9 21.5-103.9 21.5-138.2c0-36.5-32.4-45.5-66.6-45.5s-66.6 9-66.6 45.5c0 34.4 13.4 108.5 21.5 138.2zM225.5 464c-.5 0-1 0-1.5 0s-1.1 0-1.5 0c-3.1-13.3-6.7-31.9-9.9-51.4c-3.9-23.7-6.5-45.4-7-59c.6-.1 1.4-.3 2.2-.4c4.3-.8 9.7-1.2 16.3-1.2s12 .4 16.3 1.2c.8 .1 1.5 .3 2.2 .4c-.5 13.5-3.1 35.1-7 58.8c-3.2 19.5-6.9 38.1-10 51.5z\"]\n};\nvar faBee = {\n prefix: 'far',\n iconName: 'bee',\n icon: [576, 512, [], \"e0b2\", \"M219.3 4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l31.5 31.5C215.6 73 208 91.6 208 112c0 3 .2 6 .5 8.9C185.7 105 157 96 128 96C63 96 0 140.9 0 208c0 61.9 53.6 104.9 112.9 111.2c-.6-5.1-.9-10.2-.9-15.2c0-11.2 1-22.2 3.1-32.8C74.5 266.1 48 237.2 48 208c0-32.2 32.3-64 80-64c37.3 0 65.2 19.5 75.6 43.3C167.5 213.5 144 256 144 304c0 83.8 103.6 179.7 129.9 202.8c3.9 3.4 8.9 5.2 14.1 5.2s10.2-1.8 14.1-5.2C328.4 483.7 432 387.8 432 304c0-48-23.5-90.5-59.6-116.7C382.8 163.5 410.7 144 448 144c47.7 0 80 31.8 80 64c0 29.2-26.5 58.1-67.1 63.2c2 10.6 3.1 21.6 3.1 32.8c0 5-.3 10.1-.9 15.2C522.4 312.9 576 269.9 576 208c0-67.1-63-112-128-112c-29 0-57.7 9-80.5 24.9c.3-2.9 .5-5.9 .5-8.9c0-20.4-7.6-39-20.2-53.2l31.5-31.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.9 39.5C311.6 34.7 300.1 32 288 32s-23.6 2.7-33.9 7.5L219.3 4.7zm17.6 393.9c-3.8-4.9-7.5-9.8-10.9-14.6H350c-3.4 4.8-7 9.7-10.9 14.6c-17.6 22.5-36.7 42.2-51.1 56c-14.4-13.8-33.5-33.5-51.1-56zm140-62.6H199.1c-4.6-11.7-7.1-22.5-7.1-32H384c0 9.5-2.5 20.3-7.1 32zm-5.8-80H204.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48z\"]\n};\nvar faTemperatureFull = {\n prefix: 'far',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V49.9C119.5 61.4 64 124.2 64 200v33.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32zm0 96h8c57.4 0 104 46.6 104 104v33.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V200c0-57.4 46.6-104 104-104h8zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faCandyBar = {\n prefix: 'far',\n iconName: 'candy-bar',\n icon: [640, 512, [127851, \"chocolate-bar\"], \"e3e8\", \"M0 320V224H128v96H0zm0 64V352H128v96H64c-35.3 0-64-28.7-64-64zm288 64H160V352H288V320H160V224H288V192H160V64H288h48H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H336 288zM36.7 177C43.9 165 48 151 48 136c0-4-.3-7.9-.9-11.7c-1-7 6.2-14.2 13.1-13.1c3.8 .6 7.7 .9 11.7 .9c15 0 29-4.1 41-11.3c6.1-3.6 15 .4 15 7.4V160h0v32h-8l0 0H44.2c-7.1 0-11.1-9-7.4-15zM336 112V400H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H336z\"]\n};\nvar faChocolateBar = faCandyBar;\nvar faXmarkLarge = {\n prefix: 'far',\n iconName: 'xmark-large',\n icon: [448, 512, [], \"e59b\", \"M41 39C31.6 29.7 16.4 29.7 7 39S-2.3 63.6 7 73l183 183L7 439c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l183-183L407 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-183-183L441 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-183 183L41 39z\"]\n};\nvar faPinata = {\n prefix: 'far',\n iconName: 'pinata',\n icon: [512, 512, [], \"e3c3\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H84.4C37.8 48 0 85.8 0 132.4c0 36.3 23.3 68.6 57.7 80.1L96 225.3V440c0 39.8 32.2 72 72 72h22.4c36.2 0 65.6-29.4 65.6-65.6c0-21.2 17.2-38.4 38.4-38.4h19.2c21.2 0 38.4 17.2 38.4 38.4c0 36.2 29.4 65.6 65.6 65.6H440c39.8 0 72-32.2 72-72V328c0-57.4-46.6-104-104-104H272V24zM84.4 96H224V221.2l-23.3 9.3-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1L144 224.4v-4.8c0-17.2-11-32.5-27.4-37.9L72.9 167C58 162 48 148.1 48 132.4C48 112.3 64.3 96 84.4 96zM212.6 260.2l17.5-7c7.1 11.3 19.6 18.8 33.9 18.8H408c20.2 0 37.8 10.7 47.7 26.7c-6.7-1.8-13.8-1.4-20.3 1.2l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-3.4 1.4V258.8l23.3-9.3 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1zM144 335.6l15.3-6.1 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 16.7 8.4v54.5l-11.4-4.6c-8.5-3.4-18-3-26.2 1.1l-19.1 9.6-32.3-12.9c-15.7-15.8-37.3-25.5-61.3-25.5H294.4c-24 0-45.7 9.8-61.3 25.5l-32.3 12.9-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1L144 392.4V335.6zm0 91.2l23.3-9.3 19.1 9.6c7.3 3.6 15.6 4.3 23.3 2.1c-1.1 5.6-1.7 11.3-1.7 17.2c0 9.7-7.9 17.6-17.6 17.6H168c-13.3 0-24-10.7-24-24V426.8zm296.7-9.3l23.3 9.3V440c0 13.3-10.7 24-24 24H417.6c-9.7 0-17.6-7.9-17.6-17.6c0-5.9-.6-11.6-1.7-17.2c7.7 2.3 16 1.5 23.3-2.1l19.1-9.6zM176 168a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsFromLine = {\n prefix: 'far',\n iconName: 'arrows-from-line',\n icon: [448, 512, [], \"e0a4\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L135 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V168c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 7zm7 337c0-13.3-10.7-24-24-24s-24 10.7-24 24v86.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V344zM24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faSuperscript = {\n prefix: 'far',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M472 24c0-8-3.9-15.4-10.5-19.9s-15-5.4-22.4-2.4l-40 16c-12.3 4.9-18.3 18.9-13.4 31.2s18.9 18.3 31.2 13.4l7.1-2.8V176H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h40 40c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V24zM24 64C10.7 64 0 74.7 0 88s10.7 24 24 24H51.2l96 144-96 144H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c8 0 15.5-4 20-10.7l92-138 92 138C272.5 444 280 448 288 448h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H300.8l-96-144 96-144H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H288c-8 0-15.5 4-20 10.7l-92 138L84 74.7C79.5 68 72 64 64 64H24z\"]\n};\nvar faBowlSpoon = {\n prefix: 'far',\n iconName: 'bowl-spoon',\n icon: [512, 512, [129379], \"e3e0\", \"M112 144c-42.6 0-64-28.2-64-48s21.4-48 64-48s64 28.2 64 48s-21.4 48-64 48zm0 48c52.2 0 96-30.6 108.5-72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H220.5C208 30.6 164.2 0 112 0C50.1 0 0 43 0 96s50.1 96 112 96zm64.5 266.9c-4.5-11.7-13.5-21.2-25-26.4C90.4 404.8 48 343.3 48 272H464c0 71.3-42.4 132.8-103.5 160.5c-11.5 5.2-20.4 14.7-25 26.4c-1.2 3.1-4.2 5.1-7.5 5.1H184c-3.3 0-6.3-2-7.5-5.1zM48 224c-26.5 0-48 21.5-48 48c0 90.8 54.1 169 131.7 204.2c8.1 21 28.4 35.8 52.3 35.8H328c23.8 0 44.2-14.9 52.3-35.8C457.9 441 512 362.8 512 272c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faHexagonCheck = {\n prefix: 'far',\n iconName: 'hexagon-check',\n icon: [512, 512, [], \"e416\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faPlugCircleXmark = {\n prefix: 'far',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faStarOfLife = {\n prefix: 'far',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M184 64c0-35.3 28.7-64 64-64h16c35.3 0 64 28.7 64 64v67.3l58.3-33.6c30.6-17.7 69.8-7.2 87.4 23.4l8 13.9c17.7 30.6 7.2 69.8-23.4 87.4L400 256l58.3 33.6c30.6 17.7 41.1 56.8 23.4 87.4l-8 13.9c-17.7 30.6-56.8 41.1-87.4 23.4L328 380.7V448c0 35.3-28.7 64-64 64H248c-35.3 0-64-28.7-64-64V380.7l-58.3 33.6C95.1 432 56 421.5 38.3 390.9l-8-13.9c-17.7-30.6-7.2-69.8 23.4-87.4L112 256 53.7 222.4c-30.6-17.7-41.1-56.8-23.4-87.4l8-13.9C56 90.5 95.1 80 125.7 97.6L184 131.3V64zm64-16c-8.8 0-16 7.2-16 16V172.9c0 8.6-4.6 16.5-12 20.8s-16.6 4.3-24 0l-94.3-54.4c-7.7-4.4-17.4-1.8-21.9 5.9l-8 13.9c-4.4 7.7-1.8 17.4 5.9 21.9L172 235.2c7.4 4.3 12 12.2 12 20.8s-4.6 16.5-12 20.8L77.7 331.2c-7.7 4.4-10.3 14.2-5.9 21.9l8 13.9c4.4 7.7 14.2 10.3 21.9 5.9L196 318.4c7.4-4.3 16.6-4.3 24 0s12 12.2 12 20.8V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V339.1c0-8.6 4.6-16.5 12-20.8s16.6-4.3 24 0l94.3 54.4c7.7 4.4 17.4 1.8 21.9-5.9l8-13.9c4.4-7.7 1.8-17.4-5.9-21.9L340 276.8c-7.4-4.3-12-12.2-12-20.8s4.6-16.5 12-20.8l94.3-54.4c7.7-4.4 10.3-14.2 5.9-21.9l-8-13.9c-4.4-7.7-14.2-10.3-21.9-5.9L316 193.6c-7.4 4.3-16.6 4.3-24 0s-12-12.2-12-20.8V64c0-8.8-7.2-16-16-16H248z\"]\n};\nvar faPhoneSlash = {\n prefix: 'far',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M601.2 5.1c10.4-8.2 25.5-6.3 33.7 4.1s6.3 25.5-4.1 33.7l-592 464c-10.4 8.2-25.5 6.3-33.7-4.1s-6.3-25.5 4.1-33.7l155.6-122C101.8 270 64 171.4 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c8.6 14.9 18.5 29 29.4 42.1L601.2 5.1zM240.4 287.9C228.1 273 217 257 207.2 240.2c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L112 70.5c1.5 93.7 35.2 179.6 90.5 247.1l37.8-29.6zm199.4-12.7l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.2 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2c-86.2-9.2-165.2-42.8-229.7-93.9L273.2 385c65 48.5 145.3 77.6 232.3 79l21.3-99.2-100.4-43L397 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-8-4.6-15.7-9.5-23.3-14.7l39.8-31.3c2.5 1.5 5 3.1 7.6 4.5L384 297.7l31.4-24.7c7.9-1.7 16.4-1.1 24.3 2.3z\"]\n};\nvar faTrafficLightStop = {\n prefix: 'far',\n iconName: 'traffic-light-stop',\n icon: [320, 512, [], \"f63a\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM144 376a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM160 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-120a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faPaintRoller = {\n prefix: 'far',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M352 48H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM64 0H352c35.3 0 64 28.7 64 64v8 48 8c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zm96 352c0-17.7 14.3-32 32-32h8V304c0-39.8 32.2-72 72-72H424c22.1 0 40-17.9 40-40V144c0-10.4-6.7-19.3-16-22.6V72.4c36 4 64 34.5 64 71.6v48c0 48.6-39.4 88-88 88H272c-13.3 0-24 10.7-24 24v16h8c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faAccentGrave = {\n prefix: 'far',\n iconName: 'accent-grave',\n icon: [192, 512, [], \"60\", \"M80 65.3C80 55.8 87.8 48 97.3 48c8.4 0 15.6 6 17 14.3l18.2 102.1L82.9 79.9C81 76.6 80 72.9 80 69.2V65.3zm-48 0v3.9c0 12.3 3.3 24.4 9.5 35.1l57.3 97.4c8.1 13.8 23 22.3 39 22.3c28.2 0 49.5-25.5 44.6-53.3L161.6 53.8C156.1 22.7 129 0 97.3 0C61.2 0 32 29.2 32 65.3z\"]\n};\nvar faHandshakeAngle = {\n prefix: 'far',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M264 320c39.8 0 72-32.2 72-72v-8H440c13.3 0 24 10.7 24 24c0 11.7-8.4 21.5-19.4 23.6c-7.7 1.5-14.2 6.6-17.4 13.8s-2.7 15.5 1.4 22.2c2.2 3.6 3.4 7.8 3.4 12.4c0 13.3-10.7 24-24 24s-24 10.7-24 24c0 8.8-7.2 16-16 16H352 320 253.3c-14.9 0-29.1 5.9-39.6 16.4L159 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l54.6-54.6c1.5-1.5 3.5-2.3 5.7-2.3H320h32 16c28 0 51.8-17.9 60.5-42.9c29.8-8.8 51.5-36.4 51.5-69.1c0-3.9-.3-7.8-.9-11.5C498.9 311.7 512 289.4 512 264c0-39.8-32.2-72-72-72H336V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-22.1 17.9-40 40-40H418.7c14.9 0 29.1-5.9 39.6-16.4L513 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L424.4 61.7c-1.5 1.5-3.5 2.3-5.7 2.3H280c-48.6 0-88 39.4-88 88v96c0 39.8 32.2 72 72 72zM160 132.5c-19 7.5-33.9 23.6-39.4 44.2L99 257.5c-.4 1.4-1.1 2.6-2.1 3.6L7 351c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L130.9 295c7-7 12-15.6 14.5-25.2L160 215.1V132.5zM543.2 250.8L633 161c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-75.3 75.3c10.3 13.9 17.1 30.5 19.4 48.5z\"]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faCircle0 = {\n prefix: 'far',\n iconName: 'circle-0',\n icon: [512, 512, [], \"e0ed\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-53 0-96 43-96 96v64c0 53 43 96 96 96s96-43 96-96V224c0-53-43-96-96-96zm-48 96c0-26.5 21.5-48 48-48s48 21.5 48 48v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V224z\"]\n};\nvar faDialMedLow = {\n prefix: 'far',\n iconName: 'dial-med-low',\n icon: [576, 512, [], \"e160\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM208.8 367.2c-37.9-37.9-43-96.2-15.1-139.6L271 305c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-77.4-77.4c43.4-27.8 101.7-22.8 139.6 15.1c43.7 43.7 43.7 114.7 0 158.4s-114.7 43.7-158.4 0zM174.9 174.9A160 160 0 1 0 401.1 401.1 160 160 0 1 0 174.9 174.9zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLocationDot = {\n prefix: 'far',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faCrab = {\n prefix: 'far',\n iconName: 'crab',\n icon: [512, 512, [129408], \"e3ff\", \"M.2 120l0 0 0 0C4.4 53 60 0 128 0h44.7c7.1 0 10.7 8.6 5.7 13.7L141.7 50.3c-5 5-1.5 13.7 5.7 13.7H184c4.4 0 8.1 3.6 7.5 8c-3.9 31.6-30.9 56-63.5 56H48v33.3c0 9.4 5.4 17.9 13.9 21.8L133.3 216c16.9-12.2 37-20.3 58.7-23V152c0-13.3 10.7-24 24-24s24 10.7 24 24v40h32V152c0-13.3 10.7-24 24-24s24 10.7 24 24v41c21.7 2.7 41.7 10.9 58.7 23l71.4-32.9c8.5-3.9 13.9-12.4 13.9-21.8V128H384c-32.6 0-59.6-24.4-63.5-56c-.5-4.4 3.1-8 7.5-8h36.7c7.1 0 10.7-8.6 5.7-13.7L333.7 13.7c-5-5-1.5-13.7 5.7-13.7H384c68 0 123.6 53 127.8 120l0 0 0 0c0 .1 0 .3 0 .4l.2 7.6h-7.9l-.1 0h8v33.3c0 28.1-16.3 53.6-41.8 65.4L413.1 253c2.2 3.6 4.2 7.2 6 11h31.2l26.9-13.5c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-32 16c-3.3 1.7-7 2.5-10.7 2.5H431.8c.2 2.6 .2 5.3 .2 8v1.4l23.6 7.9c3.5 1.2 6.7 3.2 9.4 5.8l32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-28-28-30-10L387 381l36.6 12.2c3.5 1.2 6.7 3.2 9.4 5.8l32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-28-28-54-18-2.2 2.2L371.7 435c7.6 4.2 12.3 12.3 12.3 21v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V470.1L297.9 449c-.6-.3-1.1-.6-1.6-1H215.7c-.5 .3-1.1 .7-1.6 1L176 470.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V456c0-8.7 4.7-16.7 12.3-21l24.9-13.8L163 419l-54 18L81 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l32-32c2.6-2.6 5.8-4.6 9.4-5.8L125 381 107 363 77 373 49 401c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l32-32c2.6-2.6 5.8-4.6 9.4-5.8L80 321.4V320c0-2.7 .1-5.4 .2-8H56c-3.7 0-7.4-.9-10.7-2.5l-32-16C1.4 287.5-3.4 273.1 2.5 261.3s20.3-16.7 32.2-10.7L61.7 264H92.9c1.8-3.8 3.9-7.4 6-11L41.8 226.7C16.3 214.9 0 189.4 0 161.3V128H8l-.1 0H0l.2-7.6c0-.1 0-.3 0-.4zM296 240H216h-8c-42.9 0-77.9 33.8-79.9 76.2L211.9 400h88.2l83.8-83.8c-2-42.4-37-76.2-79.9-76.2h-8z\"]\n};\nvar faBoxOpenFull = {\n prefix: 'far',\n iconName: 'box-open-full',\n icon: [640, 512, [\"box-full\"], \"f49c\", \"M480.9 3.1C456-6.2 428.4 6.3 419.1 31.2L384 124.8C382.2 55.6 325.6 0 256 0C185.3 0 128 57.3 128 128c0 2.2 .1 4.3 .2 6.5l65.5 8.2c-1.1-4.7-1.7-9.6-1.7-14.7c0-35.3 28.7-64 64-64s64 28.7 64 64c0 10.7-2.6 20.7-7.2 29.6l7.2 .9 161.4-20.2 27.5-73.4c9.3-24.8-3.3-52.5-28.1-61.8zM58.9 170.1L17.2 253.5c-9 17.9 .6 39.6 19.8 45.1l163.3 46.7c13.9 4 28.8-1.9 36.2-14.3L320 192 75.2 161.4c-6.7-.8-13.3 2.7-16.3 8.7zM576 339.6l-48 13.7v57.2l-184 46V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V456.5l-184-46V353.3L64 339.6v71c0 22 15 41.2 36.4 46.6l204.1 51c10.2 2.5 20.9 2.5 31 0l204.1-51c21.4-5.3 36.4-24.5 36.4-46.6v-71zm46.8-86.1l-41.7-83.4c-3-6.1-9.6-9.6-16.3-8.7L320 192l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l163.3-46.7c19.3-5.5 28.8-27.2 19.8-45.1z\"]\n};\nvar faBoxFull = faBoxOpenFull;\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faGreaterThan = {\n prefix: 'far',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M2.5 77.3c-5.9 11.9-1.1 26.3 10.7 32.2L306.3 256 13.3 402.5C1.4 408.5-3.4 422.9 2.5 434.7s20.3 16.7 32.2 10.7l336-168c8.1-4.1 13.3-12.4 13.3-21.5s-5.1-17.4-13.3-21.5l-336-168C22.9 60.6 8.5 65.4 2.5 77.3z\"]\n};\nvar faQuotes = {\n prefix: 'far',\n iconName: 'quotes',\n icon: [576, 512, [], \"e234\", \"M0 96C0 43 43 0 96 0h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H96C69.5 48 48 69.5 48 96H96c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V168 144 96zm48 72l0 24H96V144H48v24zM176 96c0-53 43-96 96-96h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8c-26.5 0-48 21.5-48 48h48c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H224c-26.5 0-48-21.5-48-48V168 144 96zm48 48v24 24h48V144H224zM576 416c0 53-43 96-96 96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c26.5 0 48-21.5 48-48H480c-26.5 0-48-21.5-48-48V320c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48v24 24 48zm-48-48V344 320H480v48h48zM400 416c0 53-43 96-96 96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c26.5 0 48-21.5 48-48H304c-26.5 0-48-21.5-48-48V320c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48v24 24 48zm-48-72V320H304v48h48V344z\"]\n};\nvar faPretzel = {\n prefix: 'far',\n iconName: 'pretzel',\n icon: [512, 512, [129384], \"e441\", \"M56 184.2c0 52.5 20.3 100.3 53.5 135.9l19-26.8C103.3 264 88 225.9 88 184.2c0-39.9 32.3-72.2 72.2-72.2H164c42 0 76 34 76 76v5.1c0 16.8-5.2 33.2-14.9 46.9l-45.9 64.9c0 .1-.1 .1-.1 .2l-46.2 65.2c0 .1-.1 .1-.1 .2l-25.8 36.4c-5.1 7.2-3.4 17.2 3.8 22.3s17.2 3.4 22.3-3.8L163.7 382c6.2-8.7 17.3-12.3 27.4-8.8c20.3 7 42.2 10.8 65 10.8c11.2 0 22.3-.9 33-2.7l-21-29.7c-3.9 .3-7.9 .4-11.9 .4c-9.2 0-18.3-.7-27.2-2.2c-8.2-1.3-15.1-6.8-18.3-14.4s-2.2-16.4 2.6-23.1l23.3-32.9c4.5-6.4 11.8-10.1 19.6-10.1s15.1 3.8 19.6 10.1l11.5 16.3 11.8 16.6c0 0 0 .1 .1 .1l49.3 69.5c0 0 .1 .1 .1 .1l30.6 43.2c5.1 7.2 15.1 8.9 22.3 3.8s8.9-15.1 3.8-22.3l-25.8-36.4c-7.3-10.2-5.4-24.3 4.3-32.4c44.3-36.7 72.4-92 72.4-153.8C456 126.7 409.3 80 351.8 80H348c-29.3 0-55.8 11.6-75.3 30.6c-9.3 9.1-24.1 9.1-33.5 0C219.8 91.6 193.3 80 164 80h-3.8C102.7 80 56 126.7 56 184.2zM81.2 360C36.1 315.1 8 253 8 184.2C8 100.1 76.1 32 160.2 32H164c34.4 0 66.2 11.2 92 30c25.8-18.9 57.6-30 92-30h3.8C435.8 32 504 100.1 504 184.2c0 68.7-28.1 130.9-73.2 175.8l13.5 19c20.4 28.8 13.6 68.8-15.2 89.2s-68.8 13.6-89.2-15.2l0 0 0 0-20.6-29.1C299 429.2 277.8 432 256 432s-43-2.8-63.2-8.1L172.2 453c-20.4 28.8-60.4 35.7-89.2 15.2l13.3-18.8L83 468.2C54.2 447.8 47.3 407.8 67.8 379l0 0 13.5-19zM136 184.2c0 25.3 7.9 48.9 21.4 68.3l28.5-40.2c4-5.6 6.1-12.3 6.1-19.1V188c0-15.5-12.5-28-28-28h-3.8c-13.4 0-24.2 10.8-24.2 24.2zM320 188v5.1c0 6.9 2.1 13.5 6.1 19.1l28.5 40.2c13.5-19.4 21.4-42.9 21.4-68.3c0-13.4-10.8-24.2-24.2-24.2H348c-15.5 0-28 12.5-28 28zm28-76h3.8c39.9 0 72.2 32.3 72.2 72.2c0 49.4-21.5 93.9-55.5 124.6c-5.1 4.6-11.9 6.8-18.7 6s-13-4.4-16.9-10L286.9 240c-9.7-13.7-14.9-30.1-14.9-46.9V188c0-42 34-76 76-76z\"]\n};\nvar faPersonSwimming = {\n prefix: 'far',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M32 160a64 64 0 1 0 128 0A64 64 0 1 0 32 160zM80 334.1C62.8 349 41 360.8 18.8 365.8C5.9 368.7-2.3 381.5 .6 394.5s15.7 21.1 28.7 18.2C58 406.2 81.6 392.2 96 382.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zM256.5 193.9L403 318.1c13.8-3.2 27.9-9.6 40.2-18c2.4-1.7 4.9-3.2 7.5-4.5L295.9 164.3C319.7 151.4 347 144 376 144h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376c-119.3 0-216 96.7-216 216v2.2c10.8 4 21.9 6.2 32 6.2c5.4 0 10.7-.5 16-1.6V312c0-46.1 18.5-87.8 48.5-118.1z\"]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'far',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M174.6 472.6c4.5 4.7 10.8 7.4 17.4 7.4s12.8-2.7 17.4-7.4l168-176c9.2-9.6 8.8-24.8-.8-33.9s-24.8-8.8-33.9 .8L216 396.1 216 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 340.1L41.4 263.4c-9.2-9.6-24.3-9.9-33.9-.8s-9.9 24.3-.8 33.9l168 176z\"]\n};\nvar faUserRobotXmarks = {\n prefix: 'far',\n iconName: 'user-robot-xmarks',\n icon: [448, 512, [], \"e4a7\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H144c-44.2 0-80 35.8-80 80v96c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H240V16zm96 128v96c0 17.7-14.3 32-32 32V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H240V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H176V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304c17.7 0 32 14.3 32 32zm64 304v16H304V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H176V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H48l0-16c0-26.5 21.5-48 48-48H352c26.5 0 48 21.5 48 48zM224 512h64H400c26.5 0 48-21.5 48-48V448c0-53-43-96-96-96H96c-53 0-96 43-96 96v16c0 26.5 21.5 48 48 48H160h64zM16 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM168 157.4l-14.7-14.7c-5.1-5.1-13.4-5.1-18.6 0s-5.1 13.4 0 18.6L149.4 176l-14.7 14.7c-5.1 5.1-5.1 13.4 0 18.6s13.4 5.1 18.6 0L168 194.6l14.7 14.7c5.1 5.1 13.4 5.1 18.6 0s5.1-13.4 0-18.6L186.6 176l14.7-14.7c5.1-5.1 5.1-13.4 0-18.6s-13.4-5.1-18.6 0L168 157.4zm78.7-14.7c-5.1 5.1-5.1 13.4 0 18.6L261.4 176l-14.7 14.7c-5.1 5.1-5.1 13.4 0 18.6s13.4 5.1 18.6 0L280 194.6l14.7 14.7c5.1 5.1 13.4 5.1 18.6 0s5.1-13.4 0-18.6L298.6 176l14.7-14.7c5.1-5.1 5.1-13.4 0-18.6s-13.4-5.1-18.6 0L280 157.4l-14.7-14.7c-5.1-5.1-13.4-5.1-18.6 0z\"]\n};\nvar faMessageQuote = {\n prefix: 'far',\n iconName: 'message-quote',\n icon: [512, 512, [\"comment-alt-quote\"], \"e1e4\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM160 112c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192 168 144c0-17.7-14.3-32-32-32H160zm224 80V168 144c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192z\"]\n};\nvar faCommentAltQuote = faMessageQuote;\nvar faCandyCorn = {\n prefix: 'far',\n iconName: 'candy-corn',\n icon: [640, 512, [], \"f6bd\", \"M612.6 18.1C570.4 4.2 524.1 0 480 0c-44 0-90 4.4-132.2 17.9C331.4 23.4 320 38.8 320 56c0 20.1 7 52 15.6 84c9.1 33.8 21.4 73 34.7 110.4c13.2 37.2 27.9 73.6 41.6 101.3c13.4 27 32.9 64.3 68.1 64.3s54.6-37.3 68.1-64.3c13.8-27.7 28.4-64.1 41.6-101.3C603 213 615.3 173.8 624.4 140C633 108 640 76.1 640 56c0-17.2-11-32.5-27.4-37.9zM480 280c14.2 0 32.1 2.4 45.4 4.6c-6.9 17-13.8 32.6-20.3 45.7c-7 14-12.8 24.8-19.3 32.3c-2.9 3.4-4.9 4.8-5.7 5.2l-.1 .1-.1-.1c-.8-.5-2.8-1.8-5.7-5.2c-6.5-7.5-12.3-18.3-19.3-32.3c-6.5-13.1-13.4-28.7-20.3-45.7c13.3-2.2 31.2-4.6 45.4-4.6zM583.2 107.4C556.2 102.6 512.4 96 480 96s-76.2 6.6-103.2 11.4c-4.7-19.2-7.7-35-8.5-45.5C402.6 51.7 441 48 480 48c39.2 0 77.7 3.6 111.7 13.8c-.9 10.6-3.9 26.4-8.5 45.6zM191.7 122.3c-39.6 20.1-75.4 49.9-106.6 81C54 234.5 24.5 270.1 4.3 309.5c-7.7 15.4-4.9 34.4 7.3 46.6c14.2 14.2 41.8 31.8 70.4 48.3c30.3 17.5 66.8 36.5 102.6 53.6c35.7 16.9 71.8 32.4 101 42.2c28.6 9.6 68.7 22.2 93.6-2.7s12.2-65 2.7-93.6c-9.8-29.3-25.2-65.4-42.2-101c-17-35.9-36.1-72.3-53.6-102.6c-16.5-28.7-34.2-56.2-48.3-70.4c-12.2-12.2-30.8-15.2-46.2-7.5zm91.4 279c10-10 24.4-21 35.4-28.8c7.2 16.9 13.3 32.8 18 46.7c5 14.8 8.5 26.6 9.2 36.5c.3 4.5-.1 6.9-.3 7.8l0 .1-.1 0c-.9 .3-3.3 .7-7.8 .3c-9.9-.7-21.7-4.3-36.5-9.2c-13.9-4.7-29.7-10.8-46.7-18c7.8-10.9 18.8-25.3 28.8-35.4zM234 206.3c-22.5 15.8-58.1 42-81 64.9s-49.2 58.5-64.9 81c-16.9-10.3-30.1-19.3-38.2-26.2c17.1-31.4 41.6-61.2 69.2-88.8c27.7-27.7 57.5-52.4 88.8-69.2c6.8 8.1 15.9 21.4 26.2 38.3z\"]\n};\nvar faFolderMagnifyingGlass = {\n prefix: 'far',\n iconName: 'folder-magnifying-glass',\n icon: [512, 512, [\"folder-search\"], \"e18b\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM336 272c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L327 393.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFolderSearch = faFolderMagnifyingGlass;\nvar faNotebook = {\n prefix: 'far',\n iconName: 'notebook',\n icon: [512, 512, [], \"e201\", \"M240 48H416c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H240V48zm-48 0V464H128c-8.8 0-16-7.2-16-16V416h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V280h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V144h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V64c0-8.8 7.2-16 16-16h64zM64 416v32c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V96H24C10.7 96 0 106.7 0 120s10.7 24 24 24H64v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64z\"]\n};\nvar faDroplet = {\n prefix: 'far',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 464c-79.5 0-144-64.5-144-144c0-13 5.1-33.5 17-61.1c11.5-26.6 27.6-55.8 45.5-84.7c29-46.8 61-90.2 81.5-117c20.5 26.7 52.6 70.2 81.5 117c17.9 28.9 34 58 45.5 84.7c11.9 27.6 17 48.2 17 61.1c0 79.5-64.5 144-144 144zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zm144-8c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 57.4 46.6 104 104 104c13.3 0 24-10.7 24-24s-10.7-24-24-24c-30.9 0-56-25.1-56-56z\"]\n};\nvar faTint = faDroplet;\nvar faBullseyePointer = {\n prefix: 'far',\n iconName: 'bullseye-pointer',\n icon: [512, 512, [], \"f649\", \"M256 464c114.9 0 208-93.1 208-208s-93.1-208-208-208S48 141.1 48 256c0 5.5 .2 10.9 .6 16.3L1.8 286.1C.6 276.2 0 266.2 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-10.2 0-20.2-.6-30.1-1.8l13.8-46.9c5.4 .4 10.8 .6 16.3 .6zm-2.4-48l14.3-48.6C324.2 361.4 368 313.8 368 256c0-61.9-50.1-112-112-112c-57.8 0-105.4 43.8-111.4 100.1L96 258.4c0-.8 0-1.6 0-2.4c0-88.4 71.6-160 160-160s160 71.6 160 160s-71.6 160-160 160c-.8 0-1.6 0-2.4 0zM39 308.5l204.8-60.2c12.1-3.6 23.4 7.7 19.9 19.9L203.5 473c-4.1 13.9-23.2 15.6-29.7 2.6l-28.7-57.3c-.7-1.3-1.5-2.6-2.5-3.7l-88 88c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l88-88c-1.1-1-2.3-1.9-3.7-2.5L36.4 338.2c-13-6.5-11.3-25.6 2.6-29.7z\"]\n};\nvar faEraser = {\n prefix: 'far',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M97 319c-9.4 9.4-9.4 24.6 0 33.9l72 72c4.5 4.5 10.6 7 17 7H294.1c6.4 0 12.5-2.5 17-7l65-65L216 200 97 319zM285.1 63c28.1-28.1 73.7-28.1 101.8 0L513 189.1c28.1 28.1 28.1 73.7 0 101.8L371.9 432H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H296v0c-.6 0-1.3 0-1.9 0H185.9c-19.1 0-37.4-7.6-50.9-21.1l-72-72c-28.1-28.1-28.1-73.7 0-101.8L285.1 63z\"]\n};\nvar faHexagonImage = {\n prefix: 'far',\n iconName: 'hexagon-image',\n icon: [512, 512, [], \"e504\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220zm41.6 48c-4.3-7.4-4.3-16.6 0-24L146.9 91.1c4.3-7.4 12.2-12 20.8-12l176.6 0c8.6 0 16.5 4.6 20.8 12L453.4 244c4.3 7.4 4.3 16.6 0 24l-34.5 59.8-78.1-94c-4.6-5.5-11.3-8.7-18.5-8.7s-13.9 3.2-18.5 8.7L232.2 320l-38.9-40.6c-4.6-4.8-11-7.5-17.6-7.4s-13 2.9-17.4 7.8l-56.9 62.3L58.6 268zM232 160a40 40 0 1 0 -80 0 40 40 0 1 0 80 0z\"]\n};\nvar faEarthAmericas = {\n prefix: 'far',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M256 464C141.1 464 48 370.9 48 256c0-22 3.4-43.1 9.7-63l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v30.4c0 15.9 15.2 27.3 30.5 23c15.9-4.5 28.3-17 32.8-32.8l1.5-5.4c4.6-16.1 15.3-29.7 29.8-38l9.2-5.3c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c73.6 3.6 137.2 45.6 171.2 106.3L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3C448.7 385.4 361.5 464 256 464zm0 48A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faCrateApple = {\n prefix: 'far',\n iconName: 'crate-apple',\n icon: [512, 512, [\"apple-crate\"], \"f6b1\", \"M160 54.9c0 5 4.1 9.1 9.1 9.1C199.4 64 224 39.4 224 9.1c0-5-4.1-9.1-9.1-9.1C184.6 0 160 24.6 160 54.9zM80 171.4c0-15.3 3.8-29 8.7-37.2c2.3-3.8 4.1-5.3 4.9-5.7l0 0c.4-.2 .8-.5 2.4-.5c2.2 0 6.5 .5 12.6 2.1c5.8 1.5 11.9 3.6 17.2 5.7c21.9 8.5 46.4 8.5 68.3 0c5.4-2.1 11.4-4.2 17.2-5.7c6.1-1.6 10.3-2.1 12.6-2.1c1.6 0 2.1 .3 2.4 .5l0 0c.7 .5 2.6 1.9 4.9 5.7c4.9 8.2 8.7 21.9 8.7 37.2c0 7.2-.6 14.1-1.7 20.6h48.5c.8-6.7 1.2-13.5 1.2-20.6c0-43.6-20.4-91.4-64-91.4c-15.6 0-34.1 5.9-47.2 11c-10.7 4.2-22.8 4.2-33.5 0C130.1 85.9 111.6 80 96 80c-43.6 0-64 47.8-64 91.4c0 7 .4 13.9 1.2 20.6H81.7c-1.1-6.5-1.7-13.3-1.7-20.6zM430.3 192h48.5c.8-6.7 1.2-13.5 1.2-20.6c0-43.6-20.4-91.4-64-91.4c-15.6 0-34.1 5.9-47.2 11c-10.7 4.2-22.8 4.2-33.5 0c-12.4-4.8-29.6-10.3-44.6-11c3.4 4 6.4 8.3 9 12.7c7.8 12.9 13.2 27.5 16.4 42.3l1.7 .7c21.9 8.5 46.4 8.5 68.3 0c5.4-2.1 11.4-4.2 17.2-5.7c6.1-1.6 10.3-2.1 12.6-2.1c1.6 0 2.1 .3 2.4 .5l0 0c.7 .5 2.6 1.9 4.9 5.7c4.9 8.2 8.7 21.9 8.7 37.2c0 7.2-.6 14.1-1.7 20.6zM406.9 0C376.6 0 352 24.6 352 54.9c0 5 4.1 9.1 9.1 9.1C391.4 64 416 39.4 416 9.1c0-5-4.1-9.1-9.1-9.1zM456 272c4.4 0 8 3.6 8 8v64H48V280c0-4.4 3.6-8 8-8H456zM48 456V392H464v64c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8zm8-232c-30.9 0-56 25.1-56 56V456c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V280c0-30.9-25.1-56-56-56H56zm360 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM96 320a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faAppleCrate = faCrateApple;\nvar faPersonBurst = {\n prefix: 'far',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H464V176.1c.7 0 1.5-.1 2.3-.1zM464 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L570.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H466.3c-31.7 0-61 17.1-76.6 44.7L331.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L416 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM190.9 18.1C188.4 12 182.6 8 176 8s-12.4 4-14.9 10.1l-29.4 74L55.6 68.9c-6.3-1.9-13.1 .2-17.2 5.3s-4.6 12.2-1.4 17.9l39.5 69.1L10.9 206.4c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2L90.6 327c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6L176 286.1l58.6 53.9c4.8 4.4 11.9 5.5 17.8 2.6s9.5-9 9-15.5l-5.6-79.4 49.9-7.8 23.5-41.6-53.7-37L315 92.2c3.3-5.7 2.7-12.8-1.4-17.9s-10.9-7.2-17.2-5.3L220.3 92.1l-29.4-74z\"]\n};\nvar faGameBoard = {\n prefix: 'far',\n iconName: 'game-board',\n icon: [448, 512, [], \"f867\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 96H224v80H144V96H64v80h80v80H64v80h80v80h80V336h80v80h80V336H304V256h80V176H304V96zM224 256v80H144V256h80zm0 0V176h80v80H224z\"]\n};\nvar faHatChef = {\n prefix: 'far',\n iconName: 'hat-chef',\n icon: [512, 512, [], \"f86b\", \"M180.9 100.3C192.2 69.7 221.6 48 256 48s63.8 21.7 75.1 52.3c3.2 8.7 11.2 14.8 20.5 15.6s18.2-3.8 22.8-11.9c8.3-14.4 23.9-24 41.6-24c26.5 0 48 21.5 48 48c0 10.9-2.9 28.1-8.1 49.2c-5.1 20.6-11.9 43.2-18.8 64.4c-6.9 21.2-13.8 40.6-19 54.8c-1 2.7-1.9 5.3-2.8 7.6H360.6l23.2-133.3c1.5-8.7-4.3-17-13-18.5s-17 4.3-18.5 13L328.1 304H272V160c0-8.8-7.2-16-16-16s-16 7.2-16 16V304H183.9L159.8 165.3c-1.5-8.7-9.8-14.5-18.5-13s-14.5 9.8-13 18.5L151.4 304H96.6c-.9-2.3-1.8-4.9-2.8-7.6c-5.2-14.2-12.1-33.7-19-54.8c-6.9-21.2-13.7-43.8-18.8-64.4C50.9 156.1 48 138.9 48 128c0-26.5 21.5-48 48-48c17.7 0 33.3 9.6 41.6 24c4.7 8.1 13.6 12.7 22.8 11.9s17.3-6.9 20.5-15.6zM454.4 336.7L432 328c22.4 8.7 22.4 8.7 22.4 8.7l0 0 0 0 0-.1 .1-.3 .5-1.3c.4-1.1 1-2.7 1.8-4.8c1.6-4.1 3.8-10.1 6.4-17.3c5.3-14.6 12.4-34.6 19.5-56.4c7.1-21.8 14.3-45.7 19.7-67.8c5.3-21.7 9.4-43.5 9.4-60.6c0-53-43-96-96-96c-21.6 0-41.6 7.2-57.6 19.2C335.1 20.1 297.9 0 256 0s-79.1 20.1-102.4 51.2c-16-12-36-19.2-57.6-19.2C43 32 0 75 0 128c0 17.1 4.1 38.9 9.4 60.6c5.4 22.2 12.6 46 19.7 67.8c7.1 21.8 14.2 41.9 19.5 56.4c2.7 7.3 4.9 13.2 6.4 17.3c.8 2.1 1.4 3.7 1.8 4.8l.5 1.3 .1 .3 0 .1 0 0 0 0s0 0 22.4-8.7l-22.4 8.7C61.2 345.9 70.1 352 80 352H432c9.9 0 18.8-6.1 22.4-15.3zM64 384v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384H400v64c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V384H64z\"]\n};\nvar faHandBackPointRight = {\n prefix: 'far',\n iconName: 'hand-back-point-right',\n icon: [512, 512, [], \"e1a1\", \"M512 176c0-35.3-28.7-64-64-64l-188.8 0c-3.6-5.2-7.6-10.2-11.9-14.9L228.8 76.8C212.1 58.5 188.5 48 163.7 48l-10.2 0C99.5 48 49.5 76.7 22.2 123.4L20.7 126C7.1 149.3 0 175.7 0 202.6L0 328c0 66.3 53.7 120 120 120l8 0 96 0c35.3 0 64-28.7 64-64c0-2.8-.2-5.6-.5-8.3c19.4-11 32.5-31.8 32.5-55.7c0-5.3-.7-10.5-1.9-15.5c20.2-10.8 33.9-32 33.9-56.5c0-2.7-.2-5.4-.5-8l96.5 0c35.3 0 64-28.7 64-64zm-64-16c8.8 0 16 7.2 16 16s-7.2 16-16 16l-136 0c-10.3 0-19.5 6.6-22.8 16.4s.1 20.6 8.3 26.8c3.9 3 6.4 7.6 6.4 12.8c0 8.8-7.2 16-16 16l-8 0c-10.3 0-19.5 6.6-22.8 16.4s.1 20.6 8.3 26.8c3.9 3 6.4 7.6 6.4 12.8c0 8.8-7.2 16-16 16c-9.1 0-17.4 5.1-21.5 13.3s-3.2 17.9 2.3 25.1c2 2.7 3.2 6 3.2 9.6c0 8.8-7.2 16-16 16l-96 0-8 0c-39.8 0-72-32.2-72-72l0-125.4c0-18.4 4.9-36.5 14.2-52.4l-20-11.7 20 11.7 1.5-2.6c18.6-32 52.8-51.6 89.8-51.6l10.2 0c11.3 0 22 4.8 29.6 13.1L210.5 128 168 128c-8.8 0-16 7.2-16 16s7.2 16 16 16l78 0 2 0 200 0z\"]\n};\nvar faDove = {\n prefix: 'far',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M256.3 159c1-14.8 4.3-28.9 9.6-42C251.3 91.3 241.7 61.6 240.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8C190.2 22.2 174.9 44.5 161 76.1c13.4 29 36.1 50.6 63.1 66.9c10.5 6.3 21.4 11.6 32.2 16zM400 160a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM177.1 208c45.8 29 96.4 42.7 132 47c6.8 .8 13.7-1.3 18.8-5.9s8.1-11.1 8.1-18V168c0-30.9 25.1-56 56-56h61.8L436 138.7c-2.6 3.9-4 8.6-4 13.3V296c0 57.4-46.6 104-104 104H269.6c-5.4 0-10.7 1.9-15 5.3L181.2 464c-62.2-.9-106.4-30.9-126.8-51.6l99.7-27.2c8.9-2.4 15.6-9.8 17.3-18.9s-2.1-18.3-9.5-23.7C125.4 316.3 80 267.5 80 184c0-31.8 3.9-55.5 8.9-73.1c20.4 43.4 53.2 74.9 88.2 97.1zM91.2 32c-9.9 0-19.4 4.9-25 13.6C52.7 66.3 32 106.2 32 184c0 77.3 31.8 131.1 66.1 166.7L29.5 369.4c-12.8 3.5-23 13.1-27.3 25.6S.1 421.4 8 432c22.2 29.6 84.5 80 176 80c9.1 0 17.9-3.1 25-8.8L278 448h50c83.9 0 152-68.1 152-152V159.3l25.9-38.9c4-6 6.1-13 6.1-20.1c0-20-16.2-36.3-36.3-36.3H392c-57.4 0-104 46.6-104 104v34.5c-26.3-6.1-57-17.3-85.2-35.1c-38.3-24.2-70.7-60-82.3-111.9C117.5 42.3 105.7 32 91.2 32z\"]\n};\nvar faSnowflakeDroplets = {\n prefix: 'far',\n iconName: 'snowflake-droplets',\n icon: [640, 512, [], \"e5c1\", \"M320 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L469 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L493 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L368 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L493 328.2l28 16.2-22 42.7L469 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L344 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l8.4-31.5-30.1 17.4-22-42.7 28-16.2-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L272 256l-66.2-38.2-77.8 20.9c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l31.5-8.4-37.1-21.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L171 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L296 214.4V137.9L239 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24zM519.1 418.1l47.5-92.4c1.8-3.5 5.4-5.7 9.3-5.7s7.5 2.2 9.3 5.7l47.5 92.4c4.7 9.1 7.1 19.3 7.1 29.5c0 35.3-28.7 64.3-64 64.3s-64-29-64-64.3c0-10.2 2.4-20.4 7.1-29.5zM54.7 325.7c1.8-3.5 5.4-5.7 9.3-5.7s7.5 2.2 9.3 5.7l47.5 92.4c4.7 9.1 7.1 19.3 7.1 29.5C128 483 99.3 512 64 512s-64-29-64-64.3c0-10.2 2.4-20.4 7.1-29.5l47.5-92.4z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'far',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 144c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32H464c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\"]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faGrid4 = {\n prefix: 'far',\n iconName: 'grid-4',\n icon: [448, 512, [], \"e198\", \"M32 89.6V64H57.6V89.6H32zm57.6 16V48c0-8.8-7.2-16-16-16H16C7.2 32 0 39.2 0 48v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H73.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4zm-16 45.9H16c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H73.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zm0 119.5H16c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H73.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM16 390.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6H16zM32 209.1V183.5H57.6v25.6H32zm0 119.5V302.9H57.6v25.6H32zM32 448V422.4H57.6V448H32zM151.5 89.6V64h25.6V89.6H151.5zm57.6 16V48c0-8.8-7.2-16-16-16H135.5c-8.8 0-16 7.2-16 16v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6 0c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4zm-16 45.9h0H135.5c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zm0 119.5H135.5c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM135.5 390.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6H135.5zm16-181.3V183.5h25.6v25.6H151.5zm0 119.5V302.9h25.6v25.6H151.5zm0 119.5V422.4h25.6V448H151.5zM270.9 64h25.6V89.6H270.9V64zm48.6 56c5.3-2.6 9-8.1 9-14.4V48c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h0 57.6 0c2.5 0 4.9-.6 7-1.6zm0 33.1c-2.1-1-4.5-1.6-7-1.6h0H254.9h0c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4zm0 119.5c-2.1-1-4.5-1.6-7-1.6H254.9c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4zm-7 117.8H254.9c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM270.9 183.5h25.6v25.6H270.9V183.5zm0 119.5h25.6v25.6H270.9V302.9zm0 119.5h25.6V448H270.9V422.4zM390.4 89.6V64H416V89.6H390.4zm57.6 16V48c0-8.8-7.2-16-16-16H374.4c-8.8 0-16 7.2-16 16v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h0H432h0c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4zm-16 45.9h0H374.4h0c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H432c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zm0 119.5H374.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H432c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM374.4 390.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6H374.4zm16-181.3V183.5H416v25.6H390.4zm0 119.5V302.9H416v25.6H390.4zm0 119.5V422.4H416V448H390.4z\"]\n};\nvar faSocks = {\n prefix: 'far',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M288 48c0-17 5.3-32.8 14.4-45.8C297.9 .8 293 0 288 0H176c-26.5 0-48 21.5-48 48V234.3c0 21.7-9.8 42.2-26.6 55.9l-66.5 54C12.8 362.2 0 389.1 0 417.5C0 469.7 42.3 512 94.5 512h6.9c22.6 0 44.6-7.6 62.5-21.5l12.9-10.1c-8.4-14.6-13.9-31-15.9-48.5l-26.6 20.8c-9.4 7.3-21 11.3-32.9 11.3H94.5C68.8 464 48 443.2 48 417.5c0-14 6.3-27.2 17.2-36.1l66.5-54c28-22.8 44.3-57 44.3-93.1V144H288V96H176V48H288zM368 0c-26.5 0-48 21.5-48 48V234.3c0 21.7-9.8 42.2-26.6 55.9l-66.5 54c-22.1 17.9-34.9 44.9-34.9 73.3c0 52.2 42.3 94.5 94.5 94.5h6.3c23.1 0 45.5-7.9 63.4-22.5l111.3-90.1c28.1-22.8 44.5-57.1 44.5-93.3V48c0-26.5-21.5-48-48-48H368zm0 48h96V96H368V48zm0 96h96V306.2c0 21.7-9.8 42.3-26.7 56L326 452.2c-9.4 7.6-21.1 11.8-33.2 11.8h-6.3c-25.7 0-46.5-20.8-46.5-46.5c0-14 6.3-27.2 17.2-36.1l66.5-54c28-22.8 44.3-57 44.3-93.1V144z\"]\n};\nvar faFaceSunglasses = {\n prefix: 'far',\n iconName: 'face-sunglasses',\n icon: [512, 512, [], \"e398\", \"M256 464C141.1 464 48 370.9 48 256c0-16.3 1.9-32.2 5.4-47.4l3.9 23.3C61.2 255 81.2 272 104.7 272h78.7c23.5 0 43.5-17 47.3-40.1l6.6-39.9h37.3l6.6 39.9c3.9 23.1 23.9 40.1 47.3 40.1h78.7c23.5 0 43.5-17 47.3-40.1l3.9-23.3c3.6 15.2 5.4 31.1 5.4 47.4c0 114.9-93.1 208-208 208zM227.1 144c-8.7-9.8-21.4-16-35.8-16H96.7c-1.6 0-3.2 .1-4.8 .2C129.9 79.4 189.3 48 256 48s126.1 31.4 164.1 80.2c-1.6-.2-3.2-.2-4.8-.2H320.7c-14.4 0-27.1 6.2-35.8 16H227.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM143.7 332.7c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C319.2 350.5 293.2 368 256 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4z\"]\n};\nvar faInbox = {\n prefix: 'far',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M48 336h81.2l20.9 41.9c6.8 13.6 20.6 22.1 35.8 22.1H326.1c15.1 0 29-8.6 35.8-22.1L382.8 336H464v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V336zm406.5-48H377.9c-15.1 0-29 8.6-35.8 22.1L321.2 352H190.8l-20.9-41.9c-6.8-13.6-20.6-22.1-35.8-22.1H57.5l49-195.9C108.2 85 114.6 80 122 80H390c7.3 0 13.7 5 15.5 12.1l49 195.9zM0 327.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V327.9c0-5.2-.6-10.4-1.9-15.5l-58-231.9C445 52 419.4 32 390 32H122C92.6 32 67 52 59.9 80.5L1.9 312.4C.6 317.4 0 322.6 0 327.9z\"]\n};\nvar faSquare0 = {\n prefix: 'far',\n iconName: 'square-0',\n icon: [448, 512, [], \"e255\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-48 96v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSection = {\n prefix: 'far',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M48.4 90.6c2.8-15.9 12.5-27.3 29-34.6c17.6-7.7 42.8-10.5 73.1-5.6L153.7 30l-3.3 20.5c9.7 1.6 39.9 7.6 49.1 10.1c12.8 3.5 26-4 29.5-16.8s-4-26-16.8-29.5C200.7 11.1 168.7 4.8 158.1 3C121.8-2.8 86.5-.5 58 12.1C28.6 25.1 6.7 49 1 83.3c-.1 .4-.1 .8-.2 1.2c-2.2 19.5 .4 37 7.9 52.3c7.4 15.2 18.8 26.6 31.4 35.3c2.4 1.7 4.9 3.3 7.4 4.8C24.2 189.8 6.8 210.7 1.7 239.4c-.1 .4-.1 .9-.2 1.3c-2.3 18.8 .4 35.8 8.1 50.7c7.6 14.6 19.1 25.5 31.6 33.7c22.9 15.1 53.3 23.9 79.2 31.5l3.6 1c29 8.5 52.3 15.7 67.7 26.7c7.1 5.1 11.4 10.2 13.7 15.6c2.3 5.3 3.6 12.8 1.6 24.2c-2.5 14.2-11.6 25.1-28.5 32.2c-17.7 7.4-43.1 9.9-73.3 5.3c-14.9-2.4-40.4-10.8-61-17.7c-4.5-1.5-8.8-2.9-12.7-4.2c-12.6-4.1-26.1 2.8-30.2 15.4s2.8 26.1 15.4 30.2c3 1 6.5 2.1 10.5 3.5l0 0 0 0 0 0c20.3 6.7 51.4 17.1 70.6 20.2l.1 0c36 5.5 70.9 3.3 99.1-8.5c29-12.1 51.4-34.8 57.3-68.1c3.4-19 1.9-36.3-4.8-51.8c-6.7-15.3-17.6-26.8-29.8-35.6c0 0 0 0 0 0c17.7-13.5 30.5-32.7 34.7-58c3.3-19.7 1.8-37.5-4.7-53.4c-6.5-15.8-17.3-27.9-29.6-37.2c-23.2-17.5-55.1-27.4-81.8-35.6l-.7-.2c-29.3-9-53.3-16.5-69.9-28.1c-7.7-5.4-12.7-11-15.7-17c-2.8-5.8-4.6-13.7-3.4-25.1zM163.2 319.3c-8.6-2.8-17-5.2-25-7.6l-.8-.2C108.3 303 84.2 295.9 67.6 285c-7.8-5.1-12.6-10.3-15.4-15.7c-2.6-5-4.3-11.9-3.2-22.1c2.7-13.9 11.7-24.6 28.4-31.6c13-5.4 30.2-8.3 50.5-7.5c26.9 8.4 48.6 15.8 63.1 26.8c7.1 5.4 11.6 10.9 14.1 17.1c2.5 6.1 3.9 14.7 1.8 27.2c-3.3 19.4-17.2 33.8-43.7 40.1z\"]\n};\nvar faSquareThisWayUp = {\n prefix: 'far',\n iconName: 'square-this-way-up',\n icon: [448, 512, [\"box-up\"], \"f49f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM120 352H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM328 192V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H254.5c-8 0-14.5-6.5-14.5-14.5c0-3.5 1.3-7 3.7-9.6L286.2 120c4.5-5.1 11-8 17.8-8s13.2 2.9 17.8 8l42.6 47.9c2.4 2.7 3.7 6.1 3.7 9.6c0 8-6.5 14.5-14.5 14.5H328zM80 177.5c0-3.5 1.3-7 3.7-9.6L126.2 120c4.5-5.1 11-8 17.8-8s13.2 2.9 17.8 8l42.6 47.9c2.4 2.7 3.7 6.1 3.7 9.6c0 8-6.5 14.5-14.5 14.5H168V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H94.5c-8 0-14.5-6.5-14.5-14.5z\"]\n};\nvar faBoxUp = faSquareThisWayUp;\nvar faGaugeHigh = {\n prefix: 'far',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 408c30.9 0 56-25.1 56-56c0-14-5.1-26.8-13.7-36.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L254.4 296c-30.2 .8-54.4 25.6-54.4 56c0 30.9 25.1 56 56 56zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM112 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm320-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faSquareAmpersand = {\n prefix: 'far',\n iconName: 'square-ampersand',\n icon: [448, 512, [], \"e260\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm184 95.6c0 4.1 1.6 8.1 4.6 11L203 217.1l23.6-17.3c3.4-2.5 5.4-6.4 5.4-10.6c0-7.3-5.9-13.2-13.2-13.2H199.6c-8.6 0-15.6 7-15.6 15.6zm71 46.9l-17.6 12.9 28.7 28.7 26.2-37.8c7.5-10.9 22.5-13.6 33.4-6.1s13.6 22.5 6.1 33.4l-31.1 45L329 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-22.4-22.4c-15.1 18.5-37.8 29.4-62 29.4H178.5c-36.7 0-66.5-29.8-66.5-66.5c0-21.2 10.1-41.1 27.2-53.6l24.7-18.1-9.2-9.2c-11.9-11.9-18.6-28.1-18.6-45c0-35.1 28.5-63.6 63.6-63.6h19.2c33.8 0 61.2 27.4 61.2 61.2c0 19.5-9.3 37.8-25 49.3zm-87.5 64.1c-4.7 3.5-7.5 9-7.5 14.9c0 10.2 8.3 18.5 18.5 18.5h32.2c10.5 0 20.3-5.2 26.3-13.8l1.4-2-40.1-40.1-30.7 22.5z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'far',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M392 48H120c-4.4 0-8 3.6-8 8V225.2L69.2 190.1c-1.7-1.4-3.4-2.6-5.2-3.8V56C64 25.1 89.1 0 120 0H392c30.9 0 56 25.1 56 56V186.2c-1.8 1.2-3.5 2.5-5.2 3.8L400 225.2V56c0-4.4-3.6-8-8-8zM160 120c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zm0 80c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zM48 276.2V456c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V276.2L322 392.8c-38.4 31.5-93.7 31.5-132 0L48 276.2zM0 237.9C0 221.4 13.4 208 29.9 208c6.9 0 13.6 2.4 19 6.8l171.6 141c20.7 17 50.4 17 71.1 0l171.6-141c5.3-4.4 12.1-6.8 19-6.8c16.5 0 29.9 13.4 29.9 29.9V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V237.9z\"]\n};\nvar faLampDesk = {\n prefix: 'far',\n iconName: 'lamp-desk',\n icon: [512, 512, [], \"e014\", \"M347.3 97.9L309.3 59.9C301.6 52.3 291.3 48 280.6 48C258.2 48 240 66.2 240 88.6c0 10.8 4.3 21.1 11.9 28.7l38.1 38.1c9 9 14.1 21.2 14.1 33.9v60.1L441.4 112H381.3c-12.7 0-24.9-5.1-33.9-14.1zm-4.1-72L381.3 64H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-73.5 73.5-45.1 45.1-73.5 73.5c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V189.3l-13.7-13.7c-.6 .7-1.3 1.4-2 2.1l-93.1 86L204.4 464H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H154.5L96.9 262.6c-2.5-8.7 .1-18.1 6.8-24.2l104-96c.5-.5 1-.9 1.5-1.3C198.1 126 192 107.6 192 88.6C192 39.7 231.7 0 280.6 0c23.5 0 46 9.3 62.6 25.9zM432 288c-14.7 0-27.8-6.6-36.6-16.9l67.7-67.7c10.3 8.8 16.9 21.9 16.9 36.6c0 26.5-21.5 48-48 48z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M232 0c-39.8 0-72 32.2-72 72v8H72C32.2 80 0 112.2 0 152V440c0 39.8 32.2 72 72 72h.2 .2 .2 .2 .2H73h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H75h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H77h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H79h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H82h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H85h.2 .2 .2 .2H86h.2 .2 .2 .2H87h.2 .2 .2 .2H88h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H98h.2 .2 .2 .2H99h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2v0H456h8v0H568c39.8 0 72-32.2 72-72V152c0-39.8-32.2-72-72-72H480V72c0-39.8-32.2-72-72-72H232zM480 128h88c13.3 0 24 10.7 24 24v40H536c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v48H536c-13.3 0-24 10.7-24 24s10.7 24 24 24h56V440c0 13.3-10.7 24-24 24H480V336 128zM72 128h88V464h-.1-.2-.2-.2H159h-.2-.2-.2H158h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H154h-.2-.2-.2H153h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H150h-.2-.2-.2H149h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H146h-.2-.2-.2H145h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H142h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H139h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H136h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H133h-.2-.2-.2-.2-.2-.2-.2-.2H131h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H128h-.2-.2-.2-.2-.2-.2-.2-.2H126h-.2-.2-.2-.2-.2-.2-.2-.2H124h-.2-.2-.2-.2-.2-.2-.2-.2H122h-.2-.2-.2-.2-.2-.2-.2-.2H120h-.2-.2-.2-.2-.2-.2-.2-.2H118h-.2-.2-.2-.2-.2-.2-.2-.2H116h-.2-.2-.2-.2-.2-.2-.2-.2H114h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H111h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H108h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H105h-.2-.2-.2-.2H104h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H100h-.2-.2-.2-.2H99h-.2-.2-.2-.2H98h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H88h-.2-.2-.2-.2H87h-.2-.2-.2-.2H86h-.2-.2-.2-.2H85h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H82h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H79h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H77h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H75h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H73h-.2-.2-.2-.2-.2H72c-13.2 0-24-10.7-24-24V336h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V240h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V152c0-13.3 10.7-24 24-24zM208 72c0-13.3 10.7-24 24-24H408c13.3 0 24 10.7 24 24V336 464H368V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H208V72zm88 24v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H344V96c0-8.8-7.2-16-16-16H312c-8.8 0-16 7.2-16 16z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faPollPeople = {\n prefix: 'far',\n iconName: 'poll-people',\n icon: [640, 512, [], \"f759\", \"M128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zM592 80v64H480V80H592zM272 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H272zM592 368v64H352V368H592zM272 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H272zM64 128c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm64 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faWhiskeyGlassIce = {\n prefix: 'far',\n iconName: 'whiskey-glass-ice',\n icon: [512, 512, [\"glass-whiskey-rocks\"], \"f7a1\", \"M50.5 80h411L414.2 404.6c-2.3 15.7-15.8 27.4-31.7 27.4h-253c-15.9 0-29.4-11.7-31.7-27.4L50.5 80zM32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM255.4 179.3l.6-.6c-5-1.8-10.4-2.7-16-2.7H144c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h73.8l-19-19c-8.5-8.5-14.7-18.4-18.6-29H144V224h66.7l44.7-44.7zM312 235.9l56.6 56.6L312 349l-56.6-56.6L312 235.9zm-33.9-33.9l-56.6 56.6c-18.7 18.7-18.7 49.1 0 67.9L278.1 383c18.7 18.7 49.1 18.7 67.9 0l56.6-56.6c18.7-18.7 18.7-49.1 0-67.9l-56.6-56.6c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faGlassWhiskeyRocks = faWhiskeyGlassIce;\nvar faWineBottle = {\n prefix: 'far',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9c-7.5 7.5-18.8 9-27.9 4.4l-72.5 72.5c-8 8-10.9 19.6-9.6 30.9c4 36.7-8.1 74.8-36.2 103L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5l33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6l88 88c6.2 6.2 16.4 6.2 22.6 0l36-36L88.7 312.7l-36 36L18.7 314.7 180.2 153.3c28.1-28.1 66.3-40.2 103-36.2c11.3 1.2 22.9-1.6 30.9-9.6l72.5-72.5c-4.6-9-3.1-20.3 4.4-27.9zM200.7 200.7L311.3 311.3l13.5-13.5c17.4-17.4 24.9-41 22.5-63.8c-2.4-21.8 2.6-49.3 23.4-70l70.7-70.7L418.7 70.6l-70.7 70.7c-20.8 20.8-48.2 25.8-70 23.4c-22.9-2.5-46.4 5-63.8 22.4l-13.5 13.5z\"]\n};\nvar faChessRook = {\n prefix: 'far',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M80 80V192c0 2.5 1.2 4.9 3.2 6.4l51.2 38.4c6.8 5.1 10.4 13.4 9.5 21.9L133.5 352H85.2l9.4-85L54.4 236.8C40.3 226.2 32 209.6 32 192V72c0-22.1 17.9-40 40-40H376c22.1 0 40 17.9 40 40V192c0 17.6-8.3 34.2-22.4 44.8L353.4 267l9.4 85H314.5l-10.4-93.3c-.9-8.4 2.7-16.8 9.5-21.9l51.2-38.4c2-1.5 3.2-3.9 3.2-6.4V80H304v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H192v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H80zm4.7 384H363.3l-16.6-32H101.2L84.7 464zm271.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H72.8C50.2 512 32 493.8 32 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C68.5 390.7 79.5 384 91.5 384h265zM208 288c-8.8 0-16-7.2-16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 8.8-7.2 16-16 16H208z\"]\n};\nvar faUserBountyHunter = {\n prefix: 'far',\n iconName: 'user-bounty-hunter',\n icon: [448, 512, [], \"e2bf\", \"M323 120C309.4 78 270 48 224 48s-85.4 30-99 72H323zm5.5 36.4L248 171.5v98.4l9.5-1.9c7.6-49.7 42.9-81.5 71.9-97.8l-.9-13.8zm-209 0l-.9 13.8c29 16.3 64.2 48.1 71.9 97.8l9.5 1.9V171.5l-80.5-15.1zM96 70C123.1 27.7 170.5 0 224 0c80.1 0 146.5 62.2 151.7 142.2L383 256.5c1.3 20-12.4 37.9-32.1 41.8L250.1 318.4c-5.2 1-10.4 1.6-15.7 1.6H213.5c-5.3 0-10.5-.5-15.7-1.6L97 298.3c-16.2-3.2-28.4-16-31.4-31.6c-1-3.4-1.6-7-1.6-10.7V16C64 7.2 71.2 0 80 0H96c8.8 0 16 7.2 16 16s-7.2 16-16 16V70zM313.6 400H134.4c-40 0-73.6 27.1-83.5 64H160l59.2-44.4c2.8-2.1 6.8-2.1 9.6 0L288 464H397.1c-9.9-36.9-43.5-64-83.5-64zM0 486.4C0 412.2 60.2 352 134.4 352H313.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4z\"]\n};\nvar faBarsStaggered = {\n prefix: 'far',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM64 248c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24z\"]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDiagramSankey = {\n prefix: 'far',\n iconName: 'diagram-sankey',\n icon: [576, 512, [], \"e158\", \"M329.9 80c-2.8 0-5.4 1.5-6.8 3.8L253.8 197.2c-10.2 16.6-28.3 26.8-47.8 26.8H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H206.1c2.8 0 5.4-1.5 6.8-3.8L282.2 58.8C292.3 42.2 310.4 32 329.9 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H329.9zm-124 240l61.7 108c1.4 2.5 4.1 4 6.9 4H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H274.6c-20.1 0-38.7-10.8-48.6-28.2L150.6 320H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H205.9z\"]\n};\nvar faCloudHailMixed = {\n prefix: 'far',\n iconName: 'cloud-hail-mixed',\n icon: [512, 512, [], \"f73a\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM81.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-10.3 24c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l10.3-24c5.2-12.2-.4-26.3-12.6-31.5zm120 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm232 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zM326.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-10.3 24c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l10.3-24zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm256-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCircleUpLeft = {\n prefix: 'far',\n iconName: 'circle-up-left',\n icon: [512, 512, [], \"e128\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 313.4c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L232 296l66.3 66.3c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l36.7-36.7c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7L296 232l33.4-33.4c4.2-4.2 6.6-10 6.6-16c0-12.5-10.1-22.6-22.6-22.6H176c-8.8 0-16 7.2-16 16V313.4z\"]\n};\nvar faDharmachakra = {\n prefix: 'far',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M232.4 24.7l.4 8.5c-44.4 4.6-85 22.1-117.9 48.8l-5.7-6.3c-9.1-10-24.6-10.3-34.2-.8s-9.2 25.1 .8 34.2l6.3 5.7c-26.7 32.9-44.3 73.4-48.8 117.9l-8.5-.4C11.3 231.8 0 242.5 0 256s11.3 24.2 24.7 23.6l8.5-.4c4.6 44.4 22.1 85 48.8 117.9l-6.3 5.7c-10 9.1-10.3 24.6-.8 34.2s25.1 9.2 34.2-.8l5.7-6.3c32.9 26.7 73.4 44.3 117.9 48.8l-.4 8.5c-.6 13.5 10.1 24.7 23.6 24.7s24.2-11.3 23.6-24.7l-.4-8.5c44.4-4.6 85-22.1 117.9-48.8l5.7 6.3c9.1 10 24.6 10.3 34.2 .8s9.2-25.1-.8-34.2l-6.3-5.7c26.7-32.9 44.3-73.4 48.8-117.9l8.5 .4c13.5 .6 24.7-10.1 24.7-23.6s-11.3-24.2-24.7-23.6l-8.5 .4c-4.6-44.4-22.1-85-48.8-117.9l6.3-5.7c10-9.1 10.3-24.6 .8-34.2s-25.1-9.2-34.2 .8L397.1 82c-32.9-26.7-73.4-44.3-117.9-48.8l.4-8.5C280.2 11.3 269.5 0 256 0s-24.2 11.3-23.6 24.7zM147.3 394.4l54.2-59.4c10.9 7.5 23.5 12.9 37.1 15.4l-3.7 80.3c-32.8-3.9-62.9-16.9-87.6-36.3zm29.6-84l-59.4 54.2C98.1 340 85.2 309.9 81.2 277.1l80.3-3.7c2.5 13.6 7.8 26.1 15.4 37.1zM81.2 234.9c3.9-32.8 16.9-62.9 36.3-87.6l59.4 54.2c-7.5 10.9-12.9 23.5-15.4 37.1l-80.3-3.7zm120.3-58l-54.2-59.4c24.7-19.4 54.8-32.4 87.6-36.3l3.7 80.3c-13.6 2.5-26.1 7.8-37.1 15.4zm108.9 0c-10.9-7.5-23.5-12.9-37.1-15.4l3.7-80.3c32.8 3.9 62.9 16.9 87.6 36.3l-54.2 59.4zm54.2 217.5c-24.7 19.4-54.8 32.4-87.6 36.3l-3.7-80.3c13.6-2.5 26.1-7.8 37.1-15.4l54.2 59.4zm29.8-29.8l-59.4-54.2c7.5-10.9 12.9-23.5 15.4-37.1l80.3 3.7c-3.9 32.8-16.9 62.9-36.3 87.6zm0-217.4c19.4 24.7 32.4 54.8 36.3 87.6l-80.3 3.7c-2.5-13.6-7.8-26.1-15.4-37.1l59.4-54.2zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faObjectsAlignLeft = {\n prefix: 'far',\n iconName: 'objects-align-left',\n icon: [512, 512, [], \"e3be\", \"M0 24C0 10.7 10.7 0 24 0S48 10.7 48 24l0 464c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 24zM176 176l288 0 0-64-288 0 0 64zm-48-64c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-288 0c-26.5 0-48-21.5-48-48l0-64zm48 288l160 0 0-64-160 0 0 64zm-48-64c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-64z\"]\n};\nvar faOilCanDrip = {\n prefix: 'far',\n iconName: 'oil-can-drip',\n icon: [640, 512, [], \"e205\", \"M352 88c0 13.3-10.7 24-24 24H280v48h88.9c9.9 0 19.7 2.3 28.6 6.8L448 192l139.8-30 2.1-.4 11.3-2.4 13.9-3c18.1-3.9 30.7 17.6 18.4 31.5l-9.4 10.6-7.6 8.6-1.4 1.6L451.1 394.3c-12.1 13.8-29.6 21.7-48 21.7H144c-26.5 0-48-21.5-48-48V346.7l-67.5-30C11.2 309 0 291.8 0 272.8V208c0-26.5 21.5-48 48-48H96h48 3.2H232V112H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H328c13.3 0 24 10.7 24 24zM458.7 242.1c-11.4 2.4-23.2 .9-33.6-4.3l-50.5-25.2c-1.8-.9-3.7-1.4-5.7-1.4H147.2V364.8H403.1c3.7 0 7.2-1.6 9.6-4.3L530.8 226.6l-72.1 15.4zM96 211.2V208H48v64.8l48 21.3V211.2zM592 448c-26.5 0-48-21.5-48-48c0-21 20.6-62.6 34.9-88.8c5.8-10.6 20.5-10.6 26.3 0C619.4 337.4 640 379 640 400c0 32-21.5 48-48 48z\"]\n};\nvar faFaceSmilingHands = {\n prefix: 'far',\n iconName: 'face-smiling-hands',\n icon: [640, 512, [], \"e396\", \"M320 352c-27.4 0-48.6-9.4-64-20.9V384v2.5c18 8.1 39.4 13.5 64 13.5s46-5.4 64-13.5V384 331.1c-15.4 11.5-36.6 20.9-64 20.9zM112 252.3C114 139.1 206.4 48 320 48s206 91.1 208 204.3c13.3-11.9 31.7-15.2 47.7-9.6C568.7 107.5 456.9 0 320 0S71.3 107.5 64.3 242.6c16-5.5 34.4-2.3 47.7 9.6zm139 200c-4.6 15.8-12.2 30.4-22.1 43c28.3 10.8 59 16.7 91.1 16.7s62.8-5.9 91.1-16.7c-9.9-12.6-17.5-27.2-22.1-43c-21.6 7.6-44.8 11.7-69 11.7s-47.4-4.1-69-11.7zm30.6-223.5l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm129.7 70.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L593.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L561.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L529.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3zM68.7 276.7c-6.2 6.2-6.2 16.4 0 22.6L120 350.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L43.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L88 382.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 340.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L56 414.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 404.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.8 56.8C79.3 502 103.6 512 128.8 512c52.6 0 95.2-42.6 95.2-95.2V384 330.4c0-11-9-20-20-20s-20 9-20 20v19.7c0 7.1-8.6 10.7-13.7 5.7l-79-79c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBroccoli = {\n prefix: 'far',\n iconName: 'broccoli',\n icon: [512, 512, [129382], \"e3e2\", \"M256 0c-37.2 0-69.5 21.2-85.4 52.1C162.2 49.4 153.3 48 144 48c-48.6 0-88 39.4-88 88c0 10.7 1.9 20.9 5.4 30.4C25.5 180.3 0 215.2 0 256c0 53 43 96 96 96H416c53 0 96-43 96-96c0-40.8-25.5-75.7-61.4-89.6c3.5-9.5 5.4-19.7 5.4-30.4c0-48.6-39.4-88-88-88c-9.3 0-18.2 1.4-26.6 4.1C325.5 21.2 293.2 0 256 0zM208.4 89.7C211.5 66.2 231.6 48 256 48s44.5 18.2 47.6 41.7c1.1 8.6 6.9 16 15 19.2s17.3 1.8 24.1-3.8c6.9-5.7 15.7-9.1 25.4-9.1c22.1 0 40 17.9 40 40c0 12-5.3 22.8-13.7 30.2c-7.8 6.8-10.4 17.9-6.3 27.4s13.7 15.4 24.1 14.6c1.3-.1 2.6-.2 4-.2c26.5 0 48 21.5 48 48s-21.5 48-48 48H96c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.3 0 2.7 .1 4 .2c10.3 .8 20-5 24.1-14.6s1.5-20.6-6.3-27.4C109.3 158.8 104 148 104 136c0-22.1 17.9-40 40-40c9.7 0 18.5 3.4 25.4 9.1c6.7 5.5 15.9 7 24.1 3.8s13.8-10.6 15-19.2zM192.2 490.3c5 12.8 17.1 21.7 30.9 21.7h65.9c13.8 0 25.9-8.9 30.9-21.7c17.6-45.3 39.6-82.1 56.1-106.3H280l-16.8 33.7c-2.9 5.9-11.4 5.9-14.3 0L232 384H136.1c16.5 24.2 38.5 60.9 56.1 106.3z\"]\n};\nvar faRouteInterstate = {\n prefix: 'far',\n iconName: 'route-interstate',\n icon: [512, 512, [], \"f61b\", \"M64 192H447.3c-3.3 42-12.4 79.6-27.6 113.3C391 369 338.9 421.2 255.5 461.7c-84.6-37.1-136.4-89.1-164.6-153.4C75.7 273.8 67 235.1 64 192zM272.6 6c-10.2-6.1-23-6.1-33.2 0c-53.2 31.8-107 33.5-178.8 20c-17.7-3.3-35 8.7-37.7 26.9C8 156.5 12.5 249.5 46.9 327.6c34.7 78.9 98.6 139.8 196.5 181.1c8.3 3.5 17.8 3.3 26-.5c95.4-44.7 158.9-105.4 194.1-183.2c34.9-77.2 40.4-168.5 25.5-272.2c-2.6-18.2-19.9-30.2-37.7-26.9C379.6 39.5 325.8 37.8 272.6 6z\"]\n};\nvar faEarMuffs = {\n prefix: 'far',\n iconName: 'ear-muffs',\n icon: [640, 512, [], \"f795\", \"M320 48c-83.1 0-151.4 63.4-159.3 144.4c-2.9-.3-5.8-.4-8.7-.4c-14.4 0-27.9 3.4-39.9 9.5C115.5 89.7 207.3 0 320 0S524.5 89.7 527.9 201.5c-12-6.1-25.5-9.5-39.9-9.5c-3 0-5.9 .1-8.7 .4C471.4 111.4 403.1 48 320 48zM480 224.6c2.6-.4 5.3-.6 8-.6c12 0 23.2 3.8 32.3 10.2c5-1.5 10.3-2.2 15.7-2.2c19.9 0 37.5 10.4 47.4 26.1c23.4 6.7 40.6 28.3 40.6 53.9c0 5.1-.7 10.1-2 14.9c11.1 10.2 18 24.9 18 41.1s-6.9 30.9-18 41.1c1.3 4.7 2 9.7 2 14.9c0 25.6-17.2 47.2-40.6 53.9C573.5 493.6 555.9 504 536 504c-5.5 0-10.7-.8-15.7-2.2C511.2 508.2 500 512 488 512c-30.9 0-56-25.1-56-56c0-10.2 2.7-19.8 7.5-28c-4.8-8.2-7.5-17.8-7.5-28c0-11.9 3.7-22.9 10-32c-6.3-9.1-10-20.1-10-32c0-10.2 2.7-19.8 7.5-28c-4.8-8.2-7.5-17.8-7.5-28c0-28.2 20.9-51.6 48-55.4zM152 224c2.7 0 5.4 .2 8 .6c27.1 3.9 48 27.2 48 55.4c0 10.2-2.7 19.8-7.5 28c4.8 8.2 7.5 17.8 7.5 28c0 11.9-3.7 22.9-10 32c6.3 9.1 10 20.1 10 32c0 10.2-2.7 19.8-7.5 28c4.8 8.2 7.5 17.8 7.5 28c0 30.9-25.1 56-56 56c-12 0-23.2-3.8-32.3-10.2c-5 1.5-10.3 2.2-15.7 2.2c-20 0-37.5-10.4-47.4-26.1C33.2 471.2 16 449.6 16 424c0-5.1 .7-10.1 2-14.9C6.9 398.9 0 384.3 0 368s6.9-30.9 18-41.1c-1.3-4.7-2-9.7-2-14.9c0-25.6 17.2-47.2 40.6-53.9C66.5 242.4 84 232 104 232c5.5 0 10.7 .8 15.7 2.2C128.8 227.8 140 224 152 224zm7 108c-8.6-14.9-8.6-33.2 0-48.1c.7-1.1 1-2.4 1-4c0-4.4-3.6-8-8-8c-1.8 0-3.3 .5-4.6 1.4c-12 8.4-27.1 11-41.2 6.9c-.7-.2-1.4-.3-2.3-.3c-2.8 0-5.3 1.4-6.8 3.8c-6.3 10-16.1 17.3-27.4 20.5c-3.4 1-5.8 4.1-5.8 7.7c0 .8 .1 1.5 .3 2.2c4.8 17.3-.5 35.8-13.7 48c-1.7 1.5-2.6 3.6-2.6 5.9s.9 4.4 2.6 5.9c13.2 12.2 18.5 30.7 13.7 48c-.2 .6-.3 1.3-.3 2.2c0 3.6 2.4 6.7 5.8 7.7c11.4 3.2 21.1 10.5 27.4 20.5c1.5 2.4 4 3.8 6.8 3.8c.9 0 1.6-.1 2.3-.3c14-4.1 29.2-1.6 41.2 6.9c1.3 .9 2.8 1.4 4.6 1.4c4.4 0 8-3.6 8-8c0-1.5-.4-2.8-1-4c-8.6-14.9-8.6-33.2 0-48.1c.7-1.1 1-2.4 1-4c0-1.8-.5-3.3-1.4-4.5c-11.5-16.5-11.5-38.4 0-54.9c.9-1.3 1.4-2.8 1.4-4.5c0-1.5-.4-2.8-1-4zm321-52c0 1.5 .4 2.8 1 4c8.6 14.9 8.6 33.2 0 48.1c-.7 1.1-1 2.4-1 4c0 1.8 .5 3.3 1.4 4.5c11.5 16.5 11.5 38.4 0 54.9c-.9 1.3-1.4 2.8-1.4 4.5c0 1.5 .4 2.8 1 4c8.6 14.9 8.6 33.2 0 48.1c-.7 1.1-1 2.4-1 4c0 4.4 3.6 8 8 8c1.8 0 3.3-.5 4.6-1.4c12-8.4 27.1-11 41.2-6.9c.7 .2 1.4 .3 2.3 .3c2.8 0 5.3-1.4 6.8-3.8c6.3-10 16.1-17.3 27.4-20.5c3.4-1 5.8-4.1 5.8-7.7c0-.8-.1-1.5-.3-2.2c-4.7-17.3 .5-35.8 13.7-48c1.7-1.5 2.6-3.6 2.6-5.9s-.9-4.4-2.6-5.9c-13.2-12.2-18.5-30.7-13.7-48c.2-.6 .3-1.3 .3-2.2c0-3.6-2.4-6.7-5.8-7.7c-11.4-3.2-21.1-10.5-27.4-20.5c-1.5-2.4-4-3.8-6.8-3.8c-.9 0-1.6 .1-2.3 .3c-14 4.1-29.2 1.6-41.2-6.9c-1.3-.9-2.8-1.4-4.6-1.4c-4.4 0-8 3.6-8 8z\"]\n};\nvar faHotdog = {\n prefix: 'far',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M496.2 208.2l-34 34c1.2 1.7 1.9 3.7 1.9 5.8c0 2.6-1 5.2-2.9 7L255 461.1c-1.9 1.9-4.4 2.9-7 2.9c-2.1 0-4.1-.7-5.8-1.9l-34 34c10.7 10.2 25 15.8 39.8 15.8c15.4 0 30.1-6.1 41-17L495 289c10.9-10.9 17-25.6 17-41c0-14.8-5.7-29.1-15.8-39.8zM15.8 303.8l34-34c-1.2-1.7-1.9-3.7-1.9-5.8c0-2.6 1-5.2 2.9-7L17 223 50.9 257 257 50.9c1.9-1.9 4.4-2.9 7-2.9c2.1 0 4.1 .7 5.8 1.9l34-34C293.1 5.7 278.8 0 264 0c-15.4 0-30.1 6.1-41 17L17 223C6.1 233.9 0 248.6 0 264c0 14.8 5.7 29.1 15.8 39.8zM447.6 143.6l-304 304c-21.9 21.9-57.3 21.9-79.2 0s-21.9-57.3 0-79.2l304-304c21.9-21.9 57.3-21.9 79.2 0s21.9 57.3 0 79.2zm33.9 33.9c40.6-40.6 40.6-106.5 0-147.1s-106.5-40.6-147.1 0l-304 304c-40.6 40.6-40.6 106.5 0 147.1s106.5 40.6 147.1 0l304-304zm-70.2-38.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0c-7 7-12.5 10.8-17 13.1c-4.5 2.3-8.5 3.4-13.6 4.7l-1.5 .4c-4.7 1.2-10.9 2.7-17.3 5.6c-7.4 3.4-14.8 8.4-22.7 16.3c-16.2 16.2-20.5 30.7-24 42.7l0 .1c-3.1 10.6-5.5 18.8-16 29.2c-5.5 5.5-9.5 7.8-12.4 9.1c-3 1.3-5.8 1.7-10.6 2.4l-.4 .1c-4.6 .6-10.9 1.6-18 4.5c-7.4 3.1-14.8 8.1-22.6 15.9c-16.2 16.2-20.5 30.7-24 42.7l0 .1c-3.1 10.6-5.5 18.8-16 29.2c-5.5 5.5-9.7 8.1-13.3 9.8c-3.6 1.6-6.9 2.5-12 3.7l-1.2 .3c-5.6 1.4-12.6 3.2-20.4 7.3c-7.9 4-16 9.9-25 18.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c7-7 12.5-10.8 17-13.1c4.5-2.3 8.5-3.4 13.6-4.7l1.5-.4 0 0c4.7-1.2 10.9-2.7 17.3-5.6c7.4-3.4 14.8-8.4 22.7-16.3c16.2-16.2 20.5-30.7 24-42.7l0-.1c3.1-10.6 5.5-18.8 16-29.2c5.5-5.5 9.5-7.8 12.4-9.1c3-1.3 5.8-1.7 10.6-2.4l.4-.1c4.6-.6 10.9-1.6 18-4.5c7.4-3.1 14.8-8.1 22.6-15.9c16.2-16.2 20.5-30.7 24-42.7l0-.1c3.1-10.6 5.5-18.8 16-29.2c5.5-5.5 9.7-8.1 13.3-9.8c3.6-1.6 6.9-2.5 12-3.7l1.2-.3c5.6-1.4 12.6-3.2 20.4-7.3c7.9-4 16-9.9 25-18.9z\"]\n};\nvar faTransporterEmpty = {\n prefix: 'far',\n iconName: 'transporter-empty',\n icon: [512, 512, [], \"e046\", \"M96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'far',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M176 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-14.4 32c-34.8 0-66.3 20.5-80.4 52.3l-47.1 106c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2L120 211.1v68.7c0 17.8 8.5 34.6 22.9 45.2L240 396.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V392.1c0-12.7-6.1-24.7-16.3-32.3L240 336.6V207.3l68 102c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3L271 167.2c-16.3-24.5-43.8-39.2-73.2-39.2H161.6zM168 279.8V176h24V301.4l-20.7-15.2c-2.1-1.5-3.3-3.9-3.3-6.5zm175.4 70.1L450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L370.4 332.6c-3.2 3.7-7 7.1-11.3 10c-5 3.3-10.3 5.7-15.7 7.3zM96.7 482.4c-3.1 12.9 4.8 25.8 17.7 28.9s25.8-4.8 28.9-17.7l26.3-109.4-42-30.8-31 129z\"]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faAngle90 = {\n prefix: 'far',\n iconName: 'angle-90',\n icon: [448, 512, [], \"e08d\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V456c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V56zM96 97.6v48.3c31 3.6 60.4 12.5 87.4 25.7l25.3-41.1C174.2 113 136.2 101.6 96 97.6zm115.2 89.7c32.6 21 60.5 48.9 81.5 81.5l40.9-25.2c-25-39-58.2-72.2-97.2-97.2l-25.2 40.9zM334.1 384h48.3c-4-40.2-15.4-78.2-32.9-112.6l-41.1 25.3c13.2 26.9 22 56.3 25.7 87.4z\"]\n};\nvar faRectangleTerminal = {\n prefix: 'far',\n iconName: 'rectangle-terminal',\n icon: [512, 512, [], \"e236\", \"M448 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm38.3 119.8c-9 9.8-8.3 25 1.5 33.9L180.5 256l-76.7 70.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM248 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faKite = {\n prefix: 'far',\n iconName: 'kite',\n icon: [640, 512, [129665], \"f6f4\", \"M368 48H584c2.2 0 4.2 .9 5.7 2.3L480 160 592 272v6.3c0 3.7-2.6 7-6.3 7.8L289.8 351.9c-.3-.3-.5-.6-.8-.9L480 160 368 48zm-61-4.1L234.1 372l-87.5 87.5c-2.9 2.9-6.9 4.6-11 4.6c-8.6 0-15.6-7-15.6-15.6V359.8l-24-12-24 12v88.6c0 35.1 28.5 63.6 63.6 63.6c16.9 0 33-6.7 45-18.6L268 405.9 596.1 333c25.6-5.7 43.9-28.4 43.9-54.7V56c0-30.9-25.1-56-56-56H361.7c-26.2 0-49 18.2-54.7 43.9zM0 152c0 13.3 10.7 24 24 24h8c22.1 0 40 17.9 40 40v68L18.7 257.4c-1.8-.9-3.8-1.4-5.8-1.4C5.8 256 0 261.8 0 268.9v70.1C0 346.2 5.8 352 12.9 352c2 0 4-.5 5.8-1.4L72 324v0l9.7-4.8c4.5-2.3 9.4-3.4 14.3-3.4l.5 0c3.5 .1 7 .7 10.4 1.9c1.2 .4 2.3 .9 3.4 1.5l0 0L120 324l53.3 26.6c1.8 .9 3.8 1.4 5.8 1.4c7.1 0 12.9-5.8 12.9-12.9V268.9c0-7.1-5.8-12.9-12.9-12.9c-2 0-4 .5-5.8 1.4L120 284V216c0-48.6-39.4-88-88-88H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faDrum = {\n prefix: 'far',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208V368c0 24.9 14.9 44.5 33.2 58.7c18.5 14.3 43.6 25.5 72 33.9C147.4 473 199.8 480 256 480s108.6-7 150.8-19.5c28.4-8.4 53.5-19.6 72-33.9C497.1 412.5 512 392.9 512 368V208c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM307.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6zM424 293.2c15-5.6 28.4-12 40-19V368c0 4.1-2.3 11.2-14.5 20.7c-6.5 5-15 10-25.5 14.7V293.2zM280 319.5c34.4-1.3 66.9-5.6 96-12.2V419.1c-27.9 6.7-60.5 11.1-96 12.5v-112zM136 307.4c29.1 6.6 61.6 10.8 96 12.2v112c-35.5-1.4-68.1-5.8-96-12.5V307.4zM48 274.2c11.6 7 25 13.4 40 19V403.3c-10.4-4.7-18.9-9.6-25.5-14.7C50.3 379.2 48 372.1 48 368V274.2z\"]\n};\nvar faScrubber = {\n prefix: 'far',\n iconName: 'scrubber',\n icon: [512, 512, [], \"f2f8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faIceCream = {\n prefix: 'far',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M224 0C140.9 0 72.6 63.3 64.8 144.4C28.4 148 0 178.7 0 216c0 39.8 32.2 72 72 72h64.4H311.6 376c39.8 0 72-32.2 72-72c0-37.3-28.4-68-64.8-71.6C375.4 63.3 307.1 0 224 0zM112 160c0-61.9 50.1-112 112-112s112 50.1 112 112c0 2.2-.1 4.4-.2 6.6c-.4 6.6 2 13.1 6.5 17.9s10.8 7.5 17.5 7.5H376c13.3 0 24 10.7 24 24s-10.7 24-24 24H311.6 136.4 72c-13.3 0-24-10.7-24-24s10.7-24 24-24H88.2c6.6 0 12.9-2.7 17.5-7.5s6.9-11.3 6.5-17.9c-.1-2.2-.2-4.4-.2-6.6zm88.1 338.1c4.9 8.6 14 13.9 23.9 13.9s19-5.3 23.9-13.9L349.7 320H98.3L200.1 498.1z\"]\n};\nvar faHeartCircleBolt = {\n prefix: 'far',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H452.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faFishBones = {\n prefix: 'far',\n iconName: 'fish-bones',\n icon: [576, 512, [], \"e304\", \"M96 166.9c0-7.2-3.3-14.1-8.9-18.7l-48-38.9c-8.8-7.1-21.3-7.1-30.1-.1s-11.5 19.2-6.6 29.3L54.9 245.4c3.3 6.7 3.3 14.5 0 21.2L2.5 373.4c-5 10.1-2.2 22.3 6.6 29.3s21.3 7 30.1-.1l48-38.9c5.6-4.6 8.9-11.4 8.9-18.7V304h0V280h40v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h40V381.1c0 16.9 17.1 28.4 31.8 20c16-9.1 30.6-19.7 43.7-30.7c39.1-33 66.9-72.4 81-99.8c4.7-9.2 4.7-20.1 0-29.3c-14.1-27.4-41.9-66.8-81-99.8c-13.1-11-27.7-21.6-43.7-30.7c-14.7-8.4-31.8 3.1-31.8 20V232H376V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H280V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H184V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H96V208h0V166.9zM464 330.8V181.2c28.5 24.9 49.7 53.6 61.8 74.8c-12.1 21.2-33.3 49.9-61.8 74.8z\"]\n};\nvar faDeerRudolph = {\n prefix: 'far',\n iconName: 'deer-rudolph',\n icon: [576, 512, [], \"f78f\", \"M240 0c8.8 0 16 7.2 16 16V40c0 13.3 10.7 24 24 24h8 8c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 8.6-1.9 16.7-5.4 24h39.5H416c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 20.7-11.2 38.7-27.9 48.4l43.7 39.7c7.3-9.8 19-16.2 32.1-16.2c22.1 0 40 17.9 40 40s-17.9 40-40 40c0 0-.1 0-.1 0c-2.3 35.7-31.9 64-68.2 64H409.3l-16.1 48.2c-.8 2.4-1.2 5-1.2 7.6V472c0 22.1-17.9 40-40 40H304c-22.1 0-40-17.9-40-40V376h-6.8c-22 0-43.7-4.6-63.8-13.3c-4.3 17.1-14.7 32.3-29.9 42.4l-6.5 4.3 17.8 48.8c9.5 26.1-9.8 53.7-37.6 53.7h-46c-16.8 0-31.8-10.5-37.6-26.3L31.2 423.9c-5.6-15.3-5.8-32-.6-47.4l8.2-24.7c.8-2.4 1.2-5 1.2-7.6v-4.3c0-6.4-2.5-12.5-7-17l-1.1-1.1c-1 8.4-8.4 14.7-16.9 14.1c-8.8-.6-15.5-8.1-15-17l3.3-53c1.1-17.6 6.9-33.9 16.2-47.6c16.2-30 48-50.4 84.5-50.4H295l7.2-24H274c-9.9 0-18-8-18-18c0-8.2 5.6-15.4 13.6-17.4L320 96H296h-8-8c-30.9 0-56-25.1-56-56V16c0-8.8 7.2-16 16-16zM354.9 135.2l-19 63.6c-3 10.2-12.4 17.1-23 17.1H104c-26.5 0-48 21.5-48 48v4.1c0 6.4 2.5 12.5 7 17l3.9 3.9C80.4 302.5 88 320.8 88 339.9v4.3c0 7.7-1.2 15.4-3.7 22.8l-8.2 24.7c-1.7 5.1-1.6 10.7 .2 15.8L96.8 464h28.9l-20.3-55.8c-3.8-10.4 0-22 9.2-28.2l22.2-14.8c7.9-5.2 11.9-14.6 10.4-23.9l-2.9-17.4c-1.6-9.4 2.6-18.9 10.6-24.1s18.4-5.1 26.3 .2l13.7 9.2c18.4 12.3 40 18.8 62.1 18.8H288c13.3 0 24 10.7 24 24V464h32V311.8c0-7.7 1.2-15.4 3.7-22.8l21.5-64.6c3.3-9.8 12.4-16.4 22.8-16.4h59.6c11.3 0 20.4-9.1 20.4-20.4c0-5.7-2.4-11.2-6.7-15.1L408 120.5c-6-5.5-13.8-8.5-21.9-8.5c-14.4 0-27.1 9.4-31.2 23.2zM400 144a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faFax = {\n prefix: 'far',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M176 64c0-8.8 7.2-16 16-16H383.4c4.2 0 8.3 1.7 11.3 4.7l32.6 32.6c3 3 4.7 7.1 4.7 11.3V160h48V96.6c0-17-6.7-33.3-18.7-45.3L428.7 18.7C416.7 6.7 400.4 0 383.4 0H192c-35.3 0-64 28.7-64 64v66c-5.1-1.3-10.5-2-16-2H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H96h16H448c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H176V64zm0 176H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H174c1.3-5.1 2-10.5 2-16V240zM112 464H96 64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v24V448c0 8.8-7.2 16-16 16zM272 272a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM240 400a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM368 272a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM336 400a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faParagraph = {\n prefix: 'far',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M32 192c0-88.4 71.6-160 160-160h64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H384l0 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-376H288V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H192c-88.4 0-160-71.6-160-160zM240 304V80H192C130.1 80 80 130.1 80 192s50.1 112 112 112h48z\"]\n};\nvar faHeadSideHeart = {\n prefix: 'far',\n iconName: 'head-side-heart',\n icon: [512, 512, [], \"e1aa\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm64-34.7c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faSquareE = {\n prefix: 'far',\n iconName: 'square-e',\n icon: [448, 512, [], \"e26d\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V256 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faMeterFire = {\n prefix: 'far',\n iconName: 'meter-fire',\n icon: [640, 512, [], \"e1eb\", \"M256 48c68.7 0 129.5 33.3 167.4 84.6c16.7-8 37.2-5.5 51.5 7.4c5.6 5.1 11.1 10.2 16.6 15.5C452.5 64.1 361.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c33.6 0 65.7-6.5 95.1-18.3c-12.6-11.6-23.6-24.8-32.8-39.2c-19.7 6.2-40.6 9.5-62.3 9.5C141.1 464 48 370.9 48 256S141.1 48 256 48zM368 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 11.2 7.6 20.6 18 23.2c9-12.9 19.1-25.7 30-38.3V152zm-176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm88 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm173.5 11.6c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8C332.7 291.3 320 325.6 320 352c0 87.8 70.3 159.8 160 159.8c88.7 0 160-72 160-159.8c0-20.2-9.6-50.9-24.2-79c-14.8-28.5-35.7-58.5-60.4-81.1c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM530 432.9c-15 10-31 15-49 15c-45 0-81-29-81-78c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c18 33 10 75-20 96z\"]\n};\nvar faCloudHail = {\n prefix: 'far',\n iconName: 'cloud-hail',\n icon: [512, 512, [], \"f739\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM160 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM96 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCheckToSlot = {\n prefix: 'far',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M144 80V360H432V80H144zM96 360V80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V360c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 144 96c-13.3 0-24-10.7-24-24s10.7-24 24-24zM64 288v48H48l0 96H528V336H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H64zM385 179.6L278.3 286.3c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7L191 233c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36.4 36.4L351 145.7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faVoteYea = faCheckToSlot;\nvar faMoneyFromBracket = {\n prefix: 'far',\n iconName: 'money-from-bracket',\n icon: [640, 512, [], \"e312\", \"M48 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88C0 39.4 39.4 0 88 0H552c48.6 0 88 39.4 88 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-22.1-17.9-40-40-40H88C65.9 48 48 65.9 48 88zm416 8h48l0 352c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64l0-352h48l0 304c35.3 0 64 28.7 64 64H400c0-35.3 28.7-64 64-64V96zM320 352c-53 0-96-35.8-96-80s43-80 96-80s96 35.8 96 80s-43 80-96 80z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M293.3 .6c10.9 2.5 18.6 12.2 18.6 23.4V408.7c0 8.9-4.9 17-12.7 21.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5c4.9-10.1 16.1-15.4 27-12.9zM263.9 128.4l-28.6 58.8c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l92.5-49.4V128.4z\"]\n};\nvar faCarBus = {\n prefix: 'far',\n iconName: 'car-bus',\n icon: [640, 512, [], \"f85a\", \"M64.5 80H192 321.4C302.1 65.3 263.5 48 192 48C126.6 48 86.2 64.8 64.5 80zM48 128v80H168V128H48zm0 128v96c0 13.3 10.7 24 24 24H192v48H80v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V411.9C12.7 399 0 377 0 352V118.2c0-22 4.6-51.9 28.8-71.4C58.6 22.7 111.5 0 192 0c84.9 0 135.8 22.1 164.5 46.6c23.4 20 27.5 49.9 27.5 71.6V128H348.2c-4.1 0-8.2 .3-12.2 .8V128H216v80h36.9l-13.7 48H192 48zm56 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm257.8-80c-10.1 0-19.2 6.4-22.6 15.9L322.1 272H541.9l-17.2-48.1c-3.4-9.6-12.5-15.9-22.6-15.9H361.8zm-96.4 79.9L294 207.8c10.2-28.7 37.4-47.8 67.8-47.8H502.2c30.4 0 57.6 19.1 67.8 47.8l28.6 80.1c.2 .5 .3 .9 .5 1.4C623.8 306.7 640 335.5 640 368v32 16 32 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H272v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448 416 400 368c0-32.5 16.2-61.3 40.9-78.7c.1-.5 .3-.9 .5-1.4zM544 320H320c-26.5 0-48 21.5-48 48v32H592V368c0-26.5-21.5-48-48-48zM336 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSpeaker = {\n prefix: 'far',\n iconName: 'speaker',\n icon: [384, 512, [], \"f8df\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM232 120a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM192 432a104 104 0 1 0 0-208 104 104 0 1 0 0 208zM136 328a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faTimer = {\n prefix: 'far',\n iconName: 'timer',\n icon: [512, 512, [], \"e29e\", \"M256 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V49.4C383.6 61.3 464 149.2 464 256c0 114.9-93.1 208-208 208S48 370.9 48 256c0-43.3 13.2-83.5 35.8-116.8c7.5-11 4.6-25.9-6.4-33.3s-25.9-4.6-33.3 6.4C16.3 153.2 0 202.7 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM193 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faBoxesStacked = {\n prefix: 'far',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M384 48c8.8 0 16 7.2 16 16V192h48V64c0-35.3-28.7-64-64-64H192c-35.3 0-64 28.7-64 64V192h48V64c0-8.8 7.2-16 16-16h56v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V48h56zM327.6 512H512c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H327.6c11.8 13.2 20.1 29.7 23.1 48H376v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V272h56c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H350.7c-3.1 18.3-11.3 34.8-23.1 48zM256 272c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16h56v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V272h56zM64 224c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faGrillHot = {\n prefix: 'far',\n iconName: 'grill-hot',\n icon: [448, 512, [], \"e5a5\", \"M120 0C106.7 0 96 10.7 96 24v2.6C96 48 106.7 68 124.5 79.8l12.4 8.3c4.5 3 7.1 8 7.1 13.3V104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.6C192 80 181.3 60 163.5 48.2l-12.4-8.3c-4.5-3-7.1-8-7.1-13.3V24c0-13.3-10.7-24-24-24zM48.9 208H399.1c-8 72-69 128-143.1 128H192c-74.1 0-135.2-56-143.1-128zM32 160c-17.7 0-32 14.3-32 32c0 78.1 46.6 145.3 113.6 175.3l-7.5 17.5c-3.3-.5-6.7-.8-10.1-.8c-35.3 0-64 28.7-64 64s28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H327l10.9 25.5c5.2 12.2 19.3 17.8 31.5 12.6s17.8-19.3 12.6-31.5L334.4 367.3c67-30 113.6-97.2 113.6-175.3c0-17.7-14.3-32-32-32H32zM147.5 410l12.3-28.7c10.5 1.8 21.2 2.7 32.2 2.7h64c11 0 21.7-.9 32.2-2.7L306.5 424H155.3c-2-5-4.7-9.7-7.8-14zM72 448a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM256 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v2.6C208 48 218.7 68 236.5 79.8l12.4 8.3c4.5 3 7.1 8 7.1 13.3V104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.6C304 80 293.3 60 275.5 48.2l-12.4-8.3c-4.5-3-7.1-8-7.1-13.3V24z\"]\n};\nvar faBallotCheck = {\n prefix: 'far',\n iconName: 'ballot-check',\n icon: [448, 512, [], \"f733\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 352c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H96zm80-224c0 13.3 10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200c-13.3 0-24 10.7-24 24zm32 128c0 13.3 10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H232c-13.3 0-24 10.7-24 24zM176 384c0 13.3 10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200c-13.3 0-24 10.7-24 24zm-4.7-140.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 257.4 99.3 244.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48z\"]\n};\nvar faLink = {\n prefix: 'far',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M580.3 267.2c56.2-56.2 56.2-147.3 0-203.5C526.8 10.2 440.9 7.3 383.9 57.2l-6.1 5.4c-10 8.7-11 23.9-2.3 33.9s23.9 11 33.9 2.3l6.1-5.4c38-33.2 95.2-31.3 130.9 4.4c37.4 37.4 37.4 98.1 0 135.6L433.1 346.6c-37.4 37.4-98.2 37.4-135.6 0c-35.7-35.7-37.6-92.9-4.4-130.9l4.7-5.4c8.7-10 7.7-25.1-2.3-33.9s-25.1-7.7-33.9 2.3l-4.7 5.4c-49.8 57-46.9 142.9 6.6 196.4c56.2 56.2 147.3 56.2 203.5 0L580.3 267.2zM59.7 244.8C3.5 301 3.5 392.1 59.7 448.2c53.6 53.6 139.5 56.4 196.5 6.5l6.1-5.4c10-8.7 11-23.9 2.3-33.9s-23.9-11-33.9-2.3l-6.1 5.4c-38 33.2-95.2 31.3-130.9-4.4c-37.4-37.4-37.4-98.1 0-135.6L207 165.4c37.4-37.4 98.1-37.4 135.6 0c35.7 35.7 37.6 92.9 4.4 130.9l-5.4 6.1c-8.7 10-7.7 25.1 2.3 33.9s25.1 7.7 33.9-2.3l5.4-6.1c49.9-57 47-142.9-6.5-196.5c-56.2-56.2-147.3-56.2-203.5 0L59.7 244.8z\"]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'far',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M388.9 3.8C450.6 43 493.6 105.8 508 177.6l3.5 17.7c2.6 13-5.8 25.6-18.8 28.2s-25.6-5.8-28.2-18.8L460.9 187c-11.8-58.9-47.1-110.5-97.8-142.7c-11.2-7.1-14.5-22-7.4-33.1s21.9-14.5 33.1-7.4zM240 112c-70.7 0-128 57.3-128 128c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-97.2 78.8-176 176-176s176 78.8 176 176c0 47.5-18.8 90.6-49.4 122.2c-4.8 4.9-6.6 9.9-6.6 13.8c0 75.1-60.9 136-136 136c-13.3 0-24-10.7-24-24s10.7-24 24-24c48.6 0 88-39.4 88-88c0-19.1 8.9-35.5 20.1-47.1c22.3-23 35.9-54.4 35.9-88.9c0-70.7-57.3-128-128-128zm0 88c-22.1 0-40 17.9-40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6 39.4-88 88-88s88 39.4 88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-22.1-17.9-40-40-40zM168 320a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM24 464a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm57-97l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L47 401c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faFileMinus = {\n prefix: 'far',\n iconName: 'file-minus',\n icon: [384, 512, [], \"f318\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm56 288c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faTreeCity = {\n prefix: 'far',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M336 56c0-4.4 3.6-8 8-8H456c4.4 0 8 3.6 8 8V216c0 13.3 10.7 24 24 24h80 16c4.4 0 8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-28.2-20.9-51.6-48-55.4V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H512V56c0-30.9-25.1-56-56-56H344c-30.9 0-56 25.1-56 56V488c0 13.3 10.7 24 24 24s24-10.7 24-24V56zm32 40v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H384zM368 288v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H512zM496 384v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16zM224 160c0-53-43-96-96-96c-54 0-96 43-96 96c0 6 0 11 1 16C13 190 0 214 0 240c0 45 35 80 80 80H96V480c0 18 14 32 32 32c17 0 32-14 32-32V320h16c44 0 80-35 80-80c0-26-14-50-34-64c1-5 2-10 2-16z\"]\n};\nvar faPlay = {\n prefix: 'far',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M48 432L336 256 48 80l0 352zM24.5 38.1C39.7 29.6 58.2 30 73 39L361 215c14.3 8.7 23 24.2 23 41s-8.7 32.2-23 41L73 473c-14.8 9.1-33.4 9.4-48.5 .9S0 449.4 0 432V80C0 62.6 9.4 46.6 24.5 38.1z\"]\n};\nvar faFont = {\n prefix: 'far',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M246.2 46.9C242.5 37.9 233.8 32 224 32s-18.5 5.9-22.2 14.9L44.6 432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H96.5l32.7-80H318.9l32.7 80H312c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H403.4L246.2 46.9zM299.3 304H148.7L224 119.5 299.3 304z\"]\n};\nvar faCupTogo = {\n prefix: 'far',\n iconName: 'cup-togo',\n icon: [448, 512, [\"coffee-togo\"], \"f6c5\", \"M108.2 48h232c3 0 5.8 1.7 7.2 4.4L361.2 80H88l13-27.4c1.3-2.8 4.1-4.6 7.2-4.6zM414.8 80L390.3 31c-9.5-19-28.9-31-50.1-31h-232C86.6 0 66.9 12.4 57.6 32L34.8 80H24C10.7 80 0 90.7 0 104s10.7 24 24 24H50 400h24c13.3 0 24-10.7 24-24s-10.7-24-24-24h-9.2zM47.4 160L74.6 453.9c3 32.9 30.7 58.1 63.7 58.1H309.7c33.1 0 60.7-25.2 63.7-58.1L400.6 160H352.4l-5.9 64H101.5l-5.9-64H47.4zm68.9 224H331.6l-6.1 65.5c-.8 8.2-7.7 14.5-15.9 14.5H138.3c-8.3 0-15.2-6.3-15.9-14.5L116.4 384z\"]\n};\nvar faCoffeeTogo = faCupTogo;\nvar faSquareDownLeft = {\n prefix: 'far',\n iconName: 'square-down-left',\n icon: [448, 512, [], \"e26b\", \"M64 432c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zM128 198.6V336c0 8.8 7.2 16 16 16H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L264 280l66.3-66.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-36.7-36.7C290 146 285.1 144 280 144s-10 2-13.7 5.7L200 216l-33.4-33.4c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6z\"]\n};\nvar faBurgerLettuce = {\n prefix: 'far',\n iconName: 'burger-lettuce',\n icon: [512, 512, [], \"e3e3\", \"M396.5 134.9c-7.7-8.5-17-17.1-28.6-24.9c.1 .6 .1 1.3 .1 2c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-6.5 3.8-12 9.3-14.6c-19.9-9.1-44.5-15.6-75.3-17.1c1.2 2.3 1.9 4.9 1.9 7.7c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.8 .7-5.4 1.9-7.7c-30.7 1.5-55.4 8-75.3 17.1c5.5 2.5 9.3 8.1 9.3 14.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.7 0-1.3 .1-2c-11.6 7.8-21 16.4-28.6 24.9c-12.8 14.2-21.5 29-27.1 41.1H423.6c-5.7-12.1-14.3-26.9-27.1-41.1zM450.9 224H61.1C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1zM128 432H384c20.9 0 38.7-13.4 45.3-32H82.7c6.6 18.6 24.4 32 45.3 32zM32 384c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96zm48-56c-20.1 0-35.8-5.1-46.7-10.5c-5.4-2.7-9.6-5.5-12.7-7.8c-1.5-1.1-2.7-2.1-3.7-3c-.5-.4-.9-.8-1.2-1.1l-.4-.4-.2-.2-.1-.1 0 0 0 0c0 0 0 0 17-17L15 305c-9.4-9.4-9.4-24.6 0-33.9c9.2-9.2 24.2-9.4 33.6-.4c.1 .1 .4 .3 .8 .6c1 .7 2.8 1.9 5.3 3.2c5.1 2.5 13.4 5.5 25.3 5.5c8.2 0 15.2-3.8 30-12.6l.2-.1c13.2-7.9 32.3-19.3 57.8-19.3c25.1 0 42.2 11.1 54.1 18.8l1.6 1c12 7.7 19.8 12.2 32.3 12.2c12.2 0 19-4.2 30.7-12l.6-.4c12.3-8.2 29.4-19.6 56.7-19.6c27.2 0 46.1 11.3 59.6 19.6c14.5 9 20.5 12.4 28.4 12.4c11.9 0 20.2-2.9 25.3-5.5c2.6-1.3 4.4-2.5 5.3-3.2c.4-.3 .7-.6 .8-.6c9.4-9 24.3-8.9 33.6 .4c9.4 9.4 9.4 24.6 0 33.9l-17-17c17 17 17 17 17 17l0 0 0 0-.1 .1-.2 .2-.4 .4c-.3 .3-.7 .7-1.2 1.1c-.9 .8-2.1 1.8-3.7 3c-3 2.3-7.2 5.1-12.7 7.8C467.8 322.9 452.1 328 432 328c-22.2 0-39.3-10.7-50.8-17.9c-1-.6-1.9-1.2-2.7-1.7C365.9 300.7 356.8 296 344 296c-12.2 0-19 4.2-30.7 12l-.6 .4C300.4 316.6 283.3 328 256 328c-27.5 0-45.5-11.6-58.3-19.8l0 0C184.8 299.9 178.4 296 168 296c-11 0-19.8 4.5-33.4 12.6l-2.3 1.4c-12.1 7.3-29.9 18-52.2 18z\"]\n};\nvar faRupiahSign = {\n prefix: 'far',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 56C0 42.7 10.7 32 24 32h96c75.1 0 136 60.9 136 136c0 59.4-38.1 109.9-91.1 128.4l57.5 151c4.7 12.4-1.5 26.3-13.9 31s-26.3-1.5-31-13.9L116.4 304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V280 56zM48 256h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H48V256zm264-96h88c61.9 0 112 50.1 112 112s-50.1 112-112 112H336V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24zm88 176c35.3 0 64-28.7 64-64s-28.7-64-64-64H336V336h64z\"]\n};\nvar faMagnifyingGlass = {\n prefix: 'far',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M368 208A160 160 0 1 0 48 208a160 160 0 1 0 320 0zM337.1 371.1C301.7 399.2 256.8 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 48.8-16.8 93.7-44.9 129.1L505 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L337.1 371.1z\"]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'far',\n iconName: 'table-tennis-paddle-ball',\n icon: [640, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M476.4 99.5c52.2 52.2 64.8 129 37.7 193.1c15.8 4.4 30.4 11.7 43.1 21.3c35.9-82 20.3-181.2-46.8-248.3c-87.5-87.5-229.3-87.5-316.8 0l-60.1 60.1c-24 24-37.5 56.6-37.5 90.5V219c0 33.9 13.5 66.5 37.5 90.5c13.4 13.4 12 35.6-3 47.2l-49.3 38C70.3 403.1 64 416 64 429.7c0 11.7 4.7 22.9 12.9 31.2l38.1 38.1c8.3 8.3 19.5 12.9 31.2 12.9c13.7 0 26.6-6.3 35-17.2l38-49.3c11.6-15 33.8-16.5 47.2-3c24 24 56.6 37.5 90.5 37.5h2.7c3.1 0 6.1-.1 9.2-.3c-8.3-14.4-13.8-30.6-16-47.8c-19.7-1-38.5-9.3-52.5-23.3l-33.9 33.9 33.9-33.9c-33.9-33.9-89.9-30.3-119.2 7.7L145.9 462l-32-32 45.8-35.3c38-29.3 41.6-85.3 7.7-119.2c-15-15-23.4-35.4-23.4-56.6v-2.7c0-11 2.3-21.8 6.6-31.7L354.9 388.8c3.7-17.2 10.9-33.2 20.8-47.1L180.5 146.6l47-47c68.7-68.7 180.2-68.7 248.9 0zM432 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm144 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'far',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M288 48a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm0 128A88 88 0 1 0 288 0a88 88 0 1 0 0 176zM24 320L8.9 301.3C-1.4 309.7-3 324.8 5.3 335.1s23.4 11.9 33.7 3.6l0 0 .1-.1 .7-.6c.7-.5 1.8-1.4 3.3-2.4c3-2.2 7.5-5.4 13.4-9.2c11.9-7.7 29.3-18.2 51.5-28.6c19.4-9.2 42.3-18.3 68-25.6V432h48V261.3c20.2-3.3 41.6-5.3 64-5.3s43.8 1.9 64 5.3V432h48V272.1c25.7 7.4 48.5 16.5 68 25.6c22.2 10.5 39.6 20.9 51.5 28.6c5.9 3.9 10.4 7.1 13.4 9.2c1.5 1.1 2.6 1.9 3.3 2.4l.7 .6 .1 .1 0 0c10.3 8.3 25.4 6.7 33.7-3.6s6.7-25.4-3.6-33.8L552 320c15.1-18.7 15.1-18.7 15.1-18.7l0 0 0 0-.1-.1-.3-.3-.6-.5-.6-.4c-1-.8-2.4-1.8-4.2-3.1c-3.6-2.6-8.8-6.3-15.5-10.7c-13.4-8.8-32.8-20.3-57.3-31.9C439.6 231.3 370.1 208 288 208s-151.6 23.3-200.4 46.3c-24.4 11.5-43.9 23.1-57.3 31.9c-6.7 4.4-11.9 8.1-15.5 10.7c-1.8 1.3-3.2 2.4-4.2 3.1c-.5 .4-.9 .7-1.2 .9l-.3 .3-.1 .1 0 0 0 0s0 0 15.1 18.7zM0 488c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM56 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM336 376a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM488 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faChevronsDown = {\n prefix: 'far',\n iconName: 'chevrons-down',\n icon: [512, 512, [\"chevron-double-down\"], \"f322\", \"M239 465c9.4 9.4 24.6 9.4 33.9 0L465 273c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 465zM47 81L239 273c9.4 9.4 24.6 9.4 33.9 0L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faChevronDoubleDown = faChevronsDown;\nvar faTrashCanArrowUp = {\n prefix: 'far',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm144 48c6.4 0 12.5 2.5 17 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V257.9l-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c4.5-4.5 10.6-7 17-7z\"]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faSignalGood = {\n prefix: 'far',\n iconName: 'signal-good',\n icon: [640, 512, [\"signal-3\"], \"f68e\", \"M320 192c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal3 = faSignalGood;\nvar faLocationQuestion = {\n prefix: 'far',\n iconName: 'location-question',\n icon: [384, 512, [\"map-marker-question\"], \"f60b\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM105.8 133.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 232.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V218.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMapMarkerQuestion = faLocationQuestion;\nvar faFloppyDiskCircleXmark = {\n prefix: 'far',\n iconName: 'floppy-disk-circle-xmark',\n icon: [576, 512, [\"floppy-disk-times\", \"save-circle-xmark\", \"save-times\"], \"e181\", \"M48 96V416c0 8.8 7.2 16 16 16H268c6.9 17.5 16.4 33.7 28.2 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm381.3 29.3c12 12 18.7 28.3 18.7 45.3v22.2c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9zM256 368c0 2.5 .1 4.9 .2 7.4c-9.4 5.5-20.4 8.6-32.2 8.6c-35.3 0-64-28.7-64-64s28.7-64 64-64c22.1 0 41.6 11.2 53.1 28.3C263.7 309.2 256 337.7 256 368zM128 80v80H272V80H128zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368z\"]\n};\nvar faFloppyDiskTimes = faFloppyDiskCircleXmark;\nvar faSaveCircleXmark = faFloppyDiskCircleXmark;\nvar faSaveTimes = faFloppyDiskCircleXmark;\nvar faNairaSign = {\n prefix: 'far',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M107.8 42.5C101.9 33.8 91 30 80.9 33.1S64 45.5 64 56V256H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64V456c0 13.3 10.7 24 24 24s24-10.7 24-24V304H227.6L340.2 469.5c5.9 8.7 16.8 12.5 26.9 9.4s16.9-12.4 16.9-22.9V304h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H384V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V256H253L107.8 42.5zM285.7 304H336v74l-50.3-74zM195 256H112V134l83 122z\"]\n};\nvar faPeach = {\n prefix: 'far',\n iconName: 'peach',\n icon: [512, 512, [], \"e20b\", \"M96 32c0 34.7 18.4 65.1 46 82C61.6 126.5 0 196 0 280C0 416.2 199.3 494.6 240.6 509.4c5 1.8 10.1 2.6 15.4 2.6s10.4-.8 15.4-2.6C312.7 494.6 512 416.2 512 280c0-84-61.6-153.5-142-166c27.6-16.9 46-47.3 46-82V24c0-13.3-10.7-24-24-24H352c-53 0-96 43-96 96c0-53-43-96-96-96H120C106.7 0 96 10.7 96 24v8zm72 128c58.1 0 106.6 41.3 117.6 96.2c2.6 13 13.1 23.8 26.4 23.8s24.2-10.8 22.3-23.9c-4.7-32.9-19-62.8-39.9-86.7c4.1-1 8.2-2.1 12.2-3.5c11.7-3.8 24.3-5.9 37.4-5.9c66.3 0 120 53.7 120 120c0 43.4-32.4 84.6-84.3 120.9c-49.2 34.4-103.9 55.9-123.7 63c-19.8-7.1-74.5-28.6-123.7-63C80.4 364.6 48 323.4 48 280c0-66.3 53.7-120 120-120z\"]\n};\nvar faTaxiBus = {\n prefix: 'far',\n iconName: 'taxi-bus',\n icon: [640, 512, [], \"e298\", \"M192 48c71.5 0 110.1 17.3 129.4 32H192 64.5C86.2 64.8 126.6 48 192 48zM48 208V128H168v80H48zm0 144V256H192h47.2l13.7-48H216V128H328.6c3.6-25.4 24.3-45.2 50-47.7c-4-12.2-10.8-24-22-33.6C327.8 22.1 276.9 0 192 0C111.5 0 58.6 22.7 28.8 46.8C4.6 66.3 0 96.2 0 118.2V352c0 25 12.7 47 32 59.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V424H192V376H72c-13.3 0-24-10.7-24-24zm80-40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM368 144v16h-6.2c-30.4 0-57.6 19.1-67.8 47.8l-28.6 80.1c-.2 .5-.3 .9-.5 1.4C240.2 306.7 224 335.5 224 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H592v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L570 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H496V144c0-17.7-14.3-32-32-32H400c-17.7 0-32 14.3-32 32zm-6.2 64H400h64 38.2c10.1 0 19.2 6.4 22.6 15.9L541.9 272H322.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM320 320H544c26.5 0 48 21.5 48 48v32H272V368c0-26.5 21.5-48 48-48zm40 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBracketCurly = {\n prefix: 'far',\n iconName: 'bracket-curly',\n icon: [256, 512, [\"bracket-curly-left\"], \"7b\", \"M64 120c0-48.6 39.4-88 88-88h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-22.1 0-40 17.9-40 40v45.5c0 23.3-9.3 45.7-25.8 62.2L57.9 256l28.3 28.3c16.5 16.5 25.8 38.9 25.8 62.2V392c0 22.1 17.9 40 40 40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-48.6 0-88-39.4-88-88V346.5c0-10.6-4.2-20.8-11.7-28.3L7 273c-9.4-9.4-9.4-24.6 0-33.9l45.3-45.3c7.5-7.5 11.7-17.7 11.7-28.3V120z\"]\n};\nvar faBracketCurlyLeft = faBracketCurly;\nvar faLobster = {\n prefix: 'far',\n iconName: 'lobster',\n icon: [512, 512, [129438], \"e421\", \"M80 8.2c0-3.7-2.5-6.9-6.1-7.5C70.7 .3 67.4 0 64 0C28.7 0 0 28.7 0 64v64c0 35.3 28.7 64 64 64l.7 0 41.8 27.9C126.2 233 149.4 240 173.1 240H176v16H143.1c-7.5 0-14.8-1.7-21.5-5.1L87.2 233.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l34.5 17.2c11.1 5.6 23.4 8.4 35.8 8.4H176v16H122.4c-5.2 0-10.3-.8-15.2-2.5L69.1 288.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l38.1 12.7c8.2 2.7 16.7 4.1 25.3 4.1H176v16h-.9c-12.4 0-24.7 2.9-35.8 8.4l-18.5 9.2c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l18.5-9.2c6.7-3.3 14-5.1 21.5-5.1h.9l23.8 66.6c-23.1 7.3-39.8 28.8-39.8 54.3c0 3.9 3.2 7.1 7.1 7.1H344.9c3.9 0 7.1-3.2 7.1-7.1c0-25.5-16.7-47-39.8-54.3L336 384h.9c7.4 0 14.8 1.7 21.5 5.1l18.5 9.2c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-18.5-9.2c-11.1-5.6-23.4-8.4-35.8-8.4H336V336h53.6c8.6 0 17.1-1.4 25.3-4.1l38.1-12.7c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-38.1 12.7c-4.9 1.6-10 2.5-15.2 2.5H336V288h32.9c12.4 0 24.7-2.9 35.8-8.4l34.5-17.2c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-34.5 17.2c-6.7 3.3-14 5.1-21.5 5.1H336V240h2.9c23.7 0 46.9-7 66.6-20.2L447.3 192l.7 0c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64c-3.4 0-6.7 .3-9.9 .8c-3.6 .6-6.1 3.8-6.1 7.5V72c0 7.7-9.8 11-14.4 4.8L397.4 49.9c-3.7-4.9-11.2-3.9-12.3 2.1c-.7 3.9-1.1 7.9-1.1 11.9v64c0 14.9 5.1 28.6 13.6 39.4l-18.7 12.5C367 187.8 353.1 192 338.9 192h-3.4c-2.6-22.5-16-42.9-31.5-59.2V80.7c0-15.6 11.3-29 26.7-31.6l7.9-1.3c8.7-1.5 14.6-9.7 13.2-18.4s-9.7-14.6-18.4-13.2l-7.9 1.3C294.6 22.7 272 49.4 272 80.7v25c-3.2-2.2-6.3-4.1-9-5.8c-4.3-2.6-9.7-2.6-14 0c-2.8 1.6-5.8 3.6-9 5.8v-25c0-31.3-22.6-58-53.5-63.1l-7.9-1.3c-8.7-1.5-17 4.4-18.4 13.2s4.4 17 13.2 18.4l7.9 1.3C196.7 51.7 208 65 208 80.7v52.1c-15.5 16.3-28.9 36.7-31.5 59.2h-3.4c-14.2 0-28.1-4.2-39.9-12.1l-18.7-12.5c8.5-10.9 13.6-24.6 13.6-39.4V64c0-4.1-.4-8.1-1.1-11.9c-1.1-6-8.6-7.1-12.3-2.1L94.4 76.8C89.8 83 80 79.7 80 72V8.2zM262.2 448H249.8L224 375.7V240 200c0-6.6 3.8-17 15.4-30.3c5.2-6 11-11.4 16.6-16c5.7 4.7 11.5 10.1 16.6 16C284.2 183 288 193.4 288 200v40V375.7L262.2 448z\"]\n};\nvar faCartFlatbedEmpty = {\n prefix: 'far',\n iconName: 'cart-flatbed-empty',\n icon: [640, 512, [\"dolly-flatbed-empty\"], \"f476\", \"M0 24C0 10.7 10.7 0 24 0H72c30.9 0 56 25.1 56 56V408c0 4.4 3.6 8 8 8h72H496 616c13.3 0 24 10.7 24 24s-10.7 24-24 24H544c0 26.5-21.5 48-48 48s-48-21.5-48-48H256c0 26.5-21.5 48-48 48s-48-21.5-48-48H136c-30.9 0-56-25.1-56-56V56c0-4.4-3.6-8-8-8H24C10.7 48 0 37.3 0 24z\"]\n};\nvar faDollyFlatbedEmpty = faCartFlatbedEmpty;\nvar faColon = {\n prefix: 'far',\n iconName: 'colon',\n icon: [192, 512, [], \"3a\", \"M120 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-96 0a72 72 0 1 1 144 0A72 72 0 1 1 24 128zm96 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-96 0a72 72 0 1 1 144 0A72 72 0 1 1 24 384z\"]\n};\nvar faCartArrowDown = {\n prefix: 'far',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM344 24V126.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faWand = {\n prefix: 'far',\n iconName: 'wand',\n icon: [512, 512, [], \"f72a\", \"M459.1 48c-1.2 0-2.4 .4-3.3 1.3L52.4 414.7c-2.8 2.5-4.4 6.1-4.4 9.9c0 3.5 1.4 6.9 3.9 9.4L78 460.1c2.5 2.5 5.9 3.9 9.4 3.9c3.8 0 7.3-1.6 9.9-4.4L462.7 56.1c.8-.9 1.3-2.1 1.3-3.3c0-2.7-2.2-4.9-4.9-4.9zM423.6 13.7C433.4 4.9 446 0 459.1 0C488.3 0 512 23.7 512 52.9c0 13.1-4.9 25.8-13.7 35.5l-46.2 51c-2.7 2.9-4.1 6.8-4.1 10.7V176c0 8.8-7.2 16-16 16H411.6c-4.5 0-8.8 1.9-11.9 5.3L132.9 491.8C121.3 504.7 104.8 512 87.5 512c-16.3 0-31.9-6.5-43.4-18L18 467.9C6.5 456.4 0 440.8 0 424.5c0-17.3 7.3-33.8 20.2-45.4l70.6-63.9c3.3-3 5.3-7.3 5.3-11.9V272c0-8.8 7.2-16 16-16h37.9c4 0 7.8-1.5 10.7-4.1l263-238.2z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'far',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H56C25.1 96 0 121.1 0 152V305.4c0 10.6 4.2 20.8 11.7 28.3L32 353.9V456c0 30.9 25.1 56 56 56H296c30.9 0 56-25.1 56-56V353.9l20.3-20.3c7.5-7.5 11.7-17.7 11.7-28.3V152c0-30.9-25.1-56-56-56h-8c0-17.7-14.3-32-32-32s-32 14.3-32 32H224c0-17.7-14.3-32-32-32s-32 14.3-32 32H112V24zm80 120h96 40c4.4 0 8 3.6 8 8V302.1l-20.3 20.3c-7.5 7.5-11.7 17.7-11.7 28.3V456c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V350.6c0-10.6-4.2-20.8-11.7-28.3L48 302.1V152c0-4.4 3.6-8 8-8H88 192zm-56 48c-13.3 0-24 10.7-24 24s10.7 24 24 24H248c13.3 0 24-10.7 24-24s-10.7-24-24-24H136zm0 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H248c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faFilePen = {\n prefix: 'far',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M64 464H262.6l-5.1 20.5c-2.3 9.2-1.8 18.8 1.3 27.5H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V285.7l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'far',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M39.6 5.8C32.5-.3 22.5-1.7 14 2.2S0 14.6 0 24V488c0 9.4 5.5 17.9 14 21.8s18.5 2.5 25.6-3.6L80 471.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0L192 471.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0L304 471.6l40.4 34.6c7.1 6.1 17.1 7.5 25.6 3.6s14-12.4 14-21.8V24c0-9.4-5.5-17.9-14-21.8s-18.5-2.5-25.6 3.6L304 40.4 263.6 5.8c-9-7.7-22.3-7.7-31.2 0L192 40.4 151.6 5.8c-9-7.7-22.3-7.7-31.2 0L80 40.4 39.6 5.8zm8.4 430V76.2l16.4 14c9 7.7 22.3 7.7 31.2 0L136 55.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0L248 55.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0l16.4-14V435.8l-16.4-14c-9-7.7-22.3-7.7-31.2 0L248 456.4l-40.4-34.6c-9-7.7-22.3-7.7-31.2 0L136 456.4 95.6 421.8c-9-7.7-22.3-7.7-31.2 0L48 435.8zM120 144c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM96 256c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faTablePicnic = {\n prefix: 'far',\n iconName: 'table-picnic',\n icon: [512, 512, [], \"e32d\", \"M88 64C74.7 64 64 74.7 64 88s10.7 24 24 24h71.4L106.3 240H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H86.4h52H373.6h52H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H405.7L352.6 112H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM438.9 320h-52l46.9 113.2c5.1 12.2 19.1 18.1 31.4 13s18.1-19.1 13-31.4L438.9 320zm-313.8 0h-52L33.8 414.8c-5.1 12.2 .7 26.3 13 31.4s26.3-.7 31.4-13L125.1 320zm33.2-80l53.1-128h89.3l53.1 128H158.3z\"]\n};\nvar faSquarePen = {\n prefix: 'far',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm325.8 43.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faCircleMicrophoneLines = {\n prefix: 'far',\n iconName: 'circle-microphone-lines',\n icon: [512, 512, [\"microphone-circle-alt\"], \"e117\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-416c-26.5 0-48 21.5-48 48V256c0 26.5 21.5 48 48 48s48-21.5 48-48H280c-8.8 0-16-7.2-16-16s7.2-16 16-16h24V192H280c-8.8 0-16-7.2-16-16s7.2-16 16-16h24V144c0-26.5-21.5-48-48-48zM176 256c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 62.5 44.8 114.5 104 125.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24V381.8c59.2-11.2 104-63.3 104-125.8c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 44.2-35.8 80-80 80s-80-35.8-80-80z\"]\n};\nvar faMicrophoneCircleAlt = faCircleMicrophoneLines;\nvar faDisplaySlash = {\n prefix: 'far',\n iconName: 'display-slash',\n icon: [640, 512, [\"desktop-slash\"], \"e2fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-70.5-55.2c27.4-7.2 47.6-32.2 47.6-61.9V64c0-35.3-28.7-64-64-64H96C79.6 0 64.6 6.2 53.2 16.4L38.8 5.1zm54.9 43c.7-.1 1.5-.2 2.3-.2H544c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H501.8L93.7 48.2zM80 352V159.2L32 121.4V352c0 35.3 28.7 64 64 64H243.7l-8 48H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H384h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H404.3l-8-48H406L345 368H272.4c-.2 0-.4 0-.6 0c-.1 0-.2 0-.3 0H96c-8.8 0-16-7.2-16-16zm212.3 64h55.3l8 48H284.3l8-48z\"]\n};\nvar faDesktopSlash = faDisplaySlash;\nvar faSuitcaseRolling = {\n prefix: 'far',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M144 56v72h96V56c0-4.4-3.6-8-8-8H152c-4.4 0-8 3.6-8 8zM96 128V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56v72h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H96zM64 176c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H64zm32 72c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm0 112c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPersonCircleExclamation = {\n prefix: 'far',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faTransporter2 = {\n prefix: 'far',\n iconName: 'transporter-2',\n icon: [512, 512, [], \"e044\", \"M64 32l25.4 7.3C93.3 40.4 96 43.9 96 48s-2.7 7.6-6.6 8.7L64 64 56.7 89.4C55.6 93.3 52.1 96 48 96s-7.6-2.7-8.7-6.6L32 64 6.6 56.7C2.7 55.6 0 52.1 0 48s2.7-7.6 6.6-8.7L32 32 39.3 6.6C40.4 2.7 43.9 0 48 0s7.6 2.7 8.7 6.6L64 32zM480 352l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 384l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 384l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 352l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6L480 352zM120 464H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM256 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM180.4 224H120.2l46.4-61.2c16.6-21.9 42.6-34.8 70.1-34.8h38.6c27.5 0 53.5 12.9 70.1 34.8L391.8 224H331.6 320 272V176H240v48H192 180.4zM112 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHandsHoldingDiamond = {\n prefix: 'far',\n iconName: 'hands-holding-diamond',\n icon: [640, 512, [\"hand-receiving\"], \"f47c\", \"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96zM72 64c39.8 0 72 32.2 72 72V264.8c12.1-10.5 28-16.8 45.3-16.8c18.4 0 36 7.3 49 20.3l61.4 61.4c7.7 7.7 14.5 16.2 20.4 25.3c5.8-9.1 12.6-17.5 20.4-25.3l61.4-61.4c13-13 30.6-20.3 49-20.3c17.3 0 33.1 6.3 45.3 16.8V136c0-39.8 32.2-72 72-72s72 32.2 72 72V352.2c0 31.8-12.6 62.3-35.1 84.9L537 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l67.9-67.9c13.5-13.5 21.1-31.8 21.1-50.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V281.9c0 25.6-10.2 50.2-28.3 68.4l-15.9 15.9 0 0L473 393l0 0-16 16c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l16-16 0 0 26.7-26.7c4-4 6.2-9.4 6.2-15c0-11.7-9.5-21.3-21.3-21.3c-5.6 0-11 2.2-15 6.2l-61.4 61.4C354.9 383 344 409.4 344 436.8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V436.8c0-27.4-10.9-53.8-30.3-73.2l-61.4-61.4c-4-4-9.4-6.2-15-6.2c-11.7 0-21.3 9.5-21.3 21.3c0 5.6 2.2 11 6.2 15L201 359l0 0 16 16c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-16-16 0 0-26.7-26.7 0 0-15.9-15.9C106.2 332.1 96 307.5 96 281.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V352.2c0 19.1 7.6 37.4 21.1 50.9L137 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L35.1 437.1C12.6 414.6 0 384.1 0 352.2V136C0 96.2 32.2 64 72 64z\"]\n};\nvar faHandReceiving = faHandsHoldingDiamond;\nvar faMoneyBillSimpleWave = {\n prefix: 'far',\n iconName: 'money-bill-simple-wave',\n icon: [576, 512, [], \"e1f2\", \"M265.7 407.9c4.5-1.1 9-2.3 13.5-3.4l0 0c73.7-18.9 160.5-41.1 248.8-20.9V91.8C461.8 68.7 393.6 83 310.3 104.1c-4.5 1.1-9 2.3-13.5 3.5l0 0C223.1 126.4 136.3 148.7 48 128.4V420.2c66.2 23.1 134.4 8.9 217.7-12.3zM0 421.5V113C0 88.8 25.4 72.7 48.4 79C128.2 101 208.1 80.6 288 60.3c86.9-22.1 173.8-44.3 260.7-12C565.8 54.6 576 72 576 90.5V399c0 24.3-25.4 40.3-48.3 34C447.8 411 367.9 431.4 288 451.7c-86.9 22.1-173.8 44.3-260.7 12C10.2 457.4 0 440 0 421.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\"]\n};\nvar faChevronDown = {\n prefix: 'far',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M239 401c9.4 9.4 24.6 9.4 33.9 0L465 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 401z\"]\n};\nvar faBatteryFull = {\n prefix: 'far',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm368 96H96V320H448V192z\"]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faBellPlus = {\n prefix: 'far',\n iconName: 'bell-plus',\n icon: [448, 512, [], \"f849\", \"M224 0c-17.7 0-32 14.3-32 32V49.9C119.5 61.4 64 124.2 64 200v33.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32zm0 96h8c57.4 0 104 46.6 104 104v33.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V200c0-57.4 46.6-104 104-104h8zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM224 152c-13.3 0-24 10.7-24 24v40H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V264h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V176c0-13.3-10.7-24-24-24z\"]\n};\nvar faBookArrowRight = {\n prefix: 'far',\n iconName: 'book-arrow-right',\n icon: [640, 512, [], \"e0b9\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faHospitals = {\n prefix: 'far',\n iconName: 'hospitals',\n icon: [576, 512, [], \"f80e\", \"M320 48H512c8.8 0 16 7.2 16 16V256H320v48H528v48H320v48H528v48c0 8.8-7.2 16-16 16H320c0 17.3-5.5 33.2-14.7 46.3c4.7 1.1 9.7 1.7 14.7 1.7H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H320c-35.3 0-64 28.7-64 64v1.6c19.5 4 36.5 15 48 30.4V64c0-8.8 7.2-16 16-16zm88 48v24H384c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H456V96c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16zM136 176c-8.8 0-16 7.2-16 16v24H96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V264h24c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H168V192c0-8.8-7.2-16-16-16H136zM64 144H224c8.8 0 16 7.2 16 16V352H48V160c0-8.8 7.2-16 16-16zM48 400H240v48c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V400zM0 160V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64C28.7 96 0 124.7 0 160z\"]\n};\nvar faClub = {\n prefix: 'far',\n iconName: 'club',\n icon: [512, 512, [9827], \"f327\", \"M352 146.4c0-.8 0-1.6 0-2.4c0-53-43-96-96-96s-96 43-96 96c0 .8 0 1.6 0 2.4c.6 22.9-15.1 42.9-37.4 48C79.9 204.1 48 242.4 48 288c0 53 43 96 96 96c30.1 0 57-13.8 74.7-35.7c9.1-11.3 22.8-17.8 37.3-17.8s28.2 6.5 37.3 17.8C311 370.2 337.9 384 368 384c53 0 96-43 96-96c0-45.6-31.9-83.9-74.6-93.6c-22.3-5.1-37.9-25.1-37.4-48zM368 432c-27.9 0-53.9-7.9-76-21.7c-4.1-2.6-8.1-5.4-12-8.3v62h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V402c-3.8 3-7.8 5.8-12 8.3c-22.1 13.7-48.1 21.7-76 21.7C64.5 432 0 367.5 0 288c0-68.5 47.9-125.9 112-140.4c0-1.2 0-2.4 0-3.6C112 64.5 176.5 0 256 0s144 64.5 144 144c0 1.2 0 2.4 0 3.6c64.1 14.5 112 71.9 112 140.4c0 79.5-64.5 144-144 144z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'far',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M290.1 185.8C309.6 170.4 320 149.5 320 128c0-39-37.5-80-96-80s-96 41-96 80c0 21.5 10.4 42.4 29.9 57.8c11.4 9.1 18.1 22.9 18.1 37.6V232c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-8.6c0-14.6 6.7-28.5 18.1-37.6zM320 232c0 30.9-25.1 56-56 56H184c-30.9 0-56-25.1-56-56v-8.6C98.5 200 80 165.9 80 128C80 57.3 144.5 0 224 0s144 57.3 144 128c0 37.9-18.5 72-48 95.4V232zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L224 357l188.9-98.2c11.8-6.1 26.2-1.5 32.4 10.2s1.5 26.3-10.2 32.4L276 384l159.1 82.7c11.8 6.1 16.3 20.6 10.2 32.4s-20.6 16.3-32.4 10.2L224 411 35.1 509.3c-11.8 6.1-26.3 1.5-32.4-10.2s-1.5-26.2 10.2-32.4L172 384 12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM160 136a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faDropletDegree = {\n prefix: 'far',\n iconName: 'droplet-degree',\n icon: [512, 512, [\"dewpoint\"], \"f748\", \"M192 464c-79.5 0-144-64.5-144-144c0-13 5.1-33.5 17-61.1c11.5-26.6 27.6-55.8 45.5-84.7c29-46.8 61-90.2 81.5-117c20.5 26.7 52.6 70.2 81.5 117c17.9 28.9 34 58 45.5 84.7c11.9 27.6 17 48.2 17 61.1c0 79.5-64.5 144-144 144zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zM400 112a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faDewpoint = faDropletDegree;\nvar faCodeCompare = {\n prefix: 'far',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v48h16c39.8 0 72-32.2 72-72V156.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V320c0 66.3-53.7 120-120 120H320v48zM464 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V120H176c-39.8 0-72 32.2-72 72V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V192c0-66.3 53.7-120 120-120h16V24zM48 432a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faListUl = {\n prefix: 'far',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm120 8c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 384a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faListDots = faListUl;\nvar faHandHoldingMagic = {\n prefix: 'far',\n iconName: 'hand-holding-magic',\n icon: [576, 512, [], \"f6e5\", \"M176 76c0 15.5 12.5 28 28 28h84c13.3 0 24 10.7 24 24s-10.7 24-24 24H204c-42 0-76-34-76-76s34-76 76-76H328c66.3 0 120 53.7 120 120s-53.7 120-120 120H280v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24h72c39.8 0 72-32.2 72-72s-32.2-72-72-72H204c-15.5 0-28 12.5-28 28zm11.4 276c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faWatermelonSlice = {\n prefix: 'far',\n iconName: 'watermelon-slice',\n icon: [512, 512, [], \"e337\", \"M0 408c0-6.4 2.5-12.5 7-17L391 7c9.4-9.4 24.6-9.4 33.9 0c115.6 115.6 116 302.6 .3 418.3S122.6 540.5 7 425c-4.5-4.5-7-10.6-7-17zm58.7-.8c97.4 80.4 241.5 75.3 332.6-15.8s96.2-235.2 15.8-332.6L384.8 81.2C414.3 118.1 432 165 432 216c0 119.3-96.7 216-216 216c-51 0-97.9-17.7-134.8-47.2L58.7 407.2zM384 216c0-37.7-12.4-72.6-33.4-100.6l-26.3 26.3 15 15c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-15-15-57.4 57.4 15 15c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-15-15-57.4 57.4 15 15c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-15-15-26.3 26.3c28 21 62.9 33.4 100.6 33.4c92.8 0 168-75.2 168-168zm-52.7 12.7l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faCircleEllipsis = {\n prefix: 'far',\n iconName: 'circle-ellipsis',\n icon: [512, 512, [], \"e10a\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm32 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faSchoolLock = {\n prefix: 'far',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M306.7 4c8.1-5.4 18.6-5.4 26.6 0l138 92H568c39.8 0 72 32.2 72 72V272c0-38.1-19-71.7-48-91.9V168c0-13.3-10.7-24-24-24H464c-4.7 0-9.4-1.4-13.3-4L320 52.8 189.3 140c-3.9 2.6-8.6 4-13.3 4H72c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24H256V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80 16c0 11.7 3.1 22.6 8.6 32H384 256 72c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72h96.7l138-92zM112 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM240 192a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm80-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V160c0-8.8-7.2-16-16-16zm208 96c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTowerCell = {\n prefix: 'far',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M51.8 1.6c12.4 4.8 18.5 18.7 13.8 31C54.3 62 48 94.2 48 128s6.3 66 17.6 95.4c4.8 12.4-1.4 26.3-13.8 31s-26.3-1.4-31-13.8C7.4 205.8 0 167.8 0 128S7.4 50.2 20.8 15.4C25.6 3 39.5-3.2 51.8 1.6zm472.4 0c12.4-4.8 26.3 1.4 31 13.8C568.6 50.2 576 88.2 576 128s-7.4 77.8-20.8 112.6c-4.8 12.4-18.7 18.5-31 13.8s-18.5-18.7-13.8-31C521.7 194 528 161.8 528 128s-6.3-66-17.6-95.4c-4.8-12.4 1.4-26.3 13.8-31zM291.3 191.9c-1.1 .1-2.2 .1-3.3 .1s-2.2 0-3.3-.1L239.8 288h96.4l-44.8-96.1zM195 384H381l-22.4-48H217.4L195 384zm-22.4 48l-30.9 66.2c-5.6 12-19.9 17.2-31.9 11.6s-17.2-19.9-11.6-31.9L241.2 171.6C230.5 160.2 224 144.9 224 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 16.9-6.5 32.2-17.2 43.6L477.7 477.9c5.6 12 .4 26.3-11.6 31.9s-26.3 .4-31.9-11.6L403.4 432H172.6zM163.3 73.6C156 90.2 152 108.6 152 128s4 37.8 11.3 54.4c5.3 12.1-.2 26.3-12.4 31.6s-26.3-.2-31.6-12.4C109.5 179 104 154.1 104 128s5.5-51 15.3-73.6c5.3-12.1 19.5-17.7 31.6-12.4s17.7 19.5 12.4 31.6zM456.7 54.4C466.5 77 472 101.9 472 128s-5.5 51-15.3 73.6c-5.3 12.1-19.5 17.7-31.6 12.4s-17.7-19.5-12.4-31.6c7.3-16.6 11.3-35 11.3-54.4s-4-37.8-11.3-54.4c-5.3-12.1 .2-26.3 12.4-31.6s26.3 .2 31.6 12.4z\"]\n};\nvar faSdCards = {\n prefix: 'far',\n iconName: 'sd-cards',\n icon: [448, 512, [], \"e240\", \"M400 352V64c0-8.8-7.2-16-16-16H234.5c-4.2 0-8.3 1.7-11.3 4.7l-74.5 74.5c-3 3-4.7 7.1-4.7 11.3V352c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16zM114.7 93.3l74.5-74.5C201.3 6.7 217.5 0 234.5 0H384c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V138.5c0-17 6.7-33.3 18.7-45.3zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24zm280 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faJugBottle = {\n prefix: 'far',\n iconName: 'jug-bottle',\n icon: [640, 512, [], \"e5fb\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zm32 152c-44.2 0-80 35.8-80 80V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V256c0-44.2-35.8-80-80-80H128zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm224 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256zM472 64h80c13.3 0 24 10.7 24 24v40H448V88c0-13.3 10.7-24 24-24zM417 392c-.3-.2-.7-.4-1-.6V256c0-24.7-5.6-48.1-15.6-69c5.1-5.3 11.1-9.8 18-13l13.2-6.2c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l13.2 6.2c21 9.9 34.4 31 34.4 54.2c0 22.8-12.7 42.6-31.5 52.7C627.4 292 640 312.5 640 336c0 24.1-13.3 45.1-33 56c19.7 10.9 33 31.9 33 56c0 35.3-28.7 64-64 64H448c-17 0-32.5-6.7-44-17.5c7.6-13.8 12-29.6 12-46.5V392.6c.3-.2 .7-.4 1-.6z\"]\n};\nvar faDownLong = {\n prefix: 'far',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M176.4 505.5c-9.2 8.7-23.7 8.7-32.9 0L14.6 384.1C5.3 375.3 0 363.1 0 350.3C0 324.7 20.7 304 46.3 304L80 304 80 56c0-30.9 25.1-56 56-56l48 0c30.9 0 56 25.1 56 56l0 248 33.7 0c25.6 0 46.3 20.7 46.3 46.3c0 12.8-5.3 25-14.6 33.7l-129 121.4zm93-153.5L216 352c-13.3 0-24-10.7-24-24l0-272c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 272c0 6.4-2.5 12.5-7 17s-10.6 7-17 7l-53.5 0L160 455 269.5 352z\"]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faEnvelopes = {\n prefix: 'far',\n iconName: 'envelopes',\n icon: [576, 512, [], \"e170\", \"M512 80H160c-8.8 0-16 7.2-16 16v7.8L321.4 235.2c4.2 3.1 9.3 4.8 14.6 4.8s10.4-1.7 14.6-4.8L528 103.8V96c0-8.8-7.2-16-16-16zm16 83.5L379.1 273.8C366.7 283 351.5 288 336 288s-30.7-5-43.1-14.2L144 163.5V320c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V163.5zM160 32H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zM24 96c13.3 0 24 10.7 24 24V344c0 48.6 39.4 88 88 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 480 0 419.1 0 344V120c0-13.3 10.7-24 24-24z\"]\n};\nvar faPhoneOffice = {\n prefix: 'far',\n iconName: 'phone-office',\n icon: [576, 512, [], \"f67d\", \"M160 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H160zM104.6 32C115.6 12.9 136.3 0 160 0h48c23.7 0 44.4 12.9 55.4 32H320h24 24H512c35.3 0 64 28.7 64 64v48 24 24V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32h40.6zM96 80H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V192H360c-22.1 0-40-17.9-40-40V80H272V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V80zm272 0v64H528V96c0-8.8-7.2-16-16-16H368zm16 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM352 400a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM480 272a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM448 400a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faRankingStar = {\n prefix: 'far',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M353.8 54.1l52.3 7.5c9.3 1.4 13.2 12.9 6.4 19.8l-38 36.6 9 52.1c1.4 9.3-8.2 16.5-16.8 12.2l-46.6-24.4-46.9 24.8c-8.6 4.3-18.3-2.9-16.8-12.2l9-52.1-38-37c-6.8-6.8-2.9-18.3 6.4-19.8l52.3-7.5L309.8 6.3c4.3-8.6 16.5-8.3 20.4 0l23.6 47.8zM272 304V464h96V304H272zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V304zM48 368v96h96V368H48zM0 368c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368zm592 32H496v64h96V400zm-96-48h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faChessKing = {\n prefix: 'far',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V56H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v40H59.6C26.7 144 0 170.7 0 203.6c0 8.2 1.7 16.3 4.9 23.8L59.1 352h52.3L49 208.2c-.6-1.5-1-3-1-4.6c0-6.4 5.2-11.6 11.6-11.6H224 388.4c6.4 0 11.6 5.2 11.6 11.6c0 1.6-.3 3.2-1 4.6L336.5 352h52.3l54.2-124.6c3.3-7.5 4.9-15.6 4.9-23.8c0-32.9-26.7-59.6-59.6-59.6H248V104h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V24zM101.2 432H346.8l16.6 32H84.7l16.6-32zm283.7-30.7c-5.5-10.6-16.5-17.3-28.4-17.3H91.5c-12 0-22.9 6.7-28.4 17.3L36.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C32 493.8 50.2 512 72.8 512H375.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2z\"]\n};\nvar faNfcPen = {\n prefix: 'far',\n iconName: 'nfc-pen',\n icon: [576, 512, [], \"e1fa\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H270.5l-12 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V235.6l-48 48V96c0-8.8-7.2-16-16-16zM289.3 394.3c-1.8 1.8-3.5 3.7-5 5.7H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H320V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40V315.6l-78.7 78.7zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPersonHarassing = {\n prefix: 'far',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM96 209.5L44.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1S-3.4 287.7 3.1 276.2L61.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h35c26 0 50.6 11.5 67.3 31.4l81.7 97.2c8.5 10.1 7.2 25.3-2.9 33.8s-25.3 7.2-33.8-2.9L224 214.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.5zm80-33.4c-.9-.1-1.8-.1-2.7-.1H144V304h32V176.1zM304 32h56c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 208a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm116 56c33.1 0 60 26.9 60 60v96c0 31.8-24.7 57.8-56 59.9v.1c-.7 0-1.5 0-2.2 0c-.6 0-1.2 0-1.8 0c-5.7 0-11.1-.8-16.3-2.2c-19.6-4.4-37.5-15.1-50.7-30.7l-44.6-52.7-39.3 73c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l56-104c3.8-7 10.7-11.7 18.6-12.5s15.7 2.3 20.8 8.4L456 413V356c0-33.1 26.9-60 60-60zm1.4 167.9c6-.7 10.6-5.8 10.6-11.9V356c0-6.6-5.4-12-12-12s-12 5.4-12 12v96c0 5.2 3.2 9.5 7.8 11.2c1.8 .3 3.7 .6 5.6 .7zM265.7 104.8c4-7.9 13.6-11.1 21.5-7.2l48 24c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-48-24c-7.9-4-11.1-13.6-7.2-21.5z\"]\n};\nvar faHatWinter = {\n prefix: 'far',\n iconName: 'hat-winter',\n icon: [512, 512, [], \"f7a8\", \"M256 0c-12.7 0-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C185.8 57 176 67.3 176 80s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C233 150.2 243.3 160 256 160s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C326.2 103 336 92.7 336 80s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2C279 9.8 268.7 0 256 0zM48 416c-26.5 0-48 21.5-48 48s21.5 48 48 48H464c26.5 0 48-21.5 48-48s-21.5-48-48-48H48zM162.5 134.6C42.8 199.9 32 384 32 384H80.1c.1-1.5 .3-3.7 .6-6.3c.7-6.5 2-16 4.2-27.4c.9-4.9 2-10.1 3.2-15.5l36.3-18.1c2.3-1.1 4.9-1.1 7.2 0L167 334.3c15.8 7.9 34.3 7.9 50.1 0l35.4-17.7c2.3-1.1 4.9-1.1 7.2 0L295 334.3c15.8 7.9 34.3 7.9 50.1 0l35.4-17.7c2.3-1.1 4.9-1.1 7.2 0l36.3 18.1c1.2 5.4 2.3 10.6 3.2 15.5c2.1 11.5 3.4 21 4.2 27.4c.3 2.6 .5 4.7 .6 6.3H480s-10.8-184.1-130.5-249.4c-2.5 9-7.3 17.5-14.4 24.6c-5.6 5.6-12.2 9.8-19.2 12.6c41 17.8 67.7 53.9 86 95.6c.6 1.3 1.2 2.7 1.7 4c-14.5-5.5-30.8-4.7-44.9 2.3l-35.4 17.7c-2.3 1.1-4.9 1.1-7.2 0L281 273.7c-15.8-7.9-34.3-7.9-50.1 0l-35.4 17.7c-2.3 1.1-4.9 1.1-7.2 0L153 273.7c-14.1-7-30.3-7.8-44.9-2.3c.6-1.3 1.2-2.7 1.7-4c18.4-41.7 45.1-77.8 86-95.6c-7-2.7-13.5-6.9-19.2-12.6c-7.1-7.1-11.9-15.6-14.4-24.6z\"]\n};\nvar faBrazilianRealSign = {\n prefix: 'far',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c13.3 0 24 10.7 24 24V65.2c14.6 1.7 29 5.4 42.7 10.9l14.2 5.7c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4l-14.3-5.7c-14.2-5.7-29.3-8.6-44.6-8.6H392c-30.9 0-56 25.1-56 56c0 23.5 14.7 44.6 36.8 52.6l70.7 25.7c41.1 14.9 68.4 54 68.4 97.7c0 52-38.2 95.1-88 102.8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V445.8c-17.1-3-33.7-8.9-48.9-17.6l-27-15.4c-11.5-6.6-15.5-21.2-8.9-32.7s21.2-15.5 32.7-8.9l27 15.4c15.4 8.8 32.8 13.4 50.6 13.4H408c30.9 0 56-25.1 56-56c0-23.5-14.7-44.6-36.8-52.6l-70.7-25.7c-41.1-14.9-68.4-54-68.4-97.7c0-52 38.2-95.1 88-102.8V24c0-13.3 10.7-24 24-24zM0 56C0 42.7 10.7 32 24 32h96c75.1 0 136 60.9 136 136c0 59.4-38.1 109.9-91.1 128.4l57.5 151c4.7 12.4-1.5 26.3-13.9 31s-26.3-1.5-31-13.9L116.4 304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V280 56zM48 256h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H48V256z\"]\n};\nvar faLandmarkDome = {\n prefix: 'far',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M256 0c13.3 0 24 10.7 24 24v9.5C369.5 44.6 439.9 117.4 447.3 208H456c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H400 112 64 56c-13.3 0-24-10.7-24-24s10.7-24 24-24h8.7C72.1 117.4 142.5 44.6 232 33.5V24c0-13.3 10.7-24 24-24zM112.9 208H399.1c-8-72-69-128-143.1-128s-135.2 56-143.1 128zm-.9 80v96h64V288h48v96h64V288h48v96h64V288h48v96h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-13.3 0-24-10.7-24-24s10.7-24 24-24V288h48zM8 488c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-13.3 0-24-10.7-24-24z\"]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faBoneBreak = {\n prefix: 'far',\n iconName: 'bone-break',\n icon: [640, 512, [], \"f5d8\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM201 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L201 71zM473 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48zM296.1 264.8c-1.9-13.4-14.5-22.6-27.9-20.2L180.1 260c-4.1 .7-8-1.8-9.4-5.7c-14.3-39.1-55.3-63.6-98-56.1C24.9 206.6-7.1 251.8 1.4 299.3c4.5 25.1 19.3 45.7 39.4 58.4c4.7 3 5.8 9.5 2.5 13.9c-14.5 18.7-21.3 43.2-16.8 68.3c8.4 47.5 54.1 79.1 101.9 70.8c42.7-7.5 72.8-44.4 72.7-86c0-4.1 2.8-7.8 6.9-8.5L320 396.6l112.1 19.6c4.1 .7 6.9 4.4 6.9 8.5c-.1 41.6 30 78.5 72.7 86c47.9 8.4 93.5-23.3 101.9-70.8c4.5-25.1-2.4-49.5-16.8-68.3c-3.4-4.4-2.2-11 2.5-13.9c20.1-12.7 34.9-33.4 39.4-58.4c8.4-47.5-23.5-92.7-71.4-101.1c-42.7-7.5-83.7 17-98 56.1c-1.4 3.9-5.3 6.4-9.4 5.7l-88.1-15.4c-13.3-2.3-26 6.8-27.9 20.2c-1.8 12.8 6.9 24.8 19.6 27l88.1 15.4c29.1 5.1 54.1-12.9 62.8-36.5c6.4-17.4 24.9-28.7 44.6-25.3c22.1 3.9 36.1 24.4 32.4 45.4c-2 11.2-8.5 20.4-17.8 26.3c-28.5 18-35.6 57-14.8 83.8c6.6 8.5 9.5 19.4 7.6 30.5c-3.7 21.1-24.3 35.8-46.4 31.9c-19.6-3.4-33-20.2-33-38.6c0-25.3-17.4-50.8-46.6-55.9L324.8 348.7c-1.6-.3-3.2-.4-4.8-.4c-1.6 0-3.2 .1-4.8 .4L199.7 368.9C170.5 374 153 399.5 153 424.8c0 18.4-13.4 35.2-33 38.6c-22.2 3.9-42.7-10.8-46.4-31.9c-2-11.1 1-22 7.6-30.5c20.8-26.9 13.7-65.9-14.8-83.8c-9.2-5.8-15.8-15.1-17.8-26.3c-3.7-20.9 10.3-41.5 32.4-45.4c19.7-3.4 38.3 7.9 44.6 25.3c8.6 23.6 33.7 41.6 62.8 36.5l88.1-15.4c12.8-2.2 21.5-14.2 19.6-27z\"]\n};\nvar faArrowUp = {\n prefix: 'far',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M209.4 39.4C204.8 34.7 198.6 32 192 32s-12.8 2.7-17.4 7.4l-168 176c-9.2 9.6-8.8 24.8 .8 33.9s24.8 8.8 33.9-.8L168 115.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V115.9L342.6 248.6c9.2 9.6 24.3 9.9 33.9 .8s9.9-24.3 .8-33.9l-168-176z\"]\n};\nvar faDownFromDottedLine = {\n prefix: 'far',\n iconName: 'down-from-dotted-line',\n icon: [448, 512, [], \"e407\", \"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faTv = {\n prefix: 'far',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM120 464H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faBorderLeft = {\n prefix: 'far',\n iconName: 'border-left',\n icon: [448, 512, [], \"f84f\", \"M24 480c-13.3 0-24-10.7-24-24L0 56C0 42.7 10.7 32 24 32s24 10.7 24 24l0 400c0 13.3-10.7 24-24 24zm104-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM320 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faCircleDivide = {\n prefix: 'far',\n iconName: 'circle-divide',\n icon: [512, 512, [], \"e106\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-88 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faShrimp = {\n prefix: 'far',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M0 104C0 64.2 32.2 32 72 32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24 10.7-24 24s10.7 24 24 24H336c97.2 0 176 78.8 176 176s-78.8 176-176 176H248c-13.3 0-24-10.7-24-24c0-12 8.8-21.9 20.2-23.7l-4.9-1.9c-12.4-4.8-18.5-18.7-13.7-31.1s18.7-18.5 31.1-13.7l68.7 26.7c20.5 8 42.6-7.1 42.6-29.1c0-17.3-14-31.2-31.2-31.2H259.5C158 352 74.5 274.6 64.9 175.7C28.5 172.1 0 141.4 0 104zM464 304c0-9.3-1-18.4-2.9-27.2L401 336.9c9.4 13 15 29 15 46.3c0 8.2-1.2 16-3.4 23.4C443.8 383.3 464 346 464 304zm-23.7-74.2c-21.8-30.5-56.6-51.1-96.3-53.5V304.3c6.2 .6 12.2 1.8 18 3.8l78.3-78.3zM296 176H113.3c9.5 72.2 71.4 128 146.2 128H296V176zm-72 24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faListCheck = {\n prefix: 'far',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M153.8 72.1c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 101.1 41 79C31.6 69.7 16.4 69.7 7 79s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zm0 160c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 261.1 41 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zM216 120H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24zM192 256c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24zM160 416c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm-64 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTasks = faListCheck;\nvar faDiagramSubtask = {\n prefix: 'far',\n iconName: 'diagram-subtask',\n icon: [512, 512, [], \"e479\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H152v96c0 22.1 17.9 40 40 40h32v-8c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H288c-35.3 0-64-28.7-64-64v-8H192c-48.6 0-88-39.4-88-88V224H64c-35.3 0-64-28.7-64-64V96zM448 336H288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V352c0-8.8-7.2-16-16-16z\"]\n};\nvar faJugDetergent = {\n prefix: 'far',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M120 0C106.7 0 96 10.7 96 24V48H88C74.7 48 64 58.7 64 72s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V24c0-13.3-10.7-24-24-24H120zM256 176c44.2 0 80 35.8 80 80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80H256zM128 128C57.3 128 0 185.3 0 256V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V256c0-70.7-57.3-128-128-128H128zm128 96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32z\"]\n};\nvar faCircleUser = {\n prefix: 'far',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M406.5 399.6C387.4 352.9 341.5 320 288 320H224c-53.5 0-99.4 32.9-118.5 79.6C69.9 362.2 48 311.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 55.7-21.9 106.2-57.5 143.6zm-40.1 32.7C334.4 452.4 296.6 464 256 464s-78.4-11.6-110.5-31.7c7.3-36.7 39.7-64.3 78.5-64.3h64c38.8 0 71.2 27.6 78.5 64.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-272a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faSquareY = {\n prefix: 'far',\n iconName: 'square-y',\n icon: [448, 512, [], \"e287\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm138.1 56.3L224 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L248 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L101.9 183.7c-8.7-10-7.6-25.2 2.4-33.9s25.2-7.6 33.9 2.4z\"]\n};\nvar faUserDoctorHair = {\n prefix: 'far',\n iconName: 'user-doctor-hair',\n icon: [448, 512, [], \"e458\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32zM96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0S96 57.3 96 128zm64 225c5.2-.7 10.6-1 16-1h96c5.4 0 10.8 .3 16 1v49c-27.6 7.1-48 32.2-48 62v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V464c0-17.7 14.3-32 32-32s32 14.3 32 32v16h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24c8.8 0 16-7.2 16-16V464c0-29.8-20.4-54.9-48-62V361.3c46.9 19 80 65 80 118.7v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-97.2-78.8-176-176-176H176C78.8 304 0 382.8 0 480v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-53.7 33.1-99.7 80-118.7v41c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V353zm-16 79a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPlanetRinged = {\n prefix: 'far',\n iconName: 'planet-ringed',\n icon: [512, 512, [129680], \"e020\", \"M464 31.1a.9 .9 0 1 0 -1.6 .5 .9 .9 0 1 0 1.6-.5zm-5.2 22.1c-11.9 4.4-27 11.5-45 21.9c-13.4-11.8-27.9-21.8-43-30c63.8-40.5 113.9-56.2 133.1-37c22.1 22.1-2.3 85.6-57.6 163.7C457.7 197.6 464 226 464 256c0 114.9-93.1 208-208 208c-30 0-58.4-6.3-84.2-17.7C93.7 501.6 30.3 526 8.1 503.9c-19.2-19.2-3.4-69.3 37-133.1c8.3 15.1 18.3 29.6 30 43c-10.4 18-17.6 33-21.9 45c12.6-4.6 28.7-12.3 48.1-23.8c8.2-4.8 16.7-10.2 25.4-16C78.8 380.9 48 322 48 256C48 141.1 141.1 48 256 48c66 0 124.9 30.8 163 78.8c5.8-8.8 11.2-17.3 16-25.4c11.4-19.4 19.2-35.5 23.8-48.1zM389.6 167.9C361 124.6 311.8 96 256 96C167.6 96 96 167.6 96 256c0 55.8 28.6 105 71.9 133.6c37.1-28.2 77.4-63.4 117.8-103.8s75.6-80.8 103.8-117.8zM217.9 411.4c12.2 3 25 4.6 38.1 4.6c88.4 0 160-71.6 160-160c0-13.1-1.6-25.9-4.6-38.1c-26.5 33-57.4 67.5-91.7 101.8s-68.8 65.2-101.8 91.7zM31.1 464a.9 .9 0 1 0 .5-1.6 .9 .9 0 1 0 -.5 1.6zm16.8 16a1.1 1.1 0 1 0 1.8 1.1A1.1 1.1 0 1 0 47.9 480zM480 47.9a1.1 1.1 0 1 0 1.1 1.8A1.1 1.1 0 1 0 480 47.9z\"]\n};\nvar faMushroom = {\n prefix: 'far',\n iconName: 'mushroom',\n icon: [512, 512, [127812], \"e425\", \"M24 258.1C24 133.2 125.2 32 250.1 32h11.8C386.8 32 488 133.2 488 258.1c0 34.2-27.7 61.9-61.9 61.9H320.6 191.4 85.9C51.7 320 24 292.3 24 258.1zM145.9 113.6C101.2 146 72 198.6 72 258.1c0 7.7 6.2 13.9 13.9 13.9H426.1c7.7 0 13.9-6.2 13.9-13.9c0-12-1.2-23.7-3.4-35C427.8 233.4 414.6 240 400 240c-26.5 0-48-21.5-48-48c0-26.1 20.8-47.3 46.7-48c-24.2-29-57.5-50.2-95.4-59.2c.5 3.7 .8 7.4 .8 11.2c0 44.2-35.8 80-80 80c-38.1 0-70-26.7-78.1-62.4zM234.3 352l-15 80h73.4l-15-80h48.8l16.9 90.1c1.8 9.4-.7 19-6.8 26.3s-15.1 11.6-24.6 11.6H200c-9.5 0-18.5-4.2-24.6-11.6s-8.6-17-6.8-26.3L185.4 352h48.8zM144 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserShield = {\n prefix: 'far',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H374.7c13.2 17.2 29.3 33.4 48.9 47.5c-1.7 .3-3.5 .5-5.3 .5H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c17.6 0 34.6 2.6 50.7 7.3c.9 16.6 3.4 35.3 8.3 54.8c-17.7-9-37.8-14.1-59-14.1H178.3c-65.7 0-120.1 48.7-129 112zM487.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C634 277.4 640 286.2 640 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C377.9 464.8 352 359.3 352 296c0-9.8 6-18.6 15.1-22.3l120-48zM591.4 312L496 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faMegaphone = {\n prefix: 'far',\n iconName: 'megaphone',\n icon: [576, 512, [128227], \"f675\", \"M552 32c-13.3 0-24 10.7-24 24v5.7L48 192.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v21.7V224v64 18.3V328c0 13.3 10.7 24 24 24s24-10.7 24-24v-8.6l117.6 32.1C162 361.7 160 372.6 160 384c0 53 43 96 96 96c46.9 0 86-33.6 94.3-78.1L528 450.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V432 80 56c0-13.3-10.7-24-24-24zM528 400.6L48 269.7V242.3L528 111.4V400.6zM208 384c0-7.1 1.5-13.8 4.3-19.8l91.5 24.9c-2.6 24.1-23 42.8-47.7 42.8c-26.5 0-48-21.5-48-48z\"]\n};\nvar faWreathLaurel = {\n prefix: 'far',\n iconName: 'wreath-laurel',\n icon: [640, 512, [], \"e5d2\", \"M237.1 50.9l-11.8 .7c-20.3 1.1-36.6 17.4-37.7 37.7l-.7 11.8 11.8-.7c20.3-1.1 36.6-17.4 37.7-37.7l.7-11.8zM43.1 177.7c-11.4-30.3-9.7-65.3 7.8-95.6L71.5 46.4c6.3-10.9 20.2-14.6 31-8.3c15.9 9.2 28.9 21.4 38.8 35.5c8-38.5 41-67.7 81.3-70l38.6-2.1c14.3-.8 26.1 11 25.3 25.3l-2.1 38.6c-2.5 44.8-38.2 80.5-83 83l-24.6 1.4C155.6 180.8 144 217.8 144 256c0 97.2 78.8 176 176 176h11.6c43.5 0 86.3 10.1 125.2 29.6l9.9 5c11.9 5.9 16.7 20.3 10.7 32.2s-20.3 16.7-32.2 10.7l-9.9-5C403.1 488.4 367.6 480 331.6 480H320 308.4c-36 0-71.5 8.4-103.8 24.5l-9.9 5c-11.9 5.9-26.3 1.1-32.2-10.7s-1.1-26.3 10.7-32.2l9.9-5c8.3-4.1 16.8-7.9 25.4-11.2c-5.5-3.1-10.8-6.5-15.9-10.1l-4.8 2.8-.3 .2c-4.6 2.7-9.4 5-14.2 6.9c-50.9 20.4-110.3 .8-138.5-48L14.2 366.4c-6.3-10.9-2.6-24.8 8.3-31c6-3.5 12.2-6.4 18.5-8.7C16 306.1 0 274.9 0 240l0-41.2C0 186.2 10.2 176 22.7 176c7 0 13.8 .6 20.4 1.7zm420-28l-24.6-1.4c-44.8-2.5-80.5-38.2-83-83l-2.1-38.6c-.8-14.3 11-26.1 25.3-25.3l38.6 2.1c40.3 2.2 73.3 31.5 81.3 70c9.9-14.1 22.9-26.3 38.8-35.5c10.9-6.3 24.8-2.6 31 8.3l20.6 35.7c17.5 30.3 19.2 65.3 7.8 95.6c6.6-1.1 13.4-1.7 20.4-1.7c12.6 0 22.7 10.2 22.7 22.7l0 41.2c0 34.9-16 66.1-41.1 86.7c6.3 2.3 12.5 5.2 18.5 8.7c10.9 6.3 14.6 20.2 8.3 31l-20.6 35.7c-21.6 37.4-61.5 57.6-101.8 55.9c-5.3-8.3-12.8-15.4-22.3-20.1l-9.9-5c-2.8-1.4-5.7-2.8-8.6-4.1c-10.4-4.8-21-9-31.8-12.6c-7.9-2.7-15.9-5-24-7C460 378.9 496 321.7 496 256c0-38.2-11.6-75.2-32.8-106.3zM414.7 51.6l-11.8-.7 .7 11.8c1.1 20.3 17.4 36.6 37.7 37.7l11.8 .7-.7-11.8c-1.1-20.3-17.4-36.6-37.7-37.7zM96 301.9l0-4.7c0-31.6-20-58.5-48-68.8L48 240c0 29.8 20.4 54.9 48 62zM544 297.2l0 4.7c27.6-7.1 48-32.2 48-62l0-11.5c-28 10.3-48 37.2-48 68.8zM149 407.8l-2.4-4.1c-15.8-27.3-46.5-40.6-75.9-35.6l5.7 9.9c14.9 25.8 45.1 37.3 72.5 29.7zM105.4 179.7c15.8-27.3 11.9-60.6-7.2-83.5l-5.7 9.9c-14.9 25.8-9.8 57.7 10.6 77.7l2.4-4.1zM537 183.8c20.3-20 25.5-51.8 10.6-77.7l-5.7-9.9c-19.1 22.9-22.9 56.2-7.2 83.5l2.4 4.1zM491 407.8c27.4 7.6 57.6-3.9 72.5-29.7l5.7-9.9c-29.4-5.1-60.1 8.2-75.9 35.6l-2.4 4.1z\"]\n};\nvar faCircleExclamationCheck = {\n prefix: 'far',\n iconName: 'circle-exclamation-check',\n icon: [640, 512, [], \"e10d\", \"M48 256C48 141.1 141.1 48 256 48c84.1 0 156.7 50 189.4 121.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8C448.8 61.6 359.6 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c72.9 0 138.8-30.5 185.4-79.4c9.1-9.6 8.8-24.8-.8-33.9s-24.8-8.8-33.9 .8C368.7 439.2 315.3 464 256 464C141.1 464 48 370.9 48 256zM280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM625 175c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L625 209c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faWind = {\n prefix: 'far',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 24c0 13.3 10.7 24 24 24h44c24.3 0 44 19.7 44 44s-19.7 44-44 44H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H356c50.8 0 92-41.2 92-92s-41.2-92-92-92H312c-13.3 0-24 10.7-24 24zm64 368c0 13.3 10.7 24 24 24h44c50.8 0 92-41.2 92-92s-41.2-92-92-92H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H420c24.3 0 44 19.7 44 44s-19.7 44-44 44H376c-13.3 0-24 10.7-24 24zM120 512h44c50.8 0 92-41.2 92-92s-41.2-92-92-92H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H164c24.3 0 44 19.7 44 44s-19.7 44-44 44H120c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faBoxDollar = {\n prefix: 'far',\n iconName: 'box-dollar',\n icon: [448, 512, [\"box-usd\"], \"f4a0\", \"M248 80h94.4c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80zm-5.7 128H400V416c0 8.8-7.2 16-16 16H242.3c1.1-2.5 1.7-5.2 1.7-8V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216c0-2.8-.6-5.6-1.7-8zm-36.7 0c-1.1 2.4-1.7 5.2-1.7 8v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5l0 0c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 2.8 .6 5.5 1.7 8H64c-8.8 0-16-7.2-16-16V208H205.7zM200 160H59.6L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70z\"]\n};\nvar faBoxUsd = faBoxDollar;\nvar faCarBurst = {\n prefix: 'far',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M197.2 20.7l30.1 56.7 63.1-11.8c1-.2 2.1-.3 3.1-.4c-3.6 4.1-7 8.4-10.2 13l-29.3 43-35.2 6.6c-10.3 1.9-20.7-3.1-25.6-12.3L176 83.2l-17.2 32.4c-4.9 9.3-15.3 14.3-25.6 12.3l-36-6.7 14.6 33.6c4.2 9.6 1.6 20.9-6.3 27.7l-27.7 24 35.4 9.6c10.1 2.7 17.3 11.7 17.7 22.2l1.4 36.6 29.5-21.7c1.9-1.4 3.9-2.4 6-3.2l-19.5 72.7-24 17.7c-7.2 5.3-16.6 6.1-24.6 2.3s-13.2-11.8-13.6-20.7l-2.5-64.2L21.6 241c-8.6-2.3-15.2-9.2-17.1-17.8s1-17.7 7.7-23.5l48.6-42L35.1 98.8c-3.5-8.1-2.3-17.6 3.3-24.5s14.5-10.3 23.2-8.6l63.1 11.8 30.1-56.7C159 12.9 167.1 8 176 8s17 4.9 21.2 12.7zM536.5 148.5l-137-36.7c-16.4-4.4-33.8 2.1-43.4 16.1l-31 45.5c1.3 .3 2.5 .6 3.8 .9l237.6 63.7c1.3 .3 2.5 .7 3.7 1.1L566 184.1c-1.3-17-13.1-31.2-29.5-35.6zm77.4 32.1l7.2 96.4c15 22.2 20.7 50.6 13.2 78.6l-12.3 46-6.9 25.7-5.5 20.7-12.4 46.3c-2.9 11-14.2 17.5-25.1 14.5s-17.5-14.2-14.5-25.1l12.4-46.3-6.7-1.8L232.9 346.9l-6.7-1.8-12.4 46.3c-2.9 11-14.2 17.5-25.1 14.5s-17.5-14.2-14.5-25.1l12.4-46.3 12.4-46.4 12.3-46c7.5-28 26.6-49.7 50.7-61.5l54.5-79.9c21.1-30.9 59.4-45.1 95.5-35.4l137 36.7c36.1 9.7 62.2 41.1 65 78.4zM554 284.3L316.4 220.6c-25.6-6.9-51.9 8.3-58.8 33.9l-12.3 46 330.3 88.5 12.3-46c6.9-25.6-8.3-51.9-33.9-58.8zm14.3 53.3a27.4 27.4 0 1 1 -52.9-14.2 27.4 27.4 0 1 1 52.9 14.2zM310.9 240.3a27.4 27.4 0 1 1 -14.2 52.9 27.4 27.4 0 1 1 14.2-52.9z\"]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'far',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M43.4 41.9C35.7 31.2 20.7 28.8 9.9 36.6S-3.2 59.3 4.6 70.1L168 295.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V295.8L379.4 70.1c7.8-10.7 5.4-25.7-5.4-33.5s-25.7-5.4-33.5 5.4L192 247.1 43.4 41.9z\"]\n};\nvar faUserHeadset = {\n prefix: 'far',\n iconName: 'user-headset',\n icon: [448, 512, [], \"f82d\", \"M224 32C135.6 32 64 103.6 64 192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192C32 86 118 0 224 0S416 86 416 192v16c0 61.9-50.1 112-112 112H240 224 208c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32h32c44.2 0 80-35.8 80-80V192c0-88.4-71.6-160-160-160zm0 32c70.7 0 128 57.3 128 128c0 13.9-2.2 27.3-6.3 39.8C337.4 246.3 321.8 256 304 256h-8.6c-2.7-4.7-6.1-9.1-9.9-12.9C297.1 229.2 304 211.4 304 192c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 19.4 6.9 37.2 18.4 51.1C151 254.6 144 270.5 144 288c0 1.4 0 2.7 .1 4C114.8 268.6 96 232.5 96 192c0-70.7 57.3-128 128-128zM208 352h16 16 57.4H304h9.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352h16.2H208zm105.6 48H134.4c-40 0-73.6 27.1-83.5 64H397.1c-9.9-36.9-43.5-64-83.5-64z\"]\n};\nvar faArrowsRetweet = {\n prefix: 'far',\n iconName: 'arrows-retweet',\n icon: [640, 512, [\"retweet-alt\"], \"f361\", \"M145 71c-9.4-9.4-24.6-9.4-33.9 0L23 159c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47V328c0 48.6 39.4 88 88 88H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-22.1 0-40-17.9-40-40V145.9l47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L145 71zM312 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c22.1 0 40 17.9 40 40V366.1l-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l88 88c9.4 9.4 24.6 9.4 33.9 0l88-88c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47V184c0-48.6-39.4-88-88-88H312z\"]\n};\nvar faRetweetAlt = faArrowsRetweet;\nvar faPersonSnowboarding = {\n prefix: 'far',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M204.3 3c11.6-6.4 26.2-2.3 32.6 9.3l31.9 57.4c1.3 2.3 3.6 3.8 6.2 4.1l33.8 3.4c24.1 2.4 46.9 12 65.4 27.6L503.5 213.6c10.1 8.5 11.4 23.7 2.9 33.8s-23.7 11.4-33.8 2.9l-68.2-57.5-82.3 43.9 24.7 18.9c24.9 19 34.6 51.9 24.1 81.4l-28.2 79c-1.4 3.8-3.6 7-6.3 9.6l93.3 35.7c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H443.8c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l19.4 7.4c-2.9-11.4 2.9-23.4 14-28.1L192 272l0-68.2c0-21.2 12-40.6 31-50.1L284.4 123l-14.1-1.4c-18.3-1.8-34.5-12.5-43.4-28.5L195 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zm91.8 407.2c-.3-3.4 .1-6.9 1.3-10.3l28.2-79c3.5-9.8 .3-20.8-8-27.1L240 234.4l0 42.9c0 16.1-9.7 30.7-24.6 36.9L134 348.2l162.1 62.1zM259.6 189l20.5 15.7 84.6-45.1-17.2-14.5L259.6 189zM384 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faSquareChevronRight = {\n prefix: 'far',\n iconName: 'square-chevron-right',\n icon: [448, 512, [\"chevron-square-right\"], \"f32b\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM313 273L209 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L313 239c9.4 9.4 9.4 24.6 0 33.9z\"]\n};\nvar faChevronSquareRight = faSquareChevronRight;\nvar faLacrosseStickBall = {\n prefix: 'far',\n iconName: 'lacrosse-stick-ball',\n icon: [576, 512, [], \"e3b6\", \"M344 48v0l.3 0c22.9 0 53 15.2 78.8 40.9s40.9 55.9 40.9 78.8l0 .3h0c0 37.4-24 70.7-59.5 82.5l-19.7 6.6c-18.9 6.3-36.5 16-51.9 28.6l-42 34.4c-12.6 10.3-28.3 15.9-44.5 15.9c-38.8 0-70.3-31.5-70.3-70.3c0-16.2 5.6-32 15.9-44.5l34.4-42c12.6-15.4 22.3-33 28.6-51.9l6.6-19.7C273.3 72 306.6 48 344 48zm0-48V0C285.9 0 234.3 37.2 215.9 92.3L209.4 112c-4.5 13.4-11.3 25.8-20.2 36.7l-34.4 42c-17.3 21.1-26.7 47.6-26.7 74.9c0 24 7.1 46.3 19.4 65L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L181.4 364.6c18.6 12.3 41 19.4 65 19.4c27.3 0 53.8-9.4 74.9-26.7l42-34.4c10.9-8.9 23.3-15.8 36.7-20.2l19.7-6.6c55.1-18.4 92.3-70 92.3-128.1h0l0-.3c0-40.8-24.8-82.5-55-112.7S385.1 0 344.3 0L344 0zM464 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faTruckFast = {\n prefix: 'far',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M352 48H128c-8.8 0-16 7.2-16 16V96H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V64C64 28.7 92.7 0 128 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96s-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96V368 288h48v44.8c14.1-8.2 30.5-12.8 48-12.8c35.5 0 66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM557.7 239.6l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558l-.2-.2-.2-.2zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM48 160H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM16 224H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faShippingFast = faTruckFast;\nvar faUserMagnifyingGlass = {\n prefix: 'far',\n iconName: 'user-magnifying-glass',\n icon: [640, 512, [], \"e5c5\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208A128 128 0 1 0 224 0a128 128 0 1 0 0 256zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c7.5 0 14.8 .6 21.9 1.8c-2.3-10.9-3.6-22.2-3.6-33.8c0-5.1 .2-10.1 .7-15c-6.2-.7-12.6-1-19-1H224 178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-.8 0-1.5 0-2.3c-25 0-48.7-5.8-69.8-16H49.3zM448 240.1a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208c26.7 0 51.4-8.2 71.9-22.1L599 505.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-79.1-79.1c14-20.5 22.1-45.3 22.1-71.9c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faStarSharp = {\n prefix: 'far',\n iconName: 'star-sharp',\n icon: [576, 512, [], \"e28b\", \"M288 0c10.5 0 19.7 6.8 22.9 16.7L361.5 176H520c10.3 0 19.4 6.5 22.7 16.2s.1 20.4-8 26.7L403.9 320.7l50.9 160.1c3.2 10-.5 21-9.1 27s-20.2 5.7-28.5-.7L288 406.4 158.7 506.9c-8.3 6.5-19.8 6.8-28.5 .7s-12.3-16.9-9.1-27l50.9-160.1L41.3 218.9c-8.1-6.3-11.3-17-8-26.7S45.7 176 56 176H214.5L265.1 16.7C268.3 6.8 277.5 0 288 0zm0 103.2L254.9 207.3c-3.2 10-12.4 16.7-22.9 16.7H125.9l88.8 69.1c7.9 6.2 11.2 16.6 8.1 26.2L190.3 421.6l82.9-64.5c8.7-6.7 20.8-6.7 29.5 0l82.9 64.5L353.1 319.3c-3-9.6 .2-20 8.1-26.2L450.1 224H344c-10.5 0-19.7-6.8-22.9-16.7L288 103.2z\"]\n};\nvar faCommentHeart = {\n prefix: 'far',\n iconName: 'comment-heart',\n icon: [512, 512, [], \"e5c8\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 221.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCircle1 = {\n prefix: 'far',\n iconName: 'circle-1',\n icon: [512, 512, [], \"e0ee\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM268 131.2c7.4 4.3 12 12.2 12 20.8V336h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H256 192c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V193.4l-20.1 11.5c-11.5 6.6-26.2 2.6-32.7-8.9s-2.6-26.2 8.9-32.7l56-32c7.4-4.2 16.6-4.2 24 .1z\"]\n};\nvar faCircleStar = {\n prefix: 'far',\n iconName: 'circle-star',\n icon: [512, 512, [\"star-circle\"], \"e123\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-391c-6.1 0-11.7 3.5-14.3 8.9l-31.3 63.3-69.9 10.2c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4L182.2 280l-11.9 69.6c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.9 1.2L256 333.6l62.5 32.9c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.6L329.8 280l50.6-49.3c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-69.9-10.2-31.3-63.3c-2.7-5.5-8.3-8.9-14.3-8.9z\"]\n};\nvar faStarCircle = faCircleStar;\nvar faFish = {\n prefix: 'far',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M180.8 303.7c9.2 10.4 19.4 20.6 30.7 30.1c33.7 28.5 76 50.2 124.5 50.2s90.8-21.8 124.5-50.2c30.3-25.5 52.7-55.7 65.3-77.8c-12.6-22.1-35-52.2-65.3-77.8C426.8 149.7 384.5 128 336 128s-90.8 21.7-124.5 50.2c-11.3 9.5-21.5 19.7-30.7 30.1c-14 15.8-36.7 20.6-56 11.8L70.6 195.3l21.1 36.9c8.4 14.8 8.4 32.9 0 47.6L70.6 316.7l54.3-24.9c19.2-8.8 41.9-4 56 11.8zM4.2 336.1L50 256 4.2 175.9c-6.9-12.1-5.2-27.2 4.2-37.5s24.3-13.3 36.9-7.5l99.5 45.6c10.5-11.9 22.5-23.8 35.7-35C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-13.2-11.2-25.1-23.1-35.7-35L45.3 381.1c-12.6 5.8-27.6 2.8-36.9-7.5S-2.7 348.2 4.2 336.1zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCloudFog = {\n prefix: 'far',\n iconName: 'cloud-fog',\n icon: [640, 512, [127787, \"fog\"], \"f74e\", \"M176 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H172h-1.9c-.3 0-.7-.1-1-.1C137.3 270.4 112 244.2 112 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM248 0C184 0 131.7 50.1 128.2 113.3C90.4 130.1 64 167.9 64 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H464c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C470.5 55 430.9 24 384 24c-18 0-34.9 4.6-49.7 12.6C312.5 14.1 281.9 0 248 0zM0 392c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm64 96c0 13.3 10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm208 0c0 13.3 10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H296c-13.3 0-24 10.7-24 24z\"]\n};\nvar faFog = faCloudFog;\nvar faWaffle = {\n prefix: 'far',\n iconName: 'waffle',\n icon: [512, 512, [129479], \"e466\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 112v32l64 0V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H272v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V272H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V176H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V112c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 128l64 0V176l-64 0v64zm96 0h64V176H272v64zm0 32v64h64V272H272zm-32 0H176v64h64V272z\"]\n};\nvar faMusicNote = {\n prefix: 'far',\n iconName: 'music-note',\n icon: [384, 512, [\"music-alt\"], \"f8cf\", \"M384 31.1C384 13.9 370.1 0 352.9 0c-2.7 0-5.3 .3-7.9 1L193.9 40.8C183.3 43.6 176 53.1 176 64V366.3c-18.1-9-40.2-14.3-64-14.3C50.1 352 0 387.8 0 432s50.1 80 112 80s112-35.8 112-80V195.4l141.9-36.1C376.6 156.6 384 147 384 136V31.1zM176 432c0 2.6-1.4 9.4-12.7 17.5c-11.2 8-29.2 14.5-51.3 14.5s-40.1-6.5-51.3-14.5C49.4 441.4 48 434.6 48 432s1.4-9.4 12.7-17.5c11.2-8 29.2-14.5 51.3-14.5s40.1 6.5 51.3 14.5c11.3 8.1 12.7 14.9 12.7 17.5zM336 117.3L224 145.8V82.5L336 53v64.3z\"]\n};\nvar faMusicAlt = faMusicNote;\nvar faHexagonExclamation = {\n prefix: 'far',\n iconName: 'hexagon-exclamation',\n icon: [512, 512, [], \"e417\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCartShoppingFast = {\n prefix: 'far',\n iconName: 'cart-shopping-fast',\n icon: [640, 512, [], \"e0dc\", \"M64 24C64 10.7 74.7 0 88 0h45.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H234.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H263.7c-34.6 0-64.3-24.6-70.7-58.5l-51.6-271c-.7-3.8-4-6.5-7.9-6.5H88C74.7 48 64 37.3 64 24zM225.6 240H523.2c10.9 0 20.4-7.3 23.2-17.8L584.7 80H195.1l30.5 160zM192 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM24 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faObjectUnion = {\n prefix: 'far',\n iconName: 'object-union',\n icon: [512, 512, [], \"e49f\", \"M160 304c26.5 0 48 21.5 48 48v96c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H352c-26.5 0-48-21.5-48-48V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16h96zm-48 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v48 48h48 48c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V400 352H112z\"]\n};\nvar faUserGraduate = {\n prefix: 'far',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M228.7 .5c-3.1-.6-6.3-.6-9.4 0l-200 40C8.1 42.7 0 52.6 0 64C0 74.3 6.5 83.3 16 86.6v71.8L.3 236.9c-.9 4.7 .3 9.6 3.3 13.3s7.6 5.9 12.4 5.9H48c4.8 0 9.3-2.1 12.4-5.9s4.3-8.6 3.3-13.3L48 158.4V93.3l171.3 34.3c3.1 .6 6.3 .6 9.4 0l200-40C439.9 85.3 448 75.4 448 64s-8.1-21.3-19.3-23.5l-200-40zM49.3 464c5.8-37.6 30-69.2 63.3-85.1l63.6 71.5c5 5.6 10.7 10.1 16.9 13.6H49.3zm349.4 0H254.9c6.2-3.4 11.9-7.9 16.9-13.6l63.6-71.5c33.3 15.8 57.5 47.4 63.3 85.1zM109.6 328.4C45.9 350 0 410.3 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-71-45.9-131.3-109.6-152.8c-10.9-3.7-22.7 .4-30.3 9L236 418.5c-6.4 7.2-17.6 7.2-23.9 0l-72.1-81.1c-7.6-8.6-19.4-12.7-30.3-9zM96 160c0 70.7 57.3 128 128 128s128-57.3 128-128V135.5l-48 9.6V160c0 44.2-35.8 80-80 80s-80-35.8-80-80V145.1l-48-9.6V160z\"]\n};\nvar faStarfighter = {\n prefix: 'far',\n iconName: 'starfighter',\n icon: [640, 512, [], \"e037\", \"M254.4 35C256.9 15 274 0 294.1 0h51.8c20.2 0 37.2 15 39.7 35l25.8 206.4c4.1-.9 8.3-1.4 12.6-1.4h32c30.9 0 56 25.1 56 56v56h56V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24v-2.7l-88 29.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-.6c-8.8-1.3-17-4.6-24-9.5c-9.1 6.3-20.1 10-32 10H280c-11.9 0-22.9-3.7-32-10c-7 4.9-15.2 8.2-24 9.5v.6c0 17.7-14.3 32-32 32s-32-14.3-32-32v-5.3L72 445.3V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V352h56V296c0-30.9 25.1-56 56-56h32c4.3 0 8.6 .5 12.6 1.4L254.4 35zM368 424V296 281.5L338.8 48H301.2L272 281.5V296 424c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8zm48-128V424c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8H424c-4.4 0-8 3.6-8 8zm-200-8H184c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8zm104-64c17.7 0 32 14.3 32 32v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V256c0-17.7 14.3-32 32-32z\"]\n};\nvar faCircleHalfStroke = {\n prefix: 'far',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M464 256c0-114.9-93.1-208-208-208V464c114.9 0 208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faArrowRightLongToLine = {\n prefix: 'far',\n iconName: 'arrow-right-long-to-line',\n icon: [640, 512, [], \"e3d5\", \"M640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zM505 239c9.4 9.4 9.4 24.6 0 33.9L369 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l95-95L24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l406.1 0-95-95c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 239z\"]\n};\nvar faSquareArrowDown = {\n prefix: 'far',\n iconName: 'square-arrow-down',\n icon: [448, 512, [\"arrow-square-down\"], \"f339\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM207 377l-88-88c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L200 152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 150.1 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0z\"]\n};\nvar faArrowSquareDown = faSquareArrowDown;\nvar faDiamondHalfStroke = {\n prefix: 'far',\n iconName: 'diamond-half-stroke',\n icon: [512, 512, [], \"e5b8\", \"M256 464V48c2.6 0 5.2 1 7 2.9L461.1 249c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L263 461.1c-1.9 1.9-4.4 2.9-7 2.9zM215 17L17 215C6.1 225.9 0 240.6 0 256s6.1 30.1 17 41L215 495c10.9 10.9 25.6 17 41 17s30.1-6.1 41-17L495 297c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L297 17C286.1 6.1 271.4 0 256 0s-30.1 6.1-41 17z\"]\n};\nvar faClapperboard = {\n prefix: 'far',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M48 208H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208zm352-48H336l80-80h32c8.8 0 16 7.2 16 16l-64 64zM320 80l-80 80H176l80-80h64zM160 80L80 160H48V128L96 80h64zm352 80V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64 24 24V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208 184 160z\"]\n};\nvar faSquareChevronLeft = {\n prefix: 'far',\n iconName: 'square-chevron-left',\n icon: [448, 512, [\"chevron-square-left\"], \"f32a\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm71-241L239 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L135 273c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faChevronSquareLeft = faSquareChevronLeft;\nvar faPhoneIntercom = {\n prefix: 'far',\n iconName: 'phone-intercom',\n icon: [512, 512, [], \"e434\", \"M112 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16h48zm0 400c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H192c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h48zm64-64V96c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16zm80-32a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm80-80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zM240 112c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H400c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32H240z\"]\n};\nvar faLinkHorizontal = {\n prefix: 'far',\n iconName: 'link-horizontal',\n icon: [640, 512, [\"chain-horizontal\"], \"e1cb\", \"M143.9 64C64.4 64 0 128.4 0 207.9c0 75.7 58.7 138.5 134.3 143.5l8.1 .5c13.2 .9 24.7-9.1 25.5-22.3s-9.1-24.7-22.4-25.5l-8.1-.5C87.1 300.2 48 258.3 48 207.9c0-52.9 42.9-95.9 95.9-95.9H304.1c52.9 0 95.9 42.9 95.9 95.9c0 50.5-39.1 92.3-89.5 95.6l-8.1 .5c-13.2 .9-23.2 12.3-22.4 25.5s12.3 23.2 25.5 22.3l8.1-.5c75.6-5 134.3-67.8 134.3-143.5C448 128.4 383.6 64 304.1 64H143.9zM496.1 448C575.6 448 640 383.6 640 304.1c0-75.7-58.7-138.5-134.3-143.5l-8.1-.5c-13.2-.9-24.7 9.1-25.5 22.4s9.1 24.7 22.3 25.5l8.1 .5c50.4 3.4 89.5 45.2 89.5 95.6c0 52.9-42.9 95.9-95.9 95.9H335.9c-53 0-95.9-42.9-95.9-95.9c0-50.5 39.1-92.3 89.5-95.7l7.1-.5c13.2-.9 23.2-12.3 22.3-25.6s-12.3-23.2-25.6-22.3l-7.1 .5C250.7 165.6 192 228.4 192 304.1C192 383.6 256.4 448 335.9 448H496.1z\"]\n};\nvar faChainHorizontal = faLinkHorizontal;\nvar faMango = {\n prefix: 'far',\n iconName: 'mango',\n icon: [512, 512, [], \"e30f\", \"M352 1.4c-2.5-.9-5.2-1.4-8-1.4c-13.3 0-24 10.7-24 24V96c-49.1 0-98.3 18.7-135.8 56.2c-45.8 37.2-67.8 76.7-88.4 113.5c-19.1 34.1-36.9 66-71.2 91.8C15 365 7.4 375.4 3.3 387.9c-11.1 33.5 7.1 69.8 40.6 80.9c0 0 100.1 43.3 244.1 43.3c166.5 0 224-147.4 224-224c0-49.1-18.7-98.3-56.2-135.8c-16.6-16.6-35.6-29.6-55.8-38.8v54.8c7.7 5.2 15 11.1 21.8 17.9C450 214.3 464 251.1 464 288c0 28.5-11.4 74.2-39.8 111.7C397.2 435.3 354.9 464 288 464c-67.3 0-124.3-10.1-164.4-20.2c-20-5-35.6-10-46.1-13.6c-5.2-1.8-9.1-3.3-11.6-4.3c-1.2-.5-2.1-.8-2.6-1.1l-.5-.2 0 0 0 0 0 0-1.8-.8-2-.7C50.6 420.4 46 411.4 48.8 403c1-3.1 2.8-5.6 5.1-7.4c42.4-31.9 64.6-71.8 83-104.8l3.1-5.6c19.4-34.8 37.9-65.9 74.5-95.7l1.9-1.6 1.7-1.7c28.1-28.1 65-42.2 101.8-42.2v24c0 13.3 10.7 24 24 24s24-10.7 24-24V152.2 102.1v-49C385.2 79 414.6 96 448 96h40c13.3 0 24-10.7 24-24c0-39.8-32.2-72-72-72H376 352l0 1.4zM400 288c-8.8 0-16 7.2-16 16c0 44.2-35.8 80-80 80c-8.8 0-16 7.2-16 16s7.2 16 16 16c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16z\"]\n};\nvar faMusicNoteSlash = {\n prefix: 'far',\n iconName: 'music-note-slash',\n icon: [640, 512, [\"music-alt-slash\"], \"f8d0\", \"M512 31.1C512 13.9 498.1 0 480.9 0c-2.7 0-5.3 .3-7.9 1L321.9 40.8C311.3 43.6 304 53.1 304 64V213L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L352 250.6V195.4l141.9-36.1C504.6 156.6 512 147 512 136V31.1zM304 366.3c-18.1-9-40.2-14.3-64-14.3c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V373.3l-48-37.8v30.8zm0 65.7c0 2.6-1.4 9.4-12.7 17.5c-11.2 8-29.2 14.5-51.3 14.5s-40.1-6.5-51.3-14.5C177.4 441.4 176 434.6 176 432s1.4-9.4 12.7-17.5c11.2-8 29.2-14.5 51.3-14.5s40.1 6.5 51.3 14.5c11.3 8.1 12.7 14.9 12.7 17.5zM464 117.3L352 145.8V82.5L464 53v64.3z\"]\n};\nvar faMusicAltSlash = faMusicNoteSlash;\nvar faCircleRadiation = {\n prefix: 'far',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faFaceTongueSweat = {\n prefix: 'far',\n iconName: 'face-tongue-sweat',\n icon: [576, 512, [], \"e39e\", \"M496 256c0 81.7-47.1 152.4-115.7 186.4c2.4-8.4 3.7-17.3 3.7-26.4V400.7c10.2-7.2 16-15.7 16-24.7c0-26.5-50.1-48-112-48s-112 21.5-112 48c0 9 5.8 17.5 16 24.7V416c0 9.2 1.3 18 3.7 26.4c-27.1-13.4-50.8-32.6-69.6-55.9c-3.9 17.1-13.4 32-26.4 42.8C146.4 480.2 213.5 512 288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8l.7 .9c-.5-5.6-.7-11.3-.7-17C80 141.1 173.1 48 288 48s208 93.1 208 208zM96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47c12 0 23-4.3 31.5-11.5C89.6 395.9 96 383.2 96 369zm239.6-97a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm19.7-155.3c-6.2-6.2-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4c6.2-6.2 6.2-16.4 0-22.6zm121.4 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM352 416c0 35.3-28.7 64-64 64s-64-28.7-64-64V394.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGlobeStand = {\n prefix: 'far',\n iconName: 'globe-stand',\n icon: [448, 512, [], \"f5f6\", \"M15 367c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l18.5-18.5c34.3 27.7 74.9 43.8 116.5 48.3V464H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V430.7c49.1-5.3 96.8-26.7 134.4-64.3c81.7-81.7 87.1-211 16.1-298.9L401 49c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L332.5 49.6c-9.4 9.4-9.4 24.6 0 33.9c68.7 68.7 68.7 180.2 0 248.9s-180.2 68.7-248.9 0c-9.4-9.4-24.6-9.4-33.9 0L15 367zm97-159a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm240 0A144 144 0 1 0 64 208a144 144 0 1 0 288 0z\"]\n};\nvar faBaseball = {\n prefix: 'far',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M248 463.8c0-6 .3-11.9 .7-17.8c1.1-13.2 12.7-23 25.9-21.9s23 12.7 21.9 25.9c-.3 3.4-.5 6.8-.5 10.2C378.8 444 444 378.8 460.2 296c-3.4 .1-6.8 .3-10.2 .5c-13.2 1.1-24.8-8.7-25.9-21.9s8.7-24.8 21.9-25.9c5.9-.5 11.8-.7 17.8-.7C459.7 139.5 372.5 52.3 264 48.2c0 6-.3 11.9-.7 17.8c-1.1 13.2-12.7 23-25.9 21.9s-23-12.7-21.9-25.9c.3-3.4 .5-6.8 .5-10.2C133.2 68 68 133.2 51.9 216c3.4-.1 6.8-.3 10.2-.5c13.2-1.1 24.8 8.7 25.9 21.9s-8.7 24.8-21.9 25.9c-5.9 .5-11.8 .7-17.8 .7C52.3 372.5 139.5 459.7 248 463.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm118-55.2c36.5-16.8 66-46.3 82.8-82.8c5.5-12 19.8-17.3 31.8-11.8s17.3 19.8 11.8 31.8C222.8 185 185 222.8 138 244.4c-12 5.5-26.3 .2-31.8-11.8s-.2-26.3 11.8-31.8zM394 311.2c-36.5 16.8-66 46.3-82.8 82.8c-5.5 12-19.8 17.3-31.8 11.8s-17.3-19.8-11.8-31.8C289.2 327 327 289.2 374 267.6c12-5.5 26.3-.2 31.8 11.8s.2 26.3-11.8 31.8z\"]\n};\nvar faBaseballBall = faBaseball;\nvar faCircleP = {\n prefix: 'far',\n iconName: 'circle-p',\n icon: [512, 512, [], \"e11a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V288v72c0 13.3 10.7 24 24 24s24-10.7 24-24V312h68c50.8 0 92-41.2 92-92s-41.2-92-92-92H184zm92 136H208V176h68c24.3 0 44 19.7 44 44s-19.7 44-44 44z\"]\n};\nvar faAwardSimple = {\n prefix: 'far',\n iconName: 'award-simple',\n icon: [384, 512, [], \"e0ab\", \"M163.1 8.1c17.7-10.8 40-10.8 57.8 0l15.6 9.5c1.2 .7 2.7 1.1 4.1 1.1l18.3-.4c20.8-.5 40.1 10.7 50 28.9l8.8 16.1c.7 1.3 1.7 2.3 3 3L336.8 75c18.2 10 29.4 29.3 28.9 50l-.4 18.3c0 1.4 .3 2.9 1.1 4.1l9.5 15.6c10.8 17.7 10.8 40 0 57.8l-9.5 15.6c-.7 1.2-1.1 2.7-1.1 4.1l.4 18.3c.5 20.8-10.7 40.1-28.9 50l-16.1 8.8c-1.3 .7-2.3 1.7-3 3L309 336.8c-10 18.2-29.3 29.4-50 28.9l-18.3-.4c-1.4 0-2.9 .3-4.1 1.1l-15.6 9.5c-17.7 10.8-40 10.8-57.8 0l-15.6-9.5c-1.2-.7-2.7-1.1-4.1-1.1l-18.3 .4c-20.8 .5-40.1-10.7-50-28.9l-8.8-16.1c-.7-1.3-1.7-2.3-3-3L47.2 309c-18.2-10-29.4-29.3-28.9-50l.4-18.3c0-1.4-.3-2.9-1.1-4.1L8.1 220.9c-10.8-17.7-10.8-40 0-57.8l9.5-15.6c.7-1.2 1.1-2.7 1.1-4.1l-.4-18.3C17.8 104.3 29 85 47.2 75l16.1-8.8c1.3-.7 2.3-1.7 3-3L75 47.2c10-18.2 29.3-29.4 50-28.9l18.3 .4c1.4 0 2.9-.3 4.1-1.1l15.6-9.5zm32.8 41c-2.4-1.5-5.4-1.5-7.8 0l-15.6 9.5c-9.1 5.5-19.6 8.3-30.2 8.1l-18.3-.4c-2.8-.1-5.4 1.4-6.8 3.9l-8.8 16.1c-5.1 9.3-12.8 17-22.1 22.1l-16.1 8.8c-2.5 1.4-4 4-3.9 6.8l.4 18.3c.3 10.6-2.6 21.1-8.1 30.2l-9.5 15.6L28.6 175.6l20.5 12.5c-1.5 2.4-1.5 5.4 0 7.8l9.5 15.6c5.5 9.1 8.3 19.6 8.1 30.2l-.4 18.3c-.1 2.8 1.4 5.4 3.9 6.8l16.1 8.8c9.3 5.1 17 12.8 22.1 22.1l8.8 16.1c1.4 2.5 4 4 6.8 3.9l18.3-.4c10.6-.3 21.1 2.6 30.2 8.1l15.6 9.5c2.4 1.5 5.4 1.5 7.8 0l15.6-9.5c9.1-5.5 19.6-8.3 30.2-8.1l18.3 .4c2.8 .1 5.4-1.4 6.8-3.9l8.8-16.1c5.1-9.3 12.8-17 22.1-22.1l16.1-8.8c2.5-1.4 4-4 3.9-6.8l-.4-18.3c-.3-10.6 2.6-21.1 8.1-30.2l9.5-15.6c1.5-2.4 1.5-5.4 0-7.8l-9.5-15.6c-5.5-9.1-8.3-19.6-8.1-30.2l.4-18.3c.1-2.8-1.4-5.4-3.9-6.8l-16.1-8.8c-9.3-5.1-17-12.8-22.1-22.1l-8.8-16.1c-1.4-2.5-4-4-6.8-3.9l-18.3 .4c-10.6 .3-21.1-2.6-30.2-8.1l-15.6-9.5zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64.4 492.4L88 390.1c11.7 5.2 24.5 7.9 37.8 7.6l11.1-.3 9.5 5.8c28 17 63.1 17 91.1 0l9.5-5.8 11.1 .3c13.3 .3 26.1-2.4 37.8-7.6l23.6 102.3c1.4 5.9-.7 12-5.3 15.9s-11 4.8-16.6 2.4L192 465.4 86.3 510.7c-5.5 2.4-11.9 1.4-16.6-2.4s-6.7-10-5.3-15.9z\"]\n};\nvar faJetFighterUp = {\n prefix: 'far',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M277.2 12.8C273.1 4.9 264.9 0 256 0s-17.1 4.9-21.2 12.8L168.4 138.2c-5.5 10.4-8.4 21.9-8.4 33.7v31.6L48 281.9V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v80 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H160v1.1l-41.9 66.3c-4 6.3-6.1 13.6-6.1 21.1c0 21.8 17.7 39.5 39.5 39.5h209c21.8 0 39.5-17.7 39.5-39.5c0-7.5-2.1-14.8-6.1-21.1L352 385.1V384H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V360 328 248c0-13.3-10.7-24-24-24s-24 10.7-24 24v33.9L352 203.5V171.9c0-11.7-2.9-23.3-8.4-33.7L277.2 12.8zM457.6 336H352V262.1L457.6 336zM304 360v32c0 4.5 1.3 9 3.7 12.8L345.1 464H280V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H166.9l37.4-59.2c2.4-3.8 3.7-8.3 3.7-12.8V360 216.3v-.6V171.9c0-3.9 1-7.8 2.8-11.2L256 75.3l45.2 85.4c1.8 3.5 2.8 7.3 2.8 11.2v43.7 .6V360zM160 336H54.4L160 262.1V336z\"]\n};\nvar faDiagramProject = {\n prefix: 'far',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M136 80c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h80zM56 32C25.1 32 0 57.1 0 88v80c0 30.9 25.1 56 56 56h80c5.6 0 11.1-.8 16.2-2.4l75.9 101.2c-2.7 6.5-4.1 13.7-4.1 21.2v80c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V344c0-30.9-25.1-56-56-56H280c-5.6 0-11.1 .8-16.2 2.4L187.9 189.2c2.7-6.5 4.1-13.7 4.1-21.2V152H384v16c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56H440c-30.9 0-56 25.1-56 56v16H192V88c0-30.9-25.1-56-56-56H56zM360 336c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V344c0-4.4 3.6-8 8-8h80zM440 80h80c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H440c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8z\"]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faPedestal = {\n prefix: 'far',\n iconName: 'pedestal',\n icon: [448, 512, [], \"e20d\", \"M352 48H96c-8.8 0-16 7.2-16 16V432H32V64C32 28.7 60.7 0 96 0H352c35.3 0 64 28.7 64 64V432H368V64c0-8.8-7.2-16-16-16zM24 464H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm96-352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM304 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faChartPyramid = {\n prefix: 'far',\n iconName: 'chart-pyramid',\n icon: [512, 512, [], \"e0e6\", \"M256 95.8L199.9 192H312.1L256 95.8zM125.2 320H386.8l-46.7-80H171.9l-46.7 80zm-28 48L59.9 432l392.3 0-37.3-64H97.2zM214.5 71.6c18.5-31.8 64.4-31.8 82.9 0L493.6 407.8c18.7 32-4.4 72.2-41.5 72.2H59.9c-37 0-60.1-40.2-41.5-72.2L214.5 71.6z\"]\n};\nvar faSidebar = {\n prefix: 'far',\n iconName: 'sidebar',\n icon: [512, 512, [], \"e24e\", \"M224 80V432H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H224zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm24 72c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM64 312c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSnowmanHead = {\n prefix: 'far',\n iconName: 'snowman-head',\n icon: [448, 512, [\"frosty-head\"], \"f79b\", \"M336 144v48H112V144H336zM64 64V192H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48.7C28 272.3 16 310.8 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-41.2-12-79.7-32.7-112H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H384V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64zm0 288c0-43.6 17.4-83.1 45.7-112H112 336h2.3c28.3 28.9 45.7 68.4 45.7 112c0 43.1-17 82.1-44.7 110.9c-.1 .1-.3 .2-.8 .4c-.9 .4-2.5 .7-4.8 .7H114.2c-2.2 0-3.8-.4-4.8-.7c-.4-.2-.7-.3-.8-.4C81 434.1 64 395.1 64 352zm88-16a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm168-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM219.3 445.2c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l23.8-46.3c2.3-4.5 3.5-9.6 3.5-14.7c0-17.7-14.3-32.2-32-32.2s-32 14.5-32 32.2c0 5.1 1.2 10.2 3.5 14.7l23.8 46.3z\"]\n};\nvar faFrostyHead = faSnowmanHead;\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [512, 512, [], \"f0c5\", \"M448 384H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H396.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V320c0 35.3-28.7 64-64 64zM64 128h96v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H256c8.8 0 16-7.2 16-16V416h48v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faBurgerGlass = {\n prefix: 'far',\n iconName: 'burger-glass',\n icon: [640, 512, [], \"e0ce\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c5.6 0 11-.6 16.2-1.8c-13.1-12.8-23.3-28.5-29.4-46.2H108c-12.5 0-22.8-9.5-23.9-21.9L64 208H311.8c15.5-12.4 35-24.1 59.2-32.7L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM59.8 160L50.2 48H333.8l-9.7 112H59.8zm390.1 80.2c-1.2 2.3-1.9 4.9-1.9 7.6c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.8-.7-5.3-1.9-7.6c22.5 1.3 40.8 5.5 55.7 11.3c-3.5 2.9-5.8 7.4-5.8 12.3c0 8.8 7.2 16 16 16c8.3 0 15.2-6.4 15.9-14.6c18.4 12.7 27.4 26.8 31.1 33.6c.3 .7 1 2.3 1 6.1c0 17-13.8 30.8-30.8 30.8H366.8c-17 0-30.8-13.8-30.8-30.8c0-3.7 .6-5.4 1-6.1c3.7-6.9 12.7-21 31.1-33.6c.7 8.2 7.6 14.6 15.9 14.6c8.8 0 16-7.2 16-16c0-4.9-2.2-9.4-5.8-12.3c14.8-5.8 33.1-10.1 55.7-11.3zM627.8 347.1c7.7-12.2 12.2-26.6 12.2-42.1c0-8.4-1.3-18.7-6.7-28.8C619 249.5 574.2 191.8 464 191.8s-155 57.7-169.3 84.4c-5.4 10-6.7 20.4-6.7 28.8c0 15.5 4.5 29.9 12.2 42.1c-7.5 7.3-12.2 17.5-12.2 28.7c0 8.1 2.4 15.6 6.5 21.8c-4.1 7.8-6.5 16.7-6.5 26.2c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-9.5-2.3-18.4-6.5-26.2c4.1-6.3 6.5-13.8 6.5-21.8c0-11.3-4.7-21.5-12.2-28.7zM344 415.8H584c4.4 0 8 3.6 8 8c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40c0-4.4 3.6-8 8-8z\"]\n};\nvar faVolumeXmark = {\n prefix: 'far',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M159.9 201.9L272 102.3V409.7L159.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H56c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM425 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55z\"]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'far',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M262.4 36C272.8 14.7 294.7 0 320 0s47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64v2c5.1-1.3 10.5-2 16-2c35.3 0 64 28.7 64 64V323.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2-29.3 8.4c7.7-14.9 12.8-31.4 14.5-48.9c.1-1.3 .4-2.5 .7-3.7V160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V152l0-.1V96c0-8.8-7.2-16-16-16s-16 7.1-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V96l0-.1V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V95.9c0-8.8-7.2-15.9-16-15.9c-8.8 0-16 7.2-16 16V319.4c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-43.7-43.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l87.8 87.8c39 39 91.9 60.9 147.1 60.9H360h4.9c.6-.1 1.3-.1 1.9-.2c30.9-1.5 59.1-13.4 81.2-32.1l0 .3c0 17.6 10.8 33.3 27 39.6c-28.5 22.8-63.8 37.3-102.5 39.9c-1.4 .3-3 .4-4.5 .4h-8-8.5c-67.9 0-133-27-181-75L82.7 349.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l2.7 2.7V96c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4zm50.3 290.6L320 352l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L320 384l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L288 384l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L288 352l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zm257.5 33.1L584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7zM104 88l40 11.4v25.1L104 136 90.2 184.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 136 7.7 122.2C3.1 120.9 0 116.7 0 112s3.1-8.9 7.7-10.2L56 88 69.8 39.7C71.1 35.1 75.3 32 80 32s8.9 3.1 10.2 7.7L104 88z\"]\n};\nvar faBarsFilter = {\n prefix: 'far',\n iconName: 'bars-filter',\n icon: [448, 512, [], \"e0ad\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM64 248c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zM288 408c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24z\"]\n};\nvar faPaintbrushPencil = {\n prefix: 'far',\n iconName: 'paintbrush-pencil',\n icon: [576, 512, [], \"e206\", \"M181.3 19.3c-25-25-65.5-25-90.5 0L51.3 58.7c-3.1 3.1-5.9 6.5-8.2 10c-16.4 24.8-13.7 58.6 8.2 80.5l88.8 88.8c13.9-4 28.6-6.1 43.9-6.1l1.5 0 8.2-8.2L161 191 223 129l32.8 32.8 33.9-33.9L181.3 19.3zM414.2 320.1l37.3 37.3c.6 .6 1.2 1.2 1.7 1.8c3.9 4.4 6.7 9.6 8.4 15.2l6.9 23.4 16.1 54.8-54.8-16.1-23.4-6.9c-6.4-1.9-12.3-5.4-17-10.1l-37.3-37.3-8.1 8.1 0 1.7c0 15.2-2.1 29.9-6.1 43.9l17.6 17.6c1.3 1.3 2.6 2.6 4 3.8c9.6 8.5 21 14.8 33.4 18.4l78.1 23L513.2 511c8.4 2.5 17.5 .2 23.7-6.1s8.5-15.3 6.1-23.7L530.6 439l-23-78.1c-4.2-14.1-11.8-27-22.2-37.4l-37.3-37.3-33.9 33.9zM519 57c8.3 8.3 8.3 21.8 0 30.1L336.3 269.8l-30.1-30.1L489 57c8.3-8.3 21.8-8.3 30.1 0zM184 320c9.4 0 18.3 1.8 26.5 5L251 365.5c3.3 8.2 5 17.2 5 26.5c0 39.8-32.2 72-72 72H98.4l.7-.9c11.6-16.9 17.1-38.6 13.8-60c-.5-3.6-.8-7.3-.8-11.1c0-39.8 32.2-72 72-72zM455 23L204.3 273.7c-6.6-1.1-13.4-1.7-20.3-1.7c-66.3 0-120 53.7-120 120c0 6.2 .5 12.4 1.4 18.4C68.1 428.2 56.1 448 38 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H184c66.3 0 120-53.7 120-120c0-6.9-.6-13.7-1.7-20.3L553 121c27-27 27-70.9 0-97.9s-70.9-27-97.9 0z\"]\n};\nvar faPartyBell = {\n prefix: 'far',\n iconName: 'party-bell',\n icon: [512, 512, [], \"e31a\", \"M48 224c0-97.2 78.8-176 176-176c27.8 0 54.1 6.5 77.5 17.9c.7 .4 1.2 .8 1.7 1.6c.5 .9 .9 2.1 .9 3.2c0 1.7-.7 3.4-1.9 4.6L75.3 302.1c-1.2 1.2-2.9 1.9-4.6 1.9c-1.1 0-2.3-.3-3.2-.9c-.7-.4-1.2-.9-1.6-1.7C54.5 278.1 48 251.8 48 224zM224 0C100.3 0 0 100.3 0 224c0 35.3 8.2 68.9 22.8 98.7C32.3 341.9 51.7 352 70.7 352c14.5 0 28.3-5.7 38.5-16L336 109.2c10.2-10.2 16-24.1 16-38.5c0-19-10.1-38.4-29.3-47.8C292.9 8.2 259.3 0 224 0zM480 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 480a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM359 167c-9.4 9.4-9.4 24.6 0 33.9l8.2 8.3c24.4 24.4 56.4 39.8 90.7 43.6l27.4 3c13.2 1.5 25-8 26.5-21.2s-8-25-21.2-26.5l-27.4-3c-23.5-2.6-45.4-13.1-62.1-29.8L393 167c-9.4-9.4-24.6-9.4-33.9 0zM201 359c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8.3 8.3c16.7 16.7 27.2 38.6 29.8 62.1l3 27.4c1.5 13.2 13.3 22.7 26.5 21.2s22.7-13.3 21.2-26.5l-3-27.4c-3.8-34.3-19.2-66.3-43.6-90.7L201 359zM503.5 506.3c10.1-8.6 11.4-23.7 2.8-33.8l-8.5-10c-4.9-5.8-7.5-13.2-7.3-20.7c1.1-42.5-31.7-78.3-74.2-80.8l-30-1.8c-16.6-1-29.4-15-29-31.6c.5-19.4-6.1-38.2-18.6-53l-8.5-10c-8.6-10.1-23.7-11.4-33.8-2.8s-11.4 23.7-2.8 33.8l8.5 10c4.9 5.8 7.5 13.2 7.3 20.7c-1.1 42.5 31.7 78.3 74.2 80.8l30 1.8c16.6 1 29.4 15 29 31.6c-.5 19.4 6.1 38.2 18.6 53l8.5 10c8.6 10.1 23.7 11.4 33.8 2.8z\"]\n};\nvar faUserVneckHair = {\n prefix: 'far',\n iconName: 'user-vneck-hair',\n icon: [448, 512, [], \"e462\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zM48.3 464H399.7c-3.1-46.7-32.9-86.2-74.4-103.1l-50.2 66.9c-25.6 34.1-76.8 34.1-102.4 0l-50.2-66.9C81.2 377.8 51.3 417.3 48.3 464zm83.8-156.2c5.8-1.3 11.7 1.2 15.3 5.9l63.9 85.2c6.4 8.5 19.2 8.5 25.6 0l63.9-85.2c3.6-4.7 9.5-7.2 15.3-5.9C391.4 324.3 448 391.5 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.5 56.6-147.7 132.1-164.2z\"]\n};\nvar faJackOLantern = {\n prefix: 'far',\n iconName: 'jack-o-lantern',\n icon: [576, 512, [127875], \"f30e\", \"M275.5 10.4L231.6 110.6c-4 2.1-7.9 4.5-11.6 7.1C200 104.1 176.9 96 152 96c-45.4 0-84 26.5-110.2 64.2C15.5 198 0 248.9 0 304s15.5 106 41.8 143.8C68 485.5 106.6 512 152 512c24.9 0 48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6s48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6c45.4 0 84-26.5 110.2-64.2C560.5 410 576 359.1 576 304s-15.5-106-41.8-143.8C508 122.5 469.4 96 424 96c-24.9 0-48 8.1-68 21.6c-1.3-.9-2.7-1.8-4-2.6V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4zM81.2 187.6C101.3 158.7 126.7 144 152 144c18 0 35.8 7.4 51.9 21.9c9.1 8.3 23 8.3 32.2 0C252.2 151.4 270 144 288 144s35.8 7.4 51.9 21.9c9.1 8.3 23 8.3 32.2 0C388.2 151.4 406 144 424 144c25.3 0 50.7 14.7 70.8 43.6c20 28.8 33.2 69.9 33.2 116.4s-13.2 87.6-33.2 116.4C474.7 449.3 449.3 464 424 464c-18 0-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C323.8 456.6 306 464 288 464s-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C187.8 456.6 170 464 152 464c-25.3 0-50.7-14.7-70.8-43.6C61.2 391.6 48 350.5 48 304s13.2-87.6 33.2-116.4zm140.1 27.5c-3-4.5-8-7.1-13.3-7.1s-10.3 2.7-13.3 7.1l-32 48c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h64c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-32-48zM368 208c-5.4 0-10.3 2.7-13.3 7.1l-32 48c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h64c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-32-48c-3-4.5-8-7.1-13.3-7.1zM470.1 312c1.4-5-.3-10.2-4-13.8c-5.8-5.8-15.1-6.6-22.2-2.4C420.8 309.4 365.6 336 288 336v16c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V332.5c-52.4-7.7-89.9-26.2-107.9-36.8c-7.1-4.2-16.4-3.4-22.2 2.4c-3.7 3.7-5.4 8.8-4 13.8c4.2 14.7 17.2 46.8 54.1 71.4c.3-8.6 7.3-15.4 16-15.4h16c8.8 0 16 7.2 16 16v21.5c21.8 6.5 48.2 10.5 80 10.5s58.2-4 80-10.5V384c0-8.8 7.2-16 16-16h16c8.6 0 15.7 6.9 16 15.4c36.9-24.7 49.9-56.7 54.1-71.4z\"]\n};\nvar faGrip = {\n prefix: 'far',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M408 376l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM408 184l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM200 376l48 0 0-48-48 0 0 48zm48 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40zm0-232l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM40 376l48 0 0-48-48 0 0 48zm48 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40zm0-232l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48z\"]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'far',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M400 255.4V240 208c0-8.8-7.2-16-16-16H352 336 289.5c-50.9 0-93.9 33.5-108.3 79.6c-3.3-9.4-5.2-19.8-5.2-31.6c0-61.9 50.1-112 112-112h48 16 32c8.8 0 16-7.2 16-16V80 64.6L506 160 400 255.4zM336 240h16v48c0 17.7 14.3 32 32 32h3.7c7.9 0 15.5-2.9 21.4-8.2l139-125.1c7.6-6.8 11.9-16.5 11.9-26.7s-4.3-19.9-11.9-26.7L409.9 8.9C403.5 3.2 395.3 0 386.7 0C367.5 0 352 15.5 352 34.7V80H336 304 288c-88.4 0-160 71.6-160 160c0 60.4 34.6 99.1 63.9 120.9c5.9 4.4 11.5 8.1 16.7 11.2c4.4 2.7 8.5 4.9 11.9 6.6c3.4 1.7 6.2 3 8.2 3.9c2.2 1 4.6 1.4 7.1 1.4h2.5c9.8 0 17.8-8 17.8-17.8c0-7.8-5.3-14.7-11.6-19.5l0 0c-.4-.3-.7-.5-1.1-.8c-1.7-1.1-3.4-2.5-5-4.1c-.8-.8-1.7-1.6-2.5-2.6s-1.6-1.9-2.4-2.9c-1.8-2.5-3.5-5.3-5-8.5c-2.6-6-4.3-13.3-4.3-22.4c0-36.1 29.3-65.5 65.5-65.5H304h32zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faKeynote = {\n prefix: 'far',\n iconName: 'keynote',\n icon: [512, 512, [], \"f66c\", \"M198.4 72H184c-22.1 0-40 17.9-40 40v48H422.3c16.1 0 31 8 39.9 21.4l41.7 62.5c5.3 7.9 8.1 17.1 8.1 26.6V320c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V270.5c0-9.5 2.8-18.7 8.1-26.6l41.7-62.5C58.7 168 73.6 160 89.7 160H96V112c0-48.6 39.4-88 88-88h14.4C206.7 9.7 222.2 0 240 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H240c-17.8 0-33.3-9.7-41.6-24zM48 304H464V270.5L422.3 208 89.7 208 48 270.5V304zm80 184c0-13.3 10.7-24 24-24h80V384h48v80h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H256 152c-13.3 0-24-10.7-24-24z\"]\n};\nvar faChildCombatant = {\n prefix: 'far',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M160 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0A64 64 0 1 0 112 64a64 64 0 1 0 128 0zM176 208c5.5 0 10.9 .9 16 2.6V336H160V210.6c5.1-1.7 10.5-2.6 16-2.6zM160 488V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V264.8l27.7 44c7.1 11.2 21.9 14.6 33.1 7.5s14.6-21.9 7.5-33.1l-48.4-76.9C241.8 177.5 210.1 160 176 160s-65.8 17.5-83.9 46.3L43.7 283.2c-7.1 11.2-3.7 26 7.5 33.1s26 3.7 33.1-7.5l27.7-44V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32H384c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h32v48 64c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16H432 416zm16 336H416 400V240h32v96z\"]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'far',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H40C17.9 64 0 81.9 0 104v96c0 22.1 17.9 40 40 40h2c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480H176c14.7 0 27.5-10 31-24.2L233 352h88.5c23.7 0 44.8-14.9 52.7-37.2L400.9 240h32.5c10.6 0 20.8-4.2 28.3-11.7L481.9 208H536c22.1 0 40-17.9 40-40V104c0-22.1-17.9-40-40-40h-8V56zM245 304l16-64h89l-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3H245zm-33.5-64l-48 192h-79l35.1-140.6c4.5-18.1 2.5-35.9-4.3-51.4h96.1zM267 192H219 68.8 48V112H504h24v48H478.6c-10.6 0-20.8 4.2-28.3 11.7L430.1 192H267z\"]\n};\nvar faSquarePhone = {\n prefix: 'far',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm154.7 32.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faHatBeach = {\n prefix: 'far',\n iconName: 'hat-beach',\n icon: [640, 512, [], \"e606\", \"M197.9 201.4C225.6 215.1 270 224 320 224c23.6 0 46-2 66-5.5c-1.3-4.2-2-8.7-2-13.2c0-22 15.7-40.4 36.6-44.4C397.1 131.1 360.8 112 320 112c-57.2 0-105.7 37.6-122.1 89.4zM320 64c70.2 0 130.8 41.1 159 100.5c6.1-2.9 12.8-4.5 19.7-4.5c25 0 45.3 20.3 45.3 45.3c0 12-4.8 23.5-13.3 32L528 240l2.7 2.7c.8 .8 1.6 1.6 2.3 2.5l77.3 30.9c17.9 7.2 29.7 24.6 29.7 43.9c0 17.6-8.9 34.5-25.1 49.8c-16.2 15.3-39.6 29.1-68.6 40.7C488.4 433.7 408.4 448 320 448s-168.4-14.3-226.3-37.5c-29-11.6-52.4-25.4-68.6-40.7l16.5-17.4L25.1 369.8C8.9 354.5 0 337.6 0 320c0-19.3 11.8-36.7 29.7-43.9l8.6 21.6-8.6-21.6 114.6-45.8C149.3 137.6 226.1 64 320 64zM429.3 320c-16.7 0-31.3-9-39.1-22.5c-21.2 4.1-45 6.5-70.2 6.5c-62.4 0-116.5-14.3-142.9-35.2c-.3 .1-.5 .2-.8 .3L48 320.5c.2 1.5 1.5 6.4 10.1 14.5c10.3 9.8 27.8 20.8 53.4 31C162.5 386.3 236.2 400 320 400s157.5-13.7 208.4-34.1c25.6-10.2 43.1-21.2 53.4-31c8.6-8.1 9.9-13 10.1-14.5l-54.7-21.9c-8 12.9-22.2 21.4-38.5 21.4c-12 0-23.5-4.8-32-13.3L464 304l-2.7 2.7c-8.5 8.5-20 13.3-32 13.3zM464 264a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPlus = {\n prefix: 'far',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M248 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V232H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H200V440c0 13.3 10.7 24 24 24s24-10.7 24-24V280H408c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V72z\"]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'far',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M136 32c13.3 0 24 10.7 24 24s-10.7 24-24 24H48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 42.7 10.7 32 24 32H136zM0 344c0-13.3 10.7-24 24-24s24 10.7 24 24v88h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V344zM424 32c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H424zM400 344c0-13.3 10.7-24 24-24s24 10.7 24 24V456c0 13.3-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h88V344z\"]\n};\nvar faComputer = {\n prefix: 'far',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 80c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H281.3 264 184 166.7 64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 384h86.7l-16 48H88c-13.3 0-24 10.7-24 24s10.7 24 24 24h30.7H152 296h33.3H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H313.3l-16-48H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64zm121.3 48l16-48h45.4l16 48H185.3zM528 80h64v32H528V80zm0 80h64v32H528V160zm64 80V432H528V240h64zM480 80V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528c-26.5 0-48 21.5-48 48zm80 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFort = {\n prefix: 'far',\n iconName: 'fort',\n icon: [640, 512, [], \"e486\", \"M48 112v48c0 8.8 7.2 16 16 16H80h80c8.8 0 16-7.2 16-16V112H136 88 48zm176 48c0 5.5-.7 10.9-2 16H418c-1.3-5.1-2-10.5-2-16V112v-8V64 24c0-13.3 10.7-24 24-24c7.1 0 13.4 3.1 17.8 7.9c3.8 4.3 6.2 9.9 6.2 16.1V64h40V24c0-6.2 2.3-11.8 6.2-16.1C514.6 3.1 520.9 0 528 0s13.4 3.1 17.8 7.9c3.8 4.3 6.2 9.9 6.2 16.1V64h40V24c0-6.2 2.3-11.8 6.2-16.1C602.6 3.1 608.9 0 616 0c13.3 0 24 10.7 24 24V64v40 8 48c0 23.7-12.9 44.4-32 55.4V224 448c0 35.3-28.7 64-64 64H384 256 96c-35.3 0-64-28.7-64-64V224v-8.6C12.9 204.4 0 183.7 0 160V112v-8V64 24C0 10.7 10.7 0 24 0c7.1 0 13.4 3.1 17.8 7.9C45.7 12.2 48 17.8 48 24V64H88V24c0-6.2 2.3-11.8 6.2-16.1C98.6 3.1 104.9 0 112 0s13.4 3.1 17.8 7.9c3.9 4.3 6.2 9.9 6.2 16.1V64h40V24c0-6.2 2.3-11.8 6.2-16.1C186.6 3.1 192.9 0 200 0c13.3 0 24 10.7 24 24V64v40 8 48zM384 464h64V224H192V464h64V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80zm112 0h48c8.8 0 16-7.2 16-16V224H496V464zM96 464h48V224H80V448c0 8.8 7.2 16 16 16zM560 176h16c8.8 0 16-7.2 16-16V112H552 504 464v48c0 8.8 7.2 16 16 16h80z\"]\n};\nvar faCloudCheck = {\n prefix: 'far',\n iconName: 'cloud-check',\n icon: [640, 512, [], \"e35c\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM433 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L433 241z\"]\n};\nvar faXmark = {\n prefix: 'far',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z\"]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faFaceSmirking = {\n prefix: 'far',\n iconName: 'face-smirking',\n icon: [512, 512, [], \"e397\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm382.3 88.9l-1.9 4.8c-12.2 30.4-41.6 50.3-74.3 50.3H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H306.1c13.1 0 24.9-8 29.7-20.1l1.9-4.8c4.9-12.3 18.9-18.3 31.2-13.4s18.3 18.9 13.4 31.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faArrowsUpDownLeftRight = {\n prefix: 'far',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M273 7c-9.4-9.4-24.6-9.4-33.9 0L167 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V232H81.9l31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31H232V430.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V280H430.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H280V81.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L273 7z\"]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'far',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M576 48H224c-8.8 0-16 7.2-16 16v41.3c-14.8-6-31-9.3-48-9.3V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H544 520 392 368 336.8c-8.3-18-19.8-34.2-33.7-48H368V328c0-30.9 25.1-56 56-56h64c30.9 0 56 25.1 56 56v40h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM496 368V328c0-4.4-3.6-8-8-8H424c-4.4 0-8 3.6-8 8v40h80zM208 224a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 224a96 96 0 1 1 192 0A96 96 0 1 1 64 224zM50.7 464H269.3c-9.5-36.8-42.9-64-82.6-64H133.3c-39.8 0-73.2 27.2-82.6 64zM0 485.3C0 411.7 59.7 352 133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3z\"]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faRhombus = {\n prefix: 'far',\n iconName: 'rhombus',\n icon: [448, 512, [], \"e23b\", \"M224 52.3L50.5 256 224 459.7 397.5 256 224 52.3zM9.6 230.1l184-216C201.2 5.1 212.3 0 224 0s22.8 5.1 30.4 14.1l184 216c12.7 14.9 12.7 36.9 0 51.9l-184 216c-7.6 8.9-18.7 14.1-30.4 14.1s-22.8-5.1-30.4-14.1l-184-216C-3.2 267-3.2 245 9.6 230.1z\"]\n};\nvar faClawMarks = {\n prefix: 'far',\n iconName: 'claw-marks',\n icon: [576, 512, [], \"f6c2\", \"M39 7C48.4-2.3 63.6-2.3 73 7L176.6 110.6c15 15 23.4 35.4 23.4 56.6V184h16.8c21.2 0 41.6 8.4 56.6 23.4l95.2 95.2c15 15 23.4 35.4 23.4 56.6V376h16.8c21.2 0 41.6 8.4 56.6 23.4L537 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71.6-71.6c-6-6-14.1-9.4-22.6-9.4H368c-13.3 0-24-10.7-24-24V359.2c0-8.5-3.4-16.6-9.4-22.6l-95.2-95.2c-6-6-14.1-9.4-22.6-9.4H176c-13.3 0-24-10.7-24-24V167.2c0-8.5-3.4-16.6-9.4-22.6L39 41C29.7 31.6 29.7 16.4 39 7zm0 224c9.4-9.4 24.6-9.4 33.9 0L146.9 305c13.5 13.5 21.1 31.8 21.1 50.9V376h20.1c19.1 0 37.4 7.6 50.9 21.1L313 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L205.1 431c-4.5-4.5-10.6-7-17-7H144c-13.3 0-24-10.7-24-24V355.9c0-6.4-2.5-12.5-7-17L39 265c-9.4-9.4-9.4-24.6 0-33.9zM297 7l9.9 9.9C320.4 30.5 328 48.8 328 67.9V88h20.1c19.1 0 37.4 7.6 50.9 21.1L434.9 145c13.5 13.5 21.1 31.8 21.1 50.9V216h20.1c19.1 0 37.4 7.6 50.9 21.1L537 247c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.9-9.9c-4.5-4.5-10.6-7-17-7H432c-13.3 0-24-10.7-24-24V195.9c0-6.4-2.5-12.5-7-17L365.1 143c-4.5-4.5-10.6-7-17-7H304c-13.3 0-24-10.7-24-24V67.9c0-6.4-2.5-12.5-7-17L263 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faPesoSign = {\n prefix: 'far',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M93.6 32C68.4 32 48 52.4 48 77.6V128H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v72V456c0 13.3 10.7 24 24 24s24-10.7 24-24V368h88c67 0 124.9-39.2 151.8-96H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-9.7c1.1-7.8 1.7-15.9 1.7-24s-.6-16.2-1.7-24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H335.8C308.9 71.2 251 32 184 32H93.6zM280 128H96V80h88c39.3 0 74.1 18.9 96 48zM96 176H301.6c1.6 7.8 2.4 15.8 2.4 24s-.8 16.2-2.4 24H96V176zm184 96c-21.9 29.1-56.7 48-96 48H96V272H280z\"]\n};\nvar faFaceSmileTongue = {\n prefix: 'far',\n iconName: 'face-smile-tongue',\n icon: [512, 512, [], \"e394\", \"M419.5 453c-44.3 36.9-101.3 59-163.5 59C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 27.2-4.2 53.4-12.1 77.9c9.1 23.9 7.8 51.5-6 75.4c-16 27.6-44.7 43.2-74.4 43.6zm-56.2-18.8l-44.2-27.4c-19.5 8-40.8 12.4-63.1 12.4c-70.4 0-130.1-43.8-157.5-105.5c-5.4-12.1 .1-26.3 12.2-31.7s26.3 .1 31.7 12.2c20.4 46.1 64.1 76.9 113.6 76.9c56.5 0 105.6-40.3 120.8-97.4c1.9-7.3 7.2-13.2 14.2-16.1s14.9-2.2 21.4 1.7l49 29.5c1.7-10.7 2.6-21.7 2.6-33c0-114.9-93.1-208-208-208S48 141.1 48 256s93.1 208 208 208c39.3 0 76-10.9 107.3-29.8zM217.6 228.8l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zM398.5 399.6c18.8 11 42.9 4.7 53.8-14.2c11-19.1 4.5-43.6-14.6-54.6l-.4-.2 0 0-24.7-14.9c-11.2 24.5-27.5 46.1-47.6 63.2l33.5 20.8zM377.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\"]\n};\nvar faCartCircleXmark = {\n prefix: 'far',\n iconName: 'cart-circle-xmark',\n icon: [640, 512, [], \"e3f4\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H76.1l60.3 316.5c2.2 11.3 12.1 19.5 23.6 19.5H320.7c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32h-143l-9.1-48H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.6L489.1 192.1c2.3-.1 4.6-.1 6.9-.1c14.3 0 28.3 1.7 41.6 4.9l35-124.3C578.3 52.3 563 32 541.8 32H122l-2.4-12.5C117.4 8.2 107.5 0 96 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faBuildingShield = {\n prefix: 'far',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M64 48H320c8.8 0 16 7.2 16 16V226.2L384 207V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c10.9 0 21.2-2.7 30.2-7.6c-15.4-12.4-28.5-26-39.5-40.4H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM296 232c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h24c.1-22.8 14-43.4 35.2-51.8l4.8-1.9V232zM88 104v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm335.1-6.3l-120 48C294 277.4 288 286.2 288 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C550.1 464.8 576 359.3 576 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM527.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L527.4 312z\"]\n};\nvar faCirclePhoneFlip = {\n prefix: 'far',\n iconName: 'circle-phone-flip',\n icon: [512, 512, [\"phone-circle-alt\"], \"e11c\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm69.3 128.7l44 12C378 143.1 384 151 384 160c0 123.7-100.3 224-224 224c-9 0-16.9-6-19.3-14.7l-12-44c-2.6-9.7 2.3-19.9 11.6-23.7l48-20c8.2-3.4 17.6-1 23.2 5.8L231.7 312c35.2-16.6 63.7-45.1 80.3-80.3l-24.7-20.2c-6.8-5.6-9.2-15-5.8-23.2l20-48c3.9-9.3 14-14.2 23.7-11.6z\"]\n};\nvar faPhoneCircleAlt = faCirclePhoneFlip;\nvar faBaby = {\n prefix: 'far',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M224 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM107.3 180.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l18.7 18.7c12.8 12.8 27.5 23.4 43.4 31.5c8.1 4.1 13.1 12.4 13.1 21.4v13 0H288l0-13c0-9 5.1-17.3 13.1-21.4c15.9-8.1 30.6-18.6 43.4-31.5l18.7-18.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-18.7 18.7c-26 26-61.2 40.6-97.9 40.6s-72-14.6-97.9-40.6l-18.7-18.7zM304.6 341.5l-24.1 21.1L304 392.9c6.8 8.8 6.7 21.1-.2 29.7L291.5 438c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l32-40c4.6-5.8 4.7-14 .1-19.8l-44.1-56.7zm-137 21.1l-24.1-21.1L99.4 398.2c-4.5 5.8-4.5 14 .1 19.8l32 40c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-12.3-15.4c-6.9-8.7-7-21-.2-29.7l23.6-30.3zM50.7 146.7c25-25 65.5-25 90.5 0L160 165.5c17 17 40 26.5 64 26.5s47-9.5 64-26.5l18.7-18.7c25-25 65.5-25 90.5 0s25 65.5 0 90.5L378.5 256c-12.9 12.9-27.2 23.9-42.5 33.1l0 14.6 50.5 65c18.2 23.4 18 56.2-.5 79.3l-32 40c-22.1 27.6-62.4 32.1-90 10s-32.1-62.4-10-90l.5-.6-5.8-7.4H199.3l-5.8 7.4 .5 .6c22.1 27.6 17.6 67.9-10 90s-67.9 17.6-90-10L62 448c-18.5-23.1-18.7-55.9-.5-79.3l50.5-65 0-14.6c-15.4-9.2-29.7-20.3-42.5-33.1L50.7 237.3c-25-25-25-65.5 0-90.5z\"]\n};\nvar faUsersLine = {\n prefix: 'far',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M147.2 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM96 192c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h98.7c18.2-31.4 49.3-54.4 86-61.6C238.1 206 216.7 192 192 192H96zm480 96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-24.5 0-45.7 13.7-56.5 33.9c38 6.6 70.3 29.9 89 62.1H576zm-134.8 0c-14.6-16.3-34.6-27.5-57.1-30.9c-.6-.1-1.3-.2-1.9-.3c-4.1-.5-8.3-.8-12.5-.8h-48-48c-4.2 0-8.4 .3-12.5 .8c-1.7 .2-3.4 .5-5.1 .8c-21.3 3.9-40.1 14.9-53.9 30.4c-15.2 17-24.4 39.4-24.4 64c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-24.6-9.2-47-24.4-64zm58-128a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM321.6 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-48 96l0 0c13.4 10 30 16 48 16s34.6-6 48-16l0 0c19.4-14.6 32-37.8 32-64c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 26.2 12.6 49.4 32 64zM414.9 336H228.3c6.6-18.6 24.4-32 45.3-32h96c20.9 0 38.7 13.4 45.3 32zM0 456c0 13.3 10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faQuoteLeft = {\n prefix: 'far',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-39.8 0-72 32.2-72 72v10c5.1-1.3 10.5-2 16-2h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm48 72v32 32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm336-16H320c-8.8 0-16 7.2-16 16v32 32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16zM256 320V288 216c0-66.3 53.7-120 120-120h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-39.8 0-72 32.2-72 72v10c5.1-1.3 10.5-2 16-2h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320z\"]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'far',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M152 48H266.3c3.3 0 6.2 2 7.4 5l42.8 107H192 160 144V56c0-4.4 3.6-8 8-8zM96 56V192.6c-11.2-3.9-24.2-1.4-33.1 7.6L40.2 222.9c-12.5 12.5-12.5 32.8 0 45.3l5.8 5.8c-2.2 4.6-4.1 9.3-5.8 14.1H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h8.2c1.7 4.8 3.7 9.5 5.8 14.1l-5.8 5.8c-12.5 12.5-12.5 32.8 0 45.3l22.6 22.6c12.5 12.5 32.8 12.5 45.3 0l5.8-5.8c4.6 2.2 9.3 4.1 14.1 5.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32v-8.2c4.8-1.7 9.5-3.7 14.1-5.8l5.8 5.8c12.5 12.5 32.8 12.5 45.3 0l22.6-22.6c12.5-12.5 12.5-32.8 0-45.3l-5.8-5.8c2.2-4.6 4.1-9.3 5.8-14.1H320h94.8c6.5-18.5 17.5-34.9 31.6-48H352V320c0-17.7-14.3-32-32-32h-8.2c-1.7-4.8-3.7-9.5-5.8-14.1l5.8-5.8c12.5-12.5 12.5-32.8 0-45.3L296.9 208h54.6c.4 0 .7 0 1.1 0H504h80c4.4 0 8 3.6 8 8v32.7c0 7.4-3.4 14.3-9.2 18.9l-46.7 36.7c20.1 1.3 38.9 7.7 55.1 17.7l21.3-16.7c17.4-13.6 27.5-34.5 27.5-56.6V216c0-30.9-25.1-56-56-56H528V118.2c0-16.1 3.8-32.1 11-46.5l2.5-5c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7l-2.5 5c-10.6 21.1-16 44.4-16 68V160H368.2L318.3 35.2C309.8 13.9 289.2 0 266.3 0H152C121.1 0 96 25.1 96 56zm80 200a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM528 384a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm0 128a88 88 0 1 0 0-176 88 88 0 1 0 0 176z\"]\n};\nvar faKeySkeleton = {\n prefix: 'far',\n iconName: 'key-skeleton',\n icon: [448, 512, [128477], \"f6f3\", \"M304 48a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 240c79.5 0 144-64.5 144-144S383.5 0 304 0S160 64.5 160 144c0 31.1 9.9 59.9 26.6 83.4L7 407c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47L88 393.9l47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 98.6-98.6C244.1 278.1 272.9 288 304 288z\"]\n};\nvar faTrashArrowUp = {\n prefix: 'far',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zm154.5 65.9l64 64c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L244 256.3V384c0 11-9 20-20 20s-20-9-20-20V256.3l-29.9 29.9c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l64-64c7.8-7.8 20.5-7.8 28.3 0z\"]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'far',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M145 505l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V280H416v-8c0-14.1 2.6-27.6 7.4-40H344V81.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L337 7c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V232H152 104 24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V430.1L49 375c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0zm7-313V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V192h48zM296 320V456c0 13.3 10.7 24 24 24s24-10.7 24-24V320H296zm232-80c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowDownToBracket = {\n prefix: 'far',\n iconName: 'arrow-down-to-bracket',\n icon: [448, 512, [], \"e094\", \"M369 217L241 345c-9.4 9.4-24.6 9.4-33.9 0L79 217c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87V24c0-13.3 10.7-24 24-24s24 10.7 24 24V270.1l87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM48 344v80c0 22.1 17.9 40 40 40H360c22.1 0 40-17.9 40-40V344c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 48.6-39.4 88-88 88H88c-48.6 0-88-39.4-88-88V344c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faLinesLeaning = {\n prefix: 'far',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.6 64.1c4.5-12.5-2-26.2-14.5-30.7s-26.2 2-30.7 14.5l-144 400c-4.5 12.5 2 26.2 14.5 30.7s26.2-2 30.7-14.5l144-400zm78.1-31.7c-13-2.6-25.6 5.8-28.2 18.8l-80 400c-2.6 13 5.8 25.6 18.8 28.2s25.6-5.8 28.2-18.8l80-400c2.6-13-5.8-25.6-18.8-28.2zM360 32c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faSquareQ = {\n prefix: 'far',\n iconName: 'square-q',\n icon: [448, 512, [], \"e27b\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM144 256c0 44.2 35.8 80 80 80c13.4 0 25.9-3.3 37-9.1l-30-30c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l30 30c5.8-11.1 9.1-23.7 9.1-37c0-44.2-35.8-80-80-80s-80 35.8-80 80zm208 0c0 26.7-8.2 51.4-22.1 71.9L345 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15.1-15.1c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\"]\n};\nvar faRulerCombined = {\n prefix: 'far',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M192 288V272 224l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V128l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l64 0 0-32c0-8.8-7.2-16-16-16L64 48c-8.8 0-16 7.2-16 16l0 272 0 112c0 .6 0 1.2 .1 1.7c.8 8 7.7 14.3 15.9 14.3H176l272 0c8.8 0 16-7.2 16-16l0-112c0-8.8-7.2-16-16-16H416v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H320v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H240 224v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h64zm96-16H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64l-272 0H64C30.9 512 3.6 486.8 .3 454.5c-.2-2.2-.3-4.3-.3-6.5V336 64C0 28.7 28.7 0 64 0H176c35.3 0 64 28.7 64 64l0 160 0 48h48z\"]\n};\nvar faSymbols = {\n prefix: 'far',\n iconName: 'symbols',\n icon: [512, 512, [128291, \"icons-alt\"], \"f86e\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 80C10.7 80 0 90.7 0 104s10.7 24 24 24H88v72c0 13.3 10.7 24 24 24s24-10.7 24-24V128h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM464 53.3v76.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V43.5c0-25.2-23.1-44.2-47.8-39.2l-128 25.6C317.5 33.6 304 50 304 69.1v92.4c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V75.7L464 53.3zM505 295c-9.4-9.4-24.6-9.4-33.9 0L295 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 329c9.4-9.4 9.4-24.6 0-33.9zM352 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM480 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM84 256c-37.7 0-68 30.8-68 68.2c0 19.3 8.2 37.9 22.6 50.8l4.5 4-17 13C9.6 404.8 0 424.4 0 445.1v1.4C0 482.7 29.3 512 65.5 512c14.9 0 29.3-5.1 40.9-14.3l36.3-29 41.3 37.2c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9l-35.5-31.9L215 410.7c10.4-8.3 12-23.4 3.7-33.7s-23.4-12-33.7-3.8l-40.6 32.5L118 381.9l7.9-6c16.5-12.7 26.1-32.2 26.1-53c0-36.9-29.9-66.9-66.9-66.9H84zm12.6 81.9L81.8 349.3l-11-9.9c-4.2-3.8-6.7-9.4-6.7-15.2C64 313 73.1 304 84 304h1.1c10.4 0 18.9 8.5 18.9 18.9c0 5.9-2.7 11.4-7.4 15zM55.4 430.1l24-18.4 27.1 24.4L76.4 460.2c-3.1 2.5-6.9 3.8-10.9 3.8c-9.6 0-17.5-7.8-17.5-17.5v-1.4c0-5.9 2.7-11.4 7.4-15z\"]\n};\nvar faIconsAlt = faSymbols;\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c-31.2-31.2-31.2-81.9 0-113.1s81.9-31.2 113.1 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-31.2 31.2-81.9 31.2-113.1 0z\"]\n};\nvar faFlaskGear = {\n prefix: 'far',\n iconName: 'flask-gear',\n icon: [640, 512, [], \"e5f1\", \"M176 48V196.8c0 20.7-5.8 41-16.6 58.7L100 352H325.8c.1 .1 .2 .1 .2 .2c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 6.7 1.5 13.5 4.2 19.7c-9 4.3-19 6.6-29.7 6.6H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V48h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h40H288h40c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V196.8c0 11.8 3.3 23.5 9.5 33.5L336 241c-4.9 6.4-9.5 13.1-13.6 20.3c-5.2 9.1-9.6 18.4-13.1 27.9l-20.7-33.6c-10.9-17.7-16.6-38-16.6-58.7V48H176zM447.3 203.4c-6.8 1.5-11.3 7.8-11.3 14.8v17.4c0 7.9-4.9 15-11.7 18.9c-6.8 3.9-15.2 4.5-22 .6l-13.6-7.8c-6.1-3.5-13.7-2.7-18.5 2.4c-7.5 8.1-14.3 17.2-20.1 27.2s-10.3 20.4-13.5 31c-2.1 6.7 1.1 13.7 7.2 17.2l14 8.1c6.5 3.8 10.1 11 10.1 18.6s-3.5 14.8-10.1 18.6l-14 8.1c-6.1 3.5-9.2 10.5-7.2 17.2c3.3 10.6 7.8 21 13.5 31s12.5 19.1 20.1 27.2c4.8 5.1 12.5 5.9 18.5 2.4l13.5-7.8c6.8-3.9 15.2-3.3 22 .6c6.9 3.9 11.7 11 11.7 18.9l0 17.4c0 7 4.5 13.3 11.3 14.8c10.5 2.4 21.5 3.7 32.7 3.7s22.2-1.3 32.7-3.7c6.8-1.5 11.3-7.8 11.3-14.8l0-17.7c0-7.8 4.8-14.8 11.6-18.7c6.7-3.9 15.1-4.5 21.8-.6l13.8 7.9c6.1 3.5 13.7 2.7 18.5-2.4c7.6-8.1 14.3-17.2 20.1-27.2s10.3-20.4 13.5-31c2.1-6.7-1.1-13.7-7.2-17.2l-14.4-8.3c-6.5-3.7-10-10.9-10-18.4s3.5-14.7 10-18.4l14.4-8.3c6.1-3.5 9.2-10.5 7.2-17.2c-3.3-10.6-7.8-21-13.5-31s-12.5-19.1-20.1-27.2c-4.8-5.1-12.5-5.9-18.5-2.4l-13.8 7.9c-6.7 3.9-15.1 3.3-21.8-.6c-6.8-3.9-11.6-10.9-11.6-18.7V218.2c0-7-4.5-13.3-11.3-14.8c-10.5-2.4-21.5-3.7-32.7-3.7s-22.2 1.3-32.7 3.7zM480 303.7a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faHighlighterLine = {\n prefix: 'far',\n iconName: 'highlighter-line',\n icon: [576, 512, [], \"e1af\", \"M169.9 330.6l-38.1 38.1 51.5 51.5 38.1-38.1c9-9 21.2-14.1 33.9-14.1l48 0 16.2-22.5-113-113L184 248.6v48c0 12.7-5.1 24.9-14.1 33.9zm178-24.6L502.8 90.2c.8-1.1 1.2-2.4 1.2-3.7c0-1.7-.7-3.3-1.9-4.5L470 49.9c-1.2-1.2-2.8-1.9-4.5-1.9c-1.3 0-2.6 .4-3.7 1.2L246 204.1 347.9 306zM303.4 416h-48l-43.7 43.7c-10.7 10.7-26 14.1-39.5 10.1l-32.8 32.8c-6 6-14.1 9.4-22.6 9.4H32c-17.7 0-32-14.3-32-32v-4.7c0-8.5 3.4-16.6 9.4-22.6l72.8-72.8c-4-13.6-.6-28.8 10.1-39.5L136 296.6v-48c0-15.5 7.4-30 20-39L433.8 10.2C443 3.6 454.1 0 465.5 0c14.4 0 28.2 5.7 38.4 15.9l32.2 32.2c10.2 10.2 15.9 24 15.9 38.4c0 11.4-3.6 22.5-10.2 31.7L342.4 396c-9 12.6-23.5 20-39 20zm-190.7 1.3L65.9 464h44.1l24.7-24.7-22.1-22.1zM248 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBracketSquare = {\n prefix: 'far',\n iconName: 'bracket-square',\n icon: [192, 512, [\"bracket\", \"bracket-left\"], \"5b\", \"M0 88C0 57.1 25.1 32 56 32h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V88z\"]\n};\nvar faBracket = faBracketSquare;\nvar faBracketLeft = faBracketSquare;\nvar faIslandTropical = {\n prefix: 'far',\n iconName: 'island-tropical',\n icon: [512, 512, [127965, \"island-tree-palm\"], \"f811\", \"M114.3 93.7c-1.5 1.5-3.5 2.3-5.7 2.3H78.2c-8.8 0-16.1-7.2-13.8-15.8C73.6 44.8 112.8 0 190.2 0c58.4 0 95 25.5 113.5 53.2C323.6 40.6 350.2 32 384 32c77.4 0 116.6 44.8 125.8 80.2c2.2 8.6-5 15.8-13.8 15.8H451.3c-2.1 0-4.2-.8-5.7-2.3l-24-24c-3.1-3.1-8.2-3.1-11.3 0l-24 24c-1.5 1.5-3.5 2.3-5.7 2.3H319.4c3.5 15.4 7.2 35.7 9.5 59.7c4.4 45.4 3.7 104.4-13.9 167.1c57.7 12.4 101 63.7 101 125.1c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32c0-70.7 57.3-128 128-128h24.9c26-56.3 38-110.2 43.3-151.1c1.3-9.9 2.2-19 2.8-27.1l-71.8 71.8c-6.2 6.2-16.5 6.2-21-1.4c-18.5-31.6-22.5-90.9 32.3-145.7c1.4-1.4 2.8-2.7 4.1-4c-.3-.3-.7-.5-1-.8l-24-24c-3.1-3.1-8.2-3.1-11.3 0l-24 24zM237.3 352h28.5c18.5-59.2 19.5-115.9 15.3-159.7c-.6-6.1-1.3-12-2-17.5c-.7 9.6-1.7 20.5-3.3 32.4c-5.2 39.6-16 90.6-38.5 144.9zM288 400H160c-38.7 0-71 27.5-78.4 64H366.4c-7.4-36.5-39.7-64-78.4-64z\"]\n};\nvar faIslandTreePalm = faIslandTropical;\nvar faArrowRightFromLine = {\n prefix: 'far',\n iconName: 'arrow-right-from-line',\n icon: [448, 512, [8614, \"arrow-from-left\"], \"f343\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V424c0 13.3 10.7 24 24 24s24-10.7 24-24L48 88zM440.4 273.5c4.8-4.5 7.6-10.9 7.6-17.5s-2.7-12.9-7.6-17.5l-136-128c-9.7-9.1-24.8-8.6-33.9 1s-8.6 24.8 1 33.9L363.5 232H280l-128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l128 0h83.5l-91.9 86.5c-9.7 9.1-10.1 24.3-1 33.9s24.3 10.1 33.9 1l136-128z\"]\n};\nvar faArrowFromLeft = faArrowRightFromLine;\nvar faH2 = {\n prefix: 'far',\n iconName: 'h2',\n icon: [640, 512, [], \"f314\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zm397.3 40.8C457.9 118 474 112 490.7 112h9.2c42.1 0 76.2 34.1 76.2 76.2c0 21.3-8.9 41.5-24.5 56L375.7 406.4c-7.3 6.7-9.7 17.2-6.1 26.4s12.5 15.3 22.4 15.3H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H453.4L584.1 279.4c25.5-23.5 39.9-56.6 39.9-91.2C624 119.6 568.4 64 499.8 64h-9.2c-28.1 0-55.3 10.1-76.6 28.3l-29.7 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l29.7-25.4z\"]\n};\nvar faEquals = {\n prefix: 'far',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M40 144c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24s-10.7-24-24-24H40zm0 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24s-10.7-24-24-24H40z\"]\n};\nvar faCakeSlice = {\n prefix: 'far',\n iconName: 'cake-slice',\n icon: [512, 512, [127856, \"shortcake\"], \"e3e5\", \"M464 304v.2 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3H48V304H464zM48 416V384H464v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM296 32c-7.2 0-14.2 2.4-19.8 6.9l-264 208C4.5 252.9 0 262.2 0 272V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.6 64-64v-.2-.2-.2-.2-.2V415v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V413v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V411v-.2-.2-.2-.2V410v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V406v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V401v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V398v-.2-.2-.2-.2-.2-.2-.2-.2V396v-.2-.2-.2-.2-.2-.2-.2-.2V394v-.2-.2-.2V393v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V390v-.2-.2-.2V389v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V379v-.3-.3-.3V378v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V374v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V371v-.3-.3-.3-.3-.3-.3V369v-.3-.3-.3-.3-.3-.3V367v-.3-.3-.3-.3-.3-.3V365v-.3-.3-.3-.3-.3-.3V363v-.3-.3-.3-.3-.3-.3-.3-.3-.3V360v-.3-.3-.3-.3-.3-.3-.3-.3-.3V357v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V353v-.3-.3V352v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V346v-.3-.3V345v-.3-.3V344v-.3-.3V343v-.3-.3V342v-.3-.3V341v-.3-.3V340v-.3-.3V339v-.3-.3V338v-.3-.3V337v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.4-.4V330v-.4-.4V329v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V325v-.4-.4V324v-.4-.4-.4-.4-.4-.4-.4V321v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V312v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V307v-.4-.4-.4-.4V305v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V297v-.4-.4-.4-.4V295v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V290v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V285v-.4-.4-.4-.4-.4-.4V282v-.4-.4-.4-.4-.4-.4V279v-.4-.4-.4-.4-.4-.4-.4-.4V275v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.5V267v-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5V262v-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5V256c0-74.3-32.8-130.8-76.1-168.2C393.6 51.2 340.3 32 296 32z\"]\n};\nvar faShortcake = faCakeSlice;\nvar faPeanut = {\n prefix: 'far',\n iconName: 'peanut',\n icon: [512, 512, [], \"e430\", \"M435 218.4c18-18.1 29-42.9 29-70.4V80c0-17.7-14.3-32-32-32H364c-13.6 0-26.5 2.7-38.3 7.6l0 0c-11.7 4.8-22.7 12-32.3 21.6l-.3 .3 0 0c-9.6 9.6-16.7 20.6-21.5 32.2l0 0c-2.7 6.4-4.7 13.2-5.9 20.2l-.1 .4-.1 .4c-5.3 26.6-15.3 63.2-43.4 91.3s-64.7 38.2-91.3 43.4l-.4 .1-.4 .1c-7 1.3-13.8 3.3-20.2 5.9l0 0C98 276.4 87 283.6 77.3 293.3c-9.7 9.7-16.9 20.7-21.7 32.4l0 0C50.7 337.5 48 350.4 48 364v68c0 17.7 14.3 32 32 32h68c27.4 0 52.1-10.9 70.2-28.7l32.7 33.2-32.7-33.2c.4-.4 .8-.7 1.1-1.1l0 0c9.4-9.5 16.4-20.4 21.1-31.9l0 0c2.7-6.4 4.7-13.2 5.9-20.2l.1-.4 .1-.4c5.3-26.6 15.3-63.2 43.4-91.3s64.7-38.2 91.3-43.4l.4-.1 .4-.1c7-1.3 13.8-3.3 20.2-5.9l0 0c11.6-4.8 22.6-11.9 32.2-21.4l0 0 .6-.6 0 0zM512 148c0 40.6-16.4 77.4-42.9 104.2l-.9 .9c-14.1 14-30.3 24.6-47.6 31.7c-9.5 4-19.6 6.9-30 8.8c-24.5 4.8-49.1 12.6-66.7 30.3s-25.4 42.2-30.3 66.7c-1.9 10.4-4.9 20.5-8.8 30c-7.1 17.1-17.5 33.2-31.3 47.2c-.5 .6-1.1 1.1-1.7 1.7C225.1 495.8 188.5 512 148 512H80c-44.2 0-80-35.8-80-80V364c0-20.1 4-39.2 11.2-56.7c7.2-17.5 17.9-33.8 32.1-48c14.2-14.2 30.6-24.9 48.1-32.1c9.5-4 19.6-6.9 30-8.8c24.5-4.8 49.1-12.6 66.7-30.3s25.4-42.2 30.3-66.7c1.9-10.4 4.9-20.5 8.8-30C234.4 74 245 57.8 259.1 43.6l.4-.4c14.2-14.1 30.5-24.8 47.8-32C324.8 4 343.9 0 364 0h68c44.2 0 80 35.8 80 80v68zM372.8 136a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-64 64a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-192 192a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM200 372.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zM372.8 200a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM200 308.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4z\"]\n};\nvar faWrenchSimple = {\n prefix: 'far',\n iconName: 'wrench-simple',\n icon: [384, 512, [], \"e2d1\", \"M133 10.3c6.9 4.4 11 12 11 20.2V150.1l48 48 48-48V30.5c0-8.2 4.2-15.8 11-20.2s15.5-5 23-1.6C338.3 38.2 384 98.5 384 176c0 64.3-31.6 121.1-80 156V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V319.1c0-8.3 4.3-16.1 11.4-20.4C308.6 273.3 336 227.8 336 176c0-42.2-18.3-77.7-48-102.4V160c0 6.4-2.5 12.5-7 17l-72 72c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-72-72c-4.5-4.5-7-10.6-7-17V73.6C66.3 98.3 48 133.8 48 176c0 51.8 27.4 97.3 68.6 122.7c7.1 4.4 11.4 12.1 11.4 20.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V332C31.6 297.1 0 240.3 0 176C0 98.5 45.7 38.2 110 8.7c7.4-3.4 16.1-2.8 23 1.6z\"]\n};\nvar faBlender = {\n prefix: 'far',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 80C0 35.8 35.8 0 80 0h48 32 16.2H471c20.8 0 36.1 19.6 31 39.8L425.6 345.5C457.8 361 480 393.9 480 432v16c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V432c0-40.5 25.1-75.1 60.6-89.2L149.3 256H80c-44.2 0-80-35.8-80-80V80zM144 432v16c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V432c0-26.5-21.5-48-48-48H192c-26.5 0-48 21.5-48 48zM406.5 224H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H414.5l16-64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H438.5l12-48H180.2l24 288H378.5l28-112zM80 48C62.3 48 48 62.3 48 80v96c0 17.7 14.3 32 32 32h65.3L132 48H80zM288 400a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTeeth = {\n prefix: 'far',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M96 80c-26.5 0-48 21.5-48 48v45.4C63.9 150.8 90.2 136 120 136c15.2 0 29.5 3.9 42 10.7c16.1-21.1 41.4-34.7 70-34.7c21.3 0 40.8 7.5 56 20.1c15.2-12.6 34.7-20.1 56-20.1c28.5 0 53.9 13.6 70 34.7c12.5-6.8 26.8-10.7 42-10.7c29.8 0 56.1 14.8 72 37.4V128c0-26.5-21.5-48-48-48H96zM48 362.6V384c0 26.5 21.5 48 48 48H480c26.5 0 48-21.5 48-48V362.6c-15.9 22.6-42.2 37.4-72 37.4c-21.3 0-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1c-29.8 0-56.1-14.8-72-37.4zM0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm192 72v24 16c0 .7 0 1.3 .1 2c.9 7.2 6.6 13 13.9 13.9c.7 .1 1.3 .1 2 .1h48c.7 0 1.3 0 2-.1c7.2-.9 13-6.6 13.9-13.9c.1-.7 .1-1.3 .1-2V200c0-10.9-4.4-20.8-11.4-28c-7.3-7.4-17.4-12-28.6-12c-15.2 0-28.4 8.5-35.2 21c-3.1 5.7-4.8 12.1-4.8 19zm64 88H208c-.7 0-1.3 0-2 .1c-7.2 .9-13 6.6-13.9 13.9c-.1 .7-.1 1.3-.1 2v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-.7 0-1.3-.1-2c-.9-7.2-6.6-13-13.9-13.9c-.7-.1-1.3-.1-2-.1zm48 16v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-.7 0-1.3-.1-2c-.9-7.2-6.6-13-13.9-13.9c-.6-.1-1.3-.1-2-.1H320c-.7 0-1.3 0-2 .1c-7.2 .9-13 6.6-13.9 13.9c-.1 .7-.1 1.3-.1 2zm16-48h48c.7 0 1.3 0 2-.1c7.3-.9 13-6.6 13.9-13.9c.1-.7 .1-1.3 .1-2V224 200c0-6.9-1.7-13.4-4.8-19c-6.8-12.5-20-21-35.2-21c-11.2 0-21.3 4.6-28.6 12c-7.1 7.2-11.4 17.1-11.4 28v40c0 .7 0 1.3 .1 2c.9 7.2 6.6 13 13.9 13.9c.7 .1 1.3 .1 2 .1zm110-.1c.6 .1 1.3 .1 2 .1h48c8.2 0 14.9-6.1 15.9-14c.1-.7 .1-1.3 .1-2V224c0-22.1-17.9-40-40-40c-9.2 0-17.6 3.1-24.3 8.3c-2.9 2.2-5.5 4.8-7.7 7.7c-5 6.7-8 15-8 24v16c0 .7 0 1.3 .1 2c.9 7.2 6.6 13 13.9 13.9zM416.1 302c-.1 .7-.1 1.3-.1 2v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12c22.1 0 40-17.9 40-40v-8c0-.7 0-1.3-.1-2c-1-7.9-7.7-14-15.9-14H432c-.7 0-1.3 0-2 .1c-7.3 .9-13 6.6-13.9 13.9zM146 288.1c-.7-.1-1.3-.1-2-.1H96c-8.2 0-14.9 6.1-15.9 14c-.1 .7-.1 1.3-.1 2v8c0 22.1 17.9 40 40 40c11.2 0 21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-.7 0-1.3-.1-2c-.9-7.2-6.6-13-13.9-13.9zM159.9 242c.1-.7 .1-1.3 .1-2V224c0-9-3-17.3-8-24c-2.2-2.9-4.8-5.5-7.7-7.7c-6.7-5.2-15.2-8.3-24.3-8.3c-22.1 0-40 17.9-40 40v16c0 .7 0 1.3 .1 2c1 7.9 7.7 14 15.9 14h48c.7 0 1.3 0 2-.1c7.2-.9 13-6.6 13.9-13.9z\"]\n};\nvar faTally2 = {\n prefix: 'far',\n iconName: 'tally-2',\n icon: [640, 512, [], \"e295\", \"M152 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64zm128 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64z\"]\n};\nvar faShekelSign = {\n prefix: 'far',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M40 32C26.7 32 16 42.7 16 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V80H184c39.8 0 72 32.2 72 72V336c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-66.3-53.7-120-120-120H40zM312 480c66.3 0 120-53.7 120-120V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 39.8-32.2 72-72 72H192V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24H312z\"]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faCars = {\n prefix: 'far',\n iconName: 'cars',\n icon: [640, 512, [], \"f85b\", \"M137.8 48H278.2c10.1 0 19.2 6.4 22.6 15.9L317.9 112H98.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM41.4 127.9c-.2 .5-.3 .9-.5 1.4C16.2 146.7 0 175.5 0 208v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V288H220.1c5.3-6.6 11.3-12.7 17.8-18.2L248.5 240H48V208c0-26.5 21.5-48 48-48H286.8c19.2-20 46.1-32 75.1-32h12.8l0-.1L346 47.8C335.7 19.1 308.6 0 278.2 0H137.8C107.4 0 80.3 19.1 70 47.8L41.4 127.9zM112 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm249.8-16H502.2c10.1 0 19.2 6.4 22.6 15.9L541.9 272H322.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zm-96.4 79.9c-.2 .5-.3 .9-.5 1.4C240.2 306.7 224 335.5 224 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H592v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L570 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H361.8c-30.4 0-57.6 19.1-67.8 47.8l-28.6 80.1zM544 320c26.5 0 48 21.5 48 48v32H272V368c0-26.5 21.5-48 48-48H544zM336 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faAxeBattle = {\n prefix: 'far',\n iconName: 'axe-battle',\n icon: [512, 512, [], \"f6b3\", \"M120.8 70.4c15 20 39.3 40.8 79.2 51.1v49.2c-57.2-11.6-94.4-40.5-117.6-71.5c-3.1-4.2-6.2-8.6-9.2-13.3C57.2 119.3 48 156.7 48 192c0 36.8 10 76.1 27.4 110.7c4.4-6.6 9-12.9 13.8-18.8l37.3 30.3c-13.6 16.8-25 36.8-30.9 57.8c-1.5 5.8-6.1 10.4-11.9 11.7s-12-.7-15.8-5.3c-4.4-5.3-8.7-10.9-12.8-16.6l-1-1.4c-1.1-1.6-2.3-3.3-3.4-4.9l-.2-.3C18.6 307.4 0 247.9 0 192C0 136.2 18.5 77.4 50 29.8l.7-1c2.1-3.1 4.2-6.1 6.3-9.1l.5-.7c3.3-4.5 6.7-8.9 10.2-13.2C71.8 .9 78.4-1.1 84.5 .7c6.1 1.8 10.5 7 11.3 13.3c.9 6.4 2.6 12.8 4.7 19l.2 .6c.6 1.7 1.2 3.3 1.9 5l.1 .2c4.6 11.4 11 22.2 18 31.7zm5.6 243.7L89.2 283.8c23.4-28.8 59.1-57.3 110.8-69.5V264c-34.2 10.7-57.6 30.4-73.6 50.1zM312 170.7V121.5c40-10.3 64.3-31.1 79.3-51.1c7.1-9.5 13.4-20.3 18-31.7l.1-.2c.7-1.6 1.3-3.3 1.9-5l.2-.6c2.2-6.2 3.8-12.6 4.7-19c.8-6.3 5.3-11.5 11.3-13.3c6.1-1.8 12.7 .2 16.8 5.1c3.5 4.3 6.9 8.7 10.2 13.2l.5 .7c2.2 3 4.3 6 6.3 9.1l.7 1c27.1 41.1 44.6 90.5 48.9 139.2L488 192l23.1 23.1c-4.3 48.9-22 98.9-49.4 140l-.2 .3c-1.1 1.7-2.2 3.3-3.4 4.9l-1 1.4c-4.1 5.7-8.3 11.3-12.8 16.6c-3.9 4.6-10 6.6-15.8 5.3s-10.5-5.9-11.9-11.7c-5.9-21-17.3-41-30.9-57.8c-15.9-19.6-39.4-39.4-73.7-50.1V214.3c51.7 12.3 87.5 40.7 110.9 69.5c4.8 5.9 9.4 12.2 13.8 18.8c11.1-22.1 19.3-46.2 23.6-70.4l-6.3-6.3c-18.7-18.7-18.7-49.1 0-67.9l6.3-6.3c-4.1-22.6-11.5-45-21.5-65.9c-3 4.7-6 9.2-9.2 13.3c-23.2 31-60.5 59.9-117.7 71.5zM280 56V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faUserHairLong = {\n prefix: 'far',\n iconName: 'user-hair-long',\n icon: [448, 512, [], \"e45b\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zM49.3 464H398.7c-8.3-54.4-55.3-96-112-96H161.3c-56.7 0-103.6 41.6-112 96zM0 481.3C0 392.2 72.2 320 161.3 320H286.7C375.8 320 448 392.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M565.6 36.2C572.1 40.7 576 48.1 576 56V392c0 10-6.2 18.9-15.5 22.4l-168 64c-5.2 2-10.9 2.1-16.1 .3L192.5 417.5l-160 61c-7.4 2.8-15.7 1.8-22.2-2.7S0 463.9 0 456V120c0-10 6.1-18.9 15.5-22.4l168-64c5.2-2 10.9-2.1 16.1-.3L383.5 94.5l160-61c7.4-2.8 15.7-1.8 22.2 2.7zM48 136.5V421.2l120-45.7V90.8L48 136.5zM360 422.7V137.3l-144-48V374.7l144 48zm48-1.5l120-45.7V90.8L408 136.5V421.2z\"]\n};\nvar faFileCircleInfo = {\n prefix: 'far',\n iconName: 'file-circle-info',\n icon: [576, 512, [58604], \"e493\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 48c0 8.8 7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFaceDisappointed = {\n prefix: 'far',\n iconName: 'face-disappointed',\n icon: [512, 512, [], \"e36f\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM294.5 408.4c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9C196.7 360.3 221.4 344 256 344s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM211.3 267.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faLassoSparkles = {\n prefix: 'far',\n iconName: 'lasso-sparkles',\n icon: [576, 512, [], \"e1c9\", \"M290.7 0L288 0C128.9 0 0 78.8 0 176c0 60.6 50.2 114.1 126.6 145.8l44.3 20.5c22.6 10.4 37.1 33 37.1 57.9c0 35.2-28.6 63.8-63.8 63.8H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h88.2C205.9 512 256 461.9 256 400.2c0-17.8-4.2-34.9-11.9-50.2c14.3 1.3 29 2 43.9 2c159.1 0 288-78.8 288-176c0-76.4-79.6-141.4-191-165.8l5.6 15.1 26 9.6C435.5 42 448 59.9 448 80l0 .6c49.1 23.4 80 57.5 80 95.4c0 70.7-107.5 128-240 128S48 246.7 48 176c0-60.7 79.2-111.5 185.5-124.7c5.4-7.3 12.9-13 21.8-16.3l26-9.6L290.7 0zM351 10.4C348.7 4.2 342.7 0 336 0s-12.7 4.2-15 10.4L306.3 50.3 266.4 65c-6.3 2.3-10.4 8.3-10.4 15s4.2 12.7 10.4 15l39.8 14.7L321 149.6c2.3 6.3 8.3 10.4 15 10.4s12.7-4.2 15-10.4l14.7-39.8L405.6 95c6.3-2.3 10.4-8.3 10.4-15s-4.2-12.7-10.4-15L365.7 50.3 351 10.4zM496 352c-6.7 0-12.7 4.2-15 10.4l-14.7 39.8L426.4 417c-6.3 2.3-10.4 8.3-10.4 15s4.2 12.7 10.4 15l39.8 14.7L481 501.6c2.3 6.3 8.3 10.4 15 10.4s12.7-4.2 15-10.4l14.7-39.8L565.6 447c6.3-2.3 10.4-8.3 10.4-15s-4.2-12.7-10.4-15l-39.8-14.7L511 362.4c-2.3-6.3-8.3-10.4-15-10.4z\"]\n};\nvar faClockEleven = {\n prefix: 'far',\n iconName: 'clock-eleven',\n icon: [512, 512, [], \"e347\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120v56.7l-20-30c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l64 96c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faRocket = {\n prefix: 'far',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M368.3 265c-44.5 30.1-129.3 68.2-175.7 88l-35-35c20.4-46.1 59.2-130 89.3-174.4C309.1 52 398.4 41.9 461.7 50.3c8.5 63.3-1.7 152.6-93.3 214.7zM118.5 288c-3.6 8-6.8 15.2-9.4 21.2c-5.2 11.9-2.5 25.7 6.7 34.9l50.7 50.7c9.1 9.1 22.7 11.9 34.5 6.9c6.5-2.7 14.3-6 23-9.8l0 96.2c0 8.6 4.6 16.6 12.1 20.9s16.7 4.2 24.1-.2l88.5-52.5c21.9-13 35.3-36.5 35.3-61.9V312.1c4-2.5 7.7-4.9 11.3-7.3C516.1 222.9 520.1 100.9 506.7 28.1c-2.1-11.6-11.2-20.6-22.8-22.8C411.1-8.1 289.1-4.1 207.2 116.7c-2.4 3.6-4.9 7.3-7.3 11.3l-82.1 0c-25.4 0-49 13.4-61.9 35.3L3.4 251.8c-4.4 7.4-4.5 16.6-.2 24.1S15.4 288 24 288h94.5zM408 144a40 40 0 1 0 -80 0 40 40 0 1 0 80 0z\"]\n};\nvar faSirenOn = {\n prefix: 'far',\n iconName: 'siren-on',\n icon: [640, 512, [], \"e02e\", \"M69.3 36l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM597.3 76l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 192H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM490 304H441.6L423.4 158c-1-8-7.8-14-15.9-14h-175c-8.1 0-14.9 6-15.9 14L198.4 304H150l19-151.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L490 304zm-246.1 0l12.2-98c1.1-8.8 9.1-15 17.9-13.9s15 9.1 13.9 17.9l-11.8 94H243.9zM496 384H144v48H496V384zM144 336H496c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V384c0-26.5 21.5-48 48-48z\"]\n};\nvar faClockTen = {\n prefix: 'far',\n iconName: 'clock-ten',\n icon: [512, 512, [], \"e354\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120v91.2L173.3 172c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l96 64c7.4 4.9 16.8 5.4 24.6 1.2S280 264.9 280 256V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faCandleHolder = {\n prefix: 'far',\n iconName: 'candle-holder',\n icon: [448, 512, [128367], \"f6bc\", \"M128 112c0 17.7 14.3 32 32 32s32-14.3 32-32c0-3.2-3.6-14.8-17.4-33.6c-4.7-6.4-9.8-12.5-14.6-18.1c-4.9 5.5-9.9 11.7-14.6 18.1C131.6 97.2 128 108.8 128 112zm32 80c-44.2 0-80-35.8-80-80c0-39.6 49.1-90.1 66.2-106.6C149.9 1.9 154.8 0 160 0s10.1 1.9 13.8 5.4C190.9 21.9 240 72.4 240 112c0 44.2-35.8 80-80 80zm-32 80H96V464H224V272H176v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V272zM48 464V272c0-26.5 21.5-48 48-48H224c26.5 0 48 21.5 48 48V464h36.1c-2.7-7.5-4.1-15.6-4.1-24c0-39.8 32.2-72 72-72s72 32.2 72 72c0 39.7-32.2 71.9-71.8 72l-.1 0H376 272 224 96 48 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48zm352-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faVideoArrowDownLeft = {\n prefix: 'far',\n iconName: 'video-arrow-down-left',\n icon: [576, 512, [], \"e2c8\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V351 161 128c0-35.3-28.7-64-64-64H64zm464 84.6V363.4L416 313v52.6l104.3 46.9c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-241c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 146.4V199l112-50.4zM232 352c13.3 0 24-10.7 24-24s-10.7-24-24-24H177.9L281 201c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-103 103V216c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24H232z\"]\n};\nvar faPhotoFilm = {\n prefix: 'far',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M256 48c-8.8 0-16 7.2-16 16V288c0 8.7 6.9 15.8 15.6 16l69.1-94.2c4.5-6.2 11.7-9.8 19.4-9.8s14.8 3.6 19.4 9.8L380 232.4l56-85.6c4.4-6.8 12-10.9 20.1-10.9s15.7 4.1 20.1 10.9L578.7 303.8c7.6-1.3 13.3-7.9 13.3-15.8V64c0-8.8-7.2-16-16-16H256zM192 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64zm-56 64h24v48 88V376v8 80H352V384h48v80h48c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H400 376 352 160 136 112 64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h48 24zm-24 48H64c-8.8 0-16 7.2-16 16v48h64V176zm0 288V400H48v48c0 8.8 7.2 16 16 16h48zM48 352h64V288H48v64zM304 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFloppyDiskCircleArrowRight = {\n prefix: 'far',\n iconName: 'floppy-disk-circle-arrow-right',\n icon: [576, 512, [\"save-circle-arrow-right\"], \"e180\", \"M48 96V416c0 8.8 7.2 16 16 16H268c6.9 17.5 16.4 33.7 28.2 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm381.3 29.3c12 12 18.7 28.3 18.7 45.3v22.2c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9zM256 368c0 2.5 .1 4.9 .2 7.4c-9.4 5.5-20.4 8.6-32.2 8.6c-35.3 0-64-28.7-64-64s28.7-64 64-64c22.1 0 41.6 11.2 53.1 28.3C263.7 309.2 256 337.7 256 368zM128 80v80H272V80H128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm140.7-67.3c-6.2 6.2-6.2 16.4 0 22.6L457.4 352H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faSaveCircleArrowRight = faFloppyDiskCircleArrowRight;\nvar faFolderMinus = {\n prefix: 'far',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M251.7 127.6l0 0c10.5 10.5 24.7 16.4 39.6 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H197.5c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zm33.9-33.9L242.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.3c-2.1 0-4.2-.8-5.7-2.3zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faPlanetMoon = {\n prefix: 'far',\n iconName: 'planet-moon',\n icon: [576, 512, [], \"e01f\", \"M512 0a64 64 0 1 1 0 128A64 64 0 1 1 512 0zM224 464c97.2 0 176-78.8 176-176c0-82.2-56.4-151.3-132.6-170.6l-71 82.9c-11.5 13.4-10.7 33.4 1.8 45.9c6.3 6.3 14.9 9.9 23.9 9.9h66c17.7 0 32 14.3 32 32v15.9c0 10.6-2.6 21-7.6 30.3l-41.3 76.6c-4.4 8.1-12.8 13.2-22 13.2c-13.8 0-25-11.2-25-25V352c-17.7 0-32-14.3-32-32V288l-49.9-49.9c-9-9-21.2-14.1-33.9-14.1H60c-7.7 19.8-12 41.4-12 64c0 97.2 78.8 176 176 176zM0 288c0-52.3 17.9-100.5 48-138.6c1-1.3 2.1-2.6 3.2-3.9C92.2 95.7 154.4 64 224 64c13.3 0 26.4 1.2 39.1 3.4C368.2 85.9 448 177.6 448 288c0 123.7-100.3 224-224 224S0 411.7 0 288z\"]\n};\nvar faFaceEyesXmarks = {\n prefix: 'far',\n iconName: 'face-eyes-xmarks',\n icon: [512, 512, [], \"e374\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM137 135l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm192 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM256 304c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\"]\n};\nvar faChartScatter = {\n prefix: 'far',\n iconName: 'chart-scatter',\n icon: [512, 512, [], \"f7ee\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM192 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM160 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDisplayArrowDown = {\n prefix: 'far',\n iconName: 'display-arrow-down',\n icon: [576, 512, [], \"e164\", \"M64 0H224V48H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H352V0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM260.3 416l-8 48h71.3l-8-48H260.3zM312 24V206.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faStore = {\n prefix: 'far',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M507.1 129.5l0 0c5.8 9.2 6.4 20.5 2.3 30.1c-3.9 9.2-11.1 14.8-20.1 16c-2 .3-3.9 .4-5.8 .4c-11.7 0-22.2-5.1-29.7-13.2c-9.1-10-22-15.7-35.6-15.7s-26.5 5.8-35.5 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-1.8 0-3.8-.1-5.8-.4c-8.9-1.2-16-6.8-19.9-16c-4.1-9.6-3.5-20.9 2.3-30.1l0 0 0 0L120.4 48H455.6l51.5 81.5zM483.5 224c4.1 0 8.1-.3 12-.8c55.5-7.4 81.8-72.5 52.1-119.4L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c0 0 0 0 0 0c19.6 0 37.5-6.4 51.9-17c4.8-3.5 9.2-7.6 13.2-11.9c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c14.5 10.7 32.5 17.2 52.2 17.2c0 0 0 0 0 0zM112 336V254.4c-6.4 1.1-12.9 1.6-19.6 1.6c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V336v48 64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 336 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-6.6 0-13.1-.5-19.4-1.6V336H112zm352 48v64c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V384H464z\"]\n};\nvar faArrowTrendUp = {\n prefix: 'far',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M352 120c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V177.9L337 369c-9.4 9.4-24.6 9.4-33.9 0l-111-111L41 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L175 207c9.4-9.4 24.6-9.4 33.9 0l111 111L494.1 144H376c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPlugCircleMinus = {\n prefix: 'far',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faOliveBranch = {\n prefix: 'far',\n iconName: 'olive-branch',\n icon: [640, 512, [], \"e317\", \"M2.7 53.1C13.8 41.6 59 0 128 0c66.9 0 111.4 39.1 124.2 52L306 26.7C343.3 9.1 384 0 425.2 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H425.2c-34.2 0-67.9 7.5-98.8 22.1L191.9 133.4C189.1 219.3 118.6 288 32 288H16c-8.8 0-16-7.2-16-16V256c0-61.4 34.5-114.6 85.2-141.5C40.4 102.8 11.3 75.8 2.7 66.9C.9 65 0 62.6 0 60s.9-5 2.7-6.9zM399.4 427c19.3-25.7 32.6-63.3 32.6-107s-13.3-81.3-32.6-107c-19.2-25.7-42.2-37-63.4-37s-44.2 11.4-63.4 37C253.3 238.7 240 276.4 240 320s13.3 81.3 32.6 107c19.2 25.7 42.2 37 63.4 37s44.2-11.4 63.4-37zM336 512c-79.5 0-144-86-144-192s64.5-192 144-192s144 86 144 192s-64.5 192-144 192zm129.7-40.2c9.4-13.1 17.6-27.5 24.4-43.1c3.6 .8 7.1 1.5 10.5 2c31.1 4.6 55-3.6 70.2-19.3c15.4-16 23.9-42.1 19.2-76c-4.7-33.8-22.2-71.6-53.2-103.7c-18-18.7-37.7-32.5-57.2-41.7c-4.9-8.8-10.3-17.2-16.2-25c-10.5-14-22.7-26.5-36.2-36.9c48.2 1.6 101.3 25.8 144.2 70.3c75 77.8 90.2 188.1 33.9 246.4c-34.1 35.4-86.8 43.5-139.6 27z\"]\n};\nvar faAngle = {\n prefix: 'far',\n iconName: 'angle',\n icon: [448, 512, [], \"e08c\", \"M253.3 67.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2l-208 400c-3.9 7.4-3.6 16.4 .8 23.5S15.6 480 24 480H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H63.5L253.3 67.1zM242 175.5l-22.6 43.4c19.3 15.8 36.5 34 51.3 54.1l40.8-25.6c-19.6-27.2-43-51.4-69.5-71.9zM322.7 392h48.8c-6-36.9-18-71.8-34.7-103.8l-40.8 25.6c12.4 24.3 21.5 50.6 26.8 78.2z\"]\n};\nvar faVacuumRobot = {\n prefix: 'far',\n iconName: 'vacuum-robot',\n icon: [512, 512, [], \"e04e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm335-79c-43.6-43.6-114.4-43.6-158.1 0c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c62.4-62.4 163.5-62.4 225.9 0s62.4 163.5 0 225.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c43.6-43.6 43.6-114.4 0-158.1zM212.7 212.7c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-80 16c6.2-6.2 16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6zm-16 102.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64z\"]\n};\nvar faSignHanging = {\n prefix: 'far',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M88 0c13.3 0 24 10.7 24 24V64l376 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-376 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V112H24C10.7 112 0 101.3 0 88S10.7 64 24 64H64V24C64 10.7 74.7 0 88 0zM192 336H432V192H192V336zM144 176c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V176z\"]\n};\nvar faSign = faSignHanging;\nvar faSquareDivide = {\n prefix: 'far',\n iconName: 'square-divide',\n icon: [448, 512, [], \"e26a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM136 232H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSignalStreamSlash = {\n prefix: 'far',\n iconName: 'signal-stream-slash',\n icon: [640, 512, [], \"e250\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-91.7-71.9C562.6 355.5 576 307.3 576 256c0-69.7-24.8-133.6-66-183.4c-8.4-10.2-23.6-11.6-33.8-3.2s-11.6 23.6-3.2 33.8c34.3 41.5 55 94.7 55 152.8c0 40.1-9.8 77.9-27.2 111.2l-51.6-40.4c9.5-21.7 14.8-45.6 14.8-70.8c0-40.7-13.8-78.2-37-108c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7C406 199.2 416 226.4 416 256c0 13.9-2.2 27.3-6.3 39.8L38.8 5.1zm84.7 188.2C116.1 212.8 112 233.9 112 256c0 40.7 13.8 78.2 37 108c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7C170 312.8 160 285.6 160 256c0-10.7 1.3-21.1 3.8-31l-40.3-31.7zM33 122C11.9 162 0 207.6 0 256c0 69.7 24.8 133.6 66 183.4c8.4 10.2 23.6 11.6 33.8 3.2s11.6-23.6 3.2-33.8C68.6 367.3 48 314.1 48 256c0-37.1 8.4-72.3 23.5-103.7L33 122z\"]\n};\nvar faBezierCurve = {\n prefix: 'far',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M352 80v64H288V80h64zM288 32c-26.5 0-48 21.5-48 48v8H123.3C113.9 64.5 90.9 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c26.9 0 49.9-16.5 59.3-40h79C138.2 173.8 93.9 241.5 88.5 320H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-7.3c5.9-68.4 49.2-126.1 109.4-152.6C254.3 182.1 270 192 288 192h64c18 0 33.7-9.9 41.9-24.6c60.2 26.4 103.5 84.1 109.4 152.6H496c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8.5c-5.3-78.5-49.7-146.2-113.8-184h79c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64s-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H400V80c0-26.5-21.5-48-48-48H288zM48 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm512 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM144 368v64H80V368h64zm352 0h64v64H496V368z\"]\n};\nvar faEyeDropperHalf = {\n prefix: 'far',\n iconName: 'eye-dropper-half',\n icon: [512, 512, [], \"e173\", \"M233 202.9L199 169l-8-8 0 0c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8 33.9-33.9 71.3-71.3c19.1-19.1 45-29.8 72-29.8C466.4 0 512 45.6 512 101.8c0 27-10.7 52.9-29.8 72l-71.3 71.3L377 279l8 8c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-8-8L309.1 279 233 202.9zM343 245.1L448.2 139.9c10.1-10.1 15.8-23.8 15.8-38.1C464 72.1 439.9 48 410.2 48c-14.3 0-28 5.7-38.1 15.8L266.9 169 343 245.1zM183.4 198.6l33.9 33.9L129.9 320H254.1l25.4-25.4 33.9 33.9L183 458.9c-13.5 13.5-31.8 21.1-50.9 21.1H79.3l-42 28c-9.5 6.3-22.2 5.1-30.3-3s-9.3-20.8-3-30.3l28-42V379.9c0-19.1 7.6-37.4 21.1-50.9L183.4 198.6z\"]\n};\nvar faStoreLock = {\n prefix: 'far',\n iconName: 'store-lock',\n icon: [640, 512, [], \"e4a6\", \"M507.1 129.5l0 0c5.8 9.2 6.4 20.5 2.3 30.1c-.3 .7-.6 1.5-1 2.2c6.4-1.1 13-1.7 19.7-1.7c10.4 0 20.5 1.4 30.1 4.1c4.4-19.8 1.5-41.5-10.4-60.3L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8l0 0c19.6 0 37.5-6.4 51.9-17c4.8-3.5 9.2-7.6 13.2-11.9c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c1.2 .9 2.5 1.8 3.8 2.7c9.7-14.3 22.6-26.3 37.7-34.9c-7.4-2.1-13.9-6.2-19-11.8c-9.1-10-22-15.7-35.6-15.7s-26.5 5.8-35.5 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-1.8 0-3.8-.1-5.8-.4c-8.9-1.2-16-6.8-19.9-16c-4.1-9.6-3.5-20.9 2.3-30.1l0 0 0 0L120.4 48H455.6l51.5 81.5zM112 336V254.4c-6.4 1.1-12.9 1.6-19.6 1.6c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V336v48 64c0 35.3 28.7 64 64 64H392.6c-5.4-9.4-8.6-20.3-8.6-32V464H128c-8.8 0-16-7.2-16-16V384H384V352c0-5.5 .7-10.9 2-16H112zm416-96c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400c2.7-7.8 1.3-16.5-3.9-23l-14.9-18.6C495.5 322.9 480 278.8 480 233.4V200c0-75.8-55.5-138.6-128-150.1V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V49.9c-43.9 7-81.5 32.7-104.4 68.7L38.8 5.1zM221.7 148.4C239.6 117.1 273.3 96 312 96h8 8c57.4 0 104 46.6 104 104v33.4c0 32.7 6.4 64.8 18.7 94.5L221.7 148.4zM406.2 416l-60.9-48H168.3c21.2-32.8 34.4-70.3 38.4-109.1L160 222.1v11.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6H406.2zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faCloudBoltSun = {\n prefix: 'far',\n iconName: 'cloud-bolt-sun',\n icon: [640, 512, [\"thunderstorm-sun\"], \"f76e\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm112.1 48c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48c0 20.6 12.9 38.1 31.1 44.9c-12.6 11.7-17.9 29.3-14 46c-37.9-12.9-65.1-48.7-65.1-90.9c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0H541.3c3.5-10.1 3.7-21.3 0-31.8c-2.1-6.1-5.4-11.6-9.6-16.2h26.1c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V218.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-.6 .7-1.1 1.3-1.8 1.9c-6.1 1.1-12 3.5-17.4 7c-1.6 0-3.3-.2-4.9-.6c-8.9-2.1-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm154 35.6c5.8 4.7 7.6 12.9 4.2 19.6L425.9 352H496c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L374.1 384H304c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faThunderstormSun = faCloudBoltSun;\nvar faCameraSlash = {\n prefix: 'far',\n iconName: 'camera-slash',\n icon: [640, 512, [], \"e0d9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V160c0-35.3-28.7-64-64-64H438.6l-8.6-25.7C422.4 47.4 401 32 376.9 32H263.1c-24.1 0-45.5 15.4-53.1 38.3L201.4 96H154.8L38.8 5.1zM216 144h2.7c10.3 0 19.5-6.6 22.8-16.4l14-42.1c1.1-3.3 4.1-5.5 7.6-5.5H376.9c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4H512c8.8 0 16 7.2 16 16V388.5l-98.4-77.2c1.6-7.5 2.4-15.4 2.4-23.4c0-61.9-50.1-112-112-112c-17.5 0-34.1 4-48.9 11.2L216 144zM382.6 274.6L318.1 224c.6 0 1.3 0 1.9 0c30.7 0 56.4 21.7 62.6 50.6zM487.4 480l-60.9-48H128c-8.8 0-16-7.2-16-16V184.2L65.2 147.4c-.8 4.1-1.2 8.3-1.2 12.6V416c0 35.3 28.7 64 64 64H487.4zM370.6 388l-45.9-36.1c-1.6 .1-3.1 .2-4.7 .2c-31.8 0-58.2-23.2-63.2-53.6L211 262.2c-1.9 8.3-3 16.9-3 25.8c0 61.9 50.1 112 112 112c18.2 0 35.4-4.3 50.6-12z\"]\n};\nvar faCommentQuote = {\n prefix: 'far',\n iconName: 'comment-quote',\n icon: [512, 512, [], \"e14c\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM160 144c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V224 200 176c0-17.7-14.3-32-32-32H160zm224 80V200 176c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V224z\"]\n};\nvar faTablet = {\n prefix: 'far',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'far',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M288 0H400c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H318.1l89.6 64H504c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H336 240 72c-39.8 0-72-32.2-72-72V232c0-39.8 32.2-72 72-72h96.3L264 91.6V24c0-13.3 10.7-24 24-24zM504 464c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H400c-5 0-9.9-1.6-13.9-4.5l-98.1-70-98.1 70c-4.1 2.9-8.9 4.5-13.9 4.5H72c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24H240V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64H504zM240 240a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM112 256h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16zm304 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V272zM112 352h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm320 0h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMessageCode = {\n prefix: 'far',\n iconName: 'message-code',\n icon: [512, 512, [], \"e1df\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM217 161c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM329 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faGlassHalf = {\n prefix: 'far',\n iconName: 'glass-half',\n icon: [384, 512, [\"glass-half-empty\", \"glass-half-full\"], \"e192\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM66.7 240L50.2 48H333.8L317.3 240H66.7zm4.1 48H313.2L299.9 442.1C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9L70.8 288z\"]\n};\nvar faGlassHalfEmpty = faGlassHalf;\nvar faGlassHalfFull = faGlassHalf;\nvar faFill = {\n prefix: 'far',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M73 7C63.6-2.3 48.4-2.3 39 7s-9.4 24.6 0 33.9l89.4 89.4L30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L162.3 96.4 73 7zm89.4 157.3L231 233c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-68.7-68.7L255 71.6c9.4-9.4 24.6-9.4 33.9 0L440.4 223c9.4 9.4 9.4 24.6 0 33.9l-31 31H51.2c1.6-9.5 6.1-18.6 13.4-25.9l97.8-97.8z\"]\n};\nvar faMessageMinus = {\n prefix: 'far',\n iconName: 'message-minus',\n icon: [512, 512, [\"comment-alt-minus\"], \"f4a7\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM184 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faCommentAltMinus = faMessageMinus;\nvar faAngleUp = {\n prefix: 'far',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M207 143c9.4-9.4 24.6-9.4 33.9 0L401 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-143-143L81 337c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 143z\"]\n};\nvar faDinosaur = {\n prefix: 'far',\n iconName: 'dinosaur',\n icon: [640, 512, [], \"e5fe\", \"M449.1 0c-16.8 0-33 6-45.7 16.9L375.7 40.7C360.7 53.5 352 72.4 352 92.2c0 37.5 30.4 67.8 67.8 67.8H472c13.3 0 24 10.7 24 24v19.2c0 11.5-9.3 20.8-20.8 20.8c-13 0-25.6-3.8-36.4-11L413.3 196c-35.2-23.5-76.6-36-119-36h-9.1c-60.8 0-119.5 22.7-164.5 63.6l-80.2 73C14.7 320 0 353.3 0 388.2C0 456.6 55.4 512 123.8 512H255.1c35.9 0 64.9-29.1 64.9-64.9c0-33-24.7-60.7-57.4-64.5l-103.2-12c-2.5-10.6-12-18.6-23.4-18.6c-13.3 0-24 10.7-24 24c0 21.3 16 39.2 37.1 41.7L257 430.3c8.5 1 15 8.2 15 16.8c0 9.3-7.6 16.9-16.9 16.9H123.8C82 464 48 430 48 388.2c0-21.4 9-41.7 24.8-56.1l80.2-73c36.2-32.9 83.3-51.1 132.2-51.1h9.1c32.9 0 65 9.7 92.4 28l25.4 16.9c18.7 12.5 40.6 19.1 63.1 19.1c38 0 68.8-30.8 68.8-68.8V184c0-39.8-32.2-72-72-72H419.8c-11 0-19.8-8.9-19.8-19.8c0-5.8 2.5-11.3 6.9-15.1l27.7-23.8c4-3.4 9.1-5.3 14.4-5.3h11.6C533.2 48 592 106.8 592 179.3v26.9c0 65-28.9 126.6-78.8 168.2l-8.6 7.2c-6.2 5.2-9.2 12.9-8.6 20.4c-.1 .7-.1 1.3-.1 2v52c0 4.4-3.6 8-8 8H440c-4.4 0-8-3.6-8-8V424c0-8-3.9-15.4-10.5-19.9c-6.6-4.4-14.9-5.4-22.3-2.4l-.1 0c-.2 .1-.5 .2-.9 .3c-.9 .3-2.4 .8-4.6 1.5c-4.2 1.3-10.8 3.1-19.5 5c-7.7 1.6-17.1 3.3-28.2 4.6c4 10.6 6.1 22 6.1 34c0 4.7-.3 9.3-1 13.8c12.7-1.5 23.7-3.4 32.9-5.4l.1 0v.5c0 30.9 25.1 56 56 56h48c30.9 0 56-25.1 56-56V411.2c60.8-50.7 96-125.8 96-205V179.3C640 80.3 559.7 0 460.7 0H449.1zM480 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faDrumstickBite = {\n prefix: 'far',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M208 272c0 17.7 14.3 32 32 32h16 51.2c-2.1-10.4-3.2-21.1-3.2-32c0-82.8 62.8-150.8 143.4-159.1C425.4 74.1 383.7 48 336 48c-70.7 0-128 57.3-128 128v64 32zm-48-32V176C160 78.8 238.8 0 336 0c86.5 0 158.5 62.5 173.2 144.8c2.1 11.8-10.3 20.1-22 17.6c-7.5-1.6-15.3-2.4-23.2-2.4c-61.9 0-112 50.1-112 112c0 19.2 4.8 37.2 13.3 53c5.7 10.5 1.1 24.8-10.8 26c-6.1 .6-12.3 1-18.5 1H256 244c-17.7 0-31.3 15.6-41.5 30c-1.7 2.4-3.6 4.6-5.7 6.7c-12 12-11.1 31.5-6.8 47.9c1.3 4.9 2 10 2 15.4c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c5.3 0 10.5 .7 15.4 2c16.4 4.3 35.9 5.2 47.9-6.8c2.1-2.1 4.4-4 6.8-5.7c14.4-10.2 30-23.9 30-41.5V240z\"]\n};\nvar faLinkHorizontalSlash = {\n prefix: 'far',\n iconName: 'link-horizontal-slash',\n icon: [640, 512, [\"chain-horizontal-slash\"], \"e1cc\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-56.4-44.2c39.5-25.6 65.6-70.1 65.6-120.7c0-75.7-58.7-138.5-134.3-143.5l-8.1-.5c-13.2-.9-24.7 9.1-25.5 22.4s9.1 24.7 22.3 25.5l8.1 .5c50.4 3.4 89.5 45.2 89.5 95.6c0 39.8-24.3 74-58.8 88.4L414.8 299.8c20.8-25 33.2-57.1 33.2-91.9C448 128.4 383.6 64 304.1 64H143.9c-9.1 0-18.1 .9-26.8 2.5L38.8 5.1zM175.2 112h129c52.9 0 95.9 42.9 95.9 95.9c0 23.7-8.6 45.5-23 62.3L175.2 112zM446.8 448l-60.9-48H335.9c-53 0-95.9-42.9-95.9-95.9c0-6 .6-12 1.6-17.7l-40.8-32.1c-5.7 15.6-8.9 32.4-8.9 49.8C192 383.6 256.4 448 335.9 448H446.8zM30.1 119.7C11.2 144.1 0 174.7 0 207.9c0 75.7 58.7 138.5 134.3 143.5l8.1 .5c13.2 .9 24.7-9.1 25.5-22.3s-9.1-24.7-22.4-25.5l-8.1-.5C87.1 300.2 48 258.3 48 207.9c0-22 7.4-42.2 19.8-58.4L30.1 119.7z\"]\n};\nvar faChainHorizontalSlash = faLinkHorizontalSlash;\nvar faHollyBerry = {\n prefix: 'far',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M256 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM128 144a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm160 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM161.4 264.5c-1.7 58.6-42.3 107.5-97 121.6c6.2 22 7.2 45.1 2.7 67.4c24.9-6.1 50.9-5.4 75.4 1.9c1.7-58.6 42.3-107.5 97-121.6c-6.2-22-7.1-45.1-2.7-67.4c-24.9 6.1-50.9 5.4-75.4-1.9zM113.4 232c0-16.2 15.6-27.7 31.1-22.9l29.8 9.2c16.8 5.2 34.8 5.7 51.8 1.3l39-9.9c11.1-2.8 21.5 2.5 26.6 11.2c15.2 2.8 30.9 1.9 45.7-2.7l29.8-9.2c15.4-4.8 31.1 6.8 31.1 22.9v28.8c0 44.9 36.4 81.4 81.4 81.4c16.6 0 28.2 16.5 22.6 32.1l-6.7 18.6c-6.9 19.2-7.5 40.1-1.8 59.6l8.1 27.7c5.2 17.8-10.9 34.6-28.9 30l-39-9.9c-17.1-4.3-35-3.8-51.8 1.3l-29.8 9.2c-15.4 4.8-31.1-6.8-31.1-22.9l0-28.8c0-39.5-28.1-72.4-65.4-79.8v0c-37.4 7.4-65.6 40.3-65.6 79.8l0 28.8c0 16.2-15.6 27.7-31.1 22.9l-29.8-9.2c-16.8-5.2-34.8-5.7-51.8-1.3l-39 9.9c-18 4.6-34.2-12.2-28.9-30l8.1-27.7c5.8-19.6 5.1-40.4-1.8-59.6L9.5 374.3c-5.6-15.6 6-32.1 22.6-32.1c44.9 0 81.4-36.4 81.4-81.4V232zM292.7 341c44.2 19.7 75.2 63.4 76.7 114.5c24.5-7.3 50.6-8 75.4-1.9c-4.5-22.4-3.5-45.5 2.7-67.4c-54.7-14.1-95.3-62.9-97-121.6c-21.1 6.3-43.3 7.7-64.9 4.1c-5.4 19.2-4.7 39.7 2.1 58.5l5 13.9z\"]\n};\nvar faNose = {\n prefix: 'far',\n iconName: 'nose',\n icon: [448, 512, [], \"e5bd\", \"M205.3 12.9C199.2 1.2 184.7-3.4 172.9 2.7s-16.3 20.6-10.2 32.4C237 178 327.3 280.7 374.8 329.6c16 16.4 25.2 37.6 25.2 59.2c0 41.5-33.7 75.2-75.2 75.2H313.9l-17-17-30.1-30.1c-21.1-21.1-49.7-32.9-79.5-32.9c-32.8 0-59.4 26.6-59.4 59.4V448c0 35.3 28.7 64 64 64H324.8C392.8 512 448 456.8 448 388.8c0-35.4-15.1-68.3-38.8-92.7C363.7 249.4 276.8 150.4 205.3 12.9zm27.6 437.9L246.1 464H192c-8.8 0-16-7.2-16-16v-4.6c0-6.3 5.1-11.4 11.4-11.4c17.1 0 33.5 6.8 45.6 18.9zM141 303.5c13-2.8 21.2-15.5 18.4-28.5s-15.5-21.2-28.5-18.4l-22.8 4.9C45.1 274.9 0 330.7 0 395.2c0 40.6 18 79.1 49.2 105.1l7.4 6.2c10.2 8.5 25.3 7.1 33.8-3.1s7.1-25.3-3.1-33.8l-7.4-6.2C59.7 446.5 48 421.5 48 395.2c0-41.9 29.2-78 70.2-86.8l22.8-4.9z\"]\n};\nvar faChevronLeft = {\n prefix: 'far',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M15 239c-9.4 9.4-9.4 24.6 0 33.9L207 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L65.9 256 241 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L15 239z\"]\n};\nvar faBacteria = {\n prefix: 'far',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M304.9 .7c9.6 2.7 15.1 12.7 12.4 22.3l-2.9 10.3c15.4 7.9 28.3 20.5 36.4 36.4L361 66.7c9.6-2.7 19.5 2.8 22.3 12.4s-2.8 19.5-12.4 22.3l-11 3.1c.8 17.6-4.1 34.6-13.2 48.8l8 8c7 7 7 18.4 0 25.5s-18.4 7-25.5 0l-8-8c-7.9 5.1-16.8 8.9-26.4 11.1c-5.9 1.4-11.4 2.9-16.6 4.6l3 10.6c2.7 9.6-2.8 19.5-12.4 22.3s-19.5-2.8-22.3-12.4l-1.6-5.6c-17.8 10.8-29 23.4-36.5 34.5l8.5 3.6c9.1 3.9 13.4 14.5 9.5 23.6s-14.5 13.4-23.6 9.5l-9.6-4.1c-.8 2.9-1.4 5.8-1.8 8.7c-1.4 13.3-6 25.6-12.7 36.2l8 8c7 7 7 18.4 0 25.5s-18.4 7-25.5 0l-8-8c-14.1 9-31 13.9-48.8 13.2l-3.1 11c-2.7 9.6-12.7 15.1-22.3 12.4S64 370.6 66.7 361l2.9-10.3c-15.7-8.1-28.4-20.9-36.4-36.4l-10.3 2.9C13.4 320 3.4 314.5 .7 304.9s2.8-19.5 12.4-22.3l11-3.1c-.2-3.7-.1-7.4 .3-11.2c1.1-12.1 3.8-24.2 7-35.9c.2-.8 .4-1.5 .7-2.3l-8.7-3.5c-9.2-3.7-13.7-14.2-10-23.4s14.2-13.7 23.4-10l7.4 3c4.6-10.7 10.3-22.2 17.4-34c1.4-2.4 2.9-4.8 4.5-7.3l-11.2-9c-7.8-6.2-9-17.5-2.8-25.3s17.5-9 25.3-2.8L87.3 126c10.2-12.2 22-24.1 35.5-35.3L117 82c-5.5-8.3-3.3-19.4 5-25s19.4-3.3 25 5l4.9 7.4c13.7-8.8 28.7-16.8 45.2-23.9l-3.6-8.5c-3.9-9.1 .3-19.7 9.5-23.6s19.7 .3 23.6 9.5l4.4 10.3c8.4-2.6 17.1-4.9 26.2-7c7.5-1.7 15.1-2.4 22.4-2.1l3.1-11C285.4 3.5 295.4-2 304.9 .7zM143.8 279.9c.1-.7 .2-1.4 .3-2.1c3.2-20.9 11.7-39.5 20.3-53.8c18-30 52.2-65.4 119.7-80.9c19.4-4.5 31.5-23.8 27-43.2s-23.8-31.5-43.2-27c-88.4 20.4-138.2 69-165.3 114.1c-13.3 22.1-20.8 42.9-25 58.3c-2.8 10-4.7 19.2-5.5 27.6c-1.8 19.8 12.8 37.2 32.6 39c19.6 1.8 36.9-12.5 39-31.9zm352.4-47.8c-.1 .7-.2 1.4-.3 2.1c-3.2 20.9-11.7 39.5-20.3 53.8c-18 30-52.2 65.4-119.7 80.9c-19.4 4.5-31.5 23.8-27 43.2s23.8 31.5 43.2 27c88.4-20.4 138.2-69 165.3-114.1c13.3-22.1 20.8-42.9 25-58.3c2.8-10 4.7-19.2 5.5-27.6c1.8-19.8-12.8-37.2-32.6-39c-19.6-1.8-36.9 12.5-39 31.9zm39.3-80l3.1-11c2.7-9.6 12.7-15.1 22.3-12.4s15.1 12.7 12.4 22.3l-2.9 10.3c15.7 8.1 28.4 20.9 36.4 36.4l10.3-2.9c9.6-2.7 19.5 2.8 22.2 12.4s-2.8 19.5-12.4 22.3l-11 3.1c.2 3.7 .1 7.4-.3 11.2c-1.1 12.1-3.8 24.2-7 35.9l-.2 .8-.4 1.5 8.7 3.5c9.2 3.7 13.7 14.2 10 23.4s-14.2 13.7-23.4 10l-7.4-3c-4.6 10.7-10.3 22.2-17.4 34c-1.4 2.4-3 4.8-4.5 7.3l11.2 9c7.8 6.2 9 17.5 2.8 25.3s-17.5 9-25.3 2.8L552.7 386c-10.2 12.2-22 24.1-35.5 35.3L523 430c5.5 8.3 3.3 19.4-5 25s-19.4 3.3-25-5l-4.9-7.4c-13.7 8.8-28.7 16.8-45.2 23.9l3.6 8.5c3.9 9.1-.3 19.7-9.5 23.6s-19.7-.3-23.6-9.5l-4.4-10.3c-8.4 2.6-17.1 4.9-26.2 7c-7.5 1.7-15.1 2.4-22.5 2.1l-3.1 11c-2.7 9.6-12.7 15.1-22.2 12.4s-15.1-12.7-12.4-22.3l3-10.3c-15.4-7.9-28.3-20.5-36.4-36.4l-10.3 2.9c-9.6 2.7-19.5-2.8-22.3-12.4s2.8-19.5 12.4-22.2l11-3.1c-.8-17.6 4.1-34.6 13.2-48.8l-8-8c-7-7-7-18.4 0-25.5s18.4-7 25.5 0l8 8c7.9-5.1 16.8-8.9 26.4-11.1c5.9-1.4 11.4-2.9 16.6-4.6l-3-10.6c-2.7-9.6 2.8-19.5 12.4-22.3s19.5 2.8 22.3 12.4l1.6 5.6c17.8-10.8 29-23.4 36.5-34.5l-8.5-3.6c-9.1-3.9-13.4-14.5-9.5-23.6s14.5-13.4 23.6-9.5l9.6 4.1c.8-2.9 1.4-5.8 1.8-8.7c1.4-13.3 5.9-25.6 12.7-36.2l-8-8c-7-7-7-18.4 0-25.5s18.4-7 25.5 0l8 8c14.1-9 31-13.9 48.8-13.2zM192 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM400 384a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faClouds = {\n prefix: 'far',\n iconName: 'clouds',\n icon: [640, 512, [], \"f744\", \"M272 112c0 .7 0 1.4 0 2c-.3 10.3 6 19.7 15.6 23.2s20.5 .6 27-7.4c8.8-10.9 22.3-17.9 37.4-17.9c26.5 0 48 21.5 48 48c0 8.7-2.3 16.8-6.3 23.8c3.6 2.3 7.1 4.8 10.6 7.4c12.8-4.4 26.5-6.8 40.7-7.2c2-7.7 3-15.7 3-24c0-53-43-96-96-96c-14 0-27.2 3-39.2 8.4C296.8 30.1 255.9 0 208 0C151.6 0 104.9 41.7 97.1 96L96 96C43 96 0 139 0 192s43 96 96 96h65.9c2.7-17.1 8.3-33.3 16.2-48H96c-26.5 0-48-21.5-48-48s21.5-48 48-48c5.9 0 11.4 1 16.6 2.9c7.9 2.9 16.8 1.5 23.4-3.8s9.9-13.7 8.7-22c-.4-2.9-.6-6-.6-9.1c0-35.3 28.7-64 64-64s64 28.7 64 64zM240 312c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H236h-1.9c-.3 0-.7-.1-1-.1C201.3 462.4 176 436.2 176 404c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zm72-120c-64 0-116.3 50.1-119.8 113.3C154.4 322.1 128 359.9 128 404c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H528c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C534.5 247 494.9 216 448 216c-18 0-34.9 4.6-49.7 12.6C376.5 206.1 345.9 192 312 192z\"]\n};\nvar faMoneyBillSimple = {\n prefix: 'far',\n iconName: 'money-bill-simple',\n icon: [576, 512, [], \"e1f1\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm288 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M72 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H240c35.3 0 64 28.7 64 64s-28.7 64-64 64H136c-13.3 0-24 10.7-24 24s10.7 24 24 24H288c4.5 0 8.9 1.3 12.7 3.6l64 40c7 4.4 11.3 12.1 11.3 20.4v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V413.3L281.1 384H136c-39.8 0-72-32.2-72-72s32.2-72 72-72H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H72c-39.8 0-72-32.2-72-72S32.2 64 72 64H281.6c46.7 0 90.9 21.5 119.7 58.3l78.4 100.1c20.9 26.7 32.3 59.7 32.3 93.7V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V316.1c0-23.2-7.8-45.8-22.1-64.1L363.5 151.9c-19.7-25.2-49.9-39.9-81.9-39.9H72z\"]\n};\nvar faTablePivot = {\n prefix: 'far',\n iconName: 'table-pivot',\n icon: [512, 512, [], \"e291\", \"M464 416c0 8.8-7.2 16-16 16H128V192H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160V160H464V416zM64 32C28.7 32 0 60.7 0 96v64H128V32H64zM414.8 246.1c2.5-6 1.1-12.9-3.5-17.4l-32-32c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h16v48c0 8.8-7.2 16-16 16H288V304c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-32 32c-6.2 6.2-6.2 16.4 0 22.6l32 32c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V352h48c26.5 0 48-21.5 48-48V256h16c6.5 0 12.3-3.9 14.8-9.9z\"]\n};\nvar faFilterSlash = {\n prefix: 'far',\n iconName: 'filter-slash',\n icon: [640, 512, [], \"e17d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L408.1 294.6 566.6 100c6.1-7.4 9.4-16.7 9.4-26.3c0-23-18.7-41.7-41.7-41.7h-429c-8.6 0-16.5 2.6-23.1 7.1L38.8 5.1zM134.4 80H521L370.3 265 134.4 80zM288 364.4V322.9l-48-37.8v83.2c0 12.2 5.6 23.7 15.1 31.3L347.6 473c5.7 4.5 12.8 7 20.1 7c17.8 0 32.3-14.5 32.3-32.3V411.2l-48-37.8v41.9l-64-50.8z\"]\n};\nvar faTrashCanUndo = {\n prefix: 'far',\n iconName: 'trash-can-undo',\n icon: [448, 512, [\"trash-can-arrow-turn-left\", \"trash-undo-alt\"], \"f896\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm145.9 64.1c8.8 9.9 7.9 25.1-2 33.9L199.1 248H240c48.6 0 88 39.4 88 88v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V336c0-22.1-17.9-40-40-40H199.1l24.8 22.1c9.9 8.8 10.8 24 2 33.9s-24 10.8-33.9 2l-72-64c-5.1-4.6-8.1-11.1-8.1-17.9s2.9-13.4 8.1-17.9l72-64c9.9-8.8 25.1-7.9 33.9 2z\"]\n};\nvar faTrashCanArrowTurnLeft = faTrashCanUndo;\nvar faTrashUndoAlt = faTrashCanUndo;\nvar faNotdef = {\n prefix: 'far',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M48 421.8L162.8 256 48 90.2V421.8zM77.2 464H306.8L192 298.2 77.2 464zm144-208L336 421.8V90.2L221.2 256zM306.8 48H77.2L192 213.8 306.8 48zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faDisease = {\n prefix: 'far',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M64.1 286.3c0-19.3-8.3-37.6-22.8-50.3L21.8 219C8 206.9 .1 189.5 .1 171.2c0-39.3 35.3-69.3 74.1-62.8l55.6 9.3c37.9 6.3 76-10.2 97.3-42.1l9.4-14.1C248.7 43 269.2 32 291.3 32c30.9 0 57.6 21.4 64.3 51.5l7.1 31.5c8.1 36.2 37.1 64 73.6 70.7l28 5.1c27.7 5.1 47.8 29.2 47.8 57.3c0 24.1-14.8 45.6-37.2 54.3L438 316.7c-32.5 12.6-53.9 43.9-53.9 78.8l0 25.2c0 32.7-26.5 59.3-59.3 59.3c-13.5 0-26.5-4.6-37-13l-30.9-24.7c-21.3-17-47.7-26.3-75-26.3h-7.4c-9.6 0-19.2 1.2-28.5 3.5L91 433.2c-32.6 8.2-65.7-11.7-73.8-44.3c-5.7-22.6 2.1-46.4 20-61.4L49.8 317c9.1-7.6 14.3-18.9 14.3-30.7zM267 102.1c-31.8 47.7-88.6 72.3-145.1 62.9l-55.6-9.3c-9.5-1.6-18.2 5.8-18.2 15.4c0 4.5 1.9 8.8 5.3 11.7l19.5 17.1c24.9 21.8 39.2 53.3 39.2 86.4c0 26.1-11.5 50.8-31.5 67.5L68 364.3c-3.8 3.2-5.4 8.2-4.2 13c1.7 6.9 8.7 11.1 15.6 9.4l54.9-13.7c13.1-3.3 26.6-4.9 40.1-4.9h7.4c38.1 0 75.2 13 104.9 36.8l30.9 24.7c2 1.6 4.5 2.5 7 2.5c6.2 0 11.3-5 11.3-11.3l0-25.2c0-54.7 33.6-103.7 84.6-123.5l36.9-14.3c4-1.5 6.6-5.3 6.6-9.6c0-5-3.5-9.2-8.4-10.1l-28-5.1c-55.4-10.1-99.4-52.4-111.8-107.4L308.8 94c-1.8-8.2-9.1-14-17.5-14c-6 0-11.6 3-14.9 8L267 102.1zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm48-128a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPersonToDoor = {\n prefix: 'far',\n iconName: 'person-to-door',\n icon: [576, 512, [58704], \"e433\", \"M272 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6L56.4 165.8c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l44.5-38.2c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L225.1 480.8c-4 12.7 3.1 26.1 15.7 30.1s26.1-3.1 30.1-15.8L307 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2c7.2 23.5 28.9 39.5 53.5 39.5H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H343.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zm70.8 67.2l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L225 169l27.1 6.8zM122.5 317.1L103.4 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h84.9c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6zM528 48V464H432V303.2c-10.2 10.4-24.3 16.8-40 16.8c-2.7 0-5.4-.2-8-.6V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48V208.6c2.6-.4 5.3-.6 8-.6c15.7 0 29.8 6.4 40 16.8V48h96z\"]\n};\nvar faTurntable = {\n prefix: 'far',\n iconName: 'turntable',\n icon: [576, 512, [], \"f8e4\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 400a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm272-88c0-13.3-10.7-24-24-24s-24 10.7-24 24V271.7c0 6.7-1.7 13.3-4.9 19.2l-40.2 73.7c-6.3 11.6-2.1 26.2 9.6 32.6s26.2 2.1 32.6-9.6l40.2-73.7c7-12.9 10.7-27.4 10.7-42.1V136z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'far',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm24 88H360h88c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h88zm72 64v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faGenderless = {\n prefix: 'far',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 128a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nvar faChevronRight = {\n prefix: 'far',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M305 239c9.4 9.4 9.4 24.6 0 33.9L113 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L79 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L305 239z\"]\n};\nvar faSignalWeak = {\n prefix: 'far',\n iconName: 'signal-weak',\n icon: [640, 512, [\"signal-1\"], \"f68c\", \"M64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal1 = faSignalWeak;\nvar faClockFive = {\n prefix: 'far',\n iconName: 'clock-five',\n icon: [512, 512, [], \"e349\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V248.7l60 90c7.4 11 4.4 25.9-6.7 33.3s-25.9 4.4-33.3-6.7l-64-96c-2.6-3.9-4-8.6-4-13.3V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faRetweet = {\n prefix: 'far',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M120 208h31c22.6 0 41-18.3 41-41c0-10.9-4.3-21.3-12-29L113 71c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-67 67c-7.7 7.7-12 18.1-12 29c0 22.6 18.3 41 41 41H72V328c0 48.6 39.4 88 88 88H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H160c-22.1 0-40-17.9-40-40V208zM96 121.9L134.1 160l-76.1 0L96 121.9zM504 304V184c0-48.6-39.4-88-88-88H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H416c22.1 0 40 17.9 40 40V304H425c-22.6 0-41 18.3-41 41c0 10.9 4.3 21.3 12 29l67 67c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l67-67c7.7-7.7 12-18.1 12-29c0-22.6-18.3-41-41-41H504zm-24 86.1L441.9 352h76.1L480 390.1z\"]\n};\nvar faCarRear = {\n prefix: 'far',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 80H346.6c17 0 32.1 10.7 37.8 26.8L408.6 176H103.4l24.2-69.2c5.6-16 20.8-26.8 37.8-26.8zM82.3 90.9L48.1 188.8C19.3 205.4 0 236.4 0 272v64c0 23.7 12.9 44.4 32 55.4V456c0 13.3 10.7 24 24 24s24-10.7 24-24V400H432v56c0 13.3 10.7 24 24 24s24-10.7 24-24V391.4c19.1-11.1 32-31.7 32-55.4V272c0-35.6-19.4-66.6-48.1-83.2L429.7 90.9C417.3 55.6 384 32 346.6 32H165.4C128 32 94.7 55.6 82.3 90.9zM96 224H416c20.9 0 38.7 13.4 45.3 32H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v32c0 8.8-7.2 16-16 16H320V320c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32v32H64c-8.8 0-16-7.2-16-16V304h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H50.7c6.6-18.6 24.4-32 45.3-32z\"]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'far',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M112 56c0-30.9 25.1-56 56-56h48c25.4 0 46.8 16.9 53.7 40h46.4c19.1 0 37.4 7.6 50.9 21.1L409 103c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L333.1 95c-4.5-4.5-10.6-7-17-7H272v40H224V56c0-4.4-3.6-8-8-8H168c-4.4 0-8 3.6-8 8v72H112V56zM101.5 222.7l-18.7 224C82.1 456 89.4 464 98.8 464H285.2c9.4 0 16.7-8 15.9-17.3l-18.7-224c-.7-8.3-7.6-14.7-15.9-14.7H117.4c-8.3 0-15.3 6.4-15.9 14.7zm-47.8-4c2.8-33.2 30.5-58.7 63.8-58.7H266.6c33.3 0 61 25.5 63.8 58.7l18.7 224c3.1 37.3-26.3 69.3-63.8 69.3H98.8c-37.4 0-66.9-32-63.8-69.3l18.7-224zm125.8 59.9c2.9-4.1 7.5-6.6 12.6-6.6s9.7 2.5 12.6 6.6l33.3 48.1c6.6 9.5 10.1 20.8 10.1 32.4v.9c0 30.9-25.1 56-56 56s-56-25.1-56-56v-.9c0-11.6 3.5-22.9 10.1-32.4l33.3-48.1z\"]\n};\nvar faComputerClassic = {\n prefix: 'far',\n iconName: 'computer-classic',\n icon: [448, 512, [], \"f8b1\", \"M384 48c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V368c0 23.7 12.9 44.4 32 55.4V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V423.4c19.1-11.1 32-31.7 32-55.4V64c0-35.3-28.7-64-64-64H64zM80 432H368v32H80V432zm0-320v96c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32zM208 320c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm-88 32a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFrame = {\n prefix: 'far',\n iconName: 'frame',\n icon: [448, 512, [], \"e495\", \"M448 120c0-13.3-10.7-24-24-24l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L112 96l0-40c0-13.3-10.7-24-24-24S64 42.7 64 56l0 40L24 96C10.7 96 0 106.7 0 120s10.7 24 24 24l40 0 0 224-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 224 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-224 40 0c13.3 0 24-10.7 24-24zM112 368l0-224 224 0 0 224-224 0z\"]\n};\nvar faVideoSlash = {\n prefix: 'far',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1L113.9 64H352c35.3 0 64 28.7 64 64v33V288v12.8L560 413.6V363.4 352 288 148.6L448 199V146.4L552.3 99.5c5.1-2.3 10.6-3.5 16.2-3.5c21.8 0 39.5 17.7 39.5 39.5V352v24.5 74.8l22.8 17.9c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2zM368 263.1V128c0-8.8-7.2-16-16-16H175.2L368 263.1zM32 128c0-2.2 .1-4.4 .3-6.5L80 159V384c0 8.8 7.2 16 16 16H352c8.2 0 15-6.2 15.9-14.1L407 416.7c-11.2 18.7-31.6 31.3-55 31.3H96c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'far',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm112 96H96V320h96V192z\"]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faEllipsisStroke = {\n prefix: 'far',\n iconName: 'ellipsis-stroke',\n icon: [512, 512, [\"ellipsis-h-alt\"], \"f39b\", \"M416 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-88a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM256 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-88a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM120 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-88 0a64 64 0 1 0 128 0A64 64 0 1 0 32 256z\"]\n};\nvar faEllipsisHAlt = faEllipsisStroke;\nvar faRadio = {\n prefix: 'far',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M494.4 47.1c12.8-3.5 20.3-16.7 16.8-29.5S494.4-2.7 481.6 .9L52.9 119.1C21.6 127.8 0 156.2 0 188.6V192 304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H201.2L494.4 47.1zM48 192c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V304 192zm304 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM112 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 304c-8.8 0-16 7.2-16 16s7.2 16 16 16H224c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm16 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faBabyCarriage = {\n prefix: 'far',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M138.9 22.9L256 192H400V152c0-30.9 25.1-56 56-56h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H456c-4.4 0-8 3.6-8 8v40 32c0 28-6.1 55.6-17.7 81.1c-11.6 25.5-28.6 48.4-49.5 67.5c-21 19.1-45.6 34-72.5 44.1S252.8 432 224 432s-57.4-5.2-84.3-15.3s-51.5-25-72.5-44.1c-21-19.1-37.9-42-49.5-67.5C6.1 279.6 0 252 0 224V192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM56.1 272c1.5 4.5 3.3 8.9 5.3 13.2c8.8 19.4 21.8 37.1 38.2 51.9s35.7 26.6 57.1 34.7s44.2 12.2 67.4 12.2s46-4.1 67.4-12.2s40.8-19.8 57.1-34.7s29.3-32.5 38.2-51.9c2-4.3 3.7-8.8 5.3-13.2c3.6-10.4 6-21.1 7.2-32H48.9c1.2 10.9 3.6 21.6 7.2 32z\"]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faFaceExpressionless = {\n prefix: 'far',\n iconName: 'face-expressionless',\n icon: [512, 512, [], \"e373\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160 72H352c13.3 0 24 10.7 24 24s-10.7 24-24 24H160c-13.3 0-24-10.7-24-24s10.7-24 24-24zM128 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm176-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faDownToDottedLine = {\n prefix: 'far',\n iconName: 'down-to-dotted-line',\n icon: [448, 512, [], \"e408\", \"M114.2 224L224 334 333.8 224 280 224c-13.3 0-24-10.7-24-24l0-120-64 0 0 120c0 13.3-10.7 24-24 24l-53.8 0zM224 384c-11.5 0-22.5-4.6-30.6-12.7L77.6 255.2C68.9 246.5 64 234.7 64 222.4c0-25.6 20.8-46.4 46.4-46.4l33.6 0 0-96c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 96 33.6 0c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 371.3c-8.1 8.1-19.1 12.7-30.6 12.7zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-64 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 448A32 32 0 1 1 0 448a32 32 0 1 1 64 0z\"]\n};\nvar faCloudMusic = {\n prefix: 'far',\n iconName: 'cloud-music',\n icon: [640, 512, [], \"f8ae\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM416 184c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V275.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V216 184z\"]\n};\nvar faTrafficLight = {\n prefix: 'far',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM160 424a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-168a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-72a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faCloudMinus = {\n prefix: 'far',\n iconName: 'cloud-minus',\n icon: [640, 512, [], \"e35d\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM248 264c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faThermometer = {\n prefix: 'far',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M369.8 64.2c10.3-10.4 24.4-16.2 39-16.2c30.5 0 55.2 24.7 55.2 55.2c0 14.6-5.8 28.7-16.2 39L224.4 365.7c-1.5 1.5-3.5 2.3-5.7 2.3H144V293.3c0-2.1 .8-4.2 2.3-5.7l27.3-27.3 31 31c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-31-31 41.4-41.4 31 31c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-31-31 41.4-41.4 31 31c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-31-31 45.5-45.5zM96 293.3v88.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l89-89h88.8c14.9 0 29.1-5.9 39.6-16.4L481.8 176.2c19.4-19.4 30.2-45.6 30.2-73C512 46.2 465.8 0 408.8 0c-27.4 0-53.6 10.9-73 30.2L112.4 253.7C101.9 264.2 96 278.4 96 293.3z\"]\n};\nvar faShieldMinus = {\n prefix: 'far',\n iconName: 'shield-minus',\n icon: [512, 512, [], \"e249\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faVrCardboard = {\n prefix: 'far',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M560 112H80c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32H190.6c12.1 0 23.2-6.8 28.6-17.7l34.7-69.5C266.4 287.8 292 272 320 272s53.6 15.8 66.1 40.8l34.7 69.5c5.4 10.8 16.5 17.7 28.6 17.7H560c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM80 64H560c44.2 0 80 35.8 80 80V368c0 44.2-35.8 80-80 80H449.4c-30.3 0-58-17.1-71.6-44.2l-34.7-69.5c-4.4-8.8-13.4-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-34.7 69.5c-13.6 27.1-41.3 44.2-71.6 44.2H80c-44.2 0-80-35.8-80-80V144C0 99.8 35.8 64 80 64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCarTilt = {\n prefix: 'far',\n iconName: 'car-tilt',\n icon: [640, 512, [], \"f5e5\", \"M142.2 101.6L307.3 57.4c16.4-4.4 33.8 2.1 43.4 16.1l38.6 56.6L107.5 205.6l5.1-68.4c1.3-17 13.1-31.2 29.5-35.6zM64.8 133.7l-7.6 101c-21.4 23.4-30.7 56.8-21.9 89.7l18.5 69.1L60 416.5l6.2 23.3L72.7 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H120.5l-9.7-36.1 1.7-.5L495.8 324.7l1.7-.5 13.9 52.1c3.3 12.3 16 19.6 28.3 16.3s19.6-16 16.3-28.3l-13.9-52.1 0 0L529.8 266l-18.5-69.1c-8.8-32.9-33.6-57.1-63.8-66.7L390.4 46.4C369.3 15.5 331 1.3 294.9 11L129.8 55.2c-36.1 9.7-62.2 41.1-65 78.4zm50.8 119.5l290.5-77.8c25.6-6.9 51.9 8.3 58.8 33.9l18.5 69.1L100.2 381.1 81.7 311.9c-6.9-25.6 8.3-51.9 33.9-58.8zm56.6 46.7a30.8 30.8 0 1 0 -59.5 15.9 30.8 30.8 0 1 0 59.5-15.9zm245.9-34a30.8 30.8 0 1 0 -15.9-59.5 30.8 30.8 0 1 0 15.9 59.5z\"]\n};\nvar faGaugeCircleMinus = {\n prefix: 'far',\n iconName: 'gauge-circle-minus',\n icon: [640, 512, [], \"e497\", \"M256 464c29.4 0 57.3-6.1 82.6-17.1c7.4 14.7 16.7 28.2 27.7 40.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-14 0-27.5 1.6-40.6 4.7C429.9 110.7 350.3 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zm0-56c-30.9 0-56-25.1-56-56c0-22.3 13.1-41.6 32-50.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24V301.4c18.9 9 32 28.3 32 50.6c0 30.9-25.1 56-56 56zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 208a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16z\"]\n};\nvar faBrightnessLow = {\n prefix: 'far',\n iconName: 'brightness-low',\n icon: [512, 512, [], \"e0ca\", \"M288 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM432 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM48 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 384a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'far',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M224 0c-35.3 0-64 28.7-64 64V184.5c-2.6-.3-5.3-.5-8-.5c-35.3 0-64 28.7-64 64v10.8c-2.4 1.9-4.7 3.9-6.9 5.9L60.8 283.2C42.5 299.9 32 323.5 32 348.3v10.2c0 54.1 28.7 104.1 75.4 131.3l2.6 1.5c23.2 13.6 49.7 20.7 76.6 20.7H312c66.3 0 120-53.7 120-120v-8V288c0-35.3-28.7-64-64-64c-5.3 0-10.5 .7-15.5 1.9c-10.8-20.2-32-33.9-56.5-33.9c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zM208 64c0-8.8 7.2-16 16-16s16 7.2 16 16V232c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16v8c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16v96 8c0 39.8-32.2 72-72 72H186.6c-18.4 0-36.5-4.9-52.4-14.2l-11.7 20 11.7-20-2.6-1.5C99.6 429.7 80 395.5 80 358.5V348.3c0-11.3 4.8-22 13.1-29.6l10.9-9.9V344c0 8.8 7.2 16 16 16s16-7.2 16-16V271v-7V248c0-8.8 7.2-16 16-16c5.2 0 9.9 2.5 12.8 6.4c6.2 8.3 17 11.6 26.8 8.3s16.4-12.4 16.4-22.8V64z\"]\n};\nvar faPercent = {\n prefix: 'far',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M369 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L15 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L369 113zM112 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM368 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'far',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M72 80c-13.3 0-24 10.7-24 24V326.7c9.8-4.3 20.6-6.7 32-6.7c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32H432V104c0-13.3-10.7-24-24-24H72zM208 480c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80V352 304 104C0 64.2 32.2 32 72 32H408c39.8 0 72 32.2 72 72v40h48.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 80c0 17.7-14.3 32-32 32c0 44.2-35.8 80-80 80s-80-35.8-80-80h-8-8H288c0 44.2-35.8 80-80 80zM535 194.9c-1.5-1.9-3.8-2.9-6.2-2.9H480v64H585l-50-61.1zM528 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faGlassWaterDroplet = {\n prefix: 'far',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM73.5 319.2L50.2 48H333.8L310.5 319.2l-9.3 5.2c-16.2 9-36.2 7.3-50.7-4.3c-34.2-27.4-82.8-27.4-117 0C119 331.6 99 333.3 82.8 324.3l-9.3-5.2zm4.7 55c29 8.6 60.9 2.8 85.2-16.6c16.7-13.3 40.4-13.3 57 0c24.3 19.4 56.2 25.3 85.2 16.6l-5.9 67.9C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9l-5.9-67.9zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]\n};\nvar faConveyorBelt = {\n prefix: 'far',\n iconName: 'conveyor-belt',\n icon: [640, 512, [], \"f46e\", \"M384 48h80V208H176V48h80v80c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L320 115.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V48zM128 48V208c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zM592 400c0 35.3-28.7 64-64 64H112c-35.3 0-64-28.7-64-64s28.7-64 64-64H528c35.3 0 64 28.7 64 64zM112 288C50.1 288 0 338.1 0 400s50.1 112 112 112H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H112zm48 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faLocationCheck = {\n prefix: 'far',\n iconName: 'location-check',\n icon: [384, 512, [\"map-marker-check\"], \"f606\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-79-23L177 297c-9.4 9.4-24.6 9.4-33.9 0L79 233c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faMapMarkerCheck = faLocationCheck;\nvar faCoinVertical = {\n prefix: 'far',\n iconName: 'coin-vertical',\n icon: [384, 512, [], \"e3fd\", \"M204 413.5c-22.2 39.4-45.3 50.5-60 50.5s-37.8-11.1-60-50.5C62.7 375.6 48 320 48 256s14.7-119.6 36-157.5C106.2 59.1 129.3 48 144 48s37.8 11.1 60 50.5c21.3 37.9 36 93.5 36 157.5s-14.7 119.6-36 157.5zM0 256C0 397.4 64.5 512 144 512h48 64c70.7 0 128-114.6 128-256S326.7 0 256 0H192 144C64.5 0 0 114.6 0 256zm286.3 40c1.2-13 1.7-26.4 1.7-40s-.6-27-1.7-40h48c1.1 12.9 1.7 26.3 1.7 40s-.6 27.1-1.7 40h-48zm-4 32h48.1c-3.9 23.7-9.6 45.3-16.6 64H266c7-19.7 12.5-41.2 16.2-64zM228 464c9.1-11.6 17.4-25 24.7-40h46.5c-18.9 33.8-36.3 40-43.1 40H228zM330.3 184H282.2c-3.8-22.8-9.2-44.3-16.2-64h47.7c7 18.7 12.7 40.3 16.6 64zM299.1 88H252.7C245.3 73 237 59.6 228 48h28c6.8 0 24.2 6.2 43.1 40zM120 256c0-40.2 5.2-75.7 12.9-100.3c3.7-11.8 7.7-19.9 11.1-24.7c3.4 4.8 7.3 12.9 11.1 24.7c7.8 24.6 12.9 60 12.9 100.3s-5.2 75.7-12.9 100.3c-3.7 11.8-7.7 19.9-11.1 24.7c-3.4-4.8-7.3-12.9-11.1-24.7c-7.8-24.6-12.9-60-12.9-100.3zm27.4-128.8a.2 .2 0 1 0 .1 .4 .2 .2 0 1 0 -.1-.4zm-6.6 .1a.2 .2 0 1 0 -.5 .1 .2 .2 0 1 0 .5-.1zm-.2 257.4a.2 .2 0 1 0 -.1-.4 .2 .2 0 1 0 .1 .4zm6.6-.1a.2 .2 0 1 0 .5-.1 .2 .2 0 1 0 -.5 .1zM144 80c-17.7 0-30.3 11.3-37.9 21.6c-8 10.7-14.2 24.6-18.9 39.7C77.6 171.7 72 212.3 72 256s5.6 84.3 15.2 114.7c4.8 15.1 10.9 29 18.9 39.7c7.7 10.3 20.2 21.6 37.9 21.6s30.3-11.3 37.9-21.6c8-10.7 14.2-24.6 18.9-39.7c9.6-30.4 15.2-71 15.2-114.7s-5.6-84.3-15.2-114.7c-4.8-15.1-10.9-29-18.9-39.7C174.3 91.3 161.7 80 144 80z\"]\n};\nvar faDisplay = {\n prefix: 'far',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM211.7 416H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48zm48.7 0l-8 48h71.3l-8-48H260.3z\"]\n};\nvar faPersonSign = {\n prefix: 'far',\n iconName: 'person-sign',\n icon: [512, 512, [], \"f757\", \"M438.1 32.2c4.5-12.5-1.9-26.2-14.3-30.8S397.5 3.3 393 15.8l-4.6 12.7L328.7 6.7c-12.5-4.5-26.2 1.9-30.8 14.3L259.6 126.3c-4.5 12.5 1.9 26.2 14.3 30.8l59.7 21.7L316.5 226l-19.3-7.2c-12.1-4.6-22.8-12.3-30.9-22.4L238 161c-16.7-20.9-42-33-68.7-33H129.6c-34.8 0-66.3 20.5-80.4 52.3L2.1 286.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2L80 229.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h52.2l27.1 59.6c.5 1 .7 2.2 .7 3.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.9c0-8-1.7-15.9-5-23.2l-35-77V210.4l12.7 15.9c13.5 16.9 31.3 29.8 51.6 37.4l19.7 7.4-11 30.3c-4.5 12.5 1.9 26.2 14.3 30.8s26.2-1.9 30.8-14.3l44.6-122.6 60.6 22c12.5 4.5 26.2-1.9 30.8-14.3L508.4 97.7c4.5-12.5-1.9-26.2-14.3-30.8l-60.6-22 4.6-12.7zM334.8 60l120.3 43.8L433.2 164 312.9 120.2 334.8 60zM144 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-14.4 80H168V304H128V176c.5 0 1.1 0 1.6 0z\"]\n};\nvar faFaceSmile = {\n prefix: 'far',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSmile = faFaceSmile;\nvar faPhoneHangup = {\n prefix: 'far',\n iconName: 'phone-hangup',\n icon: [640, 512, [], \"e225\", \"M320 144C193.1 144 98.7 205.9 53.3 250.2c-4.6 4.5-6.6 12.9-2.1 21.8l36.1 71.5c1.6 3.2 5.2 4.9 8.7 4.2l102.4-20.3c3.7-.7 6.4-4 6.4-7.8V248.5c0-10.4 6.6-19.5 16.5-22.8l3.4-1.1c61.9-20.4 128.7-20.4 190.7 0l3.4 1.1c9.8 3.2 16.5 12.4 16.5 22.8v71.1c0 3.8 2.7 7.1 6.4 7.8L544 347.7c3.5 .7 7.1-1 8.7-4.2L588.8 272c4.5-8.9 2.6-17.3-2.1-21.8C541.3 205.9 446.9 144 320 144zM19.8 215.8C71.5 165.4 177.4 96 320 96s248.5 69.4 300.2 119.8c22 21.5 23.8 53.4 11.4 77.8l-36.1 71.5c-11.3 22.4-36.2 34.6-60.9 29.7L432.3 374.5c-26.2-5.2-45.1-28.2-45.1-54.9V266.2c-44-12-90.4-12-134.4 0v53.4c0 26.7-18.9 49.7-45.1 54.9L105.3 394.8c-24.7 4.9-49.6-7.3-60.9-29.7L8.3 293.6C-4 269.2-2.3 237.3 19.8 215.8z\"]\n};\nvar faSignatureSlash = {\n prefix: 'far',\n iconName: 'signature-slash',\n icon: [640, 512, [], \"e3cb\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L563 416h53c13.3 0 24-10.7 24-24s-10.7-24-24-24H501.8l-61.2-48H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H450.1l28.5-79.9c3.1-8.6 1-18.1-5.3-24.7s-15.7-9-24.4-6.3l-133 41.2c2.7-22 4.1-44.2 4.1-66.4V128c0-53-43-96-96-96c-37 0-69.1 20.9-85.1 51.6L38.8 5.1zM178 114.2C183.9 94.4 202.3 80 224 80c26.5 0 48 21.5 48 48v7.9c0 16.7-.9 33.4-2.6 50L178 114.2zM343.5 243.9l73.7-22.8-22.5 63-51.2-40.2zM345.2 368H304.1c-7 16.3-14.8 32.4-23.3 48H406.2l-60.9-48zM158 251.1c-36.9 11.4-62 45.5-62 84.1V410c0 38.6 31.3 70 70 70c24.6 0 47.4-12.9 60-34l15.9-26.4c18.5-30.8 33.8-63.3 45.7-97l-40-31.6c-11.5 36.3-27.2 71.2-46.8 103.9l-15.9 26.4c-4 6.6-11.1 10.7-18.8 10.7c-12.1 0-22-9.8-22-22V335.2c0-17.5 11.4-33 28.2-38.2l59.5-18.4-45.8-36.1L158 251.1zM64 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.2c-.1-2-.2-4-.2-6V368z\"]\n};\nvar faThumbtack = {\n prefix: 'far',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M134.6 51.7L123.8 192.6c-1.1 14.6-8.8 27.8-20.9 36C79 244.8 61.1 269.4 53.8 298.9L52.5 304H168V216c0-13.3 10.7-24 24-24s24 10.7 24 24v88H331.5l-1.3-5.1c-7.4-29.5-25.2-54.1-49.1-70.2c-12.1-8.2-19.8-21.5-20.9-36L249.4 51.7c-.1-1.2-.1-2.5-.1-3.7H134.8c0 1.2 0 2.5-.1 3.7zM168 352H32c-9.9 0-19.2-4.5-25.2-12.3S-1.4 321.8 1 312.2l6.2-25c10.3-41.3 35.4-75.7 68.7-98.3L83.1 96l3.7-48H56c-4.4 0-8.6-1.2-12.2-3.3C36.8 40.5 32 32.8 32 24C32 10.7 42.7 0 56 0H86.8 297.2 328c13.3 0 24 10.7 24 24c0 8.8-4.8 16.5-11.8 20.7c-3.6 2.1-7.7 3.3-12.2 3.3H297.2l3.7 48 7.1 92.9c33.3 22.6 58.4 57.1 68.7 98.3l6.2 25c2.4 9.6 .2 19.7-5.8 27.5s-15.4 12.3-25.2 12.3H216V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352z\"]\n};\nvar faThumbTack = faThumbtack;\nvar faWheatSlash = {\n prefix: 'far',\n iconName: 'wheat-slash',\n icon: [640, 512, [], \"e339\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-174-136.4c3.6-2.8 7.1-5.9 10.5-9.3l16.9-16.9c8.5-8.5 9.3-21.7 2.4-31.1c21.9-3.8 42.9-14.2 59.8-31.1l16.9-16.9c9.4-9.4 9.4-24.6 0-33.9l-16.9-16.9c-11.6-11.6-24.8-20.4-38.9-26.7C546.8 140.9 576 105.9 576 64V24c0-13.3-10.7-24-24-24H512c-41.9 0-76.9 29.3-85.8 68.5C420 54.3 411 41 399.4 29.4L382.5 12.4c-9.4-9.4-24.6-9.4-33.9 0L331.6 29.4c-16.9 16.9-27.3 37.9-31.1 59.8c-9.4-6.9-22.6-6.1-31.1 2.4l-16.9 16.9c-12.5 12.5-21.5 27.3-26.8 43L38.8 5.1zM267.7 184.5c.8-15.3 7-30.3 18.6-42c19.9 20 27.1 47.8 21.6 73.5l-40.2-31.5zM372 266.3c22-1.3 44.5 6.4 61.3 23.3c-5 4.9-10.5 8.9-16.4 11.9L372 266.3zM173.3 346.1l11.3 11.3 0 0L71 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L218.5 391.4l11.2 11.2c43.7 43.7 114.6 43.7 158.4 0l.5-.5-38.1-30c-25.1 21.5-63 20.4-86.8-3.4l-10.1-10.2c20.1-13.3 44.8-16.6 67.2-9.8l-90.2-71.1c.1 15.6-4.3 31.2-13.2 44.7l-10.1-10.1c-17.6-17.6-22.8-43-15.6-65.2l-39.1-30.8c-21.4 42.1-14.5 94.8 20.7 129.9zM512 48h16V64c0 22.1-17.9 40-40 40H472V88c0-22.1 17.9-40 40-40zM365.5 153.8c-25-25-25-65.5 0-90.5c27.3 27.4 30.7 69.6 10.2 100.6l-10.1-10.1zm147 56.5c-25 25-65.5 25-90.5 0l-10.1-10.1c31-20.5 73.3-17.2 100.6 10.2z\"]\n};\nvar faTrophy = {\n prefix: 'far',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M248.8 309.7c-27.6-30.3-65.5-101-71.8-261.7H399.1c-6.4 160.7-44.3 231.4-71.8 261.7c-13.7 15.1-25.9 21.4-33.1 24.1c-2.6 1-4.7 1.5-6.1 1.9c-1.4-.3-3.5-.9-6.1-1.9c-7.2-2.7-19.4-9-33.1-24.1zM400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88C0 196.5 45.9 265.7 101.5 308.6c53.9 41.7 115.7 57.6 149.5 63.7c4.7 2.5 9.1 4.5 13.1 6.1V464H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H288 392c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V378.4c4-1.6 8.4-3.6 13.1-6.1c33.8-6 95.5-22 149.5-63.7C530.1 265.7 576 196.5 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zm42.7 112h84.4c-6 78.4-41.3 127.3-81.9 158.6c-17.5 13.6-36.3 24-54.4 32c22.7-40.3 42.8-100.5 51.9-190.6zM185.2 302.6c-18.1-8-36.8-18.4-54.4-32C90.2 239.3 54.9 190.4 48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6z\"]\n};\nvar faCloudsSun = {\n prefix: 'far',\n iconName: 'clouds-sun',\n icon: [640, 512, [], \"f746\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 30.7 5.1c-26.4 10.6-47 32.6-55.7 59.9C276.8 132.7 244.8 112 208 112c-53 0-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17.1c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm409.8 32.1h12.4c.6 0 1.2 0 1.8 0c13.2 0 24-10.7 24-24s-10.7-24-24-24c-1.1 0-2.2 .1-3.2 .2c-25.1 3.3-48.5-13.5-53.4-38.4c-2.9-14.7-15.9-25.8-31.4-25.8c-13.6 0-25.3 8.5-29.9 20.6c-9.2 24.3-36.2 36.9-60.8 28.2c-1.6-.6-3.4-.9-5.3-.9c-8.8 0-15.9 7.1-16 15.9l-.1 0c-16.7 0-32.6 3.2-47.3 9c-.4-2.9-.6-5.9-.6-8.9c0-35.3 28.6-64 64-64c7.4 0 14.6 1.3 21.2 3.6c11.5-30.1 40.6-51.6 74.8-51.6c38.9 0 71.3 27.8 78.5 64.6c3.1-.4 6.3-.6 9.5-.6c39.8 0 72 32.2 72 72c0 30.4-18.8 56.3-45.4 66.9c-9.5-17.7-23.6-32.5-40.8-42.9zM320.1 320c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48s21.5 48 48 48c.6 0 1.3 0 1.9 0c.3 0 .6 0 .9 0H557.8c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V346.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-5.8 7.1-15.1 10.4-24.1 8.3s-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm48-96c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0h-266c-1.1 0-2.1 .1-3.2 .1c-53 0-96-43-96-96c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8z\"]\n};\nvar faPersonPraying = {\n prefix: 'far',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M352 64A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM202.1 192c5.3 0 10.2 2.7 12.9 7.2l4.3 7.1L152.2 367.5l-9.4-6c-9.8-6.3-13.7-18.7-9.2-29.4l54.5-130.7c2.4-5.7 7.9-9.3 14-9.3zm48.3 64.7l7.4 12.1c12.8 20.9 41.2 25.4 59.9 9.6l89.8-76c10.1-8.6 11.4-23.7 2.8-33.8s-23.7-11.4-33.8-2.8l-82.7 70-37.9-61.6C244.4 155.4 224 144 202.1 144c-25.5 0-48.5 15.3-58.3 38.9L89.3 313.6c-13.4 32.3-1.8 69.5 27.6 88.3L214 464H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H296c10.7 0 20-7 23-17.3s-1.1-21.2-10.1-27l-115.7-74 57.1-137.1z\"]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'far',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M432.8 204.9c-9.1-9.1-21.5-14.2-34.4-14.1c-11.3 .1-22.4-4.1-31-12.7L329.3 140c-5.9-5.9-9.3-14-9.3-22.4V105.5c0-17.6-9.6-33.7-25-42.1L273.3 51.5c8.4-2.3 17.1-3.5 25.8-3.5h18.1c24.5 0 48 9.3 65.8 26.1l44.6 42c9.7 9.1 14.3 21.7 13.5 34.1c-.8 13.7 4.3 27.1 14 36.8l37 37L472 244.1l-39.2-39.2zM216.7 75.3l.3 .2 55 30v12.1c0 21.1 8.4 41.4 23.3 56.3l38.1 38.1c18.1 18.1 41.8 26.9 65.4 26.7l39.2 39.2 1 1-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L569 217c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-8 8-1-1-37-37c1.6-26.1-8-52.7-28.5-72l-44.6-42C389.2 14 353.9 0 317.2 0H299.2C279 0 259.1 4.2 240.7 12.4L219.1 22l-.3 .1-6.2 2.8-19.1 8.5c-5.6 2.5-9.2 7.9-9.5 14s3 11.8 8.3 14.7l18.4 10 6 3.3zm44.2 107.3L27.4 377.1C10.1 391.6 0 413.1 0 435.7C0 477.8 34.1 512 76.3 512c22.6 0 44.1-10.1 58.6-27.4L330 250.4c-6.8-4.5-13.2-9.7-19.2-15.7l-38.1-38.1c-4.3-4.3-8.3-9-11.8-14z\"]\n};\nvar faFaceVomit = {\n prefix: 'far',\n iconName: 'face-vomit',\n icon: [576, 512, [], \"e3a0\", \"M496 256c0 63.4-28.3 120.1-73 158.3c5.8 9.5 14.8 17 25.9 20.7l16.7 5.6C513.9 393.9 544 328.5 544 256C544 114.6 429.4 0 288 0S32 114.6 32 256c0 72.5 30.1 137.9 78.5 184.5l16.7-5.6c11.1-3.7 20.1-11.1 25.9-20.7C108.3 376.1 80 319.4 80 256C80 141.1 173.1 48 288 48s208 93.1 208 208zM148 157.1c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9c-7.9-4.2-17.5 1.5-17.5 10.5zm262.5-10.5l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6c0-9-9.6-14.7-17.5-10.5zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm544-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 396.1V337.8c10.8 4.3 18.7 8.5 23.1 11.5c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2C406.3 310.3 355.2 288 288 288s-118.3 22.3-136.9 34.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4c4.4-3 12.3-7.2 23.1-11.5v58.3c0 31-19.8 58.5-49.2 68.3l-34.1 11.4c-7.6 2.5-12.7 9.6-12.7 17.6c0 10.3 8.3 18.6 18.6 18.6H461.4c10.3 0 18.6-8.3 18.6-18.6c0-8-5.1-15.1-12.7-17.6l-34.1-11.4c-29.4-9.8-49.2-37.3-49.2-68.3zM304 416a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm-80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSpeakers = {\n prefix: 'far',\n iconName: 'speakers',\n icon: [640, 512, [], \"f8e0\", \"M264.4 0c-11.8 13.2-20.1 29.7-23.1 48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H241.3c3.1 18.3 11.3 34.8 23.1 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H264.4zM224 232v56.8c-10.2-10.4-24.3-16.8-40-16.8c-30.9 0-56 25.1-56 56s25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V424c-12.3 5.1-25.8 8-40 8c-57.4 0-104-46.6-104-104s46.6-104 104-104c14.2 0 27.7 2.8 40 8zM184 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM336 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H336zM272 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H336c-35.3 0-64-28.7-64-64V64zM456 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM352 328a104 104 0 1 1 208 0 104 104 0 1 1 -208 0zm104 56a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faTtyAnswer = {\n prefix: 'far',\n iconName: 'tty-answer',\n icon: [640, 512, [\"teletype-answer\"], \"e2b9\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2zM304 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM288 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V176zM400 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V80zM592 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H592c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM576 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H592c-8.8 0-16-7.2-16-16V176zM400 160H528c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16z\"]\n};\nvar faTeletypeAnswer = faTtyAnswer;\nvar faMugTeaSaucer = {\n prefix: 'far',\n iconName: 'mug-tea-saucer',\n icon: [640, 512, [], \"e1f5\", \"M144 288c0 26.5 21.5 48 48 48H384c26.5 0 48-21.5 48-48V80H248V90.7c0 8.5 3.4 16.6 9.4 22.6l21.3 21.3c6 6 9.4 14.1 9.4 22.6V224c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V157.3c0-8.5 3.4-16.6 9.4-22.6l21.3-21.3c6-6 9.4-14.1 9.4-22.6V80H144V288zM96 64c0-17.7 14.3-32 32-32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64zM480 240h32c44.2 0 80-35.8 80-80s-35.8-80-80-80H480V240zM24 432H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faDiagramLeanCanvas = {\n prefix: 'far',\n iconName: 'diagram-lean-canvas',\n icon: [640, 512, [], \"e156\", \"M512 80V296h80V96c0-8.8-7.2-16-16-16H512zm-48 0H400v88h64V80zM352 80H288V296h64V80zM240 80H176v88h64V80zM128 80H64c-8.8 0-16 7.2-16 16V296h80V80zM48 344v72c0 8.8 7.2 16 16 16H296V344H48zm296 88H576c8.8 0 16-7.2 16-16V344H344v88zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM240 296V216H176v80h64zm224-80H400v80h64V216z\"]\n};\nvar faAlt = {\n prefix: 'far',\n iconName: 'alt',\n icon: [640, 512, [], \"e08a\", \"M467.9 120.4c4.6-5.3 11.2-8.4 18.2-8.4H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H486.1c-21 0-41 9.2-54.7 25.1L172.1 391.6c-4.6 5.3-11.2 8.4-18.2 8.4H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H153.9c21 0 41-9.2 54.7-25.1L467.9 120.4zM440 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H440z\"]\n};\nvar faDial = {\n prefix: 'far',\n iconName: 'dial',\n icon: [576, 512, [\"dial-med-high\"], \"e15b\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM208.8 208.8c37.9-37.9 96.2-43 139.6-15.1L271 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l77.4-77.4c27.8 43.4 22.8 101.7-15.1 139.6c-43.7 43.7-114.7 43.7-158.4 0s-43.7-114.7 0-158.4zm192.3-33.9A160 160 0 1 0 174.9 401.1 160 160 0 1 0 401.1 174.9zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDialMedHigh = faDial;\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M250.8 1.4c-35.2-3.7-66.6 21.8-70.3 57L174 119 156.7 69.6C145 36.3 108.4 18.8 75.1 30.5S24.2 78.8 35.9 112.1L88.7 262.2C73.5 276.7 64 297.3 64 320v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V272 256 224c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-.7 0-1.5 0-2.2 0l5.9-56.3c3.7-35.2-21.8-66.6-57-70.3zm-.2 155.4C243.9 166.9 240 179 240 192v48c0 .7 0 1.4 0 2c-5.1-1.3-10.5-2-16-2h-7.4l-5.4-15.3 17-161.3c.9-8.8 8.8-15.2 17.6-14.2s15.2 8.8 14.2 17.6l-9.5 90.1zM111.4 85.6L165.7 240H144c-4 0-8 .3-11.9 .9L81.2 96.2c-2.9-8.3 1.5-17.5 9.8-20.4s17.5 1.5 20.4 9.8zM288 192c0-8.8 7.2-16 16-16s16 7.2 16 16v32 16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192zm38.4 108c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2v10c0 66.3-53.7 120-120 120H232c-66.3 0-120-53.7-120-120l0-24 0 0c0-17.7 14.3-32 32-32h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4zM400 272c0 8.8-7.2 16-16 16s-16-7.2-16-16V240 224c0-8.8 7.2-16 16-16s16 7.2 16 16v32 16z\"]\n};\nvar faCircleTrash = {\n prefix: 'far',\n iconName: 'circle-trash',\n icon: [512, 512, [\"trash-circle\"], \"e126\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM160 128h41.4l11.3-11.3c3-3 7.1-4.7 11.3-4.7h64c4.2 0 8.3 1.7 11.3 4.7L310.6 128H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H352L338.4 354.7c-1.4 16.6-15.2 29.3-31.9 29.3H205.4c-16.6 0-30.5-12.8-31.9-29.3L160 192z\"]\n};\nvar faTrashCircle = faCircleTrash;\nvar faRotate = {\n prefix: 'far',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M94 187.1C120.8 124.1 183.3 80 256 80c39.7 0 77.8 15.8 105.9 43.9l4.1 4.1-35.7 35.7c-6.6 6.6-10.3 15.6-10.3 25c0 19.5 15.8 35.3 35.3 35.3H472c13.3 0 24-10.7 24-24V83.3C496 63.8 480.2 48 460.7 48c-9.4 0-18.3 3.7-25 10.3L400 94.1l-4.1-4.1C358.8 52.8 308.5 32 256 32C163.4 32 83.9 88.2 49.8 168.3c-5.2 12.2 .5 26.3 12.7 31.5s26.3-.5 31.5-12.7zm368 157c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6C391 388.1 328.6 432 256 432c-39.7 0-77.8-15.8-105.9-43.9l-4.1-4.1 35.7-35.7c6.6-6.6 10.3-15.6 10.3-25c0-19.5-15.8-35.3-35.3-35.3H40c-13.3 0-24 10.7-24 24V428.7C16 448.2 31.8 464 51.3 464c9.4 0 18.3-3.7 25-10.3L112 417.9l4.1 4.1C153.2 459.2 203.5 480 256 480c92.5 0 171.8-56 206-135.9zM448 176H385.9L448 113.9V176zM64 336h62.1L64 398.1V336z\"]\n};\nvar faSyncAlt = faRotate;\nvar faCircleQuarters = {\n prefix: 'far',\n iconName: 'circle-quarters',\n icon: [512, 512, [], \"e3f8\", \"M108.9 403.1L256 256 403.1 403.1C440.7 365.4 464 313.4 464 256s-23.3-109.4-60.9-147.1L256 256 108.9 108.9C71.3 146.6 48 198.6 48 256s23.3 109.4 60.9 147.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSpinner = {\n prefix: 'far',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M288 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM448 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM32 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM75 437a32 32 0 1 0 45.3-45.3A32 32 0 1 0 75 437zm316.8 0A32 32 0 1 0 437 391.8 32 32 0 1 0 391.8 437zM75 75a32 32 0 1 0 45.3 45.3A32 32 0 1 0 75 75z\"]\n};\nvar faTowerControl = {\n prefix: 'far',\n iconName: 'tower-control',\n icon: [448, 512, [], \"e2a2\", \"M160 24c0-13.3 10.7-24 24-24h40 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V96h40c17.7 0 32 14.3 32 32h93.2c21.4 0 36.8 20.7 30.6 41.2L402.7 306.5c7.9 3.9 13.3 12.1 13.3 21.5c0 13.3-10.7 24-24 24H368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352l-192 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H56c-13.3 0-24-10.7-24-24c0-9.4 5.4-17.6 13.3-21.5L4.1 169.2C-2.1 148.7 13.3 128 34.8 128H128c0-17.7 14.3-32 32-32h40V48H184c-13.3 0-24-10.7-24-24zM94.7 304H128V176H56.3L94.7 304zm81.3 0l96 0V176H176V304zM320 176V304h33.3l38.4-128H320z\"]\n};\nvar faArrowUpTriangleSquare = {\n prefix: 'far',\n iconName: 'arrow-up-triangle-square',\n icon: [576, 512, [\"sort-shapes-up\"], \"f88a\", \"M416 32c9.9 0 19.1 5.2 24.2 13.7L524.4 186c2.3 3.9 3.6 8.4 3.6 12.9c0 13.8-11.2 25.1-25.1 25.1H329.1c-13.8 0-25.1-11.2-25.1-25.1c0-4.5 1.2-9 3.6-12.9L391.8 45.7C396.9 37.2 406.1 32 416 32zM368 432h96V336H368v96zM416 98.6L369.6 176h92.8L416 98.6zM320 432V336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96z\"]\n};\nvar faSortShapesUp = faArrowUpTriangleSquare;\nvar faWhale = {\n prefix: 'far',\n iconName: 'whale',\n icon: [640, 512, [128011], \"f72c\", \"M175.8 13.4c-1-5.9-5.2-10.8-10.9-12.6s-12-.3-16.2 3.9L108 45.4C89.7 63.7 81.4 89.6 85.6 115.1l7.9 47.4L79.2 176.8 43.6 212.4C15.7 240.3 0 278.2 0 317.6C0 407.3 72.7 480 162.4 480H544c53 0 96-43 96-96V275.7C640 194.1 573.9 128 492.3 128c-80.5 0-158.6 27.4-221.4 77.7L139 311.2c-7.1 5.7-15.9 8.8-25 8.8h-1c-19 0-35.2-13.7-38.4-32.5c-1.7-9.9 .6-20.1 6.3-28.4l35.4-51.4 9.1-13.2 47.6 7.9c25.5 4.2 51.5-4.1 69.7-22.3l40.7-40.7c4.2-4.2 5.8-10.5 3.9-16.2s-6.7-9.9-12.6-10.9L189.9 98.1 175.8 13.4zM50.5 341.5C66.4 358 88.7 368 113 368h1c20 0 39.4-6.8 55-19.3L300.9 243.1C355.2 199.7 422.7 176 492.3 176c55 0 99.7 44.6 99.7 99.7V384c0 26.5-21.5 48-48 48H162.4c-55 0-100.9-38.8-111.9-90.5zM392 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRobot = {\n prefix: 'far',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c13.3 0 24 10.7 24 24V96H448c53 0 96 43 96 96V416c0 53-43 96-96 96H192c-53 0-96-43-96-96V192c0-53 43-96 96-96H296V24c0-13.3 10.7-24 24-24zM192 144c-26.5 0-48 21.5-48 48V416c0 26.5 21.5 48 48 48H448c26.5 0 48-21.5 48-48V192c0-26.5-21.5-48-48-48H320 192zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16zM208 384h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16zM200 256a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm200-40a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faPeace = {\n prefix: 'far',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M232 462.6v-156L111.3 405.4c32 31 74 51.9 120.7 57.2zM80.9 368.3L232 244.6V49.4C128.4 61.3 48 149.2 48 256c0 41.4 12.1 79.9 32.9 112.3zm319.8 37.1L280 306.6v156c46.7-5.4 88.7-26.2 120.7-57.2zm30.4-37.1C451.9 335.9 464 297.4 464 256c0-106.8-80.4-194.7-184-206.6V244.6L431.1 368.3zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPartyHorn = {\n prefix: 'far',\n iconName: 'party-horn',\n icon: [512, 512, [], \"e31b\", \"M32 32a32 32 0 1 1 64 0A32 32 0 1 1 32 32zM448 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM167 153c-9.4-9.4-9.4-24.6 0-33.9l8.3-8.3c16.7-16.7 27.2-38.6 29.8-62.1l3-27.4C209.6 8.2 221.5-1.3 234.7 .1s22.7 13.3 21.2 26.5l-3 27.4c-3.8 34.3-19.2 66.3-43.6 90.7L201 153c-9.4 9.4-24.6 9.4-33.9 0zM359 311l8.2-8.3c24.4-24.4 56.4-39.8 90.7-43.6l27.4-3c13.2-1.5 25 8 26.5 21.2s-8 25-21.2 26.5l-27.4 3c-23.5 2.6-45.4 13.1-62.1 29.8L393 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM506.3 8.5c8.6 10.1 7.3 25.3-2.8 33.8l-10 8.5c-14.8 12.5-33.7 19.1-53 18.6c-16.6-.4-30.6 12.4-31.6 29l-1.8 30c-2.5 42.5-38.3 75.3-80.8 74.2c-7.6-.2-15 2.4-20.7 7.3l-10 8.5c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l10-8.5c14.8-12.5 33.7-19.1 53-18.6c16.6 .4 30.6-12.4 31.6-29l1.8-30c2.5-42.5 38.3-75.3 80.8-74.2c7.6 .2 15-2.4 20.7-7.3l10-8.5c10.1-8.6 25.3-7.3 33.8 2.8zM59.3 452.7l86.9-32.6L91.9 365.8 59.3 452.7zm200.1-75l-125-125-23.9 63.8 85.1 85.1 63.8-23.9zM98.1 212.6c8-21.4 36.4-27.6 52.6-11.4L310.9 361.3c16.2 16.2 10 44.6-11.4 52.6L43.3 510C18 519.4-7.4 494 2 468.8L98.1 212.6z\"]\n};\nvar faGears = {\n prefix: 'far',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M147.1 52.7l-6.5 23.5c-1.7 6.2-6.3 11.2-12.4 13.5c-10 3.7-19.1 9-27.2 15.7c-5 4.1-11.6 5.6-17.9 4l-23.6-6.2c-5 6.9-9.4 14.4-12.9 22.3l17.1 17.4c4.5 4.6 6.6 11.1 5.5 17.4c-.9 5.1-1.3 10.3-1.3 15.7s.5 10.6 1.3 15.7c1.1 6.4-.9 12.9-5.5 17.4L46.7 226.5c3.5 7.9 7.9 15.4 12.9 22.3l23.6-6.2c6.3-1.6 12.9-.1 17.9 4c8 6.7 17.2 12 27.2 15.7c6.1 2.2 10.7 7.2 12.4 13.5l6.5 23.5c4.2 .4 8.5 .7 12.9 .7s8.7-.2 12.9-.7l6.5-23.5c1.7-6.2 6.3-11.2 12.4-13.5c10-3.7 19.1-9 27.2-15.7c5-4.1 11.6-5.6 17.9-4l23.6 6.2c5-6.9 9.4-14.4 12.9-22.3l-17.1-17.4c-4.5-4.6-6.6-11.1-5.5-17.4c.9-5.1 1.3-10.3 1.3-15.7s-.5-10.6-1.3-15.7c-1.1-6.4 .9-12.9 5.5-17.4l17.1-17.4c-3.5-7.9-7.9-15.4-12.9-22.3l-23.6 6.2c-6.3 1.6-12.9 .1-17.9-4c-8-6.7-17.2-12-27.2-15.7c-6.1-2.2-10.7-7.2-12.4-13.5l-6.5-23.5c-4.2-.4-8.5-.7-12.9-.7s-8.7 .2-12.9 .7zM127.3 15.3C137.9 13.1 148.8 12 160 12s22.1 1.1 32.7 3.3c7.4 1.5 13.3 7 15.3 14.3l7.3 26.6c7.3 3.4 14.3 7.4 20.8 12l26.6-7c7.3-1.9 15 .4 20 6.1c14.4 16.3 25.7 35.5 32.8 56.7c2.4 7.1 .6 15-4.7 20.4L291.5 164c.4 4 .5 8 .5 12s-.2 8-.5 12l19.4 19.6c5.3 5.4 7.1 13.2 4.7 20.4c-7.1 21.2-18.3 40.4-32.8 56.7c-5 5.6-12.7 8-20 6.1l-26.6-7c-6.5 4.6-13.5 8.6-20.8 12L208 322.4c-2 7.3-7.9 12.8-15.3 14.3c-10.6 2.1-21.5 3.3-32.7 3.3s-22.1-1.1-32.7-3.3c-7.4-1.5-13.3-7-15.3-14.3l-7.3-26.6c-7.3-3.4-14.3-7.4-20.8-12l-26.6 7c-7.3 1.9-15-.4-20-6.1C22.8 268.4 11.5 249.2 4.4 228c-2.4-7.1-.6-15 4.7-20.4L28.5 188c-.4-4-.5-8-.5-12s.2-8 .5-12L9.2 144.4C3.9 139 2 131.1 4.4 124c7.1-21.2 18.3-40.4 32.8-56.7c5-5.6 12.7-8 20-6.1l26.6 7c6.5-4.6 13.5-8.6 20.8-12L112 29.6c2-7.3 7.9-12.8 15.3-14.3zM120 176a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM340.7 364.9l23.5 6.5c6.2 1.7 11.2 6.3 13.5 12.4c3.7 10 9 19.1 15.7 27.2c4.1 5 5.6 11.6 4 17.9l-6.2 23.6c6.9 5 14.4 9.4 22.3 12.9l17.4-17.1c4.6-4.5 11.1-6.6 17.4-5.5c5.1 .9 10.3 1.3 15.7 1.3s10.6-.5 15.7-1.3c6.4-1.1 12.9 .9 17.4 5.5l17.4 17.1c7.9-3.5 15.4-7.9 22.3-12.9l-6.2-23.6c-1.6-6.2-.1-12.9 4-17.9c6.7-8 12-17.2 15.7-27.2c2.2-6.1 7.2-10.7 13.5-12.4l23.5-6.5c.4-4.2 .7-8.5 .7-12.9s-.2-8.7-.7-12.9l-23.5-6.5c-6.2-1.7-11.2-6.3-13.5-12.4c-3.7-10-9-19.1-15.7-27.2c-4.1-5-5.6-11.6-4-17.9l6.2-23.6c-6.9-5-14.4-9.4-22.3-12.9l-17.4 17.1c-4.6 4.5-11.1 6.6-17.4 5.5c-5.1-.9-10.3-1.3-15.7-1.3s-10.6 .5-15.7 1.3c-6.4 1.1-12.9-.9-17.4-5.5l-17.4-17.1c-7.9 3.5-15.4 7.9-22.3 12.9l6.2 23.6c1.6 6.3 .1 12.9-4 17.9c-6.7 8-12 17.2-15.7 27.2c-2.2 6.1-7.2 10.7-13.5 12.4l-23.5 6.5c-.4 4.2-.7 8.5-.7 12.9s.2 8.7 .7 12.9zm-37.4 19.8c-2.1-10.6-3.3-21.5-3.3-32.7s1.1-22.1 3.3-32.7c1.5-7.4 7-13.3 14.3-15.3l26.6-7.3c3.4-7.3 7.4-14.3 12-20.8l-7-26.6c-1.9-7.3 .4-15 6.1-20c16.3-14.4 35.5-25.7 56.7-32.8c7.1-2.4 15-.6 20.4 4.7L452 220.5c4-.4 8-.5 12-.5s8 .2 12 .5l19.6-19.4c5.4-5.3 13.2-7.1 20.4-4.7c21.2 7.1 40.4 18.3 56.7 32.8c5.6 5 8 12.7 6.1 20l-7 26.6c4.6 6.5 8.6 13.5 12 20.8l26.6 7.3c7.3 2 12.8 7.9 14.3 15.3c2.1 10.6 3.3 21.5 3.3 32.7s-1.1 22.1-3.3 32.7c-1.5 7.4-7 13.3-14.3 15.3l-26.6 7.3c-3.4 7.3-7.4 14.3-12 20.8l7 26.6c1.9 7.3-.5 15-6.1 20c-16.3 14.4-35.5 25.7-56.7 32.8c-7.1 2.4-15 .6-20.4-4.7L476 483.5c-4 .4-8 .5-12 .5s-8-.2-12-.5l-19.6 19.4c-5.4 5.3-13.2 7.1-20.4 4.7c-21.2-7.1-40.4-18.3-56.7-32.8c-5.6-5-8-12.7-6.1-20l7-26.6c-4.6-6.5-8.6-13.5-12-20.8L317.6 400c-7.3-2-12.8-7.9-14.3-15.3zM464 392a40 40 0 1 1 0-80 40 40 0 1 1 0 80z\"]\n};\nvar faCogs = faGears;\nvar faSunBright = {\n prefix: 'far',\n iconName: 'sun-bright',\n icon: [512, 512, [\"sun-alt\"], \"e28f\", \"M280 24V88c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zm157 84.9l-45.3 45.3c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L403.1 75c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM108.9 75l45.3 45.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L75 108.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM24 232H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm400 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H424c-13.3 0-24-10.7-24-24s10.7-24 24-24zM154.2 391.8L108.9 437c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l45.3-45.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm237.6-33.9L437 403.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-45.3-45.3c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM280 424v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V424c0-13.3 10.7-24 24-24s24 10.7 24 24zm40-168a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-176 0a112 112 0 1 1 224 0 112 112 0 1 1 -224 0z\"]\n};\nvar faSunAlt = faSunBright;\nvar faWarehouse = {\n prefix: 'far',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 328v48H496V328H144zm0 136H496V424H144v40zm-23.7 48c-.1 0-.2 0-.3 0c-13.3 0-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24c-.1 0-.2 0-.3 0H120.3zM144 280H496V240H144v40z\"]\n};\nvar faConveyorBeltArm = {\n prefix: 'far',\n iconName: 'conveyor-belt-arm',\n icon: [640, 512, [], \"e5f8\", \"M152 0H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H259l-4.5 26.9c6 5 10.8 11.4 13.9 18.8l198.8 26.5c13.1 1.8 22.4 13.8 20.6 27c-.8 5.9-3.7 11-7.8 14.7V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V166.1L262 141.3c-8.8 11.4-22.6 18.7-38 18.7c-26.5 0-48-21.5-48-48c0-20.6 13-38.1 31.2-45l3.2-19H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm88 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24h16c61.9 0 112 50.1 112 112s-50.1 112-112 112H112C50.1 512 0 461.9 0 400c0-56.4 41.7-103.1 96-110.9V264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24h64V264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24h64V264zM112 336c-35.3 0-64 28.7-64 64s28.7 64 64 64H528c35.3 0 64-28.7 64-64s-28.7-64-64-64H488 440 328 280 168 120h-8zm16 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLockKeyholeOpen = {\n prefix: 'far',\n iconName: 'lock-keyhole-open',\n icon: [576, 512, [\"lock-open-alt\"], \"f3c2\", \"M432 48c-44.2 0-80 35.8-80 80v64h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H304V128C304 57.3 361.3 0 432 0s128 57.3 128 128v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V128c0-44.2-35.8-80-80-80zM384 240H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16zM256 376H192c-13.3 0-24-10.7-24-24s10.7-24 24-24h64c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faLockOpenAlt = faLockKeyholeOpen;\nvar faSquareFragile = {\n prefix: 'far',\n iconName: 'square-fragile',\n icon: [448, 512, [\"box-fragile\", \"square-wine-glass-crack\"], \"f49b\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 38.3c0-12.3 10-22.3 22.3-22.3H176l32 64-32 32 80 64-32-64 48-32-32-64h57.7c12.3 0 22.3 10 22.3 22.3V224c0 47.6-34.6 87.1-80 94.7V368h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V318.7c-45.4-7.6-80-47.1-80-94.7V134.3z\"]\n};\nvar faBoxFragile = faSquareFragile;\nvar faSquareWineGlassCrack = faSquareFragile;\nvar faArrowUpRightDots = {\n prefix: 'far',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M128 24c0 13.3 10.7 24 24 24h86.1L7 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l231-231V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24zM576 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM448 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm128 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM576 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSquareN = {\n prefix: 'far',\n iconName: 'square-n',\n icon: [448, 512, [], \"e277\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm154.3 40.5L288 294.5V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.1-6.3 19.1-15.7 22.5s-20.1 .7-26.6-7L160 217.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.1 6.3-19.1 15.7-22.5s20.1-.7 26.6 7z\"]\n};\nvar faSplotch = {\n prefix: 'far',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M187.7 400.2L84.9 409.5c-11.2 1-20.9-7.8-20.9-19.1c0-4.2 1.3-8.2 3.8-11.5l18.8-25c16.7-22.3 25.4-49.5 24.8-77.3c-.5-23.1-7.5-45.7-20.2-65L50.6 149.7c-1.7-2.6-2.6-5.7-2.6-8.8c0-10.1 9.1-17.7 19-15.9l42.8 7.8c52.6 9.6 106.3-9.9 140.6-51l22.3-26.8c3.7-4.4 9.1-6.9 14.8-6.9c8.3 0 15.7 5.3 18.3 13.2l15 45.1c15.7 47.2 51.9 84.7 98.5 102.2l32.3 12.1c7.4 2.8 12.4 9.9 12.4 17.8c0 6-2.8 11.6-7.6 15.2l-62 46.5c-37.9 28.4-57.9 74.7-52.7 121.8l2.5 22.7c1.1 10.3-6.9 19.3-17.3 19.3c-3.9 0-7.8-1.3-10.9-3.8L279 430.5c-24.7-19.8-55.4-30.5-87-30.5c-1.5 0-2.9 .1-4.3 .2zM51 237.8c7.8 11.9 12.1 25.7 12.4 39.8c.4 17-4.9 33.7-15.2 47.4l-18.8 25C20.7 361.7 16 375.9 16 390.4c0 39.5 33.9 70.5 73.3 66.9L192 448c20.7 0 40.8 7 57 20l37.1 29.7c11.6 9.3 26 14.3 40.8 14.3c39 0 69.3-33.9 65-72.6l-2.5-22.7c-3.4-30.2 9.5-59.9 33.8-78.1l62-46.5c16.9-12.7 26.8-32.5 26.8-53.6c0-28-17.3-53-43.5-62.8l-32.3-12.1c-33-12.4-58.7-39-69.8-72.4L351.3 46c-9.2-27.5-34.9-46-63.8-46c-20 0-38.9 8.9-51.7 24.2L213.5 51C190.3 78.8 154 92 118.4 85.5L75.6 77.7C36.2 70.6 0 100.8 0 140.9c0 12.5 3.6 24.7 10.5 35.1L51 237.8z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'far',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM215.3 137.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm122.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faMeter = {\n prefix: 'far',\n iconName: 'meter',\n icon: [512, 512, [], \"e1e8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM192 152v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faMandolin = {\n prefix: 'far',\n iconName: 'mandolin',\n icon: [512, 512, [], \"f6f9\", \"M435.3 3.6C444.8-2.3 457.1-.9 465 7l40 40c7.9 7.9 9.3 20.2 3.4 29.7l-40 64c-3.2 5.1-8.2 8.8-14 10.4l-81.8 22.3-50.6 50.6C324.6 305.1 317.5 512 176 512C78.8 512 0 433.2 0 336C0 194.5 206.9 187.4 287.9 190.1l50.6-50.6 22.3-81.9c1.6-5.8 5.3-10.8 10.4-14l64-40zm-246.8 286l51.5-51.5c-22.3 .8-47.1 2.8-71.6 7.1c-36.9 6.5-68.6 17.3-90.1 32.8C58.9 292.1 48 309.4 48 336c0 70.7 57.3 128 128 128c26.6 0 43.9-10.9 57.9-30.2c15.6-21.5 26.4-53.2 32.8-90.1c4.3-24.5 6.3-49.3 7.1-71.6l-51.5 51.5c1.1 4 1.6 8.1 1.6 12.4c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c4.3 0 8.5 .6 12.4 1.6z\"]\n};\nvar faDiceFour = {\n prefix: 'far',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSimCard = {\n prefix: 'far',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M48 64V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V154.5c0-4.2-1.7-8.3-4.7-11.3L240.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16zM0 448V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM128 240h16v80H80V288c0-26.5 21.5-48 48-48zM80 384V352h80 48v80H128c-26.5 0-48-21.5-48-48zm176 48H240V352h64v32c0 26.5-21.5 48-48 48zm48-144v32H224 176V240h80c26.5 0 48 21.5 48 48z\"]\n};\nvar faTransgender = {\n prefix: 'far',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M128 24c0-13.3-10.7-24-24-24H24C10.7 0 0 10.7 0 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9L78.1 112l-7 7c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 15.2 15.2C107.6 187.7 96 220.5 96 256c0 80.2 59 146.6 136 158.2V432H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V414.2c77-11.6 136-78 136-158.2c0-35.5-11.6-68.3-31.2-94.9L464 81.9V104c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1l-79.2 79.2C324.3 107.6 291.5 96 256 96s-68.3 11.6-94.9 31.2L145.9 112l7-7c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-7 7L81.9 48H104c13.3 0 24-10.7 24-24zM256 368c-61.9 0-112-50.1-112-112c0-29.8 11.7-56.9 30.7-77c.8-.6 1.6-1.3 2.3-2s1.4-1.5 2-2.3c20.1-19 47.2-30.7 77-30.7s56.9 11.7 77 30.7c.6 .8 1.3 1.6 2 2.3s1.5 1.4 2.3 2c19 20.1 30.7 47.2 30.7 77c0 61.9-50.1 112-112 112z\"]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'far',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M73 5.3C83.3-3 98.4-1.4 106.7 9c18.5 23.1 51.4 38.9 84.9 39l.3 0 .3 0c33.5-.1 66.4-15.9 84.9-39C285.6-1.4 300.7-3 311 5.3s12 23.4 3.7 33.7c-9.9 12.4-22.2 23.1-36 31.8C332 101.1 368 158.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-65.7 36-122.9 89.3-153.2C91.5 62.1 79.2 51.4 69.3 39C61 28.7 62.6 13.6 73 5.3zM192 96l-.3 0C121.1 96.2 64 153.4 64 224c0 70.7 57.3 128 128 128s128-57.3 128-128c0-70.6-57.1-127.8-127.7-128l-.3 0z\"]\n};\nvar faUpFromBracket = {\n prefix: 'far',\n iconName: 'up-from-bracket',\n icon: [448, 512, [], \"e590\", \"M114.2 160L224 50 333.8 160H280c-13.3 0-24 10.7-24 24l0 120-64 0V184c0-13.3-10.7-24-24-24l-53.8 0zM224 0c-11.5 0-22.5 4.6-30.6 12.7L77.6 128.8C68.9 137.5 64 149.3 64 161.6c0 25.6 20.8 46.4 46.4 46.4l33.6 0v96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96h33.6c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 12.7C246.5 4.6 235.5 0 224 0zM48 344c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 48.6 39.4 88 88 88l272 0c48.6 0 88-39.4 88-88V344c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 22.1-17.9 40-40 40L88 464c-22.1 0-40-17.9-40-40l0-80z\"]\n};\nvar faKnifeKitchen = {\n prefix: 'far',\n iconName: 'knife-kitchen',\n icon: [576, 512, [128298], \"f6f5\", \"M488 0c-9.4 0-18.3 3.7-25 10.3L284.6 188.7l11.3 11.3L400.3 304.4l31-17.2c15.2-8.5 24.7-24.5 24.7-42V213.3c0-4.2 1.7-8.3 4.7-11.3l97-97c6.6-6.6 10.3-15.6 10.3-25s-3.7-18.3-10.3-25L513 10.3C506.3 3.7 497.4 0 488 0zM432 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM4.7 468.7c-8.4 8.4-4.7 22.9 6.5 26.6C43.4 505.7 78.1 512 112 512c123.3 0 209.4-62.8 287.3-140.7c6.2-6.2 6.2-16.4 0-22.6l-23-23-33.9 33.9C275 422.2 205.5 464 112 464c-10.7 0-21.6-.8-32.6-2.2L262 279.3l33.9-33.9L262 211.4l-33.9 33.9L4.7 468.7z\"]\n};\nvar faBorderRight = {\n prefix: 'far',\n iconName: 'border-right',\n icon: [448, 512, [], \"f852\", \"M424 32c13.3 0 24 10.7 24 24l0 400c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-400c0-13.3 10.7-24 24-24zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192-32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowTurnDown = {\n prefix: 'far',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M24 48C10.7 48 0 37.3 0 24S10.7 0 24 0L128 0c48.6 0 88 39.4 88 88l0 342.1 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L209 505c-9.4 9.4-24.6 9.4-33.9 0L47 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87L168 88c0-22.1-17.9-40-40-40L24 48z\"]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faSpade = {\n prefix: 'far',\n iconName: 'spade',\n icon: [512, 512, [9824], \"f2f4\", \"M437.7 242.9l0 0L256.4 55 74.2 242.9l0 0c-37 38.4-34.9 102.3 6.7 138l0 0 .3 .2c32 27.9 86 25.1 120.8-10.2l19.7-20.7c9.2-9.7 22-15.1 35.4-14.9s26 5.9 35 15.8l18.3 20.2c34.3 34.4 87.3 38 121.7 9.5c40.6-35.7 42.6-99.6 5.7-138zM233.5 9.7c12-13 33-13 45.9 0L472.2 209.5c55.9 57.9 52.9 153.8-9 207.8c-50.7 42.6-122.8 39.2-173 .2c-3.5-2.7-6.9-5.6-10.2-8.7V464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V408.7c-3.1 2.9-6.4 5.7-9.8 8.4c-50.4 39.4-123.4 43-172.5 .3c-62.9-53.9-65.9-149.8-10-207.8L233.5 9.7z\"]\n};\nvar faCardSpade = {\n prefix: 'far',\n iconName: 'card-spade',\n icon: [384, 512, [], \"e3ec\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm175 77.2c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6 59.7 59.7c21.9 21.9 21.9 57.3 0 79.2s-57.3 21.9-79.2 0l-3.2-3.2c-.3-.3-.6-.6-1-.9V336h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V298.6c-.3 .3-.7 .6-1 .9l-3.2 3.2c-21.9 21.9-57.3 21.9-79.2 0s-21.9-57.3 0-79.2l59.7-59.7L175 141.2z\"]\n};\nvar faLineColumns = {\n prefix: 'far',\n iconName: 'line-columns',\n icon: [512, 512, [], \"f870\", \"M24 40H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 88 0 77.3 0 64S10.7 40 24 40zm0 128H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 320c0-13.3 10.7-24 24-24H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM24 424H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM288 192c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24zM312 40H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zM288 320c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24zm24 104H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faArrowRightToLine = {\n prefix: 'far',\n iconName: 'arrow-right-to-line',\n icon: [448, 512, [8677, \"arrow-to-right\"], \"f340\", \"M448 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 336c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336zM312.4 273.5c4.8-4.5 7.6-10.9 7.6-17.5s-2.7-12.9-7.6-17.5l-136-128c-9.7-9.1-24.8-8.6-33.9 1s-8.6 24.8 1 33.9L235.5 232 152 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l128 0 83.5 0-91.9 86.5c-9.7 9.1-10.1 24.3-1 33.9s24.3 10.1 33.9 1l136-128z\"]\n};\nvar faArrowToRight = faArrowRightToLine;\nvar faPersonFallingBurst = {\n prefix: 'far',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M232 0c13.3 0 24 10.7 24 24l0 10.4c0 56.5-30.1 107.8-77.5 135.8L236.7 256l74.9 0c13.1 0 25.3 6.4 32.8 17.1l51.2 73.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L307.5 304l-49.6 0c-1.3 1.5-2.9 2.8-4.6 4l-53.9 36 84.8 131c7.2 11.1 4 26-7.1 33.2s-26 4-33.2-7.1L84.4 254.7C81.5 264.6 80 275 80 285.6L80 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V285.6c0-66.3 41.5-125.5 103.8-148.2c43.3-15.8 72.2-57 72.2-103.1V24c0-13.3 10.7-24 24-24zM173.3 303.6l26-17.3-64.8-95.5c-8.4 4.9-16.1 10.9-22.8 17.7l61.6 95.2zM0 80a48 48 0 1 1 96 0A48 48 0 1 1 0 80zM464 302.3l-33.3 24.5c-.7-1.2-1.5-2.3-2.3-3.4l-51.2-73.2c-15-21.4-39.4-34.1-65.5-34.1l-19.8 0c.5-6.2 3.4-12.1 8.2-16.3l48.6-42L323.1 98.8c-3.5-8.1-2.3-17.6 3.3-24.5s14.5-10.3 23.2-8.6l63.1 11.8 30.1-56.7C447 12.9 455.1 8 464 8s17 4.9 21.2 12.7l30.1 56.7 63.1-11.8c8.7-1.6 17.6 1.7 23.2 8.6s6.8 16.4 3.3 24.5l-25.6 58.9 48.6 42c6.7 5.8 9.7 14.8 7.7 23.5s-8.6 15.5-17.1 17.8l-62 16.7-2.5 64.2c-.3 8.9-5.6 16.8-13.6 20.7s-17.5 3-24.6-2.3l-51.7-38zm0-219.1l-17.2 32.4c-4.9 9.3-15.3 14.3-25.6 12.3l-36-6.7 14.6 33.6c4.2 9.6 1.6 20.9-6.3 27.7l-27.7 24 35.4 9.6c10.1 2.7 17.3 11.7 17.7 22.2l1.4 36.6 29.5-21.7c8.5-6.2 20-6.2 28.4 0l29.5 21.7 1.4-36.6c.4-10.5 7.6-19.5 17.7-22.2l35.4-9.6-27.7-24c-7.9-6.9-10.5-18.1-6.3-27.7l14.6-33.6-36 6.7c-10.3 1.9-20.7-3.1-25.6-12.3L464 83.2z\"]\n};\nvar faFlagPennant = {\n prefix: 'far',\n iconName: 'flag-pennant',\n icon: [448, 512, [128681, \"pennant\"], \"f456\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24v8V80 304v48V488c0 13.3 10.7 24 24 24s24-10.7 24-24V350.9L432.9 213.4c9-3.2 15.1-11.8 15.1-21.4s-6-18.2-15.1-21.4L48 33.1V24zm0 60.1L350.1 192 48 299.9V84.1z\"]\n};\nvar faPennant = faFlagPennant;\nvar faConveyorBeltEmpty = {\n prefix: 'far',\n iconName: 'conveyor-belt-empty',\n icon: [640, 512, [], \"e150\", \"M112 336c-35.3 0-64 28.7-64 64s28.7 64 64 64H528c35.3 0 64-28.7 64-64s-28.7-64-64-64H112zM0 400c0-61.9 50.1-112 112-112H528c61.9 0 112 50.1 112 112s-50.1 112-112 112H112C50.1 512 0 461.9 0 400zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserGroupSimple = {\n prefix: 'far',\n iconName: 'user-group-simple',\n icon: [640, 512, [], \"e603\", \"M104 136a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm160 0A104 104 0 1 0 56 136a104 104 0 1 0 208 0zm216 88a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM128 336h64c44.2 0 80 35.8 80 80v16H48l0-16c0-44.2 35.8-80 80-80zm0-48C57.3 288 0 345.3 0 416v16c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V416c0-70.7-57.3-128-128-128H128zM448 480h64c70.7 0 128-57.3 128-128V336c0-26.5-21.5-48-48-48H368c-21.8 0-40.3 14.6-46.1 34.6C340.8 348.9 352 381.1 352 416v16c0 1.5 0 3-.1 4.5C375.3 463.2 409.7 480 448 480z\"]\n};\nvar faAward = {\n prefix: 'far',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M163.1 8.1c17.7-10.8 40-10.8 57.8 0l15.6 9.5c1.2 .7 2.7 1.1 4.1 1.1l18.3-.4c20.8-.5 40.1 10.7 50 28.9l8.8 16.1c.7 1.3 1.7 2.3 3 3L336.8 75c18.2 10 29.4 29.3 28.9 50l-.4 18.3c0 1.4 .3 2.9 1.1 4.1l9.5 15.6c10.8 17.7 10.8 40 0 57.8l-9.5 15.6c-.7 1.2-1.1 2.7-1.1 4.1l.4 18.3c.5 20.8-10.7 40.1-28.9 50l-16.1 8.8c-1.3 .7-2.3 1.7-3 3L309 336.8c-10 18.2-29.3 29.4-50 28.9l-18.3-.4c-1.4 0-2.9 .3-4.1 1.1l-15.6 9.5c-17.7 10.8-40 10.8-57.8 0l-15.6-9.5c-1.2-.7-2.7-1.1-4.1-1.1l-18.3 .4c-20.8 .5-40.1-10.7-50-28.9l-8.8-16.1c-.7-1.3-1.7-2.3-3-3L47.2 309c-18.2-10-29.4-29.3-28.9-50l.4-18.3c0-1.4-.3-2.9-1.1-4.1L8.1 220.9c-10.8-17.7-10.8-40 0-57.8l9.5-15.6c.7-1.2 1.1-2.7 1.1-4.1l-.4-18.3C17.8 104.3 29 85 47.2 75l16.1-8.8c1.3-.7 2.3-1.7 3-3L75 47.2c10-18.2 29.3-29.4 50-28.9l18.3 .4c1.4 0 2.9-.3 4.1-1.1l15.6-9.5zm32.8 41c-2.4-1.5-5.4-1.5-7.8 0l-15.6 9.5c-9.1 5.5-19.6 8.3-30.2 8.1l-18.3-.4c-2.8-.1-5.4 1.4-6.8 3.9l-8.8 16.1c-5.1 9.3-12.8 17-22.1 22.1l-16.1 8.8c-2.5 1.4-4 4-3.9 6.8l.4 18.3c.3 10.6-2.6 21.1-8.1 30.2l-9.5 15.6L28.6 175.6l20.5 12.5c-1.5 2.4-1.5 5.4 0 7.8l9.5 15.6c5.5 9.1 8.3 19.6 8.1 30.2l-.4 18.3c-.1 2.8 1.4 5.4 3.9 6.8l16.1 8.8c9.3 5.1 17 12.8 22.1 22.1l8.8 16.1c1.4 2.5 4 4 6.8 3.9l18.3-.4c10.6-.3 21.1 2.6 30.2 8.1l15.6 9.5c2.4 1.5 5.4 1.5 7.8 0l15.6-9.5c9.1-5.5 19.6-8.3 30.2-8.1l18.3 .4c2.8 .1 5.4-1.4 6.8-3.9l8.8-16.1c5.1-9.3 12.8-17 22.1-22.1l16.1-8.8c2.5-1.4 4-4 3.9-6.8l-.4-18.3c-.3-10.6 2.6-21.1 8.1-30.2l9.5-15.6c1.5-2.4 1.5-5.4 0-7.8l-9.5-15.6c-5.5-9.1-8.3-19.6-8.1-30.2l.4-18.3c.1-2.8-1.4-5.4-3.9-6.8l-16.1-8.8c-9.3-5.1-17-12.8-22.1-22.1l-8.8-16.1c-1.4-2.5-4-4-6.8-3.9l-18.3 .4c-10.6 .3-21.1-2.6-30.2-8.1l-15.6-9.5zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM1.3 441.8l41.2-97.9 4.5 8.2c15.7 28.7 46.1 46.3 78.9 45.5l11.1-.3 9.5 5.8c8 4.9 16.7 8.4 25.6 10.5l-37.3 88.5c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L212 413.7c8.9-2.1 17.5-5.6 25.5-10.5l9.5-5.8 11.1 .3c32.7 .8 63.2-16.8 78.9-45.5l4.5-8.2 41.2 97.9c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nvar faTicketSimple = {\n prefix: 'far',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M552 188.1l8 22.6c9.6-3.4 16-12.5 16-22.6H552zm0 135.8h24c0-10.2-6.4-19.2-16-22.6l-8 22.6zm-528 0l-8-22.6c-9.6 3.4-16 12.5-16 22.6H24zm0-135.8H0c0 10.2 6.4 19.2 16 22.6l8-22.6zM64 64C28.7 64 0 92.7 0 128H48c0-8.8 7.2-16 16-16V64zm448 0H64v48H512V64zm64 64c0-35.3-28.7-64-64-64v48c8.8 0 16 7.2 16 16h48zm0 60.1V128H528v60.1h48zM528 256c0-20.9 13.3-38.7 32-45.3l-16-45.3c-37.3 13.2-64 48.7-64 90.5h48zm32 45.3c-18.7-6.6-32-24.4-32-45.3H480c0 41.8 26.7 77.4 64 90.5l16-45.3zM576 384V323.9H528V384h48zm-64 64c35.3 0 64-28.7 64-64H528c0 8.8-7.2 16-16 16v48zM64 448H512V400H64v48zM0 384c0 35.3 28.7 64 64 64V400c-8.8 0-16-7.2-16-16H0zm0-60.1V384H48V323.9H0zM48 256c0 20.9-13.3 38.7-32 45.3l16 45.3c37.3-13.2 64-48.7 64-90.5H48zM16 210.7c18.7 6.6 32 24.4 32 45.3H96c0-41.8-26.7-77.4-64-90.5L16 210.7zM0 128v60.1H48V128H0z\"]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm88 40c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V104zM232 88h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V232zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16z\"]\n};\nvar faAnglesLeft = {\n prefix: 'far',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M47 239c-9.4 9.4-9.4 24.6 0 33.9L207 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97.9 256 241 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L47 239zM399 79L239 239c-9.4 9.4-9.4 24.6 0 33.9L399 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-143-143L433 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faCamcorder = {\n prefix: 'far',\n iconName: 'camcorder',\n icon: [576, 512, [128249, \"video-handheld\"], \"f8a8\", \"M96 120c0-22.1 17.9-40 40-40H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88 39.4-88 88v42c-27.6 7.1-48 32.2-48 62V416c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V399 241 224c0-35.3-28.7-64-64-64H96V120zM64 208H320c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zM520.3 460.5c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-209c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 226.4V279l112-50.4V411.4L416 361v52.6l104.3 46.9zM80 264c0 13.3 10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H104c-13.3 0-24 10.7-24 24z\"]\n};\nvar faVideoHandheld = faCamcorder;\nvar faPancakes = {\n prefix: 'far',\n iconName: 'pancakes',\n icon: [512, 512, [129374], \"e42d\", \"M256 192c0-17.7 14.3-31.9 32-32.6c108.6-4.4 192-31.1 192-63.4c0-35.3-100.3-64-224-64S32 60.7 32 96c0 13.8 15.3 26.6 41.3 37C86.5 138.3 96 150.6 96 164.8V264c0 13.3 10.7 24 24 24s24-10.7 24-24V187.3c0-18.8 15.8-33.2 34.4-31.2c16 1.7 29.6 15 29.6 31V216c0 13.3 10.7 24 24 24s24-10.7 24-24V192zM192 80c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zM64 163.8c-12.1-4.7-23.1-10.1-32.3-16.3c-9.1-6.2-19.6-15.3-26-27.8C2 127.1 0 135.2 0 144c0 15.3 6 28.6 16.9 40C6 195.4 0 208.7 0 224s6 28.6 16.9 40C6 275.4 0 288.7 0 304s6 28.6 16.9 40C6 355.4 0 368.7 0 384c0 66.7 114.6 96 256 96s256-29.3 256-96c0-15.3-6-28.6-16.9-40C506 332.6 512 319.3 512 304s-6-28.6-16.9-40C506 252.6 512 239.3 512 224s-6-28.6-16.9-40C506 172.6 512 159.3 512 144c0-8.8-2-16.9-5.7-24.3c-6.3 12.4-16.9 21.6-26 27.8C465 157.7 445 165.8 423.2 172c-8.2 2.3-17 4.5-26.2 6.5c-29.9 7.1-67 11.5-109 12.9V216c0 8.4-1.9 16.5-5.2 23.6c68.3-1.9 128.5-11.1 170.1-28.6c2.5 1.7 4.5 3.3 6.2 4.9c4.9 4.6 4.9 6.9 4.9 8l0 .1 0 .1c0 1.2 0 3.4-4.9 8c-6.1 5.7-17.8 12.8-37.4 19.4C382.4 264.8 324.4 272 256 272c-6.5 0-13-.1-19.3-.2c-1.6 .1-3.1 .2-4.7 .2c-2.7 0-5.3-.2-7.8-.5c-17-.6-33.1-1.7-48.3-3.2c-1.5 19.4-12.8 36-29 44.9C180 317.8 217 320 256 320c79.2 0 150-9.2 196.9-29c2.5 1.7 4.5 3.3 6.2 4.9c4.9 4.6 4.9 6.9 4.9 8l0 .1 0 .1c0 1.2 0 3.4-4.9 8c-6.1 5.7-17.8 12.8-37.4 19.4C382.4 344.8 324.4 352 256 352s-126.4-7.2-165.6-20.4c-19.7-6.6-31.4-13.7-37.4-19.4c-4.9-4.6-4.9-6.9-4.9-8l0-.1 0-.1c0-1.2 0-3.4 4.9-8c1.6-1.5 3.7-3.2 6.2-4.9c4.9 2.1 10.2 4.1 15.6 5.9C68 287.7 64 276.3 64 264V240.1c-4.8-2.8-8.5-5.5-11.1-7.9c-4.9-4.6-4.9-6.9-4.9-8l0-.1 0-.1c0-1.2 0-3.4 4.9-8c1.6-1.5 3.7-3.2 6.2-4.9c1.6 .7 3.2 1.3 4.9 2V163.8zM59.1 371c47 19.8 117.7 29 196.9 29s150-9.2 196.9-29c2.5 1.7 4.5 3.3 6.2 4.9c4.9 4.6 4.9 6.9 4.9 8l0 .1 0 .1c0 1.2 0 3.4-4.9 8c-6.1 5.7-17.8 12.8-37.4 19.4C382.4 424.8 324.4 432 256 432s-126.4-7.2-165.6-20.4c-19.7-6.6-31.4-13.8-37.4-19.4c-4.9-4.6-4.9-6.9-4.9-8l0-.1 0-.1c0-1.2 0-3.4 4.9-8c1.6-1.5 3.7-3.2 6.2-4.9z\"]\n};\nvar faAlbumCircleUser = {\n prefix: 'far',\n iconName: 'album-circle-user',\n icon: [576, 512, [], \"e48d\", \"M64 80H384c8.8 0 16 7.2 16 16v98.9c10.4-1.9 21.1-2.9 32-2.9c5.4 0 10.7 .2 16 .7V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm160 32c-79.5 0-144 64.5-144 144s64.5 144 144 144c11.8 0 23.2-1.4 34.2-4.1c-1.4-9.1-2.2-18.4-2.2-27.9c0-71.4 42.5-132.9 103.6-160.5C339.7 151.8 286.5 112 224 112zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-66.3 80.7C489.5 468.1 462.2 480 432 480s-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7zM384 336a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faQrcode = {\n prefix: 'far',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M144 80v96H48V80h96zM48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm96 304v96H48V336h96zM48 288c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zM304 80h96v96H304V80zm-48 0v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zM72 120v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H88c-8.8 0-16 7.2-16 16zM88 360c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V376c0-8.8-7.2-16-16-16H88zM328 120v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H344c-8.8 0-16 7.2-16 16zM256 304V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8 7.2-16 16-16s16 7.2 16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16s-16 7.2-16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM368 448a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faDiceD10 = {\n prefix: 'far',\n iconName: 'dice-d10',\n icon: [512, 512, [], \"f6cd\", \"M256 0c6.9 0 13.5 3 18 8.2l232 264c4.2 4.8 6.4 11.1 5.9 17.5s-3.4 12.3-8.3 16.5l-232 200c-9 7.8-22.3 7.8-31.3 0l-232-200C3.5 302 .5 296 .1 289.7S1.7 277 6 272.2L238 8.2C242.5 3 249.1 0 256 0zM91.6 247.4l50.9-12 36-86.9L91.6 247.4zM256 86.8L189.7 247 256 291.2 322.3 247 256 86.8zm100.6 195L280 332.8V435.6l156.7-135-80-18.8zm63.8-34.3l-86.9-98.9 36 86.9 50.9 12zM232 435.6V332.8l-76.6-51.1-80 18.8L232 435.6z\"]\n};\nvar faFireplace = {\n prefix: 'far',\n iconName: 'fireplace',\n icon: [640, 512, [], \"f79a\", \"M48 48H592V80H48V48zM32 0C14.3 0 0 14.3 0 32V96c0 17.7 14.3 32 32 32l0 360c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V368c0-88.4 71.6-160 160-160s160 71.6 160 160V488c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V128c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM80 464V128H560V464H528V368c0-114.9-93.1-208-208-208s-208 93.1-208 208v96H80zM300.6 258.7c-2-1.8-4.6-2.7-7.1-2.7c-2.6 0-5.2 .9-7.3 2.7c-24.2 21.6-44.7 46.1-59.2 69.7c-14.3 23.2-23.6 48.2-23.6 67.4c0 63.8 51.1 116.3 116.4 116.3c64.5 0 116.4-52.4 116.4-116.3c0-14.7-7-37-17.6-57.4c-10.7-20.7-25.9-42.5-43.9-59c-4.1-3.7-10.4-3.8-14.5 0c-7 6.4-13.5 14.3-19.2 21.5c-12.6-15.1-26-29-40.4-42zm55.6 195.8c-10.9 7.3-22.5 10.9-35.6 10.9c-32.7 0-58.9-21.1-58.9-56.7c0-17.5 10.9-32.7 32.7-59.6c2.9 3.6 45.1 57.5 45.1 57.5L365.7 376c2.2 2.9 3.6 5.8 5.1 8.7c13.1 24 7.3 54.5-14.5 69.8z\"]\n};\nvar faBrowser = {\n prefix: 'far',\n iconName: 'browser',\n icon: [512, 512, [128468], \"f37e\", \"M.3 89.5C.1 91.6 0 93.8 0 96v64V416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V160 96c0-35.3-28.7-64-64-64H64c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 160H464l0 256c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-256z\"]\n};\nvar faPenPaintbrush = {\n prefix: 'far',\n iconName: 'pen-paintbrush',\n icon: [576, 512, [\"pencil-paintbrush\"], \"f618\", \"M68.4 360.9L45.4 439 33 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1L105 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8L524.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L485.3 19.3c-25-25-65.5-25-90.5 0L90.6 323.5c-10.4 10.4-18 23.3-22.2 37.4zm46 13.5c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8L353 129 415 191 186.6 419.5c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9L91.4 452.6l16.1-54.8 6.9-23.4zm170.2 71.4C304.4 485.1 345 512 391.9 512h152c17.7 0 32-14.3 32-32s-14.3-32-32-32h-6c-18.1 0-30.1-19.8-27.4-37.6c.9-6 1.4-12.1 1.4-18.4c0-46.9-26.9-87.5-66.1-107.3l-37.2 37.2c31.7 7.5 55.3 36 55.3 70.1c0 3.8-.3 7.5-.8 11.1c-3.3 21.4 2.2 43.1 13.8 60l.7 .9H391.9c-34 0-62.5-23.6-70.1-55.3l-37.2 37.2zM136 24C105.1-6.9 54.9-6.9 24 24S-6.9 105.1 24 136l98.7 98.7 33.9-33.9L57.9 102.1c-12.2-12.2-12.2-31.9 0-44.1s31.9-12.2 44.1 0l98.7 98.7 33.9-33.9L136 24z\"]\n};\nvar faPencilPaintbrush = faPenPaintbrush;\nvar faFishCooked = {\n prefix: 'far',\n iconName: 'fish-cooked',\n icon: [576, 512, [], \"f7fe\", \"M149.3 203.9c19.8-22.8 47.5-46.1 78.2-63.6C258.4 122.8 290.7 112 320 112c44.8 0 97.6 25.1 140.5 58.9c21.1 16.6 38.7 34.5 50.7 50.7C524 238.8 528 250.7 528 256s-4 17.2-16.8 34.4c-12.1 16.2-29.6 34.1-50.7 50.7C417.6 374.9 364.8 400 320 400c-29.3 0-61.6-10.8-92.5-28.4c-30.7-17.5-58.4-40.8-78.2-63.6c-8-9.2-21.7-10.9-31.7-4L60 343.6l17.6-74.8c2-8.4 2-17.2 0-25.7L60 168.4 117.6 208c10.1 6.9 23.7 5.2 31.7-4zM320 64c-40.4 0-81 14.5-116.3 34.6c-28.5 16.2-54.7 36.7-76 58.1L46.9 101.1C42 97.8 36.3 96 30.4 96C11.7 96-2.2 113.5 2.1 131.7L30.9 254.2c.3 1.2 .3 2.5 0 3.7L2.1 380.3C-2.2 398.5 11.7 416 30.4 416c5.9 0 11.6-1.8 16.5-5.1l80.9-55.6c21.3 21.3 47.5 41.8 76 58.1C239 433.5 279.6 448 320 448c60.2 0 123.4-32.2 170.2-69.1c23.8-18.7 44.5-39.5 59.6-59.8C564.1 299.8 576 277.4 576 256s-11.9-43.8-26.2-63.1c-15-20.3-35.8-41.1-59.6-59.8C443.4 96.2 380.2 64 320 64zm-4.7 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zm112 16c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160zm16 112c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64z\"]\n};\nvar faChairOffice = {\n prefix: 'far',\n iconName: 'chair-office',\n icon: [448, 512, [], \"f6c1\", \"M288 48c8.8 0 16 7.2 16 16V224h48V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V224h48V64c0-8.8 7.2-16 16-16H288zM64 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm368 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM248 400H370.5c25.2 0 45.5-20.4 45.5-45.5c0-5.5-1-10.9-2.9-16l-19.2-51.3c-7-18.7-24.9-31.1-44.9-31.1H99.1c-20 0-37.9 12.4-44.9 31.1L34.9 338.5C33 343.6 32 349 32 354.5C32 379.6 52.4 400 77.5 400H200v64H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V400zM99.1 304H348.9l18 48H224 81.1l18-48z\"]\n};\nvar faNestingDolls = {\n prefix: 'far',\n iconName: 'nesting-dolls',\n icon: [640, 512, [], \"e3ba\", \"M80 112C80 50.1 130.1 0 192 0s112 50.1 112 112V224H80V112zM200.7 64.9c-4.1-5.3-13.2-5.3-17.3 0c-11.7 15.1-28.7 26-48.2 29.7c-4 .8-7.2 4.2-6.8 8.2c1.5 14 7.6 27.7 18.4 38.5c25 25 65.5 25 90.5 0c10.8-10.8 16.9-24.4 18.4-38.5c.4-4.1-2.7-7.5-6.8-8.2c-19.5-3.7-36.5-14.6-48.2-29.7zM635.5 474.1c5.2 7.3 5.9 16.9 1.8 24.9s-12.4 13-21.3 13H312c-9 0-17.2-5-21.3-13c-4.1-8-3.4-17.6 1.8-24.9l0 0 .2-.3c.2-.3 .6-.8 1-1.5c.9-1.4 2.3-3.5 4-6.3c3.4-5.6 7.9-13.8 12.5-23.8c9.2-20.3 17.8-46.8 17.8-74.1v-8c0-75.1 60.9-136 136-136s136 60.9 136 136v8c0 27.3 8.6 53.7 17.8 74.1c4.6 10 9.1 18.2 12.5 23.8c1.7 2.8 3.1 5 4 6.3c.5 .7 .8 1.2 1 1.5l.2 .3 0 0 0 0zM455.3 320.9C440.7 339.8 417.8 352 392 352c-4.3 0-8 3.3-7.6 7.6c1.7 17.9 9.4 35.3 23.1 49c31.2 31.2 81.9 31.2 113.1 0c13.7-13.7 21.4-31.1 23.1-49c.4-4.3-3.3-7.6-7.6-7.6c-25.8 0-48.7-12.2-63.3-31.1c-4.1-5.3-13.2-5.3-17.3 0zM261.4 464c-7.1 15.1-7.3 32.7 0 48H74.5c-17 0-33.4-6.7-42.7-20.9C17.9 469.7 0 432.8 0 384c0-44.4 20.2-84.4 37.9-119.4c2.7-5.3 8.1-8.6 14-8.6H332.1c-11.3 14.3-20.3 30.5-26.5 48H71.9C57.9 332.9 48 358 48 384c0 35.9 12.8 63.3 23.2 79.6c.2 0 .4 .1 .6 .1c.7 .1 1.6 .3 2.7 .3H261.4z\"]\n};\nvar faClockRotateLeft = {\n prefix: 'far',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M48 106.7V56c0-13.3-10.7-24-24-24S0 42.7 0 56V168c0 13.3 10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H80.7c37-57.8 101.7-96 175.3-96c114.9 0 208 93.1 208 208s-93.1 208-208 208c-42.5 0-81.9-12.7-114.7-34.5c-11-7.3-25.9-4.3-33.3 6.7s-4.3 25.9 6.7 33.3C155.2 496.4 203.8 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C170.3 0 94.4 42.1 48 106.7zM256 128c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z\"]\n};\nvar faHistory = faClockRotateLeft;\nvar faTrumpet = {\n prefix: 'far',\n iconName: 'trumpet',\n icon: [640, 512, [127930], \"f8e3\", \"M592 128.7V351.3c-10-10.5-21.8-22-35.2-33.2C519.9 287.4 467.9 256 408 256H357.4 168 48V224H408c59.9 0 111.9-31.4 148.8-62.2c13.4-11.2 25.2-22.6 35.2-33.2zM352 304V416H312V304h40zm48 112V304h8c43.4 0 84.6 23.1 118 51c33 27.6 55.5 57.3 61 64.9c5.7 7.9 14.6 12.1 23.7 12.1c16.2 0 29.2-13.1 29.2-29.2V77.2C640 61.1 626.9 48 610.8 48c-9.1 0-18.1 4.2-23.7 12.1c-5.5 7.6-27.9 37.3-61 64.9c-33.4 27.9-74.6 51-118 51h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H312v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H224v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v32 80 32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H80.3C70 320.2 64 339.4 64 360c0 57.4 46.6 104 104 104h32 88 88 32c49.6 0 91-34.7 101.5-81.1c-1.3-1.1-2.6-2.2-3.9-3.3c-13.7-11.4-27.9-21.2-42.3-28.6c.5 2.9 .7 5.9 .7 9c0 30.9-25.1 56-56 56h-8zm-136 0H224V304h40V416zm-88 0h-8c-30.9 0-56-25.1-56-56s25.1-56 56-56h8V416z\"]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'far',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3C497.1 120.8 512 102.7 512 81c0-20-28.6-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-9.5 12.6-27.1 37.2-36 57.5c-.3 .7-.6 1.4-.9 2.1C417.8 69.7 416 76 416 81c0 26 21.5 47 48 47c4.4 0 8.7-.6 12.8-1.7zM395.4 41.2C355.3 15.2 307.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-35.8-7.3-69.9-20.6-100.8c-8.6 3.1-17.8 4.8-27.4 4.8c-8.9 0-17.6-1.5-25.7-4.2C454.7 185.5 464 219.7 464 256c0 114.9-93.1 208-208 208S48 370.9 48 256S141.1 48 256 48c48.7 0 93.4 16.7 128.9 44.7c-.6-3.8-.9-7.7-.9-11.7c0-11.4 3.8-22.4 7.1-30.5c1.3-3.1 2.7-6.2 4.3-9.3zM375 336.5c10.4-16.1-6.8-32.5-25.5-28.1c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c24.6 38.1 68.7 63.5 119.1 63.5s94.5-25.4 119.1-63.5zM217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFireSmoke = {\n prefix: 'far',\n iconName: 'fire-smoke',\n icon: [640, 512, [], \"f74b\", \"M293.5 3.8c-2.8-2.5-6.3-3.7-9.8-3.8c-3.6 0-7.2 1.2-10 3.7c-33.2 29.7-61.4 63.4-81.4 95.8c-19.7 31.9-32.4 66.2-32.4 92.6c0 19.8 3.6 38.8 10.1 56.3c9.6 3.3 18.7 7.6 27.3 12.7c12.7-13.6 27.6-25 44.2-33.8c-1.1-5.5-1.6-11.3-1.6-17.4c0-24 15-45 45-82c4 5 62 79 62 79l36-42c3 4 5 8 7 12c8.6 15.8 11.3 33.7 8.4 50.4c16.6 8.8 31.5 20.2 44.2 33.8c8.5-5.1 17.6-9.3 27.1-12.6C476.4 231 480 212 480 192.2c0-20.2-9.6-50.9-24.2-79C441.1 84.7 420.2 54.7 395.5 32c-5.6-5.1-14.4-5.2-20 0c-9.6 8.8-18.6 19.6-26.5 29.5c-17.3-20.7-35.8-39.9-55.5-57.7zM233.2 361.3c7-41.6 43.2-73.3 86.8-73.3s79.8 31.7 86.8 73.3c1.8 10.7 10.5 18.8 21.2 19.9s20.9-5.1 24.8-15.2c10.4-27 36.6-46 67.2-46c39.8 0 72 32.2 72 72c0 37.7-29 68.7-66 71.8c-.7 .1-1.3 .1-2 .2h-4H320 120h-4c-.7-.1-1.3-.2-2-.2c-36.9-3-66-34-66-71.8c0-39.8 32.2-72 72-72c30.6 0 56.7 19 67.2 46c3.9 10.1 14.1 16.3 24.8 15.2s19.4-9.2 21.2-19.9zM320 240c-49.4 0-92.7 26.4-116.5 65.8c-21.6-20.9-51-33.8-83.5-33.8C53.7 272 0 325.7 0 392c0 61.4 46.1 112 105.6 119.1c2 .6 4.2 .9 6.4 .9h8H320 520h8c2.2 0 4.3-.3 6.4-.9C593.9 504 640 453.4 640 392c0-66.3-53.7-120-120-120c-32.5 0-61.9 12.9-83.5 33.8C412.7 266.4 369.4 240 320 240z\"]\n};\nvar faPhoneMissed = {\n prefix: 'far',\n iconName: 'phone-missed',\n icon: [640, 512, [], \"e226\", \"M120 0H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H177.9l55.4 55.4C254.2 124.3 282.5 136 312 136s57.8-11.7 78.6-32.6L487 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-96.4 96.4C394.7 167.2 354.2 184 312 184s-82.7-16.8-112.6-46.6L144 81.9V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM448 392v49.3c0 3.9 2.8 7.2 6.6 7.9l85.8 15.6c3.7 .7 7.4-1.3 8.8-4.8l24.7-58.8c7.4-17.6 2.5-30.9-4.4-36.9C520 321.8 432.8 272 320 272s-200 49.8-249.5 92.3c-6.9 5.9-11.8 19.3-4.4 36.9L90.8 460c1.5 3.5 5.1 5.4 8.8 4.8l85.8-15.6c3.8-.7 6.6-4 6.6-7.9V392c0-19.6 11.9-37.3 30.2-44.6c62.8-25.1 132.9-25.1 195.7 0C436 354.7 448 372.4 448 392zm-48 49.3V392c-51.4-20.5-108.6-20.5-160 0v49.3c0 27.1-19.4 50.3-46 55.1L108.2 512c-25.8 4.7-51.4-9.2-61.6-33.4L21.8 419.8c-13.5-32-8.9-69.3 17.4-91.9C95 280 192.9 224 320 224s225 56 280.8 103.9c26.3 22.6 30.9 59.9 17.4 91.9l-24.8 58.8c-10.2 24.2-35.8 38.1-61.6 33.4L446 496.4c-26.6-4.8-46-28-46-55.1z\"]\n};\nvar faFileExport = {\n prefix: 'far',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M336 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80v96h48V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V368H336v80zM489 215c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H494.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'far',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 49.4L73 127c-5.9 2.5-9.1 7.8-9 12.8c.5 91.4 38.4 249.3 186.4 320.1c3.6 1.7 7.8 1.7 11.3 0C409.7 389 447.6 231.2 448 139.7c0-5-3.1-10.2-9-12.8L256 49.4zM269.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0s9.2 1 13.4 2.9z\"]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'far',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M111 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L49 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zm201 9h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faArrowsRepeat1 = {\n prefix: 'far',\n iconName: 'arrows-repeat-1',\n icon: [512, 512, [\"repeat-1-alt\"], \"f366\", \"M22.5 280C9.3 279.1-.8 267.7 0 254.5l.5-8C5.6 166.4 72 104 152.2 104H366.1L311 49c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l96 96c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H152.2c-54.9 0-100.4 42.7-103.8 97.5l-.5 8c-.8 13.2-12.2 23.3-25.5 22.5zm467-47.9c13.2 .8 23.3 12.2 22.5 25.5l-.5 8C506.4 345.6 440 408 359.8 408H145.9l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 401c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H359.8c54.9 0 100.4-42.7 103.8-97.5l.5-8c.8-13.2 12.2-23.3 25.4-22.5zM288 216v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c-10 0-19.4-6.4-22.8-16.4c-4.2-12.6 2.6-26.2 15.2-30.4l24-8c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5z\"]\n};\nvar faRepeat1Alt = faArrowsRepeat1;\nvar faGunSlash = {\n prefix: 'far',\n iconName: 'gun-slash',\n icon: [640, 512, [], \"e19c\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L412.3 297.8 432.9 240h32.5c10.6 0 20.8-4.2 28.3-11.7L513.9 208H568c22.1 0 40-17.9 40-40V104c0-22.1-17.9-40-40-40h-8V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H113.9L38.8 5.1zM175.2 112H536h24v48H510.6c-10.6 0-20.8 4.2-28.3 11.7L462.1 192H299 277.2L175.2 112zM338.5 240h43.4l-9.5 26.6L338.5 240zM80 192V159L32 121.2V200c0 22.1 17.9 40 40 40h2c20.8 0 36.1 19.6 31 39.8L65 440.2c-2.4 9.6-.2 19.7 5.8 27.5S86.1 480 96 480H208c14.7 0 27.5-10 31-24.2L265 352h59.9l-91.4-72-38 152h-79l35.1-140.6c4.5-18.1 2.5-35.9-4.3-51.4h35.4l-60.9-48H100.8 80z\"]\n};\nvar faAvocado = {\n prefix: 'far',\n iconName: 'avocado',\n icon: [512, 512, [], \"e0aa\", \"M464 144c0 29.9-13.6 56.5-35.1 74.2c-24.2 19.9-47.3 49.3-54.7 86.9c-8.9 45.7-29.5 88.5-53.1 112c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c23.6-23.6 66.3-44.2 112-53.1c37.6-7.4 67-30.4 86.9-54.7C311.5 61.6 338.1 48 368 48c53 0 96 43 96 96zM421.3 314.3c4.6-23.5 19.6-43.9 38.1-59.1C491.5 228.9 512 188.8 512 144C512 64.5 447.5 0 368 0c-44.8 0-84.9 20.5-111.3 52.6c-15.2 18.5-35.6 33.5-59.1 38.1c-51.9 10.2-104.5 34-136.7 66.3c-81.2 81.2-81.2 212.9 0 294.2s212.9 81.2 294.2 0c32.3-32.3 56.1-84.9 66.3-136.7zM283.2 347.2c41.7-41.7 49.1-102.1 16.4-134.8s-93-25.3-134.8 16.4s-49.1 102.1-16.4 134.8s93 25.3 134.8-16.4z\"]\n};\nvar faBinary = {\n prefix: 'far',\n iconName: 'binary',\n icon: [384, 512, [], \"e33b\", \"M328 24V176h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H304 248c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V57.3l-16.4 5.5C251 67 237.4 60.2 233.2 47.6S235.8 21.4 248.4 17.2l48-16C303.7-1.2 311.8 0 318 4.5S328 16.3 328 24zM104 312V464h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H80 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V345.3l-16.4 5.5C27 355 13.4 348.2 9.2 335.6S11.8 309.4 24.4 305.2l48-16c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5zM0 72C0 32.2 32.2 0 72 0h48c39.8 0 72 32.2 72 72v80c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72V72zM72 48C58.7 48 48 58.7 48 72v80c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72zM264 288h48c39.8 0 72 32.2 72 72v80c0 39.8-32.2 72-72 72H264c-39.8 0-72-32.2-72-72V360c0-39.8 32.2-72 72-72zm-24 72v80c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V360c0-13.3-10.7-24-24-24H264c-13.3 0-24 10.7-24 24z\"]\n};\nvar faGlassesRound = {\n prefix: 'far',\n iconName: 'glasses-round',\n icon: [576, 512, [128083, \"glasses-alt\"], \"f5f5\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L64.4 228.3C85.2 215.4 109.7 208 136 208c55.1 0 102.6 32.8 124 80H316c21.3-47.2 68.8-80 124-80c26.3 0 50.8 7.4 71.6 20.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l40.5 173.7c4.9 20.9 7.3 42.2 7.3 63.6V336c0 .8 0 1.6-.1 2.4c.1 1.9 .1 3.8 .1 5.6c0 75.1-60.9 136-136 136c-72.4 0-131.6-56.6-135.8-128H271.8c-4.1 71.4-63.3 128-135.8 128C60.9 480 0 419.1 0 344c0-1.9 0-3.8 .1-5.6c-.1-.8-.1-1.6-.1-2.4V325.5c0-21.4 2.5-42.8 7.3-63.6L47.9 88.2C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM136 432a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm392-88a88 88 0 1 0 -176 0 88 88 0 1 0 176 0z\"]\n};\nvar faGlassesAlt = faGlassesRound;\nvar faPhonePlus = {\n prefix: 'far',\n iconName: 'phone-plus',\n icon: [640, 512, [], \"f4d2\", \"M456 200V136H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V24c0-13.3 10.7-24 24-24s24 10.7 24 24V88h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H504v64c0 13.3-10.7 24-24 24s-24-10.7-24-24zm-63 86.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C239.2 485.6 64 295.2 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L393 286.7zm133.8 78.1l-100.4-43L397 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L112.1 70.5C115.5 286.2 289.8 460.5 505.5 464l21.3-99.2z\"]\n};\nvar faDitto = {\n prefix: 'far',\n iconName: 'ditto',\n icon: [320, 512, [], \"22\", \"M48 105.9c0 1.4 .1 2.8 .4 4.3L72 252 95.6 110.1l0 0c.2-1.4 .4-2.8 .4-4.3V104c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.9zm96 0c0 4.1-.3 8.1-1 12.1L118.6 264.5C114.8 287.3 95.1 304 72 304s-42.8-16.7-46.6-39.5L1 118c-.7-4-1-8.1-1-12.1V104C0 64.2 32.2 32 72 32s72 32.2 72 72v1.9zm80 0c0 1.4 .1 2.8 .4 4.3L248 252l23.6-141.9c.2-1.4 .4-2.8 .4-4.3V104c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.9zm96 0c0 4.1-.3 8.1-1 12.1L294.6 264.5C290.8 287.3 271.1 304 248 304s-42.8-16.7-46.6-39.5L177 118c-.7-4-1-8.1-1-12.1V104c0-39.8 32.2-72 72-72s72 32.2 72 72v1.9z\"]\n};\nvar faPersonSeat = {\n prefix: 'far',\n iconName: 'person-seat',\n icon: [384, 512, [], \"e21e\", \"M144 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 92c0-6.6 5.4-12 12-12s12 5.4 12 12v92H144c-4.4 0-8-3.6-8-8V220zm72 92V256h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H206.8c-5.6-27.4-29.8-48-58.8-48c-33.1 0-60 26.9-60 60v84c0 30.9 25.1 56 56 56h40 54c12 0 22.2 8.9 23.8 20.8l10.4 78.3C273.8 471.1 284 480 296 480h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H317l-7.7-57.5C304.6 338.7 274.1 312 238 312H208zM48 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 66.3 53.7 120 120 120h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V152z\"]\n};\nvar faHouseMedical = {\n prefix: 'far',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5zM256 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGolfBallTee = {\n prefix: 'far',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M336 192c0 55.7-31.7 104.1-78 128h77.1c30.4-34 48.9-78.8 48.9-128C384 86 298 0 192 0S0 86 0 192c0 49.2 18.5 94 48.9 128H126c-46.3-23.9-78-72.3-78-128c0-79.5 64.5-144 144-144s144 64.5 144 144zM226.1 248.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zm-52.3-49.3c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zM64 376c0 13.3 10.7 24 24 24h64c8.8 0 16 7.2 16 16v72c0 13.3 10.7 24 24 24s24-10.7 24-24V416c0-8.8 7.2-16 16-16h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24z\"]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'far',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135L167 239c-9.4 9.4-9.4 24.6 0 33.9L271 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-87-87 87-87c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'far',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5 112 204.8zM256 288h64V224H256v64zm-48-72c0-22.1 17.9-40 40-40h80c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H248c-22.1 0-40-17.9-40-40V216z\"]\n};\nvar faScythe = {\n prefix: 'far',\n iconName: 'scythe',\n icon: [640, 512, [], \"f710\", \"M639.5 28.9c2.7-13-5.7-25.7-18.6-28.4s-25.7 5.7-28.4 18.6L536.9 288H408c-13.3 0-24 10.7-24 24s10.7 24 24 24H526.9L496.5 483.1c-2.7 13 5.7 25.7 18.6 28.4s25.7-5.7 28.4-18.6l96-464zM352 0C121.4 0 20.6 155.8 2.9 186.7c-2 3.5-2.9 7.4-2.9 11.4C0 212.4 11.6 224 25.9 224H517.4l9.9-48H68.7C108.6 126.8 196.8 48 352 48H553.8l7.3-35.3c.9-4.5 2.4-8.7 4.2-12.7H352z\"]\n};\nvar faPenNib = {\n prefix: 'far',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M368.4 18.3c21.9-21.9 57.3-21.9 79.2 0l46.1 46.1c21.9 21.9 21.9 57.3 0 79.2l-71 71L412.2 225 371.6 374.1c-4.8 17.8-18.1 32-35.5 38.1L72 505c-18.5 6.5-39.1 1.8-52.9-12S.5 458.5 7 440L99.8 175.9c6.1-17.4 20.3-30.6 38.1-35.5L287 99.8l10.4-10.4 71-71zM296.9 146.8L150.5 186.7c-2.5 .7-4.6 2.6-5.4 5.1L62.5 426.9 164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L85.1 449.5l235.1-82.6c2.5-.9 4.4-2.9 5.1-5.4l39.9-146.4-68.3-68.3z\"]\n};\nvar faBanParking = {\n prefix: 'far',\n iconName: 'ban-parking',\n icon: [512, 512, [\"parking-circle-slash\"], \"f616\", \"M256 464C141.1 464 48 370.9 48 256c0-48.8 16.8-93.7 44.9-129.1L385.1 419.1C349.7 447.2 304.8 464 256 464zm80-162c24.2-17.4 40-45.9 40-78c0-53-43-96-96-96H200c-10.4 0-19.6 4.9-25.5 12.6L126.9 92.9C162.3 64.8 207.2 48 256 48c114.9 0 208 93.1 208 208c0 48.8-16.8 93.7-44.9 129.1L336 302zm-120-120V176h64c26.5 0 48 21.5 48 48c0 18.9-11 35.3-26.9 43.1L216 182.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 265.9V296v64c0 13.3 10.7 24 24 24s24-10.7 24-24V320h6.1L168 265.9z\"]\n};\nvar faParkingCircleSlash = faBanParking;\nvar faTentArrowTurnLeft = {\n prefix: 'far',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M120.1 41.8c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120 456 120c39.8 0 72 32.2 72 72v40c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-66.3-53.7-120-120-120L86.5 72l33.5-30.2zM302.7 165c-8.6-6.7-20.7-6.7-29.3 0L107.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L69.5 448.1C64.6 481.8 90.8 512 124.9 512H451.1c34.1 0 60.3-30.2 55.4-63.9L489.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L302.7 165zM137 331l127-98.2V464H124.9c-4.9 0-8.6-4.3-7.9-9.1l16.9-118.6c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L439 331c1.6 1.3 2.7 3.1 3 5.2L459 454.9c.7 4.8-3.1 9.1-7.9 9.1H374.4L312 360z\"]\n};\nvar faFaceDiagonalMouth = {\n prefix: 'far',\n iconName: 'face-diagonal-mouth',\n icon: [512, 512, [129764], \"e47e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm358.1 79.2l-184 48c-12.8 3.3-25.9-4.3-29.3-17.2s4.3-25.9 17.2-29.3l184-48c12.8-3.3 25.9 4.3 29.3 17.2s-4.3 25.9-17.2 29.3zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faDiagramCells = {\n prefix: 'far',\n iconName: 'diagram-cells',\n icon: [512, 512, [], \"e475\", \"M448 224c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64l384 0zm16 128v64c0 8.8-7.2 16-16 16l-80 0H144 64c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16zm48 64V352c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64z\"]\n};\nvar faCricketBatBall = {\n prefix: 'far',\n iconName: 'cricket-bat-ball',\n icon: [512, 512, [127951, \"cricket\"], \"f449\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-143 143-24.4-24.4c-21.9-21.9-57.3-21.9-79.2 0L16.1 334C6.1 344-.6 358.4 .5 374.4c.8 11.3 2.8 28.6 8.2 46.4C13.8 438.1 22.9 457.9 39 473c15 16.2 34.9 25.2 52.2 30.4c17.8 5.4 35.1 7.4 46.4 8.2c16 1.1 30.4-5.6 40.4-15.6L386.3 287.6c21.9-21.9 21.9-57.3 0-79.2L361.9 184 505 41zM269.7 159.6l41.2 41.2 .2 .2 .2 .2 41.2 41.2c3.1 3.1 3.1 8.2 0 11.3L318.1 288H232c-4.4 0-8-3.6-8-8V193.9l34.3-34.3c3.1-3.1 8.2-3.1 11.3 0zM176 241.9V280c0 30.9 25.1 56 56 56h38.1l-126 126c-.7 .7-1.5 1.2-2.1 1.5c-.5 .2-.8 .2-1.1 .2c-9.3-.6-22.6-2.2-35.7-6.2s-24-9.7-30.9-17.2c-.8-.8-1.6-1.7-2.4-2.4c-7.5-6.9-13.2-17.8-17.2-30.9s-5.6-26.5-6.2-35.7c0-.3 0-.6 .2-1.1c.2-.6 .7-1.4 1.5-2.1l126-126zM400 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faCricket = faCricketBatBall;\nvar faTents = {\n prefix: 'far',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M430.1 4.6c-8.4-6.1-19.8-6.1-28.2 0l-165 120c-1.7 1.2-3.3 2.6-4.8 4c10.9 1.4 21.5 5.6 30.7 12.6l16.1 12.3L416 53.7 566.8 163.4c1.8 1.3 2.9 3.2 3.2 5.4l17.2 126.1c.7 4.8-3.1 9.1-7.9 9.1H454c.6 2.1 1 4.3 1.3 6.5l6.2 41.5H579.3c33.9 0 60.1-29.9 55.5-63.6L617.6 162.3c-2.1-15.1-10.2-28.7-22.6-37.7l-165-120zM238.7 165c-8.6-6.7-20.7-6.7-29.3 0L43.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L5.5 448.1C.6 481.8 26.8 512 60.9 512H387.1c34.1 0 60.3-30.2 55.4-63.9L425.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L238.7 165zM73 331l127-98.2V464H60.9c-4.9 0-8.6-4.3-7.9-9.1L69.9 336.2c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L375 331c1.6 1.3 2.7 3.1 3 5.2L395 454.9c.7 4.8-3.1 9.1-7.9 9.1H310.4L248 360z\"]\n};\nvar faWandMagic = {\n prefix: 'far',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M319.7 157.7l34.6 34.6L464 82.6 429.4 48 319.7 157.7zm-33.9 33.9L48 429.4 82.6 464 320.3 226.2l-34.6-34.6zM14.1 395.4L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9z\"]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'far',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M318 342.2c11.4 9.1 18 22.9 18 37.4V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V274.3L300.5 223c-3.2 .7-6.5 1-9.9 1H144 112.1l-.1 .8V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V379.6c0-14.6 6.6-28.3 18-37.4s26.2-12.6 40.4-9.4c9.5 2.1 19.4 3.2 29.6 3.2s20.1-1.1 29.6-3.2c14.2-3.1 29.1 .3 40.4 9.4zM336.9 189l53.4 32.8c7.2-17.7 24.6-29.8 44.4-29.8H480c26.5 0 48-21.5 48-48V112H496c-12.7 0-24.9-5.1-33.9-14.1L444.1 80 368 80c-4.2 0-8.4-.6-12.4-1.6L338 183.9c-.3 1.7-.7 3.4-1.1 5.1zM64.2 220.2c-1.1-.3-2.2-.7-3.3-1.1c-27.4-9.6-49-32.4-56.4-61.8L.7 141.8c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l0 0 3.9 15.5C55.6 163.5 71.6 176 90 176h54H290.7L313.5 39.3l.1-.4 .9-5.6 3.1-18.4C319 6.3 326.4 0 335.1 0c5.6 0 10.9 2.6 14.3 7.1l11.2 14.9 3.4 4.6 .2 .3L368 32h76.1c12.7 0 24.9 5.1 33.9 14.1L496 64h32c26.5 0 48 21.5 48 48v32c0 53-43 96-96 96H434.7L432 256V448c0 35.3-28.7 64-64 64H352c-35.3 0-64-28.7-64-64V428.6 379.6c-10.4 2.3-21.1 3.7-32 4.2c-2.7 .1-5.3 .2-8 .2s-5.3-.1-8-.2c-10.9-.5-21.6-1.9-32-4.2v48.9V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224c0-1.3 .1-2.6 .2-3.8zM416 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPenLine = {\n prefix: 'far',\n iconName: 'pen-line',\n icon: [576, 512, [], \"e212\", \"M13.4 439l23-78.1c4.2-14.1 11.8-27 22.2-37.4L362.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c3.1 3.1 5.9 6.5 8.2 10c16.4 24.8 13.7 58.6-8.2 80.5L188.5 453.4c-1.3 1.3-2.6 2.6-4 3.8c-9.6 8.5-21 14.8-33.4 18.4L73 498.6 30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L13.4 439zm62.2-41.2L59.4 452.6l54.8-16.1 23.4-6.9c6.4-1.9 12.3-5.4 17-10.1L383 191 321 129 92.5 357.4c-.6 .6-1.2 1.2-1.7 1.8c-3.9 4.4-6.7 9.6-8.4 15.2l-6.9 23.4zM248 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faAtomSimple = {\n prefix: 'far',\n iconName: 'atom-simple',\n icon: [512, 512, [\"atom-alt\"], \"f5d3\", \"M89.6 422.4c7.9 7.9 31.4 16.9 80.4 .6c13.2-4.4 27.2-10.4 41.6-17.9c-18.9-14.4-37.7-30.8-55.8-48.9s-34.5-36.9-48.9-55.8c-7.5 14.4-13.5 28.4-17.9 41.6c-16.3 49-7.3 72.5 .6 80.4zM76.8 256C27.6 173.9 16.5 94.9 55.7 55.7S173.9 27.6 256 76.8c82.1-49.2 161.1-60.3 200.3-21.1s28.1 118.2-21.1 200.3c49.2 82.1 60.3 161.1 21.1 200.3s-118.2 28.1-200.3-21.1c-82.1 49.2-161.1 60.3-200.3 21.1S27.6 338.1 76.8 256zM107 211.6c14.4-18.9 30.8-37.7 48.9-55.8s36.9-34.5 55.8-48.9c-14.4-7.5-28.4-13.5-41.6-17.9c-49-16.3-72.5-7.3-80.4 .6s-16.9 31.4-.6 80.4c4.4 13.2 10.4 27.2 17.9 41.6zM256 134c-22.1 15.5-44.5 34.1-66.2 55.8s-40.3 44.1-55.8 66.2c15.5 22.1 34.1 44.5 55.8 66.2s44.1 40.3 66.2 55.8c22.1-15.5 44.5-34.1 66.2-55.8s40.3-44.1 55.8-66.2c-15.5-22.1-34.1-44.5-55.8-66.2s-44.1-40.3-66.2-55.8zm149 77.7c7.5-14.4 13.5-28.4 17.9-41.6c16.3-49 7.3-72.5-.6-80.4s-31.4-16.9-80.4-.6c-13.2 4.4-27.2 10.4-41.6 17.9c18.9 14.4 37.7 30.8 55.8 48.9s34.5 36.9 48.9 55.8zm0 88.7c-14.4 18.9-30.8 37.7-48.9 55.8s-36.9 34.5-55.8 48.9c14.4 7.5 28.4 13.5 41.6 17.9c49 16.3 72.5 7.3 80.4-.6s16.9-31.4 .6-80.4c-4.4-13.2-10.4-27.2-17.9-41.6zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faAtomAlt = faAtomSimple;\nvar faAmpersand = {\n prefix: 'far',\n iconName: 'ampersand',\n icon: [448, 512, [], \"26\", \"M178 80h44.4c27.4 0 49.7 22.2 49.7 49.7c0 16.2-7.9 31.4-21.2 40.7l-61.4 43-47.2-48.5C133.1 155.5 128 143 128 130c0-27.6 22.4-50 50-50zm45.3 168.2l55.1-38.5c26.1-18.3 41.7-48.1 41.7-80C320 75.7 276.3 32 222.3 32H178c-54.1 0-98 43.9-98 98c0 25.5 10 50 27.7 68.3l41.8 43L75.9 292.8C48.4 312 32 343.5 32 377.1C32 433.9 78.1 480 134.9 480h77.8c35.1 0 67.8-17.7 87-47.1l14.6-22.3 60.4 62.1c9.2 9.5 24.4 9.7 33.9 .5s9.7-24.4 .5-33.9l-67.9-69.8 70.8-108.3c7.3-11.1 4.1-26-7-33.2s-26-4.1-33.2 7L307 334.2l-83.7-86zm-39.8 27.9l96.6 99.3-20.5 31.3c-10.3 15.8-28 25.4-46.9 25.4H134.9C104.6 432 80 407.4 80 377.1c0-17.9 8.7-34.7 23.4-45l80-56z\"]\n};\nvar faCarrot = {\n prefix: 'far',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6C337.6 17 320 42.3 320 72zM199.3 197.4c13.2-8.6 28.9-13.4 45.3-13.4c46.1 0 83.4 37.3 83.4 83.4c0 32.5-18.9 62-48.3 75.7l-42.8 19.8L209 335c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l15.4 15.4L73.3 438.7l94.8-204.6L207 273c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41.7-41.7zM34.1 509.8L299.8 386.6c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136c-51.2 0-97.7 29.7-119.2 76.2L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8z\"]\n};\nvar faArrowUpFromLine = {\n prefix: 'far',\n iconName: 'arrow-up-from-line',\n icon: [384, 512, [8613, \"arrow-from-bottom\"], \"f342\", \"M209.5 39.6C204.9 34.7 198.6 32 192 32s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L168 116.5V200 328c0 13.3 10.7 24 24 24s24-10.7 24-24V200 116.5l86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faArrowFromBottom = faArrowUpFromLine;\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3c0 98 62.8 181.4 150.4 211.7c-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256C0 379.7 100 480 223.5 480c47.8 0 92-15 128.4-40.6c1.9-1.3 3.7-2.7 5.5-4c4.8-3.6 9.4-7.4 13.9-11.4c2.7-2.4 5.3-4.8 7.9-7.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7 .6-7.4 1.2-11.1 1.6c-5 .5-10.1 .9-15.3 1c-1.2 0-2.5 0-3.7 0c-.1 0-.2 0-.3 0c-96.8-.2-175.2-78.9-175.2-176c0-54.8 24.9-103.7 64.1-136c1-.9 2.1-1.7 3.2-2.6c4-3.2 8.2-6.2 12.5-9c3.1-2 6.3-4 9.6-5.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6c-2.7-.1-5.5-.1-8.2-.1c-3.3 0-6.5 .1-9.8 .2c-2.3 .1-4.6 .2-6.9 .4z\"]\n};\nvar faPenSlash = {\n prefix: 'far',\n iconName: 'pen-slash',\n icon: [640, 512, [], \"e213\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296 556.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L517.3 19.3c-25-25-65.5-25-90.5 0L264.2 181.8 38.8 5.1zM302.3 211.6L385 129 447 191l-75.1 75.1-69.6-54.5zM156.5 357.4l77.3-77.3-38-29.9-73.2 73.2c-10.4 10.4-18 23.3-22.2 37.4L77.4 439 65 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1L137 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8l88.6-88.6-38-29.9-84.6 84.6c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9-54.8 16.1 16.1-54.8 6.9-23.4c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8z\"]\n};\nvar faWineGlassEmpty = {\n prefix: 'far',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M248 464H184V348.5c72.6-12.5 126.3-78.7 119.4-155.9L287.5 14.5C286.8 6.2 279.9 0 271.8 0H48.2c-8.1 0-15 6.2-15.8 14.5L16.6 192.6C9.7 269.8 63.4 336 136 348.5V464H72c-13.2 0-24 10.7-24 24s10.8 24 24 24H248c13.2 0 24-10.7 24-24s-10.8-24-24-24zM64.4 197.1L77.7 48H242.3l13.3 149.2c5 56.5-37.8 106.8-95.6 106.8c-57.9 0-100.6-50.4-95.6-106.9zM56 0C43.5 0 33.1 9.6 32.1 22.1L18.1 198.5C12.3 273.1 64.8 337.9 136 350V464H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V350c71.2-12.1 123.7-76.9 117.9-151.5L287.9 22.1C286.9 9.6 276.5 0 264 0H56zM66 202.3L78.2 48H241.8L254 202.3c4.3 54.8-39 101.7-94 101.7s-98.3-46.9-94-101.7z\"]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faSquareStar = {\n prefix: 'far',\n iconName: 'square-star',\n icon: [448, 512, [], \"e27f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 25c6.1 0 11.7 3.5 14.3 8.9l31.3 63.3 69.9 10.2c6 .9 11 5.1 12.9 10.9s.3 12.2-4 16.4L297.8 280l11.9 69.6c1 6-1.4 12.1-6.4 15.6s-11.5 4.1-16.8 1.2L224 333.6l-62.5 32.9c-5.4 2.8-11.9 2.4-16.9-1.2s-7.4-9.6-6.4-15.6L150.2 280 99.7 230.7c-4.4-4.3-5.9-10.6-4-16.4s6.9-10 12.9-10.9l69.9-10.2 31.3-63.3c2.7-5.5 8.3-8.9 14.3-8.9z\"]\n};\nvar faCheese = {\n prefix: 'far',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M464 240.2V256H48c0-3.9 2-7.6 5.3-9.8L301.5 80.7c.7-.4 1.5-.7 2.3-.7C392.3 80 464 151.7 464 240.2zM48 304H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V304zm464-48V240.2C512 125.2 418.8 32 303.8 32c-10.3 0-20.3 3-28.9 8.7L26.6 206.2C10 217.3 0 236 0 256V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V256z\"]\n};\nvar faSendBackward = {\n prefix: 'far',\n iconName: 'send-backward',\n icon: [512, 512, [], \"f87f\", \"M64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V224c0-53 43-96 96-96H352V64c0-35.3-28.7-64-64-64H64zM224 208H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zm-64 16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faYinYang = {\n prefix: 'far',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M464 256c0 114.9-93.1 208-208 208c-50.9 0-92.2-41.2-92.2-92s41.3-92 92.2-92c77.3 0 140-62.7 140-140c0-15.4-2.5-30.1-7-44c45.9 38.2 75 95.7 75 160zM256 48c50.8 0 92 41.2 92 92s-41.2 92-92 92c-77.3 0-140.2 62.6-140.2 140c0 15.3 2.5 30 7 43.8C77.1 377.6 48 320.2 48 256C48 141.1 141.1 48 256 48zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-368a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMusic = {\n prefix: 'far',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M512 31c0-17.1-13.9-31-31-31c-3.1 0-6.2 .5-9.1 1.4l-311 95.7C150.9 100.2 144 109.5 144 120V240 362.7c-14.1-6.8-30.5-10.7-48-10.7c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V260.2l272-83.7V298.7c-14.1-6.8-30.5-10.7-48-10.7c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V144.6c0-.4 0-.7 0-1.1V31zM464 368c0 9.8-12.9 32-48 32s-48-22.2-48-32s12.9-32 48-32s48 22.2 48 32zM144 432c0 9.8-12.9 32-48 32s-48-22.2-48-32s12.9-32 48-32s48 22.2 48 32zM464 126.3L192 210V137.7L464 54v72.2z\"]\n};\nvar faCompassSlash = {\n prefix: 'far',\n iconName: 'compass-slash',\n icon: [640, 512, [], \"f5e9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-95.4-74.8C561.1 354.5 576 307 576 256C576 114.6 461.4 0 320 0C246.8 0 180.9 30.7 134.2 79.9L38.8 5.1zM172.2 109.7C209.9 71.6 262.2 48 320 48c114.9 0 208 93.1 208 208c0 39.8-11.2 77-30.6 108.6L397.1 285.9l47.5-123.5c7.5-19.4-11.6-38.5-31-31L270.3 186.5l-98.1-76.9zM320 464c-114.9 0-208-93.1-208-208c0-22.3 3.5-43.8 10-63.9L82.3 160.8C70.5 190.2 64 222.4 64 256c0 141.4 114.6 256 256 256c55.2 0 106.3-17.5 148.1-47.2l-39.7-31.3C396.8 452.9 359.7 464 320 464zm-3-118.2l-92.2-72.6-29.4 76.5c-7.5 19.4 11.6 38.5 31 31L317 345.8z\"]\n};\nvar faClockOne = {\n prefix: 'far',\n iconName: 'clock-one',\n icon: [512, 512, [], \"e34e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120v56.7l20-30c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3l-64 96c-5.9 8.8-16.8 12.7-26.9 9.7s-17-12.4-17-23V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileMusic = {\n prefix: 'far',\n iconName: 'file-music',\n icon: [384, 512, [], \"f8b6\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM304 208c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V299.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V240 208z\"]\n};\nvar faCodeCommit = {\n prefix: 'far',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm158.2-88c-11.6 77-78 136-158.2 136s-146.6-59-158.2-136H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H161.8c11.6-77 78-136 158.2-136s146.6 59 158.2 136H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H478.2z\"]\n};\nvar faTemperatureLow = {\n prefix: 'far',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM80 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C74.3 301 80 288.4 80 273.9V112zM144 0C82.1 0 32 50.2 32 112V273.9c0 1.7-.7 4.4-3.2 7.8C10.7 305.7 0 335.7 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faPersonBiking = {\n prefix: 'far',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M448 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 384A80 80 0 1 1 48 384a80 80 0 1 1 160 0zM128 256a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM592 384a80 80 0 1 1 -160 0 80 80 0 1 1 160 0zM512 256a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM341.5 149.6c3.5-2.5 8.3-1.9 11 1.4l44.8 56c4.6 5.7 11.5 9 18.7 9h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H427.5L390 121c-18.8-23.5-52.7-27.9-76.9-10.1l-74.6 55c-38.5 28.4-33.4 87.4 9.3 108.8L304 302.8V416c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-9.1-5.1-17.4-13.3-21.5l-69.6-34.8c-10.7-5.3-12-20.1-2.3-27.2l74.6-55z\"]\n};\nvar faBiking = faPersonBiking;\nvar faDisplayChartUpCircleCurrency = {\n prefix: 'far',\n iconName: 'display-chart-up-circle-currency',\n icon: [640, 512, [], \"e5e5\", \"M64 48H512c8.8 0 16 7.2 16 16V194.9c17 3.1 33.1 8.7 48 16.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h42.8c-18.3-12.9-34.1-29.2-46.3-48H323.7 288 252.3l8-48H288h27.7 11c-4.3-15.3-6.6-31.4-6.6-48H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM480 192.7V120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 1.3 .1 2.6 .3 3.9c15-5.8 31-9.7 47.7-11.2zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM521.4 393.4a35.9 35.9 0 1 0 -50.7-50.7 35.9 35.9 0 1 0 50.7 50.7zm10 32.6c-21.6 13.2-49.1 13.2-70.7 0l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L438 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L460.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L554 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L531.3 426z\"]\n};\nvar faSkeleton = {\n prefix: 'far',\n iconName: 'skeleton',\n icon: [512, 512, [], \"f620\", \"M256 0c13.3 0 24 10.7 24 24V64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v48H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v48H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v85.7l75.5-32.3c8.3-3.5 17.2-5.4 26.1-5.4c36.7 0 66.4 29.7 66.4 66.4v1.5c0 18-7.2 35.3-19.9 48l-25.8 25.8c-11.7 11.7-27.6 18.3-44.1 18.3H153.9c-16.6 0-32.4-6.6-44.1-18.3L83.9 467.9c-12.7-12.7-19.9-30-19.9-48v-1.5c0-36.7 29.7-66.4 66.4-66.4c9 0 17.9 1.8 26.1 5.4L232 389.7V304H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V208H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V112H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V24c0-13.3 10.7-24 24-24zM184 440a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm192 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCircleG = {\n prefix: 'far',\n iconName: 'circle-g',\n icon: [512, 512, [], \"e10f\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0-44.2 35.8-80 80-80c20.5 0 39.2 7.7 53.3 20.4c9.9 8.8 25.1 8 33.9-1.9s8-25-1.9-33.9C318.7 140.3 288.8 128 256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h52.3c-10.2 32.5-40.5 56-76.3 56c-44.2 0-80-35.8-80-80z\"]\n};\nvar faCircleArrowUpLeft = {\n prefix: 'far',\n iconName: 'circle-arrow-up-left',\n icon: [512, 512, [], \"e0fb\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm64-368H168c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V225.9L327 361c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-135-135H320c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faCoinBlank = {\n prefix: 'far',\n iconName: 'coin-blank',\n icon: [512, 512, [], \"e3fb\", \"M256 304c64 0 119.6-14.7 157.5-36c39.4-22.2 50.5-45.3 50.5-60s-11.1-37.8-50.5-60C375.6 126.7 320 112 256 112s-119.6 14.7-157.5 36C59.1 170.2 48 193.3 48 208s11.1 37.8 50.5 60c37.9 21.3 93.5 36 157.5 36zM0 208C0 128.5 114.6 64 256 64s256 64.5 256 144l0 48 0 64c0 70.7-114.6 128-256 128S0 390.7 0 320l0-64 0-48zM256 352c-13.6 0-27-.6-40-1.7l0 48c12.9 1.1 26.3 1.7 40 1.7s27.1-.6 40-1.7l0-48c-13 1.1-26.4 1.7-40 1.7zM120 330l0 47.7c18.7 7 40.3 12.7 64 16.6l0-48.1c-22.8-3.8-44.3-9.2-64-16.2zM88 316.7C73 309.3 59.6 301 48 292l0 28c0 6.8 6.2 24.2 40 43.1l0-46.5zm240 29.6l0 48.1c23.7-3.9 45.3-9.6 64-16.6l0-47.7c-19.7 7-41.2 12.5-64 16.2zM464 320l0-28c-11.6 9.1-25 17.4-40 24.7l0 46.5c33.8-18.9 40-36.3 40-43.1z\"]\n};\nvar faBroom = {\n prefix: 'far',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M569 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L335 207l-39-39c-5.1-5.1-12.1-8-19.4-8c-12.2 0-23 8.1-26.3 19.9l-15.9 55.6-.6-.1c-46.4-7.1-93.5 8.3-126.7 41.5L97 287c-18.4 18.4-29.7 42.4-32.4 68c-.4 3.8-.6 7.7-.6 11.6c0 9.6 7.8 17.3 17.3 17.3H104L81.3 404.9 57.1 427.3 7.2 473.4C2.6 477.6 0 483.5 0 489.7C0 502 10 512 22.3 512l172.7 0c39.1 0 76.6-15.5 104.2-43.2c33.2-33.2 48.6-80.2 41.5-126.7l-.1-.6 55.6-15.9c11.8-3.4 19.9-14.1 19.9-26.3c0-7.3-2.9-14.2-8-19.4l-39-39L569 41zM278.8 254.8l8-28.1 62.4 62.4-28.1 8-42.3-42.3zm-52.3 28l9.8 1.5 55.4 55.4 1.5 9.8c4.8 31.3-5.6 63-28 85.4c-18.6 18.6-43.9 29.1-70.3 29.1L88.1 464l48.5-44.7c14.5-13.4 19.3-34.3 12.1-52.7c-5.4-13.7-16.6-23.9-30.1-28.3c3.1-6.4 7.3-12.2 12.4-17.3l10.2-10.2c22.4-22.4 54.1-32.8 85.4-28z\"]\n};\nvar faVacuum = {\n prefix: 'far',\n iconName: 'vacuum',\n icon: [640, 512, [], \"e04d\", \"M290 48c-27.1 0-50.6 19-56.2 45.5L206 224H156.9L186.8 83.5C197.2 34.8 240.2 0 290 0H528c61.9 0 112 50.1 112 112c0 44.8-26.3 83.5-64.3 101.4C596.1 243.9 608 280.5 608 320V448c0 35.3-28.7 64-64 64H468.7c14.8-13 26.5-29.4 34-48H544c8.8 0 16-7.2 16-16V320c0-79.5-64.5-144-144-144c-8.8 0-16 7.2-16 16v97c-5.2-.7-10.6-1-16-1c-11 0-21.8 1.4-32 4V192c0-35.3 28.7-64 64-64c47.9 0 91.8 17.6 125.4 46.6c28.9-6.1 50.6-31.9 50.6-62.6c0-35.3-28.7-64-64-64H290zM150.1 256h49.1L171.7 385.1c29.8 5.5 52.3 31.6 52.3 62.9c0 35.3-28.7 64-64 64H32c-17.7 0-32-14.3-32-32c0-53 43-96 96-96h26.9l27.2-128zM432 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-144 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM176 448c0-8.8-7.2-16-16-16H96c-20.9 0-38.7 13.4-45.3 32H160c8.8 0 16-7.2 16-16zm208-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faShieldHeart = {\n prefix: 'far',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM144 221.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCardHeart = {\n prefix: 'far',\n iconName: 'card-heart',\n icon: [384, 512, [], \"e3eb\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM80 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3z\"]\n};\nvar faLightbulbCflOn = {\n prefix: 'far',\n iconName: 'lightbulb-cfl-on',\n icon: [640, 512, [], \"e5a7\", \"M343.3 18.2C340.1 5.3 327-2.5 314.2 .7l-128 32c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l128-32c12.9-3.2 20.7-16.2 17.5-29.1zm110.5 93.1c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-256 64c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l256-64zm0 96c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-256 64c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l256-64zM416 416c0-17.7-14.3-32-32-32H304V294.2l-48 12V384c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h40v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8h40c17.7 0 32-14.3 32-32V416zm37.8-112.7c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-64 16-16 4 0 0-8 2c-11.1 2.8-18.5 12.9-18.2 23.9V384h48V320.7l5.8-1.5 64-16zM53.3 4C42.3-3.3 27.4-.3 20 10.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L53.3 4zM613.3 44c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM101.3 332c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zm464-39.9c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32z\"]\n};\nvar faMelon = {\n prefix: 'far',\n iconName: 'melon',\n icon: [512, 512, [], \"e310\", \"M464 256c0-25.8-4.7-50.4-13.2-73.2c-14.9 51.3-51.2 110.5-104.3 163.6s-112.3 89.4-163.6 104.3c22.8 8.6 47.4 13.2 73.2 13.2c114.9 0 208-93.1 208-208zM61.2 329.2c14.9-51.3 51.2-110.5 104.3-163.6s112.3-89.4 163.6-104.3C306.4 52.7 281.8 48 256 48C141.1 48 48 141.1 48 256c0 25.8 4.7 50.4 13.2 73.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM403 109c-5.2-5.2-24.1-13.9-67.8 .7c-40.7 13.6-89.8 44-135.7 89.9s-76.3 95-89.9 135.7c-14.6 43.7-5.8 62.6-.7 67.8s24.1 13.9 67.8-.7c40.7-13.6 89.9-44 135.7-89.9s76.3-95 89.9-135.7c14.6-43.7 5.8-62.6 .7-67.8z\"]\n};\nvar faGopuram = {\n prefix: 'far',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h32V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64 80v48 2.7c18.6 6.6 32 24.4 32 45.3v48c0 .9 0 1.8-.1 2.7c18.7 6.6 32.1 24.4 32.1 45.3v64c0 .9 0 1.8-.1 2.7c18.7 6.6 32.1 24.4 32.1 45.3v80c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V384c0-20.9 13.4-38.7 32.1-45.3c0-.9-.1-1.8-.1-2.7V272c0-20.9 13.4-38.7 32.1-45.3c0-.9-.1-1.8-.1-2.7V176c0-20.9 13.4-38.7 32-45.3V128 80 64 32 24c0-13.3 10.7-24 24-24zm24 80v48H368V80H144zm-32 96v48h48V176H144 112zm208 48V176H192v48h32c0-17.7 14.3-32 32-32s32 14.3 32 32h32zm32-48v48h48V176H368 352zm0 96H160v64h64V320c0-17.7 14.3-32 32-32s32 14.3 32 32v16h64V272zm32 64h48V272H400 384v64zM128 464h80V448c0-26.5 21.5-48 48-48s48 21.5 48 48v16h80V384H352 160 128v80zm288 0h48V384H432 416v80zM128 272H112 80v64h48V272zM96 384H80 48v80H96V384z\"]\n};\nvar faEarthOceania = {\n prefix: 'far',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 416c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM423.2 290.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faContainerStorage = {\n prefix: 'far',\n iconName: 'container-storage',\n icon: [640, 512, [], \"f4b7\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 584h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H584 56 24zM80 432V80H560V432H80zm96-280c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152z\"]\n};\nvar faFacePouting = {\n prefix: 'far',\n iconName: 'face-pouting',\n icon: [512, 512, [], \"e387\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM161.3 382.1c-5.4 12.3 8.7 21.6 21.1 16.4c22.4-9.5 47.4-14.8 73.7-14.8s51.3 5.3 73.7 14.8c12.4 5.2 26.5-4.1 21.1-16.4c-16-36.6-52.4-62.1-94.8-62.1s-78.8 25.6-94.8 62.1zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faSquareXmark = {\n prefix: 'far',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm143 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faFaceExplode = {\n prefix: 'far',\n iconName: 'face-explode',\n icon: [512, 512, [\"exploding-head\"], \"e2fe\", \"M120 160c-30.9 0-56-25.1-56-56s25.1-56 56-56c8.9 0 17.3 2.1 24.8 5.8C149.7 23.3 176.1 0 208 0c19.1 0 36.3 8.4 48 21.7C267.7 8.4 284.9 0 304 0c31.9 0 58.3 23.3 63.2 53.8c7.5-3.7 15.9-5.8 24.8-5.8c30.9 0 56 25.1 56 56s-25.1 56-56 56H352c-17.7 0-32 14.3-32 32v4.5c0 10.3 4.4 20.1 11.9 27l9.5 6c10.4 6.5 23.5 6.5 33.9 0l17.3-10.8c10.4-6.5 23.5-6.5 33.9 0l20.7 12.9c4.8 3 10.3 4.6 15.8 4.8c4.2 .2 8.5-.5 12.6-2.1l33.9-13.1c1.5 11.4 2.3 23 2.3 34.8c0 5.3-.2 10.7-.5 15.9C503.3 405.9 392 512 256 512S8.7 405.9 .5 271.9C.2 266.7 0 261.3 0 256c0-11.8 .8-23.4 2.3-34.8l34 13.1c4.1 1.6 8.4 2.3 12.6 2.1c5.5-.2 11-1.8 15.8-4.8l20.7-12.9c10.4-6.5 23.5-6.5 33.9 0l17.3 10.8c10.4 6.5 23.5 6.5 33.9 0l9.5-6c7.5-6.9 11.9-16.6 11.9-27V192c0-17.7-14.3-32-32-32H120zm-8.8 110.1l-8.8-5.5-12.2 7.6C77.9 279.9 64 284 49.9 284.4C63.8 385.8 150.7 464 256 464s192.2-78.2 206.1-179.6c-14.1-.4-28-4.5-40.3-12.1l-12.2-7.6-8.8 5.5c-25.9 16.2-58.9 16.2-84.8 0l-8.8-5.5-8.8 5.5c-25.9 16.2-58.9 16.2-84.8 0l-8.8-5.5-8.8 5.5c-25.9 16.2-58.9 16.2-84.8 0zM176.4 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 368c26.5 0 48 21.5 48 48v5.3c0 5.9-4.8 10.7-10.7 10.7H218.7c-5.9 0-10.7-4.8-10.7-10.7V416c0-26.5 21.5-48 48-48z\"]\n};\nvar faExplodingHead = faFaceExplode;\nvar faHashtag = {\n prefix: 'far',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M188.7 32.5c13 2.6 21.4 15.2 18.8 28.2L192.5 136h111l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8s21.4 15.2 18.8 28.2L352.5 136H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H342.9L314.1 328H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H304.5l-16.9 84.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L255.5 376h-111l-16.9 84.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L95.5 376H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h81.1l28.8-144H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h87.5l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8zM182.9 184L154.1 328h111l28.8-144h-111z\"]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'far',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M323.3 0C303.8 0 288 15.8 288 35.3c0 9.4 3.7 18.3 10.3 25L326.1 88 264 150.1c-18.7 18.7-18.7 49.1 0 67.9L294.1 248c18.7 18.7 49.1 18.7 67.9 0L424 185.9l27.7 27.7c6.6 6.6 15.6 10.3 25 10.3c19.5 0 35.3-15.8 35.3-35.3V40c0-22.1-17.9-40-40-40H323.3zM377 71l-23-23H464V158.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0l-79 79L297.9 184l79-79c9.4-9.4 9.4-24.6 0-33.9zM188.7 512c19.5 0 35.3-15.8 35.3-35.3c0-9.4-3.7-18.3-10.3-25L185.9 424 248 361.9c18.7-18.7 18.7-49.1 0-67.9L217.9 264c-18.7-18.7-49.1-18.7-67.9 0L88 326.1 60.3 298.3c-6.6-6.6-15.6-10.3-25-10.3C15.8 288 0 303.8 0 323.3V472c0 22.1 17.9 40 40 40H188.7zM135 441l23 23H48V353.9l23 23c9.4 9.4 24.6 9.4 33.9 0l79-79L214.1 328l-79 79c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'far',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M328 112c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48H147.2 144 96 48c-26.5 0-48 21.5-48 48v64.8c0 19 11.2 36.2 28.5 43.9l67.5 30V368c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L615 208.6l1.4-1.6 7.6-8.6 9.4-10.6c12.3-13.9-.3-35.4-18.4-31.5l-13.9 3-11.3 2.4-2.1 .4L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H280V112h48zm97.1 125.8c10.4 5.2 22.3 6.7 33.6 4.3l72.1-15.4L412.7 360.5c-2.4 2.8-5.9 4.3-9.6 4.3H147.2V211.2H368.9c2 0 3.9 .5 5.7 1.4l50.5 25.2zM96 294.1L48 272.8V208H96v3.2 82.9z\"]\n};\nvar faT = {\n prefix: 'far',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H168V456c0 13.3 10.7 24 24 24s24-10.7 24-24V80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H192 24z\"]\n};\nvar faTransformerBolt = {\n prefix: 'far',\n iconName: 'transformer-bolt',\n icon: [384, 512, [], \"e2a4\", \"M136 24c0-13.3-10.7-24-24-24S88 10.7 88 24v8H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H136V24zm160 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H296V24zM48 112c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm160 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 328h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V208h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H328 56 24zM80 464V208H304V464H80zM233.4 243.1c-5.9-4.3-14-4-19.6 .7l-96 80c-5.2 4.3-7.1 11.4-4.8 17.7s8.3 10.6 15 10.6h40.4l-23.2 58.1c-2.7 6.8-.5 14.6 5.5 18.9s14 4 19.6-.7l96-80c5.2-4.3 7.1-11.4 4.8-17.7s-8.3-10.6-15-10.6H215.6l23.2-58.1c2.7-6.8 .5-14.6-5.5-18.9z\"]\n};\nvar faHippo = {\n prefix: 'far',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M391 39c9.4-9.4 24.6-9.4 33.9 0l14.2 14.2C449.5 49.9 460.5 48 472 48h32c15.8 0 30.8 3.5 44.2 9.8L559 47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7c13.8 17.7 22 39.9 22 64c0 .3 .1 .6 .3 .7c19.4 17.6 31.7 43 31.7 71.3c0 28.4-12.4 54-32 71.6l0 .4v32c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24v-8H480v8c0 13.3-10.7 24-24 24H440c-13.3 0-24-10.7-24-24V314.5c-37.3-13.2-64-48.7-64-90.5c0-16.2 4-31.4 11.1-44.8c2.9-5.6 4.9-11.7 4.9-18V152c0-8.9 1.1-17.5 3.2-25.8c-25.6-9.4-52.7-14.2-80-14.2H256 231.2C147.7 112 80 179.7 80 263.2c0 19.7-4.1 39.2-12.1 57.2L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 153.2 121.2 64 231.2 64H256h35.2c35.1 0 69.9 6.6 102.6 19.5c1.2-1.4 2.4-2.7 3.7-4L391 73c-9.4-9.4-9.4-24.6 0-33.9zm81 57c-30.9 0-56 25.1-56 56v9.2c0 16.4-5.1 30.3-10.5 40.4c-3.5 6.6-5.5 14.2-5.5 22.4c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48c0-14.1-6-26.8-15.8-35.6C566 179.2 560 166 560 152c0-30.9-25.1-56-56-56H472zM408 377.6c7.1 4.1 15.3 6.4 24 6.4h24v40c0 30.9-25.1 56-56 56H352c-30.9 0-56-25.1-56-56V407.6c-26.4 5.4-53.6 5.4-80 0V424c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24v48c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8V376c0-7.6 3.6-14.8 9.8-19.3s14.1-5.8 21.4-3.6l11.3 3.6c29.6 9.3 61.4 9.3 91 0l11.3-3.6c7.3-2.3 15.2-1 21.4 3.6s9.8 11.7 9.8 19.3v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V377.6zM464 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-56 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faChartColumn = {\n prefix: 'far',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM168 224c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm120-72V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm72 40c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM480 88V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCassetteVhs = {\n prefix: 'far',\n iconName: 'cassette-vhs',\n icon: [576, 512, [128252, \"vhs\"], \"f8ec\", \"M48 416V160H528V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM352 336H224V256H352v80zM144 296c0-19.4 13.7-35.5 32-39.2v78.4c-18.3-3.7-32-19.8-32-39.2zm288 0c0 19.4-13.7 35.5-32 39.2V256.8c18.3 3.7 32 19.8 32 39.2zM96 296c0 48.6 39.4 88 88 88H392c48.6 0 88-39.4 88-88s-39.4-88-88-88H184c-48.6 0-88 39.4-88 88z\"]\n};\nvar faVhs = faCassetteVhs;\nvar faInfinity = {\n prefix: 'far',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 237.3C0 159.3 63.3 96 141.3 96c39 0 76.2 16.1 102.9 44.5L320 221l75.8-80.5C422.5 112.1 459.7 96 498.7 96c78 0 141.3 63.3 141.3 141.3v37.4c0 78-63.3 141.3-141.3 141.3c-39 0-76.2-16.1-102.9-44.5L320 291l-75.8 80.5C217.5 399.9 180.3 416 141.3 416C63.3 416 0 352.7 0 274.7V237.3zM287 256l-77.8-82.6c-17.6-18.7-42.2-29.4-68-29.4C89.8 144 48 185.8 48 237.3v37.4c0 51.5 41.8 93.3 93.3 93.3c25.7 0 50.3-10.6 68-29.4L287 256zm65.9 0l77.8 82.6c17.6 18.7 42.2 29.4 68 29.4c51.5 0 93.3-41.8 93.3-93.3V237.3c0-51.5-41.8-93.3-93.3-93.3c-25.7 0-50.3 10.6-68 29.4L353 256z\"]\n};\nvar faVialCircleCheck = {\n prefix: 'far',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 56C0 42.7 10.7 32 24 32h8H80h96 48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V266.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V80H24C10.7 80 0 69.3 0 56zM80 80V192h96V80H80zm0 160V384c0 26.5 21.5 48 48 48s48-21.5 48-48V240H80zM224 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faChimney = {\n prefix: 'far',\n iconName: 'chimney',\n icon: [448, 512, [], \"f78b\", \"M48 176H400V80H48v96zM0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32V360 464c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H288v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H184 80v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V360l0-136c-17.7 0-32-14.3-32-32V64zM80 224V336h80V224H80zm128 0V336h56H368V224H208z\"]\n};\nvar faObjectIntersect = {\n prefix: 'far',\n iconName: 'object-intersect',\n icon: [512, 512, [], \"e49d\", \"M96 48H64c-8.8 0-16 7.2-16 16V96H0V64C0 28.7 28.7 0 64 0H96V48zm32 0V0h96V48H128zM0 128H48v96H0V128zm352 32v48 48 32c0 35.3-28.7 64-64 64H224 208 160V304 256 224c0-35.3 28.7-64 64-64h64 16 48zM160 416h48v32c0 8.8 7.2 16 16 16h32v48H224c-35.3 0-64-28.7-64-64V416zM352 64V96H304V64c0-8.8-7.2-16-16-16H256V0h32c35.3 0 64 28.7 64 64zm64 144V160h32c35.3 0 64 28.7 64 64v32H464V224c0-8.8-7.2-16-16-16H416zM96 304v48H64c-35.3 0-64-28.7-64-64V256H48v32c0 8.8 7.2 16 16 16H96zM288 464h96v48H288V464zm160 48H416V464h32c8.8 0 16-7.2 16-16V416h48v32c0 35.3-28.7 64-64 64zm64-128H464V288h48v96zM304 208H224c-8.8 0-16 7.2-16 16v80h80c8.8 0 16-7.2 16-16V208z\"]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'far',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H176V176.1c.7 0 1.5-.1 2.3-.1zM176 464V352h32V464H176zm-48 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H152h80H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H256V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L282.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H178.3c-31.7 0-61 17.1-76.6 44.7L43.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L128 223.6V464zM472 56l0 281.7-47.9-43.5c-9.8-8.9-25-8.2-33.9 1.6s-8.2 25 1.6 33.9l88 80c9.2 8.3 23.1 8.3 32.3 0l88-80c9.8-8.9 10.5-24.1 1.6-33.9s-24.1-10.5-33.9-1.6L520 337.7 520 56c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faVoicemail = {\n prefix: 'far',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM251.3 336c22.8-25.5 36.7-59.1 36.7-96c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 36.9 13.9 70.5 36.7 96H251.3zM496 144a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faBlockBrick = {\n prefix: 'far',\n iconName: 'block-brick',\n icon: [448, 512, [\"wall-brick\"], \"e3db\", \"M144 80v48h56 48 56V80H144zM96 128V80H64c-8.8 0-16 7.2-16 16v32H96zM48 176v56H200V176H48zm0 160H96V280H48v56zm0 48v32c0 8.8 7.2 16 16 16H200V384H144 96 48zm96-48H304V280H144v56zm208 0h48V280H352v56zm48 48H352 304 248v48H384c8.8 0 16-7.2 16-16V384zm0-208H248v56H400V176zm0-48V96c0-8.8-7.2-16-16-16H352v48h48zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faWallBrick = faBlockBrick;\nvar faFan = {\n prefix: 'far',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M304 40l-4.1 38.2-5.7 52.7c9.4-4 18.9-6.9 28.5-8.6c7-1.2 14-1.9 21-2.2c79-2.9 151.9 53.9 167.7 132.1c.5 2.5 .7 5.1 .7 7.7V264c0 22.1-17.9 40-40 40l-38.2-4.1-52.7-5.7c4 9.4 6.9 18.9 8.6 28.5c1.2 7 1.9 14 2.2 21c2.9 79-53.9 151.9-132.1 167.7c-2.5 .5-5.1 .7-7.7 .7H248c-22.1 0-40-17.9-40-40l4.1-38.2 5.7-52.7c-9.4 4-18.9 6.9-28.5 8.6c-7 1.2-14 1.9-21 2.2C89.4 394.8 16.4 338 .7 259.8c-.5-2.5-.7-5.1-.7-7.7V248c0-22.1 17.9-40 40-40l38.2 4.1 52.7 5.7c-4-9.4-6.9-18.9-8.6-28.5c-1.2-7-1.9-14-2.2-21C117.2 89.4 174 16.4 252.2 .7c2.5-.5 5.1-.7 7.7-.7H264c22.1 0 40 17.9 40 40zm82.3 206.5l76.3 8.3c-15.2-56.4-73.6-95.1-131.8-85.1c-5.5 .9-11.4 2.7-17.8 5.4c-15.7 6.7-33.7 4.6-47.4-5.6s-21-26.8-19.2-43.7l8.3-76.3c-56.4 15.2-95.1 73.6-85.1 131.8c.9 5.5 2.7 11.4 5.4 17.8c6.7 15.7 4.6 33.7-5.6 47.4s-26.8 21-43.7 19.2l-76.3-8.3c15.2 56.4 73.6 95.1 131.8 85.1c5.5-.9 11.4-2.7 17.8-5.4c15.7-6.7 33.7-4.6 47.4 5.6s21 26.8 19.2 43.7l-8.3 76.3c56.4-15.2 95.1-73.6 85.1-131.8c-.9-5.5-2.7-11.4-5.4-17.8c-6.7-15.7-4.6-33.7 5.6-47.4s26.8-21 43.7-19.2zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBagsShopping = {\n prefix: 'far',\n iconName: 'bags-shopping',\n icon: [576, 512, [128717], \"f847\", \"M176 96c0-26.5 21.5-48 48-48s48 21.5 48 48v64H176V96zm-48 64H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64h96V432H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16h48c0-35.3-28.7-64-64-64H320V96c0-53-43-96-96-96s-96 43-96 96v64zm128 96c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H256zm64 80v16c0 35.3 28.7 64 64 64s64-28.7 64-64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 53-43 96-96 96s-96-43-96-96V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faParagraphLeft = {\n prefix: 'far',\n iconName: 'paragraph-left',\n icon: [384, 512, [\"paragraph-rtl\"], \"f878\", \"M304 48h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H224 200 168 144C82.1 0 32 50.1 32 112s50.1 112 112 112h32v72c0 13.3 10.7 24 24 24s24-10.7 24-24l0-72V200 48h32l0 248c0 13.3 10.7 24 24 24s24-10.7 24-24V48zM176 48V176H144c-35.3 0-64-28.7-64-64s28.7-64 64-64h24 8zM120.1 361.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72C2.9 402.7 0 409.2 0 416s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 440H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H86.5l33.5-30.2z\"]\n};\nvar faParagraphRtl = faParagraphLeft;\nvar faPersonWalkingLuggage = {\n prefix: 'far',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M432 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM365.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L384.7 288.6l-16.3-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L503 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C484.1 162.8 437.9 128 385.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7c-39.9 13.3-72.4 42.8-89.5 81.3l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3c10.9-24.4 30.9-43.5 55.6-53.3l-22.8 68.3c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L488.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21l-24.1 60.4L231 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zm-75.7-52c-7.6-4.4-17.4-1.8-21.9 5.8L203 335.9 147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c.6-1 1.1-1.9 1.5-2.9L253.8 312c4.4-7.6 1.8-17.4-5.8-21.9z\"]\n};\nvar faCaravanSimple = {\n prefix: 'far',\n iconName: 'caravan-simple',\n icon: [640, 512, [\"caravan-alt\"], \"e000\", \"M80 80c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32h28.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H528V192c0-61.9-50.1-112-112-112H80zM96 416H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V368l40 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-40 0H528 288c0 53-43 96-96 96s-96-43-96-96zm0-256c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160zm256-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM240 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCaravanAlt = faCaravanSimple;\nvar faTurtle = {\n prefix: 'far',\n iconName: 'turtle',\n icon: [576, 512, [128034], \"f726\", \"M336 240V208c0-70.7-57.3-128-128-128S80 137.3 80 208v32H336zm48-32v41.2c0 21.4-17.4 38.8-38.8 38.8H70.8C49.4 288 32 270.6 32 249.2V208c0-97.2 78.8-176 176-176s176 78.8 176 176zm96 80c-8.3 0-16.3-1.6-23.6-4.5C440.3 328 400.4 361 352 367v1 72c0 22.1-17.9 40-40 40H264c-22.1 0-40-17.9-40-40V368H192v72c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V368H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64h48 32 48 32 48 32 32c44.2 0 80-35.8 80-80V224 192 176c0-35.3 28.7-64 64-64c53 0 96 43 96 96v16c0 35.3-28.7 64-64 64H480zM272 368v64h32V368H272zm-160 0v64h32V368H112zM496 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faPencilMechanical = {\n prefix: 'far',\n iconName: 'pencil-mechanical',\n icon: [512, 512, [], \"e5ca\", \"M500.7 36.7L475.3 11.3C468.1 4.1 458.2 0 448 0s-20.1 4.1-27.3 11.3L389.5 42.5c-4.3-1.6-8.9-2.5-13.5-2.5c-10.2 0-20.1 4.1-27.3 11.3L317 83 287.6 53.7c-21.9-21.9-57.3-21.9-79.2 0L103 159c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L242.3 87.6c3.1-3.1 8.2-3.1 11.3 0L283 117 72.8 327.2C67 333 62.8 340.1 60.6 348L32.8 445.3 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l25.7-25.7L164 451.4c7.8-2.2 15-6.4 20.8-12.2L460.7 163.3c7.2-7.2 11.3-17.1 11.3-27.3c0-4.7-.8-9.3-2.5-13.5l31.1-31.1C507.9 84.1 512 74.2 512 64s-4.1-20.1-11.3-27.3zM376 91.9L420.1 136 183 373.1 138.9 329 376 91.9zM89.1 422.9l16.9-59 42.2 42.2-59 16.9z\"]\n};\nvar faUpDown = {\n prefix: 'far',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M111.7 6.4c9.2-8.5 23.4-8.5 32.6 0l96.8 89.4c9.5 8.8 14.9 21.1 14.9 34c0 25.5-20.7 46.3-46.3 46.3H200V336h9.7c25.5 0 46.3 20.7 46.3 46.3c0 12.9-5.4 25.2-14.9 34l-96.8 89.4c-9.2 8.5-23.4 8.5-32.6 0L14.9 416.2C5.4 407.5 0 395.2 0 382.3C0 356.7 20.7 336 46.3 336H56V176H46.3C20.7 176 0 155.3 0 129.7c0-12.9 5.4-25.2 14.9-34L111.7 6.4zM50.7 128H80c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24H50.7L128 455.3 205.3 384H176c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24h29.3L128 56.7 50.7 128zM47.4 381s0 0 0 0l-1.2 1.3 1.2-1.3 0 0z\"]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'far',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M353.6 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.2 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5C417 0 363.5 46.5 353.6 107.6zM85.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zM128.1 192c0-26.5 21.5-48 48-48c22.8 0 41.9 15.9 46.8 37.2c2.1 8.9 9 15.9 18 18s18.3-1.2 24.1-8.3c7.4-9.1 18.6-14.9 31.1-14.9c20.3 0 37.2 15.2 39.7 34.8c.1 .6 .2 1.2 .3 1.7v1.1c0 .3 0 .6 0 .9c0 .5 0 1 0 1.5s0 1 0 1.5c0 .3 0 .6 0 .9v30.2c0 7 3 13.6 8.3 18.1s12.2 6.6 19.1 5.6c1.5-.2 3-.3 4.6-.3c17.7 0 32 14.3 32 32s-14.3 32-32 32c-.4 0-.9 0-1.3 0c-.2 0-.4 0-.6 0c-.1 0-.2 0-.4 0H98.9c-.3 0-.6 0-.9 0c-.6 0-1.2 0-1.9 0c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.4 0 2.7 .1 4 .2c13.2 1.1 24.8-8.7 25.9-21.9l2-23.8c.1-.8 .1-1.6 .1-2.5zm48-96c-52.6 0-95.4 42.4-96 94.8l-.2 2.5C34.6 201 .1 240.5 .1 288c0 53 43 96 96 96c1.1 0 2.2 0 3.2-.1h266c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-38.7-27.5-71-64-78.4v-6.9c0-.9 0-1.8 0-2.7s0-1.8 0-2.7V208c0-2.9-.5-5.7-1.5-8.3c-7.7-40.8-43.4-71.7-86.5-71.7c-14.7 0-28.5 3.6-40.6 9.9C238.1 112.6 209.1 96 176.1 96z\"]\n};\nvar faBoothCurtain = {\n prefix: 'far',\n iconName: 'booth-curtain',\n icon: [512, 512, [], \"f734\", \"M56 48c-4.4 0-8 3.6-8 8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H58h.2 .2 .2 .2 .2H59h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H61h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H63h.2 .2 .2 .2H64h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H66h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H68h.2 .2 .2 .2H69h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H71h.2 .2 .2 .2H72h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H75h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H78h.2 .2 .2 .2H79h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H82h.2 .2 .2 .2H83h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H86h.2 .2 .2 .2H87h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H90h.2 .2 .2 .2H91h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H94h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H97h.2 .2 .2 .2H98h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1V48h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H142h-.1-.1-.1-.1-.1-.1-.1H141h-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1-.1H139h-.1-.1-.1-.1-.1-.1-.1H138h-.1-.1-.1-.1-.1-.1H137h-.1-.1-.1-.1-.1-.1H136h-.1-.1-.1-.1-.1-.1H135h-.1-.1-.1-.1-.1-.1H134h-.1-.1-.1-.1-.1-.1H133h-.1-.1-.1-.1-.1-.1H132h-.1-.1-.1-.2-.2-.2-.2-.2-.2-.2-.2-.2H130h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H128h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H126h-.2-.2-.2-.2-.2H125h-.2-.2-.2-.2-.2H124h-.2-.2-.2-.2-.2H123h-.2-.2-.2-.2-.2H122h-.2-.2-.2-.2-.2H121h-.2-.2-.2-.2-.2H120h-.2-.2-.2-.2-.2H119h-.2-.2-.2-.2-.2H118h-.2-.2-.2-.2-.2H117h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H114h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H111h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H109h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H107h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H105h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H103h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H100h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H98h-.2-.2-.2-.2H97h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H94h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H91h-.2-.2-.2-.2H90h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H87h-.2-.2-.2-.2H86h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H83h-.2-.2-.2-.2H82h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H79h-.2-.2-.2-.2H78h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H75h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H72h-.2-.2-.2-.2H71h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H69h-.2-.2-.2-.2H68h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H66h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H64h-.2-.2-.2-.2H63h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H61h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H59h-.2-.2-.2-.2-.2H58h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H56zM416 0h40c30.9 0 56 25.1 56 56V96 392v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V459.9c-7.5 2.7-15.6 4.1-24 4.1c-18.4 0-35.3-6.9-48-18.3c-12.7 11.4-29.6 18.3-48 18.3s-35.3-6.9-48-18.3c-12.7 11.4-29.6 18.3-48 18.3c-39.8 0-72-32.2-72-72V32c0-17.7 14.3-32 32-32h64 48 48 7.8H416zM368 48H320V392c0 13.3 10.7 24 24 24s24-10.7 24-24V48zm96 344V96 56c0-4.4-3.6-8-8-8H416V96 392c0 13.3 10.7 24 24 24s24-10.7 24-24zm-240 0c0 13.3 10.7 24 24 24s24-10.7 24-24V48H224V392z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192z\"]\n};\nvar faBoxHeart = {\n prefix: 'far',\n iconName: 'box-heart',\n icon: [448, 512, [], \"f49d\", \"M248 80h94.4c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80zM48 208H400V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208zm152-48H59.6L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM212.7 404.7c6.2 6.2 16.4 6.2 22.6 0l77.3-77.3c20.5-20.5 20.5-53.8 0-74.3s-53.8-20.5-74.3 0L224 267.4l-14.3-14.3c-20.5-20.5-53.8-20.5-74.3 0s-20.5 53.8 0 74.3l77.3 77.3z\"]\n};\nvar faTrailer = {\n prefix: 'far',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M64 80H496c8.8 0 16 7.2 16 16V336H275.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM288 384H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H560V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H96c0 53 43 96 96 96s96-43 96-96zM136 112c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zM144 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faUserDoctorMessage = {\n prefix: 'far',\n iconName: 'user-doctor-message',\n icon: [640, 512, [\"user-md-chat\"], \"f82e\", \"M144 128a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128A128 128 0 1 1 224 0a128 128 0 1 1 0 256zm-48 96c-5.4 0-10.8 .3-16 1v49.3c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7v-41c-46.9 19-80 65-80 118.7v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-97.2 78.8-176 176-176h96c97.2 0 176 78.8 176 176v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-53.7-33.1-99.7-80-118.7V402c27.6 7.1 48 32.2 48 62v32c0 8.8-7.2 16-16 16H328c-8.8 0-16-7.2-16-16s7.2-16 16-16h8V464c0-17.7-14.3-32-32-32s-32 14.3-32 32v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V464c0-29.8 20.4-54.9 48-62V353c-5.2-.7-10.6-1-16-1H176zm-8 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM432 0H592c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H544l-83.2 62.4c-2.4 1.8-5.7 2.1-8.4 .8s-4.4-4.1-4.4-7.2V224H432c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48z\"]\n};\nvar faUserMdChat = faUserDoctorMessage;\nvar faBahai = {\n prefix: 'far',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M288 0c10.9 0 20.4 7.3 23.2 17.8l28.1 105.3 89.2-62.6c8.9-6.2 20.9-5.7 29.2 1.3s10.9 18.7 6.3 28.6L417.8 189l108.6 9.4c10.8 .9 19.7 9 21.6 19.7s-3.7 21.3-13.5 25.9L435.6 290l77.2 77c7.7 7.7 9.3 19.6 3.8 29s-16.5 14-27 11.2L384.4 378.8 394 487.4c1 10.8-5.5 21-15.7 24.7s-21.7 .1-27.9-8.8L288 413.9l-62.4 89.4c-6.2 8.9-17.7 12.5-27.9 8.8s-16.7-13.8-15.7-24.7l9.6-108.6L86.4 407.2c-10.5 2.8-21.6-1.8-27-11.2s-3.9-21.3 3.8-29l77.2-77L41.5 244.1c-9.9-4.6-15.4-15.2-13.5-25.9s10.7-18.8 21.6-19.7L158.2 189 112 90.3c-4.6-9.8-2-21.6 6.3-28.6s20.3-7.5 29.2-1.3l89.2 62.6L264.8 17.8C267.6 7.3 277.1 0 288 0zm0 117.1l-13.7 51.6c-2 7.6-7.6 13.7-15 16.4s-15.6 1.6-22-2.9l-43.7-30.7 22.6 48.3c3.3 7.1 3 15.4-1 22.2s-10.9 11.2-18.7 11.9l-53.2 4.6L191.8 261c7.1 3.3 12.2 9.9 13.5 17.6s-1.1 15.6-6.7 21.2l-37.8 37.7 51.5-13.9c7.6-2 15.7-.2 21.7 4.8s9.2 12.7 8.5 20.5L237.8 402l30.6-43.7c4.5-6.4 11.8-10.3 19.7-10.3s15.2 3.8 19.7 10.3L338.2 402l-4.7-53.1c-.7-7.8 2.5-15.5 8.5-20.5s14.1-6.8 21.7-4.8l51.5 13.9-37.8-37.7c-5.5-5.5-8-13.4-6.7-21.2s6.4-14.3 13.5-17.6l48.4-22.5-53.2-4.6c-7.8-.7-14.8-5.1-18.7-11.9s-4.3-15.1-1-22.2l22.6-48.3-43.7 30.7c-6.4 4.5-14.6 5.6-22 2.9s-13-8.8-15-16.4L288 117.1z\"]\n};\nvar faHaykal = faBahai;\nvar faAmpGuitar = {\n prefix: 'far',\n iconName: 'amp-guitar',\n icon: [512, 512, [], \"f8a1\", \"M256 0c-48.9 0-92.5 28.8-121.6 53.8c-10.7 9.2-20 18.3-27.5 26.2H64C28.7 80 0 108.7 0 144v80 24 24V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V272 248 224 144c0-35.3-28.7-64-64-64H405.1c-7.5-7.9-16.8-17.1-27.5-26.2C348.5 28.8 304.9 0 256 0zm0 48c26.4 0 53.6 13.8 77.7 32H178.3c24.1-18.2 51.4-32 77.7-32zM464 272V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V272H464zm0-48H48V144c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16v80zM112 200a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM384 304a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-32 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-96-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-96-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-96-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 352a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm288-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faSdCard = {\n prefix: 'far',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M336 64V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V154.5c0-4.2 1.7-8.3 4.7-11.3l90.5-90.5c3-3 7.1-4.7 11.3-4.7H320c8.8 0 16 7.2 16 16zm48 384V64c0-35.3-28.7-64-64-64H154.5c-17 0-33.3 6.7-45.3 18.7L18.7 109.3C6.7 121.3 0 137.5 0 154.5V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64zM176 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96z\"]\n};\nvar faVolumeSlash = {\n prefix: 'far',\n iconName: 'volume-slash',\n icon: [640, 512, [128263], \"f2e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.1 386.2C556.7 352 576 306.3 576 256c0-60.1-27.7-113.8-70.9-149c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C507.3 170.7 528 210.9 528 256c0 39.1-15.6 74.5-40.9 100.5L449 326.6c19-17.5 31-42.7 31-70.6c0-30.1-13.9-56.9-35.4-74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C425.1 227.6 432 241 432 256s-6.9 28.4-17.7 37.3c-1.3 1-2.4 2.2-3.4 3.4L352 250.6V61.8C352 45.3 338.7 32 322.2 32c-7.3 0-14.3 2.7-19.8 7.5L199.5 131 38.8 5.1zm199.1 156L304 102.3V213l-66.1-51.8zM32 216v80c0 30.9 25.1 56 56 56h78.9L302.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V373.3l-48-37.8v74.2L191.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H88c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h54.2L81.7 160.4C53.7 163.5 32 187.2 32 216z\"]\n};\nvar faBorderBottom = {\n prefix: 'far',\n iconName: 'border-bottom',\n icon: [448, 512, [], \"f84d\", \"M448 456c0 13.3-10.7 24-24 24L24 480c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24zM384 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 352A32 32 0 1 1 0 352a32 32 0 1 1 64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM448 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 160a32 32 0 1 1 64 0A32 32 0 1 1 0 160zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm128 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM448 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm32 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm64 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faWifiWeak = {\n prefix: 'far',\n iconName: 'wifi-weak',\n icon: [640, 512, [\"wifi-1\"], \"f6aa\", \"M264 424a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faWifi1 = faWifiWeak;\nvar faDragon = {\n prefix: 'far',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M273 17c3.1-10.1 12.4-17 23-17H424h24 27.8c35 0 68.3 15.3 91.1 41.9l56 65.4c11 12.8 17 29.1 17 46c0 39.1-31.7 70.7-70.7 70.7H546.5c-23.3 0-45.7-9.3-62.2-25.8l-3.9-3.9c1.7 12.7 8.4 24.3 18.8 32L592 296c30.2 22.7 48 58.2 48 96c0 66.3-53.7 120-120 120H432 56.5C27.7 512.3 3 490.4 .2 461.3c-2.9-30.8 19.7-58.1 50.5-61l345.6-32.6-12-13.1C353.3 320.6 336 276.2 336 230.2V188.1v0l0-.1v0l0-32-49.7-22.1c-8.3-3.7-13.8-11.8-14.2-20.9s4.4-17.6 12.3-22l37.6-20.9L282.7 44C273.9 38.1 270 27.2 273 17zM375.3 48l6 4c7 4.6 11 12.6 10.7 20.9s-5 15.9-12.3 20l-29.9 16.6 20 8.9c8.7 3.9 14.3 12.4 14.3 21.9l0 47.5v0l0 .1v0 42.1c0 34 12.8 66.8 35.7 91.9l44.6 48.7c6.2 6.7 8 16.3 4.7 24.8s-11.1 14.4-20.1 15.3L55.2 448c-4.4 .4-7.6 4.3-7.2 8.7c.4 4.2 3.9 7.3 8 7.3l.3 0v0H432h88c39.8 0 72-32.2 72-72c0-22.7-10.7-44-28.8-57.6l-92.8-69.6C446.2 246.7 432 218.2 432 188V168c0-13.3 10.7-24 24-24h32c6.4 0 12.5 2.5 17 7l13.3 13.3c7.5 7.5 17.7 11.7 28.3 11.7h22.8c12.5 0 22.7-10.2 22.7-22.7c0-5.4-1.9-10.7-5.5-14.8l-56-65.4C516.8 57.2 496.9 48 475.8 48H448 424 375.3zM514.6 95.2c-1.8 2.2-4 4.1-6.6 5.6c-11.5 6.6-26.2 2.7-32.8-8.8c-1.3-2.3-2.2-4.8-2.7-7.3c-.9-4.6 3.7-7.7 8.3-6.5l29.6 7.4c4.5 1.1 7.2 6 4.2 9.6zM520 79.5v.9c0-.3 0-.6 0-.9zM189.4 112.4L304 188.8v41.4c0 31.2 6.8 61.8 19.5 89.8H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1z\"]\n};\nvar faShoePrints = {\n prefix: 'far',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M323.7 62.6C355.1 54.7 390.3 48 416 48c41.2 0 89.8 10.6 126.5 28.9C582 96.7 592 116.3 592 128c0 9.4-5.1 21.5-35.9 33.1c-29.4 11.1-67 14.9-92.1 14.9c-34.7 0-53.5-10.4-80.2-25.7l-.7-.4c-20.6-11.8-45.1-25.8-79.1-33V67.8c6-1.7 12.7-3.4 19.7-5.2zM256 160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0C352.3 0 256 32 256 32v80 48h0zM128 96c0 35.3 28.7 64 64 64h32V32H192c-35.3 0-64 28.7-64 64zm67.7 353.4c-7-1.8-13.7-3.5-19.7-5.2V395.1c34-7.3 58.5-21.3 79.1-33l.7-.4C282.5 346.4 301.3 336 336 336c25.2 0 62.7 3.7 92.1 14.9C458.9 362.5 464 374.6 464 384c0 11.7-10 31.3-49.5 51.1C377.8 453.4 329.2 464 288 464c-25.7 0-60.9-6.7-92.3-14.6zM128 352h0v48 80s96.3 32 160 32c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32zM0 416c0 35.3 28.7 64 64 64H96V352H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCirclePlus = {\n prefix: 'far',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'far',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M348.3 442.4c2.4-8.4 3.7-17.3 3.7-26.4V363.5c8.8-8 16.6-17.1 23-27c10.4-16.1-6.8-32.5-25.5-28.1c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c6.5 10 14.3 19.1 23.1 27.1V416c0 9.2 1.3 18 3.7 26.4C95.1 408.4 48 337.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 81.7-47.1 152.4-115.7 186.4zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C199.7 186.8 179 180 159.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zm176.7 12a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-.4-72a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM320 416c0 35.3-28.7 64-64 64s-64-28.7-64-64V378.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'far',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M165.2 358.7c6.6-4.4 14.3-6.7 22.2-6.7H344c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 256c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 24 48c4.4 0 8.8-1.2 12.6-3.6l93.5-57.5c3.1-1.9 6.7-2.9 10.3-2.9h7.4c6.8 0 12.3 5.5 12.3 12.3c0 4.2-2.1 8-5.6 10.3l-95.6 61.9C415.1 460 401.5 464 387.7 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H387.7c23.1 0 45.8-6.7 65.2-19.3l95.6-61.9c17.2-11.1 27.5-30.2 27.5-50.6c0-33.3-27-60.3-60.3-60.3h-7.4c-12.5 0-24.8 3.5-35.5 10L408 370c0-.7 0-1.3 0-2c0-35.3-28.7-64-64-64H187.4c-17.4 0-34.4 5.1-48.8 14.8L64.7 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c4.7 0 9.4-1.4 13.3-4l79.9-53.3z\"]\n};\nvar faPlugCircleExclamation = {\n prefix: 'far',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faLinkSlash = {\n prefix: 'far',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l91-91c56.2-56.2 56.2-147.3 0-203.5C526.8 10.2 440.9 7.3 383.9 57.2l-6.1 5.4c-10 8.7-11 23.9-2.3 33.9s23.9 11 33.9 2.3l6.1-5.4c38-33.2 95.2-31.3 130.9 4.4c37.4 37.4 37.4 98.1 0 135.6l-95.1 95.1-45.5-35.7c24.2-53.3 14.1-117.9-29.3-161.3c-52.1-52.1-134.4-55.9-190.8-11.2L38.8 5.1zm186.3 146c36.9-22.3 85.6-17.6 117.4 14.3c26 26 34 63.3 23.7 96.4L225.1 151.1zM406.9 416.6l-54.2-42.7c-20.2-2.7-39.7-11.7-55.2-27.3c-9.8-9.8-17-21.2-21.7-33.3l-54.2-42.7c-2.2 39.6 11.9 79.9 41.9 109.9c38.8 38.8 94.2 50.8 143.4 36zM116.6 187.9L59.7 244.8C3.5 301 3.5 392.1 59.7 448.2c53.6 53.6 139.5 56.4 196.5 6.5l6.1-5.4c10-8.7 11-23.9 2.3-33.9s-23.9-11-33.9-2.3l-6.1 5.4c-38 33.2-95.2 31.3-130.9-4.4c-37.4-37.4-37.4-98.1 0-135.6l60.9-60.9-38-29.9z\"]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M64 464H288c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM224 352c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H224z\"]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'far',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM141.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L160.7 288.6l-16.4-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L279 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C260.1 162.8 213.9 128 161.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7C69.1 149 36.6 178.5 19.5 217l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3C74.3 212 94.3 192.9 119 183.1L96.2 251.4c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L264.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21L75.5 402.5 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zM447 449c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-39-39H484c86.2 0 156-69.8 156-156s-69.8-156-156-156L344 64c-13.3 0-24 10.7-24 24s10.7 24 24 24l140 0c59.6 0 108 48.4 108 108s-48.4 108-108 108H441.9l39-39c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9l80 80z\"]\n};\nvar faArrowUpZA = {\n prefix: 'far',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M352 32H480c9.4 0 18 5.5 21.9 14.2s2.3 18.7-4 25.8L405.4 176H480c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-9.4 0-18-5.5-21.9-14.2s-2.3-18.7 4-25.8L426.6 80H352c-13.3 0-24-10.7-24-24s10.7-24 24-24zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM416 272c9.1 0 17.4 5.1 21.5 13.3l80 160c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-13.6-27.2c-1.6 .3-3.2 .5-4.9 .5H370.8l-13.4 26.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l80-160c4.1-8.1 12.4-13.3 21.5-13.3zM394.8 392h42.3L416 349.7 394.8 392z\"]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'far',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M53.9 186.1C19.4 220.6 0 267.4 0 316.2v11.5C0 429.5 82.5 512 184.3 512h15.1C301.4 512 384 429.4 384 327.4c0-66.1-27.1-129.2-74.9-174.8L230.9 78.2C221.4 69.1 216 56.6 216 43.4V37.3v-16C216 9.6 206.4 0 194.7 0c-6.7 0-13 3.2-17.1 8.5L168 21.3l-9.9 13.2c-14.4 19.3-23.2 42.2-25.2 66.2l-.9 10.8c-.3 3.9-.5 7.8-.4 11.7c.2 22.9 6.6 45.4 18.4 65c2.2 3.7 4.6 7.2 7.2 10.6L168 213.3l21.2 28.3c7 9.3 10.8 20.7 10.8 32.4v14c0 22.1-17.9 40-40 40s-40-17.9-40-40V229.3v-2.5V188.3c0-15.6-12.7-28.3-28.3-28.3c-1.3 0-2.6 .1-3.9 .3c-6 .8-11.7 3.6-16.1 8L53.9 186.1zm18.1 53V288c0 48.6 39.4 88 88 88s88-39.4 88-88V274c0-22.1-7.2-43.5-20.4-61.2l-32-42.7c-11.8-15.7-17.4-35.1-15.7-54.6l.9-10.8c.3-3.6 .8-7.2 1.6-10.7c4.3 6.9 9.4 13.3 15.4 18.9l33.1-34.8-33.1 34.8L276 187.4c38.3 36.5 60 87.1 60 140C336 402.9 274.9 464 199.4 464H184.3C109 464 48 403 48 327.7V316.2c0-27.7 8.5-54.6 24-77.2z\"]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'far',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M332.4 48H48c.3 28 6.3 55.1 17 80H304.1c-.1-1.8-.1-3.6-.1-5.4C304 95 314.2 68.5 332.4 48zM317.5 176H94c15.5 19.3 34.6 35.9 56.6 48.9L203.5 256H376l-49.6-66.1c-3.3-4.4-6.3-9.1-8.9-13.9zm80.9 128H282.9c19.9 15.1 36.1 34.6 47.3 57c8.9 17.8 14.4 37 16.4 56.5l23.6-23.6c19.1-19.1 29.8-45 29.8-72c0-6-.5-12.1-1.6-17.9zm5.7 123.9L340 492l-.4 .4L336 496l-10.1 10.1c-3.8 3.8-8.9 5.9-14.2 5.9c-12.4 0-21.8-11.1-19.8-23.4l2.4-14.1 .8-5 .1-.5 2.7-16c4-24 .3-48.7-10.6-70.5c-10-19.9-25.5-36.5-44.6-47.8L126.2 266.2C48 220.2 0 136.3 0 45.6V32C0 14.3 14.3 0 32 0H393.4C405.9 0 416 10.1 416 22.6c0 6-2.4 11.8-6.6 16L370.8 77.2c-12 12-18.8 28.4-18.8 45.4c0 13.9 4.5 27.4 12.8 38.5L418 232c19.4 25.9 30 57.5 30 89.9c0 39.7-15.8 77.8-43.9 105.9z\"]\n};\nvar faFileCirclePlus = {\n prefix: 'far',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faDeleteRight = {\n prefix: 'far',\n iconName: 'delete-right',\n icon: [576, 512, [], \"e154\", \"M370.7 64c17 0 33.3 6.7 45.3 18.7L566.6 233.4c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6L416 429.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H370.7zM48 128V384c0 8.8 7.2 16 16 16H370.7c4.2 0 8.3-1.7 11.3-4.7L521.4 256 382.1 116.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16zm95 47c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faBookQuran = {\n prefix: 'far',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M360 0c48.6 0 88 39.4 88 88V424h-.4c.3 2.6 .4 5.3 .4 8c0 44.2-35.8 80-80 80H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V394.6c-18.9-9-32-28.3-32-50.6V56C0 25.1 25.1 0 56 0H360zM80 400v64H368c17.7 0 32-14.3 32-32s-14.3-32-32-32H80zm288-48c11.4 0 22.2 2.4 32 6.7V88c0-22.1-17.9-40-40-40H56c-4.4 0-8 3.6-8 8V344c0 4.4 3.6 8 8 8H368zM282.1 150.2c2.2-5.3 9.6-5.3 11.8 0l8.9 21.4 23.1 1.9c5.7 .5 8 7.5 3.7 11.2L312 199.8l5.4 22.6c1.3 5.5-4.7 9.9-9.6 6.9L288 217.2l-19.8 12.1c-4.9 3-10.9-1.4-9.6-6.9l5.4-22.6-17.6-15.1c-4.3-3.7-2-10.8 3.7-11.2l23.1-1.9 8.9-21.4zm-24.6-45.6c4.1 1.8 6.5 5.9 6.5 10.3c0 7.6-7.1 13.2-14.7 13.1c-.4 0-.8 0-1.3 0c-39.8 0-72 32.2-72 72s32.2 72 72 72c.4 0 .8 0 1.3 0c7.6-.1 14.7 5.5 14.7 13.1c0 4.4-2.4 8.5-6.5 10.3c-12.7 5.5-26.8 8.6-41.5 8.6c-57.4 0-104-46.6-104-104s46.6-104 104-104c14.8 0 28.8 3.1 41.5 8.6z\"]\n};\nvar faQuran = faBookQuran;\nvar faCircleQuarter = {\n prefix: 'far',\n iconName: 'circle-quarter',\n icon: [512, 512, [], \"e11f\", \"M208 53.6V208L53.6 208C71.6 131.7 131.7 71.6 208 53.6zM2 224.1C-.2 241.6 14.3 256 32 256l192 0c17.7 0 32-14.3 32-32V32c0-17.7-14.4-32.2-31.9-30C108.2 16.4 16.4 108.2 2 224.1z\"]\n};\nvar faAnchor = {\n prefix: 'far',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c100.2 0 181.8-80.2 184-179.9l16.4 14.1c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.2-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l16.3-14C469.7 405.4 409.7 464 336 464H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80z\"]\n};\nvar faBorderAll = {\n prefix: 'far',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 80c8.8 0 16 7.2 16 16V232H248V80H384zm16 200V416c0 8.8-7.2 16-16 16H248V280H400zM200 232H48V96c0-8.8 7.2-16 16-16H200V232zM48 280H200V432H64c-8.8 0-16-7.2-16-16V280zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFunction = {\n prefix: 'far',\n iconName: 'function',\n icon: [640, 512, [], \"f661\", \"M72 88c0-48.6 39.4-88 88-88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H160c-22.1 0-40 17.9-40 40V192h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120V390.7c0 44.8-33.7 82.5-78.3 87.5l-15.1 1.7c-13.2 1.5-25-8-26.5-21.2s8-25 21.2-26.5l15.1-1.7C56.7 428.2 72 411.1 72 390.7V240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H72V88zm244.3 76.8C288.4 209.1 272 262.5 272 320s16.4 110.9 44.3 155.2c7.1 11.2 3.7 26-7.5 33.1s-26 3.7-33.1-7.5C243 448.9 224 386.7 224 320s19-128.9 51.7-180.8c7.1-11.2 21.9-14.6 33.1-7.5s14.6 21.9 7.5 33.1zm231.4 0c-7.1-11.2-3.7-26 7.5-33.1s26-3.7 33.1 7.5C621 191.1 640 253.3 640 320s-19 128.9-51.7 180.8c-7.1 11.2-21.9 14.6-33.1 7.5s-14.6-21.9-7.5-33.1C575.6 430.9 592 377.5 592 320s-16.4-110.9-44.3-155.2zM393 247l39 39 39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-39 39 39 39c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faFaceAngry = {\n prefix: 'far',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm72.4-118.5c9.7-9 10.2-24.2 1.2-33.9C315.3 344.3 290.6 328 256 328s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faAngry = faFaceAngry;\nvar faPeopleSimple = {\n prefix: 'far',\n iconName: 'people-simple',\n icon: [512, 512, [], \"e21b\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM73.7 237.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h80 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C180.9 220.8 167 208 150.4 208H105.6c-16.6 0-30.5 12.8-31.9 29.3zm160.5 45.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3zM384 0a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM352.9 219.6L319.6 336H448.4L415.1 219.6c-2-6.9-8.2-11.6-15.4-11.6H368.3c-7.1 0-13.4 4.7-15.4 11.6zm-46.2-13.2c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H298.4c-21.3 0-36.6-20.3-30.8-40.8l39.1-136.8z\"]\n};\nvar faCookieBite = {\n prefix: 'far',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M182.8 28.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4zm34.9 37.5c19 54.5 63.9 96.7 120 111.9c17.7 50.9 58.1 91.1 109.1 108.7c-1 4.8-2.5 9.5-4.7 13.9L405.4 376c-5.4 11-14.1 20.1-24.8 25.8l-74 39.5c-10.8 5.7-23 7.9-35.1 6.2l-83-11.7c-12-1.7-23.3-7.2-32-15.7l-29.7 30.7 29.7-30.7L96.2 361.7c-8.8-8.5-14.7-19.6-16.8-31.7L64.9 247.2c-2.1-12.1-.4-24.6 5-35.6L106.6 136c5.4-11 14.1-20.1 24.8-25.8l74-39.5c3.9-2.1 8.1-3.7 12.4-4.9zM192 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowTrendDown = {\n prefix: 'far',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M352 392c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1L337 143c-9.4-9.4-24.6-9.4-33.9 0l-111 111L41 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L175 305c9.4 9.4 24.6 9.4 33.9 0l111-111L494.1 368H376c-13.3 0-24 10.7-24 24z\"]\n};\nvar faRss = {\n prefix: 'far',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M0 56C0 42.7 10.7 32 24 32c234.2 0 424 189.8 424 424c0 13.3-10.7 24-24 24s-24-10.7-24-24C400 248.3 231.7 80 24 80C10.7 80 0 69.3 0 56zM64 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM24 176c154.6 0 280 125.4 280 280c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-128.1-103.9-232-232-232c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFeed = faRss;\nvar faFaceMonocle = {\n prefix: 'far',\n iconName: 'face-monocle',\n icon: [512, 512, [], \"e380\", \"M448 336.1V224c0-61.9-50.1-112-112-112s-112 50.1-112 112s50.1 112 112 112c31.3 0 59.7-12.9 80-33.6v86.5C377.8 434.8 320.3 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c16.7 0 32.9 2 48.4 5.7c-6.9 2.8-13.3 6.6-19.2 11.2L262 83.5c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l23.2-18.6c8-6.4 18-9.9 28.2-9.9c8.9 0 17.6 2.6 25.1 7.6l8.6 5.7c5.7 3.8 12.9 3.5 18.2-.3c48 38.1 78.7 96.9 78.7 163c0 28.4-5.7 55.5-16 80.1zm3.9 84.7C489.4 376.3 512 318.8 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c65.8 0 125.9-24.8 171.2-65.7c10.2 22.8 27.1 42.5 48.9 56.1l11.4 7.1c7.5 4.7 17.4 2.4 22-5.1s2.4-17.4-5.1-22l-11.4-7.1c-20.2-12.6-34.7-32.2-41.3-54.5zM256 224a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm-79.6-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm144 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM144 352c0 8.8 7.2 16 16 16c14.3 0 37.9 2.9 60.6 11.7c22.8 8.8 42.7 22.7 53.1 43.4c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5c-15.3-30.5-43.3-48.6-70.1-59C205.3 339.5 177.7 336 160 336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDrawPolygon = {\n prefix: 'far',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M80 96A16 16 0 1 0 48 96a16 16 0 1 0 32 0zm8 59.3V356.7c16 6.5 28.9 19.3 35.3 35.3H324.7c2.1-5.2 4.9-10.1 8.2-14.5L298 319.2c-3.2 .5-6.6 .8-10 .8c-35.3 0-64-28.7-64-64s28.7-64 64-64c3.4 0 6.7 .3 10 .8l34.9-58.2c-3.3-4.4-6.1-9.3-8.2-14.5H123.3c-6.5 16-19.3 28.9-35.3 35.3zM374.1 352.8c3.2-.5 6.6-.8 9.9-.8c35.3 0 64 28.7 64 64s-28.7 64-64 64c-26.9 0-49.9-16.5-59.3-40H123.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V155.3C16.5 145.9 0 122.9 0 96C0 60.7 28.7 32 64 32c26.9 0 49.9 16.5 59.3 40H324.7c9.5-23.5 32.5-40 59.3-40c35.3 0 64 28.7 64 64s-28.7 64-64 64c-3.4 0-6.7-.3-9.9-.8l-34.9 58.2c8.1 10.7 12.9 24.1 12.9 38.5s-4.8 27.8-12.9 38.5l34.9 58.2zM400 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM64 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm336-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faScaleBalanced = {\n prefix: 'far',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M520 48H393.3C381 19.7 352.8 0 320 0s-61 19.7-73.3 48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H241.6c5.8 28.6 26.9 51.7 54.4 60.3V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H320 520c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V156.3c27.5-8.6 48.6-31.7 54.4-60.3H520c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-8 147.8L584.4 320H439.6L512 195.8zM386 337.1C396.8 382 449.1 416 512 416s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 141.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 305.1c-5.7 9.8-9.3 21.1-6.7 32.1zM54.4 320l72.4-124.2L199.3 320H54.4zm72.4 96c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L150.9 141.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L7.6 305.1c-5.7 9.8-9.3 21.1-6.7 32.1C11.7 382 64 416 126.8 416zM320 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faCalendarLines = {\n prefix: 'far',\n iconName: 'calendar-lines',\n icon: [448, 512, [\"calendar-note\"], \"e0d5\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zm48 88c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm24 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faCalendarNote = faCalendarLines;\nvar faArrowDownBigSmall = {\n prefix: 'far',\n iconName: 'arrow-down-big-small',\n icon: [576, 512, [\"sort-size-down\"], \"f88c\", \"M143 473L47 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55V56c0-13.3 10.7-24 24-24s24 10.7 24 24V398.1l55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-96 96c-9.4 9.4-24.6 9.4-33.9 0zM368 368v64h64V368H368zm-48 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V368zm48-160H496V80L368 80V208zm-48 0V80c0-26.5 21.5-48 48-48H496c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48z\"]\n};\nvar faSortSizeDown = faArrowDownBigSmall;\nvar faGaugeSimpleHigh = {\n prefix: 'far',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-14-5.1-26.8-13.7-36.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L254.4 296c-30.2 .8-54.4 25.6-54.4 56c0 30.9 25.1 56 56 56s56-25.1 56-56z\"]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faDoNotEnter = {\n prefix: 'far',\n iconName: 'do-not-enter',\n icon: [512, 512, [], \"f5ec\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm128-48H384c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32z\"]\n};\nvar faShower = {\n prefix: 'far',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M48 123.9C48 99.6 67.6 80 91.9 80c11.6 0 22.8 4.6 31 12.9l6.7 6.7c-27.8 43.4-22.8 101.7 15.1 139.6l7 7-.8 .8c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-.8 .8L303.4 81l-.2-.2c-37.9-37.9-96.2-43-139.6-15.1l-6.7-6.7C139.6 41.7 116.3 32 91.9 32C41.1 32 0 73.1 0 123.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V123.9zM269.5 115l6.8 6.8-90.5 90.5-7-7c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l.2 .2 0 0zM416 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDiceD8 = {\n prefix: 'far',\n iconName: 'dice-d8',\n icon: [512, 512, [], \"f6d2\", \"M239 7c9.4-9.4 24.6-9.4 33.9 0L505 239c9.4 9.4 9.4 24.6 0 33.9L273 505c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L239 7zM126.2 324.3L232 430.1V368L126.2 324.3zM280 368v62L385.8 324.3 280 368zM445.6 247.6L280 81.9V316.1l165.6-68.5zM232 81.9L66.4 247.6 232 316.1V81.9z\"]\n};\nvar faDesktop = {\n prefix: 'far',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M512 48H64c-8.8 0-16 7.2-16 16V256H528V64c0-8.8-7.2-16-16-16zm64 208v48 48c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48H64c-35.3 0-64-28.7-64-64V304 256 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V256zM48 304v48c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V304H48zM252.3 464h71.3l-8-48H260.3l-8 48z\"]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'far',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M17.1 33C27.3 30 38.2 34 44 42.8L224 316.3 403.9 42.8C409.8 34 420.7 30 430.9 33S448 45.4 448 56V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V136.1l-156 237c-4.4 6.7-12 10.8-20 10.8s-15.6-4.1-20-10.8L48 136.1V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 45.4 7 36.1 17.1 33z\"]\n};\nvar faGripDotsVertical = {\n prefix: 'far',\n iconName: 'grip-dots-vertical',\n icon: [256, 512, [], \"e411\", \"M64 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM96 416a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96-288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 448a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceViewfinder = {\n prefix: 'far',\n iconName: 'face-viewfinder',\n icon: [512, 512, [], \"e2ff\", \"M0 56v80c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-4.4 3.6-8 8-8h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C25.1 0 0 25.1 0 56zM352 24c0 13.3 10.7 24 24 24h80c4.4 0 8 3.6 8 8v80c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-30.9-25.1-56-56-56H376c-13.3 0-24 10.7-24 24zM24 352c-13.3 0-24 10.7-24 24v80c0 30.9 25.1 56 56 56h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-4.4 0-8-3.6-8-8V376c0-13.3-10.7-24-24-24zm464 0c-13.3 0-24 10.7-24 24v80c0 4.4-3.6 8-8 8H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c30.9 0 56-25.1 56-56V376c0-13.3-10.7-24-24-24zM240 216a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-40-96a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 272a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM214.4 280c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c13.8 23.9 39.7 40 69.3 40s55.5-16.1 69.3-40c4.4-7.6 1.8-17.4-5.8-21.9s-17.4-1.8-21.9 5.8c-8.3 14.4-23.8 24-41.6 24s-33.3-9.6-41.6-24z\"]\n};\nvar faSoftServe = {\n prefix: 'far',\n iconName: 'soft-serve',\n icon: [384, 512, [127846, \"creemee\"], \"e400\", \"M192 0c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l10.8 16.3c.7 1.1 1.1 2.4 1.1 3.7c0 3.7-3 6.7-6.7 6.7H140c-42 0-76 34-76 76c0 5.4 .6 10.7 1.7 15.8C27.7 167.2 0 202.3 0 244c0 34.9 19.4 65.2 48 80.8V352c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5H259.4c16.3 0 30-12.3 31.8-28.5L302.2 384H304c17.7 0 32-14.3 32-32V324.8c28.6-15.6 48-45.9 48-80.8c0-41.9-28.1-77.3-66.4-88.4c1.6-6.3 2.4-12.8 2.4-19.6v-8C320 57.3 262.7 0 192 0zM292 288H92c-24.3 0-44-19.7-44-44s19.7-44 44-44h4 6.5H112c13.3 0 24-10.7 24-24c0-12.3-9.3-22.5-21.2-23.8c-1.8-3.7-2.8-7.8-2.8-12.2c0-15.5 12.5-28 28-28h37.3c29.7 0 53.9-23.7 54.7-53.3c23.9 13.8 40 39.7 40 69.3v8c0 5.8-1.5 11.3-4.3 16H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h63.2H288h4c24.3 0 44 19.7 44 44s-19.7 44-44 44z\"]\n};\nvar faCreemee = faSoftServe;\nvar faH5 = {\n prefix: 'far',\n iconName: 'h5',\n icon: [640, 512, [], \"e412\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zM440 64c-11.4 0-21.3 8.1-23.5 19.3l-32 160c-1.4 7.1 .4 14.4 5 19.9s11.4 8.8 18.6 8.8H528c35.3 0 64 28.7 64 64s-28.7 64-64 64H464.4c-13.8 0-26-8.8-30.4-21.9l-3.2-9.7c-4.2-12.6-17.8-19.4-30.4-15.2s-19.4 17.8-15.2 30.4l3.2 9.7C399.4 426 429.9 448 464.4 448H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H437.3l22.4-112H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H440z\"]\n};\nvar faHandBackPointDown = {\n prefix: 'far',\n iconName: 'hand-back-point-down',\n icon: [448, 512, [], \"e19e\", \"M144 512c-35.3 0-64-28.7-64-64l0-188.8c-5.2-3.6-10.2-7.6-14.9-11.9L44.8 228.8C26.5 212.1 16 188.5 16 163.7l0-10.2C16 99.5 44.7 49.5 91.4 22.2L94 20.7C117.3 7.1 143.7 0 170.6 0L296 0c66.3 0 120 53.7 120 120l0 8 0 96c0 35.3-28.7 64-64 64c-2.8 0-5.6-.2-8.3-.5c-11 19.4-31.8 32.5-55.7 32.5c-5.3 0-10.5-.7-15.5-1.9c-10.8 20.2-32 33.9-56.5 33.9c-2.7 0-5.4-.2-8-.5l0 96.5c0 35.3-28.7 64-64 64zm-16-64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-136c0-10.3 6.6-19.5 16.4-22.8s20.6 .1 26.8 8.3c3 3.9 7.6 6.4 12.8 6.4c8.8 0 16-7.2 16-16l0-8c0-10.3 6.6-19.5 16.4-22.8s20.6 .1 26.8 8.3c3 3.9 7.6 6.4 12.8 6.4c8.8 0 16-7.2 16-16c0-9.1 5.1-17.4 13.3-21.5s17.9-3.2 25.1 2.3c2.7 2 6 3.2 9.6 3.2c8.8 0 16-7.2 16-16l0-96 0-8c0-39.8-32.2-72-72-72L170.6 48c-18.4 0-36.5 4.9-52.4 14.2l-11.7-20 11.7 20-2.6 1.5C83.6 82.3 64 116.5 64 153.5l0 10.2c0 11.3 4.8 22 13.1 29.6L96 210.5 96 168c0-8.8 7.2-16 16-16s16 7.2 16 16l0 78 0 2 0 200z\"]\n};\nvar faTableList = {\n prefix: 'far',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M192 80v88H464V96c0-8.8-7.2-16-16-16H192zm-48 0H64c-8.8 0-16 7.2-16 16v72h96V80zM48 216v80h96V216H48zm0 128v72c0 8.8 7.2 16 16 16h80V344H48zm144 88H448c8.8 0 16-7.2 16-16V344H192v88zM464 296V216H192v80H464zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faThList = faTableList;\nvar faCommentSms = {\n prefix: 'far',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM204.2 180.6c-4.9 1.6-8.2 6.2-8.2 11.4v96c0 6.6 5.4 12 12 12s12-5.4 12-12V228l26.4 35.2c2.3 3 5.8 4.8 9.6 4.8s7.3-1.8 9.6-4.8L292 228v60c0 6.6 5.4 12 12 12s12-5.4 12-12V192c0-5.2-3.3-9.8-8.2-11.4s-10.3 .1-13.4 4.2L256 236l-38.4-51.2c-3.1-4.1-8.5-5.8-13.4-4.2zM116 214.9c0-3.1 1.3-5.3 4.8-7.4c3.9-2.3 9.6-3.6 15-3.5c6.9 .1 17.4 1.7 24.3 3.5c6.4 1.7 13-2.1 14.7-8.5s-2.1-13-8.5-14.7c-8.6-2.3-21-4.2-30.1-4.3c-8.7-.1-19 1.8-27.6 6.8C99.6 192.2 92 201.5 92 215c.1 12.9 7.6 21.1 15.8 26c7.2 4.3 16.2 7 23.5 9.2l1.1 .3c8.4 2.5 14.6 4.6 19 7.3c3.7 2.3 4.5 4.1 4.5 6.6c.1 3.9-1.5 6.3-4.6 8.2c-3.6 2.2-9.1 3.5-15 3.4c-7.9-.3-15.4-2.8-24.9-6l0 0c-1.3-.4-2.7-.9-4-1.4c-6.3-2.1-13.1 1.3-15.2 7.6s1.3 13.1 7.6 15.2c1.2 .4 2.4 .8 3.7 1.3l0 0 0 0c9.1 3.1 20.3 6.9 32 7.3c9.2 .3 19.8-1.6 28.5-7c9.2-5.7 16.1-15.4 15.9-28.9c-.2-12.9-7.4-21.3-15.8-26.6c-7.5-4.7-17-7.6-24.5-9.8l0 0-.4-.1c-8.5-2.6-14.8-4.5-19.2-7.2c-3.7-2.2-4.2-3.8-4.2-5.6zm240 0c0-3.1 1.3-5.3 4.8-7.4c3.9-2.3 9.6-3.6 15-3.5c6.6 .1 13.7 1.5 21.1 3.5c6.4 1.7 13-2.1 14.7-8.5s-2.1-13-8.5-14.7c-8-2.1-17.4-4.2-26.9-4.3c-8.7-.1-19 1.8-27.6 6.8c-9 5.3-16.6 14.6-16.5 28.1c.1 12.9 7.6 21.1 15.8 26c7.2 4.3 16.2 7 23.5 9.2l1.1 .3c8.4 2.5 14.6 4.6 19 7.3c3.7 2.3 4.5 4.1 4.5 6.6c0 3.9-1.5 6.3-4.6 8.2c-3.6 2.2-9.1 3.5-15 3.4c-7.6-.2-14.7-2.7-23.8-5.8l0 0 0 0c-1.5-.5-3.1-1.1-4.8-1.6c-6.3-2.1-13.1 1.3-15.2 7.6s1.3 13.1 7.6 15.2c1.3 .4 2.7 .9 4.1 1.4l0 0c8.9 3.1 19.8 6.8 31.3 7.2c9.2 .3 19.8-1.6 28.5-7c9.2-5.7 16.1-15.4 15.9-28.9c-.2-12.9-7.4-21.3-15.8-26.6c-7.5-4.7-17-7.6-24.5-9.8l-.4-.1c-8.5-2.6-14.8-4.5-19.2-7.2c-3.7-2.2-4.2-3.8-4.2-5.6z\"]\n};\nvar faSms = faCommentSms;\nvar faRectangle = {\n prefix: 'far',\n iconName: 'rectangle',\n icon: [512, 512, [9644, \"rectangle-landscape\"], \"f2fa\", \"M448 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H448zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faRectangleLandscape = faRectangle;\nvar faClipboardListCheck = {\n prefix: 'far',\n iconName: 'clipboard-list-check',\n icon: [384, 512, [], \"f737\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm3.3 155.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 249.4 99.3 236.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48zM192 272c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm-32 96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-48 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTurkey = {\n prefix: 'far',\n iconName: 'turkey',\n icon: [640, 512, [], \"f725\", \"M472 56c0 22.1-1.2 49.3-19.3 62l-31.6 22.3C375.9 112.2 327.9 96 288 96C176 96 0 224 0 384C0 512 160 512 288 512s288 0 288-128c0-63-27.3-121.1-67.3-168.3c-.4 .2-.7 .4-1 .6l-28.3 20c-3.2 2.3-6.2 5-9 8.3C505.8 285.7 528 334.2 528 384c0 21-6.1 32.8-13.9 41c-8.9 9.4-23.9 18.1-47.3 24.8C418.6 463.6 354 464 288 464s-130.6-.4-178.8-14.2c-23.4-6.7-38.4-15.4-47.3-24.8C54.1 416.8 48 405 48 384c0-62 34.5-122 86-168.3C186.4 168.8 247.4 144 288 144c20.5 0 46.3 6.4 73.6 18.7c-15.2 .8-30.8-.5-45.8-2.1c-28.5-3-58.2 4.9-82.2 24.3c-48.1 38.9-55.5 109.4-16.6 157.5s109.4 55.5 157.5 16.6c18.6-15 31.1-34.8 37.2-56.2c.2-.7 .4-1.3 .6-2c9.6-33.7 20.1-70.5 48.7-90.6L486.7 192l2.5-1.8c18.3-12.9 43.3-10.4 67.4-8c9.4 .9 18.6 1.8 27.3 1.8c30.9 0 56-25.1 56-56s-25.1-56-56-56c-1.1 0-2-1.1-1.7-2.2c1.1-4.4 1.7-9 1.7-13.8c0-30.9-25.1-56-56-56s-56 25.1-56 56z\"]\n};\nvar faBook = {\n prefix: 'far',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM152 112H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faUserPlus = {\n prefix: 'far',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM269.7 352c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112h91.4zm-91.4-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H224 178.3zM504 312c0 13.3 10.7 24 24 24s24-10.7 24-24V248h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552V136c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H440c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faIceSkate = {\n prefix: 'far',\n iconName: 'ice-skate',\n icon: [576, 512, [9976], \"f7ac\", \"M296 0c13.3 0 24 10.7 24 24V144v38l128.6 37.5c37.5 11 63.4 45.4 63.4 84.5v24c0 30.9-25.1 56-56 56H88c-30.9 0-56-25.1-56-56V136.4c0-25.2 16.8-47.3 41.1-54L272 27.5V24c0-13.3 10.7-24 24-24zM272 128V77.3L85.9 128.7c-3.5 1-5.9 4.1-5.9 7.7V328c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V304c0-17.8-11.7-33.4-28.8-38.4L292.6 224H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h32zM552 408c13.3 0 24 10.7 24 24v8c0 39.8-32.2 72-72 72H408 120 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96V416h48v48H384V416h48v48h72c13.3 0 24-10.7 24-24v-8c0-13.3 10.7-24 24-24z\"]\n};\nvar faCheck = {\n prefix: 'far',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'far',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm272 96H96V320H352V192z\"]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faTomato = {\n prefix: 'far',\n iconName: 'tomato',\n icon: [512, 512, [], \"e330\", \"M241 7L224 24C241 7 241 7 241 7l0 0 0 0 .1 .1 .2 .2 .5 .5c.4 .4 1 1 1.7 1.8c1.4 1.5 3.2 3.6 5.4 6.3c4.4 5.4 10.1 13.1 15.8 22.8c6.6 11.2 13.4 25.5 18 42.1c45.7 3.1 88.5 14.2 125.1 32.8c6.6 3.4 10 10.8 8.3 18s-8.2 12.3-15.6 12.3H365.9l15.4 23.1c3.9 5.9 3.5 13.7-1 19.1s-12.1 7.3-18.6 4.5L256 145.4 150.3 190.7c-6.5 2.8-14.1 1-18.6-4.5s-4.9-13.2-1-19.1l15.5-23.3-31.3-.2c-7 1.5-14.3-1.7-17.7-8.4c-4-7.9-.9-17.5 7-21.5l.8-.4C142.2 94.6 185.6 83.5 232 80.7c-2.6-6.4-5.6-12.3-8.7-17.6c-4.3-7.3-8.6-13-11.7-16.9c-1.6-1.9-2.8-3.4-3.6-4.3c-.4-.4-.7-.8-.9-.9l-.1-.1c-9.3-9.4-9.3-24.5 .1-33.9c9.4-9.4 24.6-9.4 33.9 0zM71.1 154c6 9.4 14.9 16.1 25 19.5c-.4 6.6 .7 13.3 3.1 19.6C67.1 219.8 48 256.7 48 304c0 49.8 21.1 88 56.2 115c36.2 27.9 89.2 45 151.8 45s115.5-17.1 151.8-45c35.1-27 56.2-65.2 56.2-115c0-47.3-19.1-84.2-51.1-110.9c2.4-6.3 3.4-13 3.1-19.6c10.3-3.5 19.1-10.4 25-19.5c44 35.5 71.1 86.4 71.1 150c0 130.9-114.6 208-256 208S0 434.9 0 304c0-63.6 27.1-114.5 71.1-150z\"]\n};\nvar faSwordLaser = {\n prefix: 'far',\n iconName: 'sword-laser',\n icon: [512, 512, [], \"e03b\", \"M505.7 40.2c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L230.7 226.8l54.4 54.4L505.7 40.2zM185 231c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l.7 .7-59 59c0 0 0 0 0 0s0 0 0 0L10.3 407C3.7 413.7 0 422.6 0 432s3.7 18.3 10.3 25L55 501.7c6.6 6.6 15.6 10.3 25 10.3s18.3-3.7 25-10.3l82.3-82.3 59-59 .7 .7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96-96zm-20.3 143l-26.7-26.7 12.4-12.4 26.7 26.7-12.4 12.4zm-49.4-4.1l26.7 26.7L80 458.7 53.3 432l62.1-62.1zM173 312.3l12.7-12.7 26.7 26.7L199.7 339 173 312.3z\"]\n};\nvar faHouseCircleCheck = {\n prefix: 'far',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H336v0H240V320h86.6c4.8-17.1 12.2-33.2 21.7-47.8c-1.4-.2-2.9-.2-4.3-.2H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 454.7 196.9c13.3-3.2 27.1-4.9 41.3-4.9c10.3 0 20.3 .9 30.1 2.6L303.5 5.7zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBuildings = {\n prefix: 'far',\n iconName: 'buildings',\n icon: [512, 512, [], \"e0cc\", \"M448 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448zM288 0c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H288zM192 128H72c-39.8 0-72 32.2-72 72V440c0 39.8 32.2 72 72 72H216.4c-11.8-13.2-20.1-29.7-23.1-48H72c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24H192V128zM112 320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zm224 16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v32zM112 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H112zM336 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm16 144h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16z\"]\n};\nvar faAngleLeft = {\n prefix: 'far',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M47 239c-9.4 9.4-9.4 24.6 0 33.9L207 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97.9 256 241 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L47 239z\"]\n};\nvar faCartFlatbedBoxes = {\n prefix: 'far',\n iconName: 'cart-flatbed-boxes',\n icon: [640, 512, [\"dolly-flatbed-alt\"], \"f475\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H72c4.4 0 8 3.6 8 8V408c0 30.9 25.1 56 56 56h24c0 26.5 21.5 48 48 48s48-21.5 48-48H448c0 26.5 21.5 48 48 48s48-21.5 48-48h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H496 208 136c-4.4 0-8-3.6-8-8V56c0-30.9-25.1-56-56-56H24zM240 80H368V304H240l0-224zm-48 0V304c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48zm368 0v64H496V80h64zM496 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H496zm0 240h96v32H496V272zm-48 0v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H496c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbedAlt = faCartFlatbedBoxes;\nvar faDiagramSuccessor = {\n prefix: 'far',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM240 160c0 8.8-7.2 16-16 16L64 176c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l144 0 16 0c8.8 0 16 7.2 16 16l0 64zm48-64c0-5.5-.7-10.9-2-16l82 0c13.3 0 24 10.7 24 24l0 38.1-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23 0-38.1c0-39.8-32.2-72-72-72L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-64z\"]\n};\nvar faTruckArrowRight = {\n prefix: 'far',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM241 95l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H112c-13.3 0-24-10.7-24-24s10.7-24 24-24H246.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSquareW = {\n prefix: 'far',\n iconName: 'square-w',\n icon: [448, 512, [], \"e285\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm118.9 64.7L160 289.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L288 289.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L224 246.7 182.9 375.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2s26.1 2.9 30.2 15.5z\"]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'far',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M241 137c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L303 7c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V384v8c0 39.8 32.2 72 72 72h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H416c-66.3 0-120-53.7-120-120v-8c0-39.8-32.2-72-72-72H81.9l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 305c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l96-96c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55H224c27 0 51.9 8.9 72 24V81.9l-55 55z\"]\n};\nvar faLamp = {\n prefix: 'far',\n iconName: 'lamp',\n icon: [448, 512, [], \"f4ca\", \"M2.5 211.7l80-192C87.4 7.8 99.1 0 112 0H336c12.9 0 24.6 7.8 29.5 19.7l80 192c4.1 9.9 3 21.2-2.9 30.1s-15.9 14.2-26.6 14.2H32c-10.7 0-20.7-5.3-26.6-14.2s-7-20.2-2.9-30.1zM56 208H392L325.3 48H122.7L56 208zm88 105.4V288h48v25.4c0 17-6.7 32-16.2 42.9C165.7 368 144 398.1 144 432c0 12.2 3.7 23.1 8.4 31.9c.6 .1 1.3 .1 2.1 .1h139c.8 0 1.5-.1 2.1-.1c4.6-8.8 8.4-19.7 8.4-31.9c0-32.3-22.1-63.8-32.6-76.4c-9.2-10.9-15.4-25.6-15.4-42V288h48v25.6c0 4.1 1.6 8 4.2 11.2c11.7 14 43.8 56.9 43.8 107.2c0 24.4-8.3 44.6-16.4 58.7c-8.5 14.7-25.2 21.3-42.1 21.3h-139c-17 0-33.6-6.6-42.1-21.3C104.3 476.6 96 456.4 96 432c0-51.9 31.6-93.4 43.5-107.1c2.8-3.2 4.5-7.3 4.5-11.5z\"]\n};\nvar faAirplay = {\n prefix: 'far',\n iconName: 'airplay',\n icon: [576, 512, [], \"e089\", \"M480 80H96c-26.5 0-48 21.5-48 48V320c0 26.5 21.5 48 48 48h53.5l-34.7 34.7c-4 4-7.4 8.5-10.2 13.3H96c-53 0-96-43-96-96V128C0 75 43 32 96 32H480c53 0 96 43 96 96V320c0 53-43 96-96 96h-8.6c-2.8-4.8-6.2-9.2-10.2-13.3L426.5 368H480c26.5 0 48-21.5 48-48V128c0-26.5-21.5-48-48-48zM198.6 432H377.4L288 342.6 198.6 432zm112-134.6l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faHandFist = {\n prefix: 'far',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M112 80c8.8 0 16 7.2 16 16v80H112c-5.5 0-10.8 .6-16 1.6V96c0-8.8 7.2-16 16-16zm0 144h40 40c8.8 0 16 7.2 16 16s-7.2 16-16 16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4c10.4 21.3 32.3 36 57.6 36c5.2 0 10.2-.6 15-1.8c-4.4 32.4-23.8 60.1-51.1 75.9c-7.4 4.3-12 12.2-12 20.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V379.9c38.7-27.5 64-72.8 64-123.9V208 192 160c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2V96c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C239.2 14.7 217.3 0 192 0s-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4C76.7 32 48 60.7 48 96V200c0 2.3 .3 4.6 1 6.7C38.3 220.3 32 237.4 32 256c0 64.2 39.8 119 96 141.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V380c0-11-7.4-20.5-18-23.2C113.1 345.2 80 304.4 80 256c0-17.7 14.3-32 32-32zm256-32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V176 160c0-8.8 7.2-16 16-16s16 7.2 16 16v32zM176 176V96 64c0-8.8 7.2-16 16-16s16 7.2 16 16V96v80 2c-5.1-1.3-10.5-2-16-2H176zm80 0V96c0-8.8 7.2-16 16-16s16 7.2 16 16v64 16c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faFistRaised = faHandFist;\nvar faShieldQuartered = {\n prefix: 'far',\n iconName: 'shield-quartered',\n icon: [512, 512, [], \"e575\", \"M73 127c-5.9 2.5-9.1 7.8-9 12.8c.1 17.9 1.6 38.4 5.1 60.3H232V59.6L73 127zm6.7 121c20.9 73.9 65.9 153.7 152.3 202.3V248H79.7zM280 248V450.4C366.4 401.8 411.4 322 432.3 248H280zm162.9-48c3.5-21.9 5-42.3 5.1-60.3c0-5-3.1-10.2-9-12.8L280 59.6V200H442.9zM269.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0s9.2 1 13.4 2.9z\"]\n};\nvar faSlashForward = {\n prefix: 'far',\n iconName: 'slash-forward',\n icon: [320, 512, [], \"2f\", \"M308.1 3.3c11.4 6.7 15.3 21.4 8.6 32.8l-272 464c-6.7 11.4-21.4 15.3-32.8 8.6S-3.4 487.3 3.3 475.9l272-464C282 .4 296.7-3.4 308.1 3.3z\"]\n};\nvar faLocationPen = {\n prefix: 'far',\n iconName: 'location-pen',\n icon: [384, 512, [\"map-marker-edit\"], \"f607\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM276.8 107c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L208.6 122 223.5 107c14.7-14.7 38.6-14.7 53.3 0zM114.1 216.5L186 144.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.7c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faMapMarkerEdit = faLocationPen;\nvar faCloudMoon = {\n prefix: 'far',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M495.8 0C389.8 0 304 86.1 304 192.2c0 10.8 .9 21.5 2.6 31.8c58.8 1.4 106.4 48.2 109.2 106.7c22.8 10.8 41.4 29.1 52.6 51.7c8.9 1.3 18.1 1.9 27.4 1.9c52 0 99.1-20.7 133.6-54.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-8.1 1.4-16.5 2.1-25.1 2.1c-80.7 0-146.2-65.6-146.2-146.6c0-54.8 30-102.6 74.4-127.8c6.1-3.5 9.2-10.5 7.7-17.3S519 1.3 512 .7c-5.4-.5-10.8-.7-16.3-.7zM128.1 320c0-26.5 21.5-48 48-48c22.8 0 41.9 15.9 46.8 37.2c2.1 8.9 9 15.9 18 18s18.3-1.2 24.1-8.3c7.4-9.1 18.6-14.9 31.1-14.9c20.3 0 37.2 15.2 39.7 34.8c.1 .6 .2 1.2 .3 1.7v1.1c0 .3 0 .6 0 .9c0 .5 0 1 0 1.5s0 1 0 1.5c0 .3 0 .6 0 .9v30.2c0 7 3 13.6 8.3 18.1s12.2 6.6 19.1 5.6c1.5-.2 3-.3 4.6-.3c17.7 0 32 14.3 32 32s-14.3 32-32 32c-.4 0-.9 0-1.3 0c-.3 0-.6 0-1 0H98.9c-.3 0-.6 0-.9 0c-.6 0-1.2 0-1.9 0c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.4 0 2.7 .1 4 .2c13.2 1.1 24.8-8.7 25.9-21.9l2-23.8c.1-.8 .1-1.6 .1-2.5zm48-96c-52.6 0-95.4 42.4-96 94.8l-.2 2.5C34.6 329 .1 368.5 .1 416c0 53 43 96 96 96c1.1 0 2.2 0 3.2-.1h266c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-38.7-27.5-71-64-78.4v-6.9c0-.9 0-1.8 0-2.7s0-1.8 0-2.7V336c0-2.9-.5-5.7-1.5-8.3c-7.7-40.8-43.4-71.7-86.5-71.7c-14.7 0-28.5 3.6-40.6 9.9c-17.3-25.3-46.3-41.9-79.3-41.9z\"]\n};\nvar faPotFood = {\n prefix: 'far',\n iconName: 'pot-food',\n icon: [640, 512, [127858], \"e43f\", \"M112 24c0 26.5 10.5 38.7 25.9 56.1l.4 .4C154.8 99 176 122.9 176 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C85.2 93 64 69.1 64 24C64 10.7 74.7 0 88 0s24 10.7 24 24zm112 0c0 26.5 10.5 38.7 25.9 56.1l.4 .4C266.8 99 288 122.9 288 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C197.2 93 176 69.1 176 24c0-13.3 10.7-24 24-24s24 10.7 24 24zm208 88c50.7 0 93.6 33.7 107.4 80H324.6c13.8-46.3 56.6-80 107.4-80zM16 280c0-13.3 10.7-24 24-24H66.7c6.6-18.6 24.4-32 45.3-32H528c20.9 0 38.7 13.4 45.3 32H600c13.3 0 24 10.7 24 24s-10.7 24-24 24H573.7c-11 76.9-61.1 141.2-129.5 172.2c-8.1 21-28.4 35.8-52.3 35.8H248c-23.8 0-44.2-14.9-52.3-35.8C127.3 445.2 77.3 380.9 66.3 304H40c-13.3 0-24-10.7-24-24zM240.5 458.9c1.2 3.1 4.2 5.1 7.5 5.1H392c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C485.6 404.8 528 343.3 528 272H112c0 71.3 42.4 132.8 103.5 160.5c11.5 5.2 20.4 14.7 25 26.4z\"]\n};\nvar faBriefcase = {\n prefix: 'far',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V280 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V280 160c0-35.3 28.7-64 64-64h64zM48 304V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V304H320v16c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V304H48zm144-48H320 464V160c0-8.8-7.2-16-16-16H360 152 64c-8.8 0-16 7.2-16 16v96H192z\"]\n};\nvar faPersonFalling = {\n prefix: 'far',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M320 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V34.4c0 46.1-28.9 87.3-72.2 103.1C137.5 160.1 96 219.3 96 285.6V360c0 13.3 10.7 24 24 24s24-10.7 24-24l0-74.4c0-10.7 1.5-21.1 4.4-30.9L307.9 501c7.2 11.1 22.1 14.3 33.2 7.1s14.3-22.1 7.1-33.2L263.6 344.3 327 304l46.3 0 64.8 72.1c8.9 9.9 24 10.6 33.9 1.8s10.6-24 1.8-33.9l-67.2-74.7c-7.6-8.4-18.4-13.2-29.7-13.2l-56.6 0h-.6l-19 0-58.2-85.9c47.4-28 77.5-79.3 77.5-135.8L320 24zM263.9 287.2L237.5 304l-61.8-95.5c6.7-6.8 14.4-12.8 22.8-17.7l65.4 96.4zM112 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faImagePortrait = {\n prefix: 'far',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M320 48L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16zm0-48c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\"]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'far',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM398.7 464c-.5-3.4-1.1-6.7-1.8-10l45.6 45.6c-5.4 7.5-14.2 12.5-24.2 12.5H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c17.5 0 34.3 2.5 50.3 7.2v33c0 6.4 .8 12.7 2.3 18.8c-16.1-7.1-33.9-11-52.6-11H178.3c-65.7 0-120.1 48.7-129 112H398.7zM384 224h82.7c17 0 33.3 6.7 45.3 18.7L619.3 350.1c18.7 18.7 18.7 49.1 0 67.9l-73.4 73.4c-18.7 18.7-49.1 18.7-67.9 0L370.7 384c-12-12-18.7-28.3-18.7-45.3V256c0-17.7 14.3-32 32-32zm72 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faRug = {\n prefix: 'far',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h8v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 80 560h24 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V360h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V280h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V200h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V112h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H584 560 80 56 24zm56 48h48V400H80V336 256 176 112zM464 400H176V112H464V400zm48 0V112h48v64 80 80 64H512z\"]\n};\nvar faPrintSlash = {\n prefix: 'far',\n iconName: 'print-slash',\n icon: [640, 512, [], \"f686\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400H544c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H277.2L176 112.6V64c0-8.8 7.2-16 16-16H421.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c3 3 4.7 7.1 4.7 11.3V160h48V90.5c0-17-6.7-33.3-18.7-45.3L466.7 18.7C454.7 6.7 438.5 0 421.5 0H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zM338.5 240H512c8.8 0 16 7.2 16 16v96H512 496 481.4L338.5 240zm-155.7 0l-60.6-47.7C89.6 195.2 64 222.6 64 256V368c0 17.7 14.3 32 32 32h48v80c0 17.7 14.3 32 32 32H464c15.5 0 28.5-11 31.4-25.7L448 449v15H192V368H345.2l-60.9-48H176c-17.7 0-32 14.3-32 32H112V256c0-8.8 7.2-16 16-16h54.8z\"]\n};\nvar faEarthEurope = {\n prefix: 'far',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c3.5 0 6.9 .1 10.3 .3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c-4.1 12.6-9.3 24.7-15.6 36.1c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c-5.6 .5-11.4 .7-17.1 .7zm0 48A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM187.3 123.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'far',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 24C0 10.7 10.7 0 24 0H72c30.9 0 56 25.1 56 56V408c0 4.4 3.6 8 8 8h72H496 616c13.3 0 24 10.7 24 24s-10.7 24-24 24H544c0 26.5-21.5 48-48 48s-48-21.5-48-48H256c0 26.5-21.5 48-48 48s-48-21.5-48-48H136c-30.9 0-56-25.1-56-56V56c0-4.4-3.6-8-8-8H24C10.7 48 0 37.3 0 24zM360 48c-4.4 0-8 3.6-8 8V96h96V56c0-4.4-3.6-8-8-8H360zM496 96h48c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h48V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56V96zM256 144c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16h32V144H256zm80 0V304H464V144H336zM544 304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H512V304h32z\"]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faHandBackPointRibbon = {\n prefix: 'far',\n iconName: 'hand-back-point-ribbon',\n icon: [448, 512, [], \"e1a0\", \"M96 64c0-35.3 28.7-64 64-64s64 28.7 64 64V96v64 .5c2.6-.3 5.3-.5 8-.5c24.5 0 45.7 13.7 56.5 33.9c5-1.2 10.2-1.9 15.5-1.9c23.9 0 44.8 13.1 55.7 32.5c2.7-.3 5.5-.5 8.3-.5c35.3 0 64 28.7 64 64v96 8c0 66.3-53.7 120-120 120H186.6c-26.9 0-53.3-7.1-76.6-20.7l-2.6-1.5C60.7 462.5 32 412.5 32 358.5V348.3c0-24.8 10.5-48.4 28.8-65.1l20.3-18.4c4.8-4.3 9.7-8.3 14.9-11.9V176H43.8c-6.5 0-11.8-5.3-11.8-11.8c0-3.9 1.9-7.5 5.1-9.7L75.6 128 37.1 101.5c-3.2-2.2-5.1-5.8-5.1-9.7C32 85.3 37.3 80 43.8 80H96V64zm48 112v88 2 78c0 8.8-7.2 16-16 16s-16-7.2-16-16V301.5L93.1 318.7C84.8 326.3 80 337 80 348.3v10.2c0 37 19.6 71.2 51.6 89.8l2.6 1.5-11.7 20 11.7-20c15.9 9.3 34 14.2 52.4 14.2H312c39.8 0 72-32.2 72-72v-8V288c0-8.8-7.2-16-16-16c-3.6 0-6.9 1.2-9.6 3.2c-7.3 5.5-17 6.3-25.1 2.3s-13.3-12.4-13.3-21.5c0-8.8-7.2-16-16-16c-5.2 0-9.9 2.5-12.8 6.4c-6.2 8.3-17 11.6-26.8 8.3s-16.4-12.4-16.4-22.8v-8c0-8.8-7.2-16-16-16c-5.2 0-9.9 2.5-12.8 6.4c-6.2 8.3-17 11.6-26.8 8.3s-16.4-12.4-16.4-22.8V176H144zm32-96V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V80h32z\"]\n};\nvar faRectangleXmark = {\n prefix: 'far',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faTireRugged = {\n prefix: 'far',\n iconName: 'tire-rugged',\n icon: [512, 512, [], \"f634\", \"M213.1 62c1-8 7.8-14 15.9-14h54.1c8.1 0 14.9 6 15.9 14c1.2 9.1 7.4 16.8 16.1 19.7c7.7 2.6 15.2 5.7 22.4 9.3c8.2 4.1 18.1 3.1 25.3-2.5c6.3-4.9 15.4-4.4 21.1 1.3l38.3 38.3c5.7 5.7 6.3 14.8 1.3 21.1c-5.6 7.3-6.6 17.1-2.5 25.3c3.6 7.2 6.7 14.7 9.3 22.4c2.9 8.7 10.6 15 19.7 16.1c8 1 14 7.8 14 15.9v54.1c0 8.1-6 14.9-14 15.9c-9.1 1.2-16.8 7.4-19.7 16.1c-2.6 7.7-5.7 15.2-9.3 22.4c-4.1 8.2-3.1 18.1 2.5 25.3c4.9 6.3 4.4 15.4-1.3 21.1l-38.3 38.3c-5.7 5.7-14.8 6.3-21.1 1.3c-7.3-5.6-17.1-6.6-25.3-2.5c-7.2 3.6-14.7 6.7-22.4 9.3c-8.7 2.9-15 10.6-16.1 19.7c-1 8-7.8 14-15.9 14H228.9c-8.1 0-14.9-6-15.9-14c-1.2-9.1-7.4-16.8-16.1-19.7c-7.7-2.6-15.2-5.7-22.4-9.3c-8.2-4.1-18.1-3.1-25.3 2.5c-6.3 4.9-15.4 4.4-21.1-1.3L89.8 383.9c-5.7-5.7-6.3-14.8-1.3-21.1c5.6-7.3 6.6-17.1 2.5-25.3c-3.6-7.2-6.7-14.7-9.3-22.4c-2.9-8.7-10.6-15-19.7-16.1c-8-1-14-7.8-14-15.9V228.9c0-8.1 6-14.9 14-15.9c9.1-1.2 16.8-7.4 19.7-16.1c2.6-7.7 5.7-15.2 9.3-22.4c4.1-8.2 3.1-18.1-2.5-25.3c-4.9-6.3-4.4-15.4 1.3-21.1l38.3-38.3c5.7-5.7 14.8-6.3 21.1-1.3c7.3 5.6 17.1 6.6 25.3 2.5c7.2-3.6 14.7-6.7 22.4-9.3c8.7-2.9 15-10.6 16.1-19.7zM228.9 0C202 0 178.6 16.7 169.3 40.8c-1.4 .6-2.8 1.1-4.2 1.7c-23.6-10.4-51.9-5.7-71 13.4L55.8 94.1c-19 19-23.7 47.4-13.4 71c-.6 1.4-1.2 2.8-1.7 4.2C16.7 178.6 0 202 0 228.9v54.1c0 26.9 16.7 50.3 40.8 59.6c.6 1.4 1.1 2.8 1.7 4.2c-10.4 23.6-5.7 51.9 13.4 71l38.3 38.3c19 19 47.4 23.7 71 13.4c1.4 .6 2.8 1.2 4.2 1.7c9.4 24 32.7 40.8 59.6 40.8h54.1c26.9 0 50.3-16.7 59.6-40.8c1.4-.6 2.8-1.1 4.2-1.7c23.6 10.4 51.9 5.7 71-13.4l38.3-38.3c19-19 23.7-47.4 13.4-71c.6-1.4 1.2-2.8 1.7-4.2c24-9.4 40.8-32.7 40.8-59.6V228.9c0-26.9-16.7-50.3-40.8-59.6c-.6-1.4-1.1-2.8-1.7-4.2c10.4-23.6 5.7-51.9-13.4-71L417.9 55.8c-19-19-47.4-23.7-71-13.4c-1.4-.6-2.8-1.2-4.2-1.7C333.4 16.7 310 0 283.1 0H228.9zM384 256a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM232 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-67.3 42.3a24 24 0 1 1 45.7 14.8 24 24 0 1 1 -45.7-14.8zm152.4-15.4a24 24 0 1 1 14.8 45.7 24 24 0 1 1 -14.8-45.7zm-4.6 122.7a24 24 0 1 1 -28.2-38.8 24 24 0 1 1 28.2 38.8zm-79.3-5.3a24 24 0 1 1 -38.8-28.2 24 24 0 1 1 38.8 28.2z\"]\n};\nvar faLightbulbDollar = {\n prefix: 'far',\n iconName: 'lightbulb-dollar',\n icon: [384, 512, [], \"f670\", \"M320 176c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8.1 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-12.9 17.7-28.3 38.9-39.8 59.8c-10.4 19-15.7 38.8-18.3 57.5H275c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-11.5-20.9-26.9-42.1-39.8-59.8l0 0 0 0c-4.7-6.4-9-12.4-12.8-17.7C72.4 228.3 64 203.2 64 176c0-70.7 57.3-128 128-128s128 57.3 128 128zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zm16-400c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7.1 2.3 15.1 4.9 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V262.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V112z\"]\n};\nvar faCowbell = {\n prefix: 'far',\n iconName: 'cowbell',\n icon: [448, 512, [], \"f8b3\", \"M176 48h96V96H176V48zm-48-8V96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H400c15.1 0 29.3-7.1 38.3-19.1s12-27.6 7.8-42.1l-64-224C376.3 110.2 357.4 96 336 96H320V40c0-22.1-17.9-40-40-40H168c-22.1 0-40 17.9-40 40zM112 144H336l64 224H48l64-224zM288 448H160c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faBahtSign = {\n prefix: 'far',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M136 0c-13.3 0-24 10.7-24 24V64H37.6C16.8 64 0 80.8 0 101.6V232v41.7V280 406.3c0 23 18.7 41.7 41.7 41.7H112v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h52c59.6 0 108-48.4 108-108c0-42.1-24.1-78.5-59.2-96.4C277.7 224.6 288 199.5 288 172c0-59.6-48.4-108-108-108H160V24c0-13.3-10.7-24-24-24zM112 112V232H48V112h64zm48 120V112h20c33.1 0 60 26.9 60 60s-26.9 60-60 60H160zm-48 48V400H48V280h64zm48 120V280h20 32c33.1 0 60 26.9 60 60s-26.9 60-60 60H160z\"]\n};\nvar faCorner = {\n prefix: 'far',\n iconName: 'corner',\n icon: [448, 512, [], \"e3fe\", \"M0 184c0-13.3 10.7-24 24-24H392c30.9 0 56 25.1 56 56V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-4.4-3.6-8-8-8H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faChevronsRight = {\n prefix: 'far',\n iconName: 'chevrons-right',\n icon: [512, 512, [\"chevron-double-right\"], \"f324\", \"M465 239c9.4 9.4 9.4 24.6 0 33.9L273 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L239 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L465 239zM81 47L273 239c9.4 9.4 9.4 24.6 0 33.9L81 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L47 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faChevronDoubleRight = faChevronsRight;\nvar faBookOpen = {\n prefix: 'far',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z\"]\n};\nvar faBookJournalWhills = {\n prefix: 'far',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM148.8 190.5c3.4 3.4 8.9 3.4 12.3 0s3.4-8.9 0-12.3l-28.8-28.9c8.2-17 20.2-31.8 35-43.4c3.9-3.1 9.3 1.9 7.9 6.7c-6.9 23.5-.9 49.4 16.5 67.2c3.3 3.4 3.6 8.8 .9 12.6c-11 15.4-14.4 35.2-8.7 53.5c6.4 21.1 24 37.2 45.7 41.7L231 252l-11.3 7.8c-.7 .4-1.6 .7-2.5 .7c-1.1 0-2.2-.4-3-1.1c-.8-1-1.4-2-1.4-3.3c0-.7 .3-1.5 .5-2.2l9.4-15.5-19.6-4.1c-1.9-.4-3.4-2.3-3.4-4.4s1.5-3.8 3.4-4.2l19.6-4.1L213.4 206c-1-1.8-.7-4.1 .8-5.5s3.8-1.6 5.5-.4l13.1 8.9 5-120.8c.1-2.5 2-4.2 4.4-4.2s4.2 1.8 4.4 4.2l5.2 122.5 15.4-10.5c.6-.5 1.5-.7 2.3-.8c0 0 .1 0 .1 0c1.6 0 3 .8 3.8 2.2s.7 3.1-.1 4.5L264 221.6l19.6 4.1c1.9 .4 3.4 2.2 3.4 4.2s-1.5 4-3.4 4.4l-19.6 4 9.3 15.7c.8 1.4 1 3 .1 4.4s-2.2 2.2-3.8 2.2c-.8 0-1.8-.3-2.5-.7l-13.8-9.4 1.5 37.4c21.7-4.5 39.3-20.6 45.7-41.7c5.7-18.3 2.3-38.2-8.7-53.5c-2.8-3.8-2.4-9.3 .9-12.7c17.4-17.9 23.4-43.8 16.4-67.3c-1.4-4.8 4-9.7 7.9-6.7c14.8 11.5 26.8 26.4 35 43.5l-28.8 28.9c-3.4 3.4-3.4 8.9 0 12.3s8.9 3.4 12.3 0l23.2-23.2c3.3 11 5.6 22.5 5.6 34.5c0 .3 0 .5-.1 .8s-.1 .5-.1 .8l-40.5 35.5c-1.8 1.8-2.9 4.1-3 6.5c.1 2 .8 4.1 2.2 5.7c1.8 1.8 4.1 2.9 6.5 3c2.2 0 4.2-.8 5.7-2.2L361 229.5C348.3 283.6 300.1 324 242.2 324s-106.1-40.4-118.8-94.5L149.2 252c1.6 1.4 3.7 2 5.7 2.2c3.7 0 6.8-2.3 8.2-5.6c1.2-3.4 .3-7.4-2.5-9.7l-40.5-35.5c0-.3 0-.5-.1-.8s-.1-.5-.1-.8c0-12 2.3-23.5 5.6-34.5l23.2 23.2z\"]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faInhaler = {\n prefix: 'far',\n iconName: 'inhaler',\n icon: [576, 512, [], \"f5f9\", \"M429.8 32.7l128 32c6.3 1.6 11.6 5.6 14.9 11.2s4.1 12.2 2.4 18.4L533.2 248 386.9 101.6l14-51.8c3.4-12.6 16.3-20.2 29-17zM389 216.9l-2.1 7.8C379.4 252.6 354 272 325.1 272H240V432H449.9l33-121.2-94-94zM530 290c4.1 4.1 5.6 10 4.1 15.5l-39.5 145C489.8 467.9 474 480 456 480H232c-22.1 0-40-17.9-40-40V264c0-22.1 17.9-40 40-40h93.1c7.2 0 13.6-4.9 15.4-11.8L357 150.9c3.2-11.9 18.1-15.9 26.8-7.2L530 290zM0 256a32 32 0 1 1 64 0A32 32 0 1 1 0 256zm0 96a32 32 0 1 1 64 0A32 32 0 1 1 0 352zm128-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm128-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandcuffs = {\n prefix: 'far',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32zm0 336a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 352c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32s32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm240 0a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSnake = {\n prefix: 'far',\n iconName: 'snake',\n icon: [512, 512, [128013], \"f716\", \"M305.6 96H282.9 168C110.6 96 64 142.6 64 200s46.6 104 104 104H320c35.3 0 64 28.7 64 64s-28.7 64-64 64H256.1 256l0 0H118.7c-7.5 0-14.8 1.7-21.5 5.1L75.3 448l21.9 10.9c6.7 3.3 14 5.1 21.5 5.1h57.2 .1l.1 0 .1 0L320 464c53 0 96-43 96-96s-43-96-96-96H168c-39.8 0-72-32.2-72-72s32.2-72 72-72H282.9h22.7L320 145.5c11.6 14.1 29 22.5 47.6 22.5c9 0 17.9-2 26.1-5.8l54.4-25.4c9.6-4.5 15.8-14.2 15.8-24.8s-6.2-20.3-15.8-24.8L393.8 61.8C385.6 58 376.7 56 367.7 56c-18.6 0-36 8.4-47.6 22.5L305.6 96zM176 512l-.1 0H118.7c-14.9 0-29.6-3.5-42.9-10.1L14.3 471.2C5.5 466.8 0 457.8 0 448s5.5-18.8 14.3-23.2l61.4-30.7c6.5-3.3 13.3-5.7 20.4-7.4c7.4-1.8 14.9-2.7 22.6-2.7H168h88l.1 0h36.2H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H292.3 256.1h0H256h0H168c-17.3 0-33.9-2.9-49.3-8.2c-5.7-2-11.3-4.2-16.7-6.8c-50.9-24.6-86-76.7-86-137C16 116.1 84.1 48 168 48H282.9c20.6-25.1 51.6-40 84.7-40c16 0 31.9 3.5 46.4 10.3l54.4 25.4C495 56.1 512 82.7 512 112s-17 55.9-43.5 68.3l-49.6 23.1-4.9 2.3c-14.5 6.8-30.4 10.3-46.4 10.3c-16.8 0-33-3.8-47.7-10.9c-14.2-6.9-26.9-16.7-37.1-29.1H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.7 20.2H320c16.7 0 32.7 2.8 47.7 8.1c16.5 5.8 31.6 14.5 44.7 25.5C443.9 283.9 464 323.6 464 368c0 79.5-64.5 144-144 144H176zM352 88a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTriangleExclamation = {\n prefix: 'far',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M248.4 84.3c1.6-2.7 4.5-4.3 7.6-4.3s6 1.6 7.6 4.3L461.9 410c1.4 2.3 2.1 4.9 2.1 7.5c0 8-6.5 14.5-14.5 14.5H62.5c-8 0-14.5-6.5-14.5-14.5c0-2.7 .7-5.3 2.1-7.5L248.4 84.3zm-41-25L9.1 385c-6 9.8-9.1 21-9.1 32.5C0 452 28 480 62.5 480h387c34.5 0 62.5-28 62.5-62.5c0-11.5-3.2-22.7-9.1-32.5L304.6 59.3C294.3 42.4 275.9 32 256 32s-38.3 10.4-48.6 27.3zM288 368a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-184c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faNoteMedical = {\n prefix: 'far',\n iconName: 'note-medical',\n icon: [448, 512, [], \"e200\", \"M384 80c8.8 0 16 7.2 16 16V320H320c-17.7 0-32 14.3-32 32v80H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 480H288h5.5c17 0 33.3-6.7 45.3-18.7l90.5-90.5c12-12 18.7-28.3 18.7-45.3V320 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64zM192 144v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H256V144c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDatabase = {\n prefix: 'far',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M400 86v88.7c-13.3 7.2-31.6 14.2-54.8 19.9C311.3 203 269.5 208 224 208s-87.3-5-121.2-13.4C79.6 188.9 61.3 182 48 174.7V86l.6-.5C53.9 81 64.5 74.8 81.8 68.6C115.9 56.5 166.2 48 224 48s108.1 8.5 142.2 20.6c17.3 6.2 27.8 12.4 33.2 16.9l.6 .5zm0 141.5v75.2c-13.3 7.2-31.6 14.2-54.8 19.9C311.3 331 269.5 336 224 336s-87.3-5-121.2-13.4C79.6 316.9 61.3 310 48 302.7V227.6c13.3 5.3 27.9 9.9 43.3 13.7C129.5 250.6 175.2 256 224 256s94.5-5.4 132.7-14.8c15.4-3.8 30-8.3 43.3-13.7zM48 426V355.6c13.3 5.3 27.9 9.9 43.3 13.7C129.5 378.6 175.2 384 224 384s94.5-5.4 132.7-14.8c15.4-3.8 30-8.3 43.3-13.7V426l-.6 .5c-5.3 4.5-15.9 10.7-33.2 16.9C332.1 455.5 281.8 464 224 464s-108.1-8.5-142.2-20.6c-17.3-6.2-27.8-12.4-33.2-16.9L48 426zm354.1-2.1s0 .1-.2 .2l.1-.2 0-.1zm-356.1 0a.3 .3 0 1 0 .6-.2 .3 .3 0 1 0 -.6 .2zm0-335.8a.3 .3 0 1 0 .5 .2 .3 .3 0 1 0 -.5-.2zm356-.2a.3 .3 0 1 0 -.1 .6 .3 .3 0 1 0 .1-.6zM448 432V80C448 35.8 347.7 0 224 0S0 35.8 0 80V432c0 44.2 100.3 80 224 80s224-35.8 224-80z\"]\n};\nvar faDownLeft = {\n prefix: 'far',\n iconName: 'down-left',\n icon: [384, 512, [], \"e16a\", \"M64 384V190.6c0-1.7 .8-3.2 2.1-4.2c2.1-1.6 5-1.4 6.9 .5L127 241c9.4 9.4 24.6 9.4 33.9 0L285.7 116.3c2.7-2.7 6.5-4.3 10.3-4.3s7.6 1.5 10.3 4.3l25.4 25.4c2.7 2.7 4.3 6.5 4.3 10.3s-1.5 7.6-4.3 10.3L207 287c-9.4 9.4-9.4 24.6 0 33.9L261.1 375c1.8 1.8 2.1 4.8 .5 6.9c-1 1.3-2.5 2.1-4.2 2.1H64zm-48 8c0 22.1 17.9 40 40 40H257.4c16.8 0 32.5-7.9 42.6-21.3c15.9-21.2 13.8-50.9-4.9-69.6L257.9 304 365.7 196.3C377.4 184.5 384 168.6 384 152s-6.6-32.5-18.3-44.3L340.3 82.4C328.5 70.6 312.6 64 296 64s-32.5 6.6-44.3 18.3L144 190.1 106.9 153c-18.7-18.7-48.4-20.8-69.6-5C23.9 158.1 16 173.9 16 190.6V392z\"]\n};\nvar faShare = {\n prefix: 'far',\n iconName: 'share',\n icon: [512, 512, [\"arrow-turn-right\", \"mail-forward\"], \"f064\", \"M288 240H192c-66.2 0-122 44.7-138.8 105.5C49.9 333.1 48 319.3 48 304c0-70.7 57.3-128 128-128H288h24c13.3 0 24-10.7 24-24V128 99.9L456.1 208 336 316.1V288 264c0-13.3-10.7-24-24-24H288zm0 48v48 16c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4s-19 16.6-19 29.2V80v48H240 176C78.8 128 0 206.8 0 304c0 78 38.6 126.2 68.7 152.1c4.1 3.5 8.1 6.6 11.7 9.3c3.2 2.4 6.2 4.4 8.9 6.2c4.5 3 8.3 5.1 10.8 6.5c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-6.8-3.6-13.2-8.3-18.1c-.5-.5-.9-.9-1.4-1.4c-2.4-2.3-5.1-5.1-7.7-8.6c-1.7-2.3-3.4-5-5-7.9c-5.3-9.7-9.5-22.9-9.5-40.2c0-53 43-96 96-96h48 48z\"]\n};\nvar faArrowTurnRight = faShare;\nvar faMailForward = faShare;\nvar faFaceThinking = {\n prefix: 'far',\n iconName: 'face-thinking',\n icon: [512, 512, [], \"e39b\", \"M256 464c114.9 0 208-93.1 208-208s-93.1-208-208-208S48 141.1 48 256c0 17.7 2.2 34.8 6.4 51.2C40.8 317.4 32 333.7 32 352v28C11.6 343.3 0 301 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-10.6 0-21.1-.6-31.4-1.9c4-5.7 7.3-12 9.8-18.8l10.1-27.7c3.8 .2 7.7 .3 11.6 .3zm43-158.9c-9.9-2-20.5-1.3-30.7 2.5L237.9 319l-65.5-15.4c-8.6-2-13.9-10.6-11.9-19.2s10.6-13.9 19.2-11.9l97.1 22.8c8.2 1.9 15.7 5.3 22.3 9.8zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-120-31.2c-20.5-17.6-49.9-20.4-73.4-7l-7.1 4c-7.7 4.4-17.4 1.7-21.8-6s-1.7-17.4 6-21.8l7.1-4c35.2-20.1 79.3-15.9 110.1 10.5l13.2 11.3c6.7 5.8 7.5 15.9 1.7 22.6s-15.9 7.5-22.6 1.7l-13.2-11.3zM112 352v48.4l167.6-62.8c12.4-4.7 26.2 1.6 30.9 14s-1.6 26.2-14 30.9L230.9 407c-.1 .4-.3 .8-.4 1.2l-26.3 72.2c-6.9 19-24.9 31.6-45.1 31.6H112c-26.5 0-48-21.5-48-48V352c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTurnDownRight = {\n prefix: 'far',\n iconName: 'turn-down-right',\n icon: [512, 512, [], \"e455\", \"M505.5 271.6c8.7 9.2 8.7 23.7 0 32.9l-121.4 129c-8.8 9.3-21 14.6-33.7 14.6c-25.6 0-46.3-20.7-46.3-46.3l0-41.7-144 0C71.6 360 0 288.4 0 200L0 88C0 57.1 25.1 32 56 32l32 0c30.9 0 56 25.1 56 56l0 120c0 4.4 3.6 8 8 8l152 0 0-41.7c0-25.6 20.7-46.3 46.3-46.3c12.8 0 25 5.3 33.7 14.6l121.4 129zM352 178.5l0 61.5c0 13.3-10.7 24-24 24l-176 0c-30.9 0-56-25.1-56-56L96 88c0-4.4-3.6-8-8-8L56 80c-4.4 0-8 3.6-8 8l0 112c0 61.9 50.1 112 112 112l168 0c13.3 0 24 10.7 24 24l0 61.5L455 288 352 178.5z\"]\n};\nvar faBottleDroplet = {\n prefix: 'far',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M128 48V152.2c0 16-8 31-21.3 39.9C80.9 209.4 64 238.8 64 272V448c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V272c0-33.2-16.9-62.6-42.7-79.9C200 183.2 192 168.3 192 152.2V48l-64 0zM256 24c0 10.4-6.7 19.3-16 22.6V152.2c38.6 25.8 64 69.8 64 119.8V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V272c0-49.9 25.4-93.9 64-119.8V46.6C70.7 43.3 64 34.5 64 24C64 10.7 74.7 0 88 0L232 0c13.3 0 24 10.7 24 24zM160 384c-26.5 0-48-21.5-48-48c0-22.2 23-52 37.2-68.2c5.8-6.7 15.9-6.7 21.7 0C185 284 208 313.8 208 336c0 32-21.5 48-48 48z\"]\n};\nvar faMaskFace = {\n prefix: 'far',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 112c17.7 0 35 5.2 49.8 15.1l37.1 24.8c23.7 15.8 51.4 24.2 79.9 24.2H496v48c0 59.5-29.5 112.1-74.7 143.9l-3.1 .8 .3 1.2c-28.1 19-62 30.1-98.5 30.1s-70.4-11.1-98.5-30.1l.3-1.2-3.1-.8C173.5 336.1 144 283.5 144 224V176h9.2c28.4 0 56.2-8.4 79.9-24.2l37.1-24.8c14.7-9.8 32-15.1 49.8-15.1zM96 224c0 45.1 13.4 87.2 36.3 122.3l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96v48zM90.9 385.5l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512 496h-9.2c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64s-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H144 128 56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4zm446.6-46.6l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3V176h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9zM208 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm-16 80c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm48 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\"]\n};\nvar faHillRockslide = {\n prefix: 'far',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M128 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm124.4 71.8c-2.7-4.9-2.7-10.8 0-15.7l27-48c2.8-5 8.2-8.2 13.9-8.2l53.3 0c5.8 0 11.1 3.1 13.9 8.2l27 48c2.7 4.9 2.7 10.8 0 15.7l-27 48c-2.8 5-8.2 8.2-13.9 8.2H293.4c-5.8 0-11.1-3.1-13.9-8.2l-27-48zM48 145.9V440c0 13.3 10.7 24 24 24H366.1L48 145.9zM0 126.6C0 91 43.1 73.1 68.3 98.3L413.7 443.7c25.2 25.2 7.4 68.3-28.3 68.3H72c-39.8 0-72-32.2-72-72V126.6zm504.2 277l-48-27c-5-2.8-8.2-8.2-8.2-13.9V309.4c0-5.8 3.1-11.1 8.2-13.9l48-27c4.9-2.7 10.8-2.7 15.7 0l48 27c5 2.8 8.2 8.2 8.2 13.9v53.3c0 5.8-3.1 11.1-8.2 13.9l-48 27c-4.9 2.7-10.8 2.7-15.7 0zM352 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faScannerKeyboard = {\n prefix: 'far',\n iconName: 'scanner-keyboard',\n icon: [512, 512, [], \"f489\", \"M128 24V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zm176 0V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zM240 0c-8.8 0-16 7.2-16 16V64h32V16c0-8.8-7.2-16-16-16zM384 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM488 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM64 144H288c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zm0-48C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm40 80c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24H248c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H104zM96 304c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H96zM80 400v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm128-96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H208zm-16 96v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCircleO = {\n prefix: 'far',\n iconName: 'circle-o',\n icon: [512, 512, [], \"e119\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-256a80 80 0 1 1 -160 0 80 80 0 1 1 160 0zM256 128a128 128 0 1 0 0 256 128 128 0 1 0 0-256z\"]\n};\nvar faGridHorizontal = {\n prefix: 'far',\n iconName: 'grid-horizontal',\n icon: [448, 512, [], \"e307\", \"M40 168v48H88V168H40zM0 168c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V168zM40 328v48H88V328H40zM0 328c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V328zM248 168H200v48h48V168zm-48-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm0 200v48h48V328H200zm-40 0c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V328zM408 168H360v48h48V168zm-48-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm0 200v48h48V328H360zm-40 0c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V328z\"]\n};\nvar faMessageDollar = {\n prefix: 'far',\n iconName: 'message-dollar',\n icon: [512, 512, [\"comment-alt-dollar\"], \"f650\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM276 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faCommentAltDollar = faMessageDollar;\nvar faRightLeft = {\n prefix: 'far',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M336 215c0 22.6 18.3 41 41 41c10.9 0 21.3-4.3 29-12l99-99c4.5-4.5 7-10.6 7-17s-2.5-12.5-7-17l-99-99c-7.7-7.7-18.1-12-29-12c-22.6 0-41 18.3-41 41v63H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H336v63zm118.1-87L384 198.1V57.9L454.1 128zM135 256c-10.9 0-21.3 4.3-29 12L7 367c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17l99 99c7.7 7.7 18.1 12 29 12c22.6 0 41-18.3 41-41V408H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H176V297c0-22.6-18.3-41-41-41zm-7 198.1L57.9 384 128 313.9V454.1z\"]\n};\nvar faExchangeAlt = faRightLeft;\nvar faColumns3 = {\n prefix: 'far',\n iconName: 'columns-3',\n icon: [640, 512, [], \"e361\", \"M448 80V432H576c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H448zm-48 0H240V432H400V80zM192 432V80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H192zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376V479.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z\"]\n};\nvar faRoadCircleExclamation = {\n prefix: 'far',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H360.2c-21.9-26.6-36.2-59.7-39.5-96c-.2 0-.5 0-.7 0c-13.3 0-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l34.9 96.9c5.4-.5 10.8-.7 16.3-.7c12.3 0 24.2 1.3 35.8 3.6L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM326.9 319c4.1-14.1 9.8-27.4 17.1-39.8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24c2.4 0 4.7-.4 6.9-1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faDungeon = {\n prefix: 'far',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M256 128c-6.9 0-13.7 .5-20.4 1.4l-.2 0c-7.8 1-15.6-3-18.5-10.3l-.7-1.8L199 74.3l-.2-.5c-3-7.6 .2-16.2 7.2-19.5c.9-.4 1.9-.8 2.9-1C224.1 49.8 239.8 48 256 48s31.9 1.8 47.1 5.3c1 .2 2 .6 2.9 1c7 3.3 10.3 11.9 7.2 19.5l-.2 .5-17.2 43.1-.7 1.8c-2.9 7.3-10.7 11.3-18.5 10.3l-.2 0c-6.6-.9-13.4-1.4-20.4-1.4zM96 512h32H384h32 32c35.3 0 64-28.7 64-64V408c0-11.7-3.1-22.6-8.6-32c5.4-9.4 8.6-20.3 8.6-32V304c0-11.7-3.1-22.6-8.6-32c5.8-10.2 8.9-22.3 7.8-35.6c-2.2-28.6-9.1-56-19.9-81.2c-6.1-14.3-16.2-24.5-28-30.6c-.6-13.3-5.5-26.7-15.8-38.3c-16.8-18.9-36.4-35.4-58.1-48.7c-13.2-8.1-27.3-10.6-40.5-8.8c-8.2-10.5-20-18.7-35.1-22.1C295.2 2.3 275.9 0 256 0s-39.2 2.3-57.9 6.6C183 10.1 171.2 18.2 163 28.7c-13.2-1.8-27.3 .7-40.5 8.8C100.8 50.8 81.2 67.3 64.4 86.2c-10.2 11.6-15.2 25-15.8 38.3c-11.8 6.2-21.9 16.3-28 30.6C9.8 180.4 2.9 207.8 .7 236.4c-1 13.3 2 25.4 7.8 35.6C3.1 281.4 0 292.3 0 304v40c0 11.7 3.1 22.6 8.6 32C3.1 385.4 0 396.3 0 408v40c0 35.3 28.7 64 64 64H96zM371.4 165.2c-6.4 4.3-14.8 3.3-20.7-1.6l-.2-.2c-5.5-4.8-11.4-9.2-17.6-13.1l-.2-.2c-6.3-4.2-9.6-11.8-7.7-19c.2-.6 .4-1.2 .6-1.8l17.2-43.1 .2-.5c3.2-7.4 11.4-11.1 18.7-8.6c1 .3 1.9 .8 2.8 1.3c17.7 10.8 33.6 24.2 47.2 39.6c.7 .8 1.3 1.7 1.8 2.6c3.8 6.7 1.5 15.4-5.2 19.9l-1.1 .8-32.6 21.7-3.2 2.1zm15.4 46.4l-.2-.4c-2.8-6.5-1.8-14 2.8-19c.9-.9 1.8-1.8 2.9-2.5l32.6-21.7c.4-.3 .8-.5 1.2-.7c6.8-3.8 15.3-2 19.6 4.1c.6 .8 1.1 1.7 1.5 2.7c8.8 20.5 14.4 42.7 16.2 66c0 .6 .1 1.2 0 1.9c-.4 7.9-7.2 14.1-15.4 14.1H416h-2.6c-7.8 0-14.3-5.7-16.4-13.2c-.1-.3-.2-.7-.2-1c-2.2-10.6-5.7-20.7-10.1-30.3zM400 304c0-.5 0-.9 .1-1.4c.6-7.3 6.2-13.3 13.4-14.4c.8-.1 1.7-.2 2.6-.2h32c8.1 0 14.9 6.1 15.9 14c.1 .7 .1 1.4 .1 2v40c0 .7 0 1.3-.1 2c-1 7.9-7.7 14-15.9 14H416c-8.2 0-14.9-6.1-15.9-14c-.1-.6-.1-1.3-.1-2V304zm0 104c0-.7 0-1.3 .1-2c1-7.9 7.7-14 15.9-14h32c8.2 0 14.9 6.1 15.9 14c.1 .6 .1 1.3 .1 2v40c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V408zM147.6 78.5c.9-.6 1.8-1 2.8-1.3c7.3-2.6 15.5 1.2 18.7 8.6l.2 .5 17.2 43.1c.2 .6 .4 1.2 .6 1.8c1.9 7.2-1.4 14.8-7.7 19l-.3 .2c-6.2 3.9-12.1 8.3-17.6 13.1l-.2 .2c-5.9 4.9-14.3 5.9-20.7 1.6l-3.2-2.1-32.6-21.7-1.1-.8c-6.7-4.5-9-13.2-5.2-19.9c.5-.9 1.1-1.8 1.8-2.6c13.7-15.4 29.6-28.8 47.2-39.6zM64.8 174.1c.4-1 .9-1.9 1.5-2.7c4.3-6.1 12.8-7.9 19.6-4.1c.4 .2 .8 .5 1.2 .7l32.6 21.7c1.1 .7 2.1 1.6 2.9 2.5c4.6 5 5.6 12.6 2.8 19l-.2 .4c-4.4 9.6-7.8 19.7-10.1 30.3c-.1 .3-.1 .7-.2 1c-2 7.5-8.6 13.2-16.4 13.2H96 64c-8.2 0-15-6.2-15.4-14.1c0-.6 0-1.2 0-1.9c1.8-23.3 7.4-45.5 16.2-66zM48 304c0-.7 0-1.4 .1-2c1-7.9 7.7-14 15.9-14H96c.9 0 1.7 .1 2.6 .2c7.2 1.2 12.8 7.1 13.4 14.4c0 .5 .1 .9 .1 1.4v40c0 .7 0 1.3-.1 2c-1 7.9-7.7 14-15.9 14H64c-8.2 0-14.9-6.1-15.9-14c-.1-.6-.1-1.3-.1-2V304zm0 104c0-.7 0-1.3 .1-2c1-7.9 7.7-14 15.9-14H96c8.2 0 14.9 6.1 15.9 14c.1 .6 .1 1.3 .1 2v40c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V408zM272 192V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm-64 32V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16s16 7.2 16 16zm128 0V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHandHoldingBox = {\n prefix: 'far',\n iconName: 'hand-holding-box',\n icon: [576, 512, [], \"f47b\", \"M432 48H352v73.7c0 3.5-2.8 6.3-6.3 6.3c-1.1 0-2.2-.3-3.1-.8l-46.6-26.6c-4.9-2.8-11-2.8-15.9 0l-46.6 26.6c-1 .5-2 .8-3.1 .8c-3.5 0-6.3-2.8-6.3-6.3V48H144V208H432V48zm0-48c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48h80H352h80zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faInputText = {\n prefix: 'far',\n iconName: 'input-text',\n icon: [640, 512, [], \"e1bf\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm184 32c9.5 0 18.1 5.6 21.9 14.3l64 144c5.4 12.1-.1 26.3-12.2 31.7s-26.3-.1-31.7-12.2l-4.3-9.7H146.3l-4.3 9.7c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l64-144c3.9-8.7 12.4-14.3 21.9-14.3zm0 83.1L167.6 280h32.8L184 243.1zM304 184c0-13.3 10.7-24 24-24h52c33.1 0 60 26.9 60 60c0 9.2-2.1 17.9-5.8 25.7c13.3 11 21.8 27.6 21.8 46.3c0 33.1-26.9 60-60 60H328c-13.3 0-24-10.7-24-24v-8V256 192v-8zm48 24v24h28c6.6 0 12-5.4 12-12s-5.4-12-12-12H352zm0 96h44c6.6 0 12-5.4 12-12s-5.4-12-12-12H380 352v24z\"]\n};\nvar faWindowFlip = {\n prefix: 'far',\n iconName: 'window-flip',\n icon: [512, 512, [\"window-alt\"], \"f40f\", \"M512 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64 48 16V416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V224 208 160 96zM48 224H464l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192zM416 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-64 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faWindowAlt = faWindowFlip;\nvar faAlignRight = {\n prefix: 'far',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M424 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H424zm0 128c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424zm24 152c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24zM424 424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424z\"]\n};\nvar faScannerGun = {\n prefix: 'far',\n iconName: 'scanner-gun',\n icon: [576, 512, [\"scanner\"], \"f488\", \"M112 80c-35.3 0-64 28.7-64 64s28.7 64 64 64H232.4 288h16V80H112zM79.1 251.1C33.3 237.1 0 194.4 0 144C0 82.1 50.1 32 112 32H304c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H260L144.3 454.4c-13.4 23-42.9 30.7-65.8 17.2L25 440.1C2.3 426.8-5.4 397.6 7.8 374.8L79.1 251.1zm52.6 4.9L49.4 398.8l53.5 31.4L204.4 256H131.7zM440 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24s10.7-24 24-24zM416 216c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm24 216H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24s10.7-24 24-24zM416 144c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16zm16 144H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16z\"]\n};\nvar faScanner = faScannerGun;\nvar faTire = {\n prefix: 'far',\n iconName: 'tire',\n icon: [512, 512, [], \"f631\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm336 .9l39.2 12.8c.5-4.5 .8-9 .8-13.6c0-31.2-11.9-59.6-31.4-80.9l-24.2 33.4c9.8 13.3 15.6 29.7 15.6 47.5c0 .3 0 .6 0 .9zm-14.9 45.6c-10 14-24.4 24.6-41.2 29.9l0 41.3c34.4-7 63.5-28.7 80.4-58.3l-39.3-12.8zM232 373.6l0-41.3c-16.7-5.3-31.1-15.9-41.1-29.8l-39.3 12.8c16.8 29.6 45.9 51.3 80.3 58.3zm-95.2-104L176 256.9c0-.3 0-.6 0-.9c0-17.8 5.8-34.2 15.6-47.5l-1.7-2.3-22.6-31.1C147.9 196.4 136 224.8 136 256c0 4.6 .3 9.2 .8 13.6zm93.6-89.5c8-2.7 16.6-4.2 25.6-4.2s17.6 1.5 25.6 4.2l24.2-33.4c-15.2-6.9-32-10.8-49.8-10.8s-34.6 3.9-49.8 10.8L228.8 178l1.6 2.2zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 88a168 168 0 1 1 0 336 168 168 0 1 1 0-336z\"]\n};\nvar faEngine = {\n prefix: 'far',\n iconName: 'engine',\n icon: [640, 512, [], \"e16e\", \"M424 88c0 13.3-10.7 24-24 24l-72 0v32l68.6 0c12.6 0 25 3.7 35.5 10.7L483.5 189c17.8 11.9 28.5 31.9 28.5 53.3V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H144c-35.3 0-64-28.7-64-64V280H48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72H80V208c0-35.3 28.7-64 64-64h16 32l88 0V112l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24H400c13.3 0 24 10.7 24 24zM288 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM172.8 336c14.6 0 28.4 6.6 37.5 18l32 40c3 3.8 7.6 6 12.5 6H448c8.8 0 16-7.2 16-16V242.3c0-5.3-2.7-10.3-7.1-13.3l-51.4-34.3c-2.6-1.8-5.7-2.7-8.9-2.7H192 160 144c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16h28.8zM576 192h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faMoneyBill1Wave = {\n prefix: 'far',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M265.7 407.9c4.5-1.1 9-2.3 13.5-3.4l0 0c55.9-14.3 119.4-30.6 185.3-28.7c4.1-31.4 30.9-55.7 63.5-55.7V144c-35.3 0-63.9-28.6-64-63.9c-47-1.7-96.8 9.5-153.7 24c-4.5 1.1-9 2.3-13.5 3.5l0 0c-55.9 14.3-119.4 30.6-185.3 28.7C107.4 167.7 80.5 192 48 192V368c35.3 0 63.9 28.6 64 63.9c47 1.7 96.8-9.5 153.7-24zM0 421.5V113C0 88.8 25.4 72.7 48.4 79C128.2 101 208.1 80.6 288 60.3c86.9-22.1 173.8-44.3 260.7-12C565.8 54.6 576 72 576 90.5V399c0 24.3-25.4 40.3-48.3 34C447.8 411 367.9 431.4 288 451.7c-86.9 22.1-173.8 44.3-260.7 12C10.2 457.4 0 440 0 421.5zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM256 208c0 8.8 7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M385.1 419.1C349.7 447.2 304.8 464 256 464s-93.7-16.8-129.1-44.9l80.4-80.4c14.3 8.4 31 13.3 48.8 13.3s34.5-4.8 48.8-13.3l80.4 80.4zm68.1 .2C489.9 374.9 512 318.1 512 256s-22.1-118.9-58.8-163.3L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L419.3 58.8C374.9 22.1 318.1 0 256 0S137.1 22.1 92.7 58.8L81 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L58.8 92.7C22.1 137.1 0 193.9 0 256s22.1 118.9 58.8 163.3L47 431c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l11.8-11.8C137.1 489.9 193.9 512 256 512s118.9-22.1 163.3-58.8L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-11.8-11.8zm-34.1-34.1l-80.4-80.4c8.4-14.3 13.3-31 13.3-48.8s-4.8-34.5-13.3-48.8l80.4-80.4C447.2 162.3 464 207.2 464 256s-16.8 93.7-44.9 129.1zM385.1 92.9l-80.4 80.4c-14.3-8.4-31-13.3-48.8-13.3s-34.5 4.8-48.8 13.3L126.9 92.9C162.3 64.8 207.2 48 256 48s93.7 16.8 129.1 44.9zM173.3 304.8L92.9 385.1C64.8 349.7 48 304.8 48 256s16.8-93.7 44.9-129.1l80.4 80.4c-8.4 14.3-13.3 31-13.3 48.8s4.8 34.5 13.3 48.8zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faHands = {\n prefix: 'far',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M528 143.8c0-8.8-7.2-16-16-16s-16 7.2-16 16v37.4c0 10.9-7.3 20.4-17.8 23.2s-21.6-1.8-27-11.2L369.7 52c-2.2-3.8-7.1-5.1-10.9-2.9s-5.1 7.1-2.9 10.9l0 .1 48 83.1c6.2 10.7 3.2 24.3-6.7 31.4c-15.1-14.3-32.3-26.5-51.5-36.1L314.3 84l-8-13.9 0-.1-8-13.8c-2.2-3.8-7.1-5.1-10.9-2.9s-5.1 7.1-2.9 10.9l8 13.9 8 13.9 0 .1 20.2 35-53-23.5c-22.8-10.1-47.6-9.8-69-1c4.1-12.6 12.8-23.9 25.2-31c3.8-2.2 7.7-3.9 11.7-5.1c-2.3-21.4 7.8-43.2 27.7-54.6s43.8-9.4 61.1 3.3c3.1-2.9 6.5-5.4 10.3-7.6C361.6-8 395.8 1.2 411.3 28l46.9 81.2c11.4-17.7 31.3-29.4 53.9-29.4c35.3 0 64 28.7 64 64v84.6c0 69.4-36.7 133.6-96.5 168.8c-10.4 6.1-21 11.1-31.9 15.1c8-19.2 13.3-39.9 15.4-61.4c40.5-27.4 65-73.2 65-122.4V143.8zm-353.9 13c15.1-32 53.2-45.7 85.2-30.7l56.4 26.5c36 16.9 65.4 43.7 85.7 76.1c19.6 29.4 30.7 64.4 30.7 101.2c0 1 0 2 0 3c0 1 0 2.1 0 3.1c0 1.2-.1 2.3-.2 3.4c-5 96.1-84.5 172.6-181.8 172.6H120c-30.9 0-56-25.1-56-56c0-4.4 .5-8.6 1.5-12.7C45.8 434.6 32 414.9 32 392c0-4.4 .5-8.6 1.5-12.7C13.8 370.6 0 350.9 0 328s13.8-42.6 33.5-51.3c-.9-4.1-1.5-8.3-1.5-12.7c0-30.9 25.1-56 56-56h84.7c-6.4-16-6.5-34.5 1.4-51.3zM72 320l-.2 0H56c-4.4 0-8 3.6-8 8s3.6 8 8 8H88l.2 0H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H87.9c-4.4 0-7.9 3.6-7.9 8c0 4.4 3.6 8 8 8h31.9l.2 0H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H119.9c-4.4 .1-7.9 3.6-7.9 8c0 4.4 3.6 8 8 8H249.9c72.3 0 131.3-57.3 134-128.9c0-.4 0-.9 .1-1.3l0-.5 0-.6 0-.3c0-.8 0-1.7 0-2.5c0-27.2-8.2-53.1-22.8-74.8c-.2-.2-.3-.5-.5-.7c-15.5-24.9-38-45.4-65.5-58.4l-56.4-26.5c-8-3.8-17.5-.3-21.3 7.7s-.3 17.5 7.7 21.3l25.1 11.8c10.2 4.8 15.7 16 13.2 27s-12.2 18.8-23.4 18.8H88c-4.4 0-8 3.6-8 8s3.6 8 8 8l.2 0H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H72z\"]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCircleCaretRight = {\n prefix: 'far',\n iconName: 'circle-caret-right',\n icon: [512, 512, [\"caret-circle-right\"], \"f330\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm368 0c0-6.7-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 208c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104c4.9-4.5 7.7-10.9 7.7-17.6z\"]\n};\nvar faCaretCircleRight = faCircleCaretRight;\nvar faWheat = {\n prefix: 'far',\n iconName: 'wheat',\n icon: [512, 512, [], \"f72d\", \"M448 48c-22.1 0-40 17.9-40 40v16h16c22.1 0 40-17.9 40-40V48H448zM362.2 68.5C371.1 29.3 406.1 0 448 0h40c13.3 0 24 10.7 24 24V64c0 41.9-29.2 76.9-68.4 85.8c14.1 6.2 27.3 15.1 38.9 26.7l16.9 16.9c9.4 9.4 9.4 24.6 0 33.9l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.2-11.2L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L120.6 357.5l0 0-11.3-11.3c-43.7-43.7-43.7-114.7 0-158.4l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9C347 41 356 54.3 362.2 68.5zm-60.6 85.4L311.7 164c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zM222.4 233l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zm-79.2 79.2l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zm147 56.5c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.2c25 25 65.5 25 90.5 0zm79.2-79.2c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1c25 25 65.5 25 90.5 0zm79.2-79.2C421.2 183 379 179.7 347.9 200.2l10.1 10.1c25 25 65.5 25 90.5 0z\"]\n};\nvar faFileSpreadsheet = {\n prefix: 'far',\n iconName: 'file-spreadsheet',\n icon: [384, 512, [], \"f65b\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM176 256v48H112V256h64zm-64 80h64v48H112V336zm96 0h64v48H208V336zm-16 80h16 64c17.7 0 32-14.3 32-32V336 320 304 256c0-17.7-14.3-32-32-32H208 192 176 112c-17.7 0-32 14.3-32 32v48 16 16 48c0 17.7 14.3 32 32 32h64 16zm16-112V256h64v48H208z\"]\n};\nvar faAudioDescriptionSlash = {\n prefix: 'far',\n iconName: 'audio-description-slash',\n icon: [640, 512, [], \"e0a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zM134.4 80H544c8.8 0 16 7.2 16 16V413.6l-95.4-74.8C493 322.1 512 291.3 512 256c0-53-43-96-96-96H360c-13.3 0-24 10.7-24 24v54L134.4 80zM419.9 303.8L384 275.7V208h32c26.5 0 48 21.5 48 48c0 25.2-19.4 45.8-44.1 47.8zM487.4 480l-60.9-48H96c-8.8 0-16-7.2-16-16V159L32 121.2V416c0 35.3 28.7 64 64 64H487.4zM130.5 317.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7l9.4-18.9h82.2l9.4 18.9c5.9 11.9 20.3 16.7 32.2 10.7c3-1.5 5.5-3.5 7.5-5.9l-80.9-63.8H202.9l8.6-17.2L173 232.3l-42.5 85z\"]\n};\nvar faCalendarDay = {\n prefix: 'far',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM112 256h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16z\"]\n};\nvar faWaterLadder = {\n prefix: 'far',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 128c0-53 43-96 96-96s96 43 96 96v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-26.5-21.5-48-48-48s-48 21.5-48 48v96.2H384V128c0-53 43-96 96-96s96 43 96 96v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-26.5-21.5-48-48-48s-48 21.5-48 48V248.2 371c-15.5 8.4-32.8 13.5-48 13.5h0V272.2H176V382.8c-14.7-2.9-30-9.6-43.1-18.7c-1.6-1.1-3.2-2.2-4.9-3.1V248.2 128zM111.9 398.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'far',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M177 7c-9.4-9.4-24.6-9.4-33.9 0L47 103c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V430.1L81 375c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V81.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 7z\"]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faChessPawnPiece = {\n prefix: 'far',\n iconName: 'chess-pawn-piece',\n icon: [256, 512, [\"chess-pawn-alt\"], \"f444\", \"M128 144a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm73.4 144c12.6-.7 22.6-11.2 22.6-24c0-9.7-5.8-18.1-14.1-21.9c8.9-14.6 14.1-31.8 14.1-50.1c0-53-43-96-96-96s-96 43-96 96c0 18.4 5.2 35.5 14.1 50.1C37.8 245.9 32 254.3 32 264c0 12.8 10 23.3 22.6 24l-3.6 64H99.1l3.6-64H128h25.3l3.6 64h48.1l-3.6-64zM52.7 464l16.6-32H186.8l16.6 32H52.7zm143.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H215.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faChessPawnAlt = faChessPawnPiece;\nvar faFaceGrimace = {\n prefix: 'far',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56s-25.1 56-56 56H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-23.6-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'far',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM208.6 113c-8-3.4-17.2-2.2-24 3.2l-49.8 38.7c-10.5 8.1-25.5 6.3-33.7-4.2s-6.3-25.5 4.2-33.7l49.8-38.7c20.6-16 48.1-19.6 72.1-9.5l84.2 35.5c35.7 15 45.7 60.9 19.5 89.5L288.6 240H402.5c26.8 0 46 25.8 38.3 51.5L399 430.9c-3.8 12.7-17.2 19.9-29.9 16.1s-19.9-17.2-16.1-29.9L391.7 288H306.7c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c1.2 0 2.5 0 3.7 0l68.9-68.9-24-10.1zm87 48.2c3.7-4.1 2.3-10.6-2.8-12.8l-20.4-8.6-60.7 60.7c11.8 4 22.9 9.4 33.3 15.9l50.6-55.2zM160 464a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'far',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M175.6 505.5c9.2 8.7 23.7 8.7 32.9 0l129-121.4c9.3-8.8 14.6-21 14.6-33.7c0-25.6-20.7-46.3-46.3-46.3H264V160C264 71.6 192.4 0 104 0H56C25.1 0 0 25.1 0 56V88c0 30.9 25.1 56 56 56h56c4.4 0 8 3.6 8 8V304H78.3C52.7 304 32 324.7 32 350.3c0 12.8 5.3 25 14.6 33.7l129 121.4zM82.5 352H144c13.3 0 24-10.7 24-24V152c0-30.9-25.1-56-56-56H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8h48c61.9 0 112 50.1 112 112V328c0 13.3 10.7 24 24 24h61.5L192 455 82.5 352z\"]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faSquareS = {\n prefix: 'far',\n iconName: 'square-s',\n icon: [448, 512, [], \"e27d\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM175.6 196.2c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4l2 .6 0 0c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23.1 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4l-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23.1-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7c-20.3-3.1-36.8-1.4-47.8 2.9c-10.3 4.1-14.2 9.6-15.4 15.8z\"]\n};\nvar faRectangleBarcode = {\n prefix: 'far',\n iconName: 'rectangle-barcode',\n icon: [576, 512, [\"barcode-alt\"], \"f463\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm120 32c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm48 24c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm136-24c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144z\"]\n};\nvar faBarcodeAlt = faRectangleBarcode;\nvar faPersonWalkingArrowRight = {\n prefix: 'far',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM141.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L160.7 288.6l-16.4-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L279 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C260.1 162.8 213.9 128 161.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7C69.1 149 36.6 178.5 19.5 217l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3C74.3 212 94.3 192.9 119 183.1L96.2 251.4c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L264.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21L75.5 402.5 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zM553 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H392c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faSquareEnvelope = {\n prefix: 'far',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM216.7 255.6L96.1 189.3C97.5 172.9 111.3 160 128 160H320c16.7 0 30.5 12.9 31.9 29.3L231.3 255.6c-2.2 1.2-4.7 1.9-7.3 1.9s-5.1-.6-7.3-1.9zm30 28L352 225.7V320c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V225.7l105.3 57.9c7 3.8 14.8 5.8 22.7 5.8s15.8-2 22.7-5.8z\"]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'far',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M241 68.3c-9.4-9.4-24.6-9.4-33.9 0L68.3 207c-9.4 9.4-9.4 24.6 0 33.9L207 379.7c9.4 9.4 24.6 9.4 33.9 0L379.7 241c9.4-9.4 9.4-24.6 0-33.9L241 68.3zM173.1 34.3c28.1-28.1 73.7-28.1 101.8 0L413.7 173.1c28.1 28.1 28.1 73.7 0 101.8L274.9 413.7c-28.1 28.1-73.7 28.1-101.8 0L34.3 274.9c-28.1-28.1-28.1-73.7 0-101.8L173.1 34.3zM320 413.8L436.3 297.5c28.6-28.6 37-69.6 25.4-105.5H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H384c-35.3 0-64-28.7-64-64V413.8zM504 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM120 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104-56a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0 208a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-104 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUnicorn = {\n prefix: 'far',\n iconName: 'unicorn',\n icon: [640, 512, [129412], \"f727\", \"M426.8 .6c1.7-.4 3.4-.6 5.2-.6h8 32 .5c2.5 0 5 .1 7.5 .3V0h56c13.3 0 24 10.7 24 24c0 8.5-4.4 16-11.1 20.3c3.5 6.1 6.3 12.7 8.3 19.7h73.5c5.1 0 9.3 4.2 9.3 9.3c0 4-2.6 7.6-6.4 8.8l-69.8 23.3 5.6 39.4c5.2 36.7-15.3 72.2-49.7 86c-18.3 7.3-38 7.5-55.8 1.5V240l0 .7 0 1.6c0 33.2-12.2 62.9-32 85.5V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V364.5l-51.8-15.1c-1 3.8-2.2 7.5-3.6 11.2l-12.1 32.3c-.6 1.6-.7 3.3-.2 5l14.8 53.3c8.5 30.6-14.5 60.8-46.2 60.8H139.1c-21.6 0-40.5-14.4-46.2-35.2L81.6 436.4c-8.6-31-7.2-63.9 4.1-94.1l8.2-21.7L72 265.9c-5.3-13.3-8-27.4-8-41.7c0-2.9 .1-5.7 .3-8.5C54.4 223 48 234.8 48 248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-47.3 37.3-85.9 84.1-87.9c20.3-29.1 54-48.1 92.1-48.1h22.6H232h61.3C309.8 51.5 362.6 6.1 426.8 .6zM416 239V184c0-10.2 6.4-19.3 16.1-22.6s20.3-.3 26.7 7.7l5.9 7.3c8.9 11.1 24.1 15.1 37.3 9.8c13.9-5.5 22.2-19.9 20-34.7l-9.9-69.2C509.3 62.6 492.4 48 472.5 48H472 440h-4.6c-.6 .1-1.3 .2-2 .2c-50 3.1-90.5 41.6-96.6 90.8c-1.5 12-11.7 21-23.8 21H232 198.9 176.2c-35.5 0-64.2 28.8-64.2 64.2c0 8.2 1.6 16.3 4.6 23.9l21.9 54.6c4.4 11.1 4.6 23.5 .4 34.7l-8.2 21.7c-7.7 20.6-8.7 43.1-2.8 64.4L139.1 464h49.8l-14.8-53.3c-3.2-11.4-2.6-23.6 1.5-34.6l12.1-32.3c2.8-7.5 4.3-15.4 4.3-23.5c0-.4 0-.9 0-1.3c-.2-7.6 3.3-14.9 9.4-19.5s14-6.1 21.3-4l88 25.7c2.1 .6 4.2 1.1 6.3 1.6c11.1 2.3 19 12.1 19 23.5V464h48V318.2c0-6.5 2.6-12.7 7.3-17.2c15.1-14.8 24.7-35.3 24.7-58.8c0-.6 0-1.2 0-1.7c0-.5 0-1 0-1.5zM464 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBowlingBall = {\n prefix: 'far',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPompebled = {\n prefix: 'far',\n iconName: 'pompebled',\n icon: [512, 512, [], \"e43d\", \"M254.4 22.8c45.2 31.3 55.3 91.3 38 147.2c45.1-35.6 103.5-47.2 148.3-15c64.6 45.8 71.6 140.2 25.7 208.1l0 0C386.7 480.8 219.2 542 98.5 455.5C-21.8 369.5-25.9 190 53.9 72.2c46-68.6 135.3-95.4 200.5-49.4zm21.5 185.1l0 0zM226.7 62.1c-38-26.9-98.3-15-133 36.9l-.1 .1c-69.9 103.1-60.2 251 32.8 317.4l0 0c91.7 65.7 230.3 23 300.2-80.2c34.9-51.7 24.7-114.9-13.8-142.1l-.1-.1c-25.6-18.4-73.5-11.7-111.5 33.9c-12.9 17.5-37.4 21.8-55.4 8.7c-17.6-12.7-21.9-36.7-10.4-54.7c28.6-52.7 17.8-101.6-8.5-119.7l-.2-.2 0 0z\"]\n};\nvar faBrain = {\n prefix: 'far',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M153.5 76.9c-1.9 6.8-6.8 12.4-13.2 15.3c-16.6 7.5-28.2 24.1-28.3 43.5c-.1 9.1-5.2 17.3-13.3 21.3C82.8 164.9 72 181.2 72 200c0 7.1 1.5 13.7 4.2 19.7c4.4 9.7 1.9 21-6.1 28C56.5 259.4 48 276.7 48 296c0 20.2 9.3 38.1 23.9 49.9c6.7 5.4 10 14 8.7 22.5c-.4 2.5-.6 5-.6 7.6c0 26.1 20.8 47.3 46.7 48c9.2 .3 17.4 5.7 21.2 14.1c6.9 15.3 22.3 25.9 40.1 25.9c24.3 0 44-19.7 44-44V88c0-22.1-17.9-40-40-40c-18.2 0-33.7 12.2-38.5 28.9zM256 482c-16.8 18.5-41.1 30-68 30c-32.2 0-60.5-16.5-76.9-41.5c-45-8-79.1-47.3-79.1-94.5c0-.5 0-1.1 0-1.6C12.2 354.2 0 326.5 0 296c0-27.8 10.1-53.2 26.8-72.7C25 215.8 24 208 24 200c0-32.6 16.3-61.5 41.1-78.8c4.5-28.9 21.8-53.5 45.9-67.8C124.5 22 155.7 0 192 0c25.2 0 48 10.6 64 27.6C272 10.6 294.8 0 320 0c36.3 0 67.5 22 80.9 53.4c24.1 14.3 41.5 38.9 45.9 67.8C471.7 138.5 488 167.4 488 200c0 8-1 15.8-2.8 23.3c16.7 19.6 26.8 45 26.8 72.7c0 30.5-12.2 58.2-32 78.4c0 .5 0 1.1 0 1.6c0 47.3-34.1 86.5-79.1 94.5c-16.4 25-44.7 41.5-76.9 41.5c-26.9 0-51.2-11.6-68-30zm24-62c0 24.3 19.7 44 44 44c17.8 0 33.2-10.6 40.1-25.9c3.8-8.4 12-13.9 21.2-14.1c25.9-.7 46.7-21.9 46.7-48c0-2.6-.2-5.2-.6-7.6c-1.4-8.5 2-17.1 8.7-22.5C454.7 334.1 464 316.2 464 296c0-19.3-8.5-36.6-22.1-48.3c-8-6.9-10.5-18.3-6.1-28c2.7-6 4.2-12.6 4.2-19.7c0-18.8-10.8-35.1-26.7-43c-8.1-4-13.3-12.3-13.3-21.3c-.1-19.3-11.7-36-28.3-43.5c-6.4-2.9-11.3-8.5-13.2-15.3C353.7 60.2 338.2 48 320 48c-22.1 0-40 17.9-40 40V420z\"]\n};\nvar faWatchSmart = {\n prefix: 'far',\n iconName: 'watch-smart',\n icon: [384, 512, [], \"e2cc\", \"M64 48.3C64 21.6 85.6 0 112.3 0H271.7C298.4 0 320 21.6 320 48.3V65.6c36.5 7.4 64 39.7 64 78.4V368c0 38.7-27.5 71-64 78.4V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V446.4C27.5 439 0 406.7 0 368V144c0-38.7 27.5-71 64-78.4V48.3zM80 112c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32H80zm136 72v60.8l39.4 32.8c10.2 8.5 11.6 23.6 3.1 33.8s-23.6 11.6-33.8 3.1l-48-40c-5.5-4.6-8.6-11.3-8.6-18.4V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faBookUser = {\n prefix: 'far',\n iconName: 'book-user',\n icon: [448, 512, [], \"f7e7\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM80 352c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V344c0 4.4-3.6 8-8 8H352V336c0-44.2-35.8-80-80-80H208c-44.2 0-80 35.8-80 80v16H80zM240 224a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faSensorCloud = {\n prefix: 'far',\n iconName: 'sensor-cloud',\n icon: [640, 512, [\"sensor-smoke\"], \"e02c\", \"M64 80H384c8.8 0 16 7.2 16 16V224c17.2 0 33.5 3.9 48 10.8V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H234.8c-6.9-14.5-10.8-30.8-10.8-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm80 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 360H560c44.2 0 80-35.8 80-80c0-39-27.9-71.5-64.8-78.6c.5-3.1 .8-6.2 .8-9.4c0-30.9-25.1-56-56-56c-18.1 0-34.1 8.6-44.4 21.8C464.8 278.5 435 256 400 256c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C284.4 359.9 256 392.6 256 432c0 44.2 35.8 80 80 80z\"]\n};\nvar faSensorSmoke = faSensorCloud;\nvar faClapperboardPlay = {\n prefix: 'far',\n iconName: 'clapperboard-play',\n icon: [512, 512, [], \"e132\", \"M48 416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V208H48V416zM336 160h64l64-64c0-8.8-7.2-16-16-16H416l-80 80zm-96 0l80-80H256l-80 80h64zM80 160l80-80H96L48 128v32H80zM512 96v64 24 24V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V208 184 160 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64zM216.5 241.9c5.2-2.8 11.5-2.5 16.4 .8l96 64c4.4 3 7.1 8 7.1 13.3s-2.7 10.3-7.1 13.3l-96 64c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V256c0-5.9 3.2-11.3 8.5-14.1z\"]\n};\nvar faBandage = {\n prefix: 'far',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M448 144V368H560c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H448zM192 96H448 560c44.2 0 80 35.8 80 80V336c0 44.2-35.8 80-80 80H448 192 80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H192zm0 272V144H80c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32H192zm80-136a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM272 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [512, 512, [], \"f272\", \"M160 0c13.3 0 24 10.7 24 24V64H328V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192 144 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM432 192H80V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V192zM328 352H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faCircleXmark = {\n prefix: 'far',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faCircle4 = {\n prefix: 'far',\n iconName: 'circle-4',\n icon: [512, 512, [], \"e0f1\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM223.6 129.2c12.6 4.2 19.4 17.8 15.2 30.4L201.3 272H272V216c0-13.3 10.7-24 24-24s24 10.7 24 24v56h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H168c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l48-144c4.2-12.6 17.8-19.4 30.4-15.2z\"]\n};\nvar faGifts = {\n prefix: 'far',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H200.6c-5.4-9.4-8.6-20.3-8.6-32V464H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h80c0 0 0 0 .1 0h80 32.4c5.3-8.2 11.7-15.7 19-22.1C263.8 106.2 245.1 96 224 96h-6.2l28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24H272c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-4.1c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zm0 72h72 56 8v72H272V272zm0 120H408v72H272V392zm320 0v72H456V392H592zM456 344V272h8 56 72v72H456zm88-144c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"]\n};\nvar faAlbumCollection = {\n prefix: 'far',\n iconName: 'album-collection',\n icon: [512, 512, [], \"f8a0\", \"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM6.2 232.3C1.1 194 30.9 160 69.6 160H442.4c38.7 0 68.5 34 63.5 72.3l-29.5 224C472.2 488.2 445 512 412.9 512H99.1c-32.1 0-59.3-23.8-63.5-55.7L6.2 232.3zM69.6 208c-9.7 0-17.1 8.5-15.9 18.1l29.5 224c1 8 7.8 13.9 15.9 13.9H412.9c8 0 14.8-6 15.9-13.9l29.5-224c1.3-9.6-6.2-18.1-15.9-18.1H69.6zM400 336c0 57.4-64.5 104-144 104s-144-46.6-144-104s64.5-104 144-104s144 46.6 144 104zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24zM256 368c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24z\"]\n};\nvar faHotel = {\n prefix: 'far',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM432 48V464H304V384h32c8.8 0 16.1-7.2 14.7-15.9C343.1 322.6 303.6 288 256 288s-87.1 34.6-94.7 80.1c-1.5 8.7 5.8 15.9 14.7 15.9h32v80H80V48H432zM144 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H144zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zM336 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H336zM128 208v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H240zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faEarthAsia = {\n prefix: 'far',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M464 256c0-90.7-58.1-167.9-139.1-196.3l-16.4 40.9c-2.9 7.2-9 12.5-16.5 14.4l-17 4.3c-16.7 4.2-23.7 24-13.4 37.7l16.1 21.5c6.1 8.1 6.4 19.2 .8 27.7l-10.7 16.1C260.5 233.3 248 240 234.6 240h-2.3c-16.1 0-27.6 15.5-23 30.9l6 19.9c4.4 14.6-6.5 29.2-21.7 29.2c-10.7 0-20.6-6.1-25.4-15.7l-9.3-18.5c-7.3-14.7-26.9-17.8-38.4-6.2l-15.4 15.4c-5.7 5.7-13.8 8.1-21.7 6.6l-31.7-6.3C70 391.3 154.5 464 256 464c48.1 0 92.3-16.3 127.5-43.7l-5.9-4.3L359 422.9c-19.8 7.4-41.8-1.9-50.4-21.1L303 389.4c-8.5-18.9-1.1-41.2 17-51.3L356.2 318c2.3-1.3 4.3-3.1 5.7-5.3l6.1-9.5c6-9.4 16.4-15.1 27.6-15.1s21.6 5.7 27.6 15.1l2 3.1c3.7 5.8 10.8 8.6 17.5 6.7l14.6-4.1c4.4-16.9 6.8-34.5 6.8-52.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm163.9 80.5l32 8c8.6 2.1 13.8 10.8 11.6 19.4s-10.8 13.8-19.4 11.6l-32-8c-8.6-2.1-13.8-10.8-11.6-19.4s10.8-13.8 19.4-11.6zm84.2 11c-8.6-2.1-13.8-10.8-11.6-19.4l8-32c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4l-8 32c-2.1 8.6-10.8 13.8-19.4 11.6zM350.3 135.2l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5z\"]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'far',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0c-17.7 0-32 14.3-32 32V96c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H256zM192 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H384v48H512c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H192V64zm96 240a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'far',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.1s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16H286.5c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8H384c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faCloudShowers = {\n prefix: 'far',\n iconName: 'cloud-showers',\n icon: [512, 512, [], \"f73f\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM112 352c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24zm192 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24zm-72 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408zm168-24c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408c0-13.3-10.7-24-24-24z\"]\n};\nvar faUserClock = {\n prefix: 'far',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM49.3 464H348.5c12.3 18.8 28 35.1 46.3 48H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304H224h45.7c20.6 0 40.4 3.5 58.8 9.9c-4.9 15.3-7.8 31.4-8.4 48.2c-15.5-6.5-32.5-10.1-50.4-10.1H178.3c-65.7 0-120.1 48.7-129 112zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faOnion = {\n prefix: 'far',\n iconName: 'onion',\n icon: [448, 512, [129477], \"e427\", \"M171.3 33.9c.2-.7 .4-1.5 .6-2.2c1-3.8 1.9-7.8 2.5-11.9C176.2 9 184.9 0 195.8 0c6.3 0 12.1 3 15.8 7.9l0 0c.7 .9 1.3 1.9 1.9 3l3.4 6.8c2.9 5.9 11.4 5.9 14.3 0l3.4-6.8c.5-1.1 1.2-2.1 1.9-3l0 0C240.1 3 245.9 0 252.2 0c10.9 0 19.6 9 21.3 19.8c.6 4.1 1.5 8.1 2.5 11.9c.2 .7 .4 1.5 .6 2.2l0 .1c11.6 39.7 43.1 65.3 76 92C399 163.7 448 203.5 448 288c0 80.4-58 135.2-131.9 160.3l10.7 32.1c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2L269.4 460c-7.1 1.2-14.2 2.1-21.4 2.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V462.7c-7.2-.7-14.3-1.6-21.4-2.7l-11.9 35.6c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4l10.7-32.1C58 423.2 0 368.4 0 288c0-84.5 49-124.3 95.3-162c32.9-26.7 64.4-52.4 76-92l0-.1zm31.3 48.2c-7.9 13.9-17.4 26-27.5 36.8c-.5 .5-1 1.1-1.5 1.6c-.4 .8-.9 1.9-1.5 3.2c-1.5 3.2-3.6 7.9-6.2 13.7c-5.1 11.7-12 28.2-18.9 46.9c-13.9 38.1-27 83.8-27 119.5c0 32.5 9.2 60.2 18.5 79.8c3.8 8.1 7.6 14.7 10.8 19.7c17.4 5.8 36.1 9.6 55.3 11.4C194.2 389.7 184 354.2 184 312c0-61.9 6.1-128.6 12.1-179.6c2.3-19.3 4.6-36.4 6.5-50.2zm34.3-13.5c-.3 1.8-.6 3.8-.9 5.8c-2.2 15.1-5.2 36.5-8.2 61.7C221.9 186.6 216 251.9 216 312c0 37.9 9.4 69.8 18.8 92.2c1.7 4 3.3 7.7 4.9 11c21.3-1.7 41.9-5.9 61-12.4c3.3-4.4 7.1-10.2 11-17.2c9.9-17.9 19.7-43.2 19.7-73.6c0-37.1-15.8-88.6-32.6-132.5c-8.3-21.6-16.6-40.7-22.8-54.5c-.8-1.9-1.7-3.7-2.4-5.3c-.2-.2-.4-.5-.7-.7c-13.2-14.2-25.6-30.8-34.5-50.7c-.5 .1-.9 .2-1.4 .3zm91.9 99.9c16.8 43.9 34.6 100.1 34.6 143.5c0 25.2-5.5 47.4-12.6 65.7C382.1 355.2 400 325.3 400 288c0-53.7-25.3-81.3-63.6-113.2c-2.4-2-5-4.1-7.6-6.3zM102.6 381.4C94.6 360.5 88 334.1 88 304c0-41.6 14.9-91.9 29-130.5c.6-1.5 1.1-3.1 1.7-4.6c-2.5 2-4.8 4-7.1 5.8C73.3 206.7 48 234.3 48 288c0 37.7 18.2 67.7 50 90.2c1.5 1.1 3.1 2.1 4.6 3.2z\"]\n};\nvar faClockTwelveThirty = {\n prefix: 'far',\n iconName: 'clock-twelve-thirty',\n icon: [512, 512, [], \"e359\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 152V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faArrowDownToDottedLine = {\n prefix: 'far',\n iconName: 'arrow-down-to-dotted-line',\n icon: [448, 512, [], \"e095\", \"M32 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM241.5 360.4c-4.5 4.8-10.9 7.6-17.5 7.6s-12.9-2.7-17.5-7.6l-128-136c-9.1-9.7-8.6-24.8 1-33.9s24.8-8.6 33.9 1L200 283.5V200 72c0-13.3 10.7-24 24-24s24 10.7 24 24V200v83.5l86.5-91.9c9.1-9.7 24.3-10.1 33.9-1s10.1 24.3 1 33.9l-128 136z\"]\n};\nvar faHandDots = {\n prefix: 'far',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M198.4 36C208.8 14.7 230.7 0 256 0s47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64v2c5.1-1.3 10.5-2 16-2c35.3 0 64 28.7 64 64V336c0 1.5-.1 3-.4 4.5c-6.2 91.7-79.4 165-171.1 171.1c-1.5 .3-2.9 .4-4.5 .4h-8-8.5c-67.9 0-133-27-181-75L18.7 349.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l2.7 2.7V96c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4zM240 232c0 13.3-10.7 24-24 24s-24-10.7-24-24V95.9c0-8.8-7.2-15.9-16-15.9c-8.8 0-16 7.2-16 16V319.4c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L75.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l87.8 87.8c39 39 91.9 60.9 147.1 60.9H296h4.9c.6-.1 1.3-.1 1.9-.2c69.7-3.4 125.6-59.3 129-129c0-.6 .1-1.3 .2-1.9V160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V152l0-.1V96c0-8.8-7.2-16-16-16s-16 7.1-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V96l0-.1V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96l0 .1V232zm0 88a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM320 416a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-64-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-80-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'far',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M64 464H320c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm80 48c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM192 400c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zM112 224H272c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faRectangleWide = {\n prefix: 'far',\n iconName: 'rectangle-wide',\n icon: [640, 512, [], \"f2fc\", \"M576 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCommentArrowUp = {\n prefix: 'far',\n iconName: 'comment-arrow-up',\n icon: [512, 512, [], \"e144\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM280 328V217.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V328c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faGarlic = {\n prefix: 'far',\n iconName: 'garlic',\n icon: [512, 512, [129476], \"e40e\", \"M376 131.2c-15.2-12.1-24-30.5-24-50V48c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48V81.2c0 19.4-8.8 37.8-24 50L52.7 197.8C19.4 224.5 0 264.8 0 307.5C0 385.1 62.9 448 140.5 448H136v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h-4.5C449.1 448 512 385.1 512 307.5c0-42.7-19.4-83-52.7-109.7L376 131.2zm-168-56V48h32V75.2c0 48.1 15 95 43 134.1l17.4 24.4c12.7 17.8 19.6 39.2 19.6 61.1V304c0 53-43 96-96 96s-96-43-96-96v-9.2c0-21.9 6.8-43.3 19.6-61.1L165 209.3c24.1-33.7 38.6-73.2 42.1-114.2c.6-4.6 .9-9.2 .9-13.9V75.2zM272 48h32V81.2c0 34 15.5 66.2 42 87.5l83.3 66.6c21.9 17.6 34.7 44.1 34.7 72.2c0 51.1-41.4 92.5-92.5 92.5H308.7c26.6-23.5 43.3-57.8 43.3-96v-9.2c0-28.6-8.9-56.5-25.5-79.7L309 190.7c-24.1-33.7-37-74.1-37-115.5V48zM139.3 400C88.8 399.4 48 358.2 48 307.5c0-28.1 12.8-54.7 34.7-72.2l57-45.6c-.2 .3-.5 .6-.7 1l-17.4 24.4C104.9 238.4 96 266.2 96 294.8V304c0 38.2 16.8 72.5 43.3 96z\"]\n};\nvar faMugSaucer = {\n prefix: 'far',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M144 80H432V288c0 26.5-21.5 48-48 48H192c-26.5 0-48-21.5-48-48V80zM128 32c-17.7 0-32 14.3-32 32V288c0 53 43 96 96 96H384c53 0 96-43 96-96h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H448 128zM512 240H480V80h32c44.2 0 80 35.8 80 80s-35.8 80-80 80zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'far',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M48 288V64c0-8.8 7.2-16 16-16H96v96c0 8.8 7.2 16 16 16s16-7.2 16-16V48h64v64c0 8.8 7.2 16 16 16s16-7.2 16-16V48h96c8.8 0 16 7.2 16 16V288H48zM0 320c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V320zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTreeDecorated = {\n prefix: 'far',\n iconName: 'tree-decorated',\n icon: [448, 512, [], \"f7dc\", \"M242.9 9.3C238.4 3.4 231.4 0 224 0s-14.4 3.4-18.9 9.3L66.8 186.9c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5h16.5L35.1 326.2c-4.9 7.4-5.4 16.8-1.2 24.6s12.3 12.7 21.2 12.7H79L4.1 474.6c-5 7.4-5.5 16.9-1.3 24.7S15.1 512 24 512H424c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.3-24.7L369 363.5h24c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6L345.7 225.6h16.5c9.2 0 17.5-5.2 21.6-13.5s3-18-2.6-25.3L242.9 9.3zM147.2 177.6H134.9L224 63.1l89.1 114.5H300.8c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l67.2 100.6H323.8c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.3 24.7L378.9 464H69.1l74.9-111.1c5-7.4 5.5-16.9 1.3-24.7s-12.3-12.7-21.2-12.7H99.9l67.2-100.6c4.9-7.4 5.4-16.8 1.2-24.6s-12.3-12.7-21.2-12.7zM184 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-152a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm24 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faMask = {\n prefix: 'far',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M91.4 162.3C61 188.5 48 225.2 48 272c0 43.9 15.3 74.8 36.8 95c22 20.6 53.7 33 91.2 33h8.4c6.1 0 11.6-3.4 14.3-8.8l23.2-46.3 39 19.5-39-19.5C234.4 319.8 260 304 288 304s53.6 15.8 66.1 40.8l23.2 46.3c2.7 5.4 8.2 8.8 14.3 8.8H400c37.4 0 69.2-12.4 91.2-33c21.5-20.2 36.8-51.1 36.8-95c0-46.8-13-83.5-43.4-109.7C452.9 134.9 394.3 112 288 112s-164.9 22.9-196.6 50.3zM0 272C0 160 64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272zm96-16a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCalendarHeart = {\n prefix: 'far',\n iconName: 'calendar-heart',\n icon: [448, 512, [], \"e0d3\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM112 301.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'far',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faFlower = {\n prefix: 'far',\n iconName: 'flower',\n icon: [448, 512, [127804, 10047], \"f7ff\", \"M448 168c0 33.6-12.2 64.3-32.3 88c20.1 23.7 32.3 54.4 32.3 88c0 75.1-60.9 136-136 136c-33.6 0-64.3-12.2-88-32.3c-23.7 20.1-54.4 32.3-88 32.3C60.9 480 0 419.1 0 344c0-33.6 12.2-64.3 32.3-88C12.2 232.3 0 201.6 0 168C0 92.9 60.9 32 136 32c33.6 0 64.3 12.2 88 32.3C247.7 44.2 278.4 32 312 32c75.1 0 136 60.9 136 136zM192.9 100.9C177.6 87.8 157.8 80 136 80c-48.6 0-88 39.4-88 88c0 21.8 7.8 41.6 20.9 56.9c15.2 17.9 15.2 44.2 0 62.2C55.8 302.4 48 322.2 48 344c0 48.6 39.4 88 88 88c21.8 0 41.6-7.8 56.9-20.9c17.9-15.2 44.2-15.2 62.2 0C270.4 424.2 290.2 432 312 432c48.6 0 88-39.4 88-88c0-21.8-7.8-41.6-20.9-56.9c-15.2-17.9-15.2-44.2 0-62.2C392.2 209.6 400 189.8 400 168c0-48.6-39.4-88-88-88c-21.8 0-41.6 7.8-56.9 20.9c-17.9 15.2-44.2 15.2-62.2 0zM256 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faRightLeftLarge = {\n prefix: 'far',\n iconName: 'right-left-large',\n icon: [640, 512, [], \"e5e1\", \"M182.1 504c-15.4 0-30.1-6.1-41-17L20.7 366.6C12.6 358.5 8 347.5 8 336s4.6-22.5 12.7-30.6L141.1 185c10.9-10.9 25.6-17 41-17c32 0 57.9 25.9 57.9 57.9V232l80 0h96 8 8c8.8 0 16 7.2 16 16v8 8l0 22.1c0 5.5 4.5 9.9 9.9 9.9c2.6 0 5.2-1 7-2.9L582.1 176 465 58.9c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9V88v8 8c0 8.8-7.2 16-16 16h-8-8H320c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V65.9C400 33.9 425.9 8 457.9 8c15.4 0 30.1 6.1 41 17L619.3 145.4c8.1 8.1 12.7 19.1 12.7 30.6s-4.6 22.5-12.7 30.6L498.9 327c-10.9 10.9-25.6 17-41 17c-32 0-57.9-25.9-57.9-57.9V280l-80 0H224h-8-8c-8.8 0-16-7.2-16-16v-8-8V225.9c0-5.5-4.5-9.9-9.9-9.9c-2.6 0-5.2 1-7 2.9L57.9 336 175 453.1c1.9 1.9 4.4 2.9 7 2.9c5.5 0 9.9-4.5 9.9-9.9V424v-8-8c0-8.8 7.2-16 16-16h8 8l96 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0v6.1c0 32-25.9 57.9-57.9 57.9z\"]\n};\nvar faRulerVertical = {\n prefix: 'far',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M192 48c8.8 0 16 7.2 16 16V96H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H192zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCirclesOverlap = {\n prefix: 'far',\n iconName: 'circles-overlap',\n icon: [640, 512, [], \"e600\", \"M192 288c0 40.8 10.9 79 30 112c-96.3-1.1-174-79.5-174-176c0-97.2 78.8-176 176-176c38.9 0 74.8 12.6 104 34C248 116.2 192 195.5 192 288zm32 160c11.2 0 22.1-.8 32.8-2.4c40.6 41 96.9 66.4 159.2 66.4c123.7 0 224-100.3 224-224S539.7 64 416 64c-11.2 0-22.1 .8-32.8 2.4C342.6 25.4 286.3 0 224 0C100.3 0 0 100.3 0 224S100.3 448 224 448zm192 16c-38.9 0-74.8-12.6-104-34C392 395.8 448 316.5 448 224c0-40.8-10.9-79-30-112c96.3 1.1 174 79.5 174 176c0 97.2-78.8 176-176 176z\"]\n};\nvar faUserLarge = {\n prefix: 'far',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M352 144a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-240 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zM49.3 464H462.7c-8.3-54.4-55.3-96-112-96H161.3c-56.7 0-103.6 41.6-112 96zM0 481.3C0 392.2 72.2 320 161.3 320H350.7C439.8 320 512 392.2 512 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]\n};\nvar faUserAlt = faUserLarge;\nvar faStarshipFreighter = {\n prefix: 'far',\n iconName: 'starship-freighter',\n icon: [576, 512, [], \"e03a\", \"M400 256c0-97.2-78.8-176-176-176S48 158.8 48 256s78.8 176 176 176c14.8 0 29.1-1.8 42.8-5.2L208 350.7c-45.4-7.6-80-47.1-80-94.7c0-53 43-96 96-96s96 43 96 96c0 1.3 0 2.7-.1 4l60 77.7C392.7 313.3 400 285.5 400 256zm40 112c1.1 0 2.3 0 3.4 .1L528 335.2V280H446.7c-3.4 31.8-13.4 61.6-28.7 88h22zm6.7-136H528V176.8l-118.2-46c19.9 29.5 32.9 63.9 36.9 101.1zM555.6 375.9l-57 22.2C507 409.9 512 424.4 512 440c0 39.8-32.2 72-72 72H368c-22.3 0-43.3-10.3-57-28l-9.9-12.9C275.9 477 250 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c42.3 0 84.2 7.9 123.6 23.2l207.9 80.9c12.3 4.8 20.4 16.6 20.4 29.8V256v90.1c0 13.2-8.1 25-20.4 29.8zM88 240a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 176a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm152-80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm77 198.7c4.5 5.9 11.6 9.3 19 9.3h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H379.8L300.7 313.7c-9.7 12.9-22.6 23.3-37.5 30l85.8 111z\"]\n};\nvar faTrainTram = {\n prefix: 'far',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M55.5 63c7.6-9.5 19.1-15 31.2-15H200V96H160c-53 0-96 43-96 96V352c0 26 10.3 49.6 27.2 66.9L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l60.6-60.6c8.4 2.4 17.2 3.7 26.4 3.7H288c9.2 0 18-1.3 26.4-3.7L375 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-52.1-52.1C373.7 401.6 384 378 384 352V192c0-53-43-96-96-96H248V48H361.2c12.2 0 23.6 5.5 31.2 15l12.8 16c8.3 10.4 23.4 12 33.7 3.7s12-23.4 3.8-33.7L430 33C413.3 12.2 388 0 361.2 0H86.8C60 0 34.7 12.2 18 33L5.3 49C-3 59.4-1.3 74.5 9 82.7S34.5 89.3 42.7 79L55.5 63zM160 144H288c26.5 0 48 21.5 48 48v48H112V192c0-26.5 21.5-48 48-48zM112 288H336v64c0 26.5-21.5 48-48 48H160c-26.5 0-48-21.5-48-48V288zm72 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBridgeSuspension = {\n prefix: 'far',\n iconName: 'bridge-suspension',\n icon: [640, 512, [], \"e4cd\", \"M149.1 12.5C145 5 137.1 0 128 0c-8.8 0-16.5 4.7-20.7 11.8C94.3 33 80.7 53.9 65.3 71.5c-15.5 17.7-31.7 30.6-49.4 36.9C3.4 113-3.1 126.7 1.4 139.2s18.2 18.9 30.7 14.4c28.2-10.2 50.8-29.4 69.2-50.4c.9-1 1.8-2 2.6-3V240H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V100.2c.9 1 1.7 2 2.6 3c18.4 21 41 40.3 69.2 50.4c12.5 4.5 26.2-2 30.7-14.4s-2-26.2-14.4-30.7c-17.7-6.4-33.9-19.3-49.4-36.9c-15.4-17.6-29-38.6-42-59.8C528.5 4.7 520.8 0 512 0c-9.1 0-17 5-21.1 12.5C455.8 73.6 390.3 112 320 112s-135.8-38.4-170.9-99.5zM200 240H152V92.8c14.5 13.7 30.7 25.6 48 35.4V240zm96 0H248V149c15.5 4.8 31.6 8.1 48 9.8V240zm96 0H344V158.8c16.4-1.6 32.5-4.9 48-9.8v91zm96 0H440V128.3c17.3-9.8 33.5-21.7 48-35.4V240zM0 360c0 13.3 10.7 24 24 24H40c30.9 0 56 25.1 56 56v24c0 26.5 21.5 48 48 48h49.4c25.7 0 46.6-20.9 46.6-46.6V464c0-44.2 35.8-80 80-80s80 35.8 80 80v1.4c0 25.7 20.9 46.6 46.6 46.6H496c26.5 0 48-21.5 48-48V440c0-30.9 25.1-56 56-56h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H600c-57.4 0-104 46.6-104 104v24H448c0-70.7-57.3-128-128-128s-128 57.3-128 128H144V440c0-57.4-46.6-104-104-104H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faTrashCheck = {\n prefix: 'far',\n iconName: 'trash-check',\n icon: [448, 512, [], \"e2af\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zM318.1 246.1l-104 104c-7.8 7.8-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0L200 307.7l89.9-89.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]\n};\nvar faUserNurse = {\n prefix: 'far',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M96 128V70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80V160H144v16zM216 40c-4.4 0-8 3.6-8 8V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216zM49.3 461.9H398.7c-6-39.3-32.2-72-67.7-87.1l-61.7 61.7c-25 25-65.5 25-90.5 0l-61.7-61.7c-35.5 15.1-61.7 47.8-67.7 87.1zm65.1-137.1c10.1-3.1 20.9 .4 28.4 7.9l69.8 69.8c6.2 6.2 16.4 6.2 22.6 0l69.8-69.8c7.5-7.5 18.3-11 28.4-7.9C399.8 344.9 448 406.4 448 479.2c0 17-13.8 30.7-30.7 30.7H30.7c-17 0-30.7-13.8-30.7-30.7c0-72.8 48.2-134.3 114.4-154.4z\"]\n};\nvar faBoombox = {\n prefix: 'far',\n iconName: 'boombox',\n icon: [640, 512, [128254], \"f8a5\", \"M136 48H504c22.1 0 40 17.9 40 40v72H448c0-17.7-14.3-32-32-32s-32 14.3-32 32H352c0-17.7-14.3-32-32-32s-32 14.3-32 32H256c0-17.7-14.3-32-32-32s-32 14.3-32 32H96V88c0-22.1 17.9-40 40-40zM48 88v74c-27.6 7.1-48 32.2-48 62V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V224c0-29.8-20.4-54.9-48-62V88c0-48.6-39.4-88-88-88H136C87.4 0 48 39.4 48 88zM64 208H576c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zM176 432a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-48-96a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm432 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSyringe = {\n prefix: 'far',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M407 7c-9.4 9.4-9.4 24.6 0 33.9l15 15L384 94.1 329 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72 72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55L456 89.9l15 15c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L473 39 441 7c-9.4-9.4-24.6-9.4-33.9 0zM271.4 94.6l-191 191C69.9 296.2 64 310.4 64 325.3v88.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h88.8c14.9 0 29.1-5.9 39.6-16.4l191-191c-.3-.3-.7-.6-1-1l-33-33-191 191c-1.5 1.5-3.5 2.3-5.7 2.3H112V325.3c0-2.1 .8-4.2 2.3-5.7l27.3-27.3 23 23c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-23-23 41.4-41.4 23 23c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-23-23 41.4-41.4 23 23c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-23-23 13.1-13.1-33-33c-.3-.3-.6-.7-1-1z\"]\n};\nvar faCloudSun = {\n prefix: 'far',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17.1c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM320.1 320c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48s21.5 48 48 48c.6 0 1.3 0 1.9 0c.3 0 .6 0 .9 0H557.8c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V346.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-5.8 7.1-15.1 10.4-24.1 8.3s-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm48-96c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0h-266c-1.1 0-2.1 .1-3.2 .1c-53 0-96-43-96-96c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8z\"]\n};\nvar faShieldExclamation = {\n prefix: 'far',\n iconName: 'shield-exclamation',\n icon: [512, 512, [], \"e247\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faStopwatch20 = {\n prefix: 'far',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M168 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h32V97.4C96.4 109.3 16 197.2 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-44.7-14.1-86.1-38.1-120l31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-29.2 29.2c-31.1-27.5-70.4-45.9-113.8-50.9V48h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM64 304a160 160 0 1 1 320 0A160 160 0 1 1 64 304zm172-48v96c0 28.7 23.3 52 52 52s52-23.3 52-52V256c0-28.7-23.3-52-52-52s-52 23.3-52 52zm52-12c6.6 0 12 5.4 12 12v96c0 6.6-5.4 12-12 12s-12-5.4-12-12V256c0-6.6 5.4-12 12-12zm-132.4 8.6c1.7-5.1 6.5-8.6 11.9-8.6c6.9 0 12.5 5.6 12.5 12.5v2.2c0 3.6-1.3 7.1-3.7 9.8l-39 43.9c-13.7 15.4-21.2 35.2-21.2 55.8V384c0 11 9 20 20 20h64c11 0 20-9 20-20s-9-20-20-20H156.2c.9-9.2 4.7-17.9 10.9-24.9l39-43.9c8.9-10 13.8-23 13.8-36.4v-2.2c0-29-23.5-52.5-52.5-52.5c-22.6 0-42.7 14.5-49.8 35.9l-.6 1.7c-3.5 10.5 2.2 21.8 12.6 25.3s21.8-2.2 25.3-12.6l.6-1.7z\"]\n};\nvar faSquareFull = {\n prefix: 'far',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M464 48V464H48V48H464zM48 0H0V48 464v48H48 464h48V464 48 0H464 48z\"]\n};\nvar faGripDots = {\n prefix: 'far',\n iconName: 'grip-dots',\n icon: [448, 512, [], \"e410\", \"M352 192a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-160 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM224 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 320a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faCommentExclamation = {\n prefix: 'far',\n iconName: 'comment-exclamation',\n icon: [512, 512, [], \"f4af\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM256 112c-13.3 0-24 10.7-24 24V248c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPenSwirl = {\n prefix: 'far',\n iconName: 'pen-swirl',\n icon: [512, 512, [], \"e214\", \"M441.2 59.1L453.1 71c9.4 9.4 9.4 24.6 0 33.9L432 126.1 386.3 80.4l20.8-21.1c9.4-9.5 24.6-9.5 34.1-.1zM231.9 236.8L352.6 114.5 398.1 160 276.6 281.6c-3.3 3.3-7.5 5.6-12 6.5L215 298.5l10.4-49.7c.9-4.5 3.2-8.7 6.4-11.9zM373 25.5L197.7 203.1c-9.7 9.8-16.4 22.3-19.2 35.8l-18 85.7c-1.7 7.9 .8 16.2 6.5 21.9s14 8.2 21.9 6.5l85.5-17.9c13.7-2.9 26.3-9.7 36.1-19.6L487.1 138.9c28.1-28.1 28.1-73.7 0-101.8L475.1 25.2C446.9-3.1 401-2.9 373 25.5zm-48.3-7.9C302.9 11.4 279.8 8 256 8C119 8 8 119 8 256S119 504 256 504c13.3 0 24-10.7 24-24s-10.7-24-24-24C145.5 456 56 366.5 56 256S145.5 56 256 56c9.7 0 19.3 .7 28.7 2l40-40.4zM454.1 228.4c1.2 9 1.9 18.2 1.9 27.6c0 57.4-46.6 104-104 104c-13.3 0-24 10.7-24 24s10.7 24 24 24c83.9 0 152-68.1 152-152c0-23.6-3.3-46.4-9.4-68l-40.4 40.5z\"]\n};\nvar faFalafel = {\n prefix: 'far',\n iconName: 'falafel',\n icon: [576, 512, [129478], \"e40a\", \"M147.4 120.3c-15.2 18.4-15.2 45.1 0 63.5c.3 .4 .5 1 .3 1.6c-2.3 9-1.9 18.2 .6 26.6c-20.8-9-45-2.4-58.5 15.9c-.3 .4-.5 .4-.7 .4c-24.3-.7-44.9 16.5-49.4 39.9c-.1 .6-.5 1-.7 1.1c-21.9 10-33.1 34.3-27.3 57.3c.2 .6 0 1.3-.3 1.6c-15.2 18.4-15.2 45.1 0 63.5c.3 .4 .5 1 .3 1.6c-5.8 23 5.4 47.3 27.3 57.3c.2 .1 .6 .4 .7 1.1c4.6 23.4 25.2 40.6 49.4 39.9c.1 0 .4 0 .7 .4c14.3 19.4 40.5 25.6 61.9 14.3c.1-.1 .2-.1 .3-.1s.2 0 .3 .1c21.5 11.3 47.7 5 61.9-14.3c.3-.4 .5-.4 .7-.4c24.3 .7 44.9-16.5 49.4-39.9c.1-.6 .5-1 .7-1.1c10.2-4.7 18.1-12.4 23-21.7c4.9 9.3 12.8 17.1 23 21.7c.2 .1 .6 .4 .7 1.1c4.6 23.4 25.2 40.6 49.4 39.9c.1 0 .4 0 .7 .4c14.3 19.4 40.5 25.6 61.9 14.3c.1-.1 .2-.1 .3-.1s.2 0 .3 .1c21.5 11.3 47.7 5 61.9-14.3c.3-.4 .6-.4 .7-.4c24.3 .7 44.9-16.5 49.4-39.9c.1-.6 .5-1 .7-1.1c16.4-7.5 26.7-22.9 28.5-39.9c-18.6 7.3-39.4 6-56.9 1.2l-.1 0c-10 7.3-17 18.2-19.4 30.6c-.1 .5-.3 .8-.5 .9s-.3 .2-.4 .2c-16.1-.5-31.2 7.1-40.7 19.9c-.1 .2-.2 .2-.3 .3c-.1 .1-.2 .1-.2 .1s-.1 0-.2 0c0 0-.1 0-.2-.1c-14.2-7.5-31.1-7.5-45.3 0c-.1 0-.1 0-.1 .1l-.1 0-.1 0-.1 0-.1 0c-.1 0-.2 0-.2-.1c-.1 0-.2-.1-.3-.3c-9.5-12.8-24.6-20.4-40.7-19.9c-.1 0-.2 0-.4-.2s-.4-.5-.5-.9c-3-15.6-13.3-28.9-27.9-35.5c-.2-.1-.4-.2-.6-.6s-.2-.8-.1-1.3c3.9-15.4 .3-31.7-9.9-44c-.2-.3-.4-.7-.4-1.1s.2-.9 .4-1.1c10.1-12.3 13.8-28.6 9.9-44c-.1-.5-.1-.9 .1-1.3s.4-.5 .6-.6c14.6-6.7 24.8-20 27.9-35.5c.1-.5 .3-.8 .5-.9s.3-.2 .4-.2c8.7 .2 17.1-1.8 24.5-5.9c-.9-11.7 .3-23.8 4.6-35.2c7.1-4.1 16-4.4 23.7-.4l.4 .2c13.8-12.1 20-31.3 15.4-49.7c-.2-.6 0-1.3 .3-1.6c15.2-18.4 15.2-45.1 0-63.5c-.3-.4-.5-1-.3-1.6c5.8-23-5.4-47.3-27.3-57.3c-.2-.1-.6-.4-.7-1.1c-4.6-23.4-25.2-40.6-49.4-39.9c-.1 0-.4 0-.7-.4C335.9 .6 309.7-5.7 288.3 5.6c-.1 .1-.2 .1-.3 .1s-.2 0-.3-.1c-21.5-11.3-47.7-5-61.9 14.3c-.3 .4-.5 .4-.7 .4c-24.3-.7-44.9 16.5-49.4 39.9c-.1 .6-.5 1-.7 1.1c-21.9 10-33.1 34.3-27.3 57.3c.2 .6 0 1.3-.3 1.6zM324.5 243.4c-5 3.2-9.4 7.3-13 12.2c-.1 .2-.2 .2-.3 .3s-.2 .1-.2 .1s-.1 0-.2 0c0 0-.1 0-.2-.1c-14.2-7.5-31.1-7.5-45.3 0c-.1 .1-.2 .1-.2 .1s-.1 0-.1 0l-.1 0c-.1 0-.2 0-.2-.1s-.2-.1-.3-.3c-3.6-4.9-8-9-13-12.2c-7.8-8.2-18.4-13.6-30.2-14.9c-4.2-12.9-13.7-23.7-26.3-29.5c-.2-.1-.4-.2-.6-.6s-.2-.8-.1-1.3c3.9-15.4 .3-31.7-9.9-44c-.2-.3-.4-.7-.4-1.1s.2-.9 .4-1.1c10.1-12.3 13.8-28.6 9.9-44c-.1-.5-.1-.9 .1-1.3s.4-.5 .6-.6c14.6-6.7 24.8-20 27.9-35.5c.1-.5 .3-.8 .5-.9s.3-.2 .4-.2c16.1 .5 31.2-7.1 40.7-19.9c.1-.2 .2-.2 .3-.3s.2-.1 .2-.1s.1 0 .2 0c0 0 .1 0 .2 .1c14.2 7.5 31.1 7.5 45.3 0c.1-.1 .2-.1 .2-.1c0 0 .1 0 .2 0l.1 0 .1 0c0 0 .1 0 .1 .1c.1 0 .2 .1 .3 .3c9.5 12.8 24.6 20.4 40.7 19.9c.1 0 .2 0 .4 .2s.4 .5 .5 .9c3 15.6 13.3 28.9 27.9 35.5c.2 .1 .4 .2 .6 .6s.2 .8 .1 1.3c-3.9 15.4-.3 31.7 9.9 44c.2 .3 .4 .7 .4 1.1s-.2 .9-.4 1.1c-10.1 12.3-13.8 28.6-9.9 44c.1 .5 .1 .9-.1 1.3s-.4 .5-.6 .6c-12.6 5.8-22.1 16.6-26.3 29.5c-11.8 1.2-22.4 6.7-30.2 14.9zM48.4 361.1c-.2-.3-.4-.7-.4-1.1s.2-.9 .4-1.1c10.1-12.3 13.8-28.6 9.9-44c-.1-.5-.1-.9 .1-1.3s.4-.5 .6-.6c14.6-6.7 24.8-20 27.9-35.5c.1-.5 .3-.8 .5-.9s.3-.2 .4-.2c16.1 .5 31.2-7.1 40.7-19.9c.1-.2 .2-.2 .3-.3s.2-.1 .2-.1s.1 0 .2 0c0 0 .1 0 .2 .1c14.2 7.5 31.1 7.5 45.3 0c.1-.1 .2-.1 .2-.1c0 0 .1 0 .2 0l.1 0 0 0c0 0 .1 0 .1 .1c.1 0 .2 .1 .3 .3c9.5 12.8 24.6 20.4 40.7 19.9c.1 0 .2 0 .4 .2s.4 .5 .5 .9c3 15.6 13.3 28.9 27.9 35.5c.2 .1 .4 .2 .6 .6s.2 .8 .1 1.3c-3.9 15.4-.3 31.7 9.9 44c.2 .3 .4 .7 .4 1.1s-.2 .9-.4 1.1c-10.1 12.3-13.8 28.6-9.9 44c.1 .5 .1 .9-.1 1.3s-.4 .5-.6 .6c-14.6 6.7-24.8 20-27.9 35.5c-.1 .5-.3 .8-.5 .9s-.3 .2-.4 .2c-16.1-.5-31.2 7.1-40.7 19.9c-.1 .2-.2 .2-.3 .3c0 0-.1 0-.1 .1c0 0-.1 0-.1 0l-.1 0-.1 0-.1 0c0 0-.1 0-.2-.1c-14.2-7.5-31.1-7.5-45.3 0c-.1 .1-.2 .1-.2 .1c0 0-.1 0-.2 0s-.2 0-.2-.1c-.1 0-.2-.1-.3-.3c-9.5-12.8-24.6-20.4-40.7-19.9c-.1 0-.2 0-.4-.2s-.4-.5-.5-.9c-3-15.6-13.3-28.9-27.9-35.5c-.2-.1-.4-.2-.6-.6s-.2-.8-.1-1.3c3.9-15.4 .3-31.7-9.9-44zM416 261c-1 24.2 13.6 56 40.3 82.7c19.3 19.4 41.4 32.3 61.3 37.6c19.5 5.2 37 3 47.9-7.9c5.5-5.5 8.8-12.7 10-20.9c2.1-14.2-1.8-31.6-10.9-49.3c-5.2-10.1-12.1-20.3-20.6-30.1c-2.6-3-5.4-5.9-8.2-8.8l-.5-.5c-33.5-33.3-74.9-47.5-99.3-35.9c-3.5 1.7-6.6 3.8-9.4 6.6c-6.7 6.7-10.1 15.9-10.5 26.5zM112 352a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm224-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCircle2 = {\n prefix: 'far',\n iconName: 'circle-2',\n icon: [512, 512, [], \"e0ef\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM222.7 184.7c7.2-5.5 16.1-8.4 25.3-8.3l3.4 .1c20.3 .3 36.6 16.8 36.6 37.1c0 10.3-4.2 20.1-11.7 27.1L167.6 342.5c-7.2 6.7-9.5 17.2-5.9 26.3S174.2 384 184 384H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H244.7l64.4-60.4C326.3 259.5 336 237 336 213.5c0-46.5-37.3-84.4-83.8-85.1l-3.4-.1c-19.9-.3-39.3 6.1-55.1 18.1l-24.2 18.4c-10.5 8-12.6 23.1-4.5 33.6s23.1 12.6 33.6 4.5l24.2-18.4z\"]\n};\nvar faMagnet = {\n prefix: 'far',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M48 256c0 97.2 78.8 176 176 176s176-78.8 176-176V192H336v64c0 61.9-50.1 112-112 112s-112-50.1-112-112V192H48v64zM0 88C0 57.1 25.1 32 56 32h48c30.9 0 56 25.1 56 56V256c0 35.3 28.7 64 64 64s64-28.7 64-64V88c0-30.9 25.1-56 56-56h48c30.9 0 56 25.1 56 56V256c0 123.7-100.3 224-224 224S0 379.7 0 256V88z\"]\n};\nvar faJar = {\n prefix: 'far',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M32 24c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM256 128c8.8 0 16 7.2 16 16v80H48V144c0-8.8 7.2-16 16-16H256zm16 240v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368H272zM64 80C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faGramophone = {\n prefix: 'far',\n iconName: 'gramophone',\n icon: [384, 512, [], \"f8bd\", \"M127 0c10.5-.4 20 6 23.6 15.9l0 .1 .3 .7c.3 .7 .7 1.7 1.3 3.2c1.2 2.9 3.2 7.3 6 12.8c5.7 11.1 14.8 27 28.2 45.1c26.9 36.2 71.4 81.5 141.3 116.8c17.3 8.7 31.6 22.9 40.1 40.4c5.4 10.9 8.2 23 8.2 35l0 .3 0 .3c0 45-36.5 81.4-81.4 81.4H184c-13.3 0-24-10.7-24-24c0-1.7 .2-3.3 .5-4.8c2.2-10.9 11.9-19.2 23.5-19.2l110 0c18.7 0 33.9-15.1 34-33.7c-.1-5.4-1.5-10.7-4.1-15.6c-3.1-4.9-7.7-7.8-12.4-8.6c-44.1-7.3-133.1-7.9-241.4 69.4c-.3 .2-.7 .5-1 .7c-2.7 1.8-5.6 2.9-8.7 3.5c-3.2 .6-6.6 .6-10-.2c-1.4-.3-2.7-.8-4-1.3c-.4-.2-.8-.4-1.2-.6c-1.4-.7-2.7-1.5-3.9-2.4c-.7-.5-1.3-1.1-1.9-1.7c-1.3-1.2-2.4-2.6-3.4-4.1c-1.8-2.8-3-5.8-3.6-8.9c-.6-3.1-.5-6.4 .2-9.6c.1-.3 .2-.7 .3-1L104.8 17.9C107.5 7.7 116.5 .4 127 0zM94.8 243.4c54.3-29.5 103.6-42.4 144.6-46.7c-41.1-30.1-70.7-62.3-91.5-90.2c-4.5-6.1-8.6-11.9-12.3-17.5L94.8 243.4zM0 488c0-13.3 10.7-24 24-24h8V432c0-26.5 21.5-48 48-48H304c26.5 0 48 21.5 48 48v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H304 80 32 24c-13.3 0-24-10.7-24-24zm304-24V432H80v32H304z\"]\n};\nvar faDiceD12 = {\n prefix: 'far',\n iconName: 'dice-d12',\n icon: [512, 512, [], \"f6ce\", \"M200.3 48L158.7 72 256 102.8 353.3 72 311.7 48 200.3 48zm-97.1 56.7L49.7 197.3l83.9 93.1L232 241.2V145.6L103.2 104.7zM48 267.1v44.7l55.7 96.5L140 429.2l-33.1-96.8L48 267.1zM202.7 464h108l43.9-131.8L256 282.8l-98.5 49.3L202.7 464zm170.5-35.4l35.2-20.3L464 311.7V267.1l-58.8 65.3-32.1 96.2zm89.2-231.3l-53.4-92.5L280 145.6v95.6l98.4 49.2 83.9-93.1zM176.3 6.4c7.3-4.2 15.6-6.4 24-6.4H311.7c8.4 0 16.7 2.2 24 6.4l96.5 55.7c7.3 4.2 13.4 10.3 17.6 17.6l55.7 96.5c4.2 7.3 6.4 15.6 6.4 24V311.7c0 8.4-2.2 16.7-6.4 24l-55.7 96.5c-4.2 7.3-10.3 13.4-17.6 17.6l-96.5 55.7c-7.3 4.2-15.6 6.4-24 6.4H200.3c-8.4 0-16.7-2.2-24-6.4L79.7 449.8c-7.3-4.2-13.4-10.3-17.6-17.6L6.4 335.7c-4.2-7.3-6.4-15.6-6.4-24V200.3c0-8.4 2.2-16.7 6.4-24L62.2 79.7c4.2-7.3 10.3-13.4 17.6-17.6L176.3 6.4z\"]\n};\nvar faNoteSticky = {\n prefix: 'far',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H288V352c0-17.7 14.3-32 32-32h80V96c0-8.8-7.2-16-16-16H64zM288 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320v5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7H288z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faDown = {\n prefix: 'far',\n iconName: 'down',\n icon: [384, 512, [\"arrow-alt-down\"], \"f354\", \"M192 429.6L49.3 279.7c-.8-.8-1.3-2-1.3-3.2c0-2.5 2-4.6 4.6-4.6l83.4 0c13.3 0 24-10.7 24-24l0-168 64 0 0 168c0 13.3 10.7 24 24 24l83.4 0c2.5 0 4.6 2 4.6 4.6c0 1.2-.5 2.3-1.3 3.2L192 429.6zM0 276.6c0 13.5 5.2 26.5 14.5 36.3L161.1 466.8c8.1 8.5 19.2 13.2 30.9 13.2s22.8-4.8 30.9-13.2L369.5 312.8c9.3-9.8 14.5-22.8 14.5-36.3c0-29-23.5-52.6-52.6-52.6L272 224l0-144c0-26.5-21.5-48-48-48l-64 0c-26.5 0-48 21.5-48 48l0 144-59.4 0C23.5 224 0 247.5 0 276.6z\"]\n};\nvar faArrowAltDown = faDown;\nvar faHundredPoints = {\n prefix: 'far',\n iconName: 'hundred-points',\n icon: [512, 512, [128175, \"100\"], \"e41c\", \"M171.2 99.6C175.3 61.2 207.8 32 246.5 32c45 0 80.1 39 75.3 83.8L308.8 236.4c-4.1 38.5-36.6 67.6-75.3 67.6c-45 0-80.1-39-75.3-83.8L171.2 99.6zM246.5 80c-14.2 0-26 10.7-27.5 24.8L206 225.3c-1.8 16.4 11.1 30.7 27.5 30.7c14.2 0 26-10.7 27.5-24.8L274 110.7C275.8 94.3 262.9 80 246.5 80zm-128-43.4c6.9 5.1 10.4 13.4 9.4 22l-32 256c-1.6 13.2-13.6 22.7-26.8 21.3s-22.5-13.3-20.8-26.4L75 95 41.4 109.9c-12.2 5.4-26.3 0-31.5-12.1s.4-26.3 12.6-31.7l72-32c7.9-3.5 17-2.6 23.9 2.5zM431.7 32c44.4 0 79.2 37.9 75.6 82.1l-7.4 88.4c-3.3 39.3-36.1 69.5-75.6 69.5c-44.4 0-79.2-37.9-75.6-82.1l7.4-88.4C359.4 62.2 392.2 32 431.7 32zM404 105.5l-7.4 88.4C395.2 210.1 408 224 424.3 224c14.5 0 26.5-11.1 27.7-25.5l7.4-88.4C460.8 93.9 448 80 431.7 80c-14.5 0-26.5 11.1-27.7 25.5zM511.7 323.9c2.3 13.1-6.5 25.5-19.6 27.7l-464 80C15 433.9 2.6 425.1 .3 412.1s6.5-25.5 19.6-27.7l464-80c13.1-2.3 25.5 6.5 27.7 19.6zM459.9 439.7l-240 40c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l240-40c13.1-2.2 25.4 6.7 27.6 19.7s-6.7 25.4-19.7 27.6z\"]\n};\nvar fa100 = faHundredPoints;\nvar faPaperclipVertical = {\n prefix: 'far',\n iconName: 'paperclip-vertical',\n icon: [384, 512, [], \"e3c2\", \"M48 108C48 48.4 96.4 0 156 0s108 48.4 108 108V344c0 39.8-32.2 72-72 72s-72-32.2-72-72V152c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3 10.7 24 24 24s24-10.7 24-24V108c0-33.1-26.9-60-60-60s-60 26.9-60 60V368c0 53 43 96 96 96s96-43 96-96V152c0-13.3 10.7-24 24-24s24 10.7 24 24V368c0 79.5-64.5 144-144 144s-144-64.5-144-144V108z\"]\n};\nvar faWindWarning = {\n prefix: 'far',\n iconName: 'wind-warning',\n icon: [640, 512, [\"wind-circle-exclamation\"], \"f776\", \"M224 432c61.8 0 116.1-31.8 147.5-80h54.9c-36 75.7-113.1 128-202.4 128C100.3 480 0 379.7 0 256S100.3 32 224 32c118.3 0 215.2 91.8 223.4 208H399.3C391.2 150.3 315.8 80 224 80C126.8 80 48 158.8 48 256s78.8 176 176 176zm0-304c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM478 224c-2.1-16.5-5.7-32.6-10.8-48H544c26.5 0 48-21.5 48-48s-21.5-48-48-48H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h40c53 0 96 43 96 96s-43 96-96 96H478zm-6 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64c30.9 0 56-25.1 56-56s-25.1-56-56-56H344c-13.3 0-24-10.7-24-24s10.7-24 24-24H536c57.4 0 104 46.6 104 104s-46.6 104-104 104H472z\"]\n};\nvar faWindCircleExclamation = faWindWarning;\nvar faLocationPinSlash = {\n prefix: 'far',\n iconName: 'location-pin-slash',\n icon: [640, 512, [\"map-marker-slash\"], \"f60c\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4L38.8 5.1zM192.3 125.4C216.3 79.4 264.5 48 320 48c79.5 0 144 64.5 144 144c0 12.4-4.5 31.6-15.3 57.2c-7.4 17.4-16.9 36.2-27.9 55.4L192.3 125.4zm-2.5 120.1l-61.7-48.6c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0c16.2-20.2 39-49.6 62.5-83.1l-37.8-29.8c-17.3 24.6-34.2 47.2-48.5 65.4c-24.8-31.8-57.8-76.4-86.2-122.6c-17.1-27.7-32-55.1-42.5-79.9c-.5-1.2-1-2.5-1.5-3.7z\"]\n};\nvar faMapMarkerSlash = faLocationPinSlash;\nvar faFaceSadSweat = {\n prefix: 'far',\n iconName: 'face-sad-sweat',\n icon: [576, 512, [], \"e38a\", \"M496 256c0 114.9-93.1 208-208 208c-65.4 0-123.8-30.2-162-77.5c-3.9 17.1-13.4 32-26.4 42.8C146.4 480.2 213.5 512 288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8l.7 .9c-.5-5.6-.7-11.3-.7-17C80 141.1 173.1 48 288 48s208 93.1 208 208zM35.7 299.4C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47c12 0 23-4.3 31.5-11.5C89.6 395.9 96 383.2 96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1zM360.4 409.5c9.7-9 10.2-24.2 1.2-33.9C347.3 360.3 322.6 344 288 344s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM367.6 304a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-192-32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm51.7-100.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4zm121.4-22.6c-6.2 6.2-6.2 16.4 0 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBugSlash = {\n prefix: 'far',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M224 96c0-53 43-96 96-96s96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H252.4c-15.7 0-28.4-12.7-28.4-28.4V96zm73.7 112L432 313.3V264c0-30.9-25.1-56-56-56H297.7zM477.4 348.9L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L240 162.8c7.7-1.8 15.8-2.8 24-2.8H376c20 0 38.7 5.7 54.6 15.5L503 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72.4 72.4C474.3 225.3 480 244 480 264h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H480v8c0 9.9-.9 19.5-2.6 28.9zm-46.6 86.5C402.1 463 363 480 320 480c-43.7 0-83.3-17.5-112.2-45.9L137 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l75.8-75.8c-12-22.4-18.8-48.1-18.8-75.3v-8H88c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c0-12.9 2.4-25.3 6.7-36.7L208.1 260c-.1 1.3-.1 2.7-.1 4v56c0 53.6 37.7 98.4 88 109.4V329.2L344 367v62.4c18.3-4 34.8-12.4 48.6-24.1l38.2 30.1z\"]\n};\nvar faCupcake = {\n prefix: 'far',\n iconName: 'cupcake',\n icon: [448, 512, [129473], \"e402\", \"M224 24V0c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6L224 24zM335.2 160l-20-13.2c-4.9 7.4-5.3 16.8-1.1 24.6s12.3 12.6 21.1 12.6V160zm-224.8 0v24c8.6 0 16.5-4.6 20.8-12s4.3-16.6 0-24l-20.8 12zM234.8 40.3l-20 13.3v0l20-13.3zM237.3 0H224V48h13.3V0zM368 130.7C368 58.5 309.5 0 237.3 0V48C283 48 320 85 320 130.7h48zm-12.8 42.6c8.1-12.2 12.8-26.9 12.8-42.6H320c0 6-1.8 11.5-4.8 16.1l40.1 26.4zm-20 10.8H356V136H335.2v48zm20.8 0c24.3 0 44 19.7 44 44h48c0-50.8-41.2-92-92-92v48zm44 44c0 24.3-19.7 44-44 44v48c50.8 0 92-41.2 92-92H400zm-44 44H92v48H356V272zM92 272c-24.3 0-44-19.7-44-44H0c0 50.8 41.2 92 92 92V272zM48 228c0-24.3 19.7-44 44-44V136c-50.8 0-92 41.2-92 92H48zm44-44h18.4V136H92v48zM80 136c0 13.1 3.5 25.4 9.6 36l41.5-24c-2-3.5-3.2-7.6-3.2-12H80zm72-72c-39.8 0-72 32.2-72 72h48c0-13.3 10.7-24 24-24V64zm57.3 0H152v48h57.3V64zm6.7-6.7c0 3.7-3 6.7-6.7 6.7v48c30.2 0 54.7-24.5 54.7-54.7H216zm-1.1-3.7c.7 1.1 1.1 2.4 1.1 3.7h48c0-10.8-3.2-21.4-9.2-30.3L214.9 53.6zM204 37.3l10.8 16.3L254.8 27 244 10.7 204 37.3zM69.3 352l20 119.9C93.2 495 113.2 512 136.7 512h11.2l-20-160H69.3zm90.8 0l20 160h87.8l20-160H160.1zm160 0l-20 160h11.2c23.5 0 43.5-17 47.3-40.1l20-119.9H320.1z\"]\n};\nvar faLightSwitchOff = {\n prefix: 'far',\n iconName: 'light-switch-off',\n icon: [384, 512, [], \"e018\", \"M169.4 464c3.3-9.3 12.2-16 22.6-16s19.3 6.7 22.6 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H214.6c-3.3 9.3-12.2 16-22.6 16s-19.3-6.7-22.6-16H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H169.4zM64 512c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64zm80-256h96V144H144V256zm0 160c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144z\"]\n};\nvar faToggleLargeOff = {\n prefix: 'far',\n iconName: 'toggle-large-off',\n icon: [576, 512, [], \"e5b0\", \"M192 400a144 144 0 1 1 0-288 144 144 0 1 1 0 288zm0 48H384c106 0 192-86 192-192s-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448zm127-48c39.9-35.2 65-86.7 65-144s-25.1-108.8-65-144h65c79.5 0 144 64.5 144 144s-64.5 144-144 144H319z\"]\n};\nvar faPenFancySlash = {\n prefix: 'far',\n iconName: 'pen-fancy-slash',\n icon: [640, 512, [], \"e210\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L398.9 287.3 548.8 147.8C566.2 131.6 576 109 576 85.3C576 38.2 537.8 0 490.7 0C467 0 444.4 9.8 428.2 27.2L275.8 190.9 38.8 5.1zM313.7 220.6L463.4 59.9c7.1-7.6 17-11.9 27.3-11.9C511.3 48 528 64.7 528 85.3c0 10.4-4.3 20.2-11.9 27.3L360.6 257.4l-46.9-36.8zM175.3 303.5l57.5-17.7L187 249.7l-25.8 7.9c-22.8 7-40.6 24.9-47.6 47.6L65.9 460.1c-9.4 30.7 19.3 59.4 50 50l154.8-47.6c22.8-7 40.6-24.9 47.6-47.6l15.3-49.6-40.4-31.8-20.7 67.3c-2.3 7.6-8.3 13.5-15.9 15.9L149 449.7 198.7 400c.4 0 .9 0 1.3 0c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24c0 .4 0 .9 0 1.3L126.3 427l33.1-107.7c2.3-7.6 8.3-13.5 15.9-15.9z\"]\n};\nvar faTruckContainer = {\n prefix: 'far',\n iconName: 'truck-container',\n icon: [640, 512, [], \"f4dc\", \"M0 104C0 64.2 32.2 32 72 32H328c39.8 0 72 32.2 72 72V288c0 13.3-10.7 24-24 24s-24-10.7-24-24V104c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24V288c0 13.3-10.7 24-24 24s-24-10.7-24-24V104zM608 400c0 44.2-35.8 80-80 80s-80-35.8-80-80H432 288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80s35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32H432V256 168c0-13.3 10.7-24 24-24h72.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 80c0 17.7-14.3 32-32 32zM585 256l-50-61.1c-1.5-1.9-3.8-2.9-6.2-2.9H480v64H585zM136 136V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24zM528 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBoot = {\n prefix: 'far',\n iconName: 'boot',\n icon: [512, 512, [129406], \"f782\", \"M32 0H352c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H0V32C0 14.3 14.3 0 32 0zM0 464v-6.6V448 416 160H48V416H464V359.4c0-21.2-13.9-39.9-34.2-46L345 288H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h66.7c-1.8-5-2.7-10.4-2.7-16V224H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V160h48v80l91.6 27.5c40.6 12.2 68.4 49.6 68.4 92V416v32 9.4V464h-.4c-1.5 12-6.9 23.3-15.6 32c-10.2 10.2-24.1 16-38.6 16H442.5c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7H54.6c-14.5 0-28.4-5.8-38.6-16C7.3 487.3 1.9 476 .4 464H0z\"]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'far',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48V256c-35.3 0-64 28.7-64 64V425c5.3-3.1 11.2-5.4 17.5-6.9c10.4-2.4 21.2-7.2 30.5-13.5V320c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16v84.6c9.3 6.3 20.1 11.1 30.5 13.6c6.3 1.5 12.1 3.8 17.5 6.9V320c0-35.3-28.7-64-64-64H472l0-174.1 39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L465 7c-9.4-9.4-24.6-9.4-33.9 0L351 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L424 256H288V48c0-26.5-21.5-48-48-48H112zm-.1 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faFileCheck = {\n prefix: 'far',\n iconName: 'file-check',\n icon: [384, 512, [], \"f316\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM289 267.6c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-89.7 89.7L129 287c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l53.3 53.3c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7L289 267.6z\"]\n};\nvar faBone = {\n prefix: 'far',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M127.4 177c-3.3-18.8-19.7-33-39.4-33c-22.1 0-40 17.9-40 40c0 11.7 4.9 22.1 13 29.5c24.8 22.8 24.8 62.2 0 85c-8 7.4-13 17.8-13 29.5c0 22.1 17.9 40 40 40c19.7 0 36.1-14.3 39.4-33c4.3-24.6 25.7-47 55.6-47H393c29.9 0 51.3 22.4 55.6 47c3.3 18.8 19.7 33 39.4 33c22.1 0 40-17.9 40-40c0-11.7-4.9-22.1-13-29.5c-24.8-22.8-24.8-62.2 0-85c8-7.4 13-17.8 13-29.5c0-22.1-17.9-40-40-40c-19.7 0-36.1 14.3-39.4 33c-4.3 24.6-25.7 47-55.6 47H183c-29.9 0-51.3-22.4-55.6-47zm47.3-8.3c.7 4.1 4.1 7.3 8.3 7.3H393c4.1 0 7.6-3.2 8.3-7.3C408.5 127.4 444.6 96 488 96c48.6 0 88 39.4 88 88c0 25.7-11 48.8-28.5 64.9c-4.1 3.7-4.1 10.5 0 14.2C565 279.2 576 302.3 576 328c0 48.6-39.4 88-88 88c-43.4 0-79.5-31.4-86.7-72.7c-.7-4.1-4.1-7.3-8.3-7.3H183c-4.1 0-7.6 3.2-8.3 7.3C167.5 384.6 131.4 416 88 416c-48.6 0-88-39.4-88-88c0-25.7 11-48.8 28.5-64.9c4.1-3.7 4.1-10.5 0-14.2C11 232.8 0 209.7 0 184c0-48.6 39.4-88 88-88c43.4 0 79.5 31.4 86.7 72.7z\"]\n};\nvar faCardsBlank = {\n prefix: 'far',\n iconName: 'cards-blank',\n icon: [640, 512, [], \"e4df\", \"M51.8 160.4c-3.7 2.1-4.9 6.8-2.8 10.5l167 289.3c2.1 3.7 6.8 4.9 10.5 2.8L419.4 351.6c3.7-2.1 4.9-6.8 2.8-10.5L255.2 51.8c-2.1-3.7-6.8-4.9-10.5-2.8L51.8 160.4zM7.5 194.9c-15.4-26.6-6.3-60.7 20.4-76.1L220.7 7.5c26.6-15.4 60.7-6.3 76.1 20.4l167 289.3c15.4 26.6 6.2 60.7-20.4 76.1L250.5 504.5c-26.6 15.4-60.7 6.2-76.1-20.4L7.5 194.9zm451.9 226c41.9-24.2 56.3-77.8 32.1-119.8L354.7 64.2c1.7-.2 3.5-.2 5.3-.2H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360c-13.7 0-26.2-4.9-35.9-13l135.3-78.1z\"]\n};\nvar faCircle3 = {\n prefix: 'far',\n iconName: 'circle-3',\n icon: [512, 512, [], \"e0f0\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h66.3l-50.5 46.3c-7.3 6.7-9.7 17.2-6.1 26.5s12.6 15.3 22.5 15.2l51.5-.3c20.1-.1 36.4 16.1 36.4 36.2c0 20-16.2 36.2-36.2 36.2H240c-13.5 0-26-7-33-18.4l-2.6-4.2c-7-11.3-21.8-14.8-33-7.8s-14.8 21.8-7.8 33l2.6 4.2C182 368.4 209.9 384 240 384h27.8c46.5 0 84.2-37.7 84.2-84.2c0-43.3-32.6-78.9-74.6-83.6l50.8-46.5c7.3-6.7 9.7-17.2 6.2-26.4s-12.5-15.3-22.4-15.3H184z\"]\n};\nvar faBenchTree = {\n prefix: 'far',\n iconName: 'bench-tree',\n icon: [640, 512, [], \"e2e7\", \"M578.7 150c-14.7-10.6-22.1-28.5-19.3-46.4c.4-2.5 .6-5 .6-7.6c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 2.6 .2 5.2 .6 7.6c2.8 17.9-4.6 35.8-19.3 46.4c-8.2 5.9-13.3 15.3-13.3 26c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-10.6-5.1-20.1-13.3-26zM608 96c0 5.1-.4 10.2-1.2 15.1C626.9 125.7 640 149.3 640 176c0 44.2-35.8 80-80 80H536V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256H464c-44.2 0-80-35.8-80-80c0-26.7 13.1-50.3 33.2-64.9c-.8-4.9-1.2-10-1.2-15.1c0-53 43-96 96-96s96 43 96 96zM80 272H304V240H80v32zM32 224c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v64c0 14.9-10.2 27.4-24 31v33h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H80v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V319c-13.8-3.6-24-16.1-24-31V224zm72 96v32H280V320H104z\"]\n};\nvar faKeyboardBrightnessLow = {\n prefix: 'far',\n iconName: 'keyboard-brightness-low',\n icon: [640, 512, [], \"e1c1\", \"M320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm88-16c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faSkiBootSki = {\n prefix: 'far',\n iconName: 'ski-boot-ski',\n icon: [640, 512, [], \"e3cd\", \"M415.6 28.5c2.5-13-6-25.6-19-28.1s-25.6 6-28.1 19L366 32H176c-11.3 0-21.1 7.9-23.5 19L88.8 348.3c-7.5 34.9 19.1 67.7 54.8 67.7H424c30.9 0 56-25.1 56-56V307.1c0-20.6-11.3-39.5-29.4-49.3l-71.7-38.6L415.6 28.5zM275 80h81.8l-15.4 80H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h31.3l-6.2 32H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.9l81.8 44.1c2.6 1.4 4.2 4.1 4.2 7V360c0 4.4-3.6 8-8 8H143.6c-5.1 0-8.9-4.7-7.8-9.7l26-121.3C202 215.7 249.2 171.2 275 80zm-33.4 0c-17.9 57.7-44.8 92-70.3 112.5L195.4 80h46.2zM640 408c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 30.9-25.1 56-56 56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H536c57.4 0 104-46.6 104-104z\"]\n};\nvar faBrainCircuit = {\n prefix: 'far',\n iconName: 'brain-circuit',\n icon: [512, 512, [], \"e0c6\", \"M192 48c22.1 0 40 17.9 40 40v40H212.7c-6.2-14.1-20.3-24-36.7-24c-22.1 0-40 17.9-40 40s17.9 40 40 40c16.4 0 30.5-9.9 36.7-24H232v96H192c-26.5 0-48 21.5-48 48v11.3c-14.1 6.2-24 20.3-24 36.7c0 22.1 17.9 40 40 40s40-17.9 40-40c0-16.4-9.9-30.5-24-36.7V304c0-8.8 7.2-16 16-16h40V420c0 24.3-19.7 44-44 44c-17.8 0-33.2-10.6-40.1-25.9c-3.8-8.4-12-13.9-21.2-14.1c-25.9-.7-46.7-21.9-46.7-48c0-2.6 .2-5.2 .6-7.6c1.4-8.5-2-17.1-8.7-22.5C57.3 334.1 48 316.2 48 296c0-19.3 8.5-36.6 22.1-48.3c8-6.9 10.5-18.3 6.1-28c-2.7-6-4.2-12.6-4.2-19.7c0-18.8 10.8-35.1 26.7-43c8.1-4 13.3-12.3 13.3-21.3c.1-19.3 11.7-36 28.3-43.5c6.4-2.9 11.3-8.5 13.2-15.3C158.3 60.2 173.8 48 192 48zm-4 464c26.9 0 51.2-11.6 68-30c16.8 18.5 41.1 30 68 30c32.2 0 60.5-16.5 76.9-41.5c45-8 79.1-47.3 79.1-94.5c0-.5 0-1.1 0-1.6c19.8-20.2 32-47.9 32-78.4c0-27.8-10.1-53.2-26.8-72.7C487 215.8 488 208 488 200c0-32.6-16.3-61.5-41.1-78.8c-4.5-28.9-21.8-53.5-45.9-67.8C387.5 22 356.3 0 320 0c-25.2 0-48 10.6-64 27.6C240 10.6 217.2 0 192 0c-36.3 0-67.5 22-80.9 53.4C86.9 67.7 69.6 92.3 65.1 121.2C40.3 138.5 24 167.4 24 200c0 8 1 15.8 2.8 23.3C10.1 242.8 0 268.2 0 296c0 30.5 12.2 58.2 32 78.4c0 .5 0 1.1 0 1.6c0 47.3 34.1 86.5 79.1 94.5c16.4 25 44.7 41.5 76.9 41.5zm136-48c-24.3 0-44-19.7-44-44V352h51.3c6.2 14.1 20.3 24 36.7 24c22.1 0 40-17.9 40-40s-17.9-40-40-40c-16.4 0-30.5 9.9-36.7 24H280V160h40c8.8 0 16 7.2 16 16v11.3c-14.1 6.2-24 20.3-24 36.7c0 22.1 17.9 40 40 40s40-17.9 40-40c0-16.4-9.9-30.5-24-36.7V176c0-26.5-21.5-48-48-48H280V88c0-22.1 17.9-40 40-40c18.2 0 33.7 12.2 38.5 28.9c1.9 6.8 6.8 12.4 13.2 15.3c16.6 7.5 28.2 24.1 28.3 43.5c.1 9.1 5.2 17.3 13.3 21.3c15.9 7.9 26.7 24.2 26.7 43c0 7.1-1.5 13.7-4.2 19.7c-4.4 9.7-1.9 21 6.1 28c13.5 11.8 22.1 29 22.1 48.3c0 20.2-9.3 38.1-23.9 49.9c-6.7 5.4-10 14-8.7 22.5c.4 2.5 .6 5 .6 7.6c0 26.1-20.8 47.3-46.7 48c-9.2 .3-17.4 5.7-21.2 14.1C357.2 453.4 341.8 464 324 464zM176 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM160 336a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM336 224a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faUserInjured = {\n prefix: 'far',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M224 208c-44.2 0-80-35.8-80-80h32H304c0 44.2-35.8 80-80 80zM150.7 96C163 67.7 191.2 48 224 48c1.2 0 2.5 0 3.7 .1L170.2 96H150.7zM264.6 59c14.5 8.5 26 21.5 32.8 37H220.2l44.4-37zM224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zM49.3 464c4.7-33.3 21.9-62.5 46.7-82.7V464H49.3zm246.3 0H261.3l-32-48H276c15.5 0 28 12.5 28 28c0 7.8-3.2 14.9-8.4 20zm37 0c2.2-6.3 3.4-13 3.4-20c0-33.1-26.9-60-60-60H208l-21.3-32h83c65.7 0 120.1 48.7 129 112H332.6zM178.3 304C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"]\n};\nvar faBlockBrickFire = {\n prefix: 'far',\n iconName: 'block-brick-fire',\n icon: [640, 512, [\"firewall\"], \"e3dc\", \"M176 80v48h32 48 80V80H176zm-48 48V80H96c-8.8 0-16 7.2-16 16v32h48zM80 176v56H208V176H80zm0 160h48V280H80v56zm0 48v32c0 8.8 7.2 16 16 16H208V384H176 128 80zm96-48H288.8c-.5 4.7-.8 9.4-.8 14.1c0 11.5 1 22.9 3 33.9H256v48h50.1c8.1 17.5 18.8 33.7 31.5 48H96c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64v48.6c-1.7-1.5-3.3-3.1-5-4.6c-17.7-16-44.7-16-62.5-.1c-12.9 11.5-25.1 23.7-36.5 36.1H256v56h76c-2.4 3.6-4.7 7.2-6.9 10.7c-7.4 12-14.2 24.5-19.9 37.3H176v56zM432 128V96c0-8.8-7.2-16-16-16H384v48h48zm21.5 35.8c19.7 17.8 38.2 37 55.5 57.7c7.9-9.9 16.8-20.7 26.5-29.5c5.6-5.1 14.4-5.1 20 0c24.7 22.7 45.6 52.7 60.4 81.1c14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8c0-26.4 12.7-60.7 32.4-92.6c20-32.4 48.1-66.1 81.4-95.8c2.8-2.5 6.4-3.8 10-3.7c3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96c-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82c0 49 36 78 81 78c18 0 34-5 49-15z\"]\n};\nvar faFirewall = faBlockBrickFire;\nvar faFaceSadTear = {\n prefix: 'far',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M175.9 448c-35-.1-65.5-22.6-76-54.6C67.6 356.8 48 308.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208s-93.1 208-208 208c-28.4 0-55.5-5.7-80.1-16zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM128 369c0 26 21.5 47 48 47s48-21 48-47c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0C156.6 308.6 128 349 128 369zm128-65c-13.3 0-24 10.7-24 24s10.7 24 24 24c30.7 0 58.7 11.5 80 30.6c9.9 8.8 25 8 33.9-1.9s8-25-1.9-33.9C338.3 320.2 299 304 256 304zm47.6-96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'far',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M368.6 312l0-24c-8.2 0-15.8 4.2-20.2 11.1L368.6 312zM265.4 473.3l-20.2-12.9 0 0 20.2 12.9zm-82.8-6.1l22.9 7.3 0 0-22.9-7.3zM232.3 312l22.9 7.3c2.3-7.3 1-15.3-3.5-21.5s-11.7-9.8-19.4-9.8l0 24zM136 312l0-24c-7.6 0-14.7 3.6-19.2 9.6L136 312zM92.8 369.6L112 384l0 0L92.8 369.6zM80 376l0-24 0 24zm-42.1 0l0 24 0-24zM24.6 358l22.9 7.1 0 0L24.6 358zM56 256l22.9 7.1c1.4-4.6 1.4-9.5 0-14.1L56 256zM24.6 154l22.9-7.1 0 0L24.6 154zm13.3-18l0 24 0-24zM80 136l0-24 0 24zm12.8 6.4L73.6 156.8l19.2-14.4zM136 200l-19.2 14.4c4.5 6 11.6 9.6 19.2 9.6l0-24zm96.3 0l0 24c7.7 0 14.9-3.7 19.4-9.8s5.8-14.2 3.5-21.5L232.3 200zM182.7 44.9l22.9-7.3 0 0-22.9 7.3zm82.8-6.1L245.2 51.7l0 0 20.2-12.9zM368.6 200l-20.2 12.9c4.4 6.9 12 11.1 20.2 11.1l0-24zM576 256c0-17.4-8.8-31.1-18.7-40.7c-9.9-9.6-22.4-16.9-34.8-22.4C498 182.1 468.7 176 448 176l0 48c13.4 0 36.1 4.4 55.1 12.8c9.4 4.2 16.4 8.7 20.7 12.9c4.2 4.1 4.2 6.2 4.2 6.3l48 0zM448 336c20.6 0 49.8-5.8 74.4-16.5c12.4-5.4 25-12.7 34.9-22.4c10-9.8 18.7-23.6 18.7-41.1l-48 0c0 .6-.1 2.8-4.2 6.8c-4.3 4.2-11.2 8.6-20.6 12.7C484.3 283.8 461.6 288 448 288l0 48zm-79.4 0l79.4 0 0-48-79.4 0 0 48zm-83 150.2L388.9 324.9l-40.4-25.9L245.2 460.3l40.4 25.9zM238.5 512c19.1 0 36.9-9.7 47.2-25.8l-40.4-25.9c-1.5 2.3-4 3.7-6.7 3.7l0 48zm-40.6 0l40.6 0 0-48-40.6 0 0 48zm-38.1-52.2c-8.3 25.8 11 52.2 38.1 52.2l0-48c5.4 0 9.3 5.3 7.6 10.4l-45.7-14.6zm49.6-155.1L159.8 459.8l45.7 14.6 49.6-155.1-45.7-14.6zM136 336l96.3 0 0-48L136 288l0 48zm-19.2-38.4L73.6 355.2 112 384l43.2-57.6-38.4-28.8zM73.6 355.2c1.5-2 3.9-3.2 6.4-3.2l0 48c12.6 0 24.4-5.9 32-16L73.6 355.2zM80 352l-42.1 0 0 48L80 400l0-48zm-42.1 0c5.6 0 10.1 4.5 10.1 10.1l-48 0C0 383 17 400 37.9 400l0-48zM48 362.1c0 1-.2 2-.4 3L1.7 350.9C.6 354.6 0 358.3 0 362.1l48 0zm-.4 3l31.4-102L33.1 248.9 1.7 350.9l45.9 14.1zM78.9 248.9l-31.4-102L1.7 161.1l31.4 102 45.9-14.1zm-31.4-102c.3 1 .4 2 .4 3l-48 0c0 3.8 .6 7.5 1.7 11.1l45.9-14.1zm.4 3c0 5.6-4.5 10.1-10.1 10.1l0-48C17 112 0 129 0 149.9l48 0zM37.9 160L80 160l0-48-42.1 0 0 48zM80 160c-2.5 0-4.9-1.2-6.4-3.2L112 128c-7.6-10.1-19.4-16-32-16l0 48zm-6.4-3.2l43.2 57.6 38.4-28.8L112 128 73.6 156.8zM232.3 176L136 176l0 48 96.3 0 0-48zM159.8 52.2l49.6 155.1 45.7-14.6L205.5 37.6 159.8 52.2zM197.9 0c-27.1 0-46.4 26.4-38.1 52.2l45.7-14.6c1.7 5.2-2.2 10.4-7.6 10.4l0-48zm40.6 0L197.9 0l0 48 40.6 0 0-48zm47.2 25.8C275.4 9.7 257.6 0 238.5 0l0 48c2.7 0 5.3 1.4 6.7 3.7l40.4-25.9zM388.9 187.1L285.7 25.8 245.2 51.7 348.4 212.9l40.4-25.9zM448 176l-79.4 0 0 48 79.4 0 0-48z\"]\n};\nvar faTentArrowsDown = {\n prefix: 'far',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM302.7 165c-8.6-6.7-20.7-6.7-29.3 0L107.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L69.5 448.1C64.6 481.8 90.8 512 124.9 512H451.1c34.1 0 60.3-30.2 55.4-63.9L489.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L302.7 165zM137 331l127-98.2V464H124.9c-4.9 0-8.6-4.3-7.9-9.1l16.9-118.6c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L439 331c1.6 1.3 2.7 3.1 3 5.2L459 454.9c.7 4.8-3.1 9.1-7.9 9.1H374.4L312 360z\"]\n};\nvar faExclamation = {\n prefix: 'far',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", \"M56 56c0-13.3-10.7-24-24-24S8 42.7 8 56V344c0 13.3 10.7 24 24 24s24-10.7 24-24V56zM32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowsSpin = {\n prefix: 'far',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M257.1 87.5c-11.3 0-22.4 1.1-33.1 3.3V42.1c10.8-1.7 21.9-2.5 33.1-2.5c56 0 107 21.3 145.4 56.2l35.1-35.1c10.1-10.1 27.3-2.9 27.3 11.3l0 105.4c0 8.8-7.2 16-16 16l-105.4 0c-14.3 0-21.4-17.2-11.3-27.3l36.3-36.3c-29.6-26.3-68.7-42.2-111.4-42.2zM129.9 145.9c-25.4 29.4-40.7 67.8-40.7 109.7c0 11.1 1.1 22 3.1 32.5H43.6c-1.6-10.6-2.4-21.4-2.4-32.5c0-55.2 20.7-105.5 54.7-143.7L60.7 76.7C50.6 66.6 57.7 49.4 72 49.4l105.4 0c8.8 0 16 7.2 16 16V170.7c0 14.3-17.2 21.4-27.3 11.3l-36.2-36.2zm52.2 202.4l-34.6 34.6c29.4 25.4 67.8 40.7 109.7 40.7c10.5 0 20.9-1 30.9-2.8v48.6c-10.1 1.4-20.4 2.2-30.9 2.2c-55.2 0-105.5-20.7-143.7-54.7L76.7 453.6c-10.1 10.1-27.3 2.9-27.3-11.3l0-105.4c0-8.8 7.2-16 16-16l105.4 0c14.3 0 21.4 17.2 11.3 27.3zm166.2-16l34.7 34.7c26.3-29.6 42.2-68.7 42.2-111.4c0-10.8-1-21.3-3-31.5h48.7c1.5 10.3 2.3 20.8 2.3 31.5c0 56-21.3 107-56.2 145.4l36.7 36.7c10.1 10.1 2.9 27.3-11.3 27.3H336.9c-8.8 0-16-7.2-16-16V343.5c0-14.3 17.2-21.4 27.3-11.3z\"]\n};\nvar faFaceSmileRelaxed = {\n prefix: 'far',\n iconName: 'face-smile-relaxed',\n icon: [512, 512, [], \"e392\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm-2-98.1c-10.6 0-19.9 3.8-25.4 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7zm134.6 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faCommentXmark = {\n prefix: 'far',\n iconName: 'comment-xmark',\n icon: [512, 512, [\"comment-times\"], \"f4b5\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM175 159c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faCommentTimes = faCommentXmark;\nvar faPrint = {\n prefix: 'far',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M112 160V64c0-8.8 7.2-16 16-16H357.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c3 3 4.7 7.1 4.7 11.3V160h48V90.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H128C92.7 0 64 28.7 64 64v96h48zm16 208H384v96H128V368zm-16-48c-17.7 0-32 14.3-32 32H48V256c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16v96H432c0-17.7-14.3-32-32-32H112zm320 80h48c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64V368c0 17.7 14.3 32 32 32H80v80c0 17.7 14.3 32 32 32H400c17.7 0 32-14.3 32-32V400z\"]\n};\nvar faTurkishLiraSign = {\n prefix: 'far',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M88 32c13.3 0 24 10.7 24 24v56.2L249.4 72.9c12.7-3.6 26 3.7 29.7 16.5s-3.7 26-16.5 29.7L112 162.1v46.1l137.4-39.3c12.7-3.6 26 3.7 29.7 16.5s-3.7 26-16.5 29.7L112 258.1V432h71.8c81.3 0 148.2-63.9 151.8-145.1l.4-8c.6-13.2 11.8-23.5 25.1-22.9s23.5 11.8 22.9 25.1l-.4 8C378.8 395.9 290.7 480 183.8 480H88c-13.3 0-24-10.7-24-24V271.8l-25.4 7.3c-12.7 3.6-26-3.7-29.7-16.5s3.7-26 16.5-29.7l38.6-11V175.8l-25.4 7.3c-12.7 3.6-26-3.7-29.7-16.5s3.7-26 16.5-29.7l38.6-11V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faFaceNoseSteam = {\n prefix: 'far',\n iconName: 'face-nose-steam',\n icon: [512, 512, [], \"e382\", \"M256 464c-21.6 0-42.4-3.3-61.9-9.4c-3.1 8.6-8.1 16.7-15 23.6c-1.3 1.3-2.6 2.5-4 3.7c-.3 5.4-1.3 10.8-3 16C198.4 507 226.6 512 256 512c28.7 0 56.3-4.7 82-13.4c-1.6-5.1-2.6-10.5-2.9-15.8c-1.4-1.2-2.7-2.4-4-3.7c-7-7-12-15.2-15.1-23.9c-19 5.7-39.2 8.8-60 8.8zM464 256c0 21.3-3.2 41.8-9.1 61.1c8.5 3.1 16.5 8.1 23.4 14.9c1.3 1.3 2.5 2.6 3.7 4c5.5 .3 11 1.3 16.3 3.1c8.9-26.1 13.8-54 13.8-83.1C512 114.6 397.4 0 256 0S0 114.6 0 256c0 28.6 4.7 56.1 13.3 81.8c4.9-1.5 9.9-2.4 15-2.7c1.2-1.4 2.4-2.7 3.7-4l4 4-4-4c7.2-7.2 15.7-12.3 24.7-15.4C51 296.8 48 276.8 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208zM345.9 443.6s0 0 0 0c1.5 4.7 4.1 9.1 7.9 12.9c.7 .7 1.3 1.3 2 1.9c4.2 3.6 9.2 5.9 14.4 6.9c-1.8 3.7-2.8 7.7-3.1 11.7c-.1 1.3-.1 2.7 0 4c0 .6 .1 1.3 .2 1.9c.8 6.9 3.9 13.6 9.2 18.9c12.5 12.5 32.8 12.5 45.3 0c2.1-2.1 3.8-4.3 5.2-6.7c18.8 14.5 45.9 13.1 63.1-4.2s18.6-44.3 4.2-63.1c2.4-1.4 4.7-3.1 6.7-5.2c12.5-12.5 12.5-32.8 0-45.3c-4.3-4.3-9.5-7.1-15-8.5c0 0 0 0 0 0c-1.9-.5-3.8-.8-5.8-.9c-5.4-.3-10.8 .7-15.7 3.1c-1-5.2-3.3-10.1-6.9-14.4c-.6-.7-1.2-1.4-1.8-2c-3.6-3.6-7.9-6.2-12.5-7.7c0 0 0 0 0 0c-11.1-3.7-23.9-1.1-32.8 7.7c-4.4 4.4-7.2 9.7-8.5 15.3l-69.1-46.8c-2.7-1.9-6.4-1.5-8.7 .8c-2.3 2.3-2.7 5.9-.9 8.7l46 70c-5.6 1.3-10.9 4.2-15.3 8.5c-8.8 8.8-11.4 21.3-7.9 32.4zM142.4 485.5c.4-1.8 .7-3.6 .8-5.4c.3-5.4-.7-10.8-3.1-15.7c5.2-1 10.1-3.3 14.4-6.9c.7-.6 1.4-1.2 2-1.8c3.7-3.7 6.3-8.2 7.9-12.9c3.5-11 .9-23.6-7.9-32.4c-4.4-4.4-9.7-7.2-15.3-8.5l47.6-69.1c1.9-2.7 1.5-6.4-.8-8.8c-2.3-2.3-5.9-2.7-8.6-.9l-70.9 46.1c-1.3-5.6-4.2-10.9-8.5-15.3c-8.6-8.6-20.8-11.3-31.6-8.1c-5 1.5-9.7 4.2-13.6 8.1c-.7 .7-1.3 1.3-1.9 2c-3.6 4.3-5.9 9.2-6.9 14.4c-4.9-2.4-10.3-3.4-15.7-3.1c-1.5 .1-3.1 .3-4.6 .6c-5.9 1.2-11.6 4.1-16.2 8.7c-12.5 12.5-12.5 32.8 0 45.3c2.1 2.1 4.3 3.8 6.7 5.2C1.7 445.6 3 472.7 20.3 489.9s44.3 18.6 63.1 4.2c1.4 2.4 3.1 4.7 5.2 6.7c12.5 12.5 32.8 12.5 45.3 0c4.4-4.4 7.2-9.8 8.5-15.4zM112 224c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm192 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm95.2-101.1c-2.8-8.4-11.9-12.9-20.2-10.1c-41.3 13.8-74.2 39.9-86.3 51.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c9.3-9.3 38.2-32.3 73.7-44.1c8.4-2.8 12.9-11.9 10.1-20.2zm-286.4 0c-2.8 8.4 1.7 17.4 10.1 20.2c35.5 11.8 64.4 34.8 73.7 44.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-12-12-45-38.1-86.3-51.9c-8.4-2.8-17.4 1.7-20.2 10.1z\"]\n};\nvar faCircleWaveformLines = {\n prefix: 'far',\n iconName: 'circle-waveform-lines',\n icon: [512, 512, [\"waveform-circle\"], \"e12d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-368c0-13.3-10.7-24-24-24s-24 10.7-24 24V368c0 13.3 10.7 24 24 24s24-10.7 24-24V144zm80 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V312c0 13.3 10.7 24 24 24s24-10.7 24-24V200zM176 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216zm240 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 13.3 10.7 24 24 24s24-10.7 24-24V240z\"]\n};\nvar faWaveformCircle = faCircleWaveformLines;\nvar faDollarSign = {\n prefix: 'far',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V71.7c-3.1 .1-6.2 .3-9.3 .6c-23.2 1.9-47.2 7.4-67.2 20.1C38.7 105.6 23.5 126 18 154.2c-3.9 20.3-2 38.8 6.1 55.2c8 16 20.9 27.6 34.8 36.2c26.2 16.2 61.9 25.3 92.9 33.2l2.3 .6c33.9 8.6 62.6 16.1 81.7 28c9 5.6 14.3 11.2 17.1 16.9c2.7 5.3 4.2 12.8 2 24.5c-2.9 14.7-13.4 26.9-34.5 34.9c-21.6 8.2-52 10.9-87.6 5.9c-22.6-3.3-61.8-12.7-83-22.1c-12.1-5.4-26.3 .1-31.7 12.2s.1 26.3 12.2 31.7C57 423.2 101.1 433.4 126 437l.1 0c3.3 .5 6.6 .9 9.9 1.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V439.4c19.3-1.3 37.4-4.9 53.5-11c31.9-12.1 57.7-35.2 64.5-70.6c3.9-20.3 2-38.8-6.1-55.2c-8-16-20.9-27.6-34.8-36.2c-26.2-16.2-61.9-25.3-92.9-33.2l-2.3-.6c-33.9-8.6-62.6-16.1-81.7-28c-9-5.6-14.3-11.2-17.1-16.9c-2.7-5.3-4.2-12.8-2-24.5c2.9-14.8 10.1-24 20.2-30.4c10.9-6.9 26.3-11.2 45.3-12.7c38.3-3.1 83.1 5.3 113.9 12.5c12.9 3.1 25.8-4.9 28.9-17.8s-4.9-25.8-17.8-28.9c-18.7-4.4-44.2-9.7-71.5-12.5V24z\"]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faFerrisWheel = {\n prefix: 'far',\n iconName: 'ferris-wheel',\n icon: [512, 512, [], \"e174\", \"M371.4 73.4c-20.4-13-43.2-22.6-67.5-28.1C302.5 20.1 281.6 0 256 0s-46.5 20.1-47.9 45.3c-24.3 5.5-47.1 15.1-67.5 28.1c-8-5.9-17.9-9.4-28.5-9.4c-26.5 0-48 21.5-48 48c0 10.7 3.5 20.6 9.4 28.5c-13 20.4-22.6 43.2-28.1 67.5C20.1 209.5 0 230.4 0 256s20.1 46.5 45.3 47.9c5.5 24.3 15.1 47.1 28.1 67.5c-5.9 8-9.4 17.9-9.4 28.6c0 25.6 20 46.4 45.1 47.9l38.5-80c-7.4-8.3-17.7-13.9-29.3-15.5c-14.8-21.1-24.9-45.7-28.7-72.4h90c-2.4-7.6-3.7-15.6-3.7-24s1.3-16.4 3.7-24h-90c3.8-26.7 13.9-51.3 28.7-72.4c2.1-.3 4.1-.7 6-1.2L185.1 219c7.6-14.5 19.5-26.4 33.9-33.9l-60.6-60.6c.5-2 .9-4 1.2-6c21.1-14.8 45.7-24.9 72.4-28.7v90c7.6-2.4 15.6-3.7 24-3.7s16.4 1.3 24 3.7v-90c26.7 3.8 51.3 13.9 72.4 28.7c.3 2.1 .7 4.1 1.2 6L293 185.1c14.5 7.6 26.4 19.5 33.9 33.9l60.6-60.6c2 .5 4 .9 6 1.2c14.8 21.1 24.9 45.7 28.7 72.4h-90c2.4 7.6 3.7 15.6 3.7 24s-1.3 16.4-3.7 24h90c-3.8 26.7-13.9 51.3-28.7 72.4c-11.6 1.5-21.8 7.2-29.3 15.5l38.5 80C428 446.4 448 425.6 448 400c0-10.7-3.5-20.6-9.4-28.6c13-20.4 22.6-43.2 28.1-67.5c25.3-1.4 45.3-22.3 45.3-47.9s-20.1-46.5-45.3-47.9c-5.5-24.3-15.1-47.1-28.1-67.5c5.9-8 9.4-17.9 9.4-28.5c0-26.5-21.5-48-48-48c-10.7 0-20.6 3.5-28.6 9.4zM304 256c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 11.6 4.1 22.3 11 30.6L130.2 477.9c-3.5 7.4-2.9 16.1 1.5 23s12 11.1 20.2 11.1H360c8.2 0 15.8-4.2 20.2-11.1s5-15.6 1.5-23L293 286.6c6.9-8.3 11-19 11-30.6zm18.4 208H189.6L256 321l66.4 143z\"]\n};\nvar faComputerSpeaker = {\n prefix: 'far',\n iconName: 'computer-speaker',\n icon: [640, 512, [], \"f8b2\", \"M312.4 480c-11.8-13.2-20.1-29.7-23.1-48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H312.4zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H288V336H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H289.3c3.1-18.3 11.3-34.8 23.1-48H64zM576 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H576zM384 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H384zm96 144a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM448 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faSkullCow = {\n prefix: 'far',\n iconName: 'skull-cow',\n icon: [640, 512, [], \"f8de\", \"M63.2 21.1c2.5-7.4-.7-15.4-7.5-19.1S40.3 0 35.5 6L28 15.3C9.9 38 0 66.4 0 95.5C0 166.1 57.2 224 128 224v0h16v64c0 45 31 82.8 72.7 93.2l25.6 85.2c8.1 27.1 33 45.6 61.3 45.6h32.8c28.3 0 53.2-18.5 61.3-45.6l25.6-85.2C465 370.8 496 333 496 288V224h16v0c70.8 0 128-57.9 128-128.5c0-29-9.9-57.4-28-80.1L604.5 6c-4.8-6.1-13.3-7.8-20.1-4.1s-10 11.8-7.5 19.1L588 54.5c2.5 7.5 3.4 15.4 2.6 23.2C587.7 106.3 563.7 128 535 128H512v0H471.6C454 108.4 428.4 96 400 96H240c-28.4 0-54 12.4-71.6 32H128v0H105c-28.7 0-52.7-21.7-55.6-50.3c-.8-7.8 .1-15.8 2.6-23.2L63.2 21.1zM228.3 334.6C207.4 329.4 192 310.4 192 288V224 192c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48v32 64c0 22.4-15.4 41.4-36.3 46.6c-16.4 4.1-29.5 16.6-34.4 32.8l-25.6 85.2c-2 6.8-8.3 11.4-15.3 11.4H303.6c-7.1 0-13.3-4.6-15.3-11.4l-25.6-85.2c-4.9-16.2-17.9-28.7-34.4-32.8zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faX = {\n prefix: 'far',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M378.4 71.4c8.5-10.1 7.2-25.3-2.9-33.8s-25.3-7.2-33.8 2.9L192 218.7 42.4 40.6C33.9 30.4 18.7 29.1 8.6 37.6S-2.9 61.3 5.6 71.4L160.7 256 5.6 440.6c-8.5 10.2-7.2 25.3 2.9 33.8s25.3 7.2 33.8-2.9L192 293.3 341.6 471.4c8.5 10.1 23.7 11.5 33.8 2.9s11.5-23.7 2.9-33.8L223.3 256l155-184.6z\"]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'far',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm20-312c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'far',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2H178.7c9.5-36.8 42.9-64 82.6-64H371.9c3.6-5 8.2-9.1 13.5-12.2l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zM320 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM624.6 355.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3L574.4 311c-8.9-7.6-19.1-13.6-30.4-17.6v-21c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v21c-11.2 4-21.5 10-30.4 17.6l-18.2-10.5c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l18.2 10.5c-1 5.7-1.6 11.6-1.6 17.6s.6 11.9 1.6 17.5l-18.2 10.5c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3L449.6 457c8.9 7.6 19.2 13.6 30.4 17.6v21c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-21c11.2-4 21.5-10 30.4-17.6l18.2 10.5c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-18.2-10.5c1-5.7 1.6-11.6 1.6-17.5s-.6-11.9-1.6-17.6l18.2-10.5zM472 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'far',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M224 39c0-13 10-23.8 22.9-24.9L398.7 1.4C408 .7 416 8 416 17.4V48c0 8.8-7.2 16-16 16H249c-13.8 0-25-11.2-25-25zM32 248c0-13.3 10.7-24 24-24H232h8H344h.6c42.9 0 82.5 22.9 103.9 60l92.3 160c6.6 11.5 2.7 26.2-8.8 32.8s-26.2 2.7-32.8-8.8L416 323.8V480c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V272H56c-13.3 0-24-10.7-24-24zm240 24v82.1L345.4 272c-.5 0-1 0-1.4 0H272zm0 192h96V432H272v32zm96-145.2L309.7 384H368V318.8zM240 112c0-5.5 .6-10.8 1.6-16h50.7c-2.7 4.7-4.3 10.2-4.3 16c0 17.7 14.3 32 32 32s32-14.3 32-32c0-5.8-1.6-11.3-4.3-16h50.7c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80z\"]\n};\nvar faBuildingColumns = {\n prefix: 'far',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M267.6 3c-7.2-4-16-4-23.2 0L17.6 128.1C6.7 134.1 0 145.5 0 157.9C0 176.8 15.2 192 34.1 192H477.9c18.8 0 34.1-15.2 34.1-34.1c0-12.4-6.7-23.8-17.6-29.8L267.6 3zM228.3 144H88.2L256 51.4 423.8 144H283.7c2.7-4.7 4.3-10.2 4.3-16c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 5.8 1.6 11.3 4.3 16zM64 224V384c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V224H400V384H336V224H288V384H224V224H176V384H112V224H64zM32 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H32z\"]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faCircleT = {\n prefix: 'far',\n iconName: 'circle-t',\n icon: [512, 512, [], \"e124\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM152 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V360c0 13.3 10.7 24 24 24s24-10.7 24-24V192h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 152z\"]\n};\nvar faSack = {\n prefix: 'far',\n iconName: 'sack',\n icon: [512, 512, [], \"f81c\", \"M293.3 152H218.7l-13.8 8.8C150.9 195.4 48 277 48 416c0 26.5 21.5 48 48 48H416c26.5 0 48-21.5 48-48c0-139-102.9-220.6-156.9-255.2L293.3 152zm.2-58.8L324.6 48H187.4l31.1 45.2L226 104h60l7.5-10.8zM0 416C0 274.8 89.4 185.5 150.8 139.9c10.4-7.7 20-14.2 28.2-19.4L151.8 80.9 121.9 37.6C111 21.7 122.4 0 141.7 0H370.3c19.3 0 30.7 21.7 19.8 37.6L360.2 80.9 333 120.4c8.2 5.3 17.8 11.7 28.2 19.4C422.6 185.5 512 274.8 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faGrid2 = {\n prefix: 'far',\n iconName: 'grid-2',\n icon: [512, 512, [], \"e196\", \"M80 80v96h96V80H80zM32 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80zM80 336v96h96V336H80zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336zM432 80H336v96h96V80zM336 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm0 304v96h96V336H336zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faCameraCctv = {\n prefix: 'far',\n iconName: 'camera-cctv',\n icon: [576, 512, [\"cctv\"], \"f8ac\", \"M54.9 192.2l169.3 70.5c.1 0 .2 .1 .2 .1c.6 .2 1.1 .4 1.6 .7l92.2 38.4 160-106.7L134.9 52.2l-80 140zM185.2 298.5l-165.5-69c-8.5-3.5-15-10.5-18-19.2s-2-18.2 2.5-26.2l96-168c8-14 25.2-19.9 40.1-13.7l384 160c10.9 4.5 18.4 14.7 19.5 26.5s-4.3 23.2-14.1 29.7l-192 128c-8.9 5.9-20.2 7-30.1 2.9L229.5 317 182.4 440.5C178.9 449.8 170 456 160 456H48v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V432 376c0-13.3 10.7-24 24-24s24 10.7 24 24v32h95.5l41.7-109.5zm211.8 47.1l132.9-88.6 36.7 16.3c7.9 3.5 11.6 12.8 8.3 20.8l-40 96c-1.7 4-4.9 7.2-8.9 8.7s-8.5 1.5-12.5-.3L396.9 345.6z\"]\n};\nvar faCctv = faCameraCctv;\nvar faUmbrella = {\n prefix: 'far',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M288 0c13.3 0 24 10.7 24 24V48.9c123.7 9.6 226.1 93 255.5 204.4c.4 1.4 .7 2.9 1.1 4.3c1.4 5.8 2.7 11.7 3.7 17.6c.6 3.5 1.1 7.1 1.6 10.7c2 15.6-17.3 24.4-27.8 12.7c-2.5-2.8-5.5-5.5-8.8-8c-3.4-2.5-7.1-4.9-11.1-7l-.7-.4-.6-.3c-13.5-6.8-29.7-11-44.9-11c-30.1 0-56.3 16.6-70 41.2c-.5 .9-1 1.7-1.4 2.6c-2.1 4.1-3.8 8.3-5.1 12.8c-.7 2.4-1.4 4.9-1.9 7.5c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9c-.5-2.5-1.1-5-1.9-7.5c-1.4-4.4-3.1-8.7-5.1-12.8c-.5-.9-.9-1.8-1.4-2.6c-13.7-24.6-39.9-41.2-70-41.2s-56.3 16.6-70 41.2c-.5 .9-.9 1.7-1.4 2.6c-2.1 4.1-3.8 8.3-5.1 12.8c-.7 2.4-1.4 4.9-1.9 7.5c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9c-.5-2.5-1.1-5-1.9-7.5c-1.4-4.4-3.1-8.7-5.1-12.8c-.5-.9-.9-1.8-1.4-2.6C152.3 288.6 126.1 272 96 272c-15.2 0-31.4 4.2-44.9 11c-.4 .2-.9 .5-1.3 .7c-4 2.1-7.7 4.4-11.1 7c-3.3 2.5-6.3 5.2-8.8 8C19.4 310.4 .1 301.5 2.1 285.9c.5-3.6 1-7.2 1.6-10.7c1-5.9 2.3-11.8 3.7-17.6c.4-1.4 .7-2.9 1.1-4.3C37.9 141.9 140.3 58.6 264 48.9V24c0-13.3 10.7-24 24-24zm96 267.3c23.4-26.6 57.7-43.3 96-43.3c8.6 0 17.5 .9 26.4 2.6C468.9 150.2 386.1 96 288 96s-180.9 54.2-218.4 130.6c8.9-1.7 17.8-2.6 26.4-2.6c38.3 0 72.6 16.8 96 43.3c23.4-26.6 57.7-43.3 96-43.3s72.6 16.8 96 43.3zM288 304c8.7 0 16.9 2.3 24 6.4V438.6c0 40.6-32.9 73.4-73.4 73.4c-27.8 0-53.2-15.7-65.7-40.6l-2.3-4.7c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l2.3 4.7c4.3 8.6 13.1 14.1 22.8 14.1c14.1 0 25.4-11.4 25.4-25.4V310.4c7.1-4.1 15.3-6.4 24-6.4z\"]\n};\nvar faTrowel = {\n prefix: 'far',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M340.4 142L370 171.6l87.9-87.9c8.2-8.2 8.2-21.4 0-29.6s-21.4-8.2-29.6 0L340.4 142zM491.8 20.2c26.9 26.9 26.9 70.5 0 97.5l-95.4 95.4c-14.6 14.6-38.2 14.6-52.8 0l-5.4-5.4L237.9 308l75 75c5.9 5.9 8.3 14.5 6.4 22.6s-8 14.6-15.9 17.2l-272 88c-8.6 2.8-18 .5-24.4-5.9s-8.6-15.8-5.9-24.4l88-272c2.6-7.9 9.1-14 17.2-15.9s16.7 .5 22.6 6.4l75 75L304.3 173.8l-5.4-5.4c-14.6-14.6-14.6-38.2 0-52.8l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0zM251.3 389.2L122.8 260.7l-61.5 190 190-61.5z\"]\n};\nvar faHorizontalRule = {\n prefix: 'far',\n iconName: 'horizontal-rule',\n icon: [640, 512, [8213], \"f86c\", \"M0 256c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBedFront = {\n prefix: 'far',\n iconName: 'bed-front',\n icon: [512, 512, [\"bed-alt\"], \"f8f7\", \"M32 80V205.8c14.5-7.7 30.8-12.4 48-13.6l0-.3V160c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v32h32V160c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v32l0 .3c17.2 1.1 33.5 5.9 48 13.6V80c0-26.5-21.5-48-48-48H80C53.5 32 32 53.5 32 80zM88 224c-48.6 0-88 39.4-88 88v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V416H464v40c0 13.3 10.7 24 24 24s24-10.7 24-24V392 312c0-48.6-39.4-88-88-88H88zM464 368H48V312c0-22.1 17.9-40 40-40H424c22.1 0 40 17.9 40 40v56z\"]\n};\nvar faBedAlt = faBedFront;\nvar faD = {\n prefix: 'far',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M56 80c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8H160c97.2 0 176-78.8 176-176s-78.8-176-176-176H56zM0 88C0 57.1 25.1 32 56 32H160c123.7 0 224 100.3 224 224s-100.3 224-224 224H56c-30.9 0-56-25.1-56-56V88z\"]\n};\nvar faStapler = {\n prefix: 'far',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M448 384v48H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H448h48 24 72c26.5 0 48-21.5 48-48V336 299.3 288l-.7-.1c-3.8-31.8-23.3-59.9-52.4-74.4L260.7 50.4C236.6 38.3 209.9 32 182.9 32C128.2 32 76.7 57.8 43.8 101.6L11.5 144.7C4 154.6 0 166.7 0 179.1c0 26.4 17.9 49.3 43.5 55.7L64 240V344c0 22.1 17.9 40 40 40H448zm0-48H112V252l336 84zm72 96H496V336c0-22-15-41.2-36.4-46.6L55.2 188.3c-4.2-1.1-7.2-4.8-7.2-9.2c0-2 .7-4 1.9-5.7l32.3-43.1C106 98.7 143.3 80 182.9 80c19.5 0 38.8 4.6 56.3 13.3L565.5 256.4c14.5 7.3 24.3 21.3 26.2 37.2c.1 .8 .2 1.6 .3 2.4v3.4V336v96H520z\"]\n};\nvar faMasksTheater = {\n prefix: 'far',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M376.1 32.1c-41.2 .7-71.8 7.8-94.3 16.7c-23.1-2-53.9-1.4-94 5.2C95.6 69.1 60.7 98 49.3 110.7L76.8 271.9c4.9 28.7 17.5 52.2 36.1 67.2c20.3 16.4 45.2 34 70.7 46.2c10.4 5 20 8.6 28.8 11.1c1.7 3.1 3.4 6.1 5.3 9.2c8.1 13 17.9 27.5 29.1 42.1c-58 4.9-123.3-37.8-165-71.7c-29.7-24-46.8-59-53.2-96.2L.8 116.1c-1.7-9.8-1-19.9 4.7-28C20.5 67 63.6 25.9 179.8 6.9S350.5 12.8 371.6 28c1.7 1.2 3.2 2.5 4.5 4zM194 282.3c-15.6 5.8-29.7 14-42.1 24.2c-6.6 5.4-16.8 1.7-15.6-6.6c5.4-35 31.3-64.6 67.2-74.3l-8.5 49.6c-.4 2.3-.8 4.7-1.1 7zM176.7 153.7c4.5-3.2 11.1-2.2 12.2 3.1c.1 .5 .2 1.1 .3 1.6c3.7 21.7-11.2 42.2-33.4 45.8s-43.1-11-46.8-32.7c-.1-.5-.2-1.1-.2-1.6c-.7-5.4 5.3-8.4 10.5-6.9c9.3 2.8 19.5 3.6 29.8 1.9s19.6-5.7 27.5-11.3zM385.1 510.6c-60-9.8-110.5-74.6-140.1-122c-20.1-32.2-24.7-70.7-18.3-107.9L254.6 117c1.7-9.8 5.6-19.1 13.8-24.9C289.5 76.8 344 51.8 460.2 70.9S619.5 131 634.5 152.1c5.8 8.1 6.4 18.2 4.7 28L611.3 343.8c-6.4 37.2-23.5 72.2-53.2 96.2c-43.7 35.4-113.1 80.5-173 70.7zm-47-80.7c20.7 20.3 39.5 31 55 33.6s36.9-1.6 63.2-14.2c25.5-12.2 50.4-29.8 70.7-46.2c18.6-15.1 31.2-38.6 36.1-67.3l27.5-161.2C579.3 162 544.4 133.1 452.1 118s-134.9 1-149.9 9.4L274.7 288.6c-4.9 28.7-.8 54.9 11.8 75.1c13.7 22 31.5 46.6 51.5 66.2zm57.3-193.4c-7.9-5.6-17.2-9.6-27.5-11.3s-20.4-.9-29.8 1.9c-5.3 1.6-11.2-1.5-10.5-6.9c.1-.5 .2-1.1 .2-1.6c3.7-21.7 24.6-36.3 46.8-32.7s37.1 24.1 33.4 45.8c-.1 .5-.2 1.1-.3 1.6c-1.1 5.3-7.8 6.3-12.2 3.1zm140.4 17.9c-1.1 5.3-7.8 6.3-12.2 3.1c-7.9-5.6-17.2-9.6-27.5-11.3s-20.4-.9-29.8 1.9c-5.3 1.6-11.2-1.5-10.5-6.9c.1-.5 .2-1.1 .2-1.6c3.7-21.7 24.6-36.3 46.8-32.7s37.1 24.1 33.4 45.8c-.1 .5-.2 1.1-.3 1.6zm-20.3 56.6c7.9-3.2 16.5 3.5 12.8 11.1c-21.1 44.3-70.3 71.2-121.9 62.8s-89.2-49.7-94.4-98.2c-.9-8.3 9.4-12 15.8-6.4c24.3 21.2 54.8 36.2 89.3 41.8s68.3 1.2 98.3-11.1z\"]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faKipSign = {\n prefix: 'far',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M88 32c13.3 0 24 10.7 24 24V210.5L312.3 37.8c10-8.7 25.2-7.5 33.8 2.5s7.5 25.2-2.5 33.8L160.6 232H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H160.6L343.7 437.8c10 8.7 11.2 23.8 2.5 33.8s-23.8 11.2-33.8 2.5L112 301.5V457c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faFaceWoozy = {\n prefix: 'far',\n iconName: 'face-woozy',\n icon: [512, 512, [], \"e3a2\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 208c0-35.3-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64s32-28.7 32-64zM213.8 247.3c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-64 16c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l64-16zM200.9 98.7c-7.4-4.9-17.3-2.9-22.2 4.4c-23.2 34.8-58.4 53.2-71.7 57.7c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1c18.6-6.2 60.3-28.3 88.3-70.3c4.9-7.4 2.9-17.3-4.4-22.2zM385.8 360.1c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6L319 362.3c-3.3 3.6-7.9 5.7-12.8 5.7c-3.5 0-6.9-1.1-9.8-3l-11.7-8.1c-24-16.5-54.7-19.4-81.4-7.7c-11.7 5.2-25.3 3.7-35.7-3.9l-9.4-6.9c-10.7-7.8-25.7-5.6-33.6 5.1s-5.6 25.7 5.1 33.6l9.4 6.9c24.2 17.8 56 21.2 83.4 9.1c11.4-5 24.5-3.8 34.8 3.3l11.7 8.1c10.9 7.5 23.8 11.5 37 11.5c18.4 0 36-7.8 48.3-21.4l31.3-34.5z\"]\n};\nvar faCloudQuestion = {\n prefix: 'far',\n iconName: 'cloud-question',\n icon: [640, 512, [], \"e492\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM233.8 197.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V296c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H286.6c-23.7 0-44.8 14.9-52.8 37.3zM352 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPineapple = {\n prefix: 'far',\n iconName: 'pineapple',\n icon: [512, 512, [], \"e31f\", \"M423.1 1.7c4.2 2.1 7.3 5.9 8.4 10.5l3.6 14.3C447 19.6 460.6 16 474.5 16H480c8.8 0 16 7.2 16 16v5.5c0 13.9-3.6 27.5-10.4 39.4l14.3 3.6c4.6 1.1 8.4 4.2 10.5 8.4s2.2 9.1 .4 13.4c-6.8 15.9-19.5 26.7-34.1 31.6l14.7 14.7c6.2 6.2 6.2 16.4 0 22.6c-15.4 15.4-35.3 23.6-55.5 24.5c8 18.9 12.2 39.3 12.2 60.2c0 41-16.3 80.3-45.3 109.3L301.3 466.7C272.3 495.7 233 512 192 512s-80.3-16.3-109.3-45.3L45.3 429.3l33.9-33.9 37.5 37.5c20 20 47.1 31.2 75.3 31.2s55.3-11.2 75.3-31.2L368.8 331.3c20-20 31.2-47.1 31.2-75.3s-11.2-55.3-31.2-75.3l-37.5-37.5c-20-20-47.1-31.2-75.3-31.2s-55.3 11.2-75.3 31.2L79.2 244.7C59.2 264.7 48 291.8 48 320s11.2 55.3 31.2 75.3L45.3 429.3C16.3 400.3 0 361 0 320s16.3-80.3 45.3-109.3L146.7 109.3C175.7 80.3 215 64 256 64c20.9 0 41.3 4.2 60.2 12.2c.9-20.2 9.1-40.1 24.5-55.5c6.2-6.2 16.4-6.2 22.6 0l14.7 14.7C383 20.8 393.8 8.1 409.7 1.3c4.3-1.8 9.2-1.7 13.4 .4zm-235.8 211L208 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80L128 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM288 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L288 313.4zM164.7 372.7c6.2-6.2 16.4-6.2 22.6 0L208 393.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M64 128l177.6 0c-1 5.2-1.6 10.5-1.6 16l0 16-32 0L64 160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 16c0-17.7 14.3-32 32-32c0 0 0 0 0 0l24 0c66.3 0 120 53.7 120 120l0 48c0 52.5-33.7 97.1-80.7 113.4c.5-3.1 .7-6.2 .7-9.4c0-20-9.2-37.9-23.6-49.7c4.9-9 7.6-19.4 7.6-30.3c0-15.1-5.3-29-14-40c8.8-11 14-24.9 14-40l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-40 0-40zm32-80s0 0 0 0c-18 0-34.6 6-48 16L64 80C28.7 80 0 108.7 0 144s28.7 64 64 64l82 0c-1.3 5.1-2 10.5-2 16c0 25.3 14.7 47.2 36 57.6c-2.6 7-4 14.5-4 22.4c0 20 9.2 37.9 23.6 49.7c-4.9 9-7.6 19.4-7.6 30.3c0 35.3 28.7 64 64 64l64 0 24 0c92.8 0 168-75.2 168-168l0-48c0-92.8-75.2-168-168-168l-24 0zM256 400c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0zM240 224c0 5.5 .7 10.9 2 16l-2 0-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0 16zm24 64l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l24 0z\"]\n};\nvar faGalleryThumbnails = {\n prefix: 'far',\n iconName: 'gallery-thumbnails',\n icon: [576, 512, [], \"e3aa\", \"M512 48c8.8 0 16 7.2 16 16V288c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM0 448v32c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H192zm128 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H512z\"]\n};\nvar faCircleJ = {\n prefix: 'far',\n iconName: 'circle-j',\n icon: [512, 512, [], \"e112\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-360c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 26.5-21.5 48-48 48s-48-21.5-48-48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 53 43 96 96 96s96-43 96-96V152z\"]\n};\nvar faEyes = {\n prefix: 'far',\n iconName: 'eyes',\n icon: [640, 512, [], \"e367\", \"M255.6 385.2C231.4 416.6 201.5 432 172 432s-59.4-15.4-83.6-46.8c-9.1-11.9-17.1-25.7-23.5-41.2c9.2 5.1 19.8 8 31.1 8c35.3 0 64-28.7 64-64s-28.7-64-64-64c-19 0-36.1 8.3-47.8 21.4c2-47.8 17.7-89.3 40.2-118.6C112.6 95.4 142.5 80 172 80s59.4 15.4 83.6 46.8c24.1 31.4 40.4 77 40.4 129.2s-16.3 97.7-40.4 129.2zM320 141.8C290 76.1 235 32 172 32C77 32 0 132.3 0 256S77 480 172 480c63 0 118-44.1 148-109.8C350 435.9 405 480 468 480c95 0 172-100.3 172-224s-77-224-172-224c-63 0-118 44.1-148 109.8zm42.8 206.6c6.6 2.3 13.7 3.6 21.2 3.6c35.3 0 64-28.7 64-64s-28.7-64-64-64c-14.8 0-28.5 5-39.3 13.5c3.3-44.4 18.5-83 39.8-110.6C408.6 95.4 438.5 80 468 80s59.4 15.4 83.6 46.8c24.1 31.4 40.4 77 40.4 129.2s-16.3 97.7-40.4 129.2C527.4 416.6 497.5 432 468 432s-59.4-15.4-83.6-46.8c-8.2-10.7-15.5-23.1-21.6-36.7z\"]\n};\nvar faHandshakeSimple = {\n prefix: 'far',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M272.2 64.6c-4.4-.4-8.8-.6-13.2-.6H248.7c-37.2 0-73.2 13.7-101 38.4L121.1 126c-1.5 1.3-3.4 2-5.3 2H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h59.8c13.7 0 27-5 37.2-14.1l26.5-23.6c12-10.7 26.2-18.3 41.5-22.5l51.1-51.1zM377.1 64c-37.6 0-73.9 14.4-101.2 40.2l-70.1 66.2c-30.8 29.1-30.1 78.3 1.6 106.5c27.8 24.7 69.7 24.3 97-.9l35.8-33 75.8 75.8c9.4 9.4 9.4 24.6 0 33.9c-8.4 8.4-21.6 9.3-30.9 2.6c-7.1-5.1-16.5-5.9-24.4-2.1s-13.1 11.6-13.6 20.4c-.4 7.1-3.2 14-8.6 19.4c-11.6 11.6-30.4 11.6-41.9 0l-10.7-10.7c-5.8-5.8-14.2-8.2-22.2-6.5s-14.6 7.5-17.3 15.3c-.8 2.1-2 4.1-3.7 5.8c-6.2 6.2-16.4 6.2-22.6 0L193 370.1c0 0 0 0 0 0l-7-7-35.6-35.6c-15-15-35.4-23.4-56.6-23.4H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H93.7c8.5 0 16.6 3.4 22.6 9.4L152 397l7 7L185.9 431c23.6 23.6 60.9 24.9 86 4.1c30.4 22 73 19.3 100.4-8.1c6.1-6.1 10.9-12.9 14.6-20.2c22.2 3.8 45.8-2.9 63-20.1c5.6-5.6 10.1-11.9 13.5-18.7H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H469.2c-2.9-12.9-9.3-25.1-19.4-35.1l-74.4-74.4 .8-.8c9.7-9 10.3-24.2 1.4-33.9s-24.2-10.3-33.9-1.4l-71.9 66.4c-9.2 8.5-23.2 8.6-32.5 .3c-10.6-9.4-10.9-26-.5-35.7l70.1-66.2c18.5-17.4 42.9-27.1 68.3-27.1c24.4 0 47.9 8.9 66.1 25.1l36.9 32.8c4.4 3.9 10.1 6.1 15.9 6.1h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H505.1L475 101.2C448 77.3 413.2 64 377.1 64z\"]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faPageCaretUp = {\n prefix: 'far',\n iconName: 'page-caret-up',\n icon: [384, 512, [\"file-caret-up\"], \"e42a\", \"M48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L256.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16V448zm272 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64zM192 192c4.5 0 8.8 1.9 11.8 5.2l75.7 82.6c14.1 15.4 3.2 40.2-17.7 40.2H122.2c-20.9 0-31.8-24.8-17.7-40.2l75.7-82.6c3-3.3 7.3-5.2 11.8-5.2z\"]\n};\nvar faFileCaretUp = faPageCaretUp;\nvar faJetFighter = {\n prefix: 'far',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M216 0h23.8 .4H296c13.3 0 24 10.7 24 24s-10.7 24-24 24h-6.9c4.7 6.1 9.8 12.6 15.1 19.6c25.3 32.8 56.8 74.1 81.8 108.4h97.1c5.7 0 11.3 .9 16.7 2.5l108.1 33.8C627 218.3 640 236 640 256s-13 37.7-32.1 43.7L499.8 333.4c-5.4 1.7-11 2.6-16.7 2.6H386L288.5 464H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H240.2h-.5H216 184c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V336H177.9l-31.6 31.6c-10.5 10.5-24.7 16.4-39.6 16.4H88c-30.9 0-56-25.1-56-56V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V184c0-30.9 25.1-56 56-56h18.7c14.9 0 29.1 5.9 39.6 16.4L177.9 176H192V48h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h32zm24 176h86.4c-19.9-26.7-41.6-55.1-60.1-79.1C256.3 84 247.3 72.4 240 63V176zM80 280v48c0 4.4 3.6 8 8 8h18.7c2.1 0 4.2-.8 5.7-2.3L151 295c4.5-4.5 10.6-7 17-7H483.1c.8 0 1.6-.1 2.4-.4L586.7 256 485.5 224.4c-.8-.2-1.6-.4-2.4-.4H168c-6.4 0-12.5-2.5-17-7l-38.6-38.6c-1.5-1.5-3.5-2.3-5.7-2.3H88c-4.4 0-8 3.6-8 8v48h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H80zm160 56V448.4L325.6 336H240z\"]\n};\nvar faFighterJet = faJetFighter;\nvar faComet = {\n prefix: 'far',\n iconName: 'comet',\n icon: [512, 512, [], \"e003\", \"M459.8 3.2c4.7-2.1 9.8-3.2 15-3.2C495.3 0 512 16.7 512 37.2c0 5.2-1.1 10.3-3.2 15L449.3 187.5l10.7-.8c33.9-2.6 55.4 35.5 35.6 63.1L369.2 426.7C331 480.2 269.3 512 203.6 512C91 512 0 419.8 0 307.5c0-64.8 30.6-126.3 82.7-165L261.6 9.6c27.5-20.4 66.3 .9 63.7 35.1L324 62.9 459.8 3.2zm-6 55.1l-147 64.7c-7.7 3.4-16.6 2.5-23.5-2.4s-10.7-13-10.1-21.4l3-40.6L111.4 181C71.6 210.6 48 257.8 48 307.5C48 393.6 117.8 464 203.6 464c50.2 0 97.4-24.3 126.6-65.2l116.4-163L413 238.5c-8.4 .6-16.5-3.2-21.4-10.1s-5.8-15.8-2.4-23.5L453.8 58.3zM208 200c6.1 0 11.7 3.5 14.3 8.9l24.5 49.6 54.8 8c6 .9 11 5.1 12.9 10.9s.3 12.2-4 16.4l-39.6 38.6 9.4 54.5c1 6-1.4 12.1-6.4 15.7s-11.5 4.1-16.8 1.2l-49-25.8-49 25.8c-5.4 2.8-11.9 2.4-16.8-1.2s-7.4-9.6-6.4-15.7l9.4-54.5-39.6-38.6c-4.4-4.3-5.9-10.6-4-16.4s6.9-10 12.9-10.9l54.8-8 24.5-49.6c2.7-5.5 8.3-8.9 14.3-8.9z\"]\n};\nvar faSquareShareNodes = {\n prefix: 'far',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm352 80c0 26.5-21.5 48-48 48c-9.8 0-18.9-2.9-26.5-7.9L197.7 256l79.9 39.9c7.6-5 16.7-7.9 26.5-7.9c26.5 0 48 21.5 48 48s-21.5 48-48 48c-25.5 0-46.4-20-47.9-45.1l-85.6-42.8c-7.6 5-16.7 7.9-26.5 7.9c-26.5 0-48-21.5-48-48s21.5-48 48-48c9.8 0 18.9 2.9 26.5 7.9l85.6-42.8C257.6 148 278.5 128 304 128c26.5 0 48 21.5 48 48z\"]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faShieldKeyhole = {\n prefix: 'far',\n iconName: 'shield-keyhole',\n icon: [512, 512, [], \"e248\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM312 208c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 22.3 13.1 41.6 32 50.6V328c0 13.3 10.7 24 24 24s24-10.7 24-24V258.6c18.9-9 32-28.3 32-50.6z\"]\n};\nvar faBarcode = {\n prefix: 'far',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm112 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zM464 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faPlusMinus = {\n prefix: 'far',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M216 32c0-13.3-10.7-24-24-24s-24 10.7-24 24V152H48c-13.3 0-24 10.7-24 24s10.7 24 24 24H168V320c0 13.3 10.7 24 24 24s24-10.7 24-24V200H336c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V32zM8 488c0 13.3 10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H32c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSquareSlidersVertical = {\n prefix: 'far',\n iconName: 'square-sliders-vertical',\n icon: [448, 512, [\"sliders-v-square\"], \"f3f2\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 96c-13.3 0-24 10.7-24 24v32H104c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V360c0 13.3 10.7 24 24 24s24-10.7 24-24V232h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H168V152c0-13.3-10.7-24-24-24zm184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V280H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v32c0 13.3 10.7 24 24 24s24-10.7 24-24V328h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H328V152z\"]\n};\nvar faSlidersVSquare = faSquareSlidersVertical;\nvar faVideo = {\n prefix: 'far',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64v33V351v33c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM528 363.4V148.6L416 199V146.4L520.3 99.5c5.1-2.3 10.6-3.5 16.2-3.5c21.8 0 39.5 17.7 39.5 39.5v241c0 21.8-17.7 39.5-39.5 39.5c-5.6 0-11.1-1.2-16.2-3.5L416 365.6V313l112 50.4z\"]\n};\nvar faVideoCamera = faVideo;\nvar faMessageMiddle = {\n prefix: 'far',\n iconName: 'message-middle',\n icon: [512, 512, [\"comment-middle-alt\"], \"e1e1\", \"M343.5 368H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H168.5c14.2 0 27.8 6.3 36.9 17.3L256 446l50.6-60.7c9.1-10.9 22.6-17.3 36.9-17.3zm-175 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H343.5l-75.2 90.2c-3 3.6-7.5 5.8-12.3 5.8s-9.3-2.1-12.3-5.8L168.5 416z\"]\n};\nvar faCommentMiddleAlt = faMessageMiddle;\nvar faGraduationCap = {\n prefix: 'far',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 80c2.5 0 5 .4 7.4 1.3l218 78.7-218 78.7c-2.4 .9-4.9 1.3-7.4 1.3s-5-.4-7.4-1.3L184.9 192.6l140.8-52.8c8.3-3.1 12.5-12.3 9.4-20.6s-12.3-12.5-20.6-9.4L154.9 169.6c-5.2 2-10.3 4.2-15.3 6.6L94.7 160l218-78.7c2.4-.9 4.9-1.3 7.4-1.3zM15.8 182.6l77.4 27.9c-27.2 28.7-43.7 66.7-45.1 107.7c-.1 .6-.1 1.2-.1 1.8c0 28.4-10.8 57.8-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7c-3.2-14-7.5-28.3-13.4-41.5c1.9-37 19.2-70.9 46.7-94.2l169.5 61.2c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32s-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6zm480.8 80l-46.5 16.8 12.7 120.5c-4.8 3.5-12.8 8-24.6 12.6C410 423.6 368 432 320 432s-90-8.4-118.3-19.4c-11.8-4.6-19.8-9.2-24.6-12.6l12.7-120.5-46.5-16.8L128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6zM467.4 396a.7 .7 0 1 0 -1.2-.7 .7 .7 0 1 0 1.2 .7zm-294.8 0a.7 .7 0 1 0 1.2-.6 .7 .7 0 1 0 -1.2 .6z\"]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'far',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M224 24c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24V80h56c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H320v56c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V176H168c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h56V24zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faPersonCircleCheck = {\n prefix: 'far',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zm144 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSquareZ = {\n prefix: 'far',\n iconName: 'square-z',\n icon: [448, 512, [], \"e288\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm136 32H312c9.3 0 17.8 5.4 21.8 13.9s2.6 18.5-3.5 25.6L187.7 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.5 3.5-25.6L260.3 176H136c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMessageText = {\n prefix: 'far',\n iconName: 'message-text',\n icon: [512, 512, [\"comment-alt-text\"], \"e1e6\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM168 112c-13.3 0-24 10.7-24 24s10.7 24 24 24h64V296c0 13.3 10.7 24 24 24s24-10.7 24-24V160h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 168z\"]\n};\nvar faCommentAltText = faMessageText;\nvar faTurnUp = {\n prefix: 'far',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M175.6 6.5c9.2-8.7 23.7-8.7 32.9 0l129 121.4c9.3 8.8 14.6 21 14.6 33.7c0 25.6-20.7 46.3-46.3 46.3H264V352c0 88.4-71.6 160-160 160H56c-30.9 0-56-25.1-56-56V424c0-30.9 25.1-56 56-56h56c4.4 0 8-3.6 8-8V208H78.3C52.7 208 32 187.3 32 161.7c0-12.8 5.3-25 14.6-33.7L175.6 6.5zM82.5 160H144c13.3 0 24 10.7 24 24V360c0 30.9-25.1 56-56 56H56c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h48c61.9 0 112-50.1 112-112V184c0-13.3 10.7-24 24-24h61.5L192 57 82.5 160z\"]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faWagonCovered: faWagonCovered,\n faLineHeight: faLineHeight,\n faBagel: faBagel,\n faTransporter7: faTransporter7,\n faAt: faAt,\n faRectanglesMixed: faRectanglesMixed,\n faPhoneArrowUpRight: faPhoneArrowUpRight,\n faPhoneArrowUp: faPhoneArrowUp,\n faPhoneOutgoing: faPhoneOutgoing,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faCircleL: faCircleL,\n faHeadSideGoggles: faHeadSideGoggles,\n faHeadVr: faHeadVr,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faFaceHandYawn: faFaceHandYawn,\n faGaugeSimpleMin: faGaugeSimpleMin,\n faTachometerSlowest: faTachometerSlowest,\n faStethoscope: faStethoscope,\n faCoffin: faCoffin,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faSalad: faSalad,\n faBowlSalad: faBowlSalad,\n faInfo: faInfo,\n faRobotAstromech: faRobotAstromech,\n faRingDiamond: faRingDiamond,\n faFonduePot: faFonduePot,\n faTheta: faTheta,\n faFaceHandPeeking: faFaceHandPeeking,\n faSquareUser: faSquareUser,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faTirePressureWarning: faTirePressureWarning,\n faWifiFair: faWifiFair,\n faWifi2: faWifi2,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faMp3Player: faMp3Player,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faTally4: faTally4,\n faRectangleHistory: faRectangleHistory,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faSunHaze: faSunHaze,\n faTextSize: faTextSize,\n faUfo: faUfo,\n faFork: faFork,\n faUtensilFork: faUtensilFork,\n faArrowsUpToLine: faArrowsUpToLine,\n faMobileSignal: faMobileSignal,\n faBarcodeScan: faBarcodeScan,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faFolderArrowDown: faFolderArrowDown,\n faFolderDownload: faFolderDownload,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faFaceIcicles: faFaceIcicles,\n faShovel: faShovel,\n faDoorOpen: faDoorOpen,\n faFilms: faFilms,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faFaceGlasses: faFaceGlasses,\n faNfc: faNfc,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faClosedCaptioningSlash: faClosedCaptioningSlash,\n faCalculatorSimple: faCalculatorSimple,\n faCalculatorAlt: faCalculatorAlt,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faSlidersUp: faSlidersUp,\n faSlidersV: faSlidersV,\n faLocationMinus: faLocationMinus,\n faMapMarkerMinus: faMapMarkerMinus,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faSkiBoot: faSkiBoot,\n faStandardDefinition: faStandardDefinition,\n faRectangleSd: faRectangleSd,\n faH1: faH1,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faMessageBot: faMessageBot,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faLightCeiling: faLightCeiling,\n faMessageExclamation: faMessageExclamation,\n faCommentAltExclamation: faCommentAltExclamation,\n faBowlScoop: faBowlScoop,\n faBowlShavedIce: faBowlShavedIce,\n faSquareX: faSquareX,\n faUtilityPoleDouble: faUtilityPoleDouble,\n faFlagCheckered: faFlagCheckered,\n faChevronsUp: faChevronsUp,\n faChevronDoubleUp: faChevronDoubleUp,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faUserVneck: faUserVneck,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faSquareArrowRight: faSquareArrowRight,\n faArrowSquareRight: faArrowSquareRight,\n faLocationPlus: faLocationPlus,\n faMapMarkerPlus: faMapMarkerPlus,\n faLightbulbExclamationOn: faLightbulbExclamationOn,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faCrateEmpty: faCrateEmpty,\n faDiagramPredecessor: faDiagramPredecessor,\n faTransporter: faTransporter,\n faCalendarCircleUser: faCalendarCircleUser,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faPersonCarryBox: faPersonCarryBox,\n faPersonCarry: faPersonCarry,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faUnion: faUnion,\n faChevronsLeft: faChevronsLeft,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faCircleHeart: faCircleHeart,\n faHeartCircle: faHeartCircle,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faBringForward: faBringForward,\n faSquareP: faSquareP,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faSigma: faSigma,\n faCameraMovie: faCameraMovie,\n faBong: faBong,\n faClarinet: faClarinet,\n faTruckFlatbed: faTruckFlatbed,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faLeafHeart: faLeafHeart,\n faHouseBuilding: faHouseBuilding,\n faCheeseSwiss: faCheeseSwiss,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faBowArrow: faBowArrow,\n faCartXmark: faCartXmark,\n faHexagonXmark: faHexagonXmark,\n faTimesHexagon: faTimesHexagon,\n faXmarkHexagon: faXmarkHexagon,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faMerge: faMerge,\n faPager: faPager,\n faCartMinus: faCartMinus,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faPanFrying: faPanFrying,\n faGrid: faGrid,\n faGrid3: faGrid3,\n faFootballHelmet: faFootballHelmet,\n faHandLove: faHandLove,\n faTrees: faTrees,\n faStrikethrough: faStrikethrough,\n faPage: faPage,\n faK: faK,\n faDiagramPrevious: faDiagramPrevious,\n faGaugeMin: faGaugeMin,\n faTachometerAltSlowest: faTachometerAltSlowest,\n faFolderGrid: faFolderGrid,\n faEggplant: faEggplant,\n faRam: faRam,\n faLandmarkFlag: faLandmarkFlag,\n faLips: faLips,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faDesktopArrowDown: faDesktopArrowDown,\n faCodePullRequest: faCodePullRequest,\n faPumpkin: faPumpkin,\n faClipboardList: faClipboardList,\n faPenField: faPenField,\n faBlueberries: faBlueberries,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faNote: faNote,\n faArrowDownToSquare: faArrowDownToSquare,\n faUserCheck: faUserCheck,\n faCloudXmark: faCloudXmark,\n faVialVirus: faVialVirus,\n faBookBlank: faBookBlank,\n faBookAlt: faBookAlt,\n faGolfFlagHole: faGolfFlagHole,\n faMessageArrowDown: faMessageArrowDown,\n faCommentAltArrowDown: faCommentAltArrowDown,\n faFaceUnamused: faFaceUnamused,\n faSheetPlastic: faSheetPlastic,\n faCircle9: faCircle9,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPencilSlash: faPencilSlash,\n faBowlingPins: faBowlingPins,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faDownRight: faDownRight,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faWebhook: faWebhook,\n faBlindsOpen: faBlindsOpen,\n faFence: faFence,\n faUp: faUp,\n faArrowAltUp: faArrowAltUp,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faDrumstick: faDrumstick,\n faSquareV: faSquareV,\n faFaceAwesome: faFaceAwesome,\n faGaveDandy: faGaveDandy,\n faDialOff: faDialOff,\n faToggleOff: faToggleOff,\n faFaceSmileHorns: faFaceSmileHorns,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faGrapes: faGrapes,\n faPersonDrowning: faPersonDrowning,\n faDialMax: faDialMax,\n faCircleM: faCircleM,\n faCalendarImage: faCalendarImage,\n faCircleCaretDown: faCircleCaretDown,\n faCaretCircleDown: faCaretCircleDown,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faShishKebab: faShishKebab,\n faSprayCan: faSprayCan,\n faAlarmSnooze: faAlarmSnooze,\n faScarecrow: faScarecrow,\n faTruckMonster: faTruckMonster,\n faGiftCard: faGiftCard,\n faW: faW,\n faCodePullRequestDraft: faCodePullRequestDraft,\n faSquareB: faSquareB,\n faElephant: faElephant,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faMessageQuestion: faMessageQuestion,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faSquare3: faSquare3,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faMicrowave: faMicrowave,\n faChfSign: faChfSign,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faCartCircleArrowUp: faCartCircleArrowUp,\n faTrashClock: faTrashClock,\n faGavel: faGavel,\n faLegal: faLegal,\n faSprinklerCeiling: faSprinklerCeiling,\n faBrowsers: faBrowsers,\n faTrillium: faTrillium,\n faMusicSlash: faMusicSlash,\n faTruckRamp: faTruckRamp,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faCircleC: faCircleC,\n faStarChristmas: faStarChristmas,\n faChartBullet: faChartBullet,\n faMotorcycle: faMotorcycle,\n faTreeChristmas: faTreeChristmas,\n faTireFlat: faTireFlat,\n faSunglasses: faSunglasses,\n faBadge: faBadge,\n faMessagePen: faMessagePen,\n faCommentAltEdit: faCommentAltEdit,\n faMessageEdit: faMessageEdit,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faArrowProgress: faArrowProgress,\n faChessRookPiece: faChessRookPiece,\n faChessRookAlt: faChessRookAlt,\n faSquareRoot: faSquareRoot,\n faAlbumCollectionCirclePlus: faAlbumCollectionCirclePlus,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faFaceAngryHorns: faFaceAngryHorns,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faTombstone: faTombstone,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faListMusic: faListMusic,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faMustache: faMustache,\n faHyphen: faHyphen,\n faTable: faTable,\n faUserChef: faUserChef,\n faMessageImage: faMessageImage,\n faCommentAltImage: faCommentAltImage,\n faUsersMedical: faUsersMedical,\n faSensorTriangleExclamation: faSensorTriangleExclamation,\n faSensorAlert: faSensorAlert,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faFaceMask: faFaceMask,\n faPickleball: faPickleball,\n faStarSharpHalf: faStarSharpHalf,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faMeat: faMeat,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faEmptySet: faEmptySet,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faBird: faBird,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faHeartHalfStroke: faHeartHalfStroke,\n faHeartHalfAlt: faHeartHalfAlt,\n faFileCircleQuestion: faFileCircleQuestion,\n faLaptopCode: faLaptopCode,\n faJoystick: faJoystick,\n faGrillFire: faGrillFire,\n faRectangleVerticalHistory: faRectangleVerticalHistory,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faKeyboardLeft: faKeyboardLeft,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faFaceBeamHandOverMouth: faFaceBeamHandOverMouth,\n faDropletPercent: faDropletPercent,\n faHumidity: faHumidity,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faCorn: faCorn,\n faRollerCoaster: faRollerCoaster,\n faPhotoFilmMusic: faPhotoFilmMusic,\n faRadar: faRadar,\n faSickle: faSickle,\n faFilm: faFilm,\n faCoconut: faCoconut,\n faRulerHorizontal: faRulerHorizontal,\n faShieldCross: faShieldCross,\n faCassetteTape: faCassetteTape,\n faSquareTerminal: faSquareTerminal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCommentMiddle: faCommentMiddle,\n faTrashCanList: faTrashCanList,\n faBlock: faBlock,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faFaceFrownSlight: faFaceFrownSlight,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faSidebarFlip: faSidebarFlip,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faTemperatureList: faTemperatureList,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faPipeSection: faPipeSection,\n faSpaceStationMoonConstruction: faSpaceStationMoonConstruction,\n faSpaceStationMoonAlt: faSpaceStationMoonAlt,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faFaceSleeping: faFaceSleeping,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faSquirrel: faSquirrel,\n faArrowUpToLine: faArrowUpToLine,\n faArrowToTop: faArrowToTop,\n faFlag: faFlag,\n faFaceCowboyHat: faFaceCowboyHat,\n faHanukiah: faHanukiah,\n faChartScatter3d: faChartScatter3d,\n faDisplayChartUp: faDisplayChartUp,\n faSquareCode: faSquareCode,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faXmarkToSlot: faXmarkToSlot,\n faTimesToSlot: faTimesToSlot,\n faVoteNay: faVoteNay,\n faBoxTaped: faBoxTaped,\n faBoxAlt: faBoxAlt,\n faCommentSlash: faCommentSlash,\n faSwords: faSwords,\n faCloudSunRain: faCloudSunRain,\n faAlbum: faAlbum,\n faCircleN: faCircleN,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faKeySkeletonLeftRight: faKeySkeletonLeftRight,\n faCommentLines: faCommentLines,\n faLuchadorMask: faLuchadorMask,\n faLuchador: faLuchador,\n faMaskLuchador: faMaskLuchador,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faShredder: faShredder,\n faBookOpenCover: faBookOpenCover,\n faBookOpenAlt: faBookOpenAlt,\n faSandwich: faSandwich,\n faPesetaSign: faPesetaSign,\n faSquareParkingSlash: faSquareParkingSlash,\n faParkingSlash: faParkingSlash,\n faTrainTunnel: faTrainTunnel,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faFaceAnguished: faFaceAnguished,\n faHockeySticks: faHockeySticks,\n faAbacus: faAbacus,\n faFilmSimple: faFilmSimple,\n faFilmAlt: faFilmAlt,\n faList: faList,\n faListSquares: faListSquares,\n faTreePalm: faTreePalm,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faBorderCenterV: faBorderCenterV,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faClipboardMedical: faClipboardMedical,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faUpToLine: faUpToLine,\n faArrowAltToTop: faArrowAltToTop,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faWatchFitness: faWatchFitness,\n faClockNineThirty: faClockNineThirty,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faJug: faJug,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faSnowBlowing: faSnowBlowing,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faArrowDownFromLine: faArrowDownFromLine,\n faArrowFromTop: faArrowFromTop,\n faGasPump: faGasPump,\n faSignalBarsSlash: faSignalBarsSlash,\n faSignalAltSlash: faSignalAltSlash,\n faMonkey: faMonkey,\n faRectanglePro: faRectanglePro,\n faPro: faPro,\n faHouseNight: faHouseNight,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faBlanket: faBlanket,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faCommentsQuestionCheck: faCommentsQuestionCheck,\n faTree: faTree,\n faArrowsCross: faArrowsCross,\n faBackpack: faBackpack,\n faSquareSmall: faSquareSmall,\n faFolderArrowUp: faFolderArrowUp,\n faFolderUpload: faFolderUpload,\n faBridgeLock: faBridgeLock,\n faCrosshairsSimple: faCrosshairsSimple,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faSquareSliders: faSquareSliders,\n faSlidersHSquare: faSlidersHSquare,\n faCarSide: faCarSide,\n faMessageMiddleTop: faMessageMiddleTop,\n faCommentMiddleTopAlt: faCommentMiddleTopAlt,\n faLightbulbOn: faLightbulbOn,\n faKnife: faKnife,\n faUtensilKnife: faUtensilKnife,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faDisplayChartUpCircleDollar: faDisplayChartUpCircleDollar,\n faWaveSine: faWaveSine,\n faHeartCircleMinus: faHeartCircleMinus,\n faCircleW: faCircleW,\n faCircleCalendar: faCircleCalendar,\n faCalendarCircle: faCalendarCircle,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSunset: faSunset,\n faSink: faSink,\n faCalendarExclamation: faCalendarExclamation,\n faTruckContainerEmpty: faTruckContainerEmpty,\n faHandHeart: faHandHeart,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faReplyClock: faReplyClock,\n faReplyTime: faReplyTime,\n faPersonRays: faPersonRays,\n faRight: faRight,\n faArrowAltRight: faArrowAltRight,\n faCircleF: faCircleF,\n faUsers: faUsers,\n faFacePleading: faFacePleading,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faPoliceBox: faPoliceBox,\n faCucumber: faCucumber,\n faHeadSideBrain: faHeadSideBrain,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faPersonBikingMountain: faPersonBikingMountain,\n faBikingMountain: faBikingMountain,\n faUtensilsSlash: faUtensilsSlash,\n faPrintMagnifyingGlass: faPrintMagnifyingGlass,\n faPrintSearch: faPrintSearch,\n faFolderBookmark: faFolderBookmark,\n faOm: faOm,\n faPi: faPi,\n faFlaskRoundPotion: faFlaskRoundPotion,\n faFlaskPotion: faFlaskPotion,\n faFaceShush: faFaceShush,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faCalendarCircleExclamation: faCalendarCircleExclamation,\n faSquareI: faSquareI,\n faChevronUp: faChevronUp,\n faFaceSaluting: faFaceSaluting,\n faGaugeSimpleLow: faGaugeSimpleLow,\n faTachometerSlow: faTachometerSlow,\n faFacePersevering: faFacePersevering,\n faCircleCamera: faCircleCamera,\n faCameraCircle: faCameraCircle,\n faHandSpock: faHandSpock,\n faSpiderWeb: faSpiderWeb,\n faCircleMicrophone: faCircleMicrophone,\n faMicrophoneCircle: faMicrophoneCircle,\n faBookArrowUp: faBookArrowUp,\n faPopsicle: faPopsicle,\n faCommand: faCommand,\n faBlinds: faBlinds,\n faStopwatch: faStopwatch,\n faSaxophone: faSaxophone,\n faSquare2: faSquare2,\n faFieldHockeyStickBall: faFieldHockeyStickBall,\n faFieldHockey: faFieldHockey,\n faArrowUpSquareTriangle: faArrowUpSquareTriangle,\n faSortShapesUpAlt: faSortShapesUpAlt,\n faFaceScream: faFaceScream,\n faSquareM: faSquareM,\n faCameraWeb: faCameraWeb,\n faWebcam: faWebcam,\n faCommentArrowDown: faCommentArrowDown,\n faLightbulbCfl: faLightbulbCfl,\n faWindowFrameOpen: faWindowFrameOpen,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faPeriod: faPeriod,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faUpToDottedLine: faUpToDottedLine,\n faThoughtBubble: faThoughtBubble,\n faSkeletonRibs: faSkeletonRibs,\n faRaygun: faRaygun,\n faFlute: faFlute,\n faAcorn: faAcorn,\n faVideoArrowUpRight: faVideoArrowUpRight,\n faGrateDroplet: faGrateDroplet,\n faSealExclamation: faSealExclamation,\n faChessBishop: faChessBishop,\n faMessageSms: faMessageSms,\n faCoffeeBeans: faCoffeeBeans,\n faHatWitch: faHatWitch,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faClockThreeThirty: faClockThreeThirty,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faAlarmClock: faAlarmClock,\n faEclipse: faEclipse,\n faFaceRelieved: faFaceRelieved,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faOctagonMinus: faOctagonMinus,\n faMinusOctagon: faMinusOctagon,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faFaceZany: faFaceZany,\n faTricycle: faTricycle,\n faLandMineOn: faLandMineOn,\n faSquareArrowUpLeft: faSquareArrowUpLeft,\n faICursor: faICursor,\n faChartMixedUpCircleDollar: faChartMixedUpCircleDollar,\n faSaltShaker: faSaltShaker,\n faStamp: faStamp,\n faFilePlus: faFilePlus,\n faDrawSquare: faDrawSquare,\n faToiletPaperUnderSlash: faToiletPaperUnderSlash,\n faToiletPaperReverseSlash: faToiletPaperReverseSlash,\n faStairs: faStairs,\n faDroneFront: faDroneFront,\n faDroneAlt: faDroneAlt,\n faGlassEmpty: faGlassEmpty,\n faDialHigh: faDialHigh,\n faUserHelmetSafety: faUserHelmetSafety,\n faUserConstruction: faUserConstruction,\n faUserHardHat: faUserHardHat,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faArrowDownLeftAndArrowUpRightToCenter: faArrowDownLeftAndArrowUpRightToCenter,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faBasketballHoop: faBasketballHoop,\n faObjectsAlignBottom: faObjectsAlignBottom,\n faV: faV,\n faSparkles: faSparkles,\n faSquid: faSquid,\n faLeafyGreen: faLeafyGreen,\n faCircleArrowUpRight: faCircleArrowUpRight,\n faCalendars: faCalendars,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faHammerWar: faHammerWar,\n faCircleD: faCircleD,\n faSpiderBlackWidow: faSpiderBlackWidow,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faPear: faPear,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faTriangle: faTriangle,\n faApartment: faApartment,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faPepper: faPepper,\n faPiano: faPiano,\n faGunSquirt: faGunSquirt,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faUserAlien: faUserAlien,\n faShieldCheck: faShieldCheck,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faChartCandlestick: faChartCandlestick,\n faBriefcaseBlank: faBriefcaseBlank,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faBracketRound: faBracketRound,\n faParenthesis: faParenthesis,\n faJoint: faJoint,\n faHorseSaddle: faHorseSaddle,\n faMugMarshmallows: faMugMarshmallows,\n faFilters: faFilters,\n faBellOn: faBellOn,\n faAngleRight: faAngleRight,\n faDialMed: faDialMed,\n faHorse: faHorse,\n faQ: faQ,\n faMonitorWaveform: faMonitorWaveform,\n faMonitorHeartRate: faMonitorHeartRate,\n faLinkSimple: faLinkSimple,\n faWhistle: faWhistle,\n faG: faG,\n faWineGlassCrack: faWineGlassCrack,\n faFragile: faFragile,\n faSlotMachine: faSlotMachine,\n faNotesMedical: faNotesMedical,\n faCarWash: faCarWash,\n faEscalator: faEscalator,\n faCommentImage: faCommentImage,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faDonut: faDonut,\n faDoughnut: faDoughnut,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faTally1: faTally1,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faSquareDashed: faSquareDashed,\n faSquareJ: faSquareJ,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faArrowUpBigSmall: faArrowUpBigSmall,\n faSortSizeUp: faSortSizeUp,\n faBarcodeRead: faBarcodeRead,\n faBaguette: faBaguette,\n faBowlSoftServe: faBowlSoftServe,\n faFaceHoldingBackTears: faFaceHoldingBackTears,\n faSquareUp: faSquareUp,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faTrainSubwayTunnel: faTrainSubwayTunnel,\n faSubwayTunnel: faSubwayTunnel,\n faSquareExclamation: faSquareExclamation,\n faExclamationSquare: faExclamationSquare,\n faSemicolon: faSemicolon,\n faBookmark: faBookmark,\n faFanTable: faFanTable,\n faAlignJustify: faAlignJustify,\n faBatteryLow: faBatteryLow,\n faBattery1: faBattery1,\n faCreditCardFront: faCreditCardFront,\n faBrainArrowCurvedRight: faBrainArrowCurvedRight,\n faMindShare: faMindShare,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faLocationSmile: faLocationSmile,\n faMapMarkerSmile: faMapMarkerSmile,\n faArrowLeftToLine: faArrowLeftToLine,\n faArrowToLeft: faArrowToLeft,\n faBullseye: faBullseye,\n faSushi: faSushi,\n faNigiri: faNigiri,\n faMessageCaptions: faMessageCaptions,\n faCommentAltCaptions: faCommentAltCaptions,\n faTrashList: faTrashList,\n faBacon: faBacon,\n faOption: faOption,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faTrashPlus: faTrashPlus,\n faObjectsAlignTop: faObjectsAlignTop,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFaceAnxiousSweat: faFaceAnxiousSweat,\n faCreditCardBlank: faCreditCardBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faMicrochipAi: faMicrochipAi,\n faMug: faMug,\n faPlaneUpSlash: faPlaneUpSlash,\n faRadiation: faRadiation,\n faPenCircle: faPenCircle,\n faBagSeedling: faBagSeedling,\n faChartSimple: faChartSimple,\n faCrutches: faCrutches,\n faCircleParking: faCircleParking,\n faParkingCircle: faParkingCircle,\n faMarsStroke: faMarsStroke,\n faLeafOak: faLeafOak,\n faSquareBolt: faSquareBolt,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faLambda: faLambda,\n faE: faE,\n faPizza: faPizza,\n faBowlChopsticksNoodles: faBowlChopsticksNoodles,\n faH3: faH3,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faBadgePercent: faBadgePercent,\n faUser: faUser,\n faSensor: faSensor,\n faComma: faComma,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faToiletPaperUnder: faToiletPaperUnder,\n faToiletPaperReverse: faToiletPaperReverse,\n faLightEmergency: faLightEmergency,\n faArrowDownToArc: faArrowDownToArc,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faLightSwitch: faLightSwitch,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faWavePulse: faWavePulse,\n faHeartRate: faHeartRate,\n faKey: faKey,\n faHatSanta: faHatSanta,\n faTamale: faTamale,\n faBoxCheck: faBoxCheck,\n faBullhorn: faBullhorn,\n faSteak: faSteak,\n faLocationCrosshairsSlash: faLocationCrosshairsSlash,\n faLocationSlash: faLocationSlash,\n faPersonDolly: faPersonDolly,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faFileChartColumn: faFileChartColumn,\n faFileChartLine: faFileChartLine,\n faPersonHalfDress: faPersonHalfDress,\n faFolderImage: faFolderImage,\n faCalendarPen: faCalendarPen,\n faCalendarEdit: faCalendarEdit,\n faRoadBridge: faRoadBridge,\n faFaceSmileTear: faFaceSmileTear,\n faMessagePlus: faMessagePlus,\n faCommentAltPlus: faCommentAltPlus,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faRectangleHistoryCircleUser: faRectangleHistoryCircleUser,\n faBuildingLock: faBuildingLock,\n faChartLineUp: faChartLineUp,\n faMailbox: faMailbox,\n faTruckBolt: faTruckBolt,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faCircleThreeQuartersStroke: faCircleThreeQuartersStroke,\n faPersonCircleMinus: faPersonCircleMinus,\n faScalpel: faScalpel,\n faBan: faBan,\n faCancel: faCancel,\n faBellExclamation: faBellExclamation,\n faCircleBookmark: faCircleBookmark,\n faBookmarkCircle: faBookmarkCircle,\n faEggFried: faEggFried,\n faFaceWeary: faFaceWeary,\n faUniformMartialArts: faUniformMartialArts,\n faCameraRotate: faCameraRotate,\n faSunDust: faSunDust,\n faCommentText: faCommentText,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faSignalBars: faSignalBars,\n faSignalAlt: faSignalAlt,\n faSignalAlt4: faSignalAlt4,\n faSignalBarsStrong: faSignalBarsStrong,\n faDiamondExclamation: faDiamondExclamation,\n faStar: faStar,\n faDialMin: faDialMin,\n faRepeat: faRepeat,\n faCross: faCross,\n faPageCaretDown: faPageCaretDown,\n faFileCaretDown: faFileCaretDown,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faClockSevenThirty: faClockSevenThirty,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faClockFourThirty: faClockFourThirty,\n faSignalBarsGood: faSignalBarsGood,\n faSignalAlt3: faSignalAlt3,\n faCactus: faCactus,\n faLightbulbGear: faLightbulbGear,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faPlaneTail: faPlaneTail,\n faGaugeSimpleMax: faGaugeSimpleMax,\n faTachometerFastest: faTachometerFastest,\n faCircleU: faCircleU,\n faShieldSlash: faShieldSlash,\n faSquarePhoneHangup: faSquarePhoneHangup,\n faPhoneSquareDown: faPhoneSquareDown,\n faArrowUpLeft: faArrowUpLeft,\n faTransporter1: faTransporter1,\n faPeanuts: faPeanuts,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faBinBottlesRecycle: faBinBottlesRecycle,\n faArrowUpFromSquare: faArrowUpFromSquare,\n faFileDashedLine: faFileDashedLine,\n faPageBreak: faPageBreak,\n faBracketCurlyRight: faBracketCurlyRight,\n faSpider: faSpider,\n faClockThree: faClockThree,\n faHandsBound: faHandsBound,\n faScalpelLineDashed: faScalpelLineDashed,\n faScalpelPath: faScalpelPath,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPipeSmoking: faPipeSmoking,\n faFaceAstonished: faFaceAstonished,\n faWindow: faWindow,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faEar: faEar,\n faFileLock: faFileLock,\n faDiagramVenn: faDiagramVenn,\n faXRay: faXRay,\n faGoalNet: faGoalNet,\n faCoffinCross: faCoffinCross,\n faSpellCheck: faSpellCheck,\n faLocationXmark: faLocationXmark,\n faMapMarkerTimes: faMapMarkerTimes,\n faMapMarkerXmark: faMapMarkerXmark,\n faCircleQuarterStroke: faCircleQuarterStroke,\n faLasso: faLasso,\n faSlash: faSlash,\n faPersonToPortal: faPersonToPortal,\n faPortalEnter: faPortalEnter,\n faCalendarStar: faCalendarStar,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faPegasus: faPegasus,\n faFilesMedical: faFilesMedical,\n faNfcLock: faNfcLock,\n faPersonSkiLift: faPersonSkiLift,\n faSkiLift: faSkiLift,\n faSquare6: faSquare6,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faWindTurbine: faWindTurbine,\n faSlidersSimple: faSlidersSimple,\n faGridRound: faGridRound,\n faBadgeSheriff: faBadgeSheriff,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faIntersection: faIntersection,\n faShopLock: faShopLock,\n faFamily: faFamily,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faUserHairBuns: faUserHairBuns,\n faBlenderPhone: faBlenderPhone,\n faHourglassClock: faHourglassClock,\n faPersonSeatReclined: faPersonSeatReclined,\n faPaperPlaneTop: faPaperPlaneTop,\n faPaperPlaneAlt: faPaperPlaneAlt,\n faSend: faSend,\n faMessageArrowUp: faMessageArrowUp,\n faCommentAltArrowUp: faCommentAltArrowUp,\n faLightbulbExclamation: faLightbulbExclamation,\n faLayerMinus: faLayerMinus,\n faLayerGroupMinus: faLayerGroupMinus,\n faChartPieSimpleCircleCurrency: faChartPieSimpleCircleCurrency,\n faCircleE: faCircleE,\n faBuildingWheat: faBuildingWheat,\n faGaugeMax: faGaugeMax,\n faTachometerAltFastest: faTachometerAltFastest,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faApostrophe: faApostrophe,\n faFireHydrant: faFireHydrant,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVideoPlus: faVideoPlus,\n faSquareRight: faSquareRight,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faCommentSmile: faCommentSmile,\n faVenus: faVenus,\n faPassport: faPassport,\n faInboxIn: faInboxIn,\n faInboxArrowDown: faInboxArrowDown,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faCircle8: faCircle8,\n faCloudsMoon: faCloudsMoon,\n faClockTenThirty: faClockTenThirty,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faFolderUser: faFolderUser,\n faTrashCanXmark: faTrashCanXmark,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faLeftLongToLine: faLeftLongToLine,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faCalendarRange: faCalendarRange,\n faFlowerDaffodil: faFlowerDaffodil,\n faHandBackPointUp: faHandBackPointUp,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faStarExclamation: faStarExclamation,\n faBooks: faBooks,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faLayerPlus: faLayerPlus,\n faLayerGroupPlus: faLayerGroupPlus,\n faPlayPause: faPlayPause,\n faBlockQuestion: faBlockQuestion,\n faSnooze: faSnooze,\n faZzz: faZzz,\n faScannerImage: faScannerImage,\n faTvRetro: faTvRetro,\n faSquareT: faSquareT,\n faFarm: faFarm,\n faBarnSilo: faBarnSilo,\n faChessKnight: faChessKnight,\n faBarsSort: faBarsSort,\n faPalletBoxes: faPalletBoxes,\n faPaletteBoxes: faPaletteBoxes,\n faPalletAlt: faPalletAlt,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faCodeSimple: faCodeSimple,\n faBoltSlash: faBoltSlash,\n faPanelFire: faPanelFire,\n faBinaryCircleCheck: faBinaryCircleCheck,\n faCommentMinus: faCommentMinus,\n faBurrito: faBurrito,\n faViolin: faViolin,\n faObjectsColumn: faObjectsColumn,\n faSquareChevronDown: faSquareChevronDown,\n faChevronSquareDown: faChevronSquareDown,\n faCommentPlus: faCommentPlus,\n faTriangleInstrument: faTriangleInstrument,\n faTriangleMusic: faTriangleMusic,\n faWheelchair: faWheelchair,\n faUserPilotTie: faUserPilotTie,\n faPianoKeyboard: faPianoKeyboard,\n faBedEmpty: faBedEmpty,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faRectangleVertical: faRectangleVertical,\n faRectanglePortrait: faRectanglePortrait,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faSignalStream: faSignalStream,\n faDownToBracket: faDownToBracket,\n faCircleZ: faCircleZ,\n faStars: faStars,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faHouseDay: faHouseDay,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faShirtLongSleeve: faShirtLongSleeve,\n faChartPieSimple: faChartPieSimple,\n faChartPieAlt: faChartPieAlt,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faAlbumCollectionCircleUser: faAlbumCollectionCircleUser,\n faCandy: faCandy,\n faBowlHot: faBowlHot,\n faSoup: faSoup,\n faFlatbread: faFlatbread,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faSignalBarsWeak: faSignalBarsWeak,\n faSignalAlt1: faSignalAlt1,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faClockTwelve: faClockTwelve,\n faPepperHot: faPepperHot,\n faCitrusSlice: faCitrusSlice,\n faSheep: faSheep,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faBadgerHoney: faBadgerHoney,\n faH4: faH4,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faSignalSlash: faSignalSlash,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faTaco: faTaco,\n faHexagonPlus: faHexagonPlus,\n faPlusHexagon: faPlusHexagon,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faMessages: faMessages,\n faCommentsAlt: faCommentsAlt,\n faBath: faBath,\n faBathtub: faBathtub,\n faUmbrellaSimple: faUmbrellaSimple,\n faUmbrellaAlt: faUmbrellaAlt,\n faRectangleHistoryCirclePlus: faRectangleHistoryCirclePlus,\n faUnderline: faUnderline,\n faPrescriptionBottlePill: faPrescriptionBottlePill,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faBinarySlash: faBinarySlash,\n faSquareO: faSquareO,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faTransporter3: faTransporter3,\n faEngineWarning: faEngineWarning,\n faEngineExclamation: faEngineExclamation,\n faCircleDownRight: faCircleDownRight,\n faSquareK: faSquareK,\n faManatSign: faManatSign,\n faMoneyCheckPen: faMoneyCheckPen,\n faMoneyCheckEdit: faMoneyCheckEdit,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faTilde: faTilde,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faArrowDownSquareTriangle: faArrowDownSquareTriangle,\n faSortShapesDownAlt: faSortShapesDownAlt,\n faMugHot: faMugHot,\n faDogLeashed: faDogLeashed,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faFaceDowncastSweat: faFaceDowncastSweat,\n faMailboxFlagUp: faMailboxFlagUp,\n faMemoCircleInfo: faMemoCircleInfo,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faVolume: faVolume,\n faVolumeMedium: faVolumeMedium,\n faTransporter5: faTransporter5,\n faGaugeCircleBolt: faGaugeCircleBolt,\n faCoinFront: faCoinFront,\n faFileSlash: faFileSlash,\n faMessageArrowUpRight: faMessageArrowUpRight,\n faTreasureChest: faTreasureChest,\n faChessQueen: faChessQueen,\n faPaintbrushFine: faPaintbrushFine,\n faPaintBrushAlt: faPaintBrushAlt,\n faPaintBrushFine: faPaintBrushFine,\n faPaintbrushAlt: faPaintbrushAlt,\n faGlasses: faGlasses,\n faHoodCloak: faHoodCloak,\n faSquareQuote: faSquareQuote,\n faUpLeft: faUpLeft,\n faBringFront: faBringFront,\n faChessBoard: faChessBoard,\n faBurgerCheese: faBurgerCheese,\n faCheeseburger: faCheeseburger,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faRepeat1: faRepeat1,\n faArrowDownToLine: faArrowDownToLine,\n faArrowToBottom: faArrowToBottom,\n faGrid5: faGrid5,\n faRightLongToLine: faRightLongToLine,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faGridRound5: faGridRound5,\n faTally: faTally,\n faTally5: faTally5,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faUpFromDottedLine: faUpFromDottedLine,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faTrafficLightGo: faTrafficLightGo,\n faFaceExhaling: faFaceExhaling,\n faSensorFire: faSensorFire,\n faUserUnlock: faUserUnlock,\n faHexagonDivide: faHexagonDivide,\n fa00: fa00,\n faCrow: faCrow,\n faCassetteBetamax: faCassetteBetamax,\n faBetamax: faBetamax,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faNfcMagnifyingGlass: faNfcMagnifyingGlass,\n faFileBinary: faFileBinary,\n faCircleV: faCircleV,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faBowlScoops: faBowlScoops,\n faMistletoe: faMistletoe,\n faCustard: faCustard,\n faLacrosseStick: faLacrosseStick,\n faHockeyMask: faHockeyMask,\n faSunrise: faSunrise,\n faPanelEws: faPanelEws,\n faToriiGate: faToriiGate,\n faCloudExclamation: faCloudExclamation,\n faMessageLines: faMessageLines,\n faCommentAltLines: faCommentAltLines,\n faFrog: faFrog,\n faBucket: faBucket,\n faFloppyDiskPen: faFloppyDiskPen,\n faImage: faImage,\n faWindowFrame: faWindowFrame,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faFileZip: faFileZip,\n faSquareRing: faSquareRing,\n faDownFromLine: faDownFromLine,\n faArrowAltFromTop: faArrowAltFromTop,\n faCaretUp: faCaretUp,\n faShieldXmark: faShieldXmark,\n faShieldTimes: faShieldTimes,\n faScrewdriver: faScrewdriver,\n faCircleSortDown: faCircleSortDown,\n faSortCircleDown: faSortCircleDown,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faForklift: faForklift,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faBracketSquareRight: faBracketSquareRight,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faSquareA: faSquareA,\n faTick: faTick,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faRefrigerator: faRefrigerator,\n faMonument: faMonument,\n faOctagonXmark: faOctagonXmark,\n faTimesOctagon: faTimesOctagon,\n faXmarkOctagon: faXmarkOctagon,\n faAlignSlash: faAlignSlash,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faTruckRampCouch: faTruckRampCouch,\n faTruckCouch: faTruckCouch,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faArrowUpRightAndArrowDownLeftFromCenter: faArrowUpRightAndArrowDownLeftFromCenter,\n faTablets: faTablets,\n fa360Degrees: fa360Degrees,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faSquareDashedCirclePlus: faSquareDashedCirclePlus,\n faMoneySimpleFromBracket: faMoneySimpleFromBracket,\n faBat: faBat,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faHeadSideHeadphones: faHeadSideHeadphones,\n faPhoneRotary: faPhoneRotary,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faCalendarCircleMinus: faCalendarCircleMinus,\n faChopsticks: faChopsticks,\n faCarWrench: faCarWrench,\n faCarMechanic: faCarMechanic,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faKazoo: faKazoo,\n faMarker: faMarker,\n faBinBottles: faBinBottles,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faSquareArrowDownLeft: faSquareArrowDownLeft,\n faBatteryBolt: faBatteryBolt,\n faTreeLarge: faTreeLarge,\n faHelicopterSymbol: faHelicopterSymbol,\n faAperture: faAperture,\n faUniversalAccess: faUniversalAccess,\n faGearComplex: faGearComplex,\n faFileMagnifyingGlass: faFileMagnifyingGlass,\n faFileSearch: faFileSearch,\n faUpRight: faUpRight,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faUserPolice: faUserPolice,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faTeddyBear: faTeddyBear,\n faStocking: faStocking,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faImageSlash: faImageSlash,\n faMaskSnorkel: faMaskSnorkel,\n faSmoke: faSmoke,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faBatteryExclamation: faBatteryExclamation,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faCrystalBall: faCrystalBall,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faStarShooting: faStarShooting,\n faBinaryLock: faBinaryLock,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faCommentPen: faCommentPen,\n faCommentEdit: faCommentEdit,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faBanjo: faBanjo,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faLightEmergencyOn: faLightEmergencyOn,\n faKerning: faKerning,\n faBoxOpen: faBoxOpen,\n faSquareF: faSquareF,\n faScroll: faScroll,\n faSpa: faSpa,\n faArrowLeftFromLine: faArrowLeftFromLine,\n faArrowFromRight: faArrowFromRight,\n faStrawberry: faStrawberry,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faClockEightThirty: faClockEightThirty,\n faPlaneEngines: faPlaneEngines,\n faPlaneAlt: faPlaneAlt,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faGaugeLow: faGaugeLow,\n faTachometerAltSlow: faTachometerAltSlow,\n faRegistered: faRegistered,\n faTrashCanPlus: faTrashCanPlus,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faGlobeSnow: faGlobeSnow,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faIntegral: faIntegral,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faBlindsRaised: faBlindsRaised,\n faSmog: faSmog,\n faUfoBeam: faUfoBeam,\n faCircleCaretUp: faCircleCaretUp,\n faCaretCircleUp: faCaretCircleUp,\n faUserVneckHairLong: faUserVneckHairLong,\n faSquareALock: faSquareALock,\n faCrutch: faCrutch,\n faGasPumpSlash: faGasPumpSlash,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faTransporter4: faTransporter4,\n faChartMixedUpCircleCurrency: faChartMixedUpCircleCurrency,\n faObjectsAlignRight: faObjectsAlignRight,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faPig: faPig,\n faInboxFull: faInboxFull,\n faCircleEnvelope: faCircleEnvelope,\n faEnvelopeCircle: faEnvelopeCircle,\n faTrianglePersonDigging: faTrianglePersonDigging,\n faConstruction: faConstruction,\n faFerry: faFerry,\n faBullseyeArrow: faBullseyeArrow,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faClockSeven: faClockSeven,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faFlashlight: faFlashlight,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faSquare9: faSquare9,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faSquareDollar: faSquareDollar,\n faDollarSquare: faDollarSquare,\n faUsdSquare: faUsdSquare,\n faPhoneArrowRight: faPhoneArrowRight,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faMessageCheck: faMessageCheck,\n faCommentAltCheck: faCommentAltCheck,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faChartLineUpDown: faChartLineUpDown,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faWatch: faWatch,\n faCircleDownLeft: faCircleDownLeft,\n faText: faText,\n faProjector: faProjector,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faTombstoneBlank: faTombstoneBlank,\n faTombstoneAlt: faTombstoneAlt,\n faChessKingPiece: faChessKingPiece,\n faChessKingAlt: faChessKingAlt,\n faCircle6: faCircle6,\n faLeft: faLeft,\n faArrowAltLeft: faArrowAltLeft,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faSquareDown: faSquareDown,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faObjectsAlignCenterVertical: faObjectsAlignCenterVertical,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faWreath: faWreath,\n faChildren: faChildren,\n faMeterDroplet: faMeterDroplet,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faSignalStrong: faSignalStrong,\n faSignal4: faSignal4,\n faLollipop: faLollipop,\n faLollypop: faLollypop,\n faListTree: faListTree,\n faEnvelopeOpen: faEnvelopeOpen,\n faDrawCircle: faDrawCircle,\n faCatSpace: faCatSpace,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faRabbitRunning: faRabbitRunning,\n faRabbitFast: faRabbitFast,\n faMemoPad: faMemoPad,\n faMattressPillow: faMattressPillow,\n faAlarmPlus: faAlarmPlus,\n faAlicorn: faAlicorn,\n faCommentQuestion: faCommentQuestion,\n faGingerbreadMan: faGingerbreadMan,\n faGuaraniSign: faGuaraniSign,\n faBurgerFries: faBurgerFries,\n faMugTea: faMugTea,\n faBorderTop: faBorderTop,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faCircleBookOpen: faCircleBookOpen,\n faBookCircle: faBookCircle,\n faArrowsToDottedLine: faArrowsToDottedLine,\n faFireExtinguisher: faFireExtinguisher,\n faGarageOpen: faGarageOpen,\n faShelvesEmpty: faShelvesEmpty,\n faCruzeiroSign: faCruzeiroSign,\n faWatchApple: faWatchApple,\n faWatchCalculator: faWatchCalculator,\n faListDropdown: faListDropdown,\n faCabinetFiling: faCabinetFiling,\n faBurgerSoda: faBurgerSoda,\n faSquareArrowUp: faSquareArrowUp,\n faArrowSquareUp: faArrowSquareUp,\n faGreaterThanEqual: faGreaterThanEqual,\n faPalletBox: faPalletBox,\n faFaceConfounded: faFaceConfounded,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faTruckPlow: faTruckPlow,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faGridRound2: faGridRound2,\n faCommentMiddleTop: faCommentMiddleTop,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faRestroomSimple: faRestroomSimple,\n faArrowsToDot: faArrowsToDot,\n faBorderOuter: faBorderOuter,\n faHashtagLock: faHashtagLock,\n faClockTwoThirty: faClockTwoThirty,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faHeartHalf: faHeartHalf,\n faCommentCheck: faCommentCheck,\n faSquare: faSquare,\n faMemo: faMemo,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faGlassCitrus: faGlassCitrus,\n faCalendarLinesPen: faCalendarLinesPen,\n faChurch: faChurch,\n faPersonSnowmobiling: faPersonSnowmobiling,\n faSnowmobile: faSnowmobile,\n faFaceHushed: faFaceHushed,\n faCommentsDollar: faCommentsDollar,\n faPickaxe: faPickaxe,\n faLinkSimpleSlash: faLinkSimpleSlash,\n faDemocrat: faDemocrat,\n faFaceConfused: faFaceConfused,\n faPinball: faPinball,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faDeer: faDeer,\n faInputPipe: faInputPipe,\n faRoadLock: faRoadLock,\n faA: faA,\n faBookmarkSlash: faBookmarkSlash,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faMace: faMace,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faSausage: faSausage,\n faTrashCanClock: faTrashCanClock,\n faP: faP,\n faBroomWide: faBroomWide,\n faSnowflake: faSnowflake,\n faStomach: faStomach,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faGuitarElectric: faGuitarElectric,\n faArrowTurnDownRight: faArrowTurnDownRight,\n faMoonCloud: faMoonCloud,\n faBreadSliceButter: faBreadSliceButter,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faUserGroupCrown: faUserGroupCrown,\n faUsersCrown: faUsersCrown,\n faCircleI: faCircleI,\n faToiletPaperCheck: faToiletPaperCheck,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faChartWaterfall: faChartWaterfall,\n faSparkle: faSparkle,\n faFaceParty: faFaceParty,\n faKidneys: faKidneys,\n faWifiExclamation: faWifiExclamation,\n faChartNetwork: faChartNetwork,\n faPersonDressBurst: faPersonDressBurst,\n faDiceD4: faDiceD4,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faWheatAwnSlash: faWheatAwnSlash,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faDagger: faDagger,\n faPodium: faPodium,\n faMemoCircleCheck: faMemoCircleCheck,\n faRouteHighway: faRouteHighway,\n faDownToLine: faDownToLine,\n faArrowAltToBottom: faArrowAltToBottom,\n faFilter: faFilter,\n faSquareG: faSquareG,\n faCirclePhone: faCirclePhone,\n faPhoneCircle: faPhoneCircle,\n faClipboardPrescription: faClipboardPrescription,\n faUserNurseHair: faUserNurseHair,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faToggleLargeOn: faToggleLargeOn,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faDryerHeat: faDryerHeat,\n faDryerAlt: faDryerAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faArrowUpSmallBig: faArrowUpSmallBig,\n faSortSizeUpAlt: faSortSizeUpAlt,\n faTrainTrack: faTrainTrack,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExclamation: faFileExclamation,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faMoonStars: faMoonStars,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faClothesHanger: faClothesHanger,\n faMobileNotch: faMobileNotch,\n faMobileIphone: faMobileIphone,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faImagesUser: faImagesUser,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faImagePolaroidUser: faImagePolaroidUser,\n faVirusCovid: faVirusCovid,\n faSquareEllipsis: faSquareEllipsis,\n faPie: faPie,\n faChessKnightPiece: faChessKnightPiece,\n faChessKnightAlt: faChessKnightAlt,\n faAustralSign: faAustralSign,\n faCloudPlus: faCloudPlus,\n faF: faF,\n faLeaf: faLeaf,\n faBedBunk: faBedBunk,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faClockEight: faClockEight,\n faSackXmark: faSackXmark,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faCircleQ: faCircleQ,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faFaceDisguise: faFaceDisguise,\n faCircleArrowDownRight: faCircleArrowDownRight,\n faAlien8bit: faAlien8bit,\n faAlienMonster: faAlienMonster,\n faHandPointRibbon: faHandPointRibbon,\n faPoop: faPoop,\n faObjectExclude: faObjectExclude,\n faTelescope: faTelescope,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faSquareList: faSquareList,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faCommentCode: faCommentCode,\n faSimCards: faSimCards,\n faStarship: faStarship,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faSeal: faSeal,\n faUserCowboy: faUserCowboy,\n faHexagonVerticalNft: faHexagonVerticalNft,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faBreadLoaf: faBreadLoaf,\n faRingsWedding: faRingsWedding,\n faObjectGroup: faObjectGroup,\n faFrenchFries: faFrenchFries,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faCalendarArrowDown: faCalendarArrowDown,\n faCalendarDownload: faCalendarDownload,\n faSendBack: faSendBack,\n faMaskVentilator: faMaskVentilator,\n faSignatureLock: faSignatureLock,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faOctagonPlus: faOctagonPlus,\n faPlusOctagon: faPlusOctagon,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faMelonSlice: faMelonSlice,\n faSpaceStationMoon: faSpaceStationMoon,\n faMessageSmile: faMessageSmile,\n faCommentAltSmile: faCommentAltSmile,\n faCupStraw: faCupStraw,\n faLeftFromLine: faLeftFromLine,\n faArrowAltFromRight: faArrowAltFromRight,\n faH: faH,\n faBasketShoppingSimple: faBasketShoppingSimple,\n faShoppingBasketAlt: faShoppingBasketAlt,\n faHandsHoldingHeart: faHandsHoldingHeart,\n faHandsHeart: faHandsHeart,\n faClockNine: faClockNine,\n faTarp: faTarp,\n faFaceSleepy: faFaceSleepy,\n faHandHorns: faHandHorns,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faCircleThreeQuarters: faCircleThreeQuarters,\n faTrophyStar: faTrophyStar,\n faTrophyAlt: faTrophyAlt,\n faPlugCircleBolt: faPlugCircleBolt,\n faFaceThermometer: faFaceThermometer,\n faGridRound4: faGridRound4,\n faShirtRunning: faShirtRunning,\n faBookCircleArrowUp: faBookCircleArrowUp,\n faFaceNauseated: faFaceNauseated,\n faHeart: faHeart,\n faFileChartPie: faFileChartPie,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faCircleArrowDownLeft: faCircleArrowDownLeft,\n faDumpsterFire: faDumpsterFire,\n faHexagonMinus: faHexagonMinus,\n faMinusHexagon: faMinusHexagon,\n faLeftToLine: faLeftToLine,\n faArrowAltToLeft: faArrowAltToLeft,\n faHouseCrack: faHouseCrack,\n faPawSimple: faPawSimple,\n faPawAlt: faPawAlt,\n faArrowLeftLongToLine: faArrowLeftLongToLine,\n faBracketsRound: faBracketsRound,\n faParentheses: faParentheses,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faUserShakespeare: faUserShakespeare,\n faArrowRightToArc: faArrowRightToArc,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faGaugeCirclePlus: faGaugeCirclePlus,\n faFolders: faFolders,\n faAngel: faAngel,\n faValueAbsolute: faValueAbsolute,\n faRabbit: faRabbit,\n faToiletPaperSlash: faToiletPaperSlash,\n faCircleEuro: faCircleEuro,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faDiamondHalf: faDiamondHalf,\n faLockKeyhole: faLockKeyhole,\n faLockAlt: faLockAlt,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faSquareInfo: faSquareInfo,\n faInfoSquare: faInfoSquare,\n faWifiSlash: faWifiSlash,\n faToiletPaperXmark: faToiletPaperXmark,\n faHandsHoldingDollar: faHandsHoldingDollar,\n faHandsUsd: faHandsUsd,\n faCube: faCube,\n faArrowDownTriangleSquare: faArrowDownTriangleSquare,\n faSortShapesDown: faSortShapesDown,\n faBitcoinSign: faBitcoinSign,\n faShutters: faShutters,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faTableTree: faTableTree,\n faHouseChimneyHeart: faHouseChimneyHeart,\n faTally3: faTally3,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faCartCircleExclamation: faCartCircleExclamation,\n faSword: faSword,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faInterrobang: faInterrobang,\n faPlaneSlash: faPlaneSlash,\n faCircleDashed: faCircleDashed,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faForkKnife: faForkKnife,\n faUtensilsAlt: faUtensilsAlt,\n faSatelliteDish: faSatelliteDish,\n faBadgeCheck: faBadgeCheck,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faSlider: faSlider,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faClockOneThirty: faClockOneThirty,\n faInboxOut: faInboxOut,\n faInboxArrowUp: faInboxArrowUp,\n faCloudSlash: faCloudSlash,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faOctagonCheck: faOctagonCheck,\n faFlatbreadStuffed: faFlatbreadStuffed,\n faClipboardCheck: faClipboardCheck,\n faCartCirclePlus: faCartCirclePlus,\n faTruckClock: faTruckClock,\n faShippingTimed: faShippingTimed,\n faPool8Ball: faPool8Ball,\n faFileAudio: faFileAudio,\n faTurnDownLeft: faTurnDownLeft,\n faLockHashtag: faLockHashtag,\n faChartRadar: faChartRadar,\n faStaff: faStaff,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faUtilityPole: faUtilityPole,\n faTransporter6: faTransporter6,\n faWrench: faWrench,\n faBugs: faBugs,\n faVectorPolygon: faVectorPolygon,\n faDiagramNested: faDiagramNested,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faImageUser: faImageUser,\n faBuoy: faBuoy,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faBorderCenterH: faBorderCenterH,\n faCanFood: faCanFood,\n faTypewriter: faTypewriter,\n faArrowRightFromArc: faArrowRightFromArc,\n faCircleK: faCircleK,\n faFaceHandOverMouth: faFaceHandOverMouth,\n faPopcorn: faPopcorn,\n faHouseWater: faHouseWater,\n faHouseFlood: faHouseFlood,\n faObjectSubtract: faObjectSubtract,\n faCodeBranch: faCodeBranch,\n faWarehouseFull: faWarehouseFull,\n faWarehouseAlt: faWarehouseAlt,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faArrowDownFromDottedLine: faArrowDownFromDottedLine,\n faFileDoc: faFileDoc,\n faSquareQuarters: faSquareQuarters,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faTrashXmark: faTrashXmark,\n faCircleCaretLeft: faCircleCaretLeft,\n faCaretCircleLeft: faCaretCircleLeft,\n faFiles: faFiles,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faFaceClouds: faFaceClouds,\n faUserCrown: faUserCrown,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faCartCircleCheck: faCartCircleCheck,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faUserTieHairLong: faUserTieHairLong,\n faFileCircleMinus: faFileCircleMinus,\n faHeadSideMedical: faHeadSideMedical,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faUserRobot: faUserRobot,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faCardDiamond: faCardDiamond,\n faFaceZipper: faFaceZipper,\n faFaceRaisedEyebrow: faFaceRaisedEyebrow,\n faHouseSignal: faHouseSignal,\n faSquareChevronUp: faSquareChevronUp,\n faChevronSquareUp: faChevronSquareUp,\n faNfcSymbol: faNfcSymbol,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faArrowsToLine: faArrowsToLine,\n faDolphin: faDolphin,\n faArrowUpRight: faArrowUpRight,\n faCircleR: faCircleR,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faCircleSortUp: faCircleSortUp,\n faSortCircleUp: faSortCircleUp,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faChestnut: faChestnut,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faHeat: faHeat,\n faTicketAirline: faTicketAirline,\n faBootHeeled: faBootHeeled,\n faArrowsMinimize: faArrowsMinimize,\n faCompressArrows: faCompressArrows,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faHexagon: faHexagon,\n faManhole: faManhole,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFloppyDisks: faFloppyDisks,\n faToiletPaperBlankUnder: faToiletPaperBlankUnder,\n faToiletPaperReverseAlt: faToiletPaperReverseAlt,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faPump: faPump,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faArrowUpLeftFromCircle: faArrowUpLeftFromCircle,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faDryer: faDryer,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faChessBishopPiece: faChessBishopPiece,\n faChessBishopAlt: faChessBishopAlt,\n faShirtTankTop: faShirtTankTop,\n faDiploma: faDiploma,\n faScrollRibbon: faScrollRibbon,\n faScreencast: faScreencast,\n faWalker: faWalker,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faFaceKissClosedEyes: faFaceKissClosedEyes,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faFileUser: faFileUser,\n faUserPoliceTie: faUserPoliceTie,\n faFaceTongueMoney: faFaceTongueMoney,\n faTennisBall: faTennisBall,\n faSquareL: faSquareL,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCalendarArrowUp: faCalendarArrowUp,\n faCalendarUpload: faCalendarUpload,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faScarf: faScarf,\n faAlbumCirclePlus: faAlbumCirclePlus,\n faUserNurseHairLong: faUserNurseHairLong,\n faDiamond: faDiamond,\n faSquareLeft: faSquareLeft,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faCircleEllipsisVertical: faCircleEllipsisVertical,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faGridDividers: faGridDividers,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faFacePensive: faFacePensive,\n faUserMusic: faUserMusic,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faMessagesDollar: faMessagesDollar,\n faCommentsAltDollar: faCommentsAltDollar,\n faSensorOn: faSensorOn,\n faBalloon: faBalloon,\n faBiohazard: faBiohazard,\n faChessQueenPiece: faChessQueenPiece,\n faChessQueenAlt: faChessQueenAlt,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faHousePersonLeave: faHousePersonLeave,\n faHouseLeave: faHouseLeave,\n faHousePersonDepart: faHousePersonDepart,\n faRulerTriangle: faRulerTriangle,\n faCardClub: faCardClub,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faSpinnerThird: faSpinnerThird,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faComputerMouseScrollwheel: faComputerMouseScrollwheel,\n faMouseAlt: faMouseAlt,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faTableLayout: faTableLayout,\n faNarwhal: faNarwhal,\n faRampLoading: faRampLoading,\n faCalendarCirclePlus: faCalendarCirclePlus,\n faToothbrush: faToothbrush,\n faBorderInner: faBorderInner,\n faPawClaws: faPawClaws,\n faKiwiFruit: faKiwiFruit,\n faTrafficLightSlow: faTrafficLightSlow,\n faRectangleCode: faRectangleCode,\n faHeadSideVirus: faHeadSideVirus,\n faKeyboardBrightness: faKeyboardBrightness,\n faBooksMedical: faBooksMedical,\n faLightbulbSlash: faLightbulbSlash,\n faHouseBlank: faHouseBlank,\n faHomeBlank: faHomeBlank,\n faSquare5: faSquare5,\n faSquareHeart: faSquareHeart,\n faHeartSquare: faHeartSquare,\n faPuzzle: faPuzzle,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faPipeCircleCheck: faPipeCircleCheck,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faOctagonExclamation: faOctagonExclamation,\n faDialLow: faDialLow,\n faDoorClosed: faDoorClosed,\n faLaptopMobile: faLaptopMobile,\n faPhoneLaptop: faPhoneLaptop,\n faConveyorBeltBoxes: faConveyorBeltBoxes,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faShieldVirus: faShieldVirus,\n faStarfighterTwinIonEngineAdvanced: faStarfighterTwinIonEngineAdvanced,\n faStarfighterAltAdvanced: faStarfighterAltAdvanced,\n faDiceSix: faDiceSix,\n faStarfighterTwinIonEngine: faStarfighterTwinIonEngine,\n faStarfighterAlt: faStarfighterAlt,\n faRocketLaunch: faRocketLaunch,\n faMosquitoNet: faMosquitoNet,\n faVentDamper: faVentDamper,\n faBridgeWater: faBridgeWater,\n faBanBug: faBanBug,\n faDebug: faDebug,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faGarageCar: faGarageCar,\n faSquareKanban: faSquareKanban,\n faHatWizard: faHatWizard,\n faPenFancy: faPenFancy,\n faCoffeePot: faCoffeePot,\n faMouseField: faMouseField,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faShowerDown: faShowerDown,\n faShowerAlt: faShowerAlt,\n faBoxCircleCheck: faBoxCircleCheck,\n faBrightness: faBrightness,\n faCarSideBolt: faCarSideBolt,\n faOrnament: faOrnament,\n faPhoneArrowDownLeft: faPhoneArrowDownLeft,\n faPhoneArrowDown: faPhoneArrowDown,\n faPhoneIncoming: faPhoneIncoming,\n faCloudWord: faCloudWord,\n faHandFingersCrossed: faHandFingersCrossed,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faArrowDownSmallBig: faArrowDownSmallBig,\n faSortSizeDownAlt: faSortSizeDownAlt,\n faBookMedical: faBookMedical,\n faFaceMelting: faFaceMelting,\n faPoo: faPoo,\n faPenClipSlash: faPenClipSlash,\n faPenAltSlash: faPenAltSlash,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faScrollOld: faScrollOld,\n faGuitars: faGuitars,\n faPhoneXmark: faPhoneXmark,\n faHose: faHose,\n faClockSix: faClockSix,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faBillboard: faBillboard,\n faSquareR: faSquareR,\n faCubes: faCubes,\n faEnvelopeOpenDollar: faEnvelopeOpenDollar,\n faDivide: faDivide,\n faSunCloud: faSunCloud,\n faLampFloor: faLampFloor,\n faSquare7: faSquare7,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faCampfire: faCampfire,\n faCircleAmpersand: faCircleAmpersand,\n faSnowflakes: faSnowflakes,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faLeafMaple: faLeafMaple,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faCupStrawSwoosh: faCupStrawSwoosh,\n faTemperatureSun: faTemperatureSun,\n faTemperatureHot: faTemperatureHot,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faHighDefinition: faHighDefinition,\n faRectangleHd: faRectangleHd,\n faJ: faJ,\n faGalaxy: faGalaxy,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faCherries: faCherries,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faCircleSort: faCircleSort,\n faSortCircle: faSortCircle,\n faTableCells: faTableCells,\n faTh: faTh,\n faFilePdf: faFilePdf,\n faSiren: faSiren,\n faArrowUpToDottedLine: faArrowUpToDottedLine,\n faImageLandscape: faImageLandscape,\n faLandscape: faLandscape,\n faTankWater: faTankWater,\n faCurlingStone: faCurlingStone,\n faCurling: faCurling,\n faGamepadModern: faGamepadModern,\n faGamepadAlt: faGamepadAlt,\n faMessagesQuestion: faMessagesQuestion,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faBriefcaseArrowRight: faBriefcaseArrowRight,\n faExpandWide: faExpandWide,\n faClockElevenThirty: faClockElevenThirty,\n faRv: faRv,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faDreidel: faDreidel,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faFlowerTulip: faFlowerTulip,\n faPeoplePantsSimple: faPeoplePantsSimple,\n faCloudDrizzle: faCloudDrizzle,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faSolarSystem: faSolarSystem,\n faSealQuestion: faSealQuestion,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faDiscDrive: faDiscDrive,\n faHatCowboySide: faHatCowboySide,\n faTableRows: faTableRows,\n faRows: faRows,\n faLocationExclamation: faLocationExclamation,\n faMapMarkerExclamation: faMapMarkerExclamation,\n faFaceFearful: faFaceFearful,\n faClipboardUser: faClipboardUser,\n faBusSchool: faBusSchool,\n faFilmSlash: faFilmSlash,\n faSquareArrowDownRight: faSquareArrowDownRight,\n faBookSparkles: faBookSparkles,\n faBookSpells: faBookSpells,\n faWashingMachine: faWashingMachine,\n faWasher: faWasher,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faUserVisor: faUserVisor,\n faFilePlusMinus: faFilePlusMinus,\n faChessClockFlip: faChessClockFlip,\n faChessClockAlt: faChessClockAlt,\n faSatellite: faSatellite,\n faPlaneLock: faPlaneLock,\n faSteeringWheel: faSteeringWheel,\n faTag: faTag,\n faStretcher: faStretcher,\n faBookSection: faBookSection,\n faBookLaw: faBookLaw,\n faInboxes: faInboxes,\n faCoffeeBean: faCoffeeBean,\n faCircleYen: faCircleYen,\n faBracketsCurly: faBracketsCurly,\n faEllipsisStrokeVertical: faEllipsisStrokeVertical,\n faEllipsisVAlt: faEllipsisVAlt,\n faComment: faComment,\n faSquare1: faSquare1,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faHeadSide: faHeadSide,\n faEnvelope: faEnvelope,\n faDollyEmpty: faDollyEmpty,\n faFaceTissue: faFaceTissue,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faBinRecycle: faBinRecycle,\n faPaperclip: faPaperclip,\n faChartLineDown: faChartLineDown,\n faArrowRightToCity: faArrowRightToCity,\n faLockA: faLockA,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faPersonPinball: faPersonPinball,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faAppleCore: faAppleCore,\n faCircleY: faCircleY,\n faH6: faH6,\n faLitecoinSign: faLitecoinSign,\n faCircleSmall: faCircleSmall,\n faBorderNone: faBorderNone,\n faArrowTurnDownLeft: faArrowTurnDownLeft,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faMessageMedical: faMessageMedical,\n faCommentAltMedical: faCommentAltMedical,\n faRugbyBall: faRugbyBall,\n faCommentMusic: faCommentMusic,\n faIndent: faIndent,\n faTreeDeciduous: faTreeDeciduous,\n faTreeAlt: faTreeAlt,\n faPuzzlePieceSimple: faPuzzlePieceSimple,\n faPuzzlePieceAlt: faPuzzlePieceAlt,\n faTruckFieldUn: faTruckFieldUn,\n faNfcTrash: faNfcTrash,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faFileXmark: faFileXmark,\n faFileTimes: faFileTimes,\n faHouseHeart: faHouseHeart,\n faHomeHeart: faHomeHeart,\n faHouseChimneyBlank: faHouseChimneyBlank,\n faMeterBolt: faMeterBolt,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faSlashBack: faSlashBack,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faFishingRod: faFishingRod,\n faHammerCrash: faHammerCrash,\n faMessageHeart: faMessageHeart,\n faCloudMeatball: faCloudMeatball,\n faCameraPolaroid: faCameraPolaroid,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faCartArrowUp: faCartArrowUp,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faBuoyMooring: faBuoyMooring,\n faSquare4: faSquare4,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faTricycleAdult: faTricycleAdult,\n faWaveform: faWaveform,\n faWater: faWater,\n faStarSharpHalfStroke: faStarSharpHalfStroke,\n faStarSharpHalfAlt: faStarSharpHalfAlt,\n faNfcSignal: faNfcSignal,\n faPlaneProp: faPlaneProp,\n faCalendarCheck: faCalendarCheck,\n faClockDesk: faClockDesk,\n faCalendarClock: faCalendarClock,\n faCalendarTime: faCalendarTime,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPlateUtensils: faPlateUtensils,\n faFamilyPants: faFamilyPants,\n faHoseReel: faHoseReel,\n faHouseWindow: faHouseWindow,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faCrosshairs: faCrosshairs,\n faCloudRainbow: faCloudRainbow,\n faPersonCane: faPersonCane,\n faAlien: faAlien,\n faTent: faTent,\n faLaptopBinary: faLaptopBinary,\n faVestPatches: faVestPatches,\n faPeopleDressSimple: faPeopleDressSimple,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faBowlingBallPin: faBowlingBallPin,\n faBellSchoolSlash: faBellSchoolSlash,\n faPlusLarge: faPlusLarge,\n faMoneyBillWheat: faMoneyBillWheat,\n faCameraViewfinder: faCameraViewfinder,\n faScreenshot: faScreenshot,\n faMessageMusic: faMessageMusic,\n faCommentAltMusic: faCommentAltMusic,\n faCarBuilding: faCarBuilding,\n faBorderBottomRight: faBorderBottomRight,\n faBorderStyleAlt: faBorderStyleAlt,\n faOctagon: faOctagon,\n faCommentArrowUpRight: faCommentArrowUpRight,\n faOctagonDivide: faOctagonDivide,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faTvMusic: faTvMusic,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faReel: faReel,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faAlarmExclamation: faAlarmExclamation,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faTrafficCone: faTrafficCone,\n faGrate: faGrate,\n faArrowDownRight: faArrowDownRight,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPersonFromPortal: faPersonFromPortal,\n faPortalExit: faPortalExit,\n faPlaneArrival: faPlaneArrival,\n faCowbellCirclePlus: faCowbellCirclePlus,\n faCowbellMore: faCowbellMore,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faDistributeSpacingVertical: faDistributeSpacingVertical,\n faSignalBarsFair: faSignalBarsFair,\n faSignalAlt2: faSignalAlt2,\n faSportsball: faSportsball,\n faGameConsoleHandheldCrank: faGameConsoleHandheldCrank,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faFaceSmileUpsideDown: faFaceSmileUpsideDown,\n faBallPile: faBallPile,\n faBadgeDollar: faBadgeDollar,\n faMoneyBillsSimple: faMoneyBillsSimple,\n faMoneyBillsAlt: faMoneyBillsAlt,\n faListTimeline: faListTimeline,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faKeyboardDown: faKeyboardDown,\n faCircleUpRight: faCircleUpRight,\n faCloudBoltMoon: faCloudBoltMoon,\n faThunderstormMoon: faThunderstormMoon,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faBracketRoundRight: faBracketRoundRight,\n faCircleSterling: faCircleSterling,\n faCircle5: faCircle5,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faFireFlame: faFireFlame,\n faFlame: faFlame,\n faRightToLine: faRightToLine,\n faArrowAltToRight: faArrowAltToRight,\n faGif: faGif,\n faChess: faChess,\n faTrashSlash: faTrashSlash,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faFontCase: faFontCase,\n faStreetView: faStreetView,\n faArrowDownLeft: faArrowDownLeft,\n faFrancSign: faFrancSign,\n faFlaskRoundPoison: faFlaskRoundPoison,\n faFlaskPoison: faFlaskPoison,\n faVolumeOff: faVolumeOff,\n faBookCircleArrowRight: faBookCircleArrowRight,\n faChartUser: faChartUser,\n faUserChart: faUserChart,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faPresentationScreen: faPresentationScreen,\n faPresentation: faPresentation,\n faCircleBolt: faCircleBolt,\n faFaceSmileHalo: faFaceSmileHalo,\n faCartCircleArrowDown: faCartCircleArrowDown,\n faHousePersonReturn: faHousePersonReturn,\n faHousePersonArrive: faHousePersonArrive,\n faHouseReturn: faHouseReturn,\n faMessageXmark: faMessageXmark,\n faCommentAltTimes: faCommentAltTimes,\n faMessageTimes: faMessageTimes,\n faFileCertificate: faFileCertificate,\n faFileAward: faFileAward,\n faUserDoctorHairLong: faUserDoctorHairLong,\n faCameraSecurity: faCameraSecurity,\n faCameraHome: faCameraHome,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faBookHeart: faBookHeart,\n faMosque: faMosque,\n faDuck: faDuck,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faFlagSwallowtail: faFlagSwallowtail,\n faFlagAlt: faFlagAlt,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCarGarage: faCarGarage,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faBookFont: faBookFont,\n faShieldPlus: faShieldPlus,\n faVials: faVials,\n faEyeDropperFull: faEyeDropperFull,\n faDistributeSpacingHorizontal: faDistributeSpacingHorizontal,\n faTabletRugged: faTabletRugged,\n faTemperatureSnow: faTemperatureSnow,\n faTemperatureFrigid: faTemperatureFrigid,\n faMoped: faMoped,\n faFaceSmilePlus: faFaceSmilePlus,\n faSmilePlus: faSmilePlus,\n faRadioTuner: faRadioTuner,\n faRadioAlt: faRadioAlt,\n faFaceSwear: faFaceSwear,\n faWaterArrowDown: faWaterArrowDown,\n faWaterLower: faWaterLower,\n faScannerTouchscreen: faScannerTouchscreen,\n faCircle7: faCircle7,\n faPlugCirclePlus: faPlugCirclePlus,\n faPersonSkiJumping: faPersonSkiJumping,\n faSkiJump: faSkiJump,\n faPlaceOfWorship: faPlaceOfWorship,\n faWaterArrowUp: faWaterArrowUp,\n faWaterRise: faWaterRise,\n faWaveformLines: faWaveformLines,\n faWaveformPath: faWaveformPath,\n faSplit: faSplit,\n faFilmCanister: faFilmCanister,\n faFilmCannister: faFilmCannister,\n faFolderXmark: faFolderXmark,\n faFolderTimes: faFolderTimes,\n faToiletPaperBlank: faToiletPaperBlank,\n faToiletPaperAlt: faToiletPaperAlt,\n faTabletScreen: faTabletScreen,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faHexagonVerticalNftSlanted: faHexagonVerticalNftSlanted,\n faFolderMusic: faFolderMusic,\n faDisplayMedical: faDisplayMedical,\n faDesktopMedical: faDesktopMedical,\n faShareAll: faShareAll,\n faPeapod: faPeapod,\n faChessClock: faChessClock,\n faAxe: faAxe,\n faSquareD: faSquareD,\n faGripVertical: faGripVertical,\n faMobileSignalOut: faMobileSignalOut,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faArrowUpFromDottedLine: faArrowUpFromDottedLine,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faLightSwitchOn: faLightSwitchOn,\n faArrowDownArrowUp: faArrowDownArrowUp,\n faSortAlt: faSortAlt,\n faRaindrops: faRaindrops,\n faDash: faDash,\n faMinusLarge: faMinusLarge,\n faClock: faClock,\n faClockFour: faClockFour,\n faInputNumeric: faInputNumeric,\n faTruckTow: faTruckTow,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faCarBolt: faCarBolt,\n faArrowsMaximize: faArrowsMaximize,\n faExpandArrows: faExpandArrows,\n faFaucet: faFaucet,\n faCloudSleet: faCloudSleet,\n faLampStreet: faLampStreet,\n faListRadio: faListRadio,\n faPenNibSlash: faPenNibSlash,\n faBaseballBatBall: faBaseballBatBall,\n faSquareUpLeft: faSquareUpLeft,\n faOverline: faOverline,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faArrowsFromDottedLine: faArrowsFromDottedLine,\n faUsbDrive: faUsbDrive,\n faBallot: faBallot,\n faCaretDown: faCaretDown,\n faLocationDotSlash: faLocationDotSlash,\n faMapMarkerAltSlash: faMapMarkerAltSlash,\n faCards: faCards,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faBoxingGlove: faBoxingGlove,\n faGloveBoxing: faGloveBoxing,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faBellSchool: faBellSchool,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faFolderHeart: faFolderHeart,\n faCircleLocationArrow: faCircleLocationArrow,\n faLocationCircle: faLocationCircle,\n faFaceHeadBandage: faFaceHeadBandage,\n faSushiRoll: faSushiRoll,\n faMakiRoll: faMakiRoll,\n faMakizushi: faMakizushi,\n faCarBump: faCarBump,\n faPiggyBank: faPiggyBank,\n faRacquet: faRacquet,\n faCarMirrors: faCarMirrors,\n faIndustryWindows: faIndustryWindows,\n faIndustryAlt: faIndustryAlt,\n faBoltAuto: faBoltAuto,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faFluxCapacitor: faFluxCapacitor,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faHoneyPot: faHoneyPot,\n faOlive: faOlive,\n faKhanda: faKhanda,\n faFilterList: faFilterList,\n faOutlet: faOutlet,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faCauldron: faCauldron,\n faPeople: faPeople,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faCroissant: faCroissant,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faSwordsLaser: faSwordsLaser,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faSquareU: faSquareU,\n faWandSparkles: faWandSparkles,\n faRouter: faRouter,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faSwordLaserAlt: faSwordLaserAlt,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faCoin: faCoin,\n faLaptopSlash: faLaptopSlash,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faCircleB: faCircleB,\n faPersonDressSimple: faPersonDressSimple,\n faPipeCollar: faPipeCollar,\n faLightsHoliday: faLightsHoliday,\n faCitrus: faCitrus,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faChartTreeMap: faChartTreeMap,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faClockFiveThirty: faClockFiveThirty,\n faPipeValve: faPipeValve,\n faArrowUpFromArc: faArrowUpFromArc,\n faFaceSpiralEyes: faFaceSpiralEyes,\n faCompressWide: faCompressWide,\n faCirclePhoneHangup: faCirclePhoneHangup,\n faPhoneCircleDown: faPhoneCircleDown,\n faGearComplexCode: faGearComplexCode,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faBadminton: faBadminton,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faRightFromLine: faRightFromLine,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faShuttlecock: faShuttlecock,\n faUserHair: faUserHair,\n faEyeEvil: faEyeEvil,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faGarage: faGarage,\n faCableCar: faCableCar,\n faTram: faTram,\n faShovelSnow: faShovelSnow,\n faCloudRain: faCloudRain,\n faFaceLying: faFaceLying,\n faSprinkler: faSprinkler,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faPersonSledding: faPersonSledding,\n faSledding: faSledding,\n faGameConsoleHandheld: faGameConsoleHandheld,\n faShip: faShip,\n faClockSixThirty: faClockSixThirty,\n faBatterySlash: faBatterySlash,\n faTugrikSign: faTugrikSign,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faShelves: faShelves,\n faInventory: faInventory,\n faCloudSnow: faCloudSnow,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faOven: faOven,\n faCloudBinary: faCloudBinary,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faCommentCaptions: faCommentCaptions,\n faCommentsQuestion: faCommentsQuestion,\n faScribble: faScribble,\n faRotateExclamation: faRotateExclamation,\n faFileCircleCheck: faFileCircleCheck,\n faGlass: faGlass,\n faLoader: faLoader,\n faForward: faForward,\n faUserPilot: faUserPilot,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faCodePullRequestClosed: faCodePullRequestClosed,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faFaceDotted: faFaceDotted,\n faFaceWorried: faFaceWorried,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faVectorCircle: faVectorCircle,\n faCarCircleBolt: faCarCircleBolt,\n faCalendarWeek: faCalendarWeek,\n faFlyingDisc: faFlyingDisc,\n faLaptopMedical: faLaptopMedical,\n faSquareDownRight: faSquareDownRight,\n faB: faB,\n faSeatAirline: faSeatAirline,\n faMoonOverSun: faMoonOverSun,\n faEclipseAlt: faEclipseAlt,\n faPipe: faPipe,\n faFileMedical: faFileMedical,\n faPotato: faPotato,\n faDiceOne: faDiceOne,\n faCircleA: faCircleA,\n faHelmetBattle: faHelmetBattle,\n faButter: faButter,\n faBlanketFire: faBlanketFire,\n faKiwiBird: faKiwiBird,\n faCastle: faCastle,\n faGolfClub: faGolfClub,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faChartPieSimpleCircleDollar: faChartPieSimpleCircleDollar,\n faBalloons: faBalloons,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faTimelineArrow: faTimelineArrow,\n faSkull: faSkull,\n faGameBoardSimple: faGameBoardSimple,\n faGameBoardAlt: faGameBoardAlt,\n faCircleVideo: faCircleVideo,\n faVideoCircle: faVideoCircle,\n faChartScatterBubble: faChartScatterBubble,\n faHouseTurret: faHouseTurret,\n faBanana: faBanana,\n faHandHoldingSkull: faHandHoldingSkull,\n faPeopleDress: faPeopleDress,\n faLoveseat: faLoveseat,\n faCouchSmall: faCouchSmall,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faBlockQuote: faBlockQuote,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faMoneyCheckDollarPen: faMoneyCheckDollarPen,\n faMoneyCheckEditAlt: faMoneyCheckEditAlt,\n faUpFromLine: faUpFromLine,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faGridRound2Plus: faGridRound2Plus,\n faPeoplePants: faPeoplePants,\n faMound: faMound,\n faWindsock: faWindsock,\n faCircleHalf: faCircleHalf,\n faBrakeWarning: faBrakeWarning,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faSaxophoneFire: faSaxophoneFire,\n faSaxHot: faSaxHot,\n faCameraWebSlash: faCameraWebSlash,\n faWebcamSlash: faWebcamSlash,\n faFolderMedical: faFolderMedical,\n faFolderGear: faFolderGear,\n faFolderCog: faFolderCog,\n faHandWave: faHandWave,\n faArrowUpArrowDown: faArrowUpArrowDown,\n faSortUpDown: faSortUpDown,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faMessageSlash: faMessageSlash,\n faCommentAltSlash: faCommentAltSlash,\n faBolt: faBolt,\n faZap: faZap,\n faTrashCanCheck: faTrashCanCheck,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faPersonSimple: faPersonSimple,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faGearCode: faGearCode,\n faNotes: faNotes,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faTrashUndo: faTrashUndo,\n faTrashArrowTurnLeft: faTrashArrowTurnLeft,\n faChampagneGlass: faChampagneGlass,\n faGlassChampagne: faGlassChampagne,\n faObjectsAlignCenterHorizontal: faObjectsAlignCenterHorizontal,\n faSun: faSun,\n faTrashCanSlash: faTrashCanSlash,\n faTrashAltSlash: faTrashAltSlash,\n faScreenUsers: faScreenUsers,\n faUsersClass: faUsersClass,\n faGuitar: faGuitar,\n faSquareArrowLeft: faSquareArrowLeft,\n faArrowSquareLeft: faArrowSquareLeft,\n faSquare8: faSquare8,\n faFaceSmileHearts: faFaceSmileHearts,\n faBracketsSquare: faBracketsSquare,\n faBrackets: faBrackets,\n faLaptopArrowDown: faLaptopArrowDown,\n faHockeyStickPuck: faHockeyStickPuck,\n faHouseTree: faHouseTree,\n faSignalFair: faSignalFair,\n faSignal2: faSignal2,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDollar: faCircleDollar,\n faDollarCircle: faDollarCircle,\n faUsdCircle: faUsdCircle,\n faHorseHead: faHorseHead,\n faArrowsRepeat: faArrowsRepeat,\n faRepeatAlt: faRepeatAlt,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faImagePolaroid: faImagePolaroid,\n faWaveTriangle: faWaveTriangle,\n faPersonRunningFast: faPersonRunningFast,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faGrill: faGrill,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faChartMixed: faChartMixed,\n faAnalytics: faAnalytics,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faDisplayCode: faDisplayCode,\n faDesktopCode: faDesktopCode,\n faFaceDrooling: faFaceDrooling,\n faOilTemperature: faOilTemperature,\n faOilTemp: faOilTemp,\n faSquareQuestion: faSquareQuestion,\n faQuestionSquare: faQuestionSquare,\n faAirConditioner: faAirConditioner,\n faAngleDown: faAngleDown,\n faMountains: faMountains,\n faOmega: faOmega,\n faCarTunnel: faCarTunnel,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPanFood: faPanFood,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faTicketsAirline: faTicketsAirline,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faNfcSlash: faNfcSlash,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faGrid2Plus: faGrid2Plus,\n faBells: faBells,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faEnvelopeDot: faEnvelopeDot,\n faEnvelopeBadge: faEnvelopeBadge,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faBowlChopsticks: faBowlChopsticks,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCircleS: faCircleS,\n faBoxBallot: faBoxBallot,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faUserTieHair: faUserTieHair,\n faPodiumStar: faPodiumStar,\n faUserHairMullet: faUserHairMullet,\n faBusinessFront: faBusinessFront,\n faPartyBack: faPartyBack,\n faTrianBalbot: faTrianBalbot,\n faMicrophoneStand: faMicrophoneStand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faFamilyDress: faFamilyDress,\n faCircleX: faCircleX,\n faCabin: faCabin,\n faMountainSun: faMountainSun,\n faChartSimpleHorizontal: faChartSimpleHorizontal,\n faBluetooth: faBluetooth,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faHandBackPointLeft: faHandBackPointLeft,\n faMessageDots: faMessageDots,\n faCommentAltDots: faCommentAltDots,\n faMessaging: faMessaging,\n faFileHeart: faFileHeart,\n faBeerMug: faBeerMug,\n faBeerFoam: faBeerFoam,\n faDiceD20: faDiceD20,\n faDrone: faDrone,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faBed: faBed,\n faBookCopy: faBookCopy,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faSquareC: faSquareC,\n faClockTwo: faClockTwo,\n faSquareEllipsisVertical: faSquareEllipsisVertical,\n faCalendarUsers: faCalendarUsers,\n faPodcast: faPodcast,\n faBee: faBee,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faCandyBar: faCandyBar,\n faChocolateBar: faChocolateBar,\n faXmarkLarge: faXmarkLarge,\n faPinata: faPinata,\n faArrowsFromLine: faArrowsFromLine,\n faSuperscript: faSuperscript,\n faBowlSpoon: faBowlSpoon,\n faHexagonCheck: faHexagonCheck,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faTrafficLightStop: faTrafficLightStop,\n faPaintRoller: faPaintRoller,\n faAccentGrave: faAccentGrave,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faCircle0: faCircle0,\n faDialMedLow: faDialMedLow,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faCrab: faCrab,\n faBoxOpenFull: faBoxOpenFull,\n faBoxFull: faBoxFull,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faQuotes: faQuotes,\n faPretzel: faPretzel,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faUserRobotXmarks: faUserRobotXmarks,\n faMessageQuote: faMessageQuote,\n faCommentAltQuote: faCommentAltQuote,\n faCandyCorn: faCandyCorn,\n faFolderMagnifyingGlass: faFolderMagnifyingGlass,\n faFolderSearch: faFolderSearch,\n faNotebook: faNotebook,\n faDroplet: faDroplet,\n faTint: faTint,\n faBullseyePointer: faBullseyePointer,\n faEraser: faEraser,\n faHexagonImage: faHexagonImage,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faCrateApple: faCrateApple,\n faAppleCrate: faAppleCrate,\n faPersonBurst: faPersonBurst,\n faGameBoard: faGameBoard,\n faHatChef: faHatChef,\n faHandBackPointRight: faHandBackPointRight,\n faDove: faDove,\n faSnowflakeDroplets: faSnowflakeDroplets,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faGrid4: faGrid4,\n faSocks: faSocks,\n faFaceSunglasses: faFaceSunglasses,\n faInbox: faInbox,\n faSquare0: faSquare0,\n faSection: faSection,\n faSquareThisWayUp: faSquareThisWayUp,\n faBoxUp: faBoxUp,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faSquareAmpersand: faSquareAmpersand,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faLampDesk: faLampDesk,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faPollPeople: faPollPeople,\n faWhiskeyGlassIce: faWhiskeyGlassIce,\n faGlassWhiskeyRocks: faGlassWhiskeyRocks,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faUserBountyHunter: faUserBountyHunter,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDiagramSankey: faDiagramSankey,\n faCloudHailMixed: faCloudHailMixed,\n faCircleUpLeft: faCircleUpLeft,\n faDharmachakra: faDharmachakra,\n faObjectsAlignLeft: faObjectsAlignLeft,\n faOilCanDrip: faOilCanDrip,\n faFaceSmilingHands: faFaceSmilingHands,\n faBroccoli: faBroccoli,\n faRouteInterstate: faRouteInterstate,\n faEarMuffs: faEarMuffs,\n faHotdog: faHotdog,\n faTransporterEmpty: faTransporterEmpty,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faAngle90: faAngle90,\n faRectangleTerminal: faRectangleTerminal,\n faKite: faKite,\n faDrum: faDrum,\n faScrubber: faScrubber,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFishBones: faFishBones,\n faDeerRudolph: faDeerRudolph,\n faFax: faFax,\n faParagraph: faParagraph,\n faHeadSideHeart: faHeadSideHeart,\n faSquareE: faSquareE,\n faMeterFire: faMeterFire,\n faCloudHail: faCloudHail,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faMoneyFromBracket: faMoneyFromBracket,\n faStarHalf: faStarHalf,\n faCarBus: faCarBus,\n faSpeaker: faSpeaker,\n faTimer: faTimer,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faGrillHot: faGrillHot,\n faBallotCheck: faBallotCheck,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faFileMinus: faFileMinus,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faCupTogo: faCupTogo,\n faCoffeeTogo: faCoffeeTogo,\n faSquareDownLeft: faSquareDownLeft,\n faBurgerLettuce: faBurgerLettuce,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faChevronsDown: faChevronsDown,\n faChevronDoubleDown: faChevronDoubleDown,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faSignalGood: faSignalGood,\n faSignal3: faSignal3,\n faLocationQuestion: faLocationQuestion,\n faMapMarkerQuestion: faMapMarkerQuestion,\n faFloppyDiskCircleXmark: faFloppyDiskCircleXmark,\n faFloppyDiskTimes: faFloppyDiskTimes,\n faSaveCircleXmark: faSaveCircleXmark,\n faSaveTimes: faSaveTimes,\n faNairaSign: faNairaSign,\n faPeach: faPeach,\n faTaxiBus: faTaxiBus,\n faBracketCurly: faBracketCurly,\n faBracketCurlyLeft: faBracketCurlyLeft,\n faLobster: faLobster,\n faCartFlatbedEmpty: faCartFlatbedEmpty,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faColon: faColon,\n faCartArrowDown: faCartArrowDown,\n faWand: faWand,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faTablePicnic: faTablePicnic,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faCircleMicrophoneLines: faCircleMicrophoneLines,\n faMicrophoneCircleAlt: faMicrophoneCircleAlt,\n faDisplaySlash: faDisplaySlash,\n faDesktopSlash: faDesktopSlash,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faTransporter2: faTransporter2,\n faHandsHoldingDiamond: faHandsHoldingDiamond,\n faHandReceiving: faHandReceiving,\n faMoneyBillSimpleWave: faMoneyBillSimpleWave,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faBellPlus: faBellPlus,\n faBookArrowRight: faBookArrowRight,\n faHospitals: faHospitals,\n faClub: faClub,\n faSkullCrossbones: faSkullCrossbones,\n faDropletDegree: faDropletDegree,\n faDewpoint: faDewpoint,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faHandHoldingMagic: faHandHoldingMagic,\n faWatermelonSlice: faWatermelonSlice,\n faCircleEllipsis: faCircleEllipsis,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faSdCards: faSdCards,\n faJugBottle: faJugBottle,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faEnvelopes: faEnvelopes,\n faPhoneOffice: faPhoneOffice,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faNfcPen: faNfcPen,\n faPersonHarassing: faPersonHarassing,\n faHatWinter: faHatWinter,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faBoneBreak: faBoneBreak,\n faArrowUp: faArrowUp,\n faDownFromDottedLine: faDownFromDottedLine,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faBorderLeft: faBorderLeft,\n faCircleDivide: faCircleDivide,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faDiagramSubtask: faDiagramSubtask,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faSquareY: faSquareY,\n faUserDoctorHair: faUserDoctorHair,\n faPlanetRinged: faPlanetRinged,\n faMushroom: faMushroom,\n faUserShield: faUserShield,\n faMegaphone: faMegaphone,\n faWreathLaurel: faWreathLaurel,\n faCircleExclamationCheck: faCircleExclamationCheck,\n faWind: faWind,\n faBoxDollar: faBoxDollar,\n faBoxUsd: faBoxUsd,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faUserHeadset: faUserHeadset,\n faArrowsRetweet: faArrowsRetweet,\n faRetweetAlt: faRetweetAlt,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faSquareChevronRight: faSquareChevronRight,\n faChevronSquareRight: faChevronSquareRight,\n faLacrosseStickBall: faLacrosseStickBall,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faUserMagnifyingGlass: faUserMagnifyingGlass,\n faStarSharp: faStarSharp,\n faCommentHeart: faCommentHeart,\n faCircle1: faCircle1,\n faCircleStar: faCircleStar,\n faStarCircle: faStarCircle,\n faFish: faFish,\n faCloudFog: faCloudFog,\n faFog: faFog,\n faWaffle: faWaffle,\n faMusicNote: faMusicNote,\n faMusicAlt: faMusicAlt,\n faHexagonExclamation: faHexagonExclamation,\n faCartShoppingFast: faCartShoppingFast,\n faObjectUnion: faObjectUnion,\n faUserGraduate: faUserGraduate,\n faStarfighter: faStarfighter,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faArrowRightLongToLine: faArrowRightLongToLine,\n faSquareArrowDown: faSquareArrowDown,\n faArrowSquareDown: faArrowSquareDown,\n faDiamondHalfStroke: faDiamondHalfStroke,\n faClapperboard: faClapperboard,\n faSquareChevronLeft: faSquareChevronLeft,\n faChevronSquareLeft: faChevronSquareLeft,\n faPhoneIntercom: faPhoneIntercom,\n faLinkHorizontal: faLinkHorizontal,\n faChainHorizontal: faChainHorizontal,\n faMango: faMango,\n faMusicNoteSlash: faMusicNoteSlash,\n faMusicAltSlash: faMusicAltSlash,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faFaceTongueSweat: faFaceTongueSweat,\n faGlobeStand: faGlobeStand,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faCircleP: faCircleP,\n faAwardSimple: faAwardSimple,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faPedestal: faPedestal,\n faChartPyramid: faChartPyramid,\n faSidebar: faSidebar,\n faSnowmanHead: faSnowmanHead,\n faFrostyHead: faFrostyHead,\n faCopy: faCopy,\n faBurgerGlass: faBurgerGlass,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faBarsFilter: faBarsFilter,\n faPaintbrushPencil: faPaintbrushPencil,\n faPartyBell: faPartyBell,\n faUserVneckHair: faUserVneckHair,\n faJackOLantern: faJackOLantern,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faKeynote: faKeynote,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faHatBeach: faHatBeach,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faFort: faFort,\n faCloudCheck: faCloudCheck,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faFaceSmirking: faFaceSmirking,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faRhombus: faRhombus,\n faClawMarks: faClawMarks,\n faPesoSign: faPesoSign,\n faFaceSmileTongue: faFaceSmileTongue,\n faCartCircleXmark: faCartCircleXmark,\n faBuildingShield: faBuildingShield,\n faCirclePhoneFlip: faCirclePhoneFlip,\n faPhoneCircleAlt: faPhoneCircleAlt,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faKeySkeleton: faKeySkeleton,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faArrowDownToBracket: faArrowDownToBracket,\n faLinesLeaning: faLinesLeaning,\n faSquareQ: faSquareQ,\n faRulerCombined: faRulerCombined,\n faSymbols: faSymbols,\n faIconsAlt: faIconsAlt,\n faCopyright: faCopyright,\n faFlaskGear: faFlaskGear,\n faHighlighterLine: faHighlighterLine,\n faBracketSquare: faBracketSquare,\n faBracket: faBracket,\n faBracketLeft: faBracketLeft,\n faIslandTropical: faIslandTropical,\n faIslandTreePalm: faIslandTreePalm,\n faArrowRightFromLine: faArrowRightFromLine,\n faArrowFromLeft: faArrowFromLeft,\n faH2: faH2,\n faEquals: faEquals,\n faCakeSlice: faCakeSlice,\n faShortcake: faShortcake,\n faPeanut: faPeanut,\n faWrenchSimple: faWrenchSimple,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faTally2: faTally2,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faCars: faCars,\n faAxeBattle: faAxeBattle,\n faUserHairLong: faUserHairLong,\n faMap: faMap,\n faFileCircleInfo: faFileCircleInfo,\n faFaceDisappointed: faFaceDisappointed,\n faLassoSparkles: faLassoSparkles,\n faClockEleven: faClockEleven,\n faRocket: faRocket,\n faSirenOn: faSirenOn,\n faClockTen: faClockTen,\n faCandleHolder: faCandleHolder,\n faVideoArrowDownLeft: faVideoArrowDownLeft,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFloppyDiskCircleArrowRight: faFloppyDiskCircleArrowRight,\n faSaveCircleArrowRight: faSaveCircleArrowRight,\n faFolderMinus: faFolderMinus,\n faPlanetMoon: faPlanetMoon,\n faFaceEyesXmarks: faFaceEyesXmarks,\n faChartScatter: faChartScatter,\n faDisplayArrowDown: faDisplayArrowDown,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faOliveBranch: faOliveBranch,\n faAngle: faAngle,\n faVacuumRobot: faVacuumRobot,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faSquareDivide: faSquareDivide,\n faSignalStreamSlash: faSignalStreamSlash,\n faBezierCurve: faBezierCurve,\n faEyeDropperHalf: faEyeDropperHalf,\n faStoreLock: faStoreLock,\n faBellSlash: faBellSlash,\n faCloudBoltSun: faCloudBoltSun,\n faThunderstormSun: faThunderstormSun,\n faCameraSlash: faCameraSlash,\n faCommentQuote: faCommentQuote,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faMessageCode: faMessageCode,\n faGlassHalf: faGlassHalf,\n faGlassHalfEmpty: faGlassHalfEmpty,\n faGlassHalfFull: faGlassHalfFull,\n faFill: faFill,\n faMessageMinus: faMessageMinus,\n faCommentAltMinus: faCommentAltMinus,\n faAngleUp: faAngleUp,\n faDinosaur: faDinosaur,\n faDrumstickBite: faDrumstickBite,\n faLinkHorizontalSlash: faLinkHorizontalSlash,\n faChainHorizontalSlash: faChainHorizontalSlash,\n faHollyBerry: faHollyBerry,\n faNose: faNose,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faClouds: faClouds,\n faMoneyBillSimple: faMoneyBillSimple,\n faHandLizard: faHandLizard,\n faTablePivot: faTablePivot,\n faFilterSlash: faFilterSlash,\n faTrashCanUndo: faTrashCanUndo,\n faTrashCanArrowTurnLeft: faTrashCanArrowTurnLeft,\n faTrashUndoAlt: faTrashUndoAlt,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faPersonToDoor: faPersonToDoor,\n faTurntable: faTurntable,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faSignalWeak: faSignalWeak,\n faSignal1: faSignal1,\n faClockFive: faClockFive,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faComputerClassic: faComputerClassic,\n faFrame: faFrame,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faEllipsisStroke: faEllipsisStroke,\n faEllipsisHAlt: faEllipsisHAlt,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faFaceExpressionless: faFaceExpressionless,\n faDownToDottedLine: faDownToDottedLine,\n faCloudMusic: faCloudMusic,\n faTrafficLight: faTrafficLight,\n faCloudMinus: faCloudMinus,\n faThermometer: faThermometer,\n faShieldMinus: faShieldMinus,\n faVrCardboard: faVrCardboard,\n faCarTilt: faCarTilt,\n faGaugeCircleMinus: faGaugeCircleMinus,\n faBrightnessLow: faBrightnessLow,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faConveyorBelt: faConveyorBelt,\n faLocationCheck: faLocationCheck,\n faMapMarkerCheck: faMapMarkerCheck,\n faCoinVertical: faCoinVertical,\n faDisplay: faDisplay,\n faPersonSign: faPersonSign,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faPhoneHangup: faPhoneHangup,\n faSignatureSlash: faSignatureSlash,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faWheatSlash: faWheatSlash,\n faTrophy: faTrophy,\n faCloudsSun: faCloudsSun,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faFaceVomit: faFaceVomit,\n faSpeakers: faSpeakers,\n faTtyAnswer: faTtyAnswer,\n faTeletypeAnswer: faTeletypeAnswer,\n faMugTeaSaucer: faMugTeaSaucer,\n faDiagramLeanCanvas: faDiagramLeanCanvas,\n faAlt: faAlt,\n faDial: faDial,\n faDialMedHigh: faDialMedHigh,\n faHandPeace: faHandPeace,\n faCircleTrash: faCircleTrash,\n faTrashCircle: faTrashCircle,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faCircleQuarters: faCircleQuarters,\n faSpinner: faSpinner,\n faTowerControl: faTowerControl,\n faArrowUpTriangleSquare: faArrowUpTriangleSquare,\n faSortShapesUp: faSortShapesUp,\n faWhale: faWhale,\n faRobot: faRobot,\n faPeace: faPeace,\n faPartyHorn: faPartyHorn,\n faGears: faGears,\n faCogs: faCogs,\n faSunBright: faSunBright,\n faSunAlt: faSunAlt,\n faWarehouse: faWarehouse,\n faConveyorBeltArm: faConveyorBeltArm,\n faLockKeyholeOpen: faLockKeyholeOpen,\n faLockOpenAlt: faLockOpenAlt,\n faSquareFragile: faSquareFragile,\n faBoxFragile: faBoxFragile,\n faSquareWineGlassCrack: faSquareWineGlassCrack,\n faArrowUpRightDots: faArrowUpRightDots,\n faSquareN: faSquareN,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faMeter: faMeter,\n faMandolin: faMandolin,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faUpFromBracket: faUpFromBracket,\n faKnifeKitchen: faKnifeKitchen,\n faBorderRight: faBorderRight,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faSpade: faSpade,\n faCardSpade: faCardSpade,\n faLineColumns: faLineColumns,\n faArrowRightToLine: faArrowRightToLine,\n faArrowToRight: faArrowToRight,\n faPersonFallingBurst: faPersonFallingBurst,\n faFlagPennant: faFlagPennant,\n faPennant: faPennant,\n faConveyorBeltEmpty: faConveyorBeltEmpty,\n faUserGroupSimple: faUserGroupSimple,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faCamcorder: faCamcorder,\n faVideoHandheld: faVideoHandheld,\n faPancakes: faPancakes,\n faAlbumCircleUser: faAlbumCircleUser,\n faQrcode: faQrcode,\n faDiceD10: faDiceD10,\n faFireplace: faFireplace,\n faBrowser: faBrowser,\n faPenPaintbrush: faPenPaintbrush,\n faPencilPaintbrush: faPencilPaintbrush,\n faFishCooked: faFishCooked,\n faChairOffice: faChairOffice,\n faNestingDolls: faNestingDolls,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faTrumpet: faTrumpet,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFireSmoke: faFireSmoke,\n faPhoneMissed: faPhoneMissed,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faArrowsRepeat1: faArrowsRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faGunSlash: faGunSlash,\n faAvocado: faAvocado,\n faBinary: faBinary,\n faGlassesRound: faGlassesRound,\n faGlassesAlt: faGlassesAlt,\n faPhonePlus: faPhonePlus,\n faDitto: faDitto,\n faPersonSeat: faPersonSeat,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faScythe: faScythe,\n faPenNib: faPenNib,\n faBanParking: faBanParking,\n faParkingCircleSlash: faParkingCircleSlash,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faFaceDiagonalMouth: faFaceDiagonalMouth,\n faDiagramCells: faDiagramCells,\n faCricketBatBall: faCricketBatBall,\n faCricket: faCricket,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faPenLine: faPenLine,\n faAtomSimple: faAtomSimple,\n faAtomAlt: faAtomAlt,\n faAmpersand: faAmpersand,\n faCarrot: faCarrot,\n faArrowUpFromLine: faArrowUpFromLine,\n faArrowFromBottom: faArrowFromBottom,\n faMoon: faMoon,\n faPenSlash: faPenSlash,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faSquareStar: faSquareStar,\n faCheese: faCheese,\n faSendBackward: faSendBackward,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCompassSlash: faCompassSlash,\n faClockOne: faClockOne,\n faFileMusic: faFileMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faDisplayChartUpCircleCurrency: faDisplayChartUpCircleCurrency,\n faSkeleton: faSkeleton,\n faCircleG: faCircleG,\n faCircleArrowUpLeft: faCircleArrowUpLeft,\n faCoinBlank: faCoinBlank,\n faBroom: faBroom,\n faVacuum: faVacuum,\n faShieldHeart: faShieldHeart,\n faCardHeart: faCardHeart,\n faLightbulbCflOn: faLightbulbCflOn,\n faMelon: faMelon,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faContainerStorage: faContainerStorage,\n faFacePouting: faFacePouting,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faFaceExplode: faFaceExplode,\n faExplodingHead: faExplodingHead,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faTransformerBolt: faTransformerBolt,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faCassetteVhs: faCassetteVhs,\n faVhs: faVhs,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faChimney: faChimney,\n faObjectIntersect: faObjectIntersect,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faBlockBrick: faBlockBrick,\n faWallBrick: faWallBrick,\n faFan: faFan,\n faBagsShopping: faBagsShopping,\n faParagraphLeft: faParagraphLeft,\n faParagraphRtl: faParagraphRtl,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faCaravanSimple: faCaravanSimple,\n faCaravanAlt: faCaravanAlt,\n faTurtle: faTurtle,\n faPencilMechanical: faPencilMechanical,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faBoothCurtain: faBoothCurtain,\n faCalendar: faCalendar,\n faBoxHeart: faBoxHeart,\n faTrailer: faTrailer,\n faUserDoctorMessage: faUserDoctorMessage,\n faUserMdChat: faUserMdChat,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faAmpGuitar: faAmpGuitar,\n faSdCard: faSdCard,\n faVolumeSlash: faVolumeSlash,\n faBorderBottom: faBorderBottom,\n faWifiWeak: faWifiWeak,\n faWifi1: faWifi1,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faDeleteRight: faDeleteRight,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faCircleQuarter: faCircleQuarter,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFunction: faFunction,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faPeopleSimple: faPeopleSimple,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faFaceMonocle: faFaceMonocle,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faCalendarLines: faCalendarLines,\n faCalendarNote: faCalendarNote,\n faArrowDownBigSmall: faArrowDownBigSmall,\n faSortSizeDown: faSortSizeDown,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faDoNotEnter: faDoNotEnter,\n faShower: faShower,\n faDiceD8: faDiceD8,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faGripDotsVertical: faGripDotsVertical,\n faFaceViewfinder: faFaceViewfinder,\n faSoftServe: faSoftServe,\n faCreemee: faCreemee,\n faH5: faH5,\n faHandBackPointDown: faHandBackPointDown,\n faTableList: faTableList,\n faThList: faThList,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faRectangle: faRectangle,\n faRectangleLandscape: faRectangleLandscape,\n faClipboardListCheck: faClipboardListCheck,\n faTurkey: faTurkey,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faIceSkate: faIceSkate,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faTomato: faTomato,\n faSwordLaser: faSwordLaser,\n faHouseCircleCheck: faHouseCircleCheck,\n faBuildings: faBuildings,\n faAngleLeft: faAngleLeft,\n faCartFlatbedBoxes: faCartFlatbedBoxes,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faSquareW: faSquareW,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faLamp: faLamp,\n faAirplay: faAirplay,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faShieldQuartered: faShieldQuartered,\n faSlashForward: faSlashForward,\n faLocationPen: faLocationPen,\n faMapMarkerEdit: faMapMarkerEdit,\n faCloudMoon: faCloudMoon,\n faPotFood: faPotFood,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faPrintSlash: faPrintSlash,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faHandBackPointRibbon: faHandBackPointRibbon,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faTireRugged: faTireRugged,\n faLightbulbDollar: faLightbulbDollar,\n faCowbell: faCowbell,\n faBahtSign: faBahtSign,\n faCorner: faCorner,\n faChevronsRight: faChevronsRight,\n faChevronDoubleRight: faChevronDoubleRight,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faInhaler: faInhaler,\n faHandcuffs: faHandcuffs,\n faSnake: faSnake,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faNoteMedical: faNoteMedical,\n faDatabase: faDatabase,\n faDownLeft: faDownLeft,\n faShare: faShare,\n faArrowTurnRight: faArrowTurnRight,\n faMailForward: faMailForward,\n faFaceThinking: faFaceThinking,\n faTurnDownRight: faTurnDownRight,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faScannerKeyboard: faScannerKeyboard,\n faCircleO: faCircleO,\n faGridHorizontal: faGridHorizontal,\n faMessageDollar: faMessageDollar,\n faCommentAltDollar: faCommentAltDollar,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faColumns3: faColumns3,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faHandHoldingBox: faHandHoldingBox,\n faInputText: faInputText,\n faWindowFlip: faWindowFlip,\n faWindowAlt: faWindowAlt,\n faAlignRight: faAlignRight,\n faScannerGun: faScannerGun,\n faScanner: faScanner,\n faTire: faTire,\n faEngine: faEngine,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCircleCaretRight: faCircleCaretRight,\n faCaretCircleRight: faCaretCircleRight,\n faWheat: faWheat,\n faFileSpreadsheet: faFileSpreadsheet,\n faAudioDescriptionSlash: faAudioDescriptionSlash,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faChessPawnPiece: faChessPawnPiece,\n faChessPawnAlt: faChessPawnAlt,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faSquareS: faSquareS,\n faRectangleBarcode: faRectangleBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faUnicorn: faUnicorn,\n faBowlingBall: faBowlingBall,\n faPompebled: faPompebled,\n faBrain: faBrain,\n faWatchSmart: faWatchSmart,\n faBookUser: faBookUser,\n faSensorCloud: faSensorCloud,\n faSensorSmoke: faSensorSmoke,\n faClapperboardPlay: faClapperboardPlay,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faCircle4: faCircle4,\n faGifts: faGifts,\n faAlbumCollection: faAlbumCollection,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faCloudShowers: faCloudShowers,\n faUserClock: faUserClock,\n faOnion: faOnion,\n faClockTwelveThirty: faClockTwelveThirty,\n faArrowDownToDottedLine: faArrowDownToDottedLine,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faRectangleWide: faRectangleWide,\n faCommentArrowUp: faCommentArrowUp,\n faGarlic: faGarlic,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faTreeDecorated: faTreeDecorated,\n faMask: faMask,\n faCalendarHeart: faCalendarHeart,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faFlower: faFlower,\n faRightLeftLarge: faRightLeftLarge,\n faRulerVertical: faRulerVertical,\n faCirclesOverlap: faCirclesOverlap,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faStarshipFreighter: faStarshipFreighter,\n faTrainTram: faTrainTram,\n faBridgeSuspension: faBridgeSuspension,\n faTrashCheck: faTrashCheck,\n faUserNurse: faUserNurse,\n faBoombox: faBoombox,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faShieldExclamation: faShieldExclamation,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faGripDots: faGripDots,\n faCommentExclamation: faCommentExclamation,\n faPenSwirl: faPenSwirl,\n faFalafel: faFalafel,\n faCircle2: faCircle2,\n faMagnet: faMagnet,\n faJar: faJar,\n faGramophone: faGramophone,\n faDiceD12: faDiceD12,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faDown: faDown,\n faArrowAltDown: faArrowAltDown,\n faHundredPoints: faHundredPoints,\n fa100: fa100,\n faPaperclipVertical: faPaperclipVertical,\n faWindWarning: faWindWarning,\n faWindCircleExclamation: faWindCircleExclamation,\n faLocationPinSlash: faLocationPinSlash,\n faMapMarkerSlash: faMapMarkerSlash,\n faFaceSadSweat: faFaceSadSweat,\n faBugSlash: faBugSlash,\n faCupcake: faCupcake,\n faLightSwitchOff: faLightSwitchOff,\n faToggleLargeOff: faToggleLargeOff,\n faPenFancySlash: faPenFancySlash,\n faTruckContainer: faTruckContainer,\n faBoot: faBoot,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faFileCheck: faFileCheck,\n faBone: faBone,\n faCardsBlank: faCardsBlank,\n faCircle3: faCircle3,\n faBenchTree: faBenchTree,\n faKeyboardBrightnessLow: faKeyboardBrightnessLow,\n faSkiBootSki: faSkiBootSki,\n faBrainCircuit: faBrainCircuit,\n faUserInjured: faUserInjured,\n faBlockBrickFire: faBlockBrickFire,\n faFirewall: faFirewall,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faFaceSmileRelaxed: faFaceSmileRelaxed,\n faCommentXmark: faCommentXmark,\n faCommentTimes: faCommentTimes,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faFaceNoseSteam: faFaceNoseSteam,\n faCircleWaveformLines: faCircleWaveformLines,\n faWaveformCircle: faWaveformCircle,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faFerrisWheel: faFerrisWheel,\n faComputerSpeaker: faComputerSpeaker,\n faSkullCow: faSkullCow,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faCircleT: faCircleT,\n faSack: faSack,\n faGrid2: faGrid2,\n faCameraCctv: faCameraCctv,\n faCctv: faCctv,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faHorizontalRule: faHorizontalRule,\n faBedFront: faBedFront,\n faBedAlt: faBedAlt,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faKipSign: faKipSign,\n faFaceWoozy: faFaceWoozy,\n faCloudQuestion: faCloudQuestion,\n faPineapple: faPineapple,\n faHandPointLeft: faHandPointLeft,\n faGalleryThumbnails: faGalleryThumbnails,\n faCircleJ: faCircleJ,\n faEyes: faEyes,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faPageCaretUp: faPageCaretUp,\n faFileCaretUp: faFileCaretUp,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faComet: faComet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faShieldKeyhole: faShieldKeyhole,\n faBarcode: faBarcode,\n faPlusMinus: faPlusMinus,\n faSquareSlidersVertical: faSquareSlidersVertical,\n faSlidersVSquare: faSlidersVSquare,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faMessageMiddle: faMessageMiddle,\n faCommentMiddleAlt: faCommentMiddleAlt,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faSquareZ: faSquareZ,\n faMessageText: faMessageText,\n faCommentAltText: faCommentAltText,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\nexport { icons as far, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faWagonCovered, faLineHeight, faBagel, faTransporter7, faAt, faRectanglesMixed, faPhoneArrowUpRight, faPhoneArrowUp, faPhoneOutgoing, faTrashCan, faTrashAlt, faCircleL, faHeadSideGoggles, faHeadVr, faTextHeight, faUserXmark, faUserTimes, faFaceHandYawn, faGaugeSimpleMin, faTachometerSlowest, faStethoscope, faCoffin, faMessage, faCommentAlt, faSalad, faBowlSalad, faInfo, faRobotAstromech, faRingDiamond, faFonduePot, faTheta, faFaceHandPeeking, faSquareUser, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faTirePressureWarning, faWifiFair, faWifi2, faCalendarDays, faCalendarAlt, faMp3Player, faAnchorCircleCheck, faTally4, faRectangleHistory, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faSunHaze, faTextSize, faUfo, faFork, faUtensilFork, faArrowsUpToLine, faMobileSignal, faBarcodeScan, faSortDown, faSortDesc, faFolderArrowDown, faFolderDownload, faCircleMinus, faMinusCircle, faFaceIcicles, faShovel, faDoorOpen, faFilms, faRightFromBracket, faSignOutAlt, faFaceGlasses, faNfc, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faClosedCaptioningSlash, faCalculatorSimple, faCalculatorAlt, faBridgeCircleCheck, faSlidersUp, faSlidersV, faLocationMinus, faMapMarkerMinus, faPumpMedical, faFingerprint, faSkiBoot, faStandardDefinition, faRectangleSd, faH1, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faMessageBot, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faLightCeiling, faMessageExclamation, faCommentAltExclamation, faBowlScoop, faBowlShavedIce, faSquareX, faUtilityPoleDouble, faFlagCheckered, faChevronsUp, faChevronDoubleUp, faFootball, faFootballBall, faUserVneck, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faSquareArrowRight, faArrowSquareRight, faLocationPlus, faMapMarkerPlus, faLightbulbExclamationOn, faPeopleLine, faBeerMugEmpty, faBeer, faCrateEmpty, faDiagramPredecessor, faTransporter, faCalendarCircleUser, faArrowUpLong, faLongArrowUp, faPersonCarryBox, faPersonCarry, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faUnion, faChevronsLeft, faChevronDoubleLeft, faCircleHeart, faHeartCircle, faTruckPlane, faRecordVinyl, faBringForward, faSquareP, faFaceGrinStars, faGrinStars, faSigma, faCameraMovie, faBong, faClarinet, faTruckFlatbed, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faLeafHeart, faHouseBuilding, faCheeseSwiss, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faBowArrow, faCartXmark, faHexagonXmark, faTimesHexagon, faXmarkHexagon, faCircleH, faHospitalSymbol, faMerge, faPager, faCartMinus, faAddressBook, faContactBook, faPanFrying, faGrid, faGrid3, faFootballHelmet, faHandLove, faTrees, faStrikethrough, faPage, faK, faDiagramPrevious, faGaugeMin, faTachometerAltSlowest, faFolderGrid, faEggplant, faRam, faLandmarkFlag, faLips, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faDesktopArrowDown, faCodePullRequest, faPumpkin, faClipboardList, faPenField, faBlueberries, faTruckRampBox, faTruckLoading, faNote, faArrowDownToSquare, faUserCheck, faCloudXmark, faVialVirus, faBookBlank, faBookAlt, faGolfFlagHole, faMessageArrowDown, faCommentAltArrowDown, faFaceUnamused, faSheetPlastic, faCircle9, faBlog, faUserNinja, faPencilSlash, faBowlingPins, faPersonArrowUpFromLine, faDownRight, faScrollTorah, faTorah, faWebhook, faBlindsOpen, faFence, faUp, faArrowAltUp, faBroomBall, faQuidditch, faQuidditchBroomBall, faDrumstick, faSquareV, faFaceAwesome, faGaveDandy, faDialOff, faToggleOff, faFaceSmileHorns, faBoxArchive, faArchive, faGrapes, faPersonDrowning, faDialMax, faCircleM, faCalendarImage, faCircleCaretDown, faCaretCircleDown, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faShishKebab, faSprayCan, faAlarmSnooze, faScarecrow, faTruckMonster, faGiftCard, faW, faCodePullRequestDraft, faSquareB, faElephant, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faMessageQuestion, faCloud, faTrowelBricks, faSquare3, faFaceFlushed, faFlushed, faHospitalUser, faMicrowave, faChfSign, faTentArrowLeftRight, faCartCircleArrowUp, faTrashClock, faGavel, faLegal, faSprinklerCeiling, faBrowsers, faTrillium, faMusicSlash, faTruckRamp, faBinoculars, faMicrophoneSlash, faBoxTissue, faCircleC, faStarChristmas, faChartBullet, faMotorcycle, faTreeChristmas, faTireFlat, faSunglasses, faBadge, faMessagePen, faCommentAltEdit, faMessageEdit, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faArrowProgress, faChessRookPiece, faChessRookAlt, faSquareRoot, faAlbumCollectionCirclePlus, faPeopleArrows, faPeopleArrowsLeftRight, faFaceAngryHorns, faMarsAndVenusBurst, faTombstone, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faListMusic, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faMustache, faHyphen, faTable, faUserChef, faMessageImage, faCommentAltImage, faUsersMedical, faSensorTriangleExclamation, faSensorAlert, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faFaceMask, faPickleball, faStarSharpHalf, faUsersSlash, faClover, faMeat, faReply, faMailReply, faStarAndCrescent, faEmptySet, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faBird, faCompass, faSquareCaretDown, faCaretSquareDown, faHeartHalfStroke, faHeartHalfAlt, faFileCircleQuestion, faLaptopCode, faJoystick, faGrillFire, faRectangleVerticalHistory, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faKeyboardLeft, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faFaceBeamHandOverMouth, faDropletPercent, faHumidity, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faCorn, faRollerCoaster, faPhotoFilmMusic, faRadar, faSickle, faFilm, faCoconut, faRulerHorizontal, faShieldCross, faCassetteTape, faSquareTerminal, faPeopleRobbery, faLightbulb, faCaretLeft, faCommentMiddle, faTrashCanList, faBlock, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faFaceFrownSlight, faCircleChevronDown, faChevronCircleDown, faSidebarFlip, faUnlockKeyhole, faUnlockAlt, faTemperatureList, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faPipeSection, faSpaceStationMoonConstruction, faSpaceStationMoonAlt, faCircleDollarToSlot, faDonate, faMemory, faFaceSleeping, faRoadSpikes, faFireBurner, faSquirrel, faArrowUpToLine, faArrowToTop, faFlag, faFaceCowboyHat, faHanukiah, faChartScatter3d, faDisplayChartUp, faSquareCode, faFeather, faVolumeLow, faVolumeDown, faXmarkToSlot, faTimesToSlot, faVoteNay, faBoxTaped, faBoxAlt, faCommentSlash, faSwords, faCloudSunRain, faAlbum, faCircleN, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faKeySkeletonLeftRight, faCommentLines, faLuchadorMask, faLuchador, faMaskLuchador, faSquareCheck, faCheckSquare, faShredder, faBookOpenCover, faBookOpenAlt, faSandwich, faPesetaSign, faSquareParkingSlash, faParkingSlash, faTrainTunnel, faHeading, faHeader, faGhost, faFaceAnguished, faHockeySticks, faAbacus, faFilmSimple, faFilmAlt, faList, faListSquares, faTreePalm, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faBorderCenterV, faCircleDot, faDotCircle, faClipboardMedical, faFaceDizzy, faDizzy, faEgg, faUpToLine, faArrowAltToTop, faHouseMedicalCircleXmark, faWatchFitness, faClockNineThirty, faCampground, faFolderPlus, faJug, faFutbol, faFutbolBall, faSoccerBall, faSnowBlowing, faPaintbrush, faPaintBrush, faLock, faArrowDownFromLine, faArrowFromTop, faGasPump, faSignalBarsSlash, faSignalAltSlash, faMonkey, faRectanglePro, faPro, faHouseNight, faHotTubPerson, faHotTub, faBlanket, faMapLocation, faMapMarked, faHouseFloodWater, faCommentsQuestionCheck, faTree, faArrowsCross, faBackpack, faSquareSmall, faFolderArrowUp, faFolderUpload, faBridgeLock, faCrosshairsSimple, faSackDollar, faPenToSquare, faEdit, faSquareSliders, faSlidersHSquare, faCarSide, faMessageMiddleTop, faCommentMiddleTopAlt, faLightbulbOn, faKnife, faUtensilKnife, faShareNodes, faShareAlt, faDisplayChartUpCircleDollar, faWaveSine, faHeartCircleMinus, faCircleW, faCircleCalendar, faCalendarCircle, faHourglassHalf, faHourglass2, faMicroscope, faSunset, faSink, faCalendarExclamation, faTruckContainerEmpty, faHandHeart, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faReplyClock, faReplyTime, faPersonRays, faRight, faArrowAltRight, faCircleF, faUsers, faFacePleading, faEyeSlash, faFlaskVial, faPoliceBox, faCucumber, faHeadSideBrain, faHand, faHandPaper, faPersonBikingMountain, faBikingMountain, faUtensilsSlash, faPrintMagnifyingGlass, faPrintSearch, faFolderBookmark, faOm, faPi, faFlaskRoundPotion, faFlaskPotion, faFaceShush, faWorm, faHouseCircleXmark, faPlug, faCalendarCircleExclamation, faSquareI, faChevronUp, faFaceSaluting, faGaugeSimpleLow, faTachometerSlow, faFacePersevering, faCircleCamera, faCameraCircle, faHandSpock, faSpiderWeb, faCircleMicrophone, faMicrophoneCircle, faBookArrowUp, faPopsicle, faCommand, faBlinds, faStopwatch, faSaxophone, faSquare2, faFieldHockeyStickBall, faFieldHockey, faArrowUpSquareTriangle, faSortShapesUpAlt, faFaceScream, faSquareM, faCameraWeb, faWebcam, faCommentArrowDown, faLightbulbCfl, faWindowFrameOpen, faFaceKiss, faKiss, faBridgeCircleXmark, faPeriod, faFaceGrinTongue, faGrinTongue, faUpToDottedLine, faThoughtBubble, faSkeletonRibs, faRaygun, faFlute, faAcorn, faVideoArrowUpRight, faGrateDroplet, faSealExclamation, faChessBishop, faMessageSms, faCoffeeBeans, faHatWitch, faFaceGrinWink, faGrinWink, faClockThreeThirty, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faAlarmClock, faEclipse, faFaceRelieved, faRoadCircleCheck, faDiceFive, faOctagonMinus, faMinusOctagon, faSquareRss, faRssSquare, faFaceZany, faTricycle, faLandMineOn, faSquareArrowUpLeft, faICursor, faChartMixedUpCircleDollar, faSaltShaker, faStamp, faFilePlus, faDrawSquare, faToiletPaperUnderSlash, faToiletPaperReverseSlash, faStairs, faDroneFront, faDroneAlt, faGlassEmpty, faDialHigh, faUserHelmetSafety, faUserConstruction, faUserHardHat, faI, faHryvniaSign, faHryvnia, faArrowDownLeftAndArrowUpRightToCenter, faPills, faFaceGrinWide, faGrinAlt, faTooth, faBasketballHoop, faObjectsAlignBottom, faV, faSparkles, faSquid, faLeafyGreen, faCircleArrowUpRight, faCalendars, faBangladeshiTakaSign, faBicycle, faHammerWar, faCircleD, faSpiderBlackWidow, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faPear, faHeadSideCoughSlash, faTriangle, faApartment, faTruckMedical, faAmbulance, faPepper, faPiano, faGunSquirt, faWheatAwnCircleExclamation, faSnowman, faUserAlien, faShieldCheck, faMortarPestle, faRoadBarrier, faChartCandlestick, faBriefcaseBlank, faSchool, faIgloo, faBracketRound, faParenthesis, faJoint, faHorseSaddle, faMugMarshmallows, faFilters, faBellOn, faAngleRight, faDialMed, faHorse, faQ, faMonitorWaveform, faMonitorHeartRate, faLinkSimple, faWhistle, faG, faWineGlassCrack, faFragile, faSlotMachine, faNotesMedical, faCarWash, faEscalator, faCommentImage, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faDonut, faDoughnut, faCapsules, faPooStorm, faPooBolt, faTally1, faFaceFrownOpen, faFrownOpen, faSquareDashed, faSquareJ, faHandPointUp, faMoneyBill, faArrowUpBigSmall, faSortSizeUp, faBarcodeRead, faBaguette, faBowlSoftServe, faFaceHoldingBackTears, faSquareUp, faArrowAltSquareUp, faTrainSubwayTunnel, faSubwayTunnel, faSquareExclamation, faExclamationSquare, faSemicolon, faBookmark, faFanTable, faAlignJustify, faBatteryLow, faBattery1, faCreditCardFront, faBrainArrowCurvedRight, faMindShare, faUmbrellaBeach, faHelmetUn, faLocationSmile, faMapMarkerSmile, faArrowLeftToLine, faArrowToLeft, faBullseye, faSushi, faNigiri, faMessageCaptions, faCommentAltCaptions, faTrashList, faBacon, faOption, faHandPointDown, faArrowUpFromBracket, faTrashPlus, faObjectsAlignTop, faFolder, faFolderBlank, faFaceAnxiousSweat, faCreditCardBlank, faFileWaveform, faFileMedicalAlt, faMicrochipAi, faMug, faPlaneUpSlash, faRadiation, faPenCircle, faBagSeedling, faChartSimple, faCrutches, faCircleParking, faParkingCircle, faMarsStroke, faLeafOak, faSquareBolt, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faLambda, faE, faPizza, faBowlChopsticksNoodles, faH3, faPenClip, faPenAlt, faBridgeCircleExclamation, faBadgePercent, faUser, faSensor, faComma, faSchoolCircleCheck, faToiletPaperUnder, faToiletPaperReverse, faLightEmergency, faArrowDownToArc, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faLightSwitch, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faWavePulse, faHeartRate, faKey, faHatSanta, faTamale, faBoxCheck, faBullhorn, faSteak, faLocationCrosshairsSlash, faLocationSlash, faPersonDolly, faGlobe, faSynagogue, faFileChartColumn, faFileChartLine, faPersonHalfDress, faFolderImage, faCalendarPen, faCalendarEdit, faRoadBridge, faFaceSmileTear, faMessagePlus, faCommentAltPlus, faLocationArrow, faC, faTabletButton, faRectangleHistoryCircleUser, faBuildingLock, faChartLineUp, faMailbox, faTruckBolt, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faCircleThreeQuartersStroke, faPersonCircleMinus, faScalpel, faBan, faCancel, faBellExclamation, faCircleBookmark, faBookmarkCircle, faEggFried, faFaceWeary, faUniformMartialArts, faCameraRotate, faSunDust, faCommentText, faSprayCanSparkles, faAirFreshener, faSignalBars, faSignalAlt, faSignalAlt4, faSignalBarsStrong, faDiamondExclamation, faStar, faDialMin, faRepeat, faCross, faPageCaretDown, faFileCaretDown, faBox, faVenusMars, faClockSevenThirty, faArrowPointer, faMousePointer, faClockFourThirty, faSignalBarsGood, faSignalAlt3, faCactus, faLightbulbGear, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faPlaneTail, faGaugeSimpleMax, faTachometerFastest, faCircleU, faShieldSlash, faSquarePhoneHangup, faPhoneSquareDown, faArrowUpLeft, faTransporter1, faPeanuts, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faBinBottlesRecycle, faArrowUpFromSquare, faFileDashedLine, faPageBreak, faBracketCurlyRight, faSpider, faClockThree, faHandsBound, faScalpelLineDashed, faScalpelPath, faFileInvoiceDollar, faPipeSmoking, faFaceAstonished, faWindow, faPlaneCircleExclamation, faEar, faFileLock, faDiagramVenn, faXRay, faGoalNet, faCoffinCross, faSpellCheck, faLocationXmark, faMapMarkerTimes, faMapMarkerXmark, faCircleQuarterStroke, faLasso, faSlash, faPersonToPortal, faPortalEnter, faCalendarStar, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faPegasus, faFilesMedical, faNfcLock, faPersonSkiLift, faSkiLift, faSquare6, faShopSlash, faStoreAltSlash, faWindTurbine, faSlidersSimple, faGridRound, faBadgeSheriff, faServer, faVirusCovidSlash, faIntersection, faShopLock, faFamily, faHourglassStart, faHourglass1, faUserHairBuns, faBlenderPhone, faHourglassClock, faPersonSeatReclined, faPaperPlaneTop, faPaperPlaneAlt, faSend, faMessageArrowUp, faCommentAltArrowUp, faLightbulbExclamation, faLayerMinus, faLayerGroupMinus, faChartPieSimpleCircleCurrency, faCircleE, faBuildingWheat, faGaugeMax, faTachometerAltFastest, faPersonBreastfeeding, faApostrophe, faFireHydrant, faRightToBracket, faSignInAlt, faVideoPlus, faSquareRight, faArrowAltSquareRight, faCommentSmile, faVenus, faPassport, faInboxIn, faInboxArrowDown, faHeartPulse, faHeartbeat, faCircle8, faCloudsMoon, faClockTenThirty, faPeopleCarryBox, faPeopleCarry, faFolderUser, faTrashCanXmark, faTemperatureHigh, faMicrochip, faLeftLongToLine, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faCalendarRange, faFlowerDaffodil, faHandBackPointUp, faWeightScale, faWeight, faStarExclamation, faBooks, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faLayerPlus, faLayerGroupPlus, faPlayPause, faBlockQuestion, faSnooze, faZzz, faScannerImage, faTvRetro, faSquareT, faFarm, faBarnSilo, faChessKnight, faBarsSort, faPalletBoxes, faPaletteBoxes, faPalletAlt, faFaceLaughSquint, faLaughSquint, faCodeSimple, faBoltSlash, faPanelFire, faBinaryCircleCheck, faCommentMinus, faBurrito, faViolin, faObjectsColumn, faSquareChevronDown, faChevronSquareDown, faCommentPlus, faTriangleInstrument, faTriangleMusic, faWheelchair, faUserPilotTie, faPianoKeyboard, faBedEmpty, faCircleArrowUp, faArrowCircleUp, faToggleOn, faRectangleVertical, faRectanglePortrait, faPersonWalking, faWalking, faL, faSignalStream, faDownToBracket, faCircleZ, faStars, faFire, faBedPulse, faProcedures, faHouseDay, faShuttleSpace, faSpaceShuttle, faShirtLongSleeve, faChartPieSimple, faChartPieAlt, faFaceLaugh, faLaugh, faFolderOpen, faAlbumCollectionCircleUser, faCandy, faBowlHot, faSoup, faFlatbread, faHeartCirclePlus, faCodeFork, faCity, faSignalBarsWeak, faSignalAlt1, faMicrophoneLines, faMicrophoneAlt, faClockTwelve, faPepperHot, faCitrusSlice, faSheep, faUnlock, faColonSign, faHeadset, faBadgerHoney, faH4, faStoreSlash, faRoadCircleXmark, faSignalSlash, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faTaco, faHexagonPlus, faPlusHexagon, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faMessages, faCommentsAlt, faBath, faBathtub, faUmbrellaSimple, faUmbrellaAlt, faRectangleHistoryCirclePlus, faUnderline, faPrescriptionBottlePill, faUserPen, faUserEdit, faBinarySlash, faSquareO, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faTransporter3, faEngineWarning, faEngineExclamation, faCircleDownRight, faSquareK, faManatSign, faMoneyCheckPen, faMoneyCheckEdit, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faTilde, faJedi, faSquarePollVertical, faPoll, faArrowDownSquareTriangle, faSortShapesDownAlt, faMugHot, faDogLeashed, faCarBattery, faBatteryCar, faFaceDowncastSweat, faMailboxFlagUp, faMemoCircleInfo, faGift, faDiceTwo, faVolume, faVolumeMedium, faTransporter5, faGaugeCircleBolt, faCoinFront, faFileSlash, faMessageArrowUpRight, faTreasureChest, faChessQueen, faPaintbrushFine, faPaintBrushAlt, faPaintBrushFine, faPaintbrushAlt, faGlasses, faHoodCloak, faSquareQuote, faUpLeft, faBringFront, faChessBoard, faBurgerCheese, faCheeseburger, faBuildingCircleCheck, faRepeat1, faArrowDownToLine, faArrowToBottom, faGrid5, faRightLongToLine, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faGridRound5, faTally, faTally5, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faUpFromDottedLine, faEyeLowVision, faLowVision, faTrafficLightGo, faFaceExhaling, faSensorFire, faUserUnlock, faHexagonDivide, fa00, faCrow, faCassetteBetamax, faBetamax, faSailboat, faWindowRestore, faNfcMagnifyingGlass, faFileBinary, faCircleV, faSquarePlus, faPlusSquare, faBowlScoops, faMistletoe, faCustard, faLacrosseStick, faHockeyMask, faSunrise, faPanelEws, faToriiGate, faCloudExclamation, faMessageLines, faCommentAltLines, faFrog, faBucket, faFloppyDiskPen, faImage, faWindowFrame, faMicrophone, faCow, faFileZip, faSquareRing, faDownFromLine, faArrowAltFromTop, faCaretUp, faShieldXmark, faShieldTimes, faScrewdriver, faCircleSortDown, faSortCircleDown, faFolderClosed, faHouseTsunami, faSquareNfi, faForklift, faArrowUpFromGroundWater, faBracketSquareRight, faMartiniGlass, faGlassMartiniAlt, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faSquareA, faTick, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faRefrigerator, faMonument, faOctagonXmark, faTimesOctagon, faXmarkOctagon, faAlignSlash, faSnowplow, faAnglesRight, faAngleDoubleRight, faTruckRampCouch, faTruckCouch, faCannabis, faCirclePlay, faPlayCircle, faArrowUpRightAndArrowDownLeftFromCenter, faTablets, fa360Degrees, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faSquareDashedCirclePlus, faMoneySimpleFromBracket, faBat, faCircleStop, faStopCircle, faHeadSideHeadphones, faPhoneRotary, faCompassDrafting, faDraftingCompass, faPlateWheat, faCalendarCircleMinus, faChopsticks, faCarWrench, faCarMechanic, faIcicles, faPersonShelter, faNeuter, faIdBadge, faKazoo, faMarker, faBinBottles, faFaceLaughBeam, faLaughBeam, faSquareArrowDownLeft, faBatteryBolt, faTreeLarge, faHelicopterSymbol, faAperture, faUniversalAccess, faGearComplex, faFileMagnifyingGlass, faFileSearch, faUpRight, faCircleChevronUp, faChevronCircleUp, faUserPolice, faLariSign, faVolcano, faTeddyBear, faStocking, faPersonWalkingDashedLineArrowRight, faImageSlash, faMaskSnorkel, faSmoke, faSterlingSign, faGbp, faPoundSign, faBatteryExclamation, faViruses, faSquarePersonConfined, faUserTie, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faCrystalBall, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faStarShooting, faBinaryLock, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faCommentPen, faCommentEdit, faFileImport, faArrowRightToFile, faBanjo, faSquareArrowUpRight, faExternalLinkSquare, faLightEmergencyOn, faKerning, faBoxOpen, faSquareF, faScroll, faSpa, faArrowLeftFromLine, faArrowFromRight, faStrawberry, faLocationPinLock, faPause, faClockEightThirty, faPlaneEngines, faPlaneAlt, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faGaugeLow, faTachometerAltSlow, faRegistered, faTrashCanPlus, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faGlobeSnow, faSubscript, faDiamondTurnRight, faDirections, faIntegral, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faBlindsRaised, faSmog, faUfoBeam, faCircleCaretUp, faCaretCircleUp, faUserVneckHairLong, faSquareALock, faCrutch, faGasPumpSlash, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faTransporter4, faChartMixedUpCircleCurrency, faObjectsAlignRight, faArrowsTurnRight, faVest, faPig, faInboxFull, faCircleEnvelope, faEnvelopeCircle, faTrianglePersonDigging, faConstruction, faFerry, faBullseyeArrow, faArrowsDownToPeople, faSeedling, faSprout, faClockSeven, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faFlashlight, faGroupArrowsRotate, faBowlFood, faSquare9, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faSquareDollar, faDollarSquare, faUsdSquare, faPhoneArrowRight, faHandHoldingSeedling, faMessageCheck, faCommentAltCheck, faCloudBolt, faThunderstorm, faChartLineUpDown, faTextSlash, faRemoveFormat, faWatch, faCircleDownLeft, faText, faProjector, faFaceSmileWink, faSmileWink, faTombstoneBlank, faTombstoneAlt, faChessKingPiece, faChessKingAlt, faCircle6, faLeft, faArrowAltLeft, faFileWord, faFilePowerpoint, faSquareDown, faArrowAltSquareDown, faObjectsAlignCenterVertical, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faWreath, faChildren, faMeterDroplet, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faSignalStrong, faSignal4, faLollipop, faLollypop, faListTree, faEnvelopeOpen, faDrawCircle, faCatSpace, faHandshakeSimpleSlash, faHandshakeAltSlash, faRabbitRunning, faRabbitFast, faMemoPad, faMattressPillow, faAlarmPlus, faAlicorn, faCommentQuestion, faGingerbreadMan, faGuaraniSign, faBurgerFries, faMugTea, faBorderTop, faArrowsRotate, faRefresh, faSync, faCircleBookOpen, faBookCircle, faArrowsToDottedLine, faFireExtinguisher, faGarageOpen, faShelvesEmpty, faCruzeiroSign, faWatchApple, faWatchCalculator, faListDropdown, faCabinetFiling, faBurgerSoda, faSquareArrowUp, faArrowSquareUp, faGreaterThanEqual, faPalletBox, faFaceConfounded, faShieldHalved, faShieldAlt, faTruckPlow, faBookAtlas, faAtlas, faVirus, faGridRound2, faCommentMiddleTop, faEnvelopeCircleCheck, faLayerGroup, faRestroomSimple, faArrowsToDot, faBorderOuter, faHashtagLock, faClockTwoThirty, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faHeartHalf, faCommentCheck, faSquare, faMemo, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faGlassCitrus, faCalendarLinesPen, faChurch, faPersonSnowmobiling, faSnowmobile, faFaceHushed, faCommentsDollar, faPickaxe, faLinkSimpleSlash, faDemocrat, faFaceConfused, faPinball, faZ, faPersonSkiing, faSkiing, faDeer, faInputPipe, faRoadLock, faA, faBookmarkSlash, faTemperatureArrowDown, faTemperatureDown, faMace, faFeatherPointed, faFeatherAlt, faSausage, faTrashCanClock, faP, faBroomWide, faSnowflake, faStomach, faNewspaper, faRectangleAd, faAd, faGuitarElectric, faArrowTurnDownRight, faMoonCloud, faBreadSliceButter, faCircleArrowRight, faArrowCircleRight, faUserGroupCrown, faUsersCrown, faCircleI, faToiletPaperCheck, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faChartWaterfall, faSparkle, faFaceParty, faKidneys, faWifiExclamation, faChartNetwork, faPersonDressBurst, faDiceD4, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faWheatAwnSlash, faFaceKissWinkHeart, faKissWinkHeart, faDagger, faPodium, faMemoCircleCheck, faRouteHighway, faDownToLine, faArrowAltToBottom, faFilter, faSquareG, faCirclePhone, faPhoneCircle, faClipboardPrescription, faUserNurseHair, faQuestion, faFileSignature, faToggleLargeOn, faUpDownLeftRight, faArrowsAlt, faDryerHeat, faDryerAlt, faHouseChimneyUser, faHandHoldingHeart, faArrowUpSmallBig, faSortSizeUpAlt, faTrainTrack, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faFileExclamation, faCode, faWhiskeyGlass, faGlassWhiskey, faMoonStars, faBuildingCircleExclamation, faClothesHanger, faMobileNotch, faMobileIphone, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faImagesUser, faWonSign, faKrw, faWon, faImagePolaroidUser, faVirusCovid, faSquareEllipsis, faPie, faChessKnightPiece, faChessKnightAlt, faAustralSign, faCloudPlus, faF, faLeaf, faBedBunk, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faClockEight, faSackXmark, faFileExcel, faFileContract, faFishFins, faCircleQ, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faFaceDisguise, faCircleArrowDownRight, faAlien8bit, faAlienMonster, faHandPointRibbon, faPoop, faObjectExclude, faTelescope, faLocationPin, faMapMarker, faSquareList, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faCommentCode, faSimCards, faStarship, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faSeal, faUserCowboy, faHexagonVerticalNft, faFaceRollingEyes, faMehRollingEyes, faBreadLoaf, faRingsWedding, faObjectGroup, faFrenchFries, faChartLine, faLineChart, faCalendarArrowDown, faCalendarDownload, faSendBack, faMaskVentilator, faSignatureLock, faArrowRight, faSignsPost, faMapSigns, faOctagonPlus, faPlusOctagon, faCashRegister, faPersonCircleQuestion, faMelonSlice, faSpaceStationMoon, faMessageSmile, faCommentAltSmile, faCupStraw, faLeftFromLine, faArrowAltFromRight, faH, faBasketShoppingSimple, faShoppingBasketAlt, faHandsHoldingHeart, faHandsHeart, faClockNine, faTarp, faFaceSleepy, faHandHorns, faScrewdriverWrench, faTools, faArrowsToEye, faCircleThreeQuarters, faTrophyStar, faTrophyAlt, faPlugCircleBolt, faFaceThermometer, faGridRound4, faShirtRunning, faBookCircleArrowUp, faFaceNauseated, faHeart, faFileChartPie, faMarsAndVenus, faHouseUser, faHomeUser, faCircleArrowDownLeft, faDumpsterFire, faHexagonMinus, faMinusHexagon, faLeftToLine, faArrowAltToLeft, faHouseCrack, faPawSimple, faPawAlt, faArrowLeftLongToLine, faBracketsRound, faParentheses, faMartiniGlassCitrus, faCocktail, faUserShakespeare, faArrowRightToArc, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faGaugeCirclePlus, faFolders, faAngel, faValueAbsolute, faRabbit, faToiletPaperSlash, faCircleEuro, faAppleWhole, faAppleAlt, faKitchenSet, faDiamondHalf, faLockKeyhole, faLockAlt, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faSquareInfo, faInfoSquare, faWifiSlash, faToiletPaperXmark, faHandsHoldingDollar, faHandsUsd, faCube, faArrowDownTriangleSquare, faSortShapesDown, faBitcoinSign, faShutters, faShieldDog, faSolarPanel, faLockOpen, faTableTree, faHouseChimneyHeart, faTally3, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faCartCircleExclamation, faSword, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faInterrobang, faPlaneSlash, faCircleDashed, faTrademark, faBasketball, faBasketballBall, faForkKnife, faUtensilsAlt, faSatelliteDish, faBadgeCheck, faCircleUp, faArrowAltCircleUp, faSlider, faMobileScreenButton, faMobileAlt, faClockOneThirty, faInboxOut, faInboxArrowUp, faCloudSlash, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faOctagonCheck, faFlatbreadStuffed, faClipboardCheck, faCartCirclePlus, faTruckClock, faShippingTimed, faPool8Ball, faFileAudio, faTurnDownLeft, faLockHashtag, faChartRadar, faStaff, faBurger, faHamburger, faUtilityPole, faTransporter6, faWrench, faBugs, faVectorPolygon, faDiagramNested, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faImageUser, faBuoy, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faBorderCenterH, faCanFood, faTypewriter, faArrowRightFromArc, faCircleK, faFaceHandOverMouth, faPopcorn, faHouseWater, faHouseFlood, faObjectSubtract, faCodeBranch, faWarehouseFull, faWarehouseAlt, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faArrowDownFromDottedLine, faFileDoc, faSquareQuarters, faTruckFront, faCat, faTrashXmark, faCircleCaretLeft, faCaretCircleLeft, faFiles, faAnchorCircleExclamation, faFaceClouds, faUserCrown, faTruckField, faRoute, faCartCircleCheck, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faUserTieHairLong, faFileCircleMinus, faHeadSideMedical, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faUserRobot, faSquareParking, faParking, faCardDiamond, faFaceZipper, faFaceRaisedEyebrow, faHouseSignal, faSquareChevronUp, faChevronSquareUp, faNfcSymbol, faBarsProgress, faTasksAlt, faFaucetDrip, faArrowsToLine, faDolphin, faArrowUpRight, faCircleR, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faCircleSortUp, faSortCircleUp, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faChestnut, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faHeat, faTicketAirline, faBootHeeled, faArrowsMinimize, faCompressArrows, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faHexagon, faManhole, faUserSlash, faPen, faTowerObservation, faFloppyDisks, faToiletPaperBlankUnder, faToiletPaperReverseAlt, faFileCode, faSignal, faSignal5, faSignalPerfect, faPump, faBus, faHeartCircleXmark, faArrowUpLeftFromCircle, faHouseChimney, faHomeLg, faWindowMaximize, faDryer, faFaceFrown, faFrown, faChessBishopPiece, faChessBishopAlt, faShirtTankTop, faDiploma, faScrollRibbon, faScreencast, faWalker, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faFaceKissClosedEyes, faScaleUnbalanced, faBalanceScaleLeft, faFileUser, faUserPoliceTie, faFaceTongueMoney, faTennisBall, faSquareL, faSortUp, faSortAsc, faCalendarArrowUp, faCalendarUpload, faCommentDots, faCommenting, faPlantWilt, faScarf, faAlbumCirclePlus, faUserNurseHairLong, faDiamond, faSquareLeft, faArrowAltSquareLeft, faFaceGrinSquint, faGrinSquint, faCircleEllipsisVertical, faHandHoldingDollar, faHandHoldingUsd, faGridDividers, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faFacePensive, faUserMusic, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faMessagesDollar, faCommentsAltDollar, faSensorOn, faBalloon, faBiohazard, faChessQueenPiece, faChessQueenAlt, faLocationCrosshairs, faLocation, faMarsDouble, faHousePersonLeave, faHouseLeave, faHousePersonDepart, faRulerTriangle, faCardClub, faChildDress, faUsersBetweenLines, faLungsVirus, faSpinnerThird, faFaceGrinTears, faGrinTears, faPhone, faComputerMouseScrollwheel, faMouseAlt, faCalendarXmark, faCalendarTimes, faChildReaching, faTableLayout, faNarwhal, faRampLoading, faCalendarCirclePlus, faToothbrush, faBorderInner, faPawClaws, faKiwiFruit, faTrafficLightSlow, faRectangleCode, faHeadSideVirus, faKeyboardBrightness, faBooksMedical, faLightbulbSlash, faHouseBlank, faHomeBlank, faSquare5, faSquareHeart, faHeartSquare, faPuzzle, faUserGear, faUserCog, faPipeCircleCheck, faArrowUp19, faSortNumericUp, faOctagonExclamation, faDialLow, faDoorClosed, faLaptopMobile, faPhoneLaptop, faConveyorBeltBoxes, faConveyorBeltAlt, faShieldVirus, faStarfighterTwinIonEngineAdvanced, faStarfighterAltAdvanced, faDiceSix, faStarfighterTwinIonEngine, faStarfighterAlt, faRocketLaunch, faMosquitoNet, faVentDamper, faBridgeWater, faBanBug, faDebug, faPersonBooth, faTextWidth, faGarageCar, faSquareKanban, faHatWizard, faPenFancy, faCoffeePot, faMouseField, faPersonDigging, faDigging, faShowerDown, faShowerAlt, faBoxCircleCheck, faBrightness, faCarSideBolt, faOrnament, faPhoneArrowDownLeft, faPhoneArrowDown, faPhoneIncoming, faCloudWord, faHandFingersCrossed, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faArrowDownSmallBig, faSortSizeDownAlt, faBookMedical, faFaceMelting, faPoo, faPenClipSlash, faPenAltSlash, faQuoteRight, faQuoteRightAlt, faScrollOld, faGuitars, faPhoneXmark, faHose, faClockSix, faShirt, faTShirt, faTshirt, faBillboard, faSquareR, faCubes, faEnvelopeOpenDollar, faDivide, faSunCloud, faLampFloor, faSquare7, faTengeSign, faTenge, faHeadphones, faHandsHolding, faCampfire, faCircleAmpersand, faSnowflakes, faHandsClapping, faRepublican, faLeafMaple, faArrowLeft, faPersonCircleXmark, faRuler, faCupStrawSwoosh, faTemperatureSun, faTemperatureHot, faAlignLeft, faDiceD6, faRestroom, faHighDefinition, faRectangleHd, faJ, faGalaxy, faUsersViewfinder, faFileVideo, faCherries, faUpRightFromSquare, faExternalLinkAlt, faCircleSort, faSortCircle, faTableCells, faTh, faFilePdf, faSiren, faArrowUpToDottedLine, faImageLandscape, faLandscape, faTankWater, faCurlingStone, faCurling, faGamepadModern, faGamepadAlt, faMessagesQuestion, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faBriefcaseArrowRight, faExpandWide, faClockElevenThirty, faRv, faUserSecret, faOtter, faDreidel, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faFlowerTulip, faPeoplePantsSimple, faCloudDrizzle, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faSolarSystem, faSealQuestion, faPhoneVolume, faVolumeControlPhone, faDiscDrive, faHatCowboySide, faTableRows, faRows, faLocationExclamation, faMapMarkerExclamation, faFaceFearful, faClipboardUser, faBusSchool, faFilmSlash, faSquareArrowDownRight, faBookSparkles, faBookSpells, faWashingMachine, faWasher, faChild, faLiraSign, faUserVisor, faFilePlusMinus, faChessClockFlip, faChessClockAlt, faSatellite, faPlaneLock, faSteeringWheel, faTag, faStretcher, faBookSection, faBookLaw, faInboxes, faCoffeeBean, faCircleYen, faBracketsCurly, faEllipsisStrokeVertical, faEllipsisVAlt, faComment, faSquare1, faCakeCandles, faBirthdayCake, faCake, faHeadSide, faEnvelope, faDollyEmpty, faFaceTissue, faAnglesUp, faAngleDoubleUp, faBinRecycle, faPaperclip, faChartLineDown, faArrowRightToCity, faLockA, faRibbon, faLungs, faPersonPinball, faArrowUp91, faSortNumericUpAlt, faAppleCore, faCircleY, faH6, faLitecoinSign, faCircleSmall, faBorderNone, faArrowTurnDownLeft, faCircleNodes, faParachuteBox, faMessageMedical, faCommentAltMedical, faRugbyBall, faCommentMusic, faIndent, faTreeDeciduous, faTreeAlt, faPuzzlePieceSimple, faPuzzlePieceAlt, faTruckFieldUn, faNfcTrash, faHourglass, faHourglassEmpty, faMountain, faFileXmark, faFileTimes, faHouseHeart, faHomeHeart, faHouseChimneyBlank, faMeterBolt, faUserDoctor, faUserMd, faSlashBack, faCircleInfo, faInfoCircle, faFishingRod, faHammerCrash, faMessageHeart, faCloudMeatball, faCameraPolaroid, faCamera, faCameraAlt, faSquareVirus, faCartArrowUp, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faBuoyMooring, faSquare4, faHandHoldingDroplet, faHandHoldingWater, faTricycleAdult, faWaveform, faWater, faStarSharpHalfStroke, faStarSharpHalfAlt, faNfcSignal, faPlaneProp, faCalendarCheck, faClockDesk, faCalendarClock, faCalendarTime, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faPlateUtensils, faFamilyPants, faHoseReel, faHouseWindow, faLandmark, faTruck, faCrosshairs, faCloudRainbow, faPersonCane, faAlien, faTent, faLaptopBinary, faVestPatches, faPeopleDressSimple, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faBowlingBallPin, faBellSchoolSlash, faPlusLarge, faMoneyBillWheat, faCameraViewfinder, faScreenshot, faMessageMusic, faCommentAltMusic, faCarBuilding, faBorderBottomRight, faBorderStyleAlt, faOctagon, faCommentArrowUpRight, faOctagonDivide, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faTvMusic, faHardDrive, faHdd, faReel, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faAlarmExclamation, faHouseMedicalCircleCheck, faTrafficCone, faGrate, faArrowDownRight, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPersonFromPortal, faPortalExit, faPlaneArrival, faCowbellCirclePlus, faCowbellMore, faCircleLeft, faArrowAltCircleLeft, faDistributeSpacingVertical, faSignalBarsFair, faSignalAlt2, faSportsball, faGameConsoleHandheldCrank, faTrainSubway, faSubway, faChartGantt, faFaceSmileUpsideDown, faBallPile, faBadgeDollar, faMoneyBillsSimple, faMoneyBillsAlt, faListTimeline, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faKeyboardDown, faCircleUpRight, faCloudBoltMoon, faThunderstormMoon, faDna, faVirusSlash, faBracketRoundRight, faCircleSterling, faCircle5, faMinus, faSubtract, faFireFlame, faFlame, faRightToLine, faArrowAltToRight, faGif, faChess, faTrashSlash, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faFontCase, faStreetView, faArrowDownLeft, faFrancSign, faFlaskRoundPoison, faFlaskPoison, faVolumeOff, faBookCircleArrowRight, faChartUser, faUserChart, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faPresentationScreen, faPresentation, faCircleBolt, faFaceSmileHalo, faCartCircleArrowDown, faHousePersonReturn, faHousePersonArrive, faHouseReturn, faMessageXmark, faCommentAltTimes, faMessageTimes, faFileCertificate, faFileAward, faUserDoctorHairLong, faCameraSecurity, faCameraHome, faGear, faCog, faDropletSlash, faTintSlash, faBookHeart, faMosque, faDuck, faMosquito, faStarOfDavid, faFlagSwallowtail, faFlagAlt, faPersonMilitaryRifle, faCarGarage, faCartShopping, faShoppingCart, faBookFont, faShieldPlus, faVials, faEyeDropperFull, faDistributeSpacingHorizontal, faTabletRugged, faTemperatureSnow, faTemperatureFrigid, faMoped, faFaceSmilePlus, faSmilePlus, faRadioTuner, faRadioAlt, faFaceSwear, faWaterArrowDown, faWaterLower, faScannerTouchscreen, faCircle7, faPlugCirclePlus, faPersonSkiJumping, faSkiJump, faPlaceOfWorship, faWaterArrowUp, faWaterRise, faWaveformLines, faWaveformPath, faSplit, faFilmCanister, faFilmCannister, faFolderXmark, faFolderTimes, faToiletPaperBlank, faToiletPaperAlt, faTabletScreen, faTabletAndroidAlt, faHexagonVerticalNftSlanted, faFolderMusic, faDisplayMedical, faDesktopMedical, faShareAll, faPeapod, faChessClock, faAxe, faSquareD, faGripVertical, faMobileSignalOut, faArrowTurnUp, faLevelUp, faU, faArrowUpFromDottedLine, faSquareRootVariable, faSquareRootAlt, faLightSwitchOn, faArrowDownArrowUp, faSortAlt, faRaindrops, faDash, faMinusLarge, faClock, faClockFour, faInputNumeric, faTruckTow, faBackwardStep, faStepBackward, faPallet, faCarBolt, faArrowsMaximize, faExpandArrows, faFaucet, faCloudSleet, faLampStreet, faListRadio, faPenNibSlash, faBaseballBatBall, faSquareUpLeft, faOverline, faS, faTimeline, faKeyboard, faArrowsFromDottedLine, faUsbDrive, faBallot, faCaretDown, faLocationDotSlash, faMapMarkerAltSlash, faCards, faHouseChimneyMedical, faClinicMedical, faBoxingGlove, faGloveBoxing, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faBellSchool, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faFolderHeart, faCircleLocationArrow, faLocationCircle, faFaceHeadBandage, faSushiRoll, faMakiRoll, faMakizushi, faCarBump, faPiggyBank, faRacquet, faCarMirrors, faIndustryWindows, faIndustryAlt, faBoltAuto, faBatteryHalf, faBattery3, faFluxCapacitor, faMountainCity, faCoins, faHoneyPot, faOlive, faKhanda, faFilterList, faOutlet, faSliders, faSlidersH, faCauldron, faPeople, faFolderTree, faNetworkWired, faCroissant, faMapPin, faHamsa, faCentSign, faSwordsLaser, faFlask, faPersonPregnant, faSquareU, faWandSparkles, faRouter, faEllipsisVertical, faEllipsisV, faSwordLaserAlt, faTicket, faPowerOff, faCoin, faLaptopSlash, faRightLong, faLongArrowAltRight, faCircleB, faPersonDressSimple, faPipeCollar, faLightsHoliday, faCitrus, faFlagUsa, faLaptopFile, faTty, faTeletype, faChartTreeMap, faDiagramNext, faPersonRifle, faClockFiveThirty, faPipeValve, faArrowUpFromArc, faFaceSpiralEyes, faCompressWide, faCirclePhoneHangup, faPhoneCircleDown, faGearComplexCode, faHouseMedicalCircleExclamation, faBadminton, faClosedCaptioning, faPersonHiking, faHiking, faRightFromLine, faArrowAltFromLeft, faVenusDouble, faImages, faCalculator, faShuttlecock, faUserHair, faEyeEvil, faPeoplePulling, faN, faGarage, faCableCar, faTram, faShovelSnow, faCloudRain, faFaceLying, faSprinkler, faBuildingCircleXmark, faPersonSledding, faSledding, faGameConsoleHandheld, faShip, faClockSixThirty, faBatterySlash, faTugrikSign, faArrowsDownToLine, faDownload, faShelves, faInventory, faCloudSnow, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faOven, faCloudBinary, faEyeDropper, faEyeDropperEmpty, faEyedropper, faCommentCaptions, faCommentsQuestion, faScribble, faRotateExclamation, faFileCircleCheck, faGlass, faLoader, faForward, faUserPilot, faMobile, faMobileAndroid, faMobilePhone, faCodePullRequestClosed, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faFaceDotted, faFaceWorried, faOutdent, faDedent, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faVectorCircle, faCarCircleBolt, faCalendarWeek, faFlyingDisc, faLaptopMedical, faSquareDownRight, faB, faSeatAirline, faMoonOverSun, faEclipseAlt, faPipe, faFileMedical, faPotato, faDiceOne, faCircleA, faHelmetBattle, faButter, faBlanketFire, faKiwiBird, faCastle, faGolfClub, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faChartPieSimpleCircleDollar, faBalloons, faMillSign, faBowlRice, faTimelineArrow, faSkull, faGameBoardSimple, faGameBoardAlt, faCircleVideo, faVideoCircle, faChartScatterBubble, faHouseTurret, faBanana, faHandHoldingSkull, faPeopleDress, faLoveseat, faCouchSmall, faTowerBroadcast, faBroadcastTower, faTruckPickup, faBlockQuote, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faMoneyCheckDollarPen, faMoneyCheckEditAlt, faUpFromLine, faArrowAltFromBottom, faUpload, faHurricane, faGridRound2Plus, faPeoplePants, faMound, faWindsock, faCircleHalf, faBrakeWarning, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faSaxophoneFire, faSaxHot, faCameraWebSlash, faWebcamSlash, faFolderMedical, faFolderGear, faFolderCog, faHandWave, faArrowUpArrowDown, faSortUpDown, faCaravan, faShieldCat, faMessageSlash, faCommentAltSlash, faBolt, faZap, faTrashCanCheck, faGlassWater, faOilWell, faPersonSimple, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faGearCode, faNotes, faRubleSign, faRouble, faRub, faRuble, faTrashUndo, faTrashArrowTurnLeft, faChampagneGlass, faGlassChampagne, faObjectsAlignCenterHorizontal, faSun, faTrashCanSlash, faTrashAltSlash, faScreenUsers, faUsersClass, faGuitar, faSquareArrowLeft, faArrowSquareLeft, faSquare8, faFaceSmileHearts, faBracketsSquare, faBrackets, faLaptopArrowDown, faHockeyStickPuck, faHouseTree, faSignalFair, faSignal2, faFaceLaughWink, faLaughWink, faCircleDollar, faDollarCircle, faUsdCircle, faHorseHead, faArrowsRepeat, faRepeatAlt, faBoreHole, faIndustry, faImagePolaroid, faWaveTriangle, faPersonRunningFast, faCircleDown, faArrowAltCircleDown, faGrill, faArrowsTurnToDots, faChartMixed, faAnalytics, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faDisplayCode, faDesktopCode, faFaceDrooling, faOilTemperature, faOilTemp, faSquareQuestion, faQuestionSquare, faAirConditioner, faAngleDown, faMountains, faOmega, faCarTunnel, faPersonDollyEmpty, faPanFood, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faTicketsAirline, faAnchorCircleXmark, faEllipsis, faEllipsisH, faNfcSlash, faChessPawn, faKitMedical, faFirstAid, faGrid2Plus, faBells, faPersonThroughWindow, faToolbox, faEnvelopeDot, faEnvelopeBadge, faHandsHoldingCircle, faBug, faBowlChopsticks, faCreditCard, faCreditCardAlt, faCircleS, faBoxBallot, faCar, faAutomobile, faHandHoldingHand, faUserTieHair, faPodiumStar, faUserHairMullet, faBusinessFront, faPartyBack, faTrianBalbot, faMicrophoneStand, faBookOpenReader, faBookReader, faFamilyDress, faCircleX, faCabin, faMountainSun, faChartSimpleHorizontal, faBluetooth, faArrowsLeftRightToLine, faHandBackPointLeft, faMessageDots, faCommentAltDots, faMessaging, faFileHeart, faBeerMug, faBeerFoam, faDiceD20, faDrone, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faBed, faBookCopy, faSquareH, faHSquare, faSquareC, faClockTwo, faSquareEllipsisVertical, faCalendarUsers, faPodcast, faBee, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faCandyBar, faChocolateBar, faXmarkLarge, faPinata, faArrowsFromLine, faSuperscript, faBowlSpoon, faHexagonCheck, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faTrafficLightStop, faPaintRoller, faAccentGrave, faHandshakeAngle, faHandsHelping, faCircle0, faDialMedLow, faLocationDot, faMapMarkerAlt, faCrab, faBoxOpenFull, faBoxFull, faFile, faGreaterThan, faQuotes, faPretzel, faPersonSwimming, faSwimmer, faArrowDown, faUserRobotXmarks, faMessageQuote, faCommentAltQuote, faCandyCorn, faFolderMagnifyingGlass, faFolderSearch, faNotebook, faDroplet, faTint, faBullseyePointer, faEraser, faHexagonImage, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faCrateApple, faAppleCrate, faPersonBurst, faGameBoard, faHatChef, faHandBackPointRight, faDove, faSnowflakeDroplets, faBatteryEmpty, faBattery0, faGrid4, faSocks, faFaceSunglasses, faInbox, faSquare0, faSection, faSquareThisWayUp, faBoxUp, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faSquareAmpersand, faEnvelopeOpenText, faLampDesk, faHospital, faHospitalAlt, faHospitalWide, faPollPeople, faWhiskeyGlassIce, faGlassWhiskeyRocks, faWineBottle, faChessRook, faUserBountyHunter, faBarsStaggered, faReorder, faStream, faDiagramSankey, faCloudHailMixed, faCircleUpLeft, faDharmachakra, faObjectsAlignLeft, faOilCanDrip, faFaceSmilingHands, faBroccoli, faRouteInterstate, faEarMuffs, faHotdog, faTransporterEmpty, faPersonWalkingWithCane, faBlind, faAngle90, faRectangleTerminal, faKite, faDrum, faScrubber, faIceCream, faHeartCircleBolt, faFishBones, faDeerRudolph, faFax, faParagraph, faHeadSideHeart, faSquareE, faMeterFire, faCloudHail, faCheckToSlot, faVoteYea, faMoneyFromBracket, faStarHalf, faCarBus, faSpeaker, faTimer, faBoxesStacked, faBoxes, faBoxesAlt, faGrillHot, faBallotCheck, faLink, faChain, faEarListen, faAssistiveListeningSystems, faFileMinus, faTreeCity, faPlay, faFont, faCupTogo, faCoffeeTogo, faSquareDownLeft, faBurgerLettuce, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faChevronsDown, faChevronDoubleDown, faTrashCanArrowUp, faTrashRestoreAlt, faSignalGood, faSignal3, faLocationQuestion, faMapMarkerQuestion, faFloppyDiskCircleXmark, faFloppyDiskTimes, faSaveCircleXmark, faSaveTimes, faNairaSign, faPeach, faTaxiBus, faBracketCurly, faBracketCurlyLeft, faLobster, faCartFlatbedEmpty, faDollyFlatbedEmpty, faColon, faCartArrowDown, faWand, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faTablePicnic, faSquarePen, faPenSquare, faPencilSquare, faCircleMicrophoneLines, faMicrophoneCircleAlt, faDisplaySlash, faDesktopSlash, faSuitcaseRolling, faPersonCircleExclamation, faTransporter2, faHandsHoldingDiamond, faHandReceiving, faMoneyBillSimpleWave, faChevronDown, faBatteryFull, faBattery, faBattery5, faBellPlus, faBookArrowRight, faHospitals, faClub, faSkullCrossbones, faDropletDegree, faDewpoint, faCodeCompare, faListUl, faListDots, faHandHoldingMagic, faWatermelonSlice, faCircleEllipsis, faSchoolLock, faTowerCell, faSdCards, faJugBottle, faDownLong, faLongArrowAltDown, faEnvelopes, faPhoneOffice, faRankingStar, faChessKing, faNfcPen, faPersonHarassing, faHatWinter, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faBoneBreak, faArrowUp, faDownFromDottedLine, faTv, faTelevision, faTvAlt, faBorderLeft, faCircleDivide, faShrimp, faListCheck, faTasks, faDiagramSubtask, faJugDetergent, faCircleUser, faUserCircle, faSquareY, faUserDoctorHair, faPlanetRinged, faMushroom, faUserShield, faMegaphone, faWreathLaurel, faCircleExclamationCheck, faWind, faBoxDollar, faBoxUsd, faCarBurst, faCarCrash, faY, faUserHeadset, faArrowsRetweet, faRetweetAlt, faPersonSnowboarding, faSnowboarding, faSquareChevronRight, faChevronSquareRight, faLacrosseStickBall, faTruckFast, faShippingFast, faUserMagnifyingGlass, faStarSharp, faCommentHeart, faCircle1, faCircleStar, faStarCircle, faFish, faCloudFog, faFog, faWaffle, faMusicNote, faMusicAlt, faHexagonExclamation, faCartShoppingFast, faObjectUnion, faUserGraduate, faStarfighter, faCircleHalfStroke, faAdjust, faArrowRightLongToLine, faSquareArrowDown, faArrowSquareDown, faDiamondHalfStroke, faClapperboard, faSquareChevronLeft, faChevronSquareLeft, faPhoneIntercom, faLinkHorizontal, faChainHorizontal, faMango, faMusicNoteSlash, faMusicAltSlash, faCircleRadiation, faRadiationAlt, faFaceTongueSweat, faGlobeStand, faBaseball, faBaseballBall, faCircleP, faAwardSimple, faJetFighterUp, faDiagramProject, faProjectDiagram, faPedestal, faChartPyramid, faSidebar, faSnowmanHead, faFrostyHead, faCopy, faBurgerGlass, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faBarsFilter, faPaintbrushPencil, faPartyBell, faUserVneckHair, faJackOLantern, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faKeynote, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faHatBeach, faPlus, faAdd, faExpand, faComputer, faFort, faCloudCheck, faXmark, faClose, faMultiply, faRemove, faTimes, faFaceSmirking, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faRhombus, faClawMarks, faPesoSign, faFaceSmileTongue, faCartCircleXmark, faBuildingShield, faCirclePhoneFlip, faPhoneCircleAlt, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faKeySkeleton, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faArrowDownToBracket, faLinesLeaning, faSquareQ, faRulerCombined, faSymbols, faIconsAlt, faCopyright, faFlaskGear, faHighlighterLine, faBracketSquare, faBracket, faBracketLeft, faIslandTropical, faIslandTreePalm, faArrowRightFromLine, faArrowFromLeft, faH2, faEquals, faCakeSlice, faShortcake, faPeanut, faWrenchSimple, faBlender, faTeeth, faTally2, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faCars, faAxeBattle, faUserHairLong, faMap, faFileCircleInfo, faFaceDisappointed, faLassoSparkles, faClockEleven, faRocket, faSirenOn, faClockTen, faCandleHolder, faVideoArrowDownLeft, faPhotoFilm, faPhotoVideo, faFloppyDiskCircleArrowRight, faSaveCircleArrowRight, faFolderMinus, faPlanetMoon, faFaceEyesXmarks, faChartScatter, faDisplayArrowDown, faStore, faArrowTrendUp, faPlugCircleMinus, faOliveBranch, faAngle, faVacuumRobot, faSignHanging, faSign, faSquareDivide, faSignalStreamSlash, faBezierCurve, faEyeDropperHalf, faStoreLock, faBellSlash, faCloudBoltSun, faThunderstormSun, faCameraSlash, faCommentQuote, faTablet, faTabletAndroid, faSchoolFlag, faMessageCode, faGlassHalf, faGlassHalfEmpty, faGlassHalfFull, faFill, faMessageMinus, faCommentAltMinus, faAngleUp, faDinosaur, faDrumstickBite, faLinkHorizontalSlash, faChainHorizontalSlash, faHollyBerry, faNose, faChevronLeft, faBacteria, faClouds, faMoneyBillSimple, faHandLizard, faTablePivot, faFilterSlash, faTrashCanUndo, faTrashCanArrowTurnLeft, faTrashUndoAlt, faNotdef, faDisease, faPersonToDoor, faTurntable, faBriefcaseMedical, faGenderless, faChevronRight, faSignalWeak, faSignal1, faClockFive, faRetweet, faCarRear, faCarAlt, faPumpSoap, faComputerClassic, faFrame, faVideoSlash, faBatteryQuarter, faBattery2, faEllipsisStroke, faEllipsisHAlt, faRadio, faBabyCarriage, faCarriageBaby, faFaceExpressionless, faDownToDottedLine, faCloudMusic, faTrafficLight, faCloudMinus, faThermometer, faShieldMinus, faVrCardboard, faCarTilt, faGaugeCircleMinus, faBrightnessLow, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faConveyorBelt, faLocationCheck, faMapMarkerCheck, faCoinVertical, faDisplay, faPersonSign, faFaceSmile, faSmile, faPhoneHangup, faSignatureSlash, faThumbtack, faThumbTack, faWheatSlash, faTrophy, faCloudsSun, faPersonPraying, faPray, faHammer, faFaceVomit, faSpeakers, faTtyAnswer, faTeletypeAnswer, faMugTeaSaucer, faDiagramLeanCanvas, faAlt, faDial, faDialMedHigh, faHandPeace, faCircleTrash, faTrashCircle, faRotate, faSyncAlt, faCircleQuarters, faSpinner, faTowerControl, faArrowUpTriangleSquare, faSortShapesUp, faWhale, faRobot, faPeace, faPartyHorn, faGears, faCogs, faSunBright, faSunAlt, faWarehouse, faConveyorBeltArm, faLockKeyholeOpen, faLockOpenAlt, faSquareFragile, faBoxFragile, faSquareWineGlassCrack, faArrowUpRightDots, faSquareN, faSplotch, faFaceGrinHearts, faGrinHearts, faMeter, faMandolin, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faUpFromBracket, faKnifeKitchen, faBorderRight, faArrowTurnDown, faLevelDown, faSpade, faCardSpade, faLineColumns, faArrowRightToLine, faArrowToRight, faPersonFallingBurst, faFlagPennant, faPennant, faConveyorBeltEmpty, faUserGroupSimple, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faCamcorder, faVideoHandheld, faPancakes, faAlbumCircleUser, faQrcode, faDiceD10, faFireplace, faBrowser, faPenPaintbrush, faPencilPaintbrush, faFishCooked, faChairOffice, faNestingDolls, faClockRotateLeft, faHistory, faTrumpet, faFaceGrinBeamSweat, faGrinBeamSweat, faFireSmoke, faPhoneMissed, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faArrowsRepeat1, faRepeat1Alt, faGunSlash, faAvocado, faBinary, faGlassesRound, faGlassesAlt, faPhonePlus, faDitto, faPersonSeat, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faScythe, faPenNib, faBanParking, faParkingCircleSlash, faTentArrowTurnLeft, faFaceDiagonalMouth, faDiagramCells, faCricketBatBall, faCricket, faTents, faWandMagic, faMagic, faDog, faPenLine, faAtomSimple, faAtomAlt, faAmpersand, faCarrot, faArrowUpFromLine, faArrowFromBottom, faMoon, faPenSlash, faWineGlassEmpty, faWineGlassAlt, faSquareStar, faCheese, faSendBackward, faYinYang, faMusic, faCompassSlash, faClockOne, faFileMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faDisplayChartUpCircleCurrency, faSkeleton, faCircleG, faCircleArrowUpLeft, faCoinBlank, faBroom, faVacuum, faShieldHeart, faCardHeart, faLightbulbCflOn, faMelon, faGopuram, faEarthOceania, faGlobeOceania, faContainerStorage, faFacePouting, faSquareXmark, faTimesSquare, faXmarkSquare, faFaceExplode, faExplodingHead, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faTransformerBolt, faHippo, faChartColumn, faCassetteVhs, faVhs, faInfinity, faVialCircleCheck, faChimney, faObjectIntersect, faPersonArrowDownToLine, faVoicemail, faBlockBrick, faWallBrick, faFan, faBagsShopping, faParagraphLeft, faParagraphRtl, faPersonWalkingLuggage, faCaravanSimple, faCaravanAlt, faTurtle, faPencilMechanical, faUpDown, faArrowsAltV, faCloudMoonRain, faBoothCurtain, faCalendar, faBoxHeart, faTrailer, faUserDoctorMessage, faUserMdChat, faBahai, faHaykal, faAmpGuitar, faSdCard, faVolumeSlash, faBorderBottom, faWifiWeak, faWifi1, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faDeleteRight, faBookQuran, faQuran, faCircleQuarter, faAnchor, faBorderAll, faFunction, faFaceAngry, faAngry, faPeopleSimple, faCookieBite, faArrowTrendDown, faRss, faFeed, faFaceMonocle, faDrawPolygon, faScaleBalanced, faBalanceScale, faCalendarLines, faCalendarNote, faArrowDownBigSmall, faSortSizeDown, faGaugeSimpleHigh, faTachometer, faTachometerFast, faDoNotEnter, faShower, faDiceD8, faDesktop, faDesktopAlt, faM, faGripDotsVertical, faFaceViewfinder, faSoftServe, faCreemee, faH5, faHandBackPointDown, faTableList, faThList, faCommentSms, faSms, faRectangle, faRectangleLandscape, faClipboardListCheck, faTurkey, faBook, faUserPlus, faIceSkate, faCheck, faBatteryThreeQuarters, faBattery4, faTomato, faSwordLaser, faHouseCircleCheck, faBuildings, faAngleLeft, faCartFlatbedBoxes, faDollyFlatbedAlt, faDiagramSuccessor, faTruckArrowRight, faSquareW, faArrowsSplitUpAndLeft, faLamp, faAirplay, faHandFist, faFistRaised, faShieldQuartered, faSlashForward, faLocationPen, faMapMarkerEdit, faCloudMoon, faPotFood, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faPrintSlash, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faHandBackPointRibbon, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faTireRugged, faLightbulbDollar, faCowbell, faBahtSign, faCorner, faChevronsRight, faChevronDoubleRight, faBookOpen, faBookJournalWhills, faJournalWhills, faInhaler, faHandcuffs, faSnake, faTriangleExclamation, faExclamationTriangle, faWarning, faNoteMedical, faDatabase, faDownLeft, faShare, faArrowTurnRight, faMailForward, faFaceThinking, faTurnDownRight, faBottleDroplet, faMaskFace, faHillRockslide, faScannerKeyboard, faCircleO, faGridHorizontal, faMessageDollar, faCommentAltDollar, faRightLeft, faExchangeAlt, faColumns3, faPaperPlane, faRoadCircleExclamation, faDungeon, faHandHoldingBox, faInputText, faWindowFlip, faWindowAlt, faAlignRight, faScannerGun, faScanner, faTire, faEngine, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCircleCaretRight, faCaretCircleRight, faWheat, faFileSpreadsheet, faAudioDescriptionSlash, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faChessPawnPiece, faChessPawnAlt, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faSquareS, faRectangleBarcode, faBarcodeAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faUnicorn, faBowlingBall, faPompebled, faBrain, faWatchSmart, faBookUser, faSensorCloud, faSensorSmoke, faClapperboardPlay, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faCircle4, faGifts, faAlbumCollection, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faCloudShowers, faUserClock, faOnion, faClockTwelveThirty, faArrowDownToDottedLine, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faRectangleWide, faCommentArrowUp, faGarlic, faMugSaucer, faCoffee, faBrush, faTreeDecorated, faMask, faCalendarHeart, faMagnifyingGlassMinus, faSearchMinus, faFlower, faRightLeftLarge, faRulerVertical, faCirclesOverlap, faUserLarge, faUserAlt, faStarshipFreighter, faTrainTram, faBridgeSuspension, faTrashCheck, faUserNurse, faBoombox, faSyringe, faCloudSun, faShieldExclamation, faStopwatch20, faSquareFull, faGripDots, faCommentExclamation, faPenSwirl, faFalafel, faCircle2, faMagnet, faJar, faGramophone, faDiceD12, faNoteSticky, faStickyNote, faDown, faArrowAltDown, faHundredPoints, fa100, faPaperclipVertical, faWindWarning, faWindCircleExclamation, faLocationPinSlash, faMapMarkerSlash, faFaceSadSweat, faBugSlash, faCupcake, faLightSwitchOff, faToggleLargeOff, faPenFancySlash, faTruckContainer, faBoot, faArrowUpFromWaterPump, faFileCheck, faBone, faCardsBlank, faCircle3, faBenchTree, faKeyboardBrightnessLow, faSkiBootSki, faBrainCircuit, faUserInjured, faBlockBrickFire, faFirewall, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faFaceSmileRelaxed, faCommentXmark, faCommentTimes, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faFaceNoseSteam, faCircleWaveformLines, faWaveformCircle, faDollarSign, faDollar, faUsd, faFerrisWheel, faComputerSpeaker, faSkullCow, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faCircleT, faSack, faGrid2, faCameraCctv, faCctv, faUmbrella, faTrowel, faHorizontalRule, faBedFront, faBedAlt, faD, faStapler, faMasksTheater, faTheaterMasks, faKipSign, faFaceWoozy, faCloudQuestion, faPineapple, faHandPointLeft, faGalleryThumbnails, faCircleJ, faEyes, faHandshakeSimple, faHandshakeAlt, faPageCaretUp, faFileCaretUp, faJetFighter, faFighterJet, faComet, faSquareShareNodes, faShareAltSquare, faShieldKeyhole, faBarcode, faPlusMinus, faSquareSlidersVertical, faSlidersVSquare, faVideo, faVideoCamera, faMessageMiddle, faCommentMiddleAlt, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faSquareZ, faMessageText, faCommentAltText, faTurnUp, faLevelUpAlt };\n","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"us-east-2\",\n \"aws_cloud_logic_custom\": [\n {\n \"name\": \"AdminQueries\",\n \"endpoint\": \"https://swyplhzb5f.execute-api.us-east-2.amazonaws.com/prod\",\n \"region\": \"us-east-2\"\n },\n {\n \"name\": \"portalvinoteca\",\n \"endpoint\": \"https://4kvgdvy8le.execute-api.us-east-2.amazonaws.com/prod\",\n \"region\": \"us-east-2\"\n }\n ],\n \"aws_cognito_identity_pool_id\": \"us-east-2:e3852114-a3eb-4911-a44a-2eb62d498ce1\",\n \"aws_cognito_region\": \"us-east-2\",\n \"aws_user_pools_id\": \"us-east-2_ZMqCltQX6\",\n \"aws_user_pools_web_client_id\": \"4ac01flkj09iudi9s7uaafscer\",\n \"oauth\": {},\n \"aws_cognito_username_attributes\": [],\n \"aws_cognito_social_providers\": [],\n \"aws_cognito_signup_attributes\": [],\n \"aws_cognito_mfa_configuration\": \"OFF\",\n \"aws_cognito_mfa_types\": [\n \"SMS\"\n ],\n \"aws_cognito_password_protection_settings\": {\n \"passwordPolicyMinLength\": \"10\",\n \"passwordPolicyCharacters\": [\n \"REQUIRES_LOWERCASE\",\n \"REQUIRES_UPPERCASE\",\n \"REQUIRES_NUMBERS\"\n ]\n },\n \"aws_cognito_verification_mechanisms\": [\n \"PHONE_NUMBER\"\n ]\n};\n\n\nexport default awsmobile;\n","/**\r\n * DevExtreme (esm/localization.js)\r\n * Version: 23.1.4\r\n * Build date: Fri Jul 14 2023\r\n *\r\n * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport core from \"./localization/core\";\r\nimport message from \"./localization/message\";\r\nimport number from \"./localization/number\";\r\nimport date from \"./localization/date\";\r\nimport \"./localization/currency\";\r\nexport var locale = core.locale.bind(core);\r\nexport var loadMessages = message.load.bind(message);\r\nexport var formatMessage = message.format.bind(message);\r\nexport var formatNumber = number.format.bind(number);\r\nexport var parseNumber = number.parse.bind(number);\r\nexport var formatDate = date.format.bind(date);\r\nexport var parseDate = date.parse.bind(date);\r\nexport {\r\n message,\r\n number,\r\n date\r\n};\r\nexport function disableIntl() {\r\n if (\"intl\" === number.engine()) {\r\n number.resetInjection()\r\n }\r\n if (\"intl\" === date.engine()) {\r\n date.resetInjection()\r\n }\r\n}\r\n","import React, { useState, useEffect, useRef } from 'react';\n\nimport secureLocalStorage from \"react-secure-storage\";\n\n//react-router-dom\nimport {\n Route,\n NavLink,\n HashRouter\n} from \"react-router-dom\";\n\n//Importaciones para el menu\nimport Box from '@mui/material/Box';\nimport Avatar from '@mui/material/Avatar';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Divider from '@mui/material/Divider';\nimport IconButton from '@mui/material/IconButton';\nimport Button from '@mui/material/Button';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\n\n// Modulos de Vinoteca\nimport Home from \"./Home/Home\";\nimport Signin from \"./Signin/Signin.js\";\nimport Signout from \"./Signout/Signout.js\";\nimport Signup from \"./Signup/Signup.js\";\nimport PasswordChange from \"./PasswordChange/PasswordChange.js\";\nimport Users from \"./Users/Users.js\";\nimport Locations from \"./Locations/Locations.js\";\nimport Clusters from \"./Clusters/Clusters.js\";\nimport ClusterType from \"./ClusterType/ClusterType.js\";\nimport ProductCluster from \"./ProductCluster/ProductCluster.js\";\n\nimport logo from './vinoteca.png';\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faHome } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faWrench } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faUserPlus } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faUsers } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faCircleUser } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSignInAlt } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faKey } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faSignOutAlt } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faChartNetwork } from \"@fortawesome/pro-regular-svg-icons\";\nimport { faBox } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faLocationDot } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faTag } from \"@fortawesome/pro-solid-svg-icons\";\nimport { faBoxOpenFull } from \"@fortawesome/pro-solid-svg-icons\";\n\nimport { Amplify } from 'aws-amplify';\nimport { Auth, API, Hub } from 'aws-amplify';\nimport awsconfig from './aws-exports';\n\nimport './Main.css';\n\nimport esMessages from \"devextreme/localization/messages/es.json\";\n\nimport { locale, loadMessages } from \"devextreme/localization\";\n\nimport config from \"devextreme/core/config\";\n\nAmplify.configure(awsconfig);\n\nexport default function Main(props) {\n // MENU HOME\n const [anchorHome, setAnchorHome] = React.useState(null);\n const openHome = Boolean(anchorHome);\n\n function handleClickHome(event) {\n setAnchorHome(event.currentTarget);\n };\n function handleCloseHome() {\n setAnchorHome(null);\n };\n\n // MENU ACCOUNT\n const [anchorAccount, setAnchorAccount] = React.useState(null);\n const openAccount = Boolean(anchorAccount);\n\n function handleClickAccount(event) {\n setAnchorAccount(event.currentTarget);\n };\n function handleCloseAccount() {\n setAnchorAccount(null);\n };\n\n // MENU CONFIGURATION\n const [anchorConfiguration, setAnchorConfiguration] = React.useState(null);\n const openConfiguration = Boolean(anchorConfiguration);\n\n function handleClickConfiguration(event) {\n setAnchorConfiguration(event.currentTarget);\n };\n function handleCloseConfiguration() {\n setAnchorConfiguration(null);\n };\n\n // MENU CONFIGURATION\n const [anchorCluster, setAnchorCluster] = React.useState(null);\n const openCluster = Boolean(anchorCluster);\n\n function handleClickCluster(event) {\n setAnchorCluster(event.currentTarget);\n };\n function handleCloseCluster() {\n setAnchorCluster(null);\n };\n\n const [status, setStatus] = useState('signedout');\n const [username, setUsername] = useState('');\n const [isadmin, setIsadmin] = useState('false');\n const [cluster, setCluster] = useState('false');\n const [clusterLevel, setClusterLevel] = useState('');\n const [location, setLocation] = useState('false');\n const [locationLevel, setLocationLevel] = useState('');\n const [productCluster, setProductCluster] = useState('false');\n const [productClusterLevel, setProductClusterLevel] = useState('');\n\n const [clusterType, setClusterType] = useState('false');\n const [clusterTypeLevel, setClusterTypeLevel] = useState('');\n\n async function getUserAttributes(user, newStatus) {\n // Obtenemos los atributos de los usuarios desde Netsuite\n let apiName = 'portalvinoteca';\n let path = '/procesausuario';\n\n let myInit = {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `${(await Auth.currentSession()).getAccessToken().getJwtToken()}`\n },\n body: {\n action: 'payload',\n userName: JSON.parse(JSON.stringify(user)).username,\n internalid: undefined,\n q: window.btoa(JSON.parse(JSON.stringify(user)).username)\n }\n }\n\n var userAttributes = await API.post(apiName, path, myInit);\n\n if (!userAttributes.data.internalid) {\n Signout();\n secureLocalStorage.clear();\n localStorage.clear();\n window.location.reload();\n return;\n }\n\n userAttributes.data.cluster = (userAttributes.data.cluster ? userAttributes.data.cluster : false);\n userAttributes.data.clusterType = (userAttributes.data.clusterType ? userAttributes.data.clusterType : false);\n userAttributes.data.productCluster = (userAttributes.data.productCluster ? userAttributes.data.productCluster : false);\n userAttributes.data.location = (userAttributes.data.location ? userAttributes.data.location : false);\n\n userAttributes.data.clusterLevel = (userAttributes.data.clusterLevel ? userAttributes.data.clusterLevel : 'Ver');\n userAttributes.data.clusterTypeLevel = (userAttributes.data.clusterTypeLevel ? userAttributes.data.clusterTypeLevel : 'Ver');\n userAttributes.data.productClusterLevel = (userAttributes.data.productClusterLevel ? userAttributes.data.productClusterLevel : 'Ver');\n userAttributes.data.locationLevel = (userAttributes.data.locationLevel ? userAttributes.data.locationLevel : 'Ver');\n\n setUsername(user.username);\n secureLocalStorage.setItem('username', user.username);\n\n setStatus(newStatus);\n secureLocalStorage.setItem('status', newStatus);\n\n setClusterType(userAttributes.data.clusterType);\n secureLocalStorage.setItem('clusterType', userAttributes.data.clusterType);\n\n setClusterTypeLevel(userAttributes.data.clusterTypeLevel);\n secureLocalStorage.setItem('clusterTypeLevel', userAttributes.data.clusterTypeLevel);\n\n setCluster(userAttributes.data.cluster);\n secureLocalStorage.setItem('cluster', userAttributes.data.cluster);\n\n setClusterLevel(userAttributes.data.clusterLevel);\n secureLocalStorage.setItem('clusterLevel', userAttributes.data.clusterLevel);\n\n setProductCluster(userAttributes.data.productCluster);\n secureLocalStorage.setItem('productCluster', userAttributes.data.productCluster);\n\n setProductClusterLevel(userAttributes.data.productClusterLevel);\n secureLocalStorage.setItem('productClusterLevel', userAttributes.data.productClusterLevel);\n\n setLocation(userAttributes.data.location);\n secureLocalStorage.setItem('location', userAttributes.data.location);\n\n setLocationLevel(userAttributes.data.locationLevel);\n secureLocalStorage.setItem('locationLevel', userAttributes.data.locationLevel);\n\n var groups = user.signInUserSession.accessToken.payload[\"cognito:groups\"];\n\n for (var groupIndex in groups) {\n var singleGroup = groups[groupIndex];\n\n if (singleGroup === 'Admin') {\n setIsadmin('true');\n secureLocalStorage.setItem('isadmin', 'true');\n }\n }\n }\n\n const handleAuthStateChange = React.useCallback(async (data) => {\n var newStatus;\n\n if (data.payload.event === 'signIn')\n newStatus = 'signedin';\n else if (data.payload.event === 'signOut')\n newStatus = 'signedout';\n\n if (newStatus !== 'signedin' && newStatus !== 'signedout')\n return;\n\n if (newStatus === 'signedin' || newStatus === 'signedout') {\n if (newStatus === 'signedin') {\n Auth.currentAuthenticatedUser({\n bypassCache: false\n })\n .then(user => {\n getUserAttributes(user, newStatus);\n })\n .catch(err => {\n setStatus(newStatus);\n setUsername('');\n setIsadmin('false');\n setClusterType(false);\n setClusterTypeLevel('');\n setCluster(false);\n setClusterLevel('');\n setLocation(false);\n setLocationLevel('');\n setProductCluster(false);\n setProductClusterLevel('');\n\n\n secureLocalStorage.setItem('username', '');\n secureLocalStorage.setItem('status', newStatus);\n secureLocalStorage.setItem('isadmin', 'false');\n secureLocalStorage.setItem('clusterType', false);\n secureLocalStorage.setItem('clusterTypeLevel', '');\n secureLocalStorage.setItem('cluster', false);\n secureLocalStorage.setItem('clusterLevel', '');\n secureLocalStorage.setItem('location', false);\n secureLocalStorage.setItem('locationLevel', '');\n secureLocalStorage.setItem('productCluster', false);\n secureLocalStorage.setItem('productClusterLevel', '');\n\n secureLocalStorage.clear();\n localStorage.clear();\n });\n }\n else if (newStatus === 'signedout') {\n setStatus(newStatus);\n setUsername('');\n setIsadmin('false');\n setCluster(false);\n setClusterLevel('');\n setLocation(false);\n setLocationLevel('');\n setProductCluster(false);\n setProductClusterLevel('');\n\n secureLocalStorage.setItem('username', '');\n secureLocalStorage.setItem('status', newStatus);\n secureLocalStorage.setItem('isadmin', 'false');\n secureLocalStorage.setItem('clusterType', false);\n secureLocalStorage.setItem('clusterTypeLevel', '');\n secureLocalStorage.setItem('cluster', false);\n secureLocalStorage.setItem('clusterLevel', '');\n secureLocalStorage.setItem('location', false);\n secureLocalStorage.setItem('locationLevel', '');\n secureLocalStorage.setItem('productCluster', false);\n secureLocalStorage.setItem('productClusterLevel', '');\n\n secureLocalStorage.clear();\n localStorage.clear();\n }\n }\n }, []);\n\n function signOut() {\n try {\n Auth.signOut();\n } catch (error) {\n console.log('Error signing out: ', error);\n } finally {\n secureLocalStorage.clear();\n localStorage.clear();\n }\n }\n\n // window.addEventListener(\"storage\", async function (e) {\n // if (e.key.indexOf('@secure.') >= 0) {\n // var checkLoggedIn = await Auth.currentAuthenticatedUser();\n\n // await getUserAttributes(checkLoggedIn, 'signedin');\n // }\n // }, false);\n\n useEffect(() => {\n Hub.listen('auth', handleAuthStateChange);\n\n loadMessages(esMessages);\n\n locale('es-MX');\n\n config({\n defaultCurrency: 'MXN'\n });\n\n async function checkIsLoggedIn() {\n try {\n var checkLoggedIn = await Auth.currentAuthenticatedUser();\n\n // Refrescamos los permisos desde Netsuite\n await getUserAttributes(checkLoggedIn, 'signedin');\n }\n catch (e) {\n try {\n Auth.signOut();\n } catch (error) {\n console.log('Error signing out: ', error);\n }\n }\n }\n\n checkIsLoggedIn();\n\n return () => Hub.remove('auth', handleAuthStateChange);\n }, [handleAuthStateChange]);\n\n return (\n <div>\n <HashRouter>\n <div>\n <table className=\"w-full bg-white\" >\n <tbody>\n <tr>\n <th className=\"pl-3 w-1/6 pt-2 pb-2\"><img src={logo} title=\"Vinoteca\" alt=\"Vinoteca\" width=\"280\" /></th>\n <th className=\"w-1/5\">\n </th>\n </tr>\n </tbody>\n </table>\n <React.Fragment>\n <Box sx={{ display: '-webkit-box', overflow: 'auto', alignItems: 'center', textAlign: 'center', backgroundColor: \"#4B5563\" }}>\n {/* *******MENU HOME******* */}\n <NavLink exact to=\"/\">\n <Button\n id=\"buttonHome\"\n aria-controls={openHome ? 'basic-menu' : undefined}\n aria-haspopup=\"false\"\n aria-expanded={openHome ? 'true' : undefined}\n onClick={handleClickHome}\n style={{ fontSize: '17px', color: '#FFF', backgroundColor: \"#4B5563\", margin: '0', borderRadius: 0 }}\n >\n <FontAwesomeIcon icon={faHome} size=\"lg\" />\n </Button>\n </NavLink>\n\n\n {/* *******MENU CONFIGURATION******* */}\n {status === \"signedin\" && isadmin === \"true\" ?\n (\n <div>\n <Button\n id=\"buttonConfiguration\"\n aria-controls={openConfiguration ? 'basic-menu' : undefined}\n aria-haspopup=\"true\"\n aria-expanded={openConfiguration ? 'true' : undefined}\n onClick={handleClickConfiguration}\n endIcon={<KeyboardArrowDownIcon />}\n style={{ fontSize: '15px', color: '#FFF', backgroundColor: \"#4B5563\", margin: '0', borderRadius: 0 }}\n >\n <div className=\"mr-2\"><FontAwesomeIcon icon={faWrench} size=\"lg\" /></div>Configuración\n </Button>\n <Menu\n id=\"menuConfiguration\"\n anchorEl={anchorConfiguration}\n open={openConfiguration}\n onClose={handleCloseConfiguration}\n MenuListProps={{\n 'aria-labelledby': 'basic-button',\n }}\n >\n {(status === \"signedin\" && isadmin === \"true\") ?\n (<NavLink to=\"/Signup\"><MenuItem onClick={handleCloseConfiguration}><div className=\"mr-2\"><FontAwesomeIcon icon={faUserPlus} size=\"lg\" /></div>Agregar Usuario</MenuItem></NavLink>) :\n (<div />)\n }\n {(status === \"signedin\" && isadmin === \"true\") ?\n (<NavLink to=\"/Users\"><MenuItem onClick={handleCloseConfiguration}><div className=\"mr-2\"><FontAwesomeIcon icon={faUsers} size=\"lg\" /></div>Lista de Usuarios</MenuItem></NavLink>) :\n (<div />)\n }\n </Menu>\n </div>\n ) :\n (<div></div>)\n }\n\n {/* *******MENU CLUSTER******* */}\n {status === \"signedin\" && (cluster === true || location === true || productCluster === true || clusterType === true) ?\n (\n <div>\n <Button\n id=\"buttonCluster\"\n aria-controls={openCluster ? 'basic-menu' : undefined}\n aria-haspopup=\"true\"\n aria-expanded={openCluster ? 'true' : undefined}\n onClick={handleClickCluster}\n endIcon={<KeyboardArrowDownIcon />}\n style={{ fontSize: '15px', color: '#FFF', backgroundColor: \"#4B5563\", margin: '0', borderRadius: 0 }}\n >\n <div className=\"mr-2\"><FontAwesomeIcon icon={faChartNetwork} size=\"lg\" /></div>Cluster\n </Button>\n <Menu\n id=\"menuCluster\"\n anchorEl={anchorCluster}\n open={openCluster}\n onClose={handleCloseCluster}\n MenuListProps={{\n 'aria-labelledby': 'basic-button',\n }}\n >\n {(status === \"signedin\" && clusterType === true) ?\n (<NavLink to=\"/ClusterType\"><MenuItem onClick={handleCloseCluster}><div className=\"mr-2\"><FontAwesomeIcon icon={faTag} size=\"lg\" /></div>Cluster Types</MenuItem></NavLink>) :\n (<div />)\n }\n {(status === \"signedin\" && cluster === true) ?\n (<NavLink to=\"/Clusters\"><MenuItem onClick={handleCloseCluster}><div className=\"mr-2\"><FontAwesomeIcon icon={faBox} size=\"lg\" /></div>Cluster</MenuItem></NavLink>) :\n (<div />)\n }\n {(status === \"signedin\" && location === true) ?\n (<NavLink to=\"/Locations\"><MenuItem onClick={handleCloseCluster}><div className=\"mr-2\"><FontAwesomeIcon icon={faLocationDot} size=\"lg\" /></div>Location</MenuItem></NavLink>) :\n (<div />)\n }\n {(status === \"signedin\" && productCluster === true) ?\n (<NavLink to=\"/ProductCluster\"><MenuItem onClick={handleCloseCluster}><div className=\"mr-2\"><FontAwesomeIcon icon={faBoxOpenFull} size=\"lg\" /></div>Product-Cluster</MenuItem></NavLink>) :\n (<div />)\n }\n </Menu>\n </div>\n ) :\n (<div></div>)\n }\n\n {/* *******MENU ACCOUNT******* */}\n <IconButton\n onClick={handleClickAccount}\n size=\"small\"\n sx={{ ml: 2 }}\n aria-controls={openAccount ? 'account-menu' : undefined}\n aria-haspopup=\"true\"\n aria-expanded={openAccount ? 'true' : undefined}\n >\n <Avatar sx={{ width: 30, height: 30 }}></Avatar>\n </IconButton>\n\n <Menu\n anchorEl={anchorAccount}\n id=\"account-menu\"\n open={openAccount}\n onClose={handleCloseAccount}\n onClick={handleCloseAccount}\n PaperProps={{\n elevation: 0,\n sx: {\n overflow: 'visible',\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\n mt: 1.5,\n '& .MuiAvatar-root': {\n width: 32,\n height: 32,\n ml: -0.5,\n mr: 1,\n },\n '&:before': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n top: 0,\n right: 14,\n width: 10,\n height: 10,\n bgcolor: 'background.paper',\n transform: 'translateY(-50%) rotate(45deg)',\n zIndex: 0,\n },\n },\n }}\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n >\n {status === \"signedin\" ?\n (<div>\n <MenuItem disabled={true} onClick={signOut}><div className=\"mr-2\"><FontAwesomeIcon icon={faCircleUser} size=\"xl\" /></div>Usuario {username}</MenuItem>\n <Divider />\n </div>) :\n (<div />)\n }\n\n {status === \"signedout\" ?\n (<NavLink to=\"/Signin\"><MenuItem onClick={handleCloseAccount}><div className=\"mr-2\"><FontAwesomeIcon icon={faSignInAlt} size=\"lg\" /></div>Iniciar Sesión</MenuItem></NavLink>) :\n (<div />)\n }\n {status === \"signedin\" ?\n (<div>\n <NavLink to=\"/PasswordChange\"><MenuItem onClick={handleCloseConfiguration}><div className=\"mr-2\"><FontAwesomeIcon icon={faKey} size=\"lg\" /></div>Cambiar Contraseña</MenuItem></NavLink>\n <Divider />\n </div>\n ) :\n (<div />)\n }\n {status === \"signedin\" ?\n (<NavLink to=\"/Signout\"><MenuItem onClick={signOut}><div className=\"mr-2\"><FontAwesomeIcon icon={faSignOutAlt} size=\"lg\" /></div>Cerrar Sesión</MenuItem></NavLink>) :\n (<div />)\n }\n </Menu>\n </Box>\n </React.Fragment>\n <div className=\"content\">\n <Route exact path=\"/\" render={(props) => <Home {...props} usuario={username} status={status} />} />\n\n {status === \"signedout\" ?\n (<Route exact path=\"/Signin\" render={(props) => <Signin {...props} status={status} />} />) :\n (<Route />)\n }\n\n {(status === \"signedin\" && isadmin === \"true\") ?\n (<Route exact path=\"/Signup\" render={(props) => <Signup {...props} status={status} />} />) :\n (<Route />)\n }\n {(status === \"signedin\" && isadmin === \"true\") ?\n (<Route path=\"/Users\" render={(props) => <Users {...props} status={status} />} />) :\n (<Route />)\n }\n\n {(status === \"signedin\" && location === true) ?\n (<Route path=\"/Locations\" render={(props) => <Locations {...props} status={status} nivel={locationLevel} />} />) :\n (<Route />)\n }\n {status === \"signedin\" ?\n (<Route path=\"/PasswordChange\" render={(props) => <PasswordChange {...props} />} />) :\n (<Route />)\n }\n\n {status === \"signedin\" ?\n (<Route path=\"/Signout\" component={Signout} />) :\n (<Route />)\n }\n\n {(status === \"signedin\" && cluster === true) ?\n (<Route path=\"/Clusters\" render={(props) => <Clusters {...props} usuario={username} nivel={clusterLevel} />} />) :\n (<Route />)\n }\n\n {(status === \"signedin\" && clusterType === true) ?\n (<Route path=\"/ClusterType\" render={(props) => <ClusterType {...props} usuario={username} nivel={clusterTypeLevel} />} />) :\n (<Route />)\n }\n\n {(status === \"signedin\" && productCluster === true) ?\n (<Route path=\"/ProductCluster\" render={(props) => <ProductCluster {...props} usuario={username} nivel={productClusterLevel} />} />) :\n (<Route />)\n }\n </div>\n </div>\n </HashRouter>\n </div>\n );\n}","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport './index.css';\n\nimport Main from './Main';\nimport reportWebVitals from './reportWebVitals';\n\nconst container = document.getElementById('root');\nconst root = createRoot(container);\n\nroot.render(\n <React.StrictMode>\n <Main />\n </React.StrictMode>\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["msSubtleCryptoMethods","exports","window","quacksLikeAnMsWindow","undefined","msCrypto","subtle","_a","getRandomValues","subtle_1","map","methodName","concat","every","method","tslib_1","__exportStar","require","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","__createBinding","o","m","k","k2","__values","__read","ar","error","__spread","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__esModule","default","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","get","__classPrivateFieldSet","set","name","hash","SHA_256_HASH","Uint8Array","ie11Sha256_1","webCryptoSha256_1","sha256_js_1","supports_web_crypto_1","ie11_detection_1","util_locate_window_1","Sha256","secret","supportsWebCrypto","locateWindow","isMsWindow","update","data","encoding","digest","isEmptyData_1","constants_1","util_utf8_browser_1","operation","keyOperation","importKey","toArrayBufferView","SHA_256_HMAC_ALGO","oncomplete","Error","onerror","getKeyPromise","keyData","sign","catch","toHash","_this","isEmptyData","process","finish","fromUtf8","ArrayBuffer","isView","buffer","byteOffset","byteLength","BYTES_PER_ELEMENT","enumerable","util_1","crypto","convertToBuffer","typedArray","EMPTY_DATA_SHA_256","RawSha256","state","Int32Array","from","INIT","temp","bufferLength","bytesHashed","finished","position","MAX_HASHABLE_LENGTH","BLOCK_SIZE","hashBuffer","bitsHashed","bufferView","DataView","undecoratedLength","setUint8","setUint32","Math","floor","out","DIGEST_LENGTH","state0","state1","state2","state3","state4","state5","state6","state7","u","t1_1","t2_1","t1","KEY","t2","Uint32Array","pow","RawSha256_1","outer","inner","input","bufferHash","bufferFromSecret","digestSync","subtleCryptoMethods","supportsSecureRandom","supportsSubtleCrypto","generateKey","_b","encrypt","iv","additionalData","tagLength","Buffer","convertToBuffer_1","numToUint8_1","numToUint8","uint32ArrayFrom_1","uint32ArrayFrom","num","a_lookUpTable","return_array","fallbackWindow","self","TextEncoder","encode","textEncoderFromUtf8","bytes","len","charCodeAt","surrogatePair","jsFromUtf8","toUtf8","TextDecoder","decode","textEncoderToUtf8","decoded","byte","String","fromCharCode","nextByte","encoded","byteValue","toString","join","decodeURIComponent","jsToUtf8","InfernoEffectHost","lockCount","lock","callbacks","callEffects","effects","forEach","callback","areObjectsEqual","firstObject","secondObject","firstObjectKeys","keys","secondObjectKeys","some","BaseInfernoComponent","_Component","_inherits","_super","_createSuper","_classCallCheck","_pendingContext","context","_createClass","nextProps","nextState","props","Component","InfernoComponent","_BaseInfernoComponent","_super2","_this2","_effects","_nextProps","_nextState","_context","_this3","createEffects","_this4","updateEffects","dispose","destroyEffects","InfernoWrapperComponent","_InfernoComponent","_super3","_this5","vDomElement","el","currentClasses","className","split","addedClasses","filter","dxClasses","previous","removedClasses","indexInRemoved","removed","splice","added","indexInAdded","findDOMfromVNode","$LI","_get","_getPrototypeOf","classList","add","remove","shouldUpdate","vDomUpdateClasses","contextId","createContext","defaultValue","id","Provider","_defineProperty","children","InfernoEffect","effect","dependency","destroy","currentDependency","createReRenderEffect","reRender","ERROR_MSG","isNull","isSamePropsInnerHTML","dom","Boolean","dangerouslySetInnerHTML","__html","innerHTML","tempdom","document","createElement","isSameInnerHTML","hydrateChildren","parentVNode","parentNode","currentNode","isSVG","lifecycle","childFlags","flags","_M","hydrateVNode","nextSibling","appendChild","createTextNode","childNodes","nodeType","textContent","nodeValue","prevVNodeIsTextNode","child","removeChild","firstChild","hydrateText","vNode","parentDOM","replaceChild","text","currentDom","isClass","type","ref","EMPTY_OBJ","instance","_CI","$CX","_MCCC","_HI","renderFunctionalComponent","_MFCC","hydrateComponent","_ME","_MP","removeAttribute","setAttribute","_MR","hydrateElement","findLastDOMFromVNode","hydrateFragment","message","throwError","hydrate","render","listener","$V","isFunction","getContainer","container","item","renderTemplate","template","_component","setTimeout","hasTemplate","properties","NUMBER_STYLES","Set","isNumeric","Number","isNaN","getNumberStyleValue","style","uppercasePattern","kebabCase","str","replace","toLowerCase","normalizeStyles","styles","entries","reduce","acc","_ref","_ref2","_slicedToArray","StyleSheet","options","_insertTag","tag","before","tags","insertionPoint","prepend","insertBefore","isSpeedy","speedy","ctr","nonce","_proto","nodes","insert","rule","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","flush","abs","trim","pattern","replacement","indexof","search","charat","index","substr","begin","end","slice","strlen","sizeof","append","array","line","column","character","characters","node","root","parent","return","copy","prev","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","output","stringify","element","compile","parse","rules","rulesets","pseudo","points","declarations","offset","atrule","property","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","x","z","identifierWithPointTracking","getRules","parsed","toRules","fixedElements","WeakMap","compat","isImplicitRule","parentRules","removeLabel","prefix","defaultStylisPlugins","combine","exec","match","createCache","ssrStyles","querySelectorAll","getAttribute","head","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","cache","registered","memoize","fn","arg","EmotionCacheContext","React","HTMLElement","withEmotionCache","func","forwardRef","useContext","ThemeContext","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","obj","string","isArray","_key","interpolated","_i","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","args","stringMode","strings","lastIndex","identifierName","h","hashString","useInsertionEffect","useInsertionEffectAlwaysWithSyncFallback","_interopRequireDefault","_createSvgIcon","_jsxRuntime","_default","jsx","_utils","createSvgIcon","createMixins","breakpoints","mixins","_toolbar","_extends","toolbar","minHeight","up","black","white","A100","A200","A400","A700","_excluded","light","primary","secondary","disabled","divider","background","paper","common","action","active","hover","hoverOpacity","selected","selectedOpacity","disabledBackground","disabledOpacity","focus","focusOpacity","activatedOpacity","dark","icon","addLightOrDark","intent","direction","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","lighten","main","darken","createPalette","palette","_palette$mode","mode","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","other","_objectWithoutPropertiesLoose","blue","getDefaultPrimary","purple","getDefaultSecondary","red","getDefaultError","info","lightBlue","getDefaultInfo","success","green","getDefaultSuccess","warning","orange","getDefaultWarning","getContrastText","getContrastRatio","augmentColor","color","_ref$mainShade","mainShade","_ref$lightShade","lightShade","_ref$darkShade","darkShade","_formatMuiErrorMessage","JSON","contrastText","modes","deepmerge","grey","caseAllCaps","textTransform","defaultFontFamily","createTypography","typography","_ref$fontFamily","fontFamily","_ref$fontSize","fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","pxToRem","coef","buildVariant","letterSpacing","casing","round","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline","inherit","clone","createShadow","easing","easeInOut","easeOut","easeIn","sharp","duration","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","getAutoHeightDuration","height","constant","createTransitions","inputTransitions","mergedEasing","mergedDuration","_options$duration","durationOption","_options$easing","easingOption","_options$delay","delay","animatedProp","mobileStepper","fab","speedDial","appBar","drawer","modal","snackbar","tooltip","createTheme","_options$mixins","mixinsInput","_options$palette","paletteInput","_options$transitions","transitions","transitionsInput","_options$typography","typographyInput","vars","systemTheme","systemCreateTheme","muiTheme","shadows","_len","argument","unstable_sxConfig","defaultSxConfig","unstable_sx","styleFunctionSx","sx","theme","defaultTheme","isEmpty","propsToClassKey","variant","classKey","sort","capitalize","shouldForwardProp","prop","systemDefaultTheme","resolveTheme","themeId","rootShouldForwardProp","styled","_input$defaultTheme","_input$rootShouldForw","_input$slotShouldForw","slotShouldForwardProp","systemSx","__mui_systemSx","inputOptions","processStyles","componentName","componentSlot","slot","inputSkipVariantsResolver","skipVariantsResolver","inputSkipSx","skipSx","overridesResolver","shouldForwardPropOption","isStringTag","defaultStyledResolver","styledEngineStyled","muiStyledResolver","styleArg","expressions","expressionsWithDefaultTheme","stylesArg","__emotion_real","transformedStyleArg","styleOverrides","components","getStyleOverrides","resolvedStyleOverrides","_ref3","slotKey","slotStyle","_theme$components","_theme$components$nam","_props$ownerState","ownerState","variantsStyles","themeVariants","themeVariant","isMatch","variantsResolver","definition","getVariantStyles","numOfCustomFnsApplied","placeholders","fill","_toConsumableArray","muiName","withConfig","createStyled","THEME_ID","useThemeProps","useTheme","params","defaultProps","resolveProps","getThemeProps","systemUseThemeProps","getSvgIconUtilityClass","generateUtilityClass","generateUtilityClasses","SvgIconRoot","_theme$transitions","_theme$transitions$cr","_theme$transitions2","_theme$transitions2$d","_theme$typography","_theme$typography$pxT","_theme$typography2","_theme$typography2$px","_theme$typography3","_theme$typography3$px","_palette$ownerState$c","_palette","_palette$ownerState$c2","_palette2","_palette2$action","_palette3","_palette3$action","userSelect","width","display","transition","small","medium","large","SvgIcon","inProps","_props$color","_props$component","component","_props$fontSize","htmlColor","_props$inheritViewBox","inheritViewBox","titleAccess","_props$viewBox","viewBox","instanceFontSize","more","classes","slots","composeClasses","useUtilityClasses","_jsxs","as","clsx","focusable","role","_jsx","path","displayName","timeout","wait","debounced","clearTimeout","clear","validator","reason","muiNames","componentNameInError","globalId","maybeReactUseId","idOverride","reactId","_React$useState","_React$useState2","defaultId","setDefaultId","useGlobalId","propName","location","propFullName","controlled","defaultProp","isControlled","current","valueState","setValue","newValue","unstable_ClassNameGenerator","configure","ClassNameGenerator","ownerDocument","ownerWindow","useEnhancedEffect","useEventCallback","useForkRef","hadFocusVisibleRecentlyTimeout","hadKeyboardEvent","hadFocusVisibleRecently","inputTypesWhitelist","url","tel","email","password","number","date","month","week","time","datetime","handleKeyDown","event","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","visibilityState","isFocusVisible","matches","tagName","readOnly","isContentEditable","focusTriggersKeyboardModality","doc","addEventListener","isFocusVisibleRef","onFocus","onBlur","reactPropsRegex","isPropValid","test","registerStyles","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","optionsShouldForwardProp","__emotion_forwardProp","Insertion","insertStyles","newStyled","targetClassName","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","classInterpolations","registeredStyles","classNames","rawClassName","getRegisteredStyles","finalShouldForwardProp","newProps","withComponent","nextTag","nextOptions","bind","emStyled","internal_processStyles","processor","values","xs","sm","md","lg","xl","defaultBreakpoints","handleBreakpoints","propValue","styleFromPropValue","themeBreakpoints","breakpoint","cssKey","createEmptyBreakpointObject","_breakpointsInput$key","breakpointsInput","removeUnusedBreakpoints","breakpointKeys","breakpointOutput","clamp","min","max","decomposeColor","charAt","re","RegExp","colors","parseInt","hexToRgb","marker","substring","colorSpace","parseFloat","recomposeColor","getLuminance","rgb","l","hslToRgb","val","toFixed","foreground","lumA","lumB","alpha","coefficient","sortBreakpointsValues","breakpointsAsArray","breakpoint1","breakpoint2","borderRadius","_options$breakpoints","spacingInput","spacing","_options$shape","shape","shapeInput","_breakpoints$values","_breakpoints$unit","unit","_breakpoints$step","sortedValues","down","between","start","endIndex","only","not","keyIndex","createBreakpoints","mui","transform","createUnarySpacing","argsInput","createSpacing","directions","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","_prop$split","_prop$split2","dir","marginKeys","paddingKeys","spacingKeys","createUnaryUnit","themeKey","_getPath","themeSpacing","getPath","getValue","transformer","transformed","resolveCssProperty","cssProperties","cssProperty","getStyleFromPropValue","merge","margin","padding","propTypes","filterProps","checkVars","getStyleValue","themeMapping","propValueFinal","userValue","_options$cssProperty","handlers","borderTransform","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","compose","gap","columnGap","rowGap","paletteTransform","sizingTransform","maxWidth","_props$theme","_props$theme$breakpoi","_props$theme$breakpoi2","breakpointsValues","minWidth","maxHeight","bgcolor","backgroundColor","pt","pr","pb","pl","px","py","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd","mt","mr","mb","ml","mx","my","marginTop","marginRight","marginBottom","marginLeft","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","displayPrint","overflow","textOverflow","visibility","whiteSpace","flexBasis","flexDirection","flexWrap","justifyContent","alignItems","alignContent","alignSelf","justifyItems","justifySelf","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","top","right","bottom","left","boxShadow","boxSizing","fontStyle","textAlign","getThemeValue","config","_props","_theme$unstable_sxCon","_ref4","_ref4$theme","traverse","sxInput","sxObject","emptyBreakpoints","breakpointsKeys","css","styleKey","maybeFn","objects","allKeys","object","union","objectsHaveSameKeys","unstable_createStyleFunctionSx","contextTheme","useThemeWithoutDefault","defaultGenerator","generate","reset","createClassNameGenerator","toUpperCase","getUtilityClass","utilityClass","createChainedFunction","funcs","_len2","_key2","isPlainObject","deepClone","source","formatMuiErrorMessage","code","encodeURIComponent","globalStateClassesMapping","checked","completed","expanded","focused","focusVisible","required","globalStatePrefix","globalStateClass","defaultView","defaultSlotProps","slotProps","slotPropName","setRef","refs","module","utils","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","defaults","Cancel","onCanceled","requestData","requestHeaders","headers","responseType","cancelToken","unsubscribe","signal","removeEventListener","isFormData","request","XMLHttpRequest","auth","username","unescape","Authorization","btoa","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","err","open","paramsSerializer","onreadystatechange","readyState","responseURL","onabort","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","Axios","mergeConfig","axios","createInstance","defaultConfig","extend","instanceConfig","CancelToken","isCancel","VERSION","all","promises","spread","isAxiosError","__CANCEL__","executor","resolvePromise","promise","_listeners","onfulfilled","_resolve","throwIfRequested","InterceptorManager","dispatchRequest","validators","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","use","eject","isAbsoluteURL","combineURLs","requestedURL","enhanceError","transformData","throwIfCancellationRequested","transformRequest","adapter","transformResponse","toJSON","description","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","rawValue","parser","encoder","isString","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","serializedParams","parts","isDate","toISOString","hashmarkIndex","relativeURL","write","expires","domain","secure","cookie","isNumber","Date","toGMTString","now","payload","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","href","protocol","host","hostname","port","pathname","requestURL","normalizedName","ignoreDuplicateOf","arr","thing","deprecatedWarnings","version","formatMessage","opt","opts","console","warn","schema","allowUnknown","getPrototypeOf","pipe","product","assignValue","stripBOM","content","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","toStringTag","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","reverse","find","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","configurable","writable","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","isEngine","is","versionName","vendor","model","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","global","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","list","pos","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","ret","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","stringtrim","base64clean","src","dst","lowerCase","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","noCase","splitRegexp","stripRegexp","_c","_d","pascalCaseTransform","firstChar","lowerChars","pascalCaseTransformMerge","pascalCase","camelCaseTransform","camelCaseTransformMerge","camelCase","upperCaseFirst","capitalCaseTransform","capitalCase","upperCase","constantCase","dotCase","headerCase","paramCase","pathCase","sentenceCaseTransform","sentenceCase","snakeCase","hasOwn","argType","pairs","dec","pair","tryDecode","enc","fieldContentRegExp","maxAge","toUTCString","httpOnly","sameSite","factory","undef","CryptoJS","C","BlockCipher","lib","C_algo","algo","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","x2","x4","x8","RCON","AES","_doReset","_nRounds","_keyPriorReset","keyWords","words","keySize","sigBytes","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","M","_doCryptBlock","decryptBlock","nRounds","s0","s1","s2","s3","t0","t3","_createHelper","Cipher","C_lib","Base","WordArray","BufferedBlockAlgorithm","C_enc","Base64","Utf8","EvpKDF","cfg","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","init","xformMode","_xformMode","dataUpdate","_append","_process","finalize","_doFinalize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","decrypt","ciphertext","C_mode","StreamCipher","blockSize","BlockCipherMode","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","block","_prevBlock","processBlock","thisBlock","Pkcs7","pad","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","unpad","CipherParams","modeCreator","_minBufferSize","_mode","__creator","_doProcessBlock","finalProcessedBlocks","_data","cipherParams","mixIn","formatter","OpenSSLFormatter","format","OpenSSL","salt","openSSLStr","ciphertextWords","encryptor","cipherCfg","algorithm","_parse","OpenSSLKdf","kdf","execute","hasher","random","compute","derivedParams","globalThis","cryptoSecureRandomInt","randomBytes","F","subtype","overrides","$super","propertyName","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","thatByte","ceil","nBytes","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","escape","utf8Str","_nDataBytes","doFlush","processedWords","dataWords","dataSigBytes","nBlocksReady","nWordsReady","nBytesReady","Hasher","messageUpdate","_createHmacHelper","HMAC","parseLoop","base64Str","base64StrLength","reverseMap","bitsCombined","_map","base64Chars","triplet","paddingChar","_reverseMap","paddingIndex","MD5","iterations","derivedKey","derivedKeyWords","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","T","sin","_hash","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","nBitsTotalL","H_i","HmacMD5","W","SHA1","HmacSHA1","CheckBox","check_box_1","PropTypes","_WidgetClass","subscribableOptions","independentEvents","_defaults","_instance","accessKey","activeStateEnabled","bool","elementAttr","enableThreeStateBehavior","focusStateEnabled","oneOfType","hint","hoverStateEnabled","iconSize","isValid","onContentReady","onDisposing","onInitialized","onOptionChanged","onValueChanged","rtlEnabled","tabIndex","validationErrors","validationMessageMode","oneOf","validationMessagePosition","validationStatus","visible","DX_REMOVE_EVENT","ComponentBase","events","react_dom_1","templates_manager_1","templates_renderer_1","templates_store_1","options_manager_1","widget_config_1","tree_1","utils_1","isPortalComponent","_templateProps","_childNodes","useRequestAnimationFrameFlag","useDeferUpdateForTemplates","_setTemplatesRendererRef","_createWidget","_templatesStore","TemplatesStore","_templatesRendererRef","scheduleUpdate","_templatesManager","_optionsManager","OptionsManager","displayContentsStyle","isIE","componentDidMount","_element","_updateCssClasses","componentDidUpdate","prevProps","_getConfig","scheduleGuards","unscheduleGuards","componentWillUnmount","triggerHandler","templatesRenderAsynchronously","getInitialOptions","option","setInstance","on","buildConfigTree","templates","initialValuesProps","predefinedValuesProps","expectedChildren","_expectedChildren","_getElementProps","elementProps","elementPropNames","prevClassName","getClassName","newClassName","renderChildren","renderContent","portalContainer","forceUpdate","renderPortal","createPortal","Fragment","TemplatesRenderer","templatesStore","PureComponent","component_base_1","extension_component_1","_extensionCreators","_registerExtension","_createExtensions","clearExtensions","Children","isPrototypeOf","ExtensionComponent","cloneElement","onMounted","creator","getOption","useLegacyTemplateEngine","optionName","getChanges","changesAccum","addRemovedValues","fullName","configCollections","configs","currentCollection","prevCollection","updatedCollection_1","buildNode","mergeNameParts","compareCollections","currentTemplatesOptions","currentTemplates","prevTemplatesOptions","prevTemplates","buildTemplates","currentTemplate","prevTemplate","compareTemplates","removedOptions","currentOptions","prevOptions","appendRemovedValues","ElementType","getElementInfo","template_1","parentExpectedChildren","reactElement","Unknown","Template","elementDescriptor","OptionName","name_1","isCollectionItem","IsCollectionItem","expectation","Option","descriptor","isCollection","TemplateProps","DefaultsProps","PredefinedProps","ExpectedChildren","getNamedTemplate","getAnonymousTemplate","templateMeta","hasTranscludedContent","tmplOption","isAnonymous","keyFn","processChildren","element_1","templates_1","parentElement","parentFullName","collectionItem","createConfigNode","configNode","separatedValues","separateProps","childrenData","predefinedOptions","initialOptions","widgetDescriptor","findValueInObject","findValue","buildConfig","ValueType","optionsAccum","templatesAccum","templateName","ignoreInitialValues","Simple","Complex","optionInfo","parseOptionName","childCollection","shallowEquals","ua","trident","first","second","createDxTemplate","helpers_1","template_wrapper_1","createContentProvider","renderedTemplates","DoubleKeyMap","templateId","key1","key2","prevTemplateId","onRemoved","setDeferredRemove","delete","generateID","Node","ELEMENT_NODE","one","contentProvider","TemplateWrapper","onDidMount","off","onRendered","capitalizeFirstLetter","Map","innerMap","NestedOption","stateChildren","comparer_1","optionsManagers","guardTimeoutHandler","optionManager","execGuards","templatesManager","guards","isUpdating","wrapOptionValue","currentConfig","rootNode","templatesCount","integrationOptions","changedOptions","optionChangedHandler","changes","beginUpdate","resetOption","currentPropValue","endUpdate","valueDescriptor","callOptionChangeHandler","addGuard","valuesAreEqual","valuesAreEqualObjects","skipOptionsRollBack","isOptionSubscribable","isIndependentEvent","optionValue","startsWith","eventName","changeEvent","handler","TableNodeNames","ReactDOM","removalListenerStyle","_removalListenerRef","createRef","removalListenerRequired","_onDxRemove","getPreviousSiblingNode","_subscribeOnRemove","hiddenNode","hiddenElement","_listenerElement","previousSibling","_subscribeOnElementRemoval","setState","removalListener","nodeName","findProps","requiredPropsCheck","isRequired","config_1","dx_template_1","normalizeProps","dxkey","contentCreators","contentGetter","TemplatesManager","_templates","_templatesContent","contentCreator","frame_1","common_1","updateScheduled","mounted","shouldRepeatForceUpdate","isUpdateFuncLaunched","useDeferUpdate","deferUpdate","requestAnimationFrame","renderWrappers","onTemplateAdded","_onTemplateAdded","templateFunc","isDeferredRemove","removeDefferedTemplate","getOwnPropertyNames","classNamePropName","defaultsProps","templateProps","knownTemplates","defaultOptionName","Hide","HeaderFilter","GroupPanel","GroupOperationDescriptions","GroupItem","GroupingTexts","Grouping","From","FormItem","Format","Form","FilterRow","FilterPanelTexts","FilterPanel","FilterOperationDescriptions","FilterBuilderPopup","FilterBuilder","FieldLookup","Field","ExportTexts","Export","EmailRule","EditingTexts","Editing","DataGridSelection","DataGridHeaderFilterTexts","DataGridHeaderFilterSearch","DataGridHeaderFilter","CustomRule","CustomOperation","CursorOffset","CompareRule","ColumnLookup","ColumnHeaderFilterSearch","ColumnHeaderFilter","ColumnFixingTexts","ColumnFixing","ColumnChooserSelection","ColumnChooserSearch","ColumnChooser","Column","Collision","ColCountByScreen","Change","Button","BoundaryOffset","At","AsyncRule","Animation","DataGrid","ValueFormat","ValidationRule","TotalItem","ToolbarItem","Toolbar","To","Texts","SummaryTexts","Summary","StringLengthRule","StateStoring","Sorting","SortByGroupSummaryInfo","Show","Selection","SearchPanel","Search","Scrolling","RowDragging","RequiredRule","RemoteOperations","RangeRule","Position","Popup","PatternRule","Paging","Pager","OperationDescriptions","Offset","NumericRule","My","MasterDetail","Lookup","LoadPanel","Label","KeyboardNavigation","Item","data_grid_1","component_1","nested_option_1","defaultColumns","defaultEditing","defaultFilterPanel","defaultFilterValue","defaultFocusedColumnIndex","defaultFocusedRowIndex","defaultFocusedRowKey","defaultGroupPanel","defaultPaging","defaultSearchPanel","defaultSelectedRowKeys","defaultSelectionFilter","columnChooser","columnFixing","dataGridHeaderFilter","dataGridSelection","editing","export","filterBuilder","filterBuilderPopup","filterPanel","filterRow","grouping","groupPanel","headerFilter","keyboardNavigation","loadPanel","masterDetail","pager","paging","remoteOperations","rowDragging","scrolling","searchPanel","selection","sortByGroupSummaryInfo","sorting","stateStoring","summary","allowColumnReordering","allowColumnResizing","autoNavigateToFocusedRow","cacheEnabled","cellHintEnabled","columnAutoWidth","columnHidingEnabled","columnMinWidth","columnResizingMode","columnWidth","customizeColumns","dateSerializationFormat","errorRowEnabled","filterSyncEnabled","filterValue","focusedColumnIndex","focusedRowEnabled","focusedRowIndex","highlightChanges","keyExpr","noDataText","onAdaptiveDetailRowPreparing","onCellClick","onCellDblClick","onCellHoverChanged","onCellPrepared","onContextMenuPreparing","onDataErrorOccurred","onEditCanceled","onEditCanceling","onEditingStart","onEditorPrepared","onEditorPreparing","onExporting","onFocusedCellChanged","onFocusedCellChanging","onFocusedRowChanged","onFocusedRowChanging","onInitNewRow","onKeyDown","onRowClick","onRowCollapsed","onRowCollapsing","onRowDblClick","onRowExpanded","onRowExpanding","onRowInserted","onRowInserting","onRowPrepared","onRowRemoved","onRowRemoving","onRowUpdated","onRowUpdating","onRowValidating","onSaved","onSaving","onSelectionChanged","onToolbarPreparing","renderAsync","repaintChangesOnly","rowAlternationEnabled","selectedRowKeys","selectionFilter","showBorders","showColumnHeaders","showColumnLines","showRowLines","syncLookupFilterValues","twoWayBindingEnabled","wordWrapEnabled","hide","show","defaultFilterValues","defaultGroupIndex","defaultSelectedFilterOperation","defaultSortIndex","defaultSortOrder","defaultVisible","defaultVisibleIndex","columnHeaderFilter","columnLookup","formItem","validationRule","columnChooserSearch","columnChooserSelection","columnFixingTexts","texts","columnHeaderFilterSearch","dataGridHeaderFilterSearch","dataGridHeaderFilterTexts","defaultChanges","defaultEditColumnName","defaultEditRowKey","change","editingTexts","form","popup","exportTexts","fieldLookup","customOperation","field","filterOperationDescriptions","groupOperationDescriptions","defaultHeight","defaultPosition","defaultWidth","defaultFilterEnabled","filterPanelTexts","operationDescriptions","defaultFormData","colCountByScreen","groupingTexts","valueFormat","to","defaultPageIndex","defaultPageSize","animation","toolbarItem","cursorOffset","defaultText","groupItem","summaryTexts","totalItem","TabPanelOptionsItem","TabPanelOptions","TabbedItem","Tab","SimpleItem","EmptyItem","ButtonOptions","ButtonItem","form_1","alignItemLabels","alignItemLabelsInAllGroups","colCount","customizeItem","items","labelLocation","labelMode","minColWidth","onEditorEnterKey","onFieldDataChanged","optionalMark","requiredMark","requiredMessage","screenByWidth","scrollingEnabled","showColonAfterLabel","showOptionalMark","showRequiredMark","showValidationSummary","validationGroup","buttonOptions","itemType","tab","tabPanelOptions","defaultItems","defaultSelectedIndex","defaultSelectedItem","tabPanelOptionsItem","load_panel_1","closeOnOutsideClick","copyRootClassesToWrapper","deferRendering","hideOnOutsideClick","hideOnParentScroll","indicatorSrc","onHidden","onHiding","onShowing","onShown","shading","shadingColor","showIndicator","showPane","TextArea","text_area_1","autoResizeEnabled","maxLength","onChange","onCopy","onCut","onEnterKey","onFocusIn","onFocusOut","onInput","onKeyUp","onPaste","placeholder","spellcheck","stylingMode","valueChangeEvent","Toast","toast_1","closeOnClick","closeOnSwipe","displayTime","Adapter","Validator","validator_1","onValidated","validationRules","SCROLLING_MODE_VIRTUAL","SCROLLING_MODE_OPTION","DATE_INTERVAL_SELECTORS","year","getFullYear","getMonth","day","getDate","quarter","hour","getHours","minute","getMinutes","getSeconds","getIntervalSelector","calculateCellValue","isDefined","isDateType","dataType","groupInterval","setEmptyText","$container","normalizeSortingInfo","normalizeSortingInfoUtility","isExpanded","formatValue","valueText","formatHelper","formatObject","getDisplayFormat","customizeText","getSummaryText","summaryItem","displayFormat","columnCaption","summaryType","getWidgetInstance","$element","editorData","dxComponents","widgetName","renderNoDataText","noDataClass","addWidgetPrefix","noDataElement","last","isVisible","_dataController","isLoading","$","addClass","appendTo","removeClass","_getNoDataText","renderLoadPanel","isLocalStore","loadPanelOptions","_loadPanel","enabled","_createComponent","calculateLoadPanelPosition","$window","getWindow","getHeight","of","boundary","collision","getIndexByKey","keyName","equalByValue","combineFilters","filters","resultFilter","checkChanges","changeNames","changesWithChangeNamesCount","equalFilterParameters","filter1","filter2","columnIndex","toComparable","selectedFilterOperation","proxyMethod","defaultResult","dataSource","_dataSource","getFormatOptionsByColumn","trueText","falseText","getDisplayValue","rowType","displayValueMap","calculateDisplayValue","calculateGroupValue","getGroupRowSummaryText","summaryItems","getFormatByDataType","getHeaderFilterGroupParameters","remoteGrouping","dataField","sharedFiltering","each","interval","sortingMethod","equalSortParameters","sortParameters1","sortParameters2","ignoreIsExpanded","selector1","selector2","originalCallback","getPointsByColumns","pointCreated","isVertical","startColumnIndex","cellsLength","notCreatePoint","eq","point","getBoundingRect","prevItemOffset","getExpandCellTemplate","allowRenderToDetachedContainer","isContinuation","row","isNewRow","rowsView","getView","setAria","localize","getSelectionRange","focusedElement","selectionStart","selectionEnd","setSelectionRange","selectionRange","focusAndSelectElement","isFocused","eventsEngine","isSelectTextOnEditingStart","editor","closest","when","_loadItemDeferred","select","getLastResizableColumnIndex","resultWidths","lastColumnIndex","hasResizableColumns","command","fixed","allowResizing","isElementInCurrentGrid","controller","getWidgetContainerClass","isVirtualRowRendering","rowRenderingMode","isVirtualMode","isAppendMode","getPixelRatio","devicePixelRatio","getContentHeightLimit","mozilla","normalizeLookupDataSource","lookupDataSourceOptions","variableWrapper","normalizeDataSourceOptions","getWrappedLookupDataSource","defaultCalculateCellValue","cachedUniqueRelevantItems","previousTake","previousSkip","hasGroupPaging","groupPaging","hasLookupOptimization","displayField","sliceItems","loadOptions","skip","take","__dataGridSourceFilter","load","Deferred","group","normalizeGroupingLoadOptions","fail","flatMap","valueExpr","DataSource","paginate","byKey","logHeaderFilterDeprecatedWarningIfNeed","logWarning","_logDeprecatedOptionWarning","since","alias","specificName","NAME","logSpecificDeprecatedWarningIfNeed","allowSearch","searchMode","hasWindow","requestID","setAnimationFrameMethods","callOnce","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","ease","convertTransitionTimingFuncToEasing","cssTransitionEasing","forceName","coeffs","easingName","x1","y1","y2","Cx","Bx","Ax","Cy","By","Ay","bezierX","derivativeX","polynomBezier","removeEventName","addNamespace","removeEvent","RELATIVE_VALUE_REGEX","ANIM_DATA_KEY","ANIM_QUEUE_KEY","TRANSFORM_PROP","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","deferred","cleanupWhen","transitionAnimation","_finishTransition","always","_cleanup","resolveWith","_completeAnimationCallback","rejectWith","animate","_startAnimation","simulatedEndEventTimer","startTime","transitionEndFired","simulatedTransitionEndFired","transitionEndEventFullName","transitionEndEventName","cleanup","waitForJSCompleteTimer","stop","fx","_simulatedTransitionEndDelay","transitionDelay","transitionDuration","transitionTimingFunction","jumpToEnd","FrameAnimationStrategy","_normalizeValue","_parseTransform","frameAnimation","currentValue","valueOf","draw","animationFrameId","getTranslateCss","delayTimeout","_animationStep","transformString","part","translateData","parseTranslate","scaleData","rotateData","translate","scale","_calcStepValue","currentDuration","calcValueRecursively","endPropValue","numericValue","FallbackToNoAnimationStrategy","noop","isSynchronous","baseConfigValidator","animationType","validate","typeMessage","errors","isObjectConfigValidator","positionAliases","at","SlideAnimationConfigurator","validateConfig","setup","locate","positioningConfig","setupPosition","_setUpConfig","clearCache","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","_from$opacity","_to$opacity","defaultFromOpacity","defaultToOpacity","fromOpacity","toOpacity","skipElementInitialStyles","animationConfigurators","custom","slide","slideIn","slideOut","fade","fadeIn","fadeOut","fromScale","toScale","getTranslate","_getCssTransform","isStringConfigValidator","defaultJSConfig","complete","defaultCssConfig","setupAnimationOnElement","configurator","strategy","getPublicElement","startAnimationOnElement","isStarted","removeData","onElementAnimationComplete","stopAnimationOnElement","startTimeout","scopedRemoveEvent","createAnimation","initialConfig","getAnimationConfigurator","animationStrategies","frame","noAnimation","getAnimationStrategy","subscribeToRemoveEvent","getAnimQueueData","destroyAnimQueueData","isAnimating","shiftFromAnimationQueue","queueData","executeAnimation","win","positionUtils","currentPosition","scrollTop","scrollLeft","animationTypes","writeAnimQueueData","pushInAnimationQueue","scrollbarWidth","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","normalizeAlign","splitPair","w","normalizeOffset","pairToObject","getAlignFactor","align","inverseAlign","calculateOversize","bounds","oversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","fit","flip","inverseData","flipfit","none","calculateScrollbarWidth","$scrollDiv","offsetWidth","clientWidth","defaultPositionResult","calculatePosition","what","$what","currentOffset","normalizeCollision","boundaryOffset","getOuterWidth","getOuterHeight","preventDefault","pageX","pageY","isWindow","devices","deviceType","visualViewport","offsetLeft","offsetTop","innerWidth","outerWidth","getWidth","innerHeight","outerHeight","ofRect","getOffsetWithoutScale","windowWidth","windowHeight","documentElement","domAdapter","hZoomLevel","touch","vZoomLevel","clientHeight","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","precise","setScaleProperty","styleAttr","stylePropIsValid","newStyleValue","setStyle","styleAttributeNode","setAttributeNode","$startElement","_currentElement$getAt","_style$match","$currentElement","currentElement","resetPosition","targetPosition","move","calculate","TRANSLATOR_DATA_KEY","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","isPercentValue","cacheTranslate","elementData","matrix","is3D","finishTransition","originalTransition","stylesConfig","offsetHeight","translateString","Action","_action","_beforeExecute","beforeExecute","_afterExecute","afterExecute","_validatingTargetName","validatingTargetName","excludeValidators","_excludeValidators","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","_executor$execute","registerExecutor","createValidatorByTargetElement","condition","$target","wrapOverridden","baseProto","prevCallBase","callBase","redefine","members","overridden","memberName","member","include","classObj","hasClassObjOwnProperty","_includedCtors","_includedPostCtors","ctor","postCtor","subclassOf","parentClass","baseClass","abstract","copyStatic","destination","classImpl","inheritor","includedCtors","includedPostCtors","clonePrototype","MemorizedCallbacks","componentClass","memberArgs","getInstance","memberValue","namespace","publicComponentName","defaultCurrency","defaultUseCurrencyAccountingStyle","oDataFilterToLower","serverDecimalSeparator","decimalSeparator","thousandsSeparator","forceIsoDateParsing","wrapActionsBeforeExecute","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","closeIcon","maxSpeedDialActionCount","optionsParser","optionsString","ex","normalizeToJSONString","exNormalize","deprecatedFields","configMethod","deprecatedField","DevExpress","getNavigator","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","DEFAULT_DEVICE","phone","ios","grade","mac","uaParsers","isPhone","isTablet","isDesktop","isMac","screen","Devices","_window","_realDevice","_getDevice","_currentDevice","_currentOrientation","_eventsStrategy","EventsStrategy","changed","Callbacks","readyCallbacks","_recalculateOrientation","resizeCallbacks","deviceOrName","_forced","fire","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","tinyHippos","device","realDevice","isSimulator","Config","_deviceClasses","_getCssClasses","_isSimulator","isRippleEmulator","deviceName","_fromConfig","_fromUA","sessionStorage","SessionStorage","getItem","shortcuts","orientation","fireEvent","_currentWidth","_changeOrientation","eventHandler","viewPortElement","viewPort","attachCssClasses","changeCallback","prevViewport","detachCssClasses","nativeDOMAdapterStrategy","elementMatches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","_document","createElementNS","ns","createAttribute","isNode","isElementNode","isTextNode","isDocument","isDocumentFragment","removeElement","insertElement","newElement","nextSiblingElement","cssText","setProperty","setText","setClass","isAdd","getDocument","getActiveElement","getRootNode","activeElement","_element$getRootNode","_element$getRootNode2","getBody","createDocumentFragment","getDocumentElement","getLocation","getSelection","getReadyState","getHead","hasDocumentProperty","listen","elementsFromPoint","activeElementHolder","getShadowElementsFromPoint","injector","cachedGetters","cachedSetters","OptionManager","optionsByReference","_options","_optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","rulesOptions","fieldName","silent","oldValue","previousValue","isRenderer","hasNegation","getPathParts","compileSetter","functionsAsIs","unwrapObservables","valueName","_prepareRelevantNames","compileGetter","normalizeOptions","_name","_setPreparedValue","callBack","Options","defaultOptions","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","onRelevantNamesPrepared","_setRelevantNames","_cachedOptions","_rules","_initialOptions","_getByRules","_setByReference","convertRulesToOptions","_normalizeName","_setField","_clearField","fieldObject","getFieldName","getParentName","previousFieldName","deprecate","_notifyDeprecated","onChanging","onChanged","initialValue","initial","getNestedOptionValue","_initial","aliasName","PostponedOperations","_postponedOperations","postponedPromise","completePromise","getEventName","actionName","Class","_setDeprecatedOptions","_deprecatedOptions","_getDeprecatedOptions","_getDefaultOptions","defaultOptionsRules","_defaultOptionsRules","_setOptionsByDevice","applyRules","_convertRulesToOptions","_isInitialOptionValue","isInitial","_setOptionsByReference","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","eventsStrategy","_updateLockCount","postponedOperations","_createOptions","_initialized","_optionChanging","onDeprecated","_notifyOptionChanged","onStartChange","onEndChange","addRules","onInitializing","_initOptions","_init","_createOptionChangedAction","fireWith","_logDeprecatedComponentWarning","_optionChangedAction","_createActionByOption","_createDisposingAction","_disposingAction","_optionChanged","_dispose","empty","_disposed","_lockUpdate","_unlockUpdate","_isUpdateAllowed","_isInitializingRequired","_initializing","isInitialized","_commitUpdate","callPostponedOperations","_initializeComponent","optionNames","getAliasesByName","_defaultActionArgs","_cancelOptionChange","initialOption","_defaultActionConfig","_createAction","actionSource","actionValue","actionFunc","hasEvent","hasActionSubscription","isOptionDeprecated","isDeprecated","_setOptionWithoutOptionChange","_getOptionValue","_this$_options","DX_POLYMORPH_WIDGET_TEMPLATE","FunctionTemplate","widget","widgetElement","widgetOptions","TemplateManager","anonymousTemplateName","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createElement","defaultCreateElement","_createTemplateIfNeeded","tempTemplate","$el","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","findTemplates","suitableTemplates","suitableTemplatesByName","detach","_createTemplate","$anonymousTemplate","contents","isEmptyText","templateSource","cachedTemplate","templateKey","validateTemplateSource","isAsyncTemplate","skipTemplates","templateSourceResult","getNormalizedTemplateArgs","EmptyTemplate","acquireTemplate","watchMethod","skipImmediate","DOMComponent","_useTemplates","createDefaultOptions","_customClass","attachInstanceToElement","_$element","_getSynchronizableOptionsForCreateComponent","_checkFunctionValueDeprecation","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_initTemplateManager","instanceCustomRules","_classCustomRules","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","windowResizeCallbacks","_renderComponent","_initMarkup","_render","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_renderDimensions","_attachVisibilityChangeHandlers","addShadowDomStyles","attributes","class","attr","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_isCssUpdateRequired","resizeEvent","_isHidden","_isVisible","visibilityEvents","_checkVisibilityChanged","_clean","_modelByElement","modelByElement","_invalidate","_requireRefresh","_refresh","_templateManager","_detachWindowResizeCallback","rtl","toggleClass","synchronizableOptions","grep","nestedComponentOptions","nestedComponentConfig","_extendConfig","extendConfig","_removeAttributes","attrs","_removeClasses","cssClass","_updateDOMComponent","renderRequired","cleanDataRecursive","_getAnonymousTemplateName","_this$option4$integra","createTemplate","_initTemplates","_this$_templateManage","extractTemplates","anonymousTemplate","_getTemplateByOption","_getTemplate","getTemplate","_saveTemplate","getInstanceByElement","dataMap","strategyChanging","beforeCleanDataFunc","afterCleanDataFunc","beforeCleanData","cleanSelf","childElements","getElementsByTagName","cleanData","setDataStrategy","elements","errorUtils","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","W0017","W0018","owner","_events","_owner","eventArgs","syncStrategy","originalAdd","Guid","_value","_normalize","_generate","memory","currentDevice","ruleOptions","deviceFilter","deviceMatch","isEmptyObject","findBestMatches","optionsObject","createDefaultOptionRules","renderer","initRender","toArray","dxRenderer","repeatMethod","setAttributeValue","attrName","toggle","removeAttr","hasClass","contains","html","isTablePart","parseHTML","appendElements","tBodies","setCss","styleProp","normalizeStyleProp","getComputedStyle","prependTo","insertAfter","after","wrap","wrapper","wrapInner","replaceWith","cloneNode","elementId","queryId","querySelector","_element$host","getClientRects","siblings","parentChildNodes","parents","targets","emptyArray","getOffset","offsetParent","getBoundingClientRect","parentOffset","offsetProp","scrollWindow","scrollTo","pageYOffset","pageXOffset","directionStrategy","getWindowByElement","rendererWrapper","ResizeObserverMock","observe","unobserve","disconnect","resizeObserverSingleton","ResizeObserverSingleton","ResizeObserver","_callbacksMap","_observer","entry","_this$_callbacksMap$g","BindableTemplate","_TemplateBase","fields","fieldsMap","_fields","_fieldsMap","_watchMethod","rawData","fieldsDispose","globalDispose","dataWithRawFields","isPrimitive","resolvedData","missedFields","watchHandlers","fieldGetter","watchChanges","TemplateBase","ChildDefaultTemplate","normalizeTemplateElement","renderedCallbacks","$result","renovated","transclude","_renderCore","_ensureResultInContainer","resultInContainer","triggerShownEvent","createOccurrenceMap","_map$get","wrapToArray","getUniqueValues","getIntersection","firstArray","secondArray","toRemoveMap","occurrencesCount","removeDuplicates","normalizeIndexes","indexPropName","currentItem","needIndexCallback","indexedItems","currentIndex","shouldUpdateIndex","orderEach","groupBy","getGroupName","groupedResult","_groupedResult$groupN","groupName","getKeyWrapper","getKey","getSameNewByOld","oldItem","newItems","newIndexByKey","isKeysEqual","oldKeys","newKeys","findChanges","oldItems","isItemEquals","oldIndexByKey","addedCount","removeCount","itemCount","newItem","oldNextIndex","nextOldItem","oldIndex","webkitRegExp","mozillaRegExp","browserFromUA","browserName","browserVersion","webkit","_wrappedHandler","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","stopOnFalse","unique","queue","fired","executingName","ensureDefined","executeAsync","normalizedContext","task","timerId","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","deferRender","deferRenderer","deferUpdater","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","targetValue","mismatch","valueItem","_raw$x","_raw$y","normalizeKey","denormalizeKey","char","charCode","preventRound","getKeyHash","keyHash","escapeRegExp","applyServerDecimalSeparator","separator","asyncNoop","checkFunction","invert","expectedCheck","compareArrays","array1","array2","depth","idx","compareByValue","strict","compareObjects","object1","object2","keys1","keys2","keys2Set","DEFAULT_EQUAL_BY_VALUE_OPTS","maxDepth","value1","value2","comparable1","comparable2","compareOptions","getConsoleMethod","logger","log","assert","unwrapVariable","isWrapped","expr","assignPropValue","prepareOptions","unwrap","functionAsIs","hasDefaultValue","pathPart","combineGetters","getters","compiledGetters","getter","pathItem","ensurePropValueDefined","lastLevelIndex","levelIndex","propertyValue","readPropValue","isPropertyFunc","deepExtendArraySafe","caseSensitive","getTime","_options$collatorOpti","collatorOptions","sensitivity","normalize","locale","toLocaleLowerCase","_construct","Parent","isNativeReflectConstruct","construct","Function","timeIntervals","millisecond","toMilliseconds","DAYS_IN_WEEK","dateUnitIntervals","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","convertDateUnitToMilliseconds","dateUnit","getDateUnitInterval","tickInterval","maxInterval","tickIntervalToFormatMap","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","dateInterval","withCorrection","firstDayOfWeek","firstQuarterMonth","oldDate","setMonth","setDate","setHours","getFirstWeekDate","fixTimezoneGap","trimTime","addDateInterval","intervalObject","getDateIntervalByString","years","setFullYear","quarters","months","weeks","days","hours","setTime","minutes","seconds","addInterval","isNegative","adjust","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","date1","date2","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","delta","getDay","getUTCTime","UTC","getFirstDateInYear","getLastDateInYear","getDayWeekNumber","normalizeDate","normalizedDate","newDate","diff","trial","getTimezonesDifference","getTimezoneOffset","dateUtils","dateToMilliseconds","getNextDateUnit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","counter","differences","getMilliseconds","setToDayEnd","roundDateByStartDayHour","startDayHour","dateTimeFromDecimal","getSequenceByInterval","cur","intervals","sameHoursAndMinutes","sameDate","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","difference","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","viewType","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","getFirstMonthDate","getWeekNumber","firstWeekDayInYear","lastWeekDayInYear","daysInFirstWeek","weekNumber","ms","getDayNumber","normalizeDateByWeek","currentDate","differenceInDays","getDatesInterval","resultDate","dateInRange","intervalsOverlap","firstMin","firstMax","secondMin","secondMax","roundToHour","setMinutes","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","startDate","endDate","intervalUnit","millisecondCount","getDatesOfInterval","view","camelize","NUMBER_SERIALIZATION_FORMAT","DATE_SERIALIZATION_FORMAT","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","dateParser","skipISO8601Parsing","getTimePart","timeZoneHour","timeZoneMinute","correctYear","parseISO8601String","isDefaultSerializationFormat","getDateSerializationFormat","parsedValue","parseDate","useUtc","getIso8601Format","deserializeDate","serializeDate","serializationFormat","getLDMLFormatter","defaultDateNames","deferredConfig","_DeferredObj","_state","_promise","callbackResult","isDeferred","isPromise","fromPromise","whenFunc","contexts","resolvedCount","updateState","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","inject","resetInjection","resetActiveElement","_activeElement$blur","blur","clearSelection","removeAllRanges","closestCommonParent","startTarget","endTarget","$startTarget","$endTarget","$startParents","$endParents","clipboardText","clipboard","originalEvent","clipboardData","getData","setData","getRootNodeHost","createTextElementHiddenCopy","elementStyles","includePaddings","fontVariant","float","isElementInDom","shadowHost","ERROR_URL","baseErrors","ERROR_MESSAGES","makeError","formatDetails","combineMessage","details","getErrorUrl","__id","__details","extendFromObject","overrideExistingValues","deep","sourceValue","sourceValueIsArray","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","col","tr","tbody","colgroup","tfoot","th","firstRootTag","tagWrapper","lastChild","ICON_CLASS","getImageSourceType","getImageContainer","_upperCaseFirst","_chop","dasherize","upperFirst","humanize","titleize","DIGIT_CHARS","captionize","captionList","isPrevCharNewWord","isNewWord","fitIntoRange","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","inRange","getExponent","toExponential","multiplyInExponentialForm","exponentShift","exponentialNotation","mantissa","exponent","getExponentialNotation","separatedAdjustedValue","precision","positionOfDelimiter","getPrecision","separatedValue","absValue","isExponentValue","isExponential","integerPart","toPrecision","Clone","isNumberX","isNumberY","assignValueToProperty","assignByReference","extendComplexObject","prevValue","getDefaultAlignment","isRtlEnabled","COMPONENT_NAMES_DATA_KEY","componentNames","nextAnonymousComponent","getName","newName","generatedName","componentInstance","disposeFn","subscribeReady","removeListener","windowExists","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","handleResize","changedDimension","setPrevSize","SelectionFilterCreator","selectedItemKeys","isSelectAll","selectedItemKeyHashesMap","getLocalFilter","keyGetter","equalKeys","equalByReference","functionFilter","getExpr","filterExpr","filterExprPart","getFilterForPlainKey","itemKeyValue","currentKeyExpr","getCombinedFilter","dataSourceFilter","forceCombinedFilter","combinedFilter","normalizeKeys","keyOf","selectedKeyHashesMap","normalizedKeys","keyValue","DX_RULE_PREFIX","ownerDocumentStyleSheet","createConstructedStyleSheet","CSSStyleSheet","styleElement","processRules","targetStyleSheet","needApplyAllStyles","_rule$selectorText","_rule$cssRules","_rule$cssRules$","_rule$cssRules$$selec","_rule$name","_rule$style","selectorText","_el$getRootNode","currentShadowDomStyleSheet","adoptedStyleSheets","isPositionInElementRectangle","rect","elementQueue","shiftIndex","createQueue","childNode","pointerEvents","SPECIAL_HEIGHT_VALUES","getSizeByStyles","getElementBoxParams","beforeName","afterName","getElementComputedStyle","_element$ownerDocumen","getCSSProperty","_element$style","boxIndices","dimensionComponents","getComponentThickness","elem","dimension","suffix","parseHeight","getContainerHeight","getHeightWithOffset","addOffsetToMaxHeight","addOffsetToMinHeight","getVerticalOffsets","withMargins","boxParams","getVisibleHeight","boundingClientRect","implementationsMap","elementSizeHelper","_len3","_key3","_len4","_key4","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len11","_key11","sizeProperty","elementSize","setWidth","setHeight","includeMargin","setOuterWidth","setOuterHeight","getInnerWidth","getInnerHeight","partialName","isOuter","isInner","isGetter","box","offsetFieldName","currentBox","targetBoxIndex","currentBoxIndex","coeff","scrollThickness","boxPart","paddingAndBorder","getSize","sizeAdjustment","isBorderBox","docElem","clientTop","clientLeft","getSessionStorage","encodeHtml","encodeRegExp","quadToObject","quad","splitQuad","placeholderReg","SPACE_REGEXP","jsPrefixes","cssPrefixes","Webkit","Moz","O","getStyles","originalName","prefixedProp","stylePropPrefix","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","setDimensionProperty","styleString","removeProperty","stylePart","_parts","maxTouchPoints","transitionEndEventNames","webkitTransition","MozTransition","OTransition","supportProp","inputType","touchEvents","hasWindowProperty","detectTouchEvents","hasProperty","detectPointerEvent","nativeScrolling","_devices$real","isNativeScrollingSupported","currentTemplateEngine","templateEngine","templateEngines","getCurrentTemplateEngine","setTemplateEngine","_compiledTemplate","rawTemplates","templatesMap","Errors","_findBestMatches$","suitableTemplate","addOneRenderedCall","templateResult","defaultTemplates","integrationTemplate","acquireIntegrationTemplate","types","typeOfObject","isBoolean","proto","jquery","isEvent","dependencyInjector","isWritableWrapped","maxLevel","normalizeArg","xItem","yItem","ready","$originalViewPort","$current","isNewViewportFound","prevViewPort","originalViewPort","hasWindowValue","windowObject","defaultScreenFactorFunc","getCurrentScreenFactor","screenFactorCallback","queryByOptions","storeHelper","storeImpl","Store","_langParams","_errorHandler","errorHandler","_useDefaultSearch","_clearCache","_customLoadOptions","_keyGetter","_requireKey","_withLock","_loadImpl","createQuery","enumerate","processRequestResultLock","totalCount","_totalCountImpl","extraOptions","_addFailHandlers","_byKeyImpl","_insertImpl","callbackValues","callbackKey","_updateImpl","beforePushArgs","waitFor","_pushImpl","_removeImpl","handleError","registerClass","Iterator","countable","ArrayIterator","WrappedIterator","iter","MapIterator","mapper","hasNext","SortIterator","langParams","_wrap","thenBy","sortedIter","_ensureSorted","_compare","_unwrap","record","wrappedItem","_getDefaultCompare","xValue","yValue","Intl","Collator","defaultCompare","xIndex","yIndex","rulesCount","compareResult","compileCriteria","_toComparable","toLocaleString","compileEquals","negate","crit","isGroupCriterion","isConjunctiveOperator","isConjunctiveNextOperator","isConjunctiveOperatorChecker","isUnaryOperation","criteria","normalizeBinaryCriterion","operatorFn","getterValue","searchValue","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","SelectIterator","SliceIterator","arrayQueryImpl","queryOptions","handleDataError","aggregateCore","aggregator","accumulator","seed","NaN","standardAggregate","aggregators","chainQuery","selectProp","setLangParams","sortBy","MAX_VALUE","aggregate","sum","avg","ArrayStore","initialArray","_array","Query","indexByKey","rejectedPromise","trivialPromise","applyBatch","keyInfo","findItems","groupCount","collapsedItems","getItems","setDataByKeyMapValue","_dataByKeyMap","_dataByKeyMapLength","cloneInstanceWithChangedPaths","clonedInstances","instanceWithoutPrototype","createObjectWithChanges","useInsertIndex","immutable","disableCache","logError","skipCopying","resultItems","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","keyOrKeys","hasKey","keysEqual","getCacheValue","newTarget","getHasKeyCacheValue","TOTAL_COUNT","LOAD","BY_KEY","INSERT","UPDATE","REMOVE","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","pendingDeferred","promiseArguments","xhr","textStatus","getResponseHeader","errorMessageFromXhrUtility","errorMessageFromXhr","XHR_ERROR_UNLOAD","invokeUserLoad","store","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","userData","itemsQuery","totalCountQuery","rawDataQuery","arrayQuery","waitList","asyncResult","requireTotalCount","CustomStore","useDefaultSearch","loadMode","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","clearRawDataCache","invokeUserTotalCountFunc","extra","_byKeyViaLoad","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","discardPendingTasks","_tasks","_busy","removeTaskCallback","busy","OperationManager","_counter","_deferreds","operationId","CANCELED_TOKEN","_options$reshapeOnPus","_store","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","throttleChanges","_onPush","_onPushHandler","_aggregationTimeoutId","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","_reshapeOnPush","reshapeOnPush","_operationManager","_items","_userData","_totalCount","_isLoaded","_isLastPage","_this$_delayedLoadTas","_delayedLoadTask","cancelAll","names","customNames","newIndex","isLastPage","generateStoreLoadOptionAccessor","normalizedArgs","normalizeStoreLoadOptionAccessorArguments","newFilter","argc","_this$_store","isLoaded","beginLoading","_changeLoadingCount","endLoading","increment","oldLoading","newLoading","_scheduleLoadCallbacks","_scheduleFailCallbacks","_fireChanged","_scheduleChangedCallbacks","loadSingle","_this6","_createStoreLoadOptions","refresh","searchString","isEmptyArray","_applyMapFunction","_this7","loadTask","isPending","_loadFromStore","loadOperation","_createLoadOperation","_this8","changingArgs","groupLevel","dataSourceChanges","postProcessChanges","_this9","storeLoadOptions","reload","_addSearchOptions","_addSearchFilter","searchFilter","_this10","handleSuccess","loadResult","normalizeLoadResult","_processStoreLoadResult","_this11","resolvePendingDeferred","_applyPostProcessFunction","mapDataRespectingGrouping","nativeXMLHttpRequest","getXhr","SUCCESS","ERROR","createScript","script","removeScript","scriptNode","appendToHead","evalScript","getRequestOptions","paramsAlreadyString","paramsConvert","getMethod","parameters","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","xml","json","jsonp","getAcceptHeader","crossDomain","sendRequest","timeoutId","httpRequest","async","originAnchor","urlAnchor","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","getJsonpOptions","requestOptions","loadHandler","evalCrossDomainScript","customStatus","setHttpTimeout","hasContent","getDataFromResponse","onprogress","onloadstart","xhrFields","beforeSend","originalArguments","mapGroup","level","restItem","mapRecursive","groupInfo","createCustomStoreFromUrl","normalizationOptions","ajaxUtils","fromUrlLoadMode","storeConfig","createCustomStoreFromLoadFunc","createStoreFromConfig","coreErrors","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","remoteQueryImpl","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","rejectWithNotify","mergeSortTask","queryAdapters","optimize","unmergedTasks","clientChain","query","queryImpl","remote","impl","multiLevelGroup","arrangeSortingInfo","sortInfo","filteredGroup","isCountQuery","_query$setLangParams","_query","keepInitialKeyOrder","unloading","textStatusMessages","parsererror","lockDeferred","obtain","release","throttled","throttle","_cache","DataControllerMock","loadFromStore","loadNextPage","addSearchFilter","resetDataSourcePageIndex","applyMapFunction","getDataSource","DataController","_this$_dataSource","DATA_SOURCE_OPTIONS_METHOD","DATA_SOURCE_CHANGED_METHOD","DATA_SOURCE_LOAD_ERROR_METHOD","DATA_SOURCE_LOADING_CHANGED_METHOD","DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD","SPECIFIC_DATA_SOURCE_OPTION","NORMALIZE_DATA_SOURCE","_disposeDataSource","_refreshDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","_isSharedDataSource","_dataSourceType","_addDataSourceHandlers","_initDataController","_this$option","dataController","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_ready","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","nodesByEvent","delegateTarget","relatedTarget","currentTarget","CLICK_EVENT_NAME","prevented","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","which","unsubscribeNodesDisposing","subscribeNodesDisposing","ClickEmitter","Emitter","getElement","blurPrevented","isDefaultPrevented","registerEmitter","emitter","bubble","CONTEXTMENU_NAMESPACE","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","holdEvent","CONTEXTMENU_EVENT_NAME","ContextMenu","_contextMenuHandler","_holdHandler","isMouseEvent","_fireContextMenu","teardown","registerEvent","activeFeedback","ACTIVE_EVENT_NAME","INACTIVE_EVENT_NAME","FeedbackEvent","_timeout","_fire","_schedule","force","_timer","FeedbackEmitter","_active","_inactive","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_cancel","_initEvents","eventTarget","_getEmitterTarget","mouseEvent","deferFeedback","_fireEvent","skipTimers","lockInactive","_cancelCallback","_acceptCallback","isDxMouseWheelEvent","validatePointers","hasTouches","allowInterruptionByMouseWheel","addCancelCallback","removeCancelCallback","addAcceptCallback","removeAcceptCallback","_accept","_requestAccept","_acceptRequestEvent","_forgetAccept","eventData","delegateSelector","MANAGER_EVENT","EMITTER_DATA","eventManager","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerDownHandler","_pointerMoveHandler","_pointerUpHandler","wheelEventName","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","emitterIndex","_allowInterruptionByMouseWheel","pointers","_adjustWheelEvent","allowInterruption","closestGestureEmitter","gesture","getDirection","shiftKey","verticalGestureDirection","isActive","EMITTER_SUBSCRIPTION_DATA","emitterConfig","emitterClass","emitterName","emitterEvents","noBubble","subscriptions","handleObj","disposeEmitter","eventObject","bindType","delegateType","touchPropsToHook","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","skipEvent","elementDataMap","guid","special","specialData","registerEventCallbacks","getField","callMethod","getHandler","normalizeOnArguments","iterate","getHandlersController","addHandler","oneTimeHandler","removeHandler","trigger","normalizeTriggerArguments","extraParameters","handlersController","callHandlers","isPropagationStopped","getParents","_element$parentNode","nativeMethodName","localName","callNativeMethod","applyForEach","itemArgs","itemElement","passiveEventHandlersSupported","isSupported","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","eventNameParts","namespaces","eventNameIsDefined","handleObjects","nativeHandler","callHandler","secondaryTargetIsInside","handlerArgs","stopPropagation","handleObject","wrappedHandler","nativeListenerOptions","subscribeName","shouldAddNativeListener","Event","passive","removeByEventName","removedHandler","isSubset","forceStop","handleCallback","isImmediatePropagationStopped","original","iterateEventNames","calculateWhich","keyCode","initEvent","EventClass","addProperty","hook","eventInstance","_propagationStopped","_immediatePropagationStopped","_defaultPrevented","propagationStopped","stopImmediatePropagation","defaultPrevented","normalizeEventArguments","_src$view","isTrusted","timeStamp","touches","changedTouches","touchPropHook","hookTouchProps","beforeSetStrategy","afterSetStrategy","subscribeGlobal","offArgs","COMPOSITION_START_EVENT","NAMESPACE","createKeyDownOptions","normalizeKeyName","ctrl","alt","KeyboardProcessor","_keydown","_compositionStart","_compositionEnd","focusTarget","_focusTarget","_handler","_processFunction","focusTargets","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","_toggleProcessingWithContext","toggleProcessing","EVENT_NAME","EVENT_NAMESPACE","wheel","_wheelHandler","_e$originalEvent","deltaMode","deltaY","deltaX","deltaZ","_normalizeDelta","pointerType","DRAG_START_EVENT","DRAG_EVENT","DRAG_END_EVENT","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","DX_DRAG_EVENTS_COUNT_KEY","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","updateEventsCounter","eventsCount","DragEmitter","GestureEmitter","_initEvent","_start","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","targetElements","dropTargets","_dropTargets","iteratorUtils","_move","eData","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_startEventData","_fitOffset","minOffset","maxOffset","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_checkDropTargetActive","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemDelegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","activeTarget","$prevTarget","dropTargetConfig","itemPositionFunc","targetSize","itemSizeFunc","getItemSize","checkDropTarget","_end","TOUCH_BOUNDARY","setGestureCover","$cover","immediate","_stage","_toggleGestureCover","_needSkipEvent","needSkipEvent","_startEvent","createEvent","_setupImmediateTimer","_this$immediateTimeou","_immediateTimer","_immediateAccepted","immediateTimeout","_directionConfirmed","_resetActiveElement","_clearSelection","_adjustStartEvent","touchBoundary","_getTouchBoundary","eventDelta","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","_toggleGestureCoverImpl","gestureCoverStrategy","gestureCover","isTouchEvent","_stop","initialTouchBoundary","newBoundary","SCROLL_EVENT","SCROLL_INIT_EVENT","SCROLL_START_EVENT","SCROLL_MOVE_EVENT","SCROLL_END_EVENT","SCROLL_STOP_EVENT","SCROLL_CANCEL_EVENT","Locker","NAMESPACED_SCROLL_EVENT","_locked","_proxiedScroll","_scroll","check","TimeoutLocker","_prepare","_forget","_clearTimer","WheelLocker","_lastWheelDirection","_checkDirectionChanged","directionChange","PointerLocker","isIos","isAndroid","_scrollFrame","_checkFrame","ScrollEmitter","FRAME_DURATION","_pointerLocker","_wheelLocker","scrollTarget","skipCheck","isNative","_prevEventData","isScrollingEvent","_savedEventData","currentEventData","endEventDelta","velocity","velocityMultiplier","scroll","DX_SWIPEABLE","ACTION_TO_EVENT_MAP","onStart","swipeEventStart","onUpdated","swipeEventSwipe","onEnd","swipeEventEnd","onCancel","Swipeable","elastic","_attachEventHandlers","_detachEventHandlers","_createEventData","_eventData","HOLD_EVENT_NAME","HoldEmitter","_startTimer","holdTimeout","_holdTimer","_touchWasMoved","_stopTimer","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","_eventName","HoverStart","HoverEnd","POINTER_EVENTS_NAMESPACE","originalEvents","_originalEvents","_handlerCount","_isNoBubble","_originalEvent$target","_getDelegateTarget","eventSource","shadowRoot","_originalEvent$path","_originalEvent$compos","composedPath","_setSelector","_selector","_getSelector","normalizeTouchEvent","pointerId","TouchStrategy","BaseStrategy","_pointerId","pointerEvent","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","observer","addEventsListener","eventMap","pointerEquals","onPointerAdding","getPointerIndex","pointer","removePointer","normalizeMouseEvent","activated","activateStrategy","Observer","MouseStrategy","activate","resetObserver","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","EventStrategy","support","getStrategy","enter","leave","over","eventPropName","pureAddNamespace","executeAction","inactive","showTimeout","hideTimeout","resize","shown","hiding","_ref5","focusIn","focusOut","_ref6","_ref7","dxClick","click","keyboardProcessors","keyboard","listenerId","_getProcessor","SWIPE_START_EVENT","SWIPE_EVENT","SWIPE_END_EVENT","STRATEGIES","horizontal","defaultItemSizeFunc","getBounds","calcOffsetRatio","_itemSizeFunc","isFastSwipe","endEventData","FAST_SWIPE_SPEED_LIMIT","_tickData","vertical","SwipeEmitter","TICK_INTERVAL","_getStrategy","_defaultItemSizeFunc","moveEventData","cancelable","offsetRatio","isFast","startOffset","targetOffset","_calcTargetOffset","eventNames","KEY_MAP","backspace","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","control","LEGACY_KEY_CODES","EVENT_SOURCES_REGEX","dx","mouse","fixMethod","isDxEvent","isNativeTouchEvent","isPointerEvent","isNativeMouseEvent","skipEvents","hasAttribute","touchInEditable","copyEvent","normalizedKey","normalizedKeyFromWhich","getChar","mappedAddNamespace","isCommandKeyPressed","triggerVisibilityChangeEvent","changeHandlers","triggerHidingEvent","triggerResizeEvent","_format","formatIsValid","valueIsValid","numberLocalization","dateLocalization","getTimeFormat","showSecond","_normalizeFormat","formatPart","getDateFormatByDifferences","dateDifferences","intervalFormat","resultFormat","needSpecialSecondFormatter","getDateFormatByTicks","ticks","maxDiff","currentDiff","startValue","endValue","correctDateDifferences","minDate","maxDate","nb","nn","parentLocales","parentLocale","DEFAULT_LOCALE","currentLocale","getValueByClosestLocale","isRootLocale","getParentLocale","_formatNumberCore","formatConfig","currencyPart","getCurrencySymbol","symbol","getOpenXmlCurrencyFormat","agq","ak","asa","ast","az","bas","be","bem","bez","bg","bm","br","bs","ca","ce","cgg","ckb","cs","cy","da","de","dje","dsb","dua","dyo","ee","eo","es","et","eu","ewo","fa","ff","fi","fo","fr","fur","fy","ga","gd","gl","gsw","gv","ha","hr","hsb","hu","hy","ia","ig","it","jgo","jmc","ka","kab","kde","kea","khq","kk","kkj","kl","ksb","ksf","ksh","ku","kw","ky","lag","lb","ln","lrc","lt","lu","lv","mfe","mg","mgo","mi","mk","mn","mua","mzn","naq","nds","nl","nmg","nnh","no","nus","nyn","pcm","ps","rm","rn","ro","rof","ru","rw","rwk","sah","sbp","sc","se","ses","sg","shi","si","sk","sl","smn","so","sq","sr","sv","sw","teo","tg","tk","tt","twq","tzm","uk","uz","vai","vi","vun","wae","wo","xog","yav","yi","yo","zgh","SYMBOLS_TO_REMOVE_REGEX","NARROW_NO_BREAK_SPACE_REGEX","getIntlFormatter","timeZoneName","recognizableAsTwentyCentury","temporaryYearValue","utcDate","formatDateTime","timeZone","formattersCache","getFormatter","localizationCoreUtils","DateTimeFormat","formatNumber","NumberFormat","getAlternativeNumeralsMap","numeralsMapCache","normalizeNumerals","dateString","alternativeNumeralsMap","removeLeadingZeroes","normalizeMonth","intlFormats","dayofweek","weekday","longdate","longdatelongtime","longtime","monthandday","monthandyear","shortdate","shorttime","shortyear","resolvedOptions","monthNameStrategies","standalone","monthIndex","monthFormat","getMonthNames","wide","abbreviated","narrow","getDayNames","dayIndex","getPeriodNames","hour12Formatter","hour12","hourNumberText","timeParts","intlFormat","getIntlFormat","formatType","_parseDateBySimpleFormat","formatParts","getFormatParts","dateParts","dateArgs","_generateDateArgs","constructValidDate","ampmShift","expected","parsedDate","hoursShift","datePart","formatUsesMonthName","formatUsesDayName","getTimeSeparator","formattedDate","hasIntl","FORMATS_TO_PATTERN_MAP","quarterandyear","shortdateshorttime","possiblePartPatterns","_getPatternByFormat","_expandPattern","partName","possiblePatterns","getQuarterNames","is24HourFormat","amTime","pmTime","amTimeFormatted","pmTimeFormatted","getLDMLDateFormatter","ldmlFormat","getLDMLDateFormat","getLDMLDateParser","firstDayOfWeekIndex","localizationCore","firstDayOfWeekData","intlDateLocalization","MONTHS","DAYS","PERIODS","QUARTERS","cutCaptions","captions","lengthByFormat","FORMAT_SEPARATORS","checkDigit","zeroCode","checkPatternContinue","patterns","isDigit","nextChar","isDigitChanged","getPatternStartIndex","defaultPattern","ESCAPE_CHARS_REGEXP","getFormat","processedIndexes","patternPositions","replacedPatterns","datePatterns","patternsFilter","getDifference","indexes","patternIndex","letterCount","baseCharIndex","replaceCharsCore","replaceChars","escapeIndexes","isCurrentCharEscaped","isPrevCharEscaped","isNextCharEscaped","escapeChars","leftPad","FORMAT_TYPES","LDML_FORMATTERS","L","Q","E","period","S","timezoneOffset","signPart","timezoneOffsetAbs","hoursPart","minutesPart","X","Z","charIndex","isCurrentCharEqualsNext","charCount","isEscaping","monthRegExpGenerator","PATTERN_REGEXPS","countSuffix","timeSeparator","parseNumber","caseInsensitiveIndexOf","monthPatternParser","monthNames","PATTERN_PARSERS","dayNames","periodNames","ORDERED_PATTERNS","PATTERN_SETTERS","datePartValues","hourPartValue","getSameCharCount","createPattern","getRegExpInfo","regexpText","stubText","addPreviousStub","regexpPart","isPossibleForParsingFormat","regexp","digitFieldSymbols","isDigitPattern","possibleForParsing","ambiguousDigitPatternsCount","getPatternSetters","regExpInfo","regExpResult","formatPatterns","maxPatternIndex","getMaxOrderedPatternIndex","orderedFormatPatterns","otherPatterns","getOrderedFormatPatterns","regExpPattern","regExpText","patternChar","partSetter","partParser","setPatternPart","setterName","setPatternPartFromNow","DEFAULT_CONFIG","ESCAPING_CHAR","MAXIMUM_NUMBER_LENGTH","PERCENT_EXPONENT_SHIFT","reverseString","removeStubs","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","formatNumberPart","valueString","escapeIndex","isEscape","signFormatParts","signParts","getSignParts","isPositive","numberFormat","floatPointIndex","getFloatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","isPercentFormat","formatString","minIntegerPrecision","maxIntegerPrecision","unlimitedIntegerDigits","integerLength","floatPrecision","groupSizes","singleQuotesLeft","valueParts","valueIntegerPart","valueFloatPart","groups","groupSize","applyGroups","integerString","floatString","parseValue","isPercent","prepareValueText","isIntegerPart","nextText","nextValueText","hasGroups","getFormatByValueText","valueTextParts","decimalSeparatorIndex","positiveFormat","negativeFormat","baseDictionary","en","Yes","No","Close","Clear","Done","Loading","Select","Back","OK","newMessages","messageLocalization","_dictionary","messages","_localizablePrefix","localizablePrefix","localizeString","regex","escapeString","localizationKey","getMessagesByLocales","getDictionary","onlyNew","coreLocalization","_getFormatterBase","localeData","getDataByLocale","stringFormat","af","am","bn","bo","brx","ccp","ceb","chr","dav","doi","dz","ebu","fil","gu","guz","haw","he","ii","ja","jv","kam","kgp","ki","kln","km","kn","ko","kok","ks","lkt","luo","luy","mai","mas","mer","mgh","mni","nd","ne","om","or","pa","qu","sa","saq","sat","sd","seh","sn","su","ta","te","ti","ug","und","ur","xh","yrl","yue","zh","zu","CURRENCY_STYLES","detectCurrencySymbolRegex","_normalizeFormatConfig","fractionDigits","minimumIntegerDigits","useGrouping","maximumFractionDigits","_getPrecisionConfig","_formatConfig$useCurr","useAccountingStyle","useCurrencyAccountingStyle","dxConfig","currency","currencySign","minimumFractionDigits","_getCurrencySymbolInfo","getCurrencyFormatter","_extractCurrencySymbolInfo","currencyValueString","targetCurrency","currencySymbol","accountingFormat","encodedCurrencySymbol","encodeSymbols","openXmlCurrencyFormat","accountingFormats","NUMERIC_FORMATS","LargeNumberFormatPostfixes","LargeNumberFormatPowers","largenumber","thousands","millions","billions","trillions","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatList","power","_calculateNumberPower","base","minPower","maxPower","_getNumberByPower","_formatNumber","powerPostfix","_formatNumberExponential","powString","_addZeroes","multiplier","_addGroupSeparators","_getSeparators","getDecimalSeparator","getThousandsSeparator","convertDigits","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","getNegativeEtalonRegExp","separators","digitalRegExp","negativeEtalon","getSign","numberConfig","formatterConfig","cleanedText","_calcSignificantDigits","_text$split","_text$split2","integer","fractional","calcDigitsAfterLeadingZeros","currencyLocalization","intlNumberLocalization","DECIMAL_BASE","adjustValue","precisionMultiplier","roundByAbs","valuePrecision","ConfigContext","onAfterRender","onPreRender","nextNode","mountNode","revertMutation","addedNodes","cleanParent","_assertThisInitialized","MutationObserver","childList","subtree","mutations","takeRecords","recordMutations","_props$model","rendered","buildTemplateContent","_this$props","isEqual","nextModel","nextTemplate","equalityComparer","nextData","cloneObjectValue","cloneObjectProp","fullNameParts","updatePropsImmutable","currentPropsValue","prevPropsValue","setDefaultOptionValue","defaultValueGetter","ComponentWrapper","_DOMComponent","_shouldRaiseContentReady","validateKeyDownHandler","allowNull","twoWay","hasComponentDefaultKeyHandlers","getSupportedKeyNames","hasComponentKeyDownMethod","_viewComponent","keyDown","_this$_viewRef","_viewRef","contentReadyOptions","_getContentReadyOptions","_checkContentReadyOption","_actionsMap","viewDefaultProps","_getViewComponentDefaultProps","_propsInfo","_extends2","defaultName","unwrappedProps","addDefaultTemplates","getDefaultTemplates","optionProxy","_getUnwrappedOption","_optionsWithDefaultTemplates","_componentTemplates","_createTemplateComponent","_getActionConfigsFull","_addAction","defaultKeyHandlers","_createDefaultKeyHandlers","getProps","_renderWrapper","containerNode","_isNodeReplaced","_fireContentReady","_removeWidget","_elementAttr","_attributes$attr$name","specified","updatedAttributes","isDomAttr","_storedClasses","elemStyle","getPropertyValue","_this$_propsInfo","defaultWidgetPropsKeys","onKeyboardHandled","widgetProps","event_options","_getAdditionalProps","_patchElementParam","_this$elementAttr$cla","_elementAttr$class","_patchOptionValues","_extractDefaultSlot","aria","_aria","prepareStyleProp","_getActionConfigs","_getAdditionalActionConfigs","_templatesInfo","templateOptions","_options$templateName","templateValue","customKeyHandlers","viewRef","actionToAdd","actionByOption","actArgs","templateOption","_model$data","buildTemplateArgs","initialHandler","IS_RENOVATED_WIDGET","BaseWidgetProps","defaultNotDeepCopyArrays","propsToIgnore","getDiffItem","resultPaths","item1","item2","fullPropName","notDeepCopyArrays","type1","type2","diffPaths","objectDiffs","_diffPaths","objectDiffsFiltered","propsEnumerator","oldProps","processItem","reactProps","objectDiffsWithoutReactProps","_excluded2","DomComponentWrapper","widgetRef","infernoCreateRef","setupWidget","updateWidget","componentProps","templateNames","_this$_effects$","componentType","updatedOptions","getUpdatedOptions","_this$config","normalizedProps","valueChange","restProps","isRenovated","restAttributes","createVNode","viewFunction","ConfigProvider","__getterCache","WidgetProps","getOwnPropertyDescriptors","_feedbackHideTimeout","_feedbackShowTimeout","freeze","addWidgetClass","Widget","_InfernoWrapperCompon","widgetElementRef","hovered","setRootElementRef","activeEffect","inactiveEffect","clickEffect","deactivate","focusInEffect","focusOutEffect","hoverStartEffect","hoverEndEffect","keyboardEffect","resizeEffect","windowResizeEffect","visibilityEffect","checkDeprecation","applyCssTextEffect","activeStateUnit","onActive","onInactive","onClick","onHoverStart","onHoverEnd","onDimensionChanged","onVisibilityChange","_this$_effects$2","_this$_effects$3","_this$_effects$4","_this$_effects$5","_this$_effects$6","_this$_effects$7","_this$_effects$8","_this$_effects$9","_this$_effects$10","_this$_effects$11","_this$_effects$12","_this$_effects$13","_this$props2","onRootElementRendered","rootElementRef","_this$props3","subscribeToDxActiveEvent","__state_argument","_this$props4","subscribeToDxInactiveEvent","_this$props5","_this$props6","subscribeToDxFocusInEvent","_this$props7","subscribeToDxFocusOutEvent","_this$props8","subscribeToDxHoverStartEvent","_this$props9","subscribeToDxHoverEndEvent","_this$props10","_this$props11","_this$props12","rtlProp","isPropDefined","onlyGlobalDefined","globalConfig","resolveRtlEnabledDefinition","_this$props13","hidden","_this$props14","computedWidth","computedHeight","_classesMap","_this$props15","isFocusable","isHoverable","canBeActive","classesMap","combineClasses","_this$props16","viewModel","cssClasses","title","shouldRenderConfigProvider","createComponentVNode","ValidationMessageProps","positionSide","isReactComponentWrapper","ValidationMessage","LegacyValidationMessage","EditorProps","validationError","inputAttr","EditorPropsType","Editor","validationMessageGuid","isValidationMessageVisible","updateValidationMessageVisibility","shouldShowValidationMessage","getCssClasses","_this$validationError","readonly","invalid","describedBy","_this3$props","allValidationErrors","_this$rootElementRef","_this$props$value","_viewModel$props","validationMessageTarget","createFragment","visualContainer","contentId","DIRECTION_VERTICAL","DIRECTION_HORIZONTAL","DIRECTION_BOTH","SCROLLABLE_CONTENT_CLASS","getRelativeOffset","targetElementClass","sourceElement","elementRect","parentElementRect","ScrollDirection","_window$getComputedSt","subscribeToEvent","subscribeToClickEvent","clickEvent","scrollEvents","toNumber","attribute","BOX_ITEM_DATA_KEY","MINSIZE_MAP","MAXSIZE_MAP","FLEX_JUSTIFY_CONTENT_MAP","center","FLEX_ALIGN_ITEMS_MAP","stretch","FLEX_DIRECTION_MAP","setFlexProp","styleExpr","BoxItem","_CollectionWidgetItem","fireItemStateChangedAction","oldState","CollectionWidgetItem","LayoutStrategy","_option","_normalizedAlign","_normalizedCrossAlign","crossAlign","$items","flexPropPrefix","$item","maxSize","minSize","baseSize","ratio","shrink","itemContent","Box","_CollectionWidget","onItemStateChanged","_itemContainer","_itemSelector","_initLayout","_initBoxQueue","_layout","renderBox","_renderAlign","_renderActions","_onItemStateChanged","renderAlign","renderCrossAlign","_queueIsNotEmpty","_shiftItemFromQueue","itemTemplate","itemHoldTimeout","onItemHold","onItemClick","onItemContextMenu","onItemRendered","renderItems","_itemElements","$itemNode","itemData","_renderItemContentByNode","boxConfig","_pushItemToQueue","CollectionWidget","ItemClass","registerComponent","ButtonWrapper","ValidationEngine","_findGroup","_clickAction","_validationGroupConfig","iconTemplate","needValidate","submitInput","validationResult","_getSubmitAction","_createClickAction","$content","$template","$input","templateData","_templateData","Icon","generalClasses","sourceType","TemplateProp","iconClassName","_ref$props","IconTemplate","InkRippleProps","InkRipple","hideWave","showWave","getConfig","initConfig","stylingModes","ButtonProps","iconPosition","useInkRipple","useSubmitBehavior","defaultOptionRules","isMaterial","contentRef","inkRippleRef","submitInputRef","submitEffect","onWidgetClick","onSubmit","_titleRegexp$exec$","_titleRegexp$exec","isValidStylingMode","inkRippleConfig","isCentered","useHoldAnimation","waveSizeCoefficient","ButtonTemplate","renderText","isIconLeft","iconComponent","iconSource","buttonTemplateData","__defaultOptionRules","_BaseComponent","_wrapKeyDownHandler","_this$viewRef4","_this$viewRef","_this$viewRef5","_this$viewRef2","_this$viewRef6","_this$viewRef3","ButtonComponent","BaseComponent","INVALID_MESSAGE_AUTO","VALIDATION_TARGET","$validationMessageWrapper","_el$getRootNode2","querySelectorInSameDocument","showValidationMessageTimeout","saveValueChangeEvent","_valueChangeEventInstance","validationRequest","_valueChangeAction","validationMessageOffset","validationTooltipOptions","innerWidget","optionsContainer","innerWidgetOptions","syncOptions","_silent","areValuesEmpty","_this$_valueChangeAct","_raiseValidation","_raiseValueChangeAction","prevIsEditor","OldEditor","newIsEditor","isEditor","_Editor","defaultIconSizes","defaultFontSizes","getThemeType","isMaterialTheme","isCompactTheme","isCompact","getFontSizeByIconSize","isChecked","defaultFontSize","_getThemeType2","getDefaultFontSize","fontToIconSizeRatio","_getThemeType","getDefaultIconSize","CheckBoxIcon","elementRef","updateFontSize","setIconFontSize","getIconSize","getComputedIconSize","newFontSize","endsWith","iconComputedStyle","cssStyles","CheckBoxProps","CheckBoxPropsType","editorRef","__newValue","_newValue","CheckBoxComponent","twoWayProps","__processTwoWayProps","CollectionItem","_rawData","$placeholder","_watchers","_renderWatchers","_startWatcher","_renderDisabled","_renderVisible","exprGetter","watcher","filteredCallback","forcibleWatcher","_dirty","setDataField","_updateOwnerFocus","isDisabled","ownerComponent","_resetItemFocus","ITEM_CLASS","CONTENT_CLASS_POSTFIX","ITEM_CONTENT_PLACEHOLDER_CLASS","TEMPLATE_WRAPPER_CLASS","ITEM_PATH_REGEX","FOCUS_UP","FOCUS_DOWN","FOCUS_LEFT","FOCUS_RIGHT","FOCUS_LAST","FOCUS_FIRST","_activeStateUnit","_supportedKeys","_moveFocus","space","_enterKeyHandler","leftArrow","rightArrow","upArrow","downArrow","pageUp","pageDown","$itemElement","_getItemData","_itemEventHandlerByHandler","_itemClickHandler","selectOnFocus","loopItemFocus","onFocusedItemChanged","encodeNoDataText","_itemAttributes","itemTemplateProperty","focusOnSelectedItem","displayExpr","disabledExpr","visibleExpr","_compileDisplayGetter","_cleanRenderedItems","_displayGetter","_initItemsFromMarkup","_initDefaultItemTemplate","_getFieldsMap","_prepareDefaultItemTemplate","_getBindableFields","rawItems","_prepareItemTemplate","_dataSourceOptions","_renderedItemsCount","_focusInHandler","_isFocusTarget","$focusedElement","_setFocusedItem","$activeItem","_getActiveItem","_focusOutHandler","_updateFocusedItemState","_findActiveTarget","activeElements","_getActiveElement","$newTarget","_getAvailableItems","_prevItem","_nextItem","_getVisibleItems","$itemElements","targetIndex","$last","loop","$first","_selectFocusedItem","selectItem","needCleanItemId","_refreshActiveDescendant","_refreshItemId","_toggleFocusClass","_updateParentActiveDescendant","getFocusedItemId","_isDisabled","isTargetDisabled","_findItemElementByItem","itemElements","_itemDataKey","_getIndexByItem","_itemOptionChanged","_refreshItem","_itemIndexKey","_renderItem","itemPath","_renderEmptyMessage","_createItemRenderAction","_attachHoldEvent","_attachContextMenuEvent","_loadNextPage","_expectNextPageLoading","_startIndexForAppendedItems","_expectLastItemLoading","_forgetNextPageLoading","_dataSourceChangedHandler","_shouldAppendItems","_refreshContent","_prepareContent","_renderContent","_dataSourceLoadErrorHandler","_allowDynamicItemsAppend","_cleanFocusState","_cleanItemContainer","_inkRipple","_resetActiveState","_itemFocusTimeout","_itemClass","_itemContentClass","_selectedItemClass","_itemResponseWaitClass","_renderContentImpl","_fireContentReadyAction","_attachClickEvent","_getPointerEvent","itemSelector","clickEventNamespace","clickEventName","pointerEventNamespace","pointerAction","_itemPointerDownHandler","_itemDXEventHandler","_itemFocusHandler","$closestItem","$closestFocusable","_closestFocusable","_forcePointerDownFocus","_updateFocusState","$itemContainer","_getHoldTimeout","_itemHoldHandler","_shouldFireHoldEvent","contextMenuEventName","_itemContextMenuHandler","_shouldFireContextMenuEvent","_renderItems","$itemToReplace","_index$item","itemIndex","$itemFrame","_renderItemFrame","_setElementData","_attachItemClickEvent","$itemContent","_getItemContent","renderContentPromise","_renderItemContent","contentClass","defaultTemplateName","_postprocessRenderItem","_executeItemRenderAction","itemTemplateName","_getItemTemplateName","_addItemContentClasses","$templateResult","_createItemByTemplate","$node","_appendItemToContainer","_itemOptions","displayValue","_getItemRenderAction","_itemRenderAction","category","templateProperty","renderArgs","_onItemTemplateRendered","_emptyMessageContainer","hideNoData","_$noData","dxEvent","handlerOptionName","actionArgs","actionConfig","_itemEventHandler","initiator","_itemEventHandlerImpl","_closestItemElement","_extendActionArgs","_getSummaryItemsWidth","_focusedItemId","itemsContainer","DataHelperMixin","ITEM_DELETING_DATA_KEY","indexExists","BaseCollectionWidget","selectedItem","selectionMode","selectionRequired","selectByClick","selectedItems","maxFilterLengthInRequest","selectedIndex","onItemReordered","onItemDeleting","onItemDeleted","_userOptions","_initEditStrategy","_initKeyGetter","_initSelectionModule","_getKeysByItems","_editStrategy","getKeysByItems","_getItemsByKeys","getItemsByKeys","_getKeyByIndex","getKeyByIndex","_getIndexByKey","_getIndexByItemData","getIndexByItemData","_isKeySpecified","_getCombinedFilter","_nullValueSelectionSupported","itemsGetter","_selection","allowNullValue","addedItemKeys","removedItemKeys","_updateSelectedItems","_getItemsCount","_dataController$loadO","customQueryParams","plainItems","dataFields","itemsCount","Strategy","PlainEditStrategy","_getSelectedItemIndices","indices","getSelectedItemKeys","beginCache","endCache","_rendering","_syncSelectionOptions","_normalizeSelectedItems","_rendered","byOption","_chooseSelectOption","getItemDataByIndex","selectedItemIndex","setSelection","isOptionDefined","_compareKeys","newSelection","currentSelection","getSelectedItems","normalizedSelection","itemSelectPromise","_this$_itemSelectHand","_itemSelectHandler","_itemSelectPromise","isItemSelected","unselectItem","_selectedItemElement","normalizedItemIndex","getNormalizedIndex","_isItemSelected","_processSelectableItem","isSelected","_setAriaSelectionAttribute","selectionChangePromise","_selectionChangePromise","normalizedIndex","addedSelection","removedSelection","_addSelection","_removeSelection","_updateSelection","_fireSelectionChangeEvent","addedItems","removedItems","getItemElement","checkPending","_clearSelectedItems","_waitDeletingPrepare","deletingActionArgs","deletePromise","deletePromiseExists","deletePromiseResolved","shouldDelete","_deleteItemFromDS","disabledState","dataStore","_tryRefreshLastPage","_refreshLastPage","_updateSelectionAfterDelete","deselect","_updateIndicesAfterIndex","_simulateOptionChange","_deleteItemElementByIndex","deleteItemAtIndex","_afterItemElementDeleted","deletedActionArgs","changingOption","deleteItem","itemResponseWaitClass","reorderItem","toItemElement","$movingItem","$destinationItem","movingIndex","destinationIndex","itemPlacementFunc","moveItemAtIndexToIndex","fromIndex","getIndex","toIndex","collectionWidget","_collectionWidget","resultIndex","_denormalizeItemIndex","_equalKeys","_isNormalizedItemIndex","_isItemIndex","_normalizeItemIndex","_isNode","_getNormalizedItemIndex","_getItemByNormalizedIndex","_itemsFromSameParent","EditStrategy","_getPlainItems","movedItemData","PRIVATE_KEY_FIELD","_this$_dataController","_customizeStoreLoadOptions","_correctionIndex","_refreshItemsCache","_findItemElementByKey","_isItemEquals","_modifyByChanges","_isItemStrictEquals","_shouldAddNewGroup","_partialRefresh","_itemsCache","itemCache","_updateByChange","isPartialRefresh","changedItem","_insertByChange","_change$index","_beforeItemElementInserted","_getItemContainer","_afterItemElementInserted","changeData","_updateSelectionAfterRemoveByChange","removeIndex","_removeByChange","$removedItemElement","FOCUS_STATE_CLASS","FOCUS_DISABLED_CLASS","GRID_ROW_SELECTOR","GRID_CELL_SELECTOR","TREELIST_ROW_SELECTOR","TREELIST_CELL_SELECTOR","viewItemSelectorMap","columnHeaders","footer","isMouseDown","isHiddenFocusing","focusedElementInfo","saveFocusedElementInfo","ariaLabel","getActiveAccessibleElements","viewInstance","viewElement","$viewElement","findFocusedViewElement","viewSelectors","$focusViewElement","onDocumentVisibilityChange","registerKeyboardAction","viewName","executeKeyDown","getMainElement","keyDownHandler","$mainElement","isHandled","fireKeyDownEvent","selectView","processKeyDown","mouseDownHandler","focusinHandler","restoreFocus","$targetElement","viewNames","viewItemIndex","_viewName","keyboardController","getController","isKeyboardEnabled","createAction","accessibility","DBLCLICK_EVENT_NAME","NAMESPACED_CLICK_EVENT","DblClick","_forgetLastClick","_firstClickTarget","_lastClickTimeStamp","_clickHandler","timeBetweenClicks","COLUMN_INDICATORS_CLASS","_applyColumnState","columnAlignment","_getColumnAlignment","alignment","isGroupPanelItem","rootElement","$indicatorsContainer","_createIndicatorContainer","$span","_getIndicatorClassName","columnsController","indicatorAlignment","getHeaderContentAlignment","indicator","_renderIndicator","ignoreIndicatorAlignment","_getIndicatorContainer","$cell","_getIndicatorElements","$indicatorContainer","$indicator","_updateIndicators","indicatorName","getColumns","$cells","getColumnElements","_updateIndicator","rowOptions","cells","ModuleItem","_endUpdateCore","_actions","_actionConfigs","callbackNames","callbackFlags","publicMethods","optionCache","_optionCache","_silentOption","optionChanged","getAction","_controllers","containerName","elementIsInsideGrid","Controller","ViewController","_views","getViews","View","_isReady","isReady","_requireReady","_requireRender","_requireResize","_$parent","requireResize","requireReady","_resizeCore","_parentElement","renderCompleted","resizeCompleted","getElementHeight","$parent","isResizing","preventScroll","MODULES_ORDER_MAX_INDEX","getExtendedTypes","moduleExtenders","extendTypes","_ref8","extender","currentType","classType","modules","registerModule","registerModulesOrder","moduleNames","modulesOrder","unregisterModule","processModules","createModuleItems","moduleTypes","moduleItems","moduleType","moduleItem","registerPublicMethods","module1","module2","orderIndex1","orderIndex2","rootControllerTypes","rootViewTypes","moduleName","_ref2$controllers","controllers","_ref2$views","views","_ref9","_ref10","extenders","controllerTypes","viewTypes","callModuleItemsMethod","SCROLL_CONTAINER_CLASS","ROW_CLASS","GROUP_ROW_CLASS","DETAIL_ROW_CLASS","HIDDEN_COLUMNS_WIDTH","CELL_HINT_VISIBLE","appendElementTemplate","getWidthStyle","setCellWidth","cell","templateDeferred","ColumnsView","_viewWithColumnStateM","scrollingOptions","useNativeScrolling","bounceEnabled","useKeyboard","useNative","useSimulatedScrollbar","_cellPrepared","headerId","colspan","isBand","visibleWidth","rowObject","dataIndex","isAppend","$table","_createColGroup","$row","visibleColumns","_columnsController","getVisibleColumns","cellOptions","isHeaderRow","isDataRow","isMasterDetailRow","isGroupRow","isFilterRow","isDataRowWithTemplate","cellTemplate","isEditorShown","isEditing","showEditorAlways","isHeaderRowWithTemplate","headerCellTemplate","isGroupCellWithTemplate","groupIndex","groupCellTemplate","scrollWidth","getOptions","$fieldItemContent","resultOptions","cellElement","eventType","rowIndex","getRowIndex","formItemOptions","getVisibleIndex","dblclickEvent","touchTarget","touchCurrentTarget","clearTouchTargets","rowElement","_rowPointerDown","_rowClick","_rowDblClick","subscribeToRowEvents","colgroupElement","_createCol","delayedTemplates","_delayedTemplates","syncTemplates","asyncTemplates","_renderDelayedTemplatesCore","_renderDelayedTemplatesCoreAsync","templateTimeout","_templateTimeouts","isAsync","templateParameters","needWaitAsyncTemplates","renderDelayedTemplates","renderingTemplate","renderedTemplate","templateID","_templatesCache","_processTemplate","isDisposed","columnAsync","_templateDeferreds","tableElement","$tableElement","rowTemplate","_getBodies","isRefreshing","_tableElement","_needWrapRow","$tbody","appendTemplate","_scrollLeft","$root","changeType","_createTable","_renderRows","rows","_getRows","columnIndices","changeTypes","_renderRow","_createRow","$wrappedRow","_wrapRowIfNeed","_renderCells","_appendRow","_addWatchMethod","_rowPrepared","_needRenderCell","_renderCell","oldValues","$rowElement","$newRowElement","$newCells","cellUpdatedClass","$newCell","oldAttributes","newAttributes","copyAttributes","columnIndexOffset","getColumnIndexOffset","ariaColIndex","_getCellOptions","cellIndex","findIndex","_createCell","_setCellAriaAttributes","_renderCellContent","renderOptions","_getCellTemplate","_updateCell","isAltRow","_isAltRow","watchers","watch","updateValueFunc","updateRowFunc","keepRow","gridCoreUtils","widths","setColumnWidths","isFixedTableRendering","_afterRowPrepared","columnsChanged","_columnOptionChanged","_handleDataChanged","$scrollContainer","_getContent","scrollChanged","forceWaiting","waitTemplatesRecursion","$newTableElement","waitAsyncTemplates","_removeContent","setTableElement","_wrapTableInScrollContainer","$cellElements","clientRect","$rows","getTableElement","isRowVisible","_getWidths","$cols","visibleIndex","getVisibleColumnIndex","_getCellElementsCore","_getRowElements","columnIdentifier","getCellElements","columnVisibleIndex","_getVisibleColumnIndex","$tableElements","getTableElements","_getCellElement","_getRowElement","columnOption","cellPosition","_getRowElementsCore","isHorizontal","columnStateMixin","CELL_CONTENT_CLASS","HEADER_ROW_CLASS","VISIBILITY_HIDDEN_CLASS","TEXT_CONTENT_ALIGNMENT_CLASS_PREFIX","columnHeadersModule","columnHeadersView","createCellContent","$cellContent","addCssClassesToCellContent","contentAlignment","$indicatorElements","$visibleIndicatorElements","indicatorCount","sortIndicatorClassName","sortIndexIndicatorClassName","$sortIndicator","$sortIndexIndicator","_isLegacyKeyboardNavigation","_getDefaultTemplate","needCellContent","textEmpty","_getEmptyHeaderText","_textEmpty$split","_textEmpty$split2","leftPart","rightPart","columnChooserTitle","columnChooserView","$link","showColumnChooser","hasHiddenColumns","hasGroupedColumns","_getHeaderTemplate","resultTemplate","_isGroupingChanged","_handleActionKeyDown","_lastActionElement","headerFilterController","$column","getColumnIndexByElement","showHeaderFilterMenu","_processHeaderAction","_hasRowElements","_updateContent","_renderTable","getRowCount","$cellElement","rowspan","rowCount","groupExpanding","_isElementVisible","elementOptions","_alignCaptionByCenter","$indicatorElement","returnAll","_isSortableElement","getHeadersRowHeight","$headerRows","headerRow","getHeaderElement","columnElements","bandColumnIndex","getChildrenByBandColumn","getCellIndex","getColumnWidths","$columnElements","allowDragging","isColumnOptionUsed","allowReordering","getColumnCount","getContextMenuItems","sortingOptions","allowSorting","changeSortOrder","ascendingText","sortOrder","descendingText","clearText","setRowsOpacity","columnID","setColumnOpacity","ownerBand","gridCore","USER_STATE_FIELD_NAMES_15_1","USER_STATE_FIELD_NAMES","IGNORE_COLUMN_OPTION_NAMES","bestFitWidth","bufferedFilterValue","MAX_SAFE_INTEGER","GROUP_COMMAND_COLUMN_NAME","COLUMN_OPTION_REGEXP","DEFAULT_COLUMN_OPTIONS","showInColumnChooser","DATATYPE_OPERATIONS","COLUMN_INDEX_OPTIONS","grouped","sortIndex","GROUP_LOCATION","COLUMN_CHOOSER_LOCATION","setFilterOperationsAsDefaultValues","filterOperations","defaultFilterOperations","globalColumnId","createColumn","columnOptions","userStateColumnOptions","bandColumn","commonColumnOptions","setName","getCommonSettings","calculatedColumnOptions","_createCalculatedColumnOptions","createColumnsFromOptions","columnsOptions","_columnsUserState","checkUserStateColumn","hasColumns","getParentBandColumns","columnParentByIndex","columnChildrenByIndex","recursive","showWhenGrouped","calculateColspan","getValueDataType","getSerializationFormat","dateSerialization","updateSerializers","deserializeValue","serializeValue","customizeTextForBooleanDataType","getCustomizeTextByDataType","updateColumnIndexes","_columns","_commandColumns","updateColumnGroupIndexes","currentColumn","getColumnIndexByVisibleIndex","getGroupColumns","getChooserColumns","userStateColumn","applyUserState","userStateColumnIndex","columnsUserState","ignoreColumnOptionNames","_ignoreColumnOptionNames","columnCountById","resultColumns","allColumnsHaveState","userStateColumnIndexes","applyFieldsState","findUserStateColumn","_hasUserState","initialIndex","hasAddedBands","columnUserState","assignColumns","updateIndexes","isSortOrderValid","updateColumnSortIndexes","resetBandColumnsCache","bandColumnsCache","getBandColumnsCache","bandedColumns","updateColumnVisibleIndexes","resetColumnsCache","_previousColumns","updateColumnDataTypes","updateColumnChanges","columnChanges","_columnChanges","fireColumnsChanged","onColumnsChanging","_reinitAfterLookupChanges","reinit","columnOptionCore","notFireEvent","initialColumn","optionGetter","prevGroupIndex","lastSortOrder","sortMode","updateSortOrderWhenGrouping","optionSetter","fullOptionName","callbackFilter","isPlain","getColumnFullPath","_checkColumns","getColumnByPath","fullOptionPath","_skipProcessingColumnsChange","fireOptionChanged","defaultSetCellValue","dotCount","getDataColumns","bandColumnID","isCustomCommandColumn","commandColumn","getFixedPosition","fixedPosition","processExpandColumns","expandColumns","customColumnIndex","expandColumnsByType","expandColumn","numberToString","digitsCount","mergeColumns","commandColumns","needToExtend","commandColumnIndex","isColumnFixing","_isColumnFixing","defaultCommandColumns","getCommandColumnIndex","columnType","allowFixing","isColumnFixed","_bandColumnsCache","findColumn","identifierOptionName","ColumnsController","_modules$Controller","allowEditing","allowGrouping","allowHiding","groupsCount","getFirstItemsCore","childItems","isApplyingUserState","_isColumnsFromOptions","_getExpandColumnOptions","addCommandColumn","addExpandColumn","_dataSourceApplied","applyDataSource","columnIndexes","getColumnByIndexes","needUpdateRequireResize","_updateRequireResize","columnOptionValue","columnOptionName","forceApplying","isDataSourceLoaded","_dataSourceColumnsCount","columnsFromDataSource","firstItems","_getFirstItems","processedFields","createColumnsFromDataSource","updateColumns","isAllDataTypesDefined","_visibleColumns","_fixedColumns","_rowCount","getUserState","commonColumnSettings","groupingOptions","groupPanelOptions","autoExpandGroup","autoExpandAll","allowCollapsing","allowColumnDragging","contextMenuEnabled","checkSerializers","_compileVisibleColumnsCore","isBase","_shouldReturnVisibleColumns","_compileVisibleColumns","_getFixedColumnsCore","allowFiltering","allowHeaderFiltering","notFixedColumnCount","transparentColumnIndex","lastFixedPosition","transparentColumn","transparentColspan","prevColumn","newColumn","_getExpandColumnsCore","firstGroupColumn","isFixedFirstGroupColumn","parentIndex","isParentColumnVisible","_isColumnVisible","isInGroupPanel","_isColumnInGroupPanel","isCommand","processBandColumns","indexedColumns","_getIndexedColumns","_getVisibleColumnsFromIndexed","hasVisibleDataColumns","columnDigitsCount","positiveIndexedColumns","negativeIndexedColumns","parentBandColumns","isDefaultCommandColumn","isFixedToEnd","getExpandColumns","rowspanGroupColumns","rowspanExpandColumns","_loop","firstPositiveIndexColumn","columnsByFixing","columnsByVisibleIndex","hiddenColumnsByBand","getInvisibleColumns","getAllColumns","column1","column2","caption1","caption2","localeCompare","sortColumns","fromVisibleIndex","toVisibleIndex","sourceLocation","targetLocation","sourceColumn","targetGroupIndex","groupColumns","moveColumnToGroup","targetColumn","sortingMode","needResetSorting","useLocalSelector","sortItem","calculateSortValue","updateNewLookupsOnly","deferreds","valueMap","calculateCallbackName","calculateCallback","isRTL","getAlignmentByDataType","defaultFilterOperation","isColumnDataTypesUpdated","lookupDataType","valueDataType","_updateColumnOptions","updateSortingGrouping","sortParameters","getSortDataSourceParameters","groupParameters","getGroupDataSourceParameters","filterParameters","lastLoadOptions","_customizeColumns","_updateChanges","filtering","fromDataSource","isColumnsChanged","updateSortGroupParameterIndexes","indexParameterName","columnsGroupParameters","columnsSortParameters","groupingChanged","groupExpandingChanged","remoteFiltering","updateFilter","visibleColumn","childIndexes","handleStateField","isFilterPanelHidden","usedNames","hasEditableColumnWithoutName","duplicatedNames","isEditable","setCellValue","skipDeserialization","formattedValue","formattedValueWithDefaultFormat","strictParseNumber","calculateFilterExpression","filterUtils","createFilterExpression","userDataType","updateValueMap","calculateValue","resizedCallbacks","resized","invisibleParents","alwaysGetRowIndex","onlyVisibleDirectChildren","bandColumns","columnsControllerModule","adaptColumnWidthByRatio","regenerateColumnsByVisibleItems","allowExporting","changePaging","_getPagingOptionValue","_skipProcessingPagingChange","_isPaging","pageChanged","_ControllerWithDataMi","_cachedProcessedItems","_currentOperationTypes","_dataChangedHandler","operationTypes","_columnsChangedHandler","_handleColumnsChanged","_loadingChangedHandler","_handleLoadingChanged","_loadErrorHandler","_handleLoadError","_customizeStoreLoadOptionsHandler","_handleCustomizeStoreLoadOptions","_changingHandler","_handleChanging","_dataPushedHandler","_handleDataPushed","_isLoading","_isCustomLoading","_repaintChangesOnly","_changes","dataErrorOccurred","needToRefreshOnDataSourceChange","changedPagingOptions","_handleDataSourceChange","_setPagingOptions","isPageIndexChanged","_useSortingGroupingFromColumns","returnDataField","isDataSourceApplied","additionalFilter","_calculateAdditionalFilter","isRemoteFiltering","_readyDeferred","updateItems","isCustomLoading","isLoadingAll","_columnsUpdating","filterValues","filterApplied","filterType","_applyFilter","_needApplyFilter","updateItemsHandler","virtualColumnsScrolling","isAsyncDataSourceApplying","_isDataSourceApplying","isDelayed","needApplyFilter","_isAllDataTypesDefined","_fireLoadingChanged","pushed","pagingEnabled","scrollingMode","appendMode","isPaginateChanged","isPageSizeChanged","oldDataSource","setDataSource","visibleItems","lastVisibleItem","rowIndexDelta","getRowIndexDelta","getDataIndex","_processItem","_generateDataItem","_processDataItem","dataItem","generateDataValues","isModified","_applyChangeUpdate","_applyChangesOnly","_applyChangeFull","rowIndices","correctedRowIndex","allowInvisibleRowIndices","_getRowIndices","prevIndex","rowIndexCorrection","equalItems","oldNextItem","newNextItem","isFullUpdate","_partialUpdateRow","oldRow","newRow","visibleRowIndex","isLiveUpdate","isCellModified","modifiedValues","_isCellChanged","changedColumnIndices","_getChangedColumnIndices","expandedMatch","summaryCellsMatch","summaryCells","continuationMatch","isContinuationOnNextPage","getRowKey","currentItems","_correctRowIndices","oldRowIndexOffset","_rowIndexOffset","rowIndexOffset","getRowIndexOffset","newVisibleRowIndex","cachedProcessedItems","useProcessedItemsCache","_beforeProcessItems","_processItems","_afterProcessItems","_applyChange","loadIndex","getVisibleRows","isDataChanged","needUpdateDimensions","_needUpdateDimensions","_updateItemsCore","loadingOperationTypes","loadingChanged","_loadingText","_isFilterApplying","filterName","clearColumnOption","searchByText","changedHandler","dataSourceChanged","dataSourceAdapter","_getDataSourceAdapter","enabledRemoteOperations","isCustomStore","_createDataSourceAdapterCore","loadError","customizeStoreLoadOptions","changing","_createDataSourceAdapter","_fireDataSourceChanged","byLoaded","pageCount","skipFilter","_handleDataLoaded","getRowIndexByKey","byLoadedRows","rowKeys","messageText","changesOnly","customizeLoadResult","rowIndexes","searchText","getCachedStoreData","_a2","totalItemsCount","hasKnownLastPage","dataControllerModule","loadingTimeout","cloneItems","calculateOperationTypes","isFullReload","fullReload","groupExpand","getPageDataFromCache","updatePaging","fillItemsFromCache","cacheItemsFromBegin","cacheItemBeginCount","cacheItemsFromEnd","cacheItemEndCount","cachedDataPartBegin","cachedDataPartEnd","fromEnd","_e","cachedItems","cachedData","localIndex","cacheItemIndex","cacheItem","getItemFromCache","getGroupItemFromCache","skips","takes","isLast","getCacheItem","loadedItem","globalIndex","childSkips","_remoteOperations","_hasLastPage","_currentTotalCount","_cachedData","_lastOperationTypes","_totalCountCorrection","_isLoadingAll","_dataLoadedHandler","_pushHandler","_handlePush","isSharedDataSource","resetCurrentTotalCount","resetCache","_cachedStoreData","_cachedPagingData","resetPagesCache","_needClearStoreDataCache","_lastLoadOptions","operationName","fromStore","_applyBatch","getDataIndexGetter","_dataIndexGetter","storeData","isCacheUpdated","_getKeyInfo","_needToCopyDataObject","isReshapeMode","getItemCount","oldItemCount","_needCleanCacheByOperation","operationType","operationTypesByOrder","operationTypeIndex","_customizeRemoteOperations","cachedStoreData","cachedPagingData","_handleDataLoading","originalStoreLoadOptions","_isRefreshing","_loadingOperationTypes","_isRefreshed","_lastOperationId","_handleDataLoadingCore","cachedExtra","localLoadOptionNames","localPaging","needCache","needPageCache","needPagingCache","needStoreCache","mergeStoreLoadData","_handleDataLoadedCore","cacheItems","_loadPageSize","currentTotalCount","isDataLoading","_operationTypes","_scheduleCustomLoadCallbacks","_dataSourceTotalCount","totalCountCorrection","dataSourceLoadOptions","full","dataSourceAdapterType","DataSourceAdapter","dataSourceAdapterProvider","_getSpecificDataSourceOption","SORT_CLASS","SORT_NONE_CLASS","SORT_INDEX_ICON_CLASS","ariaSortState","isSortingAllowed","ColumnHeadersViewSortingExtender","sortingMixin","$cellElementFromEvent","editingController","editingMode","HeaderPanelSortingExtender","_createGroupPanelItem","$rootElement","groupColumn","_processGroupItemAction","groupColumnIndex","sortingModule","showSortIndexes","headerPanel","GROUP_CELL_CLASS","FREE_SPACE_CLASS","COLUMN_LINES_CLASS","ROW_ALTERNATION_CLASS","LAST_ROW_BORDER","getMaxHorizontalScrollOffset","scrollable","defaultCellTemplate","isDataTextEmpty","RowsView","_ColumnsView","groupContinuedMessage","groupContinuesMessage","_getDefaultGroupTemplate","isGroup","isRowExpanded","_setAriaRowIndex","isPagerMode","repaintRows","_renderLoadPanel","getScrollable","allColumnsHasWidth","_hasHeight","_renderScrollableCore","isNativeScrolling","_scrollTop","scrollOffset","_scrollRight","isScrollbarVisible","dxScrollableOptions","_createScrollableOptions","scrollHandler","_handleScroll","onScroll","_scrollable","Scrollable","_scrollableContainer","contentElement","_findContentElement","newTableElement","_contentChanges","contentChanges","rowInsertedClass","dataChangeType","$rowElements","_updateCells","isFixed","getFixedColumns","$emptyRow","$tBodies","isTableContainer","$colgroup","$freeSpaceRowElement","_createEmptyRow","_appendEmptyRow","fireError","_rowHeight","_needUpdateRowHeight","rowsHeight","_getRowsHeight","tableElements","evaluate","columnsCountBeforeGroups","_getColumnsCountBeforeGroups","_renderGroupedCells","groupCellOptions","_getGroupCellOptions","groupColumnAlignment","_checkRowKeys","_renderFreeSpaceRow","updateFreeSpaceRowHeight","dataRowTemplate","_renderDataRowByTemplate","_renderScrollable","resizeCompletedHandler","scrollableInstance","_lastColumnWidths","groupingTextsOptions","isParentBandColumn","freeSpaceRowElements","_getFreeSpaceRowElements","isFreeSpaceRowVisible","getScrollbarWidth","elementHeightWithoutScrollbar","showFreeSpaceRow","resultHeight","_getHeightCorrection","_updateLastRowBorder","freeSpaceRowCount","isZoomedWebkit","_getDevicePixelRatio","isChromeLatest","hasExtraBorderTop","_fireColumnResizedCallbacks","_editorFactoryController","setLoading","forceUpdateScrollPosition","_update","scrollableContainer","getScrollableBottomPadding","lastColumnWidths","columnWidths","_updateHorizontalScrollPosition","maxHorizontalScrollOffset","_updateRowHeight","_updateScrollable","dxScrollable","hasHeight","visibilityOptions","_hideLoadingTimeoutID","_setRowsOpacityCore","groupCellIndex","isTop","isFloor","prevOffset","viewportBoundary","$contentElement","contentElementOffsetTop","rowElements","_getBoundaryVisibleItemIndex","getTopVisibleItemIndex","scrollToElement","rowsModule","DataConverter","_dataStructure","_itemsCount","_visibleItemsCount","_indexByKey","_convertItemsToNodes","parentKey","parentId","_getParentId","_convertItemToNode","_checkForDuplicateId","internalFields","_itemHasChildren","_dataAccessors","_dataType","_getUniqueKey","itemKey","getItemsCount","_rootValue","_makeObjectFromPrimitive","childrenKeys","setChildrenKeys","getParentNode","setters","_convertToPublicNode","publicNode","convertToPublicNodes","publicNodes","_getByKey","setDataAccessors","accessors","getByKey","getVisibleItemsCount","updateIndexByKey","updateChildrenKeys","removeChildrenKeys","createPlainStructure","rootValue","EXPANDED","SELECTED","uiSearchBoxMixin","TextBox","DataAdapter","_defaultOptions","dataConverter","dataAccessors","_selectedNodesKeys","_expandedNodesKeys","_createInternalDataStructure","getTreeNodes","setOption","multipleSelection","recursiveSelection","recursiveExpansion","HierarchicalDataConverter","onNodeChanged","_initialDataStructure","_updateExpansion","_setChildrenSelection","_setParentSelection","_updateNodesKeysArray","_updateOneBranch","_setParentExpansion","_getDataBySelectionMode","_isNodeVisible","toggleSelection","getFullData","_toggleChildrenSelection","_iterateParents","newParentState","_calculateSelectedState","_setFieldState","getNodeByKey","_iterateChildren","processedKeys","nodeKey","selectedItemsCount","invisibleItemsCount","isChildInvisible","childState","_markChildren","_removeNode","_addNode","_updateFields","getSelectedNodesKeys","getExpandedNodesKeys","getNodeByItem","getNodesByItems","getRootNodes","getPublicNode","getChildrenNodes","addItem","removeItem","selectRecursive","isSingleModeUnselect","_isSingleModeUnselect","selectionState","toggleNodeDisabledState","toggleSelectAll","lastSelectedKey","dataStructure","isAllSelected","toggleExpansion","isFiltered","_filterDataStructure","_createCriteria","lookForParents","HierarchicalCollectionWidget","selectedExpr","itemsExpr","parentIdExpr","expandedExpr","_initAccessors","_initDataAdapter","_initDynamicTemplates","_createDataAdapterAccessors","_dataAdapter","HierarchicalDataAdapter","_getDataAdapterOptions","_getItemExtraPropNames","_addContent","_itemsGetter","_getIconContainer","_getTextContainer","_getAccessors","accessor","_compileAccessor","_getChildNodes","_hasChildren","setter","optionExpr","getterName","newAccessor","_addWidgetClass","_widgetClass","_disabledGetter","repaint","MenuBaseEditStrategy","_PlainEditStrategy","getMenuItems","_getTemplateString","DX_MENU_CLASS","DX_MENU_NO_ICONS_CLASS","DX_ITEM_CONTENT_CLASS","DX_MENU_SELECTED_ITEM_CLASS","DX_MENU_ITEM_WRAPPER_CLASS","DX_MENU_ITEMS_CONTAINER_CLASS","DX_MENU_ITEM_EXPANDED_CLASS","DX_MENU_SEPARATOR_CLASS","DX_MENU_ITEM_LAST_GROUP_ITEM","DX_ITEM_HAS_TEXT","DX_ITEM_HAS_ICON","DX_ITEM_HAS_SUBMENU","DX_MENU_ITEM_POPOUT_CLASS","DX_MENU_ITEM_POPOUT_CONTAINER_CLASS","DX_MENU_ITEM_CAPTION_CLASS","DEFAULT_DELAY","DX_MENU_ITEM_CAPTION_URL_CLASS","DX_ITEM_URL_CLASS","MenuBase","_HierarchicalCollecti","showSubmenuMode","_isSelectionEnabled","_renderSelectedItem","_initActions","iconContainer","textContainer","linkAttr","linkAttributes","link","_getLinkContainer","_getPopoutContainer","_addContentClasses","itemText","$popOutContainer","$popOutImage","nodeToSelect","selectedKeys","selectedKey","selectable","_selectByItem","_renderInkRipple","_isDesktopDevice","_getItemElementByEventArgs","_isItemDisabled","_getShowSubmenuMode","_showSubmenusTimeout","_showSubmenu","_getSubmenuDelay","_addExpandedClass","submenuContainer","hasIcons","$nodeContainer","_renderContainer","firstVisibleIndex","nextGroupFirstIndex","isVisibleNode","beginGroup","_renderSeparator","$wrapper","$nodeElement","_createDOMElement","_hasSubmenu","hasText","hasIcon","hasSubmenu","_selectedGetter","_isItemSelectable","$itemsContainer","_skipHandling","itemClickActionHandler","_updateSubmenuVisibilityOnClick","_itemClick","getElementsByClassName","_updateSelectedItemOnClick","_isItemSelectAllowed","selectedItemKey","selectedNode","_toggleItemSelection","isSelectByClickEnabled","_isContainerEmpty","_getElementByItem","oldSelection","MenuItem","DX_MENU_ITEM_CLASS","DX_SUBMENU_CLASS","DX_STATE_HOVER_CLASS","ACTIONS","LOCAL_SUBMENU_DIRECTIONS","DEFAULT_SHOW_EVENT","_MenuBase","showEventOption","showEvent","onSubmenuCreated","onPositioning","submenuDirection","onLeftFirstItem","onLeftLastItem","onCloseRootSubmenu","onExpandLastSubmenu","_overlay","$availableItems","$focusedItem","$hoveredItem","_getItemsByLocation","$oldTarget","$activeItemHighlighted","_setFocusedElement","_hideSubmenuHandler","_expandSubmenuHandler","$curItem","$parentItem","_hideSubmenusOnSameLevel","_hideSubmenu","isItemHasSubmenu","$submenu","_detachShowContextMenuEvents","_getTarget","_renderVisibility","_attachShowContextMenuEvents","_keyboardListenerId","overlayOptions","_getOverlayOptions","Overlay","$overlayContent","_addCustomCssClass","_addPlatformDependentClass","getShowEvent","_showContextMenuEventHandler","contextMenuAction","getShowDelay","_show","$holder","submenuElement","innerOverlay","_hideOnOutsideClickHandler","propagateOutsideClick","showTitle","_overlayShownActionHandler","_overlayHidingActionHandler","_overlayHiddenActionHandler","_hideAllShownSubmenus","_shouldHideOnOutsideClick","$activeItemContainer","_getActiveItemsContainer","$itemContainers","_getItemsContainers","$clickedItem","_searchActiveItem","$rootItem","isRootItemClicked","_isIncludeOverlay","_hideAllShownChildSubmenus","$activeOverlay","$allOverlays","isSame","$overlay","$submenuElements","shownSubmenus","_shownSubmenus","$context","isSubmenuRendered","_renderSubmenuItems","_isSubmenuVisible","_drawSubmenu","$expandedItems","_hideSubmenuCore","submenuPosition","_getSubmenuPosition","animationPosition","_animate","notCloseMenuOnItemClick","closeMenuOnClick","$prevSubmenu","canceled","$curSubmenu","_stopAnimate","showing","_hide","jQEvent","_event$originalEvent","_positionContextMenu","_renderContextMenuOverlay","_renderFocusState","_attachHoverEvents","_setAriaAttributes","preventShowingDefaultContextMenuAboveOverlay","_overlayContentId","_getContextMenuPosition","isInitialPosition","positioningAction","lastPosition","_cleanAriaAttributes","footerView","VIEW_NAMES","ContextMenuController","$targetRowElement","$targetCellElement","menuItems","targetElement","_contextMenuPrepared","contextMenuModule","contextMenu","contextMenuView","contextMenuInstance","treeListCore","ERROR_ROW_CLASS","ERROR_MESSAGE_CLASS","ErrorHandlingController","_columnHeadersView","_rowsView","_createErrorRow","$errorRow","$closeButton","$errorMessage","_renderErrorMessage","errorRowIndex","removeErrorRow","fireContentReadyAction","colSpan","$message","renderErrorRow","$popupContent","$errorMessageElement","$firstErrorRow","resizingController","$columnHeaders","$rowsViewElement","errorHandlingModule","errorHandling","errorHandlingController","hasChanges","BORDERS_CLASS","GRIDBASE_CONTAINER_CLASS","isPercentWidth","calculateFreeWidth","contentWidth","_getTotalWidth","resizingControllerMembers","_initPostRenderHandlers","_refreshSizesHandler","_refreshSizes","resizeDeferred","_waitAsyncTemplates","_setScrollerSpacing","_setAriaLabel","_getWidgetAriaLabel","_getBestFitWidths","headersTableElement","_setVisibleWidths","columnId","getColumnId","_toggleBestFitModeForView","isBestFit","$rowsTables","$viewTables","$tableBody","$rowsTable","$viewTable","_toggleBestFitMode","$rowsFixedTable","_footerView","_needStretch","_toggleContentMinHeight","_synchronizeColumns","resetBestFitMode","needBestFit","_needBestFit","hasMinWidth","isColumnWidthsCorrected","_maxWidth","isPixelWidth","_correctColumnWidths","expandColumnWidth","_processStretch","_getAverageColumnsWidth","hasPercentWidth","hasAutoWidth","hasWidth","_hasWidth","isHiddenColumn","averageColumnsWidth","freeWidth","currentMinWidth","calculateFreeWidthWithCurrentMinWidth","realColumnWidth","_getRealColumnWidth","totalWidth","borderWidth","resultSizes","tableSize","unusedIndexes","diffElement","onePixelElementsCount","groupWidth","percentTotalWidth","pixelTotalWidth","freeSpace","percentTotalWidthInPixel","_getGroupElement","updateSize","importantMarginClass","$groupElement","updateDimensions","checkSize","_checkSize","prevResult","_resizeDeferred","_resetGroupElementHeight","_updateDimensionsCore","groupElement","_lastWidth","_lastHeight","_devicePixelRatio","_setScrollerSpacingCore","vScrollbarWidth","hScrollbarWidth","setScrollerSpacing","editorFactory","rootElementHeight","isHeightSpecified","maxHeightHappened","isMaxHeightApplied","scrollHeight","_updateLastSizes","ResizingController","SynchronizeScrollingController","_scrollChangedHandler","GridView","_resizingController","_groupElement","_renderViews","_getTableRoleName","isFirstRender","_rootElement","gridViewModule","resizing","synchronizeScrolling","gridView","TOOLBAR_ITEMS","toggleItemFocusableElementTabIndex","_itemData$options","isItemNotFocusable","$widget","_itemInstance$_focusT","_itemData$options2","itemInstance","getItemInstance","_$focusTarget","$focusTarget","MultiLineStrategy","_this$_toolbar$option","$label","_$toolbarItemsContainer","elementWidth","labelPaddings","TOOLBAR_MENU_ACTION_CLASS","TOOLBAR_HIDDEN_BUTTON_GROUP_CLASS","TOOLBAR_MENU_SECTION_CLASS","TOOLBAR_MENU_LAST_SECTION_CLASS","ToolbarMenuList","_ListBase","_renderSections","_setMenuRole","_getSections","section","sectionName","_updateSections","$sections","itemContainer","$after","_item$location","isAction","menuItemTemplate","ListBase","PopupFull","_Popup","preventScrollEvents","DropDownMenu","_Widget","extension","_button","_popup","onButtonClick","opened","_initItemClickAction","_initButtonClickAction","_itemClickAction","_buttonClickAction","_renderButton","haspopup","_renderPopup","$button","_toggleActiveState","_$popup","_this$option2","contentTemplate","_renderList","_ignoreFunctionValueDeprecation","_getMaxHeight","_closeOutsideDropDownHandler","dragEnabled","fullScreen","_fixWrapperPosition","_getListDataSource","pageLoadMode","indicateLoading","_this$_list","_this$_list2","_deferRendering","_this$_list3","_this$_list4","_this$_list5","_setListDataSource","_toggleMenuVisibility","_updateFocusableItemsTabIndex","INVISIBLE_STATE_CLASS","TOOLBAR_AUTO_HIDE_ITEM_CLASS","TOOLBAR_HIDDEN_ITEM","SingleLineStrategy","_renderOverflowMenu","_renderMenuItems","_hasVisibleMenuItems","_renderMenuButtonContainer","$menu","_overflowMenuContainer","itemClickAction","_menu","_updateMenuVisibility","_getMenuItems","_$overflowMenuContainer","_$afterSection","isMenuVisible","renderMenuItems","_isMenuItem","_this$_toolbar$option2","_this$_restoreItems","$hiddenItems","_restoreItems","overflowItems","$itemMarkup","overflowGetter","itemVisible","itemOverflow","_this$_restoreItems2","_$centerSection","_hideOverflowItems","_elementWidth","itemsWidth","_getItemsWidth","_$beforeSection","_this$_menu","locateInMenu","_this$_menu2","_this$_menu3","_this$_menu4","_this$_menu5","_this$_menu6","_ToolbarBase","menuContainer","overflowMenuVisible","multiline","_layoutStrategy","_renderLayoutStrategy","_isMultiline","showText","_getToolbarItems","_arrangeItems","ToolbarBase","TOOLBAR_BUTTON_CLASS","DEFAULT_TOOLBAR_ITEM_NAMES","_getButtonContainer","_getToolbarButtonClass","specificClass","secondClass","_getToolbarOptions","userToolbarOptions","toolbarOptions","itemRenderedCallback","userItems","_normalizeToolbarItems","toolbarItems","defaultButtonsByNames","normalizedItems","_toolbarOptions","$headerPanel","$toolbar","setToolbarItemDisabled","updateToolbarDimensions","getHeaderPanel","normalizedItem","headerPanelModule","useIcons","showCheckBoxesMode","expandMode","DATE_REGEX","parseDates","StateStoringController","getStorage","storage","localStorage","getUniqueStorageKey","storageKey","_loadState","customLoad","_saveState","setItem","customSave","isEnabled","_windowUnloadHandler","_savingTimeoutID","save","processLoadState","selectionController","exportController","selectionChanged","_initialPageSize","_initialFilterValue","pagerView","allowedPageSizes","getPageSizes","filterEnabled","focusedRowKey","getDataState","selectionOnlyChanged","exportSelectionOnly","selectionOnly","stateStoringModule","savingTimeout","stateStoringCore","stateLoaded","isStateLoading","applyState","newState","oldStateHash","newStateHash","isVirtualScrollingMode","showPageSizeSelector","setUserState","filterSyncController","hasFilterState","getFilterValueFromColumns","getFilterValue","stateStoringController","_restoreStateTimeoutID","_fireSelectionChanged","isDeferredSelection","EDITOR_CELL_CLASS","ROW_SELECTION_CLASS","SELECT_CHECKBOX_CLASS","COMMAND_SELECT_CLASS","DATA_ROW_CLASS","SHOW_CHECKBOXES_MODE","SELECTION_MODE","processLongTap","isSelectionWithCheckboxes","stopSelectionWithCheckboxes","startSelectionWithCheckboxes","changeItemSelection","selectionCellTemplate","isRowSelected","renderSelectCheckBoxContainer","selectionHeaderTemplate","_renderSelectAllCheckBox","_attachSelectAllCheckBoxClickEvent","SelectionController","selectAllMode","_selectionMode","_isSelectionWithCheckboxes","_createSelection","_updateSelectColumn","_deselectRemovedOnPush","_updateSelectedOnPush","removedKeys","deselectRows","updateChanges","getSelectedRowsData","selectionOptions","virtualPaging","allowSelectAll","legacyScrollingMode","ignoreDisabledItems","allowLoadByRange","hasGroupColumns","isSelectableItem","getItemData","oldData","getLoadOptions","loadItemIndex","focusedItemIndex","shiftItemIndex","minIndex","maxIndex","isSelectColumnVisible","_getSelectionConfig","isDeferredMode","isComplexKey","isSeveralRowsSelected","selectionChangedOptions","changedItemIndexes","getChangedItemIndexes","visibleChangedItemIndexes","_updateCheckboxesState","itemIndexes","_selectedItemsInternalChange","selectedRowsData","currentSelectedRowKeys","currentDeselectedRowKeys","isDataItem","oldSelectionMode","selectRows","getSelectAllState","_isOnePageSelectAll","selectAll","deselectAll","preserve","isDeselect","loadSelectedItemsWithFilter","visibleItemIndex","setFocusOnly","loadedItemIndex","_focusedItemIndex","selectionModule","hasSelectColumn","_updateSelectAllValue","$editor","selectAllValue","hasSelection","dxCheckBox","createEditor","parentType","editorOptions","_attachCheckBoxClickEvent","_renderSelectCheckBox","_updateCheckboxesClass","isSelectionDisabled","isClickableElement","isCheckBoxesHidden","WIDGET_CLASS","NODE_CLASS","NODE_CONTAINER_CLASS","NODE_LOAD_INDICATOR_CLASS","OPENED_NODE_CONTAINER_CLASS","IS_LEAF","ITEM_WITH_CHECKBOX_CLASS","ITEM_WITH_CUSTOM_EXPANDER_ICON_CLASS","CUSTOM_EXPANDER_ICON_ITEM_CONTAINER_CLASS","ITEM_WITHOUT_CHECKBOX_CLASS","ITEM_DATA_KEY","TOGGLE_ITEM_VISIBILITY_CLASS","CUSTOM_COLLAPSE_ICON_CLASS","CUSTOM_EXPAND_ICON_CLASS","LOAD_INDICATOR_CLASS","LOAD_INDICATOR_WRAPPER_CLASS","TOGGLE_ITEM_VISIBILITY_OPENED_CLASS","SELECT_ALL_ITEM_CLASS","DISABLED_STATE_CLASS","EXPAND_EVENT_NAMESPACE","DATA_ITEM_ID","TreeViewBase","_getEventNameByOption","_expandEventHandler","checkboxInstance","_getCheckBoxInstance","currentState","_updateItemSelection","toggleExpandedNestedItems","rootItem","_toggleExpandedNestedItems","_showCheckboxes","asterisk","minus","_toggleExpandedState","_getNodeElement","_encodeString","$nodeByKey","animationEnabled","expandAllEnabled","hasItemsExpr","selectNodesRecursive","expandNodesRecursive","expandIcon","collapseIcon","selectAllText","onItemSelectionChanged","onItemExpanded","onItemCollapsed","scrollDirection","virtualModeEnabled","expandEvent","createChildren","onSelectAllValueChanged","_initSelectedItems","_createSelectAllValueChangedAction","_selectAllValueChangedAction","_fireSelectAllValueChanged","_checkBoxModeChange","selectAllExists","_$selectAllItem","_renderSelectAllItem","_filter","_initExpandEvent","_useCustomChildrenLoader","_loadChildrenByCustomLoader","_isVirtualMode","_initVirtualMode","internal","_isDataStructurePlain","invocationResult","_combineFilter","_initStoreChangeHandlers","_removeTreeViewLoadIndicator","_treeViewLoadIndicator","_createTreeViewLoadIndicator","LoadIndicator","_dataSourceLoadingChangedHandler","_updateLevel","_parentIdGetter","removedKey","_markChildrenItemsToRemove","_removeItems","_getContainerByParentKey","_getOldContainer","_renderNodeContainer","_isRootLevel","_renderScrollableContainer","_this$_dataSource$loa","_this$_dataSource$loa2","_isSingleSelection","_isRecursiveSelection","_selectAllEnabled","skipContentReadyAction","_skipContentReadyAndItemExpanded","_expandedGetter","_node$internalFields","_node$internalFields$","_getLevel","_hasCustomExpanderIcons","nodeIndex","nodeData","showCheckBox","_renderCheckBox","_toggleSelectedClass","_renderChildren","_renderCustomExpanderIcons","_renderDefaultExpanderIcons","_loadSublevel","_renderSublevel","_getActualNode","_addLeafClass","cachedNode","_hasItemsGetter","childrenNodes","_loadNestedItems","$nestedNodeContainer","childNodesByChildrenKeys","_updateParentsState","_normalizeIconState","_getNode","expandedEventName","_getNodeByElement","_decodeString","_nodeHasRenderedChildren","_createLoadIndicator","_updateExpandedItemsUI","_renderExpanderIcon","$icon","iconClass","_renderToggleItemVisibilityIconClick","$expandIcon","$collapseIcon","isNodeExpanded","_toggleCustomExpanderIcons","isHiddenNode","$childExpandIcons","$childCollapseIcons","nodeContainerExists","completionCallback","_animateNodeContainer","_loadNestedItemsWithUpdate","actualNodeData","_areNodesExists","_appendItems","keyOfRootItem","fullData","nodeHeight","_fireExpandedStateUpdatedEvent","hasNewItems","_LoadIndicator$getIns","$loadIndicator","$toggleItem","_contentAlreadyRendered","_onSelectAllCheckboxValueChanged","_toggleSelectAll","_updateItemsUI","$checkbox","_changeCheckboxValue","_toggleNodeDisabledState","_isLastSelectedBranch","selectedNodesKeys","_isLastRequired","isSingleMode","getSelectedNodeKeys","_fireItemSelectionChanged","needFireSelectAllChanged","nodeSelection","selectAllCheckbox","$parentNode","parentValue","_createEventHandler","clickSelector","pointerDownSelector","pointerDownEvent","_updateSelectionToFirstItem","startIndex","_updateSelectionToLastItem","_this12","isSelectAllItem","_setFocusedItemTimeout","_findNonDisabledNodes","$nodes","_nodeElements","$prevItem","prevItemElement","_getNodeItemElement","$nextItem","nextItemElement","$firstItem","$lastItem","_expandFocusedContainer","_collapseFocusedContainer","$focusedNode","_getClosestNonDisabledNode","nodeElement","collapsedNode","encodeURI","decodeURI","_this13","expandItem","collapseItem","getNodes","getSelectedNodes","_this14","unselectAll","_allItemsExpandedHandler","expandAll","_this15","expandingPromises","allSettled","_this$_allItemsExpand","_allItemsExpanded","collapseAll","scrollToItem","keyOrItemOrElement","_this16","nodeKeysToExpand","scrollCallback","_expandNodes","scrollToElementTopLeft","relativeOffset","containerElement","keysToExpand","_this17","resultCallback","callbacksByNodes","searchBoxMixin","TreeViewSearch","_addWidgetPrefix","_updateSearch","_repaintContainer","_updateDataAdapter","_getNodeContainer","_searchEditor","_getSearchEditorOptions","rootNodes","isSearchMode","_removeSearchBox","COLUMN_CHOOSER_BUTTON_CLASS","NOTOUCH_ACTION_CLASS","COLUMN_CHOOSER_ICON_NAME","COLUMN_CHOOSER_ITEM_CLASS","COLUMN_OPTIONS_USED_IN_ITEMS","columnChooserControllerMembers","renderShowColumnChooserButton","$columnChooserButton","columnChooserButtonClass","columnChooserEnabled","$showColumnChooserButton","getPosition","ColumnChooserController","columnChooserMembers","_isWinDevice","_initializePopupContainer","columnChooserClass","columnChooserOptions","themeName","isGenericTheme","isGeneric","dxPopupOptions","showCloseButton","resizeEnabled","wrapperAttr","shortcut","_popupContainer","setPopupAttributes","isSelectMode","isBandColumnsUsed","isDragMode","_columnChooserList","_updateItems","_renderTreeView","treeViewConfig","searchEnabled","searchTimeout","searchEditorOptions","_prepareSelectModeConfig","_prepareDragModeConfig","TreeView","emptyPanelText","isUpdatingSelection","addNodesToArray","flatNodesArray","_isUpdatingColumnVisibility","chooserColumns","isRecursive","isRecursiveWithColumns","processItems","_updateItemsSelection","changedColumns","onlyVisibleChanged","isColumnHidden","isColumnChooserVisible","allowColumnHeaderDragging","hideColumnChooser","popupContainer","hiddenColumns","columnChooserModule","_appendColumnChooserItem","hintText","allowMoveColumn","createGroupFilter","createOffsetFilter","lastLevelOnly","filterElement","currentFilter","GroupingHelper","findGroupInfoByKey","groupsInfo","getGroupInfoIndexByOffset","leftIndex","rightIndex","middleIndex","_groupsInfo","updateTotalItemsCount","isGroupItemCountable","_isVirtualPaging","calculateItemsCount","foreachGroups","childrenAtFirst","foreachCollapsedGroups","updateOffsets","updateParentOffsets","foreachGroupsCore","callbackResults","executeCallback","currentParents","_updateGroupInfoOffsets","findGroupInfo","pathIndex","addGroupInfo","groupInfoData","allowCollapseAll","oldGroups","_group","cleanGroupsInfo","handleDataLoading","handleDataLoaded","handleDataLoadedCore","getContinuationGroupCount","groupOffset","pageOffset","GroupingHelperCore","foreachExpandedGroups","updateGroups","processGroupItems","expandedInfo","isLastGroupExpanded","paths","lastCount","updateGroupInfoItem","isLastGroupLevel","_isGroupExpanded","updateGroupInfos","loadedGroupCount","isGroupExpanded","getTotalOffset","groupInfos","totalOffset","childrenTotalCount","applyContinuationToGroupItem","expandedItemIndex","isLastExpandedItem","isFirstExpandedItem","lastExpandedItemSkip","isItemsTruncatedByTake","isDataDeferred","makeDataDeferred","loadGroupItems","currentGroupCount","currentGroupIndex","currentGroup","requireGroupCount","groupSummary","expandedFilters","expandedPath","dataGridCore","isPagingLocal","isLastLevelGroupItemsPagingLocal","sortLastLevelGroupItems","expandedItems","loadGroupTotalCount","isGrouping","dataErrors","isVirtualPaging","_updatePagingOptions","skipChildrenTotalCount","takeCorrection","parentTakeCorrection","continuationGroupCount","skipContinuationGroupCount","groupInfoCount","childrenGroupInfoCount","changeRowExpand","remoteGroupPaging","remotePaging","isLastGroup","_processPaging","_processSkips","firstItem","_processTakes","lastItem","maxTakeCount","handleGroup","groupCountQuery","groupOffsetQuery","loadTotalCount","correctSkipLoadOption","skipCorrection","resultSkip","pathEquals","path1","path2","updateGroupOffsets","additionalGroupInfo","getGroupCount","collapsedGroups","collapsedItemsCount","skipFirstItem","sorts","appendCollapsedPath","collapsedGroup","pathValue","_totalCountWasIncreasedByCollapsedItems","dataQuery","groupedData","removeLastItemsCount","needRemoveFirstItem","offsetInfo","itemsCountCorrection","beginPageIndex","dataSourceItems","DATAGRID_GROUP_PANEL_CLASS","DATAGRID_GROUP_PANEL_ITEM_CLASS","DATAGRID_GROUP_PANEL_LABEL_CLASS","GroupingDataSourceAdapterExtender","_initGroupingHelper","_grouping","isAutoExpandAll","isFocusedRowEnabled","ExpandedGroupingHelper","CollapsedGroupingHelper","_collapseExpandAll","isExpand","_changeRowExpandCore","_hasGroupLevelsExpandState","GroupingDataControllerExtender","_processGroupItems","_processGroupItem","groupedColumns","collectContinuationItems","expandRow","collapseRow","onGroupingMenuItemClick","clearGrouping","isGroupPanelVisible","canDrag","GroupingHeaderPanelExtender","_appendGroupingItem","_isGroupPanelVisible","isRendered","$groupPanel","_updateGroupPanelContent","_renderGroupPanelItems","$groupPanelItem","$toolbarElement","$groupedColumnElement","isColumnGrouped","ungroup","ungroupAll","GroupingRowsViewExtender","isGroupRowStateChanged","isExpandButtonClicked","_changeGroupRowState","columnHeadersViewExtender","groupByThisColumn","_isProcessedItem","MASTER_DETAIL_ROW_CLASS","masterDetailModule","initMasterDetail","_expandedItems","_isExpandAll","expandIndex","_getRowIndicesForExpand","detailColumnIndex","isEnabledChanged","isAutoExpandAllChanged","_updateParentDataGrids","$masterDetailRow","_updateMasterDataGrid","$detailElement","masterRowOptions","masterDataGrid","_updateMasterDataGridCore","isFixedColumns","_updateFixedMasterDetailGrids","masterRowIndex","getRowElement","$tables","rowsNotEqual","tablesNotEqual","detailElementWidth","isDetailHorizontalScrollCanBeShown","isDetailGridWidthChanged","isEditRow","_isDetailRow","EditorFactoryMixin","getResultConfig","checkEnterBug","getTextEditorConfig","isEnterBug","sharedData","needDelayedUpdate","isInputOrKeyUpEvent","updateValue","valueChangeTimeout","updateValueTimeout","_input","prepareDateBox","editorName","useMaskBehavior","prepareTextBox","isSearching","editorType","prepareNumberBox","prepareLookupEditor","displayGetter","_options$editorType","selectBox","stopWatch","allowClearing","showClearButton","showAllText","prepareCheckBox","prepareCustomEditor","prepareEditor","prepareDefaultEditor","dxDateBox","dxNumberBox","dxTextBox","_prepareDefaultEditor","editorElement","isOnForm","showValidationMark","$editorElement","dateBox","defaultEnterKeyHandler","registerKeyHandler","dxTextArea","CELL_FOCUS_DISABLED_CLASS","FOCUS_OVERLAY_CLASS","FOCUSED_ELEMENT_CLASS","MODULE_NAMESPACE","UPDATE_FOCUS_EVENTS","DX_HIDDEN","EditorFactory","_ViewControllerWithMi","$dataGridElement","rowSelector","focusedElementSelector","$focus","_getFocusedElement","isHideBorder","$focusCell","_getFocusCellSelector","_needHideBorder","loseFocus","isFocusOverlay","_isFocusOverlay","_updateFocusTimeoutID","_updateFocusCore","_$focusedElement","_focusTimeoutID","renderFocusOverlay","_$focusOverlay","elemCoord","focusOverlayPosition","_updateFocusOverlaySize","_updateFocusHandler","_updateFocus","_subscribedContainerRoot","_getContainerRoot","_attachContainerEventHandlers","DOCUMENT_FRAGMENT_NODE","editorFactoryModule","ROW_SELECTED_CLASS","EDIT_FORM_CLASS","DATA_EDIT_DATA_INSERT_TYPE","DATA_EDIT_DATA_REMOVE_TYPE","EDITING_POPUP_OPTION_NAME","EDITING_FORM_OPTION_NAME","EDITING_EDITROWKEY_OPTION_NAME","EDITING_EDITCOLUMNNAME_OPTION_NAME","TARGET_COMPONENT_NAME","EDITORS_INPUT_SELECTOR","FOCUSABLE_ELEMENT_SELECTOR","EDIT_MODE_BATCH","EDIT_MODE_ROW","EDIT_MODE_CELL","EDIT_MODE_FORM","EDIT_MODE_POPUP","FIRST_NEW_ROW_POSITION","LAST_NEW_ROW_POSITION","PAGE_BOTTOM_NEW_ROW_POSITION","PAGE_TOP_NEW_ROW_POSITION","VIEWPORT_BOTTOM_NEW_ROW_POSITION","VIEWPORT_TOP_NEW_ROW_POSITION","EDIT_MODES","ROW_BASED_MODES","MODES_WITH_DELAYED_FOCUS","COMMAND_EDIT_CLASS","COMMAND_EDIT_WITH_ICONS_CLASS","INSERT_INDEX","CELL_MODIFIED","DATA_EDIT_DATA_UPDATE_TYPE","EDIT_LINK_CLASS","edit","undelete","EDIT_ICON_CLASS","METHOD_NAMES","ACTION_OPTION_NAMES","BUTTON_NAMES","EDITING_CHANGES_OPTION_NAME","isRenovatedScrollable","EDIT_FORM_ITEM_CLASS","FOCUSABLE_ELEMENT_CLASS","EDIT_ROW","createFailureHandler","isEditingCell","isEditingOrShowEditorAlwaysDataCell","isCommandCell","isEditorCell","getButtonIndex","buttons","getButtonName","forEachFormItems","tabs","EditingControllerImpl","_modules$ViewControll","_lastOperation","_saveEditorHandler","_updateEditColumn","_updateEditButtons","_internalState","editMode","newRowPosition","internalData","_getInternalData","editIndex","_getOldData","getPopupContent","allowDeleting","_isDefaultButtonVisible","buttonName","saveRowChanges","cancelRowChanges","editRow","undeleteRow","deleteRow","addRowToNode","getEditingTexts","editingOptions","allowAction","buttonIndex","haveCustomButtons","_getButtonConfig","_isButtonVisible","_createButton","_getEditingButtons","_renderEditingButtons","_isButtonDisabled","getEditMode","getFirstEditableColumnIndex","getFirstEditableCellInRow","_inputFocusTimeoutID","_pointerUpEditorHandler","_pointerDownEditorHandler","_handleEditRowKeyChange","_handleChangesChange","resetChanges","_resetEditColumnName","_resetEditRowKey","oldRowIndexCorrection","_getEditRowIndexCorrection","oldRowIndex","_editRowFromOptionChanged","cancelEditData","_addInsertInfo","_addInternalData","isOptionChanged","_refreshCore","_refocusEditCell","_focusEditingCell","getKeyByRowIndex","_setEditRowKey","_getVisibleEditRowIndex","isKeyEqual","isEditRowByIndex","_getVisibleEditColumnIndex","isProcessedItems","_getInsertAfterOrBeforeKey","isProcessedItem","nextItem","insertAfterKey","insertInfo","loadedRowIndex","_getInsertRowIndex","_getNewRowPosition","insertAfterOrBeforeKey","isLastPageLoaded","_getLoadedRowIndex","_generateNewItem","_processDataItemCore","modified","_fireDataErrorOccurred","_getInsertIndex","_createInsertInfo","_setInsertAfterOrBeforeKey","allItems","getBottomVisibleItemIndex","insertKey","insertBeforeKey","maxInsertIndex","editItem","insertChange","lastPageIndex","_addRow","param","oldEditRowIndex","allowCancelEditing","_allowRowAdding","__KEY__","_initNewRow","_addRowCore","_navigateToNewRow","initialOldEditRowIndex","editRowIndex","_addChange","focusController","pageIndexToInsertRow","_getPageIndexToInsertRow","navigateToRowByKey","navigateToRow","_showAddedRow","_afterInsertRow","_focusFirstEditableCellInRow","$firstCell","_editCellInProgress","_delayedInputFocus","_beforeFocusElementInRow","editColumnName","_setEditColumnName","_getColumnByName","editColumn","columnName","editRowKey","_getEditColumn","_isEditingStart","_beforeUpdateItems","_editRowFromOptionChangedCore","preventRendering","_needFocusEditor","repaintForm","saveEditData","removeChange","_removeInternalData","_updateInsertAfterOrBeforeKeys","_resetEditIndices","waitForDeferredOperations","oldColumn","beforeFocusCallback","callBeforeFocusCallbackAlways","_this18","inputFocus","$focusableElement","_beforeFocusCallback","$editCell","editColumnIndex","_checkAndDeleteRow","_this19","confirmDelete","confirmDeleteMessage","confirmDeleteTitle","showDialogTitle","confirm","confirmResult","_deleteRowCore","_removeChange","_afterDeleteRow","_this20","onSavingParams","results","dataChanges","_this21","changeCopy","_beforeSaveEditData","_executeEditingAction","newData","doneDeferred","_processRemoveCore","processIfBatch","hasSavedData","changesLength","_processRemoveIfError","_processRemove","_this22","_this23","isSaving","_resolveAfterSave","_saving","_saveEditDataInner","_afterSaveEditData","_this24","_fireOnSaving","_processChanges","_processSaveEditDataResult","_endSaving","_cancelSaving","_beforeEndSaving","_refreshDataAfterSave","_this25","refreshMode","isFullRefresh","_fireSaveEditDataEvents","isEditColumnVisible","_isEditColumnVisible","_getEditCommandCellTemplate","isButtonDisabled","_isEditButtonDisabled","_cancelEditDataCore","_beforeCancelEditData","_afterCancelEditData","isPageChanged","skipCurrentRow","_this26","_this27","rowKey","_updateRowValues","addDeferred","forceUpdateRow","_this28","_prepareChange","hasEditData","isEditCell","_updateEditRow","isCustomSetCellValue","isCustomCalculateCellValue","changeOptions","_applyChangeCore","_getRowIndicesForCascadeUpdating","_updateRowImmediately","_updateRowWithDelay","_updateEditRowCore","_validateEditFormAfterUpdate","_this29","elementContainer","_editForm","changeParams","editCellTemplate","_getDefaultEditorTemplate","editingStartOptions","_this30","isRowMode","isRowBasedEditMode","isRowEditing","isCellEditing","getEditFormTemplate","allowUpdating","updateFieldValue","useLegacyColumnButtonTemplate","iconType","iconUtils","localizationName","getButtonLocalizationNames","_this31","titleButtonTextByClassNames","revert","cancelAllChanges","saveAllChanges","addRow","buttonItems","allowAdding","prepareButtonItem","shouldHighlightCell","allowEditAction","startEditAction","_allowEditAction","visibleEditRowIndex","editingModule","selectTextOnEditStart","_editingController","_updateEditItem","processDataItem","_this32","dataSourceKeys","newChanges","getColumnTemplate","isRowRemoved","isRowInserted","isRowModified","_getColumnIndexByElement","_getColumnIndexByElementCore","_editCellByClick","isEditedCell","isShowEditorAlways","editCell","withoutSaveEditData","closeEditCell","_this33","_pointerDownTimeout","isEditForm","isEditableCell","_editCellPrepared","highlightDataCell","_formItemPrepared","cellValue","getCellOptions","_this34","_focusEditorIfNeed","prepareEditButtons","editingRowBasedModule","_Base","_class","hasUpdateChanges","isRowEditMode","isVisibleInRowEditMode","$editingCell","getFocusedCellInRow","editingFormBasedModule","_updateEditFormDeferred","isPopupEditMode","isFormEditMode","firstFormItem","_firstFormItem","$editFormElements","_getEditFormEditorVisibleIndex","isFormOrPopupEditMode","hasEditRow","onlyInsertChanges","_repaintEditPopup","popupVisible","_editPopup","_$popupContent","_showEditPopup","_hideEditPopup","editForm","isMobileDevice","editPopupClass","popupOptions","_getSaveButtonConfig","_getCancelButtonConfig","_getPopupEditFormTemplate","$popupContainer","_getEditPopupHiddenHandler","formTemplate","isPopupForm","defaultAnimation","_handleFormOptionChange","_handlePopupOptionChange","editPopup","popupOptionName","detailCellOptions","formTemplateOptions","isReadOnly","isCustomEditorType","getEditorType","rowData","labelMark","getItemID","_getFormEditItemTemplate","validatorOptions","renderFormEditorTemplate","dxValidator","dataGetter","detailOptions","editFormOptions","_getValidationGroupsInForm","userCustomizeItem","editFormItemClass","itemId","formID","getFormEditorTemplate","baseEditFormOptions","getEditFormOptions","$formContainer","$buttonsContainer","getEditForm","getEditFormRowIndex","_isFormItem","isDetailRow","isPopupEditing","editingCellBasedModule","$pointerDownTarget","needCreateHandlers","targetComponent","isCellOrBatchEditMode","isEditorPopup","checkEditorPopup","isAnotherComponent","isAddRowButton","isCellEditMode","_closeEditItem","$dropDownEditorOverlay","$componentElement","isBatchEditMode","$targetCell","cellElements","_needToCloseEditableCell","isEditRowKeyDefined","isEditColumnNameDefined","oldColumnIndex","_editCellFromOptionChanged","_editCell","coreResult","executeOperation","_editCellCore","isEditByOptionChanged","_this$_getNormalizedE","_getNormalizedEditCellOptions","_beforeEditCell","_prepareEditCell","_processCanceledEditingCell","_setEditColumnNameByIndex","isError","_closeEditCellCore","_beforeCloseEditCellInBatchMode","columnsCount","_applyModified","_handleEditColumnNameChange","_repaintEditCell","needResetIndexes","isBatchMode","_resetModifiedClassCells","getEditRowIndex","isUpdateInCellMode","_needUpdateRow","INVALIDATE_CLASS","REVERT_TOOLTIP_CLASS","INVALID_MESSAGE_CLASS","WIDGET_INVALID_MESSAGE_CLASS","INVALID_MESSAGE_ALWAYS_CLASS","VALIDATOR_CLASS","PENDING_INDICATOR_CLASS","VALIDATION_PENDING_CLASS","CONTENT_CLASS","FORM_BASED_MODES","VALIDATION_STATUS","EDIT_DATA_INSERT_TYPE","VALIDATION_CANCELLED","validationResultIsValid","cellValueShouldBeValidated","ValidatingController","_validationState","initValidationState","_validationStateCache","_rowIsValidated","validationData","_getValidationData","validated","isObjectKeyHash","_getBrokenRules","validationResults","brokenRules","brokenRule","_rowValidating","getChangeByKey","errorText","getHiddenValidatorsErrorText","brokenRulesMessages","isGroupExpandColumn","isVisibleColumn","isFull","completeList","_isValidationInProgress","validateGroup","_currentCellValidator","resetRowValidationResults","isRowDataModified","updateValidationState","setDisableApplyValidationResults","setValidator","renderCellPendingIndicator","disposeCellPendingIndicator","validationStatusChanged","updateCellValidationResult","validatorInitialized","validatorDisposing","getCellValidationResult","cancelCellValidationResult","applyValidationResult","requestIsDisabled","disabledPendingId","_disableApplyValidationResults","getEditorInstance","_syncInternalEditingData","oldDataFromState","createValidator","needCreateValidator","isCellOrBatchEditingAllowed","useDefaultValidator","applyValidationResults","originBypass","bypass","validationRequestsCallbacks","flag","getDisableApplyValidationResults","isCurrentValidatorProcessing","validateCell","cellParams","stateRestored","currentCellValue","removeCellValidationResult","isInvalidCell","getCellValidator","groupConfig","setCellValidationStatus","validatingModule","validationCancelChanges","validating","validatingController","_updateRowAndPageIndices","startInsertIndex","isNotCanceled","isInsert","addInValidItem","isInserted","_createInvisibleColumnValidators","invisibleColumns","invisibleColumnValidators","isCellVisible","disposeValidators","isFullValid","_showErrorRow","shouldResetValidationState","columnsWithValidatingEditors","validationState","resetRowAndPageIndices","currentValidator","refocus","cellModified","isValidated","isCellInvalid","_showRevertButton","$tooltipElement","_revertTooltip","$overlayContainer","revertTooltipClass","tooltipOptions","$buttonElement","onPositioned","_positionedHandler","_hideFixedGroupCell","$nextFixedRowElement","$groupCellElement","nextRowOptions","isOverlayVisible","__skipPositionProcessing","isRevertButton","needRepaint","normalizedPosition","_normalizeValidationMessagePositionAndMaxWidth","_showValidationMessage","editorPopup","myPosition","atPosition","errorMessageText","invalidMessageClass","$overlayElement","_shiftValidationMessageIfNeed","_hideValidationMessage","validationMessages","_getValidationMessagesSelector","fixedColumns","visibleTableWidth","w1","w2","$overlayContentElement","validationMessageWidth","needMaxWidth","boundaryNonFixedColumnsInfo","firstNonFixedColumnIndex","lastNonFixedColumnIndex","endColumnIndex","$revertContent","contentOffset","revertContentOffset","_getRevertTooltipsSelector","skipValidator","updateCellState","errorMessages","_getValidationStatus","oldValidationStatus","newValidationStatus","rowIsModified","cellIsMarkedAsInvalid","hasValidationRules","rowEditStateChanged","cellValidationStateChanged","$freeSpaceRowElements","$tooltipContent","_restoreErrorRow","contentTable","LEGACY_SCROLLING_MODE","needTwoPagesLoading","_controller","isVirtual","getViewportItemIndex","getBeginPageIndex","getEndPageIndex","fireChanged","_isChangedFiring","processDelayChanged","_isDelayChanged","getPreloadPageCount","preloadEnabled","_dataOptions","realViewportSize","viewportSize","viewportItemSize","getContentOffset","getViewportPosition","virtualItemsCount","getItemSizes","getViewportPageCount","processChanged","isDelayChanged","removeCacheItem","dataOptions","isPrepend","viewportItems","correctCount","removeItemCount","itemsLength","updateLoading","_lastPageIndex","VirtualDataLoader","_loadingPageIndexes","newPageIndex","virtualMode","lastPageSize","maxPageIndex","endPageIndex","pageIndexForLoad","getPageIndexForLoad","loadCore","delayDeferred","_delayDeferred","_setViewportPositionCore","removeInvisiblePages","lastCacheLength","beginItemsCount","_isVirtual","subscribeToExternalScrollers","scrollChangedHandler","$scrollElement","scrollableArray","scrollToArray","disposeArray","getElementOffset","$scrollableElement","scrollableOffset","widgetScrollStrategy","subscribeToScrollEvents","isElement","topOffset","scrollMethod","getScrollElementParent","VirtualScrollController","_viewportSize","_viewportItemSize","_viewportItemIndex","_position","_isScrollingBack","_contentSize","_itemSizes","_sizeRatio","positionChanged","_dataLoader","viewportParams","getViewportParams","loadedOffset","loadedItemCount","getScrollingTimeout","scrollingTimeout","changingDuration","setViewportPosition","_scrollTimeoutID","getItemIndexByPosition","viewportItemIndex","defaultItemSize","itemOffset","itemOffsetsWithSize","itemOffsetWithSize","itemOffsetDiff","itemSize","isScrollingBack","prevPosition","setViewportItemIndex","setContentItemSizes","sizes","virtualContentSize","contentHeightLimit","getItemOffset","isEnd","currentItemIndex","getVirtualContentSize","viewportItemIndexChanged","viewportHeight","isRefresh","subscribeToWindowScrollEvents","_windowScroll","topIndex","bottomIndex","maxGap","minGap","topMinGap","bottomMinGap","remainedItems","BOTTOM_LOAD_PANEL_CLASS","FREESPACE_CLASS","VIRTUAL_ROW_CLASS","VISIBLE_PAGE_INDEX","isItemCountableFunc","isItemCountableByDataSource","VirtualScrollingDataSourceAdapterExtender","_virtualScrollController","_loadPageCount","_getVirtualScrollDataOptions","_renderTime","_startLoadTime","handleDataChanged","newMode","virtualScrollController","getDelayDeferred","loadPageCount","takeIsDefined","VirtualScrollingRowsViewExtender","removeEmptyRows","$emptyRows","scrollToPage","updateViewport","_scrollToCurrentPageOnResize","resizeHandler","scrollPosition","itemSizes","_updateContentPosition","startRenderTime","_removeRowsElements","_updateBottomLoading","_addVirtualRow","$virtualRow","_updateContentItemSizes","rowHeights","_getRowHeights","correctedRowHeights","_correctRowHeights","_updateViewportSize","visibleRows","firstCountableItem","lastLoadIndex","isRender","rowHeight","$virtualRows","prevFixed","_isFixedTableRendering","_isTableLinesDisplaysCorrect","table","_isColumnElementsEqual","$columns","$virtualColumns","_getCellClasses","isExpandColumn","_findBottomLoadPanel","$bottomLoadPanel","showBottomLoading","bottomLoadPanelElement","zeroTopPosition","hasScrolled","isValidScrollTarget","hasBottomLoadPanel","isViewportChanging","scrollPos","loadIfNeed","virtualScrollingModule","updateTimeout","minTimeout","renderingThreshold","rowPageSize","prerenderedRowChunkSize","loadTwoPagesOnStart","legacyMode","prerenderedRowCount","baseResult","initVirtualRows","_rowsScrollController","_loadViewportParams","getLoadPageParams","getRowPageSize","rowsScrollController","isSortingOperation","virtualRowsRendering","_allItems","_visibleItems","_rowPageIndex","_viewportChanging","_needUpdateViewportAfterLoading","_getRowsScrollDataOptions","loadViewport","_updateLoadViewportParams","isItemCountable","_itemCount","isNextAfterLast","countableOnly","cancelEmptyChanges","prevCountable","prevRowType","isPrevRowNew","wasCountableItem","newRows","itemCountable","isNextGroupItem","isNextDataItem","skipForCurrentPage","isNewRowInEmptyData","isLoadIndexGreaterStart","isLoadIndexLessEnd","_this$getLoadPagePara2","firstLoadIndex","getPreloadedRowCount","preloadCount","byLoadedPage","loadedPageIndex","loadedTake","topPreloadCount","bottomPreloadCount","skipWithPreload","loadingTake","_updateVisiblePageIndex","currentPageIndex","viewPortItemIndex","_getChangedLoadParams","loadedPageParams","_this$getLoadPagePara3","pageIndexIsValid","_pageIndexIsValid","_loadItems","checkLoading","viewportIsFilled","changedParams","currentLoadPageCount","lastRequiredItemCount","pageIndexNotChanged","allLoadedInAppendMode","isRepaintMode","pageIndexIncreased","viewportChanging","checkLoadedParamsOnly","viewportIsNotFilled","noPendingChangesInEditing","currentTake","newTake","topItemIndex","bottomItemIndex","_this$getLoadPagePara4","masterDataGridUpdated","isNewVirtualMode","hasResizeTimeout","_resizeTimeout","_lastTime","getElementMaxHeightByWindow","startLocation","actualOffset","elementOffset","offsetBottom","Submenu","_ContextMenu","_renderDelimiter","$contentDelimiter","_overlayPositionedActionHandler","_showDelimiter","hoverStartAction","submenu","containerOffset","vLocation","hLocation","rootOffset","rootWidth","rootHeight","submenuWidth","submenuHeight","_isMenuHorizontal","DX_MENU_VERTICAL_CLASS","DX_MENU_HORIZONTAL_CLASS","DX_CONTEXT_MENU_CLASS","DX_CONTEXT_MENU_CONTAINER_BORDER_CLASS","DX_ADAPTIVE_MODE_CLASS","DX_ADAPTIVE_HAMBURGER_BUTTON_CLASS","DX_ADAPTIVE_MODE_OVERLAY_WRAPPER_CLASS","SHOW_SUBMENU_OPERATION","NEXTITEM_OPERATION","PREVITEM_OPERATION","Menu","showFirstSubmenuMode","hideSubmenuOnMouseLeave","onSubmenuShowing","onSubmenuShown","onSubmenuHiding","onSubmenuHidden","adaptivityEnabled","rootMenuElements","submenuElements","_submenuItemElements","currentSubmenu","_submenus","isMenuHorizontal","_getItemsNavigationOperation","_getKeyboardNavigationAction","navigationAction","navOperation","_resizeEventTimer","_menuItemsWidth","_updateItemsWidthCache","$menuItems","_isAdaptivityEnabled","containerWidth","_toggleAdaptiveMode","_visibleSubmenu","_initAdaptivity","_hamburger","_toggleTreeView","_toggleHamburgerActiveState","$menuItemsContainer","$adaptiveElements","_hideVisibleSubmenu","_treeView","_$adaptiveContainer","menuOptions","_treeviewItemClickHandler","$hamburger","_renderHamburgerButton","_getTreeViewOptions","_getAdaptiveOverlayOptions","delayType","_createSubmenu","_renderBorderElement","$submenuContainer","subMenu","_getSubmenuOptions","_parentKey","_clearTimeouts","getSubmenuPosition","_attachSubmenuHandlers","$submenuTarget","_nestedItemOnSelectionChangedHandler","_nestedItemOnItemClickHandler","_nestedItemOnItemRenderedHandler","_moveMainMenuFocus","$currentItem","$newItem","_clearSelectionInSubmenus","_clearRootSelection","targetSubmenu","cleanAllSubmenus","isOtherItem","$selectedItem","selectedItemData","$prevSelectedItem","submenus","getOverlayContent","submenuMouseLeaveName","hoverEventEnd","_submenuOnShowingHandler","_submenuOnShownHandler","_submenuOnHidingHandler","_submenuOnHiddenHandler","_submenuMouseLeaveHandler","$border","_getSubmenuByRootElement","_hideSubmenuAfterTimeout","_getDelay","isRootItemHovered","isSubmenuItemHovered","isHorizontalMenu","mouseMoveEventName","isSelectionActive","_getShowFirstSubmenuMode","_getSubmenuByElement","_itemMouseMoveHandler","_showSubmenuTimer","eventArg","_hideSubmenuTimer","_hoveredRootItem","_changeSubmenusOption","_removeAdaptivity","OPERATION_ICONS","notcontains","startswith","endswith","OPERATION_DESCRIPTORS","FILTER_ROW_CLASS","FILTER_RANGE_OVERLAY_CLASS","FILTER_RANGE_START_CLASS","MENU_CLASS","EDITOR_WITH_MENU_CLASS","EDITOR_CONTAINER_CLASS","HIGHLIGHT_OUTLINE_CLASS","FOCUSED_CLASS","FILTER_RANGE_CONTENT_CLASS","FILTER_MODIFIED_CLASS","BETWEEN_OPERATION_DATA_TYPES","ARIA_SEARCH_BOX","isOnClickApplyFilterMode","$editorContainer","ColumnHeadersViewFilterRowExtender","getRangeTextByFilterValue","rangeEnd","getColumnFilterValue","formatOptions","getColumnSelectedFilterOperation","bufferedSelectedFilterOperation","isFilterRange","isRangeStart","_updateEditorValue","$editorRangeElements","overlayInstance","_updateFilterRangeContent","_updateFilterOperationChooser","_renderFilterRangeContent","_renderEditor","_getEditorOptions","_hideFilterRange","_filterRangeOverlayInstance","isFilterRowVisible","_applyFilterViewController","_initFilterRangeOverlay","filterRangeOverlayClass","$prevElement","_updateFilterRangeOverlay","_showFilterRange","getFilterRangeOverlayInstance","_renderFilterCell","_renderFilterOperationChooser","accessibilityOptions","_getFilterInputAccessibilityAttributes","setHighLight","normalizedValue","columnFilterValue","isBetween","updateFilterValue","columnAriaLabel","editorController","filterRowController","setCurrentColumnForFiltering","lookupDataSource","lookupOptions","$filterRangeContent","isCellWasFocused","menu","_focusEditor","_getFilterOperationMenuItems","columnSelectedFilterOperation","notFocusEditor","isOnClickMode","_isEditorFocused","filterRowOptions","availableFilterOperations","descriptionName","resetOperationText","updateLookupDataSource","filterChanged","applyFilterViewController","editorDataSource","DataControllerFilterRowExtender","skipCalculateColumnFilters","shouldSkip","getCurrentColumnForFiltering","filterRowModule","showOperationChooser","applyFilter","applyFilterText","equal","notEqual","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","notContains","isBlank","isNotBlank","betweenStartText","betweenEndText","_getHeaderPanel","_headerPanel","enableApplyButton","removeHighLights","columnHeadersViewElement","_currentColumn","columnsResizer","_startResizing","_targetPoint","_endResizing","_needUpdateLookupDataSource","_prepareFilterItem","filterItem","_isShowApplyFilterButton","core","HEADER_FILTER_CLASS","HEADER_FILTER_MENU_CLASS","resetChildrenItemSelection","getSelectAllCheckBox","listComponent","updateListSelectAllState","selectAllCheckBox","updateHeaderFilterItemSelectionState","filterValuesMatch","isExcludeFilter","HeaderFilterView","getPopupContainer","getListComponent","_listComponent","applyHeaderFilter","isFilterBuilder","fillSelectedItemKeys","isExclude","hasChildrenWithSelection","hideHeaderFilterMenu","$columnElement","updatePopup","headerFilterMenu","_cleanPopupContent","_getSearchExpr","headerFilterOptions","useDefaultSearchExpr","headerFilterDataSource","filterSearchExpr","_normalizeHeaderFilterOptions","ok","_initializeListContainer","needShowSelectAllCheckbox","List","showSelectionControls","_selectedItemsUpdating","filterValueIndex","generalHeaderFilter","specificHeaderFilter","generalDeprecated","specificDeprecated","headerFilterMixin","$headerFilterIndicator","_isHeaderFilterEmpty","indicatorLabel","DATE_INTERVAL_FORMATS","ungroupUTCDates","dates","isMonthPart","convertDataFromUTCToLocal","HeaderFilterController","_headerFilterView","_updateSelectedState","_normalizeGroupItem","currentLevel","valueSelector","displaySelector","getHeaderItemText","firstValueText","secondValue","secondValueText","emptyValue","groupItems","isLookup","cutoffLevel","origPostProcess","getCurrentColumn","isGroupPanel","showHeaderFilterMenuBase","columnElement","dxResizableInstance","dxResizable","headerFilterByColumn","ColumnHeadersViewHeaderFilterExtender","_subscribeToIndicatorEvent","_updateHeaderFilterIndicators","_needUpdateFilterIndicators","HeaderPanelHeaderFilterExtender","headerFilterModule","headerFilterView","FILTER_BUILDER_RANGE_CLASS","FILTER_BUILDER_RANGE_START_CLASS","FILTER_BUILDER_RANGE_END_CLASS","FILTER_BUILDER_RANGE_SEPARATOR_CLASS","SEPARATOR","editorTemplate","conditionInfo","$editorStart","$editorEnd","getStartValue","getEndValue","_editorFactory","valueSeparator","dataTypes","notForLookup","isblank","isnotblank","OPERATION_NAME","getIconByFilterOperation","filterOperation","getNameByFilterOperation","DEFAULT_DATA_TYPE","EMPTY_MENU_ICON","AND_GROUP_OPERATION","EQUAL_OPERATION","NOT_EQUAL_OPERATION","DEFAULT_FORMAT","LOOKUP_OPERATIONS","AVAILABLE_FIELD_PROPERTIES","FILTER_BUILDER_ITEM_TEXT_CLASS","FILTER_BUILDER_CLASS","FILTER_BUILDER_ITEM_TEXT_PART_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_CLASS","FILTER_BUILDER_ITEM_TEXT_SEPARATOR_EMPTY_CLASS","isNegationGroup","isCondition","getGroupCriteria","setGroupValue","convertGroupToNewStructure","getCriteriaOperation","getGroupValue","getFilterOperations","entity","getDefaultFilterOperations","getCaptionByOperation","filterOperationsDictionary","getCustomOperation","customOperations","filteredOperations","getDefaultOperation","createEmptyGroup","isNegation","isNegationGroupOperation","groupOperation","getGroupOperationFromNegationOperation","groupValue","extendedFields","convertToInnerGroup","defaultGroupOperation","innerGroup","convertToInnerStructure","appendGroupOperationToGroup","convertToInnerCondition","conditionHasCustomOperation","appendGroupOperationToCriteria","getConditionFilterExpression","filterExpression","defaultCalculateFilterExpression","getFilterExpression","_filterExpression","getNormalizedFilter","itemsForRemove","normalizedGroupValue","setGroupCriteria","getCurrentLookupValueText","getPrimitiveValueText","fieldFormat","getFormattedValueText","checkDefaultValue","getCurrentValueText","getArrayValueText","itemExists","pushItemAndCheckParent","originalItems","hasParent","getParentIdFromItemDataField","generateCaptionByDataField","allowHierarchicalFields","getCaptionWithParents","updateConditionByOperation","hasValue","getOperationValue","isMatchedCondition","addedFilterDataField","removeFieldConditionsFromFilter","syncConditionIntoGroup","addedFilter","canPush","syncFilters","filterHasField","renderValueText","lastItemIndex","baseOperation","grid","getFullText","parentText","div","closeEditor","fieldInfo","itemsDeferred","_values","getSelectedItemsTexts","selectedItemsTexts","noneOf","baseOp","baseFilter","FILTER_ROW_OPERATIONS","FILTER_TYPES_INCLUDE","FILTER_TYPES_EXCLUDE","getColumnIdentifier","FilterSyncController","getEmptyFilterValues","canSyncHeaderFilterWithFilterRow","getConditionFromFilterRow","getConditionFromHeaderFilter","selectedOperation","updateHeaderFilterCondition","headerFilterCondition","hasArrayValue","updateFilterRowCondition","syncFilterValue","getFilteringColumns","_skipSyncColumnOptions","filterConditions","getMatchedConditions","filterCondition","_initSync","checkForErrors","filteringColumns","isFilterSyncActive","_getSyncFilterRow","_getSyncHeaderFilter","syncFilterRow","syncHeaderFilter","getCustomFilterOperations","filterBuilderCustomOperations","DataControllerFilterSyncExtender","filterSyncEnabledValue","calculatedFilterValue","_parseColumnPropertyName","matched","clearFilter","filterSyncModule","filterSync","FILTER_BUILDER_GROUP_CLASS","FILTER_BUILDER_GROUP_ITEM_CLASS","FILTER_BUILDER_GROUP_CONTENT_CLASS","FILTER_BUILDER_GROUP_OPERATIONS_CLASS","FILTER_BUILDER_GROUP_OPERATION_CLASS","FILTER_BUILDER_ACTION_CLASS","FILTER_BUILDER_IMAGE_CLASS","FILTER_BUILDER_ITEM_FIELD_CLASS","FILTER_BUILDER_ITEM_OPERATION_CLASS","FILTER_BUILDER_ITEM_VALUE_CLASS","FILTER_BUILDER_ITEM_VALUE_TEXT_CLASS","FILTER_BUILDER_OVERLAY_CLASS","FILTER_BUILDER_FILTER_OPERATIONS_CLASS","FILTER_BUILDER_FIELDS_CLASS","FILTER_BUILDER_ADD_CONDITION_CLASS","ACTIVE_CLASS","FILTER_BUILDER_MENU_CUSTOM_OPERATION_CLASS","SOURCE","ENTER_KEY","ESCAPE_KEY","OPERATORS","and","notAnd","notOr","groupOperations","maxGroupLevel","closePopupOnTargetScroll","_initCustomOperations","disableInvalidateForValue","_disableInvalidateForValue","_initModel","_getNormalizedFields","_getFilterExpression","_model","_customOperations","normalizedField","_updateFilter","_getModel","_initEditorFactory","betweenCaption","betweenIndex","getMergedOperations","_getDefaultGroupOperation","_this$option$","_createGroupElementByCriteria","_createConditionElement","_createConditionItem","$group","_createGroupElement","$groupContent","groupCriteria","innerCriteria","$groupItem","_createRemoveButton","_createGroupOperationButton","_createAddButton","newGroup","newCondition","createCondition","_getGroupOperations","groupMenuItem","availableGroups","getGroupMenuItem","$operationButton","_createButtonWithMenu","removeMenu","treeViewElement","treeView","dxTreeView","_subscribeOnClickAndEnterKey","_createPopupWithTreeView","_hasValueButton","_createOperationButtonWithMenu","availableOperations","isLookupField","isCustom","getAvailableOperations","currentOperation","getOperationFromAvailable","$valueButton","_createValueButton","_createOperationAndValueButtons","_createFieldButtonWithMenu","getFullCaption","$fieldButton","$removeButton","addGroupHandler","addConditionHandler","_createValueText","$text","_createValueEditorWithEvents","_updateConditionValue","_addDocumentKeyUp","isComposing","hasCompositionJustEnded","documentKeyUpHandler","_documentKeyUpHandler","_addDocumentClick","closeEditorFunc","documentClickHandler","_isFocusOnEditorParts","_documentClickHandler","_removeEvents","createValueText","_createValueEditor","$popup","$menuContainer","_wrapperClassExternal","filterBuilderModule","filterBuilderView","_updatePopupOptions","_initPopup","_filterBuilderPopup","_disposePopup","_filterBuilder","_getPopupContentTemplate","_getPopupToolbarItems","$filterBuilderContainer","ScrollView","FILTER_PANEL_CLASS","FILTER_PANEL_TEXT_CLASS","FILTER_PANEL_CHECKBOX_CLASS","FILTER_PANEL_CLEAR_FILTER_CLASS","FILTER_PANEL_LEFT_CONTAINER","FilterPanelView","$leftContainer","_renderFilterBuilderText","$filterElement","_getFilterElement","$textElement","_getTextElement","_filterValueBuffer","$checkElement","_getCheckElement","$removeButtonElement","_getRemoveButtonElement","_showFilterBuilder","_addTabIndexToElement","filterText","getFilterText","customText","clearFilterValue","tabindex","_getConditionText","fieldText","operationText","_getValueMaskedText","_getValueText","hasCustomOperation","gridUtils","getConditionText","getGroupText","isInnerGroup","textParts","groupText","filterPanelModule","createFilter","filterEnabledHint","filterPanelView","SEARCH_PANEL_CLASS","SEARCH_TEXT_CLASS","searchModule","highlightSearchText","highlightCaseSensitive","searchVisibleColumnsOnly","onQueryDone","valueGetter","getSearchPanelOptions","_prepareSearchItem","searchPanelOptions","$search","getSearchTextEditor","$searchPanel","_searchParams","_getFormattedSearchText","_getStringNormalizer","isCaseSensitive","_findHighlightingTextNodes","stringNormalizer","normalizedSearchText","resultTextNodes","$contents","_highlightSearchTextCore","$textNode","$searchTextSpan","firstContentElement","_highlightSearchText","isEquals","textNode","_highlightTimer","GridPagerWrapper","pageIndexChanged","pageSizeChanged","getElementStyle","_getElementComputedSt","computedStyle","getElementWidth","getElementMinWidth","getElementsWidth","pageSizes","pages","parentWidth","getElementContentWidth","pageSizesWidth","infoWidth","pagesHtmlWidth","ResizableContainer","parentRef","pageSizesRef","infoTextRef","pagesRef","actualIsLargeDisplayMode","actualInfoTextVisible","infoTextVisible","isLargeDisplayMode","subscribeToResize","effectUpdateChildProps","updateAdaptivityProps","pagerProps","_this$props$pagerProp","displayMode","gridCompatibility","infoText","lightModeEnabled","maxPagesCount","pageIndexChange","pageSizeChange","pagesCountText","pagesNavigatorVisible","showInfo","showNavigationButtons","showPageSizes","currentElementsWidth","elementsWidth","pagesWidth","calculateLargeDisplayMode","calculateInfoTextVisible","contentAttributes","Content","BasePagerProps","PagerProps","InternalPagerProps","PAGER_INFO_CLASS","InfoTextPropsType","InfoText","_this$props$infoText","KeyboardActionContext","LightButton","subscribeToClick","keyboardContext","PAGER_SELECTION_CLASS","PAGER_PAGE_SIZE_CLASS","PAGER_SELECTED_PAGE_SIZE_CLASS","PageProps","Page","_combineClasses","getDelimiterType","slidingWindowSize","createPageIndexesBySlidingWindowIndexes","slidingWindowIndexes","pageIndexes","indexesForReuse","createPageIndexes","PagesLargePropsType","PagesLarge","canReuseSlidingWindow","generatePageIndexes","isSlidingWindowMode","onPageClick","slidingWindowState","slidingWindowStateHolder","currentPageCount","lastPageIsFartherThanWindow","pageIndexExistInIndexes","_createPageIndexes","pageProps","createPage","PagesMarkup","EditorStateProps","EditorLabelProps","NumberBoxProps","NumberBoxPropsType","NumberBox","LegacyNumberBox","calculateValuesFittedWidth","PAGER_INFO_TEXT_CLASS","PAGER_PAGE_INDEX_CLASS","PagerSmallProps","PagerSmallPropsType","PagesSmall","pageIndexRef","updateWidth","selectLastPageIndex","_this$pageIndexRef$cu","_this$props$pagesCoun","PAGER_NAVIGATE_BUTTON","PAGER_PREV_BUTTON_CLASS","PAGER_NEXT_BUTTON_CLASS","PAGER_BUTTON_DISABLE_CLASS","nextEnabledClass","prevEnabledClass","nextDisabledClass","prevDisabledClass","reverseDirections","PageIndexSelectorProps","PageIndexSelectorPropsType","PageIndexSelector","getButtonProps","canNavigateToPage","getNextPageIndex","canNavigateTo","navigateToPage","rtlAwareDirection","canNavigate","navigate","getIncrement","renderPrevButton","prevButtonProps","nextButtonProps","renderNextButton","SelectBoxProps","SelectBoxPropsType","SelectBox","LegacySelectBox","PageSizeSmallProps","PageSizeSmallPropsType","PageSizeSmall","PageSizeLargePropsType","PageSizeLarge","onPageSizeChange","pageSizesText","_this2$props","processedPageSize","PageSizeSelectorProps","PageSizeSelectorPropsType","PageSizeSelector","htmlRef","normalizedPageSizes","PagerContentProps","PagerContent","widgetRootElementRef","createFakeInstance","keyboardAction","_this$props$onKeyDown","_registerKeyboardAction","normalizedDisplayMode","infoVisible","pageIndexSelectorVisible","pagesContainerVisibility","pagesContainerVisible","newPageSize","_this$props$pageSize$","_GridPagerWrapper","PagerComponent","getPageIndex","PagerView","_pager","pagerOptions","useLegacyKeyboardNavigation","getPager","_pageSizes","pagerVisible","isPager","isPaging","isDataSource","isScrolling","skipProcessingPagingChange","pagerModule","COLUMNS_SEPARATOR_TRANSPARENT","DRAGGING_HEADER_CLASS","HEADERS_DRAG_ACTION_CLASS","TRACKER_CLASS","HEADERS_DROP_HIGHLIGHT_CLASS","BLOCK_SEPARATOR_CLASS","TrackerView","_unsubscribeFromCallback","_positionChanged","_tablePositionController","_subscribeToCallback","SeparatorView","_isShown","ColumnsSeparatorView","_isTransparent","columnsSeparatorTransparent","moveByX","outerX","changeCursor","cursorName","BlockSeparatorView","startAnimate","toOptions","DraggingHeaderView","_isDragging","isDragging","_getDraggingPanelByPos","_dragOptions","draggingPanels","draggingPanel","boundingRect","_resetTargetColumnOptions","_dropOptions","targetColumnIndex","targetColumnElement","posX","posY","_getVisibleIndexObject","_columnsResizerViewController","dragHeader","isCommandColumn","sourceIndex","sourceColumnIndex","sourceColumnElement","_onSelectStart","onselectstart","drag","swatchContainer","moveHeader","getEventData","dragOptions","moveDeltaX","moveDeltaY","newLeft","newTop","dockHeader","targetDraggingPanel","isVerticalOrientation","axisName","pointsByTarget","pointsByColumns","_generatePointsByColumns","centerPosition","dock","dropHeader","drop","isNextColumnResizingMode","ColumnsResizerViewController","_isHeadersRowArea","headersRowHeight","_isRtlParentStyle","_$parentContainer","_pointCreated","isNextColumnMode","isRtlParentStyle","firstPointColumnIndex","nextColumn","_getTargetPoint","currentX","_moveSeparator","columnsSeparatorWidth","_columnsSeparatorView","parentOffsetLeft","_draggingHeaderView","_isResizing","_resizingInfo","_updateColumnsWidthIfNeeded","currentColumnIndex","_previousParentOffset","_isReadyResizing","_trackerView","_getNextColumnIndex","_setupResizingInfo","nextColumnIndex","currentHeader","nextHeader","startPosX","currentColumnWidth","nextColumnWidth","_pointsByColumns","_unsubscribeFromEvents","_moveSeparatorHandler","_startResizingHandler","_endResizingHandler","_subscribeToEvents","needUpdate","resizingInfo","setColumnWidth","oldColumnWidth","nextMinWidth","nextCellWidth","needCorrectionNextCellWidth","cellWidth","allColumnsHaveWidth","totalPercent","_subscribesToCallbacks","_unsubscribeFromCallbacks","_unsubscribes","generatePointsByColumnsHandler","generatePointsByColumnsScrollHandler","previousScrollbarVisibility","previousTableHeight","scrollbarVisibility","TablePositionViewController","diffOffsetTop","columnsHeadersHeight","scrollBarWidth","columnsResizerController","draggingHeaderView","_pagerView","targetPoint","columnsResizingReorderingModule","columnsSeparatorView","blockSeparatorView","trackerView","draggingHeader","nameDraggingPanel","subscribeToEvents","dragEventStart","dragEventMove","dragEventEnd","_getSeparator","_blockSeparatorView","hideSeparators","blockSeparator","columnsSeparator","_animationColumnIndex","_headerPanelView","_columnChooserView","allowDrop","headersView","hasTargetVisibleIndex","moveColumn","tablePosition","compareByReference","lastArgs","MEMOIZE_DEFAULT_OPTIONS","compareType","cachedFunc","firstResult","firstArgs","originFunc","compareFunc","lastResult","createCacheFunc","ATTRIBUTES","ROWS_VIEW_CLASS","FREESPACE_ROW_CLASS","MASTER_DETAIL_CELL_CLASS","COMMAND_EXPAND_CLASS","COMMAND_CELL_SELECTOR","FAST_EDITING_DELETE_KEY","INTERACTIVE_ELEMENTS_SELECTOR","NON_FOCUSABLE_ELEMENTS_SELECTOR","FOCUS_TYPE_CELL","COLUMN_HEADERS_VIEW","FUNCTIONAL_KEYS","GridCoreKeyboardNavigationDom","_isRowEditMode","isElementDefined","isMobile","isCellInHeaderRow","KeyboardNavigationController","_selectionController","_focusController","_memoFireFocusedCellChanged","_memoFireFocusedRowChanged","_updateFocusTimeout","_fastEditingStarted","_focusedCellPosition","_canceledCellPosition","setupFocusedView","_isNeedScroll","_focusedView","_scrollToElement","_initViewHandlers","_initDocumentHandlers","rowsViewFocusHandler","isRelatedTargetInRowsView","isLink","_isEventInCurrentGrid","$focusedCell","_getFocusedCell","isCell","needSetFocusPosition","_updateFocusedCellPosition","$rowsView","isFocusedViewCorrect","isFocusedElementCorrect","_initPointerEventHandler","_initKeyDownHandler","_setRowsViewAttributes","_isNeedFocus","_isHiddenFocus","isCurrentRowsViewClick","isEditorOverlay","isColumnResizing","_resetFocusedCell","_resetFocusedView","_getRowsViewElement","_applyTabIndexToElement","pointerEventName","_pointerEventAction","_pointerEventHandler","_keyDownListener","_keyDownHandler","focusType","needStopPropagation","_processOnKeyDown","_updateFocusedCellPositionByTarget","_leftRightKeysHandler","_upDownKeysHandler","_pageUpDownKeyHandler","_spaceKeyHandler","_ctrlAKeyHandler","_beginFastEditing","_tabKeyHandler","_escapeKeyHandler","_ctrlFKeyHandler","_f2KeyHandler","_isFastEditingAllowed","_isFastEditingStarted","getVisibleRowIndex","$event","getRow","directionCode","_getDirectionCodeByKey","isEditingNavigationMode","setCellFocusType","_closeEditCell","_isVirtualColumnRender","_processVirtualHorizontalPosition","_getNextCell","_arrowKeysHandlerFocusCell","isUpArrow","isRowEditingInCurrentRow","_navigateNextCell","_isVirtualRowRender","_scrollBy","isPageUp","pageStep","_isVirtualScrolling","isFocusedRowElement","_getElementType","isRowFocusType","isOriginalHandlerRequired","_isLastValidCell","_isFirstValidCell","focusedViewElement","_handleTabKeyOnMasterDetailCell","_editingCellTabHandler","_targetCellTabHandler","allVisibleColumns","renderedVisibleColumns","localColumnIndex","getColumnIndex","horizontalScrollPosition","needToScroll","_getVisibleColumnCount","_getMaxHorizontalOffset","_isFixedColumn","_isColumnRendered","_isColumnVirtual","_getHorizontalScrollPositionOffset","scrollBy","positionOffset","$currentCell","_getCell","currentCellWidth","rtlMultiplier","isEditingAllowed","_getCellElementFromTarget","elementType","nextCellInfo","_getNextCellByTabKey","_getRowIndex","_isDataRow","_focusCell","isHighlighted","_editFocusedCell","_focusInteractiveElement","$lastInteractiveElement","_getInteractiveElement","getFirstValidCellInRow","_checkNewLineTransition","_fireFocusedCellChanging","$newCellElement","_getCellPosition","_fireFocusedRowChanging","rowIndexChanged","setFocusedColumnIndex","_processEnterKeyForDataCell","_getEnterKeyDirection","allowEditingOnEnterKey","_allowEditingOnEnterKey","_handleEnterKeyEditingCell","_startEditing","enterKeyDirection","isShift","_focusEditFormCell","searchTextEditor","_isCellValid","$nextCell","isVerticalDirection","_fireFocusChangingEvents","_focus","isDeleting","fastEditingKey","isInteractiveElement","isExpandCommandCell","_isInsideEditForm","_focusView","_isMasterDetailCell","_clickTargetCellHandler","_isCellEditMode","setRowFocusType","setFocusedRowIndex","prevRowIndex","resetFocusedRow","_resetFocusedRow","_allowRowUpdating","skipFocusEvent","activeElementSelector","_isCellElement","_focusElement","rowsViewElement","$focusedView","getFocusedView","$view","disableFocus","isNotFocusedRow","$focusElement","focusedView","isRowFocus","isGroupFooterRow","isRenderView","isNewRowInEditMode","_hasSkipRow","$focusedElementInsideCell","isFocusedElementDefined","setFocusedCellPosition","_getFixedColumnIndexOffset","isFixedColumnIndexOffsetRequired","_getFocusedColumnIndexOffset","_applyColumnIndexBoundaries","renderFocusState","newRowIndex","_hasValidCellAfterPosition","_isLastRow","_hasValidCellBeforePosition","visibleColumnsCount","getMaxRowIndex","isFirstValidCell","hasValidCells","checkingPosition","_isCellByPositionValid","visibleColumnCount","isClick","isShowWhenGrouped","isDataCell","rowItems","_isLegacyNavigation","focusedCellPosition","includeCommandCells","newFocusedCellPosition","_getNewPositionByCode","isLastCellOnDirection","_isCellInRow","visibleColumnIndex","_isAllowEditing","_startEditCell","colIndex","editResult","isEditResultDeferred","editorValue","editResultDeferred","waitTemplatesDeferred","_editingCellHandler","$inputElement","keyDownEvent","keyPressEvent","inputEvent","$widgetContainer","fireRowEvent","isCellFocusType","newColumnIndex","prevColumnIndex","localRowIndex","$newFocusedRow","prevFocusedRowIndex","getFocusedRowIndexByKey","getCell","restoreFocusableElement","$editForm","$masterDetailCell","_$cell","_processNextCellInMasterDetail","isCanceled","lastVisibleIndex","keyboardNavigationModule","enterKeyAction","editOnKeyPress","_triggerPointerDownEventHandler","updateFocusedRowIndex","updateFocusElementTabIndex","_updateFocusedCellTabIndex","cellElementsLength","updateCellTabIndex","isMasterDetailCell","isValidCell","_renderFocusByChange","shouldPreventScroll","editorInstance","_getEditorInstance","_handleEditingNavigationMode","originalKeyHandler","_processCanceledEditCellPosition","keyboardNavigationController","_keyboardNavigationController","getRowIndexCorrection","focusedRowIndexCorrection","adaptiveColumns","_showHiddenCellsInView","_hideVisibleCellInView","depthFirstSearch","normalizeAggregate","skipEmptyValues","_groupLevel","_totalAggregates","totalAggregates","_groupAggregates","groupAggregates","_totals","_calculateTotals","_calculateGroups","_aggregate","aggregates","_accumulate","_seed","_finalize","seedFn","stepFn","finalizeFn","innerNode","aggregateIndex","fin","DATAGRID_GROUP_FOOTER_ROW_TYPE","DATAGRID_TOTAL_FOOTER_ROW_TYPE","renderSummaryCell","$summaryItems","getSummaryCellOptions","getGroupAggregates","recalculateWhileEditing","FooterView","footerItems","needUpdateScrollLeft","_updateScrollLeftPosition","$newTable","$newRow","totalColumnIndices","SummaryDataSourceAdapterExtender","_summaryGetter","summaryGetter","sortByGroupsInfo","sortByGroups","groupedItems","forEachGroup","itemsPath","SummaryDataSourceAdapterClientExtender","calculateAggregates","calculator","insertedData","getInsertedData","applyAddedData","removedData","getRemovedData","applyRemovedData","updatedData","updatedItems","AggregateCalculator","sortGroupsBySummary","sortGroupsBySummaryCore","sortedItems","totalSummary","totalItems","calculateCustomSummary","sumOtherColumn","minOtherColumn","maxOtherColumn","avgOtherColumn","_isDataColumn","_isGroupFooterVisible","showInColumn","showInGroupFooter","isGroupFooterVisible","summaryGroupItems","afterGroupColumnIndex","_calculateSummaryCells","alignByColumn","calculateTargetColumnIndex","summaryCellsByColumns","summaryIndex","_getSummaryCells","summaryTotalItems","_footerItems","oldSummaryCells","summaryCell","_prepareUnsavedDataSelector","getUpdatedData","_prepareAggregateSelector","_getAggregates","commonSkipEmptyValues","summaryProcess","totalValue","_addSortInfo","_findSummaryItem","summaryItemIndex","_getSummarySortByGroups","groupSummaryItems","currentRemoteOperations","_getSummaryOptions","totalSummaryItems","methods","getTotalSummaryValue","summaryItemName","_refreshSummary","_renderGroupSummaryCells","_hasAlignByColumnSummaryItems","_getAlignByColumnCellCount","groupCellColSpan","alignByColumnCellCount","$groupCell","_renderGroupSummaryCellsCore","_getSummaryCellIndex","CONTENT_FIXED_CLASS","FIRST_CELL_CLASS","HOVER_STATE_CLASS","FIXED_COL_CLASS","POINTER_EVENTS_NONE_CLASS","COMMAND_TRANSPARENT","getTransparentColumnIndex","normalizeColumnWidths","fixedWidths","fixedColumnIndex","baseFixedColumns","_isFixedColumns","_correctColumnIndicesForFixedColumns","_partialUpdateFixedTable","fixedTableElement","_fixedTableElement","_partialUpdateFixedRow","needUpdateColspan","$fixedTable","fixedCorrection","fixedCells","prevFixedColumn","columnCommand","isRowAltStyle","isSelectAllCell","isEmptyCell","isGroupCell","alignByFixedColumnCellCount","headerRowIndex","fixedCellElements","fixedColumn","getVisibleIndexByColumn","getFixedColumnsOffset","$transparentColumn","positionTransparentColumn","getTransparentColumnElement","getFixedTableElement","synchronizeRows","isWidthsSynchronized","isColumnWidthChanged","_getClientHeight","boundingClientRectElement","$fixedRowElements","fixedRowHeights","heightTable","heightFixedTable","fixedRowHeight","ColumnHeadersViewFixedColumnsExtender","_getRowVisibleColumns","columnFixingOptions","fix","leftPosition","rightPosition","unfix","getFixedColumnElements","$transparentColumnElement","$fixedColumnElements","RowsViewFixedColumnsExtender","_detachHoverEvents","attachHoverEvent","isHover","_getScrollDelay","scrollDelay","_fixedScrollTimeout","$nearestScrollable","shouldScroll","nearestScrollableInstance","nearestScrollableHasVerticalScrollbar","scrollableTop","scrollableHeight","_updateFixedTablePosition","needFocus","vWidth","hWidth","$fixedContent","_getElasticScrollTop","elasticScrollTop","reachedBottom","$scrollableContent","$scrollableContainer","maxScrollTop","_applyElasticScrolling","columnFixingModule","correctIndex","_pointsByFixedColumns","ROWS_VIEW","COLUMN_VIEWS","ADAPTIVE_ROW_TYPE","FORM_ITEM_CONTENT_CLASS","HIDDEN_COLUMN_CLASS","ADAPTIVE_COLUMN_NAME_CLASS","COMMAND_ADAPTIVE_HIDDEN_CLASS","ADAPTIVE_ITEM_TEXT_CLASS","ADAPTIVE_COLUMN_NAME","EXPAND_ARIA_NAME","adaptiveCellTemplate","$adaptiveColumnButton","adaptiveColumnsController","toggleExpandAdaptiveDetailRow","focusCellHandler","adaptiveColumnsControllerMembers","_getEditMode","_isItemModified","_renderFormViewTemplate","focusAction","renderFormTemplate","isItemEdited","_isItemEdited","_isVisibleColumnsValid","_calculatePercentWidths","percentWidths","_getItemPercentWidth","_isPercentWidth","_isColumnHidden","_hiddenColumns","hiddenColumn","columnsCanFit","fixedColumnsWidth","columnsWithoutFixedWidthCount","_calculatePercentWidth","_calculateColumnWidth","contentColumns","colWidth","widthOption","columnFitted","partialWidth","resultWidth","_getNotTruncatedColumnWidth","_getCommandColumnsWidth","adaptiveExpandedKey","_getFormItemsByHiddenColumns","_getAdaptiveColumnVisibleIndex","_hideAdaptiveColumn","_hideVisibleColumn","cssClassNameToRemove","_showHiddenColumns","$hiddenCommandCells","$hiddenCells","_hideVisibleColumnInView","editFormRowIndex","rowsCount","getRowsCount","currentVisibleIndex","_findCellElementInRow","$rowCells","cellIsInsideGroup","groupCellLength","cssClassNameToAdd","hideRedundantColumns","hiddenQueue","needHideColumn","rootElementWidth","getVisibleContentColumns","visibleContentColumns","contentColumnsCount","columnBestFitWidth","getAdaptiveDetailItems","_$itemContents","getItemContentByColumnIndex","alwaysExpanded","createFormByHiddenColumns","userFormOptions","defaultFormOptions","formOptions","_form","updateForm","hasAdaptiveDetailRowExpanded","_contentReadyAction","updateHidingQueue","columnsHasHidingPriority","hideableColumns","_hidingColumnsQueue","hidingPriority","getHiddenColumns","getHidingColumnsQueue","adaptiveHidden","isAdaptiveVisible","isAdaptiveDetailRowExpanded","expandAdaptiveDetailRow","collapseAdaptiveDetailRow","updateCommandAdaptiveAriaLabel","setCommandAdaptiveAriaLabel","labelName","adaptivityModule","_adaptiveColumnsController","hidingColumnsQueueLength","hiddenColumnsLength","getDataCellElements","$adaptiveDetailItems","_updateColumnWidth","hasHiddenColumnsOnly","hasAdaptiveHiddenWidth","$itemContents","_adaptiveController","oldExpandRowIndex","_isForceRowAdaptiveExpand","_collapseAdaptiveDetailRow","_cancelEditAdaptiveDetailRow","expandedKey","_adaptiveExpandedKey","adaptiveController","oldHiddenColumns","hidingColumnsQueue","_updateScrollableTimeoutID","expandRowIndex","lastRowIndex","oldExpandLoadedRowIndex","newExpandLoadedRowIndex","oldKey","isCellOrBatchMode","foreachColumnInfo","offsets","lastProcessedIndexes","processedColumnCount","createColumnsInfo","newInfo","columnInfo","cellColspan","setScrollPosition","_restoreScrollTop","ColumnsControllerExtender","getWidths","_beginPageIndex","_endPageIndex","_virtualVisibleColumns","getColumnPageSize","getTotalWidth","_fireColumnsChanged","_changedTimeout","_setScrollPositionCore","needColumnsChanged","visibleColumnsHash","beginFixedColumnCount","beginFixedColumns","beginColumns","beginWidth","endFixedColumnCount","endFixedColumns","endColumns","endWidth","columnsInfo","leftFixedColumnCount","virtualColumnsModule","columnRenderingMode","columnPageSize","columnRenderingThreshold","BUTTON_GROUP_CLASS","BUTTON_GROUP_WRAPPER_CLASS","BUTTON_GROUP_ITEM_CLASS","BUTTON_GROUP_FIRST_ITEM_CLASS","BUTTON_GROUP_LAST_ITEM_CLASS","BUTTON_GROUP_ITEM_HAS_WIDTH","ButtonCollection","_prepareItemStyles","_getBasicButtonOptions","_hasCustomTemplate","_keyboardEventBindingTarget","ButtonGroup","buttonTemplate","_createItemClickAction","_renderButtons","$buttons","_buttonsCollection","DROP_DOWN_BUTTON_CLASS","DROP_DOWN_BUTTON_ACTION_CLASS","DROP_DOWN_BUTTON_TOGGLE_CLASS","DropDownButton","useSelectMode","splitButton","showArrowIcon","dropDownOptions","dropDownContentTemplate","wrapItemText","useItemTextAsTitle","groupTemplate","buttonGroupOptions","_createActionClickAction","_createSelectionChangedAction","_compileKeyGetter","_itemsToDataSource","$listContainer","_listOptions","_escHandler","_getKey","storeKey","_renderButtonGroup","_updateArrowClass","_loadSelectedItem","_updateActionButton","_renderFocusTarget","_renderPopupContent","_this$_loadSingleDefe","_loadSingleDeferred","_lastSelectedItemData","cachedResult","_actionClickAction","_selectionChangedAction","_fireSelectionChangedAction","previousItem","_fireItemClickAction","_actionItem","_actionButtonConfig","_getButtonGroupItems","_buttonGroupItemClick","isActionButton","_buttonGroupOptions","buttonContent","$firstIcon","$textContainer","$secondIcon","_keyboardHandler","_popupContentId","_popupOptions","horizontalAlignment","_buttonGroup","_upDownKeyHandler","close","_tabHandler","_popupHidingHandler","_popupShowingHandler","_bindInnerWidgetOptions","_updateAriaAttributes","_popupOptionChanged","_setPopupOption","optionsKeys","getSizeValue","_setWidgetOption","_setElementAria","elementAria","owns","_setButtonsAria","commonButtonAria","firstButtonAria","_getButtons","$buttonGroup","hasArrow","_setListOption","_getDisplayValue","_selectedItemKeyChanged","_updateButtonGroup","_actionButtonOptionChanged","_selectModeChanged","_updateItemCollection","_updateDataSource","_updateKeyExpr","_this$_popup","_innerWidgetOptionChanged","DATAGRID_EXPORT_BUTTON_CLASS","DATAGRID_EXPORT_ICON","DataProvider","initialColumnWidthsByColumnIndex","selectedRowsOnly","_exportController","_initialColumnWidthsByColumnIndex","_selectedRowsOnly","_getColumns","_selectionOnly","_getSelectedItems","_getAllItems","isHeadersVisible","bold","columnStyles","getHeaderStyles","getColumnStyles","getGroupRowStyle","getHeaderRowCount","isTotalCell","_getTotalCellStyleId","getColumnsByAllRows","_correctCellIndex","gridGroupSummaryItems","isExcelJS","cellSourceData","correctedCellIndex","itemValues","totalSummaryItemName","_convertFromGridGroupSummaryItems","_getGroupValue","correctCellIndex","isSummaryAlignByColumn","exportColspan","ExportController","_dataGridCore$ViewCon","currentHeaderRow","columnWidthsByColumnIndex","_getColumnWidths","_headersView","_needColumnExporting","currentColspan","_calculateExportColspan","emptyCell","defaultSetter","cols","prepareItems","_getEmptyCell","childColumns","childColumn","isTotal","estimatedItemsCount","sourceItems","beforeGroupFooterItems","groupFooterItems","_getFooterSummaryItems","summaryValues","_item$values","groupColumnCount","loadAll","_updateGroupValuesWithSummaryByColumn","_hasSummaryGroupFooters","_getItemsWithSummaryGroupFooters","_processUnExportedItems","needLoadItemsOnExportingSelectedItems","columnsLastRowVisibleColumns","_isSelectedRows","formats","allowExportSelectedData","exportTo","exportAll","exportSelectedRows","callbackList","editingButtonsUpdated","exportButton","_getExportToolbarButton","_correctItemsPosition","_getExportToolbarItems","_needDisableExportButton","toolbarButtonOptions","_widgetOptions","_index","exportOptions","formatName","exportAllIcon","itemA","itemB","_isExportButtonVisible","isDataColumnsInvisible","hasUnsavedChanges","UiGridCoreFocusUtils","getSelector","safeValue","ROW_FOCUSED_CLASS","FOCUSED_ROW_SELECTOR","focusModule","_keyboardController","_focusRowByIndex","_fireFocusedRowChanged","_focusRowByKey","isAutoNavigateToFocusedRow","_focusRowByIndexCore","setKeyByIndex","_isValidFocusedRowIndex","_getLastItemIndex","isRowFocused","_isLocalRowIndex","waitReady","virtualItems","virtualItemsBegin","visibleRowsCount","visiblePagesCount","_setFocusedRowKeyByIndex","_navigateToRow","isFocusedRowKeyDefined","needFocusRow","isAutoNavigate","rowIndexByKey","_navigateTo","getPageIndexByKey","isVirtualRowRenderingMode","_navigateToVirtualRow","_navigateToVisibleRow","_triggerUpdateFocusedRow","scrollToRowElement","triggerUpdateFocusedRow","scrollTopPosition","_focusRowByKeyOrIndex","currentFocusedRowIndex","updateFocusedRow","$mainRow","isMainTable","_clearPreviousFocusedRow","_prepareFocusedRow","scrollToElementVertically","$prevRowFocusedElement","focusedRow","$focusedRowTable","_fireFocusedCellChanged","sortByKey","isLocalOperations","notSortedKeys","notSortedKey","isPartialUpdateWithDeleting","_updatePageIndexes","_updateFocusedRow","prevRenderingPageIndex","_lastRenderingPageIndex","renderingPageIndex","_isPagingByRendering","isPagingByRendering","isVirtualScrolling","pagingWithoutVirtualScrolling","getGlobalRowIndexByKey","_calculateGlobalRowIndexByGroupedData","_calculateGlobalRowIndexByFlatData","groupFilter","useGroup","_generateFilterByKey","_concatWithCombinedFilter","_generateOperationFilterByKey","_generateBooleanFilter","_UiGridCoreFocusUtils","booleanFilter","sortFilter","dataSourceKey","keyPart","_setFocusedRowElementTabIndex","_findRowElementForTabIndex","_scrollToFocusOnResize","getScrollElementPosition","resetFilterApplying","_Base$inherit","isRowClick","_isFocusedRowInsideGroup","groupPath","_expandGroupByPath","isGroupKey","_getGroupPath","_calculateExpandedRowGlobalIndex","dataOffset","groupContinuationCount","targetDraggable","sourceDraggable","DRAGGABLE","DRAGSTART_EVENT_NAME","DRAG_EVENT_NAME","DRAGEND_EVENT_NAME","DRAG_ENTER_EVENT_NAME","dragEventEnter","DRAGEND_LEAVE_EVENT_NAME","dragEventLeave","POINTERDOWN_EVENT_NAME","KEYDOWN_EVENT_NAME","CLONE_CLASS","getMousePosition","ScrollHelper","_$scrollableAtPointer","_preventScroll","_scrollValue","_overFlowAttr","_sizeAttr","_scrollSizeProp","_clientSizeProp","_limitProps","mousePosition","isScrollableFound","isTargetOverOverlayWrapper","isTargetOverOverlayContent","_trySetScrollable","_scrollSpeed","distanceToBorders","isScrollable","_calculateDistanceToBorders","_calculateScrollSpeed","$area","areaBoundingRect","area","distance","maxSpeed","$scrollable","nextScrollPosition","_nextScrollPosition","dragMoveArgs","_dragMoveArgs","_dragMoveHandler","scrollableSize","ScrollAnimator","Animator","_strategy","_step","horizontalScrollHelper","_horizontalScrollHelper","verticalScrollHelper","_verticalScrollHelper","scrollByStep","Draggable","dragMove","dragEnter","dragLeave","dragEnd","sourceEvent","_getSourceDraggable","_fireRemoveEvent","onDragStart","onDragMove","onDragEnd","onDragEnter","onDragLeave","onDragCancel","onCancelByEsc","onDrop","dragDirection","boundOffset","allowMoveByClick","dragTemplate","handle","autoScroll","scrollSpeed","scrollSensitivity","_scrollAnimator","_initScrollTop","_initScrollLeft","_normalizeCursorOffset","_getNormalizedCursorOffset","_calculateElementOffset","dragElementOffset","$dragElement","dragElement","isCloned","_dragElementIsCloned","normalizedCursorOffset","currentLocate","_initialLocate","initialOffset","_initPosition","_startPosition","_startAnimator","inProgress","_stopAnimator","_getItemsSelector","_$content","itemsSelector","targetGroup","sourceGroup","_getScrollable","isOutsideScrollable","_getArea","_dragStartHandler","_dragEndHandler","_dragEnterHandler","_dragLeaveHandler","_keydownHandler","_$dragElement","_getDragTemplateArgs","_createDragElement","_getContainer","_resetDragElement","_toggleDraggingClass","_resetSourceElement","_toggleDragSourceClass","_$sourceElement","_getDraggableElement","$sourceElement","_getSourceElement","_getAction","_getEventArgs","_isValidElement","dragInProgress","dragStartArgs","_getDragStartArgs","_setSourceDraggable","_hasClonedDraggable","_getScrollableScrollTop","_getScrollableScrollLeft","_getDraggableElementOffset","_setGestureCoverCursor","isFixedPosition","areaOffset","_getAreaOffset","_getBoundOffset","areaWidth","areaHeight","elementHeight","startOffset_left","startOffset_top","initialOffsetX","initialOffsetY","initScrollTop","initScrollLeft","_getTargetDraggable","allObjects","updateScrollable","fromComponent","toComponent","fromData","toData","_revertItemToInitialPosition","dragEndEventArgs","dropEventArgs","needRevertPosition","_resetDragOptions","_isTargetOverAnotherDraggable","$sourceDraggableElement","$targetDraggableElement","firstWidgetElement","isTargetOverItself","isTargetOverNestedDraggable","_fireDragEnterEvent","_setTargetDraggable","_fireDragLeaveEvent","_resetTargetDraggable","_keydownEscapeHandler","dragCancelEventArgs","_resetSourceDraggable","PLACEHOLDER_CLASS","isElementVisible","Sortable","_sourceScrollHandler","_handleSourceScroll","_sourceScrollableInfo","itemOrientation","dropFeedbackMode","allowDropInsideItem","moveItemOnDrop","onDragChange","onAdd","onRemove","onReorder","onPlaceholderPrepared","dropInsideItem","itemPoints","fromIndexOffset","autoUpdate","draggableElementSize","_$placeholderElement","_isIndicateMode","_$modifiedItem","_modifiedItemMargin","_getPrevVisibleItem","_updateItemPoints","_subscribeToSourceScroll","_getElementIndex","_unsubscribeFromSourceScroll","sourceScrollableInfo","scrollProp","_correctItemPoints","_movePlaceholder","lastItemPoint","_isVerticalOrientation","sourceElementSize","scrollSize","positionProp","lastPointPosition","freeSize","_getItems","$sortable","sortable","_allowDrop","$targetDraggable","_getScrollableBoundar","getScrollableBoundary","itemPoint","cancelAdd","cancelRemove","isSourceDraggable","_fireAddEvent","_moveItem","_fireReorderEvent","cursorPosition","_updatePlaceholderPosition","_createPlaceholder","$placeholderContainer","_allowReordering","_isValidPoint","draggableVisibleIndex","_getItemPoints","itemWidth","visibleItemElements","visibleItemCount","$draggableItem","needCorrectLeftPosition","needCorrectTopPosition","positionPropName","_togglePlaceholder","_normalizeToIndex","skipOffsetting","isAnotherDraggable","_getActualFromIndex","placeholderElement","_makeWidthCorrection","_$scrollable","scrollableWidth","overflowLeft","overflowRight","_updatePlaceholderSizes","$placeholderElement","$prevTargetItemElement","$targetItemElement","_moveItemCore","$targetItem","prevItem","isDragSource","$fromElement","_optionChangedDropInsideItem","_optionChangedToIndex","_isPositionVisible","scrollContainer","showPlaceholder","_moveItems","fullUpdate","_updateDragSourceClass","_makeLeftCorrection","prevVisibleItemElement","isLastVerticalPosition","outerPlaceholderHeight","_getPositions","positions","_getDraggableElementSize","prevToIndex","prevPositions","animationConfig","CLASSES","GridCoreRowDraggingDom","RowDraggingExtender","_updateHandleColumn","isHandleColumnVisible","showDragIcons","_getHandleTemplate","currentSortableName","anotherSortableName","togglePointerEventsStyle","_sortableFixed","rowsViewOffset","onDraggableElementShown","gridInstance","_synchronizeScrollLeftPosition","_getDraggableRowTemplate","_updateSortable","_sortable","_getDraggableGridOptions","gridOptions","showScrollbar","$dataGridContainer","rowDraggingModule","monthGetter","monthSetter","monthLimits","getLimits","_getLimits","newDay","PATTERN_GETTERS","isPM","currentYear","valueLength","maxLimitLength","renderDateParts","sections","isStub","limits","forcedPattern","dM","getAmPm","DATE_COMPONENTS","TIME_COMPONENTS","ONE_DAY","SUPPORTED_FORMATS","ONE_MINUTE","ONE_YEAR","MIN_DATEVIEW_DEFAULT_DATE","MAX_DATEVIEW_DEFAULT_DATE","FORMATS_INFO","getStandardPattern","standardPattern","FORMATS_MAP","SUBMIT_FORMATS_MAP","toStandardDateFormat","fromStandardDateFormat","getMaxMonthDay","mergeDates","formatInfo","componentInfo","DATE_COMPONENTS_INFO","getLongestCaptionIndex","captionArray","longestIndex","longestCaptionLength","getLongestDate","getStringFormat","longestDate","normalizeTime","setSeconds","setMilliseconds","formatDate","Navigator","onCaptionClick","_captionClickAction","_renderCaption","_prevButton","$prevButton","_nextButton","$nextButton","_caption","captionText","$caption","buttonPrefix","CALENDAR_EMPTY_CELL_CLASS","CALENDAR_SELECTED_DATE_CLASS","CALENDAR_CELL_IN_RANGE_CLASS","CALENDAR_CELL_RANGE_HOVER_CLASS","CALENDAR_CELL_RANGE_HOVER_START_CLASS","CALENDAR_CELL_RANGE_HOVER_END_CLASS","CALENDAR_RANGE_START_DATE_CLASS","CALENDAR_RANGE_END_DATE_CLASS","CALENDAR_CONTOURED_DATE_CLASS","NOT_WEEK_CELL_SELECTOR","CALENDAR_DXCLICK_EVENT_NAME","CALENDAR_DXHOVERSTART_EVENT_NAME","hoverStartEventName","CALENDAR_DATE_VALUE_KEY","_getViewName","disabledDates","onCellHover","allowValueSelection","_todayDate","_renderImpl","_createDisabledDatesHandler","_renderBody","_renderContouredDate","_renderValue","_renderRange","_renderEvents","_$table","localizedWidgetName","localizedHotKeysInfo","$body","cellDate","_getFirstCellData","prevCellDate","_renderWeekNumberCell","_getClassNameByDate","coreDateUtils","getCellAriaLabel","_this$_createCell","_prepareCellTemplateData","_getCellText","_getNextCellData","_isTodayCell","_isDateOutOfRange","isDateDisabled","_isOtherView","_isStartDayOfMonth","_isEndDayOfMonth","isDateCell","_createCellClickAction","_cellClickAction","_createCellHoverAction","_cellHoverAction","_disabledDatesHandler","_getDefaultDisabledDatesHandler","contouredDate","$oldContouredCell","_getContouredCell","$newContouredCell","_getCellByDate","_updateSelectedClass","_this$_$selectedCells","_$selectedCells","_this$_$rangeCells","_this$_$hoveredRangeC","_this$_$rangeStartHov","_this$_$rangeEndHover","_this$_$rangeStartDat","_this$_$rangeEndDateC","_this$_$rangeStartDat2","_this$_$rangeEndDateC2","range","_$rangeCells","_$hoveredRangeCells","_$rangeStartHoverCell","_$rangeEndHoverCell","_$rangeStartDateCell","_$rangeEndDateCell","_renderHoveredRange","_this$_$hoveredRangeC2","_this$_$rangeStartHov2","_this$_$rangeEndHover2","_this$_$rangeStartHov3","_this$_$rangeEndHover3","hoveredRange","_getFirstAvailableDate","isBoundary","BaseView","_renderHeader","$headerRow","$header","_renderHeaderCell","_renderWeekHeaderCell","_this$_getDayCaption","_getDayCaption","fullCaption","abbrCaption","scope","abbr","$weekNumberHeaderCell","showWeekNumbers","_getWeekNumber","_this$option3","weekNumberRule","getNavigatorCaption","today","firstDay","firstMonthDayOffset","daysInWeek","foundDate","decade","firstYearInDecade","_isValueOnCurrentView","century","minDecade","maxDecade","firstDecadeInCentury","CalendarSelectionStrategy","calendar","_dateOption","_dateValue","_skipNavigate","_updateAriaSelected","_updateAriaId","_previousValue","_convertToDate","_updateViewsValue","updateAriaSelected","_currentDateChanged","_initCurrentDate","_isMaxZoomLevel","_updateViewsOption","_CalendarSelectionStr","CalendarSingleSelectionStrategy","dateOption","selectedValue","skipNavigate","dateValue","CalendarMultiSelectionStrategy","alreadySelectedIndex","toDateString","_updateCurrentDate","_getLowestDateInArray","DAY_INTERVAL","RANGE_OFFSET","CalendarRangeSelectionStrategy","_getValues","_getDaysInRange","_cellHoverHandler","_this$_getValues","_this$_getValues2","_valueSelected","_getRange","_this$calendar$option","_allowChangeSelectionOrder","_currentSelection","_this$_getValues3","_this$_getValues4","rangeStartDate","rangeEndDate","isMaxZoomLevel","_this$_getValues5","_this$_getValues6","_this$calendar$option2","CALENDAR_VIEW_CLASS","ANIMATION_DURATION_SHOW_VIEW","CALENDAR_DXHOVEREND_EVENT_NAME","hoverEndEventName","LEVEL_COMPARE_MAP","ZOOM_LEVEL","SELECTION_STRATEGIES","SingleSelection","MultiSelection","RangeSelection","Calendar","viewsCount","zoomLevel","maxZoomLevel","minZoomLevel","showTodayButton","onContouredChanged","skipFocusCheck","_waitRenderView","_moveCurrentDateByOffset","_getRtlCorrection","_navigateUp","_view","_navigateDown","_moveToClosestAvailableDate","_updateTimeComponent","_selectionStrategy","selectValue","_getSerializationFormat","_saveValueChangeEvent","serializedValue","_shiftDate","baseDate","_getMaxDate","_getMinDate","isDateForwardInNeighborView","_areDatesInNeighborView","isDateForwardInRange","dateForward","_areDatesInSameView","getYear","isDateForwardInStartView","isDateBackwardInStartView","isCurrentDateAvailable","_isDateNotAvailable","isDateForwardAvailable","isDateBackwardAvailable","dateBackward","_initSelectionStrategy","_correctZoomLevel","strategyName","_getSelectionStrategyName","_refreshSelectionStrategy","_this$_getNormalizedD","_getNormalizedDate","getDefaultCurrentDate","_getDate","_onContouredChanged","_$viewsWrapper","_getViewsOffset","_isOtherViewCellClicked","_suppressNavigation","_additionalView","_refreshViews","_setViewContoured","_renderNavigator","_navigate","_isAdditionalViewDate","_getActiveView","_this$_additionalView","_rangeMin","_rangeMax","zoomCorrection","_getMonthsOffset","_alreadyViewRender","_getDateByOffset","_waitRenderViewTimeout","_date","currentDay","lastDay","_renderSubmitElement","_navigator","_renderSwipeable","_renderFooter","_getKeyboardListeners","_renderSpecificView","beforeDate","_beforeView","_isViewAvailable","afterDate","_afterView","_translateViews","specificView","Views","_viewConfig","_injectComponent","getViewOptions","_cellClickHandler","_moveViewElement","_getViewPosition","nextView","newCurrentDate","_animateShowView","_navigatorConfig","_getViewsCaption","_updateButtonsVisibility","_navigatorClickHandler","_this$option7","additionalViewActive","_isMinZoomLevel","toggleButton","_swipeable","_swipeStartHandler","_swipeUpdateHandler","_swipeEndHandler","_viewWidth","_toggleGestureCoverCursor","_getRequiredView","isRtl","_updateNavigatorCaption","_this$option9","moveOffset","shouldDoubleOffset","_isDateInInvalidRange","_animateWrapper","_viewWidthValue","additionalView","isMultiView","additionalViewCaption","$todayButton","_toTodayView","_$footer","_$submitElement","_setSubmitValue","_getSubmitElement","_popAnimationView","newView","endPosition","_preventViewChangeAnimation","_wrapperAnimationEndHandler","_rearrangeViews","_resetLocation","_this$viewToRemoveKey","viewOffset","viewToCreateKey","viewToRemoveKey","viewBeforeCreateKey","viewAfterRemoveKey","destinationDate","dateByOffset","_clearViewWidthCache","_disposeViews","_this$_additionalView2","_this$_additionalView3","_this$_beforeView","_this$_afterView","_setViewsMinOption","_restoreViewsMinMaxOptions","_setViewsMaxOption","ariaId","_suppressingNavigation","processValueChanged","getContouredDate","DateBoxStrategy","widgetOption","_widget","_renderWidget","_getWidgetContainer","_getWidgetName","_getWidgetOptions","getDefaultOptions","supportedKeys","getKeyboardListener","customizeButtons","getParsedText","renderInputMinMax","renderOpenedState","_updateValue","popupConfig","_this$_getPopup","_getPopup","renderPopupContent","_preventFocusOnPopup","getFirstPopupElement","getLastPopupElement","popupShowingHandler","popupHiddenHandler","dateBoxValue","useCurrentDateByDefault","getDefaultDate","textChangedHandler","renderValue","isAdaptivityChanged","todayButtonText","homeEndHandler","viewValue","_getContouredValue","lastActionElement","shouldCloseDropDown","_closeDropDownByEnter","_valueChangeEventHandler","_valueChangedHandler","_getTodayButtonConfig","buttonsLocation","_escapeHandler","_isCalendarVisible","calendarOptions","_popupConfig","DATEVIEW_ROLLER_ITEM_CLASS","DateViewRoller","_Scrollable","showOnClick","onSelectedIndexChanged","scrollByContent","_visibilityChangedHandler","_endActionHandler","_renderSelectedItemFrame","_renderContainerClick","_renderSelectedValue","_renderItemsClick","_renderWheelEvent","_renderSelectedIndexChanged","_selectedIndexChanged","_isWheelScrolled","clickAction","_$items","_fitIndex","_moveTo","_getItemPosition","_renderActiveStateItem","_itemHeight","_getItemSelector","_itemElementIndex","_convertToLocation","_ScrollDirection","convertToLocation","_prepareDirections","_animation","_shouldScrollToNeighborItem","handleMove","_moveIsAllowed","currentSelectedIndex","dy","_isInNullNeighborhood","_fitSelectedIndexInRange","_getSelectedIndexAfterScroll","newSelectedIndex","_getNewSelectedIndex","_visibilityTimer","toggleActiveState","fitIndex","_fireSelectedIndexChanged","_refreshSelectedIndex","DATEVIEW_CLASS","TYPE","ROLLER_TYPE","DateView","_valueOption","_getDefaultDate","uiDateUtils","applyCompactClass","_device","_toggleFormatClasses","_toggleCompactClass","currentFormat","previousFormat","_wrapper","_$wrapper","_renderRollers","_$rollersContainer","_createRollerConfigs","_rollers","_rollerConfigs","$roller","DATEVIEW_ROLLER_CLASS","displayItems","roller","_toggleActive","_setActiveRoller","_setRollerState","_createRollerConfig","valueRange","_calculateRollerConfigValueRange","curDate","_getCurrentDate","valueItems","currentRoller","activeRoller","_updateRollersPosition","rollerValue","_refreshRollers","_refreshRoller","rollerType","rollerConfig","minYear","minMonth","maxYear","maxMonth","minHour","maxHour","DateViewStrategy","openOnFieldClick","applyButtonText","_popupToolbarItemsConfig","_device2","_isNativeType","NativeStrategy","_getDateBoxType","dropDownButton","getButton","rotateArrow","$arrow","angle","cssRotate","TimeView","use24HourFormat","_showClock","_arrowOffset","_getValue","_renderBox","_updateTime","$box","_renderClock","_renderField","_$hourArrow","_$minuteArrow","_updateClock","hourArrowAngle","minuteArrowAngle","_getBoxItems","is12HourFormat","_hourBox","_minuteBox","_format12","_createHourBox","_createMinuteBox","_createFormat12Box","_onHourBoxValueChanged","_getNumberBoxConfig","_isPM","newHours","_convertMaxHourToMin","maxHoursValue","newMinutes","_refreshFormat12","_silentEditorValueUpdate","_suppressValueChangeAction","_resumeValueChangeAction","showSpinButtons","displayValueFormatter","_normalizeHours","_updateField","DATEBOX_TIMEVIEW_SIDE_CLASS","CalendarWithTimeStrategy","CalendarStrategy","applyValueMode","_is24HourFormat","viewDate","_updateDateTime","_timeView","_isShrinkView","_isSmallScreen","_repaintTimer","isAdaptiveMode","currentAdaptiveMode","_currentAdaptiveMode","preventDefaultValue","_box","_attachTabHandler","calendarPopupConfig","_hasFocusClass","_this$_widget$option","_removeMinWidthTimer","BOUNDARY_VALUES","_widgetItems","_getDateByItemData","_refreshItems","_timeListItemTemplate","_listItemClickHandler","_getTimeListItems","_setSelectedItemsByValue","_asyncScrollTimeout","_scrollToSelectedItem","dateIndex","_getDateIndex","_areDatesEqual","_getBoundaryDate","_getRangeItems","rangeDuration","rangeItems","boundaryValue","_updatePopupHeight","dropDownOptionsHeight","popupHeight","_timeList","DATEBOX_CLASS","DATEBOX_WRAPPER_CLASS","PICKER_TYPE","rollers","native","STRATEGY_NAME","STRATEGY_CLASSES","Native","CalendarWithTime","DateBox","DropDownEditor","_renderButtonContainers","showAnalogClock","pickerType","invalidDateMessage","dateOutOfRangeMessage","useHiddenSubmitElement","_showValidationIcon","_updatePickerOptions","_pickerType","_initStrategy","_toLowerCaseFirstLetter","_getStrategyName","_getFormatType","isTime","_refreshFormatClass","_refreshPickerTypeClass","_formatValidationIcon","_updatePopupWidth","_this$_strategy$_upda","_this$_strategy","inputElement","clearButtonWidth","_getClearButtonWidth","longestElementDimensions","_getLongestElementDimensions","curWidth","shouldHideValidationIcon","_storedPadding","leftPadding","rightPadding","_isClearButtonVisible","clearButtonElement","longestValue","$longestValueElement","storedPadding","necessaryWidth","_renderPopupWrapper","_this$_strategy$_getP","_this$_strategy$_getP2","_this$_strategy2","_getPopupTitle","classPostfixes","_getFirstPopupElement","_getLastPopupElement","_popupShownHandler","_popupHiddenHandler","_clearValueHandler","_readOnlyPropValue","_getDisplayedText","submitFormat","submitValue","displayedText","_getFormatByMode","_getParsedDate","_getDateByDefault","_applyInternalValidation","_recallInternalValidation","editorSpecific","_applyCustomValidation","parsedText","isDateInRange","validationMessage","_updateInternalValidationState","_serializeDate","_isValueChanged","_isTextChanged","_renderProps","_renderOpenedState","_refreshStrategy","_applyButtonHandler","_this$_strategy3","_updatePopupTitle","_renderInputValue","isValueChanged","_clearValue","MASK_EVENT_NAMESPACE","BACKWARD","DateBoxMask","DateBoxBase","originalHandlers","callOriginalHandler","originalHandler","applyHandler","maskHandler","_shouldUseOriginalHandler","del","_revertPart","_isAllSelected","_selectFirstPart","_selectLastPart","_revertChanges","_enterHandler","_selectNextPart","_upDownArrowHandler","isNotDeletingInCalendar","_useMaskBehavior","_setNewDateIfEmpty","originalValue","_getActivePartValue","_initialMaskValue","_loadMaskValue","_partIncrease","emptyDateValue","_isSingleCharKey","_isSingleDigitKey","_useBeforeInputEvent","_keyInputHandler","oldInputValue","_processInputKey","_maskInputHandler","_renderSelectedPart","_maskBeforeInputHandler","isBackwardDeletion","_keyPressHandler","_renderDisplayText","_maskValue","_activePartIndex","_searchString","_searchNumber","_caret","_getFormatPattern","_formatPattern","isLDMLPattern","_renderDateParts","_partLimitsReached","formatLength","_getActivePartProp","maxSearchLength","isLengthExceeded","isValueOverflowed","_getActivePartLimits","_setActivePartValue","startString","endLimit","_clearSearchValue","_prepareRegExpInfo","_regExpInfo","quantifierRegexp","convertedSource","sourcePart","_initMaskState","_renderMask","_detachMaskEvents","_clearMaskState","_attachMaskEvents","_dateParts","_maskClickHandler","_maskPasteHandler","_maskCompositionEndHandler","_onMouseWheel","_getRealLimitsPattern","lockOtherParts","limitFunction","_addLeadingZeroes","zeroes","_saveMaskValue","_this$_getActivePartL2","limitDelta","_applyLimits","limitBase","limitClosest","caretInGroup","getDatePartIndexByPosition","newText","_replaceSelectedText","_isDateValid","_isValueDirty","_fireChangeEvent","DEFAULT_BUTTON","DX_DIALOG_CLASSNAME","DX_DIALOG_WRAPPER_CLASSNAME","DX_DIALOG_ROOT_CLASSNAME","DX_DIALOG_CONTENT_CLASSNAME","DX_DIALOG_MESSAGE_CLASSNAME","DX_DIALOG_BUTTONS_CLASSNAME","DX_DIALOG_BUTTON_CLASSNAME","DX_BUTTON_CLASSNAME","_options$title","getViewport","isMessageHtmlDefined","messageHtml","popupToolbarItems","popupInstance","ignoreChildEvents","dragAndResizeArea","bottomToolbar","$firstButton","_TextEditorButton","_editor$_shouldCallOp","_shouldCallOpenHandler","_openHandler","_getOptions","_addToContainer","_legacyRender","_addTemplate","_isSameTemplate","TextEditorButton","DROP_DOWN_EDITOR_INPUT_WRAPPER","DROP_DOWN_EDITOR_OVERLAY","isIOs","_validatedOpening","_getDefaultButtons","Ctor","onOpened","onClosed","acceptCustomValue","dropDownButtonTemplate","fieldTemplate","showDropDownButton","popupPosition","_getDefaultPopupPosition","onPopupInitialized","cancelButtonText","_inputWrapper","_initVisibilityActions","_initPopupInitializedAction","_updatePopupPosition","_this$_getDefaultPopu","_openAction","_closeAction","_popupInitializedAction","_renderOpenHandler","_attachFocusOutHandler","_createPopup","_renderInput","_wrapInput","_setDefaultAria","_$container","autocomplete","_isEditable","_detachFocusEvents","_getFieldTemplate","_renderTemplatedField","_fieldRenderData","_renderPlaceholder","_this$_fieldRenderQue","_fieldRenderQueueLength","_detachKeyboardEvents","_refreshButtonsContainer","_detachWrapperContent","$templateWrapper","_integrateInput","_attachWrapperContent","_this$_$submitElement","_this$_$beforeButtons","_this$_$afterButtonsC","beforeButtonsContainerParent","_$beforeButtonsContainer","afterButtonsContainerParent","_$afterButtonsContainer","_this$_$submitElement2","_$buttonsContainer","_refreshValueChangeEvent","_refreshEvents","_refreshEmptinessEvent","_toggleEmptinessEventHandler","_renderEmptinessEvent","$inputWrapper","_getInputClickHandler","_openOnFieldClickAction","_detachFocusOutEvents","_isTargetOutOfComponent","popupWrapper","_executeOpenAction","_focusInput","_toggleOpenState","_resetCaretPosition","ignoreEditable","caretPosition","_getControlsAria","arias","controls","contentReady","_contentReadyHandler","_setPopupContentId","_popupInitializedHandler","_popupPositionedHandler","_ignorePreventScrollEventsDeprecation","_e$position","_e$position$v","$popupOverlayContent","isOverlayFlipped","shouldIndentForLabel","_label","_this$_validationMess","_validationMessage","_getValidationMessagePositionSide","_this$_validationMess2","myTop","popupTop","$dropDownButton","isInputClicked","isDropDownButtonClicked","_popupElementTabHandler","_popupElementEscHandler","_popupButtonInitializedHandler","buttonsConfig","_cancelButtonHandler","_applyButtonsLocation","resultConfig","_updateButtons","VALIDATION_STATUS_INVALID","ALLOWED_STYLING_MODES","VALIDATION_MESSAGE_KEYS_MAP","validationBoundary","_attachKeyboardEvents","_createValueChangeAction","_valueChangeActionSuppressed","_toggleReadOnlyState","_setSubmitElementName","_renderValidationState","_valueChangeArgs","isValidationMessageShownOnFocus","_canValueBeChangedByClick","_getStylingModePrefix","_renderStylingMode","allowedStylingClasses","stylingModeClass","defaultOptionValue","platformOptionValue","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","isInvalid","validationMessageContentId","_getValidationMessageTarget","_getValidationMessagePosition","_toggleBackspaceHandler","$eventTarget","EventsEngine","$submitElement","_setValidationMessageOption","optionKey","_hasActiveElement","_this$_validationMess3","_refreshFocusState","updateMaxWidth","FormItemsRunTimeInfo","widgetInstance","itemsRunTimeInfo","removeItemByKey","itemRunTimeInfo","_findWidgetInstance","storedItem","targetPath","_findFieldByCondition","targetItem","_translator","completeAction","MULTIVIEW_ITEM_CLASS","MultiView","swipeEnabled","_$itemContainer","_itemWidth","_itemWidthValue","_clearItemWidthCache","_normalizeIndex","_getRTLSignCorrection","_findBoundaryIndices","_initSwipeable","_deferredItems","selectedItemIndices","_updateItemsVisibility","renderContentDeferred","_updateItemsPosition","positionSign","_animationDirection","isHidden","_renderSpecificItem","hasItemContent","animationDirection","_animateItemContainer","completeCallback","containerPosition","indexDifference","_getItemFocusLoopSignCorrection","directionSignVariable","_getSwipeDisabledState","_firstIndex2","_lastIndex","firstIndex","_firstIndex","_boundaryIndices","firstAvailableIndex","lastAvailableIndex","firstTrueIndex","lastTrueIndex","_this$_boundaryIndice","_swipeDirection","swipeDirection","_findNextAvailableIndex","_this$_boundaryIndice2","isFirstActive","isLastActive","$selectedElement","_itemFocusLooped","_updateSwipeDisabledState","BADGE_CLASS","_renderBadge","badge","$badge","TABS_EXPANDED_CLASS","getScrollLeftMax","isReachedLeft","scrollOffsetLeft","epsilon","isReachedRight","TABS_STRETCHED_CLASS","TABS_NAV_BUTTONS_CLASS","OVERFLOW_HIDDEN_CLASS","TABS_ITEM_CLASS","BUTTON_NEXT_ICON","BUTTON_PREV_ICON","Tabs","showNavButtons","badgeExpr","currentTheme","_renderMultiple","$iconElement","_deferredTemplates","_deferRenderScrolling","_renderScrolling","removeClasses","_isItemsWidthExceeded","_renderNavButtons","_updateNavButtonsVisibility","_scrollToItem","_cleanScrolling","_needStretchItems","$visibleItems","_cleanNavButtons","_leftButton","_rightButton","_createNavButton","$leftButton","$rightButton","_updateScrollPosition","holdAction","_holdInterval","setInterval","holdEventName","pointerUpEventName","pointerOutEventName","navButton","$navButton","_clearInterval","clearInterval","_toggleFocusedNextClass","isNextTabFocused","TabsItem","TabPanelItem","TabPanel","itemTitleTemplate","onTitleClick","onTitleHold","onTitleRendered","_createTitleActions","_renderLayout","_createTitleClickAction","_createTitleHoldAction","_createTitleRenderedAction","_titleClickAction","_titleHoldAction","_titleRenderedAction","_updateLayout","_tabs","_$tabContainer","$tabs","_tabConfig","tabsHeight","tabItems","$activeTab","$value","_isFocusOutHandlerExecuting","_toggleWrapperFocusedClass","_toggleDisabledFocusedClass","isTabsTarget","isMultiViewTarget","_setTabsOption","selectedTabContent","ItemOptionAction","_itemsRunTimeInfo","findWidgetInstanceByItem","findItemContainerByItem","findPreparedItemByItem","createItemPathByIndex","isTabs","concatPaths","getTextWithoutSpaces","getFullOptionName","getOptionNameFromFullName","isFullPathContainsTabs","getItemPath","tabOrGroupItems","WidgetOptionItemOptionAction","_ItemOptionAction","findInstance","TabOptionItemOptionAction","_ItemOptionAction2","tabPanel","findItemIndexByItem","SimpleItemTemplateChangedAction","_ItemOptionAction3","GroupItemTemplateChangedAction","_ItemOptionAction4","_super4","preparedItem","findPreparedItem","_prepareGroupItemTemplate","_renderGroupContentTemplate","TabsOptionItemOptionAction","_ItemOptionAction5","_super5","ValidationRulesItemOptionAction","_ItemOptionAction6","_super6","filterRequired","oldContainsRequired","newContainsRequired","CssClassItemOptionAction","_ItemOptionAction7","_super7","findItemContainer","_this$_options2","itemActionOptions","_itemActionOptions$it","_itemActionOptions$it2","_itemActionOptions$it3","RESPONSIVE_BOX_CLASS","SCREEN_SIZE_CLASS_PREFIX","ResponsiveBox","singleColumnScreen","onLayoutChanged","currentScreenFactor","_initLayoutChangedAction","_layoutChangedAction","_setScreenSize","_screenItems","_itemsByScreen","_prepareGrid","_spreadItems","_layoutItems","_linkNodeToItem","_clearItemNodeTemplates","currentScreen","_getCurrentScreen","_removeScreenSizeClass","_grid","_prepareRowsAndCols","_rows","_cols","_createEmptyCell","getSingleColumnRows","screenItemsLength","filteredRows","_filterByScreen","sizeConfig","_defaultSizeConfig","_isSingleColumnScreen","_prepareSingleColumnScreenItems","_sizesByScreen","_screenRegExp","sizeConfigs","_createDefaultSizeConfig","defaultSizeConfig","screenRegExp","_screenWidth","itemInfo","itemCol","itemRow","itemCell","_occupyCells","locations","_isItemCellOccupied","_markSpanningCell","_loopOverSpanning","rowEnd","colEnd","boundRowEnd","boundColEnd","spanningCell","itemNode","colsCount","_layoutBlock","rootBox","_prepareBoxConfig","_rootBoxConfig","_$root","rootItems","_needApplyAutoBaseSize","_isSingleItem","_itemByCell","_layoutDirection","firstCellLocation","isItemRowSpanned","isItemColSpanned","crossDirection","_crossDirection","_nextBlock","_isBlockIndivisible","prevBlockOptions","_blockSize","crossStartIndex","crossSpan","crossIndex","lineCrossSpan","_cellByDirection","lineCrossEndIndex","crossEndIndex","defaultMinSize","forceRemoveRoot","$existingRoot","_saveAssistantRoot","_assistantRoots","_cleanUnusedRoots","FORM_GROUP_CLASS","FORM_FIELD_ITEM_COL_CLASS","FIELD_ITEM_CLASS","LAYOUT_MANAGER_ONE_COLUMN","FIELD_ITEM_LABEL_CONTENT_CLASS","FIELD_ITEM_LABEL_CLASS","FIELD_ITEM_CONTENT_CLASS","ROOT_SIMPLE_ITEM_CLASS","FIELD_ITEM_TAB_CLASS","GROUP_COL_COUNT_CLASS","GROUP_COL_COUNT_ATTR","SIMPLE_ITEM_TYPE","EDITORS_WITH_ARRAY_VALUE","EDITORS_WITHOUT_LABELS","convertToRenderFieldItemOptions","rootElementCssClassList","formOrLayoutManager","createComponentCallback","labelTemplate","formLabelLocation","requiredMessageTemplate","canAssignUndefinedValueToEditor","editorValidationBoundary","managerLabelLocation","managerMarkOptions","onLabelTemplateRendered","hasRequiredRule","_hasRequiredRuleInSet","isSimpleItem","helpID","helpText","labelOptions","formLabelMode","isEditorWithoutLabels","showColon","markOptions","convertToLabelMarkOptions","labelID","textWithoutColon","_convertToLabelOptions","needRenderLabel","labelNeedBaselineAlign","defaultEditorName","externalEditorOptions","editorInputId","labelText","editorOptionsWithValue","_convertToEditorOptions","FIELD_ITEM_REQUIRED_MARK_CLASS","FIELD_ITEM_LABEL_LOCATION_CLASS","FIELD_ITEM_OPTIONAL_MARK_CLASS","FIELD_ITEM_LABEL_TEXT_CLASS","renderLabel","_ref$labelID","_ref$markOptions","labelTemplateData","$labelContainer","$labelContent","markText","getLabelMarkText","_renderLabelMark","getLabelWidthByHTML","labelContent","FIELD_ITEM_CONTENT_WRAPPER_CLASS","VALIDATION_TARGET_CLASS","INVALID_CLASS","renderFieldItem","$fieldEditorContainer","getTemplateData","isToggleControls","labelAlignment","validationTargetInstance","$validationTarget","_$validationTarget$pa","_$validationTarget$pa2","tryGetValidationTargetInstance","getValidationTarget","subscribeWrapperInvalidClassToggle","$div","isItemHaveCustomLabel","itemName","wrapperClass","toggleInvalidClass","_component$option","_isFocused","renderButtonItem","verticalAlignment","convertAlignmentToJustifyContent","buttonInstance","renderEmptyItem","LayoutManager","layoutData","_itemWatchers","_updateReferencedOptions","_initDataAndItems","_cleanItemWatchers","initialData","_syncDataWithItems","_getDataByField","_updateFieldValue","_isCheckboxUndefinedStateEnabled","allowIndeterminateState","nameParts","_triggerOnFieldDataChanged","isUserItemsExist","_generateItemsByData","processedItems","_isAcceptableItem","_updateItemWatchers","_setItems","_sortItems","_getWatch","itemField","_getEditorTypeByDataType","_item$allowIndetermin","_sortIndexes","indexA","indexB","_renderResponsiveBox","templatesInfo","_getColCount","_prepareItemsWithMerging","layoutItems","_generateLayoutItems","_responsiveBox","_getResponsiveBoxConfig","_renderTemplates","_itemStateChangedHandler","itemsWithLabelTemplateCount","_item$label","_renderButtonItem","_renderFieldItem","xsColCount","isSingleColumnMode","itemRenderedCountInPreviousRows","itemCssClassList","isLastColumn","_getRowsCount","isLastRow","_generateRatio","screenFactor","getTargetScreenFactor","_cashedColCount","_getMaxColCount","maxColCount","isCachedColCountObsolete","itemsMergedByCol","_getColByIndex","merged","generatedItem","rowSpan","_renderEmptyItem","_renderButtonItem2","_item$label2","_getFormOrThis","_renderFieldItem2","_getMarkOptions","_incTemplateRenderedCallCount","_shouldAlignLabelsOnTemplateRendered","_alignLabels","_bindDataField","_this$_labelTemplateR","_labelTemplateRenderedCallCount","totalItemsWithLabelTemplate","formOrThis","_createWatcher","linkEditorToDataField","fieldValue","_watch","formInstance","readOnlyState","hasEditorReadOnly","isChangeByForm","isAutoSize","newLayoutData","_resetWidget","_disableEditorValueChangedHandler","_cashedRequiredConfig","dataValue","_itemRunTimeInfo$item","_resetColCount","isValueReferenceType","updateData","getEditor","findWidgetInstanceByDataField","findWidgetInstanceByName","responsiveBox","getItemsRunTimeInfo","VALIDATION_SUMMARY_CLASS","ValidationSummary","_initGroupRegistration","_unsubscribeGroup","_groupWasInit","_validationGroup","groupSubscription","_groupValidationHandler","_getOrderedItems","orderedItems","foundItems","_validationSummary","_itemValidationHandler","itemsChanged","foundRule","foundItem","refreshValidationGroup","VALIDATION_ENGINE_CLASS","ValidationGroup","validatorContainer","summaryContainer","FOCUSED_STATE_CLASS","ITEM_OPTIONS_FOR_VALIDATION_UPDATING","_cachedColCountOptions","_groupsColCount","_attachSyncSubscriptions","formData","alignRootItemLabels","_getGroupColCount","_applyLabelsWidthByCol","fieldItemClass","inOneColumn","cssExcludeTabbedSelector","excludeTabbed","$targetContainer","labelsSelector","labelMarkOptions","labelWidth","FIELD_ITEM_LABEL_CONTENT_CLASS_Selector","$FIELD_ITEM_LABEL_CONTENT_CLASS_Items","FIELD_ITEM_LABEL_CONTENT_CLASS_Length","setLabelWidthByMaxLabelWidth","_applyLabelsWidth","applyLabelsOptions","_getGroupElementsInColumn","cssColCountSelector","groupSelector","_applyLabelsWidthWithGroups","$rootSimpleItems","_applyLabelsWidthWithNestedGroups","$groups","groupsColIndex","groupColIndex","$groupsByCol","groupColCount","_labelLocation","_alignLabelsInColumn","layoutManager","_checkGrouping","_prepareFormData","_setStylingModeClass","_getValidationGroup","_clearCachedInstances","_renderValidationSummary","_lastMarkupScreenFactor","_targetScreenFactor","_getCurrentScreenFactor","_attachResizeObserverSubscription","formRootElement","_resizeHandler","_cachedLayoutManagers","_layoutManager$option","TOOLBAR_CLASS","_clearValidationSummary","_this$_$validationSum","_$validationSummary","dxValidationSummary","_prepareItems","parentIsTabbedItem","currentPath","_tryPrepareGroupItem","_tryPrepareTabbedItem","_tryPrepareItemTemplate","cssItemClass","groupContentTemplate","_itemGroupTemplate","_itemTabbedTemplate","_rootLayoutManager","_renderLayoutManager","_createLayoutManagerOptions","isRoot","_tryGetItemsForTemplate","_item$tabs","$tabPanel","_item$tabPanelOptions","_item$tabPanelOptions2","extendRunTimeItemInfoByKey","tryUpdateTabPanelInstance","groupAria","labelledby","extendedLayoutManagerOptions","$formElement","baseOptions","onFieldItemRendered","convertToLayoutManagerOptions","_isDataUpdating","addItemsOrExtendFrom","nestedItemsRunTimeInfo","removeItemsByItems","_this$_validationSumm","layoutManagerOptions","baseColCountByScreen","_clearAutoColCountChangedTimeout","autoColCountChangedTimeoutId","optionFullName","_triggerOnFieldDataChangedByDataSet","splitFullName","_itemsOptionChangedHandler","_formDataOptionChangedHandler","_defaultOptionChangedHandler","_resetValues","_getItemPath","optionNameWithoutPath","simpleOptionName","itemAction","_tryCreateItemOptionAction","_tryExecuteItemOptionAction","_tryChangeLayoutManagerItemOption","_changeItemOption","_generateItemsFromData","removeItemsByPathStartWith","tryCreateItemOptionAction","tryExecute","_updateValidationGroupAndSummaryIfNeeded","_this$_validationSumm2","_setLayoutManagerItemOption","findKeyByPath","contentReadyHandler","tabPath","pathParts","resultPathParts","tryGetTabPath","tabLayoutManager","findGroupOrTabLayoutManagerByPath","endPartIndex","_itemPath","_layoutManager","formItems","layoutManagerItems","_tryChangeLayoutManagerItemOptions","_getItemByField","resultItem","fieldParts","_getFieldParts","fieldPath","_getItemByFieldPath","subItemsField","_getSubItemField","isEqualToDataFieldOrNameOrTitleOrCaption","separatorIndex","resultPath","isItemWithSubItems","isGroupWithName","nameWithoutSpaces","pathNode","_searchItemInEverySubItem","_isColCountChanged","oldScreenSize","newScreenSize","isChanged","editorSelector","_updateData","isComplexData","resetValues","itemOption","allowUpdateItems","RADIO_BUTTON_ICON_CLASS","RadioButton","_renderIcon","_renderCheckedState","_renderClick","_$icon","LIST_EDIT_DECORATOR","SWIPE_START_EVENT_NAME","SWIPE_UPDATE_EVENT_NAME","SWIPE_END_EVENT_NAME","_shouldHandleSwipe","_attachSwipeEvent","swipeConfig","_clearSwipeCache","_itemWidthCache","_itemSwipeStartHandler","_itemSwipeUpdateHandler","_itemSwipeEndHandler","_inkRippleTimer","beforeBag","afterBag","_commonOptions","modifyElement","afterRender","handleClick","handleKeyboardEvents","handleEnterPressing","handleContextMenu","visibilityChange","getExcludedSelectors","SELECT_DECORATOR_ENABLED_CLASS","registerDecorator","EditDecorator","_singleStrategy","_containerClass","_controlClass","_controlWidget","$control","_isSelected","_saveSelectionChangeEvent","_processCheckedState","_updateSelectAllState","_$selectAll","_selectAllCheckBox","_renderSelectAll","currentFocusedIndex","moveFocusUp","moveFocusDown","$selectAll","downArrowHandler","_attachSelectAllHandler","_selectAllHandler","_selectAllClickHandler","isSelectedAll","_selectAllItems","_unselectAllItems","_checkSelectAllCapability","_disposeSelectAll","LIST_ITEM_BADGE_CONTAINER_CLASS","LIST_ITEM_CHEVRON_CONTAINER_CLASS","_renderShowChevron","$chevron","showChevron","$chevronContainer","_getWindow$getCompute","_getWindow","getElementMargin","side","_scrollView","LIST_ITEM_CLASS","LIST_ITEM_SELECTOR","LIST_GROUP_CLASS","LIST_GROUP_HEADER_CLASS","LIST_GROUP_BODY_CLASS","LIST_GROUP_COLLAPSED_CLASS","WRAP_ITEM_TEXT_CLASS","groupItemsGetter","moveFocusPerPage","getEdgeVisibleItem","resultPosition","containerHeight","isItemVisible","nextItemLocation","pullRefreshEnabled","scrollByThumb","pullingDownText","pulledDownText","refreshingText","pageLoadingText","onPullRefresh","onPageLoading","nextButtonText","onItemSwipe","onGroupRendered","collapsibleGroups","_swipeEnabled","showChevronExpr","deviceDependentOptions","_updateLoadingState","_selectionChangeEventInstance","_getSelectionChangeEvent","_refreshItemElements","_itemElementsCache","_initScrollView","_createGroupRenderAction","_scrollBottomMode","_nextButtonMode","scrollBottom","nextButton","_getGroupedOption","_getGroupContainerByIndex","_dataSourceFromUrlLoadMode","autoPagingEnabled","_scrollHandler","onPullDown","_pullDownHandler","onReachBottom","_scrollBottomHandler","reachBottomText","_createScrollViewActions","_scrollAction","_pullRefreshAction","_pageLoadingAction","$iconContainer","tryLoadMore","shouldLoadNextPage","_shouldContinueLoading","_infiniteDataLoading","_toggleNextButton","_shouldRenderNextButton","_loadIndicationSuppressed","_isDataSourceFirstLoadCompleted","_isFirstLoadCompleted","_showLoadingIndicatorTimer","_this$_scrollView","startLoading","finishLoading","_hideLoadingIfLoadIndicationOff","_isLoadIndicationSuppressed","_scrollViewIsFull","scrollView","_this$_scrollView$scr","_this$_scrollView$scr2","isBottomReached","_loadNextPageTimer","_renderGroup","_attachGroupCollapseEvent","attachGroupHeaderInkRippleEvents","_collapseGroupHandler","$groupBody","startHeight","endHeight","roledescription","_setListAria","listArea","LIST_FEEDBACK_SHOW_TIMEOUT","endEventName","_nextButtonHandler","toggleLoading","_$nextButton","$groupHeaderElement","groupTemplateName","_renderingGroupIndex","_groupRenderAction","groupData","downInkRippleHandler","upInkRippleHandler","_downInkRippleHandler","_upInkRippleHandler","downArguments","upArguments","_toggleDisabledState","_getNextButton","_createNextButton","expandGroup","collapseGroup","DataConverterMixin","ListItem","registry","register","decoratorClass","decoratorsRegistry","decoratorConfig","combineIndex","splitIndex","combinedIndex","_groupElements","_groupItemElements","_getGroups","groupItemByKeyMap","itemMeta","groupKey","getItemMeta","selectedGroup","movingIndices","destinationIndices","movingItemGroup","destinationItemGroup","secondIndex","editOptionsRegistry","registerOption","enabledFunc","decoratorTypeFunc","decoratorSubTypeFunc","decoratorType","decoratorSubType","EditProvider","_fetchRequiredDecorators","_decorators","_createDecorator","subType","_findDecorator","_registry$type","foundDecorator","modifyItemElement","_prependBeforeBags","_appendAfterBags","_applyDecorators","afterItemsRendered","$beforeBags","_collectDecoratorsMarkup","$afterBags","containerClass","$collector","_handlerExists","_eventHandler","contextMenuHandlerExists","getExcludedItemSelectors","excludedSelectors","ListEdit","moveFocusedItem","moveUp","editStrategy","nextItemIndex","_editProvider","privateKey","__dx_key__","localizationMessage","menuMode","allowItemDeleting","itemDeleteMode","itemDragging","_initEditProvider","_isPageSelectAll","_disposeEditProvider","_refreshEditProvider","GroupedEditStrategy","handledByEditProvider","_this$_editStrategy$g","focusListItem","getFlatIndexByItemElement","getItemElementByFlatIndex","flatIndex","getItemByIndex","LOADINDICATOR_SEGMENT_CLASS","_animatingSegmentCount","_animatingSegmentInner","viaImage","_renderIndicatorContent","_renderMarkup","_renderMarkupForImage","_renderMarkupForAnimation","animatingSegmentInner","_$indicator","$segment","_updateContentSizeForAnimation","minDimension","_removeMarkupForAnimation","_removeMarkupForImage","LOADPANEL_INDICATOR_CLASS","LOADPANEL_MESSAGE_CLASS","hideTopOverlayHandler","_$loadPanelContentWrapper","_togglePaneVisible","_cleanPreviousContent","_renderLoadIndicator","_renderMessage","_clearShowTimeout","_showTimeout","getRealSeparatorIndex","quoteBalance","separatorCount","occurrence","getNthOccurrence","splitByIndex","getCaretBoundaries","prefixStubLength","postfixStubLength","_getDigitCountBeforeIndex","_reverseText","_getDigitPositionByIndex","digitIndex","getCaretWithOffset","getCaretInBoundaries","boundaries","NUMBER_BOX","POINTERUP_EVENT_NAME","POINTERCANCEL_EVENT_NAME","SPIN_CLASS","_spinIcon","_spinDownHandler","_spinChangeHandler","_feedBackDeferred","SpinButtons","$spinContainer","$spinContainerChildren","pointerDownAction","_spinButtonsPointerDownHandler","SpinButton","_spinUpChangeHandler","_spinDownChangeHandler","$spinUp","$spinDown","_isTouchFriendly","isTouchFriendly","$spinButtons","spinUp","spinDown","math","FIREFOX_CONTROL_KEYS","NumberBoxBase","TextEditor","useLargeSpinButtons","invalidValueMessage","_isSupportInputMode","_getDefaultAttributes","inputmode","_validateValue","_keyPressed","_spinValueChange","inputValue","_forceValueRender","valuenow","valuetext","_applyDisplayValueFormatter","valuemin","valuemax","_normalizeInputValue","_correctRounding","isFloatValue","isFloatStep","valueAccuracy","stepAccuracy","accuracy","_round","_renderValueChangeEvent","forceValueChangeEvent","_forceRefreshInputValue","_normalizeText","_parseValue","valueHasDigits","_isValueValid","_applyValueBoundaries","isValueIncomplete","_isValueIncomplete","isValueCorrect","_isValueInRange","_replaceCommaWithPoint","_inputIsInvalid","isNumberMode","validityState","validity","badInput","_isNumber","isValueValid","NUMBER_FORMATTER_NAMESPACE","MINUS_KEY","NumberBoxMask","_isDeleteKey","_revertSign","_removeHandler","_arrowHandler","_moveCaretToBoundaryEventHandler","_updateFormattedValue","_getTextSeparatorIndex","realSeparatorOccurrenceIndex","_preventNestedFocusEvent","clearCaretTimeout","_caretTimeout","_getInputVal","shouldHandleEvent","_focusOutOccurs","_hasValueBeenChanged","_updateParsedValue","_adjustParsedValue","_setTextByParsedValue","_parsedValue","nextCaret","isCaretInBoundaries","_moveCaretToBoundary","newCaret","_shouldMoveCaret","isDecimalSeparatorNext","_lastKey","_lastKeyName","_shouldHandleKey","normalizedText","enteredChar","_tryParse","_moveCaret","isDeleteKey","isBackspaceKey","_isStub","valueAfterRemoving","_isNonStubAfter","_isPercentFormat","formatOption","isCustomParser","integerPartStartIndex","formatPointIndex","textPointIndex","formatIntegerPartLength","textIntegerPartLength","customFormatter","_currentFormat","_updateFormat","isExponentialFormat","shouldUseFormatAsIs","getLDMLFormat","_getFormatForSign","_removeStubs","excludeComma","stubs","_getStubs","prefixStubs","postfixRegex","decoratorsRegex","stub","_truncateToPrecision","maxPrecision","strValue","editedText","isTextSelected","_getParsedValue","_getPrecisionLimits","isDecimalPointRestricted","isUselessCharRestricted","textWithoutStubs","parsedValueSign","pointIndex","isCaretOnFloat","floatLength","isPrecisionInRange","endsWithZero","_setInputText","formatted","isSeparatorBasedText","isSeparatorBasedString","pointPosition","newPointPosition","formattedParts","relativeIndex","digitsBefore","formattedIntPart","_trimNonNumericCharsFromEnd","positionFromEnd","digitsFromEnd","newPositionFromEnd","getCaretAfterFormat","_formattedValue","_renderInputType","isNumberType","_setInputType","_isChar","adjustedCaret","isSpecialChar","isMinusKey","_renderFormatter","_detachFormatterEvents","_attachFormatterEvents","_isInputFromPaste","_isValuePasted","_formatValue","escapedDecimalSeparator","realSeparatorIndex","floatPart","_applyRevertedSign","preserveSelectedText","previousText","currentText","previousBoundaries","getCaretOffset","caretInBoundaries","_removeMinusFromText","textWithoutMinus","wasMinusRemoved","OVERLAY_POSITION_ALIASES","OVERLAY_DEFAULT_BOUNDARY_OFFSET","OverlayPositionController","onVisualPositionChanged","restorePosition","_$markupContainer","_$visualContainer","_shouldRenderContentInitialPosition","_visualPosition","_initialPosition","_previousVisualPosition","updateContainer","updatePosition","updateVisualContainer","fixWrapperPosition","styleWrapperPosition","shouldRestorePosition","restorePositionOnNextRender","_normalizePosition","containerProp","swatch","_getVisualContainer","_updateVisualPositionValue","_raisePositionedEvents","_renderContentInitialPosition","detectVisualPositionChange","positionStyle","$visualContainer","_renderBoundaryOffset","wrapperOverflow","previousPosition","newPosition","_this$_position","_this$_props$position","_this$_props$position2","visualContainerProp","positionOf","defaultPositionConfig","_positionToObject","hideCallback","indexOfCallback","hasCallback","viewPortChanged","INNER_OVERLAY_CLASS","OVERLAY_STACK","PREVENT_SAFARI_SCROLLING_CLASS","_proxiedDocumentDownHandler","_ignoreCopyRootClassesToWrapperDeprecation","_ignoreElementAttrDeprecation","_checkParentVisibility","_eventBindingTarget","_logDeprecatedPreventScrollEventsInfo","_initHideOnOutsideClickHandler","_initTabTerminatorHandler","_customWrapperClass","_initInnerOverlayClass","_toggleViewPortSubscription","_initHideTopOverlayHandler","_parentsScrollSubscriptionInfo","_hideOnParentsScrollHandler","warnPositionAsFunction","_hideTopOverlayHandler","_getActionsList","actions","_documentDownHandler","_renderWrapperAttributes","_initPositionController","_showAnimationProcessing","_stopAnimation","isAttachedTarget","isInnerOverlay","_outsideClickHandler","_isTopOverlay","overlayStack","_overlayStack","tabbableElements","_findTabbableBounds","_zIndexInitValue","baseZIndex","_viewPortChangeHandle","_viewPortChangeHandler","_positionController","_renderVisibilityAnimate","_getAnimationConfig","_toggleBodyScroll","_animateShowing","_this$_getAnimationCo","_showAnimation$start","_showAnimation$comple","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","_isAnimationPaused","_toggleSafariScrolling","_showingDeferred","_processShowingHidingCancel","cancelArg","applyFunction","cancelFunction","shouldCancel","_parentHidden","_isParentHidden","_currentVisible","_isHidingActionCanceled","_toggleVisibility","_updateZIndexStackPosition","openingHandled","showingArgs","_isShowingActionCanceled","_moveFromContainer","_stopShowTimer","_asyncShowTimeout","showHideConfig","_animateHiding","_this$_getAnimationCo2","_hideAnimation$start","_hideAnimation$comple","hideAnimation","startHideAnimation","completeHideAnimation","_this4$_actions","_hideAnimationProcessing","_hidingDeferred","hidingArgs","_forceFocusLost","_toggleShading","_toggleSubscriptions","startCallback","_checkContainerExists","_moveToContainer","_renderGeometry","pushToStack","_zIndex","zIndexPool","_toggleTabTerminator","_proxiedTabTerminatorHandler","$elements","elementsCount","tabbable","$firstTabbable","$lastTabbable","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","_toggleHideTopOverlayCallback","_toggleHideOnParentsScrollSubscription","hideTopOverlayCallback","needSubscribe","_this$_parentsScrollS","scrollEvent","prevTargets","closeOnScroll","$parents","_hideOnParentScrollTarget","closeHandled","_appendContentToElement","shouldDeferRendering","whenContentRendered","contentTemplateOption","noModel","_toggleWrapperScrollEventsSubscription","_getPositionControllerConfig","isWheel","isMouseMove","isScrollByWheel","$wrapperContainer","uiErrors","_renderGeometryImpl","_renderPosition","positionContent","_isAllWindowCovered","isIosSafari","isAllWindowCovered","isScrollingPrevented","shouldPreventScrolling","shouldEnableScrolling","_cachedBodyScrollTop","_renderWrapperDimensions","positionWrapper","isVisualContainerWindow","wrapperWidth","wrapperHeight","_deferShowTimer","_this$_animateDeferre","_animateDeferred","_this$_animateDeferre2","animateDeferred","forceStopAnimation","zIndexStack","ZIndex","baseIndex","isLastZIndexInStack","PopupDrag","draggableElement","positionController","_draggableElement","_handle","_dragEnabled","_getEventNames","startEventName","updateEventName","_dragUpdateHandler","dragStartEvent","dragMoveEvent","dragEndEvent","allowedOffsets","_getAllowedOffsets","_prevOffset","_moveByOffset","dragHandled","_fitOffsetIntoAllowedRange","$dragResizeContainer","containerDimensions","_getContainerDimensions","elementDimensions","_getElementDimensions","_this$_getElementDime","outsideDragFactor","fullDelta","_getInnerDelta","outerDelta","_getOuterDelta","_getFullDelta","elementPosition","_getElementPosition","_getContainerPosition","RESIZABLE","RESIZABLE_HANDLE_CLASS","RESIZABLE_HANDLE_CORNER_CLASS","DRAGSTART_START_EVENT_NAME","DRAGSTART_END_EVENT_NAME","SIDE_BORDER_WIDTH_STYLES","Resizable","handles","stepPrecision","onResizeStart","onResize","onResizeEnd","roundStepValue","keepAspectRatio","_renderHandles","_resizeStartAction","_resizeEndAction","_resizeAction","_handles","activeHandlesMap","handleName","_renderHandle","$handle","_dragHandler","handleElement","_toggleEventHandlers","shouldAttachEvents","_getElementSize","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","_elementSize","_renderDragOffsets","handleWidth","handleHeight","handleOffset","_getAreaScrollOffset","_leftMaxOffset","scrollX","_rightMaxOffset","_topMaxOffset","scrollY","_bottomMaxOffset","_getBorderWidth","_proportionate","_getProportionalDelta","proportionalY","proportionalX","_getDirectionName","axis","sides","_fitIntoArea","directionName","_fitDeltaProportionally","fittedDelta","isInArea","isFittedX","isFittedY","_fitDelta","_getDeltaByOffset","shouldKeepAspectRatio","_isCornerHandler","proportionalDelta","_roundByStep","_updatePosition","_getOffset","dimensions","_updateDimensions","_triggerResizeAction","isAbsoluteSize","isStepPrecisionStrict","elementStyle","shouldRenderWidth","shouldRenderHeight","xor","_roundStrict","_roundNotStrict","_getSteps","steps","xPos","yPos","newXShift","newYShift","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","roundedOffset_x","roundedOffset_y","hasCornerTopLeftClass","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","areaElement","_correctAreaGeometry","areaBorderLeft","areaBorderTop","_renderWidth","_renderHeight","PopupPositionController","_OverlayPositionContr","forceApplyBindings","dragOutsideBoundary","_$dragResizeContainer","_updateDragResizeContainer","_fullScreenEnabled","_fullScreenDisabled","_this$_props$forceApp","_this$_props","_getDragResizeContainer","overflowManagerMock","setOverflow","restoreOverflow","createBodyOverflowManager","isIosDevice","prevSettings","overflowX","overflowY","computedBodyPaddingRight","setBodyPaddingRight","propertyInKebabCase","POPUP_CLASS","POPUP_WRAPPER_CLASS","POPUP_TITLE_CLASS","POPUP_BOTTOM_CLASS","ALLOWED_TOOLBAR_ITEM_ALIASES","IS_OLD_SAFARI","HEIGHT_STRATEGIES","static","_this$_drag","_drag","_this$_drag2","moveDown","_this$_drag3","moveLeft","_this$_drag4","moveRight","titleTemplate","enableBodyScroll","bottomTemplate","useDefaultToolbarButtons","useFlatToolbarButtons","_iosAnimation","_androidAnimation","popupWrapperClassExternal","popupWrapperClasses","_createBodyOverflowManager","_updateResizeCallbackSkipCondition","_toggleContentScrollClass","isFullscreen","_toggleFullScreenClass","_bodyOverflowManager","_contentResizeHandler","_shouldSkipContentResize","shouldOnlyReposition","_doesShowAnimationChangeDimensions","_animation$show","doesShowAnimationChangeDimensions","_areContentDimensionsRendered","_observeContentResize","shouldObserve","_entry$contentBoxSize","_this$_renderedDimens3","_this$_renderedDimens4","_this$_renderedDimens","_this$_renderedDimens2","contentBox","contentBoxSize","inlineSize","_renderedDimensions","contentRect","_renderTitle","_renderResize","_renderBottom","titleText","_$title","$title","_renderTemplateByType","_renderDrag","_executeTitleRenderAction","_hasCloseButton","additionalToolbarOptions","useDefaultButtons","useFlatButtons","_getToolbarName","$titleElement","_getTitleRenderAction","titleElement","_titleRenderAction","_createTitleRenderAction","_getCloseButton","_getCloseButtonRenderer","_createToolbarItemAction","toolbarsItems","_toolbarItemClasses","currentPlatform","isShortcut","getButtonPlace","_getToolbarItemByAlias","isLTROrder","_getLocalizationKey","itemConfig","itemClass","$toolbarItem","_$bottom","$bottom","compactMode","_toggleClasses","isNativeScrollingEnabled","_getDragTarget","topToolbar","useResizeObserver","shouldRepeatAnimation","isDimensionChange","_cacheDimensions","_resetContentHeight","_setContentHeight","$dragTarget","_resizable","_resizeEndHandler","resizeHandled","overlayContent","currentHeightStrategyClass","_chooseHeightStrategy","_getHeightCssStyles","_setHeightClasses","_heightStrategyChangeOffset","popupVerticalPaddings","isAutoWidth","_isAutoHeight","contentMaxHeight","contentMinHeight","popupHeightParts","_splitPopupHeight","toolbarsAndVerticalOffsetsHeight","header","contentVerticalOffsets","popupVerticalOffsets","contentHeight","maxHeightValue","currentClass","excessClasses","_renderFullscreenWidthClass","_this$_bodyOverflowMa","refreshPosition","_this$_resizable2","_this$_resizable","shouldRenderGeometry","SCROLLVIEW_PULLDOWN_REFRESHING_CLASS","SCROLLVIEW_PULLDOWN_READY_CLASS","_$topPocket","_$pullDown","_$refreshingText","_$scrollViewContent","_initCallbacks","pullDownCallbacks","releaseCallbacks","reachBottomCallbacks","_renderPullDown","_releaseState","$image","$loadContainer","_$pullDownText","_$pullingDownText","_$pulledDownText","_refreshPullDownText","pullDownTextItems","visibleState","_setTopPocketOffset","_topPocketSize","contentEl","containerEl","_bottomBoundary","_allowedDirections","allowedDirections","_pullDownEnabled","handleEnd","_complete","handleStop","_setPullDownOffset","_pullDownRefreshTimeout","_pullDownRefreshing","handleScroll","currentLocation","scrollDelta","_location","_isPullDown","_pullDownReady","_isReachBottom","_reachBottom","_stateReleased","_reachBottomEnabled","pullDownEnable","reachBottomEnable","pendingRelease","_releaseTimeout","_updateAction","SCROLLVIEW_PULLDOWN_DOWN_LOADING_CLASS","_releasePullDown","handleInit","_startClientY","_deltaY","_movePullDown","pullDownHeight","_getPullDownHeight","_getPullDownStartPosition","_pullDownRefreshHandler","_refreshPullDown","ScrollViewScroller","Scroller","_bottomPocketSize","_updateBounds","_direction","_$bottomPocket","_updateScrollbar","_scrollbar","containerSize","_containerSize","contentSize","scaleRatio","_getScaleRatio","_moveContent","_reachBottomReady","_moveScrollbar","moveTo","_scrollComplete","_inBounds","_reachBottomLoading","_minOffset","_getMinOffset","_getMaxOffset","_maxOffset","_releaseHandler","_moveToBounds","_releaseTask","_release","_reachBottomEnablingHandler","_pullDownEnablingHandler","_considerTopPocketChange","_updateHandler","_pendingReleaseHandler","SimulatedStrategy","_createScroller","scroller","_scrollers","_scrollerOptions","$topPocket","$bottomPocket","$pullDown","$pullDownText","$pullingDownText","$pulledDownText","$refreshingText","SCROLLVIEW_CLASS","SCROLLVIEW_CONTENT_CLASS","SCROLLVIEW_TOP_POCKET_CLASS","SCROLLVIEW_BOTTOM_POCKET_CLASS","SCROLLVIEW_PULLDOWN_CLASS","SCROLLVIEW_REACHBOTTOM_CLASS","SCROLLVIEW_REACHBOTTOM_INDICATOR_CLASS","SCROLLVIEW_REACHBOTTOM_TEXT_CLASS","SCROLLVIEW_LOADPANEL","refreshStrategies","pullDown","PullDownStrategy","swipeDown","SwipeDownStrategy","simulated","isServerSide","scrollViewServerConfig","refreshStrategy","_loadingIndicatorEnabled","_initScrollableMarkup","_initContent","_initTopPocket","_initBottomPocket","_initLoadPanel","$reachBottom","_$reachBottom","_$reachBottomText","_updateReachBottomText","$loadPanelElement","_createStrategy","strategyClass","_reachBottomHandler","_createActions","_pullDownAction","_reachBottomAction","_tryRefreshPocketState","_pullDownEnable","_reachBottomEnable","_loadingIndicator","_pullDownLoading","preventReachBottom","showOrHide","_lock","_unlock","_finished","_stopped","_proxiedStepCore","_stepCore","_stepAnimationFrame","_isStopped","_isFinished","SCROLLABLE_NATIVE","SCROLLABLE_NATIVE_CLASS","VERTICAL","HORIZONTAL","_useSimulatedScrollbar","_isLocked","_isDirection","_allowedDirection","_isRtlNativeStrategy","_isScrollbarVisible","_renderScrollbars","updateRtlPosition","_moveScrollbars","_scrollbars","_hideScrollbarTimeout","_renderScrollbar","Scrollbar","expandable","handleStart","handleCancel","_eachScrollbar","scrollbar","createActions","_createActionArgs","_this$location","_eventForUserAction","_getScrollOffset","reachedLeft","_isReachedRight","_isReachedLeft","reachedRight","reachedTop","_this$location2","_normalizeOffsetLeft","_this$_getScrollOffse","_hideScrollbars","disabledChanged","_updateScrollbars","_componentContentSize","scrollableNativeRegexp","_removeScrollbars","_isScrolledInMaxDirection","SCROLLABLE","SCROLLABLE_CLASS","BOTH","onBounce","inertiaEnabled","updateManually","_setUseSimulatedScrollbar","_updateRtlPosition","_savedScrollOffset","_renderDirection","_renderStrategy","_renderDisabledState","needInitializeRtlConfig","_$$get","initEventData","_validate","_initHandler","_updateIfNeed","_resetInactiveDirection","inactiveProp","_getInactiveProp","_normalizeLocation","_updateAllowedDirection","_allowedDirectionValue","_applyScaleRatio","elementInsideContent","elementIsInsideContent","additionalOffset","inverseProp","containerOffsetSize","containerClientSize","relativeElementOffset","containerScrollOffset","relativeStartOffset","relativeEndOffset","getElementLocationInternal","hoveredScrollable","activeScrollable","SCROLLABLE_SIMULATED","SCROLLABLE_SIMULATED_CURSOR","SCROLLABLE_SIMULATED_KEYBOARD","SCROLLABLE_SIMULATED_CLASS","ACCELERATION","BOUNCE_FRAMES","BOUNCE_ACCELERATION_SUM","KEY_CODES","InertiaAnimator","VELOCITY_LIMIT","_velocity","_scrollStep","_acceleration","BounceAnimator","MIN_VELOCITY_LIMIT","_crossBoundOnNextStep","_bounceLocation","_initAnimators","_initScrollbar","_topReached","_bottomReached","_axis","_prop","_dimension","_scrollProp","_inertiaAnimator","_bounceAnimator","_scrollByThumb","visibilityMode","_visibilityModeNormalize","_scrollbarVisible","_$scrollbar","prevLocation","_suppressBounce","_bounceEnabled","_boundLocation","_moveContentByTranslator","_scaleRatio","realDimension","_getRealDimension","baseDimension","_getBaseDimension","translateOffset","_maxScrollPropValue","_translateOffset","_hideScrollbar","_completeDeferred","_scrollToBounds","_bounceAction","_setupBounce","bounceDistance","nextLocation","_stopScrolling","_prepareThumbScrolling","scrollbarClicked","_isScrollbar","_moveToMouseLocation","_thumbScrolling","_isThumb","_crossThumbScrolling","_isAnyThumbScrolling","feedbackOn","_isThumbScrollingHandler","mouseLocation","_containerToContentRatio","_startHandler","_showScrollbar","_moveHandler","_scrollByHandler","containerToContentRatio","_endHandler","_inertiaHandler","_resetThumbScrolling","_suppressInertia","_inertiaEnabled","_stopHandler","_disposeHandler","_resetScaleRatio","_updateLocation","baseContainerSize","baseContentSize","locationChanged","_createActionsHandler","bounce","isOverflowHidden","containerScrollSize","_validateEvent","isThumb","_reachedMin","_reachedMax","_cursorEnterHandler","cursorEnter","_cursorLeaveHandler","cursorLeave","_createScrollers","_attachKeyboardHandler","_attachCursorHandlers","scrollbarVisible","isAnyThumbScrolling","_getPropByDirection","isThumbScrollingVertical","isThumbScrollingHorizontal","_suppressDirections","_eachScroller","_isContent","_validDirections","_startAction","_saveActive","_resetActive","_adjustDistance","_tryGetDevicePixelRatio","_refreshCursorState","_endAction","_updateRtlConfig","addEventNamespace","_updateHandlerTimeout","_scrollByLine","_scrollByPage","_scrollToHome","_scrollToEnd","lines","page","_wheelProp","_dimensionByProp","_createActionHandler","_createScrollerActions","actionHandler","_this$_scrollers","scrollerX","scrollerY","_scrollOffset","_isHoverMode","_hoverHandled","targetScrollable","touchDirection","verticalScroller","horizontalScroller","_isHorizontalAndRtlEnabled","_rtlConfig","scrollRight","windowPixelRatio","_getWindowDevicePixelRatio","skipUpdating","_this$_$container$get","_validateWheel","_wheelDirection","reachedMin","reachedMax","contentGreaterThanContainer","locatedNotAtBound","scrollFromMin","scrollFromMax","_validateWheelTimer","SCROLLBAR","SCROLLABLE_SCROLLBAR_CLASS","SCROLLABLE_SCROLLBAR_ACTIVE_CLASS","SCROLLBAR_VISIBLE","activeScrollbar","_isHovered","_renderThumb","_attachPointerDownHandler","_$thumb","feedbackOff","_needScrollbar","_adjustVisibility","_baseContainerToContentRatio","scrollBarLocation","_calculateScrollBarPosition","_thumbRatio","_realContainerToContentRatio","thumbSize","_normalizeSize","readyCallback","_dataExpressionDefaultOptions","_initDataExpressions","_compileValueGetter","_displayGetterExpr","_valueGetter","_valueGetterExpr","_loadValue","_unwrappedValue","_isValueEquals","_loadValueDeferred","_rejectValueLoading","_this$_loadValueDefer","shouldSkipCallback","_getCurrentValue","_getItemKey","_compareValues","_compareByCompositeKey","_compareByKey","isObjectType","unwrapObservable","valueKey1","valueKey2","_setCollectionWidgetItemTemplate","_setCollectionWidgetOption","_getCollectionKeyExpr","_dataExpressionOptionChanged","SEARCH_MODES","useCompositionEvents","DropDownList","_allowSelectItemByTab","_setSelectedElement","_setValue","DataExpressionMixin","minSearchLength","showDataBeforeSearch","_validateSearchMode","_clearSelectedItem","_initItems","_setListFocusedElementOptionChange","_updateActiveDescendant","_initContentReadyAction","_initSelectionChangedAction","_saveFocusOnWidget","_fitIntoRange","_calcNextItem","_getSelectedIndex","_updateCustomBoundaryContainer","_popupWrapperClass","customContainer","$containerWithParents","_$customBoundaryContainer","_loadInputValue","_setSelectedItem","_loadItem","_getItemFromPlain","itemByValue","listFocusedItemId","isElementOnDom","activedescendant","_displayValue","_refreshSelected","_listItemElements","itemValue","_isSelectedValue","_setFocusPolicy","normalizedSearchMode","_processDataSourceChanging","_isCustomValueAllowed","_clearFilter","_$list","canListHaveFocus","_canListHaveFocus","_listId","$list","_listConfig","_refreshList","_renderPreventBlurOnListClick","_shouldRefreshDataSource","_needPassDataSourceToList","templateProvider","_listContentReadyHandler","_listItemClickAction","_getDataSource","dxList","_updateListDimensions","_isMinSearchLengthExceeded","_needClearFilter","_canKeepDataSource","isMinSearchLengthExceeded","_isLastMinSearchLengthExceeded","_getSearchEvent","_getCompositionStartEvent","_getCompositionEndEvent","_getSetFocusPolicyEvent","_shouldRenderSearchEvent","_searchHandler","_isTextCompositionInProgress","_isTextComposition","_clearSearchTimer","_searchTimer","_searchDataSource","_searchCanceled","_filterDataSource","_dataSourceFiltered","_refreshPopupVisibility","_shouldOpenPopup","_hasItemsToShow","shouldOpenPopup","resultAmount","_needPopupRepaint","$customBoundaryContainer","_shouldUseDisplayValue","SELECTBOX_POPUP_WRAPPER_CLASS","clearSelectBox","_valueSubstituted","_preventFiltering","_savedTextRemoveEvent","_preventSubstitution","searchIfNeeded","_cancelSearchIfNeed","_setNextValue","_cancelEditing","isOpened","inputText","isCustomText","isSearchEnabled","customItemCreateEvent","onCustomItemCreating","customItem","tooltipEnabled","displayCustomValue","_initCustomItemCreatingAction","_renderTooltip","_focusListElement","_focusSelectedElement","_items$indexOf","$listItems","_isCustomItemSelected","_renderFocusedElement","_preventInputValueRender","_renderInputValueAsync","_renderInputValueImpl","_setNextItem","hasPages","isLastItem","isUnknownItem","_getSelectionChangeHandler","_listFocusedItemChangeHandler","focusedItem","_selectionChangeHandler","addedItem","_getActualSearchValue","_shouldClearFilter","_restoreInputText","_wasSearch","_isValueEqualInputText","initialSelectedItem","_shouldCancelSearch","saveEditingValue","_isValueChanging","_createCustomItem","_clearTextValue","newSelectedItem","_valueChangeEventIncludesBlur","_getValueChangeEventOptionName","_isPreventedFocusOutEvent","_isOverlayNestedTarget","isOverlayTarget","isPopupVisible","_shouldCancelSearchValue","selectedItemText","$listFocused","_shouldCloseOnItemClick","_completeSelection","_customItemAddedHandler","_customItemCreatingAction","actionResult","_setCustomItem","_wasSearchValue","_renderInputSubstitution","currentSearchLength","inputHasSelection","isLastSymbolSelected","_shouldSubstitutionBeRendered","_refreshFocusEvent","SelectionStrategy","_setOption","_clearItemKeys","remoteFilter","_removeTemplateProperty","localFilter","filterLength","needLoadAllData","filteredItems","keyHashIndices","dataFilter","selectedItemsLength","disabledItemsLength","getSelectableItems","_isAnyItemSelected","hasSelectedItems","hasUnselectedItems","isItemKeySelected","DeferredStrategy","_SelectionStrategy","_loadFilteredData","_addSelectionFilter","removeSelectedItem","addSelectedItem","keyField","_getKeyExpr","_normalizeKey","_getFilterByKey","filterString","subFilter","_findSubFilter","filterOperator","_selectionFilter","needAddFilter","_denormalizeFilter","removedIndex","_removeSameFilter","filterIndex","_isOnlyNegativeFiltersLeft","isKeyOperatorsAfterRemoved","_isKeyFilter","_hasKeyFiltersOnlyStartingFromIndex","_addFilterOperator","_normalizeFilter","_isSimpleKeyFilter","inverted","_removeFilterByIndex","_filterIndex","_isLastSubFilter","componentFilter","StandardStrategy","_initSelectedItemKeyHash","keyIndicesToRemoveMap","isBatchDeselect","_batchRemoveSelectedItems","updateSelectedItemKeyHash","selectionFilterCreator","deselectedItems","internalKeys","setSelectedItems","_this$_lastLoadDeferr","_lastLoadDeferred","oldRequestItems","updatedKeys","isDeselectAll","multiSelectEnabled","_isMultiSelectEnabled","lastRequestData","_lastRequestData","_shouldMergeWithLastRequest","_concatRequestsItems","_this$_lastRequestDat","_this$_lastRequestDat2","currentKeys","_requestInProgress","_collectLastRequestData","_updateKeysByLastRequestData","_loadSelectedItemsCore","_loadSelectedItems","_preserveSelectionUpdate","_replaceSelectionUpdate","disabledItemKeys","_getKeyHash","_indexOfSelectedItemKey","ignoreIndicesMap","_getSelectedIndexByKey","_getSelectedIndexByHash","currentKeyIndex","currentKey","currentKeyHash","currentKeyIndices","keyIndices","_shiftSelectedKeyIndices","oldSelectedKeys","oldSelectedItems","_this$_lastRequestDat3","_updateAddedItemKeys","_updateRemovedItemKeys","_isItemSelectionInProgress","visibleOnly","_getVisibleSelectAllState","_getFullSelectAllState","deferredStrategy","standardStrategy","filterIsChanged","_keys","_this$options$allowLo","_this$options","isSelectedItemsChanged","indexOffset","focusedItemNotInLoadedRange","shiftFocusedItemNotInLoadedRange","itemIsNotInLoadedRange","_shiftFocusedItemIndex","isSelectable","changeItemSelectionWhenShiftKeyInVirtualPaging","changeItemSelectionWhenShiftKeyPressed","_resetItemSelectionWhenShiftKeyPressed","isItemDataSelected","clearSelectedItems","_removeSelectedItem","_addSelectedItem","_setSelectedItems","itemIndexStep","indexOffsetDefined","focusedData","focusedKey","isFocusedItemSelected","isOnePage","_resetFocusedItemIndex","_onePageSelectAll","DEFAULT_DATE_INTERVAL","DEFAULT_DATETIME_INTERVAL","getGroupInterval","dateIntervals","getFilterSelector","getFilterExpressionByRange","endFilterValue","startFilterExpression","endFilterExpression","getFilterExpressionForDate","dateStart","dateEnd","getFilterExpressionForNumber","isSearchByDisplayValue","hasSimpleItems","isCorrectStructure","innerItem","_updateInputHeight","_renderScrollHandler","_createInput","_applyInputAttributes","_updateInputAutoResizeAppearance","customAttributes","_eventY","initScrollData","prepareScrollData","currentEventY","allowScroll","_resetDimensions","_getHeightDifference","_$textEditorContainer","_$textEditorInputContainer","autoHeightResizing","heightDifference","_getBoundaryHeight","inputHeight","adjustedMaxHeight","needScroll","isAutoResizeEnabled","ignoreKeys","SEARCHBOX_CLASS","_showClearButton","_renderSearchMode","_toggleMaxLengthProp","_getMaxLength","_renderSearchIcon","_$searchIcon","$searchIcon","_getLabelContainerWidth","$inputContainer","_getLabelBeforeWidth","labelBeforeWidth","_updateLabelWidth","_onKeyDownCutOffHandler","actualMaxLength","_hasSelection","_cutOffExtraChar","_onChangeCutOffHandler","textInput","$placeMarker","_isRendered","_this$_create","_create","_attachEvents","_addPlaceMarker","_shouldRender","EMPTY_CHAR","BaseMaskRule","_next","_prepareHandlingArgs","_config$str","_config$start","_config$length","handlingProperty","isAccepted","isForwardDirection","_adjustedForward","_adjustedBackward","EmptyMaskRule","MaskRule","maskChar","rest","_tryAcceptChar","_accepted","_isAllowed","acceptedChar","fullText","_isAccepted","_isValid","allowedChars","StubMaskRule","hasValueProperty","nextArgs","pointerDown","ClearButton","CUSTOM_BUTTON_HOVERED_CLASS","CustomButton","ignoreParentReadOnly","_prepareIntegrationOptions","isUpdated","checkNamesUniqueness","existingNames","TextEditorButtonCollection","defaultButtonsInfo","buttonInfo","isStringButton","isDefaultButton","predefinedButtonsInfo","isPredefinedButtonName","defaultButtonInfo","buttonsInfo","_compileButtonInfo","_buttonsInfo$location","TEXTEDITOR_LABEL_CLASS","TEXTEDITOR_WITH_LABEL_CLASS","TEXTEDITOR_WITH_FLOATING_LABEL_CLASS","TEXTEDITOR_WITH_BEFORE_BUTTONS_CLASS","TextEditorLabel","mark","containsButtonsBefore","beforeWidth","_id","_toggleMarkupVisibility","_$before","_$labelSpan","_$label","_$after","_updateMark","_updateText","_updateBeforeWidth","_updateMaxWidth","_updateEditorBeforeButtonsClass","_updateEditorLabelClass","labelClass","beforeButtonsClass","TEXTEDITOR_INPUT_CLASS","TEXTEDITOR_INPUT_SELECTOR","TEXTEDITOR_PLACEHOLDER_CLASS","TEXTEDITOR_VALIDATION_PENDING_CLASS","EVENTS_LIST","CONTROL_KEYS","TextEditorLabelCreator","checkButtonsOptionType","TextEditorBase","_buttonCollection","_labelContainerElement","_buttonsContainer","_isControlKey","_updateButtonsStyling","_renderLabel","_renderEnterKeyAction","_getInputContainer","_renderPendingIndicator","_pendingIndicator","_disposePendingIndicator","_showValidMark","renderBeforeButtons","renderAfterButtons","_cleanButtonContainers","clean","_unobserveLabelContainerResize","inputAttrName","inputAttributes","defaultAttributes","updateButtons","valid","_toggleEmptiness","_toggleSpellcheckState","_toggleTabIndex","_getLabelContainer","buttonsBeforeWidth","updateBeforeWidth","_getFieldElement","_setFieldAria","_this$_$placeholder","getId","_$placeholder","labelConfig","_renderPlaceholderMarkup","_attachPlaceholderEvents","placeholderAttributes","startEvent","_placeholder","isCtrlEnter","isNewValue","_renderValueEventName","_cleanValueChangeEvent","valueChangeNamespace","textChangeNamespace","_focusEventTarget","_isInput","shouldPrevent","_isNestedTarget","_focusClassTarget","_enterKeyAction","_enterKeyHandlerUp","updateText","updateMark","updateMode","updateContainsButtonsBefore","DELETE_INPUT_TYPES","HISTORY_INPUT_TYPES","EVENT_NAMES","getEmptyString","repeat","MaskStrategy","_this$editor","_editorOption","_editorInput","_changeHandler","_previousText","_prevCaret","_editorCaret","_handleHistoryInputEvent","_handleBackwardDeleteInputEvent","currentCaret","_clearSelectedText","_autoFillHandler","_handleInsertTextInputEvent","_updateEditorMask","setForwardDirection","_adjustCaret","setBackwardDirection","_this$_prevCaret","_this$_prevCaret2","_isAutoFill","_this$_prevCaret$star","_this$_prevCaret3","textLength","processedCharsCount","_handleChain","_displayMask","_this$_editorCaret","correction","_showMaskPlaceholder","_isValueEmpty","_maskRulesChain","_maskKeyHandler","_handleKey","selectedText","getClipboardText","_clearDragTimer","_dragTimer","_convertToValue","pastedText","restText","accepted","inputVal","_inputHandlerTimer","_validateMask","_input$matches","handlerName","_attachChangeEventHandler","stubCaret","caretUtils","TEXTEDITOR_MASKED_CLASS","FORWARD_DIRECTION","buildInMaskRules","isLiteralChar","isSpaceChar","A","isNumericChar","TextEditorMask","mask","maskRules","maskInvalidMessage","useMaskedValue","showMaskMode","keyHandlerMap","_maskStrategy","parentHandler","_$hiddenElement","_initMaskStrategy","_renderHiddenElement","_attachMouseWheelEventHandlers","mouseWheelAction","_removeHiddenElement","detachEvents","attachEvents","_parseMask","_renderMaskedValue","_suppressCaretChanging","_changedValue","_maskRules","_parseMaskRule","currentMaskChar","isEscapedChar","_getMaskRule","ruleConfig","rulePattern","_normalizeChainArguments","chainArgs","_isMaskedValueMode","_shouldShowMask","submitElementValue","_getPreparedValue","_isControlKeyFired","handledCount","_textValue","_replaceMaskCharWithEmpty","keyHandler","_handleSelection","raiseInputEvent","_handleKeyChain","emptyChars","chars","_tryMoveCaretBackward","caretStart","maskRuleIndex","_typingDirection","_updateHiddenElement","_updateMaskOption","_processEmptyMask","isFocusingOnCaretChange","getCaret","setCaret","scrollTopPos","scrollBottomPos","validateTarget","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","themeReadyCallback","viewPortValue","initDeferred","DX_LINK_SELECTOR","THEME_ATTR","ACTIVE_ATTR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitForThemeLoad","waitStartTime","intervalCleared","handleLoaded","isPendingThemeLoaded","isTimeout","anyThemePending","themeMarker","newContext","initContext","$allThemeLinks","fullThemeName","processMarkup","currentThemeData","isAutoInit","_autoInit","loadCallback","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","resolveFullThemeName","_forceTimeout","themeNameParts","pixelRatio","$tester","isTheme","themeRegExp","isWebFontLoaded","testElement","etalonFontWidth","testedFontWidth","waitWebFont","intervalId","autoInit","TOAST_CLASS","TOAST_CLASS_PREFIX","TOAST_WRAPPER_CLASS","TOAST_CONTENT_CLASS","TOAST_MESSAGE_CLASS","TOAST_ICON_CLASS","toastTypes","TOAST_STACK","POSITION_ALIASES","DEFAULT_BOUNDARY_OFFSET","_posStringToObject","_message","_toggleCloseEvents","verticalPosition","horizontalPosition","_hideTimeout","CollectionWidgetEdit","itemDeferred","_postProcessRenderItems","_renderItemsAsync","TOOLBAR_BEFORE_CLASS","TOOLBAR_AFTER_CLASS","TOOLBAR_LABEL_CLASS","TOOLBAR_COMPACT_CLASS","TEXT_BUTTON_MODE","_AsyncCollectionWidge","rawModel","_data$options","_data$options2","_data$options$styling","_data$options3","_data$options$type","menuItem","renderAs","_applyCompactMode","_renderToolbar","_updateDimensionsInMaterial","sectionClass","beforeRect","afterRect","_alignCenterSection","$section","labelOffset","widthBeforeSection","widthAfterSection","elemsAtSectionWidth","sectionMaxWidth","_alignSection","leftRect","rightRect","centerRect","labels","_getCurrentLabelsPaddings","currentWidth","_getCurrentLabelsWidth","_alignSectionLabels","expanding","getRealLabelWidth","currentLabelWidth","labelMaxWidth","possibleLabelWidth","_item$text","itemHasText","_group$location","_renderGroupedItems","_waitParentAnimationTimeout","runCheck","readyToResolve","$labels","AsyncCollectionWidget","STATUS","BaseRuleValidator","rulesValidators","valueArray","RequiredRuleValidator","_BaseRuleValidator","NumericRuleValidator","_BaseRuleValidator2","ignoreEmptyValue","useCultureSettings","RangeRuleValidator","_BaseRuleValidator3","validNumber","numeric","validValue","StringLengthRuleValidator","_BaseRuleValidator4","CustomRuleValidator","_BaseRuleValidator5","extraParams","validationCallback","AsyncRuleValidator","_CustomRuleValidator","reevaluate","_getWrappedPromise","CompareRuleValidator","_BaseRuleValidator6","comparisonTarget","otherValue","comparisonType","PatternRuleValidator","_BaseRuleValidator7","_super8","EmailRuleValidator","_BaseRuleValidator8","_super9","stringLength","GroupConfig","_pendingValidators","_onValidatorStatusChanged","_resetValidationInfo","_unsubscribeFromAllChangeEvents","validatorResult","_addPendingValidator","_subscribeToChangeEvents","_raiseValidatedEvent","_updateValidationInfo","_validationInfo","_unsubscribeFromChangeEvents","_removePendingValidator","_orderBrokenRules","orderedRules","foundRules","_updateBrokenRules","_resolveIfComplete","_synchronizeValidationInfo","removeRegisteredValidator","registerValidator","getGroupConfig","findGroup","_$element$data","_$element$data$dxComp","dxValidationGroup","$dxGroup","initGroups","addGroup","removeGroup","_setDefaultMessage","defaultFormattedMessage","defaultMessage","_addBrokenRule","_rules$","pendingRules","asyncRuleItems","ruleValidationResult","ruleValidator","_validateAsyncRules","_synchronizeGroupValidationInfo","_result$brokenRules","asyncResults","validateResult","ruleResult","_getPatchedRuleResult","_updateRuleConfig","_getAsyncRulesResult","registerValidatorInGroup","_shouldRemoveGroup","validatorsInGroup","isDefaultGroup","isValidationGroupInstance","initValidationOptions","initedOptions","synchronizeValidationOptions","newStatus","resetGroup","INVALID_MESSAGE","_renderInnerHtml","_ensureMessageNotEmpty","_updatePositionByTarget","_toggleModeClass","_updateContentId","_textMarkup","_getTextMarkup","shouldShowMessage","_toggleVisibilityClasses","validationErrorMessage","_err$message","targetWidth","_getPositionsArray","rtlSide","_this$option4","componentOffset","DefaultAdapter","getCurrentValidationError","VALIDATION_STATUS_VALID","VALIDATION_STATUS_PENDING","_initAdapter","skipValidation","_getEditor","dxStandardEditor","_this$option$editor$o","_this$option$editor","_toggleAccessibilityAttributes","_resetValidationRules","_getValidationRules","_validationRules","currentError","currentResult","_applyValidationResult","_updateValidationResult","validatedAction","focusableFn","isTabIndexNotNaN","isDefaultFocus","isHyperlink","SWATCH_CONTAINER_CLASS_PREFIX","getSwatchContainer","viewport","swatchClassRegex","swatchClass","viewportSwatchContainer","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","E1058","E1059","E1060","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","W1015","W1016","W1017","W1018","W1019","W1020","W1021","W1022","W1023","EditorClass","_renderSearch","searchBoxClassName","rootElementClassName","_$searchEditorElement","userEditorOptions","_valueChangeDeferred","_valueChangeTimeout","_getAriaTarget","getOperationBySearchMode","_cleanAria","setEditorClass","hoveredElement","getOptionsFromContainer","_renderHint","_isFocusable","_attachFeedbackEvents","_toggleIndependentState","_attachFocusEvents","_renderAccessKey","_this$option6","hasChildListeners","onlyChildProcessing","keyboardListeners","_hoverStartHandler","_hoverEndHandler","focusableSelector","_updatedHover","_hover","_findHoverTarget","$previous","_this$option10","newHoveredElement","widgetOptionMap","INKRIPPLE_CLASS","INKRIPPLE_WAVE_CLASS","INKRIPPLE_SHOWING_CLASS","INKRIPPLE_HIDING_CLASS","DEFAULT_WAVE_INDEX","wavesNumber","durations","getDurations","getWaves","inkRipple","getInkRipple","$currentWave","getWaveStyleConfig","elementDiagonal","sqrt","waveSize","$wave","wave","hidingTimeout","hideSelectedWave","showingTimeout","showingWaveHandler","durationCss","showingScale","hidingScale","hidingOpacity","animationDuration","dijkstra","single_source_shortest_paths","graph","predecessors","costs","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","PriorityQueue","make","cost","msg","extract_shortest_path_from_predecessor_list","find_path","sorter","default_sorter","fs","exists","true","false","workbook","worksheet","_regeneratorRuntime","createReadStream","abrupt","addWorksheet","sheetName","dateFormats","parserOptions","emit","getWorksheet","sheetId","formatterOptions","dateFormat","dateUTC","hyperlink","formula","utc","includeEmptyRows","eachRow","createWriteStream","dayjs","decodeAddress","nativeCol","nativeColOff","nativeRow","nativeRowOff","getColumn","isCustomWidth","slideFormula","_row","_column","validateAddress","_address","Types","Null","_mergeStyle","_mergeCount","numFmt","font","protection","toCsvString","Merge","isMergedTo","Hyperlink","definedNames","addEx","fullAddress","removeEx","removeAllNames","letter","effectiveType","master","getType","_comment","note","escapeHtml","formulaType","address","getNamesEx","dataValidations","_dataValidations","fromModel","richText","RichText","_master","addMergeRef","releaseMergeRef","Formula","shareType","sharedFormula","_translatedFormula","findCell","_copyModel","ranges","_getTranslatedFormula","FormulaType","Master","Shared","None","SharedString","sharedString","_worksheet","_number","defn","isDefault","equivalentTo","outlineLevel","collapsed","eachCell","n2l","_header","_hidden","getColumnKey","deleteColumnKey","setColumnKey","_outlineLevel","outlineLevelCol","_applyStyle","matrixMap","decodeEx","getMatrix","addCellEx","removeCellEx","findCellEx","findCellAt","_explore","$shortRange","forEachInSheet","spliceRows","normaliseMatrix","spliceColumns","getRanges","addCell","RelationshipType","OfficeDocument","Worksheet","CalcChain","SharedStrings","Styles","Theme","DocumentType","Xlsx","ReadingOrder","LeftToRight","RightToLeft","ErrorValue","NotApplicable","Ref","Name","DivZero","Value","Num","imageId","hyperlinks","tl","editAs","deepMerge","DEFAULT_CONFIGS","margins","insetmode","inset","locked","lockText","setTLBR","expand","containsEx","encodeAddress","_serialisedSheetName","$t$l","$b$r","$range","_cells","_commitRow","l2n","getCellEx","includeEmpty","man","rowBreaks","eachColumnKey","outlineLevelRow","$col$row","cacheState","_set","filterButton","totalsRowLabel","totalsRowFunction","totalsRowResult","totalsRowFormula","filterHeight","tableHeight","autoFilterRef","tableRef","getFormula","totalsRow","_assign","displyName","showFirstColumn","showLastColumn","showRowStripes","showColumnStripes","company","created","keywords","manager","calcProperties","_worksheets","subject","media","_definedNames","nextId","trace","tabColor","argb","indexed","orderNo","worksheets","_themes","_xlsx","_csv","lastModifiedBy","lastPrinted","sheets","language","revision","contentStatus","themes","defineProperties","_merges","_workbook","defaultRowHeight","dyDescent","pageSetup","horizontalDpi","verticalDpi","fitToPage","fitToWidth","fitToHeight","pageOrder","blackAndWhite","draft","cellComments","paperSize","showRowColHeaders","showGridLines","firstPageNumber","horizontalCentered","verticalCentered","colBreaks","headerFooter","differentFirst","differentOddEven","oddHeader","oddFooter","evenHeader","evenFooter","firstHeader","firstFooter","autoFilter","_media","sheetProtection","tables","conditionalFormattings","removeWorksheetEx","_nextRow","_setStyleOption","findRow","_copyStyle","getRows","hasValues","getAddress","_mergeCellsInternal","intersects","unmerge","_unMergeMaster","spinCount","algorithmName","saltValue","hashValue","convertPasswordToHash","mergeCells","mergeCellsWithoutStyle","_headerRowCount","cellCount","_lastRowNumber","toModel","merges","_parseRows","_parseMergeCells","Workbook","bufferToString","stringToBuffer","getCellAt","findSheet","findSheetRow","findRowCell","_l2nFill","_l2n","_n2l","_level","_fill","createHash","getHashes","wrapped","_invoke","throw","SaxesParser","PassThrough","saxes","_encoding","toBuffer","_buffer","_buf","iRead","iWrite","bufSize","buffers","batch","corked","inPos","outPos","pipes","paused","inherits","Duplex","_getWritableBuffer","_pipe","_writeToBuffers","nop","nextTick","cork","_flush","uncork","eod","setEncoding","pause","isPaused","unpipe","_inPos","_grow","capacity","keyBy","strcmp","promiseImmediate","setImmediate","super_","dateToExcel","excelToDate","parsePath","getRelsPath","xmlEncode","xmlDecode","validInt","isDateFmt","access","constants","F_OK","toIsoDateString","toIsoString","subsstr","timers","_xml","_stack","_rollbacks","tos","leaf","openNode","writeText","closeNode","closeAll","StdDocAttributes","sham","Proxy","ReferenceError","compression","zip","stream","file","generateAsync","EventEmitter","ZipWriter","jszip","Image","CoreProperties","ExtenderProperties","Comments","VmlDrawing","Table","xform","parseOpen","parseText","parseClose","toXml","toAttribute","localSheetId","_parsedName","_parsedLocalSheetId","_parsedText","leafNode","rId","calcId","fullCalcOnLoad","date1904","defaultThemeVersion","filterPrivacy","xWindow","yWindow","firstSheet","activeTab","fileVersion","STATIC_XFORMS","workbookPr","bookViews","childXform","calcPr","printArea","printTitlesRow","printTitlesColumn","openXml","WORKBOOK_ATTRIBUTES","workbookRels","Id","worksheetHash","Target","xmlns","appName","lastEdited","lowestEdited","rupBuild","richTextXform","_richTextXform","authorId","COMMENTS_ATTRIBUTES","comments","anchor","getAnchorRect","getDefaultRect","refAddress","ObjectType","normalizeModel","DRAWING_ATTRIBUTES","coordsize","joinstyle","gradientshapeok","anchors","reconcile","V_SHAPE_ATTRIBUTES","color2","obscured","fillcolor","strokecolor","conversionUnit","reverseConversionUnit","createNewModel","onParserClose","baseType","Company","Manager","HeadingPairs","TitleOfParts","PROPERTY_ATTRIBUTES","DateFormat","DateAttrs","Extension","ContentType","PartName","sharedStrings","drawings","commentRefs","commentName","CORE_PROPERTY_ATTRIBUTES","Relationship","RELATIONSHIPS_ATTRIBUTES","rels","mediaIndex","cstate","noChangeAspect","zero","anchorType","prepare","uri","addAttribute","cx","picture","reconcilePicture","mergeModel","prst","$count","maxItems","richTextXForm","addStyleModel","styleId","ssId","siFormulae","formulae","expandToAddress","renderFormula","getStyleModel","getString","hyperlinkMap","commentsMap","iconSet","iconId","toIntValue","v4","databarXform","iconSetXform","isExt","x14Id","renderDataBar","renderIconSet","priority","uuid","fExtXform","sqRef","cfRule","cfXform","hasExtContent","cfvoXform","borderColorXform","negativeBorderColorXform","negativeFillColorXform","axisColorXform","gradient","minLength","toIntAttribute","toBoolAttribute","negativeBarColorSameAsPositive","negativeBarBorderColorSameAsPositive","axisPosition","cfvo","negativeBorderColor","negativeFillColor","axisColor","toBoolValue","toStringValue","cfIconXform","toStringAttribute","showValue","icons","dataBar","extLst","extLstRefXform","formulaXform","colorScale","colorScaleXform","renderExpression","renderCellIs","renderTop10","renderAboveAverage","renderColorScale","renderTimePeriod","dxfId","operator","percent","rank","aboveAverage","timePeriod","toFloatValue","colorXform","sqref","addDxfStyle","getDxfStyle","idXform","bestFit","dataValidation","marked","allowBlank","showInputMessage","promptTitle","prompt","showErrorMessage","errorStyle","errorTitle","_dataValidation","_formula","forEachAddress","addRollback","commit","rollback","summaryBelow","summaryRight","useFirstPageNumber","usePrinterDefaults","copies","headings","gridLines","numRowsSeen","spans","ht","defaultColWidth","customHeight","pageSetUpPr","outlinePr","outlineProperties","selectLockedCells","selectUnlockedCells","formatCells","formatColumns","formatRows","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","pivotTables","scenarios","frozen","frozenSplit","workbookViewId","rightToLeft","tabSelected","showRuler","zoomScale","zoomScaleNormal","xSplit","ySplit","topLeftCell","activePane","pane","activeCell","sheetView","selections","topLeft","R","I","N","D","B","maxRows","maxCols","sheetPr","sheetViews","sheetFormatPr","sheetData","pageMargins","printOptions","drawing","tableParts","conditionalFormatting","Type","TargetMode","vmlDrawing","image","drawingsCount","preImageId","WORKSHEET_ATTRIBUTES","relationships","vmlDrawings","addAttributes","writeXml","sb","eb","fontXform","textXform","_textXform","_fontXform","FONT_OPTIONS","fontNameTag","rPh","rich","addRichText","addText","sharedStringXform","uniqueCount","_sharedStringXform","_text","horizontalValues","verticalValues","wrapText","shrinkToFit","textRotation","indent","readingOrder","defaultColor","validStyleValues","diagonal","diagonalUp","diagonalDown","tint","fgColor","bgColor","patternType","degree","stops","patternFill","gradientFill","validPatternValues","StopXform","PatternFillXform","GradientFillXform","OPTIONS","charset","condense","family","outline","vertAlign","scheme","shadow","strike","sz","formatCode","numFmtId","getDefaultFmtId","getDefaultFmtCode","xfId","fontId","fillId","borderId","numFmts","fonts","fills","borders","cellStyleXfs","cellXfs","dxfs","cellStyles","tableStyles","numFmtNextId","initIndex","_addBorder","_addStyle","_addFill","weakMap","STYLESHEET_ATTRIBUTES","_addFont","_addNumFmtStr","builtinId","defaultTableStyle","defaultPivotStyle","defaultSlicerStyle","defaultTimelineStyle","autodrain","dateStyleId","_dateStyleId","Mock","Attributes","single","double","singleAccounting","doubleAccounting","filterColumn","colId","hiddenButton","tableColumns","tableStyleInfo","TABLE_ATTRIBUTES","totalsRowCount","totalsRowShown","headerRowCount","readFile","U","V","K","Y","G","J","parseStream","drawingRels","worksheetRels","sheetNo","globalRels","sheetDefs","loadAsync","files","writableObjectMode","readableObjectMode","t4","parseRels","parseWorkbook","_processWorksheetEntry","_processWorksheetRelsEntry","_processThemeEntry","_processMediaEntry","_processDrawingEntry","_processCommentEntry","_processTableEntry","_processDrawingRelsEntry","_processVmlDrawingEntry","filename","theme1","RelType","useSharedStrings","useStyles","prepareModel","addContentTypes","addOfficeRels","addWorkbookRels","addWorksheets","addSharedStrings","addDrawings","addTables","addThemes","addStyles","addMedia","addApp","addCore","addWorkbook","CsvFormatterStream","objectMode","hasWrittenBOM","rowFormatter","RowFormatter","writeBOM","rowTransform","BOM","Transform","FormatterOptions","rowDelimiter","quote","quoteColumns","quoteHeaders","includeEndRowDelimiter","alwaysWriteHeaders","shouldWriteHeaders","writeHeaders","escapedQuote","FieldFormatter","_headers","REPLACE_REGEXP","ESCAPE_REGEXP","quoteField","shouldQuote","fieldFormatter","hasWrittenHeaders","isHashArray","isSyncTransform","callTransformer","checkHeaders","shouldFormatColumns","gatherColumns","gatherHeaders","_rowTransform","createTransform","writeToPath","writeToString","writeToBuffer","writeToStream","promisify","Writable","util","CsvParserStream","parsedRowCount","parsedLineCount","endEmitted","headersEmitted","Parser","headerTransformer","HeaderTransformer","decoder","StringDecoder","rowTransformerValidator","RowTransformerValidator","rowValidator","hasHitRowLimit","processRows","checkAndEmitHeaders","shouldSkipLine","transformRow","pushRow","shouldEmitRows","transformAndValidate","skipRow","limitRows","skipRows","skipLines","string_decoder","ParserOptions","ignoreEmpty","escapeChar","supportsComments","ltrim","rtrim","renameHeaders","strictColumnHandling","discardUnmappedColumns","carriageReturn","escapedDelimiter","NEXT_TOKEN_REGEXP","parseString","parseFile","Readable","rowParser","RowParser","Scanner","removeBOM","hasMoreData","parseWithComments","parseWithoutComments","parseRow","nextCharacterToken","Token","isTokenComment","advancePastLine","lineFromCursor","hasMoreCharacters","truncateToCursor","nextNonSpaceToken","isTokenRowDelimiter","isTokenCarriageReturn","isTokenDelimiter","columnParser","ColumnParser","getStartToken","advancePastToken","shouldSkipColumnParse","lineLength","startCursor","endCursor","ColumnFormatter","trimLeft","trimRight","quotedColumnParser","QuotedColumnParser","nonQuotedColumnParser","NonQuotedColumnParser","isTokenQuote","advanceToToken","columnFormatter","isTokenEscapeCharacter","gatherDataBetweenQuotes","foundClosingQuote","advanceTo","checkForMalformedColumn","receivedHeaders","shouldUseFirstRow","processedFirstRow","headersLength","setHeaders","headersTransform","shouldMapRow","processRow","mapHeaders","_rowValidator","isSyncValidate","callValidator","bignum","define","decoders","encoders","_createNamed","_initNamed","_getDecoder","_getEncoder","Reporter","isEncoderBuffer","DecoderBuffer","isDecoderBuffer","restore","reporter","_reporterState","EncoderBuffer","_baseState","reverseArgs","choice","optional","any","useDecoder","explicit","implicit","_useArgs","def","_decode","wrapResult","enterKey","_peekTag","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","_createEncoderBuffer","_encode","_encodeValue","_skipDefault","_encodeChoice","_encodePrimitive","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","rethrow","pathLen","partial","captureStackTrace","tagClass","tagClassByName","tagByName","_reverse","der","tree","cls","primitive","tagStr","_skipUntilEnd","unused","pem","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","defaultBuffer","isBN","negative","BN","wordSize","cmp","_initNumber","_initArray","_parseHex","_parseBase","strip","imuln","_iaddn","_expand","_normSign","isZero","modn","idivn","toArrayLike","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","uxor","setn","iadd","isub","rt","nt","ot","st","ut","ct","ft","dt","yt","imul","bt","vt","gt","wt","_t","kt","xt","St","Ot","jt","Et","Rt","Tt","Ct","Pt","Mt","It","mulp","mulTo","makeRBT","revBin","permute","cos","PI","guessLen13b","conjugate","normalize13b","convert13b","mulf","muln","sqr","isqr","iushln","ishln","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","divmod","divn","umod","divRound","egcd","isEven","isOdd","gcd","_invmp","cmpn","invm","bincn","ucmp","gtn","gten","gte","ltn","lten","lte","eqn","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","k256","p224","p192","p25519","_tmp","_prime","prime","r2","imod","rinv","minv","ireduce","imulK","_strip","mont","for","modrn","_toArrayLikeLE","_toArrayLikeBE","rand","Rand","_rand","getBytes","getByte","SUB_MIX","INV_SUB_MIX","_reset","encryptBlockRaw","scrub","_ghash","_finID","_prev","_secCache","_decrypt","_alen","_authTag","_called","_final","final","getAuthTag","setAuthTag","setAAD","createCipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","_last","_autopadding","setAutoPadding","evp_bytestokey","ghash","_multiply","ECB","CFB","CFB8","CFB1","OFB","CTR","GCM","aes128","aes192","aes256","instantiate","EDE","DES","_des","des","des3","blinder","modulus","publicExponent","unblinder","prime1","prime2","exponent1","exponent2","getr","randombytes","dup","sha224WithRSAEncryption","sha256WithRSAEncryption","sha384WithRSAEncryption","sha512WithRSAEncryption","sha256","sha224","sha384","sha512","DSA","ripemd160WithRSA","md5WithRSAEncryption","_hashType","_tag","_signType","_write","verify","Sign","Verify","createSign","createVerify","ec","curve","keyFromPrivate","toDER","priv_key","makeKey","elliptic","subjectPrivateKey","pub_key","signature","SlowBuffer","toPrimitive","INSPECT_MAX_BYTES","copyWithin","hashMode","_finalOrDigest","__final","_decoder","_toString","_transform","ACCESSORS","callee","IteratorPrototype","BUGGY_SAFARI_ITERATORS","forced","versions","v8","stat","noTargetGet","inspectSource","enforce","getterFor","NATIVE","POLYFILL","stopped","WebKitMutationObserver","exit","characterData","ActiveXObject","parentWindow","contentWindow","unsafe","copyright","clearImmediate","MessageChannel","Dispatch","postMessage","port2","port1","onmessage","importScripts","withoutSetter","kind","Arguments","dispatchEvent","PromiseRejectionEvent","finally","notified","reactions","rejection","fetch","race","fromCodePoint","QObject","findChild","keyFor","useSetter","useSimple","isNullOrUndefined","isSymbol","isRegExp","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","p256","secp256r1","secp192r1","p384","p521","generateKeys","genKeyPair","getPublicKey","computeSecret","keyFromPublic","getPublic","getPrivate","getX","getPrivateKey","setPublicKey","_importPublic","setPrivateKey","_importPrivate","ripemd160","_alg","_ipad","_opad","rng","pseudoRandomBytes","prng","Hash","createHmac","Hmac","pbkdf2","pbkdf2Sync","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","randomFill","randomFillSync","createCredentials","DH_CHECK_P_NOT_SAFE_PRIME","DH_CHECK_P_NOT_PRIME","DH_UNABLE_TO_CHECK_GENERATOR","DH_NOT_SUITABLE_GENERATOR","NPN_ENABLED","ALPN_ENABLED","RSA_PKCS1_PADDING","RSA_SSLV23_PADDING","RSA_NO_PADDING","RSA_PKCS1_OAEP_PADDING","RSA_X931_PADDING","RSA_PKCS1_PSS_PADDING","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","randomfill","utcOffset","weekdays","$L","$u","$offset","$d","$y","$M","$D","$W","$H","$m","$s","$ms","$utils","startOf","endOf","isAfter","isBefore","$g","unix","toDate","$locale","weekStart","$set","daysInMonth","subtract","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","hh","mm","ss","SSS","isDayjs","Ls","zone","afternoon","SS","Do","ordinal","ZZ","dayjs_plugin_customParseFormat","local","getUTCDay","getUTCMilliseconds","isUTC","dayjs_plugin_utc","_cbcInit","_cbcState","bufferOff","_updateDecrypt","_updateEncrypt","_flushBuffer","_finalEncrypt","_finalDecrypt","_pad","_unpad","_desState","deriveKeys","pc1","r28shl","pc2","ip","_encrypt","substitute","rip","ciphers","_edeState","padSplit","binary","hex","gen","_pub","_priv","setGenerator","__prime","_primeLen","_primeCode","simpleSieve","fermatTest","__gen","_gen","getPrime","getGenerator","modp1","modp2","modp5","modp14","modp15","modp16","modp17","modp18","curves","eddsa","brorand","getNAF","getJSF","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","redN","_maxwellTrick","precomputed","_fixedNafMul","_getDoubles","jpoint","mixedAdd","toP","_wnafMul","_getNAFPoints","wnd","dblp","_wnafMulAdd","toJ","BasePoint","decodePoint","pointFromX","encodeCompressed","getY","precompute","doubles","naf","beta","_getBeta","_hasDoubles","dbl","twisted","mOneA","extended","c2","oneC","zOne","_mulA","_mulC","pointFromY","isInfinity","fromJSON","_extDbl","_projDbl","_extAdd","_projAdd","mulAdd","jmulAdd","eqXToP","edwards","i4","a24","diffAdd","jumlAdd","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","inf","_getEndoRoots","lambda","basis","_getEndoBasis","_endoSplit","k1","_endoWnafMulAdd","_zeroDbl","_threeDbl","_dbl","trpl","PresetCurve","nh","keyPair","fromPrivate","fromPublic","pers","persEnc","entropy","hmacStrength","entropyEnc","_truncateToN","canonical","recoveryParam","recoverPubKey","getKeyRecoveryParam","priv","pub","privEnc","pubEnc","derive","_importDER","place","LN2","parseBytes","pointClass","encodingLength","keyFromSecret","hashInt","messagePrefix","encodePoint","pubBytes","makeSignature","Rencoded","intFromLE","fromSecret","encodeInt","decodeInt","isPoint","cachedProperty","_secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","zero2","_from","_inBundle","_integrity","_phantomChildren","_requested","escapedName","rawSpec","saveSpec","fetchSpec","_requiredBy","_resolved","_shasum","_spec","_where","author","bugs","bundleDependencies","dependencies","deprecated","devDependencies","brfs","coveralls","grunt","istanbul","jscs","jshint","mocha","homepage","license","repository","scripts","lint","_eventsCount","_maxListeners","defaultMaxListeners","newListener","warned","wrapFn","setMaxListeners","getMaxListeners","addListener","prependListener","once","prependOnceListener","removeAllListeners","listeners","rawListeners","listenerCount","ownKeys","_block","_blockOffset","_length","_finalized","_digest","sha","ripemd","hmac","sha1","pending","pendingTotal","outSize","padLength","endian","_delta8","_delta32","BlockHash","join32","rotl32","sum32","sum32_3","sum32_4","toHex32","split32","sum32_5","ft_1","ch32","maj32","s0_256","s1_256","g0_256","g1_256","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","_prepareBlock","rotr32","p32","htonl","zero8","predResist","outLen","minEntropy","_reseed","reseedInterval","nonceEnc","_hmac","reseed","getTypeOf","uint8array","compressedSize","uncompressedSize","crc32","compressedContent","getContentWorker","uncompressWorker","streamInfo","data_length","getCompressedWorker","withStreamInfo","createWorkerFrom","compressWorker","STORE","magic","DEFLATE","createFolders","compressionOptions","unixPermissions","dosPermissions","lie","Uint16Array","_pako","_pakoAction","_pakoOptions","meta","processChunk","_createPako","transformTo","cleanUp","onData","pako","utf8encode","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","DATA_DESCRIPTOR","bytesWritten","zipComment","zipPlatform","encodeFileName","streamFiles","accumulate","contentBuffer","dirRecords","currentSourceOffset","entriesCount","currentFile","_sources","openedSource","closedSource","CENTRAL_DIRECTORY_END","prepareNextSource","registerPrevious","generatedError","generateWorker","_compressWorker","external","decompressed","checkCRC32","optimizedBinaryString","decodeFileName","utf8decode","prepareContent","fileNameStr","fileCommentStr","_upstreamEnded","_bindStream","_stream","_helper","_read","newBufferFrom","allocBuffer","folder","generateInternalStream","mimeType","checkSupport","generateNodeStream","toNodejsStream","byteAt","lastIndexOfSignature","readAndCheckSignature","readData","checkIndex","setIndex","readInt","readString","readDate","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","destType","dataIsReady","_tickScheduled","_tickAndRepeat","isFinished","_tick","extraStreamInfo","isLocked","mergeStreamInfo","nodestream","_internalType","_outputType","_mimeType","newBlob","_worker","arraybuffer","nodebuffer","blob","Blob","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","getBlob","leftOver","applyFromCharCode","Utf8DecodeWorker","Utf8EncodeWorker","stringifyByChunk","stringifyByChar","applyCanBeUsed","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","FileReader","onload","readAsArrayBuffer","checkSignature","reader","isSignature","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","zip64ExtensibleData","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","processAttributes","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","isEncrypted","bitFlag","useUTF8","fileNameLength","compressionMethod","versionMadeBy","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","fileComment","extraFields","findExtraFieldUnicodePath","findExtraFieldUnicodeComment","_dataBinary","internalStream","_decompressWorker","nodeStream","outcome","callFulfilled","otherCallFulfilled","callRejected","otherCallRejected","binding","isTypedArray","IE_PROTO","Nt","__data__","Ht","Ut","zt","Yt","Vt","$t","Xt","Zt","qt","Gt","Wt","Kt","Lt","Dt","Bt","Ft","Cache","_randbelow","_randrange","getDivisor","chunkSize","windowBits","memLevel","gzip","ended","chunks","strm","avail_out","deflateInit2","deflateSetHeader","dictionary","string2buf","deflateSetDictionary","_dict_set","next_in","avail_in","Buf8","next_out","deflate","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","Deflate","deflateRaw","inflateInit2","Z_OK","inflateGetHeader","inflateSetDictionary","Z_FINISH","Z_NO_FLUSH","binstring2buf","inflate","Z_NEED_DICT","Z_BUF_ERROR","Z_STREAM_END","Z_SYNC_FLUSH","utf8border","buf2string","arraySet","inflateEnd","Inflate","inflateRaw","ungzip","setTyped","Buf16","Buf32","Z_PARTIAL_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","pending_buf","pending_out","total_out","_tr_flush_block","block_start","strstart","max_chain_length","prev_length","nice_match","w_size","w_mask","good_match","lookahead","match_start","window_size","hash_size","adler","total_in","ins_h","hash_shift","hash_mask","match_length","_tr_tally","max_lazy_match","last_lit","prev_match","match_available","good_length","max_lazy","nice_length","max_chain","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","bi_buf","bi_valid","data_type","_tr_init","deflateInit","deflateReset","deflateResetKeep","hcrc","_tr_align","_tr_stored_block","deflateInfo","xflags","extra_len","dmax","wsize","whave","wnext","hold","bits","lencode","distcode","lenbits","distbits","sane","havedict","total","wbits","ncode","nlen","ndist","have","work","lendyn","distdyn","back","was","inflateReset","inflateReset2","inflateResetKeep","inflateInit","inflateInfo","static_tree","extra_bits","extra_base","elems","max_length","has_stree","dyn_tree","max_code","stat_desc","certificate","seq","int","RSAPrivateKey","RSAPublicKey","bitstr","PublicKey","objid","null_","octstr","PrivateKey","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","namedCurve","utcTime","utctime","generalTime","gentime","setof","seqof","rdnSequence","passphrase","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kdeparams","iters","deriveBits","md5","rmd160","ipad1","ipad2","opad","alg","blocksize","run","fun","env","argv","cwd","chdir","umask","codes","allowHalfOpen","readable","_writableState","highWaterMark","getBuffer","_readableState","destroyed","ReadableState","debuglog","getHighWaterMark","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","pipesCount","flowing","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","_destroy","consume","_undestroy","undestroy","stdout","stderr","hasUnpiped","needDrain","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","_transformState","transforming","writecb","writechunk","afterTransform","needTransform","writeencoding","pendingcb","corkedRequestsFree","WritableState","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","finalCalled","ending","decodeStrings","writing","bufferProcessing","onwrite","writelen","errorEmitted","bufferedRequest","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","isBuf","allBuffers","chunk","hasInstance","setDefaultEncoding","tail","_getString","_getBuffer","customInspect","ERR_STREAM_PREMATURE_CLOSE","req","setHeader","ERR_MISSING_ARGS","ERR_INVALID_OPT_VALUE","Stream","pipeline","delegate","_sent","dispatchException","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","isGeneratorFunction","awrap","AsyncIterator","rval","delegateYield","regeneratorRuntime","kStringMaxLength","MAX_LENGTH","MAX_STRING_LENGTH","isS","isChar","isNameStartChar","isNameChar","S_LIST","NAME_RE","isNCNameStartChar","isNCNameChar","NC_NAME_RE","amp","quot","apos","EVENTS","xmldecl","processinginstruction","doctype","opentagstart","opentag","closetag","cdata","fragmentOpt","fragment","xmlnsOpt","trackPosition","nameStartCheck","nameCheck","isName","processAttribs","processAttribsNS","pushAttrib","pushAttribNS","additionalNamespaces","processAttribsPlain","pushAttribPlain","stateTable","sBegin","sBeginWhitespace","sDoctype","sDoctypeQuote","sDTD","sDTDQuoted","sDTDOpenWaka","sDTDOpenWakaBang","sDTDComment","sDTDCommentEnding","sDTDCommentEnded","sDTDPI","sDTDPIEnding","sText","sEntity","sOpenWaka","sOpenWakaBang","sComment","sCommentEnding","sCommentEnded","sCData","sCDataEnding","sCDataEnding2","sPIFirstChar","sPIRest","sPIBody","sPIEnding","sXMLDeclNameStart","sXMLDeclName","sXMLDeclEq","sXMLDeclValueStart","sXMLDeclValue","sXMLDeclSeparator","sXMLDeclEnding","sOpenTag","sOpenTagSlash","sAttrib","sAttribName","sAttribNameSawWhite","sAttribValue","sAttribValueQuoted","sAttribValueClosed","sAttribValueUnquoted","sCloseTag","sCloseTagSawWhite","openWakaBang","piTarget","topNS","chunkPosition","prevI","carriedFromPrevious","forbiddenState","attribList","reportedTextBeforeRoot","reportedTextAfterRoot","closedRoot","sawRoot","xmlDeclPossible","xmlDeclExpects","entityReturnState","defaultXMLVersion","forceXMLVersion","setXMLVersion","positionAtNewLine","_closed","xmlDecl","ENTITIES","readyHandler","closed","getCode","getCodeNorm","currentXMLVersion","getCode10","getCode11","skipSpaces","unget","captureTo","doctypeHandler","captureToChar","handleTextInRoot","handleTextOutsideRoot","parseEntity","textHandler","commentHandler","cdataHandler","piHandler","xmldeclHandler","captureNameChars","openTagStartHandler","openTag","openSelfClosingTag","closeTag","qname","attributeHandler","endHandler","resolvePrefix","isSelfClosing","openTagHandler","closeTagHandler","_finalSize","_w","_f","_g","_h","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","_isStdio","readableHighWaterMark","isarray","writableHighWaterMark","fillLast","lastNeed","lastTotal","lastChar","_clearFn","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","noDeprecation","throwDeprecation","traceDeprecation","seen","stylize","showHidden","_extend","NODE_DEBUG","pid","italic","underline","inverse","cyan","magenta","yellow","null","clockseq","msecs","nsecs","DNS","URL","CHAR","NAME_START_CHAR","NAME_CHAR","CHAR_RE","S_RE","NAME_START_CHAR_RE","NAME_CHAR_RE","NMTOKEN_RE","RESTRICTED_CHAR","RESTRICTED_CHAR_RE","isRestrictedChar","isCharAndNotRestricted","NC_NAME_START_CHAR","NC_NAME_CHAR","NC_NAME_START_CHAR_RE","NC_NAME_CHAR_RE","autoBom","MouseEvent","initMouseEvent","saveAs","HTMLAnchorElement","webkitURL","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","innerText","readAsDataURL","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","caller","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","isLE","mLen","eLen","eMax","eBias","nBits","isNullOrUndef","componentHooks","onComponentDidMount","onComponentDidUpdate","onComponentShouldUpdate","onComponentWillMount","onComponentWillUnmount","onComponentWillUpdate","_children","arguments$1","childLen","prop$1","getFlagsForElementVnode","isStringOrNumber","combineFrom","key$1","isLinkEventObject","normalizeEventName","insertOrAppend","newNode","callAll","arrayFn","findChildVNode","startEdge","removeVNodeDOM","moveVNodeDOM","createDerivedState","renderCheck","componentComparator","renderComplete","setTextContent","isLastValueSameLinkEvent","lastValue","nextValue","mergeUnsetProperties","safeCall1","arg1","keyPrefix","childFlag","normalizeChildren","resolveComponentFlags","mergeDefaultProps","defaultHooks","mergeDefaultHooks","createTextVNode","createVoidVNode","directClone","vNodeToClone","propsToClone","oldChildren","cloneFragment","_normalizeVNodes","newKey","isPrefixedKey","newChildren","newChildFlags","needsCloning","isNullKey","isPrefixed","normalizeRoot","xlinkNS","xmlNS","getDelegatedEventObject","onDblClick","onKeyPress","onMouseDown","onMouseMove","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","attachedEventCounts","attachedEvents","syntheticEvents","updateOrAddSyntheticEvent","eventsObject","$EV","attachedEvent","dispatchEvents","extendEventProperties","rootClickEvent","rootEvent","attachEventToDocument","unmountSyntheticEvent","getTargetNode","currentEvent","cancelBubble","immediatePropagationStopped","triggerEventListener","nativeListenerName","createWrappedFunction","applyValue","fnMethod","newVNode","attachEvent","previousKey","previousArgs","isCheckedType","onTextInputChange","applyValueInput","wrappedOnChange","emptywrapper","nextPropsOrEmpty","multiple","updateChildOptions","updateChildOption","onSelectChange","applyValueSelect","mounting","multiplePropInBoolean","onTextareaInputChange","applyValueTextArea","wrappedOnChange$1","domValue","processElement","addFormElementEventHandlers","inputEvents","selectEvents","textAreaEvents","isControlledFormElement","unmountRef","mountRef","unmount","unmountAllChildren","$UN","clearDOM","removeAllChildren","patchDangerInnerHTML","lastVNode","lastHtml","nextHtml","patchProp","hasControlledValue","autofocus","lastAttrValue","nextAttrValue","domStyle","patchStyle","lastEvent","nextEvent","handleSyntheticEvent","ev","wrapLinkEvent","patchEvent","setAttributeNS","mountProps","isFormElement","renderNewInput","nextInput","childContext","getChildContext","createClassComponentInstance","usesNewAPI","$N","getSnapshotBeforeUpdate","$SVG","$BS","componentWillMount","$BR","$PS","mount","mountElement","mountClassComponentCallbacks","mountClassComponent","mountFunctionalComponent","mountFunctionalComponentCallbacks","mountText","mountArrayChildren","mountFragment","placeHolderVNode","mountPortal","documentCreateElement","childrenIsSVG","createClassMountCallback","createOnMountCallback","patch","nextVNode","nextFlags","newDom","lastDom","replaceWithNewNode","lastProps","lastPropsOrEmpty","nextChildren","nextClassName","patchContentEditableChildren","patchChildren","nextRef","lastRef","patchElement","componentWillReceiveProps","updateClassComponent","patchClassComponent","nextHooksDefined","lastInput","patchFunctionalComponent","patchText","lastChildren","lastChildFlags","nextChildFlags","nextIsSingle","lastLen","patchFragment","lastContainer","nextContainer","patchPortal","replaceOneVNodeWithMultipleVNodes","patchSingleTextChild","lastLength","nextLength","aLength","bLength","outerEdge","nextPos","aEnd","bEnd","aNode","bNode","aStart","bStart","aLeft","bLeft","sources","canRemoveWholeContent","moved","patched","arrI","maxLen","lis_algorithm","patchKeyedChildrenComplex","patchKeyedChildren","lastChildrenLength","nextChildrenLength","nextChild","commonLength","patchNonKeyedChildren","lastState","hasSCU","shouldComponentUpdate","componentWillUpdate","snapshot","createDidUpdate","rootInput","__render","QUEUE","microTaskPending","queueStateChanges","stateKey","$F","rerender","QU","$QU","callSetStateCallbacks","pendingState","_nextContext","OldCookies","Cookies","api","noConflict","converter","stringifiedAttributes","attributeName","jar","getJSON","withConverter","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","setCacheAdd","setCacheHas","SetCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","predicate","resIndex","baseTimes","isArguments","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","initAccum","reAsciiWord","baseAssignValue","objValue","objectCreate","baseCreate","baseFor","createBaseFor","castPath","toKey","arrayPush","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","isPrototype","nativeKeys","nativeKeysIn","isProto","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","assignMergeValue","baseMergeDeep","keysIn","safeGet","baseMerge","srcIndex","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","stacked","isCommon","isTyped","baseGet","baseSet","overRest","setToString","nested","baseSetToString","arrayMap","symbolProto","symbolToString","baseToString","stringToPath","arrayBuffer","freeExports","freeModule","isDeep","cloneArrayBuffer","isNew","coreJsData","baseRest","isIterateeCall","assigner","guard","fromRight","iterable","arrayReduce","deburr","reApos","deburrLetter","basePropertyOf","arraySome","cacheHas","isPartial","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","mapToArray","setToArray","symbolValueOf","convert","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","freeGlobal","baseGetAllKeys","getSymbols","getSymbolsIn","isKeyable","baseIsNative","getPrototype","overArg","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","nativeGetSymbols","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","hasFunc","reHasUnicodeWord","nativeCreate","reIsUint","isArrayLike","reIsDeepProp","reIsPlainProp","maskSrcKey","uid","assocIndexOf","getMapData","freeProcess","nodeUtil","nativeMax","otherArgs","freeSelf","shortOut","nativeNow","lastCalled","stamp","LARGE_ARRAY_SIZE","memoizeCapped","rePropName","reEscapeChar","subString","rsAstralRange","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsModifier","rsOptVar","rsSeq","rsEmoji","reUnicodeWord","reLatin","reComboMark","baseHasIn","hasPath","baseIsArguments","stubFalse","objectCtorString","baseIsTypedArray","baseUnary","nodeIsTypedArray","createCompounder","word","arrayLikeKeys","baseKeys","baseKeysIn","resolver","memoized","createAssigner","baseIteratee","basePickBy","getAllKeysIn","baseProperty","basePropertyDeep","copyObject","asciiWords","hasUnicodeWord","unicodeWords","remainder","h1b","c1","pathToRegexp","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","escaped","capture","modifier","escapeGroup","encodeURIComponentPretty","segment","attachKeys","sensitive","route","endsWithDelimiter","regexpToRegexp","arrayToRegexp","stringToRegexp","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","getShim","ReactPropTypes","bigint","arrayOf","instanceOf","objectOf","exact","checkPropTypes","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","cb","argsNum","isLastArgCb","getContext","toCanvas","toDataURL","renderToDataURL","getSymbolSize","getRowColCoords","posCount","getPositions","coords","posLength","Mode","ALPHA_NUM_CHARS","AlphanumericData","ALPHANUMERIC","getBitsLength","getLength","bitBuffer","put","BitBuffer","bufIndex","putBit","getLengthInBits","bit","BitMatrix","reservedBit","reserved","isReserved","encodeUtf8","ByteData","BYTE","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","getTotalCodewordsCount","Utils","G15_BCH","getBCHDigit","getEncodedBits","EXP_TABLE","LOG_TABLE","exp","KanjiData","KANJI","toSJIS","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","getPenaltyN1","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","applyMask","getBestMask","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","VersionCheck","Regex","NUMERIC","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","NumericData","remainingNum","GF","divident","divisor","generateECPolynomial","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","setupFormatInfo","createData","segments","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","ecTotalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","setupData","toSJISFunc","setToSJISFunction","Polynomial","genPoly","initialize","paddedData","buff","kanji","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","getStringByteLength","getSegments","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","seg","segs","buildNodes","prevNodeIds","nodeGroup","currentNodeIds","prevNodeId","buildGraph","optimizedSegs","curr","prevSeg","mergeSegments","toSJISFunction","CODEWORDS_COUNT","digit","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","qrData","canvasEl","getCanvasElement","getImageWidth","ctx","createImageData","qrToImageData","clearRect","clearCanvas","putImageData","rendererOpts","quality","getColorAttrib","svgCmd","cmd","qrcodesize","moveBy","qrToPath","svgTag","hex2rgba","hexCode","hexValue","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","posDst","pxColor","qs","sep","maxKeys","kstr","vstr","stringifyPrimitive","aa","ea","la","ma","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","ra","qa","oa","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","_payload","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","ab","bb","db","fb","defaultSelected","gb","hb","ib","jb","kb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","lineClamp","qb","rb","tb","menuitem","embed","img","keygen","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","pc","qc","rc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","ed","fd","hd","Uc","jd","kd","ld","od","pd","qd","rd","_reactName","_targetInst","returnValue","persist","isPersistent","wd","xd","yd","eventPhase","bubbles","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","getModifierState","zd","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","targetTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","Zd","ae","documentMode","fe","ge","le","me","oe","pe","qe","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","addRange","setEnd","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","$e","bf","cf","df","ef","gf","hf","lf","mf","nf","Ub","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","ng","og","pg","qg","rg","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","bh","ch","eventTime","lane","dh","eh","fh","gh","ih","jh","kh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","isPureReactComponent","ph","updater","qh","UNSAFE_componentWillReceiveProps","rh","UNSAFE_componentWillMount","sh","_stringRef","uh","vh","wh","yh","implementation","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","ji","getSnapshot","li","ni","lastEffect","stores","oi","pi","qi","ri","deps","ui","wi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","onCommitFiberUnmount","bk","ck","dk","ek","fk","gk","hk","ik","jk","lk","__reactInternalSnapshotBeforeUpdate","Wk","nk","pk","qk","rk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","hl","zj","$k","ll","reportError","_internalRoot","ol","ql","rl","unstable_scheduleHydration","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_encUtf","_aes","_fingerprint","_defineProperties","EncryptionService","Constructor","secureKey","protoProps","staticProps","getHashKey","Cypress","SECURE_LOCAL_STORAGE_HASH_KEY","getStoragePrefix","SECURE_LOCAL_STORAGE_PREFIX","NEXT_PUBLIC_SECURE_LOCAL_STORAGE_PREFIX","VITE_SECURE_LOCAL_STORAGE_PREFIX","getDisabledKeys","SECURE_LOCAL_STORAGE_DISABLED_KEYS","NEXT_PUBLIC_SECURE_LOCAL_STORAGE_DISABLED_KEYS","VITE_SECURE_LOCAL_STORAGE_DISABLED_KEYS","_envHelper","HASH_KEY_CUSTOM","getFingerprint","_murmurhash3_gc","ClientJS","bar","disabledKeys","FINGERPRINT_KEYS","USERAGENT","HOSTNAME","SCREEN_PRINT","getScreenPrint","PLUGINS","getPlugins","FONTS","getFonts","LOCAL_STORAGE","isLocalStorage","SESSION_STORAGE","isSessionStorage","TIMEZONE","getTimeZone","LANGUAGE","getLanguage","SYSTEM_LANGUAGE","getSystemLanguage","COOKIE","isCookie","CANVAS","getCanvasPrint","getColorDepth","getDeviceXDPI","getDeviceYDPI","colorDepth","availWidth","availHeight","pluginsList","plugins","cookieEnabled","rightNow","myNumber","txt","textBaseline","fillStyle","fillRect","fillText","_encryption","_localStorageHelpers","_typeof","KEY_PREFIX","getSecurePrefix","getLocalKey","keyType","getDataType","SecureLocalStorage","_localStorageItems","parsedKeyLocal","parsedKey","_arrayWithHoles","_s","_n","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","localStorageItems","_Object$entries","_Object$entries$_i","decryptedValue","DISABLED_KEYS","allOptions","__self","__source","jsxs","_status","_result","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","isValidElement","lazy","memo","startTransition","unstable_act","performance","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","deepExtend","copyIsArray","nextPath","ChangeCase","cloneDeep","cpObj","caseFunction","default_options","matchFn","inputObj","testObj","DEFAULT_OPTIONS","forIn","accumulator_init","caseToChange","pull","removeList","removeSet","matchObj","cloneObj","flattenProperties","to_ret","opening_character","closing_character","createRegex","usesReference","regexOrOptions","hasReference","credentials","punycode","maxInt","tMin","tMax","skew","damp","initialBias","initialN","regexPunycode","regexNonASCII","regexSeparators","baseMinusTMin","stringFromCharCode","mapDomain","ucs2decode","ucs2encode","digitToBasic","adapt","numPoints","firstTime","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","Url","slashes","urlParse","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","toASCII","esc","qm","relative","resolveObject","tkeys","tkey","rkeys","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","isAbsolute","inst","useSyncExternalStoreWithSelector","v1","byteToHex","bth","rnds8","rnds","_nodeId","_clockseq","bytesToUuid","_lastMSecs","_lastNSecs","seedBytes","tmh","__spreadArray","pack","_tslib","defaultWaitForOptions","actorRef","rej","emitted","Observable","hasSymbols","hasSymbol","getSymbol","observable","SymbolIterator","SymbolObservable","SymbolSpecies","getSpecies","isObservable","hostReportError","enqueue","cleanupSubscription","subscription","closeSubscription","notifySubscription","onNotify","flushSubscription","Subscription","subscriber","subscriptionObserver","SubscriptionObserver","_subscription","_subscriber","hasSeed","startNext","completeIfDone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_item","arrayLikeToArray","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","PromiseImpl","invoke","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","pushTryEntry","locs","resetTryEntry","iteratorMethod","genFun","skipTempReset","rootRecord","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","Derived","hasNativeReflectConstruct","Super","NewTarget","assertThisInitialized","subClass","superClass","_isNativeReflectConstruct","excluded","sourceKeys","_setPrototypeOf","_x","_r","_toPropertyKey","prim","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","leafPrototypes","chunkId","miniCssF","dataWebpackPrefix","needAttach","nc","onScriptComplete","doneFns","nmd","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","enumerableOnly","symbols","sym","_objectSpread2","asyncGeneratorStep","_throw","_asyncToGenerator","_inheritsLoose","spliceOne","toParts","fromParts","isToAbs","isFromAbs","isProduction","invariant","provided","addLeadingSlash","stripLeadingSlash","stripBasename","hasBasename","stripTrailingSlash","createPath","createLocation","hashIndex","searchIndex","URIError","resolvePathname","createTransitionManager","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","canUseDOM","getConfirmation","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","fromLocation","toLocation","go","revertPop","initialLocation","createHref","checkDOMListeners","isBlocked","pushState","nextKeys","replaceState","goBack","goForward","unblock","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","locationsAreEqual$$1","allPaths","pushHashPath","nextPaths","lowerBound","upperBound","MAX_SIGNED_31_BIT_INT","commonjsGlobal","calculateChangedBits","contextProp","getUniqueId","_React$Component","changedBits","createEventEmitter","objectIs","_Provider$childContex","_React$Component2","observedBits","onUpdate","onlyChild","_Consumer$contextType","createNamedContext","historyContext","Router","_isMounted","_pendingLocation","staticContext","computeRootMatch","isExact","cache$1","cacheLimit$1","cacheCount$1","matchPath","_options$exact","_options$strict","_options$sensitive","cacheKey","pathCache","compilePath$1","_compilePath","Route","context$1","computedMatch","isEmptyChildren","createURL","staticHandler","useHistory","HashRouter","resolveToLocation","normalizeToLocation","forwardRefShim","LinkAnchor","forwardedRef","innerRef","_onClick","isModifiedEvent","Link","_ref2$component","__RouterContext","isDuplicateNavigation","forwardRefShim$1","forwardRef$1","NavLink","ariaCurrent","_ref$ariaCurrent","activeClassName","_ref$activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","escapedPath","classnames","joinClassnames","splitProps","_props$theme$unstable","systemProps","otherProps","_options$defaultClass","defaultClassName","generateClassName","BoxRoot","_extendSxProp","finalSx","inSx","_splitProps","extendSxProp","_extendSxProp$compone","createBox","getAvatarUtilityClass","AvatarRoot","colorDefault","Avatar","defaultBg","AvatarImg","objectFit","textIndent","AvatarFallback","Person","childrenProp","imgProps","srcSet","_props$variant","crossOrigin","referrerPolicy","setLoaded","srcset","useLoaded","hasImg","hasImgNotFailing","getListUtilityClass","ListRoot","disablePadding","dense","subheader","listStyle","_props$dense","_props$disablePadding","ListContext","getScrollbarSize","documentWidth","disableListWrap","nextElementSibling","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","repeating","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","MenuList","_props$autoFocus","_props$autoFocusItem","autoFocusItem","_props$disabledItemsF","_props$disableListWra","listRef","textCriteriaRef","previousKeyMatched","lastTime","adjustStyleForScrollbar","noExplicitWidth","scrollbarSize","handleRef","activeItemIndex","muiSkipListHighlight","newChildProps","lowerKey","currTime","keepFocusOnCurrent","elevation","getPaperUtilityClass","PaperRoot","square","rounded","_theme$vars$overlays","backgroundImage","getOverlayAlpha","overlays","_props$elevation","_props$square","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","initialStatus","appear","isMounting","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","prevState","updateStatus","nextStatus","cancelNextCallback","getTimeouts","nodeRef","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","useThemeSystem","reflow","getTransitionProps","_style$transitionDura","_style$transitionTimi","_props$style","entering","entered","isWebKit154","Grow","_props$appear","inProp","_props$timeout","_props$TransitionComp","TransitionComponent","timer","autoTimeout","normalizedTransitionCallback","maybeIsAppearing","handleEntering","handleEnter","isAppearing","_getTransitionProps","handleEntered","handleExiting","handleExit","_getTransitionProps2","handleExited","muiSupportAuto","_props$disablePortal","disablePortal","setMountNode","ariaHidden","getPaddingRight","ariaHiddenSiblings","elementsToExclude","isNotExcludedElement","isNotForbiddenElement","isForbiddenTagName","isInputHidden","isAriaHiddenForbiddenOnElement","findIndexOf","handleContainer","restoreStyle","disableScrollLock","isOverflowing","DocumentFragment","containerWindow","ModalManager","containers","modals","modalIndex","modalRef","hiddenSiblings","getHiddenSiblings","containerIndex","ariaHiddenState","nextTop","candidatesSelector","defaultGetTabbable","regularTabNodes","orderedTabNodes","nodeTabIndex","tabindexAttr","getTabIndex","getRadio","roving","isNonTabbableRadio","isNodeMatchingSelectorFocusable","documentOrder","defaultIsEnabled","_props$disableAutoFoc","disableAutoFocus","_props$disableEnforce","disableEnforceFocus","_props$disableRestore","disableRestoreFocus","_props$getTabbable","getTabbable","_props$isEnabled","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","rootRef","lastKeydown","contain","hasFocus","_lastKeydown$current","_lastKeydown$current2","isShiftTab","focusNext","focusPrevious","loopFocus","handleFocusSentinel","childrenPropsHandler","getModalUtilityClass","isHostComponent","omitEventHandlers","mergeSlotProps","getSlotProps","additionalProps","externalSlotProps","externalForwardedProps","joinedClasses","mergedStyle","internalRef","eventHandlers","excludeKeys","extractEventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","resolveComponentProps","useSlotProps","_parameters$additiona","resolvedComponentsProps","_mergeSlotProps","appendOwnerState","defaultContextValue","disableDefaultClasses","ClassNameConfiguratorContext","exited","backdrop","useClassNamesOverride","defaultManager","Modal","_props$ariaHidden","_slots$root","_props$closeAfterTran","closeAfterTransition","_props$disableEscapeK","disableEscapeKeyDown","_props$disableScrollL","_props$hideBackdrop","hideBackdrop","_props$keepMounted","keepMounted","_props$manager","managerProp","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","_props$slotProps","_props$slots","setExited","mountNodeRef","hasTransition","getHasTransition","ariaHiddenProp","getModal","handleMounted","handleOpen","resolvedContainer","isTopModal","handlePortalRef","handleClose","Root","rootProps","BackdropComponent","backdropProps","FocusTrap","transitionProps","getBackdropUtilityClass","BackdropRoot","invisible","WebkitTapHighlightColor","Backdrop","_slotProps$root","_props$components","_props$componentsProp","componentsProps","_props$invisible","Fade","rootSlotProps","ModalRoot","ModalBackdrop","_slots$backdrop","_slotProps$backdrop","_props$BackdropCompon","BackdropProps","commonProps","RootSlot","BackdropSlot","backdropSlotProps","ModalUnstyled","getPopoverUtilityClass","getOffsetTop","getOffsetLeft","getTransformOriginValue","transformOrigin","resolveAnchorEl","anchorEl","PopoverRoot","PopoverPaper","Paper","Popover","_props$anchorOrigin","anchorOrigin","anchorPosition","_props$anchorReferenc","anchorReference","_props$marginThreshol","marginThreshold","_props$PaperProps","PaperProps","_props$transformOrigi","_props$transitionDura","transitionDurationProp","_props$TransitionProp","TransitionProps","paperRef","handlePaperRef","getAnchorOffset","resolvedAnchorEl","anchorRect","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","heightThreshold","widthThreshold","isPositioned","setIsPositioned","setPositioningStyles","positioning","debounce","getMenuUtilityClass","RTL_ORIGIN","LTR_ORIGIN","MenuRoot","MenuPaper","WebkitOverflowScrolling","MenuMenuList","disableAutoFocusItem","_props$MenuListProps","MenuListProps","PopoverClasses","menuListActionsRef","_taggedTemplateLiteral","getChildMapping","getProp","getNextChildMapping","prevChildMapping","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","prevChild","isLeaving","TransitionGroup","contextValue","firstRender","currentChildMapping","childFactory","keyframes","insertable","_props$pulsate","pulsate","rippleX","rippleY","rippleSize","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","_t2","_t3","_t4","enterKeyframe","_templateObject","exitKeyframe","_templateObject2","pulsateKeyframe","_templateObject3","TouchRippleRoot","TouchRippleRipple","Ripple","_templateObject4","touchRippleClasses","TouchRipple","_props$center","centerProp","_props$classes","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","_options$pulsate","_options$center","_options$fakeElement","fakeElement","sizeX","sizeY","getButtonBaseUtilityClass","ButtonBaseRoot","_styled","verticalAlign","MozAppearance","WebkitAppearance","textDecoration","borderStyle","buttonBaseClasses","colorAdjust","ButtonBase","_props$centerRipple","centerRipple","_props$disabled","_props$disableRipple","disableRipple","_props$disableTouchRi","disableTouchRipple","_props$focusRipple","focusRipple","_props$LinkComponent","LinkComponent","onContextMenu","onFocusVisible","onMouseLeave","_props$tabIndex","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","_useIsFocusVisible","useIsFocusVisible","handleFocusVisible","handleBlurVisible","focusVisibleRef","setFocusVisible","_React$useState3","_React$useState4","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","keydownRef","handleKeyUp","ComponentProp","buttonProps","focusVisibleClassName","composedClasses","getDividerUtilityClass","getMenuItemUtilityClass","MenuItemRoot","disableGutters","gutters","backgroundClip","menuItemClasses","mainChannel","dividerClasses","listItemTextClasses","listItemIconClasses","_props$divider","_props$disableGutters","_props$role","tabIndexProp","menuItemRef","DividerRoot","absolute","flexItem","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","borderBottomWidth","dividerChannel","borderRightWidth","DividerWrapper","wrapperVertical","Divider","_props$absolute","_props$flexItem","_props$light","_props$orientation","_props$textAlign","getIconButtonUtilityClass","IconButtonRoot","activeChannel","iconButtonClasses","IconButton","_props$edge","_props$disableFocusRi","disableFocusRipple","_props$size","getButtonUtilityClass","commonIconStyles","ButtonRoot","colorInherit","disableElevation","fullWidth","_theme$palette$getCon","_theme$palette","inheritContainedBackgroundColor","inheritContainedHoverBackgroundColor","primaryChannel","inheritContainedHoverBg","buttonClasses","inheritContainedBg","ButtonStartIcon","startIcon","ButtonEndIcon","endIcon","contextProps","ButtonGroupContext","resolvedProps","_props$disableElevati","endIconProp","_props$fullWidth","startIconProp","Home","teal","pink","neutral","brand","tertiary","interactive","quaternary","pressed","overlay","transparent","dropzone","loader","strokeLinecap","strokeEmpty","strokeFilled","previewer","filelist","xxxs","xxs","xxl","xxxl","xxxxl","hairline","thin","normal","semibold","extrabold","long","alert","heading","authenticator","widthMax","router","orContainer","orLine","_empty","_loading","spaceShared","paddingVertical","paddingHorizontal","_disabled","destructive","loaderWrapper","card","outlined","elevated","checkbox","outlineColor","outlineStyle","outlineWidth","outlineOffset","offsetX","offsetY","blurRadius","spreadRadius","_error","_checked","_indeterminate","checkboxfield","pagination","svg","toolTip","countrycodeselect","expander","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","_open","animationTimingFunction","fieldcontrol","quiet","borderInlineStart","borderInlineEnd","borderBlockStart","borderBlockEndColor","fieldgroup","fieldmessages","fileuploader","highlightmatch","highlighted","objectPosition","inappmessaging","banner","dialog","visited","liveness","cameraModule","ellipsis","itemShared","passwordfield","phonenumberfield","startColor","endColor","radio","radiogroup","rating","filled","searchfield","iconWrapper","selectfield","sliderfield","thumb","stepperfield","storagemanager","switchfield","_focused","borderCollapse","foot","striped","captionSide","wordBreak","textareafield","textfield","togglebutton","_pressed","togglebuttongroup","borderWidths","fontSizes","fontWeights","lineHeights","opacities","outlineOffsets","outlineWidths","radii","transforms","slideX","defaultBreakpoint","_ref$path","_ref2$path","setupToken","mediaQuery","colorMode","autoColumns","autoFlow","autoRows","columnEnd","columnSpan","columnStart","grow","rowStart","templateAreas","templateColumns","templateRows","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","Alert","AlertIcon","AlertHeading","AlertBody","AlertDismiss","Autocomplete","AutocompleteMenu","AutocompleteMenuEmpty","AutocompleteMenuFooter","AutocompleteMenuHeader","AutocompleteMenuLoading","AutocompleteMenuOption","AutocompleteMenuOptions","Badge","ButtonLoaderWrapper","Card","Checkbox","CheckboxButton","CheckboxIcon","CheckboxInput","CheckboxLabel","CheckboxField","Collection","CollectionItems","CollectionSearch","CollectionPagination","CountryCodeSelect","DialCodeSelect","DividerLabel","Expander","ExpanderContent","ExpanderContentText","ExpanderHeader","ExpanderIcon","ExpanderItem","ExpanderTrigger","FieldDescription","FieldErrorMessage","FieldGroup","FieldGroupControl","FieldGroupOuterEnd","FieldGroupOuterStart","FieldGroupInnerEnd","FieldGroupInnerStart","FieldGroupIcon","FieldGroupIconButton","FieldGroupHasInnerEnd","FieldGroupHasInnerStart","FieldShowPassword","FieldGroupFieldWrapper","FileUploaderDropZone","FileUploaderDropZoneIcon","FileUploaderDropZoneText","FileUploaderDropZoneButton","FileUploaderFile","FileUploaderFileWrapper","FileUploaderFileName","FileUploaderFileSize","FileUploaderFileInfo","FileUploaderFileImage","FileUploaderFileMain","FileUploaderFileStatus","FileUploaderLoader","FileUploaderPreviewer","FileUploaderPreviewerText","FileUploaderPreviewerBody","FileUploaderPreviewerFooter","FileUploaderPreviewerFooterActions","Flex","Grid","Heading","HighlightMatch","HighlightMatchHighlighted","Input","Loader","LoaderDeterminate","LoaderPercentageText","MenuContent","MenuContentWrapper","MenuTrigger","Pagination","PaginationItemButton","PaginationItemCurrent","PaginationItemEllipsis","PasswordField","PhoneNumberField","Placeholder","Radio","RadioInput","RadioLabel","RadioGroupField","RadioGroup","Rating","SearchField","SearchFieldClear","SearchFieldSearch","SelectField","SelectWrapper","SelectIconWrapper","SliderField","SliderFieldGroup","SliderFieldLabel","SliderFieldRange","SliderFieldRoot","SliderFieldThumb","SliderFieldTrack","StepperField","StepperFieldButtonDecrease","StepperFieldButtonIncrease","StepperFieldInput","StorageManager","StorageManagerDropZone","StorageManagerDropZoneIcon","StorageManagerDropZoneText","StorageManagerFilePicker","StorageManagerFile","StorageManagerFileWrapper","StorageManagerFileList","StorageManagerFileName","StorageManagerFileSize","StorageManagerFileInfo","StorageManagerFileImage","StorageManagerFileMain","StorageManagerFileStatus","StorageManagerLoader","StorageManagerPreviewer","StorageManagerPreviewerText","SwitchField","SwitchLabel","SwitchThumb","SwitchTrack","SwitchWrapper","TableCaption","TableBody","TableTd","TableTh","TableFoot","TableHead","TableRow","TabItems","Text","Textarea","TextAreaField","TextField","ToggleButton","ToggleButtonGroup","VisuallyHidden","dismissButtonLabel","countryCodeLabel","passwordIsHidden","passwordIsShown","showPassword","matchMedia","_e$useState","_e$useState2","propKey","_p","_p$breakpoints","_e$useMemo","rowFromSpanValue","columnFromSpanValue","_ref3$props","_ref3$style","propStyles","nonStyleProps","_s$as","testId","inert","isTruncated","_o$level","isActorWithState","defaultGetSnapshot","initialStateCacheRef","actor","service","machine","initialState","initializeMachine","resendCode","signOut","submitForm","updateBlur","toFederatedSignIn","toResetPassword","toSignIn","toSignUp","skipVerification","codeDeliveryDetails","remoteError","unverifiedContactMethods","_c$totpSecretCode","totpSecretCode","socialProviders","user","hasTag","debug","authStatus","hasValidationErrors","AuthenticatorContext","USE_AUTHENTICATOR_ERROR","CognitoHostedUIIdentityProvider","AuthErrorTypes","GRAPHQL_AUTH_MODE","isFederatedSignInOptions","isCognitoHostedOpts","oauth","redirectSignIn","LOG_TYPE","LOG_LEVELS","VERBOSE","DEBUG","INFO","WARN","ConsoleLogger","_pluggables","_padding","_ts","_config","_log","logger_level_name","LOG_LEVEL","plugin","logEvent","timestamp","pushLogs","verbose","addPluggable","pluggable","getCategoryName","listPluggables","Logger","AMPLIFY_SYMBOL","HubClass","protectedChannels","_remove","channel","pattern_1","holder","ampSymbol","capsule","patternInfo","_toListeners","listenerName","onHubCapsule","isLegacyCallback","payloadStr_1","dispatchingCapsule","Hub","dataMemory","MemoryStorage","StorageHelper","storageWindow","browserOrNode","NonRetryableError","nonRetryable","isNonRetryableError","MAX_DELAY_MS","jitteredExponentialRetry","functionToRetry","maxDelayMs","onTerminate","delayFn","attempt","terminated","wakeUp","lastError","err_1","retryIn_1","retry","jitteredBackoff","waitForInit","auth2","GoogleOAuth","initialized","refreshGoogleToken","_refreshGoogleTokenImpl","getAuthInstance","googleAuth","googleUser","currentUser","isSignedIn","reloadAuthResponse","authResponse","id_token","expires_at","FacebookOAuth","refreshFacebookToken","_refreshFacebookTokenImpl","errorMessage","getLoginStatus","fbResponse","accessToken","expiresIn","GoogleOAuthClass","FacebookOAuthClass","LoggerClass","AmplifyClass","_components","_modules","Auth","Analytics","API","Credentials","Storage","I18n","PubSub","Interactions","Pushnotification","UI","XR","Predictions","DataStore","Geo","Notifications","ServiceWorker","comp","getModuleName","Amplify","AmbiguousRoleResolutionType","CognitoIdentityProvider","CreateIdentityPoolInput","IdentityPool","InternalErrorException","InvalidParameterException","LimitExceededException","NotAuthorizedException","ResourceConflictException","TooManyRequestsException","DeleteIdentitiesInput","ErrorCode","UnprocessedIdentityId","DeleteIdentitiesResponse","DeleteIdentityPoolInput","ResourceNotFoundException","DescribeIdentityInput","IdentityDescription","DescribeIdentityPoolInput","ExternalServiceException","GetCredentialsForIdentityInput","GetCredentialsForIdentityResponse","InvalidIdentityPoolConfigurationException","GetIdInput","GetIdResponse","GetIdentityPoolRolesInput","MappingRuleMatchType","MappingRule","RulesConfigurationType","RoleMappingType","RoleMapping","GetIdentityPoolRolesResponse","GetOpenIdTokenInput","GetOpenIdTokenResponse","DeveloperUserAlreadyRegisteredException","GetOpenIdTokenForDeveloperIdentityInput","GetOpenIdTokenForDeveloperIdentityResponse","ListIdentitiesInput","ListIdentitiesResponse","ListIdentityPoolsInput","IdentityPoolShortDescription","ListIdentityPoolsResponse","ListTagsForResourceInput","ListTagsForResourceResponse","LookupDeveloperIdentityInput","LookupDeveloperIdentityResponse","MergeDeveloperIdentitiesInput","MergeDeveloperIdentitiesResponse","ConcurrentModificationException","SetIdentityPoolRolesInput","TagResourceInput","TagResourceResponse","UnlinkDeveloperIdentityInput","UnlinkIdentityInput","UntagResourceInput","UntagResourceResponse","filterSensitiveLog","HttpResponse","statusCode","isInstance","resp","HttpRequest","cloned","carry","deserializeAws_json1_1GetCredentialsForIdentityCommandError","parseBody","parsedOutput","_l","_m","loadRestJsonErrorCode","deserializeAws_json1_1ExternalServiceExceptionResponse","$metadata","deserializeMetadata","deserializeAws_json1_1InternalErrorExceptionResponse","deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse","deserializeAws_json1_1InvalidParameterExceptionResponse","deserializeAws_json1_1NotAuthorizedExceptionResponse","deserializeAws_json1_1ResourceConflictExceptionResponse","deserializeAws_json1_1ResourceNotFoundExceptionResponse","_j","deserializeAws_json1_1TooManyRequestsExceptionResponse","_k","parsedBody","Code","Message","$fault","deserializeAws_json1_1GetIdCommandError","deserializeAws_json1_1LimitExceededExceptionResponse","deserialized","deserializeAws_json1_1ExternalServiceException","deserializeAws_json1_1InternalErrorException","deserializeAws_json1_1InvalidIdentityPoolConfigurationException","deserializeAws_json1_1InvalidParameterException","deserializeAws_json1_1LimitExceededException","deserializeAws_json1_1NotAuthorizedException","deserializeAws_json1_1ResourceConflictException","deserializeAws_json1_1ResourceNotFoundException","deserializeAws_json1_1TooManyRequestsException","serializeAws_json1_1GetCredentialsForIdentityInput","CustomRoleArn","IdentityId","Logins","serializeAws_json1_1LoginsMap","serializeAws_json1_1GetIdInput","AccountId","IdentityPoolId","deserializeAws_json1_1Credentials","AccessKeyId","Expiration","SecretKey","SessionToken","deserializeAws_json1_1GetCredentialsForIdentityResponse","deserializeAws_json1_1GetIdResponse","httpStatusCode","requestId","extendedRequestId","cfId","collectBody","streamBody","streamCollector","buildHttpRpcRequest","resolvedHostname","endpoint","__HttpRequest","utf8Encoder","collectBodyString","sanitizeErrorCode","cleanValue","headerKey","findKey","deserializerMiddlewareOption","override","serializerMiddlewareOption","getSerdePlugin","deserializer","applyToStack","commandStack","deserializerMiddleware","serializerMiddleware","constructStack","absoluteEntries","relativeEntries","entriesNameSet","cloneTo","toStack","addRelativeTo","expandRelativeMiddlewareList","expandedMiddlewareList","getMiddlewareList","normalizedAbsoluteEntries","normalizedRelativeEntries","normalizedEntriesNameMap","normalizedEntry","toMiddleware","relation","mainChain","stepWeights","priorityWeights","wholeList","expendedMiddlewareList","toOverrideIndex","toOverride","toRemove","isRemoved","filterCb","removeByName","removeByReference","removeByTag","build","finalizeRequest","deserialize","high","low","Client","middlewareStack","optionsOrCb","resolveMiddleware","requestHandler","Command","StringWrapper","LazyJsonString","deserializeJSON","GetCredentialsForIdentityCommand","clientStack","configuration","handlerExecutionContext","clientName","commandName","inputFilterSensitiveLog","outputFilterSensitiveLog","serializeAws_json1_1GetCredentialsForIdentityCommand","deserializeAws_json1_1GetCredentialsForIdentityCommand","$Command","ProviderError","tryNextLink","resolveLogins","logins","tokenOrProvider","resolvedPairs","fromCognitoIdentity","client","customRoleArn","identityId","throwOnMissingCredentials","throwOnMissingAccessKeyId","throwOnMissingSecretKey","accessKeyId","secretAccessKey","sessionToken","expiration","GetIdCommand","serializeAws_json1_1GetIdCommand","deserializeAws_json1_1GetIdCommand","STORE_NAME","IndexedDbStorage","dbName","withObjectStore","onsuccess","getDb","openDbRequest","indexedDB","onblocked","onupgradeneeded","createObjectStore","keyPath","tx","transaction","objectStore","InMemoryStorage","inMemoryStorage","fromCognitoIdentityPool","accountId","identityPoolId","userIdentifier","provider","throwOnMissingId","parseAWSExports","storageConfig","amplifyConfig","AWSPinpoint","appId","region","userPoolId","userPoolWebClientId","identityPoolRegion","mandatorySignIn","signUpVerificationMethod","AWSS3","bucket","dangerouslyConnectToHttpEndpointForTesting","Logging","geo","AmazonLocationService","escapeUri","hexEncode","FetchHttpHandler","requestTimeout","abortSignal","requestTimeoutInMs","abortError","queryString","iLen","qsEntry","buildQueryString","Headers","AbortController","timeoutInMs","fetchRequest","Request","raceOfPromises","fetchHeaders","transformedHeaders","timeoutError","alphabetByEncoding","alphabetByValue","bitsPerLetter","bitsPerByte","fromBase64","totalByteLength","dataView","chunkOffset","readToBase64","commaIndex","retryMiddleware","retryStrategy","retryMiddlewareOptions","CLOCK_SKEW_ERROR_CODES","THROTTLING_ERROR_CODES","TRANSIENT_ERROR_CODES","TRANSIENT_ERROR_STATUS_CODES","isThrottlingError","$retryable","throttling","defaultDelayDecider","delayBase","attempts","defaultRetryDecider","isRetryableByTrait","isClockSkewError","isTransientError","DEFAULT_RETRY_MODE","StandardRetryStrategy","maxAttemptsProvider","retryDecider","delayDecider","retryQuota","initialRetryTokens","MAX_CAPACITY","availableCapacity","getCapacityAmount","hasRetryTokens","retrieveRetryTokens","capacityAmount","releaseRetryTokens","capacityReleaseAmount","getDefaultRetryQuota","shouldRetry","maxAttempts","getMaxAttempts","totalDelay","this_1","retryTokenAmount","totalRetryDelay","delay_1","normalizeMaxAttempts","promisified_1","AWS_TEMPLATE","AWS_REGIONS","AWS_CN_REGIONS","AWS_ISO_REGIONS","AWS_ISO_B_REGIONS","AWS_US_GOV_REGIONS","ClientSharedValues","apiVersion","disableHostPrefix","regionInfoProvider","regionInfo","partition","signingRegion","signingService","serviceId","urlParser","ClientDefaultValues","base64Decoder","base64Encoder","bitClusterCount","bodyLengthChecker","credentialDefaultProvider","defaultUserAgentProvider","clientVersion","parsedUA","bowser","defaultUserAgent","invalidProvider","collectBlob","getReader","isDone","prior","collectStream","utf8Decoder","normalizeEndpoint","promisified_2","getEndPointFromRegion","tls","normalizeRegion","CONTENT_LENGTH_HEADER","contentLengthMiddlewareOptions","getContentLengthPlugin","contentLengthMiddleware","hostHeaderMiddlewareOptions","getHostHeaderPlugin","handlerProtocol","hostHeaderMiddleware","loggerMiddleware","outputWithoutMetadata","loggerMiddlewareOptions","SHORT_TO_HEX","HEX_TO_SHORT","encodedByte","AMZ_DATE_QUERY_PARAM","SIGNATURE_QUERY_PARAM","TOKEN_QUERY_PARAM","AUTH_HEADER","AMZ_DATE_HEADER","GENERATED_HEADERS","SIGNATURE_HEADER","SHA256_HEADER","TOKEN_HEADER","ALWAYS_UNSIGNABLE_HEADERS","authorization","connection","expect","pragma","referer","trailer","upgrade","PROXY_HEADER_PATTERN","SEC_HEADER_PATTERN","ALGORITHM_IDENTIFIER","EVENT_ALGORITHM_IDENTIFIER","KEY_TYPE_IDENTIFIER","signingKeyCache","cacheQueue","createScope","shortDate","getCanonicalHeaders","unsignableHeaders","signableHeaders","headerName","canonicalHeaderName","getPayloadHash","hashConstructor","hashCtor","cloneRequest","cloneQuery","prepareRequest","iso8601","SignatureV4","applyChecksum","uriEscapePath","regionProvider","normalizeRegionProvider","credentialProvider","normalizeCredentialsProvider","presign","originalRequest","signingDate","unhoistableHeaders","longDate","lname","moveHeadersToQuery","canonicalHeaders","getCanonicalHeaderList","getSignature","getSigningKey","createCanonicalRequest","toSign","signString","signEvent","signRequest","priorSignature","hashedPayload","hashedHeaders","stringToSign","requestToSign","payloadHash","soughtHeader","hasHeader","sortedHeaders","getCanonicalPath","getCanonicalQuery","createStringToSign","credentialScope","canonicalRequest","hashedRequest","keyPromise","sha256Constructor","credsHash","signable","normalizeProvider","USER_AGENT","UA_ESCAPE_REGEX","escapeUserAgent","prefixSeparatorIndex","uaName","getUserAgentMiddlewareOptions","getUserAgentPlugin","customUserAgent","normalUAValue","CognitoIdentityClient","_config_1","resolveRegionConfig","__ClientDefaultValues","_config_2","isCustomEndpoint","resolveEndpointsConfig","_config_3","signer","normalizedCreds","signingEscapePath","systemClockOffset","signingName","resolveAwsAuthConfig","_config_4","resolveRetryConfig","_config_6","__Client","BASE_USER_AGENT","Platform","isReactNative","getAmplifyUserAgent","createCognitoIdentityClient","middlewareArgs","CredentialsClass","_gettingCredPromise","_refreshHandlers","getCredSource","_credentials_source","refreshHandlers","_storage","_storageSync","dispatchCredentialsEvent","_pickupCredentials","_getCognitoIdentityIdStorageKey","isResolved","isRejected","isFullfilled","makeQuerablePromise","_keepAlive","cred","_credentials","_isExpired","_isPastTTL","currentUserCredentials","_setCredentialsForGuest","currentUserPoolUser","user_1","currentSession","session","refreshToken_1","refreshToken","refreshSession","refreshFederatedToken","federatedInfo","identity_id","_setCredentialsFromFederation","_providerRefreshWithRetry","refreshHandler","ts","_nextCredentialsRefresh","_getGuestIdentityId","_identityId","cognitoClient","credentialsProvider","credentialsFromCognitoIdentity","_loadCredentials","_removeGuestIdentityId","google","facebook","amazon","developer","_setCredentialsFromSession","idToken","getIdToken","getJwtToken","guestIdentityId","generatedOrRetrievedIdentityId","primaryIdentityId","authenticated","_setGuestIdentityId","e_1","e_2","shear","readCookie","cleanupCookieValue","doNotParse","isParsingCookie","changeListeners","HAS_DOCUMENT_COOKIE","parseCookies","_updateBrowserValues","parseOptions","_emitChange","getAll","finalOptions","addChangeListener","removeChangeListener","UniversalStorage","getLocalItem","getUniversalItem","removeLocalItem","removeUniversalItem","setLocalItem","tokenType","setUniversalItem","AuthenticationDetails","ValidationData","Username","Password","AuthParameters","ClientMetadata","authParameters","clientMetadata","getUsername","getPassword","getValidationData","getAuthParameters","getClientMetadata","dbits","hexStringify","BigInteger","nbi","inBrowser","DB","DM","DV","FV","F1","F2","rr","vv","BI_RM","BI_RC","int2char","intAt","nbv","fromInt","nbits","Montgomery","mp","invDigit","mpl","mph","um","mt2","dlShiftTo","divRemTo","compareTo","ZERO","subTo","copyTo","u0","drShiftTo","multiplyTo","sqrTo","squareTo","lShiftTo","cbs","ds","rShiftTo","pm","nsh","ys","y0","d1","d2","ONE","addTo","multiply","divide","modPow","g2","is1","HEX_MSB_REGEX","AuthenticationHelper","PoolName","hexHash","padHex","smallAValue","generateRandomSmallA","getLargeAValue","infoBits","poolName","getSmallAValue","largeAValue","calculateA","hexRandom","generateRandomString","getRandomPassword","randomPassword","getSaltDevices","SaltToHashDevices","getVerifierDevices","verifierDevices","generateHashDevice","deviceGroupKey","combinedString","hashedString","verifierDevicesNotPadded","calculateU","UHexHash","awsCryptoHash","resultFromAWSCrypto","hashHex","computehkdf","ikm","infoBitsBuffer","resultFromAWSCryptoPrk","awsCryptoHashHmac","getPasswordAuthenticationKey","serverBValue","UValue","usernamePassword","usernamePasswordHash","calculateS","sValue","hkdf","gModPowXN","err2","getNewPasswordRequiredChallengeUserAttributePrefix","bigInt","invertedNibbles","invertedNibble","CognitoJwtToken","jwtToken","decodePayload","getExpiration","getIssuedAt","iat","CognitoAccessToken","_CognitoJwtToken","_temp","AccessToken","CognitoIdToken","IdToken","CognitoRefreshToken","RefreshToken","getToken","CognitoUserSession","ClockDrift","clockDrift","calculateClockDrift","getRefreshToken","getAccessToken","getClockDrift","adjusted","weekNames","DateHelper","getNowString","weekDay","CognitoUserAttribute","CognitoUser","Pool","pool","Session","signInUserSession","authenticationFlowType","getClientId","userDataKey","setSignInUserSession","clearCachedUserData","cacheTokens","getSignInUserSession","getAuthenticationFlowType","setAuthenticationFlowType","initiateAuth","authDetails","USERNAME","clientMetaData","jsonReq","AuthFlow","ClientId","getUserContextData","UserContextData","onFailure","challengeName","ChallengeName","challengeParameters","ChallengeParameters","customChallenge","getCognitoUserSession","AuthenticationResult","onSuccess","authenticateUser","authenticateUserPlainUsernamePassword","authenticateUserDefaultAuth","authenticationHelper","getUserPoolName","dateHelper","deviceKey","DEVICE_KEY","errOnAValue","aValue","SRP_A","CHALLENGE_NAME","USER_ID_FOR_SRP","SRP_B","SALT","getCachedDeviceKeyAndPassword","errOnHkdf","dateNow","concatBuffer","SECRET_BLOCK","signatureString","challengeResponses","PASSWORD_CLAIM_SECRET_BLOCK","TIMESTAMP","PASSWORD_CLAIM_SIGNATURE","jsonReqResp","ChallengeResponses","respondToAuthChallenge","challenge","challengeCallback","errChallenge","dataChallenge","clearCachedDeviceKeyAndPassword","errAuthenticate","dataAuthenticate","authenticateUserInternal","PASSWORD","authResult","mfaRequired","selectMFAType","mfaSetup","totpRequired","userAttributes","rawRequiredAttributes","requiredAttributes","userAttributesPrefix","newPasswordRequired","getDeviceResponse","newDeviceMetadata","NewDeviceMetadata","DeviceGroupKey","DeviceKey","errGenHash","deviceSecretVerifierConfig","Salt","PasswordVerifier","DeviceSecretVerifierConfig","DeviceName","errConfirm","dataConfirm","cacheDeviceKeyAndPassword","UserConfirmationNecessary","completeNewPasswordChallenge","newPassword","requiredAttributeData","finalUserAttributes","NEW_PASSWORD","errAValue","errHkdf","confirmRegistration","confirmationCode","forceAliasCreation","ConfirmationCode","ForceAliasCreation","sendCustomChallengeAnswer","answerChallenge","ANSWER","sendMFACode","mfaType","SMS_MFA_CODE","mfaTypeSelection","SOFTWARE_TOKEN_MFA_CODE","changePassword","oldUserPassword","newUserPassword","PreviousPassword","ProposedPassword","enableMFA","mfaOptions","DeliveryMedium","AttributeName","MFAOptions","setUserMfaPreference","smsMfaSettings","softwareTokenMfaSettings","SMSMfaSettings","SoftwareTokenMfaSettings","disableMFA","deleteUser","clearCachedUser","updateAttributes","UserAttributes","getUserData","bypassCache","getUserAttributes","attributeList","userAttribute","getMFAOptions","createGetUserRequest","promisifyRequest","refreshSessionIfPossible","getUserDataFromCache","isFetchUserDataAndTokenRequired","fetchUserData","_ref$bypassCache","cacheUserData","deleteAttributes","UserAttributeNames","resendConfirmationCode","getSession","idTokenKey","accessTokenKey","refreshTokenKey","clockDriftKey","cachedSession","wrappedCallback","wrapRefreshSessionCallback","REFRESH_TOKEN","lastUserKey","deviceKeyKey","authenticationResult","clearCachedTokens","randomPasswordKey","deviceGroupKeyKey","forgotPassword","inputVerificationCode","confirmPassword","getAttributeVerificationCode","verifyAttribute","getDevice","forgetSpecificDevice","forgetDevice","setDeviceStatusRemembered","DeviceRememberedStatus","setDeviceStatusNotRemembered","listDevices","paginationToken","requestParams","Limit","PaginationToken","globalSignOut","revokeTokenCallback","_session","revokeTokens","cleanClientData","isSessionRevocable","revokeToken","origin_jti","requestWithRetry","sendMFASelectionAnswer","associateSoftwareToken","associateSecretCode","SecretCode","verifySoftwareToken","totpCode","friendlyDeviceName","UserCode","FriendlyDeviceName","errRespond","dataRespond","UserAgent","_wrapNativeSuper","Wrapper","CognitoError","_Error","fetchOptions","BASE_TIME_MS","JITTER_FACTOR","__type","retryIn","AuthErrorStrings","CognitoUserPool","UserPoolId","AdvancedSecurityDataCollectionFlag","clientId","advancedSecurityDataCollectionFlag","getUserPoolId","signUp","cognitoUser","returnData","userConfirmed","UserConfirmed","userSub","UserSub","CodeDeliveryDetails","getCurrentUser","lastAuthUser","AmazonCognitoAdvancedSecurityData","amazonCognitoAdvancedSecurityDataConst","advancedSecurityData","EncodedData","CookieStorage","numKeys","launchUri","windowProxy","dispatchAuthEvent","OAuth","cognitoClientId","scopes","_urlOpener","urlOpener","_cognitoClientId","isValidScopes","_scopes","oauthSignIn","customState","Cognito","generatedState","_generateState","padStart","oAuthStorage","private_key","pkce_key","_generateRandom","code_challenge","_generateChallenge","scopesString","redirect_uri","response_type","client_id","identity_provider","code_challenge_method","_handleCodeFlow","currentUrl","pairings","accum","currentUrlPathname","redirectSignInPathname","oAuthTokenEndpoint","clientID","redirectUri","code_verifier","ouath_pkce_key","oAuthTokenBody","grant_type","access_token","refresh_token","_handleImplicitFlow","handleAuthResponse","urlParams","error_description","_validateState","savedState","oauth_state","returnedState","oAuthLogoutEndpoint","signout_uri","redirectSignOut","returnTo","logout_uri","oAuth","_base64URL","CHARSET","_bufferToString","AuthError","authErrorMessages","NoUserPoolError","noConfig","DEFAULT_MSG","missingAuthConfig","emptyUsername","EMPTY_USERNAME","invalidUsername","INVALID_USERNAME","emptyPassword","EMPTY_PASSWORD","emptyCode","EMPTY_CODE","signUpError","SIGN_UP_ERROR","noMFA","NO_MFA","invalidMFA","INVALID_MFA","emptyChallengeResponse","EMPTY_CHALLENGE","noUserSession","NO_USER_SESSION","deviceConfig","DEVICE_CONFIG","networkError","NETWORK_ERROR","autoSignInError","AUTOSIGNIN_ERROR","USER_ADMIN_SCOPE","AuthClass","userPool","oAuthFlowInProgress","autoSignInInitiated","inflightSessionPromise","inflightSessionPromiseCounter","currentCredentials","conf","cookieStorage","_isValidAuthStorage","ssr","userPoolData","cognitoHostedUIConfig","awsCognito","cognitoAuthParams","_oAuthHandler","usedResponseUrls_1","urlListener","_handleAuthResponse","isTrueStorageValue","AutoSignInError","restOfAttrs","rejectNoUserPool","autoSignIn","autoSignInValidationData","autoSignInClientMetaData","phone_number","rejectAuthError","SignUpError","attrs_1","validationDataObject_1","handleAutoSignIn","EmptyPassword","EmptyUsername","signInAfterUserConfirmed","handleLinkAutoSignIn","handleCodeAutoSignIn","listenEvent","autoSignInPollingIntervalId","createCognitoUser","authCallbacks","error_1","confirmSignUp","EmptyCode","resendSignUp","signIn","usernameOrSignInOpts","pw","InvalidUsername","signInWithPassword","signInWithoutPassword","challengeParam","pendingSignIn","getPreferredMFA","isSessionInvalid","cleanUpInvalidSession","cleanUpError_1","_getMfaTypeFromUserData","preferredMFA","PreferredMfaSetting","mfaList","UserMFASettingList","_getUserData","cleanUpError_2","setPreferredMFA","mfaMethod","totpMfaSettings","PreferredMfa","Enabled","currentMFAType","InvalidMFA","NoMFA","cleanUpError_3","disableSMS","enableSMS","setupTOTP","secretCode","verifyTotpToken","challengeAnswer","isLoggedIn","confirmSignIn","e_3","e_4","completeNewPassword","e_5","EmptyChallengeResponse","deleteUserAttributes","attributeNames","userSession","e_6","isSignedInHostedUI","cleanUpError_4","cleanCachedItems","oAuthSignOutRedirect","updateUserAttributes","createUpdateAttributesResultList","CodeDeliveryDetailsList","codeDeliveryDetailsList","verifiedContact","attributesToObject","unverified","verified","isErrorWithMessage","isTokenRevokedError","isRefreshTokenRevokedError","isUserDisabledError","isUserDoesNotExistError","isRefreshTokenExpiredError","isOAuthInProgress","hostedUISignCallback","_userSession","cleanUpError_5","currentAuthenticatedUser","federatedUser","e_8","e_9","NoUserSession","cleanUpError_6","e_10","verifyUserAttribute","verifyUserAttributeSubmit","verifyCurrentUserAttribute","verifyCurrentUserAttributeSubmit","cognitoIdentitySignOut","e_11","cleanUpError_7","oAuthSignOutRedirectOrReject","oAuthSignOutAndResolve","oldPassword","forgotPasswordSubmit","currentUserInfo","userAttrs","e_13","err_2","federatedSignIn","providerOrOptions","hasCustomState","customProvider","loggedInUser","hasCodeOrError","hasTokenOrError","isCustomStateIncluded","err_3","essentialCredentials","isTruthyString","noUserPoolErrorHandler","NoConfig","MissingAuthConfig","rememberDevice","currUser","error_2","DeviceConfig","NetworkError","error_3","fetchDevices","error_4","deviceList","DeviceAttributes","birthdate","confirmation_code","confirm_password","family_name","given_name","middle_name","nickname","dialCode","dialCodeList","preferred_username","profile","website","loginMechanisms","country_code","_o$context$config","signUpAttributes","_i2","forceNewPassword","_i3","resetPassword","confirmResetPassword","confirmVerifyUser","_lang","_dict","setLanguage","lang","defVal","getByLanguage","lang_dict","putVocabulariesForLanguage","vocabularies","putVocabularies","_i18n","I18nClass","checkConfig","Changing","Confirm","Confirming","Email","Sending","Skip","Submit","Submitting","Hello","Send","SMS","Birthdate","Nickname","Profile","Website","ADD_PROFILE","ADD_WEBSITE","BACK_SIGN_IN","BIRTHDATE","CHANGE_PASSWORD","CHANGING_PASSWORD","CODE","CODE_ARRIVAL","CODE_EMAILED","CODE_SENT","CODE_TEXTED","CONFIRM_PASSWORD","CONFIRM_PASSWORD_PLACEHOLDER","CONFIRM_RESET_PASSWORD_HEADING","CONFIRM_SIGNUP_HEADING","CONFIRM_SMS","CONFIRM_TOTP","CONFIRM","CONFIRMATION_CODE","CONFIRMING","CREATE_ACCOUNT","CREATING_ACCOUNT","EMAIL_ADDRESS","ENTER_BIRTHDATE","ENTER_CODE","ENTER_CONFIRMATION_CODE","ENTER_EMAIL","ENTER_FAMILY_NAME","ENTER_GIVEN_NAME","ENTER_MIDDLE_NAME","ENTER_NAME","ENTER_NICK_NAME","ENTER_PASSWORD","ENTER_PHONE_NUMBER","ENTER_PREFERRED_USERNAME","ENTER_USERNAME","FAMILY_NAME","GIVEN_NAME","FORGOT_PASSWORD","FORGOT_YOUR_PASSWORD","HIDE_PASSWORD","LOADING","LOGIN_NAME","MIDDLE_NAME","NICKNAME","OR","PHONE_NUMBER","PREFERRED_USERNAME","PROFILE","RESEND_CODE","RESET_PASSWORD_HEADING","RESET_PASSWORD","SEND_CODE","SENDING","SETUP_TOTP","SHOW_PASSWORD","SIGN_IN_BUTTON","SIGN_IN_TAB","SIGN_IN_WITH_AMAZON","SIGN_IN_WITH_APPLE","SIGN_IN_WITH_FACEBOOK","SIGN_IN_WITH_GOOGLE","SIGN_IN","SIGN_UP_BUTTON","SIGNING_IN_BUTTON","SKIP","SUBMIT","SUBMITTING","UPPERCASE_COPY","VERIFY_CONTACT","VERIFY_HEADING","VERIFY","WE_EMAILED","WE_SENT_CODE","WE_TEXTED","WEBSITE","kr","formFields","QR","COMPONENT_ROUTE_KEYS","defaultComparator","areSelectorDepsEqual","currentDeps","nextDeps","currentDep","nextDep","areEmptyArrays","areEmptyObjects","getComparator","currentFacade","nextFacade","getQRFields","getActorContext","getTotpSecretCodeCallback","_callee","getMachineFields","componentRoute","isComponentRouteKey","convertContactMethodsToFields","getSortedFormFields","useAuthenticator","facade","handleStoreChange","boundGetSnapshot","useSelector","getServiceFacade","serviceSnapshot","QRFields","getTotpSecretCode","packageName","_callee2","_n2","_context2","routeSelector","ActionTypes","SpecialTargets","EMPTY_ACTIVITY_MAP","DEFAULT_GUARD_TYPE","raise","nullEvent","errorPlatform","choose","pure","IS_PRODUCTION","matchesState","parentStateId","childStateId","parentStateValue","toStateValue","childStateValue","getEventType","toStatePath","stateId","stateValue","pathToStateValue","statePath","mapValues","collectionKeys","mapFilterValues","e_1_1","props_1","props_1_1","e_2_1","toStatePaths","flatten","subStateValue","subPath","toArrayStrict","mapContext","_event","subMapper","e_5_1","isPromiseLike","updateHistoryStates","hist","states","subHist","updateContext","assignActions","updatedContext","assignAction","e_7","assignment","partialUpdate","propAssignment","e_7_1","toGuard","guardMap","symbolObservable","isMachine","uniqueId","currentId","toEventObject","toSCXMLEvent","scxmlEvent","$$type","toTransitionConfigArray","configLike","transitionLike","evaluateGuard","guardMeta","cond","condFn","toInvokeSource","toObserver","nextHandler","completionHandler","isObserver","createInvokeId","stateNodeId","isRaisableAction","isLeafNode","getAllChildren","getChildren","getAllStateNodes","stateNodes","getConfiguration","prevStateNodes","prevAdjList","getAdjList","configuration_1","configuration_1_1","adjList","configuration_2","configuration_2_1","initialStateNodes","e_3_1","configuration_3","configuration_3_1","e_4_1","getValueFromAdj","baseNode","childStateNodes","childStateNode","csn","configuration_4","configuration_4_1","isInFinalState","getTagsFromConfiguration","getActionFunction","actionType","actionFunctionMap","toActionObject","actionObject","toActionObjects","subAction","toActivityDefinition","raise$1","send$1","sendParent","activity","assign$1","doneInvoke","resolveActions","currentContext","actionBlocks","predictableExec","preserveActionOrder","actionBlocks_1","actionBlocks_1_1","pluckAssigns","preservedContexts","deferredToBlockEnd","handleAction","blockType","raisedAction","delaysMap","resolvedDelay","resolvedEvent","configDelay","resolveRaise","delays","sendAction","resolvedTarget","resolveSend","configuredDelay","log$1","resolved","resolveLog","choose$1","matchedActions","conds","resolvedActionsFromChoose","resolvedContextFromChoose","pure$1","resolvedActionsFromPure","resolvedContext","stop$1","actorRefOrString","resolvedActorRef","resolveStop","resolvedActionObject","exec_1","contextIndex_1","_ctx","resolvedActions","stateValuesEqual","aKeys","bKeys","isStateConfig","State","activities","_sessionid","historyValue","toStrings","ownEvents","nextEvents","valueKeys","jsonValues","can","transitionData","getTransitionData","deferEvents","Scheduler","processingEvent","schedule","flushEvents","serviceStack","provide","createNullActor","createDeferredActor","tempActor","initialState_1","withContext","sessionIdIndex","getGlobal","registerService","devTools","__xstate__","getDevTools","spawnBehavior","behavior","observers","mailbox","flushing","actorRefLike","toActorRef","event_1","actorCtx","InterpreterStatus","DEFAULT_SPAWN_OPTIONS","autoForward","Interpreter","delayedEventsMap","contextListeners","stopListeners","doneListeners","eventListeners","sendListeners","NotStarted","forwardTo","_outgoingQueue","Stopped","Running","scheduler","forward","sendTo","isParent","error$1","sessionId","predictableActionArguments","_exec","actionOrExec","sendAction_1","defer","sendId","invokeSource","serviceCreator","services","spawn","spawnActivity","stopChild","clock","resolvedId","_initialState","actionsConfig","contextListener","finalChildStateNode","doneData","_doneEvent","_stopChildren","onTransition","nextListenerOrObserver","completeListener","completeOnce","onDone","onStop","onEvent","onSend","resolvedState","resolveState","attachDev","e_6_1","e_8_1","_o","e_9_1","_q","e_10_1","exitActions","batchChanged","batchedActions","_loop_1","bindActionToState","events_1","events_1_1","e_11_1","sender","e_12","e_12_1","childId","spawnPromise","spawnCallback","isActor","spawnActor","spawnObservable","spawnMachine","childService","doneEvent","errorData","errorEvent","originalError","originalStackTrace","stackTrace","reportUnhandledExceptionOnInvocation","unsubscribed","callbackStop","receivers","spawnEffect","__REDUX_DEVTOOLS_EXTENSION__","devToolsOptions","connect","autoPause","stateSanitizer","features","jump","_setTimeout","_x2","_clearTimeout","_x3","interpret","resolveSpawnOptions","nameOrOptions","isLazyEntity","useConstant","useInterpret","getMachine","observerOrListener","interpreterOptions","machineConfig","useIsomorphicLayoutEffect","useIdleInterpreter","rehydratedState","simpleSrc","toInvokeDefinition","invokeConfig","invokeDef","NULL_EVENT","WILDCARD","EMPTY_OBJECT","isStateId","StateNode","_stateInfo","__xstatenode","__cache","initialStateValue","candidates","delayedTransitions","idMap","parallel","stateConfig","dfs","_transient","onEntry","invokeId","getDelayedTransitions","formatTransitions","getCandidates","transient","sameEventType","afterConfig","mutateEntryExit","delayRef","idSuffix","cancel$1","configTransition","resolvedTransition","delayedTransition","formatTransition","getStateNodes","getStateNode","subStateKeys","subStateNodes","subStateKey","stateFromConfig","transitionLeafNode","transitionCompoundNode","_transition","transitionParallelNode","transitionMap","stateTransitions","enabledTransitions","exitSet","selectedTransition","nextStateNodes","candidate","stateIn","isInState","getStateNodeById","guardPassed","allNextStateNodes","getRelativeStateNodes","targetNode","getPotentiallyReenteringNodes","possibleAncestor","getActions","resolvedConfig","prevConfig","entrySet","prevConfig_1","prevConfig_1_1","entryStates","exitStates","doneEvents","grandparent","entryActions","invokeActions","activityDef","stopActions","resolvedStateValue","getResolvedPath","stateTransition","resolveTransition","resolveRaisedTransition","currentActions","willTransition","resolvedConfiguration","start$1","truthy","falsy","items_1","items_1_1","raisedEvents","nonRaisedActions","invokeDefinition","invokeSrc","createInvocableActor","didUpdateContext","hasAlwaysTransitions","maybeNextState","raisedEvent","resolvedStateId","STATE_IDENTIFIER","getStateNodeByPath","arrayStatePath","currentStateNode","subStateNode","stateIdentifier","getInitialState","historyConfig","relativeStateId","resolveHistory","initialPath","getFromRelativePath","relativePath","childStatePath","relativeStateValue","historyTarget","relativeChildPath","accessorProp","subHistoryValue","props_2","props_2_1","subStatePath","childStateIds","stateIds","resolveTarget","_target","isInternalTarget","transitionConfig","normalizedTarget","normalizeTarget","onConfig","wildcardConfigs","strictTransitionConfigs_1","transitionConfigArray","hasNonLastUnguardedTarget","eventText","validateArrayifiedTransitions","eventlessConfig","doneConfig","settleTransitions","formattedTransitions","delayedTransitions_1","delayedTransitions_1_1","createMachine","sendUpdate","originalTarget_1","attributeToVerify","formValues","touched","redirectIntent","authAttributes","_e$formValues","_r$data","_e$loginMechanisms2$","getAmplifyConfig","handleSignUp","_callee3","_context3","handleSignIn","_callee4","_context4","handleConfirmSignIn","_callee5","_context5","handleConfirmSignUp","_callee6","_context6","handleForgotPasswordSubmit","_callee7","_context7","handleForgotPassword","_callee8","_context8","validateCustomSignUp","_callee9","_context9","validateFormPassword","_callee10","_context10","passwordPolicyMinLength","passwordPolicyCharacters","validateConfirmPassword","_callee11","_context11","validatePreferredUsername","_callee12","_context12","CHANGE","FEDERATED_SIGN_IN","submit","verifying","AUTO_SIGN_IN","AUTO_SIGN_IN_FAILURE","validation","BLUR","idle","verifyUser","clearAttributeToVerify","clearChallengeName","clearRequiredAttributes","clearError","clearFormValues","clearTouched","clearUnverifiedContactMethods","clearValidationError","handleInput","handleSubmit","parsePhoneNumber","setChallengeName","setConfirmResetPasswordIntent","setConfirmSignUpIntent","setRequiredAttributes","setCredentials","setFieldErrors","setRemoteError","setTotpSecretCode","setUnverifiedContactMethods","setUser","setUsernameAuthAttributes","shouldAutoSignIn","shouldAutoSubmit","shouldConfirmSignIn","shouldForceChangePassword","shouldRedirectToConfirmResetPassword","shouldRedirectToConfirmSignUp","shouldRequestVerification","_t$data","shouldSetupTOTP","_t$authAttributes","_t$formValues","checkVerifiedContact","unverifiedAttr","validateFields","passwordSettings","hasSetup","waitConfig","applyConfig","goToInitialState","runActor","SIGN_UP","TOKEN_REFRESH","refreshUser","SIGN_OUT","RESEND","forwardToActor","setActorDoneData","actorDoneData","clearUser","clearActorDoneData","applyAmplifyConfig","aws_cognito_username_attributes","aws_cognito_verification_mechanisms","aws_cognito_signup_attributes","aws_cognito_social_providers","aws_cognito_password_protection_settings","_t$config","spawnSignInActor","spawnSignUpActor","submission","skipConfirm","resend","_e$authAttributes","isUserAlreadyConfirmed","shouldInitConfirmSignUp","shouldSkipConfirm","setCodeDeliveryDetails","setAutoSignInIntent","_n$","validateSignUp","spawnResetPasswordActor","clearUsername","setUsername","shouldAutoConfirmReset","_r$formValues","spawnSignOutActor","stopSignInActor","stopSignUpActor","stopResetPasswordActor","stopSignOutActor","setHasSetup","isInitialStateSignUp","isInitialStateResetPassword","shouldRedirectToSignUp","shouldRedirectToResetPassword","shouldSetup","hasActor","AuthenticatorProvider","parentProviderVal","createAuthenticatorMachine","activeService","listenToAuthHub","apple","Destination","filledColor","emptyColor","variation","_c$isDeterminate","isDeterminate","_c$isPercentageTextHi","isPercentageTextHidden","_c$percentage","percentage","stroke","_d$isFullWidth","isFullWidth","_d$loadingText","loadingText","_d$type","_o$as","FormData","fromEntries","handleChange","_ref2$target","_d$dismissButtonLabel","_d$hasIcon","_d$isDismissible","isDismissible","onDismiss","_t$useState","_t$useState2","_i$as","_i$PasswordField","fieldType","_i$passwordIsHiddenLa","passwordIsHiddenLabel","_i$passwordIsShownLab","passwordIsShownLabel","_i$showPasswordButton","showPasswordButtonLabel","descriptiveText","labelHidden","hasError","innerEndComponent","innerStartComponent","_l$orientation","outerEndComponent","outerStartComponent","autoComplete","_i$type","_i$hasError","onSelect","onWheel","visuallyHidden","styleProps","_u$hasError","_u$labelHidden","inputStyles","htmlFor","_d$autoComplete","_d$hideShowPassword","hideShowPassword","showPasswordButtonRef","_o$useState","_o$useState2","_m$icon","iconColor","_c$hasError","_c$labelHidden","countryCodeName","_d$countryCodeLabel","countryCodeRef","defaultCountryCode","defaultDialCode","_d$dialCodeLabel","dialCodeLabel","dialCodeName","dialCodeRef","onCountryCodeChange","onDialCodeChange","dataAttr","_ref$variation","_r$components","Header","Footer","_a$components$Confirm","ConfirmSignUp","_a$components$Confirm2","_a$components$Confirm3","_a$components$ForceNe","ForceNewPassword","FormFields","_s$components$SetupTO","SetupTOTP","_s$components$SetupTO2","_s$components$SetupTO3","_o$useState3","_o$useState4","_o$useState5","_o$useState6","_ref2$totpIssuer","totpIssuer","_ref2$totpUsername","totpUsername","objectWithoutPropertiesLoose","sourceSymbolKeys","$e42e1063c40fb3ef$export$b9ecd428b558ff10","originalEventHandler","ourEventHandler","_ref$checkForDefaultP","checkForDefaultPrevented","$c512c27ab02ef895$export$50c7b4e9d9f19c1","scopeName","createContextScopeDeps","defaultContexts","scopeContexts","defaultContext","$3bkAK$createContext","$3bkAK$useMemo","_objectSpread","rootComponentName","BaseContext","_objectWithoutProperties","$3bkAK$createElement","consumerName","$3bkAK$useContext","$c512c27ab02ef895$var$composeContextScopes","baseScope","createScope1","scopeHooks","useScope","overrideScopes","nextScopes1","nextScopes","currentScope","$6ed0406888f73fc4$export$43e446d32b3d21af","$6ed0406888f73fc4$var$setRef","$6ed0406888f73fc4$export$c7b2cbe3552a0d05","$3vqmr$useCallback","$5e63c961fc1ce211$export$8c6ed5c666ac1360","$9IrjX$forwardRef","childrenArray","$9IrjX$Children","slottable","$5e63c961fc1ce211$var$isSlottable","$9IrjX$isValidElement","$9IrjX$createElement","$5e63c961fc1ce211$var$SlotClone","$9IrjX$babelruntimehelpersesmextends","$9IrjX$cloneElement","slotPropValue","childPropValue","$5e63c961fc1ce211$var$mergeProps","$9IrjX$composeRefs","$5e63c961fc1ce211$export$d9f1ccf0bdb05d45","$9IrjX$Fragment","$9f79659886946c16$export$e5c5a5f917a5871c","$dxlwH$useLayoutEffect","$1746a345f3d73bb7$var$useReactId","$2AODx$react","$1746a345f3d73bb7$var$count","$1746a345f3d73bb7$export$f680877a34711e37","deterministicId","_$2AODx$react$useStat","_$2AODx$react$useStat2","setId","$2AODx$useLayoutEffect","$8927f6f2acc4f386$export$250ffa63cdc0d034","$4q5Fq$forwardRef","asChild","primitiveProps","Comp","$4q5Fq$Slot","$4q5Fq$useEffect","$4q5Fq$createElement","$4q5Fq$babelruntimehelpersesmextends","$b1b2314f5f9a1d84$export$25bec8c6f54ee79a","callbackRef","$lwiWj$useRef","$lwiWj$useEffect","$lwiWj$useMemo","_callbackRef$current2","_callbackRef$current","$71cd76cc60e0454e$export$6f32135080cb4c3","_ref$onChange","_$71cd76cc60e0454e$va","uncontrolledState","$bnPw9$useState","prevValueRef","$bnPw9$useRef","$bnPw9$useCallbackRef","$bnPw9$useEffect","$71cd76cc60e0454e$var$useUncontrolledState","_$71cd76cc60e0454e$va2","uncontrolledProp","setUncontrolledProp","$bnPw9$useCallback","$f631663db3294ace$var$DirectionContext","$7Gjcd$createContext","$f631663db3294ace$export$b39126d51d94e6f3","localDir","globalDir","$7Gjcd$useContext","$d7bdfb9eb0fdf311$var$ENTRY_FOCUS","$d7bdfb9eb0fdf311$var$EVENT_OPTIONS","$d7bdfb9eb0fdf311$var$GROUP_NAME","_$98Iye$createCollect","PROVIDER_NAME","_$6vYhU$createContext","$6vYhU$createContextScope","_$6vYhU$createContext2","createCollectionContext","createCollectionScope","_createCollectionCont","collectionRef","itemMap","_createCollectionCont2","CollectionProviderImpl","useCollectionContext","CollectionProvider","$6vYhU$react","COLLECTION_SLOT_NAME","CollectionSlot","composedRefs","$6vYhU$useComposedRefs","$6vYhU$Slot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","_$6vYhU$react$createE","Slot","ItemSlot","collectionNode","orderedNodes","$98Iye$createCollection","_$98Iye$createCollect2","$d7bdfb9eb0fdf311$var$Collection","$d7bdfb9eb0fdf311$var$useCollection","_$98Iye$createContext","$98Iye$createContextScope","_$98Iye$createContext2","$d7bdfb9eb0fdf311$var$createRovingFocusGroupContext","$d7bdfb9eb0fdf311$export$c7109489551a4f4","_$d7bdfb9eb0fdf311$va","_$d7bdfb9eb0fdf311$va2","$d7bdfb9eb0fdf311$var$RovingFocusProvider","$d7bdfb9eb0fdf311$var$useRovingFocusContext","$d7bdfb9eb0fdf311$export$8699f7c8af148338","$98Iye$forwardRef","$98Iye$createElement","__scopeRovingFocusGroup","$d7bdfb9eb0fdf311$var$RovingFocusGroupImpl","$98Iye$babelruntimehelpersesmextends","_props$loop","currentTabStopIdProp","currentTabStopId","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","groupProps","$98Iye$useRef","$98Iye$useComposedRefs","$98Iye$useDirection","_$98Iye$useControllab","$98Iye$useControllableState","_$98Iye$useControllab2","_$98Iye$useControllab3","setCurrentTabStopId","_$98Iye$useState","$98Iye$useState","_$98Iye$useState2","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","$98Iye$useCallbackRef","isClickFocusRef","$98Iye$useEffect","onItemFocus","$98Iye$useCallback","tabStopId","onItemShiftTab","$98Iye$Primitive","$98Iye$composeEventHandlers","isKeyboardFocus","entryFocusEvent","CustomEvent","$d7bdfb9eb0fdf311$var$focusFirst","$d7bdfb9eb0fdf311$var$ITEM_NAME","$d7bdfb9eb0fdf311$export$ab9df7c53fe8454","_props$focusable","_props$active","itemProps","$98Iye$useId","isCurrentTabStop","focusIntent","$d7bdfb9eb0fdf311$var$getDirectionAwareKey","$d7bdfb9eb0fdf311$var$MAP_KEY_TO_FOCUS_INTENT","$d7bdfb9eb0fdf311$var$getFocusIntent","candidateNodes","$d7bdfb9eb0fdf311$var$wrapArray","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","PageDown","End","PREVIOUSLY_FOCUSED_ELEMENT","$d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9","$d7bdfb9eb0fdf311$export$6d08773d2e66f8f2","$921a889cee6df7e8$export$99c2b779aa4e8b8b","present","presence","_$iqq3r$useState","$iqq3r$useState","_$iqq3r$useState2","node1","setNode","stylesRef","$iqq3r$useRef","prevPresentRef","prevAnimationNameRef","_$fe963b355347cc68$ex","$iqq3r$useReducer","$fe963b355347cc68$export$3e6543de14f8614f","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","_$fe963b355347cc68$ex2","$iqq3r$useEffect","currentAnimationName","$921a889cee6df7e8$var$getAnimationName","$iqq3r$useLayoutEffect","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","$iqq3r$flushSync","handleAnimationStart","isPresent","$iqq3r$useCallback","$921a889cee6df7e8$var$usePresence","$iqq3r$Children","$iqq3r$useComposedRefs","$iqq3r$cloneElement","$69cb30bb0017df05$var$TABS_NAME","_$1IHzk$createContext","$1IHzk$createContextScope","$1IHzk$createRovingFocusGroupScope","_$1IHzk$createContext2","$69cb30bb0017df05$var$createTabsContext","$69cb30bb0017df05$export$355f5bd209d7b13a","$69cb30bb0017df05$var$useRovingFocusGroupScope","_$69cb30bb0017df05$va","_$69cb30bb0017df05$va2","$69cb30bb0017df05$var$TabsProvider","$69cb30bb0017df05$var$useTabsContext","$69cb30bb0017df05$export$b2539bed5023c21c","$1IHzk$forwardRef","__scopeTabs","valueProp","onValueChange","activationMode","_props$activationMode","tabsProps","$1IHzk$useDirection","_$1IHzk$useControllab","$1IHzk$useControllableState","_$1IHzk$useControllab2","$1IHzk$createElement","baseId","$1IHzk$useId","$1IHzk$Primitive","$1IHzk$babelruntimehelpersesmextends","$69cb30bb0017df05$var$TAB_LIST_NAME","$69cb30bb0017df05$export$9712d22edc0d78c1","listProps","rovingFocusGroupScope","$1IHzk$Root","$69cb30bb0017df05$var$TRIGGER_NAME","$69cb30bb0017df05$export$8114b9fdfdf9f3ba","triggerProps","_excluded3","triggerId","$69cb30bb0017df05$var$makeTriggerId","$69cb30bb0017df05$var$makeContentId","$1IHzk$Item","$1IHzk$composeEventHandlers","isAutomaticActivation","$69cb30bb0017df05$var$CONTENT_NAME","$69cb30bb0017df05$export$bd905d70e8fd2ebb","forceMount","contentProps","_excluded4","isMountAnimationPreventedRef","$1IHzk$useRef","$1IHzk$useEffect","rAF","$1IHzk$Presence","$69cb30bb0017df05$export$be92b6f5f03c0fe9","$69cb30bb0017df05$export$54c2e3dc7acea9f5","$69cb30bb0017df05$export$41fb9f06171c75f4","$69cb30bb0017df05$export$7c6e2c02157bb7d2","Trigger","_r$defaultIndex","defaultIndex","indicatorPosition","Apple","Amazon","Facebook","Google","PhoneNumber","_o$orientation","minX","minY","_r$as","_r$fill","pathData","_r$viewBox","preserveAspectRatio","fillRule","clipRule","_l$components$SignIn","SignIn","_l$components$SignIn$","_l$components$SignIn$2","_a$components$SignUp","SignUp","_a$components$SignUp$","_a$components$SignUp$2","_a$components$SignUp$3","hideSignUp","cancelButtonSendType","submitButtonText","_n$components$Confirm","ConfirmVerifyUser","_n$components$Confirm2","_n$components$Confirm3","labelPosition","isGroupDisabled","_u$components$VerifyU","VerifyUser","_u$components$VerifyU2","_u$components$VerifyU3","_m$components$Confirm","ConfirmSignIn","_m$components$Confirm2","_m$components$Confirm3","ConfirmResetPassword","_m$components$ResetPa","ResetPassword","_m$components$ResetPa2","_m$components$ResetPa3","_useAuthenticator","hasInitialized","translations","Authenticator","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","measure","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref$userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","prefixes","RESERVED_CLASSES","FontAwesomeConfig","coerce","getAttrConfig","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_onChangeCb","meaninglessTransform","rotate","flipX","flipY","idPool","nextUniqueId","classArray","htmlEscape","joinStyles","transformIsMeaningful","baseStyles","dcp","drc","fp","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","headChildren","beforeChild","insertCss","InjectCSS","mixout","hooks","beforeDOMElementCreation","beforeI2svg","shims","functions","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","joinAttributes","iconFromMapping","mapping","iconName","doScroll","thisContext","bindInternal4","unicode","normalizeIcons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","reducer","hasRegular","autoFetchSvg","shimLookups","maybeNameMaybeUnicode","unicodes","getCanonicalPrefix","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","emptyCanonicalIcon","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","aliasIconName","Library","definitions","additions","_pullDefinitions","longPrefix","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","hookFn","callHooks","callProvided","findIconDefinition","iconLookup","library","i2svg","autoReplaceSvgRoot","autoReplace","_icon","canonicalIcon","_prefix","noAuto","_params$autoReplaceSv","domVariants","abstractCreator","makeInlineSvgAbstract","_params$icons","maskId","titleId","_params$watchable","watchable","isUploadedIcon","attrClass","uploadedIconWidthStyle","asSymbol","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","findIcon","maybeNotifyMissing","noop$1","preamble","perf","noop$2","isWatched","convertSVG","abstractObj","_params$ceFn","ceFn","mutators","mutation","_abstract","createComment","outerHTML","nodeAsComment","nest","_abstract2","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","perform","callbackFunction","mutator","disableObservation","enableObservation","mo","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","defaultPrefix","mutationRecord","hasPrefixAndIcon","_getCanonicalIcon","classParser","existingPrefix","existingIconName","ligature","byLigature","TEXT_NODE","parseMeta","styleParser","_classParser","extraClasses","extraAttributes","attributesParser","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","htmlClassList","hclAdd","hclRemove","prefixesDomQuery","resolvedMutations","onNode","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","iconWidth","Layers","layer","assembler","LayersCounter","makeLayersCounterAbstract","LayersText","generateLayersText","computedFontSize","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","_content","_hexValueFromContent","cleaned","codePointAt","isPrependTen","isDoubled","isSecondary","hexValueFromContent","isV4","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","processable","operations","_unwatched","parseTransformString","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","innerTranslate","innerScale","innerRotate","ALL_SPACE","fillBlack","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","nextPlugins","mixoutsTo","registerPlugins","pseudoElements2svg","unwatch","bootstrap","symbolData","parse$1","normalizeIconArgs","objectWithKey","FontAwesomeIcon","iconArgs","maskArgs","_classes","beat","beatFade","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","listItem","rotation","swapOpacity","renderedIcon","_console","extraProps","convertCurry","_extraProps$style","existingStyle","faTrashCan","faTrashAlt","faFileLines","faFileAlt","faRightFromBracket","faSignOutAlt","faPencil","faPencilAlt","faUsers","faKey","faBox","faLightbulbGear","faRightToBracket","faSignInAlt","faGlasses","faArrowsRotate","faFilter","faWrench","faFloppyDisk","faSave","faTrash","faTag","faArrowRotateLeft","faHouse","faHome","faLocationDot","faBoxOpenFull","faCircleUser","faUserPlus","faList","faUser","capacityInBytes","itemMaxSize","defaultTTL","defaultPriority","warningThreshold","getByteLength","getCurrTime","isInteger","_isInteger","CacheObject","StorageCache","cacheCurSizeKey","fillCacheItem","visitedTime","byteSize","BrowserStorageCacheClass","cacheConfig","_decreaseCurSizeInBytes","amount","curSize","getCacheCurSize","_increaseCurSizeInBytes","prefixedKey","_removeItem","_setItem","setItemErr","_sizeToPop","spaceItemNeed","cacheThresholdSpace","_isCacheFull","_findValidKeys","keyInCache","_popOutItems","sizeToPop","remainedSize","cacheItemOptions","validKeys","keysToRemove","BrowserStorageCache","DateUtils","clockOffset","getDateWithClockOffset","getClockOffset","getHeaderStringFromDate","getDateFromHeaderString","isClockSkewed","serverDate","setClockOffset","getSignedHeaders","HOST_HEADER","SHA256_ALGORITHM_IDENTIFIER","getSigningValues","getFormattedDates","getCredentialScope","getHashedData","getHashedDataAsHex","getHashedPayload","isSourceData","searchParams","keyA","valA","keyB","valB","getCanonicalRequest","getStringToSign","dateKey","regionKey","serviceKey","presignUrl","signingValues","presignedUrl","AWS_ENDPOINT_REGEX","Signer","accessInfo","serviceInfo","signedRequest","credentialEntry","signedHeadersEntry","signatureEntry","signUrl","urlOrRequest","urlToSign","presignable","signedUrl","session_token","sessionTokenRequiredInSigning","access_key","secret_key","parseServiceInfo","urlRegion","urlService","RestClient","_region","_service","_custom_header","_cancelTokenMap","ajax","urlOrApiInfo","custom_header","parsed_url","_parseUrl","libraryHeaders","initParams","isAllResponse","cancellableToken","signerServiceInfo","custom_header_obj","parsedUrl","queryStringParameters","_request","_signed","dateHeader","responseDate","requestDate","hasCancelToken","getCancellableToken","updateRequestToBeCancellable","cancelTokenSource","apiName","cloud_logic_array","endpoints","signerServiceInfoParams","otherParams","endpoint_region","endpoint_service","creds","endpointInfo","signed_params","RestAPIClass","_api","otherOptions","apiInfo","getEndpointInfo","responsePromise","apiConfig","RestAPI","SYMBOL_TO_STRING_TAG","lineRegexp","printLocation","printSourceLocation","firstLineColumnOffset","locationOffset","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","_possibleConstructorReturn","GraphQLError","extensions","_nodeLocations","_nodeLocations2","_nodeLocations3","undefinedIfEmpty","nodeLocations","_this$nodes","originalExtensions","_i4","_error$nodes2","_i6","_error$locations2","printError","syntaxError","Kind","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","OBJECT_TYPE_DEFINITION","FIELD_DEFINITION","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","UNION_TYPE_DEFINITION","ENUM_TYPE_DEFINITION","ENUM_VALUE_DEFINITION","INPUT_OBJECT_TYPE_DEFINITION","DIRECTIVE_DEFINITION","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","defineInspect","classObject","nodejsCustomInspectSymbol","Location","startToken","endToken","TokenKind","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","BLOCK_STRING","MAX_ARRAY_LENGTH","MAX_RECURSIVE_DEPTH","seenValues","previouslySeenValues","customInspectFn","getCustomFn","customValue","formatArray","getObjectTag","formatObjectValue","devAssert","Source","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","SCHEMA","SCALAR","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","dedentBlockStringValue","rawString","commonIndent","_commonIndent","isFirstLine","isEmptyLine","getBlockStringIndentation","startLine","endLine","Lexer","startOfFileToken","lastToken","lineStart","advance","_token$next","readToken","printCharCode","lexer","bodyLength","_line","_col","readComment","readBlockString","readNumber","readName","unexpectedCharacterMessage","firstCode","isFloat","readDigits","isNameStart","chunkStart","uniCharCode","invalidSequence","char2hex","parseDocument","sourceObj","isSource","_lexer","parseName","expectToken","many","parseDefinition","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","variableDefinitions","directives","selectionSet","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","parseVariable","parseTypeReference","expectOptionalToken","parseValueLiteral","parseSelection","parseFragment","parseField","nameOrAlias","parseArguments","isConst","parseConstArgument","parseArgument","hasTypeCondition","expectOptionalKeyword","parseFragmentName","typeCondition","parseNamedType","expectKeyword","experimentalFragmentVariables","parseList","parseObject","parseStringLiteral","parseObjectField","parseDirective","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","parseOperationTypeDefinition","interfaces","parseImplementsInterfaces","parseFieldsDefinition","allowLegacySDLImplementsInterfaces","delimitedMany","_this$_options3","allowLegacySDLEmptyFields","parseFieldDefinition","parseArgumentDefs","parseInputValueDef","parseUnionMemberTypes","parseEnumValuesDefinition","parseEnumValueDefinition","parseInputFieldsDefinition","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","repeatable","parseDirectiveLocations","parseDirectiveLocation","_this$_options4","noLocation","getTokenKindDesc","getTokenDesc","atToken","openKind","parseFn","closeKind","delimiterKind","isPunctuatorTokenKind","QueryDocumentKeys","Document","OperationDefinition","VariableDefinition","Variable","SelectionSet","Argument","FragmentSpread","InlineFragment","FragmentDefinition","IntValue","FloatValue","StringValue","BooleanValue","NullValue","EnumValue","ListValue","ObjectValue","ObjectField","Directive","NamedType","ListType","NonNullType","SchemaDefinition","OperationTypeDefinition","ScalarTypeDefinition","ObjectTypeDefinition","FieldDefinition","InputValueDefinition","InterfaceTypeDefinition","UnionTypeDefinition","EnumTypeDefinition","EnumValueDefinition","InputObjectTypeDefinition","DirectiveDefinition","SchemaExtension","ScalarTypeExtension","ObjectTypeExtension","InterfaceTypeExtension","UnionTypeExtension","EnumTypeExtension","InputObjectTypeExtension","BREAK","getVisitFn","visitor","kindVisitor","kindSpecificVisitor","specificVisitor","specificKindVisitor","print","visitorKeys","inArray","edits","ancestors","newRoot","isEdited","_Object$keys2","editOffset","editKey","editValue","_visitorKeys$node$kin","visitFn","visit","printDocASTReducer","varDefs","argsLine","indentation","preferMultipleLines","isSingleLine","hasLeadingSpace","hasTrailingQuote","printAsMultipleLines","printBlockString","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","addDescription","_ref20","_ref21","_ref22","_ref23","_ref24","hasMultilineItems","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","_ref37","_ref38","maybeArray","_maybeArray$filter$jo","maybeString","isMultiline","INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER","CONTROL_MSG","ConnectionState","zenObservable","Constants","AbstractPubSubProvider","getProviderName","getCategory","MESSAGE_TYPES","SUBSCRIPTION_STATUS","SOCKET_STATUS","NON_RETRYABLE_CODES","ReconnectEvent","AWS_APPSYNC_REALTIME_HEADERS","accept","DEFAULT_KEEP_ALIVE_TIMEOUT","ReachabilityNavigator","networkMonitor","netInfo","online","globalObj","selfContext","WorkerGlobalScope","isWebWorker","onLine","notifyOnline","notifyOffline","_observers","_observerOverride","ReachabilityMonitor","Reachability","CONNECTION_CHANGE","KEEP_ALIVE_MISSED","keepAliveState","KEEP_ALIVE","CONNECTION_ESTABLISHED","connectionState","CONNECTION_FAILED","intendedConnectionState","CLOSING_CONNECTION","OPENING_CONNECTION","CLOSED","ONLINE","networkState","OFFLINE","ConnectionStateMonitor","_networkMonitoringSubscription","_linkedConnectionState","_initialNetworkStateSubscription","_linkedConnectionStateObservable","connectionStateObserver","_linkedConnectionStateObserver","enableNetworkMonitoring","disableNetworkMonitoring","connectionStatesTranslator","toInclude","statusUpdates","newSocketStatus","ConnectedPendingNetwork","ConnectedPendingDisconnect","ConnectionDisruptedPendingNetwork","ConnectionDisrupted","ConnectedPendingKeepAlive","Connecting","Disconnected","Connected","GraphQLAuthError","ReconnectionMonitor","reconnectObservers","addObserver","reconnectObserver","START_RECONNECT","reconnectSetTimeoutId","reconnectIntervalId","_triggerReconnect","HALT_RECONNECT","dispatchApiEvent","standardDomainPattern","AWSAppSyncRealTimeProvider","socketStatus","keepAliveTimeout","subscriptionObserverMap","promiseArray","connectionStateMonitor","reconnectionMonitor","connectionStateMonitorSubscription","connectionStateObservable","getNewWebSocket","WebSocket","newClient","publish","_topics","_msg","isCustomDomain","appSyncGraphqlEndpoint","reconnectSubscription_1","subscriptionStartActive_1","subscriptionId_1","startSubscription_1","_startSubscriptionWithAWSAppSyncRealTime","subscriptionId","REALTIME_SUBSCRIPTION_INIT_ERROR","_waitForSubscriptionToBeConnected","subscriptionState","CONNECTED","_sendUnsubscriptionMessage","_removeSubscriptionObserver","authenticationType","variables","apiKey","graphql_headers","additionalHeaders","PENDING","startAckTimeoutId","dataString","_awsRealTimeHeaderBasedAuth","canonicalUri","headerObj","subscriptionMessage","GQL_START","stringToAWSRealTime","_initializeWebSocketConnection","_logStartSubscriptionError","subscriptionFailedCallback","subscriptionReadyCallback","_timeoutStartSubscriptionAck","awsRealTimeSocket","OPEN","READY","unsubscribeMessage","GQL_STOP","_closeSocketIfRequired","bufferedAmount","keepAliveTimeoutId","keepAliveAlertTimeoutId","tempSocket","onclose","_handleIncomingSubscriptionMessage","GQL_DATA","GQL_START_ACK","SUBSCRIPTION_ACK","GQL_CONNECTION_KEEP_ALIVE","_errorDisconnect","TIMEOUT_DISCONNECT","GQL_ERROR","FAILED","CONNECTING","payloadString","authHeader","headerString","headerQs","payloadQs","discoverableEndpoint","isSSLEnabled","awsRealTimeUrl","_initializeRetryableHandshake","_initializeHandshake","newSocket","onopen","ackOk_1","connectionTimeoutMs","GQL_CONNECTION_ACK","CONNECTION_CLOSED","GQL_CONNECTION_ERROR","gqlInit","GQL_CONNECTION_INIT","err_4","headerHandler","API_KEY","_awsRealTimeApiKeyHeader","AWS_IAM","_awsRealTimeIAMHeader","OPENID_CONNECT","_awsRealTimeOPENIDHeader","AMAZON_COGNITO_USER_POOLS","_awsRealTimeCUPHeader","AWS_LAMBDA","_customAuthHeader","dtStr","_ensureCredentials","PubSubClass","_awsAppSyncRealTimeProvider","removePluggable","providerName","getProviderByName","awsAppSyncRealTimeProvider","getProviders","topics","GraphQLAPIClass","_headerBasedAuth","defaultAuthenticationType","aws_appsync_authenticationType","aws_appsync_apiKey","NO_API_KEY","NO_CREDENTIALS","NO_FEDERATED_JWT","NO_CURRENT_USER","NO_AUTH_TOKEN","getGraphqlOperationType","graphql","paramQuery","authMode","authToken","userAgentSuffix","createInstanceIfNotCreated","_graphql","_graphqlSubscribe","aws_appsync_region","aws_appsync_graphqlEndpoint","customGraphqlEndpoint","graphql_endpoint","customEndpointRegion","graphql_endpoint_iam_region","GraphQLAPI","APIClass","_restApi","_graphqlApi","restAPIConfig","graphQLAPIConfig","Register","_useState","emailaddress","_useState2","signUpPayload","_useState3","_useState4","visibleLoadPanel","setVisibleLoadPanel","_useState5","_useState6","visibleToast","setVisibleToast","_useState7","_useState8","messageToast","setMessageToast","_useState9","_useState10","typeToast","setTypeToast","_useState11","_useState12","setOk","_useState13","_useState14","formSignUpRef","_saveButton","formSignUp","okAdmin","apiNameToken","pathToken","myInitToken","validationToken","t5","_initialize","PasswordChange","checkLoggedIn","userName","setPasswordPayload","passwordPayload","passwordEditorOptions","formPasswordRef","TAGBOX_TAG_DATA_KEY","TAGBOX_TAG_CLASS","TAGBOX_MULTI_TAG_CLASS","TAGBOX_CUSTOM_TAG_CLASS","TAGBOX_TAG_REMOVE_BUTTON_CLASS","TAGBOX_SINGLE_LINE_CLASS","TagBox","sendToList","_isCaretAtTheStart","_processKeyboardEvent","_isTagRemoved","$tagToDelete","_$focusedTag","_tagElements","_moveTagFocus","_preserveFocusedTag","_removeTagElement","isListItemFocused","isInputActive","_isEmpty","_scrollContainer","_updateTagsContainer","_$tagsContainer","_updateInputAriaActiveDescendant","clearOnBoundary","tagElements","$nextFocusedTag","_replaceFocusedTag","_clearTagFocus","_getScrollPosition","_getBorderPosition","_getFocusedTagPosition","isScrollLeft","maxFilterQueryLength","tagTemplate","hideSelectedItems","maxDisplayedTags","showMultiTagOnly","onMultiTagPreparing","_selectedItems","_initSelectAllValueChangedAction","_initMultiTagPreparingAction","_multiTagPreparingAction","_multiTagPreparingHandler","selectedCount","_data$text","$tagContent","_toggleSubmitElement","$options","useDisplayText","_tagElementsCache","isSingleLineMode","_initTagTemplate","_getNewLabelId","actualId","newId","shouldRemove","_updateElementAria","labelId","newLabelId","_renderTagRemoveAction","_renderSingleLineScroll","_tagTemplate","isDefaultFieldTemplate","tagRemoveAction","_removeTagHandler","mouseWheelEvent","_tagContainerMouseWheelHandler","_renderPreventBlurOnInputClick","_renderMultiSelect","_selectAllValueChangeAction","_setListDataSourceFilter","_renderInputSize","_renderTags","shouldClearFilter","isEmptyInput","canTypeText","$calculationElement","_updateWidgetHeight","_multiTagRequired","_renderMultiTag","$tag","multiTagElement","_getFilter","filterQueryLength","_getFilteredItems","_this$_loadFilteredIt","_loadFilteredItemsPromise","FilterCreator","listSelectedItems","isListItemsLoaded","clientFilterFunction","selectedItemsAlreadyLoaded","_isDataSourceChanged","mappedItems","_createTagsData","isValueExprSpecified","filteredValues","filteredItem","filteredItemValue","loadItemPromises","_createTagData","valueIndex","_isGroupedData","_getItemsByValues","_getFilteredGroupedItems","_filteredGroupedItemsLoadPromise","_loadTagsData","tagData","isPlainDataUsed","_shouldGetItemsFromPlain","_valuesToUpdate","_getItemsFromPlain","_renderTagsImpl","_renderTagsCore","_renderEmptyState","_getSelectedItemsFromList","_filterSelectedItems","_isInputReady","tagsContainer","_this$_isInputReady","_cleanTags","_renderTagsElements","$multiTag","_renderTag","_refreshTagElements","$tags","_applyTagTemplate","_getTag","itemModel","_getItemModel","tagId","_createTag","tagsLength","_removeTagWithUpdate","_removeTag","_lastValue","removedItem","_addTag","listSelectionChangeEvent","_valueIndex","useButtons","indexByValues","originalHeight","currentHeight","_resetListDataSourceFilter","_userFilter","valueGetterExpr","_dataSourceFilterExpr","_dataSourceFilterFunction","_getSortedListValues","listValues","_getListValues","existedItems","_defaultTagTemplate","_getSelectedItemsDifference","previousItems","previousItemsValuesMap","LANGUAGE_CODES","tn","syr","iu","dv","quz","nso","arn","moh","co","qut","prs","sms","sma","smj","ARABIC_ZERO_CODE","DEFINED_NUMBER_FORMTATS","decimal","fixedpoint","exponential","PERIOD_REGEXP","DAY_REGEXP","DO_REGEXP","STANDALONE_MONTH_REGEXP","HOUR_REGEXP","ANY_REGEXP","_convertDateFormat","_convertDateFormatToOpenXml","languageID","languageIDStr","languageInfo","_hasArabicDigits","_getLanguageInfo","_includesCSVExpression","ExportFormat","excelFormat","numberFormatter","_applyPrecision","_convertNumberFormat","_hasCSVInjection","textQualifier","_hasCSVQuotedInjection","escapedTextQualifier","replaceAll","ExportLoadPanel","_$targetElement","getFullOptions","fullOptions","_fullOptions$workshee","keepColumnWidths","encodeExecutableContent","convertDateForExcelJS","setNumberFormat","excelCell","getCellStyles","dataProvider","tryConvertToExcelNumberFormat","newFormat","setAlignment","_excelCell$alignment","setColumnsWidth","Helpers","getLoadPanelTargetElement","getLoadPanelContainer","_component$_getIntern","exportLoadPanel","getDataProvider","internalComponent","_getInternalInstance","initialLoadPanelEnabledOption","cellRange","dataRowsCount","helpers","getColumnsWidths","_exportAllFieldHeaders","fieldHeaderRowsCount","_getFieldHeaderRowsCount","currentRowIndex","_isRowFieldHeadersRow","getRowAreaColCount","_exportFieldHeaders","_trySetOutlineLevel","exportRow","mergedRangesManager","applyMergedRages","worksheetViewSettings","_isFrozenZone","_getWorksheetFrozenState","_trySetAutoFilter","cellData","getCellData","_getFirstColumnIndex","updateMergedRanges","cellInfo","findMergedCellInfo","_isHeaderCell","masterCell","_styles$dataProvider$","getStyleId","_trySetFont","_customizeCell","MergedRangesManager","mergedCells","mergedRanges","isCellInMergedRanges","_this$dataProvider$ge","getCellMerging","allowToMergeRange","_allowToMergeRange","updateMergedCells","shouldReduceInfoRange","_isInfoCell","_allowExportRowFieldHeaders","isHeaderCell","startRowIndex","endRowIndex","DataGridHelpers","customizeCell","autoFilterEnabled","dataRange","getFrozenArea","getGroupLevel","gridCell","exportDataGrid","_getFullOptions","_getLoadPanelTargetElement","_getLoadPanelContainer","Users","isDetail","setIsDetail","setUserName","userRecords","setUserRecords","employees","setEmployees","userPayload","setUserPayload","setAutoExpandAll","autoExpandAllChecklist","setAutoExpandAllChecklist","_useState15","_useState16","_useState17","_useState18","_useState19","_useState20","_useState21","_useState22","_useState23","_useState24","getOrderDay","OrderDate","filterBuilderPopupPosition","getEmployeeList","myInit","employeesGet","t6","t7","t8","t9","t10","t11","getUsersList","apiNameCognito","pathCognito","myInitCognito","_yield$API$get","restCognito","users","usersGet","singleUserIndex","singleUser","addUser","attributeIndex","singleAttribute","usersGetIndex","singleUserGet","NextToken","t12","t13","t14","t15","isAdmin","internalid","cluster","clusterLevel","locationLevel","clusterType","clusterTypeLevel","productCluster","productClusterLevel","custrecord_al_portal_employee","getUserPayload","userGetCognito","apiNameGroups","pathGroups","myInitGroups","userGroupsGet","singleGroup","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","Groups","GroupName","t36","editUserButton","_x4","cancelEditButton","saveButton","confirmpassword","sucursal","empleado","isenabled","ConfirmPassword","Sucursal","editUser","userEnabled","userAdmin","onAutoExpandAllChanged","internalidEditorOptions","userNameEditorOptions","emailEditorOptions","isAdminOptions","isAdminEditorOptions","enabledOptions","enabledEditorOptions","levelOptions","productClusterlevelOptions","clusterLevelEditorOptions","employeeEditorOptions","locationLevelEditorOptions","clusterTypeLevelEditorOptions","productClusterLevelEditorOptions","toastPosition","urlID","onHidingToast","columnsAutoWidth","xlsx","writeBuffer","cellRender","Locations","selectedRowIndex","setSelectedRowIndex","nivel","permissionLevel","locationRecords","setLocationRecords","updateCount","setUpdateCount","locationPayload","setLocationPayload","clusters","setClusters","setClusterType","activateUpdateGrid","setActivateUpdateGrid","activateSaveButton","setActivateSaveButton","setActivateUpdateForm","_useState25","_useState26","gridClustersRef","_useState27","_useState28","gridProductLocationRef","_useState29","_useState30","_useState31","_useState32","_useState33","_useState34","_useState35","_useState36","_useState37","_useState38","_useState39","_useState40","productsFromLocationList","setProductsFromLocationList","_useState41","_useState42","_useState43","_useState44","_useState45","_useState46","departamentos","setDepartamentos","_useState47","_useState48","_useState49","_useState50","categorias","setCategorias","_useState51","_useState52","exclusivo","setExclusivo","_useState53","_useState54","proveedores","setProveedores","_useState55","_useState56","formDatosGeneralesRef","getLocationsList","locationsGet","getClusterList","clustersGet","getClusterTypeList","clusterTypeGet","getLocationPayload","getProductsFromLocation","custitem_al_ecommerce_categoria","custitem_al_ecommerce_departamento","custitem_efx_cmp_exclusivo","itemsGet","products","editLocationButton","locationName","gridClusters","hasEmptyCells","dialogResult","payloadPost","editLocation","departamentoEditorOptions","categoriaEditorOptions","exclusivoEditorOptions","proveedorDataSource","vendorEditorOptions","tipoUbicacionEditorOptions","nombreCortoEditorOptions","parentEditorOptions","subsidiaryEditorOptions","relexLocationTypeEditorOptions","relexOpeningDateEditorOptions","relexClosingDateEditorOptions","relexSafetyLeadTimeEditorOptions","relexCDCEditorOptions","relexCDCIDEditorOptions","relexIDEditorOptions","relexReceiptLocationEditorOptions","relexReceiptLocationIDEditorOptions","relexTMKLocationEditorOptions","relexTMKIDLocationEditorOptions","getDepartmentList","departmentsGet","getCategoryList","Departamento","categoriesGet","_x5","getExclusiveList","exclusiveGet","getVendorList","_callee13","vendorGet","_context13","refreshButton","_callee14","gridProductLocation","departamento","_context14","_callee15","_context15","onEditorClustersPreparing","onCellClickClusters","onCellEditingStart","onFormFieldChanged","_callee16","formDatosGenerales","_context16","_x6","setCellValueCluster","clusterID","editingRow","clusterList","input_cluster_type","tipo","duplicate","isinactive","clusterIndex","custrecord_al_portal_loc_cluster_clus","singleCluster","clusterName","setCellValueInactive","cluster_inactive","checkboxSymbol","Clusters","clusterRecords","setClusterRecords","clusterPayload","setClusterPayload","activateUpdateForm","getClusterPayload","newButton","editClusterButton","newID","editCluster","clusterEnabled","custrecord_al_por_clu_inactive","clusterNameEditorOptions","capacityEditorOptions","descriptionEditorOptions","tipoClusterEditorOptions","custrecord_al_por_clu_type","clusterTypePayload","setClusterTypePayload","getClusterTypePayload","clusterTypeName","editClusterTypeButton","editClusterType","clusterTypeEnabled","clusterTypeNameEditorOptions","ProductCluster","usuario","productClusterPayload","itemList","setItemList","setClusterList","clusterTypeList","setClusterTypeList","setItemType","gridProductClusterRef","getItemList","clusterTypes","getItemTypeList","itemTypeGet","gridProductCluster","singleColumn","updateList","itemListIndex","singleItemList","productClusterAssociation","clusterListIndex","singleClusterList","wasupdated","productClusterId","itemid","custrecord_al_por_pro_clu_item","custrecord_al_por_proclu_association","custitem_gv_rlx_startsupplydate","custitem_gv_rlx_endsupplydate","custitem_efx_cmp_tip_art","processButton","currentCount","calculaTotalizadores","indexType","indexCluster","_Fragment","faChartNetwork","loadMessages","Main","anchorHome","setAnchorHome","openHome","anchorAccount","setAnchorAccount","openAccount","handleCloseAccount","_React$useState5","_React$useState6","anchorConfiguration","setAnchorConfiguration","openConfiguration","handleCloseConfiguration","_React$useState7","_React$useState8","anchorCluster","setAnchorCluster","openCluster","handleCloseCluster","setStatus","isadmin","setIsadmin","setCluster","setClusterLevel","setLocation","setLocationLevel","setProductCluster","setProductClusterLevel","setClusterTypeLevel","_getUserAttributes","Signout","secureLocalStorage","handleAuthStateChange","_checkIsLoggedIn","esMessages","checkIsLoggedIn","KeyboardArrowDownIcon","Signin","Signup","ClusterType","awsconfig","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","getElementById","reportWebVitals"],"sourceRoot":""}